summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES353
-rw-r--r--CHANGES_GR1213
-rw-r--r--LICENSE345
-rw-r--r--LICENSE.d/BERKELEY.LICENSE30
-rw-r--r--LICENSE.d/CALDERA.LICENSE31
-rw-r--r--LICENSE.d/COPYING.LGPL504
-rw-r--r--LICENSE.d/LPPL-1-0.LICENSE211
-rw-r--r--LICENSE.d/LUCENT.LICENSE258
-rw-r--r--LICENSE.d/OPENSOLARIS.LICENSE385
-rw-r--r--README137
-rw-r--r--README.md32
-rw-r--r--checknr/Makefile.mk21
-rw-r--r--checknr/checknr.1143
-rw-r--r--checknr/checknr.c669
-rw-r--r--col/Makefile.mk22
-rw-r--r--col/col.c654
-rwxr-xr-xconfigure235
-rw-r--r--doc/fonts/README13
-rw-r--r--doc/fonts/doc.more1518
-rw-r--r--doc/fonts/doc.ps44884
-rw-r--r--doc/fonts/doc.tr1048
-rw-r--r--doc/fonts/makefile64
-rw-r--r--doc/just/README25
-rw-r--r--doc/just/doc.more1518
-rw-r--r--doc/just/doc.ps45474
-rw-r--r--doc/just/doc.tr889
-rw-r--r--doc/just/makefile65
-rw-r--r--doc/quickstart/README25
-rw-r--r--doc/quickstart/doc.more132
-rw-r--r--doc/quickstart/doc.ps31998
-rw-r--r--doc/quickstart/doc.tr186
-rw-r--r--doc/quickstart/makefile50
-rw-r--r--doc/troff/README9
-rw-r--r--doc/troff/doc.more7063
-rw-r--r--doc/troff/doc.ps50551
-rw-r--r--doc/troff/doc.tr8729
-rw-r--r--doc/troff/makefile44
-rw-r--r--eqn/checkeq.d/Makefile.mk23
-rw-r--r--eqn/checkeq.d/checkeq.c148
-rw-r--r--eqn/diacrit.c128
-rw-r--r--eqn/e.h184
-rw-r--r--eqn/e.y215
-rw-r--r--eqn/eqn.d/Makefile.mk56
-rw-r--r--eqn/eqn.d/eqn.1332
-rw-r--r--eqn/eqn.d/eqnchar.7212
-rw-r--r--eqn/eqnbox.c68
-rw-r--r--eqn/eqnchar.d/Makefile.mk28
-rw-r--r--eqn/eqnchar.d/ascii34
-rw-r--r--eqn/eqnchar.d/eqnchar90
-rw-r--r--eqn/eqnchar.d/genutf8.c89
-rw-r--r--eqn/eqnchar.d/greek11
-rw-r--r--eqn/eqnchar.d/iso29
-rw-r--r--eqn/font.c99
-rw-r--r--eqn/fromto.c103
-rw-r--r--eqn/funny.c64
-rw-r--r--eqn/glob.c57
-rw-r--r--eqn/integral.c74
-rw-r--r--eqn/io.c322
-rw-r--r--eqn/lex.c308
-rw-r--r--eqn/lookup.c261
-rw-r--r--eqn/mark.c49
-rw-r--r--eqn/matrix.c108
-rw-r--r--eqn/move.c70
-rw-r--r--eqn/neqn.d/Makefile.mk53
-rw-r--r--eqn/over.c84
-rw-r--r--eqn/paren.c172
-rw-r--r--eqn/pile.c137
-rw-r--r--eqn/shift.c204
-rw-r--r--eqn/size.c107
-rw-r--r--eqn/sqrt.c62
-rw-r--r--eqn/text.c234
-rw-r--r--eqn/version.c37
-rw-r--r--eqn/yyval.sed22
-rw-r--r--grap/Makefile.mk41
-rw-r--r--grap/coord.c83
-rw-r--r--grap/for.c101
-rw-r--r--grap/frame.c83
-rw-r--r--grap/grap.1430
-rw-r--r--grap/grap.defines26
-rw-r--r--grap/grap.h257
-rw-r--r--grap/grap.y410
-rw-r--r--grap/grapl.l246
-rw-r--r--grap/input.c628
-rw-r--r--grap/label.c140
-rw-r--r--grap/main.c187
-rw-r--r--grap/misc.c308
-rw-r--r--grap/plot.c144
-rw-r--r--grap/print.c247
-rw-r--r--grap/ticks.c508
-rw-r--r--grap/version.c30
-rw-r--r--heirloom-doctools.spec82
-rw-r--r--include/global.h17
-rw-r--r--makefile88
-rw-r--r--mk.config114
-rw-r--r--mpm/Makefile.mk30
-rw-r--r--mpm/README191
-rw-r--r--mpm/misc.cc66
-rw-r--r--mpm/misc.h51
-rw-r--r--mpm/page.cc628
-rw-r--r--mpm/page.h132
-rw-r--r--mpm/queue.cc248
-rw-r--r--mpm/range.cc627
-rw-r--r--mpm/range.h348
-rw-r--r--mpm/slug.cc642
-rw-r--r--mpm/slug.h87
-rw-r--r--mpm/version.c20
-rw-r--r--pic/Makefile.mk44
-rw-r--r--pic/arcgen.c235
-rw-r--r--pic/blockgen.c238
-rw-r--r--pic/boxgen.c127
-rw-r--r--pic/circgen.c138
-rw-r--r--pic/for.c107
-rw-r--r--pic/input.c640
-rw-r--r--pic/linegen.c251
-rw-r--r--pic/main.c313
-rw-r--r--pic/misc.c479
-rw-r--r--pic/movegen.c98
-rw-r--r--pic/pic.1368
-rw-r--r--pic/pic.h240
-rw-r--r--pic/picl.l313
-rw-r--r--pic/picy.y345
-rw-r--r--pic/pltroff.c379
-rw-r--r--pic/print.c263
-rw-r--r--pic/symtab.c116
-rw-r--r--pic/textgen.c123
-rw-r--r--pic/version.c33
-rw-r--r--picpack/Makefile.mk21
-rw-r--r--picpack/getopt.c222
-rw-r--r--picpack/picpack.1139
-rw-r--r--picpack/picpack.c658
-rw-r--r--pkginfo11
-rw-r--r--ptx/Makefile.mk23
-rw-r--r--ptx/eign400
-rw-r--r--ptx/ptx.1158
-rw-r--r--ptx/ptx.c713
-rw-r--r--refer/Makefile.mk128
-rw-r--r--refer/addbib.1195
-rw-r--r--refer/addbib.c316
-rw-r--r--refer/deliv2.c84
-rw-r--r--refer/glue1.c324
-rw-r--r--refer/glue2.c41
-rw-r--r--refer/glue3.c126
-rw-r--r--refer/glue4.c138
-rw-r--r--refer/glue5.c405
-rw-r--r--refer/hunt1.c316
-rw-r--r--refer/hunt2.c308
-rw-r--r--refer/hunt3.c70
-rw-r--r--refer/hunt5.c85
-rw-r--r--refer/hunt6.c176
-rw-r--r--refer/hunt7.c143
-rw-r--r--refer/hunt8.c105
-rw-r--r--refer/hunt9.c29
-rwxr-xr-xrefer/indxbib.sh28
-rw-r--r--refer/inv1.c179
-rw-r--r--refer/inv2.c118
-rw-r--r--refer/inv3.c43
-rw-r--r--refer/inv5.c78
-rw-r--r--refer/inv6.c102
-rw-r--r--refer/lookbib.1174
-rw-r--r--refer/lookbib.c99
-rw-r--r--refer/mkey1.c119
-rw-r--r--refer/mkey2.c167
-rw-r--r--refer/mkey3.c79
-rw-r--r--refer/papers/Rbstjissue224
-rw-r--r--refer/papers/Rv7man405
-rwxr-xr-xrefer/papers/runinv.sh17
-rw-r--r--refer/refer..c180
-rw-r--r--refer/refer.1300
-rw-r--r--refer/refer0.c54
-rw-r--r--refer/refer1.c194
-rw-r--r--refer/refer2.c215
-rw-r--r--refer/refer3.c60
-rw-r--r--refer/refer4.c108
-rw-r--r--refer/refer5.c360
-rw-r--r--refer/refer6.c249
-rw-r--r--refer/refer7.c183
-rw-r--r--refer/refer8.c61
-rw-r--r--refer/roffbib.1171
-rwxr-xr-xrefer/roffbib.sh56
-rw-r--r--refer/shell.c51
-rw-r--r--refer/sortbib.1146
-rw-r--r--refer/sortbib.c343
-rw-r--r--refer/tick.c62
-rw-r--r--refer/version.c48
-rw-r--r--soelim/Makefile.mk21
-rw-r--r--soelim/soelim.174
-rw-r--r--soelim/soelim.c151
-rw-r--r--stuff/bst/Makefile.mk10
-rw-r--r--stuff/bst/bst.c382
-rw-r--r--stuff/bst/bst.h68
-rw-r--r--stuff/demo/PDFX_def.ps30
-rw-r--r--stuff/demo/README15
-rw-r--r--stuff/demo/makefile19
-rw-r--r--stuff/demo/troffdemo.tr224
-rw-r--r--stuff/demo/troffdemo_otf.tr2
-rw-r--r--stuff/footnotes.tr143
-rw-r--r--stuff/odt2tr.xsl628
-rwxr-xr-xstuff/showfont.sh114
-rw-r--r--tbl/Makefile.mk45
-rw-r--r--tbl/t..c223
-rw-r--r--tbl/t0.c85
-rw-r--r--tbl/t1.c189
-rw-r--r--tbl/t2.c49
-rw-r--r--tbl/t3.c132
-rw-r--r--tbl/t4.c473
-rw-r--r--tbl/t5.c250
-rw-r--r--tbl/t6.c250
-rw-r--r--tbl/t7.c181
-rw-r--r--tbl/t8.c425
-rw-r--r--tbl/t9.c92
-rw-r--r--tbl/tb.c154
-rw-r--r--tbl/tbl.1187
-rw-r--r--tbl/tc.c87
-rw-r--r--tbl/te.c122
-rw-r--r--tbl/tf.c109
-rw-r--r--tbl/tg.c127
-rw-r--r--tbl/ti.c82
-rw-r--r--tbl/tm.c91
-rw-r--r--tbl/ts.c89
-rw-r--r--tbl/tt.c117
-rw-r--r--tbl/tu.c401
-rw-r--r--tbl/tv.c186
-rw-r--r--tbl/version.c33
-rw-r--r--test/eqn/eqn.more140
-rw-r--r--test/eqn/eqn.ps1733
-rw-r--r--test/eqn/eqn.roff182
-rw-r--r--test/eqn/makefile23
-rw-r--r--test/grap/data/rawgrades6
-rw-r--r--test/grap/data/ttrev.data5
-rw-r--r--test/grap/grap.more66
-rw-r--r--test/grap/grap.ps561
-rw-r--r--test/grap/grap.roff30
-rw-r--r--test/grap/makefile25
-rw-r--r--test/makefile13
-rw-r--r--test/pic/makefile25
-rw-r--r--test/pic/pic.more140
-rw-r--r--test/pic/pic.ps849
-rw-r--r--test/pic/pic.roff93
-rw-r--r--test/refer/32/bib3
-rw-r--r--test/refer/32/makefile6
-rw-r--r--test/refer/32/out9
-rw-r--r--test/refer/ab/ab.bib2
-rw-r--r--test/refer/ab/ab.ms5
-rw-r--r--test/refer/ab/makefile7
-rw-r--r--test/refer/ab/out19
-rw-r--r--test/tbl/1cell-allbox.roff5
-rw-r--r--test/tbl/ND.roff1
-rw-r--r--test/tbl/ab1.roff7
-rw-r--r--test/tbl/ab2.roff7
-rw-r--r--test/tbl/expand.nr55
-rw-r--r--test/tbl/linienbsp.roff16
-rw-r--r--test/tbl/makefile44
-rw-r--r--test/tbl/mid-sq.roff16
-rw-r--r--test/tbl/mm.roff69
-rw-r--r--test/tbl/n.roff14
-rw-r--r--test/tbl/no-unicode.roff13
-rw-r--r--test/tbl/short-v.roff15
-rw-r--r--test/tbl/supermarket.roff19
-rw-r--r--test/tbl/tbl-backslash.roff5
-rw-r--r--test/tbl/tbl.doc1940
-rw-r--r--test/tbl/tbl.doc.more1650
-rw-r--r--test/tbl/tbl.doc.ps8142
-rw-r--r--test/tbl/tbl.more196
-rw-r--r--test/tbl/tbl.ps1389
-rw-r--r--test/tbl/tbl.roff154
-rw-r--r--test/tbl/tv.roff16
-rw-r--r--test/tbl/vi.roff31
-rw-r--r--troff/ext.h600
-rw-r--r--troff/hytab.c171
-rw-r--r--troff/libhnj/AUTHORS19
-rw-r--r--troff/libhnj/Makefile.mk22
-rw-r--r--troff/libhnj/README13
-rw-r--r--troff/libhnj/README.hyphen96
-rw-r--r--troff/libhnj/hnjalloc.c97
-rw-r--r--troff/libhnj/hnjalloc.h53
-rw-r--r--troff/libhnj/hyphen.c515
-rw-r--r--troff/libhnj/hyphen.d/Makefile.mk12
-rw-r--r--troff/libhnj/hyphen.d/NOTES58
-rw-r--r--troff/libhnj/hyphen.d/hyph_de_DE.dic7462
-rw-r--r--troff/libhnj/hyphen.d/hyph_de_DE@traditional.dic7382
-rw-r--r--troff/libhnj/hyphen.d/hyph_en_US.dic5551
-rw-r--r--troff/libhnj/hyphen.d/hyph_fr_FR.dic1784
-rw-r--r--troff/libhnj/hyphen.d/hyph_it_IT.dic442
-rw-r--r--troff/libhnj/hyphen.d/hyph_la_VA.dic418
-rw-r--r--troff/libhnj/hyphen.d/hyph_nl_NL.dic16550
-rwxr-xr-xtroff/libhnj/hyphen.d/substring.pl136
-rw-r--r--troff/libhnj/hyphen.h89
-rw-r--r--troff/libhnj/test.c23
-rw-r--r--troff/n1.c2602
-rw-r--r--troff/n2.c511
-rw-r--r--troff/n3.c2365
-rw-r--r--troff/n4.c1931
-rw-r--r--troff/n5.c2536
-rw-r--r--troff/n7.c2342
-rw-r--r--troff/n8.c650
-rw-r--r--troff/n9.c1348
-rw-r--r--troff/ni.c352
-rw-r--r--troff/nii.c196
-rw-r--r--troff/nroff.d/Makefile.mk49
-rw-r--r--troff/nroff.d/draw.c186
-rw-r--r--troff/nroff.d/draw.h4
-rw-r--r--troff/nroff.d/n10.c891
-rw-r--r--troff/nroff.d/n6.c707
-rw-r--r--troff/nroff.d/nroff.1271
-rw-r--r--troff/nroff.d/pt.h85
-rw-r--r--troff/nroff.d/terms.d/Makefile.mk88
-rw-r--r--troff/nroff.d/terms.d/README130
-rw-r--r--troff/nroff.d/terms.d/a.263127
-rw-r--r--troff/nroff.d/terms.d/a.2631-c27
-rw-r--r--troff/nroff.d/terms.d/a.2631-e27
-rw-r--r--troff/nroff.d/terms.d/a.30027
-rw-r--r--troff/nroff.d/terms.d/a.300-1227
-rw-r--r--troff/nroff.d/terms.d/a.300s27
-rw-r--r--troff/nroff.d/terms.d/a.300s-1227
-rw-r--r--troff/nroff.d/terms.d/a.38227
-rw-r--r--troff/nroff.d/terms.d/a.4000a27
-rw-r--r--troff/nroff.d/terms.d/a.45027
-rw-r--r--troff/nroff.d/terms.d/a.450-1227
-rw-r--r--troff/nroff.d/terms.d/a.83227
-rw-r--r--troff/nroff.d/terms.d/a.lp27
-rw-r--r--troff/nroff.d/terms.d/ab.37168
-rw-r--r--troff/nroff.d/terms.d/ab.8510154
-rw-r--r--troff/nroff.d/terms.d/ab.X154
-rw-r--r--troff/nroff.d/terms.d/ab.tn300154
-rw-r--r--troff/nroff.d/terms.d/b.300127
-rw-r--r--troff/nroff.d/terms.d/b.lp318
-rw-r--r--troff/nroff.d/terms.d/tab.utf8400
-rw-r--r--troff/nroff.d/tw.h80
-rw-r--r--troff/suftab.c654
-rw-r--r--troff/tdef.h959
-rw-r--r--troff/troff.d/Makefile.mk66
-rw-r--r--troff/troff.d/README184
-rw-r--r--troff/troff.d/afm.c1201
-rw-r--r--troff/troff.d/afm.h149
-rw-r--r--troff/troff.d/dev.h104
-rw-r--r--troff/troff.d/devaps/B148
-rw-r--r--troff/troff.d/devaps/BI139
-rw-r--r--troff/troff.d/devaps/C139
-rw-r--r--troff/troff.d/devaps/CE139
-rw-r--r--troff/troff.d/devaps/CI139
-rw-r--r--troff/troff.d/devaps/CT132
-rw-r--r--troff/troff.d/devaps/CW147
-rw-r--r--troff/troff.d/devaps/CX140
-rw-r--r--troff/troff.d/devaps/DESC67
-rw-r--r--troff/troff.d/devaps/G139
-rw-r--r--troff/troff.d/devaps/GB90
-rw-r--r--troff/troff.d/devaps/GI141
-rw-r--r--troff/troff.d/devaps/GR89
-rw-r--r--troff/troff.d/devaps/GS135
-rw-r--r--troff/troff.d/devaps/H139
-rw-r--r--troff/troff.d/devaps/HB139
-rw-r--r--troff/troff.d/devaps/HI141
-rw-r--r--troff/troff.d/devaps/HK140
-rw-r--r--troff/troff.d/devaps/HL139
-rw-r--r--troff/troff.d/devaps/HX140
-rw-r--r--troff/troff.d/devaps/I148
-rw-r--r--troff/troff.d/devaps/MB139
-rw-r--r--troff/troff.d/devaps/MI139
-rw-r--r--troff/troff.d/devaps/MR139
-rw-r--r--troff/troff.d/devaps/MX139
-rw-r--r--troff/troff.d/devaps/Makefile.mk48
-rw-r--r--troff/troff.d/devaps/PA139
-rw-r--r--troff/troff.d/devaps/PB139
-rw-r--r--troff/troff.d/devaps/PI139
-rw-r--r--troff/troff.d/devaps/PO147
-rw-r--r--troff/troff.d/devaps/PX140
-rw-r--r--troff/troff.d/devaps/R148
-rw-r--r--troff/troff.d/devaps/README102
-rw-r--r--troff/troff.d/devaps/S127
-rw-r--r--troff/troff.d/devaps/S174
-rw-r--r--troff/troff.d/devaps/SC135
-rw-r--r--troff/troff.d/devaps/SM134
-rw-r--r--troff/troff.d/devaps/TB139
-rw-r--r--troff/troff.d/devaps/TX140
-rw-r--r--troff/troff.d/devaps/aps.h136
-rw-r--r--troff/troff.d/devaps/build.c323
-rw-r--r--troff/troff.d/devaps/daps.c2995
-rw-r--r--troff/troff.d/devaps/daps.g219
-rw-r--r--troff/troff.d/devaps/daps.h461
-rw-r--r--troff/troff.d/devaps/dev.h81
-rw-r--r--troff/troff.d/devaps/draw.c3
-rw-r--r--troff/troff.d/devaps/getopt.c222
-rw-r--r--troff/troff.d/devaps/makedev.c650
-rw-r--r--troff/troff.d/devaps/version34
-rw-r--r--troff/troff.d/devaps/version.c19
-rw-r--r--troff/troff.d/dhtml/Makefile.mk29
-rw-r--r--troff/troff.d/dhtml/char.c115
-rw-r--r--troff/troff.d/dhtml/char.h15
-rw-r--r--troff/troff.d/dhtml/dhtml.1107
-rw-r--r--troff/troff.d/dhtml/dhtml.h1
-rw-r--r--troff/troff.d/dhtml/dhtml.l87
-rw-r--r--troff/troff.d/dhtml/lib.c148
-rw-r--r--troff/troff.d/dhtml/lib.h9
-rw-r--r--troff/troff.d/dhtml/main.c79
-rw-r--r--troff/troff.d/dhtml/main.h1
-rw-r--r--troff/troff.d/dhtml/roff.c27
-rw-r--r--troff/troff.d/dhtml/roff.h2
-rw-r--r--troff/troff.d/dhtml/tr_out.c221
-rw-r--r--troff/troff.d/dhtml/tr_out.h17
-rw-r--r--troff/troff.d/dpost.d/Makefile.mk42
-rw-r--r--troff/troff.d/dpost.d/README53
-rw-r--r--troff/troff.d/dpost.d/afm.c32
-rw-r--r--troff/troff.d/dpost.d/asciitype.c59
-rw-r--r--troff/troff.d/dpost.d/asciitype.h60
-rw-r--r--troff/troff.d/dpost.d/color.c275
-rw-r--r--troff/troff.d/dpost.d/comments.h161
-rw-r--r--troff/troff.d/dpost.d/dpost.1258
-rw-r--r--troff/troff.d/dpost.d/dpost.c4836
-rw-r--r--troff/troff.d/dpost.d/dpost.h192
-rw-r--r--troff/troff.d/dpost.d/draw.c844
-rw-r--r--troff/troff.d/dpost.d/ext.h54
-rw-r--r--troff/troff.d/dpost.d/gen.h174
-rw-r--r--troff/troff.d/dpost.d/getopt.c222
-rw-r--r--troff/troff.d/dpost.d/glob.c56
-rw-r--r--troff/troff.d/dpost.d/makedev.c29
-rw-r--r--troff/troff.d/dpost.d/misc.c395
-rw-r--r--troff/troff.d/dpost.d/otf.c36
-rw-r--r--troff/troff.d/dpost.d/path.h61
-rw-r--r--troff/troff.d/dpost.d/pictures.c364
-rw-r--r--troff/troff.d/dpost.d/ps_include.c361
-rw-r--r--troff/troff.d/dpost.d/request.c182
-rw-r--r--troff/troff.d/dpost.d/request.h58
-rw-r--r--troff/troff.d/dpost.d/version.c3
-rw-r--r--troff/troff.d/draw.c497
-rw-r--r--troff/troff.d/font/Makefile.mk57
-rw-r--r--troff/troff.d/font/README139
-rw-r--r--troff/troff.d/font/devhtml/B2
-rw-r--r--troff/troff.d/font/devhtml/BI2
-rw-r--r--troff/troff.d/font/devhtml/C2
-rw-r--r--troff/troff.d/font/devhtml/CB2
-rw-r--r--troff/troff.d/font/devhtml/CHAR121
-rw-r--r--troff/troff.d/font/devhtml/CI2
-rw-r--r--troff/troff.d/font/devhtml/CR2
-rw-r--r--troff/troff.d/font/devhtml/CW2
-rw-r--r--troff/troff.d/font/devhtml/DESC7
-rw-r--r--troff/troff.d/font/devhtml/H2
-rw-r--r--troff/troff.d/font/devhtml/HB2
-rw-r--r--troff/troff.d/font/devhtml/HI2
-rw-r--r--troff/troff.d/font/devhtml/I2
-rw-r--r--troff/troff.d/font/devhtml/Makefile.mk23
-rw-r--r--troff/troff.d/font/devhtml/R2
-rw-r--r--troff/troff.d/font/devhtml/S2
-rw-r--r--troff/troff.d/font/devhtml/charset90
-rw-r--r--troff/troff.d/font/devhtml/makefont.c195
-rw-r--r--troff/troff.d/font/devpost/AB125
-rw-r--r--troff/troff.d/font/devpost/AB.name1
-rw-r--r--troff/troff.d/font/devpost/AI125
-rw-r--r--troff/troff.d/font/devpost/AI.name1
-rw-r--r--troff/troff.d/font/devpost/AR125
-rw-r--r--troff/troff.d/font/devpost/AR.name1
-rw-r--r--troff/troff.d/font/devpost/AX125
-rw-r--r--troff/troff.d/font/devpost/AX.name1
-rw-r--r--troff/troff.d/font/devpost/B137
-rw-r--r--troff/troff.d/font/devpost/B.name1
-rw-r--r--troff/troff.d/font/devpost/BI133
-rw-r--r--troff/troff.d/font/devpost/BI.name1
-rw-r--r--troff/troff.d/font/devpost/CB137
-rw-r--r--troff/troff.d/font/devpost/CB.name1
-rw-r--r--troff/troff.d/font/devpost/CI145
-rw-r--r--troff/troff.d/font/devpost/CI.name1
-rw-r--r--troff/troff.d/font/devpost/CO137
-rw-r--r--troff/troff.d/font/devpost/CO.name1
-rw-r--r--troff/troff.d/font/devpost/CW145
-rw-r--r--troff/troff.d/font/devpost/CW.name1
-rw-r--r--troff/troff.d/font/devpost/CX145
-rw-r--r--troff/troff.d/font/devpost/CX.name1
-rw-r--r--troff/troff.d/font/devpost/DESC63
-rw-r--r--troff/troff.d/font/devpost/DESC.big48
-rw-r--r--troff/troff.d/font/devpost/DESC.small52
-rw-r--r--troff/troff.d/font/devpost/FONTMAP21
-rw-r--r--troff/troff.d/font/devpost/GR83
-rw-r--r--troff/troff.d/font/devpost/GR.name1
-rw-r--r--troff/troff.d/font/devpost/H133
-rw-r--r--troff/troff.d/font/devpost/H.name1
-rw-r--r--troff/troff.d/font/devpost/HB133
-rw-r--r--troff/troff.d/font/devpost/HB.name1
-rw-r--r--troff/troff.d/font/devpost/HI133
-rw-r--r--troff/troff.d/font/devpost/HI.name1
-rw-r--r--troff/troff.d/font/devpost/HNB125
-rw-r--r--troff/troff.d/font/devpost/HNB.name1
-rw-r--r--troff/troff.d/font/devpost/HNBI125
-rw-r--r--troff/troff.d/font/devpost/HNBI.name1
-rw-r--r--troff/troff.d/font/devpost/HNI125
-rw-r--r--troff/troff.d/font/devpost/HNI.name1
-rw-r--r--troff/troff.d/font/devpost/HNR125
-rw-r--r--troff/troff.d/font/devpost/HNR.name1
-rw-r--r--troff/troff.d/font/devpost/HX133
-rw-r--r--troff/troff.d/font/devpost/HX.name1
-rw-r--r--troff/troff.d/font/devpost/I137
-rw-r--r--troff/troff.d/font/devpost/I.name1
-rw-r--r--troff/troff.d/font/devpost/KB125
-rw-r--r--troff/troff.d/font/devpost/KB.name1
-rw-r--r--troff/troff.d/font/devpost/KI125
-rw-r--r--troff/troff.d/font/devpost/KI.name1
-rw-r--r--troff/troff.d/font/devpost/KR125
-rw-r--r--troff/troff.d/font/devpost/KR.name1
-rw-r--r--troff/troff.d/font/devpost/KX125
-rw-r--r--troff/troff.d/font/devpost/KX.name1
-rw-r--r--troff/troff.d/font/devpost/NB125
-rw-r--r--troff/troff.d/font/devpost/NB.name1
-rw-r--r--troff/troff.d/font/devpost/NI125
-rw-r--r--troff/troff.d/font/devpost/NI.name1
-rw-r--r--troff/troff.d/font/devpost/NR125
-rw-r--r--troff/troff.d/font/devpost/NR.name1
-rw-r--r--troff/troff.d/font/devpost/NX125
-rw-r--r--troff/troff.d/font/devpost/NX.name1
-rw-r--r--troff/troff.d/font/devpost/PA133
-rw-r--r--troff/troff.d/font/devpost/PA.name1
-rw-r--r--troff/troff.d/font/devpost/PB133
-rw-r--r--troff/troff.d/font/devpost/PB.name1
-rw-r--r--troff/troff.d/font/devpost/PI133
-rw-r--r--troff/troff.d/font/devpost/PI.name1
-rw-r--r--troff/troff.d/font/devpost/PX133
-rw-r--r--troff/troff.d/font/devpost/PX.name1
-rw-r--r--troff/troff.d/font/devpost/R137
-rw-r--r--troff/troff.d/font/devpost/R.name1
-rw-r--r--troff/troff.d/font/devpost/S236
-rw-r--r--troff/troff.d/font/devpost/S.big228
-rw-r--r--troff/troff.d/font/devpost/S.name1
-rw-r--r--troff/troff.d/font/devpost/S.small155
-rw-r--r--troff/troff.d/font/devpost/S164
-rw-r--r--troff/troff.d/font/devpost/S1.name1
-rw-r--r--troff/troff.d/font/devpost/VB129
-rw-r--r--troff/troff.d/font/devpost/VB.name1
-rw-r--r--troff/troff.d/font/devpost/VI129
-rw-r--r--troff/troff.d/font/devpost/VI.name1
-rw-r--r--troff/troff.d/font/devpost/VR129
-rw-r--r--troff/troff.d/font/devpost/VR.name1
-rw-r--r--troff/troff.d/font/devpost/VX129
-rw-r--r--troff/troff.d/font/devpost/VX.name1
-rw-r--r--troff/troff.d/font/devpost/ZD214
-rw-r--r--troff/troff.d/font/devpost/ZD.name1
-rw-r--r--troff/troff.d/font/devpost/ZI125
-rw-r--r--troff/troff.d/font/devpost/ZI.name1
-rw-r--r--troff/troff.d/font/devpost/charlib/1244
-rw-r--r--troff/troff.d/font/devpost/charlib/1444
-rw-r--r--troff/troff.d/font/devpost/charlib/3444
-rw-r--r--troff/troff.d/font/devpost/charlib/BRACKETS_NOTE58
-rw-r--r--troff/troff.d/font/devpost/charlib/Fi30
-rw-r--r--troff/troff.d/font/devpost/charlib/Fl30
-rw-r--r--troff/troff.d/font/devpost/charlib/L138
-rw-r--r--troff/troff.d/font/devpost/charlib/L1.map150
-rw-r--r--troff/troff.d/font/devpost/charlib/LH.map871
-rw-r--r--troff/troff.d/font/devpost/charlib/LH_uc27
-rw-r--r--troff/troff.d/font/devpost/charlib/Lb38
-rw-r--r--troff/troff.d/font/devpost/charlib/Lb.map150
-rw-r--r--troff/troff.d/font/devpost/charlib/OLD_LH34
-rw-r--r--troff/troff.d/font/devpost/charlib/OLD_LH.map150
-rw-r--r--troff/troff.d/font/devpost/charlib/README47
-rw-r--r--troff/troff.d/font/devpost/charlib/Sl131
-rw-r--r--troff/troff.d/font/devpost/charlib/bx38
-rw-r--r--troff/troff.d/font/devpost/charlib/ci34
-rw-r--r--troff/troff.d/font/devpost/charlib/ff30
-rw-r--r--troff/troff.d/font/devpost/charlib/lc61
-rw-r--r--troff/troff.d/font/devpost/charlib/lf61
-rw-r--r--troff/troff.d/font/devpost/charlib/lh193
-rw-r--r--troff/troff.d/font/devpost/charlib/ob34
-rw-r--r--troff/troff.d/font/devpost/charlib/rc61
-rw-r--r--troff/troff.d/font/devpost/charlib/rf61
-rw-r--r--troff/troff.d/font/devpost/charlib/rh184
-rw-r--r--troff/troff.d/font/devpost/charlib/sq42
-rw-r--r--troff/troff.d/font/devpost/charlib/~=30
-rw-r--r--troff/troff.d/font/devps/B1
-rw-r--r--troff/troff.d/font/devps/B.afm1331
-rw-r--r--troff/troff.d/font/devps/BI1
-rw-r--r--troff/troff.d/font/devps/BI.afm1264
-rw-r--r--troff/troff.d/font/devps/CB1
-rw-r--r--troff/troff.d/font/devps/CB.afm256
-rw-r--r--troff/troff.d/font/devps/CI1
-rw-r--r--troff/troff.d/font/devps/CI.afm256
-rw-r--r--troff/troff.d/font/devps/CW1
-rw-r--r--troff/troff.d/font/devps/CW.afm256
-rw-r--r--troff/troff.d/font/devps/CX1
-rw-r--r--troff/troff.d/font/devps/CX.afm256
-rw-r--r--troff/troff.d/font/devps/DESC62
-rw-r--r--troff/troff.d/font/devps/FONTMAP2
-rw-r--r--troff/troff.d/font/devps/H1
-rw-r--r--troff/troff.d/font/devps/H.afm1558
-rw-r--r--troff/troff.d/font/devps/HB1
-rw-r--r--troff/troff.d/font/devps/HB.afm1441
-rw-r--r--troff/troff.d/font/devps/HI1
-rw-r--r--troff/troff.d/font/devps/HI.afm1558
-rw-r--r--troff/troff.d/font/devps/HX1
-rw-r--r--troff/troff.d/font/devps/HX.afm1441
-rw-r--r--troff/troff.d/font/devps/I1
-rw-r--r--troff/troff.d/font/devps/I.afm1298
-rw-r--r--troff/troff.d/font/devps/MustRead.html19
-rw-r--r--troff/troff.d/font/devps/R1
-rw-r--r--troff/troff.d/font/devps/R.afm1271
-rw-r--r--troff/troff.d/font/devps/S2
-rw-r--r--troff/troff.d/font/devps/S.afm214
-rw-r--r--troff/troff.d/font/devps/S12
-rw-r--r--troff/troff.d/font/devps/S1.afm51
-rw-r--r--troff/troff.d/font/devps/ZD1
-rw-r--r--troff/troff.d/font/devps/ZD.afm226
-rw-r--r--troff/troff.d/font/devpslow/DESC60
-rw-r--r--troff/troff.d/font/devpsmed/DESC61
-rw-r--r--troff/troff.d/fontmap.c158
-rw-r--r--troff/troff.d/fontmap.h2
-rw-r--r--troff/troff.d/makedev.c491
-rw-r--r--troff/troff.d/otf.c3597
-rw-r--r--troff/troff.d/otfdump.143
-rw-r--r--troff/troff.d/otfdump.c216
-rw-r--r--troff/troff.d/otfdump_vs.c3
-rw-r--r--troff/troff.d/postscript/Makefile.mk12
-rw-r--r--troff/troff.d/postscript/aps.ps154
-rw-r--r--troff/troff.d/postscript/baseline.ps183
-rw-r--r--troff/troff.d/postscript/color.ps93
-rw-r--r--troff/troff.d/postscript/cutmarks.ps260
-rw-r--r--troff/troff.d/postscript/dpost.ps285
-rw-r--r--troff/troff.d/postscript/draw.ps124
-rw-r--r--troff/troff.d/postscript/fatcourier.ps53
-rw-r--r--troff/troff.d/postscript/forms.ps223
-rw-r--r--troff/troff.d/postscript/ps.requests36
-rw-r--r--troff/troff.d/postscript/ps_include.ps139
-rw-r--r--troff/troff.d/pt.h96
-rw-r--r--troff/troff.d/t10.c1139
-rw-r--r--troff/troff.d/t6.c3032
-rw-r--r--troff/troff.d/ta.c886
-rw-r--r--troff/troff.d/tmac.d/Makefile.mk32
-rw-r--r--troff/troff.d/tmac.d/acm.me88
-rw-r--r--troff/troff.d/tmac.d/an-ext104
-rw-r--r--troff/troff.d/tmac.d/an.in647
-rw-r--r--troff/troff.d/tmac.d/andoc.in66
-rw-r--r--troff/troff.d/tmac.d/bib.in251
-rw-r--r--troff/troff.d/tmac.d/chars.me86
-rw-r--r--troff/troff.d/tmac.d/color58
-rw-r--r--troff/troff.d/tmac.d/deltext.me53
-rw-r--r--troff/troff.d/tmac.d/doc-common489
-rw-r--r--troff/troff.d/tmac.d/doc-ditroff.in192
-rw-r--r--troff/troff.d/tmac.d/doc-nroff150
-rw-r--r--troff/troff.d/tmac.d/doc-syms492
-rw-r--r--troff/troff.d/tmac.d/doc.in4264
-rw-r--r--troff/troff.d/tmac.d/e.in1051
-rw-r--r--troff/troff.d/tmac.d/eqn.me110
-rw-r--r--troff/troff.d/tmac.d/float.me93
-rw-r--r--troff/troff.d/tmac.d/footnote.me116
-rw-r--r--troff/troff.d/tmac.d/g.in237
-rw-r--r--troff/troff.d/tmac.d/index.me134
-rw-r--r--troff/troff.d/tmac.d/local.me43
-rw-r--r--troff/troff.d/tmac.d/m.in40
-rw-r--r--troff/troff.d/tmac.d/man.71220
-rw-r--r--troff/troff.d/tmac.d/mcolor.7121
-rw-r--r--troff/troff.d/tmac.d/mdoc.74280
-rw-r--r--troff/troff.d/tmac.d/mmn2832
-rw-r--r--troff/troff.d/tmac.d/mmt2850
-rw-r--r--troff/troff.d/tmac.d/mpictures.7188
-rw-r--r--troff/troff.d/tmac.d/ms.acc116
-rw-r--r--troff/troff.d/tmac.d/ms.cov298
-rw-r--r--troff/troff.d/tmac.d/ms.eqn91
-rw-r--r--troff/troff.d/tmac.d/ms.ref192
-rw-r--r--troff/troff.d/tmac.d/ms.tbl116
-rw-r--r--troff/troff.d/tmac.d/ms.ths53
-rw-r--r--troff/troff.d/tmac.d/ms.toc106
-rw-r--r--troff/troff.d/tmac.d/naa115
-rw-r--r--troff/troff.d/tmac.d/null.me36
-rw-r--r--troff/troff.d/tmac.d/padj2
-rw-r--r--troff/troff.d/tmac.d/pictures169
-rw-r--r--troff/troff.d/tmac.d/pm.in975
-rw-r--r--troff/troff.d/tmac.d/ptx28
-rw-r--r--troff/troff.d/tmac.d/refer.me129
-rw-r--r--troff/troff.d/tmac.d/s.in1066
-rw-r--r--troff/troff.d/tmac.d/safe12
-rw-r--r--troff/troff.d/tmac.d/sh.me142
-rw-r--r--troff/troff.d/tmac.d/srefs169
-rw-r--r--troff/troff.d/tmac.d/taa134
-rw-r--r--troff/troff.d/tmac.d/tbl.me144
-rw-r--r--troff/troff.d/tmac.d/thesis.me52
-rw-r--r--troff/troff.d/tmac.d/tmac.gchar272
-rw-r--r--troff/troff.d/tmac.d/v555
-rw-r--r--troff/troff.d/tmac.d/vgrind406
-rw-r--r--troff/troff.d/troff.1308
-rw-r--r--troff/troff.d/troff.h67
-rw-r--r--troff/troff.d/unimap.c915
-rw-r--r--troff/troff.d/unimap.h42
-rw-r--r--troff/version.c77
-rw-r--r--version.mk2
-rw-r--r--vgrind/Makefile.mk34
-rw-r--r--vgrind/regexp.c569
-rw-r--r--vgrind/retest.c83
-rw-r--r--vgrind/version.c15
-rw-r--r--vgrind/vfontedpr.c901
-rw-r--r--vgrind/vgrind.1228
-rwxr-xr-xvgrind/vgrind.sh259
-rw-r--r--vgrind/vgrindefs.c314
-rw-r--r--vgrind/vgrindefs.src170
686 files changed, 397356 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
new file mode 100644
index 0000000000000..77946f32085b0
--- /dev/null
+++ b/CHANGES
@@ -0,0 +1,353 @@
+2016-09-07
+ Escapes \A and \T had unnecessary restrictions regarding the
+ allowed character set. This let to problems when e.g. gen-
+ erating man pages with TOC using -dToc. 8-bit characters are
+ allowed now.
+
+2016-08-20
+ dpost generates valid PostScript when using fonts
+ with spaces in the glyph names.
+ (Marcin Cieślak (@FreeBSD))
+
+2016-04-27
+ -mdoc: Table of contents with hyperlinks and PDF bookmarks
+ added.
+
+2016-03-28
+ -man: Table of contents with hyperlinks and PDF bookmarks ad-
+ ded.
+
+2016-03-15
+ eqn bug fixed which had caused crash for DWB neqn test (has
+ same code).
+
+2016-03-08
+ grap bug fixed which had cause a double free(3) crash.
+
+Release 160308
+==============
+
+2016-03-08
+ refer: Bug introduced in commit
+ 89b1284c1de8071f3d7bb3a308cb080b8e2f311b fixed. (Reported by
+ Anthony J. Bentley (@OpenBSD))
+
+Release 160217
+==============
+
+2016-02-17
+ tbl: Invalid memory access bug fixed. (When testing if a
+ line starts with '_' or '=' it did not check if the string is
+ empty.)
+
+2016-02-16
+ .tr bugfix: When the first character given to .tr was un-
+ known, all character translations had been done wrong.
+
+2016-02-11
+ tbl troff bug fixed: Height of table had been calculated
+ wrong. This could lead to graphics artifacts if a table is
+ at page bottom.
+
+2016-02-10
+ Many changes to -man and -mdoc. Heirloom's manual page for-
+ matting is now quite compatible to groff.
+
+2016-02-08
+ Operator 'v' added for ".if". (Some manpages using this.)
+
+2016-02-02
+ -ms: Macros .QS and .QE added.
+
+2016-01-29
+ Support for groff's notation \[uXXXX] added.
+
+2016-01-26
+ nroff: Use of new names for .char now possible. (Up to now
+ only names found in the tab file could be used.)
+
+2016-01-01
+ Spaces are now allowed in filenames of .cf, .fp, .lf, .nx,
+ and .so requests. The documentation stated that %20 could be
+ used to escape spaces. However this was not implemented.
+ The implementation has now been changed to allow spaces by
+ quoting the filename with '"'. Additionally character codes
+ up to 255 are allowed now in filenames. (Bug reported by
+ Jacob Parker (https://github.com/jacobp100).)
+
+2015-12-23
+ groff's operator ".if F <font>" added.
+
+2015-12-18
+ Support for groff's notation \[char<n>] added.
+
+2015-12-10
+ File system case-sensitivity issue fixed. (Reported by Henry
+ McGilton.)
+
+2015-10-28
+ Set previous font to current font in case of unknown font.
+ This is the groff behaviour. E.g. \fIfoo\fP \f(CWbar\fP blah
+ did underline "blah" in AT&T nroff.
+
+2015-09-23
+ \n[.ns] implemented (had only been documented up to now).
+
+2015-09-21
+ Basic HTML support added.
+
+2015-09-18
+ Escape \I added (test if argument is a valid identifier). \I
+ is equivalent to groff's \A.
+
+2015-07-14
+ PDFMark: \X'SetBorderStyle' added.
+
+2015-07-08
+ Special groff compatibility mode for manual pages added which
+ is enabled when register .g is set to 1.
+
+2015-06-24
+ .box bug fixed: .box did discard part of roff's state.
+
+2015-06-22
+ mm(7): .PGFORM added to allow line length change inside docu-
+ ment.
+
+2015-06-10
+ .ie-.el bug fixed. Up to now .ie-.el did not work fully re-
+ liable in AT&T roff. (Found during -mdoc debugging.)
+
+2015-06-08
+ mdoc: Macro Lb with library definitions for FreeBSD and
+ NetBSD added.
+
+2015-06-05
+ nroff -T37 (default), -Tlp and -Tlocale: Display of pic(7)
+ drawings implemented.
+
+2015-06-04
+ troff -Tpost: All font description files now uppercase (for
+ use on case-insensitive file systems) and use of groff font
+ names instead of traditional names now possible with .ft and
+ \f.
+
+2015-05-26
+ Bugfix: nroff: Local motions had not been local (did stay in
+ effect across line boundary).
+
+ nroff: Request \D'l ...' added.
+
+2015-05-02
+ mdoc(7): .El: List type stack bug fixed.
+
+Release 150406
+==============
+
+2015-04-02
+ Renamed otfdump(1) into otf_info(1) to avoid conflicts with
+ other tools with the same name.
+
+2015-03-27
+ man, mdoc: Special characters for troff updated.
+
+ Bugfix: pic: C precedence error found by clang.
+
+2015-03-26
+ tbl: Key letter 'x' added (a GNU tbl extension).
+
+2015-03-22
+ mdoc macros updated for troff output.
+
+2015-03-20
+ Workaround to handle some .char problems added. The .char
+ implementation needs to be changed eventually. Currently the
+ translation takes place in the input stage but it has to be
+ in the output stage.
+
+ man macros (nroff mode):
+ - Allow nine instead of six arguments
+ - Document formated as one large page
+ - mandoc(1) output layout (indent, left adjust, line length
+ etc.) adapted
+ - Workaround for pod2man(1) bug (causes empty first page) ad-
+ ded
+
+ Minor mdoc macro changes (indent and some special charac-
+ ters).
+
+2015-03-19
+ \\ can now be used in fields and tables to output a \ but it
+ is anyway recommended to use \(rs or at least \e instead.
+ (Traditionally AT&T roff did reduce \\ to \ in fields and
+ tables so \\\\ had been need to be input for printing one \.)
+
+ Bugfix: roff: Don't recognize . (dot) as a number. Now a
+ path string like "./." is recognized as "not a number" in-
+ stead of "division by zero".
+
+2015-03-18
+ Bugfix: roff: Prevent NULL pointer access when using .tr
+ with characters redefined by .char.
+
+ Bugfix: tbl: Prevent uninitialized pointer access.
+
+2015-03-13
+ Bugfix: Using basic control character (normally ".") or no-
+ break control charatcer (normally "'") as first argument to
+ .char made roff unuseable.
+
+2015-03-02
+ tbl: Option -Tlp configures output of table lines with ASCII
+ characters -, =, |, and + (similar to GNU nroff -Tascii).
+ Option -Tlocale in a non-UTF-8 locale now behaves as -Tlp.
+
+ Bugfix: tbl with option -TX: Double lines had not been
+ displayed correctly.
+
+2015-02-27
+ tbl: Option -Tlocale added which (in an UTF-8 locale) en-
+ ables output of table lines with Unicode glyphs.
+
+2015-02-26
+ Bugfix: The zero width flag (set e.g. by \z or \L) did not
+ work for Unicode characters. As a consequence e.g. \L could
+ not be used width \U'2551' to draw a double vertical line.
+
+2015-02-18
+ Bugfix: When there were several .ft requests to not mounted
+ fonts in short succession the output was wrong.
+
+2015-02-12
+ Read-only register .S added for DWB compatibility.
+
+2014-12-23
+ mdoc: Footer had not been displayed if page length was
+ reached.
+
+Release 141217
+==============
+
+2014-12-16
+ mdoc updated for processing up-to-date manpages. Still much
+ work needs to be done on mdoc.
+
+ nroff: Special character names of arbitrary length are now
+ possible.
+
+ nroff: Many special characters to -Tlp and -Tlocale (UTF-8)
+ added.
+
+2014-12-15
+ nroff: Compiled in "tab.lp" and "tab.utf8" removed. The
+ "nterm" directory is now required for nroff (at least with
+ file "tab.lp" or "tab.utf8").
+
+2014-12-13
+ Macro 'lsm' and number registers 'lsn' and 'lss' added.
+
+2014-12-05
+ Bugfix: .unformat: \e gets restored now.
+
+2014-11-06
+ Distingtion between BSD and non-BSD manuals removed (Anthony
+ J. Bentley).
+
+ pic, tbl, eqn: Allow whitespace between '.' and PS, PE, PF,
+ TS, TE, EQ, EN.
+
+2014-11-05
+ With command line option '-rcR=1' -man manpages are displayed
+ as one large single page.
+
+Release 141029
+==============
+
+2014-10-29
+ Documentation revised by Pierre-Jean Fichet: doc/fonts/
+ changed to use free available OTF fonts.
+
+2014-10-27
+ col(1) bugfix: Avoid to access chars before string.
+
+ troff: fdprintf changed back to libc fprintf.
+
+ troff: 32 bit bug in register and macro allocation fixed
+ (Bug reported by Anthony J. Bentley).
+
+ nroff/troff made -Wall clean.
+
+2014-10-22
+ OpenSolaris col(1) added.
+
+2014-10-06
+ Drawing of filled polygon (\D'P ...'), filled circle (\D'C
+ ...') and filled ellipse (\D'E ...') added.
+
+2014-09-21
+ *roff: Option -V for version information added.
+
+2014-09-14
+ Any version of roff (e.g. UNIX V7) does count \} as a macro
+ argument regarding \n(.$. This makes \n(.$ rather random if
+ you cannot force users to put \} on a separate line *or* to
+ put it behind the macro call and substract 1 from \n(.$. To
+ make \n(.$ meaningful again this bug has been fixed now, i.e.
+ \} is not considered as a macro argument anymore.
+
+2014-09-07
+ Documentation revised by Pierre-Jean Fichet: doc/just/ and
+ doc/quickstart/ changed to use free available OTF fonts.
+
+2014-09-03
+ Bug reported by Pierre-Jean Fichet fixed: If character '"'
+ is used in a .char request it did not work in a .if request
+ as the string compare delimiter.
+
+2014-08-28
+ Bug reported by Blake McBride fixed: Very old versions of
+ the mm macros inserted cut marks in the document for
+ typesetters which had used endless paper rolls. Although
+ they are only of historical significance they had never been
+ removed in the Solaris version of mm. They are now switched
+ of (via .rm )k).
+
+2014-08-23
+ Bugfix by Steffen Nurpmeso: In .rm code a function return
+ value is unchecked used as a pointer.
+
+2014-08-20
+ eqn(1) did not compile because of bison to BSD yacc differ-
+ ences. Sorry, had not tested on Linux this time...
+
+2014-08-18
+ Experimental bugfix: When .bp is directly followed by .. and
+ .bp triggers a macro which calls a macro then document text
+ is printed at that trap position. This bug is also in other
+ ditroff derivatives (e.g. DWB and Plan9). It is difficult to
+ track the bug to it's root cause so it is an experimental fix
+ at the moment.
+
+2014-08-17
+ \fP after \fS did set the font before the previous font and
+ not the previous one.
+
+2014-08-16
+ Bug reported by Pierre-Jean Fichet fixed: If character "!"
+ is used in a .char request it did not work in a .if request
+ as the NOT operator.
+
+2014-08-14
+ The eqn parser used type int for all token values--even
+ pointers. This may work fine on 32 bit hardware but causes
+ problems on 64 bit. A new data type had been introduced to
+ separate int tokens from pointers.
+
+ Also a bug in the parser regarding movements (e.g. FWD) had
+ been fixed.
+
+2014-07-27
+ A variable had been initilized after use. This variable
+ minus a literal value is used as an array index. When data
+ from the array is read an invalid memory segment is accessed.
+ This had caused crashes on at least OpenBSD.
diff --git a/CHANGES_GR b/CHANGES_GR
new file mode 100644
index 0000000000000..db46cb0ce5dc1
--- /dev/null
+++ b/CHANGES_GR
@@ -0,0 +1,1213 @@
+Release ...
+* [nt]roff: Fix the execution order of output line traps to be left-to-right,
+ and execute them before page traps, as documented (bug report by
+ Pierre-Jean Fichet).
+* troff/dpost: Support for URI links in PDF documents has been added
+ (contributed by Michael Piotrowski).
+* [nt]roff: Hyphenation patterns for Dutch have been added (contributed
+ by Erwin Koning).
+* troff/dpost: "kern" tables in TrueType fonts were indexed wrongly, which
+ mostly led to missing kerning pairs but might have led to completely wrong
+ kerning pairs under rare circumstances (patch by Matthew Fischer).
+* troff: The ".connectchar" request has been added to customize the set
+ of characters that are drawn as overlapping with the "\l" function.
+* troff: Allow "\~" to shrink, not just to stretch (bugreport by Roy Fisher).
+* troff/dpost: Embed TrueType fonts without a PostScript field correctly
+ (bug reported by FENG Yu Ning).
+* troff/dpost: Include the last character in a TrueType "post" 2.0 table
+ which was previously omitted; same for the last entry of the last subtable
+ in the "cmap" table (patch by Matthew Fischer).
+* troff/dpost: Accept "cmap" entries with Platform ID 3, Encoding ID 0
+ (Symbol) as Unicode tables (patch by Matthew Fischer).
+* troff/dpost: Handle TrueType fonts with format 12 cmap tables (UCS-4)
+ (patch by Matthew Fischer).
+* troff/dpost: Handle TrueType fonts in which glyphs appear multiple times
+ in Unicode tables gracefully (bugreport by Matthew Fischer).
+* troff/dpost: Handle TrueType files with a unitsPerEm value less than
+ 1000 ((bugreport by Matthew Fischer).
+* troff: Do not apply font-specific character translation inside \D,
+ which led to wrong output e.g. with \D'l' with an OpenType font with
+ the small caps feature activated (bug reported by Russ Cox).
+* dpost: Fixed the width of the "\(ul" character such that the lines of
+ wide boxed tables do not stick out at the right end anymore (bugreport
+ by Roy Fisher).
+* troff: The "\X" and "\Y" escape sequences are no longer interpreted
+ in copy mode, as there is no case when this would be useful, and the
+ behavior now matches groff and Plan 9 troff (thanks to Russ Cox).
+* dpost: Fixed a case in which invalid backslash sequences were generated
+ when insane sizes appeared in intermediate troff input (bug reported by
+ Russ Cox).
+* refer: The "-p" option now works with files that are not in the
+ current directory (bug reported by Michael Piotrowski).
+* lookbib: This version does not support the "-n" option, which was
+ described in the BSD-derived manual page (thanks to Michael Piotrowski).
+* [nt]roff: Do not go into an infinite loop if a tab character appears in
+ the arguments to ".warn" (bug reported by Russ Cox).
+* [nt]roff: Fixed a possible crash on 64-bit machines due to the choice
+ of an int for ptrdiff_t in paragraph-at-once justification (Steve Kargl),
+ and another one in the hyphenation code (Sean Jensen).
+
+Release 080407
+* [nt]roff: A type definition problem that caused an endless loop on
+ 64-bit systems has been fixed.
+* [nt]roff: The ".warn" request now accepts full numeric expressions
+ instead of plain numbers only.
+* -mg macros: When reading the output of "ls" to emulate ".mso", use
+ nofill mode to avoid artifacts from paragraph adjustment that cause
+ the request to fail.
+* eqn: Before an equation or binary operator, print a "\|" instead of
+ a "\^" if the preceding character is italic. The previous behavior
+ resulted from a too far-reaching change in release 051107. (Bug
+ reported by Joerg van den Hoff.)
+* eqn: Do not displace "hat" and "tilde" horizontally (bug reported by
+ Joerg van den Hoff).
+* eqn: Fixed the types of yylex() and yypv.
+
+Release 070908
+* troff: The ".hw" request now works correctly for words that contain
+ ligatures (bug reported by Dirk-Wilhelm Peters).
+* troff: Hyphenate correctly when a hyphenation point occurs inside a
+ ligature that follows a non-ASCII character. Previously, the word was
+ actually hyphenated too early in this situation (bug reported by
+ Dirk-Wilhelm Peters).
+* troff: Clear the font width cache before mounting a Type 1, TrueType,
+ or OpenType font. The previous failure to do so could lead to improper
+ alignment of lines when a font was mounted on the same font position
+ that was previously used (bug reported by Dirk-Wilhelm Peters).
+* [nt]roff: When converting floating point values in exponential notation
+ (1.234e5 etc.) to integers, apply the exponent before computing the final
+ position of the decimal point for better rounding behavior (bug reported
+ by Dirk-Wilhelm Peters).
+
+Release 070524
+* [nt]roff: Fixed an endless loop that occurred when ".ns" was active at
+ the end of a document and ".bp" was called from the page trap macro.
+* dpost: When including a picture, the PostScript "save" and "restore"
+ operators are now executed in correct order. Previously, the state
+ before page initialization was restored before including a picture.
+ Thus, graphics attributes such as colors were reset to the state
+ before page initialization, and drawing (as with pic) did not work
+ afterwards but resulted in a PostScript error.
+* [nt]roff: With paragraph-at-once adjustment, if a ".in" was encountered
+ before any input, its argument was ignored. This lead to zero indent in
+ combination with the 6h Edition manual page macros, and has been fixed.
+* troff: Do not break a line at a zero-width character, as e.g. inside a
+ "\X'...'" or "\z'...'".
+* troff: The ".flig" request can now use the \[] names for ff, ffi, and
+ ffl ligatures properly, i.e. ".flig R ff \[ff]" works (bug reported by
+ Sebastian Leusch).
+* troff: Pseudo-ligatures for ff, ffi, and ffl are no longer added to fonts
+ that do not contain the respective base characters. This makes it possible
+ to use a fallback sequence like ".fallback R XX FF", where XX does not
+ contain ff ligatures, but FF does, and to get the ligatures from font FF
+ as expected (bug reported by Sebastian Leusch).
+* [nt]roff: Using ".hy" or ".nh" is now effective for the last word of a
+ "\@{...\@}" inline environment.
+* The file "grap.defines" is now installed again; it was omitted in the
+ previous release.
+* When generating a RPM package, install all manual pages into
+ "/usr/share/man/5man" to avoid conflicts with manual pages of
+ packages supplied by the distribution default packages.
+
+Release 070318
+* [nt]roff: The concept of an "inline environment" has been introduced.
+ An inline environment contains the values of the current point size, the
+ current font, the current escape character, and other similar parameters.
+ It can be saved with "\@{" and then restored with "\@}". Unlike the "\s0"
+ and "\fP" escape sequences, inline environments form a stack. Thus after
+ executing "\fB...\@{\fR...\@{\fI...\@}...\@}", the current font is "B"
+ again, while it would be "I" with "\fB...\fR...\fI...\fP...\fP". Inline
+ environments can be used to represent constructs like "<i>...</i>" in
+ HTML, which would be translated as "\@{\fI...\@}".
+* [nt]roff: A modulo zero operation (N%0) is now ignored and causes a
+ warning of the "range" type to be issued. It could previously lead to
+ a core dump because of an arithmetic exception.
+* [nt]roff: In paragraph-at-once adjustment mode, ".in" and ".ll", when
+ invoked from traps, now have a permanent effect; such settings were
+ previously discarded at the end of the paragraph. What still does not
+ work is "'in" outside a trap with a value relative to the indent set
+ inside a trap.
+* [nt]roff: An internal problem with paragraph-at-once line breaking mode
+ has been fixed; it caused a ".in" or ".ll" command to be ignored under
+ rare circumstances.
+* [nt]roff: At the end of input in paragraph-at-once line breaking mode,
+ make sure that any partial paragraph is flushed before executing other
+ termination procedures. The previous failure to do so lead to missing
+ output at the end of the document if it did not fit on the current page.
+* troff, dpost: OpenType and TrueType fonts with Unicode platformID cmap
+ tables are now supported for reading Unicode character mapping tables.
+ Previously, only Microsoft platformID cmap tables were supported, and
+ others were ignored.
+* troff, dpost: Fixed a null pointer dereference that occurred when an
+ illegal glyph ID was encountered in the "liga" table of an OpenType
+ font.
+* troff, dpost: Apple TrueType fonts with a "true" header magic are now
+ actually supported; they could previously only be read by otfdump.
+* [nt]roff: ".ev \}" has now been actually fixed (Bugreport by Dirk-Wilhelm
+ Peters.)
+* -man macros: ".P" is now recognized; it is the same as ".PP".
+* -man macros: ".I \fR other-args" is not ignored anymore; same for
+ ".B", ".SM", and ".SB".
+* Unix 6th Edition manual macro packages have been added.
+* -mandoc macros: Recognize Unix 6th Edition pages.
+* showfont.sh: Font file arguments with absolute path names are now
+ supported.
+
+Release 070202
+* [nt]roff: The "\J" escape sequence has been introduced to specify a
+ default line breaking penalty; useful to discourage line breaks within
+ a person's name or a formula. Relative values in the "\j" sequence now
+ refer to the default penalty value.
+* dpost: A manual page has been added since it has now been released by
+ Sun under the CDDL license.
+* -man macros: The ".TP" macro has been fixed not to spread the initial
+ string. This is particularly for use in combination with "-mpadj" since
+ paragraph-at-once line breaking can lead to more spreading in the first
+ line.
+* [nt]roff: Special characters like "\}" do now terminate environment
+ names in arguments to the ".ev" and ".evc" requests as with other names.
+ Thus ".ev \}" is no longer misinterpreted as an attempt to change to an
+ environment named "\}". (Bugreport by Dirk-Wilhelm Peters.)
+* dpost: Cast size_t arguments to long for printf (Stefan Tramm).
+* The reference manual now uses the free TeX Gyre Termes fonts available
+ from <http://www.janusz.nowacki.strefa.pl/>. For this and the other
+ documentation texts, README files have been added to explain which
+ fonts are needed in order to build them. (Thanks to Werner Lemberg for
+ notification.)
+* Several manual pages have been moved from "BSD Compatibility" to the
+ standard sections if they had not actually been part of the SVR4 BSD
+ compatibility package.
+
+Release 061212
+* [nt]roff: Relative numbers can be used with the ".pshape" request now;
+ they refer to the preceding indent and line length pair, or, for the
+ initial pair, to the standard indent and line lenght settings.
+* [nt]roff: A warning of the "range" category is now printed when the
+ indent is set to a value exceeding the line length.
+* troff: In ".ad p" mode, when a line break was inserted after an
+ existing hyphen or em dash, another hyphen was added when the previous
+ characters formed a kerning pair. This has been fixed.
+* troff: In ".ad p" mode, when the character before the first interword
+ space formed a kerning pair with the space character, the line length
+ was incorrectly computed, and the line was prolongated by this amount.
+ This has been fixed.
+* troff: The "\{", "\}", and "\x" escape sequences inhibited kerning in
+ the adjustment computation but not in the output routine, which could
+ lead to prolongated output lines. They now inhibit kerning completely.
+* eqn: Generated equations no longer start with "\x'0'". This allows
+ kerning with the preceding character in an inline equation.
+* nroff: The content of a "\X" function is now ignored (instead of being
+ printed with zero width).
+* nroff: Combining UTF-8 characters are now assumed to have width zero.
+* nroff: The ".rd" request has been fixed; it had not been working since
+ the last release.
+* troff: The ".rd" request now accepts locale-dependent input characters.
+* [nt]roff: Fixed an error in ".ad p" mode which could lead to core dumps
+ with ".ev" requests that were not properly paired.
+* nroff: Hyphenation of words containing non-ASCII characters now really
+ works; such characters were erroneously dropped with the last release,
+ leading to incorrect hyphenations in some cases.
+* troff: Use of the "\s+[n]", "\s-[n]", "\s+'n'", or "\s-'n'" escape
+ sequence forms now leaves the arithmetic unit handling in a clean
+ state. The previous failure to do so lead to wrong numeric results
+ under certain circumstances; in particular, it caused the "over" eqn
+ keyword to produce incorrect output.
+
+Release 061114
+* [nt]roff: The units "t" (printer's point), "T" (printer's pica), "D"
+ (Didot point) and "C" (cicero) have been introduced.
+* [nt]roff: ".ad p" mode no longer employs a temporary diversion; the
+ lines are now written directly to the current output level, possibly
+ interrupted by trap processing. This makes it possible to use "'in"
+ and ".ll" inside a paragraph, although the line breaking decisions
+ may be suboptimal in this case.
+* [nt]roff: The ".hypp" request now accepts a third argument specifying
+ a penalty for hyphenating the last word of a paragraph.
+* nroff: Characters are now internally stored as 64-bit integers as
+ in troff. As a consequence, hyphenation of words in international
+ languages now works if non-ASCII characters are involved.
+* [nt]roff: A memory allocation error that could occur with extensive
+ use of output-line traps has been fixed.
+* [nt]roff: A control character written in a diversion is now correctly
+ interpreted when the diversion is re-read (unless in groff compatibility
+ mode). This fixes the ".AU" macro of "-mm".
+* [nt]roff: The "\R" escape sequence works correctly again; in the last
+ release, it had inserted the letter "R" into the text.
+* [nt]roff: Long names including a string in their name are now handled
+ correctly, e.g. ".nr x\*yz 1" no longer tries to set the register "x\*y"
+ to the value "z".
+* [nt]roff: Fixed some more memory access problems that had been introduced
+ with support for local variables.
+* [nt]roff: Fixed a non-local goto error that could lead to segmentation
+ faults with ".ad p" at the end of the input.
+* [nt]roff: Fixed a problem in ".bp" that could lead to the page number
+ being reset to zero in ".ad p" mode.
+* [nt]roff: A null pointer dereference in ".ad p" mode that occured when
+ nofill mode was activated while a partial paragraph was present has been
+ fixed.
+* -ms: The ".IX" index macro now works in ".padj" mode.
+* -me: The ".(x" and ".)x" index macros now work in ".padj" mode.
+* A "-mpadj" macro set has been added. It simply executes ".do padj"
+ and is useful to enable paragraph-at-once adjustment from the command
+ line.
+
+Release 061106
+* [nt]roff: Support for paragraph-based justification has been added,
+ enabled with ".ad p". The "Justification in Heirloom Troff" document
+ has been expanded to cover the new features.
+* [nt]roff: The ".hylen" request has been introduced to control the
+ minimum number of characters a word must contain in order to be subject
+ to hyphenation. The default is 5 independent of whether the ".hylang"
+ request is active (in that case, it previously had been 4).
+* [nt]roff: The ".pshape" request has been introduced to control the shape
+ of a paragraph in ".ad p" mode.
+* [nt]roff: The ".hypp" request has been introduced to control penalties
+ of hyphenation points in ".ad p" mode.
+* [nt]roff: The ".padj" request has been added; it enables ".ad p" mode
+ globally in all environments. It is most useful to enable paragraph-at-
+ once adjustment in existing documents.
+* [nt]roff: The "\j" escape sequence has been introduced to specify custom
+ penalties for line breaks in ".ad p" mode.
+* troff: The ".char" request is now able to construct replacements for
+ otherwise unknown locale-specific characters.
+* troff: Fixed a typo in the hyphenation code that could result in the
+ insertion of a large negative vertical motion in a word containing a
+ character above Unicode point U+0800.
+* troff: Fixed "\H" and "\S" to become effective if positioned directly
+ after a font change (Bugreport by Dirk-Wilhelm Peters).
+* [nt]roff: The ".pull" request (introduced in the previous release) has
+ been removed again. It is recommended that the traditional approach to
+ re-divert text is used instead.
+* [nt]roff: Fixed an invalid memory access that had been introduced with
+ local strings in the last release.
+* troff: Fixed a segmentation violation if a ligature in a hyphenated
+ word was not in the current font (Bugreport by Dirk-Wilhelm Peters).
+* troff, dpost: Fixed a rounding error when reading TrueType metrics.
+* dpost: Fixed a bug introduced with the previous release that caused
+ PostScript errors on a page following colored text unless the "-e"
+ option was explicitly specified.
+* dpost: Now handles DSC font comments in included PostScript files and
+ supplies glyph data for them if specified with a troff ".fp" request.
+* dpost: Fixed to compile on NetBSD again (Bugreport by Dirk-Wilhelm Peters).
+* eqn: Handles fractional point sizes with "size" and "gsize" now.
+* tbl: Fixed a segmentation fault with empty tables that occurred due
+ to the changed memory layout introduced in the last release.
+* A "Quickstart Guide" document has been added. It is aimed at people
+ who know other variants of troff to some extent and want to explore
+ Heirloom troff.
+
+Release 061010
+* A simplistic XSLT stylesheet to convert OpenDocument text to troff input
+ has been added. See the comments in the file "stuff/odt2tr.xsl" for usage
+ instructions.
+* [nt]roff: Local strings and number registers are now supported. They can
+ be defined using ".lds", ".lnr", and ".lnrf". A local string or register
+ is visible only in the instance of the macro in which is has been defined
+ and can then be accessed like a standard global string or register.
+* [nt]roff: The ".pull" request has been introduced to print text of a given
+ height from a diversion and remove it afterwards.
+* [nt]roff: The ".writem" request has been added to write the contents of
+ a string, macro, or diversion to a file stream.
+* [nt]roff: The ".dwh" and ".dch" requests have been introduced to allow
+ multiple diversion traps in the same diversion.
+* [nt]roff: The ".trin" (translate but retranslate with ".asciify") and
+ ".trnt" (translate but not in transparent mode) requests have been added.
+* [nt]roff: The "\n[.dilev]" register contains the current diversion level.
+* [nt]roff: The "\B" escape sequence (check for valid numerical expression)
+ is now available in regular mode too, not only in groff compatibility mode.
+* troff: The second argument to the ".fkern" request now specifies a minimum
+ absolute amount for kerning pairs read from font metrics files. Kerning
+ pairs with smaller adjustments are ignored.
+* tbl: Can now optionally use graphic drawing commands (troff "\D") instead
+ of repeated-character line drawing (troff "\l" and "\L"). The "graphics"
+ option enables it per table, and the "-g" command line option enables it
+ globally.
+* tbl: The static limits on the number of table lines, columns, and heading
+ lines have been removed. In effect, all lines of a table are considered
+ when the column widths are computed, and ".T&" can occur at any line.
+* tbl: The "nokeep" option causes tbl not to write a ".ne" command for a
+ boxed table.
+* troff: The CW, CI, CB, and CX fonts no longer substitute the "fi" and "fl"
+ ligatures with the "devps" device. This is consistent with "devpost".
+* [nt]roff: If a word starts with a motion followed by a hyphenation
+ indicator, such as "\h'1m'\%text" or "\|\%text", hyphenation for the
+ word is now suppressed, and no hyphen is generated.
+* [nt]roff: When text from a diversion is output or rediverted, it is no
+ longer subject to character translations specified with ".tr" and ".ftr".
+* [nt]roff: In groff compatibility mode, unless a string is interpolated
+ with explicit arguments, the arguments to the surrounding macro instance
+ remain visible and can be referenced by "\$" from within the string.
+* [nt]roff: The ".length" and ".index" request now strip an initial """ in
+ their last argument to allow initial white space.
+* [nt]roff: The blank line macro is not called when a diversion is reread
+ in nofill mode anymore.
+* troff: The escape sequence "\s[0]" now resets the point size to the
+ previous value as "\s0" does.
+* [nt]roff: Arbitrary delimiters are now allowed with "\s''" escape
+ sequences.
+* [nt]roff: Fixed a bug that caused ".shift" without arguments to be ignored
+ if the last previous numerical expression was invalid.
+* troff: The indent of the current line is no longer part of a PDF link
+ that continues from the previous line.
+* [nt]roff: ".rm" and ".rr" no longer issue a warning if one of their
+ arguments is not a defined macro or register, respectively.
+* troff: Fixed an error that sometimes caused the "x X Track" command to miss
+ in intermediate output.
+* troff, dpost: The short font name is now part of the "x font" commands
+ in intermediate output for Type 1, TrueType, and OpenType fonts.
+* troff: Before generating an "x X" command because of a "\X" or "\Y" escape
+ sequence, the current horizonal position is now emitted to intermediate
+ output. This makes input like "\h'1i'\X'anything'" work as expected.
+* troff: Changes between environments with different ".ss" settings are now
+ handled correctly.
+* dpost: The default encoding for the "ps" device is now "3".
+* dpost: The PostScript "awidthshow" operator is now used with the "-e2" and
+ "-e3" encoding options, resulting in reasonable output in combination with
+ the ".track" request.
+* dpost: With the "-e2" and "-e3" encoding options, use only word spaces as
+ indicated by troff for the "widthshow" PostScript operator. This usually
+ results in slightly larger PostScript output but is better encodable when
+ distilled to PDF so that PDF files become smaller.
+* troff: An internal character width caching error has been fixed; it could
+ lead to misaligned characters when setting text in fonts containing more
+ than 400 characters.
+* troff, dpost: Can now handle fonts with up to 65534 characters.
+* eqn: Avoid to recognize delimiters inside troff escape sequences with "("
+ or "[" as well as directly behind a sequence of backslash characters.
+* -mm macros: Fixed a bug which caused .ML output to disappear unless in
+ troff -x0 mode.
+
+Release 060905
+* [nt]roff: The new ".brnl" request causes a break each time a newline is
+ encountered at the end of a text input line. Unlike nofill mode, text is
+ still wrapped to the line length.
+* [nt]roff: The new ".brpnl" request causes a break and a spread each time
+ a newline is encountered at the end of a text input line (as if it were
+ attached a "\p"). The "\p" escape sequence changes its semantics in this
+ mode and causes a break without a spread.
+* [nt]roff: The new ".lpfx" request allows to print a string whenever
+ a new output line is started. This is mainly useful to implement a
+ historic form of block quotation.
+* [nt]roff: The predefined number registers "\n[.in]", "\n[.hy]",
+ "\n[.int]", "\n[.lt]", "\n[.pn]", "\n[.psr]", and "\n[.sr]" have been
+ added.
+* [nt]roff: The semantics of the number registers "\n(.x" (remaining space
+ on current output line) and "\n(.y" (current actual indent) are now
+ documented.
+* [nt]roff: The "\n[.kc]" register has been introduced; it holds the width
+ of a word interrupted with "\c" on output.
+* [nt]roff: Control and escape characters written in a diversion are now
+ regular characters in groff compatibility mode.
+* [nt]roff: It is not a fatal error if the file specified with ".so" is not
+ accessible in groff compatibility mode.
+* [nt]roff: The value of the "\n(.k" register is computed differently in
+ groff compability mode now.
+* [nt]roff: The -mg macros now provide the fonts "C" and "CR".
+* [nt]roff: The -mg macros now provide an emulation of the ".mso" request.
+* [nt]roff: The command line options "-ds=x" and "-ra=N" are now accepted,
+ thus the string or register name before "=" can consist of more than one
+ character.
+* [nt]roff: The ".rd" request now works again; it caused a segmentation
+ fault since several releases.
+* [nt]roff: Formatting of a ".char" object immediately before a trap is
+ executed no longer causes pending input text to disappear (bug reported
+ by Sebastian Leusch).
+* troff: The escape sequence form "\s[+-]'n'" now works with fractional
+ point sizes.
+* troff: With xflag 0, fractional parts and units are now ignored with
+ the ".ps" command.
+* [nt]roff: With xflag 0, ".if !..." works correctly again.
+* [nt]roff: When copying text to a macro, if a line appeared that was a
+ prefix of the terminating macro, its last character was copied twice
+ (e.g. "..." with the standard ".." was copied as "...."). This has been
+ fixed.
+* -me macros: The macros now work with xflag > 0.
+* [nt]roff: The distance to the next trap, and, accordingly, the "\n(.t"
+ register, can now be larger than the maximum allowed motion with "\h"
+ and "\v". This allows very long pages without a "trap botch" error,
+ although vertical motions on such pages may require multiple "\v"
+ commands.
+* [nt]roff: Fixed a reallocation problem that caused segmentation faults
+ with some compilers.
+* [nt]roff: Fixed the "-u" option not to cause a segmentation fault.
+* [nt]roff: The "\n(.S" predefined number register has been removed again
+ since it conflicts with use of this name by "dot -Tpic". (The "\n[.tabs]"
+ register continues to be available with the same semantics.)
+* troff: There is now a "lc_ctype" keyword in the DESC file for the sake
+ of legacy post-processors that do not understand "x X LC_CTYPE".
+* dpost: Use the device given by "x T" in intermediate language for reading
+ font files only if its name starts with "ps" or if it has the "afmfonts"
+ keyword in its DESC file; otherwise use "devpost".
+* tbl: The forms "f (X)", "w (x)", and "fX." are now accepted in column
+ specifications.
+
+Release 060813
+* [nt]roff: A new type of traps is available: output-line traps. They are
+ set with the new "\P" escape sequence and are invoked when the line that
+ contains the corresponding sequence has been output.
+* [nt]roff: The ".index" request has been added to determine the position
+ of a string within a string or macro.
+* [nt]roff: Floating-point registers have been introduced; they can be
+ created and modified with the ".nrf" request and are otherwise like
+ standard integer number registers, with which they share a common name
+ space.
+* [nt]roff: The ".if f expr" condition has been introduced to evaluate
+ an expression with floating-point computation.
+* [nt]roff: Exponential notation, as in "1e+10", is now supported in
+ numerical expressions.
+* [nt]roff: Debugging requests for watching macros, strings, and number
+ registers have been added.
+* [nt]roff: The ".errprint" request has been added to write custom strings
+ in the same format as internal error messages.
+* [nt]roff: The ".cp" request has been added to control compatibility with
+ groff.
+* [nt]roff: The "-mg" macro package has been added for improved support of
+ groff documents, preprocessors, and macro sets.
+* [nt]roff: The ".while", ".break", and ".continue" requests have been
+ added as another method to process input repeatedly.
+* [nt]roff: Space characters inside parentheses in numerical expressions
+ are now permissible, i.e. they are discarded and do not terminate the
+ expression.
+* [nt]roff: The ".char", ".fchar", and ".rchar" requests have been added
+ to transform a single input character to multiple output characters.
+* [nt]roff: The ".ecs" and ".ecr" requests have been added to save and
+ restore the escape character.
+* [nt]roff: The ".shc" request has been added to set the soft hyphen
+ character.
+* [nt]roff: The ".hcode" request has been added to specify character
+ mappings for hyphenation purposes.
+* [nt]roff: The sets of sentence-ending and transparent characters are
+ now configurable with the ".sentchar" and ".transchar" requests.
+* [nt]roff: The set of optional line break characters (normally hyphen
+ and em dash) is now configurable with the ".breakchar" request.
+* [nt]roff: The ".nhychar" request defines a set of hyphenation-
+ inhibiting characters (as hyphen and em dash with traditional troff
+ hyphenation).
+* troff: The second argument to the ".ss" request now actually sets the
+ size of the sentence-end space instead of just switching it on or off.
+* [nt]roff: The ".unformat" and ".asciify" requests have been added to
+ remove the effects of adjustment, and font and point size information,
+ respectively, from a diversion.
+* [nt]roff: The "\Z'string'" escape sequence (print string and restore
+ the position afterwards) has been introduced.
+* [nt]roff: The ".als" request has been added to create an alias name
+ for a request, macro, or string.
+* [nt]roff: The ".aln" request has been added to create an alias name
+ for a number register.
+* [nt]roff: The ".rnn" request has been added to rename a number register.
+* [nt]roff: The ".box" request has been added; it is like ".di" but saves
+ and restores a previous partially filled line.
+* [nt]roff: The ".spacewidth" request has been introduced to default to
+ the width of the space character as obtained from the font metrics file.
+* [nt]roff: The ".rj" request (right-align next input lines) has been
+ added. The ".rj" number register that holds the number of remaining
+ lines to be right-adjusted has been added.
+* [nt]roff: The ".ce" number register that holds the number of remaining
+ lines to be centered with the ".ce" request has been added.
+* troff: The "\Yx", "\Y(xx", or "\Y[xxx]" escape sequence has been added
+ to output the contents of the string or macro x, xx, or xxx, respectively,
+ as a device control function.
+* [nt]roff: The "\$0" escape sequence has been added to refer to the name
+ of the current macro or string.
+* [nt]roff: The "(c;e)" numerical expression function has been added to
+ evaluate "e" using "c" as default scale indicator.
+* [nt]roff: The "M" (Em/100), "s" (= "u"), and "z" (= "p") scale indicators
+ have been added.
+* [nt]roff: The ".ta T Nt Mu" syntax to set tab stops repeatedly is now
+ supported.
+* [nt]roff: The "\n(.S" and "\n[.tabs]" registers have been added to save
+ and restore tab stops.
+* [nt]roff: The "\n[.ev]" number register has been added as a method to
+ determine the name of the current environment.
+* troff: The "\n[rst]" and "\n[rsb]" registers are set by the width function
+ to the highest and lowest extent of the bounding box of any character.
+ This currently only works for Type 1 and TrueType fonts.
+* troff: The "\n[.cht]" and "\n[.cdp]" registers are set to the highest
+ and lowest extent of the bounding box of the previous character. This
+ currently only works for Type 1 and TrueType fonts.
+* [nt]roff: In extension level 1, long string "\*[xxx]", register "\n[xxx]",
+ and font "\f[xxx]" names are no longer recognized unless they are on a
+ line beginning with the ".do" request.
+* [nt]roff: The "\n[.ps]" number register, which holds the current font
+ size in device units, has been added.
+* [nt]roff: The "\E" escape sequence has been fixed; it does not resolve
+ to a printable but to an effective escape character now.
+* [nt]roff: The "\)" escape sequence (like "\&" but transparent for
+ sentence ending) has been added.
+* [nt]roff: Static limits on word and line size have been eliminated.
+* [nt]roff: The "\{", "\}", "\&", "\%", "\c", and "\(space)" escape
+ sequences terminate two-character request names now.
+* [nt]roff: The ".tm" and ".write" commands now discard formatted motion
+ sequences.
+* troff: The ".psbb" request now reads a "%%HiResBoundingBox" DSC comment
+ in preference to "%%BoundingBox"; the registers it assigns to are now
+ floating-point registers.
+* troff: The ".psbb" request now properly supports the "(atend)" syntax in
+ PostScript DSC input files.
+* nroff: The ".psbb" request has been made a no-op since nroff cannot
+ otherwise handle EPS documents anyway.
+* [nt]roff: The "right-brace" warning category has been added.
+* [nt]roff: Calls of ".vs" that result in negative numbers are now
+ ignored.
+* [nt]roff: The width function "\w" now takes pairwise kerning into
+ account.
+* [nt]roff: The ".return" request has been fixed not to ignore the next
+ line of input when followed by text on the same line.
+* [nt]roff: The second argument of the ".ss" request now also applies
+ to sequences of space characters that follow a sentence end character.
+* [nt]roff: The "\k[name]" escape sequence has been fixed to work if
+ "name" has not been previously been used.
+* [nt]roff: The "\(dq" character has been introduced as an alternate name
+ for the ASCII double quote character.
+* dpost: Character height and slant changes now only apply to the current
+ font as documented.
+* tbl: When ending macros in generated code, ".00" is now used instead
+ of "..". This allows the use of ".ig" and similar requests within "T{"
+ etc. without interference.
+* pic: Accept "{lower|upper} {left|right} of" as aliases for ".nw", ".sw",
+ ".ne", and ".se".
+* pic: Continued newlines in expressions like "center \<newline>of" are
+ now accepted.
+
+Release 060716
+* troff: The ".letadj" request has been added to enable dynamic letter
+ spacing and letter reshaping when justifying lines.
+* troff: Font and size attributes of space (and newline) characters in
+ input are now honored for computing widths and kerning pairs. Previously,
+ font and size of space characters were always that of the next printable
+ character; this is retained with the -x0 option. This means that e.g. in
+ "\f(CWabc \fRdef", the size of the space is now computed from the
+ constant width font instead of the roman font.
+* [nt]roff, dpost, daps: The character name "\(rs" for backslash has been
+ introduced.
+* nroff: "\[xx]" and "\C'xx'" result in the same character as "\(xx" now.
+* [nt]roff: The ".nx" request now works again, it previously caused
+ a segmentation fault because of a null pointer dereference (bug
+ reported by Michael Hobgood).
+* [nt]roff: With the ".hylang" request, words that consist of four
+ characters are now subject to hyphenation (with the traditional
+ hyphenation, five characters are the minimum length).
+* [nt]roff: The ".hy" request accepts the additional flags 16 and 32 that
+ allow the last or first character of a word, respectively, to be split
+ off.
+* troff: Giving no arguments to ".minss" now deactivates this mechanism.
+* troff: ".minss" now has no effect unless in ".ad b" mode as documented.
+* [nt]roff: The ".ss", ".sss", ".minss", ".lspmin", ".letss", ".lspmax",
+ ".lshmin", ".lshmax", ".lc_ctype", ".hylang", and ".fzoom" number
+ registers have been added to retrieve the current values set with the
+ respective requests.
+* [nt]roff: The forms "\s+-'dd'", "\s+-[dd]", and "\s[+-dd]" of the size
+ change escape sequence are now understood.
+* [nt]roff: The ".nop text" request (use text as input) has been added.
+* [nt]roff: The escape sequence "\R'R +-N'" to set the value of a number
+ register has been added.
+* [nt]roff: String references now accept arguments with the \*[xx arg ...]
+ escape sequence.
+* [nt]roff: The ".blm xx" request has been added, it causes ".xx" to be
+ called whenever a blank line is encountered.
+* [nt]roff: The ".itc" request (input trap not counting "\c") has been
+ added.
+* [nt]roff: The ".hlm" request and the ".hln" and ".hlc" number registers
+ have been added to control the maximum number of consecutive hyphenated
+ lines.
+* [nt]roff: The "\#" escape sequence (comment including newline) has been
+ added.
+* [nt]roff: With xflag 3 and warning "mac" deactivated, if ".xx" was a
+ defined request and ".xxx" was not, ".xx" was executed for ".xxx".
+* [nt]roff: Several segmentation violations that occurred with arbitrary
+ binary data as input have been fixed.
+* troff, dpost, otfdump: The operator 12 in CFF Top DICT entries was not
+ handled correctly, resulting in misleading error messages with some
+ OpenType fonts. This has been fixed (bug reported by D. Jeff Dionne).
+
+Release 060619
+* troff: The ".minss" request has been added. It allows troff to decrease
+ the size of the word space below the value set by ".ss" when adjusting
+ lines at both margins.
+* troff: The ".kernpair", ".kernafter", ".kernbefore", ".lhang", and
+ ".rhang" requests now also accept groups of characters to which the
+ same kerning/hanging value is applied.
+* [nt]roff: It is now possible to use strings inside macros names (e.g.
+ ".xx\*(yy" as documented.
+* [nt]roff: The ".if d", ".if n", and ".rr" requests erroneously applied
+ to a shorter two-character name if an undefined longer name was given
+ as an argument; this has been fixed.
+* troff: The ".fkern" request now properly refers to a single mounted
+ instance of a font; it previously affected all mounted instances of
+ one font metrics file.
+* troff: Character replacements with ".tr" where the target character
+ does not originate from the current font but is found in the fallback
+ sequence are now performed correctly. Previously, an invalid heap
+ access could occur, resulting in the choice of random characters.
+* troff: Margin characters set with ".mc" are now correctly placed in
+ combination with hanging characters set with ".rhang".
+* [nt]roff: It is legal to call ".it" or ".dt" without arguments, thus
+ a warning is no longer issued in this case.
+* troff: Selecting one of the base fonts with ".ft" without a previous
+ ".fp" works again; it was broken in the last release.
+
+Release 060430
+* troff/dpost: Links and anchors in PDF documents can now be defined;
+ "\A" and "\T" escape sequences have been introduced for this.
+* [nt]roff: Tail-recursion elimination for macro calls has been added.
+ This allows recursive macro calls of arbitrary depths when the call
+ to itself occurs in the last line of the macro.
+* troff: The ".fkern" request has been introduced to disable the use of
+ the kerning tables of specific fonts.
+* [nt]roff: The "\V" escape sequence has been introduced; it prints the
+ value of an environment variable.
+* troff: An explicit "N" font register argument to the ".fp" request may
+ now be an arbitrary number between 1 and 255.
+* troff: The "\n[.fp]" number register has been introduced to make it
+ possible to determine the next unused font register.
+* [nt]roff: The "-daS" command line option has been added to define the
+ string "a" to "S".
+* [nt]roff: The ".output" request has been added to write a command to
+ intermediate output regardless of whether there is a current diversion
+ or not (unlike "\!").
+* [nt]roff: A warning is now issued when a non-ASCII byte is found in
+ a name (of a request, number register, etc.) with the "input" warning
+ category.
+* [nt]roff: Long request names as second arguments to macro definitions
+ (as in ".de xx longname") are now handled correctly.
+* [nt]roff: The ".close" request has been fixed; repeated calls to it
+ could previously result in lost file stream descriptors.
+* troff, otfdump, dpost: The end of floating point values in CFF data is
+ now properly recognized; the previous failure to do so could result in
+ errors like "invalid operand b0 range 255" with valid OpenType fonts.
+* troff: In TrueType fonts with version 3.0 "post" tables, characters that
+ lack a Unicode mapping can now be accessed as "\[index0xN]".
+* [nt]roff: The need for the sbrk() system call has been eliminated; the
+ regular system malloc() is now used.
+
+Release 060409
+* dpost: An error that could lead to invalid PostScript output when the
+ last character of a long output string sequence was a backslash has
+ been fixed.
+* troff: The ".flig" request has been enhanced to enable the definition
+ of arbitrary font-specific ligatures, e.g. ".flig R Th \[T_h]" could
+ be used for a "Th" ligature. The previous syntax is still accepted.
+* troff: If a hyphentation point occurs within an automatically created
+ ligature, the ligature is now split into its parts.
+* troff: The "\;" escape sequence has been introduced as a ligature
+ suppressor without other side-effects.
+* troff: The ".fdeferlig" request has been introduced. It defers building
+ of a ligature by one character, e.g. if both "ff" and "fi" are defined
+ as ligatures and "ffi" appears in input, a single "f" followed by the
+ "fi" ligature can be constructed instead of a "ff" ligature followed by
+ a single "i".
+* [nt]roff: The hyphenation language as set by the ".hylang" request is
+ now specific to the current environment.
+* [nt]roff: The ".substring" and ".length" requests have been added to
+ replace a string by a substring of it and to determine the length of
+ a string, respectively.
+* troff: No longer prints a warning when a font selected with ".ft" is
+ not currently mounted but can be mounted in position 0.
+* nroff: No longer prints a warning when a font is selected with ".ft".
+* nroff: Multibyte characters are now emboldened correctly. Previously,
+ the number of backspace characters output corresponded to the length
+ of the multibyte sequence instead of the column width of the character
+ (bug reported by Alexander E. Patrakov).
+* dpost: The line width for drawing has been fixed; previously, lines
+ were 100 times too slim with the "ps" device.
+* troff: The "\C'xxx'" escape sequence is now available; it selects a
+ named character with the same effect as "\[xxx]".
+
+Release 060321
+* An revised version of the "Nroff/Troff User's Manual" is now available
+ in the directory "doc/troff". It replaces the "NEWS" and "PDFS" text
+ files; these have been removed.
+* A typeset version of "Font Handling in Troff With PostScript Devices"
+ is now available in the directory "doc/fonts". It replaces the "FONTS"
+ text file that has been removed.
+* [nt]roff: Hyphenation is now enabled by default. This is compatible
+ with most other versions of troff, but differs from Solaris troff.
+* troff/dpost: The characters \(or \- \` \' " # < > @ \ ^ ~ are now
+ taken from the current font instead of the special font by default
+ if possible with the "ps" and "psmed" devices. The new DESC keyword
+ "allpunct" controls this.
+* troff: Kerning pairs from font metrics files that include "\[name]"
+ characters now work correctly; they could previously apply to wrong
+ characters with font files containing more than 260 characters, and
+ were ineffective with smaller ones.
+* troff: OpenType and TrueType kerning pairs with a position difference
+ of zero are now completely ignored. They could previously overwrite a
+ previous positioning difference for the same pair. Also if a kerning
+ pair occurs more than once in the metrics file, the first definition
+ read is now used instead of the last one.
+* troff: In an OpenType font, if a kerning pair occurs in both a "Pair
+ Positioning Adjustment" format 1 (kerning by specific glyphs) and a
+ format 2 (kerning by glyph classes) table, the format 1 definition
+ is now always used.
+* tbl: Storage space expansions because of long lines inside a table are
+ now done properly.
+* troff: The "\n[.ascender]" and "\n[.descender]" registers contain the
+ typical extents of the current font above and below the base line,
+ scaled to the current point size.
+* troff: Zero-width space characters are no longer considered word space
+ when a line is justified. This fixes "\X" device control functions in
+ diversions.
+* dpost: The metrics of the underscore character in the PostScript Symbol
+ font (which is mapped to "\(ul" and is used to draw horizontal lines)
+ are now dynamically adjusted in the generated PostScript code. This
+ works around varying metrics of this character in different versions
+ of the Symbol font. Note that this does not work in PDF unless the
+ font is embedded at the time the document is distilled.
+* dpost: The "\(sq" glyph is now filled in any font with a "Weight" entry
+ of "Bold", "Ultra", or "Heavy".
+* dpost: The "post" device works again; dpost previously crashed with a
+ null pointer dereference when it was used.
+* troff/dpost: EPS files that contain carriage-return characters as
+ newline indicators are now correctly handled with the ".psbb" request
+ and the picture inclusion mechanism.
+* [nt]roff: The "\(.z" number register handles diversion names longer
+ than two characters properly now.
+* [nt]roff: Requests like ".bd" or ".kernpair" now warn when an invalid
+ font name is given.
+* [nt]roff: No "illegal number" warning is printed anymore when a "\}" is
+ found as part of a possibly numeric argument, as in e.g. ".bp \}".
+* [nt]roff: The ".mc" request does not require an argument so no warning
+ is printed if it is given none.
+* dpost: When a PDFMark Bookmark command is issued at the beginning of
+ a page of intermediate output before any text has been printed, the
+ value "4" is now substracted automatically to make the PDF viewer
+ show the whole page top including margin.
+* -mm macros: An error that was introduced when the macros were converted
+ to use spaces between a request name and its arguments has been fixed.
+ It sometimes caused the page offset to be wrong.
+
+Release 060221
+* [nt]roff: With the ".hylang" request, the individual parts of words
+ composed by "-" or "\(em" characters are now subject to hyphenation.
+* troff: The ".fspacewidth" request has been introduced to set the width
+ of the space character of a font.
+* troff: For monospaced fonts, the space width is now set to the size of
+ the "space" character in the AFM/TrueType/OpenType font metrics. This
+ matches the traditional behavior of the "post" device with the "Courier"
+ font, but was previously not done for "ps", which led to incorrect
+ formatting.
+* troff: Non-ASCII small characters were erroneously mapped to uppercase
+ input characters. They are now mapped to lowercase input characters as
+ it is done for ASCII characters.
+* troff: When a regular font was chosen as fallback for an expert font,
+ non-ASCII characters were selected from the regular font even if a
+ matching character in the expert font existed.
+* [nt]roff: Additional conditions are available with ".if": "c" to test
+ for a glyph in the current font, "d" to test for the existence of a
+ macro, and "r" to test for the existence of a number register.
+* [nt]roff: Three additional operators for numeric expressions are
+ available: "<>" (not equal), "<?" (minimum), and ">?" (maximum).
+* [nt]roff: The input line number is now adjusted at a different place,
+ fixing many glitches which previously caused it to be wrong.
+* tbl: The ".lf" troff request is now used internally to adjust troff's
+ idea of the current input file and line number, making troff warnings
+ more helpful.
+* tbl: The ".warn" troff request is now used internally to save, disable,
+ and restore warning messages around those portions of tbl output which
+ use potentially undefined requests or registers.
+* pic: The comments before ".PS" containing bounding box information are
+ now prefixed by '.\"' instead of '...' for compatibility with ".warn".
+* [nt]roff: The "\n[.warn]" number register is now properly changed after
+ a call to ".warn" with no arguments.
+* pic/dpost: The PostScript implementation of the "Dl" (draw line)
+ operation now rounds the current point to the troff device resolution
+ when testing for equality. This is another fix for "box fill 0" in pic.
+* troff/dpost: A "x X LC_CTYPE localename" device command has been added.
+ This ensures that troff and dpost use the same locale for generating
+ PDF bookmark entries.
+* dpost: CFF font data is now ASCII hex encoded in PostScript output.
+
+Release 060208
+* troff: Eastern European characters for Unicode/PostScript conversion
+ have been added (patch by Vladimir B. Machulsky).
+* troff, dpost: Font file names can now contain spaces or bytes outside
+ the ASCII range. A "%xx" escape sequence, where "xx" are hexadecimal
+ digits, has been introduced in order to achieve this. The description
+ of ".fp" in the "NEWS" file contains details on this.
+* [nt]roff: The ".vpt" request has been added to make it possible to
+ disable vertical position traps.
+* dpost: With the ".track" command, the tracking amount was not properly
+ initialized at every page of PostScript output. This could result in
+ incorrect arrangements of characters.
+* [nt]roff: Diagnostic messages now include the number of the current
+ output page.
+* [nt]roff: Page breaks inside a diversion are now properly ignored.
+* dpost: When a font was mounted replacing another font on the same
+ physical position, non-ASCII characters were not printed correctly
+ afterwards (bug reported by Vladimir B. Machulsky).
+* dpost: The BookMark device command now causes "/XYZ" destination keys
+ to be written to PDF documents. This has the effect that the current
+ zoom factor is retained when a bookmark is selected.
+* pic, grap: Fixed 8-bit input in label texts (bug reported by Vladimir
+ B. Machulsky).
+* troff: The ".trimat", ".bleedat", and ".cropat" requests caused some
+ following requests (e.g. ".fp") to fail because of an improper reset
+ of number scaling (bug reported by Sebastian Leusch).
+* troff: If the "\~" character appeared as part of the first word of
+ a line not immediately following a break, the current line and the
+ line before it were not justified correctly (bug reported by
+ Christian Schaper).
+* [nt]roff: The ".spreadwarn" request was wrongly called ".spreadlimit"
+ in the NEWS file.
+
+Release 060114
+* troff: The internal codes for PostScript characters are now unique across
+ all fonts. In effect, requests like ".tr" or ".lc" now handle arbitrary
+ characters correctly, including locale-dependent ones.
+* [nt]roff: The ".mk" request now accepts long register names.
+* [nt]roff: Using ".wh" with an undefined long macro name now works as with
+ undefined short names; the macro is executed once it has been created.
+* troff/dpost: PostScript characters are now passed as "CPSname" in the
+ intermediate output (instead of "Nnnn").
+* troff/dpost/otfdump: Apple TrueType fonts with a "true" header magic can
+ now be read (thanks to Stefan Tramm).
+* troff/dpost/otfdump: TrueType handling has been made more robust against
+ an error in Microsoft/Unicode "cmap" subtables.
+* dpost: Error messages now include the number of the current output page.
+* dpost: Color bars can now be generated with "-M colorbars", star targets
+ with "-M startargets", and all marks are enabled with "-M all".
+* dpost: The ".mediasize" request now also causes a "%%DocumentMedia:" DSC
+ comment to be written. This enables some PostScript previewer programs
+ to determine the document size.
+* troff: On a font mounted with ".fps punct", the "\(en" character is now
+ available as expected.
+* pic/dpost: The PostScript implementation of the "Dl" (draw line)
+ operation has been fixed to move to the beginning of the line properly
+ even when "inpath" is set. This fixes "box fill 0" for pic.
+* dpost: The geometry setup for drawing commands is now executed in the
+ setup section for each page. This makes pic work with filters that
+ re-arrange pages in PostScript.
+
+Release 051227
+* [nt]roff: A new extension level "3" is available. In this level, undefined
+ long requests whose first two characters form an existing short request
+ are ignored instead of being interpreted as short requests. Also string
+ and number register references are interpreted at any position of a
+ long request name in this level.
+* troff: Unicode mapping tables from OpenType and TrueType fonts are now
+ used for converting input characters.
+* troff: Locale-dependent input characters for which no matching glyph can
+ be found are now replaced by spaces.
+* troff: The ".fps" request has been introduced to map troff special
+ characters like "\(*a" or "\(+-" to a custom font.
+* [nt]roff: The warning category "missing" is now available; it includes
+ warnings about missing required arguments to requests.
+* [nt]roff: The warning category "delim" is now available; it includes
+ warnings about missing delimiters to escape sequences.
+* troff: The ".trimat", ".bleedat, and ".cropat" " requests have been added
+ to include advice about the "TrimBox", "BleedBox", and "CropBox" page
+ parameters to a PDF distiller command, particularly for PDF/X generation.
+* dpost: The "-M" option has been added. It can be used to print cut marks
+ ("-M cut"), registration marks ("-M registration"), or both cut marks and
+ registration marks ("-M cut:registration") in combination with the
+ ".trimat" troff request.
+* [nt]roff: The ".af" request now handles long register names correctly.
+* troff: Kerning now works correctly in combination with leaders and
+ fields.
+* troff: The ".tm" and ".write" requests now correctly handle locale-
+ dependent input characters as well as one-character escape sequences
+ that are interpreted in copy mode such as "\&".
+* [nt]roff: The "-msafe" macro now correctly removes the ".do pso",
+ ".do open", and ".do opena" requests in -x1 (default) mode. They
+ were previously removed in -x2 mode only.
+
+Release 051212
+* [nt]roff: The ".pso" request has been added; it reads the output of
+ a command as input to troff.
+* [nt]roff: The ".tmc" request has been added; it works like ".tm" but
+ does not terminate the message with a newline.
+* [nt]roff: The ".open", ".opena", ".write", ".writec", and ".close"
+ requests have been added. They work like ".tm" but write to a named
+ file.
+* [nt]roff: The ".warn" request has been added; it enables additional
+ warning messages. The "\n[.warn]" register prints bits representing
+ the warning categories that are currently enabled.
+* [nt]roff: The ".spreadlimit" request has been added; it can be used
+ to print a warning when the adjustment computed for an output line
+ exceeds a certain value.
+* [nt]roff: The ".mediasize" request has been added; it causes dpost to
+ specify the page size using the PostScript "setpagedevice" operator.
+ This is mainly useful for creating PDF documents.
+* [nt]roff: The "\n[hours]", "\n[minutes]", "\n[seconds]", and "\n[year]"
+ registers have been added to print more parts of the current time.
+* [nr]roff: Availability of extensions is now controlled using an "-xN"
+ option, where "N" is the extension level. The previous "-x" and "-X"
+ options are still accepted.
+* [nt]roff: A "-msafe" macro package has been added; it disables those
+ requests that allow to execute commands or to write to files. It is
+ mainly useful for viewing manual pages.
+* pic: An "-S" option has been added to disable the "sh" element.
+* grap: An "-S" option has been added to disable the "sh" command.
+* nroff: Recognize the "\s'n'" escape sequence and discard it for
+ compatibility with troff.
+* dpost: When writing Type 42 fonts, write the sfnts array in a different
+ order to avoid an error with Acrobat Distiller.
+
+Release 051202
+* [nt]roff: When text is written to a diversion in nofill mode, spacing
+ characters are preserved. This allows the text in the diversion to be
+ adjusted later when it is actually printed. The "-X" option disables
+ the new behavior.
+* [nt]roff: The static limit on the number of if-else constructs has
+ been removed.
+* [nt]roff: The static limit on the number of nested diversions has been
+ removed.
+* [nt]roff: A maximum of 2000 characters (bytes) is now allowed as the
+ total of all arguments to a macro.
+* dpost: The inclusion of PostScript pictures has been fixed; it could
+ generate invalid PostScript programs since release 051025 under certain
+ circumstances.
+* dpost: A "x X PSSetup" device request to support a "\X'PSSetup: ...'"
+ escape sequence has been added. It can be used to include arbitrary
+ PostScript code in the setup section of the output file.
+* dpost/troff -mcolor: CMYK colors and arbitrary PostScript color spaces
+ can now be used. The "setcolor" procedure in "color.ps" has been renamed
+ to "_setcolor" in order to make this possible.
+* [nt]roff: A ".psbb" command is now available to retrieve the bounding box
+ of a PostScript document (particularly of an EPS image).
+* dpost: DSC comments of included EPS images are now preserved.
+* dpost: PostScript pictures that contain binary data can be included now.
+* pic: Troff commands that begin with a "'" are now passed through.
+* grap: Negative zeros in coordinate tick labels are now avoided.
+* -man macros: Fixed the output of a very long line following ".TP".
+* -mdoc macros: Changed the names of Courier fonts to \f(CW \f(CI to
+ match those of troff.
+* RPM package builds now require the new "Heirloom Development Tools"
+ package from <http://heirloom.sourceforge.net/devtools.html> to be
+ installed.
+
+Release 051107
+* The "checknr" utility has been added from OpenSolaris source code.
+* The "ptx" utility has been added from Unix 7th Edition source code.
+* When a locale-dependent or font-specific character was used directly
+ after a macro that ended with a font switch, it was chosen from the
+ old font. This has been fixed.
+* The ".hidechar" request now works correctly if the selected font is
+ not the current font.
+* eqn: More narrow spaces are inserted at some roman/italic font changes
+ now to better match the appearance of the current fonts.
+* grap: The file "grap.defines" has been moved to $(LIBDIR).
+
+Release 051031
+* The "-mpm" macros and the "pm" program have been added from Plan 9 source
+ code. They form a "-ms"-like package for vertical justification; the file
+ "mpm/README" explains some details.
+* eqn: The generated troff program is now resolution-independent; the "-r"
+ option is no longer needed and is ignored.
+* dpost: The elements of overbars, brackets, and braces align better now, in
+ particular in respect to documents distilled by Ghostscript.
+* In the "man" macro package, ".B" and similar font change macros now accept
+ more than six arguments.
+* tbl: The maximum length for "w(...)" width specifications has been raised
+ from 10 to 100.
+* The "make install" procedures of refer and vgrind have been fixed to work
+ with RPM and similar package builds.
+
+Release 051025
+* The "pic" and "grap" utilities have been added from Plan 9 sources.
+* The "vgrind" utility has been added from OpenSolaris sources.
+* "refer" and related utilites have been added from OpenSolaris sources.
+* [nt]roff: The new ".recursionlimit" request allows to change the maximum
+ permitted recursion depth for macro invocations from the default 512.
+
+Release 051015
+* troff, dpost, otfdump: Handle TrueType files with version 3.0 "post" table
+ and no Microsoft/Unicode "cmap" subtable.
+* otfdump: Kerning information was omitted for all but the first font when
+ multiple font file arguments were given. This has been fixed.
+* troff: Fonts that contain possible ligatures (fi, fl, etc.) in their file
+ names are now mounted correctly.
+* dpost: Allow only the glyph at position 0 to be named ".notdef" when
+ generating Type 42 font data.
+* dpost: No longer leaves a stale temporary file in /var/tmp.
+* tbl: Inspects the first 4000 rows of a table now (instead of the first 200)
+ in order to determine column widths and "T{" blocks.
+* tbl: Can handle more than 62 "T{" blocks per table now.
+
+Release 051011
+* troff/dpost: Support for OpenType fonts has been added. This includes
+ support for CFF-based (PostScript) OpenType fonts as well as support for
+ most TrueType fonts.
+* otfdump: New utility that prints the contents of an OpenType font file in
+ an ASCII format just as troff interprets it.
+* troff: A ".ftr" request has been introduced as a font-specific variant of
+ the ".tr" request.
+* troff: A ".feature" request has been introduced to access special features
+ of OpenType fonts.
+* troff: Kerning is now applied to pairs of characters that originate from
+ the same font mounted at two different positions.
+* dpost: Can now access all characters in a large PostScript font, not only
+ the first 255.
+* dpost: If the data in a PFB file to be included does not end with a
+ newline character, add one to the generated PostScript to achieve a
+ consistent DSC structure (Bugreport by Sebastian Leusch).
+* dpost: The limit of characters with "x X" commands has been raised from
+ 50 to 4096. This in particular allows to supply fonts with long path
+ names.
+* The "-mcolor" macros have been added from Plan 9 sources.
+
+Release 050920
+* troff: The handling of locale-dependent characters in copy mode has been
+ fixed. Previously when such a character was given e.g. in an argument to
+ a macro, it was chosen from the font in effect at the time when the macro
+ call was read, instead of the one in effect at the time when the macro
+ was executed.
+* troff: The lookup of kerning pairs from the predefined tables has been
+ fixed. It previously located inappropriate pairs in some cases.
+* troff: Is now more resistent against invalid AFM files whose character
+ count following the "StartCharMetrics" keyword is too large. Previously,
+ no characters outside the default troff character set were accessible
+ with such files.
+* dpost: When an AFM-based font was mounted more than once in troff,
+ localized input characters are now printed properly in all positions.
+ Previously, localized characters were only printed properly on the
+ position that was used first in the document.
+* troff: Several requests for handling fonts did not recognize font names
+ with more than two characters correctly with the "-x" option; they have
+ been fixed.
+* troff: The characters "\(aa", "\(ga", """, "\-", "<", ">", "@", "\", "^",
+ and "~" are now always chosen from the Times Roman special font with
+ AFM-based devices too, as it has been the case with other devices. To get
+ the character from another PostScript font, use the PostScript character
+ name, e.g. "\[less]". In contrast, "\(12", "\(14", and "\(34" are now
+ chosen from the current font, as it has been the case with historic C/A/T
+ output, but not with -Tpost.
+* [nt]roff: The "-mm" macros no longer print "Sun Microsystems" in calls to
+ ".AU" macros and the like.
+* troff: The "\S" escape sequence has been fixed; its use could lead to core
+ dumps with the previous release.
+* troff: The procedure to determine whether to set the "2" value of the
+ "\n(ct" register with AFM fonts should now work properly. This fixes the
+ position of accents above lower-case characters with eqn.
+* dpost: The maximum number of fonts that can appear in a single PostScript
+ output file has been raised to 1536.
+* eqn: All Greek upper-case letters, i.e. "ALPHA", "BETA", etc. are now
+ recognized.
+* [nt]roff: The escape sequence \U'n' sets the character at Unicode position
+ "U+n", where "n" is a hexadecimal number.
+
+Release 050915
+* troff: Can now directly handle .afm/.pfb/.pfa files (i.e. PostScript
+ Type 1 fonts) to select fonts. The ".fp" request has been extended
+ for this, and the "TROFFONTS" environment variable specifies path
+ names to search for font files. See the file "FONTS" for details.
+* troff: Can now handle Type 42 fonts (i.e. TrueType fonts that have been
+ converted for use by PostScript interpreters).
+* troff: Handles input characters according to LC_CTYPE now in combination
+ with the new font setup. In a UTF-8 locale, most characters that are
+ present in standard, Expert, and Symbol PostScript fonts are supported;
+ otherwise, a locale-specific subset of them is available.
+* troff: A PostScript device with a resolution of 72000 dpi, named "ps",
+ is available, and is used by default.
+* troff: Support for pairwise kerning has been added. The default tables
+ are read from the AFM files. In addition, a ".kernpair" request has been
+ introduced to add or replace kerning pairs; it can construct kerning
+ pairs for characters from different fonts. The ".kernafter" and
+ ".kernbefore" requests add a constant amount of space to specific
+ characters.
+* dpost: The PostScript output is now expected to conform to Adobe's
+ Document Structuring Conventions, version 3.0.
+* dpost: PDF Bookmarks, titles and authorship information can be included
+ into the generated PostScript for further processing by the distiller
+ utility. See the file "PDFS" for details.
+* [nt]roff: Hyphenation for languages other than English has been added
+ using the "libhnj" variant from the OpenOffice project. The ".hylang"
+ request has been introduced to select between languages. Hyphenation
+ files have been derived from TeX sources.
+* troff: The paper size can be selected with the ".papersize" request.
+ This is important for correct placement of pages on PostScript printers.
+* troff: Any point size can now be used with PostScript devices, including
+ fractional sizes.
+* troff: The ".fzoom" request allows to zoom the characters of a font.
+* troff: Hanging characters are supported.
+* [nt]roff: The ".lc_ctype" request can be used to set the LC_CTYPE
+ localization setting from within a document.
+* troff: It is now possible to use "\[name]", where name is a character
+ defined in the .afm file for the current font.
+* troff: The ".track" request for tracking letter space has been added.
+* troff: The ".fallback" request for selecting the order in which fonts
+ are searched for missing characters in the current font has been added.
+* troff: The ".hidechar" request hides characters from a font which are
+ then searched using the fallback sequence.
+* troff: Ligatures from expert fonts can be used transparently with the
+ ".flig" request.
+* [nt]roff: Environments selected with the ".ev" command can be given
+ names, and their number is no longer statically limited.
+* [nt]roff: The ".evc" request copies another environment to the current
+ one.
+* [nt]roff: The ".chop" request deletes the last character from a macro,
+ string, or diversion.
+* [nt]roff: The ".return" request returns immediately from a macro.
+* [nt]roff: The "\:" escape inserts an optional line break but generates
+ no hyphen if the line is split.
+* [nt]roff: The "\~" escape is similar to "\ " but inserts a space that
+ stretches like a regular " " when the line is adjusted.
+* [nt]roff: The "\E" escape is similar to "\e" but is not interpreted in
+ copy mode.
+* [nt]roff: The ".shift" request shifts the arguments to a macro.
+* [nt]roff: The "\$(.." and "\$[...]" escapes can be used to refer to
+ macro arguments.
+* troff/dpost: The "\X'Sync'" escape forces dpost to write position and
+ font information to the generated PostScript. This is sometimes useful
+ to ensure that following "\X'PS: ...'" escapes work as expected.
+* troff: The "-a" option now generates locale-dependent output, with best
+ results in UTF-8 locales.
+* The "-mpictures" macros have been added from Plan 9 sources.
+* The "picpack" preprocessor has been added.
+* eqn: The default resolution has been changed to 72000 dpi to match that
+ of troff. The "-r" option was introduced to change it.
+* eqn: Handles "\[]" and "\*[]" now.
+* troff, dpost: Device and font descriptions are now read directly from
+ text files; the "makedev" utility is no longer needed.
+* [nt]roff: The ".xflag" request controls the availability of extensions
+ like the "-x" and "-X" command line options.
+* The file "NEWS" describes new troff language features.
+* tbl: The specification "decimalpoint(x)" can now be used to make the
+ character "x" the decimal point for numeric columns.
+* tbl: There can now be up to 100 columns in a table.
+* [nt]roff: There is no static limit on the number of "-m" options anymore.
+* [nt]roff: There is no static limit on the ".hw" table anymore.
+* [nt]roff: There is no static limit on the pushback buffer anymore; this
+ makes it possible to use longer arguments to macros.
+* [nt]roff: The output of long names with ".pm" and stack dumps has been
+ fixed.
+* [nt]roff: Nested long-name string references \*[\*...] now work.
+* [nt]roff: Tabulators as in ".XY\t" are now correctly handled with -x.
+* The "-man" macro no longer produces cut marks when used with troff.
+* tbl: Two bugs that had been introduced with support for lines of unlimited
+ length have been fixed. They resulted in printing a stray character when
+ more than one input file was used, and in improper handling of input lines
+ continued with a backslash.
+* A new malloc() replacement has been added for performance reasons.
+* A bug in the previously supplied realloc() replacement could result in
+ heap corruption.
+
+Release 050816
+* nroff: A special terminal name, -Tlocale, has been introduced. With this
+ option, UTF-8 output is generated if permitted by the current LC_CTYPE
+ locale, and regular -Tlp output otherwise.
+* [nt]roff: A new option, "-x", enables the recognition of extended
+ features that may affect compatibility with previous versions. The "-X"
+ option disables these features; this is currently the default. Note
+ that the features enabled with -x are under development and subject
+ to change.
+* [nt]roff: With the -x option, it is now possible to use ".de", ".ds",
+ ".nr", and similar requests with more than two-character name arguments,
+ as in ".de longname", and to access such macros later with ".longname",
+ strings with "\*[longname]", and number registers with "\n[longname]".
+* [nt]roff: The "\$@" and "\$*" escape sequences to print all arguments
+ to a macro are now understood with the -x option.
+* troff: The ".ss" command now accepts a second numeric argument with the
+ -x option. If it is zero, no second space character is printed between
+ sentences. Otherwise, a second space character with the same width as
+ the first one is printed.
+* [nt]roff: The static block list limit NBLIST has been removed, memory
+ is now dynamically allocated as needed.
+* [nt]roff: There is no static limit on the number of macros/strings and
+ the number of number registers anymore.
+* -man: A defect in the supplied -man macro package caused headers and
+ footers to be garbled when they were printed between parts of a tbl table
+ that was split across pages.
+
+Release 050813
+* Initial release.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000000000..e290446ffa05b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,345 @@
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL)Version 1.1
+
+1. Definitions.
+
+ 1.1. "Contributor" means each individual or entity that creates or
+ contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original Software,
+ prior Modifications used by a Contributor (if any), and the
+ Modifications made by that particular Contributor.
+
+ 1.3. "Covered Software" means (a) the Original Software, or (b)
+ Modifications, or (c) the combination of files containing Original
+ Software with files containing Modifications, in each case including
+ portions thereof.
+
+ 1.4. "Executable" means the Covered Software in any form other than Source
+ Code.
+
+ 1.5. "Initial Developer" means the individual or entity that first makes
+ Original Software available under this License.
+
+ 1.6. "Larger Work" means a work which combines Covered Software or portions
+ thereof with code not governed by the terms of this License.
+
+ 1.7. "License" means this document.
+
+ 1.8. "Licensable" means having the right to grant, to the maximum extent
+ possible, whether at the time of the initial grant or subsequently
+ acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means the Source Code and Executable form of any of
+ the following:
+
+ A. Any file that results from an addition to, deletion from or modification
+ of the contents of a file containing Original Software or previous
+ Modifications;
+
+ B. Any new file that contains any part of the Original Software or previous
+ Modification; or
+
+ C. Any new file that is contributed or otherwise made available under the
+ terms of this License.
+
+ 1.10. "Original Software" means the Source Code and Executable form of
+ computer software code that is originally released under this
+ License.
+
+ 1.11. "Patent Claims" means any patent claim(s), now owned or hereafter
+ acquired, including without limitation, method, process, and
+ apparatus claims, in any patent Licensable by grantor.
+
+ 1.12. "Source Code" means (a) the common form of computer software code in
+ which modifications are made and (b) associated documentation
+ included in or with such code.
+
+ 1.13. "You" (or "Your") means an individual or a legal entity exercising
+ rights under, and complying with all of the terms of, this License.
+ For legal entities, "You" includes any entity which controls, is
+ controlled by, or is under common control with You. For purposes of
+ this definition, "control" means (a) the power, direct or indirect,
+ to cause the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty percent
+ (50%) of the outstanding shares or beneficial ownership of such
+ entity.
+
+2. License Grants.
+
+ 2.1. The Initial Developer Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and subject to
+ third party intellectual property claims, the Initial Developer hereby
+ grants You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Initial Developer, to use, reproduce, modify, display,
+ perform, sublicense and distribute the Original Software (or portions
+ thereof), with or without Modifications, and/or as part of a Larger
+ Work; and
+
+ (b) under Patent Claims infringed by the making, using or selling of
+ Original Software, to make, have made, use, practice, sell, and offer
+ for sale, and/or otherwise dispose of the Original Software (or
+ portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are effective on the
+ date Initial Developer first distributes or otherwise makes the
+ Original Software available to a third party under the terms of this
+ License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is granted:
+ (1) for code that You delete from the Original Software, or (2) for
+ infringements caused by: (i) the modification of the Original
+ Software, or (ii) the combination of the Original Software with other
+ software or devices.
+
+ 2.2. Contributor Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and subject to
+ third party intellectual property claims, each Contributor hereby grants
+ You a world-wide, royalty-free, non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or trademark)
+ Licensable by Contributor to use, reproduce, modify, display, perform,
+ sublicense and distribute the Modifications created by such Contributor
+ (or portions thereof), either on an unmodified basis, with other
+ Modifications, as Covered Software and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or selling of
+ Modifications made by that Contributor either alone and/or in
+ combination with its Contributor Version (or portions of such
+ combination), to make, use, sell, offer for sale, have made, and/or
+ otherwise dispose of: (1) Modifications made by that Contributor (or
+ portions thereof); and (2) the combination of Modifications made by
+ that Contributor with its Contributor Version (or portions of such
+ combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on
+ the date Contributor first distributes or otherwise makes the
+ Modifications available to a third party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is granted:
+ (1) for any code that Contributor has deleted from the Contributor
+ Version; (2) for infringements caused by: (i) third party modifications
+ of Contributor Version, or (ii) the combination of Modifications made
+ by that Contributor with other software (except as part of the
+ Contributor Version) or other devices; or (3) under Patent Claims
+ infringed by Covered Software in the absence of Modifications made by
+ that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make available in
+ Executable form must also be made available in Source Code form and that
+ Source Code form must be distributed only under the terms of this License.
+ You must include a copy of this License with every copy of the Source Code
+ form of the Covered Software You distribute or otherwise make available.
+ You must inform recipients of any such Covered Software in Executable form
+ as to how they can obtain such Covered Software in Source Code form in a
+ reasonable manner on or through a medium customarily used for software
+ exchange.
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You contribute are governed
+ by the terms of this License. You represent that You believe Your
+ Modifications are Your original creation(s) and/or You have sufficient
+ rights to grant the rights conveyed by this License.
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications that identifies You
+ as the Contributor of the Modification. You may not remove or alter any
+ copyright, patent or trademark notices contained within the Covered
+ Software, or any notices of licensing or any descriptive text giving
+ attribution to any Contributor or the Initial Developer.
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered Software in Source
+ Code form that alters or restricts the applicable version of this License
+ or the recipients' rights hereunder. You may choose to offer, and to charge
+ a fee for, warranty, support, indemnity or liability obligations to one or
+ more recipients of Covered Software. However, you may do so only on Your
+ own behalf, and not on behalf of the Initial Developer or any Contributor.
+ You must make it absolutely clear that any such warranty, support,
+ indemnity or liability obligation is offered by You alone, and You hereby
+ agree to indemnify the Initial Developer and every Contributor for any
+ liability incurred by the Initial Developer or such Contributor as a
+ result of warranty, support, indemnity or liability terms You offer.
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered Software under the
+ terms of this License or under the terms of a license of Your choice, which
+ may contain terms different from this License, provided that You are in
+ compliance with the terms of this License and that the license for the
+ Executable form does not attempt to limit or alter the recipient's rights
+ in the Source Code form from the rights set forth in this License. If You
+ distribute the Covered Software in Executable form under a different
+ license, You must make it absolutely clear that any terms which differ from
+ this License are offered by You alone, not by the Initial Developer or
+ Contributor. You hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial Developer or such
+ Contributor as a result of any such terms You offer.
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software with other code
+ not governed by the terms of this License and distribute the Larger Work as
+ a single product. In such a case, You must make sure the requirements of
+ this License are fulfilled for the Covered Software.
+
+4. Versions of the License.
+
+ 4.1. New Versions.
+
+ Oracle is the initial license steward and may publish revised and/or new
+ versions of this License from time to time. Each version will be given a
+ distinguishing version number. Except as provided in Section 4.3, no one
+ other than the license steward has the right to modify this License.
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise make the Covered
+ Software available under the terms of the version of the License under
+ which You originally received the Covered Software. If the Initial
+ Developer includes a notice in the Original Software prohibiting it from
+ being distributed or otherwise made available under any subsequent version
+ of the License, You must distribute and make the Covered Software available
+ under the terms of the version of the License under which You originally
+ received the Covered Software. Otherwise, You may also choose to use,
+ distribute or otherwise make the Covered Software available under the terms
+ of any subsequent version of the License published by the license steward.
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a new license for
+ Your Original Software, You may create and use a modified version of this
+ License if You: (a) rename the license and remove any references to the
+ name of the license steward (except to note that the license differs from
+ this License); and (b) otherwise make it clear that the license contains
+ terms which differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED SOFTWARE IS FREE OF
+ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE
+ ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED SOFTWARE IS
+ WITH YOU. SHOULD ANY COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU
+ (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
+ NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY
+ CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED
+ SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+6. TERMINATION.
+
+ 6.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to cure
+ such breach within 30 days of becoming aware of the breach. Provisions
+ which, by their nature, must remain in effect beyond the termination
+ of this License shall survive.
+
+ 6.2. If You assert a patent infringement claim (excluding declaratory
+ judgment actions) against Initial Developer or a Contributor (the
+ Initial Developer or Contributor against whom You assert such claim is
+ referred to as "Participant") alleging that the Participant Software
+ (meaning the Contributor Version where the Participant is a
+ Contributor or the Original Software where the Participant is the
+ Initial Developer) directly or indirectly infringes any patent, then
+ any and all rights granted directly or indirectly to You by such
+ Participant, the Initial Developer (if the Initial Developer is not
+ the Participant) and all Contributors under Sections 2.1 and/or 2.2 of
+ this License shall, upon 60 days notice from Participant terminate
+ prospectively and automatically at the expiration of such 60 day
+ notice period, unless if within such 60 day period You withdraw Your
+ claim with respect to the Participant Software against such
+ Participant either unilaterally or pursuant to a written agreement
+ with Participant.
+
+ 6.3. If You assert a patent infringement claim against Participant alleging
+ that the Participant Software directly or indirectly infringes any
+ patent where such claim is resolved (such as by license or settlement)
+ prior to the initiation of patent infringement litigation, then the
+ reasonable value of the licenses granted by such Participant under
+ Sections 2.1 or 2.2 shall be taken into account in determining the
+ amount or value of any payment or license.
+
+ 6.4. In the event of termination under Sections 6.1 or 6.2 above, all end
+ user licenses that have been validly granted by You or any distributor
+ hereunder prior to termination (excluding licenses granted to You by
+ any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING
+ NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY
+ OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED SOFTWARE, OR ANY SUPPLIER
+ OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL,
+ INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE
+ OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF
+ SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES.
+ THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR
+ PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
+ APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW
+ THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS
+ EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a "commercial item," as that term is defined in 48
+ C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" (as
+ that term is defined at 48 C.F.R. § 252.227-7014(a)(1)) and "commercial
+ computer software documentation" as such terms are used in 48 C.F.R. 12.212
+ (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1
+ through 227.7202-4 (June 1995), all U.S. Government End Users acquire
+ Covered Software with only those rights set forth herein. This U.S.
+ Government Rights clause is in lieu of, and supersedes, any other FAR,
+ DFAR, or other clause or provision that addresses Government rights in
+ computer software under this License.
+
+9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject matter
+ hereof. If any provision of this License is held to be unenforceable, such
+ provision shall be reformed only to the extent necessary to make it
+ enforceable. This License shall be governed by the law of the jurisdiction
+ specified in a notice contained within the Original Software (except to the
+ extent applicable law, if any, provides otherwise), excluding such
+ jurisdiction's conflict-of-law provisions. Any litigation relating to this
+ License shall be subject to the jurisdiction of the courts located in the
+ jurisdiction and venue specified in a notice contained within the Original
+ Software, with the losing party responsible for costs, including, without
+ limitation, court costs and reasonable attorneys' fees and expenses. The
+ application of the United Nations Convention on Contracts for the
+ International Sale of Goods is expressly excluded. Any law or regulation
+ which provides that the language of a contract shall be construed against
+ the drafter shall not apply to this License. You agree that You alone are
+ responsible for compliance with the United States export administration
+ regulations (and the export control laws and regulation of any other
+ countries) when You use, distribute or otherwise make available any Covered
+ Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or indirectly, out of
+ its utilization of rights under this License and You agree to work with
+ Initial Developer and Contributors to distribute such responsibility on an
+ equitable basis. Nothing herein is intended or shall be deemed to
+ constitute any admission of liability.
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND DISTRIBUTION LICENSE
+(CDDL)
+
+The code released under the CDDL shall be governed by the laws of the State of
+California (excluding conflict-of-law provisions). Any litigation relating to
+this License shall be subject to the jurisdiction of the Federal Courts of the
+Northern District of California and the state courts of the State of
+California, with venue lying in Santa Clara County, California.
diff --git a/LICENSE.d/BERKELEY.LICENSE b/LICENSE.d/BERKELEY.LICENSE
new file mode 100644
index 0000000000000..f538faf82561b
--- /dev/null
+++ b/LICENSE.d/BERKELEY.LICENSE
@@ -0,0 +1,30 @@
+Copyright (c) 1980, 1993
+ The Regents of the University of California. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. All advertising materials mentioning features or use of this software
+ must display the following acknowedgement:
+ This product includes software developed by the University of
+ California, Berkeley and its contributors.
+4. Neither the name of the University nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/LICENSE.d/CALDERA.LICENSE b/LICENSE.d/CALDERA.LICENSE
new file mode 100644
index 0000000000000..aa0ed95f222fe
--- /dev/null
+++ b/LICENSE.d/CALDERA.LICENSE
@@ -0,0 +1,31 @@
+Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+ Redistributions of source code and documentation must retain the
+ above copyright notice, this list of conditions and the following
+ disclaimer.
+ Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ All advertising materials mentioning features or use of this software
+ must display the following acknowledgement:
+ This product includes software developed or owned by Caldera
+ International, Inc.
+ Neither the name of Caldera International, Inc. nor the names of
+ other contributors may be used to endorse or promote products
+ derived from this software without specific prior written permission.
+
+USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSE.d/COPYING.LGPL b/LICENSE.d/COPYING.LGPL
new file mode 100644
index 0000000000000..b1e3f5a263879
--- /dev/null
+++ b/LICENSE.d/COPYING.LGPL
@@ -0,0 +1,504 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library 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.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public 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.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
diff --git a/LICENSE.d/LPPL-1-0.LICENSE b/LICENSE.d/LPPL-1-0.LICENSE
new file mode 100644
index 0000000000000..9425aab83cd55
--- /dev/null
+++ b/LICENSE.d/LPPL-1-0.LICENSE
@@ -0,0 +1,211 @@
+LaTeX Project Public License
+============================
+
+LPPL Version 1.0 1999-03-01
+
+Copyright 1999 LaTeX3 Project
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but modification is not allowed.
+
+
+Preamble
+========
+
+The LaTeX Project Public License (LPPL) is the license under which the
+base LaTeX distribution is distributed. As described below you may use
+this licence for any software that you wish to distribute.
+
+It may be particularly suitable if your software is TeX related (such
+as a LaTeX package file) but it may be used for any software, even if
+it is unrelated to TeX.
+
+To use this license, the files of your distribution should have an
+explicit copyright notice giving your name and the year, together
+with a reference to this license.
+
+A typical example would be
+
+ %% pig.sty
+ %% Copyright 2001 M. Y. Name
+
+ % This program can redistributed and/or modified under the terms
+ % of the LaTeX Project Public License Distributed from CTAN
+ % archives in directory macros/latex/base/lppl.txt; either
+ % version 1 of the License, or (at your option) any later version.
+
+Given such a notice in the file, the conditions of this document would
+apply, with:
+
+`The Program' referring to the software `pig.sty' and
+`The Copyright Holder' referring to the person `M. Y. Name'.
+
+To see a real example, see the file legal.txt which carries the
+copyright notice for the base latex distribution.
+
+This license gives terms under which files of The Program may be
+distributed and modified. Individual files may have specific further
+constraints on modification, but no file should have restrictions on
+distribution other than those specified below.
+This is to ensure that a distributor wishing to distribute a complete
+unmodified copy of The Program need only check the conditions in this
+file, and does not need to check every file in The Program for extra
+restrictions. If you do need to modify the distribution terms of some
+files, do not refer to this license, instead distribute The Program
+under a different license. You may use the parts of the text of LPPL as
+a model for your own license, but your license should not directly refer
+to the LPPL or otherwise give the impression that The Program is
+distributed under the LPPL.
+
+
+
+The LaTeX Project Public License
+================================
+Terms And Conditions For Copying, Distribution And Modification
+===============================================================
+
+
+WARRANTY
+========
+
+There is no warranty for The Program, to the extent permitted by
+applicable law. Except when otherwise stated in writing, The
+Copyright Holder provides The Program `as is' without warranty of any
+kind, either expressed or implied, including, but not limited to, the
+implied warranties of merchantability and fitness for a particular
+purpose. The entire risk as to the quality and performance of the
+program is with you. Should The Program prove defective, you assume
+the cost of all necessary servicing, repair or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any of the individual authors named in
+the source for The Program, be liable to you for damages, including
+any general, special, incidental or consequential damages arising out
+of any use of The Program or out of inability to use The Program
+(including but not limited to loss of data or data being rendered
+inaccurate or losses sustained by you or by third parties as a result
+of a failure of The Program to operate with any other programs), even
+if such holder or other party has been advised of the possibility of
+such damages.
+
+
+DISTRIBUTION
+============
+
+Redistribution of unchanged files is allowed provided that all files
+that make up the distribution of The Program are distributed.
+In particular this means that The Program has to be distributed
+including its documentation if documentation was part of the original
+distribution.
+
+The distribution of The Program will contain a prominent file
+listing all the files covered by this license.
+
+If you receive only some of these files from someone, complain!
+
+The distribution of changed versions of certain files included in the
+The Program, and the reuse of code from The Program, are allowed
+under the following restrictions:
+
+ * It is allowed only if the legal notice in the file does not
+ expressly forbid it.
+ See note below, under "Conditions on individual files".
+
+ * You rename the file before you make any changes to it, unless the
+ file explicitly says that renaming is not required. Any such changed
+ files must be distributed under a license that forbids distribution
+ of those files, and any files derived from them, under the names used
+ by the original files in the distribution of The Program.
+
+ * You change any `identification string' in The Program to clearly
+ indicate that the file is not part of the standard system.
+
+ * If The Program includes an `error report address' so that errors
+ may be reported to The Copyright Holder, or other specified
+ addresses, this address must be changed in any modified versions of
+ The Program, so that reports for files not maintained by the
+ original program maintainers are directed to the maintainers of the
+ changed files.
+
+ * You acknowledge the source and authorship of the original version
+ in the modified file.
+
+ * You also distribute the unmodified version of the file or
+ alternatively provide sufficient information so that the
+ user of your modified file can be reasonably expected to be
+ able to obtain an original, unmodified copy of The Program.
+ For example, you may specify a URL to a site that you expect
+ will freely provide the user with a copy of The Program (either
+ the version on which your modification is based, or perhaps a
+ later version).
+
+ * If The Program is intended to be used with, or is based on, LaTeX,
+ then files with the following file extensions which have special
+ meaning in LaTeX Software, have special modification rules under the
+ license:
+
+ - Files with extension `.ins' (installation files): these files may
+ not be modified at all because they contain the legal notices
+ that are placed in the generated files.
+
+ - Files with extension `.fd' (LaTeX font definitions files): these
+ files are allowed to be modified without changing the name, but
+ only to enable use of all available fonts and to prevent attempts
+ to access unavailable fonts. However, modified files are not
+ allowed to be distributed in place of original files.
+
+ - Files with extension `.cfg' (configuration files): these files
+ can be created or modified to enable easy configuration of the
+ system. The documentation in cfgguide.tex in the base LaTeX
+ distribution describes when it makes sense to modify or generate
+ such files.
+
+
+The above restrictions are not intended to prohibit, and hence do
+not apply to, the updating, by any method, of a file so that it
+becomes identical to the latest version of that file in The Program.
+
+========================================================================
+
+NOTES
+=====
+
+We believe that these requirements give you the freedom you to make
+modifications that conform with whatever technical specifications you
+wish, whilst maintaining the availability, integrity and reliability of
+The Program. If you do not see how to achieve your goal whilst
+adhering to these requirements then read the document cfgguide.tex
+in the base LaTeX distribution for suggestions.
+
+Because of the portability and exchangeability aspects of systems
+like LaTeX, The LaTeX3 Project deprecates the distribution of
+non-standard versions of components of LaTeX or of generally available
+contributed code for them but such distributions are permitted under the
+above restrictions.
+
+The document modguide.tex in the base LaTeX distribution details
+the reasons for the legal requirements detailed above.
+Even if The Program is unrelated to LaTeX, the argument in
+modguide.tex may still apply, and should be read before
+a modified version of The Program is distributed.
+
+
+Conditions on individual files
+==============================
+
+The individual files may bear additional conditions which supersede
+the general conditions on distribution and modification contained in
+this file. If there are any such files, the distribution of The
+Program will contain a prominent file that lists all the exceptional
+files.
+
+Typical examples of files with more restrictive modification
+conditions would be files that contain the text of copyright notices.
+
+ * The conditions on individual files differ only in the
+ extent of *modification* that is allowed.
+
+ * The conditions on *distribution* are the same for all the files.
+ Thus a (re)distributor of a complete, unchanged copy of The Program
+ need meet only the conditions in this file; it is not necessary to
+ check the header of every file in the distribution to check that a
+ distribution meets these requirements.
diff --git a/LICENSE.d/LUCENT.LICENSE b/LICENSE.d/LUCENT.LICENSE
new file mode 100644
index 0000000000000..a5d7d87d79f0a
--- /dev/null
+++ b/LICENSE.d/LUCENT.LICENSE
@@ -0,0 +1,258 @@
+The Plan 9 software is provided under the terms of the
+Lucent Public License, Version 1.02, reproduced below,
+with the following exceptions:
+
+1. No right is granted to create derivative works of or
+ to redistribute (other than with the Plan 9 Operating System)
+ the screen imprinter fonts identified in subdirectory
+ /lib/font/bit/lucida and printer fonts (Lucida Sans Unicode, Lucida
+ Sans Italic, Lucida Sans Demibold, Lucida Typewriter, Lucida Sans
+ Typewriter83), identified in subdirectory /sys/lib/postscript/font.
+ These directories contain material copyrights by B&H Inc. and Y&Y Inc.
+
+2. The printer fonts identified in subdirectory /sys/lib/ghostscript/font
+ are subject to the GNU GPL, reproduced in the file /LICENSE.gpl.
+
+3. The ghostscript program in the subdirectory /sys/src/cmd/gs is
+ covered by the Aladdin Free Public License, reproduced in the file
+ /LICENSE.afpl.
+
+===================================================================
+
+Lucent Public License Version 1.02
+
+THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC
+LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
+PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original
+ Program, and
+ b. in the case of each Contributor,
+
+ i. changes to the Program, and
+ ii. additions to the Program;
+
+ where such changes and/or additions to the Program were added to the
+ Program by such Contributor itself or anyone acting on such
+ Contributor's behalf, and the Contributor explicitly consents, in
+ accordance with Section 3C, to characterization of the changes and/or
+ additions as Contributions.
+
+"Contributor" means LUCENT and any other entity that has Contributed a
+Contribution to the Program.
+
+"Distributor" means a Recipient that distributes the Program,
+modifications to the Program, or any part thereof.
+
+"Licensed Patents" mean patent claims licensable by a Contributor
+which are necessarily infringed by the use or sale of its Contribution
+alone or when combined with the Program.
+
+"Original Program" means the original version of the software
+accompanying this Agreement as released by LUCENT, including source
+code, object code and documentation, if any.
+
+"Program" means the Original Program and Contributions or any part
+thereof
+
+"Recipient" means anyone who receives the Program under this
+Agreement, including all Contributors.
+
+2. GRANT OF RIGHTS
+
+ a. Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare derivative works of, publicly display,
+ publicly perform, distribute and sublicense the Contribution of such
+ Contributor, if any, and such derivative works, in source code and
+ object code form.
+
+ b. Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor, if
+ any, in source code and object code form. The patent license granted
+ by a Contributor shall also apply to the combination of the
+ Contribution of that Contributor and the Program if, at the time the
+ Contribution is added by the Contributor, such addition of the
+ Contribution causes such combination to be covered by the Licensed
+ Patents. The patent license granted by a Contributor shall not apply
+ to (i) any other combinations which include the Contribution, nor to
+ (ii) Contributions of other Contributors. No hardware per se is
+ licensed hereunder.
+
+ c. Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity. Each
+ Contributor disclaims any liability to Recipient for claims brought by
+ any other entity based on infringement of intellectual property rights
+ or otherwise. As a condition to exercising the rights and licenses
+ granted hereunder, each Recipient hereby assumes sole responsibility
+ to secure any other intellectual property rights needed, if any. For
+ example, if a third party patent license is required to allow
+ Recipient to distribute the Program, it is Recipient's responsibility
+ to acquire that license before distributing the Program.
+
+ d. Each Contributor represents that to its knowledge it has sufficient
+ copyright rights in its Contribution, if any, to grant the copyright
+ license set forth in this Agreement.
+
+3. REQUIREMENTS
+
+A. Distributor may choose to distribute the Program in any form under
+this Agreement or under its own license agreement, provided that:
+
+ a. it complies with the terms and conditions of this Agreement;
+
+ b. if the Program is distributed in source code or other tangible
+ form, a copy of this Agreement or Distributor's own license agreement
+ is included with each copy of the Program; and
+
+ c. if distributed under Distributor's own license agreement, such
+ license agreement:
+
+ i. effectively disclaims on behalf of all Contributors all warranties
+ and conditions, express and implied, including warranties or
+ conditions of title and non-infringement, and implied warranties or
+ conditions of merchantability and fitness for a particular purpose;
+ ii. effectively excludes on behalf of all Contributors all liability
+ for damages, including direct, indirect, special, incidental and
+ consequential damages, such as lost profits; and
+ iii. states that any provisions which differ from this Agreement are
+ offered by that Contributor alone and not by any other party.
+
+B. Each Distributor must include the following in a conspicuous
+ location in the Program:
+
+ Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights
+ Reserved.
+
+C. In addition, each Contributor must identify itself as the
+originator of its Contribution in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution.
+Also, each Contributor must agree that the additions and/or changes
+are intended to be a Contribution. Once a Contribution is contributed,
+it may not thereafter be revoked.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain
+responsibilities with respect to end users, business partners and the
+like. While this license is intended to facilitate the commercial use
+of the Program, the Distributor who includes the Program in a
+commercial product offering should do so in a manner which does not
+create potential liability for Contributors. Therefore, if a
+Distributor includes the Program in a commercial product offering,
+such Distributor ("Commercial Distributor") hereby agrees to defend
+and indemnify every Contributor ("Indemnified Contributor") against
+any losses, damages and costs (collectively"Losses") arising from
+claims, lawsuits and other legal actions brought by a third party
+against the Indemnified Contributor to the extent caused by the acts
+or omissions of such Commercial Distributor in connection with its
+distribution of the Program in a commercial product offering. The
+obligations in this section do not apply to any claims or Losses
+relating to any actual or alleged intellectual property infringement.
+In order to qualify, an Indemnified Contributor must: a) promptly
+notify the Commercial Distributor in writing of such claim, and b)
+allow the Commercial Distributor to control, and cooperate with the
+Commercial Distributor in, the defense and any related settlement
+negotiations. The Indemnified Contributor may participate in any such
+claim at its own expense.
+
+For example, a Distributor might include the Program in a commercial
+product offering, Product X. That Distributor is then a Commercial
+Distributor. If that Commercial Distributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Distributor's responsibility
+alone. Under this section, the Commercial Distributor would have to
+defend claims against the Contributors related to those performance
+claims and warranties, and if a court requires any Contributor to pay
+any damages as a result, the Commercial Distributor must pay those
+damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
+PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
+WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
+OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+responsible for determining the appropriateness of using and
+distributing the Program and assumes all risks associated with its
+exercise of rights under this Agreement, including but not limited to
+the risks and costs of program errors, compliance with applicable
+laws, damage to or loss of data, programs or equipment, and
+unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
+ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
+WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
+DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
+HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. EXPORT CONTROL
+
+Recipient agrees that Recipient alone is responsible for compliance
+with the United States export administration regulations (and the
+export control laws and regulation of any other countries).
+
+8. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against a Contributor with
+respect to a patent applicable to software (including a cross-claim or
+counterclaim in a lawsuit), then any patent licenses granted by that
+Contributor to such Recipient under this Agreement shall terminate as
+of the date such litigation is filed. In addition, if Recipient
+institutes patent litigation against any entity (including a
+cross-claim or counterclaim in a lawsuit) alleging that the Program
+itself (excluding combinations of the Program with other software or
+hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any licenses
+granted by Recipient relating to the Program shall continue and
+survive.
+
+LUCENT may publish new versions (including revisions) of this
+Agreement from time to time. Each new version of the Agreement will be
+given a distinguishing version number. The Program (including
+Contributions) may always be distributed subject to the version of the
+Agreement under which it was received. In addition, after a new
+version of the Agreement is published, Contributor may elect to
+distribute the Program (including its Contributions) under the new
+version. No one other than LUCENT has the right to modify this
+Agreement. Except as expressly stated in Sections 2(a) and 2(b) above,
+Recipient receives no rights or licenses to the intellectual property
+of any Contributor under this Agreement, whether expressly, by
+implication, estoppel or otherwise. All rights in the Program not
+expressly granted under this Agreement are reserved.
+
+This Agreement is governed by the laws of the State of New York and
+the intellectual property laws of the United States of America. No
+party to this Agreement will bring a legal action under this Agreement
+more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.
+
diff --git a/LICENSE.d/OPENSOLARIS.LICENSE b/LICENSE.d/OPENSOLARIS.LICENSE
new file mode 100644
index 0000000000000..535dec222d731
--- /dev/null
+++ b/LICENSE.d/OPENSOLARIS.LICENSE
@@ -0,0 +1,385 @@
+Unless otherwise noted, all files in this distribution are released
+under the Common Development and Distribution License (CDDL),
+Version 1.0 only. Exceptions are noted within the associated
+source files.
+
+--------------------------------------------------------------------
+
+
+COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0
+
+1. Definitions.
+
+ 1.1. "Contributor" means each individual or entity that creates
+ or contributes to the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original
+ Software, prior Modifications used by a Contributor (if any),
+ and the Modifications made by that particular Contributor.
+
+ 1.3. "Covered Software" means (a) the Original Software, or (b)
+ Modifications, or (c) the combination of files containing
+ Original Software with files containing Modifications, in
+ each case including portions thereof.
+
+ 1.4. "Executable" means the Covered Software in any form other
+ than Source Code.
+
+ 1.5. "Initial Developer" means the individual or entity that first
+ makes Original Software available under this License.
+
+ 1.6. "Larger Work" means a work which combines Covered Software or
+ portions thereof with code not governed by the terms of this
+ License.
+
+ 1.7. "License" means this document.
+
+ 1.8. "Licensable" means having the right to grant, to the maximum
+ extent possible, whether at the time of the initial grant or
+ subsequently acquired, any and all of the rights conveyed
+ herein.
+
+ 1.9. "Modifications" means the Source Code and Executable form of
+ any of the following:
+
+ A. Any file that results from an addition to, deletion from or
+ modification of the contents of a file containing Original
+ Software or previous Modifications;
+
+ B. Any new file that contains any part of the Original
+ Software or previous Modifications; or
+
+ C. Any new file that is contributed or otherwise made
+ available under the terms of this License.
+
+ 1.10. "Original Software" means the Source Code and Executable
+ form of computer software code that is originally released
+ under this License.
+
+ 1.11. "Patent Claims" means any patent claim(s), now owned or
+ hereafter acquired, including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by
+ grantor.
+
+ 1.12. "Source Code" means (a) the common form of computer software
+ code in which modifications are made and (b) associated
+ documentation included in or with such code.
+
+ 1.13. "You" (or "Your") means an individual or a legal entity
+ exercising rights under, and complying with all of the terms
+ of, this License. For legal entities, "You" includes any
+ entity which controls, is controlled by, or is under common
+ control with You. For purposes of this definition,
+ "control" means (a) the power, direct or indirect, to cause
+ the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty
+ percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants.
+
+ 2.1. The Initial Developer Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, the Initial
+ Developer hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Initial Developer, to use,
+ reproduce, modify, display, perform, sublicense and
+ distribute the Original Software (or portions thereof),
+ with or without Modifications, and/or as part of a Larger
+ Work; and
+
+ (b) under Patent Claims infringed by the making, using or
+ selling of Original Software, to make, have made, use,
+ practice, sell, and offer for sale, and/or otherwise
+ dispose of the Original Software (or portions thereof).
+
+ (c) The licenses granted in Sections 2.1(a) and (b) are
+ effective on the date Initial Developer first distributes
+ or otherwise makes the Original Software available to a
+ third party under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is
+ granted: (1) for code that You delete from the Original
+ Software, or (2) for infringements caused by: (i) the
+ modification of the Original Software, or (ii) the
+ combination of the Original Software with other software
+ or devices.
+
+ 2.2. Contributor Grant.
+
+ Conditioned upon Your compliance with Section 3.1 below and
+ subject to third party intellectual property claims, each
+ Contributor hereby grants You a world-wide, royalty-free,
+ non-exclusive license:
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Contributor to use, reproduce,
+ modify, display, perform, sublicense and distribute the
+ Modifications created by such Contributor (or portions
+ thereof), either on an unmodified basis, with other
+ Modifications, as Covered Software and/or as part of a
+ Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or
+ selling of Modifications made by that Contributor either
+ alone and/or in combination with its Contributor Version
+ (or portions of such combination), to make, use, sell,
+ offer for sale, have made, and/or otherwise dispose of:
+ (1) Modifications made by that Contributor (or portions
+ thereof); and (2) the combination of Modifications made by
+ that Contributor with its Contributor Version (or portions
+ of such combination).
+
+ (c) The licenses granted in Sections 2.2(a) and 2.2(b) are
+ effective on the date Contributor first distributes or
+ otherwise makes the Modifications available to a third
+ party.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is
+ granted: (1) for any code that Contributor has deleted
+ from the Contributor Version; (2) for infringements caused
+ by: (i) third party modifications of Contributor Version,
+ or (ii) the combination of Modifications made by that
+ Contributor with other software (except as part of the
+ Contributor Version) or other devices; or (3) under Patent
+ Claims infringed by Covered Software in the absence of
+ Modifications made by that Contributor.
+
+3. Distribution Obligations.
+
+ 3.1. Availability of Source Code.
+
+ Any Covered Software that You distribute or otherwise make
+ available in Executable form must also be made available in Source
+ Code form and that Source Code form must be distributed only under
+ the terms of this License. You must include a copy of this
+ License with every copy of the Source Code form of the Covered
+ Software You distribute or otherwise make available. You must
+ inform recipients of any such Covered Software in Executable form
+ as to how they can obtain such Covered Software in Source Code
+ form in a reasonable manner on or through a medium customarily
+ used for software exchange.
+
+ 3.2. Modifications.
+
+ The Modifications that You create or to which You contribute are
+ governed by the terms of this License. You represent that You
+ believe Your Modifications are Your original creation(s) and/or
+ You have sufficient rights to grant the rights conveyed by this
+ License.
+
+ 3.3. Required Notices.
+
+ You must include a notice in each of Your Modifications that
+ identifies You as the Contributor of the Modification. You may
+ not remove or alter any copyright, patent or trademark notices
+ contained within the Covered Software, or any notices of licensing
+ or any descriptive text giving attribution to any Contributor or
+ the Initial Developer.
+
+ 3.4. Application of Additional Terms.
+
+ You may not offer or impose any terms on any Covered Software in
+ Source Code form that alters or restricts the applicable version
+ of this License or the recipients' rights hereunder. You may
+ choose to offer, and to charge a fee for, warranty, support,
+ indemnity or liability obligations to one or more recipients of
+ Covered Software. However, you may do so only on Your own behalf,
+ and not on behalf of the Initial Developer or any Contributor.
+ You must make it absolutely clear that any such warranty, support,
+ indemnity or liability obligation is offered by You alone, and You
+ hereby agree to indemnify the Initial Developer and every
+ Contributor for any liability incurred by the Initial Developer or
+ such Contributor as a result of warranty, support, indemnity or
+ liability terms You offer.
+
+ 3.5. Distribution of Executable Versions.
+
+ You may distribute the Executable form of the Covered Software
+ under the terms of this License or under the terms of a license of
+ Your choice, which may contain terms different from this License,
+ provided that You are in compliance with the terms of this License
+ and that the license for the Executable form does not attempt to
+ limit or alter the recipient's rights in the Source Code form from
+ the rights set forth in this License. If You distribute the
+ Covered Software in Executable form under a different license, You
+ must make it absolutely clear that any terms which differ from
+ this License are offered by You alone, not by the Initial
+ Developer or Contributor. You hereby agree to indemnify the
+ Initial Developer and every Contributor for any liability incurred
+ by the Initial Developer or such Contributor as a result of any
+ such terms You offer.
+
+ 3.6. Larger Works.
+
+ You may create a Larger Work by combining Covered Software with
+ other code not governed by the terms of this License and
+ distribute the Larger Work as a single product. In such a case,
+ You must make sure the requirements of this License are fulfilled
+ for the Covered Software.
+
+4. Versions of the License.
+
+ 4.1. New Versions.
+
+ Sun Microsystems, Inc. is the initial license steward and may
+ publish revised and/or new versions of this License from time to
+ time. Each version will be given a distinguishing version number.
+ Except as provided in Section 4.3, no one other than the license
+ steward has the right to modify this License.
+
+ 4.2. Effect of New Versions.
+
+ You may always continue to use, distribute or otherwise make the
+ Covered Software available under the terms of the version of the
+ License under which You originally received the Covered Software.
+ If the Initial Developer includes a notice in the Original
+ Software prohibiting it from being distributed or otherwise made
+ available under any subsequent version of the License, You must
+ distribute and make the Covered Software available under the terms
+ of the version of the License under which You originally received
+ the Covered Software. Otherwise, You may also choose to use,
+ distribute or otherwise make the Covered Software available under
+ the terms of any subsequent version of the License published by
+ the license steward.
+
+ 4.3. Modified Versions.
+
+ When You are an Initial Developer and You want to create a new
+ license for Your Original Software, You may create and use a
+ modified version of this License if You: (a) rename the license
+ and remove any references to the name of the license steward
+ (except to note that the license differs from this License); and
+ (b) otherwise make it clear that the license contains terms which
+ differ from this License.
+
+5. DISCLAIMER OF WARRANTY.
+
+ COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS"
+ BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED
+ SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR
+ PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND
+ PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY
+ COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE
+ INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY
+ NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF
+ WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS
+ DISCLAIMER.
+
+6. TERMINATION.
+
+ 6.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to
+ cure such breach within 30 days of becoming aware of the breach.
+ Provisions which, by their nature, must remain in effect beyond
+ the termination of this License shall survive.
+
+ 6.2. If You assert a patent infringement claim (excluding
+ declaratory judgment actions) against Initial Developer or a
+ Contributor (the Initial Developer or Contributor against whom You
+ assert such claim is referred to as "Participant") alleging that
+ the Participant Software (meaning the Contributor Version where
+ the Participant is a Contributor or the Original Software where
+ the Participant is the Initial Developer) directly or indirectly
+ infringes any patent, then any and all rights granted directly or
+ indirectly to You by such Participant, the Initial Developer (if
+ the Initial Developer is not the Participant) and all Contributors
+ under Sections 2.1 and/or 2.2 of this License shall, upon 60 days
+ notice from Participant terminate prospectively and automatically
+ at the expiration of such 60 day notice period, unless if within
+ such 60 day period You withdraw Your claim with respect to the
+ Participant Software against such Participant either unilaterally
+ or pursuant to a written agreement with Participant.
+
+ 6.3. In the event of termination under Sections 6.1 or 6.2 above,
+ all end user licenses that have been validly granted by You or any
+ distributor hereunder prior to termination (excluding licenses
+ granted to You by any distributor) shall survive termination.
+
+7. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE
+ INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF
+ COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE
+ LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT
+ LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK
+ STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL
+ INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT
+ APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO
+ NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR
+ CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT
+ APPLY TO YOU.
+
+8. U.S. GOVERNMENT END USERS.
+
+ The Covered Software is a "commercial item," as that term is
+ defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial
+ computer software" (as that term is defined at 48
+ C.F.R. 252.227-7014(a)(1)) and "commercial computer software
+ documentation" as such terms are used in 48 C.F.R. 12.212
+ (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48
+ C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all
+ U.S. Government End Users acquire Covered Software with only those
+ rights set forth herein. This U.S. Government Rights clause is in
+ lieu of, and supersedes, any other FAR, DFAR, or other clause or
+ provision that addresses Government rights in computer software
+ under this License.
+
+9. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. This License shall be governed
+ by the law of the jurisdiction specified in a notice contained
+ within the Original Software (except to the extent applicable law,
+ if any, provides otherwise), excluding such jurisdiction's
+ conflict-of-law provisions. Any litigation relating to this
+ License shall be subject to the jurisdiction of the courts located
+ in the jurisdiction and venue specified in a notice contained
+ within the Original Software, with the losing party responsible
+ for costs, including, without limitation, court costs and
+ reasonable attorneys' fees and expenses. The application of the
+ United Nations Convention on Contracts for the International Sale
+ of Goods is expressly excluded. Any law or regulation which
+ provides that the language of a contract shall be construed
+ against the drafter shall not apply to this License. You agree
+ that You alone are responsible for compliance with the United
+ States export administration regulations (and the export control
+ laws and regulation of any other countries) when You use,
+ distribute or otherwise make available any Covered Software.
+
+10. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or
+ indirectly, out of its utilization of rights under this License
+ and You agree to work with Initial Developer and Contributors to
+ distribute such responsibility on an equitable basis. Nothing
+ herein is intended or shall be deemed to constitute any admission
+ of liability.
+
+--------------------------------------------------------------------
+
+NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND
+DISTRIBUTION LICENSE (CDDL)
+
+For Covered Software in this distribution, this License shall
+be governed by the laws of the State of California (excluding
+conflict-of-law provisions).
+
+Any litigation relating to this License shall be subject to the
+jurisdiction of the Federal Courts of the Northern District of
+California and the state courts of the State of California, with
+venue lying in Santa Clara County, California.
diff --git a/README b/README
new file mode 100644
index 0000000000000..b51a32d357bbe
--- /dev/null
+++ b/README
@@ -0,0 +1,137 @@
+README file for the Heirloom Documentation Tools
+================================================
+
+The Heirloom Documentation Tools provide troff, nroff, and relat-
+ed utilities to format manual pages and other documents for out-
+put on terminals and printers. They are portable and enhanced
+versions of the utilities released by Sun as part of OpenSolaris,
+and, for pic, grap, mpm, and some minor parts, by Lucent as part
+of Plan 9.
+
+nroff is most prominently used to format Unix manual pages for
+viewing them on a terminal. This implementation consumes rela-
+tively few system resources and is thus suitable for small system
+distributions. It has been enhanced to generate UTF-8 output.
+
+troff generates typesetter output from the same document source
+code as nroff. Thus a special use of it is to prepare manual
+pages for printing. troff is a general-purpose typesetting pro-
+cessor, though. Significant features have been added in this im-
+plementation; see the "Nroff/Troff User's Manual", "Font Handling
+in Troff with PostScript Devices", and "Justification in Heirloom
+Troff" for details. All documents are included in the "doc" sub-
+directory of the source code distribution; compiled PDF files can
+be downloaded from the project home page.
+
+Currently, troff is almost exclusively targeted at generating
+output for PostScript interpreters. Its principal device in-
+dependence has been retained, though; the intermediate output
+language is largely unchanged. The troff driver for the Autolo-
+gic APS-5 is still included. It is untested since it would be
+surprising to find a phototypesetter of this type that is still
+in use, but serves as an experimentation aid for device indepen-
+dence.
+
+The source code has been compiled successfully on:
+
+OpenBSD CURRENT
+NetBSD 6.1.5, 7, CURRENT
+FreeBSD 8.4, 9.3, 10.1, CURRENT
+Linux Slackware 14.1, OpenSuse Tumbleweed
+Mac OS X
+SmartOS
+
+To build and install manually:
+
+- Adjust the installation paths and compiler settings in the file
+ "mk.config", which is in makefile syntax.
+
+- Execute "make", followed by "make install". "make mrproper"
+ will destroy all generated files.
+
+troff currently reads several binary files which are built dur-
+ing the compilation process. It is thus not possible to cross-
+compile.
+
+The locale-dependent character input in troff assumes that the C
+library represents wchar_t values as Unicode characters. This is
+the case on any modern Unix system.
+
+The "pm" utility requires a C++ compiler. If such a compiler is
+not available, delete the "mpm" directory from the list of sub-
+directories to build in the top-level "makefile". The "pm" util-
+ity is rarely used, so it should not be too dramatic if it is
+missing.
+
+In order to use the utilities for formatting manual pages, note
+the following:
+
+- You will normally want to use "nroff -Tlocale". By default,
+ nroff generates output for a Teletype Model 37 with half-line
+ capabilities which will lead to weird results with any xterm or
+ CRT terminal.
+
+- tbl(1) should be used with option -Tlocale when producing input
+ for nroff and with option -g when producing input for troff.
+
+- "nroff -Tlocale" will generate UTF-8 output if permitted by the
+ current setting of the LC_CTYPE locale, and the same as "nroff
+ -Tlp" otherwise.
+
+- Macro names are normally restricted to two characters for com-
+ patibility with previous versions of nroff. With "nroff -mg",
+ long macro names and other groff extensions are accepted. You
+ will normally want to enable this because you are much more
+ likely to encounter manual pages written with groff in mind
+ than manual pages that require strict Unix compatibility.
+
+- You need to filter the output of nroff through "col -x".
+
+- You need at least the "an" macro file to format manual pages.
+ If you also want to use the Berkeley "doc" macros, you also
+ need "doc*" and "andoc". "nroff -mandoc" will then switch au-
+ tomatically between the two macro packages.
+
+- Heirloom nroff can optimize line breaking over whole para-
+ graphs. This results in fewer ugly holes of successive spaces
+ in the output. To enable it with manual pages, add "-mpadj" to
+ the command line.
+
+- It is recommended that the "-msafe" macro package is used when
+ viewing manual pages. It will remove those requests that al-
+ low to call programs or to write to files. If your man com-
+ mand runs with privileges, you then also need to ensure that
+ the "TROFFMACS" environment variable is unset when nroff is ex-
+ ecuted. Otherwise, a malicious user might replace the "safe"
+ macro package with his own version.
+
+- Thus a complete pipeline to format manual pages for viewing is:
+
+ tbl -Tlocale input.1 | neqn | nroff -Tlocale -mg -msafe \
+ -mpadj -mandoc | col -x
+
+- If you like italic text to appear underlined and boldfaced text
+ to appear bold on a CRT or X Window System terminal, also add a
+ call to the "ul" filter:
+
+ tbl -Tlocale input.1 | neqn | nroff -Tlocale -mg -msafe \
+ -mpadj -mandoc | col -x | ul
+
+- To print manual pages with troff, use
+
+ tbl -g input.1 | eqn | troff -mg -msafe -mpadj -mandoc | \
+ dpost | lp
+
+- You should of course configure your "man" command such that
+ it executes these pipelines automatically for you. For the
+ "man" command from the Heirloom Toolchest, suitable entries in
+ "/etc/default/man" are:
+
+ NROFF=/usr/local/ucb/nroff -Tlocale -mg -msafe -mpadj
+ TROFF=/usr/local/ucb/troff -mg -msafe -mpadj
+ TBL=/usr/local/ucb/tbl -Tlocale
+ EQN=/usr/local/ucb/eqn
+ NEQN=/usr/local/ucb/neqn
+ TCAT=/usr/local/ucb/dpost
+ COL=/usr/local/ucb/col -x | ul
+ MACSET=-mandoc
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000..7c7081fc70aca
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+For information about the Heirloom doctools please visit the project
+[webpage](http://n-t-roff.github.io/heirloom/doctools.html).
+
+Stable source code versions are available in the
+[releases archive](https://github.com/n-t-roff/heirloom-doctools/releases).
+
+Development snapshots can be downloaded as a zip archive with the "Download ZIP" button
+or with the git command
+```bash
+git clone https://github.com/n-t-roff/heirloom-doctools.git
+```
+Installation paths and compiler settings are adjusted in `mk.config`.
+The software is build with `make` and installed with `make install`.
+Generated files are removed with `make mrproper` afterwards.
+A git repository can be kept up-to-date with
+`git pull`.
+
+Bugs can be reported at the
+[issue list](https://github.com/n-t-roff/heirloom-doctools/issues).
+Please wait before creating a patch or a pull request,
+since someone else could already be working on this issue or has a solution.
+
+If there are any problems please send a mail to
+&lt;troff [at] arcor [dot] de&gt;.
+
+The GNU roff (groff) [mailing list](https://lists.gnu.org/mailman/listinfo/groff) is used for Heirloom doctools announcements and can also be used for discussions.
+The subject need to start with `[Heirloom]` in this case.
+
+It is recommended to subscribe to the groff mailing list for every &lowast;roff user.
+But please *don't* send Heirloom bug reports to the groff list, use the
+[issue list](https://github.com/n-t-roff/heirloom-doctools/issues)
+instead.
diff --git a/checknr/Makefile.mk b/checknr/Makefile.mk
new file mode 100644
index 0000000000000..646fc7dc75532
--- /dev/null
+++ b/checknr/Makefile.mk
@@ -0,0 +1,21 @@
+OBJ = checknr.o
+
+FLAGS = $(DEFINES) -I../include
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: checknr
+
+checknr: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o checknr
+
+install:
+ $(INSTALL) -c checknr $(ROOT)$(BINDIR)/checknr
+ $(STRIP) $(ROOT)$(BINDIR)/checknr
+ $(INSTALL) -c -m 644 checknr.1 $(ROOT)$(MANDIR)/man1/checknr.1
+
+clean:
+ rm -f $(OBJ) checknr core log *~
+
+mrproper: clean
diff --git a/checknr/checknr.1 b/checknr/checknr.1
new file mode 100644
index 0000000000000..aca24711722a8
--- /dev/null
+++ b/checknr/checknr.1
@@ -0,0 +1,143 @@
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\"
+.\" Copyright (c) 1980 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.3BSD checknr.1 6.2 (Berkeley) 5/7/86
+.\".TH CHECKNR 1 "May 7, 1986"
+.\"
+.\" Sccsid @(#)checknr.1b 1.2 (gritter) 11/6/05
+.\"
+.TH CHECKNR 1 "11/6/05" "Heirloom Documentation Tools" "BSD System Compatibility"
+.UC 4
+.SH NAME
+checknr \- check nroff/troff files
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBchecknr\fR
+[\fB\-fs\fR]
+[\fB\-a.\fIx1\fB.\fIy1\fB.\fIx2\fB.\fIy2\fB.\fR\ ...\ \fB.\fIxn\fB.\fIyn\fR]
+[\fB\-c.\fIx1\fB.\fIx2\fB.\fIx3\fR\ ...\ \fB.\fIxn\fR]
+[\fIfile\fR ...]
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I Checknr
+checks a list of
+.IR nroff (1)
+or
+.IR troff (1)
+input files for certain kinds of errors
+involving mismatched opening and closing delimiters
+and unknown commands.
+If no files are specified,
+.I checknr
+checks the standard input.
+Delimeters checked are:
+.IP (1)
+Font changes using \efx ... \efP.
+.IP (2)
+Size changes using \esx ... \es0.
+.IP (3)
+Macros that come in open ... close forms, for example,
+the .TS and .TE macros which must always come in pairs.
+.PP
+.I Checknr
+knows about the
+.IR ms (7)
+and
+.IR me (7)
+macro packages.
+.PP
+Additional pairs of macros can be added to the list using the
+.B \-a
+option.
+This must be followed by groups defining pairs of macros.
+The characters in each group are
+a period,
+the first macro name,
+another period,
+and the second macro name.
+For example, to define a pair .BS and .ES, use \-\fBa\fP.BS.ES
+.PP
+The
+.B \-c
+option defines commands which would otherwise be complained about
+as undefined.
+.PP
+The
+.B \-f
+option requests
+.I checknr
+to ignore \ef font changes.
+.PP
+The
+.B \-s
+option requests
+.I checknr
+to ignore \es size changes.
+.PP
+.I Checknr
+is intended to be used on documents that are prepared with
+.I checknr
+in mind, much the same as
+.I lint.
+It expects a certain document writing style for \ef and \es commands,
+in that each \efx must be terminated with \efP and
+each \esx must be terminated with \es0.
+While it will work to directly go into the next font or explicitly
+specify the original font or point size,
+and many existing documents actually do this,
+such a practice will produce complaints from
+.I checknr.
+Since it is probably better to use the \efP and \es0 forms anyway,
+you should think of this as a contribution to your document
+preparation style.
+.SH SEE\ ALSO
+nroff(1), troff(1), checkeq(1), ms(7), me(7)
+.SH DIAGNOSTICS
+Complaints about unmatched delimiters.
+.br
+Complaints about unrecognized commands.
+.br
+Various complaints about the syntax of commands.
+.SH NOTES
+Does not correctly recognize certain reasonable constructs,
+such as conditionals.
diff --git a/checknr/checknr.c b/checknr/checknr.c
new file mode 100644
index 0000000000000..b7dde0af2004d
--- /dev/null
+++ b/checknr/checknr.c
@@ -0,0 +1,669 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* from OpenSolaris "checknr.c 1.8 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/checknr.sl 1.3 (gritter) 11/6/05";
+
+/*
+ * checknr: check an nroff/troff input file for matching macro calls.
+ * we also attempt to match size and font changes, but only the embedded
+ * kind. These must end in \s0 and \fP resp. Maybe more sophistication
+ * later but for now think of these restrictions as contributions to
+ * structured typesetting.
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <ctype.h>
+#include "global.h"
+
+static int maxstk; /* Stack size */
+#define MAXBR 100 /* Max number of bracket pairs known */
+#define MAXCMDS 500 /* Max number of commands known */
+
+/*
+ * The stack on which we remember what we've seen so far.
+ */
+static struct stkstr {
+ int opno; /* number of opening bracket */
+ int pl; /* '+', '-', ' ' for \s, 1 for \f, 0 for .ft */
+ int parm; /* parm to size, font, etc */
+ int lno; /* line number the thing came in in */
+} *stk;
+static int stktop;
+
+/*
+ * The kinds of opening and closing brackets.
+ */
+static struct brstr {
+ char *opbr;
+ char *clbr;
+} br[MAXBR] = {
+ /* A few bare bones troff commands */
+#define SZ 0
+ { "sz", "sz" }, /* also \s */
+#define FT 1
+ { "ft", "ft" }, /* also \f */
+ /* the -mm package */
+ { "AL", "LE" },
+ { "AS", "AE" },
+ { "BL", "LE" },
+ { "BS", "BE" },
+ { "DF", "DE" },
+ { "DL", "LE" },
+ { "DS", "DE" },
+ { "FS", "FE" },
+ { "ML", "LE" },
+ { "NS", "NE" },
+ { "RL", "LE" },
+ { "VL", "LE" },
+ /* the -ms package */
+ { "AB", "AE" },
+ { "BD", "DE" },
+ { "CD", "DE" },
+ { "DS", "DE" },
+ { "FS", "FE" },
+ { "ID", "DE" },
+ { "KF", "KE" },
+ { "KS", "KE" },
+ { "LD", "DE" },
+ { "LG", "NL" },
+ { "QS", "QE" },
+ { "RS", "RE" },
+ { "SM", "NL" },
+ { "XA", "XE" },
+ { "XS", "XE" },
+ /* The -me package */
+ { "(b", ")b" },
+ { "(c", ")c" },
+ { "(d", ")d" },
+ { "(f", ")f" },
+ { "(l", ")l" },
+ { "(q", ")q" },
+ { "(x", ")x" },
+ { "(z", ")z" },
+ /* Things needed by preprocessors */
+ { "EQ", "EN" },
+ { "TS", "TE" },
+ /* Refer */
+ { "[", "]" },
+ { NULL, NULL }
+};
+
+/*
+ * All commands known to nroff, plus macro packages.
+ * Used so we can complain about unrecognized commands.
+ */
+static char *knowncmds[MAXCMDS] = {
+"$c", "$f", "$h", "$p", "$s", "(b", "(c", "(d", "(f", "(l", "(q", "(t",
+"(x", "(z", ")b", ")c", ")d", ")f", ")l", ")q", ")t", ")x", ")z", "++",
+"+c", "1C", "1c", "2C", "2c", "@(", "@)", "@C", "@D", "@F", "@I", "@M",
+"@c", "@e", "@f", "@h", "@m", "@n", "@o", "@p", "@r", "@t", "@z", "AB",
+"AE", "AF", "AI", "AL", "AM", "AS", "AT", "AU", "AX", "B", "B1", "B2",
+"BD", "BE", "BG", "BL", "BS", "BT", "BX", "C1", "C2", "CD", "CM", "CT",
+"D", "DA", "DE", "DF", "DL", "DS", "DT", "EC", "EF", "EG", "EH", "EM",
+"EN", "EQ", "EX", "FA", "FD", "FE", "FG", "FJ", "FK", "FL", "FN", "FO",
+"FQ", "FS", "FV", "FX", "H", "HC", "HD", "HM", "HO", "HU", "I", "ID",
+"IE", "IH", "IM", "IP", "IX", "IZ", "KD", "KE", "KF", "KQ", "KS", "LB",
+"LC", "LD", "LE", "LG", "LI", "LP", "MC", "ME", "MF", "MH", "ML", "MR",
+"MT", "ND", "NE", "NH", "NL", "NP", "NS", "OF", "OH", "OK", "OP", "P",
+"P1", "PF", "PH", "PP", "PT", "PX", "PY", "QE", "QP", "QS", "R", "RA",
+"RC", "RE", "RL", "RP", "RQ", "RS", "RT", "S", "S0", "S2", "S3", "SA",
+"SG", "SH", "SK", "SM", "SP", "SY", "T&", "TA", "TB", "TC", "TD", "TE",
+"TH", "TL", "TM", "TP", "TQ", "TR", "TS", "TX", "UL", "US", "UX", "VL",
+"WC", "WH", "XA", "XD", "XE", "XF", "XK", "XP", "XS", "[", "[-", "[0",
+"[1", "[2", "[3", "[4", "[5", "[<", "[>", "[]", "]", "]-", "]<", "]>",
+"][", "ab", "ac", "ad", "af", "am", "ar", "as", "b", "ba", "bc", "bd",
+"bi", "bl", "bp", "br", "bx", "c.", "c2", "cc", "ce", "cf", "ch",
+"chop", "cs", "ct", "cu", "da", "de", "di", "dl", "dn", "do", "ds",
+"dt", "dw", "dy", "ec", "ef", "eh", "el", "em", "eo", "ep", "ev",
+"evc", "ex", "fallback", "fc", "feature", "fi", "fl", "flig", "fo",
+"fp", "ft", "ftr", "fz", "fzoom", "hc", "he", "hidechar", "hl", "hp",
+"ht", "hw", "hx", "hy", "hylang", "i", "ie", "if", "ig", "in", "ip",
+"it", "ix", "kern", "kernafter", "kernbefore", "kernpair", "lc", "lg",
+"lhang", "lc_ctype", "li", "ll", "ln", "lo", "lp", "ls", "lt", "m1",
+"m2", "m3", "m4", "mc", "mk", "mo", "n1", "n2", "na", "ne", "nf", "nh",
+"nl", "nm", "nn", "np", "nr", "ns", "nx", "of", "oh", "os", "pa",
+"papersize", "pc", "pi", "pl", "pm", "pn", "po", "pp", "ps", "q",
+"r", "rb", "rd", "re", "recursionlimit", "return", "rhang", "rm",
+"rn", "ro", "rr", "rs", "rt", "sb", "sc", "sh", "shift", "sk", "so",
+"sp", "ss", "st", "sv", "sz", "ta", "tc", "th", "ti", "tl", "tm", "tp",
+"tr", "track", "u", "uf", "uh", "ul", "vs", "wh", "xflag", "xp", "yr",
+0
+};
+
+static int lineno; /* current line number in input file */
+static char *line; /* the current line */
+static size_t linesize; /* allocated size of current line */
+static char *cfilename; /* name of current file */
+static int nfiles; /* number of files to process */
+static int fflag; /* -f: ignore \f */
+static int sflag; /* -s: ignore \s */
+static int ncmds; /* size of knowncmds */
+static int slot; /* slot in knowncmds found by binsrch */
+
+static void growstk(void);
+static void usage(void);
+static void process(FILE *f);
+static void complain(int i);
+static void prop(int i);
+static void chkcmd(char *line, char *mac);
+static void nomatch(char *mac);
+static int eq(char *s1, char *s2);
+static void pe(int lineno);
+static void checkknown(char *mac);
+static void addcmd(char *line);
+static void addmac(char *mac);
+static int binsrch(char *mac);
+static char *fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp);
+
+static void
+growstk(void)
+{
+ stktop++;
+ if (stktop >= maxstk) {
+ maxstk *= 2;
+ stk = realloc(stk, sizeof *stk * maxstk);
+ }
+}
+
+int
+main(int argc, char **argv)
+{
+ FILE *f;
+ int i;
+ char *cp, *cq, c;
+
+ stk = calloc(sizeof *stk, maxstk = 100);
+ /* Figure out how many known commands there are */
+ while (knowncmds[ncmds])
+ ncmds++;
+ while (argc > 1 && argv[1][0] == '-') {
+ switch (argv[1][1]) {
+
+ /* -a: add pairs of macros */
+ case 'a':
+ /* look for empty macro slots */
+ for (i = 0; br[i].opbr; i++)
+ ;
+ cp = &argv[1][3];
+ while (*cp) {
+ size_t s;
+ if (i >= MAXBR - 3) {
+ printf("Only %d known pairs allowed\n",
+ MAXBR/2);
+ exit(1);
+ }
+ for (cq = cp; *cq && *cq != '.'; cq++);
+ if (*cq != '.')
+ usage();
+ *cq = 0;
+ s = cq - cp + 1;
+ br[i].opbr = malloc(s);
+ n_strcpy(br[i].opbr, cp, s);
+ *cq = '.';
+ cp = &cq[1];
+ for (cq = cp; *cq && *cq != '.'; cq++);
+ c = *cq;
+ *cq = 0;
+ s = cq - cp + 1;
+ br[i].clbr = malloc(s);
+ n_strcpy(br[i].clbr, cp, s);
+ *cq = c;
+ cp = c ? &cq[1] : cq;
+ /* knows pairs are also known cmds */
+ addmac(br[i].opbr);
+ addmac(br[i].clbr);
+ i++;
+ }
+ break;
+
+ /* -c: add known commands */
+ case 'c':
+ cp = &argv[1][3];
+ while (*cp) {
+ for (cq = cp; *cq && *cq != '.'; cq++);
+ c = *cq;
+ *cq = 0;
+ addmac(cp);
+ *cq = c;
+ cp = c ? &cq[1] : cq;
+ }
+ break;
+
+ /* -f: ignore font changes */
+ case 'f':
+ fflag = 1;
+ break;
+
+ /* -s: ignore size changes */
+ case 's':
+ sflag = 1;
+ break;
+ default:
+ usage();
+ }
+ argc--; argv++;
+ }
+
+ nfiles = argc - 1;
+
+ if (nfiles > 0) {
+ for (i = 1; i < argc; i++) {
+ cfilename = argv[i];
+ f = fopen(cfilename, "r");
+ if (f == NULL) {
+ perror(cfilename);
+ exit(1);
+ }
+ else {
+ process(f);
+ fclose(f);
+ }
+ }
+ } else {
+ cfilename = "stdin";
+ process(stdin);
+ }
+ return (0);
+}
+
+static void
+usage(void)
+{
+ printf("Usage: checknr -s -f -a.xx.yy.xx.yy... -c.xx.xx.xx...\n");
+ exit(1);
+}
+
+static void
+process(FILE *f)
+{
+ int i, n;
+ char mac[512]; /* The current macro or nroff command */
+ int pl;
+
+ stktop = -1;
+ for (lineno = 1; fgetline(&line, &linesize, NULL, f); lineno++) {
+ if (line[0] == '.') {
+ /*
+ * find and isolate the macro/command name.
+ */
+ strncpy(mac, line+1, sizeof mac-1)[sizeof mac-1] = 0;
+ if (isspace(mac[0]&0377)) {
+ pe(lineno);
+ printf("Empty command\n");
+ } else {
+ for (i = 1; mac[i]; i++)
+ if (isspace(mac[i]&0377)) {
+ mac[i] = 0;
+ break;
+ }
+ }
+
+ /*
+ * Is it a known command?
+ */
+ checkknown(mac);
+
+ /*
+ * Should we add it?
+ */
+ if (eq(mac, "de"))
+ addcmd(line);
+
+ chkcmd(line, mac);
+ }
+
+ /*
+ * At this point we process the line looking
+ * for \s and \f.
+ */
+ for (i = 0; line[i]; i++)
+ if (line[i] == '\\' && (i == 0 || line[i-1] != '\\')) {
+ if (!sflag && line[++i] == 's') {
+ pl = line[++i]&0377;
+ if (isdigit(pl)) {
+ n = pl - '0';
+ pl = ' ';
+ } else
+ n = 0;
+ while (isdigit(line[++i]&0377))
+ n = 10 * n + line[i] - '0';
+ i--;
+ if (n == 0) {
+ if (stk[stktop].opno == SZ) {
+ stktop--;
+ } else {
+ pe(lineno);
+ printf(
+ "unmatched \\s0\n");
+ }
+ } else {
+ growstk();
+ stk[stktop].opno = SZ;
+ stk[stktop].pl = pl;
+ stk[stktop].parm = n;
+ stk[stktop].lno = lineno;
+ }
+ } else if (!fflag && line[i] == 'f') {
+ n = line[++i];
+ if (n == 'P') {
+ if (stk[stktop].opno == FT) {
+ stktop--;
+ } else {
+ pe(lineno);
+ printf(
+ "unmatched \\fP\n");
+ }
+ } else {
+ growstk();
+ stk[stktop].opno = FT;
+ stk[stktop].pl = 1;
+ stk[stktop].parm = n;
+ stk[stktop].lno = lineno;
+ }
+ }
+ }
+ }
+ /*
+ * We've hit the end and look at all this stuff that hasn't been
+ * matched yet! Complain, complain.
+ */
+ for (i = stktop; i >= 0; i--) {
+ complain(i);
+ }
+}
+
+static void
+complain(int i)
+{
+ pe(stk[i].lno);
+ printf("Unmatched ");
+ prop(i);
+ printf("\n");
+}
+
+static void
+prop(int i)
+{
+ if (stk[i].pl == 0)
+ printf(".%s", br[stk[i].opno].opbr);
+ else switch (stk[i].opno) {
+ case SZ:
+ printf("\\s%c%d", stk[i].pl, stk[i].parm);
+ break;
+ case FT:
+ printf("\\f%c", stk[i].parm);
+ break;
+ default:
+ printf("Bug: stk[%d].opno = %d = .%s, .%s",
+ i, stk[i].opno, br[stk[i].opno].opbr,
+ br[stk[i].opno].clbr);
+ }
+}
+
+/* ARGSUSED */
+static void
+chkcmd(char *line, char *mac)
+{
+ int i;
+
+ /*
+ * Check to see if it matches top of stack.
+ */
+ if (stktop >= 0 && eq(mac, br[stk[stktop].opno].clbr))
+ stktop--; /* OK. Pop & forget */
+ else {
+ /* No. Maybe it's an opener */
+ for (i = 0; br[i].opbr; i++) {
+ if (eq(mac, br[i].opbr)) {
+ /* Found. Push it. */
+ growstk();
+ stk[stktop].opno = i;
+ stk[stktop].pl = 0;
+ stk[stktop].parm = 0;
+ stk[stktop].lno = lineno;
+ break;
+ }
+ /*
+ * Maybe it's an unmatched closer.
+ * NOTE: this depends on the fact
+ * that none of the closers can be
+ * openers too.
+ */
+ if (eq(mac, br[i].clbr)) {
+ nomatch(mac);
+ break;
+ }
+ }
+ }
+}
+
+static void
+nomatch(char *mac)
+{
+ int i, j;
+
+ /*
+ * Look for a match further down on stack
+ * If we find one, it suggests that the stuff in
+ * between is supposed to match itself.
+ */
+ for (j = stktop; j >= 0; j--)
+ if (eq(mac, br[stk[j].opno].clbr)) {
+ /* Found. Make a good diagnostic. */
+ if (j == stktop-2) {
+ /*
+ * Check for special case \fx..\fR and don't
+ * complain.
+ */
+ if (stk[j+1].opno == FT &&
+ stk[j+1].parm != 'R' &&
+ stk[j+2].opno == FT &&
+ stk[j+2].parm == 'R') {
+ stktop = j -1;
+ return;
+ }
+ /*
+ * We have two unmatched frobs. Chances are
+ * they were intended to match, so we mention
+ * them together.
+ */
+ pe(stk[j+1].lno);
+ prop(j+1);
+ printf(" does not match %d: ", stk[j+2].lno);
+ prop(j+2);
+ printf("\n");
+ } else for (i = j+1; i <= stktop; i++) {
+ complain(i);
+ }
+ stktop = j-1;
+ return;
+ }
+ /* Didn't find one. Throw this away. */
+ pe(lineno);
+ printf("Unmatched .%s\n", mac);
+}
+
+/* eq: are two strings equal? */
+static int
+eq(char *s1, char *s2)
+{
+ return (strcmp(s1, s2) == 0);
+}
+
+/* print the first part of an error message, given the line number */
+static void
+pe(int lineno)
+{
+ if (nfiles > 1)
+ printf("%s: ", cfilename);
+ printf("%d: ", lineno);
+}
+
+static void
+checkknown(char *mac)
+{
+
+ if (eq(mac, "."))
+ return;
+ if (binsrch(mac) >= 0)
+ return;
+ if (mac[0] == '\\' && mac[1] == '"') /* comments */
+ return;
+
+ pe(lineno);
+ printf("Unknown command: .%s\n", mac);
+}
+
+/*
+ * We have a .de xx line in "line". Add xx to the list of known commands.
+ */
+static void
+addcmd(char *line)
+{
+ char *mac;
+
+ /* grab the macro being defined */
+ mac = line+4;
+ while (isspace(*mac&0377))
+ mac++;
+ if (*mac == 0) {
+ pe(lineno);
+ printf("illegal define: %s\n", line);
+ return;
+ }
+ mac[2] = 0;
+ if (isspace(mac[1]&0377) || mac[1] == '\\')
+ mac[1] = 0;
+ addmac(mac);
+}
+
+/*
+ * Add mac to the list. We should really have some kind of tree
+ * structure here but this is a quick-and-dirty job and I just don't
+ * have time to mess with it. (I wonder if this will come back to haunt
+ * me someday?) Anyway, I claim that .de is fairly rare in user
+ * nroff programs, and the loop below is pretty fast.
+ */
+static void
+addmac(char *mac)
+{
+ char **src, **dest, **loc;
+ size_t s;
+
+ if (binsrch(mac) >= 0) { /* it's OK to redefine something */
+#ifdef DEBUG
+ printf("binsrch(%s) -> already in table\n", mac);
+#endif
+ return;
+ }
+ /* binsrch sets slot as a side effect */
+#ifdef DEBUG
+printf("binsrch(%s) -> %d\n", mac, slot);
+#endif
+ if (ncmds >= MAXCMDS) {
+ printf("Only %d known commands allowed\n", MAXCMDS);
+ exit(1);
+ }
+ loc = &knowncmds[slot];
+ src = &knowncmds[ncmds-1];
+ dest = src+1;
+ while (dest > loc)
+ *dest-- = *src--;
+ s = strlen(mac) + 1;
+ *loc = malloc(s);
+ n_strcpy(*loc, mac, s);
+ ncmds++;
+#ifdef DEBUG
+ printf("after: %s %s %s %s %s, %d cmds\n",
+ knowncmds[slot-2], knowncmds[slot-1], knowncmds[slot],
+ knowncmds[slot+1], knowncmds[slot+2], ncmds);
+#endif
+}
+
+/*
+ * Do a binary search in knowncmds for mac.
+ * If found, return the index. If not, return -1.
+ */
+static int
+binsrch(char *mac)
+{
+ char *p; /* pointer to current cmd in list */
+ int d; /* difference if any */
+ int mid; /* mid point in binary search */
+ int top, bot; /* boundaries of bin search, inclusive */
+
+ top = ncmds-1;
+ bot = 0;
+ while (top >= bot) {
+ mid = (top+bot)/2;
+ p = knowncmds[mid];
+ d = p[0] - mac[0];
+ if (d == 0)
+ d = strcmp(&p[1], &mac[1]);
+ if (d == 0)
+ return (mid);
+ if (d < 0)
+ bot = mid + 1;
+ else
+ top = mid - 1;
+ }
+ slot = bot; /* place it would have gone */
+ return (-1);
+}
+
+#define LSIZE 256
+
+static char *
+fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = realloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = realloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
diff --git a/col/Makefile.mk b/col/Makefile.mk
new file mode 100644
index 0000000000000..d739a4dd19ff8
--- /dev/null
+++ b/col/Makefile.mk
@@ -0,0 +1,22 @@
+BIN = col
+
+OBJ = col.o
+
+FLAGS = $(DEFINES) -I../include
+
+all: $(BIN)
+
+$(BIN): $(OBJ)
+ $(CC) ${CFLAGS} $(LDFLAGS) $(OBJ) -o $(BIN)
+
+install:
+ $(INSTALL) -c $(BIN) $(ROOT)$(BINDIR)/$(BIN)
+ $(STRIP) $(ROOT)$(BINDIR)/$(BIN)
+
+clean:
+ rm -f $(OBJ) $(BIN) core log *~
+
+mrproper: clean
+
+.c.o:
+ ${CC} ${CFLAGS} ${CPPFLAGS} $(FLAGS) -c $<
diff --git a/col/col.c b/col/col.c
new file mode 100644
index 0000000000000..4b2a2f77e291d
--- /dev/null
+++ b/col/col.c
@@ -0,0 +1,654 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * col - filter reverse carraige motions
+ *
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+#include <locale.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <wctype.h>
+#include <unistd.h>
+#include <wchar.h>
+#include "global.h"
+
+#define PL 256
+#define ESC '\033'
+#define RLF '\013'
+#define SI '\017'
+#define SO '\016'
+#define GREEK 0200
+#define LINELN 4096
+#define gettext(x) x
+#ifndef iswascii
+# define iswascii(c) isascii(c)
+#endif
+
+wchar_t *page[PL];
+wchar_t lbuff[LINELN], *line;
+wchar_t *lbuffend = lbuff + LINELN - 1;
+wchar_t ws_blank[2] = {' ', 0};
+char esc_chars, underline, temp_off, smart;
+int bflag, xflag, fflag, pflag;
+int greeked;
+int half;
+int cp, lp;
+int ll, llh, mustwr;
+int pcp = 0;
+char *pgmname;
+
+#define USAGEMSG "usage:\tcol [-bfxp]\n"
+
+static void outc(wchar_t);
+static void store(int);
+static void fetch(int);
+static void emit(wchar_t *, int);
+static void incr(void);
+static void decr(void);
+static void wsinsert(wchar_t *, int);
+static void incr_line(int);
+static int wcscrwidth(wchar_t);
+
+int
+main(int argc, char **argv)
+{
+ int i, n;
+ int opt;
+ int greek;
+ int c;
+ wchar_t wc;
+ char byte;
+ static char fbuff[BUFSIZ];
+
+ setbuf(stdout, fbuff);
+ (void) setlocale(LC_ALL, "");
+ pgmname = argv[0];
+
+ while ((opt = getopt(argc, argv, "bfxp")) != EOF)
+ switch (opt) {
+ case 'b':
+ bflag++;
+ break;
+ case 'x':
+ xflag++;
+ break;
+ case 'f':
+ fflag++;
+ break;
+ case 'p':
+ pflag++;
+ break;
+ case '?':
+ default:
+ (void) fprintf(stderr, gettext(USAGEMSG));
+ exit(2);
+ }
+
+ argc -= optind;
+ if (argc >= 1) {
+ (void) fprintf(stderr, gettext(USAGEMSG));
+ exit(2);
+ }
+
+ for (ll = 0; ll < PL; ll++)
+ page[ll] = 0;
+
+ smart = temp_off = underline = esc_chars = '\0';
+ cp = 0;
+ ll = 0;
+ greek = 0;
+ mustwr = PL;
+ line = lbuff;
+
+ while ((c = getwchar()) != EOF) {
+ if (underline && temp_off && c > ' ') {
+ outc(ESC);
+ if (*line) {
+ incr_line(1);
+ }
+ *line = 'X';
+ incr_line(1);
+ *line = temp_off = '\0';
+ }
+ if (c != '\b')
+ if (esc_chars)
+ esc_chars = '\0';
+ switch (c) {
+ case '\n':
+ if (underline && !temp_off) {
+ if (*line)
+ incr_line(1);
+ *line = ESC;
+ incr_line(1);
+ *line = 'Y';
+ incr_line(1);
+ *line = '\0';
+ temp_off = '1';
+ }
+ incr();
+ incr();
+ cp = 0;
+ continue;
+
+ case '\0':
+ continue;
+
+ case ESC:
+ c = getwchar();
+ switch (c) {
+ case '7': /* reverse full line feed */
+ decr();
+ decr();
+ break;
+
+ case '8': /* reverse half line feed */
+ if (fflag)
+ decr();
+ else {
+ if (--half < -1) {
+ decr();
+ decr();
+ half += 2;
+ }
+ }
+ break;
+
+ case '9': /* forward half line feed */
+ if (fflag)
+ incr();
+ else {
+ if (++half > 0) {
+ incr();
+ incr();
+ half -= 2;
+ }
+ }
+ break;
+
+ default:
+ if (pflag) { /* pass through esc */
+ outc(ESC);
+ incr_line(1);
+ *line = c;
+ incr_line(1);
+ *line = '\0';
+ esc_chars = 1;
+ if (c == 'X')
+ underline = 1;
+ if (c == 'Y' && underline)
+ underline = temp_off = '\0';
+ if (c == ']')
+ smart = 1;
+ if (c == '[')
+ smart = '\0';
+ }
+ break;
+ }
+ continue;
+
+ case SO:
+ greek = GREEK;
+ /* greeked++; FIXME: temporarily disabled */
+ continue;
+
+ case SI:
+ greek = 0;
+ continue;
+
+ case RLF:
+ decr();
+ decr();
+ continue;
+
+ case '\r':
+ cp = 0;
+ continue;
+
+ case '\t':
+ cp = (cp + 8) & -8;
+ continue;
+
+ case '\b':
+ if (esc_chars) {
+ *line = '\b';
+ incr_line(1);
+ *line = '\0';
+ } else if (cp > 0)
+ cp--;
+ continue;
+
+ case ' ':
+ cp++;
+ continue;
+
+ default:
+ if (iswprint(c)) { /* if printable */
+ if (!greek) {
+ outc((wchar_t)c);
+ cp += wcscrwidth(c);
+ }
+ /*
+ * EUC (apply SO only when there can
+ * be corresponding character in CS1)
+ */
+ else if (iswascii(c)) {
+ byte = (c | greek);
+ n = mbtowc(&wc, &byte, 1);
+ if (!iswcntrl(c) && !iswspace(c) &&
+ n == 1) {
+ outc(wc);
+ cp += wcscrwidth(wc);
+ } else {
+ outc((wchar_t)c);
+ cp += wcscrwidth(c);
+ }
+ } else {
+ outc((wchar_t)c);
+ cp += wcscrwidth(c);
+ }
+
+ if ((cp + 1) > LINELN) {
+ (void) fprintf(stderr,
+ gettext("col: Line too long\n"));
+ exit(2);
+ }
+ }
+ continue;
+ }
+ }
+
+ for (i = 0; i < PL; i++)
+ if (page[(mustwr+i)%PL] != 0)
+ emit(page[(mustwr+i) % PL], mustwr+i-PL);
+ emit(ws_blank, (llh + 1) & -2);
+ return (0);
+}
+
+static void
+outc(wchar_t c)
+{
+ int n, i;
+ int width, widthl, widthc;
+ wchar_t *p1;
+ wchar_t c1;
+ char esc_chars = '\0';
+ if (lp > cp) {
+ line = lbuff;
+ lp = 0;
+ }
+
+ while (lp < cp) {
+ if (*line != '\b')
+ if (esc_chars)
+ esc_chars = '\0';
+ switch (*line) {
+ case ESC:
+ incr_line(1);
+ esc_chars = 1;
+ break;
+ case '\0':
+ *line = ' ';
+ lp++;
+ break;
+ case '\b':
+ /* if ( ! esc_chars ) */
+ lp--;
+ break;
+ default:
+ lp += wcscrwidth(*line);
+ }
+ incr_line(1);
+ }
+ while (*line == '\b') {
+ /*
+ * EUC (For a multi-column character, backspace characters
+ * are assumed to be used like "__^H^HXX", where "XX"
+ * represents a two-column character, and a backspace
+ * always goes back by one column.)
+ */
+ for (n = 0; *line == '\b'; incr_line(1)) {
+ n++;
+ lp--;
+ }
+ while (n > 0 && lp < cp) {
+ i = *line;
+ incr_line(1);
+ i = wcscrwidth(i);
+ n -= i;
+ lp += i;
+ }
+ }
+ while (*line == ESC)
+ incr_line(6);
+ widthc = wcscrwidth(c);
+ widthl = wcscrwidth(*line);
+ if (bflag || (*line == '\0') || *line == ' ') {
+ if (*line == '\0' || widthl == widthc) {
+ *line = c;
+ } else if (widthl > widthc) {
+ n = widthl - widthc;
+ wsinsert(line, n);
+ *line = c;
+ incr_line(1);
+ for (i = 0; i < n; i++) {
+ *line = ' ';
+ incr_line(1);
+ }
+ line = lbuff;
+ lp = 0;
+ } else {
+ n = widthc - widthl;
+ if (line < lbuffend) {
+ for (p1 = line+1; n > 0 && p1 < lbuffend;
+ n -= wcscrwidth(i)) {
+ i = *p1++;
+ }
+ *line = c;
+ if (p1 < lbuffend) {
+ n_wcscpy(line+1, p1, lbuffend -
+ line - 1);
+ } else {
+ (void) fprintf(stderr,
+ gettext("col: Line too long.\n"));
+ exit(1);
+ }
+ } else {
+ (void) fprintf(stderr,
+ gettext("col: Line too long.\n"));
+ exit(1);
+ }
+ }
+ } else {
+ if (smart && (widthl == 1) && (widthc == 1)) {
+ wchar_t c1, c2, c3, c4, c5, c6, c7;
+ incr_line(1);
+ c1 = *line;
+ *line = ESC;
+ incr_line(1);
+ c2 = *line;
+ *line = '[';
+ incr_line(1);
+ c3 = *line;
+ *line = '\b';
+ incr_line(1);
+ c4 = *line;
+ *line = ESC;
+ incr_line(1);
+ c5 = *line;
+ *line = ']';
+ incr_line(1);
+ c6 = *line;
+ *line = c;
+ incr_line(1);
+ while (c1) {
+ c7 = *line;
+ *line = c1;
+ incr_line(1);
+ c1 = c2;
+ c2 = c3;
+ c3 = c4;
+ c4 = c5;
+ c5 = c6;
+ c6 = c7;
+ }
+ } else {
+ if ((widthl == 1) && (widthc == 1)) {
+ wchar_t c1, c2, c3;
+ incr_line(1);
+ c1 = *line;
+ *line = '\b';
+ incr_line(1);
+ c2 = *line;
+ *line = c;
+ incr_line(1);
+ while (c1) {
+ c3 = *line;
+ *line = c1;
+ incr_line(1);
+ c1 = c2;
+ c2 = c3;
+ }
+ } else {
+ width = (widthc > widthl) ? widthc : widthl;
+ for (i = 0; i < width; i += wcscrwidth(c1)) {
+ c1 = *line;
+ incr_line(1);
+ }
+ wsinsert(line, width + (width - widthc + 1));
+ for (i = 0; i < width; i++) {
+ *line = '\b';
+ incr_line(1);
+ }
+ *line = c;
+ incr_line(1);
+ for (i = widthc; i < width; i++) {
+ *line = ' ';
+ incr_line(1);
+ }
+ }
+ }
+ lp = 0;
+ line = lbuff;
+ }
+}
+
+static void
+store(int lno)
+{
+ size_t bufsiz;
+ lno %= PL;
+ if (page[lno] != 0)
+ free((char *)page[lno]);
+ bufsiz = wcslen(lbuff) + 2;
+ page[lno] = (wchar_t *)malloc(bufsiz * sizeof(wchar_t));
+ if (page[lno] == 0) {
+ /* fprintf(stderr, "%s: no storage\n", pgmname); */
+ exit(2);
+ }
+ n_wcscpy(page[lno], lbuff, bufsiz);
+}
+
+static void
+fetch(int lno)
+{
+ wchar_t *p;
+
+ lno %= PL;
+ p = lbuff;
+ while (*p)
+ *p++ = '\0';
+ line = lbuff;
+ lp = 0;
+ if (page[lno])
+ n_wcscpy(line, page[lno], LINELN);
+}
+
+static void
+emit(wchar_t *s, int lineno)
+{
+ static int cline = 0;
+ int ncp;
+ wchar_t *p, *begin = s;
+ int cshifted;
+ char chr[MB_LEN_MAX + 1];
+
+ int c;
+ static int gflag = 0;
+
+ if (*s) {
+ if (gflag) {
+ (void) putwchar(SI);
+ gflag = 0;
+ }
+ while (cline < lineno - 1) {
+ (void) putwchar('\n');
+ pcp = 0;
+ cline += 2;
+ }
+ if (cline != lineno) {
+ (void) putwchar(ESC);
+ (void) putwchar('9');
+ cline++;
+ }
+ if (pcp)
+ (void) putwchar('\r');
+ pcp = 0;
+ p = s;
+ while (*p) {
+ ncp = pcp;
+ while (*p++ == ' ') {
+ if ((++ncp & 7) == 0 && !xflag) {
+ pcp = ncp;
+ (void) putwchar('\t');
+ }
+ }
+ if (!*--p)
+ break;
+ while (pcp < ncp) {
+ (void) putwchar(' ');
+ pcp++;
+ }
+ if (greeked) {
+ if (wctomb(chr, *p) == 1) {
+ if (gflag != (*chr & GREEK) &&
+ *p != '\b' &&
+ isascii(*chr ^ (gflag ^ GREEK)) &&
+ !iscntrl(*chr ^ (gflag ^ GREEK)) &&
+ !isspace(*chr ^ (gflag ^ GREEK))) {
+ if (gflag)
+ (void) putwchar(SI);
+ else
+ (void) putwchar(SO);
+ gflag ^= GREEK;
+ }
+ }
+ }
+ c = *p;
+ if (greeked) {
+ if (wctomb(chr, (wchar_t)c) == 1) {
+ cshifted = (*chr ^ GREEK);
+ if (isascii(cshifted) &&
+ !iscntrl(cshifted) &&
+ !isspace(cshifted))
+ (void) putwchar(*chr & ~GREEK);
+ } else
+ (void) putwchar(c);
+ } else
+ (void) putwchar(c);
+ if (c == '\b') {
+ if (p-begin >= 2 && *(p-2) && *(p-2) == ESC) {
+ pcp++;
+ } else
+ pcp--;
+ } else {
+ pcp += wcscrwidth(c);
+ }
+ p++;
+ }
+ }
+}
+
+static void
+incr(void)
+{
+ store(ll++);
+ if (ll > llh)
+ llh = ll;
+ if (ll >= mustwr && page[ll%PL]) {
+ emit(page[ll%PL], ll - PL);
+ mustwr++;
+ free((char *)page[ll%PL]);
+ page[ll%PL] = 0;
+ }
+ fetch(ll);
+}
+
+static void
+decr(void)
+{
+ if (ll > mustwr - PL) {
+ store(ll--);
+ fetch(ll);
+ }
+}
+
+static void
+wsinsert(wchar_t *s, int n)
+{
+ wchar_t *p1, *p2;
+
+
+ p1 = s + wcslen(s);
+ p2 = p1 + n;
+ while (p1 >= s)
+ *p2-- = *p1--;
+}
+
+/*
+ * incr_line - increments line pointer and checks for array out of bounds
+ * amt: assumed to be >= 1
+ * exit on error to avoid line pointer accessing out of the array
+ */
+static void
+incr_line(int amt)
+{
+ if (line < lbuffend - amt + 1) {
+ line += amt;
+ } else {
+ (void) fprintf(stderr, gettext("col: Line too long.\n"));
+ exit(1);
+ }
+}
+
+
+static int
+wcscrwidth(wchar_t wc)
+{
+ int nc;
+
+ if (wc == 0) {
+ /*
+ * if wc is a null character, needs to
+ * return 1 instead of 0.
+ */
+ return (1);
+ }
+ nc = wcwidth(wc);
+ if (nc > 0) {
+ return (nc);
+ } else {
+ return (0);
+ }
+}
diff --git a/configure b/configure
new file mode 100755
index 0000000000000..0afb7c3980903
--- /dev/null
+++ b/configure
@@ -0,0 +1,235 @@
+#!/bin/sh
+
+# Copyright (c) 2016, Carsten Kunze <carsten.kunze@arcor.de>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+# OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+usage () {
+ echo "Usage: $0 [-s]"
+ echo " -s Silence output"
+ exit $1
+}
+
+SFLAG=
+MAKE=
+DEFS=
+LIB_LEX=
+LIB_CURSES=
+cat /dev/null > compat.h
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ -s) SFLAG=1;;
+ *)
+ echo "$0: $1: Unknown option" >&2
+ usage 1;;
+ esac
+ shift
+done
+
+check_for () {
+ [ -e $LOG ] && echo >>$LOG
+ A="Checking for $1 ... "
+ echo "$A" >>$LOG
+ [ -z "$SFLAG" ] && printf "$A"
+}
+
+compile () {
+ rm -f ${TMPNAM}.o $TMPNAM $OUT $ERR
+ $MAKE -f $OUTMK $TMPNAM > $OUT 2> $ERR
+ RESULT=$?
+ cat $OUT $ERR >> $LOG
+ if [ $RESULT -eq 0 ]; then true; else false; fi
+}
+
+test_result () {
+ RESULT=$?
+ RESULT_TEXT=${1:-0} # 1: omit "no", 2: say nothing
+ if [ $RESULT -eq 0 ]; then
+ echo success >>$LOG
+ [ -z "$SFLAG" -a $RESULT_TEXT -lt 2 ] && \
+ echo "yes$PASS_TEXT"
+ PASS_TEXT=
+ [ -e $TMPC ] && rm -f $TMPC
+ true
+ else
+ [ -z "$SFLAG" -a $RESULT_TEXT -lt 1 ] && echo no
+ if [ -e $TMPC ]; then
+ echo "Failed program:" >>$LOG
+ pr -n -t $TMPC >>$LOG
+ rm -f $TMPC
+ fi
+ false
+ fi
+}
+
+gen_mk () {
+ [ $# -eq 0 ] && rm -f $OUTMK
+ [ -n "$LEX" ] && echo "LEX=$LEX" >> $OUTMK
+ [ -n "$FLOAT_STORE" ] && echo "FLOAT_STORE=$FLOAT_STORE" >> $OUTMK
+ [ -n "$DEFS" ] && echo "DEFINES=$DEFS" >> $OUTMK
+ [ -n "$INCDIR_CURSES" ] && echo "INCDIR_CURSES=$INCDIR_CURSES" >> $OUTMK
+ [ -n "$RPATH_CURSES" ] && echo "RPATH_CURSES=$RPATH_CURSES" >> $OUTMK
+ [ -n "$LIBDIR_CURSES" ] && echo "LIBDIR_CURSES=$LIBDIR_CURSES" \
+ >> $OUTMK
+ [ -n "$LIB_CURSES" ] && echo "LIB_CURSES=$LIB_CURSES" >> $OUTMK
+ [ -n "$LIB_AVLBST" ] && echo "LIB_AVLBST=$LIB_AVLBST" >> $OUTMK
+ [ -n "$LIB_LEX" ] && echo "LIB_LEX=$LIB_LEX" >> $OUTMK
+ [ -n "$__CDBG" ] && echo "__CDBG=$__CDBG" >> $OUTMK
+ [ -n "$__SAN" ] && echo "__SAN=$__SAN" >> $OUTMK
+ cat $INMK >> $OUTMK || exit 1
+}
+check_make () {
+ check_for "make(1)"
+
+ cat <<EOT >$TMPMK
+all:
+ true
+EOT
+ make -f $TMPMK >> $LOG 2>&1
+ test_result && {
+ MAKE=make
+ return
+ }
+
+ echo "Failed makefile:" >>$LOG
+ pr -n -t $TMPMK >>$LOG
+
+ check_for "bmake(1)"
+
+ cat <<EOT >$TMPMK
+all:
+ true
+EOT
+ bmake -f $TMPMK >> $LOG 2>&1
+ test_result && MAKE=bmake
+}
+check_lex () {
+ check_for '$(LEX)'
+
+ cat <<EOT >$TMPL
+%%
+%%
+int main() { return 0; }
+int yywrap(void) { return 0; }
+EOT
+ compile
+ test_result && return
+
+ check_for 'flex(1)'
+
+ LEX=flex
+ gen_mk
+ compile
+ test_result && return
+
+ check_for 'lex(1)'
+
+ LEX=lex
+ gen_mk
+ compile
+ test_result && return
+}
+check_strlcpy () {
+ check_for "strlcpy(3)"
+
+ cat <<EOT >$TMPC
+#include <string.h>
+int
+main(int argc, char **argv) {
+ char a[10];
+ (void)argc;
+ strlcpy(a, *argv, sizeof a);
+ return 0;
+}
+EOT
+ compile
+ if test_result; then
+ DEFS="$DEFS -DHAVE_STRLCPY"
+ else
+ H=compat.h
+ grep -q '<sys/types\.h>' $H 2>/dev/null || cat <<EOT >>$H
+#include <sys/types.h>
+EOT
+ cat <<EOT >>$H
+size_t strlcpy(char *, const char *, size_t);
+EOT
+ fi
+}
+check_strlcat () {
+ check_for "strlcat(3)"
+
+ cat <<EOT >$TMPC
+#include <string.h>
+int
+main(int argc, char **argv) {
+ char a[10];
+ (void)argc;
+ *a = 0;
+ strlcat(a, *argv, sizeof a);
+ return 0;
+}
+EOT
+ compile
+ if test_result; then
+ DEFS="$DEFS -DHAVE_STRLCAT"
+ else
+ H=compat.h
+ grep -q '<sys/types\.h>' $H 2>/dev/null || cat <<EOT >>$H
+#include <sys/types.h>
+EOT
+ cat <<EOT >>$H
+size_t strlcat(char *, const char *, size_t);
+EOT
+ fi
+}
+check_wcslcpy () {
+ check_for "wcslcpy(3)"
+
+ cat <<EOT >$TMPC
+#include <stdio.h>
+#include <wchar.h>
+int
+main() {
+ wchar_t a, b;
+ a = getwchar();
+ wcslcpy(&b, &a, 1);
+ return 0;
+}
+EOT
+ compile
+ test_result && DEFS="$DEFS -DHAVE_WCSLCPY"
+}
+ [ ! -s compat.h ] && rm compat.h
+OUTMK=cfg.mk
+INMK=mk.config
+CFG=config
+TMPNAM=.$CFG
+TMPMK=${TMPNAM}.mk
+TMPC=${TMPNAM}.c
+TMPL=${TMPNAM}.l
+OUT=${TMPNAM}.out
+ERR=${TMPNAM}.err
+LOG=${CFG}.log
+rm -f $LOG
+gen_mk
+
+check_make
+check_lex
+check_strlcpy
+check_strlcat
+check_wcslcpy
+
+gen_mk
+cat version.mk >> $OUTMK || exit 1
+rm -f $TMPNAM*
diff --git a/doc/fonts/README b/doc/fonts/README
new file mode 100644
index 0000000000000..8f234482c6641
--- /dev/null
+++ b/doc/fonts/README
@@ -0,0 +1,13 @@
+README for the Heirloom Troff Font Handling Manual
+==================================================
+
+To build this manual, you need the Garamond Premier Pro
+Opticals fonts from Adobe, and need to set the TROFFONTS
+variable accordingly.
+
+Note that as of autumn 2005, it was not possible to
+download fonts bought directly from Adobe using a Linux
+system. There are many other shops that sell Adobe fonts,
+though, and these usually allow downloads for Linux users.
+
+Gunnar Ritter 01/08/07
diff --git a/doc/fonts/doc.more b/doc/fonts/doc.more
new file mode 100644
index 0000000000000..ec6911ae3e2bc
--- /dev/null
+++ b/doc/fonts/doc.more
@@ -0,0 +1,1518 @@
+
+
+
+
+
+ Font Handling in Troff With PostScript
+ Devices
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ FONT HANDLING IN TROFF
+
+ WITH POSTSCRIPT DEVICES
+
+
+
+
+
+ Gunnar Ritter
+
+ 10/24/06
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Heirloom Documentation Tools
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://nâ€tâ€
+ roff.github.io/heirloom/doctools.html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _T_h_e _b_a_s_i_c_s
+
+ Heirloom _t_r_o_f_f understands two ways to
+ select PostScript fonts.
+ The current method can access PostScript
+ font files directly. Fonts are selected
+ using an extended ‘‘.fp’’ request. As
+ simple examples,
+
+ .fp 0 R somefont pfb
+ .ft R
+ Here is some text in somefont.
+ Here is some text in somefont.
+
+ or, with the Linux Libertine font used in
+ this document,
+
+ .fp 0 R LinLibertine_R otf
+ .ft R
+ Here is some text in Linux Libertine Regular.
+ Here is some text in Linux Libertine Regular.
+
+ But it is also possible to have differâ€
+ ent names for the metrics and glyph data
+ files, as in
+
+ .fp 0 R mykerning.afm somefont.pfb
+ .ft R
+ This text prints in somefont using modified kerning.
+ This text prints in somefont using modified kerning.
+
+ The default higherâ€resolution ‘‘ps’’
+ PostScript device always uses AFM files;
+ it supports the conventional ‘‘.fp’’ reâ€
+ quest for backwards compatibility to seâ€
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ lect preâ€installed fonts from the PDF
+ base set.
+ With fonts selected by this method, loâ€
+ calized input processing is performed acâ€
+ cording to the LC_CTYPE environment variâ€
+ able, or according to a documentâ€specific
+ value set by the ‘‘.lc_ctype’’ request:
+
+ . Enable long request names.
+ .do xflag 3
+ . de_DE.utf8 is for GNU libc; de_DE.UTFâ€8 works elsewhere.
+ .lc_ctype de_DE.utf8
+ Deutscher Text mit ‹Anführungszeichen›
+ Deutscher Text mit ‹Anführungszeichen›
+ .sp
+ The first five small letters of the Greek alphabet: α β γ δ ε
+ The first five small letters of the Greek alphabet: α β γ δ ε
+
+ Note that any use of AFM, OpenType, or
+ TrueType files requires that the output
+ of _t_r_o_f_f is passed to the exactly matchâ€
+ ing version of _d_p_o_s_t, i.e. to the one
+ that was delivered with the same release
+ of this package. Sending such _t_r_o_f_f outâ€
+ put directly to a print spooler that inâ€
+ vokes a system version of _d_p_o_s_t will thus
+ usually not work.
+ The historical method requires font taâ€
+ bles to be generated manually. It is
+ still supported, and is still the default
+ for the lowerâ€resolution ‘‘post’’ Postâ€
+ Script device, but it is not recommendâ€
+ ed anymore that it is used for adding
+ fonts. Localized input processing accordâ€
+ ing to LC_CTYPE is not available with
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ this method.
+
+
+ _I_n_s_t_a_l_l_i_n_g _P_o_s_t_S_c_r_i_p_t _T_y_p_e _1 _f_o_n_t_s
+
+ Making additional fonts available is
+ easy with the current method. If you buy
+ a PostScript Type 1 font for use with
+ _t_r_o_f_f, select the Windows version. You
+ will get a set of files from the venâ€
+ dor. Only two of them are of interest for
+ _t_r_o_f_f:
+
+ xxxxxxxx.afm
+ This is the metrics file. _t_r_o_f_f acâ€
+ cesses it to learn the widths of charâ€
+ acters in the font.
+
+ xxxxxxxx.pfb
+ This file contains the actual glyph
+ data. _t_r_o_f_f does not really need this
+ file, but the printer or PDF converter
+ does. In many cases, it is most conâ€
+ venient to include the data directly
+ into the .ps file generated, as in the
+ examples above.
+
+ Create a directory to hold your fonts.
+ For compatibility with future verâ€
+ sions of _t_r_o_f_f, it is recommended that
+ it is put outside the _t_r_o_f_f hierarâ€
+ chy /usr/ucblib/doctools; something beâ€
+ low /usr/local may be a good choice.
+ For each font you want to install, copy
+ or link both the AFM and the PFB file
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ into the directory. Set the TROFFONTS
+ environment variable to this directory;
+ if you have multiple font directories,
+ you can separate them in TROFFONTS by
+ colons, just as in the PATH variable for
+ the shell, e.g. ‘‘TROFFONTS=/usr/local/
+ share/fonts:/usr/share/fonts export TROFâ€
+ FONTS’’. Write the definition in your
+ ‘‘.profile’’ or a similar startup file to
+ make it permanent. You can now use the
+ fonts with _t_r_o_f_f. If you want to install
+ more fonts later, it is sufficient to put
+ them into the font directory.
+
+
+ _I_n_s_t_a_l_l_i_n_g _O_p_e_n_T_y_p_e _o_r _T_r_u_e_T_y_p_e _f_o_n_t_s
+
+ The procedure for OpenType and Trueâ€
+ Type fonts is nearly the same as for
+ Type 1 fonts, except that there is only
+ one file ‘‘FontName.otf’’ (or ‘‘Fontâ€
+ Name.ttf’’) with them that contains both
+ metrics and glyph data. Just copy this
+ file to a directory given in the TROFâ€
+ FONTS path.
+
+
+ _U_s_i_n_g _O_p_e_n_T_y_p_e _f_e_a_t_u_r_e_s
+
+ Highâ€quality OpenType fonts may contain
+ feature tables that allow special typoâ€
+ graphic effects. For example, the Linâ€
+ ux Libertine font contains superscripts
+ characters that can be accessed with the
+ ‘‘.feature’’ request in _t_r_o_f_f:
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .do xflag 3
+ .fp 1 R LinLibertine_R otf
+ .fp 0 U LinLibertine_R otf
+ .feature U +sups
+ .ft R
+ Regular text which ends with\fUsuperscript\fR.
+ Regular text which ends withsuperscript.
+
+ To retrieve a list of features in an
+ individual font that are available with
+ _t_r_o_f_f, use ‘‘otf_info s font.otf’’. Typiâ€
+ cal useful features are:
+
+ +c2sc converts capitals to small capitals
+ +case substitutions for use in combination with
+ text in allâ€capital letters
+ +onum oldâ€style numerals
+ +pnum proportional (lining) numerals
+ +pnum +onum proportional oldâ€style numerals
+ +smcp converts lowerâ€case letters to small capitals
+ +smcp +c2sc converts all letters to small capitals
+ +titl titling characters
+ +sups superscript
+ +infs subscript
+ +zero slashed zero
+
+ Features such as ‘‘aalt’’ or ‘‘ornm’’
+ which only map sets of very special charâ€
+ acters to different positions are norâ€
+ mally not useful with _t_r_o_f_f since these
+ characters can be accessed directly usâ€
+ ing ‘‘[name]’’ escape sequences anyway.
+ To make an individual alternate character
+ the default, the ‘‘.ftr’’ request can be
+ used:
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ._d_o _x_f_l_a_g _3
+ ._f_p _0 _R _L_i_n_L_i_b_e_r_t_i_n_e__R _o_t_f
+ ._f_t_r _R _h\[_h._a_l_t]
+ ._f_t _R
+ _U_s_i_n_g _a_l_t_e_r_n_a_t_e _c_h_a_r_a_c_t_e_r _i_n _t_h_e _w_o_r_d ‘‘_h_e_l_l_o.’’
+ Using alternate character in the word ‘‘ello.’’
+
+ Feature mappings result in changes to
+ the same internal data structures as
+ the ‘‘.ftr’’ request. It is thus posâ€
+ sible to make adjustments to mappings
+ by using ‘‘.ftr’’ after ‘‘.feature’’, or
+ to create personalized variants by using
+ ‘‘.ftr’’ based on the data obtained from
+ ‘‘otf_info s’’.
+ The ‘‘.feature’’ request must still be
+ active for a font when a character is
+ printed; disabling a feature with ‘‘.feaâ€
+ ture F feat’’ only works completely if
+ all of its mappings are still in posiâ€
+ tion. It is thus recommended that the
+ ‘‘.feature’’ request is used only once
+ for a font immediately after it has been
+ mounted, and that a font is mounted mulâ€
+ tiple times, each time for enabling an
+ individual feature set. Doing so has the
+ additional advantage that switching beâ€
+ tween features is conveniently possible
+ using the ‘‘f’’ escape sequence.
+
+
+ _U_s_i_n_g _f_o_n_t_s _w_i_t_h _o_l_dâ€_s_t_y_l_e _n_u_m_e_r_a_l_s
+
+ A Type 1 font with oldâ€style numerals
+ but otherwise standard characters usually
+
+
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ does not require any special mechanism.
+ It can simply be mounted, selected, and
+ used.
+ Oldâ€style numerals contained in OpenType
+ fonts can be accessed conveniently by
+ mapping them to the standard ASCII numâ€
+ bers with the ‘‘.feature’’ request:
+
+ .do xflag 3
+ .fp 1 R LinLibertine_R otf
+ .feature R +onum
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+
+
+ _U_s_i_n_g _f_o_n_t_s _w_i_t_h _s_m_a_l_l _c_a_p_i_t_a_l _l_e_t_t_e_r_s
+
+ Small capital fonts sometimes need letâ€
+ ter space tracking. Thus e.g. to use the
+ Linux Libertine small capital font, you
+ can write something like
+
+ .do xflag 3
+ .fp 0 SC LinLibertine_R otf
+ .feature SC +smcp
+ .track SC 1 1.2 40 0
+ .ft SC
+ This text prints in Small Capitals.
+ This text prints in Small Capitals.
+
+
+ _U_s_i_n_g _a _c_o_m_b_i_n_a_t_i_o_n _o_f _e_x_p_e_r_t _a_n_d _s_t_a_n_â€
+ _d_a_r_d _f_o_n_t_s _f_o_r _s_m_a_l_l _c_a_p_i_t_a_l_s
+
+ A Type 1 expert font contains small capâ€
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ital letters but no upperâ€case capital
+ letters. Since it would be very inconveâ€
+ nient to change the font explicitly for
+ each upperâ€case letter, the fallback seâ€
+ quence is useful in this case. The exâ€
+ pert font is selected as text font, but
+ for each upperâ€case letter encountered,
+ _t_r_o_f_f changes automatically to the stanâ€
+ dard font:
+
+ .do xflag 3
+ .fp 1 R normalfont pfb
+ .fp 0 E expertfont pfb
+ .track E 1 .2 24 2
+ .fallback E R
+ .ft E
+ This text prints in Small Capitals.
+ This text prints in Small Capitals.
+
+ For OpenType fonts, all small capital
+ letters are contained within the base
+ font, and the ‘‘smcp’’ feature accesses
+ them as shown above.
+
+
+ _U_s_i_n_g _a _c_o_m_b_i_n_a_t_i_o_n _o_f _e_x_p_e_r_t _a_n_d _s_t_a_n_â€
+ _d_a_r_d _f_o_n_t_s _f_o_r _o_l_dâ€_s_t_y_l_e _n_u_m_e_r_a_l_s
+
+ This also uses the fallback sequence,
+ but since the standard numerals are
+ present in the standard font, they have
+ to be hidden first so that _t_r_o_f_f does not
+ select them:
+
+ .do xflag 3
+
+
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .fp 1 R normalfont pfb
+ .fp 0 E expertfont pfb
+ .fallback R E
+ .hidechar R 0123456789
+ .ft R
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+
+
+ _U_s_i_n_g _t_h_e _e_x_p_e_r_t _f_o_n_t _f_o_r _b_o_t_h _s_m_a_l_l _c_a_p_â€
+ _i_t_a_l_s _a_n_d _o_l_dâ€_s_t_y_l_e _n_u_m_e_r_a_l_s
+
+ The examples above can also be combined.
+ Since the ‘‘.track’’ request does not afâ€
+ fect the tracking of fonts that are seâ€
+ lected by the fallback sequence, it is
+ sufficient to mount each font once:
+
+ .do xflag 3
+ .fp 1 R normalfont pfb
+ .fp 0 E expertfont pfb
+ .fallback R E
+ .fallback E R
+ .track E 1 .2 24 2
+ .hidechar R 0123456789
+ .ft R
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+ The numerals 0 1 2 3 4 5 6 7 8 9 are in oldâ€style.
+ .br
+ .ft E
+ But this text prints in Small Capitals.
+ But this text prints in Small Capitals.
+
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _U_s_i_n_g _t_h_e _e_x_p_e_r_t _f_o_n_t _f_o_r _l_i_g_a_t_u_r_e_s
+
+ PostScript Type 1 fonts usually do not
+ contain ligatures for ff, ffi, and ffl
+ in the base font; an expert font delivâ€
+ ers them in addition. Automatic substituâ€
+ tion of such ligatures can be enabled usâ€
+ ing the ‘‘.flig’’ request in combination
+ with the fallback sequence:
+
+ .do xflag 3
+ .fp 1 R normalfont pfb
+ .fp 0 E expertfont pfb
+ .fallback R E
+ .flig R ff \(ff ffi \(Fi ffl \(Fl
+ .ft R
+ effective office offline
+ eective ofice ofline
+
+ OpenType fonts contain all available
+ ligatures in the base font, so no special
+ procedure needs to be applied with them.
+
+
+ _D_e_f_i_n_i_n_g _a_d_d_i_t_i_o_n_a_l _l_i_g_a_t_u_r_e_s
+
+ Fonts may provide ligatures beyond the
+ five standard _t_r_o_f_f ones. They are not
+ activated by default regardless of any
+ definitions in the font metrics files,
+ but can be enabled individually as deâ€
+ sired; _t_r_o_f_f will then replace sequences
+ of characters automatically with them as
+ with the standard ligatures. For examâ€
+ ple, Linux Libertine contains ligatures
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ for use with the historic ‘‘’’ letter
+ variant:
+
+ .do xflag 3
+ .fp 1 R LinLibertine_R otf
+ .flig R \[longs]\[longs] \[longs_longs] \[longs]i \[longs_i]
+ .flig R \[longs]\[longs]i \[longs_longs_i]
+ U\[longs]e the\[longs]e ligatures
+ for cla\[longs]\[longs]ic typography.
+ Ue thee ligatures for clac typography.
+
+ _t_r_o_f_f splits ligatures in two parts when
+ hyphenating words. It is thus necessary
+ that any part of a ligature that is not
+ a single character is also defined as a
+ ligature, so ‘‘’’ and ‘‘’’ are prerequiâ€
+ sites for ‘‘’’.
+ It is normally not advisable to enâ€
+ able ligatures with special display
+ forms (such as in ‘‘seion’’) using
+ the ‘‘.flig’’ mechanism; they should
+ be set manually as special characters
+ (‘‘\[c_t]’’ in this case) at precise loâ€
+ cations.
+
+
+ _C_h_o_o_s_i_n_g _b_e_t_w_e_e_n _m_u_l_t_i_p_l_e _p_o_s_s_i_b_l_e _l_i_g_a_â€
+ _t_u_r_e_s
+
+ If a font contains only twoâ€characâ€
+ ter ligatures, there are two possibilâ€
+ ities for automatic ligature building
+ with an input sequence that would form
+ a threeâ€character ligature, e.g., ‘‘ffi’’
+ could be constructed as ‘‘i’’ or ‘‘ffi’’.
+
+
+ 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _t_r_o_f_f normally selects the first ligature
+ available, so ‘‘i’’ would be the default.
+ In many cases, the other choice would be
+ aesthetically preferable; this is the apâ€
+ plication for the ‘‘.fdeferlig’’ request:
+
+ .do xflag 3
+ .fp 1 R LinLibertine_R otf
+ .flig R \[longs]\[longs] \[longs_longs] \[longs]i \[longs_i]
+ .fdeferlig R \[longs]\[longs]i
+ Choo\[longs]ing the \[longs]econd ligature looks po\[longs]\[longs]ibly better.
+ Choong the econd ligature looks pobly better.
+
+
+ _C_o_m_b_i_n_i_n_g _d_i_f_f_e_r_e_n_t _f_o_n_t_s
+
+ Different fonts often have different viâ€
+ sual sizes even if they are set in the
+ same nominal point size. Also fonts from
+ different vendors are often based on difâ€
+ ferent standards for character heights.
+ To adjust this, the ‘‘.fzoom’’ request
+ is available. As implied by this purâ€
+ pose, it only applies to characters that
+ are actually in the current font, not to
+ characters from another font that have
+ been selected using the fallback seâ€
+ quence.
+
+ .do xflag 3
+ .fp 1 R LinLibertine_R otf
+ .fp 0 M LinLibertine_M otf
+ .track M 1 â€.1 40 â€0
+ .fzoom M .8
+ \fMLibertine Monospace\fR must be adjusted to fit with Roman.
+
+
+ 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Libertine Monospace must be adjusted to fit with Roman.
+
+ The ‘‘.fzoom’’ request affects all charâ€
+ acters set in the respective font on the
+ current output line. To create single
+ zoomed words, mount a font twice under
+ different names, but zoom it only once.
+
+
+ _S_p_a_c_i_n_g _o_u_t _i_n_d_i_v_i_d_u_a_l _w_o_r_d_s
+
+ Spacing out the characters of individâ€
+ ual words is commonly done for highâ€
+ lighting text e.g. with German blackletâ€
+ ter faces; the ‘‘.track’’ request can be
+ used for this as well. Like ‘‘.fzoom’’,
+ ‘‘.track’’ applies to all characters in
+ the respective font on an entire output
+ line. Thus it is also necessary to mount
+ a font twice but to track it only once
+ when it is used for tracking individual
+ words.
+
+
+ _S_e_t_t_i_n_g _t_e_x_t _i_n _a_l_lâ€_c_a_p_i_t_a_l _l_e_t_t_e_r_s
+
+ When setting text in allâ€capital letâ€
+ ters, it is normally necessary to zoom
+ the font to a smaller size than that of
+ the lowerâ€case text surrounding it, and
+ to track it as well. Mounting the regular
+ font a second time is the most convenient
+ way to handle this:
+
+ .do xflag 3
+
+
+ 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .fp 1 R LinLibertine_R otf
+ .fp 0 C LinLibertine_R otf
+ .track C 1 1.2 40 0
+ fzoom C .9
+ Regular text and \fCALLâ€CAPITAL TEXT\fR which ends.
+ Regular text and ALLâ€CAPITAL TEXT which ends.
+
+
+ _P_a_i_r_w_i_s_e _k_e_r_n_i_n_g
+
+ Pairwise kerning is enabled unless the
+ x0 option is given. The ‘‘.kern’’ request
+ disables it. Kerning tables are initially
+ read from the AFM, OpenType, or TrueType
+ files; this default kerning only applies
+ if two adjacent characters are from the
+ same font. A fontâ€specific kerning table
+ can be disabled using the ‘‘.fkern’’ reâ€
+ quest.
+ There are two methods to adjust the
+ kerning tables: In some cases, it is most
+ convenient to create a private copy of
+ the AFM file and to adjust the ‘‘KPX’’
+ entries in it. This has the advantage
+ that the modified kerning pairs are immeâ€
+ diately available for use in other docuâ€
+ ments.
+ For OpenType or TrueType fonts, or for
+ cases where this is not suitable with
+ Type 1 fonts, or not possible because the
+ characters in the kerning pair originate
+ from different fonts, _t_r_o_f_f provides the
+ ‘‘.kernpair’’ request:
+
+ .do xflag 3
+
+
+ 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .fp 1 R LinLibertine_R otf
+ .feature R +onum
+ .kernpair R 0 R / 50
+ .kernpair R / R 1 90
+ .kernpair R 1 R / 40
+ .kernpair R / R 2 80
+ 0/1/2
+ 0/1/2
+
+ In this example, oldâ€style numerals from
+ Linux Libertine are mixed with the slash
+ character, and are adjusted to achieve
+ matching visual letter spacing.
+
+
+ _K_e_r_n_i_n_g _o_f _a _c_h_a_r_a_c_t_e_r _i_n _a_n_y _c_o_m_b_i_n_a_t_i_o_n
+
+ It is sometimes useful to add a cerâ€
+ tain amount of space whenever a characâ€
+ ter appears, for example before ‘‘;’’ or
+ ‘‘?’’, or on the inner sides of guilleâ€
+ mots in French/Swiss style. The ‘‘.kerâ€
+ nafter’’ and ‘‘.kernbefore’’ requests are
+ useful for this:
+
+ .do xflag 3
+ .kernafter R ; 66 ? 66
+
+ If the characters affected by these reâ€
+ quests are also member of a regular kernâ€
+ ing pair, the resulting added space is
+ the sum of both definitions. These reâ€
+ quests are applied at the same places as
+ kerning pairs, i.e. they have no effect
+ if following or preceding a motion comâ€
+
+
+ 15
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ mand, ‘‘’’ or line margin, and they are
+ additionally restricted to have no effect
+ if the other character is a space.
+
+
+ _H_a_n_g_i_n_g _c_h_a_r_a_c_t_e_r_s
+
+ Since there are no tables for hangâ€
+ ing characters in AFM files, values must
+ be given explicitly in _t_r_o_f_f source code
+ using the ‘‘.lhang’’ and ‘‘.rhang’’ reâ€
+ quests. Both accept a font specification
+ followed by one or more pairs of characâ€
+ ters and values:
+
+ .do xflag 3
+ .ps 10
+ .fp 1 R somefont pfb
+ .lhang R V 50 J 40
+ .rhang R (hy 80
+
+ Adjustments are given in units of
+ 1/72000 inch multiplied by the actual
+ point size, or 1/1000 of the em size when
+ the line is printed. Thus in this examâ€
+ ple, the left margin is shifted to the
+ left by .5 points when the leftmost letâ€
+ ter is a ‘‘V’’, and by .4 points when
+ the leftmost letter is a ‘‘J’’; the right
+ margin is shifted to the right by .8
+ points when the rightmost letter is a hyâ€
+ phen.
+ Left margin adjustments are evaluated
+ before the letters that fit on the curâ€
+ rent line are computed, and can thus
+
+
+ 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ principally be of any length. In conâ€
+ trast, right margin adjustments are evalâ€
+ uated after this computation is finished,
+ and the adjustment is simply added to the
+ word space of the output line. Thus a
+ positive right adjustment that is large
+ in relation to the line length will cause
+ visible holes, and a negative adjustment
+ will ultimately cause the words on the
+ line to be printed over each other. This
+ is not a problem for the typical apâ€
+ plication of hanging punctuation for viâ€
+ sual alignment, though; if a line with
+ eight word spaces is shifted in the examâ€
+ ple above, each word space is enlarged by
+ only 1/100 em.
+
+
+ _M_a_t_h_e_m_a_t_i_c_a_l _a_n_d _o_t_h_e_r _s_p_e_c_i_a_l _c_h_a_r_a_c_t_e_r_s
+
+ Special mathematical characters like
+ ‘‘(’’, greek letters like ‘‘(*a’’, and,
+ with the ‘‘pslow’’ device, even the puncâ€
+ tuation characters (or ` ´ # < > @
+ are normally not chosen from the current
+ font, but are taken from the special font
+ instead. (PostScript names (e.g. ‘‘[numâ€
+ bersign]’’, ‘‘[less]’’, ‘‘[at]’’) access
+ characters from the current font.) The
+ ‘‘.fps’’ request can be used to overâ€
+ ride this behavior. In particular, this
+ is useful to set mathematical text with
+ a different font. To use Linux Libertine
+ for greek letters and mathematical symâ€
+ bols:
+
+
+ 17
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ .do xflag 3
+ .fps math,greek,punct,large 1 R LinLibertine_R otf
+ .fp 2 I LinLibertine_RI otf
+ .fallback I R
+ .EQ
+ a = pi {r sup 2}
+ .EN
+
+
+ _H_e_l_p_e_r _u_t_i_l_i_t_i_e_s
+
+ The _o_t_f__i_n_f_o utility shows the contents
+ of an OpenType or TrueType font file just
+ as _t_r_o_f_f interprets it. It emits an ASCII
+ format that is readable by humans and can
+ also be used for further processing with
+ shell scripts. It is useful to retrieve
+ lists of characters and features supportâ€
+ ed with the font.
+ The shell script ‘‘stuff/showfont.sh’’
+ in the source code distribution uses
+ _t_r_o_f_f and possibly _o_t_f__i_n_f_o to print a
+ map of all characters in an AFM, Openâ€
+ Type, or TrueType font along with their
+ PostScript names.
+
+
+ _L_i_m_i_t_a_t_i_o_n_s
+
+ _d_p_o_s_t uses a method to embed CFFâ€
+ based (PostScriptâ€style) OpenType fonts
+ in PostScript documents that is only
+ available with PostScript 3 interpreters;
+ older printing equipment that uses Postâ€
+ Script Level 2 or below cannot handle
+
+
+ 18
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ such documents directly. The recommended
+ workaround is to convert the PostScript
+ output to a PDF document and to print it
+ using a PDF viewer or reverse conversion
+ program. Also you may have to update
+ your copy of Ghostscript in order to creâ€
+ ate PDF files with proper font embedding
+ from such output.
+ Embedding TrueType fonts in PostScript
+ documents requires PostScript 3 or Postâ€
+ Script Level 2 of at least version 2013.
+ _t_r_o_f_f only supports OpenType features
+ that result in singleâ€character substituâ€
+ tions insensitive of context (except for
+ the ‘‘fi fl ff ffi ffl’’ ligatures and
+ kerning which are enabled by default if
+ possible). Also _t_r_o_f_f ignores any feaâ€
+ tures that are not mapped to the ‘‘DFLT’’
+ or ‘‘latn’’ languages in an OpenType
+ font.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/fonts/doc.ps b/doc/fonts/doc.ps
new file mode 100644
index 0000000000000..98e66ec516432
--- /dev/null
+++ b/doc/fonts/doc.ps
@@ -0,0 +1,44884 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%LanguageLevel: 3
+%%DocumentFonts: LinLibertineO LinLibertineDisplayO LinLibertineOI
+%%+ LinLibertineMO Symbol
+%%Pages: 18
+%%DocumentMedia: x420y595 420 595 0 () ()
+%%DocumentNeededResources: procset FontSetInit 0 0
+%%+ font Symbol
+%%DocumentSuppliedResources: font LinLibertineO
+%%+ font LinLibertineDisplayO
+%%+ font LinLibertineOI
+%%+ font LinLibertineMO
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%IncludeResource: procset FontSetInit 0 0
+%%BeginResource: font LinLibertineO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineO 483417 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010e4c696e4c6962657274696e654f000102000100411c0b11001c
+0b12011c0b13021c0b1403f81504290c03b30c04fecefb941c181bfaf9051d00005e
+9d0f1d00000000101d00007380111d000000441d00067eb012098e0200010008000f
+001b0029003000370043004a00510057005d0064006b007100770082008d009700a1
+00a700ad00b300b900bf00c500cc00d300d900df00e900f300fa01010107010d0118
+01230129012f01390143014f015b0166017101750179017f0185018c01930199019f
+01a601ad01b701b901bb01c601d101dd01e901f501fb0201020d0219021f02250229
+022d02330239024502510257025d0268026b026e0275027c02820288029502a202a8
+02ae02ba02c602cc02d202d802de02e902f402fc0304030c0314031a032003240328
+032e0334033b03420348034e035303580365037203790380038b039603a103ac03b2
+03b803c203cc03d103d803df03e603ed03f403fb0402040904100417041e0425042c
+0433043a04410448044f0456045d0464046b0472047904800487048e0495049c04a3
+04aa04af04b404bb04c204c904d004d704de04e504ec04f304fa05010508050f0514
+051905200527052e0535053c0543054a05510558055f0566056d0574057b05820589
+05900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f205f90600
+0607060e0615061c0623062a06310638063f0646064d0654065b0662066906700677
+067e0685068c06920698069f06a606ad06b406bb06c206c906d006d706de06e506ec
+06f306fa07010708070f07160720072a073107380743074e0755075c0763076a0771
+0778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da07e107e8
+07ef07f60802080e081a0826082d0834083b0842084908500857085e0865086c0873
+087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc08e308eb
+08f208f909000907090e0915091c0923092a09310938093f0946094d0954095b0962
+096909700977097e0985098c0993099a09a109a809af09b609bd09c409cb09d209d9
+09e009e709ee09f509fc0a030a0a0a110a180a220a290a300a350a3c0a430a4a0a51
+0a580a5f0a660a6d0a740a7b0a820a890a900a970a9e0aa50aac0ab30aba0ac10acc
+0ad30ada0ae10ae80af10aff0b060b0d0b140b1b0b220b290b300b370b3e0b450b4c
+0b530b5a0b610b680b6f0b760b7d0b840b970b9e0ba50bac0bb30bba0bc10bc80bcf
+0bd60bdd0be40beb0bf20bf90c000c070c0e0c150c1c0c230c2a0c310c380c3f0c46
+0c4d0c570c650c6f0c790c890c9d0cb40cbe0cc80ccf0cd60cdd0ce60cef0cf60cfd
+0d040d0b0d120d190d200d270d2e0d350d3c0d430d4a0d510d580d5f0d660d6d0d74
+0d7b0d820d890d900d970d9e0da50db80dc20dcc0dd60df20df90e000e070e0e0e15
+0e1c0e230e2a0e310e380e3f0e460e4d0e540e5b0e620e690e700e770e7e0e850e8c
+0e930e9a0ea10ea80eaf0eb80ec10ecf0ed80ee20ee90ef20ef90f000f0d0f140f1b
+0f220f290f300f370f3e0f450f4c0f530f5a0f610f680f6f0f760f7d0f840f8b0f92
+0f990fa00fa70fae0fb50fbc0fc80fcf0fd60fdd0fe40feb0ff20ff910001007100e
+1015101c1023102a10311038103f1046104d1054105b1062106910701077107e1085
+108c1093109a10a110a810af10b610bd10c410cb10d210d910e010e710ee10f510fc
+1103110a11111118111f1126112d1134113b1142114911501157115e1165116c1173
+117a11811188118f1196119d11a411ab11b211b911c011c711ce11d511dc11e311ea
+11f111f811ff1206120b12181222122b1237123f124812541260126a127b12801284
+1289128e12951299129c12a112a512aa12b012b212b412b612bd12bf12c212c712ca
+12d112d412d712da12df12eb12fa13041310131813211335133a133e13431348134f
+13531356135b135f1364136a136c136e13751377137a138013851388138f13921395
+1398139d13a913b813c413d013da13e113e713ef13f613fd14011407140e1415141c
+1423142a14311438143f1446144d1454145b1462146914701477147e1485148c1493
+149a14a114a814af14b614bf14c814d114da14e314ec14f514fe1507151015191522
+15291532153b1544154d1556155f15681571157a1583158c1595159e15a715b015b9
+15c215cb15d415dd15e615ef15f81601160a1613161c1625162e1637164016491652
+165b1664166d1676167f16881691169a16a316ac16b516be16c716d016d916e216eb
+16f416fd1706170f17181721172a1733173c1745174e1757176017691772177b1782
+178b1794179d17a617af17b817c117ca17d317dc17e517ee17f517fe1807180e1815
+181e1827182e1835183c1843184a18511858185f1866186d1874187b188218891892
+189b18a418ad18b418bb18c218c918d018d718de18e518ec18f318fa1903190c1913
+191a19211928192f1936193d1944194b1952195919601967196e1975197c1983198a
+19911998199f19a619ad19b419bb19c219c919d019d719de19e519ec19f319fa1a01
+1a081a0f1a161a1d1a241a2b1a321a391a401a471a4e1a551a5c1a631a6a1a711a78
+1a7f1a861a8d1a941a9b1aa21aa91ab01ab71abe1ac51acc1ad31ada1ae31aea1af1
+1af81aff1b061b0d1b141b1b1b221b291b301b371b3e1b451b4c1b531b5a1b611b68
+1b6f1b761b7d1b841b8b1b921b991ba01ba71bae1bb51bbc1bc31bcc1bd51bde1be7
+1bf01bf91c021c0b1c141c1d1c241c2d1c361c3f1c481c511c5a1c631c6c1c751c7c
+1c851c8e1c971ca01ca91cb21cbb1cc41ccd1cd61cdf1ce81cf11cfa1d031d0c1d15
+1d1e1d271d301d391d421d4b1d541d5d1d661d6f1d781d811d8a1d911d981d9f1da9
+1db91dc01dc71dd11ddb1de51df51dfc1e031e0d1e1d1e271e311e3d1e471e571e5e
+1e651e6f1e791e831e8a1e9a1ea41eab1eb21eb91ec01ec71ece1ed51edc1ee31eea
+1ef41efe1f081f0f1f161f1d1f241f2b1f321f391f401f471f4e1f551f5c1f631f6a
+1f711f781f7f1f861f8d1f941f9b1fa21fa91fb01fb71fbe1fc51fcc1fd31fda1fe1
+1fe81fef1ff61ffd2004200b2012201920202027202e2035203c2043204a20512058
+205f2066206d2074207b2082208920902097209e20a520ac20b320ba20c120c820cf
+20d620dd20e420eb20f220f921002107210e2115211c2123212a21312138213f2146
+214d2154215b2162216921702177217e2185218c2193219a21a121a821af21b621bd
+21c421cb21d221d921e021e721ee21f521fc2203220a22112218221f2226222d2234
+223b2242224922502257225e2265226c2273227a22812288228e2294229a22a022a9
+22b222b922c022c722ce22d522dc22e322ea22f122f822ff2306230d2314231b2322
+232923302337233e2345234c2353235a2364236b2372237923802387238e2395239c
+23a323aa23b123b823bf23c623cd23d423db23e223e923f023f723fe2405240c2413
+241a24212428242f2436243d2444244b2452245924602467246e2475247c2483248a
+24912498249f24a624ad24b424bb24c224c924d024d724de24e524ec24f324fa2501
+2508250f2516251d2524252b2532253925402547254e2555255c2563256a25712578
+257f2586258d2594259b25a225a925af25b525bc25c325ca25d125d825df25e625ed
+25f425fb2602260926102617261e2625262c2633263a26412648264f2656265d2664
+266b2672267926802687268e2695269c26a326aa26b126b826bf26c626cd26d426db
+26e226e926f026f726fe2705270c2713271a27212728272f2736273d2744274b2752
+275927602767276e2775277c2783278a27912798279f27a627ad27b427bb27c227c9
+27d027d727de27e527ec27f327fa28012808280f2816281d2824282b283228392840
+2847284e2855285c2863286a28712878287f2886288d2894289b28a228a928b028b7
+28be28c528cc28d328da28e128e828ef28f628fd2904290b2912291929202927292e
+2935293c2943294a29512958295f2966296d2974297b2982298929902997299e29a5
+29ac29b329ba29c129c829cf29d629dd29e429eb29f229f92a002a072a0e2a152a1c
+2a232a2a2a312a382a3f2a462a4d2a542a5b2a622a692a702a772a7e2a852a8c2a93
+2a9a2aa12aa82aaf2ab62abd2ac42acb2ad22ad92ae02ae72aee2af52afc2b032b0a
+2b112b182b1f2b262b2d2b342b3b2b422b492b502b572b5e2b652b6c2b732b7a2b81
+2b882b8f2b962b9d2ba42bab2bb22bb92bc02bc72bce2bd52bdc2be32bea2bf12bf8
+2bff2c062c0d2c142c1b2c222c292c302c372c3e2c452c4c2c532c5a2c612c682c6e
+2c742c7b2c822c912c9f2cac2cb72cc72cd02cd92ce72cf02cfd2d0a2d112d1e2d2b
+2d362d442d4d2d542d622d682d6e2d792d862d8d2d942d9b2da42daf2db62dbd2dce
+2ddd2dec2df32dfa2e012e0e2e182e252e322e3e2e4c2e5a2e672e742e822e902ea2
+2eb52ebf2ecc2ed82ee42ef22eff2f0c2f182f262f342f412f4e2f5c2f6a2f7c2f8f
+2f992fa32fad2fb72fbe2fc52fcc2fd32fda2fe12fe82fef2ff62ffd30023006300c
+30133017301b30223026302d3034303b3045304e3055305f3066306d3074307b3083
+308c3093309930a030a730af30b630bd30c430cb30d330dc30e130e830ef30f630fd
+3104310c31153120312a3132313c3148315031583162316b3174317c318631903199
+31a131ac31b731be31c531cc31d331db31e331ed31f631ff32073211321b3224322c
+32373242324932503257325e3265326c3273327a3281328a3291329b32a432ad32b6
+32bd32c432cb32d232d932e032e732f332fa33013308330f3316331d3324332b3332
+33393345334f335c33683374337b338233893390339733a033a733b233bd33c433cc
+33d333db33e233ec33f333fb340234093410341734203427342e3435343c3448344f
+3456345d3464346b3477347f3486348b3492349934a034a734ae34b534bf34c834d4
+34d934e134e834ef34f634fd3504350b3514351f3526352d3535354035473550355c
+3563356a35713578357f3586359235a035a935b035ba35c135cf35d635dd35e435eb
+35f835ff3606360d3614361b3622362936303637363e36493657365e3665366c3673
+367a36813688368f3696369d36a436ab36b236b936c036c736ce36d536dc36e336ea
+36f136f836ff3706370d371e3725372c3733373a37413748374f3756375d3764376b
+3772377937803787378e3795379c37a337aa37b137b837bf37c637cd37d437db37e2
+37e937f037f737fe3805380c3813381a38213828382f3836383d3844384b38523859
+38603867386e3875387c3883388a38913898389f38a638ad38b438bb38c238c938d0
+38d738de38e538ec38f338fa39013908390f3916391d3924392b3932393939403947
+394e3955395c3963396a39713978397f3986398d3994399b39a239a939b039b739be
+39c539cc39d339da39e139e839ef39f639fd3a043a0b3a123a193a203a273a2e3a35
+3a3c3a433a4a3a533a593a603a673a6e3a753a7c3a833a8a3a913a983a9f3aa63aad
+3ab63abd3ac33aca3ad13ad83adf3ae63aed3af43afb3b053b0c3b133b1a3b213b28
+3b2f3b363b3d3b443b4b3b523b593b603b673b6d3b743b783b7f3b863b8d3b943b9b
+3ba23ba93bb03bb73bbe3bc53bcc3bd33bda3be13be83bef3bf63bfd3c043c0b3c12
+3c1d3c2b3c323c393c403c473c4e3c553c5c3c633c6a3c713c783c7f3c863c8d3c95
+3c9c3ca33caa3cae3cb53cbc3cc33cca3cd13cd83cdf3ce63ced3cf43cfb3d023d09
+3d103d173d1e3d253d2c3d333d3a3d413d483d4f3d563d5d3d643d6b3d723d793d80
+3d873d8e3d953d9c3da33daa3db13db83dbf3dc63dcd3dd43ddb3de23de93df03df7
+3dfe3e053e0c3e0f3e163e1d3e243e2b3e323e393e403e473e4e3e553e5c3e643e70
+3e7f3e8f3e9a3ea43eae3eba3ec53ed03eda3ee63ef23efd3f083f123f193f1e3f25
+3f343f413f4d3f593f673f743f813f8d3f9b3fa93fb63fbd3fca3fd73fe43fe93fec
+3ff13ff63ffb4000400340064009400c400f401240154018401f402a40314038403f
+40464053405a40604067406a406d407040754083409240a040a740b440b840bc40c0
+40c440c840cc40d040d440d840dc40e040e440e840ec40f040f440f840fc41004104
+4108410c411041144118411c4123412c4135413e414c415541614169416e41794182
+418b419941a541ae41b741c541d141d741e041e941f2420042094215421a4223422c
+42354243424f42584260426c42714281428e4294429d42a642af42b942c242cb42d4
+42de42e742f042f94302430b4314431a432a4333433c4345435043594364436b4373
+4383438c439943a243ab43b443c343d243df43eb43f243fc440a4418442b44394448
+444f4458445f4466446d4474447b4482448944904497449c44a144a644ad44b444bb
+44c044c744ce44d544dc44e144e644ed44f444f945004507450e4515451c4524452b
+4532453b4543454b4552455b4564456c457c458b459a45ab45bb45cb45da45eb45fc
+460c4613461a46214628462c4633463a4641464b4655465f46694673467d46874691
+469b46a546af46b946c346cd46d746e146eb46f546ff47094713471d4724472b4738
+473f47484751475f476847714781479247a647b247bb47c747d847e547ec47f347fa
+48014808480f4816481d4824482b4832483948404847484e4855485c486348694873
+487f488c489a48a948b548c248cf48de48ee48ff490f4920492a4931493f49424945
+4948494d49524959495c49634969496f4975497b49814987498d49934999499f49a5
+49ab49b149b749bd49c349c949cf49d549db49e04afc4b0d4b1e756e693030413075
+6e693030414474776f2e7375706572696f7274687265652e7375706572696f72756e
+693030423570696c63726f776f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636564696c6c6174636564696c6c61546361
+726f6e746361726f6e54626172746261725574696c64657574696c6465556d616372
+6f6e756d6163726f6e5562726576657562726576655572696e677572696e67556875
+6e676172756d6c6175747568756e676172756d6c617574556f676f6e656b756f676f
+6e656b5763697263756d666c65787763697263756d666c65785963697263756d666c
+65787963697263756d666c65785a61637574657a61637574655a646f74616363656e
+747a646f74616363656e746c6f6e6773756e6930313830756e6930313831756e6930
+313832756e6930313833756e6930313834756e6930313835756e6930313836756e69
+30313837756e6930313838756e6930313839756e6930313841756e6930313842756e
+6930313843756e6930313844756e6930313845756e6930313846756e693031393075
+6e6930313931756e6930313933756e6930313934756e6930313935756e6930313936
+756e6930313937756e6930313938756e6930313939756e6930313941756e69303139
+42756e6930313943756e6930313944756e6930313945756e69303139464f686f726e
+6f686f726e756e6930314132756e6930314133756e6930314134756e693031413575
+6e6930314136756e6930314137756e6930314138756e6930314139756e6930314141
+756e6930314142756e6930314143756e6930314144756e693031414555686f726e75
+686f726e756e6930314231756e6930314232756e6930314233756e6930314234756e
+6930314235756e6930314236756e6930314237756e6930314238756e693031423975
+6e6930314241756e6930314242756e6930314243756e6930314244756e6930314245
+756e6930314246756e6930314330756e6930314331756e6930314332756e69303143
+33756e6930314334756e6930314335756e6930314336756e6930314337756e693031
+4338756e6930314339756e6930314341756e6930314342756e6930314343756e6930
+314344756e6930314345756e6930314346756e6930314430756e6930314431756e69
+30314432756e6930314433756e6930314434756e6930314435756e6930314436756e
+6930314437756e6930314438756e6930314439756e6930314441756e693031444275
+6e6930314443657475726e6564756e6930314445756e6930314446756e6930314530
+756e6930314531756e6930314532756e6930314533756e6930314534756e69303145
+35476361726f6e676361726f6e756e6930314538756e6930314539756e6930314541
+756e6930314542756e6930314543756e6930314544756e6930314545756e69303145
+46756e6930314630756e6930314631756e6930314632756e6930314633756e693031
+4634756e6930314635756e6930314636756e6930314637756e6930314638756e6930
+3146394172696e6761637574656172696e6761637574654145616375746561656163
+7574654f736c61736861637574656f736c6173686163757465756e6930323030756e
+6930323031756e6930323032756e6930323033756e6930323034756e693032303575
+6e6930323036756e6930323037756e6930323038756e6930323039756e6930323041
+756e6930323042756e6930323043756e6930323044756e6930323045756e69303230
+46756e6930323130756e6930323131756e6930323132756e6930323133756e693032
+3134756e6930323135756e6930323136756e693032313753636f6d6d61616363656e
+7473636f6d6d61616363656e7454636f6d6d61616363656e7474636f6d6d61616363
+656e74756e6930323143756e6930323144756e6930323145756e6930323146756e69
+30323230756e6930323231756e6930323232756e6930323233756e6930323234756e
+6930323235756e6930323236756e6930323237756e6930323238756e693032323975
+6e6930323241756e6930323242756e6930323243756e6930323244756e6930323245
+756e6930323246756e6930323330756e6930323331756e6930323332756e69303233
+33756e6930323334756e6930323335756e6930323336646f746c6573736a756e6930
+323338756e6930323339756e6930323341756e6930323342756e6930323343756e69
+30323344756e6930323345756e6930323346756e6930323430756e6930323431756e
+6930323432756e6930323433756e6930323434756e6930323435756e693032343675
+6e6930323437756e6930323438756e6930323439756e6930323441756e6930323442
+756e6930323443756e6930323444756e6930323445756e6930323446617475726e65
+64756e6930323531756e6930323532756e6930323533637475726e6564756e693032
+3535756e6930323536756e6930323537756e6930323538756e6930323539756e6930
+323541756e6930323542756e6930323543756e6930323544756e6930323545756e69
+30323546756e6930323630756e6930323631756e693032363267616d6d616c617469
+6e756e6930323634756e693032363568686f6f6b756e6930323637756e6930323638
+756e6930323639756e6930323641756e6930323642756e6930323643756e69303236
+44756e69303236456d7475726e6564756e6930323730756e6930323731756e693032
+3732756e6930323733756e6930323734756e6930323735756e6930323736756e6930
+323737756e6930323738727475726e6564756e693032374172686f6f6b7475726e65
+64756e6930323743756e6930323744756e6930323745756e693032374652736d616c
+6c63617052736d616c6c696e766572746564756e6930323832756e6930323833756e
+6930323834756e6930323835756e6930323836756e6930323837756e693032383875
+6e6930323839756e6930323841756e6930323842756e6930323843756e6930323844
+756e6930323845756e6930323846756e6930323930756e6930323931756e69303239
+32756e6930323933756e6930323934676c6f7474616c73746f707265766572736564
+756e6930323936756e6930323937756e6930323938756e6930323939756e69303239
+41756e6930323942756e6930323943756e6930323944756e6930323945756e693032
+3946756e6930324130756e6930324131756e6930324132756e6930324133756e6930
+324134756e6930324135756e6930324136756e6930324137756e6930324138756e69
+30324139756e6930324141756e6930324142756e6930324143756e6930324144756e
+6930324145756e6930324146682e7375706572696f7268686f6f6b2e737570657269
+6f726a2e7375706572696f72722e7375706572696f72727475726e65642e73757065
+72696f7272686f6f6b7475726e65642e7375706572696f7252736d616c6c696e7665
+727465642e7375706572696f72772e7375706572696f72792e7375706572696f7275
+6e6930324239756e6930324241756e69303242426166696935373932396166696936
+34393337756e6930324245756e6930324246756e6930324330756e6930324331756e
+6930324332756e6930324333756e6930324334756e6930324335756e693032433875
+6e6930324339756e6930324341756e6930324342756e6930324343756e6930324344
+756e6930324345756e6930324346756e6930324430756e6930324431756e69303244
+32756e6930324433756e6930324434756e6930324435756e6930324436756e693032
+4437756e6930324445756e693032444667616d6d616c6174696e2e7375706572696f
+726c2e7375706572696f72732e7375706572696f72782e7375706572696f72676c6f
+7474616c73746f7072657665727365642e7375706572696f72756e6930324535756e
+6930324536756e6930324537756e6930324538756e6930324539756e693032454175
+6e6930324542756e6930324543756e6930324544756e6930324545756e6930324546
+756e6930324630756e6930324631756e6930324632756e6930324633756e69303246
+34756e6930324635756e6930324636756e6930324637756e6930324638756e693032
+4639756e6930324641756e6930324642756e6930324643756e6930324644756e6930
+324645756e69303246466772617665636f6d626163757465636f6d6263697263756d
+666c6578636f6d6274696c6465636f6d626d6163726f6e636f6d62756e6930333035
+6272657665636f6d62756e6930333037756e6930333038686f6f6b61626f7665636f
+6d62756e6930333041756e6930333042756e6930333043756e6930333044756e6930
+333045756e6930333046756e6930333130756e6930333131756e6930333132756e69
+30333133756e6930333134756e6930333135756e6930333136756e6930333137756e
+6930333138756e6930333139756e6930333141756e6930333142756e693033314375
+6e6930333144756e6930333145756e6930333146756e6930333230756e6930333231
+756e6930333232646f7462656c6f77636f6d62756e6930333234756e693033323575
+6e6930333236756e6930333237756e6930333238756e6930333239756e6930333241
+756e6930333242756e6930333243756e6930333244756e6930333245756e69303332
+46756e6930333330756e6930333331756e6930333332756e6930333333756e693033
+3334756e6930333335756e6930333336756e6930333337756e6930333338756e6930
+333339756e6930333341756e6930333342756e6930333343756e6930333344756e69
+30333345756e6930333346756e6930333430756e6930333431756e6930333432756e
+6930333433756e6930333434756e6930333435756e6930333436756e693033343775
+6e6930333438756e6930333439756e6930333441756e6930333442756e6930333443
+756e6930333444756e6930333445756e6930333530756e6930333531756e69303335
+32756e6930333533756e6930333534756e6930333535756e6930333536756e693033
+3537756e6930333538756e6930333539756e6930333541756e6930333542756e6930
+333543756e6930333544756e6930333545756e6930333546756e6930333630756e69
+30333631756e6930333632756e6930333633756e6930333634756e6930333635756e
+6930333636756e6930333637756e6930333638756e6930333639756e693033364175
+6e6930333642756e6930333643756e6930333644756e6930333645756e6930333646
+756e6930333734756e6930333735756e6930333741756e6930333742756e69303337
+43756e6930333744756e6930333745746f6e6f736469657265736973746f6e6f7341
+6c706861746f6e6f73616e6f74656c656961457073696c6f6e746f6e6f7345746174
+6f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f73557073696c6f6e746f
+6e6f734f6d656761746f6e6f73696f74616469657265736973746f6e6f73416c7068
+614265746147616d6d6144656c7461457073696c6f6e5a6574614574615468657461
+496f74614b617070614c616d6264614d754e7558694f6d6963726f6e506952686f53
+69676d61546175557073696c6f6e5068694368695073694f6d656761496f74616469
+657265736973557073696c6f6e6469657265736973616c706861746f6e6f73657073
+696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73757073696c6f6e64
+69657265736973746f6e6f73616c7068616265746167616d6d6164656c7461657073
+696c6f6e7a6574616574617468657461696f74616b617070616c616d6264616e7578
+696f6d6963726f6e706972686f7369676d61317369676d61746175757073696c6f6e
+7068696368697073696f6d656761696f74616469657265736973757073696c6f6e64
+696572657369736f6d6963726f6e746f6e6f73757073696c6f6e746f6e6f736f6d65
+6761746f6e6f73756e6930334430746865746131557073696c6f6e31756e69303344
+33756e6930334434706869316f6d65676131756e6930334437756e6930334438756e
+6930334439756e6930334441756e6930334442756e6930334443756e693033444475
+6e6930334445756e6930334446756e6930334530756e6930334531756e6930334630
+756e6930334631756e6930334632756e6930334633756e6930334634756e69303346
+35756e6930334636756e6930334638756e6930334639756e6930334642756e693033
+4644756e6930334645756e6930334646756e69303430306166696931303032336166
+69693130303531616669693130303532616669693130303533616669693130303534
+61666969313030353561666969313030353661666969313030353761666969313030
+3538616669693130303539616669693130303630616669693130303631756e693034
+30446166696931303036326166696931303134356166696931303031376166696931
+30303138616669693130303139616669693130303230616669693130303231616669
+69313030323261666969313030323461666969313030323561666969313030323661
+66696931303032376166696931303032386166696931303032396166696931303033
+30616669693130303331616669693130303332616669693130303333616669693130
+30333461666969313030333561666969313030333661666969313030333761666969
+31303033386166696931303033396166696931303034306166696931303034316166
+69693130303432616669693130303433616669693130303434616669693130303435
+61666969313030343661666969313030343761666969313030343861666969313030
+34396166696931303036356166696931303036366166696931303036376166696931
+30303638616669693130303639616669693130303730616669693130303732616669
+69313030373361666969313030373461666969313030373561666969313030373661
+66696931303037376166696931303037386166696931303037396166696931303038
+30616669693130303831616669693130303832616669693130303833616669693130
+30383461666969313030383561666969313030383661666969313030383761666969
+31303038386166696931303038396166696931303039306166696931303039316166
+69693130303932616669693130303933616669693130303934616669693130303935
+616669693130303936616669693130303937756e6930343530616669693130303731
+61666969313030393961666969313031303061666969313031303161666969313031
+30326166696931303130336166696931303130346166696931303130356166696931
+30313036616669693130313037616669693130313038616669693130313039756e69
+30343544616669693130313130616669693130313933756e6930343630756e693034
+3631616669693130313436616669693130313934756e6930343634756e6930343635
+756e6930343636756e6930343637756e6930343638756e6930343639756e69303436
+41756e6930343642756e6930343643756e6930343644756e6930343645756e693034
+3646756e6930343730756e6930343731616669693130313437616669693130313935
+616669693130313438616669693130313936756e6930343736756e6930343737756e
+6930343743756e6930343744756e6930343745756e6930343746756e693034383375
+6e6930343843756e6930343844756e6930343845756e693034384661666969313030
+3530616669693130303938756e6930343932756e6930343933756e6930343934756e
+6930343935756e6930343936756e6930343937756e6930343938756e693034393975
+6e6930343941756e6930343942756e6930343943756e6930343944756e6930343945
+756e6930343946756e6930344130756e6930344131756e6930344132756e69303441
+33756e6930344134756e6930344135756e6930344136756e6930344137756e693034
+4138756e6930344139756e6930344141756e6930344142756e6930344143756e6930
+344144756e6930344145756e6930344146756e6930344230756e6930344231756e69
+30344232756e6930344233756e6930344234756e6930344235756e6930344236756e
+6930344237756e6930344238756e6930344239756e6930344241756e693034424275
+6e6930344243756e6930344244756e6930344245756e6930344246756e6930344330
+756e6930344331756e6930344332756e6930344333756e6930344334756e69303443
+37756e6930344338756e6930344339756e6930344341756e6930344342756e693034
+4343756e6930344430756e6930344431756e6930344432756e6930344433756e6930
+344434756e6930344435756e6930344436756e6930344437756e6930344438616669
+693130383436756e6930344441756e6930344442756e6930344443756e6930344444
+756e6930344445756e6930344446756e6930344530756e6930344531756e69303445
+32756e6930344533756e6930344534756e6930344535756e6930344536756e693034
+4537756e6930344538756e6930344539756e6930344541756e6930344542756e6930
+344543756e6930344544756e6930344545756e6930344546756e6930344630756e69
+30344631756e6930344632756e6930344633756e6930344634756e6930344635756e
+6930344636756e6930344637756e6930344638756e69303446396166696935373739
+39616669693537383031616669693537383030616669693537383032616669693537
+37393361666969353737393461666969353737393561666969353737393861666969
+3537373937616669693537383036756e693035424161666969353737393661666969
+35373830376166696935373833396166696935373634356166696935373834316166
+69693537383432616669693537383034616669693537383033616669693537363538
+756e6930354336616669693537363634616669693537363635616669693537363636
+61666969353736363761666969353736363861666969353736363961666969353736
+37306166696935373637316166696935373637326166696935373637336166696935
+37363734616669693537363735616669693537363736616669693537363737616669
+69353736373861666969353736373961666969353736383061666969353736383161
+66696935373638326166696935373638336166696935373638346166696935373638
+35616669693537363836616669693537363837616669693537363838616669693537
+36383961666969353736393061666969353737313661666969353737313761666969
+3537373138756e6930354633756e6930354634756e6931443135612e737570657269
+6f72617475726e65642e7375706572696f72756e6931443435756e6931443436622e
+7375706572696f72642e7375706572696f72652e7375706572696f72657475726e65
+642e7375706572696f72756e6931443442756e6931443443672e7375706572696f72
+697475726e65642e7375706572696f726b2e7375706572696f726d2e737570657269
+6f72656e672e7375706572696f726f2e7375706572696f72637475726e65642e7375
+706572696f72756e6931443534756e6931443535702e7375706572696f72742e7375
+706572696f72752e7375706572696f72756e69314435396d7475726e65642e737570
+6572696f72762e7375706572696f72756e6931443543756e6931443544756e693144
+3545756e6931443546756e6931443632756e6931443633756e6931443634756e6931
+443635756e6931443636756e6931443637632e7375706572696f72662e7375706572
+696f727a2e7375706572696f72756e6931453030756e6931453031756e6931453032
+756e6931453033756e6931453034756e6931453035756e6931453036756e69314530
+37756e6931453038756e6931453039756e6931453041756e6931453042756e693145
+3043756e6931453044756e6931453045756e6931453046756e6931453130756e6931
+453131756e6931453132756e6931453133756e6931453134756e6931453135756e69
+31453136756e6931453137756e6931453138756e6931453139756e6931453141756e
+6931453142756e6931453143756e6931453144756e6931453145756e693145314675
+6e6931453230756e6931453231756e6931453232756e6931453233756e6931453234
+756e6931453235756e6931453236756e6931453237756e6931453238756e69314532
+39756e6931453241756e6931453242756e6931453243756e6931453244756e693145
+3245756e6931453246756e6931453330756e6931453331756e6931453332756e6931
+453333756e6931453334756e6931453335756e6931453336756e6931453337756e69
+31453338756e6931453339756e6931453341756e6931453342756e6931453343756e
+6931453344756e6931453345756e6931453346756e6931453430756e693145343175
+6e6931453432756e6931453433756e6931453434756e6931453435756e6931453436
+756e6931453437756e6931453438756e6931453439756e6931453441756e69314534
+42756e6931453443756e6931453444756e6931453445756e6931453446756e693145
+3530756e6931453531756e6931453532756e6931453533756e6931453534756e6931
+453535756e6931453536756e6931453537756e6931453538756e6931453539756e69
+31453541756e6931453542756e6931453543756e6931453544756e6931453545756e
+6931453546756e6931453630756e6931453631756e6931453632756e693145363375
+6e6931453634756e6931453635756e6931453636756e6931453637756e6931453638
+756e6931453639756e6931453641756e6931453642756e6931453643756e69314536
+44756e6931453645756e6931453646756e6931453730756e6931453731756e693145
+3732756e6931453733756e6931453734756e6931453735756e6931453736756e6931
+453737756e6931453738756e6931453739756e6931453741756e6931453742756e69
+31453743756e6931453744756e6931453745756e6931453746576772617665776772
+61766557616375746577616375746557646965726573697377646965726573697375
+6e6931453836756e6931453837756e6931453838756e6931453839756e6931453841
+756e6931453842756e6931453843756e6931453844756e6931453845756e69314538
+46756e6931453930756e6931453931756e6931453932756e6931453933756e693145
+3934756e6931453935756e6931453936756e6931453937756e6931453938756e6931
+453939756e6931453941756e6931453942756e6931453943756e6931453944476572
+6d616e64626c73756e6931453946756e6931454130756e6931454131756e69314541
+32756e6931454133756e6931454134756e6931454135756e6931454136756e693145
+4137756e6931454138756e6931454139756e6931454141756e6931454142756e6931
+454143756e6931454144756e6931454145756e6931454146756e6931454230756e69
+31454231756e6931454232756e6931454233756e6931454234756e6931454235756e
+6931454236756e6931454237756e6931454238756e6931454239756e693145424175
+6e6931454242756e6931454243756e6931454244756e6931454245756e6931454246
+756e6931454330756e6931454331756e6931454332756e6931454333756e69314543
+34756e6931454335756e6931454336756e6931454337756e6931454338756e693145
+4339756e6931454341756e6931454342756e6931454343756e6931454344756e6931
+454345756e6931454346756e6931454430756e6931454431756e6931454432756e69
+31454433756e6931454434756e6931454435756e6931454436756e6931454437756e
+6931454438756e6931454439756e6931454441756e6931454442756e693145444375
+6e6931454444756e6931454445756e6931454446756e6931454530756e6931454531
+756e6931454532756e6931454533756e6931454534756e6931454535756e69314545
+36756e6931454537756e6931454538756e6931454539756e6931454541756e693145
+4542756e6931454543756e6931454544756e6931454545756e6931454546756e6931
+454630756e6931454631596772617665796772617665756e6931454634756e693145
+4635756e6931454636756e6931454637756e6931454638756e6931454639756e6931
+454641756e6931454642756e6931454643756e6931454644756e6931454645756e69
+31454646756e6931463030756e6931463031756e6931463032756e6931463033756e
+6931463034756e6931463035756e6931463036756e6931463037756e693146303875
+6e6931463039756e6931463041756e6931463042756e6931463043756e6931463044
+756e6931463045756e6931463046756e6931463130756e6931463131756e69314631
+32756e6931463133756e6931463134756e6931463135756e6931463138756e693146
+3139756e6931463141756e6931463142756e6931463143756e6931463144756e6931
+463230756e6931463231756e6931463232756e6931463233756e6931463234756e69
+31463235756e6931463236756e6931463237756e6931463238756e6931463239756e
+6931463241756e6931463242756e6931463243756e6931463244756e693146324575
+6e6931463246756e6931463330756e6931463331756e6931463332756e6931463333
+756e6931463334756e6931463335756e6931463336756e6931463337756e69314633
+38756e6931463339756e6931463341756e6931463342756e6931463343756e693146
+3344756e6931463345756e6931463346756e6931463430756e6931463431756e6931
+463432756e6931463433756e6931463434756e6931463435756e6931463438756e69
+31463439756e6931463441756e6931463442756e6931463443756e6931463444756e
+6931463530756e6931463531756e6931463532756e6931463533756e693146353475
+6e6931463535756e6931463536756e6931463537756e6931463539756e6931463542
+756e6931463544756e6931463546756e6931463630756e6931463631756e69314636
+32756e6931463633756e6931463634756e6931463635756e6931463636756e693146
+3637756e6931463638756e6931463639756e6931463641756e6931463642756e6931
+463643756e6931463644756e6931463645756e6931463646756e6931463730756e69
+31463731756e6931463732756e6931463733756e6931463734756e6931463735756e
+6931463736756e6931463737756e6931463738756e6931463739756e693146374175
+6e6931463742756e6931463743756e6931463744756e6931463830756e6931463831
+756e6931463832756e6931463833756e6931463834756e6931463835756e69314638
+36756e6931463837756e6931463838756e6931463839756e6931463841756e693146
+3842756e6931463843756e6931463844756e6931463845756e6931463846756e6931
+463930756e6931463931756e6931463932756e6931463933756e6931463934756e69
+31463935756e6931463936756e6931463937756e6931463938756e6931463939756e
+6931463941756e6931463942756e6931463943756e6931463944756e693146394575
+6e6931463946756e6931464130756e6931464131756e6931464132756e6931464133
+756e6931464134756e6931464135756e6931464136756e6931464137756e69314641
+38756e6931464139756e6931464141756e6931464142756e6931464143756e693146
+4144756e6931464145756e6931464146756e6931464230756e6931464231756e6931
+464232756e6931464233756e6931464234756e6931464236756e6931464237756e69
+31464238756e6931464239756e6931464241756e6931464242756e6931464243756e
+6931464244756e6931464245756e6931464246756e6931464330756e693146433175
+6e6931464332756e6931464333756e6931464334756e6931464336756e6931464337
+756e6931464338756e6931464339756e6931464341756e6931464342756e69314643
+43756e6931464344756e6931464345756e6931464346756e6931464430756e693146
+4431756e6931464432756e6931464433756e6931464436756e6931464437756e6931
+464438756e6931464439756e6931464441756e6931464442756e6931464444756e69
+31464445756e6931464446756e6931464530756e6931464531756e6931464532756e
+6931464533756e6931464534756e6931464535756e6931464536756e693146453775
+6e6931464538756e6931464539756e6931464541756e6931464542756e6931464543
+756e6931464544756e6931464545756e6931464546756e6931464632756e69314646
+33756e6931464634756e6931464636756e6931464637756e6931464638756e693146
+4639756e6931464641756e6931464642756e6931464643756e6931464644756e6931
+464645656e71756164656d71756164656e7370616365656d73706163657468726565
+706572656d7370616365666f7572706572656d7370616365736978706572656d7370
+616365666967757265737061636570756e6374756174696f6e73706163657468696e
+73706163656861697273706163657a65726f7769647468737061636568797068656e
+74776f68797068656e6e6f627265616b686f72697a6f6e74616c626172756e693230
+3136756e64657273636f726564626c71756f7465726576657273656471756f746564
+626c726576747269616e676c6562756c6c657468797068656e646f74756e69323032
+4670657274656e74686f7573616e646d696e7574657365636f6e647072696d657472
+69706c657072696d657265766572736564756e6932303336756e6932303337756e69
+323033426578636c616d64626c696e746572726f62616e67756e6932303345756e69
+323034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c
+616d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e69
+323034467a65726f2e7375706572696f72692e7375706572696f72666f75722e7375
+706572696f72666976652e7375706572696f727369782e7375706572696f72736576
+656e2e7375706572696f7265696768742e7375706572696f726e696e652e73757065
+72696f72706c75732e7375706572696f726d696e75732e7375706572696f72657175
+616c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e
+72696768742e7375706572696f726e2e7375706572696f727a65726f2e696e666572
+696f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e69
+6e666572696f72666f75722e696e666572696f72666976652e696e666572696f7273
+69782e696e666572696f72736576656e2e696e666572696f7265696768742e696e66
+6572696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e
+75732e696e666572696f72657175616c2e696e666572696f72706172656e6c656674
+2e696e666572696f72706172656e72696768742e696e666572696f72612e696e6665
+72696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f72
+756e6932303934756e6932303935756e6932303936756e6932303937756e69323039
+38756e6932303939756e6932303941756e6932303942756e6932303943756e693230
+41326672616e636c697261706573657461756e6932304138646f6e674575726f756e
+69323041467065736f756e6932313030756e6932313031756e693231303263656e74
+696772616465616669693631323438756e693231303666616872656e68656974756e
+6932313043756e6932313044756e6932313045756e6932313046496672616b747572
+616669693631323839756e69323131356e756d65726f756e6932313139756e693231
+3141526672616b747572756e6932313144756e6932313230756e6932313234756e69
+323132364f6d656761696e76657374696d61746564616c657068756e693231333675
+6e6932313337756e6932313338756e6932313339756e69323134466f6e6566696674
+6874776f6669667468737468726565666966746873666f75726669667468736f6e65
+7369787468666976657369787468736f6e656e756d657261746f724f6e65726f6d61
+6e54776f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f
+6d616e536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e
+65726f6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d
+616e756e6932313643756e6932313644756e6932313645756e69323136466f6e6572
+6f6d616e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e666976
+65726f6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e
+6e696e65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665
+726f6d616e756e6932313743756e6932313744756e6932313745756e693231374675
+6e6932313830756e6932313831756e6932313832756e6932313833756e6932313834
+6172726f776c6566746172726f7775706172726f7772696768746172726f77646f77
+6e6172726f77626f74686172726f777570646e756e6932313936756e693231393775
+6e6932313938756e6932313939756e6932313941756e6932313942756e6932314136
+6172726f777570646e627365756e6932314145756e6932314243756e693231424475
+6e6932314330756e6932314331756e6932314342756e6932314343756e6932314344
+756e6932314345756e69323143466172726f7764626c6c6566746172726f7764626c
+75706172726f7764626c72696768746172726f7764626c646f776e6172726f776462
+6c626f7468756e69323144354e776172726f774e656172726f7753656172726f7753
+776172726f77756e6976657273616c756e69323230317061727469616c6469666665
+78697374656e7469616c756e6932323034656d707479736574756e69323230366772
+616469656e74656c656d656e746e6f74656c656d656e74756e693232304173756368
+74686174756e6932323043756e693232304470726f64756374756e69323231307375
+6d6d6174696f6e756e6932323133756e6932323134756e6932323135756e69323231
+36617374657269736b6d617468756e6932323138756e69323231397261646963616c
+756e6932323142756e693232314370726f706f7274696f6e616c696e66696e697479
+756e6932323146616e676c65756e6932323231756e6932323232756e693232323375
+6e6932323234756e6932323235756e69323232366c6f676963616c616e646c6f6769
+63616c6f72696e74657273656374696f6e756e696f6e696e74656772616c756e6932
+323243756e6932323244756e6932323245756e693232333673696d696c6172756e69
+32323431636f6e677275656e74617070726f78657175616c756e6932323439756e69
+323235396e6f74657175616c6571756976616c656e6365756e69323236326c657373
+657175616c67726561746572657175616c756e6932323641756e6932323642756e69
+32323645756e6932323646756e6932323730756e693232373170726f706572737562
+73657470726f70657273757065727365746e6f74737562736574756e693232383563
+6972636c65706c7573756e6932323936636972636c656d756c7469706c79756e6932
+323938756e6932324132756e6932324133756e693232413470657270656e64696375
+6c6172756e6932324136756e6932324236756e6932324237646f746d617468756e69
+32324545756e6932324546756e6932333030756e6932333032756e6932333033756e
+6932333130696e74656772616c746f70696e74656772616c626f74746f6d756e6932
+333236756e6932333237756e6932333239756e6932333241756e6932333242756e69
+32333744756e6932333830756e6932333942756e6932333943756e6932333944756e
+6932333945756e6932333946756e6932334130756e6932334131756e693233413275
+6e6932334133756e6932334134756e6932334135756e6932334136756e6932334137
+756e6932334138756e6932334139756e6932334141756e6932334142756e69323341
+43756e6932334144696e74656772616c657874656e73696f6e756e6932334433756e
+6932343233756e6932343630756e6932343631756e6932343632756e693234363375
+6e6932343634756e6932343635756e6932343636756e6932343637756e6932343638
+756e6932343639756e6932343641756e6932343642756e6932343643756e69323436
+44756e6932343645756e6932343646756e6932343730756e6932343731756e693234
+3732756e6932343733756e6932343734756e6932343735756e6932343736756e6932
+343737756e6932343738756e6932343739756e6932343741756e6932343742756e69
+32343743756e6932343744756e6932343745756e6932343746756e6932343830756e
+6932343831756e6932343832756e6932343833756e6932343834756e693234383575
+6e6932343836756e6932343837756e6932344236756e6932344237756e6932344238
+756e6932344239756e6932344241756e6932344242756e6932344243756e69323442
+44756e6932344245756e6932344246756e6932344330756e6932344331756e693234
+4332756e6932344333756e6932344334756e6932344335756e6932344336756e6932
+344337756e6932344338756e6932344339756e6932344341756e6932344342756e69
+32344343756e6932344344756e6932344345756e6932344346756e6932344430756e
+6932344431756e6932344432756e6932344433756e6932344434756e693234443575
+6e6932344436756e6932344437756e6932344438756e6932344439756e6932344441
+756e6932344442756e6932344443756e6932344444756e6932344445756e69323444
+46756e6932344530756e6932344531756e6932344532756e6932344533756e693234
+4534756e6932344535756e6932344536756e6932344537756e6932344538756e6932
+344539756e6932344541756e6932344542756e6932344543756e6932344544756e69
+32344545756e6932344546756e6932344630756e6932344631756e6932344632756e
+6932344633756e6932344634756e6932344635756e6932344636756e693234463775
+6e6932344638756e6932344639756e6932344641756e6932344642756e6932344643
+756e6932344644756e6932344645756e693234464666696c6c6564626f7848323230
+373374726961677570756e6932354233756e6932354236756e693235423774726961
+67646e756e6932354244756e6932354330756e6932354331756e6932354336756e69
+32354337756e69323543396c6f7a656e6765626967636972636c65756e6932354345
+483138353333756e6932354430756e6932354431756e6932354432756e6932354433
+756e6932354434756e6932354435756e6932354436756e69323544376f70656e6275
+6c6c6574756e6932363035756e6932363039756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e6932363342756e6932363343756e6932363344756e6932363345756e6932363346
+66656d616c65756e69323634316d616c65756e6932363433756e6932363434756e69
+32363435756e6932363436756e6932363437756e6932363438756e6932363439756e
+6932363441756e6932363442756e6932363443756e6932363444756e693236344575
+6e6932363446756e6932363530756e6932363531756e6932363532756e6932363533
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646756e6932363935756e6932363938
+756e6932364132756e6932364133756e6932364134756e6932364135756e69323641
+36756e6932364137756e69323641436d6172726965646469766f72636564756e6932
+364146756e6932373134756e693237313864696564756e6932373637756e69323737
+36756e6932373737756e6932373738756e6932373739756e6932373741756e693237
+3742756e6932373743756e6932373744756e6932373745756e6932373746756e6932
+374332756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433645756e6932433646
+756e6932433734756e6932433735756e6932433736756e6932433737756e69324530
+32756e6932453033756e6932453034756e6932453035756e6932453038756e693245
+3039756e6932453041756e6932453137756e6932453138756e6941363536756e6941
+363537756e6941373144756e6941373230756e6941373231756e6941373635547578
+756e6945303031756e6945303032756e6945303033756e6945303034756e69453030
+35756e6945303036756e6945303037756e6945303038756e6945303039756e694530
+3041756e6945303042636f70796c6566747075626c6963646f6d61696e6372656174
+697665636f6d6d6f6e737a65726f2e736c6173686669747465647a65726f2e666974
+7465646f6e652e66697474656474776f2e66697474656474687265652e6669747465
+64666f75722e666974746564666976652e6669747465647369782e66697474656473
+6576656e2e66697474656465696768742e6669747465646e696e652e666974746564
+4575726f2e66697474656459656e2e666974746564756e6945303143612e616c7475
+6e694530314570657274686f7573616e647a65726f7a65726f2e6f6c647374796c65
+6f6e652e6f6c647374796c6574776f2e6f6c647374796c6574687265652e6f6c6473
+74796c65666f75722e6f6c647374796c65666976652e6f6c647374796c657369782e
+6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f6c64737479
+6c656e696e652e6f6c647374796c65756e69453032414164696572657369732e616c
+744f64696572657369732e616c745564696572657369732e616c74572e616c74665f
+62665f665f68665f665f6a665f665f6b665f665f74665f68665f6a665f6b665f7463
+5f6b635f68745f74635f746c6f6e67735f696c6f6e67735f6c6f6e6773756e694530
+3430756e6945303431756e69453034326c6f6e67735f6c6c6f6e67735f6c6f6e6773
+5f696c6f6e67735f7361652e616c746c6f6e67735f68515f75545f68745f7a682e61
+6c746765726d616e64626c732e616c746765726d616e64626c732e73733033476572
+6d616e64626c732e616c74756e6945303446616d70657273616e642e616c74612e73
+63622e7363632e7363642e7363652e7363662e7363672e7363682e7363692e73636a
+2e73636b2e73636c2e73636d2e73636e2e73636f2e7363702e7363712e7363722e73
+63732e7363742e7363752e7363762e7363772e7363782e7363792e73637a2e736375
+6e694530364268797068656e2e73636167726176652e73636161637574652e736361
+63697263756d666c65782e73636174696c64652e73636164696572657369732e7363
+6172696e672e736361652e736363636564696c6c612e73636567726176652e736365
+61637574652e73636563697263756d666c65782e73636564696572657369732e7363
+6967726176652e73636961637574652e73636963697263756d666c65782e73636964
+696572657369732e73636574682e73636e74696c64652e73636f67726176652e7363
+6f61637574652e73636f63697263756d666c65782e73636f74696c64652e73636f64
+696572657369732e73636f652e73636f736c6173682e73637567726176652e736375
+61637574652e73637563697263756d666c65782e73637564696572657369732e7363
+7961637574652e736374686f726e2e73637964696572657369732e7363696a2e7363
+6765726d616e64626c732e7363616c746765726d616e64626c732e7363515f752e73
+63712e73635f752e73636463726f61742e73636162726576652e7363616f676f6e65
+6b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363656f67
+6f6e656b2e7363656361726f6e2e73636762726576652e73636c61637574652e7363
+6c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e73636f
+68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e736373
+61637574652e736373636564696c6c612e7363736361726f6e2e736374636564696c
+6c612e7363746261722e73637572696e672e73637568756e676172756d6c6175742e
+73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e73636c
+6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73637363
+6f6d6d61616363656e742e736369646f74616363656e742e7363616d70657273616e
+642e7363612e7363616c74712e7375706572696f726772617665636f6d622e737570
+736163757465636f6d622e7375707363697263756d666c6578636f6d622e73757073
+74696c6465636f6d622e737570736d6163726f6e636f6d622e73757073662e73686f
+7274665f662e73686f7274756e6945304532756e6945304533756e6945304534756e
+6945304535756e6945304536756e6945304537756e6945304538756e694530453975
+6e69453045414b2e616c74522e616c744a2e616c74756e6945304545756e69453045
+46756e6945304630772e616c74756e6945304632756e6945304633756e6945304634
+756e6945304635792e616c74412e616c74756e6945304639756e69453046426b7265
+6973756e6945313031756e6945313034756e6945313035756e6945313036756e6945
+3130377a65726f2e6361706f6e652e63617074776f2e63617074687265652e636170
+666f75722e636170666976652e6361707369782e636170736576656e2e6361706569
+6768742e6361706e696e652e6361707a65726f2e7461626f6c647374796c656f6e65
+2e7461626f6c647374796c6574776f2e7461626f6c647374796c6574687265652e74
+61626f6c647374796c65666f75722e7461626f6c647374796c65666976652e746162
+6f6c647374796c657369782e7461626f6c647374796c65736576656e2e7461626f6c
+647374796c6565696768742e7461626f6c647374796c656e696e652e7461626f6c64
+7374796c65756e6945313238756e6945313239756e6945313241756e69453133306c
+656166756e6945313342756e6945313343756e6945313344622e696e666572696f72
+632e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e
+666572696f72682e696e666572696f72692e696e666572696f726a2e696e66657269
+6f726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e
+696e666572696f72702e696e666572696f72712e696e666572696f72722e696e6665
+72696f72732e696e666572696f72742e696e666572696f72752e696e666572696f72
+762e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e
+666572696f72756e6945313838756e69453138396166696931303038362e616c7475
+6e694531394467726176652e63617061637574652e63617063697263756d666c6578
+2e6361706361726f6e2e63617062726576652e63617068756e676172756d6c617574
+2e63617073706163655f756e69303330462e6361706272657665696e766572746564
+636d622e63617062726576652e63797263617062726576652e637972646965726573
+69732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e63
+6170756e6945334530756e6945334531756e6945334532756e6945334533756e6945
+334534756e6945334535756e6945334536756e6945334537756e6945334538756e69
+45334539756e6945334541756e6945334542756e6945334543756e6945334544756e
+6945334630756e6945334631756e6945334632756e69453346336d65747269637a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170756e6946364245616669693130
+3036362e6974616c665f66665f69665f6c665f665f69665f665f6c6c6f6e67735f74
+735f74756e6946464644753144353338753144353339753144353342753144353343
+75314435334475314435334575314435343075314435343175314435343275314435
+34337531443534347531443534367531443534377531443534417531443534427531
+44353443753144353444753144353445753144353446753144353530352e332e304c
+696e7578204c6962657274696e65206279205068696c69707020482e20506f6c6c2c
+0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c6c6f77696e
+67204672656520536f667477617265204c6963656e7365733a0a47504c202847656e
+6572616c205075626c6963204c6963656e736529207769746820666f6e742d657863
+657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963656e736529
+2e0a43726561746564207769746820466f6e74466f7267652028687474703a2f2f66
+6f6e74666f7267652e73662e6e6574290a5365707420323030332c20323030342c20
+323030352c20323030362c20323030372c20323030382c20323030392c2032303130
+2c20323031312c323031324c696e7578204c6962657274696e65204f4c696e757820
+4c6962657274696e65204f000000000100020003000400050006000700680009000a
+000b000c000d000e000f0010001100120013001400150016001700180019001a001b
+001c001d001e001f0020002100220023002400250026002700280029002a002b002c
+002d002e002f0030003100320033003400350036003700380039003a003b003c003d
+003e003f0040007c00420043004400450046004700480049004a004b004c004d004e
+004f0050005100520053005400550056005700580059005a005b005c005d005e005f
+01870060006100620067006400a00066008300aa008b006a0097018800a5008000a1
+009c0189018a007d018b018c00720085018d008f0078009e009b00a3007b00ae00ab
+00ac00b000ad00af008a00b100b500b200b300b400b900b600b700b8009a00ba00be
+00bb00bc00bf00bd00a8008d00c400c100c200c300c5009d009500cb00c800c900cd
+00ca00cc009000ce00d200cf00d000d100d600d300d400d500a700d700db00d800d9
+00dc00da009f009300e100de00df00e000e200a200e3018e018f0190019101920193
+019401950196019701980199019a019b019c019d019e019f01a001a101a201a301a4
+01a501a601a701a801a901aa01ab01ac01ad01ae01af01b001b101b201b301b401b5
+01b601b701b801b901ba01bb01bc01bd01be009101bf01c001c101c201c301c401c5
+01c601c701c801c901ca01cb01cc01cd008c009201ce01cf01d001d101d201d301d4
+01d501d601d701d801d901da01db01dc008e009401dd01de01df01e001e101e201e3
+01e401e501e601e701e800c000dd01e901ea01eb01ec01ed01ee01ef01f001f101f2
+01f301f401f501f601f701f801f901fa01fb01fc01fd01fe00c601ff020002010202
+00c700e40203020402050206020702080209020a020b020c020d020e020f02100211
+021202130214021500650216021702180219021a021b021c021d021e021f02200221
+02220223022402250226022702280229022a022b022c022d022e022f023002310232
+0233023402350236023702380239023a023b023c023d023e023f0240024102420243
+024402450246024702480249024a024b024c024d024e024f02500251025202530254
+02550256025702580259025a025b025c025d025e025f026002610262026302640265
+0266026702680269026a026b026c026d026e026f0270027102720273027402750276
+027702780279027a027b027c027d027e027f02800281028202830284028502860287
+02880289028a028b028c028d028e028f029002910292029302940295029602970298
+0299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802a9
+02aa02ab02ac02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba
+02bb02bc02bd02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb
+02cc02cd02ce02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc
+02dd02de02df02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed
+02ee02ef02f002f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe
+02ff0300030103020303030403050306030703080309030a030b030c030d030e030f
+0310031103120313031403150316031703180319031a031b031c031d031e031f0320
+032103220323032403250326032703280329032a032b032c032d032e032f03300331
+03320333033403350336033703380339033a033b033c033d033e033f034003410342
+034303440345034603470348007e00880349034a034b034c034d034e034f03500351
+03520353035403550356035703580081008200840087007f00860359035a035b035c
+035d035e035f0360036103620363036403650366036703680369036a036b036c036d
+036e036f0370037103720373037403750376037703780379037a037b037c037d037e
+037f0380038103820383038403850386038703880389038a038b038c038d038e038f
+0390039103920393039403950396039703980399039a039b039c039d039e039f03a0
+03a103a203a303a403a503a603a703a803a903aa03ab03ac03ad03ae03af03b003b1
+03b203b303b403b503b603b703b803b903ba03bb03bc03bd03be03bf03c003c103c2
+03c303c403c503c603c703c803c903ca03cb03cc03cd03ce03cf03d003d103d203d3
+03d403d503d603d703d803d903da03db03dc03dd03de03df03e003e103e203e303e4
+03e503e603e703e803e903ea03eb03ec03ed03ee03ef03f003f103f203f303f403f5
+03f603f703f803f903fa03fb03fc03fd03fe03ff0400040104020403040404050406
+040704080409040a040b040c040d040e040f04100411041204130414041504160417
+04180419041a041b041c041d041e041f042004210422042304240425009804260427
+04280429042a042b042c042d042e042f043004310432043304340435043604370438
+0439043a043b043c043d043e043f0440044104420443044404450446044704480449
+044a044b044c044d044e044f0450045104520453045404550456045704580459045a
+045b045c045d045e045f0460046104620463046404650466046704680469046a046b
+046c046d046e046f0470047104720473047404750476047704780479047a047b047c
+047d047e047f0480048104820483048404850486048704880489048a048b048c048d
+048e048f0490049104920493049404950496049704980499049a049b049c049d049e
+049f04a004a104a204a304a404a504a604a704a804a904aa04ab04ac04ad04ae04af
+04b004b104b204b304b404b504b604b704b804b904ba04bb04bc04bd04be04bf04c0
+04c104c204c304c404c504c604c704c804c904ca04cb04cc04cd04ce04cf04d004d1
+04d204d304d404d504d604d704d804d904da04db04dc04dd04de04df04e004e104e2
+04e304e404e504e604e704e804e904ea04eb04ec04ed04ee04ef04f004f104f204f3
+04f404f504f604f704f804f904fa04fb04fc04fd04fe04ff05000501050205030504
+05050506050705080509050a050b050c050d050e050f051005110512051305140515
+0516051705180519051a051b051c051d051e051f0520052105220523052405250526
+052705280529052a052b052c052d052e052f05300531053205330534053505360537
+05380539053a053b053c053d053e053f054005410542054305440545054605470548
+0549054a054b054c054d054e054f0550055105520553055405550556055705580559
+055a055b055c055d055e055f0560056105620563056405650566056705680569056a
+056b056c056d056e056f0570057105720573057405750576057705780579057a057b
+057c057d057e057f0580058105820583058405850586058705880589058a058b058c
+058d058e058f0590059105920593059405950596059705980599059a059b059c059d
+059e059f05a005a105a205a305a405a505a605a705a805a905aa05ab05ac05ad05ae
+05af05b005b105b205b305b405b505b605b705b805b905ba05bb05bc05bd05be05bf
+05c005c105c205c305c405c505c605c705c805c905ca05cb05cc05cd05ce05cf05d0
+05d105d205d305d405d505d605d705d805d905da05db05dc05dd05de05df05e005e1
+05e205e305e405e505e605e705e805e905ea05eb05ec05ed05ee05ef05f005f105f2
+05f305f405f505f605f705f805f905fa05fb05fc05fd05fe05ff0600060106020603
+060406050606060706080609060a060b060c060d060e060f06100611061206130614
+06150616061706180619061a061b061c061d061e061f062006210622062306240625
+0626062706280629062a062b062c062d062e062f0630063106320633063406350636
+063706380639063a063b063c063d063e063f06400641064206430644064506460647
+06480649064a064b064c064d064e064f065006510652065306540655065606570658
+0659065a065b065c065d065e065f0660066106620663066406650666066706680669
+066a066b066c066d066e066f0670067106720673067406750676067706780679067a
+067b067c067d067e067f0680068106820683068406850686068706880689068a068b
+068c068d068e068f0690069106920693069406950696069706980699069a069b069c
+069d069e069f06a006a106a206a306a406a506a606a706a806a906aa06ab06ac06ad
+06ae06af06b006b106b206b306b406b506b606b706b806b906ba06bb06bc06bd06be
+06bf06c006c106c206c306c406c506c606c706c806c906ca06cb06cc06cd06ce06cf
+06d006d106d206d306d406d506d606d706d806d906da06db06dc06dd06de06df06e0
+06e106e206e306e406e506e606e706e806e906ea06eb06ec06ed06ee06ef06f006f1
+06f206f306f406f506f606f706f806f906fa06fb06fc06fd06fe06ff070007010702
+0703070407050706070707080709070a070b070c070d070e070f0710071107120713
+071407150716071707180719071a071b071c071d071e071f07200721072207230724
+07250726072707280729072a072b072c072d072e072f073007310732073307340735
+0736073707380739073a073b073c073d073e073f0740074107420743074407450746
+074707480749074a074b074c074d074e074f07500751075207530754075507560757
+07580759075a075b075c075d075e075f076007610762076307640765076607670768
+0769076a076b076c076d076e076f0770077107720773077407750776077707780779
+077a077b077c077d077e077f0780078107820783078407850786078707880789078a
+078b078c078d078e078f013a006f0089079007910792004100080075079300690077
+00760794007000710074079500ee00ed007907960797007a07980799079a079b079c
+079d079e006b006c079f07a007a107a207a3006307a407a507a607a707a807a907aa
+07ab07ac07ad07ae07af07b007b107b207b307b407b507b607b707b807b907ba07bb
+07bc07bd07be07bf07c007c107c207c307c407c507c607c707c807c907ca07cb07cc
+07cd07ce07cf07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd
+07de07df07e007e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee
+07ef07f0009907f107f207f307f407f507f607f707f807f907fa0144014507fb07fc
+07fd07fe07ff08000140014101420143080108020803080408050806080708080809
+080a080b080c080d080e080f0810081108120813081408150816081708180819081a
+081b081c081d081e081f0820082108220823082408250826082708280829082a082b
+082c082d082e082f0830083108320833083408350836083708380839083a083b083c
+083d083e083f0840084108420843084408450846084708480849084a084b084c084d
+084e084f085008510852085308540855085608570858085900a6085a085b085c085d
+085e085f0860086108620863086408650866086708680869086a086b086c086d086e
+086f0870087108720873087408750876087708780879087a087b087c087d087e087f
+0880088108820883088408850886088708880889088a088b088c088d088e088f0890
+089108920893089408950896089708980899089a089b089c089d089e089f08a008a1
+08a208a308a408a508a608a708a808a908aa08ab08ac08ad08ae08af08b008b108b2
+08b308b408b508b608b708b808b908ba08bb08bc08bd08be08bf08c008c108c208c3
+08c408c508c608c708c808c908ca08cb08cc08cd08ce08cf08d008d108d208d308d4
+08d508d608d708d808d908da08db08dc08dd08de08df08e008e108e208e308e408e5
+08e608e708e808e908ea08eb08ec08ed08ee08ef08f008f108f208f308f408f508f6
+08f708f808f908fa08fb08fc08fd08fe08ff09000901090209030904090509060907
+09080909090a090b090c090d090e090f091009110912091309140915091609170918
+0919091a091b091c091d091e091f0920092109220923092409250926092709280929
+092a092b092c092d092e092f0930093109320933093409350936093709380939093a
+093b093c093d093e093f0940094109420943094409450946094709480949094a094b
+094c094d094e094f0950095109520953095409550956095709580959095a095b095c
+095d095e095f0960096109620963096409650966096709680969096a096b096c096d
+096e096f0970097109720973097409750976097709780979097a097b097c097d097e
+097f0980098109820983098409850986098709880989098a098b098c098d098e098f
+0990099109920993099409950996099709980999099a099b099c099d099e099f09a0
+09a109a209a309a409a509a609a709a809a909aa09ab09ac09ad09ae09af09b009b1
+09b209b309b409b509b609b709b809b909ba09bb09bc09bd09be09bf09c009c109c2
+09c309c409c509c609c709c809c909ca09cb09cc09cd09ce09cf09d009d109d209d3
+09d409d509d609d709d809d909da09db09dc09dd09de09df09e009e109e209e309e4
+09e509e609e709e809e909ea09eb09ec09ed09ee09ef09f009f109f209f309f409f5
+09f609f709f809f909fa09fb09fc09fd09fe09ff0a000a010a020a030a040a050a06
+0a070a080a090a0a0a0b0a0c0a0d0a0e0a0f0a100a110a120a130a140a150a160a17
+0a180a190a1a0a1b0a1c0a1d0a1e0a1f0a200a210a220a230a240a250a260a270a28
+0a290a2a0a2b0a2c0a2d0a2e0a2f0a300a310a320a330a340a350a360a370a380a39
+0a3a0a3b0a3c0a3d0a3e0a3f0a400a410a420a430a440a450a460a470a480a490a4a
+0a4b0a4c0a4d0a4e0a4f0a500a510a520a530a540a550a560a570a580a590a5a0a5b
+0a5c0a5d0a5e0a5f0a600a610a620a630a640a650a660a670a680a690a6a0a6b0a6c
+0a6d0a6e0a6f0a700a710a720a730a740a750a760a770a780a790a7a0a7b0a7c0a7d
+0a7e0a7f0a800a810a820a830a840a850a860a870a880a890a8a0a8b0a8c0a8d0a8e
+0a8f0a900a910a920a930a940a950a960a970a980a990a9a0a9b0a9c0a9d0a9e0a9f
+0aa00aa10aa20aa30aa40aa50aa60aa70aa80aa90aaa0aab0aac0aad0aae0aaf0ab0
+0ab10ab20ab30ab40ab50ab60ab70ab80ab90aba0abb0abc0abd0abe0abf0ac00ac1
+0ac20ac30ac40ac50ac60ac70ac80ac90aca0acb0acc0acd0ace0acf0ad00ad10ad2
+0ad30ad40ad50ad60ad70ad80ad90ada0adb0adc0add0ade0adf0ae00ae10ae20ae3
+0ae40ae50ae60ae70ae80ae90aea0aeb0aec0aed0aee0aef0af00af10af20af30af4
+0af50af60af70af80af90afa0afb0afc0afd0afe0aff0b000b010b020b030b040b05
+0b060b070b080b090b0a0b0b0b0c0b0d0b0e0b0f0b100a720300000100004e000051
+00006a0000840000e20002fb00032d00046f0004800004d300052800053200054600
+055900056b0005790005920005ae00066b00068e0006bd0006db0006fd0007260007
+4900077500079e0007b50007d80007e50007fc00080900082b00090700092000094d
+00096100097b0009d9000a9a000b78000b91000ba4000bb9000bd8000bfa000c1500
+0c31000c4d000cf4000d15000d3e000e9d000f3e000f53000f62000f72000f80000f
+93000fb2000fea000ffe00103600104900106900107c0010a30010c20010d7001105
+00112400113d00122400124100126300128600129f0012b300144000153600155100
+16530017040017de0018910018a3001972001981001acc001adb001aeb001bf2001c
+ab001cc3001d7a001d8f001d92001dac001f3d001fe200205e00214d0021650022d1
+0022e80023b70023d40023e20024260024380024f600251b0025380025520025b000
+25d30025e200267c00277700278a00279e0027b30027ee0027fc00290b0029b4002a
+d5002af8002b1a002b3c002b5e002b8f002bc2002ceb002d37002d52002d97002ddc
+002e21002e89002ea3002ebe002ed9002f00002f1d002f52002f76002f9a002fbe00
+2fef00302000305600307b0030990030b70030d50030f90031140031b300326b0032
+9c0032cd0032fe0033410033800033c00033f300341c00344200346800348e0034c8
+0034e20034fd0035180035420035c80035fd00362000364300366600369c0036ce00
+37ba0037de00380600382e00385600388a0038a10039b70039da0039fb003a2f003a
+58003a93003bbd003d0b003d28003d45003d62003d7f003da0003dc2003de0003e01
+003e25003ec4003fab003fdb00402100404800408f0040c800410f00413900420d00
+42e500432b0043540043820043ee0044250044a80044d900454900457f0045f20046
+140047030048540049b60049de004ab5004ad1004b27004b46004bd2004ccf004dcb
+004dec004dff004e1f004e5f004e7c004e9a004ec8004eee0050860050b50050d100
+51050051510051850051ad0051df00520f0052b700534400536d0053940053c30053
+f000541a0054440054c80055f70056e200570600572a0057530057800057ac0057da
+0058a700595c00598d0059b40059ed005a1b005a4c005a77005ac1005b3c005b8600
+5bb9005d8e005e80005eca005f01005ff600613f00617e0061a000625200633a0063
+6500639b0063b80063e200640400643800646200649a0064c00064f300663a00676a
+0067d90067f200680d00682400684c0068710068960068c60068ef00691c00694400
+69c6006aa6006bd3006c10006ca9006d60006e08006eb3006faf00707100708e0071
+7b00721b0072dd0073620074160074330074b40075f30076870077ea0078e3007a02
+007a86007b26007c73007df6007e6e007f730081360081e50082ab00834400836b00
+839600848000851f00862c00875a00882d0088a80089340089590089de008b29008c
+25008ca9008d2f008d4c008e6f008f07008f8c0090440090ef0092380093990093ae
+00942d0094a800953c0096260096810096de00977900982800983e00985e00989600
+98af0098f500992f0099910099c2009a09009a46009b00009b41009c60009c82009c
+b7009cd3009cee009d12009d39009d58009d84009daf009df2009e24009f0c009fc2
+00a0a000a0d200a1a200a1c300a1ff00a24900a29900a2dd00a33300a37900a4b800
+a67f00a6ad00a71e00a74700a8c700a8eb00a90e00a93b00a96700a98700aa0800aa
+2a00aa8000aab100aafe00ab2c00ab9800ad1300adbc00ade500ae0c00af9800b077
+00b0ce00b11000b13f00b16a00b19100b1cc00b1f700b23200b27d00b2ac00b33b00
+b37200b3da00b44f00b47100b4f100b51b00b54900b57400b5a200b5da00b60b00b6
+4900b67a00b69e00b6d100b6f500b72600b77700b7b800b7fe00b81f00b8a200b92c
+00b94f00b97c00baf400bbdf00bc7000bd0300bd7600bded00be1300be4900beb500
+bee900bf2700bf6200bff500c03500c05d00c08400c0d500c10500c12100c13900c1
+f300c2d700c3a700c3bd00c4a400c5d100c78200c91c00ca6000caea00cc2000cd2f
+00ceb100cf5400d00100d0a800d18e00d19d00d3e000d59300d65900d6e500d7a600
+d8d300d97d00da9500dc2c00ddd600debd00df7f00e0a200e18000e1d300e2a900e3
+b500e46b00e4ec00e50d00e6ee00e71500e7c600e9c400ea3e00eb3b00ec4800ecf5
+00edca00eef500f03900f17300f2a900f3ad00f49000f4a300f4b700f5b200f65e00
+f6e000f7a500f94000fb1400fcc200fdd400fef400ff890100250101120101ac0102
+cc0103ad01049e01052f01061f01069b0107010107640108b20109fe010b1c010b84
+010c0b010c77010d01010dcd010e37010f21010fae010fc90110b801120a01134701
+141e0116040116920117150118140118fa011981011a09011b1b011b45011b78011b
+f2011d37011d50011ddd011f5e01202a01212901226601236b0125410126300127b6
+01285a0129cc012bac012d94012ed101306201325501328a0133370133e60134d101
+35870135b10135ce0136500136e101377d01378c0138940138e30138fe0139310139
+4401395701399f0139ec013a3e013a8f013aad013acb013ade013b01013b10013b1b
+013b5c013b6e013b82013b95013ba3013bb6013bc9013bdc013bfa013c08013c5001
+3c96013ca8013cbd013d0d013d3c013d50013d61013d7b013d8d013daa013dc5013e
+13013e61013f13013f27013f4c01409101411101412c01414b01416c01418b0141a6
+0141bb0141d50141f401421101422f0142770142bf0142dc0142f901431201437801
+43e101449d0144e901450101453301456a01459e0145d101461a0146610146930146
+9b0146a30146b601470401471401473201474601475701476e0147800147990147a8
+0147b10147f20148120148750148940148a70148b90148ca01492401493501494801
+495b01499d0149de014a16014a49014a8f014aa0014ab3014b01014b2b014b5c014b
+8a014b9d014bb9014bd1014be3014bf4014c05014c17014c34014c8e014cb7014ce4
+014cf7014d0d014d26014d38014d44014d5f014d79014d8a014d96014db3014de601
+4e2c014e74014e97014ef2014f7b01508801509d0150af0150c10150dc0150ed0151
+3c01514e01516b01518001519a0151d60152ef0153b10154410154950154ca015511
+0155570155840156150156340156530156bd0156d00156e101576801582401588b01
+58960158a40158b10158be0159050159360159660159ec015a3e015aad015ae5015b
+70015c13015cc4015d72015eac015f27015f860160120161160161630161960161a8
+0161bc0161de01620101622401623301625801627801628c0162d30162f501631001
+633301634e0163820163b70163d00163fd01642701646501649b0164b70164d00165
+4301655601657501658401659f0165bb01670c01672801675001677d0167a20167d3
+0167e601688c01689e0169be016a85016aac016ad7016b0a016b3b016b6a016b8501
+6bc3016be9016cd3016d7d016e14016e3b016ee6016f08016f62016f750170970171
+2d0171ed0172b90173910173ac0174510174730174ec0175470175ca0175e501766a
+01775f01783501784e01787d0178ac0178d00178f301791401799b017a3f017a5301
+7a6e017b25017cf3017d84017e80017f5b0180590180ed0181770182810183070183
+8d0183b301843d01849601852a0185a20185b60185d901867a0186d901873c0187c4
+0187d701884801885b01887e0188a20188e7018934018a3b018a70018b33018b6f01
+8b82018ba9018c64018d60018e57018f5801901901903901905d0191480191610191
+9e0191cb0191f50193820193b80193e701940c01942301944801956801964b019666
+01967f01969b0196c30196f001970401973501974801987c01988e019962019a5b01
+9b59019caf019dd0019e04019e2d019eb5019f24019ffd01a02401a0e501a11801a1
+4101a26201a28101a2a401a2c901a2df01a30601a36f01a42901a55601a56f01a58a
+01a5f901a62501a63a01a6c001a6d001a79501a7a401a83101a84901a92501a9ed01
+aaa401aacf01aaf101ab2701abd001ad3601ad5c01ad9601aef001af2101b03501b0
+6101b08301b0ad01b0d001b1b101b2c701b46b01b4df01b4fd01b51d01b5e101b5fe
+01b61e01b70301b7b101b92e01baf001bc9f01bddc01c02001c1e001c2dd01c3d601
+c56901c6f701c7e901c8bb01c9db01cb4101cb7801cca201ccc301ccdf01cd1301cd
+4301cdbb01cedc01cefd01cf1d01cf7001d00b01d09501d18c01d30401d3c601d48d
+01d50f01d60701d74301d88701d9e501dbaa01dc8c01ddad01df2001dfea01e19b01
+e2c401e41401e55d01e6ba01e80b01e8e501e9b201eb5001ec8801ed7f01ee6b01ef
+d001f11601f23301f30401f38301f40101f41401f4d501f62f01f71501f86201f990
+01fa7501fb4601fbf501fca801fe0201ff1b01ffd60200b90201610201f802032702
+04420204550204930205b4020734020857020939020a04020b29020c4e020cfb020d
+ae020dd7020e10020e3d020e7c020ec9020efc020f42020f77020f94020fb5020fe4
+02101902105d0210930210cb0211090211200211970211b70211dc02120402123602
+12630212950212cc02130b02138c0213e90214890214db0214fa02151302153a0215
+5d0215810215a30216b00216e90217c40218460218c602190902192102195702197d
+0219a50219b60219ce0219f5021a08021a16021a25021a34021a61021a72021a8602
+1a9e021ab1021ac4021ad5021ae4021b28021b7d021ba6021bbb021bde021bfb021c
+98021cb3021d10021d99021e35021e48021e94021edb021f6a021fd902206d0220cc
+0221290221830223ce0224710225280225bf02269602270e02274e0228230228bc02
+28ec022917022933022947022964022a01022a1e022ad3022c25022d3e022d5d022d
+8b022e40022ef502308602322702327e02331802347e0235c902365b0236980236ee
+02378b0238040238770238980239010239d9023b65023c8c023e78023e9f02403502
+41b80241e40242010242240242370242610243f70244110244d60245850245b30245
+f302463202470302474302476d0247ac0247d50247f902482b0248510248940248bb
+0248ff02492402496302498d0249d30249f4024a2f024a82024b43024b97024c6302
+4ca6024ccc024d20024d5a024dd8024e21024ef1024f14024f42024fb1024fd60250
+0302502a02505202507c0251db02533c0254e802551102566302568c0256cc02577c
+0257b70257df0257fe02582902584d0258760258970258c90258ec02592702595302
+59830259a20259ce0259e9025a0f025a40025a6a025b90025bbc025bf0025c1d025c
+47025c76025ca1025ccc025cf6025d1d025d43025e38025f18025f9e025fef026025
+0260ec02612c0261f40262320262670262a60262de02631102633d02637102639d02
+63dc0264140264470264730264c00264ff02654d0265880265da02667d0266d60267
+8a0267ea0268320268700268940268d30268f902693a0269570269930269ad0269d4
+026a08026a34026a6a026a86026aad026c09026ce6026d3f026e00026e26026e4b02
+6e6a026e89026ed6026eee026f08026f21026f45026f6a026f88026fa8026fc8026f
+e902701102702e02705e0270810270a30270c10270ed02711202714402716f02719d
+0271c50271ec02721802723e0272630272a002732f0273de0274e20275b602764202
+76690276a00276cc02770a02774002781b0278c302798a0279be027a01027a4a027a
+93027ac2027aff027b3c027b8c027bc9027cb5027cec027d39027d8b027dff027e33
+027e79027ec1027eeb027f37027f66027fb9027ff20280c40280fe0281c902820302
+825c0282990283700283af0283ff02842f02845602847e0284a00284cd0284f60285
+1e02854d0285790285b10285e80286920286c90287020287820288340288720288a3
+0288d102890202893902896a0289a10289dd028a20028a62028bc2028bf8028c3402
+8c57028c84028ca9028cde028d0a028d37028d63028d90028dbc028df5028e31028e
+72028e9d028ed3028eee028f04028f270290760291d30291f602921e02924602933a
+0293ef0294410294a302956702962c02966602969f0296df02971e02975902979802
+97fa02985f02988d0298ba0298f00299230299550299870299e1029a3a029a73029a
+ac029aed029b2e029b6f029bb4029c01029c4e029ca3029d00029d90029dee029e26
+029e5d029e9b029ed6029f25029f69029fcb02a02902a05102a07902a0ae02a0e202
+a11702a16802a1c002a21802a23c02a26002a28a02a2b002a2db02a30302a35302a3
+a002a3c102a3e202a41002a44402a4d902a50702a55a02a5ac02a5d602a60002a631
+02a66402a69a02a6d202a6fe02a72a02a75f02a79302a7c802a7fd02a82402a84c02
+a87b02a8ac02a8e302a92002a97402a9c502a9e702ab1a02ac5a02adb202addf02ae
+0c02ae4002ae6c02aef902af2d02af8502afda02b01902b05802b09f02b0f502b142
+02b18902b1f202b25a02b28d02b2c002b2f002b32102b34f02b37e02b39802b3b302
+b3d702b3fb02b41d02b44002b46102b48202b4d302b52102b57902b5cd02b65002b6
+a402b71e02b79102b7d602b81a02b91202b95c02b9a602b9f002ba5c02bac902bb08
+02bb4a02bb9502bbd902bc3502bc7f02bce902bd5202bd9202bdd202be1c02be6502
+beaf02bf1902bf8102bfeb02c02a02c06102c0a202c0d902c19e02c1e002c24702c2
+a802c2f902c34a02c3a302c40b02c46a02c4c302c53b02c5b402c5ef02c62302c664
+02c69e02c6df02c73002c79802c7c102c7e202c80202c82202c85202c85c02c86e02
+c88102c8ad02c8ec02c92002c94d02c98302c9d702ca3502ca7c02cac302cae502cb
+0702cba402cbbf02cbda02cc1e02cc4002cc5d02cc8d02ccc202ccfb02cd5b02cd7a
+02cd9602cdb102cdcc02cde602ce0102ce3c02ce6a02ce8d02ced902cf1702cf4702
+cf7702cfb802d01802d03702d05302d06f02d08a02d10802d12b02d15002d16302d1
+8f02d1b402d21102d24f02d2a002d2c302d2e502d31a02d34e02d38e02d3a202d3ac
+02d3ae02d3b102d3b302d3b602d3b902d3bc02d3bf02d3c202d3c502d3c802d3cb02
+d3cc02d3de02d3f002d41102d43302d45602d47902d49402d4b102d4c602d4db02d4
+ef02d50b02d52902d54502d56002d5e102d65502d71302d73402d74b02d75902d76f
+02d78d02d79d02d7a002d7e802d86302d87702d89102d8ac02d8bf02d8d802d8f302
+d8fe02d90902d99e02d9c602db7202db8402e09502e0ac02e0ef02e12502e15b02e1
+ab02e25802e28902e2a802e2d402e2f802e31002e33102e34d02e37a02e39a02e3b6
+02e3cc02e3ec02e3f902e40802e4a002e4bf02e54402e5e802e66302e77e02e79502
+e7b502e7f102e81e02e83e02e85802e86c02e88a02e89602e8a402e92f02e9e302ea
+0202eb4602ebfb02ec1402ec2902ec3c02ec6002ec7f02ecaa02ecce02ecef02edc4
+02ee6002efd002f1b502f2ef02f33302f3cd02f56402f6e502f75202f7e202f8e402
+f9bb02fa1002facd02fbe602fc9802fd9902fe1302fefd02ffbb03006303018a0302
+9503031e0303b40304b40305660306d40308170308b20308dc0309ae030a02030a2b
+030a40030a63030a80030b5f030c5f030c9f030cf4030d1f030d61030da2030ddd03
+0e12030e64030eaa030f04030f65030fb8030fd30310540310e50311b60312a20313
+370314250315230316700317db031907031a6e031be0031c74031d35031dbd031e94
+031eb4031fbd0320e103226f03227e03242603252003263503288b03289a032ae403
+2d70032d84032d99032dc7032f5b032faf0330b70332090332650332cd0333060333
+4203337a0333b403342e0334ac03357d03364e0337230337f40338610338cd03390d
+0339b1033a5f033a70033a7e033a90033a9f033abb033ad5033b72033c3f033cdd03
+3d25033d6d033db5033e00033e79033f0303401b03413d0342550343690343950343
+e00344b80344e103457c0346e10347290347730347b80348ca03490703494e034a62
+034aa0034b64034c24034c86034c93034cf6034d5e034d73034d87034d99034db603
+4dc9034dd7034e07034e34034e8f034eea034f03034f290350440351a20351b50351
+fa0352170352880352ad0352d103531a03536503537a0353970353be0355af0355c7
+0355db0356b4035761035865035a1a035a38035abb035adf035b79035bc3035c0e03
+5c51035c62035d15035dcc035eaf035f8e035fc2035ff703609903614603621d0362
+a10363f60364a60364c30364e00364fd03650e03652c0365920365f903660c03662e
+0366500367aa0367dd0367f703680e0368ee0369cc036a37036a89036a94036aa303
+6b14036b3b036bc9036c57036c6a036cf6036d84036d98036e28036e43036e51036e
+76036e92036e9f036ec3036ee4036f66036f8b036fa3036fd003704f03707c037094
+0370d20370f003723e0373fa0375a603772a0378960379e6037af0037b86037cd303
+7d13037f910381570383110384a00386700387ca038a65038b05038c60038ea2038e
+c5038ee8038fcd038ff803901b0390dd03915a0391f40392740392a50393760393a1
+03948e0394c00394ea0395ba03963f0396e00397b40397e5039b0d039ccb039df103
+9f5403a1b003a3d503a57503a81503a96b03a9e303accf03ae3d03afad03b1a103b2
+1603b3af03b48103b6b803b85703ba1703bbc103bd8903bf0703c24503c4ae03c699
+03c7c003c7e803c80a03c8c603c9a903ca7903cb9203cc8603cd0a03cd8d03ceff03
+cf2103d0ad03d18a03d1b303d28403d2ac03d34303d3c403d44803d51c03d65203d8
+5203d9a303da6303db2003dc5a03dcb103dd1903ddce03de4103dea103def903df3d
+03df8f03e02403e0b303e21403e3ee03e5b403e76a03e8f803ea4e03eb7b03ec2003
+ed8603f00d03f04303f05003f06903f07803f09403f0a203f0bd03f0cc03f0e803f0
+f803f11503f12503f15c03f18103f1a703f1c203f20f03f21803f23303f26503f296
+03f2c803f2ec03f31403f32b03f34203f37903f39f03f3f203faf803fbd103fd4103
+ff2c03ffc004015b0402f80403ba04042c04048b0404eb04057b0405e204064c0406
+b70407560407da0408ad0409720409d7040a4f040af1040b7f040c3e040ce8040dbf
+040e43040eff040f7104101a0411460411b704121204128a0412cd0412f404135704
+13d70414a404158c0415e70416460416f304185a0418ce041b05041d9f041feb0420
+7a04212904229d0422cd0424cf0425a00426490426d004276c0427e2042ee4042f35
+042f960430050430700430c704311a0431570431a10431f004322f04324004326b04
+32980432a70432b60433460433b80434e404356904366e04383e043988043a5d043b
+0b043c38043d54043dd3043e4b043f9e04409704414e0441fd0442af044326044338
+04434c0443680443840443dd04441c0444780444d904468504479204495f0449b104
+49dc044a06044c2f0454650455890456a50457cc0457f304581a04585a0458a3045a
+a3045ba8045f490461260461b50463f504667d04679e0467b90468760468990468c8
+0468e60469080469310469540469800469a9046af6046c58046dfc046ea704708b04
+70c304710404717a0471900471c10471fe04722004724904726304728f0472bb0473
+5204737e0473ab0473d00475810476dc047976047b17047dc6047f8804815204825d
+0484290485620486f40488960489c3048aeb048bba048d3b0495230495ed049c2a04
+9d75049f6b04a0ae04a17e04a34504a57a04a74604a81704a92404aa0604ab0c04ac
+b104ad8b04ae8d04aea904af6204af7704af9404afb904b08804b0b504b19d04b1b2
+04b1c804b2fc04b30f04b45104b50c04b52a04b5c504b6cf04b72604b75304b78304
+b79904b89e04ba8d04bbab04bbc204bbe004bbe204bbf404bc1604bc3804bc5b04bc
+9104bcc204bcf404be9604bfb104bfdc04c00704c03204c06f04c08a04c0a504c0c0
+04c0e904c10a04c14304c16804c18d04c1b304c1fc04c22b04c31304c44504c46204
+c47f04c49c04c54a04c56804c68304c7cc04c7ed04c88304c96304cb5704cd8d04cd
+ae04cddd04cf3904cf5504cf7504cf9d04d10d04d1f204d23204d24e04d2f204d31e
+04d34d04d45604d48204d4b704d4f104d52e04d66c04d6ac04d7b604d87304d89c04
+d8c004d8e604d91104d93a04d95d04da0804da4d04da8c04daac04db4404dca104dd
+4904ddfc04deb704df9d04e0ba04e12804e1f604e33004e47504e49904e4bd04e4f2
+04e65804e78504e85204e93004e9c904eaa004ebc104ec6b04ed0004ee3f04ef2204
+efd604f0a504f12004f1b004f2f604f40304f41e04f4df04f50504f51e04f57604f6
+1b04f85404f91504fa2204faa304fb1404fba104fc2604fca704fd2604fde904fe4c
+04ff0404ffc905000d0500930500a90500da05018c0501ae0501d70501f105021d05
+024905026f0502ac0502fe050310050472051202051fa40566ea0567090567210567
+4e0568120568690568820568ae0568d80568ed05690005692405694305696e05698e
+0569ab0569cf0569f0056a13056a26056c10056d17056dc6056df9056e21056edf05
+6f8a056f9c056faf0570120570250570390570f605717a05718e0571a20571b40571
+cb0571e10571f205775005783a057924057c04057de30583ff058752058888058bac
+058e9c059495059f6805a3bd05bf3805c03805c12905c38005c39705c4a105c5b405
+c62f05c6af05c72005c79c05c8bc05c9d705c9ef05ca1205ca2005ca2e05ca3d05ca
+4c05ca5e05ca7405cb4705cc8e05cda805ce9705d00405d16d05d23805d37c05d408
+05d55605d64005d6ee05d85c05d9ca05dae205db4a05dc3e05ddaf05de4a05df6305
+e02005e18305e37905e4b105e5b705e6b205e81b05ea9205ebd52c8bbdf8e9be018b
+bdf824bd03bdf8ef15f73efb92fb3efb9205a95e15f73ef792f73efb9205fb20f7bf
+15f73ef7928bfc9005fb5cf7bf15fb3ef791f7e88b05fc38fd1b15f888f94efc8806
+0efbed0efbc781f5f8c67701e6f503f724f92615200a56fcfb15210a0efb97f83ff7
+6e01cae1b3e103f76bf83f15220afb128a15220a0efb16f754c0f707c001f7abf789
+15fb068b9ef707f7058b05b116ea8b93c02b8ba8f747658b6ffb47fb068ba9f74765
+8b6efb472e8b8356e88b79fb072d8b058356e88b6ffb46b08ba8f746f7048b70fb46
+b18ba9f746e98b92c02c8b050efb16fffff7e666ff00226666ff0227b334ff001fe6
+6601becef771d903ff00cf199aff016eb33415ffffd2ccccff00164cccffffd4199a
+ff00214ccc8bff0035b3348bff00339998ff002e4ccdff0031999cff00366666ff00
+00cccc08ff0013999afffec9999a15ff00323334ffffeb9999ff00328000ffffe233
+338bffffb1999a8bffffb5b333ffffd6b33463ffffb73332ffffff4ccd08ff009219
+9af8c515ffffd08000ff00063334fffffbe666ff000eb334ffffc1b334ff00036664
+08ff0004b332ff0055333405fffff333348b7cfffffe8000fffff6cccdfffffc8000
+08fffffb9999ffffb0666805ffffa53334fffffce664ffffb16666ffffc480008bff
+ff9fb3348b34ca5ed36cff00053333fffffdccccff00058000fffffdccceff0005b3
+33fffffdcccc087dffff00e66705ffffbcb334ff0009999a5fff0028199affffede6
+66db808f818982868f438f74965dff0033b3338bff00198000ffffefe666ff003d4c
+cd8708fffffb199affffa5cccc0595ffffffffffff00139999ff0000e667ff00074c
+cdff0004333308ff0004999aff00544ccc05ff0027199aff00013333ff0025e66695
+ff001de666ff0012b333c0acadc58bc68be44eb748a8fffff4b334ff0004e666ffff
+ef8000ff0005b334ffffedb332ff00074ccc08ff000c4ccdff00dfb33205ff003eb3
+32fffff2b334ff0016ccceffffcde668ff00104cccffffcbcccc968b978a939288b8
+87a581bc080eb57faaf762aabaaaf72ab09eaa01c4c1f719acf0c2f718ac03f845de
+15230a549a15240a7df83b15250afb91fb0f15260a0ef70281c155acf806acf750ac
+12b6ddbfd5f71fd0f750a0137ff78ef7e6159676dbfb08c4405a486767448b4c8b55
+ae8bed088bd2a1c1f2c408f73ffb8815a8660513bfba4ab089aa8bae8bb8a7a2d1ff
+fffaccccff00056666fffffb3334ff0004999a808b7764747c6a8b7b8b6d9f6cb608
+67bd05ff0027999ac4ff00167ffeb3ff001ae668bbb9ddff0006ccccff00053334ff
+003d3334ff0003cccc91918ba08591778a6d8a698b698b628c778c85858b76918508
+ff00361998fffffd4cccff000ee668fffffab334ffffda666845ffffeee664ffffe0
+199affffe7ccceffffd53333ffffdbe666ffffcab3335dc951de79aa08879305debb
+cdcc8bc208ca51b845275544501e8b659964b04bfb184156488b3c08137ffb0ee05f
+f61ee08bc2b4b9ca08fb18f7cf1571bc7fb18ba208cdbca8a5b4a26d5e1e8b676657
+4b61080efc29f83ef76e01c0e103daf83e15220a0efbbdb7de03b7f790158b5e8ffb
+7bf764fb48958d93928e936ab1fb09f71e8bf79b8bf79bf70af71eabaffffffc999a
+ff000a4cccfffff9ccccff0006e668fffff4999aff0000ccccfb0b252efb3b8bfb4e
+080efbbdf73fde03f792f790158bb887f77bfb64f748818983848883ac65f709fb1e
+8bfb9b8bfb9bfb0afb1e6b67ff00036666fffff5b333ff00063334fffff9199aff00
+0b6666ffffff3333f70bf1e8f73b8bf74e080efb76f73cf8b715270a0e5ef776bdf7
+4e7701f78ebd03f78ef84715280a0efc0bfb19a3f703e801f717b203f3ea15290a0e
+fb95f773c701b3f79603f7a3f773152a0a0efc0b81f501c4f503c4b615210a0efba4
+f91a77019af7aa03f7b9f91a15628bfb81fd55b48b050efb1681aef8baae01b2e2f7
+65e203f77cf8d3152b0a87fcdd152c0a0efb1689acf8d57701f767d803f7b4f70e15
+f7ef078bc7ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334ff
+fffc80008bffffc8b333ffffddb334ffffcb4ccdffffe74ccc3362ff0001999affff
+f4999aff00046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08
+ff00108000ff0003800073691ffbda078b387086458885858b769185bc8cff0023cc
+cd8cff003633338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde
+080efb168bccf81576f726ae12c8d6f74ee370a813f8c8f868152d0a13f42e0a13f8
+2f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff004e3332ffffccb334e313f8
+f76bf8d315300a13f4310a13f8320a0efb1689acf721baf81b7701f7a3d703f7a3f8
+8f15330af733fbb415340a0efb1680aef7d1bdf722ce4ed312f7d3e413e8f7d3f751
+15350a13d8360a13e8370a0efb1680aef7c6aef770a501b7def767de03ff00873333
+f7c715380aff0009199aff00244ccc15390a0efb169376f8b8cc967712beab13d0f7
+3ef8ab153a0a13b07b970513d03b0a13b03c0a0efb1681aef8baae12b9ce61d2f749
+d15cd413d8f77ef8d3153d0af73331153e0a13e43f0afb3bfc6015400a0efb167fa5
+f770aef7c6ae01bddef767de03ff014fccccf7b815410afffff6e668ffffdbb33315
+420a0efbfb9ef5f745f501d1f503d1f7f715210afbaf04210a0efbfbfb19a3f703e8
+f763f512d1f571b213f0d1f7f715430ac0fb9815440a13e8450a0e5ed4f7df01f71e
+f78315460a0e5ef723bdf708bd01f864f7c915470af819fb3a15470a0e5ed2f7df01
+f830f78015480a0efb3481f5f8a6ac12b9cfa9f546ace7de13ecf706f8d015490a13
+f4a9fca515430a0ef7c0fb32acf72cb6f7c9aaf73eaa01c6dbf71ad4f73dcff744db
+03f8cdf7d0158b697a587e6c6c425a52688b4c8b7cb78bbb8bc99ccbbebea9aab694
+9c8baf8ba8728b650899fb86158bff0006800092ff0021800091a608c7f7967c9056
+7e86730581a5699c6a8b0821fb13fb06fb2363a137ef1fae8bc1a8b7d5088d8a0583
+7284748b7c087b9272a8f76ed1f721f706f74ffb2ff722fb6bfb75fb4dfb41fb6bfb
+69f730fb3cf7831ef7058bc7aec7b9087e9d0555604d74368b08fb963ff76cf72af7
+81f73cf1f72cf711f74328fb62fb3a4c5c2589828d951f0eef89acf766b5f80b7701
+f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf78bad12f5e0f76cdc69e813f8
+f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0ebe81b4f8e2b001b0
+e6f84aac03f7f98115500a0ef589adf8d9ad01f5e0f807eb03f753df15510a60f8c5
+15520a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd
+15530a13af80540a136780550a13a780bbdb898b1f99bd9acd93befffff59998ff00
+05e666fffff48002ff00024ccdfffff2e666fffffccccd08137780560a0efb0289ac
+f7b8b1f788b36cac12f4e0f74cacb0aa13eef7aff7d715e08b8e748e5e9185a08b91
+918aa48aff001cb3348bff00224ccc8bff002180008cff001a80008ca58591768b85
+858854887e368b082ef74806c19795b71eb806f58ba463a146978b968d938efffffa
+ccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999aff00024cccff
+fffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ffffff66
+68ffffe74ccc8b08ffff00b3340613de570a0ee581aff783aff7d5af01b0ebf821e0
+03f80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8be8a4
+cfc5809486938b9608f708078bff002333339cff0009cccda88e91918ba38591738a
+728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666fffffbcccc
+ff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237f73df718
+f743ff00718000f70cff007480001ff7258bb438a535ff000b4cccffffff4cccff00
+0a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f9566aefb03
+8b080ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15580a0efbbe89acf8db
+ac01f5e003f753f70e15590a0efba5fb40b8f979ac01f721e003f776f89f155a0a0e
+b589acff0115e666ff00266666ff010ab334ac01f5e003f753f70e155b0a0e4889ac
+6cb2f8d3ac12f5e0f7afac1378f729165c0a13b85d0a13785e0a13b85f0a0ef78896
+7693acf8dbac121360ff0296b334f70815600a13a0610a0ef3967693acf8dbac12f1
+bcf829bc1378f8c0f89415620a13b8630a0ef681aff8e8af01b0ebf849eb03f7dff9
+0215640af7e3fbb915650a0e5589acf78fadf7c2ad01f3e0f775e803f751f8be15a8
+9aaed3d0d074fb13fb00575f2a1e728b638d808e0836f75e15fc25078b387a864588
+85858b769185b88cff00314ccd8cff0023b3338bff002366668bff003a999a8abd8a
+91918ba085913d8f738f8bde08f73e07a184a388ae8b08f74ac2f70be0c664f6fb4d
+1fffffd9b3338bffffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b7691
+85d1889c868b38080ef6fb65c4b1b7c7adf8ecad01b0ebf849eb03f7dff90215640a
+f7e3fbb915660a0e8381aa74acf798adf7b9ad12f3e0f76ce7133cf7a4f8fe15670a
+38fc8415680a13bc690a137c6a0a0efb0281aff8eaad01beff00476666ff00ed999a
+df03ff018a999af90b15ffffc6333293ff000233349effff9e66668bffff9a999a8b
+32488b218bffff96999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8
+e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ffffb033348bffff
+a2999a8bffffc3e666ff002a800075ff0063800008fffff3b3338ffffff56667ffff
+fe199afffff66666fffffae6668f3e8f71975aca8bff001be66674ff0058b3348bff
+002d80008bff002b199aff000b199aff0022ccccff0015b333ff00398000ff0023ff
+ffff00248000ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999aff
+ffad999aff001ee66608ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054
+199a8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe
+333498ff0000cccc9492fffffc8000bb87a7fffff5999ac0080e8d89acf8d3b2018e
+adf778e0f763ad03f7f2f70e15f81207cb95b1af1ea106d68bba719c3e968b998c94
+8f84b986be8ab88b8c898d8a8b6988fb03863c8b0835063e8bfb0a90658e898b8989
+8b8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a
+863b8885858b769185bc8cff0032e6668cff0028199a8bff002666668bff0032999a
+8abd8a91918ba085913b8e7a908bde080ecd81b4f8dbac01e2e0f7f6bc03f740f89f
+156b0a0ec49476f906ac01f854f8fa156c0a0ef7f89476f906ac01f9bef8c9156d0a
+0ecc89acf8dbac01f8aef1156e0a0e7789acf8dbac01f790e003f7e5f70e156f0a0e
+948bb1f8c8b6937712c8a9f85caa13d8f8bb8915700a13b8710a13d8720a0efb83fb
+55a9f9d8a901f700ce03f700fb5515f7680691918b9d8591fb1e96849a8be208f8f7
+078be2939af71d9591918b9d859108fb68060efbc8f9597601c2f94e155f8bf77afd
+7eb78b050efb83fb54a9f9d8a901f749ce03f78cf95415fb680685858b799185f71e
+80927c8b3408fcf7078b34837cfb1d8185858b79918508f768060e3ef7eef7c401f7
+04f7bb03f797f8e515730a0efb01fb2eb701f870fb0215fc660683838b6f938308f8
+660693938ba78393080efb5ff8aef73501ebf73203f746f94f15740a0efb1e81bb5b
+b4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a0e
+2581adf807b7f75ea9a67701d9daf769e103f742f7ff15780a84aa15790a0efb3b81
+bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a67712b2e1
+f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0efb2881bc
+f765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0efbb189acf7fbb2
+f77fad01ebdaf71fdc03f743f70e15810a0e2cfb82b0f751c8e2aaf785aa12abd062
+dd41c0f75adb9dc213f580f7d3f7ab15820afb4ffbb51596889b89988baa8ba78e99
+8bbd8bb58aa87bb275977d8b7108432165311e13f9806737a8cf1f8bad8da4a8ae08
+f7ccf821159e9d9d9fa0789b701f718b5b7a71697f936a9f508b0813f58032394f2f
+1f8b55a36ca7700813f380830a13f980556b6f5d8b600834dd70d8f71bf726ccf700
+1e8bab7ca46ea364ab458c668b798b728973887c8a818a868b0813f3806e6899b61f
+8b9f91a0979ca37da784b28be38bdcc28bed8bba7da66ea992959f99988b928b9288
+9182088f839881968b080e5289acf7f8bff75ea9a67701e3daf766da03f73bff011d
+e66615840a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb15850a13f4e6
+fc7115860a0efbd7fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f4
+99fbae15870a0e3889acf746a4f738acf766a9a67701e1da03e1f70e15880a0efbdf
+89acf8f6a9a67701eada03eaf70e15890a0ef75789acf7f8bf01e9daf753daf753da
+031438f73ef7fa15fffffeb333ff001db33489affffffb4ccdff000a4cccfffffde6
+66ff0004999afffffe199aff00036666838b6f807182468289858d7b8d85c1869686
+8b5108fb57078b397e86548785858b769185a98cb18cb38bb38bff001ecccd8aa98a
+91918ba08591ffffcd333390808f8bdd08f738078ba094ff000c4ccc93ff0008b334
+ff0027999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42
+078b398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82
+908bdd08f733078b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080e5689acf7f8bf01ebdaf760da03f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba094979394b1b0b8a1b28b9f
+8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab8cb38bb3
+8baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c97688b5a
+8bffffc84ccd7effffc4b33347080e3081aef80fae01b4e1f78ee103b4f761158a0a
+f759f75b158b0a0e3ffb7eacf753adf805b901dbdaf780e103f743f7df158c0a78b0
+15fffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a4cccfffffde666ff00
+04999afffffe199aff00036666838b6f807182468289858d7b8d85c18696868b5108
+fc3f078b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba0859144
+8f808f8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff0018
+8000fffff6199aff001ee666fffffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98b
+dc8bf540ed258bffffd180008b58ffffe18000ffffd88000ffffd3800008fffffa66
+66fffff9b334fffffb199aff0000b332ffffff8000ff0009999a080e2ffb7eacf753
+b7f807ad01aee1f775da03f7d6ff01706666158d0aa3fffe20999a158b3880874e88
+85858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e808f8bde08f8a407
+998796801e848bfffffa199afffff84cccfffff7e666fffff4b3347e7987887fff00
+07ccccffffe06666ff0014800064ff0008b334ffffd5999a8b08fb0e3127fb182eca
+fb10f7241fa68bff0020e666ff0005999aff0011199a95a2ff000d66668f8d8b7608
+0efb7389acf7eec901efda03f744f7fa15fffffe4ccdb3fffffe6666ff0019b334ff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8071
+82468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb2
+8cb38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2
+ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ffff
+f2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f746485
+80fffffb333393ffffffcccd90080efb6181acf813ac01c9d2f721d703bbf71e158f
+5a8e5c8b61958d958c908b928b918b9289a684a687b08bc38bf2a68bee8bff00444c
+cd5aff0027b33347ff0019333308ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8ba18bc583983691859f8c91918eaf8db08cac6c905b99578b0841
+485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffffea4ccdff000d4ccc
+fffff5b333ff000ab33475a280b785a48591788a8585080efbab81c2f7edb201e4da
+03b6f841158e0a0e4b81baf7fdac01e3daf758da03f76d8115b28bba9fbcb3908fff
+00094ccc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b93
+88ff00048000ff00008000ff00068000ff00028000a19dae9ac89291918b9a859108
+4b90829e8bbc08f75407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c8585
+8b769185bc88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a
+07a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b
+4a08fb540746a948ee1e0e299476f82eac01f7d9f822158f0a0ef72c9476f82eac01
+f75ff8221591918ba085916d8a688a678b658bffffe533338cffffe5cccd8c85858b
+769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082e6
+66fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b9391
+919a08ff00829998f7d105ff00106668ff0028e6669cff001c199abe8e91918ba085
+91778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3199afffff1
+e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7ccccff0014cccd
+08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a6d8b728b6a
+8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e666ffffd333
+3408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199aff00208000
+083bf76205ffffed199abb8c9bbb8e080e2289acf803ac01f74af7fa15900a0e3bfb
+7cdbf8baac01f760fb3415910a0efb3f8badf7fab001d2f84b15fffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a9fd4aaff00114ccca9ff0000b33408f7148e05
+47fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b8608849386
+9a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd7f8b
+087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb1906
+d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e84
+8b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00
+056666080efbd2fb68a3f83ba3f83ca312f5d349d513f0f746f8bc1586ff0066e668
+baff00111998b19691918b978591318b49638ffb050813e891fb4c058b5973554184
+82828c849383ff0049800082ff001a80005f894e0813f085fb3e0586fb16c36af08b
+91918b9785915f8bffffd78000bdff00048000df0813e893f72905ff00046666ff00
+524ccdffffd66667ff00278000ffffbc3333ff001c3333088f07ff00433333ff0013
+3334ff002a199aff001cccccfffffbb333e4080efc1afb6776fa367701dcb703f711
+fb7c15fa365ffe36070efbd2fb69a3f83ca3f83ba312e2d549d313e8ea511590ffff
+99199a5cffffeee666658085858b7f9185e58bcdb387f7050813f085f74c058bbda3
+c1d59294948a928393ffffb6800094ffffe58000b78dc80813e891f73e0590f71653
+ac268b85858b7f9185b78bff0028800059fffffb8000370813f083fb2905fffffb99
+9affffadb334ff00299999ffffd88000ff0043cccdffffe3cccc088707ffffbccccd
+ffffeccccdffffd5e666ffffe33333ff00044ccd32080efb26f769c691c601a59cf7
+f99c03a5f76515920a0efbed0efbc7fb6476f8c6f501e6f503f724fb7915930ac0f8
+fb15940a0efb169376ff0064b333ff002e6667ff015c999aff001fb334ff00609998
+7701ff00453333ff0051cccddcafff003accccff0052b33403f77cf8f715ffff9c33
+3407ffffac6666ffffef6666ffffb0cccdffffafe6668bffff884ccc8bffff8e4cce
+ff003acccdffffaee666f3fffff4cccd08ffff9a3333afff0064b33307ff0034b334
+ff00024cccff002f1998ff00146666ff002c999aff0049199afffffc3334ff000899
+9afffff86666ff0003b333fffff766668cffffdfb334ffffd63333ffffd7199affff
+eb199affffd719988bfffffc80008bfffffc999aff00003333fffffc999aff00004c
+cd08ff015c199a07ff00303334fffffcb33292ffffe0999aff00039998ffffe08000
+ff0002e668ffffe64cccff000d4cccfffff766689f8b9f8bff001a8000ff000c6666
+8bff001d80008bff00338000ffffcb6666ff0025b332ffffa7199aff0001199c08ff
+006099980767fffe2e4ccc15ffffd0e666ff00180001ffffde199aff003d33338bff
+005533348bff0058b332ff0020cccdff003a8000ff00303333ff000fccce080efb16
+80c290b5f765b2f774bb019bd7b8e003d5f7c015ca78068b30803b5060707c737b8b
+78087b9c7f9ea19d97a2969099ae1ee38b8c4fe58bcc8bbdafa3bf8792858e838c71
+675c836d8b468b96bafb108badabb3c58cf70b08f70006969890931f9f078f888d86
+1efb10d206e2b0cdb91ea18b9a80987f978094839a8b08a39c9ba4af5298741f568b
+5e746867545570558b3608775e0779857e831f8007868c89901e0efb16f70bb8f7ad
+b701b7cbf78acb03f700f7c515d6beccd5ccc34d3c405a4a41405bcbd81ef70ffb4e
+15b68bb298aea508bb56b1b354b905a4ac99b18bb58bb77db171ab08c5ba62b65a51
+0569a56598608b628b667f6872085bc16461c25f05706b7c648b5e8b609a64a66a08
+525eb660b8c305ad72b17eb58b080efb1689acf2b2d3b2f7b1ac01f753e003f753f7
+13158b337a86368885858b769185bf8cff0025199a8cff0038e6668bff0037cccc8b
+ff002233348ac08a91918ba08591368e7a908be30892f70e0796998f951f9e078f87
+8d871efb1fd3f70e0696998f951f9e078f878d871efb158be7f75f05acd48b8fc090
+91918da085916b8a798a7a8b7a8b6d8c6b8c85858b769185bd8788866b42083efb44
+898b20f770057aae968eaf8b91918ba085916b8a588a858b7d8b5f8c6b8c85858b76
+9185b487a0739d6508f6fb6ffb0b8b0579857e831f7f07868c8a901ef72143fb0f06
+798580831f7e07868c89901ef721060efc14dcbc03f716f936155afbfebc06fb2b04
+5afbfebc060efb0efb40aaf994aa12bdc173d058d8f70fd858d073c113e2ff007ccc
+cdff019f199a15ffffd3999affffdc199affffe1999affffd033328bffffbf999a8b
+fb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e81a1718b08
+70827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd199aff00234c
+cc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266668bf70f21
+b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a58b08a6949c
+a0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffffdcb33408ff
+00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffffe06666ff00
+1233330813e143b540b38be78bff00226666ff00106666ff00173334ff0019b334ff
+00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedccccd361d663
+8b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a080efb6cf8a4
+ea01bde9d6e903bdf8d315950af73d16950a0eefa2abeca8f791a2eeab01adb3e6c9
+f7e9b303f84bf76c15fffffb6666ff0006199afffffb6666ff00063333fffff63334
+ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d938b928c908e8c
+a38ca189b0778d7a98458b5b8bffffd2e666ffffecccccffffe3199affffdfb33473
+ffffe5199a7fffffdb999a8bffffd9cccc088bffffd36666ff00136666ffffd44ccd
+ff0022999affffe34ccdff001ab333ffffe9e666ff00249999fffff3199aff0026b3
+348bc28bb6ac9faa08fb0afb5515960af8a904970a0efbb4f7faabf772a401aabff7
+01c103f754f88a15980ab6fb2415990a0e57f730f76b159a0af748169a0a0e8ff7d7
+b701f887c103f887ee159e82ff00126668ff0002999aff00109998ff0006666608f7
+a0fc9507fffff94ccc798efffff2ccccff0003b334fffff3333408f85f060efb95f7
+73c701b3f79603f7a3f773152a0a0eefa2abf704a3eca3f701a3f703ab01adb3f739
+bae5c1f71eb303f80cf806155d797f6d1e61d6069d9a9ba4ad9b7a691efb05d4157b
+8b6d8c798c87878b7b8f87ab8893858b6b08fb28078b6b83856b8887878b7b8f879d
+8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e83918bab08c307908ba78a8f8808bb
+3b059c6ea3829f8b978b978d97908c918a92878f7b887bff0008333380ff0012cccd
+085bdd05aa95a5a48bb28ba977b8408b778b67897b8b08c5fc3815960af8a904970a
+0efb5af8a5b701c6f7ac03f7cff8a51598969d97918793811ffb88067f817a7f848e
+83941f0efbdcf82da9f721a901adadf717ad03f75bf890159b0afb398c159c0a0e5e
+b0bdf774bd01f78ebd03f78ef89c15280af769fc77159d0a0efbb4f800abf79aa912
+bac0efc97ba313f0d4f8df15958b998e8e9dff00014ccdff0007e668fffffd3333ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bab848b5c8b5573745e675b66
+65618b5b08f7620613e89e0a13f09f0a0efbb4f7faa9f71ca6f6a912b9bde5c66ac9
+13f8f74ef90415a00a13f4a10a13f8a20a0efb92f8b2f73401f743f95315a30a0e3b
+fb6976f774b8f8287712bdef2edaf762da13ecf7e8c7158d068e6f9b61c88b08bfaf
+b390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbd607746a
+5464548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb50078b
+5194588b6a0813f48b4c7b5c8b580862b3739ca39e9eb41e8bb669d18bcc8b90928f
+918b977ea581a68b08cb8bb6a5b2b7080e92fb7cacf9bfac01f7d1bddcbd03f803f8
+d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba15708b508d408b08
+fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff3999afffff5199a
+ffffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86088b788d8905
+bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b9087ff0002b333
+87ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008e6668ba908f9
+73078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d058fff00004ccc
+8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b080efbedf75b
+f70001d2f70003f711f75b15a40a0e55fb5ca8d6abcb7701f7e3c903f7c22b15a50a
+0efbb4f800a8f77d7601f729c103f71bf90015a60a0efb8af7c3a5f767a501b2c5f7
+30c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef718f70315bdab623b43
+6079704f71c8bcc1a3babd1f0e57f817f76b15a70afb4816a70a0ecc3aa8d1adf79b
+a8f7957701f726c1f7dcbf03f8c1f8ed15a80a45fffe6eb33415a90affff3a4ccd04
+8b627e88638986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff00
+1266688ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+66fffff39998ff0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000ff
+fffee664ffffff4ccdfffff0b334fffff6e666fffff4999cfffff4cccdfffff6fffe
+fffff58000ffffdce66662ffffd43334ffffcbcccdffffdeccccffffca3333fffffc
+999afffffa8000fffffcccce86fffffd1998fffff9b333fffffd666883fffffae666
+ffffebcccdff001a999a8b08ff0076cccc06fc20f8bd15a60a0ecc3cabf79aa9d1a8
+f7957712f728c1f75fc0efc97ba313fcf8a8f8ed15aa0afb23fc5515958b998e8e9d
+ff00014cccff0007e666fffffd3334ff000ccccdff00038000ff00084ccd90979794
+aa8b0813feab0a13fdff00088000ff001ab334ff00063334ff001f9999ff00044ccc
+ff0023b333fffffab334ff0003b33383ff0001999afffff54cccffffffb333806f7d
+646c8b08380694ac9aa6b5a90813feac0afbbdf83f15a60a0ecc3ca8d1adf791a9f7
+1ca6f077a5a912b7bde5c66ac9f798bf13fe40f8c6f8ed15a80a13ff40fc377715ad
+0a13fec0a10a13ff40a20af7f0fffe84b33415a90affff3a4ccd048b627e88638986
+838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f
+928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e666fffff39998ff
+0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000fffffee664ffffff
+4ccdfffff0b334fffff6e666fffff4999cfffff4cccd82fffff58000ffffdce66462
+ffffd43334ffffcbcccdffffdeccccffffca3333fffffc999afffffa8000fffffccc
+ce86fffffd1998fffff9b333fffffd666883fffffae666ffffebcccdff001a999a8b
+08ff0076cccc060efb34fb7aacf8a6f512b9dec3f545accecf13ecf7d5fb2315ae0a
+13f46df8a515af0a0eef89acf766b5f80b77dc7601f7b0f9c615b00afb22fc57154a
+0afbb1fb60154b0a0eef89acf766b5f80b77dc7601f835f9c815b10afb2efcad154a
+0afbb1fb60154b0a0eef89acf766b5f80b77d47601f80df9bc15b20afb06fca1154a
+0afbb1fb60154b0a0eef89acf766b5f80b77c3c089c212f869a613f4f83af97f15b3
+0a13ecb40a13f4b50afb33fc64154a0afbb1fb60154b0a0eef89acf766b5f80b779f
+eb12f755ebf721eb13dcf755f95615b60af78116b70afb3bfc3b154a0afbb1fb6015
+b80a13ecb90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001db334ff000e1998ff0014e666ff001de6688b
+ff0020800008ba61b15d5d61645d1e8bffffdb3334ff001accccffffdfccccff0022
+4ccefffff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885
+858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda
+6666ff0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0ef7a2
+89ac6cb2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb
+0afb4b0413b3c0bc0a1373c0bd0a13b3c0be0a137bc0bf0a13b7c0c00a1373c0c10a
+13b3c0c20a0ebefb5ca8d6abc1b4f8e2b001b0e6f7a4c9f3ac03f8032b15c30a0e65
+89ac6cb2f7b0b1f788b36cacd27612f4e0f74aacb2ac9bae1327c0f789f9c515b00a
+36fc081530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+6589ac6cb2f7b0b1f788b36cacd37612f4e0f74aacb2ac9bae1327c0f7f2f9c815b1
+0a46fc5f1530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0f7cff9bc15
+b20a69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12f4e054ebe8eb5bacb2ac9bae1324b0f7
+d8f9891513247071a175a51e1324b0a5a1a1a51f132470a575a1711e717575711f13
+2530fb5116b60af726fc2015133670530a13ae70540a136670550a13a670c50a1376
+70c60a0efbbe89acf8dbacd27601f5e003eef9c515c70a6efcf715590a0efbbe89ac
+f8dbacd27601f5e003f766f9c715b10a78fd4d15590a0efbbe89acf8dbaccb7601f5
+e003f739f9bc15b20aa5fd4215590a0efbbe89acf8dbacc9eb0191eb8fe08feb0314
+1cf757f98915b70afb5116b70af74dfd0f15590a0ef589adf793b2f7b3ad01f5e0f8
+07eb03f753df15c80a60f8c515c90a0ef3967693acf8dbacb8c089c212f1bcf7cda6
+ccbc1337f835f97d15b30a132fb40a1337b50af71ffb7d15ca0a1367cb0a13a7cc0a
+0ef681aff8e8afc97601b0ebf849eb03f7c4f9c715cd0a2dfb0515640af7e3fbb915
+650a0ef681aff8e8afc87601b0ebf849eb03f817f9c815b10a53fb5a15640af7e3fb
+b915650a0ef681aff8e8afc07601b0ebf849eb03f802f9bc15b20a68fb4e15640af7
+e3fbb915650a0ef681aff8e8afadc089c212b0ebf7d8a6e1eb13eef82ef97d15b30a
+13deb40a13eeb50a3cfb0f15640af7e3fbb915650a0ef681aff8e8af8beb12b0eb67
+ebf7cdeb6beb13a8ecf95615b60a13a4f82d16b60a13d2fb433715ce0af7e3fbb915
+650a0e5ef719f7cf01f708f7cf03f7c8f7b615f70ff70f68aefb0efb0ffb0ef70f67
+68f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050ef681aff8e8af01b0ebf849
+eb03f7007e15cf0af773f90f15d00af757ffff894ccc15d10a0ecd81b4f8dbacd376
+01e2e0f7f6bc03f7a8f9c615b00afb75fb67156b0a0ecd81b4f8dbacd27601e2e0f7
+f6bc03f829f9c715b10afb7dfbbc156b0a0ecd81b4f8dbaccb7601e2e0f7f6bc03f8
+04f9bc15b20afb58fbb1156b0a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d7
+8115d20a30f96115d30af72416d30a0e7789acf8dbacd37601f790e003f7fcf9c815
+b10a74fd4e156f0a0e4789acf70bacf7c7ace6ac01ede0f76de803f74bf87315a091
+bc909e8b08c6d070fb0cfb15416c431f658b738d828e084904b0079a86a587ae8b08
+f746c3f70ad6d268f701fb4d1f788b68896789088f078bde9c90d18e91918ba08591
+5a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080e5581
+ac72acf803acf77eac12e7daf756de6ae0137ce7f70e158b387f86528885858b7691
+85a98cb28cb38bad8ba98aa28a91918ba0859167907f8e8bde08f7d407f70097f707
+f3c0a466551e8b4265634857087e0713badf4bd2388b2e083062616d746d8ba91e8b
+9793948b9c089f8395777b7c787b5f9f57dfe7cbd9f41e8bf70826cf3cbf088d0713
+7cd1c0c5b98bd808bb5bca233cfb1153fb3962fffff4199a86ffffdbe6661e7e8b83
+70918508be06948e87831f0efb1e81bb5bb4f80bac12afde4bd8f735d91324f758f9
+3315740aa6fbcc15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f8
+0bac12afde4bd8f735d91324f788f93315d60abcfc4a15d40a1374d50adafb381513
+ac760a1374770a0efb1e81bb5bb4f80bac12afde4bd8f735d91324f77bf92815d70a
+c9fc3f15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f80bacdcc0
+89c212afde4bd8f735d962a6133080f7aff8d115b30a132880b40a133080b50a1365
+0095fbe815750adafb381513a300760a136500770a0efb1e81bb5bb4f80bace4ea12
+afde4bd85ae9d6e956d9133200def8d315d80a133100f73d16d80a137880b4fbea15
+750adafb381513b480760a137880770a0efb1e81bb5bb4f80bacc5abf5ab12afde4b
+d881b3ebb386d9133980f766f90f15d90a335615da0a137c40f73ffbf115750adafb
+381513ba40760a137d40770a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75d
+d7137bf79df81415db0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0efb3bfb5c
+a8d6abff00364ccdff0030b333f803ac12b0e1f71ec97ce213fcf7782b15e00a13fa
+e10a0efb2881bcf765adf70eac01b0dff75be103f766f93315740afb30fb9b157f0a
+dcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f7a2f93315a30afb26fc
+19157f0adcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f78df92815d7
+0afb11fc0e157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df75e9d6e9
+61e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb5415e40a
+13f9e50a0efbd889acf7f6a7a87701f1da03eef93315740a97fc3b15e60a0efbd889
+acf7f6a7a87701f1da03f737f93315a30a9dfcb915e60a0efbd889acf7f6a7a87701
+f1da03f721f92815d70ab3fcae15e60a0efbd889acf7f6a7a877f5ea1287e997da7b
+e913f887f8d315d80a13faf73d16d80a13fc9bfc5915860a0efb0181aff80eaef797
+7701ade1f787df03f78ca5154452e0f706d7a4f2f01fb68bae78a26e97608f5f8b5d
+08fb3647685c1efb6af74a1523d4fb06f710f704f3d9f73d1e8bf7264af70635e108
+799deccc75ab21440568a767a3689e087b7605a37aa277a075089b7b2244a16bf701
+d405b05da95ba1567295728f718b0839fb1851fb411f0e5689acf7f6a771bfdcc089
+c212ebdaf760da4aa61395f7eef8d115b30a138db40a1395b50afb36fb6b15e70a13
+c6e80a13a6e90a0e3081aef80fae01b4e1f78ee103f774f93315740afb91fbe8158a
+0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a2f93315a30afb79fc6615
+8a0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a0f92815ea0afb77fc5b
+158a0af759f75b158b0a0e3081aef80faedcc089c212b4e1f774a68ae113ecf7c4f8
+d115b30a13dcb40a13ecb50afb9bfc0415eb0a13caec0af759f75b158b0a0e3081ae
+f80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a13e4f73d16d80a13f2fb8d
+fc0615ed0af759f75b158b0a0e5eff004a999aff0058ccccff003e999abdff004299
+9aff0058cccc01ff00e1cccdff0058cccd03ff00e1cccdf81715ff00000001ffffe7
+b334ff00141999ffffebe666ff00184cce8b08ff00184cccff0014199aff0014199a
+ff00184cccff00184cccffffebe666ff0014199affffe7b334ffffe7b332ffffebe6
+67ffffebe666ffffe7b3341ffba004ff00000001ffffe7b333ff00141999ffffebe6
+67ff00184cce8b08ff00184cccff0014199aff00141999ff00184ccdff00184ccdff
+ffebe666ff00141999ffffe7b334ffffe7b332ffffebe667ffffebe667ffffe7b333
+1fff00ed3333f6159d0a0e3081aef80fae01b4e1f78ee103f832f85a15ee0afb4459
+15ef0aff0073cccc3715f00a0e4b81ba84a6f7e9ac12e3daf758da1338f76ff93315
+740a13b843fcbf15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12e3daf758da13
+38f7bdf93315d60a13b83bfd3d15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12
+e3daf758da1338f79bf92815d70a13b85dfd3215f10a1378f20a13b8f30a0e4b81ba
+84a6f7e9acecea12e3da5fe9d6e974da1334f70ff8d315d80a1332f73d16d80a13b5
+40fcdd15f10a1379f20a13b8f30a0e3bfb7cdbf8baac01f7cff93315a30afb03fdd3
+15910a0e2efb7eacf753adf805b9f75ea9a67701dfdaf76ce103f735f7b415d1ff00
+4a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218bfffff1cccd8b
+ffffe48000ff00013333ffffe3b333ff001866677fff000a666686ff000633338bff
+001fcccd083ef86115fd31078b3880864e8885858b769185b58ca58cb78bba8baa8a
+b68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb999aff0014
+cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8b8a6c88b
+dc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affffe6199808
+7cfffff0b334898b8ba108f75307cc8fb38b1e92878e821e7281407d638889838d7b
+9185bf8897908b37080e3bfb7cdbf8baacecea01f720e9d6e903f720f8d315950af7
+3d16950a22fd7315910a0eef89acf766b5f80b77efbd01f862f97615f40aa4fc5b15
+4a0afbb1fb60154b0a0efb1e81bb5bb4f80bacdabd12afde4bd8f735d91332f7d6f8
+9a15f40af757fbb115d40a137ad50adafb381513b6760a137a770a0eef89acf766b5
+f80b77c0bf01f772a7f76ca703f882f9b815f50afb7bfc9d154a0afbb1fb60154b0a
+0efb1e81bb5bb4f80bacc8c4e57712afde4bd84ea6f757d952a6133940edf91b15f6
+0a137c80f757fc3215750adafb381513ba80760a137c80770a0eeffb5cb1f734acf7
+66b5f80b7701f88bc903f951fb1b158792858f828b75757b7b6e8b08667ea0a5b9bc
+ced21f91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08c2f725059098
+918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bff000980008bff00094ccc8bff00
+093334ffffffe666ffffc3999870ffffdc6668ffffc6999a8bffffd680008b55b177
+bd8b08b48bb39fa8b808fc4af836154a0a0efb1efb5cb1f72cb4f80bac12afde4bd8
+f716c96cd913e4f860fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff0028
+199aff0019e666ff001d8000ff002fb334ff0028b333ff00174cccff00069999ff00
+146666ff000be667ff000db334ff000d3333fffffe4cccff000c4ccc87ff00086667
+fffff4b334ff00064ccd08fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b0813ea6e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b92
+8a92898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a0835760513f22b
+7346568b478b39c371d18bff0022cccd8bff001e333393b7ad089f9b8d8b05ff0005
+6666ffffe4199aff0009199affffe76666ff00266666fffffb4ccd0813e4ffffce4c
+ceffffdae667ffffddccccffffd933328bffffd7199a8b55b177bd8b08b48bb39fa8
+b80813f2fb3bf80415750a0ebe81b4f8e2b0c77601b0e6f84aac03f81cf9c715b10a
+68fdd115500a0efb3b81bcf803ac01b0e1f74de203f792f93315a30af724fcd8157a
+0a0ebe81b4f8e2b0c17601b0e6f84aac03f80cf9bd15b20a78fdc715500a0efb3b81
+bcf803ac01b0e1f74de203f783f92815d70af733fccd157a0a0ebe81b4f8e2b0b6f3
+01b0e6f744f3f732ac03f7c4f98515f7000ac0fd8f15500a0efb3b81bcf803acf701
+ef01b0e1c3efa8e203f747f8ec15f7010af76ffc91157a0a0ebe81b4f8e2b0c77601
+b0e6f84aac03f7e1f94d15f7020aa3fd5715500a0efb3b81bcf803acf7627701b0e1
+f74de203f75ef88a15f7030af758fc2f157a0a0ef589adf8d9add27601f5e0f807eb
+03f7b7f94d15f7020a27fcf915510a60f8c515520a0e4881ba84a6f7efaedb9ce5d3
+52a912b2e1f770daeab7133b80f88bf94e15f7040afb32fcd215f7050a13b380f706
+0a80fffef84ccc157c0a137b80a19dae9ac89291918b9a85914b90829e8bbc08f859
+07cc8fb38b1e92878e821e13b7807281407d638889838d7b9185bf8897908b3708fb
+1407848989841e878b629c6a8b498b5f756365606071508b418bfb0fc931f7008bb2
+8bb09fbcff00284ccc080ef589adf793b3f7b2ad01f5e0f807eb03f753df15f75ff7
+0407ff000c4ccc8dff000ab334ff000fcccc8bff0009999a8bff0004cccefffffc4c
+ccff00068000fffff6b334ff00014ccc08fb0ef78106aeae99bcf76cd2fb43fb2efb
+5efb0d59fb2129809fab1e60f8c515ffffdc4ccd8bffffcab3338c638c85858b7691
+85d1889c868b3808fb5845077ffffffdb33482fffff14ccc8bfffff666668bfffffa
+66668efffffa3334948908dafb39068b387a86458885858b769185b28cff00354ccd
+8cff0025b3338bb08bb589f28b08f721f74ecbf78af74efb2df72dfb541f448b5489
+648b080e3281ba84a6f7efaee9b3cfa9a67712b2e1f770da13bff7edf710157b0a80
+fffef84ccc157c0a137ff7070a13bf7e0a0e6589ac6cb2f7b0b1f788b36cacedbd12
+f4e0f74aacb2ac9bae1327c0f80bf97d15f40af716fc141530f748061337c0c40a13
+afc0540a1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacdcbd01b0
+dff75be103f7e5f89a15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f7
+88b36cacb6bf12f4e05da7f75cac7aa7a7ac9bae132570f834f9b715f7080afb1bfc
+4e151336b0530a13aeb0540a1366b0550a13a6b0c50a1376b0c60a0efb2881bcf765
+adf70eaccbc4e57712b0df6fa6f75ce145a613fa80f70cf91c15f60a8ffc0215e20a
+13f900e30adcfb5415e40a13fd00e50a0e6589ac6cb2f7b0b1f788b36cacc1f312f4
+e0a7f3bdacb2ac9bae1327e0f76ef98515f7090acafc1c1530f748061337e0c40a13
+afe0540a1367e0550a13a7e0c50a1377e0c60a0efb2881bcf765adf70eacf702ef01
+b0dfc6efb3e103f748f8eb15f7010a53fbd1157f0adcfb5415800a0e65fb5cb1f734
+ac6cb2f7b0b1f788b36cac12f4e0f702c995acb2ac9bae13d3e0f886fb1b15879285
+8f828b75757b7b6e8b08667ea0a5b9bcced21fffffffccccff0000333305ff0005cc
+ceffffffe666ff00036666ffffffe6668b8b99bd9acd93befffff5999891fffff480
+02ff00023333fffff2e666fffffccccd0813bbe0f70a0a13d7e0540a13b3e0b08cc7
+8cac8b08f76b06ff0009e6668bff000b4cceffffffe666ff000bb332ffffffe667ff
+ffc3b33470ffffdc6666ffffc699998bffffd6999a8b55b177bd8b08b48bb39fa8b8
+080efb28fb5cb1f72cbcf765adf70eac01b0dfc1c9dee103f809fb1b158792858f82
+8b75757b7b6e8b668b7ea08ba58bff002b6666a8ff001dccceff003f199aff00347f
+ffff001eccccff000f4ccdff0019999aa2ff00158000a7889585907f8c0866656e7b
+518b678b61a06cbe77ac7fb98bc508f79e890597929196df6de5fb1f34fb0538fb2c
+1f8b539955ac65ad63ba73d38bff0007999a8bff00076666ff00004ccdff00073334
+ff0000b333ffffce3332ffffdae666ffffdd999affffd9199a8b628b55b177bd8bb4
+8bb39fa8b808fb8df835157f0a0e6589ac6cb2f7b0b1f788b36cacd27612f4e0f74a
+acb2ac9bae1327c0f7a0f94d15f7020a98fbe41530f748061337c0c40a13afc0540a
+1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacf7637701b0dff75b
+e103f75bf88915f7030a40fb6f157f0adcfb5415800a0ee581aff783aff7d5afc076
+12b0ebf821e063ac13f8f813f9bc15b20a85fb2a15f70b0a13fcf70c0a13faf70d0a
+0e2cfb82b0f74ec455c8e2aaf785aa75b812abd062dd41c0f75adb9dc2139060f78a
+f92715d70ad4fc10152e5c78661e139960f70e0afb4ffbb51513d260f70f0a13b260
+f7100af7ccf82115f7110a139560f7120a13b960f7130a13b0e0830a13b260f7140a
+13d4e0f7150a0ee581aff783aff7d5afaebf12b0ebdea7f76ca7b5e063ac13fe00f8
+7cf9ba15f7080afb03fb2815f70b0a13ff00f70c0a13fe80f70d0a0e2cfb82b0f74e
+c455c8e2aaf785aa75b8aec4e57712abd062dd41c067a6f763db44a6c9c2139316f7
+04f91815f60a139b4af763fc0115820afb4ffbb51513d382f70f0a13b382f7100af7
+ccf82115f7110a139742f7120a13bb427f936a9f508b328b394f8b2f0813b3128b55
+a36ca7700813b322830a13b382f7140a13d72af7150a0ee581aff783aff7d5afb6f3
+12b0ebf73ff3f70ee063ac13fcf7c4f98515f7090ad42c15f70b0a13fef70c0a13fd
+f70d0a0e2cfb82b0f74ec455c8e2aaf785aa75b8e0ef12abd062dd41c0c6efb2db9d
+c2139238f748f8eb15850af71ffbd4152e5c78661e139ab8f70e0afb4ffbb51513d3
+38f70f0a13b338f7100af7ccf82115f7110a1396b8f7120a13bab8f7130a13b27883
+0a13b338f7140a13d678f7150a0ee5fb76a3daddaaaff783aff7d5af12b0ebf79db2
+e8e063ac13fe00f80b6215f7160a8df94f15f70b0a13ff00f70c0a13fe80f70d0a0e
+2cfb82b0f74ec455c8e2aaf785aa75b8bcdddb9f12abd062dd41c0b8adf70bdb9dc2
+13931cf778f89315f7170ae6fb7c152e5c78661e139b5cf70e0afb4ffbb51513d39c
+f70f0a13b39cf7100af7ccf82115f7110a13975cf7120a13bb5cf7130a13b33c830a
+13b39cf7140a13d73cf7150a0ef71b89acf7b6b5f78facc97601f5e0f7eae003f8fe
+f70e15580afb7cf94015b20a0e5289acf7f8bff75ea9a67701e3daf766da03ff0153
+4cccff0297e66815fffff66668ff00033330fffff66666ffffff3334fffff66666ff
+fffd999cffffe5e666ffffcfb330ffffd6999affffc74cd0ffffdf999a61ff000566
+66fffff69998ff00084ccdfffff9b334ff00081999fffffde666ff0023199aff0017
+199aff001bb334ff001c6664ff001cccccff0021999ca6ffffdf8000ff001d8000ff
+ffe49998ff00223334ffffe6ccceff000866668dff0009ccccff00088000ff000480
+00ff00074cce08ffffdf999ab5ffffd86666ff0037b330ffffe5e666ff00314cd008
+ffff53b334fffe85fffe15840a0ef71b89acf7b6b5f729adcfac01f5e0f7eae003f8
+fef70e15f81ac5adffffc6999807ff00036668c8ff00141998ff00044cccff003ee6
+68ff0002b33491918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c8585
+8b769185ff003ee666fffffd4cccff0014199afffffbb334ff000366684e08fffeab
+333206ff00036666c8ff0014199aff00044cccff003ee666ff0002b33491918ba085
+91658a628a588b598b628c658c85858b769185ff003ee666fffffd4cccff0014199a
+fffffbb334ff000366664e08ffffbf999a69ccfc1a068b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde0836
+f81a15fb29fbeaf729070e5289acf7f8bfe6b2d3a9a67701e3daf766da03f73bff01
+1de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff0032999aff
+0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a95ff
+ffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8cb38b
+b38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff00308000
+ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffffc419
+9a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000999af740
+ff00ae33338b8bb2fb428b8b9905cc8fb38b1e92878e821e7281407d638889838d7b
+9185ff0031cccdfffffd1998ff000d1999ff000480008cffffb6666808ffffc2199a
+64c9fc2c068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff
+0020cccd8aa78a91918ba08591ffffcd33338f828f8bde080efbbe89acf8dbacb7c0
+89c212f5e0d0a613ecf769f97c15b30a13dcb40a13ecb50a75fd0215590a0efbd889
+acf7f6a7a877edc089c212f1daff002d6666ff00184ccd13f6ff00b8199af8d115ff
+ffeee6668bfffff0b33392fffff1999a970813ee7999ffffec33339f708bffffd94c
+cc8bffffeb4cce64fffff3666650ff0005666685948aff0009e6678dff0008ffffac
+949aff001766678bff000f4ccd8bff0011199a83ff00103333800813f6ff0012e666
+7dff0012e66779ff0013cccc8bff002966678bff001a1999b2ff000acccdc7fffffa
+999a8f828efffff619998a08fffff3666761fffff6199981ffffec33348b08fffffc
+e666fc5715e60a0efbbe89acf8dbacedbd01f5e003f793f97d15f40af734fd031559
+0a0efbd889acf7f6a7a877ebbd01f1da03ff00dbe666f89a15ff000bb334ff0009e6
+66a09791fffffc666696821fffff35800006fffff6199afffff6199a777f84ff0003
+999980ff0008199a1fff00a2b333fc2015e60a0efbbe89acf8dbacb8bf0198a7cce0
+cda703f7b1f9b915f50a2dfd3f15590a0efbd889acf7f6a7a877dcc4e57701ff0003
+e666ff00184ccdff0049cccddaff0029999aff00184ccc03ff001c3333f91e15ffff
+e7b3337f05ff000c999a36ff002de66659ca8bff0035199a8bff0039999abcff000a
+cccce108ffffe7b33497058251ffffd699996bffffd133338bffffcf66678bffffd9
+4ccdb0fffff61999c008ff0098cccdfca415e60a0efbbefb5cb1f734acf8dbac12d4
+c96ee013f0f7a3fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+ff999aff0000800005ff0007e666ffffffcccdff0007ccccffffffe666ff0007b334
+ffffffcccd91918ba085910813e8458e7a908bde08f825078bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338cff00
+244ccd8bff00064ccd8bff0006cccd8bff00071999ffffffe6660813f0ffffc3999a
+ffffe5199affffdc3333ffffc680008bffffd680008b55b177bd8b08b48bb39fa8b8
+080efbd8fb5cb1f734acf7f6a7a877f711ef12c8c96aef33da13fcf797fb1b158792
+858f828b75757b7b6e8b08667ea0a5b9bcced21fffffffb333ff00004ccd05ff0003
+7fffffffffe667ff00036667ffffffe667ff00036666ffffffe66691918ba0859108
+13f94e8f808f8bde08ff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe38000
+80ffffd8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa19
+9a8b5208fb57078b3880884e8685858b769185ac8cb28cb38b08ff000f4ccd0613fc
+ffffc38001ffffe5199affffdc3333ffffc666668bffffd680008b55b177bd8b08b4
+8bb39fa8b80813fafb3df97215850a0efbbe89acf8dbacc1f312ecf32ce013f0ecf9
+8515f7090a13e8e9fd0b15f7180a0efbd889acf82f7701f1da03f749f70e15e60a0e
+8efb40b8f711acf8dbac01f5e0f77de003f891f89f15f7190afbd29e15590a0e56fb
+73b7f745acf7f6a7a877f711ef12e5ef33daf750ef35da13f900f805f8eb15850a13
+f88099fbae15870a13fc00fbb9f7ae15850a13fa00e6fc7115860a0efba5fb40b8f9
+79accb7601f721e003f759f9bc15b20aa8fbb1155a0a0efbd7fb73b7f8c8a7a87701
+f705da03f705f7d115f71a0ac1f7e915d70a0eb5fb76a3daddb2acff0115e666ff00
+266666ff010ab334ac01f5e0f74cb203f7f46215f7160afb35f737155b0a0e38fb76
+a3daddb2acf803acf766a9a67701e1daf710b203f79e6215f7160afb48f73715880a
+0e3f89acf746a4f738ac967712ebda869013e8f743f70e15ff0056e66607ff0011b3
+33ffffff6667ff000d199afffffe6666ff00093333fffffccccd96fffff88000ff00
+09199a82ff000be6667b08d42905ff001d6666ffffd88000ff0008999afffff08000
+8f7cff0000ccccfffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08a
+a98a91918ba08591698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f7
+3a05fffffc6666ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605
+a9abae93b38f91918ba08591668a7d8a678b658b748c668c85858b769185c387ffff
+e84cccffffdcb334fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ff
+ffeae666fffff06666ffffe6cccdfffff4999affffed4ccdfffffcb33308ff005699
+9907ff0031b3348fcb8b1e13d88f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185b58ca58cb78bae8b988ab68a91918ba08591086190818e8bde08
+0e4889ac6cb2f8d3acd27612f5e0f7afac133cf754f9c715f71b0a137c60fdc7155c
+0a13bc5d0a137c5e0a13bc5f0a0efbdf89acf8f6a9a67701eada03eaf70e15890af7
+00f7b415f71b0a0e48fb76a3daddb2ac6cb2f8d3ac12f5e0f701b2f71bac13cff7a9
+6215f7160a13dffb14b4155c0a13ef5d0a13df5e0a13ef5f0a0efbdffb76a3daddb2
+acf8f6a9a67712eada78b213fceaf70e15890ab0fcec156e7678731f8b70a4829c88
+0813fa9d8998878b778b7971735a808b828d829185c494bca98bc708bf73ad651e0e
+4889ac6cb2f8749cd9ac76d312f5e0f775b799ac132ff824f94e15f7040a1367fb8f
+fd4e155c0a13a75d0a13775e0a13a75f0a0efbc589acf87c9ce5d352a912eadaf6b7
+13ecf79df94e15f7040afb3efcd415f71c0a13dcf71d0a0e4889ac6cb2f788f3f777
+ac12f5e0edf3dcac133ef7b5f7e315f7090a137efb20fbe3155c0a13be5d0a137e5e
+0a13be5f0a0efbdf89acf7aeebf77ca9a67701eadab2ea03f769f7fc15739d74a9a6
+9fa1a4a673a174707673721efb0afb8215890a0e4889ac6cb2f8d3ac12f5e0f7afac
+13b8f7caf85515fb0bffffbc199a8bff008de666058bde9c90d18e91918ba085915e
+8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1
+889c868b38088bffff41999a26ffffc666669d6cdeff002f999a8bffff566666058b
+387a86458885858b769185081378f71e0a13b85d0a137877436650218b084c066479
+9ebe1f8bff00e76666f71dff004e999a050efbdf89acf82b77f773a9a67701eada03
+f787f84a1546ffffd780008bff00b9800005cc8fb38b1e92878e821e7281407d6388
+89838d7b9185c58791888b40088bffff30333432ffffcbcccc9c6ed3ff0029e6668b
+ffff42199a058b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba0
+85914e8e80908bde088bff00ebe666e1ff0032199a050ef3967693acf8dbacd37612
+f1bcf829bc133cf813f9c815b10af741fbc815ca0a137ccb0a13bccc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7cef93315d60afb16fbcd15e70a13d8e80a13b8e90a
+0ef3fb76a3daddbf7693acf8dbac12f1bcf77ab2f71cbc13cff7fa6215f7160af75a
+f8bd15ca0a13dfcb0a13efcc0a0e56fb76a3daddb2acf7f6a771bf12ebdaf701b2c3
+da13e7f7996215f7160a3ef82315e70a13f7e80a13efe90a0ef3967693acf8dbacd2
+7612f1bcf829bc133cf7dff94d15f7020af775fb4d15ca0a137ccb0a13bccc0a0e56
+89acf7f6a771bff7637712ebdaf760da139cf78af88b15f7030a4dfb2515e70a13dc
+e80a13bce90a0e5689acf7f6a771bfdb9ce5d312e3b774daf760da139dd3f94e15f7
+040af711fbe815e70a13dbe80a13bbb1b0b8a1b28b9f8ba07e977495778d708b6d08
+fb2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba0869153
+90808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccc7effffc4b334
+47080ef716fb40b8f711acf8cfc35fac12f5e0f7e5e513dcf74af91b15828a7f8a7e
+8b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08ff0144800007ff00
+02b333ff0010ccccff00084ccdff000c666892ff00084ccc0813ecc0cacbc2bd8bb9
+8bb081a664ff0019ccccffffdaccccff00103334ffffb433348b2608fb9607fb4857
+6f6a1e7d8b7d938495819887a06c8b087d6d767567c079a11fb88bff001ee666ff00
+083333ff0029199aff0022cccdff002be668ff00253333ff003f1998ff003dcccd8b
+f72308f76c078bf719ffffe99998ff00564cccffffd66668ff0030b33468b45e9f4d
+8b318b4951533c088b85fffff88000881eff0012800007cc8fb38b1e92878e821e0e
+48fb73b7f745acf7f6a771bf12ebdaf760da13ecf743f7fa158bb3fffffcb333ff00
+19b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff0003666683
+8b6f806e82468289858d7b8d85c18696868b5108fb57078b3981874f8685858b7691
+85b48ca58cb68bb28b9d8ab58a91918ba085915890828f8bdd08f738078ba0949793
+940813dcb1b0b8a1b28b9f8ba07e977495778d708b6d08fb5a07fb1887fb0f591e80
+8b7e8f849281957f9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf751
+08f735078bc287bb74aa7aa16c97688b5a8b557e4e4708888785818b99080ef681af
+f8e8afe2bd01b0ebf849eb03f85ef97d15f40aecfb0f15640af7e3fbb915650a0e30
+81aef80faedabd01b4e1f78ee103f7fcf89a15f40a2cfbcd158a0af759f75b158b0a
+0ef681aff8e8afadbf01b0ebe0a7f76ca7dbeb03f87ef9b915f50afb33fb4b15640a
+f7e3fbb915650a0e3081aef80faec6c4e57712b4e174a6f76ca68ee113f7f717f919
+15f60a13fb31fc4c15ed0af759f75b158b0a0ef681aff8e8afc07601b0ebf849eb03
+f88bf9ac15f71f0afb179015f7200a62fb4315640af7e3fbb915650a0e3081aef80f
+aef7667601b4e1f78ee103f821f8f715f7210afb189115f7220afb74fc30158a0af7
+59f75b158b0a0ef7a689ad6bb2f7b9adf783b312b5e9f7aee0f734a4eaa613bff7f8
+ab1524fb09e3f763f76af0d1ec1fae06b196856c1ffc8a076f827f631e806915137f
+8bc98db31ef7ec8ba5f7347090057c426e564a8b08fb2f06757d91a61ff798f207ad
+8b967b916f08916c05878e88901ea28b8d8e0588ab86a88bae8bac91a98dab088d8a
+8d891e7506878887871f846d05846f837b678b0824f76306a39793a31ef72b06bf8b
+ad50926008a68e7df71ffb958b3d8b055f458c8b1ffb4efb0bfb28fb481f8bfb48f7
+14fb1ff7508a080ef74b81ba5caef773b2f70bac12ade1f78bdef761e1137ef82df7
+f1156fba66b6268b08fb03293efb30fb0fde2ef70e1fd98bbdaeafc10813bea75cbb
+61e78bea8bb9bfa1a9fffffacccc93fffff9b334ff00066666fffff58000ff000099
+9a6c6a4e7a658b648b2eba8bf71a8b958b968c9408f7b606f70956d5fb0a1e478b50
+63695908fbb5fb0415d09eeff2b7dc57fb2e1e137efb2148695c2e63f0f7031ef8ab
+bd15fb5d068d9ba5f1e18bd78b953e8c62080e8381aa74acf798adf7b9adce7612f3
+e0f76ce7133ef7ccf9c815b10a63fb5e15670a38fc8415680a13be690a137e6a0a0e
+fb7389acf7eec955a712efda1390f785f93315d60a4afbcd15f7230a13b0f7240a13
+d0f7250a0e83fb76a3daddaaaa74acf798adf7b9ad12f3e0f724b2ace713cf80f7ca
+6215f7160a65f92715670a38fc8415680a13ef80690a13df806a0a0efb73fb76a3da
+ddb2acf7eec955a712efda78b213e2f71d6215f7160ab2f82315f7230a13ecf7240a
+13f4f7250a0e8381aa74acf798adf7b9adcd7612f3e0f76ce7133ef788f94d15f702
+0aa73c15670a38fc8415680a13be690a137e6a0a0efb7389acf7eec955a7f77d7712
+efda1398f743f88b15f7030a8cfb2515f7230a13b8f7240a13d8f7250a0efb0281af
+f8eaadc87612a6ff00208000fffff78000ff00476666ff00ed999adf4bff00208000
+13e0f7aef9c815b10aff0070b334fb5115f7260a13ecf7270a13f4f7280a13eaf729
+0a0efb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b
+0a13aaf72c0a13b4f72d0af747f8a915ffffb46666fb0b05fffff7e667fffff33334
+fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f7010513228896
+0574a1ffffe666668cfffff9999a8b868b858a888a080efb0281aff8eaadc77612a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff0020800013e0f78cf9c315
+b20aff0092b334fb4c15f7260a13ecf7270a13f4f7280a13eaf7290a0efb6181ac89
+76f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13aaf72c0a13
+b4f72d0af737f89e15d70a0efb02fb5ca8d6abff00368000ff00238000f8eaad12a6
+ff00208000fffff78000ff00476666ff0082999ac9b8df4bff0020800013f700f770
+2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908ff00156666ff00394ccc05ff0028ccceff0001e667ff
+00264cccff000ae667ff001f8000ff0013b333ff00398000ff0023ffffff00248000
+ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999affffad999aff00
+1ee666ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a8bc3ff0032
+999ac3ff003ae6668b0813f680ff0061199a8baa4d9f49ff000a8000fffffe333498
+ff0000cccc9492fffffc8000bb87a7fffff5b334c0ffffc6333293ff0002199a9eff
+ff9e4ccd8bffff9ab3338b32488b218bffff96999aff00568000ffffcfe666e3ffff
+de80000813fb00ff003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b
+3affffd2cccc61ffffb033348bffffa280008b4fff002a800075ff00638000fffff3
+b3338ffffff56667fffffe199afffff66666fffffae6668f3e8f71975aff0039999a
+8bff001c3333ffffeccccdff00483333fffffcb3330867ffffa980009185059b9095
+8c9e8b080efb61fb5ca8d6abe076f82aac12bbaa7ad2dfc986d755ab13f800bbf71e
+158f5a8e5c8b61958d958c908b928b918b9289ff00156666fffffa8000ff00154ccd
+fffffc4ccdff001a4ccdfffffeb3330813f60067ffffa980009185059b90958c9e8b
+08a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b1
+6ca3631f828b828a838908ff00156666ff003966660513f500ff00398000ff0003b3
+34ff0059199aff001dcccc8bff005c199a8bff00444ccd5aff0027b33347ff001933
+33ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b0813f480f7
+2c0a13f900f72d0a0efb0281aff8eaadc77612a6ff00208000fffff78000ff004766
+66ff00ed999adf4bff0020800013e0f76bf94d15f7020aff00b3b3344915f7260a13
+ecf7270a13f4f7280a13eaf7290a0efb6181ac8976f82aacf7627712bbaa7ad2f721
+d755ab137abbf71e15f72a0a13b6f72b0a13b5f72c0a13baf72d0af70df80015f703
+0a0e8dfb5ca8d6abc9acf86ef7285cb2128eadf778e083c9f72dad13ed80f7c92b15
+a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16c
+a3631f828b828a838908a4ff0042e66605ff00224cccffffffb334ff00288000ffff
+ff3333ff00283334ffffff333391918ba085910813ee803b8e7a908bde08f81207cb
+95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813f680f72e0a13ee80
+f72f0a13f680f7300a13ee809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b
+8885858b769185b8ff0000e666ff002e999a8cff00266666ff0000199a08632b9185
+059b90958c9e8b080efbabfb5ca8d6abf85ab201e4daacc903f73c2b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff0015e666ff003a999a05ff00278000ff0005ccccff0028b334ff0015
+8000ff0020e666ff0025199a89ff000a4ccd85ff0005b333818c71776d83718b0870
+85a9c91ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff00066668
+88ff00026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333ff
+fffae664fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc8000
+7ffffffc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91
+199a085dffffffe666057d877f831f7e07868c8a8f1ec6fbc1068bffffbfcccdff00
+1966666eff0026cccd8608ffffdbcccdffffa933339185059b90958c9e8b080e8d89
+acf86ef7285cb2d476128eadf778e0f763ad139ef7a9f94d15f7020ad4fcd315f812
+0713bef7310a13def72e0a13bef72f0a13def7300a13bef7320a0efb7181c2f7edb2
+e59ce5d301e4daf706b703f79ef94e15f7040afb73fba1158e0a0e8d89acf7b6b2f7
+25f7285cb2128eadf778e0f763ad13def7f2f70e15f75bf7130797949a9690889382
+1ffb1cf72406cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813ee
+f72e0a13def72f0a13eef7300a13de9fdbb9a5cd8b08bc06b095654e1ffb27fb0807
+82817c81858e83931ff710fb5b068b387a863b8885858b769185bc8cff0032e6668c
+ff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e7a908bde08
+0efbab81c2f75cb2f5b201e4da03b6f841157d877f831f7e07868c8a8f1ec6215806
+82817c81858e83931fc6fb300644aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff700e60797949a96908893821f27f5f30695
+998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb
+4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333
+fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881ffff
+fc999c8bfffff919988bfffff466688eff000699988bffff91199a080ecd81b4f8db
+acb8c089c212e2e0f7b4a6b2bc13eef831f97d15b30a13deb40a13eeb50afb85fb72
+156b0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61335f7d8f8d115b30a13
+2db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbacecbd01e2
+e0f7f6bc03f859f97c15f40a52fb71156b0a0e4b81ba84a6f7e9ace2bd12e3daf758
+da133cf7fff89a15f40a13bcd9fca415f10a137cf20a13bcf30a0ecd81b4f8dbacb7
+bf01e2e0b3a7f76ca7b5bc03f878f9b815f50afbccfbad156b0a0e4b81ba84a6f7e9
+accfc4e57712e3da56a6f76ca676da133b00f721f91a15f60a13bc80d7fd2415f10a
+137c80f20a13bc80f30a0ecd81b4f8dbac82abf5ab12e2e0e2b3ebb3e6bc13bff7ef
+f99c15d90a335615da0a34fb5c1513df6b0a0e4b81ba84a6f7e9acceabf5ab12e3da
+7eb3ebb3acda133b80f786f91015d90a335615da0a13bd80cafce515f10a137d80f2
+0a13bd80f30a0ecd81b4f8dbaccb7601e2e0f7f6bc03f896f9ac15f71f0afb179015
+f7200afb67fba6156b0a0e4b81ba84a6f7e9acf76e7612e3daf758da133cf83bf8f7
+15f7210afb189115f7220a13bc41fd0715f10a137cf20a13bcf30a0ecdfb5cb1f72c
+b4f8dbac01e2e0f714c9f738bc03f886fb1b158792858f828b75757b7b6e8b668b7e
+a08ba58bff002f8000ff0022ccccff001f3334ff004c4cceff003e9999ff004f3332
+ff0031e666ff0016b334ff0061999a8bff0079333308f778078bff00504ccc9cff00
+03b334c79291918ba08591658affffd733348affffe8cccc8bffffea80008bffffcf
+80008c5d8c85858b769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0012199affffe1e666ff001ce6665aba89d78bcc08f795078bde9a90d88e91
+918ba085915c8affffcf66668affffd8999a8b648b628c648c85858b769185c7889c
+868b3808fbb607fb60ff0083800064ff006680001eff0019999a8bff0017199a8dff
+0014e666ff0003cccdffffcab332ffffd96667ffffdab334ffffd799998bffffd533
+338b55b177bd8bb48bb39fa8b8080e4bfb5cb1f72cba84a6f7e9ac12e3daf71cc989
+da13bcf889fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff00274ccdff00
+10ccccff003a4ccdff00326668a7ff00148000ff00088000ff001ab332ff0006cccc
+ff0023999aff0004199a91918b9a85910813da4b90829e8bbc08f75407a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b
+7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a
+7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1eb28bba9fbc
+b3908fff00094ccc8dff0000b33484ff00016666fffff233338effffefcccdff0002
+999afffff4199a0813bcffffcd4cccffffdb4cccffffebb334538bffffd7999a8b55
+b177bd8b08b48bb39fa8b8080ef7f89476f906accb7601f870f9bc15fffff0999aff
+0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d828e859485b19c
+ab9cb0a6ac72ad79b279ff00091998ff0003ccccff0004199cff0008199cff0002cc
+ccff000919980867a666ad6daf08f7e2fb87156d0a0ef72c9476f82eac01f813f927
+15f7330afb48fb9915f7340a0e7789acf8dbaccb7601f790e003f7ccf9bc15b20aa4
+fd42156f0a0e3bfb7cdbf8baac01f7b7f92815f7330a34fdc815910a0e7789acf8db
+acc4ea12f743e97ae092e913f4f743f98315d80af73d16950a13ec84fd0915f7350a
+0e948bb1f8c8b69377e17612c8a913d8f8bb8915700a13b8710a13d8720afb5ff9ca
+15b10a0efb3f8badf7fab0957712bdac1390f794f93315d60a13b0fb4dfb7c15f736
+0a13d0f7370a0e948bb1f8c8b69377ccf312c8a9f73bf3139cf796f98215f7090af7
+b9fd8415f7380a13dcf7390a13bc710a13dc720a0efb3f8badf7fab09577f714ef12
+bdacddef139cf739f8eb15850a13bc2dfb3415f7360a13dcf7370a0e948bb1f8c8b6
+9377e07612c8a91398f7acf94d15f7020af7a3fd4f15f7380a13d8f7390a13b8710a
+13d8720a0efb3f8badf7fab09577f7757712bdac1398f750f88915f7030a13b8fb09
+4d15f7360a13d8f7370a0efbc489acf800adf77fad01e8daf3dc03f740f70e15f7f4
+07f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d75
+97628b0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95
+078b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80
+908bde080e2581adf807b7d7b2e2a9a67701d9daf769e103f742f7ff15780a84aa15
+fffff9b333fffffa4cccfffffc4ccdff0001b3348b9408f708e40797949a96908893
+821f29a806cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b3708
+86560782817c81858e83931fc8fc50068b648a79887d90839087978bff0006199aff
+0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96ff
+fff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70b
+e8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080eba89adf7c0adf71476
+ff008e4cccff001fb3341290cbecdcf76ed86de413fdff007b999aff02674ccc15ff
+00176668ffffffb3349efffff64ccc8bffffe0b33408fc8b078b68fffff5b333ffff
+fbcccdffffd64ccdfffffd3333086d890586ffffffb33389fffffd4ccd8b86088b78
+8d8905ba8cb48cb28bb38b9989e48bf75b8bc0ef8be18beb4ac234a4088d0713feff
+0032199aff00196666ff002ae666ff00334cce8bff00364ccc8bce6ee2fb4e8b688b
+5d89638b648bff00064ccd8dffffeeb3338b0829563a53779a7aa09b9e95a51f8bff
+0010b33484978bff00104ccc088bff001d4ccca2ff001fb334ff001f999aff00004c
+cc08ff007b6666fffee4b33415d00613fdf71dc63e31426d4ffb2c457e98ac1ff880
+04ac8b95e21e13fec3d66d25364e6d381f41060e7f89acf7c2b3f77cb36cac12f1e0
+f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf73c0a13dc898d0513ec8b
+3a89771efb7d0613dcf73d0a0e2381adf807b7f76bad12d5daf76bdd43aa13f8f72d
+c115f7bf07b2b3bf8d968b08c8bf4525fb065b362c1f6c8b769077a408b4f90e153a
+8b4f835b83088d7405878d8a8e1eab89059ffffffeb33495fffffa4ccc8b5208fc8f
+078b648b7b887408a0860594959c999498a872ab81b68b08f1f709e2f733f70e33dc
+341f5b8b6379696608f7a2f71b0713f4c08ba44c975d08aa8e7df720050e7489acf7
+c2b3f7b17701f5dcf798e503f74ff7e115f73a0a3af81a15fc1d078b6ffffff34ccd
+fffff2199affffd6b333fffffce6660870890587ffffffb33388fffffd4ccd8b8608
+8b748d89058be88dae1ea98baa89b88bdc8bcd90c4b1ff00298000ff001b999aff00
+258000ff003699998bff0040cccd08d766f701fb601efb01f73e06cc8eb38b1e9280
+8e821e56676e7f5780fffff54ccdfffff4b3348bfffff49998ff000ab333fffff4b3
+34bb7da1798b4d080efb0281adf808b6f7977701ddd5f76cd803f730cc15f7b507b3
+b4bf8c958b08c9bf4625fb065a342d1f6c8b759c77a30881f90d1556676e7f5780ff
+fff54ccdfffff4b3348bfffff49998ff000ab333fffff4b334bb7da1798b4d08fc4a
+078b648a7b8973ff0006b333fffffc4ccdff00064ccdfffffeb333928b9495999a93
+97a972aa80b68b08f1f705e4f733f70e38da341f5a8b637a696608f75a07cc8eb38b
+1e92878e821e0ebe81b0f8e2b401baacf84ae603f7b5f926152a8b325d4732908292
+85968bd2d9cfaae88bff0086999a8bff005d6666fb2c8bfb268bffffa9b333ffffe9
+199affffb83333ffffdb8000ffffd3199affffce66664e516f578b08fb1e8b54dd71
+e17f8ffffff64ccc88fffff4b334859057925b9554be86b863f70f8be08bd2aac6c1
+ff00426668ff003ccccdff00279998ff0061e6668bff00684ccd08ff00adcccc22ff
+00923334fb6b1e0ebe7fb5f8c476bfb099d201b0e2f841a503f92df97b15ffffdb66
+688bffffba1998ffffd88000fffff76668ffffab1998ffffd59998ff000c6668ffff
+cf999aa6ffff9ae6668b368b446c5055ffffbd999affffc33334ffffd86666ffff9e
+19988bffff97b3348bffff523333f4ffff6dcccdf76b8bec8be4b9cfe40886948491
+808b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e6
+66ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8bf71e8bc239a53508
+9787ff0009b3348eff000b4ccc9186bf84bb81c208ffffffe66806ff000633308bff
+0025b334c6ff001e33348b08a2a68faa9783a36f1f0e2581bcf803ac89c912b0e1f7
+4de213b8f85cf84015a09899a09983a1691fffffdd80008bffffcb3334ffffea8000
+6fffffc9e6660813d8ffffe7e66695ffffe18000ff0005999affffdbe6668b082821
+32fb22fb15d332f7121fc78bc09ebddd8794838f828c695f6075608b08424ed5f709
+f702bbcdcd1fc68b93688f688e709982a08ba08ba7988baa8ba5fffff33334ff0016
+999affffe88000ff0010b3320813b8ff000a19989bff000eccceff000bb334ff0014
+66668b089c8b9e829b8b080ef589adf793b2f7b3ad01f5e0f807eb03f753df15c80a
+60f8c515c90a0ef74b89adf8d9ad018dcaf70edcf80be703f7a0d815f88107aeae93
+bcf76cd6fb43fb2efb5efb1159fb21298098ab1efb3e54158b758d8905ba8cb38cb3
+8bb28bb289f28b08f721f74ecbf78af74efb2df72dfb541f4b8b5089638b678bffff
+ea66668dfffff1999a8bffff8e199affffffb334ffffd8e666ffffa84ccc8b60086a
+a0839b9f9998a01e8bff0013999883ff0009ccd08bff001399988bff00234cccabff
+0010b334ff00216666ff00024cccff001b999aff0002b334a8828b6508fc7e078b6b
+ffffeee666fffff54cccffffdd199afffffdb334086d890587ffffffb33388fffffc
+4ccd8b86080e6b89adf7cfadf776b170a8967712b5e45ba5f7abdc13c5f818d9156a
+7e7e452147bef707d4a9d7f71e1ee40613e534f79815e28b876a1ffb514d07fb4924
+5afb30fb0ff70054f7011fcd8bb18dcd8bb78ba58ab78a08a3078e8a8d881e6d8e05
+6f8e7f978bab08f884078bb0948daa8e0813d3a98e058e8c8c8e1f8ba40513e3fb07
+89fb6e8b0513cb5e8b66906c93087dfb2da5880513e5a5e4b09bbb8b080e3781ba84
+a6f7efaef76bad957712b7e15ea5f783da13a5f7f2f710157b0a132bd1f814151333
+7582748b808a08fb3306132b4f8b788f7091087dfb2aa5880513b597b9a9cabf8b08
+f70e069d9086781ffb5b07848989841e878b629c6a8b498b5f756365606071508b41
+8bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00073334ff
+0001cccd8b84087396688b1e93888e8c938d081373a19db19ac89291918b9a85914b
+90829e8bbc08f85907cc8fb38b1e92878e821e0e22fb7facf8f3ad01addaf762bf94
+d803f77ca3156da40554b769d48bbe08f737dca4bee8b5fb023a1e8bfb06435a4873
+08937b05968215e4aaf700cb8bf71a08f7093de6fb0f21fb0845fb371e8b34bc57dc
+4c08d25305af6fbb638b758b606b7a578b718b6e9977b178af7593818b087d73836e
+6acb50eed1cea6d71f8bb554ba65a9080e6889a870b2f7b4adf788b271a812f71dad
+f754dc1376d0f919157dfb20a6880592b6adc7bf8b08f72c06a39783731ffb68fb1c
+07678b839b84a70884a9058f888f871e7506898a89891f8e7290668b6a8b69855e89
+7a088d88a28b05908e8f8e1f91aa0591a8969aad8b08f71cfb9306707d85751efb38
+06498b6fc07bd4087186a4fb34f7a68bd98b0513aef715898ba1058e8a8f841e6e06
+637f9ca71ff88807aa999ab11ea806928c8f8e1f8ba0fb168a050ebc7fadf756b7f8
+00ad01f89de503ecf89f15f73e0abbfbdf15f73f0a0e3d7fadf7c4b2f797ad12b1e0
+5bd213e8f7bbf9261522fb0756fb051f8b31d863a9800813f047783f518bfb008bfb
+25f71c6af28bdb8bb8a5c394089cf7246d8e0573fb013764468b083d49b7f70ccca9
+d6f61fec0696919198968594801f470613e8fb076ee0bddec8b4db1fee8ba24b9d3b
+08aa9078f72305589075a4448b080efb0afb40b8f856b1d677f751b370a812f0dcf7
+48acb6a813f7f0dc15fb48586f6a1e7d8bfffff94ccd93fffff8b33395fffff64ccd
+ff000d3333fffff4b333ff000dcccd6c8b087d737d7567b579a11fa48bb78cb8b1c5
+b9bac98bf71408f770f71307ad8b98828e6e088e7205888d86901ea18b8f8e0588b3
+8aa68b9f8b9f8ca98eb308878f758b05878887871f887205886f7f7d688b08fb13f7
+6606a39795a31ef406d68b9d63a14608a89005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd
+99988bffffee8000fffffc9998fffffab334ffffff6668ffffe7cccc8b08ffff02b3
+340613ef648b628c5c8c0813f789898b770513ef8b888cfffffc800092ffffff8000
+08a98905ff00266666fffffd6668ff000c999afffff499988b6c080efb2ffb7caff8
+deb2f784a8016dcef7d8d203f741f81a157ffb040577fb4e91fbb4338b758b929f84
+9785998093798b08777f787c78a966c31ff70c8b9bf764bdf822088d9bf18b059499
+8f941f9f078f888d861efb038b99f7040598f5a9a19d8ba28b95688e7b8e789b859f
+8b089f979c9fa871b23b1f518b4d4878fb28876e7c72678b08670679867f831f7e07
+868c8a8f1e0ef71281aff783aff7d5af99d212b0ebf821e063ac13fcf932f97b15ff
+ffdbb3348bffffbab334ffffd8e668fffff6b330ffffac4cccffffd2b33499ffffd6
+b334ff0017ccccffffa480008b08fb3bfb41fb17fb70ffff4c3333f710ffff76cccd
+f7531ff70a8be8a4cfc5809486938b9608f708078bff002333339cff0009cccda88e
+91918ba38591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff00
+36e666fffffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b
+08fb3237f73df718f743ff00718000f70cff007480001f13faf7258bb438a535ff00
+0b4cccffffff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb80
+00b37bd3ffffff1998ff00003334ffffff199cff00001998ffffff1998ff00003334
+ff0003e668ff001b6668ff000d3334ff001a3330ff001c9998ff0004e6688d8c8e8b
+8e8b08908b938a928b08a2a68faa1f9783a36f1e0ea1fb7cb6f9bba801f754bbcdd4
+03f7b777159a648b608b75086c7c6974798197a61e8b9ba0d0a9b808f759f8e415fb
+39fc4f888bfb2ef84d0588938a918b918b9bff000d6666ff0005e668ff0022999aff
+00041998089c8d05908c8e8d8b90088b9e898d058b32896864478d8b1e89898b7805
+8b868ffffffd66688fffffff9998ad88a486996308f751fcaa055c336c518b59086a
+a064c1cdb9c1d01e8bb281c472d508f754f8930598ae9c93b68e90ff00004ccc8eff
+0002b3348b90088b9e898d058b57896864428d8b1e89898b7805868f888f1e9d8905
+ff00318000fffffa8000ff000a4cccfffff8e668fffff43334ffffe09998080ef70b
+81ba64acf7e2d557bff75ea9a67712e1daf756daf75bb1139f80f7bef81715b49f7f
+3b1ffb34078c2fba56f38b08dbdfd7f74b1f13af80f70c6ed146707d78791e8b6ca9
+86978aa886a9708b2b08295825405c71a8cd1ef72c07135f80f265bf441effffcee6
+668bffffd3199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff
+0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fc49078b38fffff4333387518785858b769185ff002933338cff0019999a8cb6
+8bb28bff0011b3338aff002a199a8a91918ba08591ffffcd33338f828f8bde08ff00
+a3e666078bff0015199a94ff000c4ccc93ff0008b33408b1ff00254cccff0026999a
+ff0015b334ff002766668b080efbc581c2f8eaa8a57701e5d603e5f8c715fc6e0744
+a66fb91eb88bafa1b2b7fffffcb3349485ff0005999afffff74cccff000266667177
+7c83718b087085a9c91ff85207cc8eb38b1e92878e821effffe6e66681ffffba999a
+7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08
+ab89059f957e4a1f0efbbe89acf7b6b2f792ac01f5e003f753f70e15f75bce079794
+9a96908893821f3ff737068bde9c90d18e91918ba085915f8affffd080008affffd9
+80008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fb374607
+82817c81858e83931fd8fb5b068b387a86458885858b769185b88cff0030b3338cff
+00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080eb5
+8aa8f7aeadf7a6a874ad12f5dc13d8f822f87315ff0036199aff00459998ff0038e6
+66ff00486668a78bc28b7d3cb98b089f9f9ca1af5bb4481f418bffffd9666644ffff
+c3999a420821fb1405ffffea4ccdffffe5ccccffffe9cccdfffff6199affffdce666
+fffffd666608ff00afb334078bde9c90d18e0813e891918ba085915f8affffd08000
+8affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808
+fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a
+8bff003066668ab88a91918ba08591458e7a908bde08ff00bae66607ff0021e6668a
+ff001d199afffff4ccce9fffffe64ccc08f731fb5a059f7199708d7b8b888c888f8b
+9f8c8f8ca98bb28b9a8aba8a91918ba08591798e678869b508fb6ff7980583948693
+8b938b92ff0004ccccff00033334ff001e3334ff0026cccc080e3889acf803acf77d
+ad01e1daf3dc03e1f87015fbf6078b388086558885858b769185b58ca18cb48bb98b
+a88ab68a91918ba08591478e80908bde08ff0056e66607ff00133333ffffff8000ff
+000e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000b
+e6667b08d42905ff001d6666ffffd88000ff0008999afffff080008f7cff0000cccc
+fffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08aa98a91918ba085
+91698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666
+ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91
+918ba08591668a7d8a678b658b748c668c85858b769185c387ffffe84cccffffdcb3
+34fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef
+999affffe51999fffff43333ffffed199afffffd666608ff00efcccd07f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4bfb321f0efbdf89acf7b6b2f7ada9a67701eada03f742f7d515ce0697949a969088
+93821f3ff77306cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b
+4008fb5b400782817c81858e83931fdefb5b068b3880864e8885858b769185ae8cb0
+8cb38bb38bb18aac8a91918ba085914e8e80908bde080e4b80c8f8dfc801f7f0f8fc
+15ffffa26666ffffc91998fffffd999aff0007e6680568f70a53966d8b648b6b6c71
+65ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa5
+95a48bff001780008bff001f6666fffff11998ff0021b334ffffa94cd008ffff9c66
+66ffffc599989c6dff005e6666ff0037666605ff00028000fffff84cceff0002999a
+fffff7e666ff00028000fffff76666089860fb71fc47a47f05a291a48fa68d08f723
+f7ffd2fb8105a72ea35fbd8ba88bb2b09db2fffffcb33494fffffa9998ff0004999a
+fffff4b334ff0002666676717786768b6b8b7fab64f71808ffffa1999aff01391998
+ff00646666ff003ae668050ef7a97fbb85a2f8c9a812f0dcf767dcf767dc141c13bc
+f992f70815f85e078ba7ff000f3334ff000ae668ff0027ccccff0003199808a58d05
+90ff000066688eff000299988b90088b9e898d055a8a6e8a598b5b8b738c598c0889
+898b78058b868ffffffd4ccc8fffffffb33408a18905ff0027e668fffffc6668ff00
+0e1998fffff799988b6d08fc6407585a5a72658b08626ba6cd1ff851078ba7ff000f
+199aff000a3334ff0027e666ff0003cccc08a08d0590ff000066688eff000299988b
+90088b9e898d055a8a718a5b8b5b8b738c598c0889898b78058b868ffffffd4ccc8f
+ffffffb33408a18905ff0025e666fffffc9998ff0010199afffff766688b6d08fc3d
+078b7c8b7f8c7d57575f77608b08626ba4cd1ff853078ba799ff000a1998b4ff0003
+e66808a08d0590ff000066688eff000299988b90088b9e898d055a8a718a5b8b598b
+708c598c0889898b78058b868ffffffd4ccc8fffffffb33408a68905ff00274ccdff
+fffd1998ff000eb333fffff6e6688b6d08fc3c0732a042e91ec68bcaa5c9c7955cb2
+64c68bce8bc6b0bebc088d8a8936a28b05137ca19dbd98c9960888a25b9005ffffea
+9998ff00023333fffffc6668ff0005cccd8bbd080eeffb4fa9f73e76f906a7015fcd
+ddb8f82db803f3e3154f8bfb4d4d1e808b858f8895869f7c9f7d8b088373886b77ab
+6ebaf7048df722f71a1ff7f207ad8d9a931e918b96809c7508f7f1fc4d05967c9885
+9b8a089992959e1ff8ac07a99aaab21ea6068f8f8e901f8b9e898c058b438a646741
+8c8b1e868a8b7805869488901ea506b49869701ffc0f07788b78861e828b7da76eb0
+08fbf1f84dfb168b88898b7905869288901ebc8ba1538d7f080e5ffb7ea8f75fa8f7
+fca377bb12ebdaf765da13dcf743f84b158d8a8c881e13ec6d8061824180088d73b9
+87059a8993818b5908fb8d078b6e8180688808778905868a87898b86088b788d8905
+8bce8db6b5cd898b1e8d8d8b9e058b90878d868c087c8d05689081948ba808f78607
+13dcc1c7b39cb98b08c3986a451ffc54078b6e80826986087c8905868a87898b8608
+8b788e89058bca8db3b7d1898b1e8d8d8b9e058b90878d868c08768d056a8e80968b
+a808f84d07e476d02c1e558b597d47400888060ef681aff7afb2f7a6af01b0ff0060
+4ccdff01b4b334eb03f92ef7dd15650affff9eb3349e15fffe4c999806ff00066667
+ff00c2b334ff005fb333ff004f4cccff005f999a8bff007b80008bff00659998ffff
+9fccccff000c999cffff4e333408ff00014ccc6415ffffffb334ffff4d999affffaa
+1998ffff976666ffff8e33348bffff89e6668bffff906667ff0066333384ff00b4cc
+cd080ef681aff8e8afa5e112b0ebf849eb40b013f8f7dff90215ce0af7e3fbb915f7
+400a13f4f7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f8b4f76115f7420a13
+f4f7430a13f8f7440af759f75b158b0a0ef7befb48acf71dadf8d6b07cad12afebf7
+ede0f737e013def7e6f90415c08bb978b36708fc90076c72697f628b08fb17fb00f7
+03f7541ff766f702e2eb1ef86cfd3c15f8f407bb8ebb8b1e92fffff980008efffff7
+80001e13ee647a6d894d8b608b55ff0001800080ff000580000813deff0009800084
+ff000280007f1e808179787a8560a25997598b08fb47fb1cfb2cfb58fb59f724fb0f
+f7401fdd8bd6a3c0b908f87e0713eeff00318000ff00098000ff00028000ff005480
+00c99289481efce1078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91
+918ba08591458e7a908bde080ef707fb7eacf753b7f7e5ac8cad01afe1f77cdaf70c
+da03f7f6f7e415fbac0771776289788b085133b5f72bf3b6d5db1fb58bb373a65e08
+f7aafc5315f8bd7a07758b6565438b6d8b3a8c6e9a6f9a6b8f698b08fb0e3027fb18
+2ecbfb10f7241fc48be2a9b8aa08f7c8079e93a38f958b08acad8b5f1ffc4b078b38
+80884e8885858b769185b58ca58cb78bb68ba48ab68a91918ba085914e8e808f8bde
+080ec689acf78fad73a8ff00a5cccc76ff008c3334b270ad1291ff004ccccdff0090
+3333e0f775e813d780f7ccf8be15f7450a13b780f7460a13bb80ffff6f8000f7d815
+ffff8d80005cffffb2ccccffffcc6668ffffd86666ff001a6666fffff53332ff0013
+3334a3ff00146666ff0010ccceff001933321f8bff0009999cfffffb3333ff000999
+98fffffd999aff00099998fffffc6666ff000accd0fffffd999a918bff000acccc08
+ff0021ccccff002f333393ff00248000ff002880009f8b381efc25078b387a864588
+85858b769185bc8ca98cbe8bc38bb18abd8a91918ba085913d8f738f8bde08f73e07
+13d780a184a388ae8b08f74ac2f70be0c664f6fb4d1f13bb80718b4484638b080e3f
+fb7eacf753adf805b9f775ad01dbdaeedcc3e103f743f7e315aaabff0028cccda5ff
+001d33338b08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dff
+fffc199aff0005cccc8bff0024199a08f74e078ba0ff00033333ff0009ccccff000c
+cccdff000d3334087bf72b15f72e9ba3ac1ea98b917f99689379967da08b9c8ba3a0
+8b9f8b9c809d769b719d718e658b08375643fb2f1ffcd9078b3880864e8885858b76
+9185b58ca58cb78bba8baa8ab68a91918ba08591448f808f8bde08f700078b98ff00
+03cccdfffffeb333ff000a3333fffffbcccdff00188000fffff6199aff001ee666ff
+fffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98bdc8bf540ed258b668b54725e5d
+08fffffce666fffffcccccfffffb199affffff199a8bff0007199a080e6c24a6d5a8
+f761aef784b569aecfa712f5dcf779dc13eff885f81815f712fb06affb0c1e13f76b
+8b748b768a08a407a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e
+898a8b7805868f888f1ea606b29a7d6d1ffc8c076f7e7c621e7006878888861f8b78
+8d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98a91ff73607e58b
+9089917d08f2fb7d05a55cb764c78b9a8b9c8e958f08889f05638b6cad74b60823f7
+8305ba96e3bf8be0083a8a152539792a1e59f7840613efa390a68eaf8b08c7dd7026
+1f0efb087fb0f8ebad01b7dcf781d003ecf90b1587568359825a08a986059ecda7df
+ee8bcd8bb7588b4e8b382865617c376d2e628bfb0d8b25de2df7078bed8b9b9ca38b
+089f8b94869c8b8dbe92bb95d7086d8e0577305c4c328b3f8b51b78bdc8be6bda6c8
+a3d3a6f70fbd8bf7098bf526ce348b2e8b8d785483080efb7481a78e76f82da912b0
+ce58a3f748c87ea213b2f7dcf72015748c058975825d727180806e79658b688b57a5
+8bbc8bb6a3a8dbad0813acd3abb1a08bd68bce50b83c8b598b68826b7b866b87698a
+6708a38a05a0ddc89ba08bb18bb27f8b548b63787755770813b23a6d49678b3b8b28
+f470ba8b081372ae8ba88ea592928d908b928b908b948b9489080e8889ac6cb6f8c4
+b56cab12f878ac7dac1328f808f8ef15f7470a1394f7480a1364f7490a0efbb6fb68
+a8f944a6f71fa6128db3f3d65cbaddc913fa8df8ed1553b363cd1e998ba294969285
+75875f8b7108fc15078b278b3ebc5ea276b27e9e8b08c2ada6a1a879917e1f7a8b83
+7b857e867e857e7e8b7e8b7d93819d809b81aa8bf70f08f88907f72462b3441e4f5c
+664f1f13f6f74016687269626173acafaea2aeb61eb8a0656b1f0efbab7fc3f7efb2
+01e4d5d7a703f738fb2515a8d5b8e51f8bff000acccdffffff3334ff000acccdffff
+fe1998ff000b6666ff000ce668ff0009199aff000c666696ff000b6666ff000ce666
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1e
+fffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9
+b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c
+8bfffff919988bfffff466688eff000699988bffff91199a085dffffffe666057d87
+7f831f7e07868c8a8f1ec6fbc10644aa6fb91eff0017cccd8bff0018e666ff0005e6
+66ff0017e667ff000bcccdff00004cccfffffc3333ff0000199a878bfffffc199a8b
+7383737880717b519c8b5e08779979a11e0ea189acff01c7cccc76ff008c3334b293
+77128eff004ccccdff00ceb333e0f763ad13eeff00ef8000f8f215b095654e1ffc15
+078b387a863b8885858b769185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a
+908bde08f81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813
+def72e0a13ee6988fb03863c8b08fb6406fb07ffffd18000ffffb2ccccffffcc6668
+ffffd86666ff001a6666fffff53332ff00133334a3ff00146666ff0010ccceff0019
+33321f8bff0009999cfffffb3333ff00099998fffffd999aff00099998fffffc6666
+ff000accd0fffffd999a918bff000acccc08ff0021ccccff002db33393b11e0efb84
+81c2f7edb2f77fad01e4daeedc03e4f86b15615d077d877f831f7e07868c8a8f1ec6
+fbc10644aa6fb91eb98bbda1b2b789958591818c71776d83718b087085a9c91ff791
+f30795998f941f9f078f888d861efb0cc406f72e9ba3ac1ea98b917f99689379967d
+a08b9c8ba3a08b9f8b9c809d769b719d718e658b08375643fb2f1f0e8dfb44b0f918
+f7285cb2128eadf778e0f701e296ad13bef7f2bf15f85807cb95b1af1ea106d68bba
+719c3e968b998c948f84b986be8ab80813def72e0a13bef72f0a13def7300a13be9f
+dbb9a5cd8b08bc06b095654e1ffc4807fb3cbb3ce71eb48bb18fa79ea29c969f8b9d
+8ba171a1798b748b807b82787c65847f6b8b086c73bff71f1f0eea81b4f8dbacb6db
+01e2e0f7f6bcd4bb03f8fcff0260cccc15f74a0a0e4b7fb885a6f7f0a8bbde12e3d6
+f753d6b5ae133ef76d8115b28bba9fbcb3908fff00094ccc8dff0000b33484ff0002
+8000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff0006
+8000ff00028000a19dae9ac89291918b9a8591084b90829e8bbc08f754078bff0013
+ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000ff00
+11b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b808b80
+757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b769185bc
+88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b
+1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb5407
+46a948ee1e0ed27fadf8c9c512a3a579e3bcbaf769c4bae37ea513def712f8df15ab
+96837d1f8b5dfb1dfb098bfb1908fb29eafb18f75cf759ecf728f7191e8bf71bfb1b
+f7078bb98b999893ac8b0813cdbf8b9f838f5708a58b84f70a458b052a6c78691f13
+de8b4cf3fb078bfb2608fb1547fb09fb1efb163ef4f7221e8bebebf71e8bdb08b175
+a3481e2b8b0513ec84fb0aa58b0591c3a18fbb8b080ec781aff8e4a776ac12e4e0f7
+4bd3f71bbc13bce4f77015fb50f661f714f72cf71dbff7def72d63f719fb0269437e
+5671a084971eaa8b92ad8c938e9c97929d8b08ea92fb7158fb6c2dfb03fb26fb1677
+f0f70e1ff7d90713dca7999bb41ea506908e8e901f8b9e898c058b2e8a6764308c8b
+1e898a8b7805868f888f1ea606b29a7d6d1f0eb989a8f8e3a775ae128bc6f79adb13
+d8f77bf84715e5fb2e8bfb66056f7d7b621e7106868888861f8b788d89058be88daf
+b2e2898b1e8d8d8b9e0590878e861e7106647b98aa1f8bf772f729f7ad059cab9997
+a98b08a006928e8d901f8b9f898c058b3d8a827e3c8c8b1e898a8b7705888c87901e
+a9069f9088801f8b868882837d08fb13fb7f41f7110513b83bf71956c7508b08455d
+586a7d9478a1a3919e9c1f8b9589938b928b9c9f8f938b08ae8bba3ac9fb00080eaa
+fb7ac2f8d5a8c8cc01f836f7e215a7ccb3e8ab8b938b97898f8695819c87998b08a0
+9d9e9fa37ba2541f4b8b563756fb0c8b8b29fb747e6d08fb02f79605879489938b91
+089b9891a990918e901e8b9d898e058b43895c6d5f8d8b1e89898b7705878f88911e
+ad8b96809b6508f712fbb905937794708b818b828981857f724e68357c8b818b8492
+8195859381917c8b087b75826d67b2809e1fd28bafdfa9d3dbf755ecf76b8b8b080e
+948bb1f79fb2f796b6937712c8a913e8f8bb891590c395c697bf848d808e7e8b6c44
+7254fb018908fb5587057affffff999a83ff000566668b948b908e919094ff00234c
+cdff00334ccdff003d6667ff0057b333ff00434ccce908f7410697949a9690889382
+1ffb2e06ff003f999aff00586666ff00426666ff005a4ccec0ff00444cccff001519
+98ff001b3334ff0002e668ff0006cccc8b968b92868f838b7f8b6c896d8b08fb7106
+13d8710a13e8a0d0b1ff00239998d6ff0001666808f7678f05ff0005e666ff000019
+98ff0004199afffffce6688b858b8688858684ffffd38000ffffc78000ffffbfcccc
+ffffa96666ffffbdccceffffa4199a08ffff6ee6660682817c81858e83931fff007d
+199a0646ffff9fb333ffffbb8000ffff9db333ffffcf6666ffffb7999a858389838b
+8408819086991eff016c4ccc06a6ff0063b334898b1f0efb3f8badf737b2f730b095
+7712bdac13d8d2f84b15f7360a13e89fd4aaff00114ccca9ff0000b33408f7148e05
+ffffe2999affffceb334ffffdcb333ffffc9333266ffffc9199a08ffff96b3330682
+817c81858e83931fff0056cccd06ffffd7999affffc53333ffffd6e667ffffc6b333
+ffffdbb333ffffcf199afffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906aeff002c6666ff0029999aff003a8000ff0028ccccff003c199a08ff004f999a
+0697949a96908893821fffffc1999a06afff00363334adff00356666ff001a6666ff
+002b6666ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b
+6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00056666
+080e98fb67b0f99fb201f86fe403f73bf91915f74b0a0e98fb67b0f99fb301b9e5f8
+15a503f84ff91915fbf706778485831f8b81937a937d08f73bfbc205fb1b704c288b
+fb0308fb1ff719fb0ff734dbf72aaecda281a6681e718b6f7d7e766b5a596d548b08
+332bf70deaf733f706c1d01f9a8b978b998808fb57f7f5f78d8b05d58aa8388f5e08
+a58e76f750057386697a728b080efb27fb79a8f8e2b201a2d6f784a190a603f7d1f8
+4115fb7a06798587821f8b858f81917e08f717fb7f05fb0a814c458b21082bd828f7
+24e6c9b3ab9b839a761e748b7b847e767f746f74628b085a33baf70ae0cecad91f9d
+8b9e89a18608fb31f7b0f7228b05a98ba97f9d3708a6906bf72c7587057b82897f1e
+0efb27fb6676f833acf73eb5977712b79fd3cdf70ed913eef798f76d15f70bf73e05
+13de94988e948b970813ee90868e821efb9a0613de6c8b96926890087bfb0f9f8905
+13ee97cb9692b58b08f7468bfb2dfb6d05a190a9949d8be08b9a3f8b578bfb0d559e
+63715266666e8b5308729e7f9c9aa19ca51e8b9684968b9a8b908c9fb1a3b1a4f70f
+8b8bf721088be953c2358f080efb318bccf748b2f73a76f726ae12c8d6f74ee370a8
+13fcc8f86815769e79a09ca9ff0011e666ff0016199a1e8b9389918992899285948b
+9308a4a5afd4afbe722b1e8bffffc2199affffea8000ffffcd6666ffffc94ccdffff
+c6800008ffff8033330682817c81858e83931fff006080008bffffd7800063052927
+7b5b8b50088bbe8dab1ef74306abb9898b1f13fa98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008ff003d6666c6ff0044999a8b0597949a969088
+93821f660613fcff00388000ff00368000ff002a8000b78bff004b800008f70033b7
+3a1efb0346394f1f0efb3a7fadf7ccb9f713c701f7c5d103f7c5f748152d5a4b3f1e
+6b8b7ca1819e829b7f97778b08797b7e7864d96bc4f1e5d3f71ce54be9fb1a1f5889
+9bf715f7588b8b8d93c5fbd88bd95575fb5205a695a18ca78b08cbe14f2d1f0efb3a
+7fadf78ab7c4c701f7bdd103f7bdf71e15395c69501e6b8b719e809f829b8099778b
+08797b7e7864e46bc4f716b6e5d7d753dd281f758b58877d8a089cc9f7588b8b8d93
+c5fbc58bc65469fb0c05a994c990a78b08cbba454f1f0efb777fa78e76f81cb212ac
+a699d555c4f70dcf13bad5f81a154c078b40b976d36bdb698b6e8b608b5a4f6f688b
+668b699d819671a582bb8aa108708a05137a92fb2205948d948c908b928b908a928a
+0813baa484b187ad8bbb8bf705a88bee8bdb60af3aa9559f7d9f8bb308bbed079499
+8f941f9f078f888d861e13b6fb02f72f0652778b78058b3f7d64528a08898a8a881f
+6c07888c8a8e1e0e40fb6476f905b68e7712dad6f78dde13d8f7c5f82015d4a45431
+1f8bfb072524fb273708f80207d5c7b1a0b28b08fb764015fc57078b6a81796d8208
+7a8605868a8a888c86088f72f719af8bf505f761f704f713f7068bf7288bd36cdbfb
+118b578b4d6a4d5308888b8ee40513b8ff00026666fffffe6666ff0000999afffffd
+999a1effffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff
+0007999afffff5b3348b59080efc2e9676f9587701d4b203f7048115f95864fd5807
+0efbc89676f9587701d4b2cab203f76a8115f95864fd58074c16f95864fd58070efb
+9b9676f7bfadd3adf7a17701f71cb203f7b7f7d715fb08d3f708adfb08f7a164fba1
+fb0369f70343fb0369f70306fbbfb2f7bff708070efbc781f5f8c67701e6f503f724
+f92615200a56fcfb15210a0ef93489adf8ceb66bad9177e07612f5e0f807ebcda913
+aff753df15f74c0a13cf60f8c51513af520af9afbf15f7020af7a3fd4f15f7380a13
+cff7390a139f710a13cff74d0a0ef88389adf7fcb09577f756ad12f5e0f807ebbfac
+139ef753df15f74c0a60f8c515520af950fb2415f7030a13befb094d15f74e0a13de
+f74f0a0ef7d581ba66ad87a6f7e3b072aef761779ca9a67712b2e1f770daf704ac13
+89e0f7edf710157b0a80fffef84ccc157c0a132be07d0a1381e07e0af7e8ff01c2b3
+3415bd06a8b9b1b8aeb2081305e0f7500a1309e0fb094d15f74e0a1351e0f7510a0e
+f741fb40b8f711ac6cb2f8d3ac12f5e0f7aface1e013bef729165c0a13de5d0a13be
+5e0a13de5f0af8a5f89f15f7190a0ef744fb6eb7f740ac6cb2f7f3a7f71aef65ac12
+f5e0f7aface1ef35da13b300f729165c0a13d3005d0a13b7005e0a13d3005f0a139b
+80f850f8f015850a13934099fbae15870a0e3bfb73b7f745acf7f6a7a877f711ef85
+a9a67712eadaf737ef35da13fb80f7e5f8eb15850a13f34099fbae15870afb94fb57
+15f71c0a13f700f71d0a0ef83bfb40b8f71e7693acf8dbac12f1bcf829bcf782e013
+bef8c0f89415620a13de630af80896158bde9c90c78e91918ba08591658affffd4b3
+348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6688bfffff1ccccff000bcccd84ff000eb33385ff
+000cb333fffff73334ff000ccccdffffe719988b087d6d767567c079a11fb88baa93
+b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723080ef80bfb73b7f752
+7693acf7f6a7a877f711ef6aac12f1bcf829bcf74fef35da13bb80f8c0f89415620a
+13db80630a139dc0f780e215850a1399a099fbae15870a0ef76ffb73b7f745acf7f6
+a771bff700ef12ebdaf760daf746ef35da13ee00f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba0949793940813de00b1b0b8
+a1b28b9f8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab
+8cb38bb38baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c
+97688b085a8bffffc84ccd7effffc4b333470813cf00f858f78515850a13ee8099fb
+ae15870a0eef89acf766b5f80b77db7601f7e4f94d15f7020a42fc32154a0afbb1fb
+60154b0a0efb1e81bb5bb4f80bacf7637712afde4bd8f735d91332f751f88b15f703
+0af3fba215d40a137ad50adafb381513b6760a137a770a0efbbe89acf8dbacd27601
+f5e003f70ef94d15f7020ad0fcd315590a0efbd889acf7f6a7a87701f1da03f4f888
+15f7030ad7fc0e15e60a0ef681aff8e8afc77601b0ebf849eb03f7daf94d15f7020a
+904015640af7e3fbb915650a0e3081aef80faef7627701b4e1f78ee103f76af88a15
+f7030afb41fbbd158a0af759f75b158b0a0ecd81b4f8dbacd27601e2e0f7f6bc03f7
+daf94d15f7020afb2efb42156b0a0e4b81ba84a6f7e9acf76a7712e3daf758da133c
+f778f88a15f7030a13bc80fc9415f10a137cf20a13bcf30a0ed381b4f8dbac98e9b9
+bd01e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30ae0e815f40a0e
+4b81ba84a6f7e9aceceab5bd12e3da5fe9d6e974da133900f7fef92d15f40a133a00
+7c3115d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13bc00f30a0ed3
+81b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30a
+ff003a199aff008ee66815f7520a0e4b81ba84a6f7e9aceceaff000133347612e3da
+5fe9d6e974da132800ff01396666ff02eb333415ffffc3999affff94e66405fffff9
+8000fffff48000fffffd4ccdfffffc66688bfffff5e6688bfffff9b330ff00059999
+fffffa999cff0005999a8bff0005999a8bff00066666ff0003999897ff000d800008
+e7ff0062199cfffffd999aff0009e66405ffffed999aff0013ccccffffeb8000ff00
+00e668fffffae6668b08878bfffffb3332ffffff1998fffffd999affffff199c0813
+3200ffff41999affff53cccc15d80a133100f73d16d80a13a28040fcdd15f10a1364
+80f20a13a400f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30
+f96115d30af72416d30affffd73334ff0029199815ff0021199806ff0017199aff00
+1de668ff0018999aff001c3334ff001d4cccff0019800008fffff46668ff00119998
+05ffffe2b332fffff1e668ffffe76666ffffef4cccffffe38000ffffe91998ffffe6
+999aa1ffffe5ccceff0010b3346d9a08fffff3b332ffffee666805ff001bb334ffff
+e76664a6ffffe5999cff0017199affffdf6664080e4b81ba84a6f7e9aceceaff002a
+33347612e3da5fe9d6e974da133800ff00e73333ff0284333415ff0028000106ff00
+173332ff00296664ff001e6666ff00288000a7ff0023199c08fffff0ccceff000bb3
+3405ffffe26666ffffe7b330ffffe4ccccffffe98000ffffe26667ffffddccd0ffff
+e4cccdff00206664ffffe5999aff00168000ffffe0ccccff001a199c087bfffff44c
+cc05a7ffffddccccff001d999affffd78000ff00173333ffffd5b33408133a00ffff
+93cccdffffbacccc15d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13
+bc00f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d3
+0af72416d30affff90e666ff008e199815f7530a0e4b81ba84a6f7e9acecea12e3da
+5fe9d6e974da1330ff00cd3333ff02f8333415fffffcccccff0000e664fffffb3333
+ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999fffffa999808
+fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff28000ff0005
+9999fffffb8000ff0004cccd8bff000666668bff0005999aff000566688bff000480
+008bff00064cccffffff3334ff00064ccc8794081334ffff75ccccffffb8333415d8
+0a1332f73d16d80a13b540fcdd15f10a1379f20a13b8f30a0efb2883acf70eadf765
+bc01a1e1f758e203f7c4f72715f7540a3af75415f7550a0eef89acf766b5f80b779f
+ebb9bd12f755ebf721eb13def755f95615b60af78116b70afb3bfc3b154a0afbb1fb
+6015b80a13eeb90af7d1f96515f40a0efb1e81bb5bb4f80bace4eab6bd12afde4bd8
+5ae9d6e956d9133800f7d5f92e15f40a1339007d3015d80a133880f73d16d80a137c
+40b4fbea15750adafb381513ba40760a137c40770a0eef89acf766b5f80b77cbf346
+b712f7c6f313ecf84df9a115835fde8b0597969c97928793811ffb8f5f1594b7378b
+057f817980848e83941fd5fc5a154a0afbb1fb60154b0af72bf9371513f4f7000a0e
+fb1e81bb5bb4f80bacf700ef9dbd12afde4bd8adefa6d9133980f7d6f92d15f40af7
+57fc4415d40a137d80d50adafb381513bb80760a137d80770afb11f8bb15f7010a0e
+f7a289ac6cb2f777b29db1f788b36cacedbd12f841dff74aacb2ac9bae1333e0f92d
+f97d15f40afb3efc4c15bb0afb4b0413b3e0bc0a1373e0bd0a13b3e0f7560a137be0
+bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee781bc5ab5f74baef730acdabd12b2d3
+4ed4f743d4f75dd7133980f85cf89a15f40aacfb1a15f7570a137d80f7580a13bb80
+f7590aacfb3d15dd0a137d80de0ad5b115df0a0ee581aff713b3d3aff7d5af12b0eb
+f821e063ac13fcf80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf753
+1ff70a8be8a4cfc5809486938b9608bfc407ff000c4ccc8dff000ab334ff000fcccd
+8bff000999998bff0004cccdfffffc4cccff00068000fffff6b334ff00014ccd0848
+a3068bff002333339cff0009cccda88e91918ba38591738a728a638bffffde80008b
+ffffd180008c5f8c85858b739185ff0036e666fffffbccccff001b199afffffc4cce
+8bffffd7e666087323077ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908f7053206696b4885558b08fb3237f73df718f743ff00718000
+f70cff007480001f13faf7258bb438a535ff000b4cccffffff4cccff000a66688dff
+000b4cccff0004b334fffffd8000b5fffffb8000b37bd3084f9566aefb038b080e2c
+fb82b0d5b3d3c455c8e2aaf785aa75b812c7dd41c0f75adbff0011e666ff0037199a
+13cd60f7d3f7ab15820af711f70015f7110a13cb60f7120a13dd60f7130a13d8e06f
+737b608b698b679f6fa57effffd94ccdffffe9199affffe6b333ffffe1e666fffff4
+b3336c08ffffe94ccd067ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908a406ff0001e666ffffab6666dcffffe5999aff004c199a8bff
+006ab3348bff00719998ff0028999aff002ae668ff0046666608ff0026cccc06ff00
+0c4ccc8dff000ab334ff000fcccd8bff000999998bff0004cccdfffffc4cccff0006
+8000fffff6b334ff00014ccd08ffffdee66606ff00016666ff0007199aff0000b334
+ff000766668bff000780008bab7ca46ea364ab458c668b798b728973880813eae0f7
+150affffe4e666fc6e15fffec4666806ff00013334a5ff00058000ff0016199aa3ff
+001ce66696889b89988b0813d860aa8ba78e998bbd8bb58aa87bb0ffffeb3334ff00
+0cb334fffff24cccff00013332ffffe8800008fffff633346315ffffe3b332ffffcf
+6666ffffabccceffffe6999affffb666668bffffe066668bffffbb4ccdff00166666
+ffffefcccdff0033999a080ee581aff783aff7d5afc77612b0ebf821e063ac13f8f7
+eaf94d15f7020aae6415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2
+aaf785aa75b8f7517712abd062dd41c0f75adb9dc2139230f757f89015f7030af710
+fb79152e5c78661e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf8
+2115f7110a1396b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a
+0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f7d9f94d15f7020a
+fb1afcd3155b0a0e3889acf803acf766a98576c17712e1da13dcf7b2f91815f7030a
+fb5cfc9e158b388087538785858b769185ac8cad8cb38bae8bac8aa28a91918ba085
+91628f808f8bde08ff0056e66607ff00133333ffffff8000ff000e199afffffe8000
+ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6667b08d42905ff00
+1d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff44ccdff00004ccc88
+ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591698fffffe6b334ff
+00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff00048000fffffc99
+9aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91918ba08591748a6f8a
+678b658b668c748c85858b769185c387ffffe84cccffffdcb334fffff6b334fffff4
+4ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef999affffe51999ffff
+f43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92878e821e13ec7281
+407d638889838d7b9185bf8897908b37080ef6fb5cb1f72caff8e8af01b0ebf75dc9
+f742eb03f8a8fb1b15f75a0afb5df98915640a0e30fb5cb1f72caef80fae01b4e1c4
+c9f717e103f812fb1b15f75b0afb24f8af158b0a0ef6fb5cb1f72caff8e8afc2bd01
+b0ebf75dc9f742eb03f85cf95d15f40af7c0fde415f75a0afb5df98915640a0e30fb
+5cb1f72caef80faedabd01b4e1c4c9f717e103f7fbf89a15f40af78bfd2115f75b0a
+fb24f8af158b0a0e98fb67b0f99fb3d47601cba5f815e403f7a7f94d15f7020afb00
+5715f74b0a0efb47fb7faef7c3adf796ad12b3a573d7f756dc13e4f740f88815f703
+0a5efc1d159c7c059d8fa992968b08d9aa6326fb004655591f13ec638b70b183a183
+a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba69196
+8b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108720613f4f75c0a0efb
+d7fb73b7f8c8a7a877f77a7701f705da03f705f7d115f71a0a92f75415f7030a0ef9
+4a89adf8ceb66bad917712f5e0f807ebe3a913ae1c04d48915f7380a13cef7390a13
+9e710a13cef74d0afea9e115f8740713aeaeae99bcf76cd2fb43fb2efb5efb0d59fb
+2129809fab1e13ce60f8c51513ae520a0ef89489adf7fcb09577f756ad12f5e0f807
+ebd6ac13bef986f84b15f74e0a13def74f0afcc7fbf715510a60f8c515520a0ef7be
+81ba66ad87a6f7e3b072aef75ea9a67712b2e1f770daf6ac130fc0f8bcf84b15f74e
+0a1357c0f7510afb63fbcf15f7050a138fc0f7060a80fffef84ccc157c0a132fc07d
+0a1387c07e0a0ee581aff783aff7d5afc87612b0ebf821e063ac13f8f841f9c815b1
+0a57fb3615f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b812abd062dd41c0f75adb9dc2139060f7aff93315d60aaffc1c152e5c78661e1399
+60f70e0afb4ffbb51513d260f70f0a13b260f7100af7ccf82115f7110a139560f712
+0a13b960f7130a13b0e0830a13b260f7140a13d4e0f7150a0ef7c581ba64a8f7bab5
+90d5f744a812f5dcf7dadcf772b013bff895f7181530ca58f3dbe8d7f74bf70c6dd4
+46707d78791e8b6caa86968aa886ab6d8b2b08294e25405c64a6cc1ef851078ba7ff
+000eb334ff000ae668ff00284cccff0003199808a58d0590ff000066688eff000299
+988b90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd666890ffff
+ff999808a58905ff00274ccc88ff000eb334828b6d08fb67fbdaf767078ba7ff000e
+cccdff000ae668ff00283333ff0003199808a58d0590ff000066688eff000299988b
+90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd4ccc8fffffffb3
+3408a68905ff0025cccdfffffd3334ff00103333fffff6cccc8b6d08fc8a078b6fff
+fff2cccd7fffffd733338808137f70890587ffffffb33388fffffd4ccd8b86088b78
+8d89058be88daeb3e1898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08718d
+05ffffd84ccdff0003199afffff0b333ff0008e6668baa08f78df7da070e54fb6176
+f9d7bc01dadcf792e503f7d6f8f515d0a248fb111f8bfb18fb16fb07fb102308f84a
+07d5d5b6aab88b08fb364d15cc8eaf8b1e92878e821effffe6e66681ffffb4999a7e
+ffffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08ab
+89059f957e4a1ffd1d078b6a81796d8208778505868a8a888c86089272f71fb08bf7
+6605f744f71bf73cf7218bf7348bf70165e7fb0d8b4b8b4b535254080ef3967693ac
+f8dbacd27612f1bcf829bc133cf7b9f9c515cd0af722fb7115ca0a137ccb0a13bccc
+0a0e5689acf7f6a771bf12ebdaf760da1398f7a3f93315740afb31fb4f15e70a13d8
+e80a13b8e90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001d199aff000dccccff0014b334ff001ce668ff
+0000ccccff001fccccff00068000ff0001e668ff0007ccccff0002e664ff0009b334
+ff0004333408f724c505fffff34cccff00154cccffffeb4cccff00116668ffffe366
+68ff000d4ccc08ffff8cccccffffb0199805fffff1199aff001c6668ffffe1199aff
+001380006a8b5d8b61648b5d8bffffdb3334ff001accccffffdfccccff00224cceff
+fff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff
+0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0efb1e81bb5b
+b4f80bacc5abf5ab12afde4bd881b3ebb386d9133980f766f90f15d90a335615da0a
+137c40f73ffbf115750adafb381513ba40760a137d40770affffc36666ff030e3334
+15ffffc3999affff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bff
+fff5e6688bfffff9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00
+066666ff0003999897ff000d800008e7ff0062199cfffffd999aff0009e66405ffff
+ed999aff0013ccccffffeb7fffff0000e668fffffae6678b878bfffffb3333ffffff
+1998fffffd9999ffffff199c080ef7a289ac6cb2f777b29db1f788b36cacd47612f8
+41dff74aacb2ac9bae1333e0f8fef9c915f75d0afbeffc9815bb0afb4b0413b3e0bc
+0a1373e0bd0a13b3e0f7560a137be0bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee7
+81bc5ab5f74baef730ac12b2d34ed4f743d4f75dd71333f82bf93315f75e0afb22fb
+b315f7570a137bf7580a13b7f7590aacfb3d15dd0a137bde0ad5b115df0a0ef681af
+f8e8afc87601b0ebf849eb03f81cf9c815b10afbb0fdd515cf0af773f90f15d00af7
+57ffff894ccc15d10a0e3081aef80fae01b4e1f78ee103f7b5f93315a30af711fb6d
+15ee0afb445915ef0aff0073cccc3715f00a0eef89acf766b5f80b7701f756f9a315
+f75f0af7179015f7600a4dfc8d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+627712afde4bd8f735d91336e1f91915f7610af71c9115f7620ad2fc3615d40a137a
+d50adafb381513b6760a137a770a0eef89acf766b5f80b77d576c8bf01f775a7f76c
+a703f775f94715f7630ab1fc2c154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+29c412afde4bd85aa6f74bd95ea6133280f7daf88615f7640a1379006afb9d15750a
+dafb381513b500760a137900770a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aac
+b2ac9bae132780f727f9a715f7650af7179015f7600a8efc431530f74806133780c4
+0a13af80540a136780550a13a780c50a137780c60a0efb2881bcf765adf70eacf76b
+7701b0dff75be103e8f92015f7610af71c9115f7620a22fc0c157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccc76c8bf12f4e060a7f759ac7da7a4ac9bae1326
+b8f727f94715f7660af71afbde1513371830f74806b7979fc11ed606d68b9b63a146
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47ceb
+89938b8d8a8c888b7a88838a738b08133698fb930613af58540a136758550a13a758
+c50a137758c60a0efb2881bcf765adf70eacf72cc412b0df6da6f75ee143a613f5f7
+e2f88715f7640afb66fb6d15e20a13f2e30adcfb5415e40a13fae50a0efbbe89acf8
+dbacc87601f5e003f9ae048b828e848f8708ee37058d898e8a8e8b908b93908b938b
+8efffffecccdff00036668fffffd8000ff0004999808ffffc4b333f701058693848f
+808b6e8b7fffffea33348bffffefcccc08f7179015f7670ac7fd3915590a0efbd889
+acf7f6a7a87701f1da0378f93b15f7610af71c9115ffffe08000fffff58000ffffe9
+ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002
+cccdff000a66688bff000299988b8c8b8dfffffeb3338e08ffffc14ccdf723058794
+8390808b08cbfcc715e60a0efbbe89acf8dbaccb76c8bf0197a7cde0cca70397f946
+15f7630af747fccc15590a0efbd889acf7f6a7a877f73ac401ff00064ccdff00184c
+cdff00476666dab7ff00184ccd03f775f88615ff00184ccd9705fffff36667e0ffff
+d2199abd4c8bffffcae6668bffffc666675afffff533333508ff00184ccd7f0594c5
+ff00296666abff002ecccd8bff003099998bff0026b33466ff0009e66656085ffc0c
+15e60a0ef681aff8e8af01b0ebf849eb03f74af9a715f75f0af7179015f7600a9dfb
+3e15640af7e3fbb915650a0e3081aef80faef7697701b4e1f78ee103f708f92015f7
+610af71c9115f7620afb67fc59158a0af759f75b158b0a0ef681aff8e8afc176c8bf
+01b0ebdaa7f76ca7e1eb03f768f94715f7630af70b4615640af7e3fbb915650a0e30
+81aef80faef729c412b4e175a6f76ca68de113eef7f0f88615f7640a13f6fbc7fbb9
+15ed0af759f75b158b0a0e8381aa74acf798adf7b9adc67612f3e0f76ce7133eeff9
+ac15f7680af7179015f7670ab4fb4715670a38fc8415680a13be690a137e6a0a0efb
+7389acf7eec955a7f7847712efda1398d2f92115f7610af71c9115f7620a6cfbc115
+f7230a13b8f7240a13d8f7250a0e8381aa74acf798adf7b9adc776c8bf12f3e062a7
+f76ca77ce7133d80f728f94715f7660af7104215133e40670a38fc8415680a13be40
+690a137e406a0a0efb7389acf7eec955a7f743c412cda692daf716a6139ef7c9f886
+15f7640afb19fb2015f7230a13bef7240a13def7250a0ecd81b4f8dbac01e2e0f7f6
+bc03f750f99d15f75f0af7179015f7600afb27fb97156b0a0e4b81ba84a6f7e9acf7
+717712e3daf758da133cf705f92015f7610af71c9115f7620a13bc6bfd3015f10a13
+7cf20a13bcf30a0ecd81b4f8dbaccc76c8bf01e2e0b4a7f76ca7b4bc03f769f94715
+f7630a62fb3c156b0a0e4b81ba84a6f7e9acf731c412e3da58a6f76ca674da1336f7
+fbf88615f7640a13b9fb22fc9015f10a1379f20a13b9f30a0efb02fb76a3daddaaaf
+f8eaad12a6ff00208000fffff78000ff00476666ff0085999ab2ccdf4bff00208000
+13f700ff018ab334f90b15f7690a13fb00f7280a13f680f76a0affff5e4cccfd3415
+f7160a0efb61fb76a3daddaaac8976f82aac12bbaa7ad2d7b2a5d755ab13c900f74e
+6215f7160a13dd80fb1ef74715f72a0a13eb80f72b0a13eb40f72c0a13ed80f72d0a
+0e8dfb76a3daddb2acf86ef7285cb2128eadf778e06bb2f75cad13e580f7bb6215f7
+160a13ee80c2f73715f76b0a13f680f72e0a13ee80f72f0a13f680f7300a13ee80f7
+6c0a0efbabfb76a3daddaac2f7edb201e4daa5b203f73f6215f7160afb14f86a158e
+0a0efb08f803a9f777ad12d6a386dbf717cf74e413d4f718fb25159da39ca21f8b91
+869a8b988baea3a4c09af706acdada8be68bf70654cefb009e0813e8a898cfb68bd5
+8be631a95c8b458b547f6f8b0883fb14a3890594cdbab5c18b08b3c3773e52404245
+1f906d0513d4ebe464fb0c1f8b445e444571256564478b6608709e7c9e1e0efb68fb
+6476f82aa4f762ad12ada08dcff705ca6fd513fae4fb79159f9b9ca21f8b9289948b
+988baea89fbf9dbc9ce9b98bf68bcf60c3409c0813fc9d96c1b48bc78bd03ab05c8b
+458b697f708b0883fb09a0890594cda5aacb8bb28bb8738b518b5d5c4a3d7e087207
+978d958d958b0813fabbdb80261f8b4c6a655c783c6b52408b67086fa184951e0ef7
+1b89acf7b6b5f78facd27601f5e0f7eae003f8fef70e15580afbbcf8d315f7020a0e
+5289acf7f8bff75ea98576c17712e3daf766da13def7a5f91815f7030a21fffe99e6
+6615f76d0a13eef76e0a0e93fb7ea8f75fa8f8d2c454a812eadcf7a4db13ecf8a4f8
+4215ea89f719fb1e1effffcccccc8bffffbce668ffffde8000ffffa24cccffffa880
+00089107cc8eb38b1e92878e821e13dcffffe6e66681ffffb4999a7effffd7800088
+088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc0813ecab89059f95
+7e4a1ffc57078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ff
+ffff999a89fffffd66668b86088b788c89058bd78daeb2d7898b1e8d8d8b9e058b90
+87ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccdff000b
+33338ba808ff01a4333407ff0057999aff00523334ff00344cccff001a9998ff002e
+199a8b08cba157fb341ffcb7078b6efffff56666fffff5199affffdf999afffffbe6
+660873880586ffffff666689fffffd999a8b86088b788c89058bd18dafb2dc898b1e
+8d8d8b9e058b9087ff0002800087ff0000800008738e05ffffe16668ff0003cccdff
+fff39998ff000b33338ba8080eb472b86db5f4a5f785aef7977712add9f778d6f746
+a3137ff782f82815ba8bac78a16308fba00773706c79678b085a33b8f72c1fd9a4ec
+f01e13bff793fc14157f8b808c808da8c3abc5b08b08a2987e761f594b6a671e3df8
+c715cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d7305
+8b88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb2b07
+67a35f8e778b0839fb1054fb411f137f23ccfb09f7101eba8bb19fabac9662a680aa
+82776b7a6b786908a482c6f10513bf928a968a8f8b08ded6b9e3ab79a15e1f568b57
+217c7008788bbfb21f0e627fadf8f6a593a412bad154dcf797d557dd13f2f709f72a
+158bd3d9c2c0aee065e6618b32085a7743fb191e5ffb02a3f31f13ecf7b1f812158b
+416970435940ae3db88bc508c0b8c7c71ea5072438482f1f8b39d55dd6640813f264
+80fb114f8b2008fb15f70b66eff743ccecdf1e8bf702fb00be47a90813ec978ff71a
+c38bf70808c065f1fb381e7207cec8513f1f0efb137fa5f9127712b4cb5dcef766c7
+67cf13e4f77d99153e58c7db1f8bb2a1b6b9b808b3b105df4cca5b8b48084b714c26
+1e13d8f2f898158b3c3f5184878b8bfb13dd8bce8b9a8db1b4ac0876a405697c5465
+8b3c8b32d35cbf600813e44a6e3e388b3a085ba6fb01f737f70fd5d1f7091e8be738
+c54cb60813d89b91edc48bee8bd55bad6899087b7005b1668c5d8b7f080ea28bb8f8
+c4b201b9a9f86ec503f753f8f115f7968bfc24fccc05858388848b8508848e829c1e
+f80c06d5b3773b1f8b7b81737974089f8205aea8aaa88bc908b170c62a1efbdd8bf8
+16f8b605989e949a8b960891888e761efc19065b8b8e95668e87558143836208a986
+05a1d09cbdd78b080efb1f8bb2f7f3b201b3a6f7d3c403f72af81a15f7148bfb80fb
+fa05858289858b8508809b8b9d1ef75f06b2d7763b1f8b7b806f807908a08105aaa3
+a6ad8bc008bd55be461efb588bf77af7ef05949993978b910893858e801efb8c067c
+8b829289910872068a5e855f835a08a588059fd4ad9ba98b080eef89acf766b5f80b
+77cbf301f7c6f303f7c6f98615f7000a60fc6b154a0afbb1fb60154b0a0efb1e81bb
+5bb4f80bacf700ef12afde4bd8adefa6d91333f73af8eb15850af713fc0215d40a13
+7bd50adafb381513b7760a137b770a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cac
+12f4e0eec9a0acb2ac9bae13d9f0f7942b15a2957d7671767d6d1f778b808f709584
+8488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4cedf8b0513
+e9f0c50a13ddf0f70a0a13ebf0540a13d9f0f76f0a0efb28fb5ca8d6abff00364ccd
+ff0030b333f765adf70eac12b0dff721c987e113fef7792b15f7700a13fdf7710a22
+f80e157f0a0ef681aff8e8af8bebb9bd12b0eb67ebf7cdeb6beb13b4ecf95615b60a
+13b2f82d16b60a13d9fb433715ce0af7e3fbb915650affff1e4cccf86b15f7720a0e
+3081aef80faee4eab5bd12b4e185e9d6e984e113f8f7f3f92d15f40a13f4853115d8
+0a13f2f73d16d80a13f9fb8dfc0615ed0af759f75b158b0a0ef681aff8e8afff001c
+ccccff003a4cccfffff2e668b7ffffdee668ff003c800012b0ebff005e3333a2ff00
+be6667ff0016e666ff006a8000eb13d780f898f99c15825fc78b0598959d96928893
+811ffc1b5f1593b74e8b057f817980848f83941f13e780ff0114b334ff000d199815
+f7730a13cf80f7740a13e780f7750affffba4cccffff84e66815640af7e3fbb91565
+0a0e3081aef80faedcc089c2b2bd12b4e1f774a68ae113ccf7ecf92d15f40a13eef7
+4c2f15b30a13deb40a13eeb50afb9bfc0415eb0a13cdec0af759f75b158b0a0ef681
+aff8e8afb4f301b0ebf732f3f743eb03f7b7f98315f7000ab3fb1515640af7e3fbb9
+15650a0e3081aef80faef6ef01b4e1c8efe4e103f750f8ea15f7010afb27fc1d158a
+0af759f75b158b0a0ef681aff8e8afb4f340b612b0ebf732f3f743eb13def848f997
+158260dc8b0598959c96928793821ffbaa601594b6378b057f817980848e84941ff7
+1ca21513eef7000ab3fb1515640af7e3fbb915650a0e3081aef80faeceefb5bd01b4
+e1d1efdbe103f759f8c215f7010afb30fbf5158a0af759f75b158b0af70bf78815f4
+0a0e7789acf8dbacc4bd01f790e003f831f95415f40af728fcda156f0a0e3bfb7cdb
+f8baace2bd01f813f89a15f40ab8fd3a15910a0efb9772b7f70aa6f871a9a67701ea
+daf713a403f7c1ed156363646b1e7d8b838e8292ff002a8000deff000f8000a49c8b
+089a98846b1ffb62a3158b33ff002480006ea27d085dffffab8000ff001a8000ffff
+f180000596ff001c8000ff000c8000ff001c8000ff000f8000ac978698899b8b08bb
+cac2d3b5759f731fffffd380008bffffe180004affffe88000568594fffffe800097
+8be608f83d07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+080ec67fb769acf70ba6f764a771bf12ebdaf756daf739aa13aff805f7a615fb3807
+8b4baf6da87c085b369e82bae3059a869b899f8b08c5dec0d4a57cb05e1f598b6549
+6b537b9c8bab8bce08ef078bc287bb74aa7aa16c97688b5a8bffffd24ccd7effffc4
+b33347fffff9e66684fffffa6667fffffd999affffffb333ff000966668aa6fffffd
+b333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00
+036666838b081377e80a13afb1b0aea1b28b9f8ba07e97740895778d708b6d08f6fb
+7b15badca1a5a78b08a29c7d765f5464641f788b7e8f8092080efb717fb7f70aa6f7
+69b201e2daf743a703f79bf7171597979892988b08a29c7d76605563631f788b7e8f
+8092a4b6a0ab989808fb4480158b4cb061ae7d085b369e82bae3059a869b899f8b08
+c5dec0d4a47cb15f1f768b767e7b7b7778776b74617b9c84ab8bce08f76ff3079599
+8f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585ffff
+fc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666fffff6cc
+cc8bffffad199a085dffffffe666057d877f831f7e07868c8a8f1ec6060efbd7fb73
+b7f9017701f705da03f705f7d115f71a0a0ef72e81b561a7f80db768aef7977712ad
+d9f778d6f771d8139ff7e8f7ed15fba40773706c7d678b085a33b8f72cd9a4ecf01f
+ba8bac78a16308d6fbb515f7bb07136fbab1bc91958b08c8c14625fb06592f2c1f6c
+8b729877a40840f88f15fb2b07139f67a35f8e778b0839fb1054fb4123ccfb09f710
+1fba8bb19babac08589d079696969c949608136fa872af7fb68b08eef709def738f7
+0e36db351f5a8b5f76696608f75e07cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffffffcc
+cc08ab89059f957e4a1f0ef72dfb7ea8f757b75fadf805b968ae12afd7f776d666b0
+f770d913b680f89df81d15ceb842fb02357027211f7a8b678d69b408f78807a1c0be
+a8ae8b08fb00fcbe15f74107a47daa83af8b08e8f705d8f73ef647ea2b1f6c8b5181
+5e450813cd80c30797899a801e818bfffff6b334fffff4ccccfffffb4cccfffff633
+34087f72056aa960985a8b08fb0e3a28fb182fc1fb12f7241f13b680c48bab9f9a98
+08fb4c078b6ffffff4999afffff54ccdffffe06666fffffcb3330878890586ffffff
+800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff
+0002800086ff0000800008788d05ffffe0e666ff00034ccdfffff5199aff000ab333
+8ba70813ce80fb46f8c915b58bad72a65d08fba90771776889788b085133b5f72d1f
+f3b6d2db1e0eee89acf766b5f80b77c77701ff01968000ff017c199a15ff00218000
+ffff9ee666ffff9ecccc8b05ff002e199af72815ffff9ee666fb28ffffe333348b05
+758b848eff0003cccdff000a4ccc08ff00663333ff0102b334918b05ffffe13334fb
+ce15ff008ccccc8bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffff
+d93334ff00038000ffffde3334ff00034cccffffee9998ff0030333408ffff78cccc
+ff01776666ff009b3334ff00ec999a588bffff85b334ffff45999affffcb4cccff00
+926666057c8270807e8b08fb77fcac05714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8b08ff000a199a8bffffb7e666fb02be8bff00
+47cccdff006d800005ff0017e667ffffff999aff00178000ffffff6666ff0013cccd
+ffffff800091918ba08591fffff1cccd8cfffff04ccdff000133337eff0003666708
+ff0053199aff00cc666615ffff906666ffff55cccd05ff00008000ff0002999aff00
+00ccccff0002b334ff0001199aff0002e66608c2f725059098918fa38b080ebe81b4
+f8e2b0b37701b0e6f84aac03f76bff0060999a15ff011a199aff01d9e66605ff0023
+199affffe09998ff00149998ffffd58002ff000d3334ffffd466669787ff0009b334
+8eff000b4ccc9186bf84bb81c2fffff08000ff000180007cff0004ccccffffef3334
+ff0005e66808ff002b4cccff0048cccc588bffffdd4cccffffc5999805ffffe0199a
+ff0009b334ffffd7b334ff0008b334ffffc6e6668b368b446c5055ffffbd999affff
+c33334ffffd86666ffff9e19988bffff97b3348bffff9bcccdff0022e666ffffa4e6
+66ff0046cccdffffc4e66708ffff9b4ccdffff566666bd8bff0056199aff0090999a
+05ff002f8000ffffe3ccccff003b8000ffffef999aff0047e6668bec8be4b9cfe486
+948491808b443d476c2e8bffffc8e6668bffffcfcccdff00198000ffffda4ccdff00
+28199a08ffffe34ccdff00244ccc15ffffdb199aff00374ccdffffea999aff004700
+018bff0045cccc8bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff
+0031999ac8c5a7bf8bba8bff00254cccfffff68000ff001de668fffff01998080efb
+3b81bcf803ac01b0e103f818f85a15ffffddccccffffd6999a05ffffe5ccceff0010
+999a65ff0009ccccffffd066668b288b21328bfb228bffffca999aff000c6666ffff
+d14cccff00176667ffffdbcccd08ffffc33333ffffb64ccd058d7c97809b8b08ff00
+384ccdff0044999a05ff00214cceffffdfccccff002e1999ffffed999aff00394ccd
+8bc78bc09ebddd8794838f828c695f6075608bffffd6199a8b65ff00186666ffffe7
+4cccb608ff00a68000ff00cab33405ff0006999afffff98000ff00094cccfffffd66
+66ff000b33348ba08ba7988baa8bff000f6666fffffb999aff000e199afffff78000
+ff000c800008ff0024e666b805879881957a8b08ffff02cccdfbc715fffff86667ff
+00184ccdfffffbcccdff001bcccd8bff001ee6668bf702bbcdcd8bff0030e6668bff
+000de66673ff0005999affffe3cccc080e4889ac6cb2f7cfb7f76cac12f5e0f7afac
+137cf729165c0a13bc5d0a137c77436650218b084c0664799ebe1ff789f72a079895
+9d97918793821ffb34f711068bde9c90d18e91918ba085915e8affffd1199a8affff
+d9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808fb112b
+0780807a7f848f83941ff4fb7c0613bc5f0a0e8d89acf8d3b29377128eadf778e0f7
+63ad13bcf7f2f70e158bff00f1b334f71dff00e7666405ff00238000fffff2199cff
+00178000ffffe3999896ffffce3334968b998c948f84b986be8ab88b8c898d8a8bff
+fff499988affffec199cfffffeccccffffe78000fffffecccc08ff003dccccff0068
+6668588bffffc0e666ffff9566680513dcffffd98000fffffe9998ffffd6199a8aff
+ffdc80008b08350613bcf7300a13dc9fdbb9a5cd8b08bc06b095654e1f8bffff374c
+ccfb6bfffe94b334be8bf738ff0115199a8bffff9de666058b387a863b8885858b76
+9185bc8cff0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba0
+8591083b8e7a908bde08ff0147e66604ff0036199a07cb95b1af1ea106ff00084ccc
+8bff0007e668ffffffb334ff00079998ffffff4ccc080efb61fb41a6f71cac8976f8
+2aac12bbaa7ad2f721d740ce5dab13b900bbf71e158f5a8e5c8b61958d958c908b92
+8b918b9289ff0001199affffffb3338cffffffcccdff00011999ffffffb33308ffff
+ffcccdfffffecccd05ab86926ea055a058ae6ab68ba38b9d919f97969392968b958b
+928995869186918191848b08848b8288868584848580877e87818686818b738b7998
+70d1fffff8999aff0011cccdfffffaccccff0012cccdfffff5999aff001133330813
+d600ff00086666ffffff800094ffffffb333ff0009999a8bc38bf2a68bee8bff0044
+4ccd5aff0027b33347ff00193333ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8b0813d480f72c0a13da00f72d0a0efb3ffb64b1f75376f81fad95
+7712bdac13e8c7168b8bff0019e666ff00006666ff00126667ff0000199a08ffffff
+b333ffffff80008e8bff00004ccdff0000800005ff000f999aff0000199a93ffffff
+e666ffffe8199affffff8000089306a18ba0799e6808b243059a6f9b77997f9e7ca1
+83a78b08c1a79db0a28097761f7e8b7f827f7a7f798083818b768b75a074b60864d3
+0574ff002a199affffe64ccdff00151999ffffe2b333ff0001b333ff0000b3338cff
+0000999aff0001199aff0000b3338cd5e9f3f731c9f1ff000f4cccff00193334ff00
+02b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613d8ffffdfe6668b
+fffff6999aff0006999affffee8000ff00036666fffffd999a8bfffffc6666fffffc
+66668bfffffd999a8a5e8568835aff0008ccccfffffc4cccff000c999afffffe199a
+ff000b999aff0002999a9fd4aaff00114ccca9ff0000b3340813e8f7148e0547fb06
+27fb243d22fffff76666fffff46666ffffff999afffffc999a8b86088493869a1e0e
+fb1e89acf85776f733b10195e7d3e0e0da03f797f70e15db078bff00456666ff002b
+4cccff0024e666ff002a199aff0026b334ff0027ccceff0024b334ff0026ccccff00
+264ccc8bd008e83fd5fb162afb025c236fa379a0b09da4a31e8b98839d8b9c8b968e
+969695a5a1b193b48b08f29f435d527623fb291ffb70078b397a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080efb3689aaf80cad
+01a6e1bcdad0d403f785f7051597078ba0ff0024e666ff00186666ff00206666ff00
+12999aff0029b334a3aaff002b66668bff0038999a08e134b32d37305c55739f7ba3
+a49d9ca11e8b918a918b9208b4b993b7dca55b601e8b5e6a4bfb07850834078b3f7b
+874a88888889858b858b858d848e88b98cff001bcccd8cff002f33338bff002ecccd
+8bff001b33338ab98a8e8e8c928b91088b918a91888e4a8e7b8f8bd8080e8489acf7
+16b7f713adf78bad12f5e0f76cdc69e813fcf753f8ba154c0a60f7ab15ffffdc4ccd
+8bffffc9b3338c648c85858b769185d1889c868b3808fbd2fb0d0780807a7f848f83
+941ff71664068b387a86458885858b769185b28cff0035e6668cff0025199a8bff00
+23b3338bff001a4ccd89df8b0813faf75bc0efe11f8beb48c234a4088d0713fc4f0a
+b6fc7815f7110698959d97918793821ffb1bf713d00613fa4d0a0ecd81b4f7b7b7f7
+8cac01e2e0f7f6bc03e2f7d6153207fb60ff0083800064ff00668000f761bcf713f7
+461ea6be0798959d97918793821f4ef731068bff00504ccc9cff0003b334c7929191
+8ba08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c8585
+8b769185d6849c888b3a08fb31fbf6f731078bde9a90d88e91918ba085915c8affff
+cf66668affffd8999a8b648b628c648c85858b769185c7889c868b3808fb31570780
+807a7f848f83941ff888165e07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc08c3070eca89acf9067701f761aa15f7760a0e
+65937698b2f7b0b1f788b36cac967712f4e0f74aacb2ac9bae13a3c0937e15ff0009
+6666ff000b999aff0000999affffff6666051367c0b08cc78cac8b08f76b06bbdb89
+8b1f99bd9acd93befffff5999891fffff48002ff00023333fffff2e666fffffccccd
+774368503f8b08fb0806617d9bba1f8bff006dcccde5ff006f33338c8b05e08b8e74
+8e5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b8585
+fffffd6666ffffd08000fffffd8000ffffefccccffffc8999afffffc800008ff007d
+999aff009b333405ff00024cccfffff94cccff00024cce84ff00024cccfffff8b334
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b334fffffe4c
+cc99fffffd199aff00148000fffffce666ff0015333408ff0039b334ff00474ccc05
+fffffdb334ff000ee668fffff14cccff000f1998788b08ffffe0999affffd9666805
+fffffdb332ff000e1998fffffe4cceff000a1998ffffff6666ff000266688b8d8a8c
+888b081333c07a88838a738b08fb930613abc0ffffe180008bffffc580008c638c85
+858b769185d1889c868b38088bfffeabccccfb19ffff5c3333058e7c997a9e8b08b0
+ff002d999a15ff003bcccdff0049e66605fffffe199affffc64ccc7dfffff3e667ff
+ffd4199afffffbe66708ff00ade666ff0122666615ffffe3199affffdc66668bff00
+23999a05ff00e1b334ff00f2333415ffff5a1999ffff33ccccffffc433338b8bf748
+051333c0b7979fc11ed606ff002c66668bff0017ccce7dff00108000ffffe6333408
+0efb2881bcff00cfe666b1ff0077199aac01b0df03f818f85a15ffffd8b334ffffd0
+4ccc05ffffe680009e67ff000bb334ffffcdcccc8b348bfb05388bfb2c8bffffcf99
+9aff000a6666ffffd11999ff00183334ffffdb999a08ffffc46666ffffb7b333058d
+7c97809b8b08ff00378000ff0043999a05ff0020b333ffffe0b333ff002be667ffff
+edb333ff003ee6668bd78bc1aeb3bf889585907f8c66656e7b518bffffdc80008bff
+ffd6cccdff00146666ffffe11999ff0031666708ff00716666ff008a1999ff007733
+34ffffff199a05979291961f8bff0028b334fffff8e666ff002a3332ffffe8e666ff
+0020999a08ff002b3334ff0034800005879881957a8b08ffffbbb334ffff70199a15
+ff00003332fffffc6666ff0000199afffffc4ccc8bfffffc33348b8287fffffb3334
+80ffffffcccc0885ffffffe66605ff000a4cccff0049b33415ffffc2999affffb580
+00ffff84199afffffde666059ef705d194a38bff001a999a8bff001e199afffff5b3
+34ff000f9998ffffdce66608ffff528001ffff2d999915fffff68001ff001bb332ff
+fffab333ff002166678bff0026b33308ff00608000ffffff4ccd050efb53fb40b8f7
+f9b7f7e8ac01f753e003f753f77a15fb2907fb48576f6a1effffece6668bfffff1cc
+cdff000bcccd84ff000eb33385ff000cb333fffff73333ff000ccccdffffe7199a8b
+087d6d767567c079a11fb88baa93b4aeff002bb333ff00254ccdff003a4ccdff0033
+b3338bf72308f713e50798959d97918793821f27f78d068bde9c90c78e91918ba085
+91658affffd4b3348affffd94ccc8bffffdbb3338bffffcb4ccd8c598c85858b7691
+85db889c868b3808fb8d2b0780807a7f848f83941f0efbd7fb73b7f806b2f72fa7a8
+77f711ef12eeef35da13fceef8eb15850a13fa99fbae15343f0782817c81858e8393
+1fdffb0706fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108dccd0797949a96908893821f40e606bd8fcb8b1e
+8f868e831e6f806382468289858d7b8d8508c18696858b52080ed4fb54acf729adf8
+ecad01afe7f7eddce4dd03f7e2f90415c08bb978b367088bfc488b43056c72697f62
+8b08fb17fb00f703f754f766f702e2eb1fff008b8000fcf815ff00068000ffff604c
+cdff00431998ffffd3b333ff003ae6688b08e2abb9aba27e99751f6f8b7d79867585
+7586776c8b086d7aa7f7341f8baa8bd48bf8940595888e7f1e808176787a8560a259
+97598b08fb47fb18fb2cfb58fb59f720fb0ff7401fff002db3348bff002a3332ff00
+078000ff0025999aff000e8000080e37fb50abf726b7f807ad01aee1f775dae2db03
+f7d6ff01706666159fffffe9999a8ffffff1199a8bffffe7e666088bfb468b57058b
+798a867efffff93333ffffe8999afffff3e667ffffe53332fffffee666fffff03334
+8b085134b5f72bf3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ff
+ffe7800008ff00183334fffea3b33415ff00041998ffff5c1999ff00438000ffffd3
+cccdff003a33348b08e0aab8aaa17e99761f708b7d798676857686776d8b086e7aa7
+f7301f8be88b938bf7b405998796801e848bfffffa199afffff84cccfffff7e666ff
+fff4b3347e7987887fff0007ccccffffe06666ff0014800064ff0008b334ffffd599
+9a8b08fb0e3127fb182ecafb10f7241fff002ce6668bff001fccceff000ccccdff00
+1b8000ff00114ccd080e8381aa74acf798b2f7b4ad12f3e0f76ce7133cf7a4f8fe15
+670a38fc8415680a13bcff001cb334ffffd16666ff002b4cccffffd5999ac78b9a8b
+9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff0021999a
+71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b6184
+678b688b5c8c5c8c85858b76918508d1889c868b3808fb55480782817c81858e8393
+1fd6fb3d06137c6a0a0efb7389acf75cb2f6c955a712efda13d8f744f7fa15fffffe
+4ccdb3fffffe6666ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999aff
+fffe199aff00036666838b6f807182468289858d7b8d85c18696868b51085c4c0782
+817c81858e83931fd2fb01068b387f874d8785858b769185ae8cb28cb38bb38bb98a
+ae8a91918ba0859145907f8e8bde08f701ee0797949a96908893821fffff94800006
+ff00024ccdff00164cccff000a9999ff0013ccceff000a999aff000fe6660813e896
+9ba2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334
+fffff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f74
+64088580fffffb333393ffffffcccd90080e7789acf856b7e4ac01f790e003f7e5f7
+0e15ff0087b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a
+08ff00514cccf727ff003233348b0598959d97918793821fffffdc33348bff000dcc
+cca405a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b
+8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea
+9998ffffd7999808ffffece66867ffff2db3328bffffeccccdff0021cccc05ffffe7
+ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a8c6d8c85
+858c769185b588ff00113333fffffa1998ff00228000ffffc5e668089875ffffe44c
+cd8b0580807a7f848f83941fff003ee6668bff005c199afb2f05ff00118000ffffe2
+8000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff00
+3466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a90
+8bde08ff00366666f7fb15ffffbb999afb150583fffff0ccccfffffb3334ff00014c
+ce82ff000fe66608ffffb81999f713050e3bfb7cdbf813b2f714ac01f760fb3415ff
+000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999aff0037999a
+ff0086199aff0026999aff005a8000ff0023e666ff0050666608ff0052e666069794
+9a96908893821fffffb5999a06ff0009b332ff00156666ff0009b334ff0015199a95
+ff00158000ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba0859177
+8a748a6f8b6d8b6c8c6d8c85858b76918508ff001f999a88ff00206666857b6708ff
+ffdc199a38fb298bffffe51999ca05ffffedffffff002a3334fffffacccdff001280
+00c3ff00044ccc91918ba08591668a638a678b698b708c778c85858b769185ff0027
+b333869882ff001a33334e08ff0016cccc56ffffb94ccd8b0582817c81858e83931f
+ff005f80008bff00498000fb3f05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb08ff00843334f81b15ffffd199982005
+84ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffd2cccdf505
+0efb1e81acf804bb62b412e6d9f735d84bde13b4f73df75815f718078b9891929391
+a5a0ada2a78bbd8ba1638b6c8b5e765d4178083cf7381513d885aafffff56666a6ff
+ffcd999a8bffffd9b3338b677affffeb4ccd77ff0001b333fffff3b3348ffffff799
+98ff000b4ccdfffff9b334ff00078000ff00063334ff0010ccccff0009ccccff000c
+b3348b08a88c645d1ffb2707fb22d970d4dddec1c4a37f97746e79767e1e8b848c84
+8d878c888c858b80086c618065695c9cf7051e8b928e8f8e8c08e1a00513b4eba3d0
+c08bcf8bdd53a5458bffffdd33348bffffe1cccc835f6908777b050e3781b7f807ad
+01aee1f775da03f7d6ff01706666158d0aadfffeaa199a15ff000a999affffedcccd
+ff0013ccccffffedb333ff0025999a8b08bcafb390928295871ffffffa33348bffff
+f619987bfffff0b3348b08648ab3b81ff7bc07998796801e848bfffffa199afffff8
+4cccfffff7e666fffff4b3347e7987887fff0007ccccffffe06666ff0014800064ff
+0008b334ffffd5999a8b08fb0e3127fb182ecafb10f7241fff00324ccc8bff0021e6
+68ff0010199aff001dccccff00146666080e4782adf807b701e9daf775e103f759ff
+003d999a1577ff0016666687ff000ee6668bff0018199a08f77a078b9d8c9098ff00
+06ccccff00176666ff000c199aff0024cccdff0001199aff000fcccd8b08c5d859fb
+192361373b1fffffe1999a8bffffe54cccff000c199affffea199aff001880000869
+ff0155e66615fffff56666ff00123334ffffec3334ff00124cccffffda66668b085a
+6763868494818f1fff0005cccd8bff000433339ba08b08b28c635e1ffbbc077d8f80
+961e928bff0005e666ff0007b333ff0008199aff000b4ccd989d8f8e97fffff83333
+ff001f999affffeb8000bcfffff74ccdff002a66668b08f70edbff007ae666ff0077
+199af7134cdbfb241fffffcdb3338bffffde199affffefe666ffffe23333ffffeb99
+9a080e2581adf807b7f775ad01d9daf769e103f742f7ff15780a7af71015f72db9a3
+ac1ea98b9b7f99689379997fa08b9f8b9b9c8ba18b9c829d769b719d718e658b0837
+2e42fb311ffc21078b64ff00003333fffff5cccdfffffbcccdffffea333390839087
+978bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff00
+0a4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00
+234ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6ffffff9
+b333fffffa4cccfffffc4ccdff0001b3348b94080efb3681acf803bc01b1e2f74de1
+03aef7e6158f829387948aadb7b6a1b68b08d4c841fb09fb025b49491f508b83ae87
+ae88a67d94768b08766f7e6c54c463ebeef5e4f722f71543e4fb121f4f8b56785939
+080efb3f81bcf711a4f76dac12b0e1f74ee572ac13f4f80af71515f7770aac98158b
+ff0011b333fffff96666ff000de667fffff4999aff00076666fffff58000ff0006cc
+cdfffff16666ff00013333fffff2199a8bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce8bd6b8dfd28b0813f8c18b986f8e6dff0002b3
+34ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f
+8b33ae3bd962776a786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788
+a88b988bd38becc18bed080e2ffb50abf726baf803aef760a8a57701b2e0f76fd6e6
+db03ff0158b334fffff6e6661596fb20ff003eccccffffd9199aff003680008b08e0
+aab8aaa17e99761f708b7d798676857686776d8b086e76a9f72e1f8be38b988bf85a
+05cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d73058b
+88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb260774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0087407
+8bfffff68000ff00003334fffff6e666ff00006666fffff74ccd08ffffff6666ffff
+eb4ccd05f7210468075e676476718b558b54c68bf7118bd398b39aa0aabab58e9f8b
+ba8ba676a365080e5481baf803aef775ad01b2e0f76fd6f5dc03f7ebf871154f0774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0088d8a
+8945a28b05a19db798c9960888a25b9005ffffea999aff00023333fffffc6666ff00
+05cccd8bbd08f7fa07f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b
+9c809b7c98779d7597628b0848354cfb321ffc13045e676476718b558b54c68bf711
+8bd398b39aa0aabab58e9f8bba8ba676a365080efb3c7fbcf767b2f709ac01b0e1f7
+59e203f7d1f7b315fb47890581869094dfc3a0b11fa38bc4879efb0508fb98fb5315
+7f8a83838881b357b066d78b08ff006d3334ff006eccccff00644ccdff007bb333f7
+323bce27fb1f583137809285971ff79c8d05ffff66cccdffffb6b333ffffc63333ff
+ffc94ccd1e518b63a066b1080efb2883acf70eadf765bc01bbe1f758e203f7def727
+15f7540a3af75415f7550a0e8781acf807bb01bbd8f752df03ff011ee666ff014b66
+6615ffff93999affffc9199affff7d8000ffffb666668bffff9d199a085aa54af704
+f73db7f71df7011e8bff0024b334fffff88000ff00224cccfffff1ccccff001db334
+ff00186668ff00114cccff00219998ff0014199aff0014999aff00073332fffffc66
+66fffff66668ffffff4cceffffefb332ff0002199afffff23334ff00069998ffffd3
+8000ff0017e668fffff54cccff000fccccff00026666ff0019b334ff0003ccce9fff
+000f199aff002b3334ff002acccc08fffff23330ff001233340577fffff0e666ffff
+f5e668fffff96666ffffea3334fffffcccccffffed3332fffffd3334fffff8999a9a
+fffffcccccff0015ccccfffffab334ff0023999aff000bb334a3ff000d1998ff001b
+333408fffff08000ff0008e66605ffffdb6668ffffd74ccc57ffffdd8000ffffcc66
+666effffde999aff002c999affffcbe666ff001c199affffbde6668b498b3a546858
+ff00024ccdfffff74cccff0004b333fffffab3349689b3b2beaebb8bff00184ccd8b
+bdfffff6199aff001f9999ffffcb4ccc08ff0010999affffda333415ff0007333474
+ff00044cccffffe3cccc8bffffdd999a08fb2c486a5c5c6eabc21e8bff0048999aff
+00538000ff00388000eaff00368000080efb5a81b1f74aacf737ac12b7da4fd2f723
+d513f4f70ff70d15f7780a13ecf7790a13f4f77a0a0efb5b81b0f745b2f73ba812f7
+9bd250d913e8f7a7f7041556656b501e5c8b659b64a6fffff8800087fffff96666ff
+fff94cccfffffe199afffff6b334ac6cc16eca8bf71e8ba6d58bc40813f08ba28bc0
+31a9088d07ff002e4cccff00134ccdff0018b334ff00237fff8bff002b333408b36a
+d3fb0b3e4967676e9e83971ea18b969b949c97a1a4a4b28b08abb66e4b4e6779601f
+8a8b5f90858b087980857f7f9382a11f938bae90938b08c3ad62531f0efb2981b0f7
+45b2f73ba8ff00a919987712f79bd250d9ffffc4e666ff0011ccce13f8ff00cf999a
+ff01b6333415ff0000b333ffffff800005fffff7b334ff0000ccccfffff74ccdff00
+008000fffff6b3338b083e4967676e9e83971fa18b969b949c97a1a4a4b28b08abb6
+6e4b4e6779601f8a8b5f90858b087980857f7f9382a11f938bae90938b0813f4c3ad
+625356656b501f5c8b659b64a6fffff8800087fffff96666fffff94cccfffffe199a
+fffff6b334ac6cc16eca8bf71e8ba6d58bc40813f88ba28bc031a9088d07ff002e4c
+ccff00134ccdff0018b334ff00237fff8bff002b33348bff001f4cccffffebccccff
+0032ccceffffbe4cceff0014b332ff000dccccff001accceff00156666ff00224ccc
+ff000f4cceff0010199aff00013332fffff5ccccff0006cccefffff13334ff000819
+9afffff4999aff001a3332ffffdb6666ff001a199aff0001666698ff00094cceff00
+153334ff000f1998ff000ae666ff0016999aff0012e666ff0039ccce08ffffeb6666
+ff0009cccc05fffff5199affffe96668fffff9e666fffff59998ffffee199afffff3
+3334fffff0800080fffff2b334ff000a1998fffff33332ff0011e6680813f2ffffeb
+199aff001d4cccffffff6666ff001a9998ffffff4cceff001e333408ffffee3332ff
+0000cccc05fffff0b334ffffc64cd068ffffc4999867ffffcb3334080e2081caf71a
+c2f71aca01adb2f7e0b70314e0f79af84b15fb01fb0b46fb38fb1df70e3cf703f722
+b3cbc01f8bbb66b44d9ed2a1a7af8bb108c16bd5fb2f1efc1604fb1953c7ecbaadf7
+0bf729f6b574531f8b646e754c7e64966193758b086d7b8278789c83ad1fb58bab94
+a492cb7ca66f8b6708474e88391e0efbb0fb62b5ff01656666ff002be667ff00a0b3
+33ac01f715da03f715f7c715ffffba4ccdffffa8cccd07fffff43334ffffffb334ff
+fff5cccdfffff2999a8bfffff066668bfffff73333ff00053333fffff9cccdff0009
+8000ff0000666608ff005e8000ffff6a999a06fb48696f6c1e7e8b85928495829780
+986f8b087e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208ff00806666ca07
+98ffffff999aff000a80009d8bff000bb3338b94fffffc8000ff00054ccdfffff54c
+ccff00004ccd08ffffb7b334ff0045b333068bde968ec89091918ba08591678affff
+d4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b878b38080e54fb82ac
+f757b7f807adf775ad12afe146d8f767daf3dc13fbf7ebf87115ffffc4333407ffff
+e3999aff000f9998ffffde6666ff00063334668b08fb0e3527fb182ec6fb10f7241f
+c48ba99f9a98087307fb205c4b411e13f75c8b68b2839ffffff84ccdff0013199aff
+fff7b333ff000fe666708b08767e7c7657f064c31fc08bff002a199aff00086666ff
+0027e666ff001c999ac0b1a1d48bf108f829078bff00058000ffffff6666ff0004e6
+66fffffe999aff0004199a08ff002a800007f70c9dd1c01ea38b92788f779070997d
+a68ba58b94a08b9c8b9c809b7c98779d7597628b0848354cfb321f89fb2115fbac07
+71776a89788b0813fb5138b5f72bf3b1d5db1fb58bab73a65e080e2afb82aaf759b7
+f807ad01afe0f770da03f8389715f82907998796801e848b8484847f087c73056aa8
+60965a8b08fb0e3527fb182ec6fb10f7241fc48ba99f9a98087307fb205c4b411e5c
+8b68b2839ffffff84ccdff0013199afffff7b333ff000fe666708b08767e7c7657f0
+64c31fc08bff002a199aff00086666ff0027e666ff001c999ac0b1a1d48bf1083cf7
+d815fbac0771776a89788b085138b5f72bf3b1d5db1fb58bab73a65e080e4181acf7
+29acf75dac12addef78fd567a713f8f804e615650776ffffecb33370fffff54ccd69
+8b08fb0d5beef6f706d4cad31f13f4e28bb2789d31ff00094cccfffffc3334ff0009
+66688dff00094cccff0003ccccfffffee666b7fffffe3334b7fffff7e666b7638b4a
+935d8b08fb20292cfb1d25d4fb07f72e1f13f8d88bff0034b3349eff00334cccb108
+b7078bff0038199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14c
+cc8bffffe1b3348bffffd74ccc8c6e8c85858b76918508c88790ffffee199a8bffff
+c4e666080e43fb5eaff8c8ac01f73ebad0c603ff017db334f7df15ffff939998ffff
+0d4ccdfffff0b334ff0022b333ffffaae666f76405ffffec999aff002f6666fffffd
+3333ff000c999aff00354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b
+769185bffffff9b334ff00073333ffffef9998ff00153333ffffcdb33408ff008999
+9afbda623905fffff76666ffffeecccdfffff7999affffec33338b780865ac72b8c5
+b2afb41e8baffffff94cccff00344ccd62ff004fffff08ff007a199aff0118b33405
+ff0013199aff002bccccff000b8000ff00193334c29091918ba08591778a738a718b
+6a8b698c728c85858b769185c187ff0007199afffff3199affffe9999affffcde666
+08ffff5b4cccfc60158b9b9ba9a2b4a6468e808b7f08797b7d79757e98a31e0efb33
+7faeff0178ccccff0027333401f70dbad5d003f7657f15ff00558000ff00108000c5
+9f1f8ba989a554ed08cbf305ff0022199aff00376666ff00156666ff0016999aff00
+1e80008bff000c80008bff000a199a86ff000066668cff0005800091ff0004e666ff
+000b4cccfffffe999aff0009b3348493fffff4e66691ffffed999a8b5a8bffffe5b3
+34ffffdee666ffffdaccccffffc5199a085434ffffc18000f70405ffffde3333ff00
+3c999afffffacccdff00066666ffffc680008bffffeae6668bffffdb999a7e8388ff
+fffc8000fffff4ccccff0002999afffff6ccceff00066666fffff7e66694ff000380
+00ff000f8000ff0001cccc8f8ba88bff0007e666ffffee8000ff001c999affffccb3
+3408dafb22786905654983858b6c0865b571b91e62d4158b9b9ba9a3b4089180059c
+6f96648b7e08797c7b79757899a31e0e54fb6b76a6a9f73dbff7f8ac01e1daf766da
+03f80bff008f199a158bffffeae66682fffff3b33383fffff74ccd65ffffdab333ff
+ffcd6666ffffea4ccdffffd8999a8bffffeb999a8b76ff000d199afffff46666ff00
+16e66681ff0013cccd89ff001b33338ba908f72c078bdd958fbf9090918ba086916f
+8a698a638b638b6a8c6a8c86858b769085c38696878b3908fb29078b54ff0003b333
+ffffcf8000ff00174ccdffffe18000ff0010cccd75ff001f33337fae8bff0031199a
+8bff003be66698c8cfff00036666ff0003cccdff00066666ff000a33338b7d08ffff
+ff3334fb54054a87638b1e848f88941ea495d699b38e8d93899b8591578e7f868bdf
+08f828078bdeff000bcccc8fc58f91918ba085916a8affffdb33348a638b658bffff
+df33348c6f8c85858b769185ff0032cccc8794878b38080e4089a8f801baf775ad12
+e3d6f723d677d613f4e3f86715fc1f078b6efffff7199afffff5999affffdde666ff
+fffc66660878890586ffffff800089fffffd80008b86088b788d89058bce8dafb2cf
+898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4ccdff0003
+6666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b08c3a17b3a1ffb73078b
+6efffff6e666fffff5999affffde199afffffc66660878890586ffffff800088ffff
+fd80008b86088b788d89058bcf8daeb3cf898b1e8d8d8b9e058b9087ff0002999a87
+ff0000666608788d05ffffdf6666ff00036666fffff5999aff000a999a8ba808f768
+07f267bf431e648b507b484808f71407f730bba3ac1e13f8a98b9e7e986a937a9880
+9f8b9e8b9a9a8ba08b9b829c779a729c7192658b08373042fb321f0e40fb71aff74b
+a8f801baf775ad12e3d6f723d677d613faf848f70115f74307f267bf431e648b507b
+484808f71407f730bba3ac1e13fca98b9e7e986a937a98809f8b9e8b9a9a8ba08b9b
+829c779a729c7192658b08373042fb321ffc1f078b6efffff7199afffff5999affff
+dde666fffffc66660878890586ffffff800089fffffd80008b86088b788d89058bce
+8dafb2cf898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4c
+cdff00036666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b0813fac3a17b
+3a1ffb7007fb0095fb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f
+9f8bad8bb0aa08bab19bef8bf735080efbc189acf75bb3f72c9ff4ed12f4ed34da13
+f0f3f8eb15850a13f4e6fc7115f700c407ff000c4ccc8dff000ab334ff000fcccd8b
+ff000999998bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc0848ff
+00334ccc06ff0031b3348fcb8b1e8f868e831effffe3800080ffffd8800082468289
+858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52085c44077fffff
+fdb33482fffff14ccc8bfffff666668bfffffa66678efffffa3333948908dbfb0006
+8b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f80
+8f8bde080efbce80c2f8177701dfda03dff7d615f77b0a0efbd689acf803ac01ecda
+03f744f7c715f77c0a0efbc889a8f78ab78fb9f7cb9f01f6d603f765f7d415838bff
+fff86666ff00014cccfffff8999aff00024cce08ff0103666607cc8fb38b1e92878e
+821e7281407d638889838d7b9185c58791888b4008ffff42666607fffff9199aff00
+024ccefffff8b333ff00014cccfffff833338b608b74647d509185958a968d95ac95
+9aa58bff000933338bff0009e667fffffd999aff0009e666fffffc199a08ffff424c
+cc078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e
+80908bde08ff0092333407ff00034ccdffffff3332ff00034ccdffffff999aff0003
+66668bb98ba8b297c7858f818e808a7d618081758b080efb818aa8f791addca9f76c
+a99b95129da9f71dd66ca713fef7eef7cf1539f7a006cc8fb38b1e92878e821e7281
+407d638889838d7b9185c58791888b4008ffff41e66607ffffeb4ccdff001f6666ff
+ffe24ccdff0019b334ffffce66668b08755e77614db176e51fb2fb33068b3880864e
+8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f733
+dd07fb35ad1550065b6d9ea8a39f94a31fc28ba359996c080efbf2fb7cabf9d2a9bc
+7601fb46d603f73dd3158bc48bf85a05cc8eb38b1e92878e821effffe6e66681ffff
+ba999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffff
+cccc08ab89059f957e4a1f8bfc468b528b6705fb45d15cc7e0aab8aaa17e99761e70
+8b7d798676857686776d8b086e76a9f72e1f0e3cfb7faef75aacd3adf796adf768a9
+a67712eada61d7f756dc13fe80eaf70e158b3880864e8885858b769185ae8cb08cb3
+8bb38bb18aac8a91918ba085914e8e80908bde08ff00e1b33407ff00134ccdff0023
+b332ff00188000ff000b999aff001633338b08f7258bfb3cfbb49c7c059d8fa99296
+8b08d9aa6326fb004655591f13fd80f77d0a13fe80fffff5cccd8bfffff88000ff00
+033334fffffbb3338f08ff0092cccc07cc8fb38b1e92878e821e7281407d63888983
+8d7b9185c58791888b40080ef75781bf71a7f7f6ac12dadaf753daf753da141c137c
+f902d215ff00014cccffffe24ccc8dffffdc0001ff0004b334fffff5b333ff000219
+98fffffb6666ff0001e668fffffc999a938ba796a594d0948d91899b899155908090
+8bc508f757078bdd9890c28f91918ba085916d8a658a638b638bffffe133348c6d8c
+85858b769185ff0032cccc8696878b3908fb38078b7682fffff3b33383fffff74ccd
+0813bcffffd86668ffffd94cccffffda8000ffffebb334ffffe119988b08656fa3ce
+1ff742078bdd9390c18f90918ba08691728a668a638b638b6a8c728c86858b769085
+bd8794868b3908fb33078b7d8b7d8c7f5b565e7e648b086575a1ce1ff744078bdd95
+90bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c28794868b3908
+fb3207329a45e31eff003333338bff003db333ff0012cccdff0034199aff0036ffff
+8eff0003333491908dfffff76666ff0009800062ff00268000ffffdf999abf8bc58b
+ff00344cccff00226666ff0029b334ff002e999a08ff00049998ff0005199aff0006
+e668ff0006e666ff000080007f080ef73981bbf800a801dfd6f749d6f747d603f8e6
+fb33158a3ca28b05a19db798c9960888a25b9005ffffea9998ff00023333fffffd66
+68ff0005cccd8bbd08f865078ba7ff00099998ff000ae666ff00206668ff0005199a
+089e8e05ff0004e668ff0000ccccff00031998ff000233348b90088b9e898d058b47
+896864468d8b1e89898b78058b86ff00041998fffffdccccff0004e668ffffff3334
+089e8805ff001f999886ff000b6668808b6f08fb89075b5a6b74688b086571a4cd1f
+f776078ba7ff000a999aff000ae666ff00206666ff0005199a089e8e05ff0004e666
+ff0000ccccff0003199aff000233348b90088b9e898d058b47896764478d8b1e8989
+8b78058b868ffffffd999a8fffffff6666089e8805ff0020ccccfffffaccccff000a
+3334fffff533348b6f08fb62078b7c8b7e8d7e5b576b79648b086571a2cd1ff77807
+8ba7ff000a4ccdff000accccff0020b333ff00053334089e8e05ff0004e666ff0000
+ccccff0003199aff000233348b90088b9e898d058b47896863478d8b1e89898b7805
+8b868ffffffd999a8fffffff6666089f8805ff001eb333fffffb6666ff000b4ccdff
+fff4999a8b6f08fb6107329a44e31ec18bbca5c4c7925dac63c28bc98bb5aebbbc08
+8e8b88fb05050ef74ffb71aff74ba8f7fca377bb12f1d6f74dd6f74fd613def94ff7
+0115f73f07e47ad1331e558b5674524f84b868b1538b4d8b5d695c5908888b8edf05
+ff00026666fffffe6666ff0000999afffffd999a1e13eeffffe38000806482ffffb9
+800080088d73b68705ff000e6666fffffe4cccff0007999afffff5b3348b5908fb8d
+078b6efffff7199afffff5999affffdde666fffffc66660878890586ffffff800088
+fffffd80008b86088b788d8905b38ca48cb28bb48ba08ab38a088d8d8b9e058b9087
+ff0002666687ff0000999a087d8d05ffffe3999aff0004199afffff16666ff0009e6
+668ba808f78c0713debabcb0a1ae8b08b1a773481ffb78078b6e7efffff5e6666eff
+fffc199a087c890586ffffff4ccd88fffffdb3338b86088b788d8905b38c9f8cb28b
+b48ba08ab38a088d8d8b9e058b90fffffbe666ff00023333fffffb199aff0000cccd
+087f8d05ffffe3199aff0004ccccfffff0e666ff000933348ba808f765078b998b99
+8a97bbc0ae9cb28b08b1a775481ffb77078cfb0094fb2c5f8b808b85928594839581
+97718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bee8bf736080e43fb71aff7
+4ba8f7fca377bb12e6d6f75ad613dcf73af70115f76107bec7b19cb78b08c0976a45
+1ffb6c078b6e80fffff6999a6bfffffb6666087d890586ffffff4ccd88fffffdb333
+8b86088b788d8905b38c9f8cb28bb48ba58ab38a088d8d8b9e058b9087ff00028000
+86ff0000800008788d05ffffe0b334ff00034cccfffff54cccff000ab3348ba808f7
+6507e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999a
+fffffd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666ff
+fffe4cccff0007999afffff5b3348b5908fb8a07fb0095fb2c5f1e808b8592859483
+958197718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bef8bf735080e43fb71
+aff74ba8f7fca377bb12e6d6f75ad613dcf800f701158bfb359327ba65b06cb28ba2
+8b089dad99a99d7897801f718b817f838185828584808b085f95f72af7021ff76207
+e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999affff
+fd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe
+4cccff0007999afffff5b3348b5908fb8d078b6efffff6199afffff58000ffffdee6
+66fffffc80000878890586ffffff800088fffffd80008b86088b788d8905b38ca48c
+b28bb48ba08ab38a088d8d8b9e058b90fffffce666ff00024ccdfffffb199aff0000
+b333087d8d05ffffdf3333ff0004b333fffff5cccdff00094ccd8ba808f7860713dc
+bec7b19cb78b08c0976a451f0e6a947697a6f80ba812f3b8f797b81378cfa6156d06
+858988871f75078bc68db0b2c5898b1ea00791868d881e6e066c8594b01f8bf795f7
+87fbd10513b8967d96809b8b089796989f1ff7e307b09094ab1ea806918b8c8f8c8e
+08a1078b50896565508d8b1e7507888c87921ea906ac8f7d6b1f8bfb93fb93f7defb
+0f8b8b7505878e888f1eaa06ac8e82681ffbb1076a8b7e671e0e3081aef73fb2f73d
+ae01b4ff0057cccdff00f83333e103b4f761158a0aff014fcccc8215ff0000199aff
+fffb6666ff0000199afffffb4ccd8bfffffb4ccd8bfb124a6c5c8bffffa580008bff
+ffda8000ff005f8000fffff7cccdff004b800008ff00f57fffb215ffff08b33406ff
+0001199aff0054b334ff00164cccff00544cccff0057999a8bff004acccc8bff0031
+ccce50ff000bb332fb02080edf89a870adf739abf738ad70a812a8e0f765d6f70da8
+caa77ca713af00f7aea615244abbf71ef72aceb2d6b6a3896d1ffbca07748581681e
+133780f77ff80415cb8b9e56966608a78f0513374084b184b28ab608132f40898d05
+1337408b44896d1efb330613af40668b548d878b08fb212b31fb20fb20f24cf71b1f
+136740f77e0a13a740a9c6898b1f1377408d8d9ff7076f8e057f57746b588b08fb01
+067a7d909e1ff721d807a58b94808f77088f75058c898d888f8b08a08b8d8d0588a3
+889f8ba48ba38fa78da2088d8a8c891e7706888b89888a88088676058677847f708b
+083ef721069c97919e1e0ef70a7faef787b1f4ac01add8f761a6a6a6f75ddd03f93c
+f75615f038f727fb8bfb4dfb17fb15fb11fb24e653e51ecc8bc0aca5d0a83cc274be
+8b08e0f0b5f7381ffccd8c15f722ead3f72accf7456cfb45fb0b67503a1e538b67b2
+78d09ebf93b88ba308ac7f9e6e717d77651e8b778f62a05576436767568b082975dc
+e61ff797b5158b79876f805e8b8f7fb08bb808a2909693968e7e7b1e0e71fb7ea8f7
+5aaaf812acf7977701abd7f720d6f720d703f78ca315629228aa8bf72d8bf71bd7ba
+cb9608d6fc1415f81207e478be588bfb0b8b6581fb19fb16750840f8af15fb0f074f
+88fb304d8bfb328b50a9fb2bf74e7d08fb2b078b6ffffff5cccdfffff53333ffffdf
+3333fffffacccd08788805fffffb199affffff3333fffffce666fffffdcccd8b8608
+8b788d89058bcf8dafb2cf898b1e8d8d8b9e058b9087ff0002666687ff0000999a08
+788e05ffffe0ccccff0004e666fffff43334ff000b199a8ba708f72b07f7129ae5eb
+8bf7038bf719fb03dc229508f72407cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcc
+cc08ab89059f957e4a1f0efb7381c967a7f7f6ac12f750da1370f753d215ff0001b3
+3363ff0001999affffe64ccdff0004b333fffff5b333ff0002199afffffb6666ff00
+01e666fffffc999a938ba796a594d0948d91899b8991559080908bc508f757078bde
+978fc98f91918ba08591688a648a638b638b5d8c688c85858b769185d18697888b38
+08fb1f078b717f747f790813b0807b746a7f8b828b82ff00026666fffff83333ff00
+0a4ccdfffff8666795fffff4ccccff000d4ccdffffee999a8b0873747272ffffece6
+669dffffe3199ab51fba8bb4b7a2b2089196ff0004cccd83ff0000333386080efb84
+81c86aa3f8d4a812f756d613b0f7a1f8d1158ba8ff000a6666ff000a9998ff002099
+9aff00036668089e8d0590ff000080008dff000280008b90088b9e8a8d05668a6c8a
+678b658b608c668c0889898b78058b868ffffffd4ccc90ffffffb33408a88905ff00
+1fcccdfffffdccccff000b3333fffff433348b6e08fc47078b7e867e848273697579
+808b848b848e859181958093778b08717a7b71719a77b41fba8bb7bea5b2088e8b88
+3105fffffd999aff0001999affffff6666ff000266661e1370ff001c800096b294ff
+00468000960889a3608f05fffff1999aff0001b333fffff86666ff000a4ccd8bbd08
+0efb56fb42b2f70faff80ea801f765d8d8d903f7d8f826159c06928c8f8d1fa2078b
+4f8964624c8d8b1e7507868e89901e9b06b08d7c6b1ffb86077860635d738b808b83
+91889587947aad6e8b086e7c7c6f76986ccb1fad8ba297a2a19996a1a4929b088c77
+05fb42c555c3c5c59ab8977aa1731e758b817b867b8980817f7b8b608b869e8af731
+08f7ce07a58ba0b11e0efb84fb7ea8f8dbc857a312ecd613d0ecfb34158b6efffff5
+999afffff56666ffffdf6666fffffc999a0878890586ffffff800089fffffd80008b
+86088b788c8905b08caa8caf8bb18bb68ab08a088d8d8b9e058b9087ff0002b33386
+ff00004ccd086e8d05ffffe03333ff00023333fffff4cccdff000bcccd8ba808f857
+078b9890989294a3ada19d968b928b92889185958196839f8b08a59c9ba5a57c9f62
+1f5c8b5f58716408888b8ee505ff00026666fffffe6666ff0000999afffffd999a1e
+13b0ffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff00
+07999afffff5b3348b59080efb79fb7cb3f8cba98caf01e0d6ebd303caf811159d8f
+7a771ffbdc078efb1ba2fb05f7048b08aad5a2b89b8298741f738b817a857888807f
+81798b085a7dbbf7241ff7d3079aaeb5bfa58b948b94888f7f907e9a69a48b08a79e
+9ea7ad6b9c5f1f408b5f38898808e17607767e707d4081086d07958e9d8e9e8b080e
+fb8b89a8f80faf01e3d6e4d903f737d415f73107f732a49dad1e9d8b95768d7f9177
+977ea38b089aa094a9b553a0571f6f8b767f72795a6380468b3308fb22077488746c
+1e6f06858a86881f76078bcd8db5b4ca898b1ea1078e8a8f851e70066c889aaa1f0e
+fb8b89a8f80faf019ad9e4d603f74ad4156c887c6c1e7006858987881f75078bcb8d
+b4b5cd898b1ea0078e8a90841e70066c88a2a21ff722078be380d059b3739d759770
+8b08565476616da082991fa48b9798919f8d9795a09d8b08aca579fb321f0efb0e81
+b06eacf72facf74ba812ecdaf727e0133cf7d7f7d415ffffb5e666ffffd54cccffff
+e5199affffb9b3341e69f72c069e9897bf1eff00344cccff001db334ffffe4e666ff
+ffc9199a1ffb27fb5a15cb9307cf8bff0013999affffda199aff000b6666ffffe1e6
+660896640513bc9bffffc76666b2ffffdf999abb8b9a8ba98d9892ff00028000ff00
+0a4ccdff00004cccff00076666fffff73334ff000a4ccd678bffffefccccff000599
+9affffee3334ff003566660879c105fffff36666ff001ecccdffffe4999aff002133
+336a8e088c07ce91c0ff0029e6668bff0040199a8bd467b1fb1b8b728bffffdb6666
+89ffffd8999a8bffffd4b3338bffffe74ccd8c608c85858b769185c88796878b3808
+fb4d07137c8b3880884e8685858b769185b58cff001a4ccd8cff002bb3338bff0025
+66668bff000f999a8ab68a91918ba085915b90828e8bde080efb0e89a8f74bacf72f
+ac6eb012ecdaf727e013ccf7d7f70115ffffc9199affffe24cccffffe4e666ffffcb
+b334577e979e1ef72cad07ff00464cccff002ab334ffffe5199affffb5e6661ffb27
+f75a1513ec8bde948ebb9091918ba08591608afffff066668affffda999a8bffffd4
+4ccd8bffffe5b3338c618c85858b769185c88696888b3808fb4d078b3880874e8785
+858b769185b68cff0018b3338cff002b4ccd8bff002766668bff0024999a89a48bf7
+1b8bafb18bd48bff0040199a56ff0029e6664891088c07ac8eff001b6666ff002133
+34ff000c999aff001ecccc089dc10513dcff0011ccccff00356666ff00103334ff00
+05999aaf8bff0008ccccff000a4cccffffffb334ff00076668fffffd8000ff000a4c
+cc7e926d8d7c8b5b8b64ffffdf999a7bffffc7666608806405fffff4999affffe1e6
+66ffffec6666ffffda199a478b0883060efb61fb44aff716acf813ac12bbb264aa7a
+d2b8c4b2d755ab13f300f712fb4415c1c2b5b69881987b7d7a7e79777873726582bb
+c71fff0022e66607ff00044ccdffffffcccdff00041999ffffff999aff0004999aff
+fffeb333a684a687b08bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333
+0813e680ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8ba18b
+c583983691859f8c91918eaf8db08cac6c905b99578b0841485b4b1f8b42ac6cd86b
+0813eb00de699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b333ff
+000ab33475a280b785a48591788a8585ff0001ccccffffe9cccdff0001999affffea
+4ccdff00013334ffffeae66608fffffb66660613f300fb1607479b58c91e0efbb7fb
+6ab1f9dcad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7bc8cdc8bf6
+08f83907ea95eac51e9c8b9b7e9572907b927ea18b089d99999fa66ab3401f6f8b71
+8170764f5b883c8b2408fc4807fb2a6a70751e748b869a859a869c859a738b080efb
+b7fb6ab1f832b7f812ad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7
+bc8cdc8bf608f74dd20797969f9794888e801f3bf75406ea95eac51e9c8b9b7e9572
+907b927ea18b089d99999fa66ab3401f6f8b718170764f5b883c8b2408fb2f42077f
+817e7b829085941fdcfb8106fb2a6a70751e748b869a859a869c859a738b080efb8f
+fb6ab1f948ad01f724d5e4ce03f7ebfb0615738b857c857a867c867c748b087569a6
+f72a1ff7b4078bf289da4ebb71a070956f8b08416a637077997d9c1fa28b9198919b
+95a49b989c8b08c5952c2c1ffba5078b208c3ac75aad6ea38a9a8b08b5c1a5b49b7f
+9c781f0efbc3fb75a4f9f4ad015ea4f704d603f7ecf90b15a66ab3401e6f8b718170
+764f5b883d8b23088bfc598b7c05fb0f4f7d588b718b61b17cab8bc48bd8b393f736
+b5a27981ae9b0883a2057a847e85768108f868078bd690b9939c9cae9d9c9f8b9c8b
+9b7e9572907b927ea18b089d99999f1ffc00fdaf158bb6d2b3b7a3087d0727626e70
+826592a81e0efbab8bb2f7edc201f725da03f7a216998f97931f9807908a8c871e50
+f7c106d26ca75d1e5d8b5975645f8dfffff5b33491fffffa4ccc958aa59fa993a58b
+08a6916d4d1ffb912307817d87821f7707878e89901ef70c64064a87638b1efffff9
+999a8efffffd9999ff0004b3331eff000480008bff00088000ff0003e667ff00094c
+cdff00051999ff000b4ccdff00064ccdff000a3333ff00044ccdff000c8000ff0003
+800097ff0003666695ff000366678bff0006e6668bff000b999a88fffff966668bff
+006ee666080efbb9fb71aff8d3b201e4d603f738d615f7cfe90795998f941f9f078f
+888d861efb02f72f0651778b78053f7b6348898a8a881e6c07888c8a8e1eccfbae06
+8bfb359328ba65b06cb28ba28b089dad99a99d7897801f718b817f83818582858480
+8b085f95f72af7021f0e4b81ba84a6f749b2f70dac12e3daf758da13bcf883f7a915
+56b806a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc8898
+7f8b490863fb58b807a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b
+769185bb8799808b4a08624964cdfb040746a948ee1eb28bba9fbcb3908fff00094c
+cc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00
+048000ff00008000ff00068000ff0002800008137ca19dae9ac89291918b9a85914b
+90829e8bbc08f700c007fb1816fb06078b7889837d7f0813bc666b657b728b086d59
+99e41fed070e4a81acf7ffb81295a487d8f7b7d887a413d0f791a215374eded41f8b
+e3b6aeb59f0888dc058aa4858e7c8b08fb228b0513e07b2fa4890593b79190b08b08
+d38b905f0513d83c6556518b3c0835d430f72bf72ad2e6e11e8bda56c53cb10890b7
+d38b0513c4b08b9186935f08a48d7be7fb228b057c8b85888a7208883a0513d8b577
+b6688b3308424e38361e0e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15
+f77f0a0e298aacf82e7701f73cab15558ffffffa6666ff000c3333ff0014e667ff00
+32cccd08ff0050b333f75805ff00103333ff00278000ff00053333ffffff4cccff00
+0f999affffd6333408ff0048199afb5505ff0011e6665bff00044ccc7fffffcab334
+8485858b769185ac8cae8cac8bac8ba98aa98a91918ba0859156ff00064ccc84ff00
+10199affffeb999aff0032999a08ffff806666f7d005859a85917e8b818bfffff919
+9afffff9999afffff8e666ffffef666608ffff7a999afbcd05ffffed4cceffffd419
+9afffff5199affffe6e666538685858b7691859f8ca38ca58bac8bad8aa48a91918b
+a08591080ef72c8aacf82e7701f8adab1585858b769185a98cae8caf8bb18bff001a
+cccc8aff001a33348a91918ba08591ffffd0e668ff0004ccccfffff51998ff000a33
+34ffffeae668bf08ffff7d1998f7d70585998391818b828b8385847b0826fb8a24f7
+8c0585998391818b828b8385857c08ffff7d8000fbd105ffffef999affffd7199aff
+ffeee666ffffe3e666588885858b7691859f8ca18ca98ba98bb58aa98a91918ba085
+91408fff000a4ccdff001ce666ff000e1999ff0023199a08ff0053999af7640595a4
+8fffffffccccff00083333ffffeb333408ff00564ccdfb6f05ff001280005c898156
+8785858b769185a98cb38ca98ba48bac8aa98a91918ba085915cff00048000fffff4
+4cccff001cb333ffffee199aff002ccccd08fffff9999a9bd1f7450598acff000233
+34ff00018000ff000ce666ffffdf800008ff004ffffefb6205ff0012e6685b8a7b5b
+88080e3b89acf8badb01f7c3f8e115fffff06666ffffe43334fffff2e666ffffe366
+64fffff3b334ffffe266683bfb55ffffd33333ffff996666ffffcbcccdffff8f999a
+ffffec4ccdffffd5b333fffff1b3337b5cfffffa4ccd85858b7691859f8ca28ca78b
+a98baa8aa98a0891918ba08591ffffe066668effffdf999a919baf08ff00633333f7
+7905ff0006ffffff0010199aff00086667ff0002b332ff00088000ffffec333408ff
+0058b332fb64059dffffd5ccccff00053334ffffed800053fffffbb33485858b7691
+85b08cb38caf8bad8ba68a9f8a91918ba08591ffffd84ccc907e94ffffe5cccec808
+ffff8ee666f79b05fffff74cccff0014199afffff0b334ff002de66695a7ff000be6
+66ff00216666ff000c199aff001b999a9aaa969f9994a48b998b8f88968b08a89aa9
+98a0779b701f768b6383674b080efb0f89acf803ac01f75fda03ff00706666f7d915
+ff005a999afb3a8b66058b3880884e8685858b769185b58ca58cb78bb68ba48ab68a
+91918ba085914e8f808f8bde088bbcff004b6666f72d05ff0014999ab698a5c39091
+918ba08591758a798a718b668b758c668c85858b769185c1878f7effffe8b3345908
+ffffc24cccfb12ffffc0e666f71205ffffe9199ab9ffffefcccdff000f999aff003e
+3333ff0005666691918ba08591668a6f8a628b688b7b8c668c85858b769185ff0039
+8000fffff93334ff00048000ffffedccccff001a66665b080efb3ffffffd6666ff00
+24999af7fdad957712bdacff015b999aff00384ccc13d8ff01674cccffff4a800015
+ff0034199afffff1b333ff0040199aff0019e667ff000b6666ff00298000ff000366
+66ff000c8000fffff9ccceff000f3333fffff0999aff00043333fffff28000ff0003
+b333ffffec333283fffffb3334ffffee999afffffab332ffffecb333ffffe74cce79
+ffffe7e666ff0006999affffdb6666ff000a19998fff00308000ff000fe666ff0039
+e6670893ff001d6666ff000433348b0597ad98bf92bdfffff98000ff0003b333ffff
+f48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe6
+66fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff00
+07cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613b8ffffdfe6668bfffff3999a
+ff0004999afffff18000ff00056666fffffd999a8bfffffc6666fffffc66668bffff
+fd999a8a5e8668825aff0008ccccfffffc4cccff000c999afffffe199aff000b999a
+ff0002999a9fd4aaff00114ccca9ff0000b3340813d8f7148e0547fb0627fb243d22
+fffff76666fffff46666ffffff999afffffc999a8b86088493869a1eff010b8000ff
+fffd66667fffffd480000579ffffbe66678dffffca9999ff003bccccffffef999a08
+0efb3a8bb2e5acf779b201f720aaf75ea903f809e815f7800afb3c2e15c706e2beb1
+c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f005949993968b920893
+858e801efb83066e8b89958a8f08768f6dfb29a6860590ad9cb49594969399909f8b
+08f7228bfb80fbfb05858288878b8508809b899e1ef5067c657f63846608aa840590
+af98b79bb5080efb47fb7faef7c3adf796ad01b3a6f789dc03f713f6159c7c059d8f
+a992968b08d9aa6326fb004655591f638b70b183a183a37e95748b08758179796bc5
+4ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b8f858d848b898b6785
+6e8b08fb5f067c8b829289910872068a5e855f835a08a588059fd4ada0a98b08f725
+060efb34ffff27333376ff000bcccda3f746a2f70fb2f777b5977712c3a3f78bd113
+73f7ccfb09157653566e4e8b085b5ab2bdbcb3b3bb1fcb8bba61ac580892a91567b9
+54b34f8b084d59594d4bc95ac71fc48bc3a1b5b20813bbff000a8000ffffe98000ff
+000a4cccffffe6e666ff0009199affffe6cccd08ff001733349105fffff5999aff00
+1de666fffff3ccccff001dccccfffff38000ff001a199aa4a8a0bb8bc38bf72027ab
+578d08f6f777051337969590978b9708133b90878e811efb8306748b818e88910813
+37798e79fb11a0890592b295a4989008137b948e968c9a8b08f72b8bfb1bfba9059c
+92a58f9c8bde8bb2568b318b7288758678080efb3a89a8f8ecaa01a7d4d2d6cfda03
+f78bd315f73c078bd0ff00146666ff0019999aff002f999aff00296666b9b3acb68b
+d308dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08
+b3c8b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda80004b507d
+688b3508fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586
+ffffff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d
+8b9e058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff7
+4ccdff000b33338ba8080efb3a89a8f8eaaa01b1dacfd6d2d403f74dd3158b6e8280
+6a8808738905878788861f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e05
+90898e861e738d056a8e81968ba808f72b078be17dae4bc662b073a18bc608d5bda9
+c1bcc866631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60
+b963bb629f718b46080efb3a80aaf8eaa801a4d4d2d6cfda03f788f8d1158ba89496
+ac8e08a38d058f8f8e901f8b9e898d05598a778a628b648b778c598c088a898b7805
+868d88901ea38905ac8895808b6e08fb2b078b359968cb50b466a3758b500841596d
+555a4eb0b31e8b9d928f8ba5089d7b967477767a6b42ed4cecf2cfb6dd1e8bd36ab6
+5db35bb477a58bd0080efb30fb71bdf8d5ac01afe1f759e203f78cf82a15c68b9368
+8f688e709982a08b08a0a798aac252b32b1fffffc9b3338bffffd6cccd8bffffd080
+0053ffffd53333ffffcd8000ffffe0cccdffffa433338bffff6b4ccd8bffff814ccd
+ff00124cccffffac6666ff0024b334ffffd74ccdff0024b333ffffd6b333ff003199
+9affffeb4ccdff003eb3338bff003f4ccc8bff0033b334ff00194ccdb3ff0032b333
+0878a0878b05ffffdcb334ffffe0b333ffffdb4cccfffff04ccd658b638b6a9b71ab
+ffffe4b333ff00214ccdfffff24ccdff004966668bff00714ccd8bff0088b333ff00
+0d4ccdff00550001ff001ab333ff00214cccff0018b333ff001f4cccff001a999aff
+0016b334ff0022b3338b080ef681aff785f700f78baf01b5ebf737f700f73aeb03f7
+f7f79f15a40a78f7f715640af7e3fbb915650a0efb0889acf74ea8f72cac12f6daf7
+2edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f7830a13f8f7
+840a0efb0b82caf71ac2f71aca01a9b7f7e0b20314e0f76d8215f701f70bd0f738f7
+1dfb0edafb03fb22634b561f8b5bb062c97844756f678b650855ab41f72f1ef81604
+f719c34f2a5c69fb0bfb292061a2c31f8bb2a8a1ca98b280b583a18b08a99b949e9e
+7a93691f618b6b8272844b9a70a78baf08cfc88edd1e0e357faef72da6f761add3ca
+12add8f796c062a613f8f89af8d515ffffcb4ccc8bffffb2999affffd61998fffff9
+8000ffff99999cffffdc4cceff00026666ffffd68000ff0003e666ffffdfcccc8b08
+fb20292cfb1d25d4fb07f72e1fd88bff0034b3349eff00334cccb108b7078bff0038
+199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14ccc8bffffe1b3
+348bffffd74ccc8c6e8c85858b769185c88790ffffee199a8bffffc4e66608650776
+ffffecb33370fffff54ccd698b08fb0d5beef6f706d4cad31fe28bb2789d31ff0009
+4cccfffffc3334ff000966688dff00094cccff0003ccccfffffee666b7fffffe3334
+b7fffff7e666b7fffffb66668b86ff0000199afffffaccceff00003332ff0001e666
+ff001accce99ff0037e666ff002ee6668b938b958a9488089288948b928b08a0979c
+9b1fa17b9a771e0e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0efb
+b3fb45a8f8a9a7a877f711ef1279a8e0ef42da13f8c5fb2815727596a51f8bb3b4a7
+d4b20874072e636f701e13faccf86515fb8507708c758b1efb104f795f8b638b61ad
+79b38bc48bdbb793f736b6a28386ad9c0884a6057a84747f7682088bba8bf76705bd
+8fcb8b1e8f868e831e6f806382468289858d7b8d8508c18696858b520813fc70f7ae
+15850a0e52fb6d76a6a9f747acf803ac01f800da03f84ff7c7158bde968fc38f9191
+8ba08591618affffe8b3348affffd64ccc8bffffdc80008bfffff380008c608c8585
+8b769185b48796878b38083407ffffecccccff00008000fffff1e668ff0001999aff
+fff64cccff0003666680ff00078000fffff6e66694fffff4199a9b0842ed05ffffe2
+999aff00278000fffff76666ff000f8000879affffff3333ff0002e666ffffffcccd
+ff0002199a888b778a7f8a6d8b6c8b768c6d8c85858b769185ad87ff00194ccdffff
+fb999aff001ab333ffffde666608f718fb3a05ff0003999afffffb8000ff00036666
+fffffb80008b868b878b898787083330056d6b6883638785858b769185b08c998caf
+8bb18ba28ab08a91918ba08591538fff0017b333ff00234ccdff00094ccdff000bb3
+3308a2a8ff001f4cccadff0019b3349eff00163334ff00106666ff001ae666ff000b
+cccdff0012e666ff0002999a08fffec23334074a87638b1e848f88941ea495d699b3
+8e8d93899b8591578e7f868bdf080efb3489a870b5f7fca812edd6f753a613b8edf7
+f815fbaf078b6c8afffff5666667fffffd999a086d8905878789851f13788b780513
+b88d89051378a98cba8ca98b08f7310613b8a98bac8aa98a0894f71f708d0513787f
+3f7c765b8b08fb08f7ce068ba7ff000b8000ff000cccccff001e8000ff0003333408
+9e8d0590ff000080008fff000280008b90088b9e898d05668a6b8a658b678b6c8c66
+8c0889898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc80
+00ff000a199afffff380008b6f080e2afb7ea8f757b7f807adf775ad01afe0f772d6
+f5dc03f7ebf7e415fbac0771776889788b085137b5f72bf3b2d5db1fb58bad73a65e
+08fc85048b6ffffff5ccccfffff44ccdffffdf3334fffffdb333086e890586ffffff
+b33388fffffd4ccd8b86088b788d8905b08cb48caf8bb18bab8ab08a088d8d8b9e05
+8b9087ff0002999a87ff0000666608788d056aff0003800081ff000a80008ba7088b
+f8b08bb18bc405f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c80
+9b7c98779d7597628b0848354cfb321fffffc4333407ffffe3999aff000f9998ffff
+de6666ff00063334668b08fb0e3527fb182ec6fb10f7241fc48bab9f9a98080efb3a
+89a8f767b2f76b76f72eaa01a7d4d2d6cfda03f78bd315f73af700078e928d908b92
+8b918a92879208ffff96999a06ff0006ccccb6ff0014999aa2b1acb9b3acb68bd308
+dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08b3c8
+b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda8000ffffcf4ccd
+ffffd3199affffec4ccd6cfffff94cccffffcde66608ffff89199a06878589858b83
+8b858c858f8408ff0075333306ffffffe666fffffb3333ffffffe666868bfffffacc
+cd08fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ffff
+ff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d8b9e
+058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccd
+ff000b33338ba8080efb3a89a8f767b2f76b76f72eaa01b1dacfd6d2d403ff0103cc
+ccf78215ff006e3334068e928d908b928b918a92879208ffff8f199a06fffff94ccc
+ff0032199affffec4ccdaaffffcf4ccdff002ce66662b073a18bc608d5bda9c1bcc8
+66631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60b963ff
+00264ccdffffdf4cccff00148000ffffe8ccceff0006b333ffffd4e66608ffff9080
+0006878589858b838b858c858f8408f707fb3a068b6e82806a880873890587878886
+1f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e0590898e861e738d056a8e
+81968ba808f72b078bff00053333ffffffe66690ffffffe666ff0004cccd080ef763
+81ba66adf7fab072aef75ea9a67712b0e1f770da9eac131f80f862f84b15f7360a13
+2f809fd4aaff00114ccca9ff0000b33408f7148e05ffffc26668ffff98ccccffffa8
+3330ffff80199affffb60002ffff9acccdffffdfccccff00096667fffffa999aff00
+13e6668bb108f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fb1407848989841e139f80878b629c6a8b498b5f756365606071508b418b
+fb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00098000ff00
+01cccdff0000b3348408ff00028000ffffe78000ff00088000ffffdd80008b8b9388
+90ff0000800091ff00028000ff000c4cccff000a199aff00106668ff00091999ff00
+16b332ff00074ccdffffffb334fffffe8000ffffffe666fffffe999a8bfffffe6666
+08136f808493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000
+ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668ffff
+fecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc
+8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999a
+fffff18000ff0005666608fb0bfbcf15f7050a139f80f7060a0ef734fb7faef752ba
+84a6b9adf796ad72aef75ea9a67712b2e1f770da57d7f756dc13d7d0f7edf710157b
+0a80fffef84ccc157c0a13bbd0a19dae9ac89291918b9a85914b90829e8bbc08ff00
+e9999a07ff00116666ff001766669f93ff0012999a8b08f7258bfb3cfbb49c7c059d
+8fa992968b08d9aa6326fb004655591f139bb0f77d0a13d7d0fffffb66668b87ff00
+00999afffffc999aff0001199a08ff00984ccc07cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fb1407848989841e878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284ccc080ef77281ba66b2e5
+acf779b271aef75ea9a67712b2e1f770da8ea6f7cea91367e0f994e815f7800afb3c
+2e15c706e2beb1c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f00594
+9993968b92081337e093858e801efb83066e8b89958a8f08768f6dfb29a6860590ad
+9cb49594969399909f8b08f7228bffff28e666fffeb8cccc05ffffe3199aff0009cc
+ce86ff0013e6668bff0024800008f85907cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fb1407848989841e13afe0878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e6
+67ff00098000ff0001cccdff0000b3348408ff00028000ffffe78000ff00088000ff
+ffdd80008b8b938890ff0000800091ff00028000ff000be666ff0009b333ff000fb3
+34ff0008e667ff0015999aff00073333ffffffccccffffff19998bffffff199a8b8a
+081377e0809b899e1ef5067c657f63846608aa840590af98b79bb508fb93f71015f7
+050a13afe0f7060a0e8f7fa9f809b279a912e4d651c5f4c9f738ce6a9f13b6e4e215
+2bb288f7271eb18bf7228bb9a4b4a19fab8bba8bb57dba3ea72baf5fb28ba78bc6b9
+9eb28b0813a5a18bc880a9fb00089f8c7ff70d057896579b598b3a8b49588b468b43
+b876bf770813d6cd71ca6d8b4e8b595773658bfb058b239379b286998aa18bac08f7
+95f703b20713ccfb03f72e0651778b78058b5f876f837c7d756a85708b08640713d6
+d0060efb19fb73b1f743c2f7edb2f776ad12e4da5bcde4d613f6f72bfb0f15787f7a
+7b62c171b51f9a8ba28caea8c7bc8cdc8bf608f83907ea95eac51e9c8b9b7e957290
+7b927ea18b089d99999fa66ab3401f6f8b71817076ffffc43334ffffd03334fffffc
+ccccffffb14ccc8bffff9980000813fa20b206cc8fb38b1eff0006666888ff000266
+64fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664ff
+fff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc99
+9881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a085dff
+ffffe666057d877f831f7e07868c8a8f1ec6fbc10644aa6fb91eff00244ccd8bff00
+26cccdff000db333ff0021e666ff001b666708ffffd8e66607fb2a6a70751e13f674
+8b869a859a08869c859a738b08f710ff00be4ccd1573fffff03334ffffe56666ffff
+f98000ffffe8999a8b0813fa7085a9c91ff791f3078c8b8c8b8cff0000199a080eb6
+81c2f70ba4f75db274ac12e4dad8e1f74ee572ac13cdf8daf71515f7770aac98158b
+ff0011b333fffff96668ff000de667fffff49998ff00076666fffff58000ff0006cc
+cdfffff16668ff00013333fffff219988bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce0813ded6b8dfd21ec18b986f8e6dff0002b334
+ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f8b
+58ff000bb334ffffcfb333ff00191998ffffd86667ffffe64cceffffecb332ffffe2
+8000fffff83334ffffe666668b087085a9c91f13edf791f30795998f941f9f078f88
+8d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb8000
+8bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5
+cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919
+988bfffff466688eff000699988bffff91199a085dffffffe666057d877f831f7e07
+868c8a8f1ec6fbc10644aa6fb91eff002c66668bbbff00148000ff00266666ff0028
+e666ff00104cceffffec4ccdff00144cccffffef3333ff0018999afffff3199a776a
+786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788a88b988b08d3ecc1
+ed1f0ef776fb71aff74ba8f7ffb265bbf776ac12ebd6f741ee4dd6f75ed613ed80f7
+f4f81a15a58e7f521ffb8d078b6efffff46666fffff54cccffffe0999afffffcb334
+0878890586ffffff800088fffffd80008b86088b788d8905af8cab8cb18bb08bab8a
+af8a088d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdd999aff0003
+999afffff76666ff000a66668ba808ff00fd4ccc0713de80ff002ee666ff0031999a
+ff00333332ff0010199aff0025e6688b08b1a775481ffb77078cfb0094fb2c5f8b80
+8b8592859483958197718b0880787f796dad7d9d1f9f8bad8bb0aabab19bee8bf736
+08f73f07e57ad0331effffcd4ccc8bffffbe199affffeb999a54ffffcbccccff0000
+ccceff0023199aff0001ccccff002580008b8b8bff0001e6668aff0001199a888b08
+13ee806d7f6d8a688b08fb51c406f72ecfa4ac1eab8baa7f946096559c73aa8b9f8b
+9f9d8b9f8bb06ab266a4729c7195658b08372353fb5a1f7c580779867f831f7e0786
+8c8a8f1ed0fbd2068b6efffff56666fffff56666ffffdf999afffffc999a08788905
+86ffffff800088fffffd80008b86088b788d8905af8cac8cb08baf8bba8aaf8a088d
+8d8b9e058b9087ff0002cccd87ff00003333086a8d05ffffdc4ccdff00023333ffff
+f8b333ff000bcccd8ba808f7d2070e4681ac72acf80bacf75ea9a67712eadaa2aa7a
+d2f721d755ab137d80eaf70e158b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8aff0000cccdff0000cccdff0000b333ff00011999ff0000999aff00014ccdff
+00004cccffffffe667ff00004ccd8bff00004ccdffffffe6660813bd80a684a687b0
+8bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333ffffc3ccccff00164c
+cdffffd83334ff000f80008bc28bb4afa2ad8b0813bd40f72c0a13be80de699e768b
+608b5a5b76668b648bffffea4cccff000d4cccfffff5b334ff000ab33475a280b785
+a48591788a8585ff0002e666ffffdcb333ff00024ccdffffddcccdff0001199affff
+dfe6660873ff0007cccdfffffab333ff0013e6678bff0039e66608f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080e87ffffffe666ff00
+22199af7fab09577f772a9a67712eadac3ac13bef78ff84b15fffffd999afffffc66
+66fffffc6666fffffd999a1f8a5e8668825aff0008cccdfffffc4cccff000c9999ff
+fffe199aff000b999aff0002999a0813de9fd4aaff00114ccca9ff0000b33408f714
+8e05ffffbc199affff8e199affff9c199affff703333ffffb1ffffffff96ffffffff
+d44ccd8ffffff78000ff000c999a8bff0049199a08f86107cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fc49078b3880864e8885858b769185
+ae8cb08cb38bb38bb18aac8aff00008000ff00008000ff0000999aff0000b333ff00
+006666ff0000b33308ff01308000fffffd199a0597ad98bf92bdfffff98000ff0003
+b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75
+ffffcbe666fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002
+b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3
+999aff0004999afffff18000ff00056666080efb2af7a3a2f7cfa201f7eff7a315ac
+88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ff
+fff3e666ffffe54ccefffffc4cccffffffe667fffff5ccceff001ce66608ffffdae6
+66ff00694ccd05fffff48000ff0020b33489ff000b4cccff002080008e8f8f8b9a87
+8f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333ffff
+fb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc66
+67ffffae666605fffff3e666ffffe54ccefffffd8000ff00004ccdfffff4999aff00
+1c800008ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c66
+66ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c87
+878b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ff
+ff46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff0006
+33348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff6
+0001ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff00051999
+909608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666
+ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87
+08f7e604f7860a0efb5af73ec1f7b0c101bca7f787a803f7f1f7fe15f75cfbc0fb5c
+a7f726f787fb2607a8fbe715f75dfbc0fb5da7f727f787fb27070e72fb6476a5a6f7
+38baf803a879a8129ccdc6d5f75ad613eff76cf73b15f74388ef206e4f7c696ba488
+8e1ea28b96a38f9b8f959090968b08ae8f4afb2bfb018f27f31fb28bc59acece08fb
+bfa1079f949a909d8e9c8faf909b8b0889a4058b8e898e888a086b880577819fba1f
+f8670713f7a7949bad1e9e06908e8e901f8b9e898d058b47896764478d8b1e89898b
+7805868f888f1e9e06ac957c6e1ffb8e075b5c60716e8b084d7bc9d11f0e88fb79a8
+f750baf803a879a812acceb5d5f75ad6cece13eff87d9415f7f107a7949bad1e9e06
+908e8e901f8b9e898d058b47896764478d8b1e89898b7805868f888f1e9e06ac957c
+6e1ffb8e075b5c60716e8b084d7bc7d01f13dff73e87f700326e4e7c696ba5888e1e
+a28b95a3909b8f959090958b08a18c46fb2a368bfb0df7001fb28bc59acece086c07
+fb329ffb02eea8c89aacab728e871e748b8174867a88828586818b086c7acff7211f
+0efbb4f800a2f766adcba101c2bcf703bc03f3f92c15b58da58b1e90898d851e7b84
+5d837189088c7905898d8a8d1ea08a05989184611ffb80078b76fffffe999a88ffff
+e866668808838a05878b88891f79078bb08ca3a5b38a8b1e9d078f888c891e808c05
+ffffee199aff0001999afffff8e666ff000466668ba008f71d079ea2a0a1a08b08a9
+9f7a581ffb06078b76fffff9cccdfffffbb334ffffed3333fffffe4ccc08808a0587
+8a88891f79078bb38ca4a3b18a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00
+034cccfffff9ccccff0004b3348b9e08f71007ce6da45e1e678b68687d7b080efbb4
+f7faa2f771a8e0a101b9bccfb78cbb03b9f828157c8783791e8106888a89881f8b7a
+8c8a058bae8c9e9fb98a8b1e8c8c8b9c058e898d881e82067a85939a1ff73307a4a4
+ab999a8b08a39c77611ffb1c077c8683791e8106888a89881f8b7a8c8a058baf8c9d
+a0b88a8b1e8c8c8b9c058e898d891e81067a85939a1ff72407c170a8641e778b6383
+686808b7078b9f8c968e9990a79a96998b968b9887917c8f818f809a8b0896959595
+9f78a1516f537a2b1f0efc18f79b9ef7d1a0c9c4128bbbb2c758bc13f8f709f97715
+f7870a13f476fb5215f7880a13f8f7890a0efbf1f801a8f75bb761a112d5bb13d0f7
+3ef8e515f78a0a13b0f78b0a0efbf1f7fab37c9ff75fa312f712bd13b0f712f85c15
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d8b89509a8b051370a396a391b29308899f057f8780887e8b0880
+8898991ff732079f8c90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d
+069c938a731f0efbe7f78e9ee4b3f764a301f712bdbcbb03f744f82115f74c079f8c
+90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d069c938a731ffb1107
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d068b369071a66c9b799f849b8b08a6ad999e9c82947f1f7c8b83
+7b877e8a848787868b086e81aee81f0efbd3f800a1f7059ee5a27f9e12c4bce5c113
+eca7f8f415a78c85761ffb47077f8a857d1e7c8a05898a8b891f7af71307b3c69dc9
+1f8bad74a66b9008a2c90513dc95a79b9e9d8b089d07848c858b848b6a8b77757e67
+08744d5c8b8bca0513ec9f8d92a18d8c8c8e1e8b9c8a8d058b6c8a7774688c8b1e8a
+8a8b7805898f8a8d1ef73cfb3a1573836b541e828b828c828d08f702ad07b7976a73
+1f0efb1df8f5a201f7eff8f515f7860a0efb95f782b4f7dea201a2f7bc03f785f8c6
+15ffffc94ccdfb13fffffbb3338a52f71405fffff2199aff001f1998ff00006666ff
+000ce668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c
+748c87878b7c8f87ac87ff0001999a7fff000f66666808cffb2e05ff0005999affff
+f34cccff00046666ffffeeb3348b848b858a8688837b65786c828b858b8690859187
+90858e828b088178827974aa81971fb78ba2b19eb7ff00344ccdf70dff0014b333ff
+002e4cccff001dccccff0046e66898aaff0004b334ff00104cccff001f8000ff0003
+80008f8f8b9a878f7d8a808a7b8b748b7d8c748c0887878b7c8f87ac888ffffff480
+007dffffdf8000080efc29f8b4f744019bf71503f714f95d158490858d838b088706
+7f8a84878882084bfb26058a8a8b8a8b8a8b878e878e888e8a8e8a8d8b8e8b8e8c8d
+8d08f1f70d058f908c918b908b9785968091080efb89f8c4f74101c1f79903f7cff9
+4715f7210afb189115f7220a0efc3ff86bd3e59c01a8b703e4f86b15a9999d9b9b86
+a162838593981f8ba2a0b0b59408869c0545836b4d8b670867a166b11e0efc38f86d
+9ce5d301eab703daf92015f7040a0efc3ff8749ce1d701a6bd03e2f92715f78c0a0e
+fbf4f82fb6f72eb601f732b703f75ef8a215d65abd481e828b788882890894620591
+8c9b8d918b08b6a86b595572795c1f828b828c838e08866205928894889a8b08c6c4
+b1d81f0efbf4f82fb6f73f768fb612b9b213b0b9f8ac1540b859ce1e948b9e8e948d
+0882b405858a7b89858b08606dabbdc1a59dba1f13d0948b948a9388088fb40513b0
+858e818e7d8b085056653e1f0efbb8f90a76c6a401c5b4a4b2abb303c5f90a157b9b
+86921e938b94908c948d9e94a5b88ba68b98768b718b787c7d7b7e777b77798b6d08
+68b2a7078ba69c9b9e9a9e999c9a8ba508ba67a85e4b6b6a6d1e0efbb8f930a301c5
+b3abb2a4b403f77ff90a15a86bad4b5e676e5c1e8b719c7c9e7d9e7c9c7b8b70086f
+b2ae078ba9779d779b7b987c998b9e8ba598a0a68bb88b94718d778c829487938b08
+929b8f9c1f0e3ef7f3f7bb01f738f88615f78bf28bb8fbc4fb128b61f7c4fb138bb8
+050e3ef7f3f7ba01f7f6f88715fb8b248b5ef7c4f7128bb5fbc4f7138b5e050e3ef7
+eef7c401f704f7bb03f797f8e515730a0e3ef7eef7c401f703f7bb03f797f8271524
+f78b5e8bf712fbc4b58bf713f7c45e8b050efb8abef79103f756f93e15f78d0a0efb
+8af729f89a15f7030a0efc65f8aef74c01b4bb03e5f95f158390858d848b858b7e86
+81858c718b628b738b768b688a7792879289928b918b998e9492088aa88bb38ba28b
+a28bae8c9c080efb3ef89abd01d5f79903f7cbf89a15f40a0efbd5f8b8f73401b7f7
+3003f717f95815f78e0a0efbd5f8b7f73501daf73203f735f95815740a0efc1ad0c1
+03f70ffb7815f78f0a0efb61fb17b701d5f78403f7b7fb1715f7900a0efbe6fb6ff7
+2101aff74a03affb0b15f7910a0efbdafb6af72601b8f73f03c6fb6a15f7920a0efc
+16aff71f03aff82915d0fb0dd1f70d05fb1ffc0415f71f8b45f70d050efc1baff828
+15d0fb0dd1f70d050efc27fb77abf70aac01f711ad03f711fb1c156971726a1e868b
+868c868c08826c059389938a938b08bfb4b4bdbe62b4571f7f8b7f89818708976c05
+928e928c938b08afa26f6c1f0efc27fb6cabf70aac01adac03adfb111558b563bd1e
+948b938c928d0883aa058689868b858b086972a5acaaa4a7ad1f948b928a92880897
+a9058090808d7e8b08586261591f0efbe4fb78b701f701b603bbfb7815f7930a0efb
+e4fb6376f70ab701f700b603f7684915f7940a0efbd5fb29b701f708b703f734fb65
+15c7ce0791948e928b928b92889186930847cb06838f858e858b848b84888184084e
+4807848489848b838b848d848f8308d14a0693879189928b928b928e9493080efbd5
+fb11b701adf75903f7733a15fb4706848488848b838b848e848f8308f7490691948e
+928b918b9388918693080efbaaf8a5c401a0a6f76ca603bbf93815f7950a0efbc4f8
+b7ed01eced03ebf8eb15f7010a0efb7ef8deabf5ab01e8b3ebb303f749f96815ba0a
+335615da0a0efb99fb5cb101cbc903f79afb1b15f7960a0efbc3f8ccc089c212f794
+a613a0f765f90115b30a1360b40a13a0b50a0efb89f8c4f74101c1f79903f7cff947
+15f7210afb189115f7220a0efba9f7b2bef7187701f725b803b2f81115996505a59a
+bba0a5908682887b8b7d8b5ea17d9b8ba58ba197bcaf08809f05757f8086758b788b
+869b8ba18baf9aa19ca4087d96055d654c6f4f75080efb80f774f8f615e1d4058794
+8b8b869386938b8b869008fb0243fb05d30586868b8b868285828b8b888408e34134
+42957b058f848b8b918508f703d2f703440592918b8b8f9290928b8b8e94080efbb6
+f7faa3f7a9a301e2aec7b303f727f7fa15c59cb59b1f8b948ba562ca088d91d7f711
+059296998e9a8b088ba18a8d058b6b897a1e7c8b748c7a8c088a898b7505a0988a81
+1f8b898a898a8708502855ef05898f898e8b8e0890928ea11e8ba18a8d056e89708b
+7c8b798b7f8c7c8c088a898b7805888d8b8d1e9b8b9e86937b08d6fb1f6a5905847f
+81798b7b086ea47bae1e72c0158b9798a19eaa089083059f6e8e7d8b820878807c77
+7a7f959e1e0efc46f7ffa1f7d0a001c2bc03c2f84c15f7970a0efbeaf7faa4f779a4
+12a7a17cbbe2c16fa213e8a7f85e15f7980a13d4f7990a13e8f79a0a0efbb4f800a1
+f775a101a0f7a603ff00ea3333f8cd15a7ff0023e668ff0004b332ff00044cccff00
+1c199aff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88a
+fffffe3333fffff7ccccfffff2cccdffffed3334088b8b8a8a63530867c4057f9f8b
+92a88c8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199affff
+fe3334ff00011999fffffd9998ff001a999affffda333408ff003833333b058888ff
+ffcecccd518b8bffffe19999ffffdc8000fffffdb334fffffb4cccffffe3e666ffff
+fe333487878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d
+8b8ba3a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a
+8a9d8a8f8f8b99878fffffe3e666ff0001ccccfffff9999aff0002e668ffffe5b333
+ff00254ccc08ffffcbcccdd5050efbf0f800a2f7dea101a5bbb2bc9dc303f74df817
+15748b949d1fd0078bb972a773a477a078a18bab08a99ba9b0a9a57a721e8b878a87
+8a888b888a888b8708789c8795979c959cbf51a8564c676b591e8b5da277a177a079
+a0798b64083b078b798a81748a088006878a89881f79078bb28ca4a4b28a8b1e9d07
+8f888c891e0efb32a076f8e1c301f7c9ca03f808f91915fbee53f7affce1ca060efb
+32a076f89bc3d17701f7c9ca03f808f919154c45fbaf53f7affc9bca060efb32a076
+f7cec3f7a77701f7c9ca03f808f919154cfba7fbaf53f7affbceca060efb32a076d0
+c3f89c7701f7c9ca03f808f919154cfc9cfbaf53f7af46ca060efb328bc3f8e17701
+f7c9ca03f808f919154cfce1fbaf53f7ee060efb7ad5b801bdbe03bdd515f79db8fb
+6af78d58060efb73f762b901bdbf03f1be15f72ff770b9fb70f72b57fbf4070efbaf
+fb15f7940198f71315f713fb94aa8bf70ef7945e8b33fb4a2df74a050efb01f8dbb6
+e8b701f876f8db15b6fc716007f871f71c15b7fc715f070efb6df8579fdbdd01f716
+adf70dad03f1f90d15f79b0af72f8d15f79c0a0efc10ffff1d8000f7550195ff00c3
+b33303ff006be666ffff61b33315ffffc38000ff007ccccdffffda999a8bff005633
+33fb55ff00194ccd8bff00543333f755ffffda999a8b050efc10ffff1d8000f75501
+95ff00c3b33303ff006be666ffff9a4ccd15ff003c6666ffff833333ff002566668b
+ffffabcccdf755ffffe6b3338bffffa9cccdfb55ff002566668b050efbcdffff1c66
+66ff00c33334019ff77c03ff0058b333fb1615f79d0a0efbd7ffff1c6666ff00c319
+9a019ff77c03ff00b74ccdfb1615f79e0a0efbfdfb5eabf5ab01a8b3ebb303f7094b
+15ba0a335615da0a0efc2af785f74401a9f71503d3f83515ffffe08000fffff58000
+ffffe9ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338b
+ff0002cccdff000a66668bff0002999a8b8c8b8dfffffeb3338e08ffffc14ccdf723
+0587948390808b080efba6f787f74201a9ff0103b33403cff82f15ffffe8999affff
+f16666ffffede666ffffee199a1f8b858d84908508f706fb02058d898d8a8e8bff00
+02999a8bff000a6666ff00044ccd8bff0009b3338b8c8b8d8a8c083df71f05869484
+8d7f8b08f71c9115f7620a0efba6f787f74201a9f79903f791f82f157f8b84898682
+083dfb1f058a8a8b898b8a8bfffff64ccdff000a6666fffffbb333ff0002999a8b8e
+8b8d8c8d8d08f706f7020590918d928b918bff0011e666fffff16666ff0012199aff
+ffe8999a8b08fb1c9115808b8386878208ffffc14ccdfb2305fffffeb334888b898b
+8a8bfffffd6666ff0002ccccfffff5999aff000b33348b8e8b8d8c8d8d08f1f70d05
+90908c918b908bff000dccccfffff58000ff00163334ffffe080008b080efba9fb0e
+b78fb9019fa3f77aa303f7743d15788b7a957b97779975996d8b608b746d7d5008a3
+860595ac989aa58b9c8b9e809d80a07da07fa18bb98ba8a997c7087391057d617d81
+758b080efbfaf7ddf5f731f501cbf503cbf91915210afb9b04210a0efc0ff92db401
+a9b703a9f8a31590829487908b918b958c949308f722e50795908d968b908b908692
+7d9308fb088b807f050efc0ff92db401f718b703f744f8a3158bf73b8097fb088b05
+7d8386848b868b868d80958608e5fb22069483958a918b908b948f9094080efc0f99
+b401a9b703a9f755158bfb3b967ff7088b05999390928b908b90899681900831f722
+068293818c858b868b82878682080efc0f99b401f718b703f744f755158694828f86
+8b858b818a828308fb223107818689808b868b869084998308f7088b9697050efb89
+fb0bf70bfb0bb712a9b7f75eb71370f7a881154afb5ecf078491848e858b848b8487
+818308340713b07d8f839f1ef77f069b9a98961fe307848e848f838b08848b848883
+84080efba7fb0bb701a9b703f7b24015ffffed8000ff0007e666ffff3e8000fffff8
+199a8b8b08cf078491848e858b848b848781830834077d8f839f1ef761069b9a9896
+9387978b1f0efb3d82a901f820a015fbb7069395a8a59bb0086a067d7b625c597908
+8007c76ba57b9e6808ad067cab76a0799e08f7b7060efb30f95815740a0efb2cf958
+15a30a0ef8bef73101fb9ef79003fb0ff95b15f78d0a0ef8d2b78fb9849512138037
+f90115788b7a927b977799759f6d8b608b74647d509185958a968d95ac959aa58b9c
+8b9e839d8008a07da079a18bb98ba8b297c7858f818e808a087d618081758b080ef8
+abbd01fbeaf7990322f8ab15f40a0ef8edb70164f8ed1598959d97918793821ffbe9
+0680807a7f848f83941f0ef8a5c401fbbca6f76ca603fba1f93815f7950a0ef8a0ef
+01fb7aef03fb7af8d415f7010a0ef8a2ea01fbe9e9d6e903fbe9f8d115950af73d16
+950a0ef986a601fb7cbdb7bd0333f96715f79f0a0ef8ccabf5ab01fba2b3ebb303fb
+4af95615ba0a335615da0a0e64f94715f7210afb189115f7220a0efb79f8a915f703
+0a0ef8b8f73601fb48bf03fb13f953158390838d848b858b7c8681858c718b6e8b73
+8b768b728a7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8
+aff74801fbd3b8c7b703fb3ef8af15f7485ffb48074f8c15f7475efb47070efb98f9
+8315f7610af71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b868c85
+908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff000299
+988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8a5c4cfe601
+fc16a6cae5caa6031438fbbcf94f15f7a00a4c7415f7950a0ef8e0c401fbeba6f76c
+a60327f88615f7a10a0ef868dddb9f01fb32ad032bf86815f7170a0ef86a9fdbdd01
+54ad0338f92015f79c0a0ef86f9fdbdd01fb15ad0348f92515647466671f8b739275
+9b77ff0010e666ffffeae666ff001c199affffef199ab1868f8f8c948b92529777ab
+8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0ef8
+5e9fdbdd014cad0330f91415f79b0a0efb6ff72101fbe7f74a03fbe7fb0b15f7910a
+0efb6af72601fbcaf73f03fbbcfb6a15f7920a0efb6d76d1b601fb68b703fb3cfb79
+15f73c07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508
+f7034a0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c
+0790889189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc
+06848e858d848b848b83888285080efc26f8bfb401f712b703f73ef849158bf72780
+97fb268b057d8386848b868b868d80958608f70cfb0e069483958a918b908b948f90
+94080ef7e0a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a
+98838b7e08696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb
+2915a89ba6b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f90
+8b908b908c088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb78
+15f7930a0efb6376f70ab701fba3b603fb3b4915f7940a0efb3bb601fba5b703fb79
+fb7815c8ce0791948e928b918b92889286920847cb068390858d848b858b84888185
+084d4807848588838b848b848e838f8408d14a0692879289928b918b938e9492080e
+fb3bb601fb35fb1015fb4706848588838b848b848e838f8408f7490691948e928b91
+8b9288928692080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e
+7e62bf5fc4c99bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb81
+04c1c2b5b69881987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e
+0efb3bf70001fba2f70003fba2fb0515f7a20a0efb3bf70001fc06f700e5f70003fb
+40fb0515f7a20afb5a16f7a20a0efb5eabf5ab01fbc5b3ebb303fb6d4b15ba0a3356
+15da0a0efb76a3dadd01fb77b203fb8e6215f7160a0efb5ca8d6ab01fb2dc903fb4e
+2b15a50a0efb5cb101fbecc903fb26fb1b15f7960a0efb81f74501fbafc103fb79fb
+7915f78f0a0efb63f70b5fb712fc0bb7f72cb71370fbdffb5915f7a30a13b0f7a40a
+0efb75cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b
+888b888b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac
+96a5d1a344ae81998bae8ba9c29cd787907c95868e080efb79fb7015bd06a8b9b1b8
+aeb20878980566706972666569af6aa564a708777e05ae63b060a85c080efbd6f791
+03fb3d391559066d5e655e6864089f7d05b0a6aca4b0b1ac67ad72b26e08a0990568
+b365b66fb9080efb7ac401fc17a6f76ca603fbfc3815f7950a0efb6176e5c401fc16
+a6f76ca603fb23fb7615f7a10a0efb14c089c2122ea613a0fb204015b30a1360b40a
+13a0b50a0efb17b701fbfcf78403fb23fb1715f7900a0efb17b70142fb1715f7a50a
+0efb67b7b9b701fc06f79803fb19fb0d15f7a60af7753115f7a60a0ef739c089c212
+2ea613a0fb20f76e15b30a1360b40a13a0b50a0ef75db701fbcff7840329f75d15f7
+900a0ef75db70142f75d15f7a50a0e3ff85a15fc0cfc5c058d7c97809b8b08f80df8
+5f05879881957a8b080e9376f9337701fcee7e15f89bf91505fffffdb333ff000ee6
+68fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4f704b201
+fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b08c2b7b5
+c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb65f70bfb
+0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b848781830834
+0713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b84888384080efb
+82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74af73a070e
+fb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a8f8b8f8b
+8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a8b7d8b6a
+80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00cb199a01
+fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049ccccffff
+e3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffffe34ccc6f
+ff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff00493332ff0049
+1998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff00133334
+f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ffff0c8000
+f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334fffff3b332
+7bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff0033e667
+fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff000a66668b
+ff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e6668ff000c
+4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ffffe5999a
+ff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff00250001ffff
+f4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd15f7a50a
+f7ed3115f7a50a0ef8b7f73501fb82f73203fb30f95815740a0ef8b8f73401fb83f7
+3003fb2cf95815a30a0ef886c089c212fb1ba613a0fb4af8bb15b30a1360b40a13a0
+b50a0ef86a9fdbdd0154ad0338f92015f79c0a0efb77f8a4ea8c7612bde9d6e913b0
+bdf8d315d80af73d16950aa4f767157e8b808587800857fb23058a888a878b880813
+70849185931e8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080efb82b3
+01fb72d6d4a403fb724115f7a70a0ef877f70b5fb712fc0bb7f72cb71370fbdff881
+15f7a30a13b0f7a40a0efb67b7b9b70142fb0d15f7a50af7ed3115f7a50a0efb75f7
+4501fba2b3d1b303fb7afb6d15f7a80af70216f7a80a0effff978000b201ffff6380
+00b303ffff068000ffffbe800015828687828b868b858c86938208ec450690819289
+908b908b95909399088be67f96050ef8a4c089c21222a613a0ffff296666ff01ef66
+6615ff000c4ccdff002e666605ff000c3332fffff83334ff000c666785ff000cb333
+8bb98ba8b297c7858f818e808a7d618081758bfffff2999a8bfffff3b333ff000380
+00fffff44ccdff0006333408ff00106666ff003e4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff1e6
+66ffffca8000051360fffff03333ff000b4cccffffee4ccdff000ab334758b608b74
+647d509185958a968d95ac959aa58bff000f999a8bff00114cccfffff94cccff0010
+999afffff66668087cffffc74ccc05ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006666080eff01d3e666ff00423332
+ff0003e668c089c2fffff7e668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01d3e666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd3
+199815b30a13aeb40a13ceb50a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080eff01f46666ff00c3199a01
+fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f77c
+ff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01fb
+70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7aa
+aca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef891e6cfc401
+fc16a6cae5caa6031438fb62f8bf15a4779f7272777772729f76a4a49fa0a41ecaa2
+15f7a10a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff
+7e333315ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334
+ffffb6ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb619
+9affffb6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6
+cccdff00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ff
+ff193333fb1615f79d0a0effff1c6666ff00c3199a01fffed48000f77c03ffff77cc
+cdfb1615f79e0a0effff1c4ccdff00c3666601fffeec8000fb1615fb24ffffc3b333
+8bffffda999af768df8bff001a6666fb68e08bffffda999a05ff01318000ffffe000
+0115ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6cccd8bffffa9
+b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8f715f7a90a0efc98f8
+e0f30149f30349f91415f7000a0efb0eb012fb49c275b676c313c0fb1bfb12157976
+6f8f8b6d8b829284948b081390ac8b84aa98a398758a6aa58b938b95918b958ba870
+89789f958d948a968b089f9c919b918898791f798b847873800813a08c9b98a18b9a
+08987f9181818081801e8b7d997c8d757396829d788b087e8681837a9586981f978b
+918e918b08928b9288918a080efb6aa6f704a601fbd8b0efb0efb0031438fb2afb17
+15a99ea5aaa99f726c6f786f6c6c78a7a71efb42165db466b91eff001be6668bff00
+18cccdff000ce666ff000fe667ff00138000ff00104cccffffec4ccdff00193334ff
+fff34ccdff001ae6668b08bbb2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff3
+6666ffffefb333ffffec4ccdffffefb333ff0013cccdffffe6b334ff000c8000ffff
+e4e6668b085d62665d1fe2c315a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef8dab7
+0141f8f4158e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d605
+8f858d801e868b848a8989083ffb090588878a888b8908879088961ef30693908a89
+1f8b898a888a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81
+c001fb8104f7aa0a0ef86fc0f7097701f86f04f7aa0a0ef8a6bc01fc0ef8a615f7ab
+0a0efb1abc01fc0efb1a15f7ab0a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd
+8bc68bcc7dc479c379c57cc18bc38bf72b98d4f6086e91055859227a498b588b4b98
+4c9f529d5499558bfb238bfb124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e
+089c7905c9c9e8dbf7588bf7548bed40c848089c9d0537f70efb1ac7fb2a8b080efb
+29a901fba0fb0b156df86107797775777d6b08ae06a7aab1abb19f089607599d62ba
+7e9b0869069968a971947f080ef8919ef7099a01fb7dadb9af03fb2df8df1562077c
+7e8986808b7d8b87958b968b96919bb39608a53d15958b958f949308869605898a88
+8a898b08868994a11fb007be6b9671746a7a75839585939592928f1e8b8e8b8e8a8c
+8a8c8b8d8b8f08948f8f9d979688631e7283056982767c8b748b749d7ca28b9d8b8f
+909d9b8d8191809c8b080ef891a1c59db19c01fbd6b2c1b503fb89f8a71578789cb4
+1feb06ac7fb3575e7164681e8b718f7a977f977f9e7fa68ba78b9d98979b08809705
+807f7f84768b089bd71558068c9d949f9c8b089896826e1f0ef89399f70399bab712
+fba3c767af13e8fb67f8b215f70c800713f07e85798779898b858c878c870813e89b
+89918a8b7e083d078b7e828a80888a878b858c87958c9d8c948b968b9d8a938a8c8f
+8b918a8f08818e838e8b960878f72f15979595979781957f7f81817f7f9581971f0e
+f8919bf70a9b01fb83b4cbb503fb3af92715537a5b6c68a167bebea2b1aea87cbb50
+1fab3315697e7f7d757c9fb5b898969ba2976e601e0ef891a0f7049a01fb6ea9c9aa
+03fb50f924158c078b818a847e778c8b1e8b8a8b7f058a8c8a8d1e8e06958a8f8c8b
+7d084607679b7da31e9e8ba29e9394088f8a8970978b059992968e9c8d089a077e8f
+81ff000466688bff000d9998088bed8b8c058b838a867c738c8b1e8a8a8b7f05898d
+8b8c1e9106948f897f1f4207817f7681838b087f8091a71f0ef891a1f7069c01fb81
+b1c4ae03fb3af92a15606f626464a269b91fa38b9f98999efffffde666ff0005b334
+fffffc8000ff0004b334fffff8999aff00019998817f8581768b08806f90bbb39ea0
+9c1f9a8bff0004b333fffff61998ff00014ccdfffff3e6688c829484948b938b9391
+8b988b95fffff8e666ff000c1998fffff3199aff0006e668fffff5cccdff00058000
+fffff1cccdff00018000fffff166668b080ef8929cf7069bab9901fba0b2c6af03fb
+3ef8b41582818184838b08787e97bcb396989d1f998b92839481088a2b158d8a8a7a
+988b0598929b8e9d8d08899a057e8d82ff0004cccc8bff000f333408f73180077e85
+79877989088c7d059a8893ff000199988bfffff26668086e0783937d8f7d8b618b77
+618b688bffffe94cccff00066666ffffeab334ff000c999a7fff000acccdfffff5b3
+34ff000d9999fffffc4cccff0010999a8b978b9a939594080ef89499f704a3b09901
+fbbfafc9af03fb9bf93615a38c998b1e8e898c881e82876a867c8a087e078a8c8b8c
+1e978a05928f87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989d
+a78a8b1e96078d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e
+1f4c078b7f8889808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b
+8c898c08878c05808d888d8b9608cf07b17199721e778b78788382080ef89599f702
+a201fbc0afbfaebfaf03fb68f8b4158b7e848a80888a878b858c87958c9a8c948b96
+8b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccffffffcccdff0003
+999cffffff9999ff00036664ff0009999aff000a3334ff000c333393ff0009cccd8b
+089b90846f1f51078b80838881888a878b858c87938c9d8c968b948b9d8a958a8c8f
+8b918a8f808e828c8b9808cb07af779b731effffed4ccd8bffffeb6666ffffedb334
+fffff7b333fffff6ccccfffff9999aff0012e668fffff16666ff00089998ffffed99
+9a8b788b7b7a838208898c8ca4808b057e85798779898b85ff0000999afffffbcccc
+ff00016666fffffc33349b89918a8b7e0841078b7e828a80888a878b858c87958c9d
+8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a601fb8baf03fb68f90e158d8a059599989a9e8b089b92838080
+8485801f838b868e888f898d878b898b878b8587827e898888868b87084b078b8093
+8895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e948c8b9808
+d9078b98858c7b8d8a8f8a8f8b919d8d9d8f98910896060ef891a0f7009e01fb77af
+03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d848b850572837e758a8b
+8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a8aff00054ccc888f86ff
+0002b33482858687828b08828995a01f0ef9169a01fbd5f73803fb94f898158d8792
+888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b8d1f8b978a8c058b7a8a
+8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a888986086dffffba80006c
+ff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d1f8b97898c648a058170
+8c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919af70f9801fbcdf73b03fb
+cdf89c158007958c918c988b948b9a8a968a0896078d8a8d871e818bfffffd199aff
+0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b708b8b8d8790857f8b0886
+8988871f8307938ca38c988b968b9b8a968a0896078d8b8d841e7f8bfffffacccdff
+0006ccccfffff83333ff000933340863baaab705969a8e8c978b08928b8d8e1f9307
+7f8a828b808b818b828b818c088207888d8a8e1e928bff00063333fffffe3334ffff
+facccdfffff8cccc0871677baa0589908894918b08908e8c8e1f94077d8a7a8b808b
+7d8b7d8b808c088207888c8a921e928b9188908408b7520589896a648b8b807e8789
+808b0887898b871f0efc09f8aef77a01f702e703f736f994156b8bfffff4999affff
+dfccccfffff76666ffffe833340851fb350592839188968908f704f72f05ff0008b3
+3397ff00054ccd988b9a8b9f779a778b080efc27fb17f77a01a3e703cbfb1715ab8b
+96ab94a308c5f735058493858e808d08fb04fb2f05827f867e8b7c8b779f7c9f8b08
+0efb9cfb82b301f714d603f7144115f7a70a0efb2981abf815ab01f7d3e603f752a1
+15f7ac0a0efb2a81a8f71cf708f71cab01b2e6e6f70803f7abf72f15f7ad0afb29b8
+15f7ae0a0efb2981abf71ff708f716ab01e8f708f702e603f72bf73515f7ad0ab2fb
+1f15f7ac0a0efbfbfb19a3f703e8f763f512d1f571b213f0d1f7f715430ac0fb9815
+440a13e8450a0efc0cf9609a01f711f96f15f7af0a0efb77f8a4ea8c7612bde9d6e9
+1370f788f9a615f7b00afb56fb671513b0950af73d16950a0eef89acf766b5f80b77
+01f79bf7af154a0afbb1fb60154b0ab1f91a15f7af0a0efbeaf782f70801d0f70803
+f713f78215f7ad0a0ec989ac6cb2f7b0b1f788b36cac12f755e0f74aacb2ac9bae13
+2780b8f96915f7b00af7d8fc001530f74806133780f7b10a13af80540a136780550a
+13a780f7560a137780c60a0ef75c89acf7b6b5f78fac01f75de0f7eae003c5f96915
+f7af0af923fcef15f7b20a0efb6f89acf8dbac01f751e003b9f96915f7af0af778fc
+ef15590a0ef71281aff8e8af01c6ebf849eb03cef96915f7af0af7b22415640af7e3
+fbb915650a0ee789acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0ef7
+0c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b00af839fcf41513d8f7b4
+0a13e0f7b50a13d8f7b60a13c4f7b70a0efbce80c2f81777f707ea8c761286e986da
+8ce913d2f751f9a415f7b00a13eafb56fb6715d80af73d16950a13c63bfb8f15f77b
+0a0eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf7
+8bad12f5e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13
+f84f0a0e2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b9
+0a13b8f7ba0a13d8f7bb0a0eb48badf9047701f7c0f8c1158d8bf75afc9ffc278b05
+f793f904154d8bfb93fd120587818a8b8b880885938a981ef8a4069c8f8d8f1f8b8d
+8a8e8894080e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7ad
+f7fd15530a13af80540a136780550a13a780c50a137780560a0e948bb1f8c8b69377
+12c8a913d0f8bb8915700a13b0710a13d0720a0ef71b89acf7b6b5f78fac01f5e0f7
+eae003f8fef70e15580a0ef681aff79ec3f7a6af01b0ebc9acf786acceeb03f7d3f7
+f015368b88a388ad8591768b85858c688c788b698b6a8a768a6d9185a08b91918db7
+8f99e08b08c706e08b8e738e699185a08b91918aae8a9e8bad8bac8ca08ca9859176
+8b8585895f877d368b085bf7a615640af7e3fbb915650a0efbbe89acf8dbac01f5e0
+03f753f70e15590a0eb589acff0115e666ff00266666ff010ab334ac01f5e003f753
+f70e155b0a0eca89acf9067701f761aa15f7760a0ef788967693acf8dbac121360ff
+0296b334f70815600a13a0610a0ef3967693acf8dbac12f1bcf829bc1378f8c0f894
+15620a13b8630a0ec08bcaf779c3f77eca01b8accbacf7baaccbac03f79ef7f01536
+8b88a388ad8591768b85858c688cffffed4ccc8bffffddb3348bffffdf33348affff
+eacccc8a6d9185a08b91918db78f99e08b08f70406e08b8e738e699185a08b91918a
+ae8aff0012b3348bff00224ccc8bff0020cccc8cff001533348ca98591768b858589
+5f877d368b08fba0f7bd15738b838c7a8e888b8a8a8b898983812b8b629685ff0009
+999affffff3334ff000c6666ff0001cccca1d0919cd68b08f7ae06d68b917aa146ff
+000c6668fffffe3334ff00099998ff0000cccc96918bb681e989938b8d8a8c888b7a
+88838a738b08fd1904a38b938a9c888e8b8c8c8b8d8d9395eb8bb48091fffff66668
+ff0000cccdfffff39998fffffe33337546857a408b08fbae06408b859c75d0fffff3
+999aff0001cccdfffff66666ffffff333380858b60952d8d838b898c8a8e8b9c8e93
+8ca38b080ef681aff8e8af01b0ebf849eb03f7dff90215640af7e3fbb915650a0ed3
+89acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8f7bc0a13d8f7bd0a13
+b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf751f8be15f7450a13bc
+f7460a36f75e15f7bf0a13dcf7c00a0e7689ac6cb6f8c4b56cab12f878ac7dac1328
+f808f8ef15f7470a1394f7480a1364f7490a0e8d89acf86ef7285cb2128eadf778e0
+f763ad13bcf7f2f70e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e
+7789acf8dbac01f790e003f7e5f70e156f0a0ebb89acdca8f801a8daac01a3e5f739
+e0f73ae403f7abf721152c9745c18bf7108bf718dbb0e09108e0a9158dd29e8fcd8e
+91918ba085915a8a6d8a588b598b6e8c598c85858b769185ce889d878d4308fb517a
+49fb078b3c8b569ffb22f77f7a8a417887488885858b769185bc8ca98cbe8bbd8ba8
+8abd8a0891918ba08591488e788f8ad5f7339aebf28bf08bf628e1fb3097086c04ec
+81d05f8bfb138b45832afb327b080ecc89acf8dbac01f7a8e803f8aef1156e0a0edf
+89acf774acf7c7a089ac12e2d4f71de0f71ed413eef812f70e15f71907ff00628000
+ff00004ccdff00708000ff0019ffff8bff00bfb3348be6aea1a492ff0007e668ff00
+023334ff00061998ff0001cccc8b920895818d7f1e6e0655614e3d1f8bfb16ffffc9
+e666ffffc5e666ffffac199affffff199a08f77f0713de8bde9c90d18e91918ba085
+915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb7f07ffffbce666
+ff00014cccffffba199aff002e999a8bff0082199a0813eeed5bbf5a1e6c0680828a
+801f8b8690899389a185b3648b278bffff53ccccff00738000ffffe9b334ff005e80
+00ffffff800008fb19078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba0859108458e7a908bde080ef18bd0f8bfad01bde7f837e603f85df70915f7
+03b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22cf70066088f5b
+248b05568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334
+fffffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191
+941f83f714052fc964c88bf70408f714d1f70af71ff716db21fb211e8bfb0063422f
+560883fb1505829086971ef764068fad8eb88bb3fffff8b3348ffffff74ccc8b8187
+855276925a8b082a060efbbe89acf8dbacc9eb0191eb8fe08feb03141cf757f98915
+b70afb5116b70af74dfd0f15590a0e7789acf8dbacc9eb12f730eb8be093eb13e4f7
+edf98915b60a13f4fb5116b60a13ecf749fd0f15f7350a0e6e81c84eadf811ad12ad
+df1330f7aef93e15f7b00af713fc7f15f7c10a1370f7c20a13b0f7c30a4be4157b62
+051370f7c40a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b0
+0a13f4fb09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf
+12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ecf7c60a13dcf7c70a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e2281b2f7f8a7
+a877f3ea8c7612e7da5be9d6e99eb413e980f7d1f9a415f7b00a13f380fb56fb6715
+d80af73d16950a13e580fb0dffff044ccc15f77f0a0e6e81c84eadf811ad12addf13
+70f82df75315f7c80a13b0f7c30a4be4157b62051370f7c40a0e3dfb6d76f778a8f7
+f3c5f781ac12d4daf75ad963e113fcf72cff004b4ccd15ff019eb33407f72bcca3b2
+c1b35b441e8b617444637c6f957a8b7c8b087c7d837a749e819e1f9c8b968e9f9508
+13fad476aa338b418b4963fb073d8b084e8bffffda6666ff001c199affffec999aff
+001c333308ffff77b33304ff00524ccd07ff001d8000ffffe94cceff0027999affff
+f76666ff0036e6668bf7068bdff08bf7058bff008ee666ffff91999aff00268000ff
+ffd16666ff000f999a088d0713fccfa2b6c48bd408e93fbb35fb1a5029fb2b1efc5f
+078bfb1080577e69089779ddaa0593b38cba8bc6080e31fb7fb2f8ceaa6dce12f753
+b3b5c01398f7916e15f7c90a4d2115619e51b8c697becb1e8ba481cb7bce89958895
+8995949f95a0959f08f700f76105a1b49aa8a7ad08868d057484808b7d8b838b678c
+808f88707f627e6970426f3c714a6bf55ef460f00813b887938690828b0813d87380
+597e597efffffbb33381ff0001999a80ff0007b333810813b89c8b948c968b9c8b9b
+8d9a6ab630c4fb0dab2208704c057e6c84678b6b080e2381acf916ac12b0db7bbef7
+74db13e8f77cf842153665fb02398bfb0908fb03d92ff710f5f703d2f7371e8bb17f
+b474b376ae6dad64a70844c00513d83fc66baa8baa8ba598a4be8ba58ba97ba4679f
+6ea47ca48b998ba9928ba88b9d5ca26d9a08699b5ba05f8b4f8b5c678b4d8b57ad64
+dd4808b76815ab7105be61ab408b5708fb374071581e13e82e63f6dc1f8beecec6d8
+b1080efb5a81b1f74aacf737ac12b7da4fd2f723d513f4f70ff70d15f7780a13ecf7
+790a13f4f77a0a0efb2efb79b4f975acf7087701b1e1f78bb103f798fb7915f1bae0
+c31f8bdfffffd4ccccff00373333ffffa73334ff0005cccdfb1d947bc98bd58bd5a8
+f70cf720f747d5a4b69c8ba48b9d809a718b738b686e6461086c7e6882748b6f8b62
+ab8bcb8b928b928c9108820674817d8577739847bb62c58b9f8bab93a394fb1dfb2d
+43fb128b2b0824bd2df75dcf9960634f6b64661e7b8b758c819780997697718b087b
+78807572b375c61f0e48fb6d76f78d76f81fa771bf12eadaf755da13ecf742f7fa15
+f7ca0a13dcf7cb0a0e2181adf7c1aff7c3ad01b2ddf78cdd03f805f7fd15fb8c068c
+f715aff742df8bd58bbffb278cfb300867048afb255ffb303e8b3e8b5bf7318af724
+08399e15fba4f70939e1dbf715dbf7a6f79dfb0fe43b29fb03fb06fb841e0efbce80
+c2f8177701dfda03dff7d615f77b0a0e3281bcf745a8f71dc455a712ecda13e8ecf7
+d115fb89078b7989708d818f7a9981ab8b08b182b7b11ff72407a28b917b977708d4
+fb0905ff0022ccccffffc83333ff00123334ffffeecccda38bb18ba79aacb5fffffd
+3334ff0008199afffffa9998ff00064cccfffff53334ff0002999a7c7983847d8b75
+8b82a06dba0843f708058397809c8b948b908b8f8e8f08aeb605b1bb979c9a8b918b
+94899284948396849c8b089e9c9c9cae76976c1f5e8bffffde199affffe08000ffff
+bae666ffffaa800008655c05ffffed199affffe8999afffff6e666fffff966667d8b
+08ff004c4ccc07ff0031b3348fcb8b1e8f868e831e13d8ffffe3800080ffffd88000
+82468289858d7b8d8508ff00368000fffffae666ff000a8000fffffa199a8b52080e
+4b80c8f8dfc801f8a0cc15fffffcb33494fffffa9998ff0004999afffff4b334ff00
+02666676717786768b6b8b7fab64f7180820f7f70568f70a53966d8b648b6b6c7165
+ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa595
+a48ba78bb276b4fb1e089860fb71fc47a47f05a291a48fa68d08f723f7ffd2fb8105
+a72ea35fbd8ba88bb2b09db2080e22fb6d76f778b8f8207712c1da3cdaf753da13f4
+f7d6c7158d068e6f9a61c58b08bcb1b390928493871ffffffa33348b887bffffe7cc
+cc8b08648ab4b91ff77207ab8ecb8b1e7c857887788b7e8b7b8c858c916b8b5a8b6f
+08fb7107756a596a558b08567fbccc1ff75607ab89cb8b1e7c857887788b7e8b7b8c
+858c956b8c5a8b6f08fb66078b788f748b808b7687798b708bfb108a547e69089679
+daaa058fa08da48ba48bc083c68b9e8b8f8c8d8b8c97849f869d8b08c88bb5a5b3b7
+080efb0df810a6ae7701f7f1e603f1f7e915f703fbf105ff0009b333fffffc4ccdff
+0009999affffff6666ff0009b333ff00044ccdf71df751c8f7188bd508a77da66d6c
+7b737a1e8b589e8d8b498bffffde800073ffffcd800043fb00fffff98000fffff64c
+cd87ff0004cccdfffffd6666ff0008e66608ffffa0199af7df058896fffffd80008d
+fffff980008bffffe180007e61fffff78000ffffc48000fffff28000fffffe333383
+ff0000cccd808f8308b08905ff00173333fffffeb334ff000acccdfffff94ccc946e
+080efb3dfb78b3f74acdf79baef75fa9f67712b2d36dd2f76cab13fbf761f8cc155b
+683f528b548b56a67ab97c0813fd34636f488b500837b62ff744ccb87559536c5568
+1e778b778e799477947a93788b0813fb767c80796aae84b5f5ccd5d7e74bb9351f13
+fdfb0773cac31f8bd1acb7af9da592a790ab8b998b9c869a8b08a4a19aa69c7e967a
+1f6d8b6a6d558b0813fb6d6da1c21f8bb2b7bfccc0c89ebe9d8ba48b9d8396788b73
+8b6c75565f6c7e7b8b748b708b66a28bcb088b928c928b9108820674817c777f7598
+48af79c58b089f8b958ca191080e3081aef80fae01b4e1f78ee103b4f761158a0af7
+59f75b158b0a0e6e81d73fc2f7d0cf12a3a3f706bff70cca13bcf8a7f84115fc0506
+2d8b673c834fff00016666fffff7ccccff000b999afffffc3334968f9dc4a7a1bd8b
+089d068bfba4657e6181ffffe63333fffff9e666fffff0cccdffffee199a8b790873
+9c81a1edaff715f7861ef7100688fb078a2b8b5108137c3f9c71cb1eba8bbfbca2aa
+88958690818c656564887e8b748b829e8bb58bf71e8bdc8eaf08bd06b68bab9f9caf
+080e45fb6d76f778acf80eb101d9daf787e103f729fb6315f7cc0af7e3f83f15f7cd
+0a0efb2efb7db4f74adaf7d0c401abc0f7b3ad03abf750158b2cc429f70486f70286
+c87b8b518b43596c748b7b8b758c819780997697718b087b78807572b375c6e4c7d3
+d51f8bb88ab369ad789e689d668b08fb184ca3f708d8c4eee51fb48b9e7b9a7c9a7c
+9c819c8b08a79ca4a5a66bae27fb333dfb28211f0e7281acf7e6cf01b0def79bde03
+f874f7fd15b08b9ba19dad088097fb858b05308b446f6868616174508b4e08fb12e3
+33f71df733b8f711c41e8be44dd04faa0840fbe615245deccfeab8d9f7151fc459ab
+5e8b30082d59514b1e0efb2e81c0f7d2cf12a6a2f70acb61c513e8f72ef841152e8b
+703684568f859489958ba2c8979cbc8b08c30613f07efb0082fb068b558b42a775c2
+8bb78bb4b0adb7fffffc999aff0009b333fffff9199aff00053333fffff74cccff00
+03199a62616e877a8b768b809f8bb80813e88bc291e395f70208f106b48ba2a19dad
+088097050e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15f77f0a0e85fb
+6d76f77aa8f80fb201b2dbf71fc5f72adb03f866f76e158b275a38267e08f79207f0
+a5a2b1c8a43c241efb29fb7615cd91f737b78bf7578bf157effb068b718b6e847576
+656484648b4208fb8307fb069572df8bf28bf702b9c5aea70878a0055d752b388b24
+8bfb1dce32f72c828bfb1080567468089779d0ad0596b58cd08be0080e31fb7cc6f8
+bdc601f742f79315bafb21fb5afbd6887ba58ac181c4f701def74bb2fb0005bbfb18
+a05ace8bff000fcccc8bff0012999aff00074ccdff000f999aff000eb333ff000d19
+9aff000c4ccdff000ab332ff0011e666ff00083334ff0011cccdfffffe6666ff0008
+6666fffff9999aff0006999a808c7e7c797f798b638b7f9363f708084ef747f721f7
+5ed4f6058b5b857384778e8b1efb16fb996ee105ffffda3333ff0070199affffdacc
+cdff0041e666498b6a8b736c736bff0001e666fffff38000ff0006b334fffffc8000
+ff00076666899b9b9e91968bba8bff00178000ffffe18000ff001f8000ffffa18000
+080eacfb6d76f778acf7f4a9ab76f77b7701f7d2b203f883f7c4157b360576fb0271
+4b467588af88c78bc98bf7078df70e95dc089df73005858972837b8b7b8b818c858c
+92fb4490fb338bfb1c8b668b4a8958289574f083f71d0881f73205ffffff666695ff
+fffd999a8e808b71805b7f4e7d8881ff0001b33381ff00064ccd8108ae069b8ba286
+8d690890420595fb29adfb0df73188872179457e69089679cdaa0593b38cab8bc68b
+9a8aad899cee9ec5df9ad908a9f7350594bb94a29ca7088892057484838b7d8b838b
+788c808f887081458468080eca81b0f8337701adddf745cef74add03f904f75115f7
+ce0a0efbce80c2f81777f70aea1283e989da89e913f083f8d415d80a13e4f73d16d8
+0a13e83efb9215f7cf0a13e4f7d00a0e2281b2f7f8a7a877f4ea12e7da52e9d6e9a7
+b413f7f706f8d215d80af73d16950a13fbfb04ffff034ccc15f77f0a0e3081aef80f
+ae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281b2
+f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e357fad
+f916ad12ace1f786e14fd913f0f7fdf8ea158b595e433f635f75657f6977a1f70cb1
+f736f70f8b08b597775d1f6cef15fb48fb09fb76fb54fb2ed4fb1ef7281f13e8f713
+dfeef7161f8bf70147e6fb06920813f0e9b9d1c88bd208c658b0491efb67fc45158b
+ab8bac8e9bc1b1b892aa8b0813e8d0cd57fb07255c273c4444e9f7291f0e5b7faaf7
+f8b2f78ead12e2d14bd6f777d513f4f81ff83215228b58a071a161ae7db58baa08d1
+aea8ca1ebbe741fb441f13ecfbc2fb9a15fb05bf58f705f729c9f73af7711ea08b9b
+8496849197909c97977b94778e688b08f71744f72dfb3a1e13f43f4659461f8b4f9b
+64b860b760cd78f71d8b08fb0772fb852a1e13ec4964b2ea1ff7397c07848b848881
+877a826f7f4f8208906e059c8e978d988b08989484651f0e6089acf8ddb501f77ae0
+03f7cff70e15f7d10a0ec689acf8ddb501f7e0e003c0f96815f7af0af800fcee15f7
+d10a0e6089acf8ddb5c0eb12f71feb86e098eb13e4f7dcf98b15b60a13f4fb5116b6
+0a13ecf744fd1115f76507f724cff723c61e9d8b957d927891789c86988b08a0999d
+9fae6ba35a1ffb0c8b5afb48825008880680f71250f705218b618b6378746eff0002
+b333fffff88000ff00064ccdfffffb199893fffffc6668a19d9b8fb28ba88bab7aa9
+52a45a9a2e8b2708fb46078b387a863b8885858b769185bc8caf8cc28bc18bae8abd
+8a91918ba08591083b8e7a908bde080e7bfb6d76ff00e48000a9ff0185199aff001c
+ccccff00fb999a7701aedaf733adf733da03140ef7c9fb6315ff000bccccc3fffffe
+999aff00454ccdfffffc199ad4ff00ac6666ff000e4ccdff0039199aff00834ccc8b
+ff0054199a8bff008a6666ffffa6b334ff0048e666fb23ff00064cceff0001e666ff
+00288000ff00026666ff0023fffe8eff001ae668089df7305c816b8d05ff0003b334
+ffffaeb334ff00034cccffffa91998ff00026666ffffac999affff5ccccdfffff733
+34ffffb9cccdffff9ab3328bffff85b3348bffff803333ff005cb333ffffaf8000ff
+00881999fffff8cccdfffff9ccceffffad6666fffff61999ffffa84ccdfffff04ccd
+ffffd7cccd08967905ff0046ccccff0101cccc15fffffcccceff0035b334fffffc66
+66c28bff003480008bff0043999aff00016666ff0054e6668ed6ff007580007eff00
+25199affffa14ccc8bffffa133348bffffb1199a78ffff9e3333ffff7accccfffff6
+800008ffffd36668ff0185cccc15ff00026666ffffa9999aff00016666ffffaeb332
+8bffffbe199a8b8bfffffe6666ffffb88000fffffa800037ffff8f199a9864ff0061
+b3338bff0054cccd8bff0048999aff0014999aff0071ccccff0086999aff00073334
+080eec7fadf822bc01afdaf758cff75dda03f8d8f76d15fb226d563a1e5c8b64b46e
+cf9bb094c28ba308a3879870727f686c1e8b778d66986a6d4462686c8b408b69bd8b
+f7048bf71bd7b9ab9c087e9f05306138398b268bfb24dd5ee58bc48bb4a9acd6a93c
+c471be8b08f70fc6f71cf0f712fb0af70afb3e1ffb798b8080059d699c87b08b08f7
+2706f704f70a52fb261f0e2afb4cadf71ec0f7eac601f71ab7f710b703f7c2de155e
+9b59c21eff000e999a8bff000e199aff0004199aff000dcccc9208fffff08000ffff
+e7e6660548227677738b728b7f8b81997ca18196708b7b8b837c8b818b7f927e9783
+a07fae80ac8b08bf8baaacb5ce08e9f72d789efffffe199afffffd199a0563ffffd7
+ccceffffe3999afffffc199affffef4ccc8b768b78ae8ba98bc18fc596c7d5cca2ab
+8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8be270ba5d8b66
+8b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d6b72788b718b
+779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080ef6fb1ef738ffffdf80
+00ff00208000f8e8af12b0ebff00b48000ff0056e666ff00a9999aeb13bcf7dff902
+15ce0af7e3fbb915f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff494ccdf70fffff88e666ff00998000ffffefb333fffffeb334ffffcf
+666788ffffd33333fffffaccccffffdb8000088c88058b9c8eaead9c888b1e8d8e05
+137cfffffab334ff0026cccd88ff002c4ccdfffffeb332ff00306666ff00574cceff
+000c4ccdff00463334ff002c3333ff002e4ccccdff0027ccccff0038b333a1ff0048
+4ccd8bdf080e30fb10f729ffffdf4ccdff0020b333f80fae12b4e1ff0059999aff00
+4c199aff00544ccce1137cb4f761158bffffa2999ac4ffff996666ff0076999affff
+ef4ccd0813bcfffffee666ffffd49999fffffdcccdffffd7b334fffffab333ffffdf
+6666088c88058b968eaead96888b1e8d8e05fffffb199aff00234ccd88ff00274ccd
+fffffe999aff002accccff002c1998ff00078000ff0022ccceff00136667ff001a4c
+ccff0019b333ff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd8bf3
+52f70dfb2d8bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd566
+6678ffffc5ccce8bffffc0cccc08f759f75b158b0a0e35fb50c1f940e03edd129bb9
+f802b613b89bf803158b4e97fb09ca49f709fb0ef770f7098bfb268b4c4d604f8b5a
+8b5cb15a8b087872847167a374e6f710f707cbf7121f8ba087a284a383a480957c99
+3cd6fb2e433be465b57ecc8bc08bc19ec8acaca8a6a697be8b0813d8af8bb183b18b
+df8b98b898c2087e9505807d75806f8b0813b8548b5290638b08fb3563fb3f251f0e
+fb4dfb79b4f74ad7f7c0ca947712aeb7f7a5ad13ecf74e8515f701c4765143596c74
+1f7b8b758c819780997697718b087b78807572b375c6e4c7d3d51f8bb88ab069ad78
+9e689d668b085efb1c8cf72ae9c1c2eb1fa88b9285a18bc38ba0a19bba0813dc7d94
+05807f7b8a798b0813ec608b898f608b6c8b5a7e67724d5f77308b4108fb2de264cb
+1e0e2a89acf7b8b1f71276f71fb36cac12ece0f74cacb0aa13f7f7a7f7d715e08b8e
+608e5e9185a08b91918aae8aff001ee6668bff002a199a08ff0022ccccfffff36666
+ffffef3334ffff92999a1e2ef76606a39795a31ecc06f58ba445a146978b968d938e
+fffffaccccb4fffff0e668ff007e6668fffffe9998ff00079998ffffff999aff0002
+4cccfffffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ff
+ffff6668ffffe74ccc8b08ffff00b3340613ef8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff
+00324ccd8bff001cb3338abd8a91918ba08591458e7a908bde08f75d070efb2bfb63
+76f7e7cef747d901c1ac03f82df8511580910581787888738b608b60915f8b08fb0f
+65fb0d261ffbfc078b788b64997d91859488958b978b928f929194958f978ba58bc9
+5edd8bbc8bb8a0b6bd8b08a68ba685a68bbd8baeb297c1088090057e7b7482778b08
+24065d8b6e687e6493f70595f720f7108b08e606c28ba5ae9cc0080e51fb26b4f81c
+bbf81bb412f76ac481c313f0f7b9fb2615b38bb19da29708849e0578857b897d8b76
+8b5d918bac8b978f9a969f08f75ff7f6fbf88bf734f7a90513e89ca892a48ba18bbc
+64a9628b628b6378787f089279059d919b8d998ba98bb2828b688b7c8778827a08fb
+5bfbecf7f88bfb38fbb30513f07a6e81758b760861af6bb61e0e51f7b3bb01f861f7
+b315a7bbfbf88bf755f7e3548cfb56fbe46f5bf7f88bfb66fbfec389050ef763f91b
+be01f778c6dbd2f75ef403f8b6fb0b158ac7678b1ee0edc1f7298bf7178bf72661f5
+2ceb33e63db0fb198bfb088b2a63353408bd6905b2bbccafcb9c08fbbfc6f7c89907
+df8bcd72cb4baf66a5659e626281576e6c756c756c687c647756834a8b4108d2068b
+c190d093b194bcb2ada4a19493be9caa949e4e91488b408bfb2a66305247080e27f8
+a39a01f82fb303f79df84815fb1624ab66f719f4059e769c75997608fb1823ab66f7
+10ed059e629d508b498b6686668165089c06a4c998c88bc78bf762fb32f71efb768b
+838b818b838a08857c05f70983d658b16b080e2a7fc0f7eac601f71ab7f710b703f7
+c2de155e9b59c21eb78bb4b0adb708789d0562616e877a8b768b78ae8ba98bc18fc5
+96c7d5cca2ab8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8b
+e270ba5d8b668b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d
+6b72788b718b779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080efb0efb
+6a76adcff70facf813ac12add9f78dda44a113fcf84cf76a15f71c37e4fb1530254b
+fb64fba6ba2df73e1e13fae08ba47c937808a1920583b470c12c8bfb2d8b74c67ef7
+24088f8d05b356b86ed98b08f713d5f715ea1ffb5ffb53155b3eaef726f732d0b7bd
+1f13fce8b0fb0642fb255458461f0efb2a81a8f818ab01b2e603f716f75c15f7ae0a
+0efbe4fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f499fbae1587
+0a0ef681aff7a8b2f7adaf01b0ff0060b333ff01b43334ff0060199803f92ef7dd15
+650affff9f19989715fffe4c000206ff00044cccff00c7ccccff0060cccdff005133
+34ff0060cccd8bff007d199a8bff0066999affff9d3334ff000a6664ffff49cccc08
+ff0000ccd06415fffffd8000ffff51e666ffffaae664ffff9a199affff8fb3348bff
+ff8b66668bffff91cccdff0063999afffff68000ff00b06666080efb427fb7f73fb2
+f730b701b0d903f707f7861593f72ae891ac8b9d8bba89b76c089ba00567b15f9d56
+8b083dfb1248fb38fb08ce20f71b1fe58bb8c19aa1087a9d056f6f67755e8b328b58
+d283ef08f7320695988f941f9f078f888d871e0efb427fb7f73fb2f730b701f7cbd9
+03f7c7f78615fb2d067a857f831f7d07878c8a901ef74206fb3a27865f1e618b7096
+6ca1087c7605a56db771ca8b08d7f714bcf74af70745f700fb191f318b5f557c7408
+9c7a05a3a2afa6bb8be48bbb3e933c080e4dfb6d76f778a9f811b1f7977701dedaf7
+91e103f72dfb631593a58cb78bbb08f007aa7da783b58b08f71bf2ecf72ef70636df
+fb0d1f638b5782626c08d3078bf71096be98ad08809d3a690581618a498b3608fc6d
+078bfb10804f7e6808967a05f7edf84915fb005444381e6e8b74966aa586837c7581
+8808f76307f726c4a3bedbcc5ffb321e0e8f81b7f8ddb201b2e603f8ccf70d15f7d2
+0a0e89fb6876f78e76f8527701c9aef7f3d003f85416967fc59d8bf83d75963b80fb
+12fbe9fb1cf7e9649657808bfd269485a5918bf8e38d8cf729fbfb05ff0002cccdff
+fff94ccdff00043333fffffcb3338f8b918bff00184cccff00033333ff0002b334ff
+0006cccd08f72ef81c8d8a050e8f81b8f8e1ad01f86ae603ddf8af15f7d30a0e8f81
+b7f77ff708f77eb201b2e6f73bf70803f7f7f7a115f7ad0af769fb2815f7d20a0e8f
+81b8f779f708f788ad01f738f708f752e603f772f79c15f7ad0afb20f7a715f7d30a
+0e6589ac6cb2f7b0b1f788b36cacd37612efe0f74aacb2ac9bae1327c0f782f9c615
+b00a38fc091530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12efe05eebe8eb51acb2ac9bae1324b0f7
+ddf98915b60a132530fb5116b60af71cfc2015133670530a13ae70540a136670550a
+13a670c50a137670c60a0ef715fb40d3edacf7e1ff00378000ff00558000f7285cb2
+128eadf778e0f763ad90de13ef80f7f2f70e15f75807ff00308000b2b492ff002180
+008ba78bff001c8000fffff680009dffffef8000ff002f8000ffffd466668cffffb5
+199a8bffffb280008b6497fb5f5c8b7f8b7f90828f81907f8e7e8b08777a777571a9
+76b01fa18ba4979d9dbdbcb4f7128bf71b8bff005cb334fffff58000ff0051ccccff
+ffcb8000b6ffffe94cccff0012999affffd93334ff000f6666ffffd980008bffffc3
+80008bffffc88000ffffea8000596008f72907cb95b1af1ea106d68bba719c3e968b
+998c948f84b986be8ab80813f780f72e0a13ef80f72f0a13f780f7300a13ef80f76c
+0a0e2989acf8d2b36cacd37612f4e0f7a0a8139cf7edf9c815b10a13dcfb5afb4315
+13bcf7b80a13dcf7b90a13bcf7ba0a13dcf7bb0a0ea481aef79ebd79c3f786b012ad
+e6f7fce666a913bcadf7cf15fb4df1fb20f76becf714c7d59f82a0721e6e8b7c6e7e
+667d6363693f8bffff7580008bffffaf8000f70a81f732ac9aa792b18b0813daf7d4
+0a13ba508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5da1ef71e8bb73aa535ff
+00099998fffffd6666ff00098000ff00018000ff000ae668ff0005199afffffa6668
+bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067ff00238000ffff898000
+8b08fb3afb1cfb1afb651f0efb0281aff8eaad12a6ff00208000fffff78000ff0047
+6666ff00ed999adf4bff0020800013d8ff018ab334f90b15f7690a13e8f7280a13d4
+f76a0a0efbbe89acf8dbac01f5e003f753f70e15590a0efbbe89acf8dbacc9eb0191
+eb8fe08feb03141cf757f98915b70afb5116b70af74dfd0f15590a0efb67fffff8b3
+33ff00284cccf8d9ac01f766e003f7bbf89f158bde9c90c78e91918ba08591658a5f
+8a658b658b588c598c85858b769185db889c868b3808fbd407fb355a826a1e7d8bff
+fff6e666ff0012999afffffb199aff000b6666fffffa4ccdff000d3333fffff0b333
+ff000dcccd6c8b087d737d75ffffce8000ff0056e666fffff43333ff0019b3341fff
+001b19998bff0020e66793ff00206666ff00174ccdff0030199aff0022b333ff001f
+e666ff00424ccd8bef080ef7ba7fc759acf7c2b3f785aa12f76db7f744e0f78ae413
+7ef89ef7e115e206f715a9314f4d7231fb2c557c9cc11f369f158b387a8645888585
+8b769185b28cff00354ccc8cff0025b3348ba88bb789af8b08f70df727a8f73bd5ff
+ffeab334f4ffff2a4ccc1f27f72a068bde9c90d18e91918ba085915a8a3a8a8b8b08
+fb81064a658d8b1ffffff9cccd81ff00008000fffff18000ff0005b333fffff78000
+ff003fcccdfffffe4cccff000e3333fffffd33348bffff9180008bfb5f78fb0c784d
+0813be7f627972768b7f8b808e83a2859d7e9a718b087078776b56c27db01fc58baf
+afa0bfb0e796f7538bf73808d6919bb61ed606b69476461f0ef7dc89acf7c9b5f77c
+ac01f4e0f7ade0f785e503f8c0f7e815de06f714a92a4f4d6931fb2c548b93de1ff8
+25048bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c
+85858b769185d1889c868b3808fb21fbadf721078bde9c90d18e91918ba08591658a
+628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a8645888585
+8b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a9191
+8ba08591458e7a908bde08f76ef7adfb6e078b387a86458885858b769185b88cff00
+2fe6668cff0025199a8ba88ba989af8b08f70df7319df73be46df702fb891f53060e
+f73489acf7eabaf74eb201f79de0f77de003f930f70f15f71f07f2ffffd3ccccc2ff
+ffa733341e648b3c7b484808f73b07cb95b1af1eb506d68bba719c3e968b998c948f
+84b986be8ab88b8c898d8a8b6988fb17863c8b0835063e8bfb0a90658e898b89898b
+8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a86
+458885858b769185b28cff0032e6668cff0028199a8bff002666668bff0032999a8a
+a98a91918ba085914f8e7a908bde08f74607c6c3ca9ca88b08b9af653a1ffb17078b
+3780864e8885858b769185ab8cff003480008cff001e80008bff002380008bff002d
+80008aac8a91918ba085914e8e80908bdf080e9689acf7b9b5f774c866acd37612f5
+e013ccf83ff9c815b10afb80fd4e15f75e07f7068b9d6ab227b6fb02b03ad98a08da
+8a05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff
+0002e666ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194
+c90813ecff00043334ff001d1998ff0005ccccff0020e668a98b988b938696809581
+9986988b08a0a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7
+310713dcf7d50a0ef70789acf8dbacd37601f5e0f7d6e003f7bff9c615cd0af746fc
+f815f7d60a0e8675c9f8d2acbdaa01f74fd1f703d003f7ccf96c15f7d70affff3080
+00fb6115f7d80a0ef489ac6cb2f8d3ac12f5e0f721b1f720e0137cf72816f606c78b
+9463932608b10693ef91b4ca8b08f50613bcff002399988bff003066688ab88a9191
+8ba08591458e7a908bde08f825078bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+2507137c47857c6d1efb8a066e8394d51ff825078bde9c90d18e91918ba085915c8a
+ffffcf80008affffde80008bffffd980008bffffd080008c5f8c85858b769185d188
+9c868b3808fc250713bc8b387a86458885858b76918508b88cff003066668cff0023
+999a8b080eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e7f89acf7
+c2b3f77cb36cac12f1e0f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf7
+3c0a13dc898d0513ec8b3a89771efb7d0613dcf73d0a0e8489acf7c1adf78bad12f5
+e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0e
+2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b90a13b8f7
+ba0a13d8f7bb0a0ecb8bb2f8cab36cac12ada6f827e0bda613bcf704ba15fffff580
+00807787ffffec80008a81ffffff800081fffff980008a7f87ffffcdb334fffffd99
+9affffcd9999ffffff6666ffffcdb33392fffffc4ccdff000a3333ffffff3333ff00
+09cccdff0002800096bfa5e4de8b08f7b606db8baf35975393fffffb4ccdff000b4c
+ccff00016666ff0007b334ff00054ccdffffff8000ff0031e666fffffe8000ff0031
+800086ff0030999afffffeccccff000be666fffff8e668ff00036667ffffea4cccff
+0003b333ffffee80008effffe98000968bb008f871078bff0034ccccff00074cccff
+00013334ff0042b334909196ffffffb33497fffffa4ccc950813dc8b3a896d1efb99
+0613bc6d438d8b1ffffffa8000828cfffff0b334ff00048000fffff74cccff003bcc
+cdfffffaccccff000d3333fffff733348b6e8b4c7f2e75fb06086bfb30ffffed8000
+ffffb8b333ffffe68000ffffe54ccd0813dcf7cff8c215aa91836c1ffc7b07667f88
+731efb6f067d7e90971f8ba0a4eea1f70997cf9bf393f08da49599a68b080e6589ac
+6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd15530a13af8054
+0a136780550a13a780c50a137780560a0ef7ba89acff0124ccccff002a4cceff00df
+e666c866ac12f826e013e8f87bf70e15f7d90a13d8f7da0a13e8f7db0a0e6681aff7
+bcbcf791ad12cfaaf7c2e34be813f4b7f70715f7dc0a13f8f7dd0a13f4f7de0a0ef7
+0789acf8dbac01f5e0f7d6e003f8eaf70e15f7d60a0ef70789acf8dbacbdaa01f5e0
+aed1f703d0b0e003f7f3f96c15f7d70af78bfcf215f7d60a0e9689acf7b9b5f774c8
+66ac12f5e013e8f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7310713d88bde
+9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf80
+008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+ff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba085910845
+8e7a908bde080eb17fc759acf8dbaa12f76db7f744e013b8f89ef70e15f824078bde
+9c91d18e91918ba085915a8a3a8a8b8b08fb81064a658d8b1ffffff9cccd81ff0000
+8000fffff18000ff0005b333fffff78000ff003fcccdfffffe4cccff000e3333ffff
+fd33348bffff9180008afb5f79fb0c784d7f627972768b7f8b808e83a2859d7e9a71
+8b087078776b56c27db01fc58bafafa0bfb0e796f7568bf73808d69198b61ed606b6
+9476461ffc260713788b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba0859108458e7a908bde080ef7889676
+93acf8dbac121360ff0296b334f70815600a13a0610a0ef71b89acf7b6b5f78fac01
+f5e0f7eae003f8fef70e15580a0ef681aff8e8af01b0ebf849eb03f7dff90215640a
+f7e3fbb915650a0ed389acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8
+f7bc0a13d8f7bd0a13b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf7
+51f8be15f7450a13bcf7460a36f75e15f7bf0a13dcf7c00a0ebe81b4f8e2b001b0e6
+f84aac03f7f98115500a0e8d89acf86ef7285cb2128eadf778e0f763ad13bcf7f2f7
+0e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e8675c9f8d2ac01ff
+00688000f89f15f7d80a0eda89ace3a8f7fba8d9ac01b0dbf745e0f745db03140ef7
+638915b28cc28caf8bff00244ccc8bff0035b3348ab28a91ff00084ccd8bff0011b3
+338592ffffbae6668effffee8000ff0004e666ffffff999aff0050199af71692f713
+b98bf7338bff0094e666ffff901998ff0030199affff6f199c9308ff0001e666ff00
+469998ff0012b332ff0004999cff00423334ff0002cccc91918ba08591658a628a58
+8b598b628c658c85858b769185ff00423334fffffd3334ff0012b332fffffb6664ff
+0001e666ffffb9666808ffff85000184ffff7a3333ffffd6e6668bffff5d199a8bfb
+3ef7296cf70086ffffff999affffafe666ffffee8000fffffb199affffbae6668885
+858b76918508f740f72a15f7fb07ee84d96a8bfb228bfb202e6c3785083616319134
+aa8bf7268bf71ee0aae792080ecc89acf8dbac01f7a8e803f8aef1156e0a0eda89ac
+6cb2f8d3ac12f0e0f7b3e0beac137cf8c2f89f158bde9c90d18e91918ba08591648a
+578a648b678b568c638c85858b769185d1889c868b3808fc25078b3d86fffffab333
+6bff00004ccd08fb5f066e799eaa1ff846078bde9c90d18e91918ba08591648a548a
+678bffffdd80008bffffc980008c638c85858b769185d1889c868b3808fc250713bc
+bc0a137cbc8cc88c9f8b08f7da06d88bbb44994494849aff0000e66694ff0007199a
+8bbe89c087bb0813bc8a94fffffbccccff0007e666ffffe73334ff0003199a738e73
+908bde080ec289acf76fc5f7c6ac01f1e0f79ee003f1f89f152c0728b43cf7061eff
+003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f199a078b38
+7a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035e6
+688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591658a
+ffffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d188
+9c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe380008b084363a6
+dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b678b568c
+638c85858b769185d1889c868b38080ef80a8bb0f8d5ac01f5e0f78de0f791e003f9
+c816ff002580008bff003580008ab28a91918ba08591458e7a908bde08f825078bde
+9c90d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b76
+9185d1889c868b3808fc2507397e88531efb1506657a8edd1ff825078bde9c90d18e
+91918ba08591648a558a668bffffdc4ccc8bffffcab3348c638c85858b769185d188
+9c868b3808fc2507397d88661efb1f06617a8edd1ff825078bde9c90d18e91918ba0
+8591648affffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b28cc48cad8b080ef80f
+8bb0f8d5ac01f5e0f78de0f791e0beac03f9f3f89f15ff00003334deff0010cccc90
+d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b769185
+d188ff0011333486ffffffcccc3808fc2507397e88531efb1506657a8edd1ff82507
+ff00003334deff0010cccc90d18e91918ba08591648a558a668bffffdc4ccc8bffff
+cab3348c638c85858b769185d188ff0011333486ffffffcccc3808fc2507397d8866
+1efb1f06617a8edd1ff82507ff00003333deff0010cccd90d18e91918ba08591648a
+ffffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b769185d188
+ff0011333386ffffffcccd3808fc25078b387a86458885858b769185b28cff003980
+008cff002180008b08f90606d88bbb44994494849aff0000e66694ff0007199a8bbe
+89c087bb8a94fffffbccccff0007e666ffffe73334ff0003199a738e73908bde080e
+f71489acff013ae666ff0028e666ff00da3334b36cac12a5a9f765e0f784e813cef8
+3faa154782adac1ff78907ff00158000ff0001e666ff0013e6668cff00124cce8b08
+ff00809998ff0033b334ffffcfccceffff974ccc1f386c3cfb181efb36f88015fc25
+078b387a86458885858b769185b28cff00354ccc8cff0025b3348ba88bbf89af8b08
+ff00ab8000ff00568000ff00458000ff007d8000ff007f199affffbc9998ff0042b3
+32ffff48b3341fffffe6ccce8bffffe4999afffffeb334ffffe24cccfffffd800008
+f7200713def7df0a13ee648a628a598b08ffff70b3330613deffffceffff8bffffda
+4ccd8c688c844c86558753ff0007b333fffffa8000ff00084ccdfffffd8000998e08
+13ee93b6ade8cd8b08b506ba9784401f0ef75f89acff013ae666ff0028e666ff00e4
+3334ac01f4e0f784e8e0e003f949f70f15f7e00afc3e2f15f7e10afb36e615f7e20a
+0e6789acff013ae666ff0028e666ff00e33334ac01f4e0f784e803f79faa15f7e10a
+fb36e615f7e20a0ea681aef79ebd79c3f786b012b9e637a9f833e213b6f7a38115f7
+6beef72af74df765fb0cf710fb3a1ffb138b636152888755835a815708a98705a5e1
+c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813daf7e30a13bace8ba8ab
+c58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca66e8b0872827877
+1f41f7144fec1e0ef7ca81b16dacf7a6b2f7a2ac6fb212f5e0e9e8f81fe813aff8c6
+f8ff15f711e126fb64fb473d2424fb0021f6f7541ff766efdddf1efc07fc8515f74b
+e9078dfb56f715fb0df7328b08f746f706f71ff75cf75afb11f717fb3c1ffb308bfb
+0afb1b7efb47082cf747061377f7d50a0e7c89acf7beacf78dae01d8e7f773e103f7
+3df88a15e8d79bc3e28f886a1efb693d07384dadf51ff774fb4715fb5d078b387387
+3d8785858b769185bd8cff0025cccc8cff003833348bff0032b3348bff001e4ccc8a
+bc8a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591598affff
+e34ccc8affffcdb3348b698b508c688bfb4e8b5e358b468b25e459cf81088807707b
+6a72724affffcc999affff7a6666ffffd46666ffffc9999a6b8708828a0587888886
+1f8b788c89cd8c05d28cb0ff00508000b6ff006c8000b5f59fa8f68a080efb1e81bb
+5bb4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a
+0e2181aef80fae12ade1f78ee163a113f0f70cf77b15ff00384ccc9fff0074b334f3
+d9bb31fb0cfb125160551e424aeaf7031f35a515ffff42b333f701ffffb24ccdecff
+00894cccff004eb334f1f712f7004ff705fb211e2c8b5153755b08898d05ff00044c
+cdff00344cccff000fb333ff003fb3349aa5abc2b18ee7950813e8e595cba894f704
+fffff9199aff00033334fffff8b332ff0000b334fffff83334fffffc1998835b567e
+377e3a7e476f613c674781ffffabb3348bffffa14ccc080efb0889acf74ea8f72cac
+12f6daf72edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f783
+0a13f8f7840a0efb4789acf7fbb26cac12f6daf74ca813d8f74ef7c715f7e40a13b8
+898d0513d8f7e50a13b8f7e60a0e528bb2f7f4b16cac12a5a6f7bfdabba713dcf735
+be158b9ca6ff00424ccd9aff00e4b3338cff000f4cccff0006b333ff000cb334ff00
+1b4ccd8b08d006b3906f691ffb85076a897b631efb150680828c961fa7f80e1513bc
+6a8b648c6d8c85858b769185c886ff0011e666fffffbe666fffffc199affffad199a
+fffffbb333ffffa3b333ffffefe667ffffb6b333ffffef6666ffffb9999a85706e82
+6f887c897d858a790885fb1905ff00076666fffffc999aff0007cccdffffff3333ff
+000bcccdff0003333394b0a6e7e58b08f74106e48ba8319463ff0008b334fffffdb3
+33ff0009b332ff0000199aff0009999aff000433330885f71a058b998393788e798e
+72928bb008f779078bdd9890c28f91918ba085910813dc6d8a658a638b080efb2881
+bcf765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0ef70389acf746
+aef710d163ac12f7d0d413e8f70116f7e70a13d8f7e80a13e8f7e90a0efb3381aef7
+48b6f730ae12c7a6f75ddb4de113f4b6de15f7ea0a13f8f7eb0a13f4f7ec0a0e8289
+acf803ac01f704daf760da03f75aca15f7ed0a0e8289acf803acd3aa12f704da77d4
+ebd479da13ecf831f8e215f7ee0afb6bfca31513f2f7ed0a0e2e89acf746aef710d1
+63ac12f6da13e8f816168b8bd98a9f8a91918ba08591648d83937aab085ee00572ba
+68a3528b088e07b2969cae9ab397aa979ea08b948b9388918791879688988b08a19d
+9e9fa173a26a1f518b7055785c75547065448b08ca0713d8f7ef0a0e477fb46cacf7
+fbb26cac128fd7e3b1f719da131ef836f70e15f74d078bdd9890c28f91918ba08591
+08132e6d8a658a638b08fb5106139e6a8b648c6d8c85858b769185ff0046b33386ff
+000a4ccd858bfb008b2283547d627e677a7e7a8b7e8b8793899808889e859e6f8b08
+727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08136ed98ea5b31eb806b19273
+691ffb66078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086
+91084a8f82908bdd080ee089acf803ac12f703b16bb2f7e5db13d8f709f7c61513e8
+85fb4e05fffffd4ccd37fffff0b33389518885858b7691859f8cbd8c9b8b9f8bba8a
+9f8a91918ba08591528f87958dd60813d892f78905ff00004ccd94ff00041999ffff
+ffccccff0003999afffff7333408f725fbf6058f88ff0003b3348bff00034ccc8e08
+ff00a43334ff0161333405ff00048000ff000a4cccff00053332ff0001199a8bffff
+f4333208ffffff199affff0e3334058b3884884e8685858b769185af8cb08cae8ba9
+8bb68ab28a91918ba085914e8f808f8bde0889f74d058ade978ec89091918ba08591
+68892a8b6a8b08ffff7accccfffee1ccccfffffb3334fffff5e666fffffc666695ff
+ff8a999aff011e4ccc056a8b218b688d85858b76918508c886ff000db33387fffffd
+4ccd38080e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0e3081aef8
+0fae01b4e1f78ee103b4f761158a0af759f75b158b0a0e8289acf7fbb26cac12f705
+daf762da13d8f849f84115fbb00613b8f7f00a13d8aa8e9fb21ef70d06b09180631f
+fb6d078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086914a
+8f82908bdd08f74d0713b88bdd9890c28f91918ba08591086d8a658a638b080e3ffb
+7eacf753adf7fda777b912dbdaf780e113dcf743f7df158c0a78b015f7f10a13ecf7
+f20a13dcf7f30a0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0efb2a89acf7
+fdb001a5a6f715daf717a503f74af70e158b3880864e8885858b769185b28cff0027
+b3338cff00214ccd8bff00224ccc8bff0026b3348ab18a91918ba085914e8e80908b
+de08f7a29c07dc8b9b6f9c3a988b988f8b8b85b987b78ac574894087598b08400659
+8b538e638e8a51875f845d8b8b9987988b9cdc9aa7dd8b089a060e3bfb7cdbf8baac
+01f760fb3415910a0ec9fb7eacf753b3f805b3f75ea9a67701b2ddf73cdaf73cdd03
+1407f771a9153979f700dfe29de5e21fa18b9e81a17008fbb407786d757d708b08f7
+6cf80515f7f40a46f74c15cc8fb38b1e92878e821e7281407d638889838d7b9185c5
+8791888b4008fb2e0778a073986c8b08303635fb34fb00c12cef1fb38ba997a5a708
+fb20078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f71507a175a184aa8b08f3d2f701f71bf70356e9271f5c8b6f797570
+080e2289acf803ac01f74af7fa15900a0e7989ac6cb2f7fbac12f2daf767dabca513
+7cf775b215668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b68
+8c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08f7
+9006df8ba83b985aff00091998fffffdb333ff0008999cff0000b333ff00084cccff
+0002999a0885f7190513bcf7f60a137c6c8877641e0e5389acf1b8f770ac01dfd9f7
+52db03f736f7c715f7f70a0ef79289ac6cb2f7fbac12f6daf75bdaf75fda137cf97e
+f70e15f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c85858b76
+9185be8695878b3908fb6d076c8877641efb0a066d7e94b51ff76d078cdd9290c18f
+90918ba08691728a668a638b638b6a8c728c86858b769085bd8795868a3908fb6e07
+66867e661efb0606668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b
+638b688c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb3
+8b08f8c30613bcb38bb18aa98a91918ba0859108548f7e908bdd080ef79289ac6cb2
+f7fbac12f6daf75bdaf75fdabca5137ef93116df8ba83b985aff00091998fffffdb3
+33ff0008999cff0000b333ff00084cccff0002999a0885f7190513bef7f60a137e6c
+8877641efb0a066d7e94b51ff76d078cdd9290c18f90918ba08691728a668a638b63
+8b6a8c728c86858b769085bd8795868a3908fb6e0766867e661efb0606668596b31f
+f76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c2
+8794868b3908fb4d0713bef7f50a137ea98cb18cb38b080e6d89acf755acf71bb001
+a6a8f72bdaf73de103f85bf71215f7f80afb8cf74915fb4d078b3880884e8685858b
+769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016cccc89ff0028999a
+8b08f70fceaaf6e939a6261f43bc068bdf968ec89091918ba08591698affffddb334
+8affffd44ccc8bffffafb3338bffff824ccd8d8b8b8a51865c845dff0007b333ffff
+fc8000ff000a1999fffffde666ff000b3334ff0000999a089ddd99aed88b08a29e7f
+421f0ef71589acf755acf721ac01f6daf73de1ecda03f8fdf7c715f77c0afb9a8f15
+f7f80afb3df74815f7f90a0efb1689acf755acf721ac01f6daf73de103f7f7f71215
+f7f80afb3df74815f7f90a0efb2181aef737b379b9f728ae12badb42a5f790e113da
+badd15f7fa0a13d6f7fb0a13baf7fc0a13daf7fd0a13baf7fe0a13d6f7ff0a0ef71c
+81ae70acf73bb2f735ac70ae12f6daf2e1f77ae11377f74ef78115d1078bde968ec8
+9091918ba08591698a698a5f8b608b688c6a8c85858b769185c88796878b3808fb4d
+078b3880884e8685858b769185ac8cae8cb78bb68baf8aab8a91918ba085914e8f80
+8f8bde08d7f20713af8d26ca20f71b8b08f727c2f713eff35af70afb2c1ffb0d8b47
+3880fb0b08f752f73b15ddb642fb26fb18546f60286af710d8e2a6e6d91f0efb0689
+acf734adffffeb6666ff0014999af741ac12c3e1f72dda13dcf722f7d515ba9aa9dc
+b49bffffee4cccffffd9b3341efb0945074f74b9bd1f6ffbd515ff001bb333ff0000
+cccdff0009cccdff0019cccd97ff00246666a5ff004e8000ff001d199aff00318000
+ff003266668b08a546068b3880884e8685858b769185ac8cff00234ccc8cff002bb3
+348bff002b4ccc8bff0023b3348aab8a91918ba085914e8f808f8bde08f74d078bde
+968ec89091918ba08591698affffddb3348affffd44ccc8bffffddb3348b6e8dffff
+e74ccc8bfb438b7c438b550813bc8bffffbf4ccdff0031999affffde4ccdff004ab3
+33fffffdccccff0002e666ffffffcccdff0000199afffffc4ccdfffffe6666ffffff
+4ccd65fffff53333ffffef8000ffffea8000ffffeecccdffffdb800080ffffe8b333
+fffff6cccdffffea199afffffb3333fffff33333fffff34ccd69ffffeeb333856489
+85858b769185089f8cd98c8b8b080efb2881bcf765adf70eac01b0dff75be103f766
+f93315740afb30fb9b157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df
+75e9d6e961e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb
+5415e40a13f9e50a0e6189acf7fcbbc9b3efa9a67701f707daf76bda03f756f7d015
+c3c4c19da68bff0017e6668bff000d199afffff6999aff000e4cccffffe9e666ff00
+0f3334ffffe88000ff000b8000ffffc3b3348bffffb34ccc8bfb8d3f314c5dff0002
+b334fffff93333ff0003cccc86ff00058000fffffccccdf70cbce1f72b8bf75f088b
+ff00558000fffff4b334ff00468000ffffed4cccff00228000ffffec3334ff002480
+00ffffd9800095ffffd54ccc8b588b5170555708f721f71507ff000c4ccc8dff000a
+b334ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334
+ff00014ccc08fb1fb506cc8fb38b1e92878e821e7281407d638889838d7b9185c587
+91888b40087950077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648eff
+fffa3334948908cffc0f068b3880864e8885858b769185ae8cb08cb38bb38bb18aac
+8a91918ba085914e8e80908bde080efb4789acf7fbb26cac12f6daf74ca81398f798
+f93315d60a41fc001513d8f7e40a13b8898d0513d8f7e50a13b8f7e60a0efb2f81ac
+f739b379b9f72caa12b2e1f783a413bcb2f76715fb35f44feee6d2b2c09b8099791e
+7a8b7d857d6b7f707273638b378b5ec68bf70b9790988f988bff00124ccd8b99ffff
+fbb33399fffff9e6670813dcff000f4ccdfffff94cccff00101999fffffb199aff00
+174ccd8b08b6b99d998f8995851f848b7f857e8bffffef66668bfffff13334ff0005
+4ccdfffff06666ff000799990813bcffffef3333ff00083334ffffed6667ff0006e6
+66ffffe966668b0813dc6e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008
+cccc8bff00084cceff0000ccccff0007e666ff00033334fffffd4cccff0030999aff
+fffe3334ff001de666fffffc8000ff002980005a8f689a5c8b08fb193d20fb0d1f0e
+fb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13
+aaf72c0a13b4f72d0a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb1585
+0a13f4e6fc7115860a0efbd889acf7f6a7a877f3ea128ce992da80e913f88cf8d115
+d80a13faf73d16d80a13fc96fc5715860a0efbd7fb73b7f8c8a7a877f711ef12eeef
+35da13f8eef8eb15850a13f499fbae15870a0ede7fb46cacf755acf71bb0128fd7e3
+b1f70bdaf738e1137ff8ccf7121539597e565a7f95ae1ef728cd07d6a25e561ffbd3
+f79e15ad06a29e7f421ffb4d078b3880884e8685858b769185ac8cff00234ccc8cff
+002bb3348bff0026999a8bff0013cccc89ff0028999a8b08f70fceaaf6e939a6261f
+48bc068bdf968ec89091918ba08591698a3d8a8b8b08fb43066a8b648c6d8c85858b
+769185ff0046b33386ff000a4ccd858bfb008b2283547d620813bf7e677a7e7a8b7e
+8b87938998889e859e6f8b08727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08
+d98ea7b31e0ef72a89acf74facf727ac01f6daf75ddaf73de103f866f7c6158bdf96
+8ec89091918ba08591698affffddb3348affffd44ccc8bffffd8999a8bffffd96666
+8c748c85858b769185be8796878b380853fb5dc3078bde968ebe9091918ba0859173
+8affffd9cccd8affffd833338bffffd4b3338bffffdd4ccd8c6a8c85858b769185c8
+8796878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb333
+8bff002766668bff0027999a8aa18a91918ba08591588f808f8bde08ebf75d2b078b
+388088588685858b769185a28cff002733348cff0027cccc8bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a0261f4306f73dfb111539597e565a7a95
+ae1ef722d207d6a264561f0e6589acf7f8bfc9b3efa9a67701f700daf766da03f74f
+ff011de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff00008000
+f723ff00884ccd8b05ff000c4ccc8dff000ab334ff000fcccc8bff0009999c8bff00
+04ccccfffffc4cccff00068000fffff6b334ff00014ccc08ffff6de6668bff000019
+9ab505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37087957
+077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908
+c8fc0f068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff00
+20cccd8aa78a91918ba08591ffffcd33338f828f8bde080e2e89acf746aef710d163
+ac12f6da13c8f7c0f93315d60ae1fd33158b8bd98a9f8a91918ba08591648d83937a
+ab085ee00572ba68a3528b088e07b2969cae9ab30813e897aa979ea08b948b938891
+8791879688988b08a19d9e9fa173a26a1f518b7055785c75547065448b08ca0713d8
+f7ef0a0e8289acf803ac01f704daf760da03f7a0f93315740afb20fc7615f7ed0a0e
+3bfb7cdbf8baacc8aa01f72bd4ebd403f81df8d715f8000afb51fd7715910a0e7289
+ac6cb2f7fbac12f2dae1ade1da141c137cf83f1613bcb38bb18aa98a91918ba08591
+548ffffff3666690ffffff999add08f74d078bdd9890c28f91918ba085916d8a658a
+638b638b6d8c6d8c85858b769185be8695878b3908fb6d07137c6c8877641efb0d06
+668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c8685
+8b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08d206af8b9854
+9042ff000ab33487ff000b4ccc8b978f90d3a1c3a68b080ef7fb7faef765a8f7feae
+01c0e7f7b9dcf7bbe703f84af75015f8010a0ed97fa7f744a8f755a701addaf70fc8
+8dd68dc8f70fda03f7bff72815f8020a0ef70789adf7c6aef71eb2cfa71295a983a5
+f735dcf789a583a979e513f600f89ff8ba15fb73a406a7989ab41ea606908e8e901f
+8b9e898c058b2d8a6864348c8b1e898a8b7805868f888f1ea606b29a7d6d1f73fb1f
+07768a9c921f718f0513fa4087598458805508a986059fdb9898c28b08e6fc490668
+7f7f631e6e06858988861f8b788d89058bd88dbd1ec58b8c89e48bf75b8bc6e58be1
+8be858c125b16a974b8d678b083cf71ef7430613f280c28b987e9f3b08a9900513f7
+0080c184be87bd08718705848a7a761efb73fb6815e90613f240f70aca4c314e692f
+fb2c398492ac1f0e4e89aaf752abf721b0129aa6f724d5f734a876d613fcf798f78f
+15f721ba07dc8b9a779c3908a88f0584b987aa8ac508fb45d6068bbf9dc7d0b6087c
+a005416574627f6f81a772b841ad087c7605d1609c4f8b570840fb34078a51876585
+5d08a687059cdc9aa7dc8b08aafbd4066e817b6a1e7806868888861f8b788d89058b
+ca8db31eb58ba289b48b0813faf704cbbedfea36a22c1ff4fb131539597e5a5c7595
+ae1ef725d407d2a360571f0ef79081ae70acf797b265bd79c3f77fac71b012f5e0ff
+0055999aff005b6666f7fbe666a913a1c0f753f70e15f73cff0055999a07ff0008e6
+66ffff538000ff00664cccffff808000ff00cd33348b08ecf714c7d59f82a0721f6e
+8b7c6e7e667d6363693f8bffff7580008bffffaf8000f70a81f732081309a0ac9aa7
+92b18b081311a0f7d40a130ba0508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5
+da1ef71e8bb73aa535ff00099998fffffd6666ff00098000ff00018000ff000ae668
+ff0005199afffffa6668bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067
+ff00238000ffff8980008b081365c0ffff5db3348bffff7a6666fb14fffffa199afb
+5d08ffffaaccccf756068bde9c90d18e91918ba085915f8affffd080008affffd980
+008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080ed781ac72acf731b372ad70b9f722ac
+74aa12f1daff0062199aff0055e666f783a41391c0ff0117199af75f15ff00036666
+fb2fff0067333451ff00614ccc8b08e6d2b2c09b8099791f7a8b7d857d6b7f707273
+638b378b5ec68bf70b081309c09790988f988bff00124ccc8b99fffffbb33399ffff
+f9e667081321c0ff000f4ccefffff94cccff0010199afffffb199aff00174ccc8b08
+b6b99d998f8995851f848b7f857e8bffffef66688bfffff13330ff00054ccdfffff0
+6668ff00079999081309c0ffffef3334ff00083334ffffed6666ff0006e666ffffe9
+66668b081323c06e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008cccc8b
+ff00084cccff0000ccccff0007e668ff00033334fffffd4cccff0030999afffffe33
+34ff001de666fffffc8000ff002980005a8f689a5c8b081355c0ffff84999a8b3fff
+ffa3e666fffff5999affff92199a08ffff9cccccf70906a7979bad1e9f06908f8e90
+1f8ba2898d058b42896266438d8b1e88898b7405868f88901e9f06ae957b6f1ffbaa
+076e817b681e77061381c0868788861f8b74051341c08e89058bd38db0b4d4898b1e
+8d8d051381c0a2071351c090878e861e7706697f9ba81ff713070ef78a89acf90777
+01f7ffd603f89ef7de15f8030aaffc6c15cd078bbfabcbcdb608f70ffb750590828d
+858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd0879890586ffffff66
+6688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d8ba2058b90fffffa
+e668ff00024ccdfffffc1998ff0000b333087f8d0576ff0003800079ff000d800074
+b508fbb8f8ac05fffff4b334ff0014ccccfffff84cccff000933347f8b818bfffff6
+b334fffff91998fffff34cccffffe8e66808fbbefcb1057a6bffffef6666fffff099
+9affffd8999afffff96666087f8905fffffb199affffff3333fffffce666fffffdcc
+cd8b86088b748d89058bcb8da5a3e5898b1e8c8d8ba2058b9088ff0002800086ff00
+00800008788d05ffffe2cccdff0003199affffee3333ff0008e6668b9b8b918d908e
+9108f710f77305cc60ab4c8b580849078b6efffff6b334fffff38000ffffde4cccff
+fffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf
+898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999aff0003
+6666fffff56666ff000c999a8ba8080eca89acf82f7701f7a8d603f775f78515d2f7
+0c059195918c928008dcfb1105566a7869807282a476b251ac08befb8515d6d6068b
+b898bebab408eafb2705957b86fffff5199a6afffffae666087e890587ffffff6666
+88fffffd999a8b88088b728d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff0002
+4ccd85ff0000b333ffffe780008effffed80009875ae08fb6df7e305fffff2999aff
+0014b334fffff36666ff00044ccc7f8b848bfffff2e666fffffc8000fffff3199aff
+ffea800008fb5afffeb6800005786bffffe28000ffffea8000ffffe680008888ffff
+ff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e8c8d8ba4058b8eff
+fffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7199aff00063333ff
+ffefe666ff000a4ccd9ba608deff008b800005c06198578b5c080ef8ef89acf79fb2
+f7a9ac967712f5e0f8a0d613ccf9fef7de15f8030aaffc6c15cd078bbfabcbcdb608
+f70ffb750590828d858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd08
+79890586ffffff666688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d
+8ba2058b90fffffae668ff00024ccdfffffc1998ff0000b333087f8d0576ff000380
+0079ff000d800074b508fbb8f8ac0513dcfffff4b334ff0014ccccfffff84cccff00
+0933347f8b818bfffff6b334fffff91998fffff34cccffffe8e66808ffff5fb334fb
+b7fffe744ccc8b8bf74e0513ec8bde9c90d18e91918ba085915f8affffd080008aff
+ffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25
+078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff
+003066668ab88a91918ba08591458e7a908bde08f744ff0176333407ffff8bccccfb
+67057a6bffffef6666fffff0999affffd8999afffff96666087f8905fffffb199aff
+ffff3333fffffce666fffffdcccd8b86088b748d89058bcb8da5a3e5898b1e8c8d8b
+a2058b9088ff0002800086ff0000800008788d05ffffe2ccccff0003199affffee33
+34ff0008e6668b9b8b918d908e9108f710f77305cc60ab4c8b580849078b6efffff6
+b334fffff38000ffffde4cccfffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff000066
+6608788d05ffffdf9998ff00036666fffff56668ff000c999a8ba8080ef7f889acf7
+40adf735ac967712ecdaf81dd613ccf89af78515d2f70c059195918c928008dcfb11
+05566a786980720882a476b251ac08befb8515d6d6068bb898bebab408eafb270595
+7b86fffff5199a6afffffae666087e890587ffffff666688fffffd999a8b88088b72
+8d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff00024ccd85ff0000b333ffffe7
+80008effffed80009875ae08fb6df7e30513dcfffff29998ff0014b334fffff36668
+ff00044ccc7f8b848bfffff2e668fffffc8000fffff31998ffffea800008ffff93cc
+ccfb48fffed633348b8bf7090513eca7969bab1e9e06908f8e901f8ba2898d058b44
+896468448d8b1e89898b7405868e88901e9e06ac957b6f1ffbaa076e817b6a1e7806
+868888861f8b748d89058bd28daeb2d2898b1e8d8d8ba20590878e861e78066b809b
+a81ff713ff0115666607ffffba999affff8c800005786bffffe28000ffffea8000ff
+ffe680008888ffffff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e
+8c8d8ba4058b8efffffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7
+199aff00063333ffffefe666ff000a4ccd9ba608deff008b800005c06198578b5c08
+0ef7da89a8f7bcb2f78cae01f835dc03f806f7d715bafb90066f7d7b621e7b068688
+88861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a06647c99a91f
+f790c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b788d8905
+8be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7410563df
+5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f772fb9b68
+8b05328b5d6963370839fb41057d6f757b6c8b087f06878788861f8b788d89058bd3
+8db2afe3898b1e8d8d8b9e0590888e861e7606628b79959bad08def74105aaccaf99
+bb8b08f706b515fb64f789f81d8b050ef76389a8f744adf732ad01f800d503f7d2f7
+5f15b9fb18066f7d7b621e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d
+8b9e0590878e871e8406647b99a91ff718b507bb8ba274b75108b15805a16f7e7b62
+8b087a06868888861f8b788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f
+066c8b799f79a30864be055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19
+067a8b7f85977d08f72efb406c8b05328b6c66573d086a58057b7477766c8b087f06
+878788861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b80
+9a9ea808adbe05b3c7a6a0bb8b08f701b115fb1ef72ef78f8b050ef91c89a8f7bcb2
+f78cae01f5e0f8b8dc03f9baf80115fb64f789f81d8b05fdb4fc7c15f75dff016780
+0007ffffeb1998ffffed4cccffffeeb33471ffffefb334ffffddb3340839fb41057d
+6f757b6c8b087f06878788861f8b788d89058bd38db2afe3898b1e8d8d8b9e059088
+8e861e7606628b79959bad08def74105aaccaf99bb8b08b88b8d8b8bfb90056f7d7b
+621e7b06868888861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a
+06647c99a91ff790c107bb8bae7dab4a08ddfb41059b697a81628b08750686888886
+1f8b788d89058be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea708
+38f7410563df5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b
+08f772fb9b688bfc748b8bf735058bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8b
+ff003066668ab88a91918ba08591458e7a908bde080ef86689a8f744adf732ad70a8
+12ecd5f858d513ecf942f78515fb1ef72ef78f8b05fb66fb5415adfb18066f7d7b62
+1e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d8b9e0590878e871e8406
+647b99a91ff718b507bb8ba274b75108b15805a16f7e7b628b087a06868888861f8b
+788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f066c8b799f79a30864be
+055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19067a8b7f85977d08f72e
+fb406c8bfc158b8bf70d0513dca7969bab1e9e06908f8e901f13ec8b9e0513dc898d
+0513ec8b4689641e13dc68478d8b1f13ec89898b780513dc868e88901e9e06ac957b
+6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b
+9e0590878e861e78066b809ba81ff717ff0115e66607ffffe9ccceffffed199affff
+ecccccffffe53333ffffe88000ffffdcb333086a58057b7477766c8b087f06878788
+861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b809a9ea8
+08adbe05b3c7a6a0bb8b080e56fb7cadf8a2a9f826ad12c1a972bdf793b670e351e7
+13f2c1f85a15a98905a3dca6e6f70b8b08c9cb633d416a41fb0b685d7f6677997f9e
+1fb28b91bec78b0813e9dab95f3c1f8b2137643d77257134678b330825f377d7f3d5
+adb399859b731e758b7a7d7a7b7173697b588b4f8b58978bc18bd3f5a7bd95f711a3
+f704d28bf70e8bf638ad409c08900713e2d0a6c2b28bdb8bf323b6339108bddf0592
+979392948b0813f4948b8e858d84ff0003199a80ff0004e66686968b089b9396999f
+7b9d711f718bffffed6666fffff2b334ffffee999affffe44ccc0866503ae8858d43
+8b8884f703fb12056488627a4e84080efb51fb5ab3f80bacf7bcab12b3a674abf762
+d548dc13f4b3f7b615a6860599cfaac7da8b08b2bf77503f4e836070627d6e749981
+9d1fa48b8ab6b78b0813eac79e6c571f8b4743776481387658688b47083fcb69f5b6
+ae92ab9d7b97771e648b716e648b6c8b5e918bb88bb7b5a2ca9bf722aebabd8bce8b
+da45a16f90088f0713f4b696b4b18bb88bd83ea64f9008b7df0591979294958b928b
+8f888e838f809285958b089b9096999b7f9e6d1f748b7a807c70086a4d43e7858d4f
+8b8981ebfb0d05628880834a83088a5887648561080ee789a8ff00606666ff001f99
+9af7fba0dea701ebd0f71cdbf722cf03f8faf8ab1542794e3d1f8bffffda3334ffff
+f78000ffff4e6666ffff7a8000ffffe4e66608ff01a4800007a7999bb41ea506908e
+8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1f
+fc3707ffffbecccdff000f4ccdffffb93333ff003733338bff009f800008ed6cbf4e
+1e6c0680828a801f8b8690899389a185b2808bfb148bffff51b333ff0066e666ffff
+c4b333ff0066199a7f08ffffcb999a076f7d7b621e7106868888861f8b788d89058b
+e88dafb2e2898b1e8d8d8b9e0590878e861e7106637c99a91fbf07ff0066b334ff00
+0b999aff006b4cccff003fe6668bff00c180008bf1b196a192938d928d8b92089580
+8d7f1e0eb6fb5ca8ff00a08000ff001e8000f819a0f77ca712d2d155cef714ff004a
+ccccff007f3334cf55d013fa00f7ae9f15ffffad8000ff000a3333ffffc58000ff00
+334ccd8bff00a080000813f6008bb298b78bb108af7faa601e5e0680828a801f8b86
+91899289a88596788b700813fa808b697b5c8b598bffff5a3333ff005e6666ffffc3
+4ccdff0074999a8108ffff8b8000076f827b691e7806868888861f8b788d89058bcf
+8dafb2cf898b1e8d8d8b9e0590878e861e79066a819ba71fffffffe666ff0074999a
+05ff0074e666ff000a1999ff005d3334ff003ccccd8bff00a580000813f3008bbd7c
+ba8bad8ba6959ea891938d908d8b900896838c801e5e06607e6c671f13fa808b6599
+5f8b648bffff5fb333ffffc98000ffffccb333ffffa94cccfffff5b334ffffffb334
+ff00de9999ffffffccccff00deb333ffffffb334ff00de999a088a8d058b74897d67
+478d8b1e89898b7905868e88901e9e06ad947b6f1f0ef681aff784c480c5f790af12
+b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24ccc15
+f8060a13dcf8070a0efb207faef731bc75b4f735ac12b0dbf774d9139cb0f75f1524
+c8fb04f715f71fc0f715eff35cf70dfb231efb134a24fb1c1fff012de666ff002233
+331513dcfffff2e666fffffb1999fffff0e668fffffcb333ffffee4ccc8b0813bc64
+8b7a9e5f8bffffe1e6668bffffe16667fffff78000ffffefb333fffff5e666ff0000
+cccdff0056199aff001d3333ff005d8000d38bd08bff002a4cccffffc48000ff0009
+999affff8fb33308ffff22199affffdd666715ff00068000ff00014cccff00084ccd
+ff0003199aff000a33338b0813dcae8ba870b68bff002266668bff0023ccceff0012
+4ccdff00154cccff000bcccdff00004cccfffff7e666ff00003334fffff7999a8bff
+fff766668bfb18536d628b368bffffdc199aff0066e666fffff9e666ff004cb33408
+0ed99476f90aa773af12f8eece13b0f8dff92615f8080a13d0f8090a13b0f80a0a0e
+519476f832b363a812f855d313d0f843f82615f80b0a13b0f80c0a0ed99476f90aa7
+73afbd7612f8eece1398f752f9a915f7650af7179015f7600a13b8f79efb1c15f808
+0a13d8f8090a13b8f80a0a0e519476f832b363a8f7727712f855d31398f710f92115
+f7610af71c9115f7620a13d8f73ffb9515f80b0a13b8f80c0a0ef7fb7faef765a8f7
+feaebba0b2a012c0e7f74af171bd7cdc95ebbab2f2e713fef0f84af75015f8010ac5
+f8eb1513fd7056635b671f13fcf0729e7e9b9a9b959c1e13fd708b9c7b948b9c8b97
+949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f81
+7c8b678b53c7528b080ed97fa7f744a8f755a7daa0b2a0b77712addaddbd82c88dd6
+8dc8a6b2c4da13ff78f7b4f8ee1556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b
+97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f
+817c8b08678b53c7528b0896fc5a156c0766844b452e7bf717d4f700a7e1d81e13fe
+f8998f86831f8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb0144
+2efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f716
+44e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f9099
+d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d05
+8b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0ef7fb7faef765a8
+f7feae01c0e7f74af194dc95ebf751e703f84af75015f8010a0ed97fa7f744a8f755
+a701addaf70fc88dd68dc8f70fda03f7bff72815f8020a0ef886a0b2a001fc25bdf7
+6fb203fbc8f8d71556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b97949eae8bbe
+8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f817c8b678b53
+c7528b080eef89adf7c6aef71fadd3a701f760e0f7b6ea03f7b5f7e615ee06f710ce
+4c314e672ffb34348492ac1ff84c04f7aaadfbaaa806a79a9ab61ea706908e8e901f
+8b9e898c058b298a65622f8c8b1e898a8b7805868f888f1ea806b49b7d6d1f6ffb50
+69f750fc4a07687e7f621e6b06858988861f8b788d89058bdc8dc01ec88b8c89e98b
+f7678bc8e58be18be856c1fb00b16997468d658b0838060e5089aaf752abf724adf7
+6aa8a57701f715daf76eda03f83ef7101539477e57595b95ae1ef725f007d7b46057
+1ffb6ef8d215730676827c877887798864867a8a088d7305888e898e1ead8905a096
+80521ffb242069f6fbd7076e817b671e7206868888861f8b788d89058bd38db61ec1
+8ba889c18b08f70adebedfea22a2271f2ff724f766adfb66060e5589acf78fad73a8
+f70a77f75bad12f3e0f775e813def751f8be15a89aaed3d0d074fb131e8bffffc2b3
+34ffffef4cccffffd74cccffffdfccceffffe84ccc08ffffabe666ff0060b3346c74
+daffffa4800005ffffed8000fffffa3334ffffeab334fffffd4cccffffe7cccc8b08
+13bef7460a36f75e15f7bf0a13dea184a388ae8bff0020cccc8bff001cb334ff0003
+e666a4ff0006ccce08ff00598000ffff984ccca8a6ffffb0b334ff005b333405deff
+00278000ff001c4cccff004e66668bff003ce6668bc664f6fb4d8bffffd9b3338bff
+ffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b3808
+0e3ffb7eacf753adf7fda777b912dbdaf780e113dcf743f7df15a5abff002dcccda9
+ff001d33338bcb8bc2438bfb058bffffd4e666fffff7e666ffffcf3334ffffe8199a
+ffffdb9999082fff006a4ccd6c73ff0060b334ffff90800005ffffeb8000ffffef99
+9a70fffff5e666ffffdccccc8b798b689079ff0010199affffebe6669dfffffc199a
+ff0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff00
+0e4ccc0878b015f7f10a13ec6f807182468289858d7b8d85c18696868b5108fc3f07
+8b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba08591448f808f
+8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff00188000ff
+fff6199aff001ee666fffffa6666ff001f999a8bff0026b3348bff0023e666ff0008
+199aabff0011e66608ff004566663ba8a5ffffbdb334ff004c800005ff0002ccccff
+00026666ff0002ccccff00028000ff0002b334ff0002999abab9a6c98bdc0813dcf7
+f30a0e2989acf8d2b36cac12f4e0f791a87da813d4f727f9191513b4f7b80a13d4a3
+9795a31ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff
+0009b334ff00044cccfffffcb334ff00443334fffffbe666ff00266664fffffb999a
+ff001e199c0813d8fffffcccccff008b4ccc0581ff0003b334fffff6b334ffffff19
+98fffff64cccfffffc3334fffffa3334ffffca6668ffffe53332ffffc0e664ffffcf
+8000fffffcccccfffff9ccceffffffe668fffffc4ccc8b8b8b080efb4789acf7fbb2
+6cac12f6daf735ac81a813d4f74ef7c715c492a5ae1ea106dd8ba3529951ff000b19
+9afffffe8000ff00096666ff0001e666ff00088000ff0003999afffffcccccff002a
+e66688ff0024b334fffffc199aff0028cccc0813d8fffff7199aff0084999a05ffff
+f46666ff00049998fffff4e666ffffff3334fffff5b334fffffa3334fffffd6666ff
+ffb633347fffffe9e666ffffd78000fffffb199afffff86666ffffffe666fffff933
+34ffffffe666fffffa80008b08fb120613b4f7e60a0e2989acf794b2f7abb36cac12
+f4e0f7a0a813ecf727f9191513dc8b8b3c8c598c85858b769185d1889c868b3808fb
+593564e1fb39078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f739eeb228f78907
+13ecf7b90a13dcf7ba0a13ecf7bb0a0efb4789acf746b2f722b26cac12f6daf74ca8
+13ecf6f78c153506857e8bfffff2b33391fffff34ccd08e134068b3880884e868585
+8b769185ac8cff00234ccd8cff002bb3338bff002b4ccd8bff0023b3338aab8a9191
+8ba085914e8f808f8bde08e2e307ff00064cccff000d4ccdff00006668ff000e6666
+fffff94cccff000b4ccd0833c606c492a5ae1ea106dd8ba3529951ff000b199affff
+fe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc8000ff002b80
+00fffffa8000ff003580000813dc898d0513ecf7e50a13dcffffd4b333ff00006666
+ffffdd4ccdff0000999a6a8c85858b769185c88796878b38080e89fb40a8f721acf7
+ccaaf77bb36cac12f4e079a2f79ba87ada13f480f8b9e8158bff00edccccffff2eb3
+34ff002a199affff6a4cccff0001199a08f75907a39795a31ef70c0613ed00d68b9b
+59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b334ff00044cccff
+fffbe666ff00544cccfffffa999aff0026e668fffffa8000ff0021cccc0813f48064
+8a3a8a8b8b08fb610613ec808b8b3c8c598c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b28cff003533338cff0025cccd8bff0025cccd8bff00
+3333338ab38a91918ba08591458e7a908bde08f77107ff00968000fffffeb334ff00
+818000ffffcc99988bffff30b3348bfb3d4752408b5b8b6c99769e799c7ea38ba608
+13f28073fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af727
+1f0e37fb7eadf75aacff00a4cccdff00221999ff00a0199ab26cac12f6da40ddf745
+a874d913f500f74eff00e5e66615ff004d199a07c492a5ae1ea106dd8ba3529951ff
+000b199afffffe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc
+8000ff002b8000fffffa8000ff003580000813ec80898d0513f480f7e50a13ec80ff
+ffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c88796878b3808
+fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff002b4ccd
+8bff0023b3338aab8a91918ba085914e8f808f8bde08ff0049cccd07ff005c999aff
+fffcccceff00616666ffffd5cccc8bffff51999a8bfb006f47428b0813f280498b81
+b685ac87a37a97748b08747c7c6e60bf50f5f70cccf700f7101f8bff00c5999affff
+604cccff00203333ffff93b334ff00021999080ef7c289acff0124ccccff002a4cce
+ff00dfe666c866ac12f826e0f811a613ecf87bf70e15ff00c9cccc07ff00666668ff
+fffd8000ff00121998ffffddccceff00258000ffff9fe666ff00216668ffffaa999a
+ff001dccccffffbc1999ff00301998ffffe56667a1fffff0b333ff0019199cfffff2
+b333ff00109998ffffec8000a96899618f72ff000b4cccfffffcb33394ff00014ccd
+ff0006b3348f0885f72d05ffffff4ccc9cfffff3b334907a8bfffff94ccc8bfffff7
+8000ff0001ccccfffff63334ff0004b334ffffd93334ff0017199affffe18000ff00
+379999ffffd54cccff006ecccd70d165b6468b089007d7a7a2e194c9ff00043334ff
+001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0a296a8a2
+79a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc199cfffffd
+ccccffffdf1998ffffff999a08ff009ce6660713dcf7da0a13ecf7db0a0ef70389ac
+f746aef710d163ac12f7d0d4f7b3a613ecff029eccccff0024cccc15fffff58000ff
+00014ccefffff38000ff00054cccfffff3e668ff000a3334fffffc3334ff00053332
+fffffc3330ff00066667fffffbe668ff0007cccd085ee00572ba6aa3528b088e07b2
+969cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f51
+8b7055785c75546d65448b08ca0713dcf7e80a13ec78ba70c1518b086a737475779d
+78a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a73
+725c085e36057a6b8183648985858b7691859f8cd58c8b8b9f8c9ca298a608b6e505
+9db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff0027cccc
+8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207cf87a770
+9d6608b63105ff000b199874ff000de668ffffebe666ff00104cccfffff9e667ff00
+0e3334fffff76666ff00156668fffff2cccdff00124cccffffe93334ff0010199877
+ff000b3334ffffe36666ff00078000ffffdc6666ff0009ccccfffffe6666ff0009e6
+68ff0001999aff00074ccc8f0885f72205ffffff800097fffff71998ff0003ccccff
+ffef33348d080e66fb7db1f74daff7bcbcf791ad12cfaaf73ac6d8e34be813fdf70d
+fb3a15a85eb075b48bc08bb6a88bc28bbeffffe2ccccff0037cccdffffce199aff00
+211999ff000a8000ffffff666796ffffffb333ff000b999a8bf7138bf705cb8bf717
+8be0ffffc28000ff004a3334ffff9d8000ff0007cccc08900713fef7dd0a13fdff00
+718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b778b7e7b8b738b
+6a9e78a673ff00106666fffff13333ff0018e667fffff2b333ff002380008208ffff
+fe3333fffffe199a05ca78b0518b488b727271678b6e8b7a9876a2080efb41fb6cb1
+ff00a83333ff0022ccccff00b40001b6f730ae12c7a6f74ad257db4de113fcf710fb
+2f15a95eff002780007bff001c80008bc18bcba48bd48bff002db333ffffe23334ff
+00298000ffffd1b332ff0017b3330813f9ff004ae666ff0009999aff00353334ff00
+22b3338bff0051cccd8bc7ffffe18000b3ffffb9800097088e0713faf7eb0a13f9d5
+99585f50ffffe980006bffffb980001f528bfffff58000a0ffffef8000affffff799
+9aff00126666fffff56666ff000d999a718b798b747c8b7b8b75987ba07bff001780
+00ffffef199aff001e8000ffffec6666d0fffffdb3330813fcbcffffece6679fffff
+ceb3338bffffd033338b727d70668b6e8b749b75a20883fffffe4ccdfffff6b333ff
+fff8b333fffffd4ccd84080ead89acff012be666ff0027199af76fd05fac12f5e0f8
+23a713ecff02484cccff0021b333155aff0003ffffffffefe668ff00186667ffffb9
+ccccff0070e6660841f70b057ba76fa4718bd4a3aee8a1c69bb8a4a0958ba68ba572
+a58b08a0a29da3a27ba8571f2e8bffffd5ccccffffa16668fffff83334ffffe29998
+7d566c4a546cffffe73334fffff2999affffd14cccfffffe8000ffffdc8000ffffff
+e66608f72d0713dc8bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde08ff00d0e66607c0fffffe8000ff00206666ffff
+e53334ff002c999affffb4666608d7fb0c05ff00273334ffffc2199aff0023ccccff
+ffe3e666ab73b36daa729a3c08a78b84f72c05ffffff666899fffffacccc92ffffeb
+1998ff0001b333080e2a89a8f74badf70bd16ca812e5d6f7bfa213ece5d3156e827b
+691e8406868888861f8b788d89058bc38dafb2c5898b1e8d8d8b9e0590878e861e83
+066a819ba81ff71e07ea8b9b65a3509c62ab44bb7db57f9e50915f08a28b86f71a05
+8a9e768d808b668b63e77bb178bc58a0638baf90b1b0a6be96a197a0988b948b9f83
+9f8b08a39b9e9fa17d9c651f698b6c706b4e5d34677d528b0878f7080613dca89598
+ac1e9306908f8e901f8b9e898d058b51896467538d8b1e89898b7805868e88901e92
+06ad947e6e1f0e9689acf7b9b5f774c866ac12f5e0d7b713ecf7cbf70d15ff00a7e6
+66079f76ff000d4cccffffe06667ff0011b334ffffd2b333b6fb02b03ad98a08da8a
+05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff00
+02e666ffffdc6666bbffffc56666ff0098199affffe5ccccff0043e666ffffdb6668
+ff002a999affffbeccccff0002666608ff0007800007ff00473334ff001e3334a1ff
+0053199aff0008ccccff003c4cccff00043334ff001d1998ff0005ccccff0020e668
+a98b988b9386968095819986988b08a0a296a8a279a8561f3c8b6d53814dfffff7e6
+66ffffcdcccc7fffffc76668ffffd3199affffddcccc08f7325fffff4d66660774ff
+fffb199affffe3cccdffffff8000ffffe733338b08f7310713dc8bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+5e07ff0020199a8bff00186666fffffd6666ff001380008508ffff3d999a070e6589
+a8f74badf715d063a812f3d6ceb713ecf7b6d315f71007ff002e3334ffffefe666ff
+000c8000ffffe2cccdff000f4cccffffda4ccd9c62a843bd8a08d48a8d8d8b9e0592
+848c871e8306668b63e77bb177bc64a0558bbe93a5bd9bb195a198a7968b928b958a
+908793879786958b08a09b9d9fa47a9f651f5b8b7254765effffee6666ffffd8cccc
+ffffeb3334ffffd8ccceffffcf6666fffff1e66608ff006880005ffb0248f7060713
+dcb4a18ea68f8f8e901e8b9e898d058b54896467478d8b1e89898b7805868e88901e
+9e06ad947b6f1ffbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c489
+8b1e8d8d8b9e0590878e87786b8eb21ef72107ff001a4ccdffffffcccdff00161999
+fffffe9999ff0012999afffffd800008ffff7a199a070e9689acf7b9b5f70db2cbc8
+66ac12f5e013f4f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f70decb22a0713
+ecff00006666ff00501998ff00118000ff0004e668ff0045199a8e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185ff
+0045199a88ff00118000fffffb1998ff00006666ffffafe668083264e4fc01068b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080efb0889a8ff00b64ccdff0022b333f7
+15d0afad01f3ff004a666603f746d015ff00004ccdff008c4ccd05ff004b199affff
+fa6667ff00138000ffffdb8000ff0015199affffc9cccd9c62a843bd8a08d48a8d8d
+8b9e0592848c871e8306668b63e77cb176bc64a0558bbe93a5bd9bb195a198a7968b
+938b948a918792879786958b08a09c9d9fa4799f651f5b8b7254775e75ffffcf199a
+ffffe4199affffcf1999ffffb04cccffffffcccd08ff00008000f77eff009c199a8b
+8badffff64199a8b05ff0001b333ff00321998ff0012b333ff0038199cff00418000
+ff0028cccc087ca005416574627f6f81a772b841ad087c7605ff00426666ffffd733
+34ff0012cccdffffc7e664ff0001b333ffffcde66808ffffb4199a69d7fc2a066d82
+7c691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e
+83066a8098a81f0ef73189a8ff0136e666ff002b199af764ca5fb16fa712f795db13
+e4f97989158d8d8b9e0590878e861e8106678b53d850f71870c76fc9468bd8a4aee6
+a0c595a7a5a8978b998b9886988498849885988b08a0a29da3a27ba2571f358b6d57
+73517658724c526bffffe7999afffff2e666ffffd2999afffffe4cceffffdcccccff
+ffffcccc08f7550713cca7999bb41ea506908e8e901f8b9e898c058b2e8a671effff
+ef199a8bffffe63333ff00003334ffffe83333ff000033340813d4ffffff8000ff00
+009998518b0513ccfb1d8b79fb3b9c8b0595a898a99da90813d4959e9fa0ac8b08ff
+006b999a06ff00096666fffff8cccc8ffffff4b3348bfffff0800008fc8b076f7d7b
+621e7106868888861f8b788d89058be88dafb2e2898b1e8d8d8b9e0590878e861e71
+06647b99a91fff010ae66607ff0076b334fffffde666ff00111998ffffc74cceff00
+293334ffff9ce666b7fb00a943db8a080e7089a8ff00b6199aff0022e666f715d062
+a912a39cf724d613ecf798d015ff008c199a07ff004a8000fffffa1999ff0012999a
+ffffdb999aff0015e666ffffca33339c62a843bd8a08d38a8e8d8b9e0592848c871e
+8306668b63e77bb177bc64a0558bbe93a5bd9bb194a199a7958b938b948a91879387
+9786958b08a09b9d9fa47a9f651f5b8b7254765effffea3334ffffcf6666ffffe533
+32ffffcf6667ffffb0999affffff333308f70807a89598ac1e93068f8f8e901f8b9e
+0513dc898d058b5289641efffff14ccd8bffffebcccdff00004cccffffed6666ff00
+00666808ffffe38000ff00014ccc758b408b79fb1a9c8b05a5f0a98cc18d08ff0003
+999aff0000199a05ff0017b333fffffc4cccff0006b333fffff0ccce8bffffe7cccc
+08fbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e
+0590878e871e83066a8199a71f0ef489a8f7bdb2f793a701f5dcf7dbdbbfa703f894
+16e98baa29946008a78b84f72605987d92841e7b066c8696af1ff88a07a7999bb41e
+a506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b3
+9a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e8a676434
+8c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e700687888886
+1f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c99aa1ff790
+f7dbfb90076f7d7a621e7106868888861f8b788d89058bbf8dac1e0e6989a8f74dad
+f730a801f3d5f761d6c59f03f85ed515f7ac07b49192ad1ea4068f8d8d8e1f8ba18a
+8dfb0589298d8a898b7505878d8a8e1ea006af9082641ffb00fb61f70107b49291ad
+1e9f068f8d8d8f1f8ba08a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651f
+fbac078b658682678a087106888989881f8b758c89f28df700898c8d8ba0058f898d
+871e7706698c84928bb308f71df761fb1e07648783661e7606888989871f8b768d89
+cd8c05f38ba1259172089f8b86f71b059784937d1e7b066b8797ae1f0ef7b489acf7
+b6b5f787b46aac12f5e0f7eae0f77ba813eef8fef70e15f825078bff001a4cccff00
+01b334ff00126668ff00049998ff000d1998ff0008199c9fff000eb330ff00053334
+ff0019e6688bff00634ccc8bff0037999cffffe21998ff00151998ffffa0e66895ff
+fffe4cccff00094cccff00014cceff0009b334ff000466660813defffffbe668ff00
+364cccfffff99998ff00364cccfffff78000ff003566680813eefb2e06fffff03334
+8bffffef6664ffffff6668ffffef3334ffffff8000ffffe3b334ffffff8000ffffe3
+3334ffffff9998ffffe84ccc8b0813deffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba0859108458e7a908bde08
+0ef71589acf746acf729b36aac12f6daf76adaf764a513def885f8421589ffffff4c
+cc05ffffec33348bffffec8000ffffffb334ffffef4ccc8b6f8b638c648c85858b76
+9185c88792878b38084afb6acc078bde928ec89091918ba08591658affffd9cccd8a
+ffffe033338bffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb
+4d078b3880884e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8b
+ff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34078b3884884e868585
+8b769185af8cff002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a9191
+8ba085914e8f808f8bde08f74d0713ee8bff00383334ff0005199aff00138000ff00
+16199aff00084ccc08ff0046cccc06cd8ba7569b4308a58f0513de77f7350513ee28
+8b608b858b050ef806fb40a8f721acf7ccaaf77bb36cac12f3e0f7b5e078a2f7a7da
+13ee80fa2de8158bff00ed4cccffff308000ff002a8000ffff698000ff0001333408
+f729078bde9c90d18e91918ba085910813f680598a578a708b08fc0b0613ee80f7bc
+0a13f680c9a197a31ef75906a3a17f4d1ffc2d078b387a86458885858b769185b18c
+ff0036999a8cff002466668bff0026b3348bff00354ccc8ab18a91918ba08591458e
+7a908bde08f77107f72afffffe8000f715ffffcc4ccc8bffff3133348bfb3d475240
+8b5b8b6c99769e799c7ea38ba60813ed8073fb2ca2068b908ca88d908c8e9191958b
+9a8ba271dd8b08f711e4f70af7271f0ef754fb7eadf75aacff00a3cccdff00229999
+ff00a0999ab26cac12f705daf756de44daf743d813f580f849f84115fbb00613ed80
+f7f00a13f580aa8e9fb21ef70d06b09180631ffb6d078b398186578786858b769085
+a48cb08cb38bb38bb88aa78a90918ba086914a8f82908bdd08ff0048cccd07ff0057
+b334fffff88001ff00574cccffffd119998bffff5b999a8bfb006e47428b0813ee80
+498b82b685ac87a37a97738b08747c7c6e60bf50f5f70cccf700f7101f13ed808bff
+00bb999affff6e9998ff0026ccccffff9566689008ff004d999a078bdd9890c28f91
+918ba08591086d8a658a638b080edcfb28b3f894b1f746b201ade7f722e0f758d89d
+a203f8bafb0015ffffbb33348bffffd23332ff002ae666ffffe2199aff0037199aff
+007d1998ff000db333ff005f6668ff0052e6678bff008a666608f362f705fb1dfb15
+58fb02fb1c1e8bffffd46666ff0008e666ffffc18000ff00183334ffffc43334ffff
+7eb333ff00208000ffffd23333ff007e19998bff008b4ccd8bf712dcf73af70a8bb0
+8bad88a7579b6e997ca58ba18b979f8b9f088ba17aa0759c729f619d4c8bfb338bfb
+2cfb298bfb498bffff3ee666ff00623333ffff80999aff00bbb333ffffedcccdff00
+296666ffffb44ccdff00463334ffffc16666ff007180008b08cc069d9b797a1fa28d
+05899e89a98b9e8ba68da68da708768d05647f63371effff5f999aff0083b33315ff
+ffe38000ff0045b332fffff7e666ff004e33348bff0023666608f713add1c8dc9f42
+fb0f1e8bffff89999affff9c199affffc84cccffffc48000fffff5cccd080e65fb08
+a7f7fba5f710a701aedaebd5f732d19ba103f84f3315ffffc5e6668bffffda999aff
+001de666ffffe84cccff00266667ff0068999aff00093333ff0053999aff003a199a
+8bff0066666608df57ca292a5444261e8bffffe1cccdff0006b333ffffd51999ff00
+12e667ffffd6b334ffff9d6666ff001b999974ff0061999a8bff005833338bd6c1f7
+0eea8bab8ba889a46799779781a18b9f8b95988b99088b9a7c9a799775996598558b
+fb1b8bfb02268bfb138bfb1cff004ae666ffffa6b333ff008d999afffff16667ff00
+21999affffcaccccff0039e666ffffd4199aea8b08c4069b9c6c7f1fa88d05899886
+b28b998b9d8cad8d9e08708c05708161421effff7c6666ff005b999a15ffffe9999a
+ff0030e66686c28bff0018800008daa6c7becc9a563c1e8bfffface666ffffc4b334
+ffffd18000ffffb8b332fffffa3334080ebefb7db1f74db4f8e2b001b0e6f77ec6f7
+25ac03f76ffb3a15a85eaf75b48bc18bb5a88bc28bff0032b333ffffe33334ff0037
+4ccdffffceb332ff00213333ff0004999affffffe667ff0004ccccffffffe666ff00
+04b3348bec8be4b9cfe486948491808b08443d476c2e8bffff7966668bffffa2999a
+f72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff0031
+999ac8c5a7bf8bf71e8bc239a5359787ff0009b3348eff000b4ccc910886bf84bb81
+c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd86666ffff9e1998
+8bffff97b3348bffff6d999aff004a8000ffff814cccff0097e666ffffdb999a08ff
+ffff999affffff800005c978b0518b488b727371678b6d8b7b9875a2080efb3bfb79
+b2f8e8ac12b0e1f73cc661e213f0f728fb3515a85eb074b48bc18bb4aa8bcb8bff00
+404ccdffffe6b334ff002a3333ffffd3b332ff0016199aff0029e666ff00098000ff
+0026b334ff001a3333b0ff003cb3338794838f828c695f6075608b08424ed5f709f7
+02bbcdcd1f13e8c68b93688f688e709982a08b08a0a798aac252b32b282132fb221f
+8bffff83e666ff0042b333ffffa8e667ff00753333fffff999990813f0ff0031999a
+fffff2cccdff00148000ffffdf4ccd8bffffb880008b727465668b6d8b7c9974a208
+0e6a89a8f8d0b201f786dcc0a603f7d6d615f87607ac9794af1eda06c28b9c80a03b
+08a2906af72f7185057b8a837c1efc40067b8a939b1f71916afb2fa386059fdb9c96
+c28b08e606af98826c1ffc7b076f7d7a621e7106868888861f8b788d89d68b05ec8b
+ae47994408a68b84f725058a977e93848b087a066a889faa1f0efb2989a8f7ffb298
+7712a69ff71dd6c2a1ca9f13bef797d715f7cdd207c68b85829b40089ff71d067188
+0513de8685867d1efbc0067c8690901f13be728e8afb1d9f8b0513de9fd78294bc8b
+08d8fbd0068b648684688a086206878989871f74e307ee8ba339917108a18b88f708
+058a998192818b087a066c8698af1f0e7789acf8dbac01f790e003f7e5f70e156f0a
+0e76fb7aa8f8efa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89
+058bce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81f8bf731f729f7fa
+0597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e3c8d8b1e8a898b7705
+888c87901ea806a08f88811f8b85887d878208fb13fbccfb16f7cc05869587988b91
+0894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d8b1e8a898b77058592
+8a8e1e9706998b9589908898839579917e08f734fc06050e7789acf747b3f800ac01
+f790e003f7e5f70e15e3f72fb3fb2fff0007b334078bff001dccccff0001199aff00
+10e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff00164ccc94
+ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b769185
+ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb65
+0583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00cccccc
+05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a
+8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5e66808ff00
+834ccdfb7105ff00116666ffffe2ccccff00038000fffff56668ff0000199affffdb
+cccc08fb3663f73633068b387a863b8885858b769185bc8cff003466668cff002699
+9a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080e76fb7aa8
+f75db2f7ffa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89058b
+ce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81ff731f744b2ffff6033
+3407ff0084ccccf7d30597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e
+3c8d8b1e8a898b7705888c87901ea806a08f88811f8b85887d878208fb13fbccfb16
+f7cc05869587988b910894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d
+8b1e8a898b770585928a8e1e9706998b9589908898839579917e08ff0089e666fbd3
+ffff60199a8b8b64ff00b0cccd8bff000533337f050ebd89a8f8e3a601f7a8e8f792
+a603f89d8c15cf8ba526936208a68b86f72805968794741e7d8b7a9e72ad08fb45f7
+7c05819885958b958b948f94949708f720f75205acb8a293a78b089c06938c8f8e1f
+8b9f888c057a8b408a868b808b488c768b08898a8b7705868e898f1ea90699928882
+1f8b84867e817d08fb15fb430585838787888b888b878f869208fb11f74405819983
+988b930892918f9c1eb3068e8d8d901f9f078a878c8b1f6d8b2f8a868b808b4b8c71
+8b08868a8b770585928a901e8d06ab8b9a79a26c08f73ffb7505948090828b818b85
+8883848208fb2efb6605746b7075678b087f06858689861f8b778c89058bda8d909a
+ec898b1e8e8d8b9f058b8e8a8e868c087806788193961f8b939095949808f718f749
+05929490908e8b8f8b8f88918308f71cfb5005967c937f8b8408838387731e730688
+8888871f8b778e89058bcd8eae1e0efb0889a8f80ba801f7ea8a15e08b9d44975308
+9f8b86f71b058a9985917d8b087a06798b858e6cb70823f727058a8e8a8d8b8d8b8c
+8b8d8d8d08e8f70e05a6b09b95ab8b088f0692908c921f8b9e8a8d058b5a896b6d5b
+8d8b1e88888b7805868e898f1e9a069d8e89831f8b8589827d7708482f0588868888
+898b898b898e8791084ee7057f9c87958b9008928e909f1e9b068f8e8e901f8b9d88
+8efb0289378d89888b7805879188911e8e06ad8b9c7a9f6d08effb26058d888c898b
+898b898a898989082ffb0e05746d7b7a6d8b088206828787851f8b7a8d89058bba8d
+a8acbf898b1e8c8d8b9e0590898e861e7e067a848d941f8b908f93989f08cce7058e
+8f8e8f8d8b8d8b8d898e8608c63b05a16890828b8708848689791e8006858988861f
+8b788d89058bb38ca51e0ef7a08aa871aef8d5b268a71295a294a6f749dcf73da595
+a2f70bdcbea5138fe0f78ef8d015fc85078b6385856a8a087106868786861f8b7a8d
+8905134fe0f7008ec78b05f723f7468a8b1ff08ba6449a4408a58b87f72905139fe0
+997d91841e7a066a899daa1ff883078bac8d97af8c08a9068f8d8d8e1f8ba1888cfb
+088afb008c898a8b7505878d8a8e1ea906b18a8c7e8b6b08fc7d07136fe06b887d67
+1efba1066c8390b41ff87d07ac9794af1ecb06c38b9c809f3b08a2906af730718405
+838b7b7b1efc23067b8b9a941f70926bfb30a286059fdb9c96c28b08d806af97806c
+1f0ef7128bb264a7f80ab264a812ad9f78a5f713d6f723a0f70bd6c4a01367c0f7c1
+f82515af06c68b85829b4008a0f71f067087058585867d1efbbf067b8790911f718f
+05136bc08afb1f9f8b059fd78294bd8b08ab06af9082651ffbb007648687671e7b06
+888989871f8b768d89e88cf7da8b05f5a424721fa08b87f71b058a998192818b087a
+066c8697af1ff7aa071397c0b49292ad1ea4068f8d8d8e1f8ba1898dfb0489298d89
+898b7505878d8a8f1ea006ae9082641ffb9e0769887c661efb5f06688697b01ff79f
+07b49390a91e0eb28aa6f76bc5f7d4a601ecdcf7a3dbc1a603f8a5d515f88b07b091
+90ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb
+72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008a
+fb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08
+fb950769877e671e6406878a89881f75d307e78bb651963908a68b84f726058a9a7e
+90848b087a066a889daa1f0e3c8aa8f702aff778a801e1d6f752d5c59f03f83dd715
+f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e
+9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d
+8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1e
+c08bc199afbe08fb1307648682671e7b06878989871f8b768d89c98b05eb8ba53d94
+5a089f8b87f71b05998092811e7a066c8697af1f0eb289acf76fff003ab334ffffcc
+ccccff0033999aff0130e666ac12f1e0e8b8f714e013bef7d9f71315ff0082800007
+ff0027e666ff0008e666ff002b199aff0011999ab8ff001ee66608ffff3f199a078b
+387a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035
+e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba0859165
+8affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d1
+889c868b3808fb3e07ffffd0199affffe0ccccffffd08000fffff63334ffffdf6666
+fffffd199a08ff00cde6665e0713deffff31b334074fff0004b3326aff001d199a8b
+ff004a800008f5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b
+678b568c638c85858b769185d1889c868b38082c0728b43cf7061eff000780008bff
+0007b334ff00003333ff0007ccccff0000999a08ffff843333070e3c89acf1b8f770
+ac01dfd9d3b7d5db03f7aade15ff0045333307ff001b999aff000cffffff00188000
+ff0011cccdff0015e6669b083e078b3880884e8685858b769185ac8cae8cb78bb68b
+b08aab8a91918ba085914e8f808f8bde08f74d078bde968ec89091918ba08591698a
+698a5f8b648b638c748c85858b769185be8796878b38084307ffffe98000ffffec33
+33ffffe8b334ffffed8000ffffe3ccccfffff5b33308ff0081999a5fffff76199a07
+fffffeb3338bfffffe999affffffe666fffffeb3338b084a88add91f9c078bde968e
+be9091918ba08591738a658a638b608b698c6a8c85858b769185c88796878b380860
+072da066e81eff000c80008b97ff00016666ff000b8000ff0002800008ffffca199a
+070eca8aa8f803b9f745a701f5dcf7bddc03f74ff7d415d1bdd6a4aa8b08d7b8633a
+1ffb5e076e827c661e7e06868888861f8b788d89058bcc8db2b5d5898b1e8e8d8b9e
+0590868e861e760668809aa81ff76607f25cc3271e4c8b41742d5408f76707a7999b
+b41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea6
+06b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3da898b
+1e8d8d8b9e0590878e871e7806637c98a91f0e578aa8f7a5bac1a801f1d6f764d603
+f745d315f73107ff002f999aff002e6666ff002a999aff0019999aff001ccccc8b08
+c3ac783a1ffb15076e827c691e7806868888861f8b788d89058bcf8dafb2cf898b1e
+8d8d8b9e0590878e871e78066a819aa81ff70a07f25cc2421effffd933348bffffc6
+6666fffff13334ffffbd6666ffffbdcccc08e607a7949bad1e9a06908e8e901f8b9e
+898d058b4b896764478d8b1e89898b7805868f888f1e9e06ac957b6f1ffbb2076e82
+7c691e7806868888861f8b788d89058bcf8dafb2cc898b1e8d8d8b9e0590878e861e
+7c066a819aa81f0ef7687fadf800b7ffffdfe666ff002bb334ff0065e666ff003fe6
+68ff00109998ad12ff000a999aff00284ccdff00761999e5ffffb6999aff0056b332
+13def953f70e1556584e5a2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7
+223af716fb548b0813bdf80d0a13defffffbb333ffffe6e666fffffdcccdffffe599
+9a8bffffe4999a8bfb32ebfb41f76b8bf7028bc4b0dad4085bf7e015fffe7db33406
+13bdf80e0a0e4e81bcf766ff00273334ff005accccc46bac12a5afdcdfffffb9999a
+ff004a8000ff00c2e666e113ddf880e81566656e7b518b678b61a06cbe77ac7fb98b
+c508f79e890597929196df6de5fb1f1f13ebf80f0a13ddfffffd8001fffff13333ff
+fffeb333fffff04ccd8bffffef80008b539955ac65ad63ba73d38bd78bc1aeb3bf08
+889585907f8c0813dbfffefb199af75715f8100a0ef768fb65b1f733adf800b7ffff
+dfe666ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284c
+cdff00761999e5ffffb6999aff0056b332ff00d0b334c713ef40f940fb22157b9205
+75757b7d6e8b668b74a58ba58bff003d4ccdff00243334ff00289999c1ff00298000
+ff001f80009dff001d9998ff00188000ff0021b334ff001f199a0874a30556584e5a
+2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7223af716fb548b0813dec0
+f80d0a13ef40fffffbb333ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb
+32ebfb41f76b8bff0019199a8bff00164cce8dff00148000ff0003cccdffffda3332
+ffffdd4ccdffffe2e666ffffd619998bffffd5cccd8b54b56ec18b08b48bb0a1a8b8
+0885f8d015fffe7db3340613dec0f80e0a0e55fb4db1f71dbcf766ff00273334ff00
+5accccc46bac12a5afdcdfffffb9999aff004a8000ff0040e666c9cfe113eec0f882
+fb0c158792858f828b75757b7b6e8b668b7ea08ba58bff00273334ff0018b334ff00
+1cffffff002d9998ff00273333ff0021e668ff000f3334ff001bb332ff00186666ff
+0017199aa9889585907f8c0866656e7b518b678b61a06cbe77ac7fb98bc508f79e89
+0597929196df6de5fb1f1f13f5c0f80f0a13eec0fffffd8001fffff13333fffffeb3
+33fffff04ccd8bffffef80008b539955ac65ad63ba73d38b918bff0005e666ff0000
+3333ff0005b334ff0000666764ffffdf8000ffffe66666ffffde4ccc8bffffdc999a
+8b55b177bd8b08b48bb39fa8b80813edc0fffef9199af82c15f8100a0efbbe89acf8
+dbac01f5e003f753f70e15590a0ef7ba89acff0124ccccff002a4cceff00dfe666c8
+66acbeaa12f7c4d1a7e089d013cdf841f96d15f7d70a13eec5fcf315f7d90a13def7
+da0a13eef7db0a0ef70389acf746aef710d163acc9aa12f76dd4abd482d413cdf85f
+f8d815f7ee0afbecfcd8159f8c9ca298a608b6e50513ee9db0a7a6cf8f0834078b38
+7f88588685858b769185a28cff002533348cff0027cccc8bff002766668bff002599
+9a8aa18a91918ba08591588f7f8f8bde08e207cf87a7709d6608b6310598709c749f
+8a8b8bd58a9f8a91918ba08591648d81937aab085ee00572ba6aa3528b088e07b296
+9cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f518b
+7055785c75546d65448b08ca0713def7e80a13ee78ba70c1518b086a737475779d78
+a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a7372
+5c085e36057a6b8183648985858b7691859f8cd58c8b8b080e94fb40a8f722a8f7ca
+b6f764ca69a712f5dc7ca2f7b0da13f5f8c2e8158bff00ac3334ffff8d999aff0043
+1998fb0cff00183334ffffff3332ff00003334ffffff199aff00001998fffffee666
+ff00003334fffffa999aff0001199afffffa999a8cfffffa999aff0000e666ff0049
+199aff001b8000ff0020ccccff0057e666ff00158000ff0038999a95a7a5a8978b98
+8b998698840897849885998b08a0a29da3a27ba2561f368b6d5773517658724c526b
+ffffe7cccc7effffd3199afffffe3334ffffdc199affffffcccc08f7550713eda799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1e
+a606b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c98a91ff79f07ff0097e666ffffff6666ff00
+8c199affffd233348bffff2f66668bfb3d3e52408b5b8b6c99769e799c7ea38ba608
+13f373fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712edf70af7271f
+0e49fb7eadf75ba8f73bbcf70bd16ca812f3d64bddf75dd813f3ff00f8b333f77515
+ff0003e666ff0000cccdff0003ccccff00009999ff0003999aff0000999aae91b2af
+a6be96a196a0988b948ba0839e8b08a39b9e9fa17e9c651f698b6c706a4e5e34677d
+518b0813ed79f70806a89598ac1e93068f8f8e901f8b9e898d058b52896467478d8b
+1e89898b7805868e88901e9e06ad947b6f1ffbb5076f827e691e7806868888861f8b
+788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8198a71ff71207ff
+005ee666ffffffb333ff007c199affffdab3338bffff4a999a8bfb005d47428b0813
+f3498b81b685ac87a37a97748b08747c7c6e60bf50f5f70cddf700f7101f8bff00a4
+199affff85e666ff0031e666ffff97cccd98080ef70afb55a8f737a8f7bcb2f793a7
+01f5dca9a2f7a6db03f896d215fb3d4849401e5b8b6b99779e799c7ea38ba60873fb
+2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af7271ff88a07a7
+999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f8890
+1ea506b39a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7b621e7006
+878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98
+aa1ff790f7db070e69fb59adf736a8f74cadf730a812f3d545def754d613f6f813d5
+15fb086cfb0d3b1e4a8b81b585ad87a37a96738b08757b7d6e5fbf51f6f722bcf70d
+f72a1ff7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b7505878d
+8a8e1ea006af9082641ffb000713fafb61f70106b49291ad1e9f068f8d8d8f1f8ba0
+8a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658683678a08
+7106888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84918bb3
+08f71df761070ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15f825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00134ccc8ba1ffffffb333ff0016e668ffffff999a08ffffc8cccc
+ffff84b333b68bff0036ccccff007a800005ff00078000ffffffcccdff00076668ff
+ffffe666ff00074cccffffffcccd91918ba08591458e7a908bde080e6689acf746ac
+f730ac01f6daf76ada03f873f7c7158bde968ec89091918ba0859168895f8b6a8b6f
+8b638c648c85858b769185c88792878b38084afb6acc078bde928ec89091918ba085
+91658affffd9cccd8affffe033338bffffe266668bffffd6999a8c638c85858b7691
+85c88796878b3808fb4d078b3880884e8685858b769185b38cff002833338cff001f
+cccd8bff001fcccd8bff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34
+078b3884884e8685858b769185af8cff002533348cff0022cccc8bff000e199a8bff
+00108000ffffffcccdff0011999affffffb33308ffffc8ccccffff848000b78bc1ff
+007a800005ff0006b334ffffffcccdff0006b334ffffffe666ff00069998ffffffcc
+cd91918ba085914e8f808f8bde080eb28aa6f76bc5f7d4a601ecdcf753a6c0db03f8
+a5d415f88c07b09190ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1e
+a906af8f84681ffb72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d
+8c8f1f8ba0fb008afb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf706
+1ec58bc893dbdc08fb94076f86766c1e7a06857d867c1f84fb26a68b0597ddb5c5e6
+8b08d3a1068e8a8d871e6406678798ad1f0e3c8aa8f702aff778a801e1d6f703a1c4
+d503f83dd715f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b75
+05878d8a8e1e9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad
+1e9a068f8d8d8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a
+073da141ef1ec08bc199afbe08fb130767867f6b1e7b068180847d1f86fb1ba18b05
+94c69fcff08b08c98b8d8d8ba0058f898d871e7b06678694b21f0eef89acf766b5f8
+0b77c7aa01f77ed1f703d003f7fbf96d15f7d70a2bfc52154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80baccbaa12afde4bd85fd4ebd466d9133300f7def8e215f7ee0a13
+788066fbf915750adafb381513b480760a137880770a0eef89acf766b5f80b77d4ea
+01f777e9d6e903f777f98a15950af73d16950afb19fc6f154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80bace4ea12afde4bd85ae9d6e956d9133200def8d315d80a133100
+f73d16d80a137880b4fbea15750adafb381513b480760a137880770a0ef7a289ac6c
+b2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb0afb4b
+0413b3c0bc0a1373c0bd0a13b3c0f7560a137bc0bf0a13b7c0c00a1373c0c10a13b3
+c0c20a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75dd7137bf79df81415db
+0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0e6589ac6cb2f7b0b1f788b36cac
+beaa12f4e062d1f703d070acb2ac9bae1325b0f7a6f96d15f7d70a92fc0415133670
+530a13ae70540a136670550a13a670c50a137670c60a0efb2881bcf765adf70eaccd
+aa12b0df79d4ebd472e113f6f7edf8e215f7ee0afb71fbc815e20a13f1e30adcfb54
+15e40a13f9e50a0ebc7fadf756b7f800ad01f89de503ecf89f15f73e0abbfbdf15f7
+3f0a0efb2882acf70eadf765bc01a1e1f758e203f7c4f72615f7540a3af75415f755
+0a0ebc7fadf756b7f800adc0eb01f74bebe8ebc0e503f808f98b15b70afb5116b70a
+35fb8015f73e0abbfbdf15f73f0a0efb2882acf70eadf765bce3ea12a1e172e9d6e9
+61e213f4def8d115d80a13f2f73d16d80a13f9bffc3f15f7540a3af75415f7550a0e
+f7ba89acff0124ccccff002a4cceff00dfe666c866acc4ea12f7bee995e077e913cc
+f7bef98315d80a13cdf73d16d80a13ee9ffd0915f7d90a13def7da0a13eef7db0a0e
+f70389acf746aef710d163acebea12f75be9a2d476e913eef70116f7e70a13def7e8
+0a13eef7e90ae5f8d215950a13cdf73d16d80a0e6681aff7bcbcf791adbeea12cfaa
+afe9d6e98ee34be813fe80b7f70715f7dc0a13ff00f7dd0a13fe80f7de0ae6f91515
+950af73d16950a0efb3381aef748b6f730aee2ea12c7a67ae9d6e95edb4de113f080
+b6de15f7ea0a13f900f7eb0a13f080f7ec0a13f400a6f87e15d80a13f200f73d16d8
+0a0e98fb67b0f99fb301cba5f815e403f73bf91915f74b0a0efb47fb7faef7c3adf7
+96ad12b3a573d7f756dc13ecf713f6159c7c059d8fa992968b08d9aa6326fb004655
+591f638b70b183a183a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1f
+f72bf78e059ba691968b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108
+720613f4f75c0a0ef70789acf8dbaccdbd01f5e0f7d6e003f8eaf70e15f7d60afb21
+f8e315f40a0e8289acf803ace2bd01f704daf760da03f75aca15f7ed0aff002be666
+ff008f800015f40a0ef70789acf8dbaccceb01f5e09aebe8eba1e003f81ff98c15b7
+0afb5116b70af81cfd1215f7d60a0e8289acf803acebea12f704da72e9d6e969da13
+f2f75aca15f7ed0a13e8ffff43e666ff00c7800015d80a13e4f73d16d80a0ef681af
+f8e8afc0eb01b0ebd2ebe8ebdceb03f81df98b15b70afb5116b70af713fb1d15640a
+f7e3fbb915650a0e3081aef80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a
+13e4f73d16d80a13f2fb8dfc0615ed0af759f75b158b0a0ef681aff784c480c5f790
+af12b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24c
+cc15f8060a13dcf8070a0e3081aef72ebd75b5f72fae12b4e1f78ee1139cb4f76115
+ed0af759f75b15f8110a13dcf8120a13bcf8130aff008a4cccffff3e333315f8140a
+13dcf8150a0ef681aff784c480c5f790afc2eb12b0ebcfebe8ebdfeb139f80f81af9
+8d15b60afb5116b70af716fb1f15ff007933348bff00641998ffffa34cccff000f99
+9cffff5466680813df80ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cc
+cc8b0813bf80f8050af7e3fbb915650a2bfffff24ccc15f8060a13df80f8070a0e30
+81aef72ebd75b5f72faee2ea12b4e180e9d6e989e1139c80b4f76115ed0af759f75b
+15f8110a13dc00f8120a13bc00f8130a139a00fb0ef73d15d80a139900f73d16d80a
+ff005b4cccfffe9533341513b880f8140a13d880f8150a0ea681aef79ebd79c3f786
+b0c0eb12b9e637a9c2ebe8ebd6e21399c0f7dbf98b15b60afb5116b70af719fd9515
+f76beef72af74df765fb0cf710fb3a1ffb138b636152880813bbc08755835a815708
+a98705a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813ddc0f7e30a
+13bdc0ce8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca6
+6e8b087282787741f7144fec1f0efb2181aef737b379b9f728aee2ea12badb42a58e
+e9d6e97de113dc40badd15f7fa0a13da40f7fb0a13bc40f7fc0a13dc40f7fd0a13bc
+40f7fe0a13da00f7ff0a139900aff87f15d80a139880f73d16d80a0e8675c9f8d2ac
+cdbd01ff00688000f89f15f7d80aff01358000f75215f40a0e3bfb7cdbf8baace2bd
+01f760fb3415910af73ff93a15f40a0e8675c9f8d2accceb01f741ebe8eb03f7fef9
+8c15b70afb5116b70affffbb8000fb8115f7d80a0e3bfb7cdbf8baaceaea01f729e9
+d6e903f760fb3415910a54f97115950af73d16950a0e8675c9f8d2acce7601f86bf9
+af15f71f0afb179015f7200affff148000fba915f7d80a0e3bfb7cdbf8baacf77276
+01f760fb3415910af796f99b15f7210afb189115f7220a0ec289acf76fc5f7c6accc
+eb12f1e08debe8eb76e013fef80ef98c15b60afb5116b70a34fb81152c0728b43cf7
+061e13fdff003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f
+199a078b387a86458885858b769185b28cff00374ccc8cff0023b3348bff00241998
+8bff0035e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918b
+a08591658affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b
+769185d1889c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe38000
+8b084363a6dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb333
+8b678b568c638c85858b769185d1889c868b38080e5389acf1b8f770aceaea12dfd9
+ffffd48000e9d6e9ffffe28000db13f9f736f7c715f7f70a13f4ffffd48000f7af15
+d80a13f2f73d16d80a0e4689acf8d2b36cab12f703e0c1a9f75cab13dced8915f28b
+b354943708a98b84f728058a99fffff7b334ff0008999afffff34cccff0001666608
+798d05ffffdce666ff0003e666fffffe199aff0009199a8baa08f88507a59a90a21e
+f71706d18ba8569b4308ab8f76f735fbe68b0513bc7dfb0c8c8b1f13dc898a8b7305
+13bc8b878efffffd66688fffffff999808ab8805ff002c199afffffbe668ff000ae6
+66fffffb19988b6808fc7b078b6cffffefe666fffff58000ffffd6199afffffb8000
+086f880587ffffff999a87fffffd66668b86088b748d89050efb2e89acf7f6b76cac
+12f702dac2a6f70aa813dcf70216f18a9d4c994b08a68b87f71b058a977d96848c08
+798d056b8f85908baf08f7c7f70407c68b9b56985108a88b7ff72ffb958b0513bcfb
+0a8d0513dc88898b710513bc888e898e1eab8805b18791858b6508fba0078b6e7e7f
+6a8708728805868a88898b86088b748d89050ef75f89acff013ae666ff0028e666ff
+00e43334accaeb12f4e0caebdce83aebd1e013fd80f84ef98b15b60afb5116b70af8
+4cfd1015f7e00afc3e2f154782adac1ff78907ff00158000ff0001e666ff0013e666
+8cff00124ccd8b0813fe80ff00809999ff0033b334ffffcfccceffff974ccc386c3c
+fb181ffb36e615f7e20a0ef71589acf755acf721aceaea12f6dab9e9a8e163e9b6da
+13fc80f8fdf7c715f77c0a13fe80fb9a8f15f7f80afb3df74815f7f90ab9f7d01595
+0a13fd80f73d16d80a0efb6dd0b1d001f706d103f706fb4a15f8160af604f8160a0e
+fb6cd0b0d012b9d17cd17ed1ded113c4f7cbfb4a15f8170af604f8160a13e4fb9d16
+f8170a13ccf70416f8170a13d4522115f8170a0efb6dd0b1d054b412f7a3d113b0b0
+2b15f71db4fb1d06f77efb1315f8160af60413d0f8160a0efb6dd0b1d053b512e4ae
+f72ad11398f7a6fb4a15f8170af60413d8f8160a13b8fb8e7515f8180a0efb27d001
+f717d103f717fb0415f8160a0efb27d001d6d1b6d103f750fb0415f8160afb0516f8
+160a0efb6cd0b0d012d7d17cd17ed113d0f717fb4915f8170a13c8c4f515f8170a13
+e0fb0416f8170a0efb15b501e0f73803e0fb1515f738b5fb38060e21b501f72aae03
+e02115f8180a0ef8e7d001b3d103b3f90a15f8160a0ef8e7d001b3d103b3f90a15f8
+160a0efb6dd07bd07cd012aed1b5d1b5d1141c139cf797fb4a15f8170afb04c01513
+5cf8160afb04c115133cf8160a0ef76ed001f717d103f717f79115f8160a0efb5ff7
+1e01f725b003f7254a15fb1eb0f71e070efb70f836e201c9f78f03c9f83615f77b8b
+9fe2fb7a8b050ef8edb501dff73803dff8ed15f738b5fb38060efbc4997601f706c4
+03f7068415c4f8d752060ef8e5d001f7d1d103f7d1f90815f8160a0ef8e5d00159d1
+0359f90815f8160a0efb879d7601e3f74403f79cf83d155a9f7e8c71ce745078805d
+79c375918da5469bb599a2c5a308fbe90453a27ca17ab782757c614b72b57ba183a3
+4ca5ce998bbb9f080efba18bef01cda603cdf7a4158b316d488b578b6f8c768f7d08
+f7918b6beffb3e8b0590a78fa38ba88bbe83dc8bc38ba49f98a68dd28fb7a88bb38b
+d35f8b8b8b856a68896e8a085d895c838b4f8b529d4e8b51080efb06a07612acbd63
+ba77f704f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb
+138beff7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350
+f77ef7bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce
+13e0f7dff7b715f8210a13d0f8220a0efb099376f839f70012c3cef777bd60cc13e0
+f70bf733158bab93a99b95089807868e858c858b5a8b73618b478b788e4f8b798b7b
+8679838208928005bc8ea3a88bb2088b9e87ca8b9e0813f0f7adf71d158befaf898b
+b308a307b1819f561efb8a06728b78a086a2088b5e844162a86dbd1ff7bb06655e78
+4d8b3d0813e88b6192318b618b77877a837d08938105b992a2ab8bc5088bcd75da8b
+cd080efbca9a7612f747c060b013c0f74785158bc091be1f13a0f8230a0efbc69e76
+01f709ca03f709be158b75867a817d8b8bd98d8be98bd36cd68bd98ba08eb197b199
+84a481a08b918b928c908d08939691a18b948bc87199fb0c8f7a8f8096879e088b63
+85415dad73cf1f71547e4f8b4d8b519b4c8b51080efb089e76f833f612c6bd5ecbf7
+70bb63ca13e8f820f7bf158becb8798bd708b875a05e1efb8406708b7b9c86a2088b
+588a4a5daa68ca1f51537f4e8b3a0813d08b5190508b6d8b6f88737f798b8bda8d8b
+e80813e88bc978d88bc98bc19cb4aba308f78d06665e75498b3c0813c48b6193318b
+618b76877a827e8b8bd78d8be0088bc874ea8bc5080efb018beff7cbf70225f70012
+a7f729fb04abf7d8aa13acebf82e157a5f7d5a8b618b35b3fb0a8c4408f7ab06b5f7
+09a4f48be38bf74d49ab628b6e8b6f787773716e74566b4108a37f05bcdfaa9eb88b
+c18baa658b448b3b79436f5108fb73066ad775d08bca8ba596b496b00813d4918b91
+8a918b978b978d958e8f998d998b998bb478a0648c6a8c7a9888a38b8b658a8b3e08
+8b5aa67cb484080efbd9f833f501f753b003f72cf78715f8240a0efb0cf82cf70012
+f7efc857af13a0f81cf7fd1513c08ba7929a948e9a90999e8ba608a582ab501efb86
+066e8b7a9685a2088b60894462a36fba1f13a0f7918b0513c082fcd50597bc91d81f
+0efb188beff7cdf601f807b103f807f78c152a6e583d1efb668b7127f7518b05f73a
+a5dff749f73d60e1241ffb1806708b7b9786a2088b60824462a276b91ff73a06e294
+442d1f0efb0b9576f83cf601f754d1f3bb03ddf8c2158b978f9d90998e949bcb8b8e
+8ba576957990838d7792899d8b8a6d898b5e8b75a18297870898869e848b798b8285
+7a86817f6b7f658b5b085eac76bd1ef72806dd966b5a1f8b4b827a5a596969393b8b
+5208709b7da1a19c97a31e8b9684958b9a8bada9b0b6bdd2da93988be208f70182bd
+331efb3e06666f90ac1f0e478beff7cdf612beba64b7f7dcb565bc13c8f74cf83115
+f72606d78b9f6990fb280813e48ffb17fbe58b0513d890f726058cc1a7bfbfc80813
+e4fb19fc3115f8458b0513d880f7e90586f7246faefb268b08fb3006718b7c9785a2
+088b5f8b4662a46bbb1faa066260594a8a61080e408bef12b0ae69f723f795ad13b0
+f7b7f8a91586596668546d8191859b8b988b988e8d8b9c8bb06d8f728d0813d0778d
+718f83aa0813b08b69864c1f8b68a06db482b78296848b710813d03f3861fb0c8bfb
+1c086f8e7899949494901e8bf71aa2e9b7ccb6cccab3be8bdf8bc5418b2f8b597c53
+806808fb638b6727f7888ba8de0592a0a2dc8bce088bf7174ef716fb0c9f080efbcd
+f82ef70212f727d34eb813c0f727fb5f15908dce7d8bf71d0813a07bf7ce0513c08b
+b88eb998b198b192a48b968bd6568e5b8e758c668d84ae8b8b64868b428b60ae73cb
+8808b289a3828b7a8b82877f857f0813a0796c826c8b74080efbaa8bef01f764af03
+f788f7a4158bc59dc88bc48bc75c935d8d6e8c688d85ac8b8b5f8b8b438b63b76ed2
+87a6899f7e8b72088b5a824b8b578b838b838c848d6e8d73906f08fb3e8b6b27f792
+8b058e998ca08ba78bbf6dce8be5080e3680f0f7d7f601beb3f7d3af03f7b5f83115
+eba45121fb214279374a2a8ff7371f8bc399c0a7ba08f709fc3c15eceeabf789f75a
+44c3231ffb1a06708b7b9986a2088b5d8946769958ba1f685579488b3d08fb5bf71a
+70cc1e0e2bff019bb334ff006ce66412ff0037e666ff00a0b334ffffa59999ff001f
+6667ff005ce666ff002a3334ff00744cccc413b8ff00834ccdf82e15fffffc4cceff
+fff4199afffffe9999fffff84ccc8bfffff233348bffffe3333291ffffe2ccceff00
+03999a7eff000c9999ffffd2b332ff0012cccdffffece667ff0023cccd70ff001b80
+00ffffeb33339fffffe466678bffffe980008bfffff46666fffffab333fffff5cccd
+fffff3999afffff8cccd08ffff4c3333ffffe2b3337728f769ad05e595b9b88bda8b
+f70ddff70a8bd28ba97a9d68905c927f9685a58b8b66868b428b68a374bb80089b87
+94828b788b81826f7965ffffb8199affff664ccdff000e3332ffffe99999ffffd599
+9afffff86667ff0007ccceff00054ccd8eff000d4ccc8bff000fe6678bff0015e666
+fffffa4cccff001ab333fffff93334ff00116667fffff13332ff0025ffffffffe199
+9aff00123334ffffe0199aff000fcccc08ffffede666947bff001c3334fffffa3333
+ff0018e666fffffd8000ff000ae666fffffce667ff000e80008b9c8bff00043334ff
+00003333ff0004199aff00006666ff0003999aff0005e667ff00004cccff00058000
+ff00003334ff0005b3338bff0009b3338bff000a6666ffffff4ccc99fffffd800008
+13d8ff00036667ff0008b334ff0003cccdff001519988bff000b999a8bff0045199a
+ffffd1e666ff0000e668ffffe4e666ff0000b33080ff00008000ffffdce667ff0001
+999cfffff68000ff002199988b8bffffe01999fffffae6688bffffc23332088b60ab
+ffffe3999aff002b666783080efb0bf758f1f707f6ba7701aacaf79fce03f73ef758
+159d90ff0013cccdff001833331f8ba375a56893ffffdb199aff00086666fffffae6
+66ff0009999a8ba98b9e949ea1a808f71806b98bad7f97739774975a8b4f087ffc5a
+059fba91ca1f8bca89f70a87e60882f7750584f71a72a8fb308b083406718b7aa386
+a28b8b507b8b538b689769c17e645670608b4a8b6698789b8b9c8b949fa78b08a58b
+9a779a8b080efb188befebf1f707f601abcaf7a8b103f807f78c152a6e583d1efb66
+8b7127f7518b05f73aa5dff749f73d60e1241ffb1806708b7b9786a28b8b60828b44
+8bffffda4cccff00138000ffffeb3334ff0026e666fffffce66608ffffff999affff
+ff999a05645670608b4a8b6698789b8b9c8b949fa78ba58b9a779a8b9d8b90ff0013
+cccd8bff001833338ba375a5689308ffffdb199aff00086666fffffae666ff000999
+9a8ba98b9e949ea1a808f72906e294442d1f0efb05acf74333b36dc7e4f73f1350f7
+44dc158bccb4dfd5db9d9eb0b1b4ab9d8b99879d8294968fb68b958bc36695618e72
+8c6f9587ab088b68853b1f8b64a573be834653423d5d2f08838b89e30513908bc8bd
+db8bb38bc15e966391788d6d9985a68b8b687c8b440813308b5ea57dd27d9a89907f
+8b7d0813508b646d508b61088b8905133095fc470592c08ee31f8bc57ddb8bc1080e
+fb078bef12a1f73364aaf4f73a13b0ff0157e666ff00bd4ccd15ffffea8000ff0015
+3334fffff9999aff0017999a8bff001ae6668bb6abd4acaba58b95889a8494988eb2
+8b968bbe6b90688e7b8c668f87ac088b618a421f8b69a86eb482ffffe2199affffd8
+199a68ffffc0199a74ffffc2199908ffffc3e666ff0029b33305799a82a78ba50813
+d08ba293bd8ba28bc577915b8e7e8c6d8e85ad088b61874561ac70bdaa9472691f13
+b08843058b749475a07b08f7262505928593838b8308fb9e8b6c27f7ea8b05a090b1
+bd8bb58b9b849b7c96080e29f831f601c3bad7c9f73ab703cdfb7015a1989a978b96
+08f890820774777c728b6f08fc6707f74df792158bbeb1a3c6aed1b6b6a58bf71308
+d189f5fb0c1efb4e066f8b7b9786a2088b588a4962ab69ba1ff75f06da8e505f1f8b
+4541577e83687321448b3e0871947f9fa29696a11e8b998a998b92080e219476f83d
+f612f811c15eb813e0f8117f158bc18eb51f13d0f7cb07f72364acfb261efb120670
+8b7b9985a2088b5a844c62a96aba1ff74306e3a35efb1a1f0e9c8bef12acf724fb00
+abf71df726f71ec513b8f8d8f858158bc45f947c907b91778d87a78b8b62888b3b8b
+6f9c78ab809488a3878b6e8b7a82757a7308472c6a407b5a08fb3406b9e7aef6a4f7
+04a18b96889982909692a88b988bc7649072917b8f768a84ac8b8b65868b44088b6b
+9f73b47c69fb0f64205f3908770666d473cd8bc08bb592b294ad9c8b968da68b0813
+d88d918e9d8b968bb67ba56a926193829284a38b8b66828b428b6a9f75b47f0813b8
+7e647f5d8b5a8b4f9e5ba0399172876f926a08f7b9069ef771f72af70c8bf703080e
+3b947697eff7cdf612e5b6f7aec15eb813b8f8337f158bc18eb51f1374f7cb07f723
+64acfb261efb1206708b7b9985a2088b5a844c62a96aba1fff0015b33306ffffdd66
+66ffffc9999affffdde666ffffc54ccc8bffffa8199a8b8191488d68084e8b7a27f7
+1b8b91c5058bb66fd38bde8bff0032199aff0020cccdff00448000ff00151999ff00
+26666608ff007d199a06e3a35efb1a1f0e659a7612f743c060b0f774c060b01390f8
+5285158bc091be1f1388f8230a13c0fbadfbea158bc091be1f13a0f8230a0e599a76
+f839f512f753b0f76ec060b013e0f72cf78715f8240a13f0f7c0fb94158bc091be1f
+13e8f8230a0e4df833f501f753b0f779b003f836f78715f8240afb988415f8240a0e
+fc0cf7e5f77501d4f70303f721f8c615f8250a0efb66f7e5f77501d4f703c4f70303
+f7c9f8c615f8250afb3c16f8250a0efb7481a9f8337712abd255caf727ca55d113d8
+f797f7e8158bffffd966666bffffe4999a7b815b9f589a8bd28bb1a1938b938a9386
+8e818b628b6f5c8b608b3ee06890850813e4697e425f8b4b084cc656e7e2cfc5d31e
+8bff0053e6662fff0022199a87930813d8b69fb0af8bb908a07fcd517a8487821e8b
+76aa7e8b5b0813e4fb30fb7515bfc9b4911ed063a7708b5508696d6a621e4e6ac0b5
+1f0efbb4f7faabf772a401aabff701c103f754f88a15980ab6fb2415990a0efbb4f7
+faa4f771ac01ff0043199ac1f700bb03ff0079199af88115da07ff001a0002a29c95
+a08bad8b96778b768b6c737936750860f72415ffffed00028b787f8281ffffff6666
+83ff00034cccfffffab334ff00074ccefffffd4ccc8e8e908d8f8b0894907b621f40
+07ff000000022dc477bc8b08b5c9acb39a80957c78847e831f8b868c868c898c898c
+878b84087b76806a746c93d61ec59a05ca9bb3a78bb58bb668a6618b6a8b7982696d
+889d7da0728b080efb90f7f8acf764ac01b3c5f71abb03f77cf81915ff0001800078
+967dff001280008bff0016b3348b9fff0006b334ff00114cccff000d4cccffffff4c
+cc9189ff00044cccfffffcb334ff0002b3347d8bfffff6b334ff00014cccfffffb4c
+ccff0002b33485ff0002b33488918bff00094ccc08f76107ff000ab334fffffb4ccc
+ff00054cccfffff6b3341efffff74ccc8bfffff9666787fffffb4ccd8308827c05ff
+ffed4ccdff0010b334ffffef3333ff00084cccffffe880008bffffd94ccd8bffffe2
+b333806f6effffe2ccccffffe1ccccfffff33334ffffd580008bffffd8b3348bffff
+b58000b7ffffd08000d38bff001680008bac97ff00148000a008f73904fb19077d78
+6a7e7d8b08ffffcf4ccdffffe7b333ff0025b334ff00474cccff0040b334ff001fb3
+33ff00224cccff00274ccd1fff000e80008bff001fcccdfffff1b334ff0010b333ff
+ffe34ccc080efb05f7faa4e7a2eab76da912b8c5f5d2e3c555cb13ccf731f8131569
+77b0b01f9799ff00318000ff00028000ff002b8000ff0001800008855a7e606b8b08
+f714f7531513dd99a3a3949a8b978b9984907e8d858c818b838b6f697251848ba9ff
+00018000aeff00038000910813eefb229e15b0a86a4d1f498b4489727b8afffff780
+008afffff780008b7e8b6e984ce78bae8ba593a4ae9b6ab281ac8b08b7c5a7b09b84
+9b756f857b821f8b8490838b7f087d7785746e7baacc1e13ddf294c0ab8bbe8ba17e
+9f7b967b96788d728b7a8b5b7e7069849afffff1e666ff000a9998fffff3999aff00
+08e6680813eefffff3800094ffffe08000ff00038000ffffe780008b6c8b5d766c5e
+8b839084918b08a4a5b296a28b080efbbef7faa5f76caad1a001bebcf70bc103bef9
+1f15f8260abc4215f8270a0efbacf7feaf77a1f761a5d1a012a3c1f717bb13bcf765
+f86315f8280a86fb2d15f8290a137cf82a0a13bcf82b0a0efbaaf7fbaef704aad6a4
+01a6c1f710c403f731f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f74889
+05ffffff4cccff00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333
+448b418bffffd4999aff000a3333ffffd83332ff001b999affffe7b334ff0012cccd
+ffffef6666ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff00
+09b334fffff86667ff00064cccfffff74ccd8b0878756d7a658b08bbf72315f82c0a
+0efbaaf7fba4d6aaf704ae019ec4f710c103f710f8ee15a48b9f7f9a7597788f728b
+728b898b868a8708fb488d05ff0000b333ffffb88000ff00134ccdffffc48000e08b
+ff0055b3338bff002c4ccdd28bd58bff002b6668fffff5cccdff0027ccccffffe466
+66ff00184cccffffed3333ff00109998ffffe4199aff0008e668ffffdd80008b5d8b
+5d747168ff0003b333fffff64cccff0007999afffff9b334ff0008b3338b089ea1a9
+9cb18b085bfb2315f82d0a0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ca
+55c1edff0038333413f6f73af8f315ab8bff0018b3337aff00114ccd69089b8b97b9
+898e05719c719a5d8bffffce199a8bffffcae666ffffeccccc8bffffd233348bffff
+e2b334ff00104ccdffffea9998ff0020b333fffff6b33408ffffff8000fffffd8000
+0513faffffdd4ccdfffffbccccffffe93333ffffe633348bffffdd80008bffffc799
+9aff00348000ffffe16666ff003c80008bff001b4ccd8ba38fff0014b33395ff000d
+199aff00074cccff0013199aff0012999a8bff00134cce8bff00109998fffff16666
+ff0008999afffff2b3338bffffee99998bfffffa4ccd82fffffacccdffffee999a08
+86ffffe88000fffff33333fffff78000ffffe8cccd8b08ffffda6666ffffec999aff
+0014999aff00266666ff00218000ff0011999aff00138000ff002266661fa406ff00
+074ccdff0003b333ff00024cccff0004b3341f940791fffffc4ccd8efffff8b3331e
+730613f6ffffe3cccdffffe733339fa81fff00196668ff00158000ff000b9998ff00
+1980001e0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ff00383333edff00
+3f0001ffffc0ffffff0036000113faff00a03333f8f315ff00197fffff00188000ff
+fff56668ffffe699986effffe7333376ffffe3cccd1f7306fffff8b332fffffc4ccd
+88851f8207fffffffffffffffb4cccff0003b333fffffdb334ff00074ccd8b08a406
+13fcff00226666ff00119999ffffed8000ffffde8000ffffd9999afffff0999affff
+ea6666ffffda66661fffffe8cccd8bffffef3333ff0008800086ff00178000fffffa
+cccdff00116666fffffa4ccd94ffffee99998bfffff2b3348bfffff16666fffff766
+668bffffef66688bffffecb332ff0013199affffed6666ff000d1999fffff8b334ff
+0014b333819f87ff001b4ccd8bff003c80008bff00388001ff001b999a8bff003866
+66088bff00228000ffffe91999ff001cccccffffdd4ccdff0004333408ffffff9999
+ff000280000513faff0020b332ff00094cccff00104cceff001266688bff001d4ccc
+8bff002dccccffffcdffffff00163334598b5d8b6e7c717a088988975d9b8b05ff00
+114cccadff0015b3339cab8b080efbacf77fa9ebb3c0a1f71fa17ba7129ab672be58
+b4f708bf8bb213ea00f79ef8ec15f82e0a13f200f82f0a13e900f8300a13ec40f831
+0a13e980f8320afb4ffb7e15f8330a13e440f8340a13f280f703f74415f8350a0efc
+25f786c5d7a0f761a812ff004b999ac553bb13f0ff0068999af78615ff0010000298
+989b9b7e987b7b7e7e7b1f7b987e9b1e13e870f7ce15fb1c0713f0ff000000027089
+708b8b8b868d89918b9b92ba93a58d8c938a9287910813e86b8d80868bc008f70107
+ff00000002b4988eb38d90938a9a87916d8a748b748bffffe74ccc8bffffeab3348b
+6d8c87848b7d8f8308ad899c888b62080efba4f800a8f768a5d1a001c3bb03c3f84b
+158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b998793698d84
+8e8bb408ff0036199a07ff0003cccdff00013332ff00034ccdff0000b334ff0002e6
+668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b1e8d
+8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380009c8495084c
+e805898d8a8e8b8e8b8dff0000199aff0003e668ff0001e666ff0002199808b1b405
+ff0016199aff0017e668ff00156666ff00051998ff001880008e8dff000033348fff
+0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b898dfffffd4ccc
+8effffffb334ab88fffff0b333fffff14cccfffff84ccdfffff7b3340872ffffe680
+0005ffffeacccdffffea666879fffff66664ffffea3333fffff7333408ff00968000
+07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989284611f
+0e27f801a8f75da17dad12cdbbf705bbf705bb141c13bcf70ff8c6159ea29d9da08b
+08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733338bff0017cccd8b
+ff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000ff00028000fffff880
+00ff000280008bb408f4078b91ffffffccccff0005b334ffffff999aff00056664ff
+0012199aff00156668ff0013ccccff00138000ff0013b3348b08aaa47a581f2c078b
+628988698987838b7d8f84a98cff000733348bff0017cccc8bff00234ccc8bff0005
+b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1effffdccccc8bffffdc
+b334ffffde8000fffff16666ffffee9998fffff76666ff00246668ffffe9b334ff00
+0e8000688b678bffffe74ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348b
+ff00054ccc8b8e8ba7899888928a8e8a8e868b0813dcf8360a0efb7df7919ee8a8f7
+5da17dad12d1bbabbbbcbb13def78bf8ab15fb1b072e81686e1e868b878f8a918799
+839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f71107ce69a45d
+1e678bffffe14ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348bff00054c
+cc8b8e8ba7899888928a8e8a8e868b0813eef8360a13de9ea2a39da08b08aaa47a58
+1f0efbb4f7fba4f778a401a2c6f720c603f72cf91115326340444bba47dcff005319
+9aff002ee666d1ccff0048199866ff0046e6682f1fd1fb3615f8370a0efbcdf7faa6
+f770ab01a6c1f70ac103f70ff7fa15e1b7d3d4d463c8361f5e8b6c737268089e7b05
+9fa19ea0b18ba18ba37c997497788f738b728b3a616a6c8b658b86a389a1899b7e92
+7d8b087d80827769ac6aca1f0efbb4f8f8a401ff0017199aff003ae666ff008b3333
+ff003bcccd03ff00dd3333f88415ff003bcccd06ffffff4cccff00476668ffffdacc
+ceff00459998ffffa4e6668bffffa9199a8bffffd7ccccffffb88000fffffe3334ff
+ffba800008c606ff00000002ffffffe666ff0004999aff00026666daff001dcccda9
+ff002233331fff002633338bff001f999affffd01998ff00056666ffffbbe668080e
+fbb4f7fba401a2ff003b199aff008be666c603f7adf88415ffffc4333306ff00007f
+fffffff93334ff00004ccd848bfffff8cccc8b4e6c6d6e8bffffd833338bffffda33
+33ff00268000fffffdb334ff004980000850068bffffffe666fffffcb334fffffe4c
+cc4bba47dcff0053199aff002ee666d1cc1f0efbacf782a8f1a5f75ca17aaa12c3bb
+f716c113dcf3f7cd15d707997faf839f8b08ccbcdbd5cf68b3511f6e8bffffd98000
+ffffe68000ffffed8000ffffe88000fffffab333fffff93334ff00004ccdff0004cc
+cc8b8e8ba7899888928a8e8a8e868b0813ecf8380af71304ed0713dcf8390a0efc0f
+f7fab3f760a812c5bb65b113e0f5f8ee15f83a0a13d0f83b0a13e0f83c0a0efba8f7
+faae7ca1f765a212c2bbf705bb13b8c2f8bc15250748a872b81eb08bff00204ccdff
+001b6666ff000cb333ff0011999aff00034ccdff00048000ff0001b333fffffd8000
+8b888bffffedcccc8dfffff333348e848c888c88908b081378f83d0a13b8f83e0a0e
+fb7df816bbf715bb12b7a8f75da17dad13e8f785f8be15a2789d698b76086c7a7c58
+1e2c06628b888d89ad838f7d8b84878c6d8bfffff8cccc8bffffe833348bffffdcb3
+348bfffffa4ccc8a6d91879a8a93908db38e93b48b08f406cea4a3b91f8bafffffec
+4cccff0028b334ffffdcb334ff00184cccfffff8b33390ff00054ccd8b8e8ba78b98
+8d928e8e8c8e8c8b900813f0839c85a085b6878c7d89878a886a8682638b08200662
+8b889889b383907c8a85878c6d8b748b748b728b848a6d9287998b938f8dad8e8eb4
+8b08ef06938b94869087080efb02f800ad7da1f75da812c0bbf705bbf705bb141c13
+bcf802f84b1578747979768b086c7c9cbe1fea078bb48d8ead8d8f938b9987926d8a
+fffff8cccc8bffffe833348bffffdcb3338bff00044ccd8b6d8c87858a7c9083ff00
+1e8000fffffd8000ff00078000fffffd80008b620822078b85ff00003333fffffa4c
+ccff00006667fffffa999affffede666ffffea999affffec3333ffffec8000ffffec
+4ccd8b086c729cbe1fea078bb48d8ead8d8f938b9987926d8afffff8cccd8bffffe8
+33338bffffdcb3338bfffffa4ccd8b6d8c87858a7c9083b38993888b6208220748ad
+72b91eff002333338bff00234ccdff00218000ff000e999aff00116666ff00089999
+ffffdb999aff00164ccdfffff18000ae8baf8bff0018b334ff0013b334ff00184ccc
+ff00234ccc90ff00074ccc8bfffffab3348b888b6f8d7e8e848c888c88908b08137c
+9c93a091b6918c8f89998a8f6a8e82908bb308f6078bb4988eb38d90938a9a87916d
+8a748b748b728b848b6d8c87848b7d8f83ad898e888b620827078b8386828786080e
+fbadf8f5a20194f7bc03f760f8f515ac88ff00033333fffff46668fffff1cccdffff
+df999808ffffd1199affff94999a05fffff3e666ffffe54cccfffffd8000ff00004c
+cefffff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ff
+ffff3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe63333
+8b758b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce6
+6808ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff
+000819998bff000633348bff0003b333ff0005199a909608ff00533333ff00b6cccc
+05ff000de666ff001e9998ff0007999aff0011e668ff001f8000ff000380008f8f8b
+9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87080e34f7f9abc17701f75ff85b
+15ff000cb333fffff94cccff00044ccd8387fffff6b334fffffb4ccdfffff4b334ff
+fff7b333fffff699987ffffff8b334fffff34ccdfffff6b334fffff1b333fffffb4c
+cc7b8bffffeb4ccd8bfffff0b333ff00044ccc81ff0008b334fffff94ccd91fffff6
+b333ff000db3347fff00154ccc087c8a7e5b8d8805a5ffffe94cccacfffff4b334b3
+8bff00294ccd8badff0008b334ff001ab333ff00114ccc8dff00014cccff0001b333
+8cff00014ccdff0000b334ff00014ccdffffff4cccff0001b3338a8dfffffeb334ff
+001ab334ffffeeb334adfffff74cccff00294ccc8bb38bacff000b4ccca5ff0016b3
+34088d8e7ebb7c8c057fffffeab33482fffff24ccc8585fffff54cccfffff74cccff
+fff06668fffffbb334ffffeb4ccc8b7b8bfffff1b334ff0004b334fffff34cccff00
+094ccc7fff00074ccc82ff0009666885ff000b4cccfffffb4cccff00094ccc8f93ff
+000cb334ff0006b334958fff000bb334ff00044cccff000d4cccff0004b33408ff00
+24b3349bff00124ccca28ba98bff001d4cccffffedb334a2ffffdb4cccff0010b334
+6b996fff00074ccc73ff0000b33473ffffff4ccc6ffffff8b3346b7dffffdb4ccdff
+ffef4cccffffedb333748bffffe2b3348b6dff00124ccd74ff0024b3337b089e848b
+8b9a85080efbaff7faa4f74ba6f70ca512bbbbf706c16ac513f8ebf90615f83f0a13
+f4f8400a13f8f8410a0efb7bf8e6b601ff00878000e1ff00358000be03f7daf8ed15
+ff00183334ffffe94cccff000bccccffffe7b334ffffe8199afffff2e666fffff5e6
+68ffffee19981e8bfffff06668ff000a199afffff8b330ff000ee666fffff8e6688f
+898ffffff7b3348bfffff54ccc8bffffe4b334ffffe54ccdffffb29998ffffd8b333
+ffffbcb334fffff6cccdff00378000ffffec6666ff006a1998ffffe2cccdff003a66
+68fffff4b333ff0014b334fffff3cccdff000a4cccffffec80008b6f8b69ffffee80
+00ffffe980005e0891fffff98000ff00066666fffffce668ff000a199afffffd9998
+939a97ff001080009b8bff000680008b93fffff9cccc91fffff6b334ff00214ccdff
+ffc74cccff0013e666ffffb98000ff00134ccdffffa8b33408ff000180008305ffff
+e14ccd61fffff66666ffffe94cccffffff4ccdffffe6b33408ffffdf199aff000a80
+00fffff2e666ff00188000ff001c8000ff00168000b1a51e8bff00134cccffffff33
+33b5fffffb4ccdff000eb3349fa3a1ff001f4ccc9bff001cb334afcd9bff00344ccc
+8bff0026b334080efb86f7faa8f7d6a912b8c577c0f705ff0039b33413e8f731f8e5
+15ffffb3b333ffffe69998ffffdc4ccdffffd84cd08bffffc819988b7192ffffe733
+34ff000fb333ffffebccccff0017b333ffffe18000ff001f999afffff38000bb8baa
+8bff0012b33390a498ff002b0001a29dac8bbc8b9ffffff98000a97c9e087aa2ffff
+de4cccff00168000ffffcb8000ff002280000813d8ffffe3b333ff00129998ffffee
+4ccdff001866688b978bff00121998ff000d999aff0005e668ff001666668b998bff
+000c8000fffff88000ff00078000fffff58000ff000acccdfffff0ccccff00123333
+fffff73334998b9b8b98938f988a928993809308749e6b94638bffffcc999a8bffff
+d96666ffffec66688bffffd79998088b70ff001fe666ffffdf4cccff002a199affff
+e5b33408a27a15ff0021b333ffffe78000ff00234ccd6e8bffffd580008b72fffffe
+3333ffffe64ccc81fffff1b3347b74ffffe5cccd867a8b0813e8ffffce4ccdffffe6
+b333ff002c199aff0030e6661f8bb8a9abba9e080efc25fb03a8f761a0d7c512d3c5
+59bb13f0f0f7aa15f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbf1fb
+03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0efba8fb0aae7ca1f7
+65a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e0a0efbadf719a20194
+f7bc03f760f71915f8460a0efbaffb6776f706a4f74ba6f70ca512bbbbf706c16ac5
+13fcebf72a15f83f0a13faf8400a13fcf8410a0efb7bf70ab601ff00878000e1ff00
+358000be03f7daf71115ff00183333ffffe94cccff000bcccdffffe7b334ffffe819
+9afffff2e666fffff5e666ffffee199a1e8bfffff06666ff000a199afffff8b334ff
+000ee666fffff8e6668f898ffffff7b3338bfffff54ccd8bffffe4b333ffffe54ccd
+ffffb2999affffd8b333ffffbcb333fffff6cccdff00378000ffffec6666ff006a19
+9affffe2cccdff003a6666fffff4b333ff0014b333fffff3cccdff000a4ccdffffec
+80008b6f8b69ffffee8000ffffe980005e0891fffff98000ff00066666fffffce666
+ff000a199afffffd999a939a97ff001080009b8bff000680008b93fffff9cccd91ff
+fff6b333ff00214ccdffffc74cccff0013e666ffffb98001ff00134ccdffffa8b333
+08ff000180008305ffffe14ccd61fffff66666ffffe94ccdffffff4ccdffffe6b333
+08ffffdf199aff000a8000fffff2e666ff00188000ff001c8000ff00168000b1a51e
+8bff00134ccdffffff3333b5fffffb4ccdff000eb3339fa3a1ff001f4ccd9bff001c
+b333afcd9bff00344ccd8bff0026b333080efbcdf7faabb677f759a601a6c1f70ac1
+03f731f91115f8470a0efbeaf800a2f74aa8f708a401d3bc03d3f835158b79fffffa
+cccdfffff98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b
+87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccc89ff000033
+3408768d05ffffeccccdff0001ccccfffff93333ff000833348b9d08f72cc6079193
+8d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b9696
+8b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1e
+b5060efbd5f800a9f764a801a2a103d1f90b15818bffffeecccc8efffffb33349008
+858a058b6f8772866dff00063333fffffd4cccff00088000fffffeccccff00074ccd
+ff0000e66897b7a0919e8b08d78bfb26fb6e0586838b8a8b8708878f88951ef75906
+8e9e91a896affffff8e666ff0002ccccfffff8b334ff00018000fffff86666ffffff
+b33408847a057c6a8183678b08418bf722f76605989e8b8f8b8d088c078e878b871e
+898b6f89798b080eeffb6dabf5abb8acf766b5f80b7701f78cb3ebb303f7e43c15ba
+0a335615da0a9af833154a0afbb1fb60154b0a0efb1efb6eabf5abb1bb5bb4f80bac
+12afde4bd88fb3ebb378d913c980f7743b15d90a335615da0a13dd40f731f8021575
+0adafb381513eb40760a13dd40770a0e8489acf7c1adf78badc2f312f5e0acf3dadc
+69e813fcf774f98615f7090a6afb6015c08b95e21e13fef8480a6904d00613fd4d0a
+60f8a3154e0a13fe4f0a0e2581adf807b7f700ef85a9a67712d9dac8efbfe113eff7
+6ef8eb15850a5ffb8015780a84aa15fffff9b333fffffa4cccfffffc4ccdff0001b3
+348b9408f74c07cc8fb38b1e92878e821e13df7281407d638889838d7b9185bf8897
+908b3708fc7c078b648a79887d90839087978bff0006199aff0005cccdff0009e666
+ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96fffff6cccdff0016e666
+ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70be8f733f70e31d6341f
+ffffd5199a8bffffd9e6667a6c6f080e84fb64eff5acf7c1adf78bad12f5e0a8efe2
+dc69e813fcf770fb3015f8490a6ef95615c08b95e21e13fef8480a6904d00613fd4d
+0a60f8a3154e0a13fe4f0a0e25fb64efedadf807b7f75ea9a67701d9da9defeae103
+f743fb3015f84a0a8af89b15780a84aa15790a0e84fb17b7e0acf7c1adf78bad12f5
+e0f76cdc69e813f8f809fb1715f7900aa2f93d15c08b95e21e13fcf8480a6904d006
+13fa4d0a60f8a3154e0a13fc4f0a0e25fb17b7d8adf807b7f75ea9a67701d9daf769
+e103f7ebfb1715f7900aaff88215780a84aa15790a0ebefb5ca8d6abc1b4f8e2b0c7
+7601b0e6f7a4c9f3ac03f82cf9c715b10a62fe2715c30a0efb3bfb5ca8d6abff0036
+4ccdff0030b333f803ac12b0e1f71ec97ce213f8f7b2f93315d60a51fd931513fce0
+0a13fae10a0ef589adf8d9adc2f301f5e0c0f3f76aeb03f788f98615f7000a56fd32
+15510a60f8c515520a0e3281ba84a6f7efaef700ef85a9a67712b2e18eeff709da13
+3780f714f8eb15850af76dfc6f15f7050a13a780f7060a80fffef84ccc157c0a136f
+807d0a13a7807e0a0ef5fb64eff5adf8d9ad01f5e0bceff772eb03f784fb3015f84a
+0a5af78415510a60f8c515520a0e32fb64efedba84a6f7efaef75ea9a67712b2e1c7
+efc7da139f80f74dfb3015f8490af734f7ac15f7050a13df80f7060a80fffef84ccc
+157c0a13bf807d0a13df807e0a0ef5fb17b7e0adf8d9ad01f5e0f807eb03f810fb17
+15f7900a9bf76b15510a60f8c515520a0e32fb17b7d8ba84a6f7efaef75ea9a67712
+b2e1f770da139ff7dffb1715f7900af76ff79315f7050a13dff7060a80fffef84ccc
+157c0a13bf7d0a13df7e0a0ef5fb76a3daddb2adf8d9ad01f5e0f72cb2f748eb03f7
+d46215f7160afb15f71115510a60f8c515520a0e32fb76a3daddaaba84a6f7efaef7
+5ea9a67712b2e1f714b2c0da13cfc0f77a6215f7160af707f73915f7050a13efc0f7
+060a80fffef84ccc157c0a13dfc07d0a13efc07e0a0ef589adf8d9ad01f5e0f807eb
+03f7af6015f84b0a2ff71315510a60f8c515520a0e3281ba84a6f7efaef75ea9a677
+12b2e1f770da133ef77c6015f84c0af705f73b15f7050a13bef7060a80fffef84ccc
+157c0a137e7d0a13be7e0a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0f74aacb2
+ac9bae1327c0f82ef95d15f40aeafbf41530f748061337c0c40a13afc0540a1367c0
+550a13a7c0c50a1377c0c60afffefbe666ff01d6199815f84d0a0efb2881bcf765ad
+f70eacdcbd01b0dff75be103ff00d43333ff02fd333415fffffcccccff0000e664ff
+fffb3333ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999ffff
+fa999808fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff280
+00ff0005999afffffb8000ff0004cccc8bff000666668bff0005999aff000566688b
+ff000480008bff00064cccffffff3334ff00064ccc879408ff0044ccccffff7a3334
+15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0
+f74aacb2ac9bae1327c0f7f5f95d15f40af72cfbf41530f748061337c0c40a13afc0
+540a1367c0550a13a7c0c50a1377c0c60aff00fe1998ff01d6e66815f84e0a0efb28
+81bcf765adf70eacdcbd01b0dff75be103ff01086666ff02f7333415ffffc3999aff
+ff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6688bffff
+f9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00066666ff000399
+9897ff000d800008e7ff0062199cfffffd999aff0009e66405ffffed999aff0013cc
+ccffffeb8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999a
+ffffff199c08ff0048999affff0ecccc15f40a96fb80157f0adcfb5415800a0e6589
+ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae132780f7b76015f84b0a81f828
+1530f74806133780c40a13af80540a136780550a13a780c50a137780c60a0efb2881
+bcf765adf70eac01b0dff75be103f7826015f84c0afb06f7d9157f0adcfb5415800a
+0e65fb3ec089c2c9ac6cb2f7b0b1f788b36cac12f4e0f74aac75a6adac9bae138970
+f7e4fb0915b30a134970b40a138970b50a54f8721530f74806130db0c40a132bb054
+0a1319b0550a1329b0c50a131db0c60a0efb28fb3cc089c2bfbcf765adf70eac12b0
+dff75be144a613bdf7b4fb0715b30a137db40a13bdb50afb38f82115e20a133ee30a
+dcfb5415800a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cacb8bf12f4e071a7ecc9
+a0ac8ea793ac9bae13c97ef848f9b915f7080afb48fe1915a2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+13d9bea4cedf8b0513e9bec50a13ddbef70a0a13ebbe540a13d9bef76f0a0efb28fb
+5ca8d6abff00364ccdff0030b333f765adf70eaccbc4e57712b0df67a6f72ac987e1
+3da613fe90f704f91c15f60af709fd7c1513ff40f7700a13ff20f7710a22f80e157f
+0a0efb0289acf7b8b1f788b36cacc2f312f4e097f3cfacb0aa13cf80f75ef98615f7
+090adcfc4315e08b8e748e5e9185a08b91918aa48aff001cb3348bff00224ccc8bff
+002180008cff001a80008ca58591768b85858854887e368b082ef7480613ef80c197
+95b71eb806f58ba463a146978b968d938efffffaccccb4fffff0e668ff00606668ff
+fffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd9998
+8bffffee8000fffffc9998fffffb3334ffffff6668ffffe74ccc8b08ffff00b33406
+13df80570a0efbb189acf7fbb2f77fadc4ef01ebdaa8ef95dc03f760f9bb15f7010a
+6efd4115810a0ee581aff783aff7d5afe2bd12b0ebf821e063ac13f8f86df97d15f4
+0af7143415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b8c3bd12abd062dd41c0f75adb9dc2139230f7f0f89a15f40af757fb83152e5c7866
+1e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf82115f7110a1396
+b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a0ef71b89acf7b6
+b5f78facc1f301f5e0f719f3f4e003f7d8f98515f7000af7bafd0b15580a0e5289ac
+f7f8bff700ef85a9a67712e3dad2efb2da13eff782f8eb15850a44fffec6e66615f7
+6d0a13dff76e0a0ef71bfb64eff5acf7b6b5f78fac01f5e0f719eff701e003f8fef7
+0e15580afbbafbaa15f84a0a0e52fb65eff6acf7f8bff75ea9a67701e3dab6efceda
+03f766fb3115f84a0a60ff01bae66615840a0ef71b89acf7b6b5f78facc9eb01f5e0
+a8ebe8eba7e003f8fef70e15580afb65f90f15b70afb5116b70a0e5289acf7f8bfe3
+e6a2a9a67712e3dab4e5bae650da13ff00f7edf8d015729f77a4a4a09fa4a476a072
+1e727776721ffb1d16f7a00a62fffee1e666158bff0015199a94ff000c4ccc93ff00
+08b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ffff
+f2e666ff000b999affffe9199a0813fe8095ffffec33348dffffe4cccc8b6d08fb2c
+078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba08691539080
+8f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334
+a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334ff
+fff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b769185
+ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f828f
+8bde080ef71bfb5ba8d6abc8acf7b6b5f78fac12f5e07dc9f7bae013fdf8fef70e15
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ff0025ccccff0000e666ff0029199aff0000cccdff0022b334ff000033
+3308ffffd86666ffffa1199a9185059b90958c9e8b0813fba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+ff0018999aff0041e66605ff00219999ffffffcccdff0028999affffff199aff0025
+3333ffffff333391918ba085910813fd458e7a908bde08f75bf7eafb5b078b387a86
+458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff002fb3348a
+b78a91918ba0859108458e7a908bde080e52fb5ca8d6abc9acf7f8bff75ea9a67712
+e3da7ac9f739da13fd80f7092b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce05ff0020e666ffff
+ffcccdff001ce667ffffff1999a4ffffff199a91918ba085910813fe80ffffcd3333
+8f828f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff0025
+4cccff0032999aff0015b334ff002766668bff001466668ba0fffff2e666ff000b99
+9affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b76
+9085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2ffff
+fc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffff
+cee6668bffffc4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b99
+08ff0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fc49078b38fffff4333387518785858b769185ff001acccdff0000cccdff
+001d8000ff0000cccdff001f8000ff00004ccc0863ffffa0199a9185059b90958c9e
+8b080ef71bfb5bc4f720acf7b6b5f78fac01f5e0b1a6f76ca6ade003f8fef70e1558
+0afbfefb4215f7950a0e52fb65c4f72aacf7f8bff75ea9a67712e3da74a6f762da46
+a613fa80f73f4d15f60a13fd0087ff015be666158bff0015199a94ff000c4ccc93ff
+0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ff
+fff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39
+8187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd
+08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffff
+e0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334fffff999
+99fffff5cccc8b9908ff0000cccdf7750513fa00cc8fb38b1e92878e821e7281407d
+638889838d7b91850813fd00bf8897908b3708fc49078b38fffff433338751878585
+8b769185ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33
+338f828f8bde080efbbefb3ec089c2c9acf8dbac12f5e0d3a613bcf76cfb0915b30a
+137cb40a13bcb50a72f78315590a0efbd8fb3ec089c2c9acf7f6a7a877f711ef12e5
+ef33dacfa613bc80f75efb0915b30a137c80b40a13bc80b50a133e80fb04f9601585
+0a133d80e6fc7115860a0efbbe89acf8dbacc9eb0191eb8fe08feb03141cff00e119
+9aff0379e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c
+8bfffff9cccc8b84ff00049999fffff9ccccff0006e6678bff0006e6668bff00094c
+cdff00029998ff00103333ff0007e66808ff006ee666ff0033199805fffff63334ff
+0012ccd0fffff01999ff000f4cccffffe9e667ff000bb33408ffffe1e666ffff7b19
+9815b70afb5116b70af74dfd0f15590a0efbd889acf7f6a7a877f5eafffffd333476
+1287e997da7be913ecf745f97815f84f0afb49fb391513f4950a13f5f73d16d80a13
+e69bfc5915860a0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f8
+2df9c715b10afb6efd4d155b0a0e3889acf803acf766a9a67701e1da03f7eff93315
+f78e0afb99fcb915880a0eb5fb64eff5acff0115e666ff00266666ff010ab334ac01
+f5e0e0ef03f7a8fb3015f84a0a36f7aa155b0a0e38fb64eff5acf803acf766a9a677
+01e1dab0ef03f75efb3015f84a0afb08f7aa15880a0eb5fb17b7e0acff0115e666ff
+00266666ff010ab334ac01f5e003f848fb1715f7900a63f791155b0a0e38fb17b7e0
+acf803acf766a9a67701e1da03f7fcfb1715f7900a46f79115880a0e48fb64eff5ac
+6cb2f8d3ac12f5e0afeff727ac139ef777fb3015f8490a13be3df730155c0a13de5d
+0a13be5e0a13de5f0a0efbdffb64eff5acf8f6a9a67712ddef34da13f4eaf70e1589
+0a13f87efd5f15f8490a0e48fb64eff5ac6cb2f8d3accdbd12f5e0afeff727ac139f
+f795f95d15f40af756fdf915f84a0a13bf3df730155c0a13df5d0a13bf5e0a13df5f
+0a0efbdffb64eff5acf8f6a9a677c5bd12ddef34da13faeaf70e15890a13fc7efd5f
+15f8490af729fa1015f40a0e48fb17b7e0ac6cb2f8d3ac12f5e0f7afac139cf804fb
+1715f7900a13bc7df717155c0a13dc5d0a13bc5e0a13dc5f0a0efbdffb17b7e0acf8
+f6a9a67701eada03eaf70e15890af718fd4615f7900a0e4889ac6cb2f8d3ac12f5e0
+f7afac1338f7be6015f84b0a1378fb29b6155c0a13b85d0a13785e0a13b85f0a0efb
+df89acf8f6a9a67701eada03eaf70e15890ac1fcee15f84c0a0ef788967693acf8db
+acd276121330f864f9c715b10aff00c6b334fd53151370600a13b0610a0ef75789ac
+f7f6a771bf12e9daf753daf753da141c139cf829f93315f75e0afb7ffbcd15f8500a
+13dcf8510a13bcf8520a0ef788967693acf8dbacc2f312f807f31338f807f98615f7
+090aff0123b334fd12151378600a13b8610a0ef75789acf7f6a771bff700ef12e9da
+f73def3ddaf753da139df7eaf8eb15850afb40fb8515f8500a13dbf8510a13bbff00
+27999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42078b
+398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82908b
+dd08f7330713bd8b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080ef788fb64eff70b7693acf8dbac12f7eeef1398f7eefb3015f8490a
+ff013cb334f7a41513b8600a13d8610a0ef757fb64eff5acf7f6a771bf12e9daf745
+ef35daf753da13cdf7f2fb3015f8490afb48f89615f8500a13ebf8510a13dbf8520a
+0ef3967693acf8dbacc2f312f1bcf72df3f728bc133ef7c4f98615f7090af790fb86
+15ca0a137ecb0a13becc0a0e5689acf7f6a771bff700ef12ebdacaefb4da139ef782
+f8eb15850a55fb8515e70a13dee80a13bee90a0ef3fb64eff70b7693acf8dbac12f1
+bcf729eff730bc139ef7c0fb3015f8490af794f93015ca0a13becb0a13decc0a0e56
+fb64eff5acf7f6a771bf12ebdab3efcbda13cef76bfb3015f8490a6cf89615e70a13
+eee80a13dee90a0ef3fb17b7ed7693acf8dbac12f1bcf829bc139cf859fb1715f790
+0af7c8f91715ca0a13bccb0a13dccc0a0e56fb17b7e0acf7f6a771bf12ebdaf760da
+13ccf7fbfb1715f7900aa9f87d15e70a13ece80a13dce90a0ef3967693acf8dbac12
+f1bcf829bc1338f8036015f84b0af751f8bf15ca0a1378cb0a13b8cc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7b16015f84b0a26f82515e70a13d8e80a13b8e90a0e
+f681aff8e8afff001fccccff003a4cccffffe2666876ff00306668ff003c800012b0
+ebff005e3333a2ff00be6667ff0016e666ff006a8000eb13e780ff0190b334ff02ec
+199815f7730a13cf80f7740a13e780f7750affffba4cccffff81e66815640af7e3fb
+b915650affffc61998ff01dbe66815ffffa08000ffffb44ccc05fffff60002fffff8
+1998fffffe8000fffffb999c8bfffff9cccc0813d78084ff0004999afffff9ccccff
+0006e6641eff0006e6688bff00094cccff00029998ff00103334ff0007e66808ff00
+6ee668ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664
+ff000bb334080e3081aef80faec6c089c2ff001a33347612b4e1f774a68ae113eef7
+c4f8bb15b30a13deb40a13eeb50afb9bfbee15eb0a13cdec0af759f75b158b0af2f7
+ee15ffffc5ccccffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988b
+fffff6199c8bfffff9ccccff00056666fffffab334ff000566668bff000566688bff
+00061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb3
+34ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff1998080ef681aff8e8afff
+001fccccff003a4cccffffd5e668e7ffffcbe668ff003c800012b0eb6be7ff002233
+33a2ff00be6667ff0016e666ff002f8000e76aeb13d1c0f893f98415f8530a13d380
+fc2e16f8530a13e180ff012bb334fffffc199815f7730a13c980f7740a13e180f775
+0affffba4cccffff81e6681513c5a0640af7e3fbb915650a0e3081aef80faec6c089
+c2aaea12b4e17ae9d6e975a68ae113ec80f7c4f8bb15b30a13dc80b40a13ec80b50a
+fb9bfbee15eb0a13cc40ec0af759f75b158b0a13ca00fb14f7aa15d80a13c900f73d
+16d80a0ef681aff8e8afe2bd01b0ebf849eb03ff01ba4cccf97d15f7720adafb0f15
+640af7e3fbb915650afffdc5e668ff01dc199815f84d0a0e3081aef80faedabd01b4
+e1f78ee103ff00d5e666f98a15fffffce667ff0000e668fffffb4ccdff0000e664ff
+fffc33338bffffe5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008ffff
+fe6666fffff64cd0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056667
+fffffb999cff000499988bff000633348bff00056666ff000533308bff000466688b
+ff00063334ffffff3334ff00063334fffffc3332ff0008cccc08ff005c3334ffff7e
+cccc15f40a2cfbcd158a0af759f75b158b0a0ef681aff8e8afff003c800076ff002f
+8000bd01b0ebf849eb03ff01a44cccf97d15f7720af0fb0f15640af7e3fbb915650a
+ffffc11998ff01dbe66815f84e0a0e3081aef80faedabd01b4e1f78ee103f7a5f993
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566668bff00
+06199aff00039998ff000b8000ff000d333408ff00589999ff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bffff
+fc19988bfffffb8000ffffff199cfffffdb334ffffff199808e2fb8d15f40a2cfbcd
+158a0af759f75b158b0a0e5589acf78fad73a8f7bdadcd7612f3e0f775e8139ef7ec
+f9c715b10afb2ffb9d15f8540a13defb00575f2a1e13bef7460a36f75e15f7bf0a13
+def7c00a0e3ffb7eacf753adf7fda777b912dbdaf780e113ccf7cdf93315d60afb1e
+fbe81513dc8c0a78b015f7f10a13ecf7f20a13dcf7f30a0e5589acf78fad73a8f7bd
+adbdf312f3e0b8f3d7e8139ff77ef98615f7090a5efb5c15f8540a13dffb00575f2a
+1e13bff7460a36f75e15f7bf0a13dff7c00a0e3ffb7eacf753adf7fda777b9f700ef
+12dbdac6efd8e113cff76ef8eb15850a60fba01513df8c0a78b015f7f10a13eff7f2
+0a13dff7f30a0e8381aa74acf798adf7b9adbdf312f3e0aef3d8e7133ff774f98615
+f7090abbfb1c15670a38fc8415680a13bf690a137f6a0a0efb7389acf7eec955a7f7
+1aef12efda75ef1394f731f8eb15850a9efb8515f7230a13b8f7240a13d8f7250a0e
+83fb64efedaa74acf798adf7b9ad12f3e0c1efc9e7139ff787fb3015f8490aa8f99a
+15670a38fc8415680a13df690a13bf6a0a0efb73fb64eff5acf7eec955a712d7ef3f
+da13c8d7fb3015f8490aeff89615f7230a13d4f7240a13e8f7250a0e83fb64efedaa
+74acf798adf7b9adc8bd12f3e0c1efc9e7139f80f80df95d15f40ae5fdf915f84a0a
+a8f99a15670a38fc8415680a13df80690a13bf806a0a0efb73fb64eff5acf7eec955
+a7f700bd12d7ef3fda13c8f7bdf89d15f40a13cc8efd3915f8490aeff89615f7230a
+13daf7240a13ecf7250a0e83fb17b7d8aa74acf798adf7b9ad12f3e0f76ce7139ef8
+31fb1715f7900acbf98115670a38fc8415680a13de690a13be6a0a0efb73fb17b7e0
+acf7eec955a712efda13c8f792fb1715f7900af713f87d15f7230a13d8f7240a13e8
+f7250a0efb0281aff8eaadb7f312a6ff00208000fffff78000ff00476666ff003399
+9af3dddf4bff0020800013e4f742f98615f7090aff00dcb334fb0f15f7260a13eef7
+270a13f6f7280a13edf7290a0efb6181ac8976f82aacf700ef12bbaa7ad2a5ef9ad7
+55ab133200f733f8eb15850a137b00fb03fc6115f72a0a13b700f72b0a13b680f72c
+0a13bb00f72d0a0efb02fb64efedaff8eaad12a6ff00208000fffff78000ff004766
+66ff0037999aefdddf4bff0020800013e4f746fb3015f8490aff00d8b334f9a715f7
+260a13eef7270a13f6f7280a13edf7290a0efb61fb64efedac8976f82aac12bbaa7a
+d292efadd755ab13bb00bbf71e15f72a0a13d700f72b0a13d680f72c0a13db00f72d
+0ae7fbba15f84a0a0efb0281aff8eaadacef12a6ff00208000fffff78000ff004766
+66ffffcb999aeff752df4bff0020800013e4d1f97b15850af79bd715b10aff003db3
+34fb5015f7260a13eaf7270a13f2f7280a13e9f7290a0efb6181ac8976f82aacff00
+6b4ccce512bbaaffffe56666e5ffffaf999ad2f721d755ab137900bbf71e15f72a0a
+13b300f72b0a13b280f72c0a13b900f72d0af754f8a915a30a133400ffff446666ff
+ffb2199815ffffe8999cff0015999affffe89998ff0015999aff00193333ff001599
+99ff001833349eff00159998ffffed199aff00193334ffffe7b3331effffea6667ff
+ffe6ccccffffea6668ffffea66641f0efb0281aff8eaadc776e8f312a6ff00208000
+fffff78000ff00476666ff0041999af3cfdf4bff0020800013f200f750f9de15f709
+0aa6fb2515f7020aff00b3b3344915f7260a13f700f7270a13fb00f7280a13f680f7
+290a0efb6181ac8976f82aacff00a24ccce5ffffd1b3347712bbaa7ad2ff00116666
+e5ff0021999ad755ab136580bbf71e15f72a0a13a380f72b0a13a340f72c0a13a580
+f72d0af70df80015bd06a8b9b1b8aeb208132900f7500affffed6666ff0092199815
+133100ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff
+001833349eff00159998ffffed199aff00193334ffffe7b333ffffea6667ffffe6cc
+ccffffea6668ffffea66641e0efb02fb64efedaff8eaadb7f312a6ff00208000ffff
+f78000ff00476666ff0037999aef2df3d3df4bff0020800013f100f74cf98615f709
+0a13f20085fe2215f8490aff00d8b334f9a715f7260a13f480f7270a13f880f7280a
+13f440f7290a0efb61fb64efedac8976f82aacf700ef12bbaa7ad292efadd755ab13
+9900f71ef8eb15850a13bd8031fc6115f72a0a13db80f72b0a13db40f72c0a13dd80
+f72d0ae7fbba15f84a0a0e8d89acf86ef7285cb2c4f3128eadf76ef32de0f763ad13
+9df793f98615f7090a13bbeafd0c15f76b0a13dbf72e0a13bbf72f0a13dbf7300a13
+bbf76c0a0efbab81c2f7edb2f78def12dfef2cda13f0dff96e15850a62fbc115f855
+0a13e8f8560a0e8dfb64eff5acf86ef7285cb2128eadf769ef36e0f763ad13cdf78e
+fb3015f8490a13dbeff7aa15f76b0a13ebf72e0a13dbf72f0a13ebf7300a13dbf76c
+0a0efbabfb64efedc2f7edb212e4da67ef13e8f718fb3015f8490a32f8dd15f8550a
+13f0f8560a0e8dfb17b7e0acf86ef7285cb2128eadf778e0f763ad13cef821fb1715
+f7900af732f79115f8120713def7310a13eef72e0a13def72f0a13eef7300a13def7
+320a0efbabfb17b7d8c2f7edb201e4da03f799fb1715f7900a7ef8c4158e0a0e8d89
+acf86ef7285cb2128eadf778e0f763ad139cf7d75f15f84b0aa6f73a15f8120713bc
+f7310a13dcf72e0a13bcf72f0a13dcf7300a13bcf7320a0efbab81c2f7edb201e4da
+03f7516015f84c0afb26f86c158e0a0ecdfb34eac2b4f8dbac01e2e0a8e9d6e9c9bc
+03f75dfb0515950af73d16950afb5af910156b0a0e4bfb34eac2ba84a6f7e9ac12e3
+da54e9d6e97fda1394f704fb0515d80a1392f73d16d80a13d94bf215f10a13b9f20a
+13d9f30a0ecdfb3ec089c2c1b4f8dbac12e2e0f7a9a6bdbc13bef826fb0915b30a13
+7eb40a13beb50afb7af914156b0a0e4bfb3ec089c2c1ba84a6f7e9ac12e3daf754a6
+74da138ef7ccfb0915b30a134eb40a138eb50a132d2cf615f10a131df20a132df30a
+0ecd81b4f8dbac01e2e0f7f6bc03f7f25f15f84b0afb46f8cb156b0a0e4b81ba84a6
+f7e9ac12e3daf758da1338f7966015f84c0a13b862ac15f10a1378f20a13b8f30a0e
+cd81b4f8dbacff0027ccccff003a4cccfffffdccd0ff003c800012e2e0ff003c3333
+a2ff00be4ccda2ff00398000bc13efff0195999aff02e9199815ffffefe6668bffff
+f18000ff0007b334fffff26666ff000d33340813df7aff000f6668ffffed4ccea1ff
+ffe680008bffffdb80008bffffec6666ffffd51998fffff41999ffffbf1998ff0005
+199afffff96668ff00088000fffffee668ff00096666ff00023330ff00088001ff00
+244cd0ff00086666ff00108000ff0016199a8bff000e80008bff00103332fffff733
+30ff000f4ccefffff3e6680813efff0011ccccfffff09998ff0011ccccffffec3334
+ff0012b3348bff0027199a8bff0018b332ff002ae668ff000a3334cdfffffae666ff
+00046664fffff78000ff00034cd0fffff6999afffffee66408fffff4199affffd1cc
+ccfffff6b33280ffffed4cce8b08ffff166666ffff21e668156b0aff01a61998ff02
+35e66815f84e0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61324f7ccf99e
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566678bff00
+061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8b08ff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff199808133597fb6115b30a
+132db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbaccfde54
+bd12e2e050ddf7c2dd56bc13e2f8aef95f159ea19ba4a5769b7774797b711f6ea37f
+9c1efc148e1513c4a39c9fa0a1799e74727b7776749c79a31f13d0ff01174ccca415
+f7720a13c944fb70156b0a0e4b81ba84a6f7e9ace2bdd0ea12e3da68e9d6e96bda13
+3a00f718f94015d80a133900f73d16d80a133880c9fb3a15f40a13b880d9fca415f1
+0a137880a19dae9ac89291918b9a85914b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b0813b9006b8b678c698c85858b7691850813bc80bc88987f8b49
+08fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e86
+1e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e
+0ec49476f906acbac089c212f845a613e8f816f97f15b30a13d8b40a13e8b50ac9fb
+19156c0a0e299476f82eace4c089c212f808a613e8f7d9f8d115b30a13d8b40a13e8
+b50afb43048f0a0ec4fb64eff70976f906ac01f791ef03f791fb3015f84a0af757f9
+96156c0a0e29fb64eff70976f82eac01f754ef03f754fb3015f84a0af719f8be158f
+0a0ef7f89476f906acd37601f803f9c615ffffddccccfffff46668ffffe88000ffff
+f04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b938b928791
+809308f7d6fb3d156d0a0ef72c9476f82eac01f7d4f93315740afb4ffb2715f7340a
+0ef7f89476f906acd27601f892f9c715f75d0af7c0fb92156d0a0ef72c9476f82eac
+01f836f93315f78e0afb6bfba515f7340a0ef7f89476f906accbea01f7d7e9d6e903
+f7d7f98a15950af73d16950af7d2fb55156d0a0ef72c9476f82eaceaea01f782e9d6
+e903f782f8d115950af73d16950afb60fb4315f7340a0ef7f89476f906acc2f301f8
+14f303f814f98615f7000af83efb51156d0a0ef72c9476f82eacf708ef01f7d2ef03
+f7d2f8eb15f7010afb07fb5d15f7340a0ef7f8fb64eff70976f906ac01f828ef03f8
+28fb3015f84a0af82af965156d0a0ef72cfb64eff70976f82eac01f7d2ef03f7d2fb
+3015f84a0afb07f8be15f7340a0ecc89acf8dbacc2f312f7a8e82ff313e8f7a9f986
+15f7090af799fd2015fb2df7660513f0f8570a0e2289acf803acf708ef01f75eef03
+f75ef8eb15f7010a77fb8515900a0ecc89acf8dbaccbeb12f753eb80e896eb13e4f8
+10f98b15b60a13f4fb5116b60af7effd2515fb2df7660513ecf8570a0e2289acf803
+aceaea01f70ee9d6e903f74af7fa15900afb0df7c515950af73d16950a0e7789acf8
+dbacc2f312f77ff334e013f0f77ff98615f7090a13e8f1fd0c15f7350a0e3bfb7cdb
+f8baacf708ef01f76eef03f76ef8eb15f7010a7dfd8b15910a0e948bb1f8c8b69377
+d97612c8a91398f7ecf9bc15b20af763fdbe15f7380a13d8f7390a13b8710a13d872
+0a0efb3f8badf7fab0957712bdac1390f77df92815d70a13b0fb36fb7115f7360a13
+d0f7370a0e94fb64eff700b1f8c8b6937712c8a9f742ef13ccf79dfb3015f8490af7
+b2f72e15f7380a13ecf7390a13dc710a13ec720a0efb3ffb64eff700adf7fab09577
+12bdacd6ef13ccf732fb3015f8490a13dc34f8e715f7360a13ecf7370a0e94fb17b7
+e2b1f8c8b6937712c8a913c8f82afb1715f7900af7f2f71515f7380a13e8f7390a13
+d8710a13e8720a0efb3ffb17b7e2adf7fab0957712bdac13c8f7bdfb1715f7900a13
+d876f8ce15f7360a13e8f7370a0e52fb17b7e0acf7f8bff75ea9a67701e3daf766da
+03f7fcfb1715f7900a97ff01a0e66615840a0efbab81c2f7edb2f755ea1295e97cda
+96e913f495f93115d80af73d16950afb1cfb8415f8550a13ecf8560a0ef72c9476f8
+2eacceabf5ab01f7aeb3ebb303f806f91015ba0a335615da0a3cfb4d15f7340a0e3b
+fb7cdbf8baaccdabf5ab01f749b3ebb303f7a1f90f15ba0a335615da0aa2fd7a1591
+0a0efb1e81bb5bb4f80bacdbacf70aab1295af81de4bd8f735d9133c80b9f8f715f7
+a90af78bfc0e15d40a137a80d50adafb381513b980760a137a80770a0efbc489acf8
+00adf77fadd7ef12e8da9fef7bdc13fcf754f9ce15850a77fd5415f7f407f70c9bd1
+c01e13faa38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38
+8086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde
+080efbc489acf800ad9477f78aad12e8daf3dc13bcf787f84a1544ffffd666668bff
+004d999a05f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c
+98779d7597628b0848334cfb321f13dc7081766c79867f831e8207878c8a8f1eb706
+998c877f1f8b6e34589c6ed1ff0028cccc8bffff433334058b388086558885858b76
+9185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde088bff00eacccce3
+ff00333334050efbc489acf800adf3b2e7ad12e8daffffbdcccdff00479999ff0062
+999adc13f6f79ff8d015ffffa6666606ff00084ccdff003b33349eff0020ccccff00
+244ccd8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+08ffffcc80008bffffc0199affffdaccccffffe53333ffffa7333408ffffae333364
+ff0049199a0613fafffffd6668ffffeeccccfffffe8000ffffed66688bffffebcccc
+087081766c79867f831e8207878c8a8f1eb706998c877f1ffb95078b388086558885
+858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4078b
+ff00154cccff00008000ff0013b334ff0001199a9d08ff005d6666060ef70b81b26c
+acf7baaaf79db012f3e0f70fa8f773e513bef751f70e15f75a07f765ede7f70bb5bd
+7d7d1e8b742efb2e5b4708917305928c908b918b08f732a4fb0567fb084f6c591f48
+8b70b878dbfffff64cccff00028000fffff66668fffffe8000fffff64ccc8788408f
+6c9070b882ff000f800078ff004280008b08f718d8e8edea33db2687898d8f1f8b8d
+8b8d8d8e08f727f7808ba305519e4b954d8b08fb9a51fb36fb5d1ffb4107137e8b38
+7a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91918ba0859108458e7a908b
+de080e3b81aef910b012b0dc7eaff792df13e8f70af758158bf704a7bcf706c3ea4c
+b32d8b5208337635fb061efb0a73ead71f3a811542b5fb0ff73ff6f70eb5f7461e8b
+d759f1fb09cb0813d8fb09cb55af8bb18bc4c699b88bb08ba97d9f6fa16d9b7c958b
+998bb1948baa8b977b9d6aa1086ba05d964f8b4b8b3f758b358b53b564df4dfb2756
+5cfb008b35080eeffb64eff5acf766b5f80b7701f7b4ef03f7b4fb3015f84a0a72f8
+4b154a0afbb1fb60154b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d913
+93f739fb3015f8490af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef
+89acf766b5f80b77f72da301f7abb8a1a59bbf03f84cf98b15f8580afb45fc70154a
+0afbb1fb60154b0a0efb1e81bb5bb4f80bacf753a612afde4bd88fb69aa795bd96d9
+1333c0f7aef8eb15f8590a96fc0215d40a137bc0d50adafb381513b7c0760a137bc0
+770a0eef89acf766b5f80b77d47601ff022c1998ff035f666815f85a0affff4ce668
+ffffc8999815b20afb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bac12af
+de4bd8f735d91324ff017e999aff02c9666815ffffcb199affffa0cccc05fffffa4c
+ccfffff5b334fffffdb334fffffce6648b828bfffffa6668ff0004e666fffffb3334
+ff0004e6668bff0004e6668bff0005999aff00033330ff000a80009708ff00508000
+ff00573334fffffde666ff0008cccc05ffffefe666ff0011999cffffee199aff0000
+ccccfffffb80008b08fffffc80008bfffffbccceffffff3334fffffde666ffffff33
+3408ffff686666ffffca999815d70ac9fc3f15d40a1374d50adafb381513ac760a13
+74770a0eef89acf766b5f80b77d47601ff00a7199aff035ecccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e666ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff8
+4ccdff0006666408ff007d3333ff000c666815b20afb06fca1154a0afbb1fb60154b
+0a0efb1e81bb5bb4f80bac12afde4bd8f735d91324ff003dccccff02c9666815ffff
+fd3334ff0000ccccfffffbccccff0000ccccfffffc80008bffffe833348bffffefe6
+66fffff26668fffffa6667fffffb333008fffffe999afffff73334ff004fccccffff
+a8cccc05ff000b33327fff0004e66787ff000433338bff0005999a8bff0004e666ff
+0004ccd08b8f8bff00059998ffffff4ccdff00059998fffffc80009308ff00783333
+ff002f666815d70ac9fc3f15d40a1374d50adafb381513ac760a1374770a0eef89ac
+f766b5f80b77d476f731a301f84bb8a1a59bbf03f8ecf9c315f8580afb738415b20a
+fb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7b4a612afde4bd8f719
+b67cd95ba795bd1332c0f82ff94c15f8590afb486715d70a137900c9fc3f15750ada
+fb381513b500760a137900770a0eef89acf766b5f80b77ff009b9998ff0032666889
+ff00344ccc1213e0f80df9a215b20afb06fc87154a0afbb1fb60154b0a13f0ff0116
+e666f99115f85b0a13e8f85c0a13f0f85d0a0efb1e81bb5bb4f80bacf790c089c212
+afde4bd8f735d962a6133080f7aff97c15b30a132880b40a133080b50a573715d70a
+136500c9fc3f15750adafb381513a300760a136500770a0eeffb64eff5acf766b5f8
+0b77d37601f7b4ef03f80df9bb15b20a32fe5715f84a0a72f84b154a0afbb1fb6015
+4b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d91393f783f92715d70a41
+fdc315f84a0af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef89acf7
+66b5f80b77c0bf01f772a7f76ca703ff01a0199aff037ae66815f7520aff004de666
+ffffa9199815f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4
+ff003f333476ff002fcccc7712afde4bd84ea6f757d952a6133c00f785f97815f84f
+0a133ca0fb232e15f60a137e40f757fc3215750adafb381513bd40760a137e40770a
+0eef89acf766b5f80b77c0bf01f772a7f76ca703ff0133e666ff0378199815f7530a
+ff005ce666fffff5cccc15f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4
+f80bacc8c4ff0047666876ff002799987712afde4bd84ea6f757d952a6133800ff00
+b1e666f98115fffffce667ff0000e668fffffb4ccdff0000e664fffffc33338bffff
+e5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008fffffe6666fffff64c
+d0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056666fffffb999cff00
+04999a8bff000633338bff00056666ff000533308bff000466688bff00063334ffff
+ff3334ff00063334fffffc3333ff0008cccc081334a0ffff7a3333ff0008cccc15f6
+0a137240f757fc3215750adafb381513b140760a137240770a0eef89acf766b5f80b
+77c0bff712a301f772a7a7b8a1a59bbfa6a703f84bf9d915f8580ac26a15f50afb7b
+fc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4e577eba612afde4bd84e
+a6aeb69aa795bd99d952a6133c70f7abf94815f8590a133cf4fb495e15f60a137e78
+f757fc3215750adafb381513bd78760a137e78770a0eef89acf766b5f80b77adbfff
+00459998ff0032666889ff00344ccc12f772a7f76ca713f3f882f9a515f7080afb7b
+fc8a154a0afbb1fb60154b0a13fbff0111e666f99115f85b0a13f7f85c0a13fbf85d
+0a0efb1e81bb5bb4f80bacc8c4e577cac089c212afde4bd84ea6f757d952a678a613
+3c48f7a7f97b15b30a133a48b40a133c48b50afb452b15707f059936be59d18b0813
+3850c68bcbbc97e10870970581515d6b578b558b60b080c008137920f757fc321575
+0adafb381513b8a0760a137920770a0eeffb64eff5acf766b5f80b77c0bf01f76fa7
+b4efd6a703f87ff9b815f50afb5ffe5415f84a0a72f84b154a0afbb1fb60154b0a0e
+fb1efb64efedbb5bb4f80bacc7c4e57712afde4bd856a6c6efa7d95aa6139cd0f5f9
+1a15f60ac6fdb615f84a0a13be60f714f81915750adafb381513dd60760a13be6077
+0a0e65fb64eff5ac6cb2f7b0b1f788b36cac12f4e0beefaaacb2ac9bae1393e0f785
+fb3015f8490ab3f8991530f74806139be0c40a13d7e0540a13b3e0550a13d3e0c50a
+13bbe0c60a0efb28fb64efedbcf765adf70eac01b0dfc4efb5e103f746fb3015f84a
+0a55f84a157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36cacf724a312f4e0a5
+b8a1a59bbf86acb2ac9bae1327d8f80df98b15f85e0a2bfc221530f748061337b8c4
+0a13afb8540a1367b8550a13a7b8c50a1377b8c60a0efb2881bcf765adf70eacf755
+a601b0dfaab69aa795bda1e103f7bef8eb15f79f0afb42fbd1157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36cacafc089c212f4e0f74aaca1a681ac9bae1325d0f8
+10f97415b30a1323d0b40a1325d0b50a28fc0b1530f748061331b0c40a13a9b0540a
+1361b0550a13a1b0c50a1371b0c60a0efb2881bcf765adf70eacdec089c212b0dff7
+5be145a613f5f7b5f8d115b30a13edb40a13f5b50afb39fbb715e20a13e6e30adcfb
+5415800a0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff
+01ef199aff035d666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe
+9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff0006
+4cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e6664
+05fffff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab33408ffff
+4be666ffffca999815b20a69fc531530f748061337c0c40a13afc0540a1367c0550a
+13a7c0c50a1377c0c60a0efb2881bcf765adf70eac01b0dff75be103ff018a999aff
+02c9666815f85f0affff6e6666ffffca999815d70afb11fc0e157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff0068199a
+ff035ecccc15ffffe8199bfffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff0006666408ff007e3333ff000c666815b20a
+69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+fb2881bcf765adf70eac01b0dff75be103ff0054cccdff02c9666815f8600aff0073
+3333ff002f666815d70afb11fc0e157f0adcfb5415800a0e6589ac6cb2f7b0b1f788
+b36caccb76f734a312f4e0f728b880ac8ba598ac6dbf85ae132700f7abf9bc15b20a
+8dfc531530f74806133754c40a13af54540a136754550a13a754c50a137754c60a13
+27a8f76ef85d15f85e0a0efb2881bcf765adf70eacf7b6a612b0dff735b686e149a7
+95bd13fd80f840f94c15f8590afb476715d70afb11fc0e15e20a13fa00e30adcfb54
+15800a0e6589ac6cb2f7b0b1f788b36cacab76ff00869998ff0032666889ff00344c
+cc12f4e0f74aacb2ac9bae1324f0f7cff99c15b20a69fc331530f748061334f0c40a
+13acf0540a1364f0550a13a4f0c50a1374f0c60a1326f0ff0056e666f87615f85b0a
+1325f075ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668ff
+fff0999a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff00
+1f4ccc96ff000e3334ff001c999a8bff0012b3338bff0014e666fffff88000ff0013
+cccefffff58000081326f0f85d0a0efb2881bcf765adf70eacf78ec089c212b0dff7
+5be153a613f5f7c3f97815b30a13edb40a13f5b50a553b15d70afb11fc0e15e20a13
+e6e30adcfb5415800a0e65fb64eff5ac6cb2f7b0b1f788b36caccc7612f4e0beefaa
+acb2ac9bae1393f0f7bef9bd15b20a52fe5915f84a0ab3f8991530f74806139bf0c4
+0a13d7f0540a13b3f0550a13d3f0c50a13bbf0c60a0efb28fb64efedbcf765adf70e
+ac01b0dfc4efb5e103f788f92815d70a49fdc415f84a0a55f84a157f0adcfb541580
+0a0efbbe89acf8dbacf724a312d0b883e054a59bbf13f6f77af98b15f85e0a13e864
+fd1115f7180a0efbd889acf7f6a7a877f764a612c9b688da4ea795bd13fbf764f8eb
+15f8590a13f470fc7115860a0efbbefb64eff5acf8dbac12f0ef2ce013f0f0fb3015
+f8490a13e8e5f7aa15f7180a0efbd8fb64eff5acf7f6a7a877f711ef12e2ef36da13
+fce2fb3015f8490a8ef98715f7010a13fae6fc7115860a0ef6fb64efedaff8e8af01
+b0ebf740eff739eb03f7c5fb3015f84a0aa5f99e15640af7e3fbb915650a0e30fb64
+efedaef80fae01b4e1ceefdee103f756fb3015f84a0afb2df7fd158a0af759f75b15
+8b0a0ef681aff8e8afc076f711a301b0ebf716b8a1a59bbff726eb03f83cf9a315f8
+580a2efb3515640af7e3fbb915650a0e3081aef80faef753a601b4e1afb69aa795bd
+cfe103f7c9f8eb15f79f0afba0fc1e158a0af759f75b158b0a0ef681aff8e8afc076
+01b0ebf849eb03ff021d1998ff0358666815f85a0affff50e668ffffcf999815b20a
+68fb4e15640af7e3fbb915650a0e3081aef80fae01b4e1f78ee103ff0192999aff02
+c9666815f85f0affff796666ffffca999815ea0afb77fc5b158a0af759f75b158b0a
+0ef681aff8e8afc07601b0ebf849eb03ff009e199aff0360cccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004ccccfffff8
+4ccdff0006666408ff007b3333ff000a666815b20a68fb4e15640af7e3fbb915650a
+0e3081aef80fae01b4e1f78ee103ff0054cccdff02c9666815f8600aff00863333ff
+002f666815ea0afb77fc5b158a0af759f75b158b0a0ef681aff8e8afc076f735a312
+b0ebf7b0b8a1a59bbf83eb13ff00f8d6f9c715f85e0afb688015b20a68fb4e1513fe
+80640af7e3fbb915650a0e3081aef80faef7b4a612b4e1f73bb69aa788e142bd13f9
+f84cf94c159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e13fa8b7f867f837f0813fd807a7e758a6908a7068da5959c
+9c9b089b9b9a9b8b9f08fb406715f8610a13faf8620afb77fc5b158a0af759f75b15
+8b0a0ef681aff8e8afff00869998ff0032666889ff00344ccc12b0ebf849eb13ccf8
+02f9a015b20a68fb3215640af7e3fbb915650a13ecffff0de666f89615f85b0a13dc
+75ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff099
+9a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4ccc
+96ff000e3334ff001c99998bff0012b3348bff0014e666fffff88000ff0013ccceff
+fff580000813ecf85d0a0e3081aef80faef791c089c212b4e1f77fa67fe113ecf7cf
+f97d15b30a13dcb40a13ecb50a5c3615f8610a13caf8620afb77fc5b158a0af759f7
+5b158b0a0ef6fb64efedaff8e8afc17601b0ebf740eff739eb03f803f9bd15b20a4d
+fe5915f84a0aa5f99e15640af7e3fbb915650a0e30fb64efedaef80fae01b4e1ceef
+dee103f799f92915d70a48fdc515f84a0afb2df7fd158a0af759f75b158b0a0ef681
+aff8e8afa5e1587612b0ebf849eb40b013d8f821f9c815b10a49fb5a1513cc640af7
+e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7a9f9
+3315d60afb80fc6615eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b0a0e
+f681aff8e8afa5e1577612b0ebf849eb40b013d8f7b7f9c515cd0a3afb031513cc64
+0af7e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7
+61f93315740afb7efbe815eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b
+0a0ef681aff8e8afa5e1a0a312b0ebf724b8a1a59bbff718eb40b013ff00f84af98b
+15f85e0a20fb1d1513ff80640af7e3fbb915f7400a13ff40f7410a0e2d81aef80fae
+b1dfd0a612b4e1b2b69aa795bdcce16aad13ff00f7ccf8eb15f8590afba3fc1e15eb
+0a13ff80f8630a13ff40f7430a13ff80f8640af759f75b158b0a0ef681aff8e8afa5
+e13bc089c212b0ebf7d3a6e6eb40b013d600f829f97b15b30a13ce00b40a13d600b5
+0a41fb0d1513c700640af7e3fbb915f7400a13e680f7410a0e2d81aef80faeb1dfff
+ffd2ccccff003a4cccfffffdccd0ff003c800012b4e1ffffe38000ff00184ccdff00
+c99999ff00184cceff001c4ccce16aad13d300ff011a199aff023e199815ffffeee6
+668bfffff0b333ff0007b334fffff1999aff000d33340813cb0079ff000f6668ffff
+ec3333a1708bffffd94ccd8bffffeb4ccdffffd51998fffff36666ffffbf1998ff00
+056666fffff9666894fffffee668ff0009e667ff0002333094ff00244cd094ff0010
+8000ff001766668bff000f4ccd8bff0011199afffff73330ff00103333fffff3e668
+0813d300ff0012e666fffff09998ff0012e667ffffec3334ff0013cccc8bff002966
+668bff001a199aff002ae668ff000acccecdfffffa9998ff0004666482ff00034cd0
+fffff6199afffffee66408fffff36666ffffd1ccccfffff6199a80ffffec33348b08
+13e580ffff0ee666fffe8ee66815f7420a13e140f7430a13e580f7440af759f75b15
+8b0a0ef6fb64efedaff8e8afa5e112b0ebf740eff739eb40b013fcf7c5fb3015f849
+0aa5f99e1513fe640af7e3fbb915f7400a13fdf7410a0e2dfb64efedaef80faeb1df
+12b4e1ccefe0e16aad13fcf754fb3015f8490afb2bf7fd15eb0a13fef8630a13fdf7
+430a13fef8640af759f75b158b0a0ecdfb64efedb4f8dbac01e2e0f70deff719bc03
+f7b9fb3015f84a0afb0df93b156b0a0e4bfb64efedba84a6f7e9ac12e3daa8efceda
+139ef758fb3015f8490a13dea0f72615f10a13bef20a13def30a0ecd81b4f8dbacf7
+24a301e2e0e6b8a1a59bbff1bc03f83cf98b15f8580afb90fb80156b0a0e4b81ba84
+a6f7e9acf75ba612e3da94b69aa795bdb4da133f80f7d6f8eb15f8590a13bf8022fc
+f515f10a137f80f20a13bf80f30a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13
+def82bf9c815b10af765ffff2ccccc15f8650a13eef8660a0e4b81ba84a6f7e9acbb
+dd12e3daf758daa8ad133ef7a7f93315d60a13be51fd3d15f10a137ef8670a13bef3
+0a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13def7b4f9c615b00af763ffff82
+cccc15f8650a13eef8660a0e4b81ba84a6f7e9acbbdd12e3daf758daa8ad133ef76a
+f93315740a13be48fcbf15f10a137ef8670a13bef30a0eea81b4f8dbacb6dba0a301
+e2e0e8b8a1a59bbfefbcd4bb03f83ef98b15f8580af752ffff69cccc15f74a0a0e4b
+81ba84a6f7e9acbbddd0a612e3da94b69aa795bdb4daa8ad133fe0f7d6f8eb15f859
+0a13bfe022fcf515f10a137fe0f8670a13bfe0f30a0eea81b4f8dbacb6db3ec089c2
+12e2e0f7c1a6a5bcd4bb13d780f83ef97e15b30a13cf80b40a13d780b50af752ffff
+76cccc15f8650a13e780f8660a0e4b81ba84a6f7e9acbbdd62c089c212e3daf745a6
+83daa8ad132b40f7bdf8d115b30a132740b40a132b40b50a13a2c03bfcdb15f10a13
+72c0f8670a13a2c0f30a0eeafb64efedb4f8dbacb6db01e2e0f705eff721bcd4bb03
+f7b1fb3015f84a0af7dfff02fccccc15f74a0a0e4bfb64efedba84a6f7e9acbbdd12
+e3daa5efd1daa8ad139f80f755fb3015f8490a13df80a3f72615f10a13bf80f8670a
+13df80f30a0e7789acf8dbacd27601f790e003f777f9c515b00a80fcf7156f0a0e3b
+fb7cdbf8baac01f777f93315740a2efd5515910a0e77fb64eff5acf8dbac12f789ef
+2ee013f0f789fb3015f8490a13e8e7f7aa15f7350a0e3bfb7cdb53eff88eac12f7d0
+ef1370f7d0fb3015f8490afb048715ff000f999aff001bcccdff000d1999ff001c99
+99ff000c4ccdff001d999adbf755ff002cccccff0066999aff00343334ff00706666
+ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591778a748a6f8b
+6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708ffff9cccccfb
+790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffa74ccd
+f76405ffffedffffff002a3334fffffacccdff00128000c3ff00044ccc91918ba085
+91668a638a678b698b708c778c85858b769185ff0027b333869882ff001a33334e08
+ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a816ffffff419
+9affffde999afffff3e666ffffe466667c6c80777d82728b0813b07d8b878e808b08
+6e7c6d7e769f7ba61fa08bb393afcb080e7789acf8dbacf724a312f771b87de05aa5
+9bbf13f6f812f98b15f85e0a13e85efd1115ff0087b334078bff001dccccff000119
+9aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff0016
+4ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b
+769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff9133
+34fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00
+cccccc0513f0ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a
+638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5
+e66808ff00834ccdfb710513e8ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080e3bfb7cdbf8baacf7
+5ba601f757b69aa795bd03f7e9f8eb15f79f0afb1dfd8b15910a0e7789acf8dbacb9
+c089c212f790e0d0a613ecf7fbf97e15b30a13dcb40a13ecb50a75fd04156f0a0e3b
+fb7cdbf8baace4c089c212f819a613e8f7eaf8d115b30a13d8b40a13e8b50afb1efd
+7115910a0ef74d8bb264a8f8dfa812f5dcf741dc1378f74ff8d015a7999bb41ecb06
+b29a7d6d1ffc8607688281611e4806637c99a91f13b8f8346915fb07066e799eaa1f
+f877078ba7ff000f666698ff0027999a8e08a58d0590ff000066688eff000299988b
+90088b9e898d058b2e89671efb91065a8b6e8c5a8c0889898b78058b868ffffffd4c
+cc8fffffffb33408a68905ff0024e666fffffd4cccff0011199afffff4b3348b6d08
+fc870713788b6ffffff2999a7effffd76666880870890587ffffffb33388fffffd4c
+cd8b86088b788d8905bc8ca88cbc8b0813b8f85e068b8bd88abd8a90c396c696bf08
+6d900576436e503f8b080e4e89acf875adeaa9a67701f4daf743da03f84af8b615b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087efb43b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087e4b69cb
+fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f81af743fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8a91918ba085914e8e80908bde08f81acdad070e5a81b6f7e0bcf7887701b8e2
+f7b6df03f7d8f83215945a05c3ac4143fb21485e3b582fc8f73b1f8bf72bf3f71ef7
+2fdc087ba605fb3a4bfb38fb418bfb3a08fb4bed39f70cf738daeff720e645e8fb04
+1e0e2081b5f92e7701b5dcf794d903f7eef82d15667205ba69a23e8b4608fb1f426a
+595c35c0f7271e8bf74bf0f735f720f0087ba005fb2b3cfb2ffb3e8bfb7308fb3fff
+006d66664aff005b999af717deff0060e666ff007c199a1e8bf553c554ad080e7c7f
+b6f8dfa701f1be03ff010c4cccff00a7e66615ffffceccce7fffff8ae666ffffdf99
+9a8bffffb680008b63ae75aa8bdd8bbccbb6f70108f731f829059ab39597b98b088f
+928d911f8b9e898c058b5b8a6b61498c8b1e8a8a8b7705878d888f1ea806a698887d
+1f8b858983867f08fb16fbeefb32f7ee05879689948b9208959291a01eb106908d8e
+901f8b9e898c058b3b8a59624c8c8b1e8a8a8b7705878f88911ebc8b9f64947708f7
+57fc3b156c40656d6c8b788b80968b9b8baecba4cd9d080e35fb7da7f728a5f845a8
+01b2ad03d4fb4315bee6ceb81e612b057f6f7073738b087b7c969e1ff719a515b7ed
+05daf745b1f0bef699a89eb2b18b08928f8e901f8b9e888d058b62896f68508d8b1e
+89888b7805889087901e8f06a19f86761f8b858983868208fb03fb92fb02f7960587
+9489938b91089b9891a990918e901e8b9d898e056689688b5c8b086e5e8d8b1f8989
+8b7705878f88911ead8b96809b6508f712fbb905937794708b818b86897388860842
+fb003f4b66a772ac1fb38bb2a1a6c9080e6e81c84eadf811addb9ce5d312addff722
+b7133ef788f94e15f7040af739fc8f15f7c10a137ef7c20a13bef7c30a4be4157b62
+05137ef7c40a0e6e81c84eadf811addc9ce1d712addfbfbd133ef77af94f15f8680a
+f747fc9015f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84e
+adf811addb9ce5d312addfb7b7133ef726f94e15f7040af7056315f8690af72afc67
+15f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84eadf811ad
+d99ce1d712addf76bd133af731f94c15f8680af56315f8690af726fc6515f86a0a13
+7cf86b0a13bcf7c30a4be4157b6205137cf7c40a0e6e81c84eadf811addb9ce5d312
+addfcfb7137ef82df75315f7c80a13bef7c30a4be4157b6205137ef7c40afb4cf85b
+15f7040af73d9115f86c0a0e6e81c84eadf811add99ce1d712addf7dbd133af738f9
+4c15f8680af7428f15f86d0ad2fc9115f86a0a137cf86b0a13bcf7c30a4be4157b62
+05137cf7c40a0e6e81c84eadf811adb59ce5d3a2b98bba12addff71cb7c0a11379c0
+f82df75315f7c80a13b9c0f7c30a4be4157b62051379c0f7c40afb08f83515f7040a
+133dc0cdd015133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8
+710a0e6e81c84eadf811adb89ce1d79eb98bba12addfc8bdf70ca1133dc0f7c2f96c
+15133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8710a4c4a15
+f78c0af73efc6c15f7c10a1379c0f7c20a13b9c0f7c30a4be4157b62051379c0f7c4
+0a0eef89acf766b5f79a9ceb7799d312f73cb713ecf72cf96815f7040af703fc4d15
+4a0afbb1fb6015b80a13f4b90a0eef89acf766b5f79b9cea7796d712e3bd13ecf728
+f96915f8680af707fc4e154a0afbb1fb6015b80a13f4b90a0ef72189acf766b5f797
+9cee7796d312adb713ec9df96515f7040af7056315f8690af742fc2215f8720afbb1
+fb6015f8730a13f4b90a0ef70689acf766b5f7959cf07790d71258bd13ec94f96315
+f8680af56315f8690af737fc20154a0afbb1fb6015b80a13f4b90a0ef689acf766b5
+f7969cef7795d312b4b713eca4f96415f7040af73d9115f86c0ad7fc4f154a0afbb1
+fb6015b80a13f4b90a0ef689acf766b5f7969cef7791d71278bd13ecb4f96415f868
+0af7428f15f86d0ac2fc4d154a0afbb1fb6015b80a13f4b90a0ef70c89acf766b5f7
+259ce5d3a2b97977b1ba12e3b7c0a113f180d3f8f315f7040a13f980cdd01513f380
+f86e0a13f980a1860513f380f86f0a13f980f8700a13f380f8710af726fc1d15f872
+0afbb1fb6015b80a13f580b90a0ef70e89acf766b5f7289ce1d79eb97a77b0ba12b2
+bdf70ca113f980f736f9371513f380f86e0a13f980a1860513f380f86f0a13f980f8
+700a13f380f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015b80a13f580b90a
+0efb5a81b1f74aacf737acdb9ce5d312b7da4fd2e1b798d513f980f760f94e15f704
+0a13fd803afcd515f7780a13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737ac
+dc9ce1d712b7da4fd29dbdd6d513f980f768f94f15f8680a13fd8032fcd615f7780a
+13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd292b7
+e7d513f980f711f94b15f7040af7056315f8690a13fd80fb07fcaa15f7780a13fb80
+f7790a13fd80f77a0a0efb5a81b1f74aacf737acd79ce1d712b7da4fd24bbdf731d5
+13f980f716f94a15f8680af56315f8690a13fc80fb05fca915f7780a13fa80f7790a
+13fc80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd291b7e8d513f980f7
+10f94b15f7040af73d9115f86c0a13fd80fb3efcd815f7780a13fb80f7790a13fd80
+f77a0a0efb5a81b1f74aacf737acd89ce1d712b7da4fd24fbdf72dd513fa80f71af9
+4b1513f980f8680af7428f15f86d0a13fc80fb4dfcd615f7780a13fa80f7790a13fc
+80f77a0a0ed889ac6cb2f7b0b1f74c9cb6b36cac90d312adb7f716e0f74aacb2ac9b
+ae1333f09df96815f7040af802fbff1530f74806133bf0f7b10a13b7f0540a1373f0
+550a13b3f0f7560a137bf0c60a0ebe89ac6cb2f7b0b1f74c9cb6b36cac8cd71256bd
+f74de0f74aacb2ac9bae1333f092f96815f8680af7f3fbff1530f74806133bf0f7b1
+0a13b7f0540a1373f0550a13b3f0f7560a137bf0c60a0ef78189ac6cb2f7b0b1f748
+9cbab36cac8cd312aab7f7b9e0f74aacb2ac9bae1337f09af96415f7040af7056315
+f8690af834fbd31530f74806133bf0f7b10a13b7f0540a1373f0550a13b3f0f7560a
+137bf0c60a0ef77089ac6cb2f7b0b1f7469cbcb36cac86d71258bdf7f4e0f74aacb2
+ac9bae1333f094f962151339f0f8740a1333f0f8750af56315f8690af830fbd11530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0ef77289
+ac6cb2f7b0b1f7469cbcb36cac8ad312a9b7f7abe0f74aacb2ac9bae133bf099f962
+15f7040af73d9115f86c0af7eefbff1530f74806b7979fc11ed606d68b9b63a146ff
+000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b33486b47ceb89
+938b8d8a8c888b7a88838a738b08fb930613b5f0540a1371f0550a13b1f0f7560a13
+7bf0c60a0ef76889ac6cb2f7b0b1f7489cbab36cac88d71252bdf7f1e0f74aacb2ac
+9bae1333f08ef964151335f0f8740a1333f0f8750af7428f15f86d0af7e9fbff1530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0e48fb6d
+76f78d76f81fa771bfda9ce5d312eadaf728b78cda13cf80f7c6f94d15f7040afb18
+fbe715f7c50a13ef80f7c60a13df80f7c70a0e48fb6d76f78d76f81fa771bfdc9ce1
+d712eadac3bde2da13cf80f7b6f94f15f8680afb08fbe915f7c50a13ef80f7c60a13
+df80f7c70a0e48fb6d76f78d76f81fa771bfd99ce5d312eadacfb7dcda13cf80f776
+f94c15f7040af7056315f8690afb39fbbe15f7c50a13ef80f7c60a13df80f7c70a0e
+48fb6d76f78d76f81fa771bfd69ce1d712eada8bbdf723da13cd80f77ef94915f868
+0af56315f8690a13ee80fb3afbbb15f7ca0a13de80f7cb0a0e48fb6d76f78d76f81f
+a771bfd89ce5d312eadaddb7ceda47cf13cf00f784f94b15f7040af73d911513cf40
+f8760a13cf80f8770a13cf40f8780afb7ffbeb15f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfd69ce1d712eada8dbdf721da47cf13cf00f780f9
+4915f8680af7428f1513cf40f86d0afb80fbe715f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfb59ce5d3a2b98bba12eadaf729b78bda71a113cc
+c0f7c7f92815f7040a13ce90cdd01513cd90f86e0a13ce90a1860513cd90f86f0a13
+ce90f8700a13cd90f8710afb5bfc0715f7c50a13eca0f7c60a13dca0f7c70a0e48fb
+6d76f78d76f81fa771bfb89ce1d79eb98bba12eadad4bdd1da6ea113ced0f806f96c
+1513cdd0f86e0a13ced0a1860513cdd0f86f0a13ced0f8700a13cdd0f8710a4c4a15
+f78c0afb19fbc515f7c50a13ece0f7c60a13dce0f7c70a0ef77589acf7b6b5f74a9c
+bfac90d301aeb7f709e0f7eae0039ef96815f7040af945fcee15f7b20a0ef77589ac
+f7b6b5f74b9cbeac8dd7015fbdf752e0f7eae0039bf96915f78c0af948fcef15f7b2
+0a0ef81c89acf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae013ef9cf96215f7040a
+f7056315f8690af97dfcc015f8250713f7f8790a0ef81289acf7b6b5f7449cc5ac86
+d7125abdf7f4e0f7eae013ef96f96215f8680af56315f8690af980fcc015f8250713
+f7f8790a0ef81589acf7b6b5f7449cc5ac8ad312a3b7f7b4e0f7eae013ef93f96215
+f7040af73d9115f86c0af947fcee15f8250713f7f8790a0ef80b89acf7b6b5f7479c
+c2ac89d71258bdf7efe0f7eae013ef94f96515f8680af7428f15f86d0af937fcef15
+f8250713f7f7df0a13ef628a588a658b0813f7f87a0a13ef658a628a588b0813f7f8
+7b0a0ef7fb89acf7b6b5cb9ce5d393ac79b98bba12f4b7c0a1f5e0f7eae013f1e0e4
+f8f215f7040a13f5e0cdd01513f3e0f86e0a13f5e0a1860513f3e0f86f0a13f5e0f8
+700a13f3e0f8710af943fcbd15f8250713f9e0f8790a0ef80589acf7b6b5d09ce1d7
+8eac7ab98bba12a3bdf70ca1f710e0f7eae013f5e0f727f9381513f3e0f86e0a13f5
+e0a1860513f3e0f86f0a13f5e0f8700a13f3e0f8710a4c4a15f78c0af994fc7d15f8
+250713f9e0f8790a0efbce80c2f81777ed9ce5d312dfda74b713f4f710f94415f704
+0a13f863fc0215f77b0a0efbce80c2f81777ee9ce1d712d3bd65da13f8f718f94515
+f8680a13f45bfc0315f77b0a0efbce80c2f81777f59ce5d312c8b776da13f8b8f94c
+15f7040af7056315f8690a13f441fbe215f77b0a0efbce80c2f81777f39ce1d70181
+bdb7da03bdf94a15f78c0af56315f8690a43fbe015f77b0a0efbce80c2f81777f49c
+e5d312c6b778da13f8b6f94b15f7040af73d9115f86c0a13f4fb14fc0f15f77b0a0e
+fbce80c2f81777f49ce1d70182bdb6da03bef94b15f78c0af7428f15f86d0afb21fc
+0d15f77b0a0efbce80c2f81777d09ce5d3a2b98bba12dfda75b7c0a113f180f711f9
+2715f7040a13f880cdd01513f480f86e0a13f880a1860513f480f86f0a13f880f870
+0a13f480f8710a13f28020fc2a15f77b0a0efbce80c2f81777d49ce1d79eb98bba12
+d0bd68dad7a113fa80f754f96c1513f680f86e0a13fa80a1860513f680f86f0a13fa
+80f8700a13f680f8710a4c4a15f78c0a13f1805efbe915f77b0a0efb6889acf8979c
+beac91d301a8b7f70fe00398f96915f7040af7a0fcef15590a0efb7a89acf8979cbe
+ac8dd7015abdf745e00396f96915f78c0af790fcef15590a0e5f89acf8919cc4ac8b
+d312a8b7f7b7e013dc98f96315f7040af7056315f8690af7d7fcc115f8250713ecf8
+7c0a0e4389acf8929cc3ac88d71251bdf7ece013dc8df9641513ecf8740a13dcf875
+0af56315f8690af7cdfcc215f8250713ecf87c0a0e4d89acf8939cc2ac8dd3019eb7
+f7afe0038ef96515f7040af73d9115f86c0af797fcf115f825078bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080e
+4c89acf8949cc1ac8ad71257bdf7efe013dc93f96615f8680af7428f15f86d0af78c
+fcf015f8250713ecf87c0a0e3389acf8269ce5d38dac7fb98bba12e1b7c0a1f707e0
+13e380d1f8f815f7040a13eb80cdd01513e780f86e0a13eb80a1860513e780f86f0a
+13eb80f8700a13e780f8710af7a1fcc315f8250713f380f87c0a0e4a89acf8269ce1
+d78dac7bb98bba12a1bdf70ca1f715e013eb80f725f9391513e780f86e0a13eb80a1
+860513e780f86f0a13eb80f8700a13e780f8710a4c4a15f78c0af7eefc7e15f82507
+13f380f87c0a0e3081aef80faed19ce5d301b4e1f710b7dde103f77ff94415f7040a
+fb56fc77158a0af759f75b158b0a0e3081aef80faed29ce1d701b4e1c3bdf724e103
+f787f94515f78c0afb5efc78158a0af759f75b158b0a0e3081aef80faed09ce5d301
+b4e1b6b7f737e103f72ef94315f7040af7056315f8690afb76fc4e158a0af759f75b
+158b0a0e3081aef80faed09ce1d712b4e171bdf776e113f6f735f94315f8680af563
+15f8690a13fafb76fc4e15ed0af759f75b158b0a0e3081aef80faecd9ce5d3917712
+b4e1b7b7f736e113f7f72ff94015f7040a13eff73d9115f87d0afbaffc79158a0af7
+59f75b158b0a0e3081aef80faecf9ce1d78f7712b4e171bdf776e113f3f735f94215
+f8680a13e9f7428f15f87e0a13e5fbbafc7915ed0af759f75b158b0a0ef71f81aff8
+9b9cc7af85d312acb787ebf849eb13da9cf96815f7040a13e6f7f22515ce0af7e3fb
+b915650a0ef72c81aff89c9cc6af82d71257bde3ebf849eb13de93f96915f8680a13
+eef8082415ce0af7e3fbb915650a0ef7bf81aff8959ccdaf7fd312a1b7f73bebf849
+eb13de91f96215f7040af7056315f8690a13eef82c5315ce0af7e3fbb915f87f0a0e
+f7c781aff8959ccdaf7bd71254bdf78aebf849eb13de90f96215f8680af56315f869
+0a13eef83c5315ce0af7e3fbb915f87f0a0ef7ae81aff8979ccbaf81d312aab7f721
+ebf849eb13de9af96415f7040af73d9115f86c0a13eef7da2315ce0af7e3fbb915f8
+7f0a0ef79c81aff8979ccbaf7dd71257bdf75cebf849eb13de93f96415f8680af742
+8f15f86d0a13eef7ca2515ce0af7e3fbb915f87f0a0e2281b2f7f8a7a877e29ce5d3
+01e7dae5b7efb403f789f94415f7040a41fffe914ccc15f77f0a0e2281b2f7f8a7a8
+77e39ce1d701e7daa1bdf736b403f791f94515f78c0a39fffe904ccc15f77f0a0e22
+81b2f7f8a7a877e19ce5d301e7da8fb7f74eb403f733f94315f7040af7056315f869
+0a26fffeba4ccc15f77f0a0e2281b2f7f8a7a877e19ce1d712e7da4cbdf78bb413fb
+f73cf94315f8680af56315f8690a13fd24fffeba4ccc15f77f0a0e2281b2f7f8a7a8
+77de9ce5d3917712e7da95b7f748b413fb80f739f94015f7040a13f780f73d9115f8
+7d0afb37fffe8f4ccc15f77f0a0e2281b2f7f8a7a877e09ce1d78f7712e7da4fbdf7
+88b413fa80f73ff9421513f980f8680a13f480f7428f15f87e0a13f280fb42fffe8f
+4ccc15f77f0a0e2281b2f7f8a7a877c79ce5d3a2b98bba12e7daeeb7c0a19bb413f9
+e0f792f92915f7040a13fde0cdd01513fbe0f86e0a13fde0a1860513fbe0f86f0a13
+fde0f8700a13fbe0f8710afb29fffe674ccc15f77f0a0e2281b2f7f8a7a877c69ce1
+d79eb98bba12e7da97bdf70ca1a9b413fde0f7c6f9691513fbe0f86e0a13fde0a186
+0513fbe0f86f0a13fde0f8700a13fbe0f8710a4c4a15f78c0a43fffead4ccc15f77f
+0a0ef70389acf8979cbeac8dd7015fbdf80ee0039bf96915f78c0af859fcef15f7b3
+0a0ef7a289acf8919cc4ac87d7125abdf8b2e013dc96f96315f8680af56315f8690a
+f893fcc115f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc9191
+8ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668ff
+fff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334
+ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff0009
+9998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff001133
+34fffffa1998ff00228000ffffc5e66808ff00834cccfb7105ff00118000ffffe280
+00ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff0034
+66688cff002699988bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908b
+de080ef7a289acf8939cc2ac89d71259bdf8b3e013dc95f96515f8680af7428f15f8
+6d0af850fcef15f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085910813dc6f8a6b8a748b0813ec748b678c6b8c85858b769185ff002c4c
+cc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb650583ffff
+f0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff
+002a999c8fff00099998c38e91918ba085910813dc678a658a638b0813ec648b6a8c
+6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e66808ff0083
+4cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13078b387a
+863b8885858b769185bc8cff003466688cff002699988bff0026b3348bff00324ccc
+8abd8a91918ba085913b8e7a908bde080ef76989acf8259ce1d78eac7ab98bba12a5
+bdf70ca1f7a0e013eb80f729f9381513e780f86e0a13eb80a1860513e780f86f0a13
+eb80f8700a13e780f8710a4c4a15f78c0af879fc7d15f8800a13f380a7ff0032b334
+ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c
+85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ff
+ff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00
+cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b
+648b6a8c6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e668
+08ff00834cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13
+078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026b3348bff
+00324ccc8abd8a91918ba085913b8e7a908bde080eca81b0f83377f29ce5d312addd
+f745ce88b7f721dd13fbf7e9f95415f7040af7affc9715f8810a13fdf8820a0eca81
+b0f83377e39ce1d712adddf741bd5dcef74add13fdf7f1f94515f8680af7a7fc8815
+f8810a13fbf8820a0eca81b0f83377e19ce5d312adddf734b770cef74add13fdf798
+f94315f7040af7056315f8690af78ffc5e15f8810a13fbf8820a0eca81b0f83377e1
+9ce1d701addddcbdb9cef74add03f795f94315f78c0af56315f8690af799fc5e15f7
+ce0a0eca81b0f83377de9ce5d3917712adddf735b76fcef74add13f680f799f94015
+f7040a13ec80f73d9115f87d0af756fc8915f8810a13e5809ab094c28ba308a38898
+707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff
+00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb17db42e5
+1e13e680f8830a0eca81b0f83377e09ce1d78f7712addde6bdafcef74add13f780f7
+9ff94215f8680a13ef80f7428f15f87e0af74bfc8915f7ce0a0eca81b0f83377c19c
+e5d3a2b98bba12adddf745ce86b7c0a1cfdd13f2e0f7e7f92315f7040a13fa60cdd0
+1513f660f86e0a13fa60a1860513f660f86f0a13fa60f8700a13f660f8710af76ffc
+ab15f8810a13f360f8820a0eca81b0f83377c59ce1d79eb98bba12adddf73dbd61ce
+eaa1ccdd13fb60f82cf9681513f760f86e0a13fb60a1860513f760f86f0a13fb60f8
+700a13f760f8710a4c4a15f78c0af7abfc6a15f8810a13f2e0f8820a0ef73f8bd0f8
+709cc9ad85d312cdb792a478e7f837e672a513d800bdf96815f7040af874fcf31513
+eb00f7b40a13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7598bd0f8719cc8ad82
+d7128bbde8a478e7f837e672a513d800c7f96915f8680af884fcf41513eb00f7b40a
+13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7d58bd0f86a9ccfad7fd312a2b7f7
+5ca478e7f837e672a513d80092f96215f7040af7056315f8690af8c4fcc51513eb00
+f7b40a13ec00f8840a13eb00f7b60a13e880f7b70a0ef7c38bd0f86a9ccfad7bd712
+51bdf796a478e7f837e672a513d8008df96215f8850a13e800619379b08ba20813d8
+00f8750af56315f8690af8bffcc51513eb00f7b40a13ec00f8860a13eb00f7b60a13
+e880f7b70a0ef79c8bd0f86c9ccdad81d312a8b7f71da478e7f837e672a513d80098
+f96415f7040af73d9115f8870a13ca00f8880af84dfcf51513eb00f7b40a13ec00f7
+b50a13eb00f7b60a13e880f7b70a0ef7a08bd0f86c9ccdad7dd7125bbdf768a478e7
+f837e672a513d80097f96415f8680af7428f15f86d0af84dfcf31513eb00f7b40a13
+ec00f7b50a13eb00f7b60a13e880f7b70a0ef7938bd0f7fb9ce5d39cad6fb98bba12
+e9b7c0a17fa478e7f837e672a513e200d9f8f315f7040a13eb00cdd01513e700f86e
+0a13eb00a1860513e700f86f0a13eb00f8700a13e700f8710af86afcc31513f260f7
+b40a13f280f7b50a13f260f7b60a13f210f7b70a0ef7ad8bd0f8009ce1d797ad70b9
+8bba12adbdf70ca18da478e7f837e672a513eb00f731f9391513e700f86e0a13eb00
+a1860513e700f86f0a13eb00f8700a13e700f8710a4c4a15f78c0af8b7fc831513f3
+60f7b40a13f380f7b50a13f360f7b60a13f310f7b70a0e6e81c84eadf811ad12addf
+1330f74df93515f8890af774fc7615f7c10a1370f7c20a13b0f7c30a4be4157b6205
+1370f7c40a0e6e81c84eadf811ad12addf1330f7aef93e15f7b00af713fc7f15f7c1
+0a1370f7c20a13b0f7c30a4be4157b62051370f7c40a0efb5a81b1f74aacf737ac12
+b7da4fd2f723d513e4f733f93515f8890a13f467fcbc15f7780a13ecf7790a13f4f7
+7a0a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b00a13f4fb
+09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf12eadaf7
+55da13ccf784f93a15f8890a49fbd415f7c50a13ecf7c60a13dcf7c70a0e48fb6d76
+f78d76f81fa771bf12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ec
+f7c60a13dcf7c70a0efbce80c2f8177701dfda03cdf93715f88a0a9dfbf515f77b0a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e3081aef80fae
+01b4e1f78ee103f745f93115f88a0afb1cfc64158a0af759f75b158b0a0e3081aef8
+0fae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281
+b2f7f8a7a87701e7daf77eb403f74af92f15f88a0a80fffea64ccc15f77f0a0e2281
+b2f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca
+81b0f8337701adddf745cef74add03f78df92d15f88a0af80bfc7015f7ce0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e6efb70
+b3f73ec84eadf811addb9ce5d312addfddd67cb7b7a4139f40f75c5315f7a70a82f9
+7915f88b0a139ec0f88c0af739fc8f15f7c10a13be40f7c20a13de40f7c30a4be415
+7b620513be40f7c40a0e6efb70b3f73ec84eadf811addc9ce1d712addfbfbd77d6d4
+a4139ec0f75c5315f7a70a74f97a15139f40f78c0af747fc9015f7c10a13be40f7c2
+0a13de40f7c30a4be4157b620513be40f7c40a0e6efb70b3f73ec84eadf811addb9c
+e5d312addfb7b785d6d4a4139ec0f75c5315f7a70a20f97915f88b0a139f40f88c0a
+f7056315f8690af72afc6715f7c10a13be40f7c20a13de40f7c30a4be4157b620513
+be40f7c40a0e6efb70b3f73ec84eadf811add99ce1d712addf76bdc0d6d4a4139cc0
+f75c5315f7a70a2bf97715139dc0f78c0af56315f8690af726fc6515f86a0a13bec0
+f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6efb70b3f73ec84eadf811ad
+db9ce5d312addfcfb76dd6d4a4139ec0f75c5315f7a70af730f77e15f7c10a13be40
+f7c20a13de40f7c30a4be4157b620513be40f7c40afb4cf85b15f88b0a139f40f88c
+0af73d9115818b7a87877b08139ec06afb2f8b8a05888d81971e8e8b8f8c8c8f08d7
+f71f058d8f8c8f8b8f8b9683a16e8b080e6efb70b3f73ec84eadf811add99ce1d712
+addf7dbdb9d6d4a4139cc0f75c5315f7a70a32f97715139dc0f78c0af7428f15f86d
+0ad2fc9115f86a0a13bec0f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6e
+fb78b3f746c84eadf811adb59ce5d3a2b98bba12addfcbd688b7aba487a113bc80f8
+2df75315f7c80a13dc80f7c30a4be4157b620513bc80f7c40afb08f83515f88b0a13
+9ca0f88c0a139e88cdd015139d88f86e0a139e88a18605139d88f86f0a139e88f870
+0a139d88f8710a139cd0fb0efdad15f7a70a0e6efb70b3f73ec84eadf811adb89ce1
+d79eb98bba12addfc8bd6ed6d4a4139cb0f75c5315f7a70a139ed0bcf99715139dd0
+f86e0a139ed0a18605139dd0f86f0a139ed0f8700a139dd0f8710a4c4a15f78c0af7
+3efc6c15f7c10a13bc90f7c20a13dc90f7c30a4be4157b620513bc90f7c40a0ef7b3
+81b16dacf766b5f79a9ceb7799d312f73cb7f889d4d0a313b380f95df7c315f88d0a
+133780fd03f81c15f7040af703fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+a981b16dacf766b5f79b9cea7796d712e3bdf8c9d4d0a313b380f953f7c315f88d0a
+133780fcfdf81d15f8680af707fc4e154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+e189ac79b1f752b5f7979cee7796d312adb7f93dd4d0a3137380f98bf7da15f88d0a
+133780fdb7f80215f7040af7056315f8690af742fc2215f8720afbb1fb6015f88e0a
+13bb80ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc999a85
+858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff00038000ff
+ffde3334ff00034cccffffee9998ff0030333408fb62f8d0057c8270807e8b08fb77
+fcac05714dffffe1800085ffffd480008885858b769185a58cff0020b3338cff001e
+4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff0002999a5cff00044cccff000f
+999aff0029199a080ef7ca81b16dacf766b5f7959cf07790d71258bdf975d4d0a313
+b380f974f7c315f88d0a133780fda9f81715f8680af56315f8690af737fc20154a0a
+fbb1fb6015f88e0a137b80f88f0a0ef7c881b16dacf766b5f7969cef7795d312b4b7
+f91dd4d0a313b380f972f7c315f88d0a133780fd97f81815f7040af73d9115f86c0a
+d7fc4f154a0afbb1fb6015f88e0a137b80f88f0a0ef7c181b16dacf766b5f7969cef
+7791d71278bdf94dd4d0a313b380f96cf7c315f88d0a133780fd81f81815f8680af7
+428f15f86d0ac2fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7cf81b16dacf7
+66b5f7259ce5d3a2b97977b1ba12e3b7c0a1f8aad4d0a313b8f0f979f7c315f88d0a
+fd6ff7a715f7040a133cf0cdd0151339f0f86e0a133cf0a186051339f0f86f0a133c
+f0f8700a1339f0f8710af726fc1d15f8720afbb1fb6015f88e0a137af0f88f0a0ef7
+d781b16dacf766b5f7289ce1d79eb97a77b0ba12b2bdf70ca1f89ad4d0a313b8f0f9
+81f7c315f88d0a133cf0fd1df7eb151339f0f86e0a133cf0a186051339f0f86f0a13
+3cf0f8700a1339f0f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015f88e0a13
+7af0f88f0a0e48fb82b3f76576f81fa771bfda9ce5d312eadad3a4beb78cda13cfc0
+ed4115f7a70af72ff98a15f7040afb18fbe715f7c50a13efc0f7c60a13dfc0f7c70a
+0e48fb82b3f76576f81fa771bfdc9ce1d712eadac3bd69a4ebda13cec0ed4115f7a7
+0af71ff98c1513cf40f78c0afb08fbe915f7c50a13ee40f7c60a13de40f7c70a0e48
+fb82b3f76576f81fa771bfd99ce5d312eadacfb763a4ebda13cec0ed4115f7a70ad6
+f98915f88b0a13cf40f88c0af7056315f8690afb39fbbe15f7c50a13ee40f7c60a13
+de40f7c70a0e48fb82b3f76576f81fa771bfd69ce1d712eada8bbda1a4ebda13ccc0
+ed4115f7a70adef9861513cdc0f78c0af56315f8690a13eec0fb3afbbb15f7ca0a13
+dec0f7cb0a0e48fb82b3f76576f81fa771bfd89ce5d312eadad3a47cb7ceda47cf13
+cf00ed4115f7a70ae4f98815f88b0a13ce80f88c0af73d911513ce20f8760a13ce40
+f8770a13ce20f8780afb7ffbeb15f7c50a13eec0f7c60a13dec0f7c70a0e48fb82b3
+f76576f81fa771bfd69ce1d712eada8dbd9fa4ebda47cf13cf80ed4115f7a70ae0f9
+8615f78c0af7428f1513cfa0f86d0afb80fbe715f7c50a13efc0f7c60a13dfc0f7c7
+0a0e48fb82b3f76576f81fa771bfb59ce5d3a2b98bba12eadad3a4bfb78bda71a113
+cce0f7c7f92815f7040a13cec8cdd01513cdc8f86e0a13cec8a1860513cdc8f86f0a
+13cec8f8700a13cdc8f8710afb5bfc0715f7c50a13ecd0f7c60a13dcd0f7c70a3ffc
+4415f7a70a0e48fb82b3f76576f81fa771bfb89ce1d79eb98bba12eadad3a473bdd1
+da6ea113ccc0ed4115f7a70a13cea8f76ff9a91513cda8f86e0a13cea8a1860513cd
+a8f86f0a13cea8f8700a13cda8f8710a4c4a15f78c0afb19fbc515f7c50a13ec90f7
+c60a13dc90f7c70a0ef82081b16dacf7b6b5f74a9cbfac90d312aeb7f709e0f7eae0
+f706d4d0a313bfe0f9caf7c315f88d0afdf5f81c15f7040af945fcee15f8900a137f
+e0f8910a0ef82381b16dacf7b6b5f74b9cbeac8dd7125fbdf752e0f7eae0f709d4d0
+a313bfe0f9cdf7c315f88d0afdfbf81d15f78c0af948fcef15f8900a137fe0f8910a
+0ef8c181b16dacf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae0f700d4d0a313b3e0
+fa6bf7c315f88d0a1337e0fe98f81615f7040af7056315f8690af97dfcc015f82507
+137be0f8790a0ef8b881b16dacf7b6b5f7449cc5ac86d7125abdf7f4e0f7eae0f701
+d4d0a313b3e0fa62f7c315f88d0a1337e0fe95f81615f8680af56315f8690af980fc
+c015f82507137be0f8790a0ef8c681b16dacf7b6b5f7449cc5ac8ad312a3b7f7b4e0
+f7eae0f70cd4d0a313b3e0fa70f7c315f88d0a1337e0fea6f81615f7040af73d9115
+f86c0af947fcee15f82507137be0f8790a0ef8b981b16dacf7b6b5f7479cc2ac89d7
+1258bdf7efe0f7eae0f709d4d0a313b3e0fa63f7c315f88d0a1337e0fe98f81915f8
+680af7428f15f86d0af937fcef15f82507133be0f7df0a1337e0628a588a658b0813
+3be0f87a0a1337e0658a628a588b08137be0f87b0a0ef8b081b16dacf7b6b5cb9ce5
+d393ac79b98bba12f4b7c0a1f5e0f7eae0f710d4d0a313b8fcfa5af7c315f88d0afe
+3ff7a615f7040a133afccdd0151339fcf86e0a133afca186051339fcf86f0a133afc
+f8700a1339fcf8710af943fcbd15f82507137cfcf8790a0ef8b881b16dacf7b6b5d0
+9ce1d78eac7ab98bba12a3bdf70ca1f710e0f7eae0f70ed4d0a313b8fcfa62f7c315
+f88d0a133afcfe0df7ec151339fcf86e0a133afca186051339fcf86f0a133afcf870
+0a1339fcf8710a4c4a15f78c0af994fc7d15f82507137cfcf8790a0ecafb70b3f73e
+b0f83377f29ce5d312adddf745ce88b7aea4dcdd13fcc0f7b45315f7a70af97f04f8
+8b0a13fdc0f88c0af7affc9715f8810a13fec0f8820a0ecafb70b3f73eb0f83377e3
+9ce1d712adddf740d641bdeca4dcdd13fec0f7b45315f7a70a93f9701513fdc0f78c
+0af7a7fc8815f7ce0a0ecafb70b3f73eb0f83377e19ce5d312adddf734b76bd6d4a4
+dcdd13fdc0f7b45315f7a70a3af96e15f88b0a13fec0f88c0af7056315f8690af78f
+fc5e15f7ce0a0ecafb70b3f73eb0f83377e19ce1d701addddcbdb4d6d4a4dcdd03f7
+b45315f7a70a37f96e15f78c0af56315f8690af799fc5e15f7ce0a0ecafb70b3f73e
+b0f83377de9ce5d3917712adddf735b76ad6d4a4dcdd13f2e0f7b45315f7a70a13fb
+603bf96b15f7040a13f660f73d9115f87d0af756fc89158bf7082de72db8fffff2e6
+66fffffd199affffff199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68
+ae6dd09ab094c28ba308a38898707180686c1e8b778d66986a6c44746d668b418b70
+d18bf7048bf70ebcbaccb48aff00094cccfffffb999aff0009b334fffff866668ffb
+055b45398bfb0a08fb17db42e51e13f360f8830a0ecafb70b3f73eb0f83377e09ce1
+d78f7712addde6bdaad6d4a4dcdd13f3e0f7b45315f7a70a13fbe041f96d15f8680a
+13f7e0f7428f15f87e0af74bfc8915f7ce0a0ecafb70b3f73eb0f83377c19ce5d3a2
+b98bba12adddf740d683b7b0a482a1cfdd13f9a8f7b45315f7a70a89f94e15f88b0a
+13f948f88c0a13fd18cdd01513fb18f86e0a13fd18a1860513fb18f86f0a13fd18f8
+700a13fb18f8710af76ffcab1513f928f7ce0a0ecafb70b3f73eb0f83377c59ce1d7
+9eb98bba12adddf73dbd5cd6d4a485a1ccdd13f968f7b45315f7a70a13fd98cef993
+1513fb98f86e0a13fd98a1860513fb98f86f0a13fd98f8700a13fb98f8710a4c4a15
+f78c0af7abfc6a1513f928f7ce0a0ef7ec81b16fd0f8709cc9ad85d31298b792a478
+e7f837e672a5edd4d0a313a430f997f7c315f88d0a132c30fdd8f81c15f7040af874
+fcf3151375b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef7f381b16fd0
+f8719cc8ad82d7123bbde8a478e7f837e672a5f4d4d0a313a430f99df7c315f88d0a
+132c30fdeff81d15f8680af884fcf4151375b0f7b40a137630f7b50a1375b0f7b60a
+137470f7b70a0ef87f82b16ed0f86a9ccfad7fd312a2b7f75ca478e7f837e672a5b4
+d4d0a313a430fa29f7c415f88d0a132c30fe60f81515f7040af7056315f8690af8c4
+fcc5151375b0f7b40a137630f8840a1375b0f7b60a137470f7b70a0ef87981b16fd0
+f86a9ccfad7bd71251bdf796a478e7f837e672a5bfd4d0a313a430fa23f7c315f88d
+0a132c30fe5ff81615f8850a133430619379b08ba208132c30f8750af56315f8690a
+f8bffcc5151375b0f7b40a137630f8860a1375b0f7b60a137470f7b70a0ef86a81b1
+6fd0f86c9ccdad81d312a8b7f71da478e7f837e672a5d9d4d0a313a430fa15f7c315
+f88d0a132c30fe46f81815f7040af73d9115f8870a132530f8880af84dfcf5151375
+b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef87981b16fd0f86c9ccdad
+7dd7125bbdf768a478e7f837e672a5e3d4d0a313a430fa23f7c315f88d0a132c30fe
+55f81815f8680af7428f15f86d0af84dfcf3151375b0f7b40a137630f7b50a1375b0
+f7b60a137470f7b70a0ef85f81b16fd0f7fb9ce5d39cad6fb98bba12d7b7c0a17fa4
+78e7f837e672a5e8d4d0a313b106fa09f7c315f88d0afe0bf7a715f7040a133586cd
+d015133386f86e0a133586a18605133386f86f0a133586f8700a133386f8710af86a
+fcc315137936f7b40a137946f7b50a137936f7b60a13790ef7b70a0ef87281b16fd0
+f8009ce1d797ad70b98bba129bbdf70ca18da478e7f837e672a5e0d4d0a313b186fa
+1cf7c315f88d0a133586fdcff7ed15133386f86e0a133586a18605133386f86f0a13
+3586f8700a133386f8710a4c4a15f78c0af8b7fc83151379b6f7b40a1379c6f7b50a
+1379b6f7b60a13798ef7b70a0e6e81c84eadf811adc9c4e57712addf7ba6f76ca613
+3bf715f91c15f60af7acfc5d15f86a0a137df86b0a13bdf7c30a4be4157b6205137d
+f7c40a0e6e81c84eadf811addabd12addf1338f7f7f89a15f40af7aafbdb15f7c10a
+1378f7c20a13b8f7c30a4be4157b62051378f7c40a0e6efb70b3f73ec84eadf811ad
+12addfddd6d4a4139ef75c5315f7a70a47f96015f88a0af774fc7615f7c10a13bef7
+c20a13def7c30a4be4157b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addf
+ddd6d4a4139ef75c5315f7a70af730f77e15f7c10a13bef7c20a13def7c30a4be415
+7b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addfddd6d4a4139ef75c5315
+f7a70aa8f96915f7af0af713fc7f15f7c10a13bef7c20a13def7c30a4be4157b6205
+13bef7c40a0e6e81c84eadf811adf704b98bba12addff77aa11336f7c1f8e915132e
+f86e0a1336a18605132ef86f0a1336f8700a132ef8710af700fc2a15f7c10a1366f7
+c20a13a6f7c30a4be4157b62051366f7c40a0e6efb70b3f73ec84eadf811adf704b9
+8bba12addfddd6d4a4139380f75c5315f7a70a139b80bbf91415139780f86e0a139b
+80a18605139780f86f0a139b80f8700a139780f8710af700fc2a15f7c10a13b380f7
+c20a13d380f7c30a4be4157b620513b380f7c40a0eef89acf766b5f80b77c1bf01f7
+71a7f76ca703f881f9b915f50afb7afc9e154a0afbb1fb60154b0a0eef89acf766b5
+f80b77cebd01f85ef95515f40aa8fc3a154a0afbb1fb60154b0a0eef89acf766b5f8
+0b7701def96315f88a0af748fc48154a0afbb1fb60154b0a0eef89acf766b5f80b77
+01f738f96815f7af0aeefc4d154a0afbb1fb60154b0a0ef7c881b16dacf766b5f80b
+7712f972d4d0a313bcf972f7c315f88d0afca95a154a0afbb1fb6015f88e0a137cf8
+8f0a0efc32daf92015f7040a0efb9c81b101f715d403f715f7c315f88d0a0efc31f8
+6d9ce5d301eab703daf92015f7040a0efb42f8d9b98bba12f7d7a113a0f7a8f90715
+1360f86e0a13a0a186051360f86f0a13a0f8700a1360f8710a0efb77f8a4eabdb98b
+ba12c1e9d6e970a113d4f787f9631513b4f86e0a13d4a1860513b4f86f0a13d4f870
+0a13b4f8710afb51fb2415950a1398f73d16d80a0e48fb82b3f76576f81fa771bf12
+eadad3a4ebda13ceed4115f7a70ae4f97715f88a0a49fbd415f7c50a13eef7c60a13
+def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4ebda13ceed4115f7a70aa2f8
+3715f7c50a13eef7c60a13def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4eb
+da13ceed4115f7a70af747f97a15f7af0afb30fbd715f7c50a13eef7c60a13def7c7
+0a0e48fb6d76f78d76f81fa771bff702b98bba12eadaf755da58a113ca80f7f0f8e7
+1513c680f86e0a13ca80a1860513c680f86f0a13ca80f8700a13c680f8710afb42fb
+8115f7c50a13e300f7c60a13d300f7c70a0e48fb82b3f76576f81fa771bff702b98b
+ba12eadad3a4ebda58a113c300ed4115f7a70a13cb40f759f9241513c740f86e0a13
+cb40a1860513c740f86f0a13cb40f8700a13c740f8710afb42fb8115f7c50a13e380
+f7c60a13d380f7c70a0eea89ac6cb2f7b0b1f788b36cac12f776e0f74aacb2ac9bae
+13278085f95e15f8890af82cfbf51530f74806133780f7b10a13af80540a13678055
+0a13a780f7560a137780c60a0ed989ac6cb2f7b0b1f788b36cac12f765e0f74aacb2
+ac9bae132780c7f96815f7b00af7d9fbff1530f74806133780f7b10a13af80540a13
+6780550a13a780f7560a137780c60a0ef78389acf7b6b5f78fac01f766e0f7eae003
+80f96315f88a0af971fce915f7b20a0ef77a89acf7b6b5f78fac01f75de0f7eae003
+b6f96a15f7af0af932fcf015f7b20a0ef7d381b16dacf7b6b5f78fac12f5e0f7eae0
+f713d4d0a313bff97df7c315f88d0afb51fb6615f8900a137f8b387a86458885858b
+769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918b
+a08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002f
+e6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908b
+de080efb95f86c9ce5d301edb703f757f8f715f8690afb05b315f7040a0efb95f869
+9ce5d301edb703f78ff92215f86c0afb3d8515f7040a0efba7f8269ce5d3a2b97276
+b9ba12f749b7c0a113e6f77bf91e1513de638b76ba548b628b766a7e5408a1860596
+a9999ba08b0813e6f8700a13cef8710a494615f7040a0efbce80c2f81777e5c4e577
+017fa6d0dacfa6039af91c15f7950ad0fbda15f77b0a0efbce80c2f81777f700bd01
+dfda03f77cf89b15f40ad7fb5915f77b0a0efbce80c2f81777f713ea1289e983da8f
+e913f489f8dd15d80af73d16950afb13f76215f88a0a13ecb7fc6915f77b0a0efbce
+80c2f81777f707ea8c761286e986da8ce913d2f751f9a415f7b00a13eafb56fb6715
+d80af73d16950a13c63bfb8f15f77b0a0efbce80c2f81777f720b98bba12dfdacca1
+13ecf749f8e91513dcf86e0a13eca1860513dcf86f0a13ecf8700a13dcf8710a2afb
+a715f77b0a0efbce80c2f81777f709eabdb98bba1283e989da89e970a113f080f749
+f9631513e880f86e0a13f080a1860513e880f86f0a13f080f8700a13e880f8710a13
+e400fb51fb2415d80a13e100f73d16d80a13e2003efb9115f7cf0a13e100f7d00a0e
+fbb789acf8dbacb8bf019ca7cde0cca703f7b5f9b915f50a2efd3f15590a0efbbe89
+acf8dbacc8bd01f5e003f791f95815f40af736fcde15590a0efb5c89acf8dbac01f7
+65e0037ef96415f88a0af7c7fcea15590a0efb6589acf8dbac01f75be003c4f96915
+f7af0af777fcef15590a0efb98f86c9ce1d701a8bd03f757f8f715f8690a21b315f7
+8c0a0efb9cf86b9ce1d701a7bd03f79af92215f86d0afb428715f78c0a0efb83f885
+9ce1d79eb98bba12f70abdf70ca113ccf746f93815f8680a13eccacc1513dcf86e0a
+13eca1860513dcf86f0a13ecf8700a13dcf8710a0e2281b2f7f8a7a877dac4e57712
+e7da53a6f76ca69fb413fb80f722f91c15f60a13fd80a8fffeb94ccc15f77f0a0e22
+81b2f7f8a7a877ecbd01e7daf77eb403f804f89b15f40aa6ffff3a4ccc15f77f0a0e
+2281b2f7f8a7a877eaea12e7da5ce9d6e99db413f7f710f8c81513fb71a076a51e13
+f7a5a0a0a51f13fba576a1711e717675711ff73d16950afb13f76215f88a0a90fffe
+3f4ccc15f77f0a0e2281b2f7f8a7a877f3ea8c7612e7da5be9d6e99eb413e980f7d1
+f9a415f7b00a13f380fb56fb6715d80af73d16950a13e580fb0dffff044ccc15f77f
+0a0e45fb6d76f778acf80eb1e19ce5d301d9daf714b7d2e103f7a1f95415f7040afb
+0cfe2315f7cc0af7e3f83f15f7cd0a0e45fb6d76f778acf80eb1d29ce1d701d9dac7
+bdf719e103f7a9f94515f78c0afb14fe1415f7cc0af7e3f83f15f7cd0a0e2281b2f7
+f8a7a877f714b98bba12e7daf753a1a0b413f7f7cff8e81513eff86e0a13f7a18605
+13eff86f0a13f7f8700a13eff8710afb24fffeed4ccc15f77f0a0e2281b2f7f8a7a8
+77e6eabdb98bba12e7da5ae9d6e970a1a4b413f860f7cbf9541513f460f86e0a13f8
+60a1860513f460f86f0a13f860f8700a13f460f8710a13f120fb51fb2415d80a13f0
+a0f73d16d80a13f220fb0cffff114ccc15f77f0a0e7789acf8dbacb8bf01f736a7c9
+e0d0a703f846f9b915f50a2afd3f156f0a0e7789acf8dbacbfbd01f790e003f824f9
+4f15f40af735fcd5156f0a0ef70389acf8dbac01f811e0037cf96015f88a0af875fc
+e615f7b30a0ee989acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0e8d
+89acf78fad73a8f7739cc4ad86d7126cbdf73be0f775e8139780a8f96715f8680af7
+86fb3d1513db80f7450a13bb80f7460a36f75e15f7bf0a13db80a184a388ae8b08f7
+4ac2f70be0c664f6fb4d1fffffd9b3348bffffc54ccc84638b0813b780ffffdb4ccd
+8bffffcbb3338c638c85858b769185d1889c868b38080efb70f8a4ea927612bde9d6
+e91370e7f9a115f8890a61fb621513b0950af73d16950a0efb77f8a4ea8c7612bde9
+d6e91370f788f9a615f7b00afb56fb671513b0950af73d16950a0efbf8f8bcf74501
+c0f71403d4f96815f88a0a0ecafb70b3f73eb0f8337701adddf745ced7a4dcdd03f7
+b45315f7a70a2ff95815f88a0af80bfc7015f7ce0a0ecafb70b3f73eb0f8337701ad
+ddf740d6d4a4dcdd03f7b45315f7a70af7aff77c15f7ce0a0ecafb70b3f73eb0f833
+7712adddf745ce55d6d4a4cadd13f7f7c65315f7a70a9bf96b157e8b808587800857
+fb230513fb8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90
+8b9f759a778b08f78dfc8315f7ce0a0eca81b0f83377f701b98bba12adddf745ced5
+a1e1dd13eff817f8d51513dff86e0a13efa1860513dff86f0a13eff8700a13dff871
+0af781fc1815f7ce0a0ecafb70b3f73eb0f83377f701b98bba12adddf740d6d4a4dc
+dd13e780f7b45315f7a70a13f780b9f9001513ef80f86e0a13f780a1860513ef80f8
+6f0a13f780f8700a13ef80f8710af781fc1815f7ce0a0ef74081aff8e8af01f4ebf8
+49eb037ff96315f88a0af82f2a15640af7e3fbb915650a0ef681aff8e8af01b0ebf8
+49eb03bdf96915f7af0af7ad2415640af7e3fbb915650a0ef7438bd0f8bfad12f70e
+a478e7f837e672a513c075f96315f8890af8c1fcee1513d8f7b40a13e0f7b50a13d8
+f7b60a13c4f7b70a0ef70c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b0
+0af839fcf41513d8f7b40a13e0f7b50a13d8f7b60a13c4f7b70a0ef7b781b16fd0f8
+bfad12b7a478e7f837e672a5ccd4d0a313a180f962f7c315f88d0afbd7fb6b15136d
+80f7b40a137180f8920a136d80f7b60a136380f7b70a0efc20f861f74b01b2f71003
+f70df91815f7af0a0efc3fe4f91815f78c0a0e2b0ef8280e3e0ef7350efb9b0efbee
+0efc410efb310efc0c0efc6a0efccd0e0efb95f773c701b3f79603f7a3f773152a0a
+0efb95f773c701b3f79603f7a3f773152a0a0efb31f7b3bb01f80ef7b3159898a097
+948891801ffbe0067f7e7a7b829185941f0e5cf782bc01cdf78215f8280698989f97
+948893801ffc28067f7d777f838e82961f0ef727f782bc01bcf78215f9040698989f
+97948893801ffd04067f7d777f838e82961f0ef7dbf782bc01bcf78215f9c2069898
+9f97948893801ffdc2067f7d777f838e82961f0efbd1c7b2cab203f75dfb6015faba
+64feba074c16faba64feba070efb01fb2eb7c9b701f876fb0215fc715ff87106f72a
+04fc715ff871060efbdbf88fe8f703a301d4b203f71ff88f15f8930a0efbdbf86aa3
+f703e801f730b203f715f94e15290a0efbdbfb19a3f703e801f730b203f715ea1529
+0a0efbdbf86aa4f702e801ff00484ccdb203ff008a4ccdf94e15f8940a0efb70f890
+e8f703a301bbb2f70ab203f7a3f89015f8930afb3116f8930a0efb70f86aa3f703e8
+01f718b2f70ab203f4f94e15290af73116290a0efb70fb1aa3f703e801f718b2f70a
+b203f4e915290af73116290a0efb72f86aa4f702e801ff00314cccb2ff00750001b2
+03ff010f4cccf94e15ffffd8000171644f1f8b45ff003bffff5bc780ff0006ccceff
+0005e666ff0001999aff00093334fffffc9998ff0009e6665798ffffde0001b88ba0
+8ba2ff0010ffff919e8d9d8ea5ff000980008bff001f800008a775a06c1effff6400
+0116f8950a0e84f81beff76e7601f7c09d03f7c9f94d1571786e6c1f8b40974da359
+64a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b8b
+fb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a26d
+1f498b537d6070a3bc97c98bd708ab77a7731e0e848beef7b8eff7627712f79ce456
+9c13e8f8acf84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77a77371
+786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc298b4a5
+8b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc298b6a6
+0813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27ecc8b08
+a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37ecd8b08
+a9a3a0a71f0efb88f708f77801c9f77803c9f77a154cbe58cacabebecaca58be4c4c
+58584c1e0efb70dff7bc01d4f79c03d4df15f79cf728fb9cf728050efc0b81f501c4
+f503c4b615210a0efb3f81f501c4f5eef503f79ab615210afb6116210a0ef72e81f5
+01c4f5f733f5f732f503c4b615210af79d16210af79c16210a0efc0bf769f501c4f5
+03c4f79e15210a0efc6a0ef7d07fa8f764aabaaaf72ab09eaa01c4c1f719acf0c2f7
+18acc3bef71da903f9fcf73815f8960afb0ffb2715f8970afbd0cd15230a549a1524
+0a7df83b15250afb91fb0f15260a0ef8f27fa8f764aabaaaf72ab09eaa01c4c1f719
+acf0c2f718acc3bef71da9b7bef71da9031c046ef73815d55b9d644053373f4daf5d
+c1dfb7f704cb1efb0ffb2715707aa5b3cbbad9b89da67c5c57672d521ffb1ff72715
+f8960afb0ffb2715f8970afbd0cd15230a549a15240a7df83b15250afb91fb0f1526
+0a0efbeef86ff74b01d4f71003f72ff92615f7af0a0efb6af86ff74b01d4f79403f7
+b3f92615f7af0afb1816f7af0a0e35f86ff74b01f833f92615f7af0afb1616f7af0a
+fb1616f7af0a0efbf3f874f74501c2f71403d6f92015f88a0a0efb79f874f74501b9
+f78a03cdf92015f88a0af70b16f88a0a0e2cf874f74501f7e7f92015f88a0afb1f16
+f88a0afb1116f88a0a0efb7cf730f76b15f8980a0efb7cf763f76b15f8990a0e765d
+f5f704f5f0f5019af5ecf5e8f503f76e9215210af75bf76d15210afc268c15210af7
+5df76315210affff706666a415f748ffff113333ffff4e199afb80ff0018999affff
+ed6666ff00ac999af779ff00c08000ffff008000ff00189998ff0012999affff3a19
+9aff01068000f75cff01096668ffffe76666ff00128000ffff3d6668fffefdb334ff
+ff514cccff00e7cccd050efb0f83f5f8c47701e6f5d9f503f7dcf92815200a56fcfb
+15210afb17f8f915200a56fcfb15210a0efb2981f5f81676f7597712b9cfbef549a7
+e7d613f6f706f8ae158bff00109998ff00146666ff0011199cff001d999aff000a19
+98ff00008000ffffbc199cff000fb333ffffdab332ff0009cccdffffa86666923e91
+308d778b858d84978b958b8e938c97ff0000999aff0008199aff0000e666ff001780
+00ff00033333ff0027333208ff0002cccdff00084cceff0003b333ff00086666ff00
+04cccdff0008800094999f9aa29abaaabfb68bd38bff003ee668ffffce3334ff002d
+e664ffffb0e666ff000b6668fffff73332ff001dccccffffe9b33499768b788b72ff
+fff31998fffff7cccdffffdd4cd008ffffe4333385ffffe7666681ffffee999affff
+f299986d7576738b68086ba4849b9f9f96a01e8b978890878f08879089908b990813
+fabefc8315430aff006de666f8a815ff001e3334ffffecccccff0013e666ffffde80
+008bffffdfb3348b617e6c636afffff5999afffff78000fffff74cccfffff78000ff
+fff8999afffff7999aff0001199aff0009b332ff00011999ff000a199aff00014ccd
+ff000a999aff00098000ff00518000ff000ee666ff002cb334ff00018000ff003bcc
+cc080efb40f918b701f818f94415fbf45ff7f4060e94ff0056199aff00394cccff01
+26b334ff00394ccc01ff0055199aff0035e666ff0070199aff0035e666ff006a199a
+ff0035e66603ff01a9999aff0052b33315ffffe3ccccffffe06666ffffd46666ffff
+f919998bffffdb33338bfffff33334ff000a4ccefffff4e666ff000e80008bff0020
+80008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ffffc866
+66ff00214cce8b978bff000cccccff000966668bff000f66678bff00223333ffffd6
+199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f6666ff
+0000cccdff001033348b08ff001d1998ff001de668ff0005e666ff0019b333ff0008
+8000fffffa1998ff00113333ffffe8e6681fffffe3cccc8bfffff23334ffffe4999a
+ffffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff002233338bff0017
+199908ff00148000fffff33334ff00096667fffff09998fffff0999afffff5b334ff
+fff09999791e8bffffe9cccdff00104cccffffe8e667ff00036666ffffdeb333ffff
+da6668ff000f6666fffff09998ff001c3333ffffe2e6688b08ffffeb8000fffff84c
+ccfffff24ccd7fffffe64ccdff001b4cccfffffa199aff0029e6681fff000ccccc8b
+97ffffff3333ff000b199afffffd666608fbda16ffffe3ccceffffe06666ffffd466
+67fffff919998bffffdb33338bfffff33334ff000a4ccdfffff4e666ff000e80008b
+ff002080008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ff
+ffc86666ff00214ccd8b978bff000ccccdff000966668bff000f66678bff00223333
+ffffd6199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f
+6667ff0000cccdff001033338b08ff001d199aff001de666ff0005e666ff0019b333
+ff00088000fffffa199aff00113333ffffe8e6661fffffe3cccd8bfffff23333ffff
+e4999affffd8b333ffffeee666ff0001b333ff0019b334ff000e999aff002233338b
+ff0017199908ff00148000fffff33333ff00096667fffff0999afffff09999fffff5
+b334fffff09999791e8bffffe9cccdff00104cccffffe8e667ff00036667ffffdeb3
+33ffffda6666ff000f6666fffff09999ff001c3333ffffe2e6678b08ffffeb8000ff
+fff84ccdfffff24ccd7fffffe64ccdff001b4ccdfffffa199aff0029e6661fff000c
+cccd8b97ffffff3333ff000b199afffffd666608f73af7f415ffffe3ccccffffe066
+66ffffd46667fffff9199a8bffffdb33328bfffff33334ff000a4ccdfffff4e666ff
+000e80008bff002080008b91ff00326666ff00156666ff00268000ff00156666ffff
+deb33491ffffc86666ff00214cce8b978bff000cccccff000966668bff000f66668b
+ff00223334ffffd6199aff0008999affffe2e666ff001f999a08ff000f6666ff0002
+9998ff000f6666ff0000ccceff001033348b08ff001d199aff001de666ff0005e666
+ff0019b334ff00088000fffffa199aff00113332ffffe8e6661fffffe3cccc8bffff
+f23334ffffe4999affffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff
+002233328bff0017199c08ff00148000fffff33334ff00096664fffff09998fffff0
+999afffff5b334fffff0999c791e8bffffe9ccccff00104cccffffe8e666ff000366
+66ffffdeb332ffffda6667ff000f6668fffff0999aff001c3332ffffe2e6668b08ff
+ffeb8000fffff84ccdfffff24cce7fffffe64cccff001b4ccdfffffa199aff0029e6
+661fff000ccccd8b97ffffff3332ff000b199afffffd6668080efcbbf8ed7701f774
+f8ed15fc5efd23b48bf85ff923050ef76c81f5f8a6ac12b9cfa9f546ace7deaccfa9
+f546ace7de13e6c0f87ef8d015490a13e740a9fca515430afc2af8a515f89a0a13ee
+40f89b0a13f640a9fca515430a0edb83f5f8a4ac12b9cfa9f546ace7dee4f513e6f8
+a7f92815200a56fcfb15210afc00f8a315f89a0a13eef89b0a13f6a9fca515430a0e
+b581f5f8a4ac12e6f5becfa9f546ace7de13f2f724f92615200a56fcfb15210af775
+f8a315f89a0a13f6f89b0a13faa9fca515430a0efb31f7d8e0a77701f796b103cef7
+e515b283b786ba8bbc8bbe91be9854fb5468fba68b8a088e85ae8c058b8ba5f7a0d6
+f7918e958f9a8b9708948891867671728b1e68856687658b4f8b4d94519e080e92fb
+7cacf875f80168ac12f3bddcf7cafbcabd13b4f77ff8d215fd7307707a8074747992
+aa1ef97307aa9d92a21ea29c80701f62d21513d4468b4e8b5c8d0813b489898b7805
+868f888f1ea58905b3889a828b6d08fd73078b6d7c82638808718905878788861f8b
+788d8905ba8dc88bd08bd08bc68bbc89088d8d8b9e0590888e871e708d05618e7f96
+8ba708f8520713d89489938a9a8b08f726ddccf71ada51e2fb181f408b5089708b08
+0efc0cfb19a4f702e8f763f512ff002a4cccb2ffffe5b334f513f0ff006c4ccdea15
+f8950a13e8ffffcab333f79815430a0efbb4f7fba3f7ada301aac6f713c603f72ef9
+2c15f89c0a88fbc515f89d0a0efc25f801a8f761a0d7c512d3c559bb13f0f0f98615
+f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbb4f801a8d1adf7527701
+f748bf03f748ff027db33415f89e0affff3a4ccc04f89f0a0efbb4f7fba6f739a6d1
+ae01f75fc403f75ff86215f8a00a0efbb4f7fba3f729a3f7059e01b8c0f70bc403f7
+6df85b15f8a10ac49015f8a20a0efbb4f919b112b6a0839d9fad13b0f703f91915f8
+a30a13d0f8a40a0efbb4f7fba5f7a9a512babd68bcecba6ac513d8f733f92a15f8a5
+0aeb6215f8a60a13e4f8a70a242915f8a80a0efbb4f7fb9ef705a4f728a301b3c3f7
+0bc303ebf8e415f8a90a538615f8aa0a0efbb4f87cb201f71bb203f742f8a315f664
+202064f621b2f5f5b2070efbb4f87cb201aef78203f7a5f8a315fb8264f782060efb
+b4f86eadb2ad01b2f77a03f7a1f8d915fb7a69f77a066404fb7a69f77a060efc22af
+c003aff89c15f8ab0a0efc22f700c103f736f89e15f8ac0a0efb7df801a8f75da17d
+ad12d1bbf715bb13b8f713f8c6159ea2ad9da08b08aa9a7a581f2c078b6289886989
+87838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a
+8f918c9a8693638d838e8bb408f407ce73a45d1e678bffffd74ccdffffec4cccffff
+e7b333ffffdcb33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b
+0813d8f8360a0efbb4fb09a3f7ada301aac6f713c603f72ef75015f89c0a88fbc515
+f89d0a0efbb4fb03a801f729c103f71bf72515978d826b1ffb16078b586c88638986
+838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d76
+8e8bbe08f78307fffffab33390fffff8999afffffde666fffffab333fffffd199a5f
+70717f5c7a8b7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b08
+0efbb4fb04abf79aa912bac0efc97ba313f0d4f70315958b998e8e9dff00014ccdff
+0007e666fffffd3333ff000ccccdff00038000ff00084ccd90979794aa8b9d8bab84
+8b5c8b5573745e675b6665618b5b08f7620613e8ff00088000ff001ab333ff000633
+34ff001f999aff00044cccff0023b333fffffab334ff0003b33383ff0001999affff
+f54cccffffffb333806f7d646c8b08380694ac9aa6b5a90813f09f0a0efbb4fb0aa9
+f71ca6f6a912b9bde5c66ac913f8f74ef72815ad0a13f4a3be87524b5f7e6e1f6b8b
+fffff7b333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b333ffff
+f38000fffff7199afffff2b333ffffe08000ff0046999afffff4b333ff001a3333db
+c6b9d01f8bc55ca66a8e0813f8a20a0efbb4fb03a8d1ad01f748bf03f748ff00a1b3
+3315ffff744ccd2907ff00068000ff00118000ff00344ccdff0049b333ff00273333
+ff0030800008ffff3a4ccd048b627e88638986838c7c8f85a98cff000cb3338bff00
+234ccd8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd07
+91ad538b8bf74805ff0008e666fffff3999aff0001199afffff9b3331efffffcb333
+8bfffff6b333ffffff8000fffffee667ffffff4ccdfffff0b333fffff6e666fffff4
+9999fffff4cccd82fffff58000ffffdce66762ffffd43333ffffcbcccdffffdecccc
+ffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9b333fffffd
+666783fffffae667ffffebcccdff001a99998b08ff0076cccd060efbb4fb09a6f739
+a6d1ae01f75fc403f75f7d15f8a00a0efbb4fb09a3f729a3f7059e01b1c0f70bc403
+f7667615f8a10ac49015f8a20a0efbb4f73db001f703f73d15ef06715e53fb1068fb
+0308ad06aaf4c4f70ec0e608fb42067b868c8f1f79068a718463866f08a0880597bb
+9291a78b080efbb4fb09a5f7a9a512b4bd68bcecba6ac513d8f72df74e15f8a50aeb
+6215f8a60a13e4f8a70a242915f8a80a0efbb4fb099ef705a4f728a301acc3f70bc3
+03e4f70815f8a90a538615f8aa0a0efbb496b201f71ab203f741bd15f664202164f5
+21b2f5f6b2070efbb496b201aef78203f7a5bd15fb8264f782060efbb488adb1ae01
+b2f77a03f7a1f315fb7a68f77a066504fb7a69f77a060efc22afc003afba15f8ab0a
+0efc22f700c103f736ba15f8ac0a0efbb4fb0aabf772a401aabff701c103f754a515
+980ab6fb24159e8b9e979495ff0000999a93fffffcb332ff00054ccdfffff8b334ff
+0002b33388888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080efbaafb09aef704aad6a401adc1f710c4
+03f7383915728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cccff
+00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012cccdffffef6666ff00
+1be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b334fffff866
+68ff00064cccfffff74ccc8b0878756d7a658b08bbf72315f82c0a0efbb4fb09a4f7
+78a401a2c6f720c603f72cf73515f8ad0ad1fb3615f8370a0efbb4fb04a1f775a101
+9ef7a603ff00e83333e815a7ff0023e666ff0004b332ff00044ccdff001c199aff00
+01cccd8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333
+fffff7cccdfffff2cccdffffed3333088b8b8a8a63530867c4057f9f8b92a88c8f8f
+8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3333ff00
+011999fffffd999aff001a999affffda333308ff003833333b058888ffffcecccd51
+8b8bffffe19999ffffdc8000fffffdb334fffffb4ccdffffe3e666fffffe33338787
+8b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89b
+a09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f
+8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b333ff00254ccd
+08ffffcbcccdd5050efbb4fb09a4d6aaf704ae01adc4f710c103f71ff71215a48b9f
+7f9a7597788f728b728b898b868a8708fb488d05ff0000b333ffffb88000ff00134c
+cdffffc48000e08bff0055b3338bff002c4ccdd28bd58bff002b6666fffff5ccccff
+0027cccdffffe46667ff00184ccdffffed3333ff0010999affffe4199aff0008e666
+ffffdd80008b5d8b5d747168ff0003b333fffff64ccdff00079999fffff9b333ff00
+08b3348b089ea1a99cb18b085bfb2315f82d0a0efbb4fb04a2f766add1a001c2bcf7
+03bc03f3f75015f8ae0a0efba9fb04a8f768a5d1a001c3bb03c36615f8af0a0efc46
+fb05a1f7d0a001c2bc03c26715f7970a0efb02fb03a8f75da17dad12cdbbf705bbf7
+05bb141c13bcf70fe115f8b00a13dcf8360a0efb91fb03a8f75da17dad12d1bbf715
+bb13b8f713e115f8b10a13d8f8360a0efbb6fb82a8f1a5f75ca17aaa12c3bbf716c1
+13dcf3fb3715f8b20a13ecf8380af71304ed0713dcf8390a0efbeafb0aa4f779a412
+a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a0a0efc19fb0ab3f760
+a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a0efb16f7b8bcf784b0
+12a4e7f700d2d9a57ea613f4f7937a15d78bc5c6a0d20872920579ffffcde666ffff
+de999affffe48000ffffda6666fffff6800008ff00a1199a07acb8cc971e918b938a
+9080917c99849d8b089f98a29ea2779d6c1f638b6951766c08898b8de37b8b05858b
+84888187707e80866281089071058f8c8f8b8f8b089b98836d1fffff30cccd0743a2
+67ff005be6678bff00a04ccd8bf725c1f712e98bbc8bcd61923208a68d0513f87df7
+3971898b8205808889861e7c8b6aa4588b08fb1b20fb14fb571ffb4de4fb13f7211e
+0efb168aaaf76db4bdb4d476f718b470a812f707e0f778a713fbf7d6f80f15fb0ef7
+2a06a69b92a21ed506d08ba9539b3f08a78f76f73dfb578b388b0513f77dfb0d8d8b
+1f13fb8a898b780513f7868f888f1eaa06b89580661ffb2a2f62e7592f62e7fb3f07
+6a7b7e611e7006868787861f8b778c89058be78db4b1ee898b1e8d8d8b9f0590878f
+871e6f06607c9ba91ff73ff70eb4fb0ebdf70e070efb167ec094b4f72db4bdb4f750
+b7019dd1c0d803f72fe515fffffd66668b88ffffffcccdfffffcb334ffffffb333ff
+00019999ff0001199aff0001b333ff00013333ff0001999aff00013333ff0020199a
+ff0018b333ff00188000ff002a3333ff0007ccccff0053199a08ff007e999ab4ffff
+83cccd06ff00003334ff0006199a8bff000666668bff0006800008aaf710b4fb10ae
+07e2b4cdb91ea18b9a80987f978094839a8b08a39c9aa4ae5296741f568b5e786867
+ffffcc8000ffffcd8000ffffe8999affffcd6666fffffd3333ffffb4199a08ffff9e
+b33362ec592a62ff0060199a0688ffffc5999afffff43333ffffc23333ffffd8b333
+ffffd63333fffffa199afffff98000fffffb8000fffffb999afffffb4cccfffffc19
+99ffffe33334fffff19999ffffe7e666ffffeb999a8bffffe7999a087e987f999ea3
+97a696949cae1ea68ba47ea57ca97aab7ab28bd58bb9b09ebf08849105726850846d
+8b708b7a937997759a6f9a4d8b080ef7e380c156a679a6f785abd4b07ca7f739a474
+ab12efd7f744d5b0d056c0e1a17bc5f72fcb6aa21311c0f744f8d5159c919f919c8b
+08c6ca73fb0c255b5f381f768b7f8e7f8d083ffb80151338e6717f7b641e71068789
+88871f8b798c89058be48dadb0de898b1e8c8d8b9d058f888e871e7106667b98a81f
+f7660798859686a48bff006580008bff00368000ff0030b334ff0019b334ff00384c
+cc08ff00384cccfbb3061390c647a36fb71eff002099988bff001e4cd0ff000d3333
+ff001ce664ff00184ccd08ff00013334ffffe5800005958d948b908b918b918b9189
+081354c6a385a887ad8bc18be9a38bea8bd849a83ead57a173978bb38bc1b79cb08b
+081354c59f8bc37fa82608a28c7ff706057996599a5a8b3f8b4d5a8b4a8b44b37ad2
+6d081350ead869a4708b628b5a5975668b688b6e9c819572a382b989a108758aff00
+034cccffffb5b333051399e0ffffec6668fffff33332ffffef6664fffffb199affff
+ebe6688b087184a7c61ff786e50795978e931f9e078f898e871e1319d021f7260656
+798b78058bffffc0b334fffff2e666ffffdbb3325dfffff83334ff00044cce9dff00
+01ccccff0011e6668bff001080008bc26cf2fb328b758b698a5a8808133ae65d8953
+887e8b087907888b87911e8f8ba38c928b089ca486661f0efb1781aaf790b3f2b3f7
+03b301ff00df3333ff005a999903f826f8f315fbcb8b468b058b76967f948408bd06
+ff003b999a8bff004619998aff00033333fb0208ffff35199a068b76967f948408ff
+00b5333306fffff46666ffffa13334ffffbd6666fffff7cccc338b08838b708b058b
+76967f9484089206a58aff0024e666fffff4e666ff000e199affffe9199a08f6fb33
+05aa5db460c78b9a8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87
+935e8b73ae70b508fb12f75705ff0026199aff000c6666ff004b3332ff001e8000ff
+00108000ff0050199a08ff006c333406829280978ba008ffffaae66606fffffe8000
+ff002d8000ffffeee666ff00191998ffffddb334ff0020666888ff0002ccccfffffc
+e666ff0002b334fffffce667ff0002800008ff00a7333306829280978ba0080e322c
+b9b2ba84a6f7efaee9b3cfa9a67712b2e1f770da139f80a95a155df85cb907fb21f7
+4115f7050a13df80f7060a80fffef84ccc157c0a13bf80f7070a13df807e0a0efb16
+80aef764afc1aff76eae01c7e1f79ead039af7d615b8068a808b828b808b848b828c
+8408648b76718b81c98b059bfb2cdb30f7128bc18bb59ba98d9bb496bb94bf81907f
+8d7f8c7544754e418b3d8b53d17ff71e08f7458b9eaffb5a8b8bae8b9ef76c8b9eaf
+fb7d8b0596f70cb8eddd8bd88baa459c45968a958c969087c285be80bb688d5f9954
+8bfb0b8b342b78fb3108708b7771050ef86788a6f7edadf729a901f884d8f7f6dc03
+fa33f79c15fb0050fb18fb041e708b799473a384847977828908b6f74d05aaf718c4
+a3b98b08c3b4723b1ffbe0fc5b15a1b49ce99cd3a37ea385b18b08f742ecf739f4db
+53c32f1f608b507d5c656f73686c6efb110863fb460571fb037455786c08927b05fb
+b5f8c515ff0013999aff00643334ff0011199aff00403332ff00143332ff002d999a
+08ff0005199a06f724c8fb01fb08fb1e58fb34fb62498a909c1f8b918b8e8c8f08ff
+0046e666ff0200666815ffffb83334fffff5b330ffffbd666672ffffb58000ffffd4
+e66808957705caff001ce666c5ff001ab332c9ff000be668ffffe48000ffffcf999a
+ffffe94ccdffffbeccccffffee3333ffffa5199a0854fba805856e7d7f698b087006
+878b88878a8708887af7088d05ab8b9e89de8b08f75bf707f730f743f722fb00f702
+fb1f1ffffff780008bfffff7999affffffccccfffff7b332ffffffb334ff0013e668
+ff00224cccff00176666ff00168000ff001ee666ff0017b334088698055a75ffffd6
+199a6fffffdcccccffffcf6668080efb168aa6f785abd5b5bcb5dca474ab12ead7f7
+43d413f7f85cf88e15ffffd5199a06fffff14cccff00356668ffffd1ccceff003d99
+98ffff85cccc8b768b6a8a5a880813fb5d895d887e8b087907888c87911e8f8b978c
+938b089ca486661f6349078b75967e958408b85a49068b75967e958408b8fbc50671
+7e7b641e7d06878888871f8b798c89058bd98dadb0de898b1e8d8d8b9d058f868e87
+1e7306657c98a81ff7660797859786a48bff006566668bc1ff00314cccff0019199a
+ff0038b33408ff004c800006819280988ba1086106ff00038000ff00108000ff0001
+8000ff001066668bff000f199a088cc507819280988ba108fbb116d20713f79c919f
+919b8bbb8bff00314cccfffff09998ff0011ccceffffbc666808ffff57e6666115ff
+00ae666606ff0000666685ff00003334fffff9999a8bfffff966668bfffff56666ff
+ffff8000818afffff6999a08ffff528000066104ff00a44ccc06ffffedb334ffffcc
+e666ffffd6e666ffffe9199affffc4199a8b768b7e8e808d080ef7027facf783a4f7
+13abf784a401addaf7b6dcf703d603f92ff96a15f8b30ad3f8ca15f8b40a772415f8
+b50af7c6fc6515c78baea8aaab0871a105716e64767c8b087a6d98d5eabec4b5919a
+87771f8b78888c8b7f0880927fa795a993a3ac74b0433b2f39fb0162b64acc1e0ef7
+027da3f78ea2f715abf784a412addaf7bfae89d2bbd770b013f880f92ff96a15f8b3
+0ad3f8ca15f8b40a772415f8b50af7c8fc671513fb00d1c4acc71f8baf5ea956a579
+93839a8b9f08a29ba2aa1e13fa80a6a26b5f1fb0888ed2056fa272936a8b498b536d
+8b538b6f9b79b7720813fd00a67bab768b6d0868737d726072adbc1e68898f2a05a9
+8bac83ad8b080ebe81b4f8e2b001b0e6dfadf7d4ac03f768ff005c333315ffffc74c
+cdff003b1999ffffe4b333ff005d66668bff00594ccd8bff00564cccff0016e666ff
+0042ccceff00248000ff002ce66693ff0009ccccff00083334ff0009199cff000866
+66ff0008199808f725fccd15ec8be4b9cfe486948491808b443d476c2e8bffffd519
+9a8bffffdb666697ffffe18000ff0014800008ff020b800007ff0021b334ff001719
+98ff0022ccccff000ae668ff002080008bf71e8bc239a5359787ff0009b3348eff00
+0b4ccc9186bf83bb82c258905eb3fb0f8b368b446c505508ffffbd999affffc33334
+ffffd86666ffffa319988bffff97b3348bfb35f4fb38f76b8b080ef76581b6f80ca9
+f721a901b7adf717ad95e5f812a803f8b48115ec8bcdb8c7e387ff0007999a82ff00
+0599997fff0001cccd49386375368b08fb1138f714f71df768f709cdda1ff7008bbf
+4aa52e9689ff000a1998ff00008000ff0007e668ff00058000fffffd6668ff0030e6
+66fffffbe664ff00314ccefffff2b334ff0033cccc6e916dabfb1e8bfb338bfb11fb
+198bfb558bffffb1cccdff001c199affffb2b333ff0037e666ffffc7800008ff002f
+ccccffffcfb333ff00498000ffffde4ccdff0055b3348b08fbe3f89a159b0afb398c
+159c0a0ef7347ea7f786a6f70facf783a401c2dbf704d6ebddf71adb03f92ff96a15
+f8b30a95f83f15f8b60af7e5fbc015c4a3e8cbb1935d636278fb07487b6b97db1e39
+8615689f3be8e5e8e1f2ba73c832fb0a4a233d1e0ef7347cb2f764bef710acf783a4
+12c2dbf704d6edda65dc13fcf92ff96a15f8b30a95f83f15f8b60af806fb641513fd
+909f8fa08b968b97899f698b6a8b6c786262089f79059a9d9794938b8d8b8e888b84
+8b868981887f086efb030513fe898086708b7e8b6a997cb98bad8baf9cb0b5867c89
+828b898b7f8e76ac8bac8baa9fb4b408779c057d7a7e81848b888b888e8b928b918d
+948e9708bdf7660577885f857f8b816277358b8b77365065788b808b89938b9d8b95
+8d9c8f9a080ef76389acf78bb1e8a9f70db36cac75a912b7adf717adf729e0f74cac
+b0aa13f3e0f8cef7aa15e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca9
+8591768b85858854887e368b082ef76606a39795a31ecc06f58ba463a146978b968d
+938efffffaccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999cff
+00024cccfffffeccccff0000b334fffffd99988bffffee8000fffffc9998fffffb33
+34ffffff6668ffffe74ccc8b08ffff00b3340613ebe08b8b3c8c598c85858b769185
+d1889c868b3808fbf8078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba08591458e7a908bde08f73007fba0f77a15697368626173adae1e13e7e0af
+a2afb6b89f646a1efb398c159c0a0e7a46c2a976f886c001e9c7d0c4f755d303f8b5
+f73d158bf70d36ddfb01ad6066596e596f6baa75b78bb88bbaa7aeb0a5aa74ac73b3
+8bc38bb3b9a7b7087e8f057c716e7c6e8b648b67a170a84d4a245e8b228bfb07f715
+588b2c8b707875777d084abd2c409680aaa3cc5805bfbeecb88bde8bba6bb66eada5
+9cb1a3ab8bec8bc8fb128b358b396848465d70a565a7648b08548b615e6a66089583
+059c9fa29aa58bba8bb666a76bacdcf74bb18bf750080ef73189acf7b6b5f78fac01
+f5ff00504ccdff0041b333a8f7eae003f958f70e15f825078bde9c90d18e91918ba0
+85915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb34fbeaf73407
+8bde9c90d18e91918ba085915a8a488a588b598b398c598c85858b769185d1889c86
+8b3808fc25078b387a86458885858b769185bc8cdb8cbe8bbd8bd08abd8a91918ba0
+8591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185bc8ca98cbe8b
+bd8ba88abd8a91918ba08591458e7a908bde08fffdf64ccc3515ff00000001ff0015
+6666ff0000b333ff01ae999affffffcccdf70c08ff004033338b8cfcd0054f8cff00
+364ccd894f8c080e537fc0f7f4bcf75ca9a57712f7d1db80d913f4b4168f7fd4a3c3
+f78405d9eec7b5ae8ba08b9d7d8b6c8b798673836c0861fb350513f8f8b70a13f493
+a891aa8ba08bc76d9d658b578b4a7430fb0008e4f817758b0575827c8777877a8865
+857b8b08877205888d898e1eac8f05989281781f8b81897e877b080e537fc0f7f4bc
+f75ca9a57712f7d1db80d913f4ff00f48000ff022c999815ff00208000ff008d6668
+758b0575827c8777877a8865857b8b08877205888d898e1eac8f05989281781f8b81
+897e877b08fffff7199affffd9ccccffff90e666ffffe833348b63ff00656666ff00
+15b334ffff8c999afffe0e4ccc8f7fd4a3c3f78405d9eec7b5ae8ba08b9d7d8b6c8b
+798673836c0861fb350513f8f8b70a13f493a891aa8ba08bc76d9d658b578b4a7430
+fb0008ff002ecccdff00cb8000ff00803333ff001b80008bb305ffffd88000fffff7
+8000ffffd88000fffff79998ffffd88000fffff78000080e577fd3a9caf73a9ff786
+d801bdadf789c8bccd03bdf876158bfb18eb77d880088c9f0550967f8e6ca86fa581
+a98ba88bd2c9b6d88bcc8be165b079084d41057b7a87778b758b739270987508d6fb
+06058f85966f8b708b483d7a778b7b8b7d91799308fb0ecd057e927e917f8b7f8b7c
+86767f083e5c997b05a4969991998b988b98879f7f08f71d400599839888958b998b
+9a949892f73aee8dc18bb08bcafb07f7178bbd8b99919e9a9c08dee90532bd2ea55a
+8bfb148b363e8b28080efb9281bff8a8af01e4daeab603f73cf7ea15f70a07e5ff00
+143333a3ff001ecccdff00183333ff0013cccd73691e8b526657585308acfbc91564
+8ab7d71f8bf722979605d7d1bdca8bda08b1fffff93334b8ffffb7ccccffffbf199a
+ffffb6e66665fb331efb1f0772756f737277089875ccc18bfb050520a46dc91eb48b
+bfa6b2c5fffffc199aff0008199afffffa3332ff00066666fffff6b334ff00038000
+6a616a827c8b080ef82989ac6cb2f8cab36cac12f1dbff0040e666ff001e199af829
+bc132ef93ef89415fbe207788b80841e838b809d6eb008fbebf84e05139efb998d05
+85858b769185b688a968917108fc35078b327a85458485858b76918508134ebc8cde
+8cb78b08139eb68bdb8abd8a91918ba0859145927a8f8be608f7cb078bb3fffffe80
+00ff0012b334ff00068000ff00034ccc8f8dff000fb334ffffe9ccccff00114cccff
+ffea333408f7f2fc4c05ff000b8000fffff16666ff000b8000fffff4999a9b8b0899
+94979e1ff877078be49c91d19291918ba0859108132efb048905131e608b798c598c
+85858b76918508d1849c878b3008136efffe4ce666fc6d15ffffbf199af8cacc06ff
+ffffcccdffffc71998ffffff8000fffe978002ff00009999ffff6b6666080ef7de81
+abb0b7d6a4f778a4f736a777ab128fd7d4b8f7d6b8d4d74cc6f720c613f7d0f75af7
+3c15f7a307a48c978f1e8e8b9083937e08f79afc4d059877a2859b8b08999d999e1f
+f87407f092a3b21e998b9176927e9479977ea18b089d9a97a5ab63a658337c60fb1b
+1ffbc2076e897f851e848b7f9e6ebc0813fbd0fb9bf84dfb188b898a0513f7d07807
+13fbd0869388901e9006ac8ba861917108fc2707268473641e7d8b85a08498829d7f
+98758b08797c7f716bb370be1fe39ab6f71b1ff93cfb011598999f94938792811ffb
+65067f7e7a7e849184941ff700f8211513f3b0326340444bba47dcff00531998ff00
+2ee668d1ccff0048199a66ff0046e6662f1fd1fb3615f8b80a0ec88aa8f794b1f7ba
+a57ba712dcadbfdcf77adc13def872f87215f8b90afb7afb5615cd8bd18db09cb59d
+ebc08bf48bbd7ab467ad5bb844904c8b0813eefb098bfb2f847686087807878e8890
+1eb5ff000166688bfffdb29998538b05868888861f8b788d89058bf72f8daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c99a91ffb195f15f8ba0a0ef709fb65c4b1b7
+f948af01b0ebd1adf7e1eb03f92ef7dd15660afc63ffff22cccd15ffffd5999aff00
+333334ffffe46666d58be98bff00708000ff001c6666ff004c9998ff0029999aff00
+2ee66808adfffe17199a15f89b07a8ff0013b334ff00208000ff00093334ff002080
+008b08f718f6fb02fb5efb473522fb061fffffd080008bffffd18000ff0010999a64
+ff001f8000080ef705acd9f86bd657c012a2abf716b7d8e013bca2f86f158bfb1af7
+368b8b5d8b807e838785089f7cabba0590928f938b958b9e80a16b9b0835b6057397
+76ab8bab08a19fdbeaf702a528fb411e8bfb058639543a0844bd05878e888c868b81
+8b8280797b084b559d7d0599959a92988b9c8b96839a8008ad6f05a096d9c7b5c1bc
+cb8dc18bec8bc387d47fda08c3af0513dc96929790958b9a8b9c849c7a08d348fb41
+fb0c95798f8b05a48b9781966cb9fb1762fb23f25708edda7ea00581877f847e8b4e
+8bc0f753fb03f72208f737f707fb25f712058591848d868b7f8b8084838408fb0936
+0573b087a160a10813bc71987091708b08fb073f41fb011f0ec885a675a8f794b1f7
+baa57ba712dcadbfdcf77adc132ff872f87215f8b90adc8c158bbd7ab467ad5bb844
+904c8b081377fb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998
+538b05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e71
+06637c99a91ff76807cf8ba885908408f2fb540513afa45cb865c68b9a8b9d8d958f
+0887a005668b6aac74b70820f76105b799e9c48bf4081367fc50fc5715f8ba0a0ef7
+2ff7afa37da0f7d29f12a1c94fa977a9f711d05ba813b2f779f91015728c909b478b
+568b49668b508b4cd46eb57ba880a27d8b598b607173688b688b6ab586b30813a88a
+936d880513a68f66917f8b5408a98c058c908b8e8a8d8d8a8c8a8e8a95859b82b58b
+d08bbebf8bc58bcc54a3599d0813b176925b9d8bba8baba2a5a88bb78ba06a945e08
+a88f05f81ffb68158c898b888b8908136080897f861e7d0613a0828389861f8b8305
+13609185058bb98d9fa0b7898b1e91910513a09307136090858d7e1e7d06838b8999
+899b0874f79e8b9105968e90911e9a0690978c901f8b938891398b056935652f6834
+08fb04f79d328b86858b83058b889089978a089b06918e867f1f8b898b8805853583
+2c85368a7d887b848b087d0613a07f8589861f8b830513609085058ba88d9ea0b289
+8b1e8e910513a09307136090818d841e7c06868a94991f91078fcb90cb90ccb22cc7
+fb238b8b8f8494888f8b958b8f8f8e918b8bccf736acdc080ef75cf7b9a0f7cca501
+f71fcf03f763f7e915f79c079c8e8f961eb606a18b9185975e08a29078e67283058c
+888c838c8b08fb7d068c8b8c938c8e0873937831a1850596b89291a08b08be06958f
+877b1ffb9d07798285751e7d06888989881f8b7e8c8a058bc88ca09fca8a8b1e8c8c
+8b98058e898d881e7d067484949a1ff8678e158407808a7f861e7d06828389861f8b
+839185058bb98d9fa0b7898b1e91918b930590848d7f1e7d06838b8999899b0874f7
+9e8b9105968e90911e9a0690978c901f8b938891398b056935652f683408fb04f79d
+328b86858b83058b889089978a089b06918e867f1f8b898b88058535832c8536897d
+897b848b087d067f8589861f8b839085058ba78d9ea1b2898b1e8e918b930590818d
+841e7c06868994991f910791cb8fcb8fccb32cc7fb238b8b8f8494888f8b958b8f8f
+8d9108eef787050ee48bb2f8cbb3977712cda9f8d3a91398f77db1153d8bf826f8cb
+dc8b05b0fcf1158fc396c496bf086d900577436e503e8b08fb7d067b828f941f8b90
+8e91919408f80af89b059fa78f958b968b92888e788b0813d87e8b788a6c8808fc4c
+0613b85c8b8e94668e87558143836208a9860513d8a0d09dbed68b08f77306928e89
+851f8b868884868408fc19fcb105868388838b8408819086991e0ef18bd0f8bfad12
+b7a478e7f837e672a513d8f85df70915f7b40a13e0f8920a13d8f7b60a13c4f7b70a
+0ef184adf8bfd012b7a572e6f837e778a413d8f784f8aa15fb036637248bfb0c08fb
+28f1fb19f75bf759f3f729f7181e8bf71434eafb00b00887bbf28b0513c4c08b9e8e
+9056ff00084cccfffffc6668ff00086668ffffff4cccff00084cccff00044ccc8bb4
+fffffdb334ff0027ccccfffffb4cccff0026333408fb6906808585821f93fb140513
+d8e74db24e8bfb0408fb1445fb0afb1ffb163bf5f7211e8bf700b3d4e7c00893f715
+059486907f1efb640613e08769885e8b63ff00074ccc87ff0008b3348b958f91c4a0
+84bc8b08ec060e3981a8f74ea7f746a801a9def7b0de03f705f77d15ef079ec8c6dd
+dbc852791e2407fbb06f15f80306f729fb09e1fb00fb102626fb10fb11f027f7101e
+d48bccaeb4bf08699605685e5873518b08394ec8a21f0efb06a07612acbd63ba77f7
+04f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb138bef
+f7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350f77ef7
+bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce13e0f7
+dff7b715f8210a13d0f8220a0efbc989adf7f7a9e9f70c01f0f70203f767ff01414c
+cc15bd8eff0048b3348b1eff00026666fffffb6666ff0000999afffffd999a1effff
+e080008145fffff58000ffffba8000fffff68000088d6db48705998a93808b5908fb
+88078b6f7bfffff633336cfffffacccd087f8905fffffc199affffff4ccdfffffce6
+66fffffdb3338b85088b748d89058bdc8dafb2dc898b1e8d8d8ba2058b91fffffbe6
+66ff0002199afffffc199aff0000e66608818d05ffffe26666ff0005e666ffffee99
+9aff0009199a8ba708fb08f882156aa670acaca6a6acac70a66a6a70706a1e0ef864
+81d3f7c0d801f72aacf5acf708adf4adf713acf5ac03f9cff7fe15b197587c1f8b56
+6f58776d72a56ab78bc1089c97c6b71efcdf16aa9d656f1f8b5064586f6b79ab76b7
+8bbe089e97c9b81ef7b416ac9b65701f8b506c54726874a971bc8bc0089f97c9b71e
+63fb8d15706f5f745e8b7a8b578f5db8a9afaedb8be108c479d048487742521e8b41
+9c4aa25e60694e74418a089441059d8bec8fe1dac73cc884af8bab8bc192c7d2ab65
+c163d18bb48bc197c4dbb95dd162e4890894d5054f8d4a9a51b7a2b7a2d08bd508af
+80e3433d802b6a1e8b3fa746aa5e726f606d528b578b61a171a3a5b4acdb8be108ad
+7fe542487640531e8b3fa245a65a080ecc36a9f71ca6f6a9d1a8f7957712f71bc1f7
+6bbde5c66ac913fe00f8a8f8ed15aa0a13ff006dfc3015f8bb0a13fe80f8bc0a13ff
+00f8bd0afc3bf81a15a60a0ecc34a9f71ca6f6a9d4abf79177a8a912bac0efc97ba3
+f714bde5c66ac913fe40f8a8f8ed15aa0afc895515f8be0a13ff40ab0a13fec09e0a
+13ff40ac0a13fe60f865fbfc15f8bb0a13fe50f8bc0a13fe60f8bd0a0ecc35a6f739
+a6d1aed9a8f7947701f722c1f7fac403f8a8f8ed15aa0a77fcd415f8a00afc3ef8bf
+15a60a0ecc36a6f739a6d1aed8abf79177a8a912bbc0efc97ba3f7b0c413fe40f8a8
+f8ed15aa0a78fcd315f8a00afc75f89d15f8be0a13ff40ab0a13fec09e0a13ff40ac
+0a0ecc36a6f739a6d1aed1a9f71ca6ee77a7a912b8bde5c66ac9f7abc413ff20f8a8
+f8ed15aa0a13ffa0fc197915ad0a13ff60a10a13ffa0a20af803fcc115f8a00a0ecc
+36a6f739a6d1aed9a8d1adf72b7701f73fbff7e1c403f8a8f8ed15aa0afc27fffffc
+b33415f89e0affff3a4ccc04f89f0af815fc2215f8a00a0ecc35a3f729a3f7059ed4
+a8f7947701f727c1f751c0f70bc403f8a8f8ed15aa0a7ffcdb15f8a10ac49015f8a2
+0afc7af8c115a60a0ecc36a3f729a3f7059ecea6f739a6d2779eae12f75ec4f716c0
+f70bc413fdc0f8a8f8ed15aa0afc08fb4715f8bf0a13fbc097dcf71b8b0513fdc08b
+8c0513fbc0f8c00af7fbfc2715f8a10ac49015f8a20a0ecc34a5f7a9a5d4a8f79577
+12f722c1f75bbd68bcecba6ac513f800f8a8f8ed15aa0a48fc0d1513fb00f8a50aeb
+6215f8a60a13fc80f8a70a242915f8a80afc08f88215a60a0ecc36a5f7a9a5cba9f7
+1ca6ef77a6a912bbbde5c66ac9f70abd68bcecba6ac513fe00f8a8f8ed15aa0a13ff
+00fc167815ad0a13fe80a10a13ff00a20af7d2fbf81513fe30f8a50aeb6215f8a60a
+13fe48f8a70a242915f8a80a0ecc35a5f7a9a5cfa6f739a6d2779eae12f75bc4f719
+bd68bcecba6ac513fa00f8a8f8ed15aa0afc0bfb4715f8bf0a13f60097dcf71b8b05
+13fa008b8c0513f600f8c00af7c2fb591513f2c0f8a50aeb6215f8a60a13f320f8a7
+0a242915f8a80a0ecc36a5f7a9a5f7f9779bb112b7a0839d9fadf7a2bd68bcecba6a
+c513e220f8a8f8ed15aa0a13d600fc628f15f8a30a13da00f8a40af823fc0f1513c2
+c0f8a50aeb6215f8a60a13c320f8a70a242915f8a80a0efb87f7d0a8f7947701f71f
+c103f8a8f8ed15aa0afc557615a60a0efbc089aaf8b3a901f702d703f74ed915f851
+078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e8989
+8b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084087e890586
+8a88888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d
+05649179938bac080e3d8baaf8aeaa01f700d7f72ad703f74cd915f8c10af77616f8
+51078ba89995b69208988e05908c8e8c8b91088b9f898d058b3e89661efb77066242
+8d8b1f89898b77058b858f8a8f8a08988805b2859e838b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f05
+8b90878e878c087e8d0563927a928bac080ef72d8baaf8aeaa01f702d7f72ad7f72b
+d703f74ed915f85107a8999cb61eaf06b49b7d6b1ffc51076d7d7a601e6706627b99
+ac1ff77616f85107a89a9cb61eae06b59b7d6b1ffc51076d7c7a601e6806617b99ac
+1ff77716f851078ba89a95b59208988e05908c8e8c8b91088b9f898d058b3e89651e
+fc580662418d8b1f89898b77058b858f8a908a08978805b5839b858b6b08fc51078b
+6d7b816184087e8905868a88888b86088b778d89058bd88db11ef85906b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0562927b928bac080ef778937696aaf8b0aa12f7
+02d71370f7f5f8ec15fb610662418d8b1f89898b77058b858f8a908a08978805b483
+9c858b6b08fc51078b6d7d815f84087e8905868a88888b86088b778d89058bd88db1
+b4d5898b1e8c8d8b9f058b90888e868c087e8d0562927b928bac08f85107a8999cb6
+1eaa069c8ba288917808f748fcab0513b0907b9382968b978b8f93919c08f74bf88c
+0598ad9099b390089d8e05908c918c8b90088b9f888e058b49897a7c288d8b1e8988
+8b7705878c88901eab8805a8899c867e6708fb1efc1a898bfb14f81a0582a88997ae
+8d08b38e05908e8f901f8b9d898e058b25896b1e0e8d9376f8dda901f70bf8ec1574
+3c8d8b1f89898b76058b878c89908a08a08805af8790879d5608f73afc8405907b94
+82968b978b9393919c08f74af88a0599b29196b190089d8e058f928d901f8ba0898d
+058b4089837b218d8b1e89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f778937696aaf8b3a912f912d713b0f70bf8ec15743c8d8b1f89898b76058b878c89
+908a08a08805af8790879d5608f73afc8405907b9482968b978b9393919c08f74af8
+8a0599b2909bb28b08a106b49c7d6b1ffc51078b6d7c8160840813707e8905868a88
+888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d0564
+9179938bac08f851078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d89
+661efb42067b218d8b1f89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f858937698aaf8aeaa12f910d7f72ad71378f95cd915f8c10afce5f89e15743c8d8b
+1f89898b76058b878c89908a08a08805af8790879d5608f73afc840513b8907b9482
+968b978b9393919c08f74af88a0599b2919bb18b089f06b19f7d6b1ffc510713788b
+6d7c816084087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0563927a928bac08f851078ba89995b69208988e
+05908c8e8c8b91088b9f898d058b3e89661efc22067b218d8b1f89898b7605878d88
+901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797ae8d08b38e0591
+8f8f901f8b9e898d058bfb0589741e0ef955937696aaf8b3a812f928d7f72bd7f72a
+d8137cf9aea815617b99ac1ff85507a89a9db61eae06b59b7c6b1ffc55076d7c7a60
+1ef74a6c158bf28db0b4d6898b1e8d8d8b9f0590868f861e8006617b99ac1ff85507
+a89a9db61e9706908f8d911f8b9e898d058b3c8966622c8d8b8b56896562448d8b8b
+3f896562448d8b1e7a8b5089838b7b8b308d838b088a888b7805878c88901eab06a6
+8ba4817e6708fb29fc1afb16f81a0583a8869caf8b08b306918f8f901f8b9c898e05
+7b8bfb0589848b7c8b3a8d848b088a888b7805878c88901ea0069c8ba285917808f7
+47fcab0513bc907b9482968b978b9393919c08f74ef8940597ad8f99af8b08ba06b4
+9b7c6b1ffc5507137c6d7d7a601e7f06868787861f8b778d89058bd88db1b4cf898b
+8bda8db1b4b8898b1eb8aa156706627b99ac1ff85507a8999db61eaf06b49b7c6b1f
+fc55076d7d7a601e0ef7a489aaf8b0aa01f702d7f7c7e303f7f1f8ec15fb5d066241
+8d8b1f89898b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef73d069ae6898b1f8d8d8ba105
+8d8a90861e798d05668e939b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+0ffb4405a26b8e88668808788905878a87881f8b758d89058bf7048d901e978bc98a
+a48a088d8d8ba1058d8990861e628e6aa672b008fb25f75905829885938b958b9391
+94929608f70bf73505a4ada1a3c48c928c8c8e8b8e088ba0888d058b34898780398d
+8b1e89898b76058b868e8a8e8a08a88905a689877e797308fb09fb32058684868688
+8b888b8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b
+8bfb0089871ffb37fc9e15f85107a8999cb61ea0069b89a889b25408f719fb4f0592
+8090848b818b868882858408fb14fb450577706c6a5785088106647999ac1f0eb989
+aaf8b3a901f7a3e303a6f8d7158b87908a95899b89a886b25408f719fb4f05928090
+848b818b868882858408fb14fb450576706a65548808868788871f8b758c89058bd5
+8d8f9ae6898b1e8d8d8ba1058d8b90861e798d05668e929b9ba108f70ff73e059192
+91928e8b8e8b9087908408f710fb4405a26b8d88668808788905878a87881f8b758d
+89058bf7048d901e978bc98aa48a088d8d8ba1058d8990861e628e6aa672b008fb25
+f75905819886938b958b939194929608f70bf73505a4ada1a3c48c928c8c8e8b8e08
+8ba0888d058b34898780398d8b1e89898b76058b868e8a8e8a08a88905a689877e79
+7308fb09fb320586848686888b888b8790879108fb01f7330578a58396aa8d08aa8d
+058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050ef7a38baaf8aeaa01
+f7a3e3f7d5d703f8e7f8cd15a606b3849d848b6b08fc51076d7c7a601e8206648f6c
+a573ae08fb25f75905829885938b958b939194929608f70bf73505a4ada1a0c48c08
+fccc95158b87908a95899b89a886b25408f719fb4f05928090848b818b8688828584
+08fb14fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d
+8ba1058d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b908790
+8408f710fb4405a26b8d88668808788905878a87881f8b758d89058bf7048d901ef7
+5606b4d6898b1f8c8d8b9f058b90878e868c087e8d05649179938bac08f851078ba8
+9995b69208998e05908c8e8c8b91088b9f8a8d058b3c89661efb650680398d8b1f89
+898b76058b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b
+8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb00
+898780368d8b1f8788050ef8838baaf8aeaa01f7a3e3f7d3d7f72ad703f8e7f8cd15
+a406b2859e838b6b08fc51076d7c7a601e830665906ca473ae08fb25f75905829885
+938b958b939194929608f70bf73505a4ada1a0c48c08f733fc7f15f8c10afd6bf889
+158b87908a95899b89a886b25408f719fb4f05928090848b818b868882858408fb14
+fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba105
+8d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+10fb4405a26b8d88668808788905878a87881f8b758d89058be78da41ef83606b4d4
+898b1f8e8d8b9f058b90868e878c087e8d0563927a928bac08f851078ba89995b692
+08988e05908c8f8c8b91088b9f888d058b3e89661efc450680398d8b1f89898b7605
+8b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b87908791
+08fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb0089878036
+8d8b1f8788050e3089aa6eb4f8a7a912f705d7f7a3a313b8f705f89f15fc57078b68
+86876589086a8905878888861f13788b760513b88d890513788bda8db21ef7670613
+b8abd1898b1fa0f747738f0513785ffb1d5d887a8b08fb1306727f8faa1ff853078b
+a89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77
+058b858f8a908a08978805b3849d848b6b080e8481b6f8b3ad01ade5f812a803f7d9
+8115ec8bcdb8c7e387ff0007999a82ff000599997fff0001cccd49386375368b08fb
+1138f714f71df768f709cdda1ff7008bbf4aa52e9689ff000a1998ff00008000ff00
+07e668ff00058000fffffd6668ff0030e666fffffbe664ff00314ccefffff2b334ff
+0033cccc6e916dabfb1e8bfb338bfb11fb198bfb558bffffb1cccdff001c199affff
+b2b333ff0037e666ffffc7800008ff002fcccdffffcfb333ff00498000ffffde4ccd
+ff0055b3338b080ee789aff8a8af01eed7f807e603f743f8a115b19d8ee0f70df727
+52fb8ffb0062fb08fb60fb017a93af1e65f89e1562418d8b1f89898b77058b85908a
+908a08968805b3849d848b6b08fc51078b6d7c816084087f8905868a87888b86088b
+778d89058bd88db11eb18bf70c89b18b08f74bf70df706f73ff754fb2cf713fb491f
+558b5289538b080ef7a0957694aaf8b3a9121360f769f8ec15fb2d8d89898b750588
+8d86921ea88a05a78a96888b630865fc5605886685866b89086b8905878789851f8b
+768d89058bc68db1b0c6898b1e8d8d8ba0058e8990851e6c8d05688d86948eac08ad
+f821f76cfc690513a08e858f83918b928b918f8f9308f773f876b3fc2e058b6e8a80
+68890813606d8905868b88888a86088b768d89058bce8db5bbd6898b1e8d8d8ba005
+8b8d8890848c086d8d05708d7f8c87b2085ff857058bac9595a98d08a98e058e8b8f
+8c8c92088b9f898dfb1889fb73fc78888b050efbd689acf803acc6ef12e0ef33da13
+f0e0f8b215850a13e8e6fb7f15f77c0a0efb1f8ba8f807a8c8ef12dfef34d6f702ef
+34d613eaf7bbf7f815f8c20afb5a16fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffff
+e0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000c
+ccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e89
+8d058b4589671efb5a0667468d8b1f89898b78058b868efffffd800090ffffff8000
+089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813e4f74df74e15
+850a13f0fb5a16850a0ed18ba8f807a8c8ef12dfef34d6f702ef34d6f703ef33d613
+e280f881f7f815f8c20a13e880fc2016fbae078b6efffff53333fffff36666ffffdf
+cccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18d
+af1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efc200667468d8b1f89898b78058b868efffffd800090ffffff80
+00089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813ea00f75a16
+f8c20a13e100f74ef74e15850a13f000fc2116850a13e400f75a16850a0ef70a9476
+95a8f80ba8c6ef12e0ef33d61374ecf7f815fbae078b6efffff53333fffff36666ff
+ffdfcccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058b
+d18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0
+cccdff00034cccfffff53333ff000cb3348ba808f7ae07a7969baa1e9d06a887ff00
+14e666fffff9b334ff000e199affffdc4ccc0813b4f71cfbed05917c9185988b958b
+9291929c08f71ef7e7059bb2a295a88e91ff0000999a90ff000366668b90088b9d89
+8d058b62897066528d8b1e87898b77058b888efffffc4ccc90ffffffb334be88ff00
+086668fffff94cccffffee9998ffffd9b3340832fb6f7a607ab935f76e05fffff5e6
+66ff0017999afffffd8000ff0010b332ff001f999aff0003b334089c8d058eff0000
+666691ff0001199a8bff00068000088b9e878d058b4e89641efb460667468d8b1f89
+898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc8000ff00
+0a199afffff380008b6f0813387ff74e15850a0e299476f82eac01f7d9f822158f0a
+0ef707947695a8f809a8c8ef12f8a0ef33d61374f8acf7f815fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86
+088b788d89058bd18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efb2c0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb334be88ff00086666fffff94cccffffee999affffd9b3340832fb6f7a60
+7ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff001f999aff0003
+b334089c8d058eff0000666691ff0001199a8bff00068000088b9e878d058b4e8964
+69568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c8000fffffc8000
+ff00154ccdfffff76666ff000e3333ffffdc199a0813b4f71cfbed05917c9185988b
+958b9291929c08f71ef7e705ff000f8000ff0025b334ff00158000ff00084ccca78f
+089b06ac957b6f1f13387ff74e15850a0ef7ca947697a8f807a8c8ef12f89cef34d6
+f702ef34d61375f96ff7f815f8c20afc2db915f8c30a13b5f8c40a13758b6efffff5
+3334fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b
+86088b788d89058bd18daf1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086
+ff0000800008788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae
+078ba7ff000b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008f
+ff000280008b90088b9e898d058b4589671efbf80666528d8b1f87898b77058b888e
+fffffc4ccc90ffffffb334081338f75af72015850a1332f75a16850a0ef890947697
+a8f807a8c8ef12f89cef34d6f702ef34d6f703ef33d6137500f96ff7f815f8c20a13
+7140f75a16f8c20afcf3b915f8c30a13b440f8c40a1374408b6efffff53334fffff3
+6666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d
+89058bd18daf1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efcbe0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb33408133200f820f72015850a133800fb5a16850a133080f82116850a0e
+ee8ba8f807a8c8ef12e0ef33d6f77cd313ecf77ba8157a066c809ba81ff7ae07a796
+9baa1e9e06ad88ff0012e66678ff001c199a6208e2fb13058d888c898b888b888a89
+8a890837fb0005ffffd7199affffcb6666ffffe8e666fffffd999a748808f734f807
+159a8d058fff000080008fff000280008b90088b9d888e058b3a896d1efb3a066746
+8d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc
+8000ff000a199afffff380008b6f08fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef73206acbe898b1f8d8d8b9e058b9089ff00024ccd86ff0000b333087d8d056f8f
+ff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d89
+8f8608c53b05ff0016e6686dff000d4cccffffec6666ffffdfccccfffffa999a087f
+8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d89058bca8db4
+adc0898b1e8d8d8b9e058b9187ff0001199a81ff0000e666ffffe080008efffff04c
+ccff00023333ffffd43334ff003dcccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08
+dff605b0baff000f800094ff002480008e91ff0000800091ff000080008b92088b9e
+8a8d058b5a896b6c5c8d8b1e88888b78058b868efffffe66668effffff999a089b89
+05ff00216668fffffbccccfffff2e664ffffede668ffffefb334ffffeb4ccc084a30
+0587868989888b878b888e8891084ee505ffffedccccff001c199afffffa3334ff00
+098000acff000466660813f4fbc6f72215850a0e3089acf803ac01f74af7fa15900a
+0eec89a8f80ba8c6ef12f764d3f776ef33d613f4f757f824159a8d058fff00008000
+8fff000280008b90088b9d888e058b3a896d6d5a8d8b1e89888b78058b8792fffffd
+999a92ffffff6666ad88ff0012e66676ff001c199a6208e2fb13058d888c898b888b
+888a898a890837fb00056155ffffe8800088ffffe8800088fffff7199afffffee666
+fffffbe666fffffd199a8b85088b7a8d89058bb98da8acbe898b1e8d8d8b9e058b90
+fffffde666ff00024ccdfffffb199aff0000b333087d8d056f8fff000c999aff0014
+199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c53b05ff00
+16e6666dff000d4cceffffec6666ffffdfccccfffffa999a087f8905fffffb199aff
+ffff3333fffffde666fffffdcccd8b86088b788d89058bca8db41ef73b06afd0898b
+1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034ccc
+fffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff
+00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb
+3d066c5c8d8b1f88888b78058b868efffffe66668effffff999a089b8905ff002166
+66fffffbccccfffff2e666ffffede668ffffefb334ffffeb4ccc084a300587868989
+888b878b888e8891084ee505ffffedcccdff001c199afffffa3333ff00098000acff
+0004666608f7d75f15fbae076e807b6b1e7c066e8effffefcccc8effffd63334c608
+31f71305898e8a8e8b8d8b8d8c8d8d8e08dff605b0ba9a92b08e089e06ac957b6f1f
+13f87ff74e15850a0ef7a789a8f80ba8c6ef12f764d3f761ef34d6f702ef34d613f1
+f757f824159a8d058fff000080008fff000280008b90088b9d888e058b3a896d6d5a
+8d8b1e89888b78058b8792fffffd999a92ffffff6666ad88ff0012e66676ff001c19
+9a6208e2fb13058d888c898b888b888a898a890837fb00056155ffffe8800088ffff
+e8800088fffff7199afffffee666fffffbe666fffffd199a8b85088b7a8d89058bb9
+8da8acbe898b1e8d8d8b9e058b90fffffde666ff00024ccdfffffb199aff0000b333
+087d8d056f8fff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e
+8d8b8e8b8d898f8608c53b05ff0016e6666dff000d4cceffffec6666ffffdfccccff
+fffa999a087f8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d
+89058bca8db41ef7ed06afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efbef066c5c8d8b1f88888b78058b868efffffe6666
+8effffff999a089b8905ff00216666fffffbccccfffff2e666ffffede668ffffefb3
+34ffffeb4ccc084a300587868989888b878b888e8891084ee505ffffedcccdff001c
+199afffffa3333ff00098000acff000466660813f4f7c35f15fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a088706738effffef199aff0009b333ffffda
+e666ff00344ccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605ff00218000ff
+002a8000ff000f8000ff000a8000a98f089406ac957b6f1f13f5f75a16f8c20a13f8
+fb67f74e15850a13f2f75a16850a0efbdf89acf8f6a9a67701eada03eaf70e15890a
+0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a6
+7712b2e1f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0e
+f75789acf7f6a771bf12e9daf753daf753da141c13dcf73ef7fa15fffffeb333ff00
+1db33489affffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff000366
+66838b6f807182468289858d7b8d85c18696868b5108fb57078b397e86548785858b
+769185a98cb18cb38bb38bff001ecccd8aa98a91918ba08591ffffcd333390808f8b
+dd08f738078ba094ff000c4ccc93ff0008b3340813bcff0027999aff0026b334ff00
+258000ff00144cccff001ee6668b08b1a773481ffb42078b398386558786858b7690
+85a48cb08cb38bb38bac8aa48a90918ba08691598f82908bdd08f733078b998b998a
+97bbc0b898b28b08b1a175481ffb44078b398186578786858b769085a48cb08cb38b
+b38bae8aa78a90918ba08691548f82908bdd08f73207e47cd1331effffcccccc8bff
+ffc24cceffffed3334ffffcbe6665488fffffccccc858689ff0008999afffff68000
+b4ffffd98000ff00206666578b518bffffcbb333ffffdd999affffd64ccdffffd166
+6608fffffb6666fffffae666fffff9199afffff9199affffff800097080ef86989aa
+f8b3a901c2e2f7f3d7f7f5e203f912f8ee15f8c50aadfcd115288794ae1ff84b07b4
+949ed4f704f73351fb8dfb52fb055dfb1d1efb47b7156a8b8026fb1dfb05cef752f7
+82f727bbf70fd3947a601e0ed589adf8acad01eed7ddc7f766e2039b9f158b778d89
+05b48daa8bb98bce8b9289ec8b08f718f743c7f77bf742fb23f71ffb481f4f8b6889
+4f8b5d8b718c5d8c0889898b76058b878f898f8a08a68905b18895868b6908fc5b07
+8b6c7c826a89086e8905888886871ff733be158bff0027333392fffff7cccd05be9e
+dfc18bf7058bf70a6ea645bc83ff0005199affffee6666ff0006199affffee999a8e
+08ff0022cccc07acad8fb9f75fd0fb31fb25fb51fb095efb182f8093aa1eff003066
+6604ff0122b33407ff0009199afffff64cccff00089999fffff7b334ff00064ccdff
+fffae666ad6ca3678b528bffffbc4ccdffffd0b333ffffccb333ffffdd4ccdffffe7
+6666080ef86989aaf8b3a901c2e2f762c7e0d7e1c7f763e203f912f8ee15f8c50aad
+fcd115288794ae1f8bff0029cccd96fffff3333305be9edfc58bf7058bf70a4cc068
+a3fffff66668ff0005999affffecb330ff0006e666ffffece668ff00028000089507
+b4949ed4f704f73351fb8dfb52fb055dfb1d1e24ff0057999a15ff012f800007ff00
+0ab334fffff43332ff000a4cccfffff5b3349285ad6ca3658b528bffffb9b333ffff
+cde668ffffc84ccdffffdc1998ffffe8999a083ffffffe199915ffffd64ccd076a8b
+8026fb1dfb05cef752f782f727bbf70fd3947a601efffff5cccc07ffffed999affff
+fd4cceffffecccccfffff96666fffff6999afffffa800068734c568bfb0a8bfb05de
+51bf780895f7d115fffed1b3340768ff0017666659ff003799998bff00464ccd8bc4
+a2b1aeaaff0006ccccff0005ccccff0009e668ff0009ccceff000a4cccff000b6666
+080ea880b7f8afb201afabf83ce703f7a38015f76debf73bf735f748fb12f706fb40
+1ffb0b8b5b614f8788518158815508ab8605a6e6bcdff7188b08f710e737fb4bfb34
+51fb04fb2b1f2f8b47ac40dd7e8b83848782d32dda5aec8b080efb4281b7f807ad01
+a2ddf75fd8039deb15ad41c06bd18b08f719d8f701f714f7093ceafb0c2152525c67
+a686941fa38b9f988d9f91ad90b7cd8b08d4c03bfb08fb04584c311f598b59a76bb7
+fffff76666ffffff333386fffffc199afffffc999afffffab333080ef8abf783bf01
+f7a7b303f7a7f85415352a3a535a7a087407f7005ff700fb148b8a08b30664df62b9
+6aa608f9fabffdfa06abaabcc1a9d3080efb2efb6576f989b301f758bf03f829f8cb
+152ae153dc7abc0874065ffb00fb14fb008a8b086307dfb2b9b4a6ac08fdfabff9fa
+07aa6bc15ad36d080ef8abf783bf01f9c4b303f9ecdd15e1ecdcc3bc9c08a207fb00
+b7fb00f7148b8c086306b237b45dac7008fdfa57f9fa066b6c5a556d43080efb19fb
+6476f76cb301f762bf03bc7e15ec35c33a9c5a08a206b7f700f714f7008c8b08b307
+37645d62706a08f9fa57fdfa076cab55bc43a9080ef88bf783bf01fa13f7b715fd47
+06a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae
+76a771ca52b166987b08b3066bcf6abf66b008f9470666676a566b4808b306989bb1
+b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b808640695749a6fa06b95
+7b9d72a56a080efb18fb6a7601f762bf03f762f8f715fd47076ba5729d7b956aa06f
+9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4cab0b19b9808
+b307476b576a666608f94707af66c06ace6b08b3077b9866b152ca72a876ad7ab308
+7406816f786b6e656e6466645e63086407a295a79aaba09b95a49daca5080ef787ff
+023d8000ff001acccc01ff004f6666ff001c4ccc03ff01523334ff02584ccc15ffff
+7e9999fffff83334ffff9f3333ff0011ccccffffd14ccdff0016999c08ffffefb333
+ffffefb33005ff002d4ccdffff948002fffff1cccdffff59199affffff4cccffffff
+4ccc08ff001c4cccffffe3b33405ff001fcccce2ff00038000ff003d9998fffffbcc
+cdff002a666808ff02673334fffd98ccccff0024ccccff0024b333fffd98ccd0ff02
+67333405ff002c8000ffffff4cccff0048e666ff00039998ff0048199aff001db334
+080ef78aff023b4cccff001c4ccc01ff02dd8000ff001acccc03ff02f84cccff0154
+cccc15fffff83334ff00816668ff0011ccccff0060ccccff0016999cff002eb33408
+ffffefb330ff00104ccc05ffff948000ffffd2b334ffff59199cff000e3334ffffff
+4cccff0000b33008ffffe3b334ffffe3b33405e2ffffe03334ff003d9998fffffc80
+00ff002a6668ff0004333408fffd98ccccfffd98ccccff0024b333ffffdb3333ff02
+673334ff0267333405ffffff4cccffffd38000ff00039998ffffb7199aff001db334
+ffffb7e666080ef787ffffb9b333ff001acccd01ff02dc4cccff001c4ccc03ff01f5
+ccccffffb9b33315ff00816668ff0007ccccff0060ccccffffee3333ff002eb334ff
+ffe9666708ff00104cccff00104ccd05ffffd2b334ff006b7ffeff000e3334ff00a6
+e667ff0000b330ff0000b33308ffffe3b334ff001c4ccd05ffffe03334ffffa90001
+fffffc8000ffffc26666ff00043334ffffd5999a08fffd98ccccff02673334ffffdb
+3334ffffdb4cccff02673334fffd98cccc05ffffd38000ff0000b333ffffb71998ff
+fffc6666ffffb7e666ffffe24ccd080ef78affffba6666ff001c4ccd01ff0051b333
+ff001acccd03ff0051b333ff00bd333315ff0007ccccffff7e9998ffffee3333ffff
+9f3334ffffe96667ffffd14ccd08ff00104ccdffffefb33305ff006b8000ff002d4c
+cdff00a6e666fffff1cccdff0000b334ffffff4ccc08ff001c4cccff001c4ccd0534
+ff001fccccffffc26667ff00038000ffffd5999afffffbcccd08ff02673334ff0267
+3334ffffdb4cccff0024ccccfffd98ccd0fffd98cccc05ff0000b333ff002c8000ff
+fffc6666ff0048e666ffffe24ccdff0048199a080ef8abf783bff7ce9501f7a7f854
+15352a3a535a7a087407f7005ff700fb148b8a08b30664df62b96aa608ff01656668
+8bffff859998fc00b48bff007a6668f800ff01d799988b8bbffffe39cccc8bff0061
+3334f7b5628bffff9eccccfbb5fffe8933348b05abaabcc1a9d3080ef8abf783bff7
+ce9501f9ecdd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac70
+08fffec8cccc8bff00613334f7b5628bffff9eccccfbb5fffdfa33348b8b57ff01f4
+66688bffff859998fc00b48bff007a6668f800ff014899988b056b6c5a556d43080e
+f8abf783bf01f6bd03f6f85415fc02bdf731f998076a6c5b556c4308b206e0ecddc2
+bc9c08a207fb00b7fb01f7168b8b086306b237b55dac7008fd98f731060efb18fb68
+bd01f762bf03f762f8f715fd0c0765ad5ead41ab086407ff00584ccdffffb2999aff
+00364ccdffffb53333ff0015e666ffffce333308ffff618000067f7e787c83918394
+1ff818069899a295938794811fffff3a333306ff0030b332ff0067199aff0076199a
+ff0062e6668b8c08b307476b576a666608f90c07af66c06acf6b08b3078b8bfb15f7
+005ef7010874067a5a54392a36086407cfa9c6b8a9a4080ef88bf783bf01fa13f7b7
+15fffedacccc8bff00613334f7b5628bffff9eccccfbb5fffe9b33348b05a5ab9da4
+959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae76a771ca52
+b166987b08b3066bcf6abf66b008ff015366688bffff859998fc00b48bff007a6668
+f800ff013699988b0566676a566b4808b306989bb1b0cac4a8a4ada0b39c08a2076f
+956b9e65a864a864b063b808640695749a6fa06b957b9d72a56a080ef880f821bff7
+327701c6f82115f8c60a0ef880f783bf01c8f7b715f8c70a0ef880f821bff7327701
+fa97f82115f8c80a0ef880f783bf01fa99f7b715f8c90a0ef880f783bff5bff73277
+01fa99f7b715f8c90afe5ef72215f8c60a0ef880f783bff5bff7327701fa97f82115
+f8c80a8d2115f8c70a0ef873f730bcf70fbc01ff02208000f73015ff01d88000bcff
+fe37e66806ff00296664f70fff019eb3348b8bbcfffe71cccc8bff00443334f75f62
+8bffffbbccccfb5ffffed333348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff00e180008bffffa18000fbadb48b05ff0045
+e668f7de15fffeec19980679a276a0729da29da09f9da208ff013f4ccc060ef91cf7
+30bcf70fbc01f786f7dc15ff01944ccc8bffffd6999cfb0ffffe9719988b0579a276
+a0729da29da09f9da208ff01bd4ccc16ff013eb334069d74a077a279727976767974
+08fffe99e66806ffffef99985a15ff01548000067e757f737f7108b306c7d2e1d6d1
+a408a20748a34cbd35ec08650696719773987508fffef4cccc8bff00443334f75f62
+8bffffbbccccfb5ffffe7e33348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff013680008bffffa18000fbadb48b050ef873
+f72dbcf70fbc01ff0252b334f80a15ff00454cccf762628bffffbab334fb62fffdfa
+4ccc8b8b5aff01f54ccc8bffffd6999afb0ffffe34199a8b8b5aff01bb80008bffff
+a28000fbaab48bff005d8000f7aaff00ff80008b057e757f73807108b106e1eccabd
+cea308a20745a435d64fd208630697719773987508ffff3b4ccc5a15ff00e6b33406
+9d74a076a47974797677797408fffeede668060ef873f730bcf70fbc01f7a9f80d15
+98a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37ea108
+f977bcfd990679a276a0729da29da09f9da208f99bbc060efb19f70fbcf70fbc03f7
+ecf8a215a17ea37fa58008b1072ae159ca73ce08740672454035444f086307a597a3
+97a19808fd77bcf99907a29da0a09da49d749f76a27908fd9bbc070ef873f72dbcf7
+0fbc01f99cf72d157e757f73807108b106e1eccabdcea308a20745a435d64fd20863
+0697719773987508fd775af999069d74a076a47974797677797408fd9b5a060efb19
+fb677601f70cbcf70fbc03f70c7d15759873977196086507ec35bd4ca34808a206a4
+d1d6e1d2c708b307717f737f757e08f9775afd990774797676797279a277a0749d08
+f99b5a070ef921f730bcf70fbc01f786f7dc15f990069d74a077a279727976767974
+08fd8c0679a276a0729da29da09f9da208aebc1598a197a396a5086506352a4c5948
+73087407d172e140c74408b3067fa57fa37ea108f948067e757f737f7108b306c7d2
+e1d6d1a408a20748a34cbd35ec086506967197739875080efb18fb6776f9617612be
+f70d5abcf70fbc13d8f7bbf8ad15fcde0774797776797479a476a0749d08f8da07a2
+9da0a09da4089d749f76a27908bc6815a17ea37fa58008b1072ae159ca73ce087406
+13e872454035444f08630713d8a597a397a19808fc960713e8759873977197086307
+d24fd635a44508a206a3cebdcaece108b1077180737f757e080ef79fff022a3334ff
+001acccc01ff0050e666ff001c333303ff01216666ff0210b33415ff0018b334ff00
+066664ff00198000ff00088000ff001a3332ff000a999c08ffffe5199aff001acccc
+05ffff7e999afffff83334ffffb0199aff00094cccffffbfb333ff001e666808ffff
+efb333ffffefb33005ff001fcccdffffbcccd0ff0007e666ffff8e1998fffff83333
+ffffa3666608ff001c3333ffffe3ccce05ff0009e668ff001ae666ff00088000ff00
+196666ff00066666ff0018b33408ff020a8000fffdf58000ff0022b330ff0022999a
+fffddd6668ff0222999805ff00038000a88bff001db334fffffb199aff001e6666a8
+fffffc8000a8ffffff4ccca8ff0003800008f8b8fcb8ff0022999cff0022b333050e
+f7a3ff0226e668ff001c3330ff001fe6687701ff02f83334ff001acccc03ff02deb3
+34ff0172999a15ff00066664ffffe74cccff00088000ffffe68000ff000a999cffff
+e5ccce08ff001accccff001ae66605fffff83334ff00816666ff00094cccff004fe6
+68ff001e6668ff00404ccc08ffffefb330ff00104ccc05ffffbcccd0ffffe03334ff
+ff8e1998fffff81998ffffa36668ff0007cccc08ffffe3ccccffffe3ccd005ff001a
+e664fffff61998ff00196668fffff78000ff0018b334fffff9999808fffdf58000ff
+fdf58000ff0022999affffdd4ccdff0222999cff0222999805a8fffffc8000ff001d
+b3308bff001e6668ff0004e668fffffc8000ffffe2fffeffffff4ccc6eff00038000
+6e08fcb8fcb8ff0022b333ffffdd6666050ef79f58ff001acccd01ff02f2e668ff00
+1c333003ff023e9998ff00014ccd15ffffe74cd0fffff9999affffe68000fffff780
+00ffffe5ccccfffff5666708ff001ae664ffffe5333305ff00816668ff0007cccdff
+004fe668fffff6b333ff00404cccffffe1999a08ff00104cccff00104ccd05ffffe0
+3334ff00433331fffff81998ff0071e667ff0007ccccff005c999a08ffffe3ccd0ff
+001c333305fffff61998ffffe5199afffff78000ffffe6999afffff99998ffffe74c
+cd08fffdf58000ff020a8000ffffdd4cccffffdd6668ff02229998fffddd666405ff
+fffc8000ffffe300028bffffe24cccff0004e668ffffe1999a6eff000380006eff00
+00b3336efffffc800008fcb8f8b8ffffdd6666ffffdd4ccc050ef7a3ffffcee666ff
+001c333301dcff001acccd03ff00854ccdff009f666615fffff9999aff0018b334ff
+fff78000ff00198000fffff56667ff001a333308ffffe53333ffffe5199905ff0007
+cccdffff7e999afffff6b333ffffb0199affffe1999affffbfb33308ff00104ccdff
+ffefb33305ff00433334ff001fcccdff0071e666ff0007e667ff005c999afffff833
+3208ff001c3332ff001c333305ffffe5199aff0009e666ffffe6999aff00088000ff
+ffe74cccff0006666608ff020a8000ff020a8000ffffdd6668ff0022b330fffddd66
+68fffddd6668056eff00038000ffffe24ccc8bffffe1999afffffb199aff00038000
+a8ff0000b333a8fffffc8000a808f8b8f8b8ffffdd4cccff0022999c050e209e76f7
+fdcb01f7b08915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d7152af7
+b1f7528b050efb2981c8f866c801bad0f761d103f7758115e98bbecda0f00845067e
+51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e8b
+08432165fb94fb95f566d31f0e2e81acf7c9b1f72ed87aac12afdcf796da13dcff01
+73b334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cccc
+8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d856b
+85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b27088b
+ffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215ff
+fff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff002d
+e6668bff0029e666ffffea3334ff0024e668ffffe31998080efb578bccf763ccf73e
+cc01f7bdd003f802f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7df060efb57
+8bccf763ccf73eccd77701f7bdd003f802f8d015ffffbf999a8bff00176666cc6796
+ffffe480003fffff2380008b8b4af7598bffffc28000fb3effff8280008b8b4af18b
+ffffb5199afb63ffffd4e6668b8b4aff0013999a8b05ffffe7666647b07fff001ccc
+cddbff010e33348b05ffffa83334f88f15ff0012ccccfb3effffb0199a06ffffe899
+994a15ff00674ccdfb63ffff4e3333060eba82b6f88cb6a97701a5bef87cbe03f7d5
+f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff0866
+66fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd8b
+f71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff0053
+800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf717
+f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff00
+27199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffffd0
+8000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff0038999a
+ffffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff01
+ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1afb
+00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de667080e
+808ba501f7a2f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc038b8b88858a
+888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b8bfb2ef80328
+f77e080e80a076f8e2a501f7d1db15fb69f892f8368b05fb57fce215ebf77ef72af8
+038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b898b898c888e858b
+8bf72efc03eefb7e080e328bc4f75dc3f75dc401a8d10314e0f86216c4fb2f07238b
+32e27cf70608f7f6c3fbf60698f700dae8f7088b08f72fc4fb2a06fb31fb12fb17fb
+2ffb2ef710fb18f7331f0e328bc4f75dc3f75dc4d77701a8d103f86216c4fb2f07ff
+ffef66668bffffefccceff00023333fffff06666ff0004333308d1ff00c2999aff00
+7c66668b8bc3ffff97cccc8bff00484ccef75dff0028e6668b8bc4ffffeb999a8bff
+00176666cc6696ffffe4999a3fffffa766668b05fb31fb12fb17fb2f1f8bffff8bcc
+cdff0046999affff984ccdff0066e666ffffd4199908ffffdf8000ffffa5cccdb07f
+ff00203333ff0059999a05ff00171998fffff9ccccff00186668fffffc999aff0019
+4ccc8b08ffffa64ccdff004d333315ffffbf999aff00201999ffffcfcccdff004380
+00fffff54ccdff0051333308ff00bc800006ff0014199ac315ffff2f66660698f700
+dae8f7088b08ff0049199a060efb70c7c1f4c1f3c201a8f7c303f77ec715edc12906
+fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb14
+d551f7171f0e328bc4f75dc3f75dc401f82bd10314e0b7f8d01552f72f07f38be434
+9afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731f712f717f72ff7
+2efb10f718fb331f0e2d8bc4f75dc3f75dc4db7701f827d103b3f8d01552f72f07ff
+0010999a8bff00103333fffffdccccff000f9999fffffbccce0845ffff3d6666ffff
+83999a8b8b53ff006833338bffffb7b334fb5dffffd7199a8b8b52ff001466668bff
+ffe8999a4ab080ff001b6666d7ff0058999a8b05f731f712f717f72f1f8bff007433
+34ffffb96666ff0067b332ffff99199aff002be66608ff00208000ff005a33346697
+ffffdfccccffffa6666805ffffe8e667ff00063330ffffe7999aff00036668ffffe6
+b3338b08ff0059b334ffffb2cccc15ff00406666ffffdfe668ff00303332ffffbc80
+00ff000ab334ffffaecccc08ffff43800006ffffebe6665315ff00d0999a067efb00
+3c2efb088b08ffffb6e666060efb70c6c2f3c1f4c101a8f7c303f713f843152955ed
+06f7128b9b52965b08fb8f55f78f0680567559fb0c8a082954ed06f728c4d6f703f7
+1441c5fb171f0ef71efb02acf903b26eaa12f710e0f7d0e013b8f8a16a15707c7a60
+1e7006868789851f8b748e89058bed8db1b4e7898b1e8c8d8ba20591878d861e7006
+617b99a91ff8b9078ba9a494a98c08a906908f8f8f1fa20713d88a8bfb1989858b40
+8a4f8b4a8b408b508b4a8c0813b87c8bfb038d838b087307888d87911eab06ad9e88
+661ffcb907707c7a601e7006868889851f8b748d89058bee8db0b4e6898b1e8d8d8b
+a20591868d871e6f06627b99a91ff8aa0713d8ad9096ac1ef78306ad907b6f1f0ed3
+8aac6cb3f8d2ac12f3e0f7b5e01378f7268c15f80b0613b8a28bc38abd8a91918ba0
+8591458e7a908bde08f825078bde9c90d18e91918ba08591648affffccb3348affff
+d84ccc8b658b588c638c85858b769185d1889c868b3808fc2d0713784d757f731efb
+5906737597c91ff82d078bde9c90d18e91918ba08591658affffc966668affffdb99
+9a8bffffd94ccd8bffffcab3338c658c85858b769185d1889c868b3808fc250713b8
+8b387a86458885858b76918508bd8cbf8ca68b080e884dc551a1f88a76efb574a212
+f877a1136cf87ff8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a8189
+7f8b0875f87507a7f743758d0513b48a866cfb06458b08fbac8bf760f7a48c8cfb40
+f7a4f7788b05c48baa3a907808a18e050e5ef776bd01f863f776159d0a0e5ef752bd
+f774bd01f78ebd03f7c0aa15f733f7390797989e9a938593821ffb43f73e06948391
+837c787e7f1efb34fb37077e7d7481838f82951ff744fb40068194879395a299981e
+fb69f877157e7d7481838f82951ff81b0697989e9a938593821f0e5ef754bdf74e77
+d0ec12f776ec42bd13f0f776f8a115719e75a9a79fa1a5a773a0731e707575701f13
+e8a3fb1015fb33fb39077f7e787c839183941ff743fb3e06829385939a9e98971ef7
+34f737079899a295938794811ffb44f7400695828f831e81747d7e1f0e47a076f8dc
+7601cd16f856f8d1598bfc55fcd1050e47a076f8dc7601f86616bd8bfc56f8d15a8b
+050efb92f76ece01f700ca03f711f76a15270a0efb92f721a9f721a901d2adf717ad
+03f780f784159b0afb398c159c0a0efbeaf75af70001d4f70003f713f75a15a40a0e
+6df971b201f87cf97115f8ca0a0e6df7faa9f71ca6d676c0a9b8b212b9bde5c66ac9
+13fcf87cf97115f8ca0a13fefb0ef90415a00a13fda10a13fea20a0e6df801a8d1ad
+f75277ccb201f73fbf03f87cf97115f8ca0afb1dff027db33415f89e0affff3a4ccc
+04f89f0a0ed6d9c453b9f78ec856c061b512b0ca138cf7faf78515f8cb0a1324f792
+f71a15c886073c8b403f5c5208138cf8cc0a1354b849d046e08b968b968c958d08b7
+07858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080ef752d9c453b9
+f796c061b512b0caf8e0c8139cf7faf78515f8cb0af7de8415136c4e6c5b4b1e518b
+42f26ab9a5b4d3cfbe8b08d4b0324f1fc8b615e459d12f1e3c8b403f5c5208139cf8
+cc0a136cb849d046e08b08f2cdf1eb1f0e558bb8f8217701c9be03c9f84e15fc4ef8
+38b8fc05f821070ed2e9b701a9e915f8cfb7fffe2a666606ff0158999aff0195b334
+ffffda999aff001fb334050ed29676f3b701f804b903ff01604ccc8115ff002eccce
+06ff00098000acff00053332ff0022e666ff00003334ff0024199a08f74fb7ffff42
+b3340682ff00528000ffffdcb332ff004a999affffcae666ff003a333208ff00a1b3
+34ff00be6668ffffda999aff001fb334ffff606666ffff43e6640570ff0016e668ff
+ffe1cccdff00133332ffffdf6666ff000eccce08ffffe03333ffffd8199805ff0020
+e667fffff2999aff001e4ccdffffed999aff001accccffffe9999a08ffff26999aff
+feffe666f7e68b8b89058bffffdc8000fffffa8000ffffddb333fffff5ccccffffdf
+cccd08ff000c999af72815ffff1680008bff00973334f74605ff002b8000ffffcf33
+34ff001d8000ffffc29999ff00094cccffffbc3333080ed2ff0014cccd7601ff016d
+999aff002b4ccc03ff0129cccc8915ff002b4cceffffee333305ff00156666ff001a
+ffff9dff001e4ccdff000de666ff00214ccd08ff00ad000244ff0010b330ff0028cc
+ccffff50ccceff0047cccd05ff0016e666ff004fcccdfffffb999aff00524ccd70d5
+08ff00dde666ff0072ccccffffe96668ff002b999afb6fffff8e800005ffffefb332
+ff001f6666ffffeb6666ff001d4cceffffe76668a508ffffd36666ffffe7199a05ff
+00196666ffffe73332ff0015199affffe36666ff00104cccffffe1199a08fffed5b3
+34ffff658000ff0138b332ffff7fcccd05ffffffccceffffff6666ffffffccccffff
+ff6666ffffffb334ffffff6666fffff28000ffffdf199affffede666ffffe26666ff
+ffea4cccffffe6199a08ff0043ccceff0084199a15fb6cff00589999ff00cf6666ff
+006b4ccd05ff0015ccccffffc26666ff0003e66847ffffeee666ffffbdb334080efc
+1b947601dbb703f7107f15f8e25ffce2070efbe7947601f0b703f768f8321548ffff
+bc4ccc8bff00e7b3345f8b8bfffeebe66638ffffac199aa373c6ff003b4ccd8bfffe
+f6b334b78b8bff01358000e6ff005b8000050efb97947601dbb7e3b703f7947f15f8
+e25ffce2073316f8e25ffce2070efb8a9476f84c7701dbb7e3b703f7c5f840155aff
+ffce4ccc8bff00c7b3345f8b8bffff0bb33433ffffa6cccc8bff014d80005f8b8bff
+fe85cccc4fffffc33333a373afff002466668bffff5c999ab78b8bff00cfcccde3ff
+0058ffff05fffed73334b7ff0155333407d4ff0049cccc050efb069e76f8507701f7
+86f81615f73ffc18c08bfb5bf850578bfb5cfc50c08bf740f818050efb069676f850
+7701f783b915fb3ff818568bf75bfc50bf8bf75cf850568bfb40fc18050e21a076f8
+20b601cebef791be03f70a16f76807f1ff00168000ddff006f8000ee9f39251efb68
+bef76807f714ffffe18000eeffff728000fb2969ffff9a8000ffff8280001efb6807
+0e2181b6f8207701cebef791be03f807f84115fb680725ffffe9800039ffff908000
+2877ddf11ef76858fb6807fb14ff001e800028ff008d8000f729adff00658000ff00
+7d80001ef768070efb7afb71bcf9c9bc01f71ed903f720a215f8cd0a0e8bfb71bcf9
+c9bc01f71ed9f72cd903f806a215f8cd0afb7a16f8cd0a0ef7acfb71bcf9c9bc01f7
+1ed9f740d9f74ad903f91ea215f8cd0afb9816f8cd0afb8e16f8cd0a0e4cfb71bcff
+00a4cccdff00278000ff016c3334ff0027e666ff00d4999abc01b3b7f724d9f722b7
+03ff00e54ccdfffff8cccd15fffffcccceffffb5cccefffff16666ffffa56666ffff
+e780008b7a8b7daa708b0878777a7772a179ab1fff004ab3338bff0036e667ff0034
+cccdff0015e666ff00a03333ff006de666ff000ecccdff0056999aff005d80008bff
+0071b3338bff006e4cccffffad3334ff005d6668ffff958000ff00121998ffffff99
+98ff000f8000ffffffb334ff000e999a8bff000d199a8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e1f308bffffc86666ffffad6668fffff2199affff4cfffeff
+ff948000ffffef800037ffffa1b3348bffff9066668bfb03ff005233332eff006b19
+9affffeecccd08ff0046cccdff0027800015ff0003e666ff00294cce8dff002f4ccc
+8bff0036199a08f70b078bacfffffee666ff002366668aff00218000ff0053999aff
+ffee3334ff003c8000ffffb580008bffffa666668bffffa533334cffffb56667ffff
+ab199affffefb3320844ff016c333415ffffff4ccc79ffffff999affffed33348bff
+ffec4ccc08fb17078bffffb33333ff0001e66670ff0000199affffb71999ffffaacc
+cdff00106667ffffc33333ff004b33338bff005a199a8bff0059ccccff003c6666ff
+004bccceff0054b334ff0010e666080e47c1f5f745f501f76cf503f76cf81a15210a
+fbaf04210a0e47f769c691c601c39cf7f99c03c3f76515920a0e47f769c691c601c3
+9cf7f99c03c3f76515ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0013cccd
+8b9efffff74cccff00131999fffff3666808ffff9c199afffed64cccb17fff005fb3
+34ff011e4ccc05ff00136666fffff43334ff0014999afffff78000ff00114ccc8ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff2199a8bfffff1b332ff0005199afffff0999aff0008e66608ff005a999af7a365
+95ffffa96666fb9605ffffe8e667ff0010333472ff000bccccffffeab3338b4e8b55
+4c7e4a080e47f724bdf708bd93c691c601f84f9c03d0f80015ff0005b33388ff0005
+4ccd8a918b088a067f7e787c839183941ff819069899a295938794811ffc1b06a2b7
+baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28ba38b
+cc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8b0875
+8b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e4a08
+f81ffb7015470a0e47e2c691c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff
+00054ccd8a918ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede6
+66a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b0875595a7a6f8b758b7498709fffffe78000ff00123333ffffe48000ff000dcccd
+748b4e8b554c7e4a08a0f72215a2b7baa8ae8ba48bff0017cccdfffff2199aff0018
+3333ffffede666a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4ccc
+ff0001e666838b75595a7a6f8b08758b7498709fffffe78000ff00123334ffffe480
+00ff000dcccc748b4e8b554c7e4aff0005b33388ff00054ccd8a918b080e47e2c691
+c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff00054ccd8a918ba2b7baa8ae
+8bff000bb3338bff000b666788ff000b4cccfffffae66608ffffc1999affff47199a
+b17fff003b199aff00afe66605ff00014cccffffff199aff00014ccd8aff00014ccd
+8aa379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b75595a7a6f8bffffeb80008bffffeab334ff000b3333ffffe76666ff0011b33308
+ff0017999aff00464ccd05ff000ee666fffff89999ff000ee666fffffb3333988ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff6999a8bfffff68000ff00026666fffff6199aff0004333408ff0056ccccff0102
+66666595ffffac6666ffff07e66605fffffd4cceff0001e666fffffd1998ff000219
+9afffffd3334ff0002199affffe78000ff00123334ffffe48000ff000dcccc748b4e
+8b554c7e4aff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0018999a8bff0017
+6666fffff2999aff0017cccdffffee4ccc08ffffe88000ffffba4ccd05fffff00001
+ff000866667bff00056666fffff1b3338b4e8b554c7e4a080e47f723bdf708bd01f7
+a5f8c415ea0af753fb8f15470af819fb3a15470a0e47f723bdf708bd01ff01448000
+f7fb15ff00428000f75a6595ffffb9e666fb64ffff3a199a8b057f7e787c83918394
+1ff7538bffffd8e666fb08ffff72199a8b057f7e787c839183941ff71b8b4dfb4cb1
+7fff0041e666f758ff00d4199a8b059899a295938794811fffff2fb3348bb2f708ff
+009c4ccc8b059899a295938794811f0e47f4b7cab7cbb701f861f80015fc1f5ff81f
+064b04fc1f5ff81f064c04fc1f5ff81f060e47f4b7cab7cbb701f861f80015ffff79
+199a8bff0040e666f7556595ffffbb999afb5fffff2566668b8b5fff00cbb3348bff
+ffea66664bffff49e6668b8b5fff00a74ccd8bffffeacccd4cffff6de6668b8b5fff
+008333338b05ffffcecccdfb26b17fff0035199af732ff00dde6668b8bb7ffff30e6
+668bff00153334caff00b9e6668b8bb7ffff54cccc8bff0015999acbff0095999a8b
+050e4796ba01cf9615f81abafc1a06e5f75615f7d1f7070598998ca97d9108fc1afb
+2105fffff6b333ffffeeb3348bffffefffffff00094ccdfffff14ccd08f81afb2205
+99918aa97e99080e4796ba01cf9615f81abafc1a06f800f75515fbd1fb07057e7d8a
+6d998508f81af72105ff00094cccff00114ccd8bff000ffffffffff6b334ff000eb3
+3408fc1af722057d858c6d987d080ef751f847f77f15f7d1f7070598998ca97d9108
+fc1afb2105fffff6b334ffffeeb3338b7bff00094cccfffff14ccd08f81afb220599
+918aa97e9908fcfaf70c15460a0ef751f7f2f75a15480af8fafb0c15480a0e47ff01
+583334ff0132999a15ff0082ccccff002f66660598998ca97d9108ffff904cccffff
+d7999aff0040b334ff00c16666659541ffff238000fb7bffffac800005fffff6b333
+ffffeeb3338b7bff00094ccdfffff14ccd08ff00a68000ffffc36666ffffbe8000ff
+ff3c999ab17fff0040ccccff00c1cccdff00ba3334ffffbc33330599918aa97e9908
+ffff54ccccff003e999a0584ff0067cccc15ffffe1ccceffffa5e667ffff936666ff
+0027b333050e47ff00f86666ff00a9666615ff0027ccceff00773334ff008fccccff
+ffcb666605ffff18cccdffffac199a15ffffaa3333ffffe0e666057e7d8a6d998508
+ff0042b333ff0018199affffd24ccdffff77e666b17fff00374ccdff00a54ccdff01
+13b334ff0063b33305ff00094cccff00114ccd8b9bfffff6b334ff000eb33308ffff
+363334ff00498000ff004accccff00df80006595ffffb63334fb70ffff68ccccc205
+7d858c6d987d08ff0088199affffce3334050e4796ba01cf9615ff0073e6668bffff
+e0199a2cb17fff0023cccdf6ff00e833338b8bbaffff2780008bff0021b334ff0064
+b333ff00c7ccccffffb74ccd0599918aa97e9908ffff473334ff0043999aff0024b3
+32ff006db332ff0094199aff0035b3340598998ca97d9108fb15ffffd14cccbbff00
+8fb3346595ffffc6b334ffff554cccffff2a4cccffffb2b33405fffff6b333ffffee
+b3348bffffefffffff00094ccdfffff14ccd08f72dffffc84ccdffffd9999affff8d
+b333ffff7c66668b05ff00d38000ff00ee199a15ffffe5999affffb11999ffffa0e6
+66ff0022cccd050e4796ba01cf9615ff004be6668bffffe2199a32b17fff0021cccd
+f0ff011033348b8bbafffeff80008bff00168000ff00436666f7adff0065999a05ff
+00094cccff00114ccd8bff000ffffffffff6b334ff000eb33408ffff32199ad6ff00
+38e666f73e6595ffffc8199affff596666ffff6ce666ff0035999a057d858c6d987d
+08ff0084199affffcfb334ffffcc8000ffff667fffffffaf6666ffffe2cccd057e7d
+8a6d998508ff003d8000ff00163333ffffef199affffcdcccdffffa466668b05ff00
+af199aff007c800015b4ff007a999aff0093e666ffffc9e666050e42b6b5f7a1b501
+b0bb03f877e015fb68062438a4f709f3e4a2ec1ff768b5fb6806fb05fb0d74fb27fb
+2ff7096ff7091ff768060e42b6b5f7a1b501f849bb03b2f7f615f76806f2de72fb09
+2332742a1ffb6861f76806f705f70da2f727f72ffb09a7fb091ffb68060e42b6b5f7
+a1b501b0bb03f877e015ffff4633348bff005bccccf7a1e98b8bb5ffffb04ccc8bff
+001eb334e56596ffffdd800026ffffa580008b05fb05fb0d74fb271f8bffff723333
+ff0061e666ffffdc8000ff006a33348608ffffdce666ffff994ccdb17fff0026e666
+f706ff00c8199a8b05ffff1c4ccdff002a333315ffffa06667ff00029999ffffb54c
+cdff001c33338bf70308f3e4a2ec1eff004c199a060e42b6b5f7a1b501f849bb03b2
+f7f615ff00c9199a8bffffa41999fba1ffff92cccd8b8b61ff005ee6668bffffdd19
+9a25b17fff0026e666f706ff004b199a8b05f705f70da2f7271f8bff0087199affff
+a7199aff0026999affff9bb332ff0007b33208ff001f3334ff005b999a6596ffffdd
+800026fffffc80008bfb688b05ff00f2b334ffffd5333415ff00584cccfffffacccc
+ceffffe1199a8bffff96e666082332742a1effffc33333060e6c81ff0028199aff00
+a3e666b2ff00a5e666ff0028199a01c3b8f734b8f731b803f7ad8115f8ce0aa4ff01
+984ccc15ff00548000fffff4b334ff00404cccffffbbb334ff00084cceffffaa4ccc
+08ffff62e66606ffff35b33304ff00a34ccdf73107fffff73334ffffaae666ffffbf
+4cccffffbd199affffac8000fffff4b333085effffff666715ffffa9b333ff000933
+32ffffbf199aff0044999afffff73333ff0056199a08f73406ff00cce66604ffff5a
+199affff5fe66607ff00086667ff0056b334ccff0045ccccff0056b333ff00096666
+080e6c81b2f739b2f73bb201c3b8f7feb803f7ad8115f8ce0affff4be666f7871594
+ff005d3334ff004a999aff0049ccccff006080008bff0060999a8bff004c666642ff
+0009199a2d08fffe95e6666415f7fe06fffff64cccffffa2999a3effffb86666ffff
+a0b3348bffff9fcccd8bffffb59999ff00486666fffff6999aff005c999a080e6c81
+b2f807b201c3b7f800b703f7ad8115f8ce0aff0090b334ff0152b33415ff00181998
+ffffe06666ff000e3334ffffd84ccc8bffffd4999a8bffffd78000fffff36666ffff
+dab333ffffea999affffe1b33308fb06ff0071199a05ff004ab334ff0090999a15ff
+ff934cccffff926666ffff92e666f70205ff001dcccdff0016999aff00253333ff00
+0d6666ff0029199a8bff0029999a8bff0025ccccfffff28000ff001e4cceffffe919
+9a08ffff02e666ffffdccccc15ff006d6666ffff92999affff8e3333ffff8f199a05
+ffffeaffffff001e6668fffff3cccdff00254ccd8bff002833338bb6ff000de666ff
+0027b334ff0017b334ff001fb33208ff001d9999fffefccccc15ff0072cccdff0072
+cccdff00724cccffff8db33305ffffe0b334ffffe67fffffffd7e666fffff0cccdff
+ffd4199a8bffffd433338bffffd8b333ff000f199affffe14ccdff00191999080e6c
+81b2f807b201c3b7f800b703f7ad8115f8ce0af82e04ff002c66668bff0028199aff
+fff0999aff001f4cccffffe6333208fffefce668fffefce66805ffffe83332ff001f
+7ffffffff2199aff0027b3338bff002b199a8bf1d9dff28b08ffff8d999afffeb599
+9a15ff0103199aff0103199a05ff00181998ffffe06666ff000e3334ffffd84ccc8b
+ffffd4999a8b243a39258bffffd3e6668bffffd88000ff000f3333ffffe13334ff00
+196667080ecf9576f7a4b801c7be03f912f7c615fca3f7a458fce1bef7a4f8a3060e
+cf9576f7a4b801f8bcbe03a4f79915f8a3fba4bef8e158fba4fca3060ead9676f8a9
+b801f7b5be03f7e88115f8a9f7a1b8fce15ef7a1fca9070ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb4a9676f7a5b801c7be03f818f7c815fba9f7a258fce0bef7a5f7
+a9060ef72ff717f765fb65c1a2c1a3c112b7c11358f75cf77f156e7376706f74a0a9
+a5a0a3a81ea9a173701f1378f7bea615fb8d0680bb65a9578b08535b604d4db961c5
+1fc78ba9aa96b908f78d061388975fa96ac78b08c8b8bac4c75ab8521f4f8b6f677d
+61080ef72ff717f765fb65c1a3c1a2c112f920c11358f8baf78015a8a3a0a6a7a276
+6d7176736e1e6d75a3a61f1378fbbe7015f78d06965bb16dbf8b08c3bbb6c9c95db5
+511f4f8b6d6c805d08fb8d0613887fb76dac4f8b084e5e5c524fbc5ec41fc78ba7af
+99b5080efbedf75bf70001d2f70003f711f75b15a40a0efc1bb0f5f732f5f733f501
+bef503f3f93415f8d00afb9d04f8d00afb9c04f8d00a0ec9f75bf70001d2f700ecf7
+00eaf70003f8a9f75b15a40afb5f16a40afb6116a40a0e6e7fb1f80db201c3b2f80d
+b103f7aff82715ff002833348bff00259998fffff36666ff001ee668ffffea800008
+ffff106666fffee1199a0568ff00233333ffffe9e666ff0030999a8bff003433338b
+f1e1def18b08ffff643333fffea14ccc15ffffb8cccdffffaab333a772ff0048199a
+ff0056800005ff00246666ffffe6999aff002bb333fffff0e666ff002ecccd8bf711
+8bf1f58bf7108bff003cb334ffffe6e666ff00374cccffffd7b334ff0028800008ff
+00416666ff004e80006fa3ffffbe8000ffffb1999a05ffffda6666ff001b4cccffff
+d1b334ff0010199affffce66668bfb108b24268bfb0f8bffffbfe666ff001b8000ff
+ffc4b334ff002bb333ffffd5b33208ff0035999aff0005ccce15ff00ef1999ff011e
+cccc05ff00203334ffffdeccceff0013e666ffffd366668bffffcee6668b25363123
+8bffffda999a8bffffdcccccff000be666ffffe26667ff00143334080ef7a28badf8
+f87701d4b7f90cb603f709f82b15f7d7f74df7c9fb4d8bfc09fd0c8b055ff82015fc
+42f963f84207fbf4f76c050edff7e0f91a15f741fbb0bb8bfb5bf7e8618bfb5cfbe8
+bb8b050e68f7f9b701a3c103d9f71915f774f85fb7fc95fba0070efb58f9e0bc01f7
+1adb03f71a16dbf7e3068bd48be38df721ff0000e666ff0041ccccff00043334ff00
+386668ff0004e666ff002acccc8ea5ff0010199a9bff000ce6668ba28bff0007e666
+fffff91998ff0007199afffff6666892fffff68000ff0009999a84ff001066668b08
+a39b9ca1a4739d6f1fffffe380008bffffd63333fffff88000ffffeacccdfffff080
+00ffffed199afffff23334fffff8b333fffff8ccccfffff0b33370fffff3e666ffff
+ea9998ffffee3334ffffc4199cfffff9e666ffffa14cccfffff46666ffff4c199aff
+fffd999affff4ee6668b3e080efb58f71adb03f76afa11153bfbe3068b428b3389fb
+21ffffff199affffbe3333fffffbccccffffc7999afffffb199affffd533338871ff
+ffefe6667bfffff3199a8b748bfffff8199aff0006e666fffff8e666ff0009999a84
+ff00098000fffff6666692ffffef999a8b08737b7a7572a379a71fff001c80008bff
+0029cccdff00078000ff00153333ff000f8000ff0012e666ff000dccccff00074ccd
+ff00073334ff000f4ccda6ff000c199aff00156666ff0011ccccff003be667ff0006
+199aff005eb333ff000b999aff00b3e666ff00026666ff00b1199a8bd8080ef7ab8b
+adf7fdad01d4b303f8b3f81f15cd06c548ba60dd453b475c5d504808478bfb2bf748
+05fb2bfb4815f713f72cf713fb2c05fbc2163cf7fdd806f72dfb4905f72cf74915fb
+14fb2cfb15f72c05f818ad15fcbdfc41f8bd06d8dddad1cab708b10744bd42cc40db
+080ef7148badf7fead01d4b2f887b203f77fad15f713f72cf713fb2c05fbc21640f7
+fed506f72cfb4a05f72cf74a15fb14fb2dfb15f72d05f835ad15fcd5fc42f8d50664
+ad15418bfb2bf748f72cf74ad48b050efb88f717f79f15f8d10a0efb8895f7c503f7
+70f79615f8d20a0ef7ab8badf7fead01f98eb203f7e0f82015f72cfb4afb2bfb4847
+8b054fce5db93bcfddd1b9b7c5ce08f806fbfe15fb928bf713f72c05f743fb2c15fb
+2bf748f72cf74ad98b8bfbfe05fc13f7fe15f7958bfb14fb2d05fb98f74f15403b42
+494459086507ca5fda45d83908f8bdf842060efbedfb5fc6d9b7017aadf76cad03f7
+f67515fb0dfb0efb6cf70efb0d5fe2fb1df7b0f71de2060e719476f7f4b9e3b7c8b7
+01f73dbbf708bb03f7a4f90315688b617a798208976005a89d9b92ad8b08b1a67366
+1f56064e596c4f54ab6bbf1faf8ba5939d9a0878bbf73007da6ab73f1e82fb811571
+779aa8acae96b71fb006405f7e711ea3fbf51562e333f7193df108677b05ddfb05d9
+fb0ac9fb0d08b506c1f703ddf711dcf702086ba1053f2731fb1e6336080efba8a076
+01b7de03b7f72815fb28def71c078bf70fff00094ccdff0090999aff000db333ff00
+586666b1f789ff00436666ff0044b334ff0033999aff00454cccfffffc999aff000a
+4cccfffff9ccccff0006e668fffff4999aff0000ccccffff96cccdffff961998ffff
+bd3333ffffa6e66865fb5effffef199affffa63334fffff0e666ffff7fcccc8bfb16
+080efba8a07601b7de03f713fa111538fe11de060efba8a07601b7de03b7f97d158b
+fb16ff000f199affff7fccccff0010e666ffffa63334b1fb5eff0042cccdffffa6e6
+66ff00693333ffff96199aff000b6666ff0000cccdff00063334ff0006e666ff0003
+6666ff000a4ccdffffcc6666ff00454ccdffffbc999aff0044b33365f789fffff24c
+cdff00586666fffff6b333ff0090999a8bf70f08f71c38070efba8a07601f754de03
+f7a7f728158bf716fffff0e666ff00803334ffffef199aff0059cccc65f75effffbd
+3333ff00591998ffff96cccdff0069e668fffff4999affffff3334fffff9ccccffff
+f91998fffffc999afffff5b334ff0033999affffbab334ff00436666ffffbb4cccb1
+fb89ff000db333ffffa7999aff00094ccdffff6f66668bfb0f08fb1cde070efba8a0
+7601f754de03f7a7fa111538fe11de060efba8a07601f754de03f7a7f97d15f72838
+fb1c078bfb0ffffff6b333ffff6f6666fffff24ccdffffa7999a65fb89ffffbc999a
+ffffbb4ccdffffcc6666ffffbab333ff00036666fffff5b333ff00063334fffff919
+9aff000b6666ffffff3333ff00693333ff0069e666ff0042cccdff0059199ab1f75e
+ff0010e666ff0059ccccff000f199aff008033348bf716080efb83f70016cef98306
+8be2939af71d9591918b9d859108fb68060efb83f700fa1115fe11cefa11070efb83
+8ba901f700ce03f700fa1115fe11f7680791918b9d8591fb1d95839a8be208f98307
+0efb83f78c16fa11fb680785858b799185f71d81937c8b3408fd83070efb83f78cfa
+111548fe11ce060efb838ba901f749ce03f78cfa111548fd83068b34837cfb1d8185
+858b79918508f768060efb57f70116dbf726068bf730f707e0df9f91918b978591fb
+4d842d268bfb4d080efb57a076f84b9a12f701db54de13d0f709f850159007bca0be
+c28be60813e08bff005819986fff0015e6688bf70108c53b470713d08b2ca4ffffca
+19988bffffb3e6688b5974322884087c07ee84a2328b590813e08bffffb3e66672ff
+ffca199a8b2c0847dbc50713d08bf701a7ff0015e6668bff0058199a088be658c25a
+a0080efb57f701f84315fb1e078bfb4de926f74d8491918b978591379ffb07e08bf7
+3008f726070efb57a076f8437701f701db03f701f84315fc43dbf843070efb57a076
+f82ba301f767db03f7b716f71e078bf74d2df0fb4d9285858b7f9185df77f707368b
+fb3008fb26070efb57a076f84b9a12f74bde54db13e0f7aff850155a7658548b3008
+13d08bffffa7e666a7ffffea199a8bfb010851dbcf0713e08bea72ff0035e6668bff
+004c199a8bbda2e4ee92089a07289274e48bbd0813d08bff004c1998a4ff0035e668
+8bea08cf3b510713e08bfb016fffffea19988bffffa7e6688b30be54bc76080efb57
+8ba3f82b7701f767db03f7b7f843153bfb26068bfb30fb0736377785858b7f9185f7
+4d92e9f08bf74d080efb58a076f8437701f766db03f766f84315fc43dbf843070e47
+f705bdbec801c4a6f7eda603f861f73715fc1f59f81f0686f7881570068464496028
+8bfb018b54b682b20870069045c242f71f8bf7198bc8d391d2080efbedfb5fc6017a
+adf76cad037a7515fb49f7b0f74969fb0efb6cf70e070ef738ff017a3334fffff0cc
+cd15f8d30aff026fb33404f8d40ab1fffe6dcccc15ff00e17fff078bb2ff0000e666
+ff0027b334ff0001199aff000880008bff00031998fffffe4cccff0000199cfffffd
+b3348b67ffffe9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899
+988efffff9e668ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff
+000c66688b08ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078b
+ffffca0001ffffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc19
+9a8bfffff24ccdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff00
+00b333ff002333348bff001ee6668bff000fe666ffffff4ccdff00208000ffffff66
+66ff0003e668ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff00
+01e667fffff4e668ff000333338bc1080ef738ff017a3334fffff0cccd15f8d30aff
+026fb33404f8d40affff948000ffff4db33415fffff24cccff000c4cccfffff44ccc
+ff000db33496ff00138000ff000b999aff000e66661e8bff00053334fffffeb3328f
+fffffeb334ff00048000fffffeb332ff00048000fffffc199aff0005e6668bff0005
+333408ff00103332ff0010e666ff00178000ff002f8000ff00176668ff00211998ff
+ffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcfe666
+ffffd0800005ffffc04cceffffbefffffffff59998ffffe0cccd8bffffd9b333088b
+ff00213334ff00014ccdff0014cccc1eff0071b33406ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccc068bff001f3332ff00
+2cccceff002c4ccdff00033332ff0003333308ff0041b334ff003f199a05b0ff0023
+cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999affffcb66
+68ffffb7ccccffffd33334ffffcab334641e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40afffffd9998ffff9a4ccc15ff001c199aff0019e6667affff
+d633341f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff0003
+3332ffffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbff
+fff5999affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecc
+cc8bfffffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff
+0007cccd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999aff
+ffee8000b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194ccc
+ffffd99998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff00
+0ee666ff001b199a8bff00224ccc8bff00138000fffffb6666ff000fe668fffff033
+349bfffff1ccccff000e6664ffffe96666ff000ae668698b08ffffa06666ffffe4b3
+34ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff0016
+ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff00
+10e6661f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a9affff68
+199a15f8d50aff00674cccffff44b3321555ff00bde668068bff00208000ff000033
+34ff00196664ff00011998ff0005199c08fffffeb334ff00014cccffffeb4ccc8b05
+fffffb80008bfffffc6668fffffbb334fffffd9998fffffd1998ffffd7199affffcd
+999affffb44cceffff953334ffffc47fff2e8dfffff63332ff0003cccdffffee8001
+ff001380008b08ff0084b334ffffc43333068bffffe2199affffe74ccc8b6ffffffe
+1999fffffc199afffffc199a8bfffff24ccdff0003e666fffffc1999ff0014ccccff
+0000999aa5ff0000b333ff001de6688bff001999988bff00186668ffffff4ccdff00
+14ccccffffff6666ff0003e666ff0003e6678bff000db333fffffc199aff0003e666
+ffffe03334ff0002999afffff24cccfffffeb3338bff001e800008ff003bcccdff00
+2ce66607ff0009199aff00000001ff0009b334ff000c66668bff0007cccd08ff0006
+8000fffffd8000ff0003ccccfffff8cccc1e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40aff00411998fffe9b4ccc15ffffc23334ffffdf8000ffffd2
+999a641effffe74cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b
+199980ff0009cccdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe5
+6666ff00373332ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff00
+51e666caffffd46666ff0038b334ffffb733321fffffe4199a8b73fffffa1998ffff
+f44ccefffffb80000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff00
+1f33348bff001380008bff00161998ff00013334ff001ab334ff0002999808ff000a
+4cccff002c3334fffffb8000ff0002b3340566fffffc1998ffffdce668fffffcb334
+ffffdd80008b738bffffe89998ff00013334ffffe933348d08ffffe9e666ffff44cc
+cc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334ff002119
+986fffffb919991f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a
+ffffb7b332fffee5199a15ff0015666699ff0015199aff0000e666ff000b4cce8b08
+ff003fb332ff000e4cceffffc1999affffdf8000ffffb88000ffffe4b332ffffdf80
+00ffffe0199a6266ff00161999ff006f19991f8bff000e999aff0001999aff001180
+00ff0003ccccff0012b33408ff0005e666ff0017999a15ff0011999aff003b1998ff
+00294cceff00418000ff00568000ff002066688bff0007ccccfffffd666691fffffa
+ccccff00033334ffffbe4cceffffec8000ffffd7b332ffffe49998ffffdb999affff
+d5ccceffffd7b334ffffd13332ffffebe666ffffc4e6688bffffcc999808ffff7c00
+01ff004ab33271ff0032199aff0055199aff00233334ff00529999ff0037e666ff00
+37e6686dbdffffa799981effffef199a8bffffe6cccefffffae666ffffec9998ffff
+f7199a080ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40affffe64c
+ccffff7d4ccc15ff00744ccc06ffffcd4cceffff81e668ffffccb332ffff813332ff
+ffd3ccceffff9d333408ff00053332fffffb6666ff002c33348d05b0ff006e8000ff
+0023ccccff006be666ff0048ccccff00b1666608fffff5999cff0007e6680580ffff
+fcccccfffff1b33287ffffe74cce8b08fb1a06ffffe9e6668bff00016666ff000680
+00fffff44cccff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0cc
+ccfffff8e66664fffffaccceffffde3334ff0007199889ff00068000ffffff1998ff
+00073334ff0000e668ff000e4cccbfff00156668ff00049998ff0014cccc8b080ef7
+38f80ff87b15b3a06b6e1f8b6a656d7a7f0879970564a481a18b9e08a8a3a8b01eee
+4d15b768ac4e4d60665b1e8b699d72b172089585057c7f7d817c7d7275816f8b7208
+4cb869ccdbb1c7bb1e8bae7ba76ba00866a505a69db7aa8bb20824fbb4156f5da4c1
+1f8b9e97b6c0ae08a97a05b2739b6e8b6e084d5b7c6f1eff00033334ffff67cccd15
+f8d30aff026fb33404f8d40a0ef738ff017a3334fffff0cccd15f8d30aff026fb334
+04f8d40aff005a1998fffeda4ccc15ffffea999a7dffffeae6668afffff4b3348b08
+ffffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff002080
+00ff001fccceb4b0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ffffee99
+9afffffc3332ffffed4ccc08fffffa199affffe8666815ffffee6666ffffc4e666ff
+ffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999afffffa19
+99ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccdff0024
+6666ff002a3333ff00284cccff002ecccdff0014199aff003b33348bff00334ccc08
+f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affffc8199a
+ff001de66659ff005866661eff0010e6688bff00194cccff00053332ff00136666ff
+0008e668080ef738ff01333334ff00ce4ccd15f8d60ad2ffff22800015f8d30aff02
+6fb33404f8d40aff006e9998ffff9a4ccc15f8d70afffffd6668fffe83b33415f8d8
+0a0ef738ff02013334ff00ce4ccd15ff00e17fff078bb2ff0000e664ff0027b334ff
+0001199cff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffff
+e9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899988efffff9e6
+68ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff000c66688b08
+ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ff
+ffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc199a8bfffff24c
+cdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff0023
+33348bff001ee6688bff000fe664ffffff4ccdff00208000ffffff6666ff0003e668
+ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4
+e668ff000333338bc108fb5a16ff00e17fff078bb2ff0000e666ff0027b334ff0001
+199aff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b3
+32ffffddccccffffefe666ffffc6cccdffffe566688cfffff899988efffff9e668ff
+0005cccd87ff001d9999ff000c4cccff000e999aff0003e666ff000c66668b08ff00
+0ab333ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ffffee
+6666fffffccccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff
+0003e667fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff00233334
+8bff001ee6668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff00
+03e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668
+ff000333338bc108caffff22800015f8d30aff026fb33404f8d40a0ef738ff013833
+34ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404f8d40aff00058000
+ffff4cb33415fffff24cccff000c4cccfffff44cccff000db33496ff00138000ff00
+0b999aff000e66661e8bff00053334fffffeb3328ffffffeb334ff00048000fffffe
+b332ff00048000fffffc199aff0005e6668bff0005333408ff00103332ff0010e666
+ff00178000ff002f8000ff00176668ff00211998ffffefb334ffffc1999a1e8bffff
+d666667cffffde3334ffffd9b3346408ffffcfe666ffffd0800005ffffc04cceffff
+befffffffff59998ffffe0cccd8bffffd9b333088bff00213334ff00014ccdff0014
+cccc1eff0071b33406ff0014ccccff001de668fffffeb3338b1fff00088000ff0022
+8000ff00068000ff0030b333ff00009998ff00138000fffffc199cff00033334ffff
+f79998ff00016666fffff98000fffffeb33380ffffd1cccdfffff4e668ffffefb333
+ffffe899988b08ffff8c4ccc068bff001f3332ff002cccceff002c4ccdff00033332
+ff0003333308ff0041b334ff003f199a05b0ff0023cccca7ff001c80008bff003166
+6808ff00463332ffffc6ccccff001c999affffcb6668ffffb7ccccffffd33334ffff
+cab334641e0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40aff00739998ffff964ccc15ff001c199cff0019e6647affffd63334
+1f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff00033332ff
+ffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbfffff599
+9affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecccc8bff
+fffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff0007cc
+cd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999affffee80
+00b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194cccffffd9
+9998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff000ee664
+ff001b199a8bff00224ccc8bff00138000fffffb6668ff000fe668fffff033349bff
+fff1ccccff000e6664ffffe96668ff000ae668ffffddfffe8b08ffffa06666ffffe4
+b334ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff00
+16ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff
+0010e6661f0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40af70cffff68199a15f8d50aff00674cccffff44b3321555ff00bde6
+68068bff00208000ff00003334ff00196664ff00011998ff0005199c08fffffeb334
+ff00014cccffffeb4ccc8b05fffffb80008bfffffc6668fffffbb334fffffd9998ff
+fffd1998ffffd7199affffcd999affffb44cceffff953334ffffc480002e8dfffff6
+3332ff0003ccccffffee8001ff001380008b08ff0084b334ffffc43333068bffffe2
+199affffe74ccc8b6ffffffe1999fffffc199afffffc199a8bfffff24ccdff0003e6
+66fffffc1999ff0014ccccff0000999aa5ff0000b333ff001de6688bff001999988b
+ff00186668ffffff4ccdff0014ccccffffff6666ff0003e668ff0003e6678bff000d
+b333fffffc1998ff0003e666ffffe03334ff0002999afffff24cccfffffeb3338bff
+001e800008ff003bcccdff002ce66807ff00091998ff00000001ff0009b334ff000c
+66668bff0007cccd08ff00068000fffffd8000ff0003ccccfffff8cccc1e0ef738ff
+01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404ff004fe666
+8bff00486666ffffe06668ff0034e668ffffccb330ffffdcccccfffffc4cd0ffffde
+6664fffffd1998ffffdf199c8b738bffffe89998ff00013334ffffe933348d08ffff
+e9e666ffff44cccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff00
+2a3334ff002119986fffffb91999ffffc23333ffffdf8000ffffd2999a641fffffe7
+4cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b199980ff0009cc
+cdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe56666ff00373332
+ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff0051e666caffffd4
+6664ff0038b334ffffb733341fffffe4199a8b73fffffa1998fffff44ccefffffb80
+000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff001f33348bff0013
+80008bff00161998ff00013334ff001ab334ff0002999808ff0008e668ff00263334
+05ff0031e664ffffcb999aff001e999cffffb9199a8bffffb1800008ffff5d6666ff
+ff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a1
+3332ff0081e667ff0083999aff00a266671e0ef738ff01383334ff00ce4ccd15f8d6
+0acdffff22800015f8d30aff026fb33404f8d40aff0020b332fffee4199a15ff0015
+666699ff0015199aff0000e666ff000b4cce8b08ff003fb334ff000e4cccffffc199
+9affffdf8000ffffb88000ffffe4b334ffffdf8000ffffe019986266ff00161999ff
+006f19991f8bff000e999aff0001999aff00118000ff0003ccccff0012b33408ff00
+05e666ff0017999a15ff0011999aff003b1998ff00294cceff00418000ff00568000
+ff002066688bff0007ccccfffffd666491fffffaccd0ff00033334ffffbe4cccffff
+ec8000ffffd7b332ffffe49998ffffdb999affffd5ccceffffd7b334ffffd13332ff
+ffebe666ffffc4e6688bffffcc999808ffff7c0001ff004ab33271ff0032199aff00
+55199aff00233334ff00529999ff0037e666ff0037e6686dbdffffa799981effffef
+199a8bffffe6cccefffffae666ffffec9998fffff7199a080ef738ff012c3334ff00
+ce4ccd15ff00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff
+00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffef
+e666ffffc6cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d99
+99ff000c4cccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccdff
+fff06666ffffe9e6681fffff2c199907ffffffffffffffca0001ffffee6667fffffc
+cccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff0003e667ff
+fffc1999ff001fe666ff0000999aff00174ccdff0000b333ff002333338bff001ee6
+668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff
+000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668ff00033333
+8bc108d9ffff22800015f8d30aff026fb33404ff0050cccc8bd4ffffdfccccff0035
+1998ffffcb999cfffff6999cfffffdccccfffff43334fffffe4cccffffef4ccc8b08
+fb1a06ffffe9e6668bff00016666ff00068000fffff44cccff00029998898bffffff
+66688b8bfffffe199cffffff4cccffffe0ccccfffff8e66664fffffaccceffffde33
+34ff0007199889ff00068000ffffff1998ff00073334ff0000e668ff000e4cccbfff
+00156668ff00049998ff0014cccc8b08ff00744ccc06ffffcd4cceffff81e668ffff
+ccb332ffff813332ffffd3ccceffff9d333408ff00053332fffffb6666ff002c3334
+8d05ff0024199aff006bb333ff0022ccceff00693333ff00451998ff00a96666ff00
+2b999858ff001a4cd0ffffbdb3348bffffb7333408ffff5d6666ffff7b4cccffff7c
+8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667
+ff0083999aff00a266671e0ef738f883f87b15b4a06b6e1f8b6a646d7a7f08799705
+64a481a18b9e08a8a3a8b01eee4d15b768ac4f4c60665b1e8b699e72b07208958505
+7c7f7e817b7d7275816f8b72084cb869ccdbb1c7bb1e8bae7ba76ca00865a505a69d
+b7aa8bb20824fbb4156f5da4c11f8b9e98b6bfae08a97a05b2739b6e8b6e084d5b7c
+6f1effff4d3334ff00454ccd15f8d60acdffff22800015f8d30aff026fb33404f8d4
+0a0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a49fffe6dcccc15
+f8d60aff01081998ff00707fff15ffffea999c7dffffeae6648afffff4b3348b08ff
+ffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff00208000
+ff001fccceff0028fffeb0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ff
+ffee999afffffc3334ffffed4ccc08fffffa199cffffe8666815ffffee6664ffffc4
+e666ffffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999aff
+fffa1999ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccd
+ff00246664ff002a3333ff00284cd0ff002ecccdff00141998ff003b33348bff0033
+4ccc08f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affff
+c8199aff001de66659ff005866661eff0010e6688bff00194cccff00053332ff0013
+6668ff0008e668080ef738ff017a3334fffff0cccd15f8d30aff026fb33404ff00a2
+6664ff00834cd0ffff7dccccffff5d6668ffff5d6666ffff7b4cccffff7c8000fb35
+1fffffa5e6668bffffafe666ff00288000ffffca8000ff003fccccff0009e666ff00
+006667ff00176667ff0000b3339b8b08ff0071b33306ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccd06ff00000001ff001f
+3332ff002ccccdff002c4ccdff00033333ff0003333308ff0041b333ff003f199a05
+b0ff0023cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999a
+ffffcb6668ffffb7ccccffffd33333ffffcab33464fffff24cccff000c4ccdfffff4
+4cccff000db33396ff00138000ff000b999aff000e66661e8bff00053334fffffeb3
+338ffffffeb334ff00048000fffffeb333ff00048000fffffc1999ff0005e6668bff
+0005333408ff00103332ff0010e667ff00178000ff002f7fffff00176668ff002119
+98ffffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcf
+e666ffffd0800005ffffc3999affffc26666fffff38000ffffe0ccccfffffee666ff
+ffdc3334ffffd7e667ff00326666ffffe81999cb8bff0045b33408ff00a13332ff00
+81e667ff0083999aff00a266671eff00839998ffff9a4ccc15f8d70afffffd6668ff
+fe83b33415f8d80a0ef78df86ff70e15f8d90afffe5db334ff0095cccc15f8da0aff
+02cd99988915f8db0a0ef78df78bf86815f8dc0affff3bb333ffff3bcccc15f8da0a
+ff02cf99988915f8db0a0ef78df830f8d315ff002b3334ff0027e66671ffffbfb334
+1f8bffffcdcccc51ffffb3999affff9ce666fffff1e66608906b059c8d9d8b988b08
+c4d57bfb05fb193270681f588b82a27f9d81997e97778b087676787b63df70c7f70b
+f5d8f7181f8bf70139b25095088a8d05ff00524cccff0026999aff0017199cff0029
+999a8bff0034b3328bff001e0002fffff8e664ff00188000ffffe7b334ff00189998
+ffffea3334ff00161998ffffdd1998ff0010e668ffffcbb3348b08fb27612b6a7d95
+77a3ae8fac9ecbd097a51ffffe9eb334fffed0cccc15f8da0aff02ce99988915f8db
+0a0ef78df868f88f15f8dd0af733fbb415f8de0afffdcfb334ff0034cccc15f8da0a
+ff02d099988915f8db0a0ef78df89ef75115f8df0afffe30b334ff0052cccc15f8da
+0aff02d699988915f8db0a0ef78dff014a3334f7c715ff0020ccccff0015999aff00
+20999aff00016666ff001166668b08eda12b59fb0261595a4c52adf73f1f8bff0016
+8000ff00024cccff001ab334ff0005e668ff001ccccc08ff00091998ff00244ccc15
+ff001b199aff005ae668ff003f999af0f719ff0031cccc8b9787948390266d4d6153
+4a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffffd9199a83
+ffffe23332fffff24ccc08fffee66668ffffb8800015f8da0aff02cf99988915f8db
+0a0ef78df806f8ab15f747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af7
+04f7a5087b97057a867585658b08fb6206698b8d95798f888b8a8b8b888a5b804f83
+57ff000ae666fffffce666ff000a199afffffeccce96ff00014ccca1dbac92ab8b08
+fffebbb334fffef8cccc15f8da0aff02f699988915f8db0a0ef78df83ff8be15c9ab
+595f1f8b58505d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2a
+4a51421e8b56a765c465089c8005737a777a737664697c608b66082acf56eff710c6
+e8d31e8bc271b65bab0851b305b5a7d0ba8bc808fb34fc4f156046b0e01f8ba79dcd
+dcc208b87005c767a55e8b5e082c4074601efffe9db334ff00ffcccc15f8da0aff02
+cf99988915f8db0a0ef78dff0225ccccf7b815410afffff6e668ffffdbb33315ffff
+e4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9c9
+b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e6
+6693ff001dccceff000db33308fc75ff0010199915f8da0aff02d799988915f8db0a
+0ef914f9aef8d3152b0a87fcdd15f8e00afbd4f71815f8d90afffe6ab334ff0095cc
+cc15f8da0aff044b99a08915f8e10a0ef914f9ddf70e15f7ef078bc7ff00014cccc8
+ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008bffffc8b334ff
+ffddb334ffffcb4cccffffe74ccc3362ff00019998fffff4999aff00046668fffff6
+800094fffff9e666ff002d80009eff00168000919e8b08ff00108000ff0003800073
+691ffbda078b387086458885858b769185bc8cff0023cccc8cff003633348bff002f
+99988bff001866688abd8a91918ba08591458e7a908bde08fbf516f8d90afffe5eb3
+34ff0095cccc15f8da0aff044799a08915f8e10a0ef914f90ff86815f8dc0afb27fb
+ee15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9b8
+f8d315ff002b3334ff0027e66471ffffbfb3341f8bffffcdcccc51ffffb3999affff
+9ce668fffff1e66608906b059c8d9d8b988b08c4d57bfb05fb193270681f588b82a2
+7f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095088a8d
+05ff00524cccff0026999aff0017199cff0029999a8bff0034b3328bff001e0002ff
+fff8e664ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998
+ff0010e668ffffcbb3348b08fb27612b6a7d9577a3ae8fac9ecbd097a51ffbd0fc59
+15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9d4f8
+8f15f8dd0af733fbb415f8de0afc8b2a15f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914fa21f75115f8df0afc384815f8d90afffe5db334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914ff02b43334f7c715ff0020cccc
+ff0015999aff00209998ff00016666ff001166688b08eda12b59fb0261595a4c52ad
+f73f1f8bff00168000ff00024cccff001ab334ff0005e668ff001ccccc08ff000919
+98ff00244ccc15ff001b199cff005ae668ff003f9998f0f719ff0031cccc8b978794
+8390266d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e71
+8bffffd9199883ffffe23334fffff24ccc08ffff2ab334ffff22b33415f8d90afffe
+5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f963f8ab15f747063d
+fb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a867585658b
+08fb6206698b8d95798f888b8a8b8b888a5b804f8357ff000ae668fffffce666ff00
+0a1998fffffeccce96ff00014ccca1dbac92ab8b08fb85fc3115f8d90afffe5eb334
+ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9abf8be15c9ac595f1f8b58
+4f5d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2b4951421e8b
+56a765c565089b8005737a777a737664697c608b66082ad056eff70fc6e8d31e8bc2
+71b65cab0850b305b5a7d0ba8bc808fb33fc4f155f46b0e01f8ba79dcddcc208b870
+05c767a55e8b5e082c4174601efbbdf515f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914ff0396ccccf7b815ffffdf3334ffffea6666ffffdf
+6668fffffe999affffee99988b082975ebbdf702b5bdbccac469fb3f1f8bffffe980
+00fffffdb334ffffe54cccfffffa1998ffffe3333408fffff6e668ffffdbb33315ff
+ffe4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9
+c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026
+e66893ff001dccccff000db33308fffe554cccffff7a4ccd15f8d90afffe5eb334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914f9d7f8d3152b0a87fcdd15f8e0
+0afcd0f87215f8dc0affff41b333ffff3bcccc15f8da0aff044799a08915f8e10a0e
+f738ff011f6666ff01183334158fff00073332978bff0015999a8b08d306ff001599
+9a8b93fffffe6666ff0001999a83089bffffa5999a05ff00043332ffffe68000ffff
+fde666fffffa4ccdffffdeb334fffffb333308fffffa6666ffffff333405fffffccc
+ceffffff3333fffffe6666fffffe66668bfffffd999a088bffffef3333ff0001999a
+fffffe6666058bff00333332ff0001999aff00166666a3ff0035999cfffffe66668b
+1eff00019998ff0001999a8bff0010cccd058bff00026667fffffd9998ff0002199a
+fffffcccd0ff00004ccd6fff00026666fffff33332ff0004cccdfffff8ccccff0022
+666608ffffc9999aff0103333405fffffcccccff000f3334fffffe3334ff0006199a
+b8ff00038000ff00026666ff00003332ff0001999aff000233348bff00026666088b
+9bffffff3334ff0001999a05ffffd59998ffffff3332ffffc4ccceffffff3334678b
+ffffdb33328bffffe73334ff0000ccccffffe66666ff0000ccce08fffffd999affff
+fe66668b7b05fffffcccccff00026666fffffe6668ff0004ccce1eff001a6666ffff
+ff3332ff00073332fffffcccce8bfffff0cccc8bffffe66666ffffb33334ffff2f33
+347bffffd73333fffff73333ffffe99999fffff33333fffff9999affffea6667ffff
+fd999afffffccccdffffff999987fffffc66678bfffffd9999088bfffff0cccdff00
+019999fffffe666605ffffffffff8bff002ccccdff0001999aff001666668b08ff00
+18ccceff00273332fffffe66668b1fff0001999aff0001999a8bff0010cccd058bff
+00026667fffffd999aff0001999afffffcccccff0000cccd08fffff66666ff000199
+990573ff0003fffffffffa3334ff0003999a8eff000d33338b8bff00156666ff004f
+199a96ff001c199a08ff0048cccef75415ff001199988bff000d3334fffff9199891
+ffffe4800008ff00133334ffff99999a05ff00033332ffffef33347ffffffa6666ff
+fff1999a8b08ffffbd999a06ffffe9999afffff99998ff0001999aff000733321f8b
+8bff001b3334e7ff000a6666abff0005999aff0010ccceff0004ccccff0009999aff
+000e66688b089dfffe18999815f8d30aff026fb33404f8d40a0ef738ff015c6666ff
+01b3666615ff0018ccceff0005999a93ff00373334ff00233332ff0029999afffff7
+3332ffffca66665bffffe8ccccffffeb3334571effffc1999a06ffffe5999a04ff00
+3e666606ff0048ccceff00126666ffffdb4cccffffd4b334ffffdcccccfffff33334
+ffffd26667ffffae6666ffffcbe666fffff8e666ff000b3333ff001d999a1fffffe0
+ccceffffbe666615a38bff00299998fffffe6666ff002cccce8bff006a66668bff00
+259998ff002bb3348bff0039e6668bbfffffe5999cff0023333453ff000cccccabff
+000e6666ff00199998af8bff001f33348bff002cccccffffeb3334ff002b3334fb08
+8bffffd5999a8bffffe44cccfffffe6666ffffe880008b08ffffe8ccce8b67ff0000
+ccccffffe26666ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdff
+fffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53
+3334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33
+338bffffef3333ff0004cccdfffffb3333ff0021999aff0000cccdff0021ccccff00
+00cccdff001633348b08c8ffff73cccd15f8d30aff026fb33404f8d40a0ef738ff01
+7dccccf70615ff003e66688bff00266666ff00173333ff0025999aff00326667ffff
+fe6664ff00059999fffff80002ff00088000fffff9999aff0001e667ffffdb3332ff
+ffd4cccc6f7bffffca66668b08ffffb0ccceffffd1999aff0055999aff004f3334ff
+00866666ff003e6666a7c71fcb8bff0025999affffdcccccff000999985393fffffd
+999a93ffffffb33493ff00051998ffffffccccff0020e668fffffe6668ff00216666
+fffff83334ff0024199affffe199988b67ff000ccccc4b8bffff9666688bffffae66
+663b8bffff8b33348bffffcd3332ff000fe666ffffc96667ff00274ccdffffdbcccd
+08ff001fe667ffffe29999ff002ce666ffffefcccdff003b33328b08fffffc6668ff
+ff7ecccd15f8d30aff026fb33404f8d40a0ef738ff01416666ff00b6cccd15ff0101
+9998079f9fff0004ccceff001f3334ff00866666ff00126668ffffa26666ffffaccc
+ccfb04ffffce6664ffffe2666733ffffc33334fffffa6666ff000d9999ff00166667
+1e6bff0133333415ffffea199a8bffffdc4ccdff0000ccccffffe0cccdff0000ccce
+fffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffc
+ccccff0008cccefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffff7
+3332fffffd999affffcf333487fffffb3333fffffb33338bffffef3333ff0004cccd
+fffffb3333ff001e6666ff0000cccdff00244cccff0000cccdff0016e6688bff0015
+19988bff001fb334fffffe6666cb8b08ff0058ccccff00633334ff0029999af720ff
+006a6666ffffbe6668ff00533334ffff7a66641fffffc9e6688bffffe33332fffffe
+6666ffffe880008b08ff0058cccefffe06cccc15f8d30aff026fb33404f8d40a0ef7
+38ff018d6666f7c215ff0034999a8b8cfffff0ccccff0001999affffe266688fffff
+fbffffff000e66668b8fff00040001ffffff3334ff00126666ffffff3332ff001b4c
+cc8bff000cb3348bff000accccff0000cccea5ff0000cccc9f878ffffff1999a8b87
+87fffffe666667fffffe3334fffff73334ffffcc33328b08ffffd26666ff0071999a
+06ff000d9998ff000a6668ff0008ccceff000f33321eff002d999a06ff0041999a8b
+ff000a6666ffffe5999aff000e6668ffffd2666693ffffff3332ff00073330ff0001
+999aff00066668ff00033334fffffcccccff001b3332fffff66668ff003e6668ffff
+fe6664ff000599988bff0001999affffff3334ff0000cccefffffe66688b80fffffd
+9998fffff79998ffffff3334fffff2999a8b08ffff5a666606748b66ff0000ccccff
+ffe33334ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb33
+34ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53333407
+8bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33338bff
+ffef3333ff0004cccdfffffb3333ff001cccccff0000cccdff00233334ff0000cccd
+ff0019999a8b08ff007b333206abff0034ccccfffffe66668b1fff0009999cff0020
+cccdff0008ccccb7ff00059998ff0021999afffff8ccd08ffffff99998ff00019999
+fffff73334fffffd999afffff33334ffffd0cccdffffe8cccc63ffffbd99988b08ff
+ffdd999a06ffffde3334ff00000001fffff83332ff000899998bff001a999a08f70c
+07ff001a6668fffec2cccc15f8d30aff026fb33404f8d40a0ef738f7b4ff00db999a
+158bffffbd9999fffff73334fffffd999affffcf333287fffffb3334fffffb33338b
+ffffef3333ff0004ccccfffffb3333ff001e6666ff0000cccdff0020999aff0000cc
+cdff001a999a8ba78bff001f3334ffffff3333ff001d9998ffffff3333ff0004ccce
+ff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff00033333fffff7
+33348f8bff0041999a08ff00466666ff002d999807ff0033ccce8bff0001ccccffff
+ee3334ff0001999affffe4ffff8f87ff000e66668b8f8fffffff3334ff0010cccdff
+ffff3332ff0012cccc8bff0016ccce8bff00163332ff0000ccceff0012999aff0000
+cccc9b878ffffff1999a8b8787fffffe666667ffffff3334fffff73334ffffcb3332
+8b08ffffd26668ff007d999a06ff000d9998ff000a6666ff0008ccceff000f33321e
+ff003d999a06ff0031999a8bff000a6666ffffe5999aff000e6666ffffd2666693ff
+ffff3332ff00073334ff0001999aff00066668ff00033334fffffcccccff001b3332
+fffff66664ff003e6668fffffe6668ff000599988bff0001999affffff3334ff0000
+cccefffffe66648bfffff4cccefffffe6666fffffa6666fffffe66667b8b08ffff5a
+666806738bffffdf3332ff0000cccc6bff0000cccefffffb3334fffffb33328bffff
+ef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc8b
+ffffbd999a08ff005a3334fffe68666615f8d30aff026fb33404f8d40a0ef738ff02
+189998f757158bff00423334ff0004ccd0ff00026666ff0018cccc8fff0004ccccff
+0004cccc8bff0010cccefffffb3334ff0004ccccfffff19998ffffff3334ffffe94c
+ccffffff3332ffffe780028bffffe7b3328bffffdb8000ff0000ccceffffe8ccceff
+0000ccccfffffb3332fffffb33348bffffef3332ff0004cccefffffb3334ff0030cc
+ccfffffccccc8ffffffcccce8bffffbd999908ffffd4cccd07ffffe66666fffff8cc
+ccffffe5999a876f8b0827ffffdf3334ff00666667ff00419999ff0060ccceff002e
+6666ff00426666ff004ccccc1fff004f33348bff0021999a6397ffffccccccff0007
+fffefffffd800093ffffffb33493ff00053332ffffff199cff0020ccce89ff00214c
+ccfffff88000ff00244cce738bffffc4ccccff000cccccffffd333348b08ffff8d99
+98ffffa4ccceffffb66666ffff81999affff9a6666d7ffffad999aff007266661fff
+003666668bff003accce93ff00353334ff001ccccdfffffa6664ff00059999fffffc
+ccccff000733348bff0005999908ffff61999cffff47999a15f8d30aff026fb33404
+f8d40a0ef738f8b3ff018d6666158bff00426666ff0008ccccff00026668ff0030cc
+cc8fff0004ccd0ff0004cccc8bff0010ccccfffffb3330ff0004ccce6ffffffe6666
+ffffdcccd08bffffe599988bffffe9999a8bffffdcccccff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffffbb3334ffff473334ff
+0044cccc078bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffde3332
+ffffff3334ffffe6999a8bffffe84ccd8bffffdee666ff0000cccc6bff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030cccdfffffccc
+ccff0008cccdfffffccccc8bffffbd999a08ffff53333407ff00000001ffffbd9999
+fffff73333fffffd999affffcf333387fffffb3333fffffb33338bffffef3333ff00
+04cccdfffffb3333abff0000cccdff0020199aff0000cccdff00197fff8bff001966
+688bff00203332ffffff3333ff001f3334ffffff3333ff0004ccccff0004cccd8bff
+0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff00033333
+8bff0042666708ff004d999aff00b8ccccffffb26666078bffffbd9999fffff73334
+fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff0004ccceffff
+fb3333ff001d9998ff0000cccdff00203334ff0000cccdff001bcccc8bff00184ccc
+8bff00214cd0ffffff3333ff001f3330ffffff3333ff0004ccd0ff0004cccd8bff00
+10cccdfffffb3330ff0004cccdffffcf3334ff00033333fffff73334ff000333338b
+ff0042666708ffff5b3334ffff10333315f8d30aff026fb33404f8d40a0ef738f833
+ff01886666158bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff
+0004cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffdd4c
+ccffffff3334ffffe780008bffffe7b3348bffffdeb332ff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffff533334078bffffbd99
+99fffff73334fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff
+0004cccefffffb3333ff001d9998ff0000cccdff0021199aff0000cccdff001ae666
+8bff0019e6688bff0022e666ffffff3333a7ffffff3333ff0004ccccff0004cccd8b
+ff0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff000333
+338bff0042666708ffffdb3334ffff15333315f8d30aff026fb33404f8d40a0ef738
+f7d9ea157a8b8a938a928a98819f788b087d8180786fad7fb11fa18ba2979c9ca8a7
+9cbb8bda08f763079b9394a51e95068e8d8c8e1f8b9c898d058b528974734b8d8b1e
+8a898b7a05888d8a8e1ea106a49584791ffb6f07fb0d766e711eff00353334ffff91
+cccd15f8d30aff026fb33404f8d40a0ef738ff00f8999aff0188666615ffff533334
+078bffffbd9999fffff73333fffffd999affffcf333387fffffb3333fffffb33338b
+ffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0023b334ff0000cc
+cdff001780008bff0016e6668bff001b8000ffffff3333ff001a6666ffffff3333ff
+0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffd9999a8ffffff8
+ccccff000266668bff0042666708ff004a666607ff0011999a8b9f87977b08ff0058
+ccceffff91999a05ff000b3332fffff33333ff0000cccefffff733338bfffff5999a
+08fffff4cccc07ff0008ccccff0000cccd9fff0000cccdff0014cccc8bff00166668
+8bff00273334fffffe66668b8bff0004ccccff0004cccd8bff0010cccdfffffb3334
+ff0004cccdffffea6664ff00026666ffffecccccff0008999afffff5999cff000c33
+3308ffff899998ff008b33340587ff0004ccccfffffcccce8f8bff0004cccc8bff00
+066668ff0004ccccff0008ccccff000d999aff000e666608ff0044ccccff004f3334
+05ff00183334ff001be666ff001d6668ff0004199aabff0001999aff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe7b330ffffff3332ffffe5e668
+ffffff3334ffffeb33348bffffe8cccc8bffffe5e666ff0000ccccffffe88000ff00
+00cccefffffb3334fffffb33328bffffef3334ff0004ccccfffffb3334b3fffffd99
+9883ffffeb3334ffffc26666ffffba666608ffffdde668ffffd96666ffffe88000ff
+fff36668ffffe599988b08ff00473332078bff00426666ff00073334ff00026668ff
+002666668fff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe6
+6666ffffff3332ffffe5e668ffffff3334ffffe6e6668b748bffffdc9999ff0000cc
+ccffffe0cccdff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdffff
+fb3334ff0030cccd87ff0008cccdfffffd99988bffffbd999a08ff0081999afffe68
+666615f8d30aff026fb33404f8d40a0ef738ff01fa3334f70e158b8bff00126664ff
+004ccccdff0005999cff00219999fffff8cccc8ffffff99998ff0001999afffff733
+34fffffd999afffff33334ffffd0ccccffffe8ccccffffd8cccdffffcd999a8b0867
+06ffffed999afffffffffffffff4ccccff000ccccd8bff000f333308ff00d7333307
+8bff00426666ff0008ccceff00026668ff0030cccc8fff0004ccceff0004cccc8bff
+0010ccccfffffb3332ff0004ccceffffe26666ffffff3332ffffdf8000ffffff3334
+ffffe480008b728bffffddccceff0000ccccffffe26666ff0000cccefffffb3333ff
+fffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffffe66668753ffff
+fd999afffffb3333fffffb33338bffffef3333ff0004cccdfffffb3333ff00273334
+ff0000cccdff0034ccccff0000cccd8b8b08ff00333334ffff76cccd15f8d30aff02
+6fb33404f8d40a0ef738f87ef840158791fb928b1e7887857a1e7a06888989881f8b
+7a8c89058bc18da21eff001519988bff00253334fffffe8000ff0008ccccffffff99
+9a55ffffc2e666ffffb13334ffffd9999affffa8e6688bffffa833328bffffb1999a
+ff00266666ffffca999aff003d199a92ff00006666ff001c4cccff00018000ff0013
+199a8b08a3b1898b1f8c8d8b9c058e878d896b858da91e88f789f711fbbd058d878f
+898f8b8f8b8e8c8d9008ff00053334ffff73cccd15f8d30aff026fb33404ff00a266
+64ff00834cd0ffff7dccccffff5d66681f8bffffb77fffffffe59998ffffbdb333ff
+ffd48000ffffccb33408ff000e6666078e878d881e6f8b7c8c8aab0884f79f059e8c
+90b2908d8d901e8b99898d2789fb01fbb1fb09f7b1238d89898b7a05898d898faa96
+887b1efba1076d7f856c888889881efffff0333307ffffd43333ff00336666ffffe5
+b333ff0042e6668bff0049333408ff00a13332ff0081e667ff0083999aff00a26667
+1e0ef738f7a5ff00db999a15f72c078bff00276666ff000a199afffff86666ff0012
+b3327408f750ffff05999a0597fffff33333ff000cccccfffffb3333978b08ff0009
+999c93ff0005999a9b1fff01026666078bff00426666ff0008ccccff00026668ff00
+30cccc8fff0004ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff
+3332ffffe33334ffffff3334738b738b6fff0000cccc73ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff6a6667078bffffea6667fffffd999afffff266
+67ffffe73332ff0021999908ffff48ccceff00f8cccdffff8e6666ff0001999affff
+fe6666fffffd999a8bffffeccccc05fffffcccccff0004cccdfffffe6668ff000266
+661eff001e6667fffffd9998ff0008ccccfffff6666893fffff1999808ffff24ccce
+078bffffbd9999fffff73334fffffccccdffffcf3333fffffccccdfffffb3333ffff
+fb33338bffffef3333ff0004cccdfffffb3333a3ff0000cccda7ff0000cccda38bff
+0017ffff8bff001cccceffffff3333a3ffffff3333ff0004ccccff0004cccd8bff00
+10cccdfffffb3334ff0004cccdffffcf33328ffffff73334ff000266668bff004266
+6708ff00693334ffff15333315f8d30aff026fb33404f8d40a0ef738ff017a3334ff
+01dc999a15f8e20aff00ca6664ffff5e666615ff0071999affffa4ccceff004a6666
+23ffff90ccceffffaa6666ffffaf3334ffff8a6666ffff933333ff00526666ffffb3
+3333f700ff00833334ff00466664e7f31effff35999cfffeb5cccc15f8d30aff026f
+b33404f8d40a0ef738ff01683334ff01ad333415ff00199998ff00099998ff000a66
+68ff00266668ff002f3332ff0019999affffe74cccffffc7e666ffffc64cceffffeb
+3334ffffe0e6665b1e7b8b77ff000266667bff0006666608ffffab333404ff003b33
+3207ff000e6666fffff9999a9bfffffcccce9f8b08ff006b3332ff0020ccccff004c
+ccccbbff0029999a73c3ffff8e66681fffffe266668bffffde6666fffffe6666ffff
+ea66688b748bffffde3332ff0000cccc6bff0000cccefffffb3334fffffb33328bff
+ffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc
+8bffffbd999a08ffff533334078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001a6666ff00
+00cccda7ff0000cccdff002333348bff002266668ba7ffffff3333ff001a6666ffff
+ff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334
+ff00033333fffff73334ff000333338bff00426667089dffff15333315f8d30aff02
+6fb33404f8d40a0ef738ff017a3334ff01dc999a15f8e20afffe14333204f8d30aff
+026fb33404f8d40aff005c9998fffe28999a15d3ff001fccccff0025ccccff0045cc
+cd8bff004c4ccd08ff0071999affffa4ccceff004a666623ffff90ccceffffaa6666
+ffffaf3334ffff8a6666ffff933333ff00526666ffffb33333f7001eff000e80008b
+ff000de666ff0001199a98ff00023333ff0010999affffeab333ff001b199a73ff00
+24e6668b9e8b9b919e980882970584878289828bffffe2b3348bfffff68000ff000f
+3333fffff49998ff0013e667080ef738ff01d2999aff018fcccc15ffffc0ccceffff
+ed3332ffffe8ccccffffb933341effffdcccccf306ff002a6666ff0008333493ff00
+2c999aff0037999aff00106666775b1effff833332ffff4cccce15ff0045999ab707
+a98bff000b3334ffffe58000ff000accccffffe27fff08ff0011999a5b05ff00124c
+ceffffcdffffff001b4cccffffed3333ff002266688b978bff00188000ff0002199a
+ff000de664ff000380008dff00084ccdfffffe6668ff0007cccdfffffaccccff0006
+4cccffffe333348bfffff0e664ff0004cccdffffefe668ff0029999a08ffffe8cccc
+c705fffff66668ff0018ccce81ff000d999a81ff000a666608ff0001999a07ff001b
+3332ff00094cccff0028ccceff0021199a8bff003733328bff00426668ffffd61998
+a7ffffa1199a8b778bffffd2b334fffffcccccffffe7b3328bffffe8ccce8bffffde
+6666ff0000cccc6bff0000cccefffffb3333fffffb33328bffffef3334ff0004cccd
+fffffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff
+533334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb
+33338bffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0020ccceff
+0000cccdff001a66668bff001880008bff001ab332ffffff3333ff0019999affffff
+3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccd65ff00026666
+fffff866668f8bff0042666708ff00246668ffff14333315f8d30aff026fb33404f8
+d40a0ef738ff01f13334ff01e3666615778bffffeb3332ff0011999affffbf33348b
+538bffffc1999a6b8bffffbe66668bffffc5999aff003e6666ffffe0ccccff0020cc
+ccfffff0cccebf73ff00226666ffffed999a8bffffd266668bffffd19999ffffea66
+68ffffe9999affffd0cccc8bffffd333348b67ff00199999fffff19998ff00473334
+08fffff5999a8dfffff8b334ffffff8000fffff8199afffffce666ff0001ccccffff
+c7999aff00016666ffffe13333ff0005999affffe66666ff0008ccccff0003333393
+ff0001999aff0009999a8bff000f33348bff00173332fffff26666ff003d999a8bff
+004733348bff002d999ab78bff0044cccd8bff003e6667ffffb73332ff0023e666ff
+ffd9999aff001280000863ff00133334ffffda6666ff001399988bad8bff00226668
+ff00166666ff00166666ff0029999a8bff002733348bff00233332ffffe5999a97ff
+ffccccccff00073334fffffd999aff000733348bff000733328fff0001999aff0017
+3332ffffff999aff001f3334fffffb999aff001e666608fb0bfffe0d666615f8d30a
+ff026fb33404f8d40a0ef738ff01a23334ff00db999a15ff00c9999a07ff001d9998
+9397ff001999981eff0014ccce06ff003266668bff000a66687b9bffffc66668ff00
+083330fffffe4cccff00074cd0ff00006666ff00061998ff0003b33487ff0026cccc
+fffffeccccff001d999afffffeccccb1ffffe44cd0fffffc8000ffffcc7ffefffffb
+8000ffffbcccce8b08ffffc0cccc06ffffb1999a8bffffd19999ff00044cccffffea
+6667ff0003b334ffffff9999ffffda6666ffffff3333ffffe0cccefffffb999affff
+da6666ff00073333fffffd6666ff00073333ffffff8000ff00073334ff0000b3349b
+ff00399998ff0008cccc9bbf8b08ff0013333406ff0018ccccff0009999afffff666
+68ffffe0cccc1fffff35999a078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001d999aff00
+00cccdff00206666ff0000cccdff001b999a8bff001b999a8bff001f999affffff33
+33ff001d9998ffffff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff00
+04cccdffffcf3334ff00033333fffff73334ff000333338bff004266670863ffff15
+333315f8d30aff026fb33404f8d40a0ef738f88eff0184666615ffff9a666607ffff
+bb33348bffffb4cccdffff966666ffffb0ccceffffef3332ff003e6666ff004a6667
+1eff006ccccc078bff00426666ff0008ccceff00026668ff0030cccc8fff0004cccc
+ff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe0ccccffffff3332ffffdf
+999affffff3334718bffffe380008bffffe08000ff0000ccccffffe33334ff0000cc
+cefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccffff
+fcccccff0008cccdfffffccccc8bffffbd999a08ffff82666607ffffffffffffff88
+0001ff003a0001ffffdf3333ff005799988b08f710ff0020ccccff00466666ff0074
+ccce1fff005b3332078bff00426666ff0008ccd0ff00026668ff0030cccc8fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff3332ffffe33334
+ffffff3334738bffffe7fffe8b6fff0000cccc73ff0000cccefffffb3334fffffb33
+328bffffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccffff
+fccccc8bffffbd999a08ffff803334fffe6c666615f8d30aff026fb33404f8d40a0e
+f738ff013a4cccff0195999a1578ff002d4ccc8cff00044cceff002ae6688fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe73332ffffff3332ff
+ffe5199affffff3334ffffdee6668bffffe6199a8bffffe84ccdff0000ccccffffeb
+3333ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff
+00273333fffffc4cccff0005666782ff0013b333ffffd24ccc08ff00714ccdfffef9
+999a05ff000a199affffe8999a8ffffff76666ff000919988bff0005999a8bff0003
+199aff0006b334ff000b4cccff00194ccc08ff0075199cff0105999a05ff00106664
+ff0024b334ff0008e668ff00134cccff002b3334ff00033334ff0004ccccff0004cc
+cc8bff0010ccccfffffb3334ff0004ccceffffee6664ffffff3332ffffecccccffff
+ff3334ffffeb33348bffffe266688bffffe99998ff0000ccccffffea6668ff0000cc
+cefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff002b3332ffff
+fccccc8ffffff66666ffffefb334ffffd7333408ffffa93332ffff38800005fffffd
+cccefffffd9999fffffe80008bfffffe3332ff0002666708ffffec6668ffff22b333
+15f8d30aff026fb33404f8d40a0ef738f835f82915859e89927c8b798b85797f5c08
+5dfb4d48f79205998c969d1e93068d8f8c8f1f8b9b8a8d058b56896b1effffec8000
+8bffffe53333ff00018000fffff86667ff00006666ff00349999ff004bccceff0057
+9999ff0031ccccff0063e6688bff00644ccc8bff00586668ffffce6668c0ffffb3b3
+32fffff4b330ffffffb332fffff0b334ffffffb334fffff4b3348b08715c8c8b1f8a
+898b7a05898d898e1e9c069c8c807b1f4ffb9205ffff923334ffff3dcccd15f8d30a
+ff00ff4cccff01dc4ccc15ff00188000ffffd54cccff000de668ffffce4cce8b5608
+ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00
+a2999a1e8bff003c1998ff0012199aff0037e668aaff002e999808fffff2b3340788
+8e89901e92069d8b987b8f7c08dcfbba058d8294759a8ba08b939c8f9a08b9f75105
+8e948d908e8b8e8b8f858d8108bffb4f058e809476a38ba08b95a18e9508d4f7bd05
+91a1a0909e8b8b8bff000280008b8dff0001199a080ef738ff01413334ff01ad3334
+1577ff001cccccff00066666ff00033334ff002666668fff0004ccccff0004cccc8b
+ff0010ccccfffffb3334ff0004ccceffffe8ccccffffff3332ffffd9999affffff33
+34ffffe666668bffffe666678bffffe66667ff0000ccccffffe99999ff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff001ccccdfffffd99
+98ff00166666ffffef3334a3ffffdccccc08ff004cccceffff93333405ff00046666
+fffff9ccccffffff999afffffd6668fffffccccc870843ffffa3333205ffffde6666
+5fffffeccccd87ffffe1999afffffe6667fffffb3333fffffb33338bffffef3333ff
+0004cccdfffffb3333ff0010cccdff0000cccdff00133333ff0000cccdff00199999
+8bff0019999a8ba3ffffff3333ff00166666ffffff3333ff0004ccceff0004cccd8b
+ff0010cccdfffffb3332ff0004cccdffffe0ccceff0003333383ff0004cccdff0013
+3332a708ff00373334ff004e666705ff00074cccff000a4cccff0002999afffffeb3
+34ff00054cccfffff8999808ff0030ccceffffbb333405ff001d999affffd73333ff
+fff26666fffffccccdffffe4ccccfffffccccdfffffb3334fffffb33338bffffef33
+33ff0004ccccfffffb3333ff0019999aff0000cccdff001cccccff0000cccdff001f
+33348bff0020cccc8bff00173334ffffff3333ff0014ccccffffff3333ff0004cccc
+ff0004cccd8bff0010cccdfffffb3334ff0004cccdffffd8ccccff00026666fffff5
+999cff0004cccdffffdd9998ff0030cccd08ffffb0ccceff006ccccd05fffffc4ccc
+ff0005199affffffb334ff0002e6668fff0004cccc08d3e705abb3ff0013fffeff00
+066666ff001f3334ff00026668ff0004ccccff0004cccc8bff0010ccccfffffb3334
+ff0004ccceffffef3334ffffff333277ffffff3334ffffe666668bffffe666668bff
+ffe73334ff0000ccccffffe9999aff0000cccefffffb3332fffffb33328bffffef33
+34ff0004cccefffffb3334ff001f3332fffffcccccff000a6668fffffb3334ffffeb
+3332ffffe3333208ffffc8ccceffffb1999a05fffff9b332fffff7199afffffcb334
+ff0000e666fffff9999aff0009999a0890fffe91333215f8d30aff026fb33404f8d4
+0a0ef738ff01c94cccff019b999a15ffffc6b334ffff9b3332fffffe66668bffffc3
+199aff0064ccce05ffffeb3334ff00234cccfffff81998ff000f8000bbff0002ccce
+ff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe4ccceffffff
+33326fffffff3334ffffe266668bffffe8cccd8b73ff0000ccccffffe8cccdff0000
+cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff00253333ff
+fffb9998ff000a4ccdffffef8000ff00166666ffffda800008ff0044e666ffff8f33
+3405ff0005cccefffff6999aff0006199880ffffffb334fffff1999a08ffffff3334
+ffffd86666058bffffbd999983fffffd999affffcf333287fffffb3334fffffb3333
+8bffffef3333ff0004ccccfffffb3333ff001d999aff0000cccdff001f3334ff0000
+cccdff001ccccc8bff001d199a8bff001ee666ffffff3333ff001cccccffffff3333
+ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff0003
+333383ff000333338bff0042666708ffffff3334ff0029333205ffffffb332ff000e
+ccceff00024cceff000ae66691ff00084ccc08ff00404cccff006f3334059eff0020
+cccc99ff0016199aff00251998ff00044cceff0004ccd0ff0004cccc8bff0010cccc
+fffffb3330ff0004ccceffffee6668ffffff3332ffffed9998ffffff3334ffffeb33
+348bffffe266688bffffe99998ff0000ccccffffeb3334ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff00333334fffffb3332ffffffe6
+66fffff5999affffea3332ffffd9999a08ffffb0e668fffe55333215f8d30aff026f
+b33404f8d40a0ef738ff01393334f87e15ffffe64ccc8bffffe2199aff000533347d
+ff0002ccccfffffe19998bfffffeb333ffffff80008bfffffe199affffff33346787
+ffffe1999afffff8ccccffffd8ccccff0006e667fffffd999a92ffffff199aff0006
+e666ff0000e666ff0010cccdff0039999aff001b3334ff000f4cccff00173332ff00
+00b33408ff0070ccceff0003333205ff000cb332ff00003334fffff88000fffff233
+32fffffc6666fffffb3334ffffb44cceffff9a199affffbee666ffff9be666ffffbf
+3333ffff9b999afffffccccdfffffb3333fffffd999a878bfffffb333308fffffb33
+33ff00033333fffffccccdff0008cccd1eff0111999a06ff00033332ff0018cccdff
+0008ccceff00259999ff000d9998ff002e6667fffff9cccc8ffffff8e668ff000219
+99fffff7b334ffffff8000ffffea9998ffffd04ccdffffee6668ffffdbcccdffffce
+3332fffffe4ccd08ffffa0cccefffffccccd05ffffecb332ffffffb333ff0000999a
+ff000ab333ff00078000ff000b3333cbff00621999ff003f3334ff005e4cceff0047
+3334ff0061333297ff0010ccceff00033330ff0005999a8bff000666668b8efffffe
+ccd08cfffffc66648bfffff733348bffffe4ccccfffffe6666ffffed999a8b08ffff
+a5cccefffe06cccc15f8d30aff026fb33404f8d40a0ef737fffff0cccdff0024cccc
+ff00986667abf772a4ff009b8000ff0024cccc01ff00313333ff0024b333ff00b119
+9abff701c1ff00c1e668ff0024b33003f83cf7d215980ab6fb24159e8b9e979495ff
+0000999893fffffcb334ff00054ccdfffff8b334ff0002b33388888689878b088286
+9bb41fd607e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92
+089ba096aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e7999
+76a48b08ffffa73334ffff42cccd15ff00b63334ff00000001ff00943330ff009480
+008bff00b6666708ff00b66666ffff6bccd0ff00933332ffff49ccccffff49ccccff
+ff6d3333ffff6cccceffff49999affff499999ff0092cccdffff6b8000ff00b63334
+1eff026fb33404f8d40a0ef738f7bef84a15f8260abc4215f8270aff001f3334ffff
+04cccd15f8d30aff026fb33404f8d40a0ef738f813f84915f8470afffffb3334fffe
+3bcccc15f8d30aff026fb33404f8d40a0ef738f82df79115fffff7b33473ffffd84c
+cc62758b08ffffe28000ffffe080009bdbd5acb0ad1fa48ba2779b780886fb2d15ff
+0004199aff0007b333ff0000e666fffffa4ccd8b888b6f8d7e8e848c888c88908b9c
+939f91b6918c8f89998a8f6a8e82908bb308f76c07b58da58b1e90898d851e7b845d
+837189088c7905898d8a8d1ea08a05989284611f5d077b9a7a96678b083e64433b48
+af59ca1fa38bb39e9cab08ffffe63334ffff25cccd15f8d30aff026fb33404f8d40a
+0ef738f819f75a15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff
+4cccff00478000ffffecb334ff003b8000368bffffaa4ccc8bffffd3b334448b418b
+ffffd4999aff000a3334ffffd83333ff001b9998ffffe7b333ff0012ccceffffef66
+66ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b333ff
+fff86668ff00064ccdfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004
+ccccb3a9afff001c33348ba38bff00214cccfffff58000ffffffb334ffffbf800008
+ffffc53334fffe9bcccc15f8d30aff026fb33404f8d40a0ef738f7c9f74c158b79ff
+fffaccccfffff98000ffffeb3334fffffc8000087f890588ffffff800089ffffff80
+008b87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff00
+00333308768d05ffffecccccff0001cccdfffff93334ff000833338b9d08f72cc607
+91938d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b
+96968b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a
+8e1eb506ff00453334fffea0cccc15f8d30aff026fb33404f8d40a0ef738f88af84f
+1597969599977e98721f758b79827b79829178946e8b578b56698b528b6a9c789c7b
+ffffe780007bfffff68000738b768b7598ffffed80009efffffb8000086c7778748b
+710855c27db8dae2a7ce1e8b9f829a7a9a73a1628f758b818b7c897d8a828a848a88
+8b7a8b78908ba58b988d9692950899839d87a28bbe8bc0a98bc78ba8809a7a9e8e91
+9193928b948b91888e858d849186958b08fb4ffb7e1591889589928b928b948c948b
+938c938b948ba98bff000f3334fffffa6666ff0010ccccfffff6999a9cfffff68000
+96fffff780008b7b085e4e875a76568fb91e8ba08d979e9d08f703f744154d708775
+5a83b7abbb9c9aabb09f74591effffd03334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738f7e1f85715b58da58b1e90898d851e7b845d837189088c7905898d8a8d
+1ea08a05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b8889
+1f79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999affff
+f8e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9
+ccccfffffbb333ffffed3334fffffe4ccd08808a05878a88891f79078bb38ca4a3b1
+8a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3
+338b9e08f71007ce6da45e1e678b68687d7b08ff002d3334fffe81cccc15f8d30aff
+026fb33404f8d40a0ef738f810f89b157b7e7e7b7b987e9b9b98989b9b7e987b1fa6
+fbce15f71c07a68da68b1e90898d851e7b845c8371898a838c848f85ab8996908b56
+08fb01078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8b
+a98a8f928b998793698d7a8e8bb408ffffe33334ffff23cccd15f8d30aff026fb334
+04f8d40a0ef738f827f8a41578807e7b7c987e9c9c98989a99839a751f76fb5215fb
+1f072e82686e1e868b878f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b
+9da6a990a68be008f72607a68da68b1e90898d851e7b845d837189088c7905898d8a
+8d1ea08a05989184611ffffffc3334fffe9ecccc15f8d30aff026fb33404f8d40a0e
+f738f7aff76b158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b
+998793698d848e8bb408ff0036199a07ff0003ccccff00013332ff00034cceff0000
+b334ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1
+a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380
+009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff0001e666ff0002
+199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff001880008e8dff
+000033348fff0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b89
+8dfffffd4ccc8effffffb334ab88fffff0b334fffff14cccfffff84cccfffff7b334
+0872ffffe6800005ffffeaccccffffea666679fffff66666ffffea3334fffff73334
+08ff0096800007b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a
+05989284611fff005f3334fffe45cccc15f8d30aff026fb33404f8d40a0ef738f7f6
+f77115f7970aff00183334fffe40cccc15f8d30aff026fb33404f8d40a0ef738f795
+f80e159ea29d9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff0007
+33348bff0017cccc8bff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000
+ff00028000fffff88000ff000280008bb408f4078b91ffffffccccff0005b334ffff
+ff999aff00056666ff0012199aff00156666ff0013ccccff00138000ff0013b3348b
+08aaa47a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8b
+ff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1e
+ffffdccccc8bffffdcb334ffffde8000fffff16666ffffee999afffff76666ff0024
+6666ffffe9b334ff000e8000688b678bffffe74cccffffec4cccffffe7b334ffffdc
+b33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b087a83768560
+858a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28b
+a48b928ba98a8f928b998793698d888e8bb408ef078b9390948f9008ff00793334ff
+fe76cccc15f8d30aff026fb33404f8d40a0ef738f7e8f803159ea2ad9da08b08aa9a
+7a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8bff0023
+4ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce73a45d1e678bff
+ffd74cccffffec4cccffffe7b334ffffdcb33486fffff8b3348bff00054ccc8b8e8b
+a7899888928a8e8a8e868b7a83768560858a878d7d8c8708ac8894868b630820078b
+627e88638986838c7c8f85a98ca28ba28ba48b928ba98a8f928b998793698d888e8b
+b408ef078b9390948f9008ff00263334fffe81cccc15f8d30aff026fb33404f8d40a
+0ef738f80cf84f15f8ad0ad1fb3615f8b80affffbc3334fffed7cccc15f8d30aff02
+6fb33404f8d40a0ef738f7eef73115d707997faf839f8b08ccbcdbd5cf68b3511f6e
+8bffffd98000ffffe68000ffffed8000ffffe88000fffffab334fffff93334ff0000
+4cccff0004cccc8b8e8ba7899888928a8e8a8e868b7a83778560858a878d7d8c8708
+ac8894868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a
+8f928b998793698d7a8e8bb408f71304ed07ff00068000a6ff002f8000aea48b08a7
+a27b422e6774741f758bffffdb800090fffff38000b308ff00203334fffed4cccc15
+f8d30aff026fb33404f8d40a0ef738f82ef79d15f8e30aa9ca15f8e40affffc23334
+fffe19cccc15f8d30aff026fb33404f8d40a0ef738f836f81d158f8b908b8f879184
+927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a918b8e8ba7899888928a8e
+8a8e868b7a83778560858a878d7d8c8708ac8894868b630820078b627e8863898683
+8c7c8f85a98ca28ba28ba48ba08ba98a8f928b998793698d7a8e8bb408ef078b9390
+948f909ba29b93928b08ffffd83334fffe67cccc15f8d30aff026fb33404f8d40a0e
+f738f7aaf79b158e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc88bbd5d
+9e58a0699981948ba308a6a098a41e9e8bad81995108a28c82d605809264956c8b5a
+8b5e6b8b618b5eaa7bb978bd7693778b768b707380738b748b78978491087b9b85a6
+8a9908ff004e3334fffee9cccc15f8d30aff026fb33404f8d40a0ef738f810f80215
+d006908bff00084ccc8cff0000b33491088d9d05ff00004ccc8efffffdb3348c888b
+083bea06657e8b80055c807366898a8a891e897305ffffffcccc89ff000133348b8d
+8b08b3fb4b065fa07aa81ea78bac93a5a6087b9c057b7f778b7b8b087c859db11fff
+fffe3334ffff16cccd15f8d30aff026fb33404f8d40a0ef738f7a1f7f615250748a8
+72b81eb08bff00204cccff001b6666ff000cb334ff0011999aff00034cccff000480
+00ff0001b334fffffd80008b888bffffedcccd8dfffff333338e848c888c88908b9c
+939f91b6918c8f89998a8f086a8e82908bb308f70007a08dbe8b1e8d8a8d881e888a
+818a828b778b788c748c87878b7c8f87a98993828b5d08fb090778757477768b086d
+779bbe1feb07a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b7c8f87
+a98993828b5d08ff006d3334fffe8ecccc15f8d30aff026fb33404f8d40a0ef738f8
+34f81f15ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff
+94999a05fffff3e666ffffe54cccfffffd8000ff00004ccdfffff4999aff001c8000
+08ffffd5e666ff00694ccd05fffff34cccff001f999affffff3334ff000c6666ff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b818c748c87878b7c
+8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff46cc
+cd05ff00044ccefffff6199aff00031998fffffb3334ff0008199a8bff000633348b
+ff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de666ff001e999a
+ff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b
+7d8c748c87878b7c8f8708ffffda3334fffe65cccc15f8d30aff026fb33404f8d40a
+0ef738f892f81515ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1
+199affff94999a05fffff3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff
+001ce66608ffffdae666ff00694ccd05fffff48000ff0020b33489ff000b4cccff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b868c748c87878b7c
+8f87ff001c3334fffffb8000ff0002999880ff000e3334ffffdc800008ff0008b334
+ffffea3334ffffdc6666ffffae666605fffff3e666ffffe54cccfffffd8000ff0000
+4ccdfffff4999aff001c800008ffffd5e666ff00694ccd05fffff34cccff001f999a
+ffffff3334ff000c6666ff002080008e8f8f8b9a878f748affffeecccd8affffe633
+338b758b818c748c87878b7c8f87ac87ff0001e666fffff4199aff000f199affffdc
+e66608ff004f6666ffff46cccd05ff00044ccefffff6199aff00031998fffffb3334
+ff0008199a8bff000633348bff0003b332ff00051999909608c6ff00819999ff0034
+999affff7d0001058ffffff60001ff00036666fffffb4ccdff0008199a8bff000633
+348bff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de668ff001e
+999aff00079998ff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f8708ffff7c3334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738ff01c63334f80515a7ff0023e666ff0004b332ff00044cceff001c199a
+ff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe
+3334fffff7ccccfffff2ccccffffed3334088b8b8a8a63530867c4057f9f8b92a88c
+8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3334
+ff0001199afffffd9998ff001a9998ffffda333408ff003833343b058888ffffcecc
+cc518b8bffffe1999affffdc8000fffffdb334fffffb4ccdffffe3e666fffffe3333
+87878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3
+a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a
+8f8f8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b334ff0025
+4ccd08ffffcbccccd505ffffe83334fffec2cccc15f8d30aff026fb33404f8d40a0e
+f738f7fff845158b9b8a8d058b59896e786f8d8b1e89898b7b05888e898f1ea68b8f
+81967108d6fb4205917e907a8b868b85898588837c65847b838b858b869086918690
+868e818b088178827974ab81961fb78b94a19eb7bef70da6ccacd1949d979fa38b08
+8f8d8d8e1f8b9b8a8d058b71897a74628d8b1e8a898b7b05898d888e1e8e069a9689
+811f8b888a8489860846fb2d49f730058a8f8a918b8e0892928f9d8e8f8d8e1eff00
+0f3334fffe3fcccc15f8d30aff026fb33404f8d40a0ef738f7c8f84315818bffffee
+cccc8efffffb33349008858a058b6f8772866dff00063334fffffd4cccff00088000
+fffffeccceff00074cccff0000e66697b7a0919e8b08d78bfb26fb6e0586838b8a8b
+8708878f88951ef759068e9e91a896affffff8e666ff0002cccdfffff8b334ff0001
+8000fffff86666ffffffb33308847a057c6a8183678b08418bf722f76605989e8b8f
+8b8d088c078e878b871e898b6f89798b08ffffd03334fffe41cccc15f8d30aff026f
+b33404f8d40a0ef738ff0181ccccff01facccc15968bff000a666887ff0007ccccff
+fff8e668ff00143334ffffef1998ff00119998ffffce999a8bffffa8e6668bffffc4
+33348962fffff6e668ffffdee666fffff1b332ffffcab334ffffe0199afffffa1999
+fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff00388000ff009fe666ff00
+27b334ff001de666ff001d33321ffffffd6668fffe83b33415bdff004c1998ff0032
+b333ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36666ff0025b334
+7aff00168000ffffe4ccccff0013ccccffffdce6668bffffbfb3348bffffc2ccccff
+ffb34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc
+999aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b0886ffff724c
+cd15f8d30aff026fb33404f8d40a0ef738f80ef91a15f8e50ad3fb7d157e8b6d827d
+840881a605ba9ca597b7a6089bfb990675967c991ea7068e8e8a871f76078b568c6a
+654f8a8b1ea0078d8f8e8e1eaf069b999aa11ff72c07ab89957f1efb6a16f8e60a0e
+f738f80ef91a15f8e50aa7fba2157f7d9698a6a7bedabdc5774c1f8b5d6a69536361
+6d736e8b6d08dc06aa8b9bb196a808a38505826d8468886e08fb62068bbbb6b5bbb1
+b8aea1a28bc108ba68987960807c7d1e8b8390838b83087b7983811efb47b015f8e7
+0a0ef738f80ef91a15f8e50af722fb7d15aa7694771e778b69818a728a7f897a748b
+0878879a8e9ca8c0e2bfac75661f8b6e75746e7bac88ba708b510846495d3b66579b
+a0959895961e998b9184918493819583ab8b089ec498d0c45592731f848b868a838a
+0889a305b791a9a58bb408fbbf167e8b6e827c840881a605ba9ca697b6a6089bfb99
+0675977c981ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8f1eae069c
+989aa11ff72c07ab89957f1e0ef738f80ef91a15f8e50af72cfb911522c107896857
+8b8b5a05788f859d1e9b068f8c88891f77078b608c7073668a8b1ea0078c8c8e8f1e
+99069d908ea01fbdfb2407879705b8cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e92949797928b08909389831ffbba9f15f8e60a0ef738f80ef91a15f8
+e50af72efc2015a888c6431e768b76857c8308868fa0f722f72d8b866a8b8afb118b
+7f3a059490a4909a8b08d8af5755505b5545694f99a3979794951f998b9284938394
+829681a18b08b89cb0b51ffbc5f73715f8e70a0ef738f80ef91a15f8e50af730fc26
+15a186c2521e7d8b7685757a08780737b274a7b793aeb01ec39015676f4a3b5a43a8
+f31e8bddc5f2f72d97087707fb017868498050999aa69ba48b08ec953c7a1ffbf6f7
+3815f8e60a0ef738f80ef91a15f8e50acafb6715708b8384805b08758e0590a792b3
+8ca6089d0686908a9b1ef74206563052fb0e6c22086906aef703c3f710a5b908fbc1
+7515f8e60a0ef738f80ef91a15f8e50af3fb53156e747d6e1f8b7b9375af77089f80
+059b95a2a68ba908a67c9d671eea5e15f8e80a2529157b8263638b69085fb47ba2b0
+a89cb41e8ba486a4639f08fba0f70815f8e60a0ef738f80ef91a15f8e50ac7fb9d15
+758f54c41e998ba191a19c089e07df64a26e5f8468661e538615afa7ccdabdd56e23
+1e8b394f24fb2e7f089f07f7029eadcd97c67c7c707b728b082b81da9c1ffb28b015
+7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068d8e8a871f76
+078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89957e1e0ef7
+38f80ef91a15f8e50af710fb56154c8a2d5653933dc1c691d8d8c17cd45b1f88fbc5
+154658dae0e8c2d4cfc5cb62fb0dfb0b495a501ffbe7f779157e7e9698a6a7bedabd
+c5774c1f8b5d69695463616d736e8b6d08db06ab8b9bb196a808a28505836d846888
+6e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68987960807c7d1e8b8390838b8308
+7b7883821e0ef74aff01a18000ff00eb666615f75f078bff0023199aff0000b334ff
+0023b3348cff000799988bff0002ccccfffffe8000ff0000199c898bffffdf9998ff
+ffebe666ffffe14ccefffff1999affffcc800073ff0000e666fffff94cccff000299
+9afffffa8000ff00053332fffffc6666ff001a999aff000b199aff000d3334ff0003
+8000ff000b199a8b08ff0009b3328d7dffffec199a1fffff414ccc078bffffcf6667
+fffff03334fffffd1999ffffd7199afffffe3334fffffc8000fffffc80008bfffff3
+b333ff00038000fffffc8000ff001cb332ff00009999ff0014e666ff0000999aff00
+1fb3348bff001bcccc8bff000e6668ffffff6666ff001d3332ffffff6667ff000380
+00ff000380008bff000c4ccdfffffc8000ff0003800062ff0001ccccfffff6199aff
+0002e6678bff0030999908ffffe1e666ffff05999a15f8e90aff0296e66804f8ea0a
+fffdab199804f8eb0aff02144ccc04f8ec0a0ef74cff0122b334ff01b4cccc15ffff
+f3b334ff000b1998fffff58000ff000c4cceff0009e666ff0011999aff000a8000ff
+000ce6661e8bff0004b334fffffeccccff00038000fffffeccceff0004199afffffe
+ccccff00041998fffffc999aff000533348bff0004b33408ff000e9998ff000f3332
+ff0015199aff002ab334ff0015199aff001dccccfffff16666ffffc7ccce1e8bffff
+da999afffff28000ffffe18000ffffdd8000ffffdce66608ffffd4b334ffffd54ccc
+05ffffc6b332ffffc58000fffff6999affffe3e6678bffffdd8000088bff001de666
+ff00013333ff0012b3341eff00664ccc06ff0012b334a6fffffecccd8b1fff000799
+9aaaff0005ccccb7ff0000999aff00118000fffffc8000ff0002e667fffff88000ff
+00013332fffffa199afffffecccefffff6199affffd67fff81fffff14ccdffffeae6
+668b08ffff97e666068bff001c199aff00286666ff0027ccccff0002e666ff0002e6
+6608c6ff0038ccce05ff00214cceff00203332ff00193332ff0019999a8bff002c80
+0008ff003f3334ffffcc999aff0019b332ffffd0999affffbf199affffd7999affff
+d0199affffdce6661eff0060b332fffe3c333415f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff0180ccccff01f6666615ff00194c
+ceff00174cccfffff0b334ffffda66661f8bffffe2999affffde199affffd34ccc51
+fffff7ccce08ff0002e666ffffed4ccc05ff0009e666ff00013334ff000a999a8bff
+0007999a8b08ff00214cccff002b4ccefffff69998ffffbde668ffffb2333257ffff
+f03334ffffeb80001fffffe233328bfffffab334ff000d800084ff000a8000fffffa
+3334ff00083333fffff84ccc92fffff44ccc8b08fffff3b334fffff3b334fffff4e6
+66fffff6999affffe89999ff00313332fffff04ccdff0023199aff0045999ac9b8ff
+004d33331f8bff003fccce5bff0016ccccffffdd8000ff0005cccc08ffffff6666ff
+0001333405ff00303334ff0016999aff000d8000ff001866668bff001ecccc8bff00
+11999afffffbccccff000e4ccefffff1ccccff000e6666fffff33334ff000ce666ff
+ffebb334ff0009ccccffffe166668b0835ffffe76666ffffc7e668ffffecb332ffff
+f7ccceff0005e666fffff44ccc99ff00148000ff00024cceff00134cccff000b199a
+ff00256666ff00286666ff0007199aff000f33321fff0002999afffdfa999815f8e9
+0aff0296e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff0190
+8000ff01cc999a15ffff578000ffff904ccc07a9ff0030199aff00296668ff00414c
+ccff00284cccff0037199a08e8ffff57800015ffffcf8000ff00aacccc068bff001d
+3334ff00003334ff0016fffe8cff0004999c08fffffeccccff00011998ffffed4ccc
+8b05fffffbe6688bfffffce666fffffc3334fffffdccccfffffd6668ffffdb199aff
+ffd2b332ffffbbe666ffff9fccccffffca8000ffffac4cceff0001cccefffff73332
+ff00036666fffff03334ff0011999a8b08ff00774cccffffca3333068bffffe5199a
+ffffe9e6668bffffe6cccefffffe3334fffffc8000fffffc80008bfffff3b333ff00
+038000fffffc8000ff0012b332ff00009999ff00176666ff0000999aff001ae6688b
+a28ba1ffffff6666ff0012b332ffffff6667ff00038000ff000380008bff000c4ccd
+fffffc8000ff00038000ffffe34cceff00024cccfffff3ccccfffffee6678bff001b
+800008ff0035cccdff0028666607ff00083334ff0008b332ff000b333292ff0005e6
+68fffffd999aff00036666fffff9999a1fffff95e666fffecce66615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff01c0999aff01
+13999a15ffffc86666ffffe2cccc62ffffdce6661effffe9ccce8bfffff86666ff00
+0eb333fffff73334ff000bb333fffff86666ff0009e66781ff0008cccdfffff3b332
+8b08fffff4e668fffff4e66681fffff44ccc73ff0031ccccffffec3334ff00214cce
+ff00488000ff00338000ff0035ccccff0049b334ff0038b332ffffd8ccccff0032e6
+68ffffbe80001fffffe6cccc8bffffea4ccefffffaccccfffff58000fffffbe66608
+ff000bb332ff0061b33405ff0015999afffffdb332ff0012ccce88ff001c19988bff
+001180008bff0013e668ff00013334a3ff00024ccc08ff00096666ff0027ccccffff
+fbe666ff00024cd005ffffdeb334fffffc8000ffffe04cccfffffd19986c8bffffea
+66668bffffeae666ff00011998ffffeb8000ff0001ccd008ffffec3334ffff577ffe
+05aaff000bb334ff00163334ff00026666ff001519988b08b1ff001dccceffffe6e6
+66ffffc033341fffffc2ccccfffedd666615f8e90aff0296e66804f8ea0afffdab19
+9804f8eb0aff02144ccc04f8ec0a0ef74aff0143199aff0156999a15ff00133332ff
+000c999a9eff0000ccccff000a33348b08ff00394cccff000ce668ffffc7ccccffff
+e2ccceffffbfb333ffffe78000ffffe2b333ffffe34cccffffdb199affffdeb3329f
+ef1f8bff000d3334ff00016668ff000f9998ff00036666ff0010ccce08ff00054ccc
+ff00154ccc15ff000fccceff00353334ff00254cccc6ff004dccccff001d199a8b92
+fffffdb334ff00054cccfffffb4cccff0002e668ffffc4e668ffffee7ffeffffdbb3
+32ffffe76666ffffdf333465ffffdbb332ffffd5e668ffffede668ffffcab3328bff
+ffd1ccce08ffff893332ff00436666ffffe8b334b8ff004c999aff001f9998ff004a
+4cccff00324cceff00324cccffffe5199ab8ffffb066661efffff0ccce8bffffe933
+32fffffb6666ffffee999a8308c6fffe85199a15f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff01708000f87315ff0068b33406ff
+ffd26666ffff8e8000ffffd1b332ffff8de666ffffd83334ffffa7199a08ff0004b3
+34fffffbe666ff0027ccccff0001cccd05ff00214cccff00636666ff00203334ff00
+61199aff00418000ff009fb33408fffff6b3349205fffff61998fffffd19987effff
+fc8000ffffe9ccce8b08ffff87800006ffffec199a8bff00013332ff0005e668ffff
+f58000ff00024cccfffffe33348bffffff66668b8bfffffe3334ffffff6666ffffe3
+e664fffff9999affffdce668fffffb4cccffffe19998ff00066668fffffe333491ff
+ffff4cccff00066666ff0000ccceff000ce666ff002eccccff00134cccff0004199a
+ff0012b3348b08ff0012e666fc8215f8e90aff0296e66804f8ea0afffdab199804f8
+eb0aff02144ccc04f8ec0a0ef74af818f87e15af9e6e711f8b6d68717c80087a9505
+68a2839f8b9c08a5a0a5ad1ee45415b36ba855526569611e8b6b9b76ad7408948505
+7d8080827c7f757782728b750852b36cc6d3adc1b61e8bab7da46e9e086aa205a39b
+b3a78baf082efb98157163a1bd1f8b9b96b2baab08a57b05af769a718b7108535f7d
+721eff00036666fb5215f8e90aff0296e66804f8ea0afffdab199804f8eb0aff0214
+4ccc04f8ec0a0ef74aff01db8000ff0151cccc15ffffecccccfffff36668ffffece6
+68ffffff3332fffff5cccc8b08ffffc6b334fffff31998ff00383334ff001d3332ff
+00404cceff00188000ff001d4cccff001cb334ff0024e666ff00214cceffffec199a
+271f8bfffff2ccccfffffeb332fffff04ccefffffc999affffef333208fffffa999a
+ffffeaccce15fffff03332ffffcaccccffffdaccceffffc4e667ffffb23332ffffe2
+e6668b84ff00024ccefffffab333ff0004b332fffffd199aff003b199aff00118000
+ff00243334ff0018999aff0020ccccb1ff00244cceff002a199aff00121998ff0035
+4ccc8bff002e333408ff0076ccccffffbcb334ff00174ccc5effffb36666ffffe04c
+ceffffb5b334ffffcdb334ffffcdb332ff001ae6665eff004f999a1eff000f33328b
+ff0016b334ff0004b334ff001180009308ffffad4cccfffeb4666615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef754ff014a8000ff00
+eb666615f75f078bff0023199aff0000b334ff0023b3348cff000799988bff0002cc
+ccfffffe8000ff0000199c898bffffdf9998ffffebe666ffffe14ccefffff1999aff
+ffcc800073ff0000e666fffff94cccff0002999afffffa8000ff00053333fffffc66
+66ff001a9999ff000b199aff000d3334ff00038000ff000b199a8b08ff0009b3328d
+7dffffec199a1fffff414ccc078bffffcf6667fffff03334fffffd1999ffffd71999
+fffffe3334fffffc8000fffffc80008bfffff3b333ff00038000fffffc8000ff001c
+b333ff00009999ff0014e666ff0000999aff001fb3348bff001bcccc8bff000e6668
+ffffff6666ff001d3332ffffff6667ff00038000ff000380008bff000c4ccdfffffc
+8000ff0003800062ff0001ccccfffff6199aff0002e6678bff0030999908ff00a333
+34f7a215ff0009e6668bff00096666fffffc666692fffff9999aff00121998fffff0
+ccceff000fe668ffffd399988bffffb1999a8bffffca3334fffffe3334ffffdb199a
+fffff7ccccffffe23332fffff319985bffffe36668fffffab334fffff580008b08ff
+ffc9999afffffa199aff0064199aff0032e666ff008fe666ff0023b332ff001ae666
+ff001a4cce1ffffffdb332fffea9cccc15ff002d0002ffffffffffff00448000ff00
+2d999a8bff00897fff8bff0039e668fffff1e664ff0031b332ffffe64cccff0021e6
+66fffff0b334ff00144cceffffe78000ff0011b332ffffe066688bffffc619988b54
+468bffff8c33348bffffc1b334ff00133334ffffc4e666abffffe01999ff0010999a
+ffffef6667ff00143332fffff81999ff0016999a8b0823ffff4dcccd15f8e90aff02
+96e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef738f80ef91a15f8
+e50afb56044c892d5653943dc1c691d8d8c17cd45b1f88fbc6154559dae0e9c1d3d0
+c5cb63fb0dfb0b4959501f0e78d4f84215fc42f842f842070e78f704f82015f7f4fb
+fefbf40664f82015fc42f842f842070e55f886af15fb78f81efb76fc1e050e55f859
+c915fc008bf74af7cf05f777fbe815fb77f81dfb77fc1d050e36d48215f81ef778fc
+1ef776050e36eeaf158bf800f7cffb4a05fbe8fb7715f81df777fc1df777050e55b7
+f84115f778fc1ef776f81e050e55e4f82915f8008bfb4afbcf05fb77f7e815f777fc
+1df777f81d050e36f84af85315fc1efb78f81efb76050e36f830f826158bfc00fbcf
+f74a05f7e8f77715fc1dfb77f81dfb77050ed2ff001c999aff00d6b33315f8ed0a0e
+d2ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199c
+ffff07199905fffecc6666ff00fc7fff15f8ed0a0e6cf746f7701553b95dc3c4b9b9
+c3c45db952535d5d521ef3fb7f15f8ee0af84d04f8ef0a0ed3f711f76415f75cf79e
+f75bfb9efb5bfb9d05fb97f79d15f797fbedf796f7edfb96f7ee050e6c7ca5f833a5
+01bca5f833a503f7ae7c15f8ee0af84d04f8ef0a0e6cf7ae7c15f8ee0af85804f70d
+ec2afb0dfb0d292afb0cfb0d2aedf70cf70cecedf70d1ffc2b04f4e1e0f5f433da24
+24343c2222e035f41ff7ff04ebda3d2b2a3c3d2b2a3edaebebd9d9eb1f0e6cf7ae7c
+15f8ee0a0e6cf7ae7c15f8ee0aa504f83307f707e82ffb07fb072d2efb061f0e6cf7
+aef85915fb152222fb15fb15f423f715f715f3f3f715f71523f4fb151f7104fc3307
+fb072ee7f707f707e9e8f7061f0e6cbbf77615fb15f422f715f715f3f4f715f71523
+f3fb15fb152223fb151ea516f83306fb072f2efb07fb072ee9f7061e0e6cf898f768
+15f71522f4fb15fb152322fb15fb15f323f715f715f4f3f7151e7116fc3306f707e7
+e8f707f707e82dfb061e0e6cf7ae7c15f8ee0af84d04fb63f76407fb072d2efb06fb
+072fe8f707f706e7e8f7071e0e6cf7ae7c15f8ee0aa504fb072fe8f7071fccf7228a
+8b1ff76407f707e82ffb07fb072d2efb061f0efb84f7ae7c15f86707fb152323fb15
+fb15f322f7151f0efb84d4f85915fc6707f715f3f3f715f71523f4fb151f0efb88f4
+aaf755a901bca9f755a903bcf77e1543c452d0d9bccbc9d34fc3484a4e53461ea916
+bfbab6bcbeb960545c655b50575fb6c21e0e9af756f7561543fb5cf746f710f73efb
+0f4af758f73bf708fb618b4cf75545fb55fb578b050eeccdbdf70eedf70ebd01f711
+bdf70eedf70ebd0314fcf711f7b315fb06e420f71af709f1ecf710f70038f705fb1d
+fb142d25fb0b1ef771f73f15f8f00a5afb3f1570a175a6a6a1a1a6a675a170707575
+701e0ef893f9d2f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff44cccff
+fffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08bac8ba8
+7b8d818b828b8189838808ff000cb334a2928dff00204ccc8b9473ba868b3b08fbea
+f70815c85fb170c18b9d8b9b8f9790848185808b7b8b56a559957affffb8e6688bff
+ffe81998ff005180008bff002580008b908c918c8f087b7b576a6e8b848b82918193
+9389948a948b089f919398a278917f1f688bffffeae666ff00094ccdffffd9199aff
+001db3337a98fffff2800097fffff9800091988ea3a59c9f088bbab6ab9a9d91a297
+8595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b908b9108cab19bb61e
+9589057c7075608b5c8b7b927e93817a93788d828b578b65724e5c08f7afc6158bac
+60a08bb38b9e929f929eff001eb334fffff6999aff00361998ffffe480008bffffc3
+999a8bffffc64cccffffd0199cffffe38000fffffb1998fffff28000ffffdd80008b
+fffffc8000ff000080007cff0011800092899389928b08979b8da81ffccf52159a99
+9d92a28ba08b9d839e7d7a7b7680748b798b78967b9c08f7d5fb8c159968af4a9b74
+b451b66fb6718dc1a1ada7a79898ff0029b334ff0017b333ff00234cccff000d4ccd
+d9ff001d4ccdc6ff0016b3338bf7038bcb5dbe60a908b385f71f5e8baf52a1c3a08b
+aefb1e6362868a8b059d98979492939d9cb1ff002580008bff003e80008bff005699
+9affffbab334ff0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff00
+0fcccc73ff000ecccc67a05ed287b543524f3f64360875ff0009800064ff000d8000
+618b328bffffa36666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605
+ff0028199affffda199aff0059e666ffffcee666e28bae8bb4989b9208f709f7ac15
+b2a17185827570661f678b729771a1a69f9e99b28b08bff77715969d91a41f920792
+838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b334828b3c
+8b7b5987747a95728e798b788b76827d7f086f8a058c918b8f8b90089d7f8f818073
+846e1e8b7f918392878f88968b998b08a106fffff48000ffffe73334ffffee8000ff
+ffddcccc83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e
+8b878b888a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba0
+8ba85e8f8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006d
+ffffff8000ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6
+cccd71a572ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff0037
+3334ffffe63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e
+8baa8b9d7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000
+ff0001333487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8
+199affffff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000cc
+ccff00063333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd
+087b06747788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff
+0004b333ffffffe666ff0004b333ffffff3334ff0004cccd08a58a05967f99829b8b
+a98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf99
+9ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a578
+918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccffff
+f0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333ff
+001f4cccff00364ccd977eaa7d948b08a1989fa6997f9f741f7b8bff0005b3347aff
+fff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08a106c176db5f8b
+3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3e666ffffd9e668
+fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffffdab334b1fffff2
+4ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366808d7a488b3e8b
+ffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72ff72e05ff004cb3
+34ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2caf2c4ba9cffffdb
+80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff0025199cfffff1
+9998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999affffd2ccccffff
+cc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a91ff001e80008b
+fffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e7f7c9f6ba75997
+8e958c938b948bc06596708b6f8bfffff24cccffffefb334fffff7b334fffff24ccc
+08a58d05fffffeb334fffffb4cccffffff4cccfffffcb3348b87087e937c9e1e0ef8
+26d7dd15839384969594929393829281808384831ef8d2f76f15f7199ef7526d8bc5
+8bb4fb298f27903290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d9888e4849a84d75ec183a48bc08bcd93c1a3a193969a8b9e088ba1
+7a858596a49397988b9f8ba1719f8b8baa9b999c8b9f8b9c7d9d669f08fc952b15a9
+9cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb2e808b82f7
+1291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7df72782908b059a8b9590929788
+8a868b858b086875bdef1f0ef7bff755f7eb1587b0fb39848bfbe4f73d9994bc05d6
+8b8f49f71d8b908b988b9f8d8b8a8d8b908c98789e82a68bc88bd5a88bbd8b9c8399
+7a950892968e968b968ba0809a74958f948e938b918b9785977f9708c906eaf7088d
+c4d2fb4292fb141ffb0d067596788f7a8b428b6240398b08fb208d15f706918bfb99
+fb068205f855f729155f8b34d58492088381bb550570716f7e6e8b7a8b73906e9408
+8107a576a382a18b978b998d9d8f8b639c78b18b088f06888389848b888b72977ea5
+8908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f776786821ff7
+05421563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f33fb0f
+157174959c1f8b9aad85cba4a29498908b8b089891837c7052725c1ff7cbf7b81568
+fb018a421e768b678c588e79a372a66ca9ab8cb78ca58b08f737ee796a1ffc272915
+9e8ba5739f8baf8ba9998ba88b908a9089909c8094828b810865fb0e6561737e96a3
+9ca49fa11e0e82f7d2f8f0159b929e909a8b08c3c783fb062a5d793c1f788b808d80
+8d08fb173e1590908e8e1f8b99878d3189498d88898b7d05889388951e8c06908b9d
+7da77608f71ffb0405ff00016666ffffff199a8c8aff0000999affffff333308ffff
+fae66607ffffff8000ffffff6666ffffff4ccdffffff3333ffffff3333ffffff3333
+08fb0e2f056b74797e848b0889067f8489861f8b7e8f8a058bae8ca0a3b18a8b1e8c
+8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08dbff003d4ccd8bffffcbb3
+330572807d721e8806878888871f8b7a8d89058bbc8dacaeb1898b1e8d8d8b9c058f
+878e881e8706778197a61f8bff0028e666c2ffffd7199a05aa7192858b8808858989
+821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e8e8c8b990590858c7d1e8a
+06868b8a8d5fad08fb1ff6058a8c8a8d8b8c8b8e8c8f8f8d08f711e905b1a696939c
+8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d05878f8991918f
+88861e8b868985767b082f4605fffffc199afffffd3333fffffcccccfffffd999aff
+fffd199afffffe333308f7370797869587a38b08f727b5e0d7c06edffb291f768b6b
+8a5c88608956887e8b087907898c87911e8f8ba08d938b089ba385691f8bfffea7e6
+6659ff0028199a057b9985928b8f08908c8f971e0ebbf7d67b15f73ff70df717f734
+f73dfb17f711fb35fb32fb1bfb10fb3efb33f70ffb18f73e1ff71bf730155a32a7f7
+01ea41b54e1fffffb3199a8bffffd79999ffffce6666fffff44ccdffffa6999a088a
+0694f734f2f701f7308b08f727f70dfb06fb2b3e584d391f66f71f15769d799fa09e
+9da0a0789c7677797a761efba68715a09c9ca0a09d7a7676797976767a9da01e0e6c
+f7ae8315f70feeeef70f1f8bff00653334ffffbbccccff00561998ffffa2999aff00
+1a6668ff0013999aff00189998ff003a199aafff0020e666ff0012b334088b76a47f
+1e8a06ffffef4cccffffff1998ffffc1ccceffffc6ccceffffe23332ffffd84cceff
+fffb999aff00009998fffffb8000ff00006668fffffb8000ff00004ccc08ffffe919
+9aff007980007175ff0013b334ffff9c80008a8b05ffffeeffffff003a6666ffffdd
+999aff002f999affffccb333ff0025800008648605ff0031333360ff002b999affff
+d2999aff00136666ffffc9ccccffff9b6667ffffeb199affffb46666ffffa633348b
+ffff954ccc08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8f30a5728
+156c8b66688389088d8605ff000d800090ff0015199aff0001e666ff0010ccccff00
+00b33408ff0001999affffd66666057a987e9f1ea18b95998c9f08ff00016666ff00
+1c333305ff00093334fffffe1999ff0008b332fffffeb333ff0008b3348b938b978f
+929508879205818c818e888b7c8b729c798f868c868b868b089162158f8a90608189
+050e6cf7ae8315f70feeeef70f1f8bff00668000ffffba199ae2ffffa0b332ff0019
+3334ff0012e668ff00378000ff002c4cccff002e1998beff002bb33408639005ffff
+cc6666ffffda3334ffffdd6666ffffd01998ffffef199a50ffffffb3348bffffffb3
+32ff0000199affffffb3348b089fff0064999a71a1ffffe93334fb0d05fffffb3332
+8bfffffb3334ffffffb334fffffb3332ffffffb332ffffe1e667ff0027999affffc2
+cccdff00381998ffffef8000ff0000e668088a068076728b1fff001ee66679ff0037
+199affffddccccff00156666ffffe78000ffff9de667ffffe93334ffffb6b333ffff
+a766668bffff97199a08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8
+f30a5efb2a15618b78a479ab08767f05ff0010b333ffffe36666ff0013e667ffffe4
+999aff002219998108ff00014ccd6a0579987e9f1ea18b95998c9f08ff0001b334ff
+0020333305ff0026e666ff000cffffff0014b332ff001de667ff0007b334ff000de6
+66087798056e5e6685768b08fffffee6667215ff0001199a8bff0003999a8bff0004
+6666648189050e6cf7a8f702158a64958d86af0588a715a08bb091a8b8089f7e0583
+7d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba808a09705
+9d6b9e72b58b0890fb2515f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005
+5865685b7a50088a8b9ff071a174fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e28f7bb15999697999a977f
+7d7d7f7f7c7d8097991ef721169997979999977f7d7d7f7f7d7d7f97991e0eedf7e7
+f85e15f8f00a9ffc6b15db07b88fb59daca708c552a7a752c505a7ab9db490b908db
+b23b0687b77bb76eae08c3c36ea75454056ba7629e5a8f08d9633d075b8761796a6f
+0854c2706ec0550570697960875d083c62da06905f9d61a669085353a86fc4c205ab
+70b47aba86083b070e33f70a5f15f712c9e3f58bf72d8bf72337f70525c508f710f7
+31fb23fb3ffb34fb11fb35fb4c1f31f92315f7106bf716fb1e8bfb398bfb41fb1efb
+18fb106da380a585bd8b08f761f72df73df748f751fb1af736fb6b1f728b57847385
+080e33f819f8e415fb124d33218bfb2d8bfb23dffb05f15108fb10fb31f723f73ff7
+34f711f735f74c1fe5fd2315fb10abfb16f71e8bf7398bf741f71ef718f710a97396
+7191598b08fb61fb2dfb3dfb48fb51f71afb36f76b1fa48bbf92a391080e655db9f7
+00bdf7eabdf7327612c5bd6fbdf70ebff711bd6ebd13fa80f7abf88815edd43c302e
+433c282843dae81fe8d6d8eb1e6dfc19158dfb03218b8b5df68b8dfb0fba8b8ef70f
+f68b8bb9218b8ef70305f7099bd6ed8bf48bd95fdc3fb10813f700ceb1abdc8bbd08
+5906595c2c24344ddacd1e59068b60a535d4630813fa8041665c3f8b378b2ccc21f7
+1279080e655eb9f702baf7eabd01c5bdf723c1f725bd03f78df703158dfb02218b8b
+5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf408f70038f704
+fb1dfb152e26fb0b1e8b2ccc21f7127908a9f81915edd43c302e433c282843dae8e8
+d6d8eb1f0e6575bdf7eabaf702b9f70e7701c3bdf725c1f723bd03f7c7f8351589f7
+02f58b8bb9208b89f70e5c8b88fb0e208b8b5df58b88fb0205fb097b40298b2208fb
+00defb04f71df715e8f0f70b1e8bea4af5fb129d086dfc19152942dae6e8d3daeeee
+d33c2e2e403e2b1f0ed375b9f7ebbc01c5bdf7eabd03f7abf80315f8f40af771fb40
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb0e
+fb0eee2cf70cf70df1edf70b1f0ebde0ba65b9f817b412bcd4f737d0f706d213bcf7
+51f8a315ccaafb0f3d1f8b376c4551737a846382768b088a06837c83831f7607868e
+868c1e137cf80094058f8d89891f8bfb519679c7aa8bf74ac88d058f8e8d928b948b
+948895868e08508c8bf835758d5a808bfc2605888988871efb5706b4a9b9df8be908
+f457f707232f525950739b7ba3a8959f981e8b928a93898e8a8f89908b9708a9a191
+b81e0e36f7e5baecba01f70ed2f714ce9bcf03f70ef8f615395007807e7e7b829082
+951fcffc78069679c6aa8bf79105abb9b5a7ca8bad8bb4648b5d8b5a784e79667b69
+6d4c8b5a8b569f68b06a08cb839396055eb17aa88bbe8bb799cb9eafa0b2a9cd8bbb
+8be047b6458b598b4b69706708f73bde079899a197938790801f2ce606748c050ea1
+30abf735a7f73fbaf747a901f3d1aebf9ad19fbea5d103f7998c15a4a0a7abad9d6e
+73667374706c74a2b01efb31f87615fbc9076f7e7b621e8806868888861f8b798d89
+058bd08daf1ea7f759f1fb6f0665816e708b5c0852c36bbabcc3a9c81e8bb56ca763
+9608f770ecfb5907a78c05afd0888b1f8d8d8b9e0590888e861e8806627e9ba71ff7
+c807a8989ab41e8e06908e8e911f8b9e898d058b4588681e6f8c8bfb632a8b8bf742
+789a6b8b787c8bfb42258b8bf7636f8a0568458e8b1f89898b7805858e88901e8e06
+b4987c6e1f0ef76b5db9d6baf8a17712f70dcef74ad64ac0f754ce13f6f8455d15f6
+b921068cd605f74b9dd5f71d8bf7458ba09193938b978b9c79967d08ae8efb2cf743
+058a8a898b8a8b08fb42078bfb2a60fb0ffb267f0813fa94f81205a48e97931e938b
+997da07108ae8efb11f723fb16fb23ac8805a0a59a99948b0893907f721f92fc1205
+fb299663f7078bf72f08f745078a838b8b1efb2bfb44ac8805999b9d9b978b948b91
+838b768bfb4bd5fb13f74b79088b8a8c41218b8b5d0513f6f68b8dfb0fbb8b050e27
+4bbbf7b6bcf70377f718bc01bcd2ddd2e6d403f7a5f7a115e98ed1d38bf208ed3ebd
+251efb65838bfcdfa47db9a08bf79fdd888bfbe3f7849094af8798fb428505e6f862
+158b4d66535582088bf703778f587a8b2a398e8bf76bf7189305b8ce733f1f0ef7bd
+f8cdbf01b2d6f7bbd6f7bad603f82dfb0d159779caaa05f7c8def80af718bbaa6046
+1e8b617e5e6f5908bf82a29405a6bd99ba8bb78be24bd0398bfb448b50fbbf76fb3e
+08810671f77045f78cfb2e8b3d8b414a8b2f8b60995da65908c183a193056fb97db8
+8bb608ccabb8baf719defc08fbd21e0ef755fb04c4f802baf767ba01f72cc3f808c3
+03f81e5415203cdeeef5e0d9f0f5db3925283c38201f20f8221542634d438b2408fb
+15f703fb03f717f719f701f704f7141e8bf24dd342b3c0a1a3a5aecb08a1b305a7bc
+aaa4ae8b0895ba6f065a8b5f646345086b560577677572757d747d6e84678b678b6e
+927499759976a476af086cc00563d15eb25a8b086f5c9506ae8baa72a75a08a16305
+b244a476bb77080ef70f65ba82baf86ab97fbb12f74ed5f75ad6138cf74eb0156085
+5e825a7e085c07134ceba4f398f7028b08139cf7038bf27eeb7208ba075a985e9461
+9108f87907b891b996b89708bb07132c3773247ffb0f8b08139cfb0e8b239737a308
+5b07b97fb881b98608d5fc7615f87207136ca789ac8ab18bb28bac8ca68d08fc7207
+6e8e6a8d668b678b6a896d88080ef785a8c3f724b3e0b4e576d4c301bcbbf767baf7
+12bbf767bb03f75ef7a115525bb8c9c5b7b9c7c4bd5e4f525e5a4e1f8f6315e0cbd3
+dd1f8bb775b841afb99ec695d38bf38bf70073f7045a089dad8d9e05fb03bd20a527
+8bfb078b2a773f613e615b618b490834d74adc1ef841f71115c4bb5d4e4c5a61544e
+5dbcc3c4b8bdc81f8cb41538434d371f8b42bc65bb735d785181428b228bfb00a4fb
+03bc08786a8c7605f70359f471ef8bf7088beba0d7b5d8b4bbbd8bcd08df45c9391e
+0ef716fb39c2ecbdf767bcf7a2ba01b2bde8d5b2c9c1d4f701d203f753f78c15c9b5
+5b514f5d5e52525db7c9c6b9b9c31ff7b9fbac158bc6a5c9cad2c4ccaddb8bee08ed
+34f704fb38fb09fb063afb041e8b639667b3577a8f828b7b8b083747463630d24adf
+e2d7d7dd1f8bb07daf6ab35fc181b98bd308dcd5c3e3e9dc342d1e8b29765b595555
+4f523c8b308b46c157d88bb58bb8a7bac508759e0561646f80628b6b8b70a78bbd08
+0ef73dfb04ac01dfd6f707d6f707d6f0d703f8af9a15f773079dc5a4b9a7ad9f6195
+608b5d8b255a3f575708fb528915f7db079ed9abc8b3b59b6f93618b5308fbeb078b
+728d738f7369756076597c08946a05bd93b799ae9fa154ad61be6e089c990563b87b
+ab87cad6c7ebee8bf7188bcf77cc63c908487a057a7379697c6008f700078bbe69ba
+6db5085480056a6571637f6284c169b772ab086a9275790572707266785c83b97db0
+76a70874895f7c05a261975d8b5a088bfc2d9779caaa8bf7e9059fcdaac3b3b89b70
+935b8b45088bfc0c9679050ef722c4c0f70ac1f77bbc01f749cbf78dcb03cdf77815
+f77e8b91bd055fa47ab08bb708d0c4c7cfcec44f461e8b5f7a625e76088659f77d8b
+059899a497938794801ffb3c06aaaaa2ae8bb208ee34d7282532392c1e8b64a26aa9
+6c08fb32067f7e767b829183941ffb3f04f8e5069899a496948793801ffce7067f7e
+767c829183941f0edefb3c9c01dad6f705d5f705d6de9a03b7f8b615a265975b8b51
+088bfc269679cbaa8bf7e8059dcea8c4b4b89b71945b8b46088bfc0f9679caaa8bf7
+db059cd5a8c7b5bb9c7393628b5108fbd5078b39a557b26608af670592858d868b87
+8b858289808b888b878b878c087b7af70a8483f70c7c7b8b82057f897f831e888b86
+8d85910872a40570a584b58bdc08f7f3078bc37cbc6cb408427f056b6574657d6384
+c27bb671a908437f05716e74667a5f83b47db075ab087489050ebe9376f889b701f8
+afb903f8e1f8b1156c856a886c8b588b5c92699608836105af7eb384b08b978b978c
+968c08fb90fb8dfb0bf70c6363f70bfb0bfb44fb43b263f745f743f70bfb0db3b3fb
+0bf70cf78ff78e058a828a818b808b66935f9d6408b595057eb382b78bba8ba98fa9
+91ab080ef776fb05bacdb5f75fba01f74fc3f870d603f963f721154f6764651e618b
+589262b8abe1b3ccc38b08bda959551ffbfaf814159c67914398259efb2b918ba65c
+57fb2b7a6b278b08725cbf06c08bd88dcbf73ab362be7dc18b08d8d2c8dfdf58ca37
+1f4b8b3855674572e88ef75f58f70608417c055950683e752c7de17bca78af7ca65e
+9d5e8c08827505b27a9684a25f9c6bb1fb2c8bfb0e089a7fb497058bf748d6f714b6
+bd080ef77fcdf80d15a55cf712f1058e8d8c8c8d8b8d8b8d8a8d8708cf2c058d898c
+8a8d8b8c8b8d8b8d8d08f70aed058e8d8d8c8d8b8e8b8d898d8608ce2e058d898c8a
+8d8b8c8b8d8b8d8d08f709eb058e8e8f8d8d8b8d8b8c898e8708d328b7a62ef72905
+8790898d898b898b8789878708fb0c2943ee05888f898d898b888b8989878808fb0e
+2742ef05898f898c898b888b8989888908fb3ffc3d15a55cf712f1058d8d8d8c8d8b
+8d8b8c898d8808d02c058d888c8a8d8b8c8b8c8c8e8d08f70aec058e8e8d8c8d8b8e
+8b8c888d8708cf2e058d898c898d8b8c8b8c8c8e8d08f709ea058e8e8f8e8c8b8e8b
+8c898e8708d328b7a62df729058890898d898b888b8889868708fb0c2944ee05878f
+8a8d888b898b8989878808fb0e2742ef05898e898d888b898b89898789080ebdf7a3
+b901f752d6f708d603f8887d15b384b4920538e261e98bf308f70cb9fb0c0690e5b4
+e1dae0086291668505443e6236812808fb080680ee63e044d808608e698805d936b4
+35903108fb0c5df70c068b23612d3934089a86cc9005dae5b3f7018be108f708068b
+fb05c821c549080ef713f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb
+0ff70b4dd432f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b96
+8b9c7a8b5e8b557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef74af8
+41f71015be9292961eb08baa30f28b08d9bac1d8b37bf4fb061f4a8b51586d8b818b
+82938b958bacf7039b8bf308c85ac624fb046149551e8b24f7027d8b668b7d818883
+8b698b57bd498b08227130563dbd55d61ff28baae6b08b9a8b8d768b668b57836164
+830876f72fa00769937ebf8bb6080ef716f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff7
+1ffb298b518b346b8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706
+f70c8bf7108bf7043bb0488b080ebdf7daf900152ffb0c2a22242ef70125ed21e0fb
+03e4f706eaf5f0eefb06ed32f70139f703080efb5781f75101f7c7f94e1589fcd505
+ffffffcccc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e6
+66ff004d8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000
+ff00148000fffff680000888f8a0050e4e81f751f6a0f81b7701f79fb3f724c403b7
+bf1564af74cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cc
+cca67eaf79baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8b
+c38bff00314ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f69
+8b0859345a3d1f0ef77ffb67f75197f751f89b7701f7a2aef804ae03f932f824158e
+fc4805ffffeb8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa8
+8000ffffce8000ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe7
+8bff0044cccccdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00
+098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb2
+8000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff0000
+4ccccc088df869050ef77bfb67f75197f751f89b7701f79fb3f802b003f7c7ff021b
+1998158bff0048e668f802fb538bffffb666660588ffffd5999a158efbe905ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00098000ffffdd
+8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd919
+9aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df8
+0a050e2cf7afbd01f713aef71dd203f736f76915aec1ab9ba78ba48b9c708b718bff
+ffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f71eafe3ff
+0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060efb2fff01cf999a77
+01f70daef70bae03f7a7ff011ab33415fb0bffffd3e6668bff00624cccf70bff002b
+666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8bff
+0185999afb2effffbf4ccc8bff0095199a050efb2ff8ec7701f70caef701ae03f79c
+f8ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4d
+c1ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b
+8bff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ff
+ffe980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffe
+c3199a15fb01ffffd366668bff00654cccf701b7050efb14f75f9a1589ab055b8c75
+998ba408b3ca8fb0c1e89ed11e8bd75297508f088a5e05b28aa5858b6c0859518b61
+5e27873063aa66b71e978b9c8e9d900887f73f15998ba08c9e8b088ef76705748a75
+87758608fb110489b8057c876f86888b086f7d98a4c3f71599b21fbf8b8f80ad8b99
+8b978d989208858e91899388998189949090878b828b828c828d8a8a8191a387058d
+8d8d8d8b908b957797808e7d8e8e9d778b778b54845c884e87fb0d718b348b679c5b
+ce8b089c8ba18da49108d0f762158c938c9f8b9f08b683a269707f6e741e8b81905b
+8d80a28fa48ea38b0887fcd015798480868187088c62057e918397969596a01e8d07
+77b815d1a3baad8bb38bb368a06b8b848b7f898388088a6a05928d958f948b928ba4
+898b738b6e527073827783747c7679787a73848b848b879089918b08958b9b8f928f
+a6989798a4930876ae15b19b8bf7445a8805f71ff7dd158d8d8d8d8e8d8989888989
+8889898d8e1e0efb50f760f84415aca47563646b74716d6fa8acaca6a8aa1f80fbb8
+1575da63d32b8c878b878888858b5eb76d9580c548c39c8cfb26087c92868f928e91
+991e8ef729b778d0caaba9a0a68bab8793868d8a8b428a54456c3908f71e07b790b3
+ad8bc108c35db15b556260581e8b57b065ba88080ef7865eb9f702baf7eabd01c5bd
+f723c1a1bdd4bd9fc1f725bd03f78df703158dfb02218b8b5df68b8dfb0eba8b8ef7
+0ef68b8bb9218b8ef70205ff0028999aff00058000ff00238000ff000f8000ff001d
+199aff0016199aff001c3332ffffea6666aefffff06666ff0029999afffffa199a08
+8dfb02218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf4
+8bf70038f704fb1d8bffffcbcccc8bffffd1999affffef8000ffffdb6666ffffe466
+66ffffdcb334ff001b199affffd2e6669cffffca999a8bfb158b2e268bfb0b8b2ccc
+21f7127908a9f81915ff0024e6668bff00216666fffff4ccccff001b3334ffffed33
+34ffffe0999affffd9999affffede6665a8bffffcb66668bffffcf4cccff0011199a
+ffffcc6667ff0021999affffd6e667ffffe4b332ffffecccccffffde3334fffff499
+9affffda66668b082843dae8e8d6d8eb1fff00aa3334fffec8b33415ff00208000ff
+00276666ff00124cccff0032199a8bff0033cccc8bff00318000ffffee999aff0032
+6666ffffdfe666b3ff001b80009eff00216666ff000b199aff0024999a8b08edd43c
+302e433c281fffffda4ccc8bffffde4cceff000b6666ffffe4999aff00134ccd08ff
+ffdc4cccff00f6800115ff0017199affffe2b332ff000d6666ffffdb199a8b648bff
+ffd7e666fffff2999affffda999affffe8e666ffffe24ccdffffe8e666ff001db333
+fffff2999aff002566668bff0028199a8bff00278000ff000d999aff0024999aff00
+16e666ff001d199a080ef7ddfb38b9ebb9f75dbce8bcf723adf37701c5bdf73ebdf7
+0ebdf73ebd03f964c0158be561cf47ae08f701f76c05944e9466a74f08b7870569e9
+7ebf7fee08769505ffffc39998ffffdaccccffffd5b334ffffeab33459ffffedb334
+ffffe73334ff0048ccccfffff4e668ff00326668fffff59998ff0055999808769505
+305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb
+0efb0eee2cf70c1fff0004b3348bff0004b332ff0000199aff0004b334ff00004ccc
+ff001eb33237ff0051199affffc5999aff005e199a8bf70d8bf1ed8bf70b08fc4df7
+ce15ff0047b3348bff003a6666ffffd5199aff001a199a50ffffa1ccccffffe51999
+4cffffab33338bffff9b999a8bfffff6199aff0000999afffff66666ff00014cccff
+fff6800008ffffff199a062843dae7e9d6d9eb1fff00a98000ffff6a8000158cffff
+f8999aff00008000fffff880008bfffff866668bffffb48000ffffcf8000ffffbd33
+33ffffb7e666ffffea8000ffffff199aff00073333ffffff8000ff000733348bff00
+0766668bff004cb333ff0031e666ff0042199aff0046999aff0015b33308ff00274c
+ccff0038333415ffffeee668ff00331998ffffddb332ff00274cceffffd1999aff00
+17e66608f701f76c0593ffffc99998ff00081998ffffdcb334ff00158000ffffce66
+68fffff1e668fffffb8000fffff0e666fffffb8000ffffef999afffffb4ccc08a969
+05cf9ab09cc3ab08fb0afb6b0572937a8b758bfffffbe6668bfffffbe666ffffffe6
+6687ffffffccce08ff000a999affffcf4ccc15ff0000999a06edd43b2f2f433c281f
+ffffb5cccc8b50ff002c4ccdffffe7199ac8e6ff001b1999ff0044199aff00534ccd
+8bff00614ccd8bff000a4ccdffffff800095fffffee666ff0009b333080ef763fb6d
+76f70eb9f703b9f7eabdf723ad12c5bdf712bd6ac1f725bdf712bd13fdc0f938f796
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b6b8bffffe23334
+fffff9e666ffffe54ccc80ffffe6199aff000ae666ffffe2b332ff00063334ffffdf
+b3348bfb158b2e268bfb0b8b2ccc21f71279088dfb02218b8b5df68b8dfb0eba8b8e
+f70ef68b8bb9218b8ef70205a18eff0014999aff0005e666ff0012ccccff00084ccd
+ff0019cccefffff58000ff001c4cccfffffa4ccdff001d80008b08f70df1edf70b1f
+fc21f73f15ff000a80008bff000a3334ffffff199aff0009e666fffffe4ccc0813fe
+c0ffffd0ccccffffd78000ffffe3999affffc380008bffffbc999a8bffffbb999aff
+001f199affffc41999ff00306666ffffd8999afffff4e666fffffdcccdfffff48000
+fffffee666fffff4199a8b082843dae8e8d6d8eb1fff008ee666fffead199a15ff00
+318000ff0029ccceff001c999aff003e33348bff0040e6668bc9ffffe4999aff003f
+6666ffffceb332ff002ab334ff000a3334ff0001e666ff000a999a8cff000ae6668b
+08edd43b2f2f433c281ffffff4999a8bfffff4e666ff0001199afffff566668d08ff
+ffc8999aff013b4ccc15ff0032e666ffffe1e666ff0020999affffc880008bffffc3
+33348bffffc1e666ffffdfe66653ffffcd199affffe1cccdffffcd3334ff001e3333
+ffffdfccccff0037999a8bff003d80008bc9ff0020b334ff0037199aff0031ccccff
+001e4ccc080ed3fb6d76e3bae7bbf7ecbdf722ae01c8bef724c0f725be03f7918015
+8d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f70099e0ed8bf7028be45f
+cf47ae08f700f76d05944e9566a64f08b8870568e97ebf80ed0875960530525a782a
+6f08a86805cf9bb09bc3ab08fb0afb6b0572937a8c758bfb148b2e288bfb0e8bfb03
+e12cf57c08a9f81c15f8f50a0ed375b9f7ebbcba76f709adf37701c5bdf7eabd03f7
+abf80315f8f40af771fb40158be561cf47ae08ff00184cccff0030199aff005cb334
+ffffd2e6669fb5ffffa43334ff002c999aff003fccccff007e666605944e9466a74f
+08b7870569e97ebf7fee08769505305359772a6f08a96905cf9ab09cc3ab08ffffbb
+6666fb11ffffa7999ab67761e1ffffd6333470ffffcecccc0572937a8b758b08fb15
+2e28fb0efb0eee2cf70cf70df1edf70b1f0ef74ffb6d76e3bae7bbf7ecbdf714b401
+a5b6f6bef724c0f725bee9b503f900f766158bff0041999affffe6e668ff0039b332
+ffffd51998ff0027e66808f732ff00b2cccc05844e8b65964a08b57b0582ef8bc09a
+ed08799b05246b57862689089e6205d189b391c99b08ffff586666ffff4f999a05ff
+ffdf6666ff0012199affffd94cceff000a4cccffffd4e6668bffffd280008bffffd6
+e666fffff36666ffffdde666ffffea666608ffffd8e667ff0029199aff004acccdff
+0043199affffe0999aff0022e668ffffb43333ffffbc1998ffff9a3333f605c97bb3
+85d18d089eb405268d589124ab08787a059a298b56822708b69b0596cc8ab184c808
+ff0062199affff90e666ffffb6800049ff001f6666ffffdd199aff00494ccdff0041
+b334afffffd74ccc05ffffd98001ffffd8199affffe93333ffffc94ccc8bffffc399
+9a8bfb03e12cf57c088d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f700
+99e0ed8bf70208fb72f73f15f8f50a0e4081bdf7f0bd01afbdf7f0bd03e1f76a15f8
+f60a5916fb0ff026f70ff70ff0f0f70ff70f26f0fb0ffb0f2626fb0f1e0ef73781bd
+f7f0bd01afbdf750bdf702bdf750bd03e1f76a15eadadaea1eff001b999a8bff001a
+4cccfffff94cccff00176666fffff43334ffffd8e668ffffd7999affffe7ccccffff
+c9199a8bffffc3cccc8bffffc3cccdff00183334ffffc91999ff00271998ffffd799
+9affffe8999afffff43333ffffe5b334fffff94ccdffffe466668b082c3cdaea1f59
+16fb0ff026f70f1eff002b999a8bff0028ccccff000cb333ff0022999aff0015e667
+ff0022999affffea1999ff0028ccccfffff34ccdff002b999a8b08f70ff0f0f70ff7
+0f26f0fb0f1fffffd466668bffffd73334fffff34cccffffdd6666ffffea199affff
+dd6666ff0015e666ffffd73334ff000cb334ffffd466668b08fb0f2626fb0f1ff7eb
+ff007e199a15ff0021b334ffffe0199aff00154cccffffd319988bffffceb3348bff
+ffceb333ffffeab334ffffd3199affffde4cccffffe01999ffffde4cccff001fe667
+ffffeab334ff002ce6668bff00314ccd8bff00314cccff00154cccff002ce668ff00
+21b334ff001fe66608ff0029b334fffee6666615ff00271998ff00286666ff001833
+34ff0036e6678bff003c33338bff003c3334ffffe7ccccff0036e666ffffd8e668ff
+00286666ff00176666ff000bccccff001a4cccff0006b334ff001b999a8b08eada3c
+2c2c3c3c2c1fffffe466668bffffe5b334ff0006b333ffffe8999aff000bcccd080e
+f7f781bdf7f0bdaa7712afbdf7f0dd48bdf801bd13f6f855f86915ffff78b33407ff
+ffd8199aff003e800045ff0029ccccffffb0e6668b08fb0f2626fb0ffb0ff026f70f
+1fff004f199a8bd1ff0029cccdff0027e666ff003e800008ffff6fb333bdff009380
+0007ff00278000ffffbfb333ff00471998ffffd4cccdff005066688b08f70ff0f0f7
+0ff70f26f0fb0f1fffffaf99988bffffb8e668ffffd4ccccffffd88000ffffbfb334
+08ff008a800007fc31fb9315eadadaea1e13faeada3c2c2c3c3c2c2c3cdaea1ff842
+16f8f60a0ef8e581bdf724bdf72ebd01afbdf7f0bbf774bbf7f0bd03e1f76a15f8f6
+0a5916fb0ff026f70f1eff0070cccc8bff005e6668e0ff000eccccf70108f77406ff
+000eccccfb01ff005e666836ff0070cccc8b08f70ff0f0f70ff70f26f0fb0f1fffff
+8bb3348bffff9f6664ffffa5ccccfffff5ccd0ffff8e333408ffff22333206fffff5
+ccccff0071ccccffff9f6666ff005a3334ffff8bb3348b08fb0f2626fb0f1ff96216
+f8f60a0e8781f71b01f71bf77215838b8478837e81928297848b08817b70798bff00
+113333fb42ff0050cccd1fa08b99909297f760ff01626666f713ff00b500028bff00
+1399988bff00069998fffffc4cccff00046668ffffebb3348b628b69fffff733347d
+ffffe4cccc39fb33ffff713333fb91fffff0cccd8bfffff066668bfffff4999aec7b
+8b080ea69c7601f771f8b415838b8478837e7e948595848b818b7b708b798b61b4fb
+13a54c7576fb1d218b758b8292848f81088682817e8b858b84986d9a8b8f8b918d8f
+8d8b87916c958b988b9ab4f70ff70db22a9957a18b08968b9397979294869383928b
+9a8b96a88f96ac8b8ea58b968ba06e9948f720f73df74fb77e8baf088b978099788d
+8b8b8bbb728b808bfb07fb043b3d3df7259bbc6f8b080e339676f81dc6f78c7701f7
+79da03f7c897158bab80e78af790f38bbf869c8b089b90909fa085987b1f758b5c87
+248a8bf71a97d58ba2089b8991771e68067a86847c1f8b7196428cfb18238c588f7a
+8b087b857d777591889c1fa08bba90f38b89fb7a80fb068b6b08798e879e1eae069c
+908f9d1f0ef893f7a8f7f2158b988d979095a7baff00244cccff000ab334ff000bb3
+34ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b6260768b6a
+8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b82a35c908bdb08
+f7eafb08154eb765a6558b798b7b877f86929591968b9b8bc071bd819cff0047199a
+8bff0017e666ffffae80008bffffda80008b868a858a87089b9bbfaca88b928b9485
+9583838d828c828b087785837e749e85971fae8bff00151998fffff6b334ff0026e6
+68ffffe24ccc9c7eff000d80007fff00068000857e8873717a77088b5c606b7c7985
+747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c868b868b85084c657b
+601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1a4c8ba08fbaf5015
+8b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e668ff001b80008bff
+003c66678bff0039b333ff002fe666ff001c8000ff0004e666ff000d8000ff002280
+008bff00038000ffffff80009affffee8000848d838d848b087f7b896e1ff8cfc415
+7c7d7984748b768b799378999c9ba096a28b9d8b9e809b7a08fbd5f78c157dae67cc
+7ba262c560a760a5895575696f6f7e7effffd64cccffffe84cccffffdcb334fffff2
+b3343dffffe2b33450ffffe94ccc8bfb038b4bb958b66d086391fb1fb88b67c47553
+768b68f71eb3b4908c8b05797e7f828483797a65ffffda80008bffffc180008bffff
+a96666ff00454ccd62ff00376666ffffef3334ff001db33382ff0023999afffff033
+33a3fffff13333af76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58b
+e48bff005c9998ff00464ccdff001f6668ff001eb33308f74df749fb50f74605ffff
+d7e668ff0025e666ffffa61998ff0031199a348b688b627e7b8408fb09fbac156475
+a59194a1a6b01faf8ba47fa5757077787d648b0857fb7715807985721f8407849388
+958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948bda8b9b
+bd8fa29c81a4889d8b9e8ba094999708a78c058a858b878b86087997879596a392a8
+1e8b978593848f878e808b7d8b087506ff000b8000ff0018cccdff00118000ff0022
+333393969ca6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f
+8b8e8c90fffffc3334ff00008000fffffbccccff00008000888b878b76858b768b6e
+b8878b738b82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00
+008000ff0029cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334
+a571a46ba8668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8cccc
+ff0019ccccff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c
+8b799d84908bff0004cccc8bff00026668ff00008000ff0004ccccff00018000ffff
+fecccc8fffffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668
+ff00009998fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334ff
+fff9cccc7e887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b
+06a29f8ea4a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb
+4cccff0000199cfffffb4cccff0000ccccfffffb333408718c0580977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b3347f986c99828b08757e77707d9777a21f9b8bfffffa4ccd9cff000d
+b3338b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655a03bb78bdb8b
+ae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff00261998ff00
+0d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc65ff000db334
+7508acffffcaccccff001f4cccffffca3334ff0009b33463b096899cce8bd88bff00
+479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05ffffb34cccff
+ffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c7aff00248000
+78ff002080006fa271ff00148000ffffcb6666ff0016199affffdae667ff000e6666
+ffffbcb333a56cff002c33338bff002ecccd088bff00386666ff002d3333ff0033b3
+34ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffffe180008bff00
+0e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77ab6fbd7f8881
+8a838b828b56b180a68ba78bff000db334ff00104ccdff00084cccff000db3330871
+8905ff00014cccff0004b334ff0000b334ff00034ccc8b8f0898839a781e0ef738f8
+0ef91a15f8e50a6cfb81157e8b6d817d860881a505ba9da595b6a7089cfb99067496
+7d991ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8e1eaf069b9999a2
+1ff72b07ac89957f1e0ef738f80ef91a15f8e50a3ffba2157e7d9698a6a8bedabdc4
+774c1f8b5d6a695363616d736e8b6c08dc06ab8b9bb295a808a38505836d8468876e
+08fb62068bbbb7b5bab1b9aea1a28bc108ba67987960817c7d1e8b838f838b83087b
+7983821e0ef738f80ef91a15f8e50ab1fb7d15aa7794771e778b69818a728a7f887a
+758b0877879a8e9ca9c0e2beac75661f8b6e75746f7bac88ba708b510846495d3b65
+589ba0959895961e988b9284908494819583ab8b089ec498d0c45592721f848b878a
+838a0889a305b791a8a58bb4080ef738f80ef91a15f8e50ab7fb911522c207886857
+8b8b5a05788f859d1e9b068f8c88891f77078b618c7073658a8b1ea0078c8c8e8f1e
+9a069d8f8ea01fbdfb2407889705b7cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e93949697928b08919289831f0ef738f80ef91a15f8e50abafc2015a8
+89c6431e758b76857d8308858fa1f722f72d8b866a8b8afb118b7f3a059390a4909a
+8b08d8af5755505b5545695099a3979694961f988b9284938394829781a08b08b89c
+b0b51f0ef738f80ef91a15f8e50ac2fc2615a186c2521e7d8b7585767a8a868b838b
+850837b374a7b793aeb01ec39015676e4a3c5a43a8f31e8bddc5f2f72d97087707fb
+017868498050999aa69ba48b08ec953c7a1f0ef738f80ef91a15f8e50a65fb67156f
+8b84847f5b08768e0590a792b38ca6089d0686908a9b1ef74206563052fb0e6c2208
+6906aef703c3f710a5b9080ef738f80ef91a15f8e50a8cfb53156e747d6e1f8b7b92
+75b077089f80059b95a2a68ba908a67b9d681eea5e15f8e80a2529157b8262638b69
+085fb47ba3b0a89cb41e8ba486a4639f080ef738f80ef91a15f8e50a50fb9d157590
+54c31e998ba191a19c089e07df63a26f5f8468661e538615afa7ccdabdd56e231e8b
+394f24fb2d7f089f07f7019eadcd97c67c7c707b728b082a82da9c1f0ef738f80ef9
+1a15f8e50afb22fb7d15f8e60af78fb7154c892d5652943ec1c592d7d9c17cd45b1f
+88fbc6154559dae0e9c1d3d0c4cb62fb0cfb0b4959511f0ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb3efb5cb7f9b6b601edc5c4c503f769fb301552f9b6c406f761b6
+15fbd4fe0df7d4b7fb27f9b6f727060efb3efb5cb7f9b6b601f72ec5c4c603f768fb
+3015f9b6c4fdb607fb9af9e11560f727fdb6fb275ff7d5fa0d070efb88aff7c503f7
+17f79f15f8d10a0efb8895f7c503f770f79615f8d20a0e4889ac6cb2f78cb2cbb2f7
+4dac12f5e0f7afac13bef7e4f84115fb25e9068bde9c90d18e91918ba085915e8aff
+ffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c
+868b38082d3564e14b3564e1fb39078b387a86458885858b76918508137ef71e0a13
+be5d0a137e77436650218b084c0664799ebe1ff746f725b2fb25cbf725070efbce89
+acf794b2cbb2f768a9a67701eada03f78af8411543f72e06cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fb163b64db4b3b64dbfb39078b3880
+864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08
+f739d3b243cbd3070e4889ac6cb2f786c691c6f765ac12669cf712e0f7269cf70cac
+13bf8066f7a915ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0007199a8b92
+fffffee666ff0006e6668908ffff23199a078b387a86458885858b76918508137f80
+f71e0a13bf805d0a137f8077436650218b084c0664799ebe1fff00b84ccc07ff000e
+e666fffff880009afffffb3334ff000d199a8ba38bcc98aaf6fffffcb334ff000419
+9afffffa4cccff0001e666838b75595a7a6f8bfffff1199a8bfffff09999ff0005e6
+66ffffef4ccdff000a199a08f73b078bde9c90d18e91918ba085915e8affffd1199a
+8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808
+ffff884ccc07fffffacccdff0001199a86ff0000999afffffb33338b084e8b554c7e
+4a080e5589acf78fad73a8f717b2f713ad12f3e0f775e813def7bef87f15fb01ca06
+a89aaed3d0d074fb13fb00575f2a1e13be728b638d808e08f717f70107fb56d2156b
+3764dffbde078b387a86458885858b769185b88cff00314ccd8cff0023b3338bff00
+2366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e0713def7c00a0e
+83fb40b8f709aaf7a2adf7b9ad01f3e0f76ce703f7a4f8fe15670a38fcad15f76607
+df8bff0012b334fffff14cccff000e4cccffffe8b33408f6fb4205ff001cb334ffff
+d16666ff002b4cccffffd5999ac78b9a8b9c8d9590ff00038000ff0006e666ffffff
+8000ff0009199a87935e8b72ff0021999a71ff002b666608fb12f76605b699e5bf8b
+f48bbd7ab467ad5bb84d8e4c8b5c8b6184678b688b5c8c5c8c85858b76918508d188
+9c868b3808fc38078bfb23ff000bcccdffffc0e666ff002b3333ffffda199aac6ea5
+89b88b08a1d49dafa1799e7d1f6c8bffffefb334ffffed3333fffff64cccfffff2cc
+cdfffff8b33481fffff24ccc837d8b086a7fa7f7481f0efb1e81bb5bb4f80bac12af
+de4bd8f735d913acf7b9bb15916cff000a999a70ff003266668bff00264ccc8baf9c
+ff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccdffff
+f88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727078b
+ff0029999afffff94cccff001fb332fffff4b334ff0018199a08c9ff006c999a628b
+ffffd4e666ffffb4333405ffffe2b334ff001eb332ffffd66666ff0008199a638b08
+3938555273977fa2a89da0981f8b928a92898f8a8e8a918b968baab596b18bff001c
+199a8bb0fffff44ccc97ffffbc4cce08ffffd6e666ffffb7e6665cfffff480000513
+742b7346568b478bffffc76666ff001ab3336dff0027999afffff2e66708ffffddb3
+33ffffc3b334b38bff001e4ccdff0035199a05ff0007b334ffffff4cccff0007e666
+ffffff999aff0008199a8bff0022cccd8bff001e333393b7ad089f9b05ffff80b333
+fffff3999a15ff006db333ff00c03334ff0013999aff000533338bfb18058b7e8584
+8385717669746f8bfffff5b3338b82ff0001b33383ff0002e66708ffffe38000ff00
+14800015fffff4ffffff000db333fffffacccdff001133338b9a8bb8a0b9d59e08ff
+000b999aff0003199a050efb9581c2f7edb201e4da03b6f841157d877f831f7e0786
+8c8a8f1ec6ffff07e66606fb08ffff34199ab48bff004bb333ff0085199a05ff0004
+e666ffffc6199bff001d8000ffffe8cccdff0029e6668bb98bbda1b2b789ff000a4c
+cd85ff0005b333818c71776d83718b087085a9c91f8bff0047cccdff0067199aff00
+b53333ff0000e6668b0595998f941f9f078bff00028000fffffee666ff0001b334ff
+fffde666ff0000e66608ff001b3334ff002fe666628bffffe54ccd5cffffabb3338b
+8bb205cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bfffff7
+8000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdffff
+fbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bffff
+f466688eff000699988bffff91199a08daffff6bb33215ff006d3334ff003e199a07
+0eef8aa8f7c1b2f78ea701f1dbf7dbdbbda603f88c16d88bb745994408a68b85f729
+058a948796728b08727ba3a41ff88507a7999bb41ea506908e8e901f8b9e898c058b
+2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffb62fbdbf76207a799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901e
+a506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d89058be88dafb2e289
+8b1e8c8d8b9e0590888e861e7106637c98aa1ff795f7dbfb95076f7d7b621e710686
+8888861f8b788d8a050e3e8aa8f803baf75ca9a57701e3d6f75ad6b8a403f848d715
+f76407f267c2431e648b507b484808f7e7750777827c8779877a8867857b8b088d72
+05898d888e1eac8f059f947b521ffc89076e827c691e7806868988861f8b788d8905
+8bce8dafb2cf898b1e8d8d8b9e0590878e871e78066a819aa81ff78e07bbbab6a5a8
+8b08c3a1783a1ffb73076e827c691e7806868888861f77d207d98ba93c965a08a48b
+85f71b059c808f7a787a9da91e0ec68aa8f7aeadf7a6a701f5dcf838a603f74fd315
+ff00ec999a07ff001acccdfffffc4cccff0010e66680ff00154ccdffffe9199a08f7
+4afb5a059f758b718b79088c84a38b05dc8baf36965308a68b85f729058a97849375
+8b7a8b7a9b72a808fb83f79805839485938b938b949497a9a708f734f72b05bcb9af
+94b3900891908e901f8b9e868c058b4e8a68633f8c8b1e898a8b7805868f888f1ea0
+069c9981851f8b82837f787808fb4ffb4405ffffe8cccdffffea4cccffffee1999ff
+fff3b334ffffec199afffffae66608ff00e3199a07a7999bb41ea506908e8e901f8b
+9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f
+7e7b621e7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e87
+1e7106637c98aa1f0e3489acf807a8f766a9a67701eadaf7bfa603f7cfd4159d728d
+748c790884a407db8b9f42975408a68b85f71c058a978493748b7a8b779875ab08fb
+09f74105888f89908b8f8b8f8c8f8e8e08d7df05a4a5b7a1a68b08920690918e901f
+8b9e878d058b558964685b8d8b1e88898b7805878e87901e8f06a39083831f8b8187
+7e7b7bffffc6999affffc1199affffddccccffffe19999ffffcf999affffea666708
+ff015ee66607cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+08fc49078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08ff0056666607ff00073333ff00024ccdff0006999aff00014ccdff
+000533338bff001480008bff000e80007a9978080ea28bb2f85976f71bb301b5a5f8
+8fa603f71af91a155c8ba69a57910877fb56a589058fb8a8e5d58b08f79506928f89
+851f8b868884858408fc15fcb105858389838b8408819086991ef80f06d98bb74599
+4408a68b84f729059488a1721efc0e067a838f941f8b908e91909408f807f89b059f
+a78e928b930894858e791e0efb4c8bb2f7f4b201aba5f7baa603f7e8b215fb6c8bf7
+79f7f005949993998b918b8f8b8e898d878e898b838b888b758a728908fb58067b8b
+878d8a9a08738f6cfb2ca586059edfa898a98b08f7228bfb80fbfb05858288858b86
+08849386a61ef74006dc8b9e42975408a68b85f71c058a97819e758b080ef788fb40
+b8f71e7693acf8dbac1213b0ff02e21998f70d15ffffe23334f83905fffffc3334c1
+ff0004800099cf8f91918ba0859108fb1789fb68fc8f0587818887898b898bfffffd
+199aff00056666fffffce666ff0007999a08fb61f890fb258d0585858b769185d087
+9189844008ffffd7e666fc3005fffffa199affffc4199a7fffffe6e666528685858b
+769185a98cab8ca38ba38bb38aa98a91918ba085914990fffffa999aff001eb333ff
+00056666ff00384ccd08b1f8258d8bf763fc9b0513d0ff0002ccccfffff8e666ff00
+063334fffff8199a918b918b8f928f9308f775f8a58d8bff0019b334fc3605ff0006
+999820ff0007b334fb1c518b7d8bfffff24ccc93fffff8b33495fffff64cccff000d
+3333fffffbb334ff0014cccd6c8b087d6d767567c079a11fb88baa93b4ae08ff002b
+b334ff00254ccdff00118000ff00461999fffff5e664ff008e999a080eef9e76f80b
+b5f766ac01f841f80915a18b9288fffffc3334fffff5b33408ffff99ccccfffefd4c
+cc858b2df7a405f7b1f7601554fb2505867e8587738b08fb678b51f73d05fffff433
+33ff00228000ff00263333ff00031998ff002f999aff0003666891918ba08591668a
+548a648b628b658c688c85858b769185ff0026ccccfffffc8000ff0021cccefffffc
+b334ff00116666ffffcfcccc08f762fcd0059a94a696988b08f777f8ac05a5c9ff00
+1e800091ff002b80008e91918ba08591718affffdf4ccc8affffe1b3348b628b598c
+668c85858b769185ff0025999afffffd6668ff002efffefffffbb330fffff06668ff
+ffd6e668080efb039576f831a881a512ddcfdea713b8f758f853154b5961591f8b6b
+937199697477777f757d089779059d97a29a9f9a8d87a93d8d8608c4fb2505907f92
+83988b958b9593909908f721f7ed059cb5998ea78d089106928f8e901f13d89f078b
+60896f6a568d8b1e7507888c87901e9b069e8a938a8b808b848881857b0830fb7179
+597bc062ed058b8c7ab28b8eaca5c5b98bbc08a374a2611e13b8877115a39c7d7b1f
+8b6b5c657173849d88938bae08b19fa4a11e0efb168aa8f7c4adf790a701f1dbf759
+b303f74af8d215a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e89
+8a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d
+89058be88dafb2e2898b1e8c8d8b9e0590888e861e7106637c98aa1ff798f72107ac
+8b977b906f08916c05878e88901eb08b8e8e0587ab87a88bae8bac90a98eab088d8a
+8d881e6706878887871f846d05856f827b688b08fb21060efb448aa8f74dadf72fa8
+01eed5f737ba03eef7fa15fbb2076e817c6a1e7806868888861f8b788d89058bcf8d
+aeb2d0898b1e8d8d8b9e0590878e861e78066b809aa81ff721f507ad8b967c916e08
+906c058c888d87918b08b08b8d8e0588ac86a88bad8bad91a88dab088d8a8e891e67
+06878b88878a8608856e05846f827a688b0821f70306a7969bab1e9e06908f8e901f
+8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac957b6f1f0ea276
+a7f828a601b0dcf736c5f738db03f7e69315f77f07f706a3c1b1c8b458fb211e8b4b
+7861675d6e66657b618508fbc1f77015fb5bf73059f709e3f74cbef75ff449effb07
+1e718b6f847676646484618b4208fb8d075b90679a73a76bb275be8bd58bf715bab0
+a19c0877a005627432608bfb15080efbd5f84bf7af01b9b603b9f85915f8f70a0efb
+d5f84bf7af01f74db603f778f85915f8f80a0efbd5f86076c6df01b9b6c6df03f728
+f8b015f8f90a253415f8f70a0efbd5f86076c6df01addfceb603adf8b015f8f90af7
+563415f8f80a0efb8ef858b193dfebb112f704b77ab7b8df13e4f778f8b015749e78
+a2a29e9ea2a2789e741e747878741f6af7441513f4586b67651f13ecf8fa0a13f48b
+b470af8bb18baa9c909f8bb18b8f6f9d8b089b909695a9689a5f1f0efbc1f858b1f7
+50b112f704b77ab713e0f757f96015586b67651f13d0f8fa0a13e08bb470af8bb18b
+aa9c909f8bb18b8f6f9d8b089b9096951fa9689a5f1e0efbc1f858b1f750b112f703
+b77ab713d0eef960155f687c6d8190809b1f9d8b8fa7b18b9f8b9c868b6c0813e08b
+6570678b62085dac6ebbbbada59e9981937c1e7e8b7b6e6b8b738b82988b9e0813d0
+8baca6bd8bb008b16baf581e0efb72f722f77001a6f7d303f7b4f7b615aa8e99a498
+b3087c8f0580747f89788a08fb5f7f05728879777b5d0898850598a09b909e8d08f7
+5c2c15aa8f9aa497b2087b8f0581768088778a08fb5f7e05728979767b5d08988605
+949d9d92a08d080efb309676f86a77f704f512b5d6c1f547a7e6cf13f6f7dcf70215
+8bffffef6666ffffeb999affffeee667ffffe26666fffff5e666ffffff8000ff0043
+e667fffff04cccff00254cccfffff63334ff0057999a84d885e6899f8b9189927f8b
+818b88838a7fffffff6666fffff7e666ffffff199affffe88000fffffccccdffffd8
+ccce08fffffd3333fffff7b332fffffc4ccdfffff7999afffffb3333fffff7800082
+7d777c747c5c6c57608b438bffffc1199aff0031cccdffffd21999ff004f1999ffff
+f49999ff0008cccdffffe23334ff00164ccd7da08b9e8ba4ff000ce666ff00083334
+ff0022b33408ff001bcccc91ff0018999a95ff00116666ff000d6666a9a1a0a38bae
+08ab72927b777780761e8b7f8e868f87088f868d868b7d0813fa58f88315af0affff
+92199afca815ffffe1ccccff00133333ffffec199aff002180008bff00204ccd8bb5
+98aab3acff000a6666ff00088000ff0008b334ff00088000ff00076666ff00086666
+fffffee666fffff64ccefffffee667fffff5e666fffffeb333fffff56666fffff680
+00ffffae8000fffff1199affffd34ccdfffffe8000ffffc43333080ef84c89acf76c
+b2f7dcac967712f5e013c8f8eff7af15f8720afbb1fb6015f8730a13d8fb62f8d005
+7c8270807e8b08ffff6ae668fbf4fffeb219988b8bf7810513e88bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+11ff013d666607ffffc2999afb2505714dffffe1800085ffffd480008885858b7691
+85a58cff0020b3348cff001e4ccc8bb48bbd8ab08a91918ba08591ffffda6668ff00
+02999affffd0fffeff00044cccff000f999aff0029199a080ef72e81bb5bb46aa8f7
+44adf739a872ac12ecd5f731de4bd8f735d9135340f8ddf77d15fb18078b7e858483
+85717669746f8b598b75b38baa8bb2ff000fccccff0027b333ff00344cceff00164c
+cd08ff0001e666ff0000cccd06ff0007999aff0003199aff00084cccff0002cccdff
+0009199aff00024ccd08dafb38151392c0916cff000a999870ff003266688b081332
+c0ff00264ccc8baf9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4
+b334ff00064ccd081396c0fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b086e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b928a92
+898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a08357605fffff8b334
+fffffe3333fffff8cccc8984fffffdcccd08fffed38000f70d06133b40a7969bab1e
+9e06908f8e901f8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac
+957b6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d
+8d8b9e0590878e861e78066b809ba81ff717ff00e1333407ffffd5b332ffffe4cccd
+ffffe6199affffdbe6668bffffd64ccd081352c039c371d11eff0022cccc8bff001e
+333493b7ad089f9b050efc46f80fdb01b4db03b4f83715759d79a1a19d9da1a1799d
+75757979751eb3f82b1579757e681f8b5d9575925191588f508d7d8c878d86938b93
+8b8c918c928d948bb395d293c395a68bb608ae7598791e0eb7f821f7befb637612a6
+d6f723d513b0a6f94b15fbbed6f75f07f7236b05137026d5df07f7915399d7050eac
+fb79f7bf457712a6d6f723d513b0f1fb1915f75f40fbbf07f8c3f7117dd7fb915205
+1370e04125070e4bfb7eacf753adf805b9a176f75da9a67701f706daf76ce103f753
+f7b415d1ff004a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218b
+fffff1cccc8bffffe48001ff00013333ffffe3b333ff001866677fff000a666686ff
+000633338bff001fcccd083ef861158bffffe4800047ffffdf800005fffffc199a89
+fffffc4cccffffff3334fffffc66668bffffefe6678bfffff36667ff00106664818b
+fffff9e6668b87fffff9b3348bfffff94cce8bfffff6ccccff0006199afffff56666
+ff0002e666fffffa3334089a69059b95ff0012ccccff000a4cccff00123334ff0008
+b33408beff00184ccc8bfffda4b334058b3880864e8885858b769185b58ca58cb78b
+ba8baa8ab68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb99
+9aff0014cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8
+b8a6c88bdc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affff
+e61998087cfffff0b334898b8ba1088bff008ae668ddff0027199805ff0003ccccff
+0001ccccff0003b334ff0000b334ff000380008bff000fb3348bff000c6666fffff1
+4cccff000980008bff000580008bff0005199aff0006199c8bff000766648bff0008
+ccccfffffa6666ff000a8000fffffc6666ff00066668087bac057c8179fffff51998
+78fffff6e668084bffffe166688bff000d999805cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b37080ef739f803f88115ff00064ccc82ff0005b334
+898a8a8a8981ff0005999a89ff000366668d8d8c8d1e59a7158506ffffff6666ff00
+07800089ff00081998fffffa199a8bfffffee6668b8affffffccd0ffffff999affff
+ff999808899105ff0001199aff00008000ff0001e666ff000080008c8b08978effff
+ef9998fffffa66681fef9a15898b899105ff00018000ff0000ccccff00018000ff00
+0033348c8b978b8d7a8c8608850689948991868b08306015888c8a8d1e8c8b8e8b8c
+8c8f908d908b8c088c8b8c8a888188841e7016888984878b8b819886978b9508a092
+a59fa3917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00
+003334ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff00
+0b8000fffff8cccc08f7f8fc2815888b8cff000d6666fffff18000ff000a6667ffff
+f6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3348bfffff899
+98fffffa3333fffff8b334fffff8999a84fffff8e666fffffb8000fffff9199a898b
+8a8b898c8b8e8e90989f9c910899b68c998b9a8ba97bbd6995088f91059e86af6f8b
+4e8b768775816fff000999988bff00114cd0fffffd3333ff000a999888ff001e8000
+fffff7666793ffffec80008bfffff8e6668b898989898b08fb9af833158a8c848e8a
+8b8596899b8b93089d989aa19d9e7d681e8b7f897d867b7d918c89838f968e93948b
+990898819f7b7e8080741e8b868d868d8708ad5e15898d8b8f898c5f6b72847a8b76
+8b7b937c9a878f898d8b8f8ba4c4a49a8ba28bd46b9284088c898b898b898b848783
+8386087278056a7374857d8b728bffffdf999aff001b6666fffff76666ff0015999a
+987f9d7ea58ba88ba79caaa108cdfcd515ff00068000ff0023cccdff00058000ff00
+3919998bff0008199a8b938a948a93088bad8b9405a38fa09d1e8f8b8f8992858d7f
+8e809183937c9e87988baf8b9eb99b8bff0006b3348b8cfffff08000ff0001cccc81
+ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd08ff0010
+ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccffffffcc
+cdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee6668ffff
+f13333ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a819c08fc32
+9a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33338ba1ff001480
+00ff000533338bac8b9c849c8b998b958eff000b333393ff0006cccdff00074cccff
+00063333ff000bb334fffffdcccd978bff000a999a8bff000b3333ff00016666ff00
+073333ff0003999a0898947aa4b493ff000be666fffffd199aff00093334fffffa80
+00ff0007b333fffff8e666ff0015b3337799ffffdc6666ff0012cccdffffe64ccdff
+000de66678ff0012333373ff0008e666fffff00001ff000d8000ffffe79999ff0004
+3334ffffedcccd8bfffff266668b838a85898508817f7a7e748bfffff0b3338bffff
+dde66798ffffed3333ff0007999afffff08000ff00064cccffffd9b333ff000bb334
+6aff0004666608eaf798158b78938196838a928a928b918bff00188000ff000e3333
+ff0033cccdff0019999aff0030e667ff001c1999ff0035b332ffffee4ccdfffff399
+9aff001eb333ff003d4cccff0004e666ff0009e668ff0007199aff000c8000ff0003
+800095ff0001999aff00048000ff0000199aff0003ccccff0000e666ff0006800008
+ff000e8000fffff18000ff000e6666fffff18000ff001d199a8b998ba492aaa208a5
+9e059c698c84a0618bffffdb8000ff0012199afffff2b334ff000f199affffe6cccc
+ff000d6664ffffe9999aff000c6668ffffe033338bffffbe33338b778a788878858f
+858d868b7c8b7f7b8b64088b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b
+8d088c8b8c8c989e9c961e8bff00064ccdfffffb4cccff00089999fffff6b334ff00
+0a999afffff5999aff000be666ffffea8000ff0012e666ffffedb333ff000c3334ff
+ffed8000ff000c4ccdffffe69999ff00141999fffff66667ff000a4ccdfffff09999
+ff0010b333ffffff199aff000a999a8bff000e80008bb3afd19799089287057a776e
+4f8b6008f761fba215b58bb685a088ff0009999affffe76666ff0016e666fffff399
+9aff001f80008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998
+ff000eb333ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b3
+33ff00169998fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef8000
+9408ffffed3334ff000a33338592fffffbcccca186ff001a8000fffffcb334ff000e
+8000fffff299988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b
+08297251481f8b4394678b708bffffe3e666ffffec199affffde999affffe2b333ff
+ffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcccc
+fffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb3
+33fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff1
+199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff0002
+8000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000ff
+ffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999afffff8
+199985fffff8b334fffff480008bffffed80008b8092688b83088bffffeb4ccd76ff
+fff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff0014e667fffffa
+cccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cccd8b9f8ba192
+999fa396ae8ea78b080ef8c667aeaef70380b29fade4f7023cf71bdcd512c2bcf864
+b4f73ae795f70d13d7e0f84c6715c2f706b5f0bb65d3231f4a8b316a7c8592d6c2b3
+ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b086d8b80a3749e86
+7c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b18bb98bcb9abf9f49
+d857bf35aed89fa4c58bb68bbc5ec04f8b08638b646d76579890978e978b08a5a07b
+68695f7a691f808b728d6d905a924892598b488b457961716472fb003b8bfb310813
+bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f758b5758786a796b
+866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884ae15648b62a170
+a676a183b48ba98b908b908c8fbc9dc39fbc8b08e4a664515b505a3f1f0ef8c66aeb
+7df701c3d7f744f70a26ae12d1f70ef82fb2f793b8d6bd136f80f97ef89a15335455
+471f8b62a05acd6cc76fe9839c8a6347427f698b728b5c934da7fb15c86ef7048bb7
+08137780bbac92971eb48b915c9674aaab91b38b9c8bbd62bc508b698b617d775f7f
+72816a8b6e83936aa1699b08619f4b98538fa629a546c947808e818b828b08445856
+5456b356c41fa88bab98a7a6698c6d9b8baa8b9a91aeb98b9b8b9c879985ca6df721
+fb11f72d8bc28bf724a7d1f729089e87dc698b530813af806f7562601e6c8b7c9b7c
+8b08767b616f789374a31fa78bc09fa69eb4a8abc28bb28bdb22b66e95919b8e9e8b
+a108ee42effb0f1ef72bfb3a158b697d67827d579050915e9f54a576a98bad08ad9f
+c7e0edbf385b1e0ef8c667aeaef70380b29fade4f7023cf71bdcd512f730f70d95e7
+f73ab4f7a3c2f71ebd13bbf0f95e6715f7148bcef7008ecb9789968b968bcf8be1a1
+8be38baf86a978ab78ac57be758b086d7c626c679b899fbba770644c4f7d591f828b
+818c838d8bf73120db63a40813d7f062a5459d478b5a8b488459846d8673897f8b08
+695f9cadaea09ba51f978b9888978676bf65a9638b4f8b5d568b5a8b60a551d77735
+6857574a3ebe77cb7cba8b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997869a747880736d8b718b7aa28b9f8ba6a4b0aeaaaca8c6aee58bd48bbb7b
+a08008ab7ac36391407c9131ac4b8b082265435b1f26f70761c11e93ae153e50bcbb
+c5a7b2e31fbc8bc477bb798c878b868b868b6d8362767571706275648b080ef763e2
+b2f2b2f1b301f991f82e15fc2563f825065b2515fd0664f90606bb2415fc2564f825
+060ef763e2b2f2b2f1b301b1f82e1563f825b307fbf5fb221564f906b207fd36fb22
+1564f825b2070ef86af782b37491121380f91ef7aa15fb7f061340448bfb887a3f8b
+0885071380d08bf7957acc8b08f77f061340bd8bf78f9ce58b089107278cfb819b55
+8b080e1c05cff780ba70921213801c04fcf7af15fc6a061340fb238bfc7c77fb2b8b
+0884071380f71d8bf89677f7178b08f86a061340ef8bf88a9ff7488b089207fb5c8c
+fc6e9efb008b080e1c162dfb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c0
+8cc174c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a1
+8bf7d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78b
+e2e6f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d
+1ffbed8bfb9920fbb08bfb778bfb80f705fbd18bfbbb8bfb032ffbe48bfbc18bfb3a
+e1fbbc8b081380a0fbe18bfbd725fbc58bfb318b3ad2fbda8bfb9d8b6844fc618bfc
+208bfb44f70b708b087e7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e
+8bf77a8bf87ad8c58b08138400f78e8bf75745f7b68bf7858bf7a3d6f72f8b081390
+00f76f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31
+e7fb7f8b08138500fb388bfb9d40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb
+8c43fbdc8b08138200fb8e8bfb43bafb928bfb818bfb164efbb78b087c7f7f7c7c97
+7f9a1ff7ba8bf714c9f77d8b08f90efbc615fb588bfbc0a87d8b7d8b7e7f8b7c8b7e
+957f9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f810
+8b0813c000f7a58bf71ed2f77f8bf71c8bc27abf6790889089908b9a8b97988b998b
+948793839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb
+4e8bfb9129fc0c8b080ea0fb67c2f7aea86fb2f858a712f5dcf764d513bcf869f713
+15ea0695988f941f9f078f888d871efb03f7140652778b78054b6f72511e2f066e79
+9eaa1ff7f8078ba7ff000e3333ff000ce668ff0028cccdff0003199808a58d0590ff
+000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b78058b86
+8ffffffd4ccc8fffffffb33408a68905ff0025999afffffd3334ff00106666fffff4
+cccc8b6d08fc07078b68fffff66666fffff9cccdffffd6999afffffd33330813dc6d
+890587ffffffb33387fffffd4ccd8b86088b788d89058bf7078d971e13bcd98af73f
+8b8bfb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0ef9
+bcfb82c196a7729bf714a2c4a67a9e8cb092c1f717a7709ff712a2bcae75a478a6f7
+019b12f71bd8f73fc25db671d2c0b6f1c25db66abcafb9a3b6bbb89eb69ab68ab9f7
+07b813972731e4f874df15e50694988f931f9f078e888d871e22f70e0655788b7905
+4e7073541e34066f7a9da91ff7e807a5989bb21ea4068f8e8d901f8b9d898d058b33
+896966388d8b1e89898b7905868f898f1ea406b1997e6e1ffbf9076a8283631e6f06
+878788861f8b798d89058bf7018d971ed58af7368b8bfb770547a570b71eb58bb2a1
+b0b4087a9c0572787984728b087185a7c51ff937ea15f8fb0ab8fb021513d72311ec
+f8fc0a139b2311e4fc3af75f1513b72311e48d8a8b891e7b8575866384088c7ea388
+05948a8f858b6f08fb22078b7b858578890881890588898a881f8b808c8a058baf8c
+a2a2af8a8b1e8c8c8b96058e898c881e838d05788d86918b9b08f71e0713bb2311e4
+a8ada095a48b08aa9178631ffb0f078b7b858579890883890588898a881f8b808d8a
+058bad8ca0a3b18a8b1e8c8c8b96058e898c881e808d05798c85928b9b08f70b07be
+80b2581e6d8b7083676008890613932319e4fb6bf71115f8fd0ac140158d8a8b891e
+13b72315e47b8573866384088c7ea48805938a8f858b6f08fb22078b7b8685788908
+80890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d
+05798c85928b9b08f72207a88db18b1e13937311f4f7e1f7aa158b7b8584798a0880
+8905888a8a881f8b808c8a058bb18ca01e13937311eca1b88a8b1f8c8c8b96058e89
+8c881e7b8d0513933311f4788c85928b9b08f711078b928e938f90999e9795918b8f
+8b8f8a8f8790869286968b089a95949a9a8296741f708b726e7c7508898b8dbe058d
+8a8b8a1e13936711f47b8574866384088c7ea48805938a8f858b6f08fb7f7a15f8fb
+0ab8fb02151393a311e4f8fc0afc348715f7350713936b13e4a1a2a98c918b08aea7
+61544a715a551f7a8b7f977f990860f7ad15fbad078b758b81897f081393a313e48e
+898e8a918b9090939590920813936b13e49c7d9d84a48b08c5cec0e6d058b65a1f6f
+8b7581777608f70507b08da28b1e8f898d861e7c8564847489088c7d058a8c8a8d1e
+9d8905979084661f13932391e4fb2a16f8fd0ac140158d8a8b891e7b857386638408
+8c7ea4880513932351e4938a8f858b6f08fb22078b7b868578890880890588898a88
+1f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d05798c85928b9b
+08f72207a88db18b1e0efb50f758f82815a6069c8e97901f8b968491858c878c7e8c
+808b838b848a868b878a7f898b7c8b8b8c7e93888e8a908a988b08fb1573157f9585
+921e918b8f8c8f8f93929391938f908e908f8b938b9c808e858b858b8689767c7e81
+88878b8308f782811594848f89908b918b978e8b9a8b91898e869084927c96829088
+8c888c888b828b82848b80088b868e858f88948594858f8708fba63515848c7e9b1e
+928b928f8e928c8d8c8d8b9b8b9b8c928b8e8b958290858b848b7f8a897b8a848b81
+8b7908f7ca95157c8c7a9d9b8c9b9da488987a828384811e8b888c7b8b8708fbcafb
+121585938494969294901eb10790889a7b818580841ef7cb5f158c8a8e81978b0897
+9290941fb0078f8a9c7a808481851e8b758b788c8708fbb72d1597798e8b918b958b
+948e8b998b918a8d869286928792889188928792808b7d8b877e8b86088b85917e93
+8008f79c16819181971e918b8f8e90908d8e9ea38b998b9188977d8b808b87848784
+88838784868586868a888b87082d5715809483931e938b978e9a909d928c918b938b
+948493808b898b878a86898289858982898489888a888808888789878b87082b8415
+9387a683938b968b91958b948b8e8a977a8e838d848d848d848e898b898b7b8b8781
+8b84088b8192868f89080eefa2abeca8f791a2eeab01adb3f7189ff74fc9e8b303f7
+5df76c159f6cb66ac28b08e4cedbdadf45c9331f458b807e7789fffff5999affffe0
+b334ffffff6666ffffe94ccc8c739088928a938b9cb9a0a7c48b08b3bf682942685c
+471f588b6fad809bfffff63333fffffd4ccdfffffb6667fffff9cccdfffffb6666ff
+fff9e66608f70cfb5515960af8a904970a0eefa2abeca8f791a2eeab01adb3f0cef7
+469ff714b303f7d5a215960aff0069e666ff00a74ccd15ff000d6666ff000b0001ff
+000accce97ff0006e666ff000ab333fffffb6666ff0006199afffffb6666ff000633
+33fffff63334ff0002b333fffffb8000fffff98000fffff73334fffff5199afffff3
+9998fffff5666608ffff78b334ff00cd800005ff000f8000ff000ce666ff00126666
+ff0004999aff0011199a8bc48b9c6a9c5d938b928c908e8ca38ca189b0778d7a9845
+8bffffe6999a8bffffe78000fffffa999affffea3332fffff6333208ffffc78001ff
+0055e66805ff00224cceff00121998ff00276666ff000a3334ff002a80008bf71f8b
+f700fb038bfb1f8bffffb1b333ffffdd6668ffffba3333ffffc919985d08ffffabcc
+ccff0038cccd15ff00343334ffffb0999a05ffffdb6666ffffea3334ffffd53334ff
+fff38000ffffd1e6668bfb208b20f7058bf71e8bff0052ccccff0025e666ff0048cc
+ceff003c4ccdff002d666608c3ffffaab33405fffff9cccc86fffffa3333fffffab3
+32fffffacccdfffffa199a73ffffe5199a7fffffdb999a8bffffd9cccc8bffffd366
+66ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e666ff0024
+9999fffff3199aff0026b3348bff001633348bff0015ccccff0006b333ff00134ccc
+9508ffff73999aff00d5cccd15ff007e8000ffff3f666605fffff3e666fffffa999a
+fffff26668fffffc8000fffff14ccc8b538b61c48bd48bff001e6666ff00048000ff
+00174cceff00076666ff0011cccc080eefa2abff0083199aff001eccccff00abb334
+ff00193332ff008e3334ab01adb3ff00246666ff00446666ff006ee66899ff0015b3
+32ff00446666ff006ee66899ff00314cccb303ff020a3334ff00e9199a15fffffccc
+ccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff16666ff
+fff08000ffffdc4ccc8b08ffffd8199affffeeccccff001d3334ff0036ccccff0043
+999aff001a199aff0014199aff00174cce1fff00214ccc8bff000a8000fffff3e666
+ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000ff0002
+3334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1ccccff
+00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8bffffe1
+3334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccc76ff00224cce
+fffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408fb6b16ff
+fffcccccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff1
+6666fffff08000ffffdc4ccc8b08ffffd8199affffeecccdff001d3334ff0036cccc
+ff0043999aff001a1999ff0014199aff00174ccd1fff00214ccd8bff000a8000ffff
+f3e666ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000
+ff00023334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1
+ccccff00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8b
+ffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccd76ff00
+224ccdfffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408ff
+000dccccffff2de66615960af8a904970a0e2381aef8baae01c1e2f765e203f78bf8
+d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05fc5fffffc999aff00046668ffff
+fc8000ff00046664fffffc199aff0004333408ff001cccccd16c96ffffe83334ffff
+c6800005ffffe8cccc9cffffe34cccff000b8000ffffdeb3348b288b2dfb0a8bfb5a
+8bffffa6999aff0017199affffaa8000ff0027ccccffffc6999908ffffdc199affff
+a94ccdab7fff001c8000ff0045199aff0000199affffffe66605ff001c6666ffffe3
+999aff00224ccdfffff26666ff0026b3338b08ffffb3999aff0067333315ff00a366
+66ff018c666805ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b
+2f884c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b33308
+0e2381aef8baae01c1e2f765e203f78bf8d3152b0a87fcdd152c0a0efb7f89acf8d5
+7701f736d803f783f70e15f7ef078bc7ff00014ccdc8ff0001b333988bff0004cccc
+fffffd8000ff00003334fffffc80008bffffc8b333ffffddb334ffffcb4ccdffffe7
+4ccc3362ff0001999afffff4999aff00046666fffff6800094fffff9e666ff002d80
+009eff00168000919e8b08ff00108000ff0003800073691ffbda078b387086458885
+858b769185bc8cff0023cccd8cff003633338bff002f999a8bff001866668abd8a91
+918ba08591458e7a908bde080efb098bccf81576f726ae12c8d6f74ee370a813f8c8
+f868152d0a13f42e0a13f82f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff00
+4e3332ffffccb334e313f8f76bf8d315300a13f4310a13f8320a0efb0389acf721ba
+f81b7701f7a9d703f7a9f88f15330af733fbb415340a0efb2180aef7d1bdf722ce4e
+d312f7cfe413e8f7cff75115350a13d8360a13e8370a0efb0e80aef7c6aef770a501
+bbdef767de03ff008b3333f7c715380aff0009199aff00244ccc15390a0efb319376
+f8b8cc967712b2ab13d0f732f8ab153a0a13b07b970513d03b0a13b03c0a0efb1281
+aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af73331153e0a13e43f0afb
+3bfc6015400a0efb0d7fa5f770aef7c6ae01badef767de03ff014cccccf7b815410a
+fffff6e668ffffdbb33315420a0eba81aef760b8c4b7f75cae12f716e4ffffab4ccd
+ff005c4ccdff015a6666aa13faa5f7df15ff0069cccd06fffffeccce7effffff6666
+fffff2b3348bfffff24ccc8bfffffa4cccff0000199afffffa4cceff00003333ffff
+fa666608ffff9bb3338b725e0513f6ff00814ccd06ff0014199affff753333ff005a
+b334ffff9bcccdff00a7e6668bc28bcc95aa909eba97bc94c48490828f7c8b734669
+42fb028bffffa680008bffffbce666ebffffea3334f70008ff00c366668ba2b8ffff
+1f33338b0513faffffff333295ffffff999a958b958bff00094cccff0000333394ff
+00008000ff0008b33408ff00f74ccd8ba2b7fffef64ccc8b05ff0017e667ff009599
+98ff0062e667ff00326668ff003ee6668bde8bc049a8309988958d939286c185be7f
+c25f92609e288bffff82199a8bffff978000ffffa49998ffffe29999ffff70666808
+ffffa8cccd060e5089acf2b4ceb5f7b2ac01f773df03f7c7f70e1597f70f0796998f
+951fa0078f888d861efb20cef70f0696998f951fa1078f888d861effff7f199a8bff
+0084e666f77705ff00176666ff00289998ff000a999aff00136668b08b08958a8f8f
+1f8ba18a8d057689628a838b7d8b508d838c0889898b7405888c87901e99069f9385
+811f8b83fffffb999afffff4ccccfffff86666fffff3333408fb12fb63fb18f76305
+fffff9cccdff0009e668fffffc3333ff000d19988b93089692909c1e9906908d908f
+1f8ba1898d057c89468a858b7d8b468c7f8d088a898b74058593898e1ea58bff0011
+199affffe78000ff0016e666ffffdb800008f719fb64ff000966667affff86999a8b
+0578867e831f7c07868c8a8f1ef72248fb0f0678867e831f7e07868c898f1ef7227f
+068b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff0031e6668bff
+001c199a8abd8a91918ba08591458e7a908bde080e3cfb7cdbf8baac01f764fb3415
+ff000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999adbf755b7
+f2c0f70499a8a4abb08e8e8eff00018000ff0006b3348bff0006cccc8bff0006cccc
+fffffe8000ff0006b334888e728a7e8a6f8b08688b788c668c8888fffffe8000ffff
+f94ccc8bfffff933348bfffff93334ff00018000fffff94ccc8e88ff001f999a88ff
+00206666857b6708ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdffff
+f78000ff0013cccd08ffffa74ccdf76405ffffedffffff002a3334fffff580009dff
+003d4ccdff0004cccc8e8eff00018000ff0006b3348bff0006cccc8bff0006ccccff
+fffe8000ff0006b334888e668a638a678b698b708c778c8888fffffe8000fffff94c
+cc8bfffff93334088bfffff93334ff00018000fffff94ccc8e88ff002b999a87ff00
+07e666fffff8b334ff001b6666ffffc04ccc08ff0071199afb9b05ff0008b333ffff
+ebe666ff000f4ccdffffd2199a816ffffff4199affffde999afffff3e666ffffe466
+667c6c80777d82728b7d8b878e808b086c7e737b769f78a61fa08bb393afcb080efb
+2481bb5bb4f80ea912afda4dd5f738d5c0a41376f7b7f77d15fb19078b7e85848385
+717669756f8b598b73b88baa8bb8a2b4d59e0813aef723fb7215be8baa9f91d40872
+90058a75856f758b08748aa5c81ff72507f72241a64239385255739780a2a89a9f98
+1e8b928a92898f8a8e8a918b9608aab899b1adba77fb051e8b848887888a08357605
+13762b73485b8b478b40c165d18bb98b9e93b7ad089f9b8d8b058f72a16ab18b080e
+8181c7f7ddc75fa712ff0086b333ff004c199aff00a63333ff004ce66613d8ff01c5
+e666f71015ff00014ccef73305ffffffe666aeffffffb332a2fffffbccce9dfffff2
+199ac7ffffe080009f648b578bffffd9cccc76ffffbce666fb0008fffffecccd8cff
+00003333ff0009333405ff0000cccdff0026ccccff00036667ff0026ccccfffffc19
+99ff0011199afffffccccdff000db334fffff7199aff00076666fffff2cccc8b0813
+b86b8bffffd2999a84ffffd2666685fffffb333483ff0004199980ff0008199a8208
+ff0028b3338805ff000c33338aff0008199a82ff00024ccd81ff00021999fffff6e6
+66ff00003333fffff2199aff000080006f08ff00014ccdfb8d05ff0000199979ffff
+fd999970ff00024ccdfffff63333ff0003e667ffffef4ccdff000d6666fffff58000
+ff001fcccd8b08b180b7b11fffffffcccdf73a0513d8ff002c1999ddff00294ccdc6
+af8ba08bff000f199a86ff000733326cff000333347dffffffb33477ffffffcccc69
+088afb3405ffffff66666bff0000666662ff0004666878ff0004666678ff000e3332
+7da98bbb8bff00283334adff00206668c6fffffae66494fffff8199c937d8bffffec
+e6646dffffe7b33477818bfffff8e6668b8790fffffd33349708fffffde66694ffff
+ffe666a18ba5080efbd87fa8f764aa019abef71ca903cdde15c5b5dfbc99aa825753
+683053797099bf1e589a1556a852c8deb7f702ced45e9d62425138401e0e5481b3f8
+05b301b7e2f7aae203f7a2f82315ebb63a28fb045e3e2d3853def5f1b9d9e81fb304
+fb253a20fb05fb0adffb03f722f722dff4f710f70b42f0fb2d1f0efb9589acf7e6aa
+b57701f72cd803f72cf70e158b387a86458885858b769185bc8ca98cbd8bbb8ba38a
+bd8a91918ba08591458e7a908bde08f75b07c78ebe8b1e93868d821e5a7b61833779
+ff00014cccfffff46666ff0003999afffff58000ff0007199afffff7199aa88ea58e
+a18b089b8f80571f0efb198bc2f7e8b701c9adf754e403f7bbc215f8ff0a0efb27fb
+49aef7b3abf77bae12bcd4ff00b2199aff004e3332ffffccb334e313f8f76df82815
+300a13f4310a13f8f9000a0efb06fb42acf721baf81b7701f7a3d703f7a3f7e315fb
+b4fb5307ff00334ccdff00523333ff0046b333ff006f999ad0ff005e333308f733fb
+b415340a0efb3efb4baef7d1bdf722ce4ed312f7b6e413e8f7b69c15350a13d8360a
+13e8370a0efb0e80aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff00
+09199aff00244ccc15390a0efb31f800cc997712b8ab13a0f738f80015f9010a1360
+f9020a0efb1281aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af7333115
+3e0a13e43f0afb3bfc6015400a0efb12fb4ba5f770aef7c6ae01b4def767de03ff01
+46ccccf70d15f9030afffff6e668ffffdbb33315f9040a0efb7389acf7eec955a712
+efda13d0eff7d115fb57078b387f874d8785858b769185b58cab8cb38bb48bb08ab6
+8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2ac978b928b938a91
+8595819578a08b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464858088
+918b908bab8dba8b8b8b8f868e838b0813b06f806682468289858b7b8f8508c18696
+838b54080eef89acf766b5f80b77d2eb01f769ebe8eb03f826f98915b70afb5116b7
+0abdfc6e154a0afbb1fb60154b0a0ef681aff8e8afbfeb01b0ebd2ebe8ebdceb03f8
+1df98a15b70afb5116b70af713fb1c15640af7e3fbb915650a0ecd81b4f8dbaccaeb
+01e2e0aaebe8ebb1bc03f81cf98a15b70afb5116b70a6cfb7f156b0a0ef83a9476f9
+06ac01f8d5f8fa15b68587756c510856ffff9c8000fffffb9998ff00048000ffffce
+cccef005ffffe4999ac4879cb59191918ba085916e8affffe1b3348affffe04ccc8b
+ffffe2b3348bffffe14ccc8c6e8c85858c769185b685937dff002180004408ff0054
+4cccffff4d3334ffff904cceffff1cccccfffffb66668bffff48e666f83505ffffe6
+999ac48e9bca9291918ba08591638affffd74ccd8affffe1b3338bffffdeb3338bff
+ffdc4ccd8c688c85858c769185ff0033b333fffffc4cccff00074ccdffffefb334ff
+001e80004408ff00d98000fc9405917c9283958b968b9293919a08ff00938000ff01
+224cccff00868000fffeddb33405ff00054cccfffff1199aff0007b334fffff7e666
+958b968b9193929a08ff00ecb334f89205ff00163334ff002fe668ff00131998ff00
+271998c49191918ba085916b8a6a8a748b748b648c668c85858b769185cc86ff0001
+b334ffffe51998ffffe84cccffffc9e66808ffff421998fc2ffffffb66688bffff80
+1998ff0108e666ff0049199cff008b199a05ff00184cccbaa1b1bf9391918ba08591
+728a728a748b748b6e8c708c85858b769185080ef74b81ad71acf7fbb269b7f777ad
+897712e9daf752daf769e1136b80e9f70e158b388087558785858b769185b58ca18c
+b48bb98ba88ab68a91918ba08591478f808f8bde08f7a0e80794998f941f9f078f88
+8d861efb00c706f72ecfa2ac1eff003f33348bfffff13332ffffc23334ff0027999a
+fffff2cccc8c878b748b8608fc7c078b64ff00003334fffff5cccdfffffbccccffff
+ea333390839087978bff0006199aff0005cccdff0009e666ff00094ccdff0007b334
+ff0008e666ff000a4ccc97918b96fffff6cccd08139780ff0016e666ffffecb333ff
+001dcccefffffa8000ff00234ccc8b08f1f70be8f733f70e31d6341fffffd519988b
+ffffd9e6687a6c6ffffff9b334fffffa4cccfffffc4cccff0001b3348b9408f74c07
+cc8eb38b1e92878e831e7b806f827e8808136b80759a7195688b0837fb0743fb301f
+605a0779867f831f7e07868c8a8f1ece06f8017015139380780a0ef85d89acf7fbba
+5cb2f777a77bae867712e7d6f753d6f752d6f75ad513b3c0f804f8cb15f9050aff01
+053334ff006ab33415138bc0fffff9ccccff0006ccccffffe59998ff00188000ffff
+bb66688b678b4e7369550813b3c07ea460ad3b8b708b7484767f466271428bfb0e08
+580679867f831f7e07868c8a8f1ed0fbce068b6efffff76666fffff5999affffdd99
+9afffffc66660878890586ffffff800088fffffd80008b86088b748d89058bcf8daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffde999aff
+00038000fffff66666ff000a80008ba808f7cef753fbce078b6efffff56666fffff5
+6666ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b748d
+89058bcf8dafb2cf898b1e8d8d8ba2058b9088ff0002800086ff0000800008788d05
+ffffdc999aff0003b333fffff86666ff000a4ccd8ba808f7cee90795998f941f9f07
+8f888d861efb02c3068b9f8cb891ad0813cbc099d4ad96a18ba38ba57b9577957694
+75a78b08918006fc8a078b6efffff96668fffff8999affffdb9998fffff966660880
+8905fffffb1998ffffff199afffffde668fffffde6668b86088b748c89058bc78daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffe18000ff
+00033333fffff38000ff000acccd8ba808f78507c6c3b69ca88b08b9a0683a1ffb5a
+078b6efffff5ccccfffff54cccffffdf3334fffffcb3340877890587ffffff999a88
+fffffd66668b86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff000280
+0086ff0000800008788d05ffffdfb334ff00036666fffff54cccff000a999a8ba808
+f76207f272bf431e648b467b484808f77e07cc8eae8b1e1387c092878e831e7b80ff
+ffde3334fffff3b3347e88080ef75bfb71aff74bacf7fbb29877f77ea77aac12e7d6
+f753d6f740ef4dd613eb00f804f8cb15f9050a13d340f7f5fc5c15f7e17b0713e780
+7e8b6b7e688b08fb51c706f72ecea3ac1eac8baa7f936197549b73ab8b9f8b9f9d8b
+a08bb069b266a3729c7095668b498b516370680813eb407ea460ad3b8b708b748476
+7f466371418bfb0e08580679867f831f7e07868c8a8f1ed0fbcf068b6efffff76666
+fffff6999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608
+788d05ffffde999aff00038000fffff66666ff000980008ba808f7cff753fbcf078b
+6efffff56666fffff66666ffffdf999afffffc999a0878890586ffffff800088ffff
+fd80008b86088b748d89058bcf8dafb2dc898b1e8d8d8ba2058b9087ff0002cccd87
+ff00003333086b8d05ffffe23334ff0001e666fffff2ccccff000b199a8ba808f7cf
+f74907a58e7f631ffb9b07fb008bfb2c5f1e808b8592859483958197718b0880787f
+796dad7d9d1f9f8bad8bb0aa08bab1a5ef8bf735080ef83b89acf7fbb270a6f774a7
+79ae12e7d6f753d6f752d513d7f804f8cb1582678b648a770860fb5396078bcf90af
+919ea0dbb5959a8b968b93899b81ae758055bd8b08f7e0fffe9de66615ff00038000
+ff0000b334ff00034cccff00006666ff000333348ba28b977a997808d428059f6e8e
+7e8b7f088b768e87058ba58dafb2bd898b1e8d8e8ba10590858e851e8806718b6d9e
+78a608fb0af73d05888f89908b8f8b8f8d8f8e8e08d7df0513afa3a5b8a1a68b0892
+068f928e901f8b9e878d058b558964675c8d8b1e88898b7805878e87901e8f06a390
+83831f8b81867e7c7bffffca8000ffffc54cccffffde9998ffffe1b334ffffd3e668
+ffffea999a08ff01ca6666750777827d87788777976d936b8b528b4d7770540813d7
+7ea360ad3b8b708b7484767f466271458bfb0e08580679867f831f7e07868c8a8f1e
+d0fbce068b6efffff96666fffff5ccccffffdb999afffffc33340878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdc999aff0003b333fffff86666ff000a4ccd
+8ba808f7cef753fbce078b6efffff76666fffff5999affffdd999afffffc66660878
+890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8b
+a2058b9087ff0002999a87ff0000666608788d05ffffde999aff00038000fffff666
+66ff000a80008ba808f7cee90795998f941f9f078f888d861efb02c3068b9f8cb591
+ad0813af99d4b994a18ba38ba17d957795779476a589088b808bfc87058b6efffff6
+6668fffff58000ffffde9998fffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff0002800086ff000080
+0008788d05ffffe09998ff00034cccfffff46668ff000ab3348ba8080ef79c81c25c
+acf7fbb2f76fac7cab12e5daf74fdaf6dc94da133780f804f8c8158c8a05806c8965
+8b7a085bfb4f97078bcf8eab919ea0dbb5939a8bff002bcccc8bff000f4cceffffd9
+3334ff0002e666fffff8cccc94769478a48b088e8b8e8c8c8c08fbaafc4e15136780
+8b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f7e8f
+8bde08f7a0f74ffba0078b3880875f8785858b769185b58c9b8cb08bb98ba88ab68a
+91918ba08591478f808f8bde08f7a0f759fbc10713af8044aa6fb91eb98bbda1b2b7
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4c
+ccfffff7666889ff0000999884ff00021998ffffe93334ffffffe668fffff6cccc8b
+ffffad199a08fb59ffffffe6668bb805f70c9bd3c01ea38b95768f779070997da68b
+a58b94a08b9c8b9c809b7c98779d7297628bffffd8199a8bffffd16666ffffe9b334
+ffffe0ccccffffcc999808137780fffff23334ff0017e668ffffd5199aff0020cccc
+ffffb166668b708b7484767f46636f448bfb0e085a0679867f831f7e07868c8a8f1e
+ce060ef75789acf7fbb266baf775ad12e7d6f756d6f759d613def848f7f815f7e775
+077d827d857d86759a7193688b0837fb0545fb301f60580779867f831f7e07868c8a
+8f1ed0fbce068b6efffff76666fffff5999affffdd999afffffc66660878890586ff
+ffff800088fffffd80008b86088b748d89058bcf8dafb2ce898b1e8d8d8ba2058b90
+87ff0002999a87ff0000666608798d05ffffdcb333ff0003e666fffff84ccdff000a
+199a8ba808f7ceea0794998f941f9f078f888d861efb02c706f72ed1a0ac1ea98b9e
+7b986a917e958197878c878b878b8708fc88078b6efffff66666fffff58000ffffde
+999afffffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+aeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999a
+ff00036666fffff56666ff000a999a8ba808f7870713bec6c3b69ca78b08ba9f683a
+1ffb5c078b6efffff86668fffff5b333ffffdc9998fffffc4ccd0878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdd9998ff0003999afffff76668ff000a6666
+8ba808f76407f272bf431e648b457b4948080e49fb71aff74bacf7fbb2f780ac12e7
+d6f741ee4dd613faf858f515f7e67c077d8b6b7c688b08fb51c706f72ecfa1ac1e13
+fcab8baa7f946096559c73aa8b9f8b9f9d8b9f8bb06ab266a4729c7195658b083723
+55fb591f79580779867f831f7e07868c8a8f1ed0fbce068b6efffff38000fffff533
+33ffffe18000fffffccccd0878890586ffffff800088fffffd80008b86088b748d89
+058bcf8dafb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff00003333086a8d05ff
+ffda4ccdff00024cccfffffab333ff000bb3348ba808f7cef7490713faa58e80631f
+fb9c07fb008bfb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f9f8b
+ad8bb0aa08bab1a5eb8bf736080ef73a89acf7fbb270a6f77fad12e7d6f756d613bc
+f848f766158f8c908c8f8ba28b977a997808d428059f6e8e7e8b7f088b748e89059a
+8ca38ca28bae8ba78ba589088d8d8ba20590858e841e8806728b6c9e79a608fb0af7
+3d05888f89908b908b8f8d8e8d8e08d8df05a3a5b8a1a58b0893068f918e901f8b9e
+888d058b548964685b8d8b1e88898b7805878f87901e8f06a29183831f8b81867e7c
+7b534f6a6d5e7508f86075077a8480837d86759a7193688b0837fb0542fb311f13dc
+64580779867f831f7e07868c8a8f1ed0fbce068b6efffff56666fffff56666ffffdf
+999afffffc999a0878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+afb2ce898b1e8d8d8ba2058b9087ff0002999a87ff0000666608798d05ffffdab333
+ff0004199afffffa4ccdff0009e6668ba808f7ceea0794998f941f9f078f888d861e
+fb02c406f72ed1a3ac1ea98b9e7b986a917e958197878c878b878b8708fc88078b6e
+fffffa6666fffff5e666ffffda999afffffc199a0878890586ffffff800088fffffd
+80008b86088b748d89058bcf8daeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff
+0000666608788d05ffffdf999aff00036666fffff56666ff000a999a8ba8080e8c81
+c25cacf7fbb2f77fad12ebdaf756da13bcf743f81a15f756fbc10644aa6fb91eb98b
+bda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f307
+95998f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585
+fffffc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666ffff
+f6cccc8bffffad199a08fb56ffffffe6668bc4058bcefffffc8000ff00328000ff00
+078000ff0016800093a3ff0015800099ff000f80008ba78b997a976eff00073334ff
+ffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a08779a6d9465
+8b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f1ed0fba00613
+7c8b388087558785858b769185ad8caf8cae8bae8bb68ab38a91918ba08591478f80
+8f8bde080ef79481b866acf803ac71adf75ea9a67712b0e1f741dedada139f80f812
+e615fffffd3334ff00093333fffff5ccccff0005cccd828c6c5e6a70608b08484cdd
+f704f700b1cfcd1fc68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21
+fb16cb33f7161fc68bbba4b7d708d7aa15136f808b387f88688685858b769185ac8c
+9f8cad8bae8b988ab68a91918ba08591628f808f8bde08e507ff0017ccccffffff99
+9aff000db334fffff89999ff00138000ffffe3cccd08d424059f6e8e7f8b7e087b07
+888c898e1e9f8c9e8ca98baa8ba08aa98a91918ba08591698fffffe2ccccff000433
+33ffffe93334ff0021cccd08fb09f74105888f89908b908b8f8c8e8e8e08d7df05ff
+001db334ff001eb334ff001e4cccff000b4cccbd8d91918ba08591668a7d8a678b65
+8b7a8c668c85858b769185ff003c8000886bffffda8000fffff58000fffff5800008
+ffffcb6668ffffc68000ffffce3330ffffd3b333ffffe56668fffff84ccd08ff0159
+800007cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37080ef7
+b37fb868a8f801ba69adf7977712b0e0f7ded6f75ad6131ff812e615fffffd3334ff
+00093333fffff5ccccff0004cccd828c6c5e6a71608b08484cddf704f700b1cfcd1f
+c68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21fb16cb33f7161fc6
+8bbba4b7d708f724ff00c2e666158bff0015199a94ff000c4ccc93ff0008b334b1ff
+00254cccff00269998ff0015b334ff002766688bff001466688ba0fffff2e666ff00
+0b9998ffffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39818757860813
+5f86858b769085b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729
+078bc2fffffc4cccff00308000ffffe8b334ff001e800008136fffffef3334a1ffff
+e0cccc97688bffffcee6688bffffd019987e4e47fffffc9998fffffc3334fffff999
+9cfffff5cccc8b9908ff0000ccccf77505cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fc49078b387f86ffffda33348885858b769185ff0029
+33328cff0005999a8cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd
+33348f828f8bde080e9e81c2f7edb201e5daf767da03e5f81a15fbc10744a96fba1e
+bd8bb9a8a5b2fffffd4cccff0009999afffffbb334ff00046666828c7c7e6f7c6f8b
+087085a9c91ff791f767fbc10744aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861efb0c
+b206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000
+999a84ff0002199affffe93334ffffffe666fffff6cccc8bffffad199affffd5cccc
+ffffffccccffffc0b334ff0000199affff9680008b08a807cc8fb38b1e92878e821e
+51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199affffe933
+34ffffffe666ff0000cccc8bffffad199a085dffffffe666057d877f831f7e07868c
+8a8f1e0ef70c7fb860c2f7edb273adf77ba712b0e0d1acd2def70fd557ba139f40f8
+12e6157999056c5e6670608b08484bdff704f700b2cfcd1fc68b92638e6a8e729f80
+a18b9f8b9d9a8ba88bff0025999affffe64cccff00223332ffffceb334ff0010999a
+ffffc3e666ff00244cceffffed199aff003033348bff0032199808c3cbbedef2bc52
+321e136f8063765448888a8a881e6c07888d8a8e1eccfbc10644a66fb91eb88bb4a1
+b1b788ff00063333fffffbe66891fffff51998ff0004cccd71777883718b087084a9
+c91ff791ea0795998f941f9f078f888d861efb038b05139f4086ea0586f70150ccfb
+118bfb0c8b45478b438bffffd39998ff0009cccdffffd9ccceff00231999ffffdb99
+9a08fffffb199a06203331fb21fb16cb31f7161fc68bbba6b7d7080e4f89acf7f6a7
+79ad9877f787ac12e7d6f739ee51da13aee8f871158a7081766c8b0879867f831f82
+07878c8a8f1eb706998c877f1ffbc3078b6efffffb666681ffffd9999a8708788905
+86ffffff800088fffffd80008b86088b748d89058bcf8dafb2d5898b1e8d8d8ba205
+8b9087ff0002b33387ff00004ccd08728d05ffffde6666ff0002b333fffff6999aff
+000b4ccd8ba808f82e07f72ecba4ac1eab8ba67f946096559c73ab8b9e8b9f9d8b9f
+8bb06ab266a4729c7595658b083c8b2d5981fb3f0813ddf7fbfbf715860a0e6789a8
+f804adf77fad01e7d6f74ad603f815f903156dae62a24e8b718b7585767e50667254
+852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc3078b6eff
+fff38000fffff53333ffffe18000fffffccccd0878890586ffffff800088fffffd80
+008b86088b748d89058bcf8dafb2ca898b1e8d8d8ba2058b90fffffce666ff00024c
+cdfffffb199aff0000b333087d8d05ffffe0e666ff00046666fffff4199aff000999
+9a8ba808f7f507f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89
+698b75087080766c7a857f831e8207878c8a901eb6069a8c877f1ffbc3078b6effff
+f66666fffff58000ffffde999afffffc80000878890586ffffff800088fffffd8000
+8b86088b748d89058bcf8daeb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff0000
+3333086a8d05ffffe03334ff0001e666fffff4ccccff000c199a8ba808f82207f70c
+9dd1c11ea38b91788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+488b62578374080ef8dcfb7b929d92f705adf7419d7aa3f7a99df7de929c9212d492
+9d92f809bcf714b8f80a929d9213f7fcf912f8ff15fffffa99988bffffefccd08fff
+ffdf99988b838b838b848a969b83a6af9b8391828f7f8b788b7d7c8b798b7d98868b
+86088b838487858968866b816d7d8b8e8c8e8b8e8b928a8c8b948ba695949393868c
+868d838b08767c7b781f8b6fa28f8b818b84fffffbb334fffffb9998fffffc4cccff
+fffd66688184ffffe78000fffff48000ffffda8000ffffda8000899e77988ba68b93
+8c8f8d92688389758b8308829073a3ff0005ccccff000833348b7f1e8b878a878988
+7572786e7d6b819f699089b68889767e8b748b779d7c998b938b92908f8b08938d80
+801f806e856a896a8790838e818d68938199849a858287818b7f8b749d7d9f8b9b8b
+919a918b08978b907d8c848b6b8f728f79868d868c838b668b7e988197898588838b
+828b749c7aa08b08a88b8ba1928b918b90898f878f7d8e828b840879077f8e84921e
+918b918e948b968ba5879a8b918b8f8c8b8e8b9c42a3859b859b859b879d8e95928f
+8d8b08908b9283968b998ba0988ba38b9d7f97829384616b887d7c899789988b998b
+a18d9f8fa0088e909091948b918b8e79a08ba28b9a9b8b9f8b968792889372666f9a
+778094ab98aa9da6088e8d8f8d908b998b846fab8b9e8b9b9b8ba38b908a8f8b8e85
+868282758bffffeeb3348bfffffd99988fffffefb3348b089ca19fa0a19d8e8c8e8c
+8f8ba08b7677a47d9187918a918b998b9c9490a98388878a828b08768b7e977c8fa3
+9ba498a795ff001180008bff00008000fffffa99988bfffffc66688b8887848b848b
+8098799e8ba18b969e8e9008ffffd966688bffffff9998ff0016999876ff000e6668
+a693a88ea98b98888b848b8a8b8781838b818b7b987b9e8b978b94909594086a958a
+a58199a48a9e8799889988877c978490889188928b918b8f8d918b8e8b8e8a8e8a08
+829c91938292888e8291828b848b8787848b898b898d7a8f999690a5af8e888f809c
+778b08787e797f1f8b8391858b88088987837f1efb88fce315898d888d1e8f8b8991
+918b8d8b8e898b878b7a6f94827f08a07b9292898e0588898a8a8a8b8a8bffffffb3
+34ff00008000ffffff4cccff00008000088192059192a8848b9c8bff00034ccdffff
+fde666ff0004b333fffffc8000ff0002e666fffffd199aff00024ccdfffffc199aff
+0000cccdfffffc66668b08878788891fc56c15827f76848a898c8e9397a191ff0002
+6666ff0001999a8a881e7b691598949d9693879083817f7d7d809288901fc8981581
+837684fffffe199afffffee6668d909393a1918e8c88881e7d691598939c9797848e
+867f837b7f828f84921fc8a315858488861e888e07ff00046668ff00039998898584
+8785861f858b8d91858b08898a8a8a88918793959192931f8b91878f878c8d8c928e
+8b910890868f838188848a898d8a8d1e918b8693948b088e8c88881fb272158b908b
+908e898e888b868a86888d898e1ff77ef8da158df5ffffb4ccccffff523334fb1344
+4c798a8b8b8c8c8b8c8c1fb499b7de8be58bf74521c98b93088c8c8c8c1ee8ba158a
+8a8b891f8b868f838b8a898b869b878b8a8b8a8a8b8a8b878f848b888b8a8b8a8a8b
+888b8898878b088a8a8a8a1f8b858f858e838a8b8595888b8a8b8b8a8b898b879083
+938398828a869080877e838e847f087a99728e88a08a94879485907a9b579a878b80
+8b88848b858b8392819180917e956fa08408a2839879917d7a898b777d8b898b8093
+849c86998691878b8a8b8b8b8b8a8b8890848b89088a8a05898c8199878b8a8b8a8a
+8b8a8b8793848b88858efffffacccc90fffffc33348b8a8b8b8b8b8a8b8797818b8a
+088a8b8293878b8a8b8a8b8b8a8b879b828b8a8a8b8290888b8a8b8a8a8b8a8b8896
+829f87089b6c8c8b8d8b8b8ba08da39e8b64977197727c968990868b808b846b8b8b
+088b8c918e91898c89878a808b8b8a97878a898b87888d868b1f8b8795878a8a8a89
+878f858b1e8b858f898a8a8b898892828b1e8b878f888a8a8a8989996c9f9b8e9895
+1e8e0795849a769c868b868c868b868b566e2c5978898a8b8a8b8b8b8a8b8b8c8bc5
+8bc5d392dc088c9a8d998c98ff000b8000ff0005b334ff00043334ff00088000ff00
+164cccff0023cccc088b8d779ca293ae908d8b8d898987858b1e8b8f948e8d8a8d88
+1f8a8b89898a8a08938a8c898789858b8b8a9088888a87881e8a8d898d898b8a8b89
+8a8b888b888d868d868791849f7f8b828b908876750899078bbb80a773a893969394
+8e978c8f8e918b8d8b8ffffffeb334ff0002ccccfffffe4cccff00023334087e9c05
+8c8f8b8f8b8f08968896898a8a89891e81078a8b899e868b08fb1dfc4c15970713ef
+fc8e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713f7fcf9060a13effcf9070af7c1f73015fb9ffb6efb6efb9ffb9ffb6ef76e
+f79ff79ff76ef76ef79ff79ff76efb6efb9f1efc79f87f15fba4fb6ffb6ffba4fba4
+f76ffb70f7a4f7a4f770f770f7a4f7a4fb70f76ffba41ff892fc7f15fbadfb79fb79
+fbadfbadfb78f779f7adf7adf778f778f7adf7adf779fb78fbad1efc92f89815fbb2
+fb7afb7afbb2fbb2f77afb7bf7b2f7b2f77bf77bf7b2f7b2fb7bf77afbb21ffb76fd
+9315ff0002b334ff00024cccff0001e666ff0003199aff0003cccc88ff0002333488
+fffffdb334fffffd4ccc8987fffffd33338efffffdcccd8e1f0ef8dcfb7b92f71ead
+f7419d7aa3f7a99cf7f79212d492f822bcf714b868aef8239213df60f999f7161597
+078e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713efa0f9060a13dfa0f9070af7daf73015fbaefb78fb78fbaefbadfb78f778
+f7aef7adf778f778f7adf7aef778fb78fbad1efc92f89815fbb1fb7bfb7bfbb1fbb2
+f77bfb7bf7b1f7b2f77bf77bf7b2f7b1fb7bf77bfbb21f0efb6292fa5e9201fece92
+fa5e920322f7b215fba0fb6dfb6dfba0fb9ffb6ef76df7a0f79ff76ef76ef79ff7a0
+f76dfb6efb9f1efc79f87f15fba3fb71fb70fba3fba4f771fb70f7a3f7a4f770f770
+f7a4f7a3fb70f770fba41fbcfb3215878b898c888b7c8d7b8c7d8b838b838b838a97
+9b83a6af9b8391828f7f8b788b7d7c8b79088b7d98868b868b838487858968866b81
+6d7d8b8e8c8e8b8e8b928a8c8b948ba69594939308858c878d838b768b7c7b8b788b
+6fa28f8b818b848786878908838605737d767977788a9e76988ba68b938c8f8e9268
+8388758b838b829173a38b089006938c82881f8b878a8789887472796e7d6b809f6a
+9089b68889757e8b748b779d7c9a8b938b92908f8b088e92867f1f8607806e856a89
+6a8690848e808d69938199849a858286818b7f8b749d7d9f8b9c8b919a918b08978b
+8f7d8c848c6b8f728f79868d858c848b658b7f988197898588838b828b749c7aa08b
+08a88b8ba1918b928b90898e878f7d8f828b848b858a858b858b7f8f84928b918b91
+8e948b08958ba687998b928b8f8c8b8e8b9c41a3859b869b859b879d8d95938f8d8b
+8f8b9283978b0899a098a31f8b9d7f97829384616b887c7c8a9789988b998ba18d9f
+8fa08e909091948b918b8e79a08b08a2999b9f1f8b968892889372666f9a778094ab
+98aa9da68e8d8f8d908b998b836fac8b9e8b9b9b8ba3088b908a8f8b8e8586828275
+8b7c8b838f818b0888069ca19fa0a19d8e8c8d8c8f8ba18b7677a47d9187918a908b
+9a8b9c9490a98388878a828b08768b7d977d8fa39ba498a695088f06949185881f8b
+8887848b848b8098799e8ba18b959e8f900887066c8b81a57c96a693a78eaa8b9788
+8c838b8b8b8781838b818b7b987b9e8b978b949095940869958ba58199a48a9e8799
+889a828682978490889188928b918b8f8d918b8e8b8d8a8f8a08829c91938292888e
+8191838b848b8787838b8a8b898d7a8f999690a5af8e888f809c778b08777f797f1f
+8b8391858b888b8987837f8b08fb89fce315898e888d1e8f8b8991918b8d8b8e898b
+878b7a6f94817f08a17b9292898e0588898a8a8a8b8a8b8a8b8a8c088292059092a9
+848b9c0891829384878688891ec56c15828076838a898c8e9398a1911e8c068d8b8a
+881f7b691599949d969386908480807d7d809188901fc99815818376848a898d9093
+93a1918e8c88881e7e691597939b9797848f8580827b7f829184921fc7a315858488
+861e888e078e908985848685861f868b8d91858b08898a8a8a88918793959192931f
+8b91878f878c8d8c928e8b910890868f838188848a898d8a8d1e908b8793948b088e
+8c88881fb272158b908b908e898e888a878a86888d898e1ff77df8da158d06f22a8f
+2f8b4f08fb13444c798a8b8b8c8c8b8c8c1eb499b7de8be58bf74b21c08b968b8c8b
+8c8c8b08e9ba158a8a8b891f8b868e838b8a8a8b869b878b8b8b8a8b8b898b878e83
+8b888b8b8b8a8a8b888b8798878b088b8a8a8a1f8b86927f8b89088a078a8b859588
+8b8a8b8b8a8b898b878f83948397828b868f80887e838e847f7a99728e88a0088994
+879486907a9b579a868b818b88848b858b8392819080927e956fa084a2839879917d
+087a898a777e8b898b8093849c86998591888b8b8b8a8b8b8a8b888f848b89088a07
+898c8199878b8a8b8a8a8b8a8b8793848b88088a06898b8293888b8a8b8b8b8b8a8b
+8796818b8a8a8b8393878b8a8b8a8b8b8a8b879b828b8a08898b8390888b8a8b8b8a
+8b8a8b889482a0879b6c8c8b8d8b8b8ba08da29e8b6498719672087d968990868b80
+8b846b8b8b088b8c918e91888c89878b808b8b8a97878a898b87888d868b1f8b8795
+87898a8a898790858b1e8b858f898a8a8b898892828b1e8b868f898a8a8a8989996c
+9f9b8e98951e8e0795849a769c868b868c868b868b566d2c5a78898a8b8a8b8b8b8a
+8b8b8c8bc58bc5d392dc088c9a8d998c988f8d918f9092949999a28b8b088b8d779c
+a293ae908d8b8d898887858b1e8b90948e8d8a8d881f8a8b8a898a8b0893888b8986
+8b858b8b8a9088888a87881e8a8d8a8d888b8a8b888a8b888b888e868c868891849f
+7e8b838b908876750899078bbb80a773a8939693948d978c8f8f918b8d8b8f898f8a
+8c087e9c058c8f8b8f8b8f08968796898a8a89891e8b878c878b898a8b889e878b08
+fcb8fcab158b908c8f8e898e8989878987898d888e1f0e3d89a8f804adf77fad01e7
+d6f74cd603f73bf87a15f72ec8a3ab1ea98b9e7b986a927e94819887088b7f8bfc8c
+058b6efffff64cccfffff4b333ffffdeb334fffffc4ccd08828a0586ffffff666689
+fffffd999a8b86088b788c89058bc58dafb2d4898b1e8c8d8b9e058b9088ff000299
+9a86ff0000666608748d05ffffe06666ff0002b333fffff4999aff000b4ccd8ba808
+ff0203b33407cc8eff00234ccc8b1e92fffffbb3348efffff84ccc1e7b80ffffe5b3
+3482fffff34ccc88759a7193688b398b264587fb2a087081756c79867f831e820787
+8c8a8f1eb706998c877f1ffbc7078b6efffff7b333fffff5b333ffffdd4ccdfffffc
+4ccd0878890586ffffff800088fffffd80008b86088b788d89058bcf8fafb2ce878b
+1e8d8d8b9e058b9087ff0002999a87ff0000666608798d05ffffdd3333ff0003e666
+fffff7cccdff000a199a8ba8080ef75889a8f804ad849ff767a77bac12e7d6f74ad5
+f75fd6138ff8a8f94e15488b617565560813d76dae62a24e8b718b7585767e506672
+54852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7078b6e
+fffff96666fffff5ccccffffdb999afffffc33340878890586ffffff800088fffffd
+80008b86088b788d89058bcf8dafb2ca898b1e8d8d8b9e058b90fffffce666ff0002
+4ccdfffffb199aff0000b333087d8d056aff0004b33381ff00094ccd8ba808f7f907
+f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89698b7508708076
+6c7a857f831e8207878c8a901eb6069a8c877f1ffbc7078b6efffff66666fffff580
+00ffffde999afffffc80000878890586ffffff800088fffffd80008b86088b788d89
+058bcf8daeb2dd898b1e8d8d8b9e058b9087ff0002cccd87ff00003333086a8d05ff
+ffe03334ff0001e666fffff4ccccff000c199a8ba808f83207138ff72ecba4ac1eac
+8ba67f936097559b73ab8b9e8ba09d8b9f8bb069b266a408729c7595658b08f744fc
+d415ff00c74ccc07ff0031b3348fcb8b1e13a78f868e831effffe3800080ffffd880
+0082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb
+57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba085914e8f
+808f8bde080e857fa779a8f804ad7aa9f773ac12e7d6f706c94da699e6d4ce62a613
+6c80e8f871158a7081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7
+078b6efffff56666fffff56666ffffdf999afffffc999a0878890586ffffff800088
+fffffd80008b86088b788d89058bcf8dafb2d5898b1e8d8d8b9e058b9087ff0002b3
+3387ff00004ccd08728d05ffffda66668efffffa999a968ba808f83207f72ec1a4ac
+1eac8ba5809473966b9c66ab8b089e9798a0ba50c3331f3c8b375981fb3f08134d40
+f750fbe5158f5a8e588b61958d938c918b918b918a928a08139e40a4849f87ae8bb8
+8becac8bea8bdb4eb03aa9559f7d9e8bb38bbcada0b18b08139e20a08bc27ba03908
+a68c0589af88ad85ab6c9b6a945a8b3c8b54578b4c8b40ac75d46b08138d40db699e
+6f8b608b5d5e6c6a8b668b7a9d819676a37fba88a4080ef282b464bcf755b2f720a9
+12b2d34ed4f73ed9f767db1377f890b515404dd2f61f8b948b888c9408f7b606eb68
+f705fb1d1e528b5d72645e66ce3e8e738b08393d5d51779472aaa4999c9b1f8ba285
+808ba58baab89cb28ba08ba1819a7ca76f8b518b720830740513bb2371505e8b3b8b
+47bd5ed98baf8bb293a79f081377aba205a29e8f8c90909b74b958f18be38bb9c5a5
+ae087a950568655f7b558b08d5f77c15fb630692c4aedad38b08b0c36e201ffbb571
+15fb3e0713bb656c6e7c738b3e8b7dbb8ba88bc3a4b8f731b1080ef74d89a8f804ba
+5cadf77fad12e7d6f74cd6f75ad513bef7fef93715759b7192688b398b264587fb2a
+087081756c79867f831e8207878c8a8f1eb706998c877f1ffbc7078b6efffff76666
+fffff5999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b788d89058bcf8dafb2ce898b1e8d8d8b9e058b9087ff0002999a87ff0000666608
+798d05ffffdab333ff0004199afffffa4ccdff0009e6668ba808f83207f72ec8a3ab
+1ea98b9e7b986a927e94819887088b7f8bfc8c058b6e80fffff9199a6bfffff8e666
+08828905fffffb199afffffee666fffffde666fffffe199a8b86088b788c89058bc5
+8dafb2d4898b1e8c8d8b9e058b9088ff0002999a86ff0000666608748d05ffffe166
+66ff0002b333fffff3999aff000b4ccd8ba808f78e0713debbbab6a5a88b08c3a178
+3a1ffb73078b6efffff76668fffff5999affffdd9998fffffc66660878890586ffff
+ff800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087
+ff0002800086ff0000800008788d05ffffdf9998ff00036666fffff56668ff000a99
+9a8ba808f76807f268c2421e648b517b484808f77907cc8eae8b1e92878e831e7b80
+71827e88080ef924fb76c2c5b5c6ad6bb8f803a8f755ad12b0e6f84ee7f72cd6f752
+d613cfc0f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333ff
+fff64ccefffffeb333ff00033332ff00026667ff00034cceff00026666ff00034ccc
+ff00024ccdff0029999aff001d999aff002d199aff00151999ff00223332ff00094c
+cdff0055b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff00
+38b333a1ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e6
+66ffff3e199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ff
+ffee3332fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e
+6308b37705ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff0013
+3333ff000ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37c
+df8bf38bf0b0cac6087a9d0549663b75598b083f8b589931ae08fb85f97c15640a13
+dfc0f8f3fd0c15b28bba9fbcb3908fff00094cd08dff0000b33084ff00028000ffff
+e68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff00068000ff00
+028000a19dae9ac89291918b9a8591084b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b788983
+7d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b
+8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e0ef85989acf7f8bf
+f73bb29377c277128eadf778e0f78cdaf766da13ef80f7f2f70e15f81207cb95b1af
+1ea106d6f4983f1ffc39078b38fffff4333487518785858b769185ff002933348cff
+001999988cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd33348f82
+8f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccc
+ff00329998ff0015b334ff002766688bff001466688ba0fffff2e666ff000b9998ff
+ffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085
+b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729078bc2fffffc4c
+ccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6
+688bffffc419987e4e4708fffff633348bff0000ccccf76b05ff00003334ccff0003
+ccccb38b8b8b92878e828bffffe9b334fffff71998ffffd86664ffffe4ccd0ffffc5
+999cfffffd9998ffffc29998fffffd8000ffffac999a89ffffcc199a8b08350613df
+80f7300a13ef809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b76
+9185bc8cff002466668cff0036999a8bff003633348bff0022cccc8abd8a91918ba0
+8591083b8e7a908bde080e4cfb7caef74faa789ef704adf773b212e4d651c589d8f7
+4cdb13dc80f738f71d158bf791f77f8cfb2afb919c7b059d8fa992968b08ccac452b
+24494e601f13d980628b70ae84a183a37d95748b08768079796bc651dff709dcf1f7
+05ef40df311ff71bf770059ca590978b8f8b8f858d848b888b68856e8b0813da80fb
+8ff72f0651778b78053f7b6348898a8a881e6c07888c8a8e1e13dc80ccfbc10613d9
+8044a56fba1e13bc80968ba194938e0813dc808b95fffffc8000ff00033333fffffa
+8000ff0005cccd0885067c8299f11f0e42fb6d76f780acf803b7f75da8a57701f701
+d6f768d903f701d7158b6efffff63333fffff4ccccffffdecccdfffffd3334087389
+0586ffffff999a89fffffd66668b86088b748c8905bd8c9f8cb28bb48b9f8abd8a08
+8d8d8ba2058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002ccccff
+fff74ccdff000b33348ba808f79507bfc1ac96a58bb88bc3578bfb198bfb8e472422
+41ff00004ccdfffff54ccdff0003b3338392fffffab333f70dc0f70bf7148bf7a58b
+f7443bbd3e8b085d8b6778585d08f76207cc8eb38b1e92878e821effffe6e66681ff
+ffba999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffff
+ffcccc08ab89059f957e4a1f0e7e7faa76acf7fbb2f785a712ecdaeccfc8cd9acc13
+7fecf87115707f766178867f831e7e07868c8a8f1ed4fbce068b6e83806688087189
+05878888861f8b748d89058bd78db0b5d3898b1e8d8d8ba20590878e871e758d056b
+8e7f968ba808f840078bac90aa9baaa3b9afa4bf8bbc8bb7668b558b657b755a6462
+6b74668b618b56b566cc6108c069bd698b460813bf49577c6a1e728b7295799d8790
+88928b95089f819c767a7e807c66b754e3ecc4d0d21e8be251b059ab38bf7ba48ba9
+8bb1a29fa7a3aca5b6b28bbd8bbb5ec9fb038b6a8b6a866b7b08fb075189278b6108
+0ee97fa7f820a912bba67ac9f71dceb8c94da6f746ce13cbf805f720158f5a8e588b
+61958d938c908b928b918a918aa5849f87ae8bb78bedac8bea8bdb4eb03aa90813cd
+559f7d9e8bb38bbcada0b18ba08bc27ba03908a58c058aaf88ad85ab6b9b6b94598b
+3d8b54578b4c8b40ac75d46bdb699e6f8b608b5d5e6c6a8b08668b7a9d81960813cb
+76a37fba88a40813e9fbf08a158f5a8e588b61948d948c908b928b908a928aa584a3
+87ae8bba8bebac8bea8bdb53b03aa908549f7d9e8bb38bc1ad9bb18ba08bbe7b9f39
+08a68c058aaf87ad85ab6c9b7094598b0813d94150574c1f8b40ac75d46bda69996f
+8b608b5c616d688b668b759d81960813e974a281bb88a4080ef7f481aff8eaad12a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff00208000ff00568000ff00
+208000fffff78000ff00476668ff00ed9998df4bff0020800013c180ff0362b334f9
+0b15ffffc6333493ff000219989effff9e4ccc8bffff9ab3348b32488b218bffff96
+999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ff
+ffe3e6678bffff9e33338b3affffd2cccc61ffffb033348b0813c280ffffa280008b
+4fff002a800075ff00638000fffff3b3348ffffff56666fffffe199afffff66666ff
+fffae6668f3e8f71975aca8ba774ff0058b3348bff002d80008bb6ff000b199aff00
+22ccccff0015b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a
+088bff006a6666ffffafe668ff002e999affffad9998ff001ee6660813c140ffffc4
+ccccff00163334ffff9c199cff0025cccc8bff0054199a8bc3ff00329998c3ff003a
+e6688bff006119988baa4d9f49ff000a8000fffffe333498ff0000cccc949208ffff
+fc8000bb87a7fffff5b334c008fc6c16f7260a13d800f7270a13e800f7280a13d400
+f7290a0e46fb4cb3f72f76f824b201e4daf788db03f73cf84115b207cc8fb38b1e92
+878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199a
+ffffe93334ffffffe666fffff6cccc8bffffad199a085dffffffe666057d877f831f
+7e07868c8a8f1ec6fbd2068b7989708d818f7a9a81ab8b08b181b7b11ff7d2f76007
+fb25fb689282059b8e9c8c988b08dac049402f493759745d83ac1f8b9895958b9e08
+a18196757a7a76794cac65dee7f705daf72a1e8bd864defb109308f70cf7410598a4
+92988b8f8b90838c868b888b6a866e8b080ef7137fd2f7b5ba83be72b2f74ab012b2
+c0f750a2beb67eb3f768be13ae40f711f7171572b283b98b9f8bd0bdddce8ba18b9b
+7f947d08fb6dfb4a1521e036f21ef7328bf72ff72299f7790813df409a829e899d8b
+08a3c4a8d7a57997797a7d7e721f8b818f8090818f848e848b868b868888838b808b
+7d9379956d9d64a05c8b083c6a5a5363a1809e9d9d9fa01f8b9d8292839282918391
+8b9a8b98988f9c8bb68ba977a37885fb1847fb4bfb558b568b66a171a708f796f859
+0513aec0969f99aa8b9708a377a16855686c571e8b858c838c8408a18d058b8f8a90
+8b8f08a99ba1a79f9c7c7a1e8b7b827b81780847fb0a05848e838d838b082dfb2148
+fb541f0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090a0e3389
+acf75dacf738ac12f701daf740d753e213f8f750f81815aa9295d0b7bf80484f6e71
+4a1e3d066a04d90613f4e6a2ffffd2199affffc9e6665f7b5225ffffbee666fffff7
+199a99b01f643915a98bbf89c38bf7198bbaff0036999a8bff004866668bcc6ab745
+9b0813f8b39dabb88bb28bc371c1fb258b568bffffdd4ccd89ffffe2b3338b6e8b5e
+8c668c85858b769185c88796878b3808fb6c078b3880884e8685858b769185b58cff
+002a4ccd8cff001bb3338b080e2481b1f82dac01b0e2f7b8a903f7a88115f90a0a0e
+6d89acf822ac01f701daf793e203f750d715f90b0a63f81415f90c0a0efb0a8baaf7
+56abf73eac12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0a0efb1d
+89acf747abf74dac01f702daf712a7bba603f702f70e158b3880884e8685858b7691
+85b18cff0028cccd8cff002133338bae8bb28ab08a91918ba085914e8f80908bdd08
+e3c407ff0040cccc8bff00023334ffffe9cccd8dffffde333390869d8b90908aa08a
+ff001780008bff001c80008bff001bb3338cff00174ccd8c9f8690798b8686895e8a
+80498b0852f731069c98969e1ed806c98b986a9d52958a948d938f87ad7fd989928b
+8d8a8c898b7d898489778b08fb63066d8b628c638c85858b769185c88796878b3808
+0e5581acf733acf772ac12b0e5f79eda68a913f8f86cff005b333315f90f0a13f4f9
+100a13f8849287948b92080e9b89acf750acf745ac01f703daf77bda03f888f7e615
+8bde968ec89091918ba0859168895f8b6a8b6f8b5f8c648c85858b769185c8879687
+8b380835fb7be1078bde968ec89091918ba08591658affffd5cccd8affffe033338b
+ffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb6c078b388088
+4e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002833338a
+b28a91918ba085914e8f808f8bde08ecf77b2a078b3880884e8685858b769185b08c
+ff002833348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f
+808f8bde080efbb089acf822ac01f708da03f757f7e615f9110a0efbb0fb43b5f8c6
+ac01f715da03f715f7e615f9120a0e6289acf74cadf748ac01f704da03f704f7e615
+fb6c078b3880884e8685858b769185b18cff002c999a8cff001d66668bff001cb333
+8bff00224ccd8aac8a91918ba085915b90828e8bde08e807a18ba4869a7708f703fb
+1e05997b8c808b7e087d07968ca48ca58ba78bbc898b8b91918ba08591708effffe8
+199aff000accccfffff2e666ff000f333408fb28f74205869187908b918b9391969c
+9d08e1ee05ff001e4cccff0022e666ff0024b334ff0005199ab38d91918ba08591ff
+ffe1b3348affffdf4ccc8a718b6e8bffffdf4ccc8cffffe2b3348c85858b769185bd
+8881713e3408ffffd54ccdffffcfccccffffe2b333fffff033346a8b08e4078bde94
+8ebb9091918ba085916b8affffdf66668affffe0999a8bffffe333338bffffd3cccd
+8c648c85858b769185c88696888b38080efb388badf81fac01f704da03f80f16f913
+0a0ed3947695acf822ac121360f877f81215928bff000d4cccfb9705ff0003999a38
+ffffff8000fffffc3333ffffc9999afffffacccd85858b769185ae8cb08ca78ba98b
+a88aa68a91918ba0859158ff00053333ffffff1998ff0005cccdfffff9ccd0dc08ff
+ffec1998f79605fffffd4cccff00283334ff0008b334ff0003ccccbd8f91918ba085
+9108fb1b89fb2afbfafb14f7fafb1f8d0585858b769185ff0030cccd8894fffffacc
+cc897808ffffe08000fffee7333405fffff6b334ffffac999afffff2cccdfffffc66
+66ffffda33338885858b7691859f8cff001d999a8cff001066668bff0013cccd8bff
+002533338a9f8a91918ba08591ffffc74ccdff00043333ff00003333ff000bb333ff
+00088000ff004a199a08a8f7928d8bf722fc0f0513a0ff0001e66686ff0005199a88
+908b8f8bff0004e6668eff0002199a90080e92947695acf822ac12f700baf7b8ba13
+b8f72ff70e15f752078bff00313334ff000cb333fffff68000ff00174ccdffffe34c
+cc08f77ffbcd059a7b9b859a8b089795929f1ff7d7078bde968ec89091918ba08591
+6d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb4f078b70887a6cb5
+08fb79f7cbfb228d89888b73058791898e1eb188967f957908fba60713788b388087
+4e8785858b769185a98cae8ca98ba98baf8aa98a91918ba08591084e90808e8bde08
+0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150a0efb1a89
+acf72dacf768ac01f702daf72be203f751f81415ab9798bbc6abffffe1199affffb9
+e666ffffb7e66671ffffd9199a4f1e778b728e7793082104d5079d839f87a48b08f7
+1ab4ebc7bf6dd1fb221f668b6189708bffffe34ccd8bffffd5b3338c638c85858b76
+9185c88796878b3808fb6c078b3880884e8685858b769185ac8cae8cb78bb68bae8a
+ac8a91918ba085914e8f808f8bde080e6bfb37baa9aef87cac01b0e2f7d0e203f7a6
+f84915f9140affffdfcccdfffe17999a15ff0025ccceff00189999ff00258000ff00
+0f199aff0019cccc94ff00784cceff001b3333ff003fccccff0063cccd8bff006eb3
+3308f722fb06e8fb16fb1f2026fb271e8bffff7fe666ff005b6666ffffa36667ff00
+7b6667fffff5b333ffffc8b333ffffe1cccdffffcd8000ffffd4e66672ffffdc4ccd
+08ac7b05ff000ab333ff000f199aff000bcccdff000d8000ff000c6666ff000c1999
+ff0009cccdff0005666794ff0001e666ff00054ccd8bd58bb83ef28bbe8bada0aab8
+087d95057a766e83748b448b51cc328bfffffd66668bfffffd4ccdffffffcccdffff
+fd199affffffcccd080e3784ae6dacf746a8f755ac12f704daf730e2133cf7eff7ee
+153cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b3331eff0045
+8000ff00148000724f1ffb30fb7415f9160a13bcf9170a137cf9180a0efb4b7fac8a
+76f84aac12bcab75d0f732d95ba613acf7e7f85415f9190a1374f91a0a13acf91b0a
+13aaf91c0a0e4989acf81fad957712aea6f737daf738a613dcf7c4f70e15f91d0a13
+bcf91e0a13dcf91f0a13bcf9200a13dcf9210a0e7881b4f822ac01f3daf790ba03f8
+47f7e615f9220a0e5c9476f84dac01ff00b6e666f7fe15ffffe84ccdff0038999aff
+0001199aff00056666ff0035b3339091918ba085916c8affffde4ccd8affffd6b333
+8bffffdfb3338bffffe24ccd8c718c85858b769185bcfffffb4cccff0006b333ffff
+f4e668ff0018b333ffffc6cccc08ff008d999afbdc05ff000c999affffe2b33390ff
+fff54ccdff000b66668b928bff0003ccccff00084ccdff000e3334ff001fb33308ff
+00926666f7db05ff00148000ff002dccccff000b199aff00183334c18f91918ba085
+91758a738a718b668b6f8c708c85858b769185c187907fffffebb3345808ffff9366
+66ffff06b33305fffffd3332fffffcfffffffffe33348bfffffdb3348e080ef75d94
+76f84dac01ff028b9998f7fd15ffff9c199cffff0b800005fffffd8000fffff84ccd
+fffffd6664ff0000cccdfffffd199cff0006e66608ffff9dccccff00fb800005ffff
+ed8000ff002f4ccc8dff0009b334c08f91918ba085916b8a6a8a688b688b6f8c728c
+85858b769185bafffffc8000927dff001d999affffb5800008ff0002e666fffff8b3
+34fffffe80007f7dffffe04ccc08ffffb38000fb410588fffff9199afffffbb334ff
+ffffccccfffffd8000ff0009999a08ffff9f3332ff00f6800005ffffed199aff0030
+4ccc8cff000fb334bb8e91918ba085916c8a6a8a678b658bffffe433338cffffe5cc
+cd8c85858b769185ff002f199afffffb3334ff00054cccfffff5ccccff0015b33457
+08ff0087e666fbd9059affffdc199aff0007e666fffff2e666ff0009199a8b968bff
+0005999a92ff00126666b608ff005c8000f76c05ff0006b334ff000f999aff000419
+98ff0000e666ff00053334fffff3800008ff005a8000fb7005ff000bb334ffffe24c
+cdff000a3334ffffebb333ff000d19988bff000b19988bff000a199cff0013b333ff
+000bccccff001e4ccd08ff00809998f7d305ff00103334ff00284cccff00103334ff
+001cb334be8e91918ba08591768a758a678b658b6e8c6f8c85858b769185d587ffff
+f59998ffffe266667dffffdd999a080e4c89acf822ac01f75bf8141572af938fbb90
+91918ba085916e8a5b8a6b8b6b8b6b8c6f8c85858b769185af88a776a95f08ebfb1c
+05ff00056666fffff84ccdffffff999afffffcb33387860831fb0805615473866589
+85858b769185a08ca38cab8bab8ba98aa78a91918ba08591648f8191a3ae08d0ed05
+ff0009199aff000ce666ff00034cccfffffe6667ff0006999afffff6b33308c83505
+b0587a87698785858b769185ab8caf8cb28bb48ba88aa58a91918ba085915a8e7e91
+60c80828f71c05fffffb6666ff00064ccdffffff999aff0003b333909108e5f70705
+b3bda493b28e91918ba08591768a728a6b8b6b8b6c8c6f8c85858b769185b2879885
+716708462905fffff83334fffff4e666fffffbccccff0001199a8397080e2189acf8
+22ac01f765dc03ff0155b334f7fe15f9230a0efb228babf81caf957712bba513d0f7
+2ef8601513b0f9240a13d0f9250a0e3c0efb95f760c701b3f79603f7a3f760152a0a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aa1f7af15740a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a915a30a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a815f733
+0a0e6489acf70dadf7e3c089c212f826a613c8eaf415f9080aff005c3334fffeec33
+3415f9090a13e8e0f74d15b30a13d8b40a13e8b50a0e6489acf70dadf7e8ea01f731
+e9d6e903eaf415f9080aff005c3334fffeec333415f9090afb05f74c15950af73d16
+950a0e6489acf70dadf7caabf5ab01f75bb3ebb303eaf415f9080aff005c3334fffe
+ec333415f9090a9cf78915ba0a335615da0a0ece89a870adf74aaaf747ad70a612f7
+e0d4f4a5c9a478a5137700f88dad1544067a7f919e1ff730c807a58b93819076088f
+75058c898d888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06
+888b89898a87088676058677847f708b084ef730069c95919e1ed106cb8b9e569666
+08a48f05132e8084b184b28ab608898d051336808b44896d1e13ae80fb1d063f338d
+8b1f89898b74058b8a8bfffffdb33491ffffff4cccff001a800088ff00068000858b
+7f8b6f52fb067b6b6c4f5d36776b837dffffed80007affffde80008887ffffff999a
+89fffffd66668b88081366808b760513a6808c89051366808bb48d9e1e13a6809edd
+898b1f1366808c8d8ba00513a6808b8e888d888c08818d056d947f8e949d08d3f724
+058f9391909e8b08f704fb2f068b77fffff6999afffff7b333ffffe06666fffffc4c
+cd087a890587ffffff80008afffffd80008b89081366808b750513a6808c89051376
+808bc78db21ef784068cab93b397bc08718e057c5974634e8b08fb79f7fb15132e00
+96a3989b958b089894806c1ffb242a077d858c8f1f8b8c8c8d8c8d080e24fb5ca8d6
+abff0036199aff0025e666f82dac01b0e2f740c9c5a903f79b2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccff0039199a05ff004a4cceff00018000ff002eb332ff001d1999
+ff002db334ff003d4ccd899281ff000ab33383ff00024ccd5d556877488b082851f6
+eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ffffffb334ff00
+29199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b8bfb188b2527
+8bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cccd08ff0022b3
+336bff002f199affffec8000ff003c8000fffffb800008ffffdbb333349185059b90
+958c9e8b080efb0a8baaf756abf73eac12f704daf712a7bba685a713fcf78cf77515
+f90d0a13faf90e0ab1f85d15740a0efb0a8baaf756abf73eac12f704daf712a7bba6
+85a713fcf78cf77515f90d0a13faf90e0acff84a15a30a0efb0a8baaf756abf73eac
+12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0ad1f84b15d70a0efb
+0a8baaf756abf73eacceea12f704da3fe9d6e94ea7bba685a713f980f78cf77515f9
+0d0a13f940f90e0a13f4003ff7f115d80a13f200f73d16d80a0efbb089acf822ac01
+f708da03f757f7e615f9110a38f8b315740a0efbb089acf822ac01f708da03f757f7
+e615f9110a75f8b115a30a0efbb089acf822ac01f708da03f757f7e615f9110a6ff8
+b315d70a0efbb089acf822acccea129be991da81e913f8f757f7e615f9110afb47f8
+5815950a13f4f73d16d80a0e6d89acf745b2f74aac01f701daf793e203f783f78b15
+f9260a30f79015f9270a0e92947695acf822acc6c089c212f700baf79fa689ba1336
+f80bf8d215b30a132eb40a1336b50afb70fc5815f9280a13a5f9290a1365f92a0a0e
+6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb9af84515
+740a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb6e
+f84015a30a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f915
+0afb78f83e15f7330a0e6b81acf832acbec089c212b0e2f79aa6a6e213cef7a6f849
+15e4d839fb1afb0f4e40322a46e3f70f1ff71bd6cfd61ef791fb5e15f9150a13eefb
+50f7e715b30a13deb40a13eeb50a0e6b81acf832acc3ea01b0e2a6e9d6e9a5e203f7
+a6f84915f9140af791fb5e15f9150afc0cf7e615950af73d16950a0edf89a870adf7
+4eabf742ad70a812a8e0f765d6f710a5daa413af80f7aea615244ad0f71ef72acebc
+d6b6a3896d1ffbe907748581681e133780f78cf82315cb8b9e56966608a48f0584b1
+84b28ab608132f80898d051337808b44896d1efb3d0613af80668b548d878b08fb21
+2b27fb20fb20f237f71b1f136780f77e0a13a780a9c6898b1f1377808d8d9ff70772
+8e057f57746b588b08fb04067a7d909e1ff736db07a58b94808f77088f75058c898d
+888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06888b89888a
+88088676058677847f708b083bf72b069c97919e1e0e6b81acf832ac01b0e2f7d0e2
+03f7a6f84915ff0026b3348bff00248000fffff08000ff001cccccffffe3666608fb
+6afffed2800005ffffe6b333ff0024999afffff14ccdff00314ccd8bff0038b3338b
+f71bd6cfd68b08f791fb5e158bff004eb33468ff003fb332ffffca999aff0029199a
+08ff00276666ff003780006e9effffd8b334ffffc8999a05ffffda9998a0ffffd44c
+ceff000b6666ffffd266668bfb1f8b20268bfb278bffffb1b333ff0022199a4aff00
+36b333ffffd6e66708ffffd23333ffffbf6666a878ff002e199acc05ff0022e666ff
+ffed6666ff0028cccdfffff5999aff002c33338bf7388be3f7078bf71608ffff81cc
+ccff0082333415ff00184cceffffdbb332ff000ee666ffffcf199a8b508bfb0f4e40
+328b638bffffdccccd9affffe46666ff001a3333080e7881b4f822ac01f3daf790ba
+03f847f7e615f9220afb3bf7de15740a0e7881b4f822ac01f3daf790ba03f847f7e6
+15f9220a2ff7d915f78e0a0e7881b4f822ac01f3daf790ba03f847f7e615f9220a21
+f7d615f7330a0e7881b4f822accbea12f3da80e9d6e98bba13f2f847f7e615fb1307
+358b2dfb182876d9e81ef71c078bde968ec89091918ba08591648affffd780008aff
+ffdf80008bffffdc66668bffffd8999a8c678c85858b769185c88796878b3808fb31
+07fb2aff0048800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba0
+85916d8a678a6d8b6d8b688c6d8c85858b76918508c88796878b380813e8fb9bf77f
+15d80a13e4f73d16d80a0e2189acf822ac01f766da03f7c0f93115a30aff0029b334
+fbc715f9230a0efb1189acd3acf75aff001f199aff003fe666ac01f702daf73bdf03
+ff00bd199aff006bb33315ff000d1999fffffc4cccff0014999a8aff001c33338b08
+f725b7dbc2bf70d8fb2b1ffffff14ccd8b6bffffff199affffe64ccd8aff0002e666
+ff0038b3329aff0002ccceff00358000ff0004666691918ba08591618a718a5f8b60
+8b728c608c85858b76918508c88796878b3808fb6c078b3880884e8685858b769185
+b58ca58cb78bb68ba48ab68a91918ba08591ffffc6b333ff0003ccccfffff2cccdff
+0003b334fffffe999aff0045333308ffffffe666ff00da800115ff00126666ff0003
+e666ff0025e667ff0003e666ff000fb3338b08caab76413b6974401fffffe14ccd8b
+ffffed33338cfffff78000ff0002b333080e2189acf822accbea12f712e980dc90e9
+13f4f712f8d115d80af73d16950aff002eb334fb6715ffffb84cccfb12898bffffb3
+e666f7120571ff002c3334fffff6199aff00134cccc7ff0003800091918ba0859169
+8a688a668b6e8b6d8c6e8c85858b769185ff002e8000fffffa8000ff000ce666ffff
+eb6666a7ffffd1199a08ff00563334fb2105ff00074cccfffff44ccdff00078000ff
+fff23333ffffff999a790813ec8affffce8000058b3881884e8685858b769185b08c
+b28caf8bff00244ccc8bff0026b3348aaf8a91918ba085914e8f818f8bde088aff00
+33800005ffffff999aff00128000ff0002e666ff000d999aff00078000ff000a6666
+08ff00506666f71f05ff0017b334ff0028e666ff0011999aff001bccceff002e4ccc
+ff00054ccc91918ba08591758a748a718b668b6f8c718c85858b769185cb858b7eff
+ffe4b3345b080e82fb43b5f717acf822ac01f708daf765da03f828f7e615f9120afb
+6516f9110a0ef7427fac8a76f7ebf580ac12bcab75d0f732d95ba6e7ab75d0f732d9
+5ba6132060f969f85415139060f9190a1340a0f91a0a1390609e8ba87ad88be48bc4
+ff0036e6668bff0056199a8bd9ffffa51998ff002ce666ffffcfe668ff0017199a59
+a35cff001880008bff002a80008bb6a7a7bf8b08132050f91c0afc1616139600f919
+0a134a00f91a0a139600f91b0a132500f92b0a0e6a81ac72acf76ba1f73dac12e8da
+e7a5f72de013bef740f70e15f71a07f71cc3b8e0aabc7d801e8b7a4936675bffffff
+199a85ffffffe6668590858f8c908c8f8b08f706a03171376074671f638b76a67ec5
+8190fffff7ccccfffffe6666fffff83334fffffa999a886a8e6c9475a777ff0026b3
+3481ff00234ccc8bea8bc5d48bd18bd057c9328f08fffff880008bff00038000938d
+8e08f6f72a8b9b0562993b965f8b08fb45522ffb201ffb0807137e8b3880884e8685
+858b769185b18cb28cae8bff001f80008bff002080008aab8a91918ba08591085b90
+828e8bde080ef94afb76c2c5b5c8b4f822acf734af01b0ebf849ebf723daf790ba03
+f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333fffff64cce
+fffffeb333ff00033332ff00026667ff00034cceff00026666ff00034cccff00024c
+cdff0029999aff001d999aff002d199aff00151999ff00223332ff00094ccdff0055
+b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff0038b333a1
+ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ffffee3332
+fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e6308b377
+05ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff00133333ff00
+0ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37cdf8bf38b
+f0b0cac6087a9d0549663b75598b3f8b589931ae08f8ccf86015fb1307358b2dfb18
+2876d9e81ef71c078bde968ec89091918ba08591648affffd780008affffdf80008b
+ffffdc66688bffffd899988c678c85858b769185c88796878b3808fb3107fb2aff00
+48800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba085916d8a67
+8a6d8b6d8b688c6d8c85858b769185c88796878b3808fdbdf7b015640a0ef88efb33
+ff00214ccdff0027b333ff0022b333ff00294ccdacf82aac72ac12afe2f7d0e2eeda
+f790ba13f780fa50f7e615fb1307358b25fb18207ee1e81ef71c078bde968ec8908e
+8eff00018000ff0006b3348bff0006cccc8bff0006ccccfffffe8000ff0006b33488
+8e618a718a5f8b608b728c608c8888fffffe8000fffff94ccc8bfffff93334088bff
+fff93334ff00018000fffff94ccc8e88c88796878b3808fb3107fb2ad162e0f72fcf
+e3f7261ef706078bde968ec8908e8eff00018000ff0006b3348bff0006cccc8bff00
+06ccccfffffe8000ff0006b334888e6d8a678a6d8b6d8b688c6d8c8888fffffe8000
+fffff94ccc8bfffff93334088bfffff93334ff00018000fffff94ccc8e8808c88796
+878b3808fd7cfc3c15ff005133348bff004db33242ff0088ccce8bff007ce6648bff
+008b4cd0c5ff00259998ff0027800008fffff38000ff0009800005ffffda3334ffff
+e5cccdffff85e664ffffd08000ffffa5b3348b228bff000a199aff001cb333ffff67
+199ab3fffff04cccff0004199affffe24cceff0001999afffff14ccc8bfffffc199a
+8bfffffd3333ffffffe666fffffeb333ffffffccccb0ff0018cccdff002c199aff00
+0f199aff001a8000ff00083333ff007a8000a5ccff0064b3338bff006fcccd0813ef
+80f722fb06e8fb16fb1f2026fb271e8bffff7f4ccdff005c3333ffffa31999ff007c
+4ccdfffff66667ffffc8e666ffffe21999ffffcdcccd60ffffe6cccdffffdc199a08
+aa7c059bb0aa95978b08c8f89f15f9140a0e6d89acf745b2f74aac01f701daf793e2
+03f783f78b15f9260a30f79015f9270a0e6489acf70dadf7dbc401f72da6f76ca603
+f748f92815f7950a36fcbf15f9080aff005c3334fffeec333415f9090a0e64fb74b2
+f74bacf70dad01f7c9c703f826fb7415af8bbd9fa3ba087b93057876777c6d8b678b
+75a68bab8bff0030cccdff00318000ff0046cccdff004a666691ff0011ccceffffff
+9999ff0011b334ffffff6667ff00119998ffffff666691918ba085915692fffffc99
+9a93ffffe86666c508ffff663334ff0179333405fffff0e666fffff7e666ffffed33
+32fffff78000ffffeb8000fffffd333208ffff5d3334fffe9b333405775f7f725686
+85858b7691859d8ca18ca58bff001acccd8bff002633338aaa8a91918ba08591558f
+8498a2bd08ff00134ccdff002ab33305ff00036667ff00077fff8dff0003cccdff00
+104ccd8b08f74f8ba05505ff00158000ffffc9e666ff00018000fffff8199a558685
+858b769185ff0011e666ff00008000ff0012e666ff00008000ff00128000ff000066
+66ffffc4b334ffffde999a64ffffc633338bffffd0cccd8b55b26cc18b0857f82e15
+f9090a0e2481b1f82dac01b0e2f7b8a903f7aff93615a30a84fd4015f90a0a0e2481
+b1f82dacf74e7701b0e2f7b8a903f789f89515f7030aaafc9f15f90a0a0e6d89acf8
+22acf7567701f701daf793e203f78af89515f7030a51fc4915f90b0a63f81415f90c
+0a0efb0afb74b2f74daaf756abf73eac12f704da91c7c7a7bba685a713fe80f7b6fb
+7415af8bbd9fa2ba087d93057776777c6d8b678b75a68bab8bff002f8000ff002fb3
+34ff00444ccdff00471998ff00093333ff0014999affffff8000ff000f999affffff
+80008b8b97b496c292b58290838d8088087b506e59388b086006ffffd5cccdfffff6
+3333ff000accccff002133341ff72ac407ff0041cccc8bff00013334788d6690869d
+8b90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca4869079
+8b8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec40613ff00dd8b
+986a9d52958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988a
+ffffef33348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c8879687
+8b3808fb6c078b3880884e8685858b769185af8cb78cab8b08ff0090cccc06ffffc3
+b334ffffde999affffd88000ffffc5e6668bffffd080000855b26cc11e0efb0a8baa
+f756abf73eacf7547712f704daf712a7bba685a713fcf772f89115f7030aa5fbb015
+ff0041cccc8bff00013334788d6690869d8b90908aa28aff0022199a8bff000fe666
+8bff000d80008cff002080008ca48690798b8686895efffffdcccc80ffffbf33348b
+0852f722069c98969e1ec40613fedd8b986a9d52958a948d938f87ad7fd989928b8d
+8a8c898bfffff2333488fffff599988affffef33348b08fb6306ffffe333338bffff
+d1cccd8c678c85858b769185c88796878b3808fb6c078b3880884e8685858b769185
+af8cb78cab8b08f72e06b3cd898b1f13fdf90e0a0e5581acf733acf772acb6c412b0
+e5a5a6f769da3fa699a913fd00f748f92815f60a13fe00f7b8fffdc7333415f90f0a
+13fc80f9100a13fe00849287948b92080efb388badf81fac01f704da03f764f93215
+a30af73ffd3215f9130a0efb388badf81fac01f704da03f791f7e1154dffffdb8000
+8bff00298000058bde968ec89091918ba08591668affffd74ccd8affffddb3338bff
+ffe0b3338bffffd54ccd8c668c85858b769185c88796878b38088b332c539c6dd9ff
+002db3338bffffa84ccd058b388986458885858b769185bc8ccd8c8b8b08f774068b
+8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1f8bff00bb199adbff00
+2ee666050e92947695acf822ac12f700baf7b8ba1338f80ef93315f75e0afb73fcb9
+15f9280a13b8f9290a1378f92a0a0e92947695acf822acf7527712f700baf7b8ba13
+3cf7a8f89115f7030afb0dfc1715f9280a13bcf9290a137cf92a0a0e92fb43b5f717
+acf822ac01f700baf7b8ba03f72ff70e15f752078bff00313334ff000cb333fffff6
+8000ff00174ccdffffe34ccc08f77ffbcd05ff00028000fffffd6666ff00028000ff
+fffd999aff00028000fffffde666fffff36666ffff8c3334ffffd46666ffffebe666
+ffffe5b3348b7e8b85928495829780986f8b087e747e766ab27aa01fa28bb48cb5ae
+c1b6accd8bf71208f786078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d
+8c85858b769185c88796878b3808fb4f078b70887a6cb508fb79f7cbfb228d89888b
+73058791898e1eb188967f957908fba6078b3880874e8785858b769185a98cae8ca9
+8ba98baf8aa98a91918ba085914e90808e8bde080e6b81acf832ac01b0e2f7d0e203
+f848f91715f7210afb189115f7220a6dfb6815f9140af791fb5e15f9150a0e3784ae
+6dacf746a8f755ac12f704daf730e2133cf795f93215d60ae5fbd815f92c0afb30fb
+7415f9160a13bcf9170a137cf9180a0e3784ae6dacf746a8f755acf7507712f704da
+f730e2133ef763f89115f7030af720fb3715f92c0afb30fb7415f9160a13bef9170a
+137ef9180a0efb4b7fac8a76f84aac12bcab75d0f732d95ba61320f77bf93215d60a
+f700fb7215728b71a13a8b0813acf92d0a1374f91a0a13acf91b0a13aaf92b0a0efb
+4bfb5ca8d6abdf76f84aac12bcab75d0f1c985d95ba613f200f7592b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff00148000c2ff000280008b0513f500e4c4ff0036e666ff0056199a1f
+8bd9ffffa5199aff002ce666ffffcfe666ff0017199a59a35cff001880008bff002a
+80008bb6a7a7bf8b0813f480bc8bb76a9a4b9488948b94908da8ffffff8000b2ffff
+fa8000b1728b71a13a8b458b3d638b398b42d964b4780813f900cc6db6748b528b51
+706f508b538b5eab79e47eff00028000fffff6e666ffffff4ccdfffff6199afffffc
+3333ff00024cccffffb98000ff0001b334ffffd98000926b968f958d978b08ff000f
+b3338bff00166667fffff48000ff00328000fffffbe66608ffffdc6666ffffaa999a
+9185059b90958c9e8b080efb4b7fac8a76f84aacf7497712bcab75d0f732d95ba613
+30f73df89015f7030af73e4f15728b71a13a8b0813b6f92d0a137af91a0a13b6f91b
+0a13b5f92b0a0e49fb5ca8d6abc9acf81fad957712aea6f737da83c9f702a613f580
+f79b2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908a4ff0042e66605a8ffffffb334ff001f4cccffff
+ff3333ff001db334ffffff333391918ba085910813f6804e8f808f8bde08f79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b3340813ee80f91e0a13f680f91f0a13ee80f9200a13f6809fd3969f
+cc8b08a306aa977f641ffb91078b3880884e8685858b769185ff00206666ff0000e6
+66ff00233334ff0000e667ff001f6666ff0000333308632b9185059b90958c9e8b08
+0e4989acf756b2f736ad957712aea6f737daf738a613eef7c4f70e15f2d60797949a
+96908893821f37f70206b0959aab1ea506ca8b98779f43ff000a3334fffffde666ff
+00093332ff00006666ff0007999aff0004b3340813def91e0a13eef91f0a13def920
+0a13ee9fd3969fcc8b08a306aa977f641ffb03480782817c81858e83931fd624068b
+3880884e8685858b769185b08cff002880008cff002280008bff002280008bff0027
+80008ab08a91918ba08591084e8f808f8bde080e7881b4f822acb8abf5ab01f3da9c
+b3ebb3c6ba03f7b4f91915ba0a335615da0af77ffb9215f9220a0e7881b4f822ac01
+f3daf790ba03f870f91715f7210afb189115f7220ae6fbcb15f9220a0efb228babf8
+1caf957712bba51390f791f93615d60a13d028fb6a1513b0f9240a13d0f9250a0efb
+228babf81caf9577ecef12bba5f705ef139cf74ff8eb15850a13dc6afb1f1513bcf9
+240a13dcf9250a0efb228babf81caf9577f7627712bba51398f767f89515f7030a13
+d852561513b8f9240a13d8f9250a0efb388badf7e59cb4ac9bd301f704daf738b703
+f7e7f8ba15f7040ab3fcba15f9130a0e4989acf81fad9577f75d7712aea6f737daf7
+38a6139ef78bf89015f7030ac4fc1615f7900713deb0959aab1ea506ca8b98779f43
+ff000a3334fffffde666ff00093332ff00006666ff0007999aff0004b3340813bef9
+1e0a13def91f0a13bef9200a13de9fd3969fcc8b08a306aa977f641ffb91078b3880
+884e8685858b769185b08cff002880008cff002280008bff002280008bff00278000
+8ab08a91918ba085914e8f808f8bde080e49fb76a3daddb2acf81fad957712aea6f7
+37da75b2f727a613e580f7976215f7160a13f680b8f73715f91d0a13ee80f91e0a13
+f680f91f0a13ee80f9200a13f680f9210a0efb4bfb76a3dadda8ac8a76f84aac12bc
+ab75d0e5b2a8d95ba613eb80f7e7f85415f9190a13dd80f91a0a13eb80f91b0a13eb
+40f91c0afb24fc7d15f7160a0efbb089acf822ace0ef12f4ef32da13f0f4f8eb1585
+0a13e8e5fb9915f9110a0e957fc1f7acb6e476f0b201b5d192c2f764a6c0b303f83c
+f7d615a19b7c73434afb3dfb19fb1776f4cabfb7c7bb1ff6069a989b999287917f1f
+2d066679a8bda9a1c7d41fc98bb159985808a6900585ad84bf8ba7728b6ca0618bfb
+098b4d3c8b4a8b6f9272a26d566355468b428bfb00dc47f70f8b08f7158bf704dc9a
+f79108ca069a989b999287917f1ffb21067c7e7b7e838f85971f0e3289a8f73fabf7
+5baa01f737f7511590949a8ba68b08e506a68b95898d81089ffb0505ff00054cccff
+ffe03333fffffd6668fffff8cccdffffd64ccc8508848a05878a89898b88088b768d
+89058bcb8da7a9ce898b1e8d8d8ba0058b8e88ff0002b33387ff00004ccd688e7b91
+82b60847f7d805879efffffdccccff0007b334ff00383334ff00044ccc8eff000033
+348dff0002cccc8b8e088b9f8a8d05568a418a5e8b5d8b6c8c6b8c0888898b770587
+8e89911eac8a94878b788b6b2bfb997758806f7b83708887ffffff999a86fffffb66
+668b88088b788d89058bc38da7aabc898b1e8d8d8ba0058b8e888d878c087f8d056d
+90fffff8b333ff00048000ff0003cccdff001080008b8bff001acccdff0062e666ff
+000db333ff0023199a08e6f78415a18bff00108000fffff76666ff00078000ffffdd
+999a08a3fb14058f767c84798b0838066f838d941f8b8badf70798b392a091979d8b
+080efbb3f782a2f700a5f766a501a8c1f711bc03f764f83b15f8e30aa9ca15727305
+7c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75fffff56666ffff
+fc4cccfffff1999afffffeb33408808a0588ffffffb33489ffffff4ccc8b87087907
+8bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05ffffe7e666
+ff00038000ffffff199aff000380008b9f08f7e70791898e881e878b85868788080e
+ff017ee666ff0070b33401ffff596666ff006e999a03ffff92cccdff01ef999a15ff
+fffd3334ff0000b332fffffbcccdff0000b334fffffc80008bffffe833338bffffef
+e666fffff4199afffffa6667fffffbcccc08fffffe9999fffff84cceff004fcccdff
+ffb3b33205ff000b3332fffff58000ff0004e667fffffc8000ff000433338bff0005
+999a8bff0004e666ff000433348bff000380008bff0004e666ffffff4ccdff0004e6
+66fffffc800092080eff017f999af70401ffff58b333ff006d333403ffff95999aff
+01ef999a15ffffcb199affffacb33205fffffa4ccc82fffffdb333fffffd33348bff
+fff833348bfffffb1998ff0004e667fffffbccceff0004e6668bff0004e6668bff00
+05999aff0002ccccff000a8000ff000a800008ff00508000ff004c4ccefffffde666
+ff0007b33205ffffefe667ff000f6666ffffee1999ff0000b334fffffb80008bffff
+fc80008bfffffbcccdffffff4cccfffffde667ffffff4cce080eff0183ccccff006d
+e66801ffff45cccdff00b0666603ffffa9e666ff01f1b33415fffff87ffeff000219
+98fffff8999affffff8000fffff88000fffffe6668ffffebb333ffffdfccccffffdf
+cccdffffda3334ffffe6cccd6fff00043333fffff9b332ff0004e666fffffbccceff
+00064ccdfffffe9998ff001b4ccdff000f6668ff0017199aff00144cccff00166666
+ff00166666a0ffffea4cceff00188000ffffec6666ff001a999affffef3332ff0006
+9999ff00014cce91ff0005b332ff00038000ff0004e66808ffffe6cccda7ffffe133
+33ff00251998ffffebb333ff0020e668080eff018d999aff0025199afffffe9998ff
+0026800012ffffe6199aff0012e66613a0ffffc53334ff01b2b33415fffff2b3328b
+fffff4199aff0004e666fffff4cccdff000866660813607dff0009ccccfffff09999
+99768bffffe1e6678bffffefe666ffffe4b334fffff63333ffffd6b334ff00043334
+fffffbcccc92ffffff4cccff0007b333ff0001666892ff0017199892ff000a8000ff
+001233338bff000be6668bff000d4ccdfffffa6668ff000c999afffff84ccc0813a0
+ff000eb333fffff63334ff000eb333fffff36666ff000f66678bff002033338bff00
+144ccdff001b4cccff00086666b5fffffbcccdff0002ccce84ff00021998fffff84c
+cdffffff4cce08fffff63333ffffe2999afffff84ccd84fffff0999a8b080eff0176
+8000ae01ffff10999aff00b6b33303ffffb68000ff0176800015ff0009199aff0007
+b333ff000eb334ff00086666ff00043332fffffd3333ff0007b334841fffff628000
+06fffff84ccdfffff84ccd7dfffff7999afffffb199aff0002ccccfffff84cccff00
+064ccd1f0efb9f89acf7fbb2f77fad01ebda03f743f84115c4078bcefffffc8000ff
+00328000ff00078000ff0016800093a3ff0015800099ff000f80008ba78b997a976e
+ff00073334ffffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a
+08779a6d94658b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f
+1ed0fba0068b388087558785858b769185ac8cff002380008cff002480008bff0024
+999a8bff002b66668ab18a91918ba08591478f808f8bde08f7a0e80794998f941f9f
+078f888d861e0e8b89acf7fbb2f774a77aad12e5daf75edaf703d713eef811f8c815
+82678affffd94ccc8bffffebb3340863fb5e94078bcf91ae919ea1dbb7989b8b978b
+93899c819a82927b917d94779677a38b088e8b8f8c8d8c08d0fc4e15f7a0ee079699
+8f941f9f078f888d861efb08c4068bce8ebd93a20813de93a39e999b8ba98b997a98
+6e937a9780a08b9f8b9a9a8ba08b9b819c769a769a6b94638b086c8b657b726b8685
+868487840813ee7ca15ea83b8b6f8b7284757f426370448bfb0e085b0678867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ac8cff0023b3338cff0024
+4ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d8f7e8f8bde08f7a0f75e
+fba0078b3880875f8785858b769185a88cff001fb3348cff00224ccc8bab8bb68ab6
+8a91918ba08591478f808f8bde080ef489acf766b5f80b779feb12f760ebf72beb13
+dcf760f95615b60af78b16b70afb55fc3b15f92e0afbb3fb6015c4f72505ff000566
+66ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffffd7999aff
+00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8b20513ec
+fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0e668
+ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc80008389
+8b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05704e
+ffffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a91918ba0
+8591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334080e
+ef89acf766b5f80b77dc7601f791f7af15f92f0afbadfb6015f9300af799f97915b1
+0a0eef89acf766b5f80b77d47601f791f7af15f92f0afbadfb6015f9300af771f96d
+15b20a0eef89acf766b5f80b77c3c089c212f869a613e4f791f7af15f92f0afbadfb
+6015f9300a13f4f79ef93015b30a13ecb40a13f4b50a0ef489acf766b5f80b779feb
+12f750ebf721eb13dcf750f95615b60af78116b70afb40fc3b15f92f0afbadfb6015
+c4f72505ff00056666ff000dcccdff0003999aff000333339b8b08f76b8bc8fb3d05
+ff000ee668ffffd6cccdffffd6b332ff00039999ffffd06666fffffc999a85858b76
+9185b08cc28cb28bb48bb48ab08a91918ba08591ffffd93334ff00038000ffffdf4c
+cc8bffffed8000ff0033800008fb61f8b20513ecfffff8b334ff00134cccfffffe4c
+ccff000ab334858b858a7d7e7d86fffff2999afffffb3334fffff8b332ffffff3334
+ffffeeb334fffffc9998898a8b898b899284927c907dffffe5ccccffffcae668ff00
+0c6668ff001ae664ffff921999ffff0d333408ffffa1b333fb6e05ffffe54ccdffff
+c24cccffffe23333fffff9b334ffffd480008885858b769185b08c988cb28bb48bbd
+8ab08a91918ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666
+ff00273334080ef489acf766b5f80b7701f796f7af15f92e0afbb3fb6015c4f72505
+ff00056666ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffff
+d7999aff00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48a
+b08a91918ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0
+e668ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc8000
+83898b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05
+704effffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a9191
+8ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334
+080e7784a676a8f793b1f7c4a812dadcf779dc133cf7c2f90515ae8ba789a38508fb
+bc5807418b5b9c73ae77a77fad8bb608f70adca8c81e96a8154c8b45865a5d68697a
+638b598b54a35db965a279c673b1874274745d77600813bc5f29664b538b08877705
+95879d889a8be68bb8e1a8d6afe9b2aee98b08fb6707137c6c7c7e631e710613bc87
+8788861f8b7805137c8d89058be28db2aee9898b1e8d8d0513bc9e07137c90888e86
+1e7006627e9ba71ff88a07a78f9ca51e918baa8805908d8e8f1f9d07838d4496fb2c
+8b080ef7be9676f906a901f7e59715f703f82cf72bfc2c05907d9483998b998b8e93
+8f9808f73ef8c80596ac8f96a88b089f068c948b931f9e078b558a6b614d8c8b1e77
+07888c87901eb2069f93887d1f8b858b7f87810821fbf66d286fe1fb23f801058698
+88948b91089a928da01ea8068f8e8d901fa1078b468a5a63448c8b1e7607868d8892
+1e9f06b18b9f79937008af313cfbb4763867eefb1ff7fe05889687938b9208989390
+9e1eb1068e8f8d921fa0078b3b8a58654f8c8b1e7507868e88921ea006ac8b957e95
+6a08f76afcc205907c93849a8b998b95948f98080e949476f908a801f87cf8d215fb
+0afbfd6c336be6fb21f7f805889489928b91089a9692ae1ea506908e8e911f8b9d89
+8d058b328868643d8e8b1e89898b7905858f888f1e9806b28b9a7c956e08f772fcc5
+05917d9382968b958b9594909908f74bf8c70597ab9997ac8b089a06908e8e901f8b
+9e898d058b53886764588e8b1e89898b7805868f888f1e9406a89b8a791f8b858983
+8780080ea960a49ba8f7bbb4f793a701f5dc03f7f2f72915f5fb24c15ef703880894
+a40555a339dd5fc808fb35f76cf759f75405a8a6b1adb48b089d06908e8e901f8b9e
+898c058b468a68643c8c8b1e898a8b7805868e88901eab069b9185821f8b7b787279
+7a08fb2efb260578786f7a6c8b08f76707a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e
+7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e710663
+7c99aa1ff78e07ae8b997f9677080e8d20b5caacf798adf7b9ad01f3e0f776e703f7
+a9f8fe15c8d875fb0afb113a6f2a1f5bf77906a89caed21e33fc8415f73d07df8bff
+0022999afffff2199aff00086666ffffe7e66608ff00298000ffff89800005ff0049
+999affff2db333ff00606666ffffe0cccdff003e80008ba58bbaff00048000a8ff00
+0d8000ff00038000ff0006e666ffffff8000ff0009199a8793ffff988000ff000280
+00ffffbbb334ffffffcccdffffab4cccff00d8333308ffffc38000ff009a800005b6
+99e5bf8bf48bbd7ab467ad5bb8488e4c8b5c8b5c84678b688b5c8c5c8c85858b7691
+8508d1889c868b3808fc25078b387a86458885858b769185b88cff002e80008cff00
+2680008bff0025999a8bff002f66668ab78a91918ba08591458e7a908bde080efb49
+fb5caef86da4f7b0b401f7a3d603f7f4f926156a7e64711f5da053b75f8b08336e56
+63779468ae9d95929b1f8bad63948b9b8b979798a08bbf8bcd46c18b928b908c8f8e
+088c8705754388728a26088b7ffb13848d77f70f828b29058b6f8d398b758d318051
+75657564757f6e8b628ba3cb4a8b087383787c66c16fbff702d8edf7841f8bf739bf
+908aa4056a8e7e8d88a188a089dd8bc808af07a29da7a38ba20898839f691e0e5efb
+82d0f8b8ca01f764bdaab2f70dbc03f886f81715aa70a36a72777e6e1e8b729f7898
+86988495838b768b514d3243fb0779f71e6fd468ed7aba7bac4b8b4c8b6848795808
+a782059bae9fa8a48b9c8b9983957ac52cb730acfb25574571518b5c086e9652b3c7
+94f716ae1e8ba78aa885a9f70df73ec3f7108bda08fb65fc32157707277e75838785
+909e1e8ba492bfa3b4080e5efb7fb2f8c6d74dc912f75bb2b6c01398ff00ffcccd83
+159dffffbbcccdff00073334ffffd1b3338bffffe28000087185797d827da7b31e8b
+ff0034b3338bff000f4ccdff0011cccdbf08ff00164ccdf72915ffffe08000ff0061
+6666ffffd71999ff00613334ffffd84ccdff005d66660813b887938690808b6b8b84
+753f7c08906d059c8f948c968b9b8b9b889b6aff00288000ffffa9999aff002f3333
+ffff8f4cccff00203333ffff9a8000ffffda8000ffff9a4ccefffffb999affffdf4c
+cc8b5f086d9a45b3c79fbecb1e8ba480cb7ccefffffb6666ff0012e666fffffae666
+9efffffa80009eff0020199ae1b3ff0065ccceff0025199aff00364ccc999f999a9f
+8b0813d8978b90879f8b089d9a9e9ca3779b6f1f738b70816142ffffdb8000ffffc0
+ccccffffdb199affffaa4cceffffe48000ffffbae666080ef09476f832a801f820f8
+0f15859d84947b8b808bffffe78000ffffeee666fffff48000ffffdf199a082efb9f
+3ff79f05889589948b92089798939e1e9a06908f8e901f8b9d898e058b52895c5f61
+8d8b1e89898b7705869289901ea98b9c73976408f3fbdf05ff0004b333fffff0e666
+ff000a4ccdfffffb199a948b958b9291919b08f706f7ccf6fbce05907c9586958b94
+8bff0005b334ff0003cccdff00054cccff0011333308f1f7e00599baaa99a48b0891
+928d911f8b9e8a8d058b638968664e8d8b1e88898b7705888f87901e9806ab977f79
+1f8b84898489840840fb97050ef09476f832a801f820f7d81583a17f9c7b8b808b7e
+807e690834fb7936f79f05889589948b92089798939e1e9a06908f8e901f8b9d898e
+058b52895c5f618d8b1e89898b7705869289901ea98b9882986408f709fbee05907c
+9586948b958b9191929b08f1f7a0eefba205917d9585948b948b938f919c08f706f7
+e6059bbaa693a48b0891928d911f8b9e8a8d058b638968664e8d8b1e88898b770588
+8f87901e9806ab977f791f8b84898489840836fb97050ef7bb9476f90aa701f868f8
+bb15718b78717a5608fb03fbfdfb1bf86105889688938b92089893929d1ea106918d
+8e901f8b9d898d058b498a5965578c8b1e89898b7805879088921e9806a78b9e6d93
+7108f739fcba05907b9883988b998b96958f9908f70bf817058f9890978f8b8f8b91
+7e8f7c08f0fc1405907a9784998b988b9593909a08f74ff8c10598b2b196a88b088c
+068c968b931f8b9e898c058b4d8a6b62528c8b1e88898b7805888f878f1ea506a292
+807c1f8b848a83888308fb2dfc6020f8290584a78294818b080e2cfb6a76f902a3a0
+7701f778dff713bc03f87cf81c15aa70a36a72777e6e1e8b719f799885988595838b
+768b704afb2b412483dc75ed70d166ee73b84a8b728b7582727f088f7305a392a78a
+9b849f829882af30aa3aa9fb10963a766082518b6e08618e55a3b09fe6af1e8ba68a
+b287b5f725f75caff18be5080e26fb7fb2f8d4c901f74cb3b5c003f78a6e15f7c90a
+4d2115619e51b8c697becb1e8ba481cb7bce899588958995949f95a0959f08f3f761
+05a1b49da8a7ad08868d0574847e897d8b838b6d8e808f88707f627e6970426c3c71
+4a6bf55ef460f0879387907f8b086c8b84753e7c08906d059c8f948c968b9c8b9b88
+9a6ab630bdfb0dab2208704c057e6c84678b6b080e5efb7fadf8d0c8957712f755b3
+c0bbdac313bcff01053334ff0005333315ffffc0ffffffffa2ccccfffffacccdffff
+d9999a8bffffd46666086ea067b3c2a4bbce1e8bff001d6666fffff5e666ff003266
+67fffff38000ff003bcccdff00694cceff009ae666ff00344cccff0085cccc8bff00
+49b33408ac72a663737b80761e8b79957a9f809b828e788b768bffffcc3334ffffd1
+ccccffff9c4cccffffbe8000ffff9c3333ffffe06668ff0078199affffc31999ff00
+744ccdffffbc3333ff0076e6660813dc87938790808b708b84753e7c08906e059c8e
+948d968b9c8b9b859f6cc633c9fb05aafb0808ff0001199a87ff0001199afffffc19
+9a8cfffffc199908ff000a9998ffffd4666615ff000b6668ffffcbccccff0002cccc
+ffffdb999a8b72087180747d7486a19b1e8bff00216666ff0009999ab6ff001d3332
+ff00303334080e3afb7faff751baf7fdac01e3daf758da03f8049c158b45fffffb80
+004a7264ffffee999affffe4e666ffffdbe666fffff1199a638b6f8bfffff080009d
+fffff080009bfffff1b333ff000ecccdfffffa4ccdff000d3333718b08807374795f
+e97eb41fdf8bff001c8000ff001c8000ff001d8000ff00228000ff001bccccff0020
+8000ff002033349a8bff00e1800008f77107a98fd48b1e8e888e861e868a7c8a7c8b
+6b8b6a8c668c85858b769185bc88987f8b4908fb55078b7889837d7f666b657b728b
+086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b8b6a8c668c85858b
+769185bb8799808b4a08fb540746a948ee1eb28bba9fbcb3908f908d8d848e828c7f
+8b80080ef489acf766b5f80b7701f791f7af15f92f0afbadfb6015f9300a0ea7f86c
+a4f702e801ff00484ccdb2ff0094ffffb2f72bb203ff02044cccf950156371644f1f
+8b45c75bc780ff0006ccccff0005e666ff0001999cff00093334fffffc9998ff0009
+e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e
+fb528e156371644f1f8b45c75bc780ff0006ccceff0005e666ff0001999aff000933
+34fffffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff00
+1f800008a775a06c1effff4400018615f8940a0eb8f86aa3f703e801f730b2f729b2
+f729b2031438f88df94e15290afb5016290afb5016290a0eefa2abf889ab01adb3f8
+82b303f7d5a215960af8a904970a0ef7387db0f8dfaf01bdb0f8deaf03f8107d15f7
+4af727f728f74af74bfb27f727fb4afb4afb28fb27fb4bfb49f727fb29f74b1ff904
+04f736f717fb17fb37fb37fb17fb16fb36fb37fb16f718f735f737f716f717f7371f
+0e9b7fa6a8a6a5a6a6a6a5a6a6a6aba6aaa6d2a6b5a6bda601d4abf713abf786ab03
+f4f86d15f733f726f786fcf0fc2506f713f8d9152b2207f734cf1571f742a507fb4b
+fc851570bfa60785c015f9310afbd516f9310ab6c115f9310afbd516f9310ab6c015
+f9310afbd516f9310ab6c115f9310afbd516f9310ab6c615f9310afbd516f9310ab6
+c515f9310afbd516f9310a70f78815fb49fb348bfc86f8658b8bf926050ef7847fa6
+f7c7a6f70ba601d4abf713abf867ab03f700f7d615f730f71d069494f85e8b8bfc59
+fd068b8bf7c405f713f70515382e079a5215807297068c06978a927c93818e878f88
+908b088c068c8c918d8c8c8d8d9492949208a28c89a4708905888b898a8989087d7f
+0581998497738e08f7445d1591a38a066dae8b8c8b9a088f078c91a4aeae8e088c06
+928b9f84958592889185a38b9f8b8995a18b089006b689a5758c74856f636f6a8b08
+868b8973058d8b8d8a8e8bb48bc1ad94b6088e078bb561a7578d088506708b898280
+8b7a8b878e878e809174947c8b0888065d876a60877c088b868b86058b748d87b15f
+8d888e8a8f8b08f7c8f73415969495969695818080818280808294961e7616759e78
+a1a29d9ea1a2799d74757879741efc50fbd6155b978673bb7f8e8b05908b958a8f8a
+8c8b8d8a8e8a08a906918baa95959c9194a3a0bc8b978b988a9a889389948a978a08
+87078b828b82898208a487058c968c958b95088e07908c8c8b8f8c908d8d8c958f8c
+8cac989999aaa8a1a3be8b8f8c9d90a48b08b38490a36293888b8a8b057076858b1f
+508a706f6a6c8485767f7e868287888a878908888b8a8b0588a585a482a4089ab605
+8f948c8d94968e8f969da89b8c8b8c8c8c8c088f8e799d8988056a787b748b8a7f7c
+8988878008867b057dab7caa7ea908748105a456b0449446828b848c848d7b8e7c8d
+7e8b518b6c70817c868375838b8b0883067e8b8a8c868b8a8b898c8a8b878c868b7e
+8c08e3f82f15fb52fb3d8bfbe6f9468b8bf88f050ef71b8babf707a6efab7ba6cda6
+a2aa12b0a5efa585a5dba5efa5efa5efa513de78f84df74215f708effb0807fb1216
+27f708ef06f790fb081527f708ef0627fb9615f707effb0707fb7616f707effb0707
+fb121627f707ef0613cf78fb76fb0715f707effb0707fb121627f707ef0613eef89f
+f79c15222a07f7f7f315fb0f70f70f0613ef78fbaafb1d154327ef0713eef8f726f7
+33f85e0613df78fb0827a9716d27a9716d27ab716b5a7007bcfb0827d306fb2cb115
+fbb0f924f864fc85070ef71b8bab989cd49d819cc09d8c9da3aba8a6d2aa12b0a5a3
+a9b69e8fa59faab59ec0a6a8a6a8a6a8a6a9a5b5a513cffff8f74bf82f15222a07aa
+fb1015a096a89c929388791e13dffff8767c6d7b858593991ee9bc15848b7d8b7596
+888f7f8f808b086a756a6d769974a3ad9fb0ac1f8b8f8b8d8a8e93879786958b968b
+9b8f9a9108fb0bfb3d9f80f720f7577798057b7a70887a8b089dfb2215769a74a3ac
+9faeaf1e13effff8a977927b67776a6c1eaa8715a098a89a9094897877816b768586
+94991ef716f7a915fb0f70f70f067bfb1915fb3efbcbf786f726f733f85efc2561f7
+5e71fb5e6df7b570fbb5076ef7cf70fbcf6ef78570fb856ef73e06fc00dd15fbb0f9
+24f864fc85070e4281b0f8e4b201c5e5f776e503f79bf8ff159d8b9d859780ab6faa
+3c8bfb228b2a873c7c5573345782788b08287ef754e7f799cebabb1f87fd0915ddf7
+0fe8f78d1f8bf472e55cc96bb75aa45b8b228b27fb138bfb658bfb02ff00228000ff
+ff8a999aff0037e666ffffc5b332aaffffdfb334ff0024cccd7dff002acccd8b080e
+fb5989acf9077701f751e003f7a6f71915f806078bce8ccf8d9a8b90888b878b4d65
+536f285d8d7e8f819584bea0a592a08b089d8f70651ffbee078b2e78853d8884848b
+789284c28cff0020cccd8cff003833338bff003566668bff001b999a8ac38a92928b
+9e84923d8e76918be8080efb028bcef83876f72fb012c6d8f75de66fa913f8c6f88f
+15759f78a49da296a81e8b9488938993899389938b9408a69eb1d8b1ce71251e8b47
+73544c4b083c3d052321784e8b4c088bc28dad1ef74c06adbc898b1f13f498c397dc
+8caa84917e8b81897940786f658b08fb50068bbdd3e0919108f5f20513f8c7c5baba
+8bdc08f70624ba351efb0a4d344b1f0e2481b0f7c9adf78fb012bbd8f755db56e713
+f8f776f90115bab872491f8b574b2e2c7c089069059d8d998b988b0813f4c7d778fb
+0cfb212b6c661f558b81a37f9e819a7c97768b087574777a60e470cbf713f704dff7
+201f8bf70839b74c95088a8d0513f8f0cb91c68baf08b863cffb01fb305e25687c95
+76a5a996ae9f1ecfd498a71e0e4589acf72fbdf83a7701f7b8dd03f7b8f8b715fbcb
+fb6207c2e4d8f70cd5f108f740fbcb1531f7cf068bc18cb68d9308888d698b05838b
+868487864737fb12fb4528fb2e8e7b926eab8b08f77025068b59628b5d8885858b76
+9185ae8cb58cbd8bb68bb38aae8a91918ba08591568f74898bbe08f1d6079a9b9f98
+9687917f1f0efb0981b0f7eebff72cd14ece12f7e4e713d8f7e4f767152654384b1e
+638b7da57ba07e9d789c758b08777778765fe668c7f717e8f700f719f245e6fb0b1f
+5d8b6383788308a1f7450513e8b287ae86bd8baa8baf8cb78f089cd4848e054f8450
+87538b0813d8648b678e668e0867fbc605c3a0b290b18b08d0c35cfb071f0e2781b0
+f7dcb0f783a601b7e0f780e003ff0088999aff0140cccc15ff00271999ff00208000
+ff002a999aff0001b334ff0014b3338b08f3a12056fb085d57574844aef7491f8bff
+00164cccff00023333ff001a999aff00056667ff001ce66608ff0009ccccff0029b3
+3415ff001c4ccdff0064b334cfff00728000ff008f4ccdff00354ccc8b9788948291
+fb006c4a5e5046493f6b208b3708fb6bf71562ddf71fc3f719e6e65ee2fb241effff
+df80008bffffce6666fffff58000ffffdf800078080efb159376f8e3d0967712b3ad
+bcdc13d8f73bf8d615f7570638fb6237fb6e43fb35089385d48e05c7f748c0f74ff7
+0bf7b50813b87a970513d879857386638b08fb6e06678b8e96778f0813b8888a8a88
+1f8a597f4b825408ad8805a3e0ae92ad8b080e3081aaf8f6a612bed064d4f75dcd60
+d513e4f78aa0155b3db5ea1f8baaa0dce5c908be6d05ce63a8508b59082137715b1e
+92f8f61513d8d0ac535a1f8b524f586e76086b9f0547b77fb28bab08bcaebdcb1ef7
+3c2115d752c423fb01454b391e8b50ff001b3333ffffcfe666ff0042cccdffffdb19
+9a08a87b057077697c6f730813e4606576538b6208fb01dc50f704f71fd0f2dc1e8b
+c9ffffe56666ff003a999affffc8999aff002366660843b905b9aad8bd8bcf080e27
+80a6f78db0f7d3b001b7e0f780e003ff01676666f7e615ffffd86666ffffdde666ff
+ffd43334fffffe199a768b082375f6c0f708b9b6bfced267fb491f8bffffecccccff
+fffe4cccffffe9999afffffc199affffe7999a08fffff76666ffffd6800015ffffe5
+ccceffff98999affffbc4cccffff864cccffff6b199affffc8999a8b7f8e829485f7
+00aaccb7c6d0cdd7abf7008bdf08f76bfb15b539fb1f53fb103030b834f7241eff00
+21999a8bff0033ccccff000b4cccff00206666ff00143334080efb1681aef80fae01
+abe3f772e203f77af82815dfa743fb05fb05753a31396fdcf705f70ab1ced31fae04
+fb013232fb17fb27e139f704f708dedef726f71e42ddfb121f0efb1689acf7e6aab5
+7701f76ad803f76af70e158b387086458885858b769185bc8cff0023cccd8cff0036
+33338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde08f75b07c7
+8ebe8b1e93868d821e5a7b61833779ff00014ccdfffff46666ff00039999fffff580
+00ff0007199afffff7199aa88ea58ea18b089b8f80571f0efb168bc2f7e8b701c8ad
+f754e403f7bac215f8ff0a0efb16fb49aef7b3abf77bae12bcd4ff00b2199aff004e
+3332ffffccb334e313f8f76df82815300a13f4310a13f8f9000a0efb16fb42acf721
+baf81b7701f79ed703f79ef7e315fbb4fb4907abe0dbff006ccccdd0ff005e333308
+f729fbb41542f7b8068bbdff00004cccff00273334ff0001b334ff0007cccc08898d
+6b8b05848bfffffae666fffff96666fffffc199afffffb999a473efb18fb364efb26
+8e7c9170a98b08f7562f068b5d658b608885858b769185ab8cb38cb98bff00276666
+8bff001b999a8aab8a91918ba085915a8f80898bba08e7c607999a9e97958791801f
+0efb16fb4baef7d1bdf722ce4ed312f7d2e413e8f7d29c15350a13d8360a13e8370a
+0efb1680aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff0009199aff
+00244ccc15390a0efb16f800cc997712c6ab13a0f746f80015f9010a1360f9020a0e
+fb1681aef8baae12b9ce61d2f749d15cd413d8f77ef8d3153d0af73331153e0a13e4
+3f0afb3bfc6015400a0efb16fb4ba5f770aef7c6ae01b2def767de03ff0144ccccf7
+0d15f9030afffff6e668ffffdbb33315f9040a0efc3322b6f954b701f4b7fa40b703
+f729f91615fa40fd54fe40065ff98015fdabfa98f9ab070efc3322b6f954b701f4b7
+fa40b703fa6ef91615c4b95c531ffcedfe40f8ed07c3babac31ef972b715fd72063a
+49493a1ffd18fa98f91807dc49cd3a1e0efc3322b6f954b701f4b7fa40b703fa6e4d
+15fd7206535cbac41ff88507c3babac31ef97206c4b95c531ffc8507525d5c521e60
+04dccdccdd1ff88507dc49cd3a1efd72063a49493a1ffc850739cd4adc1e0efc41f7
+73c701b3f79603f7a3f773152a0a0ef8375fa0ff00a4b333ff00154ccdf738a0f7b5
+a001f799a0f787a003b393158b78968b9687db72ce87cb8bac8bab8eac90ff00d966
+68ff00238000ff00bc4cccff008ae666ff00614cccff00c56666ff003c8000ff007a
+b334ff00098000ff007966688bff001a19988b9c808c808f083ea34191598bffff27
+b3348bffff331998ffff973334ffff803334ffff534cccffffa6199affff868000ff
+ffd5e666ffff68b3338bffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb
+4a154c8b4c944e9dff00138000ff000e6666ff00a0199aff006e3334ff00146666ff
+000d199908f83dff00004ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f7
+14b208fb9c07f759fb4815fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffff
+c16668ffffbc6667fffff01998fffff56666088af86e15cb8bca82c87808fbfffb8f
+8bf79305be98c196d18b08fb2bfbb515f7f4f7880584417b396033080e1c057eff07
+059998ff025b4ccc15ff00013338ff00064cccff0004e66091ff000a99a0fffffd33
+34ff0006e660fffffe3334ff000819a0fffff6b334ff00023330fffffa333408ffff
+cb9998ff004ae66415ffffe21998fffff780007bffffefe668fffff04cd0ffffe7cc
+ccfffff94cd0fffff599986fffffefb334ffffe4e660fffff1ccccffffccccd07084
+ffffbdccceff00048000ffffdc999aff00064cd0ffffceccccffffee1998ffffdc19
+9affffe919987dffffec8000fffff4199affffe31998fffffbb334fffffa1998ff00
+00b332ff000ce668ff001f4cce8fa9fffffd6668ff00254ccc087eff00623334ffff
+d08000ff003ae6644aff002de668fffff54cd0ff00079998fffff066608ffffff3cc
+d0fffffcccd0ff000bccd0fffff41998ff00048000fffff9ccccff00021998fffff7
+e6688b8bffffd53330ff00106664ffff946668fffffa3334ffff86b330fffff96668
+fffedfe66866ffff634cd0ffffc31998ff00431998ff00014cccff003c9998fffff1
+4cd087ffffe34ccc08ff0028999cff00021998ff00054cccfffff7cccefffffd8000
+fffffc4cccff00273334ff0009ccceff0047ccccff000e3332ff0051199895ff0050
+4cd0ff0009e666ff005c6668ff0002199cff004a1998fffffb3330fffff98000ff00
+07e668ff00128000ff000db334b1fffffb8000ff001b6668fffffcccccff00289998
+ffffe36666ff001a3330ffffd6999aff0014e668ffffdf199aff001b4cd0ffffae99
+9aff0004e660ffffd9199808ffffe719a0fffff6e66805fffffce660ff00038000ff
+fffe3338ff00038000ffffff3330ff00041998ffffff1998ff0004b334ff000e8000
+ff0001e666fffffee668ff00063334fffff81998ff002cb332ffffeae668ff003619
+9affffedb338ff001d6666fffff21998ff00164cce77ff0019999affffe59998ff00
+0d99987cff0007b334fffff63330ff00046668ffffe6b338fffffa8000ff000ee668
+fffffa9998ff00094cc8fffff9999aff0003ccd0fffff8b33208fffefbe668ff0019
+e668fffef7ccc8ffffc06666ffff4c4cd04dff0058ccccff0007ccccff004db334ff
+fff66666ffffe98000ffffc6b334deff001b199aff003ab330fffff8199affffff80
+00ffffbe6666ff00544cd0ff00183332ff003e3330fffff83334ff0015b338ffffd5
+b334ff00221998ff000b6666ff0011999889ff000a9998fffffb199affffd51998ff
+fff33332ffffc799a0ffffdc199affffdb1998ffffe6e66608ffffdb1998ffffe6e6
+67ffffd54ccc57ffffb13334fffff84ccdffffcd4cccfffffb1999ffffe1999cff00
+246667ffffd16664fffffbe666ffffd16668fffffbe666ffffcfe664ffffcfb3345f
+fffffb99995ffffffb999afffff7b334ff001eb3334efffffb33334efffffb3333ff
+ffc6b334ffffd0199a54825482ffffe1e666ff00126666ffffd8cccdff001bb33408
+ff00098000ff000ae666ff000a999aff00063333ff000ab333ff0005b333ffffcab3
+33ff00068000ffffd6199aff001e4ccdffffd63333ff001eb333ff0020b333ffffd5
+999aff001bcccdffffd0cccdff00178000ffffcc6666ff00026666ff000a4ccd8eff
+000a4cccff0008cccdff000b8000b8ffffdd4cceff002f4ccdffffe01999ff003519
+9aff0004b333ff0035199aff0004b334ff00189998ff00241999ff00314cceff0001
+199908ff00314cccff0001199aff0036b332ffffd0cccdff00343334ff00028000ff
+00343334ff00028000ff00109998ff00304ccdc1ff00018000c1ff00018000ff0037
+4cd0ffffca3333ff00491998ff0001b333ff00491998ff0001b334f70fff00466666
+ff001f1998ff0012999aff001f19a0ff00129999ff001d800093ff00159998ff0007
+199a08ff00344cc84ffffff533386805ffffe59998fffffb4cceffffe8ccd0fffff8
+9999fffff13330fffff18000ff00163330fffff96667ff0023b3388dff001fccc8ff
+ffff6666ff001a19a0fffffa999aff0015e660fffff5b333ff00164cd0fffff61999
+ff0002b330fffffb3334ffffff3338fffffb199affffff8000fffffb3332ff000666
+68ff00026667ff00061998ff00031999ff0003ccc8ff0006e667ffffefe668ff000d
+4ccdfffff18000ff000e1999ffffe88000ff0009999a08ff0027e668ffffffb333ff
+00063330ff00038000ff000219a0fffff380000593ff0005199aff00063330ff0005
+e666ff0004199892fffff99998ff0003e666fffff73338ff0002199afffff64cc8ff
+00014ccd08ffffdb4cd0ff00038000ff000d3330ff0007e66605ff0023b338ff0003
+e666ff001f4cc8fffffde666ff001e8000fffffccccc08ff0008b338fffff8199a05
+8eff0008199aff0001ccc8ff0008199afffffbe668ff0008b33208ffffc86668ff00
+063333ff002d9998ff0008999a95fffff7666605fffffe6668ff0008cccdff000333
+30ff0006e666fffff6ccd0ff000bb333fffff29998ffffff800071fffff8e667ffff
+f7ccd0fffffc199908ff000f6668ff0014199a05fffffc1998ff000ae666ffffd7e6
+68ff0023e667ffffef4cc8ff000a6666ff002de668a3ff0051e668ffffc4b333ff00
+418000ffffff8000ff00136668ffffffe667ff00189998ff0004e666ff000d666890
+ff00084cc8ffffed999aff00051998ffffea999992ffffdb4ccdfffff46668ffffed
+b333fffff5ccd0ffffec666782ffffebb333ff00009998fffff7cccdff00044cd0ff
+fffc8000ff0004ccc8fffffdcccd08ff00091998fffffeccccff0008b338ffffffcc
+cdff00083330ff0008666708fffff38000ff00084ccdff001a4cd0a5ff00333330ff
+fff2cccd05ff00039998fffff89999ff00024cd0fffff8b333ff00006668fffff899
+9aff00086668ff0003b333ff00079998ff00053333ffffff33309c08ffffe78000ff
+001cb333ff001d4cd0ff0009b33305ff00063330fffffcb334ff0003ccd0fffffb4c
+ccff0003e668fffffb3334ff00039998ff000a9999ff00021998ff000be667fffffe
+6668ff000f333308ffffca6668fffffa199aff0000b330ff0051666605ff0013e668
+ff0009ccceff000dccc8ff000c999993ff000d999aff002880008dff002719a0ff00
+15e666ff00149998ff0012666708ff0013b330fffff43333ffffe7ccd0ffffd7cccd
+0595fffff2e666ff000b4cc8fffff6999a95fffff9e66608fffff73338ff001ae666
+ff00298000ff0027cccdff00278000ff00014ccdff0005e668ff00053333ff0004cc
+c8ffffeb999a05ff000c1998ff0005ccce94ff0009b333fffffde668ff0018999908
+ffffc1e668fffffae66705ff0010e668ff00070001ff00154cc8ffffffb333ff000d
+e668ff0010800008ff00094cd0fffff5999a05ff00058000ff0008ccccff00026668
+ff000e8000fffff7e660998bffffff199a54ffffe1b333fffff46668ffffffcccdff
+fff88000ffffffe666fffff8b338ffffff66678b8bffffee8000ff000ecccdffffe6
+e660ff0014666678fffffe999a78fffffe999afffff9b338ffffdde666ffffdc3330
+fffff5e666ff0009ccd0ff0015199aff0000e668ff003c6666fffff2ccc8ff001ae6
+6608ffffed6668ff0025e666fffff23330ff004a6668ff000519a0ff001c4cccff00
+041998a2ff00129998ff00081998ff00124cd08dff000c1998ff00014cd0ff000e66
+68ff000099989bfffff233349afffff31998ff0018ccc8ffffe7ccceff000d4cd0ff
+fff1999a85ffffee9998ff0003e66876ff00116660fffff64cce8bff00006666ffff
+fde668a0ff00041998ff000a333408ff000cb338ff0002b33205ff00021998fffffa
+ccceff0003b330fffffbe666ff00036668fffffbccccff00059998fffffae666ff00
+01e668ff00006668fffffeb338ff0006ccccfffffeccc8ff0007e666fffffe9998ff
+0003b334ff000019a0ff00088000ff0009ccc8ff000a199aff00096668ff00091998
+ff00053330ff000accce08fffff999a0ff0005e66605fffffa1998ff00006666ffff
+fae6688886fffffccccefffff04cc8ff000b4ccc7aff000be666fffff89998ff000d
+199aff0006e668ff0004ccccff000c6668ff00028000ff000b3330fffffd3334ff00
+0b3338fffffd3334ff00153330ffffe53332ff000a6668fffff9999aff0005ccd0ff
+fffc6666ff00093330ffffff66668b8b08fffff9b330fffff54cce05ff001719a0ff
+0000999aff0011e660ff00076666ff000e19a0ff000b6666fffff0b330fffffd4ccc
+fffff24cd090fffff36660ff000a333408fffffbb3387f05fffffbe668ff00013334
+fffff9e660ff0000ccccfffffb6668ff0003999afffff0e668ff000be666fffff466
+68ff0013ccccffffef9998ff00054cccfffff26668ff00046668fffff0ccc8fffffd
+80008b8b08ff00043338ff00084ccc05ff000c19988e97ff0001199cff000a8000ff
+fffd4cccff000a8000fffffd4cccff0013b330fffffbcccc8b8bff00024cd0fffff5
+4ccc8efffffb6668ff0002e668fffffa3334ff000c8000ff00018000ff001c1998b8
+fffff0b330ff00093334fffff933388fffffb74cc8ff00069998fffff8ccd0ff000b
+e668fffffab330ff0008ccccfffff499a0ff00118000fffff01998ff0003b33408ff
+ffeb9998ff0004ccccfffff89998fffff43334fffff7e668ff00036664ff0003b330
+ff000d4cccff000519a0ff0004ccd0ff000d1998ff000b99988b8b81ff0000b33481
+fffffb800081fffffb8000ffffef6668ffffeecccc8b8b08fffffab330068b8bff00
+068000ff001b3334ff00141998ff0010999808ff00901998fffe7b999a158b070e1c
+056cff00c9e666ff025b4ccc15ffffde199afffff8999c05ff0002199aff0005cccc
+ff00083333ff00094cccff0006e666ff0001ccccff000a999aff0002ccccff0004cc
+cd85ff00014cccfffff9b33408ff00128000ff0043800015ff0014199affffef6668
+ff00068000ffffe4cccc8b8b08fffffab33306ffffffffff8bffffef6667ff001133
+3481ff0004800081ff0004800081ffffff4ccc8b8bff000d1999fffff46668ff0005
+199afffffb3330ff0003b333fffff2b334fffff7e666fffffc999cfffff8999aff00
+0bccccffffeb999afffffb3334fffff01999fffffc4cccfffff4b333ffffee8000ff
+fffa999afffff73334fffff8cccdfffff41998ffffb74ccdfffff96668fffff93332
+8708fffff0b334fffff6ccccff001c33335eff000c6667fffffe8000ff0002e666ff
+0005cccc8eff00049998ff00024ccdff000ab3348b8bff0013b333ff00043334ff00
+0a8000ff0002b334ff000a8000ff0002b33497fffffee664ff000c199a8808ff0004
+4cccfffff7b334058b8bfffff0b334ff00028000fffff26666fffffb9998ffffef99
+9afffffab334fffff46666ffffec3334fffff0e666fffff4199afffffb6667fffffc
+6666fffff9e666ffffff3334fffffbe667fffffecccc08fffffbb3349705fffff366
+67fffff5ccccfffff24ccd86fffff0b333ff0002b334ff000e1999fffff4999aff00
+11e667fffff8999aff0017199affffff666608fffff9b333ff000ab332058b8bff00
+093333ff0000999aff0005cccdff0003999aff000a6666ff00066666ff00153334ff
+001accceff000b3333ff0002ccccff000b3333ff0002ccccff000c6666fffffd8000
+ff0006e667fffffb3334fffff89999fffff2e666ffffeee667fffff4199afffff04c
+cdfffff4b33486ff00033332868efffffa1999ffffff999a08fffff9999afffffa19
+9a05ff00054ccefffff53332ff00094cccfffff6e668ff0009cccdfffff5e666ff00
+00199afffff78000fffffe9999fffffc4cccfffffecccdfffff8199afffffeb333ff
+fff93334ff0001e667ffffff9998ff00059999ff0005199aff00036667ff00043334
+ff0003b333ff0004199aff0002199aff0005333208ff000cb333fffffd4cce05ff00
+04199afffff5ccccfffffde667ffffea999a8b8bff00116666ff0009b332ff0003e6
+67a085ff00116668ff000d4cccff000e6666ff0018cccdff001833329aff000ce668
+9bff000dccccff000e6667ffffff6668ff000c199afffffeb330ff00124ccc89ff00
+128000fffff7e668ff0004333474ff00051998ffffe3b334fffff23334ffffb59998
+ffffed6666ffffda199a08fffff2ccceffffe5199aff0000e666ffffc3999aff0009
+ccccffffeae666ffffdc3334ff000a199afffff9b333ff0022199a78ff0001666678
+ff00016666ffffe6e666ffffeb999affffee8000fffff133338b8bfffff8b333ff00
+009999fffff88000ff0000199afffff46667ff00003333ffffc89999ff001e8001ff
+00006667ff0000b332fffff7e6667dff00026667fffff18000ff00058000fffff733
+3408ff00094ccdff000a666605ff000de667ffffef8000ff00154ccdff00004ccdff
+0010e6668408ffffc1e666ff0005199905fffffde667ffffe7666794fffff64ccdff
+000c1999fffffa333308ff0004ccccff00146666ff0005e666fffffacccdff002780
+00fffffeb333ff00298000ffffd83333fffff73333ffffe5199a05ff000a0001ff00
+06199aff000b4ccdff0009666695ff000d199a08ffffe7ccccff00283333ff0013b3
+34ff000bcccd05ff00149999ffffed9999ff00271999ffffea199aff002880008993
+fffff26666ff000dcccefffff36667ff0013e666fffff6333308ff0000b334ffffae
+999affffca6666ff0005e66605fffffe6666fffff0ccceff0002199afffff41999ff
+0003999afffff56667ff0003e666ff0004ccccff0003b332ff0004b334ff00063334
+ff00034ccc08ff001d6666fffff64ccdffffe78000ffffe34ccd05ffffff33347aff
+0007999afffffacccdff00086666fffffc4ccdff00006666ff00076666ff00024ccc
+ff00074ccdff0003999aff0007666608ff00333334ff000d3333ff001a4ccc71ffff
+f38000fffff7b33305ff00083334fffff79999ff0008b332ff00003333ff0009199a
+ff00013334ff0004ccceff00023333ff00044cccff00038000ff0000999aff000833
+3382ff00144ccdfffff5ccccff00139999fffff46666ff00124ccd92ff0024b33390
+ff00156667ff00086668ff00126666ff000d666686ff0018999afffffb199aff0013
+6666ff00001999ff00417ffeff00008000ff0051e668ff003b4ccdff002de6687308
+ffffef4cccfffff5999affffd7e664ffffdc1999fffffc199cfffff5199a08ff000f
+6664ffffebe66605fffff7ccd0ff0003e66771ff00071999fffff29998ff00008000
+fffff6ccccfffff44ccdff00033334fffff9199afffffe6668fffff7333308ff000a
+1998ff0008999aff002d8000fffff76666ffffc86668fffff9cccd05fffffbe664ff
+fff74cceff0001ccccfffff7e6668efffff7e66608ff0008b334ff0007e66605ff00
+1e8000ff00033334ff001f4cccff0002199aff0023b334fffffc199908ff000d3334
+fffff8199affffdb4cccfffffc800005fffff64cccfffffeb334fffff73334fffffd
+e666fffff9999cfffffc199aff0004199884ff00063334fffffa199a93fffffae666
+08ff00021998ff000c8000ff00063334fffffc8000ff0027e668ff00004ccd05ffff
+e88000fffff66667fffff18000fffff1e667ffffefe664fffff2b333ff0003ccccff
+fff91999ff0006199cfffffce667ff00066664fffffd9999ffffff8000ff0004ccce
+ffffff3334ff0004e666ff0002b334ff0004ccccff00164cccff0009e667ff0015e6
+68ff000a4ccdff001a1998ff00056666ff001fccccff0000999aff0023b33489ff00
+163334ff00069999fffff13334ff000e8000ffffe8ccccff00076667ffffe59998ff
+0004b33308fffff53334aeff00344cccc705ff0015999cfffff8e667ff001d800083
+ff001f1998ffffed6667ff001f199cffffed6666f70fffffb9999aff00491998ffff
+fe4cccff00491998fffffe4ccdff00374cd0ff0035cccdc1fffffe8000ff0035e668
+fffffe8000ff0010b330ffffcfb333ff00343330fffffd8000ff00343338fffffd80
+00ff0036b330ff002f3333ff00314cd0fffffee666ff00314cc8fffffee667ff0018
+99a0ffffdbe667ff00351998fffffb4ccc08ff00351998fffffb4ccdff002f4cd0ff
+001fe667b8ff0022b332ff0008ccc8fffff480008efffff5b334ff00026668fffff5
+b333ff00179998ff0033999aff001bb338ff002f3333ff0020b330ff002a6666ffff
+d63330ffffe14ccdffffd619a0ffffe1b333ffffcab330fffff98000ff000ab330ff
+fffa4ccdff000ab338fffff9cccdff00096668fffff5199affffd8ccc8ffffe44ccc
+6dffffed999affffc8e66894085494ffffc6b330ff002fe6664eff0004cccd4eff00
+04cccdfffff7b338ffffe14ccd5fff000466665fff00046667ffffcfe668ff00304c
+ccffffd16660ff0004199affffd16668ff0004199affffe19998ffffdb9999ffffcd
+4cd0ff0004e667ffffb13330ff0007b333ffffd53338bfffffdb1998ff00191999ff
+ffdb3334ff0019199affffc79998ff0023e666ffffd5199cff000cccce08ff000a99
+98ff0004e666ff001199988dff0022199cfffff4999aff00159998ff002a4cccff00
+3e4cccff0007ccccff00544cd0ffffe7ccceffffff8000ff0041999aff003ab330ff
+0007e666deffffe4e666ffffe98000ff00394cccff004db338ff0009999aff0058cc
+c8fffff83334ffff4c4cd0c9fffef7ccccff003f999afffefbe664ffffe61998ff00
+03e668ff00074cceff00093334ff00066666ff000ee664ff0005666808ffffe6b334
+ff00058000fffff63334fffffb99987cfffff84cccffffe59998fffff2666877ffff
+e66666fffff2199cffffe9b332ffffedb334ffffe2999affffeae664ffffc9e666ff
+fff8199cffffd34ccefffffee664fffff9ccccff000e8000fffffe199affffff199c
+fffffb4cccffffff3330fffffbe668fffffe3334fffffc8000fffffce668fffffc80
+0008ffffe71998ff0009199805ff0004e668ff0026e668ff001b4cccff00516666ff
+0014e668ff0020e666ff001a3330ff00296666ff0028999cff001c999aff001b6664
+ff00033334b1ff00048000ff00128000fffff24cccfffff98000fffff81998ff004a
+199cff0004ccd0ff005c4cccfffffde664ff00504cccfffff6199aff0051199c81ff
+0047e668fffff1ccceff00273330fffff63332fffffd6668ff0003b334ff00056668
+ff00083332ff00289998fffffde6680887ff001cb334ff003c9998ff000eb330ff00
+431998fffffeb334ffff634cd0ff003ce668fffedfe664b0ffff86b334ff00069998
+ffff946668ff0005ccccffffd53330ffffef999c8b8bff0002199cff00081998ff00
+048000ff00063334ff000bccccff000be668fffff3ccccff00033330fffff0666887
+fffff54cccfffff866684affffd21998ffffd08000ffffc5199c7effff9dcccc08ff
+fffd6666ffffdab3348f6dff000ce666ffffe0b332fffffa199affffff4cceffffe3
+199aff00044cccffffec8000ff000be666ffffe9199a99ffffee199aff0023e666ff
+00064cccff00313334ff00048000ff0023666684ff00423332ffffcccccca6ffffe4
+e668ff000e33346fff00104cccfffff94cccff000a6668fffff04cccff00183334ff
+fff00001ff00101998ffffe21999ff00088000080ef9ebff050a8000ffff8c999a15
+fffffe6668ff0007ccccfffff6b330ff000a4ccdfffff98000ff00044ccdfffff980
+00ff00044ccdfffff4ccd0ff00036666fffff64cc88bfffff366688bfffff19998ff
+fffa199a8b8b8b8b88ff00163333fffff6ccd0ff00063334fffff79998ff0005b332
+7fff0003cccefffff5e6688bfffffe4cd08bfffffe6660ffffffccccfffffe6668ff
+ffffb33408fffffeccd0ff00071999fffffae668ff000b8000fffffb8000ff000580
+0085ff00074ccdfffff59998ff0004e666fffff11998ffffff8000ff00033330ff00
+02cccdff00013338ff0003cccd8bff000419998bff00086667fffffe4cc8ff000a33
+33fffff8ccd0ff00093333fffff71998ff000b6666ffffeb4cd0ff0004e666fffff4
+80008bffffff4cc88bffffff66688bffffff6668ffffffe66708ff00034cd0ff0007
+33338dff0008999a8bff000866668bff0015cccdfffff2e660ff000cb333fffff199
+a0ff00088000ff00068000ff0006199aff00066660ff000acccd8bff000a80008bff
+00106666ffffee8000ff000d8000fffff14cd0ff00033333ff0007b330ff0004cccd
+ff00008000ff0009b3338bff0007e6678bff0009b333ffffef4cd0ff0017e666778b
+08fffff480008b7efffffb999afffff69998fffff8e6668492fffff3999cff0003e6
+67fffff4e6648bffffeee6688bffffed8000ffffef1999ff00013334fffff3199aff
+fffdccccff0000e666fffff79998ff00014ccdfffffd199c8bfffff580008bfffff7
+b334fffffd6667fffff71998fffff8b33382fffff89999fffffcccccfffff13334ff
+fffee668fffff7666608fffff9b334ff0013cccdffffef1998ff00339999fffff2e6
+68a3fffff48000a0fffff63330ff0016cccefffff4999cff0013b332ff00076664ff
+00033334ff000a6668ff0000b332ff000a8000fffffeccce08ff000019988bff0000
+199c8b05ff00081998ffffff8000ff0007e668ffffff999aff00063334fffffe1998
+ff00063330fffffe199aff00044cd0fffffd199aff00024cccfffffa666608ff0000
+1998ffffffb334ff00003334ffffffb33205ff0003e668fffffa3334ff00063330ff
+fffdccccff0005e668fffffeccceff0005ccccfffffeccccff0005e668ffffffb334
+90fffffeb332ff0006b334fffffbb33490fffffc3334ff0005e664fffffd6666ff00
+05e668fffffd6666ff0006ccccfffffeccccff00093334ff0000b33408ffffffe666
+07ff000019988b8bff0000199aff0000199c8bff0007b3308bff0006199cff0002cc
+ccff00054cccff0003199aff00021998ff000133348dff000133328dff0001199aff
+00016668ffffff999aff00019998ffffff6666ff00013334ffffffccce08ff000019
+9c8b06ff00026664ffffffb332ff0002999cff0000199aff00028000ff00003334ff
+0001b330fffffe4ccc8dfffffe8000ff00024cd0fffffee666ff00053330fffffd66
+66ff00063334fffffee668ff0005ccccff0000b332ff00038000fffffd199aff0010
+333489ff00054cccff0001ccccff00036668ff00013334ff00024cccff00028000ff
+0001ccccff0002ccccff00028000fffffee668ff00028000ffffff4cccff0002b338
+8b08ff000399988bff00039998ff000133348eff00029998ff0000ccd0ffffff199a
+ff00009998fffffee6668cffffff4cceff00033330fffffde666ff0003e668ffffff
+33348fffffffe6668fffffffe666ff00041998ff0000b334ff00039998ff00013332
+ff000019a08bff00003330ff0000199aff000019988bffffff6668fffffcccccffff
+ffe668fffffc999aff0000b330fffffcccce08ff0000b338fffffcccccff0001b330
+fffffcccccff00031998fffffe6668ff00038000fffffe3332ff000380008cff0004
+ccd0ff00013334ff000b8000ff00034cccff000accc8ff0005b334ff000b8000ff00
+00666608ff000019a006ff000a4cc88bff000ce668ff00033334ff000ae668ff0000
+8000ff00058000ff00003332ff0004ccc8ffffff999aff0003b338fffffe4cccff00
+03b330fffffe4cceff00029998fffffd6666ff000180008608ff00003338ffffff33
+34ff00009998ffffff800005ff00053330fffffae666ff000199a0fffff93333ff00
+016660fffff88000ff00013338fffff96666ff00013330fffff8cccdff0003e668ff
+fff9b33385fffffb8000fffff4ccd088fffff53330fffffd6667fffffc1998ff0000
+1999fffffd1998ffffffcccdfffffd99a0ffffffcccdfffffd8000ffffffcccdffff
+fde660ffffffe666fffffce668ff0000800008ffffff1998fffffa333305ff000399
+a0ffffff7fffff0002ccc88bff00029998ff00003333ff000299a0ff00003334ff00
+028000ff00003333ff0003e660ffffffe66608ff000080008bff00004cd0ff000019
+9a05ff000be668ff0002e667ff000d9998ff0002b333ff00078000ff0007666708ff
+0001ccd0ff0001cccdfffffe6660ff0002199905fffffbccd0ff00056666fffffee6
+68ff00071999fffffe9998ff0007b333fffffe9998ff00078000fffffe333893ffff
+f9ccc8ff0006666689ff0006199a878ffffffb3338ff0002333486ff00024cccffff
+fa4cc8ff0000666685ffffffcccefffff41998ffffff8000fffff2e668fffffcb332
+fffff719988b08ffffffe6688b06fffff29998ffffff8000fffff499a0fffff9ccce
+fffff4e660fffffce666fffffc3338fffffee666fffffe3330ffffffe666fffffecc
+d0ff0000999afffffeccc8ff0000999affffff19a0ff00016666ffffff8000ff0002
+199affffff1998ff00044cccff00018000ff0006ccce8dff0002e666088b8b07ffff
+fd9998ff0001b334fffffd9998ff0001b3328b8b05ffffff33388afffffdccc8ffff
+fe8000fffffd33388afffffd19988afffffc6668ffffff6666fffffcccc8ff000019
+9afffffcccd0ff0000199a88ff0000b334fffffe3330ff00013332ffffff8000ff00
+006666ffffffccd0ff00008000ffffff9998ff00006668ff00023330ff00014cccff
+0001b338ff00016666ff0000ccc8ff0001ccceff00013338ff0002b332fffffeccc8
+8efffffe19a0ff0001666608fffffe1998ff00016668fffffd3330ff00008000ffff
+fdb338fffffe9998fffffdb330fffffe999a8afffffd199aff00003330fffffc999a
+08ffffffe668ffffffcccc06ffffffccceff00001998078bffffff66668bffffff80
+00ff000019a0ffffff6666fffffde660fffffd6666fffffd80008afffffd19a08bff
+fffe4cc88bfffffe3334ff00006666fffffe4cccff0000b334ff00034cd0ff000780
+00ff00063330ff0007b334ff0001ccd0ff00063332ff00006668ff00016666ff0000
+1998ff00016668ffffffb330ff00016666ffffffb338ff00016666ffffff1998ff00
+014cccfffffeb330ff0000b33408fffffd6668ff00016666fffffd4cd0ffffff6666
+fffffd1998fffffeb334fffffd3330fffffeb334fffffce668fffffdccccfffffcb3
+34fffffcccccfffffe1998fffffe4ccefffffeccccfffffe4ccc8afffffe33348aff
+0003199afffffe6668ff0002e666fffffd1998ff00014cccfffffe3334ff0000ccce
+fffffdb334ff0000199889ffffff199afffffe1998ffffff3334fffffe8000fffffe
+8000fffffe8000fffffde66608ffffffccd0ffffffe666ffffffccccffffffccceff
+ffffccccffffffccccffffffe668ff00068000fffffeb330ff0005e66685ff000019
+9afffff7b334ff00003334fffff6e668fffff69998fffffb4cccfffffb199affffff
+6668ffffff4cceffffff9998ffffff3332ffffff8000ffffff3334fffffeb334ff00
+04199afffffe66648ffffffd8000ff0003666689ff0002b332fffffd4cd0ff00024c
+cefffffc8000ff0000cccc08fffffc8000ff0000ccce87ffffff3332fffffbccccff
+fffdb334088b8b07fffffa8000fffffcb332fffffcccccfffffc4cceffffffb334ff
+fffbccccffffffb334fffffbccceff00029998fffffc8000ff00033334fffffd6666
+ff00033334fffffd6666ff00043330fffffdccccff00043334fffffe4cceffffff99
+9cffffffccccffffff9998ffffffccceffffff9998ffffffccccfffffae668fffffd
+199afffffb1998fffffdb332fffff9999c8b08ffffffe6648bffffffe6688b05ffff
+f76668ffffff4ccefffffa8000ff0001199afffffaccccff00024cccfffffaccccff
+00024cccfffffb1998ff0003b334fffff8e668ff0004800008ffffff9998ff000033
+34ffffff999cff000033320585ff0001999afffff9b334ff00003334fffffab330ff
+00011998fffffab334ff0001199afffffbccccff0001999afffffd3334ff0004199a
+fffffce668ff0007199afffff9cccc8f84ff00021998fffff8ccccff00023334ffff
+f7ccccff00008000fffff7e668ff0000800008ffffffe66607fffffc3334ff000066
+66fffffc3334ff00004ccefffffc4ccc8bfffff88000ffffffe666fffff8e664ffff
+feccccfffffa199cfffffd333487ff0006999afffffbb334ff0006199afffffb6664
+ff00059998ffffecccccff00174ccefffff46668ff00153332ffffde8000ff000999
+9afffff0ccccff00044ccefffff2b334ff00004cccfffff133348b8e918dff00064c
+cc8b8b08ff000c4cccff00183334ff00198000a5ff00221998ff0018cccc058b8bff
+0006199cff0004199aff00058000fffffde666ff00058000fffffde668ff00119998
+ffffdd33328b8b08ff0001ccccffffcb6666ff000c3334fffff0199aff0005999cff
+ffffb334ff0004b330fffffce666ff0000ccd0fffffaccccff0004b330ff00006668
+ff00003334fffff1e666ff000a8000ffffe84cccff0002ccccff0010333491ff0008
+8000ff000d3334ffffe13332ff00066668ff0011199aff000a3334fffff44cce058b
+8bff0004800094ff00028000fffffae666ff00028000fffffae666ff001fccccffff
+f166668b8b08fffff61998ff000bb334fffffd800098058b8bfffffc199cff000a99
+9aff000380008eff000380008eff0015b330fffffb33328b8b08ff0000b334ff0005
+6666ff001d8000fffffc199affffebccccff00104cce058b8bfffff7199cff000680
+00ff00003334ff00018000ff00003330ff00018000ff0010b334fffffd33328b8b08
+ff00098000ffffff6666fffff8999cff00078000ff00139998ff00014ccefffffc4c
+ccff00074cccff001be668ff0007199afffffcccccff0005e666ff000fb334ff0002
+199afffffc3334ff0006199a9cff00003332fffff99998ff00083334ff0015e668ff
+0002199aff00119998ff00016666ff0017e668ff0008666696ff00016666fffffe4c
+c8ff0005666805ffffd999a0ff00078000ffffeee664ff0006b332ff00044cccff00
+014cceffffe84cccff00076666ff0000b334ff0005199afffff28000ff0008b332ff
+00056668ff0007999affffe6b330ff0006b334878f058b8bfffff9b334ff00041998
+fffff53334ff0002333489ff0000666689ff00003334fffffde6688bfffff666648b
+fffff53334fffffc999afffff99998ffffff6666fffff8199cffffff3332fffffb80
+00ff0004e668ffffff4cccff0003ccccffffff4cccff0003ccccff000466688eff00
+07ccccff0001999cff0007ccccff00019998ff00104cccfffff94ccc8b8b08ff0010
+199cfffffe199aff0012cccc8efffffe9998ff00056666ff000b3334ff0002999cff
+0004999cff00048000ff00178000ff000a3330fffff34cccff0003ccd0ff00093334
+ff00054cccfffffd8000ff00043334ff0014ccccff00131998fffff5ccccff000280
+00ff00019998ff0004e668ff00169998ff000d1998fffff7b338ff00098000ff0014
+4cc8ff000c800005fffff43338ff00063334ff0017b330ff0014e664fffff83338ff
+0003e668ff000d8000ff00134cccff0010e660ff000ab334ff001a6668ff00143334
+ffffe1ccd0ff0003e664ffffdc6668fffff03334fffff76660ff0006e668ffffe619
+9cfffff33334fffffcb334ff000d8000fffff11998fffff81998fffff7199cfffff7
+ccccfffffe8000ff0006999cfffff3b334fffff6999805ff00036664ff001333347b
+fffff83334fffff3199cfffff89998fffff3e664fffff4ccccfffff8b334ff0013e6
+68fffffce66896ffffed8000ffffed1998fffff63330ffffeb4cccfffffaccd0ff00
+056668fffff8e664fffff4666882fffff58000fffffb999cfffff66664fffff76664
+fffffcccccfffff7800075058b8bff0000199cfffff73334fffffe4cccfffffbb334
+fffffe4cccfffffbb334fffff7ccccfffff91998fffffc3334ffffffe668fffffc33
+34ffffffe664ffffff4cccff0004199cfffffeccccff00031998fffffeccccff0003
+199cff000ee668ff000b66648b8b08ff0006e668ff00078000ff00079998ff001399
+9c92ff0002b330ff00046668ff0009ccd0ff0004cccc8d95ff0012e664ffffff8000
+ff0004b334ff0007e664ff000a1998ff0002b334ff0014e668fffffaccccfffffee6
+68ff0000999cff00098000ff00069998ff000e3330ffffff999cff0004199cfffff9
+99988aff0002b334ff0005999805ffffff4cccff0010ccccff0002ccccff000db334
+fffff76668fffffdb334ff00074cccff0018e668fffffb3334ff00224cccfffff599
+98ffffeb4cccfffff6ccccffffeee668fffff04cd0ffffee4cccfffffc4cccff0005
+8000fffffa6664fffff99998fffff8e668fffff46668fffffa6668ff00084cccffff
+fc3330ffffff9998fffff88000fffff5999cfffff9199cfffff2199805fffffc3334
+ff000bb33489ffffffccccfffff79998fffff4e668fffff7b3347cfffff86664ff00
+0bb334fffff6199cfffff34cccfffff84cccfffff44cccfffffc6668ff00129998ff
+fffe1998ff00138000fffff46668fffff2ccd0fffffc3330ffffec8000fffffc6668
+fffffe800089ffffec1998fffff79998fffffe9998fffff9199cffffec800005ffff
+fb6664ff00043334fffff98000ff00004cccfffff6ccd0ff000d3334fffff5ccccff
+000accccfffffab334ff00126668fffffb33307afffffc999cfffff4ccccfffffc19
+98ffffe8b3348b7eff0001e6687bfffff71998fffffd6668fffffce668ffffef8000
+fffffe4ccc87ff00043334fffff31998fffff99998fffffb999805ff00066668ffff
+f4ccd0fffffc6664fffffa9998ff0005199cfffff63334ff001a9998ffffec333405
+8b8bff000fe66875ff001b3334fffffc1998ff001b3330fffffc199afffff2b334ff
+fff83332ff0001b334fffffae668ff0001b334fffffae6667dfffff8199a8b8b8b8b
+ffffe38000ffffe9cccc85898589ffffc9ccccffffbf80008b8b6186ffffbd1998ff
+ffcc3334ffffe5199cffffe8e6660889ff0006999affffebccccff001e99988b8b8b
+8bfffffe4cccff0030b334fffffd3334ff0004ccccfffffd3334ff0004cccefffff9
+6666ff001f66668b8b8b8bfffffb199aff000d4cccff0003ccccff0002999aff0002
+199aff00016666ff0003999aff0002999aff000619988bff0005199a8bff0006b334
+fffffe4cceff0008e666fffffa333208ff0009e666fffff9999aff000a8002fffffe
+4ccc938b08ff0007ccccff00054cccff0001999a8b1fff001bb334fffffe999aff00
+086664ff0003e666ff00008000ff0005b33495ff00043332fffffe4cd0ff0006999a
+ff00098000ff000680008cff0003b334ff0006b330ff000d3332fffffbb334ff0006
+ccceff0009999c95ff0006e664ff0008fffeff0009b334ff00124cd0ff0003ccccff
+0009b330ff0005e668ff000e6668fffff2e664fffff6666805fffff3b334fffffe33
+30fffff3199cfffffc199cfffffb9998ff00038000fffffaccccffffff9998ff0005
+e668ff00116668fffffb4cccff0005b334ff00093334ff000ee664fffffe8000ff00
+03199cff0007e664ff000f9998ffffff6668ff000fccccfffff48000fffff38000ff
+fff3e668fffff53334ff00013330ff000c6668ff00004cd0ff000e8000fffff4e664
+fffffc333005ff0002999c9aff00006664ff000c6668fffffeccccff00014cccffff
+f76668fffffa199cff0002e668ff000d8000ff00009998ff000b6664fffffdccccff
+00026668fffff8199cfffffd6664ff0001800097ffffffccccff0007999cfffffa99
+98fffffe6664ffffff3334a0ff00031998ff0011199cff00044cd0ff00143334ffff
+eacccc7605fffff79998ffffeab330fffffb999cff00068000fffffa8000fffff4cc
+d0fffff6ccccfffff4e664fffffeb332fffffa999cfffffc6666ff00043330fffffd
+999afffffd6668fffffccccefffff28000fffffb4cccfffff91998fffffd3334ff00
+03ccd0fffff6cccc7bffffff999afffff48000fffffd4ccc88fffffc6666ffffed4c
+ccff0002199a8705fffffd999afffff6b334ff00033334fffffa1998fffffa8000ff
+ffee3334ff00008000fffff6e664058b8bff00038000ffffefccd0fffffd9998ffff
+fe8000fffffd999afffffe8000fffffd6666fffffd9998fffffd999aff00023334ff
+fffd999aff00023334fffffe6666ff00096664ff00013334ff0003e668ff00013332
+ff0003e664ff0004999aff0006199c8b8b08ff00063334ff00141998fffffc333292
+ff0002333494ffffffccccff000c8000ff0001800097fffff9b334ffffff3334ff00
+04999aff0013ccccfffffe199aff00178000fffff83332fffffa4cccfffff0ccceff
+fff64cd0fffffe1998ff000e9998fffffb999aff000c6668fffff9b334ff000e6664
+fffff83332fffff0cccc88ff000d800005fffffb8000fffffc4cd0fffffe999aff00
+0ab330fffffa999aff000de668fffff6b334fffff8800081ff00178000fffff6e666
+ff00001998fffff14cccff001f199cffffea999aff000e4cccff00064cccffffe333
+34ff000533347afffffe8000ffffeb199884ff0001999cff00043334ffffe43330ff
+fff51998ff00026668ff00068000ffffebe66805fffff5999afffffe1998ff0007b3
+34ffffea3334fffffe6666fffffbb334fffff8199a8fff00034cccffffe71998ffff
+fc3334fffffe8000ff00033332fffff71998fffff5b334ff0004999cff0009ccccff
+ffebb334ff0000999afffffa3330ff0005e666fffff7e668fffffc3334fffffd1998
+ff000a999afffff33334ff000b6666fffff84ccc058b8b99fffffb6668ff00043334
+fffffa8000ff00043332fffffa8000ff0001199afffffb4cccfffffd999afffffdcc
+ccfffffd999afffffdccd0fffffa8000ffffff3330fffffb4ccc90fffffb4ccc90ff
+fff96668ff000b6668fffff7e666ff00049998fffff7e666ff0004999cfffff9b334
+ff0000b3348b8b08fffffb4cccffffff6664ffffec3334ff0009ccccffffff8000ff
+fff7999cfffff29998ff0001b334fffffdcccefffffc1998ffffecccccff00083334
+ff0002199afffffcb334fffff18000ff00051998ffffe33333ff0010999887fffffd
+3334ff00068000fffff8ccccff000ae667ffffec999cff000a999afffff5199898ff
+fff23334fffff78000fffffde66805ff000ae666fffff63330fffffa66668994ffff
+f5b334fffffaccccfffffdb334ff000e4cceffffeb6666fffff9b33288977ffffff7
+33348aff0006666686058b8bff000c4ccefffff88000ffffff4cccfffffee666ffff
+ff4cccfffffee668fffff6e668ff000080008b8b08ffffea6666ff00001998ff0015
+199a7dfffffd9998fffffbe668058b8bff000e800083ff00024ccefffffbb33287ff
+0001800087ff0002199afffffbcccc8dfffff94cceff00033334fffff89998ff0002
+cccc82ffffff3334fffff7ccceff00039998fffff6ccccffffffe668fffff78000ff
+00004cccfffff78000ff00004cccfffff88000ff0000cccefffffa999aff0003cccc
+ffffff3333ff00044ccefffffe199aff00039998fffffd3333ff00024cce08fffffc
+cccdff0002999a87ff0001333287ff00006666fffffbb333ff00006668fffffb999a
+ffffff9998fffffc19998affffff999aff00016668ffffff8000ff00016666ffffff
+6666ff00013332fffffeb333ff0002e668fffffe8000ff00028000fffffe80008dff
+fffeb334ff0001ccccfffffee666ff00013334fffffe999a8c08ff00001999ff0000
+199805ffffffe666ff0000199affffffccccff0000199affffffe667ff0000199aff
+fffd8000ff0002199afffffc9999ff0000e666fffffc8000ff00008000ffffff8000
+8ffffffe8000ff0003e666fffffce667ff0003333408ffffff9999ff00006666ffff
+ff999aff0000333205fffffab333ff0002999afffff7b333ff0000b334fffff83334
+ffffff8000ff00003333ff00033332ffffff8000ff00034ccefffffe3333ff000299
+9afffffe199aff0002ccccfffffc3333ff0001999a878afffffd6666ff00008000ff
+fffd4ccdffffff999afffffd3333ffffff4ccc8bff00014cccffffffcccdff000166
+68ffffff999aff00013334fffffee6668efffffd999aff0002b330fffffc9999ff00
+01333408fffffce667ff0001199cfffffc1999ffffffccccfffffb999afffffe9998
+ffffffb333ff0000199cffffffcccd8bffffffb333ff00001998ff0000199aff0001
+b334ffffffccccff0001ccccffffffb3348d088bff00006668ffffffcccdff00004c
+cc05fffffd6667ff0005e664fffffb4ccd8efffffb3333ff00008000ff0000b333ff
+00054cd0ffffff4ccdff00054cccfffffd1999ff00048000ffffffe667ff00003334
+ffffffe666ff00003330ffffffe667ff00003334088b07fffffdb335ff00053334ff
+fffc66668ffffffb3333ff00023334fffffd8000ff00011998fffffd6667ff0000b3
+34fffffd1999ff00001998fffffd199aff0000199c88ffffff9998fffffccccdffff
+ff199c08ffffffe6668b06fffff11998fffffb6664fffff2199afffff1199cff0000
+b3347808ff0005e666ff0000333005ffffff66669bff000c199aff000cccd0ff000c
+6666ff0003e664088b07ff00053334ff00018000ff00046666ffffffb334ff000380
+00fffffe6668ff00038000fffffe6664ff0002b33388ff0001cccdfffffbb33408ff
+0000199affffffccccff00003334ffffffb33405ff00026667fffffc6668ff000080
+00fffffb6664ffffff199afffffb4ccc88ffffff3334fffffd3333fffffeb334ffff
+fd999afffffe4cccfffffc1999fffffd666888fffffce664fffffee667fffffc4cd0
+ffffff8000fffffe3330ff00001999fffffd8000ff0001999afffffe6668ff000199
+99fffffe6668ff0002199affffff8000ff0002999a8b088c8bff0000b334ff000080
+0005ff00058001ff0003cccc8fff00059998ff0002199991ff000033348bff000033
+33ff0000199cff000033338b8effffffccccff00026666fffffeb3348dfffffbb330
+ff00003334fffffe8000ff00001999fffffe999cffffffe667fffffeccccfffffe80
+00ffffffb334fffffe6666ffffffccccfffffe999affffff6668fffffc4cccfffffe
+6664fffffccccdfffffd8000fffffdb333fffffd199a08fffffdb334fffffd199aff
+fffe4cccfffffc8000ff00014ccdfffffc6666ff0000999afffffe3334ff00018000
+fffffe6666ff0001cccdffffff199aff0001ccccffffff199aff00024ccdffffff80
+00ff0002b333ffffffe66608ff00026666ffffffe666ff0000999aff00024ccc05ff
+0000cccdff0002e668ff00026667ff00033332ff00023333ff00043334ff0000cccd
+ff0001999aff000099998dff0000999a8dff00003333ffffffe664ff00006666ff00
+00199cff00003334ffffffe66408ff0001199affffff999c8cff0000666405ff0003
+e666ff00018000ff0002ccccffffffccd0ff0001cccdffffff6664ff0001cccdffff
+ff66688cfffffeccccff0000999afffffe8000ff00006666fffffecccc8bfffffe80
+00ffffffb333fffffe999afffffd999a8afffffd4ccd8afffffe1999fffffee666ff
+fffe8000ffffff199afffffecccdffffff4cce8affffff3332ffffff8000ffffff99
+9affffff6666ffffff8000ffffff999affffff800008ffffff999affffff8000ffff
+ff6666ffffff6666ff0000199afffffe6666ff00001999ffffff3334ff00006667ff
+ffff199aff00009999ffffff8000ff0000999affffff8000ff00008000ffffffcccc
+ff00006666ffffffe666ff0000e667ffffffccceff0000b333ff0000199aff0000b3
+33ff00001998ff00018000ff00003334ff0001cccdff00006666ff00028000ff0000
+ccce08ff00003333ff00001998ff00003333ff0000199a05ff00031999ff00018000
+ff00023333ff00026666ff00014ccdff0002b334ff00004ccdff0000199aff00004c
+ccff00003332ff00004ccdff0000199aff00036667ff0001199aff00034cccff0000
+4cccff00018000ffffff999a08ff0000cccdffffffccceff0000cccdff0000333205
+ff00024ccdff0000b334ff00009999ffffff8000ff0000cccdfffffeccccff0000cc
+cdfffffeccceff0000999afffffd9998ffffffb333fffffd999a8bffffffe666ffff
+ffe666ffffffccce8bffffffe666fffffdb333ffffff999afffffdb334ffffff8000
+fffffe1999ffffff3332fffffe8000ffffff6668fffffe999affffff3332fffffee6
+66fffffecccefffffee667fffffeccccffffff1999fffffe66668bfffffe3334088b
+fffffde666ff0001e667ffffff4ccc05ff00049999fffffe4cceff00046667ff0000
+e666ff0002ccccff00028000ff00018000ff00014ccc8cff0001b334ff0000cccdff
+0001b334ff000033338bff0000199aff00001998ff000033338bff0007199aff0000
+999aff00086666fffffee666ff0003b333fffffe6668ff0001999afffffe3332ff00
+01199afffffdccceff00008000fffffdb332fffffbe666ffffffe666fffffbe666ff
+ffff8000fffffc8000fffffeb33408fffffde667ffffff3334fffffe1999ffffff19
+98fffffe6667fffffeb334fffffe6666fffffeb334fffffecccdfffffe4cccffffff
+b333fffffdccccffffffb333fffffdccce8cfffffdccccff0001999afffffe3334ff
+0001999afffffe3332ff00026666fffffe8000ff00033333fffffe666808ff0000cc
+cdffffff9998ff0000cccdff0000199a05ff0007b334ff0001199aff00054ccdff00
+05999aff0001cccdff00066666ff00003333ff0000b334ffffffe666ff0000b332ff
+0000199aff0000b334ff00028000ffffff8000ff00026666ffffff4cccff0001199a
+8a08ff00001999ffffffe666ff00004ccdffffffe66805ffffffffff8bff00014ccd
+fffffeccccff00013333fffffe4cccff00013333fffffe4cceff00016667fffffdb3
+32ff00011999fffffd999aff00008000fffffee6668bfffffeccceff00006667ffff
+fecccc8affffff999a8affffff999affffff3333ffffff800008ffffffe666ffffff
+e66605fffffb999affffff199afffffccccdfffffe4cccfffffe6666fffffd6666ff
+fffe3333fffffd3334ff00006667fffffc8000ff00019999fffffd999aff0001999a
+fffffd999aff0002e666fffffe6666ff000333348bff000333338bff00036666ff00
+01e666ff0002999aff0003800008ff00001999ff00003334ff0000199aff00003332
+05ff0001b333ff0003199aff00006667ff00033334ffffffccccff00033332ff0003
+8000ff0000e666ff0003cccdff0000999aff00038000ffffff999aff00033333ffff
+ffb334ff0002cccdffffff19988dfffffe4cce8dfffffe4cccff00018000fffffdb3
+34ff000066678708ff00001999fffffecccc8cffffff333405ff00073332fffffa66
+66ff00096667ffffff8000ff0008e666ffffffb334ff0008e667ffffffb332ff0008
+cccc8bff0006999afffffcccce08ff0000ccccffffff9998ff0000ccceff0000199a
+05ff0007b332ff0000e666ff00066668fffffd8000ff0006b332fffffce668ff0004
+199afffffe1998ff00043334fffffdb334ff00049998fffffe6666fffffdccceffff
+fd999a88898b8b08fffff78000fffff86666fffff36666fffffd999a058ba1fffff9
+e666ff0008199a1eff0001199a8bff0000ccccff0000199aff00008000ff00003334
+ff00044cccff00021998fffffe199afffff733348b8b08ff000cccceff00024cccff
+fffb1998fffff0999aff0018ccceff000dccceffffff6666fffff6ccccfffff93334
+fffff33334ff00136666ff000a666691ff0007b33205ff00046666fffffe3334ff00
+04999afffffe199aff0005b332fffffccccc08ff00006668ffffffccceff00004ccc
+ffffffe66605ff0008b334fffffdb332ff00046666fffffb199aff00034cccfffff9
+999aff00033334fffff9999aff0001b332fffff83332ff0002999afffff8ccce08ff
+0000199affffffe66605ff00004cccfffff6b334ff0004b334fffff899988ffffff9
+199aff0004199afffff8ccceff00036666fffff98000fffffe6666fffff7199808ff
+ffffe666ffffff6668ff0000199affffff800005ff0001b334fffff7b332fffffc66
+66858bfffff880008bfffff9e666ff00104cccffffe7e6678bfffffb4ccdfffff566
+68fffff4199afffff41998fffff28000fffff2e668fffff0e666ffffce1998ffffc6
+8000ffff518001ffff1e33338b8b08ff00101999ff00078000fffff3999affffea19
+9aff0018b333ff001066666664ff002b999aff0016999affffece666ffffef8000ff
+0005e667fffffe999aff001266669a6dffffdfccccff0022e666ff001c199affffea
+8000ffffd93333fffff0199affffde4ccdff0027b333ff002e999affffeb6667ffff
+d43334ff0054e666ff008e333305ff0050b334ff00654ccdff004fb332ff00678000
+ff0006999afffffcb333058bff00000001ff00073334fffffde666ff00003332ffff
+fce667ff00003334fffffce666fffff4b332fffff633338b8b08ff0002b334fffffd
+8000fffff1ccccfffff1999a9cff00044ccd058b8bff0007199aff00021999ff0000
+b334ffffff4ccdff0000b332ffffff4ccdfffff7b334fffff819998b8b08fffffbe6
+66fffffb3334ff0007199aff0000e666fffff8b33480ff000566668afffff8999aff
+ffee199aff00046666ffffff4ccdfffffaccccfffff6b333ff0004ccceffffff999a
+fffff93332fffff6b33492ff0000199afffff84ccefffff36666fffff9999881ffff
+faccceffffefb333fffffc4cccfffff98000ff0003999afffffeb33305ff0013999a
+ff0011999aff000a8000ff0006999a8afffffd199aff000d999aff0009cccdff0002
+8000fffffd8000ff000a1998ff0003ccccff0001cccefffffa4ccd05fffffeccccff
+fffe8000fffffe3334fffffeb33389fffffee667fffffe6666ffffff1999fffffecc
+ccffffffcccdfffffeb334ffffff999a088aff0000999afffffeb334ffffff800005
+ffffff4cccffffffb332ffffff8000ffffffcccdffffff8000ffffffb333ffffffcc
+ccffffffe666ffffffb334ffffffccceffffffb334ffffffccccffffffb332ffffff
+cccdffffff999affffffcccdffffff999a8affffffccccffffff8000ffffffe666ff
+ffff199aff00004cceffffff3332ff00004cccffffff3334ff00008000ffffff8000
+ff00006666ffffffccccff0000ccceffffff8000ff000066668bff00004ccc8b08ff
+0000999a8bff000080008bff00006666ff0000199a8bffffffcccd8bffffffcccdff
+ffffccceffffff8000ffffff4cccfffffe8000fffffde666fffffd999afffffdb334
+fffffde666fffffdb334fffffde666fffffdb332fffffe3334fffffe6666fffffe4c
+ccffffff999affffff999affffff999affffff8000ffffffb334ffffff8000ffffff
+b332ffffff8000ffffff8000ffffff4cccff0000199afffffeccce08fffffe199aff
+fffe6666fffffde666fffffe6666ffffff6666ffffff999a08ffffffe666ffffffe6
+6605ffffff999affffffcccdffffffb334ffffffe667ffffffb332ffffffccccffff
+ffb334ffffffcccdffffffb334ffffffe667ffffff9998ffffff8000ffffffe668ff
+ffffe666ffffffe666ffffffcccdffffffccccffffff9999ffffffccceffffff999a
+ffffff8000ffffff3333ff00009998fffffeb333ff0000999afffffeb334ff00014c
+ceffffff8000ff000099988bff0000999a8bff00003334ff00001999ff000033328b
+08ff0000ccceff00003333ff0000199aff00003334ff00006666ff00003333ff0000
+199a8bff00004cccff00006666ff0000199a8bff00006666ff00003333ff00008000
+ff0000199aff0000199affffffe666ff0000199affffffe667ff0000e666fffffecc
+cdff0000199afffffc8000fffffb199882fffff4999afffffae666fffff58000ffff
+fd666608ffffff999a8b06ffffffe6668bffffffccceffffffe667ffffffe6668b08
+ffffffcccc06ff00000001ffffffe666ffffffe666ffffffe668ffffffe666ffffff
+3332ffffff999a8b1eff00004ccefffffb3333058bff0000e666ffffff999aff0000
+33341eff00004ccc8bff0000199affffffe666ff0000199a8bff000033328b8bff00
+00199aff0000199a8b08ff00004ccc068bff00003334ff00001999ff00004ccc1eff
+000033348bff000033348b05ff00016666ff00001999ff000233328bff0001e668ff
+ffffb333ff0000e666ffffffcccdff0000e666ffffffb333ff00008000ffffffcccd
+ff00008000ffffffcccd8bffffffcccc8b8b8b8bff0000199affffffcccdffffffb3
+32ffffff3333ffffffb334ffffff3334ffffff199afffffeb333fffffe8000fffffe
+4ccd08ffffffb332ffffff999affffffccceffffff999a05ffffff8000fffffeccce
+fffffe3332fffffd9999fffffdb334fffffdcccdfffffe4cccfffffe4ccd89fffffe
+800089fffffe9999ffffff3334ff0000999a8aff00008000fffffee666ff00003333
+88ff00006667fffffcb334fffffee66687fffffd666608fffffe999affffff199a8b
+fffffe6666058bfffffe4ccdff0000ccccfffffe199aff00016666fffffee666ff00
+016666fffffee667ff0001b334ffffffccccff00018000ff00003334ff00016666ff
+00003333ff00018000ff00006666ff00016666ff0000999affffffe668ffffffcccd
+ff000019988bffffffe668ffffffccccffffff8000fffffeb334ffffff1998ffffff
+1999ffffff3334ffffff4ccdfffffbccccff0000b333fffffc999a8bfffffd8000ff
+fffeb33308fffffd199afffffe999afffffe999afffffd3334ffffff4cccfffffd99
+99fffffe8000fffffb33338bfffffbcccdfffffccccefffffdcccd08ffffffb332ff
+ffffcccdffffffccceffffffb33305ffffff1998fffffee666ffffff4cceffffff33
+34ffffff8000fffffee666ffffffccccffffff6666ffffffb334ffffff8000ff0000
+199affffff199aff00001998ffffff199aff00008000fffffee666ff0000b334ffff
+ff6666ff00018000fffffecccdff00013334ff00004ccdff00011998ff00003333ff
+0001199aff00003333ff0001199aff00004ccdff00013334ff0000800008fffffe80
+00ff0003b3330590ff0004199aff00004cccff000633338cff00034ccdff00008000
+ff0001b333ff00008000ff0000e667ff0001199aff00008000ff0001199aff000080
+00ff00024cccff00004cccff00046666ffffff199a08ff0001199affffffcccd8cff
+0000999a05ff00026666ff00016666ff0001b334ff00024ccd8cff00026667ff0000
+e666ff00021999ff00004cccff00024ccdffffffccceff00024ccdff00028000ff00
+01b333ff00026666ff0001cccdff0002199a8dff00024cccff00024ccdff0001e666
+ff00024cccff00013334ff00024ccdff0000199aff0000199a8bff00003333ff0000
+199aff0000199aff00001998ff00001999ff0000199aff00003333ff0000199aff00
+00199a08ff00016666ff0001b333ff00013334ff0001999aff0000999aff00018000
+ff0000b332ff0001cccdff00003334ff0001e666ffffff4cccff0001999affffff80
+00ff00014ccc8aff0000e6678aff0000b333ff0008199aff00036666ff0007b33490
+ff00041998ff0008333408ff00004cceff0000999a8bff0000999a058bff00048001
+ffffff3332ff00031999fffffe199aff0001e666ff000133348cff0000199affffff
+e667ff0001ccccff00018000089291fffffc6666ffffffb33305ff0000ccceff0000
+b334ff00006666ff00006666ff0000e666ff0000ccccff00028000ff00024cceff00
+028000ff00026666ff00016666ff0003199aff0000b334ff00018000ff00004cccff
+0001ccccffffff999aff0001cccdff0000e666ff00006667ff0000e666ff00004ccc
+8cff00008000ff00033334ff0001b334ff00038000ff00028000ff0001ccccff0003
+ccccff0000e668ff0001e667ff00004cccff00023333ffffffccccff00024ccd08ff
+0005b334ff0004800005ff0000e666ff00004cceff0000ccceff00004cccff0000cc
+ccff0000666708ff00024cccff00004ccc058bff00000002ff0004ccccff0001b333
+ff0005999cff0004e666ff00059998ff0004e667ff0003199cff0009ccccff0002cc
+ccff00048000ff0002ccccff00048000ff00048000ff00008000ff00024cccfffffe
+cccdff00024cccfffffecccdffffffe668fffffc8000fffffdb334fffffb199affff
+fdb334fffffb1999fffff5b330858b8b08fffff86668fffff8199a85fffff4b333ff
+00038000fffffe8000fffffcccccfffff8e666ff0000999cfffffbb33387ffffef33
+33ff00073330ff00054ccdffffff199c84ff00034cccffffff999aff0001cccc78ff
+00058000ff000480008dfffffd3333fffffde668ffffee8000ff00086664ff000099
+9afffffe999c7b05ff00081998ff0003cccdff0001999cffffeacccdff00054cccff
+0002999aff0004e664fffff0e666fffffee668fffff2999aff00003334ffffe9999a
+ff000e4cccff000e999a91ff0019999aff00071998ff0001e666ff0003999cff0013
+199aff0008b334fffffc4ccdff0001b330ff000b3333ffffff3334ff0008199aff00
+043334fffffe33338bff000a666605ff0008e668fffff66666ff00026664ff000bcc
+cdff0001199cff0009e6668aff000b199aff000d9998fffffbb333ff00073334ffff
+fd4ccdfffffd4cccff0011999afffff8e668ff000db33390ff0000999afffffcb330
+ff00088000fffffde668ff00093333fffffc9998ff00063333ff0001ccd0ff0005e6
+66fffff79998ff000d8000058bff00000002fffffb3334ff0003b333fffffe6664ff
+00029999fffffe6668ff0002999affffff8000ff00073333ff00018000ff0002199a
+ff00018000ff00021999ff00028000fffffe999aff00023334ffffff6666ff000233
+34ffffff6667ff00001998fffff366668b8b08ff00013334fffff94ccdff00076664
+fffff3e666fffffe999cfffffb199aff00039998fffff9b333ffffff199cfffffc99
+9aff000619987eff0002b334fffffe4ccdff00024cccfffff7999aff000a1998ffff
+f6199aff00018000ff00033333ff0004e668fffffbe66690fffff6b333ff00024ccc
+fffffe999aff0002199cff0003cccd8dfffffc4ccd05ff00093330fffff9999aff00
+064cd0fffff8e666ff00024cccff00058000ff000a66647dff00146668fffff4999a
+84ff000e199afffffa9998ff000be666fffffce668ff000f999aff00048000ffffff
+b333fffffeb334ff0005b333fffffcb334ff00088000ff0006b330ffffff999aff00
+016668ff00023333fffffd6668ff00084ccdfffffb4cccff0009666605ff0007cccc
+fffffd3333ff0000b334ff00013333fffffd800094fffffb4cccff000a999aff0009
+4cccffffff4cccfffffd3334ff000a8000fffffce668ff0008e666ff000b6664ffff
+fa6666ff000b4cccfffff9199afffffd999cff000b999a82ff0009e666ff0000b334
+ff0002b334fffff61998ff0009199aff00029998ff0005199afffff84cd0ff000b99
+9a05ff00043330ff0000b333ff0002ccd0ff00036666ff000ae664ffffff999aff00
+09e668ff0001199997fffffb6667fffff8ccccff00098000fffffb6668ff00064ccd
+80ff000bb33384ff00053333fffff69998ff00058000ff00023334ff0005cccdffff
+f86664ff00086666fffffe999cff00028000fffff74ccc8eff00003334ff00053333
+05fffff76664ff0001199afffffe999cff0004199afffff89998ff00014cccffffea
+999cfffff9b334058b8bffffedb330ff00006666fffff2e668fffff2e666fffffb33
+34fffffb4ccdfffffeb334fffffe4ccdffffffccccffffff999aff00001998ff0000
+9999ff000033348dfffff94cccffffff6667fffffc6668ffffffb333ff00019998ff
+000c33338b8bff00004cccff0001199aff0007b334ff001bcccc8bff000533348bff
+000a8000fffffbccccff0022e6668b8b088b8bffffeb199cff001ab33485ff000480
+00fffffeb334ff0000e666fffffc3330ff00023332fffffbccd0fffffe6668ff000f
+4cccff000d9998ff00113334ff000b999aff0012ccccff0009ccce8b8bff00139998
+ff0006ccccff001633348bff001480008bff0026ccccfffff8e666ff001f8000ffff
+d43334ff001f8000ffffd43333ff00173334ffffd7b333ff00078000ffffeccccd08
+ff0005e668fffff0e666ff0006ccccffffdeb333ff00029998fffff28000fffff499
+9cffffffcccdfffff0ccccfffffde667fffff2ccccfffff3e666fffff59998fffff6
+800086808b7c8bfffff94ccdff00038000fffff24ccdff0002199cfffffbccccffff
+f566648afffff1b334fffff6cccdfffff9b334fffff6cccdfffff99998fffff6999a
+ffffffe668fffff14cccff0001e668fffff6cccd08ffffed8000fffffae667ffffee
+b330ffffe94ccc8bffffe966678bfffff3e667ff00016668fffff1ffff91fffff580
+00ff0004ccccfffff78000ff000e199cfffff38000ff000c1998fffff94ccd9486ff
+0005ccccfffffe8000ff001333348bff0006cccc8bff001db33493ff00173334ff00
+10e666ffffff8000fffffe33348bfffffa99998bfffffe4ccd08ffffeccccdff0016
+99987bff001966681eff0013b3348bff00144cccff000e9999ff000a3334ff000a33
+34ff00046664ffffee6666ff0015199cfffff33333ff0013e6648bff0010999c8bff
+00164cccff00078000ff0008999cff000db3338cfffff24ccdff000f3330ffffe84c
+cda58bff000ce6688bff000e1998ff00098000ff00044cd0ff0007199aff0004ccc8
+fffffab333ff00098000fffff99999ff000880008b08ff000966688bff000d1998ff
+0004cccdff0002e668ff0005cccdff00064cd0fffff16666ff0018ccc8fffff26667
+ff001499988bff0012b3388bff001b1998ff0007e666ff000b8000ff0006cccdff00
+0b800078ff001b1998fffff2b333ff000f99988ba28b99ff001480008bff000b199a
+8bff000b199982ff000ecccdfffff1e6689208fffff2e668ff00068000fffff48000
+ff00018000fffff28000fffffd666708fdcaff013fb33415ff0004e666fffff88000
+fffff58000ffffff3333058b8bff0003199afffff9e666fffffc3334ff0000b3348a
+ff00003333fffffde666ffffff6666fffffd66668a08ff0009b334ff000c999a05ff
+000d4cccff000e199a1592fffff88000ff00023334fffff94ccdffffedb332ff0004
+800005ff002f3332ff0032199815ff00073334ff00016668ff00068000ff00006666
+ff0006b334ffffff3332ff000a9998fffffeccceff000a6668fffff4ccccff0001cc
+ccfffff5cccd8cfffffa199aff0000999cffffea8000fffffcccccfffff96666ffff
+ff1998fffffe199afffffe999cfffffecccdfffffde664ffffff19998affffff999a
+fffffee668ffffff9999fffffeccccffffffcccd08ffffe88000ff00108000fffff2
+8000ffffffe667fffffd8000fffffd1999fffffc8000fffffeb333fffffcccccff00
+01b334fffffe6668fffffd4cccfffff84cccff0005b334ffffefccccff0003b33305
+d5ff004e666815ff00098000fffffc8000ff000b4cccfffffb99988affffff6668ff
+0009e668fffff7e666ff00061998fffff7999aff00053334fffff44cccff0001e668
+fffff9b333ff00001998fffff080008b8b08fffffbe66860058bffffffffffffffff
+b33486fffffc9998fffffde667ffffff4cccffffff9999fffffe999cffffffcccd89
+8bfffff880008bfffff18000ff0002cccdfffffab330ff00033333ff0002e668ff00
+016666ff00028000ff00023334ff00018000ff00031999ff0003cccc93ffffffb334
+ff00156667fffffe9998ff00081999fffffdccd0ff000c8000fffff34cccff000d66
+677eff0001800008fffffab334ff0000999afffffa9998ffffff6666868a08ff01dc
+8000ff0027999a15ff000166688bff0001b330fffffd8000ff0000999cfffffd1998
+ff00009998fffffd3334ffffff999cfffffcccccfffffe9998fffffd999afffffe19
+98fffffce666fffff83334fffffd4ccefffffbb334fffffeb332ffffffb3348cffff
+ffe664ff00013334ff0000199cff00016666ff00004cccff0002999aff00011998ff
+0003199aff00018000ff0002999aff0001e668ff00034ccc8fff0005b3348e8b08ff
+001a3330ff0005199815ff0000b338068bffffffccceff00011998ff0003999affff
+feccd0fffffbccccfffffeb330fffffb8000fffff89998fffff5cccc89fffffb199a
+fffffe3334ff0001cccefffffeb334ff00021998ffffffb3348dffffffb334ff0002
+8000ff0000b330ff0002b334ff00036668ff0002e66608ff00001998ff0000199aff
+0000199c8b05ff0002e664ff0002e666ff0002b334ff0001e6668dff0000e668ff00
+00e664ff00006666ff000099a0ff00003332ff000066608b08ffffd5b338ff0001cc
+ce15ff000133308bff0000b334fffffce666ffffffe668fffffab334fffffde664ff
+fffb9998fffffbb334fffffc8000fffffab334fffffdb334fffffd6668fffffee666
+fffffd1998ffffff3334fffffd1998ffffff999afffffe4cd0ff00028000ffffff4c
+ccff000233328eff0003ccceff00056664ff00041998ff00064cd0ff0005e668ff00
+03e664ff0001cccc8cff00008000ff0000b334ff0000199aff000066688b08ffffd8
+3330ff00014ccc15ff0002e6688bff0001b334fffffe999aff0001b334fffffdb334
+ff00029998fffffc8000ff0001e668fffffa4cccff00018000fffffab334fffffde6
+64ffffff3332fffffde668ffffff4ccefffffe33348afffffa8000ff0001b332ffff
+fa1998ff00024ccefffffc6668ff0002e666fffffd80008d8aff0001ccccff000019
+98ff00018000ff00001998ff00016666ff00016668ff00026668ff00049998ff0002
+cccc08ff0002199cff00014cccff00014cccff0000999aff000299988b08fffe1299
+9cff008d666615ff000033328bff000033348bff0000199affffffe668ff0004b332
+fffffe6666ff0001b334fffff9999a8b8b08ff0008e666ffffdb9998ff0002b334ff
+ffdf999aff00001998ffffebb334058b8bff0005b334ffffe7199aff0002b334ffff
+f9ccccff00033332fffff88000ff0006e666fffff5e666ff0002199afffffd6666ff
+fffb6666fffffbcccefffff48000fffff56666ffffe3199affffdfcccdff00006666
+ff00019999ffffede668ff001633348bff00024ccc8bff00073334ff0003b332ff00
+06ccccfffffe4cceff00094cceff0001b332ff000a9998fffffbe666ff00084cceff
+fffbccceff00074ccc08fffffbb332ff00076666fffffbe668ff000680008bff0007
+b334088bff00008000ffffffccccff0000800005fffffd999aff0006b334fffffe33
+32ff00083332fffffc4cceff00074ccefffffc6666ff0007199885ff00064cceffff
+f63334ff0002e66608ffffffe66606ffffff999aff00003334ffffffccccff000033
+32ffffff999aff0000333408ff000fcccc8fff001ce666ff00234ccc058b8bff000f
+3334ff00133334ff00053334ffffffb33208fffeebccccff00194cce15ffffffe666
+ffffffb332ff0000199affffff999affffffe666ffffffb334fffffecccdfffffbb3
+32fffffce667fffffcb334fffffb4ccc8afffffde667ff0001199afffffe3333ff00
+01199affffff4ccdff0000ccccffffff1999ff0000e666ff0000199aff000080008b
+ff000033348bff00003332ff00003333ff00006668ff0000cccdff0000b332ff0000
+cccdff0000b334ff00016666ff0000ccccff0001b333ff0000999a08ff0002b3348c
+ff00038000ff00008000ff00036666ff0000199a08ff03a09998fc9d15ff00009998
+ffffea1999ffffe64cd0fffff2cccd7e8bfffff299988bfffff13338ff000b4ccdff
+00023330ff00143333ff00051998fffff53334ff000be668fffff84cccff000d8000
+8b988bff000bb330ff0009b334ff0008e668ff000c666608ffffb31998ff00504ccc
+15ff0003e668ffffea8000ffffec4cd0fffff0199afffff3199889fffff2cccc8975
+ff000c6666ffffff199cff00146667ff0006b330fffff63333ff00128000fffff666
+66ff000d6668ff0002199aff000ce6688dff00066664ff000a4ccdff0006e664ff00
+0d999908ffffad00044415ff0003b334ffffea6667ffffe86664ffffef3333fffff3
+199cfffffe3333fffff2b330fffffe199afffff2199cff000b6666ffffff6664ff00
+146667ff0006999cfffff6199aff000a6664fffff79999ff000d6668ff0001e667ff
+000ce668ff0001ccccff000a4cccff000b666692ff000d8000086bff0061800015ff
+0003b334ffffea6666ffffe98000fffff00001fffff31998fffffe3333fffff2b334
+fffffe199affffeb8000ff0009e666ffffff6664ff00146666ff0006999cfffff619
+9a9cfffff9199aff000d6664ff0001e666ff000ce668ff0001ccccff00093334ff00
+0a999a92ff000d800008ffffa96664ffffac4ccd15ff00056668ffffeaccccffffe6
+8000ffffe9cccdfffff34cccfffffd3333fffff2e668fffffd199affffec8000ff00
+0b3333fffffdccccff00144ccdff00074cccfffff6999aff000fe668fffff79999ff
+000d3334ff0002e667ff000cb330ff0002ccccff000c8000ff000fb33491ff000dff
+ff08ff00a68000ff0098e66715ff0000999cffffea1999ffffe94cccfffff24ccd7e
+8bfffff299988bffffecb334ff000dcccdff00023334ff00143333ff00051998ffff
+f53333ff00106668fffff5cccdff000d80008b988bff0008b334ff000a3333ff0008
+e664ff000c6667080efbbefb0aa5f76caad1a001bebcf70bc103bef74315f8260abc
+4215f8270a0efbcdfb0aabf770a601a6c1f70ac103f731f73515f8470a0efbacfb06
+af77a1f761a5d1a012a3c1f717bb13bcf7657e15f8280a86fb2d15f8290a137cf82a
+0a13bcf82b0a0efbeafb04a2f74aa8f708a401d3bc03d350158b79fffffacccdffff
+f98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a
+8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff0000333308768d
+05ffffeccccdff0001cccdfffff93333ff000833338b9d08f72cc60791938d911f9d
+078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b96
+84967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efb
+acfb82a9ebb3c0a1f71fa17ba7129ab672be58b4f708bf8bb213ea00f79ef71315f8
+2e0a13f200f82f0a13e900f8300a13ec40f8310a13e980f8320afb4ffb7e15f8330a
+13e440f8340a13f280f703f74415f8350a0efbb4fb04a2f766add1a001c2bcf703bc
+03f3f75015f8ae0a0efc25fb03a8f761a0d7c512d3c559bb13f0f0f7aa15f8420a13
+e8a6fbce15f71c0713f0f8430a13e8f8440a0efc18fb699ef7d1a0c9c4128bbbb2c7
+58bc13f8f709f79b15f7870a13f476fb5215f7880a13f8f7890a0efba9fb04a8f768
+a5d1a001c3bb03c36615f8af0a0efc46fb05a1f7d0a001c2bc03c26715f7970a0efb
+02fb03a8f75da17dad12cdbbf705bbf705bb141c13bcf70fe115f8b00a13dcf8360a
+0efb7dfb03a8f75da17dad12d1bbf715bb13b8f713e115f8b10a13d8f8360a0efbb6
+fb82a8f1a5f75ca17aaa12c3bbf716c113dcf3fb3715f8b20a13ecf8380af71304ed
+0713dcf8390a0efbb3fb82a2f700a5f766a501a8c1f711bc03f7645615f8e30aa9ca
+15f8e40a0efbf1fb03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0e
+fbeafb0aa4f779a412a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a
+0a0efc19fb0ab3f760a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a
+0efba8fb0aae7ca1f765a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e
+0a0efbadf719a20194f7bc03f760f71915f8460a0efb1df719a201f7eff71915ac88
+ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ffff
+f3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff001ce66608ffffdae666
+ff00694ccd05fffff48000ff0020b33389ff000b4ccdff002080008e8f8f8b9a878f
+748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333fffffb
+8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc6667
+ffffae666605fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff600
+01ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff0005199990
+9608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666ff
+001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f8708
+0efb95fb82b4f7dea201a2f7bc03f785e115ffffc94ccdfb13fffffbb3338a52f714
+05fffff2199aff001f199aff00006666ff000ce666ff002080008e8f8f8b9a878f74
+8affffeecccd8affffe633338b758b818c748c87878b7c8f87ac87ff0001999a7fff
+000f66666808cffb2e05ff0005999afffff34ccdff00046666ffffeeb3338b848b85
+8a8688837b65786c828b858b869085918790858e828b088178827974aa81971fb78b
+a2b19eb7ff00344ccdf70dff0014b333ff002e4ccdff001dccccff0046e66698aaff
+0004b334ff00104ccdff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d
+8c748c0887878b7c8f87ac888ffffff480007dffffdf8000080efbd5fb04a9f764a8
+01a2a103d1f72f15818bffffeecccc8efffffb33349008858a058b6f8772866dff00
+063333fffffd4ccdff00088000fffffecccdff00074ccdff0000e66697b7a0919e8b
+08d78bfb26fb6e0586838b8a8b8708878f88951ef759068e9e91a896affffff8e666
+ff0002cccdfffff8b334ff00018000fffff86666ffffffb33308847a057c6a818367
+8b08418bf722f76605989e8b8f8b8d088c078e878b871e898b6f89798b080efb63f8
+01a7c576e1aaf70da801a7a8f70eaaf70ea703c4f8a715f9320a6e16f9330af74a9b
+15e26c34346ce235aae1e1aa070efb63f801a7f70faaf70da801a7a8f7a7a703c4f8
+a715f9320a6e16f9330af7a07c15aafb606c070eccfb6d76f778b3f805b301b4ddf7
+3ddaf73cdd03f773a9153979f700dfe29de5e21fa18b9f81a17008fbb407786d747d
+708b08f76df80515f7f40a46fc6215dd07a175a184aa8b08f3d2f701f71bf70356e9
+271f5c8b6f79757008f702078bbf9ec7d3b6087ba0053e6573627d6f80a772b83dad
+087a7605d5609d4f8b5708280778a072986c8b08303635fb34fb00c12cef1fb38baa
+97a5a7082e078b577950415f089c7705d9ada4b896a6996fa363d865089b9f0543b6
+78c78bbf080e5c89acf7aeb7b8ae01f707daf77cda03f7ebf84915fb29ce068bbf9e
+c7d3b6087ba0053e6573627d6f80a772b83dad087a7605d5609d4f8b5708483e68d8
+fbd8078b6e807e698808778905868a87898b86088b748d89058bd38db1b4d3898b1e
+8d8d8ba20590878e871e768d05698e80988ba808f73a07c3c4c197a68bbd8bb8668b
+fb278bfb8d2e774c5d08977c05f70cbcf2dc8bf75f8bf74440bc388b588b5b7a5557
+08f706f729070ef8cff70c01fbb9f76803fb6df94715c70a0ef8cff70e01fbbcf75d
+03fb31f94915f71b0a0efb91f78703fb05f91615fffff0999aff0007b334fffff666
+66ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79
+b279ff0009199aff0003ccccff00041999ff0008199cff0002cccdff000919980867
+a666ad6daf080ef8a0f70701fbc6f78803fb61f8a015f7020a0ef8b4bfc87701fbbd
+a7f76ca70372f92515f50a0ef8ecf72701fbf6f7910326f95415ff001033347fff00
+15cccc6e1e808b8487868308ffffc4b333fb0105fffffd7ffffffffb6668fffffecc
+cdfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408fb1790
+15ff00174cccffffe9b333ff000eb334fffff04ccd1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080ef8e9f7
+2afb107612fbf6ff00fa800013a0fbf6f95415f7680af71790158b838d84908708e3
+ffffaf8000051360ff00046666878ffffffc8000ff0005999a8b928b91908b928b8d
+ffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7020513a0869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080ef8f1bf01fbbea7
+f76ca703fbbef8b415f7630a0ef94eaa01fbcfd1f703d003fb52f96d15f7d70a0ef8
+8baa01fbe1d4ebd40330f8e215f8000a0ef959eb01fc11ebe8eb03fb54f98915b70a
+fb5116b70a0ef96476c5a301fb8bb8a1a59bbf0335f96915f8580a0efbc4f8e0f301
+e9f303e9f91415f7000a0ef8d1ffff2ee666ff0016199aefadff033e8000ff0016e6
+68018bff001a8000ff04478000ff001e333003f8d6f703158c8bda4a8d8b8e8b9290
+8b8e8b8c32d88a8cffffff1998ff0000e666ff00078000ff007380008bff0023999a
+8bff00056666ffffffccd0ff0003999affffff99988c87958692828f08848efb018c
+8b8b0861468a709c7c058c959d8b1fa279058c91968d1f8b8c779d8b8d8b8f9eb18e
+8cff00024cccff0000999aff000a999aff0000999a948bff0006199a8bff0007199a
+ffffffb3328bfffffee6668bfffffb6668ffffcde666ffff9fcccc8b8a8c89c36d8d
+8b088cacc78b1fff00014cccff00014ccdff00013334ffffe999998bfffff033348b
+fffff76666ffffff9998fffff96666ffffff199c8bfffffb19988bfffff6b334ff00
+12333483ffffefe666ffffff3334fffffe6666ffffff9998fffffe66678bfffffe66
+668bfffff3e667ff00153334fffff5cccc8bffffff199a8a838d848c88088d86977c
+918b928b8c9a8d8b088dfb2c1587858b85938b08f7c906ff00004cccff00003334ff
+00003334ff000066661f8bff000a3333ffff97e668ff0084e666fffff19998ff0011
+4ccdfffffb6668ff0005999afffff63330ff00039999fffff4e6688bfffff333348b
+fffff18000fffffb199afffff5ccccfffff3b3336a637f78798584895046888608fb
+78af15ffffdab334ff000d3334fffffa3332ff00026666ff00003332ff000033348b
+ff0000199a1e99a1d9f71f939908ff0001999aff002966664d8b1f932905937f9283
+9f8b0885f71a65c605869154a789898a8a2cffff53cccd8bfffffc333308f775f8fa
+158cf823fd4c8b1ffdb48d058bf823f94a8c1efca2fdb015ff0000999affffffcccd
+b5ffffffe666ff0042cccc8bff010b66668bff02990004ff00014ccdff000333308b
+ff001180008bff00088000ff000bb3338bff000fb3338bff0009666788ff000ab333
+85ff000a8000898efc8dfa06899087ff00081998fffff4e668ff00076668fffff44c
+cc8b08fffff780008bfffff71998fffffc1998fffff93334fffff566688684fc9afe
+0f89858afffffc999affffff8000fffffc80008bfffffc80008bffffeee666ff000b
+3333ffffef3333ff000d4ccdfffffe4ccd08f8d1fa5015f88dfdfd05ff000f1998ff
+ffe7b333ff00081998ffffeae6678b7a8bfffff19999fffffa3338fffff4999affff
+f39998fffff83333fffff44cd084ffffeeccc887ffffe880008bfffff94cd08bffff
+f8ccc8ff00004ccdfffff84cd0ff0000b33308fe698c05fffffe4ccdffffffe666ff
+fffe4ccd8bfffffe4ccc8bffffee999a8bfffff14cccff0002b334fffff48001ff00
+051999ffffed333393fffff5199aff000de667ffffff6666ff001266668b988f9a96
+9c8d8ff88ef9fd9093ff000b1998ff0014b334ff00123334ff000ab334ff00128000
+8b08ff000833348bff00084cccfffffde664ff0007b334fffffbb334948694829180
+08ffffe11998fffe37b33415ff00068000fffff98000ff0008e668fffffc8000ff00
+0933348bff000519988bff00053334ff0001199890ff00023334ff000d4cccff0005
+e666ff0007cccc988bff000d999a8bff0004e6668aff0004e666fffffde668ff0004
+b334fffffa1998ff000c8000fffff33334ff0007999afffff266688bfffffb19988b
+868afffffb3334fffffde66608fffff2b334fffffa199afffff833347e8bfffff266
+668bfffffb199a8cfffffb199aff00021998fffffb4cccff0001b334fffffc199aff
+00028000fffffc8000ff0002e664fffffd199a08fffdb63334fffe41b33215ff0002
+4cceff00054ccdff0002ccccff0005999aff0003999aff0005b333fffffc3333ffff
+fa199afffffd3333fffffa8000fffffde667fffffacccc080ef8c3fb65a0f92977f7
+cba101f86ac0e0bd03f84cf77615967f9a8f9a9408c0d88b36d78b8bf5a9718b3f05
+9c8b9596929a088bc5839a41c8056e927a84807c088afb31158b8325fb4e05968795
+84a59c08e8f73aecfb46059694979689a3083bf7298b9205f74dfb9e15de8b39f71c
+4d8a053ffb1a15df8a5cf71c828a059771976f5e720876b2898d05fb0b2b15e08b7e
+f71a4e8b05fb27fb1b15de8b98d005707b79907a9508b0ce718b05fb48fb1a15df8b
+c6f71a4c8b05f797f7f715a07a9c76767a7a76769c7aa0a09c9ca01efc39fc9e15f8
+1ff940f81efd4005fe1d2615f9340a7604f9350a0ef829f716a0f85a77b776db77f8
+47a101f854f8b3159f7b9a77777c7c77779a7b9f9f9b9b9f1ea8791593819281a18e
+08e0b994326afb50b19fadf739ab41058e868d85908a08f063058d9891947a9e0846
+a96dd582e3b07e9e6605987f998999920867d247a105767e758171998b8bfb014780
+88083efb8e15938d948f9296088adaa3929a76df8c0588958a977d8d08579177dba1
+8a996f059d7d9092938d0871c25396057b837b8a7a90083e40059183968b968a08bc
+b305f7a5f75815a1799d7575797975759d79a1a19d9da11efc83fc2015f81ff940f8
+1efd4005fe1d2615f9340a7604f9350a0ef8d5fb77f2c5a1c5ff0014cccdff004d33
+33a1af9f9e9f8aa012f7e0a2f72ea1f70bff00168000ff00978000a113f9e0f939f7
+3615ff00066668fffff1e666ff00064ccc7dff00066664fffff1e667ffffe34cd0ff
+ffee9999ffffece664ffffe06667ffffffb334ffffdbffff0878ff0000333305fb23
+f71b15f73e8b5afb190513fbe052f76815438a9792ffffd9199affff833333fffff9
+ccccff00013333fffff9999aff0000999afffff980008b08545e5f5454b85fc2c2b7
+b7c21f8bff00293333ffffe74cccaeffffdc66689aff00023332ff0007199aff0002
+8000ff00079999ff0002999aff0008199af726fb2e55a3d988088d06ff00091998ff
+ffd2b333ff0027ccd0ffffde4ccdff003019988b08c2b7b7c2c25fb8541f808bffff
+f56668fffffe3333fffff61998fffffcb333fffff83334ff00114ccdfffff6e664ff
+0014199afffff56668ff0017b3330813fde0919ea28c8b9e348b058381958bb28208
+8677fb438b0513fbe097b48588c08b08fb0afb0a15ff000433348bff00041998ffff
+ffb3338fffffff6667ffffe7199affffb28000ff0002999aff0008e6668bfffff980
+008b858e87918bff000a6666ff0000e666fffffdb334fffffe999aa4ff004fb333ff
+001ab3327fff00123334ffffe54ccd8bffffe0800008606969606069adb6b6adadb6
+1efb8cfb7e15f82af953f82afd5305fe382415faaf06988b9692919591958b9a8595
+08fca1fa2105859580927e8b7e8b8084858108fca2fe210585818b7c918191819684
+988b08ff02608000ff00f1199a15ff0050cccc8bff0006ccccfffffc3333ff0000e6
+68ff000db3338bff0003e666fffffeccccff0002b334ffffdcccccff004e1999ff00
+07199cff00023333ff00078000ff0001199aff0007cccc8b08b6ad6860606969601f
+ffffdbe6688bffffe23330a3fffff76668ff0021199a08fffffd8000ff0014800015
+ff00003334ff001b4cccff000dcccca3ff00153334ff000dcccd08ff001dccccffff
+be4ccd050ef829ff003f6666ff02904ccc01ff00226666ff0023333303ff0195999a
+ff0260e66815ff00704cceff001eb330ff002c3330ffffe6999cffffadccceffffe8
+199805ff0050199affffcf8000ff0040e668ffff9c999affffd48000ffff7d999a08
+ffffd8e664ff000e666605ff001d199cff0047ccceffffe31998ff006e9998ffffac
+6666ff002d333408ff0015999affffade666ffffd53334ff0017ccce05ff005c8000
+ffff05199915ffffe21998ffff8f6666ffffd3e668ffffe6999aff00149998de05ff
+ffadccceffffd3199affff89999afffff9cccdffffa4ffffff0067199a08abff001a
+999905ff002f8000ffffc2cccdff006e3332ffffe18000dcff0031999a08ffffae19
+9aff00168000ff002a3334ff0018ffff05fffef79998b915ffffadccccff00528000
+ff00004ccdff0032e668ff003d4cccffffc4666605ff00029999ff005d999aff0036
+4ccdff00698000ff0086e666ff001ab33408ff0006ccccffffd6e66405ffffb33334
+fffff5b334ffffae3333ffffb04ccc8d2c08ff003cb333ff003b6668ff000066675a
+05ff01c84cccfffff3cccc15ff00b51998fb27ff0093199cffff4ae668ffff4ae666
+fb27ffff6ce664ffff4ae668ffff4ae666f727fb27ff00b5199aff00b51998f727f7
+27ff00b5199a1e0e1c053d1c04a6f79c159ff506ff0006cccc94ff00036668ff0009
+3330ff00098000ff000999a0fffffc4cccfffff880001e8bfffffc8000fffffde660
+fffffbb334fffffaccd0fffffacccc087d779b068d8f87881f6707878786881e7e77
+9f06909a98901fc1078f8391898d93948e1ea307ff000db334ffffebccd0ff00074c
+ccffffec3330ffffece668ffffed1998fffff93334fffff1cccc1ef74e5115fffff9
+4cd0ff001ae666ffffeeccc8ff00093334ffffef19988bffffeb33388bffffedccc8
+ffffefb332fffffdccd0fffff33334086407ff0008ccd0ffffe9b3349afffff93332
+ff000eccc88b9e8b9bff000ab334ff0003e668ff0003e66608fffff28000ff000e80
+0005fffffa6668fffffb4cccfffff84cc8fffffce668fffff880008bfffff5e6688b
+fffff64cd0ff00058000fffffc9998ff000e4ccc08c906ffffe880009f15ffffdb80
+0006ffffff6668ff000a8000ff00099998ff0007b334ff000999988bff0007ccd08b
+ff0007e668fffffaccccff000233307e08fffed38000b215838b8388838508937529
+a1ca07ff00053330ff00088000ff000699a0ff0005e666ff000780008b8f8bff0004
+3330fffffe6666ff00048000fffffc3334089a9e05888f828f808b0837a615756f81
+79954f068b829881908a089d9f8106888b8b8c8a8d08c4999d7d07fb0947157e7f05
+928292849b89ff00038000ffffff8000ff00034cccffffffb334ff000333348bff00
+0333348bff00034cccff00004cccff00038000ff000080009c8c97938f988c908b91
+8a9087978192828e087206858a869a968f908c908b908a94899088908808989a0583
+957f8e7f8d858c868b868a79888483888389848d848b848d80948695889589958a95
+8b08938b897d85890885890584897f8c898c858f868e858e08fb06cf1529a2cc078d
+ff00094cccff0008cccc90ff0008b3348bff000919988bff0008e668fffffa8000ff
+00008000fffff43334084d9ed80789958192818e848d858b848a868a858987880891
+07fb16b115fb1ca1cc078dff00094cccff0008cccc90ff0008b3348bff000919988b
+ff0008e668fffffa8000ff00008000fffff43334084d9fd80789958192818e848d84
+8b848a868a8589878808b707f8612d15a77c068a888787888b087706808b8ca1958b
+089cc5157b06807d83851f987d8e8b058e908e8d1ea0068f8f88881f7f6907ffffee
+e668fffff88000fffff1b334fffff16666fffff0b332ff00084cc8fffff03334ff00
+0e4cd01fa6068e8b908e8c8f0884a1d707997a957b1efcd45115a77c068a88878788
+8b087706fffffa9998fffffd8000ff00053334ff00056666ff0005999aff0002ccd0
+ff0005ccccff000519981f9cc5157b06807d83851f987d8e8b058e908e8d1ea0068f
+8f88881f7f6907ffffeee668fffff88000fffff1b334fffff16666fffff0b332ff00
+084cccfffff03334ff000e4ccc1fa6068e8b908e8c8f0884a1d707997a957b1efb27
+af15fb1ca194078c869784918b089506989c9d951fba07997d97801e7906fffffbe6
+668bfffff7199afffffc999a88fffffb666608b907fb14651529a1ce07ff0003999a
+ff00043334ff00066666ff00059998938bff000566668bff00063334fffffd6668ff
+00066666fffff8cccc0848a1d0079a7d99801e7706858b8785888808940744b11576
+a0a007776515299fed07fac9f78215908bff000a3330ffffff4cccff0005ccd0ffff
+fcb33408f865fb9dfc65fb9e05fffff79998fffffb3333fffff81998fffffde66784
+8bffffed33388bfffff34cc8ff000f33338bff001319998bff0004199aff000099a0
+ff00043333ff00013330ff00044ccd08a8f31cfb128b8bf7871c04ee8b6ef305ffff
+ff1998ff00034cccffffff8000ff000380008bff000366688bff0010cccc969cff00
+1666688b081cfb02c315726e706f1ffcb1076fa871a41e1c06e006a1ae9eb11ff8ab
+07b1679f751e1cf9bcfb941533fb1ce3a149afc39f53afcd06f75effffadcccc15ff
+0021333407ff00058000ff00094cccff00063334ff00036668ff0005cccc8bff0007
+e6668bff0007199afffff9b332ff00038000fffff9999a086a07fffffa999afffff7
+8000fffffa3332fffffc8000fffffa4cce8bfffff94ccc8bfffff96666ff0004cccc
+fffffa333492080ef84afb6776f7a2e4f7a7ff003be666ffffc5199aa912b5d0aef3
+f7d8a9f745eeadce13cf80ff011c199aff0113b33415fffffa199aff0000e66685ff
+00006666fffff9cccc8b084856554848c055cecec1c1ce1f8bff0030cccdffffe366
+66ff0029cccdffffd6999aff00133332ffffeeb334ffffca3334fffff14cccffffd1
+b3338b8bfffff9e666ffffed199afffffd199afffffb3333818bfffff6e6668bffff
+f9199a928b948bff00064ccdff0000999aff0004b333ff0005ccccff0012800008ff
+01a66666ff0067e66615ffffe23334ff0041999a40fb5aa98b058bff0037cccdff00
+1e1998ff00314ccdff002cb334ff001b4ccc08ff000e4cccffffe0800015ffffdecc
+d0ffffeacccdffffea1998668bffffd54ccd08f0069ff70c15fffff3b3348bfffff4
+3334fffffe3334fffff4ccccfffffcb332ff001c66644cff00113334ffffda199a8b
+8bff000ab334ffffe866668cfffffc199a8bfffff980008b82fffffa1998fffffd19
+9affffdd6668ff0000199908ffff9db334ffffffcccd0599ffffcc999aff002ee664
+ffffda6666ff0037e6688b08cec1c1cece55c0481ffbc9f76a158b6c0513ef8062ff
+ffffe66605ffffe5ccccffffff3334fffff8e668fffffbe666fffff99998ffffed80
+0008fffff5b334ffffdb80000513df80f7a48c96a905ffffd1b334ff0008b334ffff
+ea8000ff00054cccfffffe8000ff0006800008ff00004cccff00098000f7208b8b6c
+678b0513ef80806d05ff000fe668ffffdcb334ff000e8000ffffdf9998ff000ce664
+ffffe36668ff000f999cff00056666ff0010ccccff0002e666ff00114ccc8b08e0d1
+4536364544361f418bffffc14cccff0035ccccfffff1199cff0046199a08ffffde19
+9806ffffdb3334ffffffe667fffff79998ff00021999ffffec3334ff0013cccd8b8b
+ffffc46666ff0045999affff92199aff0073b333fffffc3334fffff46666fffffc19
+98fffff3e666fffffc199afffff3e668ff0037333473ff00276666ffffc919998bff
+ffc0b33308364445363645d1e0e0d1d1e01eff0009b3348bff00098000ffffff199a
+ff00093332fffffe4ccc08b5ff0085999a05ff000e3334ff002d3334ff000fccccff
+0004ccccff002b199aff0000cccc08ff00658000ff00d7333415f9360afb34fbe615
+f752fb63d7f763050ef8428b77f398e1a6f794a9f700f112b7f786b899ad9cac9389
+f72bb7a513ff20f7dff81d157f358ab598370899988bf7040529fbb71595ba92b5bc
+c37e9189a1859d8a8f86a68b9e8b9b8ea28d8f99ab93aac19f08ac06c9809761a25f
+a756ab5b6b79ae759d64bf85a3899a929d8d08e5fb01058f6f81878187084fd49f20
+6e8b9efb05058b8066898b960879f3718b80fb0b0513ff608b7f6a8d8b95089af791
+22ec057fa094938e950813ffa07db771b178b408838b8cfb0705df438d57965208fb
+187e1513ff60b3fb56068b74648c8ba10852f75615b3fb33068b7c648d8b9808f78c
+f7e215a79ca0aba89e757069717c757174a1a61efb91f7b715aca2a0aaaaa2746c6c
+72746e6d73a2aa1ef91afbcc15f797fb66f765fb97fb97fb65fb65fb97fb97f765fb
+66f797f797f766f766f7971e0ef829fb13d246c6f70df72933b2649f9fbb6ea8f73b
+95b69cf72a9dccae12f7a3cfb7ba7e93a095ec9fa49ad8cc1303f3c0e7f77415f9d9
+77fdd906f8aef79e157b7e7e7b7b7e989b9b98999b9b987d7b1efb26f74015797c7c
+79797c9a9d9d9a999d9d9a7d791efb0afb9915ff0005ccccff001c6666ff00048000
+ff0014b334ff001c999aff001f999a84ff00049998fffffee666ff000c3334fffffc
+3334ff000a80000886a990a105949e909eab97089e06b084927199719b6ba0747880
+a07e9771aa889a8a938f968c08c14a058d7b858785890866b79851798b9751058dff
+fff6199affffe99998ff0000199afffffe6668ff0007cccc0880c17c8c834b058aff
+fff7b333ffffec9998ff00024ccdff00006668910894f71d4cc5058398918e8d9282
+a57d9f7fa408864906be5f8c749269083c8215a325068b7d738c8b980869f115a33a
+068b81748d8b9308f8c15915f797ffff423334f766fffee8ccccfbadfb50fb66fb97
+fb97f748fb67f7b5f7aff74ef767f7971efcfefb6415878c878b878b085f68675f1f
+1381fbc05fae67b7b7afafb71e8bab77a670988067816d8b8b877f8a88848b858b86
+8f8b918b8f8b8f8f9708f7abcf1578b759fb179f8b058bb09eaba99d08957715757d
+7c728b6f08ce0698da15838b838a84899e6196728b8b927b8c898b87081341f3c085
+8789741e4a069469aa72b08b08b7afafb7b767ae5f1f1313f3c0fb60f72115777007
+7a8afffffab334fffffd199afffffc4cccfffff3e66608134df3c08474f7488b929f
+056c917d8e8a8f0892e8767307847705957494769478958f978c968b08c3b95d5353
+5d5c531f5a8b62af81b9087506738b858c7e988b8b64b942d7898388848883af7ba6
+678b6108535c5d53535db9c31e1321f3c0c3b9b9c31e918b928b918a08a6e3051313
+f3c094a9978da78c08643a15f711fb1cbdf71c051301f7c0fb38ff017c4ccc15ffff
+feb33407878787878887ffffff999aff00003334ffffffb332ff00004cccffffff99
+9aff0000333408ff0003999a8f8fff00043332ff00048000ff00046666088b04ff00
+028000ff00028000ff0002b334ff0002999aff0002ccccff0002999a088bca838d05
+0ef866fb7eb4f7eb9483c751bdf72e9c879b12b7a59ec6b0b2f49c9ec3a3c29ea2a1
+f487929f949f8f8ae1a5991383fd20f8b2fb5515f9d7a1fdd707f7c4f850157c7d7f
+7c7c7f979a9a97989a9a997e7c1efb20f73b151387f9207a7d7c7a7a7d9a9c9c9998
+9c9c997e7a1efb03fb961590ff001ab333ff00039998ff0017cccdff001b3334ff00
+1f999afffff93334ff000433338bff000ccccd87ff0009e6660886a78fa405939c90
+9faa96089d06af85927198739b6d9e6f79819f7e9574a988998a9290968c08bf4c05
+8d7b858985890869b4974e7a8b964a058b8575898b920881c67d8b84480513c7f960
+8b84788c8b910894f7254ec2058497908e8d910813c7f9a083a57da280a208874906
+bb618d6f916a083e821513c3f960a3fb03068b7e748b8b980813c3fd206bf70315a2
+31068b82758c8b9308f7eff74315f797fb6ff765fba0fba0fb6efb65fb97fb97f76e
+fb66f7a0f7a0f76ff766f7971efde6be15888b868c888b08656e6d651f13a3f92065
+a86db1b1a9a9b11e8ba67ba37496816d83708b8b88808989858b868b888f8b908b8f
+8b8e8e9508f781c5157ab061fb039c8b058baa9ca7a49a08937915787f7f778b7308
+c30697ce15848b848a85899b6894768b8b917e8c898b87081393f920868789781e54
+06936ea676aa8b08b1a8a9b1b16ea8651ffb41f70c157974077c8b8788878108138b
+f9208677f72c8b919c051387f92071907f8e8a8f0890da07139bf9207a7707847a05
+94779479927b948e948d958b08bbb1645b5b65635b1f628b67aa83b2087806768b86
+8c80968b8b6ab24dcc898489858984aa7ea16b8b68085b63645b5b65b2bbbbb1b2bb
+1e908b918a908a08a3d60593a4948fa38b086a4615f5fb08b6f708051383fb20f7cc
+ffffac4ccd15fffffeb33307878786878887ffffffe6688b8bff0000199affffffe6
+648b08ff0003999cff00043333ff00041998ff00048000ff00048000ff0004800008
+8b04ff00023334ff00023334ff00024cccff00023334ff00028000ff00024ccc088b
+cb848d050ef829ff000a4ccd9cff00251999ff0010199aa99aa8ff00116666ff00c2
+e666ff00078000ff0029e668ff000e3332ff00800002ff000e9998ff00369998ff00
+39199cff0023e6649c12ff0010e6669cff006acccdff00809999ffffc1199aff0043
+333499ff00113332fffff06668ff0006e666ff0011199aff00088000ff0010b332ff
+0003999affffff4cccff004bb334ffffb94cccff00114cceff0014199a9cff002680
+00ff000cb332fffffa999aff00113334ff0016ccccd046ff00113334ff00deb3349c
+13ffca41ff0130999aff008a666615f9370aff00faccccff004acccd1513ffc205f9
+380a13ffc203f9390a13ffc205bf06fb40ff00114ccd1513ffc229ff00003334ffff
+94999a9c8b8bff00499999ff002e6666ffffb66667ff0010999a8bffffffe666ff00
+6b80007affffffcccdffffffe666ffffb4ccccffffd18000ff004b333405ffff8f80
+00ffffe480001513ffca41f93a0a13ffd201ffffaee666ff001b4ccc158b7bff002d
+999aff0000199affffd0999affffb3999affffffe666fffff14ccdff0045199a8b8b
+ff0010199a5b8bbbd8ff0000199aff000dcccd05ff01b26664ff0225800015ff0003
+199c8b90fffffe6668ff0003ccccfffffc8000ff0003ccccfffffc8000ff0002b334
+fffffb3334ffffffe668fffff89998088bffffffe6688bfffd711998058bfffffccc
+ccfffffde664fffffb3334fffffc6668fffffc4cccfffffc6664fffffc4ccefffffb
+666889fffffdcccc8b08fffd6e999cffffffb3330587ff00000001fffffa999aff00
+01b333fffffc4cccff0002cccdfffffc4cceff0002cccdfffffdccccff00034ccc8b
+ff0005199a08ff02926668078b90ff0001b334ff0004e6648eff000366688eff0003
+6664ff00046666ff00028000ff0007cccc8b08ff028e4cccff0011333415f93b0aff
+ff0eb334fffee4e66815fffff29998fffff5199afffff5199afffff2999afffff299
+9afffff5199aff000ae666ff000d6668ff000d6666ff000ae666ff000ae666ff000d
+6666ff000d6666ff000ae666fffff5199afffff2999a1effff866668ff0091999815
+f93c0affff9dccccfb7615ff0004e666ff0017ccceff0003b334ff00156666a4ff00
+1c8000ffffffccccffffffb334ffffffb334ffffffccccffffffccccffffffb33408
+13ffe291fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00093332
+08ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff000a4cd0
+08ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b8000ff
+ffea3334ff000de666ffffe5999aff00108000ffffe8999afffff03334fffff6cccc
+ff00118000fffff4999aff00093332ffffec4cceff0019e66688ff000c6668fffffe
+b332ff00068000ff0003b334ff00096666ff0001333208ff002ce666ffffc9800005
+ff000219987dfffffacccefffffe4ccefffffb199afffffdcccc08ffffe1b334ff00
+243334ff000a9998ffffca999afffff1199a8bff00098000ffffc78000058bfffffa
+9998ffffedb334fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cce
+ff0000199afffffa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b90
+08ff00073334ff007eccccffffcb9998ff00304ccc0585ff000ab334ff00046668ff
+00034cccff00019998ff00054cce0813ffe311fffff8999aa1fffff38000ff001366
+66fffff6199aff0014b33408fffffc66668bff00004cce5105b5ffffdbb332ff0001
+8000ffffe6ccceff00058000ffffe3666608ffffbd4cccfffff933321513ffc281ff
+00144cccffff9eb334068bfffff43334ffffec6668ff000066668bff000b666608ff
+ffe33332ff00614ccc15ff00144cceffffb0199a068bfffff8199affffec6666ff00
+01199a8bff0006cccc08ff0145b332ff009e666615ff0084199cffff94ccccff006b
+4cccffff7be6681e13ffe201ffff7be666ffff94cccdffff94b334ffff7be664ffff
+7be668ff006b3333ffff94ccccff0084199aff00841998ff006b3334ff006b3334ff
+008419981ffffead4cceff0002b33415f93d0aff0004ccccff00054ccc1513ffc601
+f93e0a0ef829ff000a4ccdff0011199aff0024ffffff0010199aa99aa8ff00116666
+ff00c2e666ff00073334ff00b86668ff000e9998ff00369998ff0039199cff0023e6
+649c12ff0010e6669cff006acccdff00809999ff00124cceff00113332fffff06668
+ff0006e666ff0011199aff00081998ff0011199aff0003999aff00044cccff00114c
+ceff0014199a9cff00268000ff000cb332fffffa999aff00113334ff000fb332ff00
+8be666ffff7b3334d046ff00113334ff00deb3349c13ffef04ff0130999aff008a66
+6615f9370aff00faccccff004acccd1513ffcf14f9380a13ffcf0cf9390a13ffcf14
+bf06fb40ff00114ccd15ff00003334ffff94999a9c8b8bff00499999ff002e6666ff
+ffb666670513ffcf44ff0010999a8bffffffe666ff006b80007affffffcccdffffff
+e666ffffb4ccccffffd18000ff004b333405ffff8f8000ffffe480001513ffef04f9
+3a0aff01a49998ff0251b33015f93b0afffe95199cffff76800015f93c0a13ffcf24
+ff01121998fb2f158bff0019999a87ff0018cccefffff88000ff0017333408ff0076
+999cff007680008bfffdaf9998058bfffffcccccfffffde664fffffb3334fffffc66
+68fffffc4cccfffffc6664fffffc4ccefffffb666889fffffdcccc8b08fffdad999c
+ffffffcccdff00803334ff0080199aff0007e6668bffffd0999affffb3999affffff
+e666fffff14ccdff0045199a8b8bff0010199a5b8bbbd8ff0000199aff000dcccdff
+fff24ccc8bff002e4cccff002e4ccd05ff00173334fffff88000ff0018cccc87ff00
+19b3348b08ff00841998ff006b3334ff006b199aff008419981ffffe63199afbb515
+8bffffff1999ff0014b334ff0000199affff7fe666ffff7fe666ffffeab3338b05ff
+00a56666f72415ffffea66668bff0039199aff003933340590fffffdb33390fffffd
+cccdff000533328908ff01a5e668ff01f07ffe15ffff75e664ffff75b33405fffffd
+4cd08ffffffd3330ff0003e66888ff0003cccc08ff0080e668ff0080ccccff000a19
+988b058d8bff0002ccd0ffffff4cccff0002ccccfffffe800008ff00088000fffff7
+999c15ff00016664fffffd4cccff0000ccd0fffffc99988bfffffbe668088bffffff
+e6688bfffffa3330ffff788000ffff784cd005fffffde664ff0003e664fffffdcccc
+ff0003e668fffffdb334ff0003cccc08ff008e199cff0054999815fffffd8000ffff
+fd4cd0ffffffe664ffffffccccffff878000ffff87b33405fffffde668ff00054ccc
+fffffdccccff00054cccfffffd9998ff0005199808ff0081ccd0f71605fffd664ccc
+fffd76333415fffff8333306fffffd8000ff0000000188ff0000b333fffffd199aff
+0001333308ff00d33333ff00d3b33305ff0003ccccfffffdb334ff0003e666fffffd
+b333ff0003e666fffffde66608ffff180001ffff3acccd15ffffff199aff0001b333
+ffffff8000ff0001e6678bff00026666088bff000e3333ff00c76666ff00c7333305
+ff00040001fffffce667ff0003e66688ff00043333fffffd333308ffff2c8000ffff
+52999a158bff0013199af748ff00b3e66705ff00034ccdfffffce666ff00034ccd88
+ff000366668808fb52ffff66199a15ff024f4cd0078b90ff0001b334ff0004e6648e
+ff000366688eff00036664ff00046666ff00028000ff0007cccc8b08ff024eccccff
+00003334ffff9b199cffff9b199c05ffffd53332ff00283330ffffc66666ff001899
+9cffffc0b3348bffff7be6668bffff94cccdffff94b3348bffff7be6648bffffc0b3
+34ff0018999affffc68000ff00283333ffffd5333408ff01db8000ff01b7199815ff
+ff888000ffff8880000588ff00038000fffffce668ff00034cccfffffcccccff0003
+4cd008f701f701ffffff8000ff0000666405ffff284cccfffeddb33415ff0015b334
+ff0015b33405fffffee666fffff48000fffff6e66682fffff48000fffffecccc08ff
+fff1e666ff0002cccc15fffffbb334ff00026668fffffc6666ff0003b332fffffdcc
+ccff0004666608ff0020b334ff0020999a05ff00046666fffffdccceff0003999aff
+fffc8000ff00026666fffffbb33208ffffe6e666ff000c666615ffffebb334ffffeb
+999a05ff0001999aff000a8000ff00083332ff00084cceff000a8000ff0001999808
+ffff61ccceffffe1333415ffffffccccffffffb334ffffffb334ffffffccccffffff
+ccccffffffb334fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00
+09333208ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff00
+0a4cd008ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b
+8000ffffea3334ff0008199afffff0999aff00091998fffff1b334ff0002e668ffff
+f4cccc08ffffe93332ffffe9333405fffffde666ff0006b332ff000333348eff0001
+4cccff00044ccefffff8999aa1fffff38000ff00136666fffff6199aff0014b33408
+fffffc66668bff00004cce5105ff000a3332fffff73332ff0007cccefffff7ccceff
+00061998fffff84ccc08ffffbf199a4affffcd199aff00004ccc05ff0004e666ff00
+17ccceff0003b334ff00156666a4ff001c8000088b04f93d0aff0004ccccff00054c
+cc1513ffdf04f93e0aff0092b334ffffdc333415ff00024cccffffff6666ff00024c
+ceffffff999aff00029998ffffffb334ff0003999affffff9998ff000333348bff00
+02ccccff00004cce08ffffe73334ffffe73332ff0000199aff0000b334fffff6cccc
+ff0008800005ff0005199aa115fffff2199afffff2199afffff54cccff0009e666ff
+000ce666ff000ce66605ff0003999afffffcb334ff0003ccccfffffce666ff00044c
+cefffffd800008ffffeb999aff0011199a157e7efffff5e666ff00094cccff000cb3
+32ff000c999a05ff0003b334fffffd4cccff00036666fffffce668ff00034cceffff
+fce66608ff00566666ffffd5b33215ff001a66666b05ff000219987dfffffaccceff
+fffe4ccefffffb199afffffdcccc08ffffe1b334ff00243334ff000a9998ffffca99
+9afffff1199a8b0513ffcfa4ff00098000ffffc78000058bfffffa9998ffffedb334
+fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cceff0000199affff
+fa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b9008ff0003ccccff
+0042cccc05ff0039b334ff004a999a15ffffc74cccffffc76666ff00014cceff0017
+4cccff002d4cccff002d666805ffffacb334ffffe0b33215fffff23332fffff23334
+ffffeb6668ff00003332ff001e6666ff001e4cce05ff0001b332fffffa6666ff0001
+3334fffffa8000ff0001199afffffa666608fffff76666ff001d199a15ffffd56666
+ffffd56666ffffecccceff0000199aff00371998c205ff0002b334fffffbb334ff00
+023334fffffbe666ff0001ccccfffffbe66608ffffce4cccffffce4ccc15fffffa33
+34fffffa3334ffffffe666ff0005cccc05ff00146666ffff9eccce15fffff74cceff
+fff7333205fffffaccccffffff999afffffa4cce8e8bff0006199a088bff00023334
+ff00139998ff0013b332059c04ffffec4cceffffec3334ffffffccccff0012199aff
+0013e666ff0013e666059c0477ffffebe666ffffffe668ff0014b334ff00141998ff
+0014333205ffffde4cceff0002666615ff0005999afffff26668067777ffffffcccc
+ff0013199805ff00143334ffffca333415fffff46666078bfffffa4ccefffff5e666
+8afffffa4cccff0002666608ff000fccceff0020cccc15ffffec6666ffffec4cceff
+ffffccccff0014b332ff0013ccceff0013e666050ef829fb70a1fa1aa101a7a1fa18
+a103f7fcf7ed15888b888c878b08626a6a6262ac6ab4b4acacb41f8ba979a4729781
+6b84758b8b8577878a858b868b888f8b908b8e8c8f8e9608f7697a158bae9ea9a79c
+0878b45cfb0f05d5ca15767e7e748b7008ca8a0596d615838b848a84899b67996d8b
+8b90808c898b898a82888a718b8b8b6c8c728b936ba974ad8b08b4acacb4b46aac62
+1ffb51f717158a7805748b808a848685868882867a08f73a8c929d056d917f8d8b90
+8b8c8c8d8c8d08de8b8c79758a84790595749478937a958e948d968b08bfb6605757
+6060571f5d8b65ac82b6087406738b838d79a08b8b63bb57c2898488838984ad7ca3
+6a8b6408576060575760b6bfbfb6b6bf1e918b918a908a089dc60594a79199939292
+91958bb18b08f7f1fb2815f740fb1ff71ffb40fb40fb1ffb1ffb40fb40f71ffb1ff7
+40f740f71ff71ff7401ef706f81f15fde6066f7776711ffdec0772a279a31ef9ea8c
+05a1a0a0a21ff9e807a776a0721e750498967f7c1ffdd6078a6d86817c8b08fdea8a
+05807d94971ff9ec079a94959c1ef87efbc0155bfb14fb09f71405fb65fc69158106
+848085871f94828d8b058d8e8d8d1e99068e8d89891f837507748b8f639d8b089d06
+8d8b8d8c8c8e08879abd07958092801e7f6415f93f0af796b1158106848086871f94
+828d8b058d8e8d8d1e99068e8d88891f847507748b8f639d8b089d068d8b8d8c8c8e
+08879abd07958091801e7f6515f93f0af7cdb2158106848085871f94828d8b058d8e
+8d8d1e99068e8d89891f837507748b8f639d8b089d068d8b8e8c8c8e088799bd0795
+8092801e8064159d81068a898988898b087e06848b8b9a928b08f739821582847b8a
+879b08b498068e0781b35e758b7c0870079869af9f909008fb10811599d2068b97b1
+88797908827d96068d8d89891f7207888888891e827e99068e95948e1faf078e868f
+8a8c90918d1e9b078b9d578c8b7808fb78511582830590858f85968a908a908c8f8b
+978c92908e948c8e8b908a8e88938692848b087a0689888d8e8f8f8f911f938b9186
+8f89089495058492828f808a7d8a838689858a888c888b880886078c839088928992
+8a928a928b908b8a81878a08878a05868a838b8a8c878e878d878d08dacb157c7884
+7f9263068b8594848e8a0897998406898b8c8c1fb194978107fcab48159a8c8bb1b1
+8b8b9a658b8ba4b88b8b984f8b05f8e47315868b8589868708907c499ab607919492
+8f938408959705898e858e848b08fc5da315309ab6078c91918f918b918b90878c83
+086298be078a9580907f8b858b8789878908a807e27215868b8489868708907c4a9a
+b5078f918f8f908b8e8b8d898e8908959805898e868d848b08c116868b8589868708
+907c4a9ab5078f918f8f908b8e8b8d8a8e8808959805898e858d848b08f714a5156a
+078d8591861e8206828082821f6a07839881911e94068f948f8e1f8697e707634415
+a1078e91918e1e9206909083881f7a07878485871e830688878f8e1ff8269e157206
+8a97a2938e77080ef829fffffd4ccd98ff00433333ff000a8000ff000a6666ff000a
+4cccfffffe4cceff000b4ccdfffffc9999ff000d999aff00093333ff000a6667ff00
+2eccccff0079e666ff00103334ff002a199aff0041800077ff0018999aff000f8000
+ff000c199877ff001ce66876ff002c4cccff001c3334f71077ff00646664ff000d19
+9c12ff0003cccdff000d3333bfff000b8000ff003d3333ff0031999affffd58000ff
+000b4ccdff000ce666ff000b999aff00136666ff000a199afffff96666ff00314ccc
+ffffe26667ff000b6667ff001eccccff000b6666fffffd199aff000f4cceff002ccc
+ccff000b4cccff000bb33495ff0014ccccff000a199aff0044199aff00126666ffff
+ed999aff000b4cccff00136668ff000b6664fffffb3334ff002eb334ff000f9998ff
+000b4cd0fffff54cccff00321998ffffe76668ff000ab334ff00093330ff0014999c
+fffff5e664ff000a199cff000d3334ff000b333017ff0013ccd0ff000b3330ff0033
+ccd0ff000e333013e78fc07007ff028cb334ff02d8e66815ffff8d9998ffff8d9998
+05ffffd5e668ff0024b33454ff00164cccffffc3cccc8bffff7be6668bffff94cccd
+ffff94cccc8bffff7be6688bffffc3ccccff00164ccd54ff0024b333ffffd5e66608
+ffff7f3334ffff7f199afffffd33338b8bfffffd4ccdffffd38000ffffd38000ff00
+088000fffff78000afafffffffe666ffffece666ffffd4199a5fff00086666fffff7
+999aff00238000ff002366668bfffff0e666ff00068000ff00003334ffffd4b334ff
+ffd4999aff00088000fffff78000ff0059199aff00594ccc05ff00004ccd068bff00
+001999ff00001999ff000033338bff0000199a08ff00024ccdff00024ccd05ff0000
+999aff00004ccdff00008000ff00003333ff000066668b08ff000ab333ffffffe666
+05ff0001e666ff00000001ff00018000fffffee666ff00008000fffffeb33308ffff
+f94cccfffff94cccfffff54ccd8b05fffff47ffffffffffffffffffd199afffff333
+33ff00033333fffff6cccd08ffffc13334ffffc1199aff00088000fffff78000ff00
+3e8000ff003eb33305ff0000b332ffffffcccdff0000cccdffffffe666ff0000cccd
+8b08ff000de6660613e78fb87047ff0001999affffffffffff00023333ff00016667
+ff0000999aff0002199908fffffc8000ff0000800007ffffcc8000ffffcc8000ff00
+086666fffff78000ff0042cccdff0042cccd8bfffff96666ff000b999a8b8bff0012
+199aff00123333ff0012333305ff0000b334fffffeccccff00006666fffffe6666ff
+0000199afffffe333408ffffe04ccdff000a199aff0027800007ffffff99998dffff
+ff199aff0001cccdfffffe9999ff0001999a08ff0056e666ff0056cccd05ff0019cc
+cefffff68000ff001bccccfffffaccccff001d199a8bff008419988bff006b3334ff
+006b33348bff0084199a8ba8fffffae668ff001bccccfffff68000ff0019b33408ff
+007eb334ff007eb334ff00001998ff00001998ff00001998ff00001998ff0005199c
+ff00058000fffff73334ff0008199c86fffffab334ffffffe664ffffffccccfb0fff
+ff85333405fffffdccccff00053330fffffd999c90fffffd66649008f729ff009519
+9cfffff78000ff00089998ffff6d8000ffff6d333405fffffdccd0ff0003ccccffff
+fd8000ff0003ccccfffffd9998ff0003b33408ff00906668ff0090999cfffff79998
+ff00088000fb23ffff70cccc05fffffd1998ff0003e664fffffd3334ff0003b334ff
+fffce668ff0003b33408ff00863334ff00863334fffff78000ff00088000ffff7a4c
+ccffff7a666405fffffce664ff00036668fffffcccd0ff00033334fffffcb330ff00
+03333408ff0072199cf70605fffeddccccfffd8de66415ff0010999a07ff0002b334
+ff00048000ff0003e666ff0002199a1eff0005666606ff0004199a8bff00038000ff
+fffa6666ffffffe666fffffdb33408fffff2999a07fffffcccccfffffab334fffffb
+3333fffffd4ccc1efffff9e6660689fffffffffffffffc999aff0003b3338bff0002
+666708ff0014999aff0036199915ff00003332ffffe6e66705ff00014ccefffffb33
+34ff00048000871efffff9666606fffff93334fffff76666fffff99999841fffffe6
+800007fffffa199995fffff7cccdff0004b3341eff0006cccc06ff00036666ff0000
+199b91ff000366678bff0002666608fffffb800095ff0046e6660713cf8f817007ff
+ff938000ffffec199a15fffffbe6668bfffffb6668fffffecccdfffffc1998fffffc
+cccd08ff0004199afffff4800007ff0000199affffcd6666ff000b66668b8bff0020
+b33405ff00043334ff0006b334ff0005b334ff00036666ff00066666fffffa800008
+ff0007b332ff0009999a05fffffeb334ff0002199afffffb4cccff0001e666fffffa
+999a8b08ffffd5cccd1613cf8f827007fffffbe6668bfffffb6666fffffecccdffff
+fc199afffffccccd08ff0004199afffff49999ffffcd6666ff000b6667ff0020b334
+07ff00043333ff0006b334ff0005b333ff00036666ff00066666fffffa800008ff00
+07ccceff0009999a05fffffeb332ff0002199afffffb3334ff0001e666fffffa9999
+8b08ff01118000ff000080001513c78f807207fffffbe6648bfffffb6668fffffecc
+cdfffffc1998fffffccccd08ff00043334fffff4800207ff0000199affffcd6666ff
+000b66648b8bff0020b33405ff00043334ff0006b334ff0005b334ff00036666ff00
+066668fffffa800008ff0007b330ff0009999a05fffffeb334ff0002199bfffffb4c
+ccff0001cccdfffffa999c8b08ffffd48000ff000e199a1513c78f807407fffff4cc
+cc0613c78f807807fffff18000fffffab33407ffffffe66682ff000566668b0513c7
+8f8074076c078bfffffb3335ff0006999a86ff00026666ffffff66660813c78f8078
+07ff00096666ffffffe6668bff000a4ccd86ff000033330513c78f807407fffffe99
+9affffffccceffffff999aff0000b334ffffffb332ff0000e66608ff001d800092ff
+0009333307fffff8ccceff0000199a05ffffc3e666ffffdd199a15fffff93334ffff
+f9cccc05ff0003b332fffffb7fffff00034cce87ff000866668aff0003999affffff
+999aff00036666ff00001999ff00036666ff00004ccd94ff00006667ff0005e666ff
+00046666ff00023334ff0006cccdff0000b332ff00029999ffffffccceff0002b334
+ffffff999aff00029999fffffde666ff00063333fffffae666ff0003e667fffffb19
+9aff00016666087eff0000199a0513d78f807007fffffcccccffffffb334fffffd4c
+ceff00073333ff0005e666ff0002199aff00028000ff00009999ff0002999affffff
+e667ff00029998ffffff8000ff00048000fffffee666ff0002cccefffffe8000ff00
+028000fffffe80000892ff0007cccd05fffffbcccc9085ff00018000fffff9999aff
+0001199afffffce666ff00006666fffffd8000ff0000199afffffd6666ffffffb333
+fffff6cccefffffe3333fffffcb332fffffc4ccdfffffe3334fffffbcccdffffff33
+34fffffc3333ff00008000fffffc6666ff00003332fffffc4ccdff0001199afffffa
+3333ff00044cccfffffd6667ff00053334fffffe8000ff00053334ffffff3333ff00
+051998ffffff6666ff000533348b088fffffffb333ffffff199afffff94ccd888a08
+fffffce6668a05fffffc8000ffffff1999fffff9e666ff00003333fffffee666ff00
+00999afffffd199aff0002199988ff00018000fffffd199aff0001b3330813c78f80
+702fff00aeb334ffffefb33415ff000ab334ff0000199aff00001998ff0036999a05
+8bff00090001ff001d8000fffffe4ccdfffff1ccccfffff1cccc08fffff8ccccffff
+ffe6668bfffff5b333ff00088000ff0000199a05ff00013334ff00000002ff000180
+00fffffdcccc8bfffffe800008ff00004cccffffed333305fffffdb335fffffde668
+fffffdb333fffffe99981e13c78f80703784fffff5999aff000a4cd006ff00024ccc
+ff0000000293928bff0002800008ff00001998ff001be66605ff00024ccd87ff0003
+19998a8c8fff0004999aff000166661eff000c3334078b99ffffd7b334ff00013333
+8bfffff1199908ff00561998ffffd166671513e78f807007fffff93334fffffa6667
+fffff36668ffffff199a88ff000c999908ff001fcccc8bff00003334ff000a3333ff
+ffffe6648b6cff0000199a05ffffff8000ff00097fffff0011ccd0ff00056667ff00
+0280007c08ff000b33308bffffffe668ff0002333405fffff84cccff001e999affff
+dd999cffffef4ccd8bfffff4cccd08ff00001998ffffeab33305ff000a3334ffffe5
+9999ff001b3334ff000fcccdff0003ccccff0003999908ffff784cccff000e333415
+13c78f807087ff000e9998fffff84ccc06ffffff6668fffffe4cccfffffdccccffff
+fe3333fffffe80008b08fffff5b33406fffffa3334ffffffffffff00008000ff000b
+3333ff00054ccc8b08ff00091998ff001db33415fffffd80008bfffffcccd0ffffff
+e666fffffd80008b08fffffa9998fffff83334fffffbcccdfffffce6661fff0006b3
+3484ff000199988b05ff00016666ff00029998ff0001ccccff000133341eff000ab3
+34ffffffe66605ff00024cccff0000199aff0001ccccfffffe33348bfffffe666608
+13e78f807087fffffa3333ffffee666807ffffee1998ffffffffff8e6cff000e3334
+8b08ff000de66806ff00019998ffffffffffff00023334ff00016667ff00009998ff
+0002199908fffffc8000ff000b4cd0ff0026e66607ff00074ccefffff76664ff0005
+3334fffff7cccc1effff0f4cceffffe2199915ff000e999afffff84ccd06ffffff66
+66fffffe4ccdfffffdcccefffffe3333fffffe80008b08fffff5b33206fffffa3334
+8bff00008000ff000b3333ff00054ccc8b08ff0009199aff001db33315fffff7cccc
+06fffffa999afffff83334fffffbcccdfffffce6671fff0006b332fffff8e666ff00
+01999a8b05ff00016666ff0002999aff0001cccdff000133341eff000ab332ffffff
+e66605ff00024cceff0000199bff0001ccccfffffe4ccd8bfffffe666608fffffa19
+9affffee666607ffffee199a8b8e6cff000e33348b08ff000de66606ff0001999a8b
+ff00023332ff00016666ff0000999aff0002199a08fffffc8000ff000b4cccff0026
+e66607ff00074ccdfffff76668ff00053333fffff7cccc1eff0012ccccff01a30002
+15ffffff999afffff14ccc05ffffd9199aff00001998ff0004e666ff0001e668ffff
+f76666ffffe1cccc08ff0078ccceff00003334ffffefe6667bffff94b334ffffffcc
+ccff00334cccffffc83334fffff46666fffff466660513c7afc4f007fffff4999aff
+000d199afffff0e666ff0010b332ffffebb334ff00156666fffffe199a85fffffe33
+32fffffa8000fffffe4ccefffffaccceff00139998fffff7999aff000f3334ffffef
+6666ff00066666ffffeb800008fffff28000fffff2800005fffffd3334ff00136666
+fffff36666ff00103334ffffeeccccff0007e666ffffed800050ff0001b334ff0001
+3332fffff8999affffff4ccefffffbe666ff00004cccfffffcb334ff00033334ff00
+0019988f0813c7cfc4f007ff0000199aff0004ccccfffffde667fffff98000ff0012
+3333ff00394ccefffffd4cccff00006666fffffd199aff00003332fffffd199a8bff
+ffe066668bffffe6999affffe6999a8bffffe066668bffffe34cceff0015199affff
+e84cccff001b999a8708fffff29999fffff2800005ffffe24cceff00094cceffffea
+3333ff001be6668bff0020b3328bff00284cceff0020e666ff0020e666ff00284ccd
+8bff0004999a8bff00048000ffffff8000ff00044cccffffff333408ff0000199807
+ff001cccceff005cb33482fffff9e668ff00359998ff0000800008ff0164ccccff00
+bde66415fffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0fffff9
+cccc84fffff9cccd84fffffd4ccdfffff719988bfffff7666808fffd6d9998078bff
+fff54cccff0005999afffff7333492fffffab33392fffffab333ff00084cccfffffd
+6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00063333
+91ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c05ff00
+00199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00066664
+fffff7999cff00033334fffff7e6648b08fffd69b334ff000ce66815ff029b800006
+ff00114ccca6ffffe69998ffffeccccc1ffffd68e66807ffffee6666ffffe5e668ff
+ffe3e667ffffeb33341efffd69b33406ffffef199aff00000001ffffe44ccdff0019
+66668bff000c999908ff02a0666807ff00000001ff00131998ff0016b333ff0017e6
+68ff00134ccc8b0813c78fb07007ff007f3334fffd76b33415fffff3199a7e8bff00
+156666ff000ce6669805ff00110001047bffffefe6660588ff00033332fffffb199a
+8dfffffb1999ff0000333408ff0069199aff00694ccc05ff0003b334fffffd999aff
+0003b334fffffd999aff0003ccccfffffdcccc08ffffb08000ffffb06667838b059a
+ffffe0999a15fffffe199a8905ff00009999ff0000cccdff00008000ff0000999aff
+0000cccdff000099990813cf8f907007ff000c199aff000c199a15fffffd6666ff00
+004ccdfffffd4ccdffffffe666fffffd6666ffffff8000fffffd4ccdffffff8000ff
+fffd4ccd8afffffdcccdfffffe999a088bff00091999ff0056e666e205ff0004cccc
+fffffd8000ff0004e668fffffdb33490fffffdcccc08ffff324cccffff914ccd1513
+d78f807007ff00034ccdff00034ccdff001566668bffffe74ccdffffe7333305ff00
+0e999aff0024199915ff00134ccdff00134ccdff0000b3338b8bff0000b333ff0070
+6666ff00704ccd05ff0003cccdfffffccccc8f888f8808ffff7eccccffff7e80008b
+ff0006666605ffffe26668ff00024cce15ffffffe666ff0011199aff0011199affff
+ffe66705ff000a8000ff000a999915ffffece666ffffffe667ff0077e666f70c05ff
+0003199afffffcccccff00034ccdfffffcccceff00034ccdfffffce6660813c78fa0
+7007ffffba4ccdffff5fe66615fffff9333307ffffff6667fffffe4cccfffffdcccd
+fffffe3333fffffe80008b088506ff012e199aff01ac999815ff0000e666ff000299
+9c05ffffe34cccff0006666483ffffffe668ff0005b334ff0007cccc08ff002ecccc
+069c16ff000066688bff0000b332fffff19998fffff0199affffffb33405fffffdcc
+ccfffffdb33415fffffbcccefffff4800005ff00014cccfffffd3334ff00013334ff
+fffd3332ff00013332fffffd4cce08ffffd8b334ffffd8b332ff000b6666ff001eb3
+3405ff002cccceffffe3199a158dfffffb8000ff0001e666fffffbccccff0001cccc
+fffffc199a08fffffc3334fffffc4ccc05fffffc6666fffffe999afffffc999affff
+fe199afffffcccccfffffde66608fffffbe666ff00094ccc05ff000c6668ff000c66
+6815ff00003332ff0000333205ff0006e666ff00024cceff00076668ff00016666ff
+0007b332ff0000199a08ffffef8000ffffef666605ff00004cceffffff4cccff0000
+4cccffffff6666ff00004cccffffff4ccefffffe6668ffffff8000fffffe6666ffff
+ff6666fffffe8000ffffff666608fffff76666fffff74ccefffffe6666ff00034ccc
+05fffff68000fffff9b334fffff88000fffff6e666fffffbb334fffff5333208ffff
+ebb332ffffebb33405ff0000199aff0007b334ff00014cceff00076666ff00024ccc
+ff0006e66608ff0021ccccff0021ccccfffffd8000ff0005999a05ff0004999aff00
+02e66690ff00024cceff00053334ff0001cccc08fffffaccccff000b800015fffff3
+999afffff3999afffff9999aff000e199aff000c8000ff000c666605ff00023332ff
+fffb199aff0002199afffffb4ccc8dfffffb800008ff001c6666ffffc1199a1513c7
+8f807107ff0009ccceffffea3334ff0000999afffffe4cccff00001998fffffde666
+ffffff4ccefffff73334878cffffd94cccff0000800008ff000f8000ff000f8000ff
+000733348bfffffdcccc9005ff00073334ff0018199a15fffff38000fffff39998ff
+fff9199aff000f3334ff000c8000ff000c666605ff00029998fffffa4cceff00024c
+ce868dfffffb800008ffffd38000ffffd3999815fffffacccc06ff00006666fffffe
+999aff00004ccefffffeb334ff00008000fffffeb33208fffff3b332fffff3999a05
+fffffd999aff0005199afffffe199aff00058000fffffeccccff0005b33408ffffff
+b3348bff00004cccff00004ccc058aff0004b334ffffff8000ff0004cccc8b90088b
+ff0000ccccff00103334ffffffe6688bffffff8000ff00008000ff00008000a18b05
+ffffc9ccccfffff0b33215fffff7ccceffffffe666fffffab332ffffffcccefffffb
+ccceff0000e66608ff0016b332ff0016b33488fffff81998ff000d4cce8b05ffffd4
+4cccfffff7666815fffffd4cceff00028000fffffce666ff00039998fffffbe666ff
+0004b33408ff000c6666ff000c6666ff0009e666fffff54cce05ffffe1ccceff0007
+666615fffffd6666ff0003199afffffd199aff00038000fffffcb332ff0003cccc08
+ff000bccceff000bccccff000933328105ff00318000ff000be66815ffffe36668ff
+ffe36666ff000c3332ff0020cccca8a805ff0003999affffbaccce15ffffffcccc07
+8bfffffae666ff0000b334fffffb199aff00013332fffffb4cccfffffae6668bffff
+fa66688bfffffa1998ffffffe66808ff00004ccc07ff00476668ff0047800015ff00
+0eb332ff000eb33405ff0005cccefffffeccccff00059998fffffe3334ff00054ccc
+fffffd800008fffff3b334fffff3b33205fffffa199a8dfffff9b334ff0001199aff
+fff966668b08ffffcf999affffa8cccc1595ffffefe668ff0011e666fffff54cccff
+001480008bff001f99988bff00196668ff001966668bff001f999a8bff00148000ff
+fff54cccff0011ccccffffefe668ff000a199a08ff000b9998ff000b999a0513c78f
+807147ff0012e668fffff2ccccff000c8000758bffffe733348bffffd7b334ffffdf
+1998ffffdf1998ffffd7b3348bffffe733348b75ff000c8000fffff2ccccff0012e6
+6808ffff8be666ff001fe66615ff00106666ff0010666605ff00004ccefffffd8000
+ff0000199afffffd66668bfffffd66668bfffffbe668ffffffb332fffffbe666ffff
+ff4ccefffffc199a08ffffc3e666ffffc3e66605fffffc199affffff4cccfffffbe6
+66ffffffb334fffffbe6668b0813c78f847007fffffd66668bfffffd6666ff000019
+9afffffd8000ff00004ccc08ff00106668ff0010666605ff00189998ff0003b334ff
+00136668ff00136666ff0003b332ff0018999a0813c7cf80f007ffffd0199aff0041
+199a15ff00018000ff0004b332ff0001999aff0005199aff0001ccccff0005b334ff
+00054cce8aff00051998fffffe8000ff0004e668fffffde666fffffe3332fffffa66
+66fffffe6666fffffae666fffffe8000fffffb333408fffffb3334ff00023332ffff
+fae666ff0001999afffffa999aff0000ccce08ff001f6666ffff8a4ccc15ff001566
+66ff0015666605fffffa6668fffff78000fffff8b332fffff8b334fffff78000ffff
+fa6666080ef86ff95ff73c15fbde8bc0b25c8c4854cb52b98c5ab5f7de8b05fce0f8
+5715f9400af9c4a315fdc4067275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8
+d407a879a36e1efcbbfb5515f9410af7989515f9420aa84b15f9430ab69715f9440a
+fb60f7211571066f8a7f89826d08703305858c848b858b08535d5d5353b95dc3c3ba
+b9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e918aa38b08a106955db467
+bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081a208929fa38b8ba02e8b8b
+84058c879988aa85088477fb488b92a2058f97908e9c8c08a6064a4e15f9450afb6d
+fbd515f7de8b5664ba8acec24bc45d8abc61fbde8b050ef86ff93a88158bf735bd55
+8bb04ace484b8b67c0bd89fb3505fb6cf75c156b8a8dfb3457bd8b67cd4bcccd8bb1
+595505fbc3f8be15f9400af9c4a315f9460afcbbfb5515f9410af7989515f9420aa8
+4b15f9430ab69715f9440afb60f7211571066f8a7f89826d08703305858c848b858b
+08535d5d5353b95dc3c3bab9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e
+918aa38b08a106955db467bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081
+a208929fa38b8ba02e8b8b84058c879988aa85088477fb488b92a205ff0003b334ff
+000c1998ff00054cccff0002e6689c8c08a6064a4e15f9450a0ef86f47a3be9ea49c
+a59ba19ebca1c8a0d9a1b2a19ea08a9fcda312dba3f742a2e8bf64a0ad9fbda0b69f
+80a2969ff712a1f733a313ff9ccef913f716159fa07706fb23049ff17706356115ff
+000e199aff00091998ff0009e666ff000ce6681e13ff9ceeff000c6668ff00089998
+fffff5999afffff266661f9f7a159c07ff00184ccdffffee6668ff0012b333ffffe8
+99986f7cffffeb8000ffffdf8000ffffddb333ff00111998ffffef4ccdff001ce668
+1eff000f66688bff000cb330ff00068000ff0007e668ff00098000087d9805858482
+88838b08fffff11998fffff6e668ff00098000ff000f80001f3060159fc8068b928d
+918f8e8f8e8f8d908b908b8e898f88089a9d058490858e848b808b83878583088a96
+770613ff9dce542515a0e10613ff9ece9d9b0613ff9dce799806918e8e911ea09e74
+06ffffeee666fffff5199afffff5b333ffffee4ccd1f7e0713ff9ece7e7b0613ff9d
+ce9806fbacf88415f9400af9c4a315f9460afcbbfb7d15f9410af7989515f9420aa8
+4b15f9430ab69715b7af685f5f67675f1f13ff9cde668b6ca482ad08cc06a28f8d91
+1f8b8f8a8d849b8b8b80a478b5928d938c938b0813ffbddefb60f7211571066f8a7f
+89826d08703305858c848b858b08535d5d5353b95dc3c3bab9c31f8bb570af679b8e
+938e928d93d43fb25d8b8b987e918aa38b08a106955db467bc8b08c3b9bac3c35db9
+531f808b7f8a8187829e82a081a20813ffddde929fa38b8ba02e8b8b84058c879988
+aa85088477fb488b92a20513ffbddeff0003b334ff000c199aff00054cccff0002e6
+669c8c08a6064a4e15f9450a0ef84af893f95815f9360afbfbfc2015f963fb2afd63
+060ebdcaf9d9158b748b7c8b7a8b7c9d8bb18b8b9a658b8b9cb18b8b9a658b8ba2b1
+8b8b9a05658b798b05db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b8bfb66fb468b
+8b73f7468b8b93a28bf7698b8ba2fb698b8bf75f05f75297a27ff738a3fb38f83574
+97fb52f754f80da3fc0d06a8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050efb1681ae
+f8baae01b2e2f765e203f77cf8d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05f
+c5fffffc999aff00046668fffffc8000ff00046664fffffc199aff0004333408ff00
+1cccccd16c96ffffe83334ffffc6800005ffffe8cccc9cffffe34cccff000b8000ff
+ffdeb3348b288b2dfb0a8bfb5a8bffffa6999aff0017199affffaa8000ff0027cccc
+ffffc6999908ffffdc199affffa94ccdab7fff001c8000ff0045199aff0000199aff
+ffffe66605ff001c6668ffffe3999aff00224ccdfffff26666ff0026b3338b08e2ff
+01f3999a15ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b2f88
+4c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b333080efb
+bdb7de03b7ff0144b334158bffffd94ccc8fffff396666f764ffff65333495ff0001
+b33393918eff0006e6676aff0020b332fb09ff0076999a8bff00e233348bff00e233
+34f70aff00769998abaafffffc999aff0008ccccfffff9cccc91fffff4999aff0000
+b334fb0bffffa84ccc2effff7066688bfb34080efbbdf73fde03f792ff0144b33415
+8bff0026b33287ff00c6b332fb64ff009accd081fffffe4ccc838588fffff91998ac
+ffffdf4cccf709ffff894cd08bffff1dcccc8bffff1dccccfb0affff8966666b6cff
+00036666fffff73334ff0006333485ff000b6666ffffff4cccf70bff0057b334e8ff
+008f99998bff00a00001080efb8350ff0019cccdf963ff0019cccc01f700ce03f700
+5015f7680691ff000533348bff000f666685ff00053333fb1eff0009800084ff000c
+e6668bff004acccd08ff020d8000078bff004acccc93ff000ce668f71dff00089998
+91ff000533348bff000f666885ff0005333008fb68060efb83ffffc5e666ff0019cc
+cdff02cee664ff0019ccd001f749ce03f78cff02c8666815fb680685fffffacccc8b
+fffff0999891fffffaccccf71efffff6800092fffff333348bffffb5333408fffdf2
+8000078bffffb5333383fffff3199afb1dfffff7666785fffffacccc8bfffff0999a
+91fffffacccc08f768060efbd2ffffb4b333ff0014999aff016bccccff0014999aff
+016cb334ff0014999801f746ff0245b3341586ff00588000baff000eb334b1ff0009
+800091ff000533308bff000a333485ff00053334318b49ffffdd99988fffff9eccd0
+0891ffff61cccc058b6073ffffd18000418582fffff84ccc8c8593fffff9199aff00
+498000fffff84cccff001a8000ffffda333489ffffcb80000885ffff6dcccc0586ff
+ff903334c3ffffe39999f08b91ff000533338bff000a333485ff000533335f8bffff
+d78000ff002b1999ff00048000ff004833340893ff0080199a05ff00046666ff0046
+ccccffffd66667ff0021e666ffffbc3333ff00184cce08ff0003666607ff00433333
+ff0010999aff002a199aff0018ccccfffffbb333ff004c8000080efbd2ffffb3cccd
+ff0014999aff016cb334ff0014999aff016bccccff0014999801eaff0039199a1590
+ffffa780005cfffff14ccc65fffff6800085fffffaccce8bfffff5cccc91fffffacc
+cde58bcdff0022666787ff006133320885ff009e3334058bb6a3ff002e8000d59194
+ff0007b3328a9183ff0006e668ffffb68000ff0007b332ffffe58000ff0025e6668d
+ff003480000891ff009233340590ff006fcccc53ff001c4ccc268b85fffffaccd08b
+fffff5cccc91fffffaccccb78bff0028800060fffffb8000ffffb7cccc0883ffff7f
+ccce05fffffb999affffb93332ff00299999ffffde199aff0043cccdffffe7b33408
+fffffc999a07ffffbccccdffffef6666ffffd5e666ffffe74cccff00044ccdffffb3
+8000080efbc79376f8c6f501e6f503f7247e15930ac0f8fb15940a0efb347eacf858
+77edf512b9dec3f545accecf13f6f7d5d515ae0a13fa6df8a515af0a0e57f730f781
+159a0af748169a0a0e57f7c8f78115a70afb4816a70a0efb7cd5f76503f730f78115
+f8980a0efb7c9cf76503f724f78115f8990a0efb95f7afc701b3f79603f7a3f7af15
+2a0a0efbd7fb71aff9077701f707d603f705f7d115f71a0a0e3181aef8e2cb60c712
+b5e180b9f76fe11394f79ea415ffffb1199affffc4e666ff005c3333ff0070cccd1f
+8bf703ccbcbb9ff258b1518b2708fb0c54534e1e816815f703f0ff00536666ff0098
+999a1f8bf71944c7fb11cb0813acffffbdb333ff0021e668ffffd54ccdff002c1998
+8bae8b9e9aa0b28b0813ccb68bb376c18bc28bafa59bb18aff0003b33485ff00084c
+cc848b80827c876c8c0813ac5b8c6d9b5b8b378b4c518b448b5da057d461085f7205
+13b4355a64ffffd1199a8bffffa9e66608ffff858000daffff948000f71b1e0e7e89
+acf7fbb2f772a979ae12e5daf75bda13dcf853f70e15f7a0e70795998f941f9f078f
+888d861efb00c0068b9f8cb891ad99d4a594a18ba38ba07d947795769578a68b089f
+9a9a9fb45dac411f668b527569560813ec7ea35ead3b8b708b7184767f46636a448b
+fb0e085a0679867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ac
+8cff0023b3338cff00244ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d
+8f7e8f8bde08f7a0f75bfba0078b3880875f8785858b769185a88cff001fb3348cff
+00224ccc8bab8bb68ab68a91918ba0859108478f808f8bde0846f84e1582678affff
+d8b3348bffffec4ccc0863fb5b94078bcf93ae919ea0dbb8969a8bff0022b3348bff
+00129998ffffe7e668ff000ab334ffffe7199894779477a58bff000233348bff0002
+4cccff0000ccccff00018000ff00013334080e6889acf7fbb29877f786ad12e9daf7
+4ff441da13baf86af70e15f76707b28fcb8b1e8f858d871e13dc6d7f6e8a688b08fb
+59c406ff005e8000adff00538000cf1eff002a80008bff00228000809362ff0009b3
+34ffffce4cccff00154cccfffff0b334aa8b08a1a09fa0ff003e666836ff002f9998
+2e1fffffd233338bffffc8cccdffffedcccc62ffffd03334615a824e8b3d087c5a07
+79867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0023cc
+cd8cff002333338bae8bb88aac8a91918ba085914b8f818f8bde08f7a0f7470713ba
+aa9377581ffb59078b387f87548785858b769185ae8cff0023e6668cff0024199a8b
+ff0022cccc8bff002733348ab08a91918ba08591084e8f808f8bde080e5489acf7fb
+b2f77fad01e9daf75cda03f858f70e15f86107cc8cb38b1e92878e821efffff2b334
+83ffffe7999880ffffefb33487759a5d93688b08372442fb3a1f6d580779867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0024b3338cff0022
+4ccd8bff00244ccd8bff0024b3338aae8a91918ba0859153907e8e8bde08f7a0e807
+94998f941f9f078f888d861efb02ba06f72ecaadac1ea98baf7b986a917e95819787
+ffffffb334fffffab334ffffff4ccc808bfffff74ccc08fc4d078b38828659888585
+8b769185a98ca98cb28bb68bad8aab8a91918ba08591538f7d8f8bde080ef77e89ac
+f7fbb29877f77ba77bac12e5daf75cdaf746f048da13d600f810f8c915826789ffff
+da4ccc8bffffe9b3340863fb5e97078bcf90ac919ea0dbc1979a8ba48ba47b976893
+769479a58b088d8b8e8b8d8d0813a680f7acfc4f158b388286598885858b769185ab
+8cac8cad8bad8bb28aaf8a91918ba08591538f7d8f8bde08f77807a98dc68b1eff00
+01e6668aff0001199a881e13cf006d7f6d8a688b08fb56c406f72ecba4ac1eac8bff
+0028ccccfffff41998ff00073334ffffd4e66894559d72ab8ba08ba09d8ba08bb068
+b266a4729c6795668b498b516370680813d6807ea460ac3b8b708b6885767e466371
+448bfb0e08580679867f831f7e07868c8a8f1ecefba0068b388087558785858b7691
+85af8caf8cac8bff0021b3338bff00214ccd8aaa8a91918ba085915d8f7e8f8bde08
+f7a0f75cfba0078b3880875f8785858b769185a88cab8cad8bac8baf8aad8a91918b
+a08591548f828f8bde08f7a0f74c07a58d80631f0ef77089acf7fbb2f76dae7aad12
+e5daf75cdaf75cda140e13eef810f8c615836789668a770863fb5c94078bcf8eae91
+9e9bc7aba5aa8bb38ba86e9671917d957ca48b08f7f1fc4c15f86107cc8cb38b1e13
+de92878e821efffff43334fffffb4cccffffed8000fffff26668ffffe84cccfffffb
+4ccc759a4c93688b538b4a647a6c0813ee7e9e59ad3c8b488bffffca6666ffffcf4c
+ccffffe7999affffd1b334786784648b39085a0679867f831f7e07868c8a8f1ecefb
+a0068b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f
+7e8f8bde08f7a0f75cfba0078b3880875f8785858b769185b58c9b8cb08bb38b9f8a
+b68a91918ba08591548f828f8bde08f7a0e70795998f941f9f078f888d861efb00c0
+068b9f8db891ad0813de95c3b9a6a58ba98bb37b986a917e958197878c87897a8b87
+08fc4d078b388286598885858b769185b58c9d8cb28bb68ba28ab68a91918ba08591
+538f7d8f8bde080e6981c25cacf7fbb2f780ac12e5daf747d651c513baf73df70e15
+f80007f722ccb0acd0a8623c26867c701e5d06888a8a881f6c07888d8a8e1e13bcc7
+fbc10644a66fb91eb88bb4a1b1b789ff000a4ccd85ff0005b333818c71777883718b
+087085a9c91ff791e90795998f941f9f078f888d861e137afb02f70d06eb5ebf221e
+418b295981fb3f8a7083766c8b0879867f831f8207878c8a8f1eb706998a877f1ffb
+95078b3880864e8885858b769185b58ca58cb78bb68ba48ab68a91918ba08591084e
+8e80908bde080ee07fc256ac8976f81ab274acf77ba712bbaa7ad2a3abe0d755abf7
+1fd656bb134dc0f731f8c2158bffffd14cccff000acccdffffdbb334ff0027cccd67
+08fffffb66660641485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffff
+ea4ccdff000d4cccfffff5b333ff000ab334081326c075a280b785a48591788a8585
+8f5a8e5c8b61958d958c908b928b918b928908134dc0f72b0a1394a8a18bc5839836
+91859f8c91918eaf8db08cac7bff0002999affffeb800090ffffe8b334ff00043332
+ffffbfe666ff0024199affffeae666ff002b66668bff0033b33408c3ccbedef1bd52
+3263765448888a8a881e6c07888d8a8e1e139490ccfbc30644a56fba1eb88bb3a1b2
+b708799c0571777883718b087085a9c91ff793e90795988f941f9f078f888d861efb
+018b05134dc886ea0586f7014fccfb118b08fb0c4547431f0ef819a1f7b915f86afc
+6af86af86afc6af86a0533fb97158b7c8e858f868f858e858b7e0874767d757a7196
+aec6c9d3f707f4ca4c311e8b485e53465fffffea3334fffff2199affffd6ccccffff
+e1e6668b43085f078484878384858f921eb9078bb68cc6ccc6b3b09fab8bbb08c662
+cb525462706e1eabfca815a5a1a1a6a6a17571707575707075a1a61e0ef76689acf7
+66b5f7f6ff0014e66801f79dda15c2f725059098918fa38b08f7648bc8fb3d05ff00
+0ee668ffffd6cccdffffd6b330ff00039999ffffd06668fffffc999a85858b769185
+b08cc28cb28bb48baf8ab08a91918ba08591ffffd93334ff00038000ffffdf4ccc8b
+ffffed8000ff0033800008fb61f8b2058595899284ff000ce66856fffffe1998ffff
+b6199aff0000b334fffff6e666ff00014ccc8583fffffdb334ffffff1998fffff499
+98ffffe5333408ffff21b334fffdf7b33405ffffe5999affffc23333ffffe1e666ff
+fff9cccdffffd480008885858b769185b08c988cb28bb48bf7348ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08f700f76015ff
+ffe9cccc8bfffff8ccceff00028000ff00043332ff000acccc08ff00643334ff00fd
+b3348d8becfb9f05fb1df7f615bb8bfb86fcf3578b050ee089ac6cb7f7b4adf781b5
+6bad12f5ff00574ccdff003fb333a5f76cdc69e8133680f728f9191513ae80598b6e
+8c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185081366
+80bc8ca98cbe8b0813ae80b68bf589e48bf75b8bc0ef8be18beb48c234a4088d0713
+2f00ff00321998ff00196666ff002ce668ff00334cce8bff00364ccc8bce6ee2fb4e
+8b08688bfb1f89608b08f71bfbcd15d00613a680f71dc43e31426f4efb2c457eadac
+1ff86c04132f00ac8b95e2c3d46d2536506d381e410613760070f781158cfcc3054f
+8cbc8bffffcb4ccd8a08ff00008000f8c3050ef72989ad6bb5f8c7b36bad12f5dcce
+a9f7d0eb136ef792b51548068bff001566668cff01a5999affffffcccdf70c08ff00
+403333068c258bfbcd8cfb280851f8ef15139e608b348b5c8d85858b769185d1889c
+868b3808fc25078b387a86458885858b76918508134ebc8cd48cbe8b08139eb08bd1
+89f28b08f721f72dcbf78af74efb0cf72dfb541f4b8b3689648b08e3fcc615f87507
+ae9c99bcf76cadfb43fb2efb5e3759fb2129929eab1e0eb189ac6cb2f7b0b1f788b3
+6cac12ecdcc9a7f74aacb2ac9bae1337c0f7fbf7fd1530f75c06a3979fa31ef406d6
+8b9b63a146ff000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b3
+3486b47ceb89938b8d8a8c888b7a88838a738b08fb850613afc0ffffa2cccd8bffff
+aa33338c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+081367c0bc8cff00616666ff0000999aff005d999aff00006666ff004a8000ff0000
+4ccdff00748000ffffffb3338b8b0813a7c0be0a1377c0774368503f8b08fb1c0675
+7d9ba61ff785e607e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca98591
+768b8585088854887e368b08fb0bf75d158b87ffffff199afffef78000ff0000e666
+ffff588000ff0000199affffe2e666ffffffe666ffffde199a8c7608ffffc14ccd06
+ffffffb334da8bffffedb3338bff00164ccd08f82c078bff001566688bffffba9998
+ffffffcccdf70c08ff003e3333060e7789ac6cb5f7adb1f788b36cac12ecdbcaa8f7
+4cacb0aa137780f784f8c615fc4807ff0000199affffe2e666ffffffe666ffffde19
+9a8c7608ffffc04ccd06ffffffb334da8bffffedb3338bff00164ccd08f82c078bff
+001566688bffffba9998ffffffcccdf70c08ff003f333306f70efbae15e08b8e748e
+5e9185a08b91918aae8a9e8bad8bad8ca18ca98591768b85858854887e368b082ef7
+6606a39795a31ef406d68b9b63a14608aa9005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999cff00024cccfffffeccccff0000b334fffffd
+99988bffffee8000fffffc9998fffffa3334ffffff6668ffffe84ccc8b8b8bffff4b
+e668ffffff8000ffff8cccccff000080000813af80ffffbb6666ff00004cccffffc6
+999aff0000b334598c85858b769185d1889c868b3808fc25078b387a86458885858b
+76918508136780bc8ca98cbe8b0813b780bd8bf7088abd8a91918ba08591458e7a90
+8bde08f75d070eef81aff789aff7ceb012abe6d6abf7cae061ad13f8f75aff007819
+9a15ffffcf199aff003a999bffffe5e666ff005019998bff004433348bff005a999a
+ff001d199aff004d999aff002de666ff0032cccc08abfffe35199a15ff01e8ccce07
+ff0025cccca9ff002d999aff000f1998ff0031999a8b0813faf7258bbc39a53508ad
+910582b585b384d34f8b67b8fb0e8b08fb40fb41fb17fb70fb41f71ffb24f75d1ff7
+0a8bdeaecfc50813fc809486938b9608f704078bff002333349cff0009cccca88e91
+918ba385916d8a788a638b648b658c5c8c85858b739185ff0036e668fffffbccccff
+001b1998fffffc4cce8bffffd7e66608fb2907696b527b558bffffbce6668bffffc8
+ccceff0017199affffd54cccb1080efb6389acf8dbac01f5dbcda803f7adf70e15f8
+25078bde9c90d18e91918ba0859108fb358905598b338c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8ce48cbe8b08f734890591918ba0
+8591458e7a908bde086df87a15f9470a0efb42fb40b8f96db66cac12f721ff004c4c
+cdff003f6667ff00204ccc13b8f7cdf89f158bde9c90c78e91918ba085910813d85a
+8a4c8a5c8b0813b8558b388c598c85858b769185db889c868b3808fc4e07fb48576f
+6a1e7d8bfffff24ccd93fffff8b33395fffff64ccdff000d3333fffffbb333ff0014
+cccd6c8b087d6d767567c079a11ff7018bd09fa5a2b6ff0026199ac6ff0032e6668b
+f72308ffffa04ccd921513d88af880ff00404ccd8b05ffffffcccc25fffffd8000ff
+fefde666ff0002ccceffff726667fffff54cccffff69b3334655ffffc0b333ffffe8
+4ccdff00364ccdff001cb333ff00194ccdda8bf716080ef72289acff0115e666ff00
+266666ff010ab334ac01f5dbcda803f7adf70e15ff00bae66607ff0021999a8aff00
+1a6666fffff4ccce9fffffe64ccc08f737fb5a05ff0013e668ffffe7ccccff000019
+98ffffe566678bffffedcccd8b888c888f8b9f8c9c8ca98bb28b9a8aba8a91918ba0
+8591ffffee1998ff0002999affffdb8000fffffdccccffffde6668ff0029999a08fb
+6ff79805829588928b938b92ff00044cccff0006b334ff0020b334ff00234ccc08f7
+20f72b05b9bcb78db39091918ba085915c8a838a638b638b718c5c8c85858b769185
+ff00241998fffffc9998b3ff0004ccd0ffffcfe668ffffca999808fb3cfb4405ffff
+ebe66676ffffeb199afffff14ccc688808ff00afb334078bde9c90d18e91918ba085
+915a8afb0c8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185bc8ca98cbe8bbd8bf70b8abd8a91918ba08591458e7a908bde08
+6df87a158cfcd0498bff0000cccdf8d0050e9a89acf8dbac01f3ddcda6f7afac03f7
+2716ff012eb33406ff001b4ccce7898b1f95bd95cc91bffffff63334ff0004b333ff
+fff53334ff0002199afffff39998fffffe3333774370503f8b08fb05066e799eaa1f
+f846078bde9c90d18e91918ba085915a8afb0c8a588b598b6e8c598c85858b769185
+d1889c868b3808fc25078b387a86458885858b769185bc8cdc8c8b8b08f3f8f415f9
+470a0ef81489acf8dbac01ff031db334f70815903afffffc4ccc8a4a8885858b7691
+85ba8ca98ca98ba98bff002dcccc8aff002133348a91918ba08591478e88ff000433
+33fffffa1998ff0052cccd08ffffe23334f83905fffffc3334c1ff0004800099cf8f
+91918ba0859108fb1789fb68fc8f0587818887898b888b8a8f879408fb61f890fbac
+8d0585858b769185d0879189844008ffffd7e666fc3005fffffa199affffc4199a7f
+ffffe6e666528685858b769185a98cec8ca38ba38bf7068aa98a919187a085914990
+fffffab334ff001eb333ff00054cccff00384ccd08b1f8258d8bf763fc9b05ff0002
+ccccfffff8e666ff00063334fffffc199a918b918b8f8e8f9308f775f8a58d8b05fc
+bedb15cf8b51fcdb478b050ef70081adf8ecad01b0ebd4aaf7e1eb03f92ef7dd15f7
+5afb27f717fb43fb47fb14fb2cfb58fb59f721fb0ff740f753f711f71ff75c1efc60
+ffff18b33315ffffd5b333ff00339999ffffe14ccdff00544ccd8bff005d66668bff
+006d999aff00203333ff00513332ff0028cccdff002fb33408aafc8015ff02069998
+07ff001de666ff0015ccd0acff000a1998ff001f199a8b08f71cf221fb64fb473520
+fb061fffffd0e6668bffffd16666ff0011199affffd8b334ff00206666080e7e89ff
+00214cccff0101b334aff7b5ac01dcd6caa9f76ce703f83af7c115ff0047b334ff00
+14e666ff003f4cccff0034199a8bf48bbd7ab467ad5bb84d8f4c8b728b4dfffff5e6
+6865ff00021998598b448c598c85858b769185089bffffffe66805ff001e199affff
+ffccccffffffe666ffffca66648bffffe1e66808fc2b07fffffe8000ffffc76666ff
+fff28000ffffe6800076fffff74ccdfffff8199afffffd8000fffff69999ff000280
+00fffff4cccdffffff199afffffa8000fffff9b3338b769185bc8ca98cbe8bbd8be4
+8abd8a91918ba0859108458e7a908bde08f73b07ff00054ccdffffffe666ff0004ff
+ffffffff8000ff0004b334ff00006666ff0049e666ffffff4cceff0024199afffffe
+e666bb990831f7d115670afb058715ff0000199affffe2e668fffffee666fffdeb19
+988c76ffffe5199aff0004999aff001ae666fffffb66664c8c8bff001566668bff01
+b8999affffffcccdf70c080efb0d81aff8eaad12a6ff00208000fffff78000ff0047
+6666ff0046999aff001fb333ff00254ccdff001dccccff00443334df4bff00208000
+13dcf755ff0197800015ffffde199aa2ffffdb4cccff0026199a8bff002b66668bff
+00326668ff000c999aff00299998c5ff0012999808ff0062ccccfffdb34cd015ffff
+ffe668ff0031199affffffe666ff007966668bff0040ccce0813ceb0ffffe97fffff
+001f6666ffffdc199a8bffffc233338bffffc5b333ffffe6999a63ffffd53332ffff
+ef333308ffffe23334fffffa800015fffff64ccdfffffe6667fffff9b333ffffff33
+33808b0813eeffffa2999a8bffffc3e666ff002a800075ff00638000fffff3b3338f
+fffff56667fffffe199afffff66666fffffae6668f3e8f71975aca8bff001be66674
+ff0058b3348bff0078cccc8bff0060999ae78bf18bff005f33344abbffffb7e666ff
+001ecccc087694ffffe6199aff0008999affffdcb3339d08ff00004ccdff00e66666
+0513ddd28aff0040199affffc2ccccff0013e666ffffbe3334ff000b8000ff000033
+3497fffffecccc9492fffffc8000bb87a7fffff5999ac0ffffc6333293ff00023334
+9effff9e66668bffffa4999a8b28488b218bffffa2e666ff0042e666ffffcfccceff
+004d8000ffffde4ccc08a0fffff6e666ff00153334fffff7ccceff00186666fffff4
+e666080ee28baff876f72057b21292ad7faaf761ff00514cccff003fb334aaf750a9
+76ad138600f82df8ef158cfccb054f8cbc8bffffcb4ccc8a8bff00156666ff0000b3
+34ff01a9999affffffccccf70c08ff005e3334fc7515f83a0713a680ad9fa7af1ec9
+06c28b927b9c3e0813c680ff000b4cccff00004cccff000b4cccffffff199cff000b
+6668ff000599980813cf0083be86b38bbc81ffffffe66881ffffff199881880813ae
+00858a88761efca206768b8e911f13ce00fffff83333ff0002ccccfffff86667ff00
+02ccccfffff06666fffffe66680813d680875a85657f56ff0009e666fffffbe668ff
+000b999afffffee664ff000c8000ff000033340813a6809fdb9898c28b08da06b09f
+6f6c1ffc3d078b387a863b8885858b769185bc8ce48cc28bc18bd48abd8a91918ba0
+85913b8e7a908bde080ef73180b5f8cdb86cac12e2ff004fb333ff003f4ccdabf7f6
+bc13bcf79af89f158bde9a90d88e91918ba085910813dc5a8afb0f8a568b0813bc5d
+8b748c598c85858b769185c7889c868b3808fbb3078bfb60f70861f74f8af77f89b3
+f7168bf74608f778078bde9c8cc79291918ba085910813dc5a8a7e8a638b0813bc5e
+8b768c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0015199affffe1e666ff001ce6665aba89d78bcc086b82158bfb16a64bff00
+53b334ffffdf4cccffffc54cccff0008b334fb07b6ffffffb333ff00a54ccd0813dc
+ffffffb333ff008db333ff0000999af5ffffffcccdf18b8bfffff533338cd68a080e
+f7339476f906ac01f8b8f8fa15d586ff00006668ffffe56668ffffea9998ffffc999
+9808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8ccceff003b8000ff
+0005ccccff000d8000cf9291918ba085915c8a428a648b638b3c8c5c8c85858c7691
+85c486ff0003e6667eff001c999a4208ff00c08000fc8005ff00154cccffffca199a
+ff0002b334ff000ce666c189c58dfffff9e666fffff9199aff0016199aff0033e666
+08ff00ceb334f87a059fbaff000c4cccb1cd9391918ba08591638a728a748b748b64
+8c5c8c85858b76918508fc208715ca8bf762fc9b73490564e5ffff35cccdff01ecb3
+34fffffc3333ff00024ccc080ef8779476f906ac01fa22f8c915fb33fc5c898bfb24
+f85105ffffee9998ff0035e668ff00236668ff00031998ad8e91918ba085915c8a68
+8a638b648b768c638c85858b769185c088ff00199998ffffe0e668ff00086668ffff
+e61998089a5d05ff0003e6687fff00011998848b828b7efffffdccccfffff3b334ff
+fffb3334fffff34ccc08fb0dfbd7898bfb2ff859057faea690ae8d91918ba085916a
+8afb1c8a648b638b7e8c638c85858b769185b88896fffffeb3349dffffca4ccc08f7
+4afcb405907b8a83ec8bdd8b6995909908f71ff7fa058f979098908b8f8bff000566
+68fffff1ccccff00049998fffff2333408f709fbf705917a9784988b998b9393909a
+08f759f8b20597aebca2c28e91918ba08591668a558a718b718b5f8c638c85858b76
+9185b488ff0027e668fffffcb334fffff11998ffffd54ccc08fd86b615ca068b8bf7
+04fbfccafb34086e410564e5ffff59cccdff01f5b334fffffc3333ff00024ccc080e
+f75f89a870b2f8ccb170a812139098f905158b87ff0006199afffffeb334ff0009e6
+66fffffe4cccff0011800088ff001f3333fffff88000ff00284ccdffffc5800008f7
+38fb8205948090828b818b858782858308fb31fb2e05ffffe56666ffffe5e666ffff
+e1999affffd0199a518885ffffffb33386fffffe4ccd8b860813408b770513808c89
+051340a98ca38ca98b081380f704890513408e8d8b9f0513808b8effffff199aff00
+038000fffffae666ff0000800008788d05ffffd8e666ff0004199aff00033334ff00
+178000ff0014e666ff0014666608f72cf72805919391918e8b8f8b8f88918308f704
+fb2f05ff0018b334ffffddccccff00026666fffffa3334ffffd7e666870877890587
+ffffff999a89fffffd66668b870813408b770513808e89051340ba8cc28ca28b0813
+80a28bf7468ab38a0813408d8d8b9f0513908b8e89ff0003b33386ff00004ccdffff
+d380008effffdd8000ac70b208fb45f78605819885958b958b94ff0004199aff0008
+e666ff0008e666ff000c199a08f72ef72505ff0020ccccff001ee668ff0010b334ff
+00211998ff003c80008d93ff00004ccc8cff0003b3348b8e0813208b9f051310888d
+051320638a698a748b081310748b678c638c08132089898b770513108b868efffffe
+4ccc8fffffffb33408a98905ff001d666889ffffff8000ffffeb9998ffffe91998ff
+ffea666808fb2cfb230585838787888b888b878f8692082bf72405ffffed8000ff00
+1bb33482ff000e4cccff002080008d08ab8d05ff0002b334ff00003334ff00024ccc
+ff0001cccc8b90089e078a8a8e8b1f13205c8afb4f8a738b081390738b648c638c08
+8888051360f73c6615da8bf827fccc3c8b050edc89acf8d3b26cac12f790ecbbac13
+b8f842f70e15ff0091b334078bff0027ccccfffffd4ccc81ff00143334ff00248000
+08ff007fb334f77b05a7ff0032b334ff000e199885ff002cb334ff00044ccc91918b
+9f85910813d86d8a6d8b748b748b6f8b638c0813b885858b779185ff002c4ccc88a4
+ff00071998ffffe9b334ffffd5e66808fb0bfb7405827a878efffff733349b08ffff
+81ccccf77205ffffe7cccdff002a9998ff000e3333fffff86668c38e91918ba08591
+0813d8fb37890513b8648b3e8c6d8c85858c769185b588ff000b199aff00046668ff
+00289999ffffbb999808ff00834ccdfb7105ff00118000ffffe28000ff00038000ff
+ffff80008b6608fb1d078b387a863b8885858b769185bc8cee8cc28b08f73e890591
+918aa08591083b8e7a908bde0813d8fbaef87815cb8bf74dfbca8bfb9e5b8c8bf78c
+050e8b14f8e7157f97f841989d97f71495ae98a99506fb8296077f97f841989d97f7
+1495ae98a99508fb8296091e0a0396ff0c09910c0aaf0aaf0c0cda0bda920c0d1c00
+4413031f02000100320044005b006d008000cb00dd0146017f01b101c701ed024e02
+9402b502c902fc032f038a03ab043d0476048304a204e8053805560568059605b205
+ed0620063c068206d606e906fe071d07520768079d07fd081d08df08ef08ff095609
+7f0a180a330a8a0ad00afc0b070b490b880c590cca0d5d0ed00ed70f060f500f6d10
+55107a10eb1131114d11a013131328134713bd13f314a11577172919111a461aa31a
+b71b0c1b1f1b471b641bf11c101c431cec1d2d1d6b1dab1dfa1e0d1e2a1e6b1ee31e
+f61f042023203e20a720f72256229c2309231e237423d524922576271b284c28c328
+f429062918293a295a297029e22a6b2a7d2a8f2aa52aee2b042b302b8b2bba2c022c
+142c512cc72d502d5c2d832d8f2da52dba2de62e462e592e902ecb2f242f2c2f4c2f
+672f7a2f8c2ff4304f30613071307f308a30b531473191319931cc32cd330f333633
+7733ae33d7343c346434ae34f3352a35473632367b36b9374c375e3769377d37c638
+17382a383d384f38d43969397139af39c43a2e3a753a7e3a933aa13ad63b3e3b863b
+cc3c263c773c9a3ce63d543e3d3e853eba3efc3f403f7b3f913fb03fd23fe43ffe40
+224046406a408240a9416d418d41a04226424642ba42f243004308432c4332433f43
+53437a43b343dd4429449b452e457d45b845eb45ff4615465f46c146f94738476a47
+b04806481a486348ec49404954499049b649e749ed49f84a134a2e4a754ac64c084d
+3e4d794e3b4e8f4e9a4eac4ee04f284f524f8d4f9f4fbb506950c050f25152516251
+6a51aa520f5261532e539753b3540854435505552055e2565b56c556e25723574a57
+7057d05864591c59ef5a045a3f5a885ad35b365b865bdd5bfc5c1e5c685c885ceb5d
+355d915de65e045e4c5f205f6c5f825fed60376070608c610c61736249628562a262
+e46322638263d0640c6417647f649364ac64c26508652d65ff67da67ed681c683e68
+6e68b968dd692e6976699769ad69e76a136a466a796a9a6aca6b106b306b5c6b766b
+c26c0e6c3a6c666caa6cbc6cdd6cef6d046d226d386d4e6d716d926dc86df26e0b6e
+466e586ea56ed56f046f4670177149717071b871e372017250727e729e72a672ed73
+36734b738773c4741374257445745f748d74bc752c758b75a375fe766f76a976c477
+58779c77b97848788c78ca78e279507ae17b137bb47c847ce57dc17df07e6c7e907e
+9e7f0f7f497fe77ffe8041804a80a68151819081da81fe827382af83b183f0845184
+9084c2853e8579859485a285eb867c868f87018720876c878e87d487ff880c884a88
+fc89ae89c189f78a258a658a838aa28aea8b0d8b3f8b8c8c198c478c988cd68cee8d
+0a8d378d8e8db08dc28dd58e228e8a8ea68ec78f3e8f7c8f9c8fc68fe2900d902990
+4d907a90a090ee910b91339157919d91aa91d491fe920f92239241926b929d92c792
+e792fa933e9358939593bd93e1940594259462949594b394df95019514952c956595
+ae96c697089714972f9749979a97eb985598ce9970999e99f49ae99afc9b079b149b
+c59da89dec9e319eae9eca9f3a9f9d9fe2a07ba101a135a153a189a1e8a200a2b6a3
+47a36ca398a3e0a3f8a423a44ea45ca464a472a47da49da505a51ca52ba53ea54aa5
+58a626a656a6dea74ca776a7a0a7f3a81da84fa8b3a8c8a910a920a968a982a994a9
+d7aa19aa23aa3faa64aa77ab27ab87abf9ac41ac73acc1ad17ad2aad3cad65ad8ead
+9fadefae01ae35ae5caf37af80af9cafc3afe3aff5b011b025b047b062b07ab0a1b0
+c3b0e5b107b1ddb331b45cb4d8b524b52eb54ab58cb5c8b5f6b610b62fb651b67db6
+d8b707b733b75eb776b795b7b4b84cb875b8afb8ccb8e9b906b923b945b95db976b9
+c2b9dcb9eab9fcba35ba6ebac7bb16bb3dbc6bbceebd7bbe27bec5bf63bfdbbffcc0
+8ec0f0c151c1efc232c24ac2d5c2f7c33ac37dc3b2c3f8c447c48ac4dcc4f6c510c5
+2ac53cc54ec560c572c584c596c5a8c5d0c5fbc60dc62ec63fc667c67ac6bec764c7
+bbc7e6c81bc861c8b1c8d7c8ebc918c9e5ca06ca9ecab7cb1ccbd4cc02cc51cca8cd
+16cd74cdddcdf3ce0fce2dced7cf15cf35cf73cfb3cfd0d000d018d032d062d0aad1
+2fd250d2a6d39bd3b9d421d445d49fd4c5d4e1d50cd525d54dd57ad6b1d6b7d6c9d6
+dbd710d742d764d7d0d7ead818d87dd957d989d9c7da1dda31da52da89da97daa4da
+cfdad7db08db23736e78551f8b4599689433933d91318d768c858e84958b958b8e94
+8c968d998bc798f70095e199b58bcc08c16e9e731e0b6ea373a8a8a3a3a8a873a36e
+6e73736e1e0ba68f058bacf7399b9b829c716d766f7582a5fb338b1f0bc5b4dfbc99
+a78257536a3254787297bf1e0b56ab52c8deb7f702ced45d9d63414f3f391e0b798b
+688b55a481976e986f8b08434effffb9199affffa7e66658a951c9dfb7f705cb1f8b
+948a9489929e80b181a28ba98bb28fb19a08fbfbfc88ad7cf82ef8cf6b9b056c613e
+7f618b080bc5b4dfbc9da4805951693454797197bf1e0b6a6658838b608b7c977e9c
+8bb18b92c6a4b8a464924ab28b998b9a968b9d8bb35a9569b0089d8e9d8c9e8b08ad
+ae92a995849f701f6a8b7b6b5d778da99cb38ba608a37c9679797f79761e8b719e70
+8f645f9d79ac698b0873827b7d6dab84bc1f9a8b998a9888080bfb33fb39077f7e78
+7c839183941ff743fb3e06829385939a9e98971ef734f737079899a295938794811f
+fb44f7400695828f8381747d7e1e0b6c75766f1f8bffffe08000a5fffff680009d88
+9e899c858b748b76675d577e8b818d849284c796c5bb8bd108c771b2631e0b9899a7
+97958795811ffb6f067f7e7479819182941f0b9c8b9b859780aa71a63f8bfb1a8b2f
+884c7d5875395a82798b082e81f73fe2f78ac8b9b81f0bd8f709d9f77f1f8bee73e0
+5fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2dfb0a8bfb5a8bff
+ff956666ff0020e666ffff9b199aff0036b334ffffc98000ff001c6666ffffe3999a
+ff00224ccdfffff26666ff0026b3338b080b769e79a09ca9ff0011e666ff0016199a
+1e8b9389918992899285948b9308a4a5afd4afbe722b1e8b4b7457504f0841420529
+277b5b8b50088bbe8dab1ef74306abb9898b1f0b98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008f0ec050bc4c2b6b78bd708f70033b73a1efb03
+46394f1f0bff002b3334ff0027e66671ffffbfb3341f8bffffcdcccc51ffffb3999a
+ffff9ce666fffff1e66608906b059c8d9d8b988b080bc4d57bfb05fb193270681f58
+8b82a27f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095
+088a8d050bff00524cccff0026999aa2ff0029999a8bff0034b3328bff001e000284
+ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998ff0010e6
+68ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e0bfbb4fb5307ff
+00334ccdff00523334ff0046b333ff006f9998d0ff005e3334080b38f7b8068bbdff
+00004cccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334ffff
+f98000fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000
+fb238e7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff0027
+66668bff0025999a8aab8a91918ba085915a8f76898bba08e7d007999a9e97958791
+801f0b2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f7
+12ec48e2fb041f608b66827984089ff73b05b087ab86bb8b080ba98bad8db48f089b
+cf848f050b52855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb01
+1f0bff0020ccccff0015999aff0020999aff00016666ff001166668b08eda12b59fb
+0261595a4c52adf73f1f8bff00168000ff00024ccdff001ab334ff0005e666ff001c
+cccc080bff001b199aff005ae668ff003f999af0f719ff0031cccc8b978794839026
+6d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffff
+d9199a83ffffe23333fffff24ccc080bf747063dfb563cfb5747fb2c089384cf8e05
+c4f73ec2f73af704f7a5080b7a867585658b08fb6206698b8d95798f080b888a8b88
+1f8a5b804f8357ff000ae666fffffce666ff000a199afffffeccce96ff00014ccc08
+a1dbac92ab8b080bcca3605d1f8b55565e7077086c9e054cb484ac8baa08b9abb1c7
+1e0bd353c02925494e3e1e8b53ff001b199affffd73334ff003ce666ffffd9cccc08
+ff001980007b056efffff08000ffffe58000ffffee80007275080b62677a5e8b6408
+25d355f5f717cbebd71e8bc5ffffe7199aff0032ccccffffcae666ff002033340844
+b605baa2d7bf8bcb080b5e47aae51f8ba998d1e1c408ba6f05c965a45c8b5b082740
+7a5e1e0bffffdf3334ffffea6666ffffdf6666fffffe999affffee999a8b082975eb
+bdf702b5bdbccac469fb3f1f8bffffe98000fffffdb334ffffe54cccfffffa1998ff
+ffe33334080bffffe4e666ffffa51999ffffc06666ffff9afffffb19ffffce33348b
+7f8f829386f0a9c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef7
+1c1ea58bff0026e66693ff001dccceff000db333080b6ea373a8a8a3a3a8a873a36e
+1e6e73736e1f0b6c75766f1f8bffffe08000a5fffff680009d88080b9e899c858b74
+8b76675d577e8b818d849284c796c5bb8bd108c771b2631e0bf7d1f7070598998ca9
+7d9108fc1afb2105fffff6b333ffffeeb3338b7bff00094ccdfffff14ccd08f81afb
+220599918aa97e99080b9899a295938794811ffc1c067f7e787c839183941f0bfbd1
+fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8b9bfffff6b334ff00
+0eb33308fc1af722057d858c6d987d080ba9b3a3c4c4b1524a1e8b5c7c6e63664a50
+86508b60085d078493889393948e921eb7078ba38ca398a4949c9f9ba29cbaadc9b7
+8bda8be649c7258b568b617d6e726d73766f8b650868a4839b9e9f97a21e8b988991
+879008879089918b9a080b758b848eff0003cccdff000a4ccc08ff00663333ff0102
+b334918be9fba4050bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffff
+dd8000ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb2
+8bb48bb18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccff
+ffee9998ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe18000
+85ffffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91
+918ba08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bc0
+8b95e2c3d46d2536506d381e41060bf71dc43e31426f4efb2c457ea5c81f0bffffdc
+4ccd8bffffc9b3338c648c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b28cff0035e6668cff0025199a8bff0023b3338bff001a4ccd89df8bf7
+5b8bc0ef8be18beb48c234a4088d070bff0032199aff00196666ff002ce666ff0033
+4cce8bff00364ccc8bce6ee2fb4e8b688b5589678b080bec8be4b9cfe48694849180
+8b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e666
+ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8b08f71e8bc239a53597
+87ff0009b3348eff000b4ccc9186bf84bb81c258905eb3fb0f8b368b446c5055ffff
+bd999affffc33334ffffd86666ffff9e19988bffff97b33408ffff523333f4ffff6d
+cccdf76b1e0bf87407aeae99bcf76cd2fb43fb2efb5efb0d59fb2129809fab1e0bff
+ffdc4ccd8bffffcab3338c638c85858b769185d1889c868b3808fc25078b387a8645
+8885858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf7
+8af74efb2df72dfb541f448b5489648b080b30f74806b7979fc11ed606d68b9b63a1
+46ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47c
+eb89938b8d8a8c888b7a88838a738b08fb93060bffffe180008bffffc580008c638c
+85858b769185d1889c868b3808fc25078b387a86458885858b769185080bb08cc78c
+ac8b08f76b060b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e5e9185
+a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858508885488
+7e368b080b6b8b528c638c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ae8cbd8cb88bb88bbc8aae8a91918ba08591458e7a908bde08f75d070b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bf825078bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde080b8bde9c90c78e91918ba08591658affffd4b3
+338affffd94ccd8bffffdbb3338bffffcb4ccd8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6668bfffff1cccdff000bcccd84ff000eb33385ff
+000cb333fffff73333ff000ccccdffffe7199a8b087d6d767567c079a11fb88baa93
+b4aeff002bb333ff00254ccdff003a4ccdff0033b3338bf723080bff00bae66607ff
+0021cccd8aff001ce666fffff4b334ff00144ccdffffe6666608f731fb5a05ff0014
+4cccffffe66666ff000db334ffffe4999a8d7bff0000666688ff0000999a888f8b9f
+8cff000ce6668cff0015199a8bad8bad8aac8a91918ba08591ffffe31998ff000299
+9affffe38000ff00031999ffffe16668ff00244ccd08fb6ff79805fffff84cccff00
+09199afffffab334ff0007e6668b938b928c92adae08f727f72b05b9bcb38fb38e91
+918ba085916c8affffe033348affffdfcccc8b668b648c668c85858b769185ff0024
+199afffffc9998adfffffc4cd0ffffd5e666ffffd3199808fb39fb4405ffffeab333
+ffffe94cccffffe96667fffff2e668ffffdce666fffffd199808ff00afb334078bde
+9c90d18e91918ba085915d8affffd080008affffdb80008bffffd980008bffffd280
+008c5e8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+b98cb28bb18bb98ab88a91918ba08591458e7a908bde080bff00d4b334060bff001b
+4ccce7898b1f95bd95cc91bffffff63334ff0004b333fffff53332ff0002199affff
+f3999afffffe3333080b77436650218b084c0664799ebe1ff832078bde9c90d18e91
+918ba085915e8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85
+858b769185d1889c868b3808fc25070b8b387a86458885858b76918508b28cff0039
+4ccd8cff0021b3338b080b903afffffc4ccc8a4a8885858b769185b08cb38ca98ba9
+8bff002dcccc8aff002133348a91918ba08591478efffffce668ff00043333fffffa
+3330ff0052cccd08ffffe23334f83905fffffbb334c19099cf8f91918ba0859108fb
+1789fb68fc8f0587818887898b898bfffffd199aff00056666fffffce666ff000799
+9a08fb61f890fb258d0585858b769185d0879189844008ffffd7e666fc3005fffffa
+199affffc4199a7fffffe6e666528685858b769185a98cab8ca38ba38bb38aa98a91
+918ba085914990fffffa999aff001eb333ff00056666ff00384ccd08b1f8258d8bf7
+63fc9b050bff0002ccccfffff8e666ff00063334fffff8199a918b918b8f928f9308
+f775f8a58d8b050bfbdb07788b80841e878b7c9d6eb008fbebf847fb1b8d0585858b
+769185b688a968917108fc35078b327a85458485858b769185b68cff002d66668cff
+0017999a8bff0017199a8bff002de6668ab58a91918ba0859145927a8f8be608f7c6
+07ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b089994979e1ff87f07
+8be49c91d19291918ba08591628affffd0b3348affffe84ccc8bffffeab3348bffff
+d24ccc8c5f8c85858b76918508d1849c878b30080bf718f6fb02fb5efb473522fb06
+fb0efb07f701f754f766eee0ee1f0bf763fb23f70efb47ffff3e4ccdffff8eb333ff
+ff65e666ffff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333
+ff0036e668ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bf763fb23
+f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e199a1e8bfb49ff0078b333ff
+ff898000ff00976667ffffede666ffffc31999ffffe0199affffc84ccdffffd0b333
+ffffdc199affffd4e667fffff93333fffff8e66685fffff84ccdfffffb3333fffff7
+b33308b27705ff000bcccdff0010cccdff000cb333ff000f6666ff000d3333ff000e
+199aff000e199aff00096666ff000d9999ff00034ccdff0007999a8bff002a80008b
+ff0024999affffeccccdff0026e666ffffe9cccdff002e999affffe56666ff0032cc
+cc70ff0046999a8bca8bb5a5b2c3087a9705757067816e8bffffd633348bffffd7cc
+ccff00118000ffffd58000ff00146666ffffd16666ff00166667ffffcde666ff0015
+b333ffffc633348b858bfffff94cccffffff8000fffff8ccce8aff0031999aff0024
+4ccdbcff0014cccdff00209998ff00093333ff0053333499ceff002b7fffff002cb3
+34ff003fb33408ff0027ccccff0038b333a1ff00484ccd8bdf080bc8d375fb0afb11
+446f2a1f5bf77906a897aed21e0bf73d07df8bff0012b334fffff14cccff000e4ccc
+ffffe8b33408f6fb42050bff001cb334ffffd16666ff002b4cccffffd5999ac78b9a
+8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff002199
+9a71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b61
+84678b688b5c8c5c8c85858b76918508d1889c868b3808fc25070b8b387a86458885
+858b769185b88cff002e80008cff002680008bff0025999a8bff002f66668ab78a91
+918ba08591458e7a908bde080b8bde9a90d88e91918ba085915c8affffcf66668aff
+ffd8999a8b648b628c648c85858b769185c7889c868b3808fbb607fb60ff00838000
+64ff00668000f761bcf713f7461ef778078bff00504ccc9cff0003b334c79291918b
+a08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c85858b
+769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc080bd586ff00006668ffffe56668ffffea9998
+ffffc9999808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8cccdff00
+3b8000ff0005cccdff000d8000cf9291918ba08591638a5e8a678bffffdbb3338bff
+ffdd4ccd8c6a8c85858c769185c286ff0007e6667aff001a999a4608ff00c58000fc
+940591fffff0666692fffff8999a958b968bff00073334ff0008b333ff0005ccccff
+000e4ccd08ff00ceb334f89205ff00133334ff002f4cccff00101998ff0026b334ca
+9291918ba085916d8a688a748b748b5e8c628c85858b769185080bffff63b334fffe
+4db334fffffcccccff00014ccdffff768000f83a05ffffee8000ff0035ccccff0023
+8000ff00033334ad8e91918ba08591628a5f8a638b6a8b688c6b8c85858b769185c0
+88a1ffffe0b33494ffffe64ccc08a24905ff0003e6667fff0003199a818b828bffff
+f5b334fffffe8000fffff83332fffff88000ffffef199a08ffff7e8000fffedab334
+fffffbb3348cffff6dccccff01ba4ccc05fffff46666ff00231998ff001a999aff00
+04e668ae8d91918ba085916a8a5f8a648bffffdd4ccd8bffffe2b3338c6e8c85858b
+769185b888ff00076666fffffe8000ff0012999affffca800008f750fcb105ff0005
+6666fffff0199aff0005199afffff4e666ff000b80008b988bff0005999aff000a66
+66ff00076666ff0010999a08f729f7e305ff0008e6669fff0003199a90908b8f8bff
+0004199afffff5199aff0005e666ffffeee66608f707fbe005ff0005e6687aff0005
+199881978b968b9296909a08f75df8af05ff000ce668ff0022b334ff00121998ff00
+174cccc28e91918ba085916e8a6b8a718b718b5f8c638c85858b769185b488ff0028
+4cccfffffc9998fffff0b334ffffd56668080bfb2df76605fffff63334ff000d6666
+fffff9ccccff0009999a8b958b94ff0000e666ff00093334ff0009199aff000bcccc
+08f71df74505ff0022b334ff002ce668ff001f9998ff000cccccff002cb334ff0004
+4ccc91918ba085916d8a668a748b748b618c638c85858b769185ff002c4ccc88ff00
+123334fffffa6668ffffe88000ffffde999808fb0ffb430585fffff7800085fffffc
+8000878b888bfffffbcccc8ffffffb33349208ffff918000ff00a3cccc05ffffe3cc
+cdb3fffffbb333ff000b3334c38e91918ba08591668a668a638b648b6a8c6d8c8585
+8c769185b588ff00128000fffffab334ff00293333ffffc54ccc08ff008e4ccdfb5f
+05ff00083334fffff44cccff0005ccccfffff7b3348b818b85fffffbe666fffff6e6
+66fffffa199afffff8199a08fb28fb5a05ffffddb333ffffd2199a6bfffff43332ff
+ffd34ccdfffffbb33485858b769185a98cb08ca28ba28bb58ab38a91918ba08591ff
+ffd3b3338effffed199a90ff00183333ad08f718f74d05ff0005b33493ff00064ccc
+918e8b8f8bff0004666688ff0005999a8308ff007b8000ffff50333305ff001c4ccc
+ffffd7b332ff00043334fffff5199a538885858b769185b08cb08cb38bb28bac8aa9
+8a91918aa08591618effffef6668ff0009b333ffffd59998ff003a4ccd080bff0087
+b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a08ff007780
+00f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a
+6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffff
+ea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334ff00014cce82
+ff000fe66608ffff8bffffff00cccccc05ffffe7ccccff002a999c8fff00099998c3
+8e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00113333ffff
+fa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00
+038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff003466668c
+ff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080b
+90c395c697bf848d808e7e8b6c447254fb018908fb5587057affffff999a83ff0005
+66668b948b908e919094d4f5f74cf799f70af72cff00151998ff001b3334ff0002e6
+68ff0006cccc8b968b92868f838b7f8b6c896d8b08fb71060b5c8b2a90668e875581
+52836295889489968b080ba0d0b1ff00239998d6ff0001666808f7678f05ff0005e6
+66ff00001998ff0004199afffffce6688b858b86888586842afb0ffb52fb9e25fb2c
+858389838b8408819086991eff016c4ccc06a6ff0063b334898b1f0bf2fb8bb88bfb
+12f7c4618bfb13fbc4b88b050b878c858c868b698b747a8385088980f706fb01059b
+7c9286918b938b92918b908b928a928695080bfb18078b7e85848385717669746f8b
+598b75b38baa8bb8a0b9d59e080b916cff000a999a70ff003266668bff00264ccc8b
+af9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccd
+fffff88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727
+07f7223da6423938555273977fa2a89da0981e8b928a92898f8a8e8a918b9608aab5
+96b1adba7afb051e8b848887888a083576050b2b7346568b478b39c371d18bff0022
+cccd8bff001e333393b7ad089f9b050ba5a2a994a88b08c8bd412afb065d352c1f6c
+8b76a177a408f78e078ba0ff0004199aff0009999aff000ce666ff000b6666080bff
+fff9b333fffffa4cccfffffc4ccdff0001b3348b9408f74c07cc8fb38b1e92878e82
+1e7281407d638889838d7b9185bf8897908b3708fc7c078b648a79887d9083908797
+8bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a
+4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff0023
+4ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080b8794
+838f828c695f6075608b08424ed5f709f702bbcdcd1fc68b93688f688e709982a08b
+08a0a798aac252b32b282132fb22fb15d332f7121fc78bc09ebddd080b8b78fffffe
+199afffff83333fffff1e666fffff3cccd666b6b7b728b558b53c68bf7118bd399b3
+9aa0aabab58e9f8baf8ba47e9f7408997b8e848b6c080bff0004ccccff0003e667ff
+00098000ff0001cccdff0000b33484ff00028000ffffe78000ff00088000ffffdd80
+008b8b938890ff0000800091ff00028000080ba19dae9ac89291918b9a85914b9082
+9e8bbc08f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fb1407848989841e878b629c6a8b498b5f756365606071508b41080bfb0fc931
+f7001eb28bb09fbcff00284ccc080b9ef705d194a38bb18bb8768b378b8287fffffb
+333480ffffffcccc080b66656e7b518b678b61a06cbe77ac7fb98bc508f79e890597
+929196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf88
+9585907f8c080bf7a0e80794998f941f9f078f888d861efb00c406f72eb9a3ac1ea9
+8b9b7f99689379967da08b9c8ba3a08b9f8b9c809d769b719d718e658b08372e42fb
+301f63580779867f831f7e07868c8a8f1ed0fba0068b387b87558785858b769185ae
+8cae8cb38bb38bbb8aae8a91918ba085913d8f858f8bde080b2e5c78663782d2cbd1
+a4afc21ecaad5d381f0b6f737b608b698b679f6fa57e080b8bff0015199a94ff000c
+4ccc93ff0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+2c078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390
+808f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef33
+34a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334
+fffff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e728140
+7d638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b7691
+85ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f82
+8f8bde080b71a371a3a7a3ff001ae668ff00151998a376a7701e736f73731f0bff00
+c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f808f8bde08
+0bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1fa0
+8bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f80638246828985
+8d7b8d8508c18696858b52080b8b388087538785858b769185ac8cad8cb38bae8bac
+8aa28a91918ba08591628f808f8bde08ff0056e66607ff00133333ffffff8000ff00
+0e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6
+667b08d42905ff001d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff4
+4ccdff00004ccc88ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591
+698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff
+00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f9191
+8ba08591748a6f8a678b658b668c748c85858b769185c387ffffe84cccffffdcb334
+fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef99
+9affffe51999fffff43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92
+878e821e7281407d638889838d7b9185bf8897908b37080b8b3880864e8885858b76
+9185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080b25cffb05f7221eff
+004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcc
+cdff00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9
+b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080be1
+c03dfb24fb124a6c5c2369f712d8e2a0e4e51f0ba5abff002dcccda9ff001d33338b
+08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dfffffc199aff
+0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff000e
+4ccc080b9fffffe9999a8ffffff1199a8bffffe7e66608fb7a078b798a867efffff9
+3333ffffe8999afffff3e667ffffe53332fffffee666fffff033348b085134b5f72b
+f3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ffffe78000080b7d
+877f831f7e07868c8a8f1ec6fbc10644aa6fb91eb98bbda1b2b789ff000a4ccd85ff
+0005b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861e
+fb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bffff
+f78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdff
+fffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bff
+fff466688eff000699988bffff91199a080bc187ff0005999afffff3ccccffffeb19
+9affffcd333408ffffaf4cccfb5805ffffefccccffffd88000fffffaccceff0000b3
+33fffff06666ff0029cccd08ffffb7e666f75505ffffee199abbfffffbb33397ff00
+354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b769185c0fffff9b334
+92ffffefe666ff00146666ffffcd666608ff007f999afbd005917c9185988b958bff
+0006e666ff00066666ff0007199aff0010999a08ff00856666f7cd05ff0012b334ff
+002be666ff000ae666ff0019199ac39091918ba08591778a738a718b6a8b698c728c
+85858b769185080bffffe9199aff0021ccccff00073333ff00018000ff002cb333ff
+0004b33491918ba08591708a5f8a6d8b6d8b6d8c718c85858b769185ad88a77aa762
+08e2fb1305ff0004e666fffff8cccdffffffb334fffffccccdfffffc6666fffffb66
+660837fb0005ffffd86666ffffcd199affffe9999afffffce666688985858b769185
+9f8ca18ca98ba98ba78aa58a91918ba0859167ff0003b333fffff78000ff0003cccd
+ff00168000ff0020800008cae605ff00084ccdff000be666ff00036666fffffeb334
+ff00064ccdfffff7666608c53b05ff0022ccccffffd0199affffefe668fffffe3332
+ffffe04cccfffffcb33485858b769185a98cac8caf8bb18ba68aa38a91918ba08591
+ffffd2b3348efffff19998ff0003199affffd7b334ff0038e6660831f71305fffffb
+ccccff0005e666ffffff8000ff0003199aff0004b3349108dff605b0baff00178000
+90ff002480008e91918ba08591778a748a6d8b6d8b6f8c718c85858b769185ff0024
+b33487ff000b8000fffffce666ffffe7ccccffffde199a084a3005fffff8cccd81ff
+fffbcccdff0000ccccfffff86666ff000b3334080bff000f999aff001bcccdff000d
+1999ff001c9999ff000c4ccdff001d999adbf755ff002cccccff0066999aff003433
+34ff00706666ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591
+778a748a6f8b6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708
+ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd
+08ffffa74ccdf76405ffffedffffff002a3334fffffacccdff00128000c3ff00044c
+cc91918ba08591668a638a678b698b708c778c85858b769185ff0027b333869882ff
+001a33334e08ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb080bff0005b33388ff00054ccd8a918b
+a2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28b
+a38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a6f
+8b758b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e
+4a080ba3a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d
+8b4f7efb0081357d618b4a0855a878a31e0ba873a36e6e73736e6ea373a8a8a3a3a8
+1e0b71a076a5a5a0a0a5a576a171717675711e0bf730f717f713f730f730fb17f712
+fb30fb30fb17fb12fb30fb2ff716fb14f7311f0bf71ff700fb03fb1ffb1ffb01fb04
+fb1efb2020f705f71ef71ff6f703f7201f0b3c0771747a81768b698b809f8ba08baa
+a39de0a1080b9e8b9e979495ff0000999a93fffffcb332ff00054cccfffff8b334ff
+0002b33488888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080bff00258000ff002a8000ff00258000ff
+00308000bfdafffffd80009580ff0007ccccfffff58000ff00013334ffffb08000ff
+ffaa800059ffffcf8000ffffc880005a087f07ff003780005abdffffcf8000ff004f
+8000ffffaa8000ff000a8000ff0001333396ff0007cccdff000280009557daffffda
+8000ff00308000ffffda8000ff002a8000080b697368626173adaeafa2afb6b89f64
+6a1e0b54b85ec2c2b7b8c2c35fb854545e5e531e0b9899a295938794811ffc1b067f
+7e787c839183941f0bff00088000ff001ab334ff00063334ff001f9998ff00044ccc
+ff0023b334fffffab334ff0003b33483ff00019998fffff54cccffffffb334806f7d
+646c8b08380694ac9aa6b5a9080bc3b3acac8bb908cb519e593c6f58711e7e998097
+1e0b8b6270715f85fffffd4ccdfffff6e668ffffff4ccdfffff49998ff00056666ff
+fff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b333ff00068000ff
+fffa4ccdff000b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2
+b332ffffe08000ff0046999afffff4b334ff001a3333dbc6b9d01f8bc55ca66a8e08
+0ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33339dff0004cccd
+96929ba7939c8b089ba183711f0bffffb46666fb0b05fffff7e667fffff33334ffff
+fcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffff
+e666668cfffff9999a8b868b858a888a080ba7a5a5a7a771a56f6f71716f6fa571a7
+1f0ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908a4ce698b632b9185059b90958c9e8b080b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffffda8000ffffd58000ffffda8000ffffcf8000573cff
+000280008196fffff83333ff000a8000fffffecccdff004f8000ff00558000bdff00
+308000ff00378000bc089707ffffc88000bc59ff00308000ffffb08000ff00558000
+fffff58000fffffecccc80fffff83334fffffd800081bf3cff00258000ffffcf8000
+ff00258000ffffd58000080bfc5ffd23b583f85ef923050bffff744ccd2907ff0006
+8000ff00118000ff00344cccff0049b333ff00273334ff00308000080bfc5efd23b4
+83f85ff923050b9dab845c1f8b5573745e675b6665618b5b08f762060bc3b3acac8b
+b908cb519e593c6f58717e9980971e0b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff98000938c908c928b080b6d6373525265c4cc
+1e8bba9aa8b3b0ccc690c68bb608b90792838e83838288841e5f078b738a737e7282
+7a777b747a5c694d5f8b3c8b30cd4ff18bc08bb599a8a4a9a3a0a78bb108ae72937b
+78777f741e8b7e8d858f86088f868d858b7c080ba873a36e6e73736e6ea373a81ea8
+a3a3a81f0bffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4c
+cc08f72e4c05a0829988938b938b92928b938b9287918093080bfb1035057e828986
+8b848b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cce
+ff00116668ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff00
+00b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff
+0009199aff0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad
+6daf080b788b7a927b97080b7799759f6d8b608b74647d509185958a968d95ac959a
+a58b9c8b9e839d80080ba07da079a18bb98ba8b297c7858f818e808a087d61808175
+8b080b71a175a5a5a1a1a5a575a1711e717575711f0b71a175a5a5a1a1a5a575a171
+717575711e0bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000
+ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48b
+b18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee99
+98ff00303334080bfb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ff
+ffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918b
+a08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080ba99d75
+6c6f7a726c6c7aa4a7a99ca2aa1f0bf72df7b9058f898c828b7f08fba2070b8b387a
+86458885858b769185080bbc8cdc8c8b8b08f76a060bbbdb898b1f99bd9acd93beff
+fff59998ff0005e666fffff48000ff00024ccdfffff2e668fffffccccd080b774368
+503f8b08fb1c06757d9ba61ff785e607e08b8e748e5e9185a08b91918aae8aff0012
+b3348bff00224ccc8bff002180008cff001680008ca98591768b85858854887e368b
+0830f75c06a3979fa31ef406d68b9b63a146ff000c6668fffffe3334ff000accccff
+00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb
+448bfb208b050b8b8b4a8c598c85858b769185d188ff00063334ffffe8b334ffffef
+ccccffffe14ccc08fb87fc5b05ffffe04ccdffffc4b333ffffe33333fffff74ccdff
+ffd480008885858b769185080bb08c988cb28b080bb48bbd8ab08a91918ba08591ff
+ffda6666ff0002999affffcb4ccdff00064cccff00144ccdff0027199a08ecf74ff7
+468b050ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff0015ccccff003a800005ff00556668ff000880
+00ff004dccccff002d3333c8ff004fcccd86948491808b443d476c2e8bffff796666
+8bffffa2999af72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff00
+2ce666ff0031999ac8c5a7bf8b08f71e8bc239a5359787ff0009b3348eff000b4ccc
+9186bf84bb81c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd866
+66ffff9e19988bffff97b334088bffff53999aff00674ccdffff6eb333ff00d37fff
+fffffdb33308ffffdc3334359185059b90958c9e8b080bb7979fc11ed606d68b9b63
+a146ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b4
+7ceb89938b8d8a8c888b7a88838a738b08fb93060bbbdb898b1f99bd9acd93beffff
+f5999891fffff48002ff00023333fffff2e666fffffccccd080b774368503f8b08fb
+0806617d9bba1ff771e607e08b8e748e5e9185a08b91918aa58aff001bb3348bff00
+224ccc8ba78cad8ca38591768b85858854887e368b080bffffddcccdfffff46668ff
+ffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b9292
+8b938b9287918093080bf75fe30797949a96908893821f2af78206aeae99bcf76cd2
+fb43fb2efb5efb0d59fb2129809fab1e0bffffdc4ccd8bffffcab3338c638c85858b
+769185d1889c868b3808fb593c0782817c81858e83931fe2fb39068b387a86458885
+858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf78af7
+4efb2df72dfb541f448b5489648b080bfbdb07788b80841e878b7c9d6eb008fbebf8
+47fb1b8d0585858b769185b688a968917108fc35070b8b327a85458485858b769185
+b68cff002d66668cff0017999a8bff0017199a8bff002de6668ab58a91918ba08591
+45927a8f8be608f7c607ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b
+089994979e1ff87f078be49c91d19291918ba08591628affffd0b3348affffe84ccc
+8bffffeab3348bffffd24ccc8c5f8c85858b769185d1849c878b30080bffffddcccc
+fffff46668ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988
+938b938b92928b938b9287918093080bf718f6fb02fb5efb473522fb06fb0efb07f7
+01f7541ff766eee0ee1e0bff0033999aff003fcccc05ff00351999ffffd8b334ff00
+424ccdffffea8000d28bff006ecccc8bff00588000ff002fb333ff0036e668ff004e
+4ccdff0027ccccff0038b333a1ff00484ccd8bdf8bff0064999affffde3334ff0050
+8000ffffc8ccccff0038333208bdff003db33405fffffdb334ff000ee668fffff14c
+ccff000f1998788b08ffffce80004e05ffffc9999aff0027ccccffffbb999aff0015
+3334ffffb54ccc8bffff3e4ccd8bffff8eb333ffff65e6668bffff3e199a8bffffa1
+3333ff00213333ffffb24ccdff00354ccdffffc8e66608ffffcc8000ffffc0999a05
+8e7c997a9e8b080bff0041199a8bff003b199affffe53334ff002b1998ffffcc9998
+08fffebdb334fffe734cce05ffffe53333ff002f4cccffffefcccdff003c66678bff
+004833338bf766eee0ee8b080bff001bb334ffffce4cceff00104cccffffbf33328b
+ffffb133348bfb473522fb068bffffc266668bffffc4199aff001bccccffffd3e666
+ff00344cce080bf762bcf713f7461ff778078bde9890c88e91918ba085916d8a5f8a
+748b748b798d718bffffed4ccc8b8875ff000eb33480ae8498798b4908fb8a07fb04
+7bfb1afb3c1e5b8b61a06ea856c08cd18bcc08f792078bca9ba2aa90948dff0000e6
+66aafffff2199a8b728a788a628b648b5f8c668c85858b769185ff003c800088ff00
+108000868b3808fbb307fb60f72561e41e0b71a076a5a5a0a0a5a576a07171767671
+1e0bfb18078b7e85848385080b717669746f8b598b75b38baa8bb8a0b9d59e080bff
+ffb46666fb0b05fffff7e667fffff33334fffffcb333878bfffff4cccc8b84928592
+8b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b08868b858a
+888a080bfffff54ccd8efffff56666ffffff4cccfffff54ccdfffffdb3346e5d5d55
+6763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff000899
+9aff0008199a90920867b35fc06eba080b71a076a5a5a0a0a5a576a1711e71767571
+1f0ba99d756c6f7a726c6c7aa4a71fa99ca2aa1e0b5db564b9bbb3b3b8ba61b15d5d
+61645d1e0ba273946c8c3cffffa93333fffff9e666ffffbde667fffff2b334ffffd4
+e666ffffe6999967ffffeacccd70618b638bffffd66666ff000e8000ffffdf3334ff
+00228000ffffec6666ff0015e666fffff38000ff0024199afffffa8000af8bff0025
+199a8bff0032e6669ab9ba08ff000be666ff000c199aff0004199aff0003e6669382
+080bff00154cccffffe8199aff0026b334ffffd2e666e68bcd8bc5b2a8c1fffffcb3
+34ff00054ccd83ff0009e666fffff74cccff0000cccd6d686872558b408b50e48be5
+f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e738b08393d5f51779472
+aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b08a08bff001d4ccdffff
+f94cccff000eb333fffff0b334080b8b598a6a8778080b7c6357626b8b538b70ab8b
+b68bff0016b333ff000c4ccda1ff0018b333ff00123333ff001eb333ff0016b334bd
+ff0010e666ff00454ccdff00058000080b93e0b4cfcf8bbb8bae658b6b8b4e5c77fb
+2d89080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff00156666ff00394ccc05c2ff0002999aff0031
+199aff0015cccdff002e8000ff004c4ccd8794838f828c695f6075608b08424ed5f7
+09f702bbcdcd1f0bc68b93688f688e709982a08b08a0a798aac252b32b282132fb22
+1f8bffff86999aff003fb33335ff00708000fffff64ccc08ffffdbcccdffffa9199a
+9185059b90958c9e8b080b9ef705d194a38b080bb1b876371f8b8287fffffb333480
+ffffffcccc080b66656e7b518b678b61a06cbe080b77ac7fb98bc508f79e89059792
+9196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf8895
+85907f8c080bff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffff
+d8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52
+08fb57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591
+4e8f808f8bde080bfffff9e66684fffffa6667fffffd999affffffb333ff00096666
+8aa6fffffdb333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999affff
+fe199aff00036666838b080b6f807182468289858d7b8d85c18696868b5108fb5707
+8b3981874f8685858b769185a98cb38cb38bb38ba98aa98a91918ba085915890818f
+8bdd08f738078ba094979394080bb1b0b8a1b28b9f8ba07e977495778d708b6d08fb
+2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba086915390
+808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccd7effffc4b33347
+080bfffff54ccc8efffff56667ffffff4cccfffff54ccdfffffdb3346e5d5d556763
+918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff
+0008199a90920867b35fc06eba080b25cffb05f7221eff004066668bff00306666ff
+0016b333ff0022199aff00214ccd080bff002cccceff002bcccdff00144cccff003e
+e6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b33370ffffdb666760
+ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080b25cffb05f7221eff0040
+66668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff
+00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b333
+70ffffdb66676008ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080bffff
+d7999a5a05ffffe1199aa0ffffd84ccc98598bffffbe33338bffffc9b33370ffffdb
+666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc8bffffce199aff0010
+4cccffffcb6666ff00214cceffffd74ccc08ffffcb6666ffffc03334058d7c97809b
+8b08ff0032cccdff003dcccc05ff00213334ffffe53334ff002be6667aff0037199a
+8bff004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff00
+2bcccdff00144cccff003ee6668bff003d4ccd8bc5ffffee4cccff003f4cccffffd5
+ccceff002c999a08ff0029e666ff0033199a05879881957a8b080bff00274ccc8bff
+00208000ffffefb334ff0017999affffe0800008ffff42e667ffff1ab33205fffff3
+ccceff00224ccdfffffae666ff0025199a8bff001db3338be2a0e4e58b080b9affff
+dc999aff00083334ffffd1cccc8bffffc7999a8bfb124a6c5c8bffffd066668bffff
+df199aff001a6666ffffea4ccdaf080bb28bba9fbcb3908fff00094ccc8dff0000b3
+3484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff0000
+8000ff00068000ff00028000080ba19dae9ac89291918b9a85914b90829e8bbc08f7
+5407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f
+8b4908fb55078b7889837d7f080b666b657b728b086d5999e41ff74a07a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746
+a948ee1e0b9896a097918796811ffb75068080777f848f80941f0b6f06846457755a
+8b568b5ca183b2086f069045c560d48bcd8bcbb591d2080b707f059936be59d18bc6
+8bcbbc97e10870970581515d6b578b08558b60b080c0080b6fa373a7a7a3a3a7a773
+a36f6f73736f1e0b71a371a3a7a3ff001ae668ff00151998a376a770736f73731e0b
+b606a9adababb1a8087c9f05657b6b7866716aa4699e649c087b7705af6fae6da966
+080bbd06a8b9b1b8aeb20878980566706972666569af6aa464a808777e05ae65b05e
+a85c080b6d7d797b7b9075b49391837e1f8b747666618208907a05d193abc98baf08
+af75b0651e0b8b78fffffe199afffff83333fffff1e666fffff3cccd080b666b6b7b
+728b558b53c68bf7118bd399b39aa0aabab58e9f8baf8ba47e9f74997b8e848b6c08
+0ba19dae9ac89291918b9a85914b90829e8bbc08f827bc07ff000c4ccc8dff000ab3
+34ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff
+00014ccc08509506cc8fb38b1e92878e821e7281407d638889838d7b9185ff0030e6
+66fffffd3334ff000d999aff00043334ff00016666ffffba999808ffff75199a067f
+fffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f728
+2506848989841e878b629c6a8b498b5f756365606071508b41080b6f06846457755a
+8b568b5ca183b2086f069045c560d48b08cd8bcbb591d2080b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e
+5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858588
+54887e368b0830f74806b7979fc11ed606d68b9b63a146ff000c6666fffffe3334ff
+000accceff00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a8883
+8a738b08fb93060bfb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8b
+e8a4cfc5080b809486938b9608f708078bff002333339cff0009cccda88e91918ba3
+8591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666ff
+fffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237
+f73df718f743ff00718000f70cff007480001f0bf7258bb438a535ff000b4cccffff
+ff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f
+9566aefb038b080b3782d2cbd1a4afc2caad5d381f0b96889b89988b080baa8ba78e
+998bbd8bb58aa87bb275977d8b7108432165316737a8cf1e8bad8da4a8ae080b9e9d
+9d9f1f0ba0789b701e718b5b7a7169080b7f936a9f508b328b394f8b2f8b55a36ca7
+70080b556b6f5d8b600834dd70d8f71bf726ccf7001e8bab7ca46ea364ab458c668b
+798b72897388080b7c8a818a868b6e8b68998bb68b9f91a0979ca37da784b28be38b
+dcc28bed8bba7da66ea90892959f99988b928b928891828f839881968b080b6e7678
+731f8b70a4829c889d8998878b778b7971735a808b828d829185c494bca98bc708bf
+73ad651e0bae9ba49b9c81a363ffffe7cccdfffffb3333fffff96668ff001399981f
+8ba29fabc4978b928a94878f6586ffffe3e666ffffef1998ffffef199affffeae668
+7b7784758b730867a266b21e0bf825078bde9c90d18e91918ba085915f8affffd080
+008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b38
+08fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff002399
+9a8bff003066668ab88a91918ba0859108458e7a908bde080b8bde9c90c78e91918b
+a08591658affffd4b3348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b
+769185db889c868b3808fc4e07fb48576f6a1effffece6668bfffff1ccceff000bcc
+cd84ff000eb33385ff000cb333fffff73332ff000ccccdffffe7199a8b087d6d7675
+67c079a11fb88baa93b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723
+080bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f806382468289
+858d7b8d85c18696858b52080bfb1035057e8289868b848b839184948b948b978ea0
+9408f724c505fffff34ccdff00154cccffffeb4ccdff00116668ffffe36666ff000d
+4ccc080b8b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08f86107cc8fb38b1e92878e821e0b7281407d638889838d7b9185c5
+8791888b40080bb28cff00394ccd8cff0021b3338b08ff00d4b334060bff00103334
+7fff0015cccc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668ff
+fffeccccfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408
+0bff00174cccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080bff0012
+99987aff00126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d
+8b8d8b8d8d08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000
+ffffeb199a1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d
+8d08f1f70d058f908c918b90080bfffffe4ccdb3fffffe6666ff0019b334fffffb4c
+cdff000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f807182
+468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb28c
+b38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d080b969b
+a2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ff
+fff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464
+8580fffffb333393ffffffcccd90080bffffc6333293ff0002199a9effff9e4ccd8b
+080bffff9ab3333248211f8bffff96999aff00568000ffffcfe666e3ffffde8000ff
+003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ff
+ffb033348b080bffffa280008b4fff002a800075ff00638000fffff3b3338ffffff5
+6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff0058b3338bff
+002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff0023ffffff0024
+8000ff003d999a8bff003f999a088bff006a6666ffffafe666ff002e999affffad99
+9aff001ee666080bffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a
+8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe3334
+98ff0000cccc9492fffffc8000bb87a7fffff5b334c0080b8f5a8e5c8b61958d958c
+908b928b918b9289080ba684a687b08bc38bf2a68bee8bff00444ccd5aff0027b333
+47ff00193333ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b
+080ba18bc583983691859f8c91918eaf8db08cac6c905b99578b418b485b8b4b8b42
+ac6cd86b080bde699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b3
+33ff000ab33475a280b785a4088591788a8585080b8c898d8a1e0b6988fb03863c8b
+0835060b3e8bfb0a90658e898b89898b8a875e8157805b9587978a978b080bcb95b1
+af1ea106d68bba719c3e968b998c948f84b986be8ab8080b9fdbb9a5cd8b08bc06b0
+95654e1ffc15078b387a863b8885858b769185bc8cff0032e6668cff0028199a8bff
+002666668bff0032999a8abd8a91918ba085913b8e7a908bde080bfffff54ccc8eff
+fff56668ffffff4cccfffff54cccfffffdb3346e5d5d556763918292859489b2a1ac
+a8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b3
+5fc06eba080b91918ba085916d8a688a678b658bffffe533338cffffe5cccd8c8585
+8b769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082
+e666fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b93
+91919a08ff00828000f7d105ff00106668ff0028e666ff00111998ff001c199abe8e
+91918ba08591778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3
+199afffff1e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7cccc
+ff0014cccd08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a
+6d8b728b6a8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e6
+66ffffd3333408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199a
+ff00208000083bf76205ffffed199abb8c9bbb8e080bff0087b334078bff001dcccc
+ff0001199aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b3
+34ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b
+8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808
+ffff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8b
+ffffff00cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a
+658a638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ff
+ffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080bfffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a080b9fd4aaff00114ccca9ff0000b33408f714
+8e0547fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f86
+8e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000
+ff00056666080b90c395c697bf848d808e7e8b6c447254fb018908fb5587057affff
+ff999a83ff000566668b948b908e919094d4f5f74cf799f70af72cff00151998ff00
+1b3334ff0002e668ff0006cccc8b968b92868f838b080b7f8b6c896d8b08fb71060b
+ec06f71ba729524d6c36fb31507e99af1f0bac8baa89b88bdc8bcd90c4b1ff002980
+00ff001b999aff00258000ff003699998bff0040cccd08d766f701fb601efb01f75d
+060ba39792a31ef71106d48ba157a037ff000d8000fffffe8000ff000d4cccff0001
+3334ff00083334ff00054cccfffffe6666ff00369998fffffaccceff00386668ffff
+f3ccccc7080b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8b080bc0bfbebce88bf71b8be7fb218bfb4e8b7d8b7f8a
+8008fc720696fb22d2fb16f7548b08f755f1f723f757f73335f741fb6b1ffb028b5c
+663c41080bf8190679274b2d218b298b43cb6cf716080b8bff0072ccccffffd41998
+ff0058999cffffba4cd0ff00383330080bff00354ccc90ff00164cccff002366688b
+bd08bb6cb6656d7b7c731e8b779874ad87998a9c808b7e8b695f83808bfffff4b334
+8bfffff69998ff0000b334fffff54cceff00024cccffffd0ccccff0018e668ffffc9
+4cceff000d1998ffffc54ccc8b08ffff3e4ccdffff8eb333ffff65e666ffff3e199a
+fb59f723fb0ff73e1fff006ecccc8bff00588000ff002fb333ff0036e668ff004e4c
+cdff0027ccccff0038b333a1ff00484ccd8bdf080b25cffb05f7221eff004066668b
+ff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff00144c
+ccff003ee6668bff003d4ccd8bff003c999affffecb334ff00426666ffffd19998ff
+002ccccc080bff0029e668ff0007999aff0018ccccff001fe6668bff002fb33408ba
+71b4656e7a7c731e8b779975ad88998999838b7e080b696185801efffff8cccc8bff
+fff9999aff00004cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e6
+66ffffd680008bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd5
+666678ffffc5ccce8bffffc0cccc080ba89aaed3d0d074fb13fb00575f2a1e0b728b
+638d808e080bd68b9a5aa146ff000d4ccc89ff000b999aff00034cccff0008199aff
+0003b334fffffbb334ff00301998fffffbe666ff002fe668fffff36666c608fc098b
+050b268c05fffffc6666fffffa1998ff0000199affffebe668ff0003800085a387ff
+000eccccfffff56668ff00113334ffffe8999808f757fb9e898afb71fb9505828082
+848088fffffccccdfffff96666ffffff6666ffffec199aff0003cccdfffff9800008
+0b8bb68da71ef83606ff000f3334ff0035e666ff00059998ff00378000ff00053334
+ff0037999afffff74ccc907eff0001999afffff4b334fffffe6666774371543e8b08
+fba98bf798f7ac8c90fb6ef7a7050bff002accccff00046668ff00253334ff001dcc
+cc8bb608ba7cb0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668
+fffff933348b828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a
+07fb047cfb1afb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89
+d78bcc08f792078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b
+769185c7889c868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f
+333494ff0013ccccabff0002cccc080b738b689c74900876fb50a589058fb7a8ded5
+8c08f78d8bfb58fbf505998e968b9b8b08d0f70755fb332c2afb0d341f548b59a96b
+bc7ea06f99708b086981707449f72a68dbf734f718f70ff71f1f8bf7034ceefb1aa6
+08f73cf7c205949a919b8b9508938491761e0bf87407aeae99bcf76cd2fb43fb2efb
+5efb0d59fb211e29809fab1f0ba0d0b1ff00239998d6ff0001666808f7678f05ff00
+05e668ff00001998ff00041998fffffce6688b858b86888586842afb0ffb52fb9e25
+fb2c858389838b8408819086991eff016c4cd006a6ff0063b330898b1f0bfffffd99
+98fffffc6668fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff
+000c999cfffffe199aff000b9998ff0002999a080b9fd4aaff00114ccca9ff0000b3
+3408f7148e0547fb0627fb243d22fffff76668fffff46666ffffff9998fffffc999a
+8b86088493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff
+00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668fffffe
+cccd08fb1906d5e9f3f731c9f1ff000f4cd0ff00193334ff0002b330ff0007cccc8b
+8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6688bfffff39998ff0004999aff
+fff18000ff00056666080b78980566706972666569af6aa464a808777e05ae65b05e
+a85c080b9fd4aaff00114ccca9ff0000b33408f7148e0547fb0627fb243d22fffff7
+6668fffff46666ffffff9998fffffc999a8b86088493869a1ef7cc880597ad98bf92
+bdfffff98000ff0003b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffff
+cb3333ffffeb999875ffffcbe668fffffecccd08fb1906d5e9f3f731c9f1ff000f4c
+ccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06
+ffffdfe6688bfffff39998ff0004999afffff18000ff00056666080bffffa08000ff
+ffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999a
+fffff9ccccff0006e6668bff0006e6668bff00094cccff00029998ff00103334ff00
+07e66808ff006ee666ff0033199805fffff63334ff0012ccd0fffff0199aff000f4c
+ccffffe9e666ff000bb334080bffffe5b334fffff5ccd0ffffede666fffff23330ff
+fff1e666fffff0666808ff0076999affffc8800005ff00103334fffff81998ff000a
+b332fffffd6668ff000633348bff000633328bff00054cceff000633348b928bff00
+06333488ff00054cccfffff7800092080b78fb054582738b658b5ea08bdf8b948fff
+0004cccd96ff00003333080bb0b1a89bc58baf8bb576aa589f6a975d8b5108fb9e8d
+057f84858037a931f71fe2f705def72c1f8bc37dc16ab169b35ca3438b3f8b556863
+578e819186978a080bbbdb898b1f99bd9acd93befffff5999891fffff48000ff0002
+3333fffff2e668fffffccccd080ba273946c8c3cffffa93333fffff9e666ffffbde6
+67fffff2b334ffffd4e666ffffe69999080b67ffffeacccd70618b638bffffd66666
+ff000e8000ffffdf3334ff00228000ffffec6666ff0015e666fffff38000ff002419
+9afffffa8000af8bff0025199a8bff0032e6669ab9baff000be666ff000c199aff00
+04199aff0003e6669382080bff00154cccffffe8199aff0026b334ffffd2e666e68b
+cd8bc5b2a8c1fffffcb334ff00054ccd83ff0009e666fffff74cccff0000cccd6d68
+6872558b408b50e48be5f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e
+738b08393d5f51779472aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b
+a08bff001d4ccdfffff94cccff000eb333fffff0b334080b8792858f828b75757b7b
+6e8b668b7ea08ba58bff00314ccdff00256666ff001fb333ff00524cceff00436666
+ff00231998a0ff001dcccca7ff0017999cff0021999aff0027ccccff0038b333a1ff
+00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e19
+9afb59f723fb0ff73e1eff001bb3348bff001a4ccc8eff0018b334ff0005b333ffff
+c89998ffffd8999affffd8b334ffffd680008bffffd433338b55b177bd8bb48bb39f
+a8b8080b8792858f828b75757b7b6e8b668b7ea08ba58bff00293333ff001a199aff
+001ce667ff0038999aff002fb333ff001b8000ff0009e666a29aff0012b332ff0012
+4ccdff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd08f352f70dfb
+2d1effffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5
+ccce8bffffc0cccc8b25cffb05f7228bff0005999a8bff00058000ff00003333ff00
+056666ff00004ccdffffce999a66ffffdde666ffffd94ccd8bffffd733338b55b177
+bd8b08b48bb39fa8b8080b8a5e855f835a08a588059fd4ada0a98b08f725060bfb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34cccff00154c
+ccffffeb4cccff00116668ffffe36668ff000d4ccc080bffffb46666fb0b05fffff7
+e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707
+f70188960574a1ffffe666668cfffff9999a8b08868b858a888a080b8b828e848f87
+08ee37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff
+0004999808ffffc4b334f701058693848f808b6e8b7fffffea33348bffffefcccc08
+0b8b838d84908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b92
+8b91908b928b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7
+02058693848f7c8bfffff04ccc8bffffe9b334fffff14ccc8bffffe8b334080bffff
+e8999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d
+8a8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df7
+1f058694848d7f8b080bffffe08000fffff58000ffffe9ccccfffff233341f8b868c
+85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66668bff0002
+999a8b8c8b8dfffffeb3348e08ffffc14cccf7230587948390808b080ba70692b2bf
+a1bc8bc08bba75936408a70686d151b6428b498b4b618544080ba697057de058bd45
+8b508b4b5a7f3508a67f0595c5b9abbf8b08c18bb6669656080b8b828e848f8708ee
+37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff0004
+999808ffffc4b334f701058693848f808b086e7fffffea3334ffffefcccc1f0ba706
+92b2bfa1bc8bc08bba75936408a70686d151b6428b08498b4b618544080b8b838d84
+908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b92
+8b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f70205869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080b8b828e848f8708
+ee37058d898e8a8e8b908b93908b938b8efffffecccdff00036668fffffd8000ff00
+04999808ffffc4b333f701058693848f808b086e7fffffea3334ffffefcccc1f0bff
+ffc6333293ff0002199a9effff9e4ccd8bffff9ab3338b32488b218bffff96999aff
+00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ffffe3e6
+678bffff9e33338b3affffd2cccc61ffffb033348b080bffffc4cccdff00163334ff
+ff9c1999ff0025cccc8bff0054199a8bc3ff0032999ac3ff003ae6668bff0061199a
+8baa4d9f49ff000a8000fffffe333498ff0000cccc949208fffffc8000bb87a7ffff
+f5b334c0080bf81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab8
+080b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b769185bc8cff
+0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e
+7a908bde080b8bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000cccd
+f77505cc8fb38b1e92878e821e0b7281407d638889838d7b9185bf8897908b3708fc
+49078b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff0020cc
+cd8aa78a91918ba08591ffffcd33338f828f8bde080bb08cc78cac8b08ec8b632b91
+85059b90958c9e8b080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00156666ff00394ccc05ff0046
+199aff00034cceff00328000adb1ff00316666889585907f8c66656e7b518b678b61
+a06cbe77ac7fb98bc508f79e89050b97929196df6de5fb1f34fb0538fb2c1f8b5399
+55ac65ff001e4ccdffffdc6666ff00289999ffffe9199aff003b4ccdfffffb666608
+ffffdbcccdffffa9199a9185059b90958c9e8b080bff000b199aff00094ccea09791
+fffffc999896fffff780001fffff40ccce06fffff6b333fffff69999777f84ff0003
+666780ff0007b3331f0bffffefcccc8bfffff1999aff0007b334fffff26666ff000d
+3334080b7aff000f6668ffffed3334a1ffffe680008bffffdb80008bffffec6666ff
+ffd51998fffff41999ffffbf1998ff0005199afffff96668ff00088000fffffee668
+ff00096666ff00023330ff00088001ff00244cd0ff00088000ff00108000ff001619
+988bff000e80008bff0010199afffff73330ff000f4ccefffff3e668080bff0011cc
+ccfffff09998ff0011e666ffffec3334ff0012b3348bff0027199a8bff00189998ff
+002ae668ff000a3334cdfffffae666ff00046664fffff7999aff00034cd0fffff699
+9afffffee66408fffff4199affffd1ccccfffff6b33280ffffed4cce8b080b4190ff
+ffff999aff001a999aff00156666ff0036666608ff009de666f825ff0004999a8bff
+009f199afc2b05ff00173332ffffc48000fffffa3334fffff28000478485858b7691
+85b38cb88caf8bff00244ccc8bff0022b3348aac8a91918aa085915490fffff81998
+9cffffe56668d008ffff3a8000f8940585ff000f999884ff00076668818b808bffff
+f8ccccfffff74cccfffffa3334fffff1b33408ffff314ccdfc9205ffffecccceffff
+d0b333ffffefe666ffffd94ccd4c8485858b769185a98cae8ca28ba28bb88ab48a91
+918ba08591080b5b4061621e7d8bfffff0199aff0003199afffff5e666ff0004e666
+ff0003199aff00094cccff0042199aff006bb334ff0036cccc8b089c9a81721f0bc3
+acacc31e948bad85938b08a2929697978194781f868b5e868a8b080b6067a1d0cdb8
+91aa1fb28b9c769675957a957ba18b08989e93a8af51af3efb0a6843631f8bffffcf
+b334ff001a3333ffffe39999ff002dcccdffffecb3330889070b437278568b658b51
+ac4af7188bca8bc1a8acaaffffff999aff000accccfffffa199aff00076667fffff7
+4cccff0002cccd6470657b5c8b085461b3c01f0bfb8507ffffc48000a6ffffdf8000
+c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667fffff56666ff
+00023333787377786f8b087c8399b41ff78807ab89c98b1e7c857b89788b7f8b728c
+858c088989059c688c5f8b6f080b8bde968ec89091918ba08591698a698a5f8b608b
+688c6a8c85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8c
+ae8cb78bb68baf8aab8a91918ba085914e8f808f8bde080b638b70b183a183a37e95
+748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b
+8f858d848b898b67856e8b08fb5f060b9d8bb58db18b08f744060bff0031b3348fcb
+8b1e8f868e831effffe3800080ffffd8800082468289858d7b8d85ff00368000ffff
+fae666ff000a8000fffffa199a8b5208fb160720a231f71aedeee0f742f70c64d44c
+7a7a7e7a1e8b74997d9f80a87bab7c8b2b082954fb022f407fd4f01e0b6b6975561e
+4a0697a7a4c9ca8b08b595757d1f0bf70807a9a291bbbfaafffff18000ffffc48000
+6371654d1e0bc8a5ffffd78000ffffc4800048657855577894b91f0b608b688c6a8c
+85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8cae8cb78b
+b08bac89ce8be18bcca38bee8bc368ff002680004eff000b8000088e070bb9ff0008
+8000aeff002080008bc78bd160a9fb0d8b628bffffe5e66689ffffd5199a8b080b8b
+de968ec89091918ba0859168895f8b6a8b6f8b638c648c85858b769185c88792878b
+38084afb6acc078bde928ec89091918ba08591658affffd9cccd8affffe033338bff
+ffe266668bffffd6999a8c638c85858b769185c88796878b3808fb4d078b3880884e
+8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002733338aaf
+8a91918ba085914e8f848f8bde08e2f76a34078b3884884e8685858b769185af8cff
+002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f80
+8f8bde080bac88ff00033334fffff46668fffff1ccccffffdf999808ffffd1199aff
+ff94999a05fffff3e666ffffe54cccfffffc4cccffffffe666fffff5ccceff001ce6
+6808ffffdae666ff00694ccc05fffff48000ff0020b33489ff000b4cccff00208000
+8e8f8f8b9a878f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff
+001c3333fffffb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea
+3334ffffdc6667ffffae666605fffff3e666ffffe54cccfffffd8000ff00004cceff
+fff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ffffff
+3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b75
+8b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce66808
+ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff0008
+19998bff000633348bff0003b333ff0005199a909608c6ff00819998ff00349999fb
+17058f81ff00036666fffffb4cceff0008199a8bff000633348bff0003b332ff0005
+199a909608ff00533334ff00b6cccc05ff000de666ff001e9998ff0007999aff0011
+e668ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c
+8f87080b78807e7b7c987e9c9c98989a1f99839a751e0bfb1f072e82686e1e868b87
+8f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f726
+070ba68da68b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598918461
+1f0b8f8b908b8f879184927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a91
+8b8e8ba7899888928a8e8a8e868b080b7a83778560858a878d7d8c87ac8894868b63
+0820078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f928b99879369
+8d7a8e8bb408ef078b9390948f90089ba29b93928b080b657565681f8b719a3fe687
+088f9c05619379b08ba208968f9292b490a49c9b809d671e0bfffff54ccd8efffff5
+6666ffffff4cccfffff54ccdfffffdb3346e5d5d556763918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff0008199890920867b35fc0
+6eba080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc
+8b849285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b
+868b858a888a080bf737077f8f828d828b848b8489818708fb390797879389938b92
+8b938d9691080b98959d97928792821ffb61067f817a7f848f83931f0b8b81f71e3d
+05ff000fb333fffff73333ff00084ccdfffffccccd918b928b92938b918b92889183
+940829f2058a8c868c878b6e8b74748079080b908b928c938f08f717c3058e8e8e98
+8b938ba7819e839508818ffb0c24057f8080828b828b888c80988b080bf73c068e90
+8d918b928b9289948695084df700068592838e838b848b8388858708fb034a078884
+89858b848b848e839182080bfb3c06888689858b848b848d82908108c9fb00069184
+9388938b928b938e918f08f703cc078e928d918b928b9288938594080b707f059936
+be59d18bc68bcbbc97e10870970581515d6b578b558b60b080c0080b8792858f828b
+75757b7b6e8b668b7ea08ba58bb9adabc9be087d9c053b5a4b578b538b55b177bd8b
+b48bb39fa8b8080b8b5884876a8987878b7f8f87a08c9e8ba48ba48b9c8ba18a8f8f
+8b99878f6a8d848d8bbe08f77707b38da58b1e8f898d851e7b855e8272898a868b7f
+8f87ab89938f8b57080b8e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc8
+8bbd5d9e58a0080b699981948ba38ba6a098a48b9e8bad81995108a28c82d6058092
+64956c8b5a8b5e6b8b618b5eaa7bb978080bbd7693778b768b707380738b748b7897
+84917b9b85a68a99080b687b727b7a9573b3ff00183333ff0004cccdff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666
+ff0015199a9b9f92a18ba308af74b0641e0b687b727b7a9573b3ff00183334ff0004
+ccccff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff00
+10e666ff0010e666ff0015199a9b9f92a18ba308af74b0641e0bff00a34ccdff003c
+4ccd8bff00254cccfb7cffffac33348bffffe46666f77cffffac33338bff00254ccd
+050bffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a8000fb7cff
+0054cccd8bffffdacccd050b9c7bb454616a68757f937c9e949895961e8b9388918a
+8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5
+959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a072727776721e0ba697057d
+e058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18bb6669656080b6ca274aaaa
+a2a2aaaa74a26c6c74746c1e0bccf72c470792859288918b928b928f959308e2070b
+998793771efb4d067b7c7e801f330792889287938b08928b928e9392080b98959d97
+928792821ffbed067f817a7f848f83931f0b98959d97928792821ffb75067f817a7f
+848f83931f0b390751b273bb1ea48bb9999ad00872930584707b73798b08777fa2c2
+1f8bbf7592050bf737077f8f8b8d828b848b8989818708fb390797878e89938b928b
+8a8d9691080bbd61b4581e828b838a848908936c05908d908b918b08ada2716a6c75
+6f681f828b848c848e087f6d0596869689988b08beb5b4be1f0bf71c8bf71cb0ebf7
+07087a9d053e4e3d53fb588bfb548b31c346c8087a7905e5fb05f71464f72a8b080b
+f9730698989f97948893801ffd73067f7d777f838e82961f0b478b6a9a63bd08717d
+05b256c86dce8b08eff70cbaf74df71241e6fb2d1f478b566d645608a57d05b2bda5
+9acd8b08f3ae34fb0bfb1e5462411f0baca4a6a9ac6ea56e6b716f6c6ea26fae1f0b
+8bd58ebeb1b39ea0b5a0af8bcd8ba47cb35908a5990564c055a9488b448b51736463
+686974478b5c8b34a158b463b263c179cb8bcd8bc9a9b2c00871990562586a7a488b
+578b3ea48bf730080b7e8b808587800857fb23058a888a878b888b849185938b8f8b
+908f8e8f08e7f70e058f908d938b908b9f759a778b080b7e8b808587800857fb2305
+8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90089f759a77
+1e0bb7979fc11ed606d68b9b63a146ff000c6668fffffe3334ff000accccff000219
+98ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb93060b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bff0087b334078bff001dccccff0001199aff0010e666ff00106666ff00
+1d999a08ff00778000f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe6
+68fffff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb
+3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff
+00099998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00
+113333fffffa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffff
+e28000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff
+003466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a
+908bde080bf703b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22c
+f70066088f5b248b050b568b788886c0fffff7b333ff0003999afffff7999aff0000
+b333fffff7b333fffffbb3338b62ff00024ccdffffd83333ff0004b333ffffd9cccd
+08f76906969191941f83f714050b2fc964c88bf70408f714d1f70af71ff716db21fb
+211e8bfb0063422f560883fb1505829086971ef764060b8fad8eb88bb3fffff8b334
+8ffffff74ccc8b8187855276925a8b082a060b8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f855070ba39795a3
+1ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b3
+34ff00044ccc080bfffffbe666ff00544cccfffffa999aff0026e668fffffa8000ff
+0021cccc080b648a3a8a8b8b080b748b538c598c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b28cff00334ccd8cff0027b3338bb18bbe8ab38a
+91918ba08591458e7a908bde08f82d070bc9a197a31ef75906a3a17f4d1ffc2d078b
+387a86458885858b769185b18cff0036999a8cff002466668bff0026b3348bff0035
+4ccc8ab18a91918ba08591458e7a908bde08f825070b8bde9c90d18e91918ba08591
+08598a578a708b080bfc25078b387a86458885858b769185b88cff00314ccd8cff00
+23b3338bff002366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e07
+0ba184a388ae8b08f74ac2f70be0c664f6fb4d1fffffd9b3338bffffc54ccd84638b
+ffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b38080bf711f787057e
+8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000fffffe66
+66fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b0830fb11
+50fb4c1f0bfb10c139f7141ecf8bb9b4bdee089464050b9b47a56ab08bb78ba4a3a1
+ca8592848f7f8b7a6d7e84728b748b77a87ec0080b692c614d5d8b08416ee2f700f7
+07c7d2ce1fc78ba549a22b080b8bb3fffffcb333ff0019b334fffffb4ccdff000a4c
+ccfffffde666ff0004999afffffe199aff00036666838b080b6f806e82468289858d
+7b8d85c18696868b5108fb89078b7989708d818f7a9981ab8b08b182b7b11fff00ee
+8000070bff002f8000ff002f8000b7a8ff002280008b08c891564a1ffba7078bfb06
+8a497e69089679dbad058f9b8c9f8ba38bb288bb8bbe08f7b307f70762b6471effff
+b580008bffffd78000ffffd98000ffffd26666ffffcf999afffffe6667fffffdb332
+ffffff3333ff000333348b90080bf711f787057e8b76867c8b7c8b79907c8b08ffff
+d08000fb1405fffffd3334fffff88000fffffe6666fffffb8000fffffdb33295ffff
+ec3334e2ffffd88000bbffffb680008b0830fb1150fb4cfb10c139f7141fcf8bb9b4
+bdee089464050b9a5290648b70087186797d7c83a7b31e8ba293ae99b4080b8bb3ff
+fffcb333ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199a
+ff00036666838b6f806e82468289858d7b8d85c18696868b5108fb89078b7989708d
+818f7a9981ab8b08b182b7b11fff00ee8000070bff002f8000ff002f8000b7a8ff00
+2280008b08c891564a1ffba7078bfb068a497e69089679dbad058f9b8c9f8ba38bb2
+88bb8bbe08f7b307f70762b6471effffb580008bffffd78000ffffd98000ffffd266
+66ffffcf999a08fffffe6667fffffdb332ffffff3333ff000333348b90080b93b38b
+bb8bc508d907a77aa581b68b08f71aede3f72df70631e9fb0c1f5c8b5a7e61607070
+6a698bfb1e08fb56078bfb1080577e69089679050b205a50381e5e8b68a16ca908f7
+2d07f726c3a6b6dbcb55fb321e0b8bf7082de72db8fffff2e666fffffd199affffff
+199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68ae6dd09ab094c28ba3
+08a38898707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcba
+ccb48aff00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb
+17db42e51ec48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080bfb8507ffffc48000
+a6ffffdf8000c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667
+fffff56666ff00023333787377786f8b087c8399b41ff788070bab89c98b1e7c857b
+89788b7f8b728c858c088989059c688c5f8b6f080bf76507f724cff723c61e9d8b95
+7d927891789c86988b08a0999d9fae6ba35a1ffb0c8b5afb48825008880680f71250
+f705218b618b6378746eff0002b333fffff88000ff00064ccdfffffb199893fffffc
+6668a19d9b8fb28ba88bab7aa952a45a9a2e8b2708fb46078b387a863b8885858b76
+9185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a908bde080b799c0570633f
+4b208b08fb1e43f716f72df793f712bad91ff18bd452947508a8a305899049e4fb1e
+8b08fb35fb21fb1efb59fb47f70bfb2ef7501ff7048bd6cfaeca080b8bb7e0f720d9
+f71257fb93fb035afb3ffb371e208b3ece71b3087b7a05ae4cd343f7048b08f74af7
+14f725f74ff7592ef71ffb651ffb058b38468171080bc58ba86bce8b08c6caa8a493
+868f871f838b7b7b658b080b8bde9c90d18e91918ba085915f8affffd080008affff
+d980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff00
+3066668ab88a91918ba08591458e7a908bde080bf825078bde9c90d18e91918ba085
+915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b7691
+85c1fffffdb334ff00168000fffffc6664ff00076666ffffd8666808fffffa3334ff
+ffefccccfffff6b332ffffede668fffff4b334fffff1cccc08fffeed3334fbea05ff
+fff8b332fffff8b333fffffa3334fffffc999afffffb6666ffffffb33308f7f8078b
+de9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf
+80008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b8
+8cff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba08591ff
+ffc93333ff00024cccffffe9b333ff0003b334fffff8e667ff00294ccd08ff0006e6
+66ff0017b33395ff0008199aff000bb333ff000ee66608ff0111199af7e805ff0004
+e66691ff0005199aff00048000ff00078000ff0002800008fbf8078b387a86458885
+858b769185b88cff0030b3348cff00244ccc8bff002399988bff003066688ab88a91
+918ba08591458e7a908bde080b6a749c9c1f8b908c918b8d089a819a7470817d7857
+c674cdcdc6a2bf9e81997074817c7c1e8b898c858b86087a747a6a1e0bff00b28000
+fc17056c4072766b8b7d8b7c988494819775927d8b086d78776f6bbb74b51fe58bc2
+d5b6f70108ff008db334f7fc05ff00124cccbb9bb0cd9391918ba085916d8a688a74
+8b748b5a8c668c85858b769185d5868872775308fb01fbbf898bffff756666f7c505
+ffffe5999ac48a9bcf9291918ba08591668affffcf33338affffdccccd8b6b8b658c
+698c85858c769185c486957cff0020800044080bff00c9cccc07ff00666668fffffd
+8000ff00121998ffffddccceff00258000ffff9fe666b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6664bbffffc56668ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc19
+9cfffffdccccffffdf1998ffffff999a08ff009ce666070b8bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808ffff63199a07ffffdf199aff00006666ffffdc199aff000233
+34ffffeaccccff000c4ccc50ab7dcb82c3080b81c96dc33c8b0856796e746ea280a0
+1f988b9990959596969390988ba98bff0005cccdffffdf1998ff00043333ffffe2e6
+68944da235d76f088607468b65607045ffffc56666ffff67e666ffffdc66675bffff
+be3333fffffd199afffffa3333fffff63333ff00004ccd7eff00058000fffff5cccd
+08da8c05d98cb0dcb6f702ff00258000ff0060199aff0012199aff00223332ff0066
+6666ff0002800008ffff363334078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba0859108458e7a908bde08
+0b8b6a9e78a673a970c575ef8bf7138bf705cb8bf7178be0ffffc28000ff004a3334
+ffff9d8000ff0007cccc0890070bd19fc8bc8bdf8bdd53cdfb1f8b408b54ffffea80
+0043fffff58000fffff4999affffc9cccc84ffffcb199cfffffa6666ffffcb199894
+fffffbb334ff000a4ccd8aff000bb333ff00024ccca5e3bad4f7068b08e1a8584546
+ffffd4800046ffffa680001f708b7b91708b087f7a8777779c86971fa68b9491ac8b
+080bff00718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b08777e
+7b731f0b8bde9c90d18e91918ba08591080bf825078bde9c90d18e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1
+889c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba08591458e7a908bde080b4782adac1f
+f78907ff00158000ff0001e666ff0013e6668cff00124ccd8b08ff00809999ff0033
+b334ffffcfccceffff974ccc386c3cfb181f0b8b387a86458885858b769185b28cff
+00354ccd8cff0025b3338ba88bbf89af8b08ff00ab8000ff00568000ff00458000ff
+007d8000ff007f199affffbc999aff0042b332ffff48b3321fffffe6ccce8bffffe4
+9999fffffeb334ffffe24ccdfffffd800008f720078bde9c90d18e91918ba0859164
+8affffcb4ccd8affffd9b3338bffffdcb3338bffffca4ccd8c638c85858b769185d1
+889c868b38080b4c8b6065508b658b7b9b838b088786878372ca6ec61f0bc492a5ae
+1ea106dd8ba3529951ff000b199afffffe8000ff00096666ff0001e666ff00088000
+ff0003999a87c0fffffc8000ff002b8000fffffa8000ff00358000080b8b3b896b1e
+fb12060bffffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c887
+96878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338b
+ff002b4ccd8bff0023b3338aab8a91918ba085914e8f808f8bde080b9f8c9ca298a6
+08b6e5059db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff
+0027cccc8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207
+cf87a7709d6608b6310598709c749f8a8b8bd58a9f8a91918ba08591648d81937aab
+085ee00572ba6aa3528b088e07b2969cae9ab397aa979ea08b948b93889187918796
+88988b08a19d9e9fa173a26a1f518b7055785c75546d65448b08ca070b8bde978ebe
+9091918ba08591738affffdbcccc8affffd833348bffffd8999a8bffffdb66668c74
+8c85858b769185be8797878b38084c07448b6db175c2080b78ba70c1518b086a7374
+75779d78a11f988b968e918f918f938e948ba08b9778976c9a639c68b28008880752
+8b6a73725c085e36057a6b8183648985858b769185089f8cd58c8b8b080b8b75987b
+a07ba479ac76da8bef8bd9a98bee8bc7ffffe18000b3ffffb9800097088e070bff00
+3c8000a2ff00108000a78bbf8bc563b7268bffffca80008bffffd18000785582087e
+fb0b05ff0008199afffffc6666ff00098000fffffe199aff00096666ff000180009e
+c5a4c5df8b08c29d6a63ffffd6800084ffffd080004b1f788b7a91788b088281857b
+7b9686941f9e8b9691a48b080bd599585f50ffffe980006bffffb980001f528bffff
+f58000a0ffffef8000affffff7999aff00126666fffff56666ff000d999a718b0879
+747c7b1f0b88878d951ff778078bdea094be8e91918ba08591748a528a668bffffdf
+66668bffffd7999a8c658c85858b769185c8889b828b3808fb45078b387b824e8885
+858b769185b28cb38cab8bff0016999a8bff001b66668a968a90ff000dcccdff0009
+4ccdff0013e666ff000a4ccdff0014800008ff009c6666ff0138cccc058e8f89811f
+fb77078b387682588885858b769185a28cff003633348cff0027cccc8bff001ecccc
+8bff002933348ab28a91918ba085914e8e7b948bde08f745078bde9b94c88e91918b
+a08591638affffd7cccc8affffe133348bffffe9cccc8bffffe433348c818cfffff8
+3334ffffed8000fffff6e666ffffebe66682ffffee199a080b9e7d9973797a7d7a1e
+8b888b898c898c888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e
+089b7f9975747b7c7955c26acc1ecbc5abc21f0b8bde968ebe9091918ba08591738a
+658a638b608b688c6a8c85858b769185c88796878b3808fb4d078b3880884e868585
+8b769185ac8cae8cb78bb28bb38aa18a91918ba08591588f808f8bde08e207cf879d
+709d6608b6310598709f749f8a080b638b658c6d8c85858b769185c28798868b3908
+fb4d078b397e864a8785858b769185a98cbb8cb38bb38ba98aa98a91918ba0859158
+90818f8bdd08f76d070bfffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a
+4cccfffffde666ff0004999afffffe199aff00036666838b080b6f80718246828985
+8d7b8d85c18696868b5108fc3f078b3880864e8885858b769185ae8cb08cb38bb38b
+bb8aac8a91918ba08591448f808f8bde08f700078b98ff0003cccdfffffeb333ff00
+0a3333fffffbcccdff00188000fffff6199aff001ee666fffffa6666ff001f999a8b
+c38bbd9cb4b2bab9a6c98bdc080bf540ed251effffd180008b58ffffe18000ffffd8
+8000ffffd38000fffffa6666fffff9b334fffffb199aff0000b332ffffff8000ff00
+09999a080bde9b2037347b30341f768b759175ab08f7b507a1aba495a18b080b8b39
+7e86548785858b769185080b8a9dfffff0cccc90fffff233348effffe94ccc90ffff
+efb334918bdb08f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c
+85858b769185be8695878b3908fb6d070b8bde968ebe9091918ba08591738a658a63
+8b608b698c6a8c85858b769185c88796878b380860072da066e81eca8bbdafb4a908
+3e078b3880884e8685858b769185ac8cae8cb78bb68bb08aab8a91918ba085914e8f
+808f8bde08f74d078bde968ec89091918ba08591698a698a5f8b648b638c748c8585
+8b769185be8796878b38084307696d6770578b084a88add91f0b39597e565a7a95ae
+1ef728d207d6a25e561f0b8bdf968ec89091918ba08591698affffddb3338affffd4
+4ccd8bffffd4b3338bffffdd4ccd8c6a8c85858b769185c88796878b3808fb4d078b
+3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a6261f43060b56d664ebf3ebd1f735f70d
+ffffc88000ecffff6e80001e598b577c5787080bfffffab333ffffd9b3348962ffff
+fe4ccdffffd74cccff00084cccfffffb4cccff00078001ffffff199aff000a3333ff
+0001999a9dcbacb7d98b08ff00538000ff00298000392f1f8889050b709b6f976c8b
+ffffe880008bffffece666fffff96666ffffedcccdfffff7b334080bffffefb333ff
+fff88000ffffefcccdfffffa6666ffffee4ccd8b7d8b7e91848b08858981877dbc79
+b81fff001866668bff00114ccdff0005199aff000fcccdff00069999080bff000ee6
+66ff00064ccdff000e66668fff001333348b998b988798868bfb0b6652328b618b73
+a17ea6080b7cab7d90798b08787d7e7b1f0b9e7d9973797a7d7a1e8b888b898c898c
+888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b
+7c7955c26acccbc5abc21e0b570760724527fb0958f72ff72bf744cef70ade9f9d7d
+7e1e8b7c85848b7308719f71afb292aca8bd5ebb3cfb20fb04fb2afb49fb2cbffb4f
+f75c1ef28bb0b3aabc089106aa5ab063f28b08f75cc0f74ff72cf749fb05f72afb20
+3c5e5b596e926ab2afa0a5a51f8ba384928b9a08989d999fdecffb0afb44fb2b57fb
+2ffb092771d1b61ebf07a7999bb41ea506908e8e901f8b9e898d058b2e896764348d
+8b1e89898b7805868f888f1ea606b29a7f6b1f0b6c0766844b452e7bf717d4f700a7
+e1d8998f86831e8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb01
+442efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f7
+1644e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f90
+99d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d
+058b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0b4365665a7f6f
+81a663be45ae08f70df772050bff007933348bff00641998ffffa34cccff000f999c
+ffff546668ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cccc8b080b4c
+8b6dba298bffffdbb3338bffffc4999afffff26666ffffd8b333ffffe2666608ff00
+00333407f766eee0ee1e0bfffffab33407fb473522fb061effff8f199a8bffff9519
+99ff005d6666fffff0b333f73aff0022cccdff0015ccceff0033999aff0004ccccff
+001cb3338b080bd68ba35de78bff0025999a8bff0031999aff000b4cccff0029cccc
+b1080b3a8b71464afb4f8b8b4ffb3a68fb00086ee3fb11f7f805899389918b91080b
+9b9795af1ea606908e8e901f8b9e898c058b328a68643d8c8b1e898a8b7805868f88
+8f1e9106b28b9d7a956e08f759fcc505907c9483968b958b9693919accf768caf73c
+8b8b080bd7f7719b95a38ba28b90808b828b7c78808b7b0875997ba4a69fafa31eb3
+62af621e0b998f87821f8b7c808a8b7a08759e7da3a797a4a3b36aac631e478b6966
+6bfb030851fb597fb435f76e05859987938b92080b8b9594919f8c089c068e918c92
+1f8b9e878d058b4e896469568d8b1e88898b7705879088901e9606a98b957d986908
+f71cfbed05907f9282988b958b9394919908e0f7ab059ecca8baa98b080bffff6a4c
+cc8bffff9b199affffa96668ffffda3334ffff7e333208fffff2333306ffffbde667
+ffffc9333395ff002a999aa7ff001ae667ff00154cccff00166666ff00143333ff00
+0e80009eff000fb334ff0011e664fffff18000ff000b4cd0fffff16667ffffd21999
+ffffceb334ffffc5b330ffffc03334ffffba999ac479ff004c33331fff001fb33306
+0bff000b999affffec999807ff00156668ff005f7ffeff00476666ff0056e668ff00
+65e6668bed8bdd4aaafb15080bffffbb33348bffffaaffffffffcc199affffdf6667
+ffff9f199affffcb3333ff00016666ffffd63333ff000a4ccc8bff0023199a08a4a3
+9e9f9d989c999b7e957e625f57524dbe7bcf1eff0001cccd060bff00146666ff006b
+4cccff0043e666ff0008b334ff0017999a8bb18bb8768b378b8287fffffb333480ff
+ffffcccc08fb1afffffdcccc8bff00053334050bd58bff00318000ffffc64cccff00
+0c6666ffff943334080bfffff2999afffffae666ffffefccccfffffb999affffefb3
+348b080b658b759f5e8bffffe0cccd8bffffd49999fffff4e666ffffea999afffff4
+333408ff0001e66607e2a0e4e51e0bff00008000fffff6e666ff00003334fffff699
+998bfffff64ccd8bfb124a6c5c8bffffa3999a8bffffdaccccff00638000fffff8e6
+67ff004c3333ff000bcccdff0001b333ff00163333ff0004999aff0009b3338b080b
+ae8bad6fb68bff0021199a8bff00246666ff0011999aff0016ccccff000d9999080b
+789b7b9e9e9b9b9e9e7b9a78787b7c781e0b789b7b9e9e9b9b9e9e7b9a781e787b7c
+781f0bccffffd2b33306fffff54ccdfffffa3332fffff8b333808bfffff3199a0878
+9b7b9e9e9b9b9e1e8bff000c8000fffff9199aff000ab333fffff5e666ff0005e667
+08ff002de666cbb5fb38070b8bb76597719237a5b097769b8b8b6a838b468b64a372
+bb7fffffe24cccffffda6666ffffee199affffd3999afffff5e666ffffd1999a08ff
+fffeb334ff00016666fb4ef762057c9c82a28aa8087e06747280708b708b6c986da4
+6e08ff001e8000ffffde6666050bffffc4e666ffffd9199affffec999affffb16666
+8bffffce199a080b8b60b04b8b6d8b7b797d7c89878a88878b878b898c898c8908f0
+06a3a4a9ab1f0b8bc828c88bc78bff001a3334ff0008cccdff00303332ff001eb333
+ff0014ccce08ff01028000fffee2cccc059a7a94768d72ab8b9ab68baa8baa7ea972
+a808ffffbe999aff0046800005fffff7b332ff000f4ccdfffffbb334ff001099998b
+ff0010999a8bad9bb5b1bda3899265968b088f9abeaa1f0b2006708b7ca186a2088b
+5a824362a86dbc1ff72e06dca17dfb301f8b4d8064826108fbc68b7327f8288ba2ef
+398b05b2c38fd98bc208f72989ddfb3c1e0b8bb193d88bb08bc86196618b728b6a8b
+84ad8b8b5f818b478b56c6819e88080bbe84ab818b2a8bfb1d5c6321787586837586
+718a858b868b868b7d8e808b8508f70e8fd5f72e928b050ba95a89fb07b98b91948d
+998b988b9789988995087bdf54cf8bda080b8bf700e0738bde08b7729d5e1efb7206
+708b7b9685a2088b61854162a477bd1ff78c06525e6f448b31080b8b5b8f5c8b4c8b
+76877a837f089606a3b792da1f8bd180ce8bd0080b85f7f7058bed6c915494768f67
+9186a98b8b58828b538b62ae6bbc83c083a47f8b52080bcdae95e68bb58be6799e45
+8b6c8b688b86b18b8b61868b488b5faa71c189bc89a9788b6a088b5d81646871080b
+6c8b716d80537d4a82688b798b7a9787908b938b9599b7cfabbca2b18ba38ba56c91
+7f8b080bfb81078b718b80897c089987059192939491939b7da481a98b08ccc1d0d5
+cf66c94d1f718b7482727b08c507b58da58b1e90898d851e7b845d837189088c7905
+898d8a8d1ea08a05989184611f0ba09b9791a58b08a9a965422effffd780007fffff
+e88000756a98bf1f0bfffff7b33373ffffd84ccd62758b08ffffe28000ffffe08000
+9bdbd5acb0ad1fa48ba2779b78080bff0004199aff0007b334ff0000e666fffffa4c
+cc8b888b6f8d7e8e848c888c88908b080b9c939f91b6918c8f89998a8f6a8e82908b
+b308f76c07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598
+9284611f5d077b9a7a96678b083e64433b1f0b48af59ca1ea38bb39e9cab080bfb0c
+8a05ff0004cccdb3a9afff001c33338ba38bff00214ccdfffff58000ffffffb333ff
+ffbf8000080bf70c8c05fffffb3333636d67ffffe3cccd8b738bffffdeb333ff000a
+8000ff00004ccdff00408000080b97969599977e98721f758b79827b79080b829178
+946e8b578b56698b528b6a9c789c7b080bffffe780007bfffff68000738b768b7598
+ffffed80009efffffb8000080b6c7778748b710855c27db8dae2a7ce1e8b9f829a7a
+9a73a1628f758b818b7c897d8a828a848a888b080b7a7890a51f8b988d9692959983
+9d87a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e85088d84918695
+8b080b91889589928b928b948c948b938c938b948ba98bff000f3333fffffa6666ff
+0010cccdfffff6999a080b9cfffff6800096fffff780008b7b085e4e875a76568fb9
+1e8ba08d979e9d080b4d7087755a83b7abbb9c9aab1eb09f74591f0b7a8376856085
+8a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28ba4
+8b928ba98a8f928b998793698d888e8bb408ef078b9390948f90080b4e6c6d6e6264
+b4d9daff001dcccda9ff00223333b5ad513c1e0b7a83778560858a878d7d8c87ac88
+94868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f92
+8b99879308698d7a8e8bb4080bff00068000a6ff002f8000aea48b08a7a27b422e67
+74741f758bffffdb800090fffff38000b3080bd006908bff00084ccd8cff0000b333
+91088d9d05ff00004ccd8efffffdb3338c888b080b3bea06657e8b80055c80736689
+8a8a891e897305ffffffcccd89ff000133338b8d8b080bb3fb4b065fa07aa81ea78b
+ac93a5a6087b9c057b7f778b7b8b087c859db11f0b9c939f91b6918c8f89998a8f6a
+8e82908bb308f70007a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b
+7c8f87a98993828b5d08fb09070b78757477768b086d779bbe1feb07a08dbe8b1e8d
+8a8d881e888a818a828b778b788c748c87878b7c8f8708a98993828b5d080bc9a7a4
+afaa9e77661e8b7782676b840873067a8389808093889c1fab060bae869e618b5c8b
+517d6c678b798b7a8e7ba00874808b87059873a881a68bd48bb3bd8bcd8bc577af46
+98080bbf9e97a68bad8bbc64a8508b5f8b6f7b756a787086718b62088bfbe6927db4
+9f050b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e0ba68da68b1e90898d851e7b84
+5c8371898a838c848f85080bab8996908b5608fb01078b627e88638986838c7c8f85
+a98ca28ba28bff0018b3338bff00154ccd8ba98a8f928b99879308698d7a8e8bb408
+0b250748a872b81eb08bff00204ccdff001b6666ff000cb333ff0011999aff00034c
+cdff00048000ff0001b333fffffd80008b888bffffedcccd8dfffff333338e848c88
+8c88908b080bac88ff00033333fffff46666fffff1cccdffffdf999a08ffffd1199a
+ffff94999a05fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608ff00533333ff00b6cccd05ff000de666ff001e
+999aff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f87080b355f434242b34ee01fb88baaa3a4ae08789b0577
+757876658b758b739a7da27f9e87a38ba48bdcb5acaa8bb18b90738d758d7b988499
+8b089996949fad6aac4c1f0bc3d46d2536506d381f41060b71a371a3a7a3ff001ae6
+66ff0015199aa376a7701e736f73731f0b71a371a3a7a3ff001ae666ff0015199aa3
+76a770736f73731e0bfffff54ccc8efffff56668ffffff4ccdfffff54cccfffffdb3
+336e5d5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e6
+66ff0008999aff0008199a90920867b35fc06eba080bfffff54ccd8efffff56666ff
+ffff4ccdfffff54ccdfffffdb3336e5d5d556763918292859489b2a1aca8ababa96c
+ae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b35fc06eba08
+0bffffe5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff00
+76999affffc8800005ff00103333fffff81998ff000ab333fffffd6668ff00063334
+8bff000633338bff00054ccdff000633348b928bff0006333488ff00054cccfffff7
+800092080bffffa08002ffffb44ccc0581fffff81998fffffe8000fffffb999c8bff
+fff9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff
+00029998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012
+ccd0fffff0199cff000f4cccffffe9e664ff000bb334080bffffc5cccdffff974ccc
+05fffff9b334fffff4b334fffffd8000fffffc99988bfffff6199c8bfffff9ccccff
+00056666fffffab334ff000566678bff000566668bff0006199aff00039998ff000b
+8000ff000d333408ff00589999ff005fe668fffffdb334ff0009b33005ffffee4ccc
+ff00136668ffffec3334ff0000ccccfffffb19998b08fffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080bfffffeb333ff001db33489affffffb4ccdff
+000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f8071824682
+89858d7b8d85c18696868b5108fb57078b397e86548785858b769185a98cb18cb38b
+b38bff001ecccd8aa98a91918ba08591ffffcd333390808f8bdd08f738078ba094ff
+000c4ccc93ff0008b334080bff0027999aff0026b334ff00258000ff00144cccff00
+1ee6668b08b1a773481ffb42078b398386558786858b769085a48cb08cb38bb38bac
+8aa48a90918ba08691598f82908bdd08f733078b998b998a97bbc0b898b28b08b1a1
+75481ffb44078b398186578786858b769085a48cb08cb38bb38bae8aa78a90918ba0
+8691548f82908bdd08f73207e47cd1331effffcccccc8bffffc24cceffffed3334ff
+ffcbe6665488fffffccccc858689ff0008999afffff68000b4ffffd98000ff002066
+66578b518bffffcbb333ffffdd999affffd64ccdffffd16666fffffb6666fffffae6
+66fffff9199afffff9199affffff800097080b72a076a4a4a0a0a4a476a0721e7276
+76721f0ba89aaed3d0d074fb131e0b7d877f831f7e07868c8a8f1e0bc6fbc10644aa
+6fb91eb98bbda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c9
+1ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00
+026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae6
+64fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007fffff
+fc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a08
+0bfffff63334ff000d6666fffff9ccccff0009999a8b958b94ff0000e666ff000933
+34ff0009199aff000bcccc08f71df74505ff0022b334ff002ce668ff001f9998ff00
+0cccccff002cb334ff00044ccc91918ba085916d8a668a748b748b618c638c85858b
+769185ff002c4ccc88ff00123334fffffa6668ffffe88000ffffde999808fb0ffb43
+0585fffff7800085fffffc8000878b888bfffffbcccc8ffffffb33349208ffff9180
+00ff00a3cccc05ffffe3cccdb3fffffbb333ff000b3334c38e91918ba08591668a66
+8a638b648b6a8c6d8c85858c769185b588ff00128000fffffab334ff00293333ffff
+c54ccc08ff008e4ccdfb5f05ff00083334fffff44cccff0005ccccfffff7b3348b81
+8b85fffffbe666fffff6e666fffffa199afffff8199a08fb28fb5a05ffffddb333ff
+ffd2199a6bfffff43332ffffd34ccdfffffbb33485858b769185a98cb08ca28ba28b
+b58ab38a91918ba08591ffffd3b3338effffed199a90ff00183333ad08f718f74d05
+ff0005b33493ff00064ccc918e8b8f8bff0004666688ff0005999a8308ff007b8000
+ffff50333305ff001c4cccffffd7b332ff00043334fffff5199a538885858b769185
+b08cb08cb38bb28bac8aa98a91918aa08591618effffef6668ff0009b333ffffd599
+98ff003a4ccd080b9b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a
+8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97
+9c969b968ba1080b9c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a
+8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5959c9c9b
+089b9b9a9b8b9f080bffffa93334ffffbb333005fffff6e668fffff8ccd0fffffe99
+98878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064c
+ce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405
+fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab334080bffff
+eb199a8bffffed4cccff00069998ffffee6668ff000b6668080b75ff000d4cccffff
+e7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff0999a53ff0006999aff
+fffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4cccff000b0001ff000e
+3334ff001c99988bff0012b3348bff0014e666fffff88000ff0013cccefffff58000
+080bff00171998fffff2b334ff0017199affffeee664ff001833348bff0032999a8b
+ff001fe666ff0025199cff000d3332c4fffff96668ff0003cccc80ff0002ccccffff
+f3e6668a08fffff0999affffd8199cfffff3e666fffff69998ffffe7cccc8b080b9b
+7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1
+997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba1080b
+ffffcb199affffa0cccc05fffffa4cccfffff5b334fffffdb334fffffce6648b828b
+fffffa6668ff0004e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00
+033330ff000a80009708ff00508000ff00573334fffffde666ff0008cccc05ffffef
+e666ff0011999cffffee199aff0000ccccfffffb80008bfffffc80008bfffffbccce
+ffffff3334fffffde666ffffff3334080bfffffd3334ff0000ccccfffffbcccdff00
+00ccccfffffc80008bffffe833338bffffefe666fffff26668fffffa6667fffffb33
+3008fffffe999afffff73334ff004fccccffffa8cccc05ff000b33327fff0004e667
+87ff000433338bff0005999a8bff0004e666ff0004ccd08b8f8bff00059998ffffff
+4ccdff00059998fffffc800093080bfffff54ccc8efffff56667ffffff4cccfffff5
+4ccdfffffdb3346e5d5d556763918292859489b2a1aca8ababa96cae6fb173080bff
+00096666ff0001e666ff0008999aff0008199a909267b35fc06eba080bff002cccce
+ff002bcccdff00144cccff003ee6668bff003d4ccd8bff003c999affffecb334ff00
+426666ffffd19998ff002ccccc080b696185801efffff8cccc8bfffff9999aff0000
+4cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e666ffffd680008b
+ffffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce
+8bffffc0cccc080bff002accccff00046668ff00253334ff001dcccc8bb6080bba7c
+b0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668fffff933348b
+828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1a
+fb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89d78bcc08f792
+078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b769185c7889c
+868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f333494ff0013
+ccccabff0002cccc080ba19dae9ac89291918b9a85914b90829e8bbc08f754078bff
+0013ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000
+ff0011b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b80
+8b80757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b7691
+85bc88987f8b4908fb55078b7889837d7f080b657565681f8b719a3fe687088f9c05
+619379b08ba208968f9292b490a49c1e9b809d671e0bddfb1b058d888c89908b0895
+9092908c8a8e8b1f64f72c0588968192798b748b7d7a8b7b8b878c868d87080bf711
+f787057e8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000
+fffffe6666fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b
+080b30fb1150fb4cfb10c139f7141fcf8bb9b4bdee089464050b818b7a87877b086a
+fb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b08
+0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f
+8b8f8b9683a16f8b080b638b76ba548b628b766a7e54080b96a9999ba08b080bb18b
+aa5db58bb68ba5a997c3080b7592057e697d7e778b080b758b848eff0003ccccff00
+0a4ccc08ff00663334ff0102b334918be9fba4050bc2f725059098918fa38b08f767
+8bc5fb3d05ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc99
+9a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff000380
+00ffffde3334ff00034cccffffee9998ff00303334080b657565681f8b719a3fe687
+088f9c05619379b08ba2080b968f9292b490a49c1e9b809d671e0b818b7a87877b08
+6afb2f8b8a05888d81971e0b8e8b8f8c8c8f08d7f71f050b8d8f8c8f8b8f8b9683a1
+6e8b080b8bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c
+5f8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591
+658a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185b78cff00304ccc8cff0025b3348bff00244ccc8bff0030b3348ab78a
+91918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88c
+ff002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e
+7a908bde080bffffdab3348bffffd04ccc8c5f8c85858b769185d1889c868b3808fb
+34fbeaf734078bde9c90d18e91918ba08591080b598b628c658c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b78cff00304ccc8cff0025b3348b
+ff00244ccc8bff0030b3348ab78a91918ba08591458e7a908bde08f75bf7eafb5b07
+8b387a86458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff00
+2fb3348ab78a91918ba08591458e7a908bde080b8bde9c90d18e91918ba085915f8a
+ffffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc8b
+ff0023999a8bff003066668ab88a91918ba08591458e7a908bde080b818b7a87877b
+086afb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f089683a16e
+1e0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c
+8f8b8f089683a16f1e0bf763fb23f70efb47ffff3e4cccffff8eb334ffff65e666ff
+ff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333ff0036e668
+ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bff0087b334078bff00
+1dccccff00011998ff0010e666ff00106668ff001d999a08ff00778000f76c050b8b
+f7082de72db8fffff2e666fffffd199affffff199a7f8afffff7e666f33c9c2e8b42
+8bfb026e66438b638b68ae6dd0080b9ab094c28ba308a38898707180686c1e8b778d
+66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff00094cccfffffb999a
+ff0009b334fffff866668ffb055b45398bfb0a08fb17db42e51ec48bacaaa6d3a143
+b36cbe8bf70e8bcfea8bf3080bc48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080b
+568b788886c0fffff7b334ff0003999afffff79998ff0000b333fffff7b334fffffb
+b3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f83
+f714050b657565681f8b719a3fe687088f9c050b568b788886c0fffff7b334ff0003
+999afffff79998ff0000b333fffff7b334fffffbb3338b62ff00024ccdffffd83333
+ff0004b333ffffd9cccd08f76906969191941f83f714050b818b7a87877b086afb2f
+8b8a05888d81971e8e8b8f8c8c8f080bd7f71f058d8f8c8f8b8f8b9683a16e8b080b
+7e8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b
+8e8b8c8a8c8b8c084df726058990878f858f868d868c868b08848b858a8687080b7e
+8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e
+8b8c8a8c8b8c084df726058990878f858f868d868c868b848b858a8687080b6d7d79
+7b7b9075b41f0b9391837e1f8b747666618208907a05d193abc98baf08af75b0651e
+0bfb790751ad71b81eb68baa9a98d0087390058668827b728b0876829fc91f8bf761
+809c050bc2f725059098918fa38b08f7678bc5fb3d050bff000bccccffffdd8000ff
+ffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb1
+8aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bf825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25070b8b387a86458885858b7691
+85b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91918ba085
+91458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe668
+8cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde08
+0b568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334ffff
+fbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f
+83f714050baaa1a0a71f8bff001f800071ff00098000798e788d7a918ba28ba0afb9
+bf988b95899284924f80515b8b45084fa564b31e0bffffd8000171644f1f8b45c75b
+c780ff0006cccdff0005e666ff00019999ff00093334fffffc999aff0009e6665798
+69b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e0bffffd8
+0001ffffe5ffff644f1f8b45ff003c00015bc780ff0006cccdff0005e666ff000199
+99ff00093334fffffc999aff0009e666579869b88ba08ba29c919e8d9d8ea5ff0009
+80008bff001f800008a775a06c1e0bd55b9d653f53373f4daf5dc1dfb7f704cb1e0b
+7179a5b3cbbad9b89da67c5c57682d511f0bb1b6b0bbbfda88958193808c3c35595b
+535a087f07c35abd5bda35968c95938e9557da66bb65b6080b6560665b573c8e8195
+83968adae1bdbbc3bc08970753bc59bb3ce1808a81838881bf3cb05bb160080ba9b3
+a3c4c4b1524a1e8b5c7c6e6366080b4a5086508b60085d078493889393948e921eb7
+078ba38ca398a4949c9f9ba29cbaadc9b78bda8be649c7258b568b617d6e726d7376
+6f8b650868a4839b9e9f97a21e8b9889918790879089918b9a080bbb9a42553e853e
+505583d9c3c08de9c91f0bff00434ccdff0039b333bcf70bf70dffffc64ccdb3ffff
+bfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0bffff744ccc
+2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff00308000080b
+8b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff00
+1266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+68fffff3999aff00011998fffff9b3331efffffcb3338bfffff6b333ffffff8000ff
+fffee667ffffff4cccfffff0b333fffff6e668fffff49999fffff4cccc82fffff580
+00ffffdce66762ffffd43333ffffcbccccffffdeccccffffca3334fffffc999affff
+fa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffae667ffffebcc
+ccff001a99998b08ff0076cccd060b627a685e1e758b80928294839383927e8b0881
+7f837e73c77eadd0bcc0c7c167bf3d1f7d8b728682850897dcf71b8b8b8c90adfb37
+8b75fb239188059992a092a18b08d38e506d1f0b6584695f6f63a2df1e8b918b938c
+90a09ca191998b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e
+07fb2d8051248b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4
+c4f70ec0e608fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b08
+0ba4a37d701f8b6e766f7b8208779505669f88a28b9a08a9a394a31e0bb35ca65e56
+5b6e5e1e8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79
+a46c9c0864a005c6ad8fa98b9a080ba87d05b3778c718b720862717f67736496b81e
+8badb2b29b94080bb192adb7a7b374381e7707757a75867d8b085386c1a11f0b7a94
+3cec1ea48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593c6f4a
+671e0b8b43aa4be551089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b
+44080b8bd25fd83ebc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8b
+d3080b326340444bba47dcff0053199aff002ee666d1ccff0048199a66ff0046e666
+2f1f0bb58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184
+611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f79078bb08ca3
+a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8e666ff000466
+668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cccdfffffbb333
+ffffed3333fffffe4ccd08808a05878a88891f79078bb38ca4a3b18a8b1e9d078b8d
+8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3338b9e08f71007
+ce6da45e1e678b68687d7b080b8b627e88638986838c7c8f85a98ca28ba28ba48b96
+8ba98a8f928b998793698d848e8bb408ff0036199a07ff0003cccdff00013333ff00
+034ccdff0000b333ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d
+89058b9b8ca1a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80
+008efffff380009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff00
+01e666ff0002199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff00
+1880008e8dff000033338fff0001cccd8b8e088b9f898c058b638a73756d8c8b1e8a
+8a8b77058b898dfffffd4ccd8effffffb333ab88fffff0b333fffff14ccdfffff84c
+cdfffff7b3330872ffffe6800005ffffeacccdffffea666679fffff66666ffffea33
+33fffff7333408ff0096800007b58da58b1e90898d851e7b845d837189088c790589
+8d8a8d1ea08a05989284611f0b9ea29d9da08b08aa9a7a581f2c078b628988698987
+838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bfffffbb3348ba98a8f
+918c9a8693ffffe18000ff00028000fffff88000ff000280008bb408f4078b91ffff
+ffccccff0005b333ffffff999aff00056667ff0012199aff00156666ff0013ccccff
+00138000ff0013b3348b08aaa47a581f2c078b628988698987838b7d8f84a98cff00
+0733348bff0017cccc8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e
+8bb408f407ce69a45d1effffdccccc8bffffdcb334ffffde8000fffff16666ffffee
+999afffff76666ff00246666ffffe9b334ff000e8000688b678bffffe74ccdffffec
+4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba7899888928a8e
+8a8e868b080b9ea2ad9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98c
+ff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d
+838e8bb408f407ce73a45d1e678bffffd74ccdffffec4ccdffffe7b333ffffdcb333
+86fffff8b3338bff00054ccd8b8e8ba7899888928a8e8a8e868b080bd707997faf83
+9f8b08ccbcdbd5cf68b3511f6e8bffffd98000ffffe68000ffffed8000ffffe88000
+fffffab333fffff93333ff00004ccdff0004cccd8b8e8ba7899888928a8e8a8e868b
+080b5592fc95fd7dc083050b7656645a788b086a8bb2aecdbdefbf9e9773711f8b82
+845f7d68080b808d77ac1ead8baa9eb3b408779c057d7a7e81848b888b898e8b928b
+918d948e9808bcf7655b8b736905849e7d9a698b0840232526669f52cf1fa18bab98
+a8a7080bc68baea9abaa0870a105716e64767c8b087b6c98d5eabec4b6909a87771f
+8b78898d8b7e0880917fa795aa93a4ab73b0443a3039fb0062b649cc1e0b82668675
+8b758b6da17ca18bb08bb4a4c6d108769c05696377787b8b848b88938b958b958d9c
+94af08b5f735050b4e6c6d6e6264b4d9daff001dcccca9ff00223334b5ad513c1e0b
+8b617e68776f73695c7a408b0858f7bc06a390a78eae8b08c8dd6dfb0a1f0b8bff02
+4e80009bff00008000058d8c8d8b8e8b08a58e7a6e1ffc8a076f8a7b621e0b8b6270
+715f85fffffd4cccfffff6e666ffffff4ccefffff4999aff00056666fffff9800093
+8c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b334ff00068000fffffa4cccff
+000b8000859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe0
+8000ff00469998fffff4b333ff001a3334dbc6b9d01f8bc55ca66a8e080ba89ba1a2
+8ba808b06aa15734705b7a888f7c9e1ea28bffffff33349dff0004cccc96929ba793
+9c8b089ba183711f0b958b998e8e9dff00014ccdff0007e668fffffd3333ff000ccc
+ccff00038000ff00084ccc90979794aa8b080b627a685e1e758b8092829483938392
+7e8b08817f837e73c77eadd0bcc0c7c167bf3d1f7d8b72868285080b90adfb378b75
+fb239188059992a092a18b08d38e506d1f0bf85107a8999cb61eae06b59b7d6b1ffc
+51076d7c7a601e6806617c99ac1f0bfbae076e807b6b1e65066c809ba81ff7ae07a7
+969baa1eb106ac957b6f1f0bbe88ff00086666fffff94cccffffee999affffd9b334
+0832fb6f7a607ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff00
+1f999aff0003b334089c8d058eff0000666691ff0001199a8bff00068000088b9e87
+8d058b4e896469568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c80
+00fffffc8000ff00154ccdfffff76666ff000e3333ffffdc199a080bf71cfbed0591
+7c9185988b958b9291929c08f71ef7e7059bb2a293a88e089e06ac957b6f1ffbae07
+0b6b8b60896b8b6b8b608d6b8b08fbb339fb57fb16fb4ff70c2ff74e1fab8bf7038d
+a58bab8bf589ab8b08f74ef70ff1f74ff70267f761fbe31f0bfa5cbffdc606aeb0ad
+c0abcf0864065f5a65666b726b716a766a7b080b6707ac7bad76aa71ab72b166b75a
+08b3066acf6ac068b008f9c5bf060baf076a9b69a06ca56ba465b05fbc086306ac47
+ac56ae6608fdc557060bfe5c57f9c606686669566b4708b206b7bcb1b0aba4aba5ac
+a0ac9b080bd9b2fb058606fb39fd40fb0ef7670569716171667808986fcba5f720fb
+85b19f050b7262414a588b084466ddcdcaabbbcb1fc88bd625a558080b62cd3dce3c
+8b082249242cfb02d259d41fd58be0d9b4c5080b3e7cfb0a6f1e7a8b7daa708b0878
+777a7772a179abedcbe6f7c51ff70b078bca87d38bbd8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e2151fb04fb8a1ffb17078b3b8d718b3b080bf710f2eff710
+f70f24f1fb10fb0f2525fb0ffb0ff026f7101f0bfca9fba15ef8e1b8fba1f8a9070b
+6e73736e6ea373a8a8a3a3a8a873a36e1f0bc7e7eff746bdf7168795838d818b49fb
+1efb01fb2d4034086a65ac6505d634f701fb2dcdfb1e948b948d8f9559f71627f746
+4fe708888f050b4f2f27fb4659fb168f819389958bcdf71ef701f72dd6e208acb16a
+b10540e2fb01f72d49f71e828b82898781bdfb16effb46c72f088e87050bff00b633
+34ff00000001ff00944cccff009480008bff00b6666708ff00b66666ffff6bb334ff
+0093199affff49ccccffff49ccccffff6d3333ffff6ce666ffff49999affff499999
+ff0092cccdffff6b8000ff00b633341e0bff00a26664ff00834cd0ffff7dccccffff
+5d6668ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff008380
+00ff00a2999aff00a13332ff0081e667ff0083999aff00a266671f0bffff44b332ff
+ff83cccc07ff00216666ff00356668b9ff0048b332ff002cccceff003d3334080bff
+00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff00031998ff
+fffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffefe666ffffc6
+cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d9999ff000c4c
+ccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccefffff06666ff
+ffe9e6681fffff2c1999078bffffca0001ffffee6666fffffccccdffffd28000ffff
+fe1999fffffc1999fffffc199a8bfffff24ccdff0003e667fffffc1999ff001fe666
+ff0000999aff00174ccdff0000b333ff002333338bff001ee6668bff000fe666ffff
+ff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff000db333fffffc1998
+ff0003e666ffffd28000ff0001e667fffff4e668ff000333338bc1080b968bff000a
+666887ff0007ccccfffff8e668ff00143334ffffef1998ff00119998ffffce999a8b
+ffffa8e6668bffffc433348962fffff6e668ffffdee666fffff1b334ffffcab334ff
+ffe01998fffffa1999fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff0038
+8000ff009fe666ff0027b334ff001de666ff001d33321f0bbdff004c1998ff0032b3
+33ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36664ff0025b3347a
+ff00168000ffffe4ccd0ff0013ccccffffdce6648bffffbfb3348bffffc2ccccffff
+b34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc99
+9aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b080bf7ef078bc7
+ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008b
+ffffc8b334ffffddb334ffffcb4cccffffe74ccc3362ff0001999afffff4999aff00
+046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08ff00108000
+ff0003800073691ffbda078b387086458885858b769185bc8cff0023cccc8cff0036
+33348bff002f999a8bff001866668abd8a91918ba08591458e7a908bde080bffffff
+ffffffffdd999a8effff4f3334ff009f199affff764cccff0007b333ff00018000ff
+0006199aff00056667ff00024cccff00061999ffffe6cccdff001d199affffa68000
+ff0069999a8bff00c933328bff00c93334ff005a3333ff00699998ff00188000ff00
+1b8000fffffd6667ff0007ccd0fffffb3333ff00056664fffff74ccdff0000999c30
+3dffffb8e666ffff8033328bffff71b332080b8bff00226668fffffce668ff00b0b3
+32ffff60e664ff0089b332fffff86668fffffe8000fffff9e668fffffa999cfffffd
+b330fffff9e664ff00193334ffffe2e668ff00598000ffff9680008bffff36cccc8b
+ffff36ccceffffa5ccccffff966666ffffe78000ffffe48000ff0002999cfffff833
+33ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473334ff007fcccd8b
+ff008e4ccc080b769e79a09ca9ff0011e666ff0016199a1e8b938991899289928594
+8b9308a4a5afd4afbe722b1e8b4b7457504f0841420529277b5b8b50088bbe8dab1e
+f74306abb9898b1f98c095d68ca985907e8d81897a447a72678b08fb46068bbbd0cf
+909008f0ec05c4c2b6b78bd708f70033b73afb0346394f1e0bfbb4fb5307ff00334c
+ccff00523334ff0046b334ff006f9998d0ff005e3334080b38f7b8068bbdff00004c
+ccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334fffff98000
+fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000fb238e
+7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff002766688b
+ff002599988aab8a91918ba085915a8f76898bba08e7d007999a9e97958791801f0b
+2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f712ec48
+e2fb041f608b66827984089ff73b05b087ab86bb8ba98bad8db48f089bcf848f0552
+855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb011f0bd8f709d9
+f77f1f8bee73e05fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2d
+fb0a8bfb5a8bffff956666ff0020e668ffff9b199aff0036b330ffffc98000ff001c
+6668ffffe3999aff00224cccfffff26666ff0026b3348b080b8bff00226668fffffc
+e660ff00b0b332ffff60e668ff0089b332fffff86668fffffe8000fffff9e668ffff
+fa999cfffffdb330fffff9e664ff00193334ffffe2e668ff00598004ffff9680008b
+ffff36cccc8bffff36ccceffffa5ccc8ffff966666ffffe78000ffffe48000ff0002
+999cfffff83333ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473338
+ff007fcccd8bff008e4ccc080bff00473332ff003d999affffbe6666ffff94ccccff
+ff9d999affffcf33344fffffb8ccccffffb26666ffffc8ccceff00466667ff006266
+67f700c7ff00366666c71f0b77767e84758b086967a0e5d5a7a4ad1fa48ba1779b78
+080b7273057c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75ffff
+f56666fffffc4ccdfffff1999afffffeb33308808a0588ffffffb33389ffffff4ccd
+8b870879078bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05
+ffffe7ccccff00038000ffffff3334ff000380008b9f08f7e70791898e881e878b85
+868788080bfb4afb27fb27fb4cfb4af727fb28f74af74af727f728f74af74afb26f7
+29fb4b1f0b7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea6068e
+8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89
+957e1e0b7e8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068e8e
+8a871f76078b568c6a654f8a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab8995
+7f1e0b8b7c886d506908b27605aa7a9d728b6c086b6c51315f489ccc1e8bb0b7afb1
+a0087f9105639e7ca58ba808b8bba8bfb8b96f641e0bff00be8002f72ff72eff00bd
+3334ff00bd3334fb2fff00988000ffff417ffeffff418000ffff668000ffff678000
+ffff42ccccffff42ccccff00998000fb2eff00be80001f0bff00b2b332ff008f3334
+ffff71ccccffff4e8000ffff4e7fffffff6f4cccffff71cccdffff4eccceffff4d4c
+cdffff70cccdff008fb333ff00b00001f744ff008f3333ff008fb334ff00b2b3331f
+0bff009b0002ff007f1998ff007c999aff009b8000f72efb16ff0073ccceffff67e6
+66ffff67e667ffff7f9999ffff8c3332fb2efb2eff007d8000ffff81e666f72f1f0b
+ff008dccceff00749998ffff8db334ffff733334ffff71b332ffff8b6668ffff8d99
+9affff723332ffff70cccdffff8e4ccdff0073e666ff008cccceff008cccccff0073
+199aff00724cccff008dcccc1f0bf7c4fffecfe666ff0130199aff0130199afffecf
+e666f7c4050bf715f4f4f715f71522f3fb15fb152323fb15fb15f322f7151f0bf707
+e82ffb07fb072d2efb06fb072fe8f707f706e7e8f7071f0bedd43b302f433c282843
+dae7e9d6d8eb1f0bf6e13520203435212035e2f5f5e1e2f61f0b7d96809999969699
+9980967d7d80807d1e0b7d96809998979699997f967e7d80807d1e0bedd43b2f2f43
+3c282843dae7e9d6d9eb1f0bedd43d2f2f4339282843dde7e9d7d7ea1f0beadadaea
+eada3c2c2c3c3c2c2c3cdaea1e0b91819587908b928b908c9593088bf739f724cb05
+90948b8e8b918b90859c7d9008fb3e408987050b8bf752898ffb3ed6057d86857a8b
+868b858b88908208f7244b8bfb39059583908a928b908b958f9195080b749e78a2a2
+9e9ea2a2789e74747878741e0b8b66a6598b6a8b78827e738b6b8b7ba87e8b087c81
+837d78ad71bbbbaca8b91f0b95cbb58e988b08a0a67f5c858889861f0b777577816c
+8b086b5aade01ff72a06918f8f91bb79be40555059344aae55d91fb48bada0a1a908
+0b7c977f9a9a98979a9a7e977c1e7c7f7f7c1f0b9c8b9b85978092fffffa3334ff00
+06b334fffff79998ff00064ccc8008fb34fffe7d999a05fffff6cccdff002fb334ff
+fffe3333bf8bff0024e6668bf78ac8b9b88b080bfb1d8bf71cf71905ff003a3334ff
+0038e666ff0018ccccff0028199a8bb98bc862ba268b2c8b4e587a57ff0006e666ff
+fff8199aff000c4ccdfffffb999aff000ecccdfffffd4ccca0c0bca0bc8bb98ba66f
+8b56088b51ffffed6666ffffe48000ffff93999affff99800008fb0322967405958c
+c18ca48b08f72806b38bad8a9c8a90aa95bc9dc582ff0006333382ff0000199a82ff
+0000b333087e6e0573568585528b080bff00524cccff0026999aa2ff0029999a8bff
+0034b3328ba984ff00188000ffffe7b334ff0018999affffea3334ff0016199affff
+dd1998ff0010e666ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e
+0bf747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a
+867585658b08fb62060b698b8d95798f888b8a8b8b888a5b804f8357ff000ae666ff
+fffce666ff000a199afffffeccce96ff00014ccc08a1dbac92ab8b080bffffdf3334
+ffffea6666ffffdf6666fffffe999affffee999a8b082975ebbdf702b5bdbccac469
+fb3f1f8bffffe98000fffffdb334ffffe54ccdfffffa1998ffffe33333080bffffe4
+e666ffffa51999ffffc0666626fb19ffffce33338b7f8f829386f0a9c9b5c3ccc9d3
+aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e66693ff001d
+ccceff000db333080b82678b648a770860fb5396078bcf90af919ea0dbb5989a8b96
+8b93899b81ae758052bd8b080b768485721e7806888989881f8b808d89d98d050bbb
+8af48b8bfb2705669673ac1ea68ba598a3a7088095057c807d857c8b087b869db11f
+f70ac50792938d911f0b775f7f72568685858b7691859d8ca18ca58bff001acccd8b
+ff002633338aaa8a91918ba08591558f8498a2bd08ff00134ccdff002ab33305ff00
+036667ff00077fff8dff0003cccdff00104ccd8b08f74f8ba05505ff00158000ffff
+c9e666ff00018000fffff8199a558685858b769185ae8cff002680008cff00208000
+8bff001dcccc8bff001d33348aa88a91918ba085915692fffffc999a93ffffe86666
+c508ffff663334ff0179333405fffff0e666fffff7e666ffffed3332fffff78000ff
+ffeb8000fffffd3332080bfb2b06778bff00018000ff000d8000ff00088000ff0013
+800008d5f73d928c050bd98bbba8baca899281ff000ab33383ff00024ccd5d556877
+488b082851f6eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ff
+ffffb334ff0029199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b
+8bfb188b25278bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cc
+cd08ff0027e666ffffdb4ccdff0038199affffebb333d58b080bf7d607a4a491b2f7
+3ca2fb0923fb204d66fb023f849ca71e0bffffe4999a8bffffd366668c648c85858b
+769185c88796878b3808fb6c078b3880884e8685858b769185b18cff002d4ccd8cff
+001cb3338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1f
+ffffbc4ccd8b6789ffffe2b3338b080bff0041cccc8bff00013334788d6690869d8b
+90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca48690798b
+8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec406dd8b986a9d52
+958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988affffef33
+348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c88796878b3808fb
+6c078b3880884e8685858b769185af8cb78cab8b08f72e06b3cd898b1f0b97b496c2
+92b58290838d80887b506e59388b086006ffffd5cccdfffff63333ff000accccff00
+2133341ff72a070b8bff0052cccc918eaa9091918ba08591798affffe3b3348affff
+e14ccc8bffffe1b3348bffffd24ccc8c6e8c85858b769185c88790878b380855076b
+826a86688b08fb1162f714ddf70dc5deeb1f0bee8bb5599a4b95fffffce66695ffff
+ff999a95ff00068000fffffee666b4fffffd8000ff0029b334fffff6999aff002d4c
+cc6d8b419b538b08fb23fb062ffb32fb13ea24f7231fcf8bff0049800095ff004280
+00af080b8bde968ec89091918ba08591658affffd4b3338affffe14ccd8bffffe1b3
+338bffffd64ccd8c648c85858b769185c88796878b3808fb6c078b3880884e868585
+8b769185b08cff00294ccd8cff0021b3338bff002066668bff002b999a8aae8a9191
+8ba085914e8f808f8bde080bfb9b07fb48696f6c1e7e8b85928495829780986f8b08
+7e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208f786078bde968ec8909191
+8ba08591678affffd4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b87
+8b38080b8b8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1ff7a1078b
+de968ec89091918ba08591668affffd74ccd8affffddb3338bffffe0b3338bffffd5
+4ccd8c668c85858b769185c88796878b3808fb6c078b388986458885858b769185bc
+8ccd8c8b8b080be4d839fb1afb0f4e40322a46e3f70ff71bd6cfd61f0bf722fb06e8
+fb16fb1f2026fb27fb1cf22bf71bf738e3f707f7161e0be2c207ff002580008b99ff
+ffdee666ff000d8000ffffdb199a08a14f050bff0016e666ffffc18000ff0022199a
+ffffe88000b68b9a8bff001eb334ff0002b333ff00114cccff00044ccdff00028000
+ff000a4ccd89ff0009e666fffff98000ff0007cccd678bffffed199a91ffffebe666
+bf086ed6057faafffff380009cfffff3800098088d07adff000bb333beff00294ccd
+8bd08bdeffffcbb334aeffff894ccc8b728bffffc74ccd87ffffe1b3338b6e8b618c
+638c85858b769185c88796878b3808fb6c070b8b3880884e8685858b769185b18cff
+0028e6668cff0021199a8bff001eb3338bff00214ccd8aab8a91918ba08591ffffd0
+80008efffff68000908bde080b728b71a13a8b458b3d638b398b42d964b478cc6db6
+748b528b51706f508b080b538b5eab79e47eff00028000fffff6e666ffffff4ccdff
+fff6199afffffc3333ff00024cccffffb98000ff0001b334ffffd98000926b968f95
+8d978b080b9e8ba87ad88be48bc4ff0036e6668bff0056199a8bd9ffffa5199aff00
+2ce666ffffcfe666ff0017199a59a35cff001880008bff002a80008bb6a7a7bf8b08
+0bbc8bb76a9a4b9488948b9490088da8ffffff8000b2fffffa8000b1080bf79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b334080b86ff00308000fffffe8000b0fffffe8000ff002f8000080b
+ffffdd4cccfffffbb334ffffbfb334fffffa4ccc378b083c060b298b51ff00054ccc
+70ff0004b334ffffff80005c8a64fffffa80005c94fffffccccc94ffffff4cce94ff
+0000e666080b9fd3969fcc8b08a306aa977f641ffb91078b3880884e8685858b7691
+85b08cff002880008cff002280008bff002280008bff002780008ab08a91918ba085
+91084e8f808f8bde080bfb1307358b2dfb182876d9e81ef71c078bde968ec8909191
+8ba08591648affffd780008affffdf80008bffffdc66668bffffd8999a8c678c8585
+8b769185c88796878b3808fb3107fb2aff0048800062ff006d8000f72fb4e3f7261e
+f706078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c8
+8796878b38080bffffb84cccfb12898bffffb3e666f7120571ff002c3334fffff619
+9aff00134cccc7ff0003800091918ba08591698a688a668b6e8b6d8c6e8c85858b76
+9185ff002e8000fffffa8000ff000ce666ffffeb6666a7ffffd1199a08ff00563334
+fb2105ff00074cccfffff44ccdff00078000fffff23333ffffff999a79088affffce
+8000058b3881884e8685858b769185b08cb28caf8bff00244ccc8bff0026b3348aaf
+8a91918ba085914e8f818f8bde088aff0033800005ffffff999aff00128000ff0002
+e666ff000d999aff00078000ff000a666608ff00506666f71f05ff0017b334ff0028
+e666ff0011999aff001bccceff002e4cccff00054ccc91918ba08591758a748a718b
+668b6f8c718c85858b769185cb858b7effffe4b3345b080bffffdfe6668bffffda99
+9aff0006999affffee8000ff00036666fffffd999a8bfffffe6666ffffff66668bff
+fffd999a8a5e8665825aff0008b333fffffd199aff0008999afffffeccccff0008b3
+33ff0001199a080ba0d3adff00133334a8ff0000cccc08f7218f05ff000fe666ff00
+003334fffff68000ffffeeccccfffffb999a85ffffa14ccdffff80b334ffffaeb333
+ffff82cccc3affff828000878588868b8508858f87961ef7ea068faa96ba9cc5ffff
+f84cccff0005199afffff7199aff00028000fffff5999affffff6666ffffe54cccff
+ffc46666ffffe9e668ffffd2b334ffffc1ccccfffffde66608fb0b8705ffffe7e666
+ffffff999aff0000b334ff000d6666ff0009666699ff004fe666ff007a999aff004f
+199aff0075e666e4ff007980009aa08f928b938bff0003ccccfffffe8000ff000133
+34fffffb80008b808b6989748b080b58f72b06a4a491b2f73ca2fb0923fb204d66fb
+023f849ca71ef718be070bffffe4999a8bffffd366668c648c85858b769185c88796
+878b3808303c64da35078b3880884e8685858b769185b18cff002d4ccd8cff001cb3
+338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1fffffbc
+4ccd8b6789ffffe2b3338b080bf752078bff00313334ff000cb333fffff68000ff00
+174ccdffffe34ccc08f77ffbcd050b9a7b9b859a8b089795929f1ff7d7078bde968e
+c89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb
+4f078b70887a6cb508fb79f7cbfb228d89888b73058791898e1eb188967f957908fb
+a6070b8b3880874e8785858b769185a98cae8ca98ba98baf8aa98a91918ba085914e
+90808e8bde080bbc8bb76a9a4b9488948b94908da8ffffff8000b2fffffa8000b108
+0b3cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b333ff004580
+00ff00148000724f1e0b453d63391f8b42d964b478cc6db6748b528b51706f508b08
+0b7f8b8892ffffffcccdff00064ccc08ff00683333ff0103b334ff000766668bff00
+58999afba5050b7f8b8892ffffffcccdff00064cccff00263333ff0061b33499aebd
+f70008ff000466668bff005c999afb92050bc4f72505ff00056666ff000dcccdff00
+03999aff000333339b8b08f76b8bc8fb3d05ff000ee668ffffd6cccdffffd6b332ff
+00039999ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdf4ccc8bffffed8000ff0033800008fb61f8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b858a7d7e7d86fffff299
+9afffffb3334fffff8b332ffffff3334ffffeeb334fffffc9998898a8b898b899284
+927c907dffffe5ccccffffcae668ff000c6668ff001ae664ffff921999ffff0d3334
+08ffffa1b333fb6e05ffffe54ccdffffc24cccffffe23333fffff9b334ffffd48000
+8885858b769185b08c988cb28bb48bbd8ab08a91918ba08591ffffda6666ff000299
+9affffd23334ff00063332ff000f6666ff00273334080b70f71fa6070bd7c8c8d7d8
+c84e3f3f4e4d3e3f4ec9d71e0b2fd641e6e7d5d5e7e641d62f304040301e0bfa9206
+978b9692919591958b99859508fc93fa0905859580917f8b7f8b8085858108fc93fe
+090585818b7d918191819684978b080b778b7995819c819c8ba1959c08f893fa0805
+959c9d969f8b9f8b9d80957a08f893fe0805957a8b75817a817a7981778b080bfb97
+fb66fb67fb97fb97f766fb67f797f797f767f767f797f797fb67f767fb971f0bffff
+ffb332ff0009e667ff0009999aff00063333ff000ae6668b08ff000be668ff0009b3
+32fffff88000fffff766661fffffffe666ffffd64ccd05fffff4fffffffff73334ff
+fffa6667fffff34ccc1efffff53334ffffffb333fffff6b334ff0005e666ff000019
+9896080bffffbae668ffffffe6668bffff94e667d08b8bff00104ccc050bffffcc33
+348bffffffccccff001de666b7ffffffe6668bff000f199affffd433348bffffffcc
+ccff001ce666050bff0000199affffcbe66605fffff36666ff0010e666ffffeee666
+ff00143334ff00148000ff00126666ff00104cceff000d80001effffffccccff0033
+e66605ff000ecccdffffece666ff000d1999ffffec8000ffffe8999afffff2199a7d
+fffff233341e0bfffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0
+fffff9cccc84fffff9cccd84fffffd3333fffff719988bfffff7666808fffd6d9998
+078bfffff54cccff0005b334fffff7333492fffffab33392fffffab333ff00084ccc
+fffffd6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00
+06333391ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c
+05ff0000199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00
+066664fffff7999cff00033334fffff7e6648b080b7cfffff3ccccfffff3b3347c7c
+fffff3b334ff000c4ccc9a9aff000c4cccff000c4ccc9a9aff000c3334fffff3b334
+7c1e0bff00018000ff0001b334ff0001999aff0001ccccff0001b332ff0001ccccff
+fffe6666fffffe3334fffffe6668fffffe4cccfffffe6666fffffe3334080bff0003
+3334ff00036668ff0003999aff00039998ff0003e666ff0003999a088bff00380002
+84ff0001ccccff0000199affffbf999805fffffeb332fffffeb334fffffeb334ffff
+fe999afffffeccccfffffeb332080b9e81068a898988898b087d06848b8b9a928b08
+0bf9c406949981781ffcd407797d80821efdc406827d969d1ff8d4079d9996941e0b
+785105877f8b878b878b859087918b928b8c8e8f978b8b95a996afa67e9f708b6b08
+5f67675f5f68afb7b7aeafb71e8f8b8f8b8f8a080b6d79786b8b6608778bbdf71705
+0ba948488b058ba79aa4a199080bb7af685f5f67675f1f668b6ca482ad08cc06a28f
+8d911f8b8f8a8d849b8b8b80a478b5928d938c938b080bf7438b59fb1c050bfdc406
+7275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8d407ff001ce668ffffee6668
+ff00181998ffffe299981e0b8cfcd0498b058bff001566668cff01ae999affffffcc
+cdf70c080b>
+%%EndResource
+%%BeginResource: font LinLibertineDisplayO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineDisplayO 348398 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+0100040400010101154c696e4c6962657274696e65446973706c61794f0001020001
+00411c0960001c0961011c0962021c096303f81504290c03b30c04fecefb8d1c181b
+fab0051d00004e990f1d00000000101d00006018111d000000461d000497ca1207dd
+0200010008000f001b0029003000370043004a00510057005d0064006b0071007700
+82008d009700a100a700ad00b300b900bf00c500cc00d300d900df00e900f300fa01
+010107010d011801230129012f01390143014f015b0166017101750179017f018501
+8c01930199019f01a601ad01b701b901bb01c601d101dd01e901f501fb0201020d02
+19021f02250229022d02330239024502510257025d0268026b026e0275027c028202
+88029502a202a802ae02ba02c602cc02d202d802de02e902f402fc0304030c031403
+1a032003240328032e0334033b03420348034e035303580365037203790380038b03
+9603a103ac03b203b803c203cc03d103d603db03e203e903f003f703fe0405040c04
+13041a04210428042f0436043d0444044b0452045904600467046e0475047c048304
+8a04910498049f04a604ad04b404bb04c204c904d004d704de04e504eb04f104f804
+ff0506050d0514051b0522052905300537053e0545054c0553055d0567056e057505
+80058b0592059905a005a705ae05b505bc05c305ca05d105d805df05e605ed05f405
+fb0602060906100617061e0625062c0633063f064b06570663066a06710678067f06
+86068d0694069b06a206a906b006b706be06c506cc06d306db06e206ec06fa070407
+0e071e073207490753075d0764076b0772077b0784078b0792079907a007a707ae07
+b507bc07c307ca07d107d807df07e607ed07f407fb0802080908100817081e082508
+2c0833083a084d08570861086b0887088e0895089c08a308aa08b108b808bf08c608
+cd08d408db08e208e908f008f708fe0905090c0913091a09210928092f0936093d09
+44094d09560964096d0977097e0987098e099509a209a909b009b709be09c509cc09
+d309da09e109e809ef09f609fd0a040a0b0a120a190a200a270a2e0a350a3c0a430a
+4a0a510a5d0a640a6b0a720a790a800a870a8e0a950a9c0aa30aaa0ab10ab80abf0a
+c60acd0ad40adb0ae20ae90af00af70afe0b050b0c0b130b1a0b210b280b2f0b360b
+3d0b440b4b0b520b590b600b670b6e0b750b7c0b830b8a0b910b980b9f0ba60bad0b
+b40bbb0bc20bc90bd00bd70bde0be50bec0bf30bfa0c010c080c0f0c160c1d0c240c
+2b0c320c390c400c470c4e0c550c5c0c630c6a0c710c780c7f0c860c8d0c940c9b0c
+a00cad0cb70cc00ccc0cd40cdd0ce90cf50cff0d100d150d190d1e0d230d2a0d2e0d
+310d360d3a0d3f0d450d470d490d4b0d520d540d570d5c0d5f0d660d690d6c0d6f0d
+740d800d8f0d990da50dad0db60dca0dcf0dd30dd80ddd0de40de80deb0df00df40d
+f90dff0e010e030e0a0e0c0e0f0e150e1a0e1d0e240e270e2a0e2d0e320e3e0e4d0e
+590e650e6f0e760e7c0e840e8b0e920e960e9c0ea30eaa0eb10eb80ebf0ec60ecd0e
+d40edb0ee20ee90ef00ef70efe0f050f0c0f130f1a0f210f280f2f0f360f3d0f440f
+4b0f540f5d0f660f6f0f780f810f8a0f930f9c0fa50fae0fb70fbe0fc70fd00fd90f
+e20feb0ff40ffd1006100f10181021102a1033103c1045104e105710601069107210
+7b1084108d1096109f10a810b110ba10c310cc10d510de10e710f010f91102110b11
+14111d1126112f11381141114a1153115c1165116e1177118011891192119b11a411
+ad11b611bf11c811d111da11e311ec11f511fe120712101217122012291232123b12
+44124d1256125f12681271127a1283128a1293129c12a312aa12b312bc12c312ca12
+d112d812df12e612ed12f412fb1302130913101317131e1327133013391342134913
+501357135e1365136c1373137a13811388138f139813a113a813af13b613bd13c413
+cb13d213d913e013e713ee13f513fc1403140a14111418141f1426142d1434143b14
+42144914501457145e1465146c1473147a14811488148f1496149d14a414ab14b214
+b914c014c714ce14d514dc14e314ea14f114f814ff1506150d1514151b1522152915
+301537153e1545154c1553155a15611568156f1578157f1586158d1594159b15a215
+a915b015b715be15c515cc15d315da15e115e815ef15f615fd1604160b1612161916
+201627162e1635163c1643164a165116581661166a1673167c1685168e169716a016
+a916b216b916c216cb16d416dd16e616ef16f81701170a1711171a1723172c173517
+3e1747175017591762176b1774177d1786178f179817a117aa17b317bc17c517ce17
+d717e017e917f217fb1804180d1816181f1826182d183718471851185b1865187518
+7f188f189918a318ad18bd18c718d118db18eb18f518ff19091913191a1921192819
+2f1936193d1944194b1952195919601967196e1975197c1983198a19911998199f19
+a619ad19b419bb19c219c919d019d719de19e519ec19f319fa1a011a081a0f1a161a
+1d1a241a2b1a321a391a401a471a4e1a551a5c1a631a6a1a711a781a7f1a861a8d1a
+941a9b1aa21aa91ab01ab71abe1ac51acc1ad31ada1ae11ae81aef1af61afd1b041b
+0b1b121b191b201b271b2e1b351b3c1b431b4a1b511b581b5f1b661b6d1b741b7b1b
+821b891b901b971b9e1ba51bac1bb31bba1bc11bc81bcf1bd61bdd1be41beb1bf21b
+f91c001c071c0e1c151c1c1c231c2a1c311c381c3f1c461c4d1c541c5b1c621c691c
+701c771c7e1c851c8c1c931c991c9f1ca51cab1cb41cbd1cc41ccb1cd21cd91ce01c
+e71cee1cf51cfc1d031d0a1d111d181d1f1d261d2d1d341d3b1d421d491d501d571d
+5e1d651d6f1d761d7d1d841d8b1d921d991da01da71dae1db51dbc1dc31dca1dd11d
+d81ddf1de61ded1df41dfb1e021e091e101e171e1e1e251e2c1e331e3a1e411e481e
+4f1e561e5d1e641e6b1e721e791e801e871e8e1e951e9c1ea31eaa1eb11eb81ebf1e
+c61ecd1ed41edb1ee21ee91ef01ef71efe1f051f0c1f131f1a1f211f281f2f1f361f
+3d1f441f4b1f521f591f601f671f6e1f741f7a1f811f881f8f1f961f9d1fa41fab1f
+b21fb91fc01fc71fce1fd51fdc1fe31fea1ff11ff81fff2006200d2014201b202220
+2920302037203e2045204c2053205a20612068206f2076207d2084208b2092209920
+a020a720ae20b520bc20c320ca20d120d820df20e620ed20f420fb21022109211021
+17211e2125212c2133213a21412148214f2156215d2164216b217221792180218721
+8e2195219c21a321aa21b121b821bf21c621cd21d421db21e221e921f021f721fe22
+05220c2213221a22212228222f2236223d2244224b2252225922602267226e227522
+7c2283228a22912298229f22a622ad22b422bb22c222c922d022d722de22e522ec22
+f322fa23012308230f2316231d2324232b2332233923402347234e2355235c236323
+6a23712378237f2386238d2394239b23a223a923b023b723be23c523cc23d323da23
+e123e823ef23f623fd2404240b2412241924202427242e2435243c2443244a245124
+58245f2466246d2474247b2482248924902497249e24a524ac24b324ba24c124c824
+cf24d624dd24e424eb24f224f925002507250e2515251c2523252a25312538253f25
+46254d2554255b2562256925702577257e2585258c2593259a25a125a825af25b625
+bd25c425cb25d225d925e025e725ee25f525fc2603260a26112618261f2626262d26
+33263926402647265626642671267c268c2695269e26ac26b526c226cf26d626e326
+f026fb2709271227192727272d2733273e274b27522759276027692774277b278227
+9327a227b127b827bf27c627d327dd27ea27f728032811281f282c28392847285528
+67287a28842891289d28a928b728c428d128dd28eb28f9290629132921292f294129
+54295e29682972297c2983298a29912998299d29a129a729ae29b229b629bd29c129
+c829cf29d629e029e929f029fa2a012a082a0f2a162a1e2a272a2e2a342a3b2a422a
+4a2a512a582a5f2a662a6e2a772a7c2a832a8a2a912a982a9f2aa72ab02abb2ac52a
+cd2ad72ae32aeb2af32afd2b062b0f2b172b212b2b2b342b3c2b472b522b592b602b
+672b6e2b762b7e2b882b912b9a2ba22bac2bb62bbf2bc72bd22bdd2be42beb2bf22b
+f92c002c072c0e2c152c1c2c252c2c2c362c3f2c482c512c582c5f2c662c6d2c742c
+7b2c822c8e2c952c9c2ca32caa2cb12cb82cbf2cc62ccd2cd42ce02cea2cf72d032d
+0f2d162d1d2d242d2b2d322d3b2d422d4d2d582d5f2d672d6e2d762d7d2d872d8e2d
+962d9d2da42dab2db22dbb2dc22dc92dd02dd72de32dea2df12df82dff2e062e122e
+1a2e212e262e2d2e342e3b2e422e492e502e5a2e632e6f2e742e7c2e832e8a2e912e
+982e9f2ea62eaf2eba2ec12ec82ed02edb2ee22eeb2ef72efe2f052f0c2f132f1a2f
+212f2d2f3b2f442f4b2f552f5c2f6a2f712f782f7f2f862f932f9a2fa12fa82faf2f
+b62fbd2fc42fcb2fd22fd92fe02fe72fee2ff52ffc3003300a30113018301f302630
+2d3034303b3042304930503057305e3065306c3073307a30813088308f3096309d30
+a430ab30b230b930c030c730ce30d530dc30e330ea30f130f830ff3106310d311431
+1b3122312931303137313e3145314c3153315a31613168316f3176317d3184318b31
+92319931a031a731ae31b531bc31c331ca31d131d831df31e631ed31f431fb320232
+0932103217321e3225322c3233323a32413248324f3256325d3264326b3272327932
+803287328e3295329c32a332aa32b132b832bf32c632cd32d432db32e232e932f032
+f732fe3305330c3313331a33213328332f3336333d3344334d3353335a3361336833
+6f3376337d3384338b3392339933a033a733b033b733bd33c433cb33d233d933e033
+e733ee33f533ff3406340d3414341b3422342934303437343e3445344c3453345a34
+613467346e3472347934803487348e3495349c34a334aa34b134b834bf34c634cd34
+d434db34e234e934f034f734fe3505350c35173525352c3533353a35413548354f35
+56355d3564356b3572357935813588358f3596359a35a135a835af35b635bd35c435
+cb35d235d935e035e735ee35f535fc3603360a36113618361f3626362d3634363b36
+42364936503657365e3665366c3673367a36813688368f3696369d36a436ab36b236
+b936c036c736ce36d136d836df36e636ed36f436fb3702370937103717371e372637
+3237413751375c37663770377c37873792379c37a837b437bf37ca37d437db37e037
+e737f63803380f381b382938363843384f385d386b387838853892389f38a438a738
+aa38ad38b438bb38c238c938cc38cf38d938e038e738ee38f538fc39033908390f39
+16391d3924392b3933393a3941394a3952395a3961396a3973397b398b399a39a939
+ba39ca39da39e939fa3a0b3a1b3a223a293a303a373a3b3a453a4f3a593a633a6d3a
+773a813a8b3a953a9f3aa93ab33abd3ac73ad13adb3ae53aef3af93b033b0d3b173b
+203b293b373b403b493b593b6a3b7e3b8a3b933b9f3bb03bbd3bc33bcd3bd93be63b
+f43c033c0f3c1c3c293c383c483c593c693c7a3c843c8b3c8e3c913c943c993ca03c
+a33caa3cb03cb63cbc3cc23cc83cce3cd43cda3ce03ce63cec3cf23cf83cfe3d043d
+0a3d103d163d1c3d223d273e433e5c3e75756e6930304130756e693030414474776f
+2e7375706572696f7274687265652e7375706572696f72756e693030423570696c63
+726f776f6e652e7375706572696f72416d6163726f6e616d6163726f6e4162726576
+65616272657665416f676f6e656b616f676f6e656b43616375746563616375746543
+63697263756d666c65786363697263756d666c657843646f74616363656e7463646f
+74616363656e74436361726f6e636361726f6e446361726f6e646361726f6e446372
+6f61746463726f6174456d6163726f6e656d6163726f6e4562726576656562726576
+6545646f74616363656e7465646f74616363656e74456f676f6e656b656f676f6e65
+6b456361726f6e656361726f6e4763697263756d666c65786763697263756d666c65
+7847627265766567627265766547646f74616363656e7467646f74616363656e7447
+636f6d6d61616363656e7467636f6d6d61616363656e744863697263756d666c6578
+6863697263756d666c657848626172686261724974696c64656974696c6465496d61
+63726f6e696d6163726f6e496272657665696272657665496f676f6e656b696f676f
+6e656b49646f74616363656e74494a696a4a63697263756d666c65786a6369726375
+6d666c65784b636f6d6d61616363656e746b636f6d6d61616363656e746b67726565
+6e6c616e6469634c61637574656c61637574654c636f6d6d61616363656e746c636f
+6d6d61616363656e744c6361726f6e6c6361726f6e4c646f746c646f744e61637574
+656e61637574654e636f6d6d61616363656e746e636f6d6d61616363656e744e6361
+726f6e6e6361726f6e6e61706f7374726f706865456e67656e674f6d6163726f6e6f
+6d6163726f6e4f62726576656f62726576654f68756e676172756d6c6175746f6875
+6e676172756d6c61757452616375746572616375746552636f6d6d61616363656e74
+72636f6d6d61616363656e74526361726f6e726361726f6e53616375746573616375
+74655363697263756d666c65787363697263756d666c657853636564696c6c617363
+6564696c6c6154636564696c6c6174636564696c6c61546361726f6e746361726f6e
+54626172746261725574696c64657574696c6465556d6163726f6e756d6163726f6e
+5562726576657562726576655572696e677572696e675568756e676172756d6c6175
+747568756e676172756d6c617574556f676f6e656b756f676f6e656b576369726375
+6d666c65787763697263756d666c65785963697263756d666c65787963697263756d
+666c65785a61637574657a61637574655a646f74616363656e747a646f7461636365
+6e746c6f6e67734f686f726e6f686f726e756e6930314330756e6930314331756e69
+30314332756e6930314333756e6930314334756e6930314335756e6930314336756e
+6930314337756e6930314338756e6930314339756e6930314341756e693031434275
+6e6930314343756e6930314344756e6930314345756e6930314346756e6930314430
+756e6930314431756e6930314432756e6930314433756e6930314434756e69303144
+35756e6930314436756e6930314437756e6930314438756e6930314439756e693031
+4441756e6930314442756e6930314443657475726e6564756e6930314445756e6930
+314446756e6930314530756e6930314531756e6930314532756e6930314533756e69
+30314534756e6930314535476361726f6e676361726f6e756e6930314538756e6930
+314539756e6930314541756e6930314542756e6930314543756e6930314544756e69
+30314630756e6930314631756e6930314632756e6930314633756e6930314634756e
+6930314635756e6930314638756e69303146394172696e6761637574656172696e67
+616375746541456163757465616561637574654f736c61736861637574656f736c61
+73686163757465756e6930323030756e6930323031756e6930323032756e69303230
+33756e6930323034756e6930323035756e6930323036756e6930323037756e693032
+3038756e6930323039756e6930323041756e6930323042756e6930323043756e6930
+323044756e6930323045756e6930323046756e6930323130756e6930323131756e69
+30323132756e6930323133756e6930323134756e6930323135756e6930323136756e
+693032313753636f6d6d61616363656e7473636f6d6d61616363656e7454636f6d6d
+61616363656e7474636f6d6d61616363656e74756e6930323145756e693032314675
+6e6930323236756e6930323237756e6930323238756e6930323239756e6930323241
+756e6930323242756e6930323243756e6930323244756e6930323245756e69303232
+46756e6930323330756e6930323331756e6930323332756e6930323333646f746c65
+73736a756e6930323641682e7375706572696f7268686f6f6b2e7375706572696f72
+6a2e7375706572696f72722e7375706572696f72727475726e65642e737570657269
+6f7272686f6f6b7475726e65642e7375706572696f7252736d616c6c696e76657274
+65642e7375706572696f72772e7375706572696f72792e7375706572696f72756e69
+30324239756e6930324241756e693032424261666969353739323961666969363439
+3337756e6930324245756e6930324246756e6930324330756e6930324331756e6930
+324332756e6930324333756e6930324334756e6930324335756e6930324338756e69
+30324339756e6930324341756e6930324342756e6930324343756e6930324344756e
+6930324345756e6930324346756e6930324430756e6930324431756e693032443275
+6e6930324433756e6930324434756e6930324435756e6930324436756e6930324437
+756e6930324445756e693032444667616d6d616c6174696e2e7375706572696f726c
+2e7375706572696f72732e7375706572696f72782e7375706572696f72676c6f7474
+616c73746f7072657665727365642e7375706572696f72756e6930324535756e6930
+324536756e6930324537756e6930324538756e6930324539756e6930324541756e69
+30324542756e6930324543756e6930324544756e6930324545756e6930324546756e
+6930324630756e6930324631756e6930324632756e6930324633756e693032463475
+6e6930324635756e6930324636756e6930324637756e6930324638756e6930324639
+756e6930324641756e6930324642756e6930324643756e6930324644756e69303246
+45756e69303246466772617665636f6d626163757465636f6d6263697263756d666c
+6578636f6d6274696c6465636f6d626d6163726f6e636f6d62756e69303330356272
+657665636f6d62756e6930333037756e6930333038686f6f6b61626f7665636f6d62
+756e6930333041756e6930333042756e6930333043756e6930333044756e69303330
+45756e6930333046756e6930333130756e6930333131756e6930333132756e693033
+3133756e6930333134756e6930333135756e6930333136756e6930333137756e6930
+333138756e6930333139756e6930333141756e6930333142756e6930333143756e69
+30333144756e6930333145756e6930333146756e6930333230756e6930333231756e
+6930333232646f7462656c6f77636f6d62756e6930333234756e6930333235756e69
+30333236756e6930333237756e6930333238756e6930333239756e6930333241756e
+6930333242756e6930333243756e6930333244756e6930333245756e693033324675
+6e6930333330756e6930333331756e6930333332756e6930333333756e6930333334
+756e6930333335756e6930333336756e6930333337756e6930333338756e69303333
+39756e6930333341756e6930333342756e6930333343756e6930333344756e693033
+3345756e6930333346756e6930333430756e6930333431756e6930333432756e6930
+333433756e6930333434756e6930333435756e6930333436756e6930333437756e69
+30333438756e6930333439756e6930333441756e6930333442756e6930333443756e
+6930333444756e6930333445756e6930333530756e6930333531756e693033353275
+6e6930333533756e6930333534756e6930333535756e6930333536756e6930333537
+756e6930333538756e6930333539756e6930333541756e6930333542756e69303335
+43756e6930333544756e6930333545756e6930333546756e6930333630756e693033
+3631756e6930333632756e6930333633756e6930333634756e6930333635756e6930
+333636756e6930333637756e6930333638756e6930333639756e6930333641756e69
+30333642756e6930333643756e6930333644756e6930333645756e6930333646756e
+6930333734756e6930333735756e6930333741756e6930333742756e693033374375
+6e6930333744756e6930333745746f6e6f736469657265736973746f6e6f73416c70
+6861746f6e6f73616e6f74656c656961457073696c6f6e746f6e6f73457461746f6e
+6f73496f7461746f6e6f734f6d6963726f6e746f6e6f73557073696c6f6e746f6e6f
+734f6d656761746f6e6f73696f74616469657265736973746f6e6f73416c70686142
+65746147616d6d6144656c7461457073696c6f6e5a6574614574615468657461496f
+74614b617070614c616d6264614d754e7558694f6d6963726f6e506952686f536967
+6d61546175557073696c6f6e5068694368695073694f6d656761496f746164696572
+65736973557073696c6f6e6469657265736973616c706861746f6e6f73657073696c
+6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73757073696c6f6e646965
+7265736973746f6e6f73616c7068616265746167616d6d6164656c7461657073696c
+6f6e7a6574616574617468657461696f74616b617070616c616d6264616e7578696f
+6d6963726f6e706972686f7369676d61317369676d61746175757073696c6f6e7068
+696368697073696f6d656761696f74616469657265736973757073696c6f6e646965
+72657369736f6d6963726f6e746f6e6f73757073696c6f6e746f6e6f736f6d656761
+746f6e6f73756e6930334430746865746131557073696c6f6e31756e693033443375
+6e6930334434706869316f6d65676131756e6930334437756e6930334438756e6930
+334439756e6930334441756e6930334442756e6930334443756e6930334444756e69
+30334445756e6930334446756e6930334530756e6930334531756e6930334630756e
+6930334631756e6930334632756e6930334633756e6930334634756e693033463575
+6e6930334636756e6930334638756e6930334639756e6930334642756e6930334644
+756e6930334645756e6930334646756e693034303061666969313030323361666969
+31303035316166696931303035326166696931303035336166696931303035346166
+69693130303535616669693130303536616669693130303537616669693130303538
+616669693130303539616669693130303630616669693130303631756e6930343044
+61666969313030363261666969313031343561666969313030313761666969313030
+31386166696931303031396166696931303032306166696931303032316166696931
+30303232616669693130303234616669693130303235616669693130303236616669
+69313030323761666969313030323861666969313030323961666969313030333061
+66696931303033316166696931303033326166696931303033336166696931303033
+34616669693130303335616669693130303336616669693130303337616669693130
+30333861666969313030333961666969313030343061666969313030343161666969
+31303034326166696931303034336166696931303034346166696931303034356166
+69693130303436616669693130303437616669693130303438616669693130303439
+61666969313030363561666969313030363661666969313030363761666969313030
+36386166696931303036396166696931303037306166696931303037326166696931
+30303733616669693130303734616669693130303735616669693130303736616669
+69313030373761666969313030373861666969313030373961666969313030383061
+66696931303038316166696931303038326166696931303038336166696931303038
+34616669693130303835616669693130303836616669693130303837616669693130
+30383861666969313030383961666969313030393061666969313030393161666969
+31303039326166696931303039336166696931303039346166696931303039356166
+69693130303936616669693130303937756e69303435306166696931303037316166
+69693130303939616669693130313030616669693130313031616669693130313032
+61666969313031303361666969313031303461666969313031303561666969313031
+3036616669693130313037616669693130313038616669693130313039756e693034
+3544616669693130313130616669693130313933756e6930343630756e6930343631
+616669693130313436616669693130313934756e6930343634756e6930343635756e
+6930343636756e6930343637756e6930343638756e6930343639756e693034364175
+6e6930343642756e6930343643756e6930343644756e6930343645756e6930343646
+756e6930343730756e69303437316166696931303134376166696931303139356166
+69693130313438616669693130313936756e6930343736756e6930343737756e6930
+343743756e6930343744756e6930343745756e6930343746756e6930343833756e69
+30343843756e6930343844756e6930343845756e6930343846616669693130303530
+616669693130303938756e6930343932756e6930343933756e6930343934756e6930
+343935756e6930343936756e6930343937756e6930343938756e6930343939756e69
+30343941756e6930343942756e6930343943756e6930343944756e6930343945756e
+6930343946756e6930344130756e6930344131756e6930344132756e693034413375
+6e6930344134756e6930344135756e6930344136756e6930344137756e6930344138
+756e6930344139756e6930344141756e6930344142756e6930344143756e69303441
+44756e6930344145756e6930344146756e6930344230756e6930344231756e693034
+4232756e6930344233756e6930344234756e6930344235756e6930344236756e6930
+344237756e6930344238756e6930344239756e6930344241756e6930344242756e69
+30344243756e6930344244756e6930344245756e6930344246756e6930344330756e
+6930344331756e6930344332756e6930344333756e6930344334756e693034433775
+6e6930344338756e6930344339756e6930344341756e6930344342756e6930344343
+756e6930344430756e6930344431756e6930344432756e6930344433756e69303444
+34756e6930344435756e6930344436756e6930344437756e69303444386166696931
+30383436756e6930344441756e6930344442756e6930344443756e6930344444756e
+6930344445756e6930344446756e6930344530756e6930344531756e693034453275
+6e6930344533756e6930344534756e6930344535756e6930344536756e6930344537
+756e6930344538756e6930344539756e6930344541756e6930344542756e69303445
+43756e6930344544756e6930344545756e6930344546756e6930344630756e693034
+4631756e6930344632756e6930344633756e6930344634756e6930344635756e6930
+344636756e6930344637756e6930344638756e693034463961666969353737393961
+66696935373830316166696935373830306166696935373830326166696935373739
+33616669693537373934616669693537373935616669693537373938616669693537
+373937616669693537383036756e6930354241616669693537373936616669693537
+38303761666969353738333961666969353736343561666969353738343161666969
+3537383432616669693537383034616669693537383033616669693537363538756e
+69303543366166696935373636346166696935373636356166696935373636366166
+69693537363637616669693537363638616669693537363639616669693537363730
+61666969353736373161666969353736373261666969353736373361666969353736
+37346166696935373637356166696935373637366166696935373637376166696935
+37363738616669693537363739616669693537363830616669693537363831616669
+69353736383261666969353736383361666969353736383461666969353736383561
+66696935373638366166696935373638376166696935373638386166696935373638
+39616669693537363930616669693537373136616669693537373137616669693537
+373138756e6930354633756e6930354634612e7375706572696f72617475726e6564
+2e7375706572696f72622e7375706572696f72642e7375706572696f72652e737570
+6572696f72657475726e65642e7375706572696f72672e7375706572696f72697475
+726e65642e7375706572696f726b2e7375706572696f726d2e7375706572696f726f
+2e7375706572696f72637475726e65642e7375706572696f72702e7375706572696f
+72742e7375706572696f72752e7375706572696f726d7475726e65642e7375706572
+696f72762e7375706572696f72632e7375706572696f72662e7375706572696f727a
+2e7375706572696f72756e6931453030756e6931453031756e6931453032756e6931
+453033756e6931453034756e6931453035756e6931453036756e6931453037756e69
+31453038756e6931453039756e6931453041756e6931453042756e6931453043756e
+6931453044756e6931453045756e6931453046756e6931453130756e693145313175
+6e6931453132756e6931453133756e6931453134756e6931453135756e6931453136
+756e6931453137756e6931453138756e6931453139756e6931453141756e69314531
+42756e6931453143756e6931453144756e6931453145756e6931453146756e693145
+3230756e6931453231756e6931453232756e6931453233756e6931453234756e6931
+453235756e6931453236756e6931453237756e6931453238756e6931453239756e69
+31453241756e6931453242756e6931453243756e6931453244756e6931453245756e
+6931453246756e6931453330756e6931453331756e6931453332756e693145333375
+6e6931453334756e6931453335756e6931453336756e6931453337756e6931453338
+756e6931453339756e6931453341756e6931453342756e6931453343756e69314533
+44756e6931453345756e6931453346756e6931453430756e6931453431756e693145
+3432756e6931453433756e6931453434756e6931453435756e6931453436756e6931
+453437756e6931453438756e6931453439756e6931453441756e6931453442756e69
+31453443756e6931453444756e6931453445756e6931453446756e6931453530756e
+6931453531756e6931453532756e6931453533756e6931453534756e693145353575
+6e6931453536756e6931453537756e6931453538756e6931453539756e6931453541
+756e6931453542756e6931453543756e6931453544756e6931453545756e69314535
+46756e6931453630756e6931453631756e6931453632756e6931453633756e693145
+3634756e6931453635756e6931453636756e6931453637756e6931453638756e6931
+453639756e6931453641756e6931453642756e6931453643756e6931453644756e69
+31453645756e6931453646756e6931453730756e6931453731756e6931453732756e
+6931453733756e6931453734756e6931453735756e6931453736756e693145373775
+6e6931453738756e6931453739756e6931453741756e6931453742756e6931453743
+756e6931453744756e6931453745756e693145374657677261766577677261766557
+6163757465776163757465576469657265736973776469657265736973756e693145
+3836756e6931453837756e6931453838756e6931453839756e6931453841756e6931
+453842756e6931453843756e6931453844756e6931453845756e6931453846756e69
+31453930756e6931453931756e6931453932756e6931453933756e6931453934756e
+6931453935756e6931453936756e6931453937756e6931453938756e693145393975
+6e6931453941756e6931453942756e6931453943756e69314539444765726d616e64
+626c73756e6931453946756e6931454130756e6931454131756e6931454132756e69
+31454133756e6931454134756e6931454135756e6931454136756e6931454137756e
+6931454138756e6931454139756e6931454141756e6931454142756e693145414375
+6e6931454144756e6931454145756e6931454146756e6931454230756e6931454231
+756e6931454232756e6931454233756e6931454234756e6931454235756e69314542
+36756e6931454237756e6931454238756e6931454239756e6931454241756e693145
+4242756e6931454243756e6931454244756e6931454245756e6931454246756e6931
+454330756e6931454331756e6931454332756e6931454333756e6931454334756e69
+31454335756e6931454336756e6931454337756e6931454338756e6931454339756e
+6931454341756e6931454342756e6931454343756e6931454344756e693145434575
+6e6931454346756e6931454430756e6931454431756e6931454432756e6931454433
+756e6931454434756e6931454435756e6931454436756e6931454437756e69314544
+38756e6931454439756e6931454441756e6931454442756e6931454443756e693145
+4444756e6931454445756e6931454446756e6931454530756e6931454531756e6931
+454532756e6931454533756e6931454534756e6931454535756e6931454536756e69
+31454537596772617665796772617665756e6931454634756e6931454635756e6931
+454636756e6931454637756e6931454638756e6931454639756e6931454641756e69
+31454642756e6931454643756e6931454644756e6931454645756e6931454646756e
+6931463030756e6931463031756e6931463032756e6931463033756e693146303475
+6e6931463035756e6931463036756e6931463037756e6931463038756e6931463039
+756e6931463041756e6931463042756e6931463043756e6931463044756e69314630
+45756e6931463046756e6931463130756e6931463131756e6931463132756e693146
+3133756e6931463134756e6931463135756e6931463138756e6931463139756e6931
+463141756e6931463142756e6931463143756e6931463144756e6931463230756e69
+31463231756e6931463232756e6931463233756e6931463234756e6931463235756e
+6931463236756e6931463237756e6931463238756e6931463239756e693146324175
+6e6931463242756e6931463243756e6931463244756e6931463245756e6931463246
+756e6931463330756e6931463331756e6931463332756e6931463333756e69314633
+34756e6931463335756e6931463336756e6931463337756e6931463338756e693146
+3339756e6931463341756e6931463342756e6931463343756e6931463344756e6931
+463345756e6931463346756e6931463430756e6931463431756e6931463432756e69
+31463433756e6931463434756e6931463435756e6931463438756e6931463439756e
+6931463441756e6931463442756e6931463443756e6931463444756e693146353075
+6e6931463531756e6931463532756e6931463533756e6931463534756e6931463535
+756e6931463536756e6931463537756e6931463539756e6931463542756e69314635
+44756e6931463546756e6931463630756e6931463631756e6931463632756e693146
+3633756e6931463634756e6931463635756e6931463636756e6931463637756e6931
+463638756e6931463639756e6931463641756e6931463642756e6931463643756e69
+31463644756e6931463645756e6931463646756e6931463730756e6931463731756e
+6931463732756e6931463733756e6931463734756e6931463735756e693146373675
+6e6931463737756e6931463738756e6931463739756e6931463741756e6931463742
+756e6931463743756e6931463744756e6931463830756e6931463831756e69314638
+32756e6931463833756e6931463834756e6931463835756e6931463836756e693146
+3837756e6931463838756e6931463839756e6931463841756e6931463842756e6931
+463843756e6931463844756e6931463845756e6931463846756e6931463930756e69
+31463931756e6931463932756e6931463933756e6931463934756e6931463935756e
+6931463936756e6931463937756e6931463938756e6931463939756e693146394175
+6e6931463942756e6931463943756e6931463944756e6931463945756e6931463946
+756e6931464130756e6931464131756e6931464132756e6931464133756e69314641
+34756e6931464135756e6931464136756e6931464137756e6931464138756e693146
+4139756e6931464141756e6931464142756e6931464143756e6931464144756e6931
+464145756e6931464146756e6931464230756e6931464231756e6931464232756e69
+31464233756e6931464234756e6931464236756e6931464237756e6931464238756e
+6931464239756e6931464241756e6931464242756e6931464243756e693146424475
+6e6931464245756e6931464246756e6931464330756e6931464331756e6931464332
+756e6931464333756e6931464334756e6931464336756e6931464337756e69314643
+38756e6931464339756e6931464341756e6931464342756e6931464343756e693146
+4344756e6931464345756e6931464346756e6931464430756e6931464431756e6931
+464432756e6931464433756e6931464436756e6931464437756e6931464438756e69
+31464439756e6931464441756e6931464442756e6931464444756e6931464445756e
+6931464446756e6931464530756e6931464531756e6931464532756e693146453375
+6e6931464534756e6931464535756e6931464536756e6931464537756e6931464538
+756e6931464539756e6931464541756e6931464542756e6931464543756e69314645
+44756e6931464545756e6931464546756e6931464632756e6931464633756e693146
+4634756e6931464636756e6931464637756e6931464638756e6931464639756e6931
+464641756e6931464642756e6931464643756e6931464644756e6931464645656e71
+756164656d71756164656e7370616365656d73706163657468726565706572656d73
+70616365666f7572706572656d7370616365736978706572656d7370616365666967
+757265737061636570756e6374756174696f6e73706163657468696e737061636568
+61697273706163657a65726f7769647468737061636568797068656e74776f687970
+68656e6e6f627265616b686f72697a6f6e74616c626172756e6932303136756e6465
+7273636f726564626c71756f7465726576657273656471756f746564626c72657674
+7269616e676c6562756c6c657468797068656e646f74756e69323032467065727465
+6e74686f7573616e646d696e7574657365636f6e647072696d65747269706c657072
+696d657265766572736564756e6932303336756e6932303337756e69323033426578
+636c616d64626c696e746572726f62616e67756e6932303345756e69323034327175
+657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c616d6578636c
+616d5f7175657374696f6e756e6932303441756e6932303442756e69323034467a65
+726f2e7375706572696f72692e7375706572696f72666f75722e7375706572696f72
+666976652e7375706572696f727369782e7375706572696f72736576656e2e737570
+6572696f7265696768742e7375706572696f726e696e652e7375706572696f72706c
+75732e7375706572696f726d696e75732e7375706572696f72657175616c2e737570
+6572696f72706172656e6c6566742e7375706572696f72706172656e72696768742e
+7375706572696f726e2e7375706572696f727a65726f2e696e666572696f726f6e65
+2e696e666572696f7274776f2e696e666572696f7274687265652e696e666572696f
+72666f75722e696e666572696f72666976652e696e666572696f727369782e696e66
+6572696f72736576656e2e696e666572696f7265696768742e696e666572696f726e
+696e652e696e666572696f72706c75732e696e666572696f726d696e75732e696e66
+6572696f72657175616c2e696e666572696f72706172656e6c6566742e696e666572
+696f72706172656e72696768742e696e666572696f72612e696e666572696f72652e
+696e666572696f726f2e696e666572696f72782e696e666572696f72756e69323039
+34756e6932303938756e6932303939756e69323041326672616e636c697261706573
+657461756e6932304138646f6e674575726f756e69323041467065736f756e693231
+3030756e6932313031756e693231303263656e746967726164656166696936313234
+38756e693231303666616872656e68656974756e6932313043756e6932313044756e
+6932313045756e6932313046496672616b747572616669693631323839756e693231
+31356e756d65726f756e6932313139756e6932313141526672616b747572756e6932
+313144756e6932313230756e6932313234756e69323132364f6d656761696e766573
+74696d61746564616c657068756e6932313336756e6932313337756e693231333875
+6e6932313339756e69323134466f6e65666966746874776f66696674687374687265
+65666966746873666f75726669667468736f6e657369787468666976657369787468
+736f6e656e756d657261746f724f6e65726f6d616e54776f726f6d616e5468726565
+726f6d616e466f7572726f6d616e46697665726f6d616e536978726f6d616e536576
+656e726f6d616e4569676874726f6d616e4e696e65726f6d616e54656e726f6d616e
+456c6576656e726f6d616e5477656c7665726f6d616e756e6932313643756e693231
+3644756e6932313645756e69323136466f6e65726f6d616e74776f726f6d616e7468
+726565726f6d616e666f7572726f6d616e66697665726f6d616e736978726f6d616e
+736576656e726f6d616e6569676874726f6d616e6e696e65726f6d616e74656e726f
+6d616e656c6576656e726f6d616e7477656c7665726f6d616e756e6932313743756e
+6932313744756e6932313745756e6932313746756e6932313830756e693231383175
+6e6932313832756e6932313833756e69323138346172726f776c6566746172726f77
+75706172726f7772696768746172726f77646f776e6172726f77626f74686172726f
+777570646e756e6932313936756e6932313937756e6932313938756e693231393975
+6e6932313941756e6932313942756e69323141366172726f777570646e627365756e
+6932314145756e6932314243756e6932314244756e6932314330756e693231433175
+6e6932314342756e6932314343756e6932314344756e6932314345756e6932314346
+6172726f7764626c6c6566746172726f7764626c75706172726f7764626c72696768
+746172726f7764626c646f776e6172726f7764626c626f7468756e69323144354e77
+6172726f774e656172726f7753656172726f7753776172726f77756e697665727361
+6c756e69323230317061727469616c646966666578697374656e7469616c756e6932
+323034656d707479736574756e69323230366772616469656e74656c656d656e746e
+6f74656c656d656e74756e69323230417375636874686174756e6932323043756e69
+3232304470726f64756374756e693232313073756d6d6174696f6e756e6932323133
+756e6932323134756e6932323135756e6932323136617374657269736b6d61746875
+6e6932323138756e69323231397261646963616c756e6932323142756e6932323143
+70726f706f7274696f6e616c696e66696e697479756e6932323146616e676c65756e
+6932323231756e6932323232756e6932323233756e6932323234756e693232323575
+6e69323232366c6f676963616c616e646c6f676963616c6f72696e74657273656374
+696f6e756e696f6e696e74656772616c756e6932323243756e6932323244756e6932
+323245756e693232333673696d696c6172756e6932323431636f6e677275656e7461
+7070726f78657175616c756e6932323439756e69323235396e6f74657175616c6571
+756976616c656e6365756e69323236326c657373657175616c677265617465726571
+75616c756e6932323641756e6932323642756e6932323645756e6932323646756e69
+32323730756e693232373170726f70657273756273657470726f7065727375706572
+7365746e6f74737562736574756e6932323835636972636c65706c7573756e693232
+3936636972636c656d756c7469706c79756e6932323938756e6932324132756e6932
+324133756e693232413470657270656e646963756c6172756e6932324136756e6932
+324236756e6932324237646f746d617468756e6932324545756e6932324546756e69
+32333030756e6932333032756e6932333033756e6932333130756e6932333230756e
+6932333231756e6932333236756e6932333237756e6932333239756e693233324175
+6e6932333242756e6932333744756e6932333830756e6932334433756e6932343233
+756e6932343630756e6932343631756e6932343632756e6932343633756e69323436
+34756e6932343635756e6932343636756e6932343637756e6932343638756e693234
+3639756e6932343641756e6932343642756e6932343643756e6932343644756e6932
+343645756e6932343646756e6932343730756e6932343731756e6932343732756e69
+32343733756e6932343734756e6932343735756e6932343736756e6932343737756e
+6932343738756e6932343739756e6932343741756e6932343742756e693234374375
+6e6932343744756e6932343745756e6932343746756e6932343830756e6932343831
+756e6932343832756e6932343833756e6932343834756e6932343835756e69323438
+36756e6932343837756e6932344236756e6932344237756e6932344238756e693234
+4239756e6932344241756e6932344242756e6932344243756e6932344244756e6932
+344245756e6932344246756e6932344330756e6932344331756e6932344332756e69
+32344333756e6932344334756e6932344335756e6932344336756e6932344337756e
+6932344338756e6932344339756e6932344341756e6932344342756e693234434375
+6e6932344344756e6932344345756e6932344346756e6932344430756e6932344431
+756e6932344432756e6932344433756e6932344434756e6932344435756e69323444
+36756e6932344437756e6932344438756e6932344439756e6932344441756e693234
+4442756e6932344443756e6932344444756e6932344445756e6932344446756e6932
+344530756e6932344531756e6932344532756e6932344533756e6932344534756e69
+32344535756e6932344536756e6932344537756e6932344538756e6932344539756e
+6932344541756e6932344542756e6932344543756e6932344544756e693234454575
+6e6932344546756e6932344630756e6932344631756e6932344632756e6932344633
+756e6932344634756e6932344635756e6932344636756e6932344637756e69323446
+38756e6932344639756e6932344641756e6932344642756e6932344643756e693234
+4644756e6932344645756e693234464666696c6c6564626f78483232303733747269
+61677570756e6932354233756e6932354236756e69323542377472696167646e756e
+6932354244756e6932354330756e6932354331756e6932354336756e693235433775
+6e69323543396c6f7a656e6765626967636972636c65756e69323543454831383533
+33756e6932354430756e6932354431756e6932354432756e6932354433756e693235
+4434756e6932354435756e6932354436756e69323544376f70656e62756c6c657475
+6e6932363035756e6932363039756e6932363139756e6932363142756e6932363145
+756e6932363237756e6932363246756e6932363339756e6932363341756e69323633
+42756e6932363343756e6932363344756e6932363345756e693236334666656d616c
+65756e69323634316d616c65756e6932363433756e6932363434756e693236343575
+6e6932363436756e6932363437756e6932363438756e6932363439756e6932363441
+756e6932363442756e6932363443756e6932363444756e6932363445756e69323634
+46756e6932363530756e6932363531756e6932363532756e6932363533756e693236
+3630756e6932363633756e6932363635756e6932363636756e69323636396d757369
+63616c6e6f74656d75736963616c6e6f746564626c756e6932363643756e69323636
+44756e6932363645756e6932363646756e6932363935756e6932363938756e693236
+4132756e6932364133756e6932364134756e6932364135756e69323641436d617272
+6965646469766f72636564756e6932364146756e6932373134756e69323731386469
+6564756e6932373637756e6932373736756e6932373737756e6932373738756e6932
+373739756e6932373741756e6932373742756e6932373743756e6932373744756e69
+32373745756e6932373746756e6932374332756e6932374536756e6932374537756e
+6932433630756e6932433631756e6932433632756e6932433633756e693243363475
+6e6932433635756e6932433636756e6932433637756e6932433638756e6932433639
+756e6932433641756e6932433642756e6932433643756e6932433734756e69324337
+35756e6932433736756e6932433737756e6932453032756e6932453033756e693245
+3034756e6932453035756e6932453038756e6932453039756e6932453041756e6932
+453137756e6932453138756e6941373144756e6941373230756e6941373231756e69
+41373635547578756e6945303031756e6945303032756e6945303033756e69453030
+34756e6945303035756e6945303036756e6945303037756e6945303038756e694530
+3039756e6945303041756e6945303042636f70796c6566747075626c6963646f6d61
+696e6372656174697665636f6d6d6f6e737a65726f2e736c6173686669747465647a
+65726f2e6669747465646f6e652e66697474656474776f2e66697474656474687265
+652e666974746564666f75722e666974746564666976652e6669747465647369782e
+666974746564736576656e2e66697474656465696768742e6669747465646e696e65
+2e6669747465644575726f2e66697474656459656e2e666974746564756e69453031
+43612e616c74756e694530314570657274686f7573616e647a65726f7a65726f2e6f
+6c647374796c656f6e652e6f6c647374796c6574776f2e6f6c647374796c65746872
+65652e6f6c647374796c65666f75722e6f6c647374796c65666976652e6f6c647374
+796c657369782e6f6c647374796c65736576656e2e6f6c647374796c656569676874
+2e6f6c647374796c656e696e652e6f6c647374796c654164696572657369732e616c
+744f64696572657369732e616c745564696572657369732e616c74572e616c74665f
+6a745f74635f746c6f6e67735f69756e6945303430756e6945303431756e69453034
+32515f75545f68712e7375706572696f72756e6945304639756e6945304642756e69
+45304643756e6945304644756e6945304645756e69453046466b72656973756e6945
+313031756e6945313034756e6945313035756e6945313036756e69453130377a6572
+6f2e6361706f6e652e63617074776f2e63617074687265652e636170666f75722e63
+6170666976652e6361707369782e636170736576656e2e63617065696768742e6361
+706e696e652e6361707a65726f2e7461626f6c647374796c656f6e652e7461626f6c
+647374796c6574776f2e7461626f6c647374796c6574687265652e7461626f6c6473
+74796c65666f75722e7461626f6c647374796c65666976652e7461626f6c64737479
+6c657369782e7461626f6c647374796c65736576656e2e7461626f6c647374796c65
+65696768742e7461626f6c647374796c656e696e652e7461626f6c647374796c6575
+6e6945313238756e6945313239756e6945313241756e69453133306c656166622e69
+6e666572696f72632e696e666572696f72642e696e666572696f72662e696e666572
+696f72672e696e666572696f72682e696e666572696f72692e696e666572696f726a
+2e696e666572696f726b2e696e666572696f726c2e696e666572696f726d2e696e66
+6572696f726e2e696e666572696f72702e696e666572696f72712e696e666572696f
+72722e696e666572696f72732e696e666572696f72742e696e666572696f72752e69
+6e666572696f72762e696e666572696f72772e696e666572696f72792e696e666572
+696f727a2e696e666572696f7267726176652e63617061637574652e636170636972
+63756d666c65782e6361706361726f6e2e63617062726576652e63617068756e6761
+72756d6c6175742e63617073706163655f756e69303330462e636170627265766569
+6e766572746564636d622e63617062726576652e63797263617062726576652e6379
+7264696572657369732e636170686f6f6b61626f7665636f6d622e636170646f7461
+6363656e742e6361706d65747269637a65726f2e736c617368706172656e6c656674
+2e7363706172656e72696768742e7363627261636b65746c6566742e736362726163
+6b657472696768742e736362726163656c6566742e7363627261636572696768742e
+73636578636c616d646f776e2e73637175657374696f6e646f776e2e73636775696c
+6c656d6f746c6566742e73636775696c6c656d6f7472696768742e73636775696c73
+696e676c6c6566742e73636775696c73696e676c72696768742e736368797068656e
+2e636170756e6946364245665f66665f69665f6c665f665f696c6f6e67735f74735f
+74756e69464646447531443533387531443533397531443533427531443533437531
+44353344753144353345753144353430753144353431753144353432753144353433
+75314435343475314435343675314435343775314435344175314435344275314435
+3443753144353444753144353445753144353446753144353530352e312e334c696e
+7578204c6962657274696e65206279205068696c69707020482e20506f6c6c2c0a4f
+70656e20466f6e7420756e646572205465726d73206f6620666f6c6c6f77696e6720
+4672656520536f667477617265204c6963656e7365733a0a47504c202847656e6572
+616c205075626c6963204c6963656e736529207769746820666f6e742d6578636570
+74696f6e20616e64204f464c20284f70656e20466f6e74204c6963656e7365292e0a
+43726561746564207769746820466f6e74466f7267652028687474703a2f2f666f6e
+74666f7267652e73662e6e6574290a5365707420323030332c20323030342c203230
+30352c20323030362c20323030372c20323030382c20323030392c20323031302c20
+323031312c323031324c696e7578204c6962657274696e6520446973706c6179204f
+4c696e7578204c6962657274696e6520446973706c6179204f000000000100020003
+000400050006000700680009000a000b000c000d000e000f00100011001200130014
+00150016001700180019001a001b001c001d001e001f002000210022002300240025
+0026002700280029002a002b002c002d002e002f0030003100320033003400350036
+003700380039003a003b003c003d003e003f0040007c004200430044004500460047
+00480049004a004b004c004d004e004f005000510052005300540055005600570058
+0059005a005b005c005d005e005f01870060006100620067006400a00066008300aa
+008b006a0097018800a5008000a1009c0189018a007d018b018c00720085018d008f
+0078009e009b00a3007b00ae00ab00ac00b000ad00af008a00b100b500b200b300b4
+00b900b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d00c400c100c200c3
+00c5009d009500cb00c800c900cd00ca00cc009000ce00d200cf00d000d100d600d3
+00d400d500a700d700db00d800d900dc00da009f009300e100de00df00e000e200a2
+00e3018e018f0190019101920193019401950196019701980199019a019b019c019d
+019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae
+01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd01be0091
+01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc01cd008c0092
+01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db01dc008e0094
+01dd01de01df01e001e101e201e301e401e501e601e701e800c000dd01e901ea01eb
+01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc
+01fd01fe00c601ff02000201020200c700e40203020402050206020702080209020a
+020b020c020d020e020f0210021102120213021402150216021702180219021a021b
+021c021d021e021f0220022102220223022402250226022702280229022a022b022c
+022d022e022f0230023102320233023402350236023702380239023a023b023c023d
+023e023f0240024102420243024402450246024702480249024a024b024c024d024e
+024f0250025102520253025402550256025702580259025a025b025c025d025e025f
+0260026102620263026402650266026702680269026a026b026c026d026e026f0270
+027102720273027402750276027702780279027a027b027c027d027e027f02800281
+0282028302840285007e00880286028702880289028a028b028c028d028e028f0290
+029102920293029402950081008200840087007f00860296029702980299029a029b
+029c029d029e029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac
+02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd
+02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce
+02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc02dd02de02df
+02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f0
+02f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe02ff03000301
+03020303030403050306030703080309030a030b030c030d030e030f031003110312
+0313031403150316031703180319031a031b031c031d031e031f0320032103220323
+032403250326032703280329032a032b032c032d032e032f03300331033203330334
+03350336033703380339033a033b033c033d033e033f034003410342034303440345
+0346034703480349034a034b034c034d034e034f0350035103520353035403550356
+035703580359035a035b035c035d035e035f03600361036200980363036403650366
+036703680369036a036b036c036d036e036f03700371037203730374037503760377
+03780379037a037b037c037d037e037f038003810382038303840385038603870388
+0389038a038b038c038d038e038f0390039103920393039403950396039703980399
+039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa
+03ab03ac03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb
+03bc03bd03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc
+03cd03ce03cf03d003d103d203d303d403d503d603d703d803d903da03db03dc03dd
+03de03df03e003e103e203e303e403e503e603e703e803e903ea03eb03ec03ed03ee
+03ef03f003f103f203f303f403f503f603f703f803f903fa03fb03fc03fd03fe03ff
+0400040104020403040404050406040704080409040a040b040c040d040e040f0410
+041104120413041404150416041704180419041a041b041c041d041e041f04200421
+04220423042404250426042704280429042a042b042c042d042e042f043004310432
+0433043404350436043704380439043a043b043c043d043e043f0440044104420443
+044404450446044704480449044a044b044c044d044e044f04500451045204530454
+04550456045704580459045a045b045c045d045e045f046004610462046304640465
+0466046704680469046a046b046c046d046e046f0470047104720473047404750476
+047704780479047a047b047c047d047e047f04800481048204830484048504860487
+04880489048a048b048c048d048e048f049004910492049304940495049604970498
+0499049a049b049c049d049e049f04a004a104a204a304a404a504a604a704a804a9
+04aa04ab04ac04ad04ae04af04b004b104b204b304b404b504b604b704b804b904ba
+04bb04bc04bd04be04bf04c004c104c204c304c404c504c604c704c804c904ca04cb
+04cc04cd04ce04cf04d004d104d204d304d404d504d604d704d804d904da04db04dc
+04dd04de04df04e004e104e204e304e404e504e604e704e804e904ea04eb04ec04ed
+04ee04ef04f004f104f204f304f404f504f604f704f804f904fa04fb04fc04fd04fe
+04ff0500050105020503050405050506050705080509050a050b050c050d050e050f
+0510051105120513051405150516051705180519051a051b051c051d051e051f0520
+052105220523052405250526052705280529052a052b052c052d052e052f05300531
+05320533053405350536053705380539053a053b053c053d053e053f054005410542
+0543054405450546054705480549054a054b054c054d054e054f0550055105520553
+055405550556055705580559055a055b055c055d055e055f05600561056205630564
+05650566056705680569056a056b056c056d056e056f057005710572057305740575
+0576057705780579057a057b057c057d057e057f0580058105820583058405850586
+058705880589058a058b058c058d058e058f05900591059205930594059505960597
+05980599059a059b059c059d059e059f05a005a105a205a305a405a505a605a705a8
+05a905aa05ab05ac05ad05ae05af05b005b105b205b305b405b505b605b705b805b9
+05ba05bb05bc05bd05be05bf05c005c105c205c305c405c505c605c705c805c905ca
+05cb05cc05cd05ce05cf05d005d105d205d305d405d505d605d705d805d905da05db
+05dc05dd05de05df05e005e105e205e305e405e505e605e705e805e905ea05eb05ec
+05ed05ee05ef05f005f105f205f305f405f505f605f705f805f905fa05fb05fc05fd
+05fe05ff0600060106020603060406050606060706080609060a060b060c060d060e
+060f0610061106120613061406150616061706180619061a061b061c061d061e061f
+0620062106220623062406250626062706280629062a062b062c062d062e062f0630
+063106320633063406350636063706380639063a063b063c063d063e063f06400641
+06420643064406450646064706480649064a064b064c064d064e064f065006510652
+0653065406550656065706580659065a065b065c065d065e065f0660066106620663
+066406650666066706680669066a066b066c066d066e066f06700671067206730674
+06750676067706780679067a067b067c067d067e067f068006810682068306840685
+0686068706880689068a068b068c068d068e068f0690069106920693069406950696
+069706980699069a069b069c069d069e069f06a006a106a206a306a406a506a606a7
+06a806a906aa06ab06ac06ad06ae06af013a006f008906b006b106b2004100080075
+06b300690077007606b400700071007406b500ee00ed007906b606b7007a06b806b9
+06ba06bb06bc06bd06be006b006c06bf06c006c106c206c3006306c406c506c606c7
+06c806c906ca06cb06cc06cd06ce06cf06d006d106d206d306d406d506d606d706d8
+06d906da06db06dc06dd06de06df06e006e106e206e306e406e506e606e706e806e9
+06ea06eb06ec06ed06ee06ef06f006f106f206f306f406f506f606f706f806f906fa
+06fb06fc06fd06fe06ff0700070107020703070407050706070707080709070a0099
+070b070c070d070e070f071007110712071307140144014507150716071707180719
+071a0140014101420143071b071c071d071e071f0720072107220723072407250726
+072707280729072a072b072c072d072e072f07300731073207330734073507360737
+07380739073a073b073c073d073e073f074007410742074307440745074607470748
+0749074a074b074c074d074e074f0750075107520753075407550756075707580759
+075a075b075c075d075e075f0760076107620763076407650766076707680769076a
+076b076c076d076e076f077007710772077300a6077407750776077707780779077a
+077b077c077d077e077f0780078107820783078407850786078707880789078a078b
+078c078d078e078f0790079107920793079407950796079707980799079a079b079c
+079d079e079f07a007a107a207a307a407a507a607a707a807a907aa07ab07ac07ad
+07ae07af07b007b107b207b307b407b507b607b707b807b907ba07bb07bc07bd07be
+07bf07c007c107c207c307c407c507c607c707c807c907ca07cb07cc07cd07ce07cf
+07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd07de07df07e0
+07e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee07ef07f007f1
+07f207f307f407f507f607f707f807f907fa07fb07fc07fd07fe07ff080008010802
+0803080408050806080708080809080a080b080c080d080e080f0810081108120813
+081408150816081708180819081a081b081c081d081e081f08200821082208230824
+08250826082708280829082a082b082c082d082e082f083008310832083308340835
+0836083708380839083a083b083c083d083e083f0840084108420843084408450846
+084708480849084a084b084c084d084e084f08500851085208530854085508560857
+08580859085a085b085c085d085e085f086008610862086308640865086608670868
+0869086a086b086c086d086e086f0870087108720873087408750876087708780879
+087a087b087c087d087e087f0880088108820883088408850886088708880889088a
+088b088c088d088e088f0890089108920893089408950896089708980899089a089b
+089c089d089e089f08a008a108a208a308a408a508a608a708a808a908aa08ab08ac
+08ad08ae08af08b008b108b208b308b408b508b608b708b808b908ba08bb08bc08bd
+08be08bf08c008c108c208c308c408c508c608c708c808c908ca08cb08cc08cd08ce
+08cf08d008d108d208d308d408d508d608d708d808d908da08db08dc08dd08de08df
+08e008e108e208e308e408e508e608e708e808e908ea08eb08ec08ed08ee08ef08f0
+08f108f208f308f408f508f608f708f808f908fa08fb08fc08fd08fe08ff09000901
+09020903090409050906090709080909090a090b090c090d090e090f091009110912
+0913091409150916091709180919091a091b091c091d091e091f0920092109220923
+092409250926092709280929092a092b092c092d092e092f09300931093209330934
+09350936093709380939093a093b093c093d093e093f094009410942094309440945
+0946094709480949094a094b094c094d094e094f0950095109520953095409550956
+095709580959095a095b095c095d095e095f08c00300000100004e00005100006a00
+00840000e10002dd00030f0004920004a30004f600054b0005550005660005790005
+8b0005990005ae0005c90006e00006ff0007220007430007590007840007a60007d1
+0007fc0008130008360008430008560008630008850009910009ae0009e90009fd00
+0a1a000a5b000b54000c23000c3c000c50000c6b000c81000cac000cbe000cdb000c
+f8000d17000d38000d5e000eb0000f97000fac000fbc000fcf000fe1000ff4001017
+00104f00106300109b0010ae0010cd0010e000110600112500113a00115b00117a00
+12f30013d90013f30014150014400014590014700014900014ac0014c700153f0016
+2a00164300166b0016940016aa0016bc0016cc0016db0016eb0017040017e70017fc
+0018d90018ec0018ef00191d001aa1001b56001bd1001ccd001ce5001e4f001e6600
+1f36001f53001f61001fa5001fb700207600209b0020b80020d000212e0021510021
+600022010022fc00230f0023230023380023730023810023a90024520024900024cb
+00252800255100257a0025b50025ec0027220027aa0027c600281c0028720028c800
+293300295600297900299c0029d30029f3002a2d002a58002a84002ab0002aef002b
+21002b55002b7d002ba1002bc5002be9002c1e002c40002d0e002e1c002e4f002e82
+002eb2002ef7002f38002f79002fad002fcc002ff500301e00304400307f00309c00
+30ba0030d50031000031b60031ec00321200323800325b0032940032c80033bb0033
+f500341500343500345200348300349d00354700356b0035950035c90035fd00363a
+0037ab0039090039260039460039630039800039a10039c30039e10039ff003a2c00
+3a62003a82003aaf003b06003b2e003b9a003bcf003c21003c4b003d2d003e23003e
+7a003ea0003ed6003f42003f88003ff60040370040a70040ec00415e0041830041a4
+00436400456000459400466b00468f0046e60047190047a30048d9004a3e004a5e00
+4b3a004c72004cbb004cdf004d03004d30004d5d004fe000501d00503b0050840050
+d80051960052ad0052f400532c0054460055840055aa0055d3005605005632005659
+0056800056ad0057e70059be0059ea005a0f005a48005a75005aa9005ad7005c5600
+5d0b005d40005d6a005da7005dd0005e05005e2d005e71005ea2005ee6005f150060
+dd0061ae0061f20062220063620064670064a50064d80065c30066f500672d006769
+00678e0067ae0067df00680a0068e7006a16006aa0006ac8006c11006da8006e2500
+6e3d006ebd006ed4006f34006f63006f89006fcd006ff400702e0070540071a10071
+d00071f800720e00722e00726600727f0072ed0073330073c400751c00757e0075c4
+00770d00782900787000789a0078cb0078ef00790a00793600795a00797f00799d00
+79dc007a1b007ad3007bac007c73007d42007def007eb8007ed9007f1d007f6a007f
+cc0080100080820080ca0081b700831700834d0083be0083e300840600843700845a
+0084950084c20084ea0085750085a500861a0086500086bf0086e500870f0088a700
+89a7008a18008a62008a9b008ae0008b6e008ba8008bde008c1a008d1b008d4b008d
+af008de6008eb7008f2c008f61008fe100901300904100907b0090aa00912c00915d
+0091970091c80092390092610092940093a10093eb00942800946d00949e0094c400
+94e600951800954d0095d40095ff00963e00967c00971400975800978f0097b70098
+1400984500988100989a0098af00996f009a5a009b10009b3a009bfa009c7c009d0d
+009da9009db8009e88009ed7009ef2009f25009f38009f4b009f93009fe000a03200
+a08300a0a100a0bf00a0d200a0f500a10300a10e00a14f00a16200a17600a18900a1
+9700a1aa00a1bd00a1d000a1ee00a1fc00a24400a28a00a29c00a2ae00a2fe00a32d
+00a34300a35400a36e00a38000a39d00a3b800a40600a45400a50600a51a00a53f00
+a68400a70400a71f00a73e00a75f00a77e00a79900a7ae00a7c800a7e700a80300a8
+2100a86900a8b100a8ce00a8eb00a90400a96a00a9d300aa8f00aadb00aaf500ab27
+00ab5e00ab9200abc500ac0e00ac5500ac8700ac8f00ac9700aca900acf500ad0600
+ad2400ad3a00ad4b00ad6200ad7400ad8d00ad9c00ada500ade600ae0600ae6900ae
+9c00aeaf00aec100aed200af2c00af3d00af5000af6300afa500afe600b02100b054
+00b09a00b0ab00b0bb00b10900b13300b16400b19200b1a500b1c100b1d900b1eb00
+b1fc00b20d00b21f00b23c00b29600b2bf00b2ec00b2ff00b31300b32c00b33e00b3
+4a00b36500b37f00b39000b39c00b3b900b3ec00b43200b47a00b49d00b4f800b581
+00b68e00b6a300b6b500b6c700b6e200b6f300b74200b75400b77100b78600b7a000
+b7dc00b8f500b9b400ba4400ba9800bacd00bb1400bb5a00bb8700bc1800bc3700bc
+5600bcc000bcd300bce400bd6b00be2700be8e00be9900bea700beb400bec100bf08
+00bf3900bf6900bfef00c04100c0b000c0e800c17300c21600c2c700c37500c4af00
+c52a00c58900c61500c71900c76600c79900c7ab00c7bf00c7e100c80400c82700c8
+3600c85b00c8b300c8c700c91600c93700c95200c97600c99200c9c600c9fb00ca18
+00ca5300ca7d00cabb00cafd00cb2000cb3900cbdc00cbf000cc0500cce500ccf700
+cd1400ce6f00ce8c00ceb500cedf00cfef00d01a00d02d00d14100d15a00d2ce00d2
+f900d33000d39200d3c500d3f300d41e00d43900d47500d49b00d5af00d65500d75a
+00d77e00d82900d84700d8a100d8b400da1e00da9000db4000dbb100dc9100dcac00
+dd3100dd4f00ddc600deff00df6100df7900dffb00e07e00e15000e16900e19100e1
+be00e1e200e20200e22300e2ab00e34f00e36300e37e00e44500e61600e6a600e8e4
+00e9dc00ea9f00eb3300ebbc00ec9e00ed2400edaa00edd000ee5a00eeb300ef4700
+efbe00efd200effd00f0fa00f15900f1bc00f24400f25700f2c100f2d400f2f700f3
+1b00f3a500f41000f4fa00f52f00f5b600f5ec00f60000f63700f6ea00f7d900f981
+00fad900fbfa00fc1b00fc3f00fdae00fdcb00feb000feeb00ff1501005c01009e01
+017701019f0101b70101dd01035d01047e0104900104a90104c60104ef0105190105
+2d01055d01057001073c01075501082d010988010a5e010b5a010c00010cbf010d48
+010de6010e8c010fa7010fcd0110470111120111c10112830112a20112c30112e801
+12ff0114a801153e01163e0117a401196d011988011af0011be4011bf9011c6f011c
+7f011d54011d63011ed7011ef00120bc01228201235801238f01246d0124cc0125fb
+0126b60126df01271a0127f60128b501293301295b012a1c012adc012b68012cba01
+2e63012f9501303a0130570130770131eb01320801322901330f0133bd0135330136
+5d01373c0137db01397f013a9c013b99013c92013e5f013fed0140df0141b10142d2
+0144380144740145a10145c30145df01465a01468a01470201482401484501486601
+48b9014954014a08014b00014c82014d04014d70014de2014ec2014fc70150f60152
+1d01537b01545001550601565301571d015927015a50015c38015d80015edd01602e
+0161090161d601633e01654101663f01682501698b016ad1016bc6016ca4016d2301
+6d98016dab016e6c016fd10170b70172040173310174160174e70175960176490178
+06017a02017abd017ba0017c48017cf1017e20017f4d017f6101804e0181340182b4
+0183d70184b90185840186bd01889001893d0189f0018a24018a85018abc018afd01
+8b5e018b92018bf7018c2c018c49018c6a018c99018ccf018e3f018e76018eb1018e
+ec018eef018ef2018f14018f34018f5d01910b01914701917b0191b7019254019320
+0193d601948c0194fd01951d01953701955e0195820195a60195c801973801977f01
+97fc0198710198c101990f01992701995d0199830199ab0199bc0199d40199fb019a
+0e019a1c019a2b019a3a019a67019a78019a8c019aa4019ab7019aca019adb019aea
+019b2e019b83019bab019bbf019be2019bff019c9b019cb6019d13019d9b019e3601
+9e49019e94019eda019f68019fd701a06b01a0ca01a12701a18101a3cc01a46e01a5
+2401a5ba01a69001a70801a74801a81d01a8b601a8e601a91101a92d01a94101a95e
+01a97b01aa3001aa4f01aa7801aa9a01aabb01ab1f01abb101ad3001af4601af8301
+afd901b09a01b0dd01b10501b32801b33b01b35501b41a01b42e01b46701b4a801b4
+fc01b52501b57001b59901b5e401b60d01b63201b65c01b69201b6fb01b73401b760
+01b78e01b7ba01b8a501b9c401b9ee01ba1601bae101bb9f01bc7901bd4601bd9a01
+bdc001be2c01be6601bf0801bf4701c05d01c1e501c21b01c28b01c2be01c2e201c3
+1101c33501c36a01c3bc01c53501c6ec01c72001c75101c78601c7c601c88301c8c5
+01c8e901c90e01c93901c96401c98a01c9af01c9f601ca1c01ca6c01ca9c01cadb01
+cafd01cb8901cba701cc0101cc2e01cc5601cc8501ccac01ccdb01cd0c01cd3601cd
+6601cd9001cdb801cde201ce0601ce2d01cf9001d07001d10601d15601d1f601d2c1
+01d3af01d47e01d4b301d4e801d51f01d55501d58b01d69701d6cd01d6f301d73501
+d76801d79e01d7c901d81001d84b01d89201d8c801da0c01daad01db0001db9b01db
+f401dc3701dc7501dca201dcdf01dd0d01dd4c01dd7901ddb401ddde01de1301de43
+01de7c01deb001ded201deee01e0bf01e1a801e2e501e32101e37701e3a401e3cc01
+e3ed01e44001e45601e4b001e4ca01e51201e53701e57901e59801e5c001e5df01e6
+1501e63201e69a01e6be01e6ee01e70c01e74301e76601e7aa01e7d201e80d01e833
+01e85701e88c01e8b101e8d601e91201ea6d01ec4e01ee0301ef7301efff01f03001
+f06501f1f101f22e01f35a01f43401f4e001f5a201f62f01f67301f7ae01f7f801f8
+3101f86c01f92601f97f01fa2e01fb1501fb5701fba601fd1201fd8701fdc601fe0b
+01fe6b01fe9401fef901ff2801ff9401ffcd02011a02015402022a0203630203df02
+050c0206760206b502071d02074c0207850207ad0207dd02080c0208420208690208
+a60208d20209f5020a2c020adb020b90020bd8020c12020d4e020d8c020dca020df7
+020e35020e6a020ea8020edd020f28020f69020fba02111702115b0211940211c202
+11e302121602123d0212960212ad0212dd0212fc0213350213580213b00213d80214
+cf0217620217b40218190218dd0219a20219dc021a15021a55021a94021acf021b0e
+021b6f021bd4021c0c021c44021cdc021d12021d49021d80021ddd021e39021e6c02
+1e9f021eda021f14021f4f021f8a021fe00220350220980221100221920221ef0222
+2102225202228a0222c20222fa0223330223970223f102241802244602247b0224af
+0224f202255d0225b502260d02265602267b0226a60226cd0226f902272202277302
+27c00227e10228090228370228640228920228c002291302296502298f0229b90229
+ea022a1e022a54022a8d022aba022ae7022b1c022b50022b85022bba022bde022c04
+022c31022c60022c94022ccb022d68022db6022f110230490231980232f502331d02
+334b02337f0233ab0233f00234240234760234cc02350b02354a0235910235e30236
+300236770236e002374802377b0237ae0237db02380902383302385e023878023893
+0238b70238db0238fa02391a02393b02395c0239ad0239fb023a53023aa7023b2a02
+3b7e023bf7023c6a023cbb023d0c023e03023e50023e9e023eec023f5b023fcb0240
+1002405202409d0240e102412c0241710241e302424b02428b0242ce024318024361
+0243b802446e0244d60245400245820245c202460b02464c0246a10246eb02475702
+47bd02480e02485f0248b802491c02497b0249d4024a4c024ac5024aff024b34024b
+75024baf024bf0024c40024ca7024cfa024d24024d4c024d74024da7024db1024dc3
+024dd6024e02024e41024e74024ea0024ed5024f1d024f7a024fca02501a02503b02
+505c02508b0250a60250c10251050251250251430251730251a80251e102523b0252
+5b0252950252b00252cb0252e502530002533b0253630253850253bb0253f7025423
+02544f02548d0254eb02554002557d0255990255b50255f202561502563a02564d02
+56810256ae0257330257710257ca0257ee02581802584d0258810258c10258d50258
+df0258e10258e40258e60258e90258ec0258ef0258f20258f50258f80258fb0258fe
+0258ff0259110259230259440259660259890259ac0259c70259e30259f8025a0e02
+5a22025a3e025a5c025a7a025ad8025b59025bcd025c8b025cac025cc3025cd1025c
+e7025d05025d15025d18025d77025e09025e1d025e37025e52025e65025e7e025e99
+025ea4025eaf025f44025f6b02611702612902663a0266510266940266cc02670202
+67500267fd02682e02684d0268790268910268a90268ca0268e60269130269330269
+4f0269650269850269920269a1026a79026a98026b1d026bc1026c3c026c50026c67
+026c87026cc3026cf0026d10026d2a026d3e026d5c026d68026d76026e01026e2102
+6e40026f84026fa5026fd80270000270d402716f0272de0274c30275fc0276320276
+cb0278620279e2027a4f027adf027be1027cb8027d0d027dca027ee3027f95028096
+0281100281fa0282b802832602844d0285580285e10286820287820288340289a202
+8ae5028b81028bac028c7f028cd3028cfb028d0f028d32028d4f028e2e028f2e028f
+6e028fc3028fee0290300290710290a20290d702912902916f0291c902922a02927d
+0292980293190293aa02947b0295670295fc0296ea0297e8029935029aa0029bcc02
+9d33029ea5029f39029ffa02a08302a15a02a22702a32f02a45302a5e102a5f302a7
+9b02a89502a9aa02ac0102ac1002ae5b02b0e702b0fe02b11302b13402b15402b1a8
+02b2b102b40302b45f02b4c702b50002b53902b57102b5a602b62002b69d02b76e02
+b83f02b91402b9e502ba5202babe02bafe02bb6402bc1202bc2302bc3102bc4302bc
+5202bc6e02bc8802bd2502bdf202be9002bed802bf1f02bf6702bfad02c02602c0ac
+02c1c402c2e602c3fe02c51202c53e02c58c02c66402c68d02c72802c88d02c8d502
+c91f02c96402ca7602cab302cafa02cc0e02cc4c02cd0f02cdd802ce3802ce4502ce
+7502cea602cebb02cecf02cee102cefe02cf1102cf1f02cf4f02cf7002cfcc02d027
+02d03d02d06302d17e02d2dc02d2ef02d33702d35402d3c502d3e602d40602d44f02
+d49a02d4af02d4cc02d4f302d6e402d6fc02d71002d7e902d80b02d90f02dac402db
+3002db9902dbb102dc4b02dc9802dce602dd2902dd3a02ddec02de9502df7d02e063
+02e09702e0cc02e16e02e21b02e2f202e37602e4cd02e57d02e59a02e5b702e5d402
+e5e502e60302e66902e6d002e6e302e70602e72802e88202e8b502e8d002e8e702e9
+1402e94702e9b202ea0402ea3802ea6902eada02eb0102eb8f02ebcd02ebeb02ed9b
+02ef5f02f0fb02f2d602f43b02f58f02f68902f71f02f87c02f8b902fa6c02fc3702
+fdda02ffbc03017e0302d90305c30306600307c70309b20309d50309f8030a1b030b
+7c030b9e030c2b030c4e030ce8030d59030d8a030eb3030ede030f0903107103109a
+03116b0311f00312910313620313930313ad0313c70313e10313fb03141503142f03
+144903146303147d0314f503150f0315290316990316b30316cd0316e70317290317
+4303175d0317770317910317ab03192903194303195d031977031a9e031ac6031ae8
+031b75031b9e031c6e031d5f031e53031ecf031f520320dd0320ff03232403240703
+243003251f03254703260c03268d0326f10327b20327d40327f6032947032a07032a
+29032b4a032ba1032c09032cbe032d31032d91032de9032e2d032e7f032f14032fa3
+03316503333c0334da0336f803388e0339e8033b1f033bc4033d1e033fde03401403
+402103403a03404903406503407303408e03409d0340b90340c90340e60340f60341
+2d0341520341780341930341e00341e90342040342360342670342990342bd0342e5
+0342fc03431303434a0343700343c4034aca034ba3034d13034efe034f9203512d03
+52ca03538c0353ff03545e0354be03554e0355b503561f03569803573a0357be0358
+910359560359b8035a30035ad2035b60035c1f035cc9035da0035e24035ee1035f53
+035ffc0361280361990361f403626c0362af0362d603630203635d0363b403642d03
+64880364e70365940366fa03676e0369a5036c41036e8d036f2a036f5a03715c0372
+2d0372d603735d0373f903746f037b71037bc2037c23037c92037cfd037d54037da7
+037de4037e2e037e7d037ebc037ecd037ef8037f250380830381ef0383950384bb03
+857803877a0388e30389b9038a67038b91038cb2038d31038da9038e5f038f0d038f
+bf03903c03904e03906203907c0390960390ef03912e03918a0391eb0393980393ea
+03941503943f0395fa0399bd039ae1039bfd039d24039d4b039d72039db2039dfb03
+9ffb03a10003a4a103a67e03a70e03a94f03abd803aceb03ad0603ae1e03ae3d03ae
+6003ae8103aea603aed103aef403af1f03af4a03b09803b1af03b35303b3fe03b5e2
+03b61a03b65903b6be03b6d403b6f903b75103b77603b7a103b7b303b7de03b80703
+b83e03b87a03b8ae03ba8803bb9303bca703bdbb03bff003c74c03c81603ce4503d0
+f703d31303d3bb03d47c03d4a503d4a803d4ab03d4ae03d4b103d4cb03d52303d5c8
+03d80103d8c203d9cf03da2d03da8e03db1703db9c03dc2c03dca903dd6903ddc503
+de5d03df1d03df5e03dfc203dfd703dffb03e15703e18103e1ac03e1bd03e1e803e2
+1103e23703e27403e2c603e2d803e43a03e45903e47103e49903e55d03e5c103e6ac
+03e6d803e70203e88103e89403eaaa03eb8103ec4103ec6103ed1203ed3603ed7303
+ed9a03edac03edbb03ee8f03eea303eee903eefb03ef5e03ef7103ef8603f04303f1
+0d03f12103f13503f14703f15e03f17403f18503f28f03f39a03f41503f49503f509
+03f58503f6b303f7dd03f80c03f83003f83e03f84c03f85f03f87203f88403f89903
+fb1603fca103ff3a04021804035b0404d204055e0406ac0407970408450409dc040b
+4b040c64040ccc040dc0040f31040fcd0410e60411a304131904150f04164804174e
+0418490419b2041c29041d6d4e8bbdf8e9be018bbdf824bd03bdf8ef15f73efb92fb
+3efb9205a95e15f73ef792f73efb9205fb20f7bf15f73ef7928bfc9005fb5cf7bf15
+fb3ef791f7e88b05fc38fd1b15f888f94efc88060efbcb0efba586eff8c77701e9ef
+03f724f92615200a59fcf715210a0efb75f83ff76e01cae1b3e103f76bf83f15220a
+fb128a15220a0e2bf754c0f707c001f7abf78915fb068b9ef707f7058b05b116ea8b
+93c02b8ba8f747658b6ffb47fb068ba9f747658b6efb472e8b8356e88b79fb072d8b
+058356e88b6ffb46b08ba8f746f7048b70fb46b18ba9f746e98b92c02c8b050e2a80
+a5f8c8a412ff00154ccdff00168000ff00053333cef77ad860ff0016800013f8ff00
+e566669a15fffffc999a8bfffffc999aff0000199afffffcb333ff00001999089fff
+00fc000105ff002b199affffef9999ff003f999affffe319998bffffa8199a0831ff
+ffb266666e641e64ff00034ccd15ffffb64ccdff000ce66755ff0032b333ffffed19
+99ff0055199afffff3b3348fffffff6666fffffe199afffff66667fffffae6668f3e
+8f71ff000bffff5aff003680018bff001c4ccdffffeeb333ff00401999fffffb6667
+08fffff93333ffffab3334ff001ce667fffffdb333ff0006e666e1ff0003cccd8b05
+f74f9af720af1f8bff006b4cccffff8a999aff00334cce4fff0016999a08ff001233
+32ff00e44ccc0513f4ff00448000ffffef6668ff001eb334ffffc433329cffffc7e6
+66ff000b8000ff000033348dfffffecccc9492fffffc8000bb87a7fffff5999ac0ff
+ffce199aff0006e668fffffaccccff000f1998ffffc080008f08ff0005b334ff0046
+b334ffffe31999ff00024cccfffffa333343fffffa66668b05ffffac999a2857281f
+8bffff96999aff0063cccdffffd5ccccff003e4ccdffffe4e66608ff00064cccff00
+4f333415ffffd6199aff00128000ffffc48000ff002280008bff003480008bd1beb9
+c48bff0003cccd8bff00039999ffffffe668ff0003999affffffcccc080ed77fa2f7
+72a2baa2f732a6b0a201c4c1f721a4f0c2f720a403f845de15230a549a15240a7df8
+3115250afb91fb0515260a0ef71781bc5aa4f80ca2f764a412b6ddbfd5f71fd0137e
+f78ef7e6159676defb08c4405a48645f448bffffcfe6668bffffbb199ab28be9088b
+d2a2c6f1c708f73efb8515a9630513beff0030199affffbfcccdff0023e666fffffd
+3333aa8ba78bb8a7a9d1fffffaccccff00056666fffffb3334ff0004999a808b7764
+71776f8b7b8bffffe46668ff00114cccffffdc9998ff0032b3340866c005ff002799
+9ac4ff00147ffeb0ff001ae668bbb9ddff0006ccccff00033334ff003d3334ff0003
+cccc91918b968591778a6d87698b698b658f778c85858b80918508ff00361998ffff
+fd4cccff0011e668fffffcb334ffffda666845ffffeee664ffffe0199affffe7ccce
+ffffd53333ffffdbe666ffffcab333ffffce4cccce51ff004f4cccffffeab334ff00
+25b334f5c6b6d48bb908ca51ae45275544501e8b659cffffcdb334b1ffffc14cccfb
+1847524c8b3c08137efb03eb54eb1ee08bc1b7b9ca08fb13f7c215ffffe34cccbbff
+fff2b334c48ba208cdb0a8b1b4a26d5e1e8b676a454b61080efc07f83ef76e01c0e1
+03daf83e15220a0efb9bb7d703b7f790158b5e8ffb7bf764fb48958d8c928e936ab1
+fb09f71e8bf79b8bf79bf70af71eabaffffffc999aff000a4cccff0000ccccff0006
+e668fffff4999aff0000ccccfb0b252efb3b8bfb4e080efb9bf746d703f792f79015
+8bb887f77bfb64f74881898a848883ac65f709fb1e8bfb9b8bfb9bfb0afb1e6b67ff
+00036666fffff5b333ffffff3334fffff9199aff000b6666ffffff3333f70bf1e8f7
+3b8bf74e080efb54f73cf8b715270a0e69f766b701f783b903f7b1f79215280a0efb
+e9fb159df708e501f717af03f3ea15290a0efb73f77bb701b3f79603f7a3f77b152a
+0a0efbe986ef01c7ef03c7ba15210a0efb88f91a7701f7b4f91a15678bfb81fd55af
+8b050e2b81a4f8cea401b2dcf771dc03f77cf8dd152b0a87fce7152c0a0e2b86a2f8
+e47701ff00d78000cf03f7b1f701158aa9ffffff8000ff004b80008bff004b80008b
+ff004b8000ff00008000ff004b80008ca98dc7ff00024cccc8ff0001b334988bff00
+04ccccfffffd8000ff00003334fffffc80008bffffc8b333ffffddb334ffffce4ccd
+ffffe74ccc3362ff0001999afffff4999aff00046666fffffb800094fffff9e66608
+ff002d80009eff00168000919e8bff001080008bff0002666673ff0001199a698c6d
+ff00008000ffffb4b3348bffffb9cccc8bffffb9cccdffffff8000ffffb9b3338a6d
+fffffd333338fffff1cccd86458885858b80918508bc8cff001bcccd8fff00313333
+8bff002e80008bff0016800087bd8a91918b968591458efffff1cccc90fffffd3334
+de080e2b8bc2f8a6a412c8d1f753e37a9e13f0c8f868152d0a13e82e0a13f02f0a0e
+2b80a4f7c3a1f78aa412bed4f74dd25edd13f8f76ff8dd15300a13f4310a13f8320a
+0e2b86a2f72eb0f8257701f7a3d003ff01106666f76515330aff0096999a16340a0e
+2b80a4f7e5b3f72cc401f7d9de03f7d9f75115350a0e2b80a4f7dfa4f7857701b7d8
+f77ad803ff0081e666ff0136666615360aff0007199aff001c999a15370a0e2b9376
+f8c2c2967712bea113d0f734f8b515380a13b07b970513d0390a13b03a0a0e2b80a4
+f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af73227153c0a13e43d0afb3a
+fc6b153e0a0e2b9476f785a4f7dfa401b6d8f77ad803ff0155199aff0120999a153f
+0afffff8e666ffffe3666615400a0efbc5b7eff737ef01e8ef03e8f7fb15210afb9b
+04210a0efbc5fb159df708e5f768ef12e8ef71af13f0e8f7fb15410abafb9c15420a
+13e8430a0e41d4f7df01f70ef78315440a0e69f724bcd7bc01f861f7d215450a3f04
+450a0e41d2f7df01f802f78015460a0efb2186eff8afa412b7cca8ef4aaae6d713ec
+f701f8d015470a13f4a8fca115410a0ef7e2fb32a7f731aef7d1aaf743a501c6d5f7
+20cef743c9f750d503f8cdf7d0158bffffe7ccccfffff76668ffffdf199afffff64c
+ccffffe3e66771ffffb46666ffffc59998ffffa8cccdffffd5b3348b4c8b76b98bbb
+8bc99fcbbebea9aab9949c8baf8ba8728b650893fb86158bff00068000ff0006b334
+ff0021999aff00064cccff001ae66608c7f7967c905d7f84720581a56a9c6a8b0821
+fb13fb06fb2363a135ef1fae8bc1aab7d5088d8a05837284748b7c087b9272a8f76e
+d1f721f706f74ffb2ff722fb6bfb75fb4dfb41fb6bfb69f730fb3cf7831ef7058bc7
+aec7b9087e9d0555604d6f368b08fb9639f771f72af781f742f6f72cf711f74923fb
+62fb3a405c2589828d951f0ef71e86a2f778abf8107701ff01048000f7aa15480afb
+b8fb6515490a0ea286a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb80
+00f7fd154a0afb09f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0ee481
+b4f8eca601b0e5f859a203f7f38115500a0ef72486a3f8f3a301f702d9f81be503f7
+54f70115510a5ff8ac15520a0e9186a279a5f7c2a7f79aa679a28d7712f700daf765
+a1d7a3133380f7c4f7f915530a132780540a133380550a13ab80560a136380570a13
+a380580a137380590a0e4b86a2f7c0a7f7a4a679a28d7712f700daff00cc8000a2b9
+a213e7f751f7011588df8cf7118b8b08f7098a05e0ffffff4ccc8fffffeab3348e5e
+9185958b91918aae88ff000c80008bff001e80008bff0021999a8eff001666668ca9
+8591818b8585885487fffff4b33436ffffff4ccc08fb098a058b8b8af7268edd8ca3
+979fa38b08f71206d68b9a56a14697898d8d959086b47cee89930813cf540a13e75a
+0a13d78b8b3b8f598c85858b809185d18898868e388d398b598b388b388b5c893988
+387e8645880885858b809185bc8cff001f80008fff003380008bff003966668bff00
+28999a87bc8a91918b96859108458e659089de080ef72981a5f7a0a5f7d5a601abe2
+f839da03f80af92615fb40fb3efb17fb70fb41f71cfb24f75d1ff70a8bdbaecfc580
+9486938b9608f711078bff002333349cff0009cccca88e91918b9985916d8a7e8763
+8b648b658f5c8c85858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8b
+ffffd7e66608fb3607696b4f71558b08fb462cf747f718f743f706f715f7131ff725
+8bc62fa535958bff0006b334ff00008000ff00074cccff00058000fffff83334ff00
+44800084ff00318000fffff8ccccaf4f8b67b8fb0e8b080ef73c86a2f7cba5f7a4a2
+01f5e0f7ebde03f753f701155b0a0efb9686a2f8f5a201f702da03f754f701155c0a
+0efb6affff55b333ff00264ccdf98ba201f738da03f7357b155d0a0ee086a2f7bca7
+f7b1a201f702da03f754f701155e0a0e5a86a279a8f8eaa212ff006d8000daf7bca2
+13b8ff00bf8000f701155f0a1378600a13b8610a1378620a0ef79a86a2f8f5a201ff
+028b3334f215630a0ef71c86a2f8f5a201ff006a8000b4f82cb203ff022a8000f8a1
+15640a0ef71a81a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515660a0e6b
+86a2f7a1a3f7d4a301f700daf77be303f74ff7bc15670a8df7b315680a0ef71afb65
+bff727a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515690a0ecb81a07ba2
+f7a1a3f7d4a312f700daf77be313bcf74ff7b9156a0a137c6b0a8df7b615680a0e3f
+81a5f8fea301beff00456666ff00f1999add03ff018a999af90b15ffffc6333293ff
+000233349effff9e66668bffff9a999a8b32488b218bffffa2e666ff0042e666ffff
+d2ccceff004d8000ffffde4ccccaffffe4999aff0067999affffea33328bffff8d33
+348b3affffd0cccc57ffffb033348bffffa2999a8bffffb9e666ff0034800075ff00
+63800008fffff3b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f71
+975aca8bff001be66674ff0058b3348bff002d80008bff002b199aff000b199aff00
+22ccccff0015b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a
+8bff005f33344ab8ffffb7e666ff001ecccc08ffffcf199aff0014ccccffff766666
+ff002633348bed8bc3ff0034999acdff003ae6668bff0061199a8bb4439f49ff000b
+8000ff000033348dfffffecccc9492fffffc8000bb87a7fffff5999ac0080eaf86a2
+f8eaa8018ea3f785daf770a303f79ef8ac15ff00024cccffffadb334ffffffb334ff
+ffce4ccc8b388b388b5d893889387186458885858b809185bc8cff002466668fff00
+36999a8bff003633348bff0022cccc87bd8a0891918b968591458e719089de89ff00
+5280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b3348d
+cb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab88b8c898d8a8b6988
+fb03833c8b0835063e8bfb0a93658e898b89898b8a875e8154805b95878d8a978b9f
+dbb9afcd8b08c606b08bff00094ccc78ff0001b3344e080ef681aaf8f2a201efdaf7
+ffb103f747f7a1156c0a0ef7059476f913a201f86af907156d0a0ef8389476f913a2
+01ff034a8000f8c9156e0a0ef70886a2f8f5a201ff02278000f1156f0a0ebc86a2f8
+f5a201f7a6e003f7fbf70115700a0eb08ba7f8dcac967712c29ff870a013b8f8b586
+15710a13d8720a13b8730a13d8740a0efb61fb559ff9ec9f01f700c803f700fb5515
+f7680691918b938591fb1e967e9a8be208f90b078be2999af71d9591918b93859108
+fb68060efba6f9597601c2f94e155f8bf77afd7eb78b050efb61fb549ff9ec9f01f7
+4fc803f78cf95415fb680685858b839185f71e80987c8b3408fd0b078b347d7cfb1d
+8185858b83918508f768060e60f7eef7c401f704f7bb03f797f8e515750a0e40fb2e
+b701f870fb0215fc660683838b6f938308f8660693938ba78393080efb3df87af735
+01ebf73203f746f91b15760a0e2081b363a9f80da112b5d459d8f72cd01374f7b9f7
+6815770ad8fb261513ac780a1374790a0e3181a2f80aabf77f9ea47701d8d4f765d7
+03f73af7f8157a0a849f157b0a0efb2281b0f805a201aed7f757dd03f819e2157c0a
+0e4181ae8f9af7f3a3f77f9ea47701b0d7f76cd003f7ddf700157d0a804f157e0a0e
+fb1281b0f75fa8f71da201aed7f766d703f706f797157f0ad2fb4315800a0efb9286
+a2f7fea8f79fa101ead0f717da03eaf87415ff00008000fffff1b334ff00006666ff
+ffe69998ff00003334ffffe0b33408ffffcde666067a8685831f8207868c8a8f1eff
+00434ccd06ff00008001ffff9cb334ffffff9999ffff78ccccfffffe999affffd680
+00fffffd66663cfffff7999a88588785858b809185b38c9c8fb08bb78ba687b48a91
+918b968591084a8ffffff8999a8efffffd6666dafffffeb333ff0027e666ffffff99
+9aff00856666ff00006666ff0066b33408ff005a4ccd0694978a941f9a078f898d86
+1effff97cccd06ff00003334ff0026e666ff00008000ff001fccceff00008000ff00
+104cccff0001b333ff0032e668ff0003cccdff00253330ff0008199aff001ae668ff
+000f6666ff0032e668ff0019b333ff000e1998ff00144ccd8ba88b9977986a937a95
+7e9f8b9b8ba49d8b9e088b9b809c779a729c728e678bffffd1e6668bffffcd800074
+ffffe033345bffffe8b333ffffdcccccfffff39999ffffcf3334ff0002199a4c080e
+3dfb8aa4f766bfe1a2f78aa212a8cb65c457d3f743d397c613f380f7c7f79e15810a
+fb49fba81595889b8a978ba98ba68e988bbb8bab89a77cb07697748b7208462d5435
+1e13f9804b55bacc1f8bab90ada7ac08f7bdf80f159d9d9c9e9f799a711f728b5d7b
+726b80936b9e538b0813f380364052331f8b589f6da6710813f580820a13f980586c
+6e568b620838db68d4f715f71fd2f21e8baa7da66fa266aa488c688b7a8b73897488
+7d8a818a868b0813f5806f67a4ae1f8b9e95a0969ba27ea581b08bdf8bd7c38be88b
+b87fa46fa892959f98978b928b91889182088f839782958b080e5986a2f807a9f77f
+9ea47701e5d0f75fd103f731f7a515830a0efbba86a2f7f99da877f725ef12dbef40
+d013f8dbf8eb15840aebfc7e1513f4850a0efbb5fb87adf8dc9da877f725ef12eeef
+ffffaccccdff0049b33313f8eef8eb15840a99fbb81513f4860a0e4486a2f809a2f7
+849ea47701ff0053b333cf03dcf215870a0efbc886a2f9109ea47701ff005fb333cf
+03e8f215880a0ef76686a2f7f3bd619c12e8d2f753d2f755d213dcf748f7cd15890a
+13bc8a0a0e6786a2f7fb9c7cb312ecd1f75fd213d8f743f7e9158b0a13b88c0a0e3c
+81a2f813a201b3d7f78ed703b3f757158d0af750f75d158e0a0e46fb8aa0f76ba2f8
+009c82ad12ddcff778d713dcf73bf7dc15ff001b4ccdff0021b334ff001f4ccdff00
+174cccff002366668b08c8c350fb0a3d69fb09201f7a8b6e907a9a789c869b8bad8b
+8b8bf7128dbd08ff0000cccd9f8eff00124cccff000b3333ff000db3340883a2158f
+0a13ec900a13dc910a0e3afb8aa0f76babf80aa201acd7f771d003f7c7f7fd159e76
+ff0003199a73ff0000e666748d598bfb3e8b8b8b7a887c7f85757f718a7c8b085431
+bdf724eebadcd71fa88ba47fa07408a2fc8815fffffcccccffffb1199afffff83334
+fffffbe666518885858b829185b38cff001766668fff0028999a8bff002833348bff
+0015cccc87b48a91918b948591518efffff83334ff0004199afffffcccccff004ee6
+660889bd8bf8498dbdff0000800098fffffb800095818b848b868483807f7a8c8980
+926d9f6593638b08fb08352bfb1232c8fb0af71d1fa58baa909b95a198918d8b778b
+8b8b328959080efb6086a2f7f3bd619c12f0d113d0f0f7cc15920a13b0930a0efb4f
+81a19476f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13
+b4970a0efb9981b6f7efa812e1d04bd013d0baf82d157e8785831f8207868c8a8f1e
+c30613e0980a13d0990a0e5581ae8f9af7efa201dfd0f755d003f75981159a0a0e35
+9576ff0191b334a201f7cef81b159b0a0ef72c9576f826a201f756f81b159c0a0e3f
+86a2f809a201f744f7e9159d0a0e49fb85cff8c8a201f74dfb41159e0a0efb2b8ba1
+f7fea4957712c0a013b0d4f837159f0a13d0a00a0efbbafb68a3f9fba301f73af8c6
+15fffffb4ccdff00531998ff00243333ff001be668ff003280009591918b978591ff
+ff9b80008bffffd04ccd65ff00063333fb070895fb4c05ff0002b333ffffcf199aff
+ffe34ccdffffcce666537b087c07c17eff001f4ccdffffcfe666fffffcb333ffffc7
+199a0881fb3e05fffff8199affff78cccdff00306666ffffe43333ff006580008b91
+918b9785915f8bffffd4b333ff0027e666ff00054ccdff0054199a0895f73305ff00
+058000ff0056e666ffffe98000ff0028199a51a4bca0ff001ee666ff00203334ffff
+fb199aff0055cccc080efbf8f94e7701dcb703f711fb7c15fa365ffe36070efbbafb
+69a3f9fba301f04715ff0004b333fffface666ffffdbcccdffffe4199affffcd8000
+8185858b7f9185ff006480008bff002fb333b1fffff9cccdf7070881f74c05fffffd
+4ccdff0030e666ff001cb333ff0033199ac39b089a075598ffffe0b333ff0030199a
+ff00034ccdff0038e6660895f73e0593ff00873334ffffcf8000ff001bccccffff9a
+80008b85858b7f9185b78bff002b4ccdffffd81998fffffab333ffffabe6680881fb
+3305fffffa8000ffffa9199aff00168000ffffd7e666c5725a76ffffe1199affffdf
+cccdff0004e666ffffaa3333080efb04f769c691c601a5f81b03a5f76515a10a0efb
+cb0efba5f7e2ef01e8f103f724fb7915a20abdf8f715a573a5736f73ffffe5199aff
+ffeae66673a06fa6a3a7a3a31e0e2b9376ff0064cccdff0022e666ff015e6668ff00
+163332ff0069b3347701ff00434ccdff00483333ff005c8000aaff003de666d903f7
+7cf8ed15ffff94199a07ffffae199afffff1e666ffffad33333d8bffff8c33348bff
+ff91ffffff003e4ccdffffb1e667ff00666666fffff7333308ffff9ab333aaff0064
+cccd07ff00323334ff00028001ff00301998ff00146666ff002a8000d0fffffc3334
+ff0008999afffffe3334ffffffe666fffff766668cffffe1999affffd8199affffcf
+8000ffffe56666648bfffffd19988bfffffd199aff0000199afffffd199aff000033
+3308ff015e199a07ff002d999afffffb800098ffffda199aff00034cccffffe28000
+ff0002e666ffffe64cccff000c6668fffff966669e8b9e8bff0018b332ff000b6666
+8bff001c80008bff0030999a54ff0024999affffab199aff00014ccc08ff0069b334
+076cfffe29199a15ffffcb3333ff00149999ffffd84ccdff003e66678bff005c199a
+8bff00579998ff0029cccdff003f8000ff0032b333ff000e3334080e2180b89ab0f7
+6aa8f786b3019ad4bbd703d2f7c015cc78068b307b365360717c74808b78087b9c7f
+9da09c97a2969099ac1edf8b8c4fe18bc98bbaafa2bf8792868e838c72675f796e8b
+498b95bffb0a8bababb2ca8cf70b08f20695979093ff000833348dff0007cccc821f
+fb0adc06e2aed5b71ea08b9980977f9680957b998b08a29b9ba4af5598751f588b60
+746a67575576558b36086d5b07ffffedcccdfffffb3333ffffeae666fffffe199a86
+8c8a901f0e2bf70bb8f7adb701b7cbf78acb03f700f7c515d6beccd5ccc34d3c405a
+4a41405bcbd81ef70ffb4e15b68bb298aea508bb56b1b354b905a4ac99b18bb58bb7
+7db171ab08c5ba62b65a510569a56598608b628b667f6872085bc16461c25f05706b
+7c648b5e8b609a64a66a08525eb660b8c305ad72b17eb58b080e2b86a2f717a3e0a5
+f7bea201f756da03f756f70e158b337a7e368885858b809185bf8cff002333338fff
+0037cccd8bff0036999a8bff0020666687c08a91918b968591368e7a988be308a6f7
+110796998f951f8f078f878d871efb22e0f7110696998f951f91078f878d871efb18
+8be7f75f05acd48b9cc09091918d9685916b8a7c877a8b7a8b6d8f6b8c85858b8091
+85bd8788796b42083efb44898b20f770057aae969baf8b91918b9685916b8a588785
+8b7d8b628f6b8c85858b809185b487a0669d6508f6fb6ffb0e8b05ffffec4cccffff
+fbb334ffffeeccccfffffd3334868c8a901ff72436fb1206798583831f8a07868c89
+901ef724060efbf2dcbc03f716f936155afbfebc06fb2b045afbfebc060e33fb40a2
+f9a4a212bdc173cd5ed2f715d25ecd73c113e2ff0082cccdff019e4ccc15ffffd600
+01ffffdcccceffffd93333ffffd1e6668b4e8bfb0ff55fd862cc68a8668b5c8b5d66
+5b5c8b0813ca608b79b081b1869e7fa1768b0873827a7664b24decf2c0c8cd1f8bff
+002b6666fffff56666ff00226666ffffda3334ff0024b3340813d1ff002a999aff00
+236666ff0023ccccff002de6678bff004033338bf70f21b73eb44aae6eb08bba8bb9
+b0baba8b0813d4b68b9d66956590789a75a08b08a2929ca0b264c92a24564e491f8b
+ffffd3b334ff000b199affffdd1998ff0027b333ffffda800008ff00c41999fffeb6
+e66815ffffec8000ff000fffffffffe7199aff0010999affffe08000ff0012333308
+13e143b540b38be78bff00218000ff0013999aaaff00193333ff0018199aff001319
+99fffff0b332a3fffff0199aff001e199affffee999ad361d6638b2f8bffffe08000
+79ffffdb6666ffffe7e666ffffe94ccd080efb4af8a4ea01bde9d6e903bdf8d315a3
+0af73d16a30a0ef71aa2abeca8f791a2eeab01adb3e6c9f7e9b303f84bf76c15ffff
+fb6666ff0006199afffffb6666ff00063333fffff63334ff0002b333807b6f69588b
+085361c4d4edbaa4b31fc48b9c6a9c5d938b928c908e8ca38ca189b0778d7a98458b
+5b8bffffd2e666ffffecccccffffe3199affffdfb33473ffffe5199a7fffffdb999a
+8bffffd9cccc088bffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff
+001ab333ffffe9e666ff00249999fffff3199aff0026b3348bc28bb6ac9faa08fb0a
+fb5515a40af8a904a50a0efb92f7faabf772a401aabff701c103f754f88a15a60ab6
+fb2415a70a0e79f72af76b15a80af74816a80a0eb1f7d7b701f887c103f887ee159e
+82ff00126668ff0002999aff00109998ff0006666608f7a0fc9507fffff94ccc798e
+fffff2ccccff0003b334fffff3333408f85f060efb73f77bb701b3f79603f7a3f77b
+152a0a0ef71aa2abf704a3eca3f701a3f703ab01adb3f739bae5c1f71eb303f80cf8
+06155d797f6d1e61d6069d9a9ba4ad9b7a691efb05d4157b8b6d8c798c87878b7b8f
+87ab8893858b6b08fb28078b6b83856b8887878b7b8f879d8ca98c9b8b9b8ba88a9d
+8a8f8f8b9b878f6b8e83918bab08c307908ba78a8f8808bb3b059c6ea3829f8b978b
+978d97908c918a92878f7b887bff0008333380ff0012cccd085bdd05aa95a5a48bb2
+8ba977b8408b778b67897b8b08c5fc3815a40af8a904a50a0efb38f8a5b701c6f7ac
+03f7cff8a51598969d97918793811ffb88067f817a7f848e83941f0efbbaf82da9f7
+21a901adadf717ad03f75bf89015a90afb398c15aa0a0e69a0b7f77ab701f783b903
+f7b1f7e715280afba604ab0a0efb92f800abf79aa912bac0efc97ba313f0d4f8df15
+958b998e8e9dff00014ccdff0007e668fffffd3333ff000cccccff00038000ff0008
+4ccc90979794aa8b9d8bab848b5c8b5573745e675b6665618b5b08f7620613e8ac0a
+13f0ad0a0efb92f7faa9f71ca6f6a912b9bde5c66ac913f8f74ef90415ae0a13f4af
+0a13f8b00a0efb70f8b2f73401f743f91f15b10a0e4081b812baea33d649baf76ad6
+13a8f7d6c7158d068e6f9a61c58b08bcadb390928493871ffffffa33348b887bffff
+e7cccc8b08648ab4b91ff7d20772887184738b08fbd607756a5764578b08567bbdc9
+1ff75807ab88cb8b1e6f886c84748b088b953c6f1ffb500713988b5194588b6a0813
+c88b4c7b5c8b580862b1739ba29d9eb41e13988bb66bd18bcc8b90918f918b967ea4
+81a58b08c88bb3a5b0b7080eb4fb7cacf9bfac01f7d1bddcbd03f803f8d215a69c96
+a2a29d846c1efd73076c798474747a96a61eb4f9ba15708b508d408b08fb1851343c
+fb1add4af7261f9a8b938c948d08fc52078b6ffffff3999afffff5199affffd66666
+fffffce6660870890587ffffffb33388fffffd4ccd8b86088b788d8905bc8dc68bd0
+8bd08bff003c80008bff002f800089088d8d8b9e058b9087ff0002b33387ff00004c
+cd08718d05ffffd84cccff0003199afffff0b334ff0008e6668ba908f973078ba9ff
+000f4cccff0008e668ff0027b334ff0003199808a58d058fff00004ccc8fff0002b3
+348b90088b9e898d05ffffd0800089ffffc380008b468b080efbcbf760f70001d2f7
+0003f711f76015b20a0e77fb5ca8d6abcb7701f7e3c903f7c22b15b30a0efb92f800
+a8f77d7601f729c103f71bf90015b40a0efb68f7c3a2f76da201b2c5f730c503b2f8
+411544c654d5e9b8ceccd05ec9343555533a1ef718f70615bdab5f3b436076704f71
+cbbcc1a3bdbd1f0e79f81df76b15b50afb4816b50a0eee3aa8d1adf79ba8f7957701
+f726c1f7dcbb03f8c1f8ed15b60a45fceb15b70afc20f8bd15b40a0eee3cabf79aa9
+d1a8f7957712f728c1f75fc0efc97ba313fcf8a8f8ed15b80afb23fc5515958b998e
+8e9dff00014cccff0007e666fffffd3334ff000ccccdff00038000ff00084ccd9097
+9794aa8b0813feb90a13fdff00088000ff001ab334ff00063334ff001f9999ff0004
+4cccff0023b333fffffab334ff0003b33383ff0001999afffff54cccffffffb33380
+6f7d646c8b08380694ac9aa6b5a90813feba0afbbdf83f15b40a0eee3ca8d1adf791
+a9f71ca6f077a5a912b7bde5c66ac9f798bb13fe40f8c6f8ed15b60a13ff40fc3777
+15bb0a13fec0af0a13ff40b00af7f0fcd515b70a0efb21fb7aa4f8afef12cbd7c4ef
+49aacbcc13ecf7dafb2315bc0a13f46ef8a115a573a5736f73ffffe5199affffeae6
+6673a06fa61ea3a7a3a31f0ef71e86a2f778abf81077dc7601ff0148999af9c615ff
+ffddccccfffff46668ffffe88000fffff04cccffffedb334ffffee4ccc08f72e4c05
+a0829988938b938b92928b938b928791809308ffff42e666fc5c15480afbb8fb6515
+490a0ef71e86a2f778abf81077dc7601ff0187999af9c815bd0affff7ce666fcb215
+480afbb8fb6515490a0ef71e86a2f778abf81077d47601ff017c999af9bc15be0aff
+ff87e666fca615480afbb8fb6515490a0ef71e86a2f778abf81077a9c089c212ff01
+d9999aa613f4ff01aa999af96515bf0a13ecc00a13f4c10affff59e666fc4f15480a
+fbb8fb6515490a0ef71e86a2f778abf810779feb12f755ebf721eb13dcf755f95615
+c20af78116c30affff568000fc4015480afbb8fb6515c40a13ecc50a0ef71e86a2f7
+78abf87dab01ff0113999ab3ebb303ff01048000f7aa15480afbb8fb6515c7f72f05
+90989194a38b08ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff00
+006666ffffd06666fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b
+968591ffffd93334ff00038000ffffdeccccff0003800079be08ffff366666ff0231
+666805ff001dccceff000e1998ff0014e666ff001de6688bff0020999808ba61b15d
+5d61645d1e8bffffda4cccff001c3332ffffdf199cff00236668fffff54ccc08ffff
+1a4cccfffde34ccc05ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd48000
+8885858b809185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff000299
+9affffd06667ff0006b333ff00103333ff0029b33308ff00d8199af94e15c60a0ef7
+de86a279a5f789a8a7a7f79aa679a28d7712ff01af8000dcf763a2d7a287a413b1a0
+ff01af8000f7a315c70a1371a0c80a13b1a0bbdb868b1f99bd9ad093befffff59998
+ff0005e666fffffe8000ff00024ccdfffff2e668fffffccccd081379c0c90a1333a0
+540a1339a0ca0a13b5a0cb0a1371a0cc0a13b1a0cd0aff00b98000f79d15ce0a0ee4
+fb5ca8d6abc1b4f8eca601b0e5f7a1c9f70ea203f7ff2b15cf0a0e9186a279a5f7c2
+a7f79aa679a28d77e17612f5def763a1d7a387a3132380ff00e56666f9c515d00aff
+ffd1999afc0c15d10a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0570a
+13a3a0580a1373c0d30a0e9186a279a5f7c2a7f79aa679a28d77e27612f5def763a1
+d7a387a3132380ff014e6666f9c815d40affffe1999afc6315d10a1333c0d20a1327
+a0540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0e9186a279a5
+f7c2a7f79aa679a28d77da7612f5def763a1d7a387a3132380ff012b6666f9bc15d5
+0aff0004999afc5715d10a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0
+570a13a3a0580a1373c0d30a0e9186a279a5f7c2a7f79aa679a28d77d8eb12f5deff
+ffd86666ebe8ebffffd9999aa1d7a387a3132240ff01526666f98915c20a132280fb
+5116c20aff009a999afc2415fb098a05133310d60a132728540a133328550a13ab28
+560a136328570a13a328580a137330d30a0efb9686a2f8f5a2cf7601f702da03ff00
+636666f9c515d00affffe3999afd04155c0a0efb9686a2f8f5a2cf7601f702da03ff
+00b46666f9c715d70aff000b999afd5a155c0a0efb9686a2f8f5a2c87601f702da03
+ff00a56666f9bc15d50aff001a999afd4f155c0a0efb9686a2f8f5a2c6eb01ff0009
+6666ebff0004999adaff00096666eb03ff00c66666f98915c30afb5116c30aff00b6
+999afd1c155c0a0ef72486a3f7aeaaf7baa301f5e1f817e503f7a2f7e015d80afb0e
+f7cd15d90a0ef71c86a2f8f5a29bc089c212ff006a8000b4ff01298000a6ff005380
+00b213eef822f96315bf0a13dec00a13eec10aff009c8000fb5615640a0ef71a81a3
+f900a3c97601afe5f84fe503ff012d8000f9c715da0affffa080002615650af7e0fb
+c515660a0ef71a81a3f900a3c87601afe5f84fe503ff01808000f9c815bd0affffc6
+8000fb4e15650af7e0fbc515660a0ef71a81a3f900a3c07601afe5f84fe503ff0161
+8000f9bc15d50affffe58000fb4215650af7e0fbc515660a0ef71a81a3f900a393c0
+89c212afe5ff01348000a6ff006b8000e513eeff01838000f96315bf0a13dec00a13
+eec10affffc380003615650af7e0fbc515660a0ef71a81a3f900a38beb12afe56eeb
+f7cdeb6ae513a8ecf95615c20a13a4f82d16c20a13d2fb474315db0af7e0fbc51566
+0a0e69d4f7ce01f5f7cd03f7bcf77b15f711f71068acfb10fb10fb0ef70f6969f70f
+fb0ffb0ffb0eaf6af70ef70ef70efb10acad050ef71a81a3f900a301afe5f84fe503
+e97c15dc0af77df91d15dd0aff00c23334ffff86666815de0a0ef681aaf8f2a2d076
+01efdaf7ffb103ff01278000f9c615da0affff128000fc65156c0a0ef681aaf8f2a2
+cf7601efdaf7ffb103ff01b28000f9c715bd0affff008000fcba156c0a0ef681aaf8
+f2a2c87601efdaf7ffb103ff01798000f9bc15d50affff398000fcaf156c0a0ef681
+aaf8f2a295e901ff00638000dcff00398000e9bde9ff00418000b203f782f95715df
+0af72416df0affff368000fc4a15e00a0ebc86a2f8f5a2d07601f7a6e003ff018b33
+34f9c815e10affffdbccccfd5b15700a0e6986a2f718ac73a8f7b7b36eacf3a212f0
+daf773e21397f748f8731513cfa091bf909e8b08c6d370fb0cfb153e6c431f13b765
+8b708d828e083f04ba0713cf9a86a887ae8b08f746c0f70ad6d26bf701fb4d1f1397
+788b658967890813af8f078bde9c9dd18e91918b9685915a8affffe3999a87ffffce
+66668bffffcecccd8bffffe533338f598c85858b809185d1889c798b3808fc2f078b
+387a83458885858b809185bc8cff001c66668fff0031999a8bff003133338bff001a
+cccd87bd8a91918b968591458e7a938bde080e7781a4f807a2f79ca412eeced5bed8
+d870da13fcecf70415fffffd333338fffff6cccd83528885858b809185b58cff0015
+66668fff0028999a8bff002133338bff0008cccd87b68a91918b9685916790fffff3
+cccd91fffffd3333de0889c78bf7668dc7ff0003999aff006be668ff000d6666ff00
+7b1998f38bc08ba75e8b558b4266634857087e0713fadf4bd1388b2e08305f596d74
+6d93a91e8b9793948b9c089f8395777b7c787b5f9f57dfe7c8d9f41e8bf70825cf3c
+bf088d0713fcd1c0c6b98bd808bb5eca233cfb0a53fb394afffff8800088ffffdf80
+001e7e8b847a9185ff001a4ccdfffffeb334ff001bb333fffffd99988bfffff2b334
+088bffff9bcccc8bffff9f3334894f080e2081b363a9f80da1f7837712b5d459d8f7
+2cd01332f758f92415760aa6fbd215e20a137ae30ad8fb261513b6780a137a790a0e
+2081b363a9f80da1f7837712b5d459d8f72cd01332f788f92415e40abcfc5015e20a
+137ae30ad8fb261513b6780a137a790a0e2081b363a9f80da112b5d459d8f72cd013
+24f77bf92415e50ac9fc5015e20a1374e30ad8fb261513ac780a1374790a0e2081b3
+63a9f80da1f70fc089c212b5d459d8f72cd06aa6133080f7aff8e715bf0a132880c0
+0a133080c10a95fc1315e20a136400e30ad8fb261513a300780a136500790a0e2081
+b363a9f80da1f701ea12b5d459d850e9d6e957d0133200def8d315e60a133100f73d
+16e60ab4fbff15e20a137800e30ad8fb261513b480780a137880790a0e2081b363a9
+f80da1d9abf5ab12b5d459d877b3ebb387d0133980f766f90f15e70a335615e80af7
+3ffc0615e20a137c00e30ad8fb261513ba40780a137c40790a0ef71281b066a9f74e
+adf730a212b0cf52d0f73ad0f753d4137bf790f80b15e90a13b7ea0aaafb3d15eb0a
+137bec0ad1af15ed0a0efb22fb5ca8d6abf860a212aed7f72ac97add13f8f7782b15
+ee0a13f4ef0a0efb1281b0f75fa8f71da2f7837701aed7f766d703f766f92415760a
+fb3afba3157f0ad2fb4315800a0efb1281b0f75fa8f71da2f7837701aed7f766d703
+f78ef92415b10afb1cfc21157f0ad2fb4315800a0efb1281b0f75fa8f71da201aed7
+f766d703f783f92415e50afb11fc21157f0ad2fb4315800a0efb1281b0f75fa8f71d
+a2f701ea12aed77fe9d6e962d713f4eef8d315e60a13f2f73d16e60afb2efbd015f0
+0a13f1f10ad2fb4315f20a13f9f30a0efbba86a2f7f99da877f7947701f4d003eef9
+2415760a92fc3915850a0efbba86a2f7f99da877f7947701f4d003f737f92415b10a
+98fcb715850a0efbba86a2f7f99da87701f4d003f721f92415e50aaefcb715850a0e
+fbba86a2f7f99da877f712ea1287e99ad082e913f887f8d315e60a13faf73d16e60a
+96fc661513fc850a0e4081a2f813a2f7ab7701aed7f782d503f78098154752e8f701
+d3a7f701eb1fb48bad6ea16f966291628b5f08fb2e475d5e1efb5df74d1528cefb01
+f70af6ebd6f7351e8bf71f50f71639dd0874a2e9ca7ba2254805ffffdf4ccdff001c
+b334ffffd06666acffffde4ccdff00114ccc087c7705a2fffff04cccff00223333ff
+ffe08000ff0014cccdffffeb3334089a7c27479b74f2ff00454ccc91fffff8b33405
+ae5fa949a0587395728f728b0831fb0353fb391f0e6786a2f7fb9c7cb3f70fc089c2
+12ecd1f75fd251a61395f7e4f8e715bf0a138dc00a1395c10afb35fb9215f40a13c6
+f50a13a6f60a0e3c81a2f813a2f7837701b3d7f78ed703f774f92415760afb92fbe3
+158d0af750f75d158e0a0e3c81a2f813a2f7837701b3d7f78ed703f7a2f92415b10a
+fb7afc61158d0af750f75d158e0a0e3c81a2f813a201b3d7f78ed703f796f92415e5
+0afb6efc61158d0af750f75d158e0a0e3c81a2f813a2f70fc089c212b3d7f77fa67f
+d713ecf7c4f8e715bf0a13dcc00a13ecc10afb9cfc2415f7000a13caf7010af750f7
+5d158e0a0e3c81a2f813a2f701ea12b3d785e9d6e984d713e8f702f8d315e60a13e4
+f73d16e60a13f2fb83fc1015f7020af750f75d158e0a0e69ff0039ccccff0053cccd
+ff00446667b7ff0047ccccff0053ccce01ff00df4ccdff0053cccd03ff00df4ccdff
+0171666615ff00000001ffffea3334ff00141999ffffea3332ff0014199a8b08ff00
+178000ff0014199aff00168000ff0011b334ff0014199affffee6666ff00178000ff
+ffe96666ffffebe667ffffe88000ffffebe666ffffebe6661ffba004ff00000001ff
+ffea3334ff00141999ffffea3332ff0014199a8b08ff00178000ff0014199aff0016
+8001ff0011b333ff0014199affffee6666ff00178000ffffe96666ffffebe667ffff
+e88000ffffebe666ffffebe6661fff00edb333ff0098999a15ab0a0e3c81a2f813a2
+997712b3d7f78ed713b8f824f84515f7030a13d8f7040a13b8f7050a13d8fb406615
+f7060aff00714cccffffaacccc15f7070a0e5581ae8f9af7efa2f7887701dfd0f755
+d003f76ff92415760a2ffcb0159a0a0e5581ae8f9af7efa2f7887701dfd0f755d003
+f7bdf92415b10a27fd2e159a0a0e5581ae8f9af7efa201dfd0f755d003f79bf92415
+e50a49fd2e159a0a0e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f4f706f8
+d315e60a13f2f73d16e60a35fcdd15f7080a13f9f7090a0e49fb85cff8c8a2f78877
+01f7cff92415b10afb16fdd1159e0a0e50fb8aa0f76bacf7f4b7f775a8a47701ded3
+f768d703f72df7a715f70a0a45f86d15fd54078b3c8086518885858b829185b38cff
+001766668fff0028999a8bff002d4ccd8bff001db33387b48a91918b948591478f80
+8f8bda08f714078ba6948195879f83a086a58bbe8bb99eb0b0b6b6a4c58bd88bef45
+ea2f8b5a8b67707372087d7c888c8ba008f76b07c98fb18b1e92888d821e7381467f
+658889838d7c9185bd8896908b3b080e49fb85cff8c8a2f706ea01f70de9d6e903f7
+0df8d315a30af73d16a30a22fd80159e0a0ef71e86a2f778abf81077abbd01ff01d2
+999af93215f70b0aff0011e666fc1c15480afbb8fb6515490a0e2081b363a9f80da1
+e6bd12b5d459d8f72cd01332f7d6f89215f70b0af757fbbe15e20a137ae30ad8fb26
+1513b6780a137a790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f76ca703ff
+01f2999af9b815f70c0affff11e666fca215480afbb8fb6515490a0e2081b363a9f8
+0da1e6c4e57712b5d459d844a6f758d05aa6133940edf92515f70d0af757fc5115e2
+0a137c00e30ad8fb261513ba80780a137c80790a0ef71efb5cb1f731a2f778abf810
+7701ff013d999ac903ff02039998fb1b15fffffc000292858f828b75757b7b6e8b66
+8b7ea08ba58bff002a6666ff0029b332ff003c3334c9ff00093333ff001de668ff00
+018000ff00209998ff0001b333ff0019b3348bb48bb687b08a0891918b968591ffff
+d93334ff00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb
+7cfcb605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b80
+9185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd066
+67ff0006b333ff00103333ff0029b33308c7f72f0590989194a38b08ff00d080008b
+ff003f8000fb4c05ff000e199862ffffd78002ff00006666ffffd06666fffffc999a
+fffffd6666fffffd6666fffffe8000fffffc6667ffffffb334fffffc4ccdffffb633
+32ffffea9999ffffd34cceffffbdb3338bffffd1999a8b55b177bd8bb48bb39fff00
+1cfffeb808ffff00e668f83115480a0e20fb5cb1f72ca9f80da112b5d459d8f70cc9
+6dd013e4f860fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002a3333ff
+001c999aff001e6667ff0034999aff002c1999ff00161998ff000b999aff000db334
+ff001080008bff000333338b928191878b08fffffae6668bfffffd199afffff48000
+7efffffc8000fffffdb334ffffff6666fffffd4cccffffff999a888b668bfffffb19
+9aa9ff0001e666c20813ea90f72205ff0004b334ff0085ccccffffb94cccff001c33
+34458b083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b9508a9b49aaf
+abb671fb001e8b84897e888a0831770513f4ffffa36666ffffeb6666ffffbf999aff
+ffcf999a8b4a8b42bf72ce8bb78b9f94b5ab089e9a8d8b05ff00056666ffffede666
+ff000cccce6cff0027e666fffffa199affffce3332ffffdae666ffffddb334ffffd9
+199a8b628b55b177bd8b08b48bb39fa8b808fb3bf7ef15770a0ee481b4f8eca6c776
+01b0e5f859a203f818f9c715bd0a66fdd115500a0efb2281b0f805a2f7837701aed7
+f757dd03f792f92415b10af71bfccd157c0a0ee481b4f8eca6c17601b0e5f859a203
+f808f9bd15d50a76fdc715500a0efb2281b0f805a201aed7f757dd03f783f92415e5
+0af72afccd157c0a0ee481b4f8eca6e3f301b0e5f741f3f744a203f7c0f9b215f70e
+0abefdbc15500a0efb2281b0f805a2f715ef01aed7cfefa6dd03f747f8ec15f70f0a
+f766fc95157c0a0ee481b4f8eca6c77601b0e5f859a203f7ddf94d15f7100aa1fd57
+15500a0efb2281b0f805a201aed7f757dd03f75ef88715f7110af74ffc30157c0a0e
+f72486a3f8f3a3cf7601f702d9f81be503ff009b6666f94d15f7100aff0024999afc
+e015510a5ff8ac15520a0e7c81ae8f9af7f3a3ef9ce5d35f9e12b0d7f76cd0f70db7
+13fb80f88bf94e15f7120afb42fce2157d0a804f15f7130a13f780f7140a0ef72486
+a3f7aeaaf7baa301f5e1f817e503f7a2f7e015d80afb0ef7cd15d90a0e4181ae8f9a
+f7f3a3f70baae09ea47701b0d7ff00d84cccff0044199a03f860f8cd15f7150afb17
+fc61157d0a0e9186a279a5f7c2a7f79aa679a28d77f4bd12f5def763a1d7a387a313
+2380ff01856666f97515f70b0aff008a999afc1015d10a1333c0d20a1327a0540a13
+33a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71d
+a2e6bd01aed7f766d703f7e5f89215f70b0a8cfb8f157f0ad2fb4315800a0e9186a2
+79a5f7c2a7f79aa679a28d77c5bf12f5deffffeb6666a7ff00c7999aa1fffffa6666
+a7ff0035999aa387a31322a0ff01b86666f9b715f7160affff77999afc5215fb098a
+05133310d60a132748540a133348550a13ab48560a136348570a13a348580a137350
+d30a0efb1281b0f75fa8f71da2cac412aed779a6f75dd74ea613f5f70cf90915f70d
+0a85fc0615f00a13f2f10ad2fb4315f20a13faf30a0e9186a279a5f7c2a7f79aa679
+a28d77f706f312f5decaf3b3a1d7a387a31323c0f790f9b215f7170abffc4d15d10a
+1333e0d20a1327d0540a1333d0550a13abd0560a1363d0570a13a3d0580a1373e0d3
+0a0efb1281b0f75fa8f71da2f714ef01aed7d0efb4d703f748f8eb15f70f0a49fbe8
+157f0ad2fb4315800a0e91fb5cb1f731a279a5f7c2a7f79aa679a28d7712f5deff00
+766666c9ff001a999aa1d7a387a313d1d0ff01f96666fb1b158792858f828b75757b
+7b6e8b668b7ea08ba58bff002a3333ff00294cceff003be667ff003d9998ff000999
+99ff0011999affffff199aff000c199affffff33338b8b99bd99d093be0881918a8d
+7e880813b9e0f7180a1393d0540a1399d0550a13d5d0560a13b1d0bc8cc08fa98b08
+f77206ff0008cccc8bff0009ccceffffffe666ff000a3332ffffffb3344fffffe4e6
+66ffffdc999affffc6cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080efb12
+fb5cb1f72cb0f75fa8f71da201aed7cbc9dfd703f809fb1b158792858f828b75757b
+7b6e8b668b7ea08ba58bff0028999aff00196666ff0021ccccc2ff0030999aff0020
+4cceff000e8000ff001b1998ff0016999aff00153334ff001be66688958590808c08
+68676a71548b698b599f6dbc78aa80bb8bc208f7a08f0596ff0000333392ff0006cc
+cd8b9508db6ae3fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d0
+8bff0006b3338bff0006999aff00004ccdff00068000ff00009999ffffd2b333ffff
+da6667ffffe18000ffffd766668bffffd94ccd8b55b177bd8bb48bb39fa8b808fb97
+f81e157f0a0e9186a279a5f7c2a7f79aa679a28d77e17612f5def763a1d7a387a313
+2380ff01106666f94d15f7100aff001f999afbe815d10a1333c0d20a1327a0540a13
+33a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71d
+a201aed7f766d703f75bf88615f7110a36fb83157f0ad2fb4315800a0ef72981a5f7
+a0a5f7d5a6c07612abe2f839da6ea313f8ff0180999af9bc15be0afffff56666fb2a
+15f7190a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b512a8cb
+65c457d3f743d397c6139060f78af90d15e50ac8fc0315325b70681e1398e0f71c0a
+fb49fba81513d260f71d0a13b260f71e0af7bdf80f15f71f0a1394e0f7200a13b8e0
+f7210a13b160820a13b260f7220a13d560f7230a0ef72981a5f7a0a5f7d5a6aebf12
+abe2ff006c999aa7f76ca7ff00286666da6ea313fe00ff01f3999af9ba15f7160aff
+ff826666fb2815f7190a13ff00f71a0a13fe80f71b0a0e3dfb8aa4f763bb5ebfe1a2
+f78aa276b5b1c412a8cb65c457d35ca6f757d358a6afc613922cf704f90515f70d0a
+139a54f757fbfb15810afb49fba81513d304f71d0a13b304f71e0af7bdf80f15f71f
+0a139644f7200a13ba44f7210a13b284820a13b304f7220a13d694f7230a0ef72981
+a5f7a0a5f7d5a6f75df312abe2ff00ba999af3ff00826666da6ea313fcff0131999a
+fa2315f7170aff00446666fb9115f7190a13fef71a0a13fdf71b0a0e3dfb8aa4f763
+bb5ebfe1a2f78aa276b5f6ef12a8cb65c457d3b1efb0d397c6139238f73ef8eb1584
+0af71dfbe115325b70681e139a78f71c0afb49fba81513d338f71d0a13b338f71e0a
+f7bdf80f15f71f0a139678f7200a13ba78f7210a13b2b8820a13b338f7220a13d6b8
+f7230a0ef729fb76a3daddaaa5f7a0a5f7d5a612abe2ff0118999ab2ff00656666da
+6ea313fe00ff0178999a6215f7240afffffd6666f94f15f7190a13ff00f71a0a13fe
+80f71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b5d2dddb9f12a8cb65c457d3adad
+f6d397c613931cf778f89315f7250adafb8915325b70681e139b3cf71c0afb49fba8
+1513d39cf71d0a13b39cf71e0af7bdf80f15f71f0a13973cf7200a13bb3cf7210a13
+b35c820a13b39cf7220a13d75cf7230a0ef73c86a2f7cba5f7a4a2c67601f5e0f7eb
+de03f753f701155b0aff00c5e666f94d15d50a0e5986a2f807a9f77f9ea47701e5d0
+f75fd103f7b0f9d715d50afb13fcc615830a0ef73c86a2f7cba5f731addca201f5e0
+f7ebde03f753f7011589df8abc8bdb9690e78dc78bc78bf7058a97858a468c468940
+89387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b968591458e7b
+9089de89dd8bb98bde8bff004acccc8bff002f3334ff00018000d108ff00526668ad
+ffffae666406ff0003199cff00496668ff00118000ff0004b330ff00431998ff0002
+e66891918b9685915a8a6d87588b598b6e8f598c85858b809185ff00431998fffffd
+1998ff00118000fffffb4cd0ff0003199cffffb6999808fffea9999806ff00030001
+ff00496668ff000f9999ff0004b330ff0043199aff0002e66891918b9685915a8a6d
+87588b598b708f598c85858b809185ff0043199afffffd1998ff000f9999fffffb4c
+d08effffb6999808ffffb8333469ff0048b33306ff0001ccceffffbaccccff000199
+9affffd0e6688bffffb54ccc8b38895d893889387d86458885858b809185bc8ca88f
+be8bbd8ba787bd8a0891918b968591458e7d9089de08ff01579998f827158bffffc7
+b334ff00016668ffffd8e6668bffffc966668485fb098a4f8b4f8b2a8d84908bff00
+378000ff0000cccdff00266666ff00018000ff0038199a080e5986a2f807a9f70baa
+e09ea47701e5cef761d103f7a5f8cd15ffff8d333306ff00003332ff000c8000ff00
+004ccdff000a6668ff00004ccdff00071998ff00028000c9ffffffe666fffff8e668
+ff0001999aff002319988b92888d828b7381497f658889838d869185bd88ff00084c
+cd90ff0002b3333b08ff0000199a898bfffffd9998ff00001999fffffd666808ffff
+d1cccd067a8bfffffc999afffffb1998fffffe6666fffff6e668088980058afffffa
+99988dffffff66688f8b08ff0041b33306ff00014cccffff91999affffffb333fffe
+f06666fffffe4ccd57fffffd66663cfffff6999a88548785858b809185b28ca18fb4
+8bb08b9987b38a91918b968591085b8ffffffa3333ff0003199afffffccccdff004e
+e66689bd8bf70b8b8b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc
+5dff000133346e088d598b528959fffffce666ffffb2199afffffa199afffffce666
+598686858b809085b38c9c8fb18bb28b9d87b48a90918b968691085690fffff8199a
+ff0003199afffffce666ff004de66689bd8bc18dbdff0002199abffffffce666ba75
+a87ba06d976a8b5c8b507e514a888784828b98088b8bff0000999aff00756666ff00
+011999ff004f999a08ff00624ccd06948bff000accccff00011998ff00013334ff00
+06e668088e9c05ff0000b3348ffffffd4ccc8d868b080efb9686a2f8f5a2ccc089c2
+12f702daff00476666a613ecff00d56666f99415bf0a13dcc00a13ecc10affffea99
+9afd27155c0a0efbba86a2f7f99da877e7c089c212f4d0ff00346666ff00184ccd13
+f6ff00b8199af8b715ffffeee6668bfffff0b33392fffff1999a970813ee7999ffff
+ec33339f708bffffd94ccc8bffffeb4cce64fffff3666650ff0005666685948aff00
+09e6678dff0008ffffac949aff001766678bff000f4ccd8bff0011199a83ff001033
+33800813f6ff0012e6667dff0012e66779ff0013cccc8bff002966678bff001a1999
+b2ff000acccdc7fffffa999a8f828efffff619998a08fffff3666761fffff6199981
+ffffec33348b08fffff7e666fc4a15850a0efb9686a2f8f5a2babd01f702da03ff00
+ff6666f94d15f70b0aff00a0999afce0155c0a0efbba86a2f7f99da877f700bd01f4
+d003ff00dbe666f89215ff000bb334ff0009e666a09791fffffc666696821fffff35
+800006fffff6199afffff6199a777f84ff0003999980ff0008199a1fff009db333fc
+2515850a0efb9686a2f8f5a2b5bf01ff000d6666a7ff0044999adaff00446666a703
+ff011d6666f9b915f70c0affffa2999afd4c155c0a0efbba86a2f7f99da877ddc401
+ff0003e666ff00184ccdff004ccccdd0ff0030999aff00184ccc03ff001c3333f90b
+15ffffe7b3337f05ff000c999a36ff002de66659ca8bff0035199a8bff0039999abc
+ff000acccce108ffffe7b33497058251ffffd699996bffffd133338bffffcf66678b
+ffffd94ccdb0fffff61999c008ff0093cccdfc9e15850a0efb96fb5cb1f731a2f8f5
+a212ff00536666c9ffffdc999ada13f0ff01196666fb1b158792858f828b75757b7b
+6e8b668b7ea08ba58bff002a6666ff0029b334ff003c4ccdff003e3333ff0009199a
+ff000a3333ffffff6666ff0009e666ffffff8000ff0009199affffff4ccd91918b96
+859108458efffff180009089de0813e889ff005280008aff002d80008bde8bdeff00
+008000bcff00028000dfff00028000de998ed19091918b9685916689ffffc1800088
+6d8b6d8bffffbc80008e6b8d0885858b809185d185ff000f8000898d388d388c5a8b
+388b388a5d89388938fffff0800086458885858b80918508b28dc88ea98bff000819
+9a8bff000a1999ffffffe666ff000b3333ffffffb3340813f04fffffe4e666ffffdc
+8000ffffc6cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080efbbafb5cb1f7
+31a2f7f99da877f725ef12c8c960ef40d013fcf797fb1b158792858f828b75757b7b
+6e8b668b7ea08ba58bb5ff0028cccdff003b6666c8ff000a199aff00086666ffffff
+8000ff0007cccdffffff800092ffffff800091918b968591084e8f838e88df0813f9
+fffffee666a9ffffff199aff003280008ba98ba9ff00008000ff001f8000ff000180
+00ff001e4cccff00028000ff0031999aff00038000ff0036199a8b8b8b8f868e838b
+ffffe3800080ffffdc800082468289858d858d8508ff00368000fffffae666ff0007
+8000fffffb199a8e51ff000180006dff00008000ffffe580008b6d8b6dfffffee666
+ffffcc8000ffffff199a6dfffffd800038fffff78000884e8685858b809185a58dff
+00354ccd8eff001db3338b08ff000533338bff0005999a8b91ffffffcccd0813fcff
+ffc3cccd70ffffdc6666ffffc699998bffffd6999a8b55b177bd8b08b48bb39fa8b8
+0813fafb47f97215840a0efb9686a2f8f5a2ebf312e9f333da13f0e9f9b215f7170a
+edfd451513e85c0a0efbba86a2f7f99da87701f4d003f744f70115fffffee666a9ff
+ffff199aff003280008ba98ba9ff00008000ff001f8000ff00018000ff001e4cccff
+00028000ff0031999aff00038000ff0036199a8b8b8b8f868e838bffffe3800080ff
+ffdc800082468289858d858d8508ff00368000fffffae666ff00078000fffffb199a
+8e51ff0001999a6dff00006666ffffe580008b6d8b6dfffffee666ffffcc8000ffff
+ff199a6dfffffd800038fffff78000884e8685858b809185a58dff00354ccd8eff00
+1db3338b08aa8bba88a98991918b9685914e8f838e88df080ed0ffff55b333ff0026
+4ccdf713a2f8f5a201f702daf792da03f84c7b15fffffe8000ffffb28000ffffd14c
+ccffffd98000ffffe933348b7d8bfffff74cccff0007e666fffff7e66896fffff54c
+ccff000e8000fffffb6666ff0016e667ffffdde6668b08fffff0999affffe36667ff
+fff3e666ffffe7cccdffffd86666ff0035cccdffffed4ccdff001833321fff003180
+008bff001db334ff000b4ccdb4aeff0021b334ff001ccccdbbff0030b333fffffe99
+98d5ffffff3334ff002c8000ffffff8000ff00c0e6668bff0037199a8bdeff000080
+00bcff00028000dfff00028000deff000e800090d18e91918b968591085a8affffe1
+b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f598c85858b809185d1889a868d
+388d388c5a8b388b38fffffe999afb3ffffffe66663808fb8cf711155c0a0e78fb87
+adf760a2f7f99da877f725ef12dbef40d0f757efffffacccccff0049b33413f900f8
+05f8eb15840a99fbb81513f880f7260a13fc00fbc3f7b815840aebfc7e1513fa0085
+0a0efb6affff55b333ff00264ccdf98ba2c87601f738da03f776f9bc15d50a4afdcc
+155d0a0efbb5fb87adf8dc9da87701ff0073cccdff0049b33303f705f7c715860ac1
+f7d915e50a0ee0fb76a3daddafa2f7bca7f7b1a201f5e1ff008fe666b203ff0138e6
+666215f7240affff87199af72a155e0a0e44fb76a3daddafa2f809a2f7849ea47701
+ff0053b333cfff00894ccdb203f79e6215f7240afb4df72415870a0e6186a2ff00b5
+4ccdff0017cccdff0097e6669dfffffe6666ff00168000ff0008199a7712f2d413d4
+f744f70115ffffff6666ff0017e666ffffff199ab0ffffff999aff001d3334ff0012
+1999ffffff6666ff000d8000fffffe999aff00094ccdfffffce66696fffff8cccdff
+0009199afffff78000ff000be666fffff0b33308d4ffffa2999a05ff001d6666ffff
+da6668ff0008999afffff133338ffffff1b333ff0000ccccfffffd3334ff00003334
+898e8b9f8c97ff0000e666a98baa8ba0ffffff199aa98a91ff0005b3338bff000819
+9985ff0005b33469ff0003ccccffffe6b334ff0010199affffe54cccff0020199a08
+fb18ff009e4ccc05fffffc6666ff00044ccdfffffc999aff000433338bff0004cccd
+8bff0003cccd8bff0001e6668fff0003cccd08e3ff0056cccd05a9ff001e8000aeff
+0013999ab3ff0003cccc91ff0005b3348bff000b199a85ff0005b332668a7dfffffc
+199a678b658b74ff0003e666668c85fffffa4cce8bfffff4e66691fffffa4cccc3ff
+fffc3334ffffe84cccffffd24cccfffff6b334fffff4e6660874ffffe46668ffffe0
+b334ffffdf8000ffffe64cccffffede666ffffea999afffff0e666ffffe63333ffff
+f5199affffed3333888bff001cccccff0000999aff001de666ff00016666a8ff0002
+8000ff0031999aff00038000ff0036199a8b8b0813ec8f868e831effffe3800080ff
+ffdc800082468289858d858d85ff00368000fffffae666ff00088000fffffb199a8d
+518c6d8cffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd8000
+38fffff78000884e860885858b809185b58cff001866668fff002a999a8bff002a33
+338bff0016cccd87b68a91918b968591084e8f828e89df080e5a86a279a8f8eaa2cf
+7612ff006d8000daf7bca2133cff0100999af9c715bd0affffbee666fd5a15f7270a
+13bcf7280a137c600a13bc610a137c620a0efbc886a2f9109ea47701ff005fb333cf
+03e8f215880af702f97c15d70a0e5afb76a3daddafa279a8f8eaa212ff006d8000da
+ff006a199ab2ff0096e666a213cfff010f999a6215f7240affffafe666f72a15f727
+0a13eff7280a13df600a13ef610a13df620a0efbc8fb76a3daddafa2f9109ea47712
+ff005fb333cffffff74ccdb213fce8f215f7290ab2fb24156e7678731f8b70a4829c
+880813fa9d8998878b778b7971735a808b828d829185c494bca98bc708bf73ad651e
+0e5a86a279a8f87e9ce5d344a212ff006d8000daff00ca199ab7ff0031e666a21337
+ff0176999af94e15f7120affff48e666fce115fffffeb333ff00528000fffffe4ccd
+ff002d80008bde8bdeff00008000bcff00028000df0813afff00028000deff000e80
+0090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bffffe34c
+cd8f598c85858b809185d1889a868d38088d388c5a8b388b388a5d893889387c8645
+8885858b809185081367600a13a7610a136f620a0efba386a2f8899ce5d35f9e12ff
+005fb333cfff00754ccdb713ecf79df94e15f7120afb40fce715893c82885188ffff
+f9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387
+b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a518e828e89da
+08ffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff006eccccff
+00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cccda78b8b8b
+92878d828b0813dc7381497f658889838a869185bd88ff0007b333fffffb4cccff00
+034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffffa36666
+8bffff989999fffffe6667ffff953333fffffee666ffffd6199a080e5a86a279a8f8
+30f3dda212ff006d8000daff005f199af3ff0060e666a2133eff011b999af88115f7
+170affffa3e666fc1415f7270a13bef7280a137e600a13be610a137e620a0efbc886
+a2f7bbebf7899ea47701ff005fb333cfff00314ccdea03f769f7fc15739d74a9a69f
+a1a4a673a174707673721efb0cfb9515880a0e5a86a279a8f8eaa212ff006d6666ff
+004f199af7bca213b8ff013a999af84b15fb12ffffb8199a05ff00003333ff00394c
+ccff0000b333ff002cb3348dff0042e666ff00028000deff000e800090d18e91918b
+9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bffffe34ccd8f598c85858b
+80918508d1889a868d388dffffad4ccc8cffffcf199a8bffffad999a08ffff9c199a
+529d6cff0051cccdff002ee66605ffffffb334ffffc4199affffff1999ffffd4b333
+fffffe4ccdffffbb4ccd89387c86458885858b809185081378600a13b8610a137877
+436650218b084206ffffcc80008b86bcffffff8000aafffffeb333ff00528000ffff
+fe4ccdff002d80008bde088bff00064cccff0090199aff0052b334050efbc886a2f9
+109ea47701ff005fb333cf03f787f84a15ffffb0cccdffffd1999a05ff00006667ff
+00596666ff0001199adeff0000b333aeff00013333c9ff0002cccda78b8b8b92878d
+828b7381497f658889838a869185bd88ff0007b333fffffb4cccff00034ccdffffb9
+b33408ff0001cccdffffd9ccccff0000e666ffffa5e6688bffffa36666088bfffffc
+8000ffffa64ccdffffcb66669c6eff0048999aff002a4ccc05ffffff999bffffa733
+34fffffeb333ffffab999affffff199affffdbe666893c82885188fffff9e666ffff
+f9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005
+e666ff0005e666ff0000333496fffff9e666ff0006199a08518e828e89daffffff19
+9aff00256666fffffe9999ff005c66678bff00604ccd088bff0016ccccff00604ccd
+ff0038199a050ef71c86a2f8f5a2d07601ff006a8000b4f82cb203f83cf9c815bd0a
+ff00828000fbbb15640a0e6786a2f7fb9c7cb3c87612ecd1f75fd2139cf7cef8ff15
+e40afb1ffbaa15f40a13dcf50a13bcf60a0ef71cfb76a3daddafa2f8f5a201ff006a
+8000b4ff00e08000b2ff00908000b203f7f16215f7240aff00cd8000f8ca15640a0e
+67fb76a3daddafa2f7fb9c7cb312ecd1f709b2bad213e7f7996215f7240a35f81215
+f40a13f7f50a13eff60a0ef71c86a2f8f5a2cf7601ff006a8000b4f82cb203f7e0f9
+4d15f7100aff00de8000fb4015640a0e6786a2f7fb9c7cb312ecd1f75fd21398f78a
+f88815f7110a44fb3315f40a13d8f50a13b8f60a0e6786a2f7fb9c7cb3ef9ce5d312
+e3b775d1f75fd2139dd3f94e15f7120af708fbf915f40a13dbf50a13bbf60a0ef738
+fb40aef718a2f8e6b96ca212f704daf7ebdf13dcf749f91d15828a80887e8b598b74
+8f598c85858b809185d1889c868b3808fc3f078b387a86458885858b809185bc8ca6
+8fbe8bbd8ba587bd8a91918b968591458e7a908bde08ff0151800007ff0002b333ff
+0010ccccff00084ccdff000c666892ff00084ccc0813ecc0cacbccbd8bb98bb081a6
+64ff0019ccccffffdaccccff00163334ffffb433348b2608fba007fb4851656a1e7d
+8b7d938495819887a06c8b087d6d807567c079a11fb88bff001ee666ff00083333ff
+0029199aff0022cccdff002be668ff00253333ff003f1998ff003dcccd8bf72308f7
+6c078bf719ffffe99998ff00564cccffffd66668ff0030b33468b45e9f4d8b318b49
+51533c088b85fffff88000881eff001f800007cc8fa68b1eff00004ccd92fffffab3
+3390828b080e60ffff2b6666ff0029e667ff00a8cccdff001f8000ff01518000ff00
+1ab332ffffe73334ff0031999a12ebd0f760d013dcf805ff0048800015ffff823334
+87ffff8a9999591e808b7eff0003cccd84ff0006b33381ff000980007fff000f4ccd
+758b08807678ffffeeccccffffe46667affffff299999e1fa08bbfff0002cccdb0ff
+001d999abaff002433339dff0044b3338bff00b4333308ff00998000078bff003466
+6687ff002db33474ff001d999a7aa076ff000b8000688b5a8b55fffff380004effff
+bf333288fffffc333484fffff680008bff000d4ccc8bff001c999a90ff002be6668b
+8b8bff0004ccce87ff0002cccc838b0813ec6ffffff580006cfffff7800046fffff7
+666689fffffa4cce8dfffff0b3328dfffffa4ccec1fffffb333296fffffb33348bff
+ffc8b33408ffff461999078bffffb1ccce81fffffc4ccc4ffffffb333485fffffa4c
+cc8bffffebe66791fffffa4ccdb48ca0ff0000e666b68bb28b98ffffff199ab58a91
+ff0005b3338bff0014199985ff0005b33458ff0004cccc82ff0003b3348bff004e33
+3308ff009c6667078b9f94ff000b666693ff0008999a0813dcb1ff00234cccb8a0b2
+8b9f8ba0fffff3800097ffffea199a95ffffece6668dffffe64ccc8bffffe3666808
+0ef71a81a3f900a3dabd01afe5f84fe503ff01c78000f97515f70b0aff005f800024
+15650af7e0fbc515660a0e3c81a2f813a2e6bd01b3d7f78ed703f7e8f89215f70b0a
+3ffbcf158d0af750f75d158e0a0ef71a81a3f900a3adbf01afe5ff00458000a7f76c
+a7ff00658000e503ff01d38000f9b915f70c0affff738000fb3f15650af7e0fbc515
+660a0e3c81a2f813a2c7c412b3d77fa6f76ca683d713ecf717f90615f70d0a13f230
+fc4315f7020af750f75d158e0a0ef71a81a3f900a3c07601afe5f84fe503ff01cc80
+00f9ac15f72a0afb179015f72b0afffffd8000fb3715650af7e0fbc515660a0e3c81
+a2f813a2f77a7601b3d7f78ed703f821f8f715f72c0afb189115f72d0afb75fc3a15
+8d0af750f75d158e0a0ef7d389a3f7c6a7f79aa612a8e3ff012d8000e0f74da2d7a2
+87a413fcf7eea11524fb12edf763f76af702dbec1fd28ba089ff0002800038ff0002
+8000ffffae8000ffffff8000ffffcd80008b388b38ff00008000ffffd18000fffffd
+8000ffffad800008fffffd800038ffffeb800087ffffce80008b088d7315a98bff00
+3580008da98b08f76106bbdb868b1f13fd99bd9ad093befffff59998ff0005e666ff
+fffe8000ff00024ccdfffff2e668fffffccccd774368433f8b08fb1c06758b7e9b8a
+a688ff005380008cff00af80008b8b08eb8a05e08b8e758e5e9185968b91918aae87
+ff000c80008bff001e80008bff0021999a8fff001666668ca98591808b8585885488
+7f368b082b8a058b8b8af71c8eddff0000e666a3ff000b199a9fa38b08f71b0613fe
+d68b9b56a146ff000c6668fffffe3334ff0000ccccff00021998ff0009ccccff0004
+b33486b47cee89938b8d8a8c888b7a888387738b08fba7066d8bffffc08000906d8b
+08fb4efb0efb2cfb48fb48f717fb20f7501f0ef76d81ba5caef773b2f70bac12ade1
+f78bdef761e1137ef82df7f1156fba66b6268b08fb03293efb30fb0fde2ef70e1fd9
+8bbdaeafc10813bea75cbb61e78bea8bb9bfa1a9fffffacccc93fffff9b334ff0006
+6666fffff58000ff0000999a6c6a4e7a658b648b2eba8bf71a8b958b968c9408f7b6
+06f70956d5fb0a1e478b5063695908fbb5fb0415d09eeff2b7dc57fb2e1e137efb21
+48695c2e63f0f7031ef8abbd15fb5d068d9ba5f1e18bd78b953e8c62080ecb81a07b
+a2f7a1a3f7d4a3cb7612f700daf77be3133ef7c3f9c815bd0afb08fca315f72e0a13
+bef72f0a137e6b0a8df7b615680a0efb6086a2f7f3bd619ce17612f0d11398f785f8
+ff15e40afb20fbc715f7300a13d8f7310a13b8f7320a0ecbfb76a3daddaaa07ba2f7
+a1a3f7d4a312f700daf71db2c2e313cf80f7c16215f7240afb06f7e215f72e0a13ef
+80f72f0a13df806b0a8df7b615680a0efb60fb76a3daddafa2f7f3bd619c12f0d180
+b213e2f71d6215f7240a13f467f7f515920a13ec930a0ecb81a07ba2f7a1a3f7d4a3
+ca7612f700daf77be3133ef789f94d15f7100a51fc2815f72e0a13bef72f0a137e6b
+0a8df7b615680a0efb6086a2f7f3bd619c12f0d11390f743f88815f7110a41fb5015
+f7300a13d0f7310a13b0f7320a0e3f81a5f8fea3c87612a6ff00168000ff00018000
+ff00456666ff00f1999add55ff0016800013f8f7aef9c815bd0aff0070b334fb5115
+f7330a13fcf7340a13faf7350a0efb4f81a19476f821a1c87612b99e85cbf721d161
+a0137ab9f71215940a13b6950a13b5960a13ba970af749f88115b10a0e3f81a5f8fe
+a3c77612a6ff00168000ff00018000ff00456666ff00f1999add55ff0016800013f8
+f78cf9c315d50aff0092b334fb4c15f7330a13fcf7340a13faf7350a0efb4f81a194
+76f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13b4970a
+f739f89015e50a0e3ffb5ca8d6abff00368000ff00198000f8fea312a6ff00168000
+ff00018000ff00456666ff0084999ac9badd55ff0016800013ff00f7702b15a2957d
+7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f
+828b828a838908ff00156666ff00394ccc05ff0028ccceff0001e667ff00264cccff
+000ae667ff001f8000ff0013b333ff00398000ff0023ffffff00248000ff003d999a
+8bff003f999a8bff005f33344ab8ffffb7e666ff001eccccffffcf199aff0014cccc
+ffff766666ff002633348bed8bc3ff0034999acdff003ae6668b0813fe80ff006119
+9a8bb4439f49ff000b8000ff000033348dfffffecccc9492fffffc8000bb87a7ffff
+f5b334c0ffffc6333293ff0002199a9effff9e4ccd8bffff9ab3338b32488b218bff
+ffa2e666ff0042e666ffffd2ccceff004d8000ffffde4ccc0813ff00caffffe4999a
+ff0067999affffea33328bffff8d33348b3affffd0cccc57ffffb033348bffffa280
+008b45ff0034800075ff00638000fffff3b3338fffffff6667fffffe199afffff666
+66fffffae6668f3e8f71975aff0039999a8bff001c3333ffffeccccdff00483333ff
+fffcb3330867ffffa980009185059b90958c9e8b080efb4ffb5ca8d6abe076f821a1
+12b99e85cbe9c97cd161a013fa00b9f712158f5c8d648b63958d948c908b928b908b
+9289ff0016b333fffff9e666ff0016999afffffc3334ff001c9999ffffff199908ff
+ffdc199affffa9cccd9185059b90958c9e8b08a2957d7671767d6d1f778b808f7095
+848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015cccd
+ff003a4ccc0513f500ff00368000ff00068001ff004bb334aa8bff005233338bcc5c
+ab4aa452a1619e8bbf8bb2ababb28b0813f480960a13f900970a0e3f81a5f8fea3c7
+7612a6ff00168000ff00018000ff00456666ff00f1999add55ff0016800013f8f76b
+f94d15f7100aff00b3b3344915f7330a13fcf7340a13faf7350a0efb4f81a19476f8
+21a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13b4970af70f
+f80915f7110a0eaffb5ca8d6abc6a2f8eaa89677128ea3f785da86c9f737a313f580
+f7c92b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff0018e666ff0042b33305ff00298000ffffff19
+99ff001f4cce88ff002a4cccffffff333391918b968591458e719089de0813f68089
+ff005280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b3
+348dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab80813ee80f736
+0a13f680f7370a13ee80f7380a13f6809fdbb9afcd8b08c606b08bff00094ccc78ff
+0001b3344eff00024cccffffadb334ffffffb334ffffce4ccc8b388b388b5d893889
+387186458885858b809185ff002de666ff0000e666ff0022e667ff0003b334ff0031
+3333ff0000666608632b9185059b90958c9e8b080efb99fb5ca8d6abf850a801e6d0
+b4c903f73c2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b
+08c8b9aab6b16ca3631f828b828a838908a2ff003d800005acff00083333ff0020e6
+66ff0013999aff001b199aff001eb3338995fffffe80008dfffff980008d7278687c
+728b718bfffffc6666a8fffffd999ac689bd8ef70c8fe408ee0695988e941f96078f
+898d861efb078b8cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b7c80
+7c857b847a8a8b818b808e7d8b21085f067e8785831f8207868c8a8f1ec3068b2c86
+fb208b4f8bffffbc199aff0016e66670ff002be667ffffffe66608ffffdc33333591
+85059b90958c9e8b080eaf86a2f8eaa89677dd76128ea3f785daf770a3139ef7a9f9
+4d15f7100a80fb3515f7390a13def73a0a13bef7360a13def7370a13bef7380a13de
+f73b0a0efb4f81b6f7efa8f7029ce5d312e1d04bd0f74ab713f2f7daf94e15f7120a
+fbabfbb515f73c0a13f6c30613fa980a13f6990a0eaf86a2f7cda8f794a89677128e
+a3f785daf770a313eef79ef8ac15ff0001e666ffffbb6666ff0000199a5d8bffffc2
+999a08fb0b0682818681858e83931ff71381068b388b5d893889387186458885858b
+809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a91918b
+96859108458e719089de89ff005280008bff002d80008bde0896f716079794929690
+8891821ffb1f06ffffffe666ff003c999affffffe666ff002d4cccff00023334ff00
+46199a8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab80813def7
+360a13eef7370a13def7380a13eef73b0a0efb9981b6f75ca6f70ca812e3d4ffffb7
+cccdff0042666613e8baf82d157e8785831f8207868c8a8f1ec3068bffffdc3334ff
+ffff4ccdffffd5b332ffffff1999ffffd6199a08ffffe1999a0682818881858e8393
+1fff0025cccd06fffffeb334ffffc46666fffffe8000ffffc8199a8bffffdf80008b
+47a270b78bb78bbba0b0b58995fffffe80008dfffff980008d7278687c728b718bff
+fffc6666a8fffffd999ac6088aff00188000ff00004ccdff00294ccdff0000e666ff
+002e333308ff006bcccd0697949096908891821fffff8bcccd06ff00010001ff0028
+8000ff00018000ff002a6666ff0001b333ff0025199a08ee0695988e941f96078f89
+8d861efb078b0513f08cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b
+7c807c857b847a8a8b818b808e7d8b21080ef681aaf8f2a2bdc089c212efdaff0122
+8000a6ff002d8000b113eeff01a68000f98515bf0a13dec00a13eec10affff0c8000
+fc78156c0a0e5581ae8f9af7efa2dbc089c212dfd0f755d04ba613f5f7c4f8b715bf
+0a13edc00a13f5c10a20fcc115f7080a13e6f73d0a13e5f73e0a13e6f73f0a0ef681
+aaf8f2a2c2bd01efdaf7ffb103ff01ce8000f95515f70b0affffc48000fc48156c0a
+0e5581ae8f9af7efa2ebbd01dfd0f755d003f7f5f89215f70b0acffc9c159a0a0ef6
+81aaf8f2a2b4bf01efdaff002a8000a7f76ca7ff00308000b103ff01ed8000f9b815
+f70c0afffec58000fcab156c0a0e5581ae8f9af7efa2cdc412dfd05aa6f76bd047a6
+13f5f717f90715f70d0acdfd1115f7080a13faf7090a0ef681aaf8f2a27fabf5ab12
+efdaff00598000b3ebb3ff00618000b113bfff01648000f99c15e70a335615e80aff
+ffa68000fc5a15f706078bbd8bb58dc80813df8dde9c90d18e91918b9685915a8aff
+ffe1b33387ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b809185d1889b
+868d38088d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d8c
+c79291918b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee6688f
+598c85858b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba
+85dc8bcc080e5581ae8f9af7efa2dfabf5ab12dfd082b3ebb3a5d013fb80f77cf910
+15e70a335615e80ac0fce515b08bc29fbab1908f948d8b848b7596688b8b92888f8c
+928da09ca69ac59291918b8e8591084e90fffff8e6669dfffffe199aba89bd8bf58d
+bdff00013334a8ff0002ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c08
+85858b809185ba88ff00098000fffff4e666ff00028000ffffc1199a8d598b218959
+ffffff4ccc79fffffeb3348e7e7f686c5c72738b0813fd80ffffc4e6668bfffff680
+00ff0017199afffffc999aff0054e66689bd8be28dbdff00013333a8ff0002cccdc6
+8b8b8b8e888e868b868a7d8a7d8b6c8b728c688c0885858b809185b987ff000a8000
+82ff000280004d8d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e9
+8b080ef681aaf8f2a2c87601efdaf7ffb103ff01f78000f9ac15f72a0afb179015ff
+00174cccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc96666fb02
+05fffffe199afffffc3334ffffff8000fffffacccc8b898b849186928bff0005999a
+8b8fff00038000ff000466668f08e3ff0050800005908f8d928b9308ffff3e8000fc
+a4156c0a0e5581ae8f9af7efa2f77f7601dfd0f755d003f831f8f715f72c0afb1891
+15f72d0a37fd07159a0a0ef6fb5cb1f72caaf8f2a201efdaff00808000c9ff00ac80
+00b103ff01f98000fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002e4c
+cdff0020e666ff001ecccdff0048199aff003b4cccff00543334ff00303334ff0015
+4cccff006419998bff007d4ccd08f785078bde9d8cc79291918b9685915a8afffff5
+4ccc87ffffd9b3348bffffd519988bffffeee6688f598c85858b809185d6849c8a8b
+3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba85dc8bcc08f706078bbd8bb58d
+c88dde9c90d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcd4ccd8bff
+ffe2b3338f598c85858b80918508d1889b868d388d388b5a8b38083607fb60f72261
+e51eff0017cccc8bff0015999aff0001b333ff0013999aff00034ccdffffcb4cccff
+ffd9b334ffffdb3334ffffd7cccc8bffffd580008b55b177bd8bb48bb39fa8b8080e
+55fb58b1f728ae8f9af7efa212dfd0f72ac978d013faf889fb17158792858f828b75
+757b7b6e8b0813fc667ea0a51f8bff002c8000ff00158000ff0044b333ff00434ccc
+ff0015b333ff00094cce8dff000a4cccff0001b334ff000b999aff0001666691918b
+8e85910813fa4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b868a7d8a
+7d8b6c8b728c688c85858b80918508b987ff000a800082ff000280004d8d598b2b89
+59fffffd6666ffffbe199aff0015999affffbfe666e98bb08bc29fbab1908f948d8b
+848bfffff0b333ff00054cccffffea999aff00033334fffff433330813fcffffd899
+9affffdbe666ffffefe666ffffcf999a8b678b55b177bd8b08b48bb39fa8b8080ef8
+389476f913a2c87601ff01ed6666f9bc15fffff0999aff0007b334fffff66666ff00
+00b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ff00220002
+79b279ff00091998ff0003ccccff00041998ff0008199cff0002ccd0ff0009199808
+67a666adffffe1fffeaf08ff015d199afb87156e0a0ef72c9576f826a201f813f90d
+15f7400afb51fb86159c0a0ebc86a2f8f5a2c87601f7a6e003ff015b3334f9bc15ff
+fff09998ff0007b334fffff66668ff0000b3347dfffff799986c69ffffdeffff6866
+6f8d828e859485ff002600019cab9cb0a6ac72ad79b279ff00091998ff0003ccccff
+0004199aff0008199cff0002ccceff000919980867a666ad6daf08ff000bccccfd4f
+15700a0e49fb85cff8c8a201f7b7f90e15f7400a21fdbb159e0a0ebc86a2f8f5a2c1
+ea12ff00bf3333ff005e0001fffff4cccce0ff00013334e913f4ff00bf3333f98315
+ffffffffff71a076a58b08ff001a0001a0a0a5a576a1ffffe5ffff1f717675711fff
+00a9000116a30a13ecfffffeccccfd1615f7410a0eb08ba7f8dcac9677de7612c29f
+f870a013bcf8b58615710a13dc720a13bc730a13dc740affff306666f9cd15d40a0e
+fb2b8ba1f7fea49577f7977712c0a01398f794f92415e40a13b8fb4bfb81159f0a13
+d8a00a0eb08ba7f8dcac9677f770f312c29fff00ac6666f3ff00c7999aa0139eff00
+f76666fa2015f7170aff0129999afe2515f7420a13bef7430a13de720a13be730a13
+de740a0efb2b8ba1f7fea49577f728ef12c0a0e6ef139cf739f8eb15840a13bc2ffb
+48159f0a13dca00a0eb08ba7f8dcac9677dd7612c29ff870a0139cff01176666f94d
+15f7100aff0109999afd5215f7420a13bcf7430a13dc720a13bc730a13dc740a0efb
+2b8ba1f7fea49577f7977712c0a01398f750f89715f7110a13b8fb072b159f0a13d8
+a00a0efba286a2f805a1f79da301ead0f701d803f738f31589bd8bf7ad8dbdff0001
+999aff00289998ff0001b333afff00064ccdff001d6668ff000b6666ff00351998ff
+00163333ff001de668ff0020cccd8ba28b917b8f789071987ea58ba48b93958b9b08
+8b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccdff
+ffcd9998ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b41fffffcb33386
+ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff0000b333ff0000
+199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdfffffb
+66668b808b8b8cfb6c8959fffffccccdffffb1199afffff83333fffffbe666588885
+858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b48a08
+91918b9685914a8efffff93333ff0004199afffffccccdff004ee666080ef71a81a3
+f900a3afe112afe5ff01b08000b0ffffe58000e513f4f7dbf90e15db0af7e0fbc515
+f7440a13f8f7450a0e4f81a2f813a2b3db12b3d7f78ed76bab13f8b3f75715f7460a
+13f4f7470af750f75d1513f88e0a0efc0c9676f9587701d4b203f7048115f95864fd
+58070efba69676f9587701d4b2cab203f76a8115f95864fd58074c16f95864fd5807
+0efb799676f7bfadd3adf7a17701f71cb203f7b7f7d715fb08d3f708adfb08f7a164
+fba1fb0369f70343fb0369f70306fbbfb2f7bff708070efba586eff8c77701e9ef03
+f724f92615200a59fcf715210a0ef95586a378a7f8dcac78a39177dd7612f702d9f8
+1be5bc9ff870a01397c0f754f70115510a1327c05ff8ac151397c0f7480a1347c0bc
+8ca98fbe8b081397c0f7490aff031a6668bf15f7100aff01099998fd5215f74a0a13
+4fc0f74b0a1327c0720a130fc0730a1367c0f74c0a0ef89286a3f801a49577f777a3
+937712f702d9f81be5b7a01397f754f70115510a5ff8ac15520af950fb1615bd06a8
+b9b1b8aeb208138ff74d0a13a7fb072b159f0a13c7a00a0ef7e481ae72a1929af7e8
+a47da3f783779b9ea47712b0d7f76cd0f721a013a9e0f7ddf70015ffffff4ccc79ff
+fffeb334847e7f686c6c7c738b588b4fce8bf70b8bd099ba999fa9b8b88e9e8bad8b
+a67f9e7508987c8e848b6d088b8b8bfb2b895908804f15f7130a13abe0f7140af7f8
+f86715bd06a8b9b1b8aeb2081325e0f74d0a1329e0fb072b159f0a1371e0a00a0ef7
+63ffff55b333ff00264ccdf713a279a8f8eaa212ff006d8000daf7bca2ff006c8000
+da13deff00bf8000f701155f0a13be600a13de610a13be620aff01a58000fb1115ff
+fffe8000ffffb28000ffffd14cccffffd98000ffffe933348b7d8bfffff74cccff00
+07e666fffff7e66896fffff54cccff000e8000fffffb6666ff0016e667ffffdde666
+8b08fffff0999affffe36666fffff3e666ffffe7cccdffffd86666ff0035ccceffff
+ed4ccdff001833321fff003180008bff001db334ff000b4ccdb4aeff0021b334ff00
+1ccccdbbff0030b333fffffe9998d5ffffff3334ff002c8000ffffff8000ff00c0e6
+668bff0037199a8bdeff00008000bcff00028000dfff00028000deff000e800090d1
+8e91918b968591085a8affffe1b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f
+598c85858b809185d1889a868d388d388c5a8b388b38fffffe9998fb3ffffffe6668
+38080ef766fb82adf75ba279a8f7f39da877f725ef72a212ff006d8000daf7bca2ff
+00558000efffffacccccff0049b33413db80ff00bf8000f701155f0a13b980600a13
+d980610a13bb80620a139dc0ff01918000f88315840a99fbb8151399a0f74e0a0e3f
+fb87adf760a2f7f99da877f725ef929ea47712ff005fb333cfff008f4ccdefffffac
+ccccff0049b33413ff80f7c7f8eb15840a99fbb81513ff40f7260afb78fb6015880a
+0ef85dffff55b333ff00264ccdf713a2f8f5a201ff006a8000b4f82cb2ff010f8000
+da03ff022a8000f8a115640aff01348000fcb115fffffe8000ffffb28000ffffd14c
+ccffffd98000ffffe933348b7d8bfffff74cccff0007e666fffff7e66896fffff54c
+ccff000e8000fffffb6668ff0016e667ffffdde6648b08fffff0999cffffe36664ff
+fff3e666ffffe7cccdffffd86666ff0035ccccffffed4ccdff001833341fff003180
+008bff001db334ff000b4ccdb4aeff0021b334ff001ccccdbbff0030b333fffffe99
+98d5ffffff3334ff002c8000ffffff8000ff00c0e6668bff0037199a8bdeff000080
+00bcff00028000dfff00028000deff000e800090d18e91918b968591085a8affffe1
+b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f598c85858b809185d1889a868d
+388d388c5a8b388b38fffffe9998fb3ffffffe666838080ef80ffb87adf760a2f7f9
+9da877f725ef77a212ff006a8000b4f82cb2ff00a78000efffffacccccff0049b334
+13fb00ff022a8000f8a1158cfbef05ff0000199878fffffae66880848b838b809d6e
+b008fbebf84efb158d0585858b809185bb88a46b9664088afc42058b327a85458485
+858b809185bc8cff0010cccd8fff002a33338bff0029cccd8bff000f333387bd8a91
+918b96859145927a8f8be6088af7d305ffffffe666adff0005199a9a938b918b9680
+9c7508f7f1fc4d05967c98829b8b089989979e1f8cf88c0513f7008be49c91d19291
+918b9685915a8affffef333487ffffd5cccc8bffffd633348bfffff0cccc8f598c85
+858b80918508d1849c878b300813fb80ff00cf8000d515840a99fbb81513f340f74e
+0a0ef755fb87adf760a2f7fb9c7cb3f714ef12ecd1f75fd2f71befffffacccccff00
+49b33413ee00f743f7e9158b0a13de008c0a13cf00f825f79615840a99fbb81513ce
+80f74e0a0ef71e86a2f778abf81077db7601ff014a999af94d15f7100affffb9e666
+fc3715480afbb8fb6515490a0e2081b363a9f80da112b5d459d8f72cd01324f751f8
+8815f7110af3fbb415e20a1374e30ad8fb261513ac780a1374790a0efb9686a2f8f5
+a2cf7601f702da03ff007a6666f94d15f7100aff0045999afce0155c0a0efbba86a2
+f7f99da87701f4d003f4f88515f7110ad2fc1815850a0ef71a81a3f900a3c77601af
+e5f84fe503ff01438000f94d15f7100aff000380004c15650af7e0fbc515660a0e3c
+81a2f813a201b3d7f78ed703f76af88715f7110afb42fbc4158d0af750f75d158e0a
+0ef681aaf8f2a2cf7601efdaf7ffb103ff01458000f94d15f7100affff6d8000fc40
+156c0a0e5581ae8f9af7efa201dfd0f755d003f76ef88715f7110a76fc91159a0a0e
+f681aaf8f2a295e9b1bd01ff00638000dcff00398000e9bde9ff00418000b203f782
+f95715df0af72416df0affff368000fc4a15e00af7acf89f15f70b0a0e5581ae8f9a
+f7efa2f706eaadbd12dfd064e9d6e96cd013f800f7fef92515f70b0a13fa00733915
+e60a13f900f73d16e60a35fcdd15f7080a13fc80f7090a0ef681aaf8f2a295e901ff
+00638000dcff00398000e9bde9ff00418000b203f782f95715df0af72416df0affff
+368000fc4a15e00aff0107199aff0244e66815ffffa08000ffffb44ccc0581fffff8
+1998fffffe6666fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6
+668bff0006e6668bff00093334ff00029998ff00103332ff0007e66808ff006ee666
+ff0033199805fffff63334ff0012ccd0fffff03334ff000f4cccffffe9e666ff000b
+b334080e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f0ff01396666ff0302
+666815ffffc3999affff94e66405fffff98000fffff48000fffffd4ccdfffffc6668
+8bfffff5e6648bfffff9b334ff00059999fffffa999cff0005999a8bff0005999a8b
+ff00066666ff0003999897ff000d800008e7ff00621998fffffd999aff0009e66805
+ffffed999aff0013ccccffffeb8000ff0000e668fffffae6668b08878bfffffb3332
+ffffff1998fffffd999affffff199c0813f4ffff38999affff3c999815e60a13f2f7
+3d16e60a35fcdd15f7080a13f9f7090a0ef681aaf8f2a295e901ff00638000dcff00
+398000e9bde9ff00418000b203f782f95715df0af72416df0affff368000fc4a15e0
+0aff00a4199aff01df199815ff0021199a06ff00171998ff001de668ff0018999aff
+001c3334ff001d4cceff0019800008fffff48000ff0011999805ffffe2b332fffff1
+e668ffffe76666ffffef4cccffffe38000ffffe91998ffffe6999aa1ffffe5ccceff
+0010b3346d9a08fffff39998ffffee666805ff001bb334ffffe76664a6ffffe5999c
+ff0017199affffdf6664080e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f0
+ff00e73333ff0281800015ff0028000106ff00173332ff00296668ff001e6666ff00
+288000a7ff0023199808fffff0ccceff000bb33405ffffe26666ffffe7b334ffffe4
+ccccffffe98000ffffe26667ffffddccccffffe4cccdff00206664ffffe5999aff00
+168000ffffe0ccccff001a199c087bfffff44ccc05a7ffffddccccff001d999affff
+d78000ff00173333ffffd5b3340813f4ffff8acccdffffbd800015e60a13f2f73d16
+e60a35fcdd15f7080a13f9f7090a0ef681aaf8f2a295e901ff00638000dcff003980
+00e9bde9ff00418000b203f782f95715df0af72416df0affff368000fc4a15e00aff
+0053e666ff0244199815ffffe5b334fffff5ccd0ffffedccccfffff23330fffff1e6
+67fffff0666808ff00769999ffffc8800005ff00103334fffff81998ff000ab332ff
+fffd6668ff000633348bff000633348bff00056666ff000633348b928bff00063334
+fffffce666ff00054cccfffff7800092080e5581ae8f9af7efa2f706ea12dfd064e9
+d6e96cd013f0ff00cd3333ff0305666815fffffcccccff0000e664fffffb3333ff00
+00e668878bffffe4cccd8bffffed999afffff0b334fffff99999fffffa999808ffff
+fe6667fffff61998ff005b3333ffff9de66805ff000ccccefffff28000ff00059999
+fffffb8000ff0004cccd8bff000666668bff0005999aff000566688bff000480008b
+ff00064cccffffff3334ff00064ccc87940813f4ffff6ccccc3615e60a13f2f73d16
+e60a35fcdd15f7080a13f9f7090a0efb1281a2f718a9f763b001aad7f763da03f7ce
+f72a15f74f0a44f74315f7500a0ef71e86a2f778abf810779febb1bd12f755ebf721
+eb13def755f95615c20af78116c30affff568000fc4015480afbb8fb6515c40a13ee
+c50aff013f199af96715f70b0a0e2081b363a9f80da1f701eaaebd12b5d459d850e9
+d6e957d0133800f7d5f92615f70b0a1339007d3815e60a133880f73d16e60ab4fbff
+15e20a137c00e30ad8fb261513ba40780a137c40790a0ef71e86a2f778abf81077ee
+b7daf301ff0138999af303ff01c3999af9a115835fff0052fffe8b0597969c979287
+93811fffff0500025f1594b7378b057f817980848e83941fff003ce666fc5f15480a
+fbb8fb6515490aff00a5199af9df15f70e0a0e2081b363a9f80da1f714efa9bd12b5
+d459d8a3efa7d0133980f7ebf93915f70b0af742fc6515e20a137d80e30ad8fb2615
+13bb80780a137d80790afb0cf8bd15f70f0a0ef7de86a279a5f789a8a7a7f79aa679
+a28d77f4bd12ff01af8000dcf763a2d7a287a41331c0f92df97515f70b0afffff680
+00fc6615f7510a13b1d0f7520a1371d0c80a13b1d0f7530a1379e0c90a1333d0540a
+1339d0ca0a13b5d0cb0a1371d0cc0a13b1d0cd0aff00b98000f79d15ce0a0ef71281
+b066a9f74eadf730a2e6bd12b0cf52d0f73ad0f753d4133980f85cf89215f70b0a9f
+fb1b15f7540a137d80f7550a13bb80f7560aaafb3d15eb0a137d80ec0ad1af15ed0a
+0ef72981a5f732a8dca5f7d5a612abe2f839da6ea313fcf80af92615fb40fb3efb17
+fb70fb41f71cfb24f75d1ff70a8bdbaecfc5809486938b9608caff003f9998a8ffff
+c06668ac078bff002333349cff0009cccca88e91918b9985916d8a7e87638b648b65
+8f5c8c85858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8bffffd7e6
+66086affff87999a6eff007866662707696b4f71558b08fb462cf747f718f743f706
+f715f7131f13faf7258bc62fa535958bff0006b334ff00008000ff00074cccff0005
+8000fffff83334ff0044800084ff00318000fffff8ccccaf084f8b67b8fb0e8b080e
+3dfb8aa4e9a6e1bb5ebfe1a2f78aa276b512a8ff00416666ffffd8999ac457d3f743
+d397c613cc70f7c7f79e15810af708f215f71f0a13ca70f7200a13dc70f7210a13d8
+b07074726b8b628b63a473a881ffffd8199affffe7b333ffffe58000ffffda3333ff
+fff66666ffffdd199a0869700613d930a98a0638db68d41eff006880008bff006f19
+9aff002e999aff00266666ff0048666608bca6ffffd9800006ff00024ccc94ff0001
+3334ff000966668bff0009999a8baa7da66fa266aa488c688b7a8b738974880813ea
+b0f7230affffdfe666fc6915fffed6333406ff00010002ff001d4ccdff00068000ff
+001ecccdff00196666ff001de66695889b8a978b0813d830a98ba68e988bbb8bab89
+a77cb07697748b728b8affffffe6668a8b8a08fffffa199a701575ffffc9b333ffff
+b1199affffd84ccdffffb6e6668b0813c930ffffc6199a8bffffce3333ff00268000
+fffff71999ff00378000080ef72981a5f7a0a5f7d5a6c77612abe2f839da6ea313f8
+ff0161999af94d15f7100aff001466666415f7190a13fcf71a0a13faf71b0a0e3dfb
+8aa4f763bb5ebfe1a2f78aa276b5f7647712a8cb65c457d3f743d397c6139230f757
+f88d15f7110af704fb8315325b70681e139a70f71c0afb49fba81513d330f71d0a13
+b330f71e0af7bdf80f15f71f0a139670f7200a13ba70f7210a13b2b0820a13b330f7
+220a13d6b0f7230a0ee086a2f7bca7f7b1a2cf7601f5e103ff0145e666f94d15f710
+0affff7a199afce0155e0a0e4486a2f809a2f7849ea47701ff0053b333cf03f7b2f9
+1515f7110afb61fcae15870a0ef71afb5cb1f72ca3f900a301afe5ff00cc8000c9ff
+00b08000e503ff02108000fb1b15f7570affff368000f99515650a0e3cfb5cb1f72c
+a2f813a201b3d7cfc9f70cd703f812fb1b15f7580afb2ef8a7158e0a0ef71afb5cb1
+f72ca3f900a3babd01afe5ff00cc8000c9ff00b08000e503ff01c58000f95515f70b
+0af7bffddc15f7570affff368000f99515650a0e3cfb5cb1f72ca2f813a2e6bd01b3
+d7cfc9f70cd703f7f1f89215f70b0af795fd1915f7580afb2ef8a7158e0a0efbb5fb
+87adf8dc9da877f78b7701ff0073cccdff0049b33303f705f7c715860a92f75b15f7
+110a0ef96c86a378a7f8dcac78a3917712f702d9f81be5d29ff870a01387801c04ce
+8615f74a0a134f80f74b0a132780720a130f80730a136780f74c0afea2f7061588dd
+8ab98bde8bde8dbc8ddf081397808dc989a7e78b08f76cdafb50fb2efb5efb154cfb
+211ffb008b84a789c9081327805ff8ac15139780f7480a134780bc8ca98fbe8b0813
+9780f7490a0ef8b686a3f801a49577f777a312f702d9f81be5cea013bef988f83715
+9f0a13dea00afcc8fbca15510a5ff8ac15520a0ef7e081ae72a1929af7e8a47da3f7
+7f9ea47712b0d7f76cd0f71ca0132fc0f8bef837159f0a1377c0a00afb75fbcb15ff
+ffff4ccc79fffffeb334847e7f0813afc0686c6c7c738b588b4fce8bf70b8bd099ba
+999fa9b8b88e9e8bad8ba67f9e75987c8e848b6d088b8b8bfb2b895908804f157e0a
+0ef72981a5f7a0a5f7d5a6c87612abe2f839da6ea313f8ff019a999af9c815bd0aff
+ffdb6666fb3615f7190a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78a
+a276b5f76e7712a8cb65c457d3f743d397c6139230f7a5f92415e40aadfc1a15325b
+70681e139a70f71c0afb49fba81513d330f71d0a13b330f71e0af7bdf80f15f71f0a
+139670f7200a13ba70f7210a13b2b0820a13b330f7220a13d6b0f7230a0ef71c86a2
+f8f5a2cf7601ff006a8000b4f82cb203f7b0f9c515d00aff00958000fb6415640a0e
+6786a2f7fb9c7cb3f7837712ecd1f75fd2139cf7a3f92415760afb3afb5115f40a13
+dcf50a13bcf60a0ef71e86a2f778abf87dab01ff0113999ab3ebb303ff01048000f7
+aa15480afbb8fb6515c7f72f0590989194a38b08ff00d080008bff003f8000fb4c05
+ff000e199862ffffd78002ff00006666ffffd06666fffffc999a85858b809185b08c
+c28fb28bb48bb687b08a91918b968591ffffd93334ff00038000ffffdeccccff0003
+800079be08ffff366666ff0231666805ff001d3334ff000dccccff0014b332a8ff00
+00ccceff001fccccff00068000ff0001e668ff0007ccccff0002e664ff0009b334ff
+0004333408ff008ffffec505fffff34cd0ff00154cccffffeb4cccff00116668ffff
+e36664ff000d4ccc08ffff8cccceffffb0199805fffff1199aff001c6668ffffe119
+9aff001380006a8b5d8b61648b5d8bffffda4cccff001c3332ffffdf199cff002366
+68fffff54ccc08ffff1a4cccfffde34ccc05ffffe63333ffffc34ccdffffe14ccdff
+fff5b333ffffd480008885858b809185b08ca28fb28bb48ba987b08a91918b968591
+ffffda6666ff0002999affffd06667ff0006b333ff00103333ff0029b33308ff00d8
+199af94e15c60a0e2081b363a9f80da1d9abf5ab12b5d459d877b3ebb387d0133980
+f766f90f15e70a3356155db564b9bbb3b3b81e8bff001ee668ffffedcccca6ffffe6
+6667ff000ee664ff00034ccdff0002999cff0003ccccff0003ccccff0004b334ff00
+054ccc08e7ff00621998fffffd999aff0009e66805ffffed999aff0013ccccffffeb
+8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999affffff19
+9c08ffffc3999affff94e66405fffffa3333fffff5ccccfffffd4ccd87ffffff6666
+fffff84cd0fffff93334ff0001b33084ff0000e668fffff8e6668b085d61645d1ff7
+3ffc0615e20a137c00e30ad8fb261513ba40780a137c40790a0ef7de86a279a5f789
+a8a7a7f79aa679a28d77e37612ff01af8000dcf763a2d7a287a41331c0f8fef9c915
+e10affff458000fcba15f7510a13b1d0f7520a1371d0c80a13b1d0f7530a1379e0c9
+0a1333d0540a1339d0ca0a13b5d0cb0a1371d0cc0a13b1d0cd0aff00b98000f79d15
+ce0a0ef71281b066a9f74eadf730a2f7837712b0cf52d0f73ad0f753d4133980f82b
+f92415f7590afb2ffbad15f7540a137d80f7550a13bb80f7560aaafb3d15eb0a137d
+80ec0ad1af15ed0a0ef71a81a3f900a3c87601afe5f84fe503ff01858000f9c815bd
+0afffed88000fdd715dc0af77df91d15dd0aff00c23334ffff86666815de0a0e3c81
+a2f813a29977ce7612b3d7f78ed7139cf7abf8ff15e40a13bcf70dfb4e15f7030a13
+dcf7040a13bcf7050a13dcfb406615f7060aff00714cccffffaacccc15f7070a0ef7
+1e86a2f778abf8107701ff00d0999af9a315f75a0af71790158b838d84908708e3ff
+ffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b928b8dffffff
+8000ff00053334fffffe199aff0003cccc08ffffc96666f702058693848f7c8bffff
+f04ccc8bffffe9b334fffff14ccc8bffffe8b33408ffffb0e666fc9215480afbb8fb
+6515490a0e2081b363a9f80da1f7767712b5d459d8f72cd01332e1f91915f75b0af7
+1c9115f75c0ad2fc4b15e20a137ae30ad8fb261513b6780a137a790a0ef71e86a2f7
+78abf81077d576c8bf01ff00e5999aa7f76ca703ff00e5999af94715f75d0aff001e
+e666fc3115480afbb8fb6515490a0e2081b363a9f80da1f750c412b5d459d850a6f7
+4cd066a6133280f7daf89915f75e0a6afbc515e20a137800e30ad8fb261513b50078
+0a137900790a0e9186a279a5f7c2a7f79aa679a28d7712f5def763a1d7a387a31323
+00ff00836666f9a7158b828e848f8708ee37058d898e8a8e8b908b93908b938b8eff
+fffeccceff00036668fffffd7fffff0004999808ffffc4b333f701058693848f808b
+086e7fffffea3334ffffefcccc1ff71790158b838d84908708e3ffffaf800005ff00
+046666878ffffffc8000ff0005999a8b928b91908b928b8dffffff8000ff00053334
+fffffe199aff0003cccc08ffffc96666f702058693848f7c8bfffff04cce8bffffe9
+b332fffff14ccc8bffffe8b33408ff0029999afc4715d10a133380d20a132740540a
+133340550a13ab40560a136340570a13a340580a137380d30a0efb1281b0f75fa8f7
+1da2f77d7701aed7f766d703e8f92015f75b0af71c9115f75c0afb07fc23157f0ad2
+fb4315800a0e9186a279a5f7c2a7f79aa679a28d77db76c8bf12f5deffffda6666a7
+ff00d8999aa1d7a387a3132360ff00976666f94715f75f0aff0098999afbe215fb09
+8a051333b0d60a1327a8540a1333a8550a13aba8560a1363a8570a13a3a8580a1373
+b0d30a0efb1281b0f75fa8f71da2f751c412aed76da6f769d742a613f5f7d8f89a15
+f75e0afb66fb9715f00a13f2f10ad2fb4315f20a13faf30a0efb9686a2f8f5a2c576
+01f702da03ff00006666f9ae158b828e848f8708ee37058d898e8a8e8b908b93908b
+938b8efffffecccdff00036668fffffd8000ff0004999808ffffc4b334f701058693
+848f808b6e8b7fffffea33348bffffefcccc08f71790158b838d84908708e3ffffaf
+800005ff00046667878ffffffc8000ff000599998b928b91908b928b8dffffff8000
+ff00053334fffffe199aff0003cccc08ffffc96666f702058693848f7c8bfffff04c
+cd8bffffe9b333fffff14ccc8bffffe8b33408ff003c999afd46155c0a0efbba86a2
+f7f99da87701f4d00378f93b15f75b0af71c9115ffffe08000fffff58000ffffe9cc
+ccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002cc
+cdff000a66688bff000299988b8c8b8dfffffeb3338e08ffffc14ccdf72305879483
+90808b08c6fcd415850a0efb9686a2f8f5a2c876c8bf01ff000c6666a7ff0045999a
+daff00436666a703ff000c6666f94615f75d0aff00b3999afcd9155c0a0efbba86a2
+f7f99da877f761c401ff00064ccdff00184ccdff004a6666d0beff00184ccd03f775
+f89915ff00184ccd9705fffff36667e0ffffd2199abd4c8bffffcae6668bffffc666
+675afffff533333508ff00184ccd7f0594c5ff00296666abff002ecccd8bff003099
+998bff0026b33466ff0009e66656085afc2c15850a0ef71a81a3f900a301afe5f84f
+e503ff00bd8000f9a715f75a0af7179015f7600aff00068000fb3215650af7e0fbc5
+15660a0e3c81a2f813a2f77d7701b3d7f78ed703f708f92015f75b0af71c9115f75c
+0afb68fc63158d0af750f75d158e0a0ef71a81a3f900a3c176c8bf01afe5ff004980
+00a7f76ca7ff00618000e503ff00c78000f94715f75d0aff007f80005215650af7e0
+fbc515660a0e3c81a2f813a2f750c412b3d780a6f76ca682d713ecf7f0f89915f75e
+0a13f2fbc8fbd615f7020af750f75d158e0a0ecb81a07ba2f7a1a3f7d4a3c37612f7
+00daf77be3133ef70df9ac158b828e848f8708ee37058d898e8a8e8b908b93908b93
+8b8efffffeb333ff00036668fffffd8000ff0004999808ffffc4cccdf70105869384
+8f808b086e7fffffea3334ffffefcccc1ff7179015f7600a4afc8c15f72e0a13bef7
+2f0a137e6b0a8df7b615680a0efb6086a2f7f3bd619cf7977712f0d11398d2f92115
+f75b0af71c9115f75c0a21fbef15f7300a13d8f7310a13b8f7320a0ecb81a07ba2f7
+a1a3f7d4a3c476c8bf12f700da5ba7f76ca792e3133dc0f71ff94715f75f0a13bec0
+bbfc22156a0a137ec06b0a8df7b615680a0efb6086a2f7f3bd619cf769c412cda693
+d1f71ea6139ef7c9f89915f75e0afb64fb6115f7300a13def7310a13bef7320a0ef6
+81aaf8f2a201efdaf7ffb103ff00c58000f99d158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffeb334ff00036668fffffd8000ff0004999808ffffc4
+ccccf701058693848f808b6e8b7fffffea33348bffffefcccc08f7179015f7600aff
+ff6a8000fc95156c0a0e5581ae8f9af7efa2f7827701dfd0f755d003f705f92015f7
+5b0af71c9115f75c0a57fd30159a0a0ef681aaf8f2a2c976c8bf01efdaff002b8000
+a7f76ca7ff002f8000b103ff00de8000f94715f75d0affffd48000fc3a156c0a0e55
+81ae8f9af7efa2f755c412dfd066a6f75fd053a613f5f7fbf89915f75e0afb36fca3
+15f7080a13fa4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b0813f486
+8a7d8a7d8b6c8b728c688c85858b8091850813fab987ff000a800082ff000280004d
+8d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e98b080e3ffb76a3
+daddaaa5f8fea312a6ff00168000ff00018000ff00456666ff0087999ab2cedd55ff
+0016800013ff00ff018ab334f90b15f7610a13fe80f7620affff5e4cccfd3415f724
+0a0efb4ffb76a3daddaaa19476f821a112b99e85cbe1b29bd161a013c900f74e6215
+f7240a13dd80fb20f73b15940a13eb80950a13eb40960a13ed80970a0eaffb76a3da
+ddafa2f8eaa89677128ea3f785da6eb2f766a313e580f7bb6215f7240a6ef8d51513
+f680f7630a13ee80f7360a13f680f7370a13ee80f7380a13f680f73b0a0efb99fb76
+a3daddaab6f7efa812e1d04bd0adb213f2f73f6215f7240afb10f85615f73c0a13f6
+c30613fa980a13f6990a0ef73c86a2f7cba5f7a4a2cf7601f5e0f7ebde03f753f701
+155b0aff008fe666f8e015f7100a0e5986a2f807a9f77f9ea47701e5d0f75fd103f7
+a5f91515f7110afb08fc0415830a0ef71e86a2f778abf81077f772f301ff0138999a
+f303ff0138999afa2415f70e0affffcbe666fd0e15480afbb8fb6515490a0e2081b3
+63a9f80da1f714ef12b5d459d8a3efa7d01333f73af8eb15840af713fc1715e20a13
+7be30ad8fb261513b7780a137b790a0e91fb5ca8d6abc6a279a5f7c2a7f79aa679a2
+8d7712f5deff007c6666c9ff0014999aa1d7a387a313d8e8ff011866662b15a2957d
+7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f
+828b828a838908a4ceff0046999a8b0513e8e8580a13dcf0f7180a13c9e8540a13cc
+e8550a13eae8560a13d8e8f7640a0efb12fb5ca8d6abf7baa8f71da212aed7f72bc9
+88d713fcf7792b15f7650a13faf7660afb07f7f7157f0a0ef71a81a3f900a38bebb1
+bd12afe56eebf7cdeb6ae513b4ecf95615c20a13b2f82d16c20a13d9fb474315db0a
+f7e0fbc515660affff22ccccf86315f7670a0e3c81a2f813a2f701eaadbd12b3d785
+e9d6e984d713f0f7f3f92515f70b0a13f47a3915e60a13f2f73d16e60a13f9fb83fc
+1015f7020af750f75d158e0a0ef71a81a3f900a3ff00003334ff003a4cccfffffdcc
+ccff003c8000ffffd53334b712afe5ff0058cccdff0016e666ff00be6667ff0016e6
+66f70ae513cf80ff01f78000f99c15825fc78b0598959d96928893811ffc1b5f1593
+b74e8b057f817980848f83941f13e780ff0114b334fffff0800015f7680a13d780f7
+690a13e780f76a0affffc2ccccffffad800015650af7e0fbc515660a0e3c81a2f813
+a2f70fc089c294bd12b3d7f77fa67fd713ccf7ecf92515f70b0a13eef74c4d15bf0a
+13dec00a13eec10afb9cfc2415f7000a13cdf7010af750f75d158e0a0ef71a81a3f9
+00a3f75bf301afe5ff00a28000f3ff00b08000e503ff01208000fa2115f70e0aff00
+268000fba715650af7e0fbc515660a0e3c81a2f813a2f713ef01b3d7d3efd9d703f7
+50f8ea15f70f0afb28fc27158d0af750f75d158e0a0ef71a81a3f900a3d1b6e1f301
+afe5ff00a28000f3ff00b08000e503ff01b18000f997158260dc8b0598959c969287
+93821ffbaa601594b6378b057f817980848e84941ff71cf74915f70e0aff00268000
+fba715650af7e0fbc515660a0e3c81a2f813a2e2efadbd01b3d7dcefd0d703f759f8
+c215f70f0afb31fbff158d0af750f75d158e0af715f78815f70b0a0ebc86a2f8f5a2
+b9bd01f7a6e003ff01b63334f94c159896a097918796811fffff1effff06fffff4ff
+ff80777f848f80941fff0090cccdfcdf15700a0e49fb85cff8c8a2ebbd01f813f892
+15f70b0aa5fd3f159e0a0efbb5fb73b7f9017701f705da03f705f7c715860a0efbb4
+86a1f80aa201e7d703f73cf7c215ff00033333ff004ee666ff0006cccdff0005199a
+c59091918b968591638affffe7666687ffffd6999a8bffffd6999a8bffffe866668f
+628c85858b809185c587ff0006cccdfffff9e666ff00033333ffffb1199a088d598b
+2b8959fffffccccdffffb1199afffff93333fffffae666518685858b819185b38cff
+001933338fff0029cccd8bb48ba287b48a91918b95859108518ffffff93333ff0006
+199afffffccccdff004ee66689bd8beb8dbd080efb92f800a2f766adcba101c2bcf7
+03bc03f3f92c15b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a
+05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f7907
+8bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8e666
+ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cccdff
+fffbb334ffffed3333fffffe4ccc08808a05878a88891f79078bb38ca4a3b18a8b1e
+9d078b8d8a8d878c08858c05ffffec3334ff00034cccfffff9ccccff0004b3348b9e
+08f71007ce6da45e1e678b68687d7b080efb92f7faa2f771a8e0a101b9bccfb78cbb
+03b9f828157c8783791e8106888a89881f8b7a8c8a058bae8c9e9fb98a8b1e8c8c8b
+9c058e898d881e82067a85939a1ff73307a4a4ab999a8b08a39c77611ffb1c077c86
+83791e8106888a89881f8b7a8c8a058baf8c9da0b88a8b1e8c8c8b9c058e898d891e
+81067a85939a1ff72407c170a8641e778b6383686808b7078b9f8c968e9990a79a96
+998b968b9887917c8f818f809a8b08969595959f78a1516f537a2b1f0efbf6f79b9e
+f7d1a0c9c4128bbbb2c758bc13f8f709f97715f76b0a13f476fb5215f76c0a13f8f7
+6d0a0efbcff801a2f765b365a012d5bc13d0f711f8d615898c05ff001b33348dff00
+17cccc8b1e90898d851e13b07b845d837189088c7905898d8a8d1ea08a0598918461
+1ffb1b078b78fffffe199afffffb4cccffffe8e666fffffeb33408798a05868a8988
+1f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffece666ff0001199affff
+f9199aff0003e6668b9f08f712078b938f948f900813d09ba29a97928b8f8b90898f
+8791849387978b089d96949c9d8198701f6c8b70697a72080efbcff7fab37c9ff75f
+a312f712bd13b0f712f85c158b82888287867b747c7f848b878b868d878f85928390
+7f8b087980817a7a957da61faa8ba7ad9ca4088d8b89509a8b051370a396a391b293
+08899f057f8780887e8b08808898991ff732079f8c90a31e9d06908c8d8e1f8b9e42
+8a418c8b7805888e898d1e9d069c938a731f0efbc5f78e9ee4b3f764a301f712bdbc
+bb03f744f82115f74c079f8c90a31e9d06908c8d8e1f8b9e428a418c8b7805888e89
+8d1e9d069c938a731ffb11078b82888287867b747c7f848b878b868d878f85928390
+7f8b087980817a7a957da61faa8ba7ad9ca4088d068b369071a66c9b799f849b8b08
+a6ad999e9c82947f1f7c8b837b877e8a848787868b086e81aee81f0efbb1f800a1f7
+059ee5a27f9e12c4bce5c113eca7f8f415a78c85761ffb47077f8a857d1e7c8a0589
+8a8b891f7af71307b3c69dc91f8bad74a66b9008a2c90513dc95a79b9e9d8b089d07
+848c858b848b6a8b77757e6708744d5c8b8bca0513ec9f8d92a18d8c8c8e1e8b9c8a
+8d058b6c8a7774688c8b1e8a8a8b7805898f8a8d1ef73cfb3a1573836b541e828b82
+8c828d08f702ad07b7976a731f0efb08f8f4a201f713f8f915f76e0a0efb73f782b4
+f7dda301f726f8fa158b9b8a8d058b61896e78678d8b1e89898b7a05898e888e1ea6
+8bff0003999afffff66668ff000b6666ffffe6999808d7fb3d05907e907b8b848b85
+8a8688837b65786b828b858b869085918790858e828b088178827974aa81971fb78b
+a2b19eb7bdf70da6c7add1939d979ea38b08908d8d8f1f8b9b898d058b71897a7561
+8d8b1e8a898b7a05898e888e1e8e06999689821f8b888a8489870847fb2949f72b05
+fffffe3333ff00041998fffffecccdff0005e6688b8d0893938e9d8e8f8d8f1e0efc
+07f8b4f744019bf71503f714f95d158490858d838b0887067f8a84878882084bfb26
+058a8a8b8a8b8a8b878e878e888e8a8e8a8d8b8e8b8e8c8d8d08f1f70d058f908c91
+8b908b9785968091080efb67f8c4f74101c1f79903f7cff94715f72c0afb189115f7
+2d0a0efc1df86bd3e59c01a8b703e4f86b15a9999d9b9b86a162838593981f8ba2a0
+b0b59408869c0545836b4d8b670867a166b11e0efc16f86d9ce5d301eab703daf920
+15f7120a0efc1df8749ce1d701a6bd03e2f92715f76f0a0efbd2f82fb6f72eb601f7
+32b703f75ef8a215d65abd481e828b7888828908946205918c9b8d918b08b6a86b59
+5572795c1f828b828c838e08866205928894889a8b08c6c4b1d81f0efbd2f82fb6f7
+3f768fb612b9b213b0b9f8ac1540b859ce1e948b9e8e948d0882b405858a7b89858b
+08606dabbdc1a59dba1f13d0948b948a9388088fb40513b0858e818e7d8b08505665
+3e1f0efb96f90a76c6a401c5b4a4b2abb303c5f90a157b9b86921e938b94908c948d
+9e94a5b88ba68b98768b718b787c7d7b7e777b77798b6d0868b2a7078ba69c9b9e9a
+9e999c9a8ba508ba67a85e4b6b6a6d1e0efb96f930a301c5b3abb2a4b403f77ff90a
+15a86bad4b5e676e5c1e8b719c7c9e7d9e7c9c7b8b70086fb2ae078ba9779d779b7b
+987c998b9e8ba598a0a68bb88b94718d778c829487938b08929b8f9c1f0e60f7f3f7
+bb01f738f88615f78bf28bb8fbc4fb128b61f7c4fb138bb8050e60f7f3f7ba01f7f6
+f88715fb8b248b5ef7c4f7128bb5fbc4f7138b5e050e60f7eef7c401f704f7bb03f7
+97f8e515750a0e60f7eef7c401f703f7bb03f797f8271524f78b5e8bf712fbc4b58b
+f713f7c45e8b050efb68bef79103f756f92415e50a0efb68f729f89715f7110a0efc
+43f8aef74c01b4bb03e5f95f158390858d848b858b7e8681858c718b628b738b768b
+688a7792879289928b918b998e9492088aa88bb38ba28ba28bae8c9c080efb2bf892
+bd01d5f79903f7cbf89215f70b0a0efbb3f884f73401b7f73003f717f92415f7700a
+0efbb3f883f73501daf73203f735f92415760a0efbf8d0c103f70ffb7815f7710a0e
+fb3ffb17b701d5f78403f7b7fb1715f7720a0efbc4fb6ff72101aff74a03affb0b15
+f7730a0efbb8fb6af72601b8f73f03c6fb6a15f7740a0efbf4aff71f03aff82915d0
+fb0dd1f70d05fb1ffc0415f71f8b45f70d050efbf9aff82815d0fb0dd1f70d050efc
+05fb77abf70aac01f711ad03f711fb1c156971726a1e868b868c868c08826c059389
+938a938b08bfb4b4bdbe62b4571f7f8b7f89818708976c05928e928c938b08afa26f
+6c1f0efc05fb6cabf70aac01adac03adfb111558b563bd1e948b938c928d0883aa05
+8689868b858b086972a5acaaa4a7ad1f948b928a92880897a9058090808d7e8b0858
+6261591f0efbc2fb78b701f701b603bbfb7815f7750a0efbc2fb02b701f700b603f7
+684915f7760a0efbb3fb29b701f708b703f734fb6515c7ce0791948e928b928b9288
+9186930847cb06838f858e858b848b84888184084e4807848489848b838b848d848f
+8308d14a0693879189928b928b928e9493080efbb3fb11b701adf75903f7733a15fb
+4706848488848b838b848e848f8308f7490691948e928b918b9388918693080efb88
+f892c4e57701a0a6f76ca603bbf92515f7770a0efba2f8b7ed01eced03ebf8eb15f7
+0f0a0efb5cf8deabf5ab01e8b3ebb303f749f96815c60a335615e80a0efb77fb5cb1
+01cbc903f79afb1b15f7780a0efba1f8b2c089c212f794a613a0f765f8e715bf0a13
+60c00a13a0c10a0efb67f8c4f74101c1f79903f7cff94715f72c0afb189115f72d0a
+0efb87f7b2bef7187701f725b803b2f81115996505a59abba0a5908682887b8b7d8b
+5ea17d9b8ba58ba197bcaf08809f05757f8086758b788b869b8ba18baf9aa19ca408
+7d96055d654c6f4f75080efb5ef774f8f615e1d40587948b8b869386938b8b869008
+fb0243fb05d30586868b8b868285828b8b888408e3413442957b058f848b8b918508
+f703d2f703440592918b8b8f9290928b8b8e94080efb94f7faa3f7a9a301e2aec7b3
+03f727f7fa15c59cb59b1f8b948ba562ca088d91d7f711059296998e9a8b088ba18a
+8d058b6b897a1e7c8b748c7a8c088a898b7505a0988a811f8b898a898a8708502855
+ef05898f898e8b8e0890928ea11e8ba18a8d056e89708b7c8b798b7f8c7c8c088a89
+8b7805888d8b8d1e9b8b9e86937b08d6fb1f6a5905847f81798b7b086ea47bae1e72
+c0158b9798a19eaa089083059f6e8e7d8b820878807c777a7f959e1e0efc24f7ffa1
+f7d0a001c2bc03c2f84c15f7790a0efbc8f7faa4f779a412a7a17cbbe2c16fa213e8
+a7f85e15f77a0a13d4f77b0a13e8f77c0a0efb92f800a1f775a101a0f7a603ff00ea
+3333f8cd15a7ff0023e668ff0004b332ff00044cccff001c199aff0001cccc8f8f8b
+99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333fffff7ccccff
+fff2cccdffffed3334088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a
+6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3334ff00011999fffffd
+9998ff001a999affffda333408ff003833333b058888ffffcecccd518b8bffffe199
+99ffffdc8000fffffdb334fffffb4cccffffe3e666fffffe333487878b7d8f879d8c
+928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b
+8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffff
+e3e666ff0001ccccfffff9999aff0002e668ffffe5b333ff00254ccc08ffffcbcccd
+d5050efbcef800a2f7dea101a5bbb2bc9dc303f74df81715748b949d1fd0078bb972
+a773a477a078a18bab08a99ba9b0a9a57a721e8b878a878a888b888a888b8708789c
+8795979c959cbf51a8564c676b591e8b5da277a177a079a0798b64083b078b798a81
+748a088006878a89881f79078bb28ca4a4b28a8b1e9d078f888c891e0efb10a076f8
+e1c301f7c9ca03f808f91915fbee53f7affce1ca060efb10a076f89bc3d17701f7c9
+ca03f808f919154c45fbaf53f7affc9bca060efb10a076f7cec3f7a77701f7c9ca03
+f808f919154cfba7fbaf53f7affbceca060efb10a076d0c3f89c7701f7c9ca03f808
+f919154cfc9cfbaf53f7af46ca060efb108bc3f8e17701f7c9ca03f808f919154cfc
+e1fbaf53f7ee060efb58d5b801bdbe03bdd515f79db8fb6af78d58060efb51f762b9
+01bdbf03f1be15f72ff770b9fb70f72b57fbf4070efb8dfb15f7940198f71315f713
+fb94aa8bf70ef7945e8b33fb4a2df74a050e40f8dbb6e8b701f876f8db15b6fc7160
+07f871f71c15b7fc715f070efb4bf8579fdbdd01f716adf70dad03f1f90d15f77d0a
+f72f8d15f77e0a0efbeeffff1d8000f7550195ff00c3b33303ff006be666ffff61b3
+3315ffffc38000ff007ccccdffffda999a8bff00563333fb55ff00194ccd8bff0054
+3333f755ffffda999a8b050efbeeffff1d8000f7550195ff00c3b33303ff006be666
+ffff9a4ccd15ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6b333
+8bffffa9cccdfb55ff002566668b050efbabffff1c6666ff00c33334019ff77c03ff
+0058b333fb1615f77f0a0efbb5ffff1c6666ff00c3199a019ff77c03ff00b74ccdfb
+1615f7800a0efbdbfb5eabf5ab01a8b3ebb303f7094b15c60a335615e80a0efc08f7
+85f74401a9f71503d3f83515ffffe08000fffff58000ffffe9ccccfffff233341f8b
+868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002cccdff000a66668bff
+0002999a8b8c8b8dfffffeb3338e08ffffc14ccdf7230587948390808b080efb84f7
+87f74201a9ff0103b33403cff82f15ffffe8999afffff16666ffffede666ffffee19
+9a1f8b858d84908508f706fb02058d898d8a8e8bff0002999a8bff000a6666ff0004
+4ccd8bff0009b3338b8c8b8d8a8c083df71f058694848d7f8b08f71c9115f75c0a0e
+fb84f787f74201a9f79903f791f82f157f8b84898682083dfb1f058a8a8b898b8a8b
+fffff64ccdff000a6666fffffbb333ff0002999a8b8e8b8d8c8d8d08f706f7020590
+918d928b918bff0011e666fffff16666ff0012199affffe8999a8b08fb1c9115808b
+8386878208ffffc14ccdfb2305fffffeb334888b898b8a8bfffffd6666ff0002cccc
+fffff5999aff000b33348b8e8b8d8c8d8d08f1f70d0590908c918b908bff000dcccc
+fffff58000ff00163334ffffe080008b080efb87fb0eb78fb9019fa3f77aa303f774
+3d15788b7a957b97779975996d8b608b746d7d5008a3860595ac989aa58b9c8b9e80
+9d80a07da07fa18bb98ba8a997c7087391057d617d81758b080efbd8f7ddf5f731f5
+01cbf503cbf91915f7810afb9b04f7810a0efbedf92db401a9b703a9f8a315908294
+87908b918b958c949308f722e50795908d968b908b9086927d9308fb088b807f050e
+fbedf92db401f718b703f744f8a3158bf73b8097fb088b057d8386848b868b868d80
+958608e5fb22069483958a918b908b948f9094080efbed99b401a9b703a9f755158b
+fb3b967ff7088b05999390928b908b90899681900831f722068293818c858b868b82
+878682080efbed99b401f718b703f744f755158694828f868b858b818a828308fb22
+3107818689808b868b869084998308f7088b9697050efb67fb0bf70bfb0bb712a9b7
+f75eb71370f7a881154afb5ecf078491848e858b848b8487818308340713b07d8f83
+9f1ef77f069b9a98961fe307848e848f838b08848b84888384080efb85fb0bb701a9
+b703f7b24015ffffed8000ff0007e666ffff3e8000fffff8199a8b8b08cf07849184
+8e858b848b848781830834077d8f839f1ef761069b9a98969387978b1f0efb1b82a9
+01f820a015fbb7069395a8a59bb0086a067d7b625c5979088007c76ba57b9e6808ad
+067cab76a0799e08f7b7060efb30f92415760a0efb2cf92415b10a0ef887f73101fb
+9ef79003fb0ff92415e50a0ef8bcc089c212130037f8e715788b7a927b977799759f
+6d8b608b74647d509185958a968d95ac959aa58b9c8b9e839d8008a07da079a18bb9
+8ba8b297c7858f818e808a087d618081758b080ef892bd01fbeaf7990322f89215f7
+0b0a0ef8edb70164f8ed1598959d97918793821ffbe90680807a7f848f83941f0ef8
+92c4e57701fbbca6f76ca603fba1f92515f7770a0ef8a0ef01fb7aef03fb7af8d415
+f70f0a0ef8a2ea01fbe9e9d6e903fbe9f8d115a30af73d16a30a0ef986a601fb7cbd
+b7bd0333f96715f7820a0ef8ccabf5ab01fba2b3ebb303fb4af95615c60a335615e8
+0a0e64f94715f72c0afb189115f72d0a0efb79f89715f7110a0ef8b8f73601fb48bf
+03fb13f953158390838d848b858b7c8681858c718b6e8b738b768b728a7792879489
+928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8aff74801fbd3b8c7b703
+fb3ef8af15f7485ffb48074f8c15f7475efb47070efb98f98315f75b0af71c9115ff
+ffe08000fffff58000ffffe9ccccfffff233341f8b868c85908608f1fb0d058d898d
+8a8e8bff000b33348bff0002ccccff000a66688bff000299988b8c8b8dfffffeb334
+8e08ffffc14ccdf7230587948390808b080ef892c4e5779ce612fc16a6cae5caa614
+1c13bcfbbcf94f15729f77a4a49f9fa4a477a0721e727776721f13dc4c6115f70d0a
+0ef8f3c401fbeba6f76ca60327f89915f7830a0ef868dddb9f01fb32ad032bf86815
+f7250a0ef86a9fdbdd0154ad0338f92015f77e0a0ef86f9fdbdd01fb15ad0348f925
+15647466671f8b7392759b77ff0010e666ffffeae666ff001c199affffef199ab186
+8f8f8c948b92529777ab8ba208ff00139998ff0004cccdfffff96668ff00183333b3
+95a39c9b7ba4681e0ef85e9fdbdd014cad0330f91415f77d0a0efb6ff72101fbe7f7
+4a03fbe7fb0b15f7730a0efb6af72601fbcaf73f03fbbcfb6a15f7740a0efb6d76d1
+b601fb68b703fb3cfb7915f73c07868e858d848b848b82898186084dfb0007848588
+838b838b848e838f8508f7034a0692889189928b928b938e9491080efb6c76d0b601
+fbdeb703fbde4b15fb3c0790889189928b928b948d959008c9f7000792918e938b93
+8b928893879108fb03cc06848e858d848b848b83888285080efc04f85176f717b401
+f712b703f73ef849158bf7278097fb268b057d8386848b868b868d80958608f70cfb
+0e069483958a918b908b948f9094080ef7e0a5c7e001fb11ae0331f83315ba71b465
+6f797c731e8b779875ae87998a98838b7e08696287801e7371a306c2ababbe1f0efb
+88b2f704b401fbd1b303fba9fb2915a89ba6b71e8d8b8e8a8e8b088db405888c878b
+878b08545f615456b461c01f908b908b908c088cb205898b888a888b085e7aa4aa1f
+0efb78b701fba2b603fbdffb7815f7750a0efb02b701fba3b603fb3b4915f7760a0e
+fb3bb601fba5b703fb79fb7815c8ce0791948e928b918b92889286920847cb068390
+858d848b858b84888185084d4807848588838b848b848e838f8408d14a0692879289
+928b918b938e9492080efb3bb601fb35fb1015fb4706848588838b848b848e838f84
+08f7490691948e928b918b9288928692080efb81af01fb91c4e6b203fb2cfb5d1572
+78a39f9d7a987d7b817e7e62bf5fc4c99bbecf1ff718780777200650825a651e0efb
+81af013db2e6c403fb8104c1c2b5b69881987b7d7a7e79777873726582bbc71ff477
+0778fb1606479b58c91e0efb3bf70001fba2f70003fba2fb0515f7840a0efb3bf700
+01fc06f700e5f70003fb40fb0515f7840afb5a16f7840a0efb5eabf5ab01fbc5b3eb
+b303fb6d4b15c60a335615e80a0efb76a3dadd01fb77b203fb8e6215f7240a0efb5c
+a8d6ab01fb2dc903fb4e2b15b30a0efb5cb101fbecc903fb26fb1b15f7780a0efb81
+f74501fbafc103fb79fb7915f7710a0efb63f70b5fb712fc0bb7f72cb71370fbdffb
+5915f7850a13b0f7860a0efb75cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b
+75ad7dc0898c878b878b888b888b888a763b6d847e8b6f8b7aac7dbf08898a797e88
+879e36aa5dac8b998bac96a5d1a344ae81998bae8ba9c29cd787907c95868e080efb
+79fb7015bd06a8b9b1b8aeb20878980566706972666569af6aa564a708777e05ae63
+b060a85c080efbd6f79103fb3d391559066d5e655e6864089f7d05b0a6aca4b0b1ac
+67ad72b26e08a0990568b365b66fb9080efb8dc401fc17a6f76ca603fbfc2515f777
+0a0efb09c401fc16a6f76ca603fb23fb6315f7830a0efb2ec089c2122ea613a0fb20
+2615bf0a1360c00a13a0c10a0efb17b701fbfcf78403fb23fb1715f7720a0efb17b7
+0142fb1715f7870a0efb67b7b9b701fc06f79803fb19fb0d15f7880af7753115f788
+0a0ef71fc089c2122ea613a0fb20f75415bf0a1360c00a13a0c10a0ef75db701fbcf
+f7840329f75d15f7720a0ef75db70142f75d15f7870a0e3ff85a15fc0cfc5c058d7c
+97809b8b08f80df85f05879881957a8b080e9376f9337701fcee7e15f89bf91505ff
+fffdb333ff000ee668fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b08
+0efb88b4f704b201fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a
+8f8b8f8b08c2b7b5c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c72
+6c1f0efb65f70bfb0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b
+848b8487818308340713b07d8f839f1ef74d069b9a98961fe307848e848f838b0884
+8b84888384080efb82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15
+fb3af74af73a070efb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba169
+99568d8a8f8b8f8b8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78
+e06cb96a8b7d8b6a80714573d268957d8b688b6d547a3f8f869a819088080eff01b6
+e666ff00cb199a01fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cc
+cdff0049ccccffffe3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049
+b334ffffe34ccc6fff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346f
+ff00493332ff00491998ff00493334ffffb6ccceff001c199aff001c199a050eff01
+b8ccccff00133334f74cff0013333401fffee08000ff00288000ff00038000ff0026
+b33303ffff0c8000f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667ffff
+f33334fffff3b3327bfffff3999affffee66648b738bffffdd999aff001a6666ffff
+ed999aff0033e667fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2
+cccdff000a66668bff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333
+ff000e6668ff000c4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff00
+24ccd0ffffe5999aff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc
+05ff00250001fffff4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b7
+0142f8cd15f7870af7ed3115f7870a0ef8b7f73501fb82f73203fb30f95815760a0e
+f8b8f73401fb83f73003fb2cf95815b10a0ef86cc089c212fb1ba613a0fb4af8a115
+bf0a1360c00a13a0c10a0ef86a9fdbdd0154ad0338f92015f77e0a0efb55f8a4ea8c
+7612bde9d6e913b0bdf8d315e60af73d16a30aa4f767157e8b808587800857fb2305
+8a888a878b88081370849185931e8f8b908f8e8f08e7f70e058f908d938b908b9f75
+9a778b080efb82b301fb72d6d4a403fb724115f7890a0ef877f70b5fb712fc0bb7f7
+2cb71370fbdff88115f7850a13b0f7860a0efb67b7b9b70142fb0d15f7870af7ed31
+15f7870a0efb75f74501fba2b3d1b303fb7afb6d15f78a0af70216f78a0a0effff97
+8000b201ffff638000b303ffff068000ffffbe800015828687828b868b858c869382
+08ec450690819289908b908b95909399088be67f96050ef88ac089c21222a613a0ff
+ff296666ff01ef666615ff00066667ff0018333205ff000e199afffff68002ff000e
+6667fffff7e666ff000eb3338bb98ba8b297c7858f818e808a7d618081758bfffff0
+66668bfffff1b334ff0004b334fffff28000ff0008666408ff00166666ff0054e668
+05839486ff00048000fffff7199a8bfffffc19998bfffffd999affffff9998fffffa
+cccdffffff666808ffffec1999ffffb48000051360fffff1b332ff0009b3347bff00
+084cccffffec999a8b608b74647d509185958a968d95ac959aa58bff000db3348bff
+000efffffffffaccccff000ecccdfffff8333408826905ff0006800083ff0002b333
+fffffc3334ff00064ccd8b088f8b92ff0000ccccff00076666ff00006666080eff01
+d3e666ff00423332ffffe9e668c089c2ff0011e668ff0042333012fffedae666ff00
+423334ff0017ccccff00423334ff001fe666a6139efb98ff01d3e666159dff000f19
+9aff000f199a9d9dfffff0e666ff000f19987979fffff0e666fffff0e668791f79ff
+000f199afffff0e6669d1ee5ff00a80002159dff000f199aff000f19989d9dfffff0
+e666ff000f19987979fffff0e666fffff0e6687979ff000f199afffff0e6689d1f13
+5e9dffffb9199815bf0a133ec00a135ec10a0ef88eae8baca6ae8bad12fc09f7a113
+88fb0cf8d315868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b91
+8b96b0af8b081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b8068
+5f8b081318778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b
+95afb08b081328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb
+13158007c76ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aa
+b1abb19f089607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a
+067d7b625c5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08
+ae076ca76bb177b108800679595c627b7e086907ae99a5a99794080eff01f46666ff
+00c3199a01fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffff
+dab332f77cff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891ac
+f70aab01fb70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b
+086875a7aaaca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef8
+91e6e2c401fc16a6cae5caa6031438fb62f8bf15a4779f7272777772729f76a4a49f
+a0a41ecab515f7830a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff
+13b333ffff7e333315ff0049cccdff0049cccdffffe78000ff0018999affffb6cccc
+ffffb63334ffffb6ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb633
+33ffffb6199affffb6cccdff00193334ffffe78000ff00493332ff00493333ff0049
+3334ffffb6cccdff00188000ff00188000050effff1c6666ff00c3333401fffed480
+00f77c03ffff193333fb1615f77f0a0effff1c6666ff00c3199a01fffed48000f77c
+03ffff77cccdfb1615f7800a0effff1c4ccdff00c3666601fffeec8000fb1615fb24
+ffffc3b3338bffffda999af768df8bff001a6666fb68e08bffffda999a05ff013180
+00ffffe0000115ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6cc
+cd8bffffa9b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8f715f78b
+0a0efc76f8e0f30149f30349f91415f70e0a0efb0eb012fb49c275b676c313c0fb1b
+fb121579766f8f8b6d8b829284948b081390ac8b84aa98a398758a6aa58b938b9591
+8b958ba87089789f958d948a968b089f9c919b918898791f798b847873800813a08c
+9b98a18b9a08987f9181818081801e8b7d997c8d757396829d788b087e8681837a95
+86981f978b918e918b08928b9288918a080efb6aa6f704a601fbd8b0efb0efb00314
+38fb2afb1715a99ea5aaa99f726c6f786f6c6c78a7a71efb42165db466b91eff001b
+e6668bff0018cccdff000ce666ff000fe667ff00138000ff00104cccffffec4ccdff
+00193334fffff34ccdff001ae6668b08bbb2b1b8ba62af5d1fffffe5199a8bffffe6
+e666fffff36666ffffefb333ffffec4ccdffffefb333ff0013cccdffffe6b334ff00
+0c8000ffffe4e6668b085d62665d1fe2c315a99f726c6f786f6c6c78a7a7a99ea5aa
+1f0ef8dab70141f8f4158e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c
+8d08a7d6058f858d801e868b848a8989083ffb090588878a888b8908879088961ef3
+0693908a891f8b898a888a88086d4105fffffb80008bfffffc8000991e908b958d8d
+8e080efb81c001fb8104f78c0a0ef86fc0f7097701f86f04f78c0a0ef8a6bc01fc0e
+f8a615f78d0a0efb1abc01fc0efb1a15f78d0a0ef8bbc691c601fc5bf8b715a98705
+c1b7eea8dd8bc68bcc7dc479c379c57cc18bc38bf72b98d4f6086e91055859227a49
+8b588b4b984c9f529d5499558bfb238bfb124c6d4a080ef914c501f94e04fb1c8bfb
+1e4f2dfb0e089c7905c9c9e8dbf7588bf7548bed40c848089c9d0537f70efb1ac7fb
+2a8b080efb29a901fba0fb0b156df86107797775777d6b08ae06a7aab1abb19f0896
+07599d62ba7e9b0869069968a971947f080ef8919ef7099a01fb7dadb9af03fb2df8
+df1562077c7e8986808b7d8b87958b968b96919bb39608a53d15958b958f94930886
+9605898a888a898b08868994a11fb007be6b9671746a7a75839585939592928f1e8b
+8e8b8e8a8c8a8c8b8d8b8f08948f8f9d979688631e7283056982767c8b748b749d7c
+a28b9d8b8f909d9b8d8191809c8b080ef891a1c59db19c01fbd6b2c1b503fb89f8a7
+1578789cb41feb06ac7fb3575e7164681e8b718f7a977f977f9e7fa68ba78b9d9897
+9b08809705807f7f84768b089bd71558068c9d949f9c8b089896826e1f0ef89399f7
+0399bab712fba3c767af13e8fb67f8b215f70c800713f07e85798779898b858c878c
+870813e89b89918a8b7e083d078b7e828a80888a878b858c87958c9d8c948b968b9d
+8a938a8c8f8b918a8f08818e838e8b960878f72f15979595979781957f7f81817f7f
+9581971f0ef8919bf70a9b01fb83b4cbb503fb3af92715537a5b6c68a167bebea2b1
+aea87cbb501fab3315697e7f7d757c9fb5b898969ba2976e601e0ef891a0f7049a01
+fb6ea9c9aa03fb50f924158c078b818a847e778c8b1e8b8a8b7f058a8c8a8d1e8e06
+958a8f8c8b7d084607679b7da31e9e8ba29e9394088f8a8970978b059992968e9c8d
+089a077e8f81ff000466688bff000d9998088bed8b8c058b838a867c738c8b1e8a8a
+8b7f05898d8b8c1e9106948f897f1f4207817f7681838b087f8091a71f0ef891a1f7
+069c01fb81b1c4ae03fb3af92a15606f626464a269b91fa38b9f98999efffffde666
+ff0005b334fffffc8000ff0004b334fffff8999aff00019998817f8581768b08806f
+90bbb39ea09c1f9a8bff0004b333fffff61998ff00014ccdfffff3e6688c82948494
+8b938b93918b988b95fffff8e666ff000c1998fffff3199aff0006e668fffff5cccd
+ff00058000fffff1cccdff00018000fffff166668b080ef8929cf7069bab9901fba0
+b2c6af03fb3ef8b41582818184838b08787e97bcb396989d1f998b92839481088a2b
+158d8a8a7a988b0598929b8e9d8d08899a057e8d82ff0004cccc8bff000f333408f7
+3180077e8579877989088c7d059a8893ff000199988bfffff26668086e0783937d8f
+7d8b618b77618b688bffffe94cccff00066666ffffeab334ff000c999a7fff000acc
+cdfffff5b334ff000d9999fffffc4cccff0010999a8b978b9a939594080ef89499f7
+04a3b09901fbbfafc9af03fb9bf93615a38c998b1e8e898c881e82876a867c8a087e
+078a8c8b8c1e978a05928f87731ffb0d078b7f8a8a7e8908868a05898b898a1f8007
+8ba08c989da78a8b1e96078d898c8a1e858c05818c878d8b9708d20796989697978b
+089c96876e1f4c078b7f8889808a08858a05898a898a1f80078ba18c999ca58a8b1e
+96078b8c8b8c898c08878c05808d888d8b9608cf07b17199721e778b78788382080e
+f89599f702a201fbc0afbfaebfaf03fb68f8b4158b7e848a80888a878b858c87958c
+9a8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccffffff
+cccdff0003999cffffff9999ff00036664ff0009999aff000a3334ff000c333393ff
+0009cccd8b089b90846f1f51078b80838881888a878b858c87938c9d8c968b948b9d
+8a958a8c8f8b918a8f808e828c8b9808cb07af779b731effffed4ccd8bffffeb6666
+ffffedb334fffff7b333fffff6ccccfffff9999aff0012e668fffff16666ff000899
+98ffffed999a8b788b7b7a838208898c8ca4808b057e85798779898b85ff0000999a
+fffffbccccff00016666fffffc33349b89918a8b7e0841078b7e828a80888a878b85
+8c87958c9d8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608d2079597969596
+8b089b8f846f1f0ef89399f702a601fb8baf03fb68f90e158d8a059599989a9e8b08
+9b928380808485801f838b868e888f898d878b898b878b8587827e898888868b8708
+4b078b80938895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e
+948c8b9808d9078b98858c7b8d8a8f8a8f8b919d8d9d8f98910896060ef891a0f700
+9e01fb77af03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d848b850572
+837e758a8b8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a8aff00054c
+cc888f86ff0002b33482858687828b08828995a01f0ef9169a01fbd5f73803fb94f8
+98158d8792888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b8d1f8b978a
+8c058b7a8a8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a888986086dff
+ffba80006cff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d1f8b97898c
+648a0581708c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919af70f9801fb
+cdf73b03fbcdf89c158007958c918c988b948b9a8a968a0896078d8a8d871e818bff
+fffd199aff0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b708b8b8d8790
+857f8b08868988871f8307938ca38c988b968b9b8a968a0896078d8b8d841e7f8bff
+fffacccdff0006ccccfffff83333ff000933340863baaab705969a8e8c978b08928b
+8d8e1f93077f8a828b808b818b828b818c088207888d8a8e1e928bff00063333ffff
+fe3334fffffacccdfffff8cccc0871677baa0589908894918b08908e8c8e1f94077d
+8a7a8b808b7d8b7d8b808c088207888c8a921e928b9188908408b7520589896a648b
+8b807e8789808b0887898b871f0efbe7f8aef77a01f702e703f736f994156b8bffff
+f4999affffdfccccfffff76666ffffe833340851fb350592839188968908f704f72f
+05ff0008b33397ff00054ccd988b9a8b9f779a778b080efc05fb17f77a01a3e703cb
+fb1715ab8b96ab94a308c5f735058493858e808d08fb04fb2f05827f867e8b7c8b77
+9f7c9f8b080efb7afb82b301f714d603f7144115f7890a0efb0781abf815ab01f7d3
+e603f752a115f78e0a0efb087fa8f71ef708f71fab01b2e6e6f70803f7abf72f15f7
+8f0afb29b815f7900a0efb0781abf71ff708f716ab01e8f708f702e603f72bf73515
+f78f0ab2fb1f15f78e0a0efbc5fb159df708e5f768ef12e8ef71af13f0e8f7fb1541
+0abafb9c15420a13e8430a0efbeaf9609a01f711f96f15f7910a0efb55f8a4ea8c76
+12bde9d6e91370f788f9a615f7920afb56fb671513b0a30af73d16a30a0ef71e86a2
+f778abf8107701ff01048000f7aa15480afbb8fb6515490affff92199af924157e8b
+808587800857fb23058a888a878b888b849185938b8f8b908f8e8f08e7f70e05ff00
+040002908d938b908b9f759a778b080efbc8f782f70801d0f70803f713f78215f78f
+0a0eeb86a279a5f7c2a7f79aa679a28d7712f756def763a1d7a387a3132300b8f969
+15f7920af7effc0415d10a133380d20a132740540a133340550a13ab40560a136340
+570a13a340580a137380d30a0ef77e86a2f7cba5f7a4a201f75de0f7ebde03c5f969
+15f7910af778fcfc155b0a0efb4d86a2f8f5a201f755da03b9f96915f7910af779fc
+fc155c0a0ef73481a3f900a301c5e5f84fe503cef96915f7910af7ae3015650af7e0
+fbc515f7930a0ef71286a2f8f5a201f816e003bbf96915f7910af83bfcfc15f7940a
+0ef72e8bc6f8c9ad12cda478e7f837e672a513c0c5f96915f7920af839fcf41513d8
+f7950a13e0f7960a13d8f7970a13c4f7980a0efbac81b8f80c77f71bea8c761286e9
+84d296e913d2f751f9a415f7920a13eafb56fb6715e60af73d16a30a13c639fb9e15
+f7990a0ef71e86a2f778abf8107701ff01048000f7aa15480afbb8fb6515490a0ea2
+86a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb8000f7fd154a0afb09
+f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0e3b89acf8d2b36cac12ee
+e0f7a0a813d8f721f9191513b8f79a0a13d8f79b0a13b8f79c0a13d8f79d0a0ed68b
+adf9047701f7c0f8c1158d8bf75afc9ffc278b05f793f904154d8bfb93fd12058781
+8a8b8b880885938a981ef8a4069c8f8d8f1f8b8d8a8e8894080e9186a279a5f7c2a7
+f79aa679a28d7712f5def763a1d7a387a3133380f7c4f7f915530a132740540a1333
+40550a13ab40560a136340570a13a340580a137380590a0eb08ba7f8dcac967712c2
+9ff870a013b8f8b58615710a13d8720a13b8730a13d8740a0ef73c86a2f7cba5f7a4
+a201f5e0f7ebde03f753f701155b0a0ef71a81a3f7aebbf7b6a301afe5ff00438000
+a2f797a2ff00468000e503ff01408000f7ec15368b7ba388ad8591808b85858c688f
+ffffefcccc8bffffdf33348bffffe0b33487ffffed4ccc8a6d9185968b91918db79c
+99e08b08be06e08b9b738e699185968b91918aae87ff001033348bff0020cccc8bff
+001f4ccc8fff0012b3348ca98591808b8585895f7a7d368b08ffffd38000f7b61565
+0af7e0fbc515660a0efb9686a2f8f5a201f702da03f754f701155c0a0ee086a2f7bc
+a7f7b1a201f5e103f754f701155e0a0ecb86a2f9137701f72d9d154190ffffff999a
+ff0027999aff00156666ff0036666608ff009dccccf825ff0004ccceff000cb334ff
+0008e666fffff34cccf733fc2b05ff00173334ffffc48000fffffb4cccffffe58000
+478485858b809185ba8cae8fb28bb38ba687ba8a91918a96859152907da5ffffe380
+00d408ffff3a8000f8940585ff000f999884ff00076668818b808bfffff8ccccffff
+f74cccfffffa3334fffff1b33408ffff314ccdfc9205ffffecccceffffd0b333ffff
+e8e666ffffcd4ccd498385858b809185b38ca48fa28ba28bb287ba8a91918b968591
+080ef79a86a2f8f5a201ff028b3334f215630a0ef71c86a2f8f5a201ff006a8000b4
+f82cb203ff022a8000f8a115640a0ee28bc2f785bbf78ac201b8a2ff004d8000a2f7
+c8a2ff004c8000a203f702f91915738b838c7a8e888b8a8a8b89898381338b629685
+ffffff999affffff3334ff000c6666ff0001cccca1d0919cd68b08f7c206d68b917a
+a146ff000c6668fffffe3334ffffff9998ff0000cccc96918bb681e189938b8d8a8c
+888b7a88838a738b08fd1904a38b938a9c888e8b8c8c8b8d8d9395e38bb48091ff00
+006668ff0000cccdfffff39998fffffe33337546857a408b08fbc206408b859c75d0
+fffff3999aff0001cccdff00006666ffffff333380858b6095358d838b898c8a8e8b
+9c8e938ca38b08ff00a28000f7ec15368b7ba388ad8591808b85858c688fffffefcc
+cc8bffffdf33348bffffe0b33487ffffed4ccc8a6d9185968b91918db79c99e08b08
+ef06e08b9b738e699185968b91918aae87ff001033348bff0020cccc8bff001f4ccc
+8fff0012b3348ca98591808b8585895f7a7d368b080ef71a81a3f900a301afe5f84f
+e503f7dbf90e15650af7e0fbc515660a0ef586a2f8e9a979a212f700d8f7bdd813d8
+f89df91915fc0b0613b8f79e0a13d8f79f0a13b8f7a00a0e6b86a2f7a1a37c9ff7cf
+a312f700daf77be313bcf74ff7bc1513dc670a8df7b315f7a10a13bcf7a20a0e9889
+ac6cb6f8c4b56cab12f878ac7dac1328f808f8ef15d68b9a5aa146ff000d4ccc89ff
+000b999aff00034cccff0008199aff0003b334fffffbb334ff00301998fffffbe666
+ff002fe668fffff36666c608fc098b051394268c05fffffc6666fffffa1998ff0000
+199affffebe668ff0003800085a387ff000eccccfffff56668ff00113334ffffe899
+9808f757fb9e898afb71fb9505828082848088fffffccccdfffff96666ffffff6666
+ffffec199aff0003cccdfffff980000813648bb68da71ef83606ff000f3334ff0035
+e666ff00059998ff00378000ff00053334ff0037999afffff74ccc907eff0001999a
+fffff4b334fffffe6666774371543e8b08fba98bf798f7ac8c90fb6ef7a7050eaf86
+a2f8eaa8829f12f7a0da13d0f79ef8ac15f7630a13b0f7360a13d0f7370a13b0f738
+0a13d0f73b0a0ebc86a2f8f5a201f7a6e003f7fbf70115700a0ef686a2eca2f807a2
+eaa101b8d6f743daf742d703f7bbf71e152b963cc48bf7118bf719e4b2e19108dafc
+0715f80607ed81d75d8bfb148b457d26fb347c083c741559078b6f7cfffff9b33363
+fffff84ccd0871860586ffffff999a88fffffd66668b86088b7e8d89058be790afb2
+e1868b1e8d8d8b98058b9087ff0002b33387ff00004ccd0870900561ff0007cccd7f
+ff000433338ba908bd07f73499e5f08bf08bf62edffb319608ba078ba795ff0005e6
+68b7ff0008199808a690058fff00004ccc8eff0002b3348b90088b98898c058b2f87
+6863368f8b1e898a8b7e058b868efffffd666890ffffff999808a58605b5fffff7e6
+6898fffffc19988b6d085b07fb537b50fb058b3c8b5698fb20f7817b080ef70886a2
+f8f5a201ff01268000df03ff02278000f1156f0a0ef70a86a2f781a6f7cda096a201
+e2d0f725daf724d003f7c0f79315ff0000b33406ffffff9998ffffd08000ffffff19
+9affffd7e666fffffe999affffc5999a8938fffff0800086458885858b809185b28d
+c88ea98ba98bc589b48891918b96859108458efffff180009089defffffe999aff00
+3a6666ffffff199aff0027e667ffffff9998ff002fb333ff0062e6688bff0071cccc
+ff001933348bff00c0cccc8be6aea1a492ff0007e668ff00023334ff00061998ff00
+01cccc8b920895818d7f1e6e0655654e3dfb17ffffc5199a4b361fffffffe666ff00
+0be6668bff000c80008bff000d999a8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d388d388c5a8b388bfffff2199a8bfffff3199affff
+ffe666fffff3cccc08ffffff199a06473fbff718ed5fbf5a1f6c0680828a801f8b86
+90899389a185b3648b2708fb42f70a76ea1e0ef71c8bc6f8c9ad12b7a478e7f837e6
+72a513d8f85df70915f7950a13e0f7a30a13d8f7970a13c4f7980a0efb9686a2f8f5
+a2c6eb01ff00096666ebff0004999adaff00096666eb03ff00c66666f98915c30afb
+5116c30aff00b6999afd1c155c0a0ebc86a2f8f5a2c6eb12ff00b53333ff00600001
+fffffccccce0ff000b3334eb13e4ff01723334f98915c20a13f4ffff42ffff16ffff
+ffffff71a175a58b08a5ff00160001a1a5a5ffffe9ffffa1711f717575711f13ecff
+00b1cccdfd1c15f7410a0e9081c650acf800ab12abdc1330f7aef93e15f7920af700
+fc8815f7a40a1370f7a50a13b0f7a60a4ee0157b64051370f7a70a0efb3881b0f744
+a5f73ba212b5d058c913e0f784f93c15f7920a13f0fb15fcc915f7a80a13e8f7a90a
+13f0f7aa0a0e669676f80fbd619c12e6d2f74cd21398f7def93d15f7920afb3afbed
+15f7ab0a13b8f7ac0a13d8f7ad0a0efbac81b8f80c7701ddd203f733f93f15f7910a
+3efc0c15f7990a0e4481b1f7ef9ea777f710ea8c7612e3d663e9d6e98cb213e980f7
+d1f9a415f7920a13f380fb56fb6715e60af73d16a30a13e580fb15fb9e15f7ae0a0e
+9081c650acf800ab12abdc1370f81af74a15f7af0a13b0f7a60a4ee0157b64051370
+f7a70a0e5ffb6d76f778a2f7f9c5f78ba212d9d2f760d369db13faf7294e15ff0054
+b33307ff001dcccdffffe77fffff00286666fffff6cccdff0038cccd8bf7068bdcf0
+8bf7058bff008ee666ffff94999aff00268000ffffd16666ff000f999a088d0713fc
+cfa2b3c48bd48be942bb358bffffd54ccdff00008000ffffd1e666fffff24cccffff
+e24ccdffffea3334ffffca8000637bffffb366688bffff9e999808fc5f078bfb1080
+577e69089279daaa0593b38cba8bc608ff008ccccd04ff019a333407f72bcfadb2c1
+b651441e8b617144637c6f957a8b7c8b087c7d837a749e819e1f9c8b968e9f950813
+fad476ad338b418b4960fb0d3d8bffffbfb3338bffffd9b333ff0024999affffed99
+9aff001e3333080e53fb74b0f8b4a901f74ab1b4bd03f7856f15995591668b710872
+857a7e7d83a6b11e8ba193ac98b208502615639d54b6c397bbc81e8ba381c87ccb89
+9589948995949e939f959e08f2f75805a0b299a7a6ab08878d057584808b7e8b838b
+688c818f887180647f6b71457040724d6cf061ef62eb87938790828b0874815b7e5b
+7f87818d8192819b8b948c958b9b8b9b8c996cb434c1fb07aa2708714f057f6d8469
+8b6c080e4581a2f920ac12b0d77fbef778d713e8ff00ef3333ff01a7800015ffffaa
+ffff65ffff8acccdffffb480008bfb0908fb03d92ff710f5f703d2f7371e8bb17fb4
+74b376aeffffe14cccff001f6666ffffd9b334ff001d999a0844c20513d8ffffb3b3
+33ff003b1998ffffe04ccdff001de6688baa8ba598a4be8ba58ba97ba4679f6ea47c
+a48b998ba9928ba88b9d5ca26d9a08699b5ba05f8b4f8b5c678b4d8b57ff0022999a
+ffffd9b334ff00516666ffffbc4ccc08ff00333334ffffd6800015ff0018ccccffff
+ec800005ff0033e666ffffd7199aff0023199affffb3e6668b5708fb373c67581e13
+e82e5ff709dc1f8beeff004e3333ff00348000ff004d0001b1080efb3881b0f744a5
+f73ba212b5d058c913f0f703f70715f7a80a13e8f7a90a13f0f7aa0a0efb0cfb79b4
+f975acf7087701b5d7f791b103f798fb7915f1bae0c31f8bdfffffd4ccccff003733
+33ffffa73334ff0005cccdfb1d9475c98bd58bd5aef70cf720f747d5a4b69c8ba48b
+9d809a718b738b686e6461086c7e6882748b6f8b62ab8bcb8b928b928c9108820674
+817d8577739847bb62c58b9f8bab93a394fb1dfb2d47fb128b2b0824b92df75dcf99
+60634f6b64661e7b8b758c819780997697718b087b78807572b375c61f0e669676f8
+0fbd619c12e6d2f74cd213b8f738f7e415f7b00a13d8f7ad0a0e4381a3f7cbaff7cd
+a301b5d1f79ed103f80ef7fd15fb9e068cf715b8f74cdf8bd58bc8fb318cfb300867
+048afb2556fb3a3e8b3e8b52f73b8af72408459e15fba4f70639e1dbf712dbf7a6f7
+9dfb0ce43b29fb00fb06fb841e0efbac81b8f80c7701ddd203ddf7c715f7990a0e4b
+81b566a2f750a7f717c15f9d12f2d413b4f744f70115ffffff6666ff0019cccd8aff
+00291999ffffffb334ff001e199aa18bff000ae6667c967808d1fb0405ac569c7aa2
+8baf8ba39aaab388938a8b818e7d7a82847e8b768b7fa46eb80846f70305839681ff
+0012b3338bff00064ccd8b908b8f8e8f08adb405afb99b9b998b918b938992849483
+95859b8b089d9b9b9bac78976d1f608b6a6d493908675e0579757d857e8bff000019
+9aff00198000ff00009999ff001a4cccff00014ccdff00198000ff00028000ff0031
+999aff00038000ff0036199a8b8b8b8f868e838b08136cffffe3800080ffffdc8000
+82468289858d858d85ff00368000fffffae666ff00088000fffffb199a8d518c6d8c
+ffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd800038fffff7
+8000884e860885858b809185b58cff001866668fff002a999a8bff002266668bff00
+1d999a87a38a91918b96859108628f828e89df080e6d81c5f8e4c501f888c9158894
+868f808d77727887778b6c8b81ff001e4ccd65ff007db33308fb04f807056af70555
+956e8b668b6c6d72678d7f938992899e99a395a38ba68bb177b2fb1808a142fb67fc
+33a38005a191a28ea58d08f71df7eecffb7605a632a162bb8ba78bb0ae9cb0080e44
+81b6f80e7701bfd1f752d103f7cac4158d068e709763c28b08baafb190928493871f
+858b897b748b086687b2b71ff76807aa8dc88b1e7d857f87798b7f8b7b8c858c916c
+8b5d8b7008fb6707766c596b578b08587bbac91ff74d07aa89c88b1e7d857d87798b
+7f8b7c8c858c956c8c5d8b7008fb5c078b798e748b818b77887a8b718bfb0a89567f
+6b08967ad1a8058f9f8da38ba38bbe83c38b9d8b8f8c8d8b8c9684a4869c8bc58bb6
+a4b1b5080e2af8079cad7701f7f9ca03ecf7d915f5fbe1059487958b948ff717f748
+c5f7128bd208a67ea56e6d82747b1e8b5a9d8d8b4c8b6b755b46248582fffff24ccd
+fffffacccdfffffab333ff001233330830f7cf058895888e858b6e7f6982527e8983
+8c8a8f8308ae8905a18a957c946f080efb1bfb78b3f74acdf799cb50a8f762a9f677
+12b2cd73ccf775a813dd80f761f8cc155b683f528b548b56a67ab97c0813de803463
+6f488b500837b62ff744ccbb7559536955681e778b778e799477947a93788b08767c
+80796aae84b5f5ccd5d7e74bb935fb076dcac31f8bd1b2baaf9da592a790ab8b0813
+ed80998b9c869a8b08a4a197a69c7e937a1f13dd806d8b6a6d558b6d8b67a48bc28b
+b2bdbfccc0c89ebe9d8ba48b9d8396788b738b6c75565f086c7e7b8b748b708b66a2
+8bcb0813de808b928c928b9108820674817c777f759848af79c58b089f8b958ca191
+080e3c81a2f813a201b3d7f78ed703b3f757158d0af750f75d158e0a0e9081d442c0
+f7c2cb12a2a2f70bb2f70ac113bcf88ff82d15fbf406318b694083528c839787958f
+9cc1a5a1bb8b08a7068bfb985c7f638172857d7a8b7a08749b81a0e9adf710f77b1e
+f70e0688fb028a2f8b5408137c429872c81eb88bbdbaa1a98895868f818c67676588
+7f8b758b809d8bb38bf7188bd98ead08bd06b48baa9e9bad080e6681a5f809a901d5
+d0f792cd03f71bfb5a15f7b10af7e3f82b15f7b20a0efb0cfb72b2f741d7f7c7bc01
+aab7f7b2a503aaf747158b30c12ef686f486cb7c8b548b46556e758b7c8b778c8196
+81987697728b087c79807673b177c3e0c4cfd21f8bb68ab26bab799d699c688b08fb
+1249a1f703d4c7f0e11fb28b9e76997d997d9c819b8b08a69ba3a4a56cac2cfb2c41
+fb22261f0e94fffff68000ff00188000ff01498000ff0040e66601ff00264cccff00
+493333f795ff0049333403ff01ca199aff0158800015ff00234ccc8bff000f4cceff
+0015199aff00113334ff0020666608fffff58000ff000b6666ffff19fffe8b05ffff
+a933348bffffbc1999ffffe54cceffffde999affffde9998ffffd7e666ffffd7e668
+ffffed1999ffffc7b3328bffffc5cccd08ffff87b333ff00510001ffffac199aff00
+82cccdff0097ccccff0027ccceff00774ccdff003666661e8bff0054e667ffffc7e6
+66ff0041ccccffffc6b332ff001d999a08ffffb86668fffeb6800015ffff9db332ff
+ffd1199aff00638000ff0040e666ff005ab334b9ff004a6666ff007b199a1fff0036
+6666ffffd04cccff00218000ffffd500018bffffa9333308ffffa64ccdffffcd4ccc
+ffffc1b333ffffc2e6681e0efb0c81bef7c4cb01a5a1f704c803f727f82d15328b72
+3b84588f859389958ba1c5969cba8b08c0067f2482fb018b578b45a776bf8bb58bb2
+afabb588948490838e64636f877b8b778b809e8bb6088bbf91e095f408ec06b28ba1
+a09cab088196050e4481b1f7ef9ea77701e3d6f774b203f737f7c715f7ae0a0ebb83
+a7f808a601b3d0f727c2f730d103f867f764158b2c4f3b2b7f08f79007eba4a2afc5
+b035291efb2ffb6c15ca91f736b58bf74e8bec53ebfb018b728b7084767767668466
+8b4508fb7807fb019565e48bee8becb7b9b9af8a958591818d536e35418b228bfb0d
+d236f725828b3a8c49956308cd6b979c0575ac80be8bf70a080e53fb71c3f8a4c301
+f73af78715b8fb1afb51fbc8887ca48abe82c2f3daf742b02405b9fb129f5dcb8b9a
+8b9d929a999797959b939c89938592818c7f7d797f7a8b658b809265f7030850f73f
+f71bf755d1f1058b5d857484788e8b1efb10fb8d6fdd0567f668ca4c8b6c8b746e74
+6c8d7f918892899a9a9e91958bb88ba16da931080ece81abf7eca0a97612f7c2bb5e
+af13e8f86cf7b6157c3a057722724e497688ad89c58bc68bf7028cf70895d8089cf7
+2905858973847c8b7c8b828b858c92fb3c8ffb2b8bfb168b688b4d895a2d9575eb83
+f7170882f72a058a95898e818b72815d7f517e88818b8a918108ad069a8ba1868d6b
+08913d0513f0ff000ae666ffff72199aff001f199affff8be666f72a88872679487f
+6b08967acaa80593b18baa8bc38b998aac899be99dc4dc99d508a7f72e0594b994a0
+9ba6088892057584838b7e8b838b798c818f0888718148846a080eec81aff8207701
+aed4f740cbf744d403f8e5f74815f7b30a0efbac81b8f80c77f71eea1283e987d293
+e913f483f8d415e60af73d16a30a13ec3cfba115f7990a0e4481b1f7ef9ea777f711
+ea12e3d65ae9d6e995b213f7f706f8d215e60af73d16a30a13fbfb0cfb9f15f7ae0a
+0e3c81a2f813a201b3d7f78ed703f7a3f93e15f7910afb7bfc7b158d0af750f75d15
+8e0a0e4481b1f7ef9ea77701e3d6f774b203f7baf93e15f7910afb17fc0b15f7ae0a
+0eec81aff8207701aed4f740cbf744d403f80bf94015f7910af76efc8c15f7b30a0e
+577fadf916ad12b2dbf796ce52d913f0f80df8e1158b594e563f635f7565756977a1
+f70cbbf736f70f8b08ada56e5d1f5ef70115fb48fb05fb76fb54fb2ecefb1ef7281f
+13e8f713dfeef7161f8bf70147f0fb06920813f0e9b9cebe8bd208c65db0491efb69
+fc45158bab8bac8e9bc1b1b89caa8b0813e8d0cd4dfb07255c273c4444e9f7291f0e
+7d7faaf7f8b2f78ead12e2d14bd6f777d513f4f81ff83215228b58a071a161ae7db5
+8baa08d1aea8ca1ebbe741fb441f13ecfbc2fb9a15fb05bf58f705f729c9f73af771
+1ea08b9b8496849197909c97977b94778e688b08f71744f72dfb3a1e13f43f465946
+1f8b4f9b64b860b760cd78f71d8b08fb0772fb852a1e13ec4964b2ea1ff7397c0784
+8b848881877a826f7f4f8208906e059c8e978d988b08989484651f0e8286a2f8efb0
+01f77dda03f7ccf70415f7b40a0ee886a2f8efb001f7e3da03c0f96815f7910af7fd
+fcf815f7b40a0e8286a2f8efb0c0eb12f71feb89da9beb13e4f7dcf98b15c20a13f4
+fb5116c20a13ecf741fd1b15f76f07f724d2f728c61e9d8b957d927891789c81988b
+08a0999d9fae6ba35a1ffb0c8b5dfb48825008820680f71253f705218b618b637874
+6eff0002b333fffff88000ff00064ccdfffffb199893fffffc6668a19d9b94b28ba8
+8bab75a952a45a9d2e8b2708fb50078b387a833b8885858b809185bc8cff00228000
+8fff003580008bff0035199a8bff0020e66687bd8a91918b968591083b8e7a938bde
+080e9dfffff68000ff001ce666ff01734cceff001bb332ff00f0999a7701acd3f730
+abf730d203f7bbfb5a15ff000b4cccff00353333fffffe8000ff00423333fffffc4c
+ceff0045cccdff00a48000ff000db333ff00366666ff007dcccd8bff00504ccd8bf7
+18ffffaae666ff0045ccccfb1dff0005ccceff0001ccceff00268000ff00024cccff
+002266668eff00198000089df7295e826c8d05ff0003b333ffffb23334ff00034ccd
+fffface666ff00026666ffffb04cccffff64199afffff7999affffbc8000ffff9f80
+008bffff8b80008bfb0ee4ffffb28000ff0081800084fffff9e666ffffb13333ffff
+f66667ffffac999afffff13333ffffd9b33308967a05ff0043999aff00f5b3331588
+ff00336666fffffc6666ff0034b3338bff003233338bff0040999a8cff0050b332ff
+0002b334ff00474cceff00714cccfffff3e666b2ffffa5b3348bffffa5cccc8bffff
+b4e666ffffea4cccffffa1cccdffff804cce8208ffffd5999af80815ff00026666ff
+ffadb332ff00016666ffffb266678bffffc133338b8bfffffe3334ffffbb999affff
+fa7fffffffafccccfb00ff000c999affffd74ccdff005d199a8bff0050e6668bff00
+45ccccff00176666ff006c3334ff0080ccceff0006b334080ef71780abf810ba01ae
+d6f74fccf754d503f8bef76315fb1c6e593e1e568b6ab073ce9aae94c08ba208a287
+977173806a6d1e8b788d67976c6e47706a628b438b6bbb8bf68bf715d3b7aa9b087e
+9e0534633d3c8b2b8bfb1dd960e18bc18bb3a7aad3a840c072bc8b08f709c3f716eb
+f70cfb04f705fb361ffb6e8b8080059c6b9c87ae8b08f72006f6f70554fb1f1f0e4c
+fb44acff00838000ff0032999aff01466666ff00384ccc01ff007fe666b5ff00764c
+ceb503f857df15fffffd8000fffffc199a05ffffda6666ffffdab334ffffe54cceff
+fffc4ccefffff033328b778bffffedccceff002180008bff001c99998bff00338000
+ff0003ccccff00374ccdff000a8000ff00394cccff0046999ac9a1ff001e999a8bff
+001bb3348bff0018ccccfffff86666ff000b6666ffffe633348bffffe44ccc8bffff
+ddb334ffffd7199a75ffffbe199a08ffffcf4ccc4dffffd8e666ffffd3199affffb8
+6667ffffbe1999ff00079999ff003566678dcd8bff002066668bdeffffe63334ff00
+2cccccffffd419998bffffdcb3338bffffe73334ffffdf999affffeeccccffffe44c
+ce08ff00103333ffffeecccc05ff000f4cccff000f4cccff00113334ff0005b334ff
+000a80008bff0017e6668bff0015e666ffffdf999a8bffffd8e6668bffffd5199aff
+fffd3334ffffa54cccfffff29999ffffc2e667ffffd4199affffe18000ffffe81999
+ffffedcccd8bffffe733338bffffece666ff00098000ffffedcccdff001bb3348bff
+0017e6668bff00243333ff0027199aff000f4ccdff00394ccc08ff0091199af72805
+fffff94cccffffcf4ccdfffff94cceffffd133338bffffc5cccd8bffffd51999ff00
+0f4cccffffd03334ff003480008b998bff000d999aff0003e666ff000d3332ff0006
+cccd08fffff13334ffffe8cccd054b277778748b738b808b81987da08196718b7c8b
+837d8b818b80937e96839f80ad80aa8b08bd8ba8abb3cb08e5f726050ef71afb1ef7
+2cffffebb333ff00144ccdf900a312afe5f74dff0056e666ff00ab199ae513bcf7db
+f90e15db0af7e0fbc515f763fb20f70efb471effff9cb3338bffffac6667ffffd133
+34ffffc93333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffff
+a8cccc8bffff48b333ff00793333ffff88cccdff0099cccdfffff04ccdfffffeb334
+ffffcf800088ffffd33333fffffaccccffffdb8000088c88058b9c8eaead9c888b1e
+8d8e05137cfffffab334ff0026e66688ff002c6667fffffeb332ff00306666ff0056
+4cceff000c999ad0ff002c1999b9ff0041999aff0027ccccff0038b3339fff00484c
+cd8bdf080e3cfb10f71df813a201b3d7ff0064cccdff004b9999ff0049999ad703b3
+f757158bffffa4b333ff0039800026ff00774ccdfffff46667fffffee666ffffd266
+66fffffde667ffffdd4ccdfffffa6666ffffdd3333088c88058b968eaead96888b1e
+8d8e05fffffa999aff0026999afffffd199aff00238000fffffeb332ff002de666ff
+0023e666ff0008999aff001ce668ff00114cccff0016ccccff0016199ab6b59ec78b
+c58bee55f708fb268b4c8b58716862686279538b4f08f750f75d158e0a0e57fb50c1
+f940e03edd129bb9f802b613b89bf803158b4e97fb09ca49f709fb0ef770f7098bfb
+268b4c4d604f8b5a8b5cb15a8b087872847167a374e6f710f707cbf7121f8ba087a2
+84a383a480957c993cd6fb2e433be465b57ecc8bc08bc19ec8acaca8a6a697be8b08
+13d8af8bb183b18bdf8b98b898c2087e9505807d75806f8b0813b8548b5290638b08
+fb3563fb3f251f0efb2bfb6fb3f741d4f7b2c7947712acb5f799ab13ecf7468515f3
+c17754465b6e751f7c8b768c819681987797728b087c79807673b176c3e0c4d0d21f
+8bb68aae6bab799d699d688b0860fb168cf723e5bfbfe71fa78b9185a08bc08ba0a0
+9ab80813dc7d940581807b897a8b0813ec628b898f628b6d8b5d7f6973506177358b
+4408fb26df65c81e0e5689a8f7c6b8f774b670a712eddcf760a4d3a813eef884f919
+15fc038b0513de238c89898b78058b878efffffd4ccc90ffffffb33408a98905ff00
+1eb33389ff00064ccd858b6708fc87078b6efffffde666fffff34ccdffffdd199aff
+fffdb333086d890586ffffffb33388fffffd4ccd8b87088b778d89058bff00444ccd
+8dff002bb333ff002ce666ff0046199a898b1e8c8d8b9f058b9186ff0000cccd88ff
+00003333086d8d05ffffe24ccd8dfffff9b333918baf08f798f73307a99a846d1f4c
+a4f72207808c638d788b08fb330613eef774f76b07b58baf23935f08a8060efb09f7
+03cef747d901c1acf7cb9603f82df8511580910581787888738b608b60915f8b08fb
+0f65fb0d261ffbfc078b788b64997d91859488958b978b928f929194958f978ba58b
+c95edd8bbc8bb8a0b6bd8b08a68ba685a68bbd8baeb297c1088090057e7b7482778b
+0824065d8b6e687e6493f70595f720f7108b08e606c28ba5ae9cc0080e73fb26b4f8
+1cbbf81bb412f76ac481c313f0f7b9fb2615b38bb19da29708849e0578857b897d8b
+768b5d918bac8b978f9a969f08f75ff7f6fbf88bf734f7a90513e89ca892a48ba18b
+bc64a9628b628b6378787f089279059d919b8d998ba98bb2828b688b7c8778827a08
+fb5bfbecf7f88bfb38fbb30513f07a6e81758b760861af6bb61e0e73f7b3bb01f861
+f7b315a7bbfbf88bf755f7e3548cfb56fbe46f5bf7f88bfb66fbfec389050ef785f9
+1bbe01f778c6dbd2f75ef403f8b6fb0b158ac7678b1ee0edc1f7298bf7178bf72661
+f52ceb33e63db0fb198bfb088b2a63353408bd6905b2bbccafcb9c08fbbfc6f7c899
+07df8bcd72cb4baf66a5659e626281576e6c756c756c687c647756834a8b4108d206
+8bc190d093b194bcb2ada4a19493be9caa949e4e91488b408bfb2a66305247080e49
+f8a39a01f82fb303f79df84815fb1624ab66f719f4059e769c75997608fb1823ab66
+f710ed059e629d508b498b6686668165089c06a4c998c88bc78bf762fb32f71efb76
+8b838b818b838a08857c05f70983d658b16b080e4c7fc0f7eac601f71ab7f710b703
+f7c2de155e9b59c21eb78bb4b0adb708789d0562616e877a8b768b78ae8ba98bc18f
+c596c7d5cca2ab8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad
+8be270ba5d8b668b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b
+5d6b72788b718b779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080e2cfb
+6a76adcff70dadf816ad12add2f78dda4ba113fcf845f76a15f71c37e7fb15302c48
+fb64fba6ba2df73e1e13fae08ba47c937808a1920583b470c12c8bfb2d8b74c67ef7
+24088f8d05b356b16cd98b08f713d5f717ea1ffb5ffb54155b3eaff726f732d0b9bd
+1f13fce8b0fb0842fb255457461f0efb087fa8f81dab01b2e603f716f75c15f7900a
+0efbc2fb87adf8dc9da877f725ef12eeefffffaccccdff0049b33313f8eef8eb1584
+0a99fbb81513f4860a0ef71a81a3f7b4b2f7b9a301ff0024199aff005a999aff01ba
+4ccce503f927f7dd15f763fb20f70efb471effff9cb3338bffffac6667ffffd13334
+ffffc93333ffffb4ccccffffd966665675ffffbcccccfffffb4ccdffffb5333408ff
+ffa0800064ff005e999a06ff0003b332ffff3fb333ff008a8001ffff884ccdff00a7
+b3338bff006ecccc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027cccc
+ff0038b3339fff00484ccd8bdf08fffdebb3347015ff0130ccccb2fffeceb33406ff
+0004ccccff00c84cccf6ff005cb334e48b08f718f702fb0efb5efb4732fb09fb061f
+ffff8b66668bfb05ff006e999afffff64ccdff00b16666080efb207fb7f73fb2f730
+b701b0d903f707f7861593f72ae891ac8b9d8bba89b76c089ba00567b15f9d568b08
+3dfb1248fb38fb08ce20f71b1fe58bb8c19aa1087a9d056f6f67755e8b328b58d283
+ef08f7320695988f941f9f078f888d871e0efb207fb7f73fb2f730b701f7cbd903f7
+c7f78615fb2d067a857f831f7d07878c8a901ef74206fb3a27865f1e618b70966ca1
+087c7605a56db771ca8b08d7f714bcf74af70745f700fb191f318b5f557c74089c7a
+05a3a2afa6bb8be48bbb3e933c080e6afb6d76f776a9f816b1f7947701ded5f791e1
+03f728fb631593a58cb78bbb08ee07aa7da783b58b08f71bf2eef72ef70636e2fb0d
+1f638b577f626c08d3078bf71096be98ad08809d3f690581618a498b3608fc6d078b
+fb10804f7e6808967a05f7e8f84915fb005442381e6e8b74966aa586837c75818808
+f76507f726c4a6bedbcc5cfb321e0eb181b7f8ddb201b2e403f8ccf70d15f7b50a0e
+ab9c7601c9aef7f3d003f85416967fc59d8bf83d75963b80fb12fbe9fb1cf7e96496
+57808bfd269485a5918bf8e38d8cf729fbfb05ff0002cccdfffff94ccdff00043333
+fffffcb3338f8b918bff00184cccff00033333ff0002b334ff0006cccd08f72ef81c
+8d8a050eb181b8f8e1ad01f86be503ddf8af15f7b60a0eb181b7f77ff708f77eb201
+b2e4f73df70803f7f7f7a115f78f0af769fb2815f7b50a0eb181b8f779f708f788ad
+01f738f708f753e503f772f79c15f78f0afb20f7a715f7b60a0e9186a279a5f7c2a7
+f79aa679a28d77e27612f0def763a1d7a387a3132380ff000c6666f9c615ffffddcc
+cdfffff46668ffffe88001fffff04cccffffedb332ffffee4ccc08f72e4c05a08299
+88938b938b92928b938b928791809308ff00a5999afc0d15d10a1333c0d20a1327a0
+540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0e9186a279a5f7
+c2a7f79aa679a28d77d8eb12f0deffffd86666ebe8ebffffd9999aa1d7a387a31322
+40ff014d6666f98915c20a132280fb5116c20aff009a999afc2415fb098a05133310
+d60a132728540a133328550a13ab28560a136328570a13a328580a137330d30a0ef7
+41fb2cd3d6a2f802c2f745a896771285a3f785daf770a3b1cf13e780f7e7f7f71566
+07c6c3ff0048800095ff002180008ba78b9e849dffffef8000ff002f8000ffffd466
+66ff00038000ffff9e999a8bffffb280008b648cfb4b5a8b7f8b7f90828f81907f8e
+7e8b08777a777571a976b01fa18ba4979d9dbdbcb2f58bf71b8bff005cb334fffff1
+6668ff00618000ffffd39998ff002e4cccffffebb334ff0015199affffe2ccccff00
+0d6666ffffd980008b08ffffc380008b4777ffffb680004b0839f74915f7390a13f7
+80f73a0a13ef80f7360a13f780f7370a13ef80f7380a13f780f7b70a0e3b89acf8d2
+b36cacd37612eee0f7a0a8139cf7edf9c815bd0a13dcfb60fb431513bcf79a0a13dc
+f79b0a13bcf79c0a13dcf79d0a0ec681aef79ebd79c3f786b012b0e2f7fde666a913
+bcb0f7d915fb4deefb2af76becf714c7d59f82a0721e6e8b7c6e7e667d6363693f8b
+fb288b43f70a81f732ac9aa892b18b0813daf7b80a13ba508b60b14c8b7e8b497f4e
+69088a8c05f769f707d5da1ef71e8bc43aa53508a98f0581bf83bc87c1528e63b5fb
+138b08fb3afb0cfb10fb651f0e3f81a5f8fea312a6ff00168000ff00018000ff0045
+6666ff00f1999add55ff0016800013f8ff018ab334f90b15f7610a13f4f7620a0efb
+9686a2f8f5a201f702da03f754f701155c0a0efb9686a2f8f5a2c6eb01ff00096666
+ebff0004999adaff00096666eb03ff00c66666f98915c30afb5116c30aff00b6999a
+fd1c155c0a0efb45fffff8b333ff00284cccf8d9ac01f766e003f7bbf89f158bde9c
+90c78e91918ba085915a8a738a5c8b558b688c598c85858b769185db889c868b3808
+fbd407fb355a826a1e7d8bfffff94ccd9ffffff8b33395fffff64ccdff000d3333ff
+fff4b333ff000dcccd6c8b087d737d75ffffce8000ff0056e666fffff43333ff0019
+b3341fff001b19998bff0020e66793ff00206666ff00174ccdff0030199aff0022b3
+33ff001fe666ff00424ccd8bef080ef7dc7fc759a9f7c5b3f788a712f76db7f744e0
+f78ae4137ef89ef7e115e206f715a9314f4d682efb2c55869dac1ff850048bde9c90
+d18e91918ba085915a8a3a8a8b8b08fb81064a668c8b1f8a8a8b7a058b838e8a9d8a
+be88917b8b278bfb5f78fb0c784d0813be7f627972768b7f8b808e83a2859d7e9a71
+8b087078776b56c27db01fc58bafafa0bfb0e796f7568bf73808d6919bb61ed606b6
+94786e1ffc85078b6ffffff14cccfffff4199affffd7b334fffffce6660871890586
+ffffff999a88fffffd66668b86088b7805137e8d89058bf48da71ea88baa89af8b08
+f70df7319df73be46ef0fb8a1f4f060ef7fe89a9f7ceb1f782a701f5dcf7b0dbf78a
+e503f8bbf80f15f755078ba7ff000f666898ff002799988e08a58d0590ff00006668
+8eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b78058b868ffffffd
+666890ffffff999808a58905ff0029999afffffcccccff000d6666fffff533348b6d
+08fb54fbb0f754078ba7ff000b6666ff000c9998ff002b999aff0003666808a58d05
+90ff000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b7805
+8b868ffffffd4ccc8fffffffb33408a68905ff0021b333fffffd8000ff00144ccdff
+fff480008b6d08fc86078b6ffffff1999afffff1e666ffffd86666fffffd199a0870
+890587ffffffb33388fffffd4ccd8b86088b788d89058be88daeb3e1898b1e8d8d8b
+9e058b9087ff0002b33387ff00004ccd08718d05ffffd866668efffff0999a968baa
+08f7a0f7b0fba0078b6ffffff4999afffff26666ffffd46666fffffc999a08718905
+86ffffff999a88fffffd66668b86088b788d89058bef8da81ea88baa89af8b08f70d
+f7319df73be46df6fb891f4e6415e306f714a92a4f4d692efb2c54869dac1f0ef74c
+86a277a8f802baf744a896771285a3f785daf770a38cd6136780f7e9f7f9156607c6
+c3bf9ca88b08b9c3653a1ffb5c078b6efffff76668fffff3999affffdd9998fffffc
+66660878890586ffffff800088fffffd80008b86088b788d89058bcf8dafb2cf898b
+1e8d8d8b9e058b9087ff0002666686ff0000999a08798d05ffffe29998ff00034ccc
+fffff26668ff000cb3348ba808f76407f24ec2431e648b3d7b48480837f74715ff00
+024cccffffadb334ffffffb334ffffce4ccc8b388b388b5d89380813b78089387186
+458885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87
+bd8a91918b968591458e719089de0889ff005280008bff002d80008bde8bdeffffff
+4cccff00304cccff0002b334ff0054b3348dcb949baf8b08ab06d68bba679c3e968b
+8f8c948f84b986c18ab808132f80f7360a133780f7370a132f80f7380a13b780f7b7
+0a0eb886a2f7caabf77ac873a2d07612f702da13ccf83ff9c815bd0afb7ffd5b1589
+ff005280008aff002d80008bde089307f70686a06bb227b6fb02afffffb6cccdd9ff
+fff73333ff000ee668fffffe4ccdff001f4cccfffffdb333ff001bcccc8b91918b96
+85916cff00078000fffff266689472abffffe57ffeff0021999affffe23334ff0037
+b333ffffe1e666ff004e33330870d165b7468b088a8e05d7a7a0e296c90813ec90a8
+92aca98b988b9386968095819986988b08a0a296a8a279a8561fffffbc33348bffff
+dacccc53814d8253ffffeb8000ffffb98000ffffcc8000ffffe28000ffffe7e666ff
+fff23334ffffce3334fffffdcccc678aff00003333ff003cccccff00009999ff002d
+999aff0002199aff0045999a0813dcf7b90a0ef72986a2f8f5a2d07601f702daf7dc
+da03f7bff9c615da0af747fd0515f7ba0a0eac75c9f8dca2bdaa01f74fd1f703d003
+f7ccf96c15f7bb0affff338000fb6115f7bc0a0ef71f89a870b2f8d7a712f5e0f722
+aef722e0141c137cf8e7f8d0158ba7ff000f666898ff002699988e08a58d0590ff00
+0066688eff000299988b90088b9e898c058b2a8a6764348c8b1e8a8a8b78058b868e
+fffffd666890ffffff999808a58905ff0026999a88ff00106666808b6d08fc7d0769
+85816d1efb8a066e839fa31ff87d078ba7ff000d6666ff000cccccff0029999aff00
+03333408a58d0590ff000066688eff000299988b90088b9e898c058b2e8a6764308c
+8b1e898a8b78058b868ffffffd4ccc8fffffffb33408a68905ff0029999afffffce6
+68ff000c6666fffff519988b6d08fc89078b65fffffa6666fffffe199affffe1999a
+fffffde6660813bc6e890585ffffff999a88fffffc66668b8608137c8b790513bc8d
+8905137c8be48da91ef70f06a98b9e63932608ae0693ef9bb4ac8b08f7130613bca9
+e1898b1f137c8c8d8b9f0513bc8b8f88ff0002cccd88ff00003333086c8d05ffffe0
+99988dfffffa66688e8bb0080ef71e86a2f778abf8107701ff01048000f7aa15480a
+fbb8fb6515490a0ea189acf7c2b3f77cb36cac12f1e0f798e542ae13ccf74ff7e115
+ec06f71ba729524d6c36fb31507e99af1f613a15ac8baa89b88bdc8bcd90c4b1ff00
+298000ff001b999aff00258000ff003699998bff0040cccd08d766f701fb601efb01
+f75d0613eaa39792a31ef71106d48ba157a037ff000d8000fffffe8000ff000d4ccc
+ff00013334ff00083334ff00054cccfffffe6666ff00369998fffffaccceff003866
+68fffff3ccccc70813dc898d0513ec8b3a89771efb7d0613dc598b6e8c598c85858b
+769185d1889c868b3808fc25078b387a86458885858b769185bc8ca98cbe8b080ea2
+86a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb8000f7fd154a0afb09
+f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0e3b89acf8d2b36cac12ee
+e0f7a0a813d8f721f9191513b8f79a0a13d8f79b0a13b8f79c0a13d8f79d0a0eed8b
+b2f8cab370a812ada6f827e0bda613bcf704ba15fffff18000fffff180007bfffffd
+8000ffffec800088fffff6199afffffe8000fffff58000fffffa8000ffffff66667f
+0884fb28a68a0596bfa5e4de8b08f7b606db8baf369753088b8b8ca61e84f72805ff
+ffff666897fffff84cccff00034ccdffffea4cccff0003b333ffffee80008effffe9
+8000968bb008f87b078bafff0004ccccff000cccccff00203334ff0002333408a88d
+058fff00004ccc8fff0001b3348b910813dc8b9e0513bc898d0513dc8b3c896d1efb
+990613bc6d458d8b1f13dc89898b760513bc878e89901ea98805a5fffffd666894ff
+fff599988b768b4c7f2475fb06086bfb30ffffee199affffb8199affffe5e666ffff
+e5e6660813dcf7cff8c215aa91836c1ffc7b07667f88731efb6f067d7e90971f8ba0
+a4eea1f70997cf9bf393f08da49599a68b080e9186a279a5f7c2a7f79aa679a28d77
+12f5def763a1d7a387a3133380f7c4f7f915530a132740540a133340550a13ab4056
+0a136340570a13a340580a137380590a0ef7c289a8f7bdb5f774c86aa812f819e013
+e891168b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f806188087089
+05878888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e871e
+718d05638e7c948ba908f79107f48b9d6aaf27b4fb02ad3ad58a08d58a8c8d8b9e05
+90898e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7a0e195c990a891ac
+a78b978b9386958094819886978b089fa096a8a27aa8591f408b7153824d83537d4b
+546b757d618a698b08f764078ba79a96b38e0813d8f7bd0a13e8f7be0a0e9c7faff7
+b9bcf70b76f734ad12cfa9f7d7e34be713fab7f70715f7bf0a13fcf7c00a13faf7c1
+0a0ef72986a2f8f5a201f702daf7dcda03f8ebf70115f7ba0a0ef72986a2f8f5a2ba
+aa01f702dab0d1f703d0b4da03f7f3f96c15f7bb0af78cfcff15f7ba0a0eb886a2f7
+caabf77ac873a212f702da13e8f89c8a15ff000ee668fffffe4ccdff001f4cccffff
+fdb333ff001bcccc8b91918b9685916cff00078000fffff266689472abffffe57ffe
+ff0021999affffe23334ff0037b333ffffe1e666ff004e333370d165b7468b088a8e
+05d7a7a0e296c990a892aca98b988b9386968095819986988b08a0a296a8a279a856
+1fffffbc33348bffffdacccc53814d8253ffffeb8000ffffb98000ffffcc8000ffff
+e28000ffffe7e666fffff23334ffffce3334fffffdcccc678aff00003333ff003ccc
+ccff00009999ff002d999aff0002199aff0045999a0813d8ff00028000de998ed190
+91918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185
+ff000f8000898d38088d388c5a8b388b388a5d89388938fffff0800086458885858b
+809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de89ff
+005280008aff002d80008bde089307f70686a06bb22708b6fb02afffffb6cccdd9ff
+fff73333080ecd81c15aa2f8f0a212f772b2f747da13b8f771f8ac15ff0000b3337d
+ff00004ccdfffff64ccc8bfffff2b3348bfb5f78fb0c784d7f626c6e788b808b818d
+84a0869b7f99748b087379796e5bbd7fac1fbf8bb8ada0bfb0e796f7568bf7388bff
+005ae668ff0012b334ff00051998ff00424ccc8bff00464ccc8bff0012b334888d38
+8d388c5a8b388b388a5d89380813788938fffff0800086458885858b809185b28dc8
+8ea98ba98bc589b48891918b968591458efffff180009089de0889ff005280008aff
+002d80008bde8bdeff00008000bcff00028000dfff00028000de998ed19091918b96
+85916689ffffc18000886d8b08fb6c066d8bffffbc80008e6b8d85858b80918508d1
+85ff000d3333fffffcb334ff00044ccdffffae4ccc080ef79a86a2f8f5a201ff028b
+3334f215630a0ef73c86a2f7cba5f7a4a201f5e0f7ebde03f753f701155b0a0ef71a
+81a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515660a0ef586a2f8e9a979
+a212f700d8f7bdd813d8f89df91915fc0b0613b8f79e0a13d8f79f0a13b8f7a00a0e
+6b86a2f7a1a37c9ff7cfa312f700daf77be313bcf74ff7bc1513dc670a8df7b315f7
+a10a13bcf7a20a0ee481b4f8eca601b0e5f859a203f7f38115500a0eaf86a2f8eaa8
+9677128ea3f785daf770a313dcf79ef8ac15f7630a13bcf7360a13dcf7370a13bcf7
+380a13dcf73b0a0eac75c9f8dca201ff006b8000f89f15f7bc0a0ef70586a2f0a1f8
+09a1e6a201b0dbff00b03334ff00549998ff00b13334dc03f80ef70115ffffffe666
+ff000366668bff00034ccdffffffe666ff00034ccd08ff0001333406f71692f713b9
+8bf7338bf729fb04bbfb2593088a06ff00028000de998ed19091918b9685916689ff
+ffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d3808
+ffffffe66807ffff854ccdfffff8ccccffff7ab333ffffd6e6668bffff5d66668bff
+ff566666ff00944ccdffffe0b334ff006be667fffffae666ffffffe666fffffcb333
+8bfffffcb333ffffffe666fffffc999a8938fffff0800086458885858b809185b28d
+c88ea98b08a98bc589b48891918b968591458efffff180009089de08ffffff3334ab
+15fffffe8000ff003fb333ffffff4cccff002bb3338bff0047999a8bff004b8000ff
+00006666ff002f66668dff0047199a08ff0001999a06ee84d8638bfb228bfb202f65
+378508ffffaa8000f80915ff0001999affffb9ccccff0000e666ffffd0999a8bffff
+b4999a8bffffb84ccdffffff4cccffffd3e666fffffe8000ffffbfcccdffffa6199a
+ff0006199affffa9199ab18bff0091e6668bff0089ccccff0054b333ff0026199aff
+005bcccdff0007199a080ef70886a2f8f5a201ff01268000df03ff02278000f1156f
+0a0ef70589ac6cb2f8d3ac12f0e0f7b3e0beac137cf8c2f89f158bde9c90d18e9191
+8ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b3d
+86fffffab3336bff00004ccd08fb5f066e799eaa1ff846078bde9c90d18e91918ba0
+85915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc250713bc8b38
+7a86458885858b76918508137cbc8cc88c9f8b08f7da06d88bbb44994494849aff00
+00e66694ff0007199a8bbe89c087bb0813bc8a94fffffbccccff0007e666ffffe733
+34ff0003199a738e73908bde080ee486a2f77cbff7d9a201f5daf79de003f8abf701
+1589ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d38ff0001cccc418cffffd1199aff00003334ffffbb
+e6664cffffd6e666ffffc18000fffffc199affffe380008b438bffffd4999aadff00
+016666dc088df70805ff00016666deff0012999a93d18e91918b9685915d88ffffc9
+b33389ffffe24ccd8bffffe2b3338bffffc74ccd8d608e85858b809185d188ff0015
+999a83fffffe66663808892205fffffe199affff9d4cccff001ce666ffffb0b334f7
+108bff003933348bff0042e666ff000f8000ff0047e666ff003166668bffffb0cccd
+8affffd24ccd893a8938fffff0800086458885858b809185b28dc88ea98b08a98bc5
+89b48891918b968591458efffff180009089de080ef82c8bb0f8d5ac01f5e0f78de0
+f791e003f9c816bb8bac8abc8a91918ba08591458e7a908bde08f825078bde9c90d1
+8e91918ba08591598a6e8a598b588b6d8c5a8c85858b769185d1889c868b3808fc25
+07397e88531efb1506657a8edd1ff825078bde9c90d18e91918ba085915a8a6d8a58
+8b598b6e8c598c85858b769185d1889c868b3808fc2507397d88661efb1f06617a8e
+dd1ff825078bde9c90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b7691
+85d1889c868b3808fc25078b387a86458885858b769185bc8cdc8c8b8b080ef8368b
+b0f8d5ac01f5e0f78de0f791e0beac03f99b16d88bbb44994494849aff0000e66694
+ff0007199a8bbe89c087bb8a94fffffbccccff0007e666ffffe73334ff0003199a73
+8e73908bde08f825078bde9c90d18e91918ba08591598a6e8a598b588b6d8c5a8c85
+858b769185d1889c868b3808fc2507397e88531efb1506657a8edd1ff825078bde9c
+90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808
+fc2507397d88661efb1f06617a8edd1ff825078bde9c90d18e91918ba085915a8a6d
+8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b
+769185bc8cdc8c8b8b080ef73689acf7c2b3f77cb36cac12a5a9f765e0f788e813ce
+f845aa15457eadac1ff77fe207f715a7314f1f4d8231fb2c1ea06a15f70df7049df7
+3be46cf0fb8a1f4ff72a0613de8bde9c90d18e91918ba085910813ee5a8a6c8a598b
+08fb9d06854c85578753ff0007b333fffffa8000ff00084ccdfffffd8000998e93b6
+ade8cd8b08b506ba9784401ffc25078b387a86458885858b769185bc8ca98cbe8bb6
+8b9989e48b080ef77f87a276acf7c2b3f785ac78a212f3e0f784e8e5da13aff94af7
+021589ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff000280
+00de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885
+858b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff08000
+86458885858b80918508b28dc88ea98ba98bc589b48891918b96859108458efffff1
+80009089de081367fc543c15f7c20afb22e615f7c30a1377f7c40a0e8889acf7c2b3
+f785ac01f3e0f784e803f78aaa155b82adac1ff77fd607f714b0314f4d6c31fb2c1f
+fb22e6158b387a86458885858b769185bc8ca98cbe8ba88bab89af8b08ff00bf8000
+ff00568000ff0033e666ff0085199ae471f0fb6f1f33f72a068bde9c90d18e91918b
+a085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b38080ec881aef79e
+bd79c3f786b012b9e637a9f833e213b6f7a38115f76beef734f74df765fb0cf706fb
+3a1ffb138b636152888755835b815794fffffa4cccff000a3333fffffd4cceff000a
+cccdff00036666a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813da
+f7c50a13bace8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb0
+7ca66e8b08728278771f41f7144fec1e0ef7ec81a7f7b3b2f7afa276a812f6e0e8e8
+f81fe813def8c6f90915f711e1fb03fb64fb473dfb0524fb0021f709f7541ff766ef
+e7df1efc06fc9c15fffffe199aff004d66668aff002ccccdffffffe666ff0049cccd
+08eb068dfb56f715fb0df7328b08f746f706f71ff75cf75afb11f717fb3c1ffb308b
+fb0afb1b7efb47082a06ff0000199aff00453334ff0000b333ff002f3332ff000233
+33ff004b999a0813eef7b90a0ea186a277a8f7c2acf797a412e3dcf771da133cf817
+f8ac15ff0001999affffbb999a8cffffd2b332ff00004cccffffc3b33408ffffb419
+9a06384dadf5e8d7a5c31fff00538000ff00028000576a1f8efb681588078b388a5d
+89380813bc8938fffff0800086458885858b809185b28dc88ea98ba98bc589b48891
+918b968591458efffff180009089de0889ff005280008aff002d80008bde8bdeff00
+008000bcff00028000dfff00028000de998ed19091918b9685916689ffffc7800088
+6d8b6a8b508c688b08fb4e6935461f8b25dc59cf81088807707b6d72724affffcc99
+9affff7a6666ffffce6666ffffc9999a6b8708137c828a05878888861f8b788c89cd
+8c05d28cb0ff00508000b6ff006c8000b5f59da8f58b080e2081b363a9f80da112b5
+d459d8f72cd01374f7b9f76815770ad8fb261513ac780a1374790a0e3b7fabf819ac
+12ade2f78dd96ba113f0f70df77f15bfa0f70ef1d9bb2cfb0cfb12515b551e3954d4
+f7221f34a115fb55f7013fecf712ddf703f70bf70057f708fb211e2c8b565a755b08
+858d058fb49ab89aa5abc2b1a2e7950813e8e595cba894f704087506835b567e377e
+3a7e475b613c6747813b8b3c080efb0089a8f752a8f72eaa12f1d5f72ad051d313f8
+f744f78a15f70a07a99791b8c1b27c4d636d66511e4d6e15d20613f4c4ac6157485f
+6e4f5a8394af1ffb2441158bd18db11eae8ba989ca8bc68bddae8be78bc35eae5e98
+088d0713f8a68fbcb08bbe8bc862bafb0e8b658b7989678b0860498d8b1f89898b75
+058b898efffffd33348effffffcccc08ad8905a2fffffe999a95fffff366668b7708
+fbb9078b68fffff3cccdfffff83333ffffed3333fffffecccd086b890584ffffff99
+9a89fffffd66668b850879070efb3389a8f7ffb270a812f5d613d0f5d5158b6effff
+f4999afffff2b333ffffe06666fffffd4ccd0874890586ffffff999a88fffffd6666
+8b86088b788d89058bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff0000
+4ccd08748d05ffffde6666ff0002e666fffff6999aff000d199a8ba808f79f07b591
+92ac1eb206c58ba152985108a68f0585be87b989c00813b0898d0513d0f7c60a13b0
+6d398d8b1f13d088898b750513b0f7c70a0e548bb2f7f4b170a812a3a5f3aff71fd6
+b9a413bea3fb1415a58a0593b0a5e7df8b08f73606de8ba833936308a48b85f71a05
+8b99848f798e7a8e74948bb008f7a9078bad9594af8f089c8d058e8f8e8f1f13de8b
+9f0513be8a8d0513de8b42896a1efb520613be7a3d8d8b1f13de88898b750513be87
+8e8a8f1ea68905ae8891778b7f8bfb0b793078368570707e71887d897e898a7908f7
+0db9158b9ca4d099f7780813de8f90a1a21ed206b08e7c691ffb92076a887b661efb
+0b0681828c961f0efb1281b0f75fa8f71da201aed7f766d703f706f797157f0ad2fb
+4315800a0eef89a8f74badf713ce67a812f7b9d613e89b16f7c80a13d8f7c90a13e8
+f7ca0a0efb0981aaf74db4f735aa12c3a4f773d951dc13f4b1de15f7cb0a13f8f7cc
+0a13f4f7cd0a0e9b89a8f80ba801f700d6f762d603f724f84115f7ce0a0e9b89a8f8
+0ba8d1aa12f700d681d4ebd471d613ecf833f8e015f7cf0afba3fb331560498d8b1f
+88898b75058b878dffffff4ccc8fffffffb33408a9890513f2ff0025b333fffffd80
+00ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ffffda4ccd
+fffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b38ca78cb6
+8bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88968ba308
+8b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd999a086c
+890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88ba98ab38a
+088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff00024ccd
+fffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff0024e666ff
+0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45895e6f5e
+8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb62fb8c8b
+f782058bb48eff00088000b1ff0002800008a98d058fff00004ccc8dff0001b3348b
+8f088ba0898d058b45895f1e0e3789a8f74aaef713ce67a812f0d613e8ab168d8905
+8bcf8daeb2c5898b1e8d8d8b9e058b90878d878c758e6d918bac08f72007d686a167
+9e549a5faa46bd8a08d38a8e8d8b9d0592848d871e838c05679062e27bb177bc66a1
+558b088f07b096a3ad99b396aa9ea1958b948b9288918792869487978b08a09c9d9f
+a380a0621f5b8b6b55795c76546e65488b08f7060713d8f7d00a0e4f7fb46ca8f7ff
+b270a8128fd3deaff712d613ae8fb9156ca570b71ebb8bff001b999aff0019e666ff
+00156666ff0036199a9ebb90f18bcf08d98ea5b11eb806af8f7d691ffba0078b6e83
+7f688708134e788905868a88898b86088b788d89058bcf8dafb2cf898b1e8d8d8b9e
+0590878e871e139e788d056b8e80988ba808f7ab078bb18e91b18e08a78d05918d8d
+901f132e8b9f05131e888d05132e8b4789601efb4206131e634c8d8b1f132e88898b
+7b05139e8b828f8a9c8ac3888e7c8b228b22fffff8b333ffffc9199afffff24ccdff
+ffd6e6667f677b7e7b8b7f8b87938998fffffd199aff0012e666fffffae666ff0013
+199a708b08737e77751f0eee89a8f80ba812f5af70aef7e1d013d8b6f843158a898b
+75058b888cfffffe4ccc8fffffffb33408a88905a5fffffe333498fffff9cccc8b68
+0813e882fbae058a68fffff96666fffff76666ffffdc999afffffd999a086d890587
+ffffffb33389fffffe4ccd8b88088b758c89058bcb8da9a9bc898b1e8d8d8ba0058b
+8f89ff0001800087ff00008000087a8d056dff0003800083ff000980008bac0813d8
+93f7b68d8bf72afbfb058e848f888f8b918b908e8e9208f730f80c8c8b8afbc6058b
+67fffffcb334fffffa4cccffffdd4cccfffffab334087e890588ffffff800089ffff
+fe80008b87088b768c89058bc28da9a9e2898b1e8c8d8ba0058b8e89ff0002b33387
+ff00004ccd086d8d05ffffd8e668ff0002999afffffc1998ff000b4ccc8bff002119
+9a08f7ad078bb0ff00038000ff00036666ff00248000ff0002999a08a78d058fff00
+004ccc8dff0001b3348b8e088ba1898dfb2e89fb1dfbe7fb1cf7e7050e8689a8f74d
+adf730a801f2d6f761d603f813d8158b65fffffb999afffff8cccdffffdb6666ffff
+fd33330871890588ffffffcccd89fffffe33338b88088b758c8905a98cb58caf8bb0
+8baf8aa98a088d8d8ba0058b8f89ff0001999a87ff0000666608778d05ffffde8000
+ff00034cccfffff88000ff0004b3348bb308f7a8078bb4ff00078000ff0002b334ff
+00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d056d
+8a668a668b678b628c6d8c0889898b75058b878dffffff33348effffffcccc08a589
+05ff0020b334fffffd8000ff00084cccfffff980008b650820fb61f6078bb4ff0007
+8000ff0002b334ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b
+8f088ba08a8d056d8a658a668b678b638c6d8c0889898b75058b878dffffff33348e
+ffffffcccc08a58905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8
+078b65fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89
+fffffe33338b88088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89
+ff0001999a87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3
+348bb308f71bf761070e3c81a2f813a201b3d7f78ed703b3f757158d0af750f75d15
+8e0a0e8e89a8f7ffb270a812f5d6f75fd513d8f5f7f315fba7078b68fffffab333ff
+fff66666ffffdc4ccdfffffd999a086d890587ffffffb33389fffffe4ccd8b88088b
+758d89058bff00444ccd8dff002bb333ff002a8000ff00428000898b1e8c8d8ba005
+8b8f89ff0001cccd88ff0000333308708d05ffffde4ccdff00028000fffff9b333ff
+000680008bb108f7a707ae9f8fa01ef70d069fa089661ffba7078b68fffffab334ff
+fff6999affffdc4cccfffffd66660870890588ffffffcccd89fffffe33338b88088b
+758c89058bff0043199a8dff002ae666ff002bb334ff00444ccc898b1e8c8d8ba005
+8b8f89ff0001b33387ff00004ccd086d8d05ffffdd4cccff00024ccdfffff9b334ff
+0006b3338bb108f7a8078bb4ff0003199aff00048000ff0025e666ff000280000813
+b8a98d058fff00004ccc8dff0001b3348b8f0813d88ba00513b88a8d0513d88b4589
+5e1efba90613b8f7d10a13d889898b750513b8f7d20a0e4ffb7ea8f757adf805b966
+a812ecd5f766de13ecf73ff7cb15a1c0bca8ad8b08c8b74bfb0d357829201f7b8b6a
+8d68b408f7fe0413dc898d058b74897d68478d8b1e89898b78058b868efffffd8000
+90ffffff8000089e8905ff00216666fffffc8000ff0009999afffff380008b6f08fc
+97078b6ffffff28000fffff3199affffe28000fffffce6660878890586ffffff8000
+88fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002
+800086ff0000800008788d05ffffe0999aff00034ccdfffff46666ff000cb3338ba7
+08f73f07a57da783af8bbf8bb59cb2b2b8b9a4c98bdc0813ecf7d30a0efb2281b0f8
+05a201aed7f757dd03f819e2157c0a0efb0889acf7fdb001a5a6f715daf717a503f7
+4af70e158b3880864e8885858b769185b58ca58cb78bb68ba48ab68a91918ba08591
+4e8e80908bde08f7a29c07dc8b9b6f9c3a988b988f8b8b85b987b78ac57489408759
+8b084006598b538e638e8a51875f845d8b8b9987988b9cdc9aa7dd8b089a060e49fb
+85cff8c8a201f74dfb41159e0a0ecefb6d76f778b3f805b301b2d9f734d6f733d903
+f767a9153d7bf700dfe29ce5dd1fa08b9e81a07008fbb407796d757d718b08f762f8
+0515da9a2037347b30391f778b779176ab08f7b507a0aba295a08b084afc6215dd07
+a075a084a88b08eecef701f71bf70359e92c1f5e8b7179767008f702078bbf9dc7cf
+b6087ca005426574627e6f81a773b841ad087b7605d1609c4f8b5708280779a07398
+6e8b08353a35fb34fb00be2cea1fb18ba897a4a7082e078b577a50455f089b7705d5
+ada3b895a6986fa263d465089a9f0547b679c78bbf080e3f86a2f809a201f744f7e9
+159d0a0e8289a870b2f7ffa812f0d6f75cd61378f80cf7f415fb9c0769887c661efb
+0c06688697b01ff79d078bb4ff00068000ff0002ccccff00218000ff0003333408a0
+8d058fff000066668dff0001999a8b8f088ba0898d058bffffc0999a89ffffd76666
+ffffd64ccdffffbeb3338d8b1e8a898b75058b878dffffff4ccc8fffffffb33408a5
+8905ff0022999afffffd4cccff00056666fffff9b3348b6508fbac078b64fffffa4c
+cd8affffddb333870813b87a890588ffffff999a89fffffe66668b870813788b7605
+13b88d890513788bca8da91ef78706da8ba93b965a08a48c85f7190513b88a9cffff
+f5cccc8dffffee33348e798e799b8ba908f7a8078bb4ff00076666ff00044cccff00
+21999aff0002b33408a48d058fff00004ccc8dff0001b3348b8e088ba1898d058bff
+ffbe199a89ffffd5e666ffffd83334ffffc1cccc8d8b1e8a898b75058b878dffffff
+4ccc8effffffb33408a08905ff00228000fffffcb334ff00058000fffffa4ccc8b64
+080e5889a8f70baef771a801d2d6f751d603f7e3f7f515f7d40a0ef79589a870adf8
+04a812f2d6f753d6f753d6141c137cf95af7f5158bb4ff000866688eff001f99988e
+08a08d058eff00004ccc8dff0001b3348b8f088ba08a8d2189238d8a898b75058b87
+8dffffff4ccc8fffffffb33408a38905ff0024999888ff00046668858b6508fba007
+6c8877661efb03066f7f94b51ff79f078bb4ff00096666ff00046666ff001e999aff
+0002999a08a38d058fff00004ccc8dff0001b3348b8e088ba18a8dfb0089278d8a89
+8b75058b878dffffff4ccc8effffffb334089f8905ff0020ccccfffffcb334ff0007
+3334fffffa4ccc8b6408fba00766867e681efb0206688596b31ff7a0078bb4ff0007
+999aff00028000ff00216666ff00038000089e8d058fff000066668dff0001999a8b
+8f088ba0898d2689fb008d8a898b75058b878dffffff33348effffffcccc08a58905
+ff0023e666fffffd3334ff0004199afffff9cccc8b6508fbad078b6afffffacccdff
+fff8b333ffffdd3333fffffd4ccd0813bc71890587ffffff80008afffffe80008b88
+08137c8b750513bc8c8905137c8bd58da91ef8a90613bca9df898b1f137c8e8d8ba0
+0513bc8b8e89ff0002b33387ff00004ccd086c8d05ffffdf1998ff0002199afffff8
+e668ff0003e6668baf080ef78c89a870adf804a812f3d5f753d6f753d5141c137cf9
+59f7f5158bb4ff00061998ff0002b334ff0022e668ff00034ccc08a08d058eff0000
+4ccc8dff0001b3348b8f088ba08a8dfb0089258d8a898b75058b878dffffff4ccc8f
+ffffffb33408a38905ff00209998fffffd4cccff00086668fffff9b3348b6508fba1
+076a877a661efb01066e7f93b41ff7a1078bb490ff0004199aaeff0002e66608a38d
+058fff00004ccc8dff0001b3348b8e088ba18a8d2089268d8a898b75058b878dffff
+ff4ccc8effffffb334089f8905ff00218000fffffcb334ff00068000fffffa4ccc8b
+6408fba10766867f681efb0206688595b21ff7a2078bb4ff0007999aff00028000ff
+00216666ff00038000089e8d058fff000066668dff0001999a8b8f088ba0898d2589
+208d8a898b75058b878dffffff33348effffffcccc08a58905ff0022e666fffffd4c
+ccff0006199afffff9b3348b6508fbad078b68fffff86666fffffa999affffde999a
+fffffd66660813bc71890587ffffff80008afffffe80008b8708137c8b760513bc8c
+8905137c8bd58da91ef88706db8ba63b975a08a48c85f7190513bc8a9dfffff1e668
+ff00024ccdfffff31998ff0001b333748e7d9e8ba4080e7389aaf757abf71cb070a8
+12f758d6f734d613dcf758d5158b6efffff8cccdfffff3ccccffffdc3333fffffc33
+340878890586ffffff800088fffffd80008b86088b788d89058bff003ecccd8dff00
+283333ff0027ccccff003e3334898b1ef704c8c1dfe939a52b1f52f0068baeff0004
+199aff0005b334ff0023e666ff00024ccc08aa8d058eff000033348dff0000cccc8b
+8f0813ec8ba10513dc898d0513ecfb0389fb588b058a51875e845d08a686059cdd9a
+aedd8b08a19283661ff77ffb7115395c7c595d7a98af1ef726ce07d2a15e561f0ef7
+0c86a178aaf757abf71ba27ea812f5d6f734d6e2d713b7f8d7f7c215f7d50afb82fb
+44151367f7d60afb7f5715f7d70a136ff7d80a0efb0689aaf757abf725a801f5d6f7
+34d603f7e9f71215f7d60afb7f57158b6efffff96666fffff3ccccffffdb999affff
+fc33340878890586ffffff800088fffffd80008b86088b788d89058bff003f66668d
+ff0028999a1eff002766668bff0016333489ff002766668b08f703c9c1dfe939a52b
+1f52ee068ba8ff000a4ccdff000b999aff0020b333ff00036666089e8d058fff0000
+66668fff0002999a8b91088b9d898d058b478a6467478c8b1e89898b79058b858eff
+fffd800090ffffff8000089e8905ff0023999afffffc4cccff00076666fffff4b334
+8b6e080efb1581acf739b379b9f72caa12aed353a4f783dc13daaedd1556d264e6ee
+efd1f735f70d52ecfb191e5c8b627b5a880813d688658669815b08a487059ccbaabb
+d58b08e4a9352f1f88890513ba719b70976e8b0813daf7d90a13baf7da0a0ef71181
+ae70a8f73fb2f739a872ac12ecd5ecdbf771db13aff855f82a15d9b540fb26fb1856
+6f622d6af710d81fe2a6e8d51efb48fb3d1529f70b068ba7ff000c3333ff000ccccc
+ff001ecccdff000333340813779e8d0590ff000080008fff000280008b90088b9e89
+8d058b46896468478d8b1e89898b78058b868efffffd800090ffffff8000089e8905
+ff0020cccdfffffc8000ff000a3333fffff380008b6f08fbae078b6efffff56666ff
+fff36666ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b
+788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff000080000878
+8d05ffffdf999aff00036666fffff56666ff000c999a8ba808f710ec0713af8d26c7
+20f7148b08f71fbff713eff35df70afb241ffb078b4a3881fb0b080efb0e89a8f73d
+ad71a5f740a812c4d6f728d613dc99168e89ca8c05ab8cacb39dbca3cda7b4b38b08
+a4fb0b068b6489836a89087c8a05878988871f75078bc48dafaec3898b1e9f078d89
+92831e758c057b8c86a18ba508f7b9078ba092939d8c08a48d058d8c8c8d1f8ba389
+8d058b5689691e6b8ba58d3f8b08fb3f822f6e1f13bc44d468c21e88076f866a737a
+627c666a4c708808838a0587858a841ff70af7c215ba9bade1b292876b1e13dcfb1c
+0713bc48065273b4bd1f0efb1281b0f75fa8f71da2f7837701aed7f766d703f766f9
+2415760afb3afba3157f0ad2fb4315800a0efb1281b0f75fa8f71da2f701ea12aed7
+7fe9d6e962d713f4eef8d315e60a13f2f73d16e60afb2efbd015f00a13f1f10ad2fb
+4315f20a13f9f30a0e6489a8f7b2b7b8ae01f701d6f770d603f7d9f84915fb21ce06
+8bbf9dc7cfb6087ca005426574627e6f81a773b841ad087b7605d1609c4f8b570848
+4268d4fbdc078b6efffff4cccdfffff34cccffffe03333fffffcb3340878890586ff
+ffff800088fffffd80008b86088b788d89058bcf8dafb2cf898b1e8d8d8b9e058b90
+87ff0002999a87ff0000666608788d05ffffdf999aff00036666fffff56666ff000c
+999a8ba808f74807c0c4b48da58bba8bc0668bfb278bfb8d33774f5d08967c05f706
+bceddc8bf75f8bf7443abc3c8b5b8b6784585708f3f721070efb3389a8f7ffb270a8
+bc7612f5d6f73fa6139cf798f8ff15e40afb2efcb5158b6efffff4999afffff2b333
+ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d8905
+8bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05ffff
+de6666ff0002e666fffff6999aff000d199a8ba808f79f0713dcb59192ac1eb206c5
+8ba152985108a68f0585be87b989c00813bc898d0513dcf7c60a13bc6d398d8b1f13
+dc88898b750513bcf7c70a0efb1581acf739b379b9f72caa12afdcf783a413bcaff7
+7115fb35ef45eee6d2b2c09b8098791e7a8b7f867d6b7f707073638b378b5ec68bf7
+0b9790988f988b0813dcf7db0a13bc688b70a7608b0813dc6e8b707f717b08888d05
+e7a9e1e41ed58baa5b9c4b08a48f0581bb86ad88b15a8e629b5c8b08fb19522afb0d
+1f0efb4f81a19476f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13
+aa960a13b4970a0efbac89a8f80ba8f708ef12ecef3ad513e8f752f84115898d058b
+75897c68478d8b1e89898b78058b868efffffd800090ffffff8000089e8905ff0021
+6666fffffc8000ff0009999afffff380008b6f08fbae078b6efffff56666fffff366
+66ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b788d89
+058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffdf999aff00036666fffff56666ff000c999a8ba80813f02ef8a115840a0efbb089
+a8f80ba8ebea1290e99cd57be913f8f752f84115898d058b75897c68478d8b1e8989
+8b78058b868efffffd800090ffffff8000089e8905aefffffc4ccc93fffff3b3348b
+6f08fbae078b6efffff96666fffff3ccccffffdb999afffffc33340878890586ffff
+ff800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087
+ff0002800086ff0000800008788d05ffffe18000ff00033333fffff38000ff000ccc
+cd8ba808fb4df88815a30a13f4f73d16e60a0efbb9fb71aff8dfa8f708ef12e5ef3d
+d613e8f74ff701158bf7d4898d058b74897d67478d8b1e89898b78058b868efffffd
+800090ffffff8000089e8905ff00246666fffffc3334ff0006999afffff3cccc8b6f
+08fbac07fb0195fb2c5f1e808b8592859483958197718b0880787f796dad7d9e1f9f
+8bac8bb1aa08b9b19bef8bf7350813f02af87e15840a0ef17fb46caaf757abf71ab2
+70a8128fd3deaff712d6f735d5136780f8c1f71215395b7c595d7a95ae1ef72ace07
+d3a15e561f137780fbd5f79c15b806af8f7d691ffba0078b6efffff6b334fffff399
+9affffde4cccfffffc66660878890586ffffff800088fffffd80008b86088b788d89
+058bca8db41eb28ba289b28b08f704c8c1dfe939a52c1f51ec068bb1ff00034cccff
+00064cccff0025b334ff0002b33408132f80a78d0591ff000066668dff0001999a8b
+90081337808b9f05132f80888d051337808b4789601efb5706132f8063618d8b1f13
+378088898b7b0513af808b828f8a9c8ac3888e7c8b228b22fffff8b333ffffc9199a
+fffff24ccdffffd6e6667f677b7e7b8b7f8b87938998fffffd199aff0012e666ffff
+fae666ff0013199a708b08737e77756ca570b71fbb8bff001b999aff0019e666ff00
+156666ff0036199a9ebb90f18bcf08d98ea5b11e0ef73889a8f752adf72ba801f1d6
+f763d6f734d603f85ff7f8158ba7ff0008ccccff000cb334ff00213334ff00034ccc
+089f8d058fff000066668eff0002999a8b90088b9e898d058b478968644a8d8b1e89
+898b78058b868ffffffd80008fffffff8000089b8905acfffffbe66695fffff4199a
+8b6f0822fb63f4078ba7ff0009e666ff000b999aff0021199aff00046666089a8d05
+90ff0000b3348eff00024ccc8b90088b9e898d058b4b896764478d8b1e89898b7805
+8b868ffffffd66668fffffff999a089e8905ff0020999afffffc999aff000a6666ff
+fff366668b6f08fbae078b6efffff6999afffff38000ffffde6666fffffc80000878
+890586ffffff800088fffffd80008b86088b788d89058bcf8dafb2cc898b1e8d8d8b
+9e058b9087ff00024ccd86ff0000b333087c8d05ffffdf3333ff00046666fffff5cc
+cdff000b999a8ba808f723f763fb23078b6efffff73334fffff3999affffddccccff
+fffc66660878890586ffffff800088fffffd80008b86088b788d89058bcf8dae1ef1
+8905f703c9bfdfea39a12b1f5206f734fb1315395c7e595d7a95ae1ef723ce07d2a1
+63561f0e7989a8f7aababdae01f706d5f75ad603f7edf84915fb31ce068bbf9ec7cf
+b6087ca005426574627e6f81a773b840ad087c7605d1609c4f8b5708483f68d7fbdc
+078b6efffff6b333fffff3999affffde4ccdfffffc66660878890586ffffff800088
+fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff000280
+0086ff0000800008788d05ffffdf999aff00036666fffff56666ff000c999a8ba808
+f74407bbbbb792a88b08c2a1783a1ffb17078b6efffff66666fffff38000ffffde99
+9afffffc80000878890586ffffff800088fffffd80008b86088b788d89058bcf8daf
+b2cf898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffe18000ff
+00033333fffff38000ff000ccccd8ba808f70c07f267c2431e648b4583535308f706
+f731070e3789a8f74aaef713ce67a8bc7612f0d613ccf7b6f8ff15e40afb96fcff15
+8d89058bcf8daeb2c5898b1e8d8d8b9e058b90878d878c758e6d918bac08f72007d6
+86a1679e549a5faa46bd8a08d38a8e8d8b9d0592848d871e838c05679062e27bb177
+bc66a1558b088f07b096a3ad99b30813ec96aa9ea1958b948b928891879286948797
+8b08a09c9d9fa380a0621f5b8b6b55795c76546e65488b08f7060713dcf7d00a0e9b
+89a8f80ba801f700d6f762d603f7a0f8ff15760afb564b15f7ce0a0e49fb85cff8c8
+a2d9aa01f72bd4ebd403f81df8d715f7dc0afb64fd84159e0a0e8e89a870b3f7fea8
+12f5d6e0ade1d6137cf816f7f315fb9f076986816c1efb19066a8899a91ff7a1078b
+b4ff00058000ff0002b334ff00228000ff00034ccc08a08d058fff000066668dff00
+01999a8b8f088ba0898d2289218d8a898b75058b878dffffff4ccc8fffffffb33408
+a48905ff0023999afffffd3334ff00056666fffff9cccc8b6508fbae078b64fffff9
+b333ffffff199affffe14ccdfffffde6660813bc6e890586ffffffb33388fffffd4c
+cd8b8608137c8b780513bc8d8905137c8d8bf38d918b08d706a58b9854904208ad06
+90d397c3a68b08da0613bc998be489938b08137c8d8d8b9f0513bc8b8d8aff000480
+0084ff00008000086d8d05ffffe24ccc8dfffff8b3348e8bb008f7ac078bb4ff0007
+4cccff00058000ff0020b334ff0002800008a58d058fff00004ccc8dff0001b3348b
+8e088ba1898dfb0089258d89898b75058b878dffffff66668fffffff999a08a08905
+ff0020ccccfffffce666ff00073334fffff9199a8b64080ef81d7faef765a8f7feae
+01c0e7f7b9dcf7bbe703f84af75015f7dd0a0ef7047fa7f744a8f755a701addaf70f
+c88dd68dc8f70fda03f7bff72815f7de0a0ef72989adf7c6aecd76e8b2cfa71295a9
+83a5f735dcf789a583a979e513fb00f89ff8ba15fb73a406a7989ab41ea606908e8e
+901f8b9e898c058b2d8a6864348c8b1e898a8b7805868f888f1ea606b29a7d6d1f73
+fb1f07768a9c921f718f0513fd2087598458805508a986059fdb9898c28b08e6fc49
+06687f7f631e6e06858988861f8b788d89058bd88dbd1ec58b8c89e48bf75b8bc6e5
+8be18be858c125b16a974b8d678b083cf71ef7430613f940c28b987e9f3b08a99005
+13fb8080c184be87bd08718705848a7a761efb73fb6815e90613f920f70aca4c314e
+692ffb2c398492ac1f0e7089aaf752abf721b0129aa6f724d5f734a876d613fcf798
+f78f15f721ba07dc8b9a779c3908a88f0584b987aa8ac508fb45d6068bbf9dc7d0b6
+087ca005416574627f6f81a772b841ad087c7605d1609c4f8b570840fb34078a5187
+65855d08a687059cdc9aa7dc8b08aafbd4066e817b6a1e7806868888861f8b788d89
+058bca8db31eb58ba289b48b0813faf704cbbedfea36a22c1ff4fb131539597e5a5c
+7595ae1ef725d407d2a360571f0ef7b281ae6da2f7a4b265bd79c3f786b06ca212f6
+e0ff00583334ff0056ccccf7fce666a913a1c0f754f70115fffffe4ccdd3fffffee6
+66ff002bcccdffffffcccdff0041333308ff005b333406ff000be666ffff576666ff
+0063999affff7c999aff00c94ccc8b08ecf714c7d59f82a0721f6e8b7c6e7e667d63
+63693f8bfb288b43f70a81f732081309a0ac9aa892b18b081311a0f7b80a130da050
+8b60b14c8b7e8b497f4e69088a8c05f769f707d5da1ef71e8bc43aa53508a98f0581
+bf83bc87c1528e63b5fb138b081363c0ffff5b199a8bffff886666ffff859998ffff
+fe8000ffff3166680831068bff004d999aff0000999aff00308000ff00026666ff00
+50e666ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc
+80008e6b8d85858b80918508d185ff000f8000898d388d388c5a8b388b388a5d8938
+8938fffff0800086458885858b809185b28dc88ea98b08a98bc589b48891918b9685
+9108458efffff180009089de080eee81ac72a8f735b372ad70b9f726a874aa12ecd5
+ff005e6666ff0050999af783a41391c0ff01096666f75f15ff00073334ffff6bcccc
+ff00603332ffffbf3334ff005f33348b08e6d2b2c09b8098791f7a8b7f867d6b7f70
+7073638b378b5ec68bf70b081309c09790988f988b081321c0f7db0a1309c0688b70
+a7608b081323c06e8b707f717b08888d05e7a9e1e41ed58baa5b9c4b08a48f0581bb
+86ad88b15a8e629b5c8b081355c0ffff80e6668bffffc64cceffffa76666fffffb19
+98ffff8e999a08ffffa1b334f70d06a7969bab1e9e06908f8e901f8b9e898d058b46
+896468478d8b1e89898b7805868e88901e9e06ac957b6f1ffbb2076e817b6a1e7806
+868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809b
+a81ff717070ef7ac89a8f90b7701f7ffd603f89ef7de15f7df0aaffc7215d3078bbf
+abcbcdb608f712fb7b0590828d858b85087976856e1e7906868888861f8b788d8905
+8be28dafb2d7898b1e8e8d8b9e0590868e871e7f06768b799c74b508fbbbf8b20580
+a083947f8b818b82847e7408fbc0fcb7057a6b7c75628b087f06868888861f8b788d
+89058bcb8da5a3e5898b1e8c8d8b9e0590888e861e78066c7b979b1f8b918d908e91
+08f712f77905cc60ab4c8b580843076e827b691e7806868888861f8b788d89058bcf
+8dafb2cf898b1e8d8d8b9e0590878e871e78066a819ba81f0eec89a801f7a8d603f7
+75f78515f7e00abefb8515d6d6068bb898bebab408eefb2d05957b867b6a8b087e06
+878888881f8b768d89058bd38da7a9c1898b1e8e8d8ba0058e8a8e851e738b789975
+ae08fb71f7e9057ea07e8f7f8b848b7d887f7508fb63fbef05786b7580718b088888
+88881f8b768d89058bbc8d9e9ece898b1e8c8d8ba0058e888e881e8306718b75909b
+a608e7f73105c06198578b5c080ef91186a277a8f79bb2f7bea2937712f6e0f89fd6
+1326f9fef7de15f7df0aaffc7215d3078bbfabcbcdb608f712fb7b0590828d858b85
+08136e7976856e1e7906868888861f8b788d89058be28dafb2d7898b1e8e8d8b9e05
+90868e871e7f06768b799c74b508fbbbf8b20580a083947f8b818b82847e7408fb38
+fbbffc1e8b058bff004d999aff0000999aff00308000ff00026666ff0050e6660813
+b6ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc8000
+8e6b8d85858b809185d185ff000f8000898d38088d388c5a8b388b388a5d89388938
+fffff0800086458885858b809185b28dc88ea98ba98bc589b4880891918b96859145
+8efffff180009089defffffe4ccdd3fffffee666ff002bcccdffffffcccdff004133
+3308ff017499988bffff8d6668fb6505136e7a6b7c75628b087f06868888861f8b78
+8d89058bcb8da5a3e5898b1e8c8d8b9e0590888e861e78066c7b979b1f8b918d908e
+9108f712f77905cc60ab4c8b580843076e827b691e7806868888861f8b788d89058b
+cf8dafb2cf898b1e8d8d8b9e0590878e871e78066a819ba81f0ef81589a8f744adf7
+39a801ecd5f81dd603f895f78515f7e00abefb8515d6d6068bb898bebab408eefb2d
+05957b867b6a8b087e06878888881f8b768d89058bd38da7a9c1898b1e8e8d8ba005
+8e8a8e851e738b789975ae08fb71f7e9057ea07e8f7f8b848b7d887f7508ffff9499
+9afb48fffed766668b8bf70d05a7969bab1e9e06908f8e901f8b9e898d058b468964
+68478d8b1e89898b7805868e88901e9e06ac957b6f1ffbb2076e817b6a1e78068688
+88861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809ba81f
+f717ff01144ccc07ffffb0b334fb1905786b7580718b08888888881f8b768d89058b
+bc8d9e9ece898b1e8c8d8ba0058e888e881e8306718b75909ba608e7f73105c06198
+578b5c080ef7fc89a8f7bcb2f78cae01f835dc03f806f7d715bafb90066f7d7b621e
+7b06868888861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a0664
+7c99a91ff790c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b
+788d89058be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7
+410563df5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f7
+72fb9b688b05328b5d6963370839fb41057d6f757b6c8b087f06878788861f8b788d
+89058bd38db2afe3898b1e8d8d8b9e0590888e861e7606628b79959bad08def74105
+aaccaf99bb8b08f706b515fb64f789f81d8b050ef78589a8f744adf732ad01f800d5
+03f7d2f75f15b9fb18066f7d7b621e8406868888861f8b788d89058bd28dafb2cb89
+8b1e8d8d8b9e0590878e871e8406647b99a91ff718b507bb8ba274b75108b15805a1
+6f7e7b628b087a06868888861f8b788d89058bd38dafb2d2898b1e8d8d8b9e059087
+8e871e7f066c8b799f79a30864be055bcb60be3b8b086e8bf710f74005979a80907a
+8b08fc19067a8b7f85977d08f72efb406c8b05328b6c66573d086a58057b7477766c
+8b087f06878788861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a
+06628b809a9ea808adbe05b3c7a6a0bb8b08f701b115fb1ef72ef78f8b050ef93e86
+a277a8f7bcb2f78cae79a212f702daf8badc1336f9baf80115fb64f789f81d8b05fd
+b3fc891589ff005280008aff002d80008bde088eff0169800007ffffeb1998ffffed
+4cccffffeeb33471ffffefb334ffffddb3340839fb410513767d6f757b6c8b087f06
+878788861f8b788d89058bd38db2afe3898b1e8d8d8b9e0590888e861e7606628b79
+959bad08def74105aaccaf99bb8b08b88b8d8b8bfb90056f7d7b621e7b0686888886
+1f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a06647c99a91ff790
+c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b788d89058be4
+8daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7410563df5dad
+338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f772fb9b688bff
+fe1e199a8b05ff00003333ff003bccccff0000b333ff002d66688dff0044cccc0813
+2eff00028000de998ed19091918b9685910813366689ffffc18000886d8b0813ae6d
+8bffffbc80008e6b8d85858b809185d185ff000f8000898d388d388c5a8b388b388a
+5d89388938fffff080008645880885858b809185b28dc88ea98ba98bc589b4889191
+8b968591458efffff180009089de080ef88889a8f744adf732ad70a812ecd5f858d5
+13ecf942f78515fb1ef72ef78f8b05fb66fb5415adfb18066f7d7b621e8406868888
+861f8b788d89058bd28dafb2cb898b1e8d8d8b9e0590878e871e8406647b99a91ff7
+18b507bb8ba274b75108b15805a16f7e7b628b087a06868888861f8b788d89058bd3
+8dafb2d2898b1e8d8d8b9e0590878e871e7f066c8b799f79a30864be055bcb60be3b
+8b086e8bf710f74005979a80907a8b08fc19067a8b7f85977d08f72efb406c8bfc15
+8b8bf70d0513dca7969bab1e9e06908f8e901f13ec8b9e0513dc898d0513ec8b4689
+641e13dc68478d8b1f13ec89898b780513dc868e88901e9e06ac957b6f1ffbb2076e
+817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e86
+1e78066b809ba81ff717ff0115e66607ffffe9ccceffffed199affffecccccffffe5
+3333ffffe88000ffffdcb333086a58057b7477766c8b087f06878788861f8b788d89
+058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b809a9ea808adbe05b3c7
+a6a0bb8b080e78fb7cadf8a2a9f826ad12c1a972bdf793b670e351e713f2c1f85a15
+a98905a3dca6e6f70b8b08c9cb633d416a41fb0b685d7f6677997f9e1fb28b91bec7
+8b0813e9dab95f3c1f8b2137643d77257134678b330825f377d7f3d5adb399859b73
+1e758b7a7d7a7b7173697b588b4f8b58978bc18bd3f5a7bd95f711a3f704d28bf70e
+8bf638ad409c08900713e2d0a6c2b28bdb8bf323b6339108bddf0592979392948b08
+13f4948b8e858d84ff0003199a80ff0004e66686968b089b9396999f7b9d711f718b
+ffffed6666fffff2b334ffffee999affffe44ccc0866503ae8858d438b8884f703fb
+12056488627a4e84080efb2ffb5ab3f80bacf7bcab12b3a674abf762d548dc13f4b3
+f7b615a6860599cfaac7da8b08b2bf77503f4e836070627d6e7499819d1fa48b8ab6
+b78b0813eac79e6c571f8b4743776481387658688b47083fcb69f5b6ae92ab9d7b97
+771e648b716e648b6c8b5e918bb88bb7b5a2ca9bf722aebabd8bce8bda45a16f9008
+8f0713f4b696b4b18bb88bd83ea64f9008b7df0591979294958b928b8f888e838f80
+9285958b089b9096999b7f9e6d1f748b7a807c70086a4d43e7858d4f8b8981ebfb0d
+05628880834a83088a5887648561080ef71289a8ff00606666ff001f999af7fba0de
+a701ebd0f71cdbf722cf03f8faf8ab1542794e3d1f8bffffda3334fffff78000ffff
+4e6666ffff7a8000ffffe4e66608ff01a4800007a7999bb41ea506908e8e901f8b9e
+898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffc3707ffff
+becccdff000f4ccdffffb93333ff003733338bff009f800008ed6cbf4e1e6c068082
+8a801f8b8690899389a185b2808bfb148bffff51b333ff0066e666ffffc4b333ff00
+66199a7f08ffffcb999a076f7d7b621e7106868888861f8b788d89058be88dafb2e2
+898b1e8d8d8b9e0590878e861e7106637c99a91fbf07ff0066b334ff000b999aff00
+6b4cccff003fe6668bff00c180008bf1b196a192938d928d8b920895808d7f1e0ed8
+fb5ca8ff00a08000ff001e8000f819a0f77ca712d2d155cef714ff004accccff007f
+3334cf55d013fa00f7ae9f15ffffad8000ff000a3333ffffc58000ff00334ccd8bff
+00a080000813f6008bb298b78bb108af7faa601e5e0680828a801f8b8691899289a8
+8596788b700813fa808b697b5c8b598bffff5a3333ff005e6666ffffc34ccdff0074
+999a8108ffff8b8000076f827b691e7806868888861f8b788d89058bcf8dafb2cf89
+8b1e8d8d8b9e0590878e861e79066a819ba71fffffffe666ff0074999a05ff0074e6
+66ff000a1999ff005d3334ff003ccccd8bff00a580000813f3008bbd7cba8bad8ba6
+959ea891938d908d8b900896838c801e5e06607e6c671f13fa808b65995f8b648bff
+ff5fb333ffffc98000ffffccb333ffffa94cccfffff5b334ffffffb334ff00de9999
+ffffffccccff00deb333ffffffb334ff00de999a088a8d058b74897d67478d8b1e89
+898b7905868e88901e9e06ad947b6f1f0ef71a81a3f790be86bff7a2a312afe5f84f
+e513dcf7dbf90e15f7e10a13bcf7e20af7e0fbc515660affffa5e668fffff4999a15
+f7e30a13dcf7e40a0efb1380acf72ab976b2f72eaa12aeff004ce666ff00d5199ad5
+139caef7561529c520f70ff719bdf70feaee5ef707fb1c1efb0d4d2afb161ff7b4ab
+1513dcfffff3999afffffb3333fffff1199afffffccccdffffef4ccc8b0813bc668b
+7b9d618bffffe3999a8bffffe31999fffff84ccdfffff04ccdfffff69999ff0000cc
+cdddff001b4ccdff0059199aff0044e6668bff004166668bff00286666ffffc6e666
+ff00093334ffff95199a08ffff2ce666ffffdf800015ff00063334ff0001199aff00
+078000ff00026666ff000966668b0813dcac8ba772b48bff002080008bff0022999a
+ff0010b333ff00148000ff000b4ccdff00004cccfffff83333ff0000199a838bffff
+f7cccd8bfb12566f648bffffae66668bffffde199aff0062b333fffffa6666ff0048
+cccd080ef7049476f90aa773af12f8eece13b0f8dff92615f7e50a13d0f7e60a13b0
+f7e70a0e739476f832b363a812f855d313d0f843f82615f7e80a13b0f7e90a0ef704
+9476f90aa773afbd7612f8eece1398f752f9a9158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff0004999808ffffc4
+b334f701058693848f808b086e7fffffea3334ffffefcccc1ff7179015f7600a13b8
+f79efb1c15f7e50a13d8f7e60a13b8f7e70a0e739476f832b363a8f7727712f855d3
+1398f710f92115f75b0af71c9115f75c0a13d8f73ffb9515f7e80a13b8f7e90a0ef8
+1d7faef765a8f7feaebba0b2a012c0e7f74af171bd7cdc95ebbab2f2e713fef0f84a
+f75015f7dd0ac5f8eb1513fd7056635b671f13fcf0729e7e9b9a9b959c1e13fd708b
+9c7b948b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad
+908b708b7e7f817c8b678b53c7528b080ef7047fa7f744a8f755a7daa0b2a0b77712
+addaddbd82c88dd68dc8a6b2c4da13ff78f7b4f8ee1556635b67729e7e9b9a9b959c
+1f8b9c7b948b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b
+69ad908b708b7e7f817c8b08678b53c7528b0896fc5a156c0766844b452e7bf717d4
+f700a7e1d81e13fef8998f86831f8b868a86898888888a858b840878997d9e9f9a9b
+a0a974af4ffb01442efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08
+f708c8f716f0f71644e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89
+908b9008938f9099d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f
+8e901f8b9e898d058b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f
+0ef81d7faef765a8f7feae01c0e7f74af194dc95ebf751e703f84af75015f7dd0a0e
+f7047fa7f744a8f755a701addaf70fc88dd68dc8f70fda03f7bff72815f7de0a0ef8
+86a0b2a001fc25bdf76fb203fbc8f8d71556635b67729e7e9b9a9b959c1f8b9c7b94
+8b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b70
+8b7e7f817c8b678b53c7528b080ef71089adf7c6aef71fadd3a701f755dcf7a7e503
+f7a6f7e615e906f70aca4c314e692ffb2c398492ac1ff84c04f79badfb9ba806a799
+9ab41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1e
+a606b29a7d6d1f6ffb4669f746fc4a07687f7f641e6d06858988861f8b788d89058b
+d88dbd1ec58b8c89e48bf75c8bc5e58be18be858c125b16b974a8d678b083c060e58
+89aaf752abf724adf7a17701f70ed6f763d603f828f71015394a7e5a5c5d95ae1ef7
+25eb07d3b260571ffb63f8d215740677827d8779877a88ffffdb8000fffffaccccff
+ffef8000ffffff3334088d73058b88ff0002ccccfffffe3334ff00033334ffffffcc
+cc08ab89059f8bff0009999a80ff000066665208fb242669f0fbd7076e827b691e73
+06868888861f8b788d89058bcf8db41ebe8ba789be8b08f704dabedfea27a22c1f34
+f724f75badfb5b060e6b86a2f7a1a37c9ff7cfa312f700daf77be313dcf751f8db15
+f7a10a13bcf7a20affffaee666ffff24333415ffffbe199aff004bcccc6c74ecffff
+8f999a058bffffb79999ffffffe666ffffd2cccdfffffe199a3e89377d8745888585
+8b809185bc8ca98fbe8bc38baf87bd8a91918b96859108468f6a908ac5ffffff6666
+ff002ccccdffffff6667ff0028cccdffffff9999b408ff0013999affffe96666a8a6
+5aff003833348bff0017cccc0513dca184a889ad8b08f74abff706e0c666f702fb4d
+1f718b4581638b598b6f8f598c85858b809185d1889a868c38ff0000cccd47ff0000
+cccdffffd2e666ff00004cccffffc44cce080e4ffb7ea8f757adf805b966a812ecd5
+f766de13ecf73ff7cb15a1c0bca8ad8bc88bb74b8bfb0d8bffffd56666fffffb6666
+ffffd28000ffffee4cceffffdce66708ffffa84cccff006533336c73eaffff926666
+05ffffed4cccffffee6666ffffe63334fffff53334ffffdc80008b7b8b6a8d68b408
+f7fe0413dc898d058b74897d68478d8b1e89898b78058b868efffffd800090ffffff
+8000089e8905ff00216666fffffc8000ff0009999afffff380008b6f08fc97078b6f
+fffff28000fffff3199affffe28000fffffce6660878890586ffffff800088fffffd
+80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff
+0000800008788d05ffffe0999aff00034ccdfffff46666ff000cb3338ba708f73f07
+a57da783af8bff0026999a8bff0021199aff00096666ff001e6666ff0014b33408ff
+0048e666ffffabe666a8a5ffffb8199aff0053199a05ff00004cccff00004cccff00
+004cceff00004ccdff00004cccff00004ccdb8b9a4c98bdc0813ecf7d30a0e4289a7
+f8d8b270a712f4dcf79aa513b8f725f918157e8b7f8c258c0889898b7905868e888f
+1ea906b69481681ffc8a076d7c7c631e7106878788861f8b798d89058be18db3aee8
+898b1e8d8d8b9d0590888e871e7006627e9ca71ff88a0713d8a69991a11ef71b06cc
+8b997b975b08a58f8bf770708b0585546e49588b08fb1e060efb3889a8f7fbb770a6
+12f3d5f73ca013d8f3d3156e817b6a1e7306868888861f8b788d89058bd48daeb2d4
+898b1e8d8d8b9e0590878e871e73066a819ba81ff7cef70a07a98b9880927608a0f7
+50700688557151568b0813b8fb7b7506888d898e1eaa06af8990828b65080e4c89ac
+f794b2f7abb36cac12eee0f7a0a813ecf721f9191513dc8b8b3c8c598c85858b7691
+85d1889c868b3808fb593b64dbfb39078b387a86458885858b769185bc8ca98cbe8b
+bd8ba88abd8a91918ba08591458e7a908bde08f739f4b222f7890713ecf79b0a13dc
+f79c0a13ecf79d0a0efb3389a8f74ab2f722b270a812f5d6f73fa613ecf749f78c15
+e807b59192ac1eb206c58ba152985108a68f0585be87b989c00813dc898d0513ecf7
+c60a13dc6d398d8b1f13ec88898b750513dc8b888dfffffe4ccc8fffffffb33408a9
+8905aefffffdb33491fffff84ccc8b6508233664e0fb1b078b6efffff4999afffff2
+b333ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d
+89058bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05
+ffffde6666ff0002e666fffff6999aff000d199a8ba808f71be8b2070eabfb40a8f7
+21acf7ccaaf77bb36cac12eee07fa2f795a880da13f480f8b9e815f785fb6bb3fb2a
+1ef75907a39795a31ef70f0613ed00d68b9859a046ff0009b334fffffeccccff0009
+9998ff0000e668ff0009b334ff00044cccfffffbe666ff00544cccfffffa999aff00
+26e668fffffa8000ff0021cccc0813f480648a3a8a8b8b08fb610613ec808b8b3c8c
+598c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8ca98c
+be8bbd8ba88abd8a91918ba08591458e7a908bde08f77107f72df71959fb66fb3d47
+52401f5b8b6c99769e799c7ea38ba60813f28073fb2ca2068b908ca88d908c8e9191
+958b9a8ba171dd8b08f712e4f70af7271f0e59fb7eadf75aa8ff00a8e666ff002219
+9af734b270a812f5d645ddf733a688d913f480f5d5158b6efffff4999afffff2b333
+ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d8905
+8bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05ffff
+de6666ff0002e666fffff6999aff000d199a8ba808ff0079e66607ff005e199affff
+fe199aff0064e666ffffd7999a8bffff4e66668bfb006f47428b0813f280498b81b6
+85ac87a37a97748b08747c7c6e60bf50f5f70cccf700f7101f13f5008bff00c8999a
+ffff5b4cccff001e3333ffff93b334ff0001333308f70307b59192ac1eb206c58ba1
+52985108a68f0585be87b989c00813ec80898d0513f480f7c60a13ec806d398d8b1f
+13f48088898b750513ec80f7c70a0ef7c689a8f7bdb5f774c86aa812f819e0f800a6
+13ec91168b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f8061880870
+8905878888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e87
+1e718d05638e7c948ba908f79107f48b9d6aaf27ff0018b334ffffbd999aff001633
+34ffffc84ccca9ffffdde66608fffffa1998fffffb333305a472b17ca270a968995f
+8f7208a68b85f72705ffffffccccff00038000ffffff4ccc8efffffee668ff000299
+9a08ff0003e6660790898e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7
+a0e195c990a891aca78b978b9386958094819886978b089fa096a8a27aa8591f408b
+7153824d83537d4b546b757d618a698b08f764078ba79a96b38e0813dcf7bd0a13ec
+f7be0a0ef71189a8f74badf70cd16ba812f7b9d6f7a4a413dcf7b9ff00d1e66615ff
+ff76199a076e827b691e8406868888861f8b788d89058bc38dafb2c5898b1e8d8d8b
+9e0590878e861e83066a819ba81ff71e07ff00526666fffffee666ff000de666ffff
+db3334ff0013b334ffffc4e6669a60a644a28bb68bb338935f08a48b85f71a058a9e
+7e8d7b8b798b718f5cf71278bc5fa0668bac90aeb0a2be96a194a0988b928b9e839c
+8b08a19a9e9fa17b9c691f6d8b6e706e4e62346e7d578b087df70806a89598ac1e93
+06908f8e901f8b9e898d058b51896467538d8b1e89898b7805868e88901e9206ad94
+7e6e1ffb087f07578b6e9962e20813ec6ec96fa66c8b08697c7a74779a79a01f9d8b
+9d93938b978b96769475a058b166ab85678b5e7779597d65672c698b08820687848a
+841f8b7b8e89cf8d05b88ba7d398b408ff00138000ff003a999aff000dcccdff0024
+9999ff0050b333ff0001b333080e9cfb7db1f74baff7b9bcf70b76f734ad12cfa9f7
+3bc6ece34be713fe80f70dfb3a15a85eb075b48bc08bb6a88bc28bff00324ccdffff
+e3b334ff0036cccdffffcf6666ff00214ccc98ffffff199aff000d999affffff8000
+ff000e4ccc8bf7138bf70ec58bf7178be04ad02d9a08910713ff00f7c00a13fe80f7
+0db0414230504e281f3d8b58ab72ba7ea57ca56f8b778b7e7b8b738b6a9e78a673ff
+000f999afffff1e666a5fffff2cccdff00238000fffff6800008fffffde666fffffd
+cccd05ca78b0518b488b727271678b6e8b7a9876a2080efb1ffb7db1f825b4f735aa
+12c3a4f73cc687d951dc13faf4fb3a15a95eaf75b48bc18bb5a88bcc8bff0040e666
+ffffe58000b6ffffd1b333ff00158000ff00581999ff0004999aff0051b334b58bdd
+8bc757b4409508900713f4f7cc0a13fadea2585f506667461f568b6ba678ac819c81
+9a738b7a8b7c7d8b7b8b75997b9f7bff0010199afffff36666ff001d4cccfffff1e6
+67ff0029999afffff8b33308868605cf81a66c8b398b727366668b6e8b7b9875a208
+0ecf86a2f7ceb2f76eca72a212f702daf825a713ecf8e1a7155b8b75ad45f7050841
+f70c057ba76fa4718bd4a3aee7a1c69bb8a4a0958ba68ba572a58b08a0a29da3a27b
+a2571ffb008b7132826e7c566d4b546cffffe6b334fffff26666ffffd01999fffffe
+b334ffffdc4ccdffffffe666ff00003333ff00378000ff0000cccdff002c199aff00
+01e666ff004166660813dcff00028000de998ed19091918b9685916689ffffc18000
+886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d38088d388c5a
+8b388b388a5d89388938fffff0800086458885858b809185b28dc88ea98ba98bc589
+b4880891918b968591458efffff180009089de89ff005280008aff002d80008bde08
+9707ff00363333ffffff199aff00209999ffffe58000ff002d3334ffffb3666608d7
+fb0d05b24daf6fab73b36daa729a3c08a78b84f72905938a97761e0e4c89a8f74bad
+f70bd16ca812e5d6f7bfa213ece5d3156e827b691e8406868888861f8b788d89058b
+c38dafb2c5898b1e8d8d8b9e0590878e861e83066a819ba81ff71e07ea8b9b65a350
+9c62ab44bb7db57f9e50915f08a28b86f71a058a9e768d808b668b63e77bb178bc58
+a0638baf90b1b0a6be96a197a0988b948b9f839f8b08a39b9e9fa17d9c651f698b6c
+706b4e5d34677d528b0878f7080613dca89598ac1e9306908f8e901f8b9e898d058b
+51896467538d8b1e89898b7805868e88901e9206ad947e6e1f0eb886a2f7caabf77a
+c873a212f702dad9b713ecf7cbf70d15ff00a7999a07ff00148000ffffeaccccff00
+0de666ffffe0b334ff0011999affffd2e666b6fb02afffffb6cccdd9fffff73333ff
+000ee668fffffe4ccdff001f4cccfffffdb333ff001bcccc8b91918b9685916cff00
+078000fffff266689472abffffe57ffeff0021999affffe23334ff0037b333ffffe1
+e666ff004e333308ffffe5e666ff0043999affffdbb334ff002b4cccffffbf6666ff
+0002e66608ff0006800007ff00458000aaff0013e666ff0052e668ff000a999aff00
+3bcccc90a892aca98b988b9386968095819986988b08a0a296a8a279a8561fffffbc
+33348bffffdacccc53814dfffff7b334ffffcc999affffee1998ffffc04cccffffd5
+3334ffffdf199a08f7395fffff48800007ffffe7999afffffb4cccffffe23333ffff
+fee668ffffe84ccdffffff4cccff00003333ff003cccccff00009999ff002d999aff
+0002199aff0045999a0813dcff00028000de998ed19091918b9685916689ffffc180
+00886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d38088d388c
+5a8b388b388a5d89388938fffff0800086458885858b809185b28dc88ea98ba98bc5
+89b4880891918b968591458efffff180009089de89ff005280008aff002d80008bde
+089307ff0020cccdfffffe999aff00191999fffffc4cccff0014199afffff9199a08
+fb57070e8789a8f74badf715d063a812f3d6ceb713ecf7b6d315f71007ff002e3334
+ffffefe666ff000c8000ffffe2cccdff000f4cccffffda4ccd9c62a843bd8a08d48a
+8d8d8b9e0592848c871e8306668b63e77bb177bc64a0558bbe93a5bd9bb195a198a7
+968b928b958a908793879786958b08a09b9d9fa47a9f651f5b8b7254765effffee66
+66ffffd8ccccffffeb3334ffffd8ccceffffcf6666fffff1e66608ff006880005ffb
+0248f7060713dcb4a18ea68f8f8e901e8b9e898d058b54896467478d8b1e89898b78
+05868e88901e9e06ad947b6f1ffbb5076f827d691e7806868888861f8b788d89058b
+cf8dafb2c4898b1e8d8d8b9e0590878e87786b8eb21ef72107ff001a4ccdffffffcc
+cdff00161999fffffe9999ff0012999afffffd800008ffff7a199a070eb886a2f7ca
+abf713b2cbc873a212f702da13f4f89c8a15ff000ee668fffffe4ccdff001f4cccff
+fffdb333ff001bcccc8b91918b9685916cff00078000fffff266689472abffffe57f
+feff0021999affffe23334ff0037b333ffffe1e666ff004e333370d165b7468b088a
+8e05d7a7a0e296c990a892aca98b988b9386968095819986988b08a0a296a8a279a8
+561fffffbc33348bffffdacccc53814d8253ffffeb8000ffffb98000ffffcc8000ff
+ffe28000ffffe7e666fffff23334ffffce3334fffffdcccc678aff00001999ff002d
+6666ff00006667ff0024e666ff00011999ff002cb33408ff00614ccdb2ffff9fb333
+06ff00001999ff00034cccff00001999ff00034cccff0000199aff000366680813ec
+ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e
+6b8d85858b809185d185ff000f8000898d3808ff0000199afffffc99988bfffffcb3
+34ff00001999fffffcb33408ffffa5cccd64ff005b199a06ff00013335ffffc7999a
+ff0000b333ffffd3b3328bffffbeb3348b388a5d89388938fffff080008645888585
+8b809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de89
+ff005280008aff002d80008bde089307f70686a06bb22708b6fb02afffffb6cccdd9
+fffff73333080e3989a8ff00b64ccdff0022b333f715d0afad01f3ff004a666603f7
+46d015ff00004ccdff008c4ccd05ff004b199afffffa6667ff00138000ffffdb8000
+ff0015199affffc9cccd9c62a843bd8a08d48a8d8d8b9e0592848c871e8306668b63
+e77cb176bc64a0558bbe93a5bd9bb195a198a7968b938b948a918792879786958b08
+a09c9d9fa4799f651f5b8b7254775e75ffffcf199affffe4199affffcf1999ffffb0
+4cccffffffcccd08ff00008000f77eff009c199a8b8badffff64199a8b05ff0001b3
+33ff00321998ff0012b333ff0038199cff00418000ff0028cccc087ca00541657462
+7f6f81a772b841ad087c7605ff00426666ffffd73334ff0012cccdffffc7e664ff00
+01b333ffffcde66808ffffb4199a69d7fc2a066d827c691e7806868888861f8b788d
+89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8098a81f0ef75389a8ff
+0136e666ff002b199af764ca5fb16fa712f795db13e4f97989158d8d8b9e0590878e
+861e8106678b53d850f71870c76fc9468bd8a4aee6a0c595a7a5a8978b998b988698
+8498849885988b08a0a29da3a27ba2571f358b6d5773517658724c526bffffe7999a
+fffff2e666ffffd2999afffffe4cceffffdcccccffffffcccc08f7550713cca7999b
+b41ea506908e8e901f8b9e898c058b2e8a671effffef199a8bffffe63333ff000033
+34ffffe83333ff000033340813d4ffffff8000ff00009998518b0513ccfb1d8b79fb
+3b9c8b0595a898a99da90813d4959e9fa0ac8b08ff006b999a06ff00096666fffff8
+cccc8ffffff4b3348bfffff0800008fc8b076f7d7b621e7106868888861f8b788d89
+058be88dafb2e2898b1e8d8d8b9e0590878e861e7106647b99a91fff010ae66607ff
+0076b334fffffde666ff00111998ffffc74cceff00293334ffff9ce666b7fb00a943
+db8a080e9289a8ff00b6199aff0022e666f715d062a912a39cf724d613ecf798d015
+ff008c199a07ff004a8000fffffa1999ff0012999affffdb999aff0015e666ffffca
+33339c62a843bd8a08d38a8e8d8b9e0592848c871e8306668b63e77bb177bc64a055
+8bbe93a5bd9bb194a199a7958b938b948a918793879786958b08a09b9d9fa47a9f65
+1f5b8b7254765effffea3334ffffcf6666ffffe53332ffffcf6667ffffb0999affff
+ff333308f70807a89598ac1e93068f8f8e901f8b9e0513dc898d058b5289641effff
+f14ccd8bffffebcccdff00004cccffffed6666ff0000666808ffffe38000ff00014c
+cc758b408b79fb1a9c8b05a5f0a98cc18d08ff0003999aff0000199a05ff0017b333
+fffffc4cccff0006b333fffff0ccce8bffffe7cccc08fbb5076f827d691e78068688
+88861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8199a71f
+0ef71f89a8f7bdb2f793a701f5dcf7dbdbbfa703f89416e98baa29946008a78b84f7
+2605987d92841e7b066c8696af1ff88a07a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffb67fbdbf76707a7
+999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f
+1ea606b29a7d6d1ffc8a076f7e7a621e7006878888861f8b788d89058be88daeb3e1
+898b1e8d8d8b9e0590878e871e7106637c99aa1ff790f7dbfb90076f7d7a621e7106
+868888861f8b788d89058bbf8dac1e0e8b89a8f74dadf730a801f3d5f761d6c59f03
+f85ed515f7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b750587
+8d8a8e1ea006af9082641ffb00fb61f70107b49291ad1e9f068f8d8d8f1f8ba08a8d
+fb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658682678a087106
+888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84928bb308f7
+1df761fb1e07648783661e7606888989871f8b768d89cd8c05f38ba1259172089f8b
+86f71b059784937d1e7b066b8797ae1f0ef7b886a2f7cba5f78fb774a212f5e0f7eb
+def761a513eef753f7011589df8abc8bdb9690e78dc78bc78bf7058a97858a468c46
+894089387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b96859145
+8e7b9089de89dd8bb98bde8bde8bbc8ddf08ff0000e668ff0023ccccff00036664ff
+00154cccff00094cccff000ce66808ff000066688bdc8b05cd8ba7569b4308a58f78
+f735056b8b6d89658bfffff9b3348bfffff8e664ff00006668fffff8b334ff000066
+64ffffff4cccff0001e668fffffee668ff0001ccccfffffe8000ff000180005a8a6d
+87588b0813de598b6e8f598c85858b809185d1889b868d388d458b618b4d8485fb09
+8a4f8b4f8b2a8d8490088bca8cb48dd18dde9990d18e91918b9685915a8a6d87588b
+598b708f598c85858b80918508d18899868d388d388d5a8b388b38895d893889387d
+86458885858b809185bc8ca88fbe8b08bd8ba787bd8a91918b96859108458e7d9089
+de080ef73789a8f74dadf725b36ea812f2d6f761d6f779a513eef813d8158b65ffff
+fb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe3333
+8b88088b758c8905a98cb58caf8bb08baf8aa98a088d8d8ba0058b8f89ff0001999a
+87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348bb308f7
+a8078bff00038000ff0000199aff00033334ff0000199a8eff0001cccca2ff000f4c
+ccff00054cccff0014b3348b08dc06cd8ba7569b4308a58f77f734056c8b6d89658b
+7d8b798e7a8b08ffffeb3334ffffff999affffffccccff00006666056d8a668a668b
+0813de678b628c6d8c0889898b75058b878dffffff33348effffffcccc08a58905ff
+0020b334fffffd8000ff00084cccfffff980008b650820fb61f6078bb4ff00078000
+ff0002b334ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f08
+8ba08a8d056d8a658a668b678b638c6d8c0889898b75058b878dffffff33348effff
+ffcccc08a58905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8078b
+65fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89ffff
+fe33338b88088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89ff00
+01999a87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348b
+b308f71bf761070ef828fb40a8f71ea2f7d9aaf785a979a212f700d8f7bdd87ca2f7
+a7da13ee80fa2de8158bff00ef6666ffff2cccccff0029199affff693334ff000080
+0008f733078bde9c93d18e91918b9685910813f680598a5b87708b08fc0b0613ee80
+f79e0a13f680c9a197a31ef76106a3a17f4d1ffc41078b387a83458885858b809185
+bd8cff001a33348fff0030cccc8bff003133348bff001bcccc87bc8a91918b968591
+458e7a938bde08f77b07ff0097b334ffffff4cccff00834cccffffcd4cce8bffff2f
+66668bfb3d4752408b5b8b6c99769e799c7ea38ba60813ed8073fb2ca2068b908ca8
+8d908c8e9191958b9a8ba271dd8b08f711e4f70af7271f0ef776fb7eadf75aa8ff00
+a8e666adff00a0199ab270a812f5d6f75fd543def74bd813f680f5f7f315fba7078b
+68fffffab333fffff66666ffffdc4ccdfffffd999a086d890587ffffffb33389ffff
+fe4ccd8b88088b758d89058bff00444ccd8dff002bb333ff002a8000ff0042800089
+8b1e8c8d8ba0058b8f89ff0001cccd88ff0000333308708d05ffffde4ccdff000280
+00fffff9b333ff000680008bb108f7a707ae9f8fa01ef70d069fa089661ffba7078b
+68fffffab334fffff6999affffdc4cccfffffd66660870890588ffffffcccd89ffff
+fe33338b88088b758c89058bff0043199a8dff002ae666ff002bb334ff00444ccc89
+8b1e8c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd4cccff00024c
+cdfffff9b334ff0006b3338bb108ff0077e66607ff005d9998fffffd999aff006466
+68ffffd6cccd8bffff4fb3338bfb006e47428b0813ed80498b82b685ac87a37a9773
+8b08747c7c6e60bf50f5f70cccf700f7101f13ee808bf75bffff5c4cccff001f8000
+ffff94b334ff0001666608ff007a199a078bb4ff0003199aff00048000ff0025e666
+ff0002800008a98d058fff00004ccc8dff0001b3348b8f0813f6808ba00513ee808a
+8d0513f6808b45895e1efba90613ee80f7d10a13f68089898b750513ee80f7d20a0e
+f707fb28b3f894b1f746b201ade7f722e0f758d89da203f8bafb0015ffffbb33348b
+ffffd23332ff002ae666ffffe2199aff0037199aff007d1998ff000db333ff005f66
+68ff0052e6678bff008a666608f362f705fb1dfb1558fb02fb1c1e8bffffd46666ff
+0008e666ffffc18000ff00183334ffffc43334ffff7eb333ff00208000ffffd23333
+ff007e19998bff008b4ccd8bf712dcf73af70a8bb08bad88a7579b6e997ca58ba18b
+979f8b9f088ba17aa0759c729f619d4c8bfb338bfb2cfb298bfb498bffff3ee666ff
+00623333ffff80999aff00bbb333ffffedcccdff00296666ffffb44ccdff00463334
+ffffc16666ff007180008b08cc069d9b797a1fa28d05899e89a98b9e8ba68da68da7
+08768d05647f63371effff5f999aff0083b33315ffffe38000ff0045b332fffff7e6
+66ff004e33348bff0023666608f713add1c8dc9f42fb0f1e8bffff89999affff9c19
+9affffc84cccffffc48000fffff5cccd080e87fb08a7f7fba5f710a701aedaebd5f7
+32d19ba103f84f3315ffffc5e6668bffffda999aff001de666ffffe84cccff002666
+67ff0068999aff00093333ff0053999aff003a199a8bff0066666608df57ca292a54
+44261e8bffffe1cccdff0006b333ffffd51999ff0012e667ffffd6b334ffff9d6666
+ff001b999974ff0061999a8bff005833338bd6c1f70eea8bab8ba889a46799779781
+a18b9f8b95988b99088b9a7c9a799775996598558bfb1b8bfb02268bfb138bfb1cff
+004ae666ffffa6b333ff008d999afffff16667ff0021999affffcaccccff0039e666
+ffffd4199aea8b08c4069b9c6c7f1fa88d05899886b28b998b9d8cad8d9e08708c05
+708161421effff7c6666ff005b999a15ffffe9999aff0030e66686c28bff00188000
+08daa6c7becc9a563c1e8bfffface666ffffc4b334ffffd18000ffffb8b332fffffa
+3334080ee4fb7db1f74db4f8eca601b0e5f77bc6f737a203f76bfb3a15a85eaf75b4
+8bc18bb5a88bc28bff0032999affffe33334ff00376666ffffceccccff002133338f
+ffffffe6678fffffffe6668f8bec8beeb9cfe486948491808b08443d476c2e8b08fb
+2f3df731f726ff00a3e666ff0068e666ff0085199aff007d199a1ff71e8bc62fa535
+ff00093334ffffff3334ff000699988cff00073334ff0004cccc86bf84bb81c25890
+5eb3fb0f8bfb5a8bfb13ffff6566668bffff43999a8bffff6a999aff0046999affff
+7f1999ff0097999affffdb999a08ffffffccccffffffb33305c978b0518b488b7273
+71678b6d8b7b9875a2080efb22fb79b2ff00b4199aff0024e666f805a212aed7f748
+c65fdd13f8f728fb3515a85eb074b48bc18bb4aa8bcb8bff00416666ffffe5b334ff
+002ab334ffffd24cccff0015b333ff00274cccff000a3333ff0025999aff0019999a
+ff0022199aff003766668794898b828c6b61586f628b08404bd3f70cf4c4d3ca1f13
+f4c38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb22f2d2035fb
+1b1f8bffff876666ff0047199a37ff0073ccccfffffcb3340813f8ff0030e666ffff
+f29999ff00143334ffffdf4ccd8b448b727465668b6d8b7c9974a2080e8c89a8f8d0
+b201f786dcc0a603f7d6d615f87607ac9794af1eda06c28b9c80a03b08a2906af72f
+7185057b8a837c1efc40067b8a939b1f71916afb2fa386059fdb9c96c28b08e606af
+98826c1ffc7b076f7d7a621e7106868888861f8b788d89d68b05ec8bae47994408a6
+8b84f725058a977e93848b087a066a889faa1f0efb0789a8f7ffb201a69ff71dd6c2
+a1ca9f03f797d715f7cdd207c68b85829b40089ff71d067188058685867d1efbc006
+7c8690901f728e8afb1d9f8b059fd78294bc8b08d8fbd0068b648684688a08620687
+8989871f74e307ee8ba339917108a18b88f708058a998192818b087a066c8698af1f
+0ebc86a2f8f5a201f7a6e003f7fbf70115700a0e98fb7aa8f8efa801f78ed603f78e
+fb31156e827c6a1e7706878888861f8b788d89058bce8dafb2d0898b1e8d8d8b9e05
+90878e861e78066a819aa81f8bf731f729f7fa0597a79a9ba98b08a106918e8d911f
+8b9e8a8d058b3c89827e3c8d8b1e8a898b7705888c87901ea806a08f88811f8b8588
+7d878208fb13fbccfb16f7cc05869587988b910894918f9e1ea8068f8d8f8f1f8b9e
+8a8d058b2489857e2e8d8b1e8a898b770585928a8e1e9706998b9589908898839579
+917e08f734fc06050ebc86a2f754b3f80da201ff0114199aff004fe66603f7fbf701
+1588ff009eb334058bff0027ccccff0005b33499ff0006e666ff000c800008ff007f
+b332f77b05a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a638874
+8b748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e6
+6808ffff89199afb7405827afffff8e6668efffff733349b08ffff81ccccf77205ff
+ffe7cccdff002a9998ff000e3333ff00056668c38e91918b968591638a6587638b64
+8b608f6d8c85858c809185b588ff001f199afffff76668ff00289999ffffbb999808
+ff00836667fb7105ff00118000ffffe28000ff00066666ffffff80008b6608ffffff
+e66682fffe824ccc8b8b63ff017ce6688bfffffde6662605fffffe66663afffff099
+9a843b8885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cc
+cc87bd8a91918b9685913b8efffff0800092fffffe8000dc080e98fb7aa8f75db2f7
+ffa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89058bce8dafb2
+d0898b1e8d8d8b9e0590878e861e78066a819aa81ff731f744b2ffff60333407ff00
+84ccccf7d30597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e3c8d8b1e
+8a898b7705888c87901ea806a08f88811f8b85887d878208fb13fbccfb16f7cc0586
+9587988b910894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d8b1e8a89
+8b770585928a8e1e9706998b9589908898839579917e08ff0089e666fbd3ffff6019
+9a8b8b64ff00b0cccd8bff000533337f050edf89a8f8e3a601f7a8e8f792a603f89d
+8c15cf8ba526936208a68b86f72805968794741e7d8b7a9e72ad08fb45f77c058198
+85958b958b948f94949708f720f75205acb8a293a78b089c06938c8f8e1f8b9f888c
+057a8b408a868b808b488c768b08898a8b7705868e898f1ea906999288821f8b8486
+7e817d08fb15fb430585838787888b888b878f869208fb11f74405819983988b9308
+92918f9c1eb3068e8d8d901f9f078a878c8b1f6d8b2f8a868b808b4b8c718b08868a
+8b770585928a901e8d06ab8b9a79a26c08f73ffb7505948090828b818b8588838482
+08fb2efb6605746b7075678b087f06858689861f8b778c89058bda8d909aec898b1e
+8e8d8b9f058b8e8a8e868c087806788193961f8b939095949808f718f74905929490
+908e8b8f8b8f88918308f71cfb5005967c937f8b8408838387731e7306888888871f
+8b778e89058bcd8eae1e0e3989a8f80ba801f7ea8a15e08b9d449753089f8b86f71b
+058a9985917d8b087a06798b858e6cb70823f727058a8e8a8d8b8d8b8c8b8d8d8d08
+e8f70e05a6b09b95ab8b088f0692908c921f8b9e8a8d058b5a896b6d5b8d8b1e8888
+8b7805868e898f1e9a069d8e89831f8b8589827d7708482f0588868888898b898b89
+8e8791084ee7057f9c87958b9008928e909f1e9b068f8e8e901f8b9d888efb028937
+8d89888b7805879188911e8e06ad8b9c7a9f6d08effb26058d888c898b898b898a89
+8989082ffb0e05746d7b7a6d8b088206828787851f8b7a8d89058bba8da8acbf898b
+1e8c8d8b9e0590898e861e7e067a848d941f8b908f93989f08cce7058e8f8e8f8d8b
+8d8b8d898e8608c63b05a16890828b8708848689791e8006858988861f8b788d8905
+8bb38ca51e0ef7c28aa871aef8d5b268a71295a294a6f749dcf73da595a2f70bdcbe
+a5138fe0f78ef8d015fc85078b6385856a8a087106868786861f8b7a8d8905134fe0
+f7008ec78b05f723f7468a8b1ff08ba6449a4408a58b87f72905139fe0997d91841e
+7a066a899daa1ff883078bac8d97af8c08a9068f8d8d8e1f8ba1888cfb088afb008c
+898a8b7505878d8a8e1ea906b18a8c7e8b6b08fc7d07136fe06b887d671efba1066c
+8390b41ff87d07ac9794af1ecb06c38b9c809f3b08a2906af730718405838b7b7b1e
+fc23067b8b9a941f70926bfb30a286059fdb9c96c28b08d806af97806c1f0ef7348b
+b264a7f80ab264a812ad9f78a5f713d6f723a0f70bd6c4a01367c0f7c1f82515af06
+c68b85829b4008a0f71f067087058585867d1efbbf067b8790911f718f05136bc08a
+fb1f9f8b059fd78294bd8b08ab06af9082651ffbb007648687671e7b06888989871f
+8b768d89e88cf7da8b05f5a424721fa08b87f71b058a998192818b087a066c8697af
+1ff7aa071397c0b49292ad1ea4068f8d8d8e1f8ba1898dfb0489298d89898b750587
+8d8a8f1ea006ae9082641ffb9e0769887c661efb5f06688697b01ff79f07b49390a9
+1e0ed48aa6f76bc5f7d4a601ecdcf7a3dbc1a603f8a5d515f88b07b09190ad1ea806
+8f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb72074e5548
+896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008afb008c8b76
+05888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08fb95076987
+7e671e6406878a89881f75d307e78bb651963908a68b84f726058a9a7e90848b087a
+066a889daa1f0e5e8aa8f702aff778a801e1d6f752d5c59f03f83dd715f7aa07b492
+92ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e9b06af9082
+641ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d8f1f8ba089
+8d2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1ec08bc199af
+be08fb1307648682671e7b06878989871f8b768d89c98b05eb8ba53d945a089f8b87
+f71b05998092811e7a066c8697af1f0ed486a2f77cff0034e666ffffd2999aff002d
+999aff0143e666a212f5daeab8f711e013bef7d9f71315ff0082800007ff0027e666
+ff0008e666ff002b199aff0011999ab8ff001ee6668bffffb0cccd8affffd24ccd89
+3a8938fffff0800086458885858b809185b28dc88ea98ba98bc589b4880891918b96
+8591458efffff180009089de89ff005280008aff002d80008bde8bdeff00008000bc
+ff00028000dfff00028000de998ed19091918b968591086689ffffc18000886d8b6d
+8bffffbc80008e6b8d85858b809185d185ff000f8000898d38ff0001cccc418cffff
+d1199aff00003334ffffbbe666ffffd03334ffffe0ccccffffd06666fffff63334ff
+ffdf6666fffffd199a08ff00d3e6665e0713deffff2be66607ffffc36666ff0005b3
+34ffffdc4ccdff0022ccccff00014ccdff0049999a088df70805ff00016666deff00
+12999a93d18e91918b9685915d88ffffc9b33389ffffe24ccd8bffffe2b3338bffff
+c74ccd8d608e85858b809185d188ff0015999a83fffffe66663808892205fffffe19
+9affff9d4cccff001ce666ffffb0b334f7108bff000780008bff0007b334ff000033
+33ff0007ccccff0000999a08ffff843333070e5e89a8f70baef771a801d2d6e3b7c4
+d603f7aade15ff0049cccd07ff0014199aff0007199aff0011999aff000ab334ff00
+134cccff000e666608fb03078b64fffffb3334fffffa8000ffffdbccccfffffb8000
+087b890587ffffff800089fffffe80008b87088b768d89058bc68db4b0c6898b1e8d
+8d8ba1058b8e89ff0001999a88ff00006666087a8d05ffffdb6666ff00044cccffff
+fc999aff0006b3348bb108f7a7078bb4ff0009199aff0005ccccff001ee666ff0001
+333408a58c058eff0000199a8dff0001e6668b8e088ba18a8d058bffffbbb33489ff
+ffd44cccffffdbb334ffffc74ccc8d8b1e89898b75058b878dffffff4ccc8fffffff
+b334089a8a05ff0022ccccfffffdb334ff00063334fffff94ccc8b6408fb1407ffff
+ef199affffef199affffed199afffff4b333ffffeaccccfffff9199908ff007e199a
+5fffff79b33307fffff9cccdffffff9999fffff9b333ffffffb333fffff980008b08
+4d84add91fcd078babff00073333ff0007ccccff0020cccdff00023334089a8c058f
+ff00004ccc8dff0001b3348b8f088ba08a8d058b4e8964ffffddb333ffffca4ccd8d
+8b1e8a898b75058b878dffffff66668effffff999a08938a05ff00224ccdfffffbb3
+34ff0006b333fffffb4ccc8b6508520721ae5eed1eff000acccd8b95ff00008000ff
+00093333ff0000e66608ffffbf999a070eec8aa8f803b9f745a701f5dcf7bddc03f7
+4ff7d415d1bdd6a4aa8b08d7b8633a1ffb5e076e827c661e7e06868888861f8b788d
+89058bcc8db2b5d5898b1e8e8d8b9e0590868e861e760668809aa81ff76607f25cc3
+271e4c8b41742d5408f76707a7999bb41ea506908e8e901f8b9e898c058b2e8a6764
+348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8b076f7e7c621e7006878888
+861f8b788d89058be88daeb3da898b1e8d8d8b9e0590878e871e7806637c98a91f0e
+798aa8f7a5bac1a801f1d6f764d603f745d315f73107ff002f999aff002e6666ff00
+2a999aff0019999aff001ccccc8b08c3ac783a1ffb15076e827c691e780686888886
+1f8b788d89058bcf8dafb2cf898b1e8d8d8b9e0590878e871e78066a819aa81ff70a
+07f25cc2421effffd933348bffffc66666fffff13334ffffbd6666ffffbdcccc08e6
+07a7949bad1e9a06908e8e901f8b9e898d058b4b896764478d8b1e89898b7805868f
+888f1e9e06ac957b6f1ffbb2076e827c691e7806868888861f8b788d89058bcf8daf
+b2cc898b1e8d8d8b9e0590878e861e7c066a819aa81f0ef78a7fadf800b7ffffdfe6
+66ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284ccdff
+00761999e5ffffb6999aff0056b33213def953f70e1556584e5a2e8bfb1b8b25f721
+8bf74e8b988b988c9608f8860680f7223af716fb548b0813bdf7ea0a13defffffbb3
+33ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb32ebfb41f76b8bf7028b
+c4b0dad4085bf7e015fffe7db3340613bdf7eb0a0e7081b0f75fff001e8000fffff4
+8000ff0027199aff005ae666c463a212a5afdad7ffffc56666cfff00c8999ad713ce
+80f878e41568676a71548b698b599f6dbc78aa80bb8bc208f7a08f0596ff00003333
+92ff0006cccd8b958bdb6ae3fb198b0813b580f7ec0a13ce80fffffc4cccffffee99
+9a89ffffed4ccc8bffffec199a8b569956aa67ab65bd74d08bd38bc4acb1bd088895
+8590808c0813cd80fffefe6666f75b15f7ed0a0ef78afb65b1f733adf800b7ffffdf
+e666ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284ccd
+ff00761999e5ffffb6999aff0056b332ff00d0b334c713ef40f940fb22157b920575
+757b7d6e8b668b74a58ba58bff003d4ccdff00243334ff00289999c1ff00298000ff
+001f80009dff001d9998ff00188000ff0021b334ff001f199a0874a30556584e5a2e
+8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7223af716fb548b0813dec0f7
+ea0a13ef40fffffbb333ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb32
+ebfb41f76b8bff0019199a8bff00164cce8dff00148000ff0003cccdffffda3332ff
+ffdd4ccdffffe2e666ffffd619998bffffd5cccd8b54b56ec18b08b48bb0a1a8b808
+85f8d015fffe7db3340613dec0f7eb0a0e77fb4db1f71db0f75fff001e8000fffff4
+8000ff0027199aff005ae666c463a212a5afdad7ffffc56666cfff0045999ac9d0d7
+13e760f882fb0c158792858f828b75757b7b6e8b668b7ea08ba58bff00298000ff00
+1bb334ff001e199aff0032e666ff002ae666ff001a999aff000e6666ff00169998ff
+0014199aff00123334a388958590808c0868676a71548b698b599f6dbc78aa80bb8b
+c208f7a08f0596ff0000333392ff0006cccd8b958bdb6ae3fb198b0813dae0f7ec0a
+13e760fffffc4cccffffee999a89ffffed4ccc8bffffec199a8b569956aa67ab65bd
+74d08bff00084ccc8bff00083334ff00006666ff0007e666ff0000e667ffffd88000
+ffffdf4ccdffffe6199a698bffffdc66668b55b177bd8b08b48bb39fa8b80813e6e0
+fffef46666f82c15f7ed0a0efb9686a2f8f5a201f702da03f754f701155c0a0ef7c2
+89a8f7bdb5f774c86aa8beaa12f7c4d19ae096d013cff841f96d15f7bb0afc3bfd6d
+158b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f8061880870890587
+8888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e871e718d
+05638e7c948ba908f79107f48b9d6aaf27b4fb02ad3ad58a08d58a8c8d8b9e059089
+8e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7a0e195c90813ef90a891
+aca78b978b9386958094819886978b089fa096a8a27aa8591f408b7153824d83537d
+4b546b757d618a698b08f764078ba79a96b38e0813dff7bd0a13eff7be0a0eef89a8
+f74badf713ce67a8c9aa12f76dd494d697d413cff85ff8d815f7cf0afc49fcd8158e
+89cc8d05b88ca6d299b49fc79eb0df8b08fb1d078b6e80806b8608848a05868a8889
+8b86088b788d89058bc38dafb2c5898b1e8d8d8b9e058b90878d868c08838c056a8f
+81978ba808f71d07df8b9e669f4f9962a644b88a08cc898e8d8b9d058b92858c868c
+08848c056a9067e07cb278be67a05b8b088d07af95a3ae99b50813ef94aa96a1958b
+938b90888f8791859787948b089c9c9e9fa382a0661f608b71577c5a7a536e664e8b
+087af707068ba89594ac8f0813dff7c90a13eff7ca0a0eb6fb40a8f722a8f7cab6f7
+64ca69a712f5dc7ca2f7b0da13f5f8c2e8158bff00ac3334ffff8d999aff00431998
+fb0cff00183334ffffff3332ff00003334ffffff199aff00001998fffffee666ff00
+003334fffffa999aff0001199afffffa999a8cfffffa999aff0000e666ff0049199a
+ff001b8000ff0020ccccff0057e666ff00158000ff0038999a95a7a5a8978b988b99
+8698840897849885998b08a0a29da3a27ba2561f368b6d5773517658724c526bffff
+e7cccc7effffd3199afffffe3334ffffdc199affffffcccc08f7550713eda7999bb4
+1ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea606
+b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3e1898b1e
+8d8d8b9e0590878e871e7106637c98a91ff79f07ff0097e666ffffff6666ff008c19
+9affffd233348bffff2f66668bfb3d3e52408b5b8b6c99769e799c7ea38ba60813f3
+73fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712edf70af7271f0e6b
+fb7eadf75ba8f73bbcf70bd16ca812f3d64bddf75dd813f3ff00f8b333f77515ff00
+03e666ff0000cccdff0003ccccff00009999ff0003999aff0000999aae91b2afa6be
+96a196a0988b948ba0839e8b08a39b9e9fa17e9c651f698b6c706a4e5e34677d518b
+0813ed79f70806a89598ac1e93068f8f8e901f8b9e898d058b52896467478d8b1e89
+898b7805868e88901e9e06ad947b6f1ffbb5076f827e691e7806868888861f8b788d
+89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8198a71ff71207ff005e
+e666ffffffb333ff007c199affffdab3338bffff4a999a8bfb005d47428b0813f349
+8b81b685ac87a37a97748b08747c7c6e60bf50f5f70cddf700f7101f8bff00a4199a
+ffff85e666ff0031e666ffff97cccd98080ef72cfb55a8f737a8f7bcb2f793a701f5
+dca9a2f7a6db03f896d215fb3d4849401e5b8b6b99779e799c7ea38ba60873fb2ca2
+068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af7271ff88a07a7999b
+b41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea5
+06b39a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e8a67
+64348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7b621e70068788
+88861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98aa1f
+f790f7db070e8bfb59adf736a8f74cadf730a812f3d545def754d613f6f813d515fb
+086cfb0d3b1e4a8b81b585ad87a37a96738b08757b7d6e5fbf51f6f722bcf70df72a
+1ff7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b7505878d8a8e
+1ea006af9082641ffb000713fafb61f70106b49291ad1e9f068f8d8d8f1f8ba08a8d
+fb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658683678a087106
+888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84918bb308f7
+1df761070ef73c86a2f7cba5f7a4a201f5e0f7ebde03f753f7011589df8abc8bdb96
+90e78dc78bc78bf7058a97858a468c46894089387b86458885858b80918508ff0015
+6666ff00006666ff0011999a8cff00114ccc8c08ffffc9999affff86999ab68bff00
+374cceff007b999a05ff0008e664ff00004cccff00098000ff0000199aff000a6668
+8bbd8ba987bd8a91918b968591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde
+9b90d18e91918b9685915a8a6d87588b598b6e8f598c85858b809185d1889b868d38
+088d458b618b4d8485fb098a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e9191
+8b968591085a8a6d87588b598b708f598c85858b809185d18899868d388d388d5a8b
+388b38895d89380889387d86458885858b809185bc8ca88fbe8bbd8ba787bd8a9191
+8b968591458e7d9089de080e8889a8f74dadf730a801f2d6f761d603f813d8158b65
+fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe
+33338b88088b758c8905a98cb58caf8bff001780008bff0017199affffff999aff00
+156666ffffff66660854fb0fb78bcef72c688b818c05ffffde8000ff00034cccffff
+f88000ff0004b3348bb308f7a8078bb4ff00078000ff0002b334ff00218000ff0003
+4ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d056d8a668a668b678b
+628c6d8c0889898b75058b878dffffff33348effffffcccc08a58905ff0020b334ff
+fffd8000ff00084cccfffff980008b650820fb61f6078bb4ff00078000ff0002b334
+ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d05
+6d8a658a668b678b638c6d8c0889898b75058b878dffffff33348effffffcccc08a5
+8905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8078b65fffffb99
+9afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe33338b88
+088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89ff0001999a87ff
+0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348bb308f71bf7
+61070ed48aa6f76bc5f7d4a601ecdcf753a6c0db03f8a5d415f88c07b09190ad1ea8
+068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb72074e55
+48896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008afb008c8b
+7605888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08fb94076f
+86766c1e7a06857d867c1f84fb26a68b0597ddb5c5e68b08d3a1068e8a8d871e6406
+678798ad1f0e5e8aa8f702aff778a801e1d6f703a1c4d503f83dd715f7aa07b49292
+ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e9b06af908264
+1ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d8f1f8ba0898d
+2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1ec08bc199afbe
+08fb130767867f6b1e7b068180847d1f86fb1ba18b0594c69fcff08b08c98b8d8d8b
+a0058f898d871e7b06678694b21f0ef71e86a2f778abf81077c7aa01ff00ed999ad1
+f703d003ff016a999af96d15f7bb0affff99e666fc5715480afbb8fb6515490a0e20
+81b363a9f80da1dfaa12b5d459d855d4ebd467d0133300f7def8e215f7cf0a66fc0e
+15e20a137800e30ad8fb261513b480780a137800ffffa36666ffffeb6666ffffbf99
+9affffcf999a8b4a0813728042bf72ce1eb78b9f94b5ab089e9a050ef71e86a2f778
+abf81077d4ea01ff00e7999ae9d6e903ff00e7999af98a15a30af73d16a30affff73
+e666fc7415480afbb8fb6515490a0e2081b363a9f80da1f701ea12b5d459d850e9d6
+e957d0133200def8d315e60a133100f73d16e60ab4fbff15e20a137800e30ad8fb26
+1513b480780a137880790a0ef7de86a279a5f789a8a7a7f79aa679a28d7712ff01af
+8000dcf763a2d7a287a413b1a0ff01af8000f7a315c70a1371a0c80a13b1a0f7530a
+1379c0c90a1333a0540a1339a0ca0a13b5a0cb0a1371a0cc0a13b1a0cd0aff00b980
+00f79d15ce0a0ef71281b066a9f74eadf730a212b0cf52d0f73ad0f753d4137bf790
+f80b15e90a13b7ea0aaafb3d15eb0a137bec0ad1af15ed0a0e9186a279a5f7c2a7f7
+9aa679a28d77cdaa12f5defffff06666d1f703d0ffffe4999aa1d7a387a31322c0ff
+012a6666f96d15f7bb0aff0005999afc0815fb098a05133310d60a132728540a1333
+28550a13ab28560a136328570a13a328580a137330d30a0efb1281b0f75fa8f71da2
+dfaa12aed783d4ebd473d713f6f7edf8e215f7cf0afb7bfbdf15f00a13f1f10ad2fb
+4315f20a13f9f30a0ede7fadf756b7f800ad01f89de503ecf89f15f7ee0abbfbdf15
+f7ef0a0efb1280a2f718a9f763b001aad7f763da03f7cef72915f74f0a44f74315f7
+500a0ede7fadf756b7f800adc0eb01f74bebe8ebc0e503f808f98b15c30afb5116c3
+0a35fb8015f7ee0abbfbdf15f7ef0a0efb1280a2f718a9f763b0f700ea12aad773e9
+d6e96bda13f4def8d115e60a13f2f73d16e60a13f9c9fc3c15f74f0a44f74315f750
+0a0ef7c289a8f7bdb5f774c86aa8c4ea12f7bee988e084e913ccf7bef98315e60a13
+c9f73d16e60afc61fd83158b89d68c05d58caddcb4f7020813eaafef9dacf48b08fb
+91078b6f7f80618808708905878888861f8b788d8905bc8da98bbd8b0813e9bd8baa
+8bbb89088d8d8b9e0590878e871e718d0513ea638e7c948ba908f79107f48b9d6aaf
+27b4fb02ad3ad58a08d58a8c8d8b9e0590898e861e7c8c056b8e5ccf5bf71b71d166
+b6498b089007d3a7a0e195c990a891aca78b978b9386958094819886978b089fa096
+a8a27aa8591f408b7153824d83537d4b546b757d618a698b08f764078ba79a96b38e
+0813d9a58d05908e8e901f8b9e898d055a8a6c8a598b598b6f8c598c0889898b7805
+868f888f1ea5890513eab2889a828b6d08fb6407698b618c759954ab7dcb83c382c9
+71c3408b08597a6e746ea0809f1f978b9890949595969390978ba78b916a906e954d
+a035d36f088607498b666071455bfb1b5c476b88087c8a05868988861f0eef89a8f7
+4badf713ce67a8ebea12f75be98bd68be913ea9b16f7c80a13daf7c90a13eaf7ca0a
+13ccf74bf8c015e60a13c9f73d16e60a0e9c7faff7b9bcf70b76f734adbeea12cfa9
+b0e9d6e9a2e34be713ff40b7f70715f7bf0a13ff80f7c00a13ff40f7c10ae6f91515
+a30af73d16a30a0efb0981aaf74db4f735aae2ea12c3a480e9d6e96ed951dc13f080
+b1de15f7cb0a13f900f7cc0a13f480f7cd0aabf87e15a30a13f200f73d16e60a0ef8
+4b0ef84b0ef72986a2f8f5a2c2bd01f702daf7dcda03f8ebf70115f7ba0afb22f8e8
+15f70b0a0e9b89a8f80ba8dabd01f700d6f762d603f724f84115f7ce0af792dc15f7
+0b0a0ef72986a2f8f5a2c9eb01f702da9cebe8eba5da03f81ff98c15c30afb5116c3
+0af81dfd1f15f7ba0a0e9b89a8f80ba8ebea12f700d67ae9d6e963d613f2f724f841
+1560498d8b1f88898b75058b878dffffff4ccc8fffffffb33408a98905ff0025b333
+fffffd8000ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ff
+ffda4ccdfffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b3
+8ca78cb68bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88
+968ba3088b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd
+999a086c890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88b
+a98ab38a088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff
+00024ccdfffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff00
+24e666ff0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45
+895e6f5e8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb
+62fb8c8bf782058bb48eff00088000b1ff0002800008a98d0513e88fff00004ccc8d
+ff0001b3348b8f088ba0898d058b45895f1ea1f72515a30a13e4f73d16e60a0ef71a
+81a3f900a3c0eb01afe5ff00558000ebe8ebff00488000e503ff01908000f98b15c3
+0afb5116c30aff00738000fb1115650af7e0fbc515660a0e3c81a2f813a2f701ea12
+b3d785e9d6e984d713e8f702f8d315e60a13e4f73d16e60a13f2fb83fc1015f7020a
+f750f75d158e0a0ef71a81a3f790be86bff7a2a312afe5f84fe513dcf7dbf90e15f7
+e10a13bcf7e20af7e0fbc515660affffa5e668fffff4999a15f7e30a13dcf7e40a0e
+3c81a2f73abd75b5f727a212b3d7f78ed7139cb3f75715f7020aff0145199aff0008
+e66615ff0000999afffff64ccdff00004cccfffff6199a8bfffff5b3338bfb0c4862
+5e8bffffa3199a8bffffd7e666ff00738000fffffb6666ff004a8000ff00013334ff
+fffe3333ff0001ccccfffffecccdff0002999a8b0813bc928baa92978b0813dcf7f0
+0afffffce666ff001e800015f7f10a13bcf7f20a0ef71a81a3f790be86bff7a2a3c2
+eb12afe5ff00488000ebe8ebff00558000e5139f80ff01838000f98d15c20afb5116
+c30aff00808000fb1315ff007a33348bff00674cccffff978000ff000eb334ffff50
+33340813df80ffffdf8000ffffe81998ffffd0e666fffff33334ffffdfe6668b0813
+bf804c8b6dba298bffffda999a8bffffc23333fffff1999affffd8cccdffffe0999a
+ffffffe666ff0002e6668bff0002e6668b8e8bf766f702ece68b08f7e0fbc515660a
+ffffa5e668fffff4999a15f7e30a13df80f7e40a0e3c81a2f73abd75b5f727a2f6ea
+12b3d78be9d6e97ed7139c80b3f75715f7020a139a00d7f80e15e60a139900f73d16
+e60aff0050199afffe8ee6661513b880ff0000999afffff64ccdff00004cccfffff6
+199a8bfffff5b3338bfb0c48625e8bffffa3199a8bffffd7e666ff00738000fffffb
+6666ff004a8000ff00013334fffffe3333ff0001ccccfffffecccdff0002999a8b92
+8baa92978b0813d880f7f00afffffce666ff001e800015f7f10a13bc00f7f20a0ec8
+81aef79ebd79c3f786b0c0eb12b9e637a9c2ebe8ebd6e21399c0f7dbf98b15c20afb
+5116c30af719fd9515f76beef734f74df765fb0cf706fb3a1ffb138b636152880813
+bbc08755835b815794fffffa4cccff000a3333fffffd4cceff000acccdff00036666
+a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813ddc0f7c50a13bdc0
+ce8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca66e8b08
+7282787741f7144fec1f0efb1581acf739b379b9f72caae2ea12bea492e9d6e96cdc
+13de80aedd1556d264e6eeefd1f735f70d52ecfb191e5c8b627b5a8888658669815b
+08a487059ccbaabbd58b08e4a9352f1f88890513be80719b70976e8b0813de80f7d9
+0a13be80f7da0abbf87f15a30a139f00f73d16e60a0eac75c9f8dca2c5bd01ff006b
+8000f89f15f7bc0aff01328000f74a15f70b0a0e49fb85cff8c8a2ebbd01f74dfb41
+159e0af752f93f15f70b0a0eac75c9f8dca2cceb01f741ebe8eb03f7fef98c15c30a
+fb5116c30affffbe8000fb8115f7bc0a0e49fb85cff8c8a2f704ea01f729e9d6e903
+f74dfb41159e0a67f97e15a30af73d16a30a0eac75c9f8dca2ce7601f86bf9af15f7
+2a0afb179015f72b0affff178000fba915f7bc0a0e49fb85cff8c8a2f7837601f74d
+fb41159e0af7a9f9a815f72c0afb189115f72d0a0ee486a2f77cbff7d9a2c9eb12f5
+da8febe8eb73e013fef80ef98c15c20afb5116c30a13fdf7eefd1f1589ff00528000
+8aff002d80008bde8bdeff00008000bcff00028000dfff00028000de998ed1909191
+8b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885858b809185d185ff
+000f8000898d38ff0001cccc418cffffd1199aff00003334ffffbbe6664cffffd6e6
+66ffffc18000fffffc199affffe380008b438bffffd4999aadff00016666dc088df7
+0805ff00016666deff0012999a93d18e91918b9685915d88ffffc9b33389ffffe24c
+cd8bffffe2b3338bffffc74ccd8d608e85858b809185d188ff0015999a83fffffe66
+663808892205fffffe199affff9d4cccff001ce666ffffb0b334f7108bff00393334
+8bff0042e666ff000f8000ff0047e666ff003166668bffffb0cccd8affffd24ccd89
+3a8938fffff0800086458885858b809185b28dc88ea98b08a98bc589b48891918b96
+859108458efffff180009089de080e5889a8f70baef771a8eaea12d2d670e9d6e95c
+d613f9f7e3f7f515f7d40a13f4fb6cf77015e60a13f2f73d1613f171a076a51e13f2
+a5a0a0a51f13f1a576a1711e717675711f0e4c89a8f8d6b370a712f4dcbea7f755a6
+13dce88915ed8bb054943708a78b85f728058a997e91848b087a066a899aaa1ff889
+07a59990a11ef71306cd8ba7569a4308a68f77f735fbd48b0513bc7efb068c8b1f13
+dc898a8b770513bc878e888f1ea906b69482681ffc89076c7c7c631e710687878886
+1f8b788d89050efb228ba6f7fab770a812f3d5c59ff70aa113dcf316ec8aa14c984b
+089f8b87f71b058a977e93848b087a066c8694af1ff7cdf70407c38b9b56975108a1
+8b80f72ffb888b0513bcfb048d0513dc89898b750513bc888d898e1eaa06af908165
+1ffbae076e817b6a1e7306868888861f8b788d89050ef77f87a276acf7c2b3f785ac
+78a2c7eb12f3e0d5ebd1e845ebcbda132760f858f98b15c20afb5116c30af843fd1d
+15f7f30a13af20f7b90a1367a0fc543c15f7c20afb22e615f7c30a1377a0f7c40a0e
+f70c86a178aaf757abf71ba27ea8ebea12f5d6bee99ad67ce993d713b720f8d7f7c2
+15f7d50a1367a0fb82fb4415f7d60afb7f5715f7d70a136fa0f7d80af712f76e15a3
+0a132760f73d16e60a0efb6dd0b1d001f706d103f706fb4a15f7f40af604f7f40a0e
+fb6cd0b0d012b9d17cd17ed1ded113c4f7cbfb4a15f7f50af604f7f40a13e4fb9d16
+f7f50a13ccf70416f7f50a13d4522115f7f50a0efb6dd0b1d054b412f7a3d113b0b0
+2b15f71db4fb1d06f77efb1315f7f40af60413d0f7f40a0efb6dd0b1d053b512e4ae
+f72ad11398f7a6fb4a15f7f50af60413d8f7f40a13b8fb8e7515f7f60a0efb27d001
+f717d103f717fb0415f7f40a0efb27d001d6d1b6d103f750fb0415f7f40afb0516f7
+f40a0efb6cd0b0d012d7d17cd17ed113d0f717fb4915f7f50a13c8c4f515f7f50a13
+e0fb0416f7f50a0efb15b501e0f73803e0fb1515f738b5fb38060e21b501f72aae03
+e02115f7f60a0ef8e7d001b3d103b3f90a15f7f40a0ef8e7d001b3d103b3f90a15f7
+f40a0efb6dd07bd07cd012aed1b5d1b5d1141c139cf797fb4a15f7f50afb04c01513
+5cf7f40afb04c115133cf7f40a0ef76ed001f717d103f717f79115f7f40a0efb5ff7
+1e01f725b003f7254a15fb1eb0f71e070efb4ef836e201c9f78f03c9f83615f77b8b
+9fe2fb7a8b050ef8edb501dff73803dff8ed15f738b5fb38060efba2997601f706c4
+03f7068415c4f8d752060ef8e5d001f7d1d103f7d1f90815f7f40a0ef8e5d00159d1
+0359f90815f7f40a0efb659d7601e3f74403f79cf83d155a9f7e8c71ce745078805d
+79c375918da5469bb599a2c5a308fbe90453a27ca17ab782757c614b72b57ba183a3
+4ca5ce998bbb9f080efb7f8bef01cda603cdf7a4158b316d488b578b6f8c768f7d08
+f7918b6beffb3e8b0590a78fa38ba88bbe83dc8bc38ba49f98a68dd28fb7a88bb38b
+d35f8b8b8b856a68896e8a085d895c838b4f8b529d4e8b51080e3ba07612acbd63ba
+77f704f775ba13a8f859f84e15f7f70a13c8f7f80a1398f7f90a13c8f7fa0a0e2e8b
+eff7cdf601f806b103f782f89c15f7fb0a0efb769a7691ef12bcf7556ba31350f77e
+f7bc151360f7fc0a1350f7fd0a1390f7fe0a0efb0f9f76f832f612f7a3c753ce13e0
+f7dff7b715f7ff0a13d0f8000a0e389376f839f70012c3cef777bd60cc13e0f70bf7
+33158bab93a99b95089807868e858c858b5a8b73618b478b788e4f8b798b7b867983
+8208928005bc8ea3a88bb2088b9e87ca8b9e0813f0f7adf71d158befaf898bb308a3
+07b1819f561efb8a06728b78a086a2088b5e844162a86dbd1ff7bb06655e784d8b3d
+0813e88b6192318b618b77877a837d08938105b992a2ab8bc5088bcd75da8bcd080e
+fba89a7612f747c060b013c0f74785158bc091be1f13a0f8010a0efba49e7601f709
+ca03f709be158b75867a817d8b8bd98d8be98bd36cd68bd98ba08eb197b19984a481
+a08b918b928c908d08939691a18b948bc87199fb0c8f7a8f8096879e088b6385415d
+ad73cf1f71547e4f8b4d8b519b4c8b51080e399e76f833f612c6bd5ecbf770bb63ca
+13e8f820f7bf158becb8798bd708b875a05e1efb8406708b7b9c86a2088b588a4a5d
+aa68ca1f51537f4e8b3a0813d08b5190508b6d8b6f88737f798b8bda8d8be80813e8
+8bc978d88bc98bc19cb4aba308f78d06665e75498b3c0813c48b6193318b618b7687
+7a827e8b8bd78d8be0088bc874ea8bc5080e408beff7cbf70225f70012a7f729fb04
+abf7d8aa13acebf82e157a5f7d5a8b618b35b3fb0a8c4408f7ab06b5f709a4f48be3
+8bf74d49ab628b6e8b6f787773716e74566b4108a37f05bcdfaa9eb88bc18baa658b
+448b3b79436f5108fb73066ad775d08bca8ba596b496b00813d4918b918a918b978b
+978d958e8f998d998b998bb478a0648c6a8c7a9888a38b8b658a8b3e088b5aa67cb4
+84080efbb7f833f501f753b003f72cf78715f8020a0e35f82cf70012f7efc857af13
+a0f81cf7fd1513c08ba7929a948e9a90999e8ba608a582ab501efb86066e8b7a9685
+a2088b60894462a36fba1f13a0f7918b0513c082fcd50597bc91d81f0e298beff7cd
+f601f807b103f807f78c152a6e583d1efb668b7127f7518b05f73aa5dff749f73d60
+e1241ffb1806708b7b9786a2088b60824462a276b91ff73a06e294442d1f0e369576
+f83cf601f754d1f3bb03ddf8c2158b978f9d90998e949bcb8b8e8ba576957990838d
+7792899d8b8a6d898b5e8b75a18297870898869e848b798b82857a86817f6b7f658b
+5b085eac76bd1ef72806dd966b5a1f8b4b827a5a596969393b8b5208709b7da1a19c
+97a31e8b9684958b9a8bada9b0b6bdd2da93988be208f70182bd331efb3e06666f90
+ac1f0e698beff7cdf612beba64b7f7dcb565bc13c8f74cf83115f72606d78b9f6990
+fb280813e48ffb17fbe58b0513d890f726058cc1a7bfbfc80813e4fb19fc3115f845
+8b0513d880f7e90586f7246faefb268b08fb3006718b7c9785a2088b5f8b4662a46b
+bb1faa066260594a8a61080e628bef12b0ae69f723f795ad13b0f7b7f8a915865966
+68546d8191859b8b988b988e8d8b9c8bb06d8f728d0813d0778d718f83aa0813b08b
+69864c1f8b68a06db482b78296848b710813d03f3861fb0c8bfb1c086f8e78999494
+94901e8bf71aa2e9b7ccb6cccab3be8bdf8bc5418b2f8b597c53806808fb638b6727
+f7888ba8de0592a0a2dc8bce088bf7174ef716fb0c9f080efbabf82ef70212f727d3
+4eb813c0f727fb5f15908dce7d8bf71d0813a07bf7ce0513c08bb88eb998b198b192
+a48b968bd6568e5b8e758c668d84ae8b8b64868b428b60ae73cb8808b289a3828b7a
+8b82877f857f0813a0796c826c8b74080efb888bef01f764af03f788f7a4158bc59d
+c88bc48bc75c935d8d6e8c688d85ac8b8b5f8b8b438b63b76ed287a6899f7e8b7208
+8b5a824b8b578b838b838c848d6e8d73906f08fb3e8b6b27f7928b058e998ca08ba7
+8bbf6dce8be5080e5880f0f7d7f601beb3f7d3af03f7b5f83115eba45121fb214279
+374a2a8ff7371f8bc399c0a7ba08f709fc3c15eceeabf789f75a44c3231ffb1a0670
+8b7b9986a2088b5d8946769958ba1f685579488b3d08fb5bf71a70cc1e0e4dff019b
+b334ff006ce66412ff0037e666ff00a0b334ffffa59999ff001f6667ff005ce666ff
+002a3334ff00744cccc413b8ff00834ccdf82e15fffffc4ccefffff4199afffffe99
+99fffff84ccc8bfffff233348bffffe3333291ffffe2ccceff0003999a7eff000c99
+99ffffd2b332ff0012cccdffffece667ff0023cccd70ff001b8000ffffeb33339fff
+ffe466678bffffe980008bfffff46666fffffab333fffff5cccdfffff3999afffff8
+cccd08ffff4c3333ffffe2b3337728f769ad05e595b9b88bda8bf70ddff70a8bd28b
+a97a9d68905c927f9685a58b8b66868b428b68a374bb80089b8794828b788b81826f
+7965ffffb8199affff664ccdff000e3332ffffe99999ffffd5999afffff86667ff00
+07ccceff00054ccd8eff000d4ccc8bff000fe6678bff0015e666fffffa4cccff001a
+b333fffff93334ff00116667fffff13332ff0025ffffffffe1999aff00123334ffff
+e0199aff000fcccc08ffffede666947bff001c3334fffffa3333ff0018e666fffffd
+8000ff000ae666fffffce667ff000e80008b9c8bff00043334ff00003333ff000419
+9aff00006666ff0003999aff0005e667ff00004cccff00058000ff00003334ff0005
+b3338bff0009b3338bff000a6666ffffff4ccc99fffffd80000813d8ff00036667ff
+0008b334ff0003cccdff001519988bff000b999a8bff0045199affffd1e666ff0000
+e668ffffe4e666ff0000b33080ff00008000ffffdce667ff0001999cfffff68000ff
+002199988b8bffffe01999fffffae6688bffffc23332088b60abffffe3999aff002b
+666783080e36f758f1f707f6ba7701aacaf79fce03f73ef758159d90ff0013cccdff
+001833331f8ba375a56893ffffdb199aff00086666fffffae666ff0009999a8ba98b
+9e949ea1a808f71806b98bad7f97739774975a8b4f087ffc5a059fba91ca1f8bca89
+f70a87e60882f7750584f71a72a8fb308b083406718b7aa386a28b8b507b8b538b68
+9769c17e645670608b4a8b6698789b8b9c8b949fa78b08a58b9a779a8b080e298bef
+ebf1f707f601abcaf7a8b103f807f78c152a6e583d1efb668b7127f7518b05f73aa5
+dff749f73d60e1241ffb1806708b7b9786a28b8b60828b448bffffda4cccff001380
+00ffffeb3334ff0026e666fffffce66608ffffff999affffff999a05645670608b4a
+8b6698789b8b9c8b949fa78ba58b9a779a8b9d8b90ff0013cccd8bff001833338ba3
+75a5689308ffffdb199aff00086666fffffae666ff0009999a8ba98b9e949ea1a808
+f72906e294442d1f0e3cacf74333b36dc7e4f73f1350f744dc158bccb4dfd5db9d9e
+b0b1b4ab9d8b99879d8294968fb68b958bc36695618e728c6f9587ab088b68853b1f
+8b64a573be834653423d5d2f08838b89e30513908bc8bddb8bb38bc15e966391788d
+6d9985a68b8b687c8b440813308b5ea57dd27d9a89907f8b7d0813508b646d508b61
+088b8905133095fc470592c08ee31f8bc57ddb8bc1080e3a8bef12a1f73364aaf4f7
+3a13b0ff0157e666ff00bd4ccd15ffffea8000ff00153334fffff9999aff0017999a
+8bff001ae6668bb6abd4acaba58b95889a8494988eb28b968bbe6b90688e7b8c668f
+87ac088b618a421f8b69a86eb482ffffe2199affffd8199a68ffffc0199a74ffffc2
+199908ffffc3e666ff0029b33305799a82a78ba50813d08ba293bd8ba28bc577915b
+8e7e8c6d8e85ad088b61874561ac70bdaa9472691f13b08843058b749475a07b08f7
+262505928593838b8308fb9e8b6c27f7ea8b05a090b1bd8bb58b9b849b7c96080e4b
+f831f601c3bad7c9f73ab703cdfb7015a1989a978b9608f890820774777c728b6f08
+fc6707f74df792158bbeb1a3c6aed1b6b6a58bf71308d189f5fb0c1efb4e066f8b7b
+9786a2088b588a4962ab69ba1ff75f06da8e505f1f8b4541577e83687321448b3e08
+71947f9fa29696a11e8b998a998b92080e439476f83df612f811c15eb813e0f8117f
+158bc18eb51f13d0f7cb07f72364acfb261efb1206708b7b9985a2088b5a844c62a9
+6aba1ff74306e3a35efb1a1f0ebe8bef12acf724fb00abf71df726f71ec513b8f8d8
+f858158bc45f947c907b91778d87a78b8b62888b3b8b6f9c78ab809488a3878b6e8b
+7a82757a7308472c6a407b5a08fb3406b9e7aef6a4f704a18b96889982909692a88b
+988bc7649072917b8f768a84ac8b8b65868b44088b6b9f73b47c69fb0f64205f3908
+770666d473cd8bc08bb592b294ad9c8b968da68b0813d88d918e9d8b968bb67ba56a
+926193829284a38b8b66828b428b6a9f75b47f0813b87e647f5d8b5a8b4f9e5ba039
+9172876f926a08f7b9069ef771f72af70c8bf703080e5d947697eff7cdf612e5b6f7
+aec15eb813b8f8337f158bc18eb51f1374f7cb07f72364acfb261efb1206708b7b99
+85a2088b5a844c62a96aba1fff0015b33306ffffdd6666ffffc9999affffdde666ff
+ffc54ccc8bffffa8199a8b8191488d68084e8b7a27f71b8b91c5058bb66fd38bde8b
+ff0032199aff0020cccdff00448000ff00151999ff0026666608ff007d199a06e3a3
+5efb1a1f0e879a7612f743c060b0f774c060b01390f85285158bc091be1f1388f801
+0a13c0fbadfbea158bc091be1f13a0f8010a0e7b9a76f839f512f753b0f76ec060b0
+13e0f72cf78715f8020a13f0f7c0fb94158bc091be1f13e8f8010a0e6ff833f501f7
+53b0f779b003f836f78715f8020afb988415f8020a0efbeaf7e5f77501d4f70303f7
+21f8c615f8030a0efb44f7e5f77501d4f703c4f70303f7c9f8c615f8030afb3c16f8
+030a0efb92f7faabf772a401aabff701c103f754f88a15a60ab6fb2415a70a0efb92
+f7faa4f771ac01ff0043199ac1f700bb03ff0079199af88115da07ff001a0002a29c
+95a08bad8b96778b768b6c737936750860f72415ffffed00028b787f8281ffffff66
+6683ff00034cccfffffab334ff00074ccefffffd4ccc8e8e908d8f8b0894907b621f
+4007ff000000022dc477bc8b08b5c9acb39a80957c78847e831f8b868c868c898c89
+8c878b84087b76806a746c93d61ec59a05ca9bb3a78bb58bb668a6618b6a8b798269
+6d889d7da0728b080efb9cf7faa5f76caad1a001bebcf70bc103bef91f15f8040abc
+4215f8050a0efb91f7fea4879df760a5d1a012a8c1f711bc13bcf764f83615f8060a
+bcfb1215f8070a137cf8080a0efb92f7fbaab677f4a7cda401a6c1f706c403f731f8
+1a15f8090ab1f73015f80a0a0efb92f7fba4cda7f714aa01a8c4f706c103f710f8f2
+15f80b0a65fb3015f80c0a0efb8af77fa9ebb3c0a1f71fa17ba7129cb472bd5db0f7
+09be90ad13eac0f79ef8ec15f80d0a13f2c0f80e0a13e9c0f80f0a13ecc0f8100a13
+e9c07a7890a51f13eac0f8110afb4ffb7d15f8120a13e4c0f8130af704f743154d6f
+87751e13f2c0f8140a0efc03f795c5c8a0f761a812ff004b999ac553bb13f0ff0068
+999af79515ff0010000298989b9b7e987b7b7e7e7b1f7b987e9b1e13e870f7bf15fb
+1c0713f0ff000000027089708b8b8b868d89918b9b92ba93a58d8c938a9287910813
+e86b8d80868bc008f70107ff00000002b4988eb38d90938a9a87916d8a808b688b6d
+8b7b8b6d8c87848b7d8f8308ad899c888b62080efb87f800a2f771a2d1a001c2bc03
+c2f91f15fb80078b76ffffff4ccc88ffffe7b3348808838a0587ffffff80008bffff
+fd80008b890879078bff002533338cff0017cccdff0018999aff002666668a8b1e9d
+078b8f88ff0000cccc89ff0000333408838c05ffffeeb333ff00023334fffff84ccd
+ff00044ccc8bff0014800008ff004f666607ff0001cccdff00006666ff00019999ff
+00003334ff0001999a8b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b
+8ca1a3b08a8b1e8d8d8b9b058b8e87ff0001999a87ff00006666ffffdf80008effff
+ee8000a28495084ce805898d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093
+ff001880008e8dff000033348fff0001cccc8b8e088b9c898c058b638a73756d8c8b
+1e8a8a8b7a058b898dfffffd4ccc8effffffb334ab887b7a8383ffffdf8000ffffdb
+3334ffffeb3333fffff08000ffffe54ccdfffff4199808ff0094333407b58da58b1e
+90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0e3ff800a2f7
+68a07aad12a1e85abcf704bbf6bc13aef707f8de15ff001b33348dff0010cccc8b1e
+90898d851e13d6f8150a13ae989184611ffb1a078b768afffffd666673fffffc999a
+08848a0586ffffff4ccc8bfffffdb3348b890879078bff002533338cff0017cccdff
+0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccc89ff0000333408808c05ffff
+f08000ff00016666fffff68000ff0003999a8ba108f723079ea2a0a1a08b08aa9f7a
+581ffb0c078bffffe94cccfffffa999afffffd999affffeb6666fffffe199a08808a
+0588ffffffb3348afffffd4ccc8b890879078bb28ca4ff00183334ff0025cccc8a8b
+1e9d078b8dffffffe666ff00023334fffffb199aff0000cccc08858c0578ff000333
+3484ff000280008bff00154ccc08f716078b91ffffffccccff0005b334ffffff8000
+ff00054cccff0012199aff00158000ff0013ccceff00138000ff0013cccc8b08a99f
+7a581ffb0c078b7485fffffdb33478fffffe4ccc08808a0587ffffff999a8afffffd
+66668b890879078bff0027999a8cff00196666ff00183334ff0025cccc8a8b1e9d07
+8b8dfffffee666ff00024cccfffffc199aff0000b33408858c05ffffed199aff0003
+199afffff8e666ff000133328bff0016b33408f71607ce6da45e1effffdc4ccc8bff
+ffdc6668ffffdd9998fffff1b332ffffeeccd0fffff6199aff0024e664ffffe6b333
+ff000eb334ffffdccccd8b678b6a687d7a080efb92f7fba4f778a401a2c6f720c603
+f72cf91115326340444bba47dcff0053199aff002ee666d1ccff0048199866ff0046
+e6682f1fd1fb3615f8160a0efbabf7faa6f770ab01a6c1f70ac103f70ff7fa15e1b7
+d3d4d463c8361f5e8b6c737268089e7b059fa19ea0b18ba18ba37c997497788f738b
+728b3a616a6c8b658b86a389a1899b7e927d8b087d80827769ac6aca1f0efb94f782
+a2f700a5f760a077aa12c3bcf70bc113dcc3f8b915fb98078b77fffffd999afffffc
+3334ffffe96666fffffccccc08848a0587ffffff66668afffffe999a8b890878078b
+b08ca3a5b38a8b1e9d078b8f89ff0000b33488ff00004ccc08808c05fffff1199aff
+00016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08ccc1c7d5cf63c751
+1f6e8bffffe380006ffffff080007908898c05ff001b33348dff0010cccc8b1e9089
+8d851e13ecf8170abc3215ed0713dcf8180a0efbf7f7faae9c77f768a812c5bb65b1
+13b0f5f8ee15f8190a13a8f81a0a13b0b3fb4b065fa07aa81ea78ba293a5a6081370
+7b9c0513b07b7f81867b8b087a879db11f0efb86f7faae819df763a212c1bcd1e65a
+bc13b4f79cf84c1513b8f81b0a13b4f81c0a1374f8080a0e3ff800ad7aa0f768a212
+c5bcf6bbf704bc13bcf80af83315ffffe4cccc89ffffef33348b1e868d89911e137c
+9b92b993a58d088a9d058d898c891e768c057e8592b51ff71a078ba08cff00029998
+a3ff0003666808928c0590ff0000b3348bff00024ccc8b8d089d078bffffdacccc8a
+ffffe83334ffffe64cccffffd7b3348c8b1e79078b878effffff33348dffffffcccc
+08968a05ff000f8000fffffe9998ff00098000fffffc66688b7508fb230713bc7874
+7675768b086c779cbe1ff70c078bff0016b334ff00056666ff00026664ff0014999a
+ff0001e66808968c058eff00004ccc8cff0002b3348b8d089d078b648a72ffffe7cc
+cdffffda33338c8b1e79078b89ff0000199afffffdccccff0004e666ffffff333408
+918a059efffffccccc92fffffd80008bffffeab33408fb16078b85ff00003333ffff
+fa4cccff00008000fffffab334ffffede667ffffea8000ffffec3333ffffec8000ff
+ffec33338b086d779cbe1ff70c078ba291ff00024ccc9eff0001b33408968c058fff
+000066688cff000299988b8d089d078bffffd866668affffe6999affffe7ccccffff
+da33348c8b1e79078b89ff0001199afffffdb334ff0003e666ffffff4ccc08918a05
+ff0012e666fffffce668ff0007199afffffecccc8bffffe94ccc08fb160748a972b8
+1eff0023b3338bff0023999aff00226666ff000e4ccdff00113334ff0009e666ffff
+db199aff00194ccdfffff14cccff002333338baf8bacae999c080efb8bf8f4a20197
+f7b603f71df80715f81d0a0efbabf7faabb677f759a601a6c1f70ac103f731f91115
+f81e0a0efbc8f800a2f74aa8f708a401d3bc03d3f835158b79fffffacccdfffff980
+00ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a8d8a
+058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccc89ff0000333408768d05ff
+ffeccccdff0001ccccfffff93333ff000833348b9d08f72cc60791938d911f9d078d
+898c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b968496
+7e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efbb3f8
+00a9f764a801a2a103d1f90b15f81f0a0ef71efb6dabf5abb5a2f778abf8107701ff
+00f2999ab3ebb303ff014a999a3c15c60a335615e80aff0011e666f82e15480afbb8
+fb6515490a0e20fb6eabf5abb1b363a9f80da112b5d459d885b3ebb379d013c980f7
+743b15e70a335615e80af731f7ed15e20a13dc00e30ad8fb261513ea40780a13dc40
+790a0ea286a2f7d3a3f79da3ebf312ff006c8000daff00248000f3ff00518000d66f
+e213fcf774f9b215f7170affffdb8000fc4915f8200a13fef8210afb09f7b0154b0a
+13fd4c0a13fe4d0ab5fcc4154e0a13fd4f0a0e3181a2f80aabf714ef929ea47701d8
+d4cfefb4d703f76ef8eb15f70f0a57fb87157a0a849f157b0a0ea2fb64eff2a2f7d3
+a3f79da312ff006c8000daacefe4d66fe213fcff00dc8000fb3015410a6af89915f8
+200a13fef8210afb09f7b0154b0a13fd4c0a13fe4d0ab5fcc4154e0a13fd4f0a0e31
+fb64efeda2f80aabf77f9ea47701d8d4a4efdfd703f743fb3015210a82f894157a0a
+849f157b0a0ea2fb17b7dda2f7d3a3f79da312ff006c8000daf772d66fe213f8ff01
+758000fb1715f7720a9ef88015f8200a13fcf8210afb09f7b0154b0a13fa4c0a13fc
+4d0ab5fcc4154e0a13fa4f0a0e31fb17b7d8a2f80aabf77f9ea47701d8d4f765d703
+f7ebfb1715f7720aa7f87b157a0a849f157b0a0ee4fb5ca8d6abc1b4f8eca6c77601
+b0e5f7a1c9f70ea203f828f9c715bd0a62fe2715cf0a0efb22fb5ca8d6abf860a2c8
+7612aed7f72ac97add13f8f7b2f8ff15e40a51fd5f1513fcee0a13faef0a0ef72486
+a3f8f3a3ebf301f702d9ff00326666f3ff00ec999ae503ff00ee6666f9b215f70e0a
+ffffd1999afd4515510a5ff8ac15520a0e4181ae8f9af7f3a3f714ef929ea47712b0
+d777eff71cd013fd80e8f8eb15840af780fc7f15ffffff4ccc79fffffeb334847e7f
+686c6c7c738b0813fe80584fcef70b1f8bd099ba999fa9b8b88e9e8bad8ba67f9e75
+987c8e848b6d8b8b8bfb2b895908804f157e0a0ef724fb64eff2a3f8f3a312ff0068
+6666efffffa1999ad9f81be513f4ff00686666fb3015410aff0057999af79d1513ec
+510a5ff8ac15520a0e41fb64efedae8f9af7f3a3f77f9ea47701b0d7b0efdad003f7
+2afb3015210af747f79c157d0a804f157e0a0ef724fb17b7dda3f8f3a301f702d9f8
+1be503ff00f46666fb1715f7720aff0098999af78415510a5ff8ac15520a0e41fb17
+b7d8ae8f9af7f3a3f77f9ea47701b0d7f76cd003f7bcfb1715f7720af782f783157d
+0a804f157e0a0ef724fb5ca8d6abc6a3f8f3a301f702d9ff008f6666c9ff00b9999a
+e503ff012a66662b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85
+ab8b08c8b9aab6b16ca3631f828b828a838908ff00173334ff003e199a05ff000699
+9a8bff0006ccccffffffe666928b08f721f750cef78af74efb2ff730fb541f478b47
+86658b598b6f8f598c85858b809185d18899868d388d388d5a8b388b38895d893808
+89387d86458885858b809185bc8ca98fbe8ba88bff0026cccdfffffccccdff0043cc
+cdfffffeb33308ffffd9ccccffffa480009185059b90958c9e8b08ffff95999af761
+15510a0e41fb5ca8d6abc1ae8f9af7f3a3f77f9ea47701b0d7ecc9c4d003f7452b15
+a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16c
+a3631f828b828a838908ff00154ccdc4ff0002b3338b05b08bae9fbab1908f928d8b
+848b7495698b8b93888d8c938da09caa9ac59291918b8e8591084e90fffff8e6669d
+fffffe199aba89bd8bf8158dbdff00028000c9ff00018000a78b8b8b92888d828b73
+81497f658889838d86918508bd88ff0007ccccff0004e668ff00033334ffffb01998
+8d598bfb078b8b8b848989848b878b629c6c8b4c8b61756567626272548b44088bff
+ff993333ff002d8000ffffb06667ff0050e666ffffee333308ffffda999affffa633
+339185059b90958c9e8b08f72cf760157d0a0ef72486a3f8f3a301f702d9f81be503
+ff012966664615f8220affff96999af74615510a5ff8ac15520a0e4181ae8f9af7f3
+a3f77f9ea47701b0d7f76cd003f7594615f8230af718f745157d0a804f157e0a0e91
+86a279a5f7c2a7f79aa679a28d77d4bd12f5def763a1d7a387a3132380ff018a6666
+f95515f70b0aff0085999afbf015d10a1333c0d20a1327a0540a1333a0550a13aba0
+560a1363a0570a13a3a0580a1373c0d30afffed54cccff01da199815ffffe5b334ff
+fff5ccd0ffffede666fffff23330fffff1e667fffff0666808ff0076999affffc880
+0005ff00103334fffff81998ff000ab333fffffd6668ff000633338bff000633338b
+ff00054ccdff000633348b928bff0006333488ff00054cccfffff7800092080efb12
+81b0f75fa8f71da2e6bd01aed7f766d703ff00d43333ff02ce666815fffffcccccff
+0000e664fffffb3333ff0000e668878bffffe4cccd8bffffed999afffff0b334ffff
+f99999fffffa999808fffffe6667fffff61998ff005b3333ffff9de66805ff000ccc
+cefffff28000ff0005999afffffb8000ff0004cccc8bff000666668bff0005999aff
+000566688bff000480008bff00064cccffffff3334ff00064ccc879408ff0044cccc
+2c15f70b0a8cfb8f157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa679a28d77d4
+bd12f5def763a1d7a387a3132380ff01a16666f95515f70b0aff006e999afbf015d1
+0a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0
+d30aff01278000ff01dae66815ffffa0999affffb44ccc0581fffff81998fffffe66
+66fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6668bff0006e6
+668bff00093334ff00029998ff00103334ff0007e66808ff006ee664ff0033199805
+fffff63334ff0012ccd0fffff01998ff000f4cccffffe9e668ff000bb334080efb12
+81b0f75fa8f71da2e6bd01aed7f766d703ff01086666ff02c8666815ffffc3999aff
+ff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6648bffff
+f9b334ff00059999fffffa999cff0005999a8bff0005999a8bff00066666ff000399
+9897ff000d800008e7ff00621998fffffd999aff0009e66805ffffed999aff0013cc
+ccffffeb8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999a
+ffffff199c08ff0048999affff35999815f70b0a8cfb8f157f0ad2fb4315800a0e91
+86a279a5f7c2a7f79aa679a28d7712f5def763a1d7a387a3132300ff012766664615
+f8220aff0008999af83e15d10a133380d20a132740540a133340550a13ab40560a13
+6340570a13a340580a137380d30a0efb1281b0f75fa8f71da201aed7f766d703f782
+4615f8230afb10f7dc157f0ad2fb4315800a0e91fb58c089c2e0a279a5f7c2a7f79a
+a679a28d7712f5deff00bc6666a6fffff7999aa1d7a387a31388c0ff014a6666fb23
+15bf0a1348c0c00a1388c0c10affffe5999af88815d10a130c90d20a1309a8540a13
+0ca8550a132aa8560a1318a8570a1328a8580a131cb0d30a0efb12fb56c089c2d9b0
+f75fa8f71da212aed7f766d74da613bdf7b4fb2115bf0a137dc00a13bdc10afb42f8
+2415f00a133ef10ad2fb4315800a0e91fb5ca8d6abc6a279a5f7c2a7f79aa679a28d
+77c7bf12f5deffffeb6666a7f709c9ff0014999aa1fffffa6666a7ff0035999aa387
+a313c8b4ff01b86666f9b915f7160afb34fe1915a2957d7671767d6d1f778b808f70
+95848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a83890813d8d9a4
+ceff0046999a8b0513e8d9580a13dcdaf7180a13c9d9540a13ccd9550a13ead9560a
+13d8d9f7640a0efb12fb5ca8d6abf7baa8f71da2cac412aed771a6f72ac988d746a6
+13fa40f704f90915f70d0af709fd691513fd00f7650a13fc80f7660afb07f7f7157f
+0a0e4b86a2f7c0a7f7a4a679a28d77f706f312f5deff001b6666f3ff004b999aa1b9
+a313c7c0ff00d86666f9b215f7170affffe4999afd451588df8cf7118b8b08f7098a
+05e0ffffff4ccc8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e80
+008bff0021999a8eff001666668ca98591818b8585885487fffff4b33436ffffff4c
+cc08fb098a058b8b8af7268edd0813e7c08ca3979fa38b08f71206d68b9a56a14697
+898d8d959086b47cee89930813cfc0540a13e7c05a0a13d7c08b8b3b8f598c85858b
+809185d18898868e388d398b598b388b388b5c893988387e8645880885858b809185
+bc8cff001f80008fff003380008bff003966668bff0028999a87bc8a91918b968591
+458e659089de080efb9286a2f7fea8f79fa1c4ef12ead0b3ef82da13fcf760f9bb15
+840afb01fbdb15ff00008000fffff1b334ff00006666ffffe69998ff00003334ffff
+e0b33408ffffcde666067a8685831f8207868c8a8f1eff00434ccd06ff00008001ff
+ff9cb334ffffff9999ffff78ccccfffffe999affffd68000fffffd66663cfffff799
+9a88588785858b809185b38c9c8fb08bb78ba687b48a91918b968591084a8ffffff8
+999a8efffffd6666dafffffeb333ff0027e666ffffff999aff00856666ff00006666
+ff0066b33408ff005a4ccd0694978a941f9a078f898d861effff97cccd06ff000033
+34ff0026e666ff00008000ff001fccceff00008000ff00104cccff0001b333ff0032
+e668ff0003cccdff00253330ff0008199aff001ae668ff000f6666ff0032e668ff00
+19b333ff000e1998ff00144ccd8b0813faa88b9977986a937a957e9f8b9b8ba49d8b
+9e8b9b809c779a729c728e678bffffd1e6668bffffcd800074ffffe033345b08ffff
+e8b333ffffdcccccfffff39999ffffcf3334ff0002199a4c080ef72981a5f7a0a5f7
+d5a6bbbd12abe2f839da6ea313f8ff01da999af95615f70b0aff007b66665b15f719
+0a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b5d1bd12a8cb65
+c457d3f743d397c6139230f7f0f89215f70b0af74bfb8815325b70681e139a70f71c
+0afb49fba81513d330f71d0a13b330f71e0af7bdf80f15f71f0a139670f7200a13ba
+70f7210a13b2b0820a13b330f7220a13d6b0f7230a0ef73c86a2f7cba5f7a4a2f765
+f301f5e0ff007de666f3ff0071199ade03ff013ce666fa2315f70e0affff82199afd
+b6155b0a0e5986a2f807a9f714ef929ea47701e5d0daefa3d103f782f8eb15f70f0a
+3afbda15830a0ef73cfb64eff2a2f7cba5f7a4a201f5e0ff0069e666efff0089199a
+de03f753f701155b0aff0069e666fb9d15210a0e59fb65eff3a2f807a9f77f9ea477
+01e5d0beefbfd103f766fb3115210a56f84215830a0ef73c86a2f7cba5f7a4a2c6eb
+01f5e0ff001fe666ebe8ebff001a199ade03f753f701155b0aff00dce666f91c15c3
+0afb5116c30a0e5986a2f807a9f700e6af9ea47712e5d0bce5bae641d113ff00f7ed
+f8d015729f77a4a4a09fa4a476a0721e727776721ffb1d16729f77a4a49f9fa4a477
+a072727776721e58fbbf15f8240a13fe80f8250a0ef73cfb5ba8d6abc5a2f7cba5f7
+a4a212f5e0fffff4e666c9ff0124199ade13fdf753f7011589df8abc8bdb9690e78d
+c78bc78bf7058a97858a468c46894089387b86458885858b80918508bc8ca88fbe8b
+bd8ba987bd8a91918b968591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde9b
+90d18e91918b9685915a8a6d87588b598b6e8f598c85858b809185d1889b868d3808
+8d458b618b4d8485fb098a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e91918b
+968591085a8a6d87588b598b708f598c85858b809185d18899868d388d388d5a8b38
+8b38895d89380889387d86458885858b809185ff002c8000ff0000e666a7ff000366
+67b6ff0000999908ffffd86666ffffa1199a9185059b90958c9e8b0813fba2957d76
+71767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f82
+8b828a838908ff0018999aff0041cccd05ff0026199affffff199aff001a999988ff
+002acccdffffff199a91918b96859108458e7d9089de080e59fb5ca8d6abc6a2f807
+a9f77f9ea47712e5d082c9f72ad113fd80f7092b15a2957d7671767d6d1f778b808f
+7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0018
+e666ff0042cccd05ff001ab334ffffff199aff000f4ccc88ff0022199affffff199a
+91918b9685910813fe805b8ffffffa3333ff0003199afffffccccdff004ee66689bd
+8bf70b8b8b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff0001
+33346e088d598b528959fffffce666ffffb2199afffffa199afffffce66659868685
+8b809085b38c9c8fb18bb28b9d87b48a90918b968691085690fffff8199aff000319
+9afffffce666ff004de66689bd8bc18dbdff0002199abffffffce666ba75a87ba06d
+976a8b5c8b507e514a888784828b98088b8b8cf7648dbdff00028000c9ffffffe666
+fffff8e668ff0001999aff002319988b92888d828b7381497f658889838d869185bd
+88ff00084ccd90ff0002b3333b088d4f8bfbf4894ffffffd66663cfffff6999a8854
+8785858b809185ff00208000ff0000cccdff0014b333ff0002e666ff001db3338c08
+ffffd8199affffa04ccd9185059b90958c9e8b080ef73cfb6ec4f730a2f7cba5f7a4
+a201f5e0ff001ee666a6f76ca6ff002a199ade03f753f701155b0aff0039e666fb48
+15f7770a0e59fb78c4f73aa2f807a9f77f9ea47712e5d07ca6f753d15ea613fa80f7
+3f3a15f70d0a7df7f615f8240a13fd00f8250a0efb96fb58c089c2e0a2f8f5a212f7
+02daff004a6666a613bcff00d86666fb2315bf0a137cc00a13bcc10affffe7999af7
+90155c0a0efbbafb58c089c2e0a2f7f99da877f725ef12dbef40d0d6a613bc80f75e
+fb2315bf0a137c80c00a13bc80c10a133e80fb0ef97a15840aebfc7e15133d80850a
+0efb9686a2f8f5a2c6eb01ff00096666ebff0004999adaff00096666eb03ff00eb80
+00ff0379e66815ffffa0999affffb44ccc0581fffff81998fffffe6666fffffb999c
+8bfffff9cccc8b84ff0004b333fffff9ccccff0006e6678bff0006e6668bff000933
+33ff00029998ff00103333ff0007e66808ff006ee666ff0033199805fffff63334ff
+0012ccd0fffff0199aff000f4cccffffe9e666ff000bb33408ffffdae666ffff7b19
+9815c30afb5116c30aff00b6999afd1c155c0a0efbba86a2f7f99da877f712eaff00
+018000761287e99ad082e913ecf745ff02e84ccc15f8260afb49ffff56b3341513f4
+a30a13f5f73d16e60a96fc661513e6850a0ee086a2f7bca7f7b1a2cf7601f5e103ff
+01c1e666f9c715d40afffefe199afd5a155e0a0e4486a2f809a2cd76f7579ea47701
+ff0053b333cf03f7eff8ff15f7700afb9efc9815870a0ee0fb64eff2a2f7bca7f7b1
+a201f5e1ff0040e666ef03ff0100e666fb3015210affffbf199af79d155e0a0e44fb
+64eff2a2f809a2f7849ea47701ff0053b333cfff00324ccdef03f75efb3015210afb
+0df79715870a0ee0fb17b7dda2f7bca7f7b1a201f5e103ff0182e666fb1715f7720a
+ff000a199af784155e0a0e44fb17b7dda2f809a2f7849ea47701ff0053b333cf03f7
+fcfb1715f7720a41f77e15870a0e5afb64eff2a279a8f8eaa212ff006d8000daff00
+0d199aefff00b6e666a2139eff00c9999afb3015410afffff5e666f79d15f7270a13
+def7280a13be600a13de610a13be620a0efbc8fb64eff2a2f9109ea47712ddefffff
+a9b333cf13f4e8f215f7290a13f880fb9715410a0e5afb64eff2a279a8f8eaa2c2bd
+12ff006d8000daff000d199aefff00b6e666a2139fff0155999af95515f8270adffd
+f115210afffff5e666f79d15f7270a13dff7280a13bf600a13df610a13bf620a0efb
+c8fb64eff2a2f9109ea477bdbd12ddefffffa9b333cf13fae8f215f7290a13fc80fb
+9715410af729fa0815f70b0a0e5afb17b7dda279a8f8eaa212ff006d8000daf7bca2
+139cff0156999afb1715f7720aff0035e666f78415f7270a13dcf7280a13bc600a13
+dc610a13bc620a0efbc8fb17b7dda2f9109ea47701ff005fb333cf03e8f215880af7
+1afb7e15f7720a0e5a86a279a8f8eaa212ff006d8000daf7bca21338ff0110999a46
+15fffff53332ff00028000fffff58001ffffffcccdfffff54ccdfffffdb3336e5d5d
+556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008
+999aff0008199a90920867b35fc06eba08ffffaee666f74615f7270a13b8f7280a13
+78600a13b8610a1378620a0efbc886a2f9109ea47701ff005fb333cf03e8f215880a
+c3fb4015f8230a0ef79a86a2f8f5a2cf7601ff01f5999af9c715fb1035057e828986
+8b848b839184948b948b978ea09408ff008ffffec505fffff34cd0ff00154cccffff
+eb4cccff00116668ffffe36666ff000d4ccc08ff0095999afd6015630a0ef76686a2
+f7f3bd619ce17612e8d2f753d2f755d2139ef829f8ff15f7590afb75fbc61513de89
+0a13bef8280a0ef79a86a2f8f5a2f766f301ff015c999af303ff015c999afa2415f7
+0e0aff012e999afdbd15630a0ef76686a2f7f3bd619cf72def12e8d2f746ef34d2f7
+55d2139df7eaf8eb15840afb36fbb21513db890a13bbf8280a0ef79afb64eff2a2f8
+f5a201ff014d999aef03ff014d999afb3015210aff013d999af79715630a0ef766fb
+64eff2a2f7f3bd619c12e8d2f744ef36d2f755d213cdf7e8fb3015410afb34f86915
+13eb890a13dbf8280a0ef71c86a2f8f5a2f766f301ff006a8000b4ff00938000f3ff
+009c8000b203f7bbfa2415f70e0aff01038000fc1715640a0e6786a2f7fb9c7cb3f7
+14ef12ecd1d2efabd2139ef782f8eb15840a4cfb9615f40a13def50a13bef60a0ef7
+1cfb64eff2a2f8f5a201ff006a8000b4ff008f8000efff00a48000b203f7b7fb3015
+210aff01078000f93d15640a0e67fb64eff2a2f7fb9c7cb312ecd1bbefc2d213cef7
+6bfb3015410a63f88515f40a13eef50a13def60a0ef71cfb17b7dda2f8f5a201ff00
+6a8000b4f82cb203f850fb1715f7720aff013b8000f92415640a0e67fb17b7dda2f7
+fb9c7cb312ecd1f75fd213ccf7fbfb1715f7720aa0f86c15f40a13ecf50a13dcf60a
+0ef71c86a2f8f5a201ff006a8000b4f82cb203f7fa4615f8220aff00c48000f8e615
+640a0e6786a2f7fb9c7cb312ecd1f75fd21398f7b14615f8220afb02f82e15f40a13
+d8f50a13b8f60a0ef71a81a3f900a3ff00213334ff003a4cccfffffdccccff003c80
+0012afe5ff0062cccdff0016e666ff00be6667ff0016e666f700e513efff018e3334
+ff02ed800015f7680a13df7aff000f6664ffffed4ccca1ffffe680008bffffdb8000
+8bffffec6667ffffd5199cfffff4199affffbf1998ff00051999fffff96668ff0008
+6667fffffee664ff00096666ff00023334ff00088001ff00244cccff00088000ff00
+108000ff001619988bff000e80008bff0010199afffff73334ff000f4ccefffff3e6
+680813eff76a0affffb8ccccffff8c800015650af7e0fbc515660affffca9998ff01
+f9cccc15ffffa08002ffffb466680581fffff81998fffffe8000fffffb999c8bffff
+f9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff00
+029998ff00103334ff0007e66808ff006eccccff0033199805fffff63334ff0012cc
+d0fffff03334ff000f3330ffffe9e664ff000bb334080e3c81a2f813a2c0c089c212
+b3d7f77fa67fd713ecf7c4f8a115bf0a13dcc00a13ecc10afb9cfbde15f7000a13ca
+f7010af750f75d158e0af705ff01344ccc15ffffc5ccccffff974ccc05fffff9b334
+fffff4b334fffffd8000fffffc80008bfffff6199c8bfffff9ccccff00056666ffff
+faccccff000566668bff000566688bff00061998ff00038000ff000b8000ff000d33
+3408ff0058999aff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ff
+ffec3334ff0000ccccfffffb199a8bfffffc19988bfffffb8000ffffff3334fffffd
+b334ffffff1998080ef71a81a3f900a3ff00213334ff003a4cccfffff28000e7ffff
+af4cccff003c800012afe5ffffda8000e7ff00224ccdff0016e666ff00be6667ff00
+16e666ff002f8000e7ffffea8000e513d1c0ff01f28000f9a215f8290a13d380fc2e
+16f8290a13e180ff012bb334ffffdf800015f7680a13c980f7690a13e180f76a0aff
+ffc2ccccffff8c80001513c5a0650af7e0fbc515660a0e3c81a2f813a2c0c089c2c4
+ea12b3d785e9d6e975a67fd713e880f7c4f8a115bf0a13d880c00a13e880c10a13cc
+40fb9cfbde15f7020af750f75d158e0a13ca00fb0af7b215e60a13c900f73d16e60a
+0ef71a81a3f900a3dabd01afe5f84fe503ff01b7ccccf97515f7670aff004d800024
+15650af7e0fbc515660afffdca6668ff01dc199815ffffe5b334fffff5ccd0ffffed
+e666fffff23330fffff1e666fffff0666808ff0076999affffc8800005ff00103333
+fffff81998ff000ab333fffffd6668ff000633348bff000633338bff00054ccdff00
+0633348b928bff0006333488ff00054cccfffff7800092080e3c81a2f813a2e6bd01
+b3d7f78ed703ff00d5e666ff02c84ccc15fffffce667ff0000e668fffffb4ccdff00
+00ccccfffffc33338bffffe5cccd8bffffee6666fffff11998fffff9cccdfffffab3
+3408fffffe6666fffff64cccff0057cccdffffa0199c05ff000c4ccdfffff2ccccff
+00056667fffffb9998ff000499988bff000633348bff00056666ff00054cd08bff00
+0466648bff00063334ffffff3334ff00061998fffffc3332ff0008ccd008ff004833
+34ffffa4999815f70b0a3ffbcf158d0af750f75d158e0a0ef71a81a3f900a3ff003c
+800076ff00278000bd01afe5f84fe503ff010bccccf97515ff000b199aff00094cce
+a09791fffffc999896fffff780001fffff40ccce06fffff6b335fffff69999777f84
+ff0003666780ff0007b3331fff00f980002415650af7e0fbc515660affff2f999aff
+01dbe66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c8bff
+fff9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff
+00029998ff00103334ff0007e66808ff006ee666ff0033199805fffff63334ff0012
+ccd0fffff0199aff000f4cccffffe9e666ff000bb334080e3c81a2f813a2e6bd01b3
+d7f78ed703f7a5ff02d14ccc15ffffc5cccdffff974ccc05fffff9b334fffff4b334
+fffffd8000fffffc80008bfffff6199c8bfffff9ccccff00056666fffffaccccff00
+0566678bff000566668bff0006199aff00038000ff000b8000ff000d333408ff0058
+9999ff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ffffec3334ff
+0000ccccfffffb199a8bfffffc19988bfffffb8000ffffff3334fffffdb334ffffff
+199808ceffff2cb33415f70b0a3ffbcf158d0af750f75d158e0a0e6b86a2f7a1a37c
+9ff7cfa3ca7612f700daf77be3139ef7edf9c715bd0a13befb32fc9f1513de670a8d
+f7b315f7a10a13bef7a20a0e46fb8aa0f76ba2f8009c82adc87612ddcff778d713ce
+f7cdf8ff15e40afb26fbb71513def82a0a83a2158f0a13ee900a13de910a0e6b86a2
+f7a1a37c9ff7cfa3f761f312f700daa7f3eee3139ff76bfa2415f7170a13bf6ffcfc
+1513df670a8df7b315f7a10a13bff7a20a0e46fb8aa0f76ba2f8009c82adf714ef12
+ddcfcfefc7d713cff76ef8eb15840a58fba31513dff82a0a83a2158f0a13ef900a13
+df910a0ecb81a07ba2f7a1a3f7d4a3e6f312f700dab1f3e4e3133ff775f9b215f717
+0a65fc8d15f72e0a13bff72f0a137f6b0a8df7b615680a0efb6086a2f7f3bd619cf7
+2def12f0d17def1394f731f8eb15840a13d853fbb3158d588bffff95800089ffffcd
+8000fffffce666ffffb1199afffff8199afffffde666508685858b809185a98db88e
+a98ba88bbe88ac8991918b968591084891fffff8199aff0001199afffffce666ff00
+4ee66689ff003280008cff004b80008c9eff00014ccda4ff000bb333a6959cff0009
+199aff000f8000ff0017e666ff00238000968b0813d4928b93fffffe80008ffffff8
+8000927e98799f8b08a2a19fa39d80a75c1fffffdbe6668bffffda199a6b6b5bffff
+f98000fffff64cccfffffe8000ff000db3348b908baa8aa98991fffffeb333ff0003
+ccccfffffd4ccdff00023334838b0813b8930a0ecbfb64efeda07ba2f7a1a3f7d4a3
+12f700dac4efd5e3139ff788fb3015410a52f85515f72e0a13dff72f0a13bf6b0a8d
+f7b615680a0efb60fb64eff2a2f7f3bd619c12d7ef40d113c8d7fb3015410a13e4a4
+f86815920a13d4930a0ecbfb64efeda07ba2f7a1a3f7d4a3bdbd12f700dac4efd5e3
+139f80f818f95515f70b0adbfdf115210a52f85515f72e0a13df80f72f0a13bf806b
+0a8df7b615680a0efb60fb64eff2a2f7f3bd619cf70bbd12d7ef40d113c8f7bdf895
+15f70b0a13cc8efd3115410a13eaa4f86815920a13da930a0ecbfb17b7d8a07ba2f7
+a1a3f7d4a312f700daf77be3139ef80afb1715f7720a9df83c15f72e0a13def72f0a
+13be6b0a8df7b615680a0efb60fb17b7dda2f7f3bd619c12f0d113c8f792fb1715f7
+720abff84f15f7300a13e8f7310a13d8f7320a0e3f81a5f8fea3e3f312a6ff001680
+00ff00018000ff00456666ff0035999af3dfdd55ff0016800013fcf742f9b215f717
+0aff00dcb334fb3b15f7330a13fef7340a13fdf7350a0efb4f81a19476f821a1f714
+ef12b99e85cbafef90d161a0133200f733f8eb15840a137b00fb05fc6d15940a13b7
+00950a13b680960a13bb00970a0e3ffb64efeda5f8fea312a6ff00168000ff000180
+00ff00456666ff0039999aefdfdd55ff0016800013fcf746fb3015410aff00d8b334
+f9a715f7330a13fef7340a13fdf7350a0efb4ffb64efeda19476f821a112b99e85cb
+9cefa3d161a013bb00b9f71215940a13d700950a13d680960a13db00970ae9fbae15
+210a0e3f81a5f8fea3acef12a6ff00168000ff00018000ff00456666ffffcd999aef
+f754dd55ff0016800013f4d1f97b15840af79bd715bd0aff003db334fb5015ffffc6
+333293ff0002199a9effff9e4ccd8b0813faffff9ab3333248211f8bffffa2e666ff
+0042e666ffffd2ccceff004d8000ffffde4ccccaffffe4999aff0067999affffea33
+328bffff8d33348b3affffd0cccc57ffffb033348bffffa280008b45ff0034800075
+ff00638000fffff3b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f
+71975a08ca8ba774ff0058b3338bff002d80018bb6ff000b199aff0022ccccff0015
+b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a8bff005f3334
+4ab8ffffb7e666ff001eccccffffcf199aff0014ccccffff766666ff002633348bed
+8bc3ff0034999acdff003ae6668b0813f9f7350a0efb4f81a19476f821a1c876ff00
+574ccce512b99efffff36666e5ffffac999acbf721d161a0137c80b9f71215940a13
+b980950a13b940960a13bc80970af756f88115b10a133a00ffff446666ffffe61998
+15ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff0018
+33349eff00159998ffffed199aff00193334ffffe7b3331effffea6667ffffe6cccc
+ffffea6668ffffea66641f0e3f81a5f8fea3c776f78ff312a6ff00168000ff000180
+00ff00456666ff0043999af3d1dd55ff0016800013fe00f750fa7c15f7170aa6fbc3
+15f7100aff00b3b3344915f7330a13ff00f7340a13fe80f7350a0efb4f81a19476f8
+21a1ff00cb4ccce512b99e85cbff001b6666e5ff0017999ad161a0137b00b9f71215
+940a13b700950a13b680960a13bb00970af70ff80915f7110affffed6666ff00aa19
+9815ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff00
+1833349eff00159998ffffed199aff00193334ffffe7b333ffffea6667ffffe6cccc
+ffffea6668ffffea66641e0e3ffb64efeda5f8fea3f75ef312a6ff00168000ff0001
+8000ff00456666ff0039999aef2df3d5dd55ff0016800013fd00f74cfa2415f7170a
+13fe0085fec015410aff00d8b334f9a715f7330a13fc80f7340a13fc40f7350a0efb
+4ffb64efeda19476f821a1f714ef12b99e85cb9cefa3d161a0139900f71ef8eb1584
+0a13bd802ffc6d15940a13db80950a13db40960a13dd80970ae9fbae15210a0eaf86
+a2f8eaa89677f774f3128ea3f779f32fdaf770a3139df794fa2415f7170a95fc0c15
+13dbf7630a13bbf7360a13dbf7370a13bbf7380a13dbf73b0a0efb9981b6f7efa8f7
+a1ef12dfef29d04bd013f0dff96e15840a66fbd515f73c0a13e4c30613e8980a13e4
+990a0eaffb64eff2a2f8eaa89677128ea3f773ef39daf770a313cdf78efb3015410a
+9bf9481513ebf7630a13dbf7360a13ebf7370a13dbf7380a13ebf73b0a0efb99fb64
+efedb6f7efa812e1d04bd065ef13e4f70efb3015410a40f8c915f73c0a13e8c30613
+f0980a13e8990a0eaffb17b7dda2f8eaa89677128ea3f785daf770a313cef821fb17
+15f7720ad5f92f15f7390a13eef73a0a13def7360a13eef7370a13def7380a13eef7
+3b0a0efb99fb17b7d8b6f7efa812e1d04bd013e0f799fb1715f7720a82f8b015f73c
+0a13e8c30613f0980a13e8990a0eaf86a2f8eaa89677128ea3f785daf770a3139cf7
+d24515f8220a57f8f215f7390a13dcf73a0a13bcf7360a13dcf7370a13bcf7380a13
+dcf73b0a0efb9981b6f7efa812e1d04bd013c0f7514615f8230afb22f87215f73c0a
+13d0c30613e0980a13d0990a0ef6fb34eac2aaf8f2a201efdaff001f8000e9d6e9ff
+00448000b103ff00d28000fb0515a30af73d16a30affff378000f812156c0a0e55fb
+34eac2ae8f9af7efa212dfd062e9d6e96ed013f4f704fb0515e60a13f2f73d16e60a
+37f215f7080a13f9f7090a0ef6fb58c089c2dbaaf8f2a212efdaff01178000a6ff00
+388000b113beff019b8000fb2315bf0a137ec00a13bec10affff178000f830156c0a
+0e55fb58c089c2dbae8f9af7efa212dfd0f755d053a613bdf7ccfb2315bf0a137dc0
+0a13bdc10afb07f71915f7080a133ef7090a0ef681aaf8f2a201efdaf7ffb103ff01
+7180004515f8220affff418000f7e7156c0a0e5581ae8f9af7efa201dfd0f755d003
+f7964615f8230a4ec6159a0a0ef681aaf8f2a2ff00123334ff003a4cccfffffdcccc
+ff003c800012efdaff0034b333ff0016e667ff00be6666a2d5b113efff0195199aff
+02d6800015ffffefe6668bfffff18000ff0007b334fffff26666ff000d33340813df
+7aff000f6664ffffed4ccea1ffffe680008bffffdb66668bffffec8000ffffd5199c
+fffff41999ffffbf1998ff0005199afffff96668ff00088000fffffee664ff00094c
+cdff00023334ff00088000ff00244cccff00088000ff00108000ff0016199a8bff00
+0e80008bff00101998fffff73334ff000f4ccefffff3e6680813efff0011e666ffff
+f09998ff0011ccccffffec3334ff0012b3348bff0027199a8bff0018b332ff002ae6
+64ff000a3334cdfffffae666ff00046668fffff76666ff00034cccfffff6b334ffff
+fee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b08ffff1de666fffe
+368000156c0aff019e9998ff023ce66815ffffa08002ffffb44ccc0581fffff81998
+fffffe6666fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6668b
+ff0006e6668bff00093334ff00029998ff00103334ff0007e66808ff006ee664ff00
+33199805fffff63334ff0012ccd0fffff03334ff000f4cccffffe9e664ff000bb334
+080e5581ae8f9af7efa2dbc089c212dfd0f755d04ba613e4f7ccff02dc4ccc15ffff
+c5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc80008bfffff619
+9c8bfffff9ccccff00056666fffffaccccff000566678bff000566678bff00061998
+ff00038000ff000b8000ff000d333408ff0058999aff005fe664fffffdb334ff0009
+b33405ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8b08fffffc19
+988bfffffb8000ffffff3334fffffdb334ffffff19980813f583ffff46b33415bf0a
+13edc00a13f5c10a20fcc115f7080a13e6f73d0a13e5f73e0a13e6f73f0a0ef681aa
+f8f2a2ccde4cbd12efdaffffc78000ddf7c2ddffffd18000b113e2ff02238000f95f
+159ea19ba4a5769b7774797b711f6ea37f9c1efc148e1513c4a39c9fa0a1799e7472
+7b7776749c79a31f13d0ff01174ccc9c1596ff00096668a09791fffffc999896ffff
+f780001fffff40ccce06fffff6b333fffff69999777f84ff00034ccd80ff0007b333
+1f13c9ffffb6999afc6615f706078bbd8bb58dc88dde9c90d18e91918b9685915a8a
+ffffe1b33387ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b80918508d1
+889b868d388d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d
+8cc79291918b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee668
+8f598c85858b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da808
+5aba85dc8bcc080e5581ae8f9af7efa2ebbdd8ea12dfd076e9d6e95ad013fa00f718
+f94015e60a13f900f73d16e60abffb4215f70b0acffc9c15f7080a13fc80f7090a0e
+f7059476f913a2bdc089c212ff01c24ccca613e8ff01934cccf98515bf0a13d87799
+759f6d8bffffd500018b74647d509185958a968d95ac959aff0019ffff8b9c8b9e83
+9d800813e8c10aff0042b334fb12156d0a0e359576ff0191b334a2ff00504cccc089
+c212f808a613e8f7d9f8b715bf0a13d8c00a13e8c10a80fb30159b0a0ef705fb64ef
+f70976f913a201ff01184cccef03ff01184cccfb3015210aff00bdb334f9a3156d0a
+0e35fb64eff70a76ff0191b334a201f74aef03f74afb3015210af718f8b7159b0a0e
+f8389476f913a2d07601ff01626666f9c615ffffddcccefffff46668ffffe88000ff
+fff04cccffffedb332ffffee4ccc08f72e4c05a0829988938b938b92928b938b9287
+91809308ff016f199afb3d156e0a0ef72c9576f826a201f7d4f8ff15760afb582515
+9c0a0ef8389476f913a2cf7601ff01f16666f9c715fb1035057e8289868b848b8391
+84948b948b978ea09408ff00900002c505fffff34cccff00154cccffffeb4cccff00
+116668ffffe36666ff000d4ccc08ff0159199afb92156e0a0ef72c9576f826a2cd76
+01f836f8ff15f7700afb74fb78159c0a0ef8389476f913a2c8ea01ff01366666e9d6
+ff005e000203ff01366666f98a15a30af73d1671a076ff001a0002a5a0a0a5a576a1
+71ffffe5fffe7675711eff016b199afb55156e0a0ef72c9576f826a2f704ea01f782
+e9d6e903f782f8d115a30af73d16a30afb69fb4a159c0a0ef8389476f913a2f766f3
+01ff01af6666ff0068000203ff01af6666fa24156fa373a7a7ff00180002a3a7a7ff
+ffe7fffea36f6f73736f1eff019b199afbef156e0a0ef72c9576f826a2f719ef01f7
+d2ef03f7d2f8eb15f70f0afb10fb64159c0a0ef838fb64eff70976f913a201ff0191
+6666ef03ff01916666fb3015210aff01b9199af965156e0a0ef72cfb64eff70a76f8
+26a201f7d2ef03f7d2fb3015210afb10f8b7159c0a0ef70886a2f8f5a2ebf312ff01
+268000dfffffad4cccf313e8ff0127ccccf9b215f7170aff00ffb334fd4c15fb2df7
+660513f0f82b0a0e3f86a2f809a2f719ef01f75eef03f75ef8eb15f70f0a71fb9615
+9d0a0ef70886a2f8f5a2c8eb12ff00c7cccdff005ffffffffffeb334dfff000a4ccc
+eb13e4ff0184ccccf98b15c20a13f4ffff43000116ff0000000171a175a58b08ff00
+19ffffa1a1a5a575a1ffffe600011f717575711fff015fb334fd2515fb2df7660513
+ecf82b0a0e3f86a2f809a2f704ea01f70ee9d6e903f744f7e9159d0afb07f7d115a3
+0af73d16a30a0ebc86a2f8f5a2ebf312ff010e3334f3ffff9bcccce013f0ff010e33
+34f9b215f7170a13e8ff0058ccccfd4515f7410a0e49fb85cff8c8a2f719ef01f76e
+ef03f76ef8eb15f70f0a6afd98159e0a0eb08ba7f8dcac967712c29ff870a01398ff
+014d6666f9c615d50aff00d3999afdcb15f7420a13b8f7430a13d8720a13b8730a13
+d8740a0efb2b8ba1f7fea4957712c0a01390f77df90e15e50a13b0fb34fb6b159f0a
+13d0a00a0eb0fb64eff700a7f8dcac967712c29fff00a96666efff00ce999aa013ce
+ff00f46666fb3015410aff012c999af72b15f7420a13def7430a13ee720a13de730a
+13ee740a0efb2bfb64eff700a1f7fea4957712c0a0dfef13ccf732fb3015410a13dc
+36f8d3159f0a13eca00a0eb0fb17b7e2a7f8dcac967712c29ff870a013ccff018b66
+66fb1715f7720aff0162999af71215f7420a13dcf7430a13ec720a13dc730a13ec74
+0a0efb2bfb17b7e2a1f7fea4957712c0a013c8f7bdfb1715f7720a13d878f8ba159f
+0a13e8a00a0e59fb17b7dda2f807a9f77f9ea47701e5d0f75fd103f7fcfb1715f772
+0a8df82815830a0efb9981b6f7efa8f769ea1295e979d04bd09ee913f295f93115e6
+0af73d16a30afb18fb9815f73c0a13e6c30613ea980a13e6990a0ef72c9576f826a2
+dfabf5ab01f7a4b3ebb303f7fcf91015c60a335615e80a3dfb54159c0a0e49fb85cf
+f8c8a2deabf5ab01f749b3ebb303f7a1f90f15c60a335615e80a8ffd87159e0a0e20
+81b363a9f80da1efacf70aab1295af87d459d8f72cd0133c80b9f8f715f78b0af78b
+fc2315e20a137a80e30ad8fb261513b980780a137a80790a0efba286a2f805a1f79d
+a3d7ef12ead0a7ef78d813fcf754f9ce15840a6ffd661589bd8bf7ad8dbdff000199
+9aff00289998ff0001b333afff00064ccdff001d6668ff000b6666ff00351998ff00
+163333ff001de668ff0020cccd8b0813faa28b917b8f789071987ea58ba48b93958b
+9b8b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccd
+ffffcd999808ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b41fffffcb3
+3386ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff0000b333ff
+0000199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdff
+fffb66668b808b8b8cfb6c8959fffffccccdffffb1199afffff83333fffffbe66658
+8885858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b4
+8a0891918b9685914a8efffff93333ff0004199afffffccccdff004ee666080efba2
+86a2f805a1f79da301ff00603333ff00424ccdff006e8000d803f78cf82215ffffaa
+999affffcde66605ff00003333ff003e999aff00006666ff0036e666ff0000cccdff
+0013999aff0001999aff00289998ff0001b333afff00064ccdff001d6668ff000b66
+66ff00351998ff00163333ff001de668ff0020cccd8ba28b917b8f789071987ea58b
+a48b93958b9b088b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea66
+68ffffe0cccdffffcd9998ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b
+41fffffcb33386ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff
+0000b333ff0000199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff
+00024ccdfffffb66668b808b8bff0000199affffe68000ff00001999ffffdc800008
+ffffaacccd599778ff00493333ff002a999a05ff0000199949ffffffe666ffffac33
+33fffffecccdffffe33333fffffccccdffffb1199afffff83333fffffbe666588885
+858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b48a91
+918b968591084a8efffff93333ff0004199afffffccccdff004ee666fffffee666ff
+001bb333ffffff8000ff0062999aff0000199aff005ae66708ff00618000ff0038cc
+cc050efba286a2f805a1f4a4f71ba301ead0f701d803f798f8af15ffffa2cccd06ff
+000166679e8dff00116668ff00036667ff000f9998ff000b6666ff00351998ff0016
+3333ff001de668ff0020cccd8ba28b917b8f789071987ea58ba48b93958b9b8b9b81
+9b7d9708789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccdffffcd
+9998fffff1e666ffffe93334fffff5199affffe33334fffffab333ffffdc999808ff
+ffce4ccd067a8685831f8607868c8a8f1eff003fe66606ffffff6667fffff7b334ff
+ffffb333fffff74ccc8b828b41fffffcb33386ffffe74ccd8b7a8bfffffbb33388ff
+ffff4ccd85088a82058b87ff0000b333ff0000199aff00034ccdffffffe66608ac8a
+05ff000cb333ffffff999aff00024ccdfffffb66668b808b8b8cfb6c8959fffffccc
+cdffffb1199afffff83333fffffbe666588885858b809185b38cff0013199a8fff00
+25e6668bff002a999a8bff0019666687b48a0891918b9685914a8efffff93333ff00
+04199afffffccccdff004ee66689bd8bf7ad8dbdff0000666695ff00006667ff0009
+999aff00008000ff0009666608ff0050b3330694978a941f96078f898d861e0ef72d
+81a378a2f7c7aaf7a9a412f3daf815e113bcf74bf7011589bd8bf7038dbdff0002b3
+33ff00436666ff0008cccdff00384cceff0012b333ff002d4cccff00274ccdff005f
+1998ff0048e666ff0030e668ff0050999a8bb58bc3718b7d8b742efb2e5b47087307
+928c908b918b08f732a8fb0567fb084b5d591f488b67b577edfffff64cccff000280
+00ff00006668fffffe8000fffff64ccc8708137c88408f6c90700813bcb882ff000f
+800078ff004280008b08f718d8e8edea33db2687898d8f1f8b8d8b8d8d8e08f727f7
+808ba305519e4b954d8bffff6db3348bffffaae666ffffc71998ffffd23333ffffa7
+e668ffffe08000ffffc34cccfffff16666ffffb4999aff00034ccdffffae199a8d59
+8b35895908137cfffffcb333ffffad199afffff24ccdfffffae666458885858b8091
+85bc8cff001c66668fff0031999a8bff003133338bff001acccd87bd8a91918b9685
+9108458efffff24ccdff0005199afffffcb333ff0052e666080e5d81aef910b012b0
+dc7eaff792df13e8f70af758158bf704a7bcf706c3ea4cb32d8b5208337635fb061e
+fb0a73ead71f3a811542b5fb0ff73ff6f70eb5f7461e8bd759f1fb09cb0813d8fb09
+cb55af8bb18bc4c699b88bb08ba97d9f6fa16d9b7c958b998bb1948baa8b977b9d6a
+a1086ba05d964f8b4b8b3f758b358b53b564df4dfb27565cfb008b35080ef71efb64
+eff2a2f778abf8107701ff0124999aef03ff0124999afb3015210affffdfe666f846
+15480afbb8fb6515490a0e20fb64efedb363a9f80da112b5d459d8a2efa8d01393f7
+39fb3015410af714f80415e20a13bbe30ad8fb261513d7780a13bb790a0ef71e86a2
+f778abf81077f70fa301ff011b999ab8cbbf03ff01bc999af96d159b7cb34b556f69
+767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d
+83838282fffff46666fffff46668fffff38000fffff29998ffffff3334ffffe14ccc
+fffffc9998ffffff3334fffffce668ffffff8000fffffd4ccc8b08fb7cfcb605ffff
+e63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08ca28f
+b28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006b333
+ff00103333ff0029b33308c7f72f0590989194a38b08ff00d080008bff003f8000fb
+4c05ff000e199862ffffd78002ff00006666ffffd06666fffffc999a85858b809185
+b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff00038000ffffdeccccff
+0003800079be08fb65f8da05fffffbe666fffffd8000fffffb3334fffffd800086ff
+fffd8000ff0005999aff000fb334ff000c4cccff00096664ff000e199aff00096668
+9c969b968ba108ffff47e666fc5715480a0e2081b363a9f80da1f767a612b5d459d8
+85b69aa795bd97d01333c0f7aef8eb15f82c0a96fc1715e20a1379c0e30ad8fb2615
+13b5c0780a1379c0790a0ef71e86a2f778abf81077d47601ff01eab334ff035f6668
+15ffffa93332ffffbb333005fffffd3334fffffdccd0fffffde666fffffe1998ffff
+fe8000fffffe3334fffffa3334ff00064cccfffffa4cccff00068000fffffa999aff
+00068000fffff0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68
+666f8d828e859485b19cab9cb0a608ac72ad79b279ff0009199aff0003ccccff0004
+1998ff0008199cff0002ccceff00091998ffffe9999aff0010ccccffffe93332ff00
+138000ffffeab334ff0015199cff00046666ff00018000ff00054cccff00024cccff
+00068000ff0003333408ff0064ccccff002e666405fffff7199cff0011199cfffff1
+9998ff000dccccffffebe668ff000ab33408ffff19ccccfffdb6999815480afbb8fb
+6515490a0e2081b363a9f80da112b5d459d8f72cd01324ff017e999aff029fcccc15
+ffffcb199affffa0cccc05fffffa4cccfffff5b334fffffdb334fffffce6688b828b
+fffffa6664ff0004e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00
+033334ff000a80009708ff00508000ff00573334fffffde666ff0008cccc05ffffef
+e666ff00119998ffffee199aff0000ccd0fffffb80008b08fffffc80008bfffffbcc
+ceffffff3330fffffde666ffffff333408ffff686666fffff0333415e50ac9fc5015
+e20a1374e30ad8fb261513ac780a1374790a0ef71e86a2f778abf81077d47601ff00
+97b333ff035ecccc15ffffe7fffffffff6b334ffffef999afffff38000fffff33333
+fffff1cccc08ff006bcccdffffcd999c05ff000eb334fffff8ccccff0009cccdffff
+fd9998ff000599998bff0005999a8bff0004e666ff0005999c8bff000666648bff00
+05999cfffffd3334ff0004ccccfffff84cccff0006666408ff00903334ff000c6668
+15be0affff87e666fca615480afbb8fb6515490a0e2081b363a9f80da112b5d459d8
+f72cd01334ff003dccccff029fcccc15fffffd3334ff0000ccccfffffbccccff0000
+ccd0fffffc80008bffffe833348bffffefe666fffff26664fffffa6667fffffb3334
+08fffffe999afffff73334ff004fccccffffa8cccc05ff000b33327fff0004e66787
+ff000433338bff0005999a8bff0004e666ff0004cccc8b8f8bff0005999cffffff4c
+cdff00059998fffffc80009308ff00783333e015e50ac9fc5015e20a1374e30ad8fb
+261513ac780a1374790a0ef71e86a2f778abf81077d476f745a301ff018f999ab8a1
+a59bff0033fffe03ff02309998f9d7159b7cb3ffffc00002556f69767f927c9f9b96
+94971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d838382827f7f7e
+7d8b6a08a5068da49a97ff0011fffe979c969b968ba108ffff4c00027015be0affff
+87e666fca615480afbb8fb6515490a0e2081b363a9f80da1f7c8a612b5d459d8f70f
+b67dd063a795bd1332c0f82ff94c15f82c0afb486315e50ac9fc5015e20a137800e3
+0ad8fb261513b500780a137900790a0ef71e86a2f778abf81077ff0082e668ff0032
+4cccfffffe1998ff00344ccc1213e0ff017d999af9a215be0affff86e666fc8c1548
+0afbb8fb6515490a13f0f7b7ff02ee333415ffffeb199a8bffffed4cccff0006b334
+ffffee6666ff000b66640813e875ff000d4cccffffe7ccce9e6a8bffffd0b3338bff
+ffe6b333ffffdae668fffff0999a53ff00069999fffffa4ccc96ffffff199cff000c
+199aff0001e66496ff001f4cccff000affffff000e3334ff001c999a8bff0012b334
+8bff0014e666fffff88000ff0013ccccfffff580000813f0ff0017199afffff2b334
+ff0017199affffeee668ff001833348bff003299988bff001fe668ff00251998ff00
+0d3334c4fffff96664ff0003cccc80ff0002ccccfffff3e668ffffff199c08fffff0
+9998ffffd81998fffff3e668fffff66668ffffe7cccc8b080e2081b363a9f80da1f7
+8ac089c212b5d459d8f72cd06aa6133080f7aff96215bf0a132880c00a133080c10a
+574d15e50ac9fc5015e20a136400e30ad8fb261513a300780a136500790a0ef71efb
+64eff2a2f778abf81077d37601ff0124999aef03ff017d999af9bb15be0a32fe5715
+210affffdfe666f84615480afbb8fb6515490a0e20fb64efedb363a9f80da112b5d4
+59d8a2efa8d01393f783f90d15e50a41fda915210af714f80415e20a13bbe30ad8fb
+261513d7780a13bb790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f76ca703
+ff01aeccccff037ae66815ffffa08000ffffb44ccc0581fffff81998fffffe6668ff
+fffb999c8bfffff9cccc8b84ff0004b332fffff9ccccff0006e6668bff0006e6688b
+ff00093332ff00029998ff00103334ff0007e66808ff006ee666ff0033199805ffff
+f63334ff0012ccd0fffff03332ff000f4cccffffe9e666ff000bb33408ff0043ccce
+ffffa9199815f70c0affff11e666fca215480afbb8fb6515490a0e2081b363a9f80d
+a1e6c4ff0039800076ff003580007712b5d459d844a6f758d05aa6133c00f785ff02
+e84ccc15f8260a133ca0fb23ffffa8b33415f70d0af757fc5115e20a137e00e30ad8
+fb261513bd40780a137e40790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f7
+6ca703ff0124999aff0378199815ffffe5b332fffff5ccd0ffffedcccefffff23330
+fffff1e666fffff0666808ff0076999affffc8800005ff00103332fffff81998ff00
+0ab334fffffd6668ff000633348bff000633328bff00056666ff000633348b928bff
+00063334fffffce668ff00054cccfffff780009208ff0070e666fffff5cccc15f70c
+0affff11e666fca215480afbb8fb6515490a0e2081b363a9f80da1e6c4e57712b5d4
+59d844a6f758d05aa6133800ff00b1e666ff02f14ccc15fffffce667ff0000e668ff
+fffb4ccdff0000ccccfffffc33338bffffe5cccd8bffffee6666fffff11998fffff9
+cccdfffffab33408fffffe6666fffff64cccff0057cccdffffa0199c05ff000c4ccd
+fffff2ccccff00056666fffffb9998ff0004999a8bff000633338bff00056666ff00
+054cd08bff000466648bff00063334ffffff3334ff00061998fffffc3333ff0008cc
+d008133940ffff7a3333ff000e999815f70d0af757fc5115e20a137c00e30ad8fb26
+1513ba80780a137c80790a0ef71e86a2f778abf81077c0bff712a301ff00e2999aa7
+a7b8a1a59bbfa6a703ff01bb999af9d915f82d0ac26a15f70c0affff11e666fca215
+480afbb8fb6515490a0e2081b363a9f80da1e6c4e577e1a612b5d459d844a6aeb69a
+a795bd9ad05aa6133c70f7abf94815f82c0a133cb4fb496815f70d0af757fc5115e2
+0a137e30e30ad8fb261513bd38780a137e38790a0ef71e86a2f778abf81077adbfff
+002ce668ff00324cccfffffe1998ff00344ccc12ff01d6999aa713f6ff01f2999af9
+a5156f06846457755a8b568b5ca183b208fffff5666606ff0009b333ff00161998ff
+000b8001ff000a3334ff001833328bff0012b3348bff0014e666fffff88000ff0013
+ccccfffff580000813faff0017199afffff2b334ff0017199affffeee668ff001833
+348bff003299988bff001fe668ff00251998ff000d3334c4fffff96664ff0003cccc
+80ff0002ccccfffff3e668ffffff199cfffff09998ffffd81998fffff3e668fffff6
+6668ffffe7cccc8bffffeb199a8bffffed4cccff0006b334ffffee6666ff000b6664
+0813f675ff000d4cccffffe7ccce9e6a8bffffd0b3338bffffe6b333ffffdae668ff
+fff0999a53ff0004999987ff0006e667fffffe6668ff0007cccc8bff000b4ccdffff
+c26664ff00370001ffffdab334ff0043e6668b08cd8bcbb591d208ffff11e666fc8f
+15480afbb8fb6515490a0e2081b363a9f80da1e6c4e577a6c089c212b5d459d844a6
+f758d05aa678a6133c48f7a7f96115bf0a133a48c00a133c48c10afb454f15707f05
+9936be59d18b08133850c68bcbbc97e10870970581515d6b578b558b60b080c008f7
+57fc5115e20a137900e30ad8fb261513b8a0780a137920790a0ef71efb64eff2a2f7
+78abf81077c0bf01ff00e9999aa7aaefe0a703ff01f9999af9b815f70c0afb69fe54
+15210affffdfe666f84615480afbb8fb6515490a0e20fb64efedb363a9f80da1c8c4
+12b5d459d84ca6c6efa8d062a61399a0f5f90715f70d0ac6fda315210af714f80415
+e20a13bc80e30ad8fb261513dac0780a13bcc0790a0e91fb64eff2a279a5f7c2a7f7
+9aa679a28d7712f5deff00246666efff0046999aa1d7a387a31391c0ff00e16666fb
+3015410aff004e999af89515d10a1399e0d20a1393d0540a1399d0550a13d5d0560a
+13b1d0570a13d1d0580a13b9e0d30a0efb12fb64efedb0f75fa8f71da201aed7ceef
+b6d703f746fb3015210a4bf833157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa6
+79a28d77f733a312f5deff00156666b8a1a59bbfff0018999aa1d7a387a31323f0ff
+01736666f98b15f82e0affffbc999afc2615d10a1333f8d20a1327f4540a1333f455
+0a13abf4560a1363f4570a13a3f4580a1373f8d30a0efb1281b0f75fa8f71da2f767
+a601aed7b4b69aa795bda2d703f7bef8eb15f7820afb4cfbe8157f0ad2fb4315800a
+0e9186a279a5f7c2a7f79aa679a28d77a4c089c212f5def763a1ffffef6666a6ff00
+41999aa387a31322a0ff01626666f95a15bf0a1321a0c00a1322a0c10affffcd999a
+fbf515d10a133090d20a1324c8540a1330c8550a13a8c8560a1360c8570a13a0c858
+0a1370d0d30a0efb1281b0f75fa8f71da2d6c089c212aed7f766d74ea613f5f7b5f8
+b715bf0a13edc00a13f5c10afb43fbb415f00a13e6f10ad2fb4315800a0e9186a279
+a5f7c2a7f79aa679a28d77da7612f5def763a1d7a387a3132380ff01a38000ff035d
+666815ffffa93334ffffbb333005fffffa3332fffffb6668fffffd6666fffffcb334
+fffffecccefffffcccccfffff7ccccff0008b33483ff0008ccccfffff8800094ffff
+f0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d828e85
+9485b19cab9cb0a608ac72ad79b279ff0009199aff0003ccccff0004199aff000819
+9cff0002ccccff00091998ffffeae666ff000fccccffffea999aff00124cccffffeb
+ccceff0013999cff00058000ff0001333492ff0002b330ff0009e666ff0004ccd008
+ff0064ccccff002e666405fffff7199aff0011199cfffff1999aff000dccccffffeb
+e666ff000ab33408ffff8c8000fffe07999815d10a1333c0d20a1327a0540a1333a0
+550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71da201
+aed7f766d703ff018a999aff029fcccc15f82f0affff646666fffff0333415e50afb
+11fc21157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa679a28d77da7612f700da
+f765a1d7a387a3132380ff00588000ff035ecccc1573fffff6b334ffffef999affff
+f38000fffff33332fffff1cccc08ff006bcccdffffcd999c05ff000eb333fffff8cc
+ccff0009cccdfffffd9998ff000599998bff0005999a8bff0004e666ff0005999c8b
+ff000666648bff0005999cfffffd3333ff0004ccccfffff84ccdff0006666408ff00
+7e3333ff000c666815d50aff0004999afc5715d10a1333c0d20a1327a0540a1333a0
+550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71da201
+aed7f766d703ff0054cccdff029fcccc15fffffd3334ff0000ccccfffffbcccdff00
+00ccd0fffffc80008bffffe833338bffffefe666fffff26664fffffa6667fffffb33
+3408fffffe999afffff73334ff004fccccffffa8cccc05ff0006b332fffff8ccccff
+00048000fffffbb334ff00036667fffffdb334fffff71999fffff5b334fffff74ccd
+fffff63330fffff7cccdfffff6e668918292859489b2a1aca8ababa96cae6fb173ff
+00096666ff0001e666ff0008999aff0008199a90920867b35fc06ebafffff53333ff
+00028000fffff58000ffffffccccfffff54ccdfffffdb334ffffed3333ffffe24ccc
+ffffe63333ffffdee668ffffe64ccdffffe18000ffffff6667ff000280008aff0002
+b334fffffeb333ff0003199808ffffec3333fbcc157f0ad2fb4315800a0e9186a279
+a5f7c2a7f79aa679a28d77da76f734a312f5deff00716666b8a1a5ff0000999aa1ff
+fff96666bfff001e999aa387a31323e0ff00f36666f9bc15d50aff003c999afc5715
+d10a1333e4d20a1327f2540a1333f2550a13abf2560a1363f2570a13a3f2580a1373
+f4d30a1323e8ff009f6666f86115f82e0a0efb1281b0f75fa8f71da2f7c8a612aed7
+f73fb687d752a795bd13fd80f840f94c159c7bb454616a68757f937c9e949895961e
+8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e758a69
+08a70613fa008da5959c9c9b089b9b9a9b8b9f08fb516315fffff53333ff00028000
+fffff58000ffffffccccfffff54ccdfffffdb3346e5d5d556763918292859489b2a1
+aca8abab0813fc00a96cae6fb173ff00096666ff0001e666ff0008999aff0008199a
+909267b35fc06eba08fb11fc2115f00a13fa00f10a13f880d2fb431568676a71548b
+698b599f6dbc78aa80bb8bc208f7a08f0513fa0096ff0000333392ff0006cccd8b95
+08db6ae3fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d08bd38b
+c4acb1bd0888958590808c080e9186a279a5f7c2a7f79aa679a28d77ba76ff006de6
+68ff00324cccfffffe1998ff00344ccc12f5def763a1d7a387a3132260ff013f6666
+f99c15d50afffff0999afc3715d10a133270d20a132668540a133268550a13aa6856
+0a136268570a13a268580a137270d30a132360ff00444cccff01cd333415ffffeb19
+9a8bffffed4cceff0006b334ffffee6666ff000b6664081322e075ff000d4cccffff
+e7cccc9e6a8bffffd0b3348bffffe6b333ffffdae668fffff0999953ff0006999aff
+fffa4ccc96ffffff199cff000c199aff0001e66496ff001f4ccc96ff000e3334ff00
+1c99998bff0012b3338bff0014e666fffff88000ff0013cccefffff5800008132360
+ff0017199afffff2b334ff00171998ffffeee668ff001833348bff0032999a8bff00
+1fe666ff00251998ff000d3334c4fffff96666ff0003cccc80ff0002ccccfffff3e6
+66ffffff199c08fffff0999affffd81998fffff3e666fffff66668ffffe7cccc8b08
+0efb1281b0f75fa8f71da2f786c089c212aed7f766d75ca613f5f7c3f95e15bf0a13
+edc00a13f5c10a4b5115e50afb11fc2115f00a13e6f10ad2fb4315800a0e91fb64ef
+f2a279a5f7c2a7f79aa679a28d77db7612f5deff00246666efff0046999aa1d7a387
+a31391e0ff012e6666f9bd15d50a3efe5915210aff004e999af89515d10a1399f0d2
+0a1393e8540a1399e8550a13d5e8560a13b1e8570a13d1e8580a13b9f0d30a0efb12
+fb64efedb0f75fa8f71da201aed7ceefb6d703f788f90e15e50a49fdaa15210a4bf8
+33157f0ad2fb4315800a0efb9686a2f8f5a2f721a312ff004f6666b8fffff1999ada
+ffffd56666a59bbf13f6ff00f06666f98b15f82e0affffcf999afd1e1513e85c0a0e
+fbba86a2f7f99da877f778a612c9b68bd055a795bd13fbf764f8eb15f82c0a6bfc7e
+1513f4850a0efb96fb64eff2a2f8f5a212ff00656666efffffa4999ada13f0ff0065
+6666fb3015410aff005a999af79d1513e85c0a0efbbafb64eff2a2f7f99da877f725
+ef12dbef2eef39d013fae2fb3015410a13fc84f98715840aebfc7e1513f9850a0ef7
+1afb64efeda3f900a301afe5ff00b08000efff00a68000e503ff012e8000fb301521
+0aff00188000f9aa15650af7e0fbc515660a0e3cfb64efeda2f813a201b3d7d9efd3
+d703f756fb3015210afb2ef7f3158d0af750f75d158e0a0ef71a81a3f900a3c076f7
+11a301afe5ff00868000b8a1a59bbfff00938000e503ff01a58000f9a315f82d0aff
+ffa18000fb2915650af7e0fbc515660a0e3c81a2f813a2f767a601b3d7bab69aa795
+bdc4d703f7c9f8eb15f7820afba1fc28158d0af750f75d158e0a0ef71a81a3f900a3
+c07601afe5f84fe503ff01de999aff0358666815ffffa93332ffffbb333005fffffa
+199afffffb4cd0fffffd4ccefffffcb330fffffee666fffffcb33481ff000a4cccff
+fff66666ff000a999c82ff000accccfffff0999aff0007b334fffff66666ff0000b3
+347dfffff799986c696a68666f8d828e859485b19cab9cb0a608ac72ad79b279ff00
+09199aff0003ccccff0004199aff0008199cff0002ccccff00091998ffffecb334ff
+000e8000ffffec6666ff00108000ffffed6666ff0011b334ff00056666ff00013334
+92ff0002b330ff0009ccceff0004ccd008ff0064ccccff002e666405fffff71998ff
+0011199cfffff1999cff000dccccffffebe666ff000ab33408ffff686666ffff2199
+9815650af7e0fbc515660a0e3c81a2f813a201b3d7f78ed703ff0192999aff029fcc
+cc15f82f0affff6f6666fffff0333415e50afb6efc61158d0af750f75d158e0a0ef7
+1a81a3f900a3c07601afe5f84fe503ff0087999aff0360cccc15ffffe81999fffff6
+b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c05
+ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff00
+04e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004ccccfffff84c
+cdff0006666408ff00853333ff000a666815d50affffe58000fb4215650af7e0fbc5
+15660a0e3c81a2f813a201b3d7f78ed703ff0054cccdff029fcccc15fffffd3334ff
+0000ccccfffffbcccdff0000ccd0fffffc80008bffffe833338bffffefe666fffff2
+6664fffffa6667fffffb333408fffffe999afffff73334ff004fccccffffa8cccc05
+ff000b33327fff0004e66787ff000433338bff0005999a8bff0004e666ff0004cccc
+8b8f8bff0005999cffffff4ccdff00059998fffffc80009308ff007c3333e015e50a
+fb6efc61158d0af750f75d158e0a0ef71a81a3f900a3c076f735a312afe5ff012080
+00b8a1a59bbffffff98000e513ff00ff023f8000f9c715f82e0afb728015d50affff
+e58000fb421513fe80650af7e0fbc515660a0e3c81a2f813a2f7c8a612b3d7f746b6
+9aa77dd757bd13fdf84cf94c15f82c0afb4a6315e50afb6efc6115f7000a13faf701
+0af750f75d158e0a0ef71a81a3f900a3ff006de668ff00324cccfffffe1998ff0034
+4ccc12afe5f84fe513ccff01618000f9a015d50affffe58000fb2615650af7e0fbc5
+15660a13ecfffe7c6666ff01e9333415ffffeb199a8bffffed4ccdff0006b334ffff
+ee6666ff000b66640813dc75ff000d4cccffffe7cccd9e6a8bffffd0b3338bffffe6
+b333ffffdae668fffff0999a53ff0006999afffffa4ccc96ffffff199cff000c1999
+ff0001e66496ff001f4ccc96ff000e3334ff001c999a8bff0012b3338bff0014e666
+fffff88000ff0013cccdfffff580000813ecff0017199afffff2b334ff00171999ff
+ffeee668ff001833348bff0032999a8bff001fe666ff00251998ff000d3332c4ffff
+f96668ff0003cccc80ff0002ccccfffff3e666ffffff199c08fffff0999affffd819
+98fffff3e666fffff66668ffffe7cccc8b080e3c81a2f813a2f78bc089c212b3d7f7
+8aa674d713ecf7cff96315bf0a13dcc00a13ecc10a524c15e50afb6efc6115f7000a
+13caf7010af750f75d158e0a0ef71afb64efeda3f900a3c17601afe5ff00b08000ef
+ff00a68000e503ff01628000f9bd15d50a57fe5915210aff00188000f9aa15650af7
+e0fbc515660a0e3cfb64efeda2f813a201b3d7d9efd3d703f799f90f15e50a48fdab
+15210afb2ef7f3158d0af750f75d158e0a0ef71a81a3f900a3afe112afe5ff01b080
+00b0ffffe58000e513f0ff01768000f9c815bd0affffd08000fb4e1513f4650af7e0
+fbc515f7440a13f8f7450a0e4f81a2f813a2b3db12b3d7f78ed76bab13f0f7a9f927
+15e40afb81fc6415f7000a13f8f8300a13f4f7470af750f75d1513f88e0a0ef71a81
+a3f900a3afe112afe5ff01b08000b0ffffe58000e513f0ff00ee8000f9d915d00aff
+ffdf8000fb0b1513f4650af7e0fbc515f7440a13f8f7450a0e4f81a2f813a2b3db12
+b3d7f78ed76bab13f0f761f92715760afb7ffbe615f7000a13f8f8300a13f4f7470a
+f750f75d1513f88e0a0ef71a81a3f900a3afe196a312afe5ff00808000b8a1a59bbf
+f723b0ffffe58000e513ff00ff019f8000f98b15f82e0affffa78000fb111513ff40
+650af7e0fbc515f7440a13ff80f7450a0e4f81a2f813a2b3dbe6a612b3d7bdb69aa7
+95bdc1d76bab13ff00f7ccf8eb15f82c0afba4fc2815f7000a13ff80f8300a13ff40
+f7470af750f75d1513ff808e0a0ef71a81a3f900a391c074e14ac212afe5ff00ad80
+00a6f77cb0ffffe58000e513e600ff00fc8000f96115bf0a13ce00c00a13e600c10a
+ff004a8000381513c680650af7e0fbc515f7440a13d700f7450a0e4f81a2f813a2b3
+dbffffcc3334ff003a4cccfffffdccccff003c800012b3d7ffffee8000ff00184ccd
+ff00c99999ff00184cceff00114cccd76bab13d300ff011a199aff0221800015ffff
+eee6668bfffff0b333ff0007b334fffff1999aff000d33340813cb0079ff000f6664
+ffffec3333a1708bffffd94ccd8bffffeb4ccdffffd5199cfffff36666ffffbf1998
+ff00056666fffff9666694fffffee666ff0009e667ff0002333494ff00244ccc94ff
+00108000ff001766668bff000f4ccd8bff0011199afffff73334ff00103333fffff3
+e6680813d300ff0012e666fffff09998ff0012e667ffffec3334ff0013cccc8bff00
+2966668bff001a199aff002ae664ff000acccecdfffffa9998ff0004666882ff0003
+4cccfffff6199afffffee66808fffff36666ffffd1ccccfffff6199a80ffffec3334
+8b0813e580ffff0de666fffea1800015f7460a13e540f7470af750f75d1513c5808e
+0a0ef71afb64efeda3f900a3afe112afe5ff00b08000eff730b0ffffe58000e513fc
+ff012e8000fb3015410aff00188000f9aa1513fd650af7e0fbc515f7440a13fef745
+0a0e4ffb64efeda2f813a2b3db12b3d7d7efd5d76bab13fcf754fb3015410afb2cf7
+f315f7000a13fef8300a13fdf7470af750f75d1513fe8e0a0ef6fb64efedaaf8f2a2
+01efdaff00718000efff00958000b103ff01248000fb3015210affff8e8000f83d15
+6c0a0e55fb64efedae8f9af7efa201dfd0b6efbdd003f758fb3015210a8cf726159a
+0a0ef681aaf8f2a2f721a301efdaff005d8000b8a1a59bbfff006c8000b103ff01b1
+8000f98b15f82d0affff018000fc7e156c0a0e5581ae8f9af7efa2f76ca601dfd0a2
+b69aa795bda3d003f7d6f8eb15f7820afb11fcf5159a0a0ebc86a2f8f5a2cf7601f7
+a6e003ff011a3334f9c515ffffddccccfffff46668ffffe88000fffff04cccffffed
+b333ffffee4ccc08ff009a00014c05a0829988938b938b92928b938b928791809308
+ffffd3ccccfd0415700a0e49fb85cff8c8a201f777f8ff15760afb04fd2e159e0a0e
+bcfb64eff2a2f8f5a212ff010e3334efffff9fcccce013f0ff010e3334fb3015410a
+13e8ff0058ccccf79d15f7410a0e49fb85cf68eff887a212f7d0ef1370f7d0fb3015
+410a13b0fb177a159e0a0ebc86a2f8f5a2f721a312ff010a3334b8ffffdacccce0ff
+ffe63334a59bbf13f6ff01ab3334f98b15f82e0a13eaffffbbccccfd1e15f7410a0e
+49fb85cff8c8a2f76ca601f757b69aa795bd03f7e9f8eb15f7820afb30fd98159e0a
+0ebc86a2f8f5a2bac089c212f7a6e0ff00523334a613ecff018a3334f98215bf0a13
+dc7799759f6d8bffffd4ffff8b74647d509185958a968d95ac959aff001a00018b9c
+8b9e839d800813ecc10affffdcccccfd1515700a0e49fb85cff8c8a2dbc089c212f8
+19a613e8f7eaf8b715bf0a13d8c00a13e8c10afb31fd64159e0a0ef76f8ba86e9ef8
+f49d12f5daf745daf7be9f137cf74df8db15a7999bb41ecf06b29a7d6d1ffc9b0768
+8281611e4406637c99a91f13bcf8366915fb07066e799eaa1ff88e078ba7ff000f66
+6698ff0027999a8e08a58d0590ff000066688eff000299988b90088b94898d058b2e
+86671efb91065a8b6e8f5a8c0889898b82058b868ffffffd4ccc8fffffffb33408a6
+8905ff0024e666fffffd4cccff0011199afffff4b3348b6d08fc9e07137c8b6fffff
+f2999a7effffd76666880870890587ffffffb33388fffffd4ccd8b86088b7f8d8905
+bc8ca88fbc8b0813bcf85e068b8bd887bd8a90c396c996bf08779005764364463f8b
+080e7086a2f882adf7009ea47701ff0069b333cfff00ba0001cf03f7f9f215893c82
+885188fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb4
+8bb48ba387b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a51
+8e828e89da08ffffff199aff00256666fffffe999aff005c66678bff00604ccd8bff
+00404cccff00008000ff0042199aff00009998ff0034800008ff004b3334adffffb5
+333406ff00004cccff00166668ff00004cccff00124cccff00003334ff000c4cccff
+00013334c9ff0002cccca78b8b8b92878d828b7381497f658889838a869185bd88ff
+0007b334fffffb4cccff00034cccffffb9b33408ff00006666fffff81998ff00004c
+cefffff5ccd0ff00004cccfffff4199808ffff49333306ff00004cccff00166668ff
+00004ccdff00124cccff00003333ff000c4cccff00013333c9ff0002cccda78b8b8b
+92878d828b7381497f658889838a869185bd88ff0007b333fffffb4cccff00034ccd
+ffffb9b33408ff00006666fffff81998ff00004ccdfffff5ccd0ff00004ccdfffff4
+1998084c69ff003fb33306ff0000b332ffffd46666ff00004ccdffffc7ccce8bffff
+c6e6668bffff989999fffffe6667ffff953333fffffee666ffffd6199a893c828851
+88fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb4
+8ba387b48a08ff0005e666ff0005e666ff0000333496fffff9e666ff0006199a518e
+828e89daffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff0040
+4cccff00008000ff0042199aff0000999aff0034800008ff00b7e66706ff0000b332
+ffffd46666ff00004cceffffc7ccce8bffffc6e6668bffff989999fffffe6666ffff
+953333fffffee666ffffd6199a080e7c81b6f7e0bcf7887701b8e2f7b6df03f7d8f8
+3215945a05c3ac4143fb21485e3b582fc8f73b1f8bf72bf3f71ef72fdc087ba605fb
+3a4bfb38fb418bfb3a08fb4bed39f70cf738daeff720e645e8fb041e0e4281b5f80d
+77f7c97701b5dcf794d903f7eef82d15667205ba69a23e8b4608fb1f426a595c35c0
+f7271e8bf74bf0f735f720f0087ba005fb2b3cfb2ffb3e8bfb7308fb3fff006d6666
+4aff005b999af717deff0060e666ff007c199a1e8bf553c554ad080e9e7fb6f8dfa7
+01f1be03ff010c4cccff00a7e66615ffffceccce7fffff8ae666ffffdf999a8bffff
+b680008b63ae75aa8bdd8bbccbb6f70108f731f829059ab39597b98b088f928d911f
+8b9e898c058b5b8a6b61498c8b1e8a8a8b7705878d888f1ea806a698887d1f8b8589
+83867f08fb16fbeefb32f7ee05879689948b9208959291a01eb106908d8e901f8b9e
+898c058b3b8a59624c8c8b1e8a8a8b7705878f88911ebc8b9f64947708f757fc3b15
+6c40656d6c8b788b80968b9b8baecba4cd9d080e57fb7da7f728a5f845a801b2ad03
+d4fb4315bee6ceb81e612b057f6f7073738b087b7c969e1ff719a515b7ed05daf745
+b1f0bef699a89eb2b18b08928f8e901f8b9e888d058b62896f68508d8b1e89888b78
+05889087901e8f06a19f86761f8b858983868208fb03fb92fb02f79605879489938b
+91089b9891a990918e901e8b9d898e056689688b5c8b086e5e8d8b1f89898b770587
+8f88911ead8b96809b6508f712fbb905937794708b818b86897388860842fb003f4b
+66a772ac1fb38bb2a1a6c9080e9081c650acf800abef9ce5d312abdcf727b7133ef7
+88f94e15f7120af726fc9815f7a40a137ef7a50a13bef7a60a4ee0157b6405137ef7
+a70a0e9081c650acf800abf09ce1d712abdcc4bd133ef77af94f15f8310af734fc99
+15f7a40a137ef7a50a13bef7a60a4ee0157b6405137ef7a70a0e9081c650acf800ab
+ef9ce5d312abdcbcb7133ef726f94e15f7120af7056315f8320af717fc7015f7a40a
+137ef7a50a13bef7a60a4ee0157b6405137ef7a70a0e9081c650acf800abed9ce1d7
+12abdc7bbd133af731f94c15f8310af56315f8320af713fc6e15f8330a137cf8340a
+13bcf7a60a4ee0157b6405137cf7a70a0e9081c650acf800abef9ce5d312abdcd4b7
+137ef81af74a15f7af0a13bef7a60a4ee0157b6405137ef7a70afb3cf86615f7120a
+f73d9115f8350a0e9081c650acf800abed9ce1d712abdc82bd133af738f94c15f831
+0af7428f15f8360abffc9a15f8330a137cf8340a13bcf7a60a4ee0157b6405137cf7
+a70a0e9081c650acf800abc99ce5d3a2b98bba12abdcf721b7c0a11379c0f81af74a
+15f7af0a13b9c0f7a60a4ee0157b64051379c0f7a70a27f84015f7120a133dc0cdd0
+15133bc0f8370a133dc0a18605133bc0f8380a133dc0f8390a133bc0f83a0a0e9081
+c650acf800abcc9ce1d79eb98bba12abdccdbdf70ca1133dc0f7c2f96c15133bc0f8
+370a133dc0a18605133bc0f8380a133dc0f8390a133bc0f83a0a4c4a15f76f0af72b
+fc7515f7a40a1379c0f7a50a13b9c0f7a60a4ee0157b64051379c0f7a70a0ef71e86
+a2f778abf79f9ceb7799d312ff000c999ab713ecfffffc999af96815f7120aff0107
+e666fc5215480afbb8fb6515c40a13f4c50a0ef71e86a2f778abf7a09cea7796d712
+ffffbc999abd13ecfffff8999af96915f83b0aff010be666fc5315480afbb8fb6515
+c40a13f4c50a0ef74386a2f778abf79c9cee7796d312adb713ec9df96515f7120af7
+056315f8320aff00ab8000fc2715f83c0afbb8fb6515c7f72f0590989194a38b08ff
+00d080008bff003f8000fb4c05ff000e199862ffffd78000ff00006666ffffd06668
+fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334
+ff00038000ffffdeccccff0003800079be0813f4c50a0ef72886a2f778abf79a9cf0
+7790d71258bd13ec94f96315f8310af56315f8320aff00a08000fc2515480afbb8fb
+6515c40a13f4c50a0ef72186a2f778abf79b9cef7795d312b4b713eca4f96415f712
+0af73d9115f8350aff00498000fc5415480afbb8fb6515c40a13f4c50a0ef72186a2
+f778abf79b9cef7791d71278bd13ecb4f96415f8310af7428f15f8360aff00348000
+fc5215480afbb8fb6515c40a13f4c50a0ef72e86a2f778abf72a9ce5d3a2b97977b1
+ba12e3b7c0a113f180d3f8f315f7120a13f980cdd01513f380f8370a13f980a18605
+13f380f8380a13f980f8390a13f380f83a0aff008f8000fc2215f83c0afbb8fb6515
+c40a13f580c50a0ef73086a2f778abf72d9ce1d79eb97a77b0ba12b2bdf70ca113f9
+80f736f9371513f380f8370a13f980a1860513f380f8380a13f980f8390a13f380f8
+3a0a4c4a15f76f0aff00b78000fbe015f83c0afbb8fb6515c40a13f580c50a0efb38
+81b0f744a5f73ba2ef9ce5d312b5d058c9edb713f9f760f94e15f7120a13fd2efcdb
+15f7a80a13fbf7a90a13fdf7aa0a0efb3881b0f744a5f73ba2f09ce1d712b5d058c9
+a9bd13f9f768f94f15f8310a13fd26fcdc15f7a80a13fbf7a90a13fdf7aa0a0efb38
+81b0f744a5f73ba2ec9ce5d312b5d058c99eb713f9f711f94b15f7120af7056315f8
+320a13fdfb13fcb015f7a80a13fbf7a90a13fdf7aa0a0efb3881b0f744a5f73ba2eb
+9ce1d712b5d058c957bd13f9f716f94a15f8310af56315f8320a13fcfb11fcaf15f7
+a80a13faf7a90a13fcf7aa0a0efb3881b0f744a5f73ba2ec9ce5d312b5d058c99db7
+13f9f710f94b15f7120af73d9115f8350a13fdfb4afcde15f7a80a13fbf7a90a13fd
+f7aa0a0efb3881b0f744a5f73ba2ec9ce1d712b5d058c95bbd13f9f71af94b15f831
+0af7428f15f8360a13fcfb59fcdc15f7a80a13faf7a90a13fcf7aa0a0ef70386a279
+a5f7c2a7f7519cc3a679a28d779fd312adb7f717def763a1d7a387a31331e09df968
+15f7120af819fc0315d10a1338f0d20a1332e8540a1338e8550a13b4e8560a1370e8
+570a13b0e8580a1378f0d30a0ee086a279a5f7c2a7f7519cc3a679a28d779bd71256
+bdf74edef763a1d7a387a31331e092f96815f8310af80afc0315d10a1338f0d20a13
+32e8540a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0ef7a386a2
+79a5f7c2a7f74d9cc7a679a28d779bd312aab7f7badef763a1d7a387a31331e09af9
+6415f83d0a1334e0f83e0af7056315f8320af84bfbd715d10a1338f0d20a1332e854
+0a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0ef79286a279a5f7
+c2a7f74b9cc9a679a28d7795d71258bdf7f5def763a1d7a387a31331e094f9621513
+38e0657565681f8b719a3fe687088f9c05619379b08ba2081331e0f83f0af56315f8
+320af847fbd515d10a1338f0d20a1332e8540a1338e8550a13b4e8560a1370e8570a
+13b0e8580a1378f0d30a0ef79486a279a5f7c2a7f74b9cc9a679a28d7799d312a9b7
+f7acdef763a1d7a387a31339e099f96215f7120af73d9115f8350af805fc0315fb09
+8a058b8b8af71c8edd8ca3979fa38b08f730061332f0d68b9a56a14697898d8d9590
+86b47cee89938b8d8a8c888b081338e8550a13b4e8560a1370e8570a13b0e8580a13
+78f0d30a0ef78a86a279a5f7c2a7f74d9cc7a679a28d7797d71252bdf7f2def763a1
+d7a387a31331e08ef96415f8310af7428f15f8360af800fc0315d10a1338f0d20a13
+32e8540a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0e669676f8
+0fbd619cf7109ce5d312e6d2f734b777d2139ef7c6f94d15f7120afb22fbfd15f7ab
+0a13bdf7ac0a13ddf7ad0a0e669676f80fbd619cf7129ce1d712e6d2cfbdcdd2139f
+f7b6f94f15f8310afb12fbff15f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd61
+9cf70f9ce5d312e6d2dbb7c7d2139ff776f94c15f7120af7056315f8320afb43fbd4
+15f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619cf70c9ce1d712e6d297bdf7
+0ed2139ff77ef94915f8310af56315f8320afb44fbd115f7ab0a13bff7ac0a13dff7
+ad0a0e669676f80fbd619cf70e9ce5d312e6d2e9b7b9d2139ff784f94b15f7120af7
+3d9115f8350afb89fc0115f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619cf7
+0c9ce1d712e6d299bdf70cd2139ff780f94915f8310af7428f15f8360afb8afbfd15
+f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619ce29ce5d3a2b98bba12e6d2f7
+35b776d28ea11399a0f7c7f92815f7120a139d20cdd015139b20f8370a139d20a186
+05139b20f8380a139d20f8390a139b20f83a0afb65fc1d15f7ab0a13b960f7ac0a13
+d960f8400a13d9a0f8410a0e669676f80fbd619ce59ce1d79eb98bba12e6d2e0bdbc
+d28ba1139da0f806f96c15139ba0f8370a139da0a18605139ba0f8380a139da0f839
+0a139ba0f83a0a4c4a15f76f0afb23fbdb15f7ab0a13b9c0f7ac0a13d9c0f7ad0a0e
+f79786a2f7cba5f7529ccca28dd301aeb7f709e0f7ebde039ef96815f7120af79afc
+fb155b0a0ef79786a2f7cba5f7539ccba28ad7125fbdf752e0f7ebde13ef9bf96915
+f8310af79dfcfc15f8420a13f7f8430a0ef83e86a2f7cba5f74c9cd2a287d312acb7
+f7b2e0f7ebde13ef9cf96215f7120af7056315f8320af7d2fccd15f8420a13f7f843
+0a0ef83486a2f7cba5f74c9cd2a283d7125abdf7f4e0f7ebde13ef96f96215f8310a
+f56315f8320af7d5fccd15f8420a13f7f8430a0ef73c86a2f7cba5f74c9cd2a287d3
+12ffff8ee666b7ff01a9199ae0f7ebde13efffff7ee666f96215f7120af73d9115f8
+350aff0191199afcfb15f8420a13f7f8430a0ef73c86a2f7cba5f74f9ccfa286d712
+ffff43e666bdff01e4199ae0f7ebde13efffff7fe666f96515f8440a13f7f8450a13
+eff83f0af7428f15f8360aff0181199afcfc15f8420a13f78dde9b90d18e91918b96
+85910813eff8460a13f7f8470a13eff8460a13f7f8480a0ef81d86a2f7cba5d39ce5
+d3a0a276b98bba12f4b7c0a1f5e0f7ebde13f1e0e4f8f215f7120a13f5e0cdd01513
+f3e0f8370a13f5e0a1860513f3e0f8380a13f5e0f8390a13f3e0f83a0af798fcca15
+f8420a13f9e0f8430a0ef82786a2f7cba5d89ce1d79ba277b98bba12a3bdf70ca1f7
+10e0f7ebde13f5e0f727f9381513f3e0f8370a13f5e0a1860513f3e0f8380a13f5e0
+f8390a13f3e0f83a0a4c4a15f76f0af7e9fc8a15f8420a13f9e0f8430a0efbac81b8
+f80c77f70a9ce5d312ddd27eb713f4f710f944156d7d797b7b9075b49391837e1f8b
+74766661820813f8907a0513f4d193abc98baf08af75b0651e13f861fc1115f7990a
+0efbac81b8f80c77f70b9ce1d712d3bd63d213f8f718f94515f8310a13f459fc1215
+f7990a0efbac81b8f80c77f7129ce5d312c8b774d213f8b8f94c15f7120af7056315
+f8320a13f43ffbf115f7990a0efbac81b8f80c77f7109ce1d70181bdb5d203bdf94a
+15f76f0af56315f8320a41fbef15f7990a0efbac81b8f80c77f7119ce5d312c6b776
+d213f8b6f94b15f7120af73d9115f8350a13f4fb16fc1e15f7990a0efbac81b8f80c
+77f7119ce1d70182bdb4d203bef94b15f76f0af7428f15f8360afb23fc1c15f7990a
+0efbac81b8f80c77e49ce5d3a2b98bba12ddd27fb7c0a113f180f711f92715f7120a
+13f880cdd01513f480f8370a13f880a1860513f480f8380a13f880f8390a13f480f8
+3a0a13f280fb01fc3915f7990a0efbac81b8f80c77e89ce1d79eb98bba12d0bd66d2
+e1a113fa80f754f96c1513f680f8370a13fa80a1860513f680f8380a13fa80f8390a
+13f680f83a0a4c4a15f76f0a13f1805cfbf815f7990a0efb4686a2f8a49ccba28ed3
+01a8b7f713da0398f96915f7120af7a1fcfc155c0a0efb5886a2f8a49ccba28ad712
+5abdf749da13dc96f96915f8310af791fcfc15f7f30a13ecf7b90a0e8186a2f89e9c
+d1a288d312a8b7f7bbda13dc98f96315f7120af7056315f8320af7d8fcce15f7f30a
+13ecf7b90a0e6586a2f89f9cd0a285d71251bdf7f0da13dc8df96415f8310af56315
+f8320af7cefccf15f7f30a13ecf7b90a0e6f86a2f8a09ccfa28ad3129eb7f7b3da13
+dc8ef96515f7120af73d9115f8350af798fcfe15f7f30a13ecf7b90a0e6e86a2f8a1
+9ccea287d71257bdf7f3da13dc93f96615f8310af7428f15f8360af78dfcfd15f7f3
+0a13ecf7b90a0e5586a2f8339ce5d39aa27cb98bba12e1b7c0a1f70bda13e380d1f8
+f815f7120a13eb80cdd01513e780f8370a13eb80a1860513e780f8380a13eb80f839
+0a13e780f83a0af7a2fcd015f7f30a13f380f7b90a0e6c86a2f8339ce1d79aa278b9
+8bba12a1bdf70ca1f719da13eb80f725f9391513e780f8370a13eb80a1860513e780
+f8380a13eb80f8390a13e780f83a0a4c4a15f76f0af7effc8b15f7f30a13f380f7b9
+0a0e3c81a2f813a2e59ce5d301b3d7f71bb7d2d703f77ff94415f7120afb57fc8115
+8d0af750f75d158e0a0e3c81a2f813a2e69ce1d701b3d7cebdf719d703f787f94515
+f76f0afb5ffc82158d0af750f75d158e0a0e3c81a2f813a2e49ce5d301b3d7c1b7f7
+2cd703f72ef94315f7120af7056315f8320afb77fc58158d0af750f75d158e0a0e3c
+81a2f813a2e49ce1d712b3d77cbdf76bd713f6f735f94315f8310af56315f8320a13
+fafb77fc5815f7020af750f75d158e0a0e3c81a2f813a2e19ce5d3917712b3d7c2b7
+f72bd713f7f72ff94015f7120a13eff73d9115f8490afbb0fc83158d0af750f75d15
+8e0a0e3c81a2f813a2e39ce1d78f7712b3d77cbdf76bd713f3f735f94215f8310a13
+e9f7428f15f84a0a13e5fbbbfc8315f7020af750f75d158e0a0ef74181a3f8a79cd3
+a385d312acb786e5f84fe513da9cf96815f7120a13e6f7ee3115db0af7e0fbc515f7
+930a0ef74e81a3f8a89cd2a382d71257bde2e5f84fe513de93f96915f8310a13eef8
+043015db0af7e0fbc515f7930a0ef7e181a3f8a19cd9a37fd312a1b7f73ae5f84fe5
+13de91f96215f7120af7056315f8320a13eef8285f15db0af7e0fbc515f84b0a0ef7
+e981a3f8a19cd9a37bd71254bdf789e5f84fe513de90f96215f8310af56315f8320a
+13eef8385f15db0af7e0fbc515f84b0a0ef7d081a3f8a39cd7a381d312aab7f720e5
+f84fe513de9af96415f7120af73d9115f8350a13eef7d62f15db0af7e0fbc515f84b
+0a0ef7be81a3f8a39cd7a37dd71257bdf75be5f84fe513de93f96415f8310af7428f
+15f8360a13eef7c63115db0af7e0fbc515f84b0a0e4481b1f7ef9ea777f69ce5d301
+e3d6edb7ddb203f789f94415f7120a39fc1115f7ae0a0e4481b1f7ef9ea777f7009c
+e1d701e3d6a9bdf724b203f791f94515f76f0a31fc1215f7ae0a0e4481b1f7ef9ea7
+77f59ce5d301e3d697b7f73cb203f733f94315f7120af7056315f8320afb01fbe815
+f7ae0a0e4481b1f7ef9ea777f59ce1d712e3d654bdf779b213fbf73cf94315f8310a
+f56315f8320a13fdfb03fbe815f7ae0a0e4481b1f7ef9ea777f29ce5d3917712e3d6
+9db7f736b213fb80f739f94015f7120a13f780f73d9115f8490afb3ffc1315f7ae0a
+0e4481b1f7ef9ea777f49ce1d78f7712e3d657bdf776b213f980f73ff94215f8310a
+13f480f7428f15f84a0a13f280fb4afc1315f7ae0a0e4481b1f7ef9ea777db9ce5d3
+a2b98bba12e3d6f6b7c0a189b213f980f792f92915f7120a13fdc0cdd01513fbc0f8
+370a13fdc0a1860513fbc0f8380a13fdc0f8390a13fbc0f83a0afb31fc3b15ba8fc8
+8b1e8f878e831e70816582498289858d848d85bf86957e8b5508fb1107fb05a140f7
+141e13f9a0e9e9ddf73af70765d04f7b7b7e7b1f8b75987d9e81a77caa7d8b2f082d
+5623333e85d1eb1e0e4481b1f7ef9ea777da9ce1d79eb98bba12e3d69fbdf70ca197
+b213fde0f7c6f9691513fbe0f8370a13fde0a1860513fbe0f8380a13fde0f8390a13
+fbe0f83a0a4c4a15f76f0a3bfbf515f7ae0a0ef72586a2f8a49ccba28ad7125fbdf8
+24e013dc9bf96915f8310af86ffcfc1588ff009eb334058bff0027ccccff0005b334
+99ff0006e666ff000c800008ff007fb332f77b0513eca7ff0032b334ad92ff002cb3
+34ff00044ccc0813dc91918b9585916d8a6388748b748b6a8e638c0813ec85858b81
+9185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff89199afb740582
+7afffff8e6668efffff733349b08ffff81ccccf77205ffffe7ccccff002a9998ff00
+0e3334ff00056668c38e91918b968591638a6587638b648b608f6d8c85858c809185
+b588ff001f199afffff76668ff00289999ffffbb999808ff00836667fb7105ff0011
+8000ffffe28000ff00066666ffffff80008b660888fb2a05fffffe66663afffff099
+9a843b8885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cc
+cc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef7c486a2f89e9cd1
+a284d7125abdf8c8e013dc96f96315f8310af56315f8320af8a9fcce15f84c0a13ec
+a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a6388748b748b6a8e
+638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff89
+1998fb7405827afffff8e6688efffff733349b08ffff81ccccf77205ffffe7ccccff
+002a9998ff000e3334ff00056668c38e91918b968591638a6587638b648b608f6d8c
+85858c809185b588ff001f199afffff76668ff0028999affffbb999808ff00836664
+fb7105ff00118000ffffe28000ff00066668ffffff80008b660888fb2a05fffffe66
+683afffff09998843b8885858b809185bc8cff002466688fff003699988bff003633
+348bff0022cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef7c4
+86a2f8a09ccfa286d71259bdf8c9e013dc95f96515f8440a13ecf84d0a13dcf83f0a
+f7428f15f8360af866fcfc15f84c0a13eca7ff0032b334ad92ff002cb334ff00044c
+cc91918b9585910813dc6d8a6388748b748b6a8e638c0813ec85858b819185ff002c
+4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff891998fb7405827afffff8e6
+688efffff733349b08ffff81ccccf77205ffffe7ccccff002a9998ff000e3334ff00
+056668c38e91918b9685910813dc638a6587638b0813ec648b608f6d8c85858c8091
+85b588ff001f199afffff76668ff0028999affffbb999808ff00836664fb7105ff00
+118000ffffe28000ff00066668ffffff80008b660888fb2a05fffffe66683afffff0
+9998843b8885858b809185bc8cff002466688fff003699988bff003633348bff0022
+cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef78b86a2f8329c
+e1d79ba277b98bba12a5bdf70ca1f7b6e013eb80f729f9381513e780f8370a13eb80
+a1860513e780f8380a13eb80f8390a13e780f83a0a4c4a15f76f0af88ffc8a15f84c
+0a13f380a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a6388748b
+748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e668
+08ffff891998fb7405827afffff8e6688efffff733349b08ffff81ccccf77205ffff
+e7ccccff002a9998ff000e3334ff00056668c38e91918b968591638a6587638b648b
+608f6d8c85858c809185b588ff001f199afffff76668ff0028999affffbb999808ff
+00836666fb7105ff00118000ffffe28000ff00066666ffffff80008b660888fb2a05
+fffffe66663afffff0999a843b8885858b809185bc8cff002466668fff0036999a8b
+ff003633348bff0022cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc
+080eec81aff82077f70f9ce5d301aed4f740cb98b7f70bd403f7e9f95415f7120af7
+90fca015f7b30a0eec81aff82077f7009ce1d712aed4f740cb54bdf749d413fbf7f1
+f94515f8310af788fc9115f84e0a13fdf84f0a0eec81aff82077f59ce5d312aed4f7
+3cb763cbf744d413fdf798f94315f7120af7056315f8320af770fc6715f84e0a13fb
+f84f0a0eec81aff82077f59ce1d701aed4e4bdaccbf744d403f795f94315f76f0af5
+6315f8320af77afc6715f7b30a0eec81aff82077f29ce5d3917712aed4f73db762cb
+f744d413f680f799f94015f7120a13ec80f73d9115f8490af737fc9215f8500a13e6
+80658b6aac6ecd0813e580f84f0a0eec81aff82077f49ce1d78f7712aed4eebda2cb
+f744d413f780f79ff94215f8310a13ef80f7428f15f84a0af72cfc9215f7b30a0eec
+81aff82077d59ce5d3a2b98bba12aed4f740cb96b7c0a1b9d413f3e0f7e7f92315f7
+120a13fbe0cdd01513f7e0f8370a13fbe0a1860513f7e0f8380a13fbe0f8390a13f7
+e0f83a0af750fcb415f7b30a0eec81aff82077d99ce1d79eb98bba12aed4f740cb50
+bdf70ca1b6d413fae0f82cf9681513f6e0f8370a13fae0a1860513f6e0f8380a13fa
+e0f8390a13f6e0f83a0a4c4a15f76f0af78cfc7315f84e0a13f360f84f0a0ef7618b
+c6f87a9cc9ad85d312cdb792a478e7f837e672a513d800bdf96815f7120af874fcf3
+1513eb00f7950a13ec00f7960a13eb00f7970a13e880f7980a0ef77b8bc6f87b9cc8
+ad82d7128bbde8a478e7f837e672a513d800c7f96915f8310af884fcf41513eb00f7
+950a13ec00f7960a13eb00f7970a13e880f7980a0ef7f78bc6f8749ccfad7fd312a2
+b7f75ca478e7f837e672a513d80092f96215f7120af7056315f8320af8c4fcc51513
+eb00f7950a13ec00f8510a13eb00f7970a13e880f7980a0ef7e58bc6f8749ccfad7b
+d71251bdf796a478e7f837e672a513d8008df96215f8440a13e800f84d0a13d800f8
+3f0af56315f8320af8bffcc51513eb00f7950a13ec00f8520a13eb00f7970a13e880
+f7980a0ef7be8bc6f8769ccdad81d312a8b7f71da478e7f837e672a513d80098f964
+15f7120af73d9115f8530a13ca00f8540af84dfcf51513eb00f7950a13ec00f7960a
+13eb00f7970a13e880f7980a0ef7c28bc6f8769ccdad7dd7125bbdf768a478e7f837
+e672a513d80097f96415f8310af7428f15f8360af84dfcf31513eb00f7950a13ec00
+f7960a13eb00f7970a13e880f7980a0ef7b58bc6f8059ce5d39cad6fb98bba12e9b7
+c0a17fa478e7f837e672a513e200d9f8f315f7120a13eb00cdd01513e700f8370a13
+eb00a1860513e700f8380a13eb00f8390a13e700f83a0af86afcc31513f260f7950a
+13f280f7960a13f260f7970a13f210f7980a0ef7cf8bc6f80a9ce1d797ad70b98bba
+12adbdf70ca18da478e7f837e672a513eb00f731f9391513e700f8370a13eb00a186
+0513e700f8380a13eb00f8390a13e700f83a0a4c4a15f76f0af8b7fc831513f360f7
+950a13f380f7960a13f360f7970a13f310f7980a0e9081c650acf800ab12abdc1330
+f74df93515f8550af761fc7f15f7a40a1370f7a50a13b0f7a60a4ee0157b64051370
+f7a70a0e9081c650acf800ab12abdc1330f7aef93e15f7920af700fc8815f7a40a13
+70f7a50a13b0f7a60a4ee0157b64051370f7a70a0efb3881b0f744a5f73ba212b5d0
+58c913e0f733f93515f8550a13f05bfcc215f7a80a13e8f7a90a13f0f7aa0a0efb38
+81b0f744a5f73ba212b5d058c913e0f784f93c15f7920a13f0fb15fcc915f7a80a13
+e8f7a90a13f0f7aa0a0e669676f80fbd619c12e6d2f74cd21398f784f93a15f8550a
+3ffbea15f7ab0a13b8f7ac0a13d8f7ad0a0e669676f80fbd619c12e6d2f74cd21398
+f7def93d15f7920afb3afbed15f7ab0a13b8f7ac0a13d8f7ad0a0efbac81b8f80c77
+01ddd203cdf93715f8560a9bfc0415f7990a0efbac81b8f80c7701ddd203f733f93f
+15f7910a3efc0c15f7990a0e3c81a2f813a201b3d7f78ed703f745f93115f8560afb
+1dfc6e158d0af750f75d158e0a0e3c81a2f813a201b3d7f78ed703f7a3f93e15f791
+0afb7bfc7b158d0af750f75d158e0a0e4481b1f7ef9ea77701e3d6f774b203f74af9
+2f15f8560a78fbfc15f7ae0a0e4481b1f7ef9ea77701e3d6f774b203f7baf93e15f7
+910afb17fc0b15f7ae0a0eec81aff8207701aed4f740cbf744d403f78df92d15f856
+0af7ecfc7915f7b30a0eec81aff8207701aed4f740cbf744d403f80bf94015f7910a
+f76efc8c15f7b30a0e90fb70b3f73ec650acf800abef9ce5d312abdce2d67cb7b7a4
+139f40f75c5315f7890a82f97915f83d0a139ec0f83e0af726fc9815f7a40a13be40
+f7a50a13de40f7a60a4ee0157b640513be40f7a70a0e90fb70b3f73ec650acf800ab
+f09ce1d712abdcc4bd77d6d4a4139ec0f75c5315f7890a74f97a15139f40f76f0af7
+34fc9915f7a40a13be40f7a50a13de40f7a60a4ee0157b640513be40f7a70a0e90fb
+70b3f73ec650acf800abef9ce5d312abdcbcb785d6d4a4139ec0f75c5315f7890a20
+f97915f83d0a139f40f83e0af7056315f8320af717fc7015f7a40a13bf40f7a50a13
+df40f7a60a4ee0157b640513be40f7a70a0e90fb70b3f73ec650acf800abed9ce1d7
+12abdc7bbdc0d6d4a4139cc0f75c5315f7890a2bf97715139dc0f76f0af56315f832
+0af713fc6e15f8330a13bec0f8340a13dec0f7a60a4ee0157b640513bec0f7a70a0e
+90fb70b3f73ec650acf800abef9ce5d312abdcd4b76dd6d4a4139ec0f75c5315f789
+0af71df77515f7a40a13be40f7a50a13de40f7a60a4ee0157b640513be40f7a70afb
+3cf86615f83d0a139f40f83e0af73d9115818b7a87877b08139ec06afb2f8b8a0588
+8d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b080e90fb70b3f7
+3ec650acf800abed9ce1d712abdc82bdb9d6d4a4139cc0f75c5315f7890a32f97715
+139dc0f76f0af7428f15f8360abffc9a15f8330a13bec0f8340a13dec0f7a60a4ee0
+157b640513bec0f7a70a0e90fb78b3f746c650acf800abc99ce5d3a2b98bba12abdc
+d0d688b7aba487a113bc80f81af74a15f7af0a13dc80f7a60a4ee0157b640513bc80
+f7a70a27f84015f83d0a139ca0f83e0a139e88cdd015139d88f8370a139e88a18605
+139d88f8380a139e88f8390a139d88f83a0a139cd0fb0efdad15f7890a0e90fb70b3
+f73ec650acf800abcc9ce1d79eb98bba12abdccdbd6ed6d4a4139cb0f75c5315f789
+0a139ed0bcf99715139dd0f8370a139ed0a18605139dd0f8380a139ed0f8390a139d
+d0f83a0a4c4a15f76f0af72bfc7515f7a40a13bc90f7a50a13dc90f7a60a4ee0157b
+640513bc90f7a70a0ef7d581b16aa2f778abf79f9ceb7799d312ff000c999ab7ff02
+906668d4d0a313b380f95df7c315f8570a133780fffcf59998f81c15f7120aff0107
+e666fc5215480afbb8fb6515f8580a137b80f8590a0ef7cb81b16aa2f778abf7a09c
+ea7796d712ffffbc999abdff02d06668d4d0a313b380f953f7c315f8570a133780ff
+fcfb9998f81d15f83b0aff010be666fc5315480afbb8fb6515f8580a137b80f8590a
+0ef80386a286b1f757abf79c9cee7796d312adb7f93dd4d0a3137380f98bf7da15f8
+570a133780fdb7f80215f7120af7056315f8320aff00ab8000fc2715f83c0afbb8fb
+6515f8580a13bb80ff000e199862ffffd78000ff00006666ffffd06668fffffc999a
+85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff00038000
+ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfcb605ffffe633
+33ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08ca28fb28b
+b48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006b333ff00
+103333ff0029b333080ef7ec81b16aa2f778abf79a9cf07790d71258bdf975d4d0a3
+13b380f974f7c315f8570a133780fda9f81715f8310af56315f8320aff00a08000fc
+2515480afbb8fb6515f8580a137b80f8590a0ef7ea81b16aa2f778abf79b9cef7795
+d312b4b7f91dd4d0a313b380f972f7c315f8570a133780fd97f81815f7120af73d91
+15f8350aff00498000fc5415480afbb8fb6515f8580a137b80f8590a0ef7e381b16a
+a2f778abf79b9cef7791d71278bdf94dd4d0a313b380f96cf7c315f8570a133780fd
+81f81815f8310af7428f15f8360aff00348000fc5215480afbb8fb6515f8580a137b
+80f8590a0ef7f181b16aa2f778abf72a9ce5d3a2b97977b1ba12e3b7c0a1f8aad4d0
+a313b8f0f979f7c315f8570afd6ff7a715f7120a133cf0cdd0151339f0f8370a133c
+f0a186051339f0f8380a133cf0f8390a1339f0f83a0aff008f8000fc2215f83c0afb
+b8fb6515f8580a137af0f8590a0ef7f981b16aa2f778abf72d9ce1d79eb97a77b0ba
+12b2bdf70ca1f89ad4d0a313b8f0f981f7c315f8570a133cf0fd1df7eb151339f0f8
+370a133cf0a186051339f0f8380a133cf0f8390a1339f0f83a0a4c4a15f76f0aff00
+b78000fbe015f83c0afbb8fb6515f8580a137af0f8590a0e66fb82b3f76576f80fbd
+619cf7109ce5d312e6d24bd6d4a4beb777d213cd80ed4115f7890af72ff98a15f83d
+0a13ccc0f83e0afb22fbfd1513dea0f7b00a13eea0f7ad0a0e66fb82b3f76576f80f
+bd619cf7129ce1d712e6d24bd6c4bd69a4d6d213cd60ed4115f7890af71ff98c1513
+cca0f76f0afb12fbff1513de20f7b00a13ee20f7ad0a0e66fb82b3f76576f80fbd61
+9cf70f9ce5d312e6d24bd6d0b763a4d6d213cd60ed4115f7890ad6f98915f83d0a13
+cca0f83e0af7056315f8320afb43fbd41513de20f7b00a13ee20f7ad0a0e66fb82b3
+f76576f80fbd619cf70c9ce1d712e6d24bd68cbda1a4d6d213cde0ed4115f7890ade
+f98615f76f0af56315f8320afb44fbd11513dee0f7b00a13eee0f7ad0a0e66fb82b3
+f76576f80fbd619cf70e9ce5d312e6d24bd6d4a47cb7b9d213cda0ed4115f7890ae4
+f98815f83d0a13cc60f83e0af73d9115f8350afb89fc011513de20f7b00a13ee20f7
+ad0a0e66fb82b3f76576f80fbd619cf70c9ce1d712e6d24bd68ebd9fa4d6d213cde0
+ed4115f7890ae0f98615f76f0af7428f15f8360afb8afbfd1513dee0f7b00a13eee0
+f7ad0a0e66fb82b3f76576f80fbd619ce29ce5d3a2b98bba12e6d24bd6d4a4bfb776
+d28ea113cc34f7c7f92815f7120a13ce24cdd01513cd24f8370a13ce24a1860513cd
+24f8380a13ce24f8390a13cd24f83a0afb65fc1d1513dcacf7b00a13ec2cf8400a13
+ecb4f8410a13cc6449fc2e15f7890a0e66fb82b3f76576f80fbd619ce59ce1d79eb9
+8bba12e6d24bd6d4a473bdbcd28ba113cc60ed4115f7890a13ce14f76ff9a91513cd
+14f8370a13ce14a1860513cd14f8380a13ce14f8390a13cd14f83a0a4c4a15f76f0a
+fb23fbdb1513dc88f7b00a13ec88f7ad0a0ef84281b16aa2f7cba5f7529ccca28dd3
+12aeb7f709e0f7ebdef707d4d0a313bfe0f9caf7c315f8570afdf5f81c15f7120af7
+9afcfb15f85a0a137fe0f85b0a0ef84581b16aa2f7cba5f7539ccba28ad7125fbdf7
+52e0f7ebdef70ad4d0a313b3e0f9cdf7c315f8570a1337e0fdfbf81d15f8310af79d
+fcfc15f85a0a137be0f85b0a0ef8e381b16aa2f7cba5f74c9cd2a287d312acb7f7b2
+e0f7ebdef701d4d0a313b3e0fa6bf7c315f8570a1337e0fe98f81615f7120af70563
+15f8320af7d2fccd15f85a0a137be0f85b0a0ef8da81b16aa2f7cba5f74c9cd2a283
+d7125abdf7f4e0f7ebdef702d4d0a313b3e0fa62f7c315f8570a1337e0fe95f81615
+f8310af56315f8320af7d5fccd15f85a0a137be0f85b0a0ef8e881b16aa2f7cba5f7
+4c9cd2a287d312ffff8ee666b7ff01a9199ae0f7ebdef70dd4d0a313b3e0fa70f7c3
+15f8570a1337e0fffb64e668f81615f7120af73d9115f8350aff0191199afcfb15f8
+5a0a137be0f85b0a0ef8db81b16aa2f7cba5f74f9ccfa286d712ffff43e666bdff01
+e4199ae0f7ebdef70ad4d0a313b3e0fa63f7c315f8570a1337e0fffb72e668f81915
+f8440a133be0f8450a1337e0f83f0af7428f15f8360aff0181199afcfc15f85a0a13
+7be089387b86458885858b809185bc8ca88fbe8bbd8ba987bd8a91918b968591458e
+7b9089de0889dd8bb98bde8bde8bbc8ddf8dde9b90d18e91918b968591081337e0f8
+460a133be0f8470a1337e0f8460a137be0f8480a0ef8d281b16aa2f7cba5d39ce5d3
+a0a276b98bba12f4b7c0a1f5e0f7ebdef711d4d0a313b8fcfa5af7c315f8570afe3f
+f7a615f7120a133afccdd0151339fcf8370a133afca186051339fcf8380a133afcf8
+390a1339fcf83a0af798fcca15f85a0a137cfcf85b0a0ef8da81b16aa2f7cba5d89c
+e1d79ba277b98bba12a3bdf70ca1f710e0f7ebdef70fd4d0a313b8fcfa62f7c315f8
+570a133afcfe0df7ec151339fcf8370a133afca186051339fcf8380a133afcf8390a
+1339fcf83a0a4c4a15f76f0af7e9fc8a15f85a0a137cfcf85b0a0eecfb70b3f73eaf
+f82077f70f9ce5d312aed4f740cb53d685b7aea4c6d413fd60f7b45315f7890af97f
+04f83d0a13fce0f83e0af790fca015f84e0a13fe60f84f0a0eecfb70b3f73eaff820
+77f7009ce1d712aed4f740cb53d641bdeca4c6d413fd60f7b45315f7890a93f97015
+13fce0f76f0af788fc9115f84e0a13fe60f84f0a0eecfb70b3f73eaff82077f59ce5
+d312aed4f73cb763cb53d6d4a4c6d413fce0f7b45315f7890a3af96e15f83d0a13fe
+60f83e0af7056315f8320af770fc6715f84e0a13fd60f84f0a0eecfb70b3f73eaff8
+2077f59ce1d712aed4e4bdaccb53d6d4a4c6d413fee0f7b45315f7890a37f96e15f7
+6f0af56315f8320af77afc6715f84e0a13ff60f84f0a0eecfb70b3f73eaff82077f2
+9ce5d3917712aed4f73db762cb53d6d4a4c6d413f270f7b45315f7890a13fb303bf9
+6b15f7120a13f630f73d9115f8490af737fc9215f8500a13f330658b6aac6ecd0813
+f2b0f84f0a0eecfb70b3f73eaff82077f49ce1d78f7712aed4eebda2cb53d6d4a4c6
+d413f370f7b45315f7890a13fb3041f96d15f8310a13f730f7428f15f84a0af72cfc
+9215f84e0a13f3b0f84f0a0eecfb70b3f73eaff82077d59ce5d3a2b98bba12aed4f7
+40cb53d683b7b0a482a1b9d413f954f7b45315f7890a89f94e15f83d0a13f924f83e
+0a13fd0ccdd01513fb0cf8370a13fd0ca1860513fb0cf8380a13fd0cf8390a13fb0c
+f83a0af750fcb415f84e0a13f984f84f0a0eecfb70b3f73eaff82077d99ce1d79eb9
+8bba12aed4f740cb50bd5cd6d4a485a1b6d413f934f7b45315f7890a13fd4ccef993
+1513fb4cf8370a13fd4ca1860513fb4cf8380a13fd4cf8390a13fb4cf83a0a4c4a15
+f76f0af78cfc7315f84e0a13f984f84f0a0ef80e81b16fc6f87a9cc9ad85d31298b7
+92a478e7f837e672a5edd4d0a313a430f997f7c315f8570a132c30fdd8f81c15f712
+0af874fcf3151375b0f7950a137630f7960a1375b0f7970a137470f7980a0ef81581
+b16fc6f87b9cc8ad82d7123bbde8a478e7f837e672a5f4d4d0a313a430f99df7c315
+f8570a132c30fdeff81d15f8310af884fcf4151375b0f7950a137630f7960a1375b0
+f7970a137470f7980a0ef8a182b16ec6f8749ccfad7fd312a2b7f75ca478e7f837e6
+72a5b4d4d0a313a430fa29f7c415f8570a132c30fe60f81515f7120af7056315f832
+0af8c4fcc5151375b0f7950a137630f8510a1375b0f7970a137470f7980a0ef89b81
+b16fc6f8749ccfad7bd71251bdf796a478e7f837e672a5bfd4d0a313a430fa23f7c3
+15f8570a132c30fe5ff81615f8440a133430f84d0a132c30f83f0af56315f8320af8
+bffcc5151375b0f7950a137630f8520a1375b0f7970a137470f7980a0ef88c81b16f
+c6f8769ccdad81d312a8b7f71da478e7f837e672a5d9d4d0a313a430fa15f7c315f8
+570a132c30fe46f81815f7120af73d9115f8530a132530f8540af84dfcf5151375b0
+f7950a137630f7960a1375b0f7970a137470f7980a0ef89b81b16fc6f8769ccdad7d
+d7125bbdf768a478e7f837e672a5e3d4d0a313a430fa23f7c315f8570a132c30fe55
+f81815f8310af7428f15f8360af84dfcf3151375b0f7950a137630f7960a1375b0f7
+970a137470f7980a0ef88181b16fc6f8059ce5d39cad6fb98bba12d7b7c0a17fa478
+e7f837e672a5e8d4d0a313b106fa09f7c315f8570afe0bf7a715f7120a133586cdd0
+15133386f8370a133586a18605133386f8380a133586f8390a133386f83a0af86afc
+c315137936f7950a137946f7960a137936f7970a13790ef7980a0ef89481b16fc6f8
+0a9ce1d797ad70b98bba129bbdf70ca18da478e7f837e672a5e0d4d0a313b186fa1c
+f7c315f8570a133586fdcff7ed15133386f8370a133586a18605133386f8380a1335
+86f8390a133386f83a0a4c4a15f76f0af8b7fc83151379b6f7950a1379c6f7960a13
+79b6f7970a13798ef7980a0e9081c650acf800abcac412abdc80a6f76ca61336f715
+f90915f70d0af799fc5315f8330a137af8340a13baf7a60a4ee0157b6405137af7a7
+0a0e9081c650acf800abe6bd12abdc1338f7f7f89215f70b0af797fbdc15f7a40a13
+78f7a50a13b8f7a60a4ee0157b64051378f7a70a0e90fb70b3f73ec650acf800ab12
+abdce2d6d4a4139ef75c5315f7890a47f96015f8560af761fc7f15f7a40a13bef7a5
+0a13def7a60a4ee0157b640513bef7a70a0e90fb70b3f73ec650acf800ab12abdce2
+d6d4a4139ef75c5315f7890af71df77515f7a40a13bef7a50a13def7a60a4ee0157b
+640513bef7a70a0e90fb70b3f73ec650acf800ab12abdce2d6d4a4139ef75c5315f7
+890aa8f96915f7910af700fc8815f7a40a13bef7a50a13def7a60a4ee0157b640513
+bef7a70a0e9081c650acf800abf718b98bba12abdcf77fa11336f7c1f8e915132ef8
+370a1336a18605132ef8380a1336f8390a132ef83a0ae4fc3315f7a40a1366f7a50a
+13a6f7a60a4ee0157b64051366f7a70a0e90fb70b3f73ec650acf800abf718b98bba
+12abdce2d6d4a4139380f75c5315f7890a139b80bbf91415139780f8370a139b80a1
+8605139780f8380a139b80f8390a139780f83a0ae4fc3315f7a40a13b380f7a50a13
+d380f7a60a4ee0157b640513b380f7a70a0ef71e86a2f778abf81077c1bf01ff0041
+999aa7f76ca703ff0151999af9b9156f06846457755a8b568b5ca183b2086f06ff00
+05000245c560d48bcd8bcbb591d208ffffb2e666fca315480afbb8fb6515490a0ef7
+1e86a2f778abf81077c6bd01ff012e999af94d15f8270aff00b5e666fc3715480afb
+b8fb6515490a0ef71e86a2f778abf8107701ffffb7999af96315f8560aff014ce666
+fc4d15480afbb8fb6515490a0ef71e86a2f778abf8107701ff0008999af96815f791
+0aff00fbe666fc5215480afbb8fb6515490a0ef7ea81b16aa2f778abf8107712f972
+d4d0a313bcf972f7c315f8570afffde880005515480afbb8fb6515f8580a137cf859
+0a0efc10daf92015f7120a0efb7a81b101f715d403f715f7c315f8570a0efc0ff86d
+9ce5d301eab703daf92015f7120a0efb20f8d9b98bba12f7d7a113a0f7a8f9071513
+60f8370a13a0a186051360f8380a13a0f8390a1360f83a0a0efb55f8a4eabdb98bba
+12c1e9d6e970a113d4f787f9631513b4f8370a13d4a1860513b4f8380a13d4f8390a
+13b4f83a0afb51fb2415a30a1398f73d16e60a0e66fb82b3f76576f80fbd619c12e6
+d24bd6d4a4d6d213c7ed4115f7890ae4f97715f8560a3ffbea1513dbf7b00a13ebf7
+ad0a0e66fb82b3f76576f80fbd619c12e6d24bd6d4a4d6d213c7ed4115f7890a98f8
+211513dbf7b00a13ebf7ad0a0e66fb82b3f76576f80fbd619c12e6d24bd6d4a4d6d2
+13c7ed4115f7890af747f97a15f7910afb3afbed1513dbf7b00a13ebf7ad0a0e6696
+76f80fbd619cf72fb98bba12e6d2f74cd275a11395f7f0f8e715138df8370a1395a1
+8605138df8380a1395f8390a138df83a0afb4cfb9715f7ab0a13a6f7ac0a13c6f7ad
+0a0e66fb82b3f76576f80fbd619cf72fb98bba12e6d24bd6d4a4d6d275a113c180ed
+4115f7890a13c8a0f759f9241513c4a0f8370a13c8a0a1860513c4a0f8380a13c8a0
+f8390a13c4a0f83a0afb4cfb971513d2c0f7b00a13e2c0f7ad0a0ef71586a279a5f7
+c2a7f79aa679a28d7712f777def763a1d7a387a313230085f95e15f8550af843fbf9
+15d10a133380d20a132740540a133340550a13ab40560a136340570a13a340580a13
+7380d30a0ef70486a279a5f7c2a7f79aa679a28d7712f766def763a1d7a387a31323
+00c7f96815f7920af7f0fc0315d10a133380d20a132740540a133340550a13ab4056
+0a136340570a13a340580a137380d30a0ef7a586a2f7cba5f7a4a201f766e0f7ebde
+0380f96315f8560af7c6fcf6155b0a0ef79c86a2f7cba5f7a4a201f75de0f7ebde03
+b6f96a15f7910af787fcfd155b0a0ef7f581b16aa2f7cba5f7a4a212f5e0f7ebdef7
+14d4d0a313bff97df7c315f8570afcfcfb7315f85a0a137ff85b0a0efb73f86c9ce5
+d301edb703f757f8f715f8320afb05b315f7120a0efb73f8699ce5d301edb703f78f
+f92215f8350afb3d8515f7120a0efb85f8269ce5d3a2b97276b9ba12f749b7c0a113
+e6f77bf91e1513de638b76ba548b628b766a7e5408a1860596a9999ba08b0813e6f8
+390a13cef83a0a494615f7120a0efbac81b8f80c77e6c4017fa6ced2d9a6039af909
+15f7770acefbd615f7990a0efbac81b8f80c77f70cbd01ddd203f77cf89315f70b0a
+d5fb6015f7990a0efbac81b8f80c77f727ea1289e981d299e913f489f8dd15e60af7
+3d16a30afb13f76215f8560a13ecb5fc7815f7990a0efbac81b8f80c77f71bea8c76
+1286e984d296e913d2f751f9a415f7920a13eafb56fb6715e60af73d16a30a13c639
+fb9e15f7990a0efbac81b8f80c77f734b98bba12ddd2d6a113ecf749f8e91513dcf8
+370a13eca1860513dcf8380a13ecf8390a13dcf83a0a28fbb615f7990a0efbac81b8
+f80c77f71deabdb98bba1283e987d293e970a113f080f749f9631513e880f8370a13
+f080a1860513e880f8380a13f080f8390a13e880f83a0a13e400fb51fb2415e60a13
+e100f73d16e60a13e2003cfba015f7990a0efb9586a2f8f5a2b5bf019ca7d1dacea7
+03f7b5f9b915f70c0a2ffd4c155c0a0efb9686a2f8f5a2bdbd01f702da03ff005d66
+66f950159896a097918796811ffb7506fffff4fffe80777f848f80941fff0142999a
+fce3155c0a0efb3a86a2f8f5a201f769da037ef96415f8560af7c8fcf7155c0a0efb
+4386a2f8f5a201f75fda03c4f96915f7910af778fcfc155c0a0efb76f86c9ce1d701
+a8bd03f757f8f715f8320a21b315f76f0a0efb7af86b9ce1d701a7bd03f79af92215
+f8360afb428715f76f0a0efb61f8859ce1d79eb98bba12f70abdf70ca113ccf746f9
+3815f8310a13eccacc1513dcf8370a13eca1860513dcf8380a13ecf8390a13dcf83a
+0a0e4481b1f7ef9ea777dbc412e3d65ba6f76ca68db213f7f722f90915f70d0a13fb
+a0fbd615f7ae0a0e4481b1f7ef9ea777f701bd01e3d6f774b203f804f89315f70b0a
+9efb6015f7ae0a0e4481b1f7ef9ea777f707ea12e3d664e9d6e98bb213f4f710f8c8
+15e60a13f2f73d16e60afb13f76215f8560a13f988fc6315f7ae0a0e4481b1f7ef9e
+a777f710ea8c7612e3d663e9d6e98cb213e980f7d1f9a415f7920a13f380fb56fb67
+15e60af73d16a30a13e580fb15fb9e15f7ae0a0e6681a5f809a9f59ce5d301d5d0f7
+22b7cfcd03f7a1f95415f7120afb1afe1a15f7b10af7e3f82b15f7b20a0e6681a5f8
+09a9e69ce1d701d5d0d5bdf716cd03f7a9f94515f76f0afb22fe0b15f7b10af7e3f8
+2b15f7b20a0e4481b1f7ef9ea777f728b98bba12e3d6f75ba18eb213f7f7cff8e815
+13eff8370a13f7a1860513eff8380a13f7f8390a13eff83a0afb2cfbb515f7ae0a0e
+4481b1f7ef9ea777f703eabdb98bba12e3d662e9d6e970a192b213f860f7cbf95415
+13f460f8370a13f860a1860513f460f8380a13f860f8390a13f460f83a0a13f120fb
+51fb2415e60a13f0a0f73d16e60a13f220fb14fb9115f7ae0a0ebc86a2f8f5a2b5bf
+01ffffdf3334a7ff00d7ffffa7ff0022cccde003ff00ef3333f9b9156f06fffff8ff
+ff6457755a8b568b5ca183b2086f06ff0004ffff45c560d48bcd8bcbb591d208ff00
+77cccdfd4c15700a0ebc86a2f8f5a2b4bd01f7a6e003ff00cd3333f94715ff000cff
+ff96a097918796811ffb7506fffff4ffff80777f848f80941fff0179ccccfcda1570
+0a0ef72586a2f8f5a201f827e0037cf96015f8560af88bfcf315f7940a0ef71486a2
+f8f5a201f816e003bbf96915f7910af83bfcfc15f7940a0eaf86a2f7a1a37c9ff778
+9cd1a383d7126cbdf73fdaf77be3139780a8f96715f8310a13b380f784fc3f1513db
+80670a8df7b315f7a10a13bb80f7a20a0efb4ef8a4ea927612bde9d6e91370e7f9a1
+15f8550a61fb621513b0a30af73d16a30a0efb55f8a4ea8c7612bde9d6e91370f788
+f9a615f7920afb56fb671513b0a30af73d16a30a0efbd6f8bcf74501c0f71403d4f9
+6815f8560a0eecfb70b3f73eaff8207712aed4f740cb53d6d4a4c6d413f7f7b45315
+f7890a2ff95815f8560af7ecfc7915f84e0a13fbf84f0a0eecfb70b3f73eaff82077
+12aed4f740cb53d6d4a4c6d413f7f7b45315f7890af790f77315f84e0a13fbf84f0a
+0eecfb70b3f73eaff8207712aed4f740cb65d6d4a4b4d413f7f7c65315f7890a9bf9
+6b15f7910af76efc8c15f84e0a13fb99ae94c08ba208a288977172816a6d1e8b788d
+67976c6d47756f688b448b6fcd8bf68bf708bdb9c9b28a948694848ffb005d4b3d8b
+fb0508fb11d545e11e13f7c18baaa9a5d0a046b16dbc8bf7088bcae68bee080eec81
+aff82077f715b98bba12aed4f740cbe5a1cbd413eff817f8d51513dff8370a13efa1
+860513dff8380a13eff8390a13dff83a0af762fc2115f7b30a0eecfb70b3f73eaff8
+2077f715b98bba12aed4f740cb53d6d4a4c6d413e5c0f7b45315f7890a13f4c0b9f9
+001513ecc0f8370a13f4c0a1860513ecc0f8380a13f4c0f8390a13ecc0f83a0af762
+fc2115f84e0a13e6c0f84f0a0ef76281a3f900a301f3e5f84fe5037ff96315f8560a
+f82b3615650af7e0fbc515f7930a0ef71a81a3f900a301afe5f84fe503ffff998000
+f96915f7910aff01ad80003015650af7e0fbc515660a0ef7658bc6f8c9ad12f70ea4
+78e7f837e672a513c075f96315f8550af8c1fcee1513d8f7950a13e0f7960a13d8f7
+970a13c4f7980a0ef72e8bc6f8c9ad12cda478e7f837e672a513c0c5f96915f7920a
+f839fcf41513d8f7950a13e0f7960a13d8f7970a13c4f7980a0ef7d981b16fc6f8c9
+ad12b7a478e7f837e672a5ccd4d0a313a180f962f7c315f8570afbd7fb6b15136d80
+f7950a137180f7a30a136d80f7970a136380f7980a0efbfef861f74b01b2f71003f7
+0df91815f7910a0efc1de4f91815f76f0a0e4d0ef84a0e600ef7570efb790efbcc0e
+fc1f0efb0f0efbea0efc480efcab0e0efb73f77bb701b3f79603f7a3f77b152a0a0e
+fb73f77bb701b3f79603f7a3f77b152a0a0efb0ff7b3bb01f80ef7b3159898a09794
+8891801ffbe0067f7e7a7b829185941f0e7ef782bc01cdf78215f8280698989f9794
+8893801ffc28067f7d777f838e82961f0ef749f782bc01bcf78215f9040698989f97
+948893801ffd04067f7d777f838e82961f0ef7fdf782bc01bcf78215f9c20698989f
+97948893801ffdc2067f7d777f838e82961f0efbafc7b2cab203f75dfb6015faba64
+feba074c16faba64feba070e40fb2eb7c9b701f876fb0215fc715ff87106f72a04fc
+715ff871060efbb9f88fe5f7089d01d7af03f71ff88f15f85c0a0efbb9f86e9df708
+e501f730af03f715f94e15f85d0a0efbb9fb159df708e501f730af03f715ea15290a
+0efbb9f86aa4f702e801ff00484ccdb203ff008a4ccdf94e15f85e0a0efb4ef890e5
+f7089d01beaff70daf03f7a3f89015f85c0afb3116f85c0a0efb4ef86e9df708e501
+f718aff70daf03f4f94e15f85d0af73116f85f0a0efb4efb169df708e501f718aff7
+0daf03f4e915290af731167071766f1f8bffffe08000a5fffff980009d889e899c82
+8b748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4b78bd108c4
+ffffdfb334b5ffffe14ccc1e0efb50f86aa4f702e801ff00314cccb2ff00750001b2
+03ff010f4cccf94e15ffffd8000171644f1f8b45ff003bffff5bc780ff0006ccceff
+0005e666ff0001999aff00093334fffffc9998ff0009e6665798ffffde0001b88ba0
+8ba2ff0010ffff919e8d9d8ea5ff000980008bff001f800008a775a06c1effff6400
+0116f8600a0ea6f81beff76e7601f7c09d03f7c9f94d1571786e6c1f8b40974da359
+64a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b8b
+fb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a26d
+1f498b537d6070a3bc97c98bd708ab77a7731e0ea68beef7b8eff7627712f79ce456
+9c13e8f8acf84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77a77371
+786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc298b4a5
+8b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc298b6a6
+0813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27ecc8b08
+a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37ecd8b08
+a9a3a0a71f0efb66f708f77801c9f77803c9f77a154cbe58cacabebecaca58be4c4c
+58584c1e0efb4edff7bc01d4f79c03d4df15f79cf728fb9cf728050efbe986ef01c7
+ef03c7ba15210a0efb1d86ef01c7eff4ef03f79dba15210afb6116210a0ef75086ef
+01c7eff739eff738ef03c7ba15210af79d16210af79c16210a0efbe9f76eef01c7ef
+03c7f7a215210a0efc480ef7f27fa2f76aaa74a2baa2f732a6b0a212c4c1f721a4f0
+c2f720a4c3bef71da913dff0f9fcf73815d55b9d653f53373f4daf5dc11edfb7f704
+cb1ffb0ffb2715f8610afbd0cd1513bff0230a549a15240a7df83115250afb91fb05
+15260a0ef9147fa8f764aa74a2baa2f732a6b0a212c4c1f721a4f0c2f720a4c3bef7
+1da9b7bef71da913dffc1c046ef73815d55b9d644053373f4daf5dc11edfb7f704cb
+1ffb0ffb2715707aa5b3cbbad9b89da67c5c57672d521ffb1ff72715d55b9d653f53
+373f4daf5dc1dfb7f704cb1efb0ffb2715f8610afbd0cd1513bffc230a549a15240a
+7df83115250afb91fb0515260a0efbccf86ff74b01d4f71003f72ff92615f7910a0e
+fb48f86ff74b01d4f79403f7b3f92615f7910afb1816f7910a0e57f86ff74b01f833
+f92615f7910afb1616f7910afb1616f7910a0efbd1f874f74501c2f71403d6f92015
+f8560a0efb57f874f74501b9f78a03cdf92015f8560af70b16f8560a0e4ef874f745
+01f7e7f92015f8560afb1f16f8560afb1116f8560a0efb99f70ff76b15f8620a0efb
+99f745f76b15f8630a0e9862eff70aeff6ef019deff2efeeef03f7719615210af75b
+f76d15210afc268c15210af75df76315210affff6d6666a015f748ffff113333ffff
+4e199afb80ff0018999affffed6666ff00ac999af779ff00c08000ffff008000ff00
+189998ff0012999affff3a199aff01068000f75cff01096668ffffe76666ff001280
+00ffff3d6668fffefdb334ffff514cccff00e7cccd050e3288eff8c57701e9efdfef
+03f7dcf92815200a59fcf715210afb1af8f515200a59fcf715210a0efb0786eff817
+76f7597712b9cfc1ef4ca7e7d613f6f706f8ae158bff00109998ff00146666ff0011
+199cff001d999aff000a1998ff00008000ffffbc199cff000fb333ffffdab332ff00
+09cccdffffa86666923e91308d778b858d84978b958b8e938c97ff0000999aff0008
+199aff0000e666ff00178000ff00033333ff0027333208ff0002cccdff00084cceff
+0003b333ff00086666ff0004cccdff0008800094999f9aa29abaaabfb68bd38bff00
+3ee668ffffce3334ff002de664ffffb0e666ff000b6668fffff73332ff001dccccff
+ffe9b33499768b788b72fffff31998fffff7cccdffffdd4cd008ffffe4333385ffff
+e7666681ffffee999afffff299986d7576738b68086ba4849b9f9f96a01e8b978890
+878f08879089908b990813fac1fc7f15410aff006ae666f8a415ff001e3334ffffec
+ccccff0013e666ffffde80008bffffdfb3348b617e6c636afffff5999afffff78000
+fffff74cccfffff78000fffff8999afffff7999aff0001199aff0009b332ff000119
+99ff000a199aff00014ccdff000a999aff00098000ff00518000ff000ee666ff002c
+b334ff00018000ff003bcccc080efb1ef918b701f818f94415fbf45ff7f4060eb6ff
+0056199aff00394cccff0126b334ff00394ccc01ff0055199aff0035e666ff007019
+9aff0035e666ff006a199aff0035e66603ff01a9999aff0052b33315ffffe3ccccff
+ffe06666ffffd46666fffff919998bffffdb33338bfffff33334ff000a4ccefffff4
+e666ff000e80008bff002080008b91ff00326666ff00156666ff00268000ff001566
+66ffffdeb33491ffffc86666ff00214cce8b978bff000cccccff000966668bff000f
+66678bff00223333ffffd6199aff0008999affffe2e666ff001f999908ff000f6666
+ff0002999aff000f6666ff0000cccdff001033348b08ff001d1998ff001de668ff00
+05e666ff0019b333ff00088000fffffa1998ff00113333ffffe8e6681fffffe3cccc
+8bfffff23334ffffe4999affffd8b334ffffeee666ff0001b332ff0019b334ff000e
+999aff002233338bff0017199908ff00148000fffff33334ff00096667fffff09998
+fffff0999afffff5b334fffff09999791e8bffffe9cccdff00104cccffffe8e667ff
+00036666ffffdeb333ffffda6668ff000f6666fffff09998ff001c3333ffffe2e668
+8b08ffffeb8000fffff84cccfffff24ccd7fffffe64ccdff001b4cccfffffa199aff
+0029e6681fff000ccccc8b97ffffff3333ff000b199afffffd666608fbda16ffffe3
+ccceffffe06666ffffd46667fffff919998bffffdb33338bfffff33334ff000a4ccd
+fffff4e666ff000e80008bff002080008b91ff00326666ff00156666ff00268000ff
+00156666ffffdeb33491ffffc86666ff00214ccd8b978bff000ccccdff000966668b
+ff000f66678bff00223333ffffd6199aff0008999affffe2e666ff001f999908ff00
+0f6666ff0002999aff000f6667ff0000cccdff001033338b08ff001d199aff001de6
+66ff0005e666ff0019b333ff00088000fffffa199aff00113333ffffe8e6661fffff
+e3cccd8bfffff23333ffffe4999affffd8b333ffffeee666ff0001b333ff0019b334
+ff000e999aff002233338bff0017199908ff00148000fffff33333ff00096667ffff
+f0999afffff09999fffff5b334fffff09999791e8bffffe9cccdff00104cccffffe8
+e667ff00036667ffffdeb333ffffda6666ff000f6666fffff09999ff001c3333ffff
+e2e6678b08ffffeb8000fffff84ccdfffff24ccd7fffffe64ccdff001b4ccdfffffa
+199aff0029e6661fff000ccccd8b97ffffff3333ff000b199afffffd666608f73af7
+f415ffffe3ccccffffe06666ffffd46667fffff9199a8bffffdb33328bfffff33334
+ff000a4ccdfffff4e666ff000e80008bff002080008b91ff00326666ff00156666ff
+00268000ff00156666ffffdeb33491ffffc86666ff00214cce8b978bff000cccccff
+000966668bff000f66668bff00223334ffffd6199aff0008999affffe2e666ff001f
+999a08ff000f6666ff00029998ff000f6666ff0000ccceff001033348b08ff001d19
+9aff001de666ff0005e666ff0019b334ff00088000fffffa199aff00113332ffffe8
+e6661fffffe3cccc8bfffff23334ffffe4999affffd8b334ffffeee666ff0001b332
+ff0019b334ff000e999aff002233328bff0017199c08ff00148000fffff33334ff00
+096664fffff09998fffff0999afffff5b334fffff0999c791e8bffffe9ccccff0010
+4cccffffe8e666ff00036666ffffdeb332ffffda6667ff000f6668fffff0999aff00
+1c3332ffffe2e6668b08ffffeb8000fffff84ccdfffff24cce7fffffe64cccff001b
+4ccdfffffa199aff0029e6661fff000ccccd8b97ffffff3332ff000b199afffffd66
+68080efc99f8ed7701f774f8ed15fc5efd23b48bf85ff923050ef78e86eff8afa412
+b7cca8ef4aaae6d7bccca8ef4aaae6d713e6c0f879f8d015470a13e740a8fca11541
+0afc29f8a115f8640a13ee40f8650a13f640a8fca115410a0ef70688eff8ada412b7
+cca8ef4aaae6d7f702ef13e6f8a7f92815200a59fcf715210afc08f89f15f8640a13
+eef8650a13f6a8fca115410a0ed786eff8ada412e9efbfcca8ef4aaae6d713f2f724
+f92615200a59fcf715210af76df89f15f8640a13f6f8650a13faa8fca115410a0efb
+0ff7d8e001f796b103cef7e515b283b786ba8bbc8bbe91be9854fb5468fba68b8a08
+8e85ae8c058b8ba5f7a0d6f7918e958f9a8b9708948891867671728b1e6885668765
+8b4f8b4d94519e080eb4fb7cacf875f80168ac12f3bddcf7cafbcabd13b4f77ff8d2
+15fd7307707a8074747992aa1ef97307aa9d92a21ea29c80701f62d21513d4468b4e
+8b5c8d0813b489898b7805868f888f1ea58905b3889a828b6d08fd73078b6d7c8263
+8808718905878788861f8b788d8905ba8dc88bd08bd08bc68bbc89088d8d8b9e0590
+888e871e708d05618e7f968ba708f8520713d89489938a9a8b08f726ddccf71ada51
+e2fb181f408b5089708b080efbeafb19a4f702e8f768ef12ff002a4cccb2ffffe8b3
+34ef13f0ff006c4ccdea15f8600a13e8ffffcdb333f79c15410a0efb92f7fba3f7ad
+a301aac6f713c603f72ef92c15f8660a88fbc515f8670a0efc03f801a8f761a0c8c5
+12d3c559bb13f0f0f97715f8680a13e8a6fbbf15f71c0713f0f8690a13e8f86a0a0e
+fb92f801a8d1adf7587701f748bb03f748f84c15f86b0a0efb92f7fba6f739a6d1ae
+01f75fc403f75ff86215f86c0a0efb92f7fba3f729a3f7059e01b8c0f70bc403f76d
+f85b15f86d0ac49015f86e0a0efb92f919b112b6a0839d9fad13b0f703f91915f86f
+0a13d0f8700a0efb92f7fba5f7a9a512babd68bcecba6ac513d8f733f92a15f8710a
+eb6215f8720a13e4f8730a242915f8740a0efb92f7fb9ef705a4f728a301b3c3f70b
+c303ebf8e415f8750a538615f8760a0efb92f87cb201f71bb203f742f8a315f66420
+2064f621b2f5f5b2070efb92f87cb201aef78203f7a5f8a315fb8264f782060efb92
+f86eadb2ad01b2f77a03f7a1f8d915fb7a69f77a066404fb7a69f77a060efc00afc0
+03aff89c15f8770a0efc00f700c103f736f89e15f8780a0efb6ff801a8f761a07aad
+12cebbf704bb13b8f777f84c158b628988698987838b7d8f84a98c928ba38bff0023
+4ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce6ea45d1effffdc
+199a8b68ffffdd19987d7aff00006666ff0017b334ff00018000ff001533348b8b8b
+90898d858b0813d87b845c8371898a838c848f85ff00206666fffffe8000ff000a99
+9aff0004b3348bffffcacccc08fb01078b628388638986838c7c8f85a98cff0005b3
+338bff00234ccd8ba38b938ba98a8f928b998793698d888e8bb408f70a0713b8f879
+0a0efb92fb09a3f7ada301aac6f713c603f72ef75015f8660a88fbc515f8670a0efb
+92fb03a801f729c103f71bf72515978d826b1ffb16078b586c88638986838c7c8f85
+a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8bbe08f7
+8307fffffab33390fffff8999afffffde666fffffab333fffffd199a5f70717f5c7a
+8b7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b080efb92fb04
+abf79aa912bac0efc97ba313f0d4f70315958b998e8e9dff00014ccdff0007e666ff
+fffd3333ff000ccccdff00038000ff00084ccd90979794aa8b9d8bab848b5c8b5573
+745e675b6665618b5b08f7620613e8ff00088000ff001ab333ff00063334ff001f99
+9aff00044cccff0023b333fffffab334ff0003b33383ff0001999afffff54cccffff
+ffb333806f7d646c8b08380694ac9aa6b5a90813f0ad0a0efb92fb0aa9f71ca6f6a9
+12b9bde5c66ac913f8f74ef72815bb0a13f4a3be87524b5f7e6e1f6b8bfffff7b333
+ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b333fffff38000ffff
+f7199afffff2b333ffffe08000ff0046999afffff4b333ff001a3333dbc6b9d01f8b
+c55ca66a8e0813f8b00a0efb92fb03a8d1ad01f748bb03f7486715f86b0a0efb92fb
+09a6f739a6d1ae01f75fc403f75f7d15f86c0a0efb92fb09a3f729a3f7059e01b1c0
+f70bc403f7667615f86d0ac49015f86e0a0efb92f73db001f703f73d15ef06715e53
+fb1068fb0308ad06aaf4c4f70ec0e608fb42067b868c8f1f79068a718463866f08a0
+880597bb9291a78b080efb92fb09a5f7a9a512b4bd68bcecba6ac513d8f72df74e15
+f8710aeb6215f8720a13e4f8730a242915f8740a0efb92fb099ef705a4f728a301ac
+c3f70bc303e4f70815f8750a538615f8760a0efb9296b201f71ab203f741bd15f664
+202164f521b2f5f6b2070efb9296b201aef78203f7a5bd15fb8264f782060efb9288
+adb1ae01b2f77a03f7a1f315fb7a68f77a066504fb7a69f77a060efc00afc003afba
+15f8770a0efc00f700c103f736ba15f8780a0efb92fb0aabf772a401aabff701c103
+f754a515a60ab6fb24159e8b9e979495ff0000999a93fffffcb332ff00054ccdffff
+f8b334ff0002b33388888689878b0882869bb41fd607e9529f5a614d6a637c96819a
+9e9298931e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f
+8b618b60ae70b58bac8b9d94ada98e799976a48b080efb92fb09aaf714a7cda401ad
+c1f706c403f7383515f8090ab1f73015f80a0a0efb92fb09a4f778a401a2c6f720c6
+03f72cf73515f87a0ad1fb3615f8160a0efb92fb04a1f775a1019ef7a603ff00e833
+33e815a7ff0023e666ff0004b332ff00044ccdff001c199aff0001cccd8f8f8b9987
+8f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333fffff7cccdfffff2
+cccdffffed3333088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a
+738b748b818c798c87878b7d8f87ff001c199afffffe3333ff00011999fffffd999a
+ff001a999affffda333308ff003833333b058888ffffcecccd518b8bffffe19999ff
+ffdc8000fffffdb334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928c
+a28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97
+788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e6
+66ff0001cccdfffff9999aff0002e666ffffe5b333ff00254ccd08ffffcbcccdd505
+0efb92fb09a4cda7f714aa01b7c4f706c103f71ff71615f80b0a65fb3015f80c0a0e
+fb41f801a7c576e1aaf70da801a7a8f70eaaf70ea703c4f8a715f87b0a6e16f87c0a
+f74a9b15e26c34346ce235aae1e1aa070efb41f801a7f70faaf70da801a7a8f7a7a7
+03c4f8a715f87b0a6e16f87c0af7a07c15aafb606c070e2bf7b8bcf784b012a4e7f7
+00d2d9a57ea613f4f7937a15d78bc5c6a0d20872920579ffffcde666ffffde999aff
+ffe48000ffffda6666fffff6800008ff00a1199a07acb8cc971e918b938a9080917c
+99849d8b089f98a29ea2779d6c1f638b6951766c08898b8de37b8b05858b84888187
+707e80866281089071058f8c8f8b8f8b089b98836d1fffff30cccd0743a267ff005b
+e6678bff00a04ccd8bf725c1f712e98bbc8bcd61923208a68d0513f87df73971898b
+8205808889861e7c8b6aa4588b08fb1b20fb14fb571ffb4de4fb13f7211e0e2b8aaa
+f76db4bdb4d476f718b470a812f707e0f778a713fbf7d6f80f15fb0ef72a06a69b92
+a21ed506d08ba9539b3f08a78f76f73dfb578b388b0513f77dfb0d8d8b1f13fb8a89
+8b780513f7868f888f1eaa06b89580661ffb2a2f62e7592f62e7fb3f076a7b7e611e
+7006868787861f8b778c89058be78db4b1ee898b1e8d8d8b9f0590878f871e6f0660
+7c9ba91ff73ff70eb4fb0ebdf70e070e2b7ec094b4f72db4bdb4f750b7019dd1c0d8
+03f72fe515fffffd66668b88ffffffcccdfffffcb334ffffffb333ff00019999ff00
+01199aff0001b333ff00013333ff0001999aff00013333ff0020199aff0018b333ff
+00188000ff002a3333ff0007ccccff0053199a08ff007e999ab4ffff83cccd06ff00
+003334ff0006199a8bff000666668bff0006800008aaf710b4fb10ae07e2b4cdb91e
+a18b9a80987f978094839a8b08a39c9aa4ae5296741f568b5e786867ffffcc8000ff
+ffcd8000ffffe8999affffcd6666fffffd3333ffffb4199a08ffff9eb33362ec592a
+62ff0060199a0688ffffc5999afffff43333ffffc23333ffffd8b333ffffd63333ff
+fffa199afffff98000fffffb8000fffffb999afffffb4cccfffffc1999ffffe33334
+fffff19999ffffe7e666ffffeb999a8bffffe7999a087e987f999ea397a696949cae
+1ea68ba47ea57ca97aab7ab28bd58bb9b09ebf08849105726850846d8b708b7a9379
+97759a6f9a4d8b080ef80580c156a679a6f785abd4b07ca7f739a474ab12efd7f744
+d5b0d056c0e1a17bc5f72fcb6aa21311c0f744f8d5159c919f919c8b08c6ca73fb0c
+255b5f381f768b7f8e7f8d083ffb80151338e6717f7b641e7106878988871f8b798c
+89058be48dadb0de898b1e8c8d8b9d058f888e871e7106667b98a81ff76607988596
+86a48bff006580008bff00368000ff0030b334ff0019b334ff00384ccc08ff00384c
+ccfbb3061390c647a36fb71eff002099988bff001e4cd0ff000d3333ff001ce664ff
+00184ccd08ff00013334ffffe5800005958d948b908b918b918b9189081354c6a385
+a887ad8bc18be9a38bea8bd849a83ead57a173978bb38bc1b79cb08b081354c59f8b
+c37fa82608a28c7ff706057996599a5a8b3f8b4d5a8b4a8b44b37ad26d081350ead8
+69a4708b628b5a5975668b688b6e9c819572a382b989a108758aff00034cccffffb5
+b333051399e0ffffec6668fffff33332ffffef6664fffffb199affffebe6688b0871
+84a7c61ff786e50795978e931f9e078f898e871e1319d021f7260656798b78058bff
+ffc0b334fffff2e666ffffdbb3325dfffff83334ff00044cce9dff0001ccccff0011
+e6668bff001080008bc26cf2fb328b758b698a5a8808133ae65d8953887e8b087907
+888b87911e8f8ba38c928b089ca486661f0e2a81aaf790b3f2b3f703b301ff00df33
+33ff005a999903f826f8f315fbcb8b468b058b76967f948408bd06ff003b999a8bff
+004619998aff00033333fb0208ffff35199a068b76967f948408ff00b5333306ffff
+f46666ffffa13334ffffbd6666fffff7cccc338b08838b708b058b76967f94840892
+06a58aff0024e666fffff4e666ff000e199affffe9199a08f6fb3305aa5db460c78b
+9a8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b73ae70b5
+08fb12f75705ff0026199aff000c6666ff004b3332ff001e8000ff00108000ff0050
+199a08ff006c333406829280978ba008ffffaae66606fffffe8000ff002d8000ffff
+eee666ff00191998ffffddb334ff0020666888ff0002ccccfffffce666ff0002b334
+fffffce667ff0002800008ff00a7333306829280978ba0080e412cb9b2ae8f9af7f3
+a3f70baae09ea47701b0d7ff00d84cccff0044199a03865a155df85cb90794f8fe15
+f7150afb17fc61157d0a0e2b80a6f76cafc1aff776a601c7e1f7a3a8039af7d615b8
+068a808b828b808b848b828c8408648b76718b81c98b059bfb2cdb30f7128bc18bb5
+9ba98d9bb496bb94bf8190848d7f8c75447046418b3d8b53d97ff71e08f7458b9eaf
+fb5a8b8bae8b9ef76c8b9eaffb7d8b0596f70cb8f5dd8bd88baf3d9c45968a908c96
+9087c285be80bb688d5f99548bfb0b8b342b78fb3108708b7771050ef88988a6f7ed
+adf729a901f884d8f7f6dc03fa33f79c15fb0050fb18fb041e708b799473a3848479
+77828908b6f74d05aaf718c4a3b98b08c3b4723b1ffbe0fc5b15a1b49ce99cd3a37e
+a385b18b08f742ecf739f4db53c32f1f608b507d5c656f73686c6efb110863fb4605
+71fb037455786c08927b05fbb5f8c515ff0013999aff00643334ff0011199aff0040
+3332ff00143332ff002d999a08ff0005199a06f724c8fb01fb08fb1e58fb34fb6249
+8a909c1f8b918b8e8c8f08ff0046e666ff0200666815ffffb83334fffff5b330ffff
+bd666672ffffb58000ffffd4e66808957705caff001ce666c5ff001ab332c9ff000b
+e668ffffe48000ffffcf999affffe94ccdffffbeccccffffee3333ffffa5199a0854
+fba805856e7d7f698b087006878b88878a8708887af7088d05ab8b9e89de8b08f75b
+f707f730f743f722fb00f702fb1f1ffffff780008bfffff7999affffffccccfffff7
+b332ffffffb334ff0013e668ff00224cccff00176666ff00168000ff001ee666ff00
+17b334088698055a75ffffd6199a6fffffdcccccffffcf6668080e2b8aa6f785abd5
+b5bcb5dca474ab12ead7f743d413f7f85cf88e15ffffd5199a06fffff14cccff0035
+6668ffffd1ccceff003d9998ffff85cccc8b768b6a8a5a880813fb5d895d887e8b08
+7907888c87911e8f8b978c938b089ca486661f6349078b75967e958408b85a49068b
+75967e958408b8fbc506717e7b641e7d06878888871f8b798c89058bd98dadb0de89
+8b1e8d8d8b9d058f868e871e7306657c98a81ff7660797859786a48bff006566668b
+c1ff00314cccff0019199aff0038b33408ff004c800006819280988ba1086106ff00
+038000ff00108000ff00018000ff001066668bff000f199a088cc507819280988ba1
+08fbb116d20713f79c919f919b8bbb8bff00314cccfffff09998ff0011ccceffffbc
+666808ffff57e6666115ff00ae666606ff0000666685ff00003334fffff9999a8bff
+fff966668bfffff56666ffffff8000818afffff6999a08ffff528000066104ff00a4
+4ccc06ffffedb334ffffcce666ffffd6e666ffffe9199affffc4199a8b768b7e8e80
+8d080ef7247facf783a4f713abf784a401addaf7b6dcf703d603f92ff96a15f87d0a
+d3f8ca15f87e0a772415f87f0af7c6fc6515c78baea8aaab0871a105716e64767c8b
+087a6d98d5eabec4b5919a87771f8b78888c8b7f0880927fa795a993a3ac74b0433b
+2f39fb0162b64acc1e0ef7247da3f78ea2f715abf784a412addaf7bfae89d2bbd770
+b013f880f92ff96a15f87d0ad3f8ca15f87e0a772415f87f0af7c8fc671513fb00d1
+c4acc71f8baf5ea956a57993839a8b9f08a29ba2aa1e13fa80a6a26b5f1fb0888ed2
+056fa272936a8b498b536d8b538b6f9b79b7720813fd00a67bab768b6d0868737d72
+6072adbc1e68898f2a05a98bac83ad8b080ee081b4f8e2b001b0e6dfadf7d4ac03f7
+68ff005c333315ffffc74ccdff003b1999ffffe4b333ff005d66668bff00594ccd8b
+ff00564cccff0016e666ff0042ccceff00248000ff002ce66693ff0009ccccff0008
+3334ff0009199cff00086666ff0008199808f725fccd15ec8be4b9cfe48694849180
+8b443d476c2e8bffffd5199a8bffffdb666697ffffe18000ff0014800008ff020b80
+0007ff0021b334ff00171998ff0022ccccff000ae668ff002080008bf71e8bc239a5
+359787ff0009b3348eff000b4ccc9186bf83bb82c258905eb3fb0f8b368b446c5055
+08ffffbd999affffc33334ffffd86666ffffa319988bffff97b3348bfb35f4fb38f7
+6b8b080ef78781b6f80ca9f721a901b7adf717ad95e5f812a803f8b48115ec8bcdb8
+c7e387ff0007999a82ff000599997fff0001cccd49386375368b08fb1138f714f71d
+f768f709cdda1ff7008bbf4aa52e9689ff000a1998ff00008000ff0007e668ff0005
+8000fffffd6668ff0030e666fffffbe664ff00314ccefffff2b334ff0033cccc6e91
+6dabfb1e8bfb338bfb11fb198bfb558bffffb1cccdff001c199affffb2b333ff0037
+e666ffffc7800008ff002fccccffffcfb333ff00498000ffffde4ccdff0055b3348b
+08fbe3f89a15a90afb398c15aa0a0ef7567ea7f786a6f70facf783a401c2dbf704d6
+ebddf71adb03f92ff96a15f87d0a95f83f15f8800af7e5fbc015c4a3e8cbb1935d63
+6278fb07487b6b97db1e398615689f3be8e5e8e1f2ba73c832fb0a4a233d1e0ef756
+7cb2f764bef710acf783a412c2dbf704d6edda65dc13fcf92ff96a15f87d0a95f83f
+15f8800af806fb641513fd909f8fa08b968b97899f698b6a8b6c786262089f79059a
+9d9794938b8d8b8e888b848b868981887f086efb030513fe898086708b7e8b6a997c
+b98bad8baf9cb0b5867c89828b898b7f8e76ac8bac8baa9fb4b408779c057d7a7e81
+848b888b888e8b928b918d948e9708bdf7660577885f857f8b816277358b8b773650
+65788b808b89938b9d8b958d9c8f9a080ef78589acf78bb1e8a9f70db36cac75a912
+b7adf717adf729e0f74cacb0aa13f3e0f8cef7aa15e08b8e748e5e9185a08b91918a
+ae8a9e8bad8bad8ca18ca98591768b85858854887e368b082ef76606a39795a31ecc
+06f58ba463a146978b968d938efffffaccccb4fffff0e668ff00606668fffffe9998
+ff00079998ffffff999cff00024cccfffffeccccff0000b334fffffd99988bffffee
+8000fffffc9998fffffb3334ffffff6668ffffe74ccc8b08ffff00b3340613ebe08b
+8b3c8c598c85858b769185d1889c868b3808fbf8078b387a86458885858b769185bc
+8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08f73007fba0f77a156973
+68626173adae1e13e7e0afa2afb6b89f646a1efb398c15aa0a0e9c46c2a976f886c0
+01e9c7d0c4f755d303f8b5f73d158bf70d36ddfb01ad6066596e596f6baa75b78bb8
+8bbaa7aeb0a5aa74ac73b38bc38bb3b9a7b7087e8f057c716e7c6e8b648b67a170a8
+4d4a245e8b228bfb07f715588b2c8b707875777d084abd2c409680aaa3cc5805bfbe
+ecb88bde8bba6bb66eada59cb1a3ab8bec8bc8fb128b358b396848465d70a565a764
+8b08548b615e6a66089583059c9fa29aa58bba8bb666a76bacdcf74bb18bf750080e
+f75389acf7b6b5f78fac01f5ff00504ccdff0041b333a8f7eae003f958f70e15f825
+078bde9c90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c
+868b3808fb34fbeaf734078bde9c90d18e91918ba085915a8a488a588b598b398c59
+8c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8cdb8cbe
+8bbd8bd08abd8a91918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885
+858b769185bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08fffdf64c
+cc3515ff00000001ff00156666ff0000b333ff01ae999affffffcccdf70c08ff0040
+33338b8cfcd0054f8cff00364ccd894f8c080e757fc0f7f4bcf75ca9a57712f7d1db
+80d913f4b4168f7fd4a3c3f78405d9eec7b5ae8ba08b9d7d8b6c8b798673836c0861
+fb350513f8f8810a13f493a891aa8ba08bc76d9d658b578b4a7430fb0008e4f81775
+8b0575827c8777877a8865857b8b08877205888d898e1eac8f05989281781f8b8189
+7e877b080e757fc0f7f4bcf760a69a9512f7d1db80d913f4ff00f48000ff022c9998
+15ff00208000ff008d6668758b0575827c8777877a8865857b8b08877205888d898e
+1eac8f05989281781f8b81897e877b08fffff7199affffd9ccccffff90e666ffffe8
+33348b63ff00656666ff0015b334ffff8c999afffe0e4ccc8f7fd4a3c3f78405d9ee
+c7b5ae8ba08b9d7d8b6c8b798673836c0861fb350513f8f8810a13f493a891aa8ba0
+8bc76d9d658b578b4a7430fb0008ff002ecccdff00cb8000ff00803333ff001b8000
+8bb305ffffd88000fffff78000ffffd88000fffff79998ffffd88000fffff7800008
+0e797fd3a9caf73a9ff786d801bdadf789c8bccd03bdf876158bfb18eb77d880088c
+9f0550967f8e6ca86fa581a98ba88bd2c9b6d88bcc8be165b079084d41057b7a8777
+8b758b739270987508d6fb06058f85966f8b708b483d7a778b7b8b7d91799308fb0e
+cd057e927e917f8b7f8b7c86767f083e5c997b05a4969991998b988b98879f7f08f7
+1d400599839888958b998b9a949892f73aee8dc18bb08bcafb07f7178bbd8b99919e
+9a9c08dee90532bd2ea55a8bfb148b363e8b28080efb7380bff8b4a501e4d5eab603
+f737f7eb15f70a07e59dadaca1a1745e1e8b526657585308b1fbcb156485b7d71f8b
+f724979605d7d1bdc48be008b17ab84d40516dfb3b1efb1f0772756f737277089875
+ccc18bfb070520a46dc91eb48bbaa6b2c508789d056a616f827c8b080ef84b89ac6c
+b2f8cab36cac12f1dbff0040e666ff001e199af829bc132ef93ef89415fbe207788b
+80841e838b809d6eb008fbebf84e05139efb998d0585858b769185b688a968917108
+fc35078b327a85458485858b76918508134ebc8cde8cb78b08139eb68bdb8abd8a91
+918ba0859145927a8f8be608f7cb078bb3fffffe8000ff0012b334ff00068000ff00
+034ccc8f8dff000fb334ffffe9ccccff00114cccffffea333408f7f2fc4c05ff000b
+8000fffff16666ff000b8000fffff4999a9b8b089994979e1ff877078be49c91d192
+91918ba0859108132efb048905131e608b798c598c85858b76918508d1849c878b30
+08136efffe4ce666fc6d15ffffbf199af8cacc06ffffffcccdffffc71998ffffff80
+00fffe978002ff00009999ffff6b6666080ef80081abb0b7d6a4f778a4f736a777ab
+128fd7d4b8f7d6b8d4d74cc6f720c613f7d0f75af73c15f7a307a48c978f1e8e8b90
+83937e08f79afc4d059877a2859b8b08999d999e1ff87407f092a3b21e998b917692
+7e9479977ea18b089d9a97a5ab63a658337c60fb1b1ffbc2076e897f851e848b7f9e
+6ebc0813fbd0fb9bf84dfb188b898a0513f7d0780713fbd0869388901e9006ac8ba8
+61917108fc2707268473641e7d8b85a08498829d7f98758b08797c7f716bb370be1f
+e39ab6f71b1ff93cfb011598999f94938792811ffb65067f7e7a7e849184941ff700
+f8211513f3b0326340444bba47dcff00531998ff002ee668d1ccff0048199a66ff00
+46e6662f1fd1fb3615f8820a0eea8aa8f794b1f7baa57ba712dcadbfdcf77adc13de
+f872f87215f8830afb7afb5615cd8bd18db09cb59debc08bf48bbd7ab467ad5bb844
+904c8b0813eefb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998
+538b05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e71
+06637c99a91ffb195f15f8840a0ef72bfb65bfb6b2f959a301afe5d8adf7e0e503f9
+27f7dd15690afc5cffff16333315ffffd1b333ff00366666ffffe14ccdff004f6666
+8bed8bff00724cccff0020999aff0050e668ff002c6666ff0031e66408adfffe01e6
+6815f8a8fffff4800007ff0020199aff001ae668afff000d1998ff002166668b08f7
+18f702fb0efb5efb4732fb09fb061fffffd280008b5eff0010e666ffffd98000ff00
+1f199a080ef727acd9f86bd657c012a2abf716b7d8e013bca2f86f158bfb1af7368b
+8b5d8b807e838785089f7cabba0590928f938b958b9e80a16b9b0835b605739776ab
+8bab08a19fdbeaf702a528fb411e8bfb058639543a0844bd05878e888c868b818b82
+80797b084b559d7d0599959a92988b9c8b96839a8008ad6f05a096d9c7b5c1bccb8d
+c18bec8bc387d47fda08c3af0513dc96929790958b9a8b9c849c7a08d348fb41fb0c
+95798f8b05a48b9781966cb9fb1762fb23f25708edda7ea00581877f847e8b4e8bc0
+f753fb03f72208f737f707fb25f712058591848d868b7f8b8084838408fb09360573
+b087a160a10813bc71987091708b08fb073f41fb011f0eea85a675a8f794b1f7baa5
+7ba712dcadbfdcf77adc132ff872f87215f8830adc8c158bbd7ab467ad5bb844904c
+8b081377fb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998538b
+05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e710663
+7c99a91ff76807cf8ba885908408f2fb540513afa45cb865c68b9a8b9d8d958f0887
+a005668b6aac74b70820f76105b799e9c48bf4081367fc50fc5715f8840a0ef751f7
+afa37da0f7d29f12a1c94fa977a9f711d05ba813b2f779f91015728c909b478b568b
+49668b508b4cd46eb57ba880a27d8b598b607173688b688b6ab586b30813a88a936d
+880513a68f66917f8b5408a98c058c908b8e8a8d8d8a8c8a8e8a95859b82b58bd08b
+bebf8bc58bcc54a3599d0813b176925b9d8bba8baba2a5a88bb78ba06a945e08a88f
+05f81ffb68158c898b888b8908136080897f861e7d0613a0828389861f8b83051360
+9185058bb98d9fa0b7898b1e91910513a09307136090858d7e1e7d06838b8999899b
+0874f79e8b9105968e90911e9a0690978c901f8b938891398b056935652f683408fb
+04f79d328b86858b83058b889089978a089b06918e867f1f8b898b88058535832c85
+368a7d887b848b087d0613a07f8589861f8b830513609085058ba88d9ea0b2898b1e
+8e910513a09307136090818d841e7c06868a94991f91078fcb90cb90ccb22cc7fb23
+8b8b8f8494888f8b958b8f8f8e918b8bccf736acdc080ef77ef7b9a0f7cca501f71f
+cf03f763f7e915f79c079c8e8f961eb606a18b9185975e08a29078e67283058c888c
+838c8b08fb7d068c8b8c938c8e0873937831a1850596b89291a08b08be06958f877b
+1ffb9d07798285751e7d06888989881f8b7e8c8a058bc88ca09fca8a8b1e8c8c8b98
+058e898d881e7d067484949a1ff8678e158407808a7f861e7d06828389861f8b8391
+85058bb98d9fa0b7898b1e91918b930590848d7f1e7d06838b8999899b0874f79e8b
+9105968e90911e9a0690978c901f8b938891398b056935652f683408fb04f79d328b
+86858b83058b889089978a089b06918e867f1f8b898b88058535832c8536897d897b
+848b087d067f8589861f8b839085058ba78d9ea1b2898b1e8e918b930590818d841e
+7c06868994991f910791cb8fcb8fccb32cc7fb238b8b8f8494888f8b958b8f8f8d91
+08eef787050ef70f8bb2f8cbb3977712cda9f8d3a91398f77db1153d8bf826f8cbdc
+8b05b0fcf1158fc396c496bf086d900577436e503e8b08fb7d067b828f941f8b908e
+91919408f80af89b059fa78f958b968b92888e788b0813d87e8b788a6c8808fc4c06
+13b85c8b8e94668e87558143836208a9860513d8a0d09dbed68b08f77306928e8985
+1f8b868884868408fc19fcb105868388838b8408819086991e0ef71c8bc6f8c9ad12
+b7a478e7f837e672a513d8f85df70915f7950a13e0f7a30a13d8f7970a13c4f7980a
+0ef71c84adf8c9c612b7a572e6f837e778a413d8f784f8aa15fb036637248bfb0c08
+fb28f1fb19f75bf759f3f729f7181e8bf71434eafb00b00887c5f28b0513c4c08b9e
+849056ff00084cccfffffc6668ff00086668ffffff4cccff00084cccff00044ccc8b
+b4fffffdb334ff0027ccccfffffb4cccff0026333408fb6906808585821f93fb1405
+13d8e74db24e8bfb0408fb1445fb0afb1ffb163bf5f7211e8bf700b3d4e7c00893f7
+15059486907f1efb640613e08769885e8b63ff00074ccc87ff0008b3348b958f91c4
+a08ebc8b08ec060e5b81a8f74ea7f746a801a9def7b0de03f705f77d15ef079ec8c6
+dddbc852791e2407fbb06f15f80306f729fb09e1fb00fb102626fb10fb11f027f710
+1ed48bccaeb4bf08699605685e5873518b08394ec8a21f0e3ba07612acbd63ba77f7
+04f775ba13a8f859f84e15f7f70a13c8f7f80a1398f7f90a13c8f7fa0a0e2e8beff7
+cdf601f806b103f782f89c15f7fb0a0efb769a7691ef12bcf7556ba31350f77ef7bc
+151360f7fc0a1350f7fd0a1390f7fe0a0efb0f9f76f832f612f7a3c753ce13e0f7df
+f7b715f7ff0a13d0f8000a0efba789adf7f7a9e9f70c01f0f70203f767ff01414ccc
+15bd8eff0048b3348b1eff00026666fffffb6666ff0000999afffffd999a1effffe0
+80008145fffff58000ffffba8000fffff68000088d6db48705998a93808b5908fb88
+078b6f7bfffff633336cfffffacccd087f8905fffffc199affffff4ccdfffffce666
+fffffdb3338b85088b748d89058bdc8dafb2dc898b1e8d8d8ba2058b91fffffbe666
+ff0002199afffffc199aff0000e66608818d05ffffe26666ff0005e666ffffee999a
+ff0009199a8ba708fb08f882156aa670acaca6a6acac70a66a6a70706a1e0ef88681
+d3f7c0d801f72aacf5acf708adf4adf713acf5ac03f9cff7fe15b197587c1f8b566f
+58776d72a56ab78bc1089c97c6b71efcdf16aa9d656f1f8b5064586f6b79ab76b78b
+be089e97c9b81ef7b416ac9b65701f8b506c54726874a971bc8bc0089f97c9b71e63
+fb8d15706f5f745e8b7a8b578f5db8a9afaedb8be108c479d048487742521e8b419c
+4aa25e60694e74418a089441059d8bec8fe1dac73cc884af8bab8bc192c7d2ab65c1
+63d18bb48bc197c4dbb95dd162e4890894d5054f8d4a9a51b7a2b7a2d08bd508af80
+e3433d802b6a1e8b3fa746aa5e726f606d528b578b61a171a3a5b4acdb8be108ad7f
+e542487640531e8b3fa245a65a080eee36a9f71ca6f6a9d1a8f7957712f71bc1f76b
+bde5c66ac913fe00f8a8f8ed15b80a13ff006dfc3015f8850a13fe80f8860a13ff00
+f8870afc3bf81a15b40a0eee34a9f71ca6f6a9d4abf79177a8a912bac0efc97ba3f7
+14bde5c66ac913fe40f8a8f8ed15b80afc895515f8880a13ff40b90a13fec0ac0a13
+ff40ba0a13fe60f865fbfc15f8850a13fe50f8860a13fe60f8870a0eee35a6f739a6
+d1aed9a8f7947701f722c1f7fac403f8a8f8ed15b80a77fcd415f86c0afc3ef8bf15
+b40a0eee36a6f739a6d1aed8abf79177a8a912bbc0efc97ba3f7b0c413fe40f8a8f8
+ed15b80a78fcd315f86c0afc75f89d15f8880a13ff40b90a13fec0ac0a13ff40ba0a
+0eee36a6f739a6d1aed1a9f71ca6ee77a7a912b8bde5c66ac9f7abc413ff20f8a8f8
+ed15b80a13ffa0fc197915bb0a13ff60af0a13ffa0b00af803fcc115f86c0a0eee36
+a6f739a6d1aed9a8d1adf72b77cc7701f73fbbf7e5c403f8a8f8ed15b80afc27fb5d
+15f86b0af815fc2215f86c0a0eee35a3f729a3f7059ed4a8f7947701f727c1f751c0
+f70bc403f8a8f8ed15b80a7ffcdb15f86d0ac49015f86e0afc7af8c115b40a0eee36
+a3f729a3f7059ecea6f739a6d2779eae12f75ec4f716c0f70bc413fdc0f8a8f8ed15
+b80afc08fb4715f8890a13fbc097dcf71b8b0513fdc08b8c0513fbc0f88a0af7fbfc
+2715f86d0ac49015f86e0a0eee34a5f7a9a5d4a8f7957712f722c1f75bbd68bcecba
+6ac513f800f8a8f8ed15b80a48fc0d1513fb00f8710aeb6215f8720a13fc80f8730a
+242915f8740afc08f88215b40a0eee36a5f7a9a5cba9f71ca6ef77a6a912bbbde5c6
+6ac9f70abd68bcecba6ac513fe00f8a8f8ed15b80a13ff00fc167815bb0a13fe80af
+0a13ff00b00af7d2fbf81513fe30f8710aeb6215f8720a13fe48f8730a242915f874
+0a0eee35a5f7a9a5cfa6f739a6d2779eae12f75bc4f719bd68bcecba6ac513fa00f8
+a8f8ed15b80afc0bfb4715f8890a13f60097dcf71b8b0513fa008b8c0513f600f88a
+0af7c2fb591513f2c0f8710aeb6215f8720a13f320f8730a242915f8740a0eee36a5
+f7a9a5f7f9779bb112b7a0839d9fadf7a2bd68bcecba6ac513e220f8a8f8ed15b80a
+13d600fc628f15f86f0a13da00f8700af823fc0f1513c2c0f8710aeb6215f8720a13
+c320f8730a242915f8740a0efb65f7d0a8f7947701f71fc103f8a8f8ed15b80afc55
+7615b40a0efb9e89aaf8b3a901f702d703f74ed915f851078ba89995b69208998e05
+908c8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77058b858f8a908a0897
+8805b3849d848b6b08fc51078b6d7c816084087e8905868a88888b86088b778d8905
+8bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d05649179938bac080e5f8b
+aaf8aeaa01f700d7f72ad703f74cd915f88b0af77616f851078ba89995b69208988e
+05908c8e8c8b91088b9f898d058b3e89661efb770662428d8b1f89898b77058b858f
+8a8f8a08988805b2859e838b6b08fc51078b6d7c816084087e8905868a88888b8608
+8b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f058b90878e878c087e8d0563
+927a928bac080ef74f8baaf8aeaa01f702d7f72ad7f72bd703f74ed915f85107a899
+9cb61eaf06b49b7d6b1ffc51076d7d7a601e6706627b99ac1ff77616f85107a89a9c
+b61eae06b59b7d6b1ffc51076d7c7a601e6806617b99ac1ff77716f851078ba89a95
+b59208988e05908c8e8c8b91088b9f898d058b3e89651efc580662418d8b1f89898b
+77058b858f8a908a08978805b5839b858b6b08fc51078b6d7b816184087e8905868a
+88888b86088b778d89058bd88db11ef85906b4d4898b1f8d8d8b9f058b90878e878c
+087e8d0562927b928bac080ef79a937696aaf8b0aa12f702d71370f7f5f8ec15fb61
+0662418d8b1f89898b77058b858f8a908a08978805b4839c858b6b08fc51078b6d7d
+815f84087e8905868a88888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b
+90888e868c087e8d0562927b928bac08f85107a8999cb61eaa069c8ba288917808f7
+48fcab0513b0907b9382968b978b8f93919c08f74bf88c0598ad9099b390089d8e05
+908c918c8b90088b9f888e058b49897a7c288d8b1e89888b7705878c88901eab8805
+a8899c867e6708fb1efc1a898bfb14f81a0582a88997ae8d08b38e05908e8f901f8b
+9d898e058b25896b1e0eaf9376f8dda901f70bf8ec15743c8d8b1f89898b76058b87
+8c89908a08a08805af8790879d5608f73afc8405907b9482968b978b9393919c08f7
+4af88a0599b29196b190089d8e058f928d901f8ba0898d058b4089837b218d8b1e89
+898b7605878d88901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797
+ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0ef79a937696aaf8b3a912f9
+12d713b0f70bf8ec15743c8d8b1f89898b76058b878c89908a08a08805af8790879d
+5608f73afc8405907b9482968b978b9393919c08f74af88a0599b2909bb28b08a106
+b49c7d6b1ffc51078b6d7c8160840813707e8905868a88888b86088b778d89058bd8
+8db1b4d5898b1e8c8d8b9f058b90888e868c087e8d05649179938bac08f851078ba8
+9995b69208998e05908c8d8c8b91088b9f8a8d058b3d89661efb42067b218d8b1f89
+898b7605878d88901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797
+ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0ef87a937698aaf8aeaa12f9
+10d7f72ad71378f95cd915f88b0afce5f89e15743c8d8b1f89898b76058b878c8990
+8a08a08805af8790879d5608f73afc840513b8907b9482968b978b9393919c08f74a
+f88a0599b2919bb18b089f06b19f7d6b1ffc510713788b6d7c816084087e8905868a
+88888b86088b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f058b90878e878c
+087e8d0563927a928bac08f851078ba89995b69208988e05908c8e8c8b91088b9f89
+8d058b3e89661efc22067b218d8b1f89898b7605878d88901eaa8805a589a5867e67
+08fb1ffc1a898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb
+0589741e0ef977937696aaf8b3a812f928d7f72bd7f72ad8137cf9aea815617b99ac
+1ff85507a89a9db61eae06b59b7c6b1ffc55076d7c7a601ef74a6c158bf28db0b4d6
+898b1e8d8d8b9f0590868f861e8006617b99ac1ff85507a89a9db61e9706908f8d91
+1f8b9e898d058b3c8966622c8d8b8b56896562448d8b8b3f896562448d8b1e7a8b50
+89838b7b8b308d838b088a888b7805878c88901eab06a68ba4817e6708fb29fc1afb
+16f81a0583a8869caf8b08b306918f8f901f8b9c898e057b8bfb0589848b7c8b3a8d
+848b088a888b7805878c88901ea0069c8ba285917808f747fcab0513bc907b948296
+8b978b9393919c08f74ef8940597ad8f99af8b08ba06b49b7c6b1ffc5507137c6d7d
+7a601e7f06868787861f8b778d89058bd88db1b4cf898b8bda8db1b4b8898b1eb8aa
+156706627b99ac1ff85507a8999db61eaf06b49b7c6b1ffc55076d7d7a601e0ef7c6
+89aaf8b0aa01f702d7f7c7e303f7f1f8ec15fb5d0662418d8b1f89898b77058b858f
+8a908a08978805b3849d848b6b08fc51078b6d7c816084087e8905868a88888b8608
+8b778d89058bd88db11ef73d069ae6898b1f8d8d8ba1058d8a90861e798d05668e93
+9b9ba108f70ff73e05919291928e8b8e8b9087908408f70ffb4405a26b8e88668808
+788905878a87881f8b758d89058bf7048d901e978bc98aa48a088d8d8ba1058d8990
+861e628e6aa672b008fb25f75905829885938b958b939194929608f70bf73505a4ad
+a1a3c48c928c8c8e8b8e088ba0888d058b34898780398d8b1e89898b76058b868e8a
+8e8a08a88905a689877e797308fb09fb320586848686888b888b8790879108fb01f7
+330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb0089871ffb37fc9e15
+f85107a8999cb61ea0069b89a889b25408f719fb4f05928090848b818b8688828584
+08fb14fb450577706c6a5785088106647999ac1f0edb89aaf8b3a901f7a3e303a6f8
+d7158b87908a95899b89a886b25408f719fb4f05928090848b818b868882858408fb
+14fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1
+058d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b9087908408
+f710fb4405a26b8d88668808788905878a87881f8b758d89058bf7048d901e978bc9
+8aa48a088d8d8ba1058d8990861e628e6aa672b008fb25f75905819886938b958b93
+9194929608f70bf73505a4ada1a3c48c928c8c8e8b8e088ba0888d058b3489878039
+8d8b1e89898b76058b868e8a8e8a08a88905a689877e797308fb09fb320586848686
+888b888b8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e
+8b8bfb00898780368d8b1f8788050ef7c58baaf8aeaa01f7a3e3f7d5d703f8e7f8cd
+15a606b3849d848b6b08fc51076d7c7a601e8206648f6ca573ae08fb25f759058298
+85938b958b939194929608f70bf73505a4ada1a0c48c08fccc95158b87908a95899b
+89a886b25408f719fb4f05928090848b818b868882858408fb14fb450576706a6554
+8808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1058d8b90861e798d05
+668e929b9ba108f70ff73e05919291928e8b8e8b9087908408f710fb4405a26b8d88
+668808788905878a87881f8b758d89058bf7048d901ef75606b4d6898b1f8c8d8b9f
+058b90878e868c087e8d05649179938bac08f851078ba89995b69208998e05908c8e
+8c8b91088b9f8a8d058b3c89661efb650680398d8b1f89898b76058b868e8a8e8a08
+a88905a689877e797308fb09fb320586848686888b888b8790879108fb01f7330578
+a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050e
+f8a58baaf8aeaa01f7a3e3f7d3d7f72ad703f8e7f8cd15a406b2859e838b6b08fc51
+076d7c7a601e830665906ca473ae08fb25f75905829885938b958b939194929608f7
+0bf73505a4ada1a0c48c08f733fc7f15f88b0afd6bf889158b87908a95899b89a886
+b25408f719fb4f05928090848b818b868882858408fb14fb450576706a6554880886
+8788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1058d8b90861e798d05668e92
+9b9ba108f70ff73e05919291928e8b8e8b9087908408f710fb4405a26b8d88668808
+788905878a87881f8b758d89058be78da41ef83606b4d4898b1f8e8d8b9f058b9086
+8e878c087e8d0563927a928bac08f851078ba89995b69208988e05908c8f8c8b9108
+8b9f888d058b3e89661efc450680398d8b1f89898b76058b868e8a8e8a08a88905a6
+89877e797308fb09fb320586848686888b888b8790879108fb01f7330578a58396aa
+8d08aa8d058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050e5289aa6e
+b4f8a7a912f705d7f7a3a313b8f705f89f15fc57078b6886876589086a8905878888
+861f13788b760513b88d890513788bda8db21ef7670613b8abd1898b1fa0f747738f
+0513785ffb1d5d887a8b08fb1306727f8faa1ff853078ba89995b69208998e05908c
+8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77058b858f8a908a08978805
+b3849d848b6b080ea681b6f8b3ad01ade5f812a803f7d98115ec8bcdb8c7e387ff00
+07999a82ff000599997fff0001cccd49386375368b08fb1138f714f71df768f709cd
+da1ff7008bbf4aa52e9689ff000a1998ff00008000ff0007e668ff00058000fffffd
+6668ff0030e666fffffbe664ff00314ccefffff2b334ff0033cccc6e916dabfb1e8b
+fb338bfb11fb198bfb558bffffb1cccdff001c199affffb2b333ff0037e666ffffc7
+800008ff002fcccdffffcfb333ff00498000ffffde4ccdff0055b3338b080ef71289
+aff8a8af01eed7f807e603f743f8a115b19d8ee0f70df72752fb8ffb0062fb08fb60
+fb017a93af1e65f89e1562418d8b1f89898b77058b85908a908a08968805b3849d84
+8b6b08fc51078b6d7c816084087f8905868a87888b86088b778d89058bd88db11eb1
+8bf70c89b18b08f74bf70df706f73ff754fb2cf713fb491f558b5289538b080ef7c2
+957694aaf8b3a9121360f769f8ec15fb2d8d89898b7505888d86921ea88a05a78a96
+888b630865fc5605886685866b89086b8905878789851f8b768d89058bc68db1b0c6
+898b1e8d8d8ba0058e8990851e6c8d05688d86948eac08adf821f76cfc690513a08e
+858f83918b928b918f8f9308f773f876b3fc2e058b6e8a8068890813606d8905868b
+88888a86088b768d89058bce8db5bbd6898b1e8d8d8ba0058b8d8890848c086d8d05
+708d7f8c87b2085ff857058bac9595a98d08a98e058e8b8f8c8c92088b9f898dfb18
+89fb73fc78888b050efbb486a1f80aa2d7ef12e0ef2ed713f0e0f8b215840a13e8de
+fb8415ff00033333ff004ee666ff0006cccdff0005199ac59091918b968591638aff
+ffe7666687ffffd6999a8bffffd6999a8bffffe866668f628c85858b809185c587ff
+0006cccdfffff9e666ff00033333ffffb1199a088d598b2b8959fffffccccdffffb1
+199afffff93333fffffae666518685858b819185b38cff001933338fff0029cccd8b
+b48ba287b48a91918b95859108518ffffff93333ff0006199afffffccccdff004ee6
+660889bd8beb8dbd080e228ba8f807a8c8ef12dfef34d6f702ef34d613eaf7bbf7f8
+15f88c0afb5a16fbae078b6efffff53333fffff36666ffffdfcccdfffffc999a0878
+890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef75a06afd0898b
+1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034ccc
+fffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff
+00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb
+5a0667468d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020e6
+66fffffc8000ff000a199afffff380008b6f0813e4f74df74e15840a13f0fb5a1684
+0a0ef38ba8f807a8c8ef12dfef34d6f702ef34d6f703ef33d613e280f881f7f815f8
+8c0a13e880fc2016fbae078b6efffff53333fffff36666ffffdfcccdfffffc999a08
+78890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef82006afd089
+8b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034c
+ccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000
+ff00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671e
+fc200667468d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020
+e666fffffc8000ff000a199afffff380008b6f0813ea00f75a16f88c0a13e100f74e
+f74e15840a13f000fc2116840a13e400f75a16840a0ef72c947695a8f80ba8c6ef12
+e0ef33d61374ecf7f815fbae078b6efffff53333fffff36666ffffdfcccdfffffc99
+9a0878890586ffffff800088fffffd80008b86088b788d89058bd18dafafd0898b1e
+8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0cccdff00034cccff
+fff53333ff000cb3348ba808f7ae07a7969baa1e9d06a887ff0014e666fffff9b334
+ff000e199affffdc4ccc0813b4f71cfbed05917c9185988b958b9291929c08f71ef7
+e7059bb2a295a88e91ff0000999a90ff000366668b90088b9d898d058b6289706652
+8d8b1e87898b77058b888efffffc4ccc90ffffffb334be88ff00086668fffff94ccc
+ffffee9998ffffd9b3340832fb6f7a607ab935f76e05fffff5e666ff0017999affff
+fd8000ff0010b332ff001f999aff0003b334089c8d058eff0000666691ff0001199a
+8bff00068000088b9e878d058b4e89641efb460667468d8b1f89898b78058b868eff
+fffd800090ffffff8000089e8905ff0020e666fffffc8000ff000a199afffff38000
+8b6f0813387ff74e15840a0e359576ff0191b334a201f7cef81b159b0a0ef7299476
+95a8f809a8c8ef12f8a0ef33d61374f8acf7f815fbae078b6efffff53334fffff366
+66ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d89
+058bd18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efb2c0666528d8b1f87898b77058b888efffffc4ccc90ffffffb3
+34be88ff00086666fffff94cccffffee999affffd9b3340832fb6f7a607ab935f76e
+05fffff5e666ff0017999afffffd8000ff0010b332ff001f999aff0003b334089c8d
+058eff0000666691ff0001199a8bff00068000088b9e878d058b4e896469568d8b1e
+88898b77058b8690fffffe999a90ffffff6666ff001c8000fffffc8000ff00154ccd
+fffff76666ff000e3333ffffdc199a0813b4f71cfbed05917c9185988b958b929192
+9c08f71ef7e705ff000f8000ff0025b334ff00158000ff00084ccca78f089b06ac95
+7b6f1f13387ff74e15840a0ef7ec947697a8f807a8c8ef12f89cef34d6f702ef34d6
+1375f96ff7f815f88c0afc2db915f88d0a13b5f88e0a13758b6efffff53334fffff3
+6666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d
+89058bd18daf1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efbf80666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb334081338f75af72015840a1332f75a16840a0ef8b2947697a8f807a8c8
+ef12f89cef34d6f702ef34d6f703ef33d6137500f96ff7f815f88c0a137140f75a16
+f88c0afcf3b915f88d0a13b440f88e0a1374408b6efffff53334fffff36666ffffdf
+ccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18d
+af1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efcbe0666528d8b1f87898b77058b888efffffc4ccc90ffffffb3
+3408133200f820f72015840a133800fb5a16840a133080f82116840a0ef7198ba8f8
+07a8c8ef12e0ef33d6f77cd313ecf77ba8157a066c809ba81ff7ae07a7969baa1e9e
+06ad88ff0012e66678ff001c199a6208e2fb13058d888c898b888b888a898a890837
+fb0005ffffd7199affffcb6666ffffe8e666fffffd999a748808f734f807159a8d05
+8fff000080008fff000280008b90088b9d888e058b3a896d1efb3a0667468d8b1f89
+898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc8000ff00
+0a199afffff380008b6f08fbae078b6efffff53333fffff36666ffffdfcccdfffffc
+999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef73206
+acbe898b1f8d8d8b9e058b9089ff00024ccd86ff0000b333087d8d056f8fff000c99
+9aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c5
+3b05ff0016e6686dff000d4cccffffec6666ffffdfccccfffffa999a087f8905ffff
+fb199affffff3333fffffde666fffffdcccd8b86088b788d89058bca8db4adc0898b
+1e8d8d8b9e058b9187ff0001199a81ff0000e666ffffe080008efffff04cccff0002
+3333ffffd43334ff003dcccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605b0
+baff000f800094ff002480008e91ff0000800091ff000080008b92088b9e8a8d058b
+5a896b6c5c8d8b1e88888b78058b868efffffe66668effffff999a089b8905ff0021
+6668fffffbccccfffff2e664ffffede668ffffefb334ffffeb4ccc084a3005878689
+89888b878b888e8891084ee505ffffedccccff001c199afffffa3334ff00098000ac
+ff000466660813f4fbc6f72215840a0e5286a2f809a201f744f7e9159d0a0ef71789
+a8f80ba8c6ef12f764d3f776ef33d613f4f757f824159a8d058fff000080008fff00
+0280008b90088b9d888e058b3a896d6d5a8d8b1e89888b78058b8792fffffd999a92
+ffffff6666ad88ff0012e66676ff001c199a6208e2fb13058d888c898b888b888a89
+8a890837fb00056155ffffe8800088ffffe8800088fffff7199afffffee666fffffb
+e666fffffd199a8b85088b7a8d89058bb98da8acbe898b1e8d8d8b9e058b90fffffd
+e666ff00024ccdfffffb199aff0000b333087d8d056f8fff000c999aff0014199aff
+000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c53b05ff0016e666
+6dff000d4cceffffec6666ffffdfccccfffffa999a087f8905fffffb199affffff33
+33fffffde666fffffdcccd8b86088b788d89058bca8db41ef73b06afd0898b1f8d8d
+8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034cccfffff5
+3334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff000333
+34089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb3d066c
+5c8d8b1f88888b78058b868efffffe66668effffff999a089b8905ff00216666ffff
+fbccccfffff2e666ffffede668ffffefb334ffffeb4ccc084a300587868989888b87
+8b888e8891084ee505ffffedcccdff001c199afffffa3333ff00098000acff000466
+6608f7d75f15fbae076e807b6b1e7c066e8effffefcccc8effffd63334c60831f713
+05898e8a8e8b8d8b8d8c8d8d8e08dff605b0ba9a92b08e089e06ac957b6f1f13f87f
+f74e15840a0ef7c989a8f80ba8c6ef12f764d3f761ef34d6f702ef34d613f1f757f8
+24159a8d058fff000080008fff000280008b90088b9d888e058b3a896d6d5a8d8b1e
+89888b78058b8792fffffd999a92ffffff6666ad88ff0012e66676ff001c199a6208
+e2fb13058d888c898b888b888a898a890837fb00056155ffffe8800088ffffe88000
+88fffff7199afffffee666fffffbe666fffffd199a8b85088b7a8d89058bb98da8ac
+be898b1e8d8d8b9e058b90fffffde666ff00024ccdfffffb199aff0000b333087d8d
+056f8fff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e
+8b8d898f8608c53b05ff0016e6666dff000d4cceffffec6666ffffdfccccfffffa99
+9a087f8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d89058b
+ca8db41ef7ed06afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d
+05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000
+ff000cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b9008
+8b9e898d058b4589671efbef066c5c8d8b1f88888b78058b868efffffe66668effff
+ff999a089b8905ff00216666fffffbccccfffff2e666ffffede668ffffefb334ffff
+eb4ccc084a300587868989888b878b888e8891084ee505ffffedcccdff001c199aff
+fffa3333ff00098000acff000466660813f4f7c35f15fbae078b6efffff53334ffff
+f36666ffffdfccccfffffc999a088706738effffef199aff0009b333ffffdae666ff
+00344ccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605ff00218000ff002a80
+00ff000f8000ff000a8000a98f089406ac957b6f1f13f5f75a16f88c0a13f8fb67f7
+4e15840a13f2f75a16840a0efbc886a2f9109ea47701ff005fb333cf03e8f215880a
+0efb2281b0f805a201aed7f757dd03f819e2157c0a0e4181ae8f9af7f3a3f77f9ea4
+7701b0d7f76cd003f7ddf700157d0a804f157e0a0ef76686a2f7f3bd619c12e8d2f7
+53d2f755d213dcf748f7cd15890a13bc8a0a0ef88b89aaf8b3a901c2e2f7f3d7f7f5
+e203f912f8ee15f88f0aadfcd115288794ae1ff84b07b4949ed4f704f73351fb8dfb
+52fb055dfb1d1efb47b7156a8b8026fb1dfb05cef752f782f727bbf70fd3947a601e
+0ef70089adf8acad01eed7ddc7f766e2039b9f158b778d8905b48daa8bb98bce8b92
+89ec8b08f718f743c7f77bf742fb23f71ffb481f4f8b68894f8b5d8b718c5d8c0889
+898b76058b878f898f8a08a68905b18895868b6908fc5b078b6c7c826a89086e8905
+888886871ff733be158bff0027333392fffff7cccd05be9edfc18bf7058bf70a6ea6
+45bc83ff0005199affffee6666ff0006199affffee999a8e08ff0022cccc07acad8f
+b9f75fd0fb31fb25fb51fb095efb182f8093aa1eff0030666604ff0122b33407ff00
+09199afffff64cccff00089999fffff7b334ff00064ccdfffffae666ad6ca3678b52
+8bffffbc4ccdffffd0b333ffffccb333ffffdd4ccdffffe76666080ef88b89aaf8b3
+a901c2e2f762c7e0d7e1c7f763e203f912f8ee15f88f0aadfcd115288794ae1f8bff
+0029cccd96fffff3333305be9edfc58bf7058bf70a4cc068a3fffff66668ff000599
+9affffecb330ff0006e666ffffece668ff00028000089507b4949ed4f704f73351fb
+8dfb52fb055dfb1d1e24ff0057999a15ff012f800007ff000ab334fffff43332ff00
+0a4cccfffff5b3349285ad6ca3658b528bffffb9b333ffffcde668ffffc84ccdffff
+dc1998ffffe8999a083ffffffe199915ffffd64ccd076a8b8026fb1dfb05cef752f7
+82f727bbf70fd3947a601efffff5cccc07ffffed999afffffd4cceffffecccccffff
+f96666fffff6999afffffa800068734c568bfb0a8bfb05de51bf780895f7d115fffe
+d1b3340768ff0017666659ff003799998bff00464ccd8bc4a2b1aeaaff0006ccccff
+0005ccccff0009e668ff0009ccceff000a4cccff000b6666080eca80b7f8afb201af
+abf83ce703f7a38015f76debf73bf735f748fb12f706fb401ffb0b8b5b614f878851
+8158815508ab8605a6e6bcdff7188b08f710e737fb4bfb3451fb04fb2b1f2f8b47ac
+40dd7e8b83848782d32dda5aec8b080efb2081b7f807ad01a2ddf75fd8039deb15ad
+41c06bd18b08f719d8f701f714f7093ceafb0c2152525c67a686941fa38b9f988d9f
+91ad90b7cd8b08d4c03bfb08fb04584c311f598b59a76bb7fffff76666ffffff3333
+86fffffc199afffffc999afffffab333080ef8cdf783bf01f7a7b303f7a7f8541535
+2a3a535a7a087407f7005ff700fb148b8a08b30664df62b96aa608f9fabffdfa06ab
+aabcc1a9d3080efb0cf8a3b301f758bf03f829f8cb152ae153dc7abc0874065ffb00
+fb14fb008a8b086307dfb2b9b4a6ac08fdfabff9fa07aa6bc15ad36d080ef8cdf783
+bf01f9c4b303f9ecdd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b4
+5dac7008fdfa57f9fa066b6c5a556d43080e287eb301f762bf03bc7e15ec35c33a9c
+5a08a206b7f700f714f7008c8b08b30737645d62706a08f9fa57fdfa076cab55bc43
+a9080ef8adf783bf01fa13f7b715fd4706a5ab9da4959ba0ac9aa795a2086406635d
+6466646e656f6b776f81087407b37bae76a771ca52b166987b08b3066bcf6abf66b0
+08f9470666676a566b4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a8
+64a864b063b808640695749a6fa06b957b9d72a56a080e29fb6a7601f762bf03f762
+f8f715fd47076ba5729d7b956aa06f9a7495086407b963b064a864a7659f6b956f08
+a2069bb3a0aea5a7c4cab0b19b9808b307476b576a666608f94707af66c06ace6b08
+b3077b9866b152ca72a876ad7ab3087406816f786b6e656e6466645e63086407a295
+a79aaba09b95a49daca5080ef7a9ff023d8000ff001acccc01ff004f6666ff001c4c
+cc03ff01523334ff02584ccc15ffff7e9999fffff83334ffff9f3333ff0011ccccff
+ffd14ccdff0016999c08ffffefb333ffffefb33005ff002d4ccdffff948002fffff1
+cccdffff59199affffff4cccffffff4ccc08ff001c4cccffffe3b33405ff001fcccc
+e2ff00038000ff003d9998fffffbcccdff002a666808ff02673334fffd98ccccff00
+24ccccff0024b333fffd98ccd0ff0267333405ff002c8000ffffff4cccff0048e666
+ff00039998ff0048199aff001db334080ef7acff023b4cccff001c4ccc01ff02dd80
+00ff001acccc03ff02f84cccff0154cccc15fffff83334ff00816668ff0011ccccff
+0060ccccff0016999cff002eb33408ffffefb330ff00104ccc05ffff948000ffffd2
+b334ffff59199cff000e3334ffffff4cccff0000b33008ffffe3b334ffffe3b33405
+e2ffffe03334ff003d9998fffffc8000ff002a6668ff0004333408fffd98ccccfffd
+98ccccff0024b333ffffdb3333ff02673334ff0267333405ffffff4cccffffd38000
+ff00039998ffffb7199aff001db334ffffb7e666080ef7a9ffffb9b333ff001acccd
+01ff02dc4cccff001c4ccc03ff01f5ccccffffb9b33315ff00816668ff0007ccccff
+0060ccccffffee3333ff002eb334ffffe9666708ff00104cccff00104ccd05ffffd2
+b334ff006b7ffeff000e3334ff00a6e667ff0000b330ff0000b33308ffffe3b334ff
+001c4ccd05ffffe03334ffffa90001fffffc8000ffffc26666ff00043334ffffd599
+9a08fffd98ccccff02673334ffffdb3334ffffdb4cccff02673334fffd98cccc05ff
+ffd38000ff0000b333ffffb71998fffffc6666ffffb7e666ffffe24ccd080ef7acff
+ffba6666ff001c4ccd01ff0051b333ff001acccd03ff0051b333ff00bd333315ff00
+07ccccffff7e9998ffffee3333ffff9f3334ffffe96667ffffd14ccd08ff00104ccd
+ffffefb33305ff006b8000ff002d4ccdff00a6e666fffff1cccdff0000b334ffffff
+4ccc08ff001c4cccff001c4ccd0534ff001fccccffffc26667ff00038000ffffd599
+9afffffbcccd08ff02673334ff02673334ffffdb4cccff0024ccccfffd98ccd0fffd
+98cccc05ff0000b333ff002c8000fffffc6666ff0048e666ffffe24ccdff0048199a
+080ef8cdf783bff7ce9501f7a7f85415352a3a535a7a087407f7005ff700fb148b8a
+08b30664df62b96aa608ff016566688bffff859998fc00af8bff007a6668f800ff01
+dc99988b8bbffffe34cccc8bff00613334f7b5678bffff9eccccfbb5fffe8933348b
+05abaabcc1a9d3080ef8cdf783bff7ce9501f9ecdd15e1ecdcc3bc9c08a207fb00b7
+fb00f7148b8c086306b237b45dac7008fffec3cccc8bff00613334f7b5678bffff9e
+ccccfbb5fffdfa33348b8b57ff01f466688bffff859998fc00af8bff007a6668f800
+ff014d99988b056b6c5a556d43080ef8cdf783bf01f6bd03f6f85415fc02bdf731f9
+98076a6c5b556c4308b206e0ecddc2bc9c08a207fb00b7fb01f7168b8b086306b237
+b55dac7008fd98f731060e29fb78b701f762bf03f762f8f715fd0c0765ad5ead41ab
+086407ec36c3399c5a08a206b7f700f715f7008b8c08b307476b576a666608f90c07
+af66c06acf6b08b3078b8bfb15f7005ef7010874067a5a54392a36086407cfa9c6b8
+a9a408f775fdaf15ab0a0ef8adf783bf01fa13f7b715fffed5cccc8bff00613334f7
+b5678bffff9eccccfbb5fffe9b33348b05a5ab9da4959ba0ac9aa795a2086406635d
+6466646e656f6b776f81087407b37bae76a771ca52b166987b08b3066bcf6abf66b0
+08ff015366688bffff859998fc00af8bff007a6668f800ff013b99988b0566676a56
+6b4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b80864
+0695749a6fa06b957b9d72a56a080ef8a2f821bff7327701c6f82115f8900a0ef8a2
+f783bf01c8f7b715f8910a0ef8a2f821bff7327701fa97f82115f8920a0ef8a2f783
+bf01fa99f7b715f8930a0ef8a2f783bff5bff7327701fa99f7b715f8930afe5ef722
+15f8900a0ef8a2f783bff5bff7327701fa97f82115f8920a8d2115f8910a0ef895f7
+30bcf70fbc01ff021b8000f73015ff01dd8000bcfffe32e66806ff00296664f70fff
+01a3b3348b8bbcfffe6ccccc8bff00443334f75f678bffffbbccccfb5ffffed33334
+8b0598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37e
+a108ff00e180008bffffa18000fbadaf8b05ff004ae668f7de15fffeec19980679a2
+76a0729da29da09f9da208ff013f4ccc060ef93ef730bcf70fbc01f786f7dc15ff01
+944ccc8bffffd6999cfb0ffffe9719988b0579a276a0729da29da09f9da208ff01b8
+4ccc16ff0143b334069d74a077a27972797676797408fffe94e66806ffffef99985a
+15ff01598000067e757f737f7108b306c7d2e1d6d1a408a20748a34cbd35ec086506
+96719773987508fffeefcccc8bff00443334f75f678bffffbbccccfb5ffffe7e3334
+8b0598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37e
+a108ff013680008bffffa18000fbadaf8b050ef895f72dbcf70fbc01ff024db334f8
+0a15ff00454cccf762678bffffbab334fb62fffdfa4ccc8b8b5aff01f54ccc8bffff
+d6999afb0ffffe34199a8b8b5aff01bb80008bffffa28000fbaaaf8bff005d8000f7
+aaff010480008b057e757f73807108b106e1eccabdcea308a20745a435d64fd20863
+0697719773987508ffff364ccc5a15ff00ebb334069d74a076a47974797677797408
+fffee8e668060ef895f730bcf70fbc01f7a9f80d1598a197a396a5086506352a4c59
+4873087407d172e140c74408b3067fa57fa37ea108f977bcfd990679a276a0729da2
+9da09f9da208f99bbc060e28f70fbcf70fbc03f7ecf8a215a17ea37fa58008b1072a
+e159ca73ce08740672454035444f086307a597a397a19808fd77bcf99907a29da0a0
+9da49d749f76a27908fd9bbc070ef895f72dbcf70fbc01f99cf72d157e757f738071
+08b106e1eccabdcea308a20745a435d64fd208630697719773987508fd775af99906
+9d74a076a47974797677797408fd9b5a060e28f70cbcf70fbc03f70c7d1575987397
+7196086507ec35bd4ca34808a206a4d1d6e1d2c708b307717f737f757e08f9775afd
+990774797676797279a277a0749d08f99b5a070ef943f730bcf70fbc01f786f7dc15
+f990069d74a077a27972797676797408fd8c0679a276a0729da29da09f9da208aebc
+1598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37ea1
+08f948067e757f737f7108b306c7d2e1d6d1a408a20748a34cbd35ec086506967197
+739875080e29f8797612bef70d5abcf70fbc13b0f7bbf8ad15fcde07747977767974
+79a476a0749d08f8da07a29da0a09da4089d749f76a27908bc6815a17ea37fa58008
+b1072ae159ca73ce08740613d072454035444f08630713b0a597a397a19808fc9607
+13d0759873977197086307d24fd635a44508a206a3cebdcaece108b1077180737f75
+7e080ef7c1ff022a3334ff001acccc01ff0050e666ff001c333303ff01216666ff02
+10b33415ff0018b334ff00066664ff00198000ff00088000ff001a3332ff000a999c
+08ffffe5199aff001acccc05ffff7e999afffff83334ffffb0199aff00094cccffff
+bfb333ff001e666808ffffefb333ffffefb33005ff001fcccdffffbcccd0ff0007e6
+66ffff8e1998fffff83333ffffa3666608ff001c3333ffffe3ccce05ff0009e668ff
+001ae666ff00088000ff00196666ff00066666ff0018b33408ff020a8000fffdf580
+00ff0022b330ff0022999afffddd6668ff0222999805ff00038000a88bff001db334
+fffffb199aff001e6666a8fffffc8000a8ffffff4ccca8ff0003800008f8b8fcb8ff
+0022999cff0022b333050ef7c5ff0226e668ff001c3330ff001fe6687701ff02f833
+34ff001acccc03ff02deb334ff0172999a15ff00066664ffffe74cccff00088000ff
+ffe68000ff000a999cffffe5ccce08ff001accccff001ae66605fffff83334ff0081
+6666ff00094cccff004fe668ff001e6668ff00404ccc08ffffefb330ff00104ccc05
+ffffbcccd0ffffe03334ffff8e1998fffff81998ffffa36668ff0007cccc08ffffe3
+ccccffffe3ccd005ff001ae664fffff61998ff00196668fffff78000ff0018b334ff
+fff9999808fffdf58000fffdf58000ff0022999affffdd4ccdff0222999cff022299
+9805a8fffffc8000ff001db3308bff001e6668ff0004e668fffffc8000ffffe2fffe
+ffffff4ccc6eff000380006e08fcb8fcb8ff0022b333ffffdd6666050ef7c158ff00
+1acccd01ff02f2e668ff001c333003ff023e9998ff00014ccd15ffffe74cd0fffff9
+999affffe68000fffff78000ffffe5ccccfffff5666708ff001ae664ffffe5333305
+ff00816668ff0007cccdff004fe668fffff6b333ff00404cccffffe1999a08ff0010
+4cccff00104ccd05ffffe03334ff00433331fffff81998ff0071e667ff0007ccccff
+005c999a08ffffe3ccd0ff001c333305fffff61998ffffe5199afffff78000ffffe6
+999afffff99998ffffe74ccd08fffdf58000ff020a8000ffffdd4cccffffdd6668ff
+02229998fffddd666405fffffc8000ffffe300028bffffe24cccff0004e668ffffe1
+999a6eff000380006eff0000b3336efffffc800008fcb8f8b8ffffdd6666ffffdd4c
+cc050ef7c5ffffcee666ff001c333301dcff001acccd03ff00854ccdff009f666615
+fffff9999aff0018b334fffff78000ff00198000fffff56667ff001a333308ffffe5
+3333ffffe5199905ff0007cccdffff7e999afffff6b333ffffb0199affffe1999aff
+ffbfb33308ff00104ccdffffefb33305ff00433334ff001fcccdff0071e666ff0007
+e667ff005c999afffff8333208ff001c3332ff001c333305ffffe5199aff0009e666
+ffffe6999aff00088000ffffe74cccff0006666608ff020a8000ff020a8000ffffdd
+6668ff0022b330fffddd6668fffddd6668056eff00038000ffffe24ccc8bffffe199
+9afffffb199aff00038000a8ff0000b333a8fffffc8000a808f8b8f8b8ffffdd4ccc
+ff0022999c050e429e76f7fdcb01f7b08915f758f8d0428b5cfb27fb7c8b5df72742
+8bf758fcd005b4d7152af7b1f7528b050efb0781c8f80f76f700c801bad0f761d103
+f7758115e98bbecda0f00845067e51725b518b083475f703f70ef70ca1f705e21fc5
+8ba45a985008d10675f158ce2e8b08432165fb94fb95f566d31f0e5081acf7c9b1f7
+2ed87aac12afdcf796da13dcff0173b334ff013f199a15ffffdf3332ff001e8000ff
+ffd94cceff00146666ffffd2cccc8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f7
+1353f5261f13ec598b60816d856b85737c8b718b79977f9e8ba08ba1a8a79b0813dc
+95919d94ad8bce8ba52d8b27088bffffede666ffffff199affffe74ccefffffd999a
+ffffe3e6660887ffffda333215fffff19998ffff8d4cce64ffff706666ffffa1b334
+8b084768c5d4e4b9e4db1fff002de6668bff0029e666ffffea3334ff0024e668ffff
+e31998080efb358bccf763ccf73ecc01f7bdd003f802f8d015fbd94af794fb3efb8a
+4af78afb63fb9a4af7df060efb358bccf763ccf73eccd77701f7bdd003f802f8d015
+ffffbf999a8bff00176666cc6796ffffe480003fffff2380008b8b4af7598bffffc2
+8000fb3effff8280008b8b4af18bffffb5199afb63ffffd4e6668b8b4aff0013999a
+8b05ffffe7666647b07fff001ccccddbff010e33348b05ffffa83334f88f15ff0012
+ccccfb3effffb0199a06ffffe899994a15ff00674ccdfb63ffff4e3333060edc82b6
+f88cb6a97701a5bef87cbe03f7d5f8ae15ff002a999a8bff0027e666fffff48000ff
+0022b334ffffec199a08ffff086666fffe4f999805ffffbbe666ff002d9999ffffd2
+8000ff004f66668bff0056cccd8bf71bf702f709f71a8b08ffff668000fc8c15ffff
+d0800038ac79ff002fe666ff0053800005ff0024b334ffffef999aff0028999affff
+f6e666ff002acccc8bf7388bf717f7198bf7368bff0062ccccffffcf8000ff005780
+00ffffb56666ff0035800008ff0027199aff00443334699cffffdab334ffffbee668
+05ffffd66666ff00166664ffffd08000ff000cb334ffffcd66668bfb378bfb18fb18
+8bfb378bffff953333ff0038999affffa2999aff0054e666ffffcc333308ff0037e6
+66ff0015b33315ff00f63334ff01ad666605ff003a3332ffffd13332ff00253334ff
+ffb6e6688bffffb0cccc8bfb1afb00fb0afb1c8bffffdd66668bffffdee667ff0007
+ccccffffe21999ff000de667080ea28ba501f7a2f8ac15f769fc92fc368b05f757f8
+e2152bfb7efb2afc038b8b88858a888b890888908a961ef8a98b978b058e8c8c8c8b
+8d8b8d8a8e88918b8bfb2ef80328f77e080ea2a076f8e2a501f7d1db15fb69f892f8
+368b05fb57fce215ebf77ef72af8038b8b8e918c8e8b8d088e868c801efca98b7f8b
+05888a8a8a8b898b898c888e858b8bf72efc03eefb7e080e548bc4f75dc3f75dc401
+a8d10314e0f86216c4fb2f07238b32e27cf70608f7f6c3fbf60698f700dae8f7088b
+08f72fc4fb2a06fb31fb12fb17fb2ffb2ef710fb18f7331f0e548bc4f75dc3f75dc4
+d77701a8d103f86216c4fb2f07ffffef66668bffffefccceff00023333fffff06666
+ff0004333308d1ff00c2999aff007c66668b8bc3ffff97cccc8bff00484ccef75dff
+0028e6668b8bc4ffffeb999a8bff00176666cc6696ffffe4999a3fffffa766668b05
+fb31fb12fb17fb2f1f8bffff8bcccdff0046999affff984ccdff0066e666ffffd419
+9908ffffdf8000ffffa5cccdb07fff00203333ff0059999a05ff00171998fffff9cc
+ccff00186668fffffc999aff00194ccc8b08ffffa64ccdff004d333315ffffbf999a
+ff00201999ffffcfcccdff00438000fffff54ccdff0051333308ff00bc800006ff00
+14199ac315ffff2f66660698f700dae8f7088b08ff0049199a060efb4ec7c1f4c1f3
+c201a8f7c303f77ec715edc12906fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c
+8c08edc22906fb285240fb03fb14d551f7171f0e548bc4f75dc3f75dc401f82bd103
+14e0b7f8d01552f72f07f38be4349afb0608fbf653f7f6067efb003c2efb088b08fb
+2f52f72a06f731f712f717f72ff72efb10f718fb331f0e4f8bc4f75dc3f75dc4db77
+01f827d103b3f8d01552f72f07ff0010999a8bff00103333fffffdccccff000f9999
+fffffbccce0845ffff3d6666ffff83999a8b8b53ff006833338bffffb7b334fb5dff
+ffd7199a8b8b52ff001466668bffffe8999a4ab080ff001b6666d7ff0058999a8b05
+f731f712f717f72f1f8bff00743334ffffb96666ff0067b332ffff99199aff002be6
+6608ff00208000ff005a33346697ffffdfccccffffa6666805ffffe8e667ff000633
+30ffffe7999aff00036668ffffe6b3338b08ff0059b334ffffb2cccc15ff00406666
+ffffdfe668ff00303332ffffbc8000ff000ab334ffffaecccc08ffff43800006ffff
+ebe6665315ff00d0999a067efb003c2efb088b08ffffb6e666060efb4ec6c2f3c1f4
+c101a8f7c303f713f843152955ed06f7128b9b52965b08fb8f55f78f0680567559fb
+0c8a082954ed06f728c4d6f703f71441c5fb171f0ef71bfb02a7f908b273a512f70a
+dcf7bfdb13b8f8866515707d7a621e7106868889851f8b798d89058be88dafb2e289
+8b1e8c8d8b9d0591888d861e7106637c99a91ff8be078ba9a399a78c08a806908e8f
+8f1f9d0713d88a8bfb1189858b448a528b4d8b448b538b4d8c0813b87d8b228d838b
+087807888d87911ea906ab9e83661ffcbe07707d7a621e7106868889851f8b798d89
+058be98daeb2e2898b1e8d8d8b9d0591878d871e7006647c99a91ff8af0713d8ad90
+96aa1ef77606ab907b6f1f0ef587a279a9f8e9a212f700d8f7bdd81378f7268c15f8
+0b0613b8a28bbf87bd8a91918b968591458e7a938bde08f839078bde9c93d18e9191
+8b9685915a8affffe4333487ffffcecccc8bffffcf33348bffffe5cccc8f598c8585
+8b809185d1889c838b3808fc410713784d757f731efb6106737597c91ff841078bde
+9c93d18e91918b968591598affffe5cccd87ffffcf33338bffffcecccd8bffffe433
+338f5a8c85858b809185d1889c838b3808fc390713b88b387a83458885858b809185
+08bd8cbb8fa68b080eaa4dc551a1f8d9b574a212f877a11358f87ff8db15fc667406
+9a8ba581a66708f73dfb9efb5efba1057d7a81897f8b0875f87507a7f743758d0513
+a88a866cfb06458b08fbac8bf760f7a48c8cfb40f7a4f7788b05c48baa3a907808a1
+8e050e69f766b701f861f79215ab0a0e69a076f745b7f77ab701f786b903f786f745
+15fb45b9f745f741b7fb41f7445dfb44fb445f07f7a604f81fb7fc1f060e69a076f7
+44b7f784ec12f76bec42b913f0f76bf89015719e75a9a79fa1a5a773a0731e707575
+701f13e8d1fbb415280a0e69a076f8dc7601cd16f856f8d1598bfc55fcd1050e69a0
+76f8dc7601f86616bd8bfc56f8d15a8b050efb70f76ece01f700ca03f711f76a1527
+0a0efb70f721a9f721a901d2adf717ad03f780f78415a90afb398c15aa0a0efbc8f7
+5ff70001d4f70003f713f75f15b20a0e8ff971b201f87cf97115f8940a0e8ff7faa9
+f71ca6d676c0a9b8b212b9bde5c66ac913fcf87cf97115f8940a13fefb0ef90415ae
+0a13fdaf0a13feb00a0e8ff801a8d1adf75877c6b201f73fbb03f87cf97115f8940a
+fb1df84c15f86b0a0ef701d9c453b9f78ec856c061b512b0ca138cf7faf78515f895
+0a1324f792f71a15c886073c8b403f5c5208138cf8960a1354b849d046e08b968b96
+8c958d08b707858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080ef7
+74d9c453b9f796c061b512b0caf8e0c8139cf7faf78515f8950af7de8415136c4e6c
+5b4b1e518b42f26ab9a5b4d3cfbe8b08d4b0324f1fc8b615e459d12f1e3c8b403f5c
+5208139cf8960a136cb849d046e08b08f2cdf1eb1f0e778bb801c9be03c9f84e15fc
+4ef838b8fc05f821070ef4e9b701a9e915f8cfb7fffe2a666606ff0158999aff0195
+b334ffffda999aff001fb334050ef49676f3b701f804b903ff01604ccc8115ff002e
+ccce06ff00098000acff00053332ff0022e666ff00003334ff0024199a08f74fb7ff
+ff42b3340682ff00528000ffffdcb332ff004a999affffcae666ff003a333208ff00
+a1b334ff00be6668ffffda999aff001fb334ffff606666ffff43e6640570ff0016e6
+68ffffe1cccdff00133332ffffdf6666ff000eccce08ffffe03333ffffd8199805ff
+0020e667fffff2999aff001e4ccdffffed999aff001accccffffe9999a08ffff2699
+9afffeffe666f7e68b8b89058bffffdc8000fffffa8000ffffddb333fffff5ccccff
+ffdfcccd08ff000c999af72815ffff1680008bff00973334f74605ff002b8000ffff
+cf3334ff001d8000ffffc29999ff00094cccffffbc3333080ef4ff0014cccd7601ff
+016d999aff002b4ccc03ff0129cccc8915ff002b4cceffffee333305ff00156666ff
+001affff9dff001e4ccdff000de666ff00214ccd08ff00ad000244ff0010b330ff00
+28ccccffff50ccceff0047cccd05ff0016e666ff004fcccdfffffb999aff00524ccd
+70d508ff00dde666ff0072ccccffffe96668ff002b999afb6fffff8e800005ffffef
+b332ff001f6666ffffeb6666ff001d4cceffffe76668a508ffffd36666ffffe7199a
+05ff00196666ffffe73332ff0015199affffe36666ff00104cccffffe1199a08fffe
+d5b334ffff658000ff0138b332ffff7fcccd05ffffffccceffffff6666ffffffcccc
+ffffff6666ffffffb334ffffff6666fffff28000ffffdf199affffede666ffffe266
+66ffffea4cccffffe6199a08ff0043ccceff0084199a15fb6cff00589999ff00cf66
+66ff006b4ccd05ff0015ccccffffc26666ff0003e66847ffffeee666ffffbdb33408
+0efbf9947601dbb703f7107f15f8e25ffce2070efbc59476f83e7701f0b703f768f8
+321548ffffbc4ccc8bff00e7b3345f8b8bfffeebe66638ffffac199aa373c6ff003b
+4ccd8bfffef6b334b78b8bff01358000e6ff005b8000050efb75947601dbb7e3b703
+f7947f15f8e25ffce2073316f8e25ffce2070efb689476f84c7701dbb7e3b703f7c5
+f840155affffce4ccc8bff00c7b3345f8b8bffff0bb33433ffffa6cccc8bff014d80
+005f8b8bfffe85cccc4fffffc33333a373afff002466668bffff5c999ab78b8bff00
+cfcccde3ff0058ffff05fffed73334b7ff0155333407d4ff0049cccc050e3b9e7601
+f786f81615f73ffc18c08bfb5bf850578bfb5cfc50c08bf740f818050e3b967601f7
+83b915fb3ff818568bf75bfc50bf8bf75cf850568bfb40fc18050e43a076f820b601
+cebef791be03f70a16f76807f1ff00168000ddff006f8000ee9f39251efb68bef768
+07f714ffffe18000eeffff728000fb2969ffff9a8000ffff8280001efb68070e4381
+b6f8207701cebef791be03f807f84115fb680725ffffe9800039ffff9080002877dd
+f11ef76858fb6807fb14ff001e800028ff008d8000f729adff00658000ff007d8000
+1ef768070efb58fb71bcf9c9bc01f71ed903f720a215f8970a0eadfb71bcf9c9bc01
+f71ed9f72cd903f806a215f8970afb7a16f8970a0ef7cefb71bcf9c9bc01f71ed9f7
+40d9f74ad903f91ea215f8970afb9816f8970afb8e16f8970a0e6efb71bcff00a4cc
+cdff00278000ff016c3334ff0027e666ff00d4999abc01b3b7f724d9f722b703ff00
+e54ccdfffff8cccd15fffffcccceffffb5cccefffff16666ffffa56666ffffe78000
+8b7a8b7daa708b0878777a7772a179ab1fff004ab3338bff0036e667ff0034cccdff
+0015e666ff00a03333ff006de666ff000ecccdff0056999aff005d80008bff0071b3
+338bff006e4cccffffad3334ff005d6668ffff958000ff00121998ffffff9998ff00
+0f8000ffffffb334ff000e999a8bff000d199a8bf7199fb0a08ba38b8d6aab8b08a3
+9f9ca1a4739d6e1f308bffffc86666ffffad6668fffff2199affff4cfffeffff9480
+00ffffef800037ffffa1b3348bffff9066668bfb03ff005233332eff006b199affff
+eecccd08ff0046cccdff0027800015ff0003e666ff00294cce8dff002f4ccc8bff00
+36199a08f70b078bacfffffee666ff002366668aff00218000ff0053999affffee33
+34ff003c8000ffffb580008bffffa666668bffffa533334cffffb56667ffffab199a
+ffffefb3320844ff016c333415ffffff4ccc79ffffff999affffed33348bffffec4c
+cc08fb17078bffffb33333ff0001e66670ff0000199affffb71999ffffaacccdff00
+106667ffffc33333ff004b33338bff005a199a8bff0059ccccff003c6666ff004bcc
+ceff0054b334ff0010e666080e69daeff737ef01f783ef03f783f81e15210afb9b04
+210a0e69f769c691c601c39cf7f99c03c3f76515a10a0e69f769c691c601c39cf7f9
+9c03c3f76515ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0013cccd8b9eff
+fff74cccff00131999fffff3666808ffff9c199afffed64cccb17fff005fb334ff01
+1e4ccc05ff00136666fffff43334ff0014999afffff78000ff00114ccc8ba38bcc98
+aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bfffff219
+9a8bfffff1b332ff0005199afffff0999aff0008e66608ff005a999af7a36595ffff
+a96666fb9605ffffe8e667ff0010333472ff000bccccffffeab3338b4e8b554c7e4a
+080e69f725bcd7bcbcc691c601d09cf7f99c03d0f80015a10af81c5e15450a3f0445
+0a0e69e2c691c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff00054ccd8a91
+8ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a
+6f8b758b7498709fffffe78000ff00123333ffffe48000ff000dcccd748b4e8b554c
+7e4a08a0f72215a2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede6
+66a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b75595a7a6f8b08758b7498709fffffe78000ff00123334ffffe48000ff000dcccc
+748b4e8b554c7e4aff0005b33388ff00054ccd8a918b080e69e2c691c6a1c691c601
+c19cf7f99c03c1de15ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff000bb333
+8bff000b666788ff000b4cccfffffae66608ffffc1999affff47199ab17fff003b19
+9aff00afe66605ff00014cccffffff199aff00014ccd8aff00014ccd8aa379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f
+8bffffeb80008bffffeab334ff000b3333ffffe76666ff0011b33308ff0017999aff
+00464ccd05ff000ee666fffff89999ff000ee666fffffb3333988ba38bcc98aaf6ff
+fffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bfffff6999a8bff
+fff68000ff00026666fffff6199aff0004333408ff0056ccccff010266666595ffff
+ac6666ffff07e66605fffffd4cceff0001e666fffffd1998ff0002199afffffd3334
+ff0002199affffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e4aff
+0005b33388ff00054ccd8a918ba2b7baa8ae8bff0018999a8bff00176666fffff299
+9aff0017cccdffffee4ccc08ffffe88000ffffba4ccd05fffff00001ff000866667b
+ff00056666fffff1b3338b4e8b554c7e4a080e69f724bcd7bc01f7a5f88d15fffff5
+3334ff00028000fffff57fffffffffccccfffff54ccdfffffdb3346e5d5d55676391
+8292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff00
+08199a90920867b35fc06eba08f750fb4f15450a3f04450a0e69f724bcd7bc01f861
+f7d215ffff69b3348bff00504cccf783659537fb8dfb5f8b8b5aff00ba80008bffff
+e666663fffff5f199a8b8b5aff009066668bffffc1999afb4db17fff00423333f759
+ff00d0cccd8b05bcffff3fb33407ff00198000d7ff00a6cccc8b050e69f4b7cab7cb
+b701f861f80015ab0a4b04ab0a4c04ab0a0e69f4b7cab7cbb701f861f80015ffff79
+199a8bff0040e666f7556595ffffbb999afb5fffff2566668b8b5fff00cbb3348bff
+ffea66664bffff49e6668b8b5fff00a74ccd8bffffeacccd4cffff6de6668b8b5fff
+008333338b05ffffcecccdfb26b17fff0035199af732ff00dde6668b8bb7ffff30e6
+668bff00153334caff00b9e6668b8bb7ffff54cccc8bff0015999acbff0095999a8b
+050e6996baf7fb7701cf9615f81abafc1a06d5f75615f7d1f7070598998ca97d9108
+fc1afb2105fffff6b333ffffeeb3348bffffefffffff00094ccdfffff14ccd08f81a
+fb220599918aa97e99080e6996baf7fb7701cf9615f81abafc1a06f7d2f75515fbd1
+fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8bff000ffffffffff6
+b334ff000eb33408fc1af722057d858c6d987d080ef773f837f77f15f7d1f7070598
+998ca97d9108fc1afb2105fffff6b334ffffeeb3338b7bff00094cccfffff14ccd08
+f81afb220599918aa97e9908fcfaf70c15440a0ef773f802f75a15460af8fafb0c15
+460a0e69ff015a8000ff0139333415ff00708000ff0028cccc0598998ca97d9108ff
+ffa28000ffffde3334ff003e8000ff00bacccc6595ffffb83334ffff2a199affff06
+ccccffffa5e66605fffff6b333ffffeeb3338b7bff00094ccdfffff14ccd08ff00b4
+cccdffffbe3333ffffc03333ffff41cccdb17fff003f199aff00bc999aff00abe666
+ffffc166660599918aa97e9908ffff63199aff003966660588ff0073999a15ffffdd
+cccc25ffff85199ab8050e69ff00feb333ff00bc666615ff001c8001ff00553334ff
+0066ccccffffda666605ffff4d3333ffffbf199a15ffff75cccdffffcde666057e7d
+8a6d998508f70bb657fb2fb17fff003d999aff00b83333ff00df6666ff0050cccd05
+ff00094cccff00114ccd8b9bfffff6b334ff000eb33308ffff5f3334ff003a8000ff
+004fccccff00ee80006595ffffb13334fb7fffff3fccccd1057d858c6d987d08ff00
+b1199affffbf3334050e6996baf7fb7701cf9615ff0073e6668bffffe0199a2cb17f
+ff0023cccdf6ff00e833338b8bbaffff2780008babff005f999aff00b98000ffffbc
+66660599918aa97e9908ffff558000ff003e6666ff0028999aff00798000ff0081e6
+66ff002f199a0598998ca97d9108ffff913334ffffd7e666ff002dccccff0089199a
+6595ffffc8e666ffff5bccccffff18199affffac333405fffff6b333ffffeeb3348b
+ffffefffffff00094ccdfffff14ccd08ff00a74ccdffffc3199affffdb4ccdffff92
+e666ffff7c66668b05ff00d5b334ff00f4b33415ffffe19999ffffa54cccffff92b3
+33b3050e6996baf7fb7701cf9615ff004be6668bffffe2199a32b17fff0021cccdf0
+ff011033348b8bbafffeff80008bff001ce666ff00564ccdff00e4999aff0052b333
+05ff00094cccff00114ccd8bff000ffffffffff6b334ff000eb33408ffff5b199ac7
+ff003de666f74d6595ffffc3199affff4a8000ffff43e666ff00448000057d858c6d
+987d08ff00ad199affffc0b334ffffd7e666ffff887ffffb19ffffcfcccd057e7d8a
+6d998508ff0071cccdff00293333ffffe8cccdffffbacccdffffa466668b05ff00b5
+8000ff008f800015ff001d999aff0058999aff006ae666ffffd8e666050e64b6b5f7
+a1b501b0bb03f877e015fb68062438a4f709f3e4a2ec1ff768b5fb6806fb05fb0d74
+fb27fb2ff7096ff7091ff768060e64b6b5f7a1b501f849bb03b2f7f615f76806f2de
+72fb092332742a1ffb6861f76806f705f70da2f727f72ffb09a7fb091ffb68060e64
+b6b5f7a1b501b0bb03f877e015ffff4633348bff005bccccf7a1e98b8bb5ffffb04c
+cc8bff001eb334e56596ffffdd800026ffffa580008b05fb05fb0d74fb271f8bffff
+723333ff0061e666ffffdc8000ff006a33348608ffffdce666ffff994ccdb17fff00
+26e666f706ff00c8199a8b05ffff1c4ccdff002a333315ffffa06667ff00029999ff
+ffb54ccdff001c33338bf70308f3e4a2ec1eff004c199a060e64b6b5f7a1b501f849
+bb03b2f7f615ff00c9199a8bffffa41999fba1ffff92cccd8b8b61ff005ee6668bff
+ffdd199a25b17fff0026e666f706ff004b199a8b05f705f70da2f7271f8bff008719
+9affffa7199aff0026999affff9bb332ff0007b33208ff001f3334ff005b999a6596
+ffffdd800026fffffc80008bfb688b05ff00f2b334ffffd5333415ff00584cccffff
+faccccceffffe1199a8bffff96e666082332742a1effffc33333060e8e81ff002819
+9aff00a3e666b2ff00a5e666ff0028199a01c3b8f734b8f731b803f7ad8115f8980a
+a4ff01984ccc15ff00548000fffff4b334ff00404cccffffbbb334ff00084cceffff
+aa4ccc08ffff62e66606ffff35b33304ff00a34ccdf73107fffff73334ffffaae666
+ffffbf4cccffffbd199affffac8000fffff4b333085effffff666715ffffa9b333ff
+00093332ffffbf199aff0044999afffff73333ff0056199a08f73406ff00cce66604
+ffff5a199affff5fe66607ff00086667ff0056b334ccff0045ccccff0056b333ff00
+096666080e8e81b2f739b2f73bb201c3b8f7feb803f7ad8115f8980affff4be666f7
+871594ff005d3334ff004a999aff0049ccccff006080008bff0060999a8bff004c66
+6642ff0009199a2d08fffe95e6666415f7fe06fffff64cccffffa2999a3effffb866
+66ffffa0b3348bffff9fcccd8bffffb59999ff00486666fffff6999aff005c999a08
+0e8e81b2f807b201c3b7f800b703f7ad8115f8980aff00904cccff0153666615ff00
+186668ffffe04cceff000e4cccffffd7e6668bffffd466668bffffd5e666fffff280
+00ffffd98000ffffe9199affffe1199a08ffff8d6666ff0073800005ff004e3334ff
+0091333415ffff8fccccffff8fccccffff928000ff006e666605ff001e4ccdff0018
+3334ff00268000ff000e6666ff002ab3338bff0029cccc8bb1fffff24cccff001e66
+68ffffe8e66808ffff011999ffffdb800015ff006db333ffff924cccffff8f999aff
+ff90800005ffffeab333ff001e8000fffff3b333ff002580008bff002880008bff00
+2a3334ff000d4ccdff00271998a2ff001f666808ff001e4ccdfffefee66615ff0072
+6666ff00726666ff0071b334ffff8c666605ffffe0e666ffffe73334ffffd8999aff
+fff16666ffffd4cccc8bffffd3e6668bffffd88000ff000f3333ffffe13334ff0019
+6667080e8e81b2f807b201c3b7f800b703f7ad8115f8980af82e04ff002c66668bff
+0028199afffff0999aff001f4cccffffe6333208fffefce668fffefce66805ffffe8
+3332ff001f7ffffffff2199aff0027b3338bff002b199a8bf1d9dff28b08ffff8d99
+9afffeb5999a15ff0103199aff0103199a05ff00181998ffffe06666ff000e3334ff
+ffd84ccc8bffffd4999a8b243a39258bffffd3e6668bffffd88000ff000f3333ffff
+e13334ff00196667080ef19576f7a4b801c7be03f912f7c615fca3f7a458fce1bef7
+a4f8a3060ef19576f7a4b801f8bcbe03a4f79915f8a3fba4bef8e158fba4fca3060e
+cf9676f8a9b801f7b5be03f7e88115f8a9f7a1b8fce15ef7a1fca9070ecf8bb801f7
+b5be03f7b5f8d615f8990a0efb289676f7a5b801c7be03f818f7c815fba9f7a258fc
+e0bef7a5f7a9060ef751f717f765fb65c1a2c1a3c112b7c11358f75cf77f156e7376
+706f74a0a9a5a0a3a81ea9a173701f1378f7bea615fb8d0680bb65a9578b08535b60
+4d4db961c51fc78ba9aa96b908f78d061388975fa96ac78b08c8b8bac4c75ab8521f
+4f8b6f677d61080ef751f717f765fb65c1a3c1a2c112f920c11358f8baf78015a8a3
+a0a6a7a2766d7176736e1e6d75a3a61f1378fbbe7015f78d06965bb16dbf8b08c3bb
+b6c9c95db5511f4f8b6d6c805d08fb8d0613887fb76dac4f8b084e5e5c524fbc5ec4
+1fc78ba7af99b5080efbc8f760f70001d2f70003f711f76015b20a0efbf9b3eff738
+eff739ef01c3ef03f700f93115f89a0afb9d04f89a0afb9c04f89a0a0eebf760f700
+01d2f700ecf700eaf70003f8a9f76015b20afb5f16b20afb6116b20a0e907fb1f80d
+b201c3b2f80db103f7aff82715ff002833348bff00259998fffff36666ff001ee668
+ffffea800008ffff106666fffee1199a0568ff00233333ffffe9e666ff0030999a8b
+ff003433338bf1e1def18b08ffff643333fffea14ccc15ffffb8cccdffffaab333a7
+72ff0048199aff0056800005ff00246666ffffe6999aff002bb333fffff0e666ff00
+2ecccd8bf7118bf1f58bf7108bff003cb334ffffe6e666ff00374cccffffd7b334ff
+0028800008ff00416666ff004e80006fa3ffffbe8000ffffb1999a05ffffda6666ff
+001b4cccffffd1b334ff0010199affffce66668bfb108b24268bfb0f8bffffbfe666
+ff001b8000ffffc4b334ff002bb333ffffd5b33208ff0035999aff0005ccce15ff00
+ef1999ff011ecccc05ff00203334ffffdeccceff0013e666ffffd366668bffffcee6
+668b253631238bffffda999a8bffffdcccccff000be666ffffe26667ff0014333408
+0ef7c48badf8f87701d4b7f90cb603f709f82b15f7d7f74df7c9fb4d8bfc09fd0c8b
+055ff82015fc42f963f84207fbf4f76c050ef70af7e0f91a15f741fbb0bb8bfb5bf7
+e8618bfb5cfbe8bb8b050e8af7f9b701a3c103d9f71915f774f85fb7fc95fba0070e
+fb4aa076f829bd01f3db03f316dbf77f06f71f97aaa01ea38b8d6bab8b08a39f9ca1
+a4739d6f205321fb811f0efb4af75fc1f84d7701f72edb03f77ef94e153bfbab06fb
+187e6d731e798b7bae6d8b087675797370a377aff700c3f6f7c31f0ef7cd8badf7fd
+ad01d4b303f8b3f81f15cd06c548ba60dd453b475c5d504808478bfb2bf74805fb2b
+fb4815f713f72cf713fb2c05fbc2163cf7fdd806f72dfb4905f72cf74915fb14fb2c
+fb15f72c05f818ad15fcbdfc41f8bd06d8dddad1cab708b10744bd42cc40db080ef7
+368badf7fead01d4b2f887b203f77fad15f713f72cf713fb2c05fbc21640f7fed506
+f72cfb4a05f72cf74a15fb14fb2dfb15f72d05f835ad15fcd5fc42f8d50664ad1541
+8bfb2bf748f72cf74ad48b050efb01947601f73af78f03f835f90a153ffb0c422744
+43086c6faa6d05cd55d429dcfb2008d70755f54ae35bc2becacbdcbfec080efb0195
+7601adf78f03ad8015d7f70cd4efd2d308aaa76ca90549c142ed3af720083f07c121
+cc33bb54584c4b3a572a080ef7cd8badf7fead01f98eb203f7e0f82015f72cfb4afb
+2bfb48478b054fce5db93bcfddd1b9b7c5ce08f806fbfe15fb928bf713f72c05f743
+fb2c15fb2bf748f72cf74ad98b8bfbfe05fc13f7fe15f7958bfb14fb2d05fb98f74f
+15403b42494459086507ca5fda45d83908f8bdf842060efbcbfb5fc6d9b7017aadf7
+6cad03f7f67515fb0dfb0efb6cf70efb0d5fe2fb1df7b0f71de2060e939476f7f4b9
+e3b7c8b701f73dbbf708bb03f7a4f90315688b617a798208976005a89d9b92ad8b08
+b1a673661f56064e596c4f54ab6bbf1faf8ba5939d9a0878bbf73007da6ab73f1e82
+fb811571779aa8acae96b71fb006405f7e711ea3fbf51562e333f7193df108677b05
+ddfb05d9fb0ac9fb0d08b506c1f703ddf711dcf702086ba1053f2731fb1e6336080e
+69f705bdbec801c4a6f7eda603f861f73715fc1f59f81f0686f78815700684644960
+288bfb018b54b682b20870069045c242f71f8bf7198bc8d391d2080efbcbfb5fc601
+7aadf76cad037a7515fb49f7b0f74969fb0efb6cf70e070ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0aaffffe654ccc15ffffff4cccff00138001ffff
+ffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff0000b3
+34ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880008bff
+00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffff
+c6ccccffffe54ccc8cfffff8999aff0002e668fffffd199aff0005cccc8708ff001d
+999aff000c4cccff000eb3328fff000c4cce8bff000ab3328bff0001999afffff066
+66ff0000b334ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffff
+d24cce8bffffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332
+ffffca1999fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bffff
+f8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000
+ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff
+0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff0003
+3333fffffe3334ff0035e667080ef75aff017a3334fffff0cccd15f89b0aff026fb3
+3404f89c0affff948000ffff4db33415fffff24cccff000c4cccfffff8e666ff000d
+b33496ff00104cccff0009ccceff000c4ccc1e8bff00053334fffffe999aff00034c
+ccfffffeb332ff00048000fffffeb334ff00048000fffffc3334ff0005e6668bff00
+05333408ff00103332ff000d8000ff001de668ff002f8000ff00176666ff0027b332
+ffffe94cccffffc1999a1e8bffffd66666fffff78000ffffde3334ffffd9b3346408
+ffffcfe666ffffd0800005ffffc04cceffffbefffffffff59998ffffe0cccd8bffff
+d9b333088bff001ab334ff00014ccdff0014cccc1eff0071b33406ff0014ccccff00
+1de668fffffeb3338b1fff00088000ff00228000ff00068000ff0030b333ff000099
+98ff00138000fffffc199aff00033334fffffe199aff00016666fffff98000fffffe
+b33380ffffd1cccdfffff4e666ffffe94ccdffffe8999a8b08ffff85cccc068bff00
+1f3334ff002cccceff0032b333ff00033332ff0003333308ff0041b334ff003f199a
+05b0ff0023cccca7ff001c80008bff0031666808ff00463332ffffc04cccff001c99
+9affffcb6668ffffb7ccccffffd9b334ffffcab334641e0ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0aff00001998ffffa0b33415ff001c999aff001d
+e666ffffe9e666ffffd7b3321f8bffffe03334ffffd68000ffffc76666ffffc58000
+fffff6e66608ff00033334fffff1b3340596ff00014cccff000880008bff00088000
+8b08b0ff0030ccccfffff46668ffffb67fffffffa98000ffffc23334ffffe56667ff
+ffe933341fffffdecccc8bfffffa4cccff00156666fffff83334ff000bb333fffff9
+8000ff0009199afffff78000ff0007e6667e8b08fffff24cccfffff26668fffff399
+9afffff5999971ff00369998ffffee6667b2ff004d6668ff0044ccccff0034b333ff
+0055cccc1f8bff0046e66859ff001a9998ffffd9b334ff0006800008ffffff4cccff
+00014cce05ff003dccccb2ff00033334ff001de6668bff0016199a08ff001b4cccff
+ffe74cccff0029999affffbdb334ffffa08000ffffe4b334ffffc1999affffea999a
+fffff6e666ff00066666fffff2e666ff000f999aff0012ccccff0006999aff001580
+00ff000c4cccff0029999aff002cccccff000e4cceff0010e6661e0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0aff000fccccfffea64ccc15f89d0aed
+16ffffc9199a06ffffffccccff004cb334ff00004cceff0062ccccff0000ccccff00
+14e668ff00014cccff00208000fffffee668ff00196664ff00011998ff0005199c08
+fffffeb334ff00014cccffffefcccc8b05fffffb80008bfffffc6668fffffbb334ff
+fffd9998fffffd1998ffffd7199affffcd999affffb44cceffff953334ffffc47fff
+2e8dfffff63332ff0003cccdffffee8001ff001380008b08ff0085666606ffffffcc
+ceffffe03334ffffffe666ffffe6cccdffffff999afffff6b333fffffeccccffffe2
+199affffe88000fffffe19996f89fffffc199afffffc199a8bfffff8e666ff0003e6
+66fffffc199aff0014ccccff0000b333a5ff00028000ff001de6688bff001999988b
+ff0013e668fffffd8000ff0014ccccffffff4ccdff0003e666ff0003e6668bff0007
+199afffffc199aff0003e66608ffffe03334ff0002999afffff38000ff0000b333ff
+fffeccccff001e8000ffffff999aff00096666ffffffccccff0019199affffffccce
+ff001fcccd08ff002d999806ff0009199aff00000001ff0009ccceff0005e6668bff
+0007cccd08ff00068000fffffd6666ff0003ccccfffff8e6661e0ef75aff017a3334
+fffff0cccd15f89b0aff026fb33404f89c0ad0fffe9b4ccc15ffffc23334ffffdb99
+98ffffcc199a641effffe74cce8bfffff7b332ff0012e666fffff6333498fffff780
+009680ff0009cccdfffff24ccc8b08fffff3b334fffff3999afffff8cccd7effffe5
+6666ff00373332ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff00
+51e666caffffd46666ff0038b334ffffb733321fffffe4199a8bffffe18000fffffa
+1998fffff44ccefffffb80000898f70705a3fffffd6668ff001b4cccfffffcccccff
+001f33348bff001380008bff00161998ff00013334ff001ab334ff0002999808ff00
+0a4cccff0025b334fffffb8000ff0002b3340566fffffc1998ffffdce668fffffcb3
+34ffffdd80008b738bffffe89998ff00013334ffffe933348d08ffffe9e666ffff4b
+4ccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334b0ffff
+dd8000ffffb919991f0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0affffb43332fffee74ccc15ff00188000ff00154cceff001a3334ff0001199aff00
+0d199a8b08ff003fb332ff00104cceffffb74cccffffdf8000ffffb88000ffffe166
+66ffffd9999affffe0333262ffffd1e668ff001c9999ff006f19991f8bff000f3334
+ff00019998ff00124cccff0004199aff0013800008ff0004999aff0012999a15ff00
+11199aff003bccceff00296666ff00431998ff0057ccccff0020e6688bff0007cccc
+ff00014cce91fffffaccccff00033334ffffbe4cceffffec8000ffffd7b332ffffe4
+9998ffffdb999affffd5ccceffffd7b334ffffd13332ffffebe666ffffc4e6688bff
+ffcc999808ffff7c0001db71bdff00553332ff00226668ff00529999ff0037e666ff
+0037e6686fff00354cccffffa799981effffeb999a8bffffdf4ccefffff88000ffff
+ec4cccfffff36666080ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0affffdfccccffff83b33415ff00834ccc06ffffcd4cceffff81e666ffffc6199aff
+ff7accccffffd3ccccffff9d333408ff00054cccfffffb6666b28d05b0ff006e8000
+b2ff006be666ff0048ccccff00b1666608fffff5999cff0007e6680580fffffccccc
+fffff1b33287ffffe74cce8b08fb1a06ffffe9e6668bff00016666ff00068000ffff
+f44cccff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0ccccffff
+f8e66664fffffaccceffffde3334ff00071998898bffffff1998ff00073334ff0000
+e668ff000e4cccbfff0015666896ff0014cccc8b080ef75af80ff87b15b3a06b6e1f
+8b6a656d7a7f0879970564a481a18b9e08a8a3a8b01eee4d15b768ac4e4d60665b1e
+8b699d72b172089585057c7f7d817c7d7275816f8b72084cb869ccdbb1c7bb1e8bae
+7ba76ba00866a505a69db7aa8bb20824fbb4156f5da4c11f8b9e97b6c0ae08a97a05
+b2739b6e8b6e084d5b7c6f1eff00033334ffff67cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0aff005d8000fffe
+d8199a15ffffe78000ffffeab332ffffe5e666fffffecccefffff2e6668b08ffffc0
+4cccffffefb334ff0048ccccff00208000ff00478000ff001e8000ff00264cceff00
+1fe666ff0028e666ff002e3334ffffe38000ffff90cccc1f8bfffff0ccccfffffe4c
+ccffffedcccefffffbe668ffffec800008fffffb6666ffffed666615ffffeee666ff
+ffc43333ffffd6999affffbccccdffffa83332ffffdf199a8bfffff83333fffffecc
+cefffffa1999ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b
+4ccdff00246666ff002a3333ff00284cccff002ecccdff0014199aff003b33348bff
+00334ccc08f7183ba559ffffaae666ffffdd999affffad6666ffffc8199affffc819
+9aff001be666ffffcab332ff005866661eff001466688bff0020b332ff0007999aff
+0013b334ff000c999a080ef75aff01313334ff00c5cccd15f89e0ad4fb6915f89b0a
+ff026fb33404f89c0aff006e9998ffffa0b33415f89f0afffffd6668fffe7d4ccc15
+f8a00a0ef75aff01ff3334ff00c5cccd15ffffff4cccff00138001ffffffccccff00
+3119998bff0031199a8bff0031199aff00003334ff0031199aff0000b334ff001380
+00ff00014cccb2ff00019998ff00278000ff0001199cff000880008bff00031998ff
+fffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffffc6ccccffff
+e54ccc8cfffff8999aff0002e668fffffd199aff0005cccc8708ff001d999aff000c
+4cccff000eb3328fff000c4cce8bff000ab3328bff0001999afffff06666ff0000b3
+34ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffffd24cce8bff
+ffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332ffffca1999
+fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bfffff8e666ff00
+03e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000ab8bff001e
+33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff0003e6668b
+ff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff00033333fffffe
+3334ff0035e66708fb5a16f89e0accfb6915f89b0aff026fb33404f89c0a0ef75aff
+01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404f89c0aff00058000
+ffff4cb33415fffff24cccff000c4cccfffff8e666ff000db33496ff00104cccff00
+09ccceff000c4ccc1e8bff00053334fffffe999aff00034cccfffffeb332ff000480
+00fffffeb334ff00048000fffffc3334ff0005e6668bff0005333408ff00103332ff
+000d8000ff001de668ff002f8000ff00176664ff0027b334ffffe94cccffffc1999a
+1e8bffffd66666fffff78000ffffde3334ffffd9b3346408ffffcfe666ffffd08000
+05ffffc04cceffffbefffffffff59998ffffe0cccd8bffffd9b333088bff001ab334
+ff00014ccdff0014cccc1eff0071b33406ff0014ccccff001de668fffffeb3338b1f
+ff00088000ff00228000ff00068000ff0030b333ff00009998ff00138000fffffc19
+9cff00033334fffffe1998ff00016666fffff98000fffffeb33380ffffd1cccdffff
+f4e668ffffe94ccdffffe899988b08ffff85cccc068bff001f3334ff002cccceff00
+32b333ff00033332ff0003333308ff0041b334ff003f199a05b0ff0023cccca7ff00
+1c80008bff0031666808ff00463332ffffc04cccff001c999affffcb6668ffffb7cc
+ccffffd9b334ffffcab334641e0ef75aff01363334ff00c5cccd15f89e0acffb6915
+f89b0aff026fb33404f89c0aff00761998ffff9cb33415ff001c999cff001de664ff
+ffe9e666ffffd7b3321f8bffffe03334ffffd68000ffffc76666ffffc58000fffff6
+e66608ff00033334fffff1b3340596ff00014cccff000880008bff000880008b08b0
+ff0030ccccfffff46668ffffb67fffffffa98000ffffc23334ffffe56667ffffe933
+341fffffdecccc8bfffffa4cccff00156666fffff83334ff000bb333fffff98000ff
+0009199afffff78000ff0007e6667e8b08fffff24cccfffff26668fffff3999affff
+f5999971ff00369998ffffee6667b2ff004d6668ff0044ccccff0034b333ff0055cc
+cc1f8bff0046e66859ff001a9998ffffd9b334ff0006800008ffffff4cccff00014c
+ce05ff003dccccb2ff00033334ff001de6668bff0016199a08ff001b4cccffffe74c
+ccff0029999affffbdb334ffffa08000ffffe4b334ffffc1999affffea999afffff6
+e666ff00066666fffff2e666ff000f999aff0012ccccff0006999aff00158000ff00
+0c4cccff0029999aff002cccccff000e4cceff0010e6661e0ef75aff01363334ff00
+c5cccd15f89e0acffb6915f89b0aff026fb33404f89c0aff0078ccccfffea64ccc15
+f89d0aed16ffffc9199806ffffffccd0ff004cb334ff00004cccff0062ccccff0000
+ccccff0014e668ff00014cccff00208000fffffee668ff00196664ff00011998ff00
+05199c08fffffeb334ff00014cccffffefcccc8b05fffffb80008bfffffc6668ffff
+fbb334fffffd9998fffffd1998ffffd7199affffcd999affffb44cceffff953334ff
+ffc480002e8dfffff63332ff0003ccccffffee8001ff001380008b08ff0085666606
+ffffffccceffffe03334ffffffe666ffffe6cccdffffff999afffff6b333fffffecc
+ccffffe2199affffe88000fffffe19996f89fffffc199afffffc199a8bfffff8e666
+ff0003e666fffffc199aff0014ccccff0000b333a5ff00028000ff001de6688bff00
+1999988bff0013e668fffffd8000ff0014ccccffffff4ccdff0003e668ff0003e666
+8bff0007199afffffc1998ff0003e66608ffffe03334ff0002999afffff38000ff00
+00b333fffffeccccff001e8000ffffff9998ff00096666ffffffccd0ff0019199aff
+ffffccccff001fcccd08ff002d999806ff0009199cff00000001ff0009ccccff0005
+e6668bff0007cccd08ff00068000fffffd6664ff0003ccccfffff8e6681e0ef75aff
+01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404ff004fe6668bff00
+486666ffffe06668ff0034e668ffffccb330ffffdcccccfffffc4cd0ffffde6664ff
+fffd1998ffffdf199c8b738bffffe89998ff00013334ffffe933348d08ffffe9e666
+ffff4b4ccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334
+b0ffffdd8000ffffb91999ffffc23333ffffdb9998ffffcc199a641fffffe74cce8b
+fffff7b332ff0012e666fffff6333498fffff780009680ff0009cccdfffff24ccc8b
+08fffff3b334fffff3999afffff8cccd7effffe56666ff00373332ffffe9cccdff00
+25199aff0050999aff00393334ff003bcccdff0051e666caffffd46664ff0038b334
+ffffb733341fffffe4199a8bffffe18000fffffa1998fffff44ccefffffb80000898
+f70705a3fffffd6668ff001b4cccfffffcccccff001f33348bff001380008bff0016
+1998ff00013334ff001ab334ff0002999808ff0008b334ff001fe66805bdffffcb99
+98ff001eb334448bffffb1666808ffff5d6666ffff7b4cccffff7c8000fb35ffff5d
+9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667ff0083999aff00
+a266671e0ef75aff01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404
+f89c0aff001d3332fffee64ccc15ff00188000ff00154cceff001a3334ff0001199a
+ff000d199a8b08ff003fb334ff00104cccffffb74cccffffdf8000ffffb88000ffff
+e16664ffffd9999affffe0333462ffffd1e668ff001c9999ff006f19991f8bff000f
+3334ff00019998ff00124cccff0004199aff0013800008ff0004999aff0012999a15
+ff0011199aff003bccceff00296666ff00431998ff0057ccccff0020e6688bff0007
+ccccff00014ccc91fffffaccd0ff00033334ffffbe4cccffffec8000ffffd7b332ff
+ffe49998ffffdb999affffd5ccceffffd7b334ffffd13332ffffebe666ffffc4e668
+8bffffcc999808ffff7c0001db71bdff00553332ff00226668ff00529999ff0037e6
+66ff0037e6686fff00354cccffffa799981effffeb999a8bffffdf4ccefffff88000
+ffffec4cccfffff36666080ef75aff012a3334ff00c5cccd15ffffff4cccff001380
+01ffffffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff
+0000b334ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880
+008bff00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc
+7bffffc6cccdffffe54ccc8cfffff8999aff0002e666fffffd199aff0005cccd8708
+ff001d999aff000c4cccff000eb3338fff000c4ccd8bff000ab3338bff00019999ff
+fff06666ff0000b334ffffe9e666ff0000b333ffffec8000ff00004ccdffffcf199a
+8bffffd24cce8bffffd24cccffffffb333ffffd24ccdffffff4ccdffffec8000ffff
+fe3333ffffca1999fffff6b333fffffccccdffffd2800089fffffc199afffffc199a
+8bfffff8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00
+028000ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003
+e668ff0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334
+ff00033333fffffe3334ff0035e66708dbfb6915f89b0aff026fb33404ff0050cccc
+8bd4ffffdfccccff00351998ffffcb999cfffff6999cfffffdccccfffff43334ffff
+fe4cccffffef4ccc8b08fb1a06ffffe9e6668bff00016666ff00068000fffff44ccc
+ff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0ccccfffff8e666
+64fffffaccceffffde3334ff00071998898bffffff1998ff00073334ff0000e668ff
+000e4cccbfff0015666896ff0014cccc8b08ff00834ccc06ffffcd4cccffff81e666
+ffffc6199cffff7accccffffd3ccccffff9d333408ff00054cccfffffb6666b28d05
+ff0024199aff006bb333ff0025e666ff00693333ff00453334ff00a96666ff002b99
+9858ff001a4cd0ffffbdb3348bffffb7333408ffff5d6666ffff7b4cccffff7c8000
+fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667ff00
+83999aff00a266671e0ef75af883f87b15b4a06b6e1f8b6a646d7a7f0879970564a4
+81a18b9e08a8a3a8b01eee4d15b768ac4f4c60665b1e8b699e72b072089585057c7f
+7e817b7d7275816f8b72084cb869ccdbb1c7bb1e8bae7ba76ca00865a505a69db7aa
+8bb20824fbb4156f5da4c11f8b9e98b6bfae08a97a05b2739b6e8b6e084d5b7c6f1e
+ffff4b3334ff003ccccd15f89e0acffb6915f89b0aff026fb33404f89c0a0ef75aff
+017a3334fffff0cccd15f89b0aff026fb33404f89c0a47fffe654ccc15f89e0aff01
+0d8000ff0076cccd15ffffe78000ffffeab332ffffe5e664fffffecccefffff2e668
+8b08ffffc04cccffffefb334ff0048ccccff00208000ff00478000ff001e8000ff00
+264cceff001fe666ff0028e666ff002e3334ffffe38000ffff90cccc1f8bfffff0cc
+ccfffffe4cccffffedcccefffffbe668ffffec800008fffffb6664ffffed666615ff
+ffeee668ffffc43333ffffd69998ffffbccccdffffa83334ffffdf199a8bfffff833
+33fffffecccefffffa1999ff00053332fffffccccdff0041b334ff00138000ff0028
+3334ff001b4ccdff00246664ff002a3333ff00284cd0ff002ecccdff00141998ff00
+3b33348bff00334ccc08f7183ba559ffffaae666ffffdd999affffad6666ffffc819
+9affffc8199aff001be666ffffcab332ff005866661eff001466688bff0020b334ff
+0007999aff0013b330ff000c999a080ef75aff017a3334fffff0cccd15f89b0aff02
+6fb33404f89c0aff00839998ffffa0b33415f89f0afffffd6668fffe7d4ccc15f8a0
+0afffea08000ff0130b33415fffffffffffffff24cccff000c4ccdfffff8e666ff00
+0db3338b968bff00104ccdff0009ccce8bff000c4ccc8bff00053334fffffe999aff
+00034cccfffffeb333ff00048000fffffeb333ff00048000fffffc3333ff0005e666
+8bff0005333408ff00103332ff000d8000ff001de668ff002f8001ff00176666ff00
+27b332ffffe94cccffffc1999a1e8bffffd66666fffff78000ffffde3334ffffd9b3
+346408ffffcfe666ffffd0800005ffffc04ccdffffbefffffffff5999affffe0cccd
+8bffffd9b333088bff001ab333ff00014ccdff0014cccd1eff0071b33306ff0014cc
+ccff001de668fffffeb3338b1fff00088000ff00228000ff00068000ff0030b333ff
+00009998ff00138000fffffc199aff00033334fffffe199aff00016666fffff98000
+fffffeb33380ffffd1cccdfffff4e666ffffe94ccdffffe8999a8b08ffff85cccd06
+ff00000001ff001f3334ff002ccccdff0032b333ff00033333ff0003333308ff0041
+b333ff003f199a05b0ff0023cccca7ff001c80008bff0031666808ff00463332ffff
+c04cccff001c999affffcb6668ffffb7ccccffffd9b333ffffcab334641e0ef7aff8
+6cf70115f8a10afffe60b334ff00a2cccc15f8a20aff02cd99988915f8a30a0ef7af
+f78bf86815f8a40affff3bb333ffff3bcccc15f8a20aff02cf99988915f8a30a0ef7
+aff834f8dd15f8a50afffe9ab334fffec6cccc15f8a20aff02ce99988915f8a30a0e
+f7afff01d56666f76515ffff2e999a06ff00334cccff00523334ff0057b334ff0080
+9998d0ff005e3334ff00014cccffffdfccccff00008000ffff663334ffffff999afb
+0b08ff0096999a16ffffab999806ffffff999cf70aff00008000ff0097e666ff0001
+4cccff0020199a8dbdfffffe4cccff00273334ff0001b334ff0007cccc08898d728b
+05848bfffffab334fffff98000fffffc4cccfffffb80004cffffb28000ffff8b8000
+ffff5b8000ffffa48000fb238e7c9170a98b08ff00cd333406ffffffcccc5affffff
+999affffd96666ffffff6666fffff1999afffffe33345dffffdbcccc88608885858b
+809185ab8cb38fb98bff002766688bff001e999887ab8a91918b968591085a8fffff
+ece6688cfffffe1998baffffff6668ff000e6666ffffff9998ff0026b334ffffffcc
+ccff0030e66608ff0046333406999a9497958791801ffffdd6b334ff003ecccc15f8
+a20aff02d099988915f8a30a0ef7aff8a4f75115350afffe2ab334ff0052cccc15f8
+a20aff02d699988915f8a30a0ef7afff0039b333ff010fcccc15f8a20aff02cf9998
+8915f8a30afffe3b999aff0028999a15360aff0007199aff001c999a15ff001a4ccc
+e7ff003f999aff00676668ff0087199aff003299988b978d948390266d4d61534a4d
+436c308b3c08fb5ff70f63d8f717c0f713e1e160ddfb1c1effffe0999a8bffffcdb3
+32fffff46666ffffe1b334ffffec999a080ef7aff7fcf8b515f8a60afffec5b334ff
+feeecccc15f8a20aff02f699988915f8a30a0ef7aff83ff8be15c9ab595f1f8b5850
+5d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2a4a51421e8b56
+a765c465089c8005737a777a737664697c608b66082acf56eff710c6e8d31e8bc271
+b65bab0851b305b5a7d0ba8bc808fb34fc4f156046b0e01f8ba79dcddcc208b87005
+c767a55e8b5e082c4074601efffe9db334ff00ffcccc15f8a20aff02cf99988915f8
+a30a0ef7afff003bb333ff010fcccc15f8a20aff02d799988915f8a30affff17cccc
+ff0012ccce15ffffda4cd0ffffdf4cccffffd7b332fffffe199affffebe6668b0829
+72f704bdf702bac6bccad25ffb3f1f8bffffe8999afffffd80006ffffff999986d08
+fffff8e668ffffe3666615400a0ef936f9aef8dd15f8a70a87fce7152c0afbd7f70b
+15f8a10afffe6db334ff00a2cccc15f8a20aff044b99a08915f8a80a0ef936f9daf7
+01158aa9ffffff8000ff004b80008bff004b80008bff004b8000ff00008000ff004b
+80008ca98dc7ff00024cccc8ff0001b334988bff0004ccccfffffd8000ff00003334
+fffffc80008bffffc8b334ffffddb334ffffce4cccffffe74ccc3362ff00019998ff
+fff4999aff00046668fffffb800094fffff9e66608ff002d80009eff00168000919e
+8bff001080008bff0002666873ff00011998698c6dff00008000ffffb4b3348bffff
+b9cccc8bffffb9cccdffffff8000ffffb9b3338a6dfffffd333438fffff1cccc8645
+8885858b80918508bc8cff001bcccc8fff003133348bff002e80008bff0016800087
+bd8a91918b968591458efffff1cccc90fffffd3334de08fbf516f8a10afffe61b334
+ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f90ff86815f8a40afb2afbfb
+15f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f9bcf8
+dd15f8a50afbd7fc7015f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915
+f8a80a0ef936ff03416668f76515ffff2e999806ff00334cccff00523334ff0057b3
+34ff00809998d0ff005e3334ff00014cccffffdfccccff00008000ffff663334ffff
+ff999cfb0b08ff0096999816ffffab999806ffffff999cf70aff00008000ff0097e6
+66ff00014cccff0020199a8dbdfffffe4cccff00273334ff0001b334ff0007cccc08
+898d728b05848bfffffab334fffff98000fffffc4cccfffffb80004cffffb28000ff
+ff8b8000ffff5b8000ffffa48000fb238e7c9170a98b08ff00cd333406ffffffcccc
+5affffff9998ffffd96666ffffff6668fffff1999afffffe33345dffffdbcccc8860
+8885858b809185ab8cb38fb98bff002766688bff001e999887ab8a91918b96859108
+5a8fffffece6688cfffffe1998baffffff6668ff000e6666ffffff9998ff0026b334
+ffffffccccff0030e66608ff0046333406999a9497958791801ffc872715f8a10aff
+fe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936fa27f75115350afc
+413b15f8a10afffe60b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f8
+79f70115f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80afffe20
+9998ff0028999a15ff0025b330ff0020b334ff00284cd0ff0001e666ff001419988b
+08eda4fb0459fb025c505a4c44b7f73f1f8bff00176666ff00028000a7ff00066668
+a908ff00071998ff001c999a15ff001a4ccce7ff003f999cff00676668ff00871998
+ff003299988b978d948390266d4d61534a4d436c308b3c08fb5ff70f63d8f717c0f7
+13e1e160ddfb1c1effffe099988bffffcdb334fffff46666ffffe1b334ffffec999a
+080ef936f959f8b515f75e063dfb5632fb6147fb2c089384c78e05c4f73ec7f73af7
+04f7a5087b97057a867585658b08fb6206698b8d95798f888b8a8b8b888a5b804f83
+57ff000ae668fffffce666ff00001998fffffeccce96ff00014ccca1dbac9cab8b08
+fb7efc4815f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef9
+36f9abf8be15c9ac595f1f8b584f5d7178086f9e054fb27cad8ba808b7b0b8c41ef7
+2d2c15cf54be2e2b4951421e8b56a765c565089b8005737a777a737664697c608b66
+082ad056eff70fc6e8d31e8bc271b65cab0850b305b5a7d0ba8bc808fb33fc4f155f
+46b0e01f8ba79dcddcc208b87005c767a55e8b5e082c4174601efbc0e815f8a10aff
+fe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f874f70115f8a10a
+fffe61b334ff00a2cccc15f8a20aff044799a08915f8a80affff12ccc8ff0012ccce
+15ffffda4cd0ffffdf4cccffffd7b330fffffe199affffebe6688b082972f704bdf7
+02bac6bccad25ffb3f1f8bffffe8999afffffd80006ffffff999986d08fffff8e668
+ffffe3666615ffffe5b3342fffffc06664ffff98999affff78e668ffffcd66668b7f
+89829386f0a9c9b5c3ccc9d3aae68bda08f75ffb0fb33efb1756fb133535b639f71c
+1eff001f66688bff00324cccff000b999aff001e4cccff00136666080ef936f9d7f8
+dd15f8a70a87fce7152c0afcd0f87215f8a40affff41b333ffff3bcccc15f8a20aff
+044799a08915f8a80a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff01
+7a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd
+15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb3
+3404f89c0a0ef75af7d9ea157a8b8a938a928a98819f788b087d8180786fad7fb11f
+a18ba2979c9ca8a79cbb8bda08f763079b9394a51e95068e8d8c8e1f8b9c898d058b
+528974734b8d8b1e8a898b7a05888d8a8e1ea106a49584791ffb6f07fb0d766e711e
+ff00353334ffff91cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff02
+6fb33404f89c0a0ef75af87ef840158791fb928b1e7887857a1e7a06888989881f8b
+7a8c89058bc18da21eff001519988bff00253334fffffe8000ff0008ccccffffff99
+9a55ffffc2e666ffffb13334ffffd9999affffa8e6688bffffa833328bffffb1999a
+ff00266666ffffca999aff003d199a92ff00006666ff001c4cccff00018000ff0013
+199a8b08a3b1898b1f8c8d8b9c058e878d896b858da91e88f789f711fbbd058d878f
+898f8b8f8b8e8c8d9008ff00053334ffff73cccd15f89b0aff026fb33404ff00a266
+64ff00834cd0ffff7dccccffff5d66681f8bffffb77fffffffe59998ffffbdb333ff
+ffd48000ffffccb33408ff000e6666078e878d881e6f8b7c8c8aab0884f79f059e8c
+90b2908d8d901e8b99898d2789fb01fbb1fb09f7b1238d89898b7a05898d898faa96
+887b1efba1076d7f856c888889881efffff0333307ffffd43333ff00336666ffffe5
+b333ff0042e6668bff0049333408ff00a13332ff0081e667ff0083999aff00a26667
+1e0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75af85ef732157c807e8579849a74a969b78b9e8b9b
+919e980882970584878289828b648b87a677a808ffffb03334ffff52cccd15f89b0a
+ff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75af835f82915859e89927c8b798b85797f5c085dfb4d48f79205998c96
+9d1e93068d8f8c8f1f8b9b8a8d058b56896b1effffec80008bffffe53333ff000180
+00fffff86667ff00006666ff00349999ff004bccceff00579999ff0031ccccff0063
+e6688bff00644ccc8bff00586668ffffce6668c0ffffb3b332fffff4b330ffffffb3
+32fffff0b334ffffffb334fffff4b3348b08715c8c8b1f8a898b7a05898d898e1e9c
+069c8c807b1f4ffb9205ffff923334ffff3dcccd15f89b0aff00ff4cccff01dc4ccc
+15ff00188000ffffd54cccff000de668ffffce4cce8b5608ffff5d6666ffff7b4ccc
+ffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999a1e8bff003c1998
+ff0012199aff0037e668aaff002e999808fffff2b33407888e89901e92069d8b987b
+8f7c08dcfbba058d8294759a8ba08b939c8f9a08b9f751058e948d908e8b8e8b8f85
+8d8108bffb4f058e809476a38ba08b95a18e9508d4f7bd0591a1a0909e8b8b8bff00
+0280008b8dff0001199a080ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff01
+7a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef759fffff0cccdff0024cccc
+ff00986667abf772a4ff009b8000ff0024cccc01ff00313333ff0024b333ff00b119
+9abff701c1ff00c1e668ff0024b33003f83cf7d215a60ab6fb24159e8b9e979495ff
+0000999893fffffcb334ff00054ccdfffff8b334ff0002b33388888689878b088286
+9bb41fd607e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92
+089ba096aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e7999
+76a48b08ffffa73334ffff42cccd15ff00b63334ff00000001ff00943330ff009480
+008bff00b6666708ff00b66666ffff6bccd0ff00933332ffff49ccccffff49ccccff
+ff6d3333ffff6cccceffff49999affff499999ff0092cccdffff6b8000ff00b63334
+1eff026fb33404f89c0a0ef75af7bef84a15f8040abc4215f8050aff001f3334ffff
+04cccd15f89b0aff026fb33404f89c0a0ef75af813f84915f81e0afffffb3334fffe
+3bcccc15f89b0aff026fb33404f89c0a0ef75af82cf76415f8060abcfb1215f77407
+b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f62
+077c997392718b083e663d4b3ebb59cd1fa38ba1989e9b088d8b896a9b8b05ff000c
+4cccff0007b333aa95ff0027b334ff00074ccd08899d6c8e057d8c888d8bac08ffff
+b13334ffff0acccd15f89b0aff026fb33404f89c0a0ef75af819f75615f8090ab1f7
+3015f80a0affffcf3334fffe92cccc15f89b0aff026fb33404f89c0a0ef75af7c9f7
+4c158b79fffffaccccfffff98000ffffeb3334fffffc8000087f890588ffffff8000
+89ffffff80008b87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000
+cccd89ff0000333308768d05ffffecccccff0001cccdfffff93334ff000833338b9d
+08f72cc60791938d911f9d078d898c881e479506eaa3969f1e9d8b95849377908095
+83978b978b96968b978b9684967e947c967b91748b0857565e2b1f6c06808884861f
+7d07898b8a8e1eb506ff00453334fffea0cccc15f89b0aff026fb33404f89c0a0ef7
+5af88af84f1597969599977e98721f758b79827b79829178946e8b578b56698b528b
+6a9c789c7b7b7c7d728b768b759b7b9a84086c7777748b710855c07db8dae2a7ce1e
+8b9f829a7a9a73a1628f758b818b7c897d8a828a848a888b7a8b78908ba58b988d96
+92950899839d87a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e858d
+849186958b08fb4ffb7d1591889588928b928b948c948b938c928b908ba98b9f859c
+82a47f93858b7b085e4d875676568fb91e8ba08d989e9d08f704f743154d6f87755a
+82b7abbb9d9aabb0a074591effffcf3334fffe6fcccc15f89b0aff026fb33404f89c
+0a0ef75af7e1f85715b58da58b1e90898d851e7b845d837189088c7905898d8a8d1e
+a08a05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f
+79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8
+e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cc
+ccfffffbb333ffffed3334fffffe4ccd08808a05878a88891f79078bb38ca4a3b18a
+8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b333
+8b9e08f71007ce6da45e1e678b68687d7b08ff002d3334fffe81cccc15f89b0aff02
+6fb33404f89c0a0ef75af810f88c157b7e7e7b7b987e9b9b98989b9b7e987b1fa6fb
+bf15f71c07a68da68b1e90898d851e7b845c8371898a838c848f85ab8996908b5608
+fb01078b627e88638986838c7c8f85a98c968bae8ba98b9b8ba98a8f928b99879369
+8d7a8e8bb408ffffe33334ffff23cccd15f89b0aff026fb33404f89c0a0ef75af827
+f8a41578807e7b7c987e9c9c98989a99839a751f76fb5215fb1f072e82686e1e868b
+878f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f7
+2607a68da68b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598918461
+1ffffffc3334fffe9ecccc15f89b0aff026fb33404f89c0a0ef75af7aef83f15fb80
+078b76ffffff4ccc88ffffe7b3348808838a0587ffffff80008bfffffd80008b8908
+79078bff002533348cff0017ccccff0018999aff002666668a8b1e9d078b8f88ff00
+00cccd89ff0000333308838c05ffffeeb334ff00023333fffff84cccff00044ccd8b
+ff0014800008ff004f666607ff0001ccccff00006666ff0001999aff00003334ff00
+01999a8b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b
+1e8d8d8b9b058b8e87ff0001999a87ff00006666ffffdf80008effffee8000a28495
+084ce805898d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093ff001880008e
+8dff000033348fff0001cccc8b8e088b9c898c058b638a73756d8c8b1e8a8a8b7a05
+8b898dfffffd4ccc8effffffb334ab887b7a8383ffffdf8000ffffdb3334ffffeb33
+34fffff08000ffffe54cccfffff4199808ff0094333407b58da58b1e90898d851e7b
+845d837189088c7905898d8a8d1ea08a05989184611fff00603334fffe45cccc15f8
+9b0aff026fb33404f89c0a0ef75af7f6f77115f7790aff00183334fffe40cccc15f8
+9b0aff026fb33404f89c0a0ef75af78df82615ff001b33348dff0010cccc8b1e9089
+8d851e7b845d837189088c7905898d8a8d1ea08a05989184611ffb1a078b768affff
+fd666673fffffc999a08848a0586ffffff4ccd8bfffffdb3338b890879078bff0025
+33338cff0017cccdff0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccd89ff00
+00333308808c05fffff08000ff00016666fffff68000ff0003999a8ba108f723079e
+a2a0a1a08b08aa9f7a581ffb0c078bffffe94ccdfffffa999afffffd9999ffffeb66
+66fffffe199a08808a0588ffffffb3338afffffd4ccd8b890879078bb28ca4ff0018
+3334ff0025cccc8a8b1e9d078b8dffffffe666ff00023333fffffb199aff0000cccd
+08858c0578ff0003333384ff000280008bff00154ccd08f716078b91ffffffccccff
+0005b334ffffff8000ff00054cccff0012199aff00158000ff0013ccceff00138000
+ff0013cccc8b08a99f7a581ffb0c078b7485fffffdb33378fffffe4ccd08808a0587
+ffffff999a8afffffd66668b890879078bff002799988cff00196668ff00183334ff
+0025cccc8a8b1e9d078b8dfffffee668ff00024ccdfffffc1998ff0000b33308858c
+05ffffed1998ff0003199afffff8e668ff000133338bff0016b33308f71607ce6da4
+5e1effffdc4ccc8bffffdc6668ffffdd999afffff1b332ffffeeccccfffff6199aff
+0024e666ffffe6b334ff000eb334ffffdccccc8b678b6a687d7a08ff007f3334fffe
+5fcccc15f89b0aff026fb33404f89c0a0ef75af84cf789158b628988698987838b7d
+8f84a98c928ba38bff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb4
+08f407ce6ea45d1effffdc199a8b68ffffdd199a7d7aff00006666ff0017b332ff00
+018000ff001533348b8b8b90898d858b7b845c8371898a838c848f85ff00206666ff
+fffe8000ff000a999aff0004b3348bffffcacccc08fb01078b628388638986838c7c
+8f85a98cff0005b3348bff00234ccc8ba38b938ba98a8f928b998793698d888e8bb4
+08f70a079ea2a0a1a08b08aa9f7a581fffffc23334fffe9ccccc15f89b0aff026fb3
+3404f89c0a0ef75af80cf84f15f87a0ad1fb3615f8820affffbc3334fffed7cccc15
+f89b0aff026fb33404f89c0a0ef75af7bef81d15fb98078b77fffffd999afffffc33
+33ffffe96666fffffccccd08848a0587ffffff66668afffffe999a8b890878078bb0
+8ca3a5b38a8b1e9d078b8f89ff0000b33388ff00004ccd08808c05fffff1199aff00
+016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08ccc1c7d5cf63c7511f
+6e8bffffe380006ffffff080007908898c05ff001b33348dff0010cccc8b1e90898d
+851e7b845d837189088c7905898d8a8d1ea08a05989184611fbc3215ed0798ff0012
+8000a4ff00178000a48b08a7a767422e628874756a98bf1fff001f3334fffec0cccc
+15f89b0aff026fb33404f89c0a0ef75af82ef79d15f8a90aa9ca15f8aa0affffc233
+34fffe19cccc15f89b0aff026fb33404f89c0a0ef75af809f80e15898c05ff001b33
+348dff0017cccc8b1e90898d851e7b845d837189088c7905898d8a8d1ea08a059891
+84611ffb1b078b78fffffe199afffffb4ccdffffe8e666fffffeb33308798a05868a
+89881f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffece666ff0001199a
+fffff9199aff0003e6668b9f08f712078b938f948f909ba29a97928b8f8b90898f87
+91849387978b089d96949c9d8198701f6c8b70697a7208ff00053334fffe76cccc15
+f89b0aff026fb33404f89c0a0ef75af7aaf79b158e6b8d6b8b73918c958c8e8b9f8b
+a17da98bad8bcd9b8bc88bbd5d9e58a0699981948ba308a6a098a41e9e8bad819951
+08a28c82d605809264956c8b5a8b5e6b8b618b5eaa7bb978bd7693778b768b707380
+738b748b78978491087b9b85a68a9908ff004e3334fffee9cccc15f89b0aff026fb3
+3404f89c0a0ef75af810f80215c60690948d901f9d078d898d881e47ea06657e8b80
+055c817362898b8a891e7307898c8b8d1eb3fb4b065fa07aa81ea78ba293a5a6087b
+9c057b7f81867b8b087a879db11ffffffe3334ffff1bcccd15f89b0aff026fb33404
+f89c0a0ef75af872f786158bf7528a8c058b7d8a82ffffe64cccffffd7b3348c8b1e
+8a8a8b7a05878e8a8e1e95069c9487751ffb380778757588768b086d779bbe1f8bf7
+3e8a8c058bfffff2999a8afffff76666ffffe7ccccffffda33348c8b1e8a8a8b7a05
+898c888f1e92069e8a918a8b7308fb180748a972b81eb08bae9b999c088d8b896a9b
+8b05ff000c4cccff0007b333aa95ff0027b334ff00074ccd08899d6c8e057d8c888d
+8bac08ffff9c3334fffefecccc15f89b0aff026fb33404f89c0a0ef75af7f1f73115
+f81d0aff006e3334fffe8ecccc15f89b0aff026fb33404f89c0a0ef75af7b6f81915
+f76e0aff00583334fffe6bcccc15f89b0aff026fb33404f89c0a0ef75aff01c63334
+f80515a7ff0023e666ff0004b332ff00044cceff001c199aff0001cccc8f8f8b9987
+8f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3334fffff7ccccfffff2
+ccccffffed3334088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a
+738b748b818c798c87878b7d8f87ff001c199afffffe3334ff0001199afffffd9998
+ff001a9998ffffda333408ff003833343b058888ffffcecccc518b8bffffe1999aff
+ffdc8000fffffdb334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928c
+a28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97
+788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e6
+66ff0001cccdfffff9999aff0002e666ffffe5b334ff00254ccd08ffffcbccccd505
+ffffe83334fffec2cccc15f89b0aff026fb33404f89c0a0ef75af7fff845158b9b8a
+8d058b59896e786f8d8b1e89898b7b05888e898f1ea68b8f81967108d6fb4205917e
+907a8b868b85898588837c65847b838b858b869086918690868e818b088178827974
+ab81961fb78b94a19eb7bef70da6ccacd1949d979fa38b088f8d8d8e1f8b9b8a8d05
+8b71897a74628d8b1e8a898b7b05898d888e1e8e069a9689811f8b888a8489860846
+fb2d49f730058a8f8a918b8e0892928f9d8e8f8d8e1eff000f3334fffe3fcccc15f8
+9b0aff026fb33404f89c0a0ef75af7c8f84315f81f0affffd03334fffe41cccc15f8
+9b0aff026fb33404f89c0a0ef75aff0181ccccff0201333415968bff000a6668ffff
+fc1998ff0007ccccfffff8e668ff00143334ffffef1998ff00158000ffffc8199a8b
+ffffa8e6668bffffc4333489ffffd08000fffff6e666ffffdee666fffff1b332ffff
+cab334ffffdc3334fffffa3333fffff44ccc8b08ffffc8b334fffff08000ff0075b3
+33ff00388000ff009fe666ff002b999aff00244cceff001d33321ffffffd6668fffe
+7d4ccc15bdff004c1998ff0032b333ff0098cccd1f8bff00404cccfffff06668ff00
+36999affffe36666ff0025b334ffffebe666ff001ab332ffffebccccff0010333464
+8b08ffffbfb334ffffc2ccccffffb34cccffff7f4cceffff96b333ff00316668ffff
+a3b333ff004980001f86ffff724ccd15f89b0aff026fb33404f89c0a0ef75af80ef9
+1a15f8ab0ad3fb7d157e8b6d827d840881a605ba9ca597b7a6089bfb990675967c99
+1ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8e1eaf069b999aa11ff7
+2c07ab89957f1efb6a16f8ac0a0ef75af80ef91a15f8ab0aa7fba2157f7d9698a6a7
+bedabdc5774c1f8b5d6a695363616d736e8b6d08dc06aa8b9bb196a808a38505826d
+8468886e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68987960807c7d1e8b839083
+8b83087b7983811efb47b015f8ad0a0ef75af80ef91a15f8ab0af722fb7d15aa7694
+771e778b69818a728a7f897a748b0878879a8e9ca8c0e2bfac75661f8b6e75746e7b
+ac88ba708b510846495d3b66579ba0959895961e998b9184918493819583ab8b089e
+c498d0c45592731f848b868a838a0889a305b791a9a58bb408fbbf167e8b6e827c84
+0881a605ba9ca697b6a6089bfb990675977c981ea7068e8e8a871f76078b568c6a65
+4f8a8b1ea0078d8f8e8f1eae069c989aa11ff72c07ab89957f1e0ef75af80ef91a15
+f8ab0af72cfb911522c1078968578b8b5a05788f859d1e9b068f8c88891f77078b60
+8c7073668a8b1ea0078c8c8e8f1e99069d908ea01fbdfb2407879705b8cdcfebb4c3
+08a982055e455039746908e6d7068b9290938d8e92949797928b08909389831ffbba
+9f15f8ac0a0ef75af80ef91a15f8ab0af72efc2015a888c6431e768b76857c830886
+8fa0f722f72d8b866a8b8afb118b7f3a059490a4909a8b08d8af5755505b5545694f
+99a3979794951f998b9284938394829681a18b08b89cb0b51ffbc5f73715f8ad0a0e
+f75af80ef91a15f8ab0af730fc2615a186c2521e7d8b7685757a08780737b274a7b7
+93aeb01ec39015676f4a3b5a43a8f31e8bddc5f2f72d97087707fb01786849805099
+9aa69ba48b08ec953c7a1ffbf6f73815f8ac0a0ef75af80ef91a15f8ab0acafb6715
+708b8384805b08758e0590a792b38ca6089d0686908a9b1ef74206563052fb0e6c22
+086906aef703c3f710a5b908fbc17515f8ac0a0ef75af80ef91a15f8ab0af3fb5315
+6e747d6e1f8b7b9375af77089f80059b95a2a68ba908a67c9d671eea5e15f8ae0a25
+29157b8263638b69085fb47ba2b0a89cb41e8ba486a4639f08fba0f70815f8ac0a0e
+f75af80ef91a15f8ab0ac7fb9d15758f54c41e998ba191a19c089e07df64a26e5f84
+68661e538615afa7ccdabdd56e231e8b394f24fb2e7f089f07f7029eadcd97c67c7c
+707b728b082b81da9c1ffb28b0157f8b6d827c840882a605ba9ca597b6a6089bfb99
+0675977c991ea7068d8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf069b
+999aa11ff72c07ab89957e1e0ef75af80ef91a15f8ab0af710fb56154c8a2d565393
+3dc1c691d8d8c17cd45b1f88fbc5154658dae0e8c2d4cfc5cb62fb0dfb0b495a501f
+fbe7f779157e7e9698a6a7bedabdc5774c1f8b5d69695463616d736e8b6d08db06ab
+8b9bb196a808a28505836d8468886e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68
+987960807c7d1e8b8390838b83087b7883821e0ef76cff019fb334ff00e3cccd15ff
+ffff6666ff0011999affffffb332ff002c199a8bff002c33348bff002c3332ff0000
+4cceff002c199aff0000999aff00118000ff00013332ff0023199aff00014cceff00
+23b3328cff0007999c8bff0002ccccfffffe8000ff00001998898bffffdf9998ffff
+ebe6686efffff19998ffffcc800073ff0000e668fffff94cceff0002b332fffffd80
+00ff00053334fffffc666608ff001a999aff000b199aff000d3332ff00038000ff00
+0b199a8bff0009b3348bff00014ccc7dff0000b334ffffec199aff00009998ffffee
+8000ff00004cceffffd3e6668bffffd6e6668bffffd6e666ffffffb33262ffffff66
+68ffffee6667fffffe6666ffffcf8000fffff7b3328862fffffe3333fffffc8000ff
+fffc80008bfffff9999aff00038000fffffc800008ff001cb334ff00009999ff0010
+3334ff00024ccdff001ccccc8bff001b33348bff000d3332fffffdb333ff001d3334
+ffffff6667ff00038000ff000380008bff00066666fffffc8000ff0003800062ff00
+01cccdfffff7b3328efffffe6668ff0030800008ffffe3b332ffff0d333315f8af0a
+ff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76eff0122b3
+34ff01b4cccc15fffff3b334ff000b1998fffff9999aff000c4cceff0009e666ff00
+0eb334ff0008ccccff000b199a1e8bff0004b334fffffeccccff0002e666fffffecc
+ccff0004199afffffeccceff00041998fffffc8000ff000533348bff0004b33408ff
+000e9998ff000c4cccff001ae668ff002ab334ff0015199aff0023b332ffffeb9998
+ffffc7ccce1e8bffffda999afffff84cceffffe18000ffffdd8000ffffdce66608ff
+ffd4ccccffffd54ccc05ffffc6b334ffffc58000fffff69998ffffe3e6678bffffdd
+8000088ba3ff00013333ff0012b3341eff00664ccc06ff0012b334a6fffffecccd8b
+1fff0007999aaaff0005ccccb7ff0000999aff00118000fffffc8000ff0002e667ff
+fffe3334ff00013332fffffa3332fffffecccefffff6199affffd67ffffffff6199a
+ffffeb8000ffffeae6668b08fb02068bff001c1999ff00286666ff002d9999ff0002
+e666ff0002e66608c6ff0038ccce05ff00214cceff00203332ff00193332ff001999
+9a8bff002c800008ff003f3334ffffc6b334ff0019b332ffffd0999affffbf199aff
+ffdd8000ffffd0199affffdce6661eff0060b332fffe3c333415f8af0aff0296e668
+04f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff0183199aff01fc33
+3415ff0019b332a6ffffec3332ffffdbb3341f8bffffe34cccffffda999affffcd19
+9affffcb4ccefffff7cccc08ff0002e666fffff3199a05ff0009e666ff00013334ff
+0007b3348bff000799988b08ff00214cceff002be666fffff58000ffffbde666ffff
+b23333ffffc8666673ffffeb80001fffffe233348bfffffab332ff00134ccd84ff00
+0a8000fffffa3334ff00083333fffff8666692fffff44cce8b08fffff3b332fffff3
+b33480fffff6999affffe89999ff0031199afffff03334ff00231998ff0045999ac9
+ff002f6666ff004d33341f8bff003fcccc5ea3ffffdd8000ff0005cccc08ffffff66
+66ff0001199a05ff0037999aff0023199aff0002e666ff001ae6668bff0013e66608
+ff0018999affffe9ccceff00256666ffffc44ccc35ffffe76666ffffc7e668ffffec
+b332fffff7ccceff0005e668fffff44ccc999cff0005ccccff00134cccff000b199a
+ff00256666ff00286666ff000ce668ff000f33341eff00004cccfffdf4cccc15f8af
+0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff0191
+4cccff011e4ccc15ffff85999a06a9ff0030199aff00334cceff004b3334ff00284c
+ccff0037199aff0000ccccffffed3332ff0000333431ffffffccccffffba666608ff
+0058333416ffffce999a06ffffffccccd0ff00003334ff0058ccceff0000ccccff00
+12ccccff00013334ff001d33348aff0016fffe8cff0004999c08fffffeccccff0001
+1998fffff166668b05fffffbe6688bfffffce666fffffc3334fffffdccccfffffd66
+68ffffdb199affffd2b332ffffbbe666ffff9fccccffffca8000ffffac4cceff0001
+cccefffff73332ff00036666fffff03334ff0011999a8b08ff0078199806ffffffe6
+68ffffe34cccffffff9998ffffe98000ffffffb334fffff7999afffffee666ffffe5
+199a76fffffe3333ffffe6cccefffffe3333fffffc8000fffffc80008bfffff9999a
+ff00038000fffffc8000ff0012b332ff00009999ff00176666ff00024ccdff001ae6
+688ba28bff0011e666fffffdb333ff0012b332ffffff6667ff00038000ff00038000
+8bff00066666fffffc8000ff0003800008ffffe34cceff00024ccdfffff4e666ff00
+00b333fffffee666ff001b8000ffffffb334ff00086666ffffffb332ff0016999aff
+ffffe668ff001c999a08ff0029199806ff00083334ff0008b334ff00054ccc92ff00
+05cccefffffdb332ff00039998fffff9999a1fffff99e666fffed2b33415f8af0aff
+0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff01c4199a
+ff0113999a15ffffc86666ffffdf4cccffffd13333ffffdce6661effffe9ccce8bff
+fff866669cfffff73334ff000bb333fffff86666ff0009e66781ff0008cccdfffff3
+b3328b08fffff4e668fffff4e666fffff98000fffff44ccc73ff0031ccccffffec33
+34ff00214cceff00488000ff00338000ff0035ccccff0049b334ff0038b332ffffd8
+ccccff0032e668ffffbe80001fffffe6cccc8bffffe48000fffffaccccfffff58000
+fffffbe66608ff000bb334ff0067800005ff0015999afffffdb334ff0018999affff
+fd199aff001c19988bff001180008bff0013e668ff00013332a3ff00024cce08ff00
+096666ff0021e664fffffbe666ff00024cd005ffffdeb334fffffc8000ffffe04ccc
+fffffd19986c8bffffea66668bffffeae666ff00011998ffffeb8000ff0001ccd008
+ffffec3334ffff5d666405aaff000bb334ff00163334ff00024cccff001519988b08
+b1ff00214cceffffe1199affffc033341fffffbf4cccfffedd666615f8af0aff0296
+e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff018366667c15
+f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20affffbc99
+9affff114cce15a1ff0013199aff0017999aff00011998ff000bcccc8b08ff00394c
+ceff000e9998ffffbe8000ffffe2ccceffffbfb333ffffe4999affffdd6666ffffe3
+4cceffffdb1998ffffd68000ff0019cccdef1f8bff000db334ff00018000ff00104c
+ccff0003b334ff0011999a08ff0004199aff0010b33215ff000f6666ff0035ccceff
+00254cccff003c8000daff001d999a8b92ff00013334ff00054cccfffffb4cccff00
+02e668ffffc4e668ffffee7ffeffffdbb332ffffe76666ffffdf333465ffffdbb332
+ffffd5e668ffffede668ffffcab3328bffffd1ccce08ffff893332d3ffffe8b334b8
+ff004c9998ff001f199aff004a4cccff00324cceff00324cccffffe6e666bbffffb0
+66681effffed99988bffffe28000fffff93334ffffee4ccefffff49998080ef76cff
+016a999aff01e4cccc15ff0076333206ffffd26668ffff8e8000ffffcbe666ffff88
+199affffd83332ffffa7199a08ff0004b334fffffbe666ff0023199aff0001cccd05
+ff00214cccff00636666ff0023199aff0061199aff00418000ff009fb33408fffff6
+b3349205fffff61998fffffd19987efffffc8000ffffe9ccce8b08ffff87800006ff
+ffec199a8bff00013332ff0005e668fffff58000ff00024cccfffffe33348bffffff
+66668b8bfffffe3334ffffff6666ffffe3e664fffff9999affffdce668fffffb4ccc
+ffffe19998ff00066668fffffe3334ff00001998ffffff4cccff00066668ff0000cc
+ceff000ce666ff002eccccff00134cccff0009e666ff0012b3348b08ff0018ccccff
+fe0c333415f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b2
+0a0ef76cf818f87e15af9e6e711f8b6d68717c80087a950568a2839f8b9c08a5a0a5
+ad1ee45415b36ba855526569611e8b6b9b76ad74089485057d8080827c7f75778272
+8b750852b36cc6d3adc1b61e8bab7da46e9e086aa205a39bb3a78baf082efb981571
+63a1bd1f8b9b96b2baab08a57b05af769a718b7108535f7d721eff00036666fb5215
+f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff
+018366667c15f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8
+b20aff005b199affff0880001575ffffece668ffffe88000fffffee666fffff43334
+8b08ffffc6b332fffff14cceff0041999aff001d3332ff00404cceff001b8000ff00
+228000ff001cb332ff0024e666ff00298000ffffe64ccc271f8bfffff24cccfffffe
+6668ffffef999afffffc4cccffffee666608fffffbe666ffffef4cce15fffff0999a
+ffffca3332ffffdaccccffffc380013cffffe266668b84fffffecccefffffab333ff
+0004b332fffffd199aff003b199aff00118000ff00243334ff0018999aff0020cccc
+b1ff00244cceff002a199aff00121998ff00354ccc8bff002e333408ff0076cccc43
+ff00174ccc5effffb366686cffffb5b334ffffcdb334ffffcdb332ff00191998ffff
+d0199aff004f999a1eff001266668bff001d6668ff0006b334ff0011b332ff000b66
+66080ef776ff0148b334ff00e3cccd15ffffff6666ff0011999affffffb332ff002c
+199a8bff002c33348bff002c3332ff00004cceff002c199aff0000999aff00118000
+ff00013332ff0023199aff00014cceff0023b3328cff0007999c8bff0002ccccffff
+fe8000ff00001998898bffffdf9998ffffebe6686efffff19998ffffcc800173ff00
+00e666fffff94cceff0002b333fffffd8000ff00053334fffffc666608ff001a9999
+ff000b199aff000d3333ff00038000ff000b199a8bff0009b3348bff00014ccc7dff
+0000b334ffffec199aff00009998ffffee8000ff00004cceffffd3e6668bffffd6e6
+668bffffd6e666ffffffb33262ffffff6668ffffee6667fffffe6666ffffcf8000ff
+fff7b33288ffffd70001fffffe3333fffffc8000fffffc80008bfffff9999aff0003
+8000fffffc800008ff001cb333ff00009999ff00103334ff00024ccdff001ccccc8b
+ff001b33348bff000d3332fffffdb333ff001d3334ffffff6667ff00038000ff0003
+80008bff00066666fffffc8000ff0003800062ff0001cccdfffff7b3328efffffe66
+68ff0030800008f739ff011b666815ff0009e6668bff00096666fffffc800092ffff
+f99998ff00121998fffff0ccceff00136668ffffcdb3328bffffb1999a8bffffca33
+34fffffe3334ffffd53332fffff7ccccffffe23334fffff319985bffffdfe668ffff
+facccdfffff580008b08ffffce33347dff0069e667ff0032e666ff008fe666ff0027
+3332ff0020b334ff001a4cce1ffffffdb332fbf015ff002d0002ffffffffffff0044
+8000ff002d999a8bff00897fff8bff0039e668fffff1e664ff00311998ffffe64ccc
+ff0021e668ffffede668a3ffffedccccff000e9998ffffdce6688b08ffffc6199854
+46ffff8c3334ffffa13333ff002c800038ff0042199a1f23ffff4dcccd15f8af0aff
+0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef75af80ef91a15
+f8ab0afb56044c892d5653943dc1c691d8d8c17cd45b1f88fbc6154559dae0e9c1d3
+d0c5cb63fb0dfb0b4959501f0e9ad4f84215fc42f842f842070e9af704f82015f7f4
+fbfefbf40664f82015fc42f842f842070e77f886af15fb78f81efb76fc1e050e77f8
+59c915fc008bf74af7cf05f777fbe815fb77f81dfb77fc1d050e58d48215f81ef778
+fc1ef776050e58eeaf158bf800f7cffb4a05fbe8fb7715f81df777fc1df777050e77
+b7f84115f778fc1ef776f81e050e77e4f82915f8008bfb4afbcf05fb77f7e815f777
+fc1df777f81d050e58f84af85315fc1efb78f81efb76050e58f830f826158bfc00fb
+cff74a05f7e8f77715fc1dfb77f81dfb77050ef4ff001c999aff00d6b33315f8b30a
+0ef4ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff0719
+9cffff07199905fffecc6666ff00fc7fff15f8b30a0e8ef746f7701553b95dc3c4b9
+b9c3c45db952535d5d521ef3fb7f15f8b40af84d04f8b50a0ef5f711f76415f75cf7
+9ef75bfb9efb5bfb9d05fb97f79d15f797fbedf796f7edfb96f7ee050e8e7ca5f833
+a501bca5f833a503f7ae7c15f8b40af84d04f8b50a0e8ef7ae7c15f8b40af85804f7
+0dec2afb0dfb0d292afb0cfb0d2aedf70cf70cecedf70d1ffc2b04f4e1e0f5f433da
+2424343c2222e035f41ff7ff04ebda3d2b2a3c3d2b2a3edaebebd9d9eb1f0e8ef7ae
+7c15f8b40a0e8ef7ae7c15f8b40aa504f83307f707e82ffb07fb072d2efb061f0e8e
+f7aef85915fb152222fb15fb15f423f715f715f3f3f715f71523f4fb151f7104fc33
+07fb072ee7f707f707e9e8f7061f0e8ebbf77615fb15f422f715f715f3f4f715f715
+23f3fb15fb152223fb151ea516f83306fb072f2efb07fb072ee9f7061e0e8ef898f7
+6815f71522f4fb15fb152322fb15fb15f323f715f715f4f3f7151e7116fc3306f707
+e7e8f707f707e82dfb061e0e8ef7ae7c15f8b40af84d04fb63f76407fb072d2efb06
+fb072fe8f707f706e7e8f7071e0e8ef7ae7c15f8b40aa504fb072fe8f7071fccf722
+8a8b1ff76407f707e82ffb07fb072d2efb061f0efb62f7ae7c15f86707fb152323fb
+15fb15f322f7151f0efb62d4f85915fc6707f715f3f3f715f71523f4fb151f0efb66
+f4aaf755a901bca9f755a903bcf77e1543c452d0d9bccbc9d34fc3484a4e53461ea9
+16bfbab6bcbeb960545c655b50575fb6c21e0ebcf756f7561543fb5cf746f710f73e
+fb0f4af758f73bf708fb618b4cf75545fb55fb578b050ef717cdbdf70eedf70ebd01
+f711bdf70eedf70ebd0314fcf711f7b315fb06e420f71af709f1ecf710f70038f705
+fb1dfb142d25fb0b1ef771f73f15f8b60a5afb3f1570a175a6a6a1a1a6a675a17070
+7575701e0ef8b5f9d2f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff44c
+ccfffffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08bac
+8ba87b8d818b828b8189838808ff000cb334a2928dff00204ccc8b9473ba868b3b08
+fbeaf70815c85fb170c18b9d8b9b8f9790848185808b7b8b56a559957affffb8e668
+8bffffe81998ff005180008bff002580008b908c918c8f087b7b576a6e8b848b8291
+81939389948a948b089f919398a278917f1f688bffffeae666ff00094ccdffffd919
+9aff001db3337a98fffff2800097fffff9800091988ea3a59c9f088bbab6ab9a9d91
+a2978595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b908b9108cab19b
+b61e9589057c7075608b5c8b7b927e93817a93788d828b578b65724e5c08f7afc615
+8bac60a08bb38b9e929f929eff001eb334fffff6999aff00361998ffffe480008bff
+ffc3999a8bffffc64cccffffd0199cffffe38000fffffb1998fffff28000ffffdd80
+008bfffffc8000ff000080007cff0011800092899389928b08979b8da81ffccf5215
+9a999d92a28ba08b9d839e7d7a7b7680748b798b78967b9c08f7d5fb8c159968af4a
+9b74b451b66fb6718dc1a1ada7a79898ff0029b334ff0017b333ff00234cccff000d
+4ccdd9ff001d4ccdc6ff0016b3338bf7038bcb5dbe60a908b385f71f5e8baf52a1c3
+a08baefb1e6362868a8b059d98979492939d9cb1ff002580008bff003e80008bff00
+56999affffbab334ff0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668
+ff000fcccc73ff000ecccc67a05ed287b543524f3f64360875ff0009800064ff000d
+8000618b328bffffa36666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb
+4605ff0028199affffda199aff0059e666ffffcee666e28bae8bb4989b9208f709f7
+ac15b2a17185827570661f678b729771a1a69f9e99b28b08bff77715969d91a41f92
+0792838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b33482
+8b3c8b7b5987747a95728e798b788b76827d7f086f8a058c918b8f8b90089d7f8f81
+8073846e1e8b7f918392878f88968b998b08a106fffff48000ffffe73334ffffee80
+00ffffddcccc83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88
+781e8b878b888a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba091
+8ba08ba85e8f8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780
+006dffffff8000ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ff
+ffe6cccd71a572ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff
+00373334ffffe63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3
+b88e8baa8b9d7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe
+8000ff0001333487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000ff
+fff8199affffff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff00
+00ccccff00063333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4
+cccd087b06747788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f
+8bff0004b333ffffffe666ff0004b333ffffff3334ff0004cccd08a58a05967f9982
+9b8ba98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffff
+df999ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107
+a578918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4ccc
+fffff0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b3
+33ff001f4cccff00364ccd977eaa7d948b08a1989fa6997f9f741f7b8bff0005b334
+7afffff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08a106c176db
+5f8b3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3e666ffffd9
+e668fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffffdab334b1ff
+fff24ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366808d7a488b
+3e8bffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72ff72e05ff00
+4cb334ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2caf2c4ba9cff
+ffdb80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff0025199cff
+fff19998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999affffd2cccc
+ffffcc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a91ff001e80
+008bfffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e7f7c9f6ba7
+59978e958c938b948bc06596708b6f8bfffff24cccffffefb334fffff7b334fffff2
+4ccc08a58d05fffffeb334fffffb4cccffffff4cccfffffcb3348b87087e937c9e1e
+0ef848d7dd15839384969594929393829281808384831ef8d2f76f15f7199ef7526d
+8bc58bb4fb298f27903290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c
+5a8b4f8b579563a06d9888e4849a84d75ec183a48bc08bcd93c1a3a193969a8b9e08
+8ba17a858596a49397988b9f8ba1719f8b8baa9b999c8b9f8b9c7d9d669f08fc952b
+15a99cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb2e808b
+82f71291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7df72782908b059a8b959092
+97888a868b858b086875bdef1f0ef7e1f755f7eb1587b0fb39848bfbe4f73d9994bc
+05d68b8f49f71d8b908b988b9f8d8b8a8d8b908c98789e82a68bc88bd5a88bbd8b9c
+83997a950892968e968b968ba0809a74958f948e938b918b9785977f9708c906eaf7
+088dc4d2fb4292fb141ffb0d067596788f7a8b428b6240398b08fb208d15f706918b
+fb99fb068205f855f729155f8b34d58492088381bb550570716f7e6e8b7a8b73906e
+94088107a576a382a18b978b998d9d8f8b639c78b18b088f06888389848b888b7297
+7ea58908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f77678682
+1ff705421563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f33
+fb0f157174959c1f8b9aad85cba4a29498908b8b089891837c7052725c1ff7cbf7b8
+1568fb018a421e768b678c588e79a372a66ca9ab8cb78ca58b08f737ee796a1ffc27
+29159e8ba5739f8baf8ba9998ba88b908a9089909c8094828b810865fb0e6561737e
+96a39ca49fa11e0ea4f7d2f8f0159b929e909a8b08c3c783fb062a5d793c1f788b80
+8d808d08fb173e1590908e8e1f8b99878d3189498d88898b7d05889388951e8c0690
+8b9d7da77608f71ffb0405ff00016666ffffff199a8c8aff0000999affffff333308
+fffffae66607ffffff8000ffffff6666ffffff4ccdffffff3333ffffff3333ffffff
+333308fb0e2f056b74797e848b0889067f8489861f8b7e8f8a058bae8ca0a3b18a8b
+1e8c8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08dbff003d4ccd8bffff
+cbb3330572807d721e8806878888871f8b7a8d89058bbc8dacaeb1898b1e8d8d8b9c
+058f878e881e8706778197a61f8bff0028e666c2ffffd7199a05aa7192858b880885
+8989821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e8e8c8b990590858c7d
+1e8a06868b8a8d5fad08fb1ff6058a8c8a8d8b8c8b8e8c8f8f8d08f711e905b1a696
+939c8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d05878f8991
+918f88861e8b868985767b082f4605fffffc199afffffd3333fffffcccccfffffd99
+9afffffd199afffffe333308f7370797869587a38b08f727b5e0d7c06edffb291f76
+8b6b8a5c88608956887e8b087907898c87911e8f8ba08d938b089ba385691f8bfffe
+a7e66659ff0028199a057b9985928b8f08908c8f971e0eddf7d67b15f73ff70df717
+f734f73dfb17f711fb35fb32fb1bfb10fb3efb33f70ffb18f73e1ff71bf730155a32
+a7f701ea41b54e1fffffb3199a8bffffd79999ffffce6666fffff44ccdffffa6999a
+088a0694f734f2f701f7308b08f727f70dfb06fb2b3e584d391f66f71f15769d799f
+a09e9da0a0789c7677797a761efba68715a09c9ca0a09d7a7676797976767a9da01e
+0e8ef7ae8315f70feeeef70f1f8bff00653334ffffbbccccff00561998ffffa2999a
+ff001a6668ff0013999aff00189998ff003a199aafff0020e666ff0012b334088b76
+a47f1e8a06ffffef4cccffffff1998ffffc1ccceffffc6ccceffffe23332ffffd84c
+cefffffb999aff00009998fffffb8000ff00006668fffffb8000ff00004ccc08ffff
+e9199aff007980007175ff0013b334ffff9c80008a8b05ffffeeffffff003a6666ff
+ffdd999aff002f999affffccb333ff0025800008648605ff0031333360ff002b999a
+ffffd2999aff00136666ffffc9ccccffff9b6667ffffeb199affffb46666ffffa633
+348bffff954ccc08fb0eed27f70f1ef83304f8b70a2cfb0c15f8b80af71b16f8b90a
+5728156c8b66688389088d8605ff000d800090ff0015199aff0001e666ff0010cccc
+ff0000b33408ff0001999affffd66666057a987e9f1ea18b95998c9f08ff00016666
+ff001c333305ff00093334fffffe1999ff0008b332fffffeb333ff0008b3348b938b
+978f929508879205818c818e888b7c8b729c798f868c868b868b089162158f8a9060
+8189050e8ef7ae8315f70feeeef70f1f8bff00668000ffffba199ae2ffffa0b332ff
+00193334ff0012e668ff00378000ff002c4cccff002e1998beff002bb33408639005
+ffffcc6666ffffda3334ffffdd6666ffffd01998ffffef199a50ffffffb3348bffff
+ffb332ff0000199affffffb3348b089fff0064999a71a1ffffe93334fb0d05fffffb
+33328bfffffb3334ffffffb334fffffb3332ffffffb332ffffe1e667ff0027999aff
+ffc2cccdff00381998ffffef8000ff0000e668088a068076728b1fff001ee66679ff
+0037199affffddccccff00156666ffffe78000ffff9de667ffffe93334ffffb6b333
+ffffa766668bffff97199a08fb0eed27f70f1ef83304f8b70a2cfb0c15f8b80af71b
+16f8b90a5efb2a15618b78a479ab08767f05ff0010b333ffffe36666ff0013e667ff
+ffe4999aff002219998108ff00014ccd6a0579987e9f1ea18b95998c9f08ff0001b3
+34ff0020333305ff0026e666ff000cffffff0014b332ff001de667ff0007b334ff00
+0de666087798056e5e6685768b08fffffee6667215ff0001199a8bff0003999a8bff
+00046666648189050e8ef7a8f702158a64958d86af0588a715a08bb091a8b8089f7e
+05837d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba808a0
+97059d6b9e72b58b0890fb2515f70feeeef70f1f8bf245e12ca49ec3b7b9beb70863
+90055865685b7a50088a8b9ff071a174fb0d05868b878a868b6db24dc47b8c088a06
+8076728b1faa79c269a172287542328b2208fb0eed27f70f1e28f7bb15999697999a
+977f7d7d7f7f7c7d8097991ef721169997979999977f7d7d7f7f7d7d7f97991e0ef7
+18f7e7f85e15f8b60a9ffc6b15db07b88fb59daca708c552a7a752c505a7ab9db490
+b908dbb23b0687b77bb76eae08c3c36ea75454056ba7629e5a8f08d9633d075b8761
+796a6f0854c2706ec0550570697960875d083c62da06905f9d61a669085353a86fc4
+c205ab70b47aba86083b070e55f70a5f15f712c9e3f58bf72d8bf72337f70525c508
+f710f731fb23fb3ffb34fb11fb35fb4c1f31f92315f7106bf716fb1e8bfb398bfb41
+fb1efb18fb106da380a585bd8b08f761f72df73df748f751fb1af736fb6b1f728b57
+847385080e55f819f8e415fb124d33218bfb2d8bfb23dffb05f15108fb10fb31f723
+f73ff734f711f735f74c1fe5fd2315fb10abfb16f71e8bf7398bf741f71ef718f710
+a973967191598b08fb61fb2dfb3dfb48fb51f71afb36f76b1fa48bbf92a391080e87
+5db9f700bdf7eabdf7327612c5bd6fbdf70ebff711bd6ebd13fa80f7abf88815edd4
+3c302e433c282843dae81fe8d6d8eb1e6dfc19158dfb03218b8b5df68b8dfb0fba8b
+8ef70ff68b8bb9218b8ef70305f7099bd6ed8bf48bd95fdc3fb10813f700ceb1abdc
+8bbd085906595c2c24344ddacd1e59068b60a535d4630813fa8041665c3f8b378b2c
+cc21f71279080e875eb9f702baf7eabd01c5bdf723c1f725bd03f78df703158dfb02
+218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf408f700
+38f704fb1dfb152e26fb0b1e8b2ccc21f7127908a9f81915edd43c302e433c282843
+dae8e8d6d8eb1f0e8775bdf7eabaf702b9f70e7701c3bdf725c1f723bd03f7c7f835
+1589f702f58b8bb9208b89f70e5c8b88fb0e208b8b5df58b88fb0205fb097b40298b
+2208fb00defb04f71df715e8f0f70b1e8bea4af5fb129d086dfc19152942dae6e8d3
+daeeeed33c2e2e403e2b1f0ef575b9f7ebbc01c5bdf7eabd03f7abf80315edd43b2f
+2f433c282843dae7e9d6d9eb1ff771fb40158be561cf47ae08f701f76c05944e9466
+a74f08b7870569e97ebf7fee08769505305359772a6f08a96905cf9ab09cc3ab08fb
+0afb6b0572937a8b758b08fb152e28fb0efb0eee2cf70cf70df1edf70b1f0edfe0ba
+65b9f7c076f700b412bcd4f737d0f706d213bef751f8a315ccaafb0f3d1f8b376c45
+51737a846382768b088a06837c83831f7607868e868c1e137ef80094058f8d89891f
+8bfb519679c7aa8bf74ac88d058f8e8d928b948b948895868e08508c8bf835758d5a
+808bfc2605888988871efb5706b4a9b9df8be908f457f707232f525950739b7ba3a8
+959f981e8b928a93898e8a8f89908b9708a9a191b81e0e58f7e5baecba01f70ed2f7
+14ce9bcf03f70ef8f615395007807e7e7b829082951fcffc78069679c6aa8bf79105
+abb9b5a7ca8bad8bb4648b5d8b5a784e79667b696d4c8b5a8b569f68b06a08cb8393
+96055eb17aa88bbe8bb799cb9eafa0b2a9cd8bbb8be047b6458b598b4b69706708f7
+3bde079899a197938790801f2ce606748c050ec330abf735a7f73fbaf747a901f3d1
+aebf9ad19fbea5d103f7998c15a4a0a7abad9d6e73667374706c74a2b01efb31f876
+15fbc9076f7e7b621e8806868888861f8b798d89058bd08daf1ea7f759f1fb6f0665
+816e708b5c0852c36bbabcc3a9c81e8bb56ca7639608f770ecfb5907a78c05afd088
+8b1f8d8d8b9e0590888e861e8806627e9ba71ff7c807a8989ab41e8e06908e8e911f
+8b9e898d058b4588681e6f8c8bfb632a8b8bf742789a6b8b787c8bfb42258b8bf763
+6f8a0568458e8b1f89898b7805858e88901e8e06b4987c6e1f0ef78d5db9d6baf8a1
+7712f70dcef74ad64ac0f754ce13f6f8455d15f6b921068cd605f74b9dd5f71d8bf7
+458ba09193938b978b9c79967d08ae8efb2cf743058a8a898b8a8b08fb42078bfb2a
+60fb0ffb267f0813fa94f81205a48e97931e938b997da07108ae8efb11f723fb16fb
+23ac8805a0a59a99948b0893907f721f92fc1205fb299663f7078bf72f08f745078a
+838b8b1efb2bfb44ac8805999b9d9b978b948b91838b768bfb4bd5fb13f74b79088b
+8a8c41218b8b5d0513f6f68b8dfb0fbb8b050e494bbbf7b6bcf773bc01bcd2ddd2e6
+d403f7a5f7a115e98ed1d38bf208ed3ebd251efb65838bfcdfa47db9a08bf79fdd88
+8bfbe3f7849094af8798fb428505e6f862158b4d66535582088bf703778f587a8b2a
+398e8bf76bf7189305b8ce733f1f0ef7dff8cdbf01b2d6f7bbd6f7bad603f82dfb0d
+159779caaa05f7c8def80af718bbaa60461e8b617e5e6f5908bf82a29405a6bd99ba
+8bb78be24bd0398bfb448b50fbbf76fb3e08810671f77045f78cfb2e8b3d8b414a8b
+2f8b60995da65908c183a193056fb97db88bb608ccabb8baf719defc08fbd21e0ef7
+77fb04c4f802baf767ba01f72cc3f808c303f81e5415203cdeeef5e0d9f0f5db3925
+283c38201f20f8221542634d438b2408fb15f703fb03f717f719f701f704f7141e8b
+f24dd342b3c0a1a3a5aecb08a1b305a7bcaaa4ae8b0895ba6f065a8b5f646345086b
+560577677572757d747d6e84678b678b6e927499759976a476af086cc00563d15eb2
+5a8b086f5c9506ae8baa72a75a08a16305b244a476bb77080ef73165ba82baf86ab9
+7fbb12f74ed5f75ad6138cf74eb01560855e825a7e085c07134ceba4f398f7028b08
+139cf7038bf27eeb7208ba075a985e94619108f87907b891b996b89708bb07132c37
+73247ffb0f8b08139cfb0e8b239737a3085b07b97fb881b98608d5fc7615f8720713
+6ca789ac8ab18bb28bac8ca68d08fc72076e8e6a8d668b678b6a896d88080ef7a7a8
+c3f724b3e0b4e576d4c301bcbbf767baf712bbf767bb03f75ef7a115525bb8c9c5b7
+b9c7c4bd5e4f525e5a4e1f8f6315e0cbd3dd1f8bb775b841afb99ec695d38bf38bf7
+0073f7045a089dad8d9e05fb03bd20a5278bfb078b2a773f613e615b618b490834d7
+4adc1ef841f71115c4bb5d4e4c5a61544e5dbcc3c4b8bdc81f8cb41538434d371f8b
+42bc65bb735d785181428b228bfb00a4fb03bc08786a8c7605f70359f471ef8bf708
+8beba0d7b5d8b4bbbd8bcd08df45c9391e0ef738fb39c2ecbdf767bcf7a2ba01b2bd
+e8d5b2c9c1d4f701d203f753f78c15c9b55b514f5d5e52525db7c9c6b9b9c31ff7b9
+fbac158bc6a5c9cad2c4ccaddb8bee08ed34f704fb38fb09fb063afb041e8b639667
+b3577a8f828b7b8b083747463630d24adfe2d7d7dd1f8bb07daf6ab35fc181b98bd3
+08dcd5c3e3e9dc342d1e8b29765b5955554f523c8b308b46c157d88bb58bb8a7bac5
+08759e0561646f80628b6b8b70a78bbd080ef75ffb04ac01dfd6f707d6f707d6f0d7
+03f8af9a15f773079dc5a4b9a7ad9f6195608b5d8b255a3f575708fb528915f7db07
+9ed9abc8b3b59b6f93618b5308fbeb078b728d738f7369756076597c08946a05bd93
+b799ae9fa154ad61be6e089c990563b87bab87cad6c7ebee8bf7188bcf77cc63c908
+487a057a7379697c6008f700078bbe69ba6db5085480056a6571637f6284c169b772
+ab086a9275790572707266785c83b97db076a70874895f7c05a261975d8b5a088bfc
+2d9779caaa8bf7e9059fcdaac3b3b89b70935b8b45088bfc0c9679050ef744c4c0f7
+0ac1f77bbc01f749cbf78dcb03cdf77815f77e8b91bd055fa47ab08bb708d0c4c7cf
+cec44f461e8b5f7a625e76088659f77d8b059899a497938794801ffb3c06aaaaa2ae
+8bb208ee34d7282532392c1e8b64a26aa96c08fb32067f7e767b829183941ffb3f04
+f8e5069899a496948793801ffce7067f7e767c829183941f0ef709fb3c9c01dad6f7
+05d5f705d6de9a03b7f8b615a265975b8b51088bfc269679cbaa8bf7e8059dcea8c4
+b4b89b71945b8b46088bfc0f9679caaa8bf7db059cd5a8c7b5bb9c7393628b5108fb
+d5078b39a557b26608af670592858d868b878b858289808b888b878b878c087b7af7
+0a8483f70c7c7b8b82057f897f831e888b868d85910872a40570a584b58bdc08f7f3
+078bc37cbc6cb408427f056b6574657d6384c27bb671a908437f05716e74667a5f83
+b47db075ab087489050ee09376f889b701f8afb903f8e1f8b1156c856a886c8b588b
+5c92699608836105af7eb384b08b978b978c968c08fb90fb8dfb0bf70c6363f70bfb
+0bfb44fb43b263f745f743f70bfb0db3b3fb0bf70cf78ff78e058a828a818b808b66
+935f9d6408b595057eb382b78bba8ba98fa991ab080ef798fb05bacdb5f75fba01f7
+4fc3f870d603f963f721154f6764651e618b589262b8abe1b3ccc38b08bda959551f
+fbfaf814159c67914398259efb2b918ba65c57fb2b7a6b278b08725cbf06c08bd88d
+cbf73ab362be7dc18b08d8d2c8dfdf58ca371f4b8b3855674572e88ef75f58f70608
+417c055950683e752c7de17bca78af7ca65e9d5e8c08827505b27a9684a25f9c6bb1
+fb2c8bfb0e089a7fb497058bf748d6f714b6bd080ef7a1cdf80d15a55cf712f1058e
+8d8c8c8d8b8d8b8d8a8d8708cf2c058d898c8a8d8b8c8b8d8b8d8d08f70aed058e8d
+8d8c8d8b8e8b8d898d8608ce2e058d898c8a8d8b8c8b8d8b8d8d08f709eb058e8e8f
+8d8d8b8d8b8c898e8708d328b7a62ef729058790898d898b898b8789878708fb0c29
+43ee05888f898d898b888b8989878808fb0e2742ef05898f898c898b888b89898889
+08fb3ffc3d15a55cf712f1058d8d8d8c8d8b8d8b8c898d8808d02c058d888c8a8d8b
+8c8b8c8c8e8d08f70aec058e8e8d8c8d8b8e8b8c888d8708cf2e058d898c898d8b8c
+8b8c8c8e8d08f709ea058e8e8f8e8c8b8e8b8c898e8708d328b7a62df72905889089
+8d898b888b8889868708fb0c2944ee05878f8a8d888b898b8989878808fb0e2742ef
+05898e898d888b898b89898789080edff7a3b901f752d6f708d603f8887d15b384b4
+920538e261e98bf308f70cb9fb0c0690e5b4e1dae0086291668505443e6236812808
+fb080680ee63e044d808608e698805d936b435903108fb0c5df70c068b23612d3934
+089a86cc9005dae5b3f7018be108f708068bfb05c821c549080ef735f83ef74a15b0
+8b8b2af48bc48bc8b78bdc8bb37cb765b0fb0ff70b4dd432f70230fb043d38252069
+677a6c8b58082dd069ba1ef68b88ecb58b968b9c7a8b5e8b557c6467850876f73ca0
+07659180bd8bb58bbf9d96988b080ef76cf841f71015be9292961eb08baa30f28b08
+d9bac1d8b37bf4fb061f4a8b51586d8b818b82938b958bacf7039b8bf308c85ac624
+fb046149551e8b24f7027d8b668b7d8188838b698b57bd498b08227130563dbd55d6
+1ff28baae6b08b9a8b8d768b668b57836164830876f72fa00769937ebf8bb6080ef7
+38f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff71ffb298b518b346b8bfb088bfb11f715
+fb18dc3408f704fb0df70df71105e6eaf706f70c8bf7108bf7043bb0488b080edff7
+daf900152ffb0c2a22242ef70125ed21e0fb03e4f706eaf5f0eefb06ed32f70139f7
+03080efb6381f739f8ad7701f797b903b2c6155bc876bdcfe2b9cc1ef8e35dfcb707
+79926f8e6b8b0866226e481f0e7081f739f7509bf7e17701f797b9f724c403b2c615
+5ec373c2cfe2b9cc1ef87807b65fb895b54d937e91798b788b6c7968577d08957b05
+dc9fafc08bb98ba37bc553aa48af61b277b5085dfcb7067a91718f688b0868206e48
+1f0ef736fb51f73a98f739f8b37701f797b9f7d7ba03f8b7741568236d485dc374c2
+cfe3bacb1f8bf8cffc34f7618bfcbd057a916f8f688b0868226e485ec373c2cfe2b9
+cc1f8bf86ff7d7fb388bfc52057a926f8f678b080ef736fb51f73a98f739f8b37701
+f797b9f7d7ba03f7c5ff020e1998158bff0048e668f7d7fb388bffffb66666053aff
+fe7f999a1568236d485dc374c2cfe3bacb1f8bf8cffc34f7618bfcbd057a916f8f68
+8b0868226e485ec373c2cfe2b9cc1f8bff01768000f7d7fb3a8bfffea88000057a92
+6f8f678b080e4ef7afbd01f713aef71dd203f736f76915aec1ab9ba78ba48b9c708b
+718bffffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f71e
+afe3ff0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060efb0dff01cf
+999a7701f70daef70bae03f7a7ff011ab33415fb0bffffd3e6668bff00624cccf70b
+ff002b666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae
+8b8bff0185999afb2effffbf4ccc8bff0095199a050efb0df8ec7701f70caef701ae
+03f79cf8ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33
+348b4dc1ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff7233
+33ae8b8bff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338b
+c954ffffe980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c333405
+68fffec3199a15fb01ffffd366668bff00654cccf701b7050e2df75f9a1589ab055b
+8c75998ba408b3ca8fb0c1e89ed11e8bd75297508f088a5e05b28aa5858b6c085951
+8b615e27873063aa66b71e978b9c8e9d900887f73f15998ba08c9e8b088ef7670574
+8a7587758608fb110489b8057c876f86888b086f7d98a4c3f71599b21fbf8b8f80ad
+8b998b978d989208858e91899388998189949090878b828b828c828d8a8a8191a387
+058d8d8d8d8b908b957797808e7d8e8e9d778b778b54845c884e87fb0d718b348b67
+9c5bce8b089c8ba18da49108d0f762158c938c9f8b9f08b683a269707f6e741e8b81
+905b8d80a28fa48ea38b0887fcd015798480868187088c62057e918397969596a01e
+8d0777b815d1a3baad8bb38bb368a06b8b848b7f898388088a6a05928d958f948b92
+8ba4898b738b6e527073827783747c7679787a73848b848b879089918b08958b9b8f
+928fa6989798a4930876ae15b19b8bf7445a8805f71ff7dd158d8d8d8d8e8d898988
+89898889898d8e1e0efb2ef760f84415aca47563646b74716d6fa8acaca6a8aa1f80
+fbb81575da63d32b8c878b878888858b5eb76d9580c548c39c8cfb26087c92868f92
+8e91991e8ef729b778d0caaba9a0a68bab8793868d8a8b428a54456c3908f71e07b7
+90b3ad8bc108c35db15b556260581e8b57b065ba88080ef7a85eb9f702baf7eabd01
+c5bdf723c1a1bdd4bd9fc1f725bd03f78df703158dfb02218b8b5df68b8dfb0eba8b
+8ef70ef68b8bb9218b8ef70205ff0028999aff00058000ff00238000ff000f8000ff
+001d199aff0016199aff001c3332ffffea6666aefffff06666ff0029999afffffa19
+9a088dfb02218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed
+8bf48bf70038f704fb1d8bffffcbcccc8bffffd1999affffef8000ffffdb6666ffff
+e46666ffffdcb334ff001b199affffd2e6669cffffca999a8bfb158b2e268bfb0b8b
+2ccc21f7127908a9f81915ff0024e6668bff00216666fffff4ccccff001b3334ffff
+ed3334ffffe0999affffd9999affffede6665a8bffffcb66668bffffcf4cccff0011
+199affffcc6667ff0021999affffd6e667ffffe4b332ffffecccccffffde3334ffff
+f4999affffda66668b082843dae8e8d6d8eb1fff00aa3334fffec8b33415ff002080
+00ff00276666ff00124cccff0032199a8bff0033cccc8bff00318000ffffee999aff
+00326666ffffdfe666b3ff001b80009eff00216666ff000b199aff0024999a8b08ed
+d43c302e433c281fffffda4ccc8bffffde4cceff000b6666ffffe4999aff00134ccd
+08ffffdc4cccff00f6800115ff0017199affffe2b332ff000d6666ffffdb199a8b64
+8bffffd7e666fffff2999affffda999affffe8e666ffffe24ccdffffe8e666ff001d
+b333fffff2999aff002566668bff0028199a8bff00278000ff000d999aff0024999a
+ff0016e666ff001d199a080ef7fffb38b9ebb9f75dbce8bca176f722adf37701c5bd
+f73ebdf70ebdf73ebd03f964c0158be561cf47ae08f701f76c05944e9466a74f08b7
+870569e97ebf7fee08769505ffffc39998ffffdaccccffffd5b334ffffeab33459ff
+ffedb334ffffe73334ff0048ccccfffff4e668ff00326668fffff59998ff00559998
+08769505305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb
+152e28fb0efb0eee2cf70c1fff0004b3348bff0004b332ff0000199aff0004b334ff
+00004cccff001eb33237ff0051199affffc5999aff005e199a8bf70d8bf1ed8bf70b
+08fc4df7ce15ff0047b3348bff003a6666ffffd5199aff001a199a50ffffa1ccccff
+ffe519994cffffab33338bffff9b999a8bfffff6199aff0000999afffff66666ff00
+014cccfffff6800008ffffff199a062843dae7e9d6d9eb1fff00a98000ffff6a8000
+158cfffff8999aff00008000fffff880008bfffff866668bffffb48000ffffcf8000
+ffffbd3333ffffb7e666ffffea8000ffffff199aff00073333ffffff8000ff000733
+348bff000766668bff004cb333ff0031e666ff0042199aff0046999aff0015b33308
+ff00274cccff0038333415ffffeee668ff00331998ffffddb332ff00274cceffffd1
+999aff0017e66608f701f76c0593ffffc99998ff00081998ffffdcb334ff00158000
+ffffce6668fffff1e668fffffb8000fffff0e666fffffb8000ffffef999afffffb4c
+cc08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758bfffffbe6668bfffffbe666
+ffffffe66687ffffffccce08ff000a999affffcf4ccc15ff0000999a06edd43b2f2f
+433c281fffffb5cccc8b50ff002c4ccdffffe7199ac8e6ff001b1999ff0044199aff
+00534ccd8bff00614ccd8bff000a4ccdffffff800095fffffee666ff0009b333080e
+f785fb6d76f70eb9f703b9f7eabdf723ad12c5bdf712bd6ac1f725bdf712bd13fdc0
+f938f796158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee08
+769505305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b6b8bff
+ffe23334fffff9e666ffffe54ccc80ffffe6199aff000ae666ffffe2b332ff000633
+34ffffdfb3348bfb158b2e268bfb0b8b2ccc21f71279088dfb02218b8b5df68b8dfb
+0eba8b8ef70ef68b8bb9218b8ef70205a18eff0014999aff0005e666ff0012ccccff
+00084ccdff0019cccefffff58000ff001c4cccfffffa4ccdff001d80008b08f70df1
+edf70b1ffc21f73f15ff000a80008bff000a3334ffffff199aff0009e666fffffe4c
+cc0813fec0ffffd0ccccffffd78000ffffe3999affffc380008bffffbc999a8bffff
+bb999aff001f199affffc41999ff00306666ffffd8999afffff4e666fffffdcccdff
+fff48000fffffee666fffff4199a8b082843dae8e8d6d8eb1fff008ee666fffead19
+9a15ff00318000ff0029ccceff001c999aff003e33348bff0040e6668bc9ffffe499
+9aff003f6666ffffceb332ff002ab334ff000a3334ff0001e666ff000a999a8cff00
+0ae6668b08edd43b2f2f433c281ffffff4999a8bfffff4e666ff0001199afffff566
+668d08ffffc8999aff013b4ccc15ff0032e666ffffe1e666ff0020999affffc88000
+8bffffc333348bffffc1e666ffffdfe66653ffffcd199affffe1cccdffffcd3334ff
+001e3333ffffdfccccff0037999a8bff003d80008bc9ff0020b334ff0037199aff00
+31ccccff001e4ccc080ef5fb6d76e3bae7bbf7ecbdf722ae01c8bef724c0f725be03
+f79180158d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f70099e0ed8bf7
+028be45fcf47ae08f700f76d05944e9566a64f08b8870568e97ebf80ed0875960530
+525a782a6f08a86805cf9bb09bc3ab08fb0afb6b0572937a8c758bfb148b2e288bfb
+0e8bfb03e12cf57c08a9f81c15edd43d2f2f4339282843dde7e9d7d7ea1f0e6281bd
+f7f0bd01afbdf7f0bd03e1f76a15f8ba0a5916fb0ff026f70ff70ff0f0f70ff70f26
+f0fb0ffb0f2626fb0f1e0ef75981bdf7f0bd01afbdf750bdf702bdf750bd03e1f76a
+15eadadaea1eff001b999a8bff001a4cccfffff94cccff00176666fffff43334ffff
+d8e668ffffd7999affffe7ccccffffc9199a8bffffc3cccc8bffffc3cccdff001833
+34ffffc91999ff00271998ffffd7999affffe8999afffff43333ffffe5b334fffff9
+4ccdffffe466668b082c3cdaea1f5916fb0ff026f70f1eff002b999a8bff0028cccc
+ff000cb333ff0022999aff0015e667ff0022999affffea1999ff0028ccccfffff34c
+cdff002b999a8b08f70ff0f0f70ff70f26f0fb0f1fffffd466668bffffd73334ffff
+f34cccffffdd6666ffffea199affffdd6666ff0015e666ffffd73334ff000cb334ff
+ffd466668b08fb0f2626fb0f1ff7ebff007e199a15ff0021b334ffffe0199aff0015
+4cccffffd319988bffffceb3348bffffceb333ffffeab334ffffd3199affffde4ccc
+ffffe01999ffffde4cccff001fe667ffffeab334ff002ce6668bff00314ccd8bff00
+314cccff00154cccff002ce668ff0021b334ff001fe66608ff0029b334fffee66666
+15ff00271998ff00286666ff00183334ff0036e6678bff003c33338bff003c3334ff
+ffe7ccccff0036e666ffffd8e668ff00286666ff00176666ff000bccccff001a4ccc
+ff0006b334ff001b999a8b08eada3c2c2c3c3c2c1fffffe466668bffffe5b334ff00
+06b333ffffe8999aff000bcccd080ef81981bdf7f0bdaa7712afbdf7f0dd48bdf801
+bd13f6f855f86915ffff78b33407ffffd8199aff003e800045ff0029ccccffffb0e6
+668b08fb0f2626fb0ffb0ff026f70f1fff004f199a8bd1ff0029cccdff0027e666ff
+003e800008ffff6fb333bdff0093800007ff00278000ffffbfb333ff00471998ffff
+d4cccdff005066688b08f70ff0f0f70ff70f26f0fb0f1fffffaf99988bffffb8e668
+ffffd4ccccffffd88000ffffbfb33408ff008a800007fc31fb9315eadadaea1e13fa
+eada3c2c2c3c3c2c2c3cdaea1ff84216f8ba0a0ef90781bdf724bdf72ebd01afbdf7
+f0bbf774bbf7f0bd03e1f76a15f8ba0a5916fb0ff026f70f1eff0070cccc8bff005e
+6668e0ff000eccccf70108f77406ff000eccccfb01ff005e666836ff0070cccc8b08
+f70ff0f0f70ff70f26f0fb0f1fffff8bb3348bffff9f6664ffffa5ccccfffff5ccd0
+ffff8e333408ffff22333206fffff5ccccff0071ccccffff9f6666ff005a3334ffff
+8bb3348b08fb0f2626fb0f1ff96216f8ba0a0ea981f71b01f71bf77215838b847883
+7e81928297848b08817b70798bff00113333fb42ff0050cccd1fa08b99909297f760
+ff01626666f713ff00b500028bff001399988bff00069998fffffc4cccff00046668
+ffffebb3348b628b69fffff733347dffffe4cccc39fb33ffff713333fb91fffff0cc
+cd8bfffff066668bfffff4999aec7b8b080ec89c7601f771f8b415838b8478837e7e
+948595848b818b7b708b798b61b4fb13a54c7576fb1d218b758b8292848f81088682
+817e8b858b84986d9a8b8f8b918d8f8d8b87916c958b988b9ab4f70ff70db22a9957
+a18b08968b9397979294869383928b9a8b96a88f96ac8b8ea58b968ba06e9948f720
+f73df74fb77e8baf088b978099788d8b8b8bbb728b808bfb07fb043b3d3df7259bbc
+6f8b080e559676f81dc6f78c7701f779da03f7c897158bab80e78af790f38bbf869c
+8b089b90909fa085987b1f758b5c87248a8bf71a97d58ba2089b8991771e68067a86
+847c1f8b7196428cfb18238c588f7a8b087b857d777591889c1fa08bba90f38b89fb
+7a80fb068b6b08798e879e1eae069c908f9d1f0ef8b5f7a8f7f2158b988d979095a7
+baff00244cccff000ab334ff000bb334ff00034cccff0007b334ffffed4cccff0007
+4cccffffeab3348b788b6260768b6a8b6e9b89958b948b958d938e08fffff34ccc74
+8489ffffdfb3348b82a35c908bdb08f7eafb08154eb765a6558b798b7b877f869295
+91968b9b8bc071bd819cff0047199a8bff0017e666ffffae80008bffffda80008b86
+8a858a87089b9bbfaca88b928b94859583838d828c828b087785837e749e85971fae
+8bff00151998fffff6b334ff0026e668ffffe24ccc9c7eff000d80007fff00068000
+857e8873717a77088b5c606b7c7985747f9181a01e978b988f958e8683787b6c8b7b
+8b6e986e9e8c868b868b85084c657b601e818d059aa6a1b68bba8b9b849883959c83
+9e89948bbf8bb1a4c8ba08fbaf50158b6ab6768b638b7884778478ffffe14cccff00
+096666ffffc9e668ff001b80008bff003c66678bff0039b333ff002fe666ff001c80
+00ff0004e666ff000d8000ff002280008bff00038000ffffff80009affffee800084
+8d838d848b087f7b896e1ff8cfc4157c7d7984748b768b799378999c9ba096a28b9d
+8b9e809b7a08fbd5f78c157dae67cc7ba262c560a760a5895575696f6f7e7effffd6
+4cccffffe84cccffffdcb334fffff2b3343dffffe2b33450ffffe94ccc8bfb038b4b
+b958b66d086391fb1fb88b67c47553768b68f71eb3b4908c8b05797e7f828483797a
+65ffffda80008bffffc180008bffffa96666ff00454ccd62ff00376666ffffef3334
+ff001db33382ff0023999afffff03333a3fffff13333af76b8448f61d3c4c7d7b2e0
+08a1fffff68000b2fffff28000b58be48bff005c9998ff00464ccdff001f6668ff00
+1eb33308f74df749fb50f74605ffffd7e668ff0025e666ffffa61998ff0031199a34
+8b688b627e7b8408fb09fbac156475a59194a1a6b01faf8ba47fa5757077787d648b
+0857fb7715807985721f8407849388958b948b958d919398ff0008b334fffffeb333
+ff000a4cccffffff4ccd948bda8b9bbd8fa29c81a4889d8b9e8ba094999708a78c05
+8a858b878b86087997879596a392a81e8b978593848f878e808b7d8b087506ff000b
+8000ff0018cccdff00118000ff0022333393969ca6a7a5998b918b9c8498858c858b
+858b7f087887888684888e9e1e8b8f8b8e8c90fffffc3334ff00008000fffffbcccc
+ff00008000888b878b76858b768b6eb8878b738b82fffffd8000fffff18000fffffc
+8000fffff28000ff00388000a9ff00008000ff0029cccd8bff002a33330897889988
+968bb78bff0017cccca2ff00193334a571a46ba8668b7a8b85897f858bff0024cccc
+fffffd3334ff00366668ffffc8ccccff0019ccccff00038000fffff18000ff000380
+00ffffef80008b81088b735e888b6c8b799d84908bff0004cccc8bff00026668ff00
+008000ff0004ccccff00018000fffffecccc8fffffff33348e8b8f08ff000066668d
+ff00148000ff00098000ff0007e668ff00009998fffffe999affffeb80001e8b81ff
+ffffccccfffff83334ffffff3334fffff9cccc7e887d88858b778bffffe83334ff00
+1fccccffffd2ccccff003b3334089b06a29f8ea4a76f9484fffff2ccccfffff74ccc
+fffff66666fffff1ccce1f8bfffffb4cccff0000199cfffffb4cccff0000ccccffff
+fb333408718c0580977d947b8b6d8b707f727b0891078ba47cac7d9bfffffa4cccff
+0006999affffe1b334ff00206666558b878bfffffe4ccc8bfffffab3348a87968692
+8b968b948f959193088507719e85959e9399991e8b8e8b908a8f08a58905fffff64c
+ccff000eb334fffff3b334ff000f4ccc6f8b578b7e6a8b688b838c838c83fffff2b3
+3487ffffcd9998ffffee4cccffffe0b334ffffc9b3347f986c99828b08757e77707d
+9777a21f9b8bfffffa4ccd9cff000db3338b8f8b8f8a8d8b8e8b8e8c8c8c0880078b
+7d8b59c05a08750655a03bb78bdb8bae93aea09fa3ff00166666acff000ee666ff00
+22b334ff000c199cff00261998ff000d4cccb09cff00193334ff001b4ccca5a89dad
+91a0ad75ff00254ccc65ff000db3347508acffffcaccccff001f4cccffffca3334ff
+0009b33463b096899cce8bd88bff00479998ffffdf999aff00326668ffffd0666608
+f733fb2afb2ffb2e05ffffb34cccffffb3b333ffffbdb334ffffee4ccd578b5a8b6d
+9065a376544c24525c7aff0024800078ff002080006fa271ff00148000ffffcb6666
+ff0016199affffdae667ff000e6666ffffbcb333a56cff002c33338bff002ecccd08
+8bff00386666ff002d3333ff0033b334ff0052cccdff0021e666089f0687885d618b
+4d8b858b868c85ffffe180008bff000e999a9bffffede6668b08757e7a7a709877a1
+1f938ba79898979a77ab6fbd7f88818a838b828b56b180a68ba78bff000db334ff00
+104ccdff00084cccff000db33308718905ff00014cccff0004b334ff0000b334ff00
+034ccc8b8f0898839a781e0ef75af80ef91a15f8ab0a6cfb81157e8b6d817d860881
+a505ba9da595b6a7089cfb990674967d991ea7068e8e8a871f76078b568c6a654f8a
+8b1ea0078d8f8e8e1eaf069b9999a21ff72b07ac89957f1e0ef75af80ef91a15f8ab
+0a3ffba2157e7d9698a6a8bedabdc4774c1f8b5d6a695363616d736e8b6c08dc06ab
+8b9bb295a808a38505836d8468876e08fb62068bbbb7b5bab1b9aea1a28bc108ba67
+987960817c7d1e8b838f838b83087b7983821e0ef75af80ef91a15f8ab0ab1fb7d15
+aa7794771e778b69818a728a7f887a758b0877879a8e9ca9c0e2beac75661f8b6e75
+746f7bac88ba708b510846495d3b65589ba0959895961e988b9284908494819583ab
+8b089ec498d0c45592721f848b878a838a0889a305b791a8a58bb4080ef75af80ef9
+1a15f8ab0ab7fb911522c2078868578b8b5a05788f859d1e9b068f8c88891f77078b
+618c7073658a8b1ea0078c8c8e8f1e9a069d8f8ea01fbdfb2407889705b7cdcfebb4
+c308a982055e455039746908e6d7068b9290938d8e93949697928b08919289831f0e
+f75af80ef91a15f8ab0abafc2015a889c6431e758b76857d8308858fa1f722f72d8b
+866a8b8afb118b7f3a059390a4909a8b08d8af5755505b5545695099a3979694961f
+988b9284938394829781a08b08b89cb0b51f0ef75af80ef91a15f8ab0ac2fc2615a1
+86c2521e7d8b7585767a8a868b838b850837b374a7b793aeb01ec39015676e4a3c5a
+43a8f31e8bddc5f2f72d97087707fb017868498050999aa69ba48b08ec953c7a1f0e
+f75af80ef91a15f8ab0a65fb67156f8b84847f5b08768e0590a792b38ca6089d0686
+908a9b1ef74206563052fb0e6c22086906aef703c3f710a5b9080ef75af80ef91a15
+f8ab0a8cfb53156e747d6e1f8b7b9275b077089f80059b95a2a68ba908a67b9d681e
+ea5e15f8ae0a2529157b8262638b69085fb47ba3b0a89cb41e8ba486a4639f080ef7
+5af80ef91a15f8ab0a50fb9d15759054c31e998ba191a19c089e07df63a26f5f8468
+661e538615afa7ccdabdd56e231e8b394f24fb2d7f089f07f7019eadcd97c67c7c70
+7b728b082a82da9c1f0ef75af80ef91a15f8ab0afb22fb7d15f8ac0af78fb7154c89
+2d5652943ec1c592d7d9c17cd45b1f88fbc6154559dae0e9c1d3d0c4cb62fb0cfb0b
+4959511f0ecf8bb801f7b5be03f7b5f8d615f8990a0efb1cfb5cb7f9b6b601edc5c4
+c503f769fb301552f9b6c406f761b615fbd4fe0df7d4b7fb27f9b6f727060efb1cfb
+5cb7f9b6b601f72ec5c4c603f768fb3015f9b6c4fdb607fb9af9e11560f727fdb6fb
+275ff7d5fa0d070e5a86a279a8f796b2cbb2f75aa212ff006d8000daf7bca213beff
+0154999af84115ffff68800006ff00006666ff0020b334ff0000cccdff0020e666ff
+00013333ff00296666ff00028000deff000e800090d18e91918b9685915a8affffe1
+b33387ffffcd4ccd8bffffcdb3338bffffe34ccd8f598c85858b80918508d1889a86
+8d388cffffd6b334ff0000b333ffffdf1998ff00008000ffffdf333408ffffabe666
+64ff0054999a06ff00003332ffffec4cccff0000199affffeb33348bffffe8800008
+ffffab199a64ff0054cccd06ffffffcccdffffc0e6668affffd4199afffffe4ccd44
+89387c86458885858b80918508137e600a13be610a137e77436650218b084206ffff
+cc80008b86bcffffff8000aafffffee666ff0046e666fffffe999aff002b999affff
+ff999aff003f800008f72cb2ffff67e666068bff00178000ff0000199aff0014cccc
+ff00001999ff0013b33408ff0097e667060efbac86a2f7a1b2cbb2f7759ea47701ff
+005fb333cf03f78af841153906ff00008000ff004a8000ff0000e666ff00418000ff
+0000999aa9ff00013333c9ff0002cccda78b8b8b92878d828b7381497f658889838a
+869185bd88ff0007b333fffffb4cccff00034ccdffffb9b33408ff00014ccdffffe4
+1998ff0000cccdffffc8b334ff00006666ffffc0333408ffffaf800064ff0050b333
+ffffdd199a06ffffe2e666ffffaf4ccd64ff0050800007ffffff8000ffffb0cccdff
+fffecccdffffb7e666ffffff3333ffffdf4ccd893c82885188fffff9e666fffff9e6
+66ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e666
+ff0005e666ff0000333496fffff9e666ff0006199a08518e828e89daffffff3333ff
+001fe666fffffee667ff0047e667ffffffb333ff0050333308ff00523333b2ffffad
+b333ff0003199a06ffffffffffff00144ccc8bff00146666ff0000199aff00143334
+08ff00523333060e5a86a279a8f790c691c6f772a212ffffe9999a9cff0072e666da
+ff00a3199a9cff0073e666a213bf80ffffe9999af7a915ff0005b33388ff00054ccd
+8a918ba2b7baa8ae8bff00034ccc8bff00034ccdffffffccccff00034ccdffffff80
+0008ffffe7b334078b388a5d893889387c86458885858b80918508137f80600a13bf
+80610a137f8077436650218b084206ffffcc80008b86bcffffff8000aafffffecccd
+ff004cb333fffffe6666ff002cb333ffffffcccdff0048999aff00143333fffff34c
+ccff0015cccdfffff6b334ff0012199a8ba38bcc98aaf6fffffcb332ff0004199aff
+fffa4cceff0001e666838b75595a7a6f8b08ffffec33338bffffeb6666ff000a8000
+ffffe86667ff0010b334ff00003333ff00394cccff0000b333ff002cb3348dff0042
+ccccff00028000deff000e800090d18e91918b9685915a8affffe1b33387ffffcd4c
+cd8bffffcdb3338bffffe34ccd8f598c0885858b809185d1889a868d38ff00013333
+ffffccb334ff0000e667ffffd99998ff00008000ffffd6999afffffeccccff000019
+9afffffecccd8bfffffee6678b084e8b554c7e4a080e6b86a2f7a1a37c9ff71cb2f7
+20a312f700daf77be313def7bff87f15fb0306ff00004ccdff001f8000ff00004ccd
+ff001f1998ff00006666ff001d66688ca89b9ed38b08d0d267fb13fb00545a2a1f13
+be738b618d7e8e0890078bff00298000ff00003333ff002cb334ff00006667ff002c
+cccc08ff006f666606fb04fb301513dea184a889ad8b08f74abff706e0c666f702fb
+4d1f718b4581638b598b6f8f598c85858b809185d1889a868c38ff00003333ffffef
+e668ff00003333fffff13332ff00003334fffff1e66608ffffaa666664ff0056199a
+06ff00008002ffffd6999aff00006666ffffd9b3328bffffccb3348b388b5d893889
+377d87458885858b809185bc8ca98fbe8bc38baf87bd8a0891918b968591468f6a90
+8ac58ad68acb8bd3080e93fb70aaf74aa6f79bb1f7beae01f0dcf779dc03f82ff872
+158b607e69786f73685b7a408b0859f7bc06a391a68daf8bc88bdc6e8bfb0a08dc8c
+158bbd7ab367ad5bb945904c8bfb2d8b45808289087907878e88901ea98e928b05a5
+8f7a6f1ffc73078b4b9053975ea725cb5bc08b08b6c89cbda37a917c1f828b828786
+8574769e685e8b085a6babf7791ff76707cf8ba8868f8408f2fb5405a55bb865c68b
+9a8b9c8e968f08879f05608b6fac74b70821f76105b69ae9c38bf5080e2081b363a9
+f80da112b5d459d8f72cd013acf7b4b91591779a67be8b08baadb190928191871f85
+8b887b778b668bfffffb199aa9ff0001e666c20890f72205ff00018000ff002b3334
+fffff9b334ff00201998fffff46666ff0017ccce08ff00446666ff0077e666628bff
+ffcdb334ffffa7999a05ffffe61998ff00184cccffffdc8000ff0007199affffdcb3
+348b083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b958ba9b49aaf8b
+ff0018b3338bff001f3333fffff0800098ffffc733340855ffffa11999ffffdd199a
+fffff83333051374ffffa36666ffffeb6666ffffbf999affffcf999a8b4a8bffffce
+6666a3ffffe4999aff00246666fffff3800008ffffdd999affffc38000b38bff001e
+4ccdff0035199a05ff00074cceffffff4cccff00079999ffffff999aff0007cccd8b
+b78b9f94b5ab089e9a05ffff808000ffffec666615ff00653334ff00b18000ff0021
+4cccff0008199a86fb0905ffffff8000fffff4199afffffb8000fffff9e666838572
+77696c708bfffff4999a8bfffff5ccccff00026666fffff7199a8f08ffffe46666ff
+0016199a15fffff58000ff000d999afffffa999aff001033338bff000db3338bff00
+258000ff0018cccdff002d199aff00473333ff0011666608ff0001b333ff00006666
+05ff00514cccff0047999a158a078b84897e888a08fffff76666fffffe199a050efb
+7381b6f7efa812e6d046ff0040cccd13e0baf82d157e8785831f8207868c8a8f1ec3
+068b42fffffd199affff9c4ccdfffffe9999ffffba999908ffff8e4ccdffff38199a
+b48bff0048b333ff007fcccd05ff00041999ffffca199aff00169999ffffea199aff
+0027999a8bb78bbba0b0b58995fffffe80008dfffff980008d7278687c728b718bff
+fffc6666a8fffffd999ac6ffffff6666ff000f999affffffe667ff00164cccff0000
+3333ff001a199a08ff006f199aff00c3666605ff00084cccff0001199aff0008199a
+ff000366668bff0007199a0896078bff0001b334ffffff999aff00016666ffffff33
+328c08ff00273334ff0044e666628bffffd9e66648ffffaf199a8b8cc405ff000119
+9ac9ff0002e666b18b8b8b91888e878b848b7c807c857b847a8a8b818b808e7d8b21
+0813d0ff0040cccdffff6a66661513e0ff00010001ff0028b334ff00018000ff002a
+b332ff0001b333ff0025333408ff00406666060ef71a8aa8f7c1b2f78ea701f1dbf7
+dbdbbda603f88c16d88bb745994408a68b85f729058a948796728b08727ba3a41ff8
+8507a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b780586
+8f88901ea506b39a7d6d1ffb62fbdbf76207a7999bb41ea506908e8e901f8b9e898c
+058b2e8a6764348c8b1e898a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b62
+1e7106868888861f8b788d89058be88dafb2e2898b1e8c8d8b9e0590888e861e7106
+637c98aa1ff795f7dbfb95076f7d7b621e7106868888861f8b788d8a050e608aa8f8
+03baf75ca9a57701e3d6f75ad6b8a403f848d715f76407f267c2431e648b507b4848
+08f7e7750777827c8779877a8867857b8b088d7205898d888e1eac8f059f947b521f
+fc89076e827c691e7806868988861f8b788d89058bce8dafb2cf898b1e8d8d8b9e05
+90878e871e78066a819aa81ff78e07bbbab6a5a88b08c3a1783a1ffb73076e827c69
+1e7806868888861f77d207d98ba93c965a08a48b85f71b059c808f7a787a9da91e0e
+e88aa8f8e2a701f5dcf838a603f74fd315ff00ec999a07ff001acccdfffffc4cccff
+0010e66680ff00154ccdffffe9199a08f74afb5a059f758b718b79088c84a38b05dc
+8baf36965308a68b85f729058a978493758b7a8b7a9b72a808fb83f7980583948593
+8b938b949497a9a708f734f72b05bcb9af94b3900891908e901f8b9e868c058b4e8a
+68633f8c8b1e898a8b7805868f888f1ea0069c9981851f8b82837f787808fb4ffb44
+05ffffe8cccdffffea4cccffffee1999fffff3b334ffffec199afffffae66608ff00
+e3199a07a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b78
+05868f888f1ea606b29a7d6d1ffc8a076f7e7b621e7006878888861f8b788d89058b
+e88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98aa1f0e428aa8f80aa8f767
+a9a57701e3d6f7b6a603f737f76115ff0005cccd07ff0003b333ff0000ccceff0003
+4ccdff000066668e8ba28b977a997808d424059d728d748c790884a407db8b9f4297
+5408a68b85f71c058a978493748b7a8b779875ab08fb09f74105888f89908b8f8b8f
+8c8f8e8e08d7df05a4a5b7a1a68b08920690918e901f8b9e878d058b558964685b8d
+8b1e88898b7805878e87901e8f06a39083831f8b81877e7b7bffffca333350ffffde
+999affffe1b334ffffd43333ffffea999908ff01cdb334750777827c8779877a8867
+857b8b088d7205898d888d1e8d8b8f8c8e8b948c9b8d8b8b089f9479541ffc89076e
+827c691e7806868988861f8b788d89058bce8dafb2be898b1e8d8d8b9e0590878e87
+1e89066a819aa81f0ec48bb2f85976f71bb301b5a5f88fa603f71af91a155c8ba69a
+57910877fb56a589058fb8a8e5d58b08f79506928f89851f8b868884858408fc15fc
+b105858389838b8408819086991ef80f06d98bb745994408a68b84f729059488a172
+1efc0e067a838f941f8b908e91909408f807f89b059fa78e928b930894858e791e0e
+fb2a8bb2f7f4b201aba5f7baa603f7e8b215fb6c8bf779f7f005949993998b918b8f
+8b8e898d878e898b838b888b758a728908fb58067b8b878d8a9a08738f6cfb2ca586
+059edfa898a98b08f7228bfb80fbfb05858288858b8608849386a61ef74006dc8b9e
+42975408a68b85f71c058a97819e758b080e3e9576f831a881a512ddcfdea713b8f7
+58f853154b5961591f8b6b937199697477777f757d089779059d97a29a9f9a8d87a9
+3d8d8608c4fb2505907f9283988b958b9593909908f721f7ed059cb5998ea78d0891
+06928f8e901f13d89f078b60896f6a568d8b1e7507888c87901e9b069e8a938a8b80
+8b848881857b0830fb7179597bc062ed058b8c7ab28b8eaca5c5b98bbc08a374a261
+1e13b8877115a39c7d7b1f8b6b5c657173849d88938bae08b19fa4a11e0e2b8aa8f7
+c4adf790a701f1dbf759b303f74af8d215a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b621e
+7106868888861f8b788d89058be88dafb2e2898b1e8c8d8b9e0590888e861e710663
+7c98aa1ff798f72107ac8b977b906f08916c05878e88901eb08b8e8e0587ab87a88b
+ae8bac90a98eab088d8a8d881e6706878887871f846d05856f827b688b08fb21060e
+fb228aa8f74dadf72fa801eed5f737ba03eef7fa15fbb2076e817c6a1e7806868888
+861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809aa81ff7
+21f507ad8b967c916e08906c058c888d87918b08b08b8d8e0588ac86a88bad8bad91
+a88dab088d8a8e891e6706878b88878a8608856e05846f827a688b0821f70306a796
+9bab1e9e06908f8e901f8b9e898d058b46896468478d8b1e89898b7805868e88901e
+9e06ac957b6f1f0ec476a7f8347793a612b0dcf736c5f738db13bcf7e69315f77f07
+f706a3c1b1c8b458fb211e8b4b7861675d086e66657b618508fbc1f77015fb5bf730
+59f709e3f74cbef75ff449effb071e718b6f847676646484618b4208fb8d075b9067
+9a73a76bb275be8bd58bf715bab0a19c0813dc77a005627432608bfb15080efbb3f8
+4bf7af01b9b603b9f85915f8bb0a0efbb3f84bf7af01f74db603f778f85915f8bc0a
+0efbb3f886df01b9b6c6df03f728f8b015f8bd0a253415f8bb0a0efbb3f886df01ad
+dfceb603adf8b015f8bd0af7563415f8bc0a0efb6cf858b193dfebb112f704b77ab7
+b8df13e4f778f8b015749e78a2a29e9ea2a2789e741e747878741f6af7441513f458
+6b67651f13ecf8be0a13f48bb470af8bb18baa9c909f8bb18b8f6f9d8b089b909695
+a9689a5f1f0efb9ff858b1f750b112f704b77ab713e0f757f96015586b67651f13d0
+f8be0a13e08bb470af8bb18baa9c909f8bb18b8f6f9d8b089b9096951fa9689a5f1e
+0efb9ff858b1f750b112f703b77ab713d0eef960155f687c6d8190809b1f9d8b8fa7
+b18b9f8b9c868b6c0813e08b6570678b62085dac6ebbbbada59e9981937c1e7e8b7b
+6e6b8b738b82988b9e0813d08baca6bd8bb008b16baf581e0efb50f722f77001a6f7
+d303f7b4f7b615aa8e99a498b3087c8f0580747f89788a08fb5f7f05728879777b5d
+0898850598a09b909e8d08f75c2c15aa8f9aa497b2087b8f0581768088778a08fb5f
+7e05728979767b5d08988605949d9d92a08d080efb0e9676f86a77f705ef12b5d6c4
+ef4aa7e6cf13f6f7dcf702158bffffef6666ffffeb999affffeee667ffffe26666ff
+fff5e666ffffff8000ff0043e667fffff04cccff00254cccfffff63334ff0057999a
+84d885e6899f8b9189927f8b818b88838a7fffffff6666fffff7e666ffffff199aff
+ffe88000fffffccccdffffd8ccce08fffffd3333fffff7b332fffffc4ccdfffff799
+9afffffb3333fffff78000827d777c747c5c6c57608b438bffffc1199aff0031cccd
+ffffd21999ff004f1999fffff49999ff0008cccdffffe23334ff00164ccd7da08b9e
+8ba4ff000ce666ff00083334ff0022b33408ff001bcccc91ff0018999a95ff001166
+66ff000d6666a9a1a0a38bae08ab72927b777780761e8b7f8e868f87088f868d868b
+7d0813fa55f87f15f8bf0affff95199afca415ffffe1ccccff00133333ffffec199a
+ff002180008bff00204ccd8bb598aab3acff000a6666ff00088000ff0008b334ff00
+088000ff00076666ff00086666fffffee666fffff64ccefffffee667fffff5e666ff
+fffeb333fffff56666fffff68000ffffae8000fffff1199affffd34ccdfffffe8000
+ffffc43333080efc24f80fdb01b4db03b4f83715759d79a1a19d9da1a1799d757579
+79751eb3f82b1579757e681f8b5d9575925191588f508d7d8c878d86938b938b8c91
+8c928d948bb395d293c395a68bb608ae7598791e0ed9f821f7befb637612a6d6f723
+d513b0a6f94b15fbbed6f75f07f7236b05137026d5df07f7915399d7050ecefb79f7
+bf457712a6d6f723d513b0f1fb1915f75f40fbbf07f8c3f7117dd7fb9152051370e0
+4125070e6dfb8aa0f76bacf7f4b7f775a8a47701f705d3f768d703f74bf7a715f70a
+0a45f86d158bffffdd199848ffffdfe66805fffffc199a89fffffc4cccffffff3334
+fffffc66668bffffefe6678bfffff36667ff00106664818bfffff9e6668b87fffff9
+b3348bfffff94cce8bfffff6ccccff0006199afffff56666ff0002e666fffffa3334
+089a69059b95ff0012ccccff000a4cccff00123334ff0008b33408bdff0017cccc8b
+fffd893334058b3c8086518885858b829185b38cff001766668fff0028999a8bff00
+2d4ccd8bff001db33387b48a91918b948591478f808f8bda08f714078ba694819587
+9f83a086a58bbe8bb99eb0b0b6b6a4c58bd88bef45ea2f8b5a8b67707372087d7c88
+8c8ba0088bff00991998e5ff002ae66805ff0003ccccff0001ccccff0003b334ff00
+00b334ff000380008bff000fb3348bff000c6666fffff14cccff000980008bff0005
+80008bff0005199aff0006199c8bff000766648bff0008ccccfffffa6666ff000a80
+00fffffc6666ff00066668087bac057c8179fffff5199878fffff6e6680843ffffdd
+80008bff0017800005c98fb18b1e92888d821e7381467f658889838d7c9185bd8896
+908b3b080ef75bf803f88115928190898a8b8a898194898b8e8c8e8b1e59a7158506
+89958b8a8890898c888c8a8a8a8d8a8e8b8c8d8b8c8c8c8b978b8d788c8808ef9a15
+89068c89908b1e8d8b8c8c8c8b978b8d7a8c8608850689948991868b08306015888c
+8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b8c8a888188841e701688898789888981
+9886978b9508a092a59fa391708078888b8b1e8a8b8a8a898a8b8d8c8d8b8d089d81
+9b7f7f837e7b1e8b838e7e988408f7f8fc2815868b91af458b738b7c6e878b8a8b89
+8c8b8e8e90989f9c9199b68c998b9a8ba97bbd6995088d918d8a8b8c9e86af6f8b4e
+8b768775816f9e89848c9789b58695728b838b898989898b08fb9af833158a8c848e
+8a8b8596899b8b93089d989aa19d9e7d681e8b7f897d867b7d918c89838f968e9394
+8b990898819f7b7e8080741e8c868c868d8708ad5e15898d8b8f898c5f6b72847a8b
+768b7b937c9a878f898d8b8f8ba4c4a49a8ba28bd46b9284088c898b898b898b8487
+838386087278056a7374857d8b858b7a8b7a9d087a9b05869089908990987f9d7ea5
+8ba88ba79caaa108cdfcd5158b8c8fab0592c18c848ba08b938a948a93088bad8b94
+05a38fa09d1e8f8b8f8992858d7f8e809183937c9e87988baf8b9eb99b8b8c8b8c8b
+8c8a8d878c858d85088e7a059a50b3a29465886e679256600859610584867d7d708b
+708b7a9a819c08fc329a155e91819589938ba1a1938bac8b9c849c8b998b958e9493
+94938f968b978b908b908c908b08908c908c8f8d98947aa4b493b4819562a26a089e
+7105b25a956b8b768b838a858985817f7a7e748b6f8b55ac429508eaf798158b7893
+8196838a928a928b918ba393b3a6bf08a1b5058f9582839fbd089cad0591978e918d
+99089a7c0593829d859b8b998ba492aaa208a59e059c698c84a0618e46c3998bfb20
+8b778a788878858f858d868b7c8b7f7b8b648b7c8c9a8b650859424587708b738b6a
+8f7b9f8499898d8b8d088c8b8c8c989e9c961e8b977a9f6aa6086d9f0557b289988b
+a18bb3afd197998c8a908a8c897a776e4f8b6008f761fba215b58bb685a08892799b
+80a186089e8805a58b9c98a19e08a7a305cdc4b17c8bb38ba9548c85a90887a00587
+a68590808b919d8e9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72
+518b48088b4394678b708b7183786d66087572058281797485727f52878d79670880
+7905837a847c8b7f0883078b878b888e8783818f8c827686888889868b086a068179
+7f6e1f8b8092688b838b7b8380817b89878a868b858b73c8869f86d77aa975b28b9f
+8b9d91999f088a07a396ae8fa78b080ef8e867aeaef70380b29fade4f7023cf71bdc
+d512c2bcf864b4f73ae795f70d13d7e0f84c6715c2f706b5f0bb65d3231f4a8b316a
+7c8592d6c2b3ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b086d
+8b80a3749e867c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b18bb9
+8bcb9abf9f49d857bf35aed89fa4c58bb68bbc5ec04f8b08638b646d76579890978e
+978b08a5a07b68695f7a691f808b728d6d905a924892598b488b457961716472fb00
+3b8bfb310813bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f758b
+5758786a796b866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884ae
+15648b62a170a676a183b48ba98b908b908c8fbc9dc39fbc8b08e4a664515b505a3f
+1f0ef8e86aeb7df701c3d7f744f70a26ae12d1f70ef82fb2f793b8d6bd136f80f97e
+f89a15335455471f8b62a05acd6cc76fe9839c8a6347427f698b728b5c934da7fb15
+c86ef7048bb708137780bbac92971eb48b915c9674aaab91b38b9c8bbd62bc508b69
+8b617d775f7f72816a8b6e83936aa1699b08619f4b98538fa629a546c947808e818b
+828b084458565456b356c41fa88bab98a7a6698c6d9b8baa8b9a91aeb98b9b8b9c87
+9985ca6df721fb11f72d8bc28bf724a7d1f729089e87dc698b530813af806f756260
+1e6c8b7c9b7c8b08767b616f789374a31fa78bc09fa69eb4a8abc28bb28bdb22b66e
+95919b8e9e8ba108ee42effb0f1ef72bfb3a158b697d67827d579050915e9f54a576
+a98bad08ad9fc7e0edbf385b1e0ef8e867aeaef70380b29fade4f7023cf71bdcd512
+f730f70d95e7f73ab4f7a3c2f71ebd13bbf0f95e6715f7148bcef7008ecb9789968b
+968bcf8be1a18be38baf86a978ab78ac57be758b086d7c626c679b899fbba770644c
+4f7d591f828b818c838d8bf73120db63a40813d7f062a5459d478b5a8b488459846d
+8673897f8b08695f9cadaea09ba51f978b9888978676bf65a9638b4f8b5d568b5a8b
+60a551d777356857574a3ebe77cb7cba8b08b08bb391958f7f7386668b6f0845cf6b
+acb3cca2e81e8b968997869a747880736d8b718b7aa28b9f8ba6a4b0aeaaaca8c6ae
+e58bd48bbb7ba08008ab7ac36391407c9131ac4b8b082265435b1f26f70761c11e93
+ae153e50bcbbc5a7b2e31fbc8bc477bb798c878b868b868b6d836276757170627564
+8b080ef785e2b2f2b2f1b301f991f82e15fc2563f825065b2515fd0664f90606bb24
+15fc2564f825060ef785e2b2f2b2f1b301b1f82e1563f825b307fbf5fb221564f906
+b207fd36fb221564f825b2070ef88cf782b37491121380f91ef7aa15fb7f06134044
+8bfb887a3f8b0885071380d08bf7957acc8b08f77f061340bd8bf78f9ce58b089107
+278cfb819b558b080e1c05f1f780ba70921213801c04fcf7af15fc6a061340fb238b
+fc7c77fb2b8b0884071380f71d8bf89677f7178b08f86a061340ef8bf88a9ff7488b
+089207fb5c8cfc6e9efb008b080e1c164ffb1dc19cbe73c1f725c15fc657c183c06e
+c1f740c066c08cc174c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8
+688ba3d1f7a18bf7d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336
+f7db8bf7f78be2e6f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997
+979a997f977d1ffbed8bfb9920fbb08bfb778bfb80f705fbd18bfbbb8bfb032ffbe4
+8bfbc18bfb3ae1fbbc8b081380a0fbe18bfbd725fbc58bfb318b3ad2fbda8bfb9d8b
+6844fc618bfc208bfb44f70b708b087e7e7f7b1f1382001c05d5fc1e15138900f7ad
+8bf74b56f75e8bf77a8bf87ad8c58b08138400f78e8bf75745f7b68bf7858bf7a3d6
+f72f8b08139000f76f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf
+8bfb418bfc31e7fb7f8b08138500fb388bfb9d40fb828bfbb08bfb57d1fb948b0813
+8800fb4a8bfb8c43fbdc8b08138200fb8e8bfb43bafb928bfb818bfb164efbb78b08
+7c7f7f7c7c977f9a1ff7ba8bf714c9f77d8b08f90efbc615fb588bfbc0a87d8b7d8b
+7e7f8b7c8b7e957f9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf787
+8bf76029f8108b0813c000f7a58bf71ed2f77f8bf71c8bc27abf6790889089908b9a
+8b97988b998b948793839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb
+73edfb8b8bfb4e8bfb9129fc0c8b080ec2fb67c2f7aea86fb2f858a712f5dcf764d5
+13bcf869f71315ea0695988f941f9f078f888d871efb03f7140652778b78054b6f72
+511e2f066e799eaa1ff7f8078ba7ff000e3333ff000ce668ff0028cccdff00031998
+08a58d0590ff000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e89
+8a8b78058b868ffffffd4ccc8fffffffb33408a68905ff0025999afffffd3334ff00
+106666fffff4cccc8b6d08fc07078b68fffff66666fffff9cccdffffd6999afffffd
+33330813dc6d890587ffffffb33387fffffd4ccd8b86088b788d89058bf7078d971e
+13bcd98af73f8b8bfb830543a570ba1eb88bb4a1b1b608799d0571777883718b0870
+84a9c91f0ef9defb82c196a7729bf714a2c4a67a9e8cb092c1f717a7709ff712a2bc
+ae75a478a6f7019b12f71bd8f73fc25db671d2c0b6f1c25db66abcafb9a3b6bbb89e
+b69ab68ab9f707b813972731e4f874df15e50694988f931f9f078e888d871e22f70e
+0655788b79054e7073541e34066f7a9da91ff7e807a5989bb21ea4068f8e8d901f8b
+9d898d058b33896966388d8b1e89898b7905868f898f1ea406b1997e6e1ffbf9076a
+8283631e6f06878788861f8b798d89058bf7018d971ed58af7368b8bfb770547a570
+b71eb58bb2a1b0b4087a9c0572787984728b087185a7c51ff937ea15f8c00ab8fb02
+1513d72311ecf8c10a139b2311e4fc3af75f1513b72311e48d8a8b891e7b85758663
+84088c7ea38805948a8f858b6f08fb22078b7b858578890881890588898a881f8b80
+8c8a058baf8ca2a2af8a8b1e8c8c8b96058e898c881e838d05788d86918b9b08f71e
+0713bb2311e4a8ada095a48b08aa9178631ffb0f078b7b858579890883890588898a
+881f8b808d8a058bad8ca0a3b18a8b1e8c8c8b96058e898c881e808d05798c85928b
+9b08f70b07be80b2581e6d8b7083676008890613932319e4fb6bf71115f8c20ac140
+158d8a8b891e13b72315e47b8573866384088c7ea48805938a8f858b6f08fb22078b
+7b868578890880890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e
+888c891e808d05798c85928b9b08f72207a88db18b1e13937311f4f7e1f7aa158b7b
+8584798a08808905888a8a881f8b808c8a058bb18ca01e13937311eca1b88a8b1f8c
+8c8b96058e898c881e7b8d0513933311f4788c85928b9b08f711078b928e938f9099
+9e9795918b8f8b8f8a8f8790869286968b089a95949a9a8296741f708b726e7c7508
+898b8dbe058d8a8b8a1e13936711f47b8574866384088c7ea48805938a8f858b6f08
+fb7f7a15f8c00ab8fb02151393a311e4f8c10afc348715f7350713936b13e4a1a2a9
+8c918b08aea761544a715a551f7a8b7f977f990860f7ad15fbad078b758b81897f08
+1393a313e48e898e8a918b9090939590920813936b13e49c7d9d84a48b08c5cec0e6
+d058b65a1f6f8b7581777608f70507b08da28b1e8f898d861e7c8564847489088c7d
+058a8c8a8d1e9d8905979084661f13932391e4fb2a16f8c20ac140158d8a8b891e7b
+8573866384088c7ea4880513932351e4938a8f858b6f08fb22078b7b868578890880
+890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d05
+798c85928b9b08f72207a88db18b1e0efb2ef758f82815a6069c8e97901f8b968491
+858c878c7e8c808b838b848a868b878a7f898b7c8b8b8c7e93888e8a908a988b08fb
+1573157f9585921e918b8f8c8f8f93929391938f908e908f8b938b9c808e858b858b
+8689767c7e8188878b8308f782811594848f89908b918b978e8b9a8b91898e869084
+927c968290888c888c888b828b82848b80088b868e858f88948594858f8708fba635
+15848c7e9b1e928b928f8e928c8d8c8d8b9b8b9b8c928b8e8b958290858b848b7f8a
+897b8a848b818b7908f7ca95157c8c7a9d9b8c9b9da488987a828384811e8b888c7b
+8b8708fbcafb121585938494969294901eb10790889a7b818580841ef7cb5f158c8a
+8e81978b08979290941fb0078f8a9c7a808481851e8b758b788c8708fbb72d159779
+8e8b918b958b948e8b998b918a8d869286928792889188928792808b7d8b877e8b86
+088b85917e938008f79c16819181971e918b8f8e90908d8e9ea38b998b9188977d8b
+808b8784878488838784868586868a888b87082d5715809483931e938b978e9a909d
+928c918b938b948493808b898b878a86898289858982898489888a88880888878987
+8b87082b84159387a683938b968b91958b948b8e8a977a8e838d848d848d848e898b
+898b7b8b87818b84088b8192868f89080ef71aa2abeca8f791a2eeab01adb3f7189f
+f74fc9e8b303f75df76c159f6cb66ac28b08e4cedbdadf45c9331f458b807e7789ff
+fff5999affffe0b334ffffff6666ffffe94ccc8c739088928a938b9cb9a0a7c48b08
+b3bf682942685c471f588b6fad809bfffff63333fffffd4ccdfffffb6667fffff9cc
+cdfffffb6666fffff9e66608f70cfb5515a40af8a904a50a0ef71aa2abeca8f791a2
+eeab01adb3f0cef7469ff714b303f7d5a215a40aff0069e666ff00a74ccd15ff000d
+6666ff000b0001ff000accce97ff0006e666ff000ab333fffffb6666ff0006199aff
+fffb6666ff00063333fffff63334ff0002b333fffffb8000fffff98000fffff73334
+fffff5199afffff39998fffff5666608ffff78b334ff00cd800005ff000f8000ff00
+0ce666ff00126666ff0004999aff0011199a8bc48b9c6a9c5d938b928c908e8ca38c
+a189b0778d7a98458bffffe6999a8bffffe78000fffffa999affffea3332fffff633
+3208ffffc78001ff0055e66805ff00224cceff00121998ff00276666ff000a3334ff
+002a80008bf71f8bf700fb038bfb1f8bffffb1b333ffffdd6668ffffba3333ffffc9
+19985d08ffffabccccff0038cccd15ff00343334ffffb0999a05ffffdb6666ffffea
+3334ffffd53334fffff38000ffffd1e6668bfb208b20f7058bf71e8bff0052ccccff
+0025e666ff0048ccceff003c4ccdff002d666608c3ffffaab33405fffff9cccc86ff
+fffa3333fffffab332fffffacccdfffffa199a73ffffe5199a7fffffdb999a8bffff
+d9cccc8bffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff001ab333
+ffffe9e666ff00249999fffff3199aff0026b3348bff001633348bff0015ccccff00
+06b333ff00134ccc9508ffff73999aff00d5cccd15ff007e8000ffff3f666605ffff
+f3e666fffffa999afffff26668fffffc8000fffff14ccc8b538b61c48bd48bff001e
+6666ff00048000ff00174cceff00076666ff0011cccc080ef71aa2abff0083199aff
+001eccccff00abb334ff00193332ff008e3334ab01adb3ff00246666ff00446666ff
+006ee66899ff0015b332ff00446666ff006ee66899ff00314cccb303ff020a3334ff
+00e9199a15fffffcccccff00049999fffffcb334ff0004b333fffff933328dfffff8
+4cce7ffffff16666fffff08000ffffdc4ccc8b08ffffd8199affffeeccccff001d33
+34ff0036ccccff0043999aff001a199aff0014199aff00174cce1fff00214ccc8bff
+000a8000fffff3e666ff0011b334ffffdc999aff000599988bff0004e668ff0000cc
+ccff00038000ff00023334ffffff4cccff0011666689ff000d8000fffffbb334ff00
+17999afffff1ccccff00046666fffff38000ff000acccc5a8bffffc266668b5affff
+ce999a8b4c8bffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00
+134ccc76ff00224ccefffff4199aa98bff002680008bff001d199aff0017cccc99ff
+0017333408fb6b16fffffcccccff00049999fffffcb334ff0004b333fffff933328d
+fffff84cce7ffffff16666fffff08000ffffdc4ccc8b08ffffd8199affffeecccdff
+001d3334ff0036ccccff0043999aff001a1999ff0014199aff00174ccd1fff00214c
+cd8bff000a8000fffff3e666ff0011b334ffffdc999aff000599988bff0004e668ff
+0000ccccff00038000ff00023334ffffff4cccff0011666689ff000d8000fffffbb3
+34ff0017999afffff1ccccff00046666fffff38000ff000acccc5a8bffffc266668b
+5affffce999a8b4c8bffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd
+08ff00134ccd76ff00224ccdfffff4199aa98bff002680008bff001d199aff0017cc
+cc99ff0017333408ff000dccccffff2de66615a40af8a904a50a0e3d81a4f8cea401
+bddcf771dc03f787f8dd15f8c30affff836666fca415ffffdd999a3aa781ff001c19
+9aff0042800005ff001be666ffffe53333ff00218000fffff04ccdff002580008bd8
+8bf709d98bf77f8bee73df5fc5fffffe199aff00028000fffffe3332ff00026668ff
+fffe199aff0002666408ff001c999aff0043b334709574ffffc9cccc05ffffe8199a
+ff00166668ffffe3e666ff000ccccc608b288b2dfb0a8bfb5a8bffffa2999aff0019
+4ccdffffa91999ff002b1999ffffc74ccd08ff002d199aff001ecccd15ff00a8199a
+ff018dcccc05ff000c199affffd68000ff00084cccffffc8e6668b488b2f88427d58
+75395482798b688bffffe76666ff001eb333ffffef199aff002a199a080e3d81a4f8
+cea401bddcf771dc03f787f8dd152b0a87fce7152c0a0efb4c86a2f8e47701ff00ad
+8000cf03f787f701158aa9ffffff8000ff004b80008bff004b80008bff004b8000ff
+00008000ff004b80008ca98dc7ff00024ccdc8ff0001b333988bff0004ccccfffffd
+8000ff00003334fffffc80008bffffc8b333ffffddb334ffffce4ccdffffe74ccc33
+62ff0001999afffff4999aff00046666fffffb800094fffff9e66608ff002d80009e
+ff00168000919e8bff001080008bff0002666673ff0001199a698c6dff00008000ff
+ffb4b3348bffffb9cccc8bffffb9cccdffffff8000ffffb9b3338a6dfffffd333338
+fffff1cccd86458885858b80918508bc8cff001bcccd8fff003133338bff002e8000
+8bff0016800087bd8a91918b968591458efffff1cccd90fffffd3333de080e288bc2
+f8a6a412bed1f753e37a9e13f0bef868152d0a13e82e0a13f02f0a0e3280a4f7c3a1
+f78aa412bed4f74dd25edd13f8f76ff8dd15300a13f4310a13f8320a0e3486a2f72e
+b0f8257701f7a9d003ff01166666f76515330aff0096999a16340a0efb0b80a4f7e5
+b3f72cc458c912f7cdde13e8f7cdf75115f8c40a13d8f8c50a13e8f8c60a0e3480a4
+f7dfa4f7857701b8d8f77ad803ff0082e666ff0136666615360aff0007199aff001c
+999a15370a0efb199376f8c2c2967712b2a113d0f728f8b515380a13b07b970513d0
+390a13b03a0a0e2b80a4f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af732
+27153c0a13e43d0afb3afc6b153e0a0e2e9476f785a4f7dfa401b5d8f77ad803ff01
+54199aff0120999a153f0afffff8e666ffffe3666615400a0edc7eaef763b8c4b7f7
+5eae12f716e4ffffab4ccdff005c4ccdff015a6666aa13fab9f7df15ff0055cccd06
+fffffeccce7effffff6666fffff2b3348bfffff24ccc8bfffffa4cccff0000199aff
+fffa4cceff00003333fffffa666608ffff9bb3338b725e0513f6ff00814ccd06ff00
+14199affff748000ff005ab334ffff998000ff00a7e6668bc28bcc98aa909eba97bc
+94c48490828f7c8b7346693ffb028bffffa666668b48ff00623333ffffea3334ff00
+6ccccd08ff00c366668ba2b8ffff1f33338b0513faffffff333295ffffff999aff00
+0a199a8bff0009e6668bff00094cccff0000333394ff00008000ff0008b33408ff00
+f74ccd8ba2b7fffef64ccc8b05ff0017e667f72aff0062e667bfff003ee6668bde8b
+c047a8309988958d939286c185be7fc25f9260a0288bfb128bffff978000ffffa319
+98ffffe2b333ffff6fe66808ffffbccccd060e728aaaf3b4ceb5f7baa801f773df03
+dcf78615f72248fb0f0678867e831f7e07868c898f1ef72251066d7c7b601e6f0686
+8887861f8b778d89058bed8db1b4e7898b1e8d8d8b9f0590878f861e7006627998ac
+1fc5f70f0796998f951fa0078f888d861efb20cef70f0696998f951fa1078f888d86
+1effff83cccc8bff00803334f77f05a2b5969db08b08958a8f8f1f8b9d8a8d057689
+628a838b7d8b508d838c0889898b7805888c87901e99069f9385811f8b838580857e
+08fb12fb75fb18f77505879585988b93089692909c1e9906908d908f1f8b9d898d05
+7c89468a858b7d8b468c7f8d088a898b78058593898e1ea58b9b78a36108f719fb76
+ff0003cccd84ffff8c33338b0578867e831f7c07868c8a8f1e0e5efb7cdbf8baac01
+f764fb3415ff000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d99
+9adbf755b7f2c0f70499a8a4abb08e8e8eff00018000ff0006b3348bff0006cccc8b
+ff0006ccccfffffe8000ff0006b334888e728a7e8a6f8b08688b788c668c8888ffff
+fe8000fffff94ccc8bfffff933348bfffff93334ff00018000fffff94ccc8e88ff00
+1f999a88ff00206666857b6708ffff9cccccfb790584ffffefe666fffff7999affff
+fd4ccdfffff78000ff0013cccd08ffffa74ccdf76405ffffedffffff002a3334ffff
+f580009dff003d4ccdff0004cccc8e8eff00018000ff0006b3348bff0006cccc8bff
+0006ccccfffffe8000ff0006b334888e668a638a678b698b708c778c8888fffffe80
+00fffff94ccc8bfffff93334088bfffff93334ff00018000fffff94ccc8e88ff002b
+999a87ff0007e666fffff8b334ff001b6666ffffc04ccc08ff0071199afb9b05ff00
+08b333ffffebe666ff000f4ccdffffd2199a816ffffff4199affffde999afffff3e6
+66ffffe466667c6c80777d82728b7d8b878e808b086c7e737b769f78a61fa08bb393
+afcb080efb0281bb5bb4f80ea912afda4dd5f738d5c0a41376f7b7f77d15fb19078b
+7e85848385717669756f8b598b73b88baa8bb8a2b4d59e0813aef723fb7215be8baa
+9f91d4087290058a75856f758b08748aa5c81ff72507f72241a64239385255739780
+a2a89a9f981e8b928a92898f8a8e8a918b9608aab899b1adba77fb051e8b84888788
+8a0835760513762b73485b8b478b40c165d18bb98b9e93b7ad089f9b8d8b058f72a1
+6ab18b080ea381c7f7ddc75fa712ff0086b333ff004c199aff00a63333ff004ce666
+13d8ff01c5e666f71015ff00014ccef73305ffffffe666aeffffffb332a2fffffbcc
+ce9dfffff2199ac7ffffe080009f648b578bffffd9cccc76ffffbce666fb0008ffff
+fecccd8cff00003333ff0009333405ff0000cccdff0026ccccff00036667ff0026cc
+ccfffffc1999ff0011199afffffccccdff000db334fffff7199aff00076666fffff2
+cccc8b0813b86b8bffffd2999a84ffffd2666685fffffb333483ff0004199980ff00
+08199a8208ff0028b3338805ff000c33338aff0008199a82ff00024ccd81ff000219
+99fffff6e666ff00003333fffff2199aff000080006f08ff00014ccdfb8d05ff0000
+199979fffffd999970ff00024ccdfffff63333ff0003e667ffffef4ccdff000d6666
+fffff58000ff001fcccd8b08b180b7b11fffffffcccdf73a0513d8ff002c1999ddff
+00294ccdc6af8ba08bff000f199a86ff000733326cff000333347dffffffb33477ff
+ffffcccc69088afb3405ffffff66666bff0000666662ff0004666878ff0004666678
+ff000e33327da98bbb8bff00283334adff00206668c6fffffae66494fffff8199c93
+7d8bffffece6646dffffe7b33477818bfffff8e6668b8790fffffd33349708fffffd
+e66694ffffffe666a18ba5080efbb67fa8f764aa019abef71ca903cdde15c5b5dfbc
+99aa825753683053797099bf1e589a1556a852c8deb7f702ced45e9d62425138401e
+0e5c81aef7fdac01b5def79dde03f795f81615e7b4382d20603e313c56def0ecb6db
+e41fac04fb1e3e25fb00fb04db20f71bf71bdcf0f70af70545ecfb261f0efb8386a1
+f7e3a8b37701f725d403f725f5158b3c7b84488885858b819185ba8ca78fbb8bff00
+2d4ccd8bff0016b33387bb8a91918b958591488e7b928bda08f75c07c48ebc8b1e93
+878c821e5c7c63833b7a8c808e819283a78ea48ea08b089a8f80591f0efb0d8bbff7
+d9b501c6acf74bdf03f7adbf15f8c70a0efb05fb63a4f7c3a1f78aa412c0d4f74dd2
+5edd13f8f771f81915300a13f4310a13f8320a0e26fb45a2f72eb001f7a5d003ff01
+126666b015ffff2e999a06ff00334ccdff00523333ff0057b333ff0080999ad0ff00
+5e3333ff00014cccffffdfccccff00008000ffff663334ffffff999afb0b08ff0096
+999a16340a0efb12fb64a4f7e5b3f72cc458c912f7cade13e8f7ca8315f8c40a13d8
+f8c50a13e8f8c60a0e2a80a4f7dfa4f7857701b1d8f77ad803ff007be666ff013666
+6615360aff0007199aff001c999a15370a0efb01f80bc201bba103f731f80b15f8a6
+0a0e2b80a4f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af73227153c0a13
+e43d0afb3afc6b153e0a0e2aaca4f7dfa401b3d8f77ad803ff0152199aff005c999a
+15f8c80afffff8e666ffffe3666615400a0ef71e86a2f778abf81077d2eb01ff00d9
+999aebe8eb03ff0196999af98915c30afb5116c30aff002ae666fc7315480afbb8fb
+6515490a0ef71a81a3f900a3bfeb01afe5ff00538000ebe8ebff004a8000e503ff01
+8e8000f98a15c30afb5116c30aff00758000fb1015650af7e0fbc515660a0ef681aa
+f8f2a2c7eb01efdaff00248000ebe8ebff00298000b103ff01948000f98a15c30afb
+5116c30affffdb8000fc7d156c0a0ef85c9476f913a201f8d5f90715b68587686c51
+0856ffff9c8000fffffcccccfffffa8000fffffacccc95ffffcecccef005ffffe499
+9ac48ba9b59191918b968591678a7b87648b638b7e8f6b8c85858c809185b6859370
+ff002180004408ff0050999afb3fff00016666fffffc3334fffff94cccfffff1cccc
+ffff954ccefb6dfffffb66668bffff48e666f83505ffffe6999ac48ea8ca9291918b
+9685915c8a7287648b638b828f5c8c85858c809185c4868d6fff001e80004408ff00
+d98000fc9405ff00064cccfffff13333ff0003e668fffff7cccdff0008cccc8bff00
+04cccc8bff0005999a93ff0007999a9a08ff008c3334f7a8ff000acccc9fff000899
+9878ff00806668fba905ff0006b334fffff1999aff00034cccfffff76666958b968b
+8e93929a08ff00ecb334f89205ff00156664ff002e1998ff000ce668ff0033e668cd
+9391918b968591638a7287748b748b6e8f5c8c85858b809185cc86ff00069998ffff
+d73334ffffe76668ffffcacccc08ffff421998fc2ffffff9e668fffff2cccdfffff9
+8000ff000d3333ffff846668f794fffffce664ff00063334ff0000ccccff0002b332
+ff0049199cff008b199a05ff00184cccbaa3bebf9391918b968591728a7287748b74
+8b788f668c85858b809185080e6bfb71aff74bacf7fbb2f780ac12e7d6f741ee4dd6
+13faf858f515f7e67c077d8b6b7c688b08fb51c706f72ecfa1ac1e13fcab8baa7f94
+6096559c73aa8b9f8b9f9d8b9f8bb06ab266a4729c7195658b08372355fb591f7958
+0779867f831f7e07868c8a8f1ed0fbce068b6efffff38000fffff53333ffffe18000
+fffffccccd0878890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2
+dd898b1e8d8d8ba2058b9087ff0002cccd87ff00003333086a8d05ffffda4ccdff00
+024cccfffffab333ff000bb3348ba808f7cef7490713faa58e80631ffb9c07fb008b
+fb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f9f8bad8bb0aa08ba
+b1a5eb8bf736080eb581b6f7f1a612e1d04bd0f769d04bd013d0baf82d157e878583
+1f8407868c8a8f1ec30613e08b2c86fb228b4f8b47a270b78bb78bb1a0b0b58995ff
+fffe80008dfffff980008d7278727f728b718bfffffc6666a5fffffd999ac60813d4
+89bd8ef70e8fe408f76e0613c88b2c86fb228b4f8b47a270b78bb78bbba0b0b58995
+fffffe80008dfffff980008d7278687c728b718bfffffc6666a8fffffd999ac60813
+d489bd8ef70e8fe408ee0695988e941f94078f898d861efb078b8cc405ff0001199a
+c9ff0002e666b18b8b8b91888e878b848b7c807c857b847a8a8b818b808e7d8b2108
+fb6e8b8cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b7c807c857b84
+7a8a8b818b808e7d8b21080ef72280b562c0f7e7a67ba5f770a512aedcceabcedaf7
+0ad15ab7139f40f800e2157a98056d606871628b084b4edbf6f2b0d3ca1fc38b925e
+8e6c8e739e80a08b9e8b9c998ba78bff0025199affffe6999aff00214cccffffcecc
+ccff000f8000ffffc93334ff00224cceffffef6666ff002e66668bff002e666608c0
+c8bcdaedba55361e136f806577564b888a8a881e7807888d8a8e1ec9fbbd0647a470
+b71eb68bb2a0afb588918791819072787a83728b087184a8c61ff78fe60795988e94
+1f94078f888d861e218b05139f4086e60586f353c8fb0b8bfb068b484b8b468bffff
+d5ccccff00094ccdffffdbccceff00216666ffffdd666608fffffb4ccd06253734fb
+1afb10c836f7101fc38bb9a5b5d3080e6e86a2f7f99d85a6f78fac12ff00583333ff
+0042199aff00acb333e954d413bcf730f87915ff00078000ff00966668ff00438000
+ff001d9998aa8baa8ba47f946095559b73aa8b9d8b9e9d8b9f8bb06bb268a4739c76
+95678b08408b285981fb3f8a708667728b087a8685831f82078b87ff0000b333ff00
+00199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdffff
+fb66668b808b8bff00003333558bffffc3cccd8bffffc3cccdffffffcccdffffbd66
+668a72fffffccccdffffb1199afffff83333fffffbe66658888888fffffe8000ffff
+fbb3338bfffffbcccd8bfffffbcccdff00018000fffffbb3338e8808b38cff001319
+9a8fff0025e6668bff002a999a8bff0019666687b48a91918b9685914a8efffff933
+33ff0004199afffffccccdff004ee666fffffee666ff001a6666ffffff6667ff005a
+999a8bff0057199a088bd9ff00008000ff004b4cccff00013333ff0017999a08f7ad
+fc0c15fffffee666a9ffffff199aff003280008ba98ba9ff00008000ff001f8000ff
+00018000ff001e4cccff00028000ff0031999aff00038000ff0036199a8b8b8b8f86
+8e838b0813daffffe3800080ffffdc800082468289858d858d85ff00368000fffffa
+e666ff00078000fffffb199a8e51ff000180006dff00008000ffffe580008b6d8b6d
+fffffee666ffffcc8000ffffff199a6dfffffd800038fffff78000884e860885858b
+809185a58dff00354ccc8eff001db3348baa8bba88a98991918b9685914e8f838e88
+df080ef8fefb7b929d92f705adf7419d7aa3f7a99df7de929c9212d4929d92f809bc
+f714b8f80a929d9213f7fcf912f8ff15fffffa99988bffffefccd08fffffdf99988b
+838b838b848a969b83a6af9b8391828f7f8b788b7d7c8b798b7d98868b86088b8384
+87858968866b816d7d8b8e8c8e8b8e8b928a8c8b948ba695949393868c868d838b08
+767c7b781f8b6fa28f8b818b84fffffbb334fffffb9998fffffc4cccfffffd666881
+84ffffe78000fffff48000ffffda8000ffffda8000899e77988ba68b938c8f8d9268
+8389758b8308829073a3ff0005ccccff000833348b7f1e8b878a8789887572786e7d
+6b819f699089b68889767e8b748b779d7c998b938b92908f8b08938d80801f806e85
+6a896a8790838e818d68938199849a858287818b7f8b749d7d9f8b9b8b919a918b08
+978b907d8c848b6b8f728f79868d868c838b668b7e988197898588838b828b749c7a
+a08b08a88b8ba1928b918b90898f878f7d8e828b840879077f8e84921e918b918e94
+8b968ba5879a8b918b8f8c8b8e8b9c42a3859b859b859b879d8e95928f8d8b08908b
+9283968b998ba0988ba38b9d7f97829384616b887d7c899789988b998ba18d9f8fa0
+088e909091948b918b8e79a08ba28b9a9b8b9f8b968792889372666f9a778094ab98
+aa9da6088e8d8f8d908b998b846fab8b9e8b9b9b8ba38b908a8f8b8e85868282758b
+ffffeeb3348bfffffd99988fffffefb3348b089ca19fa0a19d8e8c8e8c8f8ba08b76
+77a47d9187918a918b998b9c9490a98388878a828b08768b7e977c8fa39ba498a795
+ff001180008bff00008000fffffa99988bfffffc66688b8887848b848b8098799e8b
+a18b969e8e9008ffffd966688bffffff9998ff0016999876ff000e6668a693a88ea9
+8b98888b848b8a8b8781838b818b7b987b9e8b978b94909594086a958aa58199a48a
+9e8799889988877c978490889188928b918b8f8d918b8e8b8e8a8e8a08829c919382
+92888e8291828b848b8787848b898b898d7a8f999690a5af8e888f809c778b08787e
+797f1f8b8391858b88088987837f1efb88fce315898d888d1e8f8b8991918b8d8b8e
+898b878b7a6f94827f08a07b9292898e0588898a8a8a8b088a8a8b8c1f8192059192
+a8848b9c0891839383878788891ec56c15827f76848a898c8e9397a1911e8c068d8c
+8a881f7b691598949d9693879083817f7d7d809288901fc89815f8c90a7e69159892
+9b9797848f867f837b7f829084921fc7a315858488861e888e078e90898584878586
+1f858b8d91858b08898a8a8a88918793959192931f8b91878f878c8d8c928e8b9108
+90868f838188848a898d8a8d1e918b8693948b088e8c88881fb272158b908b908e89
+8e888b868a86888d898e1ff77ef8da158df5ffffb4ccccffff523334fb13444c798a
+8b8b8c8c8b8c8c1fb499b7de8be58bf74521c98b93088c8c8c8c1ee8ba158a8a8b89
+1f8b868f838b8a898b869b878b8a8b8a8a8b8a8b878f848b888b8a8b8a8a8b888b88
+98878b088a8a8a8a1f8b858f858e838a8b8595888b8a8b8b8a8b898b879083938398
+828a869080877e838e847f087a99728e88a08a94879485907a9b579a878b808b8884
+8b858b8392819180917e956fa08408a2839879917d7a898b777d8b898b8093849c86
+998691878b8a8b8b8b8b8a8b8890848b89088a8a05898c8199878b8a8b8a8a8b8a8b
+8793848b88858efffffacccc90fffffc33348b8a8b8b8b8b8a8b8797818b8a088a8b
+8293878b8a8b8a8b8b8a8b879b828b8a8a8b8290888b8a8b8a8a8b8a8b8896829f87
+089b6c8c8b8d8b8b8ba08da39e8b64977197727c968990868b808b846b8b8b088b8c
+918e91898c89878a808b8b8a97878a898b87888d868b1f8b8795878a8a8a89878f85
+8b1e8b858f898a8a8b898892828b1e8b878f888a8a8a8989996c9f9b8e98951e8e07
+95849a769c868b868c868b868b566e2c5978898a8b8a8b8b8b8a8b8b8c8bc58bc5d3
+92dc088c9a8d998c98ff000b8000ff0005b334ff00043334ff00088000ff00164ccc
+ff0023cccc088b8d779ca293ae908d8b8d898987858b1e8b8f948e8d8a8d881f8a8b
+89898a8a08938a8c898789858b8b8a9088888a87881e8a8d898d898b8a8b898a8b88
+8b888d868d868791849f7f8b828b908876750899078bbb80a773a8939693948e978c
+8f8e918b8d8b8ffffffeb334ff0002ccccfffffe4cccff00023334087e9c058c8f8b
+8f8b8f08968896898a8a89891e81078a8b899e868b08fb1dfc4c15970713effc8e89
+8c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e9b068e
+8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761ffb7a07
+13f7fcf8ca0a13effcf8cb0af7c1f73015fb9ffb6efb6efb9ffb9ffb6ef76ef79ff7
+9ff76ef76ef79ff79ff76efb6efb9f1efc79f87f15fba4fb6ffb6ffba4fba4f76ffb
+70f7a4f7a4f770f770f7a4f7a4fb70f76ffba41ff892fc7f15fbadfb79fb79fbadfb
+adfb78f779f7adf7adf778f778f7adf7adf779fb78fbad1efc92f89815fbb2fb7afb
+7afbb2fbb2f77afb7bf7b2f7b2f77bf77bf7b2f7b2fb7bf77afbb21ffb77fd93158b
+918c8f8e888e888a878987898d888e1f0ef8fefb7b92f71eadf7419d7aa3f7a99cf7
+f79212d492f822bcf714b868aef8239213df60f999f7161597078e898c881e47da06
+687e8b7f056c8174601e53067980969f1ff76f07a199909f1e9b068e8d8d8e1f8b97
+898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761ffb7a0713efa0f8ca0a
+13dfa0f8cb0af7daf73015fbaefb78fb78fbaefbadfb78f778f7aef7adf778f778f7
+adf7aef778fb78fbad1efc92f89815fbb1fb7bfb7bfbb1fbb2f77bfb7bf7b1f7b2f7
+7bf77bf7b2f7b1fb7bf77bfbb21f0efb6292fa5e9201fece92fa5e920322f7b215fb
+a0fb6dfb6dfba0fb9ffb6ef76df7a0f79ff76ef76ef79ff7a0f76dfb6efb9f1efc79
+f87f15fba3fb71fb70fba3fba4f771fb70f7a3f7a4f770f770f7a4f7a3fb70f770fb
+a41fbcfb3215878b898c888b7c8d7b8c7d8b838b838b838a979b83a6af9b8391828f
+7f8b788b7d7c8b79088b7d98868b868b838487858968866b816d7d8b8e8c8e8b8e8b
+928a8c8b948ba69594939308858c878d838b768b7c7b8b788b6fa28f8b818b848786
+878908838605737d767977788a9e76988ba68b938c8f8e92688388758b838b829173
+a38b089006938c82881f8b878a8789887472796e7d6b809f6a9089b68889757e8b74
+8b779d7c9a8b938b92908f8b088e92867f1f8607806e856a896a8690848e808d6993
+8199849a858286818b7f8b749d7d9f8b9c8b919a918b08978b8f7d8c848c6b8f728f
+79868d858c848b658b7f988197898588838b828b749c7aa08b08a88b8ba1918b928b
+90898e878f7d8f828b848b858a858b858b7f8f84928b918b918e948b08958ba68799
+8b928b8f8c8b8e8b9c41a3859b869b859b879d8d95938f8d8b8f8b9283978b0899a0
+98a31f8b9d7f97829384616b887c7c8a9789988b998ba18d9f8fa08e909091948b91
+8b8e79a08b08a2999b9f1f8b968892889372666f9a778094ab98aa9da68e8d8f8d90
+8b998b836fac8b9e8b9b9b8ba3088b908a8f8b8e85868282758b7c8b838f818b0888
+069ca19fa0a19d8e8c8d8c8f8ba18b7677a47d9187918a908b9a8b9c9490a9838887
+8a828b08768b7d977d8fa39ba498a695088f06949185881f8b8887848b848b809879
+9e8ba18b959e8f900887066c8b81a57c96a693a78eaa8b97888c838b8b8b8781838b
+818b7b987b9e8b978b949095940869958ba58199a48a9e8799889a82868297849088
+9188928b918b8f8d918b8e8b8d8a8f8a08829c91938292888e8191838b848b878783
+8b8a8b898d7a8f999690a5af8e888f809c778b08777f797f1f8b8391858b888b8987
+837f8b08fb89fce315898e888d1e8f8b8991918b8d8b8e898b878b7a6f94817f08a1
+7b9292898e0588898a8a8a8b8a8b8a8b8a8c088292059092a9848b9c089182938487
+8688891ec56c15828076838a898c8e9398a1911e8c068d8b8a881f7b691599949d96
+9386908480807d7d809188901fc99815f8c90a7e691597939b9797848f8580827b7f
+829184921fc7a315858488861e888e078e908985848685861f868b8d91858b08898a
+8a8a88918793959192931f8b91878f878c8d8c928e8b910890868f838188848a898d
+8a8d1e908b8793948b088e8c88881fb272158b908b908e898e888a878a86888d898e
+1ff77df8da158d06f22a8f2f8b4f08fb13444c798a8b8b8c8c8b8c8c1eb499b7de8b
+e58bf74b21c08b968b8c8b8c8c8b08e9ba158a8a8b891f8b868e838b8a8a8b869b87
+8b8b8b8a8b8b898b878e838b888b8b8b8a8a8b888b8798878b088b8a8a8a1f8b8692
+7f8b89088a078a8b8595888b8a8b8b8a8b898b878f83948397828b868f80887e838e
+847f7a99728e88a0088994879486907a9b579a868b818b88848b858b839281908092
+7e956fa084a2839879917d087a898a777e8b898b8093849c86998591888b8b8b8a8b
+8b8a8b888f848b89088a07898c8199878b8a8b8a8a8b8a8b8793848b88088a06898b
+8293888b8a8b8b8b8b8a8b8796818b8a8a8b8393878b8a8b8a8b8b8a8b879b828b8a
+08898b8390888b8a8b8b8a8b8a8b889482a0879b6c8c8b8d8b8b8ba08da29e8b6498
+719672087d968990868b808b846b8b8b088b8c918e91888c89878b808b8b8a97878a
+898b87888d868b1f8b879587898a8a898790858b1e8b858f898a8a8b898892828b1e
+8b868f898a8a8a8989996c9f9b8e98951e8e0795849a769c868b868c868b868b566d
+2c5a78898a8b8a8b8b8b8a8b8b8c8bc58bc5d392dc088c9a8d998c988f8d918f9092
+949999a28b8b088b8d779ca293ae908d8b8d898887858b1e8b90948e8d8a8d881f8a
+8b8a898a8b0893888b89868b858b8b8a9088888a87881e8a8d8a8d888b8a8b888a8b
+888b888e868c868891849f7e8b838b908876750899078bbb80a773a8939693948d97
+8c8f8f918b8d8b8f898f8a8c087e9c058c8f8b8f8b8f08968796898a8a89891e8b87
+8c878b898a8b889e878b08fcb8fcab158b908c8f8e898e8989878987898d888e1f0e
+f946fb76c2c5b5c6ad6bb8f803a8f755ad12b0e6f84ee7f72cd6f752d613cfc0f8b5
+fb0f15fb0ebb238b6e8bfffff5999a8bfffff6199affffff4ccdfffff6ccccfffffe
+b333ff0003199aff00026666ff00033332ff00024ccdff00033334ff00024ccdff00
+28b334ff001d4ccdb9a3ff0020ccccff00094ccdff005a3334ff000ae666d3ff002c
+ccccff002f8000ff0043b334ff0027ccccff0038b3339fff00484ccd8bdf08f763fb
+20f70efb471effff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffff
+d41999ffffc3b334ffffe9999affffb180008bffffa8cccc8bffff4a6666f70bffff
+893334ff0097ccccffffee9999ffffe96668fffff6800075fffff3e667ffffebcccc
+fffff166665e6b66646f65ff0003b33389ff00044ccdfffffdcccdff00048000ffff
+fde66608ff00198000fffff34ccd05ff00096666ff000d6666ff000a199aff000ce6
+67ff000ab333ff000c3333ff0012199aff000db333ff00133333ff0004cccdff0008
+80008bcd8bc379f7045dd36dcf7edb8bee8bebaec7c3087b9c054c683f765b8b0843
+8b5a9935ac08fb6ef98915650a13dfc0f8e8fd1815b08bc29fbab1908f948d8b848b
+7596688b8b92888f8c928da09ca69ac59291918b8e8591084e90fffff8e6689dffff
+fe1998ba89bd8bf58dbdff00013330a8ff0002ccd0c68b8b8b8e898e868b868a7c8a
+7d8b6c8b728c688c0885858b809185ba88ff00098000fffff4e666ff00028000ffff
+c1199a8d598b218959ffffff4cd079fffffeb3308e7e7f686c5c72738bffffc4e668
+8bfffff68000ff0017199afffffc9998ff0054e6660889bd8be28dbdff00013334a8
+ff0002ccccc68b8b8b8e888e868b868a7d8a7d8b6c8b728c688c85858b80918508b9
+87ff000a800082ff000280004d8d598b2b895908fffffd6668ffffbe199aff001599
+98ffffbfe666e98b080ef87086a2f807a9f759a8018ea3f785daf786d0f75fd103f9
+24f7a5158b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff000133
+346e8d598b528959fffffce668ffffb2199afffffa1998fffffce66659860886858b
+809085b38c9c8fb18bb28b9d87b48a90918b9686915690fffff81998ff0003199aff
+fffce668ff004de66689bd8bc18dbd08ff00021998bffffffce668ba75a87ba06d97
+6a8b5c8b507e514a888784828b988b8b8cf74f8dbdff00028000c9ffffffe668ffff
+f8e668ff00019998ff002319980892888d821e7381497f65885afffffcb334ffffbb
+999afffffc4cccffffca66668b0835063e8bfb0a93658e898b89898b8a875e815480
+5b95878d8a978b9fdbb9afcd8b08c606b08bff00084ccc78ff0001b3344eff00024c
+ccffffadb334ff0000b334ffffce4ccc8b388b388a5d893889387286458885858b80
+9185bc8cff002466668fff0036999a8b08ff003633348bff0022cccc87bd8a91918b
+968591458e729089de89ff005280008aff002d80008bde8bdeff00004cccff00304c
+ccff0002b334ff0054b3348dcb939baf8b08c906ff0048e6688bff0028ccccfffff0
+e668ff0011ccccffffb84cccff00016668ffff9de666ffffffe664fffeeee666ffff
+fe333455fffffd66683cfffff6999888548785858b809185b28ca18fb48bb08b9987
+b38a0891918b9685915b8ffffffa3334ff0003199afffffcccccff004ee66689bd8b
+f70b8b8b080efb91f782a2f700a5f766a501a8c1f711bc03f764f83b15f8a90aa9ca
+157273057c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75fffff5
+6666fffffc4cccfffff1999afffffeb33408808a0588ffffffb33489ffffff4ccc8b
+870879078bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05ff
+ffe7e666ff00038000ffffff199aff000380008b9f08f7e70791898e881e878b8586
+8788080ec9f86ca4f702e801ff00484ccdb2ff0094ffffb2f72bb203ff02044cccf9
+50156371644f1f8b45c75bc780ff0006ccccff0005e666ff0001999cff00093334ff
+fffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f80
+0008a775a06c1efb528e156371644f1f8b45c75bc780ff0006ccceff0005e666ff00
+01999aff00093334fffffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff
+000980008bff001f800008a775a06c1effff4400018615f85e0a0edaf86e9df708e5
+01f730aff72caff72caf031438f88df94e15f85f0afb5016f85f0afb5016f85d0a0e
+f71a0ef71a0ef71a0ef71a0ef71aa2abf889ab01adb3f882b303f7d5a215a40af8a9
+04a50a0ef75a7db0f8dfaf01bdb0f8deaf03f8107d15f74af727f728f74af74bfb27
+f727fb4afb4afb28fb27fb4bfb49f727fb29f74b1ff90404f736f717fb17fb37fb37
+fb17fb16fb36fb37fb16f718f735f737f716f717f7371f0ebd7fa6a8a6a5a6a6a6a5
+a6a6a6aba6aaa6d2a6b5a6bda601d4abf713abf786ab03f4f86d15f733f726f786fc
+f0fc2506f713f8d9152b2207f734cf1571f742a507fb4bfc851570bfa60785c015f8
+cc0afbd516f8cc0ab6c115f8cc0afbd516f8cc0ab6c015f8cc0afbd516f8cc0ab6c1
+15f8cc0afbd516f8cc0ab6c615f8cc0afbd516f8cc0ab6c515f8cc0afbd516f8cc0a
+70f78815fb49fb348bfc86f8658b8bf926050ef7a67fa6f7c7a6f70ba601d4abf713
+abf867ab03f700f7d615f730f71d069494f85e8b8bfc59fd068b8bf7c405f713f705
+15382e079a5215807297068c06978a927c93818e878f88908b088c068c8c918d8c8c
+8d8d9492949208a28c89a4708905888b898a8989087d7f0581998497738e08f7445d
+1591a38a066dae8b8c8b9a088f078c91a4aeae8e088c06928b9f84958592889185a3
+8b9f8b8995a18b089006b689a5758c74856f636f6a8b08868b8973058d8b8d8a8e8b
+b48bc1ad94b6088e078bb561a7578d088506708b8982808b7a8b878e878e80917494
+7c8b0888065d876a60877c088b868b86058b748d87b15f8d888e8a8f8b08f7c8f734
+15969495969695818080818280808294961e7616759e78a1a29d9ea1a2799d747578
+79741efc50fbd6155b978673bb7f8e8b05908b958a8f8a8c8b8d8a8e8a08a906918b
+aa95959c9194a3a0bc8b978b988a9a889389948a978a0887078b828b82898208a487
+058c968c958b95088e07908c8c8b8f8c908d8d8c958f8c8cac989999aaa8a1a3be8b
+8f8c9d90a48b08b38490a36293888b8a8b057076858b1f508a706f6a6c8485767f7e
+868287888a878908888b8a8b0588a585a482a4089ab6058f948c8d94968e8f969da8
+9b8c8b8c8c8c8c088f8e799d8988056a787b748b8a7f7c8988878008867b057dab7c
+aa7ea908748105a456b0449446828b848c848d7b8e7c8d7e8b518b6c70817c868375
+838b8b0883067e8b8a8c868b8a8b898c8a8b878c868b7e8c08e3f82f15fb52fb3d8b
+fbe6f9468b8bf88f050ef73d8babf707a6efab7ba6cda6a2aa12b0a5efa585a5dba5
+efa5efa5efa513de78f84df74215f708effb0807fb121627f708ef06f790fb081527
+f708ef0627fb9615f707effb0707fb7616f707effb0707fb121627f707ef0613cf78
+fb76fb0715f707effb0707fb121627f707ef0613eef89ff79c15222a07f7f7f315fb
+0f70f70f0613ef78fbaafb1d154327ef0713eef8f726f733f85e0613df78fb0827a9
+716d27a9716d27ab716b5a7007bcfb0827d306fb2cb115fbb0f924f864fc85070ef7
+3d8bab989cd49d819cc09d8c9da3aba8a6d2aa12b0a5a3a9b69e8fa59faab59ec0a6
+a8a6a8a6a8a6a9a5b5a513cffff8f74bf82f15222a07aafb1015a096a89c92938879
+1e13dffff8767c6d7b858593991ee9bc15848b7d8b7596888f7f8f808b086a756a6d
+769974a3ad9fb0ac1f8b8f8b8d8a8e93879786958b968b9b8f9a9108fb0bfb3d9f80
+f720f7577798057b7a70887a8b089dfb2215769a74a3ac9faeaf1e13effff8a97792
+7b67776a6c1eaa8715a098a89a9094897877816b76858694991ef716f7a915fb0f70
+f70f067bfb1915fb3efbcbf786f726f733f85efc2561f75e71fb5e6df7b570fbb507
+6ef7cf70fbcf6ef78570fb856ef73e06fc00dd15fbb0f924f864fc85070e647fb0f8
+dbb201c5e5f776e503f79bf8f4159d8b9d859780ab6faa3c8bfb228b2a87477c5573
+345780788b08287ef74be7f799cebabb1f87fd0015ddf70fdff78d1f8bf472e05cc9
+6bb75aa95b8b082227fb13fb65fb3fdcfb2cf70c1f0efb3789b0f8f87701f751e003
+f7a6f71d15f7f7078bce8ccf8d9a8b90888b878b4d65536f285d8d7e8f819584bea0
+a592a08b089d8f70651ffbdf078b2e78853d8884848b749284c28cac8cc38bc08ba7
+8ac38a92928ba284923d8e76918be8080e3f8bcef8b3b012c6d8f75de66fa913f0c6
+f88415759f78a49da296a81e8b9488938993899389938b9408a69eb1d8b1ce71251e
+8b4773544c4b083c3d05232178598b4c088bc28dad1ef74c06adbc898b1f13e898c3
+97dc8caa84917e8b81897940786f658b08fb50068bbdd3d5919108f5f20513f0c7c5
+baba8bdc08f70624ba351efb0a4d344b1f0e4680b0f7caadf784b012bbd8f755db56
+e713f8f776f8f615bab872491f8b574b392c7c089069059d8d998b988b0813f4c7d7
+78fb0cfb212b6b661f558b81a37f9e819a7c97768b087574777a60e470cbf713f704
+e0f7201f8bf70839b74c95088a8d0513f8f0cb91bb8baf08b863cffb01fb305e2568
+7c9576a5a996ae9f1ecfd498a71e0e4589b0f71cbef83d7701f7aed503f852f77215
+31f74a06a18a987c1e7a8b79817f8281858a838b8308fb44fb5d07dcf70bf70df747
+dbf7078e918991848b086e06848b8685878608fbbafc34058a8a8a898b8a8e7c946d
+ab8b08f77235068b5a618d5e8884848b749284ad8cb58cbb8bb58bab8aad8a92928b
+a28492578f78888bbc08e1d6079a9aa197958792801f0e3880b0f7e4bff72cd14ece
+12f7e4e713d8f7e4f75c152654424b1e638b7da57ba07e9d789c758b08777778765f
+e668c7f717e8edf719f245e6fb0b1f5d8b6383788308a1f7450513e8b287ae86bd8b
+aa8baf8cb78f089cd4848e054f845087538b0813d8648b678e668e0867fbc605c3a0
+b290b18b08d0c35cfb071f0e4980b0f7ddb0f778a601b7e0f780e003ff0088e666f7
+d515b2ff00203334ff002a8000ff0001ccccff0014999a8b08f3a12056fb085d5657
+4844aff7491f8bff0016b334ff00024ccdff001a9998ff00059999ff001cb33408ff
+000a4ccdb515ff001ce666ff0060999aff00441999ff006bb332ff008dcccdff0034
+b3348b9788948291fb006c4a5f5046493f6b2a8b3708fb6bf71561ddf71fc3f71ae6
+e65ee2fb241effffdfcccd8bffffcee666fffff5b334ffffdf8000ffffed4ccc080e
+2c9376f8d8d09a7712b3ad13d0f73bf8cb15f74d0638fb6237fb6343fb35089385d4
+8e05c7f748caf744f70bf7b5087a970579857386638b08fb6e0613b0678b8e96778f
+888b8a8a8b888a597f4b825408ad8805a3e0ae92ad8b080e527eaaf8eea612c1cd64
+d4f75dcd60d213e4f78a9d155b3db5ea1f8baaa0d4e5c908be6d05ce63a8588b5908
+2137715b1e92f8ee1513d8d0ac535a1f8b524b556e76086b9f0547b783b58bab08bc
+aebdcb1ef73c2115d752c423fb01454b391e8b50a85ecc63089e8005707773776f73
+0813e46065795b8b6208fb01d950f704f71fcdf2dc1e8bc96fba54af084ab605b9aa
+d5c38bcf080e4980a6f778b0f7ddb001b7e0f780e003ff0165199af7cf1564ffffdf
+ccccffffd58000fffffe3334ffffeb66668b082375f6c0f708b9c0bfced267fb491f
+8bffffe94cccfffffdb334ffffe56668fffffa6666ffffe34ccc08fffff5b3326115
+ffffe3199affff9f6666ffffbbe667ffff944ccdffff723333ffffcb4ccd8b7f8e82
+9485f700aaccb7c6d0cdd7abec8bdf08f76bfb15b539fb1f53fb1a3030b834f7241e
+ff002033348bff00311998ff000a4ccdff00208000ff0012b333080e2b81a3f811a3
+01aadef768de03f76ff81f15dba63dfb00fb007634353d70e2f700f704afd5d01fa3
+04233736fb11fb20dc3cf6f703dadbf71ff70e45e3fb0c1f0e2b86a1f7e9a2b37701
+f757d403f757f5158b3c7b84488885858b819185ba8ca78fbb8bff002d4ccc8bff00
+16b33487bb8a91918b958591488e7b928bda08f75c07c48ebc8b1e93878c821e5c7c
+63833b7a8c808e879283a78ea48ea08b089a8f80591f0e2b8bbff7d9b501c6acf74b
+df03f7adbf15f8c70a0e2bfb63a4f7c3a1f78aa412c0d4f74dd25edd13f8f771f819
+15300a13f4310a13f8320a0e2bfb68a2f751b0f80d7701f7a5d003f83db015ffffab
+800006ffffffccccff00734ccdff00008000ff00856667ff00013334ff001d4ccc8d
+bdfffffe4cccff00273334ff0001b334ff0007cccc08898d728b05848bfffffab334
+fffff98000fffffc4cccfffffb80004cffffb28000ffff908000ffff738000ffffa4
+8000fb238e7c9170a98b08ff00c8666606ffffffccceffffbe6666ffffff8000ffff
+c9e667ffffff4cccffffeeb333fffffe33345dffffdbcccc88608885858b809185ab
+8cb38fb98bff002766668bff001e999a87ab8a91918b968591085a8fffffece6668c
+fffffe199abaffffff4cccff00116666ffffff8000ff00364ccdffffffccceff0041
+4ccd08ff0046666606999a9497958791801fffff69800016ffff33800006ff00334c
+cdff00523333ff0052b333ff006c999ad0ff005e3333ff00013334ffffe26666ff00
+008000ffff768000ffffffccccffff8a199a080e2bfb64a4f7e5b3f72cc458c912ff
+01468000de13e8ff014680008315f8c40a13d8f8c50a13e8f8c60a0e2b80a4f7dfa4
+f7857701b1d8f77ad803ff007be666ff0136666615360aff0007199aff001c999a15
+370a0e2bf80bc201b8a103f72ef80b15f8a60a0e2b80a4f8cfa412b7c866ccf757c9
+63cc13d8f77cf8dd153b0af73227153c0a13e43d0afb3afc6b153e0a0e2baca4f7df
+a401b5d8f77ad803ff0154199aff005c999a15f8c80afffff8e666ffffe366661540
+0a0efc1122b6f954b701f4b7fa40b703f729f91615fa40fd54fe40065ff98015fdab
+fa98f9ab070efc1122b6f954b701f4b7fa40b703fa6ef91615c4b95c531ffcedfe40
+f8ed07c3babac31ef972b715fd72063a49493a1ffd18fa98f91807dc49cd3a1e0efc
+1122b6f954b701f4b7fa40b703fa6e4d15fd7206535cbac41ff88507c3babac31ef9
+7206c4b95c531ffc8507525d5c521e6004dccdccdd1ff88507dc49cd3a1efd72063a
+49493a1ffc850739cd4adc1e0efc1ff77bb701b3f79603f7a3f77b152a0a0ef8595f
+a0ff00a4b333ff00154ccdf738a0f7b5a001f799a0f787a003b393158b78968b9687
+db72ce87cb8bac8bab8eac90ff00d96668ff00238000ff00bc4cccff008ae666ff00
+614cccff00c56666ff003c8000ff007ab334ff00098000ff007966688bff001a1998
+8b9c808c808f083ea34191598bffff27b3348bffff331998ffff973334ffff803334
+ffff534cccffffa6199affff868000ffffd5e666ffff68b3338bffff9c4ccd08a198
+159df771f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00138000ff000e6666
+ff00a0199aff006e3334ff00146666ff000d199908f83dff00004ccd05373ffb2e32
+fb5c8b089ff75915f7b807949bf5e1f714b208fb9c07f759fb4815fc358bf77ff738
+f7c58b05ffffd38000ffffaa3333ffffc16668ffffbc6667fffff01998fffff56666
+088af86e15cb8bca82c87808fbfffb8f8bf79305be98c196d18b08fb2bfbb515f7f4
+f7880584417b396033080efb9cfb0aa5f76caad1a001bebcf70bc103bef74315f804
+0abc4215f8050a0efbabfb0aabf770a601a6c1f70ac103f731f73515f81e0a0efb91
+fb06a4879df760a5d1a012a8c1f711bc13bcf7645115f8060abcfb1215f8070a137c
+f8cd0a0efbc8fb04a2f74aa8f708a401d3bc03d350158b79fffffacccdfffff98000
+ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a8d8a05
+8bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff0000333308768d05ffff
+eccccdff0001cccdfffff93333ff000833338b9d08f72cc60791938d911f9d078d89
+8c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b9684967e
+947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efb8afb82
+a9ebb3c0a1f71fa17ba7129cb472bd5db0f709be90ad13eac0f79ef71315f80d0a13
+f2c0f80e0a13e9c0f80f0a13ecc0f8100a13e9c07a7890a51f13eac0f8110afb4ffb
+7d15f8120a13e4c0f8130af704f743154d6f87751e13f2c0f8140a0efb92fb04a2f7
+66add1a001c2bcf703bc03f3f75015b58da58b1e90898d851e7b845d837189088c79
+05898d8a8d1ea08a05989184611ffb80078b76fffffe999a88ffffe866668808838a
+05878b88891f79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff00
+01999afffff8e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb0607
+8b76fffff9cccdfffffbb333ffffed3333fffffe4ccd08808a05878a88891f79078b
+b38ca4a3b18a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9cc
+ccff0004b3338b9e08f71007ce6da45e1e678b68687d7b080efc03fb03a8f761a0c8
+c512d3c559bb13f0f0f79b15f8680a13e8a6fbbf15f71c0713f0f8690a13e8f86a0a
+0efbf6fb699ef7d1a0c9c4128bbbb2c758bc13f8f709f79b15f76b0a13f476fb5215
+f76c0a13f8f76d0a0efb87fb04a2f771a2d1a001c2bc03c2f74315fb80078b76ffff
+ff4ccc88ffffe7b3348808838a0587ffffff80008bfffffd80008b890879078bff00
+2533338cff0017cccdff0018999aff002666668a8b1e9d078b8f88ff0000cccd89ff
+0000333308838c05ffffeeb333ff00023333fffff84ccdff00044ccd8bff00148000
+08ff004f666607ff0001cccdff00006667ff00019999ff00003333ff0001999a8b9a
+8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b1e8d8d8b9b
+058b8e87ff0001999a87ff00006666ffffdf80008effffee8000a28495084ce80589
+8d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093ff001880008e8dff000033
+338fff0001cccd8b8e088b9c898c058b638a73756d8c8b1e8a8a8b7a058b898dffff
+fd4ccd8effffffb333ab887b7a8383ffffdf8000ffffdb3333ffffeb3333fffff080
+00ffffe54ccdfffff4199908ff0094333307b58da58b1e90898d851e7b845d837189
+088c7905898d8a8d1ea08a05989184611f0efc24fb05a1f7d0a001c2bc03c26715f7
+790a0e3ffb04a2f768a07aad12a1e85abcf704bbf6bc13aef707f70215ff001b3333
+8dff0010cccd8b1e90898d851e13d6f8150a13ae989184611ffb1a078b768afffffd
+666673fffffc999a08848a0586ffffff4ccd8bfffffdb3338b890879078bff002533
+338cff0017cccdff0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccd89ff0000
+333308808c05fffff08000ff00016666fffff68000ff0003999a8ba108f723079ea2
+a0a1a08b08aa9f7a581ffb0c078bffffe94ccdfffffa999afffffd9999ffffeb6666
+fffffe199a08808a0588ffffffb3338afffffd4ccd8b890879078bb28ca4ff001833
+34ff0025cccc8a8b1e9d078b8dffffffe666ff00023333fffffb199aff0000cccd08
+858c0578ff0003333384ff000280008bff00154ccd08f716078b91ffffffccccff00
+05b333ffffff8000ff00054ccdff0012199aff00158000ff0013ccceff00138000ff
+0013cccc8b08a99f7a581ffb0c078b7485fffffdb33378fffffe4ccd08808a0587ff
+ffff999a8afffffd66668b890879078bff0027999a8cff00196666ff00183334ff00
+25cccc8a8b1e9d078b8dfffffee666ff00024ccdfffffc199aff0000b33308858c05
+ffffed199aff0003199afffff8e666ff000133338bff0016b33308f71607ce6da45e
+1effffdc4ccc8bffffdc6668ffffdd999afffff1b332ffffeeccccfffff6199aff00
+24e667ffffe6b333ff000eb333ffffdccccd8b678b6a687d7a080efb6ffb03a8f761
+a07aad12cebbf704bb13b8f77767158b628988698987838b7d8f84a98c928ba38bff
+00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce6ea45d1eff
+ffdc199a8b68ffffdd199a7d7aff00006666ff0017b333ff00018000ff001533338b
+8b8b90898d858b0813d87b845c8371898a838c848f85ff00206666fffffe8000ff00
+0a999aff0004b3338bffffcacccd08fb01078b628388638986838c7c8f85a98cff00
+05b3338bff00234ccd8ba38b938ba98a8f928b998793698d888e8bb408f70a0713b8
+f8790a0efb94fb82a2f700a5f760a077aa12c3bcf70bc113dcc3d415fb98078b77ff
+fffd999afffffc3333ffffe96666fffffccccd08848a0587ffffff66668afffffe99
+9a8b890878078bb08ca3a5b38a8b1e9d078b8f89ff0000b33388ff00004ccd08808c
+05fffff1199aff00016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08cc
+c1c7d5cf63c7511f6e8bffffe380006ffffff080007908898c05ff001b33338dff00
+10cccd8b1e90898d851e13ecf8170abc3215ed0713dcf8180a0efb91fb82a2f700a5
+f766a501a8c1f711bc03f7645615f8a90aa9ca15f8aa0a0efbcffb03a2f765b365a0
+12a9e85abc13c8f711f115898c05ff001b33338dff0017cccd8b1e90898d851e13b0
+f8150a13c8989184611ffb1b078b78fffffe199afffffb4ccdffffe8e666fffffeb3
+3308798a05868a89881f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffec
+e666ff0001199afffff9199aff0003e6668b9f08f712078b938f948f909ba29a9792
+8b8f8b90898f8791849387978b089d96949c9d8198701f6c8b70697a72080efbc8fb
+0aa4f779a412a7a17cbbe2c16fa213e8a77915f77a0a13d4f77b0a13e8f77c0a0efb
+f7fb0aaef765a812c5bb65b113e0f5f71215f8190a13d0f81a0a13e0b3fb4b065fa0
+7aa81ea78ba293a5a6087b9c057b7f81867b8b087a879db11f0efb86fb0aae819df7
+63a212c1bcd1e65abc13b4f79c671513b8f81b0a13b4f81c0a1374f8cd0a0efb8bf7
+18a20197f7b603f71d2215f81d0a0efb08f718a201f713f71d15f76e0a0efb73fb82
+b4f7dda3019cf7ca03f726f71e158b9b8a8d058b61896e78678d8b1e89898b7a0589
+8e888e1ea68bff0003999afffff66666ff000b6666ffffe6999a08d7fb3d05907e90
+7b8b848b858a8688837b65786b828b858b869085918790858e828b088178827974aa
+81971fb78ba2b19eb7bdf70da6c7add1939d979ea38b08908d8d8f1f8b9b898d058b
+71897a75618d8b1e8a898b7a05898e888e1e8e06999689821f8b888a8489870847fb
+2949f72b05fffffe3333ff0004199afffffecccdff0005e6668b8d0893938e9d8e8f
+8d8f1e0efbb3fb04a9f764a801a2a103d1f72f15f81f0a0ef8cff70c01fbb9f76803
+fb6df94715ffffddcccdfffff46668ffffe87ffffffff04cccffffedb334ffffee4c
+cc08f72e4c05a0829988938b938b92928b938b9287918093080ef8cff70e01fbbcf7
+5d03fb31f94915d70a0efb91f78703fb05f91615fffff0999aff0007b334fffff666
+66ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79
+b279ff0009199aff0003ccccff00041999ff0008199cff0002cccdff000919980867
+a666ad6daf080ef8a0f70701fbc6f78803fb61f8a015f7100a0ef8b4bfc87701fbbd
+a7f76ca70372f92515f70c0a0ef8ecf72701fbf6f7910326f95415ff001033347fff
+0015cccc6e1e808b8487868308ffffc4b333fb0105fffffd7ffffffffb6668fffffe
+cccdfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408fb17
+9015ff00174cccffffe9b333ff000eb334fffff04ccd1e7c8b8487868308ffffc980
+00fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff00
+05999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080ef8e9
+f72afb107612fbf6ff00fa800013a0fbf6f954158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffecccdff00036668fffffd8000ff0004999808ffffc4
+b333f701058693848f808b086e7fffffea3334ffffefcccc1ff71790158b838d8490
+8708e3ffffaf8000051360ff00046666878ffffffc8000ff0005999a8b928b91908b
+928b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7020513a0
+8693848f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080ef8f1bf01
+fbbea7f76ca703fbbef8b415f75d0a0ef94eaa01fbcfd1f702d103fb52f96d15f7bb
+0a0ef88baa01fbe1d4ebd40330f8e215f7dc0a0ef959eb01fc11ebe8eb03fb54f989
+15c30afb5116c30a0ef96476c5a301fb8bb8a1a59bbf0335f96915f82d0a0efba2f9
+7ef301e9f303e9f9b215f70e0a0edfcaf9d9158b748b7c8b7a8b7c9d8bb18b8b9a65
+8b8b9cb18b8b9a658b8ba2b18b8b9a05658b798b05db16369dff003ab33407ff0017
+199a78ff00031999fffffc3334ff0000cccdff00009998ff0000cccdffffff6668ff
+00031999ff0003ccccff0015199aff00114ccc8b529d8b8be0798b8bfffff7666872
+ffffeb800070ff001633308bff0006e668052dfb0e15f746fc8b068b748bfb54fb46
+8b8b73f7468b8bfb66fb468b8b73f7468b8b93a28bf7698b8ba2fb698b8bf75f05f7
+5297a27ff738a3fb38f8357497fb52f754f80da3fc0d06a8f767a34d07fb29e5068b
+a28bbaf7678b8ba3fb678b7c8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba2
+8bf752f7528b050e2b81a4f8cea401b2dcf771dc03f77cf8dd15f8c30aff0058999a
+ffff9c999a15ff000c199affffd68000ff00084cccffffc8e6668b488b2f88427d58
+75395482798b688bffffe76666ff001eb333ffffef199aff002a199a08ff00c3e666
+ff01cf800015ff001c999aff0043b334709574ffffc9cccc05ffffe8199aff001666
+68ffffe3e666ff000ccccc608b288b2dfb0a8bfb5a8bffffa2999aff00194ccdffff
+a91999ff002b1999ffffc74ccd08ffffdd999a3aa781ff001c199aff0042800005ff
+001be666ffffe53333ff00218000fffff04ccdff002580008bd88bf709d98bf77f8b
+ee73df5fc5fffffe199aff00028000fffffe3332ff00026668fffffe199aff000266
+64080efb9bb7d703b7ff0144b334158bffffd94ccc8fffff396666f764ffff653334
+95ff0001b3338c918eff0006e6676aff0020b332fb09ff0076999a8bff00e233348b
+ff00e23334f70aff00769998abaafffffc999aff0008ccccff0000cccc91fffff499
+9aff0000b334fb0bffffa84ccc2effff7066688bfb34080efb9bf746d703f792ff01
+44b334158bff0026b33287ff00c6b332fb64ff009accd081fffffe4ccc8a8588ffff
+f91998acffffdf4cccf709ffff894cd08bffff1dcccc8bffff1dccccfb0affff8966
+666b6cff00036666fffff73334ffffff333485ff000b6666ffffff4cccf70bff0057
+b334e8ff008f99998bff00a00001080efb6150ff00113333ff02e03334ff00113330
+01f700c803f7005015f7680691ff000533348bff0006cccc85ff00053334fb1eff00
+0980007eff000ce6668bff004acccc08ff021eb330078bff004accd099ff000ce664
+f71dff0008999c91ff000533308bff0006ccd085ff0005333008fb68060efb61ffff
+c5e666ff00113333ff02e0199cff0011333401f74fc803f78cff02c8666815fb6806
+85fffffacccc8bfffff9333491fffffaccccf71efffff6800098fffff333348bffff
+b5333008fffde14cd0078bffffb533347dfffff3199afb1dfffff7666685fffffacc
+cc8bfffff9333491fffffacccc08f768060efbbaffffb4b333ff0014999aff016f33
+34ff000ce666ff01710002ff0014999801f73aff024e4ccc15fffffb4ccdff004766
+68ff00243333ff00181998ff00328000ff0008999c91ff000533308bff000a333485
+ff00053334ffff9b80008bffffd04ccdffffdf4cccff00063333ffff9d199c0895ff
+ff61cccc05ff0002b33361ffffe34ccd5f53fffff2333208fffff3199a07c1fffff4
+ccccff001f4ccdffffd6cccefffffcb3335a0881ffff6dcccc0583ffff8bccceff00
+308000ffffe7ffffff006580008b91ff000533338bff000a333485ff000533335f8b
+ffffd4b333ff00226666ff00054ccdff00484ccd0895ff0088b33305ff00058000ff
+004ab332ffffe98000ff0022800051ff00158000bcff0012199aff001ee666ff001b
+b334fffffb199aff0049cccc080efbbaffffb3cccdff0014999af805ff000ce666ff
+016f3334ff0014999801f0ff0030800015ff0004b333ffffb8999affffdbcccdffff
+e7e666ffffcd8000fffff7666685fffffaccce8bfffff5cccc91fffffacccdff0064
+80008bff002fb333ff0020b333fffff9cccdff0062e6660881ff009e333405fffffd
+4ccdb5ff001cb333b7c3ff000dcccc08ff000ce6660755ff000b3334ffffe0b333ff
+00294cccff00034ccdbc0895ff009233340593ff00743334ffffcf8000ff0017e664
+ffff9a80008b85fffffaccd08bfffff5cccc91fffffaccccb78bff002b4ccdffffdd
+b334fffffab333ffffb7b3340881ffff77333205fffffa8000ffffb54cccff001680
+00ffffdd8000c5ffffea80005affffede666ffffe1199affffe46668ff0004e666ff
+ffb63332080efba59376f8c7ef01e8f103f7247e15a20abdf8f715a573a5736f73ff
+ffe51998ffffeae66873a06fa6a3a7a3a31e0efb217ea4f86077eeef12cbd7c4ef49
+aacbcc13f6f7dad515bc0a13fa6ef8a115f8bf0a0e79f72af78115a80af74816a80a
+0e79f7cef78115b50afb4816b50a0efb99f8417701b9f76403f70ff78115f8620a0e
+fb99f8417701b9f76403f745f78115f8630a0efb73f7b7b701b3f79603f7a3f7b715
+2a0a0efbb5fb71aff9077701f707d603f705f7c715860a0ea586a2f800a6f78da281
+a612e4d4f754d413dcf736f70415fffffe6666ff0026cccdffffffb334ff0090e667
+ff0000e666ff00564ccc08ff00c2333406ff000099982bffffff999affff754ccdff
+fffe999affffdcb333fffffcb334ffffad199afffffa4cccfffff8e666618785858b
+809185b38cff000f80008fff002380008bff002966668bff0017999a87b48a91918b
+968591084a8ffffffb4cccff0007199afffffcb334ff0052e666fffffe999aad8bff
+0088e666ff00008000ff0063199a08ff005ce6660695988f941f93078f888d861eff
+ff944ccc06ff00003334adff00003334ff001accccff00004cccff000c3334ff0000
+66669ffffffe999ab891ad98d4aa9ca08ba28b9e75947795769478a58b089e9a9a9f
+b45fac441f688b54756b560813ec7fa360ad3f8b718b7584777fffffdb199affffe9
+9998ffffecccccffffdb6668ffffe980005bfffff08000ffffdeccccfffff7e667ff
+ffbbb334ff00001999ffffd3800008ffffd3199a067a8681831f8807868c8a8f1eff
+003e4ccd06ff0000e667ffffbbb334ff0000999affff631999fffffe3333ffffd333
+33fffffcb333ffffad199afffffa4ccdfffff8e666588785858b809185b38cff0013
+199a8fff0025e6668bb28b9f87b48a91918b968591085f8fffffef4ccdff0007199a
+fffffcb333ff0052e66608f755f7bd15ffff3e4ccd06ff00003334ff000c4cccff00
+00333395ff00004ccdff0006b334ff0002b333ff0043e66691ff0022e666ff00054c
+cdff00133334a1dab89e998b958b95899a8198829276917d94779377a48b088e8b8b
+8c8d8c8467fffffb333464ff0000cccc77ff00006666fffff4ccccff00006666ffff
+ea8000ff00003334ffffe4b334080e7586a2f800a6f79aa601e8d0f76dd003f857f7
+041589bd8bf58dbdff0001999ab2ff00026666cb8b8b8b8f858d878b6e7f70856a8b
+08fb54ca068bff00498000ff000ab333ff00244cccff00104ccdff001a3334ff0019
+8000b4ff00196666a1ff0021199a8bad8baf76916593599b7ca98ba08b9e9f8ba08b
+a37ea763a5086f9d5f99678b5f8b557a645b635a7b4d8b3d08685e077a8681831f88
+07868c8a8f1eca068c598dfb3e8959fffffcb333ffffad199afffff84ccdfffff8e6
+66588785858b809185b38cff0011e6668fff0025199a8bff0029cccd8bff00183333
+87b48a8e8eff00018000ff00044ccd8bff00043333088bff00043333fffffe8000ff
+00044ccd888e4e8ffffffa4ccdff0007199afffffcb333ff0052e66689bd8cf73e8c
+bd08f74406a98b907e8d588d598b218959fffffcb334ffffad199afffff74cccffff
+f8e666578785858b809185b38cff001633348fff0027cccc8bff002966668bff0017
+999a87b48a0891918b968591518ffffff84cccff0007199afffffcb334ff0052e666
+080e7486a2f7fea8f79fa101ead0ff00d8b334cf03f80ef215893c82885188fffff9
+e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b4
+8aff0005e668ff0005e666ff0000333096fffff9e668ff0006199a518e828e89da08
+ffffff199aff00256666fffffe999aff005c66678bff00604ccd8bff006eccccff00
+018000ff00740002ff0000ccccff002b1998ff00013334c9ff0002cccca78b8b8b92
+878d828bffffedb334fffff86668ffffd54cccfffff73330ffffdbe666fffffae668
+ffffff6666ff00008000ffffff6668ff00008000ffffff4cccff0000800008729c72
+8e678bffffd1e6668bffffcd800074ffffe033345bffffe8b333ffffdcccccfffff3
+9999ffffcf3334ff0002199a4cff00008000fffff1b334ff00006666ffffe69998ff
+00003334ffffe0b33408ffffcde666067a8685831f8207868c8a8f1eff00434ccd06
+ff00008001ffff9cb334ffffff9999ffff78ccccfffffe999affffd68000fffffd66
+663cfffff7999a88588785858b809185b38c9c8fb08bb78ba687b48a91918b968591
+084a8ffffff8999a8efffffd6666dafffffeb333ff0027e666ffffff999aff008566
+66ff00006666ff0066b33408ff005a4ccd0694978a941f9a078f898d861effff97cc
+cd06ff00003334ff0026e666ff00008000ff001fccceff00008000ff00104cccff00
+01b333ff0032e668ff0003cccdff00253330ff0008199aff001ae668ff000f6666ff
+0032e668ff0019b333ff000e1998ff00144ccd8ba88b9977986a937a957e9f8b998b
+ff0014e666ff000db33490ff0010333408ff0002b33480ff000166667c8cffffeb19
+98ff0001ccccffffd9ccccff0000e668ffffa5e6688bffffa366668bffff989999ff
+fffe6666ffff953333fffffee666ffffd6199a080ef78a86a2f807a49877f78fa281
+a612e9d0f75ad6f74be946d613a680f963f7041589bd8bf58dbdff00019998b2ff00
+026668cb8b8b0813a7008f858d871e13cf006e7f708a6a8b08fb50d3068bba96ba9a
+a6a3b8b09e9f8bad8baf76916593599b7ca98ba08b9e9f8ba08ba37ea763a5086f9d
+5f99678b5f8b557a645bfffffd8000fffffce668fffffd8000fffffcccccfffffdb3
+34fffffccccc0813d680fffff36666a3ffffc64cccff00218000ffffb4999a8b718b
+7584777fffffdb199affffe99998ffffe64cccffffdde6687bffffcd8000fffff4b3
+34ffffdc6668fffff6b333ffffc27ffeffffff3333ffffd4199a0859067a8683831f
+8807868c8a8f1eff0043333306ff0000ffffffffc0199aff0000b333ffff594cccff
+fffe199affffd1999afffffcb333ffffad199afffff84ccdfffff8e666588785858b
+809185b38cff0013199a8fff0025e6668bff002333338bff000dcccd87b48a91918b
+968591085f8ffffff74ccdff0007199afffffcb333ff0052e666fffffe6666ff0027
+e666ffffff999aff0097e6668cff0055333408f75c068c598bfb458959fffffcb334
+ffffad199afffff84cccfffff8e666588785858b809185b38ca08fb28bff0029cccc
+8bff0018333487b48a91918b968591084e8ffffffa4cccff0007199afffffcb334ff
+0052e66689bd8bf7458cbd08f74006a98b90778d588d598b218959fffffcb334ffff
+ad199afffff74cccfffff8e666578785858b809185b38cff001633348fff0027cccc
+8bff002966688bff0017999887b48a0891918b96859108518ffffff84cccff000719
+9afffffcb334ff0052e66608fffdd36668f7c215ff0000333495ff00003333ff0008
+3334ff00003333ff0005ccccff0002b333ff0043e66693ff0022e666ff00054ccdff
+00133334a1dab89e998b958ba4899a8198829276917dff0008ccccffffec4ccc93ff
+ffec6668a3ffffff4ccc08fffff4ccceffffdd8000fffffb6666ffffd8cccc8bffff
+d3b334086d070e8481b665a2f800a6f794ac12ecd4f73ed058c713bcf7edf82d155f
+067e8785831f8407868c8a8f1ec3068b2c86fb228b4f8b47a270b78bb78bbba0b0b5
+8995fffffe80008dfffff980008d7278687c728b718bfffffc6666a8fffffd999ac6
+0889bd8ef70e8fe408ee0695988e941f94078f898d861efb078b05137a8ff72105ff
+0002ccccff0063e668ffffcd3334ff00301998278b448b2f5981fb3f8a7084626d8b
+087a8686831f84078b878bffffff199a8fffffffe66608b58a0597ffffffb3348dff
+fffc4ccc8b7f8b8b8cfb57894ffffffd333338fffff7cccd83518885858b809185b3
+8cff001933338fff0029cccd8bff002966668bff0017999a87b48a0891918b968591
+518efffff6cccd93fffffd3333de89c78bf7928dc7ff0004b333ff008de668ff003b
+4ccdff00251998aa8bcd8ba6608b48088b268c807d69080eeb81b660a19476f812a6
+7fa1f770a512b99e85cba6a9dfd161a0f716d05db9139490f80ef829157a07868c8a
+8f1ecc068b2c86fb228b4f8b47a270b78bb78bbba0b0b58995fffffe80008dfffff9
+80008d7278687c728b718bfffffc6668a8fffffd9998c60889bd8ef70e8fe408ee06
+95988e941f9407ff0004199a87ff0001e666861efb058b05134dc886e60586f352c8
+fb0b8bfb068b484b8b468bffffd3199a95ffffde3332ff00268000ffffddb33408ff
+fffb8000063f50ffffd74cccffffbdb3341f8b45ff00254ccd6fff0043b3336eff00
+4e4ccdffffde6666ff0015b333ffffea999a8b628b5c5a6d688b668b719b81950813
+26c074a17eb685a38591848a85858f5c8d648b63958d948c908b928b908b92890813
+4dc0950a1394a8ae8bbe7e973a9186948b91918ead8caa8caaffffefccccff0002b3
+34ffffeb999aff00056666ffffe8e666ff00044cccffffc5199aadffffec999aff00
+2a999a8bbb08c0c9bcdaecbb55366577564b1e888a8a881f0ef83ba1f7b915f86afc
+6af86af86afc6af86a0533fb97158b7c8e858f868f858e858b7e0874767d757a7196
+aec6c9d3f707f4ca4c311e8b485e53465fffffea3334fffff2199affffd6ccccffff
+e1e6668b43085f078484878384858f921eb9078bb68cc6ccc6b3b09fab8bbb08c662
+cb525462706e1eabfca815a5a1a1a6a6a17571707575707075a1a61e0ef84b89acf7
+66b5f7f6ff0014e66801f79dda15c2f725059098918fa38b08f7648bc8fb3d05ff00
+0ee668ffffd6cccdffffd6b330ff00039999ffffd06668fffffc999a85858b769185
+b08cc28cb28bb48baf8ab08a91918ba08591ffffd93334ff00038000ffffdf4ccc8b
+ffffed8000ff0033800008fb61f8b2058595899284ff000ce66856fffffe1998ffff
+b6199aff0000b334fffff6e666ff00014ccc8583fffffdb334ffffff1998fffff499
+98ffffe5333408ffff21b334fffdf7b33405ffffe5999affffc23333ffffe1e666ff
+fff9cccdffffd480008885858b769185b08c988cb28bb48bf7348ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08f700f76015ff
+ffe9cccc8bfffff8ccceff00028000ff00043332ff000acccc08ff00643334ff00fd
+b3348d8becfb9f05fb1df7f615bb8bfb86fcf3578b050ef84b89ac6cb7f7b4adf781
+b56bad12f5ff00574ccdff003fb333a5f76cdc69e8133680f728f9191513ae80598b
+6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b7691850813
+6680bc8ca98cbe8b0813ae80b68bf589e48bf75b8bc0ef8be18beb48c234a4088d07
+132f00ff00321998ff00196666ff002ce668ff00334cce8bff00364ccc8bce6ee2fb
+4e8b08688bfb1f89608b08f71bfbcd15d00613a680f71dc43e31426f4efb2c457ead
+ac1ff86c04132f00ac8b95e2c3d46d2536506d381e410613760070f781158cfcc305
+4f8cbc8bffffcb4ccd8a08ff00008000f8c3050ef84b89ad6bb5f8c7b36bad12f5dc
+cea9f7d0eb136ef792b51548068bff001566668cff01a5999affffffcccdf70c08ff
+00403333068c258bfbcd8cfb280851f8ef15139e608b348b5c8d85858b769185d188
+9c868b3808fc25078b387a86458885858b76918508134ebc8cd48cbe8b08139eb08b
+d189f28b08f721f72dcbf78af74efb0cf72dfb541f4b8b3689648b08e3fcc615f875
+07ae9c99bcf76cadfb43fb2efb5e3759fb2129929eab1e0ef84b89ac6cb2f7b0b1f7
+88b36cac12ecdcc9a7f74aacb2ac9bae1337c0f7fbf7fd1530f75c06a3979fa31ef4
+06d68b9b63a146ff000c6668fffffe3334ff000accccff00021998ff0009ccccff00
+04b33486b47ceb89938b8d8a8c888b7a88838a738b08fb850613afc0ffffa2cccd8b
+ffffaa33338c598c85858b769185d1889c868b3808fc25078b387a86458885858b76
+9185081367c0bc8cff00616666ff0000999aff005d999aff00006666ff004a8000ff
+00004ccdff00748000ffffffb3338b8b0813a7c0bbdb898b1f99bd9acd93befffff5
+9998ff0005e666fffff48000ff00024ccdfffff2e668fffffccccd081377c0774368
+503f8b08fb1c06757d9ba61ff785e607e08b8e748e5e9185a08b91918aae8a9e8bad
+8bad8ca18ca98591768b8585088854887e368b08fb0bf75d158b87ffffff199afffe
+f78000ff0000e666ffff588000ff0000199affffe2e666ffffffe666ffffde199a8c
+7608ffffc14ccd06ffffffb334da8bffffedb3338bff00164ccd08f82c078bff0015
+66688bffffba9998ffffffcccdf70c08ff003e3333060ef84b89ac6cb5f7adb1f788
+b36cac12ecdbcaa8f74cacb0aa137780f784f8c615fc4807ff0000199affffe2e666
+ffffffe666ffffde199a8c7608ffffc04ccd06ffffffb334da8bffffedb3338bff00
+164ccd08f82c078bff001566688bffffba9998ffffffcccdf70c08ff003f333306f7
+0efbae15e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca98591768b8585
+8854887e368b082ef76606a39795a31ef406d68b9b63a14608aa9005fffffaccccb4
+fffff0e668ff00606668fffffe9998ff00079998ffffff999cff00024cccfffffecc
+ccff0000b334fffffd99988bffffee8000fffffc9998fffffa3334ffffff6668ffff
+e84ccc8b8b8bffff4be668ffffff8000ffff8cccccff000080000813af80ffffbb66
+66ff00004cccffffc6999aff0000b334598c85858b769185d1889c868b3808fc2507
+8b387a86458885858b76918508136780bc8ca98cbe8b0813b780bd8bf7088abd8a91
+918ba08591458e7a908bde08f75d070ef84b81aff789aff7ceb012abe6d6abf7cae0
+61ad13f8f75aff0078199a15ffffcf199aff003a999bffffe5e666ff005019998bff
+004433348bff005a999aff001d199aff004d999aff002de666ff0032cccc08abfffe
+35199a15ff01e8ccce07ff0025cccca9ff002d999aff000f1998ff0031999a8b0813
+faf7258bbc39a53508ad910582b585b384d34f8b67b8fb0e8b08fb40fb41fb17fb70
+fb41f71ffb24f75d1ff70a8bdeaecfc50813fc809486938b9608f704078bff002333
+349cff0009cccca88e91918ba385916d8a788a638b648b658c5c8c85858b739185ff
+0036e668fffffbccccff001b1998fffffc4cce8bffffd7e66608fb2907696b527b55
+8bffffbce6668bffffc8ccceff0017199affffd54cccb1080ef84b89acf8dbac01f5
+dbcda803f7adf70e15f825078bde9c90d18e91918ba0859108fb358905598b338c59
+8c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8ce48cbe
+8b08f734890591918ba08591458e7a908bde086df87a15f8ce0a0ef84bfb40b8f96d
+b66cac12f721ff004c4ccdff003f6667ff00204ccc13b8f7cdf89f158bde9c90c78e
+91918ba085910813d85a8a4c8a5c8b0813b8558b388c598c85858b769185db889c86
+8b3808fc4e07fb48576f6a1e7d8bfffff24ccd93fffff8b33395fffff64ccdff000d
+3333fffffbb333ff0014cccd6c8b087d6d767567c079a11ff7018bd09fa5a2b6ff00
+26199ac6ff0032e6668bf72308ffffa04ccd921513d88af880ff00404ccd8b05ffff
+ffcccc25fffffd8000fffefde666ff0002ccceffff726667fffff54cccffff69b333
+4655ffffc0b333ffffe84ccdff00364ccdff001cb333ff00194ccdda8bf716080ef8
+4b89acff0115e666ff00266666ff010ab334ac01f5dbcda803f7adf70e15ff00bae6
+6607ff0021999a8aff001a6666fffff4ccce9fffffe64ccc08f737fb5a05ff0013e6
+68ffffe7ccccff00001998ffffe566678bffffedcccd8b888c888f8b9f8c9c8ca98b
+b28b9a8aba8a91918ba08591ffffee1998ff0002999affffdb8000fffffdccccffff
+de6668ff0029999a08fb6ff79805829588928b938b92ff00044cccff0006b334ff00
+20b334ff00234ccc08f720f72b05b9bcb78db39091918ba085915c8a838a638b638b
+718c5c8c85858b769185ff00241998fffffc9998b3ff0004ccd0ffffcfe668ffffca
+999808fb3cfb4405ffffebe66676ffffeb199afffff14ccc688808ff00afb334078b
+de9c90d18e91918ba085915a8afb0c8a588b598b6e8c598c85858b769185d1889c86
+8b3808fc25078b387a86458885858b769185bc8ca98cbe8bbd8bf70b8abd8a91918b
+a08591458e7a908bde086df87a158cfcd0498bff0000cccdf8d0050ef84b89acf8db
+ac01f3ddcda6f7afac03f72716ff012eb33406ff001b4ccce7898b1f95bd95cc91bf
+fffff63334ff0004b333fffff53334ff0002199afffff39998fffffe333377437050
+3f8b08fb05066e799eaa1ff846078bde9c90d18e91918ba085915a8afb0c8a588b59
+8b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc
+8cdc8c8b8b08f3f8f415f8ce0a0ef84b89acf8dbac01ff031db334f70815903affff
+fc4ccc8a4a8885858b769185ba8ca98ca98ba98bff002dcccc8aff002133348a9191
+8ba08591478e88ff00043333fffffa1998ff0052cccd08ffffe23334f83905fffffc
+3334c1ff0004800099cf8f91918ba0859108fb1789fb68fc8f0587818887898b888b
+8a8f879408fb61f890fbac8d0585858b769185d0879189844008ffffd7e666fc3005
+fffffa199affffc4199a7fffffe6e666528685858b769185a98cec8ca38ba38bf706
+8aa98a919187a085914990fffffab334ff001eb333ff00054cccff00384ccd08b1f8
+258d8bf763fc9b05ff0002ccccfffff8e666ff00063334fffffc199a918b918b8f8e
+8f9308f775f8a58d8b05fcbedb15cf8b51fcdb478b050ef84b81adf8ecad01b0ebd4
+aaf7e1eb03f92ef7dd15f75afb27f717fb43fb47fb14fb2cfb58fb59f721fb0ff740
+f753f711f71ff75c1efc60ffff18b33315ffffd5b333ff00339999ffffe14ccdff00
+544ccd8bff005d66668bff006d999aff00203333ff00513332ff0028cccdff002fb3
+3408aafc8015ff0206999807ff001de666ff0015ccd0acff000a1998ff001f199a8b
+08f71cf221fb64fb473520fb061fffffd0e6668bffffd16666ff0011199affffd8b3
+34ff00206666080ef84b89ff00214cccff0101b334aff7b5ac01dcd6caa9f76ce703
+f83af7c115ff0047b334ff0014e666ff003f4cccff0034199a8bf48bbd7ab467ad5b
+b84d8f4c8b728b4dfffff5e66865ff00021998598b448c598c85858b769185089bff
+ffffe66805ff001e199affffffccccffffffe666ffffca66648bffffe1e66808fc2b
+07fffffe8000ffffc76666fffff28000ffffe6800076fffff74ccdfffff8199affff
+fd8000fffff69999ff00028000fffff4cccdffffff199afffffa8000fffff9b3338b
+769185bc8ca98cbe8bbd8be48abd8a91918ba0859108458e7a908bde08f73b07ff00
+054ccdffffffe666ff0004ffffffffff8000ff0004b334ff00006666ff0049e666ff
+ffff4cceff0024199afffffee666bb990831f7d115c8d375fb0afb11446f2a1f5bf7
+7906a897aed21efb058715ff0000199affffe2e668fffffee666fffdeb19988c76ff
+ffe5199aff0004999aff001ae666fffffb66664c8c8bff001566668bff01b8999aff
+ffffcccdf70c080ef84b81aff8eaad12a6ff00208000fffff78000ff00476666ff00
+46999aff001fb333ff00254ccdff001dccccff00443334df4bff0020800013dcf755
+ff0197800015ffffde199aa2ffffdb4cccff0026199a8bff002b66668bff00326668
+ff000c999aff00299998c5ff0012999808ff0062ccccfffdb34cd015ffffffe668ff
+0031199affffffe666ff007966668bff0040ccce0813ceb0ffffe97fffff001f6666
+ffffdc199a8bffffc233338bffffc5b333ffffe6999a63ffffd53332ffffef333308
+ffffe23334fffffa800015fffff64ccdfffffe6667fffff9b333ffffff3333808b08
+13eeffffa2999a8bffffc3e666ff002a800075ff00638000fffff3b3338ffffff566
+67fffffe199afffff66666fffffae6668f3e8f71975aca8bff001be66674ff0058b3
+348bff0078cccc8bff0060999ae78bf18bff005f33344abbffffb7e666ff001ecccc
+087694ffffe6199aff0008999affffdcb3339d08ff00004ccdff00e666660513ddd2
+8aff0040199affffc2ccccff0013e666ffffbe3334ff000b8000ff0000333497ffff
+fecccc9492fffffc8000bb87a7fffff5999ac0ffffc6333293ff000233349effff9e
+66668bffffa4999a8b28488b218bffffa2e666ff0042e666ffffcfccceff004d8000
+ffffde4ccc08a0fffff6e666ff00153334fffff7ccceff00186666fffff4e666080e
+f84b8baff876f72057b21292ad7faaf761ff00514cccff003fb334aaf750a976ad13
+8600f82df8ef158cfccb054f8cbc8bffffcb4ccc8a8bff00156666ff0000b334ff01
+a9999affffffccccf70c08ff005e3334fc7515f83a0713a680ad9fa7af1ec906c28b
+927b9c3e0813c680ff000b4cccff00004cccff000b4cccffffff199cff000b6668ff
+000599980813cf0083be86b38bbc81ffffffe66881ffffff199881880813ae00858a
+88761efca206768b8e911f13ce00fffff83333ff0002ccccfffff86667ff0002cccc
+fffff06666fffffe66680813d680875a85657f56ff0009e666fffffbe668ff000b99
+9afffffee664ff000c8000ff000033340813a6809fdb9898c28b08da06b09f6f6c1f
+fc3d078b387a863b8885858b769185bc8ce48cc28bc18bd48abd8a91918ba085913b
+8e7a908bde080ef84b80b5f8cdb86cac12e2ff004fb333ff003f4ccdabf7f6bc13bc
+f79af89f158bde9a90d88e91918ba085910813dc5a8afb0f8a568b0813bc5d8b748c
+598c85858b769185c7889c868b3808fbb3078bfb60f70861f74f8af77f89b3f7168b
+f74608f778078bde9c8cc79291918ba085910813dc5a8a7e8a638b0813bc5e8b768c
+598c85858b769185d6849c8a8b3808fb8a07fb047cfb1afb3d1e5b8bffffd7199aff
+0015199affffe1e666ff001ce6665aba89d78bcc086b82158bfb16a64bff0053b334
+ffffdf4cccffffc54cccff0008b334fb07b6ffffffb333ff00a54ccd0813dcffffff
+b333ff008db333ff0000999af5ffffffcccdf18b8bfffff533338cd68a080ef84b94
+76f906ac01f8b8f8fa15d586ff00006668ffffe56668ffffea9998ffffc9999808ff
+ff62199afc25fffffb66668bffff60e666f82b05ffffe8ccceff003b8000ff0005cc
+ccff000d8000cf9291918ba085915c8a428a648b638b3c8c5c8c85858c769185c486
+ff0003e6667eff001c999a4208ff00c08000fc8005ff00154cccffffca199aff0002
+b334ff000ce666c189c58dfffff9e666fffff9199aff0016199aff0033e66608ff00
+ceb334f87a059fbaff000c4cccb1cd9391918ba08591638a728a748b748b648c5c8c
+85858b76918508fc208715ca8bf762fc9b73490564e5ffff35cccdff01ecb334ffff
+fc3333ff00024ccc080ef84b9476f906ac01fa22f8c915fb33fc5c898bfb24f85105
+ffffee9998ff0035e668ff00236668ff00031998ad8e91918ba085915c8a688a638b
+648b768c638c85858b769185c088ff00199998ffffe0e668ff00086668ffffe61998
+089a5d05ff0003e6687fff00011998848b828b7efffffdccccfffff3b334fffffb33
+34fffff34ccc08fb0dfbd7898bfb2ff859057faea690ae8d91918ba085916a8afb1c
+8a648b638b7e8c638c85858b769185b88896fffffeb3349dffffca4ccc08f74afcb4
+05907b8a83ec8bdd8b6995909908f71ff7fa058f979098908b8f8bff00056668ffff
+f1ccccff00049998fffff2333408f709fbf705917a9784988b998b9393909a08f759
+f8b20597aebca2c28e91918ba08591668a558a718b718b5f8c638c85858b769185b4
+88ff0027e668fffffcb334fffff11998ffffd54ccc08fd86b615ca068b8bf704fbfc
+cafb34086e410564e5ffff59cccdff01f5b334fffffc3333ff00024ccc080ef84b89
+a870b2f8ccb170a812139098f905158b87ff0006199afffffeb334ff0009e666ffff
+fe4cccff0011800088ff001f3333fffff88000ff00284ccdffffc5800008f738fb82
+05948090828b818b858782858308fb31fb2e05ffffe56666ffffe5e666ffffe1999a
+ffffd0199a518885ffffffb33386fffffe4ccd8b860813408b770513808c89051340
+a98ca38ca98b081380f704890513408e8d8b9f0513808b8effffff199aff00038000
+fffffae666ff0000800008788d05ffffd8e666ff0004199aff00033334ff00178000
+ff0014e666ff0014666608f72cf72805919391918e8b8f8b8f88918308f704fb2f05
+ff0018b334ffffddccccff00026666fffffa3334ffffd7e666870877890587ffffff
+999a89fffffd66668b870813408b770513808e89051340ba8cc28ca28b081380a28b
+f7468ab38a0813408d8d8b9f0513908b8e89ff0003b33386ff00004ccdffffd38000
+8effffdd8000ac70b208fb45f78605819885958b958b94ff0004199aff0008e666ff
+0008e666ff000c199a08f72ef72505ff0020ccccff001ee668ff0010b334ff002119
+98ff003c80008d93ff00004ccc8cff0003b3348b8e0813208b9f051310888d051320
+638a698a748b081310748b678c638c08132089898b770513108b868efffffe4ccc8f
+ffffffb33408a98905ff001d666889ffffff8000ffffeb9998ffffe91998ffffea66
+6808fb2cfb230585838787888b888b878f8692082bf72405ffffed8000ff001bb334
+82ff000e4cccff002080008d08ab8d05ff0002b334ff00003334ff00024cccff0001
+cccc8b90089e078a8a8e8b1f13205c8afb4f8a738b081390738b648c638c08888805
+1360f73c6615da8bf827fccc3c8b050ef84b89acf8d3b26cac12f790ecbbac13b8f8
+42f70e15ff0091b334078bff0027ccccfffffd4ccc81ff00143334ff0024800008ff
+007fb334f77b05a7ff0032b334ff000e199885ff002cb334ff00044ccc91918b9f85
+910813d86d8a6d8b748b748b6f8b638c0813b885858b779185ff002c4ccc88a4ff00
+071998ffffe9b334ffffd5e66808fb0bfb7405827a878efffff733349b08ffff81cc
+ccf77205ffffe7cccdff002a9998ff000e3333fffff86668c38e91918ba085910813
+d8fb37890513b8648b3e8c6d8c85858c769185b588ff000b199aff00046668ff0028
+9999ffffbb999808ff00834ccdfb7105ff00118000ffffe28000ff00038000ffffff
+80008b6608fb1d078b387a863b8885858b769185bc8cee8cc28b08f73e890591918a
+a08591083b8e7a908bde0813d8fbaef87815cb8bf74dfbca8bfb9e5b8c8bf78c050e
+8b14f8c5157f97f82da2a797f71495ae98a99506fb8a95077f97f82da2a797f71495
+ae98a99508fb8a95091e0a039625ff0c09910c0aa80aa2910c0cd10bd1950c0d1c00
+461302a60200010032004c00630075008800d300e5014e016201a801be01ec020f02
+4d026e0282029902cc02eb03280425048704c60521053f0551057f059b05b605d905
+f50634068f06aa06bf06f20727072e076307c307eb08b008e709600970099909b809
+d30a4e0a790ac90af20af80b030b300b3b0b4e0bb10bbc0c9d0d290e3d0f190f940f
+a20fd10fea111a11e51204127912df13021401146d149a154016151762196e1aa21a
+f61b011b151b6a1b7d1ba51be71c561c7d1cc81d471d8f1dcc1e661e831ed61ee91e
+f72017203220fc21ce2393248125cd264a26dc279727c027d527f9289028a6298b29
+a029b429d42a0a2a3b2a722ab62bba2c742d602e282ef72f0a2f7d2ff43025303730
+593079308f3101318a319c31ae31b531fe32143240329b32ca33123324336133d734
+60346c34d034dc34f235073533359335ce3627362f364f366a367d368f36f2375537
+67378f379a384b385938ab38b338df390639ea3a213a2e3a4c3aae3ae93b423b673b
+a23c223ccb3d023d223e333e793eb83eca3fdb40164032405a40a340f8410b411e41
+30415d41e941f1420b4220428d42dc42e542fa4308434f436343e2449c44ab44c744
+f144fd459145a445e7462046464725474a4760477f47a147b347cd47f14815483948
+8348d44a284a484a5b4ae54aff4b654ba14baf4bb74bdb4be14bee4c024c284c614c
+8b4cd74da94e184e264f154f5f4fc14ff95038504a50a55116518c51a051d852a152
+cd52d352de52f95370538d53a653b353dd53f1549554ea561f565756755691576857
+97580858355854586958a958fe591959eb5a085a5b5a6f5a855aac5aba5ada5b655c
+405ceb5d345d7f5dcf5e265e455e675e875eea5fea601760a960c36136618e61c761
+e3626362ca62dd630c632e63f9641d64656486649c64d6650265356568658965b965
+ff661f664b666566b166fd67296755676767ab67cc67de67f368116827683d686068
+8168b768e168fa69356947699469c469f36a686b9c6bc36c0b6c366c546c946cd36d
+016d216d296d786dc16dd66de96dfa6e426e6d6e7f6e9f6eb86ed56f036f296f566f
+826fbc70087043709a70d470ef7161720072447283729c72b4732474f27534762476
+6376a576c477077724773a7772779877af77b877da788f78c9790c7928796979857b
+0b7b4a7b8f7b9d7bc77bd67d437df47e077e7a7ec97ee07f067f1e7f5c800e80c080
+d380f08126816181b381d581f4823c825f829182de836b839983e684268461847384
+9584b1850785258537854a859785ff861b863c86b386f18711873b87578782879e87
+c287ef881588638880889888dd8905893d894d8985899589a689ba89c889f28a1f8a
+448a518a5f8a728a8c8aa48ac18ad08ae98b0d8b6a8be48c268c868cb48cbe8d138d
+688d7c8e8b8f2d8f478fc38fd69027922e927392b792fc939593b793dc9408942c94
+44946f949a94a894b094be94c994f6951e9528954495539580958e95da9670968096
+8c969496ce9713973d976797dc9803980b982c987f989a98e2992a99449956999999
+db9a009a1a9ac69ae19ba99bef9c359c839cc99d1f9d319d629d939da49df49e069e
+1a9e2d9e459e769eda9f239f3f9f669f869f989fb49fc89feaa005a01da044a066a0
+88a095a0b7a0c9a0dba0e5a101a143a17fa1ada1c7a1e6a208a234a28fa2bea2eaa3
+15a32da34ca36ba403a42ca466a483a4a0a4bda4daa4fca514a52da579a593a5a1a5
+bba614a663a6a0a830a8bba927aa2baac9ab67abd7ac3dac9bacc9ad67ad7fae0aae
+2cae6faeb2aee7af2daf7cafbfb011b02bb045b05fb071b083b095b0a7b0b9b0e1b1
+0cb11eb13fb15ab16bb193b1a6b1edb226b233b252b2b3b2f2b304b318b345b34bb3
+73b38e746f78551f8b4598689433933d91318d768c858d84958b958b8d948c968d99
+8cc797f70095e198b58bcc08c16f9e741e0b71a371a3a7a3ff001ae666ff0015199a
+a376a770736f73731e0ba68f058bacf7399b9b829c716d766f7582a5fb338b1f0bc5
+b4e7bc99af7a5753622a5478729fbf1e0b56ab52c8deb7f702ced45d9d63414f3f39
+1e0b648b7d9555a481976e986f8b08434effffb9199affffa7e66658a951c9dfb7f7
+05cb1f8b948a9489929e80b181a28bae8bb48fb19a08fbfbfc88a47cf82ef8cf749b
+0562554181618b080bc5b4e7bc9dac785951612c5479719fbf1e0b6a6658838b608b
+7c977e9c8bb18b92c6a4b8a464924ab28b998b9a968b9d8bb35a9569b0089d8e9d8c
+9e8b08adae92a995849f701f6a8b7b6b5d778da99cb38ba608a37c9679797f79761e
+8b719e708f645f9d79ac698b0873827b7d6dab84bc1f9a8b998a9888080bf7455dfb
+45fb415ff741fb44b9f744f744b7070b7071766f1f8bffffe08000a5fffff980009d
+889e899c828b748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4
+b78bd108c4ffffdfb333b5ffffe14ccd1e0b9899a19795878b811ffb6f067f7e7a79
+81918c941f0b9c8b9b859780aa71ac358bfb1a8b2f88427d5875395482798b08ffff
+aae666ffffe8199af749e2f78acec3b81f0bd8f709d9f77f1f8bee73df5fc56cb46c
+a44f8b08282dfb0afb5afb36d7fb22f7051f0b769e80a09ca49a9e1e8b9389908992
+899285948b9308a4a0b9d4afc8682b1e8b4b7e57504f0841420529277b5b8b50088b
+b48dab1ef74306abb9898b1f0b98c095d68ca98590888d81897a447a68678b08fb50
+068bbbd0d9909008f0ec050bc4c2b6b78bd708f70029b73a1efb0350394f1f0bb7b9
+694d1f8b5a4b34317d089075059c8d988b988b080bc4d679fb05fb192c62681f588b
+82ac7f9d81997e97778b087676787b63df70c7f70bf5dcf7181f8bf7013eb4509508
+8a8d050beac790b98bad08b565cb25fb27612b6a7d9577a3a895ac9e1ecbd0a1a51e
+0bffff2e999a06ff00334ccdff00523334ff0057b333ff00809998d0ff005e3334ff
+00014cccffffdfccccff00008000ffff663334ffffff999afb0b080bffffab999a06
+ffffff999af70aff00008000ff0097e666ff00014cccff0020199a8dbdfffffe4ccc
+ff00273334ff0001b334ff0007cccc08898d728b05848bfffffab334fffff98000ff
+fffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000fb238e7c
+9170a98b08ff00cd333406ffffffcccc5affffff999affffd96666ffffff6666ffff
+f1999afffffe33345dffffdbcccc88608885858b809185ab8cb38fb98bff00276666
+8bff001e999a87ab8a91918b968591085a8fffffece6668cfffffe199abaffffff66
+66ff000e6666ffffff999aff0026b334ffffffccccff0030e66608ff004633340699
+9a9497958791801f0b2c533b4f1e658b7ea87c9f7e9c7a9a768b087878807762e069
+c4f710e3e7f712ec48e2fb041f608b5c827984089ff74505b087b586bb8ba98bad8d
+b48f089bc5848f0552855586568b668b678d688e0869fbaa05c09fb18faf8b08ccc4
+56fb011f0bff0025b334ff0020b334ff00284cccff0001e666ff0014199a8b08eda4
+fb0459fb025c505a4c44b7f73f1f8bff00176666ff00028000a7ff00066666a9080b
+ff001a4ccde7ff003f9999ff00676668ff0087199aff003299988b978d948390266d
+4d61534a4d436c308b3c08fb5ff70f63d8f717c0f713e1e160ddfb1c1effffe0999a
+8bffffcdb333fffff46666ffffe1b333ffffec999a080bf75e063dfb5632fb6147fb
+2c089384c78e05c4f73ec7f73af704f7a5080b7a867585658b08fb6206698b8d9579
+8f080b888a8b881f8a5b804f8357ff000ae666fffffce666ff0000199afffffeccce
+96ff00014ccc08a1dbac9cab8b080bccaa565d1f8b554b5d7077086c9e054cb481ad
+8baa08b9b2bbc71e0bd354c02925484e3e1e8b53aa62c865089d8005727871787275
+080b62677a5e8b640825d354f5f717c9ecd71e8bc56fbb57ad084eb305b7a9d3bc8b
+cb080b5e41b5e51f8ba9a1d1e1c408ba6f05c965a75c8b5b08273a6f5e1e0bffffda
+4cccffffdf4cccffffd7b334fffffe199affffebe6668b082972f704bdf702bac6bc
+cad25ffb3f1f8bffffe8999afffffd80006ffffff9999a6d080bffffe5b3342fffff
+c06666ffff98999affff78e666ffffcd66668b7f89829386f0a9c9b5c3ccc9d3aae6
+8bda08f75ffb0fb33efb1756fb133535b639f71c1eff001f66668bff00324cceff00
+0b999aff001e4cccff00136666080b71a371a3a7a3ff001ae666ff0015199aa376a7
+701e736f73731f0b7071766f1f8bffffe08000a5fffff980009d88080b9e899c828b
+748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4b78bd108c4ff
+ffdfb333b5ffffe14ccd1e0bf7d1f7070598998ca97d9108fc1afb2105fffff6b333
+ffffeeb3338b7bff00094ccdfffff14ccd08f81afb220599918aa97e99080bfc1f5a
+f81f060bfbd1fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8b9bff
+fff6b334ff000eb33308fc1af722057d858c6d987d080ba9b1abc1c1b34a4a1e8b5c
+796e65664d5087508b60085d078492889393938e921eb7078ba38ca397a4949c9e9b
+a19cb8adc6b78bda8be64cc72a8b588b637d6f726e73786f8b650868a3839a9d9e97
+a21e8b98899187900887908a918b9a080b758bfffff8999aff0008199aff00043333
+ff000a333208ff00693333ff0102b3348e8bebfba9050bc7f72f0590989194a38b08
+ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff00006666ffffd066
+66fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd933
+34ff00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfc
+b605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185
+b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff
+0006b333ff00103333ff0029b333080bff00003333ff0048e666ff0000b333ff004f
+0002ff0001199aff00461998ff00008000acff0000800095e28b08c3d76025364d68
+381f0bffffcdb3338bffffe44ccd8f598c85858b809185d188ff000fb333fffffab3
+34ff00014ccdffffad4cccff00014ccd38ff0000b3335a8b388b38ffffffb3335dff
+fffe4ccd38fffffe4ccdffffac4ccdfffff0b333fffffbb33345880885858b809185
+bc8cff001d4ccd8fff0032b3338bb68b9986e48b080bf75bbdf2e11f8beb4bc234a4
+088d070bff0032199aff00196666ff0029e666ff00334cce8bff00364ccc8bce71e5
+fb4e8b688b5c86608b080bfffffe4ccddeffffffb333ff00464ccd8bff0052ffff08
+ff000fb334d3070bf71dc73931426c41fb2c1f458bfffff2b333adffffff4ccdac08
+0bec8beeb9cfe486948491808b443d476c2e8b08fb2f3df731f726ff00a3e666ff00
+68e666ff0085199aff007d199a1ff71e8bc62fa535ff00093334ffffff3334ff0006
+99988cff00073334ff0004cccc86bf84bb81c258905eb3fb0f8b08fb5afb13ffff65
+6666ffff43999affff4f3333eeffff6bcccdf76b1f0b88dd8ab98bde8bde8dbc8ddf
+8dc989a7e78b08f76cdafb50fb2efb5efb154cfb211ffb008b84a789c9080b598b6f
+8f598c85858b809185d18899868d388d388d5a8b388b38895d893889387d86458808
+85858b809185bc8ca98fbe8baf8bbe86f28b08f721f750cef78af74efb2ff730fb54
+1f478b4786658b080bfb098a058b8b8af71c8edd8ca3979fa38b08f73006d68b9a56
+a14697898d8d959086b47cee8993080b8d8a8c881e0b7a888287738b08fbb8060b6d
+8b598f598c85858b809185d18898868e388d398b598b388b388b5c893988387e8645
+880885858b809185080bbc8cc08fa98b08f772060bbbdb868b1f99bd99d093be8191
+8a8d7e88080b774367433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05
+e0ffffff4ccc8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e8000
+8bff0021999a8eff001666668ca98591818b858508885487fffff4b33436ffffff4c
+cc080b7a888287738b08fb9a060b89df8abc8bdb9690e78dc78bc78bf7058a97858a
+468c46894089387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b96
+8591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde9b90d18e91918b9685915a
+8a6d87588b598b6e8f598c85858b809185d1889b868d38088d458b618b4d8485fb09
+8a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e91918b968591085a8a6d87588b
+598b708f598c85858b809185d18899868d388d388d5a8b388b38895d89380889387d
+86458885858b809185bc8ca88fbe8bbd8ba787bd8a91918b968591458e7d9089de08
+0b89ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff0800086
+458885858b80918508b28dc88ea98ba98bc589b48891918b968591458efffff18000
+9089de080bfffffe8000ffffb28000ffffd14ccdffffd98000ffffe933338b7d8bff
+fff74ccdff0007e666fffff7e66696fffff54ccdff000e8000fffffb6666ff0016e6
+67ffffdde6678b08fffff09999ffffe36667fffff3e666ffffe7cccdffffd86666ff
+0035cccdffffed4ccdff001833321fff003180018bff001db333ff000b4ccdb4aeff
+0021b333ff001ccccdbbff0030b333fffffe999ad5ffffff3333ff002c8000ffffff
+8000ff00c0e6668bff0037199a8bdeff00008000bcff00028000dfff00028000deff
+000e800090d18e91918b968591085a8affffe1b33387ffffcd4ccd8bffffcdb3338b
+ffffe34ccd8f598c85858b809185d1889a868d388d388c5a8b388b38fffffe999afb
+3ffffffe666638080b89db8ab98bdaae8aae7ba07108f731fb5a059f71996d8d7b8b
+888c888f8b9f8c898fa98bb28ba487ba8a91918b968591798e5d9569b508fb6ff798
+05839486938b938b928c92adae08f727f72b05b9bcbd9ab39091918b9685915c8a79
+87638b638b6c8f5c8c85858b809185af88b67a625e08fb34fb440576746a7966888b
+d18cbb8dd78dde9a90d18e91918b9685915a8a6c87588b598b6f8f598c0885858b80
+9185d18899868d388d388d5a8b388b38895d893889387d86458885858b80918508bc
+8ca98fbe8bbd8ba887bd8a91918b968591458e7c9089de080bfffffeb333ff005280
+00fffffe4ccdff002d80008bde8bdeff00008000bcff00028000dfff00028000deff
+000e800090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bff
+ffe34ccd8f598c0885858b809185d1889a868d388d388c5a8b388b388a5d89388938
+7c86458885858b809185080bbc8cbe8fa98b08ff00d4b334060bff001b4ccce7868b
+1f95bd95c591bffffff63334ff0004b333ffffff3332ff0002199afffff3999affff
+fe3333080b77436650218b084206ffffcc80008b86bcffffff8000aa080b903affff
+fc4ccc8a4a8885858b809185ba8cad8fa58bff001c80008bff00344ccc87ff002133
+348a91918b968591478efffffce668ff00043333fffffa3330ff0052cccd08ffffdf
+3334f84605fffffbe668c1ff0004cccca6cf8f91918b96859108fb1886fb68fc8f05
+fffffa4cccfffff26666ffffff3334ff0000999afffffc80008bfffffb80008bffff
+ff80008e879408fb61f890fb1a900585858b809185d087ff0006cccdfffff0e668ff
+fff83333ffffb5199808ffffd3e666fc3d05fffffa199affffc4199a7fffffe6e666
+528685858b809185a98cad8fa38ba38bab87a98a91918b9685914990fffffa999aff
+001eb333ff00056666ff00384ccd08b1f8328d8bf763fc9b05ff0002ccccfffff8e6
+66ff00063334fffffc199a918b918b8f8e8f9308f775f8a58d8b050b8cfbef05ff00
+00199878fffffae66880848b838b809d6eb008fbebf84efb158d0585858b809185bb
+88a46b9664088afc42058b327a85458485858b809185bc8cff0010cccd8fff002a33
+338bff0029cccd8bff000f333387bd8a91918b96859145927a8f8be6088af7d305ff
+ffffe666adff0005199a9a938b918b96809c7508f7f1fc4d05967c98829b8b089989
+979e1f8cf88c058be49c91d19291918b9685915a8affffef333487ffffd5cccc8bff
+ffd633348bfffff0cccc8f598c85858b809185d1849c878b30080bf718f702fb0efb
+5efb4732fb09fb06fb0efb0af70df754f766f702ece61f0bf763fb20f70efb471eff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffffd41999ffffc3b3
+34ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecccc8bff
+00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff00484c
+cd8bdf080ba184a889ad8b08f74abff706e0c666f702fb4d1f718b4581638b598b6f
+8f598c85858b809185d1889a868c388c388c5a8b388b388b5d89380889377d874588
+85858b809185bc8ca98fbe8bc38baf87bd8a91918b968591468f6a908ac5088ad68a
+cb8bd3080b8ca89b9ed38b08d0d267fb13fb00545a2a1f738b618d7e8e0890078bde
+8ceb8cde080bf763fb20f70efb471effff9cb3338bffffac6667ffffd13334ffffc9
+3333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffffa8cccc8b
+ffff45b333ff007d199affff87e667ff009d6666fffff38000ffffb2b333ffffddcc
+ccffffb93333ffffc56667ffffdc999affffccb33308b277059fb9b1989a8be88bca
+2cf7168bca8bb5a5b2c3087a97057570677c6e8b338b3addfb028b858bfffff44ccc
+ffffff8000fffff8ccce8aff00324cccff0024e666ff0035ccceff0018e667ff0021
+6666ff0009cccdff00524cccff000e3333ff0041e666ff002b4ccdff002c6668ff00
+3f6666ff0027ccccff0038b3339fff00484ccd8bdf080ba184a88cad8bac8b908099
+7408f6fb4205a85cb961c78b9a8ba68d95908e928b8a87935e8b65ad71b608fb11f7
+6e05e8afa9db8bcb8bc666f702fb4d8b718b4581638b598b6f8f598c85858b809185
+d1889a868c38088c388c5a8b388b38ffffff199a57fffffee66638080b8a3c7c8845
+8885858b809185bc8ca98fbe8bc38ba987bd8a91918b968591468f70908ac5088ad6
+8ac88bd3080bf706078bbd8bb58dc88dde9c90d18e91918b9685915a8affffe1b333
+87ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b80918508d1889b868d38
+8d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d8cc7929191
+8b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee6688f598c8585
+8b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba85dc8bcc
+080bd586ff00006668ffffd86668ffffea9998ffffc9999808ffff623334fc25ffff
+fb3332fffff34ccdfffff7199aff000cb333fb33f82b05ffffe8cccdff003b8000ff
+0004b333ff001a8000cf9291918b9685915c8a6887648b638b708f5c8c85858c8091
+85c4869971ff001c80004208ff00c58000fc940591fffff0666692fffff8999a958b
+968bff00073334ff0008b333ff0005ccccff000e4ccd08ff00ceb334f89205ff0013
+3334ff002f4cccff00171998ff0032b334cd9391918b968591638a7287748b748b64
+8f5c8c85858b809185080bfb33fc5c847684a0fb24f85105ffffee3334ff0035cccc
+ff0027ccccff00103334ad8e91918b9685915c8a6687638b648b738f638c85858b80
+9185c088ff0019999affffd3e668ff00086666ffffe61998089a5d05ff0003e6667f
+ff0006199a778b828bfffff73334ffffff999a7ffffffe6666fffffbcccc08fb12fb
+dffffff64ccc73fffff9b334a3fb2af86105fffff4999aff00233334ff00166666ff
+0011ccccae8d91918b9685916a8a6087648b638b7b8f638c85858b809185b888a0ff
+fff1b3349dffffca4ccc08f74afcb405907b9c839a8b998b9195909908f71ff7fa05
+8f979098908b8f8bff00056666fffff1ccccff0004999afffff2333408f709fbf705
+917a9a84988b998b9393909a08f759f8b20597aea8afc28e91918b968591668a7387
+718b718b5f8f638c85858b809185b488ff0027e668ffffefb334fffff11998ffffd5
+4ccc080bfb2df76605fffff63334ff000d6666fffff5ccccff000ce6668bff0007b3
+348b94ffffff8000ff0005199aff000b8000ff000ee66608f71df74505ff0022b334
+ff002ce668ff002e9998ff0019ccccff002cb334ff00044ccc91918b9685916d8a66
+87748b748b618f638c85858b809185ff002c4ccc88ff000d3334ffffed6668ffffe8
+8000ffffde999808fb0ffb4305fffff68000fffff26666ffffff8000fffffe999a87
+8b888bfffffab334ff00028000fffff84cccff000b800008ffff918000ff00a3cccc
+05ffffe3cccdb3fffff4b333ff00183334c38e91918b968591638a6387638b648b6a
+8f6d8c85858c809185b588ff001f8000ffffedb334ff00293333ffffc54ccc08ff00
+8e4ccdfb5f05ff000c4cccffffee8000ff0001b334fffffd80008b818b85fffffecc
+ccfffff8199afffff93334fffff6e66608fb28fb5a05ffffddb333ffffd2199a5cff
+ffe73333ffffd34ccdfffffbb33385858b809185a98cb08fa28ba28bb587b38a9191
+8b968591ffffd3b3338efffff2199a9dff00183333ad08f718f74d05ff00078000ff
+000a6666ff00058000ff0008999a8e8b8f8bff0003b334fffffa6666ff00074cccff
+fff5999a08ff007b8000ffff50333305ff001c4cccffffd7b332ff000b3334ffffe8
+199a538885858b809185b38cb38fb38bb28bac87a98a91918a968591618effffe366
+68ff0016b333ffffd59998ff003a4ccd080b88ff009eb334058bff0027ccccff0005
+b33499ff0006e666ff000c800008ff007fb332f77b05a7ff0032b334ad92ff002cb3
+34ff00044ccc91918b9585916d8a6388748b748b6a8e638c85858b819185ff002c4c
+cc88a4fffffa1998ffffe9b334ffffd5e66808ffff89199afb7405827afffff8e666
+8efffff733349b08ffff81ccccf77205ffffe7cccdff002a9998ff000e3333ff0005
+6668c38e91918b968591638a6587638b648b608f6d8c85858c809185b588ff001f19
+9afffff76668ff00289999ffffbb999808ff00836667fb7105ff00118000ffffe280
+00ff00066666ffffff80008b660888fb2a05fffffe66663afffff0999a843b888585
+8b809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a9191
+8b9685913b8efffff0800092fffffe8000dc080b90c395c997bf848d8a8e7e8b6c46
+7248fb018908fb5f87057affffffb33383ff000f4ccd8b948b908e919094d4f5f74c
+f799f70af72cff00151998ff001b3334ff0002e668ff0006cccc8b968b92868f838b
+080b7f8b6c896d8b08fb71060b5c8b2a93668e8755814f836295888a89968b080ba0
+d0b1ff002d9998d6ff0001666808f76b8f059cff00004ccc92fffffdb3348b858bff
+fff9b33480fffff04ccc86842afb0ffb52fb9e25fb2c858389838b8408819086991e
+ff016c4ccc06a6ff0063b334868b1f0bf2fb8bb88bfb12f7c4618bfb13fbc4b88b05
+0b878c858c868b698b747a8385088980f706fb01059b7c9286918b938b92918b908b
+928a928695080b86fb0905ffffff8000fffff4199afffffb8000fffff9e666838572
+77696c708b5b8b71b58ba98bff00258000ff0018cccdff002d199aff00473333ff00
+116666080b91779a67be8b08baadb190928191871f858b887b778b668bfffffb199a
+a9ff0001e666c20890f72205ff0004b334ff0085ccccffffb94cccff001c3334458b
+083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b9508a9b49aafabb671
+fb001e8b84897e888a083177050bffffa36666ffffeb6666ffffbf999affffcf999a
+8b4a8b42bf72ce8bb78b9f94b5ab089e9a050ba4a1a794a78bff001c199a8bff001e
+199a7aff001480006dff0015e6666bff000b6666ffffd180008bffffd080008bfb01
+592f308b6d8b78a078a389bd8bf7648b8b088b9f91949796080b8586868b8b948b8b
+8bf73d8dbdff00028000c9ff00008000a78b8b8b92888d828b7381487f658889838c
+86918508bd8893848e47ff0002333359fffffecccdfc2c8959fffffe800066fffff7
+800079887e90838a88968b91909d9892949596918c958208a179ab80ad8b08ecf706
+e4f72cf70835d3381f628b677b6d70080b8794898b828c6b61586f628b08404bd3f7
+0cf4c4d3ca1fc38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb2
+2f2d2035fb1bfb0fd536f70c1fc48bc29ebbd9080bffffff4ccc79fffffeb334847e
+7f686c6c7c738b588b4fce8bf70b8bd099ba999fa9b8b88e9e8bad8ba67f9e750898
+7c8e848b6d8b8b8bfb2b8959080b908f928d8b848b7495698b8b93888d8c938da09c
+aa9ac59291918b8e85914e90fffff8e6669dfffffe199aba0889bd8bf8158dbdff00
+028000c9ff00018000a78b8b8b92888d828b7381497f658889838d869185bd88ff00
+07ccccff0004e668ff00033334ffffb01998088d598bfb078b8b8b848989848b878b
+629c6c8b4c8b61756567626272548b448bfb09c634f28b08b08bae9fbab1080b9df7
+00caa8af8bb98bb7648b3b8b8287fffffc4ccc81ffffffb334080b68676a71548b69
+8b599f6dbc78aa80bb8bc208f7a08f0596ff0000333392ff0006cccd8b9508db6ae3
+fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d08bd38bc4acb1bd
+88958590808c080b325b70683b7fd8c8cea7b4bf1ec7ae583c1f0b7074726b8b628b
+63a473a881080b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff
+000133346e8d598b528959fffffce666ffffb2199afffffa199afffffce666598608
+86858b809085b38c9c8fb18bb28b9d87b48a90918b9686915690fffff8199aff0003
+199afffffce666ff004de66689bd8bc18dbd08ff0002199abffffffce666ba75a87b
+a06d976a8b5c8b507e514a888784828b988b8b8cf7648dbdff00028000c9ffffffe6
+66fffff8e668ff0001999aff002319980892888d821e7381497f658889838d869185
+bd88ff00084ccd90ff0002b3333b8d4f8bfbf4894ffffffd66663cfffff6999a8854
+8785858b80918508b28ca18fb48bb08b9987b38a91918b9685915b8ffffffa3333ff
+0003199afffffccccdff004ee66689bd8bf70b8b8b080b71a371a3a7a3ff001ae668
+ff00151998a376a7701e736f73731f0bfffffee666a9ffffff199aff003280008ba9
+8ba9ff00008000ff001f8000ff00018000ff001e4cccff00028000ff0031999aff00
+038000ff0036199a8b8b8b8f868e838bffffe3800080ffffdc800082468289858d85
+8d8508ff00368000fffffae666ff00078000fffffb199a8e51ff000180006dff0000
+8000ffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd800038ff
+fff78000884e8685858b809185a58dff00354ccd8eff001db3338b08aa8bba88a989
+91918b9685914e8f838e88df080bff0001b333ffffdee666ff0001199a648bffffc6
+199a8bffffd64ccdffffff8000ffffd3b333fffffeb3336287ffff7c199a8affff80
+e666598b808b7e8f849281957f9b758b08807681796eaf7d9e1fa08bbf8eb0aaff00
+2f199aff0026199aff001de666ff0048e66688f736ffffff6666ff001dcccdffffff
+199aff003199998bff001d999a8bff0032cccdff00013333ff00249999ff00014ccd
+ff0032999aff00013333bdff0002cccdc18b8b8b8f868e838b086f80638246828985
+8d858d85c18693fffff9e6668effffc7199a080b893c82885188fffff9e666fffff9
+e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e6
+66ff0005e666ff0000333496fffff9e666ff0006199a518e828e89da08ffffff8000
+ff0013999affffff6666ff0022ccccffffff8000ff002a999aff0030199affffffcc
+cdff0010666683ff0015199affffe3333308d02e05a6ffffdb999a91ffffec66668f
+7d8c88ff0000cccc89ff000233348b9a8dff0018cccc8eff000d33348b9a8bb8889e
+8991918b9685916b8f729b72ab08fb12f73205888f878f8b908b8f8b8d8f8f08dfe1
+05a8aaac9eb18f91918b968591688a7d87698b678b748f688c85858b809185c0877f
+5e828008756f6d6b7379ffffea8000fffff04ccdffffd84ccdfffff43333ffffed66
+66fffffd999affffffb333ff0020ccccffffffcccdff002466668bff0024ccce8bff
+006eccccff00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cc
+cda78b8b8b92878d828b087381497f658889838a869185bd88ff0007b333fffffb4c
+ccff00034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffff
+a366668bffff989999fffffe6667ffff953333fffffee666ffffd6199a080b893c82
+885188fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb4
+8bb48ba387b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a51
+8e828e89da08ffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff
+006eccccff00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cc
+cda78b8b8b92878d828b7381497f658889838a86918508bd88ff0007b333fffffb4c
+ccff00034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffff
+a366668bffff989999fffffe6667ffff953333fffffee666ffffd6199a080bb1b0b6
+9ea88baf8bff001a6666ffffe8e666ff0002999affffc0199a8d598b3d8959fffffc
+e666ffffb2199afffffb199afffffbe666588786858b809085ab8eff00204ccc8dff
+001eb3348b08ff001e4ccc8bff0019b33489af8890918b9686915b8ffffffa199aff
+0004199afffffce666ff004de66689bd8bcb8dbdff0000800098ffffff8000998a96
+b9bebd97b08b08af8bff00166668ffffeae666ff00029998ffffc0199a8d598b3b89
+59fffffce668ffffb2199afffffa1998fffffbe666598786858b809085a48dff0027
+b3348eff001e4ccc8bff001f4ccc8bff0027b33488a4890890918b968691578fffff
+fa1998ff0004199afffffce668ff004de66689bd8bca8dbdff00036668ff0054e666
+ffffef9998ff0043199a378b5a8b497859578888868789930882b268aa598b548b55
+69615f888884858b948ba890b78b8b8b90878d838b080b70816983498289858c858e
+86bf86ff0007cccd86ff00023333548d598bfb008959fffffce666ffffb2199affff
+f6199afffffbe666578785858b80918508a68db68eaa8ba68bb288a58991918b9685
+915b90fffffa199aff0003199afffffce666ff004de66689bd8bd08dbd08ff0000cc
+cd9fff00073333979393080b888785828b988ba890b78b8b8b90878d838b70816a83
+498289858d868d85be8694fffffb80008dffffc8800008ff0001e666ffffcc999aff
+ffff6667ffff946666fffffeb3335a893d8388528685858b809185b28ca28fb48bb0
+8b9987b38a91918b968591085a90858e89d9fffffecccdff002eb333fffffecccdff
+0054cccdff00026666ff002f80008c9f92969394080bafaec0a0b08b9e8ba07f9675
+9578fffffecccc71ff000133346e8dffffce199a8b4889ffffcde666fffffce666ff
+ffb2199afffffa199afffffce666598686858b80908508b38c9d8fb18bb28b9d87b4
+8a90918b9686915690fffff83334ff0003199afffffcccccff004de66689ff003180
+008bff003680008dbdff0000999a9aff0000999aff000e80008bff000dcccc088bff
+0021e668fffffc6666ff001d8000fffff06666ff00154ccc7ba06b976a8b085c8b4d
+7e514a080b2accfb00f71b1ec88bb9a1acabb6b59ec78bc58bee55f708fb268b4c8b
+58716862686279538b4f080bddc336fb1dfb0c48625e2864f717d4dea5ebe11f0bff
+fffd6666fffffc999afffff9999affffff66668b928bad8ea68b8b8b8f878d838b08
+0b70816d83498289858d868d85be86ff0008cccd85ff00023333558d598bfbf28959
+fffffccccdffffb1199afffff93333fffffae666518885858b82918508b38cff0016
+cccd8fff002833338bff002c199a8bff001be66687b48a91918b948591478ffffff9
+3333ff0004199afffffccccdff004ee66689bd8be18b8b8b97908a958708a282a485
+a98bc08bbb9cb2b0b8b7a5d08bd8080bf70343d52a1e518b68ffffe74ccc6affffd4
+b334080b8d588bffff95800089ffffcd8000fffffce666ffffb1199afffff8199aff
+fffde666508685858b809185a98db88ea98ba88bbe88ac8991918b968591084891ff
+fff8199aff0001199afffffce666ff004ee66689ff003280008cff004b80008c9eff
+00014ccda4ff000bb333a6959cff0009199aff000f8000ff0017e666ff0023800096
+8b928b93fffffe80008ffffff88000927e98799f8b08a2a19fa39d80a75c1fffffdb
+e6668bffffda199a6b6b5bfffff98000fffff64cccfffffe8000ff000db3348b908b
+aa8aa98991fffffeb333ff0003ccccfffffd4ccdff00023334838b080b7081728349
+8289858b868f8508be8694838d57080b8f5c8d648b63958d948c908b928b908b9289
+080ba584a587ae8bc08beea68be98bcc5cab4aa452a1619e8bbf8bb2ababb28b080b
+ae8bbe7e973a9186948b91918ead8caa8caa6d905f99598b3f8b50ffffd74ccc8bff
+ffbdb3348b45ff00254ccd6fff0043b3336e080bff004e4ccdffffde6666ff0015b3
+33ffffea999a8b628b5c5a6d688b668b719b819574a17eb685a3088591848a858508
+0b8b2c86fb208b4f8b47a270b78bb78bbba0b0b58995fffffe80008dfffff980008d
+7278687c728b718bfffffc6666a8fffffd999ac6080b89bd8ef70c8fe408ee069598
+8e941f96078f898d861efb078b8cc405ff0001199ac9ff0002e666b18b8b8b91888e
+878b848b7c807c857b847a8a8b818b808e7d8b21080bb08bc29fbab1908f948d8b84
+8b7596688b8b92888f8c928da09ca69ac59291918b8e8591084e90fffff8e6669dff
+fffe199aba89bd8bf58dbdff00013334a8ff0002ccccc68b8b8b8e898e868b868a7c
+8a7d8b6c8b728c688c0885858b809185ba88ff00098000fffff4e666ff00028000ff
+ffc1199a8d598b218959ffffff4ccc79fffffeb3348e7e7f686c5c72738bffffc4e6
+668bfffff68000ff0017199afffffc999aff0054e6660889bd8be28dbdff00013333
+a8ff0002cccdc68b8b8b8e888e868b868a7d8a7d8b6c8b728c688c85858b80918508
+b987ff000a800082ff000280004d8d598b2b8959fffffd6666ffffbe199aff001599
+9affffbfe666e98b080bbe879174775b083efb4f05ffffed999affffd33333fffff9
+4cccff0000199affffee199aff002fb3330846f74c057ab97aff0017b334c6909191
+8b968591688a6cfffffc4ccc6c8b708b7aff0003b334688c85858b809185bbfffffa
+4ccc94709e5b08f70efbc105ff0003cccdfffff68000ff00083333fffff58000978b
+958bff0004e666ff0001e666ff0008199aff0013199a08f713f7bf059db595aec090
+91918b968591768a7887728b688b7c8f688c85858b809185080b91918b968591688a
+ffffddb33387ffffe14ccd8bffffe24ccd8bffffe2b3338f728c85858b809185b886
+96779f5908f711fbc805917e9285958b948b9191929a08ecf77eedfb8005917e9285
+958b948b9291919908f710f7c2059bb29bb1bc8e91918b968591738a8287698b678b
+748f688c85858b809185d3877e657e69083bfb5b058173848380a70839f7650579b8
+91a0be8f91918b968591688a6887718b6f8b778f688c85858b809185bc87ff000833
+34ffffd98000ff000fccccffffd4800008937549fb3605fffff38000ffffe13333ff
+fff68000fffffdcccd7faa083ff7590579b990a5b98e080b72af9293b69191918b96
+8591668a69876d8b6d8b7d8f668c85858b809185ad88ac6fa76408e2fb0d058e8792
+8786850837240561586d7f688985858b809185b08c8a8faf8bb18b9487b08a91918b
+968591708f7e9ca0a808cae1059295918d938108c53f05b05a83836b8685858b8091
+85b08ca58faf8bb18b9487b08a91918b9685916b8e68955fc60831f70d0585938e8e
+8d8e08dff105b0b8ad9baf8e91918b968591728a7b876b8b6c8b7b8f668c85858b80
+9185ac87997e7269084a350587867f858198080b9aa698a697a7d7f74cbdf70abef6
+98a7aeb5ae8e91918b96859173887689748bffffe9b3348bffffde4ccc8d6c8e0885
+858b809185a988ad7a7c69082cfb6f05fffff03334ffffdb999afffffbb332ff0000
+4cccfffff0199aff0025199a0836f75a057ab382a8c59091918b9685916d8959886f
+8b77ffffffe666658e78ff0002199a85858b809185b5879779a54e08f700fb8f05ff
+0014cccdffffcfb333ff00023333ffffde4ccd8170806b7e717d6d81787678738b7e
+8b8390818b086f80767f779e7ca51f9f8bb192adc8080b898787891f8a60866a835c
+93878d89968e080b9ed1a8ff001a4ccca8ff0000b33408f7168e054afb0131fb2741
+2783808a878b868b8493fffffc199a99ffffffe66608f7ae880596ab97bd92bb858f
+8a8d808b087d6f057359786a598b08fb1806d2e5e9f734c6ec9aa38d928b8f8b8f87
+8e848b868b70896f8b08fb35066c8b83927a8e080bff0005b33388ff00054ccd8a91
+8ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a
+6f8b758b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c
+7e4a080ba2a79ec11f8bd17eae82e383d985e589a08a918992818b818b89828a8089
+7d8a4f7ffb0081357e618b4a0855a778a21e0b71a076a5a5a0a0a5a576a171717675
+711e0bf730f717f713f730f730fb17f712fb30fb30fb17fb12fb30fb2ff716fb14f7
+311f0bf71ff700fb03fb1ffb1ffb01fb04fb1efb2020f705f71ef71ff6f703f7201f
+0b3c0771747a81768b698b809f8ba08baaa39de0a1080b9e8b9e979495ff0000999a
+93fffffcb332ff00054cccfffff8b334ff0002b33488888689878b0882869bb41fd6
+07e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92089ba096
+aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e799976a48b08
+0bff00258000ffffd58000ff00258000ffffcf8000bf3cfffffd80008186fffff833
+33fffff58000fffffecccdffffb08000ff0055800059ff00308000ffffc88000bc08
+9707ff00378000bcbdff00308000ff004f8000ff00558000ff000a8000fffffecccc
+90fffff83334ff0002800081573cffffda8000ffffcf8000ffffda8000ffffd58000
+080b697368626173adaeafa2afb6b89f646a1e0b54b85ec2c2b7b8c2c35fb854545e
+5e531e0bfc1f5ff81f060bff00088000ff001ab334ff00063334ff001f9998ff0004
+4cccff0023b334fffffab334ff0003b33483ff00019998fffff54cccffffffb33480
+6f7d646c8b08380694ac9aa6b5a9080bc3b3acac8bb908cb519e593c6f58711e7e99
+80971e0b8b6270715f85fffffd4ccdfffff6e668ffffff4ccdfffff49998ff000566
+66fffff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b333ff000680
+00fffffa4ccdff000b8000859781907d8b08fffff3b333fffff38000fffff7199aff
+fff2b332ffffe08000ff0046999afffff4b334ff001a3333dbc6b9d01f8bc55ca66a
+8e080ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33339dff0004
+cccd96929ba7939c8b089ba183711f0bffffb46666fb0b05fffff7e667fffff33334
+fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1
+ffffe666668cfffff9999a8b868b858a888a080ba7a5a5a7a771a56f6f71716f6fa5
+71a71f0ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908a4ce698b632b9185059b90958c9e8b080b978d82
+6b1ffb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba0
+8ba98a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde6
+68fffffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666
+fffff9e668a4949e91988b080bffffda8000ff002a8000ffffda8000ff0030800057
+daff000280009590ff0007ccccff000a8000ff00013334ff004f8000ffffaa8000bd
+ffffcf8000ff003780005a087f07ffffc880005a59ffffcf8000ffffb08000ffffaa
+8000fffff58000ff0001333386ff0007cccdfffffd800095bfdaff00258000ff0030
+8000ff00258000ff002a8000080bfc5ffd23b583f85ef923050b8b627e8863898683
+8c7c8f85a98cff000ab3348bff00234ccc8ba98b9b8ba98a8f928b998793698d7a8e
+8bb408a3bd0791ad538b8be00594838c851e848b7f808482898885828b8508522f07
+a1adcadeb8d0086c95056252472b5e4a088f7ff7238b050bfc5efd23b483f85ff923
+050b9dab845c1f8b5573745e675b6665618b5b08f762060bc3b3acac8bb908cb519e
+593c6f58717e9980971e0b8b6270715f85fffffd4ccdfffff6e666ffffff4ccdffff
+f4999aff00056666fffff98000938c908c928b080b6d656b555563cccc1e8bba9da8
+b1b0c9c68fc68bb608b90792848e83838388841e5f078b738a737f72827a787b757a
+5e69505f8b3c8b30ca4fec8bbe8bb399a7a4a8a39ea78bb108ae73937c79787f741e
+8b7e8d858f86088f868c858b7c080bfb1035057e8289868b848b839184948b948b97
+8ea09408f724c505fffff34cccff00154cccffffeb4cceff00116668ffffe36666ff
+000d4ccc080bfffff0999aff0007b334fffff66666ff0000b3347dfffff799986c69
+6a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff0009199aff0003ccccff00
+041998ff0008199cff0002ccceff000919980867a666ad6daf080b788b7a927b9708
+0b7799759f6d8b608b74647d509185958a968d95ac959aa58b9c8b9e839d80080ba0
+7da079a18bb98ba8b297c7858f818e808a087d618081758b080b71a175a5a5a1a1a5
+a575a1711e717575711f0b71a175a5a5a1a1a5a575a171717575711e0bc7f72f0590
+989194a38b08ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff0000
+6666ffffd06666fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b96
+8591ffffd93334ff00038000ffffdeccccff0003800079be080bfb65f8da057c8273
+807e8b08fb7cfcb605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd48000
+8885858b809185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff000299
+9affffd06667ff0006b333ff00103333ff0029b333080ba99d756c6f7a726c6c7aa4
+a7a99ca2aa1f0b8bffffc8e6668bffffd5800089ffffbf999afffffd800038fffff1
+800086458885858b809185080bbc8cbe8fa98b08f775060b774368433f8b08fb3006
+758b7e9b8aa688ff005380008cff00af80008b8b08f7088a05e0ffffff4ccc8effff
+eab3348e5e9185968b91918aae87ff000c80008bff001e80008bff0021999a8fff00
+1666668ca98591808b8585885488fffff4b33436ffffff4ccc08fb088a058b8b8af7
+1c8eddff0000e668a3ff000b19989fa38b08f72f06d68b9b56a146ff000c6668ffff
+fe3334ff0000ccccff00021998ff0009ccccff0004b33486b47cee8993080b7a8883
+87738b08fffed58000060bffffe04ccc8bffffa3b3348f598c85858b809185d188ff
+00063334ffffdbb334ffffefccccffffe14ccc08fb87fc5b05ffffe04ccdffffc4b3
+33ffffd93333ffffea4ccdffffd480008885858b809185080bb08ca18fb28b080bb4
+8bb487b08a91918b968591ffffda6666ff0002999affffcb4ccdff00136666ff0014
+4ccdb208eff754050bff0002199a3affffffe666588b380876ffff52800007f735f7
+c8058f89ff000580006b8c65080ba2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015e666ff003a999a
+05ff00566666ff0008e666ff0055199cff002d3333ff003c9998ff004f4ccd869484
+91808b443d476c2e8b08fb2f3df731f726ff00a3e666ff0068e666ff0085199aff00
+7d199a1ff71e8bc62fa535ff00093334ffffff3334ff000699988cff00073334ff00
+04cccc86bf84bb81c258905eb3fb0f8bfb5a8bfb13ffff6566668bffff43999a8bff
+ff50199aedffff6c4cccff00d4ccccfffffe999a08ffffdc3334359185059b90958c
+9e8b080bffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4ccc
+08f72e4c05a0829988938b938b92928b938b9287918093080bfb098a058b8b8af71c
+8edd080b8ca3979fa38b08f73006d68b9a56a14697898d8d959086b47cee8993080b
+774367433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05e0ffffff4ccc
+8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e80008bff0021999a
+8eff001666668ca98591818b8585885487fffff4b33436ffffff4ccc080bfb103505
+7e8289868b848b839184948b948b978ea09408f724c505fffff34cceff00154cccff
+ffeb4cccff00116668ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff6
+6666ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad
+79b279ff0009199aff0003ccccff0004199aff0008199cff0002ccccff0009199808
+67a666ad6daf080b8b8b8af71c8edd8ca3979fa38b08f73006d68b9a56a14697898d
+8d959086b47cee8993080bfb1035057e8289868b848b839184948b948b978ea09408
+f724c505fffff34ccdff00154cccffffeb4ccdff00116668ffffe36666ff000d4ccc
+080b3906ff00003333ff004be666ff0001e667ff00303334ff0001e666ff004fe666
+8dc989a7e78b08f76cdafb50fb2efb5efb154cfb211ffb008b84a789c9fffffd3333
+ff004b80008ab8ffffffcccdff0047800008cc06948bff000accccff0001199aff00
+013334ff0006e666088e9c05ff0000b3348ffffffd4ccc8d868b080b598b6f8f598c
+85858b809185d18899868d38ff0001e666ffffb0b334ff0001e667ffffcfccccff00
+003333ffffb380000846067a8bfffffc999afffffb199afffffe6666fffff6e66608
+8980058afffffa999a8dffffff66668f8b08e306ffffffb333ffffb9199afffffe19
+9a5efffffe3333ffffb3e66689387d86458885858b809185bc8ca98fbe8baf8bbe86
+f28b08f721f750cef78af74efb2ff730fb541f478b4786658b080bffffddccccffff
+f46668ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988938b
+938b92928b938b9287918093080bf718f702fb0efb5efb4732fb09fb06fb0efb0af7
+0df7541ff766f702ece61e0bff0038e666ff00464ccd05ff00356667ffffd5ccceff
+00441999ffffe8e666ff0049999a8bff006ecccc8bff00578000ff002fb333ff0036
+e668ff004e4ccdff0027ccccff0038b3339fff00484ccd8bdf8bff0066ccccffffdd
+8000ff0051ccccffffc74cccff00384cd008ff003b3334ff0049199805fffffdb334
+ff000ee668fffffd4cccff00051998788b08ffffc56668ffffb7cccc05ffffc8fffe
+ff002bb33444ff00178000ffffb1999a8bffff9cb3338bffffac6667ffffd13334ff
+ffc93333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffffa8cc
+cc8bffff9de666ff0022b333ffffb03334ff0037e667ffffc8999908ffffc76666ff
+ffba4ccd058e7c8d849e8b080bff0044e6668bff003ee666ffffdeb334ff002c6668
+ffffc3800008fffeb73332fffe6b4ccc05ffffe2199aff0032999affffed8000ff00
+40e6668bd78bf766f702ece68b080bff001de664ffffcb4cccff0011e668ffffbbb3
+328bffffae999a8bfb4732fb09fb068bffffbfb3348bffffc0e666ff00218000ffff
+d29999ff003be666080b71a076a5a5a0a0a5a576a071717676711e0b8bff002c8000
+fffffee666b2ff00003334ff001e8000ff00004cccff0032199aff0000cccdb5ff00
+01cccdff003ce666ff00028000de99ff00058000ff00148000ff0002800091918b96
+8591ffffec80008affffe2cccd87ffffe0b3338bffffd380008bffffdf80008f668c
+0885858b809185ff0039800088ff000c8000868d388d388c5a8b388b608afffff733
+348bffffdecccc08fb60f72261e5f761b7f713f7461ef785078bde9c8cc79291918b
+9685915a8afffff5e66887ffffda19988bffffe819988bffffe466688ffffff68000
+8c85858b809185a4fffff980009cfffffe80008b3808fb9707fb0477fb24fb3d1e5b
+8bffffd7199aff001a199affffe1e666ff001ce6665aba87dc8bcc080bfb1035057e
+8289868b848b839184948b948b978ea09408f724c505fffff34cccff00154cccffff
+eb4cccff00116668ffffe36668ff000d4ccc080b86fb0905ffffff8000fffff4199a
+fffffb8000fffff9e6668385080b7277696c708b5b8b71b58ba98bff00258000ff00
+18cccdff002d199aff00473333ff00116666080bffffb46666fb0b05fffff7e667ff
+fff33334fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188
+960574a1ffffe666668cfffff9999a8b08868b858a888a080bfffff53333ff000280
+00fffff58000ffffffccccfffff54ccdfffffdb3346e5d5d556763918292859489b2
+a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a909208
+67b35fc06eba080b71a076a5a5a0a0a5a576a1711e717675711f0ba99d756c6f7a72
+6c6c7aa4a71fa99ca2aa1e0b5db564b9bbb3b3b8ba61b15d5d61645d1e0ba1749366
+8c4039854c7e6273697771618b658b63996dac78a07fad85ad8bae8bbb9bb7b80896
+978f8f9382080b9f74b05ee18bca8bc2b1a7be88908394838c6f6a6969588b688bff
+ffd96666ff001ee666ffffe8e666ff001f999affffe84cceff00206666fffff86666
+ff002b80008bff002b999a08f76f8eb8ae8bd88bab61cafb008b558b59746c6068cb
+428d748b083d416154789473a8a3989c9a1f8b928a91898f898e8a918b958ba7afa0
+b08b089f8ba785997c080b8b5b8a6c8779080b7d6562585a8b568b7bb48bb48ba198
+a1a29ca8a1ba9bcd90080b93dcb2d4cc8bb98bab5e8b6d8b515e78fb2589080ba295
+7d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca363
+1f828b828a838908ff00158000ff0039b33305ff00326666ff00041999ff00304cce
+ff0016b333ff002accccff004580008794898b828c6b61586f628b08404bd3f70cf4
+c4d3ca1f0bc38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb22f
+2d2035fb1b1f8bffff8a8000ff00436666ffffad3333ff006e999afffff8cccd0867
+ffffa980009185059b90958c9e8b080b9df700caa8af8b080bb9b7643b1f8b8287ff
+fffc4ccc81ffffffb334080b68676a71548b698b599f6dbc080b78aa80bb8bc208f7
+a08f0596ff0000333392ff0006cccd8b9508db6ae3fb19ffffa5e666ffff96199a3a
+fb251e8b569956aa67ab65bd74d08bd38bc4acb1bd88958590808c080b888785828b
+988ba890b78b8b8b90878d838b080b70816a83498289858d868d85be8694fffffb80
+008dffffc88000ff0001e666ffffcc999affffff6667ffff946666fffffeb3335a89
+3d8388528685858b80918508b28ca28fb48bb08b9987b38a91918b9685915a90858e
+89d9fffffecccdff002eb333fffffecccdff0054cccdff00026666ff002f80008c9f
+92969394080bafaec0a0b08b9e8ba07f96759578fffffecccc71ff000133346e8dff
+ffce199a8b4889ffffcde666fffffce666ffffb2199afffffa199afffffce6665986
+86858b80908508b38c9d8fb18bb28b9d87b48a90918b9686915690fffff83334ff00
+03199afffffcccccff004de66689ff003180008bff003680008dbdff0000999a9aff
+0000999aff000e80008bff000dcccc088bff0021e668fffffc6666ff001d8000ffff
+f06666ff00154ccc7ba06b976a8b5c8b4d7e514a080b2accfb00f71b1ec88bb9a1ac
+ab080bb6b59ec78bc58bee55f708fb268b4c8b58716862686279538b4f080b2accfb
+00f71b1ec88bb9a1acabb6b59ec78bc58bee55f708fb268b4c8b5871686208686279
+538b4f080bffffd7e666ffffcf6666050bffffe23334ff00154cceffffd93332ff00
+0d4cccffffceb3348b4c8b58716862686279538b4f8bffffcf999aff00103333ffff
+cce666acffffd8e66608ffffcfcccdffffc5999a058d7d93829a8b08ff002f3333ff
+0039999a05ff001fb33271ff002a3334ffffef6666ff0034e6668bc88bb9a1acabb6
+b59ec78bc58bff0037999a7aff003ce666ffffd73334ff002acccc080bff0028cccc
+ff0031b33405879786937b8b080bff002733348bff00213332ffffec999aa3ffffdc
+cccc08ffff43cccdffff1be66705fffff21999ff0023cccefffff9b333ff00269999
+8bff001d4ccd08dea5ebe11e0bff000fe66867ff0008ccccffffd1b3348bffffc980
+008bfb0c48625e8bffffd180008bffffdecccdff001cccccffffe9cccdff00263334
+080bb08bc29fbab1908f948d8b848b7596688b8b92888f8c928da09ca69ac5929191
+8b8e8591080b4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b868a7d8a
+7d8b6c8b728c688c85858b80918508b987ff000a800082ff000280004d8d598b2b89
+59fffffd6666ffffbe199aff0015999affffbfe666e98b080bced2acab1ea38ba382
+997db46293538b528b386d2f268b7d8b728c70a2809585918ba9080b9896a0979187
+96811ffb75068080777f848f80941f0b6f06846457755a8b568b5ca183b2086f0690
+45c560d48bcd8bcbb591d2080b707f059936be59d18bc68bcbbc97e1087097058151
+5d6b578b08558b60b080c0080b6fa373a7a7a3a3a7a773a36f6f73736f1e0b71a371
+a3a7a3ff001ae668ff00151998a376a770736f73731e0bb606a9adababb1a8087c9f
+05657b6b7866716aa4699e649c087b7705af6fae6da966080bbd06a8b9b1b8aeb208
+78980566706972666569af6aa464a808777e05ae65b05ea85c080b6d7d797b7b9075
+b49391837e1f8b747666618208907a05d193abc98baf08af75b0651e0b908f928d8b
+848b7495698b8b93888d8c938da09caa9ac59291918b8e85914e90fffff8e6669dff
+fffe199aba0889bd8bf8158dbdff00028000c9ff00018000a78b8b8b92888d828b08
+0b7381497f658889838d869185bd88ff0007ccccff0004e668ff00033334ffffb019
+988d598bfb078b8b8b848989848b878b629c6c8b084c8b61756567626272548b448b
+fb09c634f28bb08bae9fbab1080bffffc1666606ff00003334ff000dccccff000033
+32ff000a6668ff00003334ff0005ccccff00028000c9ff00018000a78b8b8b92888d
+828b7381497f658889838d869185bd88ff0007ccccff0004e668ff00033334ffffb0
+199808ff0000199afffffdccccff0000199afffffdb334ff00001998fffffd800008
+ffff9db334067a8bfffffc999afffffb1998fffffe6666fffff6e668088980058aff
+fffa99988dffffff66688f8b08f70a06ffffc9199a8cffffb7e6668b1e848989841e
+878b629c6c8b4c8b61756567626272548b448bfb09c634f28bb08bae9fbab1908f92
+8d8b84087495698b1e93888d8c938da09caa9ac59291918b8e85914e90fffff8e666
+9dfffffe199abafffffe6666ff00286666ffffffb334ff01034cce8cff007c4ccc08
+ff002de66606948bff000accccff00011998ff00013334ff0006e668088e9c05ff00
+00b3348ffffffd4ccc8d868b080b6f06846457755a8b568b5ca183b2086f069045c5
+60d48b08cd8bcbb591d2080b6fa373a7a7a3a3a7a773a36f1e6f73736f1f0b774367
+433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05e0ffffff4ccc8fffff
+eab3348e5e9185958b91918aae88ff000c80008bff001e80008bff0021999a8eff00
+1666668ca98591818b8585885487fffff4b33436ffffff4ccc08fb098a058b8b8af7
+1c8edd8ca3979fa38b08f73006d68b9a56a14697898d8d959086b47cee8993080bfb
+40fb3efb17fb70fb41f71cfb24f75d1ff70a8bdbaecfc5080b809486938b9608f711
+078bff002333349cff0009cccca88e91918b9985916d8a7e87638b648b658f5c8c85
+858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8bffffd7e66608fb36
+07696b4f71558b08fb462cf747f718f743f706f715f7131f0bf7258bc62fa535958b
+ff0006b334ff00008000ff00074cccff00058000fffff83334ff0044800084ff0031
+8000fffff8ccccaf4f8b67b8fb0e8b080b3b7fd8c8cea7b4bfc7ae583c1f0b95889b
+8a978b080ba98ba68e988bbb8bab89a77cb07697748b7208462d54354b55bacc1e8b
+ab90ada7ac080b9d9d9c9e1f0b9f799a711e728b5d7b726b080b80936b9e538b368b
+40528b338b589f6da671080b586c6e568b620838db68d4f715f71fd2f21e8baa7da6
+6fa266aa488c688b7a8b73897488080b7d8a818a868b6f8b67a48bae8b9e95a0969b
+a27ea581b08bdf8bd7c38be88bb87fa46fa80892959f98978b928b918891828f8397
+82958b080b6e7678731f8b70a4829c889d8998878b778b7971735a808b828d829185
+c494bca98bc708bf73ad651e0bae9ba49b9c81a363ffffe7cccdfffffb3333fffff9
+6668ff001399981f8ba29fabc4978b928a94878f6586ffffe3e666ffffef1998ffff
+ef199affffeae6687b7784758b730867a266b21e0bff0001b334ffffdee666ff0001
+1998648bffffc6199a8bffffd64ccdffffff8000ffffd3b333fffffeb3346287ffff
+7c199a8affff80e666598b808b7e8f849281957f9b758b08807681796eaf7d9e1fa0
+8bbf8eb0aaff002f199aff0026199aff001de666ff0048e66688f736ffffff6666ff
+001dcccdffffff199aff003199998bff001d999a8bff0032cccdff00013334ff0024
+9999ff00014cccff0032999aff00013334bdff0002ccccc18b8b8b8f868e838b086f
+806382468289858d858d85c18693fffff9e6668effffc7199a080bfffffeb333ff00
+528000fffffe4ccdff002d80008bde8bdeff00008000bcff00028000dfff00028000
+deff000e800090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb333
+8bffffe34ccd8f598c0885858b809185d1889a868d388d388c5a8b388b388a5d8938
+080b89387c86458885858b809185080b893c82885188fffff9e666fffff9e666ff00
+00333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e666ff0005
+e666ff0000333496fffff9e666ff0006199a518e828e89da08ffffff199aff002566
+66fffffe9999ff005c66678bff00604ccd8bff006eccccff00018000ff00740002ff
+0000cccdff002b1998ff00013333c9ff0002cccda78b8b8b92878d828b7381497f65
+8889838a86918508bd88ff0007b333fffffb4cccff00034ccdffffb9b334ff0001cc
+cdffffd9ccccff0000e666ffffa5e6688bffffa36666088bffff989999fffffe6667
+ffff953333fffffee666ffffd6199a080bff001033347fff0015cccc6e1e808b8487
+868308ffffc4b334fb0105fffffd8000fffffb6668fffffeccccfffffc99988b888b
+839386908b8e8b8e8c8d8d08eedf058f8f8e928b94080bff00174cccffffe9b334ff
+000eb334fffff04ccc1e7c8b8487868308ffffc98000fb0205fffffe199afffffc33
+34ffffff6666fffffacccc8b898b849186928bff0005999a8b8fff00038000ff0004
+66668f08e3ff0050800005908f8d928b93080bff001299987aff00126668761e7f8b
+84888682083dfb1f058a8a8b898b8a8b839486908b8d8b8d8b8d8d08f706f7020591
+918c928b91080bff00148000ffffeee666ff000f8000ffffeb199a1e878b7b8a857e
+084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d8d08f1f70d058f908c918b90
+080ba184a88cad8bac8b9080997408f6fb42050ba85cb961c78b9a8ba68d95908e92
+8b8a87935e8b65ad71b608fb11f76e05e8afa9db8bcb8bc666f702fb4d8b718b4581
+638b598b6f8f598c85858b809185d1889a868c38088c388c5a8b388b38ffffff199a
+57fffffee66638080b8d588bffff95800089ffffcd8000fffffce666ffffb1199aff
+fff8199afffffde666508685858b809185a98db88ea98ba88bbe88ac8991918b9685
+91084891fffff8199aff0001199afffffce666ff004ee66689ff003280008cff004b
+80008c9eff00014ccda4ff000bb333a6959c080bff0009199aff000f8000ff0017e6
+66ff00238000968b928b93fffffe80008ffffff88000927e98799f8b08a2a19fa39d
+80a75c1fffffdbe6668bffffda199a6b6b5bfffff98000fffff64cccfffffe8000ff
+000db3348b908baa8aa98991fffffeb333ff0003ccccfffffd4ccdff00023334838b
+080b70817283498289858b868f85be8694838d57080bffffc6333293ff0002199a9e
+ffff9e4ccd8bffff9ab3338b32488b218bffffa2e666ff0042e666ffffd2ccceff00
+4d8000ffffde4ccc080bcaffffe4999aff0067999affffea33328bffff8d33348b3a
+ffffd0cccc57ffffb033348bffffa280008b45ff0034800075ff00638000fffff3b3
+338fffffff6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff00
+58b3338b08ff002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff00
+23ffffff00248000ff003d999a8bff003f999a8bff005f33344ab8ffffb7e666ff00
+1eccccffffcf199aff0014ccccffff766666ff002633348bed8bc3ff0034999acdff
+003ae6668b080bff0061199a8bb4439f49ff000b8000ff000033348dfffffecccc94
+92fffffc8000bb87a7fffff5b334c0080b8c898d8a1e0b6988fb03833c8b0835060b
+3e8bfb0a93658e898b89898b8a875e8154805b95878d8a978b080bff00024cccffff
+adb334ffffffb334ffffce4ccc8b388b388b5d893889387186458885858b809185bc
+8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a0891918b968591
+458e719089de89ff005280008bff002d80008bde8bdeffffff4cccff00304cccff00
+02b334ff0054b334080b8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986
+c18ab8080b9fdbb9afcd8b08c606b08bff00094ccc78ff0001b3344e080b7e878583
+1f8207868c8a8f1e0b4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334
+a8ff0002ccccc68b8b8b8e898e868b080b868a7c8a7d8b6c8b728c688c85858b8091
+85080bba88ff00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff
+4ccc79fffffeb3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199aff
+fffc999aff0054e66689bd8be28dbd08ff00013333a8ff0002cccdc68b8b8b8e888e
+868b868a7d8a7d8b6c8b728c688c85858b809185b987ff000a800082ff000280004d
+088d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e98b080bfffff5
+3334ff00028000fffff58000ffffffccccfffff54cccfffffdb3346e5d5d55676391
+8292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff00
+08199a90920867b35fc06eba080b88ff009eb334058bff0027ccccff0005b33499ff
+0006e666ff000c800008ff007fb332f77b05a7ff0032b334ad92ff002cb334ff0004
+4ccc91918b9585916d8a6388748b748b6a8e638c85858b819185ff002c4ccc88a4ff
+fffa1998ffffe9b334ffffd5e66808ffff89199afb7405827afffff8e6668efffff7
+33349b08ffff81ccccf77205ffffe7cccdff002a9998ff000e3333ff00056668c38e
+91918b968591638a6587638b648b608f6d8c85858c809185b588ff001f199afffff7
+6668ff00289999ffffbb999808ff00836667fb7105ff00118000ffffe28000ff0006
+6666ffffff80008b660888fb2a05fffffe66663afffff0999a843b8885858b809185
+bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a91918b968591
+083b8efffff0800092fffffe8000dc080b90c395c997bf848d8a8e7e8b6c467248fb
+018908fb5f87057affffffb33383ff000f4ccd8b948b908e919094d4f5f74cf799f7
+0af72c080bff00151998ff001b3334ff0002e668ff0006cccc8b968b92868f838b08
+0b8bff007b199affffce9998ff005cfffeffffb23334ff00373334080bff002ccccc
+ff0008e668ff0012e668ff0021b3348bff002e199808bb6cb6656d7b7c731e8b7798
+74ad87998a9c808b7e8b695f83808bfffff8cccc8bfffff9999aff00004cccfffff9
+999aff0000ccccffffd5199aff0013999cffffcf4cccff000a4cccffffcc199a8bff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4cccc08ffffd41999ffffc3
+b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecccc8b
+ff00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff0048
+4ccd8bdf080b2accfb00f71b1ec88bb9a1acabb6b59ec78bc58bff003b3334ffffec
+b334ff00413332ffffd14cccff002ae666080bb4ff0006999aa4ff001f33348bff00
+2de66608b872b2676f7b7d741e8b789976ab88988999838b7f8b6b6285818bfffff5
+e6668bfffff7b334ff00006666fffff6b332ff0001999affffe7199aff000b6666ff
+ffe26666ff0006999affffdd33348b4c8b5871686208686279538b4f080b598b6f8f
+598c85858b809185d18899868d388d388d5a8b388b38895d893889387d8645880885
+858b809185080baf8bbe86f28b08f721f750cef78af74efb2ff730fb541f478b4786
+658b080b90c395c997bf848d8a8e7e8b6c467248fb0189080bfb5f87057affffffb3
+3383ff000f4ccd8b948b908e919094d4f5f74cf799f70af72cff00151998ff001b33
+34ff0002e668ff0006cccc8b968b92868f838b080ba0d0b1ff002d9998d6ff000166
+6808f76b8f059cff00004ccc92fffffdb3348b858bfffff9b33480fffff04ccc8684
+2afb0ffb52fb9e25fb2c858389838b8408819086991eff016c4cd006a6ff0063b330
+868b1f0b78980566706972666569af6aa464a808777e05ae65b05ea85c080bff0001
+b334ffffdee666ff00011998648bffffc6199a8bffffd64ccdffffff8000ffffd3b3
+33fffffeb3346287ffff7c199a8affff80e666598b808b7e8f849281957f9b758b08
+807681796eaf7d9e1fa08bbf8eb0aaff002f1998ff0026199aff001de668ff0048e6
+6688f736ffffff6668ff001dcccdffffff1998ff003199998bff001d999a8bff0032
+cccdff00013334ff00249999ff00014cccff0032999aff00013334bdff0002ccccc1
+8b8b8b8f868e838b086f806382468289858d858d85c18693fffff9e6668effffc719
+9a080b79fb004c6e678b5d8b5fb28bdb8b948fff0003b33395ff00004ccd080baeaf
+aca5c28bad8bbd77a95a9e6c965b8b5408fba0870580ffffffcccd84fffff933338b
+81083bac33f719ff005a199aff0069e666dcf7251e8bc07dc06caf6bb159a2468b43
+8b526a65598e819186968a080b8bffffc8e6668bffffd5800089ffffbf999a080bff
+fffd800038fffff1800086458885858b809185080bbbdb868b1f99bd9ad093beffff
+f5999891fffffe8000ff00023333fffff2e668fffffccccd080ba17493668c403985
+4c7e6273080b697771618b658b63996dac78a07fad85ad8bae8bbb9bb7b896978f8f
+9382080b9f74b05ee18bca8bc2b1a7be88908394838c6f6a6969588b688bffffd966
+66ff001ee666ffffe8e666ff001f999affffe84cceff00206666fffff86666ff002b
+80008bff002b999a08f76f8eb8ae8bd88bab61cafb008b558b59746c6068cb428d74
+8b083d416154789473a8a3989c9a1f8b928a91898f898e8a918b958ba7afa0b08b9f
+8ba785997c080b8792858f828b75757b7b6e8b668b7ea08ba58bff0031e666ff0026
+6666abff0054999aff00453334acff0014b332ff001c1998ff001b0001ff0016999c
+ff00203333ff0027ccccff0038b3339fff00484ccd8bdf08f763fb20f70efb471eff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffffd41999ffffc3b3
+34ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8ba78bff001a999a
+ff0003199aff0018e666ff0005ccccffffc86666ffffd88000ffffd8999affffd680
+008bffffd4199a8b55b177bd8b08b48bb39fa8b8080b8792858f828b75757b7b6e8b
+668b7ea08ba58bff002db333ff00203334ff001eb333ff00468000c5ff000b8000ff
+00073334ff000a6666ff00084cccff00096666ff0009199ab6b59ec78bc508ee55f7
+08fb261e4c8b58716862686279538b4f8b2accfb00f71b8bff000a199a8bff0009cc
+ccff0000999aff00094cceff00013333ffffcd9999ffffdab333ffffdd3333ffffd8
+cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080bffffb46666fb0b05fffff7
+e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707
+f70188960574a1ffffe666668cfffff9999a8b08868b858a888a080b8b828e848f87
+08ee37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff
+0004999808ffffc4b334f701058693848f808b6e8b7fffffea33348bffffefcccc08
+0bffffe8999afffff16666ffffede668ffffee19981f8b858d84908508f706fb0205
+8d898d8a8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c
+083df71f058694848d7f8b080bffffe08000fffff58000ffffe9ccccfffff233341f
+8b868c85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66668b
+ff0002999a8b8c8b8dfffffeb3348e08ffffc14cccf7230587948390808b080ba706
+92b2bfa1bc8bc08bba75936408a70686d151b6428b498b4b618544080ba697057de0
+58bd458b508b4b5a7f3508a67f0595c5b9abbf8b08c18bb6669656080ba70692b2bf
+a1bc8bc08bba75936408a70686d151b6428b08498b4b618544080b8b838d84908708
+e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b928b8dff
+ffff6666ff00053334fffffe199aff0003cccc08ffffc98000f702058693848f7c8b
+fffff04ccc8bffffe9b334fffff14ccc8bffffe8b334080bffffc6333293ff000219
+9a9effff9e4ccd8bffff9ab3338b32488b218bffffa2e666ff0042e666ffffd2ccce
+ff004d8000ffffde4ccccaffffe4999aff0067999affffea33328bffff8d33348b3a
+ffffd0cccc57ffffb033348bffffa280008b45ff0034800075ff0063800008fffff3
+b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff
+0058b3338bff002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff00
+23ffffff00248000ff003d999a8bff003f999a8bff005f33344ab8ffffb7e666ff00
+1ecccc08ffffcf199aff0014ccccffff766666ff002633348bed8bc3ff0034999acd
+ff003ae6668b080bff0061199a8bb4439f49ff000b8000ff000033348dfffffecccc
+949208fffffc8000bb87a7fffff5b334c0080bff00024cccffffadb334ffffffb334
+ffffce4ccc8b388b388b5d893889387186458885858b809185bc8cff002466668fff
+0036999a8bff003633348bff0022cccc87bd8a0891918b968591458e719089de89ff
+005280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b334
+8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab8080bbc8cc08fa9
+8b08ff007566668b632b9185059b90958c9e8b080ba2957d7671767d6d1f778b808f
+7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015
+8000ff0039b33305ff003fccccff0004e666ff0032ccceff001f8000ff0022e666ff
+002de66688958590808c68676a71548b698b599f6dbc78aa80bb8bc208f7a08f050b
+96ff0000333392ff0006cccd8b9508db6ae3fb19ffffa5e666ffff96199a3afb251e
+8b569956aa67ff001d4ccdffffdd3333ff002c6666ffffe9cccdff003c4ccdfffffc
+80000867ffffa980009185059b90958c9e8b080bff000b199aff00094ccea09791ff
+fffc999896fffff780001fffff40ccce06fffff6b333fffff69999777f84ff000366
+6780ff0007b3331f0bffffefcccc8bfffff1999aff0007b334fffff26666ff000d33
+34080b7aff000f6664ffffed4ccca1ffffe680008bffffdb80018bffffec6666ffff
+d5199cfffff4199affffbf1998ff00051999fffff96668ff00086667fffffee664ff
+00096666ff00023334ff00088000ff00244cccff00088000ff00108000ff00161999
+8bff000e80008bff0010199afffff73334ff000f4ccefffff3e668080bff0011cccc
+fffff09998ff0011e666ffffec3334ff0012b3348bff0027199a8bff00189998ff00
+2ae664ff000a3334cdfffffae666ff00046668fffff7999aff00034cccfffff6999a
+fffffee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b080b78807e7b
+7c987e9c9c98989a1f99839a751e0bfb1f072e82686e1e868b878f8a918799839a7c
+8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f726070ba68da68b1e90
+898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0b8b9c8a8c058b
+678a7173708c8b1e8a8a8b7a05888f898e1e9b8b9388966e08d7fb61058e83908690
+8b938b948e8f9608c2f727c3fb28058e839086908b928b948e909608daf75c0596a8
+9892998b088e8f8c8f1f8b9c8a8c058b758a7876638c8b1e8a8a8b7a05898d888d1e
+94069d9487801f8b86898588830850fb2a52f72d05889489928b8f0895938c9d8e8d
+8d8e1e8b9c898c548a0578658c8b1f8a8a8b7a05878d8a8e1e9d8b92869570089474
+5cfb1551f72d05879589928b900892918d961e94068d8d8d8e1f0b657565681f8b71
+9a3fe687088f9c05619379b08ba208968f9292b490a49c9b809d671e0bffffb46666
+fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b93
+8f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b868b858a888a080bf7
+37077f8f828d828b848b8489818708fb390797879389938b928b938d9691080b9895
+9d97928792821ffb61067f817a7f848f83931f0b8b81f71e3d05ff000fb333fffff7
+3333ff00084ccdfffffccccd918b928b92938b918b92889183940829f2058a8c868c
+878b6e8b74748079080b908b928c938f08f717c3058e8e8e988b938ba7819e839508
+818ffb0c24057f8080828b828b888c80988b080bf73c068e908d918b928b92899486
+95084df700068592838e838b848b8388858708fb034a07888489858b848b848e8391
+82080bfb3c06888689858b848b848d82908108c9fb000691849388938b928b938e91
+8f08f703cc078e928d918b928b9288938594080b707f059936be59d18bc68bcbbc97
+e10870970581515d6b578b558b60b080c0080b8792858f828b75757b7b6e8b668b7e
+a08ba58bb9adabc9be087d9c053b5a4b578b538b55b177bd8bb48bb39fa8b8080b8b
+5884876a8987878b7f8f87a08c9e8ba48ba48b9c8ba18a8f8f8b99878f6a8d848d8b
+be08f77707b38da58b1e8f898d851e7b855e8272898a868b7f8f87ab89938f8b5708
+0b8e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc88bbd5d9e58a0080b69
+9981948ba38ba6a098a48b9e8bad81995108a28c82d605809264956c8b5a8b5e6b8b
+618b5eaa7bb978080bbd7693778b768b707380738b748b789784917b9b85a68a9908
+0b687b727b7a9573b3ff00183333ff0004cccdff00069998ffffec66681f8b74776b
+527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff0015199a9b9f92a1
+8ba308af74b0641e0b687b727b7a9573b3ff00183334ff0004ccccff00069998ffff
+ec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff
+0015199a9b9f92a18ba308af74b0641e0bff00a34ccdff003c4ccd8bff00254cccfb
+7cffffac33348bffffe46666f77cffffac33338bff00254ccd050bffff5cb333ffff
+c3b3338bffffdab333f77cff0053cccd8bff001a8000fb7cff0054cccd8bffffdacc
+cd050b6ea373a8a8a3a3a8a873a36e6e73736e1e0b9c7bb454616a68757f937c9e94
+9895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a
+7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080ba697057de058bd458b508b4b5a
+7f3508a67f0595c5b9abbf8bc18bb6669656080b6ca274aaaaa2a2aaaa74a26c6c74
+746c1e0bccf72c470792859288918b928b928f959308e2070b998793771efb4d067b
+7c7e801f330792889287938b08928b928e9392080b98959d97928792821ffbed067f
+817a7f848f83931f0b98959d97928792821ffb75067f817a7f848f83931f0b390751
+b273bb1ea48bb9999ad00872930584707b73798b08777fa2c21f8bbf7592050bf737
+077f8f8b8d828b848b8989818708fb390797878e89938b928b8a8d9691080bbd61b4
+581e828b838a848908936c05908d908b918b08ada2716a6c756f681f828b848c848e
+087f6d0596869689988b08beb5b4be1f0bf71c8bf71cb0ebf707087a9d053e4e3d53
+fb588bfb548b31c346c8087a7905e5fb05f71464f72a8b080bf9730698989f979488
+93801ffd73067f7d777f838e82961f0b478b6a9a63bd08717d05b256c86dce8b08ef
+f70cbaf74df71241e6fb2d1f478b566d645608a57d05b2bda59acd8b08f3ae34fb0b
+fb1e5462411f0baca4a6a9ac6ea56e6b716f6c6ea26fae1f0b8bd58ebeb1b39ea0b6
+a3af8bcd8ba47cb35908a5990564c055a9488b448b50706463686974478b5c8b34a1
+58b463b263c177cb8bcd8bc9a9b2c00871990562586a7a488b578b3ea68bf730080b
+7e8b808587800857fb23058a888a878b888b849185938b8f8b908f8e8f08e7f70e05
+8f908d938b908b9f759a778b080b7e8b808587800857fb23058a888a878b888b8491
+85938b8f8b908f8e8f08e7f70e058f908d938b90089f759a771e0bf763fb20f70efb
+471effff9cb3348bffffac6666ffffd13334ffffc93333ffffb4ccccffffd41999ff
+ffc3b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecc
+cc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff
+00484ccd8bdf080b88ff009eb334058bff0027ccccff0005b33499ff0006e666ff00
+0c800008ff007fb332f77b05a7ff0032b334ad92ff002cb334ff00044ccc91918b95
+85916d8a6388748b748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffff
+e9b334ffffd5e66808ffff89199afb7405827afffff8e6668efffff733349b08ffff
+81ccccf77205ffffe7ccccff002a9998ff000e3334ff00056668c38e91918b968591
+638a6587638b648b608f6d8c85858c809185b588ff001f199afffff76668ff002899
+99ffffbb999808ff00836667fb7105ff00118000ffffe28000ff00066666ffffff80
+008b660888fb2a05fffffe66663afffff0999a843b8885858b809185bc8cff002466
+668fff0036999a8bff003633348bff0022cccc87bd8a91918b9685913b8efffff080
+0092fffffe8000dc080bf703b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e
+8bfb14e22cf70066088f51248b050b568b789286c0fffff7b333ff0003999afffff7
+999aff0000b333fffff7b333fffffbb3338b62ff00024ccdffffd83333ff0004b333
+ffffd9cccd08f76906969191941f83f714050b2fc964c88bf70408f714d1f70af71f
+f716db21fb211e8bfb0063422f560883fb1505829086971ef764060b8fad8eb88bb3
+fffff8b3348ffffff74ccc8b8187855276885a8b082a060bfb83075aa36ec01eb48b
+b5b59fae8994868a818d79747578708b087885a0a81ff78607aa89c88b1e7d857e87
+798b808b758c858c088989059b6a8c618b70080b8b8b3c8c598c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a9191
+8ba08591458e7a908bde08f855070ba39795a31ef70f06d68b9859a046ff0009b334
+fffffeccccff00099998ff0000e668ff0009b334ff00044ccc080bfffffbe666ff00
+544cccfffffa999aff0026e668fffffa8000ff0021cccc080b648a3a8a8b8b080b74
+8b578f598c85858b809185d1889c838b3808fc39078b387a83458885858b809185bc
+8cff001bcccd8fff003133338bff0030cccd8bff001a333387bd8a91918b96859145
+8e7a938bde08f841070bc9a197a31ef76106a3a17f4d1ffc41078b387a8345888585
+8b809185bd8cff001a33348fff0030cccc8bff003133348bff001bcccc87bc8a9191
+8b968591458e7a938bde08f839070b8bde9c93d18e91918b96859108598a5b87708b
+080b8ca89b9ed38b08d0d267fb13fb00545a2a1f0b738b618d7e8e0890078bde8ceb
+8cde080b568b789286c0fffff7b333ff0003999afffff79999ff0000b333fffff7b3
+34fffffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f769069691
+91941f83f714050bf70cf77c057f8b76867d8b7d8b79907d8b085efb0e0588848986
+899578de66b9458b0834fb0c53fb441f0bfb0abf3cf70e1ecc8bb7b3bbe908936605
+0b9a4aa56bae8bb58ba3a2a0c78592848f808b7b6e7e85738b758b78a67fbe080b6b
+3063505f8b084470def2f702c4cfcb1fc48ba44ca12f080bc0b1aec01e948bab8693
+8b08a1929396968191791f868b60868a8b080b6263a3cdcabb99a91fb08b9c6e9576
+957b947ca08b08979e92a7ad53ae42fb056a46651f8b5da46fb779088a070b467379
+588b678b54aa4cf7128bc78bc0a7aaa98b958492838e6671677c5e8b08575cb0be1f
+0bffffffcccc89ff000033348b1e97078baa88a98991fffffeb333ff0003ccccffff
+fd4ccdff00023334838b080b70817283498289858b868f85be8694838d5708fb8707
+8b7a89718d818f7b9381aa8b08af83b6af1ff777070ba8b8b7a7c08b08c58b594d1f
+fb9b078bfb018a4c7f6b08957ad3ab058f9a8c9f8ba28bb088b88bbc08f7a607f702
+6eb44a1e338b54507b73080bba8fc88b1e8f878e831e70816582498289858d848d85
+bf86957e8b5508fb1107fb05a140f714e9e9ddf73af70765d04f7b7b7e7b1e8b7598
+7d9e81a77caa7d8b2f082d5623333e85d1eb1e0bf70cf77c057f8b76867d8b7d8b79
+907d8b085efb0e0588848986899578de66b9458b0834fb0c53fb44fb0abf3cf70e1f
+cc8bb7b3bbe9089366050bffffffcccc89ff000033348b1e97078baa88a98991ffff
+feb333ff0003ccccfffffd4ccdff00023334838b70817283498289858b868f85be86
+94838d5708fb87078b7a89718d818f7b9381aa8b08af83b6af1ff777070b93b18bba
+8bc208d507a67ba981b48b08f714e9dff726f70135e5fb071f5e8b5d7f636271716c
+6b8bfb1808fb4e078bfb0a81597f6b08957a050b254c4d3c1e608b64a66da808f726
+07f71fc6abb4d7d951fb2b1e0b8bf70334e331b67e888b808a83ee409e328b458b22
+6d68468b658b6aac6ecd99ae94c08ba208a288977172816a6d1e8b788d67976c6d47
+756f688b448b6fcd8bf68bf708bdb9c9b28a948694848ffb005d4b3d8bfb0508fb11
+d545e11ec18baaa9a5d0a046b16dbc8bf7088bcae68bee080bf76f07f724d2f728c6
+1e9d8b957d927891789c81988b08a0999d9fae6ba35a1ffb0c8b5dfb488250088206
+80f71253f705218b618b6378746eff0002b333fffff88000ff00064ccdfffffb1998
+93fffffc6668a19d9b94b28ba88bab75a952a45a9d2e8b2708fb50078b387a833b88
+85858b809185bc8cff002280008fff003580008bff0035199a8bff0020e66687bd8a
+91918b9685913b8e7a938bde080b799c0570633f4b208b08fb1e41f716f72df793f7
+14bad91ff18bd452947508a8a305899049e4fb1e8b08fb35fb21fb1efb59fb47f70b
+fb2ef7501ff7048bd6cfaeca080b8bb7e0f720d9f71357fb93fb0359fb3ffb371e20
+8b3ece71b3087b7a05ae4cd343f7048b08f74af714f725f74ff759fb22f71ffb341f
+fb058b38468171080b9fdbb9afcd8b08c606b08bff00094ccd78ff0001b3334e080b
+c58ba86bce8b08c6caa8a493868f871f838b7b7b658b080bff00028000de998ed190
+91918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185
+ff000f8000898d38088d388c5a8b388b388a5d89388938fffff0800086458885858b
+809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de080b
+89ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000de
+998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885858b
+809185ff003c8000fffffaccccff0013ccccfffffdccccff00058000ffffc9e668ff
+fff9199afffff0b334fffff480007afffff5199afffff2cccc08fba6fbea05fffff9
+b333fffff9b333fffff8e667fffffc199a86ffffff4ccdfffffee666ff00329999ff
+ffff8000ff0028e6678bff003d66668bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b086d8bffffbc80008e6b8d8585
+8b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff0800086
+45880885858b809185b28dc88ea98ba98bc589b48891918b968591ffffc38000ff00
+02999affffece666ff00041999fffffab334ff0036b333ff00071999ff0010199a96
+9bff000a4ccdff000d800008f7a6f7e805ff0004b334ff0005999aff00073332ff00
+04b332ff00076666ff00023334ff0001199c57ff00009998ffffd533348bffffc24c
+cc8b388a5d89388938fffff0800086458885858b809185b28dc88ea98b08a98bc589
+b48891918b968591458efffff180009089de080b6a749c9c1f8b908cff0003cccc8b
+ff00043334089a819a7470817d7857c674cdcdc6a2bf9e81997074817c7c1e8bffff
+fb4ccc8cfffffcb3348b86087a747a6a1e0bff003de666ffff81199aff00438000ff
+ff7ce666ff0038199afb186c406b796b8b7d8b7c988494819775927d8b086d78776f
+6bbb74b51fe58bc2d5b6f70108ff008db334f7fc05ff00124cccbbff0013b334ff00
+324cccff003e4cccff0004b33491918b9685916d8a648a748b748b5e8c668c85858b
+809185ff00524cccfffffc4cccfffff8b334ffffdbb334775308fb01fbbf858b05ff
+ffd1199aff0063999affffd14cccff00644ccc5eff0069199affffe5999ac482a5d7
+9291918b968591668affffc7b3338affffe44ccd8bffffe4b3338bffffce4ccd8c70
+8c85858c80918508c2869772ff0020800044080ba58d05908e8e901f8b9e898d055a
+8a6c8a598b598b6f8c598c0889898b7805868f888f1ea58905b2889a828b6d08fb64
+07698b618c759954ab7dcb83c3080b82c971c3408b08597a6e746ea0809f1f978b98
+90949595969390978ba78b916a906e954da035d36f088607498b666071455bfb1b5c
+476b88087c8a05868988861f0b8b6a9e78a673a970cf73ef8bf7138bf70ec58bf717
+8be04ad02d9a0891070bd19fc8bc8bdf8bdd49d2fb1f8b408b497244840873fb34a9
+8905a5e3c5d3f7068b08e1b25345467046211f708b6791708b087f7a8777779c8697
+1fa68ba891ac8b080bf70db0414230504e281f3d8b58ab72ba7ea57ca56f8b08777e
+7b731f0b5b82adac1ff77fd607f714b0314f1f4d6c31fb2c1e0b8b387a8645888585
+8b769185bc8ca98cbe8ba88bab89af8b08ff00bf8000ff00568000ff0033e666ff00
+85199ae471f0fb6f1f33f72a060b8bde9c90d18e91918ba085915a8a6d8a588b598b
+6e8c598c85858b769185d1889c868b38080b4c8b6065508b658b7b9b838b08878687
+8372ca6ec61f0b8b40896d1efb08060b8b888dfffffe4ccc8fffffffb33408a98905
+aefffffdb33491fffff84ccc8b65080b8e89cc8d05b88ca6d299b49fc79eb0df8b08
+fb1d078b6e80806b8608848a05868a88898b86088b788d89058bc38dafb2c5898b1e
+8d8d8b9e058b90878d868c08838c056a8f81978ba808f71d07df8b9e669f4f9962a6
+44b88a08cc898e8d8b9d058b92858c868c08848c056a9067e07cb278be67a05b8b08
+8d07af95a3ae99b594aa96a1958b938b90888f8791859787948b089c9c9e9fa382a0
+661f608b71577c5a7a536e664e8b087af707068ba89594ac8f080b938c05908c8f8d
+8b90088b9e898d058b51896467538d8b1e89898b78058b868e89908a08928a05ac86
+95838b6e08fb077a074e8b6eb07ac3080b7cbc71bf608b0866827673779c789c1f94
+8b978f91918f8f908e938b958b9675946c9961a368af810889075b8b677678587c64
+67366a8608848a05868a858a8b84080b8b75997b9f7ba279bd76d58be98be7b58be2
+8bc757b440950890070bc298bcac8bc38bc559b7268b548b5c7558850875fb0ba487
+059dc5b5c9da8b08c1a9685f5f75604a1f798b7290798b088380867b7b9787931f9d
+8b9f90a28b080bdea2585f506667461f568b6ba678ac819c819a738b087a7c7d7b1f
+0b60498d8b1f88898b75058b878dffffff4ccc8fffffffb33408a98905ff0025b333
+fffffd8000ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ff
+ffda4ccdfffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b3
+8ca78cb68bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88
+968ba3088b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd
+999a086c890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88b
+a98ab38a088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff
+00024ccdfffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff00
+24e666ff0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45
+895e6f5e8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb
+62fb8c8bf782058bb48eff00088000b1ff0002800008a98d058fff00004ccc8dff00
+01b3348b8f088ba0898d058b45895f1e0b9e7d9973797a7d7a1e8b888b898c898c88
+8b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c
+7955c26acc1ecbc5abc21f0b8bafa090a88e088f8f90901f8b9c898d058b53896468
+478d8b1e89898b78058b868e89908a089e8905ab88957e8b6f08fbb1078b6f848168
+8708788905868a88898b86080bffffd5199affffbce6668d8b1f0b8b878dffffff33
+348effffffcccc08a98905ff0023b333fffffd999aff00054ccdfffffb66668b6108
+0bf54bed2a1e6b8b55815d450888060bfb14076b6b647f5a8b084d84add91fcd078b
+abff00073333ff0007ccccff0020cccdff00023334089a8c058fff00004ccc8dff00
+01b3348b8f088ba08a8d058b4e8964ffffddb333ffffca4ccd8d8b1e8a898b75058b
+878dffffff66668effffff999a08938a05ff00224ccdfffffbb334ff0006b333ffff
+fb4ccc8b6508520721ae5eed1ec78bab99b2a808fb03078b64fffffb3334fffffa80
+00ffffdbccccfffffb8000087b890587ffffff800089fffffe80008b87088b768d89
+058bc68db4b0c6898b1e8d8d8ba1058b8e89ff0001999a88ff00006666087a8d05ff
+ffdb6666ff00044cccfffffc999aff0006b3348bb108f7a7078bb4ff0009199aff00
+05ccccff001ee666ff0001333408a58c058eff0000199a8dff0001e6668b8e088ba1
+8a8d058bffffbbb33489ffffd44cccffffdbb334ffffc74ccc8d8b1e89898b75058b
+878dffffff4ccc8fffffffb334089a8a05ff0022ccccfffffdb334ff00063334ffff
+f94ccc8b64080bff00033334ff004ee666ff0006ccccff0005199ac59091918b9685
+91638affffe7666887ffffd699988bffffd6999a8bffffe866668f628c85858b8091
+85c587ff0006ccccfffff9e666ff00033334ffffb1199a088d598b2b8959fffffccc
+ccffffb1199afffff93334fffffae666518685858b819185b38cff001933348fff00
+29cccc8bb48ba287b48a91918b95859108518ffffff93334ff0006199afffffccccc
+ff004ee6660889bd8beb8dbd080b395c7c595d7a95ae1ef72ace07d2a15e561f0b8b
+6efffff96666fffff3ccccffffdb999afffffc33340878890586ffffff800088ffff
+fd80008b86088b788d89058bff003f66668dff0028999a1eff002766668bff001633
+3489ff002766668b08f703c9c1dfe939a52b1f52ee068ba8ff000a4ccdff000b999a
+ff0020b333ff00036666080b9e8d058fff000066668fff0002999a8b91088b9d898d
+058b478a6467478c8b1e89898b79058b858efffffd800090ffffff8000089e8905ff
+0023999afffffc4cccff00076666fffff4b3348b6e080b608b706f688b7e8b7f9184
+8b08858981877db979b61f0bb88b9da1b18b988b988797868bfb0b5e50378b638b70
+a37fa67dab7f907a8b0879807e7b1f0bb18b9d75b88b08b6b99d998f8995851f848b
+7f857e8b080b9e7d9973797a7d7a1e8b888b898c898c888b888b88087576776e6d77
+a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c7955c26acccbc5abc21e0b
+570760724527fb0958f72ff72bf744cef70ade9f9d7d7e1e8b7c85848b7308719f71
+afb292aca8bd5ebb3cfb20fb04fb2afb49fb2cbffb4ff75c1ef28bb0b3aabc089106
+aa5ab063f28b08f75cc0f74ff72cf749fb05f72afb203c5e5b596e926ab2afa0a5a5
+1f8ba384928b9a08989d999fdecffb0afb44fb2b57fb2ffb092771d1b61ebf07a799
+9bb41ea506908e8e901f8b9e898d058b2e896764348d8b1e89898b7805868f888f1e
+a606b29a7f6b1f0b6c0766844b452e7bf717d4f700a7e1d8998f86831e8b868a8689
+8888888a858b840878997d9e9f9a9ba0a974af4ffb01442efb1626c9fb16f7071ed9
+8ba9b29bb2088e069b64a964d98b08f708c8f716f0f71644e8fb014f74676d769a7b
+9f9f99999e1f8b928991898e898e89908b9008938f9099d9a635fb00427bfb172e45
+84cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d058b47896467478d8b1e8989
+8b7805868e88901e9e06ad947b6f1f0b4365665a7f6f81a663be45ae08f70df77205
+0bd2f70c059195918c928008dcfb1105566a7869807282a476b251ac080bff007a33
+348bff00674cccffff978000ff000eb334ffff503334ffffdf8000ffffe81998ffff
+d0e666fffff33334ffffdfe6668b080b4c8b6dba298bffffda999a8bffffc23333ff
+fff1999affffd8cccdffffe0999affffffe666ff0002e6668bff0002e6668b8e08f7
+66f702ece61e0b8bfffffd8000ff00001998fffffd80008bfffffd66668bfb4732fb
+09fb068bffff8f80008bfb01ff0066cccdffffef999aff00a66667ff0022b333ff00
+179998ff00361999ff00053334ff001d999a8b080bd68ba35de78bff002666668bff
+0032b332ff000bccccff002a4cd0ff0027ccce080b3a8b71464afb4f8b8b4ffb3a68
+fb00086ee3fb11f7f805899389918b91080b9b9795af1ea606908e8e901f8b9e898c
+058b328a68643d8c8b1e898a8b7805868f888f1e9106b28b9d7a956e08f759fcc505
+907c9483968b958b9693919accf768caf73c8b8b080bd7f7719b95a38ba28b90808b
+828b7c78808b7b0875997ba4a69fafa31eb362af621e0b998f87821f8b7c808a8b7a
+08759e7da3a797a4a3b36aac631e478b69666bfb030851fb597fb435f76e05859987
+938b92080b8b9594919f8c089c068e918c921f8b9e878d058b4e896469568d8b1e88
+898b7705879088901e9606a98b957d986908f71cfbed05907f9282988b958b939491
+9908e0f7ab059ecca8baa98b080bffff6a4ccc8bffff9b199affffa96668ffffda33
+34ffff7e333208fffff2333306ffffbde667ffffc9333395ff002a999aa7ff001ae6
+67ff00154cccff00166666ff00143333ff000e80009eff000fb334ff0011e664ffff
+f18000ff000b4cd0fffff16667ffffd21999ffffceb334ffffc5b330ffffc03334ff
+ffba999ac479ff004c33331fff001fb333060bff000b999affffec999807ff001566
+68ff005f7ffeff00476666ff0056e668ff0065e6668bed8bdd4aaafb15080bffffbc
+199a8b3effffd1e666ffffde4cccffffab3334ffffca4ccdff00013332ffffd54ccd
+ff000a33348bff0023800008a4a39e9f9d989c999b7e957e625f57524dbe7bcf1eff
+0001b333060bff00178000ff00544cccff0036999aff0017b334ff002080008bb98b
+b7648b3b8b8287fffffc4ccc81ffffffb33408fb1cfffffc80008bff000780008b9f
+050bc0bfbebce88bf71b8be7fb218bfb4e8b7d8b7f8a8008fc720696fb22d2fb16f7
+548b08f755f1f723f757f73335f741fb6b1ffb028b5c663c41080bf8190679274b2d
+218b298b43cb6cf716080bae8bad6fb68bff001c199a8bff001e8000ff000cb333ff
+00168000ff000c3333080bfffff56666fffffccccdfffff44ccefffffdcccdfffff4
+4ccc8b080b658b759f5e8bffffd966668bffffc6e667ffffef199afffff4b333ffff
+f1b333ff00003333ff0052cccdff001a199aff005f6666ff0055b3338bff00453334
+8bff00329998ffffc38000ff000e3334ffff9ae666080b89ff005280008aff002d80
+008bde8bdeff00008000bcff00028000df080b789b7b9e9e9b9b9e9e7b9a78787b7c
+781e0b789b7b9e9e9b9b9e9e7b9a781e787b7c781f0bccffffd2b33306fffff54ccd
+fffffa3332fffff8b333808bfffff3199a08789b7b9e9e9b9b9e1e8bff000c8000ff
+fff9199aff000ab333fffff5e666ff0005e66708ff002de666cbb5fb38070b8bb765
+97719237a5b097769b8b8b6a838b468b64a372bb7fffffe24cccffffda6666ffffee
+199affffd3999afffff5e666ffffd1999a08fffffeb334ff00016666fb4ef762057c
+9c82a28aa8087e06747280708b708b6c986da46e08ff001e8000ffffde6666050bff
+ffc4e666ffffd9199affffec999affffb166668bffffce199a080b8b60b04b8b6d8b
+7b797d7c89878a88878b878b898c898c8908f006a3a4a9ab1f0b8bc828c88bc78bff
+001a3334ff0008cccdff00303332ff001eb333ff0014ccce08ff01028000fffee2cc
+cc059a7a94768d72ab8b9ab68baa8baa7ea972a808ffffbe999aff0046800005ffff
+f7b332ff000f4ccdfffffbb334ff001099998bff0010999a8bad9bb5b1bda3899265
+968b088f9abeaa1f0b2006708b7ca186a2088b5a824362a86dbc1ff72e06dca17dfb
+301f8b4d8064826108fbc68b7327f8288ba2ef398b05b2c38fd98bc208f72989ddfb
+3c1e0b8bb193d88bb08bc86196618b728b6a8b84ad8b8b5f818b478b56c6819e8808
+0bbe84ab818b2a8bfb1d5c6321787586837586718a858b868b868b7d8e808b8508f7
+0e8fd5f72e928b050ba95a89fb07b98b91948d998b988b9789988995087bdf54cf8b
+da080b8bf700e0738bde08b7729d5e1efb7206708b7b9685a2088b61854162a477bd
+1ff78c06525e6f448b31080b8b5b8f5c8b4c8b76877a837f089606a3b792da1f8bd1
+80ce8bd0080b85f7f7058bed6c915494768f679186a98b8b58828b538b62ae6bbc83
+c083a47f8b52080bcdae95e68bb58be6799e458b6c8b688b86b18b8b61868b488b5f
+aa71c189bc89a9788b6a088b5d81646871080b6c8b716d80537d4a82688b798b7a97
+87908b938b9599b7cfabbca2b18ba38ba56c917f8b080bfb81078b718b80897c0899
+87059192939491939b7da481a98b08ccc1d0d5cf66c94d1f718b7482727b08c507b5
+8da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0ba0
+9b9791a58b08a9a965422effffd780007fffffe88000756a98bf1f0b77767a81758b
+08696ba6e5d5a7a6ad1fa48ba1779b78080bf77407b58da58b1e90898d851e7b845d
+837189088c7905898d8a8d1ea08a05989184611f62077c997392718b083e663d4b3e
+bb59cd1fa38ba1989e9b088d8b896a9b8b050bff000c4ccdff0007b334ff001effff
+95ff0027b334ff00074ccc08899d6c8e057d8c888d8bac080b768b739b7ca17f9e87
+a48ba48b8d8b9a8c8f08f73e0688c97ac4368b08435b444142b34fe01fb98ba9a2a5
+ae08779b0578757776658b080bfb020690a8a4b0aa8b08a3a47e561f0ba08ba37b9a
+7597788f728b728b898b7c8a8708fb3e068e4d9c52e08b08d3bbd2d5d463c7361f5d
+8b6d747168089f7b059ea19fa0b18b080bf70206866e72666c8b08737298c01f0b97
+969599977e98721f758b79827b79080b829178946e8b578b56698b528b6a9c789c7b
+080b7b7c7d728b768b759b7b9a84080b6c7777748b710855c07db8dae2a7ce1e8b9f
+829a7a9a73a1628f758b818b7c897d8a828a848a888b080b8b988d96929599839d87
+a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e85088d849186958b08
+0b91889588928b928b948c948b938c928b908ba98b9f859c82a47f93858b7b085e4d
+87561e0b76568fb91f8ba08d989e9d080b5a82b7abbb9d9aabb0a074591f0b7b845d
+837189088c7905898d8a8d1ea08a050b4e6c6d6e6264b4d9daff001dcccda9ff0022
+3333b5ad513c1e0b7b845d837189088c7905898d8a8d1ea08a05989184611f0b98ff
+00128000a4ff00178000a48b08a7a767422e628874756a98bf1f0bc60690948d901f
+9d078d898d881e0b47ea06657e8b80055c817362898b8a891e7307898c8b8d1e0b8b
+f7528a8c058b7d8a82ffffe64ccdffffd7b3338c8b1e8a8a8b7a05878e8a8e1e9506
+0b9c9487751ffb380778757588768b086d779bbe1f8bf73e8a8c058bfffff2999a8a
+fffff76666ffffe7ccccffffda33348c8b1e8a8a8b7a05898c888f1e92069e8a918a
+8b7308fb180748a972b81eb08bae9b999c088d8b896a9b8b050b8e849085908b928b
+958e8f9608e1f75c0599ab968f988b088f8f8c8f1f8b9c8a8c058b758a7876688c8b
+1e8a8a8b7a05898d888da09588801e8b86898587820849fb2a4af72d05889289908b
+900895928f931e96068d8e8d8e1f8b9c898c058b678a7878648c8b1e8a8a8b7a0587
+8d8a8e1e9f8b90869968080b355f434242b34ee01fb88baaa3a4ae08789b05777578
+76658b758b739a7da27f9e87a38ba48bdcb5acaa8bb18b90738d758d7b9884998b08
+9996949fad6aac4c1f0b818b858f8a8e0876068b6f8770866d08a18a0597b7a0919e
+8b08d78bfb26fb6e0586838b8a8b8708878f88951ef759068e9e91a896af08758f84
+7a057c6a8183678b08418bf722f76605989e8b8f8b8d088c078e878b871e898b6f89
+798b080bff00003333ff0048e666ff0000b333ff004f0002ff0001199aff00461998
+ff00008000acff0000800095e28b080bc3d76025364d68381f0bfffff53334ff0002
+8000fffff58000ffffffcccdfffff54cccfffffdb3336e5d5d556763918292859489
+b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a9092
+0867b35fc06eba080bfffff53333ff00028000fffff58000ffffffcccdfffff54ccd
+fffffdb3336e5d5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666
+ff0001e666ff0008999aff0008199a90920867b35fc06eba080b8b9f93979393afaf
+bdb3b18b9e8ba07f9675080b9578ff0002cccc5dff000133346e8d598b528959ffff
+fce666ffffb2199afffffa199afffffce666598686858b809085b38c9c8fb18bb28b
+9d87b48a0890918b9686915690fffff8199aff0003199afffffce666ff004de66689
+bd8bc18dbdff0002199abffffffce666ba75a87ba06d976a8b5c8b507e514a088887
+84828b988b8b8cf7648dbdff00028000c9ffffffe666fffff8e668ff0001999aff00
+2319988b92888d828b7381497f658889838d86918508bd88ff00084ccd90ff0002b3
+333b8d4f8bfbf4894ffffffd66663cfffff6999a88548785858b809185b28ca18fb4
+8bb08b9987b38a0891918b9685915b8ffffffa3333ff0003199afffffccccdff004e
+e66689bd8bf70b8b8b080bffffc5cccdffff974ccc05fffff9b334fffff4b334ffff
+fd8000fffffc80008bfffff6199c8bfffff9ccccff00056666fffffaccccff000566
+678bff000566668bff0006199aff00038000ff000b8000ff000d333408ff00589999
+ff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ffffec3334ff0000
+ccccfffffb19998b08fffffc199a8bfffffb8000ffffff3334fffffdb333ffffff19
+98080b9896a097918796811ffb7506fffff5000280777f848f80941f0b7081698349
+8289858c858e86bf86ff0007cccd86ff00023333548d598bfb008959fffffce666ff
+ffb2199afffff6199afffffbe666578785858b80918508a68db68eaa8ba68bb288a5
+8991918b9685915b90fffffa199aff0003199afffffce666ff004de66689bd8bd08d
+bdff0000cccd9fff00073333979393080b72a076a4a4a0a0a4a476a0721e72767672
+1f0bff001b4ccdff0021b334ff001f4ccdff00174cccff002366668b08c8c350fb0a
+3d69fb09201f7a8b6e907a9a789c869b8bad8b8b8bf7128dbdff0000cccd9f8eff00
+124cccff000b3333ff000db334080bfffff63334ff000d6666fffff5ccccff000ce6
+668bff0007b3348b94ffffff8000ff0005199aff000b8000ff000ee66608f71df745
+05ff0022b334ff002ce668ff002e9998ff0019ccccff002cb334ff00044ccc91918b
+9685916d8a6687748b748b618f638c85858b809185ff002c4ccc88ff000d3334ffff
+ed6668ffffe88000ffffde999808fb0ffb4305fffff68000fffff26666ffffff8000
+fffffe999a878b888bfffffab334ff00028000fffff84cccff000b800008ffff9180
+00ff00a3cccc05ffffe3cccdb3fffff4b333ff00183334c38e91918b968591638a63
+87638b648b6a8f6d8c85858c809185b588ff001f8000ffffedb334ff00293333ffff
+c54ccc08ff008e4ccdfb5f05ff000c4cccffffee8000ff0001b334fffffd80008b81
+8b85fffffeccccfffff8199afffff93334fffff6e66608fb28fb5a05ffffddb333ff
+ffd2199a5cffffe73333ffffd34ccdfffffbb33385858b809185a98cb08fa28ba28b
+b587b38a91918b968591ffffd3b3338efffff2199a9dff00183333ad08f718f74d05
+ff00078000ff000a6666ff00058000ff0008999a8e8b8f8bff0003b334fffffa6666
+ff00074cccfffff5999a08ff007b8000ffff50333305ff001c4cccffffd7b332ff00
+0b3334ffffe8199a538885858b809185b38cb38fb38bb28bac87a98a91918a968591
+618effffe36668ff0016b333ffffd59998ff003a4ccd080b9c7bb454616a68757f93
+7c9e949895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f83
+7f807a7e758a6908a7068da5959c9c9b089b9b9a9b8b9f080b9b7cb34b556f69767f
+927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d8383
+82827f7f7e7d8b6a08a5068da49a979d979c969b968ba1080b9b7cb34b556f69767f
+927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d8383
+82827f7f7e7d8b6a08a5068da49a979d97089c969b968ba1080bffffcb199affffa0
+cccc05fffffa4cccfffff5b334fffffdb334fffffce6688b828bfffffa6664ff0004
+e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00033334ff000a8000
+9708ff00508000ff00573334fffffde666ff0008cccc05ffffefe666ff00119998ff
+ffee199aff0000ccd0fffffb80008bfffffc80008bfffffbccceffffff3330fffffd
+e666ffffff3334080bb6b59ec78bc58bff003b3334ffffecb334ff00413332ffffd1
+4cccff002ae666080b657565681f8b719a3fe687088f9c05619379b08ba208968f92
+92b490a49c1e9b809d671e0bddfb1b058d888c89908b08959092908c8a8e8b1f64f7
+2c0588968192798b748b7d7a8b7b8b878c868d87080bf70cf77c057f8b76867d8b7d
+8b79907d8b085efb0e0588848986899578de66b9458b080b34fb0c53fb44fb0abf3c
+f70e1fcc8bb7b3bbe9089366050b818b7a87877b086afb2f8b8a05888d81971e8e8b
+8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b080b808b7a87877b086afb2f8b
+8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f8b8f8b9683a16f8b080b638b
+76ba548b628b766a7e54080b96a9999ba08b080bb18baa5db58bb68ba5a997c3080b
+7592057e697d7e778b080b657565681f8b719a3fe687088f9c05ffffd5ffff93ffff
+ee0001b08ba208968f9292b490a49c1e9b809d671e0b758bfffff8999aff0008199a
+ff00043332ff000a333208ff00693334ff0102b3348e8bebfba9050b6d7d797b7b90
+75b41f0b9391837e1f8b747666618208907a05d193abc98baf08af75b0651e0b968f
+9292b490a49c1e9b809d671e0ba8b8b7a7c08b08c58b594d1ffb9b078bfb018a4c7f
+6b08957ad3ab058f9a8c9f8ba28bb088b88bbc08f7a6070bf7026eb44a1e338b5450
+7b73080b89df8abc8bdb9690e78dc78bc78bf7058a97858a468c46894089387b8645
+8885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b968591458e7b9089de89dd
+8bb98bde8bde8bbc8ddf080b8dde9b90d18e91918b9685915a8a6d87588b598b6e8f
+598c85858b809185d1889b868d38088d458b618b4d8485fb098a4f8b4f8b2a8d8490
+8bca8cb48dd18dde9990d18e91918b968591085a8a6d87588b598b708f598c85858b
+809185d18899868d388d388d5a8b388b38895d89380889387d86458885858b809185
+bc8ca88fbe8bbd8ba787bd8a91918b968591458e7d9089de080b657565681f8b719a
+3fe687088f9c050bffffd5fffe9379b08ba2080b5a8a6d87588b080b598b6e8f598c
+85858b809185d1889b868d388d458b618b4d8485fb098a4f8b4f8b2a8d8490088bca
+8cb48dd18dde9990d18e91918b968591080b598b708f598c85858b809185d1889986
+8d388d388d5a8b388b38895d893889387d8645880885858b809185bc8ca88fbe8bbd
+8ba787bd8a91918b968591458e7d9089de080b818b7a87877b086afb2f8b8a05888d
+81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f089683a16e1e0b808b7a87877b08
+6afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f8b8f089683a16f1e
+0bf763fb20f70efb471effff9cb3348bffffac6666ffffd13334ffffc93332ffffb4
+ccccffffd4199affffc3b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb
+0ff73e8bff006ecccc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027cc
+ccff0038b3339fff00484ccd8bdf080b88ff009eb334058bff0027ccccff0005b334
+99ff0006e664ff000c800008ff007fb334f77b050b619379b08ba2080b8bf70334e3
+31b67e888b808a83ee409e328b458b226d68468b658b6aac6ecd080b99ae94c08ba2
+08a288977172816a6d1e8b788d67976c6d47756f688b448b6fcd8bf68bf708bdb9c9
+b28a948694848ffb005d4b3d8bfb0508fb11d545e11ec18baaa9a5d0a046b16dbc8b
+f7088bcae68bee080b8bf70334e331b67e888b808a83ee409e328b458b226d68468b
+080b568b789286c0fffff7b334ff0003999afffff79998ff0000b333fffff7b334ff
+fffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f7690696919194
+1f83f714050b568b789286c0fffff7b334ff0003999afffff79998ff0000b333ffff
+f7b334fffffbb3338b62ff00024ccdffffd83333ff0004b333ffffd9cccd08f76906
+969191941f83f714050b818b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8c8f
+080bd7f71f058d8f8c8f8b8f8b9683a16e8b080b7e8284808b7e8b868d878e8708f0
+fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e8b8c8a8c8b8c084df726058990
+878f858f868d868c868b08848b858a8687080b7e8284808b7e8b868d878e8708f0fb
+0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e8b8c8a8c8b8c084df72605899087
+8f858f868d868c868b848b858a8687080bfb790751ad71b81eb68baa9a98d0087390
+058668827b728b0876829fc91f8bf761809c050bc7f72f0590989194a38b08ff00d0
+80008bff003f8000fb4c050bff000e199862ffffd78002ff00006666ffffd06666ff
+fffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff
+00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfcb605
+ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08c
+a28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006
+b333ff00103333ff0029b333080b89df8abc8bdb9690e78dc78bc78bf7058a97858a
+468c468940080b89387b86458885858b809185bc8ca88fbe8bbd8ba987bd8a91918b
+968591458e7b9089de0889dd8bb98bde8bde8bbc8ddf8dde9b90d18e91918b968591
+5a8a6d87588b598b6e8f598c0885858b809185d1889b868d388d458b618b4d8485fb
+098a4f8b4f8b2a8d84908bca8cb48dd1088dde9990d18e91918b9685915a8a6d8758
+8b598b708f598c85858b809185d18899868d38088d388d5a8b388b38895d89388938
+7d86458885858b809185bc8ca88fbe8bbd8ba787bd8a0891918b968591458e7d9089
+de080ba6a5a0a71f8bff001f800071ff00068000798e788d7a948ba28ba0afbbbf98
+8bff00064ccc89ff0006666886ff00054ccc4f80525f8b450852ff00204ccd61ff00
+1eb3331e0b7071766f1f8bffffe08000a5fffff980009d889e899c828b748b76675b
+577e8bfffff9b3348dfffff9999890fffffab334c796c4b78bd108c4ffffdfb333b5
+ffffe14ccd1e0bffffd8000171644f1f8b45c75bc780ff0006cccdff0005e666ff00
+019999ff00093334fffffc999aff0009e666579869b88ba08ba29c919e8d9d8ea5ff
+000980008bff001f800008a775a06c1e0b7071766f1f8bffffe08000a5fffff98000
+9d889e899c828b748b76675b577e8bfffff9b3348dfffff9999890fffffab334c796
+c4b78bd108c4ffffdfb334b5ffffe14ccc1e0bffffd80001ffffe5ffff644f1f8b45
+ff003c00015bc780ff0006cccdff0005e666ff00019999ff00093334fffffc999aff
+0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a0
+6c1e0b7179a5b3cbbad9b89da67c5c57682d511f0bb5b4b0bbbfda0872a3054c3f64
+604e5a8b8b7e808486087b07928698808b8bc85ab260ca3f08a4a30557da66bb61b4
+080b6162665b573c08a47305cad7b2b6c8bc8b8b98969290089b0784907e968b8b4e
+bc64b64cd708727305bf3cb05bb562080ba9b1abc1c1b34a4a1e8b5c796e6566080b
+4d5087508b60085d078492889393938e921eb7078ba38ca397a4949c9e9ba19cb8ad
+c6b78bda8be64cc72a8b588b637d6f726e73786f8b650868a3839a9d9e97a21e8b98
+8991879087908a918b9a080bbb9a42553e853e505583d9c3c08de9c91f0bc6cdbcf7
+0bf70d4bb3514655432d36be3dd01f0b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e
+0ba68da68b1e90898d851e7b845c8371898a838c848f85080bab8996908b5608fb01
+078b627e88638986838c7c8f85a98c968bae8ba98b9b8ba98a8f928b99879308698d
+7a8e8bb4080b8b627e88638986838c7c8f85a98cff000ab3338bff00234ccd8ba98b
+9b8ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8be00594838c851e848b
+7f808482898885828b8508522f07a1adcadeb8d0086c95056252472b5e4a088f7ff7
+238b050b627a685e1e758b80928294839383927e8b08817f837e73c77eadd0bcc0c7
+c167bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378b75fb239188059992a092
+a18b08d38e506d1f0b6584695f6f63a2df1e8b918b938c90a09ca191998b08c48f54
+751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e07fb2d8051248b390823d2
+6ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4c4f70ec0e608fb42067b86
+8c8f1f79060b8a718463866f08a0880597bb9291a78b080ba4a37d701f8b6e766f7b
+8208779505669f88a28b9a08a9a394a31e0bb35ca65e565b6e5e1e8b6e9b71b37808
+9785050b65775e668b670849cf7bb7e5aac4ab1e8baa79a46c9c0864a005c6ad8fa9
+8b9a080ba87d05b3778c718b720862717f67736496b81e8badb2b29b94080bb192ad
+b7a7b374381e7707757a75867d8b085386c1a11f0b7a943cec1ea48ba69c9a997f51
+6948fb0178087807f72d97c7f28bdd08f341a7593c6f4a671e0b8b43aa4be551089a
+950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b44080b8bd25fd83ebc087c
+8005ca489e5e8b418b407d664743089a8105e5c5aacb8bd3080b9ea2a0a1a08b08aa
+9f7a581f0b326340444bba47dcff0053199aff002ee666d1ccff0048199a66ff0046
+e6662f1f0bd7c8c8d7d8c84e3f3f4e4d3e3f4ec9d71e0b2fd641e6e7d5d5e7e641d6
+2f304040301e0b5592fc95fd7dc083050b7656645a788b086a8bb2aecdbdefbf9e97
+73711f8b82845f7d68080b808d77ac1ead8baa9eb3b408779c057d7a7e81848b888b
+898e8b928b918d948e9808bcf7655b8b736905849e7d9a698b0840232526669f52cf
+1fa18bab98a8a7080bc68baea9abaa0870a105716e64767c8b087b6c98d5eabec4b6
+909a87771f8b78898d8b7e0880917fa795aa93a4ab73b0443a3039fb0062b649cc1e
+0b826686758b758b6da17ca18bb08bb4a4c6d108769c05696377787b8b848b88938b
+958b958d9c94af08b5f735050b4e6c6d6e6264b4d9daff001dcccca9ff00223334b5
+ad513c1e0b8b617e68776f73695c7a408b0858f7bc06a390a78eae8b08c8dd6dfb0a
+1f0b8bff024e80009bff00008000058d8c8d8b8e8b08a58e7a6e1ffc8a076f8a7b62
+1e0b8b6270715f85fffffd4cccfffff6e666ffffff4ccefffff4999aff00056666ff
+fff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b334ff00068000ff
+fffa4cccff000b8000859781907d8b08fffff3b334fffff38000fffff7199afffff2
+b333ffffe08000ff00469998fffff4b333ff001a3334dbc6b9d01f8bc55ca66a8e08
+0ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33349dff0004cccc
+96929ba7939c8b089ba183711f0b958b998e8e9dff00014ccdff0007e668fffffd33
+33ff000cccccff00038000ff00084ccc90979794aa8b080b627a685e1e758b809282
+94839383927e8b08817f837e73c77eadd0bcc0c7c167bf3d1f7d8b72868285080b90
+adfb378b75fb239188059992a092a18b08d38e506d1f0bf85107a8999cb61eae06b5
+9b7d6b1ffc51076d7c7a601e6806617c99ac1f0bfbae076e807b6b1e65066c809ba8
+1ff7ae07a7969baa1eb106ac957b6f1f0bbe88ff00086666fffff94cccffffee999a
+ffffd9b3340832fb6f7a607ab935f76e05fffff5e666ff0017999afffffd8000ff00
+10b332ff001f999aff0003b334089c8d058eff0000666691ff0001199a8bff000680
+00088b9e878d058b4e896469568d8b1e88898b77058b8690fffffe999a90ffffff66
+66ff001c8000fffffc8000ff00154ccdfffff76666ff000e3333ffffdc199a080bf7
+1cfbed05917c9185988b958b9291929c08f71ef7e7059bb2a293a88e089e06ac957b
+6f1ffbae070b6b8b60896b8b6b8b608d6b8b08fbb339fb57fb16fb4ff70c2ff74e1f
+ab8bf7038da58bab8bf589ab8b08f74ef70ff1f74ff70267f761fbe31f0bfa5cbffd
+c606aeb0adc0abcf0864065f5a65666b726b716a766a7b080b6707ac7bad76aa71ab
+72b166b75a08b3066acf6ac068b008f9c5bf060baf076a9b69a06ca56ba465b05fbc
+086306ac47ac56ae6608fdc557060bfe5c57f9c606686669566b4708b206b7bcb1b0
+aba4aba5aca0ac9b080bd9b2fb058606fb39fd40fb0ef7670569716171667808986f
+cba5f720fb85b19f050b7262414a588b084466ddcdcaabbbcb1fc88bd625a558080b
+62cd3dce3c8b082249242cfb02d259d41fd58be0d9b4c5080b3e7cfb0a6f1e7a8b7d
+aa708b0878777a7772a179abedcbe6f7c51ff70b078bca87d38bbd8bf7199fb0a08b
+a38b8d6aab8b08a39f9ca1a4739d6e2151fb04fb8a1ffb17078b3b8d718b3b080bf7
+10f2eff710f70f24f1fb10fb0f2525fb0ffb0ff026f7101f0bfca9fba15ef8e1b8fb
+a1f8a9070b717173736fff001ae66673ff0015199aa3a7a0a6a373a7731f0bff00b6
+3334ff00000001ff00944cccff009480008bff00b6666708ff00b66666ffff6bb334
+ff0093199affff49ccccffff49ccccffff6d3333ffff6ce666ffff49999affff4999
+99ff0092cccdffff6b8000ff00b633341e0bff00a26664ff00834cd0ffff7dccccff
+ff5d6668ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff0083
+8000ff00a2999aff00a13332ff0081e667ff0083999aff00a266671f0bfb1c06ff00
+216666ff00356668c4ff0053b332ff002cccceff003d3334ff0000ccccffffeb199a
+ff00003334ffff9be666ffffffccccffffb2b332080bffffff4cccff00138001ffff
+ffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff0000b3
+34ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880008bff
+00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffff
+c6cccdffffe54ccc8cfffff8999aff0002e666fffffd199aff0005cccd8708ff001d
+999aff000c4cccff000eb3338fff000c4ccd8bff000ab3328bff0001999afffff066
+66ff0000b334ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffff
+d24cce8bffffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332
+ffffca1999fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bffff
+f8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000
+ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff
+0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff0003
+3333fffffe3334ff0035e667080b968bff000a6668fffffc1998ff0007ccccfffff8
+e668ff00143334ffffef1998ff00158000ffffc8199a8bffffa8e6668bffffc43334
+89ffffd08000fffff6e664ffffdee666fffff1b334ffffcab334ffffdc3334fffffa
+3333fffff44ccc8b08ffffc8b334fffff08000ff0075b333ff00388000ff009fe666
+ff002b999aff00244cceff001d33321f0bbdff004c1998ff0032b333ff0098cccd1f
+8bff00404cccfffff06668ff0036999affffe36664ff0025b334ffffebe668ff001a
+b332ffffebccccff00103334648b08ffffbfb334ffffc2ccccffffb34cccffff7f4c
+ceffff96b333ff00316668ffffa3b333ff004980001f0b8aa9ffffff8000ff004b80
+008bff004b80008bff004b8000ff00008000ff004b80008ca98dc7ff00024cccc8ff
+0001b334988bff0004ccccfffffd8000ff00003334fffffc80008bffffc8b334ffff
+ddb334ffffce4cccffffe74ccc3362ff0001999afffff4999aff00046666fffffb80
+0094fffff9e66608ff002d80009eff00168000919e8bff001080008bff0002666673
+ff0001199a698c6dff00008000ffffb4b3348bffffb9cccc8bffffb9cccdffffff80
+00ffffb9b3338a6dfffffd333438fffff1cccc86458885858b80918508bc8cff001b
+cccc8fff003133348bff002e80008bff0016800087bd8a91918b968591458efffff1
+cccc90fffffd3334de080bffffffffffffffdd999a8effff4f3334ff009f199affff
+764cccff0007b333ff00018000ff0000b333ff00056667ff00024ccdff00061999ff
+ffe6cccdff001d199affffa68000ff0069999a8bff00c933328bff00c93334ff005a
+3333ff00699998ff00188000ff001b8000fffffd6666ff0007ccd0ff0000999aff00
+056664fffff74ccdff0000999c303dffffb8e666ffff8033328bffff71b332080b8b
+ff00226668fffffce668ff00b0b332ffff60e664ff0089b332fffff86668fffffe80
+00ffffff3334fffffa999cfffffdb334fffff9e664ff00193330ffffe2e668ff0059
+999cffff9680008bffff36cccc8bffff36ccceffffa5b334ffff966666ffffe78000
+ffffe48000ff00029998fffff83333ffffff6668fffffa999aff0008b330ffffff66
+66e6d9ff00473334ff007fcccd8bff008e4ccc080b769e80a09ca49a9e1e8b938990
+8992899285948b9308a4a0b9d4afc8682b1e8b4b7e57504f0841420529277b5b8b50
+088bb48dab1ef74306abb9898b1f98c095d68ca98590888d81897a447a68678b08fb
+50068bbbd0d9909008f0ec05c4c2b6b78bd708f70029b73afb0350394f1e0bb7b969
+4d1f8b5a4b34317d089075059c8d988b988b08c4d679fb05fb192c62681f588b82ac
+7f9d81997e97778b087676787b63df70c7f70bf5dcf7181f8bf7013eb45095088a8d
+05eac790b98bad08b565cb25fb27612b6a7d9577a3a895ac9ecbd0a1a51e0bf75e06
+3dfb5632fb6147fb2c089384c78e05c4f73ec7f73af704f7a5087b97057a86758565
+8b08fb6206698b8d95798f888b8a8b8b888a5b804f8357ff000ae666fffffce666ff
+0000199afffffeccce96ff00014ccca1dbac9cab8b080b9c8b9b859780aa71ac358b
+fb1a8b2f88427d5875395482798b08ffffaae668ffffe81998f749e2f78acec3b81f
+0b8bff00226668fffffce660ff00b0b332ffff60e668ff0089b332fffff86668ffff
+fe8000ffffff3334fffffa999cfffffdb334fffff9e664ff00193330ffffe2e668ff
+00599998ffff9680008bffff36cccc8bffff36ccceffffa5b338ffff966666ffffe7
+8000ffffe48000ff00029998fffff83333ffffff6668fffffa999aff0008b330ffff
+ff6666e6d9ff00473338ff007fcccd8bff008e4ccc080b77767e84758b086967a0e5
+d5a7a4ad1fa48ba1779b78080b7273057c9c71946e8b083e663f4b3ebf5ecd1fa28b
+9e969e9b0820078b75fffff56666fffffc4ccdfffff1999afffffeb33308808a0588
+ffffffb33389ffffff4ccd8b870879078bb38ca5a3b08a8b1e9e078b8d8aff000166
+6687ff0000999a08848c05ffffe7ccccff00038000ffffff3334ff000380008b9f08
+f7e70791898e881e878b85868788080bfb4afb27fb27fb4cfb4af727fb28f74af74a
+f727f728f74af74afb26f729fb4b1f0b7f8b6d827c840882a605ba9ca597b6a6089b
+fb990675977c991ea6068e8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf
+069b999aa11ff72c07ab89957e1e0b7e8b6d827c840882a605ba9ca597b6a6089bfb
+990675977c991ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8e8e8f1eaf06
+9b999aa11ff72c07ab89957f1e0b8b7c886d506908b27605aa7a9d728b6c086b6c51
+315f489ccc1e8bb0b7afb1a0087f9105639e7ca58ba808b8bba8bfb8b96f641e0bff
+00be8002f72ff72eff00bd3334ff00bd3334fb2fff00988000ffff417ffeffff4180
+00ffff668000ffff678000ffff42ccccffff42ccccff00998000fb2eff00be80001f
+0bff00b2b332ff008f3334ffff71ccccffff4e8000ffff4e7fffffff6f4cccffff71
+cccdffff4eccceffff4d4ccdffff70cccdff008fb333ff00b00001f744ff008f3333
+ff008fb334ff00b2b3331f0bff009b0002ff007f1998ff007c999aff009b8000f72e
+fb16ff0073ccceffff67e666ffff67e667ffff7f9999ffff8c3332fb2efb2eff007d
+8000ffff81e666f72f1f0bff008dccceff00749998ffff8db334ffff733334ffff71
+b332ffff8b6668ffff8d999affff723332ffff70cccdffff8e4ccdff0073e666ff00
+8cccceff008cccccff0073199aff00724cccff008dcccc1f0bf7c4fffecfe666ff01
+30199aff0130199afffecfe666f7c4050bf715f4f4f715f71522f3fb15fb152323fb
+15fb15f322f7151f0bf707e82ffb07fb072d2efb06fb072fe8f707f706e7e8f7071f
+0bedd43b302f433c282843dae7e9d6d8eb1f0bf6e13520203435212035e2f5f5e1e2
+f61f0b7d968099999696999980967d7d80807d1e0b7d96809998979699997f967e7d
+80807d1e0beadadaeaeada3c2c2c3c3c2c2c3cdaea1e0b91819587908b928b908c95
+93088bf739f724cb0590948b8e8b918b90859c7d9008fb3e408987050b8bf752898f
+fb3ed6057d86857a8b868b858b88908208f7244b8bfb39059583908a928b908b958f
+9195080b749e78a2a29e9ea2a2789e74747878741e0b8b66a6598b6a8b78827e738b
+6b8b7ba87e8b087c81837d78ad71bbbbaca8b91f0ba573a5736f73ffffe51998ffff
+eae66873a06fa61ea3a7a3a31f0b95cbb58e988b08a0a67f5c858889861f0b777577
+816c8b086b5aade01ff72a06918f8f91bb79be40555059344aae55d91fb48bada0a1
+a9080b7c977f9a9a98979a9a7e977c1e7c7f7f7c1f0b9c8b9b859780ff0009e666ff
+fff7b33495fffff1b334ff0009199a7708ffff58999afffe754ccc05fffff26666ff
+0034e66686ff003b99998bff0027cccd8bf78acec3b88b080b2c533b4f1e658b7ea8
+7c9f7e9c7a9a768b087878807762e069c4f710e3e7f712ec48e2fb041f608b5c8279
+84089ff74505b087b586bb8b080ba98bad8db48f089bc5848f050b52855586568b66
+8b678d688e0869fbaa05c09fb18faf8b08ccc456fb011f0bfb168bf715f71305c2c1
+a3b28bb78bc564b82b8b308b515a7b599283978899889fbeb99fba8bb78ba5708b58
+088b5478712429082227957505958cbe8ca38b08f72106b18bac8a9b8a90a994ba9c
+c28291848a828c087e700574588585558b080bffffda4cccffffdf4cceffffd7b334
+fffffe199affffebe6668b082972f704bdf702bac6bccad25ffb3f1f8bffffe8999a
+fffffd80006ffffff9999a6d080b818376848a898d909393a1918e8c88881e0b7684
+85721e7806888989881f8b808d89d98d050bbb8af48b8bfb2705669673ac1ea68ba5
+98a3a7088095057c807d857c8b087b869db11ff70ac50792938d911f0b70f71fa607
+0bff000c4ccdff0007b333ff001effff95ff0027b334ff00074ccd08899d6c8e057d
+8c888d8bac080b8cfcd0498b058bff001566668cff01ae999affffffcccdf70c080b
+>
+%%EndResource
+%%BeginResource: font LinLibertineOI
+/FontSetInit /ProcSet findresource begin
+/LinLibertineOI 413118 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654f49000102000100441c09c500
+1c09c6011c09c7021c09c803f815047f0c02290c03b30c04fd0ffbcc1c181bfa1105
+1d000052b50f1d00000000101d00006502111d000000421d00055c6f120842020001
+0008000f001b00290030003c0043004a00500056005d0064006a0070007b00860090
+009a00a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106
+0111011c012201280132013c01480154015f016a016e01720178017e0185018c0192
+0198019f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e
+02220226022c0232023e024a02500256026102640267026e0275027b0281028e029b
+02a102a702b302bf02c502cb02d102d702e202ed02f502fd0305030d03130319031d
+03210327032d0334033b03410347034c0351035e036b037203790384038f039a03a5
+03ab03b103bb03c503ca03d103d803df03e603ed03f403fb0402040904100417041e
+0425042c0433043a04410448044f0456045d0464046b0472047904800487048e0495
+049c04a304a804ad04b404bb04c204c904d004d704de04e504ec04f304fa05010508
+050d0512051905200527052e0535053c0543054a05510558055f0566056d0574057b
+0582058905900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f2
+05f906000607060e0615061c0623062a06310638063f0646064d0654065b06620669
+06700677067e0685068b06910698069f06a606ad06b406bb06c206c906d006d706de
+06e506ec06f306fa07010708070f07190723072a0731073c0747074e0755075c0763
+076a07710778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da
+07e107e807ef07fb08070813081f0826082d0834083b0842084908500857085e0865
+086c0873087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc
+08e308ea08f108f808ff0906090d0914091b0922092909300937093e0945094c0953
+095a09610968096f0976097d0984098b0992099909a009a709ae09b509bf09c609cd
+09d209d909e009e709ee09f509fc0a030a0a0a110a180a1f0a260a2d0a340a3b0a42
+0a490a500a570a5e0a690a700a770a7e0a850a8e0a9c0aa30aaa0ab10ab80abf0ac6
+0acd0ad40adb0ae20ae90af00af70afe0b050b0c0b130b1a0b210b340b3b0b420b49
+0b500b570b5e0b650b6c0b730b7a0b810b880b8f0b960b9d0ba40bab0bb20bb90bc0
+0bc70bce0bd50bdc0be30bea0bf40c020c0c0c160c260c3a0c510c5b0c650c6c0c73
+0c7a0c830c8c0c930c9a0ca10ca80caf0cb60cbd0cc40ccb0cd20cd90ce00ce70cee
+0cf50cfc0d030d0a0d110d180d1f0d260d2d0d340d3b0d420d550d5f0d690d730d8f
+0d960d9d0da40dab0db20db90dc00dc70dce0dd50ddc0de30dea0df10df80dff0e06
+0e0d0e140e1b0e220e290e300e370e3e0e450e4c0e550e5e0e650e6e0e750e7c0e83
+0e8a0e910e9e0ea50eac0eb30eba0ec10ec80ecf0ed60edd0ee40eeb0ef20ef90f00
+0f070f0e0f150f1c0f230f2a0f310f380f3f0f460f4d0f590f600f670f6e0f750f7c
+0f830f8a0f910f980f9f0fa60fad0fb40fbb0fc20fc90fd00fd70fde0fe50fec0ff3
+0ffa10011008100f1016101d1024102b1032103910401047104e1055105c1063106a
+10711078107f1086108d1094109b10a210a910b010b710be10c510ce10dc10e510ec
+10fc110d1121112d113611421153115a11611168116f1176117d1184118b11921199
+11a011a711ae11b511bc11c311ca11d111d811dd11ea11f411fd12091211121a1226
+1232123c124d12521256125b12601267126b126e12731277127c1282128412861288
+128f129112941299129c12a312a612a912ac12b112bd12cc12d612e212ea12f31307
+130c13101315131a132113251328132d13311336133c133e134013471349134c1352
+1357135a136113641367136a136f137b138a139613a213ac13b313b913c113c813cf
+13d313d913e013e713ee13f513fc1403140a14111418141f1426142d1434143b1442
+144914501457145e1465146c1473147a148114881491149a14a314ac14b514be14c7
+14d014d914e214eb14f414fb1504150d1516151f15281531153a1543154c1555155e
+1567157015791582158b1594159d15a615af15b815c115ca15d315dc15e515ee15f7
+160016091612161b1624162d1636163f16481651165a1663166c1675167e16871690
+169916a216ab16b416bd16c616cf16d816e116ea16f316fc1705170e171717201729
+1732173b1744174d1754175d1766176f17781781178a1793179c17a517ae17b717c0
+17c717d017d917e017e717f017f918001807180e1815181c1823182a18311838183f
+1846184d1854185b1864186d1876187f1886188d1894189b18a218a918b018b718be
+18c518cc18d518de18e518ec18f318fa19011908190f1916191d1924192b19321939
+19401947194e1955195c1963196a19711978197f1986198d1994199b19a219a919b0
+19b719be19c519cc19d319da19e119e819ef19f619fd1a041a0b1a121a191a201a27
+1a2e1a351a3c1a431a4a1a511a581a5f1a661a6d1a741a7b1a821a891a901a971a9e
+1aa51aac1ab51abc1ac31aca1ad11ad81adf1ae61aed1af41afb1b021b091b101b17
+1b1e1b251b2c1b331b3a1b411b481b4f1b561b5d1b641b6b1b721b791b801b871b8e
+1b951b9e1ba71bb01bb91bc21bcb1bd41bdd1be61bef1bf61bff1c081c111c1a1c23
+1c2c1c351c3e1c471c4e1c571c601c691c721c7b1c841c8d1c961c9f1ca81cb11cba
+1cc31ccc1cd51cde1ce71cf01cf91d021d0b1d141d1d1d261d2f1d381d411d4a1d53
+1d5c1d631d6a1d711d781d7f1d861d8d1d941d9b1da21da91db01db71dbe1dc51dcc
+1dd31dda1de11de81def1df61dfd1e041e0b1e121e191e201e271e2e1e351e3c1e43
+1e4a1e511e581e5f1e661e6d1e741e7b1e821e891e901e971e9e1ea51eac1eb31eba
+1ec11ec81ecf1ed61edd1ee41eeb1ef21ef91f001f071f0e1f151f1c1f231f2a1f31
+1f381f3f1f461f4d1f541f5b1f621f691f701f771f7e1f851f8c1f931f9a1fa11fa8
+1faf1fb61fbd1fc41fcb1fd21fd91fe01fe71fee1ff51ffc2003200a20112018201f
+2026202d2034203b2042204920502057205e2065206c2073207a20812088208f2096
+209d20a420ab20b220b920c020c720ce20d520dc20e320ea20f020f620fc2102210b
+2114211b2122212921302137213e2145214c2153215a21612168216f2176217d2184
+218b2192219921a021a721ae21b521bc21c621cd21d421db21e221e921f021f721fe
+2205220c2213221a22212228222f2236223d2244224b2252225922602267226e2275
+227c2283228a22912298229f22a622ad22b422bb22c222c922d022d722de22e522ec
+22f322fa23012308230f2316231d2324232b2332233923402347234e2355235c2363
+236a23712378237f2386238d2394239b23a223a923b023b723be23c523cc23d323da
+23e123e823ef23f623fd2404240b24112417241e2425242c2433243a24412448244f
+2456245d2464246b2472247924802487248e2495249c24a324aa24b124b824bf24c6
+24cd24d424db24e224e924f024f724fe2505250c2513251a25212528252f2536253d
+2544254b2552255925602567256e2575257c2583258a25912598259f25a625ad25b4
+25bb25c225c925d025d725de25e525ec25f325fa26012608260f2616261d2624262b
+2632263926402647264e2655265c2663266a26712678267f2686268d2694269b26a2
+26a926b026b726be26c526cc26d326da26e126e826ef26f626fd2704270b27122719
+27202727272e2735273c2743274a27512758275f2766276d2774277b278227892790
+2797279e27a527ac27b327ba27c127c827cf27d627dd27e427eb27f227f928002807
+280e2815281c2823282a28312838283f2846284d2854285b2862286928702877287e
+2885288c2893289a28a128a828af28b628bd28c428cb28d228d928e028e728ee28f5
+28fc2903290a29112918291f2926292d2934293b2942294929502957295e2965296c
+2973297a29812988298f2996299d29a429ab29b229b929c029c729ce29d529dc29e3
+29ea29f129f829ff2a062a0d2a142a1b2a222a292a302a372a3e2a452a4c2a532a5a
+2a612a682a6f2a762a7d2a842a8b2a922a992aa02aa62aac2ab32aba2ac92ad72ae4
+2aef2aff2b082b112b1f2b282b352b422b492b562b632b6e2b7c2b852b8c2b932b99
+2b9f2baa2bb72bbe2bc52bcc2bd52be02be72bee2bff2c0e2c1d2c242c2b2c322c3f
+2c492c562c632c6f2c7d2c8b2c982ca52cb32cc12cd32ce62cf02cfd2d092d152d23
+2d302d3d2d492d572d652d722d7f2d8d2d9b2dad2dc02dca2dd42dde2de82def2df6
+2dfd2e042e0b2e122e192e202e272e2e2e332e372e3d2e442e482e4c2e532e5a2e61
+2e682e6f2e792e822e892e932e9a2ea12ea82eaf2eb72ec02ec72ed02ed72ede2ee6
+2eed2ef42efb2f022f092f122f172f1e2f252f2c2f332f3b2f442f4f2f592f612f6b
+2f772f7f2f872f912f9a2fa32fab2fb52fbf2fc82fd02fdb2fe62fed2ff42ffb3002
+300a3012301c3025302e30363040304a3053305b306630713078307f3086308d3094
+309b30a230a930b030b930c030ca30d330dc30e530ec30f330fa31013108310f311b
+3122312931303137313e3145314c3153315a3161316d317731843190319c31a331aa
+31b131b831bf31c831cf31da31e531ec31f431fb3203320a3214321b3223322a3231
+3238323f3248324f3256325d326432703277327e3285328c3293329b32a532ac32b3
+32ba32c132cb32d432e032e532ed32f432fb3302330b3316331d3324332c3337333e
+33473353335a33613368336f3376337d3389339733a033a733b133b833c633cd33d4
+33db33e233e933f033f733fe3405340c3413341c3422342934303437343e3445344c
+3453345a34613468346f3476347c3482348934903497349e34a534ac34b334ba34c1
+34c834cf34d634dd34e434eb34f234f934fc3503350a35113517351e352235293530
+3537353e3545354c3553355a35613568356f3576357d3584358b3592359935a035a7
+35ae35b535bc35c735d535dc35e335ea35f135f835ff3606360d3614361b36223629
+36303637363e3645364c3653365a36613668366f3676367d3684368b3692369936a0
+36a736aa36b136b836bf36c636cd36d436db36e236e936f036f736fe3705370c371c
+37273731373b37473752375d37673773377f378a3795379f37a637b537c237ce37da
+37e837f53802380e381c382a383738443851385e386338663869386c386f38723875
+3878387e388138843887388c389a38a938b438c138c538c938cd38d138d538d938dd
+38e138e538e938ed38f138f538f938fd390139053909390d391139153919391d3921
+392539293932393b39443952395b3967396f3974397f39883991399f39ab39b439bd
+39cb39d739dd39e639ef39f83a063a0f3a1b3a203a293a323a3b3a493a553a5e3a66
+3a723a773a873a943a9d3aa63ab03ab93ac23acb3ad53ade3ae73af03af93b023b0b
+3b113b213b2a3b333b3c3b473b503b5b3b623b6a3b7a3b833b903b993ba23bab3bba
+3bc93bd63bdd3be73bf13bfb3c053c0f3c193c233c2a3c313c383c423c4c3c533c5d
+3c673c713c783c823c8c3c963c9d3ca43cab3cb53cbc3cc53ccc3cd13cd63cdb3ce0
+3ce53cea3cf13cf63cfd3d043d093d193d283d373d483d583d683d773d883d993da9
+3db03db73dbe3dc83dd23ddc3de63df03dfa3e043e0e3e183e223e2c3e363e403e4a
+3e543e5e3e683e723e7c3e863e903e9a3ea13ea83ead3eb63ebf3ecd3ed63edf3eef
+3f003f143f203f293f353f463f4d3f573f633f703f7e3f8d3f993fa63fb33fc23fd2
+3fe33ff34004400e4016402440324040404e40554058405b405e40634068406f4072
+40794080408541a141b941ca756e6930304130756e693030414474776f2e73757065
+72696f7274687265652e7375706572696f72756e69303042356f6e652e7375706572
+696f72416d6163726f6e616d6163726f6e416272657665616272657665416f676f6e
+656b616f676f6e656b4361637574656361637574654363697263756d666c65786363
+697263756d666c657843646f74616363656e7463646f74616363656e74436361726f
+6e636361726f6e446361726f6e646361726f6e4463726f61746463726f6174456d61
+63726f6e656d6163726f6e45627265766565627265766545646f74616363656e7465
+646f74616363656e74456f676f6e656b656f676f6e656b456361726f6e656361726f
+6e4763697263756d666c65786763697263756d666c65784762726576656762726576
+6547646f74616363656e7467646f74616363656e7447636f6d6d61616363656e7467
+636f6d6d61616363656e744863697263756d666c65786863697263756d666c657848
+626172686261724974696c64656974696c6465496d6163726f6e696d6163726f6e49
+6272657665696272657665496f676f6e656b696f676f6e656b49646f74616363656e
+74494a696a4a63697263756d666c65786a63697263756d666c65784b636f6d6d6161
+6363656e746b636f6d6d61616363656e746b677265656e6c616e6469634c61637574
+656c61637574654c636f6d6d61616363656e746c636f6d6d61616363656e744c6361
+726f6e6c6361726f6e4c646f746c646f744e61637574656e61637574654e636f6d6d
+61616363656e746e636f6d6d61616363656e744e6361726f6e6e6361726f6e6e6170
+6f7374726f706865456e67656e674f6d6163726f6e6f6d6163726f6e4f6272657665
+6f62726576654f68756e676172756d6c6175746f68756e676172756d6c6175745261
+6375746572616375746552636f6d6d61616363656e7472636f6d6d61616363656e74
+526361726f6e726361726f6e5361637574657361637574655363697263756d666c65
+787363697263756d666c657853636564696c6c6173636564696c6c6154636564696c
+6c6174636564696c6c61546361726f6e746361726f6e54626172746261725574696c
+64657574696c6465556d6163726f6e756d6163726f6e556272657665756272657665
+5572696e677572696e675568756e676172756d6c6175747568756e676172756d6c61
+7574556f676f6e656b756f676f6e656b5763697263756d666c65787763697263756d
+666c65785963697263756d666c65787963697263756d666c65785a61637574657a61
+637574655a646f74616363656e747a646f74616363656e746c6f6e6773756e693031
+3830756e6930313831756e6930313832756e6930313833756e6930313834756e6930
+313835756e6930313836756e6930313837756e6930313838756e6930313839756e69
+30313841756e6930313842756e6930313843756e6930313844756e6930313845756e
+6930313846756e6930313930756e6930313931756e6930313933756e693031393475
+6e6930313935756e6930313936756e6930313937756e6930313938756e6930313939
+756e6930313941756e6930313942756e6930313943756e6930313944756e69303139
+45756e69303139464f686f726e6f686f726e756e6930314132756e6930314133756e
+6930314134756e6930314135756e6930314136756e6930314137756e693031413875
+6e6930314139756e6930314141756e6930314142756e6930314143756e6930314144
+756e693031414555686f726e75686f726e756e6930314231756e6930314232756e69
+30314233756e6930314234756e6930314235756e6930314236756e6930314237756e
+6930314238756e6930314239756e6930314241756e6930314242756e693031424375
+6e6930314244756e6930314245756e6930314246756e6930314330756e6930314331
+756e6930314332756e6930314333756e6930314334756e6930314335756e69303143
+36756e6930314337756e6930314338756e6930314339756e6930314341756e693031
+4342756e6930314343756e6930314344756e6930314345756e6930314346756e6930
+314430756e6930314431756e6930314432756e6930314433756e6930314434756e69
+30314435756e6930314436756e6930314437756e6930314438756e6930314439756e
+6930314441756e6930314442756e6930314443756e6930314444756e693031444575
+6e6930314446756e6930314530756e6930314531756e6930314532756e6930314533
+756e6930314534756e6930314535476361726f6e676361726f6e756e693031453875
+6e6930314539756e6930314541756e6930314542756e6930314543756e6930314544
+756e6930314545756e6930314546756e6930314630756e6930314631756e69303146
+32756e6930314633756e6930314634756e6930314635756e6930314636756e693031
+4637756e6930314638756e69303146394172696e6761637574656172696e67616375
+746541456163757465616561637574654f736c61736861637574656f736c61736861
+63757465756e6930323030756e6930323031756e6930323032756e6930323033756e
+6930323034756e6930323035756e6930323036756e6930323037756e693032303875
+6e6930323039756e6930323041756e6930323042756e6930323043756e6930323044
+756e6930323045756e6930323046756e6930323130756e6930323131756e69303231
+32756e6930323133756e6930323134756e6930323135756e6930323136756e693032
+313753636f6d6d61616363656e7473636f6d6d61616363656e7454636f6d6d616163
+63656e7474636f6d6d61616363656e74756e6930323143756e6930323144756e6930
+323145756e6930323146756e6930323230756e6930323231756e6930323232756e69
+30323233756e6930323234756e6930323235756e6930323236756e6930323237756e
+6930323238756e6930323239756e6930323241756e6930323242756e693032324375
+6e6930323244756e6930323245756e6930323246756e6930323330756e6930323331
+756e6930323332756e6930323333756e6930323334756e6930323335756e69303233
+36756e6930323337756e6930323338756e6930323339756e6930323341756e693032
+3342756e6930323343756e6930323344756e6930323345756e6930323346756e6930
+323430756e6930323431756e6930323433756e6930323530756e6930323531756e69
+30323532756e6930323533756e6930323534756e6930323535756e6930323536756e
+6930323537756e6930323538756e6930323539756e6930323541756e693032354275
+6e6930323543756e6930323544756e6930323545756e6930323546756e6930323630
+756e6930323631756e693032363267616d6d616c6174696e756e6930323634756e69
+3032363568686f6f6b756e6930323637756e6930323638756e6930323639756e6930
+323641756e6930323642756e6930323643756e6930323644756e6930323645756e69
+30323646756e6930323730756e6930323731756e6930323732756e6930323733756e
+6930323734756e6930323735756e6930323736756e6930323737756e693032373872
+7475726e6564756e693032374172686f6f6b7475726e6564756e6930323743756e69
+30323744756e6930323745756e693032374652736d616c6c63617052736d616c6c69
+6e766572746564756e6930323832756e6930323833756e6930323834756e69303238
+35756e6930323836756e6930323837756e6930323838756e6930323839756e693032
+3841756e6930323842756e6930323843756e6930323844756e6930323845756e6930
+323846756e6930323930756e6930323931756e6930323932756e6930323933756e69
+30323934676c6f7474616c73746f707265766572736564756e6930323936756e6930
+323937756e6930323938756e6930323939756e6930323941756e6930323942756e69
+30323943756e6930323944756e6930323945756e6930323946756e6930324130756e
+6930324131756e6930324132756e6930324133756e6930324134756e693032413575
+6e6930324136756e6930324137756e6930324138756e6930324139756e6930324141
+756e6930324142756e6930324143756e6930324144756e6930324145756e69303241
+46682e7375706572696f7268686f6f6b2e7375706572696f726a2e7375706572696f
+72722e7375706572696f72727475726e65642e7375706572696f7272686f6f6b7475
+726e65642e7375706572696f7252736d616c6c696e7665727465642e737570657269
+6f72772e7375706572696f72792e7375706572696f72756e6930324239756e693032
+4241756e6930324242616669693537393239616669693634393337756e6930324245
+756e6930324246756e6930324330756e6930324331756e6930324332756e69303243
+33756e6930324334756e6930324335756e6930324338756e6930324339756e693032
+4341756e6930324342756e6930324343756e6930324344756e6930324345756e6930
+324346756e6930324430756e6930324431756e6930324432756e6930324433756e69
+30324434756e6930324435756e6930324436756e6930324437756e6930324445756e
+693032444667616d6d616c6174696e2e7375706572696f726c2e7375706572696f72
+732e7375706572696f72782e7375706572696f72676c6f7474616c73746f70726576
+65727365642e7375706572696f72756e6930324535756e6930324536756e69303245
+37756e6930324538756e6930324539756e6930324541756e6930324542756e693032
+4543756e6930324544756e6930324545756e6930324546756e6930324630756e6930
+324631756e6930324632756e6930324633756e6930324634756e6930324635756e69
+30324636756e6930324637756e6930324638756e6930324639756e6930324641756e
+6930324642756e6930324643756e6930324644756e6930324645756e693032464667
+72617665636f6d626163757465636f6d62756e693033303274696c6465636f6d6275
+6e6930333034756e6930333035756e6930333036756e6930333037756e6930333038
+686f6f6b61626f7665636f6d62756e6930333041756e6930333042756e6930333043
+756e6930333044756e6930333045756e6930333046756e6930333130756e69303331
+31756e6930333132756e6930333133756e6930333134756e6930333135756e693033
+3136756e6930333137756e6930333138756e6930333139756e6930333141756e6930
+333142756e6930333143756e6930333144756e6930333145756e6930333146756e69
+30333230756e6930333231756e6930333232646f7462656c6f77636f6d62756e6930
+333234756e6930333235756e6930333236756e6930333237756e6930333238756e69
+30333239756e6930333241756e6930333242756e6930333243756e6930333244756e
+6930333245756e6930333246756e6930333330756e6930333331756e693033333275
+6e6930333333756e6930333334756e6930333335756e6930333336756e6930333337
+756e6930333338756e6930333339756e6930333341756e6930333342756e69303333
+43756e6930333344756e6930333345756e6930333346756e6930333430756e693033
+3431756e6930333432756e6930333433756e6930333434756e6930333435756e6930
+333436756e6930333437756e6930333438756e6930333439756e6930333441756e69
+30333442756e6930333443756e6930333444756e6930333445756e6930333530756e
+6930333531756e6930333532756e6930333533756e6930333534756e693033353575
+6e6930333536756e6930333537756e693033353861637574652e6361706369726375
+6d666c65782e6361706361726f6e2e636170756e693033354368756e676172756d6c
+6175742e63617073706163655f756e69303330462e6361706272657665696e766572
+746564636d622e63617062726576652e63797263617062726576652e637972646965
+72657369732e636170686f6f6b61626f7665636f6d622e636170756e693033363475
+6e6930333635756e6930333636756e6930333637756e6930333638756e6930333639
+756e6930333641756e6930333642756e6930333643756e6930333644756e69303336
+45756e6930333646756e6930333734756e6930333735756e6930333741756e693033
+3742756e6930333743756e6930333744756e6930333745746f6e6f73646965726573
+6973746f6e6f73416c706861746f6e6f73616e6f74656c656961457073696c6f6e74
+6f6e6f73457461746f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f7355
+7073696c6f6e746f6e6f734f6d656761746f6e6f73696f7461646965726573697374
+6f6e6f73416c7068614265746147616d6d6144656c7461457073696c6f6e5a657461
+4574615468657461496f74614b617070614c616d6264614d754e7558694f6d696372
+6f6e506952686f5369676d61546175557073696c6f6e5068694368695073694f6d65
+6761496f74616469657265736973557073696c6f6e6469657265736973616c706861
+746f6e6f73657073696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73
+757073696c6f6e6469657265736973746f6e6f73616c7068616265746167616d6d61
+64656c7461657073696c6f6e7a6574616574617468657461696f74616b617070616c
+616d6264616e7578696f6d6963726f6e706972686f7369676d61317369676d617461
+75757073696c6f6e7068696368697073696f6d656761696f74616469657265736973
+757073696c6f6e64696572657369736f6d6963726f6e746f6e6f73757073696c6f6e
+746f6e6f736f6d656761746f6e6f73756e6930334430746865746131557073696c6f
+6e31756e6930334433756e6930334434706869316f6d65676131756e693033443775
+6e6930334438756e6930334439756e6930334441756e6930334442756e6930334443
+756e6930334444756e6930334445756e6930334446756e6930334530756e69303345
+31756e6930334630756e6930334631756e6930334632756e6930334633756e693033
+4634756e6930334635756e6930334636756e6930334638756e6930334639756e6930
+334642756e6930334644756e6930334645756e6930334646756e6930343030616669
+69313030323361666969313030353161666969313030353261666969313030353361
+66696931303035346166696931303035356166696931303035366166696931303035
+37616669693130303538616669693130303539616669693130303630616669693130
+303631756e6930343044616669693130303632616669693130313435616669693130
+30313761666969313030313861666969313030313961666969313030323061666969
+31303032316166696931303032326166696931303032346166696931303032356166
+69693130303236616669693130303237616669693130303238616669693130303239
+61666969313030333061666969313030333161666969313030333261666969313030
+33336166696931303033346166696931303033356166696931303033366166696931
+30303337616669693130303338616669693130303339616669693130303430616669
+69313030343161666969313030343261666969313030343361666969313030343461
+66696931303034356166696931303034366166696931303034376166696931303034
+38616669693130303439616669693130303635616669693130303636616669693130
+30363761666969313030363861666969313030363961666969313030373061666969
+31303037326166696931303037336166696931303037346166696931303037356166
+69693130303736616669693130303737616669693130303738616669693130303739
+61666969313030383061666969313030383161666969313030383261666969313030
+38336166696931303038346166696931303038356166696931303038366166696931
+30303837616669693130303838616669693130303839616669693130303930616669
+69313030393161666969313030393261666969313030393361666969313030393461
+6669693130303935616669693130303936616669693130303937756e693034353061
+66696931303037316166696931303039396166696931303130306166696931303130
+31616669693130313032616669693130313033616669693130313034616669693130
+31303561666969313031303661666969313031303761666969313031303861666969
+3130313039756e6930343544616669693130313130616669693130313933756e6930
+343630756e6930343631616669693130313436616669693130313934756e69303436
+34756e6930343635756e6930343636756e6930343637756e6930343638756e693034
+3639756e6930343641756e6930343642756e6930343643756e6930343644756e6930
+343645756e6930343646756e6930343730756e693034373161666969313031343761
+6669693130313935616669693130313438616669693130313936756e693034373675
+6e6930343737756e6930343743756e6930343744756e6930343745756e6930343746
+756e6930343833756e6930343843756e6930343844756e6930343845756e69303438
+46616669693130303530616669693130303938756e6930343932756e693034393375
+6e6930343934756e6930343935756e6930343936756e6930343937756e6930343938
+756e6930343939756e6930343941756e6930343942756e6930343943756e69303439
+44756e6930343945756e6930343946756e6930344130756e6930344131756e693034
+4132756e6930344133756e6930344134756e6930344135756e6930344136756e6930
+344137756e6930344138756e6930344139756e6930344141756e6930344142756e69
+30344143756e6930344144756e6930344145756e6930344146756e6930344230756e
+6930344231756e6930344232756e6930344233756e6930344234756e693034423575
+6e6930344236756e6930344237756e6930344238756e6930344239756e6930344241
+756e6930344242756e6930344243756e6930344244756e6930344245756e69303442
+46756e6930344330756e6930344331756e6930344332756e6930344333756e693034
+4334756e6930344337756e6930344338756e6930344339756e6930344341756e6930
+344342756e6930344343756e6930344430756e6930344431756e6930344432756e69
+30344433756e6930344434756e6930344435756e6930344436756e6930344437756e
+6930344438616669693130383436756e6930344441756e6930344442756e69303444
+43756e6930344444756e6930344445756e6930344446756e6930344530756e693034
+4531756e6930344532756e6930344533756e6930344534756e6930344535756e6930
+344536756e6930344537756e6930344538756e6930344539756e6930344541756e69
+30344542756e6930344543756e6930344544756e6930344545756e6930344546756e
+6930344630756e6930344631756e6930344632756e6930344633756e693034463475
+6e6930344635756e6930344636756e6930344637756e6930344638756e6930344639
+61666969353737393961666969353738303161666969353738303061666969353738
+30326166696935373739336166696935373739346166696935373739356166696935
+37373938616669693537373937616669693537383036756e69303542416166696935
+37373936616669693537383037616669693537383339616669693537363435616669
+69353738343161666969353738343261666969353738303461666969353738303361
+6669693537363538756e693035433661666969353736363461666969353736363561
+66696935373636366166696935373636376166696935373636386166696935373636
+39616669693537363730616669693537363731616669693537363732616669693537
+36373361666969353736373461666969353736373561666969353736373661666969
+35373637376166696935373637386166696935373637396166696935373638306166
+69693537363831616669693537363832616669693537363833616669693537363834
+61666969353736383561666969353736383661666969353736383761666969353736
+38386166696935373638396166696935373639306166696935373731366166696935
+37373137616669693537373138756e6930354633756e6930354634756e6931453030
+756e6931453031756e6931453032756e6931453033756e6931453034756e69314530
+35756e6931453036756e6931453037756e6931453038756e6931453039756e693145
+3041756e6931453042756e6931453043756e6931453044756e6931453045756e6931
+453046756e6931453130756e6931453131756e6931453132756e6931453133756e69
+31453134756e6931453135756e6931453136756e6931453137756e6931453138756e
+6931453139756e6931453141756e6931453142756e6931453143756e693145314475
+6e6931453145756e6931453146756e6931453230756e6931453231756e6931453232
+756e6931453233756e6931453234756e6931453235756e6931453236756e69314532
+37756e6931453238756e6931453239756e6931453241756e6931453242756e693145
+3243756e6931453244756e6931453245756e6931453246756e6931453330756e6931
+453331756e6931453332756e6931453333756e6931453334756e6931453335756e69
+31453336756e6931453337756e6931453338756e6931453339756e6931453341756e
+6931453342756e6931453343756e6931453344756e6931453345756e693145334675
+6e6931453430756e6931453431756e6931453432756e6931453433756e6931453434
+756e6931453435756e6931453436756e6931453437756e6931453438756e69314534
+39756e6931453441756e6931453442756e6931453443756e6931453444756e693145
+3445756e6931453446756e6931453530756e6931453531756e6931453532756e6931
+453533756e6931453534756e6931453535756e6931453536756e6931453537756e69
+31453538756e6931453539756e6931453541756e6931453542756e6931453543756e
+6931453544756e6931453545756e6931453546756e6931453630756e693145363175
+6e6931453632756e6931453633756e6931453634756e6931453635756e6931453636
+756e6931453637756e6931453638756e6931453639756e6931453641756e69314536
+42756e6931453643756e6931453644756e6931453645756e6931453646756e693145
+3730756e6931453731756e6931453732756e6931453733756e6931453734756e6931
+453735756e6931453736756e6931453737756e6931453738756e6931453739756e69
+31453741756e6931453742756e6931453743756e6931453744756e6931453745756e
+69314537465767726176657767726176655761637574657761637574655764696572
+65736973776469657265736973756e6931453836756e6931453837756e6931453838
+756e6931453839756e6931453841756e6931453842756e6931453843756e69314538
+44756e6931453845756e6931453846756e6931453930756e6931453931756e693145
+3932756e6931453933756e6931453934756e6931453935756e6931453936756e6931
+453937756e6931453938756e6931453939756e6931453941756e6931453942756e69
+31453943756e69314539444765726d616e64626c73756e6931453946756e69314541
+30756e6931454131756e6931454132756e6931454133756e6931454134756e693145
+4135756e6931454136756e6931454137756e6931454138756e6931454139756e6931
+454141756e6931454142756e6931454143756e6931454144756e6931454145756e69
+31454146756e6931454230756e6931454231756e6931454232756e6931454233756e
+6931454234756e6931454235756e6931454236756e6931454237756e693145423875
+6e6931454239756e6931454241756e6931454242756e6931454243756e6931454244
+756e6931454245756e6931454246756e6931454330756e6931454331756e69314543
+32756e6931454333756e6931454334756e6931454335756e6931454336756e693145
+4337756e6931454338756e6931454339756e6931454341756e6931454342756e6931
+454343756e6931454344756e6931454345756e6931454346756e6931454430756e69
+31454431756e6931454432756e6931454433756e6931454434756e6931454435756e
+6931454436756e6931454437756e6931454438756e6931454439756e693145444175
+6e6931454442756e6931454443756e6931454444756e6931454445756e6931454446
+756e6931454530756e6931454531756e6931454532756e6931454533756e69314545
+34756e6931454535756e6931454536756e6931454537756e6931454538756e693145
+4539756e6931454541756e6931454542756e6931454543756e6931454544756e6931
+454545756e6931454546756e6931454630756e693145463159677261766579677261
+7665756e6931454634756e6931454635756e6931454636756e6931454637756e6931
+454638756e6931454639756e6931463030756e6931463031756e6931463032756e69
+31463033756e6931463034756e6931463035756e6931463036756e6931463037756e
+6931463038756e6931463039756e6931463041756e6931463042756e693146304375
+6e6931463044756e6931463045756e6931463046756e6931463130756e6931463131
+756e6931463132756e6931463133756e6931463134756e6931463135756e69314631
+38756e6931463139756e6931463141756e6931463142756e6931463143756e693146
+3144756e6931463230756e6931463231756e6931463232756e6931463233756e6931
+463234756e6931463235756e6931463236756e6931463237756e6931463238756e69
+31463239756e6931463241756e6931463242756e6931463243756e6931463244756e
+6931463245756e6931463246756e6931463330756e6931463331756e693146333275
+6e6931463333756e6931463334756e6931463335756e6931463336756e6931463337
+756e6931463338756e6931463339756e6931463341756e6931463342756e69314633
+43756e6931463344756e6931463345756e6931463346756e6931463430756e693146
+3431756e6931463432756e6931463433756e6931463434756e6931463435756e6931
+463438756e6931463439756e6931463441756e6931463442756e6931463443756e69
+31463444756e6931463530756e6931463531756e6931463532756e6931463533756e
+6931463534756e6931463535756e6931463536756e6931463537756e693146353975
+6e6931463542756e6931463544756e6931463546756e6931463630756e6931463631
+756e6931463632756e6931463633756e6931463634756e6931463635756e69314636
+36756e6931463637756e6931463638756e6931463639756e6931463641756e693146
+3642756e6931463643756e6931463644756e6931463645756e6931463646756e6931
+463730756e6931463731756e6931463732756e6931463733756e6931463734756e69
+31463735756e6931463736756e6931463737756e6931463738756e6931463739756e
+6931463741756e6931463742756e6931463743756e6931463744756e693146383075
+6e6931463831756e6931463832756e6931463833756e6931463834756e6931463835
+756e6931463836756e6931463837756e6931463838756e6931463839756e69314638
+41756e6931463842756e6931463843756e6931463844756e6931463845756e693146
+3846756e6931463930756e6931463931756e6931463932756e6931463933756e6931
+463934756e6931463935756e6931463936756e6931463937756e6931463938756e69
+31463939756e6931463941756e6931463942756e6931463943756e6931463944756e
+6931463945756e6931463946756e6931464130756e6931464131756e693146413275
+6e6931464133756e6931464134756e6931464135756e6931464136756e6931464137
+756e6931464138756e6931464139756e6931464141756e6931464142756e69314641
+43756e6931464144756e6931464145756e6931464146756e6931464230756e693146
+4231756e6931464232756e6931464233756e6931464234756e6931464236756e6931
+464237756e6931464238756e6931464239756e6931464241756e6931464242756e69
+31464243756e6931464244756e6931464245756e6931464246756e6931464330756e
+6931464331756e6931464332756e6931464333756e6931464334756e693146433675
+6e6931464337756e6931464338756e6931464339756e6931464341756e6931464342
+756e6931464343756e6931464344756e6931464345756e6931464346756e69314644
+30756e6931464431756e6931464432756e6931464433756e6931464436756e693146
+4437756e6931464438756e6931464439756e6931464441756e6931464442756e6931
+464444756e6931464445756e6931464446756e6931464530756e6931464531756e69
+31464532756e6931464533756e6931464534756e6931464535756e6931464536756e
+6931464537756e6931464538756e6931464539756e6931464541756e693146454275
+6e6931464543756e6931464544756e6931464545756e6931464546756e6931464632
+756e6931464633756e6931464634756e6931464636756e6931464637756e69314646
+38756e6931464639756e6931464641756e6931464642756e6931464643756e693146
+4644756e6931464645656e71756164656d71756164656e7370616365656d73706163
+657468726565706572656d7370616365666f7572706572656d737061636573697870
+6572656d7370616365666967757265737061636570756e6374756174696f6e737061
+63657468696e73706163656861697273706163657a65726f77696474687370616365
+68797068656e74776f68797068656e6e6f627265616b686f72697a6f6e74616c6261
+72756e6932303136756e64657273636f726564626c71756f74657265766572736564
+71756f746564626c726576747269616e676c6562756c6c657468797068656e646f74
+756e6932303246756e69323033316d696e7574657365636f6e647072696d65747269
+706c657072696d657265766572736564756e6932303336756e6932303337756e6932
+3033426578636c616d64626c696e746572726f62616e67756e6932303345756e6932
+3034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c61
+6d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e6932
+3034467a65726f2e7375706572696f72692e7375706572696f72666f75722e737570
+6572696f72666976652e7375706572696f727369782e7375706572696f7273657665
+6e2e7375706572696f7265696768742e7375706572696f726e696e652e7375706572
+696f72706c75732e7375706572696f726d696e75732e7375706572696f7265717561
+6c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e72
+696768742e7375706572696f726e2e7375706572696f727a65726f2e696e66657269
+6f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e696e
+666572696f72666f75722e696e666572696f72666976652e696e666572696f727369
+782e696e666572696f72736576656e2e696e666572696f7265696768742e696e6665
+72696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e75
+732e696e666572696f72657175616c2e696e666572696f72706172656e6c6566742e
+696e666572696f72706172656e72696768742e696e666572696f72612e696e666572
+696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f7275
+6e6932303934756e6932303935756e6932303936756e6932303937756e6932303938
+756e6932303939756e6932303941756e6932303942756e6932303943756e69323041
+326672616e636c697261706573657461756e6932304138646f6e674575726f756e69
+32304146756e6932304231756e6932313030756e6932313031756e69323130326365
+6e74696772616465616669693631323438756e693231303666616872656e68656974
+756e6932313043756e6932313044756e6932313045756e6932313046496672616b74
+7572616669693631323839756e6932313135616669693631333532756e6932313139
+756e6932313141526672616b747572756e6932313144756e6932313230756e693231
+3234756e6932313236756e6932313237657374696d61746564616c657068756e6932
+313336756e6932313337756e6932313338756e69323133396f6e6566696674687477
+6f6669667468737468726565666966746873666f75726669667468736f6e65736978
+7468666976657369787468736f6e656e756d657261746f724f6e65726f6d616e5477
+6f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f6d616e
+536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e65726f
+6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d616e75
+6e6932313643756e6932313644756e6932313645756e69323136466f6e65726f6d61
+6e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e66697665726f
+6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e6e696e
+65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665726f6d
+616e756e6932313743756e6932313744756e6932313745756e6932313746756e6932
+313830756e6932313831756e6932313832756e6932313833756e6932313834617272
+6f776c6566746172726f7775706172726f7772696768746172726f77646f776e6172
+726f77626f74686172726f777570646e756e6932313936756e6932313937756e6932
+313938756e6932313939756e6932313941756e69323139426172726f777570646e62
+7365756e6932314145756e6932314243756e6932314244756e6932314330756e6932
+314331756e6932314342756e6932314343756e6932314344756e6932314345756e69
+323143466172726f7764626c6c6566746172726f7764626c75706172726f7764626c
+72696768746172726f7764626c646f776e6172726f7764626c626f7468756e693231
+44354e776172726f774e656172726f7753656172726f7753776172726f77756e6976
+657273616c756e69323230317061727469616c646966666578697374656e7469616c
+756e6932323034656d707479736574756e69323230366772616469656e74656c656d
+656e746e6f74656c656d656e74756e69323230417375636874686174756e69323230
+43756e693232304470726f64756374756e693232313073756d6d6174696f6e756e69
+32323133756e6932323134756e6932323135756e6932323136617374657269736b6d
+617468756e6932323138756e69323231397261646963616c756e6932323142756e69
+32323143696e66696e6974796f7274686f676f6e616c756e6932323233756e693232
+3234756e6932323235756e69323232366c6f676963616c616e646c6f676963616c6f
+72696e74657273656374696f6e756e696f6e696e74656772616c756e693232333673
+696d696c6172756e6932323431636f6e677275656e74617070726f78657175616c75
+6e6932323439756e69323235396e6f74657175616c6571756976616c656e6365756e
+69323236326c657373657175616c67726561746572657175616c756e693232364175
+6e6932323642756e6932323645756e6932323646756e6932323730756e6932323731
+70726f70657273756273657470726f70657273757065727365746e6f747375627365
+74756e6932323835636972636c65706c7573756e6932323936636972636c656d756c
+7469706c79756e6932323938646f746d617468756e6932324546756e693233303275
+6e6932333033756e6932333130756e6932333230756e6932333231756e6932333239
+756e6932333241756e693233443366696c6c6564626f784832323037337472696167
+7570756e6932354233756e6932354236756e69323542377472696167646e756e6932
+354244756e6932354330756e6932354331756e6932354336756e6932354337756e69
+323543396c6f7a656e6765636972636c65483138353333756e6932354430756e6932
+354431756e6932354432756e6932354433756e6932354434756e6932354435756e69
+32354436756e6932354437756e6932363035756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e693236334273756e756e6932363344756e6932363345756e693236334666656d61
+6c65756e69323634316d616c65756e6932363433756e6932363434756e6932363435
+756e6932363436756e6932363437756e6932363438756e6932363439756e69323634
+41756e6932363442756e6932363443756e6932363444756e6932363445756e693236
+3446756e6932363530756e6932363531756e6932363532756e6932363533756e6932
+363630756e6932363633756e6932363635756e6932363636756e69323636396d7573
+6963616c6e6f74656d75736963616c6e6f746564626c756e6932363643756e693236
+3935756e6932363938756e6932364132756e6932364133756e6932364134756e6932
+373637756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433734756e6932433735
+756e6932433736756e6932433737756e6941373230756e6941373231547578756e69
+45303031756e6945303032756e6945303033756e6945303034756e6945303035756e
+6945303036756e6945303037756e6945303038756e6945303039756e694530304175
+6e6945303042756e6945303043756e6945303044756e69453030457a65726f2e736c
+6173686669747465647a65726f2e6669747465646f6e652e66697474656474776f2e
+66697474656474687265652e666974746564666f75722e666974746564666976652e
+6669747465647369782e666974746564736576656e2e66697474656465696768742e
+6669747465646e696e652e6669747465644575726f2e66697474656459656e2e6669
+74746564756e694530314370657274686f7573616e647a65726f7a65726f2e6f6c64
+7374796c656f6e652e6f6c647374796c6574776f2e6f6c647374796c657468726565
+2e6f6c647374796c65666f75722e6f6c647374796c65666976652e6f6c647374796c
+657369782e6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f
+6c647374796c656e696e652e6f6c647374796c654164696572657369732e616c744f
+64696572657369732e616c745564696572657369732e616c74665f665f6a665f6a66
+5f6b665f74635f6b635f68745f74635f7461652e616c74515f75545f68745f7a682e
+616c746765726d616e64626c732e616c746765726d616e64626c732e73733033756e
+69314539432e616c74616d70657273616e642e616c74612e7363622e7363632e7363
+642e7363652e7363662e7363672e7363682e7363692e73636a2e73636b2e73636c2e
+73636d2e73636e2e73636f2e7363702e7363712e7363722e7363732e7363742e7363
+752e7363762e7363772e7363782e7363792e73637a2e736368797068656e2e736361
+67726176652e73636161637574652e73636163697263756d666c65782e7363617469
+6c64652e73636164696572657369732e73636172696e672e736361652e7363636365
+64696c6c612e73636567726176652e73636561637574652e73636563697263756d66
+6c65782e73636564696572657369732e73636967726176652e73636961637574652e
+73636963697263756d666c65782e73636964696572657369732e73636574682e7363
+6e74696c64652e73636f67726176652e73636f61637574652e73636f63697263756d
+666c65782e73636f74696c64652e73636f64696572657369732e73636f652e73636f
+736c6173682e73637567726176652e73637561637574652e73637563697263756d66
+6c65782e73637564696572657369732e73637961637574652e736374686f726e2e73
+637964696572657369732e7363696a2e73636765726d616e64626c732e7363616c74
+6765726d616e64626c732e73636463726f61742e73636162726576652e7363616f67
+6f6e656b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363
+656f676f6e656b2e7363656361726f6e2e73636762726576652e73636c6163757465
+2e73636c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e
+73636f68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e
+73637361637574652e736373636564696c6c612e7363736361726f6e2e7363746365
+64696c6c612e7363746261722e73637572696e672e73637568756e676172756d6c61
+75742e73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e
+73636c6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73
+6373636f6d6d61616363656e742e736369646f74616363656e742e7363612e736361
+6c74612e7375706572696f72622e7375706572696f72632e7375706572696f72642e
+7375706572696f72652e7375706572696f72662e7375706572696f72672e73757065
+72696f72756e6945304337756e6945304338756e69453043396b2e7375706572696f
+726d2e7375706572696f72756e69453043446f2e7375706572696f72702e73757065
+72696f72712e7375706572696f72756e6945304431742e7375706572696f72752e73
+75706572696f72762e7375706572696f72756e6945304436756e6945304437756e69
+453044387a2e7375706572696f72662e73686f7274665f662e73686f7274756e6945
+304538572e616c74562e616c744b2e616c74522e616c744a2e616c747a2e616c7475
+6e6945304634792e616c74756e6945304639756e69453046426b726569737a65726f
+2e7461626f6c647374796c656f6e652e7461626f6c647374796c6574776f2e746162
+6f6c647374796c6574687265652e7461626f6c647374796c65666f75722e7461626f
+6c647374796c65666976652e7461626f6c647374796c657369782e7461626f6c6473
+74796c65736576656e2e7461626f6c647374796c6565696768742e7461626f6c6473
+74796c656e696e652e7461626f6c647374796c65756e6945313330756e6945313338
+756e6945313438622e696e666572696f72632e696e666572696f72642e696e666572
+696f72662e696e666572696f72672e696e666572696f72682e696e666572696f7269
+2e696e666572696f726a2e696e666572696f726b2e696e666572696f726c2e696e66
+6572696f726d2e696e666572696f726e2e696e666572696f72702e696e666572696f
+72712e696e666572696f72722e696e666572696f72732e696e666572696f72742e69
+6e666572696f72752e696e666572696f72762e696e666572696f72772e696e666572
+696f72792e696e666572696f727a2e696e666572696f72756e6945313838756e6945
+313839762e616c7467726176652e63617061637574652e63617063697263756d666c
+65782e6361706361726f6e2e63617062726576652e63617068756e676172756d6c61
+75742e63617073706163655f756e69303330462e6361706272657665696e76657274
+6564636d622e63617062726576652e63797263617062726576652e63797264696572
+657369732e636170686f6f6b61626f7665636f6d622e636170756e69453432307a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170646f746c6573736a6166696931
+303036382e6974616c6166696931303036362e6974616c6166696931303036392e69
+74616c6166696931303038312e6974616c756e6946364338665f66665f69665f6c66
+5f665f69665f665f6c6c6f6e67735f74735f74756e6946464644756e693033353035
+2e312e364c696e7578204c6962657274696e65206279205068696c69707020482e20
+506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c
+6c6f77696e67204672656520536f667477617265204c6963656e7365733a0a47504c
+202847656e6572616c205075626c6963204c6963656e736529207769746820666f6e
+742d657863657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963
+656e7365292e0a43726561746564207769746820466f6e74466f7267652028687474
+703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420323030332c2032
+3030342c20323030352c20323030362c20323030372c20323030382c20323030392c
+20323031302c20323031312c323031324c696e7578204c6962657274696e65204f20
+4974616c69634c696e7578204c6962657274696e65204f0000000001000200030004
+00050006000700680009000a000b000c000d000e000f001000110012001300140015
+0016001700180019001a001b001c001d001e001f0020002100220023002400250026
+002700280029002a002b002c002d002e002f00300031003200330034003500360037
+00380039003a003b003c003d003e003f0040007c0042004300440045004600470048
+0049004a004b004c004d004e004f0050005100520053005400550056005700580059
+005a005b005c005d005e005f01870060006100620067006400a00066008300aa008b
+006a0097018800a5008000a1009c0189018a007d018b007300720085018c008f0078
+009e009b00a3007b00ae00ab00ac00b000ad00af008a00b100b500b200b300b400b9
+00b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d00c400c100c200c300c5
+009d009500cb00c800c900cd00ca00cc009000ce00d200cf00d000d100d600d300d4
+00d500a700d700db00d800d900dc00da009f009300e100de00df00e000e200a200e3
+018d018e018f0190019101920193019401950196019701980199019a019b019c019d
+019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae
+01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd009101be
+01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc008c009201cd
+01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db008e009401dc
+01dd01de01df01e001e101e201e301e401e501e601e700c000dd01e801e901ea01eb
+01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc
+01fd00c601fe01ff0200020100c700e402020203020402050206020702080209020a
+020b020c020d020e020f02100211021202130214006502150216021702180219021a
+021b021c021d021e021f0220022102220223022402250226022702280229022a022b
+022c022d022e022f0230023102320233023402350236023702380239023a023b023c
+023d023e023f0240024102420243024402450246024702480249024a024b024c024d
+024e024f0250025102520253025402550256025702580259025a025b025c025d025e
+025f0260026102620263026402650266026702680269026a026b026c026d026e026f
+0270027102720273027402750276027702780279027a027b027c027d027e027f0280
+028102820283028402850286028702880289028a028b028c028d028e028f02900291
+02920293029402950296029702980299029a029b029c029d029e029f02a002a102a2
+02a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af02b002b102b202b3
+02b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c002c102c202c302c4
+02c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d102d202d302d402d5
+02d602d702d802d902da02db02dc02dd02de02df02e002e102e202e302e402e502e6
+02e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f302f402f502f602f7
+02f802f902fa02fb02fc02fd02fe02ff030003010302030303040305030603070308
+0309030a030b030c030d030e030f0310031103120313031403150316031703180319
+031a031b031c031d031e031f0320032103220323032403250326032703280329032a
+032b032c032d032e032f0330033103320333033403350336033703380339033a007e
+0088033b033c033d033e033f0340034103420343034403450346034703480349034a
+0081008200840087007f0086034b034c034d034e034f035003510352035303540355
+0356035703580359035a035b035c035d035e035f0360036103620363036403650366
+036703680369036a036b036c036d036e036f03700371037203730374037503760377
+03780379037a037b037c037d037e037f038003810382038303840385038603870388
+0389038a038b038c038d038e038f0390039103920393039403950396039703980399
+039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa
+03ab03ac03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb
+03bc03bd03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc
+03cd03ce03cf03d003d103d203d303d403d503d603d703d803d903da03db03dc03dd
+03de03df03e003e103e203e303e403e503e603e703e803e903ea03eb03ec03ed03ee
+03ef03f003f103f203f303f403f503f603f703f803f903fa03fb03fc03fd03fe03ff
+0400040104020403040404050406040704080409040a040b040c040d040e040f0410
+0411041204130414041504160417009804180419041a041b041c041d041e041f0420
+042104220423042404250426042704280429042a042b042c042d042e042f04300431
+04320433043404350436043704380439043a043b043c043d043e043f044004410442
+0443044404450446044704480449044a044b044c044d044e044f0450045104520453
+045404550456045704580459045a045b045c045d045e045f04600461046204630464
+04650466046704680469046a046b046c046d046e046f047004710472047304740475
+0476047704780479047a047b047c047d047e047f0480048104820483048404850486
+048704880489048a048b048c048d048e048f04900491049204930494049504960497
+04980499049a049b049c049d049e049f04a004a104a204a304a404a504a604a704a8
+04a904aa04ab04ac04ad04ae04af04b004b104b204b304b404b504b604b704b804b9
+04ba04bb04bc04bd04be04bf04c004c104c204c304c404c504c604c704c804c904ca
+04cb04cc04cd04ce04cf04d004d104d204d304d404d504d604d704d804d904da04db
+04dc04dd04de04df04e004e104e204e304e404e504e604e704e804e904ea04eb04ec
+04ed04ee04ef04f004f104f204f304f404f504f604f704f804f904fa04fb04fc04fd
+04fe04ff0500050105020503050405050506050705080509050a050b050c050d050e
+050f0510051105120513051405150516051705180519051a051b051c051d051e051f
+0520052105220523052405250526052705280529052a052b052c052d052e052f0530
+053105320533053405350536053705380539053a053b053c053d053e053f05400541
+05420543054405450546054705480549054a054b054c054d054e054f055005510552
+0553055405550556055705580559055a055b055c055d055e055f0560056105620563
+056405650566056705680569056a056b056c056d056e056f05700571057205730574
+05750576057705780579057a057b057c057d057e057f058005810582058305840585
+0586058705880589058a058b058c058d058e058f0590059105920593059405950596
+059705980599059a059b059c059d059e059f05a005a105a205a305a405a505a605a7
+05a805a905aa05ab05ac05ad05ae05af05b005b105b205b305b405b505b605b705b8
+05b905ba05bb05bc05bd05be05bf05c005c105c205c305c405c505c605c705c805c9
+05ca05cb05cc05cd05ce05cf05d005d105d205d305d405d505d605d705d805d905da
+05db05dc05dd05de05df05e005e105e205e305e405e505e605e705e805e905ea05eb
+05ec05ed05ee05ef05f005f105f205f305f405f505f605f705f805f905fa05fb05fc
+05fd05fe05ff0600060106020603060406050606060706080609060a060b060c060d
+060e060f0610061106120613061406150616061706180619061a061b061c061d061e
+061f0620062106220623062406250626062706280629062a062b062c062d062e062f
+0630063106320633063406350636063706380639063a063b063c063d063e063f0640
+064106420643064406450646064706480649064a064b064c064d064e064f06500651
+06520653065406550656065706580659065a065b065c065d065e065f066006610662
+0663066406650666066706680669066a066b066c066d066e066f0670067106720673
+067406750676067706780679067a067b067c067d067e067f06800681068206830684
+06850686068706880689068a068b068c068d068e068f069006910692069306940695
+0696069706980699069a069b069c069d069e069f06a006a106a206a306a406a506a6
+06a706a806a906aa06ab06ac06ad06ae06af06b006b106b206b306b406b506b606b7
+06b806b906ba06bb06bc06bd06be06bf06c006c106c206c306c406c506c606c706c8
+06c906ca06cb06cc06cd06ce06cf06d006d106d206d306d406d506d606d706d806d9
+06da06db06dc06dd06de06df06e006e106e206e306e406e506e606e706e806e906ea
+06eb06ec06ed06ee06ef06f006f106f206f306f406f506f606f706f806f906fa06fb
+06fc06fd06fe06ff0700070107020703070407050706070707080709070a070b070c
+070d070e070f0710071107120713071407150716071707180719071a071b071c071d
+071e071f0720072107220723072407250726072707280729072a072b072c072d072e
+072f0730073107320733073407350736073707380739073a073b073c073d073e073f
+0740074107420743074407450746074707480749074a074b074c074d074e074f0750
+0751075207530754013a006f00890755075607570041000800750758006900770076
+0759007000710074075a00ee00ed0079075b075c007a075d075e075f076007610762
+0763006b006c0764076507660767076800630769076a076b076c076d076e076f0770
+077107720773077407750776077707780779077a077b077c077d077e077f07800781
+07820783078407850786078707880789078a078b078c078d078e078f079007910792
+0793079407950796079707980799079a079b079c079d079e079f07a007a107a207a3
+07a407a507a607a707a807a907aa07ab07ac07ad07ae07af07b007b107b207b307b4
+07b5009907b607b707b807b907ba07bb07bc07bd07be0144014507bf07c007c107c2
+07c307c4014001410142014307c507c607c707c807c907ca07cb07cc07cd07ce07cf
+07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd07de07df07e0
+07e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee07ef07f007f1
+07f207f307f407f507f607f707f807f907fa07fb07fc07fd07fe07ff080008010802
+0803080408050806080708080809080a080b080c080d080e080f0810081108120813
+081408150816081708180819081a081b081c00a6081d081e081f0820082108220823
+082408250826082708280829082a082b082c082d082e082f08300831083208330834
+08350836083708380839083a083b083c083d083e083f084008410842084308440845
+0846084708480849084a084b084c084d084e084f0850085108520853085408550856
+085708580859085a085b085c085d085e085f08600861086208630864086508660867
+08680869086a086b086c086d086e086f087008710872087308740875087608770878
+0879087a087b087c087d087e087f0880088108820883088408850886088708880889
+088a088b088c088d088e088f0890089108920893089408950896089708980899089a
+089b089c089d089e089f08a008a108a208a308a408a508a608a708a808a908aa08ab
+08ac08ad08ae08af08b008b108b208b308b408b508b608b708b808b908ba08bb08bc
+08bd08be08bf08c008c108c208c308c408c508c608c708c808c908ca08cb08cc08cd
+08ce08cf08d008d108d208d308d408d508d608d708d808d908da08db08dc08dd08de
+08df08e008e108e208e308e408e508e608e708e808e908ea08eb08ec08ed08ee08ef
+08f008f108f208f308f408f508f608f708f808f908fa08fb08fc08fd08fe08ff0900
+090109020903090409050906090709080909090a090b090c090d090e090f09100911
+09120913091409150916091709180919091a091b091c091d091e091f092009210922
+0923092409250926092709280929092a092b092c092d092e092f0930093109320933
+093409350936093709380939093a093b093c093d093e093f09400941094209430944
+09450946094709480949094a094b094c094d094e094f095009510952095309540955
+0956095709580959095a095b095c095d095e095f0960096109620963096409650966
+096709680969096a096b096c096d096e096f09700971097209730974097509760977
+09780979097a097b097c097d097e097f098009810982098309840985098609870988
+0989098a098b098c098d098e098f0990099109920993099409950996099709980999
+099a099b099c099d099e099f09a009a109a209a309a409a509a609a709a809a909aa
+09ab09ac09ad09ae09af09b009b109b209b309b409b509b609b709b809b909ba09bb
+09bc09bd09be09bf09c009c109c209c309c409270300000100004e0000510000a500
+010000015e0003780003cc0004b90004ea00053800058900061e0006470006990006
+a70006b70006cc0006e30006f500070500071c0007320007a400082400082e00084b
+0008710008a800090b00092500093a000954000977000a5a000b8b000bc6000be100
+0bfc000c3d000c66000c89000c9c000cac000d5f000d6e000d8c000f6a000f81000f
+a5000fd000113e00116b00119c0011c00011d90011e60011f600121000121e001238
+00125e00127800129d0012b50012c90012fd00131800133600134b00136900138600
+13a50013e200150400153200156800158700159c0015d900165b0016760016940017
+a10018870018a80018b80018c70018e00018f700191b00193b0019610019e50019fe
+001a7f001ab8001abb001b4b001cd1001dfb001e96001fbc001fdd00221e00223800
+22930022ce00233a0023530023860024350024690024cd00250500251c0025360025
+4a00264700270700271b00276500277b0027c60028320028560028780028a900296b
+00298b0029aa0029ca0029f4002a27002bf0002c55002c81002cf0002d47002d9f00
+2ee3002efc002f14002f2c002f510030b70030e300310e00313900316500319a0031
+df00320c00323c00325f0032810032a40032c50032dc00339d0034ee003513003534
+00355f00358b0035bd0035f300362800364e0036750036980036c50036f700372300
+37520037e500381b0038bb00390000392200394400396c0039950039c8003a14003a
+44003a60003a7c003a9f003ad5003afc003c39003e04003e2a003e51003e7a003eb0
+003f880040420040650040810040a50040c70040f500412400414900416c00419100
+42750043db0044c30045180045410045950045cd0046e900474a00493a004a47004a
+9a004ac5004af0004b3a004c74004cd0004d05004d4e004d81004e58004e73004ea5
+00505c00515000516f00523e00525b0052d30052f200537d00550300563400565100
+571e0057380058c100599b0059ce0059ed005a1c005a42005a68005a83005ab1005a
+d8005b6a005c91005cbe005ced005e0e005f13005f33005f68005f8e005fcd005fee
+00602b00611e00620e0063960063c60063ee00642a0064600064950064c80065a400
+66ac0066e00067080067450067760067ab0067da00681300684200687b0068b3006a
+3a006b07006b41006b7a006c9b006dcb006df8006e7c006f7b0070820070a90070ce
+0070f40071180071430071b60072660072960072c00072ee00750000764300765c00
+76810076980076c50076e70077680077960077c30077fe00782200785700786b0079
+1d0079d8007a07007aa8007b32007bbc007c24007cad007d57007e0b007eae007f55
+00800b0080c500819e0081be00825d0084610085000085e400872300890000891500
+8a2a008b31008c49008d69008de3008f2b008ffd0090ca00914c0091810091ae0092
+7f00932f00940b0094e00095db00967800971300978000983a0098e500999d009a3f
+009bac009bc5009bec009ca4009d59009e2e009fdd00a10e00a22300a23e00a2df00
+a37100a42300a4bc00a52d00a5a500a62200a6bc00a6d000a6e900a72b00a7fa00a8
+5800a9b300aabe00aaef00ab4d00ac2700ad4d00af1c00b03e00b06100b08a00b12b
+00b15b00b18900b1b200b1d500b1f900b22a00b26c00b30200b34600b40800b4de00
+b57800b5bc00b63d00b68000b6be00b7ce00b81300b97a00ba2a00baf200bc5100bd
+3100bd7c00bebe00bee700bf1800bf3800bf7500bfa200bfc600bffb00c02f00c080
+00c0c800c11500c13f00c1f200c31f00c3c300c3e200c41700c62a00c67100c6ec00
+c72900c76000c79600c7be00c7f000c81900c84c00c89a00c96300c9b900c9f100ca
+1200cb4000cb5f00cbed00cc2000cc5d00cc9600cccc00cd0800cd4b00cdad00cde6
+00ce0e00cecc00cef700cf2500d05500d08500d12e00d15100d20000d2ab00d2c800
+d2fb00d3e200d4f100d60f00d74f00d7ff00d8b700d8e400d91800d96a00da3800da
+8e00dacd00db4e00db8300dbbd00dbee00dc5100dc8e00dca800dcd500de3500dfaa
+00e06a00e09000e19800e2ed00e3d400e46b00e4fa00e64100e75100e88300e8f300
+e9ce00eacb00eba900ec1c00ec8f00ed4100ee4100ef3400effd00f0a900f1e100f1
+ff00f2d500f38800f40200f4d500f58d00f63b00f71a00f7c100f86500f94e00f9ed
+00fb3900fc6e00fe9100ff9d00ffb101003b0101c00103060103f30104fa01064001
+07910108d50109b8010bab010c67010d0a010dcb010edd010fc30110b30111580112
+190112be0113680113df01146401152c0115f20116db01175a0117f20118e501198d
+0119f4011a5d011b33011bdb011c7d011d20011e26011ee8011f9d01207e01213301
+215d01224b0122e90123820124460124a701254e0126090126dd0127b70128ac0129
+b7012af5012b68012c4c012d18012ddf012f05013035013188013253013338013453
+0135bb0136c001379e013b67013ba4013c8e013d86013f5701410b0142480143d101
+44eb01463a01479d014982014b28014bd1014bf6014c7b014d00014d7d014e14014e
+a7014f6e01503501506801509e0150d10151050151160151240151b50151d1015257
+0152710152d60153340153b301542c01546401548e0155340155ca01565a0156e801
+57aa01581301583001584d0158740159010159200159380159e9015aae015c41015d
+65015e770160b00161ef01621601624701627a0162a70162ce0162ff01633f016370
+0163ab0164ee01653601657e0165dc01663a0166d401676201687e0169a2016a3601
+6acd016b35016ba0016c06016c6d016d0e016d9e016e08016e0f016e82016eeb016f
+7e016fd30170250170850170930170aa01718101721e017310017374017403017445
+01754b0175de01763e0176f201770f0177bb0178670178e401795e0179f2017a8201
+7af1017b70017c00017c8e017d1a017dd9017e41017eb5017f35017f7e0180060180
+a101813601820401828b0182eb0183870184400184b801852801858b0185eb01867d
+0186d90187270187c501885c0188b50188ff018936018977018a0b018aa4018ae701
+8ba1018c26018d3d018dcd018de4018e67018efe018f1b01900d0190750191150191
+a901925d0192c701941401957b01968801974b0197ca0198260198ba0199650199f3
+019a4f019aab019b27019bb7019c02019d4b019e94019f88019fe301a03e01a08b01
+a0d801a16401a1c001a22e01a37601a41f01a52a01a5bb01a6f501a7e601a91501aa
+d801ad5901ae8f01af6e01b09701b28c01b2c201b2f601b33401b34701b38a01b3ce
+01b44b01b45601b47601b55b01b59201b69c01b7e001b89701b94501ba5801bb4401
+bb6f01bb8801bbc301bc5201bcba01bcfb01bd1501bd2801bdc901bdd901bde801be
+8301be9301beaa01bfb801bfdc01bfff01c02a01c0a501c0c901c0d701c1cc01c1e6
+01c20d01c2c301c2e801c30c01c34201c36901c39f01c3bb01c40d01c43b01c51201
+c5a701c63301c65201c6ed01c70f01c78701c79b01c7c801c83101c8ec01c95b01ca
+3701ca5201cae501cb5a01cbcc01cc2301cc8201ccb201cd4d01cdd101ce8701cea0
+01cec401cf1101cf3401cf6c01cf8d01d01101d0ce01d0e101d21c01d24501d43301
+d4cb01d65101d75701d83401d8eb01d99401da4001dada01db5601db7c01dc1601dc
+7a01dd5301de1a01de2d01de6301dee501df7901e00f01e0a401e0b701e10301e117
+01e15c01e1a101e1f201e25101e36401e39f01e42201e45301e46301e48801e50301
+e60e01e74101e86101e88101e89a01e8b701e9b501e9ce01e9fd01ea3801ea6c01eb
+4601eb8701ebab01ebc301ebd401ebf201ec0a01ece001ecf001ed0301ed2701ed4a
+01ed7501ed9001edb401edc301efa301efbd01f0a801f0be01f20601f34701f40c01
+f43301f45101f47401f5a701f68a01f6a501f71c01f79e01f7b501f83401f85101f8
+6c01f8a801f8be01f8de01f91401f9fe01fad501fbd201fbed01fc1c01fc3a01fc4f
+01fc8c01fcac01fdd201fdf601ff450200770201490202a602033c02038b02042102
+04ac0206690207200207470207790207f60208140208a80208c90208f702092d0209
+63020a5c020bb7020cf7020d33020d4f020d7c020ec0020ee7020f0c02103a021137
+0212970214240215120215b70217720218ad0219d5021adc021ce0021ea9021f5f02
+205502207c0221c70221f102231d0223370223550223eb0224930225950226660226
+8d0226b20227080227d3022871022a0a022b8d022c29022cb2022d56022def022ef1
+022fd20231500232a90233c002348002357002366702377d02388202398a023a7502
+3b80023c74023d88023e89023fb80240c40241b90242ef0243e90244d00245670246
+030246a802473f02487602494b024a3a024b24024c8d024dd8024ee6024fe30250c9
+0251ad0252a302539f02548f0255820255cd0256960257290258310258d402597d02
+59b1025aeb025c0a025d19025e0a025f10025ffc0260e10261c40261eb0262100262
+3e0262700262d502630a02635f0263870263a70263c50263f80264730264ab0265c7
+0265f302664d0266680266fe02673c0267a002680c0268930268d402690902693302
+69c30269ff026a91026ac8026b71026b91026bbd026be1026c16026c36026ce4026d
+0c026e69026efc026f8502705c0270ca0271090271830271b202720e02724102727b
+0272e50272fb02733a02734b02735c0273ec0273fd02741402742c02744202745b02
+748e0274c10275050275610276700276d202775a0277be02785a02786b0278df0279
+69027a25027a38027a87027ae6027bb2027c1c027cd1027d31027d9a027e17027f04
+027fad0280560281050281e602827b0282cd0283dd02845b0284760284950284eb02
+84ff0285440285ae02865002869e0286d402872702875c0287a50287d10287fd0288
+2d02885e0288980288ce02890602892f02895b028a31028a5f028a84028aad028b80
+028bb7028c86028cbd028d09028d31028d8b028e3a028e96028fcb02901102904302
+90710290bb0290e50291250291500291930291ba0292e00294cf02961b02964a0296
+d30296f30297310297c40298aa0298c20298e80299100299480299650299920299c8
+0299ff029a42029a88029ab4029b1c029b44029bbe029bd7029c1c029c40029cd202
+9cf7029d4c029d76029dba029de5029e2e029e53029e90029eb0029ee9029f50029f
+87029ffd02a04402a0ed02a12002a16f02a1a202a1d602a1fa02a23802a32f02a36e
+02a3a202a3e702a42202a47702a4bf02a4fa02a56602a5ac02a5f202a63d02a67f02
+a6c702a78202a7cb02a8e902a94902a9a102a9da02aa0502aa4402aa7202aaa402ab
+0702ab3502abab02abde02ac1c02ac4502ac6b02ac8d02acae02adda02ae0a02ae6a
+02aea802aec302aeed02af1302af4602af5f02af7d02af9602afb502afda02b00402
+b05e02b08b02b0b002b0dd02b10c02b14d02b18002b1c002b1e202b21802b23a02b2
+7002b2a202b2e202b30a02b34002b37602b39f02b40502b43d02b45802b48002b5c4
+02b74a02b81602b89a02b8cc02b90102b92d02b96b02ba3902bb7502bba002bc5b02
+bc8e02bd9202bdda02be1402be5202be9502bf2c02bf6c02c00702c04702c10702c1
+5b02c1ac02c1ef02c23602c28902c2ee02c32b02c3c902c40302c45b02c48602c548
+02c58302c63e02c67902c6df02c72b02c87802c8b302c92402c96f02c99102ca8402
+caa902caee02cb2902cb5e02cb9c02cbd402cc6b02cca102ccd802cd0e02cd5d02cd
+a102cec202cef702cf3e02cf8002cfe202d01602d05e02d09202d0d902d1df02d229
+02d34c02d39c02d3e702d41702d44702d47502d4a802d4cc02d4f902d52202d55002
+d57a02d5c002d5e502d61902d64c02d69102d6a802d6ce02d6f502d72a02d74b02d7
+8802d7a402d7d202d80002d82e02d86d02d8bb02d8f402d92902d9a802d9f802da23
+02da4e02da8b02dac802dafa02db2c02dbb802dc0302dc4902dc8f02dceb02dd5c02
+ddd302ddfa02de3a02df3b02e08302e12202e22a02e36502e38602e3a702e3da02e4
+0d02e43502e45d02e4a102e4e502e50402e52302e67202e69e02e6c802e70b02e74d
+02e89702e8de02e8ff02e97802e9e202ea3502ea5d02ead102eb4602ebf002ec3302
+eca102ed8a02ee6602eed702ef4702f01202f05c02f0a602f10902f16c02f1ef02f2
+4902f2b202f32802f3a702f42502f4eb02f51a02f56502f5b002f60e02f66c02f6c5
+02f74702f7be02f84502f94502fa7502fbb502fcd902fcff02fd2502fd6302fda102
+fdd602fe0b02fe5902fea402ff480300130300c803018b0302360302e10303e60304
+da03050603053003058a0305d30305ff03061c0306720306bd0307170307640307c2
+03080f0308340308570308910308cb03091a03097a0309bf030a00030ab4030b1803
+0b72030bb0030bfd030c4a030c8c030cf1030e26030ea1030ed2030f03030f45030f
+87030fbf030ff70310630310b60312100312410313a903140503143f0314960314e8
+0316780316aa0316dc03172a0317780317b90317fa0318760318cd0319340319ea03
+1a6c031b50031b98031c55031d16031de5031e35031e7a031eb2031ee0031f16031f
+5d031fb0031ff403203303205a0320aa0320f003210603213c0321520321830321e3
+03221e0322430322700322ab03231403238d0323f203244d03257703269e0326ec03
+275d0327bc03281c0328570328f80329680329a4032a4b032a84032b20032bde032c
+23032c71032cdb032d3f032d6a032da6032e49032ed7032f1f032f41032f9203300f
+03304603307903319003329003336a0333c60334150334670334980334bf0334ee03
+353003357e0335fe0336920337330337fc0338c003390203393e0339400339430339
+4503394803394b03394e03395103395303395603395903395c03395d033970033983
+0339ac0339be0339d10339e4033a04033a27033a3a033a4d033a9b033ab1033ad603
+3b89033bad033c51033d1a033e64033ee5033f00033f10033f28033f4a033f7e033f
+81033fd90340430340580340a10340bc0340d003416d034205034238034268034349
+0344110345d10345e60347a90347bc0347f803484d0348a10348f3034a0f034ae003
+4af9034c74034c99034d85034ed0034ef603509e0351b80352050352320352750353
+110353aa0355ce0355e703564403565a0357f70358ac035998035ae3035b08035cb0
+035dca035e11035e36035e7a035f12035faa0361940362ad03637c0365b10366cb03
+66ed03670b03672b0367490367760367a20367c70367dc0368b8036978036a42036c
+0e036dae036e93036feb0371100372100372830373060373e10374520374ad03755b
+0376430376ee0378600378ff0379ee037aa4037b15037c57037d5c037df3037f6c03
+806a03812b0382a60384160384d10385640386190386730387c903881b0388870388
+db0389600389a80389ff038a31038a69038bd9038c1b038cfd038ebd038f1103914c
+0392810392ea0392fe0393a00394a50396050397080397f7039949039aff039d1603
+9f3f03a14203a30603a52f03a5fd03a65a03a70303a7f203a87b03ab1603adf003af
+8203b01b03b1b403b45a03b83903ba5903bb5e03bd8803c0fc03c16a03c1c303c26e
+03c38503c42903c54e03c65003c6a903c6ff03c74d03c79903c7e603c82f03c8ab03
+c92c03c98903c9e403ca3f03ca9903cb1003cb8703cbf903cc9a03ccc503ccd403cc
+e303cd0e03cd5f03cd7603ce0903cee403cf7603cfd003d02603d08003d0d503d178
+03d20f03d27703d2f103d35a03d3d203d3ff03d44e03d4c903d4f903d59903d6f503
+d73e03d78903d7d603d8d803d91e03d96a03da7003dab703db9103dc6d03dcd203dc
+e603dd1f03dd6c03dd8103dd9503de1b03de6303de8e03de9c03df2703dfa703e02f
+03e04b03e06003e0c503e0dd03e18603e1a603e1c503e20103e23f03e29403e2dc03
+e32003e3e303e43e03e4bd03e62e03e67803e6e503e71403e7ab03e7d403e7fd03e8
+3003e86303e8fc03e99c03ea4a03eb0403eb4003eb7d03ec1b03ecb803eda203ee33
+03ef1303efb203efdd03f09c03f0cb03f0e603f0ff03f13503f17003f17f03f18e03
+f1cd03f1e403f20903f21c03f23d03f24e03f26e03f28103f2a003f2b303f2d603f2
+e903f33603f36903f38e03f3a803f3b903f3f003f45603f4bd03f52203f56403f5aa
+03f5cf03f5f203f61b03fdb703feb504009404029004032b0404150404dd0405bf04
+067c0407000407820408130408770408fd0409af040a6c040b16040c29040d03040d
+78040e26040eee040f8004107b04117f04128f0413460414450414b30415a90416d4
+04176b0417cd0418650418a80418cf04191204199e041a1e041ab4041ca5041d5d04
+1e8a041ff40420bb0428560428890428bd0428cc0428db042a14042b27042ca9042e
+43042f7704312104324004335404344a04356e04368504371d04379104387104393a
+043a08043a9c043acb043af90443dd0445010449ce044af2044b22044b53044b9d04
+4c30044e30044e720452660452eb0453ab04548204549b0455f504560b04561c0456
+2c0456430456590456de04575e04576e04578b0457b1045902045a4f045ab5045ad0
+045b1c045b7e045b8e045ba6045c2f045c51045c72045c94045cb2045cd7045d0504
+5d42045d730461400463b804669d0468be046a12046c0c046d0c046f830470530472
+9f04741c0474ca04756904765004773d0478850479a70479c2047a8b047aa0047ab9
+047ad2047b9f047bb8047cba047ccb047cdf047e3b047e4b047f11047f2a047f4804
+7ff70480bd0480e80481150481250481380481c20482cc0484180484270484370484
+6a04848f0484b10485350485610485910485c904872004887c04889e0488bd0488e6
+0489d0048a3b048a52048a73048a98048ab7048ade048b05048b29048b58048b8804
+8bbe048c8b048dee048e0c048e27048e4c048e73048e89048f46048f69048f88048f
+e204909e0490bd0491310492570492730492960492bd0493d50493fb0494730494f6
+0495be0495dd0496040496f704972a04975c0497940497c70498c10498fc049a0b04
+9ada049b05049b2d049b44049b68049b85049c06049c27049c4b049c94049cb1049d
+c2049dfd049e1b049e36049e64049f87049fa0049ff7049ffa049ffd04a00004a122
+04a2a904a2ac04a37c04a3aa04a3c904a3cc04a3e204a40504a41904a41c04a41f04
+a42204a43804a5c804a79504a87504a96404aa0504aaeb04abc604acd604ad9e04ae
+4004af1a04b04d04b07604b08f04b0dd04b14004b15004b16804b1f104b21304b234
+04b25604b27404b29904b2ab04b40d04b41004b42d04b44504b47104b48804b4df04
+b50104b67b04b7b404b7d204b7f204b81004b83d04b86904b88604ba0e04ba3304ba
+4804ba6a04ba7b04bc6404be0604be1a04be4f04be7804bf2004bf3104bf4304bf54
+04bf6604bf7a04bf9304bfac04bfbb04bfcb04bfdb04bff304c00904c26f04c3d604
+c40a04c43f04c46404c48704c4fd04c57204c5da04c67b04c6c804c71a04c74804c7
+7304c7b804c7de04c84e04c8df04c97904c99e04cac104cca004cebb04d0f104d47c
+04d71d04d8ce04dac304dbac04dbf34e8bbdf8ecbd018bbdf824bd03bdf8f115f73e
+fb93fb3efb9305a95e15f73ef793f73efb9305fb20f7c015f73ef7938bfc9205fb5c
+f7c015fb3ef793f7e88b05fc38fd1e15f888f950fc88060efbcb0efbe27ef512e2f7
+0165a981f70bfb0af70a13c0e3b3158b888a888b888b729e78a58ba98ba7a390a88b
+8e8c8e8b8e8ba4789e718b086e8b6f73856e08f738f90515200a1390210a1388220a
+13a0230a1390240a0efb75f83ff76e01f73be5b0e403f7b7f83f15a68f058b8bc9f7
+398e9b089207988498751e6d8b706f887589828afb338b8b08fb138a15a68f058b8b
+c9f7398e9b8c8d8b8d8b8e8b988498758b6c8b716f87758a8289fb338b8b080efb0f
+f74bbcf701bc01f80cf7e915e58b9bbc318bc4f73e6a8b52fb3efb028bc4f73e698b
+53fb3e308b7b5ae58b67fb02308b057b5be58b53fb3eac8bc4f73ef7028b52fb3eac
+8bc5f73ee58b9abb318b056b16fb038bb0f702f7028b050efb0ffffff46666ff0021
+8000fffffe199a76ff021d9998ff001e800012d0a6f7daa613b8e79515ff00143333
+8bff001c8000ffffed8000ff0035cccdfffffce66608fffff28000ffffba999aad8b
+ff000d8000ff0045800005ff00a1e666ff0008e666ff0020e666ff007dcccdff0006
+b334ff0020cccdff00133334ff0065999a25ff00303332ffffcb6666ff0015800008
+ff0029b332ff00d5e66805ff00363334fffffa8000ff0017199affffdd1998ff0006
+6666ffffbe3334088d79a68f058cbc8bbc92b871fffffc6668ffffd84cccff000966
+64ffffcee668ff0001e66808ff000accccff00374ccc698bfffff5199affffc81998
+05ffffbcb333fffff98000ffffa0cccdffffd3e668ffffef6666ffffa98000ffffed
+8000ffff9de666ff00538000ffffd2b334ff00364ccdffffe5b33208ffffd0cccdff
+ff0d999a05ffffbcb333ff0007e667ffffdecccdff0039e666fffffb6666ff003d4c
+cd08708805137888538855846608a08b8b969a8b08ff008f3333ff000c666615ff00
+2c8001ff00e4800005ff00258000fffff03334ff00326666ffffe3b333fffff06666
+ffffb03333fffff16666ffffb7199affffc26666ffffe63333ffffd76667fffffa19
+9908ff00430001ff0206333015ffffd91998ffff38b33405ffffdce667ff0012199a
+ffffd5199aff001fccceff0008b333ff002eccccff000b999aff003accccff003019
+99ff00248000ff00308001ff00074ccc080ed778a8f764abbaa8f72cb09dab8f7712
+f717bef71caab2bef71ca913f3c0f84bd815c4b5dfbc99aa825754682f531e79709a
+bf1f589915250abbf83c15260a13fbc0270a13f7c0280afb92fb0f1513fbc0290a0e
+f72482c155adf807a5f750ad12d0daf70bd4f728cd133ef846f8f615ae9e786a1f8b
+7a8b56fb143f7eb384a98ba108c8c2b8b21ef70c5515c05eae4b2f354d2d1e8b6d93
+699e5cfb333949438b2508137e2ed166ea1edf8bcab7c4ca08a2650513beae4bb086
+a98bae8bb9abaed2087e93056f63717a6a8b7a8b72a174b70871b805f71af738a4d7
+bf8b08a7068f8b908d8c91088e9b8a8d058b55896969578d8b1e8989887a058a888b
+878f8b08a806948e87841f8b71584437293bf72386a0829dd9b4f0d08bd508fb87fb
+6c159176c6fb04b64008137e4e476364448b548b5fa68bd18bf717f0c3c9aa080efc
+07f83ef76e01f732e403f72ef83e15a78f058b8bc9f7398e9b089207988498751e6d
+8b706f8875898289fb338b8b080efb93e1d403f70016a13bb24ac45008a09c0553da
+7bd784b685ac88ae8baf8bb790b993ba9ae1a6dab2d6a0b4b6d8e0da087c9d052640
+50386d5d563d69397b30866a886b8b6a8b5792579a59080efb8cf799d403f7ccf88c
+1575da64cd52c608767a05c33c9b3f926091698e698b678b5f865d835c7c35703c64
+407662603e363b089a7a05f0d6c6dea9b8c0daacdd9ce690ac8eab8bac8bbf84bf7c
+bd080efb14f8cfce01f7c0cc03f7bef8cb156366578383600887077e95809a1eb08b
+9dc6acb89d64874ab28b998b9c968e9d8c8e8b8d8b8e8bac5f9773ad9d8e9c8c9f8b
+08ad8baf9290a9088f0796869a741e698b756b5a7793a9a3b390a60893079d80947b
+1e798b7b7987768b878a888b878b7794758b6f088007629d7eac698b748b7f7b887d
+08850772a885b81e9a8b9a8a9788080e69f763bc01f7e2f79415a9f7425a8b6dfb42
+fb428b835af7418b6cfb41bc8baaf741f7418b94bc050efbeafb18a2f705e601f713
+bb03c9b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff
+0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a36c6d6e78
+6c1e0efb78f773c701f7cef773152a0a0efbea80f501caf70003f711ea152b0a0efb
+a2f9497601f826f93e15628bfbfdfd53b58b050efb0981aef8baae01f7ecf8d3152c
+0afb0afcdd152d0a0efb0989ac01f713f7b403f7d2f70e152e0a0efb098bccf892ae
+01f728f868152f0a0efb0981aef7b3abf77bae01f728d403f7dbf8d315300a0efb09
+89acf721ba01f7fff88f15310aecfbb415320a0efb09f7edf75115792c4d45518b67
+8b84a4809f829c7d9a778b798b757a87778362d669c28bf70b8bf2e7a3f712089eec
+5ce2fb008b628b6682788408bef73b05ae87a986b98ba88bac8db38f08a7cf858f05
+53855786588b678b698d6a8e0832fbb405c29fb08fae8bc98bb46076fb01080efb09
+80aef7c6ae01ff00c1e666ff0133333415330aff000fcccdff0024666615ff002b99
+99ff005accccff0050b333ff0064e666f71dff0031b3348d978a948490246d476149
+4a41435b307c3c64fb5ff263d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cc
+cc8bffffd93334fffff83334ffffe0b333fffff26666080efb09f7b2f8ab15340a0e
+fb0981aef8baae01f7e9f8d315350af71c3115360afb8efc6015370a0efb099476f7
+8aaef7c6ae01ff0180199aff0123cccc15380afffff06666ffffdc000115390a0efb
+eab2f5f730f512dbf7004df70013e0f750f82b1513d03a0a5dfb9a1513e067716a70
+1f13d0719f77a51e13e0aea6aba9a4779e711f0efbeafb18a2f705e6f762f512f711
+f7002abb13e8d2b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffd
+cccd82ff0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a3
+6c1e6d6e786c1ff708f7fe1513f02b0a0e41f738f78315f7e5f70794bdfc33fb2183
+5bf801fb2293bd050e69f724bcd7bc01f884f755153b0aaaf742153b0a0e41f82bf7
+8015fbe5fb078359f833f72193bbfc01f7228259050efb3080f5f8aaa912f726d455
+f700f71bd913e8f726f89c153c0adcfc3d1513d82b0a0ef7a0fb32acf72cae6ab4f7
+c9aaf73fa91213b8f8e8f7d01583697158776c604250526b8b518b86b795bb98c9a8
+cbc6beaeaab4949b8b08ac8ba27283650864fb86158d9498aa96a608f702f7967f90
+577e81730587a56f9c6d8b288bfb23fb066dfb2383638e37e88bab8bc3a8c4d5088d
+8a057e728074887c0813d8877b8d72a58bf75e8beaf721a4f706b3f74ffb06f722fb
+5c8bfb668bfb65fb415efb6b5dfb69f703fb3cf7718bf48bcbaecdb908829d055060
+4c743c8bfb848b72f76cabf72abef781f746f2f7218bf7098bf722275ffb6268fb3a
+465c2b8b898b848d8d95080ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f
+816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b
+8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05ff
+ffe76666ff0002199afffff46667958bff000ecccc8bff0006cccdff0002666693ff
+0004cccdff00084ccd080e8789adf7c0adf78bad12ff01d5999aff0058fffeffffb7
+199cff004c333413e8f7b6f8ce153e0a856915cd0613f03f0afb425015400a13e841
+0a0ec281b4f8e2b001ff0058cccde1ff01c93334a803f7e68115420a0ef589adf8d9
+ad01f8efff005ab334039e9d15430af742c215440a0e6889a870b2f7b0b1d677f751
+b370a812f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a13738777
+0513b38d89051373490a13b34a0a137b4b0a0e2389a8f7bcb1d677f751b370a812f8
+22aae3a713f6f7fbf7d7154c0a13ee460a13f6470a13ee4d0a0ef281aff789aff7ce
+b001ff0053999aff0057e666ff01dd8000a903f87bf926154e0a0ef70489a8f7bab5
+f793a801f8eff8cd154f0a0efbad89a8f8e3a801f769f8cd15500a0efb27fb5caef8
+709ff7b7b401aae091b1f787e803f847f8d815a69dada68ba38ba07b92768b6a8b78
+648772609f4ea95f8b082a674a63719779a4a09795a01f8ba46b998b958b989a9aa1
+8bb68bab73b8799985a1859c8b918b918c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056efb425a2a4a8b7b8b8fa17e9e7f9c7e91758b087080727c
+67bd74b91ff7028be6e4b3f78308a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080ed789a8f8e3a801f769f8cd15510a0e6189a870b2f8d7a81213a0f709d71552
+0a1360530a13a0540a1360550a0ef78789a8f8e3a801f923e2158871fffff2b334ff
+ffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386fffffd4ccd
+ffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05ff000080
+00ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe83334ff0001
+cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff00078000
+8cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff00006668ff0006
+8000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc910585818887
+898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbccccff000166
+66fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bfffff16668
+8bfffffa9998fffffeb334fffff98000fffffde666fffff8333408fb21fc7c058470
+7e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae6660889788d
+8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199afffffcb3
+33ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c8b93ff00
+018000ff0008e667ff0002999aff0009333308f712f84a8d8becfc9b058d84908791
+8b908b908e909308f7d3f8a58d8b050ef4967693a8f8e3a8121360f943f8c115560a
+13a0570a0ef681adf8ecad01ff00576666ff005ae666f84be403f848f90415580af7
+9bfbbb15590a0e4d89a8f793adf7c4ad69a412ff01e8999aff0055999a13e8f7b7f8
+d2155a0afb13fb8e155b0a13d85c0a0ef6fb65c4b1b7f94aad01ff00576666ff005a
+e666f84be403f848f90415580afffecae666fffd0f999815fffff78000fffff88000
+fffff83334fffff7ccccfffff96666fffff7199a08ac7705ff000ee6669cff000f66
+67ff000f999aff000f9999ff000e3333ff000f199a94ff000d8000ff00033333ff00
+0780008be48bb52cf7118bc78bb9a5bbc3087d9705717066816f8b378b4ddd218bff
+fffa66668bfffff9ccceffffff8000fffff93332ffffff199ac5ff00268000c1ff00
+151999ff0020999aff00083333ff00979998ff001d4ccdff00734cd0ff00804ccdff
+00221998f74390ff0019ccccff00024cccff0018b3348bff0017666608ff009c0002
+ffff96ccccff00631998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe5
+6666fffffd8000ffffe6ccce8bffffe833328bffff74e667ff0053e667ffffa74ccd
+ff007b3333fffff18000ffffc06666ffffe06666ffffc2999affffd1999affffd566
+66ffffd58000080e8581aa74a8f79cadf7bbad69a412ff01e9999aff005466661334
+f811f900155d0a91ad15136c5e0a13b45f0a0e2081aff8eaad12cba9ff002fcccdff
+00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4610a0e
+7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a13b0640a13d065
+0a0ed481b4f8dfa801ff007bcccdff004ecccd03f7c68115660a0eaff8fea801f8fd
+f8bd15670a0ef7f09676f908a801f76df8b615680a0ece89a8f8e3a801ff0146999a
+ff005de66603f71af90515690a0e8289a8f8e3a801f7e4d7156a0a0e9c8bb2f8cab3
+98771213c0f8a489156b0a13a06c0a13c06d0a0efb77fb5cb7f9b6b701f83cf94515
+fb6b8bfb30fe0df76b8b92b7fb268bf721f9b6f7278b050efb84f94e7701f71af745
+03f746f94e155f8bf719fd7eb78b050efb77fb5cb7f9b6b70188fb5c15f76a8bf731
+fa0dfb6b8b8460f7268bfb21fdb6fb278b050e60f7fff8e515c7fb8ab78b43f7c361
+8bfb48fbc3b78b050e40fb2eb701f863fb0215fc728b845ff8718b050efb3df7c1f9
+4e15888d858c868b678b75798085088781eafb0105987c9186928b928b93918c908c
+8e8b8e8b8e8b8f8a908991080e4081c2f7ffaa01d9dbf739d903f82ef845156e0a59
+fb6a156f0a0e3881aef803baf760a8a57701f82edd03f7b1f8db15700af748681571
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0e4381b9f803aff760a8a577
+01dcdbf73bd903f7edf75615730a3d04740a0efb3481c7f7faaa01dedef751d003f7
+f7f80615750afb50fb3f15760a0efb8bfb82acf8e7b2f780ac01ff01b6999aff0054
+cccd03f750f81a15770a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5f723d556
+cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a13db0041
+167c0a0e6181c7f7dec6f760a8a57701ff00afe666d315ff0026199af73a05caddcc
+c6af8ba08b99858b6c8b7d897883690865fb3405836b82628b788b78967da98bbb8b
+b8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490
+a191a508b1f7330593ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa
+8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cc
+cdfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ff
+fff58000ff001fcccd8bb18b8ab7ff0008e666b1080efbb181c7f7eda79877f5eb12
+f75deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0e
+fbc2fb58aff8bfa79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff
+0140333415810a13d8820a139470f7e4157d0a0e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830a0efbbb81c7f8e5a8a57701e8da03f7b2f8db
+15840a0ef77281c7f7ddc75fa712f753ff00558000ff009a8000d8ff00624cccff00
+50999cfffff11998d813daf74af7d515850a13dc860a13da870a13ba880a0e6081c7
+f7ddc75fa712f73bff00578000ff00528000e07ada13d4f845f71015b1f7330593ae
+90a28b9d8bc7709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d
+199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8b333
+ff00076666fffff2cccd8b0813b4890a13d48a0a13d88b0a0efb0681b0f80fac01d9
+def771de03f735f73e158c0a3883158d0a0e43fb7fa9f757aef804b901f83fdd03f7
+9ef828158e0af735fb17158f0a0e45fb7fa9f757b5f807af01dcdff784f103f829f7
+de158b7b783d7853744a3338668b08ffffd8b333fffff14ccdd1c3f70cd8f711f1af
+a46b621ffb02fc7f1584ffffe43333fffff24cccfffff3e667ffffdfb334fffffae6
+6608788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058b
+d090afb2cf898b1e8d8d8b9f058b9089ff0002666687ff0000999a08788e05fffff0
+ccccff00026666ffffe66668ff0004999aff0007ccccad08f71af8da05ff0001199a
+ff0004e666ff0000e666ff0005199a8b908b93838d888b848bfffff3199afffffcb3
+34fffff4e666fffff04ccc086e620574ab6ba0628b0821fb2dfb0cfb4040a239e91f
+bc8bbca3c9e1088e8a050efb609676f812ce5fa71213a0f771f7b115ff00084ccdff
+0023333405ff0008b334ff0026ccccff00088000ff0022cccc8bff0011199a8bff00
+0f6666fffff7b333ff0009b334fffff2cccd8b6b8b62845c85fffff94ccd83ff0001
+b33380918208b3880513c0978a91828b818bfffff6e6668bfffff2199a846f08ffff
+c8cccdfb8d05fffffb3334ffffea8000fffff8199affffee80008bfffff033338bff
+ffef4ccdff0008e666fffff58000a88bae8b8cb6ff0009e666b208ff001d199af709
+05bbe2c3e8a28b958b908691849283987e998b08a69da8a6a07ca5661f598b514d5f
+2e080efb6481acf813ac12c6df77cbdfd658dd13d8f7428115900a13d4910a13e892
+0a0efb9281c7f7e8b201f74ef84115930a0e6381c7f7ddc701f88ef7f415940a0e32
+9476f805dd01f853ff0048666803ff0130999ad715950a0ef7139476f805dd01f92b
+ff0048666803f79d7f15960a0e3581cb4bbcff01438000ff004c80004cca121380f7
+6bf7c915970a1350980a13a0990a0e51fb7ec8ff02178000ff004c800001f871ff00
+48666803ff01608000169a0a0efb1181d871c8f790c55ad7121320f84af850159b0a
+13109c0a13609d0a13809e0a13609f0a0efbb4f7abf8cb1593b495a9999d9ba19e98
+a091088e9905568a627f747474747b6482550869fb510582597754507b088a8605b1
+81976f8b658b7c897c887a086cfb4305877088758b778b728f78937d9874b17fc18a
+088d9905828e798f7dad889589998b9b8b9a8d9d8e9f08a8f7380590a78ea28b9e8b
+b37ea4679cc0a0a2a69be6080efbf8fb6876fa147601dffb7d15f730fa095f8bfb30
+fe09050efbb4dd42158362806d7e797b75787e768508887d05bf8cb497a3a2a1a29b
+b295c108acf7520594bca0c2c69b08900766957fa78bb18b998c9b8e9d08aaf74205
+90a68da18b9f8ba4879e84997ea26497568c08887d0595889d8798698f818d7e8b7b
+8b7c89798776086ffb3805867088748b778b639772b07b5676736f7b30080efb04f7
+69c691c601caf76515978805aab7c3a7ae8bbf8bac4ac08ba38bce98bdf6087b9105
+6c59577a6f8b5e8b5ecc5d8b4f8b494c734a080efbcb0efbe2fb6676f8cff612a9f7
+0b7af70027a813d0f783f81e158c8d8b8e8b8e8ba5799e708b6e8b6f73866e8a878b
+888b888b729e78a58b08a88ba7a390a908fb38fd0515a28bae9e95c10813e090ac8c
+a28ba408b8078b9d8ba18da60813c891d996e58ca0088d07908a90811e818b868388
+7f877e7f4f6bfb00723574617f4a0813e08a848a858b848b67a17aa28b080efb0f94
+76d8ff0037e66601e8ddf751d003f7d5f8dc15fffff166664005ffffd83334fffffa
+ccccffffc9199972ffffdb6667ffffd8b334ffffcf4cccffffcbccccffffde999aff
+ffb280008bffffa633348bffffdee666ff000680005eff00178000ffffdf199aff00
+14999affffe3199aff0022ccccffffece666ff0028999a8b08ff000033338bfffff1
+cccd42ad8b9ad805c5ff000d6666ff0033e666ff002d199aff0028199ac388958192
+828bffffdcb334ffffd8333367ffffe1999affffd23332fffffa999908ff00456666
+ff0164ccce05ff000dcccefffffd1998ff000fe666828bffffe733348b8589838886
+fffffd6666fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff
+0024800088ff00344cccffffa68000ff0006800008ff000e8000ff004ab33405ffff
+84199afffe3233341580ff0002e66680ff00061999fffff6e666ff000bcccdfffff1
+199aff00133333fffff5e666ff001366678bff003c66668bff0086b334ff00393333
+ff0054e666ff0043e6679a080efb0f7fbd93b2f763b3f75db5019ecf03f738e015ff
+fffd33338bfffffc999affffffcccdfffffc6666ffffff9999ff0001e667ff000133
+348dff00011999ff0001e666ff00014ccdb5a7b0c1a1f709088c90f7178b92b3ffff
+7de6668bff000b199ac3059bddbfcab78ba08b9680968093819383988ba28b9f998f
+a392ac5796758b598b5d796369084d586b577b3b08fffffe800083ffffbe80008b83
+63ff0041e6668bfffffb199a71057e4b763e545bfffff86666fffff9199afffffa4c
+cdfffffb6666fffff9999afffffb999affffe37ffffffff28000ffffe76667ffffed
+8000fffffbcccdffffe9e666887f967f988b9c8ba49690a58d95979bac8b08a58ba0
+7fa17da47ba67bb08bd18bbeaea6bc087b98056c6a5c7d6f8b718b7e937d96789974
+99508b080efb0ff710b5f79eb501e5c8f782c803f784f71015b48bb197b0a408b057
+b6b15fb705a9ab9daf92b38d968c968b968ba784a47da108cab76bb45354056fa369
+98638b648b657f66740867bd5f64b762056c6c7766836189808a808b828b6e93719a
+73084e60ad63bfc105a773ad7fb38b0835f7441598d2c7c8d08bc28bb15e8b4e8b82
+8a828a827e44524d468b4d8b68b98bc68b958c948d95080efb0f8aa8eeb2cab3f7ab
+a601f849f73a15ffff7066668bff000c4ccecaff008f4ccc8b93b3ffff7ce6668bff
+0094199af77c059da8a19da88b089206948b8c8f8c8f088e9c898d0578895f8a828b
+7e8b528d838c088a898779058a888c87908b089a069d8b918789828a848480837d08
+fb1bfb694ff76905889888958c938d9392909d8b089806908b8e908c8f088e9c8a8d
+057c89498a858b7e8b488c808d0889898879058a85918a8e8a089206a68b947a936e
+08ff0042999afb7cffff8266668b8363ff0083999a8bfffff3b3334cffff7cb3338b
+8364ff0083b3338bfffff54ccd5405866f7a7b628b087106868b87888a860888788c
+89058be98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08ff00
+0ab334c2ff008f4ccc8b050efbf8b8f76003f732f735155a8b4bfbfebc8b05f72ff9
+ff155a8b4bfbfebc8b050e33fb40aaf994aa01ff0051b333ff004d4ccdff001c8000
+ff004acccdff00336668ff004acccdff001c8000ff004d4ccd03ff00d7999af83415
+ffff9db333ffffbc8000fffff16666ffffaf999a8bffffd7e6668b2ddeffffd94ccd
+ff003c4ccdffffdbb333ff002fb334ffffe333339fffffe1e6678b678bffffc44ccc
+ffffcf8000ffffd2999affffc9cccc8b608b84a889b18a9e86a1718b08ffffdbcccd
+fffff6e666ffffe14ccdffffeb9999ffffd9999aff0022999affffce8000ff0056b3
+33ff0067999aff0051e666ff0045b333f01f8bff00194ccdfffff8e666a2ffffedcc
+ceff0017cccdff00618000ff0042cccdff000d9998ff004fcccc8bff0028999a8be9
+38ff0026b334ffffc3b334ff00244ccc5ba8ffffeb4cccff00284ccc8bff00244ccc
+8bff003b6668ff002eb334aec18bb68b946e8d65088c789375a58b08ff00243334ff
+00061998ff001eb334ff00146664ff00266668ffffd76668ff00318000ffffa94ccc
+fb0affffc28000ffffb3ccccffffab80001f8bffffe56668ff0007cccd70ff00144c
+cdffffe44ccc08ff00803332fffebc666615fffff03334ff000f4ccdffffeb8000ff
+000fe667ffffe58000ff00116666ffffc8b333ff0024cccdffffc5b333ff00236666
+8bff004633338bff003ab334ff001f8000ff0019ccccff00234ccdff001a199aff00
+0f80007bff00140001ffffef999aff00194cccffffef6666ff00374cccffffdb3334
+ff003a4cceffffdc99988bffffb9ccce8bffffc86666ffffe3199affffe2b333ffff
+dc1998ffffe6b333080efb4ef8a3e601f72fe7d0e703f765f8fe15a00af7358c15a1
+0a0ed3a2abeda6f793a0f0aa01adaaf2c3f7ecaa03f849f76d15769905807b6e6858
+8b08476ac5cef4c6a4b01fd48b916c935f08a68f7fd905698b8c99458b082d523f42
+3bc541eb1fc28bb3ac9faa08fb0cfb5615a20af8aa04a30a0efbb1f7faabf772a412
+f70ebd7ebcc6c278bb13e0f7b8f88a15a40a91fb2415a50a13c8a60a13d4a70a13c8
+8e9ba196ab8b0813e4a80a13c8a90a0e2af741f76b15beb4b9bbd0da0874a3053c3f
+5a60445a8b8b7b80838608887b05918696808b8bbe5aa860ba3f08ada30568da70bb
+6ab408f73716beb4b9bbd0da0875a3053c3f5a60445a8b8b7b80838608887b059186
+96808b8bbe5aa860ba3f08aca30568da70bb6ab4080e8af7f9b701f88ff71915c08b
+baf7a0fc948b835ff85f8b050efb67f780c101d8f7a403f7d0f78015988b9da48d96
+089107928890831efb7906808b7a76887b8b8a8a898b8b08839085921e0ed3a2abf7
+049cf2a0f70e9cf702aa01adaaf740bedabdf72baa03f835f80815a978b83f1e428b
+768976880880078b888e89928a089b8c058e8c86851ffb730784898a851e7f068488
+8a871f8b7fc28d0599b5898b1f960790888c831e7f06848b8e901fea07908b9d8a8f
+8808bb3c059771a07fa88b908b938c958e0898077c8b7f947ea1085bdd058bc4a3bf
+1f59164d5b896c1ef70b07908c978d968b08ad9c73691f59fbf115a20af8aa04a30a
+0efb38f8a5b701f72ef7b003f82df8a515978b9a9d8d97088e07908891821efb8806
+7f8b7e7a897f8a898b8a8b8a08858e86921e0efbbaf881a7f724a601f71dacf71cac
+03f71ff8e5158a858a858b858b5cad68bd8bc28bbfb895c28c918b908b918bba69ae
+5a8b548b565f825408f73a8a1584686c67628b668b78a68ba98b908c8f8c9091aea9
+b1b68bb28b9b6c8b6e8b878a868b87080e699dbcf775bc01f86dce15fc1f8b825af8
+1f8b05fb07f7d715a9f7425a8b6cfb42fb418b825af7428b6cfb41bd8ba9f741f741
+8b93bc050efb92f800abce77f771a301f7d6c603f750f8df15aa0a0efb92f7faa4f7
+24a3f705a301f738bee7c803f7caf90415ab0a0efb70f8b2f73501f74ff74603f7bf
+f95315ac0a0e3ffb6976f774bdf823770192ecf781d903f71bf7f91559fb73057e51
+8858846afffff04cccffffbe199affffd8b334ffffb833338bffffdab333086aa579
+98ff0017999aff00236666ff0011199aff0055e6661e8b9e8a9f8ba08ba48ca491a4
+8c90928f918b937e9b819d8bd98bbdc9d2f3088e89806405826b83628b788b78927d
+a98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a191a508
+c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b
+8d5f8165086efb020541fb12543a5c8bffffc580008bff00038000c297bf08baf761
+058f9d94a98b978b9c81956b8b658b8c5f8265080eb4fb7ea7f839f8436da41213a0
+f806fb63157b869a9d1f8b958c968d9508f70ff94c0590aa91abac8b978a958a8b72
+8b838a80897d08fb10fd5105836184776e8b08f2ca15f70ff9500593b9929bae8b08
+a9068f8b8d8e8c8f0813c08fa0fb03890513a08b6888681e13c0708b4f90408bfb19
+8b363775fb0f88788a798b7a8bfb1af567d48bab8bab909a92084afc060582578381
+6a8a086e06878b89898a86088776f7dc8b8fa0058c8f8a8e878b086d06758c818e8b
+a28b938c978e9a080efbcbf75bf70001f710f70003f746f75b15ad0a0e77fb49a4d7
+ab01f7cac203f7a73b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa
+8b08cec5aebeab709a6b1f828b828a838908b0c5698b50349085059c8f948d9f8b08
+0efb92f800a5f7be7701f71ff75003f78cf90115ae0a0efb68f7c3a7f766a401f70f
+f7a503f70ff841157c43bc55d58be98bc4cb99cf98ce73cb298b358b4d577b3608f7
+2df70415bd8ba4617c3b7d435c7b6f8b4f8b7cc695bc95c1adbbbd8b080e2af81af7
+6b1558625d5b463c08a27305dad7bcb6d2bc8b8b9b969390088e9b05859080968b8b
+58bc6eb65cd708697305ae3ca65bac6208fb371658625d5b463c08a17305dad7bcb6
+d2bc8b8b9b969390088e9b05859080968b8b58bc6eb65cd7086a7305ae3ca65bac62
+080eee3aa8d1adf79ba501f907f8b115af0afc3bb215ae0af7d3fc1015b00a5ffb5a
+15b10a0eee3cabf7a0a3d1a501f8ecc603f8f3f8b115af0afc25b215ae0af76ffc40
+15aa0a0eee3ca8d1adf791a4f724a3f705a301f736bee7c803f907f8b115af0afb16
+fbe715b00a5ffb5a15b10afb53f8bd15ab0a0efb30fb73a9f8adf512a0d7f724f701
+46db13f0f7f1f821158b8e8c8e8b8f8ba3789e718b6e8b6f73856e8b888a888b888b
+729e78a58b08a88ba8a390a8084bfca915866d5e70528b598b6cb88bc18b948c938c
+9493baa6abb9b0d7c696c692b60893b9058d92878e848b838b86888a8408835f0587
+73817379727f7a747b717a5667485e7d3c8a8089818b818b42bf5ce58bc08bb799ad
+a408ada3a4a792b10813e88b8f8c8f8b8e8ba577917d8b788b747f8774897e8c868e
+858e868d85887c080ef589a8f76ab5f80b7701f8eaf96415b20afbb7fc49153d0afb
+cdfb6015b30a0ef589a8f76ab5f80b7701f820f95115b40a32fc36153d0afbcdfb60
+15b30a0ef589a8f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b3
+0a0ef589a8f76ab5f80b77cbb78fb901ff0221b334f97e15b60affff114cccfc6315
+3d0afbcdfb6015b30a0ef589a8f76ab5f80b779feb12f7cdebf721eb13dcf7cdf956
+157d0af78116b70afb87fc3b153d0afbcdfb6015b80a13ecb90a0ef589a8f76ab5f8
+7ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff001899
+98ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334fffffb
+8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdfffffd
+6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e8d8d
+9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199afffff480
+00958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08dff725
+059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6
+678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd666608
+6f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc1
+8cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c0565
+8f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffffff33
+32ff00036668ff00234cceff000c1998ff001d9998ff001e999cff0007199cff0022
+ccccff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d08ffffab
+199afc46153d0a0ef7a089a870b2f777b2a3adf786b370a712f949aaf2a81333f7d3
+f7c515bb0a137b78fbc515bc0a1337fb3c8c05133b898a87770513b7bd0a13738778
+0513b38c890513738bc18dac1e13b3b1cc898b1f13738c8d8fa00513b3be0a137387
+790513b3bf0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334
+ff00d14ccca803ff014c80002b15c00a0e6889a870b2f7b0b1d677f751b370a8d376
+12f822aae3a7133380f871f961158b90879184910825df345ef7214c059b84998695
+8b089a8f98911fd74415c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a870b2f7b0b1
+d677f751b370a8d17612f822aae3a7133380f7a7f94c15c30af7aa5915c10a133b80
+c20a133780460a133b80470a13b780480a13738087770513b3808d8905137380490a
+13b3804a0a137b804b0a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7
+133380f850f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a8
+70b2f7b0b1d677f751b370a8bde512f7a5e8abaaade765a7133380f7a6f97a158b88
+8a888b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b08728b727786
+7208f7528c151333c0c40ae42a15c10a133bc0c20a1337c0460a133bc0470a13b7c0
+480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc06a435a50428b08
+fb160679fffff3e666ff00046666ff001233341f8bff00031999ff00006667ff0003
+6667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666fffff8cc
+ccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb33488088972058a
+888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b05878b87878a
+8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06133ba0d38b95
+63934608a790058fb48feb8b93080efbad89a8f8e3a8d17601f7dff95f15b20afb0a
+fb2615500a0efbad89a8f8e3a8d17601f765f94c15b40a8ffb1315500a0efbad89a8
+f8e3a8d17601f7d3f9bf15b50a21fb8615500a0efbad89a8f8e3a8bde501f726e8ec
+e703f727f97a15c50af7528c15c40afb10fb4215500a0ef589adf793b2f7b3ad01f8
+efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbba
+f78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff9180
+00ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e
+88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308b
+fffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd0199afb8aff
+ffa5e6668b8364ff005a80008bffffd68000fb6905856b78806989086e8905878b87
+878a8608f742c215ff0029e666f76aff0067199a8b93b2ffff9880008bff00308000
+f78c0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bffffe2199a
+fffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b8bffffed
+8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff0000e666
+ff0004cccd080ef4967693a8f8e3a8bdb78fb9121338ff0216b334f97915b60aff00
+984cccfb4c15c60a1378c70a13b8570a0ef681adf8ecadc67601ff00576666ff005a
+e666f84be403f88cf95f15b20a473015580af79bfbbb15590a0ef681adf8ecadc676
+01ff00576666ff005ae666f84be403f811f94c15b40ac24315580af79bfbbb15590a
+0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15b50a4afb4f
+15580af79bfbbb15590a0ef681adf8ecadb2b78fb901ff00576666ff005ae666f84b
+e403ff0213b334f97915b60affffa04cccfb0915580af79bfbbb15590a0ef681adf8
+ecad8beb12ff00576666ff005ae666ff001eb334ebff01384ccce4ffffa7b334eb13
+b8f765f956157d0a13baf82d167d0a13dcfb4a3915c80af79bfbbb15590a0e69d4f7
+cf01f7e7f77a15f724f70f6faefb25fb0f26f70f6268f0fb0ffb24fb0ea868f724f7
+0eeffb0eb4ae050ef681adf8ecad01ff00576666ff005ae666f84be403f96bf93215
+c90afbd07615ca0aff00ab3334ffff7d333415cb0a0ed481b4f8dfa8d17601ff007b
+cccdff004ecccd03f8dff95f15b20afbadfd6915660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f815f94c15b40a3cfd5615660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f8a1f9bf15b50afb6ffdc915660a0ed481b4f8dfa898e901f7
+eee9bde903f7c58115cc0ab4f96115cd0af72416cd0a0e8289a8f8e3a8d17601f82a
+f94c15b40a45fd00156a0a0e4f89a8f711aaf7c7aaeca701f79df87315a091bb909d
+8bc48bcd7073fb0c72fb153a6c458b678b748d838e0889f8171529fc8b05856f7c7f
+638808718905878b87888a860887788d89058be58dadb1de898b1e8d8d8f9e058c90
+878e888b08718d05678e7e9491aa089ce2059886a489ac8bf73f8bd7f7089ad699d2
+7ef6fb468b798b698b69890895c30591a79a95b28e08a68d058f8b8f8e8c90088e9e
+8a8c058b308a6a65388c8b1e898a8778058a868e888f8b08a48905b0889983856d08
+0e79fb82acf757acf803b2f781ab12f794baf728e757db13faf795f80a159acf05a3
+f700a9f708f38bb58b9e748b668b27fb033b717a08887e0513fcc556b5488b41083a
+54295b77728ba11e8b9ca1908bae08977f937b78757f55689d6ccdf70dddf717ea1e
+8be644c452b8088d0713fad5bbddcc8bdd8bb769bb308b228b30505ffb3683707d76
+6c8b0873857383fffffae6668efffffe199a901fb406958d8b801fffffed33332fff
+fff2cccd3c7f48fffff0b333ffffaab333ffffe7cccdffff63999affffe3b333ffff
+c3b333fffff43333ffffe6b333ffffebb334ffffed4ccdffffede6668b7e8bfffffa
+199aff0009cccdfffff81999ff000cb333fffff7e66798fffff1ccccff000b6666ff
+ffebe6678b08ffffe79999fffff566677afffff13334ffffece666ff000f33336ed0
+1fb18bae9ba8b308d3f2ff001ccccdff00d86666ff00343333ff00ec999a080e4081
+c7f7faaa01d9dbf739d903f809f93315ce0afffff8999afb04156e0a59fb6a156f0a
+0e4081c7f7faaa01d9dbf739d903f804f92e15cf0ab5fb7d156e0a59fb6a156f0a0e
+4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff001c3334fb7015
+6e0a59fb6a156f0a0e4081c7f7faaaddb78fb901d9dbf739d903ff018bb334f8c915
+d10aff000e4cccfb18156e0a59fb6a156f0a0e4081c7f7faaae3e712d9dbd2e78dd9
+7fe713f8f779f8d115d20a13faf73416d20aa0fb2015d30a13fcd40a59fb6a156f0a
+0e4081c7f7faaad2a6f704a601d9dbf739d903ff01613334f91d15d50affff9db332
+5315d60aff009b199afb34156e0a59fb6a156f0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0efb40fb58a8f8d3aa01deddff00498000ff003f3334ff00344cccd003
+ff00d380002f15dc0a0efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6
+999afb4315750afb50fb3f15760a0efb3481c7f7faaa01dedef751d003f809f92e15
+cf0a79fbbc15750afb50fb3f15760a0efb3481c7f7faaaf76a7701dedef751d003ff
+015dccccf92115de0aff00053334fbaf15750afb50fb3f15760a0efb3481c7f7faaa
+e3e712dedea7e7cfe730d013f8f756f8d115d20a13fcf73416d20a13fa8cfb5f15df
+0afb50fb3f15760a0efbb181c7f7eda7987712f6f7481390f769f93315e00afffff3
+e667ffff1f3334157e0a13b07f0a13d0800a0efbb181c7f7eda7987712f6ff0106cc
+cc1390f7c5f93c15e10affffc44ccdfffe983334157e0a13b07f0a13d0800a0efbb1
+81c7f7eda79877f7817712ff0065999af7921398ff0118ccccf92115ffffce000106
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff002b7fffa6ff00
+25199aa4ff002cb333b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba08ffffdc8001fffeb33334157e0a
+13b87f0a13d8800a0efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115
+d20af73416e20affffe24ccdffff033334157e0a13bc7f0a13dc800a0e387fb2f810
+ae01d6dbf7a1de03ddf76415877788778b788b36b73ff08bf7058bf70edbb2f73d94
+b08faf8bac8bee69dd5acc087d9cf704cd7dabfb0f44056fa76ca26c9e087776059e
+7a9d789c7508977afb0d45996bf712d405a65d9e5895567595718f718b398bfb1e4e
+63fb4108f738fb49155467bfd91f8ba08ea291a39cd7bdf5f18bb58bab789b6e8b86
+8c868b858b648662826366fb363b695c8b080e6081c7f7ddc75fa7f2b78fb912f73b
+ff00578000ff00528000e07ada139cff01b4b334f8ce15e30afffffc4cccfc5215b1
+f7330513dde40a13bd890a13dd8a0a13de8b0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af7aaf89115ce0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af79cf88c15e50a0efb0681b0f80facf76a7701d9def7
+71de03f735f73e158c0a3883158d0aff011be666f87f15e60a0efb0681b0f80face2
+b78fb901d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10a0efb
+0681b0f80face3e712d9dea8e7cfe74fde13f8f752f8d115d20a13fcf73416d20afb
+51fc2715e70a13fae80a3883158d0a0e69adede2bce6ee12f77af06ef013f0f77ad3
+15759b7ba2a8aca5ada17b9b741e6a6e6d6d1f13e8d3f7d915759a7ba3a8aca6aca1
+7b9c741e6a6e6d6c1ff771fb1515fc1f8b7f5af8208b050efb0681b0f80fac01d9de
+f771de03f86af87115e90affff85ccccffff69800015ea0aff00b91999ff01253334
+15eb0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a34f8b715ce0a0e6381
+c7f7ddc701f70cdaf736d903f88ef7f415940a72f8b215ec0a0e6381c7f7ddc7f76a
+7701f70cdaf736d903f88ef7f415940affffd7e666f8a515ed0a0e6381c7f7ddc7e3
+e712f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a
+13fcef0a13faf00a13fcf10a0e51fb7ec8ff02178000ff004c800001f871ff004866
+6803ff01608000169a0af70df97515ec0a0e4efb83a8f75caef803baf760a8a57701
+f84edd03c0fb3515fffff9999affffe4199afffff1b3327effffdfb334fffffae666
+08788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058bcf
+91afb2cf898b1e8d8d8b9f058b90fffffde666ff00026666fffffc199aff0000999a
+08788e05fffff0cccdff00026666ffffe61999ff0004b334ff0008199aff0021e666
+08b7f74c059086a86fbd8b08f735f6f74ff704e456c83a1f5c8b6380617308b3f747
+05ff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62
+8808887305888c898f1eaa8905989385751f8b80fffffe199affffeeccccfffffae6
+66ffffea3334085afb6305616a62657464089e7e059fa7a5a5aaa408f7ac64153d5c
+fb3efb1d1e6a8b71997aa708d0f7be05a297b49ab58b08cf9c455a1f0e51fb7ec8ff
+02178000ff004c8000e3e712f781e7cfe77fff0048666813f0f781f8d115d20a13f8
+f73416d20affffd38000fcd115ff0013999aff00206666f70eff00ba8000ff001c33
+32ff0042199a0813f4ff000ee668ff0022ccccff000c3334ff0024999a8bff002333
+3408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34cccff
+ffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff000f
+3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffd73334
+ffffb51999ffffdd6666ffffc9b3338b8bffffcc999affffac999affffe64cccffff
+da666608fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea072
+8bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999a
+fffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff780
+0008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff00
+1e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d8b
+818b7898859084917793838b087672776c6ab7829c1fc08bff004f8000ff0040cccd
+ff00408000ff00633333080ef589a8f76ab5f80b77f70cb701f7c7f7af153d0afbcd
+fb6015b30aff01a48000f93b15f20a0e4081c7f7faaaefb701d9dbf739d903f82ef8
+45156e0a59fb6a156f0aff00658000f7d415f30a0ef589a8f76ab5f80b77c0bf01f8
+09a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40a0e4081c7f7faaa
+c8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50a0ef71afb6bb2f743a8f76cb201f86cca03f7c9f7af
+15f60af75bfbb0158c8b8e8d8e9e058f878f871e8006638b7b9e83b208fb01f8b205
+86a584937b8b828b81827c7208fbdefcb70577697678628b087f06868b88888a8608
+87788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e06707c92991f8b928f
+948f9208e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e
+6f06868b88888a860888788c89058bed8daf1ea006456a584e8b558b5fab73bb8bae
+8bc29faaba087e92057477747c6d8b086b7a9fa6c0ced6df1f0e40fb62b2f72fc2f8
+04aa01d9dbf703c803f7e1e3158577897b8b788b7c90779e846267645d8b5c8b5fae
+73bb8bb48bb3a2b0b8087d92057175797d6d8b6a8b78a18ba18bbde3d69c9aa29f99
+9da3ab0878960578747c7a7f8308838605898a888a898b898b808d8b978b9492ac90
+9e08cff7cd05728b728b7790708e7b8e638b0820fb25fb34fb3153983adf1fc08bc6
+cec7e4088d890596d8155a313e356b8b086981b5c3f5def738e71fa08ba4849e7f8b
+8b7efb01724b080ec281b4f8e2b0c77601ff0058cccde1ff01c93334a803f7e68115
+420ac8f95715b40a0efb4081c6f7fbaa01deddf751d003f7658115720af743f93d15
+ec0a0ec281b4f8e2b0c17601ff0058cccde1ff01c93334a803f7e68115420af750f9
+c415b50a0efb4081c6f7fbaaf7637701deddf751d003f7658115720aff008ce666f9
+2415e60a0ec281b4f8e2b0b6eb01ff0058cccde1ff01086668ebff0060cccca803f7
+e68115420aff00653334f98b15f7000a0efb4081c6f7fbaadfeb12deddff00663334
+ebfffff6ccccd013f4f7658115f7010a13f8ff003a3334f8d915f7020a0ec281b4f8
+e2b0c77601ff0058cccde1ff01c93334a803f7e68115420af708f95715f7030a0efb
+4081c6f7fbaaf7627701deddf751d003f7658115720aff00446666f89415f7040a0e
+f589adf8d9add27601f8efff005ab334039e9d15430af742c215440af76ff90415f7
+030a0e6a81b9f803afdb9ce5d354a812dcdbf73bd913e6f7edf75615730a3d048471
+05857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334
+ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08f5f863059acc95
+b38b8b0813f692888e821e13eef7050a13f6ff0125b334f8d8156d8bffffee4ccc79
+fffffcb3347bfffffcb3347bff0000999875b48b938bff00044ccc83fffffd66687e
+fffffb4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff00
+2cb334c9ff00074cccaf08ff00074cccaffffff1999cb0658b080ef589adf793b3f7
+b2ad01f8efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8b
+f753cbbaf78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334
+ffff918000ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878
+058a868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffff
+ebb3308bfffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd04c
+cdfb89ffffb0b3338b8363ff004f80008bffffd68000fb6905856b78806989086e89
+05878b87878a8608f742c215ff0029e666f76aff009d199a8b93b3ffff62b3338bff
+00304ccdf78b0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bff
+ffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b
+8bffffed8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff
+0000e666ff0004cccd080e4381b9f803afe9b2d2a8a57701dcdbf73bd903f8ddf8d0
+15ffffbe80008bff0002800096059acc95b38b8b8b92888e828b7081437e62880888
+7305888c898f1eaa8905989385751f8bfffff69998fffffe33347dfffffc9998ffff
+ee666808ffff7b33348b8264ff0085cccc8bffffe13334fb298a8b057fa96ea4658b
+0820fb1dfb28fb31549932e31fbf8bbab3c7e3088e89847105857387788b7f8b7892
+71ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b706678
+7b818b888b828d8b97088b9491a78f9e08ff005e999af831ff004166668b05fb7bfb
+e715730a0e6889a870b2f7b0b1d677f751b370a8e1b712f822aae3a7133b80f8bdf9
+1a15450a133780460a133b80470a13b780480a13738087770513b3808d8905137380
+490a13b3804a0a137b804b0affffde8000e215f20a0efb3481c7f7faaaefb701dede
+f751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a0e6889a870b2
+f7b0b1d677f751b370a8b6bf12f7bba7d6aae3a7133bc0f8bdf91a15450a1337c046
+0a133bc0470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a13
+7bc04b0afb22b715f40a0efb3481c7f7faaac9c4e57701dedeff0032199aff001d66
+66ff006d8000d003f7f7f80615750afb50fb3f15760aff004e8000f85515f50a0e68
+89a870b2f7b0b1d677f751b370a8b8eb12ff016a3334ebffffc3ccccaae3a7133ac0
+f8bdf91a15450a1336c0460a133ac0470a13b6c0480a1372c087770513b2c08d8905
+1372c0490a13b2c04a0a137ac06a435a50428b08fb160679fffff3e666ff00046666
+ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e66608bc
+f78ff70e8b05ff001d999aff000bccccfffff8ccccffffe9999a1f8bfffffd6666ff
+ffffe666fffffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390
+a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e
+8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308133340
+ffff413334e915f7020a0efb3481c7f7faaae3eb12dedef717eb65d013f8f7bdf8d3
+157d0a13f4c5fb6115df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1e13f8ce8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b90
+8ba08c93080e68fb74b2f74db264a4f7beb1d677f751b370a812f7cbc7a6aae3a713
+b9c0f828fb7415af8bbd9fa3ba087c93057776777c6d8b086775a6abbec2d6db1f76
+a40587ffffff6666fffffbe666ffffff4ccdfffffc199affffff3333ff0012999aff
+002e6667ff0014ccceff0033cccdff00129998ff002be666086e900513ddc06a435a
+50428b08fb160679fffff3e666ff00046666ff001233341f8bff00031999ff000066
+67ff00036667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666
+fffff8ccccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb3348808
+8972058a888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b0587
+8b87878a8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06d38b
+9563934608a790058fb48feb8b938b8d8a8c888b7a88858a748b08fb8706139bc046
+0a139dc0470a13bbc08a888b87928b08a78905ff001de666fffffd8000ff000c999a
+838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334082afc8705
+856f7d7f6588086e8905858b89878a880887778d8905b88cb38cb08b0813d9c0f762
+06ff0014199a8bff0019e666ffffff999aff0016b334ffffff9999ffffc49998ffff
+de8001ffffd8b334ffffc666668bffffd0e6660855b36cc01e0efb34ffff52b333b1
+ff007d4ccdc7f7faaa01dedef751d003ff01533334ffff93b33315fffffd6666ff00
+06fffffffffacccc8f828bffffe5800075ffffecccce7bffffe2ffff8b668bfffff7
+3333a0ff00054ccda5ff0007199aff0022e667ff00191999ff001ae666ff002b4cce
+ff00213333ff00261998ff00114ccdff00248000aaff0023b334b9869685907f8b08
+525174825b8b5e8b6ca38be68b908ba08c93f799be87d88bb108a474bc43fb4243fb
+3efb1336b348de1eff0001e6668b8d8bff0001e667ff0000199affffdb1999ffffe3
+4cccffffe66667ffffe24ccdfffff9b3336c8055ff0021e66677bd8bb48bff002c19
+9a9fff00263334b808ff000fccccff01de4ccc15750a0e6889a870b2f7b0b1d677f7
+51b370a8d27612f822aae3a7133b80f8bdf91a15450a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0afb38be15
+f7030a0efb3481c7f7faaaf7617701dedef751d003f7f7f80615750afb50fb3f1576
+0aff00786666f7c215f7040a0ef281aff789aff7ceb0c07601ff0053999aff0057e6
+66ff01dd8000a903f87bf926154e0ab9f72715b50a0e37fb82acf7e5a9f781b36da9
+f762771292ceb5c35bd5f723d556cc13cc40f7358815780a13ed80f792f7ba15790a
+13dd007a0a13ee407b0a13dd8041167c0aff0013e666f7f615e60a0ef281aff789af
+f7ceb0aebf12ff0053999aff0057e666ff00d78000a7f76ca682a913fdf87bf92615
+fb398bfb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb
+66678bffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d96
+08a2f7080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e
+8c0889898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0ffff
+f9e6668bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb33
+33086dfb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc
+8bff0014199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7
+168bf71f8bae39933508a991058bb58db392d308518b71b8fb098b089bae1513fef4
+0a0e37fb82acf7e5a9f781b36da9c5c4e5771292ceb5c35bd5fffffe199aff001d66
+66ff00738000d556cc13ce10f7358815780a13eea0f792f7ba15790a13de807a0a13
+ef107b0a13dea041167c0a13ce40ffff8c8000f7f515f7060a0ef281aff789aff7ce
+b0baeb01ff0053999aff0057e666ff011db334ebff005fcccca903f87bf926154e0a
+ffffe23334ea15f7070a0e37fb82acf7e5a9f781b36da9deeb1292ceb5c35bd5daeb
+6bd556cc13cc20f7358815780a13ed40f792f7ba15790a13dd007a0a13ee207b0a13
+dd4041167c0a13cc804bf7ab157d0a0ef2fb8ba3daddbfaff789aff7ceb001ff0053
+999aff0057e666ff01dd8000a903f87bf926154e0affff87b334fd6415f7080a0e37
+fb82acf7e5a9f781b36da9d3dddb9f1292ceb5c35bd5f723d556cc13ce20f7358815
+780a13eec0f792f7ba15790a13de807a0a13ef207b0a13dec041167c0affffe03334
+f77015ae8bff00151998a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+ccce8bfffff9ccccfffff966688fff00139998ff0004b334a2ff001a9998abff003b
+666897ff0001666692ff0000e66694fffffccccc8f6486ffffe06668ffffef1998ff
+ffeaccccffffeae66808ffffebe66677fffff4999a75fffffb199a73fffff8b33367
+ff000f666766b28b080ef70489a8f7bab5f793a8c97601f8adf9b715b50acdfb7e15
+4f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13f4ff00afe666d315f7090a13f8
+f70a0a13f4f70b0aff00ff199af98c15b50a0ef70489a8f7bab5f729add3a801f8ef
+f8cd15fffffb800074fbcd8bff00048000a20591a79a99b48f08aa8e058f8f8d9b87
+945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896
+fffff33334fffffa199affffe2333408fffffb800074ffffdc80008b8469ff0023cc
+cd8bffffaa3333fc4805fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ff0055ccccf848ff005733348b92adffffa880008bff00048000a20591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e668fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62
+15fbcd8bff001d4cccf729f7cd8b050e6181c7f7ddc7e6b2d5a8a57712f7f0dd7ada
+13faff00afe666d315f7090a13fcf70a0a13fa93ae90a28b9d8bc7709f648bffffcc
+33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc08ff0030cccdff00da8000
+ff009ce6668b94b2ffff62e6668bff0003199a9905ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b81fffffe4ccd7c877808ffffc3b3338b8264ff003cb3338bffff9a199a
+fc5e05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8b08b18b8ab7ff0008e666b1080efbad89a8f8e3a8bdb78fb901
+f769f8cd15500aff007db334f74015f70c0a0efbb181c7f7eda79877f702b78fb912
+f6ff01094ccc13bcff00f54ccdff0140333415f70d0a13dc800aff00614cccf85215
+ffffeee6688bfffff2800095fffff3cccc97fffff0999a99ffffeeb33399708bffff
+d94ccd8bffffe5cccc6dffffe8999a5008ff0014b3338605ff000effffacff000e80
+009aff001766678bff000f4ccc8bff000f199a80ff000e333380ff00104ccd7dff00
+10b3347fff0013cccc8bff002966668bff001f999aa9ff0015ccccc708ffffeb8000
+9105ffffebb33461fffff1999a81ffffec33328b080efbad89a8f8e3a8f70ab701f7
+69f8cd15500aff00c88000f75815f30a0efbb181c7f7eda79877f72eb712f6ff010b
+800013b8ff00f54ccdff0140333415f70d0a13d8800aff00936666f85215ff000bb3
+348bff000d33329dff0002333497ff0001199a91fffffde66693828b08ffff238000
+06fffff6199a8b7e7afffffdcccc7ffffffeb33484ff0002199983ff0008199a8b08
+0efbad89a8f8e3a8b8bf01f74ba7f76ca603f769f8cd15500ae1f70f15f40a0efbb1
+81c7f7eda79877e2c4e57712ff00878000ff001a8000ff00c26666ff0016199a13be
+ff00f54ccdff0140333415f70d0a13de800a65f8a215ffffe580007f058836ff0024
+cccd59ca8bff003519998bff0042999abcff001a8000e108ffffe9e6669705ffffec
+666651ffffd0b3346bffffd133338bffffcf66678bffffe01999b0ffffffcccdc008
+0efbadfb75b2f74ca8f8e3a801dac703f740fb7515af8bbd9fa3ba087c9305787676
+7c6d8b678b75a68bab8bff002fe666ff00308000ff0045199aff00483334ff000833
+33ff0002ccccffffffe667ff0002b3348bff0002ccccffffffe666ff00003334ff00
+003333ff00001998ff00006667ff00003334ff00004cccff0001ccccff0000199aff
+0001e6688bff0001cccc8b08fffffc3334ff0004999a058dff000799998cff000c19
+9afffffdccccff0003b33308698e05ffffd9199aff00036666fffff4e666ff000c19
+9a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b
+658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334ffff
+fa199affffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199aff
+ffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bff000c80008bff000d
+4ccdffffffe666ff000db333ffffffcccdffffc3199affffdecccdffffd76666ffff
+c54ccd8bffffd033338b55b36cc08b080efbb1fb62b2f8c6a79877f5eb12cbc8d7eb
+139cf75df8ce157d0aff002c4ccdffff063334157e0a13bc7f0a13dc6b8b5e845c85
+fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e666fffffdb3
+33fffff2199afffff94ccd6f085cfb6205846b81628b788bffffee199aff0009e666
+fffff26666ff001a4ccdfffffe999affffd74ccdffffd64cccffffd98000ffffd84c
+cd8bffffd14ccd8b5fae73ba8bb58bb3a2b0b8087d92057175797d6d8b6a8b78a18b
+a18bbde3d69c9aff0008e666ff0007b333ff0000cccdff00033333fffffd6667ff00
+013334ff00109999ff000e6666ff00109999ff0012199aff0010b334ff0015666688
+9485937d8b08716d6e77818bfffff8e6668bfffffd199a908b978b94ff0005199aff
+00166666ff0005e666ff0019999a080efbad89a8f8e3a8c2eb01f769f8cd15500aff
+00193333f74915f70e0a0efbb181ccf7e8a701f6f74803ff00f54ccdff0140333415
+ff00090001ff00271998ff000b3333ff002680008bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b6b8b5e845c85fffff94ccd83ff0001b333809182
+08b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f085c
+fb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716dffffe3199a
+77fffff5e6668bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a080eb3fb40b8f711a8f8e3a801f769f8cd15500af82f5d15
+f70f0a0e52fb58aff72abff7f5a79877f5eb12ff00cbe666ebf72eeb13def70ff707
+15762fff002566666aff0033999a8bff004f4ccc8bff0033e668ff0046ccccff0046
+1998ff0066999affffec6668ffffa58000fffff6ccccffffc36667ffffee8000ffff
+bbb33375356979798bffffe4cccd8bff00058000b6ffffceb3338b08fffff2cccdff
+fff03333fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a08ff00124cccff0056333405ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b0813ee6b
+8b5e855c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e6
+6689fffff2199a856f08fffff24cccffffc1cccc05ffffbc4cceffff8e8001ffffc1
+3332ffff98b333ffffce33348b6c8bffffee999aff0011e666ff000eb333ff004019
+9a08b8ff00c4333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff001119
+9a0813de7f0a13eef7100aaef78d15b70af78f16b70a0efb56fb3aaff84d9ff7b7b4
+bb7601d6b1f787e803f7e5f9b91560066569636b606f08947605b59cb09db5a6a772
+a878af79089fa0056da66faa76af08befb7515a79daca68ba38ba07c92768b698b78
+648772609f4ea95f8b082a674a63719779a4a09895a01f8ba46a998b958b989a9aa1
+8bb68bab73b8799985a1859c8b928b908c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056cfb4a5a55518b7f8b80948597829d7b97758b087b807c7d
+6ab672b91fc38bf71fb9b4f78c08a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080efbc2fb58aff8bfa79877f7787712f74dff0055800013b8ff00fb4ccdff0140
+333415810a13d8820aff0026e666f82e15e60a0ed7fb74a3daddb0a8f8e3a801f769
+f8cd15510aff0085b334fcf415f7080a0e40fb71a3dadda5bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830aff003fb334fceb15f7110a0e5481b9ff
+00a94ccdff0023b333f713d25fa71213e0ff009ee666f7d615f7120a13d0f7130a0e
+6189a870b2f8d7a8d2761213b0f709d715520a1370530a13b0540a1370550a7df714
+15b40a0efbbb81c7f8e5a8a57701e8da03f760f96915b40addfb2215840a0e61fb78
+a3daddb4a870b2f8d7a81213e8f709d715520a13d8530a13e8540a13d8550aff002d
+b334fcf815f7110a0efbbbfb7fa3daddb3c7f8e5a8a57701e8da03ff0092b3335915
+f7140aff008b4ccdf90d15840a0e6189a870b2f8749cdda876d31213a0f709d71552
+0a1360530a13a0540a1370550a1328ff013fb334f715156d8bffffee4ccc79fffffc
+b3347bfffffcb3327bff0000999a75b48b938bff00044ccc83fffffd66687efffffb
+4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff002cb334
+c9ff00074cccaf08ff00074cccaffffff1999cb0658b080efba381c7f8699ce5d354
+a812e8da13e8f7b2f8db15ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b0813d87081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff919
+9a698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000
+ff002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94
+b30813e8ff00d5b334f8cf156d8bffffee4ccc79fffffcb3347bfffffcb3327bff00
+00999a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffff
+d433348208ff000180007a05ff0047999893ff002cb334c9ff00074cccaf08ff0007
+4cceaffffff1999ab0658b080e6189a870b2f782f700f77da812f7e8f70013b8f709
+d715520a1378530a13b8540a1378550af749fbb815ad0a0efb8681c7f79bebf77ea8
+a57701e8daeeeb03f7a3f7fc15739e74a8a6a0a1a4a673a173717573721e9af77315
+840a0e6189a870b2f8d7a81213a0f81df85515ffff72e666ffffb5999aff0026199a
+ff00c2666605ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffd16666ffff108000ff
+ff98999affffc98000966cff00546666ff002cccccffffd6999affff2b333405ffff
+fa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82
+081360530a13a0540a13606fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccd
+fffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff
+0004cccd08bbff00f53334f734ff0054cccc050efbbb81c7f81877f775a8a57701e8
+da03f7d5f84a15ffffb3199affffd5999aff0029e666ff00bb666605ff000e8000ff
+0040e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c
+898f1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408
+ffffd0199affff29199affffa6e666ffffcee666946eff00476666ff0027199affff
+d5999affff41e66605fffff8e6666bfffff9199a698b788b78ff0004800072ff0025
+80008bff002d33338bff00364ccdff00198000ff002d8000ff004b8000879586927e
+8b6d676b757f8b838b87918b93088b938e9a94b308ff00333333ff00e5199aff005e
+cccdff0033e666050ef4967693a8f8e3a8d376121370f943f8c115560a13b0570afb
+3df93915b40a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada13d4f8
+45f71015f7150a13b4890a13d48a0a13d88b0a91f8b715ec0a0ef4fb73a3daddbc76
+93a8f8e3a81213d8f943f8c115560a13e8570affff49b3345015f7080a0e60fb76a3
+daddaac7f7ddc75fa712f73bff00578000ff00528000e07ada13f5f845f71015f715
+0a13ed890a13f58a0a13f68b0affff50b334fb3915f7110a0ef4967693a8f8e3a8d2
+76121370f943f8c115560a13b0570afb0df93815f7030a0e6081c7f7ddc75fa7f773
+7712f73bff00578000ff00528000e07ada13daf845f71015f7150a13ba890a13da8a
+0a13dc8b0affff9a6666f80f15f7160a0e7c81c7f7ddc75fa7eb9ce5d312f748ff00
+578000ff00528000e07ada13ddf852f71015b1f7330593ae90a28b9d8bc7709f648b
+578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008
+199ab68bff000ee6668bff000db334fffff8b334ff00076666fffff2cccc8b0813bd
+890a13dd8a0a13de8b0affff0eb333f8d215ffffe1ffff8bffffee4ccd79fffffcb3
+337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667efffffb4c
+cd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb333c9
+ff00074ccdafff00074ccdaffffff19999b0658b080ef4fb46b8f717a8f8e3a701f8
+eaec15e4f8600591a99ea5b18e08a68d058e8b908e8c90088e9e8a8c058b458a6668
+448c8b1e878a8778058a869388908b08a38905b388916e86700841fc0f0587788980
+858b848b819d76b008fb87f84ffb178b88898879058a869389928aaa88a0648c7108
+31fc62058570796e638808728905818a88888a860887798d89058bd58dadb1cf898b
+1e8d8d8f9e058c90888e878b08728d05668e81a591a908cff7f30592ad909a928b91
+8b9380987508f77efc330568fb2969736e8b7d8b86938695859882996e8b7d8b727d
+86758467b079a08ba38bb68cbdb108ccb9b4c9a5f714080e60fb7dacf76776f81ac6
+5fa712f73bff00578000ff00a0199aff004ee66613ecff0130999afb3e15fffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6668b08ff
+ffe46667fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bff0032cc
+ccff001d8000ff00183334ff00218000ff0020999aff002d199aff00224ccccfff00
+19999aff0054e666abff006a4ccd98ff00724ccd8bff0037199a8bff005d9998ffff
+e06666ff0029b334ffffd4199a8b578b60762ffb00088a8cff00024ccdff00093334
+05ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ff
+fff8b333ff00076666fffff2cccd8b0813dcf7170a13eccaddc2c7af8bff00184ccc
+8bff00144cceffffe9cccc8bffffb9999a8bffffbd199afffff04cccffff983333ff
+ffe8e666ffffa54ccd08ffffe98000ffffa7b334ffffe16668ffffb0b332ffffede6
+66ffffe3999a080ef681adf8ecadf6b701ff00576666ff005ae666f84be403f848f9
+0415580af79bfbbb15590affff868000f84815f20a0efb0681b0f80facf717b701d9
+def771de03f735f73e158c0a3883158d0aff01698000f82c15f30a0ef681adf8ecad
+adbf12ff00576666ff005ae666ff00afb334a7f76ca6fffff84ccce413faf848f904
+15c80af79bfbbb15590afb79f7ff1513fcf40a0efb0681b0f80facc6c4e57701d9de
+ff0031199aff001d6666ff008e8000de03f735f73e158c0a3883158d0aff00a18000
+f87715f50a0ef681adf8ecadc07601ff00576666ff005ae666f84be403f848f90415
+580af79bfbbb15590afb55f88e15f7180af7274c15f7190a0efb0681b0f80facf766
+7601d9def771de03f735f73e158c0a3883158d0aff019f999af85515f71a0affff7d
+33329115f71b0a0ef7908bb264abf7c0adf783b312f92eaaf718a6137cf7dcab1528
+8b3ce3b3f763b5f76ae9d1e88b08ad06af8b9785856c0829fc8a05866f7e7f648b08
+7a69158bc88db11ef7de8bc3f73472900513bc6e4265564d8b08fb2b06768b7f9190
+a608bdf798f08b05ac8b927b8c6f088a6c05878d88901ea18b8d8e058fab8ba892ae
+92ac96a993ab8c8d8a8d898b087606878b88878a87087e6d057f6f807b698b08268b
+b3f7630590a39893a28b08f72706bd8ba050896008a68e98f71ffb8a8b408b056049
+8c8b1ffb478bfb10fb2868fb4868fb48d8fb1ff7488a080ef72481c74faef80fae12
+d9dff87dd01378f736f73f15e5a5f723f707d28e434e4a72fb49fb051e6d5c9df714
+1f37831556acfb0cf7051eff003fe6668bff003a8000ff00206666ff002a8000ff00
+3433340813b8ff00108000ffffcd8000ff00254cceffffdde666ff003b4ccc8bce8b
+c8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba08c9308f799be87d8
+8bb18ba474bc438bffffb14ccc8bffffc63334ffffdd4cccffffd84cccffffce3334
+7dff002e800069b1ffffb033348b08fb3b3ffb30fb0c1ff8d1f763158bffffa64ccc
+ffff96ccccffffdee6673ffffff63333ff00234cceff008d199aff0036fffeff001d
+8000ff0029e6688baf8b98828b6e080e8581aa74a8f79cadf7bbad69a4d57612ff01
+e9999aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a47b715b40a0e
+fb609676f80fd15fa712f738ff0052800013b0f771f7b115f71c0a13d0f71d0af734
+f81715ec0a0e85fb78a3daddacaa74a8f79cadf7bbad69a412ff01e9999aff005466
+6613cdf811f900155d0a91ad1513db5e0a13ed5f0affffd2b334fd4d15f71e0a0efb
+60fb76a3daddbf76f80fd15fa712f738ff0052800013ecf771f7b115f71c0a13f4f7
+1d0affff95b333fbd915f7140a0e8581aa74a8f79cadf7bbad69a4d47612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a75b615f7030a0efb
+609676f80fd15fa7f7737712f738ff0052800013b8f771f7b115f71c0a13d8f71d0a
+ff00376666f76f15f7040a0e2081aff8eaadc87612cba9ff002fcccdff00483333ff
+009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb60d315b40a
+0efb6481acf813ac12c6df77cbdfd658dd13c0f7d7f93315e10afb29fd3d159a0613
+d8f71f0a13d4910a13e8f7200a0e2081aff8eaadc77612cba9ff002fcccdff004833
+33ff009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610a2cf74e15
+b50a0efb6481acf813acf7637712c6df77cbdfd658dd13e0ff0141e666f91a15e60a
+ffff6c199afd24159a0613ecf71f0a13ea910a13f4f7200a0e20fb56a4d7abbeaff8
+eaad12cba9ff002fcccdff00483333aec2ff0043e666ff0053e666fffffe3334aa13
+ff00f881f90615589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bff
+fff5999a8bffffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ff
+ffe033338bffffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff2
+4ccd087b3a5a6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8b08ff00
+044ccd8bffffc7b333389085059c8f948d9f8b089f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff0024cccdff
+0039999a05ff005f199aff0010e666ff0053999aff004a199aff00118000ff005966
+66ff00028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ff
+ffbb3334ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff00
+44e6668bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca
+8b0813fe80610a0efb64fb53a4d7abf864ac12c6df77cb9ac299d658dd13eef73b31
+159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a
+6b1f828b828a838908ff0020cccdff0033800005ff00588000ff00058000ff0034b3
+34ff0034199a8bff0045e6668bba70b92fc86d9f819d8ba48bae9fafb68b0813ed91
+0a13f6c067936a8b768b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b
+ffffdb999aff002c6666ffffdbb333cefffffae66608ffffc9999affffafcccd9085
+059c8f948d9f8b080e2081aff8eaadc77612cba9ff002fcccdff00483333ff009de6
+66ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb31d215f7030a0efb
+6481acf813acf7627712c6df77cbdfd658dd13e0ff00f96666f88a15f7040affffb4
+999afc94159a0613ecf71f0a13ea910a13f4f7200a0e7afb45a4d7abb5a8f8d7b298
+7712f7d7c2f78ca913f6f779f9191513ee620a13f6a8ff00418000a49fc08b08d006
+ff002766668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c
+7d6287086c88058787897b8f82b88caf8cb28b08ff000180008bffffcc80003f9085
+059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08
+cec5aebeab709a6b1f828b828a838908ff001dccccff002ecccc05a8ffffff999aff
+001f6668ffffff4ccdff001eccccffffff4ccd8e8f8e9f889008698e05ffffd9199a
+ff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad8b08c1
+06bf8b9a719c48958bff00084cccff00004cccff000bb334ff0004b3340813ee640a
+13f6650a0efb92fb53a4d7abf854b212f1da86c213f0f74ef84115568805788a8483
+89838a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94c
+cdffffe166668b788bffffdeb333ff000f8000fffff4e667ff001ae666fffffe9999
+08ffffc9999affffafcccd9085059c8f948d9f8b0813e89f9a817b6b6679691f748b
+848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908afff00
+38666605ff00284ccdff000d199aff002e9999ff0023ccccff001b199aff0030b334
+889884917f8b5d5779817b8b0813f088818d971f8b94ff00036666ff0014199aff00
+07999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff00
+12b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff66666
+66080e7a89a8f8d7b29877db7612f906a913d8f779f9191513b8620a13d8630a13b8
+640a13d8650afb3bbf15f7030a0efb8c81c7f7e8b2e59ce5d301f1da03f74ef84115
+930aff00c6b334f76f156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cceaf
+fffff1999ab0658b080e7a89a8f7c2b2f782b2987712f906a913e8f779f9191513d8
+620a13e8a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ff
+fffb3334ffffe3199808ffffd98000fb5bffff8580008b05828b7e7c89818a858c83
+938b08f7178b5afb9105856f7c7d6287086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff0005e6
+66ff001e666608ff00314cccf791ff007fb3348b05978b979a8d968c908a93828b08
+ffff76cccc8bff00263334f7580592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b3340813d8640a13e8650a0efb9281c7f757b2
+f5b201f1da03f74ef84115568805788a848389838a88887f8b8908898e8b8e1ed18b
+ffffe8333321ffffc8cccd8b05828b7e7c89818a858c83938b08ff003e80008bffff
+e38000fb1305fffff8b333ffffdf999afffff94ccdffffe166668b788b679d81aa8b
+ff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b
+94ff00036666ff0014199aff0007999aff0021e66608ff001a8000f70aff005c8000
+8b05978b989a8d968c908993828b08ffff9b33338bff0017cccdf5ed8b05979094a5
+809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b978b9c8395
+6b8b678bff0001999a5efffff6666666080ed481b4f8dfa8beb78fb901ff007bcccd
+ff004ecccd03f7c68115660aff00e8b334f98415b60a0e6381c7f7ddc7e2b78fb901
+f70cdaf736d903f88ef7f415940affffffb334f85215f7210a0ed481b4f8dfa8f709
+b701ff007bcccdff004ecccd03f7c68115660aff01228000f99a15f20a0e6381c7f7
+ddc7f717b701f70cdaf736d903f88ef7f415940aff00238000f85215f7220a0ed481
+b4f8dfa8b7bf01ff007bcccdff004ecccdff00a06666a7f76ca603f7c68115660af7
+41f95115f40a0e6381c7f7ddc7c7c4e57701f70cdaff0032199aff001d6666ff0052
+8000d903f88ef7f415940affff548000f89e15ffffe2999a7f05fffffcb33336ff00
+28cccd59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea333451ffffcb80
+006b578b558bffffdc8000b0ffffffccccc0080ed481b4f8dfa884a6f704a612ff00
+7bcccdff004ecccd13d8f7c68115f7230aff00bce666f9a915ff001e00028bff000e
+e66472fffff9b3346c0813b8fffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b332a7
+ff0005b334a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315fffff6999a5d
+ff0021800066b98bff002ffffe8bff002eb334b1ff00093334b8ff00099998baffff
+de4cd0afffffd1fffe8b5d8bffffcf800066fffff6999a5d080e6381c7f7ddc7c8a6
+f704a601f70cdaf736d903f88ef7f415940affffb4e666f89715f7240affff9d999a
+5315f7250a0ed481b4f8dfa8cb7601ff007bcccdff004ecccd03f7c68115660af767
+f9e115f7180af7274c15f7190a0e6381c7f7ddc7f7667601f70cdaf736d903f88ef7
+f415940aff00719998f87b15f7260affff7d33349115f7270a0ed4fb4ab1f71ab4f8
+dfa801ff007bcccdff004ecccd03f7c68115ff0020199a8bff001c999aff00036666
+ff0019b332ff00066667ffffcdccceffffddb333ffffdbe666ffffdc199afffff84c
+ccffffda66668055ff0021e66677bd8bb48bff002c199a9fff00263334b8fffffd66
+6692fffffacccc8f828bffffe5800075ffffecb3347b6e8b08668bfffff74ccca0ff
+00054ccea5ff00096666b9ff00286666abff00486666be08fffffaccceff00086666
+05ff0046999ac0ff0022b334ff005ae667ff00151998ff006eb33308c1f7a70590a7
+9b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c0889
+898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff74ccc
+8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb90575
+fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff0020
+99998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b98b3
+8e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c0888898878
+058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b768b
+fffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405fffffb19
+9affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff70199aff006b1999ff
+ffdfe666ff004b199a8b080e63fb62b2f731c7f7ddc701f70cdaf4c803f88ef7f415
+ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165
+086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b
+9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b82
+85758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980640582
+6b83628b788bfffff04ccdff0004b334fffff3b333ff00128000fffffc3333ffffff
+e666ffffffe6678b8bffffffe666ffffffe666616165638b5c8b5fad73bb8bb48bb4
+a2afb8087e92057175787d6e8b6a8b78a18ba18bff002ccccdff0045b334ff0040b3
+33ff001b8000ff0017e666ff00191998ff000fe667ff0018b334ff00189999a4ff00
+20199a889485937d8b716d6e77818b08848890971f8b9490a191a5080ef7f09676f9
+08a8cb7601f76df8b615680af834f79715b50a0ef7139476f805ddf7627701f92bff
+0048666803f79d7f15960aff00dfe666f92515f7280a0e8289a8f8e3a8cb7601f7e4
+d7156a0af712f96d15b50a0e51fb7ec8ff02178000ff004c8000f7637701f871ff00
+48666803ff01608000169a0aff0059e666f96015ed0a0e8289a8f8e3a8c3e601f7c5
+e7d0e703f7e4d7156a0aa2f96215a00af7358c15a10a0e9c8bb2f8cab39877dc7612
+1390f7f7f94e15c30af741fd50159ac3a1c6a0bf086e90056a436450428b08fb7406
+7b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccccff
+0011b3348bff0008cccc8bff00058000fffffbccccff000266687b8b0813d07f8b76
+846d8808fbc80613b06c0a13d06d0a0efb1181d871c8f790c55ad712f1a61328f84a
+f850159b0a13189c0a13689d0a13889e0a13689f0a2ff78615ec0a0e9c8bb2f8cab3
+9877cbeb12ff01883334eb13d8f8a489156b0a13b86c0a13d86d0affff783334f984
+15f7290a0efb1181d871c8f790c55ad7dfeb12f1a6ff00863334eb132ef84af85015
+9b0a131e9c0a136e9d0a138e9e0a136e9f0affff343334f72215f7290a0e9c8bb2f8
+cab39877db761213d0f8a489156b0a13b06c0a13d06d0afb13f94f15f7030a0efb11
+81d871c8f790c55ad7f7617712f1a6132cf84af850159b0a131c9c0a136c9d0a138c
+9e0a136c9f0affff4d6666d315f7040a0efb9afb7daff8dcaaf787b0016afb2a15f7
+2a0a0e387fadf80cb7d2b2e7a6a47701f83bdb03f735c115d1f7c205bcb3bf8d968b
+bb8bab5e8b468b788977867571fb0646342c8b6c8b78927ca408f77bf88615fb088b
+adf724758b0575837b867888798765867c8b088772058a878d898e8c08ac8e059892
+85781f8b80897c8777088676498b8164ce8b25fc4e058264877b8374089e86059795
+9b999798a272a87fb68bf18bf719e4b0f7338f9f8e9e8b9c8be652c6438b5a8b5f79
+606608a8f712f7078b050ec189adf7c0adf71476f722ab01f782f8fb15a28b9b8185
+6c0829fc8b05846881876288086e8905868888861f87788c8905b98cb28cb18bb18b
+9889e18bf7538bd1ef9ce19deb58c23ca4088d07c0a4bebf96c198ce80e2fb468b69
+8b5e89658b668b918d7a8b2d8b493a80538777967a9f8b089b8b9f9590a58e9c8797
+8e9b91a8a7aba98b08cbfbaf15cd06f7178bb53e79317d42634ffb268b488b819891
+ac08ebf8801591ac8d95df8bc08bce6d77257a364b6d3b8b0844060e9289a8f7c6b3
+f70976f71cb370a612f87ae313e4f78ef7e115f72b0af80af70315f72c0a13f4f72d
+0a13ecf72e0a0efb0581adf807b7f761a779ad12f868a413c8f72ac115cbf7bf05b7
+b3bc8d958bc48bad45752573fb064c36338b086e8b78907ea40813d8f741f90e1513
+e8408b55835d83088874058a878c8a8e8b08a889059e8a93857f5208fb00fc8f0583
+64877b8474089d860596959a999698a072a781b38bea8bf70fe2acf733a5f70e4fdc
+3a8b5f8b627963660813d8c5f7a2f7118b05bc8b9a4c8c5d08a48e9cf720050e7e89
+a8f7c6b3f7b17701f788f7e115e806f7168b922980527f4d5c32fb2a8b528b819992
+af088af81e153efc2105856f7c7d638808718905878b88888a860887788c89058be5
+8dad1ea88ba889b68bd98bcb90c9b1b8a7bac198cc99d77df701fb588b08238bacf7
+3e0597cc96b38b8b8c92818e838b51676d7f57807e80897f9380b67d9d797f4d080e
+fb0281adf808b6f7977701f733cc15c8f7b505b9b4bc8c948bc58bad46752573fb06
+4b34338b6e8b7a9c7ea308f711f90d1552676e7f58807f80887f9380b47d9c797e4d
+082efc4a058364867b84739187908a928b95959b9a9597a272a680b38be98bf710e4
+adf733a5f70e4fda3a8b085d8b627a646608b5f75a0599cc96b38b8b8d92888e828b
+080edf80aff8e4b501e9aaf874e503f84ef927152b8b275a3232089f7d05e4d8d6ac
+e88bf70d8bbd2a8bfb048b6b886b836b5cfb5ffb35373c8bfb268b69da89ed086c88
+7bfb3905c78aa65ff70e8bf73a8bf74ff726b9f75991a68ea88ba68bf71640f706fb
+468b080ede7fb4f8e4b099d201efe4f874b903f9daf97b15668b3b6270345d9568ac
+228bfb3a8bfb4ffb265dfb59856f886e8b708bfb16d5fb05f7478beb8befbbe4e408
+779a05323d406a2e8bfb0d8b58ec8bf7058baa8fab93abbaf75ff735dfda8bf7268b
+ac3d8d2808ab8f99f7258b8d059dd8b58bac8ba28ba78f92aa8b8d8c8e8b8f8b9885
+99748b080e477fb7f80cad86c912d8ddf76de013b8f8bff840159f8b9c9990a08b8e
+8c8e8b8e8b9884996e8b698b4f7463520813d876996c94638b208bfb032f6afb2286
+7488758b768b2ec14eed8bc78bc1a6c9d7087d9905615e5f6f608b4d8b62bf8bdc8b
+9f8ea190a2a4f700ccd1cd8bb78b94738b708b838a828b83088b898a898b898b769c
+829f8b9f8ba19a91a88d918b918b918b9b879981980813b8999f9f9ba38b089c8b9c
+829b8b080ef7268aadf792b2f7b3ac01f914e903f75fd315bdf76bf08b94b2268bc4
+f78c0593aeaf8fbd8bf73d8bc5fb008bfb0d8b6a8769836a5cfb5efb1d5afb208b38
+8b77908b9f8b8f8c8f8c9108fb4a56158777f7148d05af8bb689f28bf7218bf75dcb
+c4f78990a48ea58ba38bf72afb02f705fb3a8b698b4c8b478a08fb128c8677058a86
+8d88908b08a806ab9785781f8b858a8489830852fb8a328b8264e48b5afb6905846b
+797d668b086d06868b87878a86080ef74c89adf86476f71ead01f7a3d415edf88905
+92aead8fba8bf7638bb1fb436dfb2e64fb5efb1659fb1b8b2d8b829491ab08fb4154
+1587798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78ab0f74efb0af72d
+fb4c8b4e8b5289648b698b768d7e8b08fb028b55338260856a9d839b8b9e8b9b988f
+a08f9f85948f9f92aeada2ac8ba58ba6858465082afc8605856b78806989086e8905
+878b88878a86080e7589adf7cfadf776b170a896771213c0f817d915846a7c7e488b
+258b54bea1f7079ad4b6d7f7198b08e00613e06af79815df8b8a87846a0867fb514f
+8b05fb428bfb005a6dfb3073fb0fe854f38bcb8bb08dca8bb58ba48ab58a0890a305
+8e8b8d881e6f8e05708e829791ab08ecf8840592b0948da98e0813d0a98e058e8c8c
+8e1f90a40513e0fb0389fb658b0513c8608b68906f930860fb2da3880513e0b6e4b1
+9bb98b080e2e81ba84a2f7f3aef76bad95771213a0f7e7e9155a676276738b598b64
+c6a6f7119ad3a0b39da0b2bab38e9d8bb78b9f769a6508c7f7b1155efb6905789864
+94798b4d8b5e755e65596069507b4171fb0faf31f08bb08bc0abbeb0088d8a7a45a0
+8b051368a49db698c796088da2609005778d899196bd08f703f8a0058e9692a79595
+0883940513307482728b818a08fb28061328538b7a8f7391085efb2aa3880513b0a0
+b9b4cabc8b08f705069c8b8e868778080e44fba0acf91ba912bce24fdff71fc3dddb
+13dcf7988d15ebaaf70fcbaaf71a8f9f8e9e8b9c8be453cd248b218bfb194266fb37
+877a897c8b7d8b34c84add4008b466b2678b728b898b8a8a8981606675588b0813ec
+718b709880b280af7792818b7d8b7284846e8b888a898b898b69be58e78bd08bd5aa
+9dd8088d938c928b928bb36fad57be0866b01572a40513dc68ad79c18bb98b978c97
+8e95b0f737e3abbe8bd28ba5478b468b768876877870fb06375a4473088e7b050e93
+8aa86fb2f7b4addd77f74bb36fa712f796ab1336f782f91a155cfb20a68805137a9c
+b6bbc7be8b08f72d069e96867b1f8b888a878a87085afb69fb1c8b0569859aa51f8b
+8e8ba9058f898f871e7506898989891f88728766846a82697c5e847a088d88a28b05
+918b8e8f8c8e0898aa0597a89a9aac8b08f71d8b50fb930585707b85758b08fb4c06
+4c7abdd01f8b9270867ffb34f7ba8bd88c0513b6f7168990a1058c8e8a8f848b086d
+066b80959e1f8b8f8c908c9108f708f8890592aa9c99b18b08a906918b8d8f8c8e08
+90a0fb168a05133a3d8c050ef67fadf756b7f800ad01f1d5f857e903f744f76c15f7
+2f0ab9f7c715f7300a0e5f7fadf7c4b2f797ad01cbe393d3f7abab03f830f9261521
+8bfb105677fb058a828a838b828b43c66aa4814378355178fb00897e8a7f8b808bfb
+07f70970e98b08db8bbda5c49408b5f7246f8e055ffb013064458b498b56ac8be18b
+988c9a8e9c97ccb7d6f58b08ed06968b91928d978e9687947f8b0847062b71c7bd1f
+8b938c948c939adeceb4db8bef8b974b8e3b08ab9092f72305599079a4458b080e37
+fb40b8f856b1d677f751b370a812ff01a14cccff001fe668ff005e3334ff001e1998
+13f6ff00763333dc15ffffd9b332fb48ffffc7199a6f6a8b7d8b8693fffffacccd95
+fffff91999ff000d3333fffff7b334ff000dcccd6c8b7d8b707dfffffb4ccc75ffff
+f84ccd67ff0026333379a18ba48bff002c33348cff00351999b108ff0043cccdb9ff
+003c3333c9ff001b3333f71408ff002ecccdf770ff007f00018b05ad8bff000b1998
+82fffffcccce6e08fffffdb3327205ffffff666888ff0000e66686908b08a18bff00
+04999a8e05ff00058000b3ff0004b332a6ff00044cce9fff00044ccc9fff00074ccc
+a9ff000b8000b308fffffce6688f758b05878bfffffc199887ffffff33348708ffff
+f7b3347205826f7c7d688b08fb138bff002cb332f76605ff0005199aa3ff000e199a
+95a38b08f406ff004afffe8bff0009800063ff00074cd04608ff001e19989005ff00
+038000b4ff00056668ff00606668ff00003330ff00079998ff0000199cff00024ccc
+8aff0000b334fffffd99988bffffedccccfffffc9998fffffa8000ffffff6668ffff
+e7ccd08b08ffff02b3320613ee648bffffd733338cffffd133338c0813f6fffffd99
+9a89fffffbb333770513eeffffff666788ff00004ccdfffffc8000ff0006e666ffff
+ff800008ff001d80008905ff0025e667fffffd6668ff000a3333fffff49998fffff9
+66666c080efb03fb40b0f8a2b2f783a80160cff872d603f87bf94e15518b3e4855fb
+28806e7773678b08678b7d64dd8b66fb05054dfb4a62fb7b378b7f8b89918b918b8f
+8c908b908b8d8b8d8a8c889883937a8b788b7b79877c088b888a898b888b78996ebc
+8bf70b8bbff727f71ef82308909cf58b9ab2218bb3f70305b3f5aca19d8ba28b8767
+8f7c8f7b95829f8b9f8b9b9c909f8c8e8b8f8b8f8ba675a9458b080ef7347faff78b
+aff7ceb099d201dce6f82dc6a0aa03f9c1f97b15668b3d6274345e9569ac228bfb40
+8bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5088492
+87928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c900890a5898d058b51
+896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a870870
+fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf743f714f70bf71b8b
+f7268bb13d922808aa8f92f7290591ac9dafae918e8c8d8b8f8b908b928a938ba28b
+a68f90aa8c8c8b8e8b8e8b98859b738b080e8cfb68cff990a501f734c503f7a18a15
+8a848a848a858360836b837683778584868b8a8b8a8c8a8c878e8a928d978c8d8b8c
+8b8d0897bc9dafa0a8088cbd154b456751835c8a878b878a86087d07659676a51ea8
+8ba3a89fc195a692a790a991a69bc68ba908f7bbf8890590958f928d918e90919297
+92908e938c998b089d8c058d8b8e8b8c8c8e8d8d8c8c8e088d9c8b8d898b05838b46
+89898b808b2f8d878b08898b8a89887a058b888b88908a088c8ba88a05a08b95898d
+898e878c878a858b8a8b898a8a8a868784868108fb57fbe25e367ee245f7e0058993
+8b918a938b8d8c8c8b8d8c908d8f8f8f8d8e938c998b08b28c058e8b8e8d8c8e088c
+8c8c8b1e8d9c8c8d888b057f8bfb0189868b818b338d878b08898b8a89887a058b88
+8c898e8a8c8a8d8b8d8b08a08a05968b948a9088928690858d82088f75050ef281ba
+f7dcd54fc7f760a8a57712ff0167b334ff0045e666ffffe76666d7ff00ab6668ff00
+28b33013bbf875f7fb15c7739f641effffcc33348bffffcb4cccffffeb3334ffffa4
+cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000
+ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385
+751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6af8ba08b9985
+8b6c0813dd8bffffd1199affffd2b334ffff6499998bffffcc66678bffffc13333ae
+ffffdcb333ff004e4ccc8bd68be9d7b2f74bff0007e668ff0026199aff00043330ac
+8bff001b666608ff003ae666ffffec999cff0020999affffd44cccffffe4199878ff
+ffee4cccffffea199a1e8bffffe8b334a1fffff5ccccff0009e668ffffff199aff00
+134cccfffffc4cccff0012199cfffff033348bffffd1199a8bffffef999afffffdcc
+ccffffebb332fffffaccccffffe7199a76294425458bffffde33348bffffec6666ff
+0011e6668bff0027cccd088bff002c6667ff00336666f7328bff003de666080efbbb
+81c7f8e5a8a57701e8da03f7b2f8db15840a0efbad89a8f7c5b2f78ba801f769f8cd
+1564fb5affffb2e6668b05828bfffff2b3347cfffffde66681fffffeb33385ff0001
+666783938b08ff0055cccc8bffffcd999afb9405fffffa6666ffffe3ccccfffff04c
+cdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a
+91ff001e800008ff00326666f794ff004233348b05978bff000c33329aff00024cce
+96ff0001199a90fffffeb33293828b08ffffb4199a8bb2f75a0591a79a99b48f08aa
+8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e6
+66fffffc999896fffff33334fffffa199affffe23334080ed78aa8f8e2a775ad1213
+a0f75cd315b4f78105a68799809c7408f727fb5a05957e8d7e8b7e8b818a828a8308
+89858d89058ba38dafb2d6898b1e8e8d8f9e058c90868e868b0885066e8b769b76a8
+08fb54f79805849486938d938fa2c2b6cbcbcccdbbd1b18bbd8b7143b68b9d8ba09b
+8e9f8c8d8b8d8b8d08aa64ac521e478b5f41454556566a6d555e7175777f768608b3
+f7770513c090a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b
+1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b0870
+06868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08
+7106697d95a11f8b8e8b8f8c90080e398aa8f80aa8f781a801f827d503f75ff88415
+29fc3c05846e7e7c6a8b087806868b87888a860887788d89058bce8dafb2be898b1e
+8d8d909e058c90888e868b0889067281949d1f8b908c908d9208a9f7198d91058f8c
+8e8b8e8ba28b937a957808bc240594778e808b818b868b878a8808877a8d87058ba6
+8daeb2be898b1e8d8e8f9d058c90868e848b088806728b709d7fa6083df741058893
+8b94939208ebdf05aaa5bca1a68b0892068f8b928e8d90088f9e888d058b54896468
+5b8d8b1e88898778058a878d87908b088f069f9185841f8b8a8b8a8a8a8981837e79
+7b4751636c5a7508cef7b605a0e7b4bdb88b928b8f858b818c769374a28b9c8b9d99
+91a38c8d8b8d8b8d8ba65f9d658b08218b4d287325080efb9381c7f7aeb2f7a4a8a5
+7701f704da03ff00ae8000f7e015ffffd08000fb6905fffff8e6666bfffff8199a69
+8b788b78ff0005800072ff002580008bff002d33338bff00364ccdff00198000ff00
+2d8000ff004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308
+ff002de666f761ff004fb3348b05978bff000c33329aff00024cce96ff0001199a90
+fffffeb33293828b08ffffa7b3348bff002f6666f76805ff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd53333
+fb54ffffbdb3348b05828bfffff2b3347cfffffde66681fffffeb33385ff00016667
+83938b080e6d7fcdf8dbc801f7e1be03f87ef8fc1521548b930582f704539c758b6b
+8b5c74696508937205a39aa495a78ba28ba678993808fb0451956df6c2058c848c83
+8c82088e5bfbe1fc479d83dfa1f783f7f598fb8005922e9d5ebd8bb08bb7bcacc808
+7898056c5d7380768b6a8b82bf7ff7360879f797f705c6050ef7bb7fbbf8daa701f7
+0ddcf768db03f7aff8d21590a7989baf8b089f06918b8e8e8c90088f9e898c058b41
+8a6561418c8b1e898a8878058a868e88908b08a006a89680771f8b878a878a860840
+fc3c05887588768b778b51a262d18bc68bcea5d5c70888075fad64c51ece8bc9b0c7
+bc088e8b79359b8b05938b938e9890aa999a8fd296088aa60578877e8a7d8b818b83
+8d8ba08b958d978e9c08ddf8650590a7979baf8b08a006908b8f8e8c90088f9e888c
+058b428a6561418c8b1e898a8778058a868f88908b08a006a89680771f8b878a878a
+86083afc64054f5a5872658b698b729e8bba8b938b948d9508d9f8510590a7989baf
+8b08a006908b8f8e8c90088f9e888c058b428a6560428c8b1e898a8778058a868f88
+908b08a006a79680771f8b878b878a860840fc3d05887c897e8b7e4e575a77618b68
+8b729d8bb98b938b948d95080ef71afb4fa9f73e76f906a70146cd03f70ce315835c
+6ffb5a458b808b878f8995899f809f7d8b838b7288856b08880777a671b71ef7048b
+a6f722a3f71a08c9f7f20591ad8f9a938b918b9480987508f7a3fc4d05947c96859b
+8a998b94958e9e08eaf8ac0590a9a0aab28b08a506908b8f8e8c90088f9e898c058b
+438a6467418c8b1e868a8878058a8693888f8b08a606ac9774731f8b868a878a8608
+48fc0f88740589808887888b828b81a776b027f744fb40f79d8b8b08fb178b888788
+7b058a869288908b089006ac8ba1618d71080e57fb6876f78876f819c75fa712f73b
+ff00578000ff00968000da13ecf7c5fb2b15fffffbb334ffffeb199afffff79998ff
+ffe7e6668bfffff633338bffffef4ccd96fffff58000ff001fccce8bb18bffffffcc
+ccb6ff0008199ab208e5f8460592ae91a28b9d8bc7709f648b578b60762ffb00088a
+8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dcf7170a13ec
+caddc2c6af8ba08b99868b6c8b7d85778469080ef67fadf7b3b7f7a3ad01e0e9f85a
+e803f905f7c9156bfb4720fb00fb068bfb058b3bdd8bf7258b9d8ca08ea008f854b7
+15fc4c06b5f753f70bdbe78bf7008bdc3e8bfb2a8b7d8a7c8a7c08e473158fa28da0
+8ba08bf735fb07f2fb288bfb478bfb32fb2c68fb58877489748b768bfb32f7012af7
+2c8bf7538bf728f721aef75c080ef71d7fadf8caa793ada5e112e0e9f85ae836f700
+61b513fcf964f7dd15f7310a13faf7320a13f9f7330afba8f7bb1513fcf7340a0e46
+7faef800a983acaedf12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13
+def7370a13bef7380a0ef7d5fb23a8f1adf8d9b675ad1213e0f8c5c71595c297cfd6
+f83d8b8bb987a88aa48ab48c8b8b9f8b937e81520820fcef05866f7f7b6a8b087306
+868b88888a860888788c89058bd48dafb2d3898b1e8d8d8f9e0590888e871e73066b
+8b839b90a70813d0f714f96c758b0576827b8779870813e03987628f5b900874067c
+857d7c7e890813d064a25b97598bfb478bfb33fb2c69fb5868fb59f70afb11f7408b
+08dd8bd3a5c8b908fb09f8c815c08bb978ac670831fc90056872647d628bfb178b33
+f705adf754b0f766f711e2eb8b080ef715fb7ba8f752b7f7e7ac8fad01f8d1fb3215
+f71ff8ec7c8b05758b5c65438b6d8b458c719b72996d92698bfb0e8b22246cfb1876
+2ea4fb12f7258bc38bdfa9bfaa08d3f7ca059f93a58f948bac8bb08b815f08fb04fc
+7905846e7e7c6a8b087706878b87888a860886788d89058bcf8dafb2cf898b1e8d8d
+909e058c90888e868b0878066a8b859a91a808fb31f882154afbae056c776789798b
+508b3db7aef72ba3f3c9d8da8bb58ba7709c5e080ea28aa8f792acf74876f724a771
+ad12f8cce113ecf750d215866f7b7c618b087106868b88888a860887788d89058be9
+8daeb2e2898b1e8d8d8f9e058c90878e878b0870066a7d94a11f8b8f8b8f8c8f08b1
+f77105a1849d88ae8bf74a8bd4f70b9ae08c938c958b958bc769dbfb338b718b4f89
+57880813f45588888b05fb06895636835f8a878b878b888b739b85998b9f8b9c998f
+9f8c948b928a948a938b938c940893b6c29baf8c988b91898b7a8b858b83898108e1
+aa1513ec9f92b8929e8bc78bc8788b338b7e897c887a78fb004b5e2a8b728b688d80
+8e080e39fb7ba8f752adf80ab9f776a812f81ad462dc13f8f7a3f8a215a0e7b4bdb8
+8b0892908581769374a21f9c8b9e9990a38c8d8b8d8b8d8ba65f9d658b218b4d2873
+2508fb2bfd2205856f7e7b698b087806868b888889860887788d89058bcf8dafb2cf
+898b1e8d8d8f9e058c90888e878b0878067181949d1f8b908c908d9208b2f73c05a1
+7da583af8bc08bb89ebcb2c2b9b3c99edc0813f48f9f8d9f8b9e8bdc61ce3d8b6b8b
+53814d4508888b9fd2056ffb0b15adc0c3a8ad8bb98ba9648b448b758870856e7635
+5c27218b7a8b6a8d73b4080e8e24a6779fd6a8f75db1f792a8cfa712f87bdc13bef8
+c9f818158d968c968b948bf028a9fb018b6b8b738c778c088fa10590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b7f32fc8b05866f7b7c628b087006868b88888a860888788d89
+058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d94a11f8b8f8b8f8c
+8f08a6f73205cf8aa7868e8408c9fb7d059c5cb164c68b08137e9b8b9d8e958f089f
+0713be8506668b75af7db4084df78305bc96ebbf9ae0083a8a15792536792a8b0859
+8bb6f78a05a491a78daf8bc18bce718b3b8b828a828981080e39a076a28cf8ecad01
+d5d6f78daaa4cc03f764f90b155ffb23a98605abdbb0c8ee8bc58bad638b588b848b
+8489847d3821655e7c326d276276fb0d89808a808b810832cb40f11eed8ba1aea38b
+978b8e858a7b08aa8a0590aa91a28e9993ac98ab99be086f8e878205743f393d3e8b
+478b5cae8bcb8b938c948d949be6c1a6cda3d7a6f718bda0f7098c958c938b9508e5
+3ac23c1e2e8b8a785283080efb527fa78e76f832a912c7cbf76ac513b8f7fcf72015
+748c058575765b6c717e806979668b6c8b63a28bb38b8f8c908b9095b6aaa8e2addb
+abb6a09dd6088c938c938b938bc15eb0468b598b6682687b7d6b8069816708a38a05
+b3ddcc9ba08bac8ba9808b658b858b848983826373775077336d4167783b89808a82
+8b82083fdf74b51eae8ba98fa692938c908c928b081378908b948a9489080eaa8ab7
+5fa8f8d3b66fa712f8e5a51358f909f91a15fc1c8bfb048b8a8a86728d8905998ba3
+85a06708f71dfb9efb9dfba105807f7f8a7e8b08888887738d89f89b8cb7f734718d
+0513a86c40755f468b08fbd18bf7aef7b38d8cfb20f7a4f79d8b05c38b955f945308
+a58e050efb94fb68a8f944a4f723a412f718d04cb3f71db113ecf7cdf8ed1583686a
+67618b688b7aa48ba78b918c918c9193aeabb0b68bb08b9a708b6f088b858a858a86
+08fb401689838a838b848b5faa6ec38b998ba494979280757e5f85710832fc150513
+f47e517f598b638b6d91729b789d76af7e9e8bc28bb3a691a18c8f8b8e8b8f8b9e7b
+90818b086a8b86546f8b7e8b7f93859d889189938b9a8ba391b49cd708f708f88905
+94b28faa8ba48bce6ca1578b4f8b54667d4f080efb97fb25ddbec2f7f0b201f3dc03
+f716fb2515a98bdfb8a0e58e988d988b99959294939594087d9c056c777683728b7b
+8b84958ba08b998ea092a508c6f794ea8b05948b9a8f8d94088f9f058c8f898d868b
+08fb028baef72e4e778678057a3f7164498b888b8a8a8a8808846c058a888d8a8e8b
+08cc8b44fbc405887b897c8b7f8b639f7bae8ba68ba693a79a08887c0586737d7376
+806c7b559c815e8b888a888b888b7b957e9d8b080ec08aa8f85f76f71ab212e4d2f8
+94a778a313f4f734f888158c948b938a938a938b938d9492b6c091b08c08e606a997
+84771f8b878b878a860835fc7c05866f7a7b628b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8e9e058c90888e878b087006697d95a11f8b8e8b8f8c
+9008e1f87a0591ac9894af8b08da06c38b9a80913b08a3900513f886f72f6f850584
+867a7c1efc1706fb05885536835f8a878b888b878b749b84998b089f8b9c998f9f08
+0efb957fc2f7f0b2f782a801f3dcf76ed503f792f81b15ea06948b9a8f8d94088f9f
+058c8f898d868b08fb028ba5f70405a1ddb2b7b58b928b8f858b818c769374a28b9c
+8b9d9991a38c8d8b8d8b8d8ba65f9d658b08218b4d287325877a815a498b888b8a8a
+8a8808846c058a888d8a8e8b08cc8b44fbc405887b897c8b7f8b639f7bae8bb98bb8
+a1bcb7087d9c056c777683728b7b8b84958ba08b998ea092a5080e7affff428000ff
+00208000f98fb2987712ff00f74ccdff004ae667ff012fcccca913d8f79ad71582ff
+ffd1999afffffa4ccdffffd580008bffffdb333308ffffaa8000ff001ee667ffffc9
+b333ff005c4cccc9cc9cc29d7bff000980007e1e6f8bffffef800071867f867f837a
+738bffffd1999a8bfffff2999aff002c999a8bff0035cccc8bff002d4ccdff000980
+00ff0033cccdff00074cccff0025800008eaf87c05ff0006999aff00221998ff000d
+6666ff0007e668ad8b08c106bf8b9a719c48958bff00084cccff00004cccff000bb3
+34ff0004b334fffff78000ff002bccccfffffc9998ff002380008bff00204ccc0813
+b88bff0009b334ff00004cd0ff00096668ff00009998ff00094ccc0813d86afffffa
+8000fffff2ccccfffff88000ffffdc33348b08fbe20613b8620a13d8a8ff00418000
+a49fc08b08d006ff001f8000ff000a4cccfffff96668ffffeeb3301f8bfffffbb334
+ffffff4cce86fffffee666fffffa3334080ef71e7fb4f8e1a7c6df01f711ddf8bbf1
+03f7d37f15f7390a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415
+f73a0a13dcf73b0a13ecf73c0a0ef47fadf8c9c612d5e35ea5f713bdf768c08be1a9
+a513ebf779f8df15a897857f1f8b5ffb3afb0b72fb1d887789788b788bfb0fd827f7
+428bf7598bf70ff728a2f7198d978c988b970813cd8bf70635ea8bb8089c9895b1ba
+9e85641e8b868b868a8608a58b99f70b448b05fb006d73611f13eb8b52c0338bfb03
+8b798978887874fb1533fb09fb1e8bfb028b50d78bf7028b9e8ca08fa09ef1f71af7
+298bd708a9769f511e2b8b0513d96ffb0ba58b059bc3a18fbb8b080ee57faff8e6a7
+78aa12f70eddf845bc13b8f714f77015877189748b778bfb16e16af7028bef8bf75a
+c1c5f7de93b48fb38baf8bed6cd23c8b688b437e8156088307789b87951eab8b97ae
+8e93909c99919d8bc18b99438b428b558356877565fb6cfb1ffb05fb0f8b2d8b70c0
+8bd6088ba98fac91ad08c4f7d90513d890a79b9bb48b08a606908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b878b
+878a87080edb8aa8f8e2a775ae1213c0f7c8f84715cafb2e65fb6505876f7a7b628b
+087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e86
+8b087106697d95a11f8b8e8b8f8c9008b2f771f75af7ad05a2ab9b97a98b08a00692
+8b8e8d8c90088e9f8a8c058b3c8a837e3c8c8b1e898a8877058a888b87908b08a906
+9c9189831f8b8a8b8a8a898a868782807d08fb3cfb7f57f7110513a052f71961c750
+8b468b5358866a8a898b898b898b7e927d9e8ba38b949e8e9c8d958a938c92088e9c
+9f8f948b08ad8bac3ab7fb00080ec7fb7ec8ff02178000ff004c8000ff001d999aff
+00477ffe01ff01e4999aff0166999a15ffffc46666ffff7c66666c4cffffba8000ff
+ff77800008fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea0
+728bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff000399
+9afffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7
+800008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff
+001e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d
+8b818b7898859084917793838b087672776c6ab7829c1fc08bff004e8000ff004166
+66ff00418000ff0062999a08ff002e8000d105ff00216666ff00324cccff004a199a
+ff0089b334d2ff00a98000ff00191998c7ff0014e668ff0033199a978bff0008cccc
+8bff000d3334fffffdccccff00046668fffffa80009680ff00129998fffffb999aff
+000f66688b08ff00171998ff0013e668ff0014e666a1ff001a6666ffffee4cccff00
+194cccffffc380001fffffb3b3348bffffe6e664ffffa33334ffffd7ccceffffa74c
+ce080e9c8bb2f79ab7f798b398771213e0f8a489159ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408ff00cb6666f779ff009780028b05
+988bff000db3309dff0002666897ff0001666892fffffd666492828b08ffff7cb334
+8bff00da8000f78a05ff001a6668ff001d9998ff0007ccccff0011b3348bff0008cc
+cc8bff00058000fffffbccccff000266687b8b7f8b76846d8808fbc80613d06c0a13
+e0add0a6bdd38b08f77106928b8e8989858a868785858408ffff313334fb7effff89
+99998b05fffff400018bfffff280007afffffd99997ffffffe999a84ff0002666683
+938b08ff006280008bffff17999afb9b05fffff8ccccfffff8cccd85fffff4e6668b
+fffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7f206a4eb898b
+1f0efb2a81d871c8eeb7f701c55ad712f1a61334f84af850159b0a132c9c0a1374b8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff9b6666ff
+ff913334ffffa0e6678b05fffff400018bfffff280007afffffd99997ffffffe999a
+84ff0002666683938b08d58bffff9c199afb02057774655c877d8e849086918a9388
+9289938aa1b0a49b958b9c8ba685ab770813a49e0a1374ffffcd66668bff00058000
+ae2f8bff001a6667ff001d8000ff00203333ff00226666ff0020ccccff0023199a08
+ff004f999a06988bff000db3349dff0002666697ff0001666692fffffd666692828b
+08ffffc6666806ff0027ccccb6ff0025ccccff00298000ff001a3334ff00208000a4
+a99fa0959b080ebafb67b0f92e76f71bb301f727a5f7cee603f7adf91a15f73d0a0e
+bafb67b0f92e76f71bb301bfe4f863a503f8c1f91a15fbf706778b82858a838a898b
+8a8b898b82917d8f7e08f705fbc305fb1f703b2877fb03897e8a7e8b7f8bfb0ff426
+f7258bdb8bf731ae96cd8c8f8b8f8b8f8b9f829d6f8b08708b6d7d7a76625a546d54
+8b3c8b46ee8be58b948c948c94a7f733f70fc1d18b9a8b978b998808fb1af7f6f78e
+8b05cd8a9c438b5b088b7da58d99f756057287667a728b080efb05fb79a8f8e3b201
+96d4f7f1a603f835f84215fb7a06788b8587898289858d818e7e08d7fb8005fb0c81
+3c457321877d8a7d8b7d8b3ac443f70f8be68bd2b393ab8b8e8c8e8b8e8b9784957a
+8b08748b7a847a7679746974638b608b4dad8bdf8b9a8d9a8f9c9fe0dccada8b9c8b
+9e899f860830f7b1f7228b05a9a57e3c1f8b86a6908ff72c748705887b818a808b08
+0efb05f74cacf73fb5977712ded7f74ada13d8f7caf76d15f733f73f0513b8989593
+978e97088d0713d88f878d831efb9f0613b86d8b97926990085ffb0f9f890513d8a5
+cb9892b58b08f7468bfb5ffb6e05a190ac949c8bc78b9a618b608b798878887b6ffb
+0d548a5e7149665f6e7e538a888b888b88087899829a1e9a8ba59c91a68c8d8b8e8b
+8d8b908a918b928b8e8b8f8c8f8d91909eb6a4b7a3f714a0acf720088f9c8c9a8b9a
+088bcf63b8458e080efb0f8bc5f74eb2f79caa01f817d803f82ff7af155506c1b8b1
+b197cf8d968c968b958be441a2458b228b463d81528a898b898b898b79987e9e8b08
+9c8ba1958fa58c938b928a928a928a938d938fa3a4afd08baa8bbb768b488b838a80
+89810881537162555908fb1f8b8464f18b525905fb022c7a60825308f7c98bb5f712
+738f057354767a698b08fb3d0693bad9cd919008ddcfe98b050efb187fadf7ccb7f7
+1bc701f7e7d503f7e5f748157a2d4f4b3f8b6b8b80a1849e849b8297778b798b797e
+877808860766cf6ec21ef18bf1d3a4f71c8d968c968b9608da57d3fb091e5889b2f7
+1bf7598b8b8d9dc5fbd88bcf5453fb5705a895a28ca68bc58bce5a8b3c8b828a828a
+83080efb187fadf78ab7c5c701f7e1d503f7ddf71e1579395369508b6b8b759e859f
+869b8399778b798b787e87788a898b898b898b66d76fc18b08f7168bcbe59dd78e97
+8c978b978bca63c6388b758b57877d8a08abcaf7588b8b8da0c5fbc58bba544dfb0d
+05ab94ca90a78bc18baa598b588b818a818882080efb187fadf7ccb5cdb2e77701f7
+f3d503f7eff7481577334a453e8b6c8b809e859e859b839a778b798b787e87788a89
+8b888b898b67cd6fc08b08f18bf702e3a7f70c8f998c9a8b9808d65bccfb021e5589
+a3cddd8b94b23f8baae16491692f328b8164e08b5ffb0d05aa95a18ea68bc38bca62
+8b3e8b808a7e887f080e62fb6476f908b601f86ae303f77ff7f515a3e4798b057e8b
+7a80687f768569857989088a6f059d8f978c988b958b91888b7c8b848a83887f08fb
+00fc6705836a7d796b8208798605858a8a888b86088972f721afa4f505f77bf704f7
+2df706adf7288f9b8d9b8b9b8bc46fbd298b578b456a405308f736b915bfa06e591f
+8b778874857170fb07fb1124fb3b3708e1f80505e2c7b6a0b28b080efbf8a176f91f
+7701ddf75103f70d8c15f73e0a0efbf8a176f91f7701ddf7b703f7738c15f73e0a4c
+16f73e0a0efb79a176f793b2cab2f7937701f1f7ac03f74d8c15c5f793f58b94b221
+8b9acaf58b94b2218bc5f793648b50fb93258b8264f18b7d4c05258b8264f18b50fb
+93050efc1682edf8eb7701bbf093f71803d3d4157f828480887e8a868a878b878b84
+8e839084928295869a8b988b97909794979592968e99088c8e8c8f8b8f8b93889286
+93839482917d8b7e8b7e867f8008c6f710158c8b8c8b05938b908f8e948f97abf58d
+8f8f9c95a69ab593a3929f929c929a9199919b90979099909b0890998f9b909e8d93
+8c938b928b9688968693839780937b8b7b8b7d847d7e7d7e827a857408877a887b89
+7b897d897d8a7d8a7e8b7c8a7a8b7b89778872865e886e897f7c3586688a8a088807
+858e87921e0ef94089ad6bb2f8cab36bab9877db7612f8efff005ab33413861c04ab
+8915f73f0a1356f7400a1326fbc806130e6c0a1366f7410afb13f94f15f7030afead
+fd3b1588790513868d89051346b88cb18cb28b081396f7420af742c215440a0ef8b2
+81d846ad94c8f790c55ad7f742ad12f8efff005ab334ff004b4ccca61317fae5f850
+159b0a130f9c0a1337f7430a1387f7440a1337f7450affff4d6668d315bd06ff0026
+6668b9ff002f1998b8ff002ae668b208ffffefb3309805ffffd5800070ffffd8e668
+72ffffd34ccc65ffffe54cccafffffe41998a4ffffdee668a808ffffe94ccc7e05ff
+001b4ccc65ff001be6685eff001366685c08fffc579998fc771588790513478d8905
+b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00049998a2ff0002199cff00
+1680008bff0015cccc8bff009a3334ffff918000ff00758000ffff5ecccc8b4e8b52
+89648b08668b648c5e8c0888898878058a868e88908b08a58905ff001f8000fffffd
+9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ffffff3333fffffa199c
+fffffeb333fffff91998082afc8605856b78806989086e8905878b87878a8608f742
+c215440a0ef80081d83eb990c8f790c55ad767aff761779ea8a57712dcdbf73bd9f7
+4da61310f0fa33f850159b0a1308f09c0a1330f0f7430a1380f0f7440a1330f0f745
+0affff4d6668d315bd06ff00266664b9ff002f199cb8ff002ae664b2081302f0ffff
+efb3349805ffffd5800070ffffd8e66872ffffd34ccc65ffffe54cccafffffe41998
+a4ffffdee668a808ffffe94ccc7e05ff001b4ccc65ff001be6685eff001366685c08
+fffe4f9998fbc7151344f0730a3d04847105857387788b7f8b789271ad8bc98bb3b3
+a5c4fffffaccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d
+8b97088b9491a78f9e08f5f863059acc95b38b8b8b92888e828b081345f0f7050a0e
+f737fb40b8f711a870b2f8d7a8121390f98df89f15f70f0afcc57015f7460a13d0f7
+470a13b0530a13d0540a13b0550a0ef75dfb58aff732a870b2f7f8a79877f5eb8ba8
+12f944ff00558000ffffbf8000eb138900ff02f24cccff0140333415810a139100f7
+480a13848070f7e4157d0afce4fc8215f7460a13c000f7470a13a000530a13c00054
+0a13a200550a0e61fb58aff72ac7f7eda79877f5eba4a8a57712e8daf7a5ff005580
+00ffffbf8000eb13df80ff01ff4cccff0140333415810a13ef806b8b5e855c84ffff
+f94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689fffff2199a
+856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffffb8800075
+356979798bffffe4cccd8bff00057fffb6ffffceb3348b08fffff2cccdfffff03333
+fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00338000ff
+00f3199a0813cf4070f7e4157d0afb489815840a0ef863fb40b8f71e7693a8f8e3a8
+121390faa0f89f15ff00109998ff0053e668ff00116668ff00081998c38eff000533
+30ff00046668ff000280009bfffffa4cd0ff000899985d8affffe9b3308affffd44c
+d08bffffcdb3348bffffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff00
+05b334fffff76668ff00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664
+088b7ffffffdccd0fffff08000fffffc1998ffffec33340834fc4e05ffffdc4cccff
+ff4a8000ffffc9b334ffffe580006c8b7e8b809386958598809c6e8b08fffff1e668
+ffffe08000ffffedb33370ffffe0199aff002bccccfffff03333ff0012cccc1fb58b
+ad92b8aebbb0ff00404cccff0032e666ff001cb334ff0091199a08fb9ef85a15c60a
+13b0c70a13d0570a0ef843fb58aff73f7693a8f804a79877f5eb8ba812fa2aff0055
+8000ffffbf8000eb138900ff03d84cccff0140333415810a139100f7480a13848070
+f7e4157d0afb907e1591a99ea5b18e0813a200a68d05ff0002ccccff00003334ff00
+05b3348eff00008000ff0004cccc088d9e898d055e8a678a748b738b628c5e8c0889
+89887805ffffff4cccfffffb8000ff0007e668fffffce668ff0004ccccffffff9998
+08a38905ff00206668fffffd9998ff000a1998ffffec80008bffffea4cd08bfffffa
+e664ffffff6668fffffaccccffffff1998fffffae6680841fc0f0587788980858b83
+8b829d76b008fb87f850fb188b8889897805ffffff800086ff0007800089928aaa88
+a0648c710831fc62058570ffffed8000ffffe33333ffffd88000fffffccccd087289
+05fffff7199affffff4ccdfffffb6666fffffc9999ffffff8000fffffb199a088979
+8d8905b88cb48ca38ba38bae8ab88a088d8d8d9e05ff0000999aff00058000fffffd
+e666ff0002199afffffb8000ff0000666608728d05ffffe18000ff00026666fffff3
+e666ff001233348ba28bff0004e666ff00008000ff00053333ff0001199aff00054c
+cd08cff7f30592ad909a928b918b9380987508f78dfc4d0513c200570a0ef776fb58
+aff72ac7f7ddc75fa7eeeb12f73bff00578000ff00528000e07adaf779ff00558000
+ffffbf8000eb13dc80ff030b4cccff0140333415ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b6b8b5e85
+5c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689ff
+fff2199a856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffff
+b8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08fffff2ccccff
+fff03334fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a0813cc4070f7e4157d0afbc1fc5215b1f7330513ed00e40a13dd
+00890a13ed008a0a13ee008b0a0ef589a8f76ab5f80b77db7601f7c7f7af153d0afb
+cdfb6015b30af7bcf8fe15f7030a0e4081c7f7faaaf7637701d9dbf739d903f82ef8
+45156e0a59fb6a156f0affffbe6666f7b015f7040a0efba08aa8f8e2a7d47601f787
+f94e15b606b1acb2acb7a708819f05617b6779607070a46d9e689c08777705a970a6
+6ca16708b8fb101590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc8b05866f7b7c62
+8b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e
+878b087106638b7e9891a9080efbb181c7f7eda7987712f6ff0119cccc13b0ff00f5
+4ccdff0140333415f70d0a13d0800aff000a6666f80c15f7490a0ef681adf8ecadc7
+7601ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb90f804
+15f7030a0efb0681b0f80facf7627701d9def771de03f735f73e158c0a3883158d0a
+ff00d36666f7e815f7040a0ed481b4f8dfa8d27601ff007bcccdff004ecccd03f7c6
+8115660af721f95715f7030a0e6381c7f7ddc7f7627701f70cdaf736d903f88ef7f4
+15940affff8b6666f80e15f7160a0ed481b4f8dfa898e9bfb701f7eee9bde903ff02
+4a8000f9ba15f20affffda8000fdc415cc0ab4f96115cd0af72416cd0a0e6381c7f7
+ddc7e3e7cdb712f70cdab2e7aad962e713fcf782f8d115d20a13fdf73416d20af700
+fb7115ee0a13feef0a13fdf00a13fef10aff001f8000f8c515f30a0ed481b4f8dfa8
+98e901f7eee9bde903ff01c88000ff02e8800015ff0006e6668bff000c4cceff0004
+4cccff00103332ff0006333408ff00823332ff00378000ffffcde668ff00279998ff
+ff936666ffffb6199c05fffff53334fffff81998fffffab332fffff9cccc8bfffff8
+199c8b848efffffd4cccff000633348b08ffff688000fffd0d800015cc0ab4f96115
+cd0af72416cd0a0e6381c7f7ddc7e3e712f70cdab2e7aad962e713f8f782f8d115d2
+0a13faf73416d20af700fb7115ee0a13fcef0a13faf00a13fcf10aff0008999aff02
+6f333415f74a0a0ed481b4f8dfa898e901f7eee9bde903ff01bf4cccff02ec199815
+ff0021199a06ff001d4cceff001de668ff001eccccff001c3334ff0021e668ff0019
+800008fffff84cccff0011999805ffffdfb334fffff1e668ffffe36664ffffef4ccc
+ffffdfb334ffffe91998ffffea6666a1ffffe9b334ff0010b334ffffe44ccc9a08ff
+fff0999affffee666805ff0017199affffe76664ff00158000ffffe5999cff001033
+32ffffdf666408ffff71b334fffd09e66815cc0ab4f96115cd0af72416cd0a0e6381
+c7f7ddc7e3e7ff002e33347612f70cdab2e7aad962e713fcf782f8d115d20a13fdf7
+3416d20af700fb7115ee0a13feef0a13fdf00a13fef10affffa18000ff0208333415
+b306ff001eb334ff00296664ff0025ccccff00288000ff00224cccff0023199c08ff
+fff2e668ff000bb3340569ffffe7b330ffffe0b332ffffe98000ffffdc3334ffffdd
+ccd0ffffeab332ff00206664ffffe9b334ff00168000ffffe58000ff001a199c08ff
+ffede666fffff44ccc05ff0015ccceffffddccccff00163332ffffd78000ff000f99
+9affffd5b334080ed481b4f8dfa898e901f7eee9bde903ff01e76666ff02f9333415
+8bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ffffb16666ff00
+49e66448ffffd86668ff006c999affffc8800005ff000c4ccefffff9ccccff000acc
+ccfffffbb334ff0007b3348bff000b80008bff00033332ff000b66688bff00054ccc
+08ffff49999afffcfccccc15cc0ab4f96115cd0af72416cd0a0e6381c7f7ddc7e3e7
+12f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a13
+fcef0a13faf00a13fcf10affff946666ff027c333415f74b0a0efb3481aaf7fac701
+8fd0f751de03d4c6158bff0059b333ff00693333ff0021199ad7ff0009cccdffffdc
+b333ffff72e66654ffffe28000ffffd6199a8b678b7e948ba808f750f73f15fb9958
+8f3e8b650872a25ad3f742d3f73ef713e063ce381e488b4e68503f90809186978bc4
+c5a294bb8bb88baa738b308b868b768a83080ef589a8f76ab5f80b779febbfb712f7
+cdebf721eb13ceff02688000f9ba15f20affffc48000271513deb70af78116b70afb
+87fc3b153d0afbcdfb6015b80a13eeb90a0e4081c7f7faaae3e7ceb712d9dbd2e78d
+d97fe713fcf779f8d115d20a13fdf73416d20aa0fb2015d30a13fed40a59fb6a156f
+0aff008c8000f86715f20a0ef71a8aa8f76cb2f832eb4ab312f84aec13c8f72dd315
+e7f72f0591969491a48b08f7668bacfb40058c878b888b87087475816d1e6f06868b
+88888a860887788d89058bed8dafb2d6898b1e8f8d8e9e058f878f871e8006638b7b
+9e83b208fb01f8b20585a585937b8b828b81827c7208fbdefcb70577697678628b08
+7f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e
+06707b92991f8b928f94909208f730f7671579858f901f8b8e8c8d8d8f08f728f78d
+befb9f0513e892f892156b73706f749c79a4a8a5a4a91fa4789b751e13d8384a159c
+b3378b057f8b7e7b887f8a8a8b8a8b8a08858e88921ef786b2157a64de8b05978b9a
+9a8d96088f0790888f841e0e4081c7f7faaadeebceb712d9dbff008c3334ebffffb8
+ccccd913fcff012a3334f8ce15f7020aff006fccccfb1d15d30a13fad40a59fb6a15
+6f0aff008d8000f86615f20a0ef7cc8bb265a6f782b2a6adf784b36ea8d8b712f95c
+acf710a6133380fa0ef96715978b9a9d8e96088f07918890841efb89067f8b7d7a88
+7f088607868d86921e137380fb42fd661513bb80d68af79a8bc1f7347190056f4265
+564a8b08fb2d06787f909d1f8b8e8b8e8c8f08b9f798f08b05ad937b6f1f8c6c0587
+8c88911ea28b8e8e058dab8ca891ae91ac95a993ab8c8d8a8d898b087506878b8787
+8a87087f6d05806f7f7b688b08268baff7640590a39893a38b08f72206bfa24f601f
+a68e0513378095f72005133b80fb898b3d8a05137780fb438c8775058a898c86928b
+08aa069999837d1f87078a878987878508fbf8fc8f0572687d846f8b087406858b87
+888a86088776058bc48daeb2cd898b1e8fa2058e8a8e871e6e0675838d921f8b9190
+93989c08f720f75af7478b68fb5605866f7b7b628b087106868b87878a860813b380
+88788c89058be98eaf1efb27f7c415f765f7b9058a868c8b8879085bfba2050ef712
+81b561bcf744aef733a9e2b712c7d583ff004f6666ff008e999ad4f77ad9133980ff
+02466668f8a215988bff000eb3309dff0002666897ff0001333491fffffdb3349381
+8b08ffff0afffe06808bfffff180007afffffd999a7ffffffe999a84ff00024ccc83
+948b08ff005c999afba515a6e0c4cecf8bb68ba46e8b6e8bffffb26666ffff924ccc
+fffff5e666ffff91b334fffff9b33408386515d80a13bd80d90a9ff70b15da0a137b
+80db0a0ef7127faff720b4cdaff7ceb001dce6f87daa03f87ff92615fb408bfb56fb
+1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5849287928b9408
+8b9094c0cd8b92b44a8b8fa10590a7979bae8b088c06908b8e8e8c900890a5898d05
+8b51896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a87
+088775fb068b8462f7068b7b3105636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e
+9caaf743f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e
+37fb82acd9b0f772a9f781b36da91292ff00443333ff0028cccdc35bd5f723d513f5
+80f833f7b715790a13ed807a0a13f68072716e5b8b688b818b74a57c64ffffea999a
+ffffc9199affffdc999affffe5e666ffffd6cccc086066ff001c999a06ffffff9999
+88ffffffcccd888b888b3af70376dc8bff007bcccc8bff00563334ff001fcccdff00
+0f8000ff004f333308ff00288000b0ffffd9999a06fffffb4cccff003a6666ffffd2
+4cceff001e6667ffffccccccff000f33333ba3428d8bbb8b9f99a3949c9b81a384a7
+8b08e2ccc7ee1f41164d7e484f1e13ed804e82d3bbd397c2cdb6a159471fff0008e6
+66fc1115fffef0999a06ff000eb333ff0026999aff002ee667ff00214cccff0014e6
+66ff000f199a9d87d175ac7cff00218000fffff06666ff0016199afffff1e667ff00
+0c4cccffffefb33308ff000c199a6615656963331effff99cccd8b55ff001ecccdff
+fff76666ff002f3333080ef7127faff78baff7ceb0c87601dce6f82dc6a0aa03f863
+f94e15b606b1acb2acb7a708829f05617b667961706fa46d9e689c08777705a970a6
+6ca16708a76315fb408bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf7
+0a8be2b0d9c5849287928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c90
+0890a5898d058b51896764358d8b1e88898771058a868e88908b08a506ad9981751f
+8b878b878a870870fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf7
+43f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e37fb82
+acf7e5a9f781b36da9f768771292ceb5c35bd5f723d556cc13cc40f7358815780a13
+ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0affffb96666f76d15
+f7040a0eee8aa8f8e2a7d47601f852f94e15b606b1acb2acb7a708829f05617b6679
+607070a46d9e689c08777705a970a66ca16708fb8afd0615b4f78105a68799809c74
+08f727fb5a05957e8d7e8b7e8b818a828a830889858d89058ba38dafb2d6898b1e8e
+8d8f9e058c90868e868b0885066e8b769b76a808fb54f79805849486938d938c9497
+97aea708f74ff72b05c4b9b094b490918b908e8c90088e9e878c058b4e8a67643f8c
+8b1e898a8778058a868f888f8b08a0069b9782851f8b83807d747808fb6ffb440571
+76777e768608b3f7770590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b
+7b628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90
+878e878b087106697d95a11f8b8e8b8f8c90080e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830aff00c06666dc15f74c0a0ef6fb65b1f735ad
+f8ecad01ff00576666ff005ae666ff0088b334c6ff00f34ccce403f899fb2215f74d
+0a3af99215580a0efb06fb4db1f71db0f80fac01d9def771de03f735f73e158c0a38
+8315f74e0a0ef6fb65b1f735adf8ecadf6b701ff00576666ff005ae666ff0088b334
+c6ff00f34ccce403f899fb2215f74d0a3af99215580aff008b8000f72115f20a0efb
+06fb4db1f71db0f80facf717b701d9def771de03f735f73e158c0a388315f74e0aff
+016a8000f82c15f30a0ebafb67b0f92e76f71bb3d37601f727a5f7cee603f7adf91a
+15f73d0afb84be15f7030a0efb1bfb7dacf7d9adf757c55ad712a4d88ba6f740df13
+e6f780f73315f74f0a13d6f7500a13eaf7510aff001f6666f7e915f7040a0efbc2fb
+58aff8bfa79877f7807712f74dff0055800013b8ff00fb4ccdff0140333415810a13
+d8820affffe96666f7a715f7490a0ef98a89ad6bb2f8cab36bab987712f8efff005a
+b33413449e9d1588790513848d89051344b88cb18cb28b081394f7420af742c21544
+0afaaf4015f73f0a1354f7400a1324fbc806130c6c0a1364f7410a0ef8ca81d846ad
+94c8f790c55ad7f742ad12f8efff005ab334ff005e4ccca613479e9d15430af742c2
+15440afa37f8071513179b0a130f9c0a1337f7430a1387f7440a1337f7450a0ef7e0
+81d83eb990c8f790c55ad767aff760a8a57712dcdbf73bd9f745a61347e0f7edf756
+15730a3d04740af8d5f7da151313e09b0a130be09c0a1333e0f7430a1383e0f7440a
+1333e0f7450a0ef281aff789aff7ceb0c87601ff0053999aff0057e666ff01dd8000
+a903f87bf926154e0a58b315b40a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5
+f723d556cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a
+13db0041167c0a13c880e1f81015ffff9c4cccfb0b05fffff53334fffff33334ffff
+fbe66687fffffdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cc
+cc8fff0012199a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999a
+8cfffff9999a8b08868bfffff9b3348afffffccccc8a080ef7e77fba67a8f7bcb290
+d5f744a712f8aadcf78cb513bef8adf7191589808a818b818b42bf62e78bdb8bf5d9
+abf74b91ab8ea88ba48bcf75b2598b6f8b7a788879088a898b888b898b72a587958a
+a187a0778b558b7c8979887779293c23418b628b6ca18bbb088b938c938c9408d9f8
+500590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a
+8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f76705
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+058a868f888f8b08a606ac9981751f8b7f32fc8a05137e866f7b7b628b087006868b
+88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08710669
+7d95a11f8b8e8b8f8c9008b7f790f7db8b050e76fb6176f9d3a674bc12f886e813b0
+f7abf9261573067582758778870813d0798866857b8b088972058a888d898e8b08ac
+8e05999281741f8b828a80897d08fb09fd2c05856a7e796b8208768505868a8a888b
+86088e72f724b0b0f76605f75cf71bf755f721a7f7348fa18ea18b9f0813b0da69c5
+2b1e4b8b4153485408f742c915bb9f6a4c1f8b70876b856673fb18fb2afb07fb2323
+08d9f84a05e2d5bcaab88b080ef4967693a8f8e3a8d276121370f943f8c115560a13
+b0570a79f94b15b20a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0a67f8b715ce0a0ef589a8f76a
+b5f87ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff00
+189998ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334ff
+fffb8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdff
+fffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e
+8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199affff
+f48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08df
+f725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccffff
+fce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd66
+66086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af
+8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c
+05658f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffff
+ff3332ff00036668ff0020999aff000b3334ff001bcccca6ff0009999cff001f9998
+ff00096664ff0001199cff000e6668ff00048000ff00124cccff0006199808f73dca
+4ab8fb213705ffffff3334ffffff8000ffffff4cccffffff8000ffffff3334ffffff
+8000fffffae664ff002166686eff00171998ffffdb199c8b5d8bffffcf999866ffff
+f6999a5d08ffffab199afc46153d0a0e4081c7f7faaac7a6f704a601d9dbf739d903
+ff01c7999aff033e333415f74a0affffd26666fffe72cccc156e0a59fb6a156f0aff
+fffa3334f83715d50affff9db3325315d60a0ef7a089a870b2f777b2a3adf786b370
+a7d57612f949aaf2a8133380f7d3f7c515bb0a137b8078fbc515bc0a133780fb3c8c
+05133b80898a87770513b780bd0a13738087780513b3808c89051373808bc18dac1e
+13b380b1cc898b1f1373808c8d8fa00513b380be0a13738087790513b380bf0af741
+f94f15b40a0ef71281bc5ab5f80da912c7d583ff004f6666ff01bd999ad91324f843
+f79115d70a386515d80a1374d90a9ff70b15da0a13acdb0af74bf7e515f7520a0ef6
+81adf8ecadc87601ff00576666ff005ae666f84be403f96bf93215c90afbd07615ca
+0a66d515b40aff00d03334ffff33333415cb0a0efb0681b0f80fac01d9def771de03
+f86af87115e90a31f76e15ac0affffdfccccfffe8f800015ea0aff00b91999ff0125
+333415eb0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30af82ff8ee
+15f7530afb6ee915f7540a0e4081c7f7faaac47601d9dbf739d903f82ef845156e0a
+59fb6a156f0affff86cccdf83e15f7550aff008933339115f7560a0ef589a8f76ab5
+f80b77d576c8c001f8e6a903f7c7f7af153d0afbcdfb6015b30af7f3f96a15f7570a
+0e4081c7f7faaaf729c401d9dbf739d9ff001a4cccff001d666803f82ef845156e0a
+59fb6a156f0aff00434cccf7ab15f7580a0e6889a870b2f7b0b1d677f751b370a812
+f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d
+89051373490a13b34a0a137b4b0a6fb215f7530afb6ee915f7540a0efb3481c7f7fa
+aaf7697712dedeff00a7b334ff00458000ffffcfccccd013f4f7f7f80615df0afb50
+fb3f15760aff004ecccdf85915ffffe8999a8bffffedb334ffffede668fffffc6666
+ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00
+01999889ff0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334
+ff000033348cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94ff
+fff966668dfffff400018b08ff00893333911513f8f7560a0e6889a870b2f7b0b1d6
+77f751b370a8cc76c8c012f822aae2a8133bc0f8bdf91a15450a1337c0460a133bc0
+470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc04b0a
+fb0bf73315f7570a0efb3481c7f7faaaf72ac412dedef751d0ffffed4cccff001d66
+6813f8f7f7f80615df0afb50fb3f15760a13f4ff00ee4cccf7c015f7590a0efbad89
+a8f8e3a8c97601f769f8cd15500af739f70f15f7530afb6ee915f7540a0efbb181c7
+f7eda7987712ff00ddb333ff0045800113b0ff00f54ccdff0140333415f70d0a13d0
+800affffbdcccdf8bf15ffffe8999a8bffffedb334ffffede668fffffc6666ffffee
+1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00019999
+89ff0001cccd8a8e8bff000299998bff000b4ccdff00044ccc8dff0009b334ff0000
+33338cff000066678dffffff33338c08ffffce4ccdf71f05fffffccccc94fffff966
+678d7f8b08ff008933339115ffffe080008b7cffffe9ccccfffffd3333fffff23334
+8a86ffffffb333858f8608ff004d6666fb0d05ff0001999a89ff0001ccce8a8e8bff
+000b33328b90ff000a6668ff00008000ff00029998ff000033348cff000066668dff
+ffff4ccc8e08ffffde6668f72305fffffdcccc948490808b080efbad89a8f8e3a8cb
+76c8c001f819a903f769f8cd15500ae9f77f15f7570a0efbb181c7f7eda79877f740
+c412ff0063b333ff0016199aff00c26667ff001a800013bcff00f54ccdff01403334
+15f70d0a13dc800aff00743334f80a15ff001a800097058ee0ffffdb3332bd4c8bff
+ffcae6678bffffbd66665affffe580003508ff0016199a7f05ff0013999ac5ff002f
+4ccdabff002ecccd8bff0030999a8bff001fe66666ff0000333456080ef681adf8ec
+ad01ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb1ff7f8
+15f7530afb6ee915f7540a0efb0681b0f80fac01d9deff0091b334ff00458000ff00
+05ccccde03f735f73e158c0a3883158d0aff008ccccdf87e15f7550aff0089333391
+15f7560a0ef681adf8ecadc176c8c001ff00576666ff005ae666ff0188b334a9ff00
+104ccce403f848f90415580af79bfbbb15590afb66f87015f7570a0efb0681b0f80f
+acf729c412d9def771deffffe54cccff001d666813f8f735f73e158c0a3883158d0a
+13f4ff01684cccf7e415f7590a0e8581aa74a8f79cadf7bbad69a4cd7612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0ae6af15f7530afb6e
+e915f7540a0efb609676f80fd15fa7f77a7712f738ff00528000ff00413334ff0045
+800013bcf771f7b115f71c0a13dcf71d0afffffecccdf80515f7550aff0089333391
+15f7560a0e8581aa74a8f79cadf7bbad69a4ce76c8c012ff01e9999aff0054666652
+a9133700f811f900155d0a91ad15136f005e0a13b7005f0abbf72b15508b3b65763f
+08a5069bb1c2a2be8b08132680c0b474681f88a8078c918b908b918bb374c4328b08
+0efb609676f80fd15fa7f739c412f738ff00528000ff00a3ccccff001d666813bcf7
+71f7b115f71c0a13dcf71d0aff00b94cccf76a15f7580a0ed481b4f8dfa801ff007b
+cccdff004ecccd03f7c68115660af798f94115f7530afb6ee915f7540a0e6381c7f7
+ddc7f7697712f70cdaff009ab334ff00458000ffffc1ccccd913f4f88ef7f415940a
+ffff47ccccf8a415ffffe8999a8bffffedb334ffffede668fffffc6666ffffee1998
+fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff0001999889ff
+0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334ff00003334
+8cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94fffff966668d
+7f8b08ff00893334911513f8f7560a0ed481b4f8dfa8cc76c8c001ff007bcccdff00
+4ecccdff017b6666a903f7c68115660af756f9c315f7570a0e6381c7f7ddc7f729c4
+01f70cdaf736d9ff00154cccff001d666803f88ef7f415940aff000a4cccf80a15f7
+580a0e20fb83a3daddb7aff8eaad12cba9ff002fcccdff00483333ff009de666ff00
+53e666fffffe3334aa13fcff00eab3335515f75a0aff01024cccf93c15589391a332
+8b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bffffa76666ff00
+4d4ccdffffd0b334ff0045e666680813feb974ff0024e666ffffe033338bffffc3e6
+678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd7b3a5a6b428b36
+8b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff
+000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c
+800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666088bff00
+068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b0813fd610a
+0efb64fb7ba3daddafacf813ac12c6df77cbdfd658dd13f6f7428115900a13f5910a
+13fa920aff0003b3336715f7140a0e7afb82a3daddbea8f8d7b2987712f906a913f4
+f779f9191513ec620a13f4630a13ec640a13f4650afffeebb334fd4e156e8bffffe7
+199978fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff
+000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe3334
+82ff0000199982ff0004cccd85ff003acccc94ff00373334a9ff000c3334c708ff00
+0a9998bfffffeee668ad658b080efb92fb8ba3daddbfc7f7e8b201f1da03f74ef841
+15930affffd1b333fcb115f7140a0e39f803a9f777ad12d6dc95a2f753e63ad013f8
+f5fb25159e8ba59c8fa28b8c8c8d8b8d8b8f8a8f8b8f8b908c918c9191aea7a4c39a
+f70cacdeda9be6088e9e8d9d8b9c8bdc62bc349baa98d1b699d50813f48c938b938b
+928bd445a4608b498b597f6f8b08868b6cfb14a28905a1cdbab5c28bae8bb57c8b52
+8b838a848a8181523842458b086d0713f8e0d16c301f8b7f8a7f897e7f445a444171
+fb0065574785668a888b888b8808769a7f9b1e0efb46fb6476f82aa4f762ad1296d2
+f767d953cc13f8b0fb79159e8ba09c90a28c928b948e9893aead9fc39dc09cf3b9a4
+f68e978d968b978bbe6bb45199089f96cab499c70813f48d918b928b908bc54ca961
+8b498b667f708b08878b68fb099f8905a4cdacaacb8bad8bac798b618b848b848983
+815d4d4a3a7e08857205978d968d958b0813f8b5cb82461f8b818a80887e7c4c6265
+5878346b414082678a878b888b8808789b85951e0ef70489a8f7bab5f793a8d27601
+f854f94d15f7030af72ffb14154f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13
+f4ff00afe666d315f7090a13f8f70a0a13f4f70b0aff00ca8000f8d015f74c0a0eb5
+fb79a8f75ba8f8f9c453a912f8aee113e8f3d315866e7f7c698b087406868788861f
+87788d89058bd38dafb2da898b1e8d8d8e9e058c90888e868b0874067081959f1f8b
+8f8c8f8c9108dbf85d05f5e0c4a6ba8bb68b9f748b4b8b6c866281560824fcdd0586
+6e7f7c6a8b087306868b88888a860887788d89058bd18dafb2dc898b1e8d8d8e9e05
+8c90888e878b0873067181959e1f8b8f8b908c9108f702f9060591ac92b18bae8bcc
+74c4318b578b4168fb043108a1f711758b057582768778870813d87a8865857c8b08
+887205888d898e1e958ca18e05999383731f8b81897d887a080ed684b5f1a5f78aae
+f74eaab07701d7daf862a603f82979156f6b736b7069089e8705a7aca4aaa6ab9788
+8a8d978bbe8bbe9cb1a9a5a19fa993ae8d918b908b908b94899386900883957c9175
+8b798b787f777c666c665a7671848b89938b968b9e92a890a308f719f8d5758b0580
+85778172846480708a828908856c059b8fa18e958b938b93888b7f8b83887a856f08
+68fb2c056ca3608e778b5f8b607d6372086d7605576069517a43867689788b788b64
+9567a16ba467b27bbd8bb98bb59ab3ac8a878a878b87088b69b3819c8808f767f70d
+15887a807b7b7f7075637b708b7f8b818c808d9ea4acb8aaa499979a92988b988b94
+879184088e888d858b858b888b888a8908fb976f15f75b0a0e8481a5f8f69f959f12
+d8d1a7e1f759e374d213faf852f93815867705ac85a1809879957e8f7b8b778b7f8a
+7d887d82677a6c707271746f766e797a957a977a9c0863ae05769c819d8b9e8b908b
+8f8c8f92a59ca3a9a1a8a0a997aa8d08909f05568a5b7d60735a716d66815e89828a
+838b838b669f67b56a08be640562815e735b65636c72658361897d897f8b7f8b7193
+75997bac67c179d88bc18bcd93c8b008c1abacb798c20813fc8d938b928b938bb472
+b458b66aa77799868ca894b1a3bab0aba5a1b095b90813fa8e958c958b948ba880a5
+74a20875a06596558c08fb3ffd2815678b6b976da2779a81a18ba78b948c968e9694
+b3b0b5cdb608c3b1c6620513fcc064a6668b678b858b8689858264776c6d766e7562
+80578b080e2e76a5f9137712cbc9b3d4f727d882c713f4f85bf91815746f058e878e
+868e86947c8f7b8b788b818a818880846c7c717575676873767f857d957e987d9b08
+6baf0583938598879a899489948b938b8f8c8f8c8f8f9d929b979a979a9997999508
+7da5057c857e837e83606f7166805d89808a7f8b808b669a68aa6b08b36305788577
+80747c727a797d828075737d7a8681756580688b6c8b7d8d7f8f7f9275957a978008
+a674b480bf8bc58bbd9ab5a9b9adaaba99c90813f88d938c948b948bb277b364b570
+a87c99878da593aaa2b3b1a7a69daa94ae0813f48d978d958b958b9589958894869d
+829980960883928192809008fb77fd13157a8b7c8e7d90828f80947c9a8294859987
+9f8a938a938b928b988d978e9894b3acb5c3b808bcb1ba610513f8b4669f658b668b
+838a83898382637a6c71757175697f608b080ec489b8f8b0b901f8a6cf03f883b615
+fbde8bf893f8a8059d9e989a8c94088c8b8c8b93818d7f1ffc400675878d8c1f8b8d
+898c788e888b8a8956fb288a888e8b9e8b8d8b8c8d059ebea6a8b196958e978d978b
+08f7b28bfca2fcb8058382878589848a898c8a8a888c859188958b08f80a8b8d8b05
+ac8ba6809f759580907d8b798b848a828982877b827b7c7908a7069d979b9c959e97
+9e949d8f9c8c928c918b928b9c859b7e997a9d6f94648b080efb058bb2f7f4b29377
+12f802cf13d0f7ddb215fb588bf7caf7f005989995968c928c8c8b8c8b8c0891858d
+831efb84067086908c1f13b08d8907768b898b8a8956fb1b8a888d8ba28b8d8b8c8d
+0597a9a2b299940813d097939b909f8b08f7228bfbd4fbfb05848286878a85088a07
+8a829788a08b08f75e8b8c8b05ad8ba5809f759580907d8b7a8b838a838981877b82
+7b7c7908a8069c979b9c969d979f939d8f9c8d918b908b908b9c84987e9908799d6f
+95648b080ef589a8f76ab5f80b77cceb01ff01b83334eb03f7c7f7af153d0afbcdfb
+6015b30aff01173334f93415f7000a0e4081c7f7faaadeeb12d9dbff008c3334ebff
+ffb8ccccd913f4f82ef845156e0a59fb6a156f0a13f8ffffc23334f7f315f7020a0e
+68fb49a4d7abb9a870b2f7b0b1d677f751b370a812f7afc2c7aae3a713cee0f8bdf9
+1a15450a13cde0460a13cee0470a13ede0480a13dce087770513ece08d890513dce0
+f75c0a13ece04a0a13dee04b0a0efb34fb4ea4d7abf861aa01deded2c2cad003f7f7
+f80615750afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb131e8bffffac
+6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd199affffb4e66690
+85059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b
+08cec5aebeab709a6b1f828b828a838908ff001f199aff0030cccc05ff0036999aff
+0009999aff0032e666ff0022e666ff00316666ff003fb334869685907f8b52517482
+5b8b5e8b6ca38be68b908ba08c93080ef681adf8ecad8beb96b712ff00576666ff00
+5ae666ff001eb334ebff01384ccce4ffffa7b334eb139cff0245e668f99115f75d0a
+ffff5a8000501513bcb70a13bdf82d167d0a13defb4a3915c80af79bfbbb15590a0e
+fb0681b0f80face3e7cdb712d9dea8e7cfe74fde13fcf752f8d115d20a13fef73416
+d20afb51fc2715e70a13fde80a3883158d0aff01888000f89f15f30a0ef681adf8ec
+adff00236668ff00306664fffff63334b7ffffe23334ff0032999812ff00576666ff
+005ae666ff017cb334ff00136668ff0026e664e413d7f90ef99c15825fc78b059895
+9d96928893811ffc1b5f1593b74e8b057f817980848f83941ff756fb0015580af79b
+fbbb15590a13efffff408000ff019ccccc15f75e0a0efb0681b0f80face2b78fb9cc
+b701d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10aff0048cc
+ccf70715f30a0ef681adf8ecadb7eb01ff00576666ff005ae666ff00f5e668ebff00
+611998e403f848f90415580af79bfbbb15590afffeed3334f83915f7000a0efb0681
+b0f80facdfeb01d9deff00773334ebff0005ccccde03f735f73e158c0a3883158d0a
+ff00ca3334f82d15f7290a0ef681adf8ecadb7eb45b612ff00576666ff005ae666ff
+00f5e668ebff00611998e413def8e0f997158260dc8b0598959c96928793821ffbaa
+601594b6378b057f817980848e84941ff7152315580af79bfbbb15590afffeed3334
+f8391513eef7000a0efb0681b0f80facdfebcdb701d9deff00773334ebff0005cccc
+de03f735f73e158c0a3883158d0aff00ca3334f82d15f7290aff00bb4cccf70615f3
+0a0e8289a8f8e3a8dab701f7e4d7156a0aff00c08000f91e15f20a0e51fb7ec8ff02
+178000ff004c8000f717b701f871ff0048666803ff01608000169a0aff00928000f9
+1415f30a0efb3572b7f70aa6f873a8a57701ff00726666ff004c199aff00b46666ff
+001c199a03f76ca915d5e6ff0013199a9bff001be6668b08ff0012e6669afffff6cc
+cdffffeecccdffffcf8000ffffb3999affffd4e666ffffd980001f788b7f8f829208
+7f9715fffff66666ff000c6666fffffc199aff000ae6678bff000e19998bff000c4c
+cdff0002e666ff000ecccdff0004999aff0014800008f1f85c05ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc
+5005fffffbb333ffffece666fffffdb333ffffef33348bfffff133338bffffdc6666
+ff000db334ffffe7999aff0021e666ffffecb3330847359b82cfe30598869c899e8b
+08cbf700ff003f6666ff004f999aff001d999a78ff00106666701fffffd54ccc8bff
+ffe1b334ffffe5b3333fffffa04ccd080edf83b7f70aa6f75ac75fa712f73bff0057
+8000ff01654cccff001c333413ccf85dba15ff0041ccccff00523333ff0017b334ff
+0018cccdff001f80008b08ff00141998ff000db33481ffffed80005cffffb4999cff
+ffd58000ffffd899981f788b7f8f829208fb77f79c15ff00034ccdff0009333405ff
+000d199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8
+b333ff00076666fffff2cccd8b0813dc890a13eccaddc2c6af8bb78bfffff7199aff
+ffd3b334fffff2e666ffffc74ccc0865fb3805fffff3199affffc86666ff00236666
+ffffd9199aff001a8000fffff180000847359b83cfe30598869b899f8b08ff003ecc
+ccff006d3334cbd9ff001e3333fffff0e668ff0010cccdffffe019981fffffccb334
+8bffffe14cccffffda800049ffffab8000849388988b9d8b9dff00034cccff0018e6
+66ff0007b334ff0022199a08a3f505ff0010b334ff0049ccccff000c1998ff005433
+34ffffaf33348b578b60762ffb00080efb4f7cb7f70aa6f76db201f702dc03f7b9f7
+141599979a92978b988b9587908490858e838881877b7f797c7e6f756e7d718b798b
+7f8f819208afb6a6ab9c9808fb47761588818a808b838b5fa673a1800847359c82ce
+e30599869b899f8ba78bba99b0aaa6a0a2a493ae8c918c908b908b98879586928395
+8192778b08768b737e787c73776f6b6a61859487978b9d8b9e8fa492ac08bff773f7
+048b94b2fb048baef72e4e77867805815f806f807c0885860577796d86728b088264
+d18b050efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4ccdff01403334
+15810a13d0820a0ef7507fa774b5f7ffb66baef75ba6a47712d7daf8b0da135ff8d4
+f94b15750675837b867888798765867c8b088772058a888d888e8c08ac8e05989282
+781f8b80897f877b0867fb33056ca3608e778b5f8b617d6272086d7605576069517a
+43867689788b788b649567a16ba467b27bbd8bb98bb59ab3ac087f5a9d8b05999698
+9697960813afa272ac7fb68bb18bae96a89aa0969d979c99c6b9b2c99dd98f9e8d9e
+8b9c8bb67eaf6fab0873a66d96688b6c8b6c8469797d837d817b7d083efbde159bce
+c1f77d059c989d96a0939e949f8ea08bad8b9f789a6d94758f748b768b738675897e
+7b4b715a6b65085d565687778b6c8b75987ca40885f7bc154bfba705135ff75b0a0e
+f74efb7da9f756b75faef807bd64ae12d8d9f8acd613cef834f7e4154bfbab056c78
+6788798b628b6c9d76aa829a81a18baf8b9f8ea292a897c1a2b7a4a8acb1ae99af8b
+08b58ba7719c5d08fb06fc831586798982808187888387788b087906868b88888986
+088675058bcc8dafb2cb898b1e90a1058d90878e878b0878067a8b848f878e8a8e89
+8e8b918b918c928d9708b3f7400513b6a17da883af8bc48bc0a2bfbabeb9adc79bd1
+088d07909e8c9d8b9c8bb381ac78aa08138e76ac6598688b788b69847782737f6c73
+736f0898c4058c908c908b8f081396928991841e818b848183800875700513ce71a9
+63995a8b5a8b5f7b626e465965457b45867789788b798b69936b9c6ea360b675ca8b
+08c48baf9f9e9808e0b715c4f78c059ca5a19fa2980813b6a19aa3929d8bad8b9b7c
+9873967790728b6f8b748873856f7b4a725b67696f726a7f648b087b8b688d72b308
+0ef71a8ca6f76cb201f807f78815f7108bacfb40058c878b888b87087475816d1e6f
+06868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e8006
+638b7b9e83b20845f7eef7b4f7d4588bfb8afba66df72a0586a584937b8b828b8182
+7c7208fbdefcb70577697678628b087f06868b88888a860887788d89058bcc8da41e
+948b5752be8bbec4cb898d8d8f9e0590888e871e6e8b818b05f7bcf7dd1599413a8b
+05c5f70d15fb00fb0d5c8b057a848f901f8b8e8c8d8d8f08f728f78d05fbaffc7215
+e7f72f0592969391a48b08af8bfb44fb588b8c058b928f948f92080ede7fb4f8e4b0
+01e1e5f869aa03f766f70615f812f86505af6b985b8f5408aa8f92f73905778b7b90
+7a9108f5f716598b2cfb07056f956794548bfb398bfb48fb2668fb59877589758b76
+8b4f9b51ac5d08fb09fb23be8be7f70505b761ca71e18beb8becbbdfe408769a0537
+3d426a2e8b438b5aad6ebe0879b31580ac86af8bb08ba38da490a4aef75ff731dfda
+8bb88bad84a67e080efb207fb7f80faa01e3dcf76cd503f73ef728158b928a938b93
+08f729e6e6d799b3846a1e8b85898288878b8b8b8a8a8a08f702f31553560578a26a
+9d568bfb078bfb16fb138bfb3a8b7891749575083034a570dfdb05a568b16fba8bf1
+8bc4cb9da7087a9a055f5652816f8b708b619779c608f76af7600590869488968b95
+8bab968bad8b938a93899308ccc9050e6189a870b2f7ccb7f773a81213b0ff00f74c
+cdf7f315ff0085ffff06988bff000db3349dff0002666697ff0001333491fffffd99
+9a93828b08ffff6fb3328bff0022199af74205ff00058000ff001c1998ff000f8000
+ff000de668b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e
+8608ad8805ff0026e666fffffc9998ff000ae667fffff33334fffffa3333ffffe233
+3408ffffde199afb42ffff8819998b05fffff4ffff8bfffff180007afffffd999a7f
+fffffe999984ff0002666683948b08ff008133338bffffca8000fba705fffffa999a
+6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82081370
+530a13b0540a13706fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccdfffff2
+4ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff0004cc
+cd080e7a89a8f8d7b2987712f906a913d0f7c2ff011a80001563ffff31800005856f
+7c7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff0003666680ff000c3334ff0005e666ff001e666608ff004e199a
+f825ff004c4cccf715ff0030999a8b05bf8b9a719c48958bff00084cccff00004ccc
+ff000bb334ff0004b3340813b0640a13d06afffffa8000fffff2ccccfffff88000ff
+ffdc33348b08ffffd180008bff00408000f701588bffffbf8000fb01ffff1380008b
+0513b0620a13d0a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5
+e668fffffb3334ffffe3199808ffffe1b334ffff63999afffeeb4cccfffe2c6666be
+8b050efb64fb3ba6f716acffffe5b333ff006a4ccdf7c3ac12c6df77cbdfd658dd13
+d6f74581159706edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813d591
+0a13dac067936a8b768b5463785e8b718b7d9088a10813ba88a27da96d8b6e8b8373
+8b808bffffe2ccccff001c8000ffffe2e667ff002de6667eff000e199afffff33333
+ff00034ccdffffe58000ff00089999ffffd7999a9758ff001d33346ab68ba38b9e91
+ff0016199a9708ff000c6666939496ff0001cccc95ff0001333492ffffffb33295ff
+fffc199a91fffffc199a918291848b848bfffff6800088fffff9e66685fffff7ccce
+84fffff8199880fffff9b3347efffffa333481fffffa199986818b08738bfffff066
+6698fffff14ccdd108fffffc4ccdff000f800089ff00103333fffffab333ff000f4c
+cd080efb2a8bb2f7f4b201f76af842156e8c958f1f778f4afb29a4860599ada6b497
+9497939b909f8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1ff7bd
+8bbef7177290057b6572617d847f847f88798b08fb358bf7caf7f005989995968c92
+8c8c8b8c8b8c0891858d831e0e238ba8f8fdb001f717f2f784d803f755d61589828a
+868984888285868386878882897c8a087706878b858a8a84088676058bcf8db6b5cc
+898b1e90a1058e8b8f841e77067c8c828d898e859189918c928b918c928d9408aef7
+2b0596b8a5abaca7aaa4aca0a9a4ada8aab395b88d968d978b958ba881a4789f6bb2
+599f428b08438b4d7461676d73786e826489868b858b878b7896809f8b9a8b9c8e9a
+959591979f8d94088c8f8b8f8b90089b078b9c8e9ea09aaaa2ab93b48ba68bba8098
+7b977a98758b6f8b838a83898283687d73736c08766f6460228b080eaa8aadf71ab7
+f713aef782ad70a712f886e313e4f774f76715a1f713e98b05f3c15a411f8b828a80
+8981804e5830fb2c8b478b7c8f8ba08b8f8b908c90089ceaf7198b05978b999d8d96
+088e07918991821efbedfb53158776f7158c05a88bba8ad38bf75b8bd5e49ae18d99
+8d998b988bd365bf359fc3a4bec195c28c948d968b950813ecc766cafb331e13f468
+8b508a6a8b0813ec6c2a8c8b1f8776058a878d88908b08a906ad9784771f8b868a86
+8a84084bfbff3e8b057f8b7e798980088707858e86911ee38b7a2e0585687d80638b
+086d06858986881ff79ff8bf1513f491ac918ee28bbd8bce7d8b3e8b828a8189817c
+36446a388b083b060e2285a9f80bb912f710d2f737da83d513e8f766f75415b2f739
+05b7abaf9aa48bc78b9a6e8b708b848a848986087f53655ffb3a66088af79115538b
+6d66705d089a84059ba59b9d9c8b938b90888f888c888c888b858b80877883670869
+fb2705857288738b778b808c828d829d45d585aa8bce8bf4bd99c60813f08c8e8b8f
+8b8e8b9d7f97778b6e8b7c77887e89848b838c888c878b86897f846d597a648b0876
+8b7b927e9b8099879f8ba08ba190a18e9808eea205f702a5d0b89edb0813e88d958c
+958b938bbf64ab488b678b6a816b770863738b8f05a281a6661e0e407fb5f80dae01
+f881a203f796a915488b51c8abf720aaf71bdfb4bd8bca8ba0629176084dfba20574
+776272678b08e997158a73996db18bc28bb2a29ee008740685737d67728b748b90a5
+99c808d5f7d3758b4f6d05759d6b97648b308bfb184366fb356dfb13d42de48bc98b
+c6b39b99080e567faef807bb01dfa203f7eaf82415ce8bc54e6bfb206cfb1b376259
+8b4c8b76b485a008c9f7a205a29fb4a4af8b082d7f158ca37da9658b548b64747836
+08a20691a399afa48ba28b86717d4e0841fbd3a18bc7a905a179ab7fb28be68bf718
+d3b0f735a9f71342e9328b4d8b50637b7d080e3c81a7f812b7f778ab12f831d948db
+13e8f731c315d0f7c005bfb2b9909d8bbc8bac5e8b468b788977867671fb06432d2d
+8b086c8b74997da30813f0f7e2f8cf158c8f8b8e8b8f8bad63ab468b6f8b73826a77
+4d656a4f732508fb03fc759d8b059b9696959797a272ac7fb58bee8bf71de0b1f738
+0813e88f9f8e9d8b9d8be651c5428b5a8b5b77606608a3f00594b194ad97a6a1c1af
+aaa58b0813f0a08b9b7c906d8e79907aa78b089f8b9c9990a0080efb4082aaf7fbc6
+01cdd0f751dd03f7acf84c15438b4affffcc80005b488e819584948bb2b7b3ff0020
+8000c08bff0010b3348bff0012e666fffffb999aff000e6666ffffed6666ff000ee6
+66ffffecccccff000a199affffec999a8bffffc3999a08fb2945333e7d6f90ac1e8b
+918d938e90ff0002999aff00044ccdff00026666ff000ab3338b91089b819b7a7072
+777264ff0003800052ff006c80001eb38bff00408000ff001a199aff00296666ff00
+2c6666ff0030b334ff00343333ff00216666ff004d80008bff0059cccd8bff002119
+9afffff98000b8ffffe88000ff0020e666ffffeb6666ff001ce666ffffdd3334ff00
+13199affffd766668b080efb1781c8f705a4f772a712dbe0f749e861a813f4f821f7
+2515ffffcb4ccdffff9e3334ffffd6b333ffffdbcccc1e7f8b7e8c818eff00334ccc
+c7ff002fb334bcb58b089a98877c1ffb54fb2f15ff0061b334ff007b4cccff004833
+33ff005bcccda47395721f578bffffc64cccffffc8b333ffffc5b334ffffb84ccd5f
+a18bce8bbc08ff005a199aff00398000ff0078e666ff005780001e13f8c2786a6e70
+8c73af1fa28ba59d90a48d908b918b9008c355a559ffff6e999affff926666ffff7d
+199affff66e6661e8bffffce199a9affffb49999c5716f6b6dffffdd4ccd706a08a0
+8705a8aba5aca6aa95879689988b080e7dfb50abf729b5f80aaef757a901d5daf749
+cb03f7def82d15ba8ba7789963084bfba7056d70697e678b658b4ba48bed8b9f8ea3
+91a69ddabcf0f08b08e8f79815846d059c8fa08e958b978b8f868b7f8b80887b8573
+0866fb35056ca3608e778b398bfb1d4f63fb41867889778b788b37b73ff08bba8bb5
+9ab2ac836686698b6c088b808b808d8191619f56c98be08bb5b892aa8c8f8b8e8b8e
+8b9b81957a8b708b7979817608817680776d8b7b8b7f958bb28ba691b69acc08f731
+f93b758b055a724b807989080e7f81b9f803aff775ad01dcdbf73bd903f7edf75615
+730ad7f79f157b3e8a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3
+c7e3088e89847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff0008
+8000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08
+def80005a5f705adceb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae54
+1f518b5b6e6b55796d78617a39080efb1081bbf806aa01ff0054999aff001d199aff
+001b1999ff00473333f72bff0047999a03ff01233334f82c15ffffb97ffffffff74c
+cdffffc7999a721f8b4aff004e3334ffffe16666ff003de66686ff0007999aff0023
+6666ff00034cccff001cccce8bff0017666608ff004c3332ffffdce666ff00123334
+ffffdb4cce1eff0034e666fb6515ffff5de666a0ffffd6cccda98bff004c4ccc08ff
+001de668ff0015b333ff0052ccccff00778000ff006f199aff00298000ffffb84ccc
+ffffaae6681e8bffffd21999fffff2e666ffffd01999fffff13334ffffd1999affff
+e54ccc375647258b3a8bffffda4ccdb4ffffea4ccdd8ff0009e66696ff0007333390
+978bff001c333351ff001480006fbb8bb88bff002f999aadaae808ff0001b334ff00
+053333ff0005ccccff0014cccdff0002999a93080efb1081aaf806bb01e7d1f75bde
+03f736c615f75f0af75af73f15f7600a0e7981aaf7a0c2c0bba77701d5d3f77bddd4
+bc03f80df7bc157f078b778872846c68fb2c3c685c8b718b69a58bb68b928b928d91
+9cd5f0c4f703c20883b115fb0d54fb294174268a868a848b838b679d51e78bf73d8b
+d5f71fa5f70190a08c9e8b9b8b9b8a99889708a79db2a0a1918581877b897d088307
+699c81981e9006a68fa39abfb608829d05737c7f8475880887067d87959a1f8b8e8b
+8e8c8d8daf9ca39fa7087e93055c624f69516e859784968395819966a8498b498b2c
+515d5808967d05bdb2c9afbb8ba98ba87ea270908690838f81080efb3385acf74ba6
+f73da812cfdb7dd1f72ed913ecf72af70d1598c2b5adc28b948bad86938ba18b9492
+8e9708900794828f7b1e858b5e868a8b678b6f978bb58b938d958d969acbbca1ab8b
+b28b93749276907a927ca18b08988ba39292a88b8d8c8e8b8e8bab5aa8438bfb0a8b
+573d826489838a828b848b6a9f77af7c08296e7c5385740813f489828a818b818b5d
+a75af7048bca8bc7a9b3a908839a055d705f7c5c8b588b70aa8bb4088b928b928d93
+080efb4287aaf746b0f736a912f7c5de60d013f0f815f70d15f7610a13e88d948c93
+8b938bce3f9d508b238b6060846e0884077a997d9d1ea28b999b999e9ba19ea2b18b
+b28ba4778b658b83898389817f536970548b798b7490818b087c8b7d85887f8a898b
+8a8b898b8095889b8b928ba5909e8b0813f0f7620a0e4a87aaf746b0f71cc56ba9b0
+7712f7c5de60d013ecf815f70d15f7610a13ea8d948c938b938ba87c9f7599a59faa
+a19f94888389808b800881078f699c80998b8f8b8e8b8e8ca694a09db9bc087f9b05
+757980827585888a888a898b7e8b85978a9c8a8f8b8e8b8e8ba997a29aa6087b9105
+60594e5e50640813da7790768d778b238b6060846e0884077a997d9d1ea28b999b99
+9e9ba19ea2b18bb28ba4778b658b83898389817f536970548b798b7490818b087c8b
+7d85887f8a898b8a8b898b8095889b8b928ba5909e8b0813ecf7620a0e3572caf725
+c3f721cd01cfaff7e1aa94b303f7f8f85215fb018bfb1b3f65fb388779897a8b7b8b
+fb01e244ec8bcb8bb398b3a6b0a3a2a695b48c928c938b91088bb173a95b9bd7a1ab
+b294b18d968d958b948ba780a0789d6ea56797498b082cfc2c15fb025cbed51f8b9a
+8d9b8f9b95baccf70ff7298beb8bba758b5f8b868b85898582646372497d66975d93
+768b086d8b798286770886077c9a84aa1eb48bb394a593c17ea6768b6e8b868a878a
+877b473f79398b080efb76fb7fa9f822b7f73aa90138d003f775f7f81570fb0b428b
+05808b7e7e877b89828f85948b08db8b6bfb1c0557fb7762685a8b788b82938b9908
+9207a1859a741e7c8b798585738a878b878b878b60c780a98ba98bb09caba5d2c7b1
+e9a6f70908a5f706cd8b05988b9a9d8e978d938991808b083f8ba7f70b0591a6909f
+b08b08a806928e908e1f90a1058b43885d60478e8b1e8675058a878c87918b08a906
+a192847d1f8b8489828981080e3cfb5dabf738b7f806aaf77cab12bbd958dbf89fd9
+13f6f781b215655fafd71f8b9c8d9e90a0a4f701d2e7ea8ba98ba27e99720849fbb4
+0557616289738b08f7029815836a056dfb176952388b0813fa5c8b7cb6879d889d86
+9a708b768b7a7d86768a878b888b888b5cdc69bf8bb18bb293b3a408cab0acc8a3f1
+08f4f85c0594b095ae96a6a1c1afaaa58ba28b997c906d8e79907aa78b9f8b9c9990
+a08c8f8b8e8b8f08ad63ab461e6f8b73826a774d656a507324087f5405769871926c
+8b2e8bfb213b65fb390813f6867989798b7b8b30c852d28bbc8bbb9fb6b0080e3cfb
+5dabf73bb7f802ab12bbd959db13e8f782b5155a6abace1f8b9b8d9d8f9da4f701d2
+e6ea8ba98ba27e99720849fbb0055f655985758b08f70198158367056dfb17695238
+8b0813f05c8b7cb6879d879d879a708b768b7a7d86768a878b888b888b5cdc69bf8b
+b18bb293b3a408cab0acc8a3f108eaf8327f8b057f8b75717e7a74a46a97608b2e8b
+fb213b65fb390813e88779897a8b7c8b2fca54d08bbb8bbb9fb6b0080e4f7faef72d
+a6f761ad01d1dcf7b3a603f81ff71715805605736a5d756a8b2d8b67da8bd98b9b8d
+9c8e9ba1f706efccc18bbe8bc5748b4d8b878a878b87088979a68ba5f71e05648b40
+966e8bfb138bfb0b2e6ffb22887c8a7d8b7c8b2acc3df7068bd78bc7a4bdc1089ce1
+058d948f91928f918ea48d8b8b8f8b928c8c92088fa0058b5b886d6c5b8e8b1e8775
+058a878c88908a089706a292847c1f8b8589838a82080e4efb4fb0f8bda901f718bc
+d0c803f759fb4f15d58babc5909f8d988c9c8b9c8bb785bd859f08f756f7c405a5b5
+9990a88d089206928b908e8c9008909f058b5f896f6a578d8b1e8675058a878b8890
+8a089b069b9389831f8b848580807808fb3bfb9782b468f76e0589948a938b91089a
+9294a51e9b068d8b8f8d8c910891a1058b4d896468558d8b1e8675058a868e88918b
+089206b4898b79906e08c2fbed513f057e7a7f7a86758a868b878b868b6da477b38b
+087dd4158f9c9ba3abb4088f810592778f788b7e8b878a888b888a878a868a868779
+7c7d798b798b81938b9c8b8e8c8f8c8f080efb348db0f801a401f716bdcfc903f757
+8d15d58babc5909f8d958d938b948b9d84a475cc08f70df72a059b9e9f9aa6900891
+a5055d8b74806a620827fb0f62f710057eb075984a8b088672059e889c818f7e08c5
+fb494f40057e7a807a85758a868b878b868b6da477b38b087dd4158f9c9ba3abb408
+8f800592788f788b7e8b878a888b888a878a868a8687797c7d7a8b788b82938b9b8b
+8f8b8f8c8f080e60fb6d76a5a8f741c7f7ddc712ff0081cccdda7aff0051ffff13f8
+f852f7f915ffffd9ccccfb3a054c394a50ffffdc00018b768b7d918baa8b998d9e93
+ad08ff0025fffff7340513f493ab94b48b9e8b9e8099ffffe200018b5b8b5e695d50
+8e829183998ba5a9ff001ce6669fff000a199a8bff000719998bff0002e667868b7f
+088b82867585710865fb330513f8fffff800016886748b798b4fa677b28bff0033cc
+cd8bff0034ccccff0014cccdff005b3334ff006ab33308ffffca3332ffff0f800005
+fffff18000ffffbf199afffff58000ffffd7e6668b8b8b848e88948ba695d398b48e
+088ea3058e8a8d871e6c8d057e8391a11f8b96ff0002199aff00113333ff0004e666
+ff0015cccd08ff00663334f860058f9fff0008b334a48bff0009cccc8bff0010b334
+fffff6e664ff000a8000ffffe033348b08658bff0001199a5ffffff7199a65080e61
+81c7f7ddc7f776ac12f7f1dd7adaffffb8999aff0054cccc13e8f80ff80f15f7630a
+13f0f70a0a13e893ae90a28b9d8bc7709f648bffffcb33348bffffcb4cccffffeb33
+34ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97a6a4c9b49d9c
+8b0813e4a28bff000b6666fffffa8000ff00043334ffffebe668ff00043332ffffe9
+b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00186668
+ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2199a7c
+ffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffffb0cccd
+fbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6b08b
+080e61fb7dacf76776f81ac6f776ac01ff01a9999aff004ee66603f811f81015ff00
+184cccff00144cceffffe9ccccffffb9999a1f8bffffbd199afffff04cccffff9833
+33ffffe8e666ffffa54ccdffffe98000ffffa7b334ffffe16668ffffb0b332ffffed
+e666ffffe3999afffff4e666ffffee999affffec8000fffff366667c8b7b8bfffffb
+cccdff0009cccdfffff89999ff000bb333fffff78000ff000bb333ffffece667ff00
+0fcccdffffece6668b08ffffe46667fffff68000787affffe9b333ff00186666ffff
+e84ccdcf1fb48bff0032ccccff001d8000ff00183334ff00218000ff0020999aff00
+2d199aff00224ccccfff0019999aff0054e666abff006a4ccd98ff00724ccd8bff00
+37199a8bff005d9998ffffe06666ff0029b334ffffd4199a8bffffc933348bffffcb
+4cccffffeb3334ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97
+a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffffebe668ff00043332
+ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00
+186668ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2
+199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffff
+b0cccdfbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff000919
+99fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddcc
+c6b28c080efba581c7f750b2f70aa79877f5eb12f70ddd82ff00558000ffffbf8000
+eb13daf7dcf7a915ffffb14ccd8bff0009ffffff002b33340594ff00271998ff000b
+3334ff002680008bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc
+8b0813ea6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b81
+8bfffff6e666fffffdb333fffff2199afffff94ccd6f08815f2c8b8b64ff0056199a
+8bffffe3e666fb0f0513dc846b81628b788b78967da98bbb8bb8adb9c6889485937d
+8b716d6e77818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a08ff001a4ccdf706ff0057b3338b0513c9fb05f7e0157d0a
+0efbc381ccf80c7701e3f74803f748c215f7640a0efba68aa8f80aa801aaf7ca03f7
+49f7fa1549fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2
+d0898b1e8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208cdf7b205
+92a7989bac8b089e06908b8f8e8c9008909e898d058b46896468478d8b1e89898778
+0589868e888f8b089e06a595827a1f8b868a858984080efba681c7f773b78fb9f7a8
+a8a57701f4da03ff0112b334f7d115fffff333328b80ff0004999afffff6199aff00
+06999a08c4ff00fecccc05ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffde6
+66ffffeeccccfffffb199affffea333408ffffd4199afb5905fffffbccccff000099
+9afffffb999aff00006666fffffb66668b608bffffe2e6676dffffe5ffff5008a286
+05ff0010b334ac9b9aa58bff00064ccd8bff00064ccdfffffe8000ff00061999ffff
+fd999a08ffffd3cccdffff39e66605fffff8e6666bfffff9199a698b788b78ff0004
+800072ff002580008bff002d33338bff00364ccdff00198000ff002d8000ff004b80
+00879586927e8b6d676b757f8b838b87918b93088b938e9a94b308ff0021999aff00
+96666605ff00074cccfffffd3334ff0007cccdfffffe6666ff0008199a8bff002dff
+ff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe66881
+758b080efb5f81c7f77baddca9f76da8a57701f74bda03ff00ee999af7cf1550065b
+8b719eff00063333a8ff00051999a3ff0015e66794a38bc28bff000d666659ff0007
+66676c08f73516ffffac80008bff003be666f7a005ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd3cccdffff
+39cccc05fffff23334ff00213334ffffe7e666a7ffffcc4ccd8b758bffffceb33377
+fffff7199a61fffff2cccd4dff0021999976e58b08ff0028b3348bffffdbe666fb36
+05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d3334
+8bff00364cccff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b83
+8b87918b93088b938e9a94b308ff00226666f72edf8b050efb95fb5eabf9c1a801ff
+004ae666ff004b800003f74cf71315fffff58000ffffd0e666ffffe8e666238bffff
+b7b3348bffffda9999ff0004b334ffffdbcccdff0012e6668b9e8b989f949a939b96
+9ba38b0899ff000c80007c7cffffcee666ffffb24ccdffffec199affffd93333ffff
+b9199affffe9ccccff00266666ff0044cccd1f8bff003acccdff00103334ff0053b3
+33ff000fe666ff00474ccd08eef85005ff0004e666ff0015ccccff0002199aff0011
+33348b9608a183917e1e6c8d05878a8d8e1f8ea305b48ed398a695948b8e888b848b
+8bfffff58000ffffd7e668fffff18000ffffbf1998080e5efb74a8f756a8f7ffb2f7
+68a9a57701f831d803f703d315856e7e7c698b087406868b87888a860887788c8905
+8bd48daeb2d4898b1e8d8d909e058c90888e868b0874067182949d1f8b908c908c92
+08ccf7ae05a3aaa191a08b08f7228bfb73fbb105a2909f8d9d8bce8bbb5a8b4a8b81
+8a80888070fb09295e598b638b74a284a284a07c91748b08768b7f7d887b8a898b89
+8b898b6cbe68e18bf7248beeeba1eb8f9d8d9c8b9b8bd75abc2c9308f74df7800594
+9891958c918c8c8b8c8b8c0892858e7b1efb7a067e8b858d8d948c8c8b8d8c8e0883
+8cc5f78e758b0575827b877887798865857c8b088772058a888d898e8b08958ca28e
+05989182771f8b818a7e877b080ef75b7dbbf804a801f700da03f786f7fa1592a797
+9bad8b089e06908b8e8e8d90088f9e8a8d058b46896864478d8b1e88898778058b8a
+8a8b8b8a08878e898f1e9e06a59482791f8b868a858a85085bfb6605857286708b73
+8b5b9c64c58bc18bc3a8d2c78b639f5bc28bc98bc0b2c5bc0874339c8b05928b938e
+9691aa989990cd95088da70579877f8a7e8b818b858e8b9a8b928c948d9608c9f79f
+0592a7989bac8b089e06908b8f8e8c90088f9e8a8d058b47896764478d8b1e898986
+78058a868e88908b089e06a49582791f8b868a8589850852fb8c05515a6370688b78
+8b73988bbc8b9a8d9d90a108bbf7630591a7989bad8b089e06908b8e8e8d90088f9e
+8a8d058b46896863488d8b1e888987780589868f888f8b089e06a59482791f8b868a
+858a85085bfb6505877c887e8a7e4f576674638b7c8b6f958bc18b998d9d90a0080e
+f756fb6776b0a8f727b8f812a601f703d803f946fb571592a80581897787808b828b
+848e8b958b949cdab6f74e08c4f78a0593ad8f97b08c089c068f8c8e8d8c9008909e
+888b05828b3889888b818b368d878b08898b8677058a878e88908b089b06a38a9386
+8b7d8b848983887f084dfba005676d6569538b6b8b80a88bae8b9b8d9d8f9d08bdf7
+6c0593ae9096af8c089d068f8c8d8d8d9008909e888b05818b3889888b818b368d87
+8b08898b8677058a878e88908b089b069f8a96898b788b858a838980084dfb9d0548
+485588778b6e8b829f8bab8ba08fa592a708bbf7640593ad8f97b08c089b8b8c8b05
+8f8c8e8d8c9008909e898b05818b3889888b818b368d878b08898b867705878d8890
+1e9b06a38a93868b7d8b848983887f085afb6905846c866f8b738b57a16bc78ba28b
+d192dad48e6e9c5ac48bc88bd3b5afa90849fbb3a18b05ac9ebc97b491080ef756fb
+79a6f75ba5f7f7a88ab712f83bc0f75ad813dcf72ff81415978f86801f8b83898188
+7d084dfb9f05856e867c668a08798a05878b89898987088777059e8bd08d958b988b
+dc89928b088fa0058c91868a898b087b8c05738c83908b9a8b928d938d9608c9f7a0
+05b0abb3abc18bab8b966f8b688b7b887987790859fb6e8a8705877a89827c808888
+828a7d8a08798a05878b88898a87088677f75c8b8fa0058c91868a898b087b8c0573
+8c83908b9a8b918d948d9608c9f79d05aeafb8adc58ba98b96798b6a8b768672856d
+0855fb7c057427753171697c797f847f8b7a8b86928a93889d7d91858b7d8b7f8087
+7d08860778a37ab91eaf8baa98a3a2bab5a0caadf72508bff7770591a692a98ba68b
+b879b0498b488b53695c5f86c16ba1608b4e8b3d5c6f73089bce758b0513ec65765c
+80648608856e05958d9e8f978b080e60fb79a6f75ba5f7f7a88ab51232bdf86fd513
+dc7efb5e15778b86948a93889d838f818b7e8b7f84887c8a898b8a8b898b799d76be
+8bae8ba797a49f08c8bd9edf9bcc08d9f7e8059393c2c3d58bac8ba37f8b5b8b7d88
+7886750858fb700583688780678a08798a05878b88898a87088677059f8bd08d948b
+988bdd89928b088e9b058d91888f878b087b8c05758c818e8b9d8b918c938e9608bd
+f76e0591a28da08b9c8bdc579c638b0813ec4f8b5474565c089bcd758b056a785a7f
+618508856e05958d9e8f978b958b8e828b7e8b7f887b887a0842fbcf0567fb2f6a5a
+6a8b080e25ffff1b4ccdff00353333ff00ba800076f819c75fa712f73aff00588000
+ff00374ccccdff001d3334da13eeff01f4e666ffff3f999a15ff00153333ffffe94c
+ceff000b1999ffffed99981effffeae6688bfffff38000fffff0999afffff199988b
+768b7cff0018199a8bff002cb3338bff00103333ff00023334ff0013999aff00054c
+ccff0017e666ff000fe668d3ff0017e666ff00446666ff0016e666ff005a999a08a4
+ee05ff0008ccccaeff00043334a28b9d8bc7709f648b578b60762ffb00088a8c05ff
+0009999aff00288000ff000ee666b98bff001166668bff000db334fffff8b333ff00
+076666fffff2cccd8b0813de6b8b5c855c84fffff94ccd83ff0001b33380918208b3
+8805978a90828b818bfffff6e66689fffff2199a856f08ffffc7cccdfb8d05fffffb
+333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff001f
+cccd8bb18b8ab7ff0008e666b108ff0026199af73a0513eecaddc2c6af8ba08b9986
+8b6c8b7dfffff6e666ffffdbe66686ffffecb33408ffffc1999affff0ce66605ffff
+f46666ffffd13333fffff8e666ffffd64ccd8bffffdd33338bffffbe6667ff001366
+68ffffdd6666ff00304cccffffe780009efffff66666ff002c199afffffe6667ff00
+10b3328b08ff0015b334ff0015e666ff000c1999ff001833341f0e8c987693a2f810
+a5121360d4a2156d06858b89888a87088778058bc68eb0b1c6898b1e8f9d058d9186
+8d878b086e0675838f9a1f8b928d938d9608c7f7990513a0f73efbd105927d97849b
+8b998b9494909f08d8f7e40594b09292ab8c08a806918b8d8f8d8f088f9e058b4f88
+6566518e8b1e867805888a87921ea906a28a93858b7d8b84898389810850fb94fb48
+f7dcfb0f8b8778058a878d898f8a088c8ba98b05a28a92868b7d8b85898389800849
+fbb505846e877b668a080e3d81aef748b2f73aac01d7e1f798dc03f80db315c1b6bc
+cc9bcf8fa08ea08b9e8bb082ad79aa72b660a04a8b588b5e7c606c4c5d61437b4708
+877888798b7a8b64966a9f6da660b275cb8bbb8bc6a2aca608aaf7cf15927a92728b
+668b828b7f898008fb8e0695b398b5a7aca9b0af99b18bc38b9f6792780892fb2a15
+89848a848984846d7f5f706c6762687e6c8b6c8b639f7ab883a187a98ba98b968b96
+8c96080ed989b660aef731b8f72cb669ac12d5e3f8749f1366def76815857088738b
+7708fb19f70481a61ef80c8b8e8b8b8dbdf725788c0513b67253695a5b8b08fb248b
+aef729ca8b05a994887c1f8b868a85898408887da48badf726728b887d058575867c
+608b084c8baef72bf71f8c05a28ba5858d44089f8d9bf70a888b05136efbd78a0524
+8bfb174868fb2a08f7b4f7261548fbb505877a867e84850873063f71d5d01f8ba08d
+9f8f9dacf720d5a0ba8b08ba068f878d868b858b8589848981080ef72c79aff786b1
+f70aa201ced5f775a1b1aaf758d803f8f4f830156a9d4a94508b598b4b7e697d3968
+fb0a3d70fb08857288768b798b6795719d73a568ad7bc28b08cd8bc7adb5cf973cbb
+74bf8bc68bb79bb4aeb9b1a5b79dd48f9e8d9b8b9b8bed3fbd5da408fbb57715a597
+c397bf8bb68bc978a675b36ca7648b528b7a897a867870fb0b56513a8b538b70b187
+d0089ea99bab98ad8f948d938d938d938c928b928b9e8196758b718b797783658985
+8a858a8308897e8a7d8b7d8b7a8c798e7866435e68568b458b73b48bc48ba18fa491
+a5a7f70dddc1c5a708f3fb35158a8489848882857b837881740886818b95058ba28d
+9d8d9d8c928d918c9090a29295948b918b8e868b848b868a858985080ea2fb5ca8f7
+38aaf814abf75ea9a57701ded5f808d303f799a3156a9144a28bef8b9d8da091a2a9
+f71be3bace96087dfc1415e3f81205ce7cb1688b448b7788748572826563fb19fb1b
+7508f797f753158f9d8d9c8b9b8bf13ac9339408c6f797758b0558774e857b8b0887
+7205888c898f1eac8f05979281781f8b81897e887b086bfb1e054e88fb3f4d67fb32
+887d88798b768b46a930f72180086ffb0c05846f7f7b698b087806868b8888898608
+87788d89058bce8dafb2d0898b1e8c8d909e058c90888e878b0877067281949d1f8b
+908c918d9108a7f70c05f7159af703eba5f703080efb6181d155a7f8297712ff006e
+8000ff005280001370f71cf72415fffff7b333ffffdccccd05fffff74cccffffd933
+34fffff78000ffffdd33338bffffeee6678bfffff09999ff00084ccdfffff64ccdff
+000d33338bab8bb492ba91ff0006b33493fffffe4ccc96859408638e057f8c85948b
+958bff0009199a8bff000de66692a708ff00373333f78d05ff0004ccccff00158000
+ff0007e666ff001180008bff000fcccc8bff0010b334fffff7199aff000a80006e8b
+688b8a60fffff6199a6408ffffe2e666fb090513b05b34532e748b818b8690859284
+937e987d8b0870796e70769a71b01fbd8bc5c9b7e8080efb4d7cc4f8c0a801f83df8
+be1591a7989bad8b089e06908b8e8e8d90088f9e898d058b478968643c8d8b1e8989
+87780589868f888f8b08a806a59582791f8b868a868984082afc3605887d837f8382
+65626b79798b838b828c8798879c7a93748b708b757185748b888a888b880874a17c
+af1ebf8bd4c4a9ab088e8b722e9c8b05928b948f9690ab989890cd96088ca6057987
+7f8a7e8b818b858e8b9a8b918c948e97080efb17fb42b2f712aff80ea4019debe9c9
+03f835f829159d06918b8d8f8c8d08909f058b4e8a64624c8c8b1e8778058985908a
+8f8b089b06a48a92838b7d8b84898389800853fb84056f60585d728b868b798a8f9b
+8c8d8b8f8b8f8b9a85a36e8b6e8b7377856e8a888a888b8708789975c01ead8ba496
+a8a29b96a7a4969b08877705805c86658b6c8b36af6db48bc58bc89a96b8088f0798
+809c751e758b7d7b827b87807d7f7c8b748b80908ba88ba494b69bd508d4f7cf0591
+a58ea0b38d080efb4dfb5aa8f8c1c301c8fb1115846f7e7b698b087806868b88888a
+860886788d89058bcf8dafb2d9898b1e8d8d909e058c90888e868b086e067281949d
+1f8b908c918c9108ecf836058e9993979394b1b5ab9d9d8b938b94898f7f8f799c83
+a38ba58ba2a590a28b8e8c8e8b8e08a1759b671e578b42526d6b08898ba3e87a8b05
+848b83877f866b7e7f864981088a6f059c8f988c988b948b91888b7c8b858a82887f
+080efb57fb56b3f8a8aa8caf01dccdf764ea03f72cf81515978f83801f8b858a858a
+850847fbba05815c845f8b658b44a35bd48baa8bdba295b88b8e8c8e8b8d8b978394
+788b748b7c7a827808857f7c827a8b6f8b7e9a8bb38ba992b89ac908cdf7b105a1ad
+c2c0a58b958b9689887e8b888a888b868b7c9276a78ba78ba39e91a78c8f8c8e8b8f
+08a57099641e408b4c388888089fe1768b05727e6e7d3d8108856c05968f9d8e9e8b
+080efb698ba5f809af01f7e7d903f747d315aef72c05b0f7319c9db98b089d92797f
+7b9179a61f998ba5a0909e089207b0499b6e1e708b737f6e79506370467733086bfb
+1c05867483746c8b086f06858887881f8778058bcd8eb5b4ca888b1e909e058c8e8a
+8f858b087006768492981f8b928d948d95080efb718ba5f809af01f794cb03f75bd3
+15836b857d6c8b086f06868b89878a88088678058bcc8eb3b6cc888b1e909e058e8b
+8f841e7006768595991f8b928c928d9308abf71c0594b491af8bab8bb083a975a077
+9d7897708b6c8b397981618b898a888b898b7b997a988b08a48b9998959f90979b9e
+9d8ba68b99858b668b7184627c4a080efb0c7fa180a8f730aaf755a112f81dcd1338
+f81bf7c61581646157438b08558bb5f74b059b8f9a8c988bd58b9f638b68088b838a
+848a84081378fbecfbaa15878b85898a88088673058bc58db0abbd898b1e8fa2058c
+8f8a8d878b738b83908b998b918c948e9408a5f705d78b97fb030513b89251a670c0
+8b968b958b978c088fa0056e8b78a985b80880f70205a393ccb899c38d978c968b95
+08d4489f511efb5c8b8778058a898c8a8e8b08a4069a8a90878b818b878a868a8508
+44fbc705836a87815d8b080efb1d8aa1f755aaf736a101f7e2ce03f7a6f82b159106
+8f8b8e8d8c8f088f9b3888318e877a058a888c898f8b089206a08997898b778b848a
+8489800844fbc80586758684758b087206888b8a898a8a088878f75c8b05cf8be2a4
+a2f08d928c928b928ba3819f7ba082977c91868f08caf70305a6b8a89fa98b08909f
+057f8c818b818b558b677c694f084bfb0305878b778c878b085c8ba4f7050591a48f
+a0ad8e08c6fbb0157c4e5466498b7d8b7d8d7d8e08b5f74cc18b05ca9f64691f8b85
+8b848a86080efb63fb48aff71aa7f820a901a3b691a39fcff6d68fa303defb4815c1
+8bcbb594b68c8e8b8d8b8d8b9684947e8b7c8b787e877986767373728b748b829e8b
+a6088b9c8fa190a30894b0058c8a8d8b8d8aa385a987af8bc38bf3a4a2ee8e958c94
+8b948bc854a74baa629f75978ba8088b908b908d9198c4bb9db28ba18bc48090fb00
+08a38c9af70d057b96599b588b3b8b3f587b46887f8a808b828b5baf79c370c86fa1
+718b6a8b858b8489840880595173658b668b709d8396869188928893088c8f898b05
+8898899a8b988b978c958d9308738a76fb04773105867688778b7b8b659a72b78b08
+0efb95fb6ab1f9e6ad01f83ccf0350fb0615788b7b7a887b8a878a888b878b68b776
+b28b9a8ba28cb4a8d2bca0dca3f608eff84305a1ebabe9c58b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b086f8b6e816c76435b763c7324
+0825fc520568fb2a6370758b758b899a899a899c899a728b080efb95fb6ab1f806b7
+f848ad0150fb0615788b7b7a887b8a878a888b878b68b776b28bf71a8bb0f737a3f3
+08acf721d28b05978b9b9f8d978d94898e808b083b8bc4f78a05a1ebabe9c58bbc8b
+6b48b88b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b6f8b6e816c7608435b763d73
+23085bfb65428b057f8b7d7e887b89828f85948b08dc8b5ffb550569fb26646c758b
+5e8bafc95b8b080efb95fb6ab1f9e6ad01f0cfd7cf03f7b7f853159acb92bc8bab8b
+948b928a9187a6819f7a9b76a07295708b748b78887a8578837d827f810880828480
+89818a878b888b898b848d858f8790849189938b089206998e9493929698a1989999
+90928e908c8f8b9f8b997a94698c878b878b858b7485627d4e0827fc43057a42845b
+8b6b8b838c848c8590709576997c9c799e819e8a8f8a8e8b8f8b9b8b9a8e9a9008a0
+949a949594969591958e96088c078d95899386918692858d838b0884067e88808585
+7e7d6f7c7f7a8b0889067e8c819984ab8a8f8a8f8b928ba292b197c18c8e8b8e8c8d
+08eff843058c8e8b8d8b8d080efb95fb5aa0f9e7ad013ba6f871cf03f880f916158c
+8d8b8e8b8e8ba571ab488b6f8b6e816c76435b763d73230826fc4b0587788a898b8b
+fb1d4f725e85708a878b868b878b6caa82a78bc48be0afb9f736baa27781b19c0888
+9c0578857d84738108f6f860059cd79bb8969da5ada19c9f8b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f08fcb4fda21595b6dbb3bca308877c0574285d6d6f8b838b6c
+928ba28b8d8c8d8b8e080efb978bb3f7edc301f777dc03f733b3152c06818b7d8788
+81088777058a878d89908b08f7028b68fb2ec99f8f9e059dd9a4b0d18b0895b3458b
+d0f7c1058f9a8d998b968bb6749c668b598b5b6e686408977c059d98aa99a88b9a8b
+92818b778b7c87778571080efb9afb76baf8ceb201d4ccb5d503f78efb11155d8b9d
+555a8b748b7f918baa8ba493b59bd008e7f821f7048b94b2fb048baef72e4e778678
+05815f806f807c77756985708b088264d18b2dfc2705826287698b708b30b876b68b
+cb8bbca395b7088f07987d9b771e0e6480b88da6f743b2f713a601f703da03f8c3f7
+a9154f8b9cd89fd8058b7a89746f448d8b1e898886748c89058f8b958c918ba58b93
+838b7a8b8389828980087a41fb598b9cd79ed9058b74897d6a498d8b1e878886738d
+8a05928b918c8f8ba68b94828b798b8589838982087a3e498b8264cd8b71fb050587
+7c897c8b7c8b59a562db8bb38bbd9ad0c6087743a38b05a69fc298c99708a6078289
+6a847f8b7f8b87908b978b968e9a90a208a7f70ac78b05fb1b166cfb1b057e7f777c
+6f79737c7482738b718b67968bc28b968c988f9a08a2ee050e587eb1f801b801c8d9
+f7c0d603f82bf82b157d4e059d6bac5b8b4b8b7d8a7d877d856f6220fb228b438b63
+b78bc78b968d978e97a2f0efca929d089ac8058c918c8f8b8f0897848d7f1efb118b
+662f9c8b059cb7938eb88b08c68b8778055760fb05367738877b8a7b8b7d8b3ec159
+f7108bf7138bf70dc0a6f70c8d928c948b9308e035f18a1e909ec68b05b29589711f
+8b868a858b83089d8b8fe7fb1b8b05828b83848676080e437bbaf7e4d553bf12f709
+d4f7bbb813d8f898f78d1594b290ac8ba78bc676ac5c8b708b797887798a888b888b
+888b74a387948aa0879e7b8b5c088b7a8876867274293bfb00338b468b70b38bbf8b
+998d998e99a2ecacbe9dd78d918b908b900813b8a07f96781e648b4d72747a088d77
+058bac95991e13d89893857f1f8b888a878a8780596d51793a867788788b798b45b3
+53f7098b08e68bf703e6b3f742080e458ba8f8307701f73da7156e7f90961f8b8c8b
+8d8c8d8c929194929708f71ff76ea9ba8f59affb6e058e7e8c8289848a818185768b
+087a06898b84898a850887778e8a058bc88cb3acc08a8b1e8e8c909f058c90878e85
+8b0880066e8b849885ad0853f7ed05899885927f8b808b8284817c08fb6cfbe60571
+6178816f89088406858b85888a860887798d8a058bb48ca6b0c38a8b1e908c8f9f05
+8c8e898f868b080ef7458ba7f8327701f8b2a01587788d89058bc08cb9b7b98a8b1e
+8e8c8f9f058c90858d878b088306688b889384b30853f7ee0588998391828b818b81
+84827c08fb32fb8c61f78e0589998391828b828b8184827d08fb6bfbe6057365757a
+6d8b088406868b85898a860887778c8a058bb38cadb1cc8a8b1e8e8c8f9f058c8e88
+8f878b087b066e8194981f8b8d8b8e8c8e8d928e93909208f71ef76ca8ba8f59affb
+6f058d818c848b848b888b898a8889818187778b087906868b86888a870887778d8a
+ef8c05aec28a8b1f8e8c8f9f058c90878d878b088306698b879383b30883b9f704f7
+42a8ba8f58b0fb6e058d7e8c818a8488828384758b087c06868b86888a87080e578b
+a8f8c6c201f7c0a01587798c88058bd48dbaa9bb898b1e8e8e8f9e058c8f888e858b
+0884066a8b7f9b889b084bf806b5ce05afc3a4b0a48b968b9184918191839585958b
+9b8ba69492a98c8e8b8e8b8e8ba86b947a8b08408b59455d4408fbadfc3e05776c7a
+786a8b088406848b86888a860887788d89058bb48da7aec1898b1e8e8e8f9e058c8e
+878f868b087b06788590921f8b8c8c8d8b8d8c91959b929608f73df796b9fb9b058e
+808a808a8388818487778a087906878b83888a86080e308ba0f819a101f7b9d015a3
+f1f71cf753059fa69a9eb28d089f06908f8d8f1f8f9b3488318e877a058a888c898d
+8b08a9069b8a94898b830888078984807b848008fb06fb2f5ef72f05889389968b93
+0890078e949990a08c08a98c058d8b8c8d8c8e088f9bfb0689228d877b05888d8990
+1e978a05b18a8f81966708c9fb5f76310582648483688a086e06878b898a8a870887
+7bf7038df706898e9b058c8e8a8d888b086d06748c828f8b9c8b918c948d96080efb
+2afb53aef730b2f7f0b201f79db803f7c5fb4f159488968a958bb68bbca39cac8d90
+8d8f8b8f8b948693828d898c898b888b7f8b7a84847c08827a757b778b878b888c88
+8c7d8f85958b9a8ba197aa9dad089db18e8ba2bd939b8a8babd37390057d6e7d757d
+7c088a8a0574717580778b08fb328bf7c7f7ec05989996998c918b8e8c8d8b8d8b8c
+8b8c8a8c878d898c848b888b748a728808fb58067d8b858d8e958b8c8b8d8c8d0875
+9048fb2da48705b1dfab97aa8b08f7208bfbd1fbf705838186848b8608859287a41e
+f78e8b7158057b6a806e8b738b739679a883080efb188bb2e5acf779b201f820aa03
+f81fe815836b6475558b084b069ea7b2c9ca8bae8b957c8b7d8b898a888b8908fb52
+2e15c706e28bc7b198c38c928c908b918bb26796758b678b687c7177767b70697265
+08498bf7caf7f005989995968c928c8c8b8c8b8c0891858d831efb84066e8c958f1f
+778f4afb29a4860599ada6b4979497939b909f8b08f7228bfbd4fbfb05848286878a
+85088b8a8a8a829b899c1ff506736576637b6608a9840598afa2b7a5b5080efb1bfb
+7dacf7d9adf757c55ad712a4d88ba6f740df13e6f780f73315f74f0a13d6f7500a13
+eaf7510a0efb12fb76a3f746a2f819b512a6a3f79ba282d313f0f7b1fb091569534f
+6e4e8b618b66aa8bb48b908c918c9197bbbcb4bc8b08ca8bb161a0580899a91572b9
+5db34f8b4d8b4d597d4d89838a848b848b56b965c08bc48bc7a1bfb20813f8965e91
+548d5c08a298058abd83c480b9929191919092aaae9eb194b40813f48f9e8d9c8b9c
+8bac82a7799f75a46c98658d08f733f77705999593978d978b8c8c8b8b8c088f868d
+841efb8406748b808d8a8e08798b5ffb0aa08b059bb399a19a90948e978c9a8b08f7
+2b8bfb59fba505a2909f8d9c8baf8ba4819a78987b91768b708b7c897a8779857284
+758178080efb458ba8f8fba712f728e146d2f748d513d8f709a8157906878b868a89
+84088676058bcb8db4b2c7898b1e90a1058e8b8f851e7906728c84928b988b928d94
+8d9508b6f74f05a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d7736
+0813e8f7650a13d88c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b608b80
+8a8188807220fb2a666afb200864fb3c8b8805846f877e6689080efb458ba8f8fbb2
+12f71ed591dbeee341d913f4f76bf8a315f7660a13f8f7670a13f48d968d958b958b
+cf53b63f8b288b30477429877b897d8b7e8b2edb6c8b358b7f8a7f887e0868fb2b05
+846d877c6589087906848b8a878988088675058bc98db2b3ca898b1e90a0058d9286
+8c888b087806738c84928b978b928d938d9608b2f73c058e9a8d988b998beb35b58b
+d9088b938c948d94080efb4574b2f8eda812bbd941e3eeda91d513ecf7d5f7191582
+62736e75757b7b7282768b6a8b74997ca1869389938b930813dc8ba199a08b9b8b8f
+8a90888e82968090808b768b727b846f0813ec88808a818b818b47c360d68bef8be6
+cea2ee8e9b8d998b988be83bab8be08b968d978e9908aaf71d0592a98f9ab18d089e
+06918b8d8f8c8e0890a1058b4e8964624c8d8b1e8676058a848f8a8f8b089d06a48a
+92858b7e8b84898388800868fb2e05877c8a7d8b7e8b2be0618b3d088b828a838982
+080e7efb7ddaf895d501b2d503b97e15867789778b798b2fc445f7068bf7028bdede
+c2cc08739f0548545b69418b278b6bbc8bb98b938c948d9308c9f7a2059bced3c3e6
+8be88bb458a46508a4990562ec5dbf358b448b59705d6661695f557c4d080ef71a7f
+adf78ef701f786ad01ede9f740f704f747e803f82cf7a415a98ba9a491a88c8f8c8f
+8b8f8ba3779e748b6d8b6d70846f8a878a878b878b759b77a78b08d2f7f315f1d547
+fb1c1f8b6b8766826362fb47fb06fb01fb068b208b41d68bf7178ba98fac93afbbf7
+66f716e1ec8b08f797fbba1592a88ea78ba58bf72a20eafb228bfb478bfb3bfb2b5e
+fb58856d876e8b718bfb27f031f7268bf7538bf72ff721baf75c080efb178ba7f752
+a5f72eab12f802cc62d013e8f76cf78815aef72c05988da58ba18bb38bb1818b608b
+848b84898381636464518b08447115e50613f0aeaa6b611f8b848a848a84793f5d73
+3d8b778b788d7b8e08fb186e15d98dba8af68b05c68bdca8a0e88d928c938b928bb7
+69a96696a192ccb895b50813e88c938c938b9208bc65ae4a1e298b5d8a3c8d898985
+7505898d888e1ea2069b9087821f8b878a8589840841fbd40587768a89728a087206
+898b8a8a8a89088573050e3f72cef721c2f726c901ccb196a9f7e2ac03f85aec15a1
+a69fbc94b68f9c8d9e8b9e8b9e899d879678c255d3238b4b8b637f63706672767082
+620889838a838b848b66a26eba7b40766c638266887f8a808b818b7094779e7aa770
+b07fcd8b08f70b8bd5d9b0b7089df75f158f838d7e8b7b8b7b89798679846d725e72
+735d61606f3c8b2b8b5ca08bb78b918c918c910894b2b3a3cd99a483a685a888948a
+928a928ba98b9d93909f089107997c926d1e78066f896d856c83559771a08ba98b8f
+8b8f8c909bcfd79ddd8bf7008ba75a9c68080e3b83aef72eacf758adebcb01c4dcf7
+b7a603f911f8f015568b335f6e23088a06887e8379828b778b6e9e578bfb138bfb0f
+2c6afb228879897a8b7b8b2ec944f7038bd78bc8a5bfc0089fe2058d938f91938f91
+8fa48c8b8b8f8b928d8d910891a7058b5b886c6d5b8e8b1e846e058a878c88908b08
+9706a192847d1f8b8489838981087f5705726a5c74698b308b69d28bd58b9e8d9e90
+9ea5f706f2cec18bbd8bc2758b4f8b868b868a8508887aa68baff72f05909e98a79a
+9c9f9f9a919b8b9c8b9b849a8ba18b9a9c8f9b8c8e8b8f8b8d8b9c8097798b080e88
+8aa8f74cadf730a801f74ef7f7154afbac0582658483678a087106888b89898a8808
+86758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b1f8b928c948e9608
+aaf71df7618b6bfb1e0582648584678b087606878b89898a870886768d89ec8df705
+898c8d90a0058c8e8a8e878b08710672828e9b1f8b918d948e9708cbf7ac0595b493
+92ad8b08a4068f8b8e8d8c8e088fa18a8dfb05892a8d89898675058a878d8a8e8b08
+a006a494867b1f8b858982887f0872fb00fb608ba4f7010595b39392ad8b089f068f
+8b8d8d8c8f0890a08a8dfb0088248e8a89857505878c8a8f1ea506a493867b1f8b85
+8a828980080efbc0fb3da0f8a0aaf704ee0160a6f78cf003f79ed71579847c847482
+8c8f8c908c9008e2f80d758b058085778171846580708a828908846c059c8fa08e95
+8b948b91878d820885078b858a82887e0845fbbf05887e8c888a8a8b8a8b8b89885c
+76295b78588a8789878a878b868a878b878b769a7ea28708938a928a928bce8bbbbc
+a2af9fa99db696b3baa27881b19c0866f891158a878b888b878b828e839084938295
+86998b988b98909795979492978e988c8f8b8f8b8e088b9489938691839581917e8b
+7d8b7e857f817f82847f877e08fb71fd5e157c8f7e948b9a8b8d8c8d8b8e8c8d8b8d
+8c8d9ab4dfb4b29e8a8689858a87857083747e73087a6d7172708b878b888c868c08
+0e69fb6d76a5a8f741d2ebff0022b333ff00c34ccdbf01ff02173334f7f915ff0004
+cccc9fff0007e668a48bff0009cccc8bff0010b334fffff6e664ff000a8000ffffe0
+33348b658b8b5efffff8199a6608ffffdbe666fb3605838884ffffffb333fffff899
+9a8bfffff866668b84ff00074ccd869479ab80ff0032ccccffffeb999aff002d3334
+ffffdf6666d372aa628b698b686c6b5392838f86968b089fa8a09e968bff0013199a
+8bff00068000ffffee6666ff000a6666ffffeb999aa7549864996fff000fb334ffff
+e0999aff00064cccfffff26666ac82088b87575d055a5f7079778b718b8f99698b08
+7d6b786c6fa184a61fab8bc8b1d3cb08b3ff00224ccd059cff000eb334a09ba08b08
+49fbac057c4a81638b8b8b848e88948ba695d398b48e088ea3058e8a8d871e6c8d05
+7e8391a11f8b968d9c90a1080efb128bb561a5f80da6121360cea5156d06878b888a
+8985088678f7fb8bb3f71d748b0513a07f7573424b8b08fb088bd3f7d00593ac9297
+ac8b08a8068d8b928d8c91088f9e058b47885f5f488e8b1e8678058a868e88908b08
+a806a392847d1f8b84898489810849fbb305836c887f6689080e7ffb7ea8f756b7f8
+09adf763ab01d7da03f7ddf82a15b48ba6719d5e084afbad056c786889798b628b6d
+9c76ab829981a18bb08b9e8da392a7a3f3c8d7db8b08f83cf759158c8e8b8e8b8f8b
+ad63ab478b6e8b73826a77425e7c5666fb1d729c6b93658bfb0b8b20246cfb170887
+7788788b798b68946c9b6ea45fb576cb8bc38bae9e9e980862fb4705846d877c6489
+087a06848b89878a88088675058bc98db2b3c9898b1e90a0058d91868d888b087906
+748c838f8b9b8b918c948d9608f71cf8dd059bd19dc48f93a1c1afaaa58b968b9387
+9285a575765bba8b9f8b9d998fa1080efb458ba8f73fb2f829a712f728e146d2f748
+d513ecf709a8157906878b868a8984088676058bcb8db4b2c7898b1e90a1058e8b8f
+851e7906728c84928b988b928d948d9508a8f710f70a8b0592938f918b958b8f8a90
+8a9108fb0a8b90a305a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d
+77360813f4f7650a13ec8c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b60
+8b808a8188807220fb2b666bfb20088a87218b058b8a7d7f8b7c8b888c878d8708f7
+008b6efb118b8805846f877e6689080efb458ba8f73fb2f829b212f71ed591dbeee3
+41d913faf76bf8a315f7660a13fcf7670a13fa8d968d958b958bcf53b63f8b288b30
+477429877b897c8b7f8b2edb6c8b358b838b83898208fb01068b8a7e7f8b7c8b888c
+878d8708f7038b6efb1005846d877c6589087906848b8a878988088675058bc98db2
+b3ca898b1e90a0058d92868c888b087806738c84928b978b928d938d9608a8f71105
+13fcf70606929390918b958b8f8a908a9108fb078b8c8f058e9a8d988b998beb35b5
+8bd9088b938c948d94080ef78584b568b2f7f0b27aaef75ca6a47712d3dc132ef8e7
+f83e157e8b858d8d958c8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208b
+fbb7fbda05858a858a878b838b848e8a95088e078b948e9a90a508f718f8cf758b05
+75837c867888798765867b8b088772058b888d888e8c08ac8e05989282771f8b8189
+7e877c0866fb3405139e6ca3608e778b528b59755a65566069507a41857589758b77
+8b31be4ee38bbe8bc8b6a9a3087948a38b059b97a595ac94868588868b8808136e85
+9387a31ef7ba8bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979996998c91
+8c8e8b8d8b8d088e07878d898c838b888b758a728808fc45fbe215139e6169607470
+8b5b8b5db28bdf8b9f8ea191a59bd3a6b39ea0b6bab68e9f8bba8ba7789963080ef7
+56fb74a8f750b591a6f7d7b276aef75ca6a47712d5ddf73adcf78dd913efc0f7fee7
+15f7680a49fbb6157948a38b05a69fc39bc897088ca60582896984808b828b848e8b
+95088e078b948d9a91a508c2f7820513f7c0a0a29e909e8b08f7228bfb73fbb105a2
+909f8d9d8bce8bba5a8b4a8b818a80898070fb09295e598b638b74a283a284a07d91
+748b08758b807d877b0885076cbe68e01ef7258beeeba1eb8f9d8d9c8b9b8bd75abc
+2c9308f74df78005949891958c918c8c8b8c8b8c0892858e7b1efb7a067d8b868d8d
+948c8c8b8d8c8e08898bc4f78d758b0575837b867888798765867c8b088772058a88
+8d888e8c08ac8e05989282771f8b81897e887c0866fb340513efc06ca3608e778b52
+8b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6a8a3080ef79484
+b568c650b2e5acf779b276aef75ca6a47712d5ddf90eab1333c0f9a9e815846b6375
+568b084b069ea7b2c9ca8bae8b947c8b7d088b898b888a8908fb522e15c706e38bc7
+b197c38d928c908b918bb26696768b668b697c7177767b7069716508498bf7caf7f0
+05989995968d92088e07131bc091868d821efb84061317c06f8c958f1f778f49fb29
+a5860598ada6b4979408135bc098939a909f8b08f7228bfbb9fbde05838a858a878b
+828b848e8b95088e078b948d9a91a508f718f8cf758b0575837b867888798765867c
+8b088772058a888d888e8c08ac8e05989282771f8b81897e887c0866fb34051397c0
+6ca3608e778b528b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6
+a8a3087948a38b059b97a796ac94878788878a870889071353c0829a899c1e133bc0
+f506746575637c6608a8840598afa3b7a4b508fb81e7151397c0f7680a0eb17eaaf8
+09b27ba912f3dcf72fcdf704d590a013bef7387e15f75106ac8bdf94ad9cb9a1a7ab
+96ba8d948c948b948bab7baa58a840b65f8d8bb38b908c918d920898c6be9eb28ba1
+8bc58090fb0008a08c9af70d057a965c9b588b3b8b3d587b46887f8a828b818b7096
+78a17cc465e3758b4c8b868a858a85087f595273658bfb058b249384b28a8e8b8e8b
+8f8b988e9f91a50813dec7f795f7048b94b2fb048baef72e4e77867805815f806f80
+7c77756985708b088264d18b44fbc405887c897d8b800860a27ab01e0e28fb73b1f7
+42c3f7eeb2f77fad12decf5cddf837cf13faf70ffb0f15788b7a7a877b08810768b6
+75b21e9a8ba28cb5a8d1bc9fdda4f508eff84305a1ebabe9c48b9c8b997f8e718e7c
+8e7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba570ab498b086f8b6e816c76435b773c72
+24088a83898bfb028baef72e4e77867805793d7266458b088264d18b45fbc20513f6
+877c897d8b808b60a27ab08bb78bb7a2adac087f570568fb2b6370758b0813fa758b
+889b8a9a08899b899a738b08f717f89615ea06908b928c918e083ffbdd859105797f
+6c7c6f8b0813f67b85959f1f8b9a8e9f91a5080ed880c354d2f2a4f75eb278a712f3
+dde1e0f776e946a5136680f8f4f71f15805b356d638b7f8b808c818ea9abceceb58b
+9a8b9b878b7c08a38d158c8f8c8f8b8e8ba47291728b588b3d3d666460a179ba8bbc
+8b9e8e9e8f9e0813af009dd6c4e4e48bc28b8b6a8b6e8c708b73af8ba38ba49d91a4
+8c908c918b908bc341a5588b08fb1b8b20246dfb14867588768b768b718f72957508
+8a8c05797f6c7c6f8b7b8b85958b9f8b9a8e9f91a50813b680c6f793ea8b05948b9a
+8f8d94088f9f058c8f898d868b08fb028baef72e4e77867805793d7266458b088264
+d18b45fbc205877c897d8b808b60a27ab08bbb8bbba7adb199749f79a57f706b706a
+706a089f8705a8aba5aba6aa08136e8096889889988bd88bf710d59ede080ef789fb
+6fa9f74ea6f803b269bbf781a612f879e5f726d813def85ff7f5154afbae05846c85
+7d688a08798a05858986891f867805a98cbc8d9e8ba18bce88978b08909f058c9089
+8c858b087b8c05758c818e8b9c8b928d938d9508c4f78d05a2abb7b7d48bb58b9972
+8b658b7b887886770858fb73056afb2156245e8b818b878f89958a9b86a3748b888b
+7188846b8a898b898b898b6dbc7ea68b08a48bad97aca6d0c2a6dba9f71608baf75d
+0590a58ea18b9e8bcc6aa5568b2c8b4c4a777408a1ea758b0513ee6c7b6e86738b08
+fb4c8b92aa05b8f752d1a9b58ba98ba46d8b54088407759673aa1e9e8ba19a91a58c
+8f8b908b908b9e83a46bac74a26995658b428bfb0b6957fb760886793c8b8364da8b
+40fbd40583658584698908798a05868b89898a8708877705a88cbc8d9f8ba18bce88
+978b088fa0058c8e888d878b087b8c05738c83908b9a8b918d948d9608d5f7d4f74c
+8b8d8b059a8f83811f8b8589848a84080e6881a77aa6f816a9f75aa9a57712f776a3
+9fcef700d68fa3137f80f703d315856e7e7c698b087406868b87888a860887788c89
+058bd48dae1e9f8ba68aa28b08a29e8a8b1f8d8c0513bf80a385a887af8bc38bf3a4
+a2ee8e958c948b948bc854a74baa629f74978ba88b908c908c910899c4bb9db28ba0
+8bc58090fb0008a38c9af70d057a965a9b588b3b8b3f587b46887f8a808b828b5baf
+79c370c86fa1718b6a8b858b8489840880595173658b658b719d83967e9b87a58ba2
+8b978c968d9308738a76fb05057c8e85948b998b908c908c9208f725f906758b0575
+827b877887798865857c8b088772058a888d898e8b08958ca28e05989182771f8b81
+8a7e877b080ea98bb265a6f7fbb2f76ca9a577121378f814f83e157e8b858d8d958c
+8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208bfbd0fbf7058a8a8a8989
+8a0885067182949d1f8b908c908c9208f725f906758b0575827b877887798865857c
+8b088772058a888d898e8b08958ca28e05989182771f8b818a7e877b08fb09fc8e05
+856e7e7c698b087406868b87888a860887788c89058bd48daeb2d4898b1e13b88c8c
+908bf7b98bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979997998c918b8e
+8c8d8b8d8b8c8b8c8a8c878d898c838b888b758a7288080e34f7a2a2f7cfa201ff01
+14b334f8f915ff000380009cffffff33328c058bffffdbcccd8a7173ffffe533338c
+8b1efffffecccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007
+666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938b
+ff0009b3338eff000633349608ff0054e666f727ff0019e666fb2805ff0001666683
+ff0003e66686908b928bff0009b3348eff000733349608ff0077b334f75c05ff0010
+e664a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009cffff
+ff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80007a
+05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdcccc808a86
+fffffcccce85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94
+ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff000099
+9a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1ffffffe
+ccce8afffffc80007a05ffffff333287ff0001ccce8a8e8b9d8b9186ff0004800070
+08ff00044ccc74ffffb6ccccfb15ffffe5199af72d058995ffffff8000928c90ff00
+01666792ff000666668dff000b00018b0894068d8bff000266668dff0000999a8e08
+ffffc0fffffbe615ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533
+338c8b1efffffecccc8afffffc80007a05ffffff666688ff00039999898e8b9b8bff
+0007666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b
+938bff0009b3338eff000633339608ff0054e667f727ff0019e666fb2805ff000166
+6683ff0003e66686908b928bff0009b3348eff000733349608ff0077b332f75c05ff
+0010e666a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009c
+ffffff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80
+007a05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdccce80
+8a86fffffccccc85fffffb66668308ffffa68000fb2affffe6199af72d05fffffecc
+ce94ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff00
+00999a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1fff
+fffecccd8afffffc80007a05ffffff333287ff0001cccd8a8e8bff001200018b9186
+ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d058995ffffff80
+00928c90ff0001666792ff000666668d968b089406ff0001ffff8bff000266678dff
+000099998e080efb38f73ec1f7b0c101f844f7fe15baf75cfbc08b5cfb5ca88bacf7
+26f7888b69fb260559fbe715b9f75dfbbf8b5cfb5da88bacf727f7878b6afb27050e
+94fb56a6f732baf801a87ca912f73cda70cf13d4f793f73b159ddb9acc8bba8bc477
+aa508b6e8b4b7c83698a878b878b888b759e898e8b0813e4a28b9ba3939b0813d491
+95918f968b998b927f8b728b687e4f77330813e8815e82618b688b599e69c88bb28b
+c99addce0847fbb9a18b05a1949b8f9e8f9d8eb1919a8b088fa4058c8e898d888b08
+6a88057e84939e1f8b968d988f9b08f5f85f0591a7989bad8b089e068f8b8f8e8c90
+08909e898d058b47896764478d8b1e8989867805868d88901e9e06a49582791f8b86
+8b8589850851fb8c05515b5a726e8b618b7da58bb3088b9e8ea090a2080eaafb85a9
+f75ebaf801a879a812f73dd975ccf700ce13eaf87f9415dcf7f20591a7989bad8b08
+9e068f8b8f8e8c9008909e898d058b47896764478d8b1e8989867805868d88901e9e
+06a49582791f8b868b8589850851fb8c05515b5a726e8b618b7da68bb28b9e8ea190
+a10813d69edf9bd08bba8bbd7aa55c8b6d8b4b7c846a8a878a878b888b759e888e8b
+a28b9ba3939b0891959290958b928b8e848b7d8b6c7c4c74250813ea836681608b66
+8b599c64c98bb28bc99addce088369057c4a81518b5c8b48a060c68ba88bcb9a93ad
+8c8f8b8f8b8e8ba1788d888b748b7c73827b0885818587808b7c8b839d8baf088bb0
+94c49cd3080efb92f800a2f766add1a001ff005c199aff011eb33203ff00ef199af9
+2c15ff00088000b5ff00074ccca58b8b8c90fffffe80008d858bffffee999a84ffff
+d04ccd83ffffe599998908fffffd4ccd7905ffffff999989ff0001cccd8a8d8b08ff
+0014cccc8a05988bff0004800084fffff7800061085bfb8005fffffbb334768988ff
+ffe7cccc8808fffff7cccc8a05fffffbffff8bffffff666788ffffff99998908ffff
+fc66667905ff000000028bff002533338ca38b08a5ff0027cccd8a8b1fff00039999
+9d05ff0000cccc8ffffffd33338c898b08fffff533338c05ffffee8000ff0001999a
+fffff9b334ff00046666ff00044ccca008ff001be667f71d05ff0017b334a2ff0019
+8000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605fffffbb33476
+84fffffbb334ffffecccccfffffe4ccc08fffff4ccce8a05fffffbffff8bfffffe66
+6788ffffff99998908fffffc666779058bff002833328ca4a3ff0025ccce8a8b1eff
+0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa33328c05ffff
+ece666ff00034cccfffffab334ff0004b334ff0003e6669e08ff00194ccef71005ff
+000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080efb92f7faa2
+f771a8e0a101ff0053cccdff011bb33403ff00803333f82815fffffce6667cfffffa
+666683798b088106888bfffffe999a89ffffff66668808fffffc80007aff0000cccd
+8a05ff000000018bff002333338c9e8b089fff002dcccd8a8b1fff000133338cff00
+0380009c05ff0000999a8efffffe66668d888b0882067a8bfffffb999a93ff000319
+999a08ff00204ccdf73305ff001e199aa4ff0022e666999a8ba38bff000ce66677ff
+fff780006108ffffe44ccefb1c05fffffce6667cfffff9666683798b088106888bff
+fffe999a89ffffff66668808fffffc80007aff0000cccd8a05ff000000018bff0024
+33338c9d8b08a0ff002ccccc8a8b1fff000133348cff000380009c05ff0000999a8e
+fffffe66668d898b0881067a8bfffffb999a93ff0003199a9a08ff001d4cccf72405
+96c1ffffeae666a8648b778bffffd64cce83ffffd5e666680894b705ff000419999f
+ff0003333396ff0005cccd99ff000ab333a7ff00114cce96998b968bff000c333287
+ff0002e6667c8d81ff0001b334809a8b968bff000c199a958d95ff0004199a9fffff
+f16666a1518b086f8bffffc499997affffec80002b080efbf6f79b9ef7d1a0c9c401
+ff003c3333ff002f3333ff007c199ac703ff010b6666f97715788bfffff266677eff
+fffcb3337bfffffce6667cff000a66677e9c8bff0010ffff8bff000f999a98ff0003
+199a9aff0002cccc99fffffb199a9a758b08ffffc44ccdfb5215ffffe3b333fb1f05
+ffffed199a2effffefe666686e8b868bfffffccccd8fff0000333391fffffecccd99
+fffffb199a9a7c8b7f8bfffff5333382fffffcb3337bfffffbe66777ff001f66667e
+a68b9b8bff0015666692ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccd
+e008ff001db334f72605ff00058000a6ff00078000a68b8b8c90fffffe66668d858b
+ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff00
+01cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061080e
+fbcff801a2f765b365a012ff00634ccdf79913d0ff00f2999af8d615fffffe33338c
+05ff00058001ff001b3334ff0006e666ff0017cccc8b8b8c90fffffe66678d858b08
+13b0ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89
+ff0001cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061
+08ffffe48000fb1b05fffffc199978fffffd3333fffffb4cccffffe8999afffffeb3
+3408ffffedcccc8a05868bfffffe999a89ffffff66668808fffffc66667905ff0000
+00018bff002d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8e
+fffffd66668d898b08ffffee33348c05ffffed3333ff0001199afffff9cccdff0003
+e666ff000419999f08ff0019b333f71205ff0001999a93ff0005cccd9490900813d0
+ff0014b333a2ff0011800097928b8f8bff0004800089ff0003333487ff0004999884
+ff0007333487978b9d8bff000ccccc94ff000380009cff0003b3349dfffff8999a98
+708b086c8bffffde199a69ffffe9e66672080efbcff7fab37c9ff75fa312ff005c19
+9af79913b0ff00dacccdf85c15fffffe333482fffffb199a828686ffffeb4ccc74ff
+ffee999a7f848b878bfffffb66668dfffffccccd8ffffffb66679284907f8b798b7e
+81fffffc80007afffffc80007aff000733337da68b08aa8bff0022e666adff001619
+9aa4088d8b7d509a8b051370ff001a333496ff00194ccc91ff0028999a9308ff0002
+199a9f05fffff3333487fffff46666887e8b808bffffffb33298ff0002ccce9908ff
+0020199af73205ff000419989f8d90a38b089d06908bff000166688dff000099988e
+08ff0003ccce9effffb6e6668affffb633338cfffffc199a7805ffffff666788ff00
+02999a898d8b089d06ff001100018bff0007cccd8afffffb199973080efbc5f78e9e
+e4b3f764a301f7aeff0030999a03ff0100ccccf82115ff00256668f74c05ff000419
+989f8d90a38b089d06908bff000166688dff000099988e08ff0003e6689effffb6cc
+cc8affffb633338cfffffc199a7805ffffff666788ff0002999a898d8b089d06ff00
+1100018bff0007cccd8afffffb19997308ffffe6999afb1105fffffe333482fffffb
+199a828686ffffeb4ccc74ffffee999a7f848b878bfffffb66668dfffffccccd8fff
+fffb66679284907f8b798b7e81fffffc80007afffffc80007aff000733337da68b08
+aa8bff0022e666adff0016199aa4088d06ffffeeb33436ffffffb33371ff0014b333
+6cff000c4ccd79ff0012b333849b8ba68bff0024ccce99ff0003e6669eff00038000
+9cfffff8cccc947f8b7c8bfffff4b3347bfffff966667efffffd999a84fffffb199a
+87868b08ffffe2ffff8bfffffd3333aeff0012e666e8080efbb1f800a1f7059ee5a2
+7f9e12ff0062199aff0125800013e8ff0097b333f8f415ff001bffff8bffffffcccd
+85fffffbb3337608ffffdb999afb4705fffffd999a7ffffffdb334857d8b08fffff0
+cccd8a05898b8a8bffffff999a8908fffffc999a7af7138b05b38bff003e999a9dff
+000c9998c9ff0006e668adffffee9998a66c9008ff0023999ac90513d8ff000fb334
+a7ff0013cccc9e9d8b08ff0003b3349d05fffff933328c858b848b6a8bffffe78000
+75ffffebb3346708ffffdc66664d5c8bff000ccccdca0513e8ff000419999fff0003
+666692a18b8d8bff000133338cff0000999a8e08ff000380009cffffff66668d058b
+ffffe0cccd8a7774ffffdd33338c8b1efffffecccd8afffffc199a7805ffffff999a
+89ff0003cccd8a8d8b08ff00863333fb3a15fffffb199a73fffff180006b548b828b
+fffff733338cfffff766678d08ff00166666f702ad8b05b78bff00054ccc6afffffb
+199a73080efb08f8f4a201ff00fbb333f8f915ff000380009cffffff33338c058bff
+ffdbcccd8a7173ffffe533338c8b1efffffecccd8afffffc80007a05ffffff666688
+ff00039999898e8b9b8bff0007666788ff000519996e08ff00224ccdfb6105ff0001
+666683ff0003e66786908b938bff0009b3338eff000633339608ff0054e667f727ff
+0019e666fb2805ff0001666683ff0003e66686908b928bff0009b3348eff00073334
+9608ff0077b332f75c05ff0010e666a8ff000e666892998b8e8bff000433348cff00
+00cccc8f08ff000380009cffffff33348c058bffffe9cccc8a7876ffffd833328c8b
+1efffffeccce8afffffc80007a05ffffff999889ff00016668888d8b0894069d8bff
+0008199887fffffdccce808a86fffffccccc85fffffb66668308ffffa68000fb2aff
+ffe6199af72d05fffffeccce94ffffff800092ff0000cccc8f8d95ff000833348c9d
+8b8e8bff000266668dff0000999a8e08ff000380009cfffffe33328cffffc8ccce8a
+0578ffffda33328c8b1ffffffeccce8afffffc80007a05ffffff333287ff0001ccce
+8a8e8b9d8b9186ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d
+058995ffffff8000928c90ff0001666792ff000666668d968b089406ff0001ffff8b
+ff000266678dff000099998e080efb73f782b4f7dda301ff010ee666f8fa15ff0003
+4cce9bffffff66668d058bffffd59999896e78ffffdc66678d8b1efffffd999989ff
+fffc80007a05ffffff999989ff00026666888e8ba68bff0001999afffff66668ff00
+064ccdffffe6999808ff00299999fb3d05ff000266667eff0001b3337bfffffe9999
+84fffffecccd85fffffde66786fffffb666683ffffe84ccd65ffffe680006b828b85
+8b8790fffffb3333918890fffffa999a8e828b818bffffeb333382fffffc4ccd7908
+fffffb4ccc74a881978bb78bff001eb334b1a7b7ff004a999af70dff00274cccc7ff
+00303334d1ff000bb3329dff000fccce9ea38b908bff000266668dff0000cccc8f08
+ff00034cce9bfffffe66668d058bffffe5999a897a75ffffd666668d8b1efffffe99
+9a89fffffc80007a05ffffff999889ff00026668888e8b088e06998bff000a999889
+fffffe333482ffffff666688fffffd800084fffffd33348708ffff9db332fb29ffff
+dcb334f72b058aff00041998ff0000199aff0005e668ff000066668dff0001999a93
+ff000899998eff001200018b8e8bff000466668dff0000cccc8f080efc07f8b4f744
+01ff00814ccdff009acccd03ff0111199af95d158590fffffa66668d838b088706ff
+fff3cccd8afffff8199987fffffb33348208ffffa24cccfb2605fffffecccd8affff
+ffcccd8affffffcccd8affffff333387ff0002333387ff0002666788ff0002cccc8a
+ff0002cccd8a8d8b8e8bff000333338cff000266678d08ff007e9999f70d059090ff
+00023334918c90ff0002666697fffffc666696fffff6333491080efb67f8c4f74101
+f73eff011d999a03ff01c7999af94715f71a0affff7d33329115f71b0a0efc1df86b
+d3e59c01ff008bb333ff007b999903ff00b8cccdf86b15ff001e00018bff00119999
+9dff00034ccd9bff00034ccd9bffffff8000a1628b838bfffffb999a93ff00029999
+98ff0004b333a2ff001c999ab0ff002bcccc9408fffffe80009c05ffffb8666783ff
+ffd34ccd4dfffff8b33367fffff8b33367ff000e666766b18b080efc16f86d9ce5d3
+01ff00853333ff007b999903ff00d3b333f92015ffffe1ffff8bffffee4ccd79ffff
+fcb3337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667effff
+fb4ccd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb3
+33c9ff00074cccafff00074cceaffffff19999b0658b080efc1df8749ce1d701ff00
+923333ff0072e66703ff00dd199af92715658bffffe2333365fffff8e66668fffffa
+b33371ffffff999a3fff005a33338708ff000766679c05ffffd7999993fffff5999a
+b0ff0004b333a2ff0002333396ff0005666792928bb48b95a4ff000380009cff0003
+4ccc9bfffff8b3349d678b080efbd2f82fb6f72eb601ff008bcccdff00a9333303f7
+c9f8a215ff000f4cccd6ffffd9199abd488b828bffffec666788fffff699998908ff
+0000b3346205ff000633338cff001066668d918bb68bff001680016bfffff5cccc59
+8055ffffe36666795c8b828bfffff733348cfffff899998e08fffff2999a6205ff00
+06666788ff00086667889a8bc68bff0040b332b1ff000fb334d8080efbd2f82fb6f7
+2eb601ff009b199af8ac15fffff0b33340ff0022cccd59ce8b948bff0013999a8eff
+000966668d08ffffff6666b405fffff9cccc8affffef999a89858b608bffffe88000
+abff000a3334bd96c1ff001d99999dff002f00018b948bff0008cccc8aff00076666
+8808ff000c4cceb405fffffa99988efffff6999a8e7d8b508bffffc3666765fffff0
+4ccd3e080efb96f930a401ff00ba3333ff0027999a03ff00ba3333f90a15fffffcb3
+327b9a86928b938bff000a199a90ff0002cccd94ff0005e6669eff000e3333a5b88b
+a68bff0008b33476fffffab33271fffffc199a78ffffee33347dffffed66667effff
+e8b3347bffffe8666679fffff9e6666d08fffff8cccd68ff0026ffff8bff0005b334
+a705ff00058000a6ff001433349bff001619989aff0015ccce99ff0014199a9aff00
+054ccca5ff0009999abaffffe1e666a85e8b4b8bffffd94ccd6afffff9e6666d080e
+fb96f930a401ff01408000ff002a999a03ff016b199af90a15ff0005e666a872ad4b
+8b5e8bffffd6199a6efffff666665cfffffab33371ff000de6677cff001033337dff
+000fe6667cff000dcccd7bfffffa80007008fffffa4ccd6fff0026ffff8bff000733
+34ae05ff0006199aa9ffffef999a9dffffef4ccc9bfffff2999a98fffff3cccc99ff
+0003e6679eff00054ccda5ff00114ccca0a68bb88bff0003b33471fffffde66677ff
+ffff333482ff0008333287938b928bff0010b3348fff000380009c080e60f7f3f7bb
+01ff01094cccf88615f7a0f2ff0009199cb8fffeb66664fb12fffff7666661ff0116
+3334fb13ff00093334b8050e60f7f3f7bb01ff01c78000f88715fffef4199a24ffff
+f6cccc5eff0149999af712ff00089998b5fffee9cccef713fffff6e6675e050e60f7
+eef7c401ff00b66666f7bb03ff017b999af8e515ff0034ccccfb8bb88bffffbfccce
+f7c4618bffff433332fbc4b88b050e60f7eef7c401ff00f33333f7bb03f7e9f82715
+ffffcb3334f78bffffd2ffff8bff00403333fbc4b58bff00bccccef7c45e8b050efb
+68bef79103ff0152e666f93015e60a0efb68ff00fe6666f89a15f7040a0efc43f8ae
+f74c01ff0096b333ff0054cccd03ff00eb8000f95f158490fffffa66668d848b858b
+7d86fffff4cccd85fffffbb33371fffff7999a62fffffb199a73fffffbb333768468
+fffffae66677ff0006333387ff0006999a89928b918bff000e999a8eff000a666692
+08ff0004e666a8ff0008199ab3ff0004b333a2ff0004b333a2ff0007199aaeff0004
+80009c080efb1cf8aeb701ff00b08000ff011c199a03ff01ae8000f8ae15f30a0efb
+b3f8b8f73401ff009e199aff00b5999a03f7a7f95815ffff9c4ccdfb0b05fffff533
+34fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85
+928b928bff0008cccd8fff001219999a08ff0089199af701ffffff33349605ffffed
+8000a1ffffe6b3328cfffff9999a8b868bfffff9b3348afffffccccc8a080efbb3f8
+b7f73501ff00d88000ff0084e66603f7c5f95815dd0a0efbf8fb80f74501ff001633
+33ff0057999a03ff004c999afb7815ff00213334f73705fffff4ccce8ffffff76666
+8d828b848bfffff8999a89fffff533328708ffffde6666fb3905ff000b333287ff00
+07999a89938b928bff000866668dff000c333491080efb3ffb17b701ff00326666ff
+00f3199a03ff01084cccfb1715988bff000dccce9dff0002666697ff0001666692ff
+fffd666692828b08ffff33000106fffff400018bfffff27fff7afffffd999a7fffff
+fe999a84ff00024ccc83938b080efbc4fb6ff72101ff000bcccdff00a4800003ff00
+0bcccdfb0b158981ff007a19993d05ff000de667fffff73333ff00079999fffffccc
+cd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cccd
+9408ffffb2e666f205ffffff33328cfffffb33348c878b6e8bffffe4666674fffff1
+4ccd79080efbb8fb6af72601ff00044ccdff00b9666603ff000f8000fb6a15908bff
+000733338cff0008cccd8f08ff008e6666c305ff0003999a8eff0005999a98ff0001
+999993ff0005b333a7859e859508fffff6cccd8ffb212405fffff1cccc80fffff319
+9a82fffffe333382ffffff666688fffffecccd80988b080efbf4ff002b8000ff00d5
+e66603ff00766666f82915ff002c6666fb0dff005e9999f70d05ffff2a199afc0415
+f71f8bffffd2999af70d050efbf9f7aff70d01ff00763333ff008b000103ff007633
+33f82815ff002c6667fb0dff005e999af70d050efc05fb77abf70aac01fffffc6666
+ff0086e66703ff00614ccdfb1c15fffff9199a69ffffe0e66672ffffdf00018b868b
+fffffb33338cfffffb33338c08fffff0b3336c05ff0007999a89ff0007cccd8a938b
+bf8bff00314ccdb4ff000a3333bdff000a6666beffffdf4ccdb4578b7f8bfffff399
+9a89fffff533338708ff0005b3336c05ff0007999a8eff000733328c938bff002400
+018bff00114ccd6ffffff9b3336c080efc05fb6cabf70aac01ff0008999aff00904c
+cc03ff0008999afb1115fffff5999958ff0021e66763bd8b948bff000833338cff00
+0766668d08fffffe4ccdaa05fffffa999a89868b858b698bffffec4ccca5ff0006b3
+34acff00064cccaaff001eb334a7ad8b948bff0006cccc8aff000666678808ff0012
+1999a9058190fffff566678d7e8b588bffffce800061fffff5cccd59080efbc2fb78
+b701fffffd8000ff00b3199a03ff0001999afb7815f73c068f90ff00034ccc91ff00
+01666792ff0001666692ffffffe667948895084d8bff0015e666f70005fffffb6666
+92fffff8b3348e838b848bfffff74ccc88fffff933348708ffffe98000fb034a8b05
+fffffb999984fffffcb33385fffffe999a84fffffe999a84ff00014ccc83ff000433
+3482080efbc2fb6376f70ab701ff0017999aff00b3199903ff00c6999a4915fb3c06
+8786fffffcb33385fffffe999984fffffe999a84ff0000199a828e8108c98b75fb00
+05ff0004999984ff0007666788938b928bff000899998eff0006cccd8f08ff001699
+9af703cc8b05ff0004666692ff00034ccd91ff0001666692ff0001666792fffffeb3
+3393fffffbcccd94080efbb3fb29b701ff000fb333ff00c2b33303ff00758000fb65
+15ff000c3333c7ce8b05ff0007cccc94ff0004800092ff0001666692ff0001666792
+fffffe333391fffffc999a9308478bff000d1999cb05fffff8cccc8ffffffa999a8e
+858b848bfffff84ccc88fffff4999a8408fffff3999a4e488b05fffff7999984ffff
+fc999a84fffffe666683fffffe999a84ff0000800084ff000266668308d18bfffff2
+cccd4a05ff0007333387ff0005800089928b928bff0007b3338eff000a999a93080e
+fbb3fb11b701ff000f999aff00c2800003ff00ce80003a15fb4706fffff7999a84ff
+fffb800084fffffe666683fffffe999a84ff0001999984ff000266678308f74906ff
+0007cccc94ff0004800092ff0001333491ff0001999993fffffe333391fffffc999a
+93080efb88f8a5c401ff009c199aff001d666603ff00b98000f93815f7690a0efba2
+f8e4eb01ff00e43333ff0060000103ff00e43333f91415f70e0a0efb5cf8e0a6f704
+a601ff00e68000f74203ff0148e666f96b15f7240affff9d999a5315f7250a0efb77
+fb5cb101ff00266666ff00c4333403ff00ea999afb1b15fffffd666692fffffacccd
+8f828bffffe5800075ffffecb3337b6e8b668bfffff74ccda0ff00054ccda5ff0009
+6666b9ff00286666abff00486667be08fffff580009c05ffffa600015affffb57fff
+57fffff4999a538055ff0021e66677ff003200018bb48bff002c19999fff00263334
+b8080efba1f8d2b78fb901ff007acccdff01274ccc03ff014eb334f8fe15f70c0a0e
+fb67ff01c7999af94715f71a0affff7d33329115f71b0a0efb87f7b2bef7187701ff
+00748000ff00e7666603ff00748000f81115ff00064ccd6505ff001d199a9aff0034
+3334a0a690fffff9333382fffff9b3337bfffffd33337dfffff6cccd5eff00133333
+7d9b8bff001a00018bff0018666697ff00384cccaf08fffff9199a9f05ffffe7999a
+7f7f86758b788bfffffe33329bff00048000a1ff00074cceafff00138000a1ff0016
+199aa408fffff433329605ffffca4ccd65ffffbb4ccd6fffffbf800075080efb5ef8
+8ff76201ff009f199aff0121e66603ff015c199af8f615ff0064e666d405fffffdcc
+cc948b8bfffffc999a93fffffc999a93ff0000199a8b879008ffff834ccc43ffff9d
+b334d3058586ffffffe6668bfffff9333382fffff83333828b8bfffffb999a8408ff
+0048e66641ffff9a33344205ff0003666683ffffffe6668bff0003666783ff000299
+99848b8bff0004cccd8508ff007d6667d2ff0060999a4405ff00083332918b8bff00
+05666692ff0006666892ff000019988bff0004ccce94080efb94f7faa3f7a9a301ff
+010a999ab303ff00dbcccdf7fa15c58bff00198000b5ff00034cce9bff0001cccc94
+ff00056666a5ffffe3ccceca08ff0003333291ff00656668f71105ff0009333296ff
+000eb3348e9a8b08ff00048000a1ffffff66668d058bffffdf999a897a1e7c8bffff
+e933328cffffef33348c08fffffe999a89fffffb80007505a08bff000cb3328a8981
+ffffff999a89fffffe999a89fffffe33348708ffffb0e66628ffffde4cccef05ffff
+fecccd8ffffffe999a8eff000099998e8c90ff0007b3348ea18b08ff00048000a1ff
+ffff66668d05ffffe2999a89708b7c8b798bfffff433338cfffff133338c08fffffe
+999a89fffffc19997805ffffff6666888d8b8d8b9b8b9d86ff0004b3337b08ff002e
+b333fb1fffffd4e6665905fffff6999a7ffffff24ccd79fffffcb3337bfffffa199a
+6eff0015b3337bae8b08fffff1cccdc015ff0002666697ff00118000a1ff00194ccd
+aa08ff000366668305ff000e19986eff0000199a7dfffffe333482fffffc199a78ff
+fff1ffff7c778b7a8b8195ff0003e6679e080efc24f800a2f7cea001ff005c199aff
+00a2e66603ff00bb6666f91f155bfb8005fffffbb33476fffffeb33388ffffe71999
+8808fffff7cccc8a05fffffbe666ffffff8000ffffff8000fffffd8000ffffff9999
+8908fffffc66667905ff000000028bff002566668cff0017cccd8b08ff00189999ff
+002633348a8b1fff000399999d05ff0000cccc8ffffffd199aff0000ccccfffffe19
+99ff0000333408fffff833338c05ffffef199aff00023334fffff93333ff00044ccc
+ff00043333ff0014800008ff0032b334f78d05ff00088000b5ff00076666a58b8b8c
+90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908fffffd4ccd79
+05ffffff999989ff0001cccd8a8d8b08ff0014cccc8a05988bff0004800084fffff7
+800061080efbc8f7faa4f779a401ff00793333a1ff00a38001ff0017333203ff0079
+3333f85e15fffffc7fff6bfffffb80006bfffffb199a73ff000633338cff000a3333
+8c8e8b9f8bff0013199a7da98bad8bff00454ccd9bff000c6666c8ff000a3334bdff
+ffd5cccc9effffd14ccda0ffffe0cccd99fffff7e66694ff0004e666a308ff000580
+00a6ff0017999a98a48b9e8bab81ff000233345108ff001733328cff00063334d605
+fffff6666692ffffdb199a956c8b5a8bffffcc66666bfffff7800061fffff6cccd5e
+ff001be6667bff002a199a78ff002db333768f77fffffbb33376fffffa800070ffff
+e5b33380738b748bffffef800097fffffa33349108fffff34ccc9bffffff8000a6ff
+0001cccd99080efb92f800a3f772a101ff005b4ccdf81015fffffd66667eff000066
+668805ff001233358cff001233338ca28b9b8b9b8bff0013cccd8a08ff000199998e
+ff000266679705ff0001000190ffffff99998e838b808bfffffa199a8b8c90ff0000
+999a8eff0002cccc8fff00053334918b8bff00231999aeff00144ccda0ff00036666
+83a65a8b8b8d86ff0001666688ffffff666888088a86fffff8b3328a848b828bffff
+fccccd85fffffecccd85088981ff0000999a8905ff000e33328cff002233348ca28b
+9e8b9d8bff0012999a8908ff0001999a8eff000299989805ff0000ccce8fffffffcc
+cc8f7f8b758bfffff6e66699fffff8ccce9908ffffd28000e1ff0047b332d805ff00
+194ccea59190a08b978bff000066668dff000133349108ff00024ccc96ffffff999a
+8e05ffffeacccc8afffff1ccce8a778b7a8bfffff033328cffffee33348c08fffffe
+999a89fffffd4ccc7e05fffffecccc85ff0003ccce8a918b988bff00046666888a86
+ffffff999a89fffffe666688fffffc6666888b8bfffff6e66681ffffcc999a5308ff
+ffe53334c205fffffe666692fffffd8000928c90ff0000cccd8fff0003cccd8f928b
+948bff000566668d8c9008ff0002800097ffffff999a8e05ffffe7cccc8a768b778b
+738b7b8bffffec33348c08fffffe999989fffffd4ccd7e058a86ff0001999a89978b
+978bff00094ccc83ff0006999a7f08ff003280002605fffffc666688ffffb54ccd43
+8b8bffffe74ccd74fffff8666688788b848bfffffbcccd8afffffe999a84080efbce
+f800a2f7dea101ff0107b334f81715ffffe8ffff8bff0001cccd94ff0003b3339d08
+ff000e1999d005ff00096668b9ffffec9999a7ffffed1999a4fffff04ccda0fffff1
+8000a1ff00068000abff0006199aa9ff00161999a9b08ba98bff001680007afffffa
+e66672ffffff333487fffffe333487fffffe666688ffffff666688fffffe666688ff
+ffff33348708fffffc199a78ff0010333287958b978b9e95ff000380009cff000a99
+9abfffffcbe666a8568b4c8bffffd580006bfffff5cccd59fffff6999a5d9e77ff00
+11e66677ff00114ccd79ff00114ccd79fffff819996408ffffefb3343b05fffffc4c
+cc798881ffffe8cccd8a088006fffffbffff8bfffffe999a89ffffff66668808ffff
+fc666779058bff002733338ca4a4ff0026cccd8a8b1eff0003999a9d05ff0000cccc
+8ffffffd33348c898b080efb10a076f8e1c301ff01f73334f91915fbee8bfffff499
+9a53f7af8bffff883334fce1ca8b050efb10a076f89bc3d17701ff01f73334f91915
+4c8bfffff1cccc45fbaf8bfffff4999a53f7af8bffff966666fc9bca8b050efb10a0
+76f7cec3f7a77701ff01f73334f919154c8bffffc81998fba7fbaf8bfffff4999a53
+f7af8bffffc0199afbceca8b050efb10a076d0c3f89c7701ff01f73334f919154c8b
+ffff963332fc9cfbaf8bfffff4999a53f7af8b7d46ca8b050efb108bc3f8e17701ff
+01f73334f919154c8bffff883332fce1fbaf8bfffff4999a53f7ee8b050efb58d5b8
+01ff0041199aff0112333203ff0041199ad515f79d8bff00093332b8ffff29e6678b
+ff0032b333f78d588b050efb51f762b901ff003c6666ff0138e66603ff00706666be
+15ff001f8000f72ff7708bff00096666b9ffff2400018bff001eb333f72b578bffff
+b86666fbf4050efb8dfb15f79401ff0026ccccf7ac03ff0026ccccf71315d6fb94aa
+8bff00adfffff7945e8bffff830001fb4a52f74a050e40f8dbb6e8b701ff02589998
+f8db15ff0008ccd0b6fffe22fffe8bfffff733346005ff01f8b334f71c15ff0008e6
+68b7fc718bfffff7199a5f050efb4bf8579fdbdd01ff0095cccdff011b999803ff00
+e6cccdf90d15ffffdd00018bffffeae66672fffffcb3337bfffffc80007aff000533
+3473b38bff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffff
+e566666bffffc4999a7ffffffe999984ffffff333482ff0003333387b290ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b6666a1ff0004e666
+a3ff00074cceaffffff09998b0ffffd900018b08ff009b66678d15688b7672fffffc
+b3327bfffffc80007aff0005199a73b38bff001833348bff00063332ff0006999887
+ffffec6668fffffb4cce74ffffe566666bffffc4999a7ffffffe999884ffffff3334
+82ff0003333487b290ff001f8000ff0010e666ff00153332ff0015199a08ff001419
+9a9fff000b8000a1ff0004e666a3ff00074cceaffffff08000b0648b080efbeeffff
+1d8000f75501ff00033333ff00c3b33303ff004bb333ffff61b33315ffffdce666ff
+007ccccdffffda999a8bbafb55ff001933338bff007b8000f755ffffda999a8b050e
+fbeeffff1d8000f75501ffffdbe666ff00c3b33403ff00573333ffff9a4ccd15aeff
+ff833333ff002566678bffffd31999f755ffffe6b3348bffff828000fb55ff002566
+668b050efbabffff1c6666ff00c3333401fffff6cccdff00fe999903ff003e4cccfb
+1615ff00af8000ff003c4ccdff00079999ff00254cccffff06e667ffffac3334ffff
+fa8000ffffe46666ff00d6e666ffffac3333ff0007999aff00254ccd050efbb5ffff
+1c6666ff00c3333401ffffe5b333ff00fe666703ff009ccccdfb1615ffff508000ff
+ffc3b333fffff86666ffffdab333ff00f9199aff0053cccdff00054ccdff001a8000
+ffff294cccff0054e666fffff86666ffffdab334050efbdbfb5ca6f704a601ff0006
+3333f74203ff0068999a4e15ff001e00028bff000ee66672fffff9b3336cfffffa4c
+cd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b333a7ff00061999a9
+ff00184ccea5aa8b08ffff9d99995315fffff699995dff0021800066b98bbb8bff00
+2eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d8bffffcf800066ffff
+f699995d080efc08f785f74401ff006b8000ff0045800003ff009ccccdf83515ffff
+e080018b7cffffe9ccccfffffd3333fffff233348a86ffffffcccd858f8608ff004d
+4ccdfb0d05ff0001999989ff0001cccd8a8e8bff000b33338b90ff000a6666ff0000
+8000ff0002999aff000033338cff000066678dffffff4ccd8e08ffffde6666f72305
+fffffdcccd948490808b080efb84f787f74201ff00ef8000ff0045800003ff009799
+9af82f15ffffe899998bffffedb333ffffede666fffffc6667ffffee199afffffecc
+cd85ff0000800084ff0003cccc8508ff005b999afb0205ff0001999a89ff0001cccc
+8a8e8bff0002999a8bff000b4ccdff00044ccd8dff0009b333ff000033338cff0000
+66668dffffff33348c08ffffce4cccf71f05fffffccccd94fffff966678d7f8b08ff
+008933329115ffffe080008bfffff10001ffffe9ccccfffffd3333fffff233348a86
+ffffffcccd858f8608ff004d4ccdfb0d05ff0001999a89ff0001cccc8a8e8bff000b
+33348b90ff000a6666ff00008000ff0002999aff000033328cff000066668dffffff
+4cce8e08ffffde6666f72305fffffdcccc948490808b080efb84f787f74201ff0051
+b333ff011d999803ff0150999af82f157f8bfffff8999a89fffff933328208ffff95
+b334fb1f05fffffecccc8affffff999a89ffffffcccd8a89fffff64ccdff00098000
+fffffbb333ff000299998b8e8bff000233348cff000266668d08ff00886666f70205
+ff0006333491ff0003800092ff0001333291ff0003999aff0011e666fffff5199aff
+0012199affffe8999a8b08ffff7933339115fffff500018b8286fffffa33338208ff
+ffa43333fb2305fffffe199988ffffff999989ffffffcccd8affffff8000fffffd66
+66ff0000999afffff5999aff000b33338b8e8bff000233338cff000266678d08ff00
+7eb334f70d05ff0006000190ff00023333918c90ff0002cccdff000dcccc85ff0016
+3334ffffe080008b080efb87fb0eb78fb901fffffc3333ff01274ccc03ff00d0199a
+3d15788bfffff1199995fffff2666797ffffeecccc99ffffece667996d8bffffd4ff
+ff8bffffe2e6676d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933349105ffffe97fff61ffffefe66781758b080efbd8f7ddf5f731f501ff008d
+b333ff009f800103ff00c33333f91915fffffa19996eff0013199973a88ba88bff00
+1ce666a3ff0005e668a8ff0005e666a8ffffece666a36e8b6e8bffffe3199a73ffff
+fa19996e08ffffca8000fb9b15fffffa19996eff0013199973a88ba88bff001ce667
+a3ff0005e666a8ff0005e667a8ffffece666a36e8b6e8bffffe3199a73fffffa1999
+6e080efbedf92db401ff00893333ff00b24ccd03ff00893333f8a315ff0003333282
+ff0008333487908b918bff000a33338cff000a99999308ff001ce667f722ff0059ff
+ff8b059690ff00043334968c908c90fffffc800092fffff3999a9308fb088bfffff2
+99997f050efbedf92db401ff00a9999aff0093999a03ff011b3334f8a315adf73bff
+fff7666697fb088b05fffff0666683fffff9999a848a868a86ffffffb33380948608
+ff0059ffff8bffffe3199afb2205ff0007666783ff0009cccd8a918b908bff0009cc
+cc8fff0006ccce94080efbed99b401ff00234cccff0093999903ff00454ccdf75515
+69fb3bff000880007ff7088b05ff000f999a93ff00068000928c908c90ff00004ccd
+96829008318bff001ce666f72205fffff8999b93fffff633338c858b868bfffff633
+3487fffff9333382080efbed99b401ff0024e666ff00b2666603ff00d74ccdf75515
+fffffcccce94fffff7cccc8f868b858bfffff5cccd8afffff566678308ffffe31999
+fb22318b05fffff4ffff86fffffbb333808a868a86ff0003800084ff000c66668308
+f7088bff000d800097050efb67fb0bf70bfb0bb712ff000a4ccdff01344cce1360f7
+a68115fffff2b3344affff35ffff8bff000de666cf05fffffa333591fffff999998e
+858b848bfffff8333487fffff466668308ffffee4ccd340513a0fffffd33347dff00
+024ccd839f8b081360ff00eaffff069b8bff0011b33498ff000233349608ff0011e6
+66e30513a0fffff9999a8efffff9cccc8f838b08848bfffff8666688fffff6999a84
+080efb85fb0bb7d87701ff000a4ccdff0104800003ff010ecccc4015ffffef199aff
+0007e666ffff3ccccdfffff8199a8b8b08ff000de666cf05fffffa333591fffff999
+998e858b848bfffff8333487fffff466668308ffffee4ccd3405fffffd33347dff00
+024ccd839f8b08f76106ff001000018bff0011b33398ff0002333496ff0001999893
+fffffe8000978b8b080efb1b82a901ff01904ccca015fbb706ff000a000195ff0022
+4ccda5ff00178000b0086a06ffffeeb3337bffffcd80005cffffca4ccd7908fffffd
+cccd8005ff003580006bff0016b3347bff000be6666808ad06fffff78000abffffef
+4ccda0fffff1e6669e08f7b7060e7ff95815e00a0e83f95815ffff9c4ccdfb0b05ff
+fff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005
+cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffffff4ccd9605
+ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3338afffffccccd8a080e
+fb9ff79103ff001bcccdf94d155906ffffd9999a5dffffd14ccd60ffffd3e6676308
+ff001119997d05ff002b7fffa6ff0025199aa4ff002cb333b1ff001ab33367ff001b
+e66772ff002119996e08ff0017e6669905ffffe4199bb3ffffe48000b5ffffec999a
+ba080ef8d2b78fb901ffff55cccdff01274ccc03ff0029b333f8fe15ffffecffff8b
+fffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d
+715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233
+337dff001280007fa18bb98bff00231999a9ff00183334c708ffffe933349105ffff
+e9800161ffffefe66681758b080ef8aeb701ffff108000ff011c199a03ff000e8000
+f8ae15988bff000eb3339dff0002666797ff0001333291fffffd999a93818b08fb89
+06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080ef8edb7
+01ff00534ccdf8ed15ff000d00018bff000db3339dff0002666697ff0001333491ff
+fffd999993828b08fbe906fffff4ffff8bfffff180017afffffd99987ffffffe999a
+84ff0002666683948b080ef8a5c401fbbca6f76ca603ffff7c8000f93815ffffe299
+9a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe7666697
+05ffffea333351ffffcb80006bffffcc00018bffffc9ffff8bffffdc8000b0ffffff
+cccdc0080ef8c0eb0124eb0324f8f015b70a0ef8a3e701fb70e7cfe703fb70f8d115
+e20af73416e20a0ef96276c4a601ffffa94ccdff002fcccc03ff003b199af96715ff
+000380009cfffff84cccb4548b618bffffd7e66768fffffb800075fffffd99997fff
+0004e6677c9e8b948bff000f199995ff0002333496ff0001999a93fffffe333291ff
+ffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff00063332919e8b
+a08b9181fffffb4ccd74fffffd999a7ffffff880007ffffff599997ffffff180007a
+ffffee800075fffff8199a6908a706ff00074ccda5ff000d66669cff00144ccd9bff
+00134ccc9bff001233349bff0004199a9f080ef8cea6f704a601ffff77e666f74203
+ffffda3334f95915ff001dffff8b9a72fffff9b3336cfffffa4ccd6fffffe74ccd6f
+6c8b6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00183333a5ff001f00018b
+08ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff000933
+33b8ff0009999abaffffde3333afffffd200018bffffd1ffff8bffffcf999a66ffff
+f699995d080eff0065999af94715ff0003ccceff00129998fffff2b334ff00126668
+768b7f8bfffff8666688fffff933338208ffff95b333fb1f05fffffeccce8affffff
+999989ffffffcccd8afffffe666683ff0007e66686908b8d8b8d8bff000266678d08
+ff00886666f70205ff0007333291ff0002800092ff000133349108ffff7d33339115
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+677e08ffffa24ccdfb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023333918c90080effff876666f8a915bd06ff00266665b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800070ffffd8e66672ffffd34ccd65ffffe54c
+cdafffffe4199aa4ffffdee666a808ffffe966667e05ff001b4ccd65ff001bcccd5e
+ff001366665c080ef8b8f73601ffffbbb333ff00544ccd039bf953158490fffff880
+008d848b858bffffefe66686fffff4ccce85fffffbb33271fffffa199a6efffffb19
+9a73fffffbb333768672fffffae66677ff0006333387ff0008999a89928b918bff00
+10999a8eff000a66669208ff0004e666a8ff0006199aa9ff0004b333a2ff0004b333
+a2ff0004999aa2ff000480009c080ef8aff74801ffff2ee666ff00b9666703ffffc3
+b334f8af15ff0024999af7485f8bffffdb6666fb4805ffffc433328c15ff00246667
+f7475e8bffffdb9999fb47050effff94cccdf98315ffffe8999a8bffffedb334ffff
+ede668fffffc6666ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff00
+5b9999fb0205ff0001999989ff0001cccd8a8e8bff0002999a8bff000b4cccff0004
+4ccc8dff0009b334ff000033348cff000066668dffffff33338c08ffffce4ccdf71f
+05fffffccccc94fffff966678d7f8b08ff008933339115ffffe080008b7cffffe9cc
+ccfffffd3333fffff233348a86ffffffb333858f8608ff004d6666fb0d05ff000199
+9a89ff0001cccd8a8e8bff000b33338b90ff000a6668ff00008000ff00029998ff00
+0033348cff000066668dffffff4ccd8e08ffffde6666f72305fffffdcccc94849080
+8b080ef8a5c4cfe601fc16a6cae5caa603ffff663333f94f15fffffae666729b77a4
+8ba48ba39fff0005199aa4ff00051999a4fffff04ccda0728b728bffffe7b33376ff
+fffae6667208ffffbc4ccd7415ffffe2999a7f05fffffcb33336ff0028cccd59d18b
+c68bd5bcff001d8000e108ffffe766669705ffffea333351ffffcb80006b578b558b
+ffffdc8000b0ffffffcccdc0080ef8e0c401ff00014ccdff001d666603ff00014ccd
+f88615ff001d66669705ff00034ccce0ffffd73333bd458b508bffffb6199a5affff
+e280003508ff001880007f05ff0015cccec5ff00348000abbf8bc18bff0023800066
+ff0000333356080ef868dddb9f01ffffd0199aff0080333403ffffff3333f86815ff
+0022ffff8bff00151999a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+cccd8bfffff9cccdfffff966688fff00139998ff0004b333a2ff001a999aabff003b
+666697ff0001666792ff0000e66694fffffccccd8fffffd8ffff86ffffe06667ffff
+ef1998ffffeacccdffffeae66808ffffebe66677fffff4999a75fffffb199a73ffff
+f8b33367ff000f666766ff0026ffff8b080ef86a9fdbdd01ffffe0999aff00803333
+03ff0031b333f92015f76a0a0ef86f9fdbdd01fffff5cccdff0077800003ff0042b3
+33f92515ffffd8ffff8bffffe1666766fffff8b33367fffffb199973ff0002999a75
+ff000be66677ff000c999affffeae666ff0018999affffef199ab086ff0004cccc8f
+ff0002e66794ff0001666692ffffc9666797fffff28000abff0004b333a28fff0013
+9998ff00038000fffff96668ff001833338b08b38bff000ecccda3ff000380009cff
+00034ccd9bfffff51999a4688b080ef85e9fdbdd01ffffd63334ff0080333303ff00
+273333f91415ffffdcffff8b7672fffffcb3337bfffffc80007aff0005199a73b38b
+ff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffffe566676b
+ffffc4999a7ffffffe999984ffffff333382ff0003333487ff0026ffff90ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b8000a1ff0004e666
+a3ff00074ccdaffffff08000b0648b080efb6ff72101fffe94ccccff00a4800103ff
+fe94ccccfb0b158981ff007a199a3d05ff000de667fffff73333ff00079999fffffc
+cccd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cc
+cd9408ffffb2e667f205ffffff33328cfffffb33348c878b6e8bffffe4666674ffff
+f14ccc79080efb6af72601fffea14cccff00b9666703fffeac8000fb6a15908bff00
+0733348cff0008cccc8f08ff008e6666c305ff0003999a8eff0005999a98ff000199
+9993ff0005b333a7859e859508fffff6cccd8fffff7300012405fffff1cccc80ffff
+f3199a82fffffe333282ffffff666888fffffecccc80988b080efb6d76d1b601fffe
+9accccff00b0ccce03ffff296666fb7915ff00223334f73c05fffffb99998efffffa
+66678d848b848bfffff6999989808608fffff366674dfb008b05fffff7cccc85ffff
+fb4cce83fffffe666683fffffe999a84ff00014ccc83ff0002cccc8508ff006f0001
+8bfffff2cccd4a05ff0006666688ff0005999a89928b928bff000899998eff000a33
+3391080efb6c76d0b601fffe86ccccff00b0ccce03fbeb4b15ffffddccccfb3c05ff
+0004666888ff0005999889928b928bff000966688d969008ff000c9998c9ff006c00
+018b05ff0008333491ff0004b33393ff0001999a93ff0001666692fffffeb33393ff
+fffd33349108fb038bff000d3332cc05fffff9999a8efffffa66668d848b848bffff
+f7666888fffff5cccc85080efc04f8bfb401ff006f3333ff00b1999903ff0102e666
+f84915ff001de666f727fffff7800097ffff6e00018b05fffff0666783fffff98000
+848a868a86ffffffb33380948608f70c8bffffe73334fb0e05ff0007666683ff0009
+cccd8a918b908bff0009cccd8fff0006cccc94080ef7e0a5c7e001ffff7a8000ff00
+7fe66603fffffa6666f83315ff0009999abaffffee4ccdb4658b6f8b767cfffffb19
+9973fffffbe66777ff0008800075ff0022333387ff000dcccd8aff000b666783ffff
+fd66667efffff9199a69ffffd6199987808b08738bfffffab33371a38b05c28bff00
+268000abff000a6666be080efb88b2f704b401fffea4b334ff00817fff03fffeccb3
+34fb2915ff0005e666a8ff00158000a6b78b8d8bff0002cccc8a8e8b08ff000a4ccd
+b405fffffd33328c878b878b548bffffcb800061fffff4ccce54fffff5333256ff00
+20800061c08b908b908bff000533348c08ff0008e666b205898bfffffccccd8affff
+fcffff8b5e8bfffff4199aa4ff00064cceaa080efb78b701fffe828000ff00b3199a
+03fffe86999afb7815f73c068f90ff00034ccc91ff0001666792ff0001666692ffff
+ffe667948895084d8bff0015e666f70005fffffb666692fffff8b3348e838b848bff
+fff74ccc88fffff933348708ffffe98000fb034a8b05fffffb999a84fffffcb33285
+fffffe999a84fffffe999a84ff00014ccc83ff0004333482080efb6376f70ab701ff
+fe9c999aff00b3199903ffff4b999a4915fb3c068786fffffcb33285fffffe999a84
+fffffe999a84ff0000199a828e8108c98b75fb0005ff0004999a84ff000766668893
+8b928bff0008999a8eff0006cccc8f08ff0016999af703cc8b05ff0004666692ff00
+034ccd91ff0001666692ff0001666792fffffeb33393fffffbcccd94080efb6d76d2
+b601fc0dff00c2800003fffeec999afb7815ff000c6666c8ce8b05ff0007cccd94ff
+0004800092ff0001333391ff0001666692fffffe800092fffffc66679208478b98cb
+05fffff9000190fffffa66668dfffff900018b858bfffff8666688fffff4cccc8508
+fffff366664d488b05fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408d18bfffff2cccc4a05ff0006333487ff0006999a8992
+8b918bff0008999a8eff000a666692080efb3bb601fc0dff00c2800003ffff45cccd
+fb1015ffff4cffff06fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408f74906ff0007cccd94ff0004800092ff0001333391ff
+0001666692fffffe800092fffffc666792080efb81af01fffee4199ac303ffff3f19
+9afb5d15728bfffff1e666a3ff0004199a9fff0003b3339dfffff19999987d8b7b8b
+fffff34cce7efffffd66667efffff7b33262ff002b00015fc48bc98bff001a6666be
+ff000dcccdcf08ff001acccdf718788b778bffffea4ccc20057f50785a658b080efb
+81af01ff0014199ac503ffffcfcccdfb8115ff003600018bff003f9999b5ff0008b3
+34b6ff0002999998fffff8b333987b8b7d8bffffec66677efffffc4ccd79fffffbe6
+6677ffffe8199a73728b658bff0000ccccbbff000c3334c708ff00154ccdf4778b78
+8bffffe5999afb1605fffff2333347ff0005999a58c98b080efb3bf70001fbb9f700
+03fbb9fb0515fffff9b3346cff00124ccc74aa8baa8bff001bb333a2ff00064ccdaa
+ff00064ccdaaffffedb333a26c8b6c8bffffe44ccc74fffff9b3346c080efb3bf700
+01fc1df700e5f70003fb57fb0515fffff9b3336cff00124ccd74aa8baa8bff001bb3
+33a2ff00064ccdaaff00064ccdaaffffedb333a26c8b6c8bffffe44ccd74fffff9b3
+336c08fb5a16fffff9b3346cff00124ccc74aa8baa8bff001bb334a2ff00064cccaa
+ff00064cccaaffffedb334a26c8b6c8bffffe44ccc74fffff9b3346c080efb5ca6f7
+04a601fffeb83334ff00adffff03ffff1a999a4e15a98bff000ee66672fffff9b333
+6cfffffa4ccd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b334a7ff
+00061998a9ff00184ccea5aa8b08ffff9d999a5315fffff699985dff0021800066b9
+8bff003000018bff002eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d
+8bffffcf800066fffff6999a5d080efb76a3dadd01fffea8e666ff00814ccd03fffe
+fdb33462156e8bffffe7199878fffffb199a73fffffa800070ff0017333482ff0010
+666688ff0011999a89ff000c333387fffffbe66777fffffc4ccc79ffffe1199a73ff
+ffcccccc80fffffe333482ff0000199a82ff0004cccc85ff003acccc94ff00373334
+a9ff000c3333c708ff000a999abfffffeee666adffffda00018b080efb5ca8f73f77
+01ffff4d8000ff003f333303ffff3280002b15ff0012cccdff00083333fffff6999a
+fffff11999ffffe1999affffe7e666ffffebb333ffffdbcccd1fffffec00018bffff
+f5e6668f7295fffff7999a84fffffb800084fffffd99987fff0016ccce80ff000fb3
+3285ff002000018b08ff003c4ccdff003f1999ff0020e666c1ff001e8000ffffe799
+9aff0012999affffdcb3331f828bfffff6cccd8afffff799998908ff0026999ace69
+8bffffc480002bff0004b3338505ff0010ffff90ff000a4ccd8c9e8b080efb5cb101
+fffe8e6666ff00c4333403ffff52999afb1b15fffffd666692fffffacccd8f828bff
+ffe5800075ffffecb3337b6e8b668bfffff74ccca0ff00054ccea5ff00096666b9ff
+00286666abff00486667be08fffff580009c05315affffb5800057fffff4999a5380
+55ff0021e66677bd8bff002900018bff002c19999fff00263334b8080efb81f74501
+fbdeff0057999a03fffeec6666fb7915ff00213334f73705fffff4cccc8ffffff766
+668d828b848bfffff8999a89fffff533348708ffffde6666fb3905ff000b333487ff
+0007999889938b928bff000866688dff000c333291080efb63f70b5fb712fffe604c
+ccff01024cce1360fffe8ce666fb5915ff000d3334ccf72c8bfffff233334705ff00
+05ccce85ff0006666688918b928bff0007cccd8fff000b99999308ff0011b334e205
+13a0ff0002cccc99fffffdb33493778b081360fb4d067b8bffffee4ccc7efffffdcc
+ce8008ffffee1998330513a0ff0006666888ff0006333287938b08928bff0007999a
+8eff0009666692080efb75cb01fffe55e666ff001ab33403ffff7880003f15fffff3
+199a6effffe4999953678b708bfffff0e667adfffffcccccc0fffffe33348c878b87
+8b888b888bfffffccccc8affffdab3343bffffe0999a847e8b6f8bfffff5ccccacff
+fffc999abf08fffffdcccc8affffeb4cce7efffffc333287ff0001b33436ff001599
+9a5dac8b998bff00234ccc96ff00283334d1ff0009999844ff0020e66781998bae8b
+ff00293333c2ff00208000d788907e95fffffb999a8e080efb70f72301fffea3b334
+ff00fcffff03fffeee3334fb7015ff0031ffff06ff00266666b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800170ffffd8e66672ffffd34ccd65ffffe54c
+ccafffffe44ccea5ffffdeb332a708ffffe966687e05ff001ae66663ff001c333260
+ff001366685c080efb75f72301fffe93199af79203ffff464ccd39155906ffffd8cc
+ce5effffd0e6665effffd5199a6408ff0011199a7d05ff002a8000a6ff00261998a4
+ff002cb334b1ff0019b33367ff001ce66772ff002119996e08ff0017e6669905ffff
+e51999b3ffffe2b333b6ffffed6667b9080efb7ac401fffe69b334ff001d666603ff
+fe87199a3815ffffe2999a7f05fffffcb33236ff0028ccce59d18bff003affff8bd5
+bcff001d8000e108ffffe766679705ffffea333351ffffcb80006bffffcbffff8b55
+8bffffdc8000b0ffffffcccec0080efb6176e5c401fb51ff001d666603fb51fb7615
+ff001d66669705ff00034ccde0ffffd73333bd458b508bffffb6199a5affffe28000
+3508ff001880007f05ff0015ccccc5ff00348000abbf8bff003600018bff00238000
+66ff0000333356080efb0eb78fb901fffe903334ff01274ccc03ffff64199a3d1578
+8bfffff1199995fffff2666797ffffeecccc99ffffece66799ffffe1ffff8b608bff
+ffe2e6686d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd
+80ff001233337dff001280007fa18bb98bff0023199aa9ff00183333c708ffffe933
+339105ffffe97fff61ffffefe66781758b080efb17b701fffe806666ff00f3199a03
+ffff564ccdfb1715ff000d00018bff000dcccd9dff0002666697ff0001666692ffff
+fd666792828b08ffff32ffff067f8bfffff280007afffffd999a7ffffffe999a84ff
+00024ccc83938b080efb17b701ffff9c4ccdfb1715ff000d00018bff000dcccd9dff
+0002666697ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd
+999a7ffffffe999a84ff00024ccc83938b080efb67b7b9b701fffe66199aff011966
+6603ffff626666fb0d15988bff000db3349dff0002666697ff0001666692fffffd66
+6792828b08ffff1effff067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b08ff00ceb3343115988bff000db3339dff0002666697ff0001666792ff
+fffd666692828b08fb75067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b080ef73fb78fb901fffecbccccff01274cce03ffff9fb333f76b15ffff
+ecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffff
+e2e6666d715008a28605ff0010b334acff0010199a9aa58b9c8bff0010b33380ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933339105ffffe9800161ffffefe66681758b080ef75db701fffef0e666ff00f3
+199a03ffffc6e666f75d15988bff000db3349dff0002666697ff0001666692fffffd
+666792828b08fb6106fffff400018bfffff27fff7afffffd999a7ffffffe999a84ff
+0002666683938b080ef75db701ffffdfe666f75d15988bff000db3349dff00026666
+97ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd999a7fff
+fffe999a84ff0002666683938b080eff00106666f85a15fffe2b3334fc5c05fffffe
+e6667cff0009cccc809b8b08ff01d66668f85f05fffffe999898fffff8199a957a8b
+080e9376f9337701fffda366687e15ff02896664f91505ff0000ccceff000ee668ff
+fff44cccff000f1998788b08fd1dfd1305ffffffe6647cff000a999c7a9e8b080efb
+88b4f704b201fffee5999aff0081800003ffff3f199afb2715fffffa19996effffea
+800070ffffd400018b898bfffffd33328c888b08fffff5b3346205ff0002cccc8a8f
+8b8f8bc28bff00348000b5ff000b3334c2ff000accccc0ffffdf8000b5568b868b86
+8bfffffacccd8a08fffff7199a6405ff000200018bff000333338c8e8bb88bff000b
+e66672fffff9b3346c080efb65f70bfb0bb712fc31ff01024ccc1360ffff38b33327
+15fffff2b3334afb2c8bff000de666cf05fffffa333491fffff9999a8e858b848bff
+fff8333287fffff466688308ffffee4ccc340513a0fffffd33347dff00024ccc839f
+8b081360f74d069b8bff0011b33398ff000233339608ff0011e667e30513a0fffff9
+999a8efffff9cccd8f838b08848bfffff8666788fffff6999984080efb82abf1ab01
+fffe78999aff00d7cccc03fffeb8cccc2315ff006c00018bffffeb4ccd25fb008b05
+fffff64cccf71a15ffffde3334fb3af74a8bff0021ccccf73a050efb1dcb01ffff5b
+cccdff001ab33303fffe53ccccfb7215ff000ce668a8ff001b6666c3af8ba68bff00
+0f199a69ff0003333256ff0001ccce8a8f8b8f8b8e8b8e8bff000333328cff00254c
+cddbff001f666792988ba78bff000a4ccc6aff000366675708ff000233338cff0014
+b33398ff0003cccd8ffffffe4ccde0ffffea4ccdb96a8b7d8bffffdccccc80ffffd7
+ccce45fffff66666d26a957d8b688bffffd6e66654ffffdf80003f8e86ff000ce666
+81ff0004666688080eff01b6e666ff00cb199a01fffef4e666ff00e9199a03ffff85
+3333ff021c333415ff0058cccdff0049ccccffffe9999aff001c1998ffffa7ccccff
+ffb63334ffffc5e667ff0049b334ffffdd80006fff003acccdffffb63334ffffa74c
+ccffffb6ccccff0017199a6fe3ff00491998ff003a4ccdffffb6ccceff0021ccccff
+001c199a050eff01b8ccccff00133334f74cff0013333401ffff473333ff0064cccd
+03ffff876666f8f015fffffce665fffff0ccccfffff48000fffff26668fffff2cccd
+fffff33334fffff066667bfffff0199affffee6664fffffb19997384ffffdd999aff
+0016b333ffffed999aff0031999afffff4cccc08ff00084ccdff0013333405ffffe4
+999a9380ff000a6666ff00043334ff0014ccceff0002ccccff000d9998ff000cb334
+ff000f3334ff000c9999ff000e6668ff000fb333ff0010cccc99ff0010ccccff0003
+999aff00119998ff00078000ff0024ccd0ffffea4ccdff00173330ffffcd3333ff00
+09999c08fffff6cccdffffeccccc05ff0022b334fffff4ccccff00068000fffff4cc
+ccfffffc6666ffffee6668080ef873b7b9b701ff002accccf8cd15988bff000db334
+9dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff280007aff
+fffd99987ffffffe999a84ff0002666683938b08ff0146b3343115988bff000db333
+9dff0002666797ff0001666692fffffd666692828b08fbed067f8bfffff280007aff
+fffd999a7ffffffe999a84ff0002666683938b080ef8b7f73501ffff9b8000ff0084
+e666037ff95815e00a0ef8b8f73401ffff83199aff00b5999a0383f95815ffff9c4c
+cdfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe99
+9984ff0005cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffff
+ff33339605ffffed7fffa1ffffe6b3338cfffff9999a8b868bfffff9b3338afffffc
+cccd8a080ef88cb78fb901fffee5999aff01274ccc03ffffb98000f8b815788bffff
+f1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d7150
+08ff0016e6668605ff0010b333acff0010199a9aa58b9c8bff0010b33380ff000fcc
+cd80ff001233337dff001280007fa18bb98bff00233333a9ff00183333c708ffffe9
+33339105ffffe9800061ffffefe66681758b080ef86a9fdbdd01ffffe0999aff0080
+333303ff0031b333f92015f76a0a0efb55f8a5e701f73fe7cfe703f73ff8d315ffff
+fae66672ff0010b33476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffff
+ef3333a0728b728bffffe6cccd76fffffae6667208f73416fffffae66672ff0010b3
+3476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffffef3332a0728b728b
+ffffe6ccce76fffffae6667208ff0048e666f767157e8bfffff3ccce85fffff9cccc
+8008ffffaee666fb2305fffffe666688fffffe199a87ffffff666688fffffe999a84
+ff0004ccce85938b8f8bff0005cccc8fff0003cccc8f08ff0074cccef70e059090ff
+0003b332938c90ff0004199a9f789a778b080efb82b301ffff024ccdff00ad333303
+ffff12e6664115ffffef66673905fffff4333451ff0022199a73bb8ba48bff0030e6
+6699a8d008ffffe8999a9305fffff3800070ffffeb199973798b778bfffff8b333a2
+ff000b3334c208ff000a9999bfffffeb666792050ef877f70b5fb712fffeecb334ff
+01024ccc1360ffff194ccdf88115ff000d3333ccf72c8bfffff233334705ff0005cc
+cc85ff0006666688918b928bff0007ccce8fff000b99999308ff0011b333e20513a0
+ff0002cccd99fffffdb33393778b081360fb4d067b8bffffee4ccd7efffffdcccd80
+08ffffee199a330513a0ff0006666688ff0006333287ff000800018b08928bff0007
+99998eff0009666792080efb67b7b9b701ffff9e6666fb0d15ff000cfffe8bff000d
+b3349dff0002666697ff0001666692fffffd666792828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b08ff0146b3343115988bff000d
+b3339dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b080efb75f74501fffec56666ff
+00b7999a03fffeede666fb6d15ff0021199af73705fffff4cccd8fff000066668dff
+fff700018b848bfffffd999889fffff533348708ffffde6666fb3905ff000b333487
+ff0002999a89938b928bffffff80008dff000c33329108f70216ff0021199af73705
+fffff4cccd8fff000066668d828b848bfffffd999a89fffff533338708ffffde6666
+fb3905ff000b333487ff0002999989938b928bffffff80008dff000c333391080eff
+ff978000b201fffee84cccff0093999a03fffef93334ffffbe8000158186fffffa19
+98828a86fffffeccce85ffffffe66686ff000633348208ff0060ffff8bfffff1cccd
+45058e81ff0006999a89908b908b9690ff000acccc9908ff00128000e6fffff64ccd
+96050ef8aab78fb901ffff09b333ff01274ccc03ffff8e3333ff01ef666615ff0016
+999aff0030666605ff000ae667fffffa199cff000b6667fffffc1998ff000c80008b
+b98bff00233333a9ff00183333c708ffffe933339105ffffe97fff61ffffefe66781
+758bfffff2999a8bfffff4999990fffff5b333ff0007199808ff001d6666ff003ee6
+6805fffff9ccce94fffffbe666ff00048000fffff7199a8bfffffc19998bfffffd80
+00ffffff9998fffffab333ffffff666808ffffe6999affffc9999805fffff23333ff
+00098000ffffefe666ff00076668ffffea199a8b608bffffe2e6666d715008ff0016
+e6678605ff0010b333acff001019999aa58bff000f999a8bff000f6666fffff6b334
+ff000e999a8108ffffe58000ffffc74ccc05ff0004e66683ff0001cccdfffffc3334
+ff00064ccd8b8f8bff00073333ff0000ccccff00078000ff00006666080eff01d3e6
+66ff00423332ff0009e668b78fb9fffffde668ff0042333012ffff40cccdff004233
+33c5ff0042333313ccffff5b3333ff01d3e66615ff0011ffff8bff0012199aff000f
+199aff0003b3339dff0003b3339d7fff000f1998798b798bffffedcccdfffff0e668
+fffffc4ccd7908fffffc4ccd79ff000c1999fffff0e6669d8b0813dcff007c3334ff
+00a80002159d8bff0012199aff000f1998ff0003b3339dff0003b3339dfffff3e667
+ff000f1998798b798bffffede667fffff0e668fffffc4ccc7908fffffc4ccd79ff00
+0c1999fffff0e6689d8b08ff00083334ffffd0199815788bfffff1199995fffff266
+67970813ecffffeecccc99ffffece667996d8b608bffffe2e6666d715008a28605ff
+0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff00128000
+7fff001600018bff002dffff8bff0023199aa9ff00183333c708ffffe933339105ff
+ffe97fff61ffffefe66781758b080ef88eae8baca6ae8bad12fffef56666ff0127b3
+34138888f8d315868bffffed199a695f8b081348778bffffc4b333ac6e8b6c8bffff
+e24ccd79ffffe54ccc6afffffeccce85ff00094ccc7e938b918bff0012999ab0af8b
+081388a98bff0036cccc68ab8ba98bff001be6679eff0018e666ad08ff0001333391
+fffffa199a95838b08ff00138000eb151328858bffffede666685f8b081318778bff
+ffc3e667ad6f8b6b8bffffe3199978ffffe54ccd6a08ffffffcccd8a05ffffff6666
+88ff0001666788ff0005333387ff0003333387ff00036667888f8b918bff00114ccc
+afb08b081328ac8bff0033e66768ab8ba98bff001c19999fff0018b334acff000199
+9993fffff9cccd94838b080efb29a901fffe483334fb1315fffffdb3328005ff0035
+80006bff0016b3347bff000be6666808ad06fffff78000abffffef4ccca0fffff1e6
+689e08ff00c8ffff06ffffe9e66677ffffe5e66677ffffeb80006b08ae06ff00224c
+cdaaff002c8000abff002a19999f08ff00024ccc9605ffffd1b3329dffffe06667ba
+fffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f08ffff36ffff06
+9595ff00224ccea5ff00178000b0086a06ffffeeb3327bffffcd999a5cffffca4cce
+79080efb7af75e01fffea23334ff00b5e66603fffede3334fb7a15a98bff0017cccc
+f70905ff00104ccd79ff000f800075ff001d33337d08ff0007199aae05ffffe6b333
+a7ffffe7cccdb1fffff3b333b1088006ffffe3ccce59ffffc8999a62ffffed66667e
+08fffff9199a6905ff0025cccc99ff00203334a9ff000dcccc94080eff01f46666ff
+00c3199a01ffff3a4ccdff00fe666603fffff16666f8ea15ffff508000ffffc3b334
+fffff86667ffffdab332ff00f9199aff0053ccceff00054ccdff001a8000ffff294c
+cdff0054ccccfffff86666ffffdacccc050ef891acf70aab01ffff9e4ccdff0087e6
+6603ffff9e4ccdf8ed15fffff5999a58ff0022b33462be8b988bff000b66668d9790
+08fffffa199aa905fffff8666688fffff8cccd8a828b688bffffefb333a7ff00064c
+cdaaff0006b333acff001c4ccda5ad8b918b908bff000499998908ff000e4ccdaa05
+fffff866668dfffff933338c828b578bffffcdb33362fffff5cccd59080ef891e68a
+76e5c412ffff48e666e5ff0043b334ff001d666613b8ffffa2e666f8bf15ff000519
+98a4fffff0199a9f728b728bffffe7e66677fffffae66672fffffae66772ff000fcc
+cd76a48b08a48bff00183333a0ff00051999a4081378ff0043b334a215ff001d6666
+9705ff00034ccde0ffffd73333bd458b508b415affffe280003508ff0018999a7f05
+ff0015ccccc5ff00348000abbf8b08c18bff0023800066ff0000333456080effff1c
+8000ff00c4199a01fffe70199af77603fffef94cccffff7e333315ff0058ccceff00
+49cccdffffec8000ff0018999affffa7ccccffffb63334ffffc5ccceff0049ccccff
+ffe1e666ffffe76666ff003accccffffb63333ffffa73334ffffb6cccdff00143332
+ffffe78000ff0058199aff00493333ff003a4ccdffffb6cccdff001d8000ff001880
+00050effff1c6666ff00c3333401fffeb74cccff00fe999a03fffefeccccfb1615ff
+00af8001ff003c4ccdff0007999aff00254cccffff06e666ffffac3334fffffa8000
+ffffe46666ff00d6e667ffffac3333ff0007999aff00254ccd050effff1c6666ff00
+c3199a01fffea63334ff00fe666603ffff5d4ccdfb1615ffff507fffffffc3b333ff
+fff86668ffffdab333ff00f91999ff0053cccdff00054cccff001a8000ffff294ccc
+ff0054cccdfffff86666ffffdacccd050effff1c4ccdff00c3666601fffed2199afb
+1615ffff63b332ffffc3b333fffff86668ffffda999aff00e51999dfff00054ccdff
+001a6666ffff3d4ccce0fffff86666ffffda999a05f7bfffffe0000115ff0023199a
+ffff833333ff00254ccc8bffffd3199af755ffffe6cccd8bffff828000fb55ff0025
+66668b050ef89bacf70aab0129ff00914ccd03ff002f4cccf8f715ff000a3334bdff
+ffde4ccdb4588b828bfffff7cccd8afffff8999a8908ff0001b3336c05ff00056667
+8d908b918bad8bff0011b33371fffff94ccd6afffff9b3336cffffe44ccd6f688b82
+8bfffff933338cfffff9999a8e08ffffede6666d059586ff000a999a89988bbe8bff
+00324cccb4ff000a6666be080efc76f8e0f30149f303ff00403333f91415fffffa4c
+cc6fff0013199a73a78ba78bff001ce666a3ff0005b333a7ff0005b333a7ffffece6
+67a36f8b6f8bffffe3199973fffffa4ccd6f080efb0eb012ffff27cccdff003ee666
+fffff88000ff002b6666ffffdc199aff0030199a13c0ffff5f6666fb1215ffffe9b3
+3476ffffe4cccc8ffffff9e6676dfffffe333382ff0005800084948b081390ac8bff
+ffff4ccdaaff0011e666a3ff0008800075fffff84ccd6aa58b938bff000b4ccd918d
+95ff0005e666a8ffffe4999a89fffff119999fff000a66678dff0008cccd8a968b9f
+8bff0012199991ff00034ccd9b08ff0001333391ffffffb33398798b798bfffff519
+9a78ffffe5cccd800813a0ff00044ccd9bff00116666a1ff0003199a9aff00029999
+98fffff54ccd91818b818bfffff2e66681fffffdcccd80fffffd33337dff000ae667
+7cfffffd800075ffffea333396fffffab3339d788b7e8bfffff8e66781fffffe6666
+8308fffffc80007aff0009199a86988b978bff000699998e918b08928bff00066667
+88ff0005cccc8a080efb6aa6f704a601fffea14cccf7cb03ffff4f4ccdfb1715ff00
+06199aa9ff00184ccda5aa8ba98bff000ee66772fffff9b3336cfffffa4ccd6fffff
+e766666f6c8b6c8bfffff2999aa7ff0005b333a708ffff51ffff16fffff6999a5dff
+0021999a66b98bff001be6668bff001b6667ff000ce666ff0013e666ff00138000ff
+000c4ccdffffec4ccdff0016999afffff34ccdff001ae6668bbb8bff002e999ab1ff
+00093333b8ff00099999baffffde4cceafffffd1ffff8bffffe5199a8bffffe44ccd
+fffff36666ffffebb333ffffec4ccd08fffff3cccdff0013cccdffffe93333ff000c
+8000ffffe4e6668bffffd200018bffffcf800066fffff699985d08ff00626667c315
+ff001dffff8bff000ee66772fffff9b3336cfffffa4ccd6fffffe766666f6c8b6c8b
+fffff2999aa7ff0005b332a7ff0006199aa9ff00184ccea5ff001effff8b080ef8da
+b701ffff5fcccdff00d9199a03ff0031b333f8f415ff0003ffff90ff0002cccd8fff
+000066668d8c90fffffb80008d808b082306848bfffffd33348cff0000cccc8fff00
+0066678dff000166668dff000166678d08ff002b4ccdd605ff0000cccd8ffffffa66
+678d808b868bfffff8cccc8afffffd999a8908ffff9c3333fb0905fffffc333287ff
+fffe4ccd88ffffff999a89ffffff333387ff0004666688968b08f306938bff0004cc
+cd8affffff999a89ffffff999989fffffe666788fffffe66678808ffffd2e6664105
+ffffff1999fffffb8000ffffff4ccdfffffc8000998b908bff000a66668dff000299
+9a8e080efb81c001ffffcfcccdfb8115ff008800018bff008f8000b0ff00776667f7
+0708fffff2b3329d05ffffa6999a4effffa6999a53fb588bfb548bffffb16666c3ff
+ffc76666c808ffffeb4cce7905cefb05ff0078199964f72a8b080ef86fc0f7097701
+ff0060999af86f15ff008800028bff008f999ab0ff00776666f70708fffff2999a9d
+05ffffa699984effffa6999a53fb588bfb548bffffb16667c3ffffc76666c808ffff
+eb66677905cefb05f70c64f72a8b080ef8a6bc01fffef1ccccf8a615f97306988bff
+0011199a9fff0002666697ff0001ccce94fffffeb33293808b08fd73067f8bffffed
+e66877fffffd99987ffffffe666883ff0001199882968b080efb1abc01fffe6ab334
+fb1a15f97306988bff001119989fff0002666897ff0001cccc94fffffeb33493808b
+08fd73067f8bffffede66677fffffd999a7ffffffe666683ff0001199a82968b080e
+f8bbc691c601fffea84cccf8b715ff001d33348705cab7ff0068cccda8dd8bc68bff
+003e33337dff00354ccd79ff00344ccd79c27cc18bc38bff0099999a98ff005ecccc
+f608ffffe433349105ffffc2cccc59ffff93999a7a498b588bffffc2999998ffffc5
+199a9fffffcab3339dffffcbcccc99ffffca00018bfb238bffff7533334cffffd4cc
+cc4a080ef914c501f722f94e15fb1c8bffff69cccd4fffff893333fb0e08ff000d4c
+cd7905ff004a999ac9ff006d4ccddbf7588bff00c000018bff0052b33240ff002f66
+664808ff0014b3349d05ffffc4ccccf70effff863334c7fb2a8b080efb29a901fffe
+dbccccfb0b15fffff9e6686df8618b05ffffe9e66677ffffe5e66677ffffeb80006b
+08ae06ff00224ccdaaff002c8000abff002a19999f08ff00024ccd9605ffffd1b332
+9dffffe06667bafffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f
+080ef8919ef7099a01ffffd3cccdff0034333303ffffde6666f8df15fffff7b33362
+05ffffee66667efffffce66686808b7d8bfffffe199a95ff0002333396ff00023333
+96ff00094ccd9bff002a33339608ff000a33343d15958bff000acccc8fff000a999a
+9308fffffd33339605fffffdcccc8afffffccccd8a898b868bffffffcccd94ff0004
+8000a108ff0007999ab005ff000a6666beffffe2333396718b748bffffdb80007aff
+fffb800075fffffe666683ff0008cccd85938b958bff0008666692ff0000cccd8fff
+0000999a8eff0000b3338effffff33338cffffff33338cff000066678dff0000cccd
+8f08ff0001cccc94ff0004ccce8f9d8b978bff000a666688fffff7e6666308ffffe5
+66668305ffffdc333482ffffe7e6667cfffffb4ccd74fffffb4ccd749a7ca28b9d8b
+ff0004e66690ff00154ccd9b8b81ff0003cccd809c8b080ef891a1c59db19c01ffff
+35999aff0087333303fb1df8a715788bfffff080009cff00084ccdb408eb06ff0006
+b334acfffffc3333b3578b5e8b6964fffff8e66768fffffab33371ff000080007aff
+000999997fff0009999a7fff0010999a7fa68ba78bff0014999998ff000f4ccd9b08
+fffff766669705fffff299987ffffff2800084768b08ff001f8000d7155806ff0004
+b3339d989f9c8b988bff0009333382fffffa199a6e080ef89399f70399bab701ffff
+964ccdb703ffff9b4ccdf8b215ff00186666f70c808b05fffff1cccc85ffffed199a
+87ffffed999989fffffecccd85ff0000333387ff0000333387ff000f999a89ff0005
+b3338afffffd66677e08fffff033343d05fffffd66677efffff6b3338afffff46667
+88fffffe333387fffffecccd85ff0000333387ff000a33338cff001233338c948b96
+8bff0011cccd8aff0007cccd8aff0001cccd8fff0001333391ffffffcccd8ffffff6
+99998efffff8b3348eff000233339608ff000c8000f72f15ff000c00018bff000c19
+9995ff0002666797ff0002666797fffff81999957f8b7f8bfffff3e66681fffffd99
+9a7ffffffd99997fff0007e66781978b080ef8919bf70a9b01fb0dff0093666603ff
+ffe0199af92715538bffffe533335bfffff9b3336cfffff8e66668ff000eb33467be
+8bbe8bff001eb333b1ff00071999aeff0005e666a8fffffacccebb508b08ff000e19
+993315fffff9199969fffff080007f7d8b758bfffff519999fff00088000b5ff0009
+3334b8ff000f3333969b8ba28bff000619996efffff74ccd60080ef891a3f7019a01
+ffffe9999aff0038666603ffffc98000f92415ff000033338c058bfffff5cccc8a84
+7effffec33338c8b1effffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a
+8d8b088e06ff0009cccc8aff000433348cfffffd33337d08fffff1e6664605fffff8
+b33267ff000d33347da38b9e8bff001ae6669eff0009cccd9408ff0003cccd8affff
+f8800070978b05ff000f666692ff000b999a8eff001166668d08ff0003199a9a05ff
+fff3cccc8ffffff6cccdff00046668ff0002cccdff000d9998089fedff000033338c
+05ffffffffff8bfffff7cccd8a868b087cffffe833338c8b1ffffffecccd8afffffd
+80007f05ffffff999a898d8b8c8b089106948bff0003999989fffffd999a7f08ffff
+f1199a4205fffff3999a7fffffe8e66681838b7f8bfffff64ccd91ff0005b333a708
+0ef891a1f7069c01fffff0cccdff0023999a03ffffe0b333f92a15ffffd4ffff8bff
+ffdb999a62fffff8199964fffff8199a64ff0010199a69b98ba38bff0016999998ff
+0011e6679e8aff0005b334fffffd8000ff0004b334fffff8e666ff00019998fffff3
+999a7ffffff7e66681768b808b7090ff0009cccdbb08ff00081999b3ff00174ccea0
+ff0010ffff8b9a8bff0002b333fffff61998fffffee667fffff3e668ffffff333382
+ff0007800084948b938bff00094ccd91ff00029999988d95fffffb6667ff000c1998
+fffff48000ff0006e668fffff6e666ff00058000fffff2199aff00018000fffff166
+668b080ef8929cf7069bab9901ffffc4b334f8b415fffff4ffff81fffff480008483
+8b788bfffff566679795bcff00081999b3ff000db333989d8b998bff000566678392
+8108ffffeb66662b15ff0001cccd8afffffb999a7a988b05ff000e666692ff001099
+9a8eff001266668d08ff0001199a9a05fffff366668dfffff7e666ff0004ccccff00
+03199aff000f333408abf731808b05fffff1cccd85ffffed199987ffffed999a8908
+fffffe33337d05ff000e666688ff00084cccff00019998fffffd3334fffff2666808
+fffffa199a6e05fffff9999993fffff2e6678ffffff1ffff8b618bffffe3666761ff
+fff8e66668fffffb6666ffffe94ccc8dffffeab334ff000a33347fff0008b333ffff
+f5b334ff000ce666fffffc4cccff0010999a8b978bff0010999993ff000bccce9408
+0ef89499f704a3a99901ffff283333ff00aee66603ffff82199af93615ff0004e666
+a3ff0003e666998b8bff0000999a8efffffe33338c888bfffff6333387ffffdde667
+86fffff0cccd8a08fffffd66667e05ffffffcccd8a8c8b8c8b08ff000bcccd8a0592
+8bff0003333387fffffb19997308ffffe76667fb0d05fffffd999a7ffffffeb3348a
+fffff299998908fffffacccd8a05898bffffff999a89ffffffcccc8a08fffffdcccd
+8005ffffffffff8bff001533338c988b089dff001bcccd8a8b1fff000233339605ff
+000066678dfffffe33338c8a8b08fffffa33338c05fffff633328cfffffc80008dff
+000266679708ff000e6666d205ff000d999998ff000d800097978b9c8bff000a3333
+87fffffa199a6e08fffff333344c05fffffd999a7ffffffc800089fffff4cccd8a08
+fffff9cccd8a05898bfffffe999a89ffffffcccc8a08fffffdcccc8005ffffffffff
+8bff001633338c998b089cff0019ccce8a8b1fff000233339605ff000033348cff00
+0033338cfffffe33338c08fffffc33338c05fffff566668dfffffd80008dff000233
+339608ff000dcccdcf05ff0007b333b1ffffe8e66799ffffe6ffff8b778bffffe919
+9a78fffff6333382080ef895997ff725719980a212ffff286666ff00fdcccd1388ff
+ff9ab333f8b415fffffd66667efffff8b3338afffff4666688fffffe333387fffffe
+cccd85ff0000333387081348ff000a33348cff000f33338c948b081398968bff0011
+cccd8aff0007cccc8aff0001ccce8fff0001333291ffffffccce8ffffff699998eff
+fff8b3338eff00023333960898cb05ff0000ccccff0003ccccff00008000ff000399
+9cff00004ccdff00036664ff000bb333ff000a3334ff000dcccd93ff0009cccd8b9b
+8bff0003999984fffffa4ccd6f08fffff433335105fffffdcccc80fffff74ccd88ff
+fff5666788fffffe333287fffffeccce85ff0000333287081348ff000833348cff00
+1233338c968b081388948bff0011cccd8aff0009cccc8aff0001cccd8fff00013333
+91ffffffcccd8ffffff5999a8efffff74ccd8cff00029999980898cb051348ff0007
+4cccafffffef4ccd9b738bffffed4ccd8bffffe7b333ffffedb334fffff5cccdffff
+f6ccccfffffd6666ff0012e668fffff33333ff00089998ffffed999a8b081328788b
+ffffec80007afffff633338208fffffe33338c051318ff0006199aa4808b0513a8ff
+fff1ccce85ffffed199987ffffed999a89fffffecccd85ffffffb333fffffbccccff
+0000b333fffffc3334ff000f999a89ff0005b3338afffffd66667e087c4105fffffd
+66667efffff6b3338afffff4666688fffffe333387fffffecccd85ff000033338708
+1348ff000a33348cff001233338c948b081398968bff0011cccd8aff0007cccc8aff
+0001cccd8fff0001333391ffffffcccd8ffffff6999a8efffff8b3338eff00023333
+9608ff000e6667d205ff000c666697ff000d199a95968b9b8bff0002999984fffffa
+4ccd6f080ef89399f702a6719912ffff753333ff003e666613d038f90e15ff0001cc
+cd8a05ff000cccce99ff0010199a9a9e8bff000fffff8bff00054ccd83fffffdcccd
+80fffffdcccd80fffff7cccc85808b838bfffffb999a8efffffdcccd8ffffffe6667
+8d878b898b878bfffff9199987fffff466667e08fffffd6667888786ffffff333387
+087e4b05fffffdccce80ff00074ccc88ff0009666788ff0000333387fffffecccd85
+fffffe333387fffff833338cffffee33338c808b828bffffedcccd8afffff5cccd8a
+ffffffcccd8fff0001333391ff0001cccd8fff000b99998eff00094ccd8cff000299
+9a9808ff000fccccd90513b0ff0002999998fffffa4ccd8cfffff066668dffffffcc
+cd8fffffffcccd8fff00013333910813d0ff001266678dff0012e6668fff000e3333
+9108ff000ae666060ef891a0f7009e01fb0eff00684ccd03ffffc2cccdf91215ab06
+ff000300018bff000533338cff0000999a8e08ff0002b3339805ff000033348cffff
+ff33338c898b08668bff000a4ccdbeffffe0999a84fffffecccd8505fffffae66572
+fffff566667e758b8a8bffffffcccd8affffffcccd8a08fffffcb3337b05ffffffcc
+cd8a8c8b8c8b08a28bffffec80002b05fffffb199a73ff000e3334829b8b9a8bff00
+12b3338fff001119999aff0000199aff00054cccfffffde6668ffffffb8000ff0002
+b334fffff5ccce85fffffa199987828b828b8b95ff00044ccda0080ef9169a01ffff
+41999aff00a7199903fb2bf89815ff0001333387ff00066667888e8b8f8bff000b66
+668dff000333339108d0f70005ff000b80009cff0003e6668b938b8d8b8d8bff0000
+66668d08ff0002800097ffffff33338c05ffffffffff8bffffeecccd8a818b0880ff
+ffed33338c8b1fffffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a8c8b
+968bff0004cccc8affffff333487ffffff666688fffffe666688888608ffffd3cccc
+ffffba9998ffffef999aff0047666805fffffeccce8fff000066668dff0000999a8e
+8c908e8b908b0890068d8b8d8bff000066668d08ff0002800097fffffe33338cffff
+d8cccd8a0581ffffe533338c8b1ffffffecccd8afffffd80007f05ffffff999a898c
+8b8d8b968bff000219998bff0004199a78080ef8919af70f9801ffff30cccdff00bb
+800003ffff30cccdf89c15fffffdcccd8005ff000a33338cff000633338c988b948b
+ff000ecccd8aff000acccd8a08ff000233339605ff000066678dffffff66678d878b
+818bfffffd9999ff0002b334ff00076667ff00074ccc8b8b9f9eff000b666697ff00
+02333387ff000a6667708b8bff0001333387ff0003cccd857f8b868bfffffd666688
+ffffff33338708fffffe66668305ff000833338cff001833338c988b968bff000fcc
+cd8aff000acccd8a08ff000233339605ff000066688dff000066668d848b7f8bffff
+fc3333ff0006ccccfffffa1999ff0009333408ffffe18000bab3b705ff000e199a9a
+ff0003199a8c978b928bff000080008dff000099998e08ff0001999a9305fffff3cc
+ce8a828b808b818b828bfffff633338c08fffffe199a8205ffffff666588ff0001cc
+cd8a8e8b928bff0005ccccfffffe3334fffff96667fffff8cccc08ffffdeb33367ff
+fff64ccdaa05ffffff000190fffffecccd94918b908bff000333338cff000099998e
+08ff0001e6669405fffff1ccce8a7a8b808b7d8b7d8bfffff533338c08fffffe1999
+8205ffffff666788ff0000cccd8a928b928bff0005666688ff0003999a8408ff0020
+66665205fffffd999a89ffffd71999648b8bfffff266677efffffb800089808b878b
+898bffffff333387080efbe7f8aef77a01f748f75503f7e8f994156b8b776a7d7408
+2dfb359f7ef729f72f059495969e8e968c8d8b8c8b8d8b997c9b798b080efc05fb17
+f77a0188f75503f732ee156b8b776a7d73082cfb34a07ef728f72e059596969e8d96
+8c8d8b8c8b8d8b997d9b798b080efb7afb94b301e1d903f62f1579390589828a838b
+838b63a87ab48ba48bbb99abd0087493057e707673798b7d8b83958ba28b978d9a8f
+9d0897bf7892050efb0c81a7f81dab01f80ce103aed415f76b0a0efb0881a7f71df7
+08f720ab01dce0f2f70b03f84fd415f76c0afb14dd15ac8baaa693aa8c8f8b8f8b8f
+8ba5769f728b6b8b6a6f856d8a868a878b878b729b77a98b080efb0c81a7f723f708
+f71aab01f722f70bf707e103aed415f76b0af711d515ac8baaa692aa8c8f8b8f8b8f
+8ba6769e738b6b8b6a6f846d8a868a878b878b729c77a98b080efbeafb079fe1f3f7
+62f512c6f70652f70113f0f70eea156b8b7174876f8a888b878b888b729c79a58b94
+8b958d92908c838b80898388766d6a547f088d7705c896c5b395c78d968c958b9408
+b678a56b1e86f7971513e88b888a888b888b729e78a58ba88ba7a391a88b8e8c8e8b
+8e8ba4789e718b6d8b6f73866e080efbeaf7baf96f15f76d0a0efb55f8a3e701f751
+e7cfe703f751f8d115e20af73416e20aa9f76715f76e0a0ef7138aa8f76cb201f72d
+d315e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e6f06
+868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e800663
+8b7b9e83b208fb01f8b20586a584937b8b828b81827c7208fbdefcb7057769767862
+8b087f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e87
+1e6e06707c92991f8b928f948f9208f730f76715f60afb38f84d15808b7c84858108
+36fb2305898889868b8a8a8a8b8a8b8a8b859086928b908b908f8e8f08f70cf70e05
+90908e908c900892079c7d99791e0efbc8f782f70801f71cf70b03f74af78215ac8b
+aaa692a98c8f8c908b8f8ba5769f728b6b8b6a6f846c8a878b878b868b739b77a98b
+080ef7008bb265a5f7c0addd77f74bb370a612f893acefa61337f93ef91a15133bfb
+998b3e8a051377fb168c877605898b87921ea906ab9881751f8b878b878a860832fc
+8a05866f7d7a638b086d06848987881f8776f7158d0513bbd98af7c18bc1f7347190
+056f4265564a8b08fb5406787f909d1f8b8e8b8e8c8f08b8f793f7208b05ad8b937c
+8c6e086c07888d87901ea28b8e8e058dab8ca991ad91ac96a993ab088d8b8d881e75
+06878b88878987087f6d0580707f7a688b08fb218bb1f769058fa39993a38b08f730
+06bfa24f601fa68e05fc7cf77015808b7d848580083dfb220588838b8a8b898b8491
+86918b908b8f8f8f8f08f705f70d0590918d908c900890079d7b9a791e0ef77e8aa8
+f7bcb2f793a701f902d315866f7a7b628b087106868b87888a860888788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e4
+f88a058fa79c9bb48b08a506908b8f8e8c90088e9e898c058b2e8a6764348c8b1e89
+8a8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f767
+0590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606ad9981751f8b878b878a870832fc8a05866f7b7b628b08
+7006878b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b
+087106697d95a11f8b8e8b8f8c9008b7f790f7db8b05fc6bf82515818b7c84858108
+3efb230587838b8a8b898b849186928b908b8f8f8f8f08f705f70d0590918d908b90
+8c8c8b8d8b8d8b9d7b9a788b080efb538aa7f8e3a801f807f8d21590a79c9bb48b08
+a506908b8e8e8c90088f9e898d058b2d886864348e8b1e89898778058a868f888f8b
+08a606ac9a81751f8b888b878a860832fc8b05866f7b7b628b087006868b88888a86
+0888788c8a058be98daeb3e1898b1e8d8c8f9e058c90878e878b087106697d95a11f
+8b8f8b8f8c8f0822f92315808b7d848580083dfb220588838b8a8b898b849186928b
+8f8b8f8f8f8f08f706f70d058f918d908c900890079d7b9a791e0ef7327fadf8edad
+01f700e8f85be803f97bf7dd158fa28da08ba08bf735fb08f1fb288bfb478bfb32fb
+2b69fb58877489748b768bfb32f7012af72c8bf7538bf728f721aef75c08fba8f7ba
+15f6dd3ffb2a1f8b71886d856c6cfb4720fb01fb078bfb048b3add8bf7258ba38ea5
+8fa7b1f766f711e1eb8b08fba4ef15808b7d858580083dfb230588848b898b898b85
+9186928b8f8b908e8e8f08f706f70e0590908d918b8f0891079c7b9a791e0ef48aa8
+f8e4a601f804d315866f7b7b628b087006868b88888a860888788d89058be88daeb3
+e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008b2f771f7
+5af7ad05a2ab9b99a98b08a006948b8c8f8c8f088e9d8a8c05788a4f89828b7e8b45
+8d838c08898a8878058a888b88908a08a9069c9189831f87078a868580817d08fb3c
+fb7f28f77f05879689958b91088e078c95928f9e8b08a8068f8b8e8f8c8f088d9d8b
+8c057b8a2e8a858b7e8b398c808c08898a8878058a85928a8e8b0897069a8b94898f
+889783917e937708f70afbb905fb7af84f15818b7c858680083dfb2305898789878b
+898b849186938b8f8b8f8e8f8f08f705f70e0590908d918c8f0890079d7b9a781e0e
+f72e8bc6f8cbae12e0a5a3e1f847e241a513f8f888f70915f70ab0eef4a0f70c8f9d
+8c9e8b9d8bf7113bf1fb438bfb598bfb14fb2a73fb18887a8a7a8b7b8b24c83ee36b
+088451268b055c7891b21f8b8f8b908c9108718b7dfb0bf7688b05968b92918c9508
+99f713054bbc6cbd8bd68b9e8da08fa2a2f714e8f70af71f8bf7038bca3d8bfb038b
+788978877778fb0057402556086cfb130589818e85978b08f7648b0513f4a7f70b71
+8b057b5275885b8b082906fbc0f92915808b7d848581083dfb230588838b8a8b898b
+849186918b908b8f8f8f8f08f705f70e0590908d908c900891079c7b9a791e0efbc3
+81ccf80c77f706e701f701e7cfe703f748c215f7640a44f89815e20af73416e20aa9
+f76715f76e0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30a0e8789
+adf7c0adf78bad12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce
+153e0a856915cd0613f03f0afb425015400a13e8410a0e5e89a7f8d7b270a712f8d6
+a613b0f793f917157e8b7f8c258c0888898979058a868e888f8b08a906ad9785761f
+8b868a858a840832fc8a05856d7a7d648b087006878688861f87798d89058be28db2
+afe8898b1e8d8d8e9d058c90898e868b087106687d97a01f8b8e8c8f8b8f08e4f88a
+0513d090a69a91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050ed689acf9
+007701f867f91f154c8b898b8a8afc08fd0c05888688878a88088b8a8a8a058b8a8b
+8b8c8a8c88928a978b08f8b606928b918b8e8d8c8b8c8c8c8b8b8c8c8c8b8c088d07
+8b8c8c8c8b8c8b8e8a8d8b8f08fb1ef90c8a8c05442b15f70bfca0fc438b050e6889
+a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a15450a1337460a133b
+470a13b7480a137387770513b38d89051373490a13b34a0a137b4b0a0e9c8bb2f8ca
+b398771213c0f8a489156b0a13a06c0a13c06d0a0ef70489a8f7bab5f793a801f8ef
+f8cd154f0a0ef681adf7a5c3f7a3ad01ff00576666ff005ae666f84be403f891f7f5
+15fb3f066f7e8ca01f8b8f8c908c91088c92058c8e8b8f848c0875068b8b875e866f
+85697e578b8b08a1068f8b8e8d8d91088c920591ac988eac8b08f73f06a49a89751f
+8b888b878a86088a84058a84908a8d8b08a1068b8b91bf91ad90a796b78b8b087406
+878b88898a85088a850585697d886b8b0842f7a315580af79bfbbb15590a0efbad89
+a8f8e3a801f769f8cd15500a0ed789a8f8e3a801f769f8cd15510a0ec78ba801f718
+d415f75bf7fdb8e09c34c8fbf9058c868c878b8708777e80621e7006868b88888a86
+0888788c89058be58eaeb2d8888b1e8e8d8e9e058c90878e878b087f06638b839a86
+a80829f8c505889b8693808b818b8183837c08fbcbfcc8057a6b827f608b08800686
+8b88888a860887788d89058bbf8eafb2d3888b1e8d8d8f9e058c90878e878b087906
+667c8c971f8b928f959399080ef78789a8f8e3a801f923e215f76f0a0ef4967693a8
+f8e3a8121360f943f8c115560a13a0570a0ee287cef771c3f786cf01dca5aca6b2a7
+f804a6aba603f886f7e815fb76066f7e8d9f1f8b908c908c90088c92058c8e8b9084
+8b08758c058b8b875e856e856a7f568b8b08a1068e8b8f8c8d92088c920591ac988e
+ac8b08f77606a49a89751f8b888b868a87088a84058a84908a8d8b08a1068b8b91c0
+91ac90a796b88b8b087406878b89888986088a840585697d886b8b08f752f730158f
+ab99f7048d950870068988878a878b08fc660687898c8e1f7206877d6efb1f8a8a08
+a606a0de938ed08b08f7dd06c09c8a5e1f8b808a7e897b08fcd8fbe31575fb39ac8b
+058c8d8f8d8f8b08f85d068e8b8d8a8c8808a78bb0f739708b0575328082458b08fb
+e506658c788f8bc08b968c988c9b080ef681adf8ecad01ff00576666ff005ae666f8
+4be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad315
+f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01e8
+999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0eac8bb660a1f8
+d9b673a312f8e9a11358f909f91a15fc8d8b877305998ba481a06708f71dfb9efb9d
+fba1057b7a80897f8b088775f89d8bb7f734758d057e6a716b7e7c7d7a7f817d8408
+13a8848880897f8b08fbd58bf7aef7b38d8cfb20f7a4f7a08b05968b938993879685
+9581937a9081986f8d7408a18e050e7a89a8f8d7b2987712f906a913d0f779f91915
+13b0620a13d0630a13b0640a13d0650a0e8289a8f8e3a801f7e4d7156a0a0ef7018a
+a7dfa6f805a8dda801e6daf852d903f7d5f70315846305866f7a7b628b087106868b
+88888a860887788d8a058be98daeb2e2898b1e8d8c8f9e058c90878e878b0870066a
+7d95a11f8b8f8b8f8c8f0892b505f7339bf704f19def8d958c958b948be73ad3fb1d
+970892b10590a79b9bb48b08a606908b8e8e8c90088e9e8a8d058b2d886864348e8b
+1e89898778058a868f888f8b08a506ad9981751f8b888b878a8608856505fb5b7c32
+fb097d3b8a81897f8b7d8b4aab27f75a7f0890a615359345b78bed8b988c9a8e9aa3
+f71df3afe49108f770fb4e157f466828fb327a08ccf80405dc81cb668b2f8b7d897d
+887b080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a0ef7128aa7
+f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f7760a
+0ef7188bc6f8cbae12c9a5a3e2f846e341a513f8f872f70915f709b0eef4a1f70c8e
+9d8d9e8b9d8bf7113af1fb428bfb598bfb15fb2a74fb18887a897a8b7b8b24c93ee2
+6b088551268b055c7791b21f8b8f8c908b9108718b7efb0bf7678b05968b93918c95
+0899f713054abc6dbd8bd68b9e8da08fa2a2f714e8f70af71e8bf7038bca3d8bfb03
+8b788978887778fb0056402656086cfb130588818f85978b08f7648b0513f4a7f70b
+718b057b5274885b8b0829060efbad89a8f8e3a8bde501f72ae8ece703f72bf97a15
+c50af7528c15c40afb14fb4215500a0e8289a8f8e3a8bde501f7a7e8ece703f7a8f9
+7a15c50af7528c15c40afb16fd2f156a0a0e647fc84eadf816ad837712cdd8f782b3
+131cf838f75115f7770a136cf7780a139cf7790a136c25f7a915f77a0af71af7a615
+f76d0a0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a13f0f77c0a
+f738f86a15f76d0a0e44fb6a76f78a76f81ac65fa712f73bff00578000ff00968000
+da13ecf86cf7af15f77d0a13dcf7170a13ecf77e0ad1f94015f76d0a0efbc381ccf8
+0c7701e3f7a503f748c215f7640af728f90815f76d0a0e2181b2f802a79877f701e7
+12f707d377ff00558000ffffdb8000e7cfe76bb913b880ff007b8000f73e15f77f0a
+13b400f7800a13d400f7100a139200c5f78e15d20a139100f73416d20aa9f76715f7
+6e0a0e647fc84eadf816ad837712cdd8f782b3131cf838f75115f7770a136cf7780a
+139cf7790a136c25f7a915f77a0a0e32fb6a76f773a8f7f5c5f784a912f82fd66dd1
+13f8f7faf8341574957c8d7d8b08787c7d777b99839a1f9a8b9790a095b9819b5a8b
+558bfb1730fb10458bffffc833338bffffe3b333ff001c6666fffff46667ff001c4c
+cd08ff005fb333ff01a04ccc05b0f730caa1b28b0813f4b7a2655c1f8b424f356583
+08ffff27e666fc2015a1ffffe8cccdaefffff73333ff0033199a8b0813f8f711f703
+f724f7171f8bec45a96b970813f4e6b9becf8bd78bd152af4b8bfb198b4a2663fb3c
+0827fc48056ffb1074577769089179dbaa059cb396ba99c6080e24fb7fb2f8d4c901
+f71bb0bdc503f74cfb58158387949b1f8bb7a0b8a8c00882074e842a6c1eebf77c15
+8ba9f74ef79e05a8b4a4a8acad08868d0574847f897e8b838b718e828f8270756278
+6908fb14fb6c0585f47af47af08a938790818b6e8b7f75407c08896d059c8f948c95
+8b9a8b9988926a9d309efb0d912208644c057e76694e8b558b6a966da98bee8b8ff7
+408cee080efb037fa9f91bac01d3d4dbc0f70dd803d3f71c1536bc4ce9f734f0f73d
+f70a1e8bcd6fc460b50855c00559bf74a98ba78b9792bdcc8bd08b7c2bcb8bab8b9c
+a48b998b9d68a07399709b63a0628b083e5b4a501f8b63a367bd5308977f055574fb
+4d2c8bfb4408f734fb0a154b74c8cb1f8bf732f706d2d4ae08a27105a86b9a588b5e
+084a57fb3efb071e0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a
+13f0f77c0a0efb33fb79b4f74acaf882aaf7087701d5d2bbc8d1ad03f7fa6415c56d
+b14a2d73aeb91e8bcaadf72ef76cf774e7aaaf998baa8b988392778b758b636e5d61
+6c7e6782778b768b72a08bb6088ba091a08e9508830673817d8573730882074dad67
+be1e9e8bab93a394fb7cfb6f5cfb1c8b320842b452f725bb9b716d535d455a1e7d8b
+768c859784997a97738b08737b747c74a978bee5e2def61f0e44fb6a76f78a76f81a
+c65fa71213e0f86cf7af15f77d0a13d0f7170a13e0f77e0a0efb067fadf7c4adf7c4
+ad01e9d2f7a8d00314e0f83af7fc15fb7a06a9f715d5f743d98bb88ba14c8b358b5d
+84557f540883691569fb253efb33438b5d8b77cc8bdf8bbb92c197c008479d157c49
+84548b5d8bfb21cb5bc78bd58bf71bddcaf7a699c991bf8bb78bf7244abf528b2f8b
+fb11fb0654fb84080efbc381ccf80c7701e3f74803f748c215f7640a0e5481b9ff00
+a94ccdff0023b333f713d25fa712f73cff0057800013e8ff009ee666f7d615f7120a
+13d8f7130a0e487fc8f8e0c801f7dbb203f887c7157a9c0571717d89778b6e8b88ad
+84f717087af7f70586f70a5996708b668b666c6a6508977a05a19aa595a38ba58baa
+7692fb1e088d60fbc6fc479f7f05a193a48ea58c08f76cf7ff97fb81058f2e975eba
+8ba68bb4aca5b2080efb02fb6a76f773baf8207701f7ccd594db03f855f7eb1593ab
+9dcb8b8b7b857c87798b808b7c8c868c896b805a846f0858fb73056f6a556a588b6a
+8b7fa18bad8b9c8e9f90a008cdf7b8057b857c87798b808b7c8c868c0884078b6c82
+5e8571085bfb66058678897488808676847985706ffb107e577669089279daaa05ac
+d892f70c929294849c869c8bc48bbba7bab789828a838b848b6b9e7ba48baf8bafa4
+acbf087a990575697f817f8b838b87918b988b9990a292ac080efb0d9476f81cc901
+f835de03f747f7ec15a0fbf8a18b05f73ff751e3f71c9cd58c918c918b918ba0829b
+768b6f8b7673877a897f8a828b838b7b8e818b7a088b808a7e877883686a59fb03fb
+190877f7fd05938790801e6e8b7f75407c08896d059c8f948c958b9a8b9e8a8d6808
+0efb3efb78d0f72dcbf79bce4aaef75fa9f67712d1cdaccc62c3d7a913df40d1f70b
+1549b150f717bfad7a65625e35601e4e8b8ca8638b0875787b7473a785aff704deeb
+e9cc5daa483874b2b61f8bc0ace3cda9a592a690a98b0813ef40988b9a89988b08b0
+9ca79d9882937e1f13df40708b646d598b758b78998bad8bae95b8f714e8eba9a699
+8ba88b9785917e8b748b6975505f086c7e7b8b768b0813dec077749ab31f8b908b9c
+95a9088206748178777c7508800751a77bbd1e9e8b948ca1910813df4034514a5a8b
+488b6b9f7daa7f08fb0f5470238b51080efb0681b0f80fac01d9def771de03f735f7
+3e158c0a3883158d0a0e677fd93dc0f7d4cf12f77ebbb5ca13b8f8e3f84115fc0f06
+5b8b5537764f089c8805a9c4aea1b98b089c064cfba4577a6f8572867d6e89818a87
+8a888b878b799986958be68bcaf717c3f78608f707066efb07742b7e518676887a8b
+7d081378669e7cb91eb68bc1bea7aa087e9b05606564847f8b7d8b85948b9d8b958d
+988f9aaaf71e9fdc96af08cc06ad8ba0a1a3ad080e3cfb6a76f774a9f815b101f83b
+de03f88ef7af15e551d02d1e5f8b5a7b5a606d7068696bfb1e085ffb53056efb1076
+577669089279daaa059cb397bb98c5089cd505a17aa081b38b08f74de8f74cf7021f
+fb95fb9c15618b6fa176a908aff73105adf726c6a9b38b08c3b36a363f68fb53fb1f
+1f0efb2bfb79b4f74ad7f7d3c001cec1f763b303cef718158b42af4edd87e687bf7d
+8b5f8b575547638b7d8b768c859784997a97738b087578767975ab78bd1fdd8bd4d3
+9cd590a290a08b9e08c65caa5e26559bd3f4e8f712e61ed28b7d53b88b08aba1aca1
+a571a738fb33fb12fb46fb181f0e637fadf7e7cf01d5d0f792cd03d5f720152fc24f
+f3f726dff717f31e8bcb6ebc65a408f71106ae8b9fa1a4ad088397fb748b05fb6f3f
+fb4a201ff7a7f77115a9679d698b5908294ffb0d313e70cac7c6b2f731f73b1e0efb
+2b7fc0f7d4cf01f73ecc03f73eb41563a07eb21eb48bbab0b4b7087e9d055b617087
+7a8b7e8b85938b9e8babacf70ab8f72308f406ad8ba0a1a4ad088397fba88b05508b
+5f337856089f8605aec89a9cb98b08bf0682713afb838b54080e2181b2f802a79877
+12f707d377ff00558000ff00b78000b913b4ff007b8000f73e15f77f0a13acf7800a
+13ccf7100a0e7cfb6a76f775a8f814b2847712dad1c2caf779d413eef7bd9f15c6f7
+9405a3f0a9a5ae8baf8b9a6a8b58088b2b5efb4afb2e76087bf81e1513de7fa0055b
+75fb00387324856e87718b728b2fbc51f7018477367e4b8b6108c3699a9d05869988
+9b8ba08bad92ba9dd6c991f736b9b8f75790a38ea28ba10813eed66ac83a1efb118b
+70fb3c877d0854fb8505439274b68bc78be4b2f715e8ce080e2ffb78c6f8bcc68277
+1213a0f771f7931597fb1dfb96fbd6847ba38ab481e0f701f70bf74b97fb000599fb
+19945bca8ba28bb1aea8af087d9b057c7c787e7a8b668b7f9180f708087cf747f747
+f75ce5f3058b5f8475847d8f8b1efb4efb9483dd0513c081f7047dd24d8b688b7469
+6b6e089679059d9b9e91958b08b78b9b6a912c080ea2fb6a76f775a6f7ffc9f79876
+01f7c09c154e9276be8bd58baf90b492b808a8f732058c94858f818b6d8b7675417c
+08896d059b8f948c958b998ba2898b728b888b888a88087d3a05835e85608b668b35
+aa4ff0896e216b487769089279cfaa05aad69df7048c92eb9ed5dfabd908ccf73505
+9fbba8a1adad08868d0574847f897d8b848b708e828f827071457d68086836055efb
+035a464675a9f75edaf7a49cbe08c0f7305d816e8d054afbe65efb5e67fb19080ed0
+7fadf8387701cbd3f755dbf741d103f920f79415f7810a0efbc381ccf80c77f706e6
+01ece7d0e703f748c215f7640a6ef8c515a00af7358c15a10a0e2181b2f802a79877
+f701e612f707d377ff00558000ffffde8000e7d0e767b913b880ff007b8000f73e15
+f77f0a13b400f7800a13d400f7100af707f7bb15139200a00af7358c15139100a10a
+0efb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0af7ecf89c15f76d
+0a0e2181b2f802a7987712f707d377ff00558000ff00b78000b913b4ff007b8000f7
+3e15f77f0a13acf7800a13ccf7100af7b5f7fd15f76d0a0ed07fadf8387701cbd3f7
+55dbf741d103f920f79415f7810afb0bf84015f76d0a0e327fadf916ad12e3d2f798
+d18bcc13e8f75ff81215bbf70cddf736f7068ba58b9b788b6c088b27fb1e58fb283a
+08fb07fb691523b53ef21e13f0f72df2f736f7151f8bde61cd37910813e8f707c2d7
+c88bd808b76aa657fb56fb4ffbc9fb701ef734fb27155865c2e71f8bd6abed8c8fc7
+b1b99ca88b0813f0beb46340243efb352d1f0e557faaf7f8b2f78ead01f706d0a4cc
+f75dce03f81af92c15aebc5d231f8b6e886a82652a8b60a078a175a483a98ba508ae
+9de6ee1efb4afb20158b6b9471a06eaa61c477f7138b70fb073dfb85308b5c8b70a2
+8bc08b9c8e9e90a108b1f7397d8b05768b7f742c7d08896e059c8e968d978b948b91
+878b7d8b858a82887f087d4f05867488768b788b46b36bde8bf71e8bebf73abdf771
+9f8b988493849498949b98978094788e6b8b0892a88eaa8ba808f15ee8fb0b47265b
+fb121e0e6c89a8f8e0b601f7c0ca03f783d615f7820a0ee889a8f8e0b601f826ca03
+f7e9d615856efffff1199a7fffffd6e66687086c88058787897b8f82b88caf8cb28b
+b18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091a608ff002e
+6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff002019989dff00
+124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffffdeb3348bff
+ffd99998fffff13334ffffe3b334ffffe6ccccffffbe1998ffffc54cccffffd34cce
+fb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334fffff5b334ff
+00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7b3348b638b
+61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd9998a49d9c95
+b18b08ff0024199aff0034e66655201f8b5d844d7f4f08fb35f84a15f76d0a0e6c89
+a8f8e0b6bbe512f7b3e83bcaf706e713ecf783d615f7820a92f8651513f4c50af752
+8c15c40a0e73fb6a76ff00df8000ff001de666ff018a3334ff001cccccff00f8999a
+7701d4d2f7f0d303f784fb6015ff00174cccff0037199aff000e199aff00434cccff
+000cb334d2ff00abe666ff000fcccdf1ff009633338bff0082999a8bff00616666ff
+ffc08000ff0034b334ffff93999aff00056666ff000ae666ff00274cccff000a4ccc
+aeff0008b334ff001a333408c0f7305d816e8d05fffff08000ffffaf9998ffffef33
+34ffffaa4cd0ffffef4cccffffad7ffeffff33b333fffff3e666ffffb64ccdffff4c
+33348bffff9b80008bffffa06666ff0040999affffc5199aff0068666685ffffe799
+9affffaf199affffe3199936ffffe84ccdffffd8666608917905ff007c199aff00fc
+cccd15ff00096666ff0036199aff0009199aff0037999aff000c6666ff00358000ff
+0010199aff00448000ff00156666ff00564cccff00146666ff004bb334ff0050199a
+81a7ffffc6999a8bffffbbe6668b748874867378ffffb13333ffffd4ccccffff9c80
+00ffff814ccefffff6199a08ff0032199aff018acccc15ffffee1998ffffa88000ff
+ffee6668ffffad8000fffff04cccffffbd66668b8bffffed999affffb7199affffe7
+3333ffffab4cccffffb19999ff0009e667ffffe3999aff003ccccd8bff0041e6668b
+ff0050cccdff00323333ff00a7cccdff0097000194080edc7fadf822bc01cdd3f755
+dbf74cd403f82ff79e159786917a6874454d1e8b838b838d835e446868628b5a8b72
+a58bc48ba08fa692aaaaf71bdcb9ad9c08849f054c6ffb33318bfb448b31c36dcf8b
+c08bb8a9bbd6943cba71ba8b08f717edf74af4f43be4fb1c1ffb688b7e8005946999
+87ae8b08f71c06e5df61221f8b7a897986766bfb2263563f8b578b75b284d1a1afa9
+d38ba6080e55fb4cadf71ed4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f7653
+6e4b556b6c6e85718a878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3
+b3b1abada678587e63846c846e88738b778b639a76a98bff0009999a8bff000a3332
+ff0002b333ff000accceff00054ccd08fffff26666760548227677738b728b7f8b81
+997ca18196708b7b8b837c8b818b7f927e9783a07fae80ac8b08bf8baaacb5ce08e0
+ff008a4ccd05ff0008ccccff0009e6679496ff00093334ff000bcccd088d8c8a8d80
+99898d898905fffff83334fffff9cccdfffff89998fffffa6666fffff8e668fffffb
+199a08ffffff4cccff0000b333fffffeb3348905ffffe6ccccffffef3333ffffea66
+66fffff7cccdffffec199a8b798b82958ba18b938c948e9794b39dbea5ccc5aeaca8
+91a68c8f8b8f8b8f089d7f94731e6f8b778080748177625d4b4d616164696770a2c2
+9ab592ac92a88ea48b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c
+05aea8a899a58b9d8b94818b768b838a81887f080ef6fffff7cccdff00203333f8ec
+ad01ff00576666ff005ae666f84be403f848f90415580affff74b334fffd87cccc15
+fffff3e666ffffcf8001fffff3199affffd33333fffff2b332ffffdb800008ff0000
+4cce88058bff0011b3328eaeadff00104cce888b1eff0002b3328e05ff00034cceb2
+ff0006e666ff002c8000ff00098000ff00308000ff009e6666a3ff00794cccff0082
+b333ff00233334ff00b44ccd90ff0019ccccff00024cccff0018b3348bff00176666
+8bff009c0002ffff96ccccff00631998ffff6de6688bfb3f8bfb2bfb2c65fb58ffff
+fae666ffffe56666fffffd8000ffffe6ccce8bffffe83332088bffff74199ae032ff
+007c4ccefffff24ccd080efb06fb10f71a77acf813ac12afe0e6d6d7e0133cf735f7
+3e158c0a3883158bffffcd6666ff000be666ffff913334ff006f999afffff6199908
+13bcfffff56666ffffd54ccd80ffffd83333fffff3999affffdfcccd08ff00004ccd
+8805ff000000018bff000bb3338eae8b08adff000a4ccc888b1fff0002b3348e058e
+ff00244ccdff0006199aff00288000ff00086666ff002c4ccdff000a8000ff0002e6
+66ff000a4cccff0003e666ff000a3334ff0005199aff0057199aff002be666ff0043
+e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c1e0e42fb50c1f940
+e03edd12dcbcf7aabc13b8e8f80315856e85618b618b5b925ba468ddfb07f769ec8b
+fb018b848a8389827e4c4660518b5c8b66b15c8b08798b718486718a868a878b868b
+6fa37ad78bf70b8bf710cba6f7128e998c9a8b9b8b928b938a930889a4829580994f
+d6fb374351e47ba484ac8bad8ba28ea290a196c1abc8b2acaca6a897bb8b0813d8ae
+8bae83af8bdc8ba1b8a3c2088195057d7d7480708b0813b8578b5490658b08fb2f8b
+41fb3f7525080efb49fb79b4f74ad7f7c0ca947712cdbff754b213ecf73f8515e6bb
+7a5f1f8b868a858a847a43566c758b7c8b778c849784997a97738b7c8b7780867508
+850775aa78bd1ede8bd3d39cd591a28fa08b9e8b9e879c7f9c7e9e6f9d698b668b24
+8c8bf28b988d9b8f9d08a1e9cac2e48ba68b90859f8bbf8ba4a1a5ba0813dc809405
+7e7f7c8a7a8b0813ec638b8b8f638b6e8b5b7e6372475f64307a41846f88728b7608
+2fc471bb1e0e4189a8f7c6b8f774b670a712f8c1a613e8f8f8f91915fbf48b0513d8
+288c89898778058a878d88908b08a706a193877b1f8b858a8389810820fc8b05856e
+877c688b086e06878b87888a870887778c89058bca8db2b9d1898b1e8c8d909f058c
+91868c888b086f0676838f9a1f8b928c938d9508c3f79af72d8b05a29886781f8b87
+8b878a86087e4ca28baaf72205808c658d798b08fb2d8b0513e8bbf774f7628b05b2
+982d5c1f84a6070efb27fb6376f7e7cef747d90194d503f877f851158391057d7878
+88758b638b6491628bfb068b4dfb0d73260838fbfc05887e86768b798b838c838f87
+8f859288958b958b938f93919695919790a58f9a8c9d8b9c088bb086b18bab8b998c
+978d9596b8a8b6b98ba58ba385a48bb98bb4b2a3c1088290057b7b7482788b082c06
+608b68687664acf705b5f720f7078b08e006be8babaea7c0080e5cfb26b4f81cbbf8
+1bb401f78efb2615b08bb49da39708899e0578857a897e8b778b609192ac8d97939a
+9a9f08f7a2f7f6fbea8bf769f7a905a1a897a490a195bc6ca9638b658b6078767f08
+8e79059e919a8d988ba98bae828368887c84787e7a08fb9cfbecf7ea8bfb6ffbb305
+756e7d7586768361a66bb58b080e4ef7b3bb01f884f7b315b0bbfbdf8bf794f7e358
+8cfb96fbe4665bf7df8bfbaafbfebe89050ef764f91bbe01f808cff77ff103f887fb
+0b158abc678b1ef2eddef729a7f71795b990b48bb28be073d25bcd49e649b0fb158b
+fb028b246326348c8bb3698b8b08bbbbd1afcc9c084bfbbfc48bcdf7c8988b05dc8b
+c572bb4ba5669d6594626281536e68756975656874646d56754a7c4108cf0697c19e
+d09ab19fbcb8ada8a19593bf9cab948c7f8b7e8b7f8b5884547e4f6bfb2a53304747
+080e26f8a39a01f83bc003f7eff84815fb2424a066f728f40598769675927608fb26
+23a066f71eed058f778e728b6f8b6f886b836a83667d667965089b06b0c9a5c899c7
+92ab8fa88ba78bf730fb02eefb468b838b828b838a08827c05f70083c458a76b080e
+557fd4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f76536e4b556b6c6e85718a
+878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3b3b1abada678587e63
+846c846e88738b778b639a76a98bae8bb7b0bbc9088d8c8a8d8099898d898905676e
+6e7d718b798b82958ba18b938c948e9794b39dbea5ccc5aeaca891a68c8f8b8f8b8f
+089d7f94731e6f8b778080748177625d4b4d616164696770a2c29ab592ac92a88ea4
+8b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c05aea8a899a58b9d
+8b94818b768b838a81887f080e20fb44d0f707adf7f7af01b2b4f77aa2d8d503f72c
+da158198869f8ba48ba08ea492a79acda2b9aaaaadaca995ac8bb18ba87a9b699575
+8f738b73088b7b897a877a7c49725e686e646b697f6f8b698b739879a308f7c6f7bd
+156fb25b9d4b8b508b537161646164715673247a407e438b538b62916b9c76a766bf
+7ccd8b08ef8b89628f8308a2068b908c908b918bb480c8328b4b8b609671a47c9985
+aa8bb28ba28da58fa7a855b86fc98b08cb8bc19db9b2b9b2a8bf9acc91a38da18b9f
+8bae83a979a3080efb0881a7f81dab01dce003f84fd415f76c0a0efbc2fb58aff8bf
+a79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a
+13d8820a139470f7e4157d0a0ef7187fadf7acb8f7a8ad01e0e9f85ae803f904f7c2
+1569fb422221fb058bfb058b3bdd8bf7258b9c8c9d8d9d08f854b815fc4c06b4f758
+f70cdbe88bf7008bdc3f8bfb2a8b7c8a7a897908e579158fa28da08ba08bf735fb08
+f1fb278bfb478bfb32fb2b68fb58877489748b768bfb32f7012af72c8bf7538bf728
+f721aef75c080efb2083b7f740b7f728b701dadb03f7f9f82415a48b9c869c829585
+94859384089fa00586938492839273a26b965f8b628b4a76585f585f69537c4a8675
+89768b788b66936b9e6e08a662b576c98bb58bb297aea1a0999c98999b08809a0579
+7d7880778275827686748b648b719978a278a282aa8bb18b988c998e9b08f76d8b96
+b7fb6f8b059bbfa4b4a6a0b1aaaf8ea78b080efb2083b7f740b7f728b701f803db03
+f743af15728b74907a9481918291839208777605908492839384a374ab80b78bb48b
+cca0beb7bfb7acc39acc90a18da08b9e8bb083ac78a70870b461a04d8b618b648068
+74767d7a7e7e7b08957c059d999e969e94a194a090a28bb38ba57d9e749e74946d8b
+658b858b848a8408fb6b8b815ff76e8b8a84057d4f6e5c6e73656c6e885f8b080e6a
+7fa9f816b1f7947701f862e503f3fb6815a1b89bec9cdba77da583b68bf71a8bf710
+eeacf72e8f9b8c998b9a8be64bcc238b628b557f5c6c089ad305a6f710a0bea0ad08
+839d38690578617c497936084ffbae61fb580571fb10734f776808927a05f846f84e
+1574fb004542388b6e8b76966fa584837875818808b8f76505aaf726c9a6be8bcb8b
+ba6d8b2f8b74886f846b080ea77bb8f8e8ad01e4e303f8bdf8e815f7830a0e979c76
+f8527701f840169379c89de6f84378964c80fb64fbe94bf7e971965480fb1dfd1c93
+85a691f706f8ac97c6944805cafbc5058d858e878f8b918b908f909108f74cf7c0c3
+e77c47050ea77bb8f8e8ad01f8a5e103f78bf8e815f7840a0ea77bb8f784f708f784
+ad01e4e3f744f70a03f8bdf8e815f7830afb2bfbdb15ac8ba9a590aa8c8f8b8e8b8e
+8ba774a0728b6b8b6b6e866d8b888a878b888b729d75aa8b080ea77bb8f77ff708f7
+89ad01f76ff70af754e103f78bf8e815f7840aa1fbe015ab8ba9a690aa8c8e8b8e8b
+8f8ba674a0728b6b8b6c6f856d8b878a888b888b719d75ab8b080e6889a870b2f7b0
+b1d677f751b370a8d37612f81daae3a7133b80f8b8f91a15450a133780460a133b80
+470a13b780480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a
+65d215b20a0e6889a870b2f7b0b1d677f751b370a8c4e512f7b4e897aac1e751a713
+3ba0f8b8f91a15450a1337a0460a133ba0470a13b7a0480a1373a087770513b3a08d
+89051373a0490a13b3a04a0a137ba04b0afb97f215c50af7528c151333c0c40a0ef7
+41fb22d3d0a8f7f5c6f73ab312f734a4f85ca97dd613faf804f8cb152bfc8305856f
+7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f9e058c
+90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3cb90b88bc68b9e34
+8b408b7289738779846466fb4b5b8b7e8b8190828f8290808e7e8b08778b76778775
+8a898b898b898b74a479ad8ba18ba597a19dc7bcbff5a5f71b95ba92b98bb308d671
+c1311e448b517b3c4808b3f7630592ad9893af8b08cd0613fcc28b967f903b08a990
+8b9f058bb98eb890b6087087058a85877a768b08fc3b067c8894921f8b8e8b8e8c8c
+08718f057d5a7b57755608a88605aedb9b97c28b08df06a99885781f8b878a868a86
+080e3b8aa8f8d5b370a7d47612f8bca913d8f860f8f115f7850a13b87efb068c8b1f
+13d8898a87770513b8f7860a13d891a59a91a18b089be815b40a0e9d7fb0f791bd79
+c3f793b012f87dd9b9a913bcf7e8a415f7870a13dcf7880a13bc538b6ab14f8b7d8b
+4a884c69abf72bf705f721f68bf7198baa3a923508a98f058dbf8cbb93c2558e75b5
+fb0a8bfb328bfb30fb2361fb5c64fb4adbfb25f73f8bec8bc5abaea3aaa0a4a790a6
+0891a5859e738b768b797b7c6e0866436374438b080e2081aff8eaad12cba9ff002f
+cccdff00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4
+610a0efbad89a8f8e3a801f769f8cd15500a0efbad89a8f8e3a8bde501f726e8ece7
+03f727f97a15c50af7528c15c40afb10fb4215500a0efb527faaf8eba701bbd503f7
+269e15788699981f90079784a2701e7c8b788186728a888b878b888b5fc882ab8bca
+8bd9a7adf74608d6f8100590a79c9bb48b089b06908f8e901f8f9e898c058b388a67
+64248c8b1e898a8778058a868e88908b08af06ad9c76711f8b878b878a870840fc17
+05782e7a4f598b080ef7d67fb869a9f7c4b3f784ab12f9b1e61378f851d315856f7b
+7b628b087006878b87888a860887788d89058bf08da71ea88baa89af8bf70d8bf734
+9cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0590a79d9bb48b08a506908b
+8e8e8c90088f9e898c05578b728a5a8b08fb1006fb1d8b4e8e5e8b08898988790589
+828f8a9c8baa8b98868b6a8b77876d825e58fb9c6b2a6c500813b87f767f80808b82
+8b84938a9a8a9b7f96798b728b7e7787768a888b888b888b6eaa7bb18b08a28bc097
+b2e9aee0abf71ab2f75b9dea9291b68b08f406ad9581791f8b868b868a8508aefb80
+15e206f4a74f531f8b7f8a7f88810813787f4d572ffb2c8b618b80958b9e8b918c92
+8d93080ef7fe8aa8f7ceb1f782a701f9d9e603f905f80f15b1f7570590a79c9bb48b
+08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e8890
+8b08a506ac9a81761f8b878a878a860865fb56fbaf8bb0f7560591a79c9bb48b08a5
+06908b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08
+a506ac9981761f8b878b878a86082afc8a05856f7a7b628b087106868b87888a8608
+88788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b0871066a7d94a01f8b
+8f8b908c9008bff7a2f7b08b57fba205856f7a7b628b087106868b88888a86088778
+8d89058bef8da81ea88baa89af8bf70d8bf7349cabf73b8f9c8d9c8b9c08d660d1fb
+5b1e466415e306f3a74a531f8b7e897f89807f4d562ffb2c8b628b80958b9e8b918c
+928c93080ef7498aa8f801baf73ab312f734a4f857d93daa13f8f804f8cb152bfc83
+05856f7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f
+9e058c90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3c29ca88bb3
+8bb56f8b4f8b818a8189800864fb5e05856e7f7c698b087806868b88888a86088778
+8d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e868b08780613f47181959d1f8b
+908c908c9108b3f7660513f88e9a8d9a8b988bd65eb34d8b648b3a7b3c4808b3f763
+0592ad9893af8b08cd06c28b967f903b08a9908b9f058bb98eb890b6087087058a85
+877a768b08fc3b067c8894921f8b8e8b8e8c8c08718f057d5a7b57755608a88605ae
+db9b97c28b08df06a99885781f8b878a868a86080eb48aa8f8c6c86aa7d4761213d0
+f8db8a15f7890a13b0f78a0a3ff94e15b40a0ef70289a8f8e3a7d47601f948f8d215
+f78b0a7df91a15b20a0e9e75c9f8d6a7b9b101f7e5d403f75fb315f78c0af801f974
+15f78d0a0ef28bb264a6f8e3a712f7b2ac13b0f941f8d21590a79c9bb38b08a4068f
+8b8f8e8c90088f9e8a8c058b308a6966388c8b1e898a87780589868f888f8b08a406
+ab9882761f8b878a868a860823fc7f05846983816e8b08fb80067684969b1f8b908c
+918c9108f3f87f0591a79c9bb28b08a406908b8e8e8c90088f9e8a8c058b318a6965
+388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a860820fc8d05
+1370826585876d8b086f06868b88878a860887798c89f7038d0513b0f70a069f9677
+5d1f8b778973876c08ac06a8efa3b4ab8b081370f70e0696ea898b1f8d8d909f058c
+8f888e888b086d0675838e9a1f8b918c938d95080ef589a8f76ab5f80b7701f7c7f7
+af153d0afbcdfb6015b30a0e9289a8f7c6b3f70976f71cb370a612f87ae313e4f78e
+f7e115f72b0af80af70315f72c0a13f4f72d0a13ecf72e0a0e8789adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce153e0a856915cd
+0613f03f0afb425015400a13e8410a0e3b8aa8f8d5b370a712f8bca913d0f860f8f1
+15f7850a13b07efb068c8b1f13d0898a87770513b0f7860a13d091a59a91a18b080e
+e98bb2f8cab46ea81292a6f8a9a613b8f70dba1577787e8b768b818b7f83887f0868
+fb29a68b05a0bfb6e4de8b08f7b206db8b9e368c5308a68ba2f7298b8f0595849177
+7d7a95a51e8b8f8b908c9008eaf87b0592af939bab8b08a8068f8b8f8d8d91088d99
+058c8e898f888b08fc5806848b85868a8708897f058a878d87908b08a906a093837c
+1f8b878b878a867f4c6c245dfb06084efb3068456e6f0813d8f83bf8c215a394867c
+1f8b868a858983082cfc7b0585667d88748b08fb6f067e8090941f8b99b1dfc2f722
+a5cfadf3a7f091a49999a68b080e6889a870b2f7b0b1d677f751b370a812f822aae3
+a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d89051373
+490a13b34a0a137b4b0a0ef7ba8aa8f7bbb6f774c86aa712f7b1ad13e8f9d48a15f7
+8e0a13d8f78f0a13e8f7900a0e627fb0f7cbb0f70976f72fad01c6db03f786a415f7
+910a0ef70289a8f8e3a701f948f8d215f78b0a0ef70289a8f8e3a7b9b101f80cd403
+f948f8d215f78b0aa1f95515f78d0a0eb48aa8f8c6c86aa71213c0f8db8a15f7890a
+13a0f78a0a0eb67fb76aa7f8e3a612afd513b0f95af91a15588b628afb3c8bfb1d8b
+648e5e8b08898988790589828f8a9c8baa8b99878b6b8b77866d825c63fb5f6ffb0c
+6d4a77627f737a8b828b84948a9a088a9b7f967a8b6f8b7f73877908840771a877ad
+1eb58bab9fa8bfb7dbacf723b8f7799dea9496b58b08e506ab9a81751f8b888b868a
+870829fc8b051370866f7a7b628b087106868788861f87788c8a058be98daeb3e189
+8b1e8d8c8f9e058c90888e868b0871066a7c95a01f8b8f8c908c8f08ecf88b0591a7
+9c9bb48b08a506908f8e901f8f9e050ef78789a8f8e3a801f923e215f76f0a0ef704
+89a8f7bab5f793a801f8eff8cd154f0a0ef681adf8ecad01ff00576666ff005ae666
+f84be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad3
+15f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01
+e8999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0ec281b4f8e2
+b001ff0058cccde1ff01c93334a803f7e68115420a0e7a89a8f8d7b2987712f906a9
+13d0f779f9191513b0620a13d0630a13b0640a13d0650a0e9e75c9f8d6a701f75fb3
+15f78c0a0ef689a8ff005bcccdff001b3333ff016ae666ff001b4cceff0051cccca8
+01eadaf854da03ff0143ccccf72615ffffb2ccceff0004e666ffffb76666ff0018e6
+678bff006533338b9bff0002199a9dff0003e6669fff001b199aff008a4cccff005d
+999aff0021999aff005e80009108ff000bccccff003c199a15fffff98000ffffdf33
+3405ffff83999a85ffff6fb333ffffd76666ffffe03333ffff5b6666877a8a7c8b7c
+8bffff7e6666ff007f4ccdffffe6b334ff00601999fffffbb33308fffff7999affff
+d5333305866f7b7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff0003666680ff000c999aff0005e666a908ff0008
+8000b605f719ff0006cccdff00888000ff002db333aaff009f80008f9c8c9b8b998b
+ff00714cccffffa09998ff0026999cffff7fe668ff0006333008ff00068000ff0020
+e6680591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788
+778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2333408
+f765fb8815ffffe48000ffff723333ffff9a999a6cffffa9b332fffffa199a08ff00
+476668ff016a999805ff00541998fffffaccceff0041b334ffffe5cccc8bffff9f80
+008b7a89798776080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a
+0ed98da572adf8d9a612f8caa613b0f85e8d15d98ba8438c4408a68ba1f729058b8c
+8c8d8b8c0893869376767f9c9f1e8b8f8c8f8c8f08ebf8830591ac9097af8c08a806
+8f8e8d8e1f8fa1898cfb088a208c888a8775058a878d8a8e8b08a906a58a92858b7c
+8b848a838982082cfc7d051370856b857d678b08fb680673828e9e1f8b918c938c95
+08ebf87d0593b39291ac8b08a8068f8b8d8d8c8e088fa1898cfb098afb008c898a86
+75058a878d8a8f8b08a806a49487791f8b858a838981082afc850513b0846382856b
+8a087006878586861f877a8e89f7008e051370b68cbe8bbc8b08ede48a8b1f0ec68a
+a6f774c5f7cba601f742dc03f832a515f7920a0ef7fe89a870adf8dca7121360fa44
+f8d21591a79c9bb28b08a406908b8f8e8c90088e9e8a8c058b318a69653b8c8b1e88
+8a8778058a868e88908b08a206aa9982761f8b878a868a860823fc7f05826483816c
+8b08fb41067684949a1f8b928d948d9408f3f87f0590a79c9bb38b08a2068f8b8f8e
+8c90088f9e898c058b348a69653b8c8b1e888a8778058a868e88908b08a106ab9882
+761f8b878b8689860823fc7f05856c84796d8b08fb41067e8b838c888f85908a908b
+928b928c948e9608f3f87f0591a79c9bb28b08a206908b8e8e8c90088f9e898c058b
+348a6965388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a8608
+21fc870513a0826484836b8a086e06888b89898a8808136086750513a08d89051360
+f7208df8f68b0513a0f702890513608d8d90a10513a08e8a8d881e6e067482909c1f
+8b908c928d94080ef80f8bad69a6f8e3a712f9dca51370f7c1f8d21591a79c9bb28b
+08a206908b8e8e8c90088f9e898c058b348a6965388c8b1e898a8778058a868e888f
+8b08a506aa9882761f8b878b868a860820fc8c05826485876b8b086e06888b89898a
+880886758d89f7018d0513b0f8ef06d89e375c1f81a507a4f727058b8d8c8d8b8d08
+137097808e7d7e7a95a61e8b908c908c9208f4f8810591a79c9bb28b08a406908b8f
+8e8c90088e9e8a8c058b318a69653b8c8b1e888a8778058a868e88908b08a206aa99
+82761f8b878a868a860823fc7f0513b08367847e6a8b08fb36066e81929c1f8b928c
+938e9508f3f87f0590a79c9bb38b08a2068f8b8f8e8c90088f9e898c058b348a6965
+3b8c8b1e888a8778058a868e88908b08a106ab9882761f8b878b8689860823fc7f05
+8467847e678b08fb3a067384949b1f8b928d938d94080ef7308aa9f7c4b3f70976f7
+1db36fa712f90be613e4f82ff7e115e206f4a74f531f8b7f8a7f88817f4d562ffb2b
+8b618b80958b9e8b918c928d9308cff8ca1513ec648cfb738b057d4d7c55775308a8
+860513f49cb6bfe9cc8b08c906a39481781f8b878b878a86082bfc8005856f7b7b62
+8b087006878b87888a860887788d89058be88daf1ea88baa89af8bf70d8bf7349cac
+f73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0513ec90a79c9bb58b08a506908b
+8e8e8c90088f9e898c058b2e8a671e0ef7758aa9f7c4b3f789a701f86ce603f9abf8
+d315f7930afc70f88915f7940aadfb8515f7950a0e888aa9f7c4b3f789a601f86ce6
+03f76df8d215f7940aadfb8515f7950a0e9d7facf790c379bcf799b012d8d813d8f8
+9af7c715f7960a13b8f7970a13d8f7980a0ef7ec7fad74a8f7a9b2f7a6a775ad12f7
+e5e6f83ae313aef93ff90415f0cd45fb1d1f8b6b8767836469fb4723fb01248b308b
+3ddb8bf7218ba58da791a908b4f766f70ee2df8b08f78bfbbb1591a88da68ba58bf7
+2b2debfb238bffff63b3348bffff701998ffff794ccc5bffff4cb33408ffff9cccce
+8bff002c6666f77a05137691a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff002d199af77eff00
+61cccc8b05fffffaccceffffe6ccccfffffe4cccffffe7b3348bffffe880000813ae
+fb2bec2ef71e1ef7468bf721f721b2f75c080e8b8aa8f7bbb6f789ae6fa612f735da
+13d8f848f7d7155afb9005856f7b7c628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087106697d94a01f8b8f8b908c8f08ed
+f88b0592ad9895b58b08a906908b8e8e8c8f0813e88ea00513d88b2b8a6b1e13e86a
+8b518c688bfb4e8b57317e46897f8a808b818b3cca66c5826d79776973623cfb194a
+406b8b088106888b87888a860887788c89cd8c05d28cb6d0c7f70208c3f1a1b4f68b
+08bcf7901562fb653e8b054354a2d61f8b968c988e999de8de9bc38bd18b9b898b79
+8b868a868a85080e4081c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0a
+0e2081acf813acf7977701ded9f77cdd03f86ff7b915db67cd261e338b5a536e6195
+b19cb49ea8b5caa8a5e193dd93c9b1b0f5087406765763783d85fb567bfb09fbcd8b
+fb2608fb05cb60d4f719f70ef724f7331efb7afba2156161c3d0f707c5f723f1b7a7
+ffffca199affffbde666fb0c54fb232e1f0efb137f9ff7719ff73fa112d6d8f749df
+74d113f8f7e1f71a1549624f4c6d5c98d71e8bac8bb69aadae99a893a68b08b9a857
+601f13f4c8f784158b4d4f6afb3165baf719c1b9d08b08b3926b7d1f64cf153f8b4a
+6d534f544f6f468b3e0822be56f31e13f8f6dbcbd61f8bb573d626900813f4f708b3
+c3a98bbe8ba879b6308b080efb777fc0f7f2be01c4ddf72bd903f724f7e915f7990a
+0e237fb5f80ab101dfddf777d803f81df7ed15556cfb99fb0f5c71c2cf1e8cf734dd
+e6ce8b08a7bc7f5c1f55ec15768b63815d72426340278bfb118b3caf40e38bd58bb1
+abb1aec9c3bdf7088bf7108ad679d262c90841f70940814ab0088a06898985821f8b
+6b9867ba7bdf6ed37c8bfb038b838b8389827999738f738b080efb3481c7f7faaa01
+dedef751d003f7f7f80615750afb50fb3f15760a0ef74c7fc4f73caef71bc501f791
+cff749d203f82cf7f915f79a0a0efb2d7fabf757aef734ab12d5cbf74dd26fc813f8
+f71ede15a6788e82817183645eb46ad5f729c3efce1e8bc65ea1788d0813f4f79b0a
+13f8f79c0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a0e6381c7f7ddc7
+c6b201f70cdacad0a9d903f88ef7f415940ab4f85f15f79d0a0e30967693a8ff00b6
+cccdff00223333f714ce5fa712f73eff005580001334f86bf7f715f79e0a132cf79f
+0a13b4f7a00a1374f7a10a0e507faf67c0f7f1b270a6121310f7e1f70715856a8063
+8b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b
+9491a190a508b7f77b0592b1ff00064cccff00026666ff0022b334ff0003999a08a8
+8e05ff0004b334ff0001e666ff00014cccff0012199a8994088b5189631efb490665
+8b768c668c86868c779187aa879f8b8b708b7684697e527322764f79697f72808182
+8b08838b88958c988c8c8b8d8b8c8b9982977c8b788b7d7b87778a898b888b898b73
+a376a78b08b18baca4a1ba9fb2a3de9edd081320a1e995a9ae8b08c006a293867c1f
+8b848982897f080ef381c74faef801a8a27712abc9f826d9137cf895f70715836a82
+638b788b78927da98bbb8bb8adb9c6889485937d8b0813bc716d6e77818b848b8890
+8b978b9490a191a508d7f7d20575876086808b08fb63fbeb21f7f405628064825b88
+088f73058b878e898f8c089c8e059f8d9b8d8f7d08946d05846e836e83677222764f
+7a6908137c7f727f81838b838b88958c988c8c8b8d8b8c8b9981977d8b788b7d7b87
+778a898b888b890873a376a61eb28baca4a1ba9eb2a4de9edd088f99dffba6058c84
+8f888f8b908b918e909208f765f7df8e8d050e5a81ccf7e8a79b771213a0ff0065cc
+cdd315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff00b000
+018bffffeaccccffff9f199a05846c81618b788b78927da98bbb8bb8adb9c6889485
+937d8b716d6e7c818b848b88908b97088b94909c91a508c3f77805ff0003999aff00
+11e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f836508ffffe8cccc21
+ffff5080018b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813c0f7a20a0e
+fb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0a0e6081c7f7ddc75f
+a712f73bff00578000ff00528000e07ada13d4f845f71015f7150a13b4890a13d48a
+0a13d88b0a0e43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0ef77281c7f7ddc75fa712f7
+53ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d813daf74af7d5
+15850a13dc860a13da870a13ba880a0e51fb7ec8ff02178000ff004c800001f871ff
+0048666803ff01608000169a0a0eb8fb81bff743b3f805b3f761c101ddd2f820d203
+f768a9155f7cb4bf1f8bab91ad93ac9fe2b3e5d78b9e8b9b8198700848fbb405736d
+737d738b08f7aaf80515b79a65581f8b6a8566836b773464303e8b798b79917fab08
+cef7b505a7aba3959f8b08fb2bfc10159a759d84a68be78be3f701aaf71b92a78ea5
+8ba38bd66dbf488b618b6f79726f9cf0a2f72ac78b089b8b97859d7c8f8794898f8b
+089e9a9da7967ea3671f638b5769675c6055714a792e80a07798708b3c8b2b3566fb
+34857188738b748b40aa54cd8b08ae8ba997a5a56bfb34777b7c7afffff5b333ffff
+f44ccdfffff24ccdfffff7b333788bffffdf999a8bfffffd6666ad698b0875827179
+74a978a61faa8bff002b999aff00026666ff00266666ff0024999ab4b2b4c5a6f70c
+080e3581cb4bbcff01438000ff004c80004cca121380f76bf7c915970a1350980a13
+a0990a0e6381c7f7ddc712f70cdaf736d98ac513f0f89bf830159c81956b1e658b8d
+5f8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab
+98b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f
+088b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980
+6405826b83628b788b78927da98bff00134ccc8bff0012e668ff00058000ff001299
+98ff000a8000fffff3e668ffffe48000fffffa4ccc748bffffe880000813e88b7f8c
+838b858b6d6f7c6e7d08966f05e9b095ab8ba68b9a89978898899689988b9d8bff00
+0c3333ff00028000988fff000c9999ff000e8000ff000d6667ff000e6668ff001019
+9aff000e9998ff0012b333889485937d8b08716d6e77818b0813f0848890971f8b94
+90a191a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b97080e5d
+81ccd7bdf76aa79b771213e0ff00f04ccdff0140333415ff000ab334ff0026ccccff
+00098000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b818b
+fffff6e66689fffff2199a846f087c48058673897a8b798b649872c08bff0039e666
+8bff004b999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd0584
+6c81618b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b
+97088b94909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b
+970813d09c81956b1e658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffff
+e16666ffffbf8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080ef7
+7b81bcf8247712f71dd778e1f0dbf735d913ecf811d11552a874b11ee48bb2c9d2f3
+088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c
+818b848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff000966
+68ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b
+809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e836608
+69fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0f7310513dcf7a30a13
+ecf7a40a0ef77b81bcf8247712f71dd778e1f0dbf735d98bc513ccf811d11552a874
+b11ee48bb2c9d2f3088e89806405826b83628b788b78927da98bff0013b3348bff00
+131998ff0005b333ff0012e668ff000acccdfffff41998ffffe44ccdfffffa3334ff
+ffe8cccd8bffffe866660813ca8b7f8c838b858b6d6f7c6d7d08966f05eab095ab8b
+a68b9a89978898899689988b9d8bff000c999aff00029998ff000d8000ff00043334
+ff000ce66699ff000d199aff000e199cff000fccccff000e1998ff0012199a889485
+937d8b08716d6e7c818b0813ec848890971f8b94909c91a508c3f77805ff00039998
+ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f8165086efb0205
+41fb125a3c598b798b809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c8195
+6b8b658b8b5e83660869fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0
+f7310513d8f7a30a13ecf7a40a0e4e7fb5f778c1ceb762c712f746dcf745dc13ccf7
+d1a9156577acbb1f8bc8a4a59694b1aaac9fa88b08ad92646e1f355841471ef75cf7
+4c15bf72b95c1e638b53754650088906b1f3b1b9b6bb08769f0513ec7f817b7b7c8b
+0813dc658b669e5b8b758b597c64fb0008a38005a2b79fa9b28b0813eca68ba588a0
+8b9d8b9a8e918c473e43fb0f8b33084aaf61c7f705f716eff7121e0ef47fad6bccf7
+63c0dba7987712f70dd67bff00558000ff00718000d913a5f791a115f7a50afffff8
+4ccdff012a333415132bf7a60a13b5f79f0a13abf7a70a13adf7a80a1361f7f5fb41
+15f7a90a0efb0d7fadf784c0dba7987712f80fd913c8f791a115f7a50afffff84ccd
+ff012a333415ff0009b334ff0026ccccff000a8000ff0026cccc8bff0011199a0813
+d87f0a13e86b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+818bfffff6e66688fffff2199a856f0860fb5a05877a88788b7c0854b56ebcf70bf7
+12f0f713c16eb85c1e648b526d4f520889060efb2d81acf731bc75b4f732ac12c4ca
+f77ed713dcf70cdf15a7798e82846e85645eb868d01eff0035b3338bff00338001ff
+000d4ccdff0028ccccff0021b333d1ff0039e666b6ff006680008bff0056999a8be1
+58d02e8b488b897f4a8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a
+897a897b7f867d897d8b0813bcf7aa0a13dcf7ab0a0ece81b0f746b2f72ba77aac12
+f73eff00558000ff002f6666ff00494cceff00c34cccff00494ccc13deff0065cccd
+d315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff5
+8000ff001fcccd8bb18b8ab7ff0008e666b108ff001eb334f719ff006133328b05ff
+fffe199afffff166668afffff180008bfffff2199a8b56ff000b8000fb0bff007033
+348bff001c80008bff001ae666ff00043333ff0019e666ff000ecccdff004d0002ff
+002be666ff003be664ff0069e6678bff007633338bd3fffff03334e5ffff934ccc8b
+ffff8cb3348bffffbc199affffa03334ffffe7e666ffff9ccccc08ffffa0999a8bff
+0011b333ff004c333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff0011
+199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813eef7a20aff00d733
+34fb2b1513dee5ff00228000f726ff005db3321eff001a80028bff000e6664fffff0
+199aff000c8000ffffe3e666ff000b4cccffffe6999aff00026668ffffdbcccc8bff
+ffe1999a8bffffd86666fffffa3334ffffa9999affffdfcccc53ffffe74ccc60ffff
+dc333479ffffdee6668b08ffffe66666ffffd9e668b1f41f0efb0481c757a8f73cae
+f740a612f70fcfe7d9133cf7d7f77a154b065c76b1b6b8bbbade1f988b9989988808
+4dfbaf15846a81638b780813bc78927da91ebb8bb8adb9c6889485937d8b716d6e77
+818b848b88908b978b9490a191a508c6f78c0590a08d94a38b08a4068e8d8c8d1f8b
+a38a8d3789fb0a8c05ffffa3b333ffffb64ccd543d1f8b52c66bb3876e8571767262
+73655c476d8908137c7e8a0586848c7b8f8508c68d05ab8cb3b5a2b4aec7aabeb38b
+08a9060efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6999afb431575
+0afb50fb3f15760a0efb3481c7f7faaae3e712dedea7e7cfe730d013f8f756f8d115
+d20a13fcf73416d20a13fa8cfb5f15df0afb50fb3f15760a0efb109676f826b001f8
+4aa503ff00c2cccdd315fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0049199af7d4
+998b05cf98754c1f8b838b838a8308a58f0590b990b197c508fbe9067c517e657b5d
+08a38705addca0a7d68b0898060efb777fc0f7f2be01c4ddf72bd903f7d5f92e15e5
+0afb45fbd915f7990a0efb2d81aaf733b475bcf732ac12dad6f73ccb94a513bef784
+a0154b75c7cc1f8b9b8c9b8d9a978f978d998b0813def7ac0a13be6b8b76a6638b6f
+8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b95974c8b
+fb0f8b35fb016ffb0d856f88728b758bfb00d167d78bdf8bcbb697c0088b8e8c8d8b
+8e8b9685957d8b818b75877f6a087f696a74668b080efb6481acf813ac12c6df77cb
+dfd658dd13d8f7428115900a13d4910a13e8920a0efbb181c7f7eda79877f5eb12f7
+5deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0efb
+b181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af73416e20affffe2
+4ccdffff033334157e0a13bc7f0a13dc800a0efbc2fb58aff8bfa79877f5eb12f74d
+ff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a13d8820a139470f7
+e4157d0a0ede7faef783c0d7b170a8957712a0cdf782d6f74bd913c7f85da1156974
+a5b51f8bd6b6b39695b1aea5979f8b08a3a0745e1f264544531e6cf7621513cfc0f7
+690576886086808b08ffffff4cccfffffce6660513e7ffffe28000ffffffccceffff
+968000ffffff4cccffffe3b3348b0813d7624d8d8b1f13e7878988790513d7898290
+8b9c8bad8b99878b688b76866b82587822794d7b6980727f81828b088189959a9980
+997b1f768b7d7b877708860773a874aa1eb58baca4a0ba9cb2a0e099dd0813e79ce9
+93aab28b08ff006533348bffffc1ccccfba005877a88788b7c0854b56ebbf70cf712
+f0f713c16eb85c1e648b526d4e52080ef70881adff00bbe666ff0027199a96c0dba7
+9b7712f73eff00558000ff00668000d6f74bd913f7f834f7f915ffffe8e66621ffff
+5266678b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff00
+11199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85fffff9
+4ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a84
+6f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff00
+8be666ff00ae33338bffffec999affffa7199a05877a887a8b7c0854b56ebbf70cf7
+12eef713c16eb85c1e648b526d4f5208898baaf710058f9d94a98b970813ef9c8195
+6b1e658b8b5f836508d5fbe1156974a5b51f8bd6b6b19695ff00261998ff0022e666
+ff0019e668ff000c199a9f8b08a3a0745e264546531f0e8781c7f78ec7dbaef73ca8
+a57712f7ffdd68da13faf84ff86f15ffff5ee6668bff0018199af7000599cc96b38b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea333408ffffec666633ffffb9999a8b8368ff
+0046999a8bffffae3333fc0405fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff00091999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff002619
+9af73a05b6b4cea0af8ba08b99858b6c8b7d8978836908773a0513fc836b82628b78
+8b78967da98bbb8bb8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd19
+9a908b97088b948fa192a5089fdb0513fa93ae90a28b9d8bc7709f648bffffcc3334
+8bffffac8000ffffdd8000ffffd04cccffffd9800008ff0022199af72dff00a0e666
+8b050e30967693a8ff00b6cccdff00223333f714ce5fa712f73eff005580001334f8
+6bf7f715f79e0a132cf79f0a13b4f7a00a1374f7a10a66f7d015ec0a0e6381c7f7dd
+c701f70cdaf736d903f88ef7f415940a25f8b715ce0a0e51fb7ec8ff02178000ff00
+4c8000bdb201f77fd0f741ff0048666803ff01608000169a0af731f91815f79d0a0e
+6381c7f7ddc701f70cdaa3c5dbd903f88ef7f415ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a44598b798b
+7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b52695d508e
+829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c05847188758b
+788b52ab74ae8bff0017e6668bff00154ccdff0005e6669f96ffffeb999affffd799
+9afffff63333ffffe133338bffffe14ccd8b7f8c848b858b6c6f7d6d7c08967005ea
+b095aa8ba78b9989988898899589998b9d8bff00144ccdff0006e666ff0016b333ff
+0009199a9eff001f8000ff001c8000ff001e999aff0029e666ff0023e666ff003499
+9a088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e
+77818b848b88908b97088b9490a191a5080ef7f57faef765a8f7feae12f4e3f791e0
+46c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a712db
+cef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0ef70c89adf7c6aef7
+1eb2a777c7a712f72da4f835e059a813fef8fff8ba15ffff29b3348bff00054ccca4
+0591a79b9ab28b08a5068f8b8f8e8c90088f9e898c058b318a6966388c8b1e898a86
+78058a868f888f8b08a406aa9982761f8b878a868a8608fffffae66673ffff7a199a
+8b057d8993921f8b8e8b8f8c8d08728f057d597958755508a78605afdb9a98c08b08
+ff0057999a8bffffa36666fc490583687d7f668b086e06858b89888a860887788c89
+058bd68dba1ec38b8c89e08bf7548bd6e59de18e9b8d9a8b998bcd65b541ab6e974e
+8d688b083f8bff001d6666f71eff00a7999a8b0513fdc08b957e8e3b08a890058cc1
+8fbe92bd087187058a84867a778b08fb98fb6815e60613feecbb5d451f8b7f8a7f88
+7e7e4e562ffb258b4b8b7c908b9e8b908b908d91080ef70281adf782c0cbc75fa712
+f73bff00578000ff00628000db6fdaf718d413edf81cf7a7156bfb2c05877a88788b
+7c0854b570bbf70cf712eef713c16eb85c1e648b526d4e5208898b9fc50513ebff00
+06199aff0011999aff0003e666ff002566668b9d8bc7709f648b578b60762ffb0008
+8a8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dbf7170a13
+ebcaddc2c6af8ba08b99868b6c088b7d8577846908edfb8f1513cd6974a3b51f8bd6
+b6b39695ff00261998ff0022e666ff0019e668ff000c199a9f8b08a3a0745e264546
+531f0ef7b27fb070a8f78fbd6fb26ec3f790a871b012f96fd9b9a9138980f8daa415
+f7870a132180f7880a130b80538b6ab14f8b7d8b4a884c69abf72bf705f721f68bf7
+198baa3a923508a98f058dbf8cbb93c2558e75b5fb0a8b08139180ffff6866688bff
+ff6a4cccffff7c4ccc5affff44b33408ffff9d4ccc64e506ffffe08000ffff51199a
+ff00503334ffff76e666ff00a64ccc8bec8bc5abaea3aaa0a4a790a691a5859e738b
+768b797b7c6e0866436374438b08fc05f8b4152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a081345806c88058787897b8f82b88c
+af8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e6
+66ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e
+8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe23334080ee981aaf733b475bcffffdbe666ff0027199af7
+24a77aac12f73eff00558000ff00348000d6f73ccb94a51393c0ff0065cccdd315ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff006b80018b05ff
+ffffcccc8affffffb334ffffff199affffffcccc8a856f88728b758bfb00d167d78b
+df8bcbb697c08b8e8c8d8b8e8b9685957d8b08818b75877f6a7f696a74668b4b8b75
+c78bcc8b9b8c9b8d9a0813a3c0978f978d998b0813c3c0f7ac0a13a7c06b8b76a663
+8b6f8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b9597
+4c8b08139bc0ffff9366668bffffb04cceffffab199affffdb8000ffff98e66608ff
+ff9219998b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85ffff
+f94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a
+846f080ef78a89a8f90b7701f8cff7de15f7b10a48fc72159ad30596bfb7cbd4b608
+d3fb7b058d828c858a8587797585708b087906878b87888a860887788c89058be08d
+adb1d3898b1e8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a0
+86947f8b818b81847a7408fc29fcb705746b7875648b088006868b87888a86088778
+8d89058bc88da4a2e1898b1e8d8d8f9e058c90888e878b0879066d8b7e978f9b8c91
+8e908f9108f73df77905c15f9c4d8058087c4305856e7f7b6a8b087906868b88888a
+860887788c89058bcd8dadb0cd898b1e8d8d8f9e058c90888e878b0878066c8b859b
+91a8080ebd89a8f8337701f79df78515f7b20a83fb8515cf8b9dd60595b8a3bec1b3
+08c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8da5a7bd898b
+1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f8b858b7d87
+7b7608fba4fbef05726b7380748b878b89888a880886768c89058bb98d9d9cc9898b
+1e8d8d90a0058e898e881e8406738b78909fa608f70ff73105b2618b57805c080ef9
+1189a8f79bb2f7b5a896771213d0f769f8cd152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff00
+0c199a91ff001e800008ff002a199af76aff017b999a8bffff654cccfb6505746b78
+75648b088006868b87888a860887788d89058bc88da4a2e1898b1e8d8d8f9e058c90
+888e878b0879066d8b7e978f9b8c918e908f9108f73df77905c15f9c4d8058087c43
+05856e7f7b6a8b087906868b88888a860887788c89058bcd8dadb0cd898b1e8d8d8f
+9e058c90888e878b0878066c8b859b91a8089ad30596bfb7cbd4b608d3fb7b058d82
+8c858a8587797585708b087906878b87888a860887788c89058be08dadb1d3898b1e
+8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a086947f8b818b
+81847a7408ffff229998fbbffffe6f33348bff002f3333f7840591a79a99b48f0813
+e0aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc999896fffff33334fffffa199affffe2333408f95afb8315f7b10a0e
+f7bd947695a8f740b2f729a3aa77121378f762f75b15ff00e6199a8bffff9ae666fb
+1505726b7380748b878b89888a880886768c89058bb98d9d9cc9898b1e8d8d90a005
+8e898e881e8406738b78909fa608f70ff73105b2618b57805c087a40cf8b9dd60595
+b8a3bec1b308c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8d
+a5a7bd898b1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f
+8b858b7d877b7608ffff73b334fb47ffff0419998bff00128000ff0052333405ff00
+0b6667ff00328000ff00124ccdff00444ccc8b8b8bff0002999a89ff00006666898b
+6c8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef8000
+8bfffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd50513b8907fd4a305
+f7edf77915f7b20a0ef7d789a8f7bcb2f78cae01f83bf7d715b98b56fb9005856f7a
+7b648b087a06878b888889860887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90
+888e878b087b066b7e94a01f8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb
+41058c868c868b87087478846a1e7606878b87888a860887788c89058be18dadb1cf
+898b1e8e8d8f9e058c90888e868b0880066e8b789b85a70860f7410577df65ad368b
+08608bf78af79b0590908d8f8b8e0891818d831efc91067e8088831f8b888c888d88
+08f731fb9b6a8b05368b5769533708fb08fb4105786f727b6d8b088006878b878889
+860887788d89058bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f99
+1f8b918e94939608f707f74105b7cdb098b98b08f70bb515fb27f789f80d8b050ef7
+4c89a8f744adf732ad01f7ebf75f15b58b6dfb1805846f7b7b648b088506878b8788
+8a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b088406668b81
+9991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88888a
+860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b7f9f
+80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b7e85
+937d08f3fb406e8b05398b6566493d08605805777473766e8b088106878b86888a86
+0886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b087c06658b849aa4
+a808b6be05bec7a9a0b88b08f702b1152df72ef77e8b050ef92189a8f7bcb2f78cae
+70a81213e0f769f8cd152afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199a
+ffffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e8000
+08ff0030999af78bff01707ffe8b05ffffe7e668ffffed4cccffffe9e66871ffffe9
+1998ffffddb33408fb08fb4105786f727b6d8b088006878b878889860887788d8905
+8bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f991f8b918e949396
+08f707f74105b7cdb098b98b08b98b56fb9005856f7a7b648b087a06878b88888986
+0887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90888e878b087b066b7e94a01f
+8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb41058c868c868b8708747884
+6a1e7606878b87888a860887788c89058be18dadb1cf898b1e8e8d8f9e058c90888e
+868b0880066e8b789b85a70860f7410577df65ad368b08608bf78af79b0590908d8f
+8b8e0891818d831efc91067e8088831f8b888c888d8808f731fb9b6a8bfffe1b4ccc
+8bff0028b333f7630591a79a99b48f0813d0aa8e058f8f8d9b87940813e05e8a678a
+648b0813d0658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe2333408f91ffb601513e0fb27f789f80d8b050ef8219476
+95a8f740b2f729a37bad9877121368f762f75b15ff00decccc06ffffe8ccceffffed
+6666ffffe93332ffffe66667ffffe43334ffffdf333308605805777473766e8b0881
+06878b86888a860886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b08
+7c06658b849aa4a808b6be05ff0026999aff002d6666ff001a999aff0017199aff00
+1e1998ff0008800008ff0047cccc8bffffe2e668fb1405846f7b7b648b088506878b
+87888a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b08840666
+8b819991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88
+888a860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b
+7f9f80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b
+7e85937d08ff00676668fb3ffffe9d66648bff00128000ff0052333405ff000b6667
+ff00328000ff00124ccdff00444ccc8b8b0813b4ff0002999a89ff00006666891e6c
+8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef80008b
+fffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd5907fd4a305f887f779
+1513282df72ef77e8b050e78fb7cb7f8a0b0f70976f72fadc77612b8b5f7ebe757da
+13fdf8b9f8b115d934b23a1e518b677f388b0852fb43a88905b2dcb1d5f70b8b08bf
+b96354575e23fb181f5f067d827f7f839186941fd10613fee8a53f551f8b4a5b24fb
+1f7efb078038578b2c8b33ec80f7008be38ba3a192ae8c8f8b8e8b8e8b9e7b927b8b
+085d8b535a5c8b578b599c8bbc8b918c918c919cdce293be8ef77c97b9f7368bcf8b
+da4cac539d08f711b8a0ef8baf08fb49f73015f7030a0efb38fb71b3f73dabf757ae
+f734abf75e77129ca9f792d26fc913fe9cfb0c1550b761dfb1b792b29980947b1e67
+8b6b6e678b087372aeb1c4c1b2ccf72ac3efce1f8bc65ea1778d0813fda893d1b68b
+cf8bcd469e578b458ba27f308b7e587f647b6108a38605a7cfb3bcd58b08abb37760
+636252451f66067a8b81689e8b08c60613feb09c6d683d4b57521ffb035744461fff
+00f16666f90115bd06ff00266666b9ff002f3334b8ff002ae666b208ffffef999a98
+05ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafffffe4199aa4ffffde
+e666a808ffffe966667e05ff001b4ccd65ff001bcccd5eff001366665c080ef7128a
+a7f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f776
+0a0e96fb5ca8ff00a0999aff001e6666f82e77f790a701f5c903f776f81b15a1819c
+6f1e6306818b838a8980877db2978b628b5e523c8bfb018bffff994cccc9ffffd680
+01ff0052e666fffff7cccd08ffffe5199affff8b666605846f807b6c8b087a06878b
+87888a860887788c89058bc88dacadc8898b1e8d8d909e058c90888e878b087a0675
+82949c1f8b908c918d9208ff001ae666ff0074999a05ff006a999aff000a1999ff00
+628000ff003cb333b1ff00a5999a96bd88ba93ad9bccb9748ba20892848c831e6206
+3a8b99fb157e50ffffda4cccffff5fb333ffffc34cceffffccb333ffffb04cccffff
+f5b33408ff009a199aff029be6688a8d058b76897e6b4f8d8b1e89898679058a868d
+88908b089b06a293827b1f8b858a858a8408ffff75e666fcea05ffffca3334ff0007
+6666ffffdbe666ff001dcccd8bff0050cccd8bf70ec5d48bc5080ef71d7fadf780c6
+91c6f785ad01e4e9f85de803f910f7e915f7b30ae57f15f7b40afba2f7ba15f7b50a
+0efb047faef731bc75b4f735ac12dfd9f773d4139cdff720153ab244eaf72be4f745
+f715da6ad0261efb3940fb5c251fff0127ccccff006133331513dcfffff2ccceffff
+fb1999fffff08000fffffcb333ffffefe6668b0813bc678b809e628bffffe44ccd8b
+6dfffff7cccdffffee800081ff00143333ff0058b333ff0031b333ff005a8000ff00
+414ccd8bbe8ba6658b428bfffff24cccfffffe8000ffffea4ccefffffc4cccffffe6
+999908ffff2accceffffdd999a15ff00061999ff00016667ff0008199aff0002cccd
+ff000833338b0813dcac8ba070b38bff0020199a8bff0025ccccff00128000ff0016
+6666ff000bcccdfffff0199affffac8000ffffd9ccceffff983333ffffb0cccc8b4e
+8b78c98bcb8bff0010cccdff0001999aff001233338eff0012cccd080ef7169476f8
+eed25ea81213a0f8c3f89315f7b60a13c0f7b70a0e819576f820c462a91213c0f82c
+f7ba15f7b80a13a0f7b90a13c0f7ba0a0ef7169476f8eed25ea8ca761213b0f8c3f8
+9315f7b60a13d0f7b70a62f7cc15808484808980887f8f868c8908da35058c8a8e8a
+8e8b8d8b8f8c8d8d8f8e8e8f8c8f088e078b73f714681e818b8286858708fb1a8515
+8184848089818a888b898b898b858d878e8808dd37058c898e8b8d8b8f8b8f8d8d8c
+8f8e8e8e8c8f8b8d8b8d8a8c0863f706058794848e7e8b818b81858587080e819576
+f820c462a9f7737712f821d113d8f82cf7ba15f7b80a13b8f7b90a13d8f7ba0a98f7
+fb158085817f887f8a868b868e8508d6fb0d058c898e8a8d8b8e8b8d8c8f8d8f8d8f
+8f8c8f088b8f6cf726058993858f808c8a8c898b8a8b848b8388838708fb1d831581
+84848088818b898a898b888b878c878e8708e3fb01058d888d8b8d8b8e8b8e8c8f8e
+8e8d8e8f8c8f088b8d8b8c5df71f058894858e7f8b828b82888285080ef7f57faef7
+65a8f7feaebba0b2a012f4e3f791e046c897c2acf0c5cf5db99ade13fce8f917f9a7
+15588b5b5b83678a888b878b888b799982988b998b9c948f9c8c8d8b8d8b8c8b9783
+938b970891078e97989ead8bbc8ba64fbd8bb48bacb193af8c908c908b908ba0809b
+788b788b7b7b8981088a878b888b890813fcd88b74a18b8b79088507887e7e817d8b
+08688b62c7548b08fb78fb381513fec8f7ad0a13fdc83c76bab41f8b948c938d9308
+96bf0591a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e88
+898778058a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b
+083c6bd9eff75df703f771f7031f0ed57fa7f744a8f755a7daa0b2a1b77712dbcef7
+2cc059cd5ac0cecac5b77bcf13ff30f7bff88f157a9782989b9e989f1e8b9684938b
+968b9a99a1ae8bbb8ba34fbb8b08b8b1bdb4a08299797d7380721f8b76a08a8b798b
+7d7e7c7a8b6a8b64c8568b08565651651f8f2e1513fea8f7af0a13fe606080a7a91f
+8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a8d058b4b89
+686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85898408846c
+058366754b4a8b08577cbbc0deb8f76af7031f0ef7f57faef765a8f7feae12f4e3f7
+91e046c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a7
+12dbcef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0efcc0f886a0b2
+a001fba0c2f76bb803fba0f87915799882989c9e979f1e8b9684938b978b9998a2b0
+8bbc8ba64fbc8b08b9b2bcb4a0819a787e7180731f8b74a28b8b798b797a807d8b68
+8b63c7548b08535651671f0eea89adf7c6aef71fadd3a701f7e2f7e615e606f7058b
+ba4c78317e4e562ffb258b3c8b869292ac08ff005d999af84c15ff00fc66668b92ad
+ffff03cccc8bff00063334a80591a79b9ab28b08a506908b8e8e8c90088f9e898c05
+8b328a6866388c8b1e888a8778058a868e88908b08a406b18b977d846d08fffffa19
+9a6fffff54e6668b8469ff00aae6668bffffa3199afc4a0583687d7f658b086f0685
+8b89888a860887788c89058bd68dba1ec38b8c89e08bf7548bd6e59de19ee866c132
+b16e974e8d688b083f060e3389aaf752abf724adf769a9a57701f827f7101579394c
+7e5c8b608b629594ae08acf725e58b05cd8ba6607e5708fb37f71315acf724f74e8b
+93adfb4e8bcaf7a1768b0577827d8779877a8856857d8b08867205888d898d1ebc8f
+059e8b907b7e52086afb242c8b8369ea8b40fbd705856e7e7b6c8b087506868b8888
+89860887788c89058bcb8db01ebb8ba589ba8bf38bdfbe9fdfa1ea34a2328b080e4d
+89a8f793adf70f77f75dad69a412ff01e8999aff0055999a13f4f7b7f8d21590a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800082ffffd1ccccffffefe666ffffdd8000ff
+ffe93334ffffe7b33408ffffbde666d76c74ff0042ccccffffb2999a05ffffe5b334
+fffff08000ffffdfe666fffff8e666ffffda999a8b738b6a8d818e08fb13fb8e1586
+6f7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a08
+8d8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff000766
+678bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08
+b6f771059f849c88ad8bff003180008bff00294cccff00098000ff00223334ff000f
+999a08f1ffff89e666a8a6ffff9fccccff006e800005ff003f199cff002a6666ff00
+1f4cccccff0009ccccff0034199aff0001e668ff00098000ff00014cccff000ae666
+8bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b0813ec5c0a0e
+43fb7fa9f757aef804b901f83fdd03f79ef82815ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967666d6f68ff0003e6
+66fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824fc5f05856f7c7f6b
+8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e8d8d8b9f058b9089
+8d878c08788e057c8d719093ad08b7f74c059a7bff001c80007aff001d80008bff00
+2780008bff00238000ff000c3333ff001f33349f08ff004accccffffa9cccda8a5ff
+ffb76666ff0053cccd05ff000cccceff000b4cceff000bccccff000c800096ff000d
+6666c1cda6cf8bd38bdf6fcd278b588b6678707b08f735fb17158bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdfffffd1998fffffb8000fffffce668fffffb999a
+fffffcccccfffffbb3330832ff0066b3336c73ff005d3334ffff94800005ffffeae6
+66ffffedccccffffe83332fffff4b334ffffe8b3348b718b709876a808cdf7b805a4
+9ba89db18bcf8b95448b5a080e428aa7f8d7b270a712f8b3a697a613b8f797f91815
+7e8b7e8c258c0889898879058a868e888f8b08a906ad9785761f8b868b8589840833
+fc8a05856d7a7d638b087106868b87888a860888788c8a058be28cb3aee88a8b1e8d
+8c8f9e058c90888e868b087106687e97a01f8b8e8c8f8b8f08e4f88a0513d890a69a
+91a18b08f71b06cc8b967b8e5b08a68fb2f770708b057b546249598b08fb1f060efb
+388aa8f7fab770a612f83fa19ba613d8f70cd315856e7e7c698b087306878b87888a
+860886788d89058bd48daeb2d4898b1e8d8d8f9e058d90878e878b0874067181949d
+1f8b908c908d9208d3f7cef70a8b05a98b96808c7608a18bb6f750708b057c556351
+568b0813b8fb7b8b8675058a888d898e8b08aa06a48a93868b7b8b858a82887f080e
+4c8aa7f798b2f7acb270a712f8dba613d8f798f918157e8b7f8c258c088889887905
+8a868e88908b08a906ad9685761f8b868a858b84085ffb8b338b8464e38b65fb6c05
+856d7a7d648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c
+90898e868b087106677e97a01f8b8e8c8f8b8f08b1f76cf28b92b2248bb7f78b0513
+e88fa69b91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050efb338aa8f749
+b2f723b26fa812f834a613e8f779f76515e88b95b22d8bacf723e28b05bf915d581f
+8b78a68ea2f72cfb4d8b658a0513d8fb048d88898775058a888c898e8b08aa06a494
+867b1f8b858982897f087221378b8264df8b6cfb1d05846e7e7c698b087406868b88
+8889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b0874067281
+949d1f8b908c908c92080eabfb40a8f722a7f7d0aaf77cb270a712f71ea28fa3f7c2
+db97a613f780f8cae8158fa08ca08b9d8bf74ffb49acfb1d8c08aef75b058fa69b91
+a18b08f73a06cc8b9e568e4208a69094f734fbad8b3d8a0513ef807e8b7f8c258c08
+88898879058a868e88908b08a906ad9685761f8b868a858b840832fc8a05856d7a7d
+648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c90898e86
+8b087106677e97a01f8b8e8c8f8b8f08bbf7a405f71af70263fb2b1f8b7689748672
+6efb3d3c52408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb2ca28b05
+8c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf702f70aa5f727080e59fb7e
+adf75ba8f73badf736b26fa812dae1f76cdb5ea613f6f70fd315846e7e7c698b0874
+06868b888889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b08
+74067281949d1f8b908c908c9208a8f70f05d98ad86f8bfb048b758871846d72fb00
+5e47438b538b83aa8ba9088b9a8b8f05a07d96741e748b797c856e8a878a868b868b
+62b45cea8bf70b8be5f700a8f71091a38da18b9f08f721fb18a32c1eb0f736e28b05
+13f5bf915d581f8b78a68ea2f72cfb4d8b658a0513eefb048d88898775058a888c89
+8e8b08aa06a494867b1f8b858982897f080ef7c68aa8f7bbb6f774c86aa712f7a8af
+f889a613eca38a15cd8c05d38cb4d0c5f702c1f1a2b4f68b085efb9005866f7b7c62
+8b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e
+868b087106697c94a11f8b8f8c8f8c8f08b7f79005f68b94629d259b2f994bba789c
+7e9e7f977aa26a91618b710888a6079ff7278b900598818f7a1e808b79917a9e74ab
+74ca78e37ec781ba4d8bd7a4adf1a0ca94a8a3a79f8b978b95849380089182988797
+8b9e8ba29c90a4089307a07da0621e4c8b525a7a5179537440506b707c5f8b6a8b08
+aff7640513dc90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8878058a868e88908b08a506ad9981751f8b878b878a870866fb64056a8b
+5f8b769a66a484bc8bba8b9a8c998c9808910713ecc264b94e1e5c8b757087740883
+07779a7d9c1e978b998f959496969892978b9f8b98708b6f086c078b4d923ec4754d
+8b705c694f3ffb194b406a8b088206878b87888a86088878050ef7118aa8f74aadf7
+0cd16ba812f8f6a413e8f7f2f788157e06588b719976e27cc975a66c8b698b787a86
+748a888b888b888b7b957e9d8b9d8b9f93938b08978b91768f759458a966a985678b
+59776e597565512d698b088206878b848a898408877a8d8ad08c05b98db6d1a3b4ab
+c5a2b1dc8c086bfb1e05856e7e7c698b088306868b888889860887788d89058bc38d
+afb2c5898b1e8d8d8f9e058d90878e878b0882067281949d1f8b908c908d9208abf7
+1e05dd8a9066915090609645a28b08b3a0405d1f84a407a4f71b058c8d8b8d8b8d8b
+997f8c7d8b798b738e78f71283bc64a0678bac90b7b0aebe9ba199a0988b08928b9c
+839d8ba08b9e9e8f9f8c8e8c8e8b8f8b9c7e976e8b6d8b6870604e4e346a7d578b08
+7d8ba6f7080513d892a89898ac8b089306908b8f8e8c9008909e898d058b51896468
+528d8b1e898987780589868e888f8b089306a595837a1f8b878a858984080e62fb7d
+b1ff00b76666ff0024999af7cbb0f70976f72fad01c6dbf712c603f70dfb3a15a85e
+b075b48bc08bb6a88bc28bff0031b333ffffe43334ff00364ccdffffd06666ff0021
+6666ff006db33290ff00803334ff0036e666ff001e8000ff008fb334a2f641b44c9f
+d5a6bfbd9cda089fea2aba328b518b687f378b0853fb43a78905b2dcb2d5f70a8bc6
+8bbe587d487f545b3dfb078b085f06808b8383888089809084968b08d106f7048b9a
+fb01805874fb002e60478b428b74ad84c888ab8398708b758b7c76867185709a70a0
+7608ff00136666ffffed6666ff001c8000ffffe9199aff00303334fffff6b333ff00
+32b333ffffe7b333ff001d3333ffffcb999a8bffffc480008b727271678b6e8b7a98
+76a2080efb2dfb7db1f82eaef734ab12d5caf704c69ad26fc813fcf4fb3a15a95eaf
+75b48bc18bb5a88bcc8bff0041b333ffffe4e666ff002b4ccdffffd0999aff001533
+33ff0073ccccff0011b333ff002cb334ff005633348bff003be6668bc65ea1788d08
+13faf79b0a13fcaf9c6d673e4c57515f769fa91f8b908c8e8b9008a6788e82817183
+641e8bffffda8000ff001c8000ffffe2e666ff00343333fffff74ccd08ffffff4ccd
+ffffff4ccd05cf81a66c8b398b727366668b6e8b7b9875a2080ecf8aa8f8c5ca69a7
+1213c0f8e6a715538b83ad59f7050856f70c0580a773a4728bd8a3bee7abc6a3b8a8
+a0958ba68ba172a58ba08ba49d90a30893079f7d9d5d1efb008b62327d6e7256614b
+4f6c6f7d5a8a668b08aff75f0513a090a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc
+8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d
+8f9e058c90878e878b087106638b7e9891a908b9f79905c28ba870aa3e08c2fb0d05
+cbfb20deac8dfb2108a78b9ff729058b8d8c8e8b8f089088917a1e0e4c8aa8f7e3d1
+6ca812f848bb13d0f6d315846e7e7c6a8b088306868b888889860887788d89058bc3
+8dafb2c5898b1e8d8d8f9e058c90888e878b0882067281949d1f8b908c908d9208ab
+f71e05ea8b9265965091629b45b87dab8195618b648b828a838a8308a28ba5f71b05
+8c8c8b8d8b8c8b9a798d818b658b78e685b182bc5da0638bb190b9b0b2be9ca19ba0
+988b08948b9d839f8ba38b9f9e8f9f8c8e8c8f8b8e8b9c7f976c8b688b66705c4e4a
+34637d528b08788ba6f7080513b092a89898ac8b0893068f8b908e8c9008909e898d
+058b51896467538d8b1e89898678058a868d88908b089306a595837a1f8b878a8589
+84080eb48aa8f7bbb6f774c86aa71213e0f7e1f70d15a5f72c059874916d9463a3fb
+029e46db8a08d48a8c8d8f9e058c90878e878b088106678b5fd669f7197cc47fb751
+90089007d7ababeaa0c695a8a5a7a28b988b9684948092829a87978ba08ba69c8fa4
+8b8e8c8d8b8d08a17ba05c1e448b4e5a78517b5a774b5a6608a6f7305f8b6bfb4605
+72866d8a718b08b0f7640513d090a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a878b87
+0832fc8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b
+1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c8f8c8f08b7f79005ad8aa4
+879d82086afb50050e878aa8f74aadf715d063a81213e0f7c6d315a8f71105b67a90
+6e926592629844bd8a08d48a8d8d909e058d92848c868b088306668b79e683b182bc
+69a0558bc093b1bda4b199a19fa7958b938b958a8f8792879686958b08a08b9f9d90
+9f8c8f8b8f8b8e8b9e7d9a6b8b5b8b65546d5e70646d63567d08a3f45f8b72fb0248
+8ba5f7060513d095b4a18ea78b8f8b908e8c90088f9e8a8d058b53896467488d8b1e
+888987780589868e88908b089e06a594827a1f8b868a858a840848fbb505846f7f7e
+698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c9088
+8e868b7b8b708c8ba68b8f8c8f8c9008abf72105a58ba18a9d88086cfb1a050eb48a
+a8f85fb2cbc86aa71213e0f8db8a158c8d8f9e058c90878e878b088106678b5fd669
+f7197bc77eba468be0a4aef1a1ca95a8a5a7a28b988b9684948092829a87978b08a0
+8ba69c8fa48b8e8c8d8b8d8ba17ba05c8b448b4e5a7851795373404a6b707d5e8a67
+8b08a1f70df08b91b2278b93bb0513d090a79c9bb48b08a506908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a
+878b8708825b328b8464e48b42fc3405866f7b7c628b087006868b88888a86088878
+8d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c
+8f8c8f08b7f79005f703899562a127a3fb029e46db8a080e398aa8f74aadf715d0af
+ad01f756d015acf72105d5859466955593629744bd8a08d48a8d8d909e058d92848c
+868b088406668b78e684b181bc69a0558bc093b1bda4b199a19fa7968b928b958a90
+8791879686958b08a08b9f9d909f8c8f8b8f8b8e8b9e7e9a6a8b5b8b66546c5e6a5a
+645a3a8b08c1f77ef7318b93adfb318b0599bdabc3d6b40880a00539656b62786f88
+a77cb849ad08777605b66c99648b648b7e897e887f08408b8369d78b2dfc2a05846d
+7f7d698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c
+90888e868b0883067280939c1f8b908c908c91080ef7538aa8f8c5ca5fb16fa71213
+c0f9798a158d8d8e9e058c90888e868b088106678b61d767f7187ac77ac9468bdda4
+bde6abc59aa7aaa8978b998b9786968497849785998b08a08ba49d90a30893079f7d
+9d5d1e358b645769516d58664c4d6b707e5e89688b08acf75505139090a79c9bb48b
+08a506908b8f8e8c90088e9e898c058b2e8a671e488b0513a08a8c528b051390fb1d
+8b5bfb3b9d8b0599a89da9a3a90813a0999ea2a0ac8b08f60691868e848b818b878b
+878a870833fc8b05866f7a7c628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f08baf79f05
+f70a899252a228a5fb009c44db8a080eaa8aa8f7e3d16ba91213c0f799f7fa154efb
+b505856f7f7e698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d
+909e058c90878e878b0883067180939d1f8b908c8f8c9108aaf72105ea8b92659750
+93629944bd8a08d3898e8d8e9c058d92848c878b088006668b77e983b182bc5da063
+8bb090b9b0b1be9ba19ba0988b948b9e839e8ba38b9f9e8f9f088c8e8b8e8b8f8b9c
+80976a8b698b66705e4e4b34647d528b08788ba3f7080591a89898ac8b089306908b
+8f8e8d90088f9e0513a0898d058b5189641e558b6f8d758b408b5dfb1a9c8b05bbf0
+a98cc18d088c069e8992828b7c088b868b858985080ef71f8ca6f7bcb2f793a701f8
+fea603f8948c15cb8ab1388f6708a68ba3f711058e987e92848b087a067583909b1f
+8b928c938d9508edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860862
+fb67fbda8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a68
+63358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a
+05856f7a7b628b087106868b87888a860888788d89058be88daeb3e1898b1e8d8d8f
+9e058c90888e868b0871066a7d94a01f8b8f8b908c9008bcf790f7db8b5afb900585
+6f7a7b628b087106868b88888a860887788d89058bb68dac1e0e8b8aa8f74cadf730
+a801f8799f03f86fd515cbf7ac0595b49392ad8b08a4068f8b8e8d8c8e088fa18a8d
+fb05892a8d89898675058a878d8a8e8b08a006a494867b1f8b858982887f0872fb00
+fb608ba4f7010595b39392ad8b089f068f8b8d8d8c8f0890a08a8dfb0088248e8a89
+857505878c8a8f1ea506a493867b1f8b858a828980084afbac0582658483678a0871
+06888b89898a880886758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b
+1f8b928c948e9608aaf71df7618b6bfb1e0582648584678b087606878b89898a8708
+86768d89cd8c05e79434711f9f8ba7f70d058c8d8b8d8b8d08948590801e7a067683
+909a1f8b928c938e96080ef7b88aa8f7bcb2f787b36fa712fa1fa613e8f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e05
+8c90888e868b087106697d95a11f8b8e8b8f8c9008e3f88a058d928d918e91939598
+8e9a8b08dc06cd8b9e568e4308a68f0513d893f735056c8b6c89658b0813e87d8b7a
+8d7b8b088a8b678b056c8a638b768b0813d864348c8b1f898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050ef7378ba5f74eb2f720b270a612f97ba713e8f8e0f84215868a4d
+890513d8288e867505888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8b
+a2f20595b49392ad8c08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e
+8b08a406a48a94868b7b8b8489828980084bfbab05816585826689087206878b8989
+8a88088676f48df7018990a0058e8a8d871e7606738c828f8b9c8b928c938e9708ab
+f71df76a8b6bfb1e0582648482678a087606888b89898a88088675ee8df7068990a0
+058c8e8a8e878b0871067382909b1f8b928c948e9708cbf7ac058f9b8f9690930813
+e8918c928c928b08dc06cd9c56431fa78f0513d899f734056b8b6d89658b7c8b7b8e
+7a8b080ef828fb40a8f722a8f7cfa9f77bb273a612f892a28fa3f7c2db13effa3ee8
+158fa08ca08b9d8bf743fb33b4fb198f08aff75d0590a9a599a78c08a80690908f8f
+1f8f9e0513f7f7710a13eff7720a13f791ac9296aa8b08f78a06a391827b1f8b858b
+858a840835fc7c05866f7a7b628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008bbf7a305
+f70d85eb5f8bfb218b76897486726efb3d3d523f8b5c8b6e997a9e7e99849d8b9f8b
+908b918c9008738b70fb2ca28b058c9091a88d908d8e9291958b9a8b9d71dd8b08f7
+128bf702f70aa5f727080ef776fb7eadf75aa5f73fadf735b273a612f7f9e0f769dc
+13f6f750f7f5154afbab058368847e6689086d06878b898a8a88088675f7048df708
+8990a0058c8e898d878b086d06728c82918b9b8b928d938e9708cbf7a90593aea08f
+a08b08f714069c9c89751f8b878b868985084bfba9058368857e6589086d06878b89
+8a8a88088675f7048df7088990a0058c8e898d878b086d06728c83918b9b8b928c93
+8e9708a7f70d05d586d16c8bfb028b768973856f74fb006047428b508b84ae8baa08
+9807a17d96741e758b787c856e8a878b878b868b62b45bec8bf70b8be3f700a6f710
+8fa28ea08b9d8bf71efb0fa72d8e08a7f7110513ee95b49194b08c08a9068f8e8d8f
+1f90a0fb09870513f6408cfb1a8b408a0513eefb048f8775058a888c898f8b08a906
+a48a93878b7a088b848981897e080ef707fb28b3f894b1f746b212dfe6f70ee1f76a
+d550a313fcf81ea31583ac88af8bab8bad8ea88f9ea1f713b9d1c88bc48ba0688b4b
+8b70876a84660876fb0afb02534e8108f71dfb1815468b65b676c2f71499f702dea4
+f71e8e9f8da08ba08bdd68d4fb028bfb158b45fb0373fb1b877689728b70088b6d8e
+6b926c2ba467dc8bef8ba98ea991aba1f712f702f73af70b8bb08bac889e57966e95
+7ca68b08a18b9a9f8f9f0892078b9e7f9e7a9a769f649d4c8bfb338bfb46fb296bfb
+49866d886f8b708bfb25da2ef72f7ca73fc74cf7068b08cb0613fa9c967c7c1f8b86
+a38d058c9e8ea98e9e90a691a692a708768d0584647863388b080e87fb08a7f7fba5
+f710a712d6d9d9d6f742cf56a813fcf7cc8f15869f8aa08b9f8ba78ea48e999cdab3
+c7bd8bb88b9b728b628b7888758672087938465c428608f7042f15518b6ca97cb2f5
+94ebc5a0f18e998d988b968bcb62b8398b2a8b46447526877b89788b76088b788d77
+90784a9e77c18bc78ba58ea791a59bd6daf70eea8bab8ba9899c6794779481a28b08
+9e8b98988f990890078b9881997c9578996998548bfb1b8bfb172670fb1386748975
+8b778b28c54cf7067fa155bc5feb8b08c30613fa9996717e1f8b87a88d058b988eb2
+8e998f9d94ad919e08708c0586707761428b080edefb7db1f74bb4f8e4b001e1e5f7
+4ec6f774aa03f76ffb3a15a85eaf75b48bc18bb5a88bc28bbc6fc25cac089306eb8b
+ecbbdfe408769a05373d426a2e8bfb158b54f7028bf70d8ba38da490a4aef75ff731
+dfda8bf7268bb13d922808aa8f92f73905508b6eb8fb0f8bfb398bfb48fb2668fb59
+877589758b768bfb08c421f7156cc476ac538b4b8b727371678b086d8b7b9875a208
+0efb32fb79b2f8ecad01e3dcf70ec6c0e103f728fb3515a85eb074b48bc18bb4aa8b
+cb8bca72b560a2c494c2abb5c808819305605f56725a8b448b62bb8bdc8ba08ea291
+a5a4f700cbcfd38bc38b936b8b6e088b7a8b8905789b7fa11e958ba79093af8c908c
+908b908bb662b92c8bfb0c8bfb01fb006efb10867689768b788b40ae4ed678088a8a
+05ce82a66c8b398b727465668b6d8b7c9974a2080e8c8ba7f8d0b212f7eba6f791a6
+78a413e8f7e3d615e0f8770591ac9994af8b08da06c28b9a80913b08a4900513f085
+f72f70850584867a7c1efc4106818892931f8b8e8c8f8b8d0872914ffb2fa28605ad
+db9e96c28b08e606aa9784771f8b878a878a860835fc7c05866f7b7b628b08710686
+8b87888a860888788d89d68c8c8b05d88bac3f8d4508a68ba5f72b058e987e92848b
+087a067485959a1f8b928c938c95080e308ba4f7ffb28b9612f39f95a4f7219ff730
+9f13def7b3d715cef7ccd28b05ba8f85621f8b6c8b849f8ba8f71f0513be7187058a
+8583867d8b0813defbc00613be7c8b86908e9108728f6dfb1f9f8b0513deafd78394
+bd8b08d88b48fbce0583648382688a086206888889881f8675e38d8e8b05ed8b8b2f
+8d72089f8ba5f710058e988293818b087a067583919b1f8b928d938d96080e6788a5
+f8e8a601f7d4ba158c928d928d9308bef774f769f7ac05939591938d8e9193949196
+91918e948c9a8c089f068d8b8e8c8d8c8d8c8d8d8c8e088e9b8c8e888b05838b4088
+888b828b3d8e888b08888806877a058a888b88908a08a806998a918a8c898d888b89
+8a868b898a89888789868784838108fb48fb7e36f77e058a8f8a9288968b8e8a8d8c
+8e8c8f8c8d8f8f8d8d918c9a8c08a8068c8b8d8c8c8c088e918f9b8b8e898b057f8b
+2988878b818b308e878b08898806877a058a898d898d8a8c8a8c8b8e8a089806988a
+958a8e88938690859082089176f1fbb85afb68058982898489858884868484868789
+83897c8b086e8a898b05878b8989898608877b8b888d8b05978ceb8d8e8b968bee88
+8f8b088d8b8c8e8e9b8c8c058f898d881e898b6e8c057e8b838d888d859089918c93
+080e98fb7aa8f8efa801f76afb3115856e7e7c698b087806868b87888a860887788c
+89058bd08daeb2cf898b1e8e8d8f9e058c90888e878b0878067182949d1f8b908c90
+8c9208aff731f77cf7fa059da79e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c
+89827f3c8d8b1e8989867705888b87901ea8069c9189841f8b8a8b8a8a898a85837d
+868208fb5bfbcc51f7cc05899589988d918d94928f9e8b08a706908b8e8f8c8f088f
+9e8a8d058b2489857e2f8d8b1e89898677058a85918a8f8b089706998b94898f8897
+8391798e7e08d6fc06050e778aa8f74ab3f804a701f801f76615f7378b93b3fb388b
+94b6f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e3c
+8c8b1e898a8777058a888c87908b08a8069d9189831f8b8a8b8a8a898a868682807d
+08fb40fb7f2cf77f05869989948c918d94928f9e8b08a706908b8d8f8c8f088f9e89
+8c058bfb008a857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f889783
+9280927708f705fbb9856cfb338b8463f7328b70fb1e05856f7b7b628b087006878b
+87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b0871066a
+7c94a01f8b8f8c908c90080e98fb7aa8f75db2f7ffa801f76afb3115856e7e7c698b
+087806868b87888a860887788c89058bd08daeb2cf898b1e8e8d8f9e058c90888e87
+8b0878067182949d1f8b908c908c9208aff731f7448b94b2fb348bf763f7d3059da7
+9e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c89827f3c8d8b1e898986770588
+8b87901ea8069c9189841f8b8a8b8a8a898a85837d868208fb5bfbcc51f7cc058995
+89988d918d94928f9e8b08a706908b8e8f8c8f088f9e8a8d058b2489857e2f8d8b1e
+89898677058a85918a8f8b089706998b94898f88978391798e7e08cbfbd3fb348b82
+64f7458b8e7f050edf8aa8f8e2a601f7e6edf733a603f89d8d15d08b8d388e6608a6
+8ba3f712058e987f92838b0886067d8b7d9e79ac08fb18f77c05849588958b930890
+078d949194969708f745f75205b5b8a393a88b089b06938b8c8f8c8e088f9f898c05
+798b418a868b7f8b498c758b08898a8777058a868e898f8b08a906998b9288898289
+84847e7e7d08fb37fb430584838787878b878b898f87920831f74405849786978b93
+088e078d92918f9c8b08b3068e8b8d8d8c90088f9f878c056c8b308a858b818b4a8c
+728b08868a8777058985928a908b088d06ab8b96799d6c08f713fb750590818f848b
+838b8a8b898a898a858783828208fb57fb66056d6b6c76688b087e06868b85898a86
+0887778c89058bda8d909aec898b1e8e8d8f9f058c8e8a8e878c0878067a8290941f
+8f078d939195979808f73cf74905939491908e8b8f8b8e88908308eefb5005927d91
+818b8408807f88751e7306878b88888a870887778e89058bcd8eae1e0e398aa8f80a
+a801f83e9f03f7ea16da904b691f8b7f8b889f8ba7f70d058b8d8c8d8b8d08948590
+7f1e7a067a8b858d76b70846f727058a8e8a8d8c8d8b8c8c8d8e8d08f70cf70e05af
+af9d96ab8b088f06918b928c8c9208909e8a8d058b59896b6c5c8d8b1e8888867805
+8a868e898f8b089a069d8b8d8989838a858782787708332f0586868988898b888b8a
+8e88910863e705859a88948b91088d078d9290909f8b089a068f8b908e8c90088f9d
+898efb0389378d8888877805878f88921e8e06ad8b987a986d08cdfb26058c888c89
+8a898b898a89898908fb0dfb0e056d6e787a6c8b088206828b86878a8508877a8d89
+058bba8da8adbe898b1e8d8d8f9e058c908a8e868b087d067a8b858d8d948c909092
+9e9f08e0e7058f8f908f8c8b8d8b8d898d8608b33b05986b8f818b87088380897d1e
+7f06868b888889860887788d89058bb38ca51e0ef7c28da572adf8d5b268a612f8ff
+a778a3f714a61386f7f3f8d01534fc8505846383856a8a087006878b86868a860888
+7a8d89f7018e051346bc8cc68bc38b081396f705f28a8b1fd88bad418d4408a68ba5
+f72b058d987f92848b087a067485949a1f8b928c938c9508e2f8830592ac8f97af8c
+08a9068e8e8d8e1f8fa1888cfb078afb008c898a8775058a878d8a8e8b08a906a58a
+93848b7c8b858a8389820835fc7d051366856b857d688b08fba20674818e9f1f8b91
+8c938d9408e1f87d0591ac9894af8b08cc06c28b9a80913b08a3900513aa86f7306f
+840584877a7c1efc2406818892921f8b8f8c8f8b8d0872924ffb30a18605aedb9e96
+c28b08d806a89883771f8b878a868a86080ef7348bb264a7f80aa8959612f19f95a4
+f7d19ff7309f137ff817f82515af06ba8f86611f8b6d8b849f8ba8f71f7187058a85
+83867d8b08fbc0067c8b86908e9108728f6dfb1f9f8b05afd78394bd8b08ac06a494
+867a1f8b858a838980084efbb00583648487688b087b06888889871f86768d89e88c
+0513bff7da06f08b8b2f8d72089f8ba5f71005137f8e988293818b087a067583919b
+1f8b928d938d9608c6f7aa0594b49392ad8b08a4068f8e8d8e1f90a18a8dfb058929
+8d8a898675058a878d8a8e8b08a006a494867a1f8b858a8289800852fb9e0513bf84
+69847c668b08fb5e067183919c1f8b928c938d9608c4f79f0594b39591a98b080ed4
+8ba5f76bc5f7d4a601f73adcf7c3a603f8b2d515e4f88b0592b09190ad8b08a9068e
+8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b1f8b868a8389
+820864fb7205455548896d8b4d8b689f8bc48b958c958d9708a9f73e0590aa8f96b5
+8b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e9d06a8958779
+1f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93e9dc085dfb95
+058569857e688b086306888b89898a88088875d38c8d8b05d78bac3f8d4508a68ba6
+f72b058d987e92848b087a067485949b1f8b928c938c94080e5e8ba7f702aff778a8
+01f721d4f7849f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e1f90a18a8d
+fb05892f8d8989867505878c8a8f1e9b06a395867a1f8b85898289800870fb110565
+676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a068f8e8d8f
+1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589838980087d
+4a05877788778b798b56a262d58bbf8bc499babe0870fb130582648582678b087b06
+878889871f87768c89c98c8d8b05ee8b8b2f8c72089f8ba5f710058e988293818b08
+7a067584919b1f8b928c938d96080ed48aa6f76bc5f7d4a601f740dc03f7f2f71315
+a2f70f05b295b8a1c3bb0859fb95058469857e678b086406878b8a898a88088775f7
+118df706898ea0058c8e898e888b086e067283919c1f8b918c938c9508eef88c0592
+b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a888c898f8b08a8
+06a693877c1f8b858a8389820860fb720558645a7f688708b5f76b5e8b62fb6c0554
+8d6ca08bbf8b958d968d9808acf73e0591aa8f96b58b089d068f8b8d8c8c8f088fa0
+fb018a208c87768a8a05888e8a8e1e9d06a894877b1f8b858a848982086bfb3a0588
+7a89798b7b8b47ac57e78b958b958b958c0875fb07050e5e8aa8f702aff778a801f7
+25d403f7bdde159bcd05a894a89ca5a7086efb130582648582668b087b06878b8989
+8a870887768c89058bc98db3b1c2898b1e8d8d91a1058e8a8d881e7a067282909a1f
+8b928d948e9708cbf7aa0595b49392ad8b08a4068f8b8d8d8c8e0890a18a8dfb0589
+2f8d89898675058a878d8a8e8b089b06a494867b1f8b858982887f086efb11057173
+717a6c8308abf71c5e8b6afb22888b05637e9dab1f8b9c8fa090a3089cd50592ab95
+95ac8b089b068e8b8e8d8c8f0890a08a8d2488368e8a89857505878c8a8f1e9306a4
+93867b1f8b858a828880087c4a05867688768b778b58a164d48b948b938c948b087e
+53050eec8aa8f803b9f745a701f8b2de03f78df7d415dbbddaa4aa8bcc8bb16f8b51
+8b808980897e0864fb5e05856e7e7c678b087d06868b88888a860887788d89058bcc
+8db2b5d5898b1e8e8d8f9e0590878e861e77066e81959e1f8b8f8c908c9108b3f766
+058f9d8c9b8b9b8bd264b1398b4c8b3c74235408b3f7670591a79c9bb48b08a50690
+8b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506
+ac9981761f8b878b878a860829fc8b05866f7a7c628b087106868b87888a86088878
+8d89058be88daeb3da898b1e8d8d8f9e058c90888e868b087806697d94a11f8b8e8c
+8f8c90080e798aa8f7a5bac1a801f849d503f755d315b0f73105c5babca4a78bb88b
+a67f8b5d8b7f897e887a086dfb1505846e7e7c6a8b087806868b87888a860886788d
+89058bcf8dafb2cf898b1e8d8d909e8b8d058f888d871e78067281949d1f8b908c90
+8d9208a6f70a0590a18d9e8b9d8bcc6aad528b648b4d7c394808a0e70592a7989bac
+8b089b06908b8e8e8d90088f9e8a8d058b4a896764478d8b1e89898678058a868e88
+908b089e06a49582791f8b868a858a850849fbb205846e7e7c698b087806878b8788
+8a860886788d89058bcf8dafb2cc898b1e8d8d8f9e058d90878e878b087b06728194
+9d1f8b908c908c92080ef78a7fadf800b7f1caa8ad12e6b7e0e844e113f8f986f842
+15f7bb0a6efbc8154d58455a2e8b0813fcf7bc0a13faf7bd0a13fc877589738b758b
+fb1cd5fb13f74d8bf7018bcab0e7d4080e7a7fbcf75db2e6c37bad12e4b2bbddf777
+d613def7e3f7a9155406b5f70ed794a28ba98bad7b8b508b7f8a7d877b8a82858681
+8b08fbe2ba1513ee91a4a79e9f8b9d8b9b9b8e9a8c8d8b8d8b8d8b978192808b628b
+54587e528a848a858b85085db77ec81e877e877f887d877788778b788b37b847f704
+8bd38bceb0bcbf087a9b0560656479558b4d8b5bc48bda8b9a8c9a8f9a8c938d918d
+9108c68bf7608b05968b93918e968f9e8ea08b9f0813decd6dc8271e3d8b2e4f5922
+5d8d68948ba68b8e8c8e8b8e080ef78afb65b1f733adf800b7f1caa8ad12e6b7e0e8
+44e1f716c813fc80f986f84215f7bb0a2cfcd0157d92057175787d6d8b6b8b78a18b
+a28b8d8b8d8c8e95c8b7b3c7b4ae9dada4b3ab0879a3054d58455a2e8b0813fe80f7
+bc0a13fd80f7bd0a13fe80877589738b758bfb1cd5fb13f74d8ba38ba28da08f5f68
+676183618a858b858b858b60ad74bb8b08b48bb4a1b0b8080e7afb64b2f731bcf75d
+b2e6c47aad12e4b2bbdda1c9f723d613ef80f7acf7a915b5f70ed794a28ba98bad7b
+8b508b7f8a7d877b8a828586818b08fb1406f726fc36157e93057074787e6d8b6b8b
+799f8ba28b8d8c8e8b8e98c8c0b8beb2a199a09c9d9e087a9b0560656479558b4d8b
+5bc48bda8b9a8c9a8f9a8c938d918d9108f79b06968b93918e968f9e8ea08b9f8bcd
+6dc8278b3d8b2e4f5a235c8c68958ba68b8d8c8e8b8e0813f78091a5a79d9f8b9d8b
+9b9c8e998c8d8b8d8b8d8b978193808b628b54587e518a858a848b85085db87ec71e
+877f877e887d877788778b788b37b847f7048b978b978c968d61696963826289848a
+848b850861ac75ba1eb48bb5a1b1b8080efba587a5f8e8a601f782f8e6158a878a85
+898008fb09fc8e058983898389868883878583868788838a7d8a086d06888b868a89
+85088778058bd08db7b9d1898b1e909d058b8f8b8e848c086e067e8c838c888e8690
+89918b928d928c928d9308f708f88e058d938d918d938d92909093918f8e948d988b
+08a906928c8d908c8d088f9efb0988fb048e8677058a878d89908a08a906998b9289
+8e8890878d858b82080ef7ba8aa8f7bbb6f774c86aa7bfb112f7b1adff00938000d4
+13ceff02b98000f9a215f78d0aff00868000fda3158c8d8f9e058c90888e878b0882
+066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca0813ee96a8a3a79f8b978b958492
+8091829887978b9e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b084c8b525a79517853
+7240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44ccc0513de
+f78f0a13eef7900a0ef74c7fc4f73caef71bc5b3b201f791cfff003cb334d0ff0033
+4cccd203ff0262b334f8ca15f79d0affff354cccfb6515f79a0a0eb6fb40a8f722a8
+f7cab6f764ca69a712f71ea28fa3f7cbdb13f7f8d3e8158fa08c9e8b9d8bf7162fc2
+25a0088906858c868c868cd9a6bbe3aac49ba7aaa8978b988b988696849784978598
+8ba08ba59d8fa3088c8e8b8d8b8e8b9f7d9d5c8b358b655769516c58674c4d6b707e
+5e89678b08adf7550513ef90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8b05866f
+7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c
+90878e878b087106697d94a11f8b8f8b8f8c8f08baf79f05f71af70b66fb2d1f8b77
+887587746dfb3d3452408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb
+2ca28b058c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf70af70aa6f72708
+0e6bfb7eadf75ba8f73bbcf70bd16ca812e0e1f779dc13f6f7bff775158e8c8e8b8e
+8cb091b9afb1be9ba19aa0998b948b9d839f8ba38b9f9e8f9f8c8e8b8e8b8f089c80
+976a1e698b66705e4e4b34647d528b08778ba4f7080513ee91a89898ac8b08930690
+8b8f8e8d90088f9e898d058b51896467478d8b1e898988780589868e888f8b089e06
+a694817a1f8b868b858985084efbb505856f7f7e698b087806868b88888a86088678
+8d89058bcf8dafb2c4898b1e8d8d909e058c90878e878b0883067180939d1f8b908c
+8f8c9108a6f71205deec6ffb111f8b778976867274fb004e47428b508b85ae8baa08
+9807a17d96741e748b797c856e8a878a878b868b62b55beb8bf70c8bf4f700a6f710
+8fa08d9e8b9d088bf7092db33397080ef72cfb55a8f737a8f7bcb2f793a701f8a2d2
+156efb3d3c49408b5b8b6e997a9e7f99839e8b9f8b908b908c9008738b70fb2ca28b
+058c9091a88d908e8e9191958b9b8b9c71dd8bf7128bf702f70aa5f72708e3f88a05
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878
+058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a7
+9c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a
+868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a86
+0888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f
+8b8e8b8f8c9008b7f790f7db8b050e8bfb59adf736a8f74cadf730a801e2e003f822
+d51573fb0852fb0d3c8b518b83ac8baa089a07a17d95741e748b797d856e8a878b86
+8b878b62b45bec8bf7228bd5f70dabf72a08c7f7ac0594b49392ac8b08a5068f8b8d
+8d8c8e0890a1898dfb05892a8d8989867505878c8a8f1ea006a494867a1f8b858982
+89800874fb00fb618ba3f7010594b39392ac8b08a0068f8b8d8d8c8f088fa08a8dfb
+0088248e8a89867505878c8a8f1ea406a594867a1f8b85898389800850fbac058265
+8583678a087106888889881f86758c89f38df6898c8d90a0058f8a8d871e77067281
+8f9c1f8b928d938d9608a8f71df7618b050ef71f8aa8f7bcb2f793a701f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88daf1ea08bae8aa78b0854fb
+10b68bcff72c7b8b718b05697d95a11f8b8e8b8f8c9008e3f88a0590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050e8b89a9f74cb2f72ca601f889a7158a89057b8c85918b988b928c
+948e9708cbf7ac0595b49392ad8c08a5068f8b8d8d8c8f0890a0fb0788288e867505
+888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8ba2f20595b49392ad8c
+08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e8b08a406a48a94868b
+7b8b8489828980084bfbab05816585826689087206878b89898a88088676f48df701
+8990a0058e8a8d871e7606738c828f8b9c8b928c938e9708abf71df76a8b6bfb1e05
+82648482678a087606888b89898a88088675ee8dcd8a54fb0fb78bc1f70e908b90a0
+8b8d8e92050ed48ba5f76bc5f7d4a601f73adcf2a603f8b2d415e4f88c0592b09190
+ad8b08a9068e8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b
+1f8b868a8389820864fb7205455548896e8b4d8b679f8bc48b958c958d9708a9f73e
+0590aa8f96b58b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e
+9d06a89587791f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93
+e9dc085efb9405866c8579698b087b06848b7c84897e0870fb2ba68b05a5d1c8d7d6
+8b088d8bd38a8fa1058c8e8a8d878b0864067084929c1f8b928c928c94080e5e8ba7
+f702aff778a801f721d4b19f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e
+1f90a18a8dfb05892f8d8989867505878c8a8f1e9b06a494867b1f8b848982898008
+70fb110565676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a
+068f8e8d8f1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589
+838980087d4a05877788778b788b57a262d58bbf8bc499babe0870fb13058367847f
+6b8b087b06808b7f83887e0871fb109f8b0597a4b3e7ed8b088d8bc98a8d8d90a005
+8f8a8d871e7b0671838f9c1f8b928c938d97080ef589a8f76ab5f80b77c2b101f814
+d403f7c7f7af153d0afbcdfb6015b30af85af94e15f78d0a0e4081c7f7faaabdb201
+d9dbd9d09dd903f82ef845156e0a59fb6a156f0af4f7f715f79d0a0ef589a8f76ab5
+f80b77d3e601f802e7d0e703f7c7f7af153d0afbcdfb6015b30af797f96615a00af7
+358c15a10a0e4081c7f7faaae3e712d9dbd2e78dd97fe713f8f779f8d115d20a13fa
+f73416d20aa0fb2015d30a13fcd40a59fb6a156f0a0ef7a089a870b2f777b2a3adf7
+86b370a712f949aaf2a81333f7d3f7c515bb0a137b78fbc515bc0a1337fb3c8c0513
+3b898a87770513b7bd0a137387780513b38c890513738bc18dac1e13b3b1cc898b1f
+13738c8d8fa00513b3be0a137387790513b3bf0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0e6889a870b2f7b0b1d677f751b370a8b9b112f7bfd4a5aae3a7133bc0
+f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513b3c08d8905
+1373c0490a13b3c04a0a137bc04b0a74f71715f78d0a0efb3481c7f7faaabdb201de
+debfd0cfd003f7f7f80615750afb50fb3f15760af7acf80b15f79d0a0ef67fadf756
+b7f800ad01f1d5f857e903f744f76c15f72f0ab9f7c715f7300a0efb1081aaf806bb
+01e7d1f75bde03f736c615f75f0af75af73f15f7600a0ef67fadf756b7f800adbbe5
+01f1d5f72fe8ece799e903f744f76c15f72f0ab9f7c715f7300af713f76015c50af7
+528c15c40a0efb1081aaf806bbe1e612e7d1a5e7d0e73bde13f8f736c6158beaf709
+b6d89168fb2b506c5b8b08677b94a81ff75af73f15fb9958843a8b6508689d68dc1e
+13faf73fddf73ef713e06fce251f3a8b5362533e90809086978bc1c5aca7bb8bb88b
+b1678b308b868b768a8308fb0af81615a00af7358c1513fca10a0ef7ba8aa8f7bbb6
+f774c86aa7c4e612f7b1adf70ae7d0e713eff9d48a15f78e0a13dff78f0a13eff790
+0afba7f9ae15a00af7358c15a10a0ef74c7fc4f73caef71bc5dfe612f791cfa6e7c9
+d24be713fcf826f8fc15f7be0af7358c1513fda10afb2ffb981570fb01468b0590a4
+8fa48bad8bc573be5f8b628b54605c5a08977205a2a1b5b0a48b08a6996658fb1a44
+fb085f1f6b8b7aa67e8b08738073777aa174a31fcb8bf704e0b3f72008d28affffde
+ccccfb2005fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b199a
+fffff58000ff001fcccc8bb08b8ab7ff0008e666b108ff0022199af721d18b0513fe
+7e5d86608b6e8b54a357b88bb08bcdb5b7c00880a3057473606a728b086d7ebdbbf7
+10cdf702b41f998b8d8a9c789284928a978b08999a97ac9f76a1771f588b27405efb
+0a08408ba4f3058f9d94a98b978b9c82956c8b658b8c5f8265080e627fb0f7cbb0f7
+0976f72fadbde601c6dbf0e7d0e703f7baf9b315a00af7358c15a10afb69fd9b15f7
+910a0efb2d7fabf757aef734abdee612d5cbbee7b5d25fe73fc813fc00f787f8fc15
+f7be0af7358c1513fd00a10afb9efcaa15a6788e82817183645eb46ad51e13fe00f7
+29c3efce1f8bc65ea1788d0813fc80f79b0a13fe00f79c0a0ebafb67b0f92e76f71b
+b301f727a5f7cee603f7adf91a15f73d0a0efb1bfb74a8f8deb201f7d7d803f763f8
+42157d8b868d8c948c8c8b8d8c8e08758f48fb2ca48605b2dfab98a98b08f7228bfb
+73fbb105a2909f8d9d8bce8bbb5a8b4a8b818a80888070fb09295e5a8b628b75a283
+a284a07c91748b08768b807d877b8a898b898b898b6cbe68e18bf7248beeeba1eb8f
+9d8d9c8b9b8bd75bbc2b9308f74df78005949891958d91088e0792858e7c1e0ef71f
+8aa8f8e2a7d3b701f94bf8d215f7bf0a7ff91b15988b9a9d8d978c8c8b8c8b8c0891
+8890831efb88067f8b7d7a887f8a898b8a8b8a08858e86921e0e6381c7f7ddc7c7b7
+01f70cdaf736d903ff01e6e666f88715988bff000eccce9dff0002666497ff000133
+3491fffffd999c93fffff5fffe8b08fb8906808bfffff180007afffffd999a7fffff
+fe999a84ff00024ccc83948b08ff0107199afb2715940a0ef71f8aa8f8e2a7bfe601
+f7eee8ece703f94bf8d215f7bf0afb98f934158b888a888b898b769b7ba18ba48ba3
+9f90a48b8e8c8f8b8d8ba07c9b758b728b7276867208f7528c158a888b888b898b75
+9b7ba18ba48ba3a08fa48c8e8b8e8b8e8b9f7c9b758b728b73778672080e6381c7f7
+ddc7c7e612f70cdaff0036b333ff005c0001ff000f4cccd9ffffe7b334e713f8ff01
+33b334f8e21572ffffe2ffff756c75ff001000017ba1a3a9a1ab1fa07b9b751ef735
+8c1513faa10aff00254cccfb8315ee0a13fc826b83628b788b78927da98bbb8bb8ad
+b9c6889485937d8b716d6e77818b848b88908b97088b9490a191a5080ef681adf8ec
+adbbe512ff00576666ff005ae666ff00adb334e8ece7ffffef4ccce413faf848f904
+15c80af79bfbbb15590afbeef83a15c50af7528c1513fcc40a0efb0681b0f80face2
+e612d9dec5e7d0e731de13f8f7a5f8fd15f7be0af7358c1513fca10afba5fc5415e7
+0a13fae80a3883158d0a0ef71d7fadf780c691c6f785ad01e4e9f85de803f910f7e9
+15f7b30ae57f15f7b40afba2f7ba15f7b50a0efb0681b0f72cbd75b5f731ac12d9de
+f771de13dcf735f73e15e5b2f726f51ea98bff00104cccfffff0199aff000e3334ff
+ffe3e666ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813bcf7c00a13dcf7c10a3883158d0a0ef71d7fadf780c6
+91c6f785adbee501e4e9f73ae8ece794e803f910f7e915f7b30ae57f15f7b40afba2
+f7ba15f7b50a21f71615c50af7528c15c40a0efb0681b0f72cbd75b5f731ace1e612
+d9dec7e7d0e72fde139e00f7a7f8fc15f7be0af7358c15139f00a10afba7fc5315e7
+0a13de80ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813be80f7c00a13de80f7c10a3883158d0a0e9d7facf790
+c379bcf799b0bbe512d8d8f718e8ece713dff89af7c715f7960a13bff7970a13dff7
+980afb7bf85015c50af7528c15c40a0efb2d81acf731bc75b4f732ace1e612c4cacf
+e7d0e734d7139e00f786f8fc15f7be0af7358c15139f00a10afbaffca915a7798e82
+846e85645eb868d01eff0035b3338bff00338001ff000d4ccdff0028ccccff0021b3
+330813de80d1ff0039e666b6ff006680008bff0056999a8be158d02e8b488b897f4a
+8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a897a897b7f867d897d
+8b0813be80f7aa0a13de80f7ab0a0e9e75c9f8d6a7f70bb701ff02158000f99115f2
+0affffa98000fd6915f78c0a0e51fb7ec8ff02178000ff004c8000f717b701f871ff
+0048666803ff01be8000f8ce15f30af72afcce159a0a0e9e75c9f8d6a7c8e501f7d5
+e8ece703f75fb315f78c0af70bf95c15c50af7528c15c40a0e51fb7ec8ff02178000
+ff004c8000e1e601f773e7d0e78cff0048666803f7a9f8fc15a00af7358c15a10aff
+ffaa8000fcfd159a0a0e9e75c9f8d6a7cf7601f75fb315f78c0af7a3f9b215f7180a
+f7274c15f7190a0e51fb7ec8ff02178000ff004c8000f76a7601f871ff0048666803
+ff02079998f8fb15ff0003ccd0ff00129998fffff29998ff00126668ffffeb199a8b
+7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffeccce8affffff9998
+89ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff000266668d08ff00
+886668f70205ff0007333491ff0002800092ff000133309108ffff7d33349115f71b
+0affffdbb334fd01159a0a0ec68aa6f774c5f7cba6c8e501f742dcdde8ece703f832
+a515f7920a3ff96a15c50af7528c15c40a0e5d81ccd7bdf76aa79b77f5e612f724da
+5bff00558000ffffea8000e7a0d96de713c900f7b9f8fc15f7be0af7358c1513c840
+a10affff2a4ccdfffed733341513ea00ff000ab334ff0026ccccff00098000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e84
+5c85fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689ff
+fff2199a846f087c480513dc808673897a8b798b649872c08bff0039e6668bff004b
+999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd05846c81618b
+788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b97088b94
+909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81
+956b8b658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffffe16666ffffbf
+8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080e4c8ba8f8d5b370
+a712f75fa6f7d6a613d8e816d8ac3f451fa68ba9f72a058d987f92848b087a067485
+949a1f8b928c938d9508ecf8890590a59a91a18b08f71406cc8b9d568d4308a68f97
+f735fb878b3e8b0513b87efb068c8b1f13d8888a87770513b88a878e88908b08a806
+ad9784781f8b858a858984082afc8905856c797e648b087006878b87888a86088778
+8d89050efb228ba7f7fab76fa812f7619ff769a013d8f3168e06ea8b8d308c71089f
+8ba6f70c058e988092838b087b067583919a1f8b938d948e9608d3f7cef7048b05bf
+925f581f7ba007a4f72ffb628b658a0513b8fb038d88898675058a888d898e8b08aa
+06a493867b1f8b858a82887f084afbae05856e7e7c698b087306878b87888a860886
+788d89050ef7758aa9f7c4b3f789a7c7e512f825e875e6a7e713f2f9abf8d315f793
+0afc70f889152afc8a05856f7b7b628b087006868b88888a860887788d89058bf08d
+a71ea88baa89af8bf70d8bf7349cacf73b0813f68e9b8d9c8b9c08d460cefb5c1e4e
+8bb2f75d0591a99d99b28b08a6068f8b8f8e8c900813fa8f9e898c058b348a64682e
+8c8b1e898a8778058a868d88908b08a506ae987f771f8b878a878a8708adfb8515e3
+0613f6f4a74f531f8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d9308
+f75cf9341513fac50af7528c15c40a0ef47fad6bccf763c0dba79877f701e612f70d
+d67bff00558000ff002a8000e776d997e71324a0f7fef8fc15f7be0af7358c15a10a
+13a660fba2fce715f7a50afffff84ccdff012a333415132d20f7a60a13b620f79f0a
+13ad20f7a70a13ae60f7a80a136420f7f5fb4115f7a90a0efb6dd1b0d012edd25dd2
+13e0eefb4a158a888b888b898b7c967f9b8b9f8b9e9b8f9e8b8d8c8e8b8e8b9a8097
+7a8b08788b787b877808a4f61513d0f7c20a0efb6cd0b0d012c1d262d395d2c5d25d
+d213ccf7bcfb4a15f7c30aa4f61513caf7c40afb80201513d88b898a888b898b7b97
+809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a80977a8b788b787b867808ddf615f7c20a
+fb041613e88b888a888b898b7c967f9c8b9e8b9e9b909e0893079a80967b1e788b78
+7c8678080efb6dd1b0d054b412f793d25dd21390f794fb4a15f7c30aa4f61513c8f7
+c40a13a0fb817615f71e8b94b4fb1d8b050efb6dd1b0d053b512c4d2f716d25dd213
+98f797fb4a15f7c30aa4f61513d4f7c40a13b0fb967515d48b8160057c877e7e887b
+8a898b888b888b7c967f9b8b9f8b9e9b8f9e8b8e8c8e8b8d8b928991878f0897bec3
+8b95b5fb388b050efb27d001f716d303f717fb04158b888a888b898b7c977f9b8b9e
+8b9e9b909e8b8d8c8e8b8e8b9a7f967b8b788b787c8678080efb27d001d6d2b4d203
+f750fb04158b888a888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a
+8b788b787c877808fb0416f7c40a0efb6cd0b0d012dfd362d295d213d8f708fb4a15
+8a898b888b898b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977a8b08788b78
+7b877808dcf615f7c40afb041613e88b888a888b898b7c977f9b8b9e8b9e9b909e8b
+8d8c8e8b8e8b9a80967a8b788b787c8678080efb15b501dbf74103dbfb1515f7388b
+94b5fb378b050e22b501f708d203e02215d58b805f057c877e7e887b8a898b888b89
+8b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b92899187900897bec38b95b5fb388b
+050ef8e7d101f767d203f768f90a15f7c50a0ef8e7d101f767d203f768f90a15f7c5
+0a0efb6dd07bd07cd012b6d3a6d2a8d2139cf787fb4b158b898a888b898b7b96809c
+8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977b8b08788b787b86780827c1158b888a88
+8b8908135c7c967f9c1e9e8b9e9b8f9e8c8d8b8e8b8d8b9b80967b8b788b777c8778
+0828c1158b888a888b8908133c7c977f9b1e9e8b9e9b909e8b8d8c8e8b8e8b9a8096
+7a8b788b787c8678080ef76ed101f76bd203f76cf79115f7c50a0efb5ff71e01f714
+d103f7354a156afb1eb18babf71e050efb4ef836e201bff7a403bff83615f77b8bb4
+e2fb7b8b050ef8edb501dbf74103dbf8ed15f7378b95b5fb388b050efba29976f8d7
+7701baf75303ba8415c48bf71af8d7528b050ef8e5d001f87bd303f87cf907158b89
+8a888b898b7b97809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a7f977b8b788b787b8678
+080ef8e5d101f70dd203f70ef908158a888b898b888b7c967f9b8b9e8b9f9b8f9e8b
+8d8c8e8b8e8b9a80977a8b788b787b8778080efb659d7601bbf79303f775df1558a2
+82a183b77e7571614572b27b9f83954cb4ce998bc09f08d9f7e9155f9f7e8c81ce66
+5075805979be75928d9546a5b59da2cba3080efb7f8bef0174f7de03ccf7a4157631
+5d487f57846f89768b7d08f7918b82effb3e8b0596a793a394a89bc392d798c390a4
+a298a68dd48fbda895b38d978d948b938bb66b8b8b8b087d6a68896e8a5c895b837d
+4f7e528e4e7e51080e3ba0761294cc54f7075bcdf753cd13d8f87ff84e158c908c90
+8b8f8bac6d9576915e9a86968b940893078b8e8a8f878f8b8b68837b4689858b858b
+858b6f9e77b08165656e5f775c088a8dfb1ef762058397879a8b9c8b938c938c9408
+7f066e727a70847089828a838b828b759276987608a269054765653c805989838a82
+8b820813a88b6a95658b718b868a868a87887b757d7c89868a87858b868b8a8b8a8c
+8a08ef06a38baba992ab8c8f8c908b900813d88bbe4fbf8bbe8b908b8f8c9092a69e
+baafa008f756fbb105927f907b8b7a8b858a868a84ac8ba3b693aa8d938c948b938b
+a184a17da00859d20589938a938b938b938c938d9393ada4b5bdbda2898a65958b08
+908ba5be92aa080e2e8beff7d9f700b87701f80fc203f7baf8a91521066f82a1a21f
+8b8b58827a438a858a858b85086ba175b41ef72e06c2a585561f8b7286687f597d4d
+7457786108fbc68b5c27f8288bb9ef398b05c0c3a3e698c297c196b98baf08c96bac
+fb001e0efb769a7691ef1264f7d81360f784f7bc1593b1a5d893b08d948c928b928b
+b46993678b718b6a8b8dad8b8b5d817b478a868a868b87088b62bb839b88b185a684
+8b5c8b7d887986756cfb1d5263fb027873867f75807181768d7a8a8208f70f8ff701
+f72e928b0513a09e5a6efb07b98b9b9d8faa8ca10895078bca75c18bc6088b9a8c9a
+8f9a080efb0f9f76f832f601d7f81403f7e2f7b715a5f700d9739fde8c928c928b91
+08a87698661efb7206707d96a21f8b8b608579418a858a858b86086da07db61ef78b
+06485e5f447631805b845c7d4c8676837a807f089606a38bb8929eda9bd18fce9bd0
+080e389376f839f70001f829f7bc15a2efae8995b30890a3058d948c938b9208a17f
+97631efb8a06727da0a21f8b8b5d847a4189858b858b85086ca175b51ef7bb065a5e
+6a4d793d81617e3182618677837a7f7d08918105bb92aaab98c59acd87da9acd08fb
+ccfb1d1592ab9aa99d95088e9805878e858c858b5a8b69617b478778804f8779887b
+8279808208908005bc8eaaa894b2909e95ca909e080efba89a7601f763c303f70685
+15f7c60a0efba49d76f833f70801b0f79a03cbbe158675827a7e7d8b8b908a918ba1
+8bba959fe29bd37fd69dd990a097b69fb19884a281a08b08928b918c918d959696a1
+8d948e958c948b938bb26b95288e7a8f83968c9e8b8b61857a410889858b858b858b
+69a879c58b65546f497d4e7d518d4c7d51080e399c76f835f601f825f7bf15a2ecb4
+799cd78d938c938b9208a87899661efb8306707f9ca21f8a06868b5e897c4b89848b
+848b858b67a372c18b2f43793a75fb0d7f4c865c706c8b8b9189958b08a28bb5979f
+e099c989d89ac997c1a5b4b1a308f78d065b5e6749783c82617e3181618676837a80
+7e8b8b908a948ba18bb5959dd999c88aea98c5080e408beff7cbf70225f70012d2c6
+f7c3b413b8f712f82e15705f725a8161773598fb0a7c4408f7ab06cff709bdf49fe3
+96b98faf8ba88be3629d6c8b6e8b6b7871736a6e68565a4108a07f05d0dfae9eb88b
+b58ba2748b5f8b7e897d887c783b6943615108fb720681b985b78bb58ba58ea490a4
+91a5a0b49fb00813d8918b918a908b988b978d958e939990998f998d938c938b918b
+a57b996c8c6e8c7b968b9f088b8d8c8d8b8d8b8b648a793e89838a838b85088b6ba1
+80ac85080efbb7f833f501f74cc203f707f78715f7c70a0e35f82cf70001f843f7fd
+1593b19590948e9b909e9e91a68c918c918b92089f809e5d1efb85066d7c96a21f8b
+8b5f897b4489848a848b85086d9e78b21ef7918bfb22fcd58f8b059c8bb88e99db08
+0e298beff7cdf70001f80eb903f800f78c15752a62583d8b08fb668b5a27f7518b05
+f73a8bb8dfb5f74996be92b68bb008de6ab5431efb17066f7d96a21f8b8b5f827a44
+8a848a848b86086e9f7db11ef73906c29c6f5f1f8b71856b8368080e369576f83cf6
+12f709ce5eb7f74dc713d8f712f8c2158e97939d93999094aacb8c8e8c8f8b8e8b8e
+8b9d7b947c8f848d78928d9d8a8a6e89805e088b888a898b898b7a9c84958796879a
+848b7d8b8a8b898a898982817a8581776b76657f5b088a858a858b85086aa67cb71e
+f72c06c99d796d1f8b818980887f7c4b797b4e5862692b3b7e520813e88a858a868b
+868b7b93829d8ba18b989791a38d968a958e9a93adb4b0c2bde4da9698a0e20894b2
+91ab8ba308b7789f531e13d8fb3e0669738fa21f8b8f8b8e8c8f080e698beff7d1f6
+01f846cc037d16f8468bcef7e90592ae90a98ba308d364a1fb011efb3106727e97a2
+1f8b8b5e8b7c4689848a848b85086b9e76b21eab0658604946806108f735f72e15f7
+2506bfa07a531f8b708666815a0872fb17fbe58bb1f7260599c1b3c3cec8080e628b
+ef0174abd7f724f762b503f7f1f8a9157b595d684e6d859088958b958b8e8b8f8c8e
+8e988e8d8f9c8c8f8b8f8b8f8ba5738e758d08788d728f8aaa8b8b67867c4c8a858a
+848b868b709b76ab83ad8398858b7b8b878a878a87082c3846fb0c6bfb1c887f8980
+8b838b818e85948b948b95948c90aaf71ab8e9c6ccc5ccd3b3bf8b08d0b358461f8b
+7c897c877b7f597053776808fb628b5027f7888bbade0597a0b5dc9bce92aa8faa8b
+a88bea64db329a080efbabc7f78603c7fb5f15908dd27fa3f71b08c4f7ce0593b89a
+b5a1b1a1b197a48d968e958c948b928bbd5f8e618d768c688d8bac088d078b8b6286
+7a428a858a868b868b6aa979c388ae89a0838b7d0887078882857f827f726c7c7085
+74080efb888bef01f783cc03f787f7a41598c5abc898c48d938c918b918bb5639164
+8d6d8c698d8dac8b8b5f8b7a438a888b868b88088b69af73cb87a2899a818b788b88
+8b898a877e536e3f8253866e87738a6f08fb3e8b5427f7928b05919991a092a797bf
+7ccea0e5080e5880f0f7d9f601a7bef7e5b803f74d8015ec8bf5abc4f78996b990b3
+8bab08f456ac3c1efb1a06707d97a21f8b8b5d897c468a868a858b848b74946eb08b
+5b556a46793d846e88718b758bfb15f077c38b08f71cf83e15d0a56d531f8b748670
+846d6bfb213e79378b548b3e8e8bee8b9d8ea190a499c3a5c2b2ba080e4df831f702
+12d8f72ffb24c088c1f73bf72e1398f789f70e15397ea4f702058e978c968b948ba8
+7c97759c0813a8819287968b988b9e93a497a89a8b988ba086919495a28e960813c8
+8d958c948b928bb66a8d748c808c698e8bad8b8b66877b458a878b868b878b6da374
+ab830876677b6987770813a888808a818b838b70987aa176081398948191768b6c8b
+788976867408fb0d785f28f772ad05e795c3b89ddaa7f70df704f70c9cd28c908c90
+8b8f8ba17d976e905e9282948ba58b8b65887a420889858b868b868b719e79b28297
+8891838b7f8b888b878a8789817b6f706508fb01fb30b1784282080e36f755e7f714
+f700b97701f824c903f73bf755159d8b95a091a58c8f8c8e8b8e8b9e7e9672906792
+7f948b9e8b908b908d9191a49ba0a6aa08f72306b98baa7f92738d808e7c8b788b73
+876e836908fb09fc5a059b90bb779edf9acaa5f70a9ce608b5f7750590aa8ea48b9f
+08d1659dfb0d1e35067180a0a11f8e078b8b4c7b7e538a868a868b868b6c9e6ca386
+585663527c4a887e8a7f8b838b779285978b089f8b9c999f8b080e348befe8e7f714
+f70001f821b903f813f78c15752a62583d8b08fb668b5a27f7518b05f73a8bb8dfb5
+f74997be91b68bb008de6ab5431efb17066f7e96a21f8b8b5e827a448a848a848b86
+8b79927f9a845856614c7d4a877d8a808b838b779385968b089f8b9c999f8b08c306
+9d8b95a091a58c8f8c8f8b8e8b9d7e96729067927f948b9e8b908c908c9191a39ba4
+a3a808918a908b928b08f73906c29c6f5f1f8b71866b8268080e3cf823f70c01eef7
+4103f72ddc159accc8dfe7dba19eb9b1bcab9d8b98879a82979699b68d958d938c92
+8b928bb06d92678e08748c73948ba78b8c8c8d8b8d8b8b6685793b89858b858b868b
+6e9f79b5843953303d482f08838b9de30597c4d1df95b38c928c918b908bb265936a
+91788d71998ca68b8b647c7a448a848a858b86088b6ca47fc57f958990848b818b88
+8a888a8883635d4f82610831fc47908b059a8bb4919fe099c58fdb97c1080e3a8bef
+01cec9b1a0f71cc703f75ef7b5158195879b8b9c8b948c948d9390a29ebd91a28e97
+8c958b938ba9788f668e7e8c708e8baa088e078b8b5f877b458a858a868b86086aa5
+77b6a1947e781e8b8389828981087743058a858a868b858b7b917b987f08f70e2505
+91859183898308fb9e8b5427f7ea8b05a491c5c78bb78b97879581930851bb057f99
+879a8b9b8b948d948d9595b6bcd4b3ab908c8f8b8f8b9c8b93869585989896b28e96
+088d938b928b908bac718e6e8e7c8c698f8ba78b8d8c8d8b8c8b8b618c7a408a868a
+878b87088b6ea075ad836463594b654d080e4bf831f70001f853c403f767b11597be
+b7a2cdafdcb6bba5a9f71391a691aa8ba808bb78b5411efb4f06707d96a21f8b8b58
+8a7c498a858a858b86086aa272b41ef75e06c098716d1f8b7b877b887c7b4535577c
+836273fb0e44793e8a858a868b868b7c92849b8ba18b999690a1088f998c998d9208
+fb7efb9615a4989c978d9608f70af890828b056f777772846f0820fc67050e439476
+f83df70001f822cc03f7cf7f158b8bc28e94b508d3f7cb0593ac8fa78ba208d45f9f
+fb041efb1206707e98a21f8b8b58847d4c89848b868b85086ba073b31ef74306c8a6
+77521f8b7186697f61080ebe8beff7c9f70312c8b075f723cbf72413e8f900f85815
+8d928b928b918bb26a927f907d907a8e8ba20890078b8b6188793b8a868a868b878b
+77987ca38292899e878b778b888a878a88887a7d75747308322b5741715a08fb3506
+cfe7c7f6bdf704a18b96889682939698a88f988d948c928b928bb16c9077907c8f76
+8a8cac088b8b64867a448a868a868b868b729b79aa7e4cfb0f4c204b390878067cbd
+83b98bb58b9e8d9d8f9c95b59bb29bad9d8b968da68b8f91919d8e960813d88e968c
+948b938ba67f9a7491639483918aa3088906838b6e86793e8a858a868b868b749b79
+ab817564755d7f5a0813e885718a738b718b6a8e4f8b748b73826f896b08f7b906d1
+f771f746f70ca5f703080e5d947697eff7cdf70012f845cb13b0f7f27f158b8bc18e
+95b508d2f7cb0593ac8fa78ba208d45f9ffb041efb1206707e98a21f8b8b59847c4c
+89848b868b85086ba073b31ea1065c555c507733081370888181488568084e8b6327
+f71b8b9ec50599b37cd69ede97bdbbd0aab108f71006c8a777521f8b718569806108
+0e879a7601f75fc3f76bc303f8108515f7c80afbfbfbea15f7c60a0e7b9a76f839f5
+01f74cc2f77fc303f707f78715f7c70af7a1fb9415f7c80a0e6ff833f501f74cc2f7
+66c303f811f78715d6aea9e695b591a48e9f8b9a08b37695586e6a8bac1e90078b8b
+61867b488a848a858b858b6ba377b98ab689a47c8b718b878b888a87805d77646371
+08fb9a8415f7c70a0efbeaf7e5f77501a7f74403f73bf8c615f7c90a0efb44f7e5f7
+7501f7e2f8c6156d8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b98
+99c7cfb6bcabb191a3088b8d8c8d8b8d8ba071907f8b08fb3b16f7c90a0ef5fb6ba6
+f704a6baa8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30aff0084e666fb2f15
+a98bff000ee66672fffff9b3346cfffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b3
+33a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315f7250a0e
+40fb6ca6f704a6b3c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0affff
+4de666fbbc15a98bff000ee66772fffff9b3336cfffffa4ccd6fffffe74ccd6f6c8b
+6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a
+5315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff00093333b8ff000999
+9abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080e8789adf7c0adf78b
+adb9eb12ff014f3334ebff00266666ff0058fffeffffb7199cff004c333413faf7b6
+f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff013b3334f96615f729
+0a0e3881aef803badfeba3a8a57712ff015b3334ebffffdeccccdd13faf7b1f8db15
+700af7486815710a13fcffffc13334f7a215f7020a0e87fb37ebccadf7c0adf78bad
+12ff00b63333ff00600001ff00bf6666ff0058fffeffffb7199cff004c333413faf7
+b6f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff00a23333fb1a15f7
+0e0a0e38fb37ebc4aef803baf760a8a57701ff00933333ebff00a6cccddd03f7b1f8
+db15700af7486815710afffef93334fc3415f7ca0a0e87fb17b7e0adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413f4f7b6f8ce153e0a856915cd
+0613f83f0afb425015400a13f4410aff01324cccfb2a15f7cb0a0e38fb17b7d8aef8
+03baf760a8a57701f82edd03f7b1f8db15700af7486815710affffa24cccfc4415f7
+cb0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334ff00d14c
+cca803ff014c80002b15c00a0efb40fb58a8f8d3aa01deddff00498000ff003f3334
+ff00344cccd003ff00d380002f15dc0aff009e8000f98f15cf0a0ef589adf8d9adbd
+eb01ff01983334ebff0062ccccff005ab334039e9d15430af742c215440aff00d733
+34f93415f7290a0e4381b9f803afdfeba3a8a57712dcdbff00483333ff00600001ff
+fffeccccd913fdf7edf75615730a3d04740a13feffff933333f85915f7cc0a0ef5fb
+37ebccadf8d9ad01ff00d43333ff00600001ff0126ccccff005ab334039e9d15430a
+f742c215440aff00133333fb5015f70e0a0e43fb37ebc4b9f803aff760a8a57712dc
+dbffffe83333ebff005ecccdd913fdf7edf75615730a3d04740a13fbffff333333fb
+7d15f7cd0a0ef5fb17b7e0adf8d9ad01f8efff005ab334039e9d15430af742c21544
+0aff00a04cccfb6015f7cb0a0e43fb17b7d8b9f803aff760a8a57701dcdbf73bd903
+f7edf75615730a3d04740affffda4cccfb8d15f7cb0a0ef5fb76a3daddb2adf8d9ad
+01f8efff005acccc039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753
+cbbaf78aff00049998a2ff00023334ff001680008bff0015cccc8bff009a3334ffff
+916668ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a
+868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3
+308bfffffb3334ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b
+78806989086e8905878b87878a8608f742c215440aff0076b334fb0615f71e0a0e43
+fb76a3daddaab9f803aff760a8a57701dcdbf73bd903f7edf75615730a3d04740aff
+ff87b333fb3315f75a0a0ef589adf8d9ad01f8efff005ab334039e9d15430af742c2
+15440aff005ee666fb1615e60a0e4381b9f803aff760a8a57701dcdbf73bd903f7ed
+f75615730a3d04740affff82e666fb4315f7ce0a0e6889a870b2f7b0b1d677f751b3
+70a8f70ab712f822aae3a7133380ff00e66666ff02e63334158bff00046664fffffc
+e667ff00054cd0fffffa9999ff00054ccc08ffffb16667ff0049e66448ffffd86668
+ff006c9999ffffc8800005ff000c4ccdfffff9ccccff000acccdfffffbb334ff0007
+b3338b08ff000b8000ff00033333ff000b6668ff00054ccc1fff0142999affff9fcc
+cc15c10a133b80c20a133780460a133b80470a13b780480a13738087770513b3808d
+8905137380490a13b3804a0a137b804b0affffe88000f70b15f20a0efb3481c7f7fa
+aaefb701dedef751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a
+ff007de666ff00e2333415f74b0a0e6889a870b2f7b0b1d677f751b370a8f70ab712
+f822aae3a7133380ff021c8000ff02d4800015ff0006e6688bff000c4cccff00044c
+ccff00103334ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff
+936668ffffb6199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff819
+9c08848efffffd4cccff000633341eff000c8000ffffb1800015c10a133b80c20a13
+3780460a133b80470a13b780480a13738087770513b3808d8905137380490a13b380
+4a0a137b804b0affffaf8000f70b15f30a0efb3481c7f7faaaefb701dedef751d003
+f7f7f80615750afb50fb3f15760aff01168000f7e815f30aff00b2199aff00dc3334
+15f74a0a0e6889a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a1545
+0a1337460a133b470a13b7480a137387770513b38d89051373490a13b34a0a137b4b
+0afffee0e666fd5315f7cf0a0efb3481c7f7faaa01dedef751d003f7f7f80615750a
+fb50fb3f15760aff0037e666fb9415f7ce0a0e68fb38b78fb9cfa870b2f7b0b1d677
+f751b370a812f822aae3a713cec0f8bdf91a15450a13cdc0460a13cec0470a13edc0
+480a13dcc087770513ecc08d890513dcc0490a13ecc04a0a13dec04b0afffedcb334
+fd9215f7d00a0efb34fb36b78fb9c5c7f7faaa01dedef751d003f7f7f80615750afb
+50fb3f15760aff0056b333fbd115ffffecffff8bfffff1199a95fffff2666697ffff
+eecccd99ffffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b3
+34ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18b
+ff002dffff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffff
+efe66881ffffe9ffff8b080e68fb49a4d7abb9a870b2f7b0b1d677f751b370a8b8bf
+12f7afc256a7e0aae3a713ced8f8bdf91a15450a13cdd8460a13ced8470a13edd848
+0a13dcd887770513ecd88d890513dcd8f75c0a13ecb84a0a13deb84b0afb2cb915f4
+0a0efb34fb4ea4d7abf861aac9c4e57712dedeff0040199aff001d6666ffffe98000
+c2cad013fc80f7f7f80615df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb
+3efb131e8bffffac6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd
+199affffb4e6669085059c8f948d9f8b0813fd809f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff001f199aff
+0030cccc05ff0036999aff0009999aff0032e666ff0022e666ff00316666ff003fb3
+34869685907f8b525174825b8b5e8b6ca38be68b908ba08c930813fe80ff005c8000
+f85515ffffe2999a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e1
+08ffffe766669705ffffea333451ffffcb80006b578b08558bffffdc8000b0ffffff
+ccccc0080e2389a8f7bcb1d677f751b370a8c4eb12ff01513334ebffffdcccccaae3
+a713f580f7fbf7d7154c0a13ed80460a13f580470a13ed804d0a13e680ff00643334
+f84115f7020a0efb8bfb82acf8e7b2f780acb1eb01ff01503334ebff00066666ff00
+54ccce03f750f81a15770aff00e63334f81e15f7290a0ef281aff789aff7ceb0f6b7
+01ff0053999aff0057e666ff01dd8000a903f87bf926154e0aff00698000f615f20a
+0e37fb82acf7e5a9f781b36da9f717b71292ceb5c35bd5f723d556cc13cc40f73588
+15780a13ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0aff007480
+00f7ab15f30a0ef70489a8f7bab5f793a8bdeb01ff01a03334eb03ff01a03334f97d
+15f7290aff00baccccfb44154f0a0e6181c7f7ddc7dfeba3a8a57712f7f0ddffffba
+3334ebffffd4ccccda13f9ff00afe666d315f7090a13fcf70a0a13f9f70b0a13faff
+00b84ccef88715f7020a0ef704fb37ebcca8f7bab5f793a801ff01003334eb03ff01
+003334fb0715f7290aff015accccf940154f0a0e61fb38ebc5c7f7ddc7f760a8a577
+12ff00b63333ff00600001ff0045ccccdd7ada13fdff00afe666d315f7090a13fef7
+0a0a13fdf70b0aff00064ccdfb5015f70e0a0ef70489a8f7bab5f793a8c4e501f7e2
+e8ece703f7e3f98115c50af7528c15c40ad9fb49154f0a0e6181c7f7ddc7e3e6a4a8
+a57712f7dce545dd7ada70e613f880f865f8d015729f77a4a4a09fa4a476a0721e72
+7776721f13fc00fb1d16729f77a4a49f9fa4a477a0721e727776721fffff67e666fc
+8815ff0026199af73a05caddccc6af8b0813f900f7630a13fa00f70a0a13f90093ae
+90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff95
+4ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff00281998
+8b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab7ff0008e666b1080ef704fb49a4d7abb9a8f7bab5f793a801f72cc203f709
+3b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab70
+9a6b1f828b828a838908ff00208000be05ff0022e666ffffffcccdff0027b334ffff
+ff1999ff0026e666ffffff199a8e8f8e9f889008698e05ffffd9199aff00036666ff
+fff4e666ff000c199a91ff001e800008ff00303333f789f7cd8bffffcfccccfb8905
+fffffa6666ffffe3ccccfffff04ccefffff2199affffd74cccfffffc199a086c8805
+8787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd91998ff
+00036666fffff4e668ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e
+058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e668
+fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62fbcd8bff00
+288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2
+3334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdffff
+fc199a086c88058787897b8f82ff0024e666ff0000cccdff001ee667ff0000cccdff
+001f6666ff00004ccc08ffffc9cccdffffb0199a9085059c8f948d9f8b080e61fb49
+a4d7abb1c7f7ddc7f760a8a57712f711c2f73cdd7ada13fe80ff00afe666d315f709
+0a13ff00f70a0a13fe8093ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccff
+ffeb3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff
+92cccdfc7f05fffffb333477fffff8199a728bfffff633338bfffff9999aff00014c
+ccfffffa9999ff00038000fffffb999a08ffffc9199a3a9085059c8f948d9f8b089f
+9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f
+828b828a838908ff001a4ccdff00294ccc05ff0002b334ffffffccceff0002e666ff
+ffffe666ff0003199a8b08b18b8ab7ff0008e666b1080ef704fb5bc4f720a8f7bab5
+f793a801ff00ae199aff001d666603ff00cb80005715f7690aff018f8000f901154f
+0a0e61fb65c4f722c7f7ddc7f760a8a57712ff0059199aff001d6666ff00e58000dd
+7ada13fdff00afe666d315f7090a13fef70a0a13fdf70b0affffc6999afb1a15ffff
+e2999a7f05fffffcb33536ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766
+669705ffffea333451ffffcb80006bffffcbffff8b558bffffdc8000b0ffffffcccd
+c0080efbadfb38b78fb9cfa8f8e3a801f769f8cd15500affffccb333fd4515f7d10a
+0efbb1fb38b78fb9c7c7f7eda79877f5eb12f75deb13e6f75df8ce157d0aff002c4c
+cdffff063334157e0a13ee7f0a13f6800affffdfb333fb8815f7d10a0efbad89a8f8
+e3a8bde501f726e8ece703f727f97a15c50af7528c15c40afb10fb4215500aff003f
+8000ff00d5800015ff0006e6668bff000c4cceff00044cccff00103332ff00063334
+08ff00823334ff00378000ffffcde666ff00279998ffff936666ffffb6199c05ffff
+f53334fffff81998fffffab332fffff9cccc8bfffff8199c8b848efffffd4cccff00
+0633348b080efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af7
+3416e20affffe24ccdffff033334157e0a13bc7f0a13dc800aff0075e666f8fc15ff
+ffb33334ffff974ccc05fffff7b333fffff4b334fffffce666fffffc9998fffffe33
+33fffff6199cfffffee667fffff9ccccff00046666fffffab334ff000566678bff00
+0566668bff0006cccdff00039998ff000de667ff000d333408ff00699998ff005fe6
+68ffffff6668ff0009b33005fffff1b332ff00136668ffffec8000ff0000ccccffff
+fb199a8bfffffc199a8bfffffb4cccffffff199cfffffd8000ffffff1998080ed789
+a8f8e3a8d27601f769f8cd15510af75ff71415b40a0e4081bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830af790f70015ec0a0ed7fb37ebcca8f8e3
+a801ff00f83333ff0060000103f769f8cd15510aff00233333fd4015f70e0a0e40fb
+37ebc4bfff00c34ccdff0022b333ebd2f760a8a57701ff00a43333ff0060000103ff
+0058cccdd315830affffdd3333fd3a15f70e0a0ed7fb17b7e0a8f8e3a801f769f8cd
+15510aff00c44cccfd5015f7cb0a0e40fb17b7d8bfff00c34ccdff0022b333ebd2f7
+60a8a57701ff0058cccdd315830aff00864cccfd4a15f7cb0a0e61fb37ebcca870b2
+f8d7a812ff00c73333ff0060000113d8f709d715520a13b8530a13d8540a13b8550a
+fffff23333fd4015f70e0a0efbbbfb37ebc4c7f8e5a8a57712ff002c3333ebffffd0
+cccdda13f8ff002c3333fb0715f7cd0aff00f1cccdf94e15f7d20a13f4f7d30a0e61
+fb37ebcca870b2f8d7a8f70ab712ff00c73333ff0060000113dcf709d715520a13bc
+530a13dc540a13bc550afffff23333fd4015f70e0aff00b14ccdfa0415f30a0efbbb
+fb37ebc4c7f8e5a8a577f702b712ff002c3333ebffffd0cccdda13f8ff01908000f9
+a815f30a13fcffff8fb333fe1b15f7cd0aff00f1cccdf94e15f7d20a13faf7d30a0e
+61fb17b7e0a870b2f8d7a81213d0f709d715520a13b0530a13d0540a13b0550aff00
+804cccfd5015f7cb0a0efbbbfb17b7d8c7f8e5a8a57701e8da03ff00c84ccdfb1715
+ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd666792828b08fb
+6106fffff400018bfffff280007afffffd99997ffffffe999a84ff00024ccd83938b
+08ff0122b334f95e15840a0e6189a870b2f8d7a81213a0f709d715520a1360530a13
+a0540a1360550aff0045e666fd0615e60a0efbbb81c7f8e5a8a57701e8da03ff008f
+e66652155906ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff00
+2b8001a6ff00251999a4ff002cb334b1ff001ab33367ff001be66672ff0021199a6e
+08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08ff008e199af914
+15840a0ef78789a8f8e3a8d27601f923e215f76f0afb88f73715b40a0ef77281c7f7
+ddc75fa712f753ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d8
+13daf74af7d515850a13dc860a13da870a13ba880af803f7f215f7520a0ef78789a8
+f8e3a8bdeb01ff01d33334eb03f923e215f76f0affff083334f76715f7070a0ef772
+81c7f7ddc75fa7f1eb12f753ff00558000ff009a8000d8ffffd73334ebff002b1998
+ff0050999cfffff11998d813dc80f74af7d515850a13d900860a13dc80870a13bc80
+880a139a00ff011d3334f79015fffffab33271ff0011800075a58bff001a00028bff
+001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b08718bffffe5800075
+fffffab33471080ef787fb37ebcca8f8e3a801ff01343334eb03f923e215f76f0aff
+fe693334fd1d15f7290a0ef772fb37ebc4c7f7ddc75fa712f753ff00558000ff0005
+b334ebff0034ccccd8ff00624cccff0050999cfffff11998d813ee80f74af7d51585
+0a13ef00860a13ee80870a13de80880aff00643334fc4815f7290a0ef4967693a8f8
+e3a8bdeb12ff01863334eb1378f943f8c115560a13b8570affff3f3334f96815f729
+0a0e6081c7f7ddc75fa7efeb12f73bff00578000ff003fb334ebffffb2cccce07ada
+13d9f845f71015f7150a13b9890a13d98a0a13da8b0a139cffff8d3334f85315f702
+0a0ef4fb37ebd97693a8f8e3a812ff011a3334eb13b8f943f8c115560a13d8570aff
+fed33334fb1c15f7290a0e60fb37ebc4c7f7ddc75fa712f73bff00578000ffffb2b3
+33ff00600001ff003fcccce07ada13e9f845f71015f7150a13d9890a13e18a0a13e2
+8b0a13c4ffff003333fb8315f7cc0a0ef4fb17b7ed7693a8f8e3a81213b0f943f8c1
+15560a13d0570affff634cccfb2c15f7cb0a0e60fb17b7d8c7f7ddc75fa712f73bff
+00578000ff00528000e07ada13eaf845f71015f7150a13da890a13ea8a0a13ec8b0a
+ffff9b4cccfb9315f7cb0a0ef4967693a8f8e3a8121360f943f8c115560a13a0570a
+ffff2ce6663d15e60a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0affff5ce666fb4915e60a0ef6
+81adf8ecadff00266668ff00306664ff00046668ff0032999801ff00576666ff005a
+e666ff017cb334ff00136668ff0026e664e403ff02658000ff02b9800015f7d40aff
+ff4e8000ffffb6800015580af79bfbbb15590affff408000ff019fcccc15f75e0a0e
+fb0681b0f80facccb78fb901d9def771de03ff01c3e666f98215f7d50afffedd199a
+fcd8158c0a3883158d0aff015fb334f81615e30a0ef681adf8ecadff00266668ff00
+306664ffffd93334e7ffffcf3334ff0032999812ff00576666ff005ae666ff0030b3
+34e7f784ff00136668ff0026e664e4ffffbab334e713d740f911f98415d20afc2e16
+e20af765fb141513c780580af79bfbbb15590a13ef00ffff408000ff019fcccc15f7
+5e0a0efb0681b0f80facccb78fb9afe612b1def706e79ade6ee713fe00f7b5f96915
+f7be0af7358c1513fe80a10afbddfcc015e70a13ff00e80a3883158d0aff0141b334
+f81615d10a0ef681adf8ecadf6b701ff00576666ff005ae666f84be403ff01316666
+ff02cc3334158bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ff
+ffb16667ff0049e66448ffffd86668ff006c9999ffffc8800005ff000c4ccefffff9
+ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033332ff000b6668
+8bff00054ccc08ff0082999affffa3cccc15580af79bfbbb15590affff64e668f848
+15f75d0a0efb0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0a
+ff01698000f82c15f30aff00814cccf75015f7d60a0ef681adf8ecadff003c800076
+ff00438000b701ff00576666ff005ae666f84be403ff02608000ff02b9800015f7d4
+0affff538000ffffb6800015580af79bfbbb15590affff4ee668f84815f75d0a0efb
+0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0aff01698000f8
+2c15f30aff00bc6666f75915f7d50a0e4d89a8f793adf7c4ad69a4d47612ff01e899
+9aff0055999a13ecf7b7f8d2155a0afb13fb8e155b0a13dc5c0af71ef70f15b40a0e
+43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f0aa9f82215ec
+0a0e4d89a8f793adf7c4ad69a4c4eb12ff016d3334ebff001b6666ff0055999a13ee
+f7b7f8d2155a0afb13fb8e155b0a13de5c0aff00983334f74415f7290a0e43fb7fa9
+f757aef804b9dfeb12ff01563334ebfffff4ccccdd13f4f79ef82815ff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967
+666d6f68ff0003e666fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824
+fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e
+8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c059a7bff001c80007a
+ff001d80008bff004733348bff003a3332ff0027b333ff002b999aff00354ccdc1cd
+a6cf8bd38bdf6fcd278b08588b6678707b08f735fb17158f0a13f8ffffab3334f7be
+15f7020a0e8581aa74a8f79cadf7bbad69a4c4eb12ff01653334ebff00246666ff00
+5466661337f811f900155d0a91ad15136f5e0a13b75f0affffe23334eb15f7290a0e
+fb609676f80fd15fa7efeb12f738ff00528000ff0023b334eb13bcf771f7b115f71c
+0a13dcf71d0aff00393334f7b315f7290a0e85fb37ebc4aa74a8f79cadf7bbad69a4
+12ff00c33333ff00600001ff00c66666ff00546666139bf811f900155d0a91ad1513
+b75e0a13db5f0affff403333fd9515f70e0a0efb60fb37ebd976f80fd15fa712f738
+ff00528000ffffbbb333ff0060000113d8f771f7b115f71c0a13e8f71d0a13c4ffff
+d13333fc2315f7cc0a0e85fb37ebc4aa74a8f79cadf7bbad69a4f70cb712ff00c333
+33ff00600001ff00c66666ff00546666139b80f811f900155d0a91ad1513b7805e0a
+13db805f0affff403333fd9515f70e0aff012d4cccfa0415f20a0efb60fb37ebd976
+f80fd15fa7f72ab712f738ff00528000ffffbbb333ff0060000113dcf771f7b115f7
+1c0a13ecf71d0a13caffffd13333fc2315f7cc0aff00ee4ccdf94415f30a0e85fb17
+b7d8aa74a8f79cadf7bbad69a412ff01e9999aff00546666139af811f900155d0a91
+ad1513b65e0a13da5f0affffff4cccfda515f7cb0a0efb60fb17b7ed76f80fd15fa7
+12f738ff0052800013d8f771f7b115f71c0a13e8f71d0aff00204cccfc3315988bff
+000dccce9dff0002666697ff0001666692fffffd666692828b08ffff330001067f8b
+fffff280007afffffd999a7ffffffe999a84ff00024ccc83938b080e2081aff8eaad
+b7eb12cba9ff002fcccdff00483333ff00593334ebffffe4b332ff0053e666fffffe
+3334aa13faf881f90615600a13f9610a13fcffff423334f71015f7020a0efb6481ac
+f813acdfeb12c6df77cbff00273333ff00600001ffffccccccd658dd13e4ff00e233
+33f8cf15f7cc0affffcbcccdfcd9159a0613eaf71f0a13e9910a13f2f7200a0e20fb
+37ebc4aff8eaad12cba9ff002fcccdff00483333ffffca3333ff00600001ff0073b3
+32ff0053e666fffffe3334aa13faf881f90615600a13f9610a13f4fffeb33334fd79
+15f7cc0a0efb64fb37ebc4acf813ac12c6df77cbffffc93333ebff002acccdd658dd
+13e4ff00843333fb0715f7cd0aff0029cccdf4159a0613eaf71f0a13e9910a13f2f7
+200a0e2081aff8eaadc776a5eb12cba9ff002fcccdff004833337aebff004ee666ff
+0053e666fffffe3334aa13fd00f881f90615600a13fc80610afb2dd215b40a13fa00
+fb23d5157d0a0efb6481acf813acff0093ccccff0056666812c6df77cbfffff06666
+ff00566666ff000d3334d658dd13e4ff00ab6666f90a15fffffb3334ffffe89998ff
+000fccccffffec3334ff001766678bff001766668bff0017cccdff0013ccccff0004
+ccccff00176668ff0004ccceff00176668fffff03333ff0013ccccffffe899998b08
+ffffe8999a8bffffe83333ffffec3334fffffb3333ffffe8999808ff00d4999ab415
+ec0afb66fd3d159a0613eaf71f0a13e9910a13f2f7200a0e2081aff8eaadc776efeb
+12cba9ff002fcccdff00483333f0ebffffd8e666ff0053e666fffffe3334aa13fd00
+f881f90615600a13fc80610afb31d215f7030a13fe0076f728157d0a0efb6481acf8
+13acf76277ff0010ccccff0056666812c6df77cbff00526666ff00566666ffffab33
+34d658dd13d200ff010d6666f94115fffffb3334ffffe89998ff000fccccffffec33
+34ff001766668bff001766688bff0017ccccff0013ccccff0004ccccff00176668ff
+0004ccceff00176668fffff03332ff0013ccccffffe8999a8b08ffffe8999a8bffff
+e83334ffffec3334fffffb3332ffffe899980877fb4b15bd06ff00266666b9ff002f
+199ab8ff002ae666b20813e000ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4c
+ce65ff001be6665eff001366665c08ffffb4999afc94159a0613c500f71f0a13c480
+910a13c900f7200a0e20fb37ebc4aff8eaadb6eb12cba9ff002fcccdff00483333ff
+ffca3333ff00600001c1ebffffddb332ff0053e666fffffe3334aa13fc80f881f906
+15600a13fc40610a13fa00fffeb33334fd7915f7cc0a13f900ff00960001f9f415f7
+020a0efb64fb37ebc4acf813acdfeb12c6df77cbffffc93333eb8fff00600001ffff
+c6ccccd658dd13f100ff00e83333f8cf15f7cc0a13f20027fd4215f7cd0aff0029cc
+cdf4159a0613f480f71f0a13f440910a13f880f7200a0e7a89a8f8d7b29877c9eb12
+ff016e3334ebff00a3cccca913dcf779f9191513bc620a13dc630a13bc640a13dc65
+0affff3b3334f215f7290a0efb9281c7f7e8b2f760eb01f1daff002a3333ff006000
+0103f74ef84115930aff00183333f75e15f70e0a0e7afb37ebcca8f8d7b2987712ff
+00ca3333ff00600001ff0147cccca913ecf779f9191513dc620a13ec630a13dc640a
+13ec650afffe973334fd8c15f70e0a0efb92fb37ebc4c7f7e8b212ff004a3333ebff
+ffbbcccdda13e8f74ef84115930a13f0ffff833333fce615f7cd0a0e7afb17b7e0a8
+f8d7b2987712f906a913e8f779f9191513d8620a13e8630a13d8640a13e8650affff
+3f4cccfd9c15f7cb0a0efb92fb17b7d8c7f7e8b201f1da03f74ef84115930aff0023
+4ccdfcf615ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd6666
+92fffff700018b08fb61067f8bfffff280017afffffd99997ffffffe999a84ff0002
+4ccd83938b080e7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a
+13b0640a13d0650afffef1e666fd5315e60a0efb9281c7f7e8b201f1da03f74ef841
+15930affffd2e666fcac155906ffffd9999a5dffffd14ccd60ffffd3e6666308ff00
+11199a7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33367ff001be666
+72ff0021199a6e08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08
+0ed4fb33e6c5b4f8dfa812ff007bcccdff004ecccdffffdb6666e7d0e713f4f7c681
+15f7230a35511513eca00af7358c15a10a0e63fb33e6c5c7f7ddc712ff004d199ae7
+ffffcee666daff0027199ae7ff001ee666d913eef88ef7f415940afffec1199afb54
+1513f6a00af7358c15a10a0ed4fb38b78fb9c7b4f8dfa801ff007bcccdff004ecccd
+03f7c68115660aff001fb334fb0215f70c0a0e63fb38b78fb9c7c7f7ddc701f70cda
+f736d903f88ef7f415940affff49b334fb8815f7d00a0ed481b4f8dfa801ff007bcc
+cdff004ecccd03f7c68115660aff0012e6665b15e60a0e6381c7f7ddc701f70cdaf7
+36d903f88ef7f415940affff44e666fb4915f7cf0a0ed481b4f8dfa8ff002e6668ff
+00306664ff00046668ff0032999801ff007bcccdff004ecccdff01696666ff00134c
+cc03ff02758000ff02d4800015f7d40afffebc8000fffd21800015660aff00ce8000
+ff02efcccc15ffffefcccc8bfffff34cce96fffff48000ff000d3334fffff16666ff
+000f6668ffffefb334ff000f6664ffffe680008bffffdb66668bffffe74ccc6affff
+e9e666ffffbf199c08ff0013999afffffa800005ff000e3334ff00244cccff000d99
+9aff00108000ff001619988bff000e80008bff000e3334fffff3e664ff000d6666ff
+fff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff0012b3328bff002719
+9c8bff001dccccacff00149998cd08ffffecb334ff0006999805ffffecccccffffd1
+ccccfffff2666880ffffed4ccc8b080e6381c7f7ddc7e2b78fb901f70cdaf736d903
+f88ef7f415940affffffb334f85215f7210affffe53332f76415f7d50a0ed481b4f8
+dfa8cfde68b712ff007bcccdff004ecccdff00146666ddf7c2dd13eef91cf95f159e
+a19ba4a5769b7774797b711f6ea37f9c1efc148e15a39c9fa0a1799e74727b777674
+9c79a31fb5fd6c15660a13deff00e4e668f99915f75d0a0e6381c7f7ddc7f717b7a1
+e612f70cdad9e783d98ae713faf88ef7f415940aff00238000f85215f7220aff0059
+8000f7311513fca00af7358c1513f9a10a0eaff8fea8c0b78fb901f8fdf8bd15670a
+ffff96b334f75315b60a0e329476f805dde2b78fb901f853ff0048666803ff013099
+9ad715950aff0051b334ff01f0800015d10a0eaffb37ebf941a801ff00d73333ff00
+60000103f8fdf8bd15670afffe6e3334fd3015f70e0a0e32fb37ebd776f805dd01ff
+00903333ebff00cecccdff0048666803ff0130999ad715950affff5b3333ffff4380
+0015f7ca0a0ef7f09676f908a8d37601f76df8b615680af83af73f15b20a0ef71394
+76f805dd01f92bff0048666803f79d7f15960af75bf93f15ce0a0ef7f09676f908a8
+d27601f76df8b615680af7c0f72b15b40a0ef7139476f805dd01f92bff0048666803
+f79d7f15960af777f93f15f7520a0ef7f09676f908a8cae601f872e7d0e703f76df8
+b615680af7cff79315a00af7358c15a10a0ef7139476f805dde1e601f7ebe7d0e7ce
+ff0048666803f79d7f15960af718f90815a00af7358c15a10a0ef7f09676f908a8b5
+eb01ff02093334eb03f76df8b615680aff01303334f75315fffffab33471ff001180
+0075a58ba58bff001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b718b
+ffffe5800075fffffab33471080ef7139476f805dddfeb01ff017d3334ebff00b9cc
+ccff0048666803f79d7f15960aff00743334f8db15f7290a0ef7f0fb37ebd976f908
+a801ff016e3334eb03f76df8b615680aff00953334fd2915f7290a0ef713fb37ebd7
+76f805dd01ff01223334ebff0114ccccff0048666803f79d7f15960aff0019333424
+15f7290a0ece89a8f8e3a8c0eb12ff0146999aff005de666ffffe2b334eb13f0f71a
+f90515690a13e8ff00fd3334f315f7020a0e3581cb4bbcff01438000ff004c80004c
+cadfeb12ff01133334eb130cff01133334f8cf15f7020affffc3ccccfb9a15f7d70a
+138cf7d80a135c980a13acf7d90a0ece89a8f8e3a8c6e512ff0146999aff005de666
+ffffae8000e8ece713f4f71af90515690af75ef61513ecc50af7528c15c40a0e3581
+cb4bbcff01438000ff004c80004ccae1e612f777e7d0e7130ef7adf8fc15f7be0af7
+358c15a10afb77fbc815f7d70a138ef7d80a135e980a13aef7d90a0e8289a8f8e3a8
+c0eb01ff01733334eb03f7e4d7156a0aff00233334f93415f7290a0e51fb7ec8ff02
+178000ff004c8000dfeb01ff011b3334ebff0061ccccff0048666803ff0160800016
+9a0affffe83334f91515f7290a0e9c8bb2f8cab39877d4761213d0f8a489156b0a13
+b06c0a13d06d0a69f9bb15b50a0efb1181d871c8f790c55ad7f7637712f1a6132cf8
+4af850159b0a131c9c0a136c9d0a138c9e0a136c9f0affffa6e666f76d15f7da0a0e
+9cfb37ebceb2f8cab3987712ff00e33333ff0060000113e8f8a489156b0a13d86c0a
+13e86d0afffed33334fb0515f70e0a0efb11fb37ebc4d871c8f790c55ad712f1a6ff
+00293333ff006000011396f84af850159b0a138e9c0a13b69d0a13c69e0a13b69f0a
+fffed73334fcb415f70e0a0e9cfb17b7e2b2f8cab398771213e0f8a489156b0a13d0
+6c0a13e06d0affff6b4cccfb1515f7cb0a0efb11fb17b7d8d871c8f790c55ad712f1
+a61394f84af850159b0a138c9c0a13b49d0a13c49e0a13b49f0affff594cccfcc415
+f7cb0a0e61fb17b7d8c7f7ddc7f760a8a57712f7f0dd7ada13faff00afe666d315f7
+090a13fcf70a0a13faf70b0aff009d6666fb5f15f7cb0a0efb9281c7f7e8b2f754e6
+12f1da85e7d0e713f4f74ef84115930aa9f77d1513eca00af7358c15a10a0ef71394
+76f805ddc8a6f704a601f92bff0048666803f79d7f15960aff00b33334f91f15d50a
+ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb334b1ff00093334
+b8ff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d080e51fb7e
+c8ff02178000ff004c8000c7a6f704a601f871ff0048666803ff01608000169a0aff
+00383334f95815d50affff9db3325315d60a0e4081c7f7faaa01d9dbf739d903f82e
+f845156e0a59fb6a156f0a0efb9afb7daff8e4a9f783adc1eb01ff01443334eb036a
+fb2a15f72a0aff01653334fa4a15f7290a0efb9afb7daff8e4a99877f78aad1213b0
+f7d7f84a155affffe34ccc9aff004ab33405a2f706b0cdb88bff003b4ccc8bffffcb
+b3343ac68b08a7989ea5ae60ae541f518b5b6e6b55796d786178390813d0836c6d8a
+668780838c84917c08affffffd999a059dfffffeccccff00056666fffffbe666ffff
+fd199afffff0b3340888fffff03334ffff9e8000ffffc6cccc9c6eff00484ccdff00
+2a199afffff94ccdffffdbe66605ffffc96666fbb7ff00063333ffffbe4ccdffffdc
+4ccdffffb0b333fffff24ccdffffe1999afffff31999fffff96666ffffec199a8b7b
+8b878f8596fffff5199aff0014199affffefe666ff000be666798b087c797c7572b2
+76ad1fff003433338bff00264ccdff00113333ff00178000ff001f999abaff003f33
+33ff001d3333ff0093cccdff0021cccdff00a8333308adff00a94cccd6ff002bb334
+050efb9afb7daff8e4a9f700b2e7ad01f80df8d015ffffbfe66606ff0015b334ff00
+3b3334ff001bb332ff0020ccccff001fb3348bff003b4ccc8bffffcbb3343ac68b08
+a7989ea5ae60ae541f518b5b6e6b55fffff8e666fffff41998fffff8b334fffff24c
+d0fffff89999ffffee999808ffff92cccd64ff005eb33306fffff97fff77fffff966
+67ffffe86666fffff96666ffffe3999a836c6d8a668780838c84917c08affffffd99
+9a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee199a
+2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccd
+ffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199aff00
+14199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff0026
+4ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cccdff
+0021cccdff00a8333308c5f7b505ff00038000ff00118000ff0003ccccff00104ccc
+ff00043334ff000f333408ff004c8000060ef72d7fb382768ca8f8e5b012f7dca913
+38f70bd21586707b7b628b087f06868b88888a860887788d89058bda8daeb3d4898b
+1e8d8d8e9e058c90888e868b087f06638b7e9891a908b7f78d05aff765f708e7f70b
+8bb68bb97d897d8774fb0bfb2e4e47088d7305928c908b918bf7338b90fb05856708
+139876fb08496b598b488b6eb986db086d88051358893c87588674968c9491938b08
+1398ac8bac7aab8bf7188be9ea9ced9cea40d52791858c898f919308f751f7808fa3
+05559e4c954e8bfb9b8b37fb3668fb5d080e287faef8d076e2b001f726f75715a5f7
+05b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294fb11f7
+2d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba27d976f
+08986d957c958b978baf9492aa8e97809d74a173a06496558b528b417577357e53a9
+65c84c08fb245647fb007735080ef5fb37ebcca8f76ab5f80b7701ff00f03333ff00
+60000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb5615f70e0a0e40fb37eb
+c4c7f7faaa12d9dbffffeb3333ebff0059cccdd913f4f82ef845156e0a59fb6a156f
+0a13ecffff213333fbe215f7cd0a0ef589a8f76ab5f80b77f72da301f82bbb8da6ab
+bf03f7c7f7af153d0afbcdfb6015b30af802f91015f7db0a0e4081c7f7faaaf72f76
+c4a612d9dbff007d4cccff002fcccefffff7e666d913faf82ef845156e0a59fb6a15
+6f0aff0045199af81015f7dc0a13fcf7dd0a0ef589a8f76ab5f80b7701f7c7f7af15
+3d0afbcdfb6015b30aff01993334ff02b0666815ff00061998ff0001b330ff0007cc
+ccff0002ccd0ff0009199cff0003800008ff00764cccff00326664ffffd28000afff
+ff9d4cccffffbccccc05fffffb3334fffffc8000fffffc6668fffffce668fffffd99
+98fffffce668fffff8b334ff0009e664fffff91998ff000a6668fffff9b334ff000a
+cccc0860066569636b606f08947605b59caf9db6a6a672a978ae7908a0a005ffffef
+e668997cff000f1998fffff24cccff00104cd0080e4081c7f7faaaf76a7701d9dbf7
+39d903f82ef845156e0a59fb6a156f0aff007b6666ff01ee666815ffffba3334ffff
+a0cccc05fffffbccccfffffa4cccfffffd4ccefffffc8000fffffe1998fffffc8000
+fffff7999aff000f4cccfffff83334ff000fccccfffff93332ff00106668085906ff
+ffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b8000a6ff0025
+1998a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e66699
+05fffff1e666ff00144cccfffff1ccccff0014ccccfffff3199aff0015b334ff0004
+3334ff0001e668ff00056666ff00041998ff00083334ff0007cccc08ff00601998ff
+00573334ffffff6668ff0008cccc057eff0011999cffffee4cccff0000ccccfffffb
+80008bfffffc80008bfffffb999affffff3334fffffdccccffffff3334080ef589a8
+f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b30aff00c48000f9
+5315f7de0a0e4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff00
+1c3334fb70156e0a59fb6a156f0affff58999aff01ee666815fffffd4cccff0000cc
+cc87ff0000ccccfffffc80008bffffe833348bffffed8000fffff26668fffff98000
+fffffb333008fffffd1999fffff73334ff00404ccdffffa8cccc05ff0009199a7fff
+0004199987ff000433338bff0005999a8bff0005cccdff0004ccd0ff0000b3338f8c
+ff00059998ff00004ccdff00059998fffffde66693080ef589a8f76ab5f80b77f765
+a301f8cbbb8da6abbf03f8acf9c415b50afb79fca9153d0afbcdfb6015b30af8a2f9
+4815f7db0a0e4081c7f7faaaf76a77e9a601d9dbf739d9ff000b4cccff002fccce03
+ff017dccccf92115d00aff001c3334fb70156e0a59fb6a156f0aff00c61998f87115
+ff000380009cfffff84cd0b4ffffc8fffe8b618bffffd7e66668fffffb800075ffff
+fd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93ffff
+fe333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff0006
+3332919e8ba08bff0006000281fffffb4ccc74fffffd99987ffffff880007ffffff5
+999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66
+689cff00144ccc9bff00134ccc9bff001233349bff000419989f080ef589a8f76ab5
+f80b77ff00a14cccff0029ccccff0003ccd0ff002bb33001ff023c3334ff03491998
+15f7df0afffef6ccccfffdd1e668153d0afbcdfb6015b30af802f95015b50a0e4081
+c7f7faaaf76a77cbb78fb901d9dbf739d903ff017dccccf92115d00aff001c3334fb
+70156e0a59fb6a156f0aff0062b334f89e15f7e00a0ef5fb37ebcca8f76ab5f80b77
+d37601ff00f03333ff0060000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb
+5615f70e0aff011eccccfa2b15b50a0e40fb37ebc4c7f7faaaf7627712d9dbffffeb
+3333ebff0059cccdd913faf82ef845156e0a59fb6a156f0a13f6ffff213333fbe215
+f7cd0aff00f6b333f98c15f7da0a0ef589a8f76ab5f80b77c0bf01f809a7f76ca603
+f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00028000ff005c800015ff00
+06e6668bff000c4cceff00044cccff00103334ff0006333408ff00823330ff003780
+00ffffcde668ff00279998ffff936666ffffb6199c05fffff53334fffff81998ffff
+fab332fffff9cccc8bfffff8199c8b848efffffd4cccff000633348b080e4081c7f7
+faaac8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59
+fb6a156f0affff838000f84015f50aff009c6666e815f7d50a0ef589a8f76ab5f80b
+77c0bf01f809a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00
+306668ff006c3334158bff00046664fffffce664ff00054cd0fffffa999cff00054c
+cc08ffffb16664ff0049e66448ffffd86668ff006c999affffc8800005ff000c4cce
+fffff9ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033334ff00
+0b66688bff00054ccc080e4081c7f7faaac8c4e57701d9dbff0030199aff001d6666
+ff00578000d903f82ef845156e0a59fb6a156f0affff838000f84015f50aff00534c
+ccf115f7d60a0ef589a8f76ab5f80b77c0bff712a301f809a7a4bbc8bfa9a603f7c7
+f7af153d0afbcdfb6015b30af7dcf8f815c88bd8b19cd60870067d665573588bffff
+f880008bfffff93334ff00006668fffff99998ff0000999808ff0019b3340690a49d
+989f969992a69a8ba7089d7fab52536767728190809c9b9a95991e8b91898f898d8b
+8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d84ffffdf1998ffffb6
+b33493fffffe4cccff003033348bff0003b334086f800652af5edb1e0e4081c7f7fa
+aac8c4e577eba612d9dbff0030199aff001d6666ff002cccccff002fcccefffffae6
+66d913fe80f82ef845156e0a59fb6a156f0affff838000f84015f50aff00be999ab8
+15f7dc0a13ff00f7dd0a0ef589a8f76ab5f80b77adbfff004b4cccff0029ccccff00
+03ccd0ff002bb33001f809a7f76ca603ff02373334ff0349199815f7df0afffefbcc
+ccfffdd1e668153d0afbcdfb6015b30af7dcf8e515f40a0e4081c7f7faaac8c4e577
+d0b78fb901d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50aff00c33334e815e30a0ef5fb37ebcca8f76ab5f80b
+77c0bf01ff00f03333ff00600001ff0021cccca7f76ca603f7c7f7af153d0afbcdfb
+6015b30aff004f3333fb5615f70e0aff00f5cccdf9ba15f40a0e40fb37ebc4c7f7fa
+aac7c4e57712d9dbffffeb3333ebffffece667ff001d6666ff004f8000d913fc80f8
+2ef845156e0a59fb6a156f0a13fa80ffff213333fbe215f7cd0a13f980ff006a4ccd
+f98d15f7060a0e68fb37ebcca870b2f7b0b1d677f751b370a812ff00ad3333ff0060
+0001ff0080ccccaae3a7139dc0f8bdf91a15450a139bc0460a139dc0470a13dbc048
+0a13b9c087770513d9c08d890513b9c0490a13d9c04a0a13bdc04b0afffe843334fd
+8d15f70e0a0efb34fb37ebc4c7f7faaa12dedeffffdc3333ebff0080cccdd013e4f7
+f7f80615df0afb50fb3f15f7e10a13f4f7e20a13ecffffdb3333fbce15f7cd0a0e68
+89a870b2f7b0b1d677f751b370a8f724a312f7ecbb8da674aaa3bf97a7133b70f8bd
+f91a15450a133770460a133b70470a13b770480a13737087770513b3708d89051373
+70490a13b3704a0a137b704b0a32d0159992a69a8ba7089d7fab5253676772819080
+9c9b9a95991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e818182
+081333b07c7f7d7d846a08a60690a49d989f96080efb3481c7f7faaaf72f76c4a601
+dedeff005d4cccff002fccceff002fe666d003f7f7f80615750afb50fb3f15760aff
+00ee199af82415f7e30a0e6889a870b2f7b0b1d677f751b370a8b5b78fb912f822aa
+e3a7133bc0f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513
+b3c08d89051373c0490a13b3c04a0a137bc04b0affff9eb334e215f7e00a0efb3481
+c7f7faaae2b78fb901dedef751d003f7f7f80615750afb50fb3f15760aff00e3b334
+f80715d10a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7133380f850
+f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a56ff0075cccc15ff00
+064ccc8bff000b33348fff000eb334ff0005999c08ff00764cccff00326664ffffd2
+8000afffff9d4cccffffbccccc05fffff63334fffff8ccd0fffffb199afffffa6664
+8bfffff8cccc8bfffff9999cff0002ccccfffffd9998ff0005999a8b080efb3481c7
+f7faaaf76a7701dedef751d003ff015dccccf92115de0aff00053334fbaf15750afb
+50fb3f15760aff01486666ff0202666815f7e40a0e6889a870b2f7b0b1d677f751b3
+70a8d17612f822aae3a7133380f850f9bf15b50af701fb3915c10a133b80c20a1337
+80460a133b80470a13b780480a13738087770513b3808d8905137380490a13b3804a
+0a137b804b0afffefd8000f71c158b8ffffffd3334ff0004ccccfffffb1998ff0004
+cccc08ffffb8999aff00433334ffffc3199a67ff0062b333ffffcd999c05ff000b33
+32fffffa6664ff0009ccce87928bff000a80008bff0002ccccff000a66688bff0004
+cccc080efb3481c7f7faaaf76a7701dedef751d003ff015dccccf92115de0aff0005
+3334fbaf15750afb50fb3f15760aff0012999aff0202666815f7e50a0e6889a870b2
+f7b0b1d677f751b370a8cb76f734a312f822aab0bb8ea7a9bf1333f0f8def99a15f7
+db0a6afb1415c10a133bf0c20a1337f0460a133bf0470a13b7f0480a1373f0877705
+13b3f08d89051373f0490a13b3f04a0a137bf04b0afb10f73315b50a0efb3481c7f7
+faaaf76a77e9a612dedef751d0ffffdd4cccff002fccce13f8ff015dccccf92115de
+0a13fcff00053334fbaf15df0afb50fb3f15760aff01701998f88515f7e60a13faf7
+e70a0e6889a870b2f7b0b1d677f751b370a8ab76ff008c4cccff0029ccccff0003cc
+d0ff002bb33012f822aae3a71333e0ff01fa3334ff0348199815ffffeb19988bffff
+ef8000ff00098000fffff1199aff000b6668ffffed199aff000d4ccc76ff000d4ccc
+6a8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff00
+126666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff001280
+00fffff59998ff00114cccfffff580009ffffff2b334ff00146666fffff49998ff00
+1833348bff0032999a8bff00269998ff001c8000ff001a999cc408ffffe6e664ff00
+05b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b08ff002e
+ccccffff3de66815c10a133be0c20a1337e0460a133be0470a13b7e0480a1373e087
+770513b3e08d89051373e0490a13b3e04a0a137be04b0a33f71315b50a0efb3481c7
+f7faaaf76a77c7b78fb901dedef751d003ff015dccccf92115de0aff00053334fbaf
+15750afb50fb3f15760aff0105b334f8ae15e30a0e68fb37ebcca870b2f7b0b1d677
+f751b370a8cc7612ff00ad3333ff00600001ff0080ccccaae3a7139de0f8bdf91a15
+450a139be0460a139de0470a13dbe0480a13b9e087770513d9e08d890513b9e0490a
+13d9e04a0a13bde04b0afffe843334fd8d15f70e0aff0112ccccfa2d15b50a0efb34
+fb37ebc4c7f7faaaf7637712dedeffffdc3333ebff0080cccdd013f2f7f7f80615df
+0afb50fb3f15f7e10a13faf7e20a13f6ffffdb3333fbce15f7cd0aff0102b334f98d
+15f7da0a0efbad89a8f8e3a8f724a301f759bb8da6abbf03f769f8cd15500af3f726
+15f7db0a0efbb181c7f7eda79877f74676c4a612ff00b34ccdff002fcccd13bcff00
+f54ccdff0140333415f70d0a13dc800aff007d199af86f15ff000380009cfffff84c
+ccb4548b618bffffd7e66768fffffb800075fffffd99997fff0004e6677c9e8b948b
+ff000f199995ff0002333496ff0001999993fffffe333391ffffff999a8effffff66
+668dffffff80008dff0000cccd8f088c90ff00063333919e8ba08b9181fffffb4cce
+74fffffd99987ffffff880007ffffff5999a7ffffff180007affffee800075fffff8
+199a6908a706ff00074ccda5ff000d66679cff00144ccc9bff00134ccc9bff001233
+349bff0004199a9f080efbadfb37ebcca8f8e3a801ff00353333eb03f769f8cd1550
+0affff603333fd4015f7ca0a0efbb1fb37ebc4c7f7eda79877f5eb12ff004f3333eb
+ff0019cccdeb13cef75df8ce157d0aff002c4ccdffff063334157e0a13de7f0a13ee
+800affff873333fb8315f7ca0a0ef6fb37ebc4adf8ecad01ff00576666ff005ae666
+ff004ee668ebff01081998e403f848f90415580af79bfbbb15590afffe463334fc50
+15f7290a0efb06fb37ebc4b0f80fac12d9deffffe73333ebff0095cccdde13f4f735
+f73e158c0a3883158d0a13ecff003a3333fba915f7cd0a0ef681adf8ecadc076f711
+a301ff00576666ff005ae666ff00d4b334bb8da6abbfff00414ccce403f848f90415
+580af79bfbbb15590afb50f82e15f7db0a0efb0681b0f80facf72f76c4a601d9deff
+00634cccff002fccceff0049e666de03f735f73e158c0a3883158d0aff0148199af8
+4915f7e30a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15
+b50a4afb4f15580af79bfbbb15590afb2dff01adcccc15ff00064ccc8bff000b3334
+8fff000eb334ff0005999c08ff00764cccff00326664ffffd28000afffff9d4cccff
+ffbccccc05fffff63334fffff8ccd0fffffb1998fffffa66648bfffff8cccc8bffff
+f9999cff0002ccd0fffffd9998ff000599988b080efb0681b0f80facf76a7701d9de
+f771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff008d8000ff003c
+666815f7e40a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf
+15b50a4afb4f15580af79bfbbb15590afffea18000f85b15f7de0a0efb0681b0f80f
+acf76a7701d9def771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff
+ff4fb334ff003c666815f7e50a0ef681adf8ecadc676f72fa312ff00576666ff005a
+e666ff016eb334bb8da6fffffb4ccce4ffffcbb334bf13fc00f889f9bf15b50a4afb
+4f1513fd00580af79bfbbb15590a69f8521513fe80f7db0a0efb0681b0f80facf76a
+77e9a612d9def771deffffc04cccff002fccce13fcf735f73e158c0a3883158d0aff
+011be666f87f15e60aff00b93332b615f7e60a13faf7e70a0ef681adf8ecadff008c
+4cccff0029ccccff0003ccd0ff002bb33001ff00576666ff005ae666f84be403ff02
+323334ff0348199815ffffeb19988bffffef8000ff00098000fffff1199aff000b66
+68ffffed199aff000d4ccc76ff000d4ccc6a8bffffd0b3348b6bffffe36668ffffe3
+66665308ff00194cccfffffb4ccc05ff00126666ff001f6668ff0011999aff000e33
+34ff001c999a8bff0012b3348bff00128000fffff59998ff00114cccfffff580009f
+fffff2b334ff00146668fffff49998ff001833308bff0032999c8bff00269998ff00
+1c8000ff001a999cc408ffffe6e664ff0005b33405ffffe73334ffffd81998ffffee
+6668fffff68000ffffe7cccc8b08ffff81ccccffff27e66815580af79bfbbb15590a
+fb4bf85415b50a0efb0681b0f80facf76a77ccb78fb901d9def771de03f735f73e15
+8c0a3883158d0aff011be666f87f15e60aff004ecccee415e30a0ef6fb37ebc4adf8
+ecadc17601ff00576666ff005ae666ff004ee668ebff01081998e403f848f9041558
+0af79bfbbb15590afffe463334fc5015f7290aff0103ccccfa2d15b50a0efb06fb37
+ebc4b0f80facf7647712d9deffffe73333ebff0095cccdde13faf735f73e158c0a38
+83158d0a13f6ff003a3333fba915f7cd0aff00e5b333f98e15e60a0ef71d7fadf8ca
+a793ada5e1587612e0e9f85ae836f70061b513ee00f964f7dd15f7310a13ed008c92
+8b918b910813f500b375ab6a1e6e8b787c87738a888b898b888b799679a8880813ec
+80f7330afba8f7bb1513e600f7340a13ec0063d515c30a0e467faef800a983acaedf
+12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13def7370a13bef7380a
+f7ebf89015ec0a0ef71d7fadf8caa793ada5e1577612e0e9f85ae836f70061b513f6
+00f964f7dd15f7310a13f500f7320a13f480f7330afba8f7bb1513e600f7340af70b
+e715f7e80a13ec00f7e90a0e467faef800a983acaedf12d9dff78fdcafb513bef736
+f73f15f7350a378315f7360a13def7370a13bef7380af7a3f89015ce0a0ef71d7fad
+f8caa793ada5e1a0a312e0e9f776bb8da6abbfcee836f70061b513ffc0f964f7dd15
+f7310a13ffa0f7320a13ff90f7330afba8f7bb1513ffc0f7340adce615f7db0a0e46
+7faef800a983acaedfac76c4a612d9dfff005d4ccdff002fcccdff006de666dcafb5
+13bfc0f736f73f15f7350a378315f7360a13dfc0f7370a13bfc0f7380aff0143199a
+f84815ff000380009cfffff84cccb4548b618bffffd7e66668fffffb800175fffffd
+99997fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93fffffe
+333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff000633
+32919e8ba08b9181fffffb4cce74fffffd99987ffffff880007ffffff5999a7fffff
+f180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66689cff0014
+4ccc9bff00134ccc9bff001233349bff0004199a9f080ef71d7fadf8caa793ada5e1
+41b78fb912e0e9f85ae836f70061b513f300f964f7dd15f7310a13f280f7320a13f2
+40f7330afba8f7bb1513e300f7340a13ee00ff0056b334f70815b60a0e467faef800
+a983acaedfffffd96668ff00306664ff00046668ff0032999812d9dff78fdcafb513
+a780f736f73f15f7350a378315f7360a13d780f7370a13a780f7380a138f80ff0133
+4cccff0197cccc15ffffeee6688bfffff2800096fffff3ccccff000d3334fffff099
+9aff000f6668ffffeeb332ff000f6664708bffffd94cce8bffffe5cccc6affffe899
+9affffbf199c08ff0014b333fffffa800005ff000effffff00244cccff000e8000ff
+00108000ff001766678bff000f4ccc8bff000f199afffff3e664ff000e3334fffff3
+e668ff00104cccfffff09998ff0010b334fffff2ccd0ff0013cccc8bff002966668b
+ff001f999aacff0015cccccd08ffffeb8000ff0006999805ffffebb334ffffd1cccc
+fffff1999a80ffffec33328b080ef71dfb37ebc2adf8caa793ada5e112e0e9ff004e
+3334ebff0117cccce836f70061b513ff00f964f7dd15f7310a13fe80f7320a13fe40
+f7330afba8f7bb1513ff00f7340affff453334fd7715f7290a0e46fb37ebc2aef800
+a983acaedf12d9dfff00023333ff00600001ff0098ccccdcafb513df80f736f73f15
+f7350a378315f7360a13ef80f7370a13df80f7380aff00563333fbaa15f70e0a0ed4
+fb37ebc4b4f8dfa801ff007bcccdff004ecccdff00209999ff0060000103f7c68115
+660affffb933332215f70e0a0e63fb37ebc4c7f7ddc712f70cdaffffd73333ebff00
+6acccdd913f4f88ef7f415940a13ecfffedc3334fb8315f7cd0a0ed481b4f8dfa8f7
+24a301ff007bcccdff004ecccdff00bc6666bb8da6abbf03f7c68115660af761f969
+15f7db0a0e6381c7f7ddc7f72f76c4a601f70cdaff005e4cccff002fccceff0013e6
+66d903f88ef7f415940afffff5199af86f15f7e30a0ef71e7fb4f8e1a7d47692df12
+f711ddf8bbf113dcf7d37f15f7ea0a13eceaf95a15c30a0e7f7fc2f7eac412f712da
+7edcf700d6f70db413ecf898f89415f73a0a13dcf73b0a13ecf73c0a2af73315ec0a
+0ef71e7fb4f8e1a7d47692df12f711ddf8bbf113dcf7d37f15f7ea0af785f96d15f7
+e80a13ecf7e90a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415f7
+3a0a13dcf73b0a13ecf73c0afb32f73315ce0a0ef71e7fb4f8e1a7c6df8da301f711
+ddf74ebb8da6abbff760f103f7d37f15f7390af756f96b15f7db0a0e7f7fc2f7eac4
+f72c76c4a612f712da7edcff001e4cccff002fccceff001de666d6f70db413fb80f8
+98f89415f73a0a13f780f73b0a13fb80f73c0affffbd199ae215f7e30a0ef71e7fb4
+f8e1a7c0b78fb901f711ddf8bbf103f7d37f15f7390aff00b6b334f98715b60a0e7f
+7fc2f7eac4dfb78fb912f712da7edcf700d6f70db413fbf898f89415f73a0a13f7f7
+3b0a13fbf73c0affffa2b334c515d10a0ef71efb37ebc2b4f8e1a7c6df01f711ddff
+001e3333ff00600001ff01a8ccccf103f7d37f15f7390affffae33332415f70e0a0e
+7ffb37ebc2c2f7eac412f712daffffd83333ff00600001ffffbaccccdcf700d6f70d
+b413f3f898f89415f73a0a13e7f73b0a13f3f73c0a13ebfffea13334fd0715f7cc0a
+0e8289a8f8e3a8d27601f7e4d7156a0af737f91415b20a0e51fb7ec8ff02178000ff
+004c800001f871ff0048666803ff01608000169a0ab7f97915ce0a0e82fb37ebcca8
+f8e3a801ff00cf3333ff0060000103f7e4d7156a0affff7f3333fb5315f70e0a0e51
+fb7ec895ebff01ad8000ff004c800001ff012a3334ebff0052ccccff0048666803ff
+01608000169a0afffff733345e15f7290a0e8289a8f8e3a8f724a301f7f1bb8da6ab
+bf03f7e4d7156a0af719f91315f7db0a0e51fb7ec8ff02178000ff004c8000f72f76
+c4a601ff011a4cccff002fccceff0092e666ff0048666803ff01608000169a0aff00
+79199af93115f7e30a0e8289a8f8e3a8bfb78fb901f7e4d7156a0aff008ab334f92f
+15b60a0e51fb7ec8ff02178000ff004c8000e2b78fb901f871ff0048666803ff0160
+8000169a0aff0050b334f91415d10a0eb77fcb4baaf81ea8d89ce2d612f842ac137c
+f842f76215f7eb0aac9915f7ec0a13bcf7ed0afb5ff79415f7ee0a0eb77fcb4baaf8
+1ea8d89ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bcf7ed0afb6cf7
+9415f7ef0a0eb77fcb4baaf81ea8d89ce2d612f822d363ac80a4137af842f76215f7
+eb0aac9915f7ec0a13baf7ed0afbc0f79415f7f00af363151339f7f10a133cf7f20a
+0eb77fcb4baaf81ea8d69ce2d612f826d35fac84a3137af842f76215f7eb0aac9915
+f7ec0a13baf7ed0afbb5f79215f7f30aec63151339c0fb1b05133a8c898c89908b08
+1339f7f40a133cf7f50a0eb77fcb4baaf81ea8d89ce2d512f842ac133cf7d3f94d15
+f7f60af73e9215f7f70a50fc8615766d05137cf7f80aac9915f7ec0a13bcf7ed0a0e
+b77fcb4baaf81ea8d69ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bc
+f7ed0afbaff79215f7f90af7428f15f7fa0a0eb77fcb4baaf81ea8b29de2d6a5b58b
+b812f842ac1339f80ff92915678b7c79887b877a8b73b48b928b8d82898186757165
+5f83088c7905e790aad790a50893af7db0658b08133ddbcf15133bf7fb0a133da087
+05133b9ca89c98a08b08133df7fc0a133bf7fd0a6efc9f15766d051379f7f80aac99
+15f7ec0a13b9f7ed0a0eb77fcb4baaf81ea8b59ce2d6a2b68bb812f842ac1379f842
+f76215f7eb0aac9915f7ec0a13b9f7ed0a133dfb1ff7b315133bf7fe0a133da08705
+133bf7ff0a133df8000a133bf8010a3f4915f8020a0ef71a8aa8f76cb2f79a9ceb77
+96d61213f0f72ed315f8030af734f76715f8040a13e8fb5df84d15f8050a0ef71a8a
+a8f76cb2f79a9ceb7796d61213f0f72ed315f8030af734f76715f8040a13e8fb60f8
+4d15f8060a0ef7438aa8f76cb2f7979cee7793d612f79ad27da313f0f758d315f807
+0af734f76715f8080a13e8fc0cf84a15f8090af4631513e2f80a0a13e4f80b0a0ef7
+288aa8f76cb2f7959cf07790d612f78bd17da313f2f73dd315f80c0af734f76715f8
+0d0a13e8fbf9f84715f80e0aed641513e2f80f0a13e4f8100a0ef7218aa8f76cb2f7
+969cef7792d51213f0f735d315f8110af734f76715f8120a13e8fbe3f84815f8130a
+f73e9215f8140a0ef7218aa8f76cb2f7969cef7792d61213f0f735d315f8110af734
+f76715f8120a13e8fbd3f84915f8150af7428f15f8160a0ef72e8aa8f76cb2f7259c
+e2d6a5b67977b1b81213f4f743d315f8070af734f76715f8080afbd6f7d815678b7c
+79887b887b8b72b48b928b8e838981867472665f82088c7a05e790a8d691a592af7c
+b0658b0813f8dad01513f6628b7fb8548b638b706f74540813f8a0860513f2f8170a
+13f8b18ba160b58bb68baba5a2c30813f275910577697c80778b080ef7308aa8f76c
+b2f7289ce2d6a1b77977b1b81213f4f745d315f8180af734f76715f8190a13f8fb72
+f81d1513f2f81a0a13f8a0860513f2f81b0a13f8f81c0a13f2f81d0a404915f81e0a
+0efb337facf751a7f743a8d99ce2d501f728f70b15f81f0af761f8d715668b7d7987
+7c887a8a73b48b928b8e828981867571655f83088c7a05e68faad791a493b07daf65
+8b080efb337facf751a7f743a8d89ce2d601f728f70b15f81f0af769f8d715648b6e
+66836786718a3fe48708929c05649381b190a18d969093938bb38b95a38f9c8e9b84
+9d688b080efb337facf751a7f743a8d59ce2d612f80dd27aa313f8f728f70b15f820
+0af711f8d415f8210a13fcf3631513fac1fb1b058c898c89908b948b92918c90088b
+900513fc84f72c058a9683927a8b728b7a7a887a088a878b868c87080efb337facf7
+51a7f743a8d49ce2d612f80bd27aa313f8f728f70b15f8200af716f8d315658b6d66
+846785718a40e58608929c05649481b090a28c959193928bb48b95a48e9b8f9b849d
+678b0813fcec631513faf8220a13fc84f72c058a968392798b748b797a887a088a87
+8b868c87080efb337facf751a7f743a8d59ce2d601f728f70b15f81f0af710f8d415
+678b7d79877b887b8a72b48b928b8d838981867471666082087a07e790aad691a593
+af7cb0658b08f73e9115828b7887847c0849fb30058a8b8a8b1f8a888c82988b8d8b
+8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efb337facf751a7f743a8d6
+9ce1d601f728f70b15f81f0af71af8d415f8230af7428f15f8240a0ef7068bb265a6
+f7bfaddd77f70e9cb7b36fa78ed612f8a2adf3a6133bc0f954f91a15133dc0fb948b
+3d8a05137bc0f8250a13bdc0f8260afca8f76e15f8270a0ee38bb265a6f7bfaddd77
+f70e9cb7b36fa78dd612f889acf3a7133bc0f93bf91a15133dc0f8280a137bc0fb16
+8c8776058a888b87928b08a906b18b967d856c082afc8905856f7c7b638b086e0684
+8b89878a88088775f7168d0513bdc0d88af7ba8bc3f7347290056d426556498b08fb
+4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c07888c87911ea28b8e8e058c
+9c8eb892ad91ac97b093a48c8d8a8d888b087506878b88878a87087e6d057f6f7f7b
+688b08fb1c8bb4f769058fa39993a38b08f72c06bf8ba14f8a6008a78e05fc9af76d
+15658b6e67846686728c3fe48708939c05629381b08fa28d969092938bb38b95a48e
+9b8e9c849c678b080ef7a68bb265a6f7bfaddd77f70a9cbbb36fa78ad512f797d27c
+a3f7f0acf3a6133a30f9f4f91a15133c30fb948b051339303d8a05137a30fb168c87
+7605888b87921ea906b18b957d866c0829fc8905866f7c7b638b086d06858b89878a
+88088775f7158d0513bc30d98af7b98bc4f7347290056d4264564a8b08fb4c06758b
+7e9190a608bcf793f71d8b05ad937c6e1f6c07888c87901ea28b8f8e058b9c8fb891
+ad92ac97b093a4088d8a8d891e7506878b88878987087e6d05806f7f7b688b08fb1d
+8bb4f7690590a39993a38b08f72c06bf8ba14f8a6008a68e05133930fd4cf7691567
+8b7c79897c877a8c73b48b918b8d828981877572655f83088c7a05133a30e78fa9d7
+90a40892b07caf658b08f46415133870c2fb1c058c898d898f8b968b90928c90088c
+8c8e8a1e1338b082f72c058a9682927a8b738b7a7a887b8a868b878d87080ef7958b
+b265a6f7bfaddd77f7089cbdb36fa788d612f78bd17da3f7ebacf3a6133a30f9e4f9
+1a15133c30f8280a137a30f8290a13bc30f82a0a133930fd40f76815648b6f668467
+85718c3fe58708919c05649380b190a28d959093928bb48b95a38d9c088f9b849d67
+8b08ed6315133870c2fb1b058c898d898f8b958b91918c90088b90051338b081f72c
+059682927a1e738b7a79887b8a878b868d87080ef7978bb265a6f7bfaddd77f7089c
+bdb36fa788d612f934acf3a6133ac0f9e6f91a15133cc0f8280a137ac0f8290a13bc
+c0d88af7ba8bc3f7347290056d426556498b08fb4c06758b7e9190a608bdf793f71c
+8b05ad937c6e1f6c07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a
+8d888b087506878b88878987087f6d057f6f7f7b688b08fb1d8bb5f769058fa39993
+a38b08f72c06bf8ba14f8a6008a68e051339c0fd3ef76815678b7d79877b887b8b72
+b48b928b8d838a81867472665f82088c7a05e790a8d691a50892af7cb0658b08f73e
+9115818b7887857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f
+8d8f8b8f8d9688a16e8b080ef78d8bb265a6f7bfaddd77f70a9cbbb36fa78ad612f9
+29acf3a7133ac0f9dbf91a15133cc0fb948b051339c03d8a05137ac0fb168c877605
+888b87911ea906b18b967d856c082afc8905856f7d7b628b086e06848b89878a8808
+8875f7158d0513bcc0d98af7b98bc4f7347190056d426556498b08fb4c06758b7e91
+91a608bcf793f71d8b05ac947c6e1f8a6c05888d87901ea28b8e8e058c9c8eb892ad
+91ac97b093a48c8d8a8d898b087506878b87878a87087e6d057f6f807b678b08fb1c
+8bb4f7690590a39893a38b08f72d06be8ba14f8a6008a78e051339c0fd3ff76a1564
+8b6f66846786718b40e48608939c05639380b190a28d959093928bb48b95a48e9c08
+8e9a849d678b08f7428f15818b7887847c084cfb308b8a058a888c82978b8e8b8f8b
+8d9008f2f71e058e8f8d8f8b8f8e9686a16f8b080e72fb6576f904bbd89ce2d501f7
+f2de03f7a7f84e15f82b0af76cf7ec15f82c0a0e72fb6576f904bbd89ce2d601f7f2
+de03f7a7f84e15f82b0af74ef7ed15f82d0a0e72fb6576f904bbd69ce2d512f7f2de
+c6d27aa313f8f7a7f84e15f82b0af71cf7ea15f82e0af3641513faf82f0a13fcf830
+0a0e72fb6576f904bbd29ce2d6927712f7f2decbd213e6f7a7f84e15f82b0a13f6f7
+28f7e715f8310aec6315f8320a13eef8330a0e72fb6576f904bbd59ce2d601f7f2de
+03f7a7f84e15f82b0af724f7ea15f8340af73f9115f8350a0e72fb6576f904bbd49c
+e1d601f7f2de03f7a7f84e15f82b0af72af7e815f8360af7428f15f8370a0e72fb65
+76f904bbb29de1d6a5b68bb812f7f2de13f2f7a7f84e15f82b0af757f7c715f8380a
+13fadbd01513f6f8390a13faa0860513f6f83a0a13faf83b0a13f6f83c0a0e72fb65
+76f904bbb59ce2d6a2b68bb812f7f2de13f2f7a7f84e15f82b0a13faf7a4f80c1513
+f6f83d0a13faa0870513f6f7ff0a13faf83e0a13f6f83f0a3f4915f8400a0ef77a8a
+a8f7bcb2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8270a0ef77a8aa8f7bc
+b2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8420a0ef8218aa8f7bcb2f744
+9cc9a788d612f799d27da313f0f9a5d315856f7b7b628b087006868b88888a860887
+788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08
+ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a8778058a868f888f8b08a506b38b987d846d0863fb67fbdb8bb4f7670590a79c
+9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a86
+8e88908b08a506b38b977d856d082afc8a05856f7a7b628b087106868b88888a8608
+87788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa
+08bcf790f7db8b0513e8fd39f81e15678b7d79887b887b8b72b48b918b8e83898186
+7472665f82088d7a05e690a9d690a50892af7cb0658b08f4631513e2c3fb1b058c89
+8c89908b948b92918c90088b900513e4f8430a0ef8168aa8f7bcb2f7449cc9a787d6
+12f78cd213f4f99ad315f8440a13ecfd34f81d15f8450aed6415f8460a0ef8198aa8
+f7bcb2f7449cc9a788d61213f0f99dd315f8470a13e8fd3af81e15f8480af73e9115
+f8490a0ef80f8aa8f7bcb2f7479cc6a78bd61213f0f994d315f84a0a13e8898c058b
+2e8a671e13f0f84b0a13e8f84c0a13f0f84d0a13e8fd30f82115f84e0af7428f15f8
+4f0a0ef7ff8aa8f7bcb2cc9ce2d597a77db78bb81213f8f983d315f8500afce4f7ae
+15f8510a13f4dad11513f2f8520a13f4a0860513f2f8530a13f4f8540a13f2f8550a
+0ef8098aa8f7bcb2d09ce1d693a77eb68bb81213f8f98ed315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e878b0870
+06648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b
+2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda
+8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b
+1e898a8878058a868e888f8b08a606b28b987d856d0829fc8a05866f7a7b628b0871
+06868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08bcf790f7db8b0513f4fca9f7f41513f2f8560a13f4a0860513
+f2f8170a13f4f8570a13f2f83c0a414915648b6e66846887718b3fe48708939c0563
+9380b08fa28d969192928bb38b95a48f9c8e9b839c688b080efba67fc0f82577e29c
+e2d601f700f76303f797f84e15f8580ae3f8f415668b7d78887c877b8b72b48b928b
+8d828982867471665f82088c7a05e790aad690a593af7db0658b080efba67fc0f825
+77e29ce2d601f700f76603f797f84e15f8580aebf8f415f8590a0efba67fc0f82577
+ea9ce2d612f7bdd27aa313f0f797f84e15f8580a95f8fc15678b7d79877b887b8a72
+b48b928b8e838981867470666082087a07e790aad691a592af7db0658b08f4631513
+f4c0fb1b058c898c898f8b968b91918c90088b900513f884f72c059682927a1e728b
+7a7a887a8a878b868d87080efba67fc0f82577e89ce2d612f7bad37aa313f0f797f8
+4e15f8580a9af8fa15658b6d66846785718a40e58608929c05649481b08fa28d9591
+93928bb48b95a48e9b8f9b849d678b08ec631513f4f8220a13f884f72c058a968292
+7a8b738b7a7a877a8a878c868c87080efba67fc0f82577e99ce2d601f700f7af03f7
+97f84e15f8580a93f8fb15f8210af73e9115828b7887847c0849fb30058a8b8a8b1f
+8a888c82978b8e8b8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efba67f
+c0f82577ea9ce1d601f700f7bb03f797f84e15f8580a9bf8fb15f8230af7428f15f8
+240a0efba67fc0f82577c59de1d6a5b78bb712f700f7dc13f2f797f84e15f8580aea
+f8d715678b7c79887b887b8a72b48b928b8d838981867471665f83088c7905e790aa
+d791a492af7db0658b0813fadbd11513f6638b80b7538b638b706f73530813faa087
+0513f6f85a0a13faf85b0a13f6f85c0a0efba67fc0f82577c99ce1d7a1b78bb712f7
+00f7da13f2f797f84e15f8580a13faf741f91d1513f6638b80b7548b628b706f7354
+0813faa0860513f6f85a0a13faf85b0a13f6f85c0a3f4915658b6d65846885718a3f
+e58708929c05649381b08fa28d969192928bb48b95a48e9c8f9b849d678b080efb46
+8aa8f89a9cc2a690d601f819f8d21590a79c9bb48b08a6068f8b8f8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0829fc
+8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d
+8f9e058c90878e878b087006648b7e9891a908fb1df92215678b7d79887b887b8b72
+b48b928b8c838a81867472665f82088c7a05e790a9d690a592af7cb0658b080efb58
+8aa8f8999cc3a78ed601f807f8d215f85d0afb0df92115648b6e66856786718b40e5
+8608929c05639480b090a28d969092928bb48b94a48f9b8e9c849c678b080e818aa8
+f8949cc8a789d512f795d27da313e0f8c1f8d215f85d0a13d0fbc6f91b15678b7d79
+887c887a8b73b48b928b8d828981877571656083088c7a0513e0e78fa8d790a50892
+af7caf658b08f4641513c4f85e0a13c881f72c059682927a1e728b7a7a887b8a878c
+868c87080e658aa8f8959cc7a68bd612f784d27ca313e0f8a5f8d21590a79c9bb48b
+08a606908b8e8e8c900813d08f9e898c058b2e8a6764348c8b1e898a87780513e08a
+868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b087006868b88888a86
+0887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891
+a90813d0fbb4f91d15648b6f66846785718c3fe48708939c05639380b090a28d9690
+93928bb48b94a38f9c088e9b849d678b08ed631513c4c2fb1b058c888d8a8f8b958b
+91918c90088b900513c882f72b058a9782927a8b738b7a79887b8a878b868d87080e
+6f8aa8f8969cc6a78bd61213e0f8aff8d21590a79c9bb48b08a506908b8f8e8c9008
+8f9e0513d0f84c0a13e064348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d0829fc8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891a90813d0fbbdf91e15668b7d79887b
+887b8b72b48b928b8d838981877471666082088c7a05e790a9d68fa50892af7db065
+8b08f73d9115828b7887847c084cfb308b8a058a888b82988b8d8b908c8d8e08f2f7
+1f058d8f8d8f8c8f8d9687a16e8b080e6e8aa8f8979dc4a78cd601f8aef8d215f85d
+0afbb8f91f15658b6f66846785728c3fe48608939d05639380b090a28d969092928b
+b48b94a48e9b8e9c849c678b08f7438f15808b7987847c084cfb308b8a058a888c82
+978b8e8b8f8c8d8e08f2f71f058e8f8d8f8b8f8d9687a16f8b080e558aa8f8299ce2
+d691a783b68bb81213f0f894f8d215f85f0afb76f8b115678b7d79887b887b8b72b4
+8b928b8d838981867472665f82088c7a05e790a9d690a592af7db0648b0813e8dad0
+1513e4638b7fb8548b628b716f73540813e8a0860513e4f7ff0a13e8f8600a13e4f8
+3c0a0e6c8aa8f8299ce2d691a77fb78bb81213f0f8abf8d21591a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a877805868e888f1ea606b2
+8b987d856d0829fc8b05866f7a7c628b087106868b87888a860887788d89058be98d
+aeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891a90813e8fb35f8f315
+13e4f8610a13e8a0860513e4f8530a13e8f81c0a13e4f8620a404915658b6e668467
+86718b40e48608939c05639381b18fa28d959093928bb48b95a48e9b8e9b849d678b
+080e3d7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f8640af7c4f87715
+678b7c78887c887b8a72b48b928b8d828982867471665f82088c7a05e790aad691a5
+92af7db0658b080e3e7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f864
+0af7ccf87715658b6d66846786718a40e48608929c05649480b090a28e959093938b
+b38b95a48f9b8e9b849d678b080e3e7faef816accc9ce2d6927712f82ed27aa313e0
+f7d7f82d15f8650afb84fb6015f8640a13f0f773f87515678b7d79877b887b8a72b4
+8b928b8d838981867471665f82088c7a05e790aad691a50892af7db0658b08f46315
+13eaf8660a13ecf8670a0e3e7faef816accc9ce2d6927712f82ed27aa313e0f7d7f8
+2d15f8650afb84fb6015f8640a13f0f77bf87515648b6d66846786718a40e4860892
+9c05649480b090a28e969092928bb48b95a48f9b088e9b849d688b08ec631513eaf8
+660a13ecf8670a0e3e7faef816acc99ce2d691771213e0f7d7f82d15f8650afb84fb
+6015f8640a13f0f773f87215678b7d79887b877b8b72b48b928b8c838a8186747166
+5f82088c7a05e790a9d691a50893af7cb0658b0813e8f73f9115808b7988847b0849
+fb308b8a058a888b82978b8e8b8f8c8e8f08f4f71f058e8e8d8f8b8f088e9687a16f
+8b080e3e7faef816accc9ce1d78e771213e0f7d7f82d15f8650afb84fb6015f8640a
+13f0f77af87515648b6e65836886718a3fe48708939c05639381b090a28d96919292
+8bb48b95a48e9c088f9b839d688b0813e8f7428e15f8680a0ef7417fadf89f9cc9ad
+01f98ef7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7
+408bf7538bf72bf721b2f75c08fba3f7bb15f7138be32163fb6468fb47fb01fb01fb
+068bfb188b35f705b1f754b4f766f712e2eb8b08fbe1ef15f8270a0ef74e7fadf89f
+9cc9ad82d61213e0f99bf7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c65fb5864
+fb59f707fb11f7418b08f7528bf72bf721b2f75c08fba3f7bb15f8690a13d0fbf7ef
+15658b6e66846786718c40e48608929c05649480b08fa28e969092928bb38b95a48e
+9b088e9c849c678b080ef7e17fadf8999ccfad7cd512f78ed213e8fa2ef7dd15b1f7
+5afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7418b08f7528bf72b
+f721b2f75c08fba3f7bb15f8690a13d8fc8de815678b7c79887c887a8b73b48b928b
+8e828982867472655f83088c7a05e78fa9d790a50892af7caf658b08f46415f8460a
+0ef7e97fadf8999ccfad7bd612f786d213e8fa36f7dd15f86a0afba2f7bb15f7128b
+e42162fb6469fb47fb01fb01fb078bfb178b35f705b0f754b4f766f712e2ec8b0813
+d8fc96e815648b6e66846886718b3fe58708929c0513e8649380b08fa20813d88d96
+9192928bb38b95a48e9c088e9b849c688b08ec6415f8460a0ef7d07fadf89b9ccdad
+7ed51213e0fa1df7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f7
+07fb11f7408b08f7538bf72bf721b2f75c08fba3f7bb15f7138be42162fb6468fb47
+fb00fb01fb078bfb188b35f705b1f754b4f766f712e2eb8b0813d0fc73ea15678b7d
+79887c887a8b73b48b928b8d828981867572656083088c7a05e78fa8d790a40892b0
+7caf658b08f73f9215808b7987847b084cfb308b8a058a888c82978b8d8b908c8d8f
+08f2f71f058d8f8d8e8c8f8d9787a16f8b080ef7be7fadf89c9cccad7ed61213e0fa
+0bf7dd15f86a0afba2f7bb15f86b0a13d0fc69eb15f86c0af7428f15f86d0a0e4c7f
+baf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb0cf84b15668b7d
+78887c877b8b72b48b928b8d828982867471665f82088c7a05e790aad691a592af7d
+b0658b080e4c7fbaf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb
+04f84b15648b6e66846785718a40e58608929c05649480b090a28e959093928bb48b
+95a48e9b8f9b849d678b080e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893
+f78d15f86e0a13b2f86f0a139afb5df84915678b7c79887b877b8b72b48b928b8d83
+8981867471665f82088c7a05e790aad690a50893af7db0658b08f46315f8700a1396
+f8710a0e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893f78d15f86e0a13b2
+f86f0a139afb56f84915658b6d66846785718a40e58608929c05639481b090a28e96
+9092928bb48b95a48e9b088f9b849d678b08ed6315f8700a1396f8710a0e4c7fbaf7
+e1d557bfc99ce2d691771213d0f893f78d15f86e0a13b0f86f0a1398fb5cf8461566
+8b7d79887b877b8b72b48b928b8d838981867471665f82088c7a05e790aad690a508
+93af7db0658b081394f73e9115f8680a0e4c7fbaf7e1d557bfcc9ce1d78e771213d0
+f893f78d15f86e0a13b0f86f0a1398fb56f84915648b6e65846885718a3fe5870892
+9c05639381b090a28e969092928bb48b95a48e9c088f9b849d678b081394f7428e15
+818b7888857b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f
+8c8f088d9688a16e8b080e4c7fbaf7e1d557bfb39de1d6a5b68bb81213d8f893f78d
+15f86e0a13b8f86f0afb03f83015678b7d79877b887b8a72b48b928b8e8388818674
+71665f83088c7905e790aad791a493af7cb0658b08139cdbd015139a638b80b8548b
+628b706f735308139ca08705139af83a0a139cf8720a139af8730a0e4c7fbaf7e1d5
+57bfb29de1d7a1b78bb71213d8f893f78d15f86e0a13b8f86f0a139c5df87215139a
+638b80b7538b638b706f725408139ca08605139af85a0a139cb18ba05fb58bb78bab
+a5a2c308139a76910577697b81778b083f4915648b6e65836886718a3fe48608939d
+05639381b090a28d969192928bb48b95a48e9c8f9b839d688b080ef7258aa8f8999c
+c3a78ed601f824d315856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa08b6f771f760f7ad05
+a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827e3c8c8b1e8a8a8777
+058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f05869988
+948d918d94918f9e8b08a8068f8b8e8f8c8f088e9e8a8c058bfb008a857e2e8c8b1e
+898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905fbaf
+f84f15658b6e66846786718c40e48608929c05649480b08fa28d969192928bb38b95
+a48e9b8e9c849c678b080ef7c48aa8f8949cc8a788d612f78cd27da313e0f8c3d315
+856f7b7b628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e
+058c90878e878b087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106
+908b8f8d8c90088f9f8a8c058b3c8a827f3c8c8b1e898a8777058a888c87908b08a8
+069f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b
+08a7068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c8b1e8a8a8777058985928a
+8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f8491513e0658b
+6e66846886718c3fe48708929c05639381b08fa20813d08d969092938bb38b95a48e
+9c088e9b849c678b08ed641513c4f85e0a13c881f72c058a968392798b738b7a7a88
+7b8a878c868c87080ef7c48aa8f8969cc6a78bd61213e0f8c3d315856f7b7b628b08
+7006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b
+087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c9008
+8f9f0513d08a8c058b3c8a821e13e07f3c8c8b1f898a8777058a888c87908b08a806
+9f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b08
+a7068f8b8e8f8c8f088f9e0513d0898c058bfb008a851e13e07e2e8c8b1f8a8a8777
+058985928a8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f84c
+15648b6e66856786718b3fe58708929c05639380b090a28d969093928bb48b95a38d
+9c088f9b849d678b08f7428f15818b7887857b084bfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8c8f8c8e8d9788a16e8b080ef78b8aa8f8289ce1d693a7
+7eb68bb81213f0f88ad315856f7a7b628b087106868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b5f771f760f7
+ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b1e8a8a
+8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f0586
+9988948d918d94918f9e8b08a8068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c
+8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905
+13e8fb9af81f1513e4f8560a13e8a0860513e4f8170a13e8f8600a13e4f83c0a4149
+15648b6e66846886718c3fe48708939c05639380b08fa28d969192928bb38b95a48f
+9c8e9b839c688b080ef7237faef787b1f71e77f29ce2d601f955f76215f8740afbba
+aa15f8750adbf86715f8760a0ef7237faef787b1f71e77e29ce2d601f955f76215f8
+740afbbaaa15f8750ae0f85715f8770a0ef7237faef787b1f71e77e09ce2d6927712
+f892d379a313f0f955f76215f8780afbbaaa15f8750a13f887f85515f8790af36315
+13f5f87a0a13f6f87b0a0ef7237faef787b1f71e77e09ce2d6927712f892d379a313
+f0f955f76215f8780afbbaaa15f8750a13f88ef85515f87c0aec631513f5f87a0a13
+f6f87b0a0ef7237faef787b1f71e77dd9ce2d691771213f0f955f76215f8780afbba
+aa15f8750a13f887f85215f87d0a13f4f73e9115f87e0a0ef7237faef787b1f71e77
+e09ce1d78e771213f0f955f76215f8780afbbaaa15f8750a13f88df85515f87f0a13
+f4f7428e15f8800a0ef7237faef787b1f71e77c19ce2d6a5b68bb81213f8f955f762
+15f8780afbbaaa15f8750acff83615f8810a13fcdbd01513faf7fb0a13fca0860513
+fa9ca89d99a08b0813fcf8720a13faf8820a0ef7237faef787b1f71e77c59de1d7a1
+b78bb81213f8f955f76215f8780afbbaaa15f8750a13fcf72bf87d1513faf8830a13
+fca0860513faf85a0a13fcf85b0a13faf8840a3f4915f8850a0ef7618bc6f87a9cc9
+ad82d612f71ea5f8c2a513ecf8bdf70915f70ab0f0f2a2f70ca8f72841f719fb5c8b
+fb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799291c008718b7bfb
+0bf7678b05978b92918c95089cf713053bc970c8a0f704a5f714eaf70af71e8bf716
+8bc92170fb2176fb00554225560869fb130589818e85978b08f7648ba9f70b718b05
+7a5275885a8b082a0613dcfbeff92d15f8050a0ef77b8bc6f87a9cc9ad82d612f738
+a4f8c3a513ecf8d7f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb
+2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf7678b0597
+8b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc9216ffb21
+76fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5274885b8b
+08290613dcfbfdf92d15648b6e66846787718b40e48608939c05639480b08fa28e96
+9092928bb48b94a48f9b088e9c839c688b080ef7f78bc6f8749ccfad7cd612f78fd2
+69a486a3f8b0a513e5f953f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598b
+fb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf767
+8b05978b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc921
+6ffb2176fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5275
+885a8b082a0613d1fcb0f92715f8860af4631513c3f8870a13c9f8430a0ef7e58bc6
+f8749ccfad7bd612f783d263a58aa3f8aba513e5f941f70915f70ab0f0f2a3f70ca8
+f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf066088351268b05578b79
+9291c008718b7bfb0bf7688b05968b92918c95089cf713053bc970c8a1f704a4f714
+eaf70af71f8bf7158bc92170fb2176fb00554225560869fb130589818f85978b08f7
+638ba9f70b718b057a5275885b8b08290613d1fca3f92615f8880a13e1639380b090
+a20813d1f8890aed641513c3f80f0a13c9f88a0a0ef7be8bc6f8769ccdad7ed612f7
+7aa5f8c3a513ecf91af70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17
+fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b7cfb0bf7678b05
+978b92918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb
+2176fb00564225560869fb130588818f85978b08f7648ba9f70b718b057a5274885b
+8b08290613dcfc70f92915f88b0af73e9115f88c0a0ef7c28bc6f8779cccad7ed612
+f77ea5f8c3a513ecf91df70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb
+17fb2971fb1872fb14cc2cef66088451268b05568b799291c008718b7cfb0bf7678b
+05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7168bc9216f
+fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b057a527488
+5b8b08290613dcfc75f92915f86c0af7428f15f86d0a0ef7b58bc6f8069ce2d59cad
+72b78bb812f771a5f8c3a513f3f910f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cb2cf066088451268b05568b799291c008718b7c
+fb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b
+057a5274885b8b082906fc3bf8b815678b7c79887c887b8b72b48b928b8d82898287
+7472665f82088c7a05e790a9d690a592af7caf658b0813ebd9d11513e7638b7fb854
+8b628b716e74540813eba0860513e7f8530a13ebb18ba15fb58bb68baba5a2c30813
+e775920578697b80768b080ef7cf8bc6f80a9ce1d698ad73b68bb812f78ca5f8c3a4
+13f3f92bf70915f70ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb16fb2971fb18
+72fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c
+95089cf713053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb0055
+4225560869fb130589818e85988b08f7638ba9f70b728b05795275885b8b08290613
+ebfbfaf8fe1513e7638b7eb8548b628b716f73540813eba0860513e7f83a0a13ebf8
+570a13e7f88d0a3f4915658b6e66846886718c3fe48708929c05649380b090a28d96
+9092928bb38b95a48e9c8e9b849c678b080eb77fcb4baaf81ea812f7c2d0c6ac1378
+f842f76215f7eb0aac9915f7ec0a13b8f7ed0afb9ff77b15f88e0a0eb77fcb4baaf8
+1ea812f842ac1370f842f76215f7eb0aac9915f7ec0a13b0f7ed0afb2ef78415f88f
+0a0efb337facf751a7f743a801f7a8d003f728f70b15f81f0af72ef8be157c82827f
+897f89868c868d8708d6fb0f058d898d8a8f8b8e8b8f8d8f8d8e8e8c8e8c8e088b8e
+6cf726058a90888f868e878e868c858b858b84898588080efb337facf751a7f743a8
+01f728f70b15f81f0af78af8c515808b7d8585800838fb2205898789868b8a898492
+85938b8f8b8f8e8f8f08f70af70e0590908d918c8f8fa07a9c778b080e72fb6576f9
+04bb12f7f2de3fd013e0f7a7f84e15f82b0af716f7d91513d0f8900a13e0f8910a13
+d0f8920a0e72fb6576f904bb01f7f2de03f7a7f84e15f82b0af776f7dc15f8930a0e
+fba67fc0f8257701f74bd003f797f84e15f8580aa5f8e7157c82827f897f89868c86
+8d8708d6fb0f058c898e8a8f8b8e8b8e8d8f8d8e8e8d8e8c8e088b8e6cf726058a90
+888f868e868e868c868b858b84898588080efba67fc0f8257701f700f77e03f797f8
+4e15f8580af712f8ef15808b7d8585800838fb2305898889868b8a8a849184938b8f
+8b908f8e8f08f70af70e0590908d918c8f90a0799c778b080e397faef816ac01f7d1
+f82d15f8940afb83fb6015f8950af785f864157c828280887f8b858b878d8708d6fb
+0f058d898d8a8e8b8f8b8f8d8e8d8e8d8d8e8c8e088b8f6cf725058a91888e868f86
+8d878d858b858b84898587080e397faef816ac01f7d1f82d15f8940afb83fb6015f8
+950af7f0f87115818b7c8585800838fb23058a8889868a8a8a849085938b908b908e
+8e8f08f70af70e0590908d918c8f8fa07a9c778b080e437fbaf7e1d557bf12f7c2d1
+13d0f893f78d15f86e0a13b0f86f0afb4af836157b828380887f8a858b878d8708d6
+fb0f058d898e8a8e8b8f8b8e8d8e8d8e8d8e8e8b8e088b8f6df725058a91888f858e
+868d878d868b848b84898687080e547fbaf7e1d557bf1213c0f893f78d15f86e0a13
+a0f86f0a52f84515808b7c8585800838fb23058a8889868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080ef7237faef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960a0ef7237faef787b1f7
+1e7701f955f76215f8740afbbaaa15f8750af716f85315f8970a0eb7fb83b4f74ecb
+4baaf81ea8d89ce2d612f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0a
+fb5ff79415f7ee0afb63fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612
+f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0afb6cf79415f7ef0afb56
+fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612f822d363ac80a413bd00
+f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbc0f79415f7f00af36315139c80
+f7f10a139e00f7f20afb6afd7115f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d6
+12f826d35fac84a313bd00f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbb5f7
+9215f7f30aec6315139c80c0fb1b05139d008c898c89908b08139c80f7f40a139e00
+f7f50afb6efd6f15f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d512f842ac139e
+f7d3f94d15f7f60af73e9215f7f70a50fc8615766d0513bef7f80aac9915f7ec0a13
+def7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d612f842ac13
+bef842f76215f7eb0aac9915f7ec0a13def7ed0afbaff79215f7f90af7428f15f7fa
+0afbc1fd9b15f8980a0eb7fb8bb4f756cb4baaf81ea8b29de2d6a5b58bb812f842ac
+139c80f73a3815793a057f51ab72bc8ba48bbc9aa8d0087493057f707673798b778b
+82a297c20896bf779205f733f96e15678b7c79887b877a8b73b48b928b8d82898186
+7571655f83088c7905e790aad790a593af7db0658b08139e80dbcf15139d80f7fb0a
+139e80a08705139d809ca89c98a08b08139e80f7fc0a139d80f7fd0a6efc9f15766d
+0513bc80f7f80aac9915f7ec0a13dc80f7ed0a0eb7fb83b4f74ecb4baaf81ea8b59c
+e2d6a2b68bb812f842ac13bc80f842f76215f7eb0aac9915f7ec0a13dc80f7ed0a13
+9e80fb1ff7b315139d80f7fe0a139e80a08705139d80f7ff0a139e80f8000a139d80
+f8010a3f4915f8020afb57fd7615f8980a0ef7d58aa8f76cb2f79a9ceb7796d612f9
+fba313f4f72ed315f8030af734f76715f8040a13ecfb5df84d15f8050af874fc3415
+5ffb79058051a871b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2
+f761839c050ef7cb89b166a8f76cb2f79a9ceb7796d612f9f1a3137af72ed315f803
+0af734f76715f8040a1336fb60f84d15f8060af86efc32155efb780513b2f8990a0e
+f80389b166a8f76cb2f7979cee7793d612f79ad27da31378f758d315f8070af734f7
+6715f8080a1334fc0cf84a15f8090af463151331f80a0a1332f80b0af8c0fc07155e
+fb780513b0f89a0a0ef7ec89b166a8f76cb2f7959cf07790d612f78bd17da31379f7
+3dd315f80c0af734f76715f80d0a1334fbf9f84715f80e0aed64151331f80f0a1332
+f8100af8b8fc05155efb780513b0f89b0a0ef7ea89b166a8f76cb2f7969cef7792d5
+121378f735d315f8110af734f76715f8120a1334fbe3f84815f8130af73e9215f814
+0af85ffc34155ffb780513b0f89c0a0ef7e389b166a8f76cb2f7969cef7792d612fa
+0aa3137af735d315f8110af734f76715f8120a1336fbd3f84915f8150af7428f15f8
+160af845fc32155efb780513b28050a872b88bb68bad99a6d108738f0580697f7b71
+8b778b869f97c808b2f761839d050ef7f189b166a8f76cb2f7259ce2d6a5b67977b1
+b812137af742d315eaf72f0592969491a38b08f7678ba9fb40058c858b858a86887b
+79806c8b086f06868b87888a860888788c89058bed8dafb2d7898b1e8e8d8f9e058c
+90868e878b088006638b7b9e84b20828f8b205879f83957a8b818b82847d7408fbe8
+fcb70576697678628b087f06868b87888a860888788c89058bcc8da4a4ed898b1e8e
+8d8e9e058c90888e878b086e066d8b7c948f9b088b918e918f9208f734f76715788b
+858e8d918b8e8c8d8d8f08f72cf78dbafb9f05fbd7f7d815678b7d79887b887b8b72
+b48b928b8d838981877471666082088c7a05e790a8d690a593af7cb0648b08133cdb
+d015133b628b7fb8548b638b706f735408133ca086051339f83a0a133cf8570a1339
+f88d0af8a7fc02155efb780513b8f89d0a0ef7f989b166a8f76cb2f7289ce2d6a1b7
+7977b1b812137af745d315f8180af734f76715f8190a133cfb72f81d151339f81a0a
+133ca086051339f81b0a133cf81c0a1339f81d0a404915f81e0af8e3fbc0155ffb78
+0513b87f50a972b78bb78bac99a6d108748f057f697f7b728b768b869f97c808b3f7
+61839d050e72fb657694b4f8d2bbd89ce2d512f7f2de13bcf7a7f84e15f82b0af76c
+f7ec15f82c0afc0afd86157a3a05137cf89e0a0e72fb657694b4f8d2bbd89ce2d612
+f7f2de13bcf7a7f84e15f82b0af74ef7ed15f82d0afbecfd87157a3a05137cf89e0a
+0e72fb657694b4f8d2bbd69ce2d512f7f2dec6d27aa313bcf7a7f84e15f82b0af71c
+f7ea15f82e0af36415133df82f0a133ef8300afc22fd5d157a3a05137cf89e0a0e72
+fb657694b4f8d2bbd29ce2d6927712f7f2decbd213b3f7a7f84e15f82b0a133bf728
+f7e715f8310aec6315f8320a1337f8330afc27fd59157a3a051373f89e0a0e72fb65
+7694b4f8d2bbd59ce2d612f7f2de13bcf7a7f84e15f82b0af724f7ea15f8340af73f
+9115f8350afc6dfd8a157a3a05137cf89e0a0e72fb657694b4f8d2bbd49ce1d612f7
+f2de13bcf7a7f84e15f82b0af72af7e815f8360af7428f15f8370afc76fd86157a3a
+05137cf89e0a0e72fb7db3f8dfbbb29de1d6a5b68bb812f7f2de13f2e94615793905
+7f51ac73bb8ba48bbc99a9d0087393057e707773798b778b83a296c20896bf779205
+f713f88615f82b0af757f7c715f8380a13fadbd01513f6f8390a13faa0860513f6f8
+3a0a13faf83b0a13f6f83c0a0e72fb657694b4f8d2bbb59ce2d6a2b68bb812f7f2de
+13b9f7a7f84e15f82b0a133df7a4f80c15133bf83d0a133da08705133bf7ff0a133d
+f83e0a133bf83f0a3f4915f8400afbf6fd64157a3a051379f89e0a0ef84283b16ca8
+f7bcb2f74a9cc3a78ed612fa67a3137ef8fed315866f7a7b628b087106868b87888a
+860888788c89058be98daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e98
+91aa08ecf88a0591a79b9bb48b08a606908b8f8e8c90088e9e898c058b2e8a676435
+8c8b1e888a8878058a868e888f8b08a506b38b987d856d0862fb67fbdb8bb4f76705
+91a79b9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+05868d88901ea506b38b977d866d0829fc8a05866f7a7b628b087106868b87888a86
+0887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891
+aa08bcf790f7da8b05fc8ef82415678b7c79887b887b8b72b48b928b8d8389818774
+72665f82088c7a05e790a9d690a591b07daf658b08f964fc37155efb790513be8051
+a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c808b3f761839d050e
+f84589b166a8f7bcb2f74a9cc3a78ed612137cf8fed315f8410afc8ff82415f8420a
+f969fc32155efb780513bcf89d0a0ef8e389b166a8f7bcb2f7449cc9a788d612f7d2
+a3137af9a5d315866f7a7b628b087106868b87888a860888788c89058be98daeb3e1
+898b1e8d8d8f9e058c90888e868b087106648b7e9891aa08ecf88a0591a79b9bb48b
+08a606908f8e901f8f9e898c058b2e8a6764358c8b1e888a8878058a868e888f8b08
+a506b38b987d856d0862fb67fbdb8bb4f7670591a79b9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a877805868d88901ea506b38b977d866d08
+29fc8a05866f7a7b628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9890aa08bdf790f7da8b051336fd39f81e
+15678b7d79887b887b8b72b48b918b8e838981867472666082088c7a05e690a9d690
+a50892af7cb0658b08f56315c2fb1b058c898c89908b958b91918c90088b9082f72c
+058a9682927a8b738b7a79877b8b878b868d8708f9a0fc04155ffb780513b2f89c0a
+0ef8da89b166a8f7bcb2f7449cc9a787d612f78cd2137af99ad315f8440a1336fd34
+f81d15f8450aed6415f8460af9a5fc04155ffb780513b28050a872b78bb78bac99a6
+d108748f057f697f7b728b768b869f97c808b3f761839d050ef8e889b166a8f7bcb2
+f7449cc9a788d6121378f99dd315f8470a1334fd3af81e15f8480af73e9115f8490a
+f96efc32155efb780513b0f89a0a0ef8db89b166a8f7bcb2f7479cc6a78bd6121c04
+6da3137af994d315f84a0a1336898c058b2e8a671e133af84b0a1336f84c0a137af8
+4d0a1336fd30f82115f84e0af7428f15f84f0af95cfc33155efb780513b2f8990a0e
+f8d289b166a8f7bcb2cc9ce2d597a77db78bb812137cf983d315f8500afce4f7ae15
+f8510a133adad1151339f8520a133aa086051339f8530a133af8540a1339f8550af9
+77fc02155efb780513b8f89b0a0ef8da89b166a8f7bcb2d09ce1d693a77eb68bb812
+1c046da2137c80f98ed315856f7b7b628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e878b087106638b7e9891aa08edf88a0590a7
+9c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a8778058a
+868e88908b08a506b38b977d856d0862fb67fbda8bb4f7670590a79c9bb48b08a506
+908b8f8e8c90088e9e8a8c058b2d8a6764358c8b1e888a8878058a868e888f8b08a6
+06b28b987d856d0829fc8a05866f7b7b628b087006868b87888a860888788c89058b
+e98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08bcf790f7db
+8b05133a80fca8f7f415133980638b7fb8538b638b706f745408133a80a086051339
+80f8170a133a80f8570a133980f88d0a404915648b6f66846886718b3fe48708939c
+05639380b090a28d969092928bb48b94a48f9c8e9b839c688b08f9d2fbc0155ffb78
+0513b8808050a872b78bb78bac99a6d108748f0580697e7b728b768b869f97c808b3
+f761839d050ef723fb83b4f74eaef787b1f71e77f29ce2d601f955f76215f8740afb
+baaa15f8750adbf86715f8760afb5afd9f15f89f0a0ef723fb83b4f74eaef787b1f7
+1e77e29ce2d601f955f76215f8740afbbaaa15f8750ae0f85715f8770afb5ffd8f15
+f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d6927712f892d379a313f800f9
+55f76215f8780afbbaaa15f8750a13fc0087f85515f8790af3631513fa80f87a0a13
+fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d69277
+12f892d379a313f800f955f76215f8780afbbaaa15f8750a13fc008ef85515f87c0a
+ec631513fa80f87a0a13fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787
+b1f71e77dd9ce2d691771213f8f955f76215f8780afbbaaa15f8750a13fc87f85215
+f87d0a13faf73e9115f87e0afbb0fd9015f89f0a0ef723fb83b4f74eaef787b1f71e
+77e09ce1d78e771213f8f955f76215f8780afbbaaa15f8750a13fc8df85515f87f0a
+13faf7428e15f8800afbbafd9015f89f0a0ef723fb83b4f74eaef787b1f71e77c19c
+e2d6a5b68bb81213fcf955f76215f8780afbbaaa15f8750acff83615f8810a13fedb
+d01513fdf7fb0a13fea0860513fd9ca89d99a08b0813fef8720a13fdf8820afb9ffd
+b3157a3a057f51ac72bb8ba48bbb99a9d1087493057f707673798b778b83a296c108
+96c07791050ef723fb83b4f74eaef787b1f71e77c59de1d7a1b78bb81213fcf955f7
+6215f8780afbbaaa15f8750a13fef72bf87d1513fdf8830a13fea0860513fdf85a0a
+13fef85b0a13fdf8840a3f4915f8850afb55fd7315f89f0a0ef80e8bc650b1f88f9c
+c9ad82d612dfa5f8c3a513b6f888f70915f8a00a1376f8a10a13b6f8a20a132efbee
+f92d15678b7d79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9
+d690a50892b07caf658b08f94afc30155ffb78051366f8a30a0ef8158bc650b1f88f
+9cc9ad82d612dea5f8c3a513b6f887f70915f70ab0f0f2a2f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008718b05
+1376f8a10a13b6f8a20a132efbfdf92d15648b6e66846787718b40e48608939c0563
+9480b08fa28e969092928bb38b95a48f9b088e9c839c688b08f961fc30155efb7805
+13668051a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761
+839c050ef8a18bc650b1f8899ccfad7cd612f78fd269a486a3f8b0a5f746a313b2c0
+f953f70915f8a40a1372c0f8a50a13b2c07a5275885a8b082a061328c0fcb0f92715
+f8860af463151321c0f8870a1324c0f8430af96afc02155efb78051360c08051a871
+b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2f761839c050ef89b
+8bc650b1f8899ccfad7bd612f783d263a58aa3f8aba5f752a313b2c0f941f70915f7
+0ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf06608
+8351268b05578b799291c008718b051372c07bfb0bf7688b05968b92918c95089cf7
+13053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb005542255608
+69fb130589818f85978b08f7638ba9f70b718b0513b2c07a5275885b8b0829061328
+c0fca3f92615f8880a1330c0639380b090a2081328c0f8890aed64151321c0f80f0a
+1324c0f88a0af970fc02155efb78051360c0f8a60a0ef88c8bc650b1f88b9ccdad7e
+d612f77aa5f8c3a513b6f91af70915f8a00a1376f8a10a13b6f8a20a132efc70f929
+15f88b0af73e9115f88c0af90efc32155ffb78051366f8a30a0ef89b8bc650b1f88c
+9cccad7ed612f77ea5f8c3a5f775a313b7f91df70915f70bb0f0f2a2f70ca8f72840
+f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05568b799291c0
+08718b0513777cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714
+eaf70af71f8bf7168bc9216ffb2176fb0055422556086afb130588818f85978b08f7
+638baaf70b718b0513b7f8a20a132ffc75f92915f86c0af7428f15f86d0af91afc30
+155efb78051367f8a60a0ef8818bc650b1f81b9ce2d59cad72b78bb812f760a4f8c3
+a5f77aa213b9c0f8fff70915f8a40a1379c0f8a50a13b9c07a5275885a8b082a06fc
+3cf8b815678b7d79877c897b8b72b48b918b8e828982867472665f82088d7a05e690
+a9d690a592af7caf658b081335c0dad1151333c0f8610a1335c0a086051333c0f81b
+0a1335c0f81c0a1333c075920578697b80778b08f943fc01155ffb78051371c08051
+a871b78bb78bad9aa5d00874900580687f7b718b778b869f96c908b3f761839c050e
+f8948bc650b1f81f9ce1d698ad73b68bb812f77aa5f8c3a5f772a313b9c0f91af709
+15f8a00a1379c0f8a10a13b9c0f8a20a1335c0fbfaf8fe151333c0638b7eb8548b63
+8b706f7454081335c0a086051333c0f8170a1335c0b28ba060b58bb68baba5a2c308
+1333c075910578697c80768b08404915648b6f66846886718b3fe58708929c056393
+80b090a28d969092928bb48b94a48f9c8e9b839c688b08f995fbbf155efb78051371
+c08051a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c908b3f76183
+9c050eb77fcb4baaf81ea8c5c5e67712f781a9f737aca0a2137ff842f76215f7eb0a
+ac9915f7ec0a13bff7ed0afbdcf763156d7e05823db251d88bbd8bddaeaaf0087498
+057b4d496e5d8b4f8b65b394be080eb77fcb4baaf81ea8efb612f842ac1378f842f7
+6215f7eb0aac9915f7ec0a13b8f7ed0afb07ef15988b999c8e978c928992828b08fb
+89067f8b7d7a897f89848d84948b080eb7fb83b4f74ecb4baaf81ea812f7c2d0c6ac
+13bcf842f76215f7eb0aac9915f7ec0a13dcf7ed0afb9ff77b15f88e0afb23fd8015
+f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8f842f76215f7eb0aac9915f7
+ec0a13d8f7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8
+f842f76215f7eb0aac9915f7ec0a13d8f7ed0afb2ef78415f88f0afb94fd8915f898
+0a0eb77fcb4baaf81ea8f704b68bb812f842ac1364f842f76215f7eb0aac9915f7ec
+0a13a4f7ed0a1334fb36f72f15132cf8a70a1334a08605132cf7ff0a1334f8a80a13
+2cf8820a0eb7fb83b4f74ecb4baaf81ea8f704b68bb812f842ac13b2f842f76215f7
+eb0aac9915f7ec0a13d2f7ed0a139afb36f72f151396f8a70a139aa086051396f7ff
+0a139af8a80a1396f8820afb8cfd3415f8980a0ef71a8aa8f76cb2f80b77c1bf01f8
+0da703f72ed315f8a90af734f76715f8040af72ff89e1570067c6453755a8b568b61
+a18ab2086f068345bb60d58bcd8bd2b59fd2080ef71a8aa8f76cb2f80b77e2b701f7
+2ed315f8a90af734f76715f8040af709f84e15988b999d8d968c928993818b08fb89
+06808b7d7988808a848d83948b080ef71a8aa8f76cb2f80b7701f759d003f72ed315
+f8a90af734f76715f8040afba2f84815f8aa0a0ef71a8aa8f76cb2f80b7701f72ed3
+15f8a90af734f76715f8040afb50f84d15808b7d858580083bfb2305898889868b8a
+8a849185938b908b8f8e8f8f08f707f70e0590908d918c8f8fa0799c778b080ef7ea
+8aa8f76cb2f80b7701f72ed315f8a90af734f76715f8040af7c1a4155ffb79057f51
+a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761839c050e
+fc10f86d9ce2d601f71af71403f76ef92015f7f00a0efb7afb92b101e8f73a03f722
+c6155afb79057f51a771b78bb78bad9aa7d0087490057f687e7b728b778b869f98c9
+08b6f761839c050efc0ff86d9ce2d601f71af71403f76ef92015f7f00a0efb20f8dc
+b68bb812f766f7a913a0f82df907151360f7fb0a13a0a0860513609da99c98a08b08
+13a0f8720a1360f8820a0efb55f8a4e6c4b68bb812f749e5d1e61398f749f8d11585
+729b77a48ba48ba49f90a490a47ba0728b08728b7376867208f73416f8ab0a13d8c2
+f7261513b8f7fb0a13d8a0860513b8f83a0a13d8b28ba060b58bb68baba5a3c30813
+b8f8820a0e72fb657694b4f8d2bb12f7f2de3fd013b0f7a7f84e15f82b0af716f7d9
+151328f8900a1330f8910a1328f8920afbb4fd73157a3a051360f89e0a0e72fb6576
+94b4f8d2bb12f7f2de13b0f7a7f84e15f82b0afb32fc2e157a3a051370f89e0a0e72
+fb657694b4f8d2bb12f7f2de13b0f7a7f84e15f82b0af776f7dc15f8930afc14fd76
+157a3a051370f89e0a0e72fb6576f904bbf702b68bb812f7f2de13c8f7a7f84e15f8
+2b0a13e8f771f7861513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a13d8f8820a
+0e72fb657698b4f8cebbf702b68bb812f7f2de13a4f7a7f84e15f82b0a1334f771f7
+8615132cf7fb0a1334a08605132cf8ac0a1334f8720a132cf8820afc0efd1c157a3a
+0513647e51ac72bb8ba48bbc99a8d1087593057e707673798b778b83a297c10895c0
+7791050ef7188bb265a6f7bfaddd77f74bb36fa712f6d0f805acf3a6133780f967f9
+1a15133b80f8280a137780f8290a13bb80f82a0afcd4f764157c82827f897f8a868b
+868e8708d8fb0f058d898d8b8f8b8e8b8f8c8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b858b84898588080ef7078bb265a6f7bfaddd77
+f74bb36fa712f8a3adf3a61337f955f91a15133bfb948b3d8a051377f8250a13bbf8
+260afc7ff76e15808b7d848481083cfb2305898889868b8a89839185938b908b8f8f
+8f8f08f708f70d058f918d908c908f9f7a9d778b080ef7878aa8f7bcb2f793a701f2
+d003f90bd315f8470afcbcf820157d818280897f8a868c868c8708d9fb0f058c898e
+8a8e8b8f8b8e8d8f8d8e8e8d8e8c8e088c8a8c8b1e6af726058a91888f868e868e86
+8c868b858b84898488080ef77e8aa8f7bcb2f793a701f903d315856f7a7b628b0871
+06868b87888a860888788c89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2e8a6764348c8b1e8a8a8778058a868e888f8b08a606b28b987d856d0862fb67fb
+da8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8778058a868f888f8b08a606b28b987d846d082afc8a05856f7b7b628b08
+7006878b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b
+087106638b7f9891aa08bcf790f7da8b05fc7af82615808b7d858480083bfb23058a
+8889868b8a89849184938b8f8b908f8f8f08f707f70e0590908d918c8f8f9f7a9d77
+8b080ef7e18ab165a8f7bcb2f793a712fa08a31378f8a4d315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e700664
+8b7e9891aa08edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda8bb3
+f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6863358c8b1e89
+8a8778058a868e88908b08a506b28b987d856d082afc8a05856f7a7b628b08710686
+8b87888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b087106
+648b7e9891aa08bcf790f7db8b05f7657f155efb790513b88051a871b88bb68bac9a
+a7d00873900580687f7b718b778b869f96c908b3f761849c050efb73f86c9ce2d592
+7712f7d8d379a313c0f771f91e15678b7c79887c877b8b72b48b928b8d8289828674
+71665f82088c7a05e790aad690a50893af7daf658b08f3641513a8f8ad0a13b0f8ae
+0a0efb73f8699ce2d5927712f71cf7b013d0f770f91b15678b7c79887c887b8a72b4
+8b928b8d828982867471665f82088c7a05e790aad691a50892af7daf658b0813b0f7
+3e9215818b7987837b084afb2f8a8a05888b81971e8e8b8f8c8e8f08f4f71f058d8f
+8d8f8c8f088d9688a16e8b080efb85f8269ce2d6a5b68bb812f73ef7a913c8f7b5f8
+d915678b7c79887b877b8b72b48b928b8d838981867471666082087a07e790aad690
+a50893af7db0658b0813e8dbd01513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a
+13d8f8820a0efba67fc0f82577d9c5e67701f720a9f76da203f79af84e157c067e8b
+7b80687f778565857c89088a6f059d8f978c988b998b928484650854fb95057e50a4
+6ac38bb28bbfafabb9087d9e0573736c736b8b788b8a9d90a0087bf8cd15f8af0a0e
+fba67fc0f82577f709b701f700f7b903f797f84e15f8580af751f85f15988b999d8d
+968d928993818b08fb8906808b7d7988808a848d83938b080efba67fc0f82577f708
+e512f71ce667d0b0e613e4f797f84e15f8580a13f45cf88b1586729b77a48ba48ba4
+9f90a40813ec90a47b9f728b08738b7277857208f7351686729b77a48ba38ba49f91
+a490a47b9f728b728b72778672083bf764157c828280897e8a868b878d8708d7fb0f
+058c898d8a8f8b8e8b8f8c8f8e8e8d8d8e8c8e8b8c8a8c8b8c086cf726058b90878f
+868e878e868c868b848b85898488080efba67fc0f82577f5e601f717e6d1e603f797
+f84e15f8580a57f8821586729b76a48ba48ba4a090a491a47a9f738b728b72778572
+08f73516f8b00ad5f76915808b7d8484810839fb2305898889868b8a8a839085938b
+908b908f8e8f08f70af70d0590918d908c908f9f7a9d778b080efba67fc0f82577f7
+18b68bb812f700f7b313c8f797f84e15f8580a13e8f71af8991513d8f8a70a13e8a0
+860513d8f7ff0a13e8f8720a13d8f8730a0efb917fc0f82577f5e6c4b78bb812f727
+e6d1e513e6f7a8f84e157c067e8b7b80687f778566857c89088a6f059d8f968c998b
+988b938483650854fb95057e50a46ac38bb28bbfafabb9087d9e0573736c736b8b78
+8b8a9d90a00856f88215f8b00af7351685729b76a48ba48ba4a090a491a47b9f728b
+728b727786720813f6c1f7261513eef8830a13f6a0860513eef85a0a13f6b18ba05f
+b58bb68baca5a2c30813eef8840a0efb958aa8f8e2a7b9bf01f742a703f7c3f8d215
+f85f0af782f9721570067d6453755a8b085660a1b21f6f068345bb60d58bcc8bd2b5
+9fd2080efba08aa8f8e2a7ddb701f7bef8d21591a79c9bb48b08a506908b8e8e8c90
+088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506b28b987d85
+6d0829fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9891a908f760f92515988b999d8d96
+8d928893818b08fb88067f8b7d7989808a848d83948b080efb3a8aa8f8e2a601f825
+f8d21590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e89
+8a8778058a868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b08700686
+8b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106
+638b7e9891a908fb44f91d157c818280897f8a868c868d8708d8fb0f058c898e8a8f
+8b8e8b8e8d8f8d8e8e8d8e8c8e8b8c8b8c8a8c086af725058a91888f868e868e868c
+868b858b84898588080efb438aa8f8e2a701f81cf8d215f85d0a2bf92215808b7c85
+8680083afb23058a8889868b8a89849184938b908b8f8f8f8f08f707f70e0591908c
+918c8f8fa07a9c778b080efb76f86c9ce1d6927712f7d8d379a313c0f778f91e1564
+8b6e66836886718a3fe48708939c05649380b090a28d969192928bb38b96a48e9c08
+8e9b859c678b08ec641513a8f8ad0a13b0f8ae0a0efb7af86b9ce2d601f72bf7ac03
+f777f91e15648b6e66836786718a40e48608939c05639481b090a28d959093928bb4
+8b95a48f9b8e9b849d688b08f7418f15828b7887847b0849fb2f8a8a05888b81981e
+8d8b8f8c8e8f08f4f71f058e8f8d8f8c8f8d9687a16e8b080efb61f8859ce2d6a1b7
+8bb812f75cf7a813e8f822f97a1513d8f8830a13e8a0860513d8f85a0a13e8f85b0a
+13d876920577687b81768b083f4915658b6d66846785718a3fe58708929c05649381
+b18fa28e959093928bb48b95a38f9c8e9b849d678b080e4c7fbaf7e1d557bfc5c5e6
+7712f78ea9f76da213def893f78d15f86e0a13bef86f0afb7bf82415f8af0a0e4c7f
+baf7e1d557bfecb71213d0f893f78d15f86e0a13b0f86f0a79f7b615978b999d8e96
+8c928993828b08fb89067f8b7d79898089848d83948b080e4c7fbaf7e1d557bfd6e5
+12f78ce667d0b0e613d2f893f78d15f86e0a13b2f86f0a139afb9bf7cd1586729b77
+a48ba48ba39f91a408139690a47b9f728b08728b7277867208f7351685729b77a48b
+a48ba49f91a48fa47b9f728b728b73778672083bf764157c828280897e8a868b878d
+8708d6fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e6cf726058b9087
+8f868e868e878c868b848b84898588080e4c7fbaf7e1d557bfe1e612f798e6d0e613
+dcf893f78d15f86e0a13bcf86f0afb8ff7d81585739c76a38ba48ba4a091a390a57b
+9f728b728b7277867108f7341686739b76a48ba48ba4a090a391a57a9f738b728b72
+77857108d6f76915808b7c8585810838fb23058a8789868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080e6a80a9f815b1de9ce2d601
+f3fb6815f8b10af846f84e15f8b20a6af88d15678b7c79887b877b8b72b48b928b8d
+838981867471665f82088c7a05e790aad690a593b07daf658b080e6a80a9f815b1ce
+9ce2d601f3fb6815f8b10af846f84e15f8b20a6ff87d15f8590a0e4c7fbaf7e1d557
+bff703b78bb81213c0f893f78d15f86e0a13a0f86f0a139055f7f0151388638b7fb8
+548b628b706e7354081390a086051388f85a0a1390b18ba05fb58bb78baaa5a3c308
+1388f8620a0e4c7fbaf7e1d557bfd2e6c4b68bb812f78ee6d1e613d3f893f78d15f8
+6e0a13b3f86f0afb99f7c91586729b77a48ba48ba49f90a491a47ba0728b728b7276
+857208f7351686729b77a48ba48ba49f90a490a47ba0728b728b7376857208139bc2
+f726151397f8390a139ba086051397f7ff0a139bf83b0a1397f83c0a0e848aa8f8e2
+a7b9bf01f7cba703f7a0d315f8b30af7a5f8a01570067c6453755a8b085660a1b21f
+6f068345bb60d58bcc8bd3b59fd2080e848aa8f8e2a7d4b701f7a0d315f8b30af785
+f84a15988b999d8e978c918993818b08fb89067f8b7e7a887f8a848d83948b080ef7
+0e8aa8f8e2a701edd003f821d315856f7b7b618b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b6f771
+f75ff7ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b
+1e8a8a8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df7
+7f05869988948d918d94918f9f8b08a7068f8b8e8f8c8f088f9e898c058bfb008a85
+7e2e8c8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f706
+fbb905fbcef847157b828380897f8a858b878e8708d8fb0f058c898e8a8f8b8e8b8e
+8c8f8e8e8d8d8e8b8e8c8c8a8c8b8d086af725058a90888f868f868d868d868b848b
+85898587080ef48aa8f8e2a701f810d315866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+b6f771f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e
+3c8c8b1e898a8777058a888c87908b08a806a08b8f8889808a868682807d08fb40fb
+7f2cf77f05869989948c918d94928f9e8b08a706908e8f8f1f8f9e898c058bfb008a
+857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f8897839280927708f7
+05fbb905fb7df85015818b7d848581083bfb2305898889868b8a89839285928b908b
+8f8f8f8f08f707f70d0590918e908b908f9f799d778b080eaf8aa8f792acf7789dc5
+a473ad84d61213e8f75ed215856f7b7c628b087006868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891a908b6f77105a1
+849c88af8bf74a8bd6f70b9be097c67cf701fb4d8b718b4f8957880813f05a895088
+7c8b08877705888b87921e8f8ba38d948b9c8ba585846508e1aa1513e8a092b8929e
+8bd18bcf7272fb1376fb004b5e298b728b688d818e0813e4fb36f82615658b6f6684
+6785728c3fe48608939d05639380b090a28d969092928bb48b94a48e9b088e9c849c
+678b080efb4ef8a4e601f745e6d0e603f745f8d115f8b40af73416f8ab0a3cf76415
+7c828280887f8a858c878d8708d6fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c
+8e088b8f6cf725058a90888f868f868d868d868b858b84898587080efb55f8a4e601
+f745e6d0e603f745f8d115f8b40af73416f8ab0ad5f76915808b7d8585800838fb23
+05898889868b8a8a849185938b8f8b8f8e8f8f08f70af70e0590908d918c8f90a079
+9c778b080efbd6f8bcf74501f75eed03f777f968157b828380887e8a868c878d8708
+d5fb0f058d898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c8e8b8c8a8c8b8c086df726058a
+90888f868f868d868c868b858b848a8587080ef723fb83b4f74eaef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960afb0afd7815f89f0a0e
+f723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f8750afb0afbcc
+15f89f0a0ef723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f875
+0af716f85315f8970afb8cfd8b15f89f0a0ef7237faef787b1f71e77f704b68bb812
+13e0f955f76215f8780afbbaaa15f8750a13f0f710f7e81513e8f8b50a13f0a08605
+13e8f7ff0a13f0f8b60a13e8f8b70a0ef723fb83b4f74eaef787b1f71e77f704b68b
+b81213f0f955f76215f8780afbbaaa15f8750a13f8f710f7e81513f4f8b50a13f8a0
+860513f4f7ff0a13f8f8b60a13f4f8b70afb86fd2015f89f0a0ef7627fadf8eead01
+f9aef7dd15b2f75afb0ff717fb3b8bfb478bfb34fb2c64fb5865fb59f707fb11f740
+8bf7538bf72af721b2f75c08fba2f7bb15f86b0afc21ea157c828380887f8a858c87
+8d8708d8fb0f058d898e8a8e8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e69f726058a90
+898f858f868d868d868b858b84898587080ef7377fadf8eead01f984f7dd15b2f75a
+fb10f717fb3a8bfb478bfb35fb2c65fb5864fb59f707fb11f7418bf7528bf72bf721
+b2f75c08fba3f7bb15f7138be42162fb6469fb47fb01fb01fb078bfb178b35f705b0
+f754b4f766f712e2eb8b08fbb6f015808b7d858580083bfb2305898889868b8a8984
+9284928b908b908f8e8f08f707f70e0591908d918b8f90a0799c778b080ef7658bc6
+f8c9ad12e7d078a5f8c3a413d8f8c1f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb5a8bfb16fb2971fb1872fb14cb2cf066088351268b05578b799291c008718b7b
+fb0bf7688b05968b92918c95089df713053ac970c8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb00554225560869fb130589818f85978b08f7638ba9f70b728b
+05795275885b8b082906fc3bf9281513e8f8aa0a0ef72e8bc6f8c9ad01e2a5f8c2a5
+03f88af70915f70ab0f0f2a3f70ca7f72841f719fb5b8bfb5a8bfb17fb2972fb1872
+fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c95
+089cf713053bc970c8a0f704a5f714eaf70af71f8bf7158bc92170fb2176fb005542
+25560869fb130589818e85978b08f7648ba9f70b718b057a5275885a8b082a06fbb4
+f92e15818b7c848581083bfb23058a8889868a8a8a839185938b908b8f8f8f8f08f7
+07f70d0590918d908c908f9f799d778b080ef7d98bc650b1f8dead12cba5f8c3a513
+b8f873f70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb2971fb1872
+fb14cc2cef66088451268b05578b789291c008718b0513787cfb0bf7678b05968b93
+918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb2176fb
+00564225560869fb130588818f85978b08f7648ba9f70b718b0513b8f8a20af7cff7
+91155ffb780513788051a871b78bb78bac9aa6d0087490057f68807b718b778b859f
+97c908b3f761839c050efbfef861f74b01f720f72b03f796f91815808b7d85858008
+38fb2305898889868b8a8a849184928b908b908f8e8f08f70af70e0590908d918c8f
+8f9f7a9d778b080efc1df8659ce1d701f72af70703f776f91815658b6d6583688671
+8a3fe48708939c05649380b090a28d969192928bb38b96a48e9c8f9b849d678b080e
+4d0ef84a0e4d0ef84a0efb790efbcc0efc1f0e4e0efc1f0efc620efcbc0e0efb75f7
+80c101def7a303f7d4f78015f8b80a0efb78f780c101def7a303f7d4f78015f8b80a
+0efb0ff7b3bb01f846f7b315978b9da08d978d948991818b08fbe0067f8b7a7a887b
+89828f85958b080e70f782bc01eaf7b315825af85c8b94bc050ef749f782bc01e0f7
+b315825af93f8b95bc050ef7fdf782bc01e0f7b315825af9f48b95bc050efbaff73a
+fb5115f75ffaaa638bfb5ffeaa054c16f760faaa638bfb5ffeaa050e40fb2eb7c9b7
+01f861fb0215fc728b835ff8728b05a7f72a15fc718b835ff8718b050efbb9f887e6
+01f764bb03f7d5f8b915f8b90a0efbb9f8f3e601f7a0bb03f75ff91c15f8ba0a0efb
+b98fe601f72cbb03e2b8158b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdcccc82ff0002e667fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efbb9f8f1e801ff00bf999aaf03f7acf94e15f8bb0a0efb4ef8
+87e6f705a201ff00a68000bbf712bb03ff01c58000f8b915f8b90afb4216f8b90a0e
+fb4ef86ba2f705e601ff00fbcccdff002ffffff712bb03ff00bacccdf91c15ff0000
+0001739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e666
+fffff84cccff0007cccdfffff9b334ff0073ffffa0a7e58bbf08b374a3ffffe10001
+6d6e786c1eff00adffff168b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdccce82ff0002e666fffff84cccff0007ccccfffff9b334f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efb4efb19a2f705e601ff0075e666bbf712bb03ff0034e666b7
+15f8bc0af74216f8bc0a0efb50f86aa4f702e801ff00a8999aaff70caf03f795f94e
+15f8bb0af73016ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd9
+4cccff00334cccfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff
+0027ccce8bff001666648bff0013999cff000f3332ff000d3330ff001b3334ff0002
+e668bcff0007b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6
+669b701e0ea6f81beff7627701f7909df712f503f8e7f87f15498b517d5970aebca5
+c99dd78c928c908b918b9489938793869682917f8b7f8b7f858080087f7e837d877b
+815f86648b678b728d7591766aa35799458e7c8b7d867f817d81847f877d088a878b
+878b888b818e849184938297869a8bcf8bc598baa576326e4d65698d7c8c7a8b7808
+8b3276fb1962fb47089d06bbf765bdf72bbfe77fa085a68bad8ba890ae95b2b071bf
+7ecd8b9a8b99909794989493978e99088c8f8c8f8b8e8b948794859284957f907c8b
+080ea68beef7b8eff7627701f778f4caf503f88dee154a8b517e58719fdea8c9b3b3
+7fa085a68bad8ba890ae95b2b071bf7ecd8b9a8b9990979408989493978e998c8f8c
+8f8b8e8b9487948592839480907c8c498b517d5970aebca5c99dd7088c928c908b91
+8b9489938793869682917f8b7f8b7f8580807f7e837d877b815f86648b67088b728d
+7591766aa35799458e7c8b7d867f817d81847f877d8a878b878b888b818e84918408
+938297869a8bcf8bc598baa576326e4d6569967891718b6b8b6d866781616ba25797
+448f087d8b7d867e827e82837f887d8a878b878b878b828e83918593819786998bce
+8bc598bca6086758714d7a418a858a858b858b838d828f84917f9485978b978b9791
+9597979793988e9c0896b78fb38baf8ba38aa2869fb170bf7ecc8b9a8b9890989598
+9493978e998c8f8b8e8b8f088b9488938592839480907c8b080efb66f74df79101f7
+0af79703f7a8f84a157a8b7a887a847b847c827d807c807f7d817c807d847b877a89
+818a818b828b838b858d84088d7b917e947f947f9782988499849a889d8b9c8b9d8e
+9c919c929a94999799969799969a08959b929b8f9c8d958c958b948b928b92899188
+9a8599829683977f947e927d927b8e798b080efb4ef72df7bc01f700f7be03f700f7
+2d15f7bef728fb79f728050efbea80f501caf70003f711ea152b0a0efb1d80f501ca
+f700ecf70003f711ea152b0af761162b0a0ef75080f501caf700f731f700f730f700
+03f922ea152b0afb9c162b0afb9d162b0a0efc1ff7a8ee01f6f103f701f7d9158a87
+8a878b888b759c7ba18ba78ba6a192a68b8f8c8f8b8e8ba17b9c738b708b7075856f
+080efc290ef7e378a8f764abbaa8f72cb09dab8f7712f717bef71caab2bef71ca9ca
+bff71ca913f3f0f964d815f8bd0a579915f8be0afb797d15f8bf0a589915250abbf8
+3c15260a13fbf0270a13f7f0280afb92fb0f1513fbf0290a0ef8ed78a8f764abbaa8
+f72cb09dab8f7712f717bef71caab2bef71ca9cabff71ca9b1bff71ca913f3fcfa64
+d815f8bd0a579915f8be0afb607d15f8c00a579915f8be0afb797d15f8bf0a589915
+250abbf83c15260a13fbfc270a13f7fc280afb92fb0f1513fbfc290a0efbccf898f7
+4b01f73df72903f7b0f94f15f8c10a0efb80f89bf74a01f71bf7ae03f813f9511580
+8b7d858580083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e05
+90908d918c8f8ea07a9c778b08fb198915f8c20a0e61f898f74b01f8b4f94f15f8c2
+0afb1616f8c10afb1616f8c10a0efbd1f8a6f74601f750ef03f768f95315f8c30a0e
+fb57f89cf74b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb
+0f058c898e8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a9188
+8e868f081360868d878d858b08858b8489858708f70d90157c828280897f89858c87
+8d8708d9fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90
+888f858f0813a0878d868d868b848b85898587080e4ef8a4f74601f7cbcf03f86ff9
+50157c828380887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d
+8e8c8e8b8c8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb
+1f8e157c818380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e
+8d8e8b8d088b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f8
+c30a0efb62a176f8417701f5f79d03f807f84215303a354a3b5a08836405c667c84a
+c92d0895c10569d167c165afc2b4c3c1c7cd080efb62a076f8417701cff79d03cf16
+e6dce1ccdcbc0892b20551b04ecb4de908805505ae45af55b167546252565048080e
+985bf6f702f6f0f501c5f6f7bbf503f76e9015856e9f73a88ba98ba7a391a891a977
+a36e8b6d8b6f73856d08f786f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e
+8b6f73856e08fc268c15856d9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e
+08f785f76315856e9e73a98ba88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea7
+15ff0086199affff106666ffff1fe666ffff13999aa078ff00d96666ff00e5cccdff
+008e999affff013333a79dffff6d8000ff01063334ff00fb8000ff0109cccc769dff
+ff0b3334fffefdccccffff7dccccff00e93333050efb2a81f6f8c57712cef689f703
+6bf689f70313c4f83df92815758b677980547e4594698332843d7f3189778a858c84
+968b958b90938f978e9999c7acf608a6e1a3b598cc0895bd72a2708b0813c8fb42fc
+fd15866e9e73a88ba98ba8a390a891a977a36e8b086e8b6e73856d0881f8fb1513d0
+758b677880557e4594688333843d7f3189768a858c84968b958b90948e968f9999c7
+acf70008a6e1a3b598cc94bd73a2708b0813e0fb42fcfd15866e9e73a88ba98ba7a3
+91a891a878a36d8b086e8b6e73856e080efb0e7ff5f81876f7597712f720d95af568
+a913f4f76af8ae15ff0003cccdff00109998a3ff0011199cff001f9999ff000a1998
+fffff2e666ffffbc199cff0008999affffdab332fffff8199affffa86666843e7f30
+89778a858c84968b958b90938f97ff0001b334ff0008199aff00058000ff00176666
+ff000a9998b208ff00048000ff00086666ff00054cceff00088000ff00066666ff00
+08999a9799a29aa59ac0aac7b699d3ff000c199aff003f1998ffffd7199aff002de6
+68ffffb2ccccff000b4cccfffffd3334ff001dccccffffecccccff000de668768bff
+ffed199a8bffffe43332fffff31998fffff13334ffffdd4cd008ffffe2cccd85ffff
+e5800081ffffec3333fffff29998697571738568846ba3849b8b9e8ba1968fa08e97
+8990888f0888908a908d990813e85efc8515866e9e73a88ba88ba8a390a891a878a3
+6e8b086e8b6e73856e08ff00d5199aff0216800015a6ffffece668ff000de666ffff
+de199885ffffdf80008261786c5d6afffff38000fffff7199afffff53334fffff733
+32fffff6b332fffff733348e95ff00033334ff000a8000ff0003666696ff0019b334
+ff0051b334ff0017ccccff002cccccff000c999ac7080efb1ef918b701f89ef94415
+fbf48b825ff7f48b050eb6f2c4f7bbc401f767c4f701c4f3c403f8adef15696b5e84
+85678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853ac8b978b9a958e9b0891
+078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b8c8b948698778b6e8b79
+70617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b7d7c88798b888a888b88
+8b7a93788b73088b888b878a89689a81a76e8b768b817e897f08860775a486b11e98
+8b978a968908fbda16686b5f848467088707809381981eab8b9abea8b19a6a8753ad
+8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b8b08a98ba99190a5088e
+07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d8b9b81927d8b7c8b7e7c
+87798b888a888b88088b7a93788b73088207689a80a76e8b778b807e897f08860775
+a486b21e988b978a968908f73af7f415686b5f858466088707809381981eab8b9abe
+a8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8669475a89b8e9a8c9b8b08a9
+8ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8e8b9a81
+927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b778b80
+7e897f08860775a486b21e988b978a9689080efc99f774f8ed15fc5efd23b48bf85f
+f923050ef77080f5f8aaa912f731d455f700f71bd9afd455f700f71bd913e9f731f8
+9c153c0adcfc3d1513d92b0a13cdf7bbf83d153c0adcfc3d1513cb2b0a0eac80f5f8
+aaa912f726d455f700f71bd96bf70165a981f70bfb0af70a13e800f726f89c153c0a
+dcfc3d1513d0002b0af778561513c400f8c40af738f90515200a13c100210a13c080
+220a13c200230a13c100240a0ea57ef5f8aaa912e2f70165a981f70bfb0af70aaad4
+55f700f71bd913c280f7dcf89a153c0adcfc3d1513c1802b0afbd5561513e080f8c4
+0af738f90515200a13c880210a13c480220a13d080230a13c880240a0efb0ff7d8e0
+a77701f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb542dfba68b8a088d
+85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c728b1e6785658765
+8b4f8b4f94549e080eb4fb7ea7f839f8436da412f7faf7ce13b0f726fb6315838c84
+8d898e859289938e978c948d958d9508f736f951058d968e958d929097919492918f
+8e918c938c948b92888e878f848d818a818a858a81887e08fb35fd4c05887e898189
+85867f858283850883858588858c08487115f70a8bf68a90a0058c908a8d878b086d
+067e8c828d888f869289948d968d948d958c9508e1f8060513d09884a986ab8bc68b
+c0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e4e8b08718b4a8a65
+880813b0808a7f8b7f8b0868698e8b1f13d0fb018d86760589878d888e8b08a90699
+8b93898e8691848c828a808a868981887e08fb35fd5005887e88818985877f858383
+848687828a7d8a086d06888b88888a87088676050efc22fb08a0eaebf76fed01a6ab
+cef003df3915858f85948597879589968a978a958c928c918c8f8c8e8d8f95849488
+938b998b968d9592089a9593998f9b8e978894869484977e907b8b818b8188838681
+86818183807e7c8479867808898089808b818b888c888b878c798f7e9180927e9382
+958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108f71bf87315839681
+907d8b7e8b7f857e817f818480887e8a878b878b888b828d84918492819587998b08
+998b97909794979592968e988c8f8c8f8b8f8b9388938691080efb92f7fba3f7ada3
+01f7bdf92c15f8c50a44fbc515f8c60a0efc03f801a2f767a0c8c501ff00e4b333ff
+003b999903ff00ffb333f8d415ff000bb332ff0034e66894ff00081998fffff2ccce
+8bffffee666684ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b333
+8a8d8b08ff0014cccd8a05ff00084cccff0004cccdfffffd3334fffff319981f8bff
+fff8999cfffffe6667fffff56664fffffc9999fffff0b334086efb1705fffffb1999
+75fffff9999985ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc
+88088779058bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd
+66668d898b08ffffee33338c05fffff1ffffff0000ccccfffff8cccdff000333348b
+ff000c80008bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff
+011dcccc15fffffffffffffff38000ff0008b333fffff5b334ff000e999a8b08ff00
+118000ff0012ccccff000f9998a0ff000b4cd0fffff9b334ff000a1998ffffeecccc
+ffffe3199afffff8cccdffffe59998fffff733341f0efb92f801a8d1adf7527701ff
+0079cccdff00fc333303f7bdf91215b00a5ffb5a15f8c70a0efb92f7fba6f739a6d1
+ae01ff0126e666ff0039199a03ff0126e666ff01f16666158bffffdf999afffff699
+9affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b8292
+8494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff0035b3
+337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4ff00
+188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffffbe80
+008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff
+0030999a8bff000b4cccffffe519988bffffe54cce080efb92f7fba3f729a3f7059e
+01ff00903333ff00336667ff0077e666ff0038999a03ff013b8000ff01e34ccc158b
+ffffe1999afffff73334ffffe4199afffff2b332ffffed999afffff5b334fffff1b3
+32fffff0e666fffff6b334748bffffe980008bffffe5199aff000ecccc8bff003133
+348bff00104ccc8fff001dccceff00066666ff000fe666a49ca291998bff0026cccc
+8bff0008b334ffffe680008bffffe8cccc08ff000b4cccffffa44cce15ff001e199a
+ff001a6666ff000f3334ff001a4ccc8bff0023ccce8bff001d4cccfffff36666ff00
+2e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6
+b3343dffffb59998ffffdfcccdffffb7b334fffff5cccd74fffff81999ffffe36666
+8bffffe3199a8bffffb8b334c0ffffeaccccff002acccd8bff0024999a8bff001ce6
+6699ff00154cccff0012999a080efb92f919b18b9012f73df78a13a0f78cf91915f8
+c80a1360f8c90a13a0fb42061360f8ca0a0efb92f7fba5f7a9a512ff007ecccdff00
+3280008fbeff004b9999ff0039e666ffffdd3334ff002f333413f4f7b6f92a15ff00
+16199aff0012e66680ffffeae6681f8bffffde4cccffffdd199affffdee664ffffed
+e666fffff6e66808799505ffffe88000ff000e3334fffffbcccdff0010cccc8bff00
+0d4ccc08ff00274cccff001ae667ff000e6668ff001ecccc1e93fb0b15ff0046e666
+afff00094cceff001999988bff001b4cd008ff0021e664ffffda9998ff00163334ff
+ffd73334ffffc78000ffffc1cccdffffdfccccffffc64ccc1e8bffffe96668ff000b
+666677ff001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffff
+dbe6688bffffcb800008ffffcd4cccff003899997eff0027999a1e13f8eaff002fcc
+ccff003accccff002e4cce1f8bff0017999afffff44cceff00156666ffffe9e666ff
+000de666083b16a57d05ff001780007eff00066666fffff066668bffffefccce08ff
+ffc8e666ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999a
+ff002133321e8bff002b199aff00366666ff002ae666ff00144ccdff000a3334080e
+fb92f7fb9ef705a4f728a301ff00a2cccdff0037e666ff00774ccdff0037999a03ff
+00dab333ff0234e66815ffffffffffff00324cccff0014e667ff0030ccccff003166
+668bff0016999a8bff001a66667c8bffffcecccc8bffffef3334fffffa8000ffffe4
+9998fffffc8000ffffee6668717a74867d8b08ffffd94ccdfffff76666ff0019b334
+ff001733341fff004b4ccdff007b199815ffffaae666ffffd1e667ffffba4cccffff
+cbb334ffffe29998ff000c8000ffffd26668ff0049b3331fa48baa9c9d9972515a48
+fb057808877805ff0059199aff0006e666ff00413332ff00248000b6ff002d4cceff
+00284cceff002a8000a3ff002bcccc8bff003ccccc08ff00486668ffffc78000ff00
+14ccccffffd4e6661e0efb92f87cb201ff00883333ff0104999803ff0122ccccf8a3
+15ff0017cccef6648bffffe8333320208bfffff7666664f68bffffe8800021ff0027
+00018bff00178000f5f58bff00089998b2050efb92f87cb201ff008f3333ff00f699
+9903ff0185ccccf8a315ffff1200018bfffff7666664ff00ee00018b050efb92f86e
+adb2ad01ff0090199aff00fdb33203ff017d999af89015fb7a8bfffff8800069f77a
+8b05ff0017b332f615ffff1a00018bfffff8800069ff00e5ffff8b050efc00ff0091
+cccdff0032666603ff0091cccdff01d9199a15ff00000001ffffcab332ff00178000
+ffffcf4ccec7ffffd2e66608ff001133339505ffffdc199aff0031b334fffff19999
+ac8bff00284ccc8bff0012199aff0002e667ff0013999aff00053333ff00174cccff
+00106666d5ff001ce667b8ff004ee666ce08fffff380009605ffff9e999affffc9b3
+34ffffb733332f8bffff9e6666080efc00ff00e74ccdff0032cccd03ff011a199af8
+c6158bff003ab334ffffe41999ff003a6664ffffca3333ff0027e66808ffffee999a
+8005ff0021cccd5cff000e8000ffffdbcccc8bffffd5199c8bffffedb330fffffd4c
+cdffffec8000fffffb1999ffffe9e668ffffef666740ffffe9cccc66374308ff000c
+cccc8105ff006f4cccff003eccccff0039199aff00534cce8bff0057e666080efb7c
+f800a2f768a07aad12ff015d3334ff0033199813b0ff00f4e666f8de15ff0009e667
+ff002cccccff00079999ff00063334fffff3cccd8b0813d0ffffee666784ffffd04c
+cc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014cccd8a05
+ff00084cccff0004cccdfffffd3334fffff319981f8bfffff8999cfffffe6667ffff
+f56664fffffc9999fffff0b33408ffffe24ccdfb1a05fffffb4ccd76fffffe666688
+ffffe74ccd88fffff6cccdfffffeb33488ff00006666fffffee666fffffae6660887
+7905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff0000e666
+8ffffffd33338c898b08fffff533338c05fffff34ccdff0000ccccfffff84ccdff00
+02b3348bff000c80008b8eff00006666ff0003b3348cff00044ccc08ff001fb333f7
+230513b0ff00181998a2ff0019e668a1a08bff00184ccc8bff000f3334fffff59998
+8bffffe2e6688b83fffffeccccfffff68000fffffd999a8008ffffe56666fb0c05ff
+fffae66674fffffa800089ffffea999a8908fffff4cccc8a05888bfffffe4cce88ff
+ffff999a89088779058bff002733328ca4a3ff0025ccce8a8b1e8f9d05ff00024ccc
+ff000a6666ffffde8000fffff633348bff001566668b8eff00008000ff0003999a8c
+ff0004666608ff001cccccf716058eff000d9998ff00018000ff000bb3348bff000a
+4ccc8bff00286668ffffe9999a9bffffdb4cce8b678bffffd74ccc68ffffee33337a
+080efb92fb09a3f7ada301f758f75015f8c50a44fbc515f8c60a0efb92fb03a801c0
+f75903f73bf72515978b8b82846b086efb160580586b8863898483887c8e85a98cab
+8bae8bac8b9f8ba98a91928e998993698d778e96be08c0f783058790838985885970
+6f7f587a887f8b829285a6949f91988b080efb92fb04abce77f76ba901d8bf03edf7
+0315f8cb0a0efb92fb0aa9f71ca6f6a912dabfff0051199aff003f6666ffffc88000
+ff003c4ccc13f4f770ff009c999a158bffffe7e666fffff0e666ffffeb8000fffff1
+6667fffff38000fffff0cccd7effffec1999fffff7999affffe8cccdfffffce66686
+82887f8f85938c908c928b0813f8ff00156666ff002ab334fffffce666ffffd7199a
+1f8bffffe26666fffff09999ffffe63334fffff3199a7effffebcccdffffebb333ff
+ffe5e666fffffab333ffffed80008b6b8b84928896889782907d8b7f8b7d82887eff
+ffffb333fffffe6666ffffffcccdfffffe999a8bfffffe800008ffffe38000ff003e
+cccd81ff0018b3331eff002cb3338bff00294ccdff000e6666ff001e4ccdff0018b3
+34ff001b4ccdff00163333ff0016e666ab8bff002acccd8bff002b8000ffffdd4ccd
+ff0014ccccffffe43333ff0002999a0813f4ff00233333ff0011199aff00201999ff
+001880008bff002666668bff001db333ffffe4ccceff00114ccdffffd1e6668b348b
+665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08ff000e199aff0011e666ff
+fff9cccdffffeccccd1f0efb92fb03a8d1ad01ff0028ccccff00fc333303f76cf736
+15b00a5ffb5a1582627d8863898483887c8e85a98c998bae8ba98b9c8ba98a91928e
+998993ffffda199aff00023333fffff51999ff00086667ff0007cccdff0023666608
+90a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a827d7f80815f625357
+5e55868687858785fffffe199afffffc3333fffffcb332fffff980008bfffffa3333
+08fffff9999a8ffffffa8000ff000e33341ef70a060efb92fb09a6f739a6d1ae01ff
+00cce666ff0039199a03ff00cce666ff00156666158bffffdf999afffff6999affff
+e4999afffff1cccd77fffff2800078ffffec3333fffff36666708b758b8292849485
+9384927e8b08fffff64cccffffee6667fffff7199a7cffffe9e666ff0035b3337fff
+0020999a1fff0020e6668baa97ff0018e667ff0013199aff0020b333a4ff00188000
+ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024b333ffffbe80008b7d
+8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff003099
+9a8bff000b4cccffffe5199a8bffffe54ccc080efb92fb09a3f729a3f7059e01ff00
+253333ff00336666ff0077e667ff0038999a03ff00d08000ff00074ccd158bffffe1
+999afffff73333ffffe4199afffff2b333ffffed999afffff5b334fffff1b333ffff
+f0e666fffff6b333748bffffe980008bffffe5199aff000ecccd8bff003133338bff
+00104ccd8fff001dcccdff00066666ff000fe666a49ca291998bff0026cccd8bff00
+08b333ffffe680008bffffe8cccd08ff000b4ccdffffa44ccc15ff001e199aff001a
+6666ff000f3334ff001a4ccd8bff0023cccd8bff001d4cccfffff36666ff002e999a
+ffffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6b3333d
+ffffb5999affffdfccccffffb7b333fffff5ccce74fffff81999ffffe366668bffff
+e3199a8bffffb8b333c0ffffeacccdff002acccd8bff0024999a8bff001ce66699ff
+00154ccdff0012999a080efb92f73db18b9012d0f78a13a0f728f73d15f8c80a1360
+f8c90a13a0fb42061360f8ca0a0efb92fb09a5f7a9a512ff001ecccdff003280008f
+beff004b9999ff0039e666ffffdd3334ff002f333413f4f756f74e15ff0016199aff
+0012e66680ffffeae6661f8bffffde4ccdffffdd199affffdee667ffffede666ffff
+f6e66608799505ffffe88000ff000e3333fffffbcccdff0010cccd8bff000d4ccd08
+ff00274ccdff001ae666ff000e6666ff001ecccd1e93fb0b15ff0046e666afff0009
+4cceff0019999a8bff001b4ccc08ff0021e667ffffda9999ff00163333ffffd73333
+ffffc78000ffffc1cccdffffdfcccdffffc64ccd1e8bffffe96666ff000b666677ff
+001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffffdbe6678b
+ffffcb800108ffffcd4cccff003899997eff0027999a1e13f8eaff002fccccff003a
+cccdff002e4ccd1f8bff00179999fffff44cceff00156667ffffe9e666ff000de666
+083b16a57d05ff001780007eff00066666fffff066668bffffefcccd08ffffc8e667
+ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999aff002133
+331e8bff002b1999ff00366666ff002ae666ff00144ccdff000a3334080efb92fb09
+9ef705a4f728a301ff0037ccccff0037e666ff00774cceff0037999a03ff006fb333
+ff0058e66615ffffffffffff00324ccdff0014e667ff0030cccdff003166668bff00
+16999a8bff001a66667c8bffffcecccd8bffffef3333fffffa8000ffffe4999affff
+fc8000ffffee6666717a74867d8b08ffffd96666fffff74ccdff0019b333ff001733
+331fff004b4ccdff007b199a15ffffaae666ffffd1e666ffffba4ccdffffcbb333ff
+ffe2999aff000c8001ffffd26666ff0049b3331fa48baa9c9d9972515a48fb057808
+877805ff0059199aff0006e666ff00413333ff00248000b6ff002d4ccdff00284ccd
+ff002a8000a3ff002bcccd8bff003ccccd08ff00486666ffffc78000ff0014cccdff
+ffd4e6661e0efb9296b201ff001e6666ff0104999a03ff00b8199abd15ff0017b333
+f6648bffffe84ccd20218bfffff74ccd64f58bffffe8800021b28bff00178000f5f6
+8bff0008999ab2050efb9296b201ff00256666ff00f6999a03f7b0bd15ffff12199a
+8bfffff74ccd64f7828b050efb9288adb1ae01ff00264cccff00fdb33303ff0113e6
+66aa15fb7a8bfffff8666669ff00e5ffff8b05ff0017b334f615ffff1a199a8bffff
+f8333368ff00e5ffff8b050efc00ff0028e666ff0032666603ff0028e666ff000019
+9a158bffffcab333ff00178000ffffcf4ccdc7ffffd2e66608ff001133349505ffff
+dc1999ff0031b333fffff1999aff002100018bff00284ccc8bff0012199aff0002e6
+66ff00139999ff00053333ff00174ccdff00106667d5a8b8ff004ee666ce08fffff3
+66679605ffff9e9999ffffc9b333ffffb733332f8bffff9e6667080efc00ff007de6
+66ff0032cccc03ff00b0b333e215ffffffffffff003ab333ffffe43333ff003a6667
+ffffca3334ff0027e66608ffffee999a8005ff0021cccc5cff000e6666ffffdbcccd
+8bffffd519998bffffedb334fffffd6667ffffec8000fffffb1999ffffe9e666ffff
+ef666740ffffe9cccd66374308ff000ccccd8105ff006f4ccdff003ecccdc4ff0053
+4ccc8bff0057e667080efb92fb09aaf773a312ff0016999aff00353334ffffef1998
+ff0034999aff0066199aff0033800013d8ff003ae666ff0052333315fffff3ffffff
+00084ccdfffff8cccdff000ccccd1eff001a4ccd8b95ff00173333fffffb3333ff00
+0acccdfffff9e666ff0015cccdff001b3334ff00123333ff0028cccc8bff0011999a
+8bff0016999afffffa4ccd8bffffd799998bfffff5cccdfffffe9999fffff38000ff
+fffc999afffff0cccd08ffffc299997c0513e8ffffcc8000fffff3999affffb6b334
+ffffe3e6668bffffc34ccd8bffffdecccdff001ae666ffffeb6666ff0025999a8bac
+8bff0013e66694ff0027b333a9fffffecccd78ff0009999a77a58b9d8bff00159999
+97ff000b00019408fffff999989b05fffffc4cce88fffffa999989878bfffffb3333
+8bfffffd4ccdff0004e6668bff000ab3348bff00094ccc8dff000d8000ff0004199a
+ff0012999a08ff00109999d605ff00033334ff000e8000ff00018000ff000ccccd8b
+ff000b333308ff003d33335fff000e4ccdffffd699991effffd54ccdffffb1e666ff
+ffdb199affffd619991fff0090199affffc8cccd15ffffee80003c05ffffdfb33373
+ffffecb33381768bffffe4b3348bfffff63333ff000d999a8bff0010999a8bff0031
+b332ff00424ccdff0011b334ff003ce666ff000f6666080efb92fb09aaf714a7cda4
+01ff0021199aff0036e666ff0084cccdff0033cccd03ff00d98000d115fb0206ff00
+0b6666a8ff00214ccdb0aa8bff001366678bff00123333fffff766668bffffe0b334
+8bfffff89999fffffee666fffff76667fffffdcccdfffff5e66608ffff7e8000ffff
+a9199a158bff00178000ff0007e666ff001e4cccff00026667ff0005199a08ff00a9
+ffff06ff00028000ff000e999aff0001ccceff000e4ccc8bff000d666708ff002b66
+66ffffee1999ff00214ccd4affffad8000ffffb5e667ffffa1999a32ffffc98000ff
+001e8000ffffd7e666ff004580001eb98baea2ff0021ccccae08ffffef999a9b05ff
+ffe8199a75ffffe74ccc76658bffffec4ccd8bffffdacccd9d8bff0033199a080efb
+92fb09a4f778a401ff0019e666ff003bccccff008bb334ff003db33403ff008d999a
+2f15ffffdf9999ffffe88000ff0019999aff00311999ff00341999ff001ccccdff00
+653334ff003db333ff001f33339dffffdfe666ffffcf199affffb06666ffffd98000
+ffffbc999affffd2b3341fffff8c4cccff004be66615ffffcae667ff001f4ccdffff
+d03333ff0043e667ff00573333ff004acccdff004ecccdff00647fffff0030199aff
+ffebccccff0032999affffb0cccdffff87e667ffffd64cccffff82199affffcccccc
+1e0efb92fb04a3f772a101fffff6b3332b15fffffd199a7eff000066668805ff0012
+33328cff001233348ca28b9b8b9b8bff0013cccc8a08ff0001b3338eff0002999a97
+05ff0001199990ffffffb3338e838bffffee999a8bfffffab333ff00004ccdff000f
+b333ff0011b33308ff00386666c305ff0003333483ff001a33335a8b8bff00046666
+fffff44ccd8bfffffab333ffffeecccd8b828bfffffc999a85fffffeb3338508ffff
+fdcccd81ff000099998905ff000e33328cff002233348ca28b9e8b9d8bff0012999a
+8908ff000199988eff0002e6689805ff0000e6668fffffffe6668f7f8b758bfffff7
+199a99fffff919999908ffffd4199ae1ff0048ffffd805ff0019cccea5ff0006199a
+90a08b978bff000080008dff00014ccc9108ff0002666696ffffffb3348e05ffffea
+cccc8afffff1b3348a778b7a8bfffff04ccc8cffffee33348c08fffffe800089ffff
+fd33337e05fffffeb33485ff0003b3338a918bff001333338bff0000e667fffff7e6
+66fffff66666fffff8199a08ffffc24ccd49ffffe63333c205fffffe7fffff000780
+00fffff8999aff00138000ff0011e6668b948bff000580008dff0001199a9008ff00
+02999997ffffffb3348e05ffffe7cccc8a768b778b738b7b8bffffec33348c08ffff
+fe800089fffffd33337e05fffffee66786ff0001800089978b978bff00094ccd83ff
+00064ccd7f08ff003099992605fffffc4ccd88ffffb41999438b8bffffe6e66774ff
+fff84ccd88788b848bfffffbcccd8afffffe666684080efb92fb09a4cda7f714aa01
+ff00283333ff0033ccccff0084ccceff0036e66703ff005f33337115f70206fffff4
+99996effffdecccd666c8bffffec99998bffffedcccdff0008999a8bff001f4ccc8b
+ff000766678cff00089999ff00023333ff000a199a08ff0081999aff0056cccd15ff
+00000001ffffe8800083ffffe1cccefffffd9999fffffae66608fb3e06fffffd8000
+fffff16666fffffe4ccdfffff1b3348bfffff2999a08ffffd49999ff0011e667ffff
+deb333ccff00528000ff004a199aff005e6666e4ff00368000ffffe17fffff002819
+9affffba80001e5d8bffffdce66774ffffde33336808ff001080007b05ff0017e667
+a1ff0018999aa0b18bff0013b3338bff00254ccdffffede6668bffffcce666080efb
+92fb04a2f766add1a001ffffff199aff011eb33203ff0092199af75015f8cc0a0efb
+87fb04a2f771a1cca10189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2
+f7cea001fffff1199aff00a2e66603ff00506666f74315f8ce0a0e3ffb04a2f76cad
+01f786ff0031e666ff0063199abd03c7f71f15f8cf0a0efb6ffb04a2f768a07aad12
+ff01053334ff0033199813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0e
+fb94fb87a2f700a5f75fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815
+a5f7050513d8f8d50a0efbc8fb0aa4f779a401ff000e3333a1ff00a38000ff001733
+3303ff000e33337915f8d60a0efbf7fb0aaef765a801b0bd03f715f71215f8d70a0e
+fb0ff7a8baf777ae12cde0f7b6a580a513f0f7827b15d38bccc3abce08749205715b
+6771668108a6f72e0591aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c
+8d8b8d8b8d8b9e7c99708b08658b6254716e08898b9cde7c8b05848b848881876f7f
+80866382088c72058f8c8f8b8f8b978b95868b798b878a868a870869fb59055e9b74
+ba8bdb8bac8fb393b8a3f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513
+e89af7307189058b888b898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb
+4d856d896f8b7108fb14c838f7031e0efb0f8aa8f762b2bab2f742b271a712f871a6
+13f4f804f7fb15fb078ba4f722058fa59b91a18b08d106cd8b9e568d4308a68f94f7
+34fb4d8b3d8b0513ec7efb068d8b1f13f4898987790513ec8a868e88908b08a806ae
+9685761f8b868b8589840872fb22358b8464e18b835c358b8464e18b6ffb3605856c
+7a7e638b087106868b87888a860888788c89058be28db2afe8898b1e8d8d8f9e058c
+90888e868b087106687e97a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7
+078b050efb0f7fbd93b2f725b2bab2f746b5019dcf03f737e015888b878b888a0890
+8f05aea2a9b3a0da08f70d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059add
+bdcab78ba08b9780958094819383998ba18b9f998fa3089007a85c95761e588b5d79
+6469525b6d5b7b43082f8b8564e68b835c2f8b8564e58b057e5476515f6384858586
+86876e7d71788775088807809581981e9c8ba3968fa58d95989bab8ba58ba07fa27d
+a47ba67bb08bd18bbdaea5bc088691056d6a52846f8b718b7d937d9678997399518b
+080ef7dd81be59a47aa5f778a9d0ae7da5f731a276a912f830d169d39ec596a096c7
+f700cc87a013387cf5cb1587727c7d678b087306868b89888a8708887a8c89058bdf
+8dabaeda898b1e8d8d8d9c058c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08ae
+f75b0596859487a38bea8bc7b9acc008c18b5bfba405887f8a808b810813903c639e
+7aad1e13303caa8baa97aba208877205958d928b908b918b918b90890813543ca185
+a788aa8bbe8be8a19be58c928c928b918bc557a54ea8639e77958ba78b8f8b8f8c90
+0894beb59bae8b0813543a9f8bbf80952b08a08c93f700057c955d995e8b438b485d
+814e89828a838b848b5bad7bc1730813507cc66fa0748b6b8b878a858a87835d5976
+688b6a8b729c83947c9d87a98ba18b928b918c8f08768a824505139978767e7b8777
+8b7b8b85958ba18b978d9c8fa008b3f779e08b05948b988e8d93088e9d058f898d87
+1e278ba4f71e547a887905814f79685d84929c909c8d9b081311b88d938c958b948b
+c16fd0fb128b768b6b8a5c8808133a7c5f8956887e8b08877a05888b88911e8f8ba1
+8c938b988ba0878b728b888a878b8708d8a8151311b89c919e919b8bbb8bbb7a8b3f
+8b7e8a7d887a792a57623c8b778b818e818d080ef77482a475a378a5f77aaedea5f7
+38a512f827d99ea196c6f700cc88a0133f80f873f844158c968c968b958baa83a57a
+a16bb45390588b2c8b4285788608887a058a878d89908b08a78d058c8c8d8b8e8b9b
+8b90838b7d8b858b858a84083afc580587727c7c668b087406135f80868b89888a87
+08887a05133f808c89058bdf8dabaeda898b1e8c8d05135f808e9c05133f808c8f88
+8e878b0874066c7e949f1f8b8e8c8f8b8f08adf75205c88b8b868d8508c1fb410513
+5f809760aa69ba8b988b9a8e948e089e07898a898b898b6d8b7aac81b00854f74c05
+b199dfbd9deb083b891585657a6c7772726c707c4e8b08738bbaf79e05a1908f8da8
+8bb48bb4788b458b7e8a7c887b08f0fbc2157bfb1405948d938b908b918b908b9189
+08139fc0a185a688ab8bbe8be8a19ae58c928c928b918bc557a54ea8649e76958ba7
+8b8f8b8f8c900895beb59bae8b08139fa09e8bc080952b08a08c93f700057b955e99
+5d8b438b495e804d8a828a838b848b5bad7bc07308139fc0c66fa0748b6b8b878b85
+8a87825d5976698b698b729c83947d9d87a88ba18b928b918c90080e482cb9b0b588
+a7f7f4aee6b2d1a9a57712ccdcf7bad113df80f7f2e4155c646c776a8b5d8b5cb68b
+e78b9c8c9d8fa098d3a3b69da0b3bab58e9f8bba8ba1769e6508f753f774153e8ba1
+f712758b0576827b877987798865857c8b08887205888d898e1eab8f05999382731f
+8b81897d897b088a8afb238b8464f7248b77fb050575986194778b498b5b755c6559
+606c4d7e4187788a798b7a8b2cbc49e78bbe8bb7a9b8b2087c46a38b0513bf80a39d
+c196c795088ca7057c88748b7f8b838b81918a948b8c8a8d8b8d8b948d9a8fa308d4
+f831d98b05fcc4fcda15845df85b8b93b9050efb0f7fb5f755adbeadf764ae12f1ff
+0051b333ffffc63333ff00508000ff0107999aaa13fad5f7c815ff002a666606ffff
+fdb334fffff68000fffffdccccfffff66666fffffe199afffff6199afffffe999aff
+fff8999afffffeb333fffff8999afffffee666fffff8cccc08ffffdacccd8b737289
+82c68b05fffff3999affff70b333ff003a3333ffffa44ccdff007633338bbf8bb69c
+a78999b3aecc9db9086e92056849674a438bffffaecccd8bffffde9999c9ff000e4c
+cdf71708ff00a74ccd8ba4adffff4433338b05ff0001b332ff000a999aff0001e667
+96ff00023333ff000b6666ff0001333391ff00014ccd91ff00014ccd9108ff00cd33
+338ba3ad0513f6ffff23666606ff00206667ff0072999aff003db333ff005d6666ff
+004d80008bd48b9b4b8e4808aa90058bb98dc592b56e89619c578bffff8e4ccc8bff
+ff9b80012dffffd11999fb2908ffffe7199a8b7373050ef8898aa9f7e8adf729a901
+f8c3d7f7eadc03f827f8da15a5ada6a1afa30888980556755c6f5f5a428144723960
+08917705cfa8caa5cb97675b694a69300823fba805816e7a7f698b087006878b8787
+8a8708847af7098d05ac8b9c89de8bf75b8bf723f730aaf7438e9b8c9b8b9a8bf70b
+38e1fb108b08fb1ffb8415b0efa8cba7b9089006f70ebc3d2d1f8b7a8979887972fb
+1e3cfb34fb618b548b818e8b968b8d8c8e8b8e8c918c8e8d8f08f80dfb9315a7b4ae
+e9a8d3a17ea185b28bf7418bf713f7399ef48c948c948b948bcc5eb7398b618b4d7d
+5565086a73636c58fb110844fb46055dfb036b55736c088e7b05f883f8771578fb00
+38fb18fb048b718b7a9477a383847577828908d7f74d05c1f718c8a3b98bbb8bad79
+8b528b838a808980080efb0f8aa5f778a9d2b2b9b3d8a276a912f829d013f2f810f7
+f615715a6075518b788b808e818d0897cd05f748e0158a868a858a848a8188828982
+08fb388b93b905f73ab315fb338b97ce0513f69b919f919b8bb88bb87c904b08f702
+16630686be6ac5fb088b768b6c8a5c880813fa5f8960887e8b08877a05888b88911e
+8f8b978c928b998b9f878b728b888b878a870884654d8b8463c98b835d4d8b8464c9
+8b58fbb60587727c7d668b087e06868b88888a8708897a8c89058bd58dabaed9898b
+1e8d8d8e9c058c8f888e878b0873066d7e949e1f8b8f8b8e8c8f08aef75b05958595
+87a28bec8bc7baacc108bf8b92b2638b05929a8f9a8d9a088cae070ef7247facf783
+a4f713abf784a401f9bcf96a15f8d80af74bf8ca15f8d90a622415f8da0af76efc5b
+15c68bb4a8b0ab0876a1056b6e60767c8b7a8b6f989ad59deac9c4b58b918b998788
+778778898c887f89808f7fa88b08948bac938fa392ac7ab0438b3b8b203976fb0183
+62a94acc8b080ef7247da3f78ea2f715abf784a401f842ae03f9bcf96a15f8d80af7
+4bf8ca15f8d90a622415f8da0af76ffc5d15d28bcaac96c793af63a95ba57b93869a
+8f9f8fa2a0a2a98ba78b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f
+9879b172a37ba876856d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b
+080ede7fb4f8e4b001f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bff
+ffd6199a8bffffde3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f
+333405ff00273334ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a
+943508ab8f058bbf8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb
+3af76c8b08ffffdf999aff023ccccc15ffffa48000fffe27800005ffffd04cccff00
+3b8001fffff53334ff005f9999ff00116666ff005a999aff0015199aff006ae666ff
+0035ccccff0049e666ff0039b334b9080ef7827bb5f844a7c7adbda701f9b0a903f8
+b07b15eb8bd4bcd9e308779a0538385670368bfb148b51f711a6f71db4f768f718b9
+da8bf7008bb54a922e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565
+fb556ffb25dffb25f74f8b08fb72f8d115f8db0afb3a8c15f8dc0a0ef7567ea7f786
+a6f70facf783a401f9bcf96a15f8d80ae8f83f15f8dd0af7abfbc01596c4b5e8cb8b
+b18b8a5d8363836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e1
+9ff294ba80c8318bfb098b35237c3d080ef7567cb2f764bef710acf783a401f9bcf9
+6a15f8d80ae8f83f15f8dd0af7defb6415949f93a08d968d978d9f6a8b698b68785b
+62089b79059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e
+846a967cba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05
+797a7d81838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b
+8b66364965788b808b8a938f9d8d95919c919a080ef7858aa8f78aadf72aa7beb170
+a8c0a712f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a9
+8f0513ef8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513
+ef898b86911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a86
+0887788d89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa
+08b2f75ef7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad
+98b192a28c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb
+6ef78d15f8db0afb3a8c15f8dc0a0e9c46c2a976f886c001f8d6f73d15a2f70d46dd
+25ad5966536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e
+8f0577716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c8670747574
+7d0854bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8b
+affb127b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58b
+ba8bae66a16bbcdcf752b1b0f750080ef7538aa8f7bcb2f793a701f8d8d315856f7a
+7b628b087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90
+888e868b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c9008
+8f9e898c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d
+0862fb67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6764fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334
+ff00076667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199affff
+f87fffffffff999afffff933348b087106868b87888a860888788d89058bf7258dae
+b2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05ff
+fdfe6668fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015
+999afffff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666ff
+fff3999a6efffff8b334080e757fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3
+cff78405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a7589
+6da07ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08
+bdf7350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a
+877887798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b08
+0e757fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff
+008d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b91
+818a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff00
+663333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b
+9c7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d108
+779c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec7
+6e9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db3
+050e797fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080efb847db2f8ada301f76df7d915a3f7100594b9a1
+ceb38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cc
+cc9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e05
+6ffb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef740987692a8f8e2a7
+121360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a6468
+408c8b1e868a8878058a869288908b08a606b48b916986700841fc0f877405898089
+87878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b08
+9006ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999a
+fffdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e
+8d8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b94
+80987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a
+15ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff00
+00999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764
+fffffe8000080ef8007fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f1583
+5ff77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b798186
+72856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745
+fc4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f
+907a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f
+858b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8b
+a0618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08
+aefb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080eea8aa8f7
+94b1f7baa57ba71213d0f8cef87215f8de0afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f8df0a0ef72bfb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef727acd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080eea8aa86f
+a0f79bb1f7baa57ba7121328f8cef87215f8de0add8c1595bd81b46ead64b845904c
+8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668fb
+07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e1898b
+1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408cd
+fb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b999
+f4c4a0f40813a0fffdece668fc5715f8df0a0ef751f7afa37da0f782d98d9f12f0a9
+f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d8159
+83606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b8d
+8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891aba7
+a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b08
+7d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc8d
+9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b089a
+06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a88
+9089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d06
+13bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d9305
+137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb23
+8b8b8d849388908b948b918f8f91088b8becf736bbdc080ef77ef7b9a0f7ae76bea5
+01f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a2
+908ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b
+08bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a
+058bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e
+158b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b7
+898b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f90
+918b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a
+83058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b84
+8b087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d
+848b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d849388
+908b948b908f8f91088b8becf736bcdc080ef7168bb264a8f8d5b39777121340f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513a0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc240613105c8b9094678e7c5573437c6208a786051360aed0a6bed78b08
+f75b06938b8e898a858a868684848408fc81fcb105838387838a8489818f86998b08
+0ef48bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef4b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8db
+1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca61
+ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f705
+bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf8b
+08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf75c
+8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080e5b83a8f74ea7f746a801f7
+33f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f72927
+e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f5e53
+73518b398b58c08fa2080e3ba07601f829c903f8aef84e1594b7689772923ca5b397
+799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd36668
+78ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f727b
+708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000ffff
+b19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608f006
+a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332ff00
+226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa91aa
+84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104cccff00
+036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199affff
+15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff000080
+00ffffffb334ff00008000080e2e8beff7d9f700b87701f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080efb769a7691ef12
+a3f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e47
+8056c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208
+f70f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080efb
+0f9f76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968a
+a28b8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a81
+7f988bca809eec99d18dce99d0080efb9b8aadf872f70c01f763f70b03f763f8cf15
+846aa170ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b
+055d7c6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b
+088306868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e86
+8b0883066a8b849a90a7080eee36a9f71ca6f6a9d2a512f849bfff00511998ff003f
+6668ffffc88000ff003c4ccc13f8f782f8d115ae0af8196b15af0a13fa31fffea899
+9a15f8e00a13fcf8e10a13faf8e20a0eee34a9f71ca6f6a9d4abf79aa912f744bff7
+5fbfff00511998ff003f6668ffffc88000ff003c4ccc13fe00f907f8b115af0a13fe
+802bfffea6999a15f8e00a13ff00f8e10a13fe80f8e20afc0bff015f666615f8cb0a
+0eee35a6f739a6d1aed9a501ff0235e668ff0039199803f782f8d115ae0af8196b15
+af0affff99e668fffe1f666615f8e30a0eee36a6f739a6d1aed8abf7a0a301f7d7c6
+ff00aee668ff0039199803f907f8b115af0afc739115aa0aff016fe668fffe1a6666
+15f8e30a0eee36a6f739a6d1aed1a9f71ca6f6a912f746bfff0051199aff003f6666
+ffffc88000ff003c4cccff00b6999cff0039199813fe40f907f8b115af0affff95e6
+68fffe20666615f8e30a13fec0ffff0d1998ff02123330158bffffe7e668fffff0e6
+66ffffeb8000fffff16666fffff38000fffff0ccce7effffec1999fffff7999affff
+e8cccdfffffce6668682887f8f85938c908c928b0813ff40ff00156666ff002ab334
+fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987eff
+ffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b84928896889782
+907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe80
+0008ffffe38000ff003ecccd81ff0018b3331eff002cb3338bff00294ccdff000e66
+66ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce8b
+ff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fec0f8e40a0eee
+36a6f739a6d1aed9a8d1ad01ff022de668ff0039199803f907f8b115af0affff91e6
+68fffe20666615f8e30afffefc1998ff0218999815b00a5ffb5a15f8c70a0eee35a3
+f729a3f7059ed4a501ff01853334ff00336666ff0077e666ff0038999803f782f8d1
+15ae0af8196b15af0affff948000fffe114ccc15f8e50aff000b4cccffffa44cce15
+ff001e199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccffff
+f36668ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d
+8000fffff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199a
+ffffe366668bffffe3199a8bffffb8b333c0ffffeacccdff002acccc8bff00249998
+8bff001ce66899ff00154cccff0012999a080eee36a3f729a3f7059ecea6f739a6d1
+ae01ff0125e666ff0039199aff00253334ff00336666ff0077e666ff0038999803f9
+07f8b115af0affff938000fffe124ccc15f8e50aff000b4cccffffa44cce15ff001e
+199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccfffff36668
+ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000ff
+fff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199affffe3
+66668bffffe3199a8bffffb8b334c0ffffeaccccff002acccc8bff002499988bff00
+1ce66899ff00154cccff0012999a08fffeeb199aff01f5cccc158bffffdf999affff
+f6999affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff00
+35b3337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4
+ff00188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffff
+be80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a1
+8bff0030999a8bff000b4cccffffe5199a8bffffe54ccc080eee34a5f7a9a5d5a512
+ff0180ccccff003280008fbeff004b999cff0039e664ffffdd3334ff002f333413f8
+f782f8d115ae0af8196b15af0afb0cfbd11513faf8e60a93fb0b15f8e70a13fcf8e8
+0a3b16f8e90a0eee36a5f7a9a5cba9f71ca6f6a912f753bfff0051199aff003f6666
+ffffc88000ff003c4cccfffff78000ff003280008fbeff004b999cff0039e664ffff
+dd3334ff002f333413fc40f907f8b115af0afb0dfbcf1513fc50f8e60a93fb0b15ff
+0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda9998ff00
+163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bffffe966
+66ff000b666877ff001d4cccfffff080000896850513fce0ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999aea
+ff002fccccff003acccdff002e4ccd1e8bff00179999fffff44cccff00156667ffff
+e9e668ff000de666083b16f8e90a13fd40fb45ff01f79998158bffffe7e668fffff0
+e666ffffeb8000fffff16666fffff38000fffff0ccce7effffec199afffff7999aff
+ffe8ccccfffffce6668682887f8f85938c908c928b0813fe40ff00156666ff002ab3
+34fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987e
+ffffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b849288968897
+82907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe
+800008ffffe38000ff003ecccd81ff0018b3331eff002cb3348bff00294cccff000e
+6666ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce
+8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fd40f8e40a0e
+ee35a5f7a9a5cfa6f739a6d1ae12ff0122e666ff0039199aff001eccccff00328000
+8fbeff004b999cff0039e664ffffdd3334ff002f333413ff00f907f8b115af0afb12
+fbd01513ff40f8e60a93fb0b15f8e70a13ff80f8e80a3b16f8e90affff2ae666ff01
+736666158bffffdf999afffff6999affffe4999afffff1cccc77fffff2800178ffff
+ec3333fffff36666708b758b82928494859384927e8b08fffff64ccdffffee6666ff
+fff7199a7cffffe9e666ff0035b3337fff0020999a1fff0020e6668baa97ff0018e6
+66ff0013199aff0020b334a4ff00188000ff0022b3328bff002fccce8bff002bb332
+ffffe48000ff0024b334ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb37
+8b55fb239188059b92a192a18bff0030999a8bff000b4cccffffe5199a8bffffe54c
+cc080eee36a5f7a9a5f7f5b18b9012ff0184ccccff003280008fbeff004b999cff00
+39e664ffffdd3334ff002f333413ccf8f3f8b115af0a2bfbcf1513cdf8e60a93fb0b
+15f8e70a13cef8e80a3b16f8e90a13ecfb7ff89a15f8c80a13dcf8c90a13ecfb4206
+13dcf8ca0a0efb65f7d0a501f907f8b115af0afc42b315ae0a0efbae87a5f8a5a601
+f75ff8a3158b878a8589800836fc4a0589828a848885898487848386878983897d8b
+086d8a05888b878b8984088778058bcb8eb3b9d2888b1e8e9e058c8e8a8f858b086d
+8c057e8b848c878e869089918b938c928c928d9308e0f84a058c938c928d928e928f
+9194908e8e938d998b08a906928c8d908b8e088f9dfb0988238e8778058b868d8990
+8a08a806998b93898e8890878d858b82080e4087a5f8a5a301f836f8a3158b878a84
+89810836fc4b0589838a838886898386858586868883897d8b08468c057e8b838c88
+8e859089918b938c928d928c9308e0f84a058c938d928d928d928f9194908e8e948d
+988b08d106988b92898f8890878d858b8208fb6a168a878b8589800835fc4a058a82
+89848985888487848386878983897d8b086d8a05888b878b8984088778058bc88eb7
+1ef7738a05b9c8898b1f8f9d058c8f8b8e848c086e067e8b838d878e869088918c92
+8c928c928d9308e0f84b058c928d928d928d928f9193918f8e948d988b08a906918b
+8d908c8e088f9dfb0189fb738b238e8778058b868d89908a08a806998b93898e8890
+878e858b82080ef7208aa3f8a4a301f90df8a3158b878b8588800836fc4b0589838a
+8389868883878583868888838a7d8a08438c057e8b848c878e859089918c938c928c
+928c9308e1f84a058c938d928d928c92909193908f8e938d988b08d306998b92898e
+8890878e858a8208fb6c168b878a8589800835fc4a058a8289848985888487848486
+878982897d8b0847067e8b848c878e869089918b938c928c928d9308e0f84a058c93
+8c928d928e928f9194908e8e938d998b08cf06988b94898e8890878d858b8208fb6a
+168b878a8589800836fc4a0589828a848885898487848386878983897d8b086d8a05
+888b878b8984088778058bc78eb71ef84b8a05b9c9898b1f8f9d058f8b8f851e6d06
+7e8c838c888e859089918b938c918d928c9308e0f84b058d928c928d928d928f9294
+908e8e948d998b08a806928c8d8f8c8e088e9efb0088fc4b8b238e8778058b868d89
+908a08a806998b93898e8890878d858b82080ef77b87a5f8a5a601f89ff8bb15b28c
+05928c8c918b8c088f9d888b057f8bfb0189868bfb438df74d8dfb608608fb048e87
+78058b868d89908a08a806a29487771f8b878a8589800836fc4a05846280886f8a08
+6d8a05888b878b8984088778058bd08eb7b9c9888b1e8e9e058c8e8a8f858b086d8c
+057b8c7c8b8ba18c928c928d9308e0f84a0590ae9595a98b08bc069e8b998a917408
+d3fc91058d7b9184958b968b9592939b08f7a3f87b0598a48e9fb78c089e8c05928b
+8e8e8c90088e9d898b05838b4689898b808b2f8d878b08898b8a89887a058a888c88
+908a08a88a05ab8b9389877b8b8b897a858208fb68fc0758f807058a938b918a9308
+a19d8b991e0e9f9b76f8c1a501f7cd9d15f7a3f87b0590958f928e918d9091929892
+908e938c998b089d8c058e8b8d8b8c8c8e8d8d8c8c8f088d9b8c8d888b05848b4689
+888b808b2f8d888b08888906887a058a888b88908a088c8ba88a05a08b95898d898e
+878c878a858b8a8a898b8a89868c84858108fb68fc0758f807058a938a918b938b8d
+8b8c8c8d8c908c8f908f8e8e928c998b08b28c058e8b8e8d8c8f8b8b8b8a8c8e088e
+9b8b8d898b057e8bfb0189878b818b328d888b08888906887a058a888c898e8a8c8a
+8d8b8d8b089f8a05978b948a908893868e858e82088e75cffc7b058e7b9084968b96
+8b9592939b080ef78687a5f8a5a501f970f8a3158b878a8489810836fc4b0589838a
+8389868883878584868788828a7d8a086d06888b878a8985088778058bc88db7b8d2
+898b1e8f9d058b8f8b8e848c086e067d8c848c888e859089918b928c928c928d9308
+e0f84b058c928d928d928d928f9193918f8e938d998b08a906928b8d908c8e088e9d
+fb0989fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b9489
+8e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b
+920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b8d898b057e8b
+fb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05
+978b948a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3
+f87b058f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d
+858b82080ef85c89a3f8a5a301f970f8a3158b878a8489810836fc4b0589838a8389
+868883878584868788828a7d8a086d06888b878a8985088778058bc88db71ef77306
+b8c9898b1f8f9e058c8e8a8f858b086d8c057d8b858c878e869088918c938b928d92
+8c9308e1f84a058c938c918e938c928f9194908f8e938d998b08a806928c8e908b8e
+088f9dfb0188fb738bfb458b05808b2f8d888b08888906877a058b888b88908a08a9
+8a05a08b94898e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f807
+0589938b928b920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b
+8d898b057e8bfb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b
+8d8b089f8a05978b948a908892868f858e82088e75cffc7b058e7b9084968b958b95
+92949b08f7a3f87b058f9590928e918d9091929792908e948c998b08c48c05988b93
+898e8890878d858b8208f76b168a878a8489810836fc4b0589838a83898689838685
+84868788838a7c8a0847067d8c848c888e859089918b928c928c928d9308e0f84b05
+8c928d928d928d928f9193918f8e938d998b08d006998b92898e8891878c858c8208
+0ef91d89a3f8a5a3011c0474f8a3158a878a8489810836fc4b05898389838a868883
+878583868888828a7d8a0853067e8c848c878e869088918c928b928d928c9308e0f8
+4b058d928c928e928d928f9193918f8e938d998b08c206998b93898e8891878c858c
+8208fc2c168b878a8489810836fc4b0589838a8389868883878584868788828a7d8a
+086d06888b878a8985088778058bc88db71ef7618bf75d8b05b9d2898b1f8f9d058b
+8f8b8e848c086d067e8c848c878e869089918c928b928d928c9308e0f84b058c928d
+928d928d928f9193918f8e938d998b08a906928d908e1f8f9dfb0989fb5d8bfb628b
+fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b94898e898e
+878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b920890
+078c908d8f908f8d8e938c998b08b18c05908e938b1f8f9b8b8d898b057e8bfb0189
+878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05978b94
+8a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3f87b05
+8f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d858b82
+08f762168b878a8489810836fc4b058983898389868983868584868788828a7d8a08
+50067d8c848c888e859089918b928c928c928d9308e0f84b058c928d928d928d928f
+9193918f8e938d998b08c706998b92898f8890878d858b82080ef7ac88a5f8a6a501
+f8b7f7ac15fb4ffb6605828184838787848381858086848883897d8b708a7b89718d
+7e8b848c878e869089918b93088c928c928d9308e0f84a058c938c928d928e928f91
+94908e8e938d998bb48b818e988a08938a05988a958a90889487928491828f858e84
+90830877fc4b15f72ff743e4fb430591828e838d878d878b878a878b898a898a898b
+8a8a8b8b8b8989848a808b08658a05898b8a8a898a8b898a8a8b8908887b8b888d8b
+05988cf7038d8f8b948bdd888f8b088d8b8c8e8e9b058c8e8a8d898b898c898b868c
+08858c057b8c828c878d81918591869386958792889008fb0ff784f742f758059292
+91939291939394929790918e958d988b08a58c058e8b8e8b8d8c8e8c8d8d8b8e088e
+9b8b8e898b05828a3689888b818b358e888b08898b8a88887b8b8705898c8a8d1eac
+8a05998b90898c89088c068c898b8a8a888a888a87878689888684818008fb24fb35
+39f73505869687918a8f8a8f8a8f8c8f8c8d8b8d8d8d088c078e8c918d978b08b38c
+058d8b8d8c8c8d8c8c8b8c8b8d088f9b8b8e898b057e8afb0089868bfb4b8df74c8d
+fb6d8608238e8778058b868d89908a08a806998b93898e8890878d858b828b878a85
+89800836fc4a0589828a848885898487848386878983897d8b086d8a05888b878b89
+84088778058bc78eb7f750978c8b1e968beb888e8b088e8e068e9b058c8d8b8d8a8c
+8b8c8b8b888c08698c057d848d8d1f8a8c8a8d8c8e8c8e8d8f8e9090929293919108
+0ec788a6f8a5a501f74ece15ff009a999aff00ae8000ff00596666ffff5180000590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8b958bdd888e8b088e8e068f
+9b058e8a8d891e898c898b878c08848c057c8c818c878d8291849186938695879288
+9008ffff85ccccff00ef6666ff00ae3334ff00c4999a059192929392919293949297
+90918e958d998b08a58c058e8b8d8b8e8c8d8c8d8d8c8e088e9b8b8e898b05818a37
+89878b818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a05998b
+90898c898c898b8a8b888a888987888689888584818008ffff713334ffff5ee666ff
+ffadccccff00a1199a05859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c
+8d8c918d988b08b38c058d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb01
+89878b818b328e888b08888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a
+958a908894879184918290858e848f8308ff0073e666ffff1dccccffff46199affff
+2e333405818185838787838382857f86858882897d8b08738a05888b898b8a8a878a
+8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b088d8b8c8e8e9b058b8d
+8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d8b8e8c8e8d8f8e909192
+91939291080ef79888a6f8a5a501f89fd115f8ea0afbe58815f72ef743e5fb430590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8bf74489428dd68b08b8d289
+8b1f8e9d058c8f8a8e858c086e067e8c838c878e869089918b928c928c928d9308e0
+f84b058c928d918d938d92909192918f8e948d988b08a906928d908e1f8f9dfb0989
+fb588a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a0599
+8b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f735058596
+88918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c058d8b
+8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b088888
+06887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a90889487918491829085
+8e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b0873
+8a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b
+088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d
+8b8e8c8e8d8f8e90919291939291080ef8708ba3f8a5a501fa5bf8a5158b878a8489
+810836fc4b05898389838a868883868584868788838a7d8a0845067e8c838c878e86
+9089918b928c928c928d9308e0f84b058c928d918d938d92909192918f8e948d988b
+08d106998b93898e8890868d868b8208fda1fc6215f72ef743e5fb430590828e838d
+878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a898a8b89
+8b8a8a8908897b8a888e8b05978cf7038d8f8bf744894b8dd68b08f76306b8d2898b
+1f8e9d058c8f8a8e858c086e067d8c848c878e869089918b928c928c928d9308e0f8
+4b058c928d918d938c92909193918f8e938d998b08a906928d908e1f8f9dfb0989fb
+638bfb618a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a
+05998b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f73505
+859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c05
+8d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b08
+888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a9088948791849182
+90858e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b
+08738a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb88
+8f8b088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c
+8b8d8b8e8c8e8d8f8e9091929193929108f7e58e15f8ea0a0e6589b660a4f8a5a512
+f88fa21370f759f88e1536fc49058983898389868983868583868888838a7d8a086d
+8a898b05878b89898a8708877a8b898d8bf8568b8d8b8c8dbef73a8c8e888b798b89
+8b8b89057c6f796e736c7f7c7f807b840813b08387818a808b08fb568be5f865058c
+938d928d928d92909193908f8e938d988b08a98c8e8b058e8c8d8d8c8e088b8c8c8c
+1f8e9a8b8e898b057f8a2789888b7f8b2d8e878b08898b8a88887b058a868e898e8b
+088d8ba88a05988b93898e8890878e858b82088a878b858980080ea67fb4f896b001
+f8e7aa03f7d77f15e78be2bbe1e408779a05343d4b6a358bfb248b6af72da4f713af
+f74bf716bed68bf7108bb43a953508aa90058bbe8bbb93c2528f72b4fb058bfb258b
+fb3ffb0768fb436dfb31c7fb25f7618b080eea89a8f89cac71a51213c0f7acf8b315
+a58da98dac8bd58ab677b45dc44c995973fb0f7a31635f475d65705e813f8b5e8b67
+8f709208fb337615887a8b898d8bf7b88b05f18bd0a8d8c5c0b3b6cc9ad99ad884b6
+68c353e239bcfb378b0813a0fb668b898b8a88887b058a878d88908b08a98a05988b
+93898e8890868d858b838b878a8589800836fc4b05898389838a8688838685848687
+88838a7d8a086d8a05868b898a8986080ef79288a5f8a5a601f7cef8d715fb278b88
+7805888b87911ea78a059a8b9c8a8a748b838a838a8608fb0efc4a05867488827d82
+888983897d8b086c8a05878b888a8985088778058bc58eb0b0c2888b1e8f9e058c8e
+8a8e848c086e8c057e8b838c888e81958f918fa408f6f818f709fc58058c858e8692
+8b918b928e909308f7bef86266fc22058b878a828982888488848486878983897d8b
+086d8a05878b88898986088878058bcb8eb4b9d2888b1e8f9e058b8e8b8e848c086e
+8c057e8b828d888d859089918b938b8f8a928d9608b7f84a058fab9997a88c08a606
+8e8b8f8c8d92088f9efb138bfbc1fc66050efbbd8aa8f80aa8e7eb01f75bea03f75b
+f8cf15f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d89
+058bcf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b2
+0591a7989bab8b089f068f8b8f8e8c90088f9e898d058b47896467478d8b1e898987
+78058a868e88908b089e06ad8b917b856f080efb108aa8f80aa8e7eb01f75beae6eb
+03f815f8cf15f8ec0afb4e16f8eb0a33fc8715856e7f7c698b087806868b88888a86
+0887788d89058bcf8dae1eff0017cccd8bff0022e666ffffff4ccdff0017999affff
+ff666608ff0000b333ffffff4ccd058b8bff0004cccdff0000199aff00079999ff00
+003333ff0007cccdffffffcccdff0004cccdffffffe6668b8b08ff0000b333ff0000
+b33305ff00171998ff00009999ff00216668ff0000b333ff0015cccc8b08b2cf898b
+1f8d8d8f9e05ff0000199aff0000999aff0000199aff000099998bff0000999a08ff
+0003e666fffffd3332ff00024ccdfffffb999a1e7806ffffe66666fffff5ccceff00
+09999aff0012b3321f8bff0004b334ff00009998ff00053333ff00013334ff0005cc
+cd08c2f7b20591a7989bac8b089e068f8b908e8c90088f9e898d058b4689641effff
+ea80008bffffde3334ff0000b33474ff0000999808ffffff4cccff0000b334058b8b
+fffffb8000ffffffe666fffff88000ffffffcccefffff8999aff00003332fffffb66
+66ff0000199a8b8b08ffffff4cccffffff4ccc05ffffe8999affffff6668ffffdd19
+9affffff4ccc738b0867478d8b1f8989877805ffffffe666ffffff6666ffffffe667
+ffffff66668bffffff666808fffffc1998ff0002cccdfffffdb334ff000466661e9e
+06ff001a999aff00096666fffff63334ffffee66661f8bfffffb199affffff4ccdff
+fffa6666fffffeb333fffff9e66608c1fbde15ffffe5e666fffff63334ff00096666
+ff00124ccd1f8bff0004cccdff00009999ff00056666ff00014ccdff0006199a08c2
+f7b20591a7989bab8b08928b988b918b05ff001b4cccff00093334fffff5b334ffff
+ed66661f8bfffffb6666ffffff8000868afffffa80000853fbb205866e7e7c6a8b08
+848b7f8b050ed68aa8f80aa8e7eb01f75beae9ebf0eb03f8ddf8cf1586709c76a68b
+a58ba5a090a690a579a1718b718b71758671086afb691554fbb205856e7f7c698b08
+7a8b898b7a8b056a8b849a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b
+917b856f08fb38f76915f8ec0a6afb691554fbb205856e7f7c6a8b08818b818b828b
+056a8b849a91a808c2f7b20591a7989bab8b08958b958b948b05ad8b917b856f08fb
+30f76915f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d
+89058bcf8dae1eff0018cccd8bb0ffffff3333ff00179999ffffff666708ff000099
+9affffff6666058b8bff0004199aff0000199aff0006ccccff00003333ff0006e667
+ffffffcccdff00043333ffffffe6668b8b08ff0000999aff0000999a05ff0017199a
+ff00009999ff00238000ff0000cccdff0016cccc8bff001be6668bff002a999a8aff
+0016199affffff666608ff00006666ffffff999a058b8bff0002999aff0000199aff
+00046666ff00001999ff00046666ffffffe667ff0002999affffffe6668b8b08ff00
+006666ff0000666605ff0015e666ff0000999ab58cff0019b3348b08b2cf898b1f8d
+8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f
+8b908e8c90088e9e898d058b4789641effffe666688bffffd6b3308cffffea4cd0ff
+0000999a08ffffff9998ff00006666058b8bfffffd6666ffffffe666fffffb8000ff
+ffffe666fffffb999aff0000199afffffd8000ff0000199a8b8b08ffffff999affff
+ff999a05ffffe9b332ffffff6666ffffd4999a8affffe4199a8bffffe9999a8b67ff
+0000cccc74ff0000999a08ffffff6666ff0000999a058b8bfffffc199affffffe666
+fffff96666ffffffcccefffff98000ff0000333287ff0000199a8b8b08ffffff6666
+ffffff666605ffffe8b334ffffff666666ffffff3334ffffe6e6668b0867478d8b1f
+89898778058a868e88908b089e06ad8b917b856f080ef721947696a8f80aa8e7eb12
+f75bea1338f75bf8cf1586709c76a58ba68ba5a08fa691a579a1718b08708b727586
+71086afb691554fbb2051378856e7f7c698b087806868b88888a860887788d89058b
+cf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591
+a7989bab8b089f8bff000066668bff0000999a8b05a88b9e7f92670813b8d0fbed05
+8e7c9085988b958b9491949c08f760f7e705a3b2a598a88b918b918f8c90088e9d89
+8d058b61897166528d8b1e8789877705888d87901e8f06ad8b9585897c8984868284
+8008fb17fb6f716083b95ff76e05889989938c928d959591a08c089c068d8b928c8c
+92088e9e888d058b4e89631effffe7e6668bffffdeb3348cffffeeccccff0000999a
+08ffffff999aff00006666058b8bfffffdb334ffffffe666fffffc1998ffffffe666
+88ff0000199afffffe3334ff0000199a8b8b08ffffff8000ffffffb33405ffffeae6
+66ffffff6666ffffd2b334fffffee666ffffe2e6668b0867478d8b1f89898778058a
+868e88908b089e06ad8b917b856f080e4c9476f832a801f82cf82615ad8b9585887c
+8a848682848008fb17fb6f716083b95ff76e05889989938c928d9595919f8c089c06
+8e8b918c8c92088f9e878d058b4e896469568d8b1e88898777058a869089908ba88b
+9e7f926708d0fbed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b92
+8b908f8c90088f9d888d058b62897166528d8b1e87898777058a888d87908b080ef7
+00947696a8f80aa6e9eb12f8feea1338f8fef8cf15f8ed0a6afb691554fbb2051378
+856e7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e
+058c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e
+8c90088f9e898d058b4789641effffed66688bffffe4e664ff00008000ffffea199c
+ff0000800008fffffe99988c058b8bfffffab334ffffffb33483ffffffb332fffff3
+1998ff00004ccefffff73334ff00004ccc8b8b08fffffe9998fffffe999a05fffff5
+999cffffffb332fffff4e666ffffffb334fffff6e6668b0866528d8b1f8789877705
+8a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083b95ff76e05
+889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e896469568d
+8b1e88898777058a869089908ba88b9e7f92670813b8d0fbed058e7c9085978b968b
+9391959c08f760f7e705ff0017e666ff0026ccccff0018ccceff000d199aff001ccc
+ccff0000199aff00209998ffffffccccff0006e668fffff0199a85ffffe4199a080e
+f7d5947696a8f80aa8e7eb12f910ebedea133cf9d2f8cf15f8ed0a6afb691554fbb2
+05137c856e7f7c698b087d8b868b7d8b056b8b839a91a808c2f7b20591a7989bac8b
+08998b908b998b05ac8b927b856f08fb35f76915f8ec0a6bfb691553fbb205856e7f
+7c6a8b087806868b87888a860887788d89058bcf8daf1eff001a99988bff0028199c
+ffffff199aff0016ccccffffff666608ff00008000ffffff8000058b8bff00033334
+ff0000199aff00054cccff00001999ff00056668ffffffe667ff00031998ffffffe6
+668b8b08ff00008000ff0000800005ff00168000ff0000999aff00273334ff0000e6
+66ff0017cccc8b08b2d0898b1f8d8d8e9e058c90888e878b0878066a8b849a90a808
+c3f7b20590a7999bab8b089e06908b8f8e8c90088f9e898d058b4789641effffe7cc
+cc8bffffd98000ff0000e666ffffe93334ff0000999a08ffffff8000ff0000800005
+8b8bfffffc9998ffffffe666fffffa4cd0ffffffcccefffffa6664ff00003332ffff
+fcb334ff0000199a8b8b08ffffff8000ffffff800005ffffe8ccccffffff666663ff
+ffff199affffe5b3348bffffe7e6688bffffd83330ff0000e666ffffe9999cff0000
+999a08ffffff4cccff00008000058b8bfffffdb334ffffffe666fffffc3334ffffff
+cccefffff9ccccff00003332fffffc4cccff0000199a8b8b08ffffff4cccffffff4c
+cc05fffff1b334ffffff6668ffffeb6668ffffff4cccfffff099988b0866528d8b1f
+87898777058a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083
+b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e
+896469568d8b1e88898777058a869089908ba88b9e7f92670813bcd0fbed058e7c90
+85978b968b9391959c08f760f7e705a3b2a498a88b089c06ad8b917b866f080ef89c
+947696a8f80aa8e7eb12f90eeae9ebf0eb133efa90f8cf1586709c76a68ba58ba5a0
+90a690a57aa1708b08718b71758671086afb691554fbb205137e856e7f7c698b087a
+8b898b7a8b056b8b839a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b91
+7b856f08fb38f76915f8ec0a6bfb691553fbb205856e7f7c6a8b08818b828b818b05
+6a8b849a91a808c2f7b20591a7989bac8b08948b958b948b05ad8b917b866f08fb31
+f7691586709c76a58ba68ba5a08fa691a579a1718b718b71758671086afb691554fb
+b205856e7f7c698b087806868b88888a860887788d89058bcf8dae1eff0018cccc8b
+b0ffffff3333ff0017999cffffff666708ff00009998ffffff6666058b8bff000419
+98ff0000199aff0006ccd0ff00003333ff0006e664ffffffcccdff00043334ffffff
+e6668b8b08ff00009998ff0000999a05ff0017199cff00009999ff00238000ff0000
+cccdff0016cccc8bff001be6688bff002a99988aff00161998ffffff666608ff0000
+6668ffffff999a058b8bff00029998ff0000199aff00046668ff00001999ff000466
+68ffffffe667ff00029998ffffffe6668b8b08ff00006668ff0000666605ff0015e6
+64ff0000999ab58cff0019b3348b08b2cf898b1f8d8d8f9e058c90878e878b087806
+6a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e8a8d058b46
+89641effffe666688bffffd6b3308cffffea4cd0ff0000999a08ffffff9998ff0000
+6666058b8bfffffd6668ffffffe666fffffb8000ffffffe666fffffb9998ff000019
+9afffffd8000ff0000199a8b8b08ffffff9998ffffff999a05ffffe9b334ffffff66
+66ffffd4999c8affffe419988bffffe999988b67ff0000cccc74ff0000999a08ffff
+ff6668ff0000999a058b8bfffffc1998ffffffe666fffff96668ffffffcccefffff9
+8000ff0000333287ff0000199a8b8b08ffffff6668ffffff666605ffffe8b330ffff
+ff666666ffffff3334ffffe6e6688bffffe84ccc8bffffda6668ff0000e666ffffe9
+1998ff0000999a08ffffff3334ff00008000058b8bfffffd4cccffffffe666fffffb
+8000ffffffcccefffff8b334ff00003332fffffb8000ff0000199a8b8b08ffffff19
+98ffffff199a05fffff1e668ffffff8000ffffed4cccffffff6666fffff1b3348b08
+66528d8b1f87898777058a888d87908b089006ad8b9585887c8a848682848008fb17
+fb6f716083b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e
+878d058b4e896469568d8b1e88898777058a869089908ba88b9e7f92670813bed0fb
+ed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b089a06ad8b917b85
+6f080ef7058aa8f80aa8e7eb01f75bea03f86bf826159b068f8b8f8e8c90088e9d89
+8efb0389ffffc16666ff0001999affffff999aff00006666058b8bfffffd3334ffff
+ffe666fffffb3332ffffffe66608fffff7999aff00003334ffffffb334ffffff999a
+05ffffe96666ffffff6666628affffe4e6668b0867478d8b1f89898778058a868e88
+908b089e06ad8b917b856f0854fbb205856e7f7c698b087806868b88888a86088778
+8d89058bcf8dae1eff0019cccd8bb2ffffff199aff00176666ffffff666608ff0000
+cccdffffff8000058b8bff0002cccdff0000199aff0004b333ff00003333ff000719
+9affffffcccdff00046666ffffffe6668b8b08ff0000cccdff0000cccd05ff000fb3
+34ff0000999aff0015e666ff0000999aff0010999a8b08acbe898b1f8d8d8f9e058c
+90898e868b087e06698b9d9ea0a308dbe60596978d8b918108b63b059f659479678b
+087f06868b88888a860887788d89058bca8db4aec0898b1e8d8d8f9e058c91868d82
+8b6b8b7e8c69cc084bf7130588918a8e919108f4f605b9ba9c97b08b928b918c8c92
+088f9e8a8d058b59896b6d5b8d8b1e88888878058a868c89908b089b06a78b847b71
+6e083830058181868d87950860e505839c89958c908d928f909f8b08fba4f73d15f8
+eb0ab1fcb3157a066a8b849a91a808c2f7b20591a7989bab8b089f8bff000066668b
+ff0000999a8b05af8b98739f6208c9fb13058e868b8686860822fb00055755738673
+8b080e528aa8f80aa801f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d88
+888878058a879188928bae8b99739f6208c9fb13058d868b8687860822fb00055655
+7386748b828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e
+868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06
+858b89888a860887788d89058bca8db4adc1898b1e8c8d8f9e058c91878d828b6a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b918b928c8c92088f9e
+898d058b5a896b6c5c8d8b1e88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b080ef70a8aa8f80aa8e7
+eb01f8ffea03f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d8888887805
+8a879188928bae8b99739f6208c9fb13058d868b8687860822fb000556557386748b
+828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e868b087d
+066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06858b8988
+8a860887788d89058bca8db41eff0011199a8bff0016199affffff8000ff0011cccc
+ffffff8000088c8a058b8bff00068000ff00003333ff000a199aff00004ccdff0008
+3332ffffffb333ff00053334ffffffcccd8b8b08ff00006666ff0000cccd05ff0016
+999aff0000999aff001e4cccff0000999aff0013b3348b08b2d0898b1f8d8d8f9e05
+8c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e8c
+90088f9e898d058b4789641effffe899988b66ff0000cccc74ff0000999a08ffffff
+6668ff0000999a058b8bfffffce668ffffffe666fffffab330ffffffcccefffff8cc
+d0ff00003332fffffb9998ff0000199a8b8b08ffffff3334ffffff333405ffffeee6
+64ffffff6666ffffe7999cffffff6666ffffed4ccc8b086c5c8d8b1f88888778058a
+868d89908b089a06a88b847b716e083730058281868d87950860e505839c89958c90
+8c9290909f8b08f7ecf73d15f8ee0a6afb691554fbb205856e7f7c698b0884066a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b089b06ac8b927b856f
+080ef7cb8aa8f80aa8e7eb01f901eaebeb03f7a7f826159b068e8b8f8e8c90088f9d
+888efb02893c8d88888878058a879188928bae8b99739f6208c9fb13058d868b8687
+860822fb000556557386748b828b8687898508887a8d89058bb98da8acbe898b1e8d
+8d8e9e058c908a8e868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0
+659479678b087f06858b89888a860887788d89058bca8db41eff0011b3348bff0017
+4cccffffff6666ff0012199affffff800008ff0000e666ffffff199a058b8bff0006
+199aff0000199aff00096666ff00004cccff0007b334ffffffb334ff0004ccccffff
+ffe6668b8b08ff00006666ff0000cccd05ff0016ccceff0000999aff001f8000ff00
+00999aff00144ccc8bff001999988bff00266668ffffff199aff00178000ffffff66
+6608ff00008000ffffff8000058b8bff0003b334ff0000199aff00063334ff000033
+33ff00064cccffffffcccdff0003ccccffffffe6668b8b08ff00009998ff0000999a
+05a2ff00009999b0ff0000cccdff001766688b08b2cf898b1f8d8d8f9e058c90878e
+878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e
+8a8d058b4689641effffe84ccc8bffffdaccccff0000e666ffffe96668ff0000999a
+08ffffff8000ff00008000058b8bfffffc6668ffffffe66685ffffffcccefffffa19
+98ff00003332fffffc8000ff0000199a8b8b08ffffff8000ffffff800005ffffe8e6
+68ffffff6666ffffd96664ffffff199affffe633348bffffe7cccc8bffffd98000ff
+0000e666ffffe93334ff0000999a08ffffff8000ff00008000058b8bfffffd3334ff
+ffffe666fffffb3334ffffffcccefffff98000ff00003332fffffc1998ff0000199a
+8b8b08ffffff4cccffffff4ccc05ffffeeccccffffff6668ffffe64cceffffff4ccc
+ffffec999a8b086c5c8d8b1f88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b08f7eef73d15f8ee0a6a
+fb691554fbb205856e7f7c698b0882066a8b7e8c6acc084bf7130588918a8e919108
+f4f605b9ba9c97b08b089d06ac8b927b856f08f774f7691586709c76a68ba58ba5a0
+90a690a57aa1708b718b71758671086afb691554fbb205856e7f7c698b08808b838b
+808b056a8b849a90a808c3f7b20590a7999bab8b08978b928b978b05ad8b917b856f
+080efbb58aa8f8faa9a57701a1f7af03f701d315856e7f7c698b087406868b87888a
+860888788c89058bd48daeb2d4898b1e8d8d8f9e058c90888e868b0874066a8b849a
+91a808f70df906758b0575827c877887798866857b8b08887205888d898e1e958ca1
+8e059f8b927b8052080efb217fb7f80cad01f7fee003f825e6157d9905635e606f60
+8b3e8b5bdca2f709a0f700c9d1cd8bc68b8960886a89729d80a18b9f8ba09a91a808
+95c062bc2b8bfb008bfb002f70fb2272fb15c530f70c8bc78bc0a6c5d7080e647fb5
+88a7f7f4aef75ca9a5771213b8f7f4e4155b646c776a8b558b52c7a5f71799d3a4b6
+9da0b4bab58e9f8bba8ba2769c650854fbb7157b46a28b051378a49dc296c795088c
+a7057b88758b7f8b838b81918a948a928d9b91a908f704f8d6758b0575827c877887
+798866857b8b08887205888d898d1eac8f059f8b927a8053086dfb2d057698619477
+8b498b5b755b6558606b4d7d410813b873fb0fba2ff7018bbd8bb8a9b9b2080ef76f
+8aa8f802bb01f8fdd315856e7f7c698b087806868b88888a860887788d89058bcf8d
+aeb2d0898b1e8d8d8e9e058c90888e878b0878066a8b849a90a808b3f764059de48b
+d4338b558b5571464f8db871b4548b4d8b5a66525908888b9fe27c8b05838b84887f
+866d7d7d874a80088a6f059d8f978c988b998b93878052085afb8d05866e7e7c6a8b
+087806868b87888a860887788d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e86
+8b0878066b8b839a91a808bbf78c05c4bcb1a4ae8bb08ba0707e48085ffb7805856e
+7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e058c
+90878e878b0878066a8b849a91a808b3f765058e998d998c97c6c0ae9fb38bb18b9f
+727e48080ef8ce89a8f8deac01f9baf91a15fb7906fbc68bfb13fb5e70fb1e65fb5b
+f700fb01f75a8b08f7fd06f7598bf72cf701b1f75ba2f70975f76cfbdc9208fb4ffc
+f51588918c978e9908edf88d058e9c90979191a38ea68ca88bf70b8bf7314a58fb9e
+64fb5efb1756fb268b618b698f7191082f166e856987618bfb278bfb01c0b2f75ebc
+f792f741d8f7178ba88ba68aa2898e848b7f887a0829fc8d05887d877f8685080ef7
+3c8aadf8d8ac01f7e1f89b1583ff00064cccffffef199aff00064cccffffee4cccff
+0002e66808ff0007999aff002780000592aeaf8fbd8bf76b8bb4fb436efb2e64fb5e
+fb1c5afb208b298b809292ab08ff0008999aff002c6666ff00046666fffff8999a05
+b79aafa2b0b1b2b2a2bb92c296dd79c74fbd08fbccfc88158777f7148d05af8bb689
+f28bf7218bf75bcabaf78aaff74efb0ff72cfb558b698b4c8b488a08fb138c877705
+8a868e88908b08a706b58b93818467082afc8605856b7a7d668b086d06868b88878a
+8608ff00becccdf70115ff003c7ffff7cd05ff00076668fffff6199aff00071998ff
+fff76666ff00053334fffffa8000a96b9a658457876d81707a71ffffe98000ffffe0
+199affffe180006cffffddcccdffffeae666080ef8ce89a8f8deac01f9baf91a15fb
+7906fbdb84fb01fb6673fb0f65fb5bf700fb01f75a8b08f7fd06f7598bf72cf701b1
+f75ba2f70975f76cfbdc9208fb44fc9d15c9f7d505a765be6a79307c3f494f617408
+79f7d5154dfbd5056aa260c79ad79ce6cbacb5b1083efbe5159999815505887d877f
+86856e856887618bfb248bfb04beb2f75dbcf794f742d8f7168ca98ba68aa2888e85
+8b7f887a08836505778875847f8463713a5273fb1174fb0dd94dbd7808f772f82e15
+83927792788e0893b1058e9c90979191a38ea68ca88bf70c8af7304757fb9d64fb5d
+fb1858fb248b618b698f719188918c978e990895c1937d05c59ef2c9a2f70da3f711
+51c46ca5080ea67fb4f896b001f7957f15f7618bf709f725a9f731abf73721f713fb
+378bfb058b626251877d54785b785808a88605b6e1d3dcf7108bd68bf7035867fb4b
+72fb1330fb2dfb238b348b57ac53d908717c05be32d05be68b080efb2082b7f80bad
+01b098b2dc03b0eb159e41c26cd18bf7198be5f5a2f707a3f7104bf700fb0b8b208b
+4c52825c8467a586948ba38ba198929f0897ad9eb7cd8bd38baf4776fb0073fb0e40
+3e328b598b61a473b7080ef8cdf783bf01f80ef85415595d5b665e6e5e6f66776d81
+08867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f9ee
+8b97bffdee8b05acaba3a4999ba7aca1a79aa2080efb0cf8a3f8a91567b36fb277b1
+77b17fac88a708740671626e696b6f434c5d64797f08816305af9aac9ba89baa9da7
+9da39e08fb5bfdefbf8bf75af9ef05a671a0799881a776a47ca081080ef8cdf783bf
+01f9ffdd15bdb8bbb1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b08
+6306926a956e9572966f9874997808fdee8b7f57f9ee8b056a6b73727d7b6f6a766f
+7b74080e28bb8815af63a7639f659f65976a8e6f08a206a5b4a8adaba7d3cbb9b19e
+970894b305677c6a7b6e7b6c7a7079737808f75af9ee578bfb5afdee0571a4769d7d
+966f9f739a7695080ef8adf783bf01fa56f7b715fd4706adaba3a4989ba7aca1a79a
+a2086506585d5b665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3
+067bcf76bf6eb008f947065e675d565c4808b4069b9bb9b0d8c4ada4b2a0b79c0891
+a20571956f9e6ba86ca86cb06eb80864068f74946f986b927b97729d6a080e29fb6a
+7601f7eff8f715fb33fd470570a5779d7d956fa0739a769508826405af63a7649f64
+9f65976a8f7008a206a4b3a8adaba8d3cab9b19e970894b305406c4f6a5e6608f733
+f94705a766b86ac76b0895b3057d986fb161ca78a77dae84b30874067b6f706b6564
+65655d64556308826405a495aa9ab1a09d95a99db1a5080ef7a9f8d0a701f870f8ec
+157589768b778b678b6b8d6d8f5e926894739808777b058f758d778b768b79897988
+797c358056837708a16e059fad9cab98a899ab96a891a608f867fcf3b8b0fc67f8f3
+05b690aa909f8eb294ac94a494080ef7acf8a8d101f9baac03f9dbf7e91595c799c2
+9dba9cba9eb09da6087f9b055e7a628265895688638a6f8b798b7e8b848c08686f05
+aa7fa881a784a985a787a78b08fd7ffcf3a766f97ff8f4058661896c8b798b658d6d
+8f74080ef7a945a701f8794515a18da18b9f8bae8bac89a886b985ae82a27e08a09b
+0587a1899f8ba08b9d8c9d8f9d9ae196c0939f0875a705776a7a6b7d6e7d6b816e85
+7008fc67f8f35e66f867fcf30560866c86778763836b827182080ef7ac43d101f711
+ad03f711f75115814e7d55795c7a5c7965787108987b05b79cb494b28dbf8eb38ca7
+8b9d8b988b938a08aea7056c976d946f926d926f8f708b08f97ff8f36fb0fd7ffcf4
+0590b58da98b9e8bb189a987a2080ef8cd338df7d9bf01f9e6f8fd15618b8a89fb4d
+fbd8fbe98b05acaba3a4999ba7aca1a79aa2086406595d5b665e6e5e6f66776d8108
+867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f7d78b
+fb4dfbd889888f8bb78b8d8b848df74ef7d9f8818b97bffc708bf74df7d6050ef8cd
+338df7d9bf01f9e6f8fd15618b8a89fb4dfbd8fc848b7f57f8728bfb4dfbd889888f
+8bb78b8d8b848df74ef7d9f7e68b056a6b73727d7b6f6a766f7b7408b206bdb8bbb1
+b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b086306926a956e957296
+6f9874997808fbd48bf74cf7d6050e29fb7abc01f85ffb4915fc208b775af8208b05
+fb11f9dd15fb04fd0c056bad64ad47ab08846405dd36b439945a08a106cbf700f728
+f7008b8c0892b305426b516a5f6608f704f90c05a966b96ac96b0892b3058b8bfb01
+f70071f701087506715a4539fb043608846405d4a9ceb8aea4080ef8adf783bf01f9
+d6f8fd15618b8a89fb4dfbd8fbe38b05adaba3a4989ba7aca1a79aa2086506585d5b
+665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3067bcf76bf6eb0
+08f7d18bfb4dfbd889888f8bb78b868df74ef7d9f7e08b055e675d565c4808b4069b
+9bb9b0d8c4ada4b2a0b79c0891a20571956f9e6ba86ca86cb06eb80864068f74946f
+986b927b97729d6a08fbcf8bf74df7d6050ef8a2f822be01f72af82215fa5d8a97bf
+fdc68b05b7b0b9c0bbcf086306535a5d66657266716576667b080ef8a2f783be01f7
+14f7b615f8ef0a0ef8a2f821bf01faf3f82215f8f00a0ef8a2f783bf01fadcf7b615
+fe5c8c7f57f9c68b0560665d565a4708b306c2bcbab0b1a4b0a5b1a0b09b080ef8a2
+f783bff6be01f72df82215fa5c8a97bffdc68b05b7b0b9c0bbcf086306545a5c6665
+7266716576667b08fa39fb2315fe5d8c8057f9c68b055f665d565b4708b206c3bcba
+b0b0a4b1a5b1a0b09b080ef8a2f783bef6bf01f714f7b615f8ef0aa2f615f8f00a0e
+f895338df77dc0f714bf01f8fbf7dc1542fb14fb868b057ea77ba1789ca6a2a19f9d
+9d08f88bf7b515618b8a89fb1afb7ffbac8b05adb79da28b8c086406595d5b665e6e
+5e6f66776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f753
+8bfb18fb7c89888e8bb78b8d8b848df71af77df8868b97c0fc748bd5f714f8478c97
+befc368b05f71af77d050ef93e348df77fbff715f709fb09bd1213d0f97bf7df1513
+e0f7e006957998759c73717a7275717108fc050613d0abf7151541fb15fbdb8b057e
+a67ba1789ca7a3a2a09d9d08f8def7b215618b8a8afb1afb7ffc018b05aeb89ca18b
+8c086406595d5b665e6e5e6f66786d8008867405af7ba976a272bc51a966937b08b3
+0687a386a2859f08f7ab8bfb1afb7e89888f8bb78b8d8b848df71af77ff7f78b057c
+767b757c7208b3069a9bbab0d8c5aea4b2a0b79b0890a20571966f9e6ca70813e06b
+a86cb06eb908640613d08b8a9275995f08fbaf8bf719f77d050ef895338df77fc0f7
+14c001f8c6f75e15d4f714f7848b05986f9b759e7a70747576797a0852f83315618b
+8a89fb18fb7cfc878a7e57f8758b42fb14fc498a7f57f8378bfb1afb7e89888f8bb7
+8b8d8b05848df71bf77ff7aa8b05695f79758b8a08b206bdb8bbb1b8a7b8a8b09fa9
+940891a205669c6ea074a459c56db0839b0863068f738f76917708fb528bf718f77a
+050ef895f727c0f714bf01f801f81015adb79da28b8c086406595d5b665e6e5e6f66
+776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f96f8b97c0
+fd8f8b057ea77ba1789ca6a2a19f9d9d08f9998c97be050e28f869f8a215b1729e7f
+8c8b0895b20566b36fb277b277b17fab88a708740671636e686b6f434c5d65787e08
+826305a595a394a19608fb3cfd6fc08bf744f98f05ab9ea6a1a1a19d769b799a7e08
+fb46fd9abf8b050ef895f729bff715bf01f9bef72915695f79758b8a08b206bdb8bb
+b1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b0863068f738f769177
+08fd6e8a7e57f98f8b05986f9b759e7a70747576797a08fd998a7f57050e28f7098f
+1565a477978a8b08826405af63a8649f659f65976a8e6f08a206a5b4a8adaba7d3cb
+b8b19e970894b30572827381748008f73df96f568bfb44fd8f056b787076757479a1
+7b9c7c9908f746f999578b050ef93ef72abff715f709fb09bd1213a0f7d5f7df1513
+c0f98606957998759c73717a7275717108fd76067ea67ba1789c08a7a3a2a09d9d08
+13a0b7bd15aeb89ca18b8c086406595d5b665e6e5e6f66786d8008867405af7ba976
+a272bc51a966937b08b30687a386a2859f08f937067c767b757c7208b3069a9bbab0
+d8c5aea4b2a0b79b0890a20571966f9e6ca70813c06ba86cb06eb908640613a08b8a
+9275995f080e29f8e57601f852f91715fb42fd8605767d71796d7480a17aa0749e08
+f73ff97605aa9fa6a0a2a19d759c799a7d08b66b15b2739f7e8b8b0894b20567b36f
+b277b177b27fab88a708740671636e696b6e434c5d65787e08826305a595a495a296
+08fb30fd370579967795759508816305987fa865b64b9d6e9869926308a2069ca7a6
+acb0b1b1b1b9b2c2b30894b2058a8b727f5a73080ef7c1f8bca701f832f8a715be99
+a6928c8b0876a7057589758b778b688b6a8d6e8f5d926894749808777b058e758d77
+8b768b798a7988787b368056837708a16e059ba398a197a108f821fc99b9b0fc33f8
+b00599ac93a98da7ab8da68da28d08f839fcb6b8b0050ef7c5f88fd66ca812f9cfac
+13a0f9d7f89115856b8670897608fd34fcb8a767f918f89f058d5a8d738c8a08aca6
+0595c899c19dba9dbb9cb09ea5087f9b055e7b62816589568963896f8b081360798b
+7e8c848c08686e05a0819f839f8408fd10fc99a866f92cf8b00513a09e879c8a9d8b
+08988b978c978c080ef7c159a7f9597701f8cf8a15587d71848a8b08a06f05a18da0
+8b9f8baf8bac89a886b985ad82a37e089f9b0587a1899f8ba08b9d8d9d8e9d9ae197
+c0929f0876a7057b747e757f7508fc22f8995d65f833fcaf057e6a836c89706b896f
+89758908fc3af8b65e66050ef7c557d642a812f716ad13a0f72fa01591ab90a68da0
+08f934f8b76fb0fd18fc9f0589bb89a48b8b08697005814f7d55795b7a5c79667871
+08977a05b89cb494b18ec08db38da78b0813609d8b988a928a08aea8057695779377
+9108f910f89a6eb0fd2cfcb00513a0788e798d7a8b087e8b7f8a7f8a080e42a076f7
+fdcbf7277701f7b016f7c8f8d0418b40fb27fb7c8b79f727428be0fcd005c1d71564
+f7b1f7528b050efb0780c8f86bc801f825d103f7738015e98bcaceb5f00845067251
+685a518b358b8bf706a3f70ea2f70cb7f707e28bc58b9b5a8c5008d10689f166ce2d
+8b448bfb07635afb9459fb95ed63d38b080e2880acf7c9b1f76bab01f7ccf7df15b7
+8ba469977869fb024afb26398b548b6cca95c09eeadcedd78b087cb1152d8bfb0a3c
+74fb107620ce45eb8bf72f8beef748aaf732abf7344df715fb108b428b4770856a87
+7a95809e8b089d8b9e9d999d92949996bc8be28b95fb297c3a877a887e878173b167
+9c5b8b080efb358bccf763ccf73ecc01f872f8d015fbda8b7e4af7958b69fb3efb89
+8b7e4af78a8b63fb63fb9b8b7f4af7df8b050efb358bccf763ccf73eccd77701f872
+f8d015ffffbee6668bff0024199acc6996ffffd5cccc3fffff2333348b7e4aff00c5
+999a8bffffa18000fb3effff82e6668b7e4af18bffff8ce666fb63ffffd4199a8b7f
+4aff0013cccd8b05ffffda333447ad7fff002c6666dbff010e999a8b05ff000acccc
+f88f15ff001333348b69fb3effffb080008b05ffffdbe6664a15ff0067999a8b63fb
+63ffff4d80008b050edc82bef87cbe01f83cf8a615ff0029999a8bff0024e666ffff
+f5ccccff001e99987908fffebae668fffe58ccce05ffffc2cccdff002b0002ffffe0
+b333ff004cb333ff00118000ff0057b333a5f71bf717f701f71a8b08ffff05cccdff
+fe10199a15ffffc03333fffface666a979cbff0053666605ff00216666ffffefb334
+ff0026e666fffff6e666ff002ab3348bf7388bf731f719abf736ff00136668ff0063
+199affffe03330ff0057999affffbf6668ff0035800008bfff0043cccc6d9c59ffff
+bee66805ffffdab334ff00166664ffffd2ccccff000cb334ffffcd80008bfb378bfb
+32fb186cfb37ffffeb199affff954ccdff00261999ffffa29999ff004a999affffcc
+333408ff00408000ff001b199915ff0142b334ff01a4999805beffffd3999aff0018
+8000ffffb8e666fffff08000ffffafb33471fb1afb16fb02fb1b8bffffde33348b6c
+ff0006ccccffffe51999ff000c6667080ea28ba501f80af8ac15f706fc92fc368b05
+f7caf8e215fb22fb7efb71fc038b8b878589888b898a88908a968b08f8a98b978b05
+8e8c8d8c8b8d8b8d8b8e89918b8b38f80356f77e080ea29376f8e2a501f7afce1521
+f892f8378b05fbe6fce215c406f724f77ef777f8038b8b8e918d8e8b8d8c8d8a8c88
+8c087f8bfca88b057f858a881f8b898b888d858b8bdafc03befb7e080e548bc4f75d
+c3f75dc40114e0f8621697c4fb308b05238b43e292f70608f7f68b96c3fbf68b05ad
+f700ece8f7088b08f72f8b97c4fb2b8b05fb318bfb2bfb176dfb2f6dfb2eedfb18f7
+338b080e548bc4f75dc3f75dc4d77701f8621697c4fb308b05ffffef4ccc8bfffff0
+199aff00023333fffff1199aff00044ccd08ff006b999aff00c28000ff007ce6668b
+96c3ffff9733348bff006f3334f75dff002999988b97c4758bafcc6996ffffd5e666
+3fffffa7199a8b05fb318bfb2bfb176dfb2fffffe96666ffff8bcccdff00323334ff
+ff984ccdff005e6666ffffd419990859ffffa5cccdad7fff0031b333ff0059b33305
+a1fffff9b332ff0017e666fffffc999aff001966668b08ffffb56666ff004d199a15
+ffffc5b334ff0020199bffffdce666ff0043800090ff00514ccd08ff00bccccc06aa
+c315ffff2f333406adf700ece8f7088b08ff00494ccc060efb4ec7c1f4c1f3c201f7
+8ac715ed8b95c1298b05fb128b86c48abb08f78f8b95c1fb8f8b05a0c0acbdf70b8c
+08ed8b96c2298b05fb288b444075fb0372fb14c951f7188b080e548bc4f75cc4f75d
+c401f72ff8d0158052f72f8b05f48bd33483fb0608fbf68b8052f7f68b056a202a2e
+fb098b08fb2f8b8052f72b8b05f7318bf72af716aaf730a8f72d29f719fb328b080e
+4f8bc4f75cc4f75dc4db7701f72bf8d0158052f72f8b05ff0010b3348bff000fe666
+fffffdb334ff000eccccfffffbcccc08fb00ffff3d8000ffff83999a8b8052ff0067
+b3338bfb03fb5cffffd74ccd8b8052ff0014199a8bffffdbe6664aae7fff002ab333
+d8ff00584ccd8b05f7318bf72bf716a9f730ff00169998ff00734cccffffcde668f3
+ffffa24cccff002c333408ff00323334ff005a80006897ffffce4cccffffa6666805
+ffffea4cceff00063330ffffe86666ff00036668728b08ff004a3334ffffb2800015
+ff0039e666ffffdfccccff0022e666ffffbc999a86ffffaf199a08fb5006ffffe066
+665215ff00d0999a0669202a2efb088b08ffffb76666060efb4ec7c1f3c1f4c201f7
+67f84415298b8154ed8b05f7118b91528c5b08fb8f8b8055f78f8b0576566b59fb0c
+8a08298b8155ed8b05f7278bd3d5a0f704a4f7134dc6fb178b080ef71bfb02a7f908
+b273a51213a0f87e651586707a7a628b087106868b87898a850888798c89058be98d
+afb2e1898b1e8d8d8f9d058c91888d878b087006648b7e9991a908f6f8be0592a9a5
+99a78c08a806908b8f8f8c8f088f9d0513c0898bfb1189858b448a528b4d8b448b53
+8b4d8c0813a07d8b228d848b088778058a888c87918b08a906ab8b9d8383660820fc
+be0585707b7a628b087006878b87898a850887798d89058be98daeb2e2898b1e8d8d
+8f9d0591898d861e7106638b7f9990a908f4f8af0513c092ad9396a98b08f77606ab
+8b8d7b856f080ef57fb363a6f8e1a81213a0f8e6f8c5152dfc7d05856f837b6b8b08
+fb71066c8b889792ac08e9f87c0591a99d98b38b08a006908b8f8e8c91088e9d8a8d
+058b388964682e8d8b1e89898779058a858e888f8b08a606b48b957b86700829fc8a
+051360846576856b8b086e06848b89868a880888788c8a05928bf38c998bc98bc28d
+d18bca8bc089d38b908bf70e898d8b088e8d8f9d058f8990861e6e066f8b759891aa
+08edf88a0591a99d98b28b08a6068f8b8f8e8c91088f9d898d058b34896467338d8b
+1e89898879058a858d88908b08a006b48b967b8570080eaa4dc551a1f88a76efb574
+a212f8cda1136cf8f0f8db15fc668b877405998ba4819f6708f70afb9efb93fba105
+7a7a80897f8b088775f8758bc9f743768d0513b4898655fb06458b08fbac8bf795f7
+a48c8cfb0bf7a4f7788b05c48b9a3a8d7808a18e050e69f763bc01f893f79415fc1f
+8b815af81f8b050e69f754bcf775bd01f7daf75415f7418b94bcfb418badf7415a8b
+69fb41fb418b815af7418b6afb42bc8b05f798f8541595bdfc208b8259050e69f74a
+bcf789ec01f7d9ec03f7d9f8a01585719a75a98ba88ba3a190a591a777a0728b718b
+70758670089dfbb915adf7415a8b68fb41fb418b825af7418b69fb41bd8bacf741f7
+418b95bc050e69a076f8d17701cd16f8c5f8d15a8bfcc5fcd1050e69a076f8d17701
+f86616bd8bfbe7f8d15a8b050efb70f781cf12f761cb53e113a0f75df77e15626556
+848360887c957d9c8bb08b9ec7adb89c63864ab28b998b9c978f9d93b35b9570af08
+9e8e9d8d9e8bad8baf9191a98d96889e708b6a8b746b59780813c094a9a4b390a68f
+a37e957a8b798b7a7a8875867199718763629e80ac698b748b7d7b897d08856caa84
+bc8b089a8b998a9889080efb70d3a7f724a701f4f75b03f7a3f73f1584696b66618b
+618b7aaf92ae92aea9b1b68bb88b9962856b08fb3a8c158054af5ec28bc28bc0b896
+c295c268b8548b548b555e8154080efbc8f74df70001f70bf70103f737f74d15a98b
+a8a391a890aa75a3718b6d8b6d71856e866f9b72ac8b080e8ff971b201f90bf97115
+f8f10a0e8cf7faa4f724a3f705a3b8b201f739bd03f90bf97115f8f10a8df9041583
+6268715e8508887305948c908c928ba38bc08480527d46507e788b6b8b8293859586
+9286927e8b808b7c818981088676bd7bb08bda8bd7b998d096c561a66b8eab9ba5a2
+91a892b06fa1578b348b6356897a088a888c7c9e8ba28b909c8e9792a4af959e8b9f
+8b9e82856c080e8ff800a4d5aef75777c7b201f90bf97115f8f10aa6f8ef158c9385
+8d858b848b7d7f8282888885838a84087c3f308b05a8add6ddc5d1086f9405575335
+2b5149088d7ff7248b81590587768688798b087c068889888a1f8776058bb08ca3a7
+b58a8b1e8e9f058c8d8a8e888b087b06788b88918f9e0895bcbe8b95ae548b050ef7
+74d9c453b9f796c061b5121390f829f785156a62344a598b438b76dd98cd97cab4bb
+cb8b08c88bc3259b5808f7dc841513607f4e635b4c8b518b55f273b9adb4e1cfbd8b
+d58b9e327f4f08d0b6159de467d12f8b3c8b303f52520813906fcd4ace3c8b228b35
+24782c76fb02c959d38bd58befd9bfc5081360ac49c246e08bf28be1f19deb080e77
+8bb5f8247701f729f84e1534fc4ef8388b93b5fc058bd8f824050efbf8fb6876fa37
+7701aff77503dbfb7d15f8f20a0efbf8fb6876fa377701dbfb7d15ff0056b333ff01
+be3334ff00b84ccdff015acccc618bffff89cccdffff20e666ff00463333ff016919
+9a5f8bffffa04ccdfffe13b334ffff46b333fffea24cccb48bff00784ccdff00e280
+00ffffc2b333fffec48000050efb2afb6876fa377701f7b2fb7d15f8f20afb3616f8
+f20a0e57fb6876f9b977f7267701f8c3f8d015ffff9c3334ffff883334ff002fcccc
+ff00f5cccc5f8bffffc2ccccfffec54cccffff2cb334ffff026667ff006e8000ff02
+384ccc5f8bffff84199afffd82ccccffff7ae666ffff603333b480ff004ccccdff00
+5c3333ffffd63333ffff28cccdb78bff00373333ff011c199aff00d36667ff00fdb3
+3205ffff976666fffde63334b78bff0075e666ff025eb334ff009c199aff00bb4ccc
+050ef70aa076f84f7701f82bf81715edfc17bb8bfb06f84f618bfbb1fc4fbb8b050e
+f70a9976f8507701f7eabd152af8175b8bf705fc50b58bf7b2f8505a8b050e3ea076
+f827af01f70916b4f76805a1f703acdbf7098bf38b8a3278250861fb68bc8bb4f768
+05a4f71487eefb278bfb2f8b5c2373fb0f0861fb68050e358bb0f8267701f855f84b
+1562fb670575fb036b3bfb0a8b248b8be39ff108b4f7685b8b61fb680572fb148f28
+f7278bf72f8bbbf3a3f70f08b4f768050efb4afb41c2f9e2bc01f73ab61574fb1572
+6b738b798b81ae6e8b768b7178867486709f76af8bf7018bdef5c1f7c508c4f7d405
+a4f71ea3aba18ba28b876aab8ba38ba29c8fa190a4779d6e8b218b392160fb81080e
+69d3f6f730f501f77ff73203f7b2f81815856e9e73a98ba88ba8a391a890a878a36e
+8b6d8b6f73856e0858fb9b15856e9f73a88ba88ba7a391a891a978a36d8b6e8b6f73
+856d080e69f769c691c601ecf76515978805acb7c2a7ae8ba58ba07ca07aa07aa17b
+a58ba38bce98bff6087c91056b59567a6f8b758b759c749b759b749b758b4e8b484c
+724a080e69f769c691c6f77a7701ecf76515978805acb7c2a7ae8bff00144ccd8bff
+00114ccdfffff6ccccff0010999afffff3e66808ffff61ccccfffed64cccaf7fff00
+97ccccff011ecccc05ff00104ccefffff44cceff00114cccfffff6e666ff0013999a
+8ba38bce98bff6087c91056b59567a6f8bfffff2b3348bfffff2b332ff00063334ff
+fff28000ff0008800008ff008f199aff010e4ccc6795ffff764cccfffefcb33405ff
+ffeb199a9affffea6666ff000e4cccffffeb33348b4e8b484c724a080e69f725bcd8
+bcbcc691c601f720f80115978705acb8c2a7ae8ba58b9f7ba17aa07ba17ba58ba38b
+ce97bff6087c92056b58567b6f8b758b759b749b759c749b748b4f8b484b724b08f8
+145e153b0a7c3e15fc208b825af81f8b050e69e2c691c6a1c691c601d1de15978705
+abb8c3a7ae8ba48ba07ba17ba07aa17ba58ba38bcf98bef5087c92056b59567a6f8b
+758b759b759b749c759b748b4e8b484b724b08b9f72315abb8c3a6ae8ba48ba07ca0
+7aa07ba17aa58ba38bcf98bef6087c91056b59567a6f8b758b759c759b749b759b74
+8b4e8b484c734a080e69e2c691c6a1c691c6f7667701d1de15978705abb8c3a7ae8b
+ff000be6668bff000ae667fffffc6666ff000a9999fffffa800008ffff9e999affff
+48199aae7fff005d199aff00afcccd05ff00014cccffffff199aff00014cce8aff00
+014cccffffff199aa07aa17ba58ba38bcf98bef5087c92056b59567a6f8bffffebcc
+cc8bffffebb334ff000d999affffebccccff000e999908b1ff0047cccd05ff000cb3
+34fffff86666ff000d4cccfffffa999aff000eb3348ba38bcf98bef6087c91056b59
+567a6f8bfffff6e6668bfffff6ccceff0002e666fffff6e666ff0004999a08ff0088
+6666ff010180006795ffff7cccccffff084ccc05fffffd6668ff0001e668fffffd66
+66ff0001e666fffffd6666ff0001e666749b759b748b4e8b484c734a08978805abb8
+c3a6ae8bff00184ccc8bff0014999afffff1ccccff00146666ffffef999a08ffffd9
+e6684305fffff1b332ff0009199afffff1b334ff00068000fffff166668b4e8b484b
+724b080e69f724bcd7bc01f817f8b6155906655d5d606063089c7d05b6a6b0a4b7b1
+a667a872ac6e08a2990570b36eb577ba08f71cfb7815fc1f8b815af8208b057c3f15
+fc1f8b815af81f8b050e69f724bcd7bcf78d7701f89ff7d215ffff6966668bff007e
+999af7836795ffff7c199afb8dffff34e6668b815aff00bb33348bffffd7b3323fff
+ff5f199a8b815af7258b29fb4dae7fff00684cccf759ff00d0b3348b0595bcffff3f
+4ccc8bff00283334d7ff00a780008b050e69f4b7cab7cbb701f8a8f80015fc1f8b82
+5ff81f8b057f4b15fc1f8b825ff8208b057e4c15fc1f8b825ff8208b050e69f4b7ca
+b7cbb7f75f7701f8a8f80015ffff78cccc8bff00663334f7556795ffff948000fb5f
+ffff2580008b825fff00cc33348bffffde19984bffff49b3348b825ff73c8bffffde
+999a4cffff6d66668b825fff00844ccd8b05ffffb2b333fb26ae7fff0053b334f732
+ff00de4ccc8b93b7fb638bff00214ccccaff00bab3348b93b7ffff54999a8bff0021
+e666cbff009580008b050e6996ba01d19615f81a8b95bafc1a8b05f702f75615f7e8
+f70895bcfc36fb21825cf7fefb2395bd050e6996ba01d19615f81a8b95bafc1a8b05
+f7f6f75515fbe7fb078159f836f72294bafbfff7228259050ef773f864f77f15f7e8
+f70894bcfc35fb21825bf7fffb2294bd05fce3f70c15f7e8f70795bdfc36fb21825b
+f7fefb2295bd050ef773f828f75a15fbe7fb088159f836f72294bafbfef722815905
+f8e2fb0b15fbe7fb088159f836f72294bafbfef722815a050e69f8cb7701ff0197b3
+34ff0139800015ff00774cccff0028800095bdffff9ce666ffffde8000ff0063199a
+ff00ba80006695ffff8eccccffff2a3334fffef53334ffffa5cccc815bff00a8999a
+49ffff9b6666fb52ae7fff0064199aff00bc8000ff009fe666ffffc1800094bdffff
+6ee666ff00394ccd05ff0013b334ff0073e66815ffffc9ccccffff99b332ffff8d99
+9aff002d199a050e69f8cb7701ff0124199aff00bce66615ff002c999aff00544cce
+ff005e4cccffffdacccc05ffff41e666ffffbf800015ffff6b199affffcd80008159
+ff00808000ff002b6666ffffad8000ffff64999aaf7fff0061ccccff00b8999aff00
+ee3334ff0050666694bbffff6b8000ff003a199aff007e8000ff00eee6666795ffff
+82e666ffff14999affff4c199aff004666668259ff00a53334ffffbecccc050e6996
+baf8917701d19615ff007380008bffffe4800057ae7fadcbf77d8b95bafb6e8bff00
+32e666ebff00ac199a4795bdffff618000ff003e4ccdccff007a7fffff008a8000ff
+002f333495bcffff8966666305ff005f999af7486695ffff923334ffff30b334ffff
+07ccccffffac4ccc825cff009b8000ffffc2999affffc5e666ffff926666ffff7d99
+9a8b05ff01044cccff00f54ccc15ffffcf999affffa4999affff9a199aff0028199a
+050e6996baf8917701d19615ff004c80008bffffe4800057ae7fadcbf7a48b95bafb
+958bff002e4cccff00573333ff00f3b334ff0052cccd94baffff67ccccff003b8000
+ff00763334ff00de80006695ffff8c199affff25199affff4fe666ff0044e6660582
+59ff00a16666ffffc04cccffffc1199affff896667ffff708000ffffcf4ccd8159ff
+007b8000ff0029e666ffffdae666ffffba199affffa4999a8b05ff00d16666f72415
+ff002e999aff0057b334edffffd94ccc050e64b6b5f7a1b501f888e015fb6806fb03
+8b45a4a1f709a0f3e8a2ec8b08f7688b94b5fb698b05fb148bfb03746ffb276cfb2f
+f56ff70f8b08f769060e64b6b5f7a1b501f700f7f615f76806f7038bd17375fb0a76
+242e732a8b08fb688b8261f7698b05f7148bf703a3a7f727aaf72f21a6fb0f8b08fb
+69060e64b6b5f7a1b501f888e015ffff4580008bff008fe666f7a1ff005e999a8b94
+b5ffffaecccc8bff00303334e567965526318b05fb148bfb03746ffb27ffffe38000
+ffff716666ff00576666ffffdce666ff006de667fffffb4cce08ffffc93333ffff99
+6666ae7fc8f706f75d8b05fb70ff002a333315ffff9a6666ff00027fffffffc1b334
+a7ff0014e666ff006f4ccda0f3e8a2ec8b08ff004b999a060e64b6b5f7a1b501f700
+f7f615ff00c8999a8bffff704cccfba1ffff93199a8b8261ff005f80008bffffc980
+0025ae7fc8f706d78b05f7148bf703a3a7f727ff001b4cccff008880003cff00254c
+ccffff98ccceff0006e66808ff0030e666ff005b4ccc67965526898bfb698b05f77e
+ffffd54ccc15ff005d4cccfffffb6668ff0037999affffe24cccffffec199a207624
+2e732a8b08ffffc28000060e8e83ff00278000ff00a28000b2ff00a2999aff002866
+6601f7ad8315f8f30aff0067e666ff0193333415dcfffff44cccff0033e666ffffbd
+b33483ffffabcccc08ffff63800006ffffd8ccceffff36cccd15ff001f999aff00a2
+3333ff009c80008b05ffffe7333237ffffb18000ffffbd6666ffffab3334fffff466
+6708ffffcee666ffffffb33315ffffade666ff000ab333ffffcb999aff0043b333ff
+0006cccdff0054199a08ff009f666706ff00274cccff00c9999a15ffffe04cccffff
+5d6666ffff6066678b05ff00196666ff0054b334ff004f1999ff00438000ff0056cc
+cdff000a6666080e8e83b1f738b2f738b201f7ad8315f8f30affff77b333f78515ff
+001b9999ff005c199aff005b3333ff0047e666ff005f80008bff005f999a8bff003f
+fffeffffb8e666fffff73334ffffa3199a08fffe8b80006415ff016ce66806ffffe4
+b332ffffa38000ffffa36666ffffb88000ffffa1b3348bffffa0cccd8bffffc11999
+ff00484ccdff00076667ff005bb333080e8ef856c415f8f40affff2f4ccdff012fb3
+3415ff004d3334ff00331998ff005d999afffffeb334ff00376666ffffca333408fb
+19ffff907fff05ff00724cccffff724ccc15ffffa3ccceff00723333f719ff006f19
+9905ff0027e666ffffbe6668ffffeeccccffffa31999ffffc08000ffffbd333308ff
+ffd6ccceffffdd199a15ffffb2ccccffffcbe668ffffa26667ff00016666ffffc833
+33ff0035199a08ff00863334ff0070199a05ffff8c9999f72315ff005d4ccdffff8c
+6666ffff79e666ffff8f999a05ffffd6cccdff004233359cff005e7fffccff00434c
+ce080e8ef856c415f8f40afb7bf7b315ff0050999aff00438000ff006b199aff0004
+4cccff003cccccffffc4e66808fffecb8000fffefd6666055eff00484cceff001866
+66ff006a199aff0050999aff004380000865fba515ff0134999aff0101cccc05ff00
+2bfffeffffb7b334ffffe6999cffff96999affffafccccffffbce666ffffaf999aff
+ffbcb333ffff963333fffffc6667ffffc33333ff0039e666080efbc8f760f70001f7
+0df70003f739f76015a98ba8a490a891a975a3718b6d8b6c71866f866f9b71ac8b08
+0ef2f760f70001ff0078199aff006de666ebf701e9f70003f8d1f76015a98ba7a491
+a891a975a3708b6d8b6d71866f856f9c71ac8b08fb5f16a98ba8a491a890a975a371
+8b6d8b6d71856f866f9b71ac8b08fb21c115ff0000b333ff00036666ff00004ccdff
+00034cce8bff000333328bff00193334ffffec199aff0012e666ffffe8e6668b6d8b
+6c71866fffffff6666fffffc999affffffb334fffffcb3338bfffffcb3338bffffe8
+199aff000fe666ffffebe666a88ba98ba8a490a8080ef7c48badf8f87701f758f82b
+15f7fbf74df7a5fb4d42fc09fd0b8b05acf8201537fc42f9638bdff842fbcbf76c05
+0ef70af85ef91a15f709fbb0bb8bfb19f7e8618bfb9efbe8bb8b050e8af7f9b701f3
+f71915b6f774f85f8b94b7fc948b56fba0050efb4aa076f829bd01f3f7bb03f316db
+8bb5f77f05a3f71fa3aaa18ba28b876bac8ba28ba39c8fa18fa4779d6f8b218b3921
+60fb81080efb4af75fc1f84d7701c6f7cb03f806f94e153b8b58fbab0574fb15716a
+748b788b82ae6e8b758b7279877385709f77af8bf7018bdef5c1f7c4080efb66f7b5
+a403f74bf79f15f8f50a0efb66f71fa403f7a2f79615f8f60a0e69f705bdbec801f7
+12a703f881f73715fc1f8b8159f81f8b05b5f7881571067c644160278bfb008b5cb6
+8ab2086f068345b442f71e8bf7198bd7d39ed2080e9aa076f8427701d4f84203d4f8
+4215fc42f842f842070e9a8badf7fead01d4b2f7f4b203f704f82015f7f4fbfefbf4
+0664f82015fc42f842f842070e77f8427701f886b015fb77f81dfb77fc1d050e77b0
+a4f8047701f886b015fb77f81dfb77fc1d05f82da415fc008bf74af7cf050e589776
+01d48215f81ef778fc1ef776050e58977601d4a503d48215f81ef778fc1ef77605a5
+fc2c158bf7fff7cffb49050e77f8417701b7f84115f777fc1ef777f81e050e77f828
+a501b7f84215f777fc1df777f81d05fc2d7115f8008bfb4afbce050e58987601f84a
+f85215fc1efb77f81efb77050e58987601f830a503f84af85215fc1efb77f81efb77
+0571f82d158bfbfffbcff749050ef4a8f76b15f7c4fbc4f7c4f7c4fbc4f7c4050ef4
+ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199cff
+ff07199905fffecc6666ff00fc7fff15f7c4fffecfe666ff0130199aff0130199aff
+fecfe666f7c4050e8e7ca5f6f761f2a501bca5f2f761f6a503d6f76f15f8f70a7116
+f8f80af7158c1553b95dc3c4b9b9c3c45db952535d5d521e0ef5cdf76415f797fbed
+f796f7edfb96f7ee05fb5cfbee15f75cf79ef75bfb9efb5bfb9d050e8e7ca5f833a5
+01bca5f833a503d6f76f15f8f70a7116f8f80a0e8e7cf86701bcf86703bcf76f15f8
+f80a0e8e7ca5f833a501bcf77df764a503f7aef83e15c58bc073b165af66a2578b53
+8b527457666665655773518b08f7cf07fb7d2015f8f80a0e8e7ca5f833a501bca5f7
+63f77e03f7ae9615518b56a366b166b175be8bc48bc4a2beafb1b1b1c0a2c48b08fb
+cf07f77ef700158bcb71c560b661b551a54a8b4a8b51716060626171518b4b8b4ba4
+52b460b660c670cc8b08cb8bc4a5b6b4b6b5a6c68bcd080e8e83a5f764f77d01bca5
+f833a503f87ef776158b507357656565675874528b528b58a265b065b174bf8bc508
+f7cf06fb00f77d154b8b51716061616071518b4b8b4aa550b661b561c571cb8bcb8b
+c4a5b6b4b6b5a6c68bcd088bca71c562b561b650a6498b080e8e76f77df763a501bc
+a5f833a503d6f768158bc5a3c0b1b0b0b0bfa1c38bc48bbf74b067b165a3578b5108
+fbcf06f6fb7d15cc8bc5a4b5b6b6b5a5c58bcc8bcc70c560b661b451a54b8b4c8b51
+726162606070508b4a088b4ba452b460b660c671cc8b080e8e7ca5f833a501bca5f8
+33a503d6f76f158bc5a3c0b1b0b0b0bfa1c38b08fb63f764078b5274576666656557
+73518b528b57a265b166b174bf8bc4087116f8f80a0e8e7ca5f833a501bca5f833a5
+03d6f76f15cc8bd68ace8b08f76407c58bc073b165af66a2578b538b527457666665
+655773518b528b57a265b166b174bf8bc4087116f8f80a0efb62bcf77d03f7aef858
+154a8b50706060626172518b4c8b4ba551b461b660c570cc8b080efb62d4f77e03d4
+7c15cd8bc6a6b5b6b4b6a5c48bcb8bcb71c561b561b650a54a8b080ebc9a7601f756
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0ef8c22bcf8cad79aaa4cc5dcc5aa496bd8db079a592ac76a094a77ab19cbe88ca4c
+a585a7aca48eae77cf12f7e4b69fac96ff0038e666ff0094199a9fbbc35ec58da3d3
+abf2a71380204f78fa07f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff4
+4cccfffffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08b
+ac8ba87b8d818b828b8189838808ff000cb334a2928dff00204ccc8b089473ba868b
+3b08fbeaf7081513a70ccf78c85fb170c18b9d8b9b8f9790848185808b7b8b56a559
+957affffb8e6688bffffe81998ff005180008bff002580008b908c918c8f087b7b57
+6a6e8b848b829181939389948a948b089f919398a278917f1f688bffffeae666ff00
+094ccdffffd9199aff001db3337a98fffff2800097fffff9800091988ea3a59c9f08
+8bbab6ab9a9d91a2978595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b
+908b9108cab19bb61e9589057c7075608b5c8b7b927e93817a93788d828b578b6572
+4e5c08f7afc6158bac60a08bb38b9e929f929eff001eb334fffff6999aff00361998
+ffffe480008bffffc3999a081380204f388bffffc64cccffffd0199cffffe38000ff
+fffb1998fffff28000ffffdd80008bfffffc8000ff000080007cff00118000928993
+89928b978b9b8d8ba808fccf52151380904f389a999d92a28ba08b9d839e7d7a7b76
+80748b798b78967b9c08f7d5fb8c159968af4a9b74b451b66fb6718dc1a1ada7a798
+98ff0029b334ff0017b333ff00234cccff000d4ccdd9ff001d4ccdc6ff0016b3338b
+f7030813c0206f388bcb5dbe60a908b385f71f5e8baf52a1c3a08baefb1e6362868a
+8b059d98979492939d9cb1ff002580008bff003e80008bff0056999affffbab334ff
+0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff000fcccc73ff000e
+cccc67a05ed287b543524f3f64360875ff0009800064ff000d8000618b328bffffa3
+6666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605ff0028199affff
+da199aff0059e666ffffcee666e28bae8bb4989b92081381084f38f709f7ac15b2a1
+7185827570661f678b729771a108a69f9e99b28b08138000dfb8bff77715969d91a4
+1f920792838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b3
+34828b3c8b7b5987747a95728e798b788b76827d7f081380014fb86f8a058c918b8f
+8b90081380024fb89d7f8f818073846e1e1380044fb88b7f91839287081380024fb8
+8f88968b998b081388d14fb8a106fffff48000ffffe73334ffffee8000ffffddcccc
+83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e8b878b88
+8a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba08ba85e8f
+8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006dffffff80
+00ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6cccd71a5
+72ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff00373334ffff
+e63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e8baa8b9d
+7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000ff000133
+3487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8199affff
+ff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000ccccff0006
+3333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd087b0674
+7788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff0004b333
+ffffffe666ff0004b333ffffff3334ff0004cccd08a58a0513a4004fb8967f99829b
+8ba98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf
+999ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a5
+78918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccff
+fff0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333
+ff001f4cccff00364ccd0813d0206fb8977eaa7d948b08a1989fa6997f9f741f7b8b
+ff0005b3347afffff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08
+a106c176db5f8b3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3
+e666ffffd9e668fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffff
+dab334b1fffff24ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366
+808d7a488b3e8bffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72f
+f72e05ff004cb334ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2ca
+f2c4ba9cffffdb80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff
+0025199cfffff19998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999a
+ffffd2ccccffffcc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a
+91ff001e80008bfffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e
+7f7c9f6ba759978e958c938b9408138000dfb8c06596701e6f8bfffff24cccffffef
+b334fffff7b334fffff24ccc08a58d05fffffeb334fffffb4cccffffff4cccfffffc
+b3348b87087e937c9e1e0ef84894f830fc129b849990a9f7a39a12d7b188a5132af7
+1df76115a99cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb
+2e808b82f71291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7d05134af72782908b
+059a8b95909297888a868b858b086875bdef1ff895eb15f7199ef7526d8bc58bb4fb
+298f27900813803290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d0813209888e4849a84081380d75ec183a48bc08bcd93c1a3a19396
+9a8b9e8ba17a858596a49397988b9f8ba1719f8b8b08aa9b999c8b9f8b9c7d9d669f
+081314fcd2fb6f158393849695949293938292811e808384831f0ef7e193a58ba4b3
+a58fa6a5a587a5afa3a3a8ada581a412a3a8f706abf73ba1aba5f09ea2a58ba680a5
+f749ab13373f20f847f778159e8ba5739f8baf8ba9998ba88b908a9089909c809482
+8b810865fb0e6561737e96a31e9ca49fa11ef827ed156b3b87481e688b051333bea0
+7d06708b668d6d8d79a372a66ca9aa8bb88da58b08f737ee796a1f13b33e60fbcbfb
+b8157174959c1f8b9aad86cba3a29498908b8b089891837c1f7052725c1e133b3ea0
+e3f70f1563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f1337
+3e20fb05d4155f8b34d58492088381bb5505137b7e2070716f7e6e8b7a8b73906e94
+088107a576a382a18b978b998d9d8f088707669e79af1e8f06888389848b888b7297
+7ea58908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f1f776786
+821efc55f70715f706918bfb99fb068a05f720f792151373be6087adfb39878bfbe6
+05b290d191c790088fbb058c8b8d8b8d8cd68b8f49f71d8b908b988b9f8d8b8a8d8b
+908c0813b7be6098789e82a68bc88bd5a88bbd8b9c83997a95081337bea092968e96
+8b968ba0809a7495081337bf608f948e938b918b9785977f9708b58b9f8b05eaf708
+8dc4d2fb4292fb141ffb0d0613337e607596788f7a8b428b6240398b080ea48c9ff7
+b1a1a0a9f781aa6ca112f78ad3f73ad013f6f7d2f8f0159b929e909a8b08c3c783fb
+062a5d793c1f788b808d808d08fb173e1590908e8e1f8b99878d3189498d88898b7d
+05889388951e8c06908b9d7da77608f71ffb0405ff00016666ffffff199a8c8aff00
+00999affffff333308fffffae66607ffffff8000ffffff6666ffffff4ccdffffff33
+33ffffff3333ffffff333308fb0e2f056b74797e848b0889067f8489861f8b7e8f8a
+058bae8ca0a3b18a8b1e8c8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08
+dbff003d4ccd8bffffcbb3330572807d721e8806878888871f8b7a8d89058bbc8dac
+aeb1898b1e8d8d8b9c058f878e881e8706778197a61f8bff0028e666c2ffffd7199a
+05aa7192858b8808858989821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e
+8e8c8b990590858c7d1e8a06868b8a8d5fad08fb1ff605888e8b91918f08f711e905
+b1a696939c8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d0587
+8f8991918f88861e8b868985767b082f4605fffffc3334fffffd4ccdfffffcccccff
+fffdcccd88fffffe4ccc08ff00a2999a0797869587a38b08f727b5e0d7c06edffb29
+1f768b6b8a5c880813ee608956887e8b087907898c87911e8f8ba08d938b089ba385
+691f8bfffea7e66659ff0028199a057b9985928b8f08908c8f971e0edd7bf730efd8
+87f0f716a412e5f708d8ecefd9ec9f13bff762f7a715a09d9c9fa19c7a76767a7975
+1e77799da01ff7a68f1513df769d79a0a09d9da0a0799c7676797a761eb1fb1f155a
+32a7f7011f13bfea41b54d1e3d8b5e5c7f2f94f734f701f701f72f8b08f727f712fb
+06fb2b3e544d391ffb1cfb3015f73ff70ef717f734f73dfb18f711fb35fb31fb1bfb
+10fb3efb33f70ffb18f73d1f0e8e83a8c8f55ca47790f703bdeaa7f7247712c8a7ed
+bd97a595a992bdf2a8139ff8f7a8f727158f8a906081890513cff886e215139ff86c
+8b66688389088d860599909f8d9c8c088d610513cff87a987e9f1ea18b95998c9f08
+8ca70513aff89589948a938b938b978f929508879205818c818e888b7c8b729c798f
+08868c868b868b08bfee15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeee
+f70f1f8bf147e02da59ea4c6b0ac9d088b76a47f1e8a067b8a4c516d64878b878c86
+8b0874f70e71759f278a8b057ac668ba58b108648605bc60b75e9e54267640328b20
+08fb0eed27f70f1e0e8e83a8e6a4f711bdeaa6f7257701c8a7edbd97a591ad92bdf2
+a803f7a8f704158c8b8f8b8f648189058dcd15618b78a479ab08767f059b6e9f70ad
+81088d6a0579987e9f1ea18b95998c9f088dac05b197a0a99399087798056e5e6685
+768b08b8f72a15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeeef70f1f8b
+f245e12ca49ec3b7b9beb7086390055865685b7a50088a8b9ff071a174fb0d05868a
+878b868b6db24dc47b8c088a068076728b1faa79c369a072287542328b2208fb0eed
+27f70f1e0e8e83c7e0f710f7d27712c8f70ebfe45a95828febf71413f9f7d8f7b315
+9997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697999a977f7d7d7f7f7c7d
+8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005586568
+5b7a50088a8b9ff071a10513f374fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e86f72515a08bb091a8b808
+9f7e05837d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba8
+08a097059d6b9e72b58b088a701513f58a64958d0513f386af050ef7189376dbbcf7
+29b4f72cbc01f747bdf7f4be03f851f85e15dfbf51411f8b7e897e887e762f313c28
+8b368b57c48bd68b978d988e99a1e9e8d8eb8b0832fc6b159edb05b98fb89db3a708
+b852ada760c505aeaba6b49bb908db8b94b23b8b058d968c968b958bac83aa7ca608
+d0c374a748540571a7669e5c8f089dd9638b793d055a875c79646f0860c2696eb554
+0567696f617d5d083c8b8162db8b0589828b818b828b6a936b9b70084653a16fd1c2
+05a570b07ab98608783b050e553fabf90fac01f7f6bfe8bf03f73df8f715ef70e022
+8bfb188b748973857262fb40fb3cfb18fb176da180a485bd8bf7618bf754f73db4f7
+4792a98ea98ba608f72a2bf707fb4a1e738b55847185084efd2315f721c9f704f5ae
+f72d92a68ea68ba48bf457de43baf7008bf701fb018bfb218b768976867566fb34fb
+37fb35fb4c8b080e553facf90fab01debfe8be03f8644c1528a635f38bf7198ba28e
+a391a3b3f741f73df718f716a975967391598bfb618bfb54fb3d62fb48846e886d8b
+6f08fb29ebfb07f7491ea48bc192a49108c8f92315fb204dfb042167fb2d85708870
+8b728b22be38d45cfb008bfb01f7008bf7228ba08da090a1b0f734f737f735f74b8b
+080e875db9f703baf7eabef7257701f714bec5bef786bf92bd03f7a7f7031573fb03
+218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda4f48f9b8d
+9c8b9b8bc870c455a9d8b1bcdc97bd0859068059462c248b408b60c68bc78b948c94
+8d9308590688818a7f8b7d8b5e9a52bb6c3a664a3f7737877a897b8b7a8b3db83ff1
+7c08f70cf81915f8fc0a0e875db9f703baf7eabd01f714bef7f3bf03f81ff88815f8
+fc0afb0cfc191573fb03218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305
+f70d9beceda4f48f9b8d9b8b9c8be54fdcfb078bfb158bfb08266ffb0b877a897b8b
+7a8b3db83ff17c080e8775bcf7ebbaf703b9f70f7701ebbef7f4bd03f7afa6153757
+c5d61f8b978d988e98a0e8e5daee8be08bbf518b418b7e897e887d752d2e3e2b8b08
+f70cf81a15a3f703f58b96b9208ba4f70f5d8b6bfb0f208b815df58b6efb0305fb0c
+7b2a297222877b897b8b7a8b31c63af7088bf7148bf709f0a6f70b8f9b8d9c8b9c8b
+d95ed6269b080ef575b9f7ebbcba76f709adf37701ecbef7f4bfdeb903f8b4f75715
+90a08e9f8b9d8bc771ba5ca608f733f76c0589768a788b798b6b8f6e946408b68705
+85bd87b18bb28bae8eb090b90878950523535577246f08a06905d29ab49ccaab08fb
+3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38bf70d8b
+f710eda6f70b08fb49f74015dfc050411f8b7f897d887e762f303c288b378b57c58b
+d58b988d988e98a1e9e8d9ea8b080edfe0ba65b9f817b412f72ddbf71dd313b8f7cb
+f8a315b69b544f1f8b6d876d857178375b454c7379846082768b088a06848b7a8389
+830886768b8705888c888c1e1378f80294058f8b8c898a890860fb519279ceaab5f7
+4ac88d05908e8f928d948e948995878e08508cebf835768d57802efc260588888887
+1efb5706bca9cbdfa1e990a38ea48ba38bda6acf3c8b2f8b45597e508a878a888b88
+8b79987f9f8b08a78b9b9f8e988c928c93898e8b8f8a908e970892a9a291b98b080e
+58f7e5baecba01f7c7cee5d203f79bf8f6157839518b057f8b7b7e877b89828e8295
+8b08cf8bfb03fc789179ceaac5f79105b5b9bca7ca8ba88ba76e8b658b858b858985
+805a6a4e716672695f4c805a877d8a7e8b7f088b6b9771a17308c9839696056fa77f
+a38ba98b968c978e9896b7a8cba5afa9b2b9cd96bb8d978d958b958bcb57ab4e8b08
+5a8b4269696708b1f73bdf8b05978b9ea18d978d938990808b082c8ba0e6748c050e
+c330abf737a5f73fbaf747a901f763bff700be03f76cf8771544fbc90584707a7a62
+8b088806868b87888a860887798c89058bd18daf1ea78bb8f759f28b58fb6f056381
+6870805c8a858a848b858b5eb672b58bbb8bc9a99ac88c918b918b918bab75a16c94
+08bef770ec8b5dfb59a78c05afd0888b1f8d8d8f9e058c90898e878b088806697e96
+9e1f8b8f8c8f8c9108d3f7c80591a89c9ab48b088e06908b8f8e8c91088f9e8a8d05
+8b4488681e6f8c5bfb632a8bb4f7427b9a6b8b757c62fb42258bbbf7636f8a056845
+8e8b1f89898778058a858d888f8b088e06ad9881771f8b878a868a8608b8fc761591
+a4a6a7ab8ba78b98778b768b878b878a8782666f746f8b718b7b9b8ba58b918c918c
+91080ef78d5db9f91b7712f75bcc5bcc13e0f83a5d15f68b96b9218b9ed605f74f9d
+f4f71db4f74590a09293938b978b9979927d08af8efb03f743058a8a888b8a8b8b8b
+66fb32887b68fb2a43fb0ffb287f08ecf8120591a49197938b938b957d9b7108ae8e
+2ff723fb37fb23ac8805a6a59d99948b908b8d878b828b858a838981083afc120524
+9365c78be40813d08bb092b595b88b8cb3f7418b8e08848afb53fb44ab88059b9ba1
+9b988b918b8f878b818b878a868a850813e0816186648b688bfb0cc63df71e7d088a
+8a7b41218b805df7008b70fb0fbb8b050e494bbbf7b6bcf70377f718bc01f86ad503
+f867f852157d4d5853548208a4f703788f547a752a398ebdf76bf71a93928b05b4b7
+76561f8b838a83898108fb18fb4515ea8ee2d3a2f28e988c988b9608d353b2391e81
+8bfb6783fb1cfcdfa17dbda0c9f79fdd883efbe3f784909daf8a98fb4385050ef7df
+f8cdbf12f721d4f73bd970c1f828d613e8f811fb0d159379d1aa05d3f7c8f73cf80a
+f7198bb08ba0718b5e8b7f897d887c8161735e645908bd82a49405b2bda3ba95b78e
+988d988b978bcf5ebd468b0813d8fb458bfb13fbbf4efb3e08820690c18fc28bc08b
+f73868f722fb088b3d8b324a752f887b89798b7a8b6e906e946d08bf83a3930580a8
+85a88ba78b9b8d9b8f9b9accb5b8bb8bd68babfb0b8bfb35088bfb1078fb286bfb1e
+080ef777fb04c4f802baf767ba01f743c5f811c503f802f7eb1539633c437424877a
+88798b7b8b21db38f7058bf7198bf71bf704a9f7148f9e8d9d8b9b8bd663c157ac08
+c5a1a9a5bdcb08abb305b2bcb0a4ae8b08958b95ba708b05598b56635346085f5605
+6f676f72717d717d6d84678b668b7092789978997ba47eaf0879c00573d167b25a8b
+086f8b805c958b05ae8ba4729c5a08986305a2449f76b677089afc22153052c8da1f
+8b998c998f99a3f5f2d9f08be68bc44e8b3b8b7d897d887c74282938208b080ef731
+65ba82baf86ab97fbb121360f7a2b515f702f87205a689ac8ab28bb18bac8ca78d08
+fb02fc72056e8e6a8d678b08678b69896d88083f861513805f855c82577e08805c05
+1340f1a4f698f7028b081390f7038bef7ee6720895ba055d986094639108f703f879
+05ba91bb96bc970896bb0513203173217ffb0f8b081390fb0e8b26973ca308805b05
+b67fb681b886080ef7a7a8c3f724b3e0b4e576d4c301f719bbf76cbde3bbf76dbd03
+f96bf81f15398b354d7737887f8a808b818b57ac6daf7759784e81438b228b25a426
+bc08716a877605ef59ee71ef8bf7088bf0a0e0b5e1b4c8bd9acd8d968d968b968bce
+57b9448b08816215bcad695b1f8b838a8289837d4c5061538b578b6aaf8bb98b928c
+938d9398c4c3bdc98b08fc5efb1115df8bdcd39edd8d948d948b948bae79ad56a8bd
+9ec995d38bf38bf173f05a08a5ad919e0528bd26a5278bfb078b2677346135615161
+7c4988808a808b808b45c25ad28b0890b3155a69acbb1f8b938c948d9498c5c2b9c7
+8bbc8baf698b5b8b848a838a837d52535a4e8b080ef738fb39c2ecbdf767bcf7a2ba
+12cfbef72fd17eca8ed7f76ad513fd80f8716b1598c6b4c9dad2d3ccbfdba2ee8e98
+8c988b988be24adffb228bfb088bfb193a71fb04887e897f8b7e088b70936f9e687b
+8f818b7c8b378b37467736887e8a7e8b7f8b44bf5cd28be28be9d79ddd0813fb808e
+958c968b968ba583a57ba80813fd8079aa83a78bac8ba28fa592aa9edce1c3e48bdc
+8bc44a8b3d8b7f897e887e74296b5b4d5508474f3f3c763089818a828b828b54b465
+cc8bb68bbfa7c7c508799e0558646d80628b718b789d8bad088b938c938e9508fb78
+f7ac1513fb80bfa9685d1f8b838a8389827d4f525e538b598b6baa8bbb8b948c938d
+9599c6c3b9c48b080ef75ff8d27701f74fd8f704d7f706d8c8da03f7f49815d6f7db
+05b0d9b9c8beb58e7f8d7d8b7a8b74886f846b083cfbeb05857286738a7364755b76
+567c088c6a05bf93ba99b39f9454a461b66e08a0990576ac80a48bb08b988c9a8e9c
+e4c7f70beeaaf71891a48ea58ba48bb483b37bb108447a0574737269716008a4f700
+058e948c958b948bb378b17aad085280056165686375628c918b908b908bb976b27b
+a8086c927079056c706a666e5c089d078bb085ab7fa30873895c7c0593748f728b72
+8b7688768675082cfc2d9379d1aadaf7e905aecdb7c3bdb88f818d7e8b7a8b708668
+81600834fc0c927905f799ac15bff77305aac5afb9afad90778d768b758b75897585
+737325493f4b57080ef744c4c0f70ac1f77bbc01f79fcaf794cc03dac415f8e50698
+8b9fa48d968d948a93808b08fce7067f8b7976877c088607848e86931eb3f73f15f7
+7e8b9cbd056e9d80a58ba98b958c968d969bd0d2c7cf8bc48bb45e8b538b8289828a
+81805f70625a76087a59f77e8b05988b9ea48e97089107918890831efb3c06b1aaaa
+ae94b28e988c988b968bdc4cc4358b248b2039752c89838a848b848b6d98719e7208
+fb32067f8b7976887b8a8a8b898b8908848f86931e0ef709fb3c9cf96a7712f740ca
+55d9f702d99bd0a4d9639f13dcf73ef8b61593778e748b730813ee8b738872856f08
+2efc269279d2aad9f7e805adceb6c4bdb88f818e7d8b798b71856982620834fc0f92
+79d1aad7f7db05add5b6c7c0bb90808d7d8b798b758871836b0841fbd50585728874
+8b778b5e996b9f7108a7670590868d878b878b8380897f8b878b878b888c08777af7
+08840513cda0f70c777b05897c8579828b888b868d87910877a4058297869c8ba18b
+a390ab95b508dcf7f30513de90a08da08b9e8baa85a77ea5083f7f0562656c657363
+8d988c988b978bb083a97da208407f056a6e6c666f5f8b908c908b908bae84ab7fa7
+087489050ee09376f889b701f909bb03f95ef8b1156a8569886c8b588b5e926c9608
+796105ac7eb184b18b978b978c978c08fbcafb8d30f70c5a63e6fb0bfb6cfb43a863
+f76df743e6fb0dbdb32ff70cf7c9f78e05816f85698b698b788c798f7a08b895058a
+988a988b998bc297c9a8cd080ef798fb05bacdb5f75fbaf78da19a7712f776c369c1
+f732c26ec4f768d913e8c0f876f8a1158e828c7f8b7d8b628351833f0813e940844e
+88678b728b669180956f34fb2b736b278b08728b805cbf8b05c08bd98df1f73aa962
+bb7dc18bd88be0c89fdf8e9a8d988b998bc965b6478b4b8b2b55574508970713eac0
+8bd7a7f71c8bf7008ba889a586a20813f2403d7c054c50563e602c8dac8caa8ba58b
+b488ab84a183a6629d5e8c087d7505ae7a9584985f8f7e8d6a8b600813ecc08b4d85
+387b4308967fb89705b4f748f4f714c1bd08f7a1fc14157e4f5d64658b628b59926d
+b8bee1c3ccc28bb38b9f6b8b638b818a808880080ef7a1e1e0159a5cf729f1058e8d
+8d8c8d8b8d8b8c898c8808ba2c058c888c8a8d8b8b8b8d8c8e8d08f721ec058e8e8e
+8c8d8b8e8b8b888d8708b92e058c898c898d8b8b8b8d8c8e8d08f720ea058e8e8f8e
+8d8b8d8b8d898d8708bb28bea650f7290588908a8d898b888b8789868708fb23295b
+ee05888f8a8d888b898b8889888808fb262759ef05898e8a8d888b898b8989878908
+fb1af733159a5cf729f1058f8d8d8c8d8b8d8b8c8a8c8708b92c058d898c8a8c8b8d
+8b8c8b8e8d08f720ed058f8d8e8c8d8b8d8b8d898c8608b82e058c898d8a8c8b8d8b
+8c8b8e8d08f71feb058f8e8f8d8d8b8d8b8d898d8708bb28bea650f729058990898d
+888b898b8789868708fb23295aee05898f898d898b898b8889878808fb26275aef05
+898f898c898b898b88898789080edff7a3b912f790d651d3e9d555d51390f8857d15
+b184b592055eca74ce8bd38ba68ea692a808f70c8b95b90513a8fb0c06a6e5c7e1ed
+e0086391658505333e4e366b2808fb09068d9d8c9e8b9d8bd775cf60c908618e6888
+05b948a3478b468b788978877808fb0b8b805d0513d0f70b0674234c2d2334089a86
+cd9005eee5ccf7019fe108f70906857088718b72088b39a841ac58080ef7358ba001
+f7dbcf03f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb0ff70b4dd432
+f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b968b9c7a8b5e8b
+557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef76c8ba0d0f7a8fb4d
+f71b12f78af7c6fb58e042c813a4f841f71015be9292961eb08baa30f28b08d9bac1
+d8b37bf4fb061f4a8b51586d8b0813a8818293951f13b08bacf7039b8bf308c85ac6
+24fb046149551e13a88b24f7027d8b668b7d8188838b0813c4698b57bd498b082271
+30563dbd55d61f13a4f28baae6b08b9a8b8d768b668b57836164830876f72fa00769
+937ebf8bb6080ef738f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff71ffb298b518b346b
+8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706f70c8bf7108bf704
+3bb0488b080edff7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706eaf5f0ee
+fb06ed32f70139f703080efb6380f739f8a97701f797ba03f7c6f943155cfcb3067d
+907190638b748b70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac
+9f08b0a29ea58bab080e7080f739f74c9bf7e17701f797baf723c403f80ff7f61595
+7b05c99ab1ab98bc8e928c938b938b9a879b839c7ea877a0709a48af61b278b5085c
+fcb3067a916f8f688b748b70836c7d647877738b6c8b739979a67ea082a286a58bad
+8bac95ac9f08b0a29ea58bab08f87407987da07da87fa57fa1789d72947d907c8b7a
+8b818980877f8272767a6982080ef736fb51f73a97f73901f797baf7d6ba03f908f8
+3815fc5a077a926f8f678b758b70836c7c647977728b6c8b739979a67fa081a286a5
+8bad8bac95ac9f08b0a29ea68baa088bf8d7fc34f7618bfcc6057a916f8f688b748b
+70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9f08b0a29ea58b
+ab08f878070ef736fb51f73a97f73901f797b9f7d7ba03f908f7d815fbfa077a9271
+8e678c088906758b70836c7c647977728b6c8b739979a67fa081a286a58bad8bac95
+ac9fb0a29ea68baa088bf8d7fc34f7618bfcc6057a91718f688b088906748b70836c
+7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9fb0a29da58bab088bf8
+13f7d4fb36058ef70e158b41fbd7f7398bd4050e2dfb49c9f712b375abd5bbd7b767
+b8e3bd94969c7692f70612edbf69c6f709d658b0a6c0139302f852f857158d8e8d8d
+8e8c89891e8a888989888b08898b898d8c8e08fb8cfc9a15b59bb4f74459880577fb
+7415d7a3c2ad94b30813b2068c908c908b8f8baa719b6e8b848b7f89828808836a05
+928d968f948b918ba0898b798b898a898b89856e4b7071827583707c73796f767489
+8b8208888f89911e968b9a8f948fa9989a98a593089e8a1578837f89808508826205
+887e9083978b968b979690a20813924af726f8fc158d93919f8f9f8e998d978b9508
+1392469f8295751e708b786e86740813928a8881855b8a8008a48fa48ea48b081396
+12fb09fb621593b805139b127b876e86888b758b7e948b9c8b8f8c8f8c8f98c3f718
+99b28bc08b8b80ae8b988b988d999208868e9189928897818b949290868b818b848c
+818d8a8a8391a287058d8d8f8f8b908b957b95828e7d8e939d768b788b51845d884d
+87fb1471773489838a838b82086d9a6ec01e9c8ba18da69108833e15988b988c978b
+089b8bbff76705748a748774860843fc091513d2228fab05618c78978b9f8b8d8b8d
+8c8e94b3cb8fb08bc18bed9e9bd18e958c948b938bbf5a94588f08805e05ad8aa386
+8b758b888a888a878059518b618b5e8b268776308a858a858b858b6ba170b08b0898
+8b9c8e9f90080efb2ef7aaa9f710ac12f754b071a1f711b013d8f775f7201588da73
+d32b8c888b8688878589858b868b868b67a8729182ad56b98b8b438b798874846d08
+887c90868f8b938b8f918f99b0f729b278dfcab2a9a6a692ab8993868d8b8b428a43
+455a3908aaf71e05b890bcad97c18d928c938b928bb769a7618b558b58607f580813
+e889838b838b848b64a56fb28808b9f72e15a79e7c6e1f8b868a8489858264667470
+8b728b77a18ba68b8f8c908c8f93acada8a98b080ef7a85db9f703baf7eabd01f714
+bef76ebeddbff76dbe03f864f77315819e85a28ba48b988d988e9994b2a1b0a9a996
+7790748b728b7e8a7f887e826375656c6e08a76915b5b2a9bd97bf8f9b8d9b8b9c8b
+ac83aa7ba6ab9eb096af8bdf8bbf518b418b7e897f887e08762e313c288b658b6c97
+749e082af7cb15b08ba980a27863656d597f57877a897b8b7a8b6b936b9b706b7867
+7f658b378b57c58bd5088b988d988e99a1e8e8d8eb8b08fb0cfc191573fb03218b80
+5df68b71fb0fba8baaf70ff68b96b9218ba7f70305b590b29baea1a276aa7bb38508
+74fb03208b805df7008b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda3
+f48f9b8d9b8b9c8be550dcfb088b578b597b606f6ea6629c568bfb158bfb08266ffb
+0b08877a897b8b7a8b3db83ff17c080ef7fffb38b9ebb9f75dbce8bcf723adf37701
+ecbef87bb9b1bfdfb903f91af85c157987a06805d39bb49bcaab08fb3bfb6b057393
+7b8b758b7c8b7c8a7c8887c072b360a408f733f76c0589768a788b798b6e8e709369
+08fba7fc30158b8e8c8f8c8e9acbbbc4c7a88b888a888b887c4b5b514e6e08895d15
+dfadd2d79fe28e948c948c94968d978c968bdf8bbf518b418b7e897e887e762e313c
+288b083d8b59bc84ce08f81fc31590a08d9e8b9d8bc872b95ca608f733f76d058975
+8a788b798b6b8e6e956508b6870584bd88b18bb28bae8daf91b908789605395e5875
+467786b089aa8bab8bae8eb090b90878950523535577246f08a06905d29ab49ccaab
+08fb3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38b9a
+8b9b8c9a8e9535cf4feb8b08f70c8bf711eda6f70c08fc25f7cd15d78bbd5b944b35
+69473e7631898289828a828089808a7f8b378b57c58bd58b988d988e9808a1e9e8d9
+ea8b080ef5fb2dbaeabbf7ebbef722ae01f3bff7f3c1dbb903f807f81015dfbf5242
+1f8b7e8a7f887d752f3139288b378b57c78bd58b998d988e98a1e9e7d6eb8b08fb0c
+fc1b15772c218b805cf68b7930ba8ba2e6f68b96ba218ba4e905f70399f6eda5f702
+8f9e8e9e8b9d8bc96fba5ba608f733f76d0589758a798b798b6a8f6f946408b68705
+84bd88b18bb28bae8daf91b90878960523525578236f08a16805d29bb49bcaab08fb
+3bfb6b0573937b8c758bfb158bfb08286ffb0e877a8a7b8b7c8b32c644e37e080ef8
+c22ccf77ae8ea49dca5ba785a588be9cb17aa794ac6aa09ea579b08dbd7ecc5dcc4f
+a4cd769aaa79ad8ccf12f739adedff00243334ff0048cccca48cc659c3bb9ff724c4
+9aae9eb51320200f3cf7def7f2158b988d979095a7baff00244cccff000ab334ff00
+0bb334ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b626076
+8b6a8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b0882a35c90
+8bdb08f7eafb0815132b0cafbc4eb765a6558b798b7b877f86929591968b9b8bc071
+bd819cff004719988bff0017e668ffffae80008bffffda80008b868a858a87089b9b
+bfaca88b928b94859583838d828c828b087785837e749e85971fae8bff00151998ff
+fff6b334ff0026e668ffffe24ccc9c7eff000d80007fff00068000857e8873717a77
+088b5c606b7c7985747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c86
+8b868b85084c657b601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1
+a4c8ba08fbaf50158b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e6
+68ff001b80008bff003c6667081320200fbc8bff0039b333ff002fe666ff001c8000
+ff0004e666ff000d8000ff002280008bff00038000ffffff80009affffee8000848d
+838d848b7f8b7b898b6e08f8cfc4151320900f3c7c7d7984748b768b799378999c9b
+a096a28b9d8b9e809b7a08fbd5f78c157dae67cc7ba262c560a760a5895575696f6f
+7e7effffd64cccffffe84cccffffdcb334fffff2b3343dffffe2b33450ffffe94ccc
+8bfb03081360201f3c8b4bb958b66d086391fb1fb88b67c47553768b68f71eb3b490
+8c8b05797e7f828483797a65ffffda80008bffffc180008bffffa96666ff00454ccd
+62ff00376667ffffef3334ff001db33282ff0023999afffff03333a3fffff13333af
+76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58be48bff005c9998ff
+00464ccdff001f6668ff001eb33308f74df749fb50f74605ffffd7e668ff0025e666
+ffffa61998ff0031199a348b688b627e7b84081321080f3cfb09fbac156475a59194
+a1a6b01faf8ba47fa575087077787d648b0813a8000f7c57fb7715807985721f8407
+849388958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948b
+da8b9bbd8fa29c81a4889d8b9e8ba0949997081324000fbca78c058a858b878b8608
+1330000fbc7997879596a392a81e1322000fbc8b978593848f081330000fbc878e80
+8b7d8b081324d20fbc7506ff000b8000ff0018cccdff00118000ff0022333393969c
+a6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f8b8e8c90ff
+fffc3334ff00008000fffffbccccff00008000888b878b76858b768b6eb8878b738b
+82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00008000ff00
+29cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334a571a46ba8
+668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8ccccff0019cccc
+ff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c8b799d8490
+8bff0004cccc8bff00026668ff00008000ff0004ccccff00018000fffffecccc8fff
+ffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668ff00009998
+fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334fffff9cccc7e
+887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b06a29f8ea4
+a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb4cccff0000
+199cfffffb4cccff0000ccccfffffb333408718c05132000afbc80977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b334081360215f7c7f986c99828b08757e77707d9777a21f9b8bfffffa
+4ccc9cff000db3348b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655
+a03bb78bdb8bae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff
+00261998ff000d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc
+65ff000db3347508acffffcaccccff001f4cccffffca3334ff0009b33463b096899c
+ce8bd88bff00479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05
+ffffb34cccffffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c
+7aff0024800078ff002080006fa271ff00148000ffffcb6666ff0016199affffdae6
+66ff000e6666ffffbcb334a56cff002c33338bff002ecccd088bff00386666ff002d
+3333ff0033b334ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffff
+e180008bff000e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77
+ab6fbd7f88818a838b820813a8000f7c56b180a61ea78bff000db334ff00104ccdff
+00084cccff000db33308718905ff00014cccff0004b334ff0000b334ff00034ccc8b
+8f0898839a781e0efb1cfb5cb7f9b6b601f748fb3015528bf73ef9b6c48b05f76ab6
+15fbd48bfb51fe0df7d48b95b7fb278bf73ff9b6f7268b050efb1cfb5cb7f9b6b601
+f747fb3015f73ff9b6c38bfb3efdb60539f9e1158260f7268bfb3efdb6fb278b825f
+f7d48bf751fa0d050efb66f7b5a403f74bf79f15f8f50a0efb66f71fa403f7a2f796
+15f8f60a0e6889a870b2f78cb2cbb2f751a81213b8f837f84115ffff63999a8bff00
+1b6666f72005ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffe4b333fb20ffffad4c
+cd8b8464ff0052199a8bfffff399994bffffad4ccd8b8464ff0052199a8bffffd6e6
+66fb6705fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c8805
+8787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4ccd428b08fb02
+06ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666
+ff0000e666ff0004cccd08ff0026cccdf75aff009d33338b92b2ffff6366668bff00
+0c8000cbff009d199a8b050efbac81c7f781b2cbb2f76aa8a57701e8da03f7e5f841
+15ffffaa80008bff00228000f72e05ff000e8000ff0040e668ff000a8000ff002819
+988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80
+fffffde666ffffeeccccfffffb199affffea333408ffffe2199afb1affffb9e6668b
+8464ff004466668bfffff1cccd4bffffbccccd8b8464ff004180008bffffda8000fb
+3c05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33
+338bff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b
+838b87918b93088b938e9a94b308ff0023cccdf734ff005a33338b92b2ffffa78000
+8bff000e4ccdcbff005733338b050e6889a870b2f786c691c6f769a81213b895f7a9
+15978805aab7c3a7ae8bff0008b3338bff0008199afffffe3334ff0007cccd8808ff
+ffcc6666fffef6cccc05fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc
+199a086c88058787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4c
+cd428b08fb0206ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff000080
+00ff00046666ff0000e666ff0004cccd08ff0028999aff00cf4ccc0599fffff7199a
+ff000eb332fffff9999aff0010b3348ba38bce98bdf6087b91056c59577a6f8bffff
+f04ccc8bfffff0333493fffff03333ff000a4ccc08ff00294ccdff00d2b33405ff00
+058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f8d9b87945e8a678a
+648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc9998ff000ae667ff
+fff33334fffffa3333ffffe2333408ffffdf4ccdffff58333405fffff93334ff0002
+6666fffff94ccdff00016666fffff933338b084f8b494c734a080e4d89a8f793adf7
+1cb2f713a870ad12ff01e8999aff0055999a13ecf81df87f15ffff89e6668bff0010
+199ade0590a8989cd08bff0038b3348bff0035e666ffffee19988bffffad66688bff
+fff1199afffffe3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a
+8d818e08ff00196666f717ff0076999a8b05ffff3b333316ffffb5cccdfc1105866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b728b4d
+82648b0813f4658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdff
+ffff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffc
+ccd0ffffff6666fffffc999808ffffefcccd38ffffae33338b8464050e93fb70aaf7
+4aa6779ff79bb1f7bba475ac12f2d1f705bef73fdc13d380f757d315b5f76705cf8b
+a7868e8408ccfb54059c5bb065c68b0813b3809a8b9d8e978f089f0713d780830667
+8b76af7db40849f76105a293a397a59dc2b1acb995c28e988c978b968bad81a875a4
+63b946904c8b6c8b658a5f8a08139b80618948857f88088779058a878d88918b0813
+d780aa8e918b059d91837c1f8b858a848982082efc73058156855c8b638b828c838b
+838e609767a06fa071a97aa88ba28b9f8f9d929f93989395950892948f968d958d94
+8a9486908590838d848b818b8187858582848480857c857b7f84788b087a8b809081
+93819585a38bb0088bb592c59ad808f794f7c1156d68587a408b08588bc5f7bc05a4
+91a78daf8bc78ba57092839c7792728b708b7e8a7d887e83607769726f080e4081c7
+f7faaa01d9dbf739d903ff01f06666f85a15ffffe83334ffffe8e66605ffffea199a
+ffffff999affffe94ccc8979ff00048000708e7e8e638b208bfb25fb318bfb318bff
+ffea6666ff0001e666ffffe7199aff00073334ffffe9666608ffffc48000ffffc619
+9a05fffffee6667cff0009cccc809b8b08ff0033999aff00324ccc05ff000e999aff
+ffecb334ff001666667eff0022199a8bc08bc3c2c7e4088d897e6105847488778b7f
+8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b
+7066787b818b888b828d8b97088b9491a78f9e08ff00393334ff0101ccccff003680
+00ff0035333405fffffe999898fffff8199c95ffffeefffe8b08fffeb3ccccfffe8b
+333415ff00d81999ff00d2e66705fffffaccceffffe6999afffff94cccffffe5cccc
+fffff7999affffea80005a313e376b8bffffec199a8bfffff46666ff000db333ffff
+f9b333ff0016800008fffffa199aff002be66615ffffffccceff0005199bffffffe6
+66ff000566678bff000566668bf5def735e78ba08ba1849e7f8b8bfffffe8000ffff
+f0999afffffcccccffffe94ccc080efb3781c7f7e8b201f722da03f776f841155688
+05788a848389838a88887f8b8908898e8b8e1ed18bffffcccccdffff1b999affff57
+cccdffff5c666605fffffee6667cff0009cccd809b8b08ff00814ccdff007e333305
+fffffa9999ffffe73332fffffbcccdffffe9b3348bfffff0e6668b679d81aa8bff00
+2c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b94ff
+00036666ff0014199aff0007999aff0021e66608ff000e4ccdff003f8000ff00f666
+67ff00f0800005fffffe999898fffff8199a957a8b08fb62ffff37b333ff001e999a
+ff00884ccded8b05979094a5809308288b95b805ff00043334ff0012b334ff0008cc
+ccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080ef71a8aa8
+f7c1b2f78ea701f9019f03f8978915c48bba338d72089f8ba2f70a058d987f92838b
+087b067583929b1f8b928d948d9508ecf88a0590a79c9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9a81761f
+8b878a878a860864fb62fbdb8bb2f7620591a79c9bb48b08a506908b8f8e8c90088e
+9e8a8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b87
+8b878a86082afc8a05856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8c8d8f9e058c90888e878b0870066a7d94a01f8b8f8b908c9008bdf795
+f7db8b59fb9505856f7a7b628b087106868b88888a860887788d89058bc48aaf1e0e
+5f8ca6f801baf75ea9a57712f844da5a9f13f4f80f8c15ba8bae308c72089f8ba6f7
+0a058c8c8b8c8b8d08958191841e7b067583919a1f8b938d948e9608bbf7660513f8
+92aa8fa58ba28bbe76a6588b648b437b384808daf7e9758b0575827b877887798865
+857c8b088772058a888d898e8b08ac8f05989282781f8b80897e877b08fb09fc8e05
+856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d8f9e
+058d90878e878b0878067281949c1f8b918c908c9208c4f78c05d4c3b99ca88bac8b
+9a798b648b7a88778672085cfb5e05846f7e7b6a8b087806868b87888a860887788c
+89058bc78da61e0ef7018ca6f8e2a701f90f9f03f8b88c15ba8bb1318d71089f8ba2
+f70a058b8c8c8d8b8c08978195841e83067a8b808e858f8291849079a508fb61f7ca
+f799f75205afa596909890938f998f9c8b089806918b908d8d91088fa0058b558a64
+675d8c8b1e8776058a868e88908b089b06998b8d888a8689837f80737a08fbeffb8f
+bbf7900591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e
+898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b
+628b087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c9088
+8e878b0870066a7d94a01f8b8f8b908c9008b3f75fd8c4f73cfb9705957c91848b82
+0885078a888687798b087606868b89888a86088775058bcd8db51e0e698aa8f809a9
+f767a9a57701f8759f03f8228c15c98b9f308c72089f8ba6f70a058c8c8b8d8b8c08
+978295851e7b067d8b808f868e839187907fa50830f765f702d605b0a49691979195
+8e988f9c8b08a8068f8b928e8c900890a1058b548964684c8d8b1e867505878a8790
+1e9e069b8b8e888a88887f6d78818408fb59fb1df703f872758b0575827b87788779
+8865857c8b088772058a888d898e8b08ac8f05989282771f8b81897e877b08fb09fc
+8e05856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d
+8f9e058d90878e878b0878067281949d1f8b908c908c9208a4f6ddc4d0fb3705927c
+8c838b858b888b898a888a868589798b087806878b8a898a85088675058bc58dac1e
+0ec48bb2f85976f71bb301f71aa5aca5f7f79f03f87716ba8bb5418d72089f8ba2f7
+0a058e987e92848b087a8bfc168b057a8b838f8d948c908f91939408f86bf89b05a5
+a78f928c93088e0791858e7b1efc3d0679848d921f8b8d8b8c8c8c8b8d8c8c8b8d08
+718e50fb56a5890597b8bae5d58b08f79506928b8e898a858a868784838408fc7dfc
+b105838387838984088707849087971e0efb2a8bb2f7f4b201f7f09f03f7a216b98b
+aa418c72089f8ba7f70a058d987f92848b08fb8a8bf7caf7f005989995968c928c8c
+8b8c8b8c0891858d831efb8d067f868c921f8b8d8b8e8d8f08748f49fb2ca48605b1
+dfab98aa8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1f0e3e9576
+f831a881a512f733cf50d5dda913b4f7b6f83915a098807d1f8b8a8b898a89846b53
+656b738a938b918b918b958c968f9f0894b1a5a4a28b0894a5154b8b4f618059887c
+897d8b7d8b7c8d7b8e797077747f727d0893790513cca097a59aa39a8b87973d8c86
+08a3fb25058d7f9183978b968b9693949908f771f7ed05a5b59a8ea78d089206918b
+908e8c9008909f058b5f896f6a578d8b1e8675058a888b87908b089b069b8a948a8b
+838b8a8b8a8a8a8a848581817b08fb22fb716d5988c079ed058b8c83b28c8eb1a5d0
+b996bc8c8e8b8e8b8e8b9f799d668b080e2b8aa8f7c4adf790a701f841ba03f7b9f8
+d21591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a
+8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b628b
+087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e87
+8b0870066a7d94a01f8b8f8b908c9008bef798f7208b05ad937b6f1f6c07878c8891
+1eb08b8e8e058eab8ca892ae91ac96a994ab8c8d8a8d888b086706878b8887898708
+7f6d057f6f7f7b688b08fb21060efb228aa8f74dadf72fa801f803ba03f749f7fa15
+49fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2d0898b1e
+8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208acf721f58b05aa94
+7e721f8b85896c05888d87901eb08b8e8e058fac8ea893ad94b49fbc8b92088c8b8d
+891e6706878b87878a86087d6e057e6f7f7a678b08218ba5f7030592a7989bac8b08
+9e06908b8f8e8c9008909e898d058b46896468478d8b1e898987780589868e888f8b
+089e06a595827a1f8b868a858984080ec476a7f828a601dcdaf82ad703e4f7781585
+7189738b768bfb20f70f65f08be48bf756bebbf75f8f9e8d9e8b9d8bdd5dce2d8b71
+8b6e847076085c647a617a420852fb8d055c906b9a79a77ba582a98bb28b9f8ea290
+a5a9f715c3b0a49c087da0055d7427606dfb1508f78ffb7015c2f77f05a5f706afc1
+b18bb78ba6718b488b71876a81637d4b6e615d5d6566617b6085080ed9f821f7befb
+6376121380f743f94b15805885705cfb70d68bb6f75ff71c6b0513407626d58b9edf
+f78553a8d7050ecefb79f7bf4577121380d4fb1915b6f75f418b5cfb7085708157f8
+ddf7118dd7fb9d520513409de0418b7525050ef75bfb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392b277b79ab192a5f7151299ff00098000ff0004
+8000948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321fc
+c9f8f803f88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366
+661e8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8b
+fffffee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff0000
+8000ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b89
+9105ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c8608850689
+948991868b081321fcccf8306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b
+8c8a1e888188841f7016888984878b8b081321fceaf8819886978b9508a092a59fa3
+917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00003334
+ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000
+fffff8cccc081325fcc8f8f7f8fc2815888b8cff000d6666fffff18000ff000a6667
+081331fcc8f8fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bffff
+f3b3348bfffff89998fffffa3333fffff8b334fffff8999a081327fcc8f884fffff8
+e666fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba9
+7bbd6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd
+3333ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989
+891efb9af833158a8c848e8a8b081321fccaf88596899b8b93089d989aa19d9e7d68
+1e8b7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d
+8708ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321fcd8f8878f898d8b
+8f8ba4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d
+8b728bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caa
+a108cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b93
+8a948a93088bad8b94051323fcc8f8a38fa09d1e8f8b8f8992858d7f8e8091830813
+31fcc8f8937c9e87988b0813a7fcc8f8af8b9eb99b8bff0006b3348b8cfffff08000
+ff0001cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7
+cccdff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74c
+ccffffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffff
+ee6668fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a
+9a819c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a3333
+081369fdc8f88ba1ff00148000ff000533338bac081369fec8f88b9c849c8b998b95
+8eff000b333393ff0006cccdff00074cccff00063333ff000bb334fffffdcccd978b
+ff000a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff00
+0be666fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b333
+7799ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e666
+fffff00001ff000d8000ffffe79999ff00043334ffffedcccd8bfffff266668b838a
+858985817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08ffff
+f08000ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196
+838a928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff
+001c1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e666
+ff0009e668ff0007199aff000c8000ff0003800095ff0001999aff00048000ff0000
+199aff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666ff
+fff18000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff00
+12199afffff2b334ff000f199affffe6ccccff000d6664ffffe9999aff000c6668ff
+ffe033338bffffbe33338b778a788878081323fcc8f8858f858d868b7c8b7f7b8b64
+8b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e
+8bff00064ccdfffffb4cccff00089999fffff6b334ff000a999afffff5999aff000b
+e666ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffff
+e69999ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff
+000a999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58b
+b685a0880813a9fce8f8ff0009999affffe76666ff0016e666fffff3999aff001f80
+008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998ff000eb333
+ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff001699
+98fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed33
+34ff000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff2
+99988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b
+48081369fed8f88b4394678b708bffffe3e666ffffec199affffde999affffe2b333
+ffffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcc
+ccfffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffb
+b333fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666ffff
+f1199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff00
+028000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000
+ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999affff
+f8199985fffff8b334fffff480008bffffed8000081361fde8f88b8092688b838bff
+ffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff00
+14e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cc
+cd8b9f8ba192999f08a396ae8ea78b080ef8e867aeaef70380b29fade4f7023cf71b
+dcd512eebcf864b4f73ae795f70d13d7e0f8786715c2f706b5f0bb65d3231f4a8b31
+6a7c8592d6c2b3ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b08
+6d8b80a3749e867c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b08b
+ba8bcb9abf9f49d857bf35aed89fa4c58bb68bbc5ec04f8b08628b656d7657989097
+8e978b08a5a07b68695f7a691f808b728d6d905a924892598b478b467961716472fb
+003b8bfb310813bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f75
+8b5758786a796b866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884
+ae15648b61a171a676a183b48ba98b908b908c8fbc9dc39fbc8b08e3a764515b505a
+3f1f0ef8e8ff0365ccccff0208999815ffffce3334ff00174cd0ffff86e668ff000a
+3330ffffd53330ffffa48002ffffebb334ffffd480008fffffaeb332ff005e33345f
+ff003ae668ffffe48000ff005f8000fffff7b334ff00101998ffffff199affffd9e6
+684affffbd3330fffff31999ffffdae668fffffe999affffe93334fffffe8000ffff
+cdb334ff0005cccdffffbde664ff001ee666ffffae8000ff0026199affffd96668ff
+0038ccccffffee6666ff0028333408ffffed6666ff002ae666fffff9199aff002c19
+9aff000b6666ff00188000ff00088000ff0012199aff0018199a99ff00187ffeffff
+f49998ff001b3334fffff34cceffffffccccffffe5999aff000cccd070ff000ae664
+ff000b8000ff0006cccc95ff0004b33495ff00276668ff00543334ffffcde664ff00
+30e664ffffdbccd0ff0010e6686eff000d9998ffffb4ccccffffffb334ffffe26666
+ffffc0999808fffff4199affffe6999cfffff4e666ffffdc6666ffffffccccffffe5
+999afffff98000ff00076666ffffde6666ff00166666ffffde8000ff000fb334ffff
+d56668ff0013e664ffffbfb332ff000d8000ffffc86667ff0003e668ff001b3333ff
+ff9e4ccca4ffffbae668ff003f199affffbbe666ffffb1ccccff000e8000ffffd0cc
+cdffffd6199affffedcccdffffd8ffffffffeb3333ffffd3999aff00124ccdffffbc
+e666ff00366666ffffe6999a08ff0025199affffee9999ff002f3334ff000b199ab4
+ff00263333fffff219988cfffff3e668ff00026667fffff51998ff00051999ffffe8
+666796fffff3cccdff00176667ff000ecccdff001fb333ff000e6667ff001ecccdff
+002f1998fffffcb333ff001ecccefffff1999995fffffb4ccdff0015b332fffff399
+9aff0019199affffeecccdff00296666ffffe4e666ff0039ccceffffdd4ccdff002d
+4cceffffeacccd08ff003d9998ffffe33333ff00461998fffff31999ff0031199cff
+0005cccdff002de664ff0006199aff0083b334ff001acccdff00428000ff008e3333
+ff0008199cfffffe6666ff00088000fffffd199aff00091998fffffbcccdff002d4c
+d0ffffeaccccff00306660ffffd9e667ffffe54cd0ffffc6e666ffffef8000ffffdc
+b333ffffdb3334fffff34ccdffffd39998ff0014cccdffffede668ff00088000ffff
+f18000ff00048000fffff0ccccffffdf666608fffff2e668ffffe3e666fffffc3330
+ffffd4999aff001b3334fffff34ccdff0013e668fffff6b333ff0044b334ff001833
+34ff001f3330ff0015ccccff001de668ff00156666ff00114cd0ff00190001ff000f
+3330ff00209999ff00254cd0ff004fb334ffffbc4cc8ff0037e666ffffc26668ff00
+1cccccfffff51998ff0005199afffff6e668ff00043334fffff44cccff00034cccff
+00178000ff003bb3347dff007dccccfb08ff0036333208fffff78000ffffdd4cce15
+ff00234cccffffef8000ff001cccd0ffffda4cceff000c1998ffffdc8000ff0009b3
+34ffffe33332fffff5e664ffffd78000fffff34cd0ffffe4cccefffffde664fffffb
+8000fffffdccccfffffb6666fffffd6668fffffccccc57ff00046666ffffc4ccccff
+0005999affffd3999cff0014ccceffffb04cccff00254cccfffff71998ff002f3334
+ff0018999cff00348000ff00144cccff002b8000ff004a4cccff00136664ff0044cc
+ccffffdfccce080ef8e868aeaef70380b29fade4f7023cf71bdcd512f766f70e94e7
+f73bb3f7a3c2f71ebd13bbf0f9946815f7148bcef7008ecb9889958b968bcf8be1a1
+8be38baf86a978ab78ac57be768b086c7d626c679a899fbca670634d4f7d5a1f818b
+828c828d8bf73120db63a40813d7f062a5459d488b598b488459846d867389808b08
+68609cadae9f9ba51f978b9888988676bf64a9638b4f8b5d568b5a8b60a551d77736
+6856574a3ebf77cb7cb98b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997879974797f736d8b718b7aa28b9e8ba7a4b0afaaaba7c6afe58bd58bba7b
+a08008ac7ac26392407b9132ac4a8b082266435b1f26f70661c11e93ae153e50bcbb
+c5a7b2e31fbd8bc377bc79087d078b6d83627675716f6276648b080ef785e2b2f2b2
+f1b301f9e8f82e15fc258b8263f8268b05452515fd068b8364f9068b05a52415fc25
+8b8264f8268b050ef785e2b2f2b2f1b301f711f82e158363f8258b94b305fc14fb22
+158364f9068b93b205fd54fb22158264f8268b93b2050e1c06f4f75af540b3749112
+faf8f70013501c076ff7a115fb80061330f8fd0a1350f8fe0a1330f8ff0a13501cfb
+3416fb80061330f8fd0a1350f8fe0a1330f8ff0a1390f893ae153a0a0e1c0f14f75a
+f53dba7092121c087bf70013501c0e39f7a515fc6b061330fb238bfc7c77fb2a8b08
+84071350f71c8bf89677f7178b08f86b061330ee8bf88a9ff7488b089207fb5b8cfc
+6f9e208b0813501cf6ab16fc6b061330fb228bfc7d77fb2a8b0884071350f71d8bf8
+9577f7178b08f86b061330ef8bf88a9ff7478b089207fb5b8cfc6f9e208b081390fa
+69aa153a0a0e1c164ffb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c08cc1
+74c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a18bf7
+d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78be2e6
+f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d1ffb
+ed8bfb9920fbb08bfb768bfb81f705fbd18bfbbc8bfb022ffbe48bfbc18bfb3ae1fb
+bc8b081380a0fbe18bfbd625fbc68bfb318b3ad2fbda8bfb9d8b6844fc618bfc208b
+fb44f70b718b087d7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e8bf7
+7a8bf87ad8c58b08138400f78e8bf75645f7b78bf7858bf7a3d6f72f8b08139000f7
+6f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31e7fb
+7f8b08138500fb378bfb9e40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb8c43
+fbdc8b08138200fb8d8bfb44bafb928bfb818bfb164efbb78b087c7f7f7c7c977f9a
+1ff7ba8bf714c9f77d8b08f90dfbc615fb578bfbc0a87d8b7d8b7e7f8b7d8b7d957f
+9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f8108b08
+13c000f7a48bf71fd2f77f8bf71c8bc27abf678f889189908b9a8b97988b998b9487
+93839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb4e8b
+fb9029fc0e8b080ec2fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f713
+15f9000a13baf9010a13dc688282611e6d06878788861f8b788d89058bf7078d971e
+13bcf9020a0ef9defb67c296a9729cf714a3c49c84a879a089a86fb293c4f71ca96e
+a0b477f6a3c49b7eaf78a7b2c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55e
+b86abab7b8a7b8bbbba2b796b890b8f70ebb1390ccf207f0f869f71315f9000a1390
+ccf107f0f9010a13914c7207f0688282611e6d06878788861f13924c7207f08b7805
+13914c7207f08d890513924c7207f08bf7078d971e1390ccf207f0f9020af959e815
+13924c7007f095d4b890988b08a1a87d53868888851fbbfb021513d24c7007f07674
+76806a8b608b60ba8bc88b908b8f8c8e08f7320691908f92bd78c93c524f54304aad
+4dde1fb68baea2a2aa08fbd7851513b44c7007f07a8582771e8206888a89881f8b80
+8c8a058bb18ca0a2b48a8b1e8d8c8b96058e888d891e7f067785949c1ff71307c180
+b4551e6c8b6e83655e08898b8dc0828b05868b878a84870813b84c7007f079827987
+7187088f7b05958d928c938b089390866b1ffb2a077a8582771e8006888989881f8b
+808c8a058bb48ca0a3b18a8b1e8c8c8b96058e898d881e83067785949c1ff7280713
+b44c7007f0aaaea195a68b08aa9378601f13904c7027f0fbf5f73c157c987e9b9b98
+989a9b7e987b1e7b7e7e7b1f13944c7017f0c5fbbf15f7728207868b878985880813
+b84c7017f07a8383886585088e7a05968d928c928b089490866b1ffb29077a858277
+1e8006888989881f8b7f8c8a058bb48ca0a3b48a8b1e8c8c8b97058e898d881e8006
+7785949c1ff7f2f8941513905d7007f07a8682771e7f06888a89881f8b7f8c8a058b
+b38ca1a2ba8a8b1e8d8c8b97058e888d891e79067785949c1ff719078b938f938e90
+9aa09896928b8f8b8f898f8790859287978b089b95949a9b8297721f6f8b716c7b74
+088a8b8cc1828b05878b868985887983858865850813904e7007f08e7a0513905d70
+07f0958d928c938b08948f856c1ffb88741595d4b790998b08a1a77d53858989851f
+bbfb031513906c7007f0767576806a8b5f8b61ba8bc80897f73207928f8f91be78c9
+3d524f54304aad4dde1fb58bafa1a2aa0813905c704ff0fc4a7f15f74907a3a4aa8c
+918b08b0aa5f4e466e57521f798b7e8f7f9a08f816047e067f858289808981897587
+828b0813905c7087f08c7c05898c8a8d1e9e8d0513905c704ff0979182691ffbc007
+8b738b81897d089888059091939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b
+748076750813904c7807f0fb62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13
+904e7407f0c4fbc015f772820713904e7207f0878b868985887a8384886585088e7b
+05958d928b938b0813904e7407f09390876b1ffb2a077a8682771e7f06888a89881f
+8b808c8a058bb38ca1a2b48a8b1e8c8c8b96058e898d881e80067785949c1f0efb00
+9476f81ac801f83ac903f752f7b015a4fba4058c7d9081978b968b9495979b08f730
+f77005c0d695b68ba708ae76a37178797d761e8b69a1808b708b74806b78710832fb
+116d658abe7bf74c0588ac8ab6859d869884947c8b628b4f726a2c91839685958b9e
+afa4b0978b9b8bfffffecccdfffff03334ff00073333ffffb1cccc080ef7069476f8
+1bc701f919c703f750f7b015a0fba3058c7e967f938b958b9793969d08f722f78bc7
+fb90058d7f9382948b958b9793949908f718f77205b5d29cbd8ba708ad76a36e767c
+7f751e8b67a57c8b758b7c856e75640825fb3e82bd5df7550589988197778b838b82
+8084800820fb50726089b97bf74b05fffffce666ff0022e666ffffff199aff002919
+9a859d869884947c8b628b4f726a2c91839685958b9eafa4b1978b9b8bffffffe666
+ffffef199aff0006199affffb1e666080e35ffff1c8000cdff02218000bf01f84dcf
+03f75cf7f915879d79947e8bffffeb80008bffffe98000fffff0cccc858bfffff8b3
+338bfffff9999aff000b33348b928b91ff0001b333919091afa0b695ae8ba48b9679
+995608a4249439912e088f8af0f74105a0af8d9c8b9c8bff0015cccc75ff000d3334
+8bae08a19c9da0a4a673681e8b6f7d675f4108fb52fbcc05ffffc26666ffff9ae666
+ffffb6199affffc7999a578b087a6093ab9b94a8bb1f938b9387928591869287958b
+998bff00378000ff00208000b4ce08acc1057af72382d569f728080e329476f805dd
+01f853ff0048666803ff0130999ad715950a0e2b81aef8baae01f7fcf8d3159b8b9a
+859480ff0005999afffffa1998ff0004e666fffff7999cff0003e666fffff4e66408
+ffff1acccdfffe80999c05ff0000b332ff002ee66693ff0032b333ff0007199aff00
+243333bbf78acfb9b68b08ff003f6666ffffa5800015ff0002e666ffffd8999affff
+fc3334ffffca3332fffff28000ffffbab334792f7c4c745866395a827a8bffffdc33
+338bffffee4ccdff001bb333fffff8cccdff0026cccd08f7a8ff01cf800015ff0029
+b334d16e99ffffdd8000ffffc64ccc05ffffed199aff0011199cffffe6b332ff000b
+9998ffffdfb3348b2c8bfb06fb0a65fb5affffee999affffa74ccdff0005333337ff
+001a4ccdffffc6999908ffffcae666ffffa7199aa97cff002a8000ff0047666605a1
+ffffe46667ff001dcccdfffff23333ff0024b3338bd58bf713d9b9f77f9eee85e06c
+c5fffffe4cccff0003666889ff00034ccc89ff00034ccc080e2b81aef8baae01f7fc
+f8d3152c0afb0afcdd152d0a0efb5a89ac01e0f7b403f7a8f70e152e0a0efb198bcc
+f892ae01f722f868152f0a0efb1381aef7b3abf77bae01f723d403f7d6f8d315300a
+0efb0389acf721ba01f801f88f15310aecfbb415320a0efb1f80aef7d1bdf722ce4e
+d31213e0f7e9f75115792c4d45518b678b84a4809f829c7d9a778b798b757a877783
+62d669c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682788408bef73b05ae87
+a986b98b0813d0a88bac8db38f08a7cf858f0513e053855786588b678b698d6a8e08
+32fbb405c29fb08fae8b08c98bb46076fb01080efb0680aef7c6ae01ff00c8e666ff
+0133333415330aff000fcccdff0024666615ff002b9998ff005accccff0050b334ff
+0064e666f71dff0031b3348d978a948490246d4761494a41435b307c3c64fb5ff263
+d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cccc8bffffd93334fffff83334
+ffffe0b333fffff26666080efb399376f8b8cc01f7a6f8ab15340a0efb0981aef8ba
+ae01f7e9f8d315350af71c3115360afb8efc6015370a0efb0f9476f78aaef7c6ae01
+ff017e199aff0123cccc15380afffff06666ffffdc000115390a0ec181aef760b8c4
+b7f75cae12ff00ad199aff0058b332ffffac3334ff00566666ff0170999aab13f6e4
+f7df15ff0065800006fffffc4ccd7efffffccccdfffff2b334fffffd6666fffff24c
+ccfffffee666fffffa4ccc8afffffa4cceffffff199afffffa6666082b8b6a5e0513
+faff007c199a06fffff86666ffff753333ff0043999affff9bcccdff00a0e6668bc0
+8bcb95aa90a6baa0bc9fc48590838f7d8b67465d42218bffffa9b3348bffffd23332
+ebffffffe666f70008ff00bc33348ba9b80513f6ffff28666606ff0001333495ff00
+01800095ff0001e66695ff0001ccccff00094ccc8d94ff00023334ff0008b33408f7
+828ba9b7fb938b05ff0034199aff00959998ff0068999aff00326668ff003c4ccc8b
+db8bb14995309888958d949291c18fbe8ac26292669e2c8bffff8733348bffff8933
+32ffffa49998ffffc7cccdffff70666808ffffaccccd060e5c89acf2b4ceb5f7b7a7
+01f7d2f70e15ff00024ccc97ff0076b3348b05968b998f8d95088fa0058c8f888d86
+8b08ffff7966668bff000d199aceff007680008b05968b998f8d95088fa1058c8f88
+8d868b08ffff8433348bff00acccccf77b05a9b4999eaf8b958b8a8f8c8f088f9d8a
+8d057689648a838b7e8b528d848c0889898778058a888b87908b0899069e8b928589
+8189838580817e08fb36fb6735f7670587958a988d938d9693909b8b089806908b8e
+908c8f088e9d8a8d057c89498a858b7e8b488c808d088a898778058a8592898e8ba4
+8b97729a6708e1fb68917afb098b05798b847e898308887c058a868c8a8f8b08ff00
+8866668bfffff2e66748ffff89b3338b05798b847e898308887e058a868c898f8b08
+ff00884ccd8bfffffdb3337f057b387a864788848586769085ba8ca88cbc8bbb8ba6
+8abb8a92918fa08691488e7c909bde080efbc6fb40b8f979ac01f7d2f89f159cde9c
+90c38e92918fa087915d8a758a5f8b598b6a8c5d8c848587768f85d5889a867a3808
+31fc4e0566fb48566f6c8b7e8b8093869585988ba06e8b7e8b6a7687758467b9799f
+8bb58ba993b8ae08bbb0ccbfa8f723080efbad78a8f764ab01bdbff71ca903f1d815
+f8c00a579915f8be0a0e5e81b3f805b301f7e4f82315e78ba43a782875fb04513e31
+8b3b8b65dea0f59ff1c7d9e48b0893b315fb1f8b282075fb0574fb0ac6fb03f71c8b
+f71c8bf1f4a3f710a2f70b59f0fb278b080efb8289acf7e6aab57701c8f78c03f73d
+f70e157b387a864788848586769085ba8ca88cbb8bb98ba28abb8a929190a0869148
+8e7c909bde08b1f75b0597c798be8b8b8d93868d828b597b618337798a7f8d819082
+a78ea58ea08b9a8b8d808157080efb0c8bc2f7e8b701f7b9c215f9030a0efb19fb49
+aef7b3abf77bae01f5d503f7b2f82815f9040a0e26fb42acf721baf81b7701f7d9f7
+e31553fbb4fb4c8b05ccdde5f704e0e908ebfbb4153c8bc3f7b80595bd93b28e9308
+8a8d6c8b05848b848587863f3dfb23fb38fb08fb23087c8c70a81ef7588b792f0582
+5d668b6188848587769085aa8cb28cb78bb18bae8aaa8a92918fa086915d8f778994
+ba089de7cd8b05988b9e9e8d978d958891808b080efb2ffb4baef7d1bdf722ce4ed3
+1213e0f7ad9c15f9050a13d0f9060a13e0f9070a0efb0180aef7c6ae01ff00bfcccd
+ff0132800015f9080a9bff0024cccc15f9090a0efb22f800cc9677121380f777f800
+15f90a0a13407e97051380f90b0a1340f90c0a0efb0581aef8baae01f7e5f8d31535
+0af71c3115f90d0afb8efc6015370a0efb05caaef7c6ae01ff0150199aff0078cccd
+15f90e0afffff03332ffffdb800015f90f0a0ef589a8f76ab5f80b77cbe501f7e5e8
+ece703f7e6f97f15c50af7528c15c40afb71fc65153d0afbcdfb6015b30a0ef681ad
+f8ecadb2e501ff00576666ff005ae666ff009ab334e8ece7ff00024ccce403f7e2f9
+7a15c50af7528c15c40a33fb0b15580af79bfbbb15590a0ed481b4f8dfa8bde501ff
+007bcccdff004ecccdff008f6666e8ece703f7eff97a15c50af7528c15c40afb7bfd
+8515660a0ef796fb82ac92acf8bfb29277f77eac7aac12f972ff00568000ffffb880
+00e513e2f90cf81a159e8bff002819988bff000fe668fffffd8000ff00106668ffff
+fd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666ff00008000fffff366
+66fffffa8000ffffe3b334086ffb2505ffffec9998ffff9b8000fffffab3344fffff
+edb334ffffb8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08ff
+fff2ccccfffff03334fffff6199affffeae6666bb17bb71fff0030b3348bff002880
+00ff001c199aff001f3334ff0030e666ff0030ccccff004c6666ff001d1998ff007f
+3334ff0018b334ff0095666608ff000e4cccff0056333405ff00066668ff00269998
+ff000accccb28bff0011199a0813d17f0a13e5718b4884498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813eaffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666fffff4e666ffffee999affffeb6666fffff2b3337c8b
+fffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff76668ff000d
+cccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9b333ff00
+186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007ccceff0011
+e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff00f66666
+088e9c05ffffea3334ff00bc800015ffffe9b332ffffd59998fffff06666ffffcce6
+68fffff4b3345308558b858bfb0a8b99cb05ff001eb334ff008c4cccff00444cccff
+0010b334a38bff0024199a8bff00103332ffffe9b334ff000e8000ffffea199892ff
+fff56668ff00073334fffff61998ff00093334fffff93334080ea2fb82ac94aff8ba
+b29277f78eac12f872ff00568000ffffb88000e513dcf86df7d5156ffb2505ffffec
+999affff9b8000fffffab3324fffffedb334ffffb8800075356979798bffffe4cccc
+8bff00058000b6ffffceb3348b08fffff2cccdfffff03333fffff6199affffeae666
+6bb17bb71fff0030b3348bff00288000ff001c199aff001f3332ff0030e666ff0030
+ccceff004c6666ff001d1998ff007f3334ff0018b334ff0095666608ff000e4cccff
+0056333405ff00066668ff00269998ff000accccb28bff0011199a8bff000db334ff
+fff8b334ff00076666fffff2cccc8b0813ea718b4884498b08fb01068e9995e5b2d0
+adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effff
+c8cccc8bffffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668
+ffffe0e666ffffafb33478ffffa21998084f880579ffffff199a82fffff7e6668983
+8a88887f8b8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a6667
+60ffffbd6666fffff4e667ffffee999affffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0028199a8bff000fe666fffffd80000813dcff00106666fffffd66
+66ff000a999afffffcccce8bfffff54ccc088bfffff6e666ff00008000fffff36666
+fffffa8000ffffe3b334080ef780fb82acf757bfff00c34ccdff0022b333ebd25ab2
+f780ac1213f4f895f8d315ffff8eccccfc8b05fffffb8000ffffebe666fffff7ccce
+ffffe7199a8bfffff633338bffffef4ccdff0009199afffff58000ff001fcccc8bb1
+8b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766688bff00
+0799988b92fffff8b33390829d6b96ffffcd3333ff00146668ffffd2cccdff002099
+9843a46cb48bad8baeaaabc384938790808b08776e7678808bffffece6688bfffff9
+8000ff0011999afffff59998ff001466666fc27eb27da7fffff04cccff001f6666ff
+fff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b0899ab9eaa
+a77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08d3f7cb05
+9acc95b38b8b8b92888e828bffffece668fffff8e668ffffee1998fffff81998ffff
+e480007cffffef80009affffce999a9affffdd66668b528bffffd46666ffffef9998
+ffffdb8000ffffe266680813ecffffc96667ffffd3b334ffffde666640fffff14ccd
+ffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd0677fb06804f
+81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee99
+9affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff89999ff000bb3
+33fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ffffe46666ff
+fff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666
+ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff
+0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d
+861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666a8ff001a99
+9aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff36668ff000d19
+9afffff0199808ff000e6666ffffee9998ff0010199affffe46668ff00008000ffff
+ef8000080ebdfb82acf757c7f7e8b2f784a801f82ada03ff004e999afb4315fffff4
+e668ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff00074c
+cdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea
+00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb4
+8bb79faab6ff001b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104c
+cdff0050e667ff000ecccdff0053e666088e9cf7688b4efba405fffff8b334ffffdf
+999afffff94cccffffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9
+889884917f8b5d5779817b8b888b818d8b97088b94ff00036666ff0014199aff0007
+999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff0012
+b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff000199985efffff6666866
+087e59fb6a8b96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff00
+1bb334ff00118000ff00084cccff000c80008bff000e80008bff00128000868e7bff
+0003e66676ff0008199a71ab8b08a1999c9db15ba34f1fffffeae6668bffffe0199a
+80777bffffdfb334ffffe61998ffffd64cccffffd9666865ffff4e80000849880579
+ffffff333483fffff7cccc89838a88887f8b8908898d8b8e1edf0673fb06fffffb99
+9affffc4199afffff36666ffffb4e6667b2cffffef4ccdffff5c6666ffffdb4ccdff
+ffc6999a080ef7a781c650bfff00c34ccdff0022b333ebd26caaf760a8a57712dedd
+f751d0137780ff01b6ccccd315fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff0009199afffff58000ff001fcccc8bb18b8bb8ff0007e668b008ff002419
+98f73605938e92ff00004ccdff000766688bff000799988b92fffff8b33390829d6b
+96ffffcd3333ff00146668ffffd2cccdff0020999843a46cb48bad8baeaaabc38493
+8790808b08776e7678808bffffece6688bfffff98000ff0011999afffff59998ff00
+1466666fc27eb27da7fffff04cccff001f6666fffff9b334ff000d999a6a94088b8f
+bfb905bcb7a69d9f8ba58b877dad8b0899ab9eaaa77592701f6b8b4e65434b0863ff
+ffddb334057afffff14ccc767b768b08d3f7cb059acc95b38b8b8b92888e828b7081
+437e628808887305888c898f1eaa8905989385751f8b80897a86750813af80fbe8fc
+d115f7010a0ef7c281c6f7dec76caaf760a8a57712deddf751d0f7a1dd7ada13de80
+ff0207e668d315ff00261998f73a05caddccc6af8ba08b99858b6c8b7d8978836908
+65fb340513df00f9100a13de8093ae90a28b9d8bc7709f648bffffcc33348bffffcb
+4cccffffeb3334ffffa4ccccffff954ccc08ff003cb334ff010f800005ff000e8000
+ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62880888730588
+8c898f1eaa8905989385751f8b80fffffde668ffffeeccccfffffb1998ffffea3334
+08ffff92ccccfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff
+0009199afffff58000ff001fcccc8b08b18b8ab7ff0008e668b108fffec919983915
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c66660813be00f729d1e3d899a7866a1e8b8589838886fffffd66
+66fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4
+ffff9380001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccff
+ffcbccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00
+178000ffffdf199aff0014999affffe3199aff0022ccccffffece666ff0028999a8b
+080eb881c3f7ecb201f4daf767d803f8bef8411595b8058f9d94a98b978b9c83956b
+8b678b8d5f8165087e59fb6f8b95b805ff0004199aff0011ccccff0008e666ff001e
+33348b978b9c83956b8b678b8d5f8165087e59568805788a848389838a88887f8b89
+08898e8b8e1ed18b47fbc105887c89818b7f8b60a278b08bb68bc4a9b0bbfffffc99
+9aff0008b333fffffae666ff0006e667fffff78000ff0003666670756878778b7b8b
+88ff000de6668bff0011199a088b998fa091a308c6f792f76e8b4cfba605846b856e
+8b788b67a381a48bb48bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b
+9490a392ab08c9f79ded8b05979094a58093080ef71981c6f7e9b2f785a701deddff
+0075ccccff00238000ff0023b334d0d2da03f8ecf8a015ffffff8000fffffde668ff
+ffffb334fffffe3330ffffffccccfffffe4cd0fffffd4cccfffff36664fffffe199c
+fffff2199afffffc9998fffff3199a087e59568805788a848389838a88887f8b8908
+898e8b8e1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b
+679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b81
+8d8b97088b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b0597
+9094a5809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b9708
+ff00004ccc07ff000e9998ff0065b334ffffd1b334c9ffff87cccc8bffff8c33348b
+ffff838000ffffb419988bffff87199c8b7291ffffed3332ff000fccceffffed6666
+ffffd7ccccfffffd6668ffffc3e667ffffe64cccffffd8cccd61ffffcf4cccffffcb
+ccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff001780
+00ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8bd3
+8bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffffed
+1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff00
+1366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666fffffb
+b334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff001d800089ff0027
+b334ffffd03334ff0011b332ffffd73332ff0019999afffff1e666ff001666668bff
+002500028bff00733330f71bff0027e668ff003566688bf28bff000acccc52ffffeb
+800032080ef71d82b464bcf755b2f720a9121370f89ab5153f8b5dd2a4f608909af7
+b68b05a1eb83f705fb1d8b528b5772595e75ce408e728b398b335d7d5187778d72ab
+8ba48b9e9c8e9b0890a2828091a592aabd9cb28ba08b9e81977ca06f7e518572082b
+7405fb0271465e783b0813b07b47b35eda8bae8bb493ab9f081370b1a205a69e8f8c
+92909574ae58f18be28bc7c5adae087c95055f655c7b558b08f714f77c15fb64069f
+c4c0dad48bb08bbc6e732008fbbc711564fb3e0513b05e6c6a7c738b3e8b89bb91a8
+98c3afb8f739b1080ef911fb78c8bfb7c8c7f7ddc7f74dad01ff00576666ff005ae6
+66f84be4ff005ab334daf736d903f8a2fb0e15fb17bc318d708bfffff5cccc8bffff
+f63334ffffff4ccdfffff6999afffffeb333ff00038000ff00026666ff00036666ff
+00024ccdff00038000ff00024ccdff002c4cccff001d8000b9a0ff00224cceff0009
+6666ff009eb332ff0017cccdff00798000ff0082cccdff00233334ff00b4800090ff
+0019ccccff00024cccff0018b3348bff0017666608ff009c0002ffff96ccccff0063
+1998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ff
+ffe6ccce8bffffe833328bffff766667ff00524ccdffffa7b333ff00790001fffff0
+199affffedb332fffff6ccccffffede667fffff54ccdffffeeb333fffff44ccd5969
+5a66686308af7405ff000b4ccdff000d3333ff000be666ff000cb333ff000c3333ff
+000c199aff00158000ff000f3333ff00153334ff0004cccdff0008e6668bcb8bc77a
+ef5bca6cd87ad98bec8bf1b2d1c6087f9d0546663d795d8b448b539b3ca808f925f8
+6e15ff00039998ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f
+8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98
+b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f08
+8b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e898064
+05826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88
+908b97088b9490a191a508fd47f88815580a0ef82481c757a8f7f4c7f73bb2987712
+f9aadd7ada1332f779f91915132a620a1372a8ff00418000a49fc08b08d006ff0027
+66668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c7d6287
+086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffff
+d9199aff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad
+8b08f724069893fffff74cccfffff4b3341f8bffffec4cccfffffde668fffff78000
+fffffb1998ffffea333408ffff99ccccfc6405fffffb333477fffff81998728bffff
+f633330813b2ffffef4ccdff0009199cfffff58000ff001fcccc1eb18b8ab7ff0008
+e668b108ff00261998f73a05caddccc6af8ba08b99858b6c8b7d897883690865fb34
+0513b4f9100a133293ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4ccccffff954ccc08ff0035b334ff00f4800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437b628b080e4bfb88aef759aaf7
+17a1f77dc001f726fb65158b8a8a891f8a85887a90829b8bf797c8b9f7689ee765d5
+3b8fd7b6c4d098c598c773a8538b6a8b697ffb127908adf7304e778678057b3f7058
+4681888b8a8a8a8808856d058a888d8a8e8b08ce944dfbb8057c449f6fba8b958b9e
+8f938e088ca3858b057c8b8499a1f108c2f79305b091d294a08bb78b8e61856d7b43
+4e602d5d089575059d90968b9a8bb48bc960742074fb01fb36225a8b080e5f9476f8
+2bbaf760a5a57701f853dd03f842f84e15ffffc2199a8b4dffffca999affffd5199a
+4908ff0056ccccff01756666758d055a7d60816889088b86758a898d8a8d1fca8b88
+7c7f5608fb1afcd68f7fd4a3ff00388000ff00f2e66605ff0045199aff0069999aff
+003be666ff00228000ff001880008bab8b99768b4d8bfb0164fba2fb83fb11089173
+05f7bef70ac3f7a88bf71c8bd07ec6358b080e83fb88a3f764aaf808b2f781aa122c
+bff7c9c2a0d1d5ce65cc13fe806cfb3d158a997c937f8b087a787a717a9766cb1fc8
+8bb8abaac6a0b3b2f728acf72108d3f7dc059ee5c5d4e18bb28ba96c8b608b506171
+6574375882518b718b58b06daf6e0813ff00ae6faf6e8b5a08324671686871a19f1e
+8b938e938b91089884957c8072846b6ba65cd9f4d8ead91e8bec3fbc68a183907599
+8ba88bb8b0abb6a70813fe80b6a8b8ab8bc58bc552b2498b478bfb24735efb638677
+717a6a8b088264c28b57fb89057c457f2e73377130656f6e8b808b79928b928b958d
+8f8e8f088f8e8e8f8b97080ef7537fa77df721f7a1a912c6a8abcdf704d68ba8aea8
+aacdf705d58ba913bd80f7587f15ecdbbce61f8bc651b53eb1689c7aa48ba808b1ac
+afc91e13bb80c4ae56481fa8f7000666aa6996608b318b3d5d8b378b5da270c66908
+13bd80bb6fbb678b5e08535a73591e137d80396ebdd81f6e8a8bfb2205958c998c90
+8b08a28b997dd28b0813b9c0f80d16ecdbbce61f8bc651b53eb1699c79a48ba808b1
+adafc91e13b9a0c3ae56481fa9f7000666aa6896608b318b3d5d8b378b5da370c669
+0813b9c0ba6fbc678b5e085359735a1e1379c0386fbdd81f6e8a8afb2205958c998c
+908b08a38b987dd28b080ef81681aff8eaad12cba9ff002fcccdff00483333ff009d
+e666ff0053e666fffffe3334aabea9ff002fccccff00483334ff009de668ff0053e6
+64fffffe3334aa13fb00f881f90615600a13f700610af86c16589391a3328b378bfb
+01527621fffffdccccfffff44ccc8a808bfffff5999a8bffffa76666ff004d4cccff
+ffd0b334ff0045e668680813f380b974ff0024e668ffffe033338bffffc3e6678bff
+fff4e666fffffeb330fffff3b333fffffd6668fffff24ccd7b3a5a6b428b368b59b5
+8aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff000d66
+66ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c800048
+aaffffdee668ff000f4cccffffb71998ff00294cce8bff0044e666088bff00068000
+ff00009998ff0006ccccff00016668ff0007333497c8bfb4ca8b0813f340610a0ef7
+297dd2f7b6ba83be72b2f74aaf12ceccf78ea195d83ebfa4b6f739cf13df20d1f745
+1589808a808b808b31cd47e68bf7338bf748f723c1f77899839d899d8ba38bc9a898
+d68c8f8b8e8b8d089f7d947c1e798b7b7f86720885078b7c937b8b800888078a8687
+89838b6f8b5ec43f8b3c8b625a82538a858a868b868b709c839b8b9d8ba19f8e9f08
+8c8e8b8e8b8e08139ee08ba3728a8ba18b8d8b8d8c8d8d9799909c8bb68ba477a077
+6ffb1826fb4bfb548b548b6aa177a808f7e6f859059a9f9eaa8d96089307a07c9c6b
+4e5f634b1ea18d058db0a0a8ab8b9d8b997e8b7c8b8a8b898a8a887b807b7c770834
+fb090513af20848e828d858b082c8bfb2d4769fb5408d95b157fa687a98ba18b968b
+948d9197d0cbdece8ba18b987e937d080e6189a8f728a8f7a27701f754f73815f911
+0af795f72515f9120a0e3c8aa3f76fa4f73ea412f82cdb44d313e8f799f82f1590a3
+8d8dcb8bb28bb9818b578b848a8389827e4f64734a8b084806867215ce0613f0dab0
+69591f8b838a828982815f684afb0a8b5b8b81928b988b908c908c9108fb2c661586
+74ef8d05a38bbb89c38bf7308bc5cb98c98e968c968b958bbc6eaf4a9ab79db3b193
+b20813e88c938d938b938bb66eb6fb0e8b708b5189718b738b628c688c088773058a
+898c898f8b08a306a594857d1f8b878a878a860843fbe805857280836c8b08740687
+8b89888a88080e487fadf83ba801dadbf7e1a503f7a77f15f9130a0e818aa7f82ba7
+01f889da03ada015f9140af72ebd15f9150a0e238ba7f75eabf740a701f7eaa5eba5
+03f889f86215f9160a0efb108aa8f75eabf73fa701f7eba5e9a603f798f82e158f9c
+96919e8b08f70106bb9756671f8b87a68d058db18db293b508fb618b458a2a8d888a
+8775058a8a8b87908b08a306a594847e1f8b878a888a860842fbeb0587777e806b8b
+087706878b88888a880886768d89058bd48da6aadb898b1e8c8d90a0058c8e888e87
+8b0877067180919a1f8b8e8b8e8c8f08aff73fe48b05a49280771f7507888c88901e
+9c8b8e8e058da28c9f90a490a395a792a2088d8b8c891e7a06878b89898a87088176
+05827782806f8b0833060e757fa6f746a5f778a601d9def7eea603f840f73615f917
+0a0ea88aa8f75dabf741a701f842c61586777e806b8b087606878988881f86768c89
+058bd48da7a9db898b1e8c8d90a0058e898e881e76067180919a1f8b8e8b8e8c8f08
+d4f7ec058f9f9896ab8b08a0068f8b8d8d8c8f088f9f8a8d058b36896f6d488d8b1e
+89898777058a878d898f8b089f06a597847c1f8b888a888a88086efb22fb888ba9f7
+2205909f9896ab8b089f068f8b8e8d8c8f088f9f8a8d058b368a706c478c8b1e8989
+8777058a878e898e8b08a006a596847c1f8b898a878b880842fbec0586777e806b8b
+087706878888881f86768c89058bd48da7aada898b1e8c8d90a0058c8e888e888b08
+76067180919a1f8b8e8c8e8c8f08aff73ef7878b050efbb08aa8f82aa801f79af826
+15f9180a0efb9dfb5ca6f8f3a70157ce03affb4115f9190a0e928ba7ff00bbe666ff
+00203334ff00b9e666a701ff00ea199aff00f8199a15ff0020e666ff0099e666058f
+9f9897ab8b0896068f8b8d8d8c8e088fa08a8d058b4c896f6c3c8d8b1e8989877505
+8a888e8a8f8b089f06a596847c1f8b888b888a870843fbe50587787d796b8b087606
+878889871f86768d89058bdf8da7aac4898b1e8d8d90a0058f898d871e8006728196
+9b1f8b8e8b8f8c8e08ff00203333ff0096e66605ff001a4cccffffff6667ff000c66
+66fffffa6666ff000e199affffec4ccd08f0fb1e0591828d848b848b858a878a8508
+887e8d8bc78bdd8b8d8b90a1058c8e878e888b088606768b7c8f7d9f08fb18f74a05
+869288918c918c919594a49f08f70fee05c1b69e8fb28b088f8f8d8e1f90a1888c05
+8b5f8a726f438c8b1e898a867505888d898e989c8a831e8b8687867c7e08fb35fb15
+05ffffe63334ffffebb333fffff06666fffffbe667ffffec8000ffffff8000080efb
+198ba8f829a701f7168c15f91a0a0ee28aa8f82aa701f8b6f812158a8767fbd18b8b
+89738182768b087706878b87898a870886768d89058bcf8da7a9c4898b1e8d8d90a0
+058f868d886c7b8ca81e8b8e8c8f8b8f08b2f7e3058ea48f90bd8b908b8f8d8c9108
+8e9d8a8dfb1289fb67fbf843f7f8fb168d8888877605898d8990ac9a897d1e8b898b
+888a880828fbe4057f637e85648b878b87898a870887768c89058bb58da7aab9898b
+1e8d8d90a0058f878d886d7e8c9c1e8b918d928d9508e6f7c6d7fc08058d868f8990
+8b908b8f8d8f90080ea9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a0e
+827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f91e0a0efb128aa8
+f734a6f76fa701f830d703f79df841159b8fad8c9a8bb88bb07d8b548b80897f887d
+7b3e60674f8b778b6e8c799308fb02fb391587787e7f6b8b087706878b88898a8708
+86768d89058bd48da6aadb898b1e8c8d90a0058c8f888d878b0877067180919a1f8b
+8e8b8f8c8e08a9f720059b83a288a48bf7228bbee797c78d938c948b958bb96fbcfb
+0b8b668b60896f8b6e8b4c8d7f8b08867305898b8990b39c8b781e8b878a888b8608
+0e7cfb2bb6b9af99abf83aab01cfdcf7e0dc03f7eff84e15f91d0af765fb63158f9e
+8d9c8b9c8bf70436d5fb058bfb208bfb0cfb046dfb20877789798b798bffffa26666
+ff0039999affffbfcccdff00591999ffffefcccd08ffffe54ccd77056c8660756e6e
+958795829284a2a8b498978bb58ba176a176a374a473c08bc28bb7a7aaab08799805
+7c7c697c758b5f8b779e779e76a074a0568d08ff00113333ff000e199a05ff000299
+99ffffffe666ff000299998bff0002999a8bf7298bf708f3a9f723080e2883ab72a8
+f754a9f74aa912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bc
+f9210a0efb467fa88e76f851a912caa79ad2f714db81a513bcf831f85415f9220a13
+7cf9230a13bcf9240a13baf9250a0e468aa8f828a901f85ef84415f9260a0e927fa8
+f835a701f70ed503f7a77f15f9270a0e6b9476f852a701f87cf82315fb55fbc553f7
+c88b93059a9594ab1e96068f8e8d8e1f90a1898c058b4389706c4c8d8b1e8a8a8675
+058890898e1eb78b8f778f7608ccfc01058d7a93749e8b9c8b99989ba608f779f7ff
+0599a2989fb78b088e918d8e1f90a08a8d058b5f896f6d4c8d8b1e8989867605888e
+898e1e9406a39685801f8b8689858684080ef7639476f852a701f7817f15a68b969f
+979f08f71af7810592968f918f8b8e8b8c848d7e08aefb7e058d7c8f72a98ba68b9c
+a7929708f76af807059ca8a391a28b8c8b938b8c900890a1898c058b638a726a508c
+8b1e89898776058a898d888f8b08a0069c9186821f87078a868885888508fb4ffbd1
+5af7c7058a938b938c928e9893949a8b08a2068e8b8f8c8c8f0890a0898d058b4589
+656c608d8b1e8989867605888e89901ea28b9f868f70088f64058c848b8589848982
+8782878208fb1afb7b59f7d1058a928b918c908d95928f9a8b089c068e8b908c8c90
+088f9f8a8d058b4889636e638d8b1e8889877605888e89911e9506a18b94768e7908
+c4fc04058c81906e9d8b080e7e8aa8f82aa701f745f81e15e4fb280590838e848a85
+8a868684858608fb24fb230578776f7a6f8b088206868b878a8a870887758c89058b
+c88d8e97e3898b1e8d8d90a0058b8e8b8d888c087c067c8b848f8d948c9092949292
+08f70ff70f05909090908f8b8d8b8e888e8508cffb1205918090838a868a85838979
+8b087806898b88898a880886758e89058be58d901e948bd08aa18a088c8d90a0058c
+90878c868b678b848f78ab0833f73305869488928c938d918f92949308f718f71505
+adac9d8fa78b08928c8e8d1f90a1898c057e8a558a888b828b4c8d7a8b0889898675
+058a888e8a8e8b08a306968b8f878a858a868584818108fb0cfb0a0585858788898b
+888b898e8891084af70405869484978b91088f8e929b1ea9068f8b8d8d8c8e088fa0
+058a898d8b1f738a388a868b838b568c788c0886898775058a88908a8f8ba78b9288
+a366080e348aa8f82aa701f76bc615f9280a0e308baef81aae01f781f83d15f9290a
+0efb78f76dc101d5f7a403f7ccf76d15988b9da48e97089007928890821efb78067f
+8b7a76897b8a8a8b898b8a08848f85931e0e6189a8f728a8f7a27701f848f93415ce
+0afffedf999afc1215f9110af795f72515f9120a0e6189a8f728a8f7a27701f854f9
+2e15ec0afb94fc8a15f9110af795f72515f9120a0e6189a8f728a8f7a277f7597701
+ff01a3e666f91f155906ffffd9999a5dffffd14ccc60ffffd3e6676308ff00111999
+7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33267ff001be66872ff00
+2119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba08ffff1c
+199afc7b15f9110af795f72515f9120a0e6189a8f728a8f7a277d4b78fb901ff01b3
+b334f8cf15e30affff0c4cccfc2b15f9110af795f72515f9120a0e6189a8f728a8f7
+a277d2e601f79ae7d0e703f7d0f8fc15a00af7358c15a10afbb1fc5915f9110af795
+f72515f9120a0e6189a8f728a8f7a277b7a6f704a601ff0182e666f91115f7240aff
+ff9d999a5315f7250affff9f8000fc3515f9110af795f72515f9120a0ecf8bad69a6
+f751aaf747ad71a712f89da4efa413b6f87cad1547067d828f971f8b8e8c8d8b8f08
+b0f730c48b05a48b91818a76088a7505898c88901e9c8b8d8d058ea38d9f91a490a3
+95a793a2088d8b8c891e7b06878b89898987088176058277827f718b08518baff730
+058f9c95919d8b08cf06c88b91568c6608a48f058eb18db294b608fb7a06136e4232
+8d8b1f88888676058a8b88919e9487821e8b8a8b8a8a898a858988878508fb7ffbe5
+05817d7473718b878b88888a880886768d8a058bad8c9e9dd98a8b1e8c8c90a0058c
+8e898e888b088106778090951f8b8c8b8c8c8c8c8f8d908e9008ebf7240591939090
+9f8b08f7058b67fb31058677807f6d8b087b06868b8a888a890886758c89058bc58d
+b11ef77a0693ab9cb3a2bc08738e0571596b63518b08fb21f7fb15a0ab968f988b95
+8b90898b7f8b858a848880086afb24288b057d8b868c8c8f8b8c8c8d8c8d080e48fb
+5ca8ff009f6666ff0021999af83ba801dadbff007f8000ff003f3334ff008e4ccca5
+03ff010380002b15ff0012ccccff00083334fffff6999afffff11999ffffe1999aff
+ffe7e666ffffebb333ffffdbcccd1f778bfffff5e6678f7295fffff7999984fffffb
+800084fffffd999a7fff0016cccd80ff000fb33385ab8b08ff003c4ccdff003f199a
+ff0020e666c1ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc
+8afffff7999a8908ff0020199aff0037b33305ff00443334ff0004b332ff00319998
+ff001d3334ff0036b334ff00396666087b9b0551556377498b2c8b69d18bd98ba08e
+a18fa0aff73cebb6d78bd98bb35c8b48088b85a58e058eb48eb594b8088306688b61
+9d408bfb188bfb12236cfb26887a897b8b7b8bffffa1999aff003b666635ff007a66
+66fffff9cccc08ffffcbb334ffffab999aff0004b3338505ff0010ffff90ff000a4c
+cd8c9e8b080e238ba7f75eabf740a701f7eaa5eba503f809f93e15ce0aff0053999a
+2d15f9160a0e238ba7f75eabf740a701f7eaa5eba503f827f92b15ec0aedfb5d15f9
+160a0e238ba7f75eabf740a7f7507701f7eaa5eba503ff0195e666f91e15ed0aff00
+5f199afb5015f9160a0e238ba7f75eabf740a7cbe612f770e7a9a598e782a513fcf7
+a6f8fd15f7be0af7358c1513fea10acdfb3015fb5c8b4289288d89898775058a8a8b
+88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b087406868b8a
+888a890886758d89ee8dd38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829
+067c818e981f8b8d8c8e8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e
+8e058da28ca090a490a395a692a2088d8b8c891e7a06878b89898a87088176058277
+82806f8b08348babf728058e9c96929e8b08ed0613fdca8b91508e6708a58e058db1
+8cb193b7080efbb08aa8f82aa701adf7c803f794f92d15fffffc33338cfffffa4ccd
+8c868b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff00
+0ce6667c9186918b938bff00083334918c90ff0001666692ff0000800092889508ff
+ffd9999afb1d15f9180a0efbb08aa8f82aa701f7d1f92b15e50a54fb9915f9180a0e
+fbb08aa8f82aa7f7517701ff012de666f91f15e60affffd8199afb8d15f9180a0efb
+b08aa8f82aa7cbe601f702e7d0e703f738f8fd15a00af7358c15a10a4cfb6c15f918
+0a0e818aa7f749b2f74fa701f889da03f7b8f78b15f92a0afb8dfb4f15f92b0a0ea9
+947696a8f82aa7ccb78fb9121378f8ddf81a15f91b0a13b8f91c0afffffab334f8c0
+15b60a0e827fabf83aab01d9dcf7e0dc03f82df93015ce0affff9f999a2715f91d0a
+f765fb6315f91e0a0e827fabf83aab01d9dcf7e0dc03f859f92b15ec0a2bfb7115f9
+1d0af765fb6315f91e0a0e827fabf83aabf7417701d9dcf7e0dc03ff01bce666f91b
+15f7280affffa8199afb6115f91d0af765fb6315f91e0a0e827fabf83aabc0b78fb9
+01d9dcf7e0dc03ff01d0b334f8cf15f7e00affff944cccfb1515f91d0af765fb6315
+f91e0a0e827fabf83aabbee612d9dcece7d0e779dc13f8f7caf8fc15f7be0af7358c
+1513fca10afb06fb431513faf91d0af765fb6315f91e0a0ef7138ba7f75eabf740a6
+01f8cda5eca503f7b3a515258b52d1a8f71eabf72adfbed68bb68ba689856d0842fb
+ec0586748081678b08f84df84715fb5c8b438b4c8c6e8b05fb208bfb0a276efb206c
+fb20e039f71c8b08a78bc98bd48bf7688bb8f707728e0574576b65588b08fb0d067a
+8b818f8f9e08b1f747e28b05a49280771f7507888c88901e9c8b8e8e058da28ca091
+a48fa395a692a2088d8b8c891e7a06888b88898a8708817605827782806f8b08358b
+aaf728058f9c95929e8b08f70506bd8b945b8a6308a58e050e827fabf83aab01d9dc
+f7e0dc03f7f9f84e15ff002d66668bff0025199afffff0999aff00178000ffffe0b3
+3208fffee1199afffec8800005fffff4e666ff0015999a85ff001ae6678bff001fb3
+338ba08ea390a4abf72adec5d68b08f765fb63158f9e8d9c8b9c8bff00334cccffff
+ee3334ff002b4cceffffe1ccccff001fe66608c2ff003b8000719effffcb199affff
+c6800005ffffde3332ff0018b334ffffd48000ff000dccccffffcf33348bfb208bfb
+0cfb046dfb20877789798b798bffffc94ccdff0013b333ffffd34ccdff0022199aff
+ffe1199908ffffc63333ffffc14ccda478ff003a199aff003ee66605ff001ee666ff
+ffed4ccdff0026cccdfffff5cccdff002c33338bf7298bf708f3a9f72308ffffa933
+34ff0082e66615ff0007b332ffffec8000ff0004199affffe8b3348bffffe4e6668b
+758872856f71fb134241318bffffd64ccd8bffffde4ccdff000ce666ffffe8e666ff
+0018999a080e927fa8f835a701f70ed503f830f93015ce0affff4a999afcbe15f927
+0a0e927fa8f835a701f70ed503f87bf92b15ec0afb68fd3715f9270a0e927fa8f835
+a7f74c7701f70ed503ff01cae666f91a15f7280affff48199afd2615f9270a0e927f
+a8f835a7cae601f70ed5dce7d0e703f7dff8fc15a00af7358c15a10afb6dfd0915f9
+270a0e348aa8f82aa701f76bc615f9280af75af86815ec0a0efb038aa8d3a6f76fa6
+c8a701f789f8071591a90591a9998e9c8b08a306918b8c8f8c8c088fa08a8d058b4d
+896667508d8b1e89898776058a888d898f8b08a306a68b8e8485710843fbe8058571
+87856f8a087306868b89888a880886768d8905978bd98d908b988bd789958b088d8d
+8fa0058c8f888d888b087306738c858d91a90895b7059787a08aa88bf7258bcbde97
+c296bf7fdefb2c8b7d8b6e8a6d8a088368159d8fb4919b8bca8bad6a7b417a3b5a6b
+3f8b6c8b788c838e080e348aa8f82aa7cae601f77de7d0e703f76bc615f9280ab4f8
+3315a00af7358c15a10a0e76fb5ca6f740a8f82aa701f754ce03f799f82615f9180a
+e6fb8215f9190a0ef7647fa88e76f851a912caa79ad2f714db81a5bba79ad2f714db
+81a513bd80f831f85415f9220a137d80f9230a13bd80f9240a13bb80f9250af822f7
+0015f92c0a13b9c0f92d0a1379c0f9230a13b9c0f9240a13b9a0f9250a0e7882a877
+a7f768a1f74aa912f795a51378e7d21587787c736d8b087a06878989871f86758c8b
+f7008bde8b8c8b90a1058f898d881e7f066f8b85a090a108b2f74d05a7f71ccfbfe0
+8baa8bbe7e8980877a2f285d5b088c7905908c8e8c908bf7068b8e3485710813b879
+375b74678b5a8b7dac89c50871890587528767877a938b968f918ba28bb07fa38be9
+8bcdd09ad199d06bc6328f888b8a8d8b8d088c8d8c8c8c8d08f726f7368f9b056499
+3a965f8bfb458b422b6dfb20080e818aa7f749b2f74fa701f889da03f7b8f78b15f9
+2a0afb8dfb4f15f92b0a0e6189a8f728a8f7a277c6c401ff010c199aff001d666603
+f754f73815f9110af795f72515f9120affffcd8000f79f15ffffe2999a7f05fffffc
+b33236ff0028ccce59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea3334
+51ffffcb80006b578b558bffffdc8000b0ffffffccccc0080e61fb74b2f74ba8f728
+a8f7a27701f7c9c703f826fb7415ae8bbe9fa2ba087c93057876777c6d8b678b75a6
+8bab8bff002f8000ff002ee666ff00446666ff00473334ff0009199aff000fccccff
+ffff8000ff000c199affffff80008b8b088e8d8fa0058c8e8b8e858b6c8b809484b3
+0850f8090588a27b8d7f8b858b79877e7608fb94fc0f0573677584728b888b88888a
+880886768c89058bb78d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e9095
+1f8b8c8b8d8c8c8b8e8e908e9008d2f40590919290978b08f73a8b9efb08058c878a
+878b88877e7c83728b087a06878888881f86768c89058b8bff002cb334ff0001199a
+ff00221998ff00009999ffffc46668ffffde999affffd8cccc518bffffd0b3338b55
+b26cc18b0873f84015f9120a0e487fadf83ba801dadbf7e1a503f7a77f15f9130af7
+2cf94215ec0a0e487fadf83ba8f74a7701dadbf7e1a503f7a77f15f9130aff004b66
+66f8a115f7160a0e818aa7f82ba7f7567701f889da03ada015f9140af72ebd15f915
+0aff00a36666f84e15f7160a0e23fb74b2f74da7f75eabf740a701f763c7d6a5eba5
+03f7c0fb7415ae8bbe9fa2ba087c93057876767c6e8b086775a6abbec1d6db1f8e06
+93ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e8b8d08b1f747
+e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a395a692a2088d
+8b8c891e7a06878b89898a8708817605827782806f8b08348babf728058e9c96929e
+8b08ed06ca8b91508e6708a58e058db18cb193b708fb5c8b4289288d89898775058a
+8a8b88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b08740686
+8b8a888a890886758d89ee8dd38aff006866668b05ffffc4199affffde999affffd8
+8000ffffc5e6668bffffd080008b55b26cc18b080e238ba7f75eabf740a7f7527701
+f7eaa5eba503f889f86215f9160affff356666ba15f7040a0e757fa6f746a5f778a6
+b2c401d9deff007f199aff001d6666ff00bd8000a603f840f73615f9170affff9180
+00f88615ffffe2999a7f05fffffcb33236ff0028ccce59d18bc68bff0049fffebcff
+001d8000e108ffffe766689705ffffea333451ffffcb80006b578b558bffffdc8000
+b0ffffffccccc0080efb198ba8f829a701f7168c15f91a0af772f93115ffff9c4ccd
+fb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe9999
+84ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff
+4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccc
+cc8a080efb198ba8f829a701f7cef7e1153dffffd73334a2ff006dcccc05909f9897
+ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c488d8b1e89898777058a878e
+898e8b08a006a596847c1f8b888a888b8708ffffdf3333ffff668000ffff97cccdff
+ffc98000966dff0054999ab7ffffe06666fb280585728384698b087506878b88898a
+870886768d8905da8c968c948b08d48af7588bacf70e718e0575536c635b8b082a06
+7d818f981f8b8d8c8e8c8e08ff00298000ff00c5b333ff00628000ff00334ccd050e
+a9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a31f92415ec0a0ea99476
+96a8f82aa7f75277121370f8ddf81a15f91b0a13b0f91c0affff886666f88215f74c
+0a0ebffb36a1f71fa7f82ca601f7a3c003f852a6156afb256d75678b08758a959394
+899f751f7f8b7d8788798265c782a68ba28bac97a49dbfb6a7ce9cde088c8cd1f7dd
+0590a19ba1a98b08a0068e8b8f8d8c8e088fa08a8c058b52896d6f488d8b1e858a87
+76058a8891898f8b089f06ab8b917386770853fb9c887b0589838988888b858b8e9f
+7ca540f712fb17f7528b8b08fb118b88888980058a8790888f8b088f06a48b9c6e8c
+790847fbd80586787c736b8b087606888b84898a87088676918a058bc38ca7a9cf8a
+8b1e8d8c8fa0058c8f888d888b0876066d8b83a090a108bff7880590a38f96918b90
+8b9283947b080e827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f9
+1e0aff00099998f82c15f7260affff7d33349115f7270a0e2883ab72a8f754a9f74a
+a912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bcf9210af76a
+f79f15ec0a0e2883ab72a8f754a9f74aa9f7527712f7d8d797d3133ef82cf7f615f9
+1f0afbbdfbba15137ef9200a13bef9210aff007f6666f515f7040a0efb467fa88e76
+f851a912caa79ad2f714db81a513bcf831f85415f9220a137cf9230a13bcf9240a13
+baf9250a71f7de15ec0a0efb46fb53a4d7aabaa88e76f851a912caa79ad2c1c0a0db
+81a513ef80f7523115a29d7d76706d7d6d1f788b808f709508807505a57f9c86ab8b
+08c8b8a7b5b26da2631f818b838a838908ff00146666bd05e2ff0001e666ff0044e6
+66ff003a6666ff0011b334ff0050b3348d948c938b938bd244ae609a759343a68bbb
+8b8e8b8f8c8f94b6b5abbe8b0813ef40b9bc6b4d1f8b7fa58d97f7008a8b05708b77
+a53b8b458b31627a398a848a848b858b4bd26daf7d0813ef80f92d0a13df80844785
+5f856e9a8d928f988bff000f80008bff00184ccdfffff36666ff00378000fffffc80
+0008ffffdbb333ffffb1199a9284059b91958c9e8b080efb467fa88e76f851a9f745
+7712caa79ad2f714db81a513bef831f85415f9220a137ef9230a13bef9240a13bdf9
+250affff706666f73c15f7040a0e46fb4aa4d7abbba8f828a901f798c2f75ba703f8
+5ef84415b68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc067b
+8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b88
+8a878a870843fbe80587777d806c8b087606878888881f86768d89058b8bff003299
+9aff00016666ff0020e666ff0000800008ffffc88000ffffae199a9085059c8f948d
+9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab
+709a6b1f828b828a838908ff0021b334ff0034e66605ff0023ccccffffff8000ff00
+388000fffffe999a8b8b088d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08d3f7e6058fa39796a78b080e468aa8f754b2f741a901f896a703f848f79715ffff
+a3999a8bff001d6666f71e058fa39796a78b08b406b68b94718f4308a78e058dbb94
+b894b7087306888580857b8b08fbdc067b8b83918a91087206825f815d7a5c08a488
+05afd39ca5b88b08be06a294847c1f8b888a878a8708ffffe26666fb20ffffaa999a
+8b8364ff0055199a8bffffdde666fb350587777d806c8b087606878888881f86768d
+89058bd38da7a9db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08ff00224cccf735ff005cb3348b050e927fa8f835a7baa6f704a601f70ed503f7a7
+7f15f9270aff00903334f92815d50affff9db3325315d60a0e927fa8f835a701f70e
+d503f7a77f15f9270aff01559998f92315f7260affff7d33349115f7270a0e308bae
+f81aae01f781f83d15f9290af734f78d15ec0a0e308baef81aaeb8eb01ff013f3334
+eb03f781f83d15f9290aff00523334f71415f7290a0e308baef81aaef7587701f781
+f83d15f9290aff00536666e315f7040a0efb198ba8f7ea9cb9a79bd301f7168c15f9
+1a0aff0155b334f8b9156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cccaf
+fffff1999cb0658b080e468aa8f828a9f7517701f896a703f85ef84415f9260affff
+a06666d715f7040a0e46fb8ba3daddc8a8f828a901f896a703f85ef84415f9260aff
+ff4fb333fc8215f75a0a0efb46fb8ba3daddbda88e76f851a912caa79ad2f714db81
+a513ce00ff00b1b3334d15f7140aff00eb4ccdf89215f92c0a13ef00f92d0a13df00
+f9230a13ef00f9240a13ee80f9250a0efbb08aa8f82aa7c7eb01f75deb03f79af826
+15f9180a96f88d15b70a0e3f89a8f73fabf75baa12f7ffd24cd513f0f75cf7511592
+94998ba68b08e106a58b93898c810885fb05058b858a858a8686787f816c8b088506
+878b88888a880887768b89058bca8da6a8cb898b1e8c8d90a0058c8e898e878b6d8b
+7c938bb0088b920513e896f7d8058c8e8b8e8b8d8f9b9992af8b8e8b8e8e8c8e0890
+9f8a8d05578a428a608b5f8b6e8c6c8c0887898777058a878d89918ba68a96888b7e
+8b898b898a88846bfb2ffb996c587a6f7980718b878b86868a880887788c89058bc1
+8da6a9ba898b1e8c8d90a0058c8e898e888b087f06778191951f8f078d92bbe9a3b4
+08f71ef784159d9d87641f88fb14058a767b84798b083c0673828d911f8e078b8bc7
+f707a0b397a09797948b080efbb1f7faabf772a412f70dbd7ebcc6c278bb13e0f7b7
+f88a15a40a91fb2415a50a13c8a60a13d4a70a13c88e9ba196ab8b0813e4a80a13c8
+a90a0efba8f7faa5f76caacba101f7dec003f761f93515f92e0aa32c15f92f0a0efb
+b7f7faabb677f759a601f71ac0f71bc103f7bdf91115f9300a0efb9ef7fea484a1f7
+5fa5cba112f71cbf13b8f7bcf83615f9310a63fb4315836a988b051378f9320a13b8
+f9330a0efb92f7fbaab677f4a7cda401ff0092199aff0036e666ff0084ccccff0033
+ccce03ff014a8000f8b615fb0206ff000b6666a8ff00214cceb0aa8bff001366668b
+ff00123332fffff766688bffffe0b3308bfffff8999cfffffee668fffff76664ffff
+fdccccfffff5e66808ffff7e8000ffffa93334158bff00178000ff0007e666ff001e
+3334ff00026667ff0005199808ff00a9ffff06ff00028000ff000e9998ff0001ccce
+ff000e4cd08bff000d666408ff002b6668ffffee199aff00214ccc4affffad7fffff
+ffb5e667ffffa19998ffffa70002ffffc98000ff001e8000ffffd7e666ff00458000
+1eb98baea2ff0021ccccae08ffffef999a9b05ffffe8199a75ffffe74ccc76658bff
+ffec4ccd8bffffdacccdff0012199a8bff0033199a080efbd3f800a2f74aa8f708a4
+01f7f3bc03f739f83315f9340a0efb97f77aa9f0b6bba1f721a17ba712deb58fb37d
+bbf5b168bb13ed00f81ef8ec15f9350a13f500f9360a13ee80f9370a13ed40f9380a
+fb7efb7f15f9390a13e480f93a0af728f744157c4d6f86778b0813f540f93b0a0ef8
+4b0ef84b0ef84b0efb94f800a2f771a1cca101f0f7d503ff00d58000ff01ee666615
+8dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008a74b05937a
+8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a5
+87950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e
+088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a87
+87848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff4199808ff0033
+999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b87
+8a858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b
+1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080e2af800a2f76cad01
+f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b938b8d878b85
+8b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2a4b1
+8a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5
+a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a888a
+89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c
+9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000e666ff0005
+b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba18b99818b6f
+8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3a3af
+8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d
+988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee6666ffffeeb3
+34fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a0897bf7e8b
+05707f75856b87080ef84b0efb92f7fba4f778a401ff0083e666ff003bcccdff008b
+b333ff003db33403ff00f7999af81415ffffdf9999ffffe88000ff0019999aff0031
+199aff00341998ff001ccccdff00653334ff003db334ff001f33329dffffdfe668ff
+ffcf1998ffffb06666ffffd98000ffffbc999affffd2b3341fffff8c4cccff004be6
+6615ffffcae666ff001f4ccdffffd03334ff0043e667ff00573332ff004accceff00
+4eccccff00648000ff0030199cffffebccccff00329998ffffb0ccceffff87e666ff
+ffd64cccffff82199affffcccccc1e0efba2f77da2f700a5f75fa17caa12f7e2c013
+d8f74ef8cf15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a0efb9ff77da2f7
+00a5f76ba501f71cc003f7bcf83615f93c0ab7ca15f93d0a0ef80e0efc00f7faaef7
+65a801f729bd03f785f8ee15f8d70a0efb93f7faae7ea1f762a212f72bbd13b0f788
+f90a15f93e0a1370f93f0a13b0f9400a0efb98f8f4a201f72df7ae03f76df80715f9
+410a0ef80e0ef80e0ef80e0efbbff800a9f764a801f7469f03f768f90b15f9420a0e
+fb82fb82acf8e7b2f784a801f81bdb03ff004e999afb4315fffff4e668ffffee999a
+ffffec8000fffff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff
+00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe4
+6666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff00
+1b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104ccdff0050e667ff
+000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d861ffb028b
+96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff001bb334ff000c
+8000ff00084cccff000c80008bff000e80008bff00028000828f788f769371ab8b08
+a892a294b16aad4f1fffffeae6668bffffe5199a80777bffffdfb334ffffe61998ff
+ffd64cccffffd9666865ffff4e80000849880579ffffff333483fffff7cccc89838a
+88887f8b8908898d8b8e1edf0673fb06fffffb999affffc4199afffff36666ffffb4
+e6667b2cffffef4ccdffff5c6666ffffdb4ccdffffc6999a080ebefb82b086b0f8c3
+b2f779a487a812f92fdb1334ff01ed8000f8ce15ffffff8000064d8bb0e3498b738b
+ffffc0b334ffffeaccccffffde4cccffff703334087c4bf74e8b05ff000e4cccff00
+3d6666ff000dccceff002d6666ff000d6666ff0022333408ff002a800037157e52f7
+028b05908d89888a86768b1f89837c87818b082e8b877a05ffffceb334ffff2e4ccd
+ffffe04cccffff36b3335c3a081364674f62705f8b084680a89f9090a3a81f9c8b93
+809381938093829b8b988b958e9a9aa7a7a1f7039df70aff0009199ac7ff0010b332
+d8ff00073334ae08a2f704fb4e8b877a05ffffcb999affff214ccdffffe16666ffff
+34b3335d350813b46547616c5d8b084580a99f9090a2a81f9c8b9481928193819380
+9c8b988b948e9b9ba7a7a6f7179ff71bff00094ccdca99ff0037e666ff0009b333ff
+002f199a08a2f704448b0588898b8d1f8b8d8e978c8e8d9393979d8b08be0693b2af
+f76bf7458bff001c80008bff003a6666ffffea4cccff00144cce69ff000d1998ff00
+15199cff0018999cff0016e664ff000c1998ff0009b33408136c9f9bff0029e66896
+ff001519988b08c7ac69658284746e1f6b8b83a587a0879e9194748bffffed66688b
+ffffc799986268fb2c080e99997691a86f9ff79bb1f7c4a8121318f847f90515ae8b
+a789a285084cfbbc588b05408b5f9c7aae7ea785ad94b608a4f70ae3a8c88b089ca8
+154c8b4386525d6069716381597e549a5db2659d79c273af873e746a5d6e60081338
+4a295743559308827705139894879d889a8be68bcae1b7d6c4e9b9aee98b085efb67
+051358856c797e638b0871061338878b86888a860887780513588d89058be28db2ae
+e9898b1e8d8d0513388f9e0513588c90898e868b087006628b819b91a708f6f88a05
+91a7929ca58b08928ba88805918b8e8e8c8f088f9d05838d4696fb2c8b080ef7e096
+76f906a901f7e79715f75bf82ccbfc2c058d7d9283998b998b9093929808f7b5f8c8
+059dac9296a88b089f068b8b958b8c93088f9e058b568a6a614d8c8b1e867705888b
+87901eb2069f8b9388887d8a85887f868108fb4afbf6582881e149f801058a988994
+8c918e9a938da08b08a8068f8b8e8d8c900890a1058b468a5b63438c8b1e8676058a
+868d88928b089f06b18b9b798e70089b31fb1ffbb464387cee4df7fe058a9688938d
+928e9894909e8b08b1068e8b8f8d8d92088fa0058b3b8a5865508c8b1e8675058a86
+8d88928b08a006ac8b927e8e6a08ebfcc2058d7c91849a8b998b96949298080eb694
+76f908a801f8f6f8d215fb56fbfd59337ee64af7f8058a948a928d918e9a9792ad8b
+08a606908b8f8e8c91088f9d898d058b328867643e8e8b1e89898779058a858e888f
+8b089706b38b977c8f6e08f2fcc5058d7d9282968b958b9694929908f7c4f8c7059e
+ab9c97ab8b089b06908b8e8e8c90088f9e8a8d058b51886864598e8b1e8889877805
+8a868e88908b089306a88b9b8a87798a8587838580080ecb60a49ca8f7bab4f793a7
+01f812f72915d6fb24b75ef703880899a4055aa34add6dc808fb07f76cf781f75405
+aea6b8adb48b089e06908b8e8e8c90088f9e898c058b478a67643c8c8b1e898a8678
+058a868f888f8b08ab06b78b615b6b7208fb4dfb260574786b7a6c8b08b8f7670591
+a79c9bb48b08a506908b8f8e8c90088f9e898c058b2e8a6764348c8b1e898a877805
+8a868e88908b08a506b38b977d856d0820fc8a05856f7a7b628b087006868b88888a
+860887788d89058be88daeb3e1898b1e8d8d909e058c90878e878b087106638b7f98
+91aa08c0f78e05ae8b977f9277080e988ba7f794b1f7baa57ba71213d0f863f80915
+6c69577a418b08588bcaf7bc05a490a78eaf8bc78ba5709282a46f8d628260088261
+7768716f08fbeafbc115856f7a7b628b087106868b87888a860888788c8a058be98c
+aeb3e18a8b1e8d8c8f9e058c90888e868b087106648b7e9992a908b8f76805ce8ba8
+858e8408cdfb6305cefb66f6a9bc9d088c9f055c8153ae61f71c0848f77005a392a3
+97a69dc2b2acb897c295bd83b46fad64b846904c8b6c8b658b60890813e0608a4885
+7e88088878058a878d88908b08aa8e058d8c8d8b8e8ba58b8b7a856e080efb8afb40
+b8f97da801f7daf89f15ff0010999aff0053e668ff00116666ff00081998c38eff00
+053334ff00046668ff000280009bfffffa4cccff000899985d8affffe9b3348affff
+d44ccc8bffffcdb3338bffffdf4ccd8c5d8cfffffacccdfffffb9998fffffd80007b
+ff0005b333fffff76668ff00384ccdfffffdb334ff0015cccdfffff8b3348bffffd9
+e664088b7ffffffdccccfffff08000fffffc199affffec33340834fc4e05ffffdc4c
+cdffff4a999affffc9b333ffffe566666c8b7e8b809386958598809c6e8b08fffff1
+e666ffffe08000ffffedb33370ffffe0199aff002bcccefffff03333ff0012cccc1f
+b58bad92b8aebbb0ff00404ccdff0032e666ff001cb333ff0091199a080efb04fb76
+b1f7b0b7f777b866cc12d5c66fa6f75fd413eaf73df719156057a27d05a6a1c092a0
+8b9e8b9d87998308fb073505435563548b640855bd75baf717f5f714f51e8bab7eab
+75a408d2bf77a63f520577987b93708b748b6d847682d2dad2e1c6d4a4a99da0959b
+08709a0574717d857b8b768b6d905d980813d67092738e688b688b5e4a7a5008a683
+05a0ba9c9fb98b0813eaaf8bb783a88b9c8b9a8a9789083e3350434b4408f7314415
+91818e818b8008fb012efb024c7f699aa41e8bbea2aae4ce080efb1dfb32abf882b7
+6ac912d3b87fa613d0f7d0b01580383d3b5b8b778b618c8ba28b9f9f958ba5089884
+917b826a82561e8b67ac69cd8cf7088dedf70593e990cd70ca4ba37a917387798708
+f754f776719c0574707d857b8b758b86915d970813a87092738f688b688b5e597a50
+08a68205a0ba9c94b98b0813d0af8bae80a78b9d8b888a97883f33897b434d086b6f
+997205a6a0be8d9e8308b67a955a8352080e59fb7faff761c2f7cdcc12f723d672e1
+13e8f84af7f91558fb87057e7d4d54598b748b738b8bc08b978e998e9b08b2f74205
+ff00073334abff000bccccb48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9
+ab9a958b928b8e868b7f088b82fffffb6666ffffeee666fffffa999affffe6199a08
+66fb4705887b887a8b7c8b599965d48bb28bb999ccc774fb426132348b4d8ba1c059
+8b0880707d7261da83b01faf8bb896b9bcff0039199aff003ccccdff0015e666ff00
+263333b2f74508c2f78f058f9d94a98b978b9c81956b8b08658b8b5f8365080ec9f8
+6aa4f702e801ff00bf999aaff72cafff0099fffeaf03f7acf94e15f8bb0af7509015
+ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd94cccff00334ccc
+fffff64ccc93918e948a95ffffd26666ff000c1998ffffe73334ff0027ccd08bff00
+1666648bff0013999cff000f3332ff000d3330ff001b3334ff0002e668bcff0007b3
+34ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701ef75288
+15ffffc899986a41ffffcfb3341f8bffffc6b334ff002d199cffffd94cccff00334c
+ccfffff64ccc93918e948a95ffffd26668ff000c199affffe73330ff0027ccce8bff
+001666648bff0013999cff000f3334ff000d3330ff001b3334ff0002e668bcff0007
+b334ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701e0eda
+f86ba2f705e601f7a0bbf720bbf720bb031438f75ff91c15f8ba0af75016f9430af7
+5016f9430a0ed3a2abf88aaa01adaaf88baa03f7d1a215a20af8aa04a30a0efb0981
+aef80fae01f7bff82815dc8b974375fb0575fb05663a358b3c8b80dca1f705a2f70a
+bdced08b0891ae15228b253272fb176efb27cd39f7008bf7038becdea7f726a6f71e
+54ddfb0d8b080efb0989acf7e6aab57701f702f79503f777f70e157b387086478884
+8587769085ba8cae8cbf8bb98ba18abb8a929190a08691488e7c909bde08b2f75b05
+97c797be8b8b8d93878d828b597b608337798a7f8d819082a78ea58ea08b9a8b8d80
+8157080efb098bc2f7e8b701f7b8c215f9030a0efb09fb49aef7b3abf77bae01f5d5
+03f7b2f82815f9040a0efb09fb42acf721baf81b7701f7d4f7e31553fbb4fb428b05
+bae0edf701e0e908e2fbb415458bc4f7b80595bd92b28e93088a8d6c8b05848b8684
+86873b3efb33fb3634fb26087c8b70a81ef74f8b792f05825d678b61888485867690
+85aa8cb28cb78bb18ba48aaa8a929190a086915d8f808994ba089de7c38b05988b9e
+9e8d978d958991808b080efb09fb4baef7d1bdf722ce4ed31213e0f7c99c15f9050a
+13d0f9060a13e0f9070a0efb0980aef7c6ae01ff00bfcccdff0132800015f9080a9b
+ff0024cccc15f9090a0efb09f800cc9677121380f785f80015f90a0a13407e970513
+80f90b0a1340f90c0a0efb0981aef8baae01f7e3f8d315350af71c3115f90d0afb8e
+fc6015370a0efb09caaef7c6ae01ff014e199aff0078cccd15f90e0afffff03332ff
+ffdb800015f90f0a0efc1ff773c701d8f7a403f7cef773152a0a0ef8595fa0ff00a4
+b333ff00154ccdf738a0f7b5a001f799a0f787a003b393158b78968b9687db72ce87
+cb8bac8bab8eac90ff00d96668ff00238000ff00bc4cccff008ae666ff00614cccff
+00c56666ff003c8000ff007ab334ff00098000ff007966688bff001a19988b9c808c
+808f083ea34191598bffff27b3348bffff331998ffff973334ffff803334ffff534c
+ccffffa6199affff868000ffffd5e666ffff68b3338bffff9c4ccd08a198159df771
+f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00138000ff000e6666ff00a019
+9aff006e3334ff00146666ff000d199908f83dff00004ccd05373ffb2e32fb5c8b08
+9ff75915f7b807949bf5e1f714b208fb9c07f759fb4815fc358bf77ff738f7c58b05
+ffffd38000ffffaa3333ffffc16668ffffbc6667fffff01998fffff56666088af86e
+15cb8bca82c87808fbfffb8f8bf79305be98c196d18b08fb2bfbb515f7f4f7880584
+417b396033080ef84b0efba8fb0aa5f76caacba101f770c003eaf75915f92e0aa32c
+15f92f0a0efbb7fb0aabf770a601a1c0f71bc103f74df73515f9300a0efb9efb06a4
+84a1f75fa5cba112a8bf13b8f7515115f9310a63fb4315836a988b051378f9320a13
+b8f9330a0efbd3fb04a2f74aa8f708a401f77ebc03bb4e15f9340a0efb8afb88a9f0
+b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bcf71215f9350a13f500f9
+360a13ee80f9370a13ed40f9380afb7efb7f15f9390a13e480f93a0af728f744157c
+4d6f86778b0813f540f93b0a0efb92fb04a2f766add1a001ffffff199aff011eb332
+03ff0092199af75015f8cc0a0efc03fb03a2f767a0c8c501ff0074b333ff003b999a
+03ff008fb333ef15ff000bb332ff0034e66694ff0008199afffff2cccd8bffffee66
+6784ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3328a8d8b08ff
+0014cccd8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999ff
+fffe6667fffff56667fffffc9999fffff0b333086efb1705fffffb199875fffff999
+9a85ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc8808877905
+8bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd66668d898b
+08ffffee33338c05fffff1ffffff0000cccdfffff8cccdff000333338bff000c8000
+8bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff011dcccc15
+fffffffffffffff38001ff0008b333fffff5b333ff000e999a8b08ff00118000ff00
+12cccdff000f999aa0ff000b4cccfffff9b333ff000a199affffeecccdffffe31999
+fffff8cccdffffe5999afffff733331f0efbf6fb699ef7d1a0c9c401ffffdf3334ff
+002f3333ff007c1999c703ff00ae6666f79b15788bfffff266677efffffcb3337bff
+fffce6667cff000a66677e9c8b9c8bff000f999998ff0003199a9aff0002cccd99ff
+fffb19999a758b08ffffc44ccdfb5215ffffe3b334fb1f05ffffed199a2effffefe6
+66686e8b868bfffffccccd8fff0000333391fffffecccd99fffffb199a9a7c8b7f8b
+fffff5333382fffffcb3347bfffffbe66677ff001f66667ea68b9b8bff0015666692
+ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccde008ff001db333f72605
+ff00057fffa6ff00078000a68b8b8c90fffffe66678d858bffffee999984ffffd04c
+cd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc8a8d8b08ff0014
+cccc8a05ff000cffff8bff0004800084fffff7800061080efb94fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2f7cea001fffff1199a
+ff00a2e66603ff00506666f74315f8ce0a0e2afb04a2f76cad01f786ff0031e666ff
+0063199abd03c7f71f15f8cf0a0efb7cfb04a2f768a07aad12ff01053334ff003319
+9813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0efb94fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a
+0efb91fb87a2f700a5f76ba501a8c003f7515115f93c0ab7ca15f93d0a0efbcffb03
+a2f765b365a012fffff84ccdf79913d0ff0087999af115fffffe33338c05ff000580
+01ff001b3333ff0006e666ff0017cccd8b8b8c90fffffe66678d858b0813b0ffffee
+999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc
+8a8d8b08ff0014cccc8a05ff000cffff8bff0004800084fffff780006108ffffe480
+00fb1b05fffffc199878fffffd3334fffffb4ccdffffe8999afffffeb33308ffffed
+cccd8a05868bfffffe999a89ffffff66668808fffffc66667905ff000000018bff00
+2d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8efffffd6666
+8d898b08ffffee33348c05ffffed3335ff0001199afffff9cccdff0003e666ff0004
+19999f08ff0019b334f71205ff0001999a93ff0005cccd9490900813d0ff0014b333
+a2ff0011800097928b8f8bff0004800089ff0003333387ff0004999a84ff00073333
+87978b9d8bff000ccccd94ff000380009cff0003b3339dfffff8999a98708b086c8b
+ffffde199969ffffe9e66772080efbc8fb0aa4f779a401ff000e3333a1ff00a38000
+ff0017333303ff000e33337915f8d60a0efc00fb0aaef765a801b0bd03f715f71215
+f8d70a0efb93fb0aae7ea1f762a212bbbd13b0f721f72e15f93e0a1370f93f0a13b0
+f9400a0efb98f718a201b4f7ae03f42215f9410a0efb08f718a201ff00a5b333f71d
+15ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533338c8b1efffffe
+cccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007666788ff00
+0519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938bff0009b333
+8eff000633339608ff0054e667f727ff0019e666fb2805ff0001666683ff0003e666
+86908b928bff0009b3348eff000733349608ff0077b332f75c05ff0010e666a8ff00
+0e666892998b8e8bff000433328cff0000ccce8f08ff000380009cffffff33328c05
+8bffffe9ccce8a7876ffffd833328c8b1efffffeccce8afffffc80007a05ffffff99
+9889ff00016668888d8b0894069d8bff0008199887fffffdccce808a86fffffccccc
+85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94ffffff8000
+92ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff0000999a8e08ff00
+0380009cfffffe33328cffffc8ccce8a05ffffecffffffffda33338c8b1ffffffecc
+cd8afffffc80007a05ffffff333287ff0001cccd8a8e8b9d8b9186ff000480007008
+ff00044ccd74ffffb6cccdfb15ffffe51999f72d058995ffffff8000928c90ff0001
+666792ff000666668d968b089406ff0001ffff8bff000266678dff000099998e080e
+fb73fb82b4f7dda301ff00a3e666f71e15ff00034ccd9bffffff66678d058bffffd5
+9999896e78ffffdc66678d8b1efffffd999a89fffffc80007a05ffffff999889ff00
+026667888e8ba68bff0001999afffff66666ff00064ccdffffe6999a08ff0029999a
+fb3d05ff000266667eff0001b3337bfffffe999984fffffecccd85fffffde66786ff
+fffb666683ffffe84ccd65ffffe67fff6b828b858b8790fffffb3334918890fffffa
+999a8e828b818bffffeb333382fffffc4ccd7908fffffb4ccc74a881978bb78bff00
+1eb334b1a7b7ff004a9999f70dff00274ccdc7ff00303334d1ff000bb3329dff000f
+ccce9ea38b908bff000266668dff0000cccc8f08ff00034cce9bfffffe66668d058b
+ffffe5999a897a75ffffd666668d8b1efffffe999989fffffc80007a05ffffff9999
+89ff00026666888e8b088e06998bff000a999889fffffe333482ffffff666688ffff
+fd800084fffffd33348708ffff9db333fb29ffffdcb333f72b058aff0004199aff00
+00199aff0005e666ff000066668dff0001999a93ff000899998e9d8b8e8bff000466
+678dff0000cccc8f080efbbffb04a9f764a801d29f03f4f72f15f9420a0efb41f801
+a7c576e1aaf70da801f724a8f70eaaf70ea703f7daf8b715e26c34346ce235aae1e1
+aa07fba07b15f9440aa816f9450a0efb41f801a7f70faaf70da801f724a8f7a7a703
+f830f89815aafb606c074b9a15f9440aa816f9450a0e7685bff7e0be957712f72bda
+b4d5f744bd13dcf89df7be152efb02fb33421e618b7b8f7c98759e7ea68bab8bc693
+c0b3c1bed39b9a8ba0089385917e1efb24067b8b84888383727177667f5b91849485
+989197b19d9f939195929d929e8b08a306aa9483821f8b8384807f7d35fb077c5d8b
+588b629b69aa76a678ad84ae8bb28baf96a79ff729f6a4f7388bc40813bccd689f75
+76797b771e8b6bac7c9372088e828d7f8b7f080ef8cff70c01fb25f75c03c2f8e215
+b20a0ef8cff70c01fb36f77703fb2af8cf15b40a0ef8a0f70701fb13f78703b0f913
+15b50a0ef8a0f70701fb37f7880337f8a015f7030a0ef8b4bfc87701fb26a7f76ca6
+036df8b415f40a0ef8ecf72701fb69f7a70329f97f15f7180af7274c15f7190a0ef8
+eaf72901fb56f78003a3f8ee15f7530afb6ee915f7540a0ef8f1c001d2a90380f926
+15f7570a0ef949b101fb39d403cdf99d15f78d0a0ef888b201fb5cd003a8f8dd15f7
+9d0a0ef954e501fb7de8ece703fb7cf98115c50af7528c15c40a0ef96476c5a301fb
+0bbb8da6abbf038cf93d15f7db0a0e4ffb88a295a1f746a2f754a2f754a2f753a3a5
+a282a2dba2b8a21213fdc0f72df94d15ff00e2e66606ffffe8999affff87b334ffff
+ddccccffff4f8000ffffde4cceffff52cccc08ffffeb66668b8674ff0015199a8b05
+fffff33332ffffbe199afffff34cceffffbee666fffff419994e08ffff7b4ccd8b86
+74ff00854ccd8b05fffff3199affffbd8000fffff4199affffc33333fffff63333ff
+ffcd4ccd08ffff624ccd8b8775ff009d66668b05fffffdb334fffff44ccdfffffde6
+668089fffff5b33308968b978bf76a8b8fa2ffff2a80008b05ff000ae666ff003833
+33ff000e199aff0048b333ff000fccccff0051199a08ff008bb3348b90a2ffff73b3
+348b05ff000be666c8ff000cb332ff0041199aff000cccceff0041e66608ff00b5e6
+668b8fa2ffff4a999a8b05ff000c999aff0040999aff000c9998ccff000c199aff00
+3e666608ff00d5199a8b90a2ffff2a66668b05ff000d6666ff0044ccccff000c999a
+ff0041199cff000b199aff0039199808ff00d580008b8fa3ffff2b33348b0513fec0
+ff0001b332ff0008e668ff0001b334ff0008b330ff0001999aff0008666808ff00d2
+cccc8b90a2ffffc299988b0513fdc0ff0002666899ffff6a66668b05ff00024cce97
+ff00023332ff000b6668ff0002199aff000a9998ff00038000ff00119998ff0002e6
+66ff000eb334ff0002b334ff000db33408ff00d4e6668b8fa2ffff2b999a8b05ff00
+02ccccff000e3334ff0002b334ff000e3334ff00034cccff0010999808ff00d2999a
+8b90a2fb678b7d8b828b05805486708054fffffde666fffff56668fffffdccceffff
+f49998fffffdb3327f08ffff1c999a060efb0981aef8baae01f7ecf8d3159b8b9a85
+9480ff0005ccccfffff9e668ff0005199afffff74cccff0003e666fffff4666408ff
+ff1a4ccefffe7fe66805ff00008000ff002f6666ff00083333ff00338000ff000733
+33ff0024999abbf78acfb9b68b08ff003f80002f15ff0002b334ffffd8ccccfffffc
+1998ffffcab334fffff2b334ffffbb8000792f7c4c745866395a827a8bffffdc999a
+8bffffee4cccff001b199afffff8999aff0026199908ff01144cccf86415ff002a33
+34ff0046cccc6e99ffffdd3334ffffc5b3340578ff00118000ffffe66666ff000bcc
+ccffffdf66668b2c8bfb06fb0a65fb5affffee8000ffffa6cccdff00056666ffffab
+9999ff001ab334ffffc6800008ffffcb6666ffffa8199aa97cff002a199aff0046b3
+3305ff0015e666ffffe4e666ff001d999afffff26666ff002466668bd58bf713d9b9
+f77f9eee85e06cc5fffffe6666ff00031998fffffe4cceff0003199cfffffe19988e
+080efb9ef6f7d915846468fb5af746fb2e08a099056fab2cf70bb7f776b7f776f723
+f70bb1aa087d9a05fb1c34fb0efb236cfb35080efb9ef7cff7d91593b2adf75afb46
+f72f08777d05a66aebfb0a5efb7760fb75fb24fb0c656c089a7c05f71ce2f70df724
+aaf734080efb974bb0f946b001f84bf95015fb6b8bfb29fd90f76b8b92b0fb268bf7
+1af946f7278b050efb974bb0f946b0019e4b15f76a8bf729f990fb6b8b8466f7278b
+fb1bfd46fb268b050efbb43c98f8139001f0f7af03f7bbf8e71592af95a5989a9c9e
+9e979f8f088e980557896281747774777b6a825d086bfb37058360785c507d088a86
+05bf818f618155086efb2a0581578d6799779877b180c18a088d9805828d798e7da8
+839d8ba691ae08a7f7220599d388af55a1c09da3a39ad8080efbb4f7d38ff8149801
+99f7af03f2b815846881717e7c7a78787f778708887e05bf8cb496a29fa29e9aac95
+ba08aaf7370594b69ebac699088c8f05579687b595c008a8f72b0595be89af7da07e
+9f6595558d08897e0594899d88996d937a8b7084670870fb21057d428e67c1765679
+73737c3d080efbe29476f8c7f612d1f70389f613e0f7047f15a18baf9d96c298d182
+ad93e492d997e58d9f8c918a92808b818b8683887f877d7d4f6a2008703573607e4b
+088259a374a68b0813d0f742f8fc1590a978a36e8b6d8b6f73856d856e9e73a98b08
+a88ba8a391a8080efb307fa8f85c77eef612f7b6f540d913e8f7d8d615856d5d6f52
+8b528b6bc898cb94baa5a9bbafd7c698c793b60894b8058d92868f848b838b85878a
+8408825f058774817279727f7b747a707a5569485f7c3c7931bf4ff18bbf8bb898ad
+a4aea4a5a692b20892ae74937b8b788b747e8775887d8c868e86088e858d85887d08
+13f0d3f8a61591a978a36e8b6d8b6f73856d856e9f73a88b08a88ba8a390a8080e72
+f8caf88c15313a354a3b5a08836505c566c74aca2e0895bd056ad466c161b0c6b5c6
+c2c4cd08fb3ebe15303a354a3a5a08846505c566c84ac92e0895bd056ad466c161b0
+c6b5c6c2c4cd080e72f73bf88b15815805aa49b154b661526651554e4208815905ee
+e8e1ccd3b00893b1054dbc4fcc50dc08f74816815805ac49b054b661536650554e42
+08815905eee8e1ccd3b00893b1054dbc4fcc4fdc080efb62f70df79c03f815f88b15
+303a354a3b5a08846505c566c84ac92e0895c00569d267c066b0c1b3c3c1c7cd080e
+fb62def79c03ded315e5dbe1ccdbbd0893b10551b04ecc4de808805505ae45af56b0
+66556352555048080efb78f7afc701f1f7a403f7e7f7af15ff000f199aff0013e666
+ff0020b334ff000f4ccc928890831ffb7906fffff6199affffe9e666ffffe5999aff
+ffef6666838e82921f0efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4c
+cdff0140333415810a13d0820a0efbb981c7f7eda79877f70eb712f6ff00ed999a13
+98ff013a8000f8ae15988bff000eb3349dff0002666697ff0001333291fffffd999a
+93818b08fb4d06808bfffff180007afffffd999a7ffffffe999a84ff000266668394
+8b08ff0072cccdffff263334157e0a13b87f0a13d8800a0e2e81aef8e2cb60c71213
+80f790a415428b67e7a3f705a3f703d1bcbc9fe058a25176270871fb0c4d53528b08
+7a6815f28bf704deabf72da7f71957c724cb55ad6cb792ae0813a08f9e9ea0af8b08
+13c0b38bac76bd8bbe8bb2a5a2b18b8f8893848b7f827c876e8c0813a05f8c739b5e
+8b3d8b43517c44815d9457c661085d7205315a5c5c793571fb0fbd20f7128b080e4d
+fb7faff751c2f7ffaa01e2db03f7f1cb15ffffd44cccfb3effffccb3342e348b4d8b
+a1c0598b0880707d7261da83b01faf8bcc96b9bcff0039199aff003ccccdff001fcc
+ccff00263333ff0027199af74508d4f7de05738b71887790708e7e8e638b0820fb33
+fb24fb3953a137df1fc08bc8c2c7e4089ae0155a313a376b8b086978b8c3f5ecf730
+e71fa08ba1849e7f8b8b77fb007b4d080e6381c7f7ddc7eeb701f70cdaf736d903ff
+01ee8000f8ae15f20aff00ff8000fb4e15940a0ef77b81bcf82477f70bb712f71dd7
+78e1f0dbf735d913e6ff02de8000f8ae15988bff000eb3349dff0002666497ff0001
+333491fffffd999c93818b08fffe1afffe06808bfffff180007afffffd999a7fffff
+fe999a84ff0002666683948b08ff00828000fc681552a874b11ee48bb2c9d2f3088e
+89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b
+848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff00096668ff
+001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b809c
+8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e83660869fb
+320536fb0b66626b8b0813f678799caf1f8b968ea392a908b0f7310513eef7a30a13
+f6f7a40a0e92fb82b086b0f8c3b2f779a484a812f93edb1334f882f8ce157a677c5c
+7f5108fb498b99cb05ff001f3334ff008eb334ff003fccccff00164ccca38bff001f
+b3348bff0007e666ffffebccccff0006999affffeae668ff0004b332fffff0b334ff
+0004199afffff04cccff000bb334fffff74cccff0005ccccfffffb9998ff0007cccc
+fffffd6668ff000ab3348b08a6fb4815e806958b9a8f8d93088b90a08c8e898d861f
+fb028b9acb05ff0008b334ff00251998ff000a4cccff0022e66896a608132ca5c9ae
+a19c8ba28b8e83907790769271ac8b08a792a294b05cae531f708b528058430813b4
+7ab04ca36d8bffffb666668bffffcee666ffffdae6686affffd1ccccffffd1999a4a
+fffff1cccdffffad1998fffffb4ccdffffe93334085806798b837f89838a88887f8b
+8908898d8b8e1ed08b76fb0405fffff7199affffd0cccdfffff0e666ffffc8333382
+4c77fb1b70fb176f6f7b7b82887e8b7a8b83968395849582957a8b086e8674867796
+6dd11fb98bb5aab1cfb9e1ff002f4ccdff00c9199aff0027b333ff00e0e666088e9c
+f74b8b74fb0405fffff8cccc68ffffef33343e824f79fb0a75fb036f6f08136c7c7c
+81887e8b7b8b83948396839583967a8b086e86738677966ed01fb78bb4a6afc7badc
+b1f75dbbf766080e8efb82acf757ccf7e3b29277f78eac12f881e513ecff004fb333
+ffff51b33315fffff4e666ffffee9999ffffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0014199a8bff000fe666fffffd8000ff00106666fffffd6666ff00
+0a999afffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3199afffff94c
+cc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+7c818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00116666ff0005e6
+66ff0019999a08ff002d4cccff00c433340594ff00271998ff000b3334ff00268000
+8bff0011199a0813dc7f0a13ec718b5c84498b08fb01068e9995e5b2d0adc7b68f9f
+8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effffc8cccc8bff
+ffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668ffffe0e666
+ffffafb33478ffffa21998084f880579ffffff199a82fffff7e66689838a88887f8b
+8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a666760ffffbd66
+66080e94fb82acf757c7f7e8b2f780ac01f820da03f8e2f8db15ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828bffffece668fffff8e668ffffee19
+98fffff81998ffffe480007cffffef80009affffce999a9affffdd66668b528bffff
+d46666ffffef9998ffffdb8000ffffe26668ffffc96667ffffd3b334ffffde666640
+fffff14ccdffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd06
+77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ff
+ffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6
+ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff
+00104ccdff0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90
+a08c8e898d861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666
+a8ff001a999aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff366
+68ff000d199afffff01998ff000e6666ffffee9998ff0010199affffe46668ff0000
+8000ffffef80000825fc5c05fffff8e6666bfffff8199a698b788b78ff0005800072
+ff002580008bff002d33348bff00364cccff00198000ff002d8000ff004b80008795
+86927e8b6d676a757f8b838b87918b93088b938f9a94b3080ef796fb82ac92acf72f
+ccf7e3b29277f77eac7aac12f981e513f5ff01f73334ff0242800015ffffe9b332ff
+ffd59998fffff06666ffffcce668fffff4b3345308558b858bfb0a8b99cb05ff001e
+b334ff008c4cccff00444cccff0010b334a38bff0024199a8bff00103332ffffe9b3
+34ff000e8000ffffea19980892fffff56668ff00073334fffff61998ff00093334ff
+fff9333408ffff628000fffd37333415fffff4e666ffffee9999ffffeb6666fffff2
+b3337c8bfffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff766
+68ff000dcccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9
+b333ff00186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cc
+ceff0011e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff
+00f66666088e9cf68b059e8bff001419988bff000fe668fffffd8000ff00106668ff
+fffd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3
+199afffff94ccc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485
+937d8b716d6e7c818bfffff8e6688bfffffd1998908b97088b94ff00051998ff0011
+6666ff0005e668ff0019999a08ff002d4cccff00c433340594ff00271998ff000b33
+34ff002680008bff0011199a0813e97f0a13f3718b5c84498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813f5ffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666080ef7a1fb87b086b0f738c7f7e8b2f779a484a88477
+12f91ada1339f883f8ce157a677c5c7f5108fb498b9acb05ff0021b334ff008fcccc
+ff003c4cccff00153334a38bff002180008bff0007e666ffffe96668ff0005999aff
+ffe99998ff0005800075ff0006e66676ff001e999a8b081335f741f515ac8bff0013
+e668ffffe86668ff000d1998fffff01998ff000e6668ffffee9998ff00101998ffff
+e46668ff00008000ffffef80000825fc5c05fffff8e6686bfffff81998698b788b78
+ff0005800072ff002580008bff002d33348bff00364cccff00198000ff002d8000ff
+004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308f1f85c05
+ff000e8000ff0040e668ff000a8000ff002819988b8b08133392888e821effffece6
+68fffff8e668ffffee1998fffff81998ffffe480007c081335ffffef80009affffc1
+9998a1ffffdd66688b708b438058430813b97ab04ca36c8bfb448bffffdab333ffff
+28ccccfffff94ccdffffd93334084d8805ffffef33338afffff88000fffff5999aff
+fffd4ccdfffff866668afffffd333488fffff5cccc8b8908898d8b8e1edc8b74fb04
+05ffffe2199affff6e8000ffffcbe666fffeea800061617b7b82887e8b7a8b839684
+95839582957a8b086f85748677996dd11fba8bb4aab1cfb9e1ff002b8000ff00d219
+9aff00378000ff00dde666088f9bf74b8b75fb0405ffffe26666ffff69199affffd1
+999affff0ee66661610813757c7c82887d8b7b8b83948396839583967a8b086e8673
+8677966ed01fb78bb7a6aec7bbdcff00378000ff00c93333ff00288000ff00d7cccd
+088e9be78b05958bff000f6668ff0003999aff00019998ff00086666088b8fa08c8e
+898d871ffb008b9acb05ff0008b334ff00251998ff00094cccff0022e66897a608a5
+c9c0a19b8b080eb8fb7daff74fc3f7ecb2f77fad01f87ff873157e59568805788a84
+8389838a88887f8b8908898e8b8e1ed18b4bfba405836b856c8b788b67a381a48bb4
+8bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b94ff00058000ff001a
+199aff00078000ff001fe66608c9f79be08b05958b9a8f8c940890a0058e898d871e
+268b95b805ff00224cccff009a4cccffffd4b334ff0045b334fb0c8bfb168b4d256b
+fb1bfffff8999affffe0ccccffffe16666ffffff3334668780838c84917c08afffff
+fd999a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee
+199a2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff2
+4ccdffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199a
+ff0014199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff
+00264ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cc
+cdff0021cccdff00a8333308c5f7b505ff0018ccccff007b6668ff00323334ff0038
+9998c78bff006133348bfffff88000ffff9e3334ffffe94cccffffa8cccc080ee281
+c74facf803b2f785a712c6df77cba6ff0022999aff00166666d658ddcddaff001f99
+98ff0046e66813b760f8a3f84115568805788a848389838a88887f8b8908898e8b8e
+1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b679d81aa
+8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b9708
+8b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b05979094a580
+9308288b95b80591a6ff00078000ff002280008bff0018e66808ff0056e6644eff00
+32b334ffff91999affff943332ffff7cb334ffffc44cccffff8366681e8bffffe499
+98ff00086666ffffe7ccceff00156667ffffe7ccccffffb46666fffff76666ffffd2
+cccdffffc5199a8bffffc7999a8b63a160cc5fc067936a8b7608137b605463785e1e
+13bb60718b7d9088a188a27da96d8b6e8b83738b80081377608b66b966d087089a06
+edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813b6e0a48b9c838e768e
+739c6fa58ba78b939d8b9b8bff001a66666fff001eb334ffffd8b334ff000e8000ff
+ffd3e666ff001be6667aff002066668bff0025333208ff0067199cff00793332ff00
+26ccccff0042e668ff00536664ff00218000ffffd9e668ffffc166641e8bffffe3e6
+68fffffa199cffffdf9998fffff84cccffffe23334080ef886f858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050eff01f47020ff00c3235401fffed48000
+f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053ce98
+8bff001a80c4fb7cff0054d3f88bffffdaae98050e8b14f8c5157f98f840989d99e8
+96ce98a99506fb8296077f97f841989d99e896ce98a99508fb7f93091e0a0366667f
+0c09910c0ab20ab20c0cd70bd70c0d1c004213031d02000100090011001f0041004f
+0062006a009e00a900bb00f10103012c015701aa022402a302b30319036703b303d1
+04120430047e04dd04f004fa0551058805c006240673070807a7085508c308d308db
+08e1092e093909490a060a950b340c3e0d9f0e420ff9101f102a105110e9126c127a
+12e0134e1393143e149014d5159d15fa16e816fa172e17c617d617ee193c1a091b87
+1dab1ed21f2f1f401f911ff82017209420cb21b821d5227322a722df246d248c24be
+24db2518252b253e255a257025ee261c26b227d22871292c299129f52a242a952ac1
+2af62b572ba12c632ca82cc32ce52d0c2db92e6d2fee324732b5333c33d8356c357a
+359435dc3607363b364d365f368136a336c136d336e3371f3748375637c338463878
+388a38dc38e838f6398d39aa3ac53ae33b073b7d3b8f3c253cab3ce13cf23d763d9e
+3dca3dd33f333f393f443f613f873fad408e41314198426442c8431443b043c24411
+448044dc45524565458545cd4603463d4666466e469646c4477e4930497f49db4a0e
+4a5d4acd4adf4b554ba44c134c6f4c8d4cd24d974de94e3f4eae4f0a4f924f9a4fb3
+4fc05001503f505d50a250b750f151df521a523e529a52e9532f536d53e65406543f
+54f8556e55a055da56dc570a5787588858bb5938598b59e75a585a885ab35b2b5b9b
+5c4b5c6f5ce85d015d275da55de75f345f6e5fa86020609060ec6126621c623f6253
+626862ba62cc631a632e634e638f63bd63d563e5642a643a65236554658265d46655
+6661666c66bc670d67af67f7682268566872687d6913696f6a106aa26afe6be36cc2
+6cf06d0a6dcb6e3a6e626e8c6f106f846fab6ff4703e70bf70ec7141718a72607276
+72ae72c272ed72fe7389739d73b773d173f7744074d3752f758e75cb75fb77cd781b
+782b7887789e7902792a799379ae79d479f37a187a557a7d7ad07b027b557b877c02
+7d267d997e0b7e237e797e8a7ea47f127fb880af815c818781f68260832a83a88472
+84e78560858285e285fc860b8661874e8788879d87c8882f884888d9892b8959899a
+89c089dd8a0f8a298a4a8ad68af08b0a8b248b958bf58c4f8cad8cc08cdd8d128d45
+8d758dd68e038e168e608e8e8ea48eb38f158f289021903b908a90b090d790fd9123
+916591a391e8921b9255929a92d59310936c93c8944a94c49513956495c89671970b
+9721977a9815987198b698c6997699d29aa49b229b309b5c9c1a9caf9d359d499df9
+9e099e179eff9f1d9f3d9f6d9f969fc09feaa002a01aa044a04fa067a092a0bea0d9
+a103a12fa13da14ba156a164a16ca17aa185a1afa24ba261a28ca2b7a353a369a394
+a3a9a3c0a45ca472a49da4b2a4c9a565a57ba5a6a5d3a5fea62aa632a6cea6e3a6f1
+a6f9a707a712a73ca7b2a829a853a868a892a8bda8eca962a98ca993a9c4aa3aaa9e
+aac8aaf2ab1cab31ab48ab73ab8bab9eabc8abf4ac1eac4bac75ac83ac8bac99aca4
+acb2acc0accbacf5addbae05ae1caf00af2baf5ab040b06bb097b0e2b11ab123b17a
+b1a5b1d1b2b7b2e1b2efb2f7b305b310b31eb32cb36db397b39fb3adb3b8b423b438
+b4a3b4b1b4bfb4cab4e7b509b527b53eb555b582b5a7b5d2b5f7b622b64db67bb6ad
+b6c9b6ddb6ebb6f6b76ab784b7aeb7d8b84db878b88db8a5b8d0b8fbb928b953b980
+b9a9b9b4b9c2b9cdb9f7ba22ba37ba48ba5dba75baa0bacdbad8bb16bb47bb55bb73
+bb8bbbbcbbd9bbfbbc39bc6abc90bcb4bcd8bcfcbd20bd44bd67bd8dbdc0be07be11
+be35be68beafbed3bee1beefbf8abfccbfe6bfeec003c01bc03cc056c091c0b9c17b
+c195c1a3c1b1c1bcc1dac21cc25ec2e4c326c339c34cc35ec370c3a1c3d2c414c43a
+c454c470c507c515c51ec539c596c746c84ec94fcabbcad7cbd2ccc9cd2bcd4acd70
+ce64cec4cececeeecf3acf54cf6ecfb8cfdbd009d04bd11ad179d248d2a7d321d381
+d408d435d494d4f0d50ad524d53fd559d579d599d5b7d5c3d5e7d605d63ed677d6aa
+d6ddd6efd701d713d738d743d74fd762d771d7b9d7ded841d8bfd900d90dd92ed97c
+d9dbd9fbda0dda28da69dab7db16db4fdbe3dbf5dc4bdca7dcd4dd91de2bdea0df13
+df90e03fe04de074e0a5e0c7e10de15ce196e1a4e1d1e1dce265e314e3d6e455e49a
+e50fe52be54ae5a1e5c7e62ae64ae6a1e6aee744e75ae77ae7dee7ffe819e83fe85e
+e87ee8eae92de978e98cea0aea69eaabeabdeacf758b68788155080b856a8a738b72
+080b8b7d8c7d8b7b8b788a758970080b853e81308977088907858d86951e958b9094
+8e968e9998c7aaf6a5e1a2b696cc080b8d928b918b918baf759d748b080b57a851c8
+deb7f702cfd35e9e634151383f1e0b798b688b55a4080b81976f986f8b084250383f
+57a752cadfb6f704cc1f8b938a9489939e80b181a38ba88bae8eb29b08fc40fc8ab0
+82f874f8c6050b6aa005625f4881618b080bc5b6debb9da6805a51673255787099bf
+1e0bff000f199aff0013e666ff0020b333ff000f4ccd928890831ffb7906fffff619
+9affffe9e666ffffe5999affffef6666838e82921f0b67716a70719f77a5aea6aba9
+a4779e711f0b9b8b9a859480a471953f71fb1a792f7c4c745866395a827a8b328ba2
+f73f9ce2bbf78acfb9b68b080bd58bf713d9b9f77f9eee85e06cc579ae69a9578b2c
+8bfb06fb0a65fb5a76209727b554a16fa97db08b080bcff7ef0597c798c88f988c90
+888b888b4f6953722f628a808f819285ba9ea2919d8b9b8b8a738469084bfbda057b
+3871864788848586769085ba8cae8cbf8bb98ba28abb8a92918fa08691488e7c909b
+de080b87769a799f8b9b8bac9d8fa18d938a918a928a9287948d9390a4abafd18bae
+8bb772782b087f4b6a57474f08364205fb0627725b8050088bbd8daa1ef73c06aab6
+898b1fa2c0a3d692a986907f8d81896d447672688b08fb3f0694bbdbcf919008f708
+ec05ccc2bdb79ad7a0f7003fb73d8b208b39397f4f080bb48bae717e4b8159443e29
+7d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b87a2839d849981
+97788b778b7278887b088363d770c58bf7068bf708d8a5f718a0f70145b25495088a
+8d05e2b2a9b495c091a989a378a47aa16d9c598bfb218b502b856a887d9177a28bad
+8b94ac8f9e0897cbd097a48b080b53fbb4fb4b8b05ccdde4f704e0e9080b3b8bc4f7
+b80595bd93b28e9308898d6c8b05848b858587863f3dfb23fb38fb08fb23087c8b70
+a81ef7588b792f05825d678b6188848586769085aa8cb28cb78bb18bae8aaa8a9291
+90a086915d8f768994ba089de7cd8b05988b9e9e8d978d958991808b080bff0023e6
+67ff00158000ff001f9999ff00014cccff0010999a8be98b8d2b815976fb0259595c
+8b4f8b5badacf73fff00044ccdff0016999aff00076666ff001accccff000b3333ff
+001cccce080bf74006fb05fb56fb05fb572cfb2c089184cd8e05e3f73edff73af735
+f7a5087e97057a867485678b08fb59066a8b8f957a8f888b8b8b8a88815b754f7957
+9588948a968cb0dbab92aa8b080bc98b9b60825d81554f5e6d7708719e0556b48bac
+91aa94b9b0b1c58b080b99d35fc02d8b298b404e7c3e80539d62be6508a17b056c7b
+6e7a6f755d67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab0850b605bd
+a2debf97cb080b608b50aa9ce591a9a4d1e9c408b36f05bf659a5c825b78273f7a60
+8b080bffffdc199affffea8000ffffe06666fffffeb334ffffef66668b2d8b88eb95
+bda0f702bebdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe533
+34fffff4ccceffffe33332080bffffd48000ffffa5199affffaf3333ffff9ae666ff
+ff76cccdffffce3334897f8c829286f2a9cfb5cdccd5d3bae69adab2f75f25b3418b
+fb128b3ffb137a35087a35a83ef7178bff001966668bff0026e66693ff001f3334ff
+000dcccd080b67716a70719f77a5aea6aba91fa4779e711e0bfc208b825af8208b05
+0b709f8599aa9ba49f1e8b908a90898f889089918b9108a9aeafd0bdae5e551e8bfb
+20fb21a868fb5108835d058a849088928b938b918e8c920892b70590a394a39da4b0
+c1f734b68bf72108d451ba311efb174e305b1f0bfffff0199afffff8b332ff0001b3
+34ff000533321f8bff0001b334ff0000b3348dff00018000ff0002666608f725f792
+8d8bb4fb9f050b91ac8d95df8bff002f33348bff00388000748b418bfffff56666ff
+fffeccccfffff46666fffffd8000fffff333347a364b6d3b8b0844060bff0070cccc
+ff002eccceffffc6e666ffffb6b3341f8bfffff43333fffffeccccfffff3b333ffff
+fd999afffff380007c42634ffb268bffffc780008b7bff00094ccc8bff0016b3348b
+ff00043333ff0000999aff0004999aff0000e666ff00053333080b87788d8905b88c
+b28cb18bb18b9889e18bf7538bd1ef9ce1ff0002666898ff00013330ff000c4ccd8b
+ff000b99998bff00498000ffffd0b334b7ffffbbb334ff0015999a088d07c0a4bfbf
+95c1080bff00024cccff000be666ff0001999cff000c80028bff000c80008bff003a
+3330ffffde9998ff003ae668ffff6d80008b698b5f89648b668b648c5e8c08888987
+7705878c88901ea78905ff00208000fffffd9998ff000bcccdfffffc66688bffffed
+b3348bfffffb3334ffffff3333fffffa3330fffffe8000fffff8e6680829fc8b0584
+6881876288086e8905868b89888a86080be88beab9dde488948691808b383d436c32
+8bffff87b3338bffffce199aff006666668bff00744ccd8bff001bb333ff0002cccd
+ff001c8000ff00056666ff001c199ab3f75ff72cdfd78b08f7198bb33a933508a88f
+058cbf8dbc91c1558e6eb5fb0a8bfb338bfb44fb2665fb59fffffb3333ffffe74ccc
+fffffd999affffe74cce8bffffe7cccc8bffff7a3334ff004acccdffff8a6666ff00
+ae66668b080b88798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00
+049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff0075
+8000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e88908b08
+a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb33
+34ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e
+8905878b87878a86080bedf8890592aead8fba8bff00a719988bff0038e668fb068b
+ffff83199a8bffffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5e
+fb1659fb1b8b3b8bffffed8000ff000680008bff0015b3338bff0003cccdff000099
+9aff00043333ff0000e666ff0004cccd080b8d8a8c881e7a88858a748b08fb87060b
+668b648c5e8c080b89898777050b8a888b87928b08a78905ff001de666fffffd8000
+ff000c999a838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334
+082afc8705856f7d7f6588086e8905858b89878a88080bb88cb38cb08b08f762060b
+b9d7898b1fa0bfa4caa1bf086e90050b6a435a50428b08fb160679fffff3e666ff00
+046666ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e6
+6608bcf78ff70e8b05ff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd
+6666ffffffccccfffffd3334ffffffb33488088972058a888c86908b08a08b908e05
+8fb390a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b
+08fb0e8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308
+0bff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd6666ffffffccccff
+fffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390a68f9f8e9f
+92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e8bb3f76605
+90a39995a28b08ef06d38b9563934608a790058eb490eb8b938b8d8a8c898b798886
+8a748b08fb88060b8a888b87928b08a78905ff001e8000fffffd8000ff000c199aff
+fff819988b778bfffffbb334ffffff8000fffffb3334fffffee666fffffa8000082a
+fc8505866f7d7d628808718905868b88888a860887788d8905b88cb28cb08bb28bb2
+8ab88a088d8d8f9e058c90888e868b08738d05ffffe0199aff00028000fffff26666
+ff0008199a8bff0014e6668b8fff00008000ff000480008c9008bbf78d050bfb398b
+fb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb66678b
+ffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d9608a2f7
+080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e8c0889
+898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0fffff9e666
+8bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb3333086d
+fb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc8bff00
+14199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7168bf7
+1f8bae39933508a991058bb58db392d3518b71b8fb098b080bffffd78000fb62fbcd
+8bff00288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e
+8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199a
+ffffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e668fffffc999896fffff33334fffffa1998ffffe2
+3334080b2afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdff
+fffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ecf8810591
+a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608
+ad8805ff0026e666fffffc999896fffff33334fffffa199affffe23334080b2afc81
+05fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdfffffc199a086c88
+058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199a
+ff00036666fffff4e666ff000c199a91ff001e800008ff00304ccdff00f58000ffff
+fdb333fffff3800005ad8ba4809a7008f70afb5a05ff00076666fffff2ccccff0002
+66667e8bfffff4199a8bfffff56667fffffe199afffff63333fffffe199afffff780
+00088a858c89059f8c9e8ca88bb08b9c8ab88a088f8d8e9e058c90878d878c08858c
+05708f769579aa08fb34f7980584958a928c938d929092b1ae08f738f72b05c1bcb1
+91b390908b918e8c90088f9e888d055e8a808a658b648b708c5e8c0888898878058a
+868e888f8b089e8905ff00101998fffffe3334ff0007199cfffffb33348bfffff880
+008bfffff6b330fffff51998fffff2999cffffedb334ffffeecccc08fb58fb4405ff
+ffe8199affffea199a737cffffdb3333fffffde66608ff002bb333f7720591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e666fffffc999896fffff33334fffffa199affffe23334080bfffffa999a6f
+fffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82080bb88c
+af8cb28b08f75f060ba5e3898b1f9ac3a1c4a0bf85ff0005b333fffff3b334ff0003
+999afffff64cccfffffdb333080b6fffffc2b3335dffffba4ccd428b08fb0206ffff
+e84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000
+e666ff0004cccd08e9f87405ff00058000ff001c1998ff000f8000ff000de668b48f
+08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc9998ff000ae667fffff33334fffffa3333ffffe23334080b91a99ea5
+b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004cccc088d
+9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb8000ff00
+07e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd9998ff00
+0a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffaccccffffff19
+98fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb188b888989
+7805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ffffed8000
+ffffe33333ffffd88000fffffccccd08728905fffff7199affffff4ccdfffffb6666
+fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38bae8ab88a08
+8d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb8000ff000066
+6608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff0004e666ff
+00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a928b918b9380
+987508f78dfc4d050b927c96829b8b988b94978f9e080bf700ff00494ccc43ffff72
+199a1f8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bff
+ff9ecccc8bffffae8001ff004f4ccd8bff008c66668bff0019cccdff0002cccdff00
+1bb334ff0005e666ff001dccccb3f766f70ee2e28b080b90ff0019ccccff00024ccc
+ff0018b3348bff001766668bff009c0002ffff96ccccff00631998ffff6de6688bfb
+3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ffffe6ccce8bffffe833
+328bffff67999aff0064e6672fff008eb3338bf74c8bf725f71fb2f75c080b90a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a8d818e080b866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b080b72
+8b4d82648b658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdffff
+ff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffccc
+d0ffffff6666fffffc9998080bff0032e666ff0039b334ffffee1998ffffaf33341f
+8bfffff33334fffffe8000fffff1999afffffce666ffffefe66673fb113d6f2e8b08
+5b8bbcf78d0590a89c9ccf8b080b738b4f82658b658b658c5e8c0888898776058a87
+8d898f8b08b08905ff000e4ccdffffff1998ff00149999fffff8b3348bffffe7b334
+8bfffffd1998ffffffb334fffffcccd0ffffff6666fffffc99980829fc8a05866f7c
+7f628808728905868b88888a860887788d8905b88cb28cb18bb18bb28ab88a088e8d
+8e9e058c90888e878b08728d05ffffe0199aff00028000fffff26666ff000766668b
+ff0014199a8bff0003ccccff00008000ff000466678cff0004cccd08b6f76f05db8b
+9c7c957408cffb42050b9e5cac61c58b998b9c8d9690088ea305608b7aad7ab6083b
+f76605b799ebbfa0f4ff00029998ff000d3334ff00016668ff000c80008bff000be6
+648bff00218000fffff59998ff001cccd0ffffeb6668ff0019199866b850904f8b08
+0b589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bff
+ffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ffffe033338bff
+ffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd087b3a5a
+6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00
+028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb33
+34ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666
+088bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b08
+0be78b9850914908aa89058bbb90a68ec1080bffffe5e6668bffffea999a94ffffe8
+80008f7e5a7fffffe380007556ff0007999afffffb3334ff000d6666fffffdcccc94
+8b080ba8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ffff
+fb3334ffffe31998082cfc7f05856f7c7d6287086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff
+0005e666ff001e666608eaf87c0592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b334080b80c4fffffd8000b6ff00028000b308
+0b6afffffa8000fffff2ccccfffff88000ffffdc33348b080bf7598bd0f713adf746
+08c1f7a70590a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b75
+8b658c5e8c0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000c
+e668fffff74ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacc
+cc0852fbb90575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff9
+4ccdaa8bff002099998babff00068000ff00216667ff0005e666ff0020333308c6f7
+c30591a79b98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c
+5e8c0888898878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999ff
+fff866688b768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849
+fbe405fffffb199affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff7019
+9aff006b1999ffffdfe666ff004b199a8b080bfbc3fcb205fffff7b334fffff13333
+fffff74cccfffff7cccd818b818bfffffa333493fffffdcccc9a083af8b505fffff7
+b333c3ffffe84ccdff0000800061ff0005800085918b9c9191b38aa58ab38bb28bbc
+8cac8c91858b7a85856889ffffd63334fffff53334ff0004ccccffffdecccc08cbfc
+51058efffffc80008dff000180008d8d08f77df84605ff00151998ff00273334ffff
+e53334ff000dccccffffcdb3348f85918b9c9191b38ab78aa58ba58baa8cb08c9185
+8b7a85855685ffffdf800071ffffed80006a080bc7fcaa05ff0001e666ffffef4ccd
+ff0001999afffffab333ff000a80008b938bff00033334ff00043333ff0009ccccff
+0011cccd08f758f7fa05ff000ee668ff001b3334ff000f6664ff001c8000ff000633
+34ff000b4ccc8c8bff00038000ffffffccccff00008000fffffdb334ff0002800075
+ff0002e66880ff00041998ffffdd800008b5fbf705ff00021998ffffee6666ff0005
+b334fffffb999aff000933348bff000780008bff00038000ff0002e66695ff001219
+9a08f7c1f8b205ff00128000ff00214cccff00188000ff0019b334c09191918b9c85
+916a8a648a718b718b5c8c638c85858b7a9185ff00324ccc87ff00233334fffff1e6
+68ffffea8000ffffd9199808fb4ffbee664684c86bf7ab05fffffc1998adfffff8e6
+68ff003fb3348b8b0860ffffffccccfb59fffe908000654b84cd69f7f605fffffc99
+9aff00216668ff00276666ff000a9998ae8d91918b9c85916a8a598a668b6a8b648c
+678c85858b7a9185ff0030333383ff0017999a81ff0006333355080b8a87918a9489
+9b88a783a75108edfb6105ff0005999afffff733348efffff880008bfffff84ccc8b
+89ffffffcccc89ffffff999a898a858582848308fb3cfb4f05706d615f5388858b86
+898a860887778b8905a88ca38ca78bb18ba48ab88a088e8d8f9f058b8e8b8e868c08
+798d05ffffeee666ff0001e666fffff98000ff000580008bff0007cccd8bff0008b3
+33ff0008199aff000b8000ff000a8000ff000c999a08f736f74905939392918d8b8f
+8b8f888f8308e5fb5005ff0006e666fffff23333ff00044ccefffff6b3338bfffff9
+b3348bfffff6ccccfffff6e66688ffffe8e666fffffd999a08778905878b89888a87
+0887778e8905b88cc08ca18ba18bb38ab28a088d8d8f9f058e8a8f861e618e71ac78
+b20820f76605fffffa3334ff000ab334fffffc4cccff0008cccc8bff00084ccc8bff
+0001ccceff00003334ff0001b332ff00004cccff0001b3348d949194969708f734f7
+4505acafa6a7c58d08938d8f8e1f8f9f898d05648a6a8a758b758b698c648c088989
+8777058a868e898f8b08a78905ff000c8000ffffff1998ff00054cccfffffc4cd08b
+fffff9e6648bfffff86668fffff7e668fffff4b334fffff34cccfffff1999808fb32
+fb430584838687888b898b888f8792083bf74405fffffa199aff000c3334fffffbcc
+ccff0009cccc8bff000733348bff0008b334ff0006199a909cff0001199808ab8d05
+8d8b8e8d8c90088e9e058a8b8e8b1f5e8a5a8a748b748b658c658c088888050bb1f7
+5405ff00036666ff0011199aff0003999aff000de666929608f743f79305a0a9989d
+ae8e08a58d058e908f9f888f6e8a6e8a758b758b6c8c658c88878a768d8708ab8805
+a3fffffdcccc8cfffff83334776e08fb32fb85878b36f78505fffff6e666ff001a66
+68fffffc3334ff00098000ff0021e666ff0003199808ac8e058e908c9f898f648a6d
+8a658b668b648c6f8c88868d788e86089a8905ff0021e666fffffb8000ff0007199a
+fffff480009f5608e7fb8905ff00026666fffff98000ff0000e666fffff880008b87
+8bfffffae666fffffeb334fffff64cce89fffff5cccc0868fb4b05866f7b7d628708
+6c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9
+199aff00036666fffff4e666ff000c999a91a9080b9ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d99
+98ff0007ccccff0011b3348bff0008cccc8bff00058000fffffbccccff000266687b
+8b7f8b76846d8808fbc8060b5e8b9095688e7c5574437b6208a786050badd0a6bdd3
+8b08f77106928b8e8989858a868785858408fc72fcb105fffff8ccccfffff8cccd85
+fffff4e6668bfffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7
+f206a4eb898b1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e408
+8d897e6105847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000ff
+fffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb
+05738b71887790080b5a313e376b8b086981b3c3f5def735e71fa08ba1849e7f8b8b
+8121724b080bff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b
+7081437e628808887305888c898f1eaa8905989385751f8b80897a86750824fc5d05
+7d4da555e58bff001f33338bff0026cccd98aea3ff005b6666ff003eb333ff005b99
+9aff008033338bff0066199a8bcf7dbe308b468b584c686208898c050bfb25ffff83
+4cccfb17ffffb3b3341effffdbe6668b85ff0026b333ff0010199aff00444ccd08ad
+f72405bac2b8c8bb8b08a9a274471f0bd38bccff00338000bbce88958192828b645f
+63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff1999aff0012999a
+fffff1199aff00133333fffff5e666ff001366678bff003c666608f729d1e3d899a7
+866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54ccc8b85087b95
+7b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffffe5e666ffffd6
+999affffd3999affffcf4cccffffcbccccffffde999affffb280018bffffa633338b
+ffffdee666ff000680005eff00178000ffffdf199aff0014999affffe3199aff0022
+ccccffffece666ff0028999a8b080b5a315247648b086b84c5c3f5d6f727e7b1a457
+681f8b747a5d6e56080b847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffa
+ccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b94
+91a78f9e08f5f863059acc95b38b8b8b92888e828b7081437e628808887305888c89
+8f1eaa8905989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866
+fb478a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080b8bff
+ffa64cccffff96cccdffffdee6673ffffff63333ff00234ccdff008d199ac2ff001d
+8000ff0029e6668baf8b98828b6e080bf799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1ece8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba0
+8c93080b77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999a
+fffff4e666ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff
+00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333
+ffffea00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccd
+cf1fb48bb79faab6ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7
+529bff004e3333ff00104ccdff0050e667ff000ecccdff0053e666088e9ce88b0594
+8b9a8f8d93088b90a08c8e898d861ffb028b96c405ff00076666ff00264cccff000a
+999aff0021b33497a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffff
+ebe668ff00043332ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb3
+34ff00078000ff00186668ff00098000ff00284cccffffd39998ff00223334441fff
+ffe466668bffffc2199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879
+ffffa9666808498805788a848389838a88887f8b8908898e8b8e1e0b9d87d175ac7c
+c371a3758b680865696333fb0455b0c21e8bbbc9b7a49d080b8ba685af7d9f9a99a4
+96928b948b8e868e869083ff0006e66682ff0010199a8b089d98999e9d7b9b741f71
+8b6581686b080b75a5ffffe04ccc9bffffd3b3348bfb048b5f3f8b3b8b5f9e61a66b
+080b72716e5b8b688b818b74a57c566e39548b4f083af70376dcf71de6b2ee1e8bcc
+5bac559b3ba3428d8bbb8b9f99a3949c9b81a384a78b08e2ccc7ee1f0b4d7e484f4e
+82d3bbd397c2cd1eb6a159471f0b71a175a5a5a1a1a5a575a1711e717575711f0bff
+00090001ff00271998ff000b3333ff002680008bff0011199a080bff000db334ffff
+f8b334ff00076666fffff2cccc1e0b6b8b5e845c85fffff94ccd83ff0001b3338091
+8208b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f08
+5cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e77818b
+fffff8e6668bfffffd199a908b97088b94ff0005199aff00166666ff0005e666ff00
+19999a080bff0008b334ff0027ccccff000a8000b58bff000ce6668bff000db334ff
+fff8b334ff00076666fffff2cccc8b080b6b8b5e855c84fffff94ccd83ff0001b333
+80918208b38805978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffff
+ea8000ffff9e8000fffff6cccd4cffffedb333ffffb8800075356979798bffffe4cc
+cd8bff00058000b6ffffceb3338b08fffff2cccdfffff03333fffff6199affffeae6
+666bb17bb71ff7118bff00348000ff00bae666ff00338000ff00f3199a080bfffffb
+333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001f
+cccd8bb18b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766
+668bff0007999a8b92fffff8b33390829d6b96ffffcd3333ff00146666ffffd2cccd
+ff0020999a43a46cb48bad8baeaaabc384938790808b08776e7678808bffffece666
+8bfffff98000ff0011999afffff5999aff001466666fc27eb27da7fffff04cccff00
+1f6666fffff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b08
+99ab9eaaa77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08
+d3f7cb059acc95b38b8b8b92888e828b7081437e628808887305888c898f1eaa8905
+989385751f8b80897a8675080bff000e8000ff0040e668ff000a8000ff002819988b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff9199a
+698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000ff
+002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94b3
+080bffffc6cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff00091999fffff58000ff001fcccd8bb18b89b7ff0009e666b108ff0028199af735
+05d9f705c3acab8b9f8b91848b6d8b7f8a73846c08ffffcfccccfb5f05fffffb3334
+ffffebe666fffff8199affffe7199a8bfffff633338bffffef4ccdff0009199affff
+f58000ff001fcccc8bb18b8ab7ff0008e666b108ff0026199af73105e0f70bb2aaab
+8b9e8b95848b6d8b808a6e836c0864fb31050bfffff5ccccffffd6cccdfffff88000
+ffffd733338bfffff766668b77ff0011b334fffff2999a998bc68bc2a8addd899484
+907e8b73656f70798bfffffa99988bfffffe4cd0918b90088bff0003999aff000219
+98ff001919998eff000b4ccd08baf746050b91a28faa8b9e8bca6da36c8b448b544e
+51428e9b8c9d8b988bd16d9c6f8b438b4a56503f08898cff00024ccdff0009333405
+ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b080b6b8b5e845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b81088bfffff6e66688fffff2199a856f080b6b8b5c855c
+84fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff7e66688ffff
+f1199a856f08ffffc7cccdfb8d05fffffb333477fffff8199a728bfffff633338bff
+ffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026
+199af73a050bcaddc2c6af8ba08b99868b6c8bfffff3b334fffff9b334ffffe46666
+fffff94cccffffe3e6660865fb34050b836b82628b788b78967da98bbb8bbbadb9c6
+889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490a191a508
+0be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666ff000ccccc
+ffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff98000ffff
+a9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0b5698fb0b
+f7131eff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c
+1e0bff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f
+8365087e50055967666d6f68ff0003e666fffff1cccdff0009199afffff933339d8b
+a1a8a19da7a20824fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058b
+cf90afb2cf898b1e8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c05
+9a7bff001c80007aff001d80008bff004733348bff003a3332ff0027b333ff002b99
+9aff00354ccdc1cda6cf8bd38bdf6fcd278b588b6678707b080b8bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdffffe56666ffffd6b333ffffd86666ffffe1cccd
+658b718b709876a808cdf7b805a49ba89db18bcf8b95448b5a080b9a06edc6c1d51f
+8bba70b92fc86d9f819d8ba48bae9fafb68b080ba48b9c838e768e739c6fa58b08a7
+939d9baf57b74d34564b4e1f8b63a160cc5f080bc067936a8b768b5463785e8b718b
+7d9088a188a27da96d8b6e8b83738b80088b66b966d087080b568805788a84838983
+8a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94ccdff
+ffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d57
+79817b8b888b818d8b97088b94ff00036666ff0014199aff0007999aff0021e66608
+c6f79bed8b05979094a5809308288b95b805ff00043334ff0012b334ff0008ccccff
+001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080bff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541
+fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d
+8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085f
+fb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e89806405826b83628b788b
+78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a1
+91a5080bffffde6666f77d057de87fb0668bffffde80008bffffc63333ffffc5199a
+68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b3333fffffe
+8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff0007999aff
+ffd3b33408b5fb8805ff0007999affffd3e666ff000accccffffec199aff000d999a
+8bff000a80008bff000dccccff000f8000ff0012e668a0ff001ee666ff00226666b1
+ff00303334ff000e6666ff00146666ff0015ccccff001ee666ff002dccceff003c80
+00ff001c3332ff0042199aff000ee668ff0022ccccff000c3334ff0024999a8bff00
+23333408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34c
+ccffffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff
+000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffdb
+3334ffffb26666ffffd96666ffffcc6666fffff36666ffffef199affffdbe666ffff
+d13333fffff2199afffff4b333080bff0007b3348bff00123332ff000e4ccdff000f
+b334ff0018b333ff00253332ff003a8000ff0037199aff00606666ff0022999aff00
+4b199a08918c05ff000e80004bff000f4cccffffaf199aff0009b334ffffbd333292
+ffffcfb334ff00074ccc81ff0008b3348bff000b80008bff000e8000979fa4ff001c
+e668ff0024199aff001fb330b8ff000e6668ff00146666ff0015ccccff001ee666ff
+00234cccff003d8000ff001c3334ff0042199aff000ee668ff0022ccccff000c3334
+ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ffffe2b334ff
+ffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6999aff0003
+4cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8b
+5effffe61998ffffb3666665ffffcc999afffff08000ffffeb199affffefe668ffff
+ecccccfffff2e668fffff1999a08fffff866648d05fffff78000ff00346666fffff2
+999cff00428000fffff2fffeff0036199afffff6ccceff0026199afffff74cccff00
+21666684ff00118000ffffef8000ffffff8000ffffef8000fffffc80007b83ffffd6
+6666ffff9f8000ffffbe999afb0bffffe880006708fffffd8000ff0001800069f769
+05fffff13334ff005ce666fffff4ccccff0025199a668bffffde80008bffffc63333
+ffffc5199a68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b
+3333fffffe8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff
+0007999affffd3b33408b5fb8805ff0008b333ffffcd999aff00094ccdfffff26666
+948b080bff00238000ffff9d8000ffffa28000ffff76800005fffff5999afffff0cc
+ccfffff56666fffffc3334848b838b808d838f828f818d818b08757b7b7571ae7fa2
+1fad8bff00183333ff000f3333ff002bcccdff003ecccd08ff00458000ff00638000
+ff00268000ffff868000050bff000cb33463ff000a4ccc7bad8bae8bb79eaabfffff
+fc3334ff00093333fffff6cccc9380ff0001cccd716a7e83808b828bfffff93334ff
+000cb333fffff7ccccff00184ccd0855f735d7f70405ff000fb334ff00173334ff00
+184cccff0003cccc928b938b98889484ff00076666fffffa3334ff000f999afffffb
+cccc958b08999d9fa21f0ba4709a741e598bffffdf3334ffffeeccccffffceccccff
+ffb933340859436fe305ffffef6666ff00343334fffff4999aff0013cccc728bffff
+e880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999afffff3
+e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7800008ff
+00048000fffff84cccff0006b333ffffef3334ff00064ccdffffee8000080bff0013
+999aff00206666f70eff00ba8000ff001c3332ff0042199aff000ee668ff0022cccc
+ff000c3334ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ff
+ffe2b334ffffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6
+999aff00034cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bff
+ffef999a8bffffd43334ffffd73334ffffb51999ffffdd6666ffffc9b3338b8bffff
+cc999affffac999affffe64cccffffda666608fffff980008e0585ff0074800084ff
+005e66666dff007b999a7dc07ea0728bffffe880008bffffb68000ffffd680006871
+ff00016666fffff5199aff0003999afffff3e66693fffff84ccc97ff0005b334ac9b
+ff001480008b988b958890fffff7800008ff00048000fffff84cccff0005999affff
+efccceff00056666ffffede666ff001e8000ffff9a3333ff001e6666ffff0c4ccdff
+fff4199affffe680006248615f7d8b818b7898859084917793838b087672776c6ab7
+829c1fc08bff004f8000ff0040cccdff00408000ff00633333080b74717c857b8b79
+8b7d8f5c95080b5b936d906f8b688b5e4a7a509284948a968ba0b99c95b98b080bb8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff0f8000ff
+fef73334057774655c877d8e849086918a93889289938aa1b0a49b958b9c8ba685ab
+77080ba47cac81a78bb68baca4baf700fffffa199aff0006b333fffff8e666ff0003
+4ccd7f8b654e6e866f8b080bffffcd66668bff00058000ae2f8bff0045cccdff004d
+e666ff006dcccdff00703334ff00388000ff0045e666a4a99fa0959b080b726e756c
+759b7ba1a3a9a1aba07b9b751f0b726e756b769b7ba1a4a8a1aaa07b9c751f0bf730
+f712f713f730f730fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71f
+f704fb04fb1ffb1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b783c
+056d747981788b728b82978b9b8b8f8b8f8c900893aaa59de0a1080b9c8ba0979595
+08869b0587888689888b080b86898f941f8b948d9990a0089cd6050b8f9b8c988b97
+8bc66399658b648b4a6a82638b898a888b898b809384978b9c8b95988d93088c8e8b
+8d8b8e8b8d8b8c8a8c088e078b8d8c8f8c8f080b9b9f86651f8b808a7e877b08517c
+054d7b5f6f81618a858a858b868b6aa377ad8ba98b9e94b2a9080b8a8a8b8a8b898b
+7a9479a18b080b948b9e938e9b8d9388928d948d98999bb68b9b8ba6818b688b868a
+868a868155717456670855665761825b08f7620694a898ae99a9087490057c6f7364
+6c8b083a0691aaa8a8bba9cbb3b3ac93b98d928b908b918bbc5b9b5e8b3c8b655886
+718a8a8b898b8a08809682971e0b836268715e8508887305938c918c928ba18bb885
+8b608b878b868a857d464f7e788b6c8b82938595869286927e8b088178827e77ba7c
+af1fda8bd7b998d08c918c928b908bb967a06e8eab9ba5a291a88c8f8b8e8b8f8ba9
+709d5c8b08348b6356887a8b888c7c9e8ba18b919c8e9791a4af959f8b9c8b9c848b
+758b878a888b87080b25fb1205838189828b868b859086928b928b92909d9a08f71a
+f7018b9605898c898d898d859280966f8b868b848a888a080ba7a5a5a7a771a56f6f
+71716f6fa571a71f0b978b8b81856b086efb2c0586757a7c7b8b086706878b88888a
+89088776058bc78cb1adbf8a8b1e8fa0058c8f888c888b086f067d8b829a90a108be
+f7997b8b055a706f7f597a088f70059b92aa94988b080bfca5fcd3b583f8a4f8d305
+0b6cfb20298b05959cd0d5bdbc080b82627d8863898483887c8e85a98c998bae8ba9
+8b9c8ba98a91928e998993ffffda1998ff00023334fffff5199cff00086666ff0007
+ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a82
+7d7f80815f6253575e55868687858785fffffe199afffffc3333fffffcb332fffff9
+80008bfffffa333308fffff9999a8ffffffa8000ff000e33341ef70a060b8b908791
+84910825df345ef7214c059b849986958b9a8b8f988b91080bdff725059298928fa2
+8b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6678bfffffd19
+998bffffea9999ffffefb334fffff64cceffffdf6666fffffd6666086f8905878bff
+fffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc18cb08bb28bb2
+8aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c05658f7b9a85b208
+2ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f816188868bfffffccc
+cdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a
+088e8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199a
+fffff48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd
+080b948b9b90a09208f73dca4ab8fb2137057d8284848b828b838f88938b080b6006
+6569636b606f08947605b59caf9db6a6a672a978ae7908a0a0056ca670aa76af080b
+788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6
+666d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff00
+1233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffffe933349105
+ffffe9800061ffffefe66881758b080b71a175a5a5a1a1a5a575a171717575711e0b
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b2050b889e88967d8b7d8b82827b7008fbcffc9c05664d
+6f816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c
+9b8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05
+ffffe74ccdff0002199afffff48000958bff000ecccc8bff0006cccdff0002666693
+ff0004cccdff00084ccd080ba98b9a72fffff9b3346cfffffa4ccc6fffffe74ccc6f
+6c8b6c8bfffff2b334a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bf760
+f7b9058f898a82897f0856fba2050bf7d90699c3a1c6a0bf086f90056a43624e428b
+08fb1106768b7f9390a608bcf793ed8b05ac8b927b8c6f088a6c05878c88911ea18b
+8d8e058d9c8eb891ad92ac97b093a4088d8a8d891e7606878b88878987087f6d057f
+6f807b698b08298bb2f75a058fa29ba0a28b08eb06d48b9159934608a890058cb48e
+c690c108fb698b418b050b8a878c88918b08a889059e8a9c7d7b7308fbecfc80056c
+5e8383668808758905858a87898a86080b8d8a8f871e708d05698d898ca4af08f71e
+f75af73f8b65fb5405866f7b7d638808718905868b88878a86080b8d89058be58dad
+1e0bff0012ccccff00083334fffff6999afffff11999ffffe1999affffe7e666ffff
+ebb333ffffdbccce1f778bfffff5e6668f7295fffff7999984fffffb800084fffffd
+999a7fff0016cccd80ff000fb33285ab8b08ff003c4cceff003f199aff0020e666c1
+ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc8afffff7999a
+8908ff0021e666ff003acccc05ff00528000ff00096667ff0052b334ff002d1999ff
+00488000ff004eb33488948691808b383d436c328bffff87b3338bffffce199aff00
+6666668bff00744ccd8bff001bb333ff0002cccdff001c8000ff00056666ff001c19
+9ab3f75ff72cdfd78b08f7198bb33a933508a88f058cbf8dbc91c1558e6eb5fb0a8b
+fb338bfb44fb2665fb59fffffb3333ffffe74cccfffffd999affffe74cce8bffffe7
+cccc8bfb19ff0049e666fb09ff00ac1999fffffe999a08ffffcab33435ff0004b334
+85059c90ff000a4ccc8c9e8b080b8d8a8c881e0b7a88858a748b08fb87060b948b9b
+90a09208f73dca4ab8fb2137057d8284848b8208838f88931e0b8a888b888b898b75
+9b7ba18ba48ba3a08fa48c8d8b8f8b8e8b9f7c9b758b728b73768673080b8b888a88
+8b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b728b72778672080b
+91a99ea5b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004
+cccc088d9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb
+8000ff0007e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd
+9998ff000a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffacccc
+ffffff1998fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb18
+8b8889897805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ff
+ffed8000ffffe33333ffffd88000fffffccccd080b728905fffff7199affffff4ccd
+fffffb6666fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38b
+ae8ab88a088d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb80
+00ff0000666608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff
+0004e666ff00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a92
+8b918b9380987508f78dfc4d050bf700ff00494ccc43ffff72199a1f8bffffe1cccc
+fffffcb334ffffde999a84ffffdb800068fb472220fb028bffff9ecccc8bffffae80
+01ff004f4ccd8bff008c66668bff0019cccdff0002cccdff001bb334ff0005e666ff
+001dcccc08b3f766f70ee2e28b080bffffab9998ffffa7999805ffffd3199cff0030
+e668ffffbe4cccff001b80003e8bfb3f8bfb2bfb2c65fb58fffffae666ffffe56666
+fffffd8000ffffe6ccce8bffffe833328bffffb8b334ff0016199affffc5ccccff00
+263333ffffd6666608ffffb24ccdffffaeb333a572ff004e3333dd05ff00294cccff
+ffe03333ff0035ccccffffeecccdff003db3348bf74c8bf725f71fb2f75c90ff0019
+ccccff00024cccff0018b3348bff001766668bc67cff00330002ffffe54cccff0028
+666408ff00576668ff005bb334050bff004766668bff00383332ffffe08000ff001d
+e668ffffc1b33408fffe7a8000fffe68333205ffffefb333ff0020e667fffff6999a
+ff0028b3338bff002fb3338bff0019cccdff0002cccdff001bb334ff0005e666ff00
+1dccccb3f766f70ee2e28b080bff00069998ffffe7b332ff00038000ffffe433348b
+6c8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bffffcb
+66668bffffd0199aff001733336aff002b8000080bf75a8bd0f713adf74608bdf796
+0591a79dadb48e9b8c938c8d92088e9d8a8d05678a648a758b758b7c8c738c7f8b86
+828a8489848f879589ab848a63856c0858fb9b0575fb0461fb1afb358b5d8b67a075
+a862c098d197cc08c3f7b20590a796a5af94938d908d8d958c918a94838b738a7a8a
+648b668b638c688c0889898779058a868e87908bab88ab7e8464084bfbdb0563fb60
+f71561e08b080b71a076a5a5a0a0a5a576a071717676711e0bfffffc33348cfffffa
+4ccc8c868b698bffffe580007afffff6cccc8508fffffbb33480ff005be666fb0105
+ff000ce6667c9186918b938bff00083334918c90ff0001666692ff00008000928895
+080bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4
+ccccfffffe999984ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089
+199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9
+b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6676308ff00
+1119997d05ff002b8000a6ff00251998a4ff002cb334b1ff001ab33467ff001be666
+72ff0021199a6e08ff0017e6669905ffffe4199ab3ffffe48000b5ffffec9998ba08
+0b788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2
+e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff
+001233327dff001280007fa18bb98bff0023199aa9ff00183334c708ffffe9333291
+05ffffe9800061ffffefe66881758b080b72a076a4a4a0a0a4a476a0721e72767672
+1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e4088d897e61050b
+847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff
+000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb05738b7188
+7790080ba98b9a72fffff9b3326cfffffa4cce6fffffe74ccc6f6c8b6c8bfffff2b3
+34a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bfffff6999a5dff002180
+0066b98bbb8bff002eb334b1ff00093332b8ff0009999abaffffde3334af5d8b5d8b
+ffffcf999866fffff6999a5d080ba6e0c4cecf8bb68ba46e8b6e088bffffb26666ff
+ff924cccfffff5e666ffff91b334fffff9b334080b7f597d5d8179080b6f59647866
+8b568b76a38bac8bff00666666ff009f3334ff00134ccdff0036ccccff00044ccd08
+0b8b7587738365ffff8acccdfffff7e666ffff4d3333ffffe64ccd8bffff78cccd8b
+54b867e78bc28bc9a7b2b4080b9a72ab5fe68bcd8bc9b3b4c1087d95056468677755
+8b4d8b63bb8bd78b9c8d9e8f9eff00939998ff0007e666ff00a06668ff001280008b
+ff0069999a8baf69c0248b528b5172605e0875ce3f8e738b08ffffa5e666ffffa019
+9affffcab334ffffc04ccc7c937ca3ff001a6666ff001666679eff001880001f8bff
+0004b334fffffe9999ff0002e6668bff0006333208ff002fccceff003f6666ff000b
+e666ff00213334ff0013999aff002e6666fffff58000ffffbf80001e0bff0012cccd
+ff00083333fffff6999afffff11999ffffe1999affffe7e666ffffebb333ffffdbcc
+cd1f778bfffff5e6678f7295fffff7999984fffffb800084fffffd999a7fff0016cc
+cd80ff000fb33385ab8b08ff003c4ccdff003f199aff0020e666c1ff001e8000ffff
+e79998ff0012999affffdcb3341f828bfffff6cccd8afffff799998908ff0021999a
+ff003a4ccc05c3ff000eb334ff0032199aff002c199aff0026e666ff003666668895
+8192828b645f63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff199
+9aff0012999afffff1199aff00133333fffff5e666ff001366678bff003c666608f7
+29d1e3d899a7866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54c
+cc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffff
+e5e666ffffd6999affffd3999affffcf4cccffffcbccccffffde999affffb280018b
+ffffa633338bffffdee666ff000680005eff00178000ffffdf199aff0014999affff
+e3199aff0022ccccffffece666ff0028999a8b08ff00024ccd8bffffcd333339ff00
+04b3338505ff0010ffff90ff000a4ccd8c9e8b080bfffffc33348cfffffa4ccc8c86
+8b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff000ce6
+667c9186918b938bff00083334918c90ff0001666692ff00008000928895080b5906
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b7fffa6ff00
+251999a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba080b8bffffa64cccffff96cccdff
+ffdee6673ffffff63333ff00234ccdff008d199ac2ff001d8000ff0029e6668b08af
+98826e1f0bfffffc33338cfffffa4ccd8c868b698bffffe580007afffff6cccd8508
+fffffbb33380ff005be666fb0105ff000ce6677c9186918b938bff00083333918c90
+ff0001666692ff00008000928895080bffff9c4ccdfb0b05fffff53334fffff33334
+fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85928b928bff00
+08cccd8fff001219999a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6
+999a8cfffff9999a8b08868bfffff9b3348afffffccccc8a080b72a076a4a4a0a0a4
+a476a072727676721e0b788bfffff1199895fffff2666897ffffeecccc99ffffece6
+66996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cc
+cc80ff000fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff001833
+32c708ffffe933349105ffffe9800061ffffefe66881758b080b93ae90a28b9d8bc7
+709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024cc
+ccff0008199ab68bff000ee6668bff000db334fffff8b333ff00076666fffff2cccd
+8b080bffff9c4ccdfb0b05fffff53334fffff33334fffffbe66687fffffdb334ffff
+f4ccccfffffe999984ff0005cccd85928b928bff0008cccd8fff001219999a08ff00
+89199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bffff
+f9b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6666308ff
+0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001ab33267ff001be6
+6872ff002119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba
+080be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666080bff00
+0cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff980
+00ffffa9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0bff
+ffcab334ffffbecccc0576ff0010b334ffffe24cccff000a8000618bfb3b8b3cfb31
+8bfb0c8b6cff00046666ffffca6666ff001d199affffd8e66608ffffcf8000ffffc4
+b334ac70ff002e999aff0039666605ff001319997fff0018999afffff8999aff001f
+b3338bff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff007633338bff0022199afffffbe666ff00
+26199affffeeb334ff001eb33208ff003b6666ff0049199a050bff0000e668fffff4
+e666ff00004ccc808bfffff5999a8bffffd86666fffff98000ffffa9999affffdb80
+00536f60ffffd7800079ffffda80008b7c8bffffed6666ff000a199afffff16667ff
+00183332080bffff358000ffff0833330587ff00119999fffffd999aa08bff0018b3
+338be5b2f726f58ba98bff00104cccfffff0199aff000e3334ffffe3e666ff000133
+34fffffd999aff00013332fffffd80008cfffffd6666080bffff9c4cccfb0b05ffff
+f53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999a84ff0005cc
+cc85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff4ccc9605ff
+ffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccccc8a080b59
+06ffffd9999a5dffffd14ccc60ffffd3e6676308ff0011199a7d05ff002b8000a6ff
+0025199aa4ff002cb334b1ff001ab33267ff001be66872ff002119986e08ff0017e6
+689905ffffe41998b3ffffe48000b5ffffec999aba080bff0003999aff0011e666ff
+00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a4459
+8b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b5269
+5d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c058471
+88758b788b52ab74ae8bd98bbdc9d2f3088e898064050b826b83628b78080b78927d
+a91ebb8bb8adb9c6889485937d8b716d6e77818b080b848890971f8b9490a191a508
+0b988bff000eb3349dff0002666497ff0001333491fffffd999c93818b08ffff0aff
+fe06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080b988b
+ff000eb3349dff0002666697ff0001333291fffffd999a93818b08fb8906808bffff
+f180007afffffd999a7ffffffe999a84ff0002666683948b080bc88bd8b19cd60870
+067d665573588b082c89c48f1f6f800652af5edb1e0bffffe2999a7f05fffffcb333
+36ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea333451ff
+ffcb80006b578b558bffffdc7fffb0ffffffcccdc0080b7a848f901f8b8e8c8d8d8f
+08f728f78dbefb9f050bfffffab33271ff0011800075a58ba58bff001a8002a1ff00
+054ccca5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33471080b
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666ffff
+fbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff93
+80001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccffffcbcc
+ccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00178000
+ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8b080b
+fffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccea5ff00054ccca5
+ffffee8000a1718b08718bffffe5800075fffffab33471080bb606b1adb3abb7a808
+819f05617b667861716fa46e9e679c08777705a96fa76da066080bbd06ff00266666
+b9ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ff
+ffd34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b
+4cce65ff001be6665eff001366665c080b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866fb478a8b
+057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080bffffe2999a7f
+05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ff
+ffea333451ffffcb80006b578b08558bffffdc7fffb0ffffffcccdc0080bfffffab3
+3271ff0011800075a58bff001a00028bff001a8000a1ff00054ccca5ff00054ccca5
+ffffee8000a1718b718bffffe5800075fffffab33471080b6e8bffffe7199878ffff
+fb199a73fffffa800070ff0017333482ff0010666688ff0011999a89ff000c333287
+fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff000019
+9a82ff0004cccc85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfff
+ffeee668ad658b080bff0026199af73a05caddccc6af8ba08b99858b6c8b7d897883
+690865fb34050b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+77818bfffff8e6668bfffffd199a908b97088b9490a191a508b1f733050b93ae90a2
+8b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc
+08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff002819988b8b
+8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffd
+e666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477ffff
+f8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b08b1
+8b8ab7ff0008e666b1080b788bfffff1199895fffff2666897ffffeecccc99ffffec
+e666996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010
+cccd80ff000fcccd80ff001233327dff001280007fa18bb98bff0023199aa9ff0018
+3334c708ffffe933329105ffffe9800061ffffefe66881758b080bff00090001ff00
+271998ff000b3333ff002680008bff0011199a8bff000db334fffff8b334ff000766
+66fffff2cccc8b080bfffffab33271ff0011800075a58ba58bff001a8000a1ff0005
+4ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33371080bff
+00109998ff0053e668ff00116668ff00081998c38eff00053334ff00046668ff0002
+80009bfffffa4cccff000899985d8affffe9b3348affffd44ccc8bffffcdb3348bff
+ffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff0005b334fffff76668ff
+00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664088b7ffffffdccd0ff
+fff08000fffffc1998ffffec33340834fc4e05ffffdc4cccffff4a8000ffffc9b334
+ffffe580006c8b7e8b809386958598809c6e8b08fffff1e666ffffe08000ffffedb3
+3370ffffe0199aff002bcccefffff03333ff0012cccc1fb58bad92b8aebbb0ff0040
+4cccff0032e666ff001cb334ff0091199a080b6b8b5e845c85fffff94ccd83ff0001
+b33380918208b38805978a91828b818bfffff6e66688fffff2199a856f080bffffe2
+ffff8bffffe7199a78fffffb199973fffffa800070ff0017333482ff0010666688ff
+0011999a89ff000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc
+80fffffe333482ff0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c
+3334c708ff000a9998bfffffeee668ad658b080bffffc7e667fb8e05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab8ff0008e666b008ff001a199af707059295ff00008000ff00084ccdff000d
+e6668bff0008e6678bff0008b333fffff8cccd8dfffffae66608d7fb1405ad529479
+ab8bba8bafa7a2b784938491808b7b72737c808b7d8b8d9678ac0828f740bec105ba
+bd9e979f8ba58b877dad8b0899ab9eaaa77592701f6b8b51654a4b0849ffffbeb334
+057dfffff04ccc7d7c768b08ff00124ccdff004f333405ff0008b334ff0026ccccff
+000d8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b080b6b8b5c845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+81088bfffff6e66688fffff3199afffff9e6666f080bffffe2ffff8bffffe7199a78
+fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c33
+3387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff00
+00199982ff0004cccd85ff003acccd94ff00373333a9ff000c3333c708ff000a999a
+bfffffeee666ad658b080bb1f7330593ae90a28b9d8bc7709f648b578b60762ffb00
+088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008199ab68bff000e
+e6668bff000db334fffff8b333ff00076666fffff2cccd8b080bbd06ff00266666b9
+ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4c
+ce65ff001be6665eff001366665c080b6b8b5c845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b818bfffff6e66688fffff2199a856f08ffffc7cccdfb8d
+05fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff580
+00ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a050b7d8b8287858308
+37fb07058a8a8a888b888b859086918b8d8b8e8c8e8c08f706e10594928f978b938b
+9d7a977d8b080b94908f978b958b9b829a738b818b838784830832fb06058a8a8a87
+8b888b859187908b8d8b8e8b8e8d080bff0003ccccff00129998fffff2999aff0012
+6668ffffeb199a8b7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffe
+ccce8affffff999889ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff
+000266668d08ff00886668f70205ff0007333291ff0002800092ff0001333491080b
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+667e08ffffa24ccefb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023332918c90080bff00084ccdff0023333405ff0008b334ff0026ccccff0008
+8000ff0022cccc8bff0011199a8bff000f6666fffff7b333ff0009b334fffff2cccd
+8b6b8b62845c85fffff94ccd83ff0001b33380918208b38805978a91828b818bffff
+f6e6668bfffff2199a846f08ffffc8cccdfb8d05fffffb3334ffffea8000fffff819
+9affffee80008bfffff033338bffffef4ccdff0008e666fffff58000a88bae8b8cb6
+ff0009e666b208ff001d199af709050bbbe2c3e8a28b958b908691849283987e998b
+08a69da8a6a07ca5661f598b514d5f2e080b6e8bffffe7199878fffffb199a73ffff
+fa800070ff0017333482ff0010666688ff0011999a89ff000c333287fffffbe66877
+fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff0000199982ff0004cc
+cd85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfffffeee668ad65
+8b080bedc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b080bc067936a8b76
+8b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b66b966d087080b788b
+fffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666d
+ffffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff00
+0fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff00183332c708ff
+ffe933349105ffffe9800061ffffefe66881758b080b988bff000eb3349dff000266
+6497ff0001333491fffffd999c93fffff5fffe8b08fb8906808bfffff180007affff
+fd999a7ffffffe999a84ff0002666683948b080bf7598bd0f713adf74608c1f7a705
+90a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c
+0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff7
+4ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb9
+0575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff
+002099998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b
+98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c088889
+8878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b
+768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405ffff
+fb199affffe6199afffffdb333ffffe8cccc8bffffeb199a08ffff70199aff006b19
+99ffffdfe666ff004b199a1e0ba98bff000ee66672fffff9b3346cfffffa4ccc6fff
+ffe74cce6f6c8b6c8bfffff2b332a7ff0005b334a7ff0006199aa9ff00184ccca5aa
+8b080bfffff6999a5dff0021800066b98bbb8bff002eb332b1ff00093334b8ff0009
+999abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080bff0003ccd0ff00
+129998fffff29998ff00126668ffffeb19988b7f8bfffff8666888fffff933348208
+ffff95b332fb1f05fffffeccce8affffff999889ffffffccce8afffffe666683ff00
+07e66686908b8d8b8d8bff000266668d08ff00886668f70205ff0007333491ff0002
+800092ff0001333091080bff00043334ff001480007dff000f8000ffffeb199a8b87
+8bffffefcccc8afffff766667e08ffffa24ccefb2605fffffecccc8affffffccce8a
+ffffffcccc8afffffe666683ff0006e66686918b8e8bff000333348cff000266668d
+08ff007eb334f70d059090ff00023332918c90080b5906ffffd9999a5dffffd14ccc
+60ffffd3e6686308ff001119987d05ff002b8000a6ff0025199aa4ff002cb334b1ff
+001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffffe4
+8000b5ffffec999aba080bfffffab33271ff0011800075a58ba58bff001a8000a1ff
+00054ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab3347108
+0b7c797c7572b276ad1fff003433338bff00264ccdff00113333ff00178000ff001f
+999abaff003f3333ff001d3333ff0093cccdff0021cccdff00a8333308c5f7b505a2
+f706b0cdb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae541f518b5b6e
+6b55796d78617839836c6d8a668780838c84917c08affffffd999a059dfffffecccc
+ff00056666fffffbe666fffffd199afffff0b33408ffffee199a2b05ffffc96666fb
+b7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccdffffe1999afffff3
+1999fffff96666ffffec199a8b7b8b878f8596fffff5199aff0014199affffefe666
+ff000be666798b080bf70406eda54d551f8b7d897d88807e4d5632fb2b8b528b7d93
+8ba08b918c928c93080b8e978d998b9a08d05fd6fb581e3f8bb6f75d050b90a39992
+a28b08f71d06cf9b494b1f8b85a990050b8fc390c194c808fbe48bfb0b8c878a8777
+058a898b86928b08a806ab95817a1f8b868a858a850820fc8a05856f7a7a648b0872
+06868788861f87788c89058be58dad1ef70389db8c05f7068cefdda1f5080bf82d06
+62272b2d218b2a8b48cb89f716080bcdbfd2bce98bf7008bcd318bfb188b6a876882
+66887d887f878008fc8606897789788b788bfb0ac72bf73a8bf7558bf724f723b8f7
+5792a88faa8ba88bf71445f707fb438bfb028b4a662b41080b8fa28da08ba08bdd6d
+ce5bb8c68daaaf95c0080b8c928b918b918bb375ab6a8b6e8b787c87738a888b898b
+888b799679a888080b988a98828b7f08880785695e82808b7a8b7f8d7a9164a15c97
+598bfb478bfb32fb2c68fb58877489748b768bfb32f7012af72c8b08f7538bf728f7
+21aef75c080bf700dc3efb291f8b70886d866c6bfb4720fb01fb068bfb058b3bdd8b
+f7248ba48da590a7b0f766f711e2eb8b080be5b8f728f706d89a414b4a69fb4bfb0e
+1e6d4a9ff7141f0b56a6fb0ef713f714f71af718f7321e0b8baf83b473abc18bb3ab
+97c18e948c958b938bae7aa56d8b6e8b777c85738a888b878b88088b7a957ca78897
+8996858b808b8a8b898a8a83696188808b788b7e8d7493080b779572906e8b08fb3b
+2dfb33fb0c1f0bf7618bcff713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b
+05bd8fadaa93bb8d948c958b948bad7ea56c8b6e8b737987748a878b888b888b7a94
+7ba78b08958b918d918e8f878b7c8982877273827a89088a068b418a6764448c8b1e
+898a8778058a868f888f8b08a606ac9981751f8b888b878a860857fbbf0577fb0464
+fb1afb3d8b5c8b65a072a874a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b
+08a606908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f
+8b08a606ac9981751f8b888b878a86084ffbe80587748a768b788bfb2af7076ada8b
+080b8b5dc8a28b708b7d7d84758876886086808b085dfb58057e55fb11fb20678b6a
+8b83998ba88b9a8ea791a208b7f73e050b93ad92ac8b9e8ba38598688b658b4d5a69
+5b08a07c05a9af9c9e998b8d8b95888b808b81887a836a085efb44050b877b85628b
+778b5a9c76c18bc78bceb6daf70f7c52845e8b788b789371ad8bba8bb2b0afca0878
+9b0570647b757d8b888b818e8b968b958fa592ab08cef7b105c690a4af8bbd08ae7b
+a46d1e617d6e771f0b738b6b9c758f0853fb56a5890597b8b8e4d58c08f78d8bfb96
+fbf6059a8e968b9b8bc88be4618bfb0c8b7b8a7a87797b2cfb0afb0d338b548b5faa
+74bb81a07199718b08698b7b7087748a888b898b888b4ff71d6ad88bf7348bf72ef7
+0fa3f71f8e9b8d9b8b9c8be559d6fb02a208f770f7c305999e959a8b940892849078
+1e0bf72af91f638bfb29fd1f050b9ac3a1c6a0bf086e90050b6a436450428b08fb74
+067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccc8
+ff0011b3348bff0008cccc8bff00058000fffffbccd0ff000266687b8b7f8b76846d
+88080badd0a6bdd38b08f77106928b8e8989858a868785858408fc72fcb105fffff8
+ccccfffff8cccd85fffff4e6668bfffff8199a08fffff81999ff0003ccccfffffc19
+9aff000c66681ef7f206a4eb898b1f0bb08bb089ee8bf71c8bf753cbbaf78aff0004
+9998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff007580
+00ffff5ecccc8b4e8b5289648b668b648c5e8c0888898878058a868e88908b08a589
+05ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ff
+ffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e8905
+878b87878a86080bb88bb182a88bff000d99988b93ff00006666ff0009e668ff0001
+666608ffff0f8000fffef73334057774655c877d8e849086918a93889289938aa1b0
+a49b958b9c8ba685ab77080ba47cac81a78bb68baca4baf700fffffa1998ff0006b3
+33fffff8e668ff00034ccd7f8b654e6e866f8b080bffffcd66688bff00058000ae2f
+8bff0045ccccff004de666ff006dccccff00703334ff00388000ff0045e666a4a99f
+a0959b080bfffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a080b6c
+88058787897b8f82080b6b8b5e855c84fffff94ccc83ff0001b33480918208b38805
+978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffffea8000ffff9e80
+00fffff6cccc4cffffedb334ffffb8800075356979798bffffe4cccc8bff00058000
+b6ffffceb3348b08fffff2ccccfffff03334fffff6199affffeae6666bb17bb71ff7
+118bff00348000ff00bae666ff00338000ff00f3199a080bbd06ff00266666b9ff00
+2f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34c
+cd65ffffe54ccdafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4cce65
+ff001be6665eff001366665c080bffffb03332ffff94e66405fffff76668fffff480
+00fffffcb332fffffc6668fffffe3334fffff5e668fffffee666fffff9b330ff0004
+999afffffa999cff0005999a8bff000599988bff0007199aff00039998ff000e6666
+ff000d800008ff006db334ff0062199cffffff6666ff0009e66405fffff13334ff00
+13ccccffffebb332ff0000e668fffffae6688b878b86ffffff1998fffffd6666ffff
+ff199c080b88ff0000e664fffffb6666ff0000e668878bffffe4ccce8bffffeacccc
+fffff0b334fffff8999afffffa999808fffffc999afffff6199cff00498000ffff9d
+e66405ff000a6666fffff28000ff0004b334fffffb8000ff0004cccc8bff00066666
+8bff0006999aff00056668ff0000ccccff00048000ff0001199aff00064cccff0000
+6666ff00064cccfffffd999a94080bbd06ff00266666b9ff002f199cb8ff002ae664
+b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafff
+ffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4cce65ff001be6665eff0013
+66665c080b7c920575757b7d6d8b678b73a58ba58bc1ff001cccccff0025e666ff00
+2bccceff0024999aff007f4cceff002ce666ff005eb330ff0076cccdff001e6668ff
+009bcccd90ff0019ccccff00024cccff0018b3348bff001766668bff009c0002ffff
+96ccccff00631998ffff6de6688b08fb3f8bfb2bfb2c65fb58fffffae666ffffe566
+66fffffd8000ffffe6ccce8bffffe833328bffff67999aff0064e6672fff008eb333
+8bff001133348bff0010e666ff00013333ff00106666ff00026667ffffda8000ffff
+dd4ccc6effffd633348bffffd5e6668b54b56ec18b08b48bafa1a8b8080b5698fb0b
+f7131eff000580008bff00056666ff0000199aff00056667ff00004cccffffd29999
+ffffdf999affffdfb334ffffde4ccdfffff8ccccffffdcb3338055ff0021e66777bd
+8bff0028ffff8bff002c199a9fff00263334b8fffffd666692fffffacccc8f828bff
+ffe5800075ffffecb3347b6e8b08668bfffff74ccda0ff00054ccda5ff0007e666ff
+0026b334ff001de666ff001ce666ff00346666ff00268000ff0002199aff0000e666
+ff0002199a8c8d8cff0057199aff002be666ff0043e666ff0069e6678bff00763333
+08d379e5fb0ffb3b3cfb31fb0c1e0bc2cfc3d5bbc8ff0018199aff001eb334ff000d
+e666ff000f4ccc99a0086e9a0574717c857b8b798b7d8f5c95080b5b9381906f8b68
+8b5e4a7a509284948a968ba0b99c95b98b080bb88b9d82a88bff000d999a8b93ff00
+006666ff0009e666ff0001666608ffff7f4ccdffff55333405fffff53334fffff1b3
+3378ffffec4ccd767708947b059c9092909d8bce8ba54e8b4a8bffffcfe666fffff1
+ccccffffc84ccdffffe13334ffffd8cccdffffe24ccdffffda3333ffffd24ccdffff
+edcccdffffdd66668b718b819e83a284a07c91768b08ffffe5e666fffff8199affff
+e33333fffff8cccd6cff001dcccc68ff004b3334f724f703ff0083e666ff0078199a
+1fcc69d6fb071e0bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687ffff
+fdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cccc8fff001219
+9a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999c8cfffff99998
+8b868bfffff9b3348afffffccccc8a080b919791941f8b8e70e90584a287957a8b70
+8b76708b788b878c878d8808d635058d8a8e8a8d8b080b8b868d878e8808da37058c
+898e8b8d8b08949494921f8b8d66f706058894848e7e8b798b6d778b71080bffffe8
+999a8bffffedb334ffffede668fffffc6666ffffee1998fffffecccd85ff00008000
+84ff0003cccd8508ff005b999afb0205ff0001999889ff0001ccce8a8e8bff000299
+9a8bff000b4cccff00044ccc8dff0009b334ff000033348cff000066668dffffff33
+328c08ffffce4ccef71f05fffffccccc94fffff966678d7f8b080bffffe080008b7c
+ffffe9ccccfffffd3334fffff233348a86ffffffb332858f8608ff004d6666fb0d05
+ff0001999a89ff0001ccce8a8e8bff000b33328b90ff000a6666ff00008000ff0002
+999aff000033348cff000066668dffffff4ccc8e08ffffde6668f72305fffffdcccc
+948490808b080b508b3b65763f08a5069bb1c2a2be8bc08bb4748b680888a8078c91
+8b908b918bb374c4328b080bff001d66689705ff00034ccce0ffffd73334bd458b50
+8bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00348000abbf
+8bc18bff0023800066ff0000333256080bff001d66689705ff00034ccce0ffffd733
+34bd458b508bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00
+348000abbf8b08c18bff0023800066ff0000333256080bffffe2ffff8bffffe7199a
+78fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c
+333387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff
+0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c3334c708ff000a99
+98bfffffeee668adffffd9ffff8b080b6d70697e678b638b6ea276b3839a879f8ba2
+8ba08ea492a69acea7b59ea0b5bab68ea08b08b98ba8789863080bb88cb38cb08b08
+ff00744ccd8bffffc9b3333b9085059c8f948d9f8b089f9a817b6b6679691f748b84
+8c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff002080
+00beff003780008b050b968bff000c66649dff0002199c978c91fffffe199893ffff
+f780008b08ffff2fb33406fffff699988bfffff3ccce7afffffde6667ffffffecccc
+84ff0002199a83ff0007999a8b080bffffefcccc8bfffff34cce96fffff48000ff00
+0d3334fffff16666ff000f6668ffffefccccff000f6664ffffe680008bffffdb6668
+8bffffe74ccc6affffe9e666ffffbf199c08ff00138000fffffa800005ff000e3334
+ff00244cccff000db332ff00108000ff0016199a8bff000e66668bff000e4cceffff
+f3e664ff000d6666fffff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff
+0012b3328bff0027199a8bff001dccccacff0014999ccd08ffffec9998ff00069998
+05ffffecccccffffd1ccccfffff2666880ffffed4ccc8b080b8beaf709b6d89168fb
+2b506c5b8b678b7b948ba8080bfb9958843a8b6508689d68dcf73fddf73ef713e06f
+ce251e3a8b5362533e90809086978bc1c5aca7bb8bb88bb1678b308b868b768a8308
+0b8d938c928b938bb071a6599dc3a0abab96b8080bbca178651f8b828a80887f7f58
+6c603d8b528b6b966ab3087b7b05aa5faa75cc8b08f7288bc4d696bd080ba099856c
+1f8b7d897883690865fb34050bfffff93333fffffd3333ff0004199aff0008e6661f
+8bff000ab3338fff0011800091ff0019cccd08ff0033999af771a0eb057b85778779
+8b808b778c878c088889058d818c818b818b6ffffff9b333ffffe3199afffffb4ccd
+ffffebe666085afb630583ffffde333383ffffd8cccd8b788b78967da98bbb8bb8ad
+b9c6889485937d8b716d6f7c808b080b8a878b878b888b759c809c8b9b8ba89292aa
+080b95b4a3a8a1a19b9ba494a08bac8ba27d997591838d838b83080b8b757d778b7a
+8b878c868e8794819586978b9f8ba59b92a7080b606961746f8b5b8b5eb28bdf8b9f
+8da191a59cd3a6b39ea0b5bab68ea08bb98ba8789863080bffffe2999a7f05fffffc
+b33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea3334
+51ffffcb80006b578bffffc9ffff8bffffdc8000b0ffffffcccdc0080bffffdcffff
+8bffffeae66772fffffcb3337bfffffc80007aff0005333373b38bff001833338bff
+00061999ff0006999887ffffec6668fffffb4cce74ffffe580006bffffc4999a7fff
+fffe999984ffffff199982ff0003333487b290ff001f9999ff0010e666ff00153333
+ff0015199a08ff0014199a9fff000b6666a1ff0004e667a3ff00074ccdaffffff099
+99b0648b080ba556c26dce8bcb8bc69fbbb3bdb3acbd9fe28e998d9b8b9b8bb282b4
+78a26cb357a6448b08478b4f6d585608a27d05bebda89acd8bae8bb1739976997990
+758b728b6d84698162805a754e5e6774786d7e648b08488b6e9e6ebd080b74990557
+596678478b658b73987c9e7c9e86a58ba78ba38fa590a29cd69bc2bab3a4a0bba3ae
+8b08ce8ba17ca65908a9990570c05da9478b448b4a705b63616964487f5b846d8871
+8b758b61976c9f71a963bc77cb8b08ce8bd0a9bec0080b808b7d8584800836fb2305
+898889868b8a8a8a8b8a8b8a8b859186928b8f8b908f8f8f08f70bf70e0591908d90
+8c908c8d8b8d8b8e8b9c7c99798b080b7e8b808587800857fb23058a888a878b888b
+849185938b8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080b8871ffff
+f2b334ffffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386ff
+fffd4ccdffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05
+ff00008000ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe833
+34ff0001cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff
+000780008cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff000066
+68ff00068000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc9105
+85818887898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbcccc
+ff00016666fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bff
+fff166688bfffffa9998fffffecccdfffff98000fffffdcccdfffff8333408fb21fc
+7c0584707e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae666
+0889788d8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199a
+fffffcb333ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c
+8b93ff0001999aff0008e667ff00028000ff0009333308f712f84a8d8becfc9b058d
+849087918b908b908e909308f7d3f8a58d8b050b866f7a7b628b087106868b87888a
+860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a1
+1f8b8e8b8f8c9008e4f88a0590a9a599a78c08a80690908f8f1f8f9e050b898bfb11
+88858b08fb5c8bfb5b8b050b7d8b228e848b08877705888b87921ea906a69c85711f
+8b878b878a860833fc8a05866f7a7b628b087106868788861f87788d89058be88daf
+b2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e1f87c
+050b91ac9296aa8b08f78a06a391827b1f8b858b858a84080b758a76857a7d676e80
+62825b856767fb42fb196908c7f7e90590a79b9bb48b08a6068f8b8f8e8c90088e9e
+8a8d058b2d886764358e8b1e88898878058a868e88908b08a506ad9981751f8b888b
+878a86084ffbec05549653b38bf7038ba18da390a7080b8fa18d9f8b9c8bc673aa5b
+8c086c06837d8b7e1f8b86908a92899b86a5848b4b8b798974866f080b877489778b
+788bfb15e35de4820874fb1905866f7a7b628b087106868b88888a860887788d8a05
+8be88dafb2e2898b1e8d8c8e9e058c90888e878b0870066a7c95a11f8b8f8b8f8c8f
+08a3f71a05ee99f707cdadf7509df1b396a192938d948d8b940893828d7f1e0bf73c
+f789057f8b7b867d8b7d8b7b907d8b083afb228b8c8b94050be375bf471e368bfb12
+4d60fb4c846e87708b728b3db15ae58bcb8bbfb4d0ee088a648b83050b4c9c6dad1e
+b38ba8a5afca08749405746d7f84738b778b7ea78bbe088e070bc0964d351f8b858a
+858b84088b76736205552b564e618b085d79b1c51ff71edaf72cea1e0b938baa8593
+8b08a88e9e929483907d1f858b61868a8b086b7196b4cdb8c3be1fcc8b6a3bba8b08
+a39ea2a2ac5fa949fb054f354d1f8b6b9d77ab7c080b326d704e8b568b5da55af18b
+c58bc4a8b1aa08819e0560706379608b085d72a9b41fb9abd2d61e0b93ae8fa28b9d
+8bc7709f648b578b60762ffb00088a8cff00024ccdff0009333405ff0009b334ff00
+26ccccff000c8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff000766
+66fffff2cccd8b080bcaddc2c7af8ba08b99858b6c8b7d88778369084cfbaa0572fb
+077a4a7769089279daad05939b909f91a394b294bb97be080bfffff9199affffe199
+9afffffe6666ffffe966668b73084bb564eaf725e0f76af722c876ae657e71826c1e
+8b61bf9a8b3f082b3cfb422a517ca6b81e8ba491a5ff0008199aac08ff001f3333ff
+00873334050bff0008b334ff0026ccccff000b8000ff0026cccc8bff0011199a8bff
+000db334fffff8b333ff00076666fffff2cccd8b080b8bf7062dc46f9a08797805c3
+4d99538b608b78887a887d752a6a2e348b568b7ab284d1a0adaad58ba60897869179
+6974454c1e8b838b848c835f446768638b598b73a58bc48ba08ea692aaabf71bf4e1
+ac9c08849f052555fb23fb088bfb398b32c36dcf8bc08bb8a9bbd6943cba71bb8bf7
+2f8bc6f7548bd7080b856efffff1199a7fffffd6e66687086c88058787897b8f82b8
+8caf8cb28bb18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091
+a608ff002e6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff0020
+19989dff00124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffff
+deb3348bffffd99998fffff13334ffffe3b334ffffe6ccccffffbe199affffc54ccc
+ffffd34cccfb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334ff
+fff5b334ff00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7
+b3348b638b61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd99
+98a49d9c95b18b08ff0024199aff0034e66655201f8b5d844d7f4f080b9882ac6b8f
+7c08ada305879b6aa87a9757af5a8d688b3b8b416d4245484964447928867089728b
+748b52995ca55b08b83dcf69e88bb08bad93ab98bfa1bfb6b1be087d9c056a633246
+208b558b5d9b70be75b580b68bc08ba58da691a9a3f71cb2c4a8adbdc5bea2c38b08
+d28ba47ea27b080ba89ba998d18bc48bb574a8519774986b8b4f8b6d8767845d7a2d
+6a4a554d5e58567b568b08208b4ad078b308787a059f58b060b775a67eaa83b08be8
+8bdcadd3d9c8cfafcf9be690a68da48ba28bc97bbe6bbb085bd14ba93b8b688b5a89
+4a67767f5f6e827b08a47305949ab7ab9c94080bd78b9258944608a990058bb48ec7
+91c108fb8a8b3d8b050b8a878e888f8b08a906ad9685771f8b858a858a84082afc89
+05846c7a7e638b087106868b87888a860887788d89058be28db2afe8898b1e8d8d8f
+9e058c90888e878b087006697e969f1f8b8f8b8f8c9008ecf889050bfb068b52f722
+9bf715a996a58eb38b080bc38ba06bcb8bc48bcda891a48d93868f878b848b787b66
+8b080b8c8d8f9e058c90888e878b088006678b61d66bf7197cc77fba468be1a4b0f1
+a2ca95a8a6a7a18b988b9784948091829a87988b08a08ba59c90a48b8d8c8e8b8e8b
+a07ba05c8b458b4d5a7851775371404a6b707dffffd2e666ffffff199a67ffffffe6
+6608ff0028199af764050b91a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff0030999aff00fbe6
+6605ff006ee666fffffe3334ff0009e666ffffd6b332ff0013999affff9c3334a1fb
+029d46db8a080b91a79c9bb28b08a406908b8f8e8c90088e9e8a8d058b3188696538
+8d8b1e898a8778058a868e888f8b08a506aa9982771f8b868a878a8508887efc28fc
+3fe8f84d0591a79c9ab28b08a406908b8e8e8c90088f9e8a8c058b31896966388d8b
+1e888a8778058a868e888f8b08a506ab9882771f8b878a868a860820fc8b05856f7a
+7a648b087206868788861f87788c89058be58dadb1dd898b1e8e8d8f9e058c90888e
+878b0871066c7e94a01f8b8f8b908c91088d91f828f83f2ffc4605856f7a7b648b08
+7206868b88888a860886788d89058be58dadb1de898b1e8d8d8f9e058c90888e878b
+0871066c7e949f1f8b908b908c90080b7c8b7f968594859775927d8b6b8b7979866f
+8a898b898b898b6eb177b38be58bd1d5caf70108f77ff82905a3b39797b98b8f8b92
+8d8c91088f9e8a8c058b5a8a6c604a8c8b1e898a8777058a878d888f8b08a806a497
+89801f87078a858783847f08fb5afbee31f7ee0589968b948c928d959391a08b08b2
+068f8b8e8e8c90088f9e898c058b3a8a59624d8c8b1e898a8877058a878e88918bbc
+8b9764917708f705fc3b055d406e766b8b080b799b0571676171708b6e8b7b998b9e
+8b948e8c8b9508987e93777c6f846663b96fc61ebb8bbcaca8be080b8c8d8f9e058c
+90888e878b0882066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca96a8a3a79f8b97
+8b9584928091829887978b089e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b4c8b525a
+795178537240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44c
+cc050b90a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e89
+8a8778058a868e88908b08a506ac9a81761f8b878a878a8608ffffd78000fb64056a
+8bffffd36666ff0000199affffeb199aff000ee66669a284b88bb78b9d8c9c8c9b8b
+8e8c8e8b8d080bc265b74f1e5b8b757087748a888b888b888b779a7e9c8b978b9a8f
+949497969892968b9f8b98728b6f0887078a7e8b7d8b7c8b509346c0774d8b705c67
+4f3efb1949406a8b088206878b87888a860887788c89cd8c05d38cb5d0c7f702c3f1
+a3b4f58b08ff00016666ff0006b334ffffcd999afffefd4ccc05866f7a7c628b0871
+06868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e7006
+6a7d94a01f8b8f8b908c8f08ff00311998f79005ff0069e6688b94629b259cfb029a
+46d38a080b428b74ad84c888ab8398708b758b7c76867185709a70a076a473b36cd9
+8bf7058bf720c0abf72b08a2f641b44c9fd5a6bfbd9cda9fea2aba328b518b687f37
+8b0853fb43a78905b2dcb2d5f70a8bc68bbe587d487f545b3dfb078b085f06808b83
+83888089809084968b08d106f7048b9afb01805874fb002e60478b080b6406878b8a
+898a88088775f7118df706898ea0058c8e898e888b086e067282919c1f8b918d938c
+9508eef88c0592b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a
+888c898f8b08a806a594877b1f8b868a8389820860fb720542604b876e8b4d8b689f
+8bc28b958c978e9708aaf7350591aa8f96b58b089d068f8b8d8c8c8f088fa0fb018a
+208c87768b8905898d8a8e1e9d06a894877a1f8b868a848982086efb2a0587778978
+8b798b44ad59e68bc48bd39bddbe085cfb88058569847e678b080b90a79b9bb58b08
+a506908b8f8e8c90088e9e8a8d058b2d896764358d8b1e88898878058a868e888f8b
+08a606ac9982751f8b878b878a860829fc8a05866f7a7b628b087106868b87888a86
+0888788c89058be98dafb2e1898b1e8e8d8e9e058c90888e878b0870066a7d94a11f
+8b8f8b8f8c90080b2afc8a05856f7b7b628b087006868b88888a860887788d89058b
+f08da71ea88baa89af8bf70d8bf7349cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8b
+b2f75d0591a99d99b28b08a6068f8b8f8e8c90088f9e898c058b348a64682e8c8b1e
+898a8778058a868d88908b08a506ae987f771f8b878a878a87080be306f4a74f531f
+8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d93080b6cfb1e34fb28fb
+0e8b468b5ca683d388ab83986f8b7a8b7b7a86718570986ca176a473ba6cde8b08f7
+378bf71ef711baf770b9f76d31f700fb328b268b596153887d54795c755608a78705
+b6e1dedce68bd98be54469fb6276827385718b080b538b75aa4b8b538b486f867289
+8290888e8b938b9e9baf8b080bc48bac65c78b08978bb68bc7ad080ba3a4b3a4ae8b
+a98b9c768b6f8b646c74596d08516805576b61638b518b5fac56d58bc68bcfb2afb6
+087aa2056b6c6476688b628b73a88bb18bb2acafbca908baa805b9a8c1ad8bc18bb8
+68b1548b4b8b535c6e6c080b70fb01468b0590a48fa48bad8bc573be5f8b628b5460
+5c5a08977205a2a1b5b0a48b08a6996658fb1a44fb085f1f6b8b7aa67e8b08738073
+777aa174a31fcb8bf704e0b3f72008d28affffdeccccfb2005fffffb333477fffff8
+199a728bfffff633338bffffef4ccdff000b199afffff58000ff001fcccc8bb08b8a
+b7ff0008e666b108ff0022199af721d18b057e5d86608b6e8b54a357b88bb08bcdb5
+b7c00880a3057473606a728b086d7ebdbbf710cdf702b41f998b8d8a9c789284928a
+978b08999a97ac9f76a1771f588b27405efb0a08408ba4f3058f9d94a98b978b9c82
+956c8b658b8c5f8265080ba793d0b58bd08bcd479e578b458ba27f308b7f587e647b
+6108a38605a8cfb3bcd48b08abb37761616253451f66068381817e858e85921fc706
+0baf9c6d673e4c57515f769fa91f8b908c8e8b90080b799b0571676171708b6e8b79
+998b9e8b948e8d8b9408988199767c717e6663b76ec61ebb8bbcaca8bf080b9ea99f
+ac9d80986b1f5a8b5f556e5cffffde999a55ffffd8e666ffffd96666ffffbf3333ff
+fffe999a08ff0011999aff004c333405ff0008b334ff0026ccccff000b8000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b080b6b8b
+5e845c85fffff94ccd83ff0001b33380918208b388050b978a91828b818bfffff6e6
+6689fffff2199a846f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff6
+33338bffffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b1
+08ff001fcccdff0089cccd05ff00469998fffff94cceff000bccceffffda3333ff00
+09e666ffffcbb3339362ff0014ccccffffb94ccdff002d3334fffffeb333080bd089
+8d8d909e058b91fffffb4cccff00013333fffffab334ff0000cccd08848c05ffffda
+e666ff00054cccffffed199aff0055b33484b181bc69a0558bb992abb5a4b69daa9f
+a1958b08a28b837aaa8b080b6b8b5e845c85fffff94ccd83ff0001b33380918208b3
+8805978a91828b818bfffff6e66689fffff2199a846f080b93ab97b48b9e8b9e8599
+6d8b5b8b52695d508e829183998ba5a9ab9a958b928b8e868b7f088b82fffffb6666
+ffffefb334fffff9999affffe54ccc0866fb2f050b867487718b788b48b072aa8bd2
+8bc0c7c5d5088d8905857989ffffe5b3338bfffff84ccd080b6a73a5b51f8bd6b6b3
+9695b2aea5979e8b08a3a0745e1f264544531e0bff0009b334ff0026ccccff000a80
+00ff0026cccc8bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc8b
+080b978a91828b818bfffff6e66688fffff2199a856f0860fb5a050b877a88788b7c
+0854b56ebcf70bf712f0f713c16eb85c1e648b526d4f520889060bfffff93334ffff
+fd3334ff0004199aff0008e6661f8bff000ab3338fff0011800091ff0019cccd08ff
+00339998f771a0eb057b857787798b808b778c878c088889058d818c818b818b6fff
+fff9b334ffffe3199afffffb4cccffffebe666085afb630583ffffde333383ffffd8
+cccd8b788b78967da98bbb8bb8adb9c6889485937d8b08716d6f7c808b080b678b80
+9e618b638b5d79877c8a878a82918b928b9690968b080bac8b9f70b48ba88bae9ba2
+97793d5020348b658b749e8baa080bae8b9778b48bb48bb99d8f998b8f8c95858b84
+8b81867f8b080b9c99807e1f8b7e79758b7208759978a9bc95c79fb66ab049fb3afb
+35fb6afb85fb06b626f7221eed8bb7b3b3bc0891069f5aa563ee8bf7548be6f74fab
+f72c92aa8eaa8ba808f71e43f1fb02384f524977927aa6adada5ba1e8b908a8f8b8f
+08acac9196c6b14a21fb3d2afb98fb251e0b3c76bab41f8b948c938d930896bf0591
+a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e8889877805
+8a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b083c6bd9
+ef1ff75df703f771f7031e0bac696e757d94819aa29ea2a8a57ba45dfb1b30fb35fb
+1638ad3bdf1fd38bb0b2a2b2088e0691649e64d38b08f709f701f737f724e45ec53c
+4a6f5a707b94809a1fab8b97b0869789988c989f8b08bb9e66523456fb6dfb011f0b
+6080a7a91f8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a
+8d058b4b89686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85
+898408846c058366754b4a8b08577cbbc01fdeb8f76af7031e0b3e655d5a7a6f87a6
+6fbe4fae08f738f772050be9f70c059396908c8f7f08b9fb1105526a72687c7388a4
+81b25cac080b89818980898168fb47fb00fb01fb078bfb028b3cdb8bf720089707b0
+b6cba5b48baa8ba47ca67aa57ba57aab8ba48bcb95c2d4080b90a48da28ba28bf732
+fb04eefb268bfb478bfb35fb2b65fb58867288728b748bfb2ef62cf72a8bf7538bf7
+2af721b2f75c080bf4da42fb251f760766594d7a6a8b708b709b709c6f9b709b6f8b
+4f8b4d6167598d978c978e98b4f766f712e1ec8b080bfb39fbbe5c377de253f7f805
+8a938b918c918e9b9993af8b08a606908b8e8e8d91088e9d8a8d058b318868643d8e
+8b1e89898879058b8a8a8a8b8a08878e898f1e9706b38b937c8f6e08e3fcc5058e7c
+9083968b958b9593949a08f7abf888050babc4a3a1a48b958b968891849185968995
+8b9a8ba39b90a48c8e8b8e8b8e8ba3759a6f8b08408b4d3d6243080b29fb336c5988
+c067f76e0588998a938c92080b8e9595919f8b089c068e8b908d8d9108909f878d05
+8b4e896469568d8b1e88898677058a868f88918b089606a88b937e906908c3fbed05
+8d7f9183978b968b9593949908f742f7ac050bafc3a2b1a58b948b96889284908596
+85958b9a8b9e9791a38c8e8b8d8b8e8ba36c967a8b085a8b5b6944fb06080bfc168b
+748b05afefe5e9f58b08ed8bd24a93fb15080bfb0642f0f7231f8ba58da790a8080b
+8e988d988e9608ab8bf8668b058d988b988b988bf7124cf6fb438bfb2e8bfb0a2f4f
+fb1c0881064c5994af1f930790a7aaa0a28b9f8b9c9d8e9b8c8d8b8d8b8d8b9a7f93
+7e8b5e8b4e52804b8a848a858b860854be7cd11ea906847586758774080b726e756c
+759b7ba1a3a9a1ab1fa07b9b751e0b90a79c9bb48b08a506908b8e8e8c90088f9e89
+8d058b2e886764348d8b1e898a8878058a868e88908b08a506ad9981751f8b888b87
+8a8608897efc27fc3fdaf84d0590a79b9ab48b08a506908b8e8e8c90088f9e898c05
+8b2d896864348d8b1e898a8878058a868e888f8b08a606ad9982751f8b878b878a87
+0832fc8b05866f7b7b628b087006868b88888a860888788d89058be98daeb2e1898b
+1e8d8d8e9e058c90888e878b087106687e95a11f8b8e8b8f8c90088c91f826f83f3e
+fc4605866f7b7c628b087106868b87888a860888788d89058be98daeb2e2898b1e8d
+8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f080b678b7b9f628b638b
+4976887c8a878a82918b928ba992968b080bab8ba46fb48b9e8bff00156666ff0006
+cccdff00134cceff00084ccdfffffa1998ffffdbe666fffff5199affffd88000ffff
+ec199affffe180006f60ffffd7800079ffffda80008b086e60b1f41f0b8a888b888b
+898b7c967f9b8b9e8b9e9b909e8b8d8c8e8b8e8b9a80967a8b788b787c8778080b8a
+888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80977a8b08788b787b
+8778080b8a888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a8b
+788b787c8778080b8a888b898b888b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a
+80977a8b788b787b8778080b8e06968bb48e96c108d6f7f70591a28d9d8b998bb971
+906292788f6a918ba6088e078b8b55827f5389858b868b868b69a473b584b384a383
+8b6a8b838a82887f080bd6aeaae694b591a48e9f8b9a08b37695586f698bac1e9007
+8b8b61867b488a848a858b858b6ba477b98ab589a57c8b718b878a888a87805d7864
+6271080b8c8b8d8b05978bb38e97c108d6f7f70590a28e9d8b998bb970906392778f
+6a918ba6088e078b8b56827e538a858a868b868b69a573b484b484a3838b6a8b8389
+82887f080b6c8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b9899c7
+cfb6bcabb191a3088b8d8c8d8b8d8ba07190808b080bfffffab33271ff0011800075
+a58ba58bff001a8000a1ff00054ccda5ff00054ccda5ffffee8000a1718b718bffff
+e5800075fffffab33371080b988bff000dccce9dff0002666697ff0001666692ffff
+fd666692828b08ffff33000106fffff400018bfffff280007afffffd99997ffffffe
+999a84ff00024ccd83938b080bfffffab33271ff0011800075a58ba58bff001a8000
+a1ff00054ccea5ff00054ccca5ffffee8000a1718b08718bffffe5800075fffffab3
+3371080bfffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccda5ff00
+054ccda5ffffee8000a1718b08718bffffe5800075fffffab33371080b5906ffffd9
+999a5dffffd14ccd60ffffd3e6666308ff0011199a7d05ff002b8001a6ff00251999
+a4ff002cb334b1ff001ab33367ff001be66672ff002119996e08ff0017e6689905ff
+ffe41998b3ffffe48001b5ffffec9999ba080b5906ffffd9999a5dffffd14ccd60ff
+ffd3e6666308ff0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001a
+b33367ff001be66772ff002119986e08ff0017e6689905ffffe41998b3ffffe48000
+b5ffffec999aba080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ff
+ffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b334ac9b9aa5
+8b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18bff002dffff
+8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe6688175
+8b080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d
+8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff
+000fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708
+ffffe933339105ffffe9800161ffffefe66681758b080bff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc50050b
+fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33338b
+ff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b838b
+87918b93088b938e9a94b3080bff0006e6688bff000c4cccff00044cccff00103334
+ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff936668ffffb6
+199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff8199c8b848effff
+fd4cccff000633348b080bffffb33334ffff974ccc05fffff7b332fffff4b334ffff
+fce668fffffc9998fffffe3332fffff6199cfffffee666fffff9ccccff00046668ff
+fffab334ff000566668bff000566668bff0006ccccff00039998ff000de668ff000d
+333408ff00699998ff005fe668ffffff6668ff0009b33005fffff1b332ff00136668
+ffffec8000ff0000ccccfffffb199a8bfffffc199a8bfffffb4cccffffff199cffff
+fd8000ffffff1998080bfffffd199aff0000e668fffffb8000ff0000e664fffffc33
+348bffffe5cccc8bffffeb999afffff1199cfffff8e666fffffab33008fffffcb334
+fffff64cd0ff0046b332ffffa019980595fffff2ccccff0004999afffffb999cff00
+04999a8bff000633348bff00064cccff00053330ff0000ccccff00046668ff000119
+9aff00063334ff00006666ff00063334fffffdb334ff0008cccc080bff00238000ff
+ff9d8000ffffa28000ffff768000050bfffff5999afffff0ccccfffff56666fffffc
+3334848b838b808d838f828f818d818b08757b7b7571ae7fa21fad8bff00183333ff
+000f3333ff002bcccdff003ecccd08ff00458000ff00638000ff00268000ffff8680
+00050ba4709a741e598bffffdf3334ffffeeccccffffceccccffffb933340859436f
+e305ffffef6666ff00343334fffff4999aff0013cccc728bffffe880008bffffb680
+00ffffd680006871ff00016666fffff5199aff0003999afffff3e66693fffff84ccc
+97ff0005b334ac9bff001480008b988b958890fffff78000ff00048000fffff84ccc
+ff0006b333ffffef3334ff00064ccdffffee8000080b5906ffffd9999a5dffffd14c
+cd60ffffd3e6666308ff0011199a7d05ff002b8000a6ff0025199aa4ff002cb334b1
+ff001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffff
+e48000b5ffffec999aba080b9992a69a8ba7089d7fab52536767728190809c9b9a95
+991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d
+846a08a60690a49d989f96080bff000380009cfffff84cccb4548b080b618bffffd7
+e66668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002
+333496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff
+0000ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987fffff
+f880007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff0007
+4ccca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f08
+0b8b8ffffffd3334ff0004ccccfffffb1998ff0004cccc08ffffb8999aff00433334
+ffffc3199a67ff0062b334ffffcd999c05ff000b3332fffffa6664ff0009ccce8792
+8bff000a80008bff0002ccccff000a66688bff0004cccc080bffffeb19988bffffef
+8000ff00098000fffff1199cff000b6668ffffed1998ff000d4ccc76ff000d4ccc6a
+8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff0012
+6666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff00128000
+fffff59998ff00114cccfffff580009ffffff2b334ff00146668fffff49998ff0018
+33308bff0032999c8bff00269998ff001c8000ff001a999cc408ffffe6e664ff0005
+b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b080b788bff
+fff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666dff
+ffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000f
+ccce80ff001233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffff
+e933349105ffffe9800061ffffefe66881758b080bf799be87d88bb108a474bc431e
+0bfb4243fb3efb1336b348de1fce8bc8aec6d7869685907f8b525174825b8b5e8b6c
+a38be68b908ba08c93080bff000380009cfffff84cccb4548b618bffffd7e66668ff
+fffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff
+0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff0000ccce
+8f088c90ff00063332919e8ba08b9181fffffb4cce74fffffd99987ffffff880007f
+fffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff
+000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f080bffffba
+3334ffffa0cccc05fffff88000fffff5b334fffffd199afffffce664fffffe666682
+8afffffa66688ffffffb3334ff0004e6668bff0004e6668bff00063334ff00033330
+ff000c999a9708ff00601998ff00573334ffffff6668ff0008cccc057eff0011999c
+ffffee4cccff0000ccccfffffb80008bfffffc80008bfffffb999affffff3334ffff
+fdccccffffff3334080bfffffd4cccff0000cccc87ff0000ccccfffffc80008bffff
+e833348bffffed8000fffff26668fffff98000fffffb333008fffffd199afffff733
+34ff00404ccdffffa8cccc05ff0009199a7fff0004199987ff000433338bff000599
+9a8bff0005cccdff0004ccd0ff0000b3338f8cff00059998ff00004ccdff00059998
+fffffde66693080bff000380009cfffff84cd0b4ffffc8fffe8b080b618bffffd7e6
+6668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff000233
+3496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff00
+00ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987ffffff8
+80007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074c
+cca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff000419989f080b
+8b90879184910825df345ef7214c050b9b849986958b9a8b8f988b91080bf7618bcf
+f713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b05bd8fadaa93bb8d948c95
+8b948bad7ea56c8b6e8b737987748a878b888b888b7a947ba78b08958b918d918e8f
+878b7c8982877273827a89088a068b418a6764448c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b888b878a860857fbbf0577fb0464fb1afb3d8b5c8b65a072a8
+74a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b08a606908b8e8e8c90088f
+9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b88
+8b878a86084ffbe80587748a768b7808fb2af7076ada1e0b766d054d315e485c8b2e
+8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0bb10788e871c3278b308bfb135263
+fb4c71fb10bf32f71d8bd18bcaacc8d7080b89419c68b18bb78baba7b8dc08739405
+6d5e7582718b728b7aa88fca08f769f7be057c897c8a7c8b7c8b818c7c8d080b678b
+7c79887b887b8a72b48b928b8d838981867472665f82087a07e790aad691a592af7d
+b0658b080b648b6e66836786718a3fe48708939c05639381b190a18d969093938bb3
+8b96a38e9c8e9b859d678b080b678b7c79887b877b8b72b48b928b8d838981867471
+665f82088c7a05e790aad690a593af7db0658b080bc0fb1b058c898d898f8b958b91
+918c908c8c8b8e8b8c080b84f72c058a9682927a8b738b7a79877b8a878b868d8708
+0b658b6d66836786718a3fe48708939c05639381b190a28d959193928bb48b95a48e
+9b8f9b849d678b080b958b91918c90088b90050b85f72c058a9682927a8b738b7a7a
+877a8a878c868c87080b678b7c79887c877a8b73b48b928b8d828981867571655f83
+088c7a05e78faad790a50893af7daf658b080b818b7887847b0849fb308b8a058a88
+8b82988b8d8b908c8d8f08f4f71f058e8f8d8f8c8e8d9788a16e8b080b4d315e485c
+8b2e8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0b648b6e66846785718a3fe587
+08929c05649380b190a28e959093928bb48b95a48f9b8e9b849d678b080b818b7987
+847b0848fb308b8a058a898c81978b8e8b8f8c8d8f08f5f71f058e8f8c8f8c8f8e96
+87a16e8b080b638b80b8548b628b706f7254080bb28ba061b58bb68baba4a3c4080b
+76900576697b80778b080b638b7fb8548b638b706f7253080b9ca89c99a08b080bb2
+8ba060b58bb68baba4a3c4080b75910577697c80768b080b648b6e66836786718a40
+e48608939c05639481b090a28d969192928bb38b96a48e9b8f9c849c678b080beaf7
+2f0592969391a48b08f7668baafb40058c858b858a86877b7a806c8b086f06868b87
+888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c90868e878b087f06648b
+7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb70576697578628b08
+8006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f9e058c90888e868b
+086f066d8b7c948e9b088c918e918f92080b788b858e8c918c8e8c8d8d8f08f72cf7
+8dbafb9f050b678b7d79887b887b8b72b48b928b8d838981877471666082088c7a05
+e790a8d690a50893b07caf648b080b648b6f66846786718b40e58608929c0564947f
+b090a28d969192918bb48b95a48e9b088e9c849c678b080be9f72f0592969491a38b
+08f7678ba9fb40058c858b858a86887b79806c8b086f06868b88888a860887788d89
+058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b9e84b20828f8b2
+05879f8495798b818b82847d7408fbe8fcb70576697678628b087f06868b88888a86
+0887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e
+9b088b918e919092080b788b858e8c918b8e8c8d8d8f08f72cf78dbafb9f050b678b
+7d79877b897b8b72b48b918b8e838981867472666082088c7a05e690a9d690a50892
+af7cb0658b080bc3fb1b058c888c8a908b958b91918c90088b90050b81f72b059782
+927a1e728b7a79887b8a878c868c87080be9f72f0593969391a38b08f7678ba9fb40
+058c858b858a86887b79806c8b086f06868b88888a860887788d89058bec8dafb2d7
+898b1e8f8d8e9e058c90878e868b088006638b7b9e84b20828f8b205879f84957a8b
+808b82847d7408fbe8fcb70576697678628b087f06868b88888a860887788d89058b
+cb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e9b088c918e918f
+92080b788b858e8c918b8e8c8d8e8f08f72bf78dbafb9f050b648b6f66846886718b
+3fe58708929c05639380b090a28d969092928bb48b95a48e9c088e9b849c678b080b
+c2fb1c058c898d898f8b958b91928c90088b8f050b81f72c059682927a1e738b7a7a
+887b8a878b868d87080be9f72f0593969391a38b08f7678baafb40058c858b858a86
+877b7a806b8b087006868b87888a860887788d89058bec8dafb2d7898b1e8f8d8f9e
+058c90868e868b088006648b7a9e84b20828f8b205889f83957a8b808b83847d7408
+fbe8fcb70576697578628b087f06878b87888a860887788d89058bcb8da5a3ee898b
+1e8d8d8f9e058c90888e868b086e066e8b7c948e9b088c918e918f92080b788b858e
+8c918b8e8c8d8e8f08f72cf78dbafb9f050b678b7d79887c877a8c73b48b928b8d82
+8981867572655f83088c7a05e78fa9d790a40892b07caf658b080b818b7987847b08
+4cfb30058a8b8b8a888b82981f8d8b8f8c8e8f08f1f71f058e8f8d8e8c8f8d9787a1
+6e8b080b658b6e66846786718b3fe48708939c05639381b08fa28d969093928bb48b
+94a38f9c088e9b849d678b080b818b7887847b084cfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8d8f8b8e8e9786a16f8b080b9ba99c98a08b080be9f72f
+0592969491a38b08f7668baafb40058c858b858a86887b79806c8b086f06868b8888
+8a860887788d89058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b
+9e84b20828f8b205879f8495798b818b82847d7408fbe8fcb70576697678628b087f
+06868b88888a860887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b08
+6e066d8b7d948d9b088c918e919092080b78858e911f8c8e8c8d8d8f08f72cf78dba
+fb9f050b638b7fb8548b628b716e7354080b9ca99b99a08b080bb18ba15fb58bb78b
+aaa5a2c3080b76920577697b80778b080b658b6e66846786718b40e58608929c0563
+9481b08fa28d959093938bb38b95a48e9b8e9b849d678b080b97c3b4aec38b948bac
+86938ba18b94938e978d978291798b868b5d868a8b608b6a9c9ad00899cdbda2aa8b
+b28b93729275917a927ba18b978ba49391a893af58af3e8bfb0b8b593b8263088059
+a071b7782a6d7c5185748157963ff71e8bca8bc7a8b3aa087f9e055e7061785c8b50
+8b6eb797c1080b97c3b4aec38b948bac86938ba18b94938e978d978291798b868b5d
+868a8b608b6a9c9ad00899cdbda2aa8bb28b93729275917a927ba18b978ba49391a8
+93af58af3e8bfb0b8b593b8263088059a071b7782a6d7c5185748157963ff71e8bca
+8bc7a8b3aa087f9e055e7061785c8b08508b6eb797c1080b678b7d79877b887b8a72
+b48b928b8d838981867471665f82088c7a05e790aad691a593af7cb0658b080bc1fb
+1b058c898c898f8b958b92918c90088b90050b658b6d66846885718a3fe58708929c
+05639381b090a28d969192928bb48b95a48e9c8f9b849c678b080b818b7887847c08
+49fb308b8a05888b82971e8e8b8f8c8d8f08f4f71e058e8f8d8f8c8f8d9688a16e8b
+080bfb168c877605888b87921ea806b28b957d856c082afc8905856f7d7b638b086d
+06858b89878a88088775f7158d050bd98af7b98bc4f7347190056e4264564a8b08fb
+4c06758b7e9190a608bcf793f71d8b05ad937c6e1f8a6c05888d87901ea28b8f8e05
+8b9c8eb892ad92ac96b094a4088d8a8d891e7506878b87878a87087e6d057f6f807b
+688b08fb1d8bb4f7690590a39993a28b08f72d06bf8ba14f8a6008a68e050b678b7d
+79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9d690a592b07c
+af658b080bfb958b3e8a050bfb168c8776058a888b87928b08a906b18b967d856c08
+2afc8905856f7c7b638b086d06858b89878a88088775f7168d050bd88af7ba8bc3f7
+347290056d426556498b08fb4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c
+07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a8d888b087506878b
+88878a87087e6d057f6f7f7b688b08fb1c8bb4f769058fa39993a38b08f72c06bf8b
+a14f8a6008a68e050b7c067e8b7b80687f778566857c89088a6f059d8f968c998b98
+8b938483650841fbeb937ad1a9cdf7ca05b4bbb4a8c38bc88b8f567d4a0850fbab05
+79367e498d6108cf699a9d0585ad8cbea5f71008c7f7b305a4f70866b5478b2c8b4c
+4978740887060b678b7c79887c887a8a73b48b928b8d828981867571655f83088c7a
+05e78faad791a592af7daf658b080b648b6e66836786718a3fe48708939c05639381
+b190a18d969193928bb38b96a38e9c8e9b859d678b080b678b7c79877c887b8b72b4
+8b918b8e828882877471655f83088c7a05e68fabd790a593af7daf658b080bc0fb1b
+058c888c89908b958b91928c90088b8f050b84f72c059682927a1e738b7a7a877b8a
+878b868d87080b648b6e66846785718a40e48608939c05639481b090a28e95909392
+8bb38b96a48e9b088f9b849d678b080bc0fb1b058c898d898f8b958b91928c8f088b
+9084f72c050b9682927a1e738b7a7a877b8a868c868c87080b678b7d79887b877b8b
+72b48b928b8d838981867471665f82088c7a05e790aad690a593af7db0648b080b81
+8b7887847c0849fb308b8a058a888b82988b8d8b8f8c8e8f08f4f71e058e8f8d8f8c
+8f8d9688a16e8b080b658b6d66846885718a3fe58708929c05639382b090a28c9691
+92928bb48b95a48e9c8f9b849c678b080b818b7887857c0849fb30058a8b8a8b888b
+82971f8e8b8f8c8e8f08f4f71e058d8f8d8f8c8f8d9688a16e8b080b678b7c79887b
+887b8a72b48b928b8d838981867471665f83088c7905e790aad791a492b07daf658b
+080b638b80b8538b638b706f7354080b9ca99c98a08b080bb18ba060b58bb68baba5
+a2c3080b76910577697c80768b080b638b7fb8548b628b716f7253080bb18ba060b5
+8bb78baba4a3c4080b75910577697b80778b080b648b6e66836786718a40e4860893
+9c05639481b090a28d969192928bb38b95a48f9b8e9c849c688b080b856f7b7b628b
+087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e87
+8b087106638b7e9892aa08ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e89
+8c058b2e8a6764348c8b1e898a8778058a868f888f8b08a506b38b987d846d0863fb
+67fbdb8bb4f7670590a79c9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868e88908b08a506b38b977d856d082afc8a05856f7a7b62
+8b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e
+878b087006648b7e9892aa08bbf790f7db8b050b658b6e66846786718c40e4860892
+9c0564947fb090a28d969192918bb48b95a48e9b8e9c849c678b080b81f72c059682
+927a1e728b7a79887b8a878c868c87080b866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a877805868e888f1ea606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb4
+8b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f88
+8f8b08a506b38b987d846d082afc8a05856f7b7b628b087006868b88888a86088778
+8d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bc
+f790f7da8b050b658b6e66846886718b3fe58708929c05639381b08fa28d96909293
+8bb38b95a48e9c088e9b849c678b080bc3fb1c058c898c898f8b958b91928c908c8c
+8b8e8b8b0881f72c058a968392798b738b7a7a887b8a878c868c87080b856f7b7b62
+8b087106868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e
+868b087106638b7f9891aa08ecf88a0590a79d9bb48b08a506908b8e8e8c90088f9e
+898c058b2e8a6764348c8b1e898a8778058a868f888f8b08a606b28b987d856d0862
+fb67fbdb8bb4f7670590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a67
+64348c8b1e898a8778058a868f888f8b08a506b38b987d846d082afc8a05856f7b7b
+628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c9087
+8e878b087106638b7e9892aa08bcf790f7da8b050b678b7d79877b887b8b72b48b92
+8b8e838981867472665f82088c7a05e790a8d691a50892af7cb0658b080b818b7887
+857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f8d8f8c8f8d96
+87a16e8b080b856f7b7b628b087006868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e058c90878e878b087106638b7e9892aa08ecf88a0590a79c9bb48b08
+a606908b8e8e8c90088f9e050b64348c8b1f898a8778058a868f888f8b08a506b38b
+987d846d0863fb67fbdb8bb4f7670590a79c9bb48b08a506908b8f8e8c90088f9e05
+0b898c058b2d8a681e0b64348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d082afc8a05856f7a7b628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891aa08bcf790f7db8b050b658b6e6684
+6786718c3fe48708929c05639381b08fa28d969093938bb38b95a38e9c088e9b849d
+678b080b818b7987847b084cfb308b8a058a888b82988b8d8b908c8d8f08f2f71f05
+8d8f8d8f8c8e8d9787a16e8b080b866f7a7b628b087106868b87888a860887788d89
+058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08ecf88a
+0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb48b
+08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f888f
+8b08a606b28b987d846d082afc8a05856f7b7b628b087006878b87888a860887788d
+89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bcf7
+90f7da8b050b668b7d79887c887b8b72b48b928b8d828982877472665f82088c7a05
+e790a9d68fa593af7caf658b080b638b7eb8548b638b706e7454080b9ba99c99a08b
+080bb18ba15fb58bb78baaa5a1c3080b76920577697c80778b080b638b7fb8548b62
+8b716f7454080bb18ba160b58bb68baba5a1c3080b7c067e8b7b80687f778566857b
+89088a6f059e8f968c988b998b928484650854fb95057e50a46ac38bb28bbfafabb9
+087d9e0573736c736b8b788b8a9d90a0080b648b6e66846785718a40e58608929c05
+639481b090a28d959193928bb48b95a48e9b8f9b839d688b080b9ca99c99a08b080b
+b18ba05fb58bb68baba5a3c3080b76910576697c81768b080b90a79c9bb48b08a506
+908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a5
+06b38b977d856d0829fc8b05866f7a7c628b087106868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891a9080bc3fb1c05
+8c898c89908b958b91928c90088b8f050b91a79c9bb48b08a506908b8e8e8c90088f
+9e898c058b2e8a6764348c8b1e898a8878058a868e888f8b08a606b28b987d856d08
+29fc8b05866f7a7c628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9891a9080bb18ba160b58bb68baaa5a2c3
+080b638b7fb8538b638b706e7454080b76920576687c81778b080bdc8bb23b6cfb27
+6ffb1842705e8b298b7bf7149bd89de2c4e9db8b080b7625b9fb07f71a8bf7228be6
+f712a1efa1f36cf710fb288bfb188b2b276efb1d080bdc8bb23b6cfb276ffb184270
+5e8b298b7bf7149bd8089de2c4e9db8b080bc0fb1b05898d898f1e968b90928c908c
+8c8b8d8b8c080b84f72c059682927a1e728b7a7a887b8a868b868d87080b818b7888
+847b0849fb308b8a058a888b82988b8e8b8e8c8e8f08f4f71f058e8e8d8f8c8f088d
+9687a16f8b080bf7138be42162fb6468fb47fb00fb01fb078bfb178b35f705b0f754
+b4f766f712e2eb8b080bb2f75afb0ff717fb3b8bfb478bfb35fb2c65fb5865fb59f7
+06fb11f7418b08f7538bf72af721b2f75c080bf7128be42163fb6468fb47fb01fb01
+fb078bfb178b35f705b0f754b4f766f713e2eb8b080b658b6e66846786728b3fe587
+08929c05639381b08fa28d969092938bb38b95a48e9c088e9b849c678b080b818b78
+87857c084cfb308a8a05888b82981e8d8b908c8d8f08f2f71e058d8f8d8f8c8f8d96
+87a16e8b080ba5f70c7dd4468b708b79788779856ca886968aa786a46d772b76293e
+23338b348b77cd9ad008a0ecabbf9bd6080b92aa7d9c748b648b4e72737a088e7805
+8bad94981e9c8b9283877680596f527a3a762ba532f7288b08e68bf6e2b0f742080b
+bffb1b058c898d898f8b958b91928c908c8c8b8d8b8c0884f72c050b8a968392798b
+738b7a7a887b8a868b868d87080bb18ba060b58bb68baba5a3c3080b76910577697b
+80768b080babf727fb18d3699c08787805e432883f815d762a622f2d8b538b74b286
+d0a9bf9db890a392aa85a06d8b6b8b7d6f856d0887778662945567436467558b418b
+67afa5f711a8f71bf701e1af9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2
+acb4d0973cb874bf8bf70e8bd9e6a6f713080b8779816f775e8ba48aa692ad90a192
+97948b988b88798880080b678b7c79887b887b8a72b48b928b8d838981867471665f
+82088c7a05e790aad691a592b07daf658b080b648b6e66836786718a40e48608939c
+05639481b090a28d959193928bb38b96a48e9b8f9b839d688b080babf727fb18d369
+9c08787805e432883f815d762a622f2d8b538b74b286d0a9bf9db890a392aa85a06d
+8b6b8b7d6f856d0887778662945567436467558b418b67afa5f711a8f71bf701e1af
+9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2acb4d0973cb874bf8b08f70e
+8bd9e6a6f713080b678b7c79887b877b8b72b48b918b8e838881877471665f82088c
+7a05e790aad690a50893af7db0658b080bc0fb1b058c898c89908b958b91928c9008
+8b8f050b85f72c058a9682927a8b738b7a7a877b8a868b868d87080b648b6e668367
+86718a40e48608939c05639481b090a28d969192928bb38b96a48e9b088e9b859d67
+8b080b678b7c79887b887b8a72b48b928b8d838981867471665f82088c7a05e790aa
+d691a50892af7db0658b080b818b7888857b0848fb308b8a058a888c82978b8e8b8f
+8c8d8f08f5f71f058d8e8d8f8c8f088d9687a16f8b080b658b6d65846885718b3fe4
+8708929c05649380b090a28e969092928bb48b95a48f9c088e9b849d678b080b818b
+7988847b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f8c8f
+088e9687a16e8b080b678b7c79887b877b8b72b48b928b8d83898186747166608208
+7a07e790aad690a593af7db0658b080b76910576697c80768b080b638b80b8548b62
+8b706e7354080b76920576687c81768b080b658b6d65846885718a3fe58608929d05
+649381b090a28c969192928bb48b95a48e9c8f9b849d678b080b678b7d79887b887b
+8b72b48b928b8d838981877471665f82088d7a05e790a8d690a50892af7db0648b08
+0bc3fb1b058c898d898f8b958b91918c90088b90050b658b6e66846885718c3fe487
+08939c050b8d969092928bb48b95a48e9c088e9b849c678b080b82f72c058a968292
+7a8b738b7a7a887b8a878b868d87080b678b7d79887b887b8b72b48b928b8c838a81
+867472665f82088c7a05e790a9d690a50892af7cb0658b080b818b7887857c084cfb
+30058a8b8a8b888b82971f8e8b8f8c8e8e08f1f71f058e8f8d8f8c8f8d9687a16e8b
+080b76910577697c80778b080b7c82827f897f89868c868d8708d6fb0f058c898e8a
+8f8b8e8b8f8d8e8d8e8e8d8e8c8e088b8e6cf726058a90888f868e868e878c858b85
+8b84898588080b818b7c8585800838fb23058a8889868a8a8a849185928b908b908e
+8f8f08f709f70e0590908d918c8f90a0799c778b080b7c818280897f89868c868d87
+080bd6fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8e8c8c8a8c8b8c080b6cf7
+26058a90888f868e878e868c858b858b85898488080b818b7d8484810839fb230589
+8889868b8a89839185938b8f8b908f8f8f08f709f70d0590918e908c908f9f7a9d76
+8b080bdd8bb13b6cfb276ffb1843705e8b288b7bf7149bd89ee2c3e9db8b080b7525
+bafb07f71a8bf7218be7f712a0efa1f36df710fb298bfb188b2c276efb1d080b7b82
+8380887e8a868b878d8708d6fb0f058d898d8a8f8b8e8b8f8c8f8e8d8d8e8e8b8e08
+8b8e6df726058a90888f858f868d878c868b848b85898588080b808b7c8585800838
+fb23058a8889868a8a8a849184938b8f8b908f8f8f08f709f70e0590908d918c8f90
+a07a9c778b080b793a057f51ac72bb8ba48bbc99a8d1087493057f707673798b778b
+83a296c10896c07791050b8050a872b88bb68bad99a6d108738f0580697f7b718b77
+8b869f97c808b2f761849d050b8050a872b88bb68bad99a6d108738f0580697f7b72
+8b768b869f97c808b3f761839d050b8050a972b78bb68bad99a6d108748f057f697f
+7b728b768b869f97c808b3f761839d050b7f50a972b78bb68bad99a6d108748f057f
+697f7b728b768b869f97c808b3f761839d050b8050a872b88bb68bad99a6d108738f
+0580697f7b728b768b869f97c808b2f761849d050b7f51ac72bb8ba38bbc99a9d108
+7493057e707773798b778b82a297c10896c07792050b7a3a057f51ab72bc8ba48bbb
+99a9d1087493057e707773798b778b82a296c10897c07791050bf70ab0f0f2a2f70c
+a8f72840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b
+789291c008718b050b7cfb0bf7678b05978b92918c95089cf713053bc96fc8a1f704
+a4f714ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130588818f8597
+8b08f7648ba9f70b718b050b7a5274885b8b0829060b7f51a971b78bb78bac9aa6d0
+087490057f687f7b728b768b869f97c908b3f761839c050bf70ab0f0f2a2f70ca8f7
+2840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b7992
+90c008728b050b7bfb0bf7678b05978b92918c95089cf713053bc970c8a0f704a4f7
+14ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130589818e85978b08
+f7648ba9f70b718b050b8051a871b88bb68bad9aa6d00873900580687f7b718b778b
+869f97c908b2f761849c050b638b80b8548b628b706f7354080bb18ba060b58bb78b
+aaa5a3c3080beaf72f0592969391a48b08f7668baafb40058c858b858a86877b7a80
+6c8b086f06868b87888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c9086
+8e878b087f06648b7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb7
+0576697578628b088006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f
+9e058c90888e868b086f066d8b7c948e9b8c918e918f92080b7c818280897f8a868b
+868e8708d8fb0f058c898e8a8f8b8e8b8f8d8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b848b85898588080b86729b77a48ba48ba49f90
+a490a47ba0728b728b72768672080b9ca99d98a08b080bc0fb1b058c888d898f8b95
+8b91928c90088b8f050b85f72c058a9682927a8b738b7a7a877b8a878c868c87080b
+6d7e05823db151d98bbd8bddaeaaf0087498057b4d496e5d8b4f8b65b394be080b86
+729b76a48ba48ba3a091a490a47b9f728b728b72778672080ba1b89ced9cdba67da5
+83b68bf71a8bf711edabf72ea3f70648e2fb0c8b5c8b4a7b58606b7065696efb1e08
+62fb530571fb10734f776808927a050b74fb004643378b6e8b76966fa58583777581
+8808b8f76405aaf726c9a6be8bdb8bc15c6afb32080b856f7b7b628b087006868b88
+888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b
+7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c90088f9f8a8c05
+8b3c8a827f3c8c8b1e898a8777058a888c87908b08a8069f8b908889808a86858281
+7d08fb41fb7f2df77f05869988948d918d94928f9e8b08a7068f8b8e8f8c8f088f9e
+898c058bfb008a857e2e8c8b1e898a8877058985928a8e8b089806998b94898f8897
+839180927708f706fbb9050b85729c77a38ba48ba49f91a48fa47ba0728b738b7276
+8672080b638b7fb8548b638b6f6f7354080bb18ba060b58bb78baba5a2c3080b7691
+0577697b80778b080b988b9ea48d968c948a94808b08fb7906808b7976897b89828e
+83958b080b8ba37c9778907b8f7c8f8b9d8ba7ff00338000bac097ff0002333494ff
+fffd1998ff0007b334fffff83334ff00064cccfb08766f318b570863a273aaa9a89e
+aa1e0b8b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002
+e666fffff84cccff0007cccdfffff9b334f708a0a7e58bbf08b374a36c6d6e786c1e
+0bffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d1999ffffd94cccff00334c
+cdfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff0027ccce8bff
+001666648bff0013999cff000f3333ff000d3330ff001b3333ff0002e668bcff0007
+b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6669b701e0b8b
+739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e667ffff
+f84ccdff0007ccccfffff9b333f708a0a7e58bbf08b374a36c6d6e786c1e0bc4b5df
+bc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151383f1e
+0bc4b5dfbc99aa825754682f5379709abf1e0bc4b5dfbc99aa825754672f5379719a
+bf1e0b808b7d848581083bfb2305898889868b8a8a839185938b8f8b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b808b7d848581083bfb2305898889868b
+8a8a839185928b908b908f8f8f08f707f70e0590908d908c908f9f799d778b080b7c
+818280897f8a868c868d8708d8fb0f058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d
+8b8c8b8c8a8d086af725058a91888f868e868e868c868b858b84898588080b8b888a
+888b888b729e78a58ba98ba7a390a88b8e8c8e8b8e8ba4789e718b6e8b6f73856e08
+0bbb8b8a427f557a3e733e508b558b95d997c397c0a2e9c98b080bce8bd0bca5f70b
+a6f70d5ab34b8b458b4643762d7424b14fd08b080b82627d8863898483887c8e85a9
+8c998bae8ba98b9c8ba98a91928e998993ffffda199aff00023334fffff5199aff00
+086666ff0007ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b
+818b8a8a7a827d7f80815f6253575e55868687858785fffffe199afffffc3334ffff
+fcb333fffff980008bfffffa333208fffff9999a8ffffffa8000ff000e33331ef70a
+060bef06675e38fb104ffb0308ad060bc1f4e0f70ed4e6080b7b8b868c8c8f087906
+84717b63806f089f8805a2bb9391a78b080b958b998e929d8e938c98909393979894
+aa8b9d8ba984815c7f556e74566753665c61805b08f7620699a699aa97af868f848c
+808b7a6f74646c8b0838069baca0a6bca9ccb3b4ac95b999cb559e598b3c8b645885
+71887e9780978b080bff00088000b5ff00074ccca58b8b8c90fffffe80008d858bff
+ffee999a84ffffd04ccd83ffffe599998908fffffd4ccd7905ffffff999889ff0001
+ccce8a8d8b08ff0014cccd8a05988bff0004800084fffff7800061085bfb8005ffff
+fbb334768988ffffe7cccc8808fffff7cccd8a05fffffbffff8bffffff666788ffff
+ff99998908fffffc666679058bff002533328ca3ff001a0001ff0027cccd8a8b1eff
+0003999a9d05ff0000cccc8ffffffd33338c898b08fffff533348c05ffffee8000ff
+0001999afffff9b334ff00046666ff00044ccca008ff001be666f71d05ff0017b334
+a2ff00198000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605ffff
+fbb3347684fffffbb333ffffecccccfffffe4ccd08fffff4cccd8a05fffffbffff8b
+fffffe666788ffffff99998908fffffc666779058bff002833338ca4a3ff0025cccd
+8a8b1eff0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa3332
+8c05ffffece666ff00034ccdfffffab334ff0004b333ff0003e6669e08ff00194cce
+f71005ff000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080b8d
+ff00006667ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c
+878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587
+950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e08
+8f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787
+848283ffffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff003399
+9aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a
+858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e
+8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080b5bfb8005fffffbb334
+76fffffeb33388ffffe719998808fffff7cccd8a05fffffbe666ffffff8000ffffff
+8000fffffd8000ffffff99998908fffffc666679058bff002566668cff0017ccccff
+0018999aff002633348a8b1eff0003999a9d05ff0000cccc8ffffffd199aff0000cc
+cdfffffe1999ff0000333308fffff833348c05ffffef199aff00023333fffff93333
+ff00044ccdff00043333ff0014800008ff0032b334f78d05ff00088000b5ff000766
+66a58b8b8c90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908ff
+fffd4ccd7905ffffff999889ff0001ccce8a8d8b08ff0014cccd8a05988bff000480
+0084fffff7800061080b887505958e958c928b938b8d878b858b878a858a850866fb
+310587768986738a088406878a88891f8679058baf8ca2a4b18a8b1e909d058c8f88
+8c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5a19f8ba18b9a818b6f
+8b838981887f086ffb0d0586738589788a088006888b8a888a89088779058bb18ca3
+a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c9208aaf71705ff0001
+4cccff00064ccdff0001199aff00061999ff0000e666ff0005b334ff00168000ff00
+151999ff0017b334ff0012cccdff001280008ba18b99818b6f8b828a818880086ffb
+0d0586738589788a088006878a88891f8679058bb18ca3a3af8a8b1e8f9d058c8d8b
+8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d988b958bb3759a698b
+ffffde999a8bffffd5e666ffffde3333ffffee6666ffffeeb333fffffe999aff0025
+199affffea666699ffffdf199a8b688b61687a7a0897bf7e8b05707f75856b87080b
+ff0009e667ff002ccccdff00079999ff00063333fffff3cccd8b080bffffee666784
+ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014
+cccc8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999fffffe
+6667fffff56667fffffc9999fffff0b33308ffffe24ccdfb1a05fffffb4ccd76ffff
+fe666688ffffe74ccd88fffff6cccdfffffeb33388ff00006667fffffee666fffffa
+e66608877905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff
+0000e6668ffffffd33338c898b08fffff533338c05fffff34ccdff0000cccdfffff8
+4ccdff0002b3338bff000c80008b8eff00006666ff0003b3338cff00044ccd08ff00
+1fb333f723050bff00181999a2ff0019e666a1a08bff00184ccd8bff000f3334ffff
+f5999a8bffffe2e6668b83fffffeccccfffff68000fffffd999a8008ffffe56666fb
+0c05fffffae66674fffffa800089ffffea999a8908fffff4cccd8a05fffffd00018b
+fffffe4ccd88ffffff99998908877905ffffffffff8bff002733338ca48b08a3ff00
+25ccce8a8b1f8f9d05ff00024cccff000a6666ffffde8000fffff633348bff001566
+668b8eff00008000ff0003999a8cff0004666608ff001cccccf716058eff000d999a
+ff00018000ff000bb3338bff000a4ccd8bff00286666ffffe9999a9bffffdb4ccd8b
+678bffffd74ccd68ffffee33337a080b48fbb40586778a85738a088406878b8a898a
+89088778058baf8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c
+8f8c9008a2f005967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b70
+7c737c0893aa8c907d8b050b717f75856a8708887505968e958c918b938b8e878b85
+088b878a858a85080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a
+8b74948bac8b928c928d94080bfffffc7fff6bfffffb80006bfffffb199a73ff0006
+33338cff000a33338c8e8b9f8bff001319997dff001e00018bad8bff00454ccd9bff
+000c6666c8ff000a3333bdffffd5cccd9effffd14ccda0ffffe0cccd99fffff7e666
+94ff0004e666a308ff00058000a6ff0017999a98a48b9e8bab81ff000233335108ff
+001733338cff00063334d605fffff6666692ffffdb199a956c8b5a8bffffcc66666b
+fffff7800061fffff6cccc5eff001be6677bff002a199a78ff002db333768f77ffff
+fbb33376fffffa800070ffffe5b33380738b748bffffef800097fffffa33349108ff
+fff34ccc9bffffff8000a6ff0001cccd99080bc206918b948d8c90088f9d058c8d89
+8d888b084b8ba1ea637e8980057f5c7c73648b08898a8a891f857305898c8b8d1eb1
+8b61fb4b0589838a838b848b709a80a18ba68ba393aaa608809c05797f80867b8b82
+8b87908b978b948e988f9c080b5792fd27fd7dbf83050b6b565a5a798b6a8b92b291
+ae99cdd0efbf8b9e8b937385718a827b5f7768080b89808977ac8bad8bad9ebcb408
+7a9c057a7a7c81848b888b898e8c928c918f94919808e5f7655a8b6d6905889e809a
+698b408bfb1025772684669452cf8ba18bad98aea78a888a878b88080b85686b6761
+8b618b7aaf92ae91aeaab1b68bb88b9962846b080b8154af5ec28bc28bc0b896c295
+c267b8548b548b565e8054080bc68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989a
+d59deac9c4b58b918b998787778878898d887e89808f7fa78b08958bab9390a492ab
+7ab0438b3b8b203975fb008362aa49cc8b080b83617868726f6c69587a408b08598b
+c4f7bc05a490a78eaf8b08c88bd66d74fb0a080bff00733334ff024e8000ff000ee6
+66ff00008000058d8c8d8b8e8ba58b8c7a856e082afc8a05856f867b628b080b8bff
+ffe7e666fffff0e668ffffeb8000fffff16664fffff38000fffff0cccc7effffec19
+9cfffff7999affffe8ccccfffffce6668682887f8f85938c908c928b080bff001566
+68ff002ab330fffffce666ffffd7199a1f8bffffe26666fffff0999cffffe63334ff
+fff319987effffebccccffffebb333ffffe5e668fffffab333ffffed80008b6b8b84
+928896889782907d8b7f8b7d82887effffffb334fffffe6666ffffffccccfffffe99
+9a8bfffffe800008ffffe38000ff003ecccc81ff0018b3341eff002cb3348bff0029
+4cccff000e6666ff001e4cccff0018b334ff001b4cccff00163333ff0016e668ab8b
+ff002acccd8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a080bff
+00233334ff0011199aff00201998ff001880008bff002666668bff001db333ffffe4
+ccccff00114ccdffffd1e6688b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8
+939c8b08ff000e1998ff0011e668fffff9cccdffffeccccd1f0b8bffffdf999affff
+f69998ffffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64cccffffee6668fffff7199a7cffffe9e666ff00
+35b3327fff0020999a1fff0020e6668bff001f000297ff0018e664ff0013199aff00
+20b334a4ff00188000ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024
+b333ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b
+92a192a18bff003099988bff000b4cd0ffffe5199a8bffffe54ccc080bff00233334
+ff00111998ff00201998ff001880008bff002666688bff001db334ffffe4ccceff00
+114cccffffd1e6668b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08
+ff000e199aff0011e666fffff9ccccffffeccccc1f0b8bffffe1999afffff73334ff
+ffe4199afffff2b334ffffed999afffff5b330fffff1b333fffff0e668fffff6b333
+748bffffe980008bffffe5199aff000ecccd8bff003133338bff00104ccd8fff001d
+cccdff00066666ff000fe666a49ca291998bff0026cccc8bff0008b334ffffe68000
+8bffffe8cccc080bff00161998ff0012e66880ffffeae6661f8bffffde4ccdffffdd
+1998ffffdee667ffffede668fffff6e66608799505ffffe88000ff000e3333fffffb
+ccccff0010cccd8bff000d4ccd08ff00274ccdff001ae668ff000e6666ff001ecccc
+1e0bff0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda99
+98ff00163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bff
+ffe96666ff000b666877ff001d4cccfffff0800008968505ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999a1e
+0beaff002fccccff003acccdff002e4ccd1f8bff00179999fffff44cccff00156667
+ffffe9e668ff000de666080ba57d05ff001780007eff00066668fffff066668bffff
+efcccd08ffffc8e667ffffde9998ffffe7e666ffffd38000ffffeaccccffffe08000
+ff0008999aff002133331e8bff002b1999ff00366668ff002ae667ff00144cccff00
+0a3333080bfb0ff784f743f75805919292939291929394929790918e958d998b08ce
+8c05988b93898e8890868d868b828b878a8489810836fc4b0589838a838986888386
+8584868788838a7d8a738b708a8190829184918693869587928890080b86709c76a5
+8ba68ba5a08fa691a579a1718b708b72758671080b86709c76a68ba58ba5a090a690
+a57aa1708b718b72758571080b86709c76a58ba68ba4a090a691a579a1718b08708b
+72758671080b86709c76a58ba68ba4a090a691a579a1718b708b72758671080b8368
+05a97ba776a571a472a966ac5a08b2067bcf75c071b008f9c58b97bf050b93ae056d
+9b6fa071a571a46eb06abc0864069b47a156a56608fdc68b7f57050bd88b93b2fb02
+8b8a86fbc0fd3e3df75efb1a509668d1a9e6fb85b69d050bf749fa375f8bfb49fe37
+050bf70e8bf70aeea3f70fa3f70e3beffb0e8bfb0f8bfb0a2773fb0e74fb0eda27f7
+0f8b080bf3e2a6f72045e245e2fb208b2434233470fb20d134d035f7208af3e2080b
+d9e7f71bf746d6f7168995838d818b2efb1efb1efb2d2f34086265a56505c534dafb
+2db2fb1e948b958d919572f71649f74661e708898f050b3d2ffb1bfb4640fb168d81
+9389958be8f71ef71ef72de7e208b4b171b10551e23cf72d64f71e828b81898581a4
+fb16cdfb46b52f088d87050b8bc5a3c0b1b0b0b0bfa1c38bc58bc073b165af66a257
+8b538b527457666665655773518b08528b57a265b166b174bf8bc4080b8b4aa551b5
+61b660c571cb8bcc8bc6a6b5b6b5b5a5c58bcb8bca71c562b561b650a6498b084c8b
+51726162606070508b4a080b7d96809998979699997f967e7d80807d1e0b7d968099
+999696999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bdfbe
+51411f8b7e8a7f887e752e323c278b378b57c58bd58b988d988e99a1e8e8d8eb8b08
+0b448bfb887a408b0885070bcf8bf7957acc8b08f780060bbd8bf78f9ce48b089107
+288cfb819c558a080bea0695988f941f9f078f888d871e0bfb03f7140652778b7805
+4b6f72511e2f066e799eaa1ff7fa07a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc0b070bd98af73f8b8b
+fb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0bfb188b
+f731f71905cec4aab394b997c86dba2a8b308b46587157908396879988a9c0bea0ba
+8bb78ba06f81560880517370fb102408fb1322917405958cbf8ca38b08f72206b18b
+ac8a9b8a96aa9ebca8c58491828b828c08796e056a568485548b080bb48bad717e4b
+8159453e297d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b86a2
+839d84998197788b778b7378887b088363d670c58bf7068bf709d8a5f718a0f70144
+b25495088d07e2b2a9b495c091a989a378a47aa16d9c598bfb218b4f2b856a887d91
+77a28bad8b95ac8f9e0897cbd097a48b080b792c4e45518b678b83a4809f829c7d9a
+778b798b767a87778362d569c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682
+788408bff73b05ae87a886b98b080ba88bac8db38f08a8cf858f050b53855686588b
+678b698d6a8e0833fbb405c29faf8fae8b08c98bb46076fb01080bff0024199aff00
+16199aff001f6666ff00016666ff0010b3348be98b8e2b815976fb0259595c8b4f8b
+5aadacf73fff00044ccdff00166666ff00076666ff001a8000ff000b199aff001c99
+9a080bff002bccceff005ae668ff00514cccf0ff0089199aff0031cccc8d97899484
+90246d4861494a41435b307c3c64fb5ff163d58bf7128bd7f7139ce1089ce16ed8fb
+178bffffe6b3348bffffd94cccfffff8199affffe0cccdfffff23332080bf74006fb
+05fb56fb05fb572cfb2c089184cd8e05e3f73ee0f73af735f7a5080b7a867385678b
+08fb59066a8b8f957a8f080b888b8b8b8a88815b754f79579588948a968c08b0dbab
+92aa8b080b99d35fc02d8b298b404e7c3e80539d62be6508a07b056c7b6f7a6f755d
+67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab084fb605bda2dfbf97cb
+080bffffdc199affffea8001ffffe06666fffffeb333ffffef66668b2d8b89eb95bd
+a0f702bdbdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe53334
+fffff4ccceffffe33333080bffffd46668ffffa53334ffffaf3332ffff9b3333ffff
+77199affffce4ccd897f8c829286f2a9cfb5cdccd5d3bbe69adab2f75f24b3418bfb
+128b3ffb137a35087a35a93ef7178bff0019199a8bff00263332ff0007cccdaaff00
+0d8000080b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e7781
+8bfffff8e6688bfffffd1998908b97088b9490a191a508b1f733050b90919290978b
+08f73a8b9efb08058c878a878b88877e7c83728b087a06878888881f86768c89058b
+dc8da6a8bc898b1e8e8d8fa0058c8e8b8e858b6c8b809484b30850f8090588a27b8d
+7f8b858b79877e7608fb94fc0f0573677584728b888b88888a880886768c89058bb7
+8d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e90951f8b8c8b8d8c8c8b8e
+8e908e90080bfb1906788b8d948c9008f70af7438c8b050bda8bc1a8c7ca087b9b05
+51556377498b2c8b69d18bd98ba08ea18fa0aff73cebb6d78bd98bb35c8b48088b85
+a58e058eb48eb594b8088306688b619d408bfb188bfb12236cfb26887a897b8b7b8b
+29cb32f7188b080b86778d89ed8d05a78bb989db8bf7028bf724b9b0f7438f9c8d9c
+8b9b8bf70139defb178b708b4f8a568a08298d89898776058a888e898e8b08a206a4
+95867d1f8b878a868a850845fbdb05846c7e7d6d8b087406878b89888a87080bd3f7
+e30590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c8b7c968b
+9e8b8f8b908c90080bfb5c8b4289288d89898775058a8a8b88908b08a306a395847b
+1f8b888b888a870842fbe9058777807f6b8b087406868b8a888a890886758d89ee8d
+d38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e
+8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a3
+95a692a2088d8b8c891e7a06878b89898a8708817605827782806f8b08348babf728
+058e9c96929e8b08ed06ca8b91508e6708a58e058db18cb193b7080b7422056c7263
+7a688b258b67e68bda8b9c8c9c8f99a5f712d7e3f48bf18bab568b49088b88a68e05
+8db38fb493ba898a898b888b678b4e9e578bfb278bfb123168fb38877889798b798b
+22d543f7108b08cf8bdaaad2b6869286948c92089cd8058f9f9596a68b088c068f8b
+8d8d8c8f088f9e8a8c058b5e8a6f6d3b8c8b1e8a8a8778058a878d898f8b089f06a5
+97857b1f8b888a888b88080b8f9f9897ab8b08a0068e8b8e8d8c8e088fa08a8d058b
+42896f6c3c8d8b1e89898775058a888e8a8f8b089f06a596847c1f8b888b888a8708
+43fbe50587787d796b8b087606888b88898a870886768d89058bdf8da7aace898b1e
+8d8d8fa0058c8f898d878b0877067181969b1f8b8e8b8f8c8e080b798892911f8b90
+8b91059a849f751e7a8b7c7e86748a888b888b888b6eb07fb68ba68bab99a5a0b6ae
+adc8a0ed08dbf80a058f9f9896ab8b0898068f8e8d8e1f90a0898d058b43896f6c3b
+8d8b1e8989877605888d898e1ea806a596857b1f8b888b898a870838fc19056bfb2b
+69676c8b080bd48af7588bacf70e718e0575536c635b8b082a067d818f981f8b8d8c
+8e8c8e08d4f7f005909f9897ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c
+488d8b1e89898777058a878e898e8b08a006a596847c1f8b888a888b870842fbea05
+85728384698b087506878b88898a870886768d8905da8c968c948b080b90a19ba1aa
+8b08a0068e8f8d8e1f90a1888c058b54896d6f468d8b1e86898776058890898f1ea0
+06a5937b7a1f8b878b878a880858fb8505877a8882868b878b8492819b08fb50f7ce
+fb1a8d88888778058a8790898f8bb08b957891790846fbda0587787b736b8b087606
+888b84898a870886768e89058bcd8da6aac8898b1e8d8d90a0058f888d881e760672
+82999c1f8b8f8b8f8c8f08bff7870590a38f96918b908b9283947b08f755fbcf050b
+967b93859a8b978b9592909f080bdbc15b291f8b758872856f71fb134241318b388b
+58be8be88ba08ea390a4abf72adec5d68b080b8f9e8d9c8b9c8bf70436d5fb058bfb
+208bfb0cfb046dfb20877789798b798bfb01d946f7078bf7298bf708f3a9f723080b
+7a385976408b08648bb0f746059e8ea28ca78bbf8ba57f8b65088b8289828981080b
+87777e7f6b8b087706878b88898a870886768d89058bd48da6aad1898b1e8e8d90a0
+058c8f888d878b087f067180929a1f8b8e8b8e8c8f08adf7349d8b05d09c67681f49
+070b6a8c51d81e988ba18da0910888a3055689b4a51f8adb058bae71a86a8d088c8c
+05c692cfbc98c88d948c928b938bc84da1358b738b5d89698b6a8b638c6d8c088673
+05898d898fa9a489761e83070b8a06708b77a53b8b458b31627a398a848a848b858b
+4bd26daf7dbe78b4758b598b838b838982087e51646b508b558b5cac8bde088b946f
+89050b8447855f856e9a8d928f988b080b9d8ba97ad88be48bd2c69ddd8d948c938b
+938bd244ae609a759343a68bbb8b8e8b8f8c8f0894b6b5abbe8b080bb9bc6b4d1f8b
+7fa58d050bb68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc06
+7b8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b
+888a878a870843fbe80587777d806c8b087606878888881f86768d89058bd38da7a9
+db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e08d3f7e6058fa3
+9796a78b080bf7358bc5e7a6f71308b4f75705909f9497ab8b089d068e8b8e8d8c8e
+088fa08a8d058b5789706c4b8d8b1e8989877605888d898e1ea006a596847c1f8b88
+8b888a87085ffb64057a3b702afb188b668b739879a07a9f85a28ba38ba190a290a2
+08b8f76c05909f9897ab8b08a0068f8b8d8d8c8e088fa08a8d058b36896f6d4a8d8b
+1e89898776058a888e898e8b089d06a596847c1f8b888b888a870859fb810587798a
+7b8b7d8b22e773c88b080b87777e806b8b087706878b88888a880886768d89058bd4
+8da7a9db898b1e8c8d90a0058c8e888e888b0876067180919a1f8b8e8b8e8c8f08aa
+f726f732f75a059ea29793a28b089c06928c8e8d1f8fa08b8d057b8a5d8a848b818b
+4f8d858b08898a8675058a898c888e8b08a2069b8b8f8989838a878786838008fb13
+fb3445f73405879689908c8f8c92918e9a8b08a1068e8b8d8e8c8d088fa18a8c0580
+8a368a868b818b4d8d828b0888898776058a878f8a8f8ba88b9881947608e0fb5e05
+0bf74306918b8d898a878a888886858508fc03fc0e05858686838b8508868e88951e
+f7fe0696aaa0baa8c5087292786e0568567571518b08fb24067e8b858e8c918c8f8e
+90919108f7f1f7fe059f9f8f938d93088d0790868e7d1e7f8b7a89728608fb95067b
+8b83928a91087306805e7c5f785a08a58805aed3b2a0a98b080bffffbdcccd8bff00
+223333f7330590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c
+8b7c968b9e8b8f8b908c9008ff001d6666f71dff0041999a8b050b86778d89ed8d05
+a78bb989db8bf7028bf724b9b0f7438f9c8d9c8b9b8bf70139defb178b708b4f8a56
+8a08298d89898776058a888e898e8b08a206a495867d1f8b878a868a8508ffffdf33
+33fb2dffffbbcccd8b8364ff0043e6668bffffe3199afb1b05846c7e7d6d8b087406
+878b89888a87080b8a06708b77a53b8b458b31627a398a848a848b858b4bd26daf7d
+080bbe78b4758b598b838b8389827e51646b508b558b5cac8bde088b946f89050b4f
+fb970585718880867c08978705929295949393967da281a78bc98bd0d09cd58e998d
+998b998bbc74b25b8b738b7282707b08aaf7197d8b05717f75856a8708887505968e
+958c918b948b8d878b858b878a858a85080ba39b9891a48ba18b9c768b628b7d897b
+8678762e607f758b7a8b74948bac8b928c938d93080b398b50437a42877d8a7d8b7e
+8b56a763cd8bb68bafa3abae087c9b0573757376678b768b789a82a288938a958b96
+8b978d998e989ddcbbaca98ba78b917d8b7b088b868a868b850888077d9585971e98
+8b9994909f8b8f8c8f8b8f8ba871a5568b080b72767981768b728b789a8bb78b9b8d
+9e91a29cd5aca6ab8ba48b9b779678080ba598a290ab8f088ea1058088818a858b83
+8b888f8b918b908c908d9108d4f7cf7d8b05717f74856c8708877505968e958c918b
+938b8e878b858b878a858985087d4c0580997592728b418b563d7c4b887d8a7f8b7f
+080b54ab69bf1ea28ba498a19b080b87798381778b088006888b898a8a8708877a8c
+8a058bb38ca0a2bf8a8b1e8c8c8f9c058f898c891e77067d8591961f8b8e8c8f8b8f
+08aff72ec38b05918b938d8d91088f9d058d8a8c881e4a8b8d9505a1eaa4969f8b9c
+8b93848e778e809283978b968b98968e978b8d8c8d8b8d8b9486948392087f967d91
+758b598b4e5e752b086c06818b87848a8608877d05898b8a8d1eb4060b968b98958e
+99088f07968295761e758b79827779080b83917b946f8b598b50687e528a848a858b
+858b74947d957e787c77728676080b8b878a888b888b7a957f96856977727185718a
+858a858b868b63b580b18bd78be6aa9ace088c908c908b8f8b998696819678a1658f
+768b828b7b897e8a838a838a888b7e8b7c8f8b9c088b8e8b8e8c8f8e988f96949597
+839b87a28bbc8bc5aa98c7080b8d938c928b918b9c859782998f919393928b938b90
+888c85088c849086958b080b90889388938b918b948c948b938c928b908ba78b9d85
+9982080b9c8192858b818b888b898a88815e4e84598b788b608e8bae8b8f8c8f8c8f
+90a0919ba19d080b6a82a0a41f8b958c968e9596bb9f9bab8ba68b9a7d8b6d8b8289
+818980080b72767d84768b728b75998bba8b998d9d90a09cd5aca6ab8ba48b9b7796
+78080b6d7305809c74946f8b418b563d7c4b887e8a7f8b808b54ae69c18ba18ba096
+a19b0872fb0005857582867b8b088106888b888a8a87088779058bb28ca4a2ae8a8b
+1e909e058d8b8d871e84067b8c878e8b928b8f8c908d9208daf7ed8b8f058e8a8d89
+1e888b83868888080b8a8c058b7e8a8374678c8b1e8a8a877a058a898b88908b0891
+0699918a801f8b888b868985086dfb1805877d8a7e8b818b64a07bae8bad8bb5ae9c
+9c088057988b050ba598a290ab8f088ea1058088818a858b838b888f8b918b908c90
+8d9108baf7628a8c058b7e8a8273658c8b1e8a8a877a058a878e8a8d8b0895069892
+887f1f8b888a878a87086afb25050b73757275768b758b7d948ba78b938c958e9708
+0b8c848f85908b918b958e929608f715f75c05a0ab968f988b8e8b8f8c8c8f088f9c
+8a8c058b768a79766a8c8b1e8a8a877a05898c888d9d9489821e8807898688858582
+0829fb2a6ff72d058a928b908c908d95938f938b0895068e8e8d8e1f8f9c8a8c558a
+0579668c8b1f8a8a877a058a878d8a8e8b9d8b8f869168080b82868f8e1f7706846f
+82707e6d08a08a05a1b7a0919d8b08d58bfb52fb6e05898984858b8508888f88931e
+f75106929e98a89eaf08778f7f7a05766a7f83698b08448bf74df766059b9e8d8f8b
+8d088c078c8e878b888b898b6f89798b080b8b739a7f9e869b879a878b798b6fffff
+cc80005c567ffffffdcccc82ff0002e668fffff84cccff0007ccccfffff9b334f708
+a0a7e58bbf08b374a36c6d6e786c1e0b2fd641e6e7d5d5e7e641d62f304040301e0b
+d7c8c8d7d8c84e3f3f4e4d3e3f4ec9d71e0b>
+%%EndResource
+%%BeginResource: font LinLibertineMO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineMO 124544 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654d4f000102000100411c04a300
+1c04a4011c04a5021c04a603f81504290c03b30c04fd12fbb41c0544fa46051d0000
+20cf0f1d00000000101d000028c4111d0000003d1d00019729120320020001000800
+0f001b00290030003c0043004a00500056005d0064006a0070007b00860090009a00
+a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106011101
+1c012201280132013c01480154015f016a016e01720178017e0185018c0192019801
+9f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e022202
+26022c0232023e024a02500256026102640267026e0275027b0281028e029b02a102
+a702b302bf02c502cb02d102d702e202ed02f502fd03090315031b03210325032903
+2f0335033c03430349034f0354035903660373037a0381038c039703a203ad03b303
+b903c303cd03d203db03e403eb03f403fb040204090415041c042904300437043e04
+45044c0453045a04610468046f0476047d0484048b0492049904a004a704ae04b504
+bc04c304ca04d104d804e404eb04f204f905000507050e0515051c0523052a053105
+38053f0546054d0554055b0562056905700577057e0585058c0593059a05a105a805
+af05b605bd05c405cb05d205d905e005e705ee05f505fc0603060a06110618061f06
+26062d0634063b0642064906500657065e0665066c0673067a06810688068f069606
+9d06a406ab06b206b906c006c706ce06d506dc06e306ea06f106f806ff0706070d07
+14071b0722072907300737073e0745074c0753075a07610768076f0776077d078407
+8b0792079907a007a707ae07b507bc07c307ca07d107d807df07e607ed07f407fb08
+02080908100817081e0825082c0833083a08410848084f0856085d0864086b087208
+7908800887088e0895089c08a308aa08b108b808bf08c608cd08d408db08e208e908
+f008f708fe0905090c0913091a09210928092f0936093d0944094b09520959096009
+67096e0975097c0983098a09910998099f09a609ad09b409bb09c209c909d009d709
+de09e509ec09f309fa0a010a080a0f0a160a1d0a240a2b0a320a390a400a470a4e0a
+550a5c0a630a6a0a710a780a7e0a840a8a0a900a990aa20aa90ab00ab70abe0ac50a
+cc0ad30ada0ae10ae80aef0af60afd0b040b0b0b120b190b200b270b2e0b350b3c0b
+430b4a0b540b5b0b620b690b700b770b7e0b850b8c0b930b9a0ba10ba80baf0bb60b
+bd0bc40bcb0bd20bd90be00be70bee0bf50bfc0c030c0a0c110c180c1f0c260c2d0c
+340c3b0c420c490c500c570c5e0c650c6c0c730c7a0c810c880c8f0c960c9d0ca40c
+ab0cb20cb90cc00cc70cce0cd50cdc0ce30cea0cf10cf80cff0d060d0d0d140d1b0d
+220d290d300d370d3e0d450d4c0d530d5a0d610d680d6f0d760d7d0d840d8b0d920d
+990d9f0da50dac0db30dba0dc10dc80dcf0dd50ddb0de20de90df80e060e130e1e0e
+2e0e370e400e4e0e570e640e710e780e850e920e9d0eab0eb40ebb0ec20ec80ece0e
+d90ee60eed0ef40efb0f040f0f0f160f1d0f2e0f3d0f4c0f530f5a0f610f6e0f780f
+850f920f9e0fac0fba0fc70fd40fe20ff010021015101f102c103810441052105f10
+6c10781086109410a110ae10bc10ca10dc10ef10f91103110d1117111e1125112c11
+33113a11411148114f1156115d11621166116c11731177117b118211891190119711
+9e11a811b111b811c211c911d011d711de11e611ef11f611ff1206120d1215121c12
+23122a1231123812411246124d1254125b1262126a1273127e12881290129a12a612
+af12b612c012c912d212db12e212e912f012f712fe1305130e13151320132b133213
+3a134113491350135a1361136913701377137e1385138e1395139c13a813af13b613
+bd13c413cb13d713df13e913f013f713ff1406140e1416141e1426142e1436143e14
+46144e1456145e1466146e1476147e1486148e1496149e14a614ae14b614be14c614
+ce14d614de14e614ee14f614fe1506150e1516151e1526152e1536153d1544154915
+501557155e1563156a15711578157f1586158d1594159b15a215a915b415c215c915
+d015d715de15e115e815ef15f6160616151622162f163c16461650165a1664166e16
+78168216891690169716a116ab16b216bc16c616d016d716e116eb16f516fc170317
+0a1714171b17221727172e1735173f17491753175d17671771177b1785178f179917
+a317ad17b717c117cb17d517df17e917f317fd18071811181a18231831183a184318
+53186418781884188d189918aa18b718be18c818d018d718de18e319ff1a151a2b75
+6e6930304130756e693030414474776f2e7375706572696f7274687265652e737570
+6572696f72756e69303042356f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636f6d6d61616363656e7474636f6d6d6161
+6363656e74546361726f6e746361726f6e54626172746261725574696c6465757469
+6c6465556d6163726f6e756d6163726f6e5562726576657562726576655572696e67
+7572696e675568756e676172756d6c6175747568756e676172756d6c617574556f67
+6f6e656b756f676f6e656b5763697263756d666c65787763697263756d666c657859
+63697263756d666c65787963697263756d666c65785a61637574657a61637574655a
+646f74616363656e747a646f74616363656e746c6f6e67736772617665636f6d6261
+63757465636f6d62756e693033303274696c6465636f6d62756e6930333034756e69
+30333035756e6930333036646f74616363656e74636d62756e6930333038686f6f6b
+61626f7665636f6d62756e6930333041756e6930333042756e6930333043756e6930
+333044756e6930333045756e6930333046756e6930333130756e6930333131756e69
+30333132756e6930333133756e6930333134756e6930333135756e6930333136756e
+6930333137756e6930333138756e6930333139756e6930333141756e693033314275
+6e6930333143756e6930333144756e6930333145756e6930333146756e6930333230
+756e6930333231756e6930333232646f7462656c6f77636f6d62756e693033323475
+6e6930333235756e6930333236756e6930333237756e6930333238756e6930333239
+756e6930333241756e6930333242756e6930333243756e6930333244756e69303332
+45756e6930333246756e6930333330756e6930333331756e6930333332756e693033
+3333756e6930333334756e6930333335756e6930333336756e6930333337756e6930
+333338756e6930333339756e6930333341756e6930333342756e6930333343756e69
+30333344756e6930333345756e6930333346756e6930333430756e6930333431756e
+6930333432756e6930333433756e6930333434756e6930333435756e693033343675
+6e6930333437756e6930333438756e6930333439756e6930333441756e6930333442
+756e6930333443756e6930333444756e6930333445756e6930333446756e69303335
+30756e6930333531756e6930333532756e6930333533756e6930333534756e693033
+3535756e6930333536756e6930333537756e6930333538756e6930333539756e6930
+333541756e6930333542756e6930333543756e6930333544756e6930333545756e69
+30333546756e6930333630756e6930333631756e6930333632756e6930333633756e
+6930333634756e6930333635756e6930333636756e6930333637756e693033363875
+6e6930333639756e6930333641756e6930333642756e6930333643756e6930333644
+756e6930333645756e6930333646756e6931453030756e6931453031756e69314530
+32756e6931453033756e6931453034756e6931453035756e6931453036756e693145
+3037756e6931453038756e6931453039756e6931453041756e6931453042756e6931
+453043756e6931453044756e6931453045756e6931453046756e6931453130756e69
+31453131756e6931453132756e6931453133756e6931453134756e6931453135756e
+6931453136756e6931453137756e6931453138756e6931453139756e693145314175
+6e6931453142756e6931453143756e6931453144756e6931453145756e6931453146
+756e6931453230756e6931453231756e6931453232756e6931453233756e69314532
+34756e6931453235756e6931453236756e6931453237756e6931453238756e693145
+3239756e6931453241756e6931453242756e6931453243756e6931453244756e6931
+453245756e6931453246756e6931453330756e6931453331756e6931453332756e69
+31453333756e6931453334756e6931453335756e6931453336756e6931453337756e
+6931453338756e6931453339756e6931453341756e6931453342756e693145334375
+6e6931453344756e6931453345756e6931453346756e6931453430756e6931453431
+756e6931453432756e6931453433756e6931453434756e6931453435756e69314534
+36756e6931453437756e6931453438756e6931453439756e6931453441756e693145
+3442756e6931453443756e6931453444756e6931453445756e6931453446756e6931
+453530756e6931453531756e6931453532756e6931453533756e6931453534756e69
+31453535756e6931453536756e6931453537756e6931453538756e6931453539756e
+6931453541756e6931453542756e6931453543756e6931453544756e693145354575
+6e6931453546756e6931453630756e6931453631756e6931453632756e6931453633
+756e6931453634756e6931453635756e6931453636756e6931453637756e69314536
+38756e6931453639756e6931453641756e6931453642756e6931453643756e693145
+3644756e6931453645756e6931453646756e6931453730756e6931453731756e6931
+453732756e6931453733756e6931453734756e6931453735756e6931453736756e69
+31453737756e6931453738756e6931453739756e6931453741756e6931453742756e
+6931453743756e6931453744756e6931453745756e69314537465767726176657767
+72617665576163757465776163757465576469657265736973776469657265736973
+756e6931453836756e6931453837756e6931453838756e6931453839756e69314538
+41756e6931453842756e6931453843756e6931453844756e6931453845756e693145
+3846756e6931453930756e6931453931756e6931453932756e6931453933756e6931
+453934756e6931453935756e6931453936756e6931453937756e6931453938756e69
+31453939756e6931453941756e6931453942756e6931453943756e69314539444765
+726d616e64626c73756e6931453946756e6931454130756e6931454131756e693145
+4132756e6931454133756e6931454134756e6931454135756e6931454136756e6931
+454137756e6931454138756e6931454139756e6931454141756e6931454142756e69
+31454143756e6931454144756e6931454145756e6931454146756e6931454230756e
+6931454231756e6931454232756e6931454233756e6931454234756e693145423575
+6e6931454236756e6931454237756e6931454238756e6931454239756e6931454241
+756e6931454242756e6931454243756e6931454244756e6931454245756e69314542
+46756e6931454330756e6931454331756e6931454332756e6931454333756e693145
+4334756e6931454335756e6931454336756e6931454337756e6931454338756e6931
+454339756e6931454341756e6931454342756e6931454343756e6931454344756e69
+31454345756e6931454346756e6931454430756e6931454431756e6931454432756e
+6931454433756e6931454434756e6931454435756e6931454436756e693145443775
+6e6931454438756e6931454439756e6931454441756e6931454442756e6931454443
+756e6931454444756e6931454445756e6931454446756e6931454530756e69314545
+31756e6931454532756e6931454533756e6931454534756e6931454535756e693145
+4536756e6931454537756e6931454538756e6931454539756e6931454541756e6931
+454542756e6931454543756e6931454544756e6931454545756e6931454546756e69
+31454630756e6931454631596772617665796772617665756e6931454634756e6931
+454635756e6931454636756e6931454637756e6931454638756e6931454639656e71
+756164656d71756164656e7370616365656d73706163657468726565706572656d73
+70616365666f7572706572656d7370616365736978706572656d7370616365666967
+757265737061636570756e6374756174696f6e73706163657468696e737061636568
+61697273706163657a65726f7769647468737061636568797068656e74776f687970
+68656e6e6f627265616b686f72697a6f6e74616c626172756e6932303136756e6465
+7273636f726564626c71756f7465726576657273656471756f746564626c72657674
+7269616e676c6562756c6c657468797068656e646f74756e6932303246756e693230
+33316d696e7574657365636f6e647072696d65747269706c657072696d6572657665
+72736564756e6932303336756e6932303337756e69323033426578636c616d64626c
+696e746572726f62616e67756e6932303345756e69323034327175657374696f6e5f
+7175657374696f6e7175657374696f6e5f6578636c616d6578636c616d5f71756573
+74696f6e756e6932303441756e6932303442756e69323034467a65726f2e73757065
+72696f72692e7375706572696f72666f75722e7375706572696f72666976652e7375
+706572696f727369782e7375706572696f72736576656e2e7375706572696f726569
+6768742e7375706572696f726e696e652e7375706572696f72706c75732e73757065
+72696f726d696e75732e7375706572696f72657175616c2e7375706572696f727061
+72656e6c6566742e7375706572696f72706172656e72696768742e7375706572696f
+726e2e7375706572696f727a65726f2e696e666572696f726f6e652e696e66657269
+6f7274776f2e696e666572696f7274687265652e696e666572696f72666f75722e69
+6e666572696f72666976652e696e666572696f727369782e696e666572696f727365
+76656e2e696e666572696f7265696768742e696e666572696f726e696e652e696e66
+6572696f72706c75732e696e666572696f726d696e75732e696e666572696f726571
+75616c2e696e666572696f72706172656e6c6566742e696e666572696f7270617265
+6e72696768742e696e666572696f72612e696e666572696f72652e696e666572696f
+726f2e696e666572696f72782e696e666572696f72756e6932303934756e69323039
+35756e6932303936756e6932303937756e6932303938756e6932303939756e693230
+3941756e6932303942756e6932303943756e69323041326672616e636c6972617065
+73657461756e6932304138646f6e674575726f756e6932304146756e693230423175
+6e6932313030756e6932313031756e693231303263656e7469677261646561666969
+3631323438756e693231303666616872656e68656974756e6932313043756e693231
+3044756e6932313045756e6932313046496672616b74757261666969363132383975
+6e6932313135616669693631333532756e6932313139756e6932313141526672616b
+747572756e6932313144756e6932313230756e6932313234756e6932313236756e69
+32313237657374696d61746564616c657068756e6932313336756e6932313337756e
+6932313338756e69323133396f6e65666966746874776f6669667468737468726565
+666966746873666f75726669667468736f6e65736978746866697665736978746873
+6f6e656e756d657261746f726172726f776c6566746172726f7775706172726f7772
+696768746172726f77646f776e6172726f77626f74686172726f777570646e756e69
+32313936756e6932313937756e6932313938756e6932313939756e6932313941756e
+6932313942756e6976657273616c756e69323230317061727469616c646966666578
+697374656e7469616c756e6932323034656d707479736574756e6932323036677261
+6469656e74656c656d656e746e6f74656c656d656e74756e69323230417375636874
+686174756e6932323043756e693232304470726f64756374756e693232313073756d
+6d6174696f6e756e6932323133756e6932323134617374657269736b6d617468756e
+6932323138756e69323231397261646963616c756e6932323142756e693232314370
+726f706f7274696f6e616c696e66696e6974796f7274686f676f6e616c646f746d61
+7468756e69323245465346313030303030756e693235303353463031303030305346
+30333030303053463032303030305346303430303030534630383030303053463039
+30303030534630363030303053463037303030305346303530303030534634333030
+30305346323430303030534635313030303053463532303030305346333930303030
+53463232303030305346323130303030534632353030303053463530303030305346
+34393030303053463338303030305346323830303030534632373030303053463236
+30303030534633363030303053463337303030305346343230303030534631393030
+30305346323030303030534632333030303053463437303030305346343830303030
+53463431303030305346343530303030534634363030303053463430303030305346
+353430303030534635333030303053463434303030307570626c6f636b646e626c6f
+636b626c6f636b6c66626c6f636b7274626c6f636b6c747368616465736861646564
+6b7368616465756e6932363035756e6932363339756e6932363341756e6932363342
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646547578756e6945303031756e6945
+303039756e69453030417a65726f2e736c61736866697474656470657274686f7573
+616e647a65726f4164696572657369732e616c744f64696572657369732e616c7455
+64696572657369732e616c74612e7375706572696f72622e7375706572696f72632e
+7375706572696f72642e7375706572696f72652e7375706572696f72662e73757065
+72696f72672e7375706572696f72756e6945304337756e6945304338756e69453043
+396b2e7375706572696f726d2e7375706572696f72756e69453043446f2e73757065
+72696f72702e7375706572696f72712e7375706572696f72756e6945304431742e73
+75706572696f72752e7375706572696f72762e7375706572696f72756e6945304436
+756e6945304437756e69453044387a2e7375706572696f72756e6945304639756e69
+453046426b72656973756e6945313338756e6945313438622e696e666572696f7263
+2e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e66
+6572696f72682e696e666572696f72692e696e666572696f726a2e696e666572696f
+726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e69
+6e666572696f72702e696e666572696f72712e696e666572696f72722e696e666572
+696f72732e696e666572696f72742e696e666572696f72752e696e666572696f7276
+2e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e66
+6572696f7267726176652e63617061637574652e63617063697263756d666c65782e
+6361706361726f6e2e63617062726576652e63617068756e676172756d6c6175742e
+63617073706163655f756e69303330462e6361706272657665696e76657274656463
+6d622e63617062726576652e63797263617062726576652e63797264696572657369
+732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e6361
+70756e69453432307a65726f2e736c617368646f746c6573736a756e694646464475
+6e6930333530352e312e374c696e7578204c6962657274696e65206279205068696c
+69707020482e20506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73
+206f6620666f6c6c6f77696e67204672656520536f667477617265204c6963656e73
+65733a0a47504c202847656e6572616c205075626c6963204c6963656e7365292077
+69746820666f6e742d657863657074696f6e20616e64204f464c20284f70656e2046
+6f6e74204c6963656e7365292e0a43726561746564207769746820466f6e74466f72
+67652028687474703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420
+323030332c20323030342c20323030352c20323030362c20323030372c2032303038
+2c20323030392c20323031302c20323031312c323031324c696e7578204c69626572
+74696e65204d6f6e6f204f4c696e7578204c6962657274696e65204d6f6e6f204f00
+0000000100020003000400050006000700680009000a000b000c000d000e000f0010
+001100120013001400150016001700180019001a001b001c001d001e001f00200021
+00220023002400250026002700280029002a002b002c002d002e002f003000310032
+0033003400350036003700380039003a003b003c003d003e003f0040007c00420043
+004400450046004700480049004a004b004c004d004e004f00500051005200530054
+00550056005700580059005a005b005c005d005e005f018700600061006200670064
+00a00066008300aa008b006a0097018800a5008000a1009c0189018a007d018b0073
+00720085018c008f0078009e009b00a3007b00ae00ab00ac00b000ad00af008a00b1
+00b500b200b300b400b900b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d
+00c400c100c200c300c5009d009500cb00c800c900cd00ca00cc009000ce00d200cf
+00d000d100d600d300d400d500a700d700db00d800d900dc00da009f009300e100de
+00df00e000e200a200e3018d018e018f019001910192019301940195019601970198
+0199019a019b019c019d019e019f01a001a101a201a301a401a501a601a701a801a9
+01aa01ab01ac01ad01ae01af01b001b101b201b301b401b501b601b701b801b901ba
+01bb01bc01bd009101be01bf01c001c101c201c301c401c501c601c701c801c901ca
+01cb01cc008c009201cd01ce01cf01d001d101d201d301d401d501d601d701d801d9
+01da01db008e009401dc01dd01de01df01e001e101e201e301e401e501e601e700c0
+00dd01e801e901ea01eb01ec01ed01ee01ef01f001f101f201f301f401f501f601f7
+01f801f901fa01fb01fc01fd00c601fe01ff0200020100c700e40202020302040205
+0206020702080209020a020b020c020d020e020f0210021102120213021402150216
+021702180219021a021b021c021d021e021f02200221022202230224022502260227
+02280229022a022b022c022d022e022f023002310232023302340235023602370238
+0239023a023b023c023d023e023f0240024102420243024402450246024702480249
+024a024b024c024d024e024f0250025102520253025402550256025702580259025a
+025b025c025d025e025f0260026102620263026402650266026702680269026a026b
+026c026d026e026f0270027102720273027402750276027702780279027a027b027c
+027d027e027f0280028102820283028402850286028702880289028a028b028c028d
+028e028f0290029102920293029402950296029702980299029a029b029c029d029e
+029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af
+02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c0
+02c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d1
+02d202d302d402d502d602d702d802d902da02db02dc02dd02de02df02e002e102e2
+02e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f3
+02f402f502f602f702f802f902fa02fb02fc02fd02fe02ff03000301030203030304
+03050306030703080309030a030b030c030d030e030f031003110312031303140315
+0316031703180319031a031b031c031d031e031f0320032103220323032403250326
+032703280329032a032b032c032d032e032f03300331033203330334033503360337
+03380339033a033b033c033d033e033f034003410342034303440345034603470348
+0349034a034b034c034d034e034f0350035103520353035403550356035703580359
+035a035b035c035d035e035f0360036103620363036403650366036703680369036a
+036b036c036d036e036f0370037103720373037403750376037703780379037a013a
+006f0089037b037c037d004100080075037e006900770076037f0070007100740380
+00ee00ed007903810382007a0383038403850386038703880389006b006c038a038b
+038c038d038e0063038f0390039103920393039403950396039703980399039a039b
+039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa03ab03ac
+03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb03bc03bd
+03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc03cd03ce
+03cf03d003d103d203d303d403d503d603d703d803d903da03db009903dc03dd03de
+03df03e003e103e203e303e40144014503e503e603e703e803e903ea014001410142
+014303eb03ec03ed03ee03ef03f003f103f203f303f403f503f603f703f803f903fa
+03fb03fc03fd03fe03ff04000401040204030404040504060407040800a60409040a
+040b040c040d040e040f0410041104120413041404150416041704180419041a041b
+041c041d041e041f0420042104220423042404250426042704280429042a042b042c
+042d042e042f0430043104320433043404350436043704380439043a043b043c043d
+043e043f0440044104420443044404450446044704480449044a044b044c044d044e
+044f0450045104520453045404550456045704580459045a045b045c045d045e045f
+0460046104620463046404650466046704680469046a046b046c046d046e046f0470
+047104720473047404750476047704780479047a047b047c047d047e047f04800481
+04820483048404850486048704880489048a048b048c048d048e048f049004910492
+0493049404950496049704980499049a049b049c049d049e049f04a004a104a203fb
+0300000100004e00004f00006c0000870001010001bd0001fd00044000045200049a
+0004e20005520005640005780005840005940005a500060d00069100071f0007af00
+085d0008e10009630009cb000ace000b50000b69000b9d000bc7000bdd000c07000c
+2b000cfe000d16000d43000d56000d6f000d8b000da5000dc3000dda000dec000dfe
+000e13000e36000e5b000e76000e91000eba000feb00101900103a00106500107900
+10870010950010a60010b800111300114900115b0011910011ae0011cc0012370012
+5d00127b00128f0012b90012d60012ee00134b00136800138a00145900147000148a
+0014aa0014c60014e00015450016670016870016ad0016be0016e30016f100185500
+1863001872001981001a2f001a46001b00001b47001b48001b94001d47001e10001e
+8a0020350020520021bd0021d40022ad0022c900232200236500237100242e002451
+00246d00248500256800259500260000269c0027960027a70027ba00283d00287600
+28cf0029ec002b18002c60002ce0002d02002d24002d45002d75002da2002ea20030
+1600303900305d0030810030a50030da0030f500310f00312900314f0031ef0032e9
+00330d0033310033550033850033b60033eb00353300354f00356c00358900362b00
+36450036f20037dc0038080038340038640038a80038e9003924003a3c003a57003a
+7b003a9f003ac3003afe003b16003b2e003b46003b6d003c78003cad003ccf003cf1
+003d13003d44003d70003dfb003f4c003f7b003faa003fd900401d00403200411100
+41350041550041880041b00041eb0042f20043fa00441500443000444b0044660044
+850044a50044c00044db0044fc00461a0046fc0047f7004813004838004921004955
+00497a0049a2004ada004bbe004be2004c06004c2c004c97004cc7004d34004dd200
+4e43004e70004f23004f430050320051710052ef00531600533e00535000536c0053
+8a0053aa00548a0055f60056150056270056e400584d0058670058800058a40058c9
+0059c40059ef005a10005a40005a6e005a91005aab005add005b11005bbb005ccf00
+5cf3005d1a005d43005d6d005d91005db7005de2005eb0005fd7005ffb00601f0060
+4700606f0060980060c000618d00622c00626300628d0062cd00632400635a006384
+0063ae0063de00640800643800655400666200668b0066bb0067a80068e800691b00
+69380069e7006acd006af9006b3d006b5a006b8b006bac006be9006c0f006c66006c
+89006cae006de4006fa4006fba006fd2006fec00700100710f00713900715a007186
+0071af0071d40071f400720a00721400721e00723200724b00725e00727c00729100
+72a50072be0072d10072ea0072f700730100734200736200741100742c00743e0074
+980074a800750200755b0075a40075df0076210076620076980076cb007711007751
+0077930077e300781200784300787100788300789d0078b50078c60078db00791800
+79470079620079bc0079ef007a21007a33007a45007a9a007aab007ab6007acf007b
+3b007b4b007b56007b73007ba3007be9007c31007c54007caf007d38007e45007e58
+007e6a007e7c007e97007ea7007ebe007eef007f0a007f1d007f35007f7100808600
+81480081d800822c0082610082620082a90082ef0083180083a90083f00084370084
+a10084e60084f400857b0086370086a50086af0086b90086c50086d1008718008749
+0087790087ff0088510088c00088f800899d008a40008af8008bad008d0f008d9400
+8df3008e7f008f83008f9b008fc1008fee00900c00903900905700908e0090b60090
+d90090fe00911700914100915a0091840091a70091da0092d0009310009329009353
+00938200943b00946a00952e00954a0095670095830095a00095b30095b40095ce00
+95e60096040096610096780096950096ac0096c90097b000991a009a0d009bae009b
+c5009be2009bf4009c16009ce2009d94009db2009fb1009fc6009fdd009ffc00a01d
+00a04000a05a00a07d00a09700a0c400a0e800a10b00a12500a15200a17c00a1a100
+a1c100a1e600a20600a22100a23d00a25800a27400a29800a2be00a2d900a2f500a3
+a300a48300a4af00a52700a55500a61100a64500a71000a74200a77400a79d00a7c6
+00a7f400a81400a84200a86200a89000a8b000a8e800a91100a93200a95800a97900
+a99f00a9d800aa4f00aa8c00aabc00aadd00ab0300ab2e00ab3f00ab6a00ab7b00ab
+af00abd000abfb00ac0c00ac3100ac8200ac9600acbb00accf00acf400aec600afb1
+00aff500b04d00b05b00b06900b07700b08500b0cf00b0ed00b13b00b15900b17b00
+b1a300b1b100b1c200b1d000b1e100b1f200b20000b37000b39200b3a400b3b300b3
+d800b3f000b40b00b42300b44800b46a00b49100b4c200b4ff00b62e00b65400b66a
+00b71900b7cd00b8b300b93500b94d00b97300b99d00ba2500ba5300ba8600bb2700
+bb6400bb9600bcf600bd1500bd4500bd6600bd8c00be6800bf7800c03b00c11700c2
+1500c36500c38d00c3c800c3f000c41600c43200c44f00c47900c4fd00c51900c536
+00c5e100c70700c7ab00c7dc00c91200ca4800ca6a00ca8e00cab200cacf00caf000
+cb1400cb2600cb4800cb6300cb7d00cbaa00cc0800cc3900cc6000cd0400cd3300cd
+c900cf0a00cf2c00cf4e00cf7200cf8c00cfa000cfb200cfc600cfd700cfed00d004
+00d00700d00900d00c00d00e00d02200d04700d06a00d0b600d0ca00d0dd00d0f100
+d10300d11900d13100d13400d13700d13a00d13d00d15800d17100d18300d19200d1
+b100d1d300d1e500d1f400d1f600d1f900d1fb00d1fe00d20000d20300d20600d208
+00d20b00d20e00d21100d21400d22400d23400d25b00d26c00d27d00d28e00d2ac00
+d2ce00d2e800d30200d31c00d33000d35200d37400d39600d3d900d45400d51100d5
+3200d54900d55900d57700d59600d5a800d5ab00d60700d67500d68a00d6d200d6ee
+00d70200d79e00d83600d86500d89100d97300da3600dbef00dc0300ddc700ddda00
+df2a00df6700e07900e0c800e1e500e2b600e32000e35200e47400e4e500e50500e5
+2000e59c00e60e00e63a00e64f00e67100e67e00e68b00e77b00e7e400e86700e98f
+00ea1700eb1200eb8c00ebab00ebc600ec7d00ecfd00ed2700ed3a00ed6300ed6f00
+ed7b00ee2500ef1900ef1b00f05e00f14700f14900f16600f16900f18700f1b000f1
+db00f1de00f1f300f2ce00f38d00f45800f62200f7c200f8a200f9f900fb1e00fc20
+00fc9500fd1d00fdf900fe6a00fec700ff7701005f01010b01027d01031d01040d01
+04c401053401067601077b01081301098c010a8a010b4c010cc7010e35010ef0010f
+8401103a0110950111eb01123b0112a60112f901137d0113c70114f6011523011628
+0116800117bd0117ee0118900118d50119460119fb011a72011a88011abf011afa01
+1b30011b68011be0011c5d011d23011de9011e26011eea011f4a011fca011ff80120
+4201211a0121470121e10123430123900123dc01242701252d0125690125b60126b7
+0126f40127b701287b0128e00128ec0129510129b6012a35012a57012a69012a7601
+2ab3012be2012c6c012cee012d0b012d1d012e87012e95012ea4012ebb012ed1012e
+e8012eff012f19012f34012f4e012f68012f89012fa4012fc1012fe0013000013022
+01303f01305e0130870130a70130c60130e801310701312701314901316b01318f01
+31b20131d60131ff01322a0132500132730132a40132ca0132ec0133200133500133
+810133b00133c40133d40133e40133f40134070134ad0136020136c30136eb0137d1
+0138950139730139d3013a6a013aa8013ad2013b36013bb5013c83013d6e013dce01
+3e2a013ed50147b9014b80014bc1014fb201511401512f01515a0151860151aa0151
+c60151e40151fd01522a01530e01532701537d0153800153830153860154a701562e
+01563101563301566001567e0156810156970156b90156cc0156cf0156d20156d501
+56eb01571301573f0157570158b90158bc0158d90158f101591c0159330159890159
+8b0159bd0159c00159dd0159e00159fe015a26015a51015a6d015a70015a73015a88
+015aa9015ab9015abb015abd015ad1015b19015b65015bca015bde015bf2015cb101
+5d76015da7015deb015e3b015e54015e6b015e7b015fce01612a01613d0162260162
+6ff68bbdf8ecbd018bbdf824bd03bdf8f115f73efb93fb3efb9305a95e15f73ef793
+f73efb9305fb20f7c015f73ef7938bfc9205fb5cf7c015fb3ef793f7e88b05fc38fd
+1e15f888f950fc88060e0e81f70c12f78af70efb06f513a0f7c7f92615200a13c04e
+fcf415210a0ef7fff7c401f731f70ce1f70c03f75af7ff15220af7628c15220a0eff
+0099999acaf746cb01f817ff00d8999a15fb428ba3f746f7418b05bb16ea8b93cb2d
+8ba5ff00c966665b8b72ffff36999afb428ba6ff00c966665b8b71ffff36999a2c8b
+834be88b74fb462d8b05834ce88b71ffff446666ba8ba6ff00bb999af7408b72ffff
+446666bb8ba6ff00bb999aea8b92ca2c8b050e84b0f8e1ad12f71eab82d3f77fde4b
+ad13c0f7c6f81d1556a358af8bc48bc2c1c0cb8c08a2fbe015c675c56c8b378b3c5c
+61358a08f73ff8ea155392879a428f0890e6057c8b798980870887370520882f4b8b
+248b2ed45be06a928991889289087afba4053c9558b676e07e8f7f8980868f3e9073
+985ac78baa79d38708852b05978ba28c94900890e505b98cb795ae9fcaaeb2c98bca
+8bea43ba3daa7e90789175930899f78305d57da5569e53988b9a8a959288bb85a77f
+bf080e7fb2f752b2bab2f722b096b201c4c6f70fb1f0c7f70eb103f84ae115c0b1d9
+b898a5835b576d39587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0e81
+c155acf806acf750ac12b3ff00564ccdff00264ccdff0050ccccff006b4cceff004a
+3332ff00aeccceff00138000137fff00e88000f7e615ff000a333376ff004a6667fb
+08c040ffffd2666648ffffde999a67498bffffc566668bffffd7cccdae8bed088bd2
+ff000a6666c1ff005fcccdc408f733fb8815a6660513bfff002bb3344aff00226666
+89ff001cccce8bff002080008bff0029e664a7ff00156668d1fffffb3334ff000566
+66fffffb8000ff0004999afffff5cccc8bffffed666464ffffea999c7cffffe14ccc
+8bfffff119988bffffeae668ff0013e666ffffe36666ff002b199a08ffffd98000c5
+05ff0024cccec4ff0012e666abff0019199abbff002accccddff00064cccff000533
+34ff0038e668ff0003ccccff00059998918ba0fffffa666891ffffed66648affffe4
+199c8affffe066648bffffe066688bffffd9e6668cffffed66668cfffffa6668858b
+76ff000599988508ff00324ccefffffd4cccff000de666fffffab3346845fffff019
+9affffe0199affffeb6666ffffdd3333ffffde8000ffffcab333ffffd53334c95ad6
+ffffef4cccaa08fffffc4ccc9305ff004d3334bbff00366666cc8bc208ca55b8ffff
+bee666ffffa30001ffffcdcccd44501e8b659864ff002266664bffff85333341ffff
+cecccd488b3c08137ffb0eff004f199a5fff006380001eda8bff0033199ab4ff002a
+ccccca08ffff8c4cccf7cf15ffffe7cccebcfffff9ccccb18ba208cdff0021999aa8
+ff00183334ff00261998ff000b66686d5e1e8b67ffffee999857ffffc4800061080e
+f7fff7c401f798f70c03f7c1f7ff15220a0ef759ec03f759f790158b5e96ffff0be6
+66f7a8ffff59199a998d97928f935db1fb42f7298bf7908bff0102e666f743ff008e
+199ab8af869582927b8cfb3b25fb0cfb3b8bfb4e080ef7eeec03f84ff790158bb880
+ff00f41998fba8ff00a6e6687d897f848783b965f742fb298bfb908bfffefd199afb
+43ffff71e6665e67908194849b8af73bf1f70cf73b8bf74e080ef7a9f8b6156a6559
+908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe588969af08
+9d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e788da9a2b18ba608a375967979
+7779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8bb8939a8d98869889
+080e9f76f772c701f7b4cb03f7b4f86c15260a0efb38aff71af70801f7d3c503f7bc
+f70e15270a0ef76bd701f877f76b15280a0e81f71a01f783f71c03f783c415290a0e
+f87ef96b15fc2cfdccc98bf82cf9cc050e81b0f8e6b001e5eaf7a2ea03f7d6f90115
+a28ba2859b7fb66fa73a8bfb258b28884677546d325081728b08fb1587f74ee9f79e
+d6bbc91f86fd0b15e7f721dff7921f8bf66ee756ca6cb159a94a8bfb0b8bfb05fb11
+8bfb6a8bfb08b2fb00cd50ad6db57bb98b080e89b0f86b7601f7c0e003f815f71a15
+f809078bcc8ccc8d998b90898c878b50ffffdc800025ffffc98000335f8d7f947894
+84b9a0c9a59e8b089b8f72661ffbe4078b5d84747a7e7b7f5787688a85858b729185
+bc8cc68cd08bff00334ccc8bff0032b3348abd8a91918ba4859108ffffdf80008cff
+ffcc80008f7e967c9786a28bbb080e8bd1f8b9b112f70fdcf772ee6cac13f0f70ff8
+8d15749c78a39f9f9fa31e8b948990899389938c948b9408a6abb0dfb4d172231e8b
+466653474a08363c05fb05fb0079588b4b088bcd8db01ef75e06b0bf898b1f13e89a
+c497dc8cab84907d8e7f89773e7770628b08fb67068bb2aab5c2bd08f708f40513f0
+cdc6c2bf8bd908f7092db8fb011efb1444344a1f0e81b1f7caaef71876f71cb112f1
+e3f769e952f013fcf7bcf90015c7ba71461f8b555038fb0b7c089168059f8d938b9d
+8b0813fad9e07afb0efb24fb086e5b1f458b94a47d9e7f9a7b98738b087272777a60
+ef6dd3f723f713def7231f8bf70a29b54496088a8d0513fceeb5a6b78bc48bab83a6
+6ea671a3619b4c8b08fb445825677c9776a8b590aea01fd0d196af1e0e89b0f72bbe
+01f7f6df03f7f6f8b815fbcbfb7a07bee4ecf70fddee08f75afbcb15fb06f7cf068b
+c18bb38d9308898f648b05858b82828787433cfb24fb492ffb2eff00014ccdffffef
+b333ff0006b333ffffe34ccda98b08f78829068bffffcfb333ffffbcb33488ffffd5
+4cccfffffe4ccd85858b729185ab8cd18cb98bb28bd68aab8a91918ba48591ffffce
+b3348effffcd4cccff00034ccc8bff002eb33408edef0799999f98968892801f0e7f
+b0f7ebc1f72ed301f848eb03f848f7601524473f381e568b8ba779a17b9d779b728b
+08747579755ff166cff729f4eff71cf43be8fb1a1f578b5982758308a3f74805b5ff
+fff9ccccb9fffffd3334c58baf8bb48dbc8f089fd5828f0549fffff9cccc48fffffa
+33344b8b5f8b608d618e0862fbcb05cba1a88fbc8b08e5d15dfb0a1f0e7fb1f7deb1
+f780a901e1e3f7aeeb03f748f7e015b8a3be8ba38b08f71c9f2455fb0b4555505528
+aff74d1f8ba48bff0022cccc91ff001933340896b115a7ff005dccccbbf70bf769ff
+002f33348b9889978190fb8cffffe3ccccfb1affff4866688bffff3acccc08fb6ff7
+2d5fe0f731d2f71de8e84edefb371e6c8b4a82627c080ef8d0d701f3abc7df03f772
+f8d015f77a0627fb6733fb5f47fb38089383d78e05c4f74cd4f74af710f7b8087b98
+057a866e84658b08fb9406698b8d96798f888b8a8b8b88fffffa8000ffffcb800083
+44fffff98000ffffc880009688958a968ca1e1ab93ab8b080e80b3f8e0b312e3d563
+dbf77fda5ddd13d8f7d7f8fd15e2a652591f8b584fffffc8333462fffff0cccc0867
+9a05ffffb9199aff001d8000ffffe4e666ff0024999a8bff002de66608bdb3bfdc1e
+f755fb0015d945d1fb0afb0e373c381e8b4fff002c8000ffffc3199aff00418000ff
+ffe3e66608a77f0513e4ffffaccccdffffe1199affffa73333518bffffa8e66608fb
+02ea50f713f731e0f3dd1e8bcaffffe2e668ff00428000ffffbc1998ff001d800008
+36af05c2ff000e3334e6ff0037cccc8bd008fb61fc74154f32abec1f8babadff0051
+3334f0ff002fcccc08c27505ff0052ccccffffdee666ff00233334ffffd44ccd8bff
+ffbccccd08fb00287b4f1e0e7da9f780b1f7deb101e3ebf7aee303f860f7ce155e73
+588b738b08fb1c77f2c1f70bd1c1c6c1ee67fb4d1f8b728bffffdd333485ffffe6cc
+cc088065156fffffa233335bfb0bfb69ffffd0cccd8b7e8d7f9586f78cff001c3333
+f71aff00b7999a8bff00c5333308f76ffb2db736fb3144fb1d2e2ec838f7371eaa8b
+cc94b49a080ea8f71af733f71a01f790f71c03f790eb15290af7b904290a0efb38af
+f71af708f75cf71a12f790f71c59c513e8f7cff70e15270a13f04cf79f1567aa6cb0
+b0aaaaafaf6caa661e666c6c671f0ef74cf78315f7f0f72a05999d8cb27c9308fc40
+fb4c0581758b77957708f840fb4d059a938ab27d9d080ef723bdf71cbd01f89ff7dd
+152a0af836fb4e152a0a0ef85cf78015fbf0fb2a057d798a649a8308f840f74c0595
+a18b9f819f08fc40f74d057c838c649979080e81f70cf894b012f70ed7bbf70e3aac
+f708ec13ecf75af8b2152b0a13f4bbfc8015210a0e3bb3f705a67caef773a7f723ae
+12abcff7c2c4d7cf13bff813f7be158d728166847579566962738b658b87a688b288
+b891baacaf9fa1a892978b08a48b977a8d6f08b4fb47158b908ca48f9f08a9f75280
+8f5f85897905839f7197738b2d8b363693fb008e5f9d5adb8ba48bbaa1a7c3088e8a
+058678877a8c7f0813df8c7f8f6eac8b08f729baf70fe8f734fb13effb1efb3ffb1b
+fb23fb43fb51f1fb0ef74b1fdc8bc19ce5c2879288928290526c3e774e8b08fb4656
+f70bf733f74af70de9f701e9f70340fb2ffb1a5a595f7d8797921f0e89b0f756b3f7
+f87701f787f7a1152c0afb8ffb52152d0a0e89b0f7acacf77ab112f70ee8f776dc69
+e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b4f8c0b1
+01aeecf83fab03f7f68115320a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8
+a415340a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e89
+b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e81b1f766aff7d0ae12
+aeecf7e8e967ae13f8f7fbf90515370a13f4380a0e89b0f7a2b3f77db001e7e5f7a8
+e503f8b8f70e15390a0e89b0f8b3b101f7ade803f80af70e153a0a0e81b6f8b5b001
+f7d7e803f834f87b153b0a0e89b0f79ba7f790b001f700e803f75df70e153c0a0e89
+b068bdf8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e
+89b0f8b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8
+430a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470a0e89b0f773b172aaf7a9b312
+f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a0efb5bc2af
+b5f91fb301adecf80eec03f7c7f8dd15460af7bffba415f756fb11f70afb371e318b
+3c635944635272528b218bffff504ccdff0069cccdffff953333ff00871999ffffed
+6666ffffc86667ffffe18000ffffcd4ccdffffd3cccdffffde8000ffffd83333ffff
+f8e666fffff8e667fffff9e666fffff83333fffffb199afffff7800008b07805ff00
+0b6666ff00103333ff000c4ccdff000ee667ff000ccccdff000d8000ff000d199aff
+00086666ff000c66668e928be38bc730f7108bc78bb3a4b0c0087b9705767169826f
+8b378b3ed9238bfffffa80008bfffff9e666ffffff999afffff98000ffffff1999ff
+002e999aff00220001ff002e199aff00139999ff001eb332ff00089999d6ff000d99
+9aff003c3334ff0029999aff00288000ff003be666afc1a0c48be7080e967692a671
+b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e
+4f0a133e500a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e852
+0a13d4530a0e89b0f851f7205fb0129badf774e8f773ad13bcf803f70e15540a13dc
+550a13bc560a13dc570a13bc580a0e81b4f8b9ae01dbe8f7dcc003f741f88115590a
+0e9576f8e1b001f84af8d6155a0a0e9576f8e1b001f7fbf841155b0a0e89b0f8b3b0
+01f7a8e803f8a4ee155c0a0e89b0f8b3b001f7b0e803f80df70e155d0a0e8baff8ac
+b4947612c8a913d0f8bb89155e0a13b05c8b2a8f668e87588155836495889489968b
+a0cdb1abd68c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb248583
+89848b8408819087991ef80006a6ef898b1f0efb55a9f9d8a901f778d803f778fb55
+15f79a0691918b9d8591fb1e965c9a8be208f8f7078be2bb9af71d9591918b9d8591
+08fb9a060ef72aff02d76668154d8bf82cfdccc98b050efb54a9f9d8a901f7e3d803
+f830f95415fb9a0685858b799185f71e80ba7c8b3408fcf7078b345b7cfb1d818585
+8b79918508f79a060ef8fc7701f7d4f8b215f726fbd6c88bfb44f8204e8bfb46fc20
+c98b050efb2eb701f8dbfb0215fca20683838b6f938308f8a20693938ba78393080e
+ff012bccccf94215fffff9999a8dfffff333348cfffff666668bffffb4cccd8bffff
+ef999978ffffe9999a84088380ff00c66666fb0c05ff001b33347bff0011cccc85ff
+000e66668bff001133348b91908b968b8fffffff6666ff0005ccccfffffa3334ff00
+063334080e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb4015
+13ac600a1374610a0e81b3f832b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79
+ad15630a0e81c1f829b401d7e6f7bcec03f8d7f70015640a0e80bf80a6f81cb3f72c
+a9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a137e670a13be680a0e81
+bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e89b0f7fdb7f7
+70b101f75fe2f760e903f7b6f712156b0a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f823c3f72ba9a67701f706e2f789e203f75dff013ce666
+15750a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13e8f5fc98
+15770a0efb30b5f8b4acf713f70712f7e0f70438e213e8f854f74215f75a078bcf99
+9b8ba38b918492848b0813f0808b3d8570865d8337835f8888838c7a8f83eb89ff00
+50b334fffff8b334ff00094cccfffff54ccc0813e8987c8d818b7108fb6d07fb6d55
+644d1effffda80008bfffff24ccdff000b999affffe0b333ff0020e666ffffec8000
+ff00148000ffffe6999aff00028000ffffeae6667effffec80007ffffff93333ffff
+d5cccdff00234ccdffffeab333ff001a80007bc286bb8b08f707edbef7ab1f13f0fb
+08f87015760a0e89b0f82eb0f733a9a67701f70de203f70df71815780a0e89b0f8ef
+aca67701ff011e8000e203ff011e8000f71515790a0e89b0f824c255a712cfddf71c
+ddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f825a771bf12f708e2f784e2
+13d8f768f819157c0a13b87d0a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785
+f76f157f0a0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72
+b215810a13ec820a13dcff00888000ffffb8999aff005a8000ffff7566661effffb3
+999a8bffffd1e666ffffdb8000ffffd48000ffffc78000fffffce66687fffffa199a
+8b8b93080efb7eb0f74fbef829b701c7e7f7b9e203ff01a18000f82915a172ff0005
+8000758b7008fb6807ffffd0cccdffffa88000ffffe13333ffffce8000ffffc3e666
+ffffa0199ab8f73cf708b6d7f51eae8bff003980007da37008ff001b8000fc94158b
+388186398985858b729185b58cb48cc08bff002ce6688bff001b19988ab68a91918b
+a485914e8e808f8bde08f877078bff002cb33498ae95ff00164ccc88ff00084cccff
+fff4b334ff00056668fffff94cccff00024cccfffff44ccc877efffff2b334827e7d
+77fffff2b334fffffb4ccc7e9468a2449e5a8b08fb2123ffff9f8000ffff5e8000fb
+18d6fb02f7251fff003f80008bff00344cccff00176666ff00133334ff000a999aff
+00188000ff000d8000ff00058000ff000180008b76080e89b0ff018c8000ff003a80
+0055a712f76ae213b0f7c1f82a15830a13d0840a0e81b08676f858b012e3b671d6f7
+b7dd42af1374e3f72415850a13ac860a13aa870a13b4880a0e81c6f7efb701f750e2
+03e4f84c15890a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f680008115
+8a0a13788b0a13b88c0a0e9476f85db001f83cf851158d0a0e9476f85db001ff0166
+8000f7f915ffffcd80008343fb4005ffffef8000ffffd8b333fffffd4ccdffffff80
+00fffff61999ff0025cccd0855f763057dff0035b334ff000c199aff00064cccbb8e
+91918ba48591ffffde4ccd8affffddb3338a678b658b6e8c768c85858b729185ad86
+ff00043333fffffd199aff000ee667ffffc8e66608ff0064e666fc0a05ff0003999a
+fffff13333ff00096666fffffacccd958b948bff00063333ff0005e666ff0006cccd
+ff0010199a08f6f790ff0004b33485ff00684cccfb8c05ff0005e6667dff0007199a
+85958b948bff0009199aff00054ccdff0003e666ff000fb33308ff00649998f80405
+ff000c999cb9ff0006cccc9cb99091918ba48591fffff04ccc8affffedb3348a678b
+658b698c6b8c85858b729185d687ff00004cccffffe8999afffff64cccffffdb6666
+08ffffc06668fb8305fffff9b334ffffe84ccdfffffce666fffff9cccdfffff63332
+ff0019e666080e89b0f82eb001f775f82d158e0a0efb7cdbf8e9b001f7a6fb34158f
+0a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0a3ff00408000bcff0021b3
+34bfff0000cccc08f75c8e052cffff8e8000ffff7a4ccdffff7c4ccdffffa7e666ff
+ff936666ffffeb8000ffffe6cccdfffff0cccdfffff18000ffffe78000fffff18000
+89fffff2cccd8ffffff1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3
+348aafcb98b396ff0034800085ff000680007e907bff00018000086affffc6800005
+ffffe5199affffd1333364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73c
+ff00b9e666f0ff00768000ff00133334ff00168000ff0008ccccff000e80008b8f8b
+8f868e848b868b65896e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f08
+0efb68a3f83ba3f83ca301f7fcf8bc1586ff0066e668f71dff00111998b19691918b
+978591318bfb30638ffb050891fb4c058b595f55418482828c849383ff0049800082
+ff002e80005f894e0885fb3e0586fb16f7266af08b91918b9785915f8bffff7d8000
+bdff00048000df0893f72905ff00046666ff00524ccdffffc26666ff00278000ffff
+bc3334ff001c3333088f07ff00433334ff00133334ff003e1998ff001cccccfffffb
+b334e4080efb6776fa367701f7beb703f7eafb7c15fa365ffe36070efb69a3f83ca3
+f83ba312f7a4d549d313e8f7ac511590ffff99199afb1dffffeee666658085858b7f
+9185e58bf730b387f7050813f085f74c058bbdb7c1d59294948a928393ffffb68000
+94ffffd18000b78dc80813e891f73e0590f716fb26ac268b85858b7f9185b78bff00
+82800059fffffb8000370813f083fb2905fffffb999affffadb334ff003d999affff
+d88000ff0043ccccffffe3cccc088707ffffbcccccffffeccccdffffc1e668ffffe3
+3333ff00044ccc32080ef78ece9dce01f8a4a203e3f79815a38805a2b7bfadb18bad
+8baa7fa76fa86dae7cab8ba58bdda6a8f60874910575595a746c8b6c8b699a6ba66b
+a6789b648b498b413e804a080e0ef804f70c12f783f70efb06f513a0f7c0fb4815a3
+a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d8b4f7efb
+0081357d618b4a0855a878a31e13c0c8f8f415910a0eff003eccccbeff017f6668ff
+0026e664ff0054e6687701ff00564ccdff00568000ff00813333b9ff006a3334ff00
+5c333403f7c2f90115ffffab199807ffff87e666fffff1ccd0ffffa06667ffff9e66
+648bffff7d33348bffff87e666ff004d4ccdffff9e8000ff008a6666fffff3e66608
+ffffa93333b9ff0055cccd07ff003fe666ff0002999aff0049e666ff0014199aff00
+4eb334ff00593333fffffc3334ff00098000fffff2b334ff000d4ccdfffff580008c
+ffffc41998ffffc23333ffffb6ccccffffe9199affffcf80008bfffffd80008bffff
+fd999aff00001999fffffd999aff0000199a08ff017f999a07ff0038999afffff8e6
+66ff002bb332ffffdd199aff0005e668ffffd4ccccff0003e666ffffe3999aff0014
+ccccffffeeb334ff0016ccce8bff001c80008bff00103334ff001280008bff0023b3
+328bff00144ccefffff44cccff00169998ffffea66649dffffdae668ff001ee668ff
+ffc0999aff0015b334ffffbf6666ff0003199808ff00538000075dfffe0cb33415ff
+ffb24ccdff0017e666ffffcc8000d78bff005eb3328bff00656668ff002f6666ff00
+443332ff0051cccdff000b4cce080e7fd090b8f767b7f793b401f75be603eff7d215
+ee77068b2a81412b5d6e7b6f708b778b7aa07e9f8ba28bfffffe999aff0012199aff
+000f6666ff0017e6669499ad9db08bf70c8b9c41eb8b08d08bc4c6a5c28792818f82
+8c6f6559786b8b418b6dbdfb188bafadb6bd8cf71308f71c06979990941fa2078f87
+8e861efb2df006f705bbb4d41ea28ba575997e987f94839b8b08a59d9ba6b13b9a72
+1f418b587f646cffffbf3333ffffcc8000ffffe8cccdffffc080008b30085c3b0778
+857d821f7d07868c89901e0ef6bbf7bfba01f70ad0f79acf03f74ff7c515dbc1d0da
+d0c749373b57463c3b58cfdd1ef717fb5a15b98bb598b0a708be53b3b551bc05a6ae
+99b48bb88bba7db46fad08c9bd5fb9574d0567a762985d8b5f8b637f66700858c462
+5fc55c056e697b618b5b8b5d9b61a868084e5bb95dbbc705af70b47eb88b080e89b0
+eeb4ceb5f7dab001f7b0e803f72cf78615f71848fb050678867e831f7e07868c898f
+1ef71883068b387a863b8885858b729185bc8cff0026cccc8cff003833348bff0037
+cccc8bff002533348abd8a91918ba485913b8e7a908bde0893f7100796998f951fa0
+078f888d861efb21cef7100696998f951fa1078f888d861effff73b33406ff00014c
+ccff00104cccff0003ccccff000e4cceff000bb334ff0013666608ff00818000f76c
+05ff001d3334ff0030ccccff00111998ff0006e668ff002cb334ff00044ccc91918b
+a485916d8a6d8a748b748b6f8c638c85858b729185ff002c4ccc88ff00113334ffff
+f96668ffffe94cccffffd8999808ffff873334fb6505fffff76666fffff1199affff
+fc6666ff00014cccfffff66668ff000f999a08ffff81ffffff00cccccc05ffffe6e6
+66ff0028b334ff0004e666ff00078000c38e91918ba48591638a698a638b648b6a8c
+6d8c85858c729185b588ff000b999afffffc8000ff00241999ffffc7800008ff008d
+4ccdfb710596ffffeeccccff00056666fffff5199aff00028000fffff2199a08ffff
+91199a0678867e831f7c07868c8a8f1e0eff01278000bc03ff01588000f936155afb
+febc06fb2b045afbfebc060efb40aaf994aa12f720c173d058d8f70fd858d073c113
+e2ff00d6cccdff019f199a15ffffd3999affffdc199affffe1999affffd033328bff
+ffbf999a8bfb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e
+81a1718b0870827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd19
+9aff00234ccc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266
+668bf70f21b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a5
+8b08a6949ca0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffff
+dcb33408ff00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffff
+e06666ff001233330813e143b540b38be78bff00226666ff00106666ff00173334ff
+0019b334ff00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedcc
+ccd361d6638b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a08
+0ef8d5ea01f751e9d6e903f751f90415920af73d16920a0ea2abeca8f791a2efaa01
+b0aaeccef7469ff721aa03f84bf76c15fffffc8000ff00068000fffffa4cccff0005
+cccdfffff63334ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d
+938b928c908e8ca38bff001780008aff00238000778d7a98458b5b8bffffd2e666ff
+ffecccccffffe3199affffdfb33473ffffe5199a7fffffdb999a8bffffd9cccc088b
+ffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e6
+66ff00249999fffff3199aff0026b3348bc28bb6ac9faa08fb0bfb5515930af8aa04
+940a0ef7f3adf77da501f75ac5f70cc603f80cf88a15950abafb2b15960a0ef74ef7
+8915b7bab7c1c7e288967e957f8c2d2c51544a55087f07cc55c554e92c978c98958e
+964fe25fc15fba08f76816b7bab9c1c7e288967d957f8c2d2c51544a55087f07cc55
+c554e92c978c99958e964fe25dc15fba080ef7d7b701f887c103f887ee159e82ff00
+126668ff0002999aff00109998ff0006666608f7a0fc9507fffff94ccc798efffff2
+ccccff0003b334fffff3333408f85f060ef76bd701f877f76b15280a0ea2abf704a3
+eca3f701a3f704aa01b0aaf73fbae5c1f721aa03f80cf806155d797f6d1e61d6069d
+9a9ba4ad9b7a691efb05d4157b8b6d8c798c87878b7b8f87ab8893858b6b08fb2807
+8b6b83856b8887878b7b8f879d8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e8391
+8bab08c307908ba78a8f8808bb3b059c6ea3829f8b978b978d97908c918a92878f7b
+887bff0008333380ff0012cccd085bdd05aa95a5a48bb28ba977b8408b778b67897b
+8b08c4fc3815930af8aa04940a0ef8a5b701c6f7ac03f7cff8a51598969d97918793
+811ffb88067f817a7f848e83941f0ef81dbbf73dbb01f750c0f731c003f822f8a015
+970afb668c15980a0eabc7f7bac701f7b4cb03f8cfe715990afbaff8b515260a0ef8
+00abf79aa912f725ff00394ccdff006bb333cc82a313f0ff00abb333ff0248b33415
+ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff0007e668fffffae666ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bb5848b5c8b5dffffde80006c
+ffffcfcccd685affffdc6666ffffc5b333ffffd3999a8b5b08f78e0613e89a0a13f0
+806ffffff04ccc64ffffe2b3348b08fb0506ff0002b333acff0021cccda4ff0029cc
+ccff001e4cccff00354cceff0026b334ff002e6666af8bb908cb449e593c6dffffce
+b334ffffe34ccc1efffff1b334ff000eb33380971e0ef7faa9f719a6f702a912ff00
+7d3333ff0036cccd5cbdf702c66ac913e4f7b9f901159b0a13f29c0a13ec9d0a0eff
+011e3334f94215ff000666668dff000ccccc8cff0009999a8bff004b33348bff0010
+666678ff0016666684089380ffff39999afb0c05ffffe4cccc7bffffee333483ffff
+f199998bfffff3cccd8b828f8b948bff00068000ff0002cccd93ff00049999ff0005
+8000080efb6976f774b812dbef2eda45bdf78ada13d4f81adb158d068e519b6bc88b
+08bfafb390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbc2
+07746a4050548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb
+500713cc8b5194588b6a0813e48b4c7b5c8b580862b3739ca39e9eb41e13cc8bb669
+d18bcc8b90928f918b977ea581a68b08cb8bcab9b2b7080efb7cacf9bfac01f7d1bd
+dcbd03f803f8d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba1570
+8b508d408b08fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff399
+9afffff5199affffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86
+088b788d8905bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b90
+87ff0002b33387ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008
+e6668ba908f973078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d05
+8fff00004ccc8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b
+080ef760f70001d2f70003f711f760159e0a0efb5ca8d6abcb7701f744c903f7232b
+159f0a0ef800a801f779c103f76bf90015978d826b1ffb16078b586c88638986838c
+7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8b
+be08f78307fffffab33490fffff89998fffffde668fffffab334fffffd19985f7071
+7f5c7a8b7fff0002199afffff71998ff0007e666fffff9e668a4949e91988b080ef7
+c3a5f767a501b2c5f730c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef7
+18f70315bdab623b436079704f71c8bcc1a3babd1f0ef85af784155f5c5f554f348e
+809881978ae9eac5c2ccc10897074ac151c22dea7f8a7e818880c734b755b75c08fb
+68165f5c5d554f348e809981978ae9eac5c2ccc10897074ac151c22dea7f8a7d8188
+80c734b955b75c080e3aa8d1adf79ba801f71cc1ff012a8000ff0034199803f8a6f8
+ed15a00afc567515a10aff016e8000fffe84b33415a20affff3a4ccd048b627e8863
+8986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba9
+8a8f928b998793698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8b
+f74805ff0008e666fffff38000ff0001199afffff9b3341efffffcb3348bfffff6b3
+34ffffff8000fffffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4
+cccd82fffff58000ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333
+fffffc999afffffa8000fffffccccc86fffffd199afffff9b333fffffd666683ffff
+fae668ffffebcccdff001a99988b08ff0076b334060e3cabf79aa9d1a812f714c1f7
+5dff00394cccff006bb334cc82a313f8f8a6f8ed15a00afc5e7515a10aff0127b334
+fffe52b3341595ffffffffffff00119998ff00054ccd8e9dff00014cceff0007e666
+fffffae666ff000ccccdff00038000ff00084ccd90979794aa8b0813fc9db5845c1f
+8b5dffffde80006cffffcfcccc685affffdc6666ffffc5b334ffffd3999a8b5b08f7
+8e0613faff00088000ff001ab334ff00063334ff001f9999ff00044cccff0023b333
+fffffab334ff0003b33383ff0001999afffff54cccffffffb3330813fc806ffffff0
+4ccc64ffffe2b3348b08fb0506ff0002b334acff0021cccca4ff0029ccccff001e4c
+ccff00354cccff0026b334ff002e6668af8bb908cb449e593c6dffffceb333ffffe3
+4ccdfffff1b333ff000eb33480971e0e3ca8d1adf791a9f719a6f702a912ff002133
+33ff0036ccccffffd10001bdf702c66ac9ff00ad8000ff0034199813f840f89ef8ed
+15a00affff9a8000fffe70b33415a20affff3a4ccd048b627e88638986838c7c8f85
+a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f928b998793
+698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8bf74805ff0008e6
+66fffff38002ff0001199afffff9b3321efffffcb3348bfffff6b334ffffff8000ff
+fffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4cccd82fffff580
+00ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333fffffc999affff
+fa8000fffffccccc86fffffd199afffff9b333fffffd666683fffffae668ffffebcc
+cdff001a99988b08ff0076b3340613f940fffefa8000f8ba15a30a13fcc09c0a13fb
+409d0a0efb47b0f894f70c12f1eccff70e41ace4d713ecf8494d156d5e593d3d66cb
+d51e8bba99aac2b0d7be8fbf8bb608b20792858e81818488841e66078b7387827b72
+807a757a6e7b546d3f598b3c8b29d042f70e8bcb8bc7a5aea4afa3a4af8bb108ae6d
+9d7874787f741e8b7e8e8590860890868d858b7c0813f45bf88015910a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af71ff97715a40a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af7a4f97915a50a0e89b0f756
+b3f7f877f57601f787f7a1152c0afb8ffb52152d0af75ef96d15a60a0e89b0f756b3
+f7f877cbc089c212f852a613f4f823f96615a70a13eca80a13f4a90afb30fc59152c
+0afb8ffb52152d0a0e89b0f756b3f7f877c0eb01f72debf721eb03f72df95615aa0a
+f78116aa0afb27fc49152c0afb8ffb52152d0a0e89b0f756b3f7f1abf5ab01f77cb3
+ebb303f7d4f98815ab0a3356155db564b91eff000a999a8bff000a33328dff000980
+00ff00038000ffffefcccefffff76668ffffe03332fffff71998fffff3b3348b08fb
+59fc8d05745178865f8885858b729185a78cff00224ccd8cff001ab3338bb28bb58a
+b08a91918ba48591658d5fff00034ccc98ff0026b33408b8f71a059099918da38b08
+f74e8bc6fb3105966f60855b8885858b729185b08cc28cb28bb48bff00214ccc8aff
+001db3348a91918ba48591648e828d79b908ffff323334ff021a999805ff001fe666
+ff000d3334ff0016e666ff001f199c8bff0022199808ba61b15d5d61645d1e96fc46
+152c0a0e89b068b6f766b09caff77ab312f7c9dff704acb2ac7dae133e00f746f7b6
+15cff78d0597b7be838b5e08fb8407fb420413be808bffffb44ccc84fffffdb33445
+8885858b72918508137e80ff002ab3348cb68cff00224ccc8b08f7060613be80bbdb
+898b1f99bb9aca93bb81917f8d7e8808137f00774768583f8b086706757d9aa51ff7
+73a007e08b8e758e609185a08b9191fffffeb334ff00204cccffffff4cccab8bff00
+13b3348bff00134ccc8cff0022b3348ca78591768b85858857887e368b0876f75006
+a2979ea31eae06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a8883
+8a738b08218bfb488b058b8b4a8c598c85858b729185d188fffffd6666ffffecb334
+fffff7999affffe04ccc08fb04fc390513be80ffffefcccdffffc2199afffff23333
+fffffce6665f8885858b72918508137e80a48cff001be6668cff001a199a8b0813be
+80ff001bb3338bac8aff001b4ccd8a91918ba48591658d758e95b408b7f740f7218b
+050efb5ca8d6abff00363333ff0028ccccf8c0b101aeecf78ac9f70bab03f7ed2b15
+ac0a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7f7eb15350a3df8
+6e15a40a0e8bb2f7a0aff77ab3f57601f70ee8f75bace4ac91ae03f7d7f7eb15350a
+a6f87115a50a0e8bb2f7a0aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15
+350a83f86515a60a0e8bb2f7a0aff77ab3ebeb12f70ee85debe8eb63ace4ac91ae13
+f2c0f7faf98915ad0a13f4c0fb5116ad0af72efc321513f9c0350a0e89b0f8b3b1f1
+7601f7ade803f80af70e153a0afb07f94b15a40a0e89b0f8b3b1f17601f7ade803f8
+0af70e153a0a73f94d15a50a0e89b0f8b3b1ea7601f7ade803f80af70e153a0a64f9
+4215a60a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f478f90f
+15ad0afb5116aa0a0e89b0f790b2f790b101e4e8f7d2ec03f74ae015f75eec079794
+9a96908893821f21f76006acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61
+f8a415ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffb394d0782
+817c81858e83931fd1fb39063c81834f1e85858b729185b98cff001c66668cff002f
+999a8bad8bc389e18b08f70af736c8f77ef770fb0bf2fb441f548b4488678b080e96
+7693b0f8b3b0c1c089c212e7bcf7b1a6bfbc1337f80ff96615a70a132fa80a1337a9
+0af712fb8515fbc207798680851e888b7c9b72af08fbbaf82ffb178d0586858b7290
+85b288a16a907208fc150713678b3681864c8486858b729085ff00224ccc8cff0028
+b3348ca48bff00144ccd8bff002b66668aff00244ccd8a90918ba486914c927c8f8b
+e108f7b107ab8b9a921e908b94829c7408f7c5fc370513a7ff000e199affffec999a
+ff000fe666fffffc6666998b089898979d1ff861078be09190ca9290918ba4869167
+8affffdbb3348affffeb4ccc8bffffea4ccc8bffffd166688cffffd84ccc8c86858b
+729085ca849f878b35080e81b3f8bfb3ea7601adecf80eec03f7c7f8dd15460af7bf
+fba415470afbc2f88e15af0a0e81b3f8bfb3e97601adecf80eec03f7c7f8dd15460a
+f7bffba415470afb6ff88f15a50a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15
+460af7bffba415470afba2f88315a60a0e81b3f8bfb3b7c089c212adecf7bba6c3ec
+13eef80ff96615a70a13dea80a13eea90a43fb1d15460af7bffba415470a0e81b3f8
+bfb3aceb12adec4bebf7cfeb4aec13e8cef95615ad0a13e4f82f16ad0afb3ffb0d15
+13f2460af7bffba415470a0ef72df7cf01f737f7cf03f7f7f7ca15f70ff70f68aefb
+0efb0ffb0ef70f6768f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050e81b3f8
+bfb301adecf80eec03cf7f15ff003c999aff0047199a05ff00328000ffffd2ccccff
+00429999ffffe8199aff00484ccd8bf08bdbb9bdd5afc1a0c48be78bff005b6666ff
+ffe43334ff004a8000ffffd19998ff00354cce08ff00373334ff0040cccc0589997c
+99788b08ffffcbe6664e05ffffcf199aff00279998ffffc16666ff00156668ffffba
+999a8b318b3c635944635272528b218bffffad3333ff00178000ffffbc8000b2ffff
+cdcccd08ffffbf8000ffffb48000058e7d997b9e8b08f783f8e915ff0039b3348bff
+00329998ffffe59998ff00243334ffffce199c08fffeda999afffea8cccc05ffffee
+e666ff0028999a81bc8bff0037e6668bf752ebdfdb8b08ff00a8e666ffff89b33415
+a0ffffd28000ff000c199a518bffffbacccc8bfb384227278bffffc4b3348bffffc7
+7fffff00208000ffffd96667ff003acccd080e81b4f8b9aef37601dbe8f7dcc003f7
+41f88115590af2f8c615a40a0e81b4f8b9aef27601dbe8f7dcc003f741f88115590a
+f77cf8c715a50a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af757f8bc15
+a60a0e81b4f8b7b0b8e901e4e0c5e9bde9b2bc03f7ce8115f751c2f70df73d1ff76b
+078bda988cc88e91918ba485916d8a5f8a748b748bffffee199a8dffffe5e6668b78
+8b88709a81ae84987e8b4c08fb7c072177fb12fb2d1e5b8b6b9d6ea756bd8bce8bc9
+08f783078bc79b9daa90948d8cae7d8b728a788a628b648b5f8c668c85858b729185
+c7889c8a8b3c08fba307fb56f71c63e41e39f96115b00af72416b00a0e89b0f8b3b0
+f37601f7b0e803f80df70e155d0aa2f94e15a50a0e89aaf705ab74a7f7a8b170aae1
+ab12f71ee0f795e81397f773f85b1513cfa091da909e8b08c6da71fb06fb0f376e43
+1f13b7658b558d828e084c04ae0713cf9a86c387ae8b08f746cdf705d2ce5ef3fb4d
+1f1397788b4a8967890813af8f078bda9c8fd18e91918b9f85915a8a6d8a588b598b
+6e8c598c85858b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8c
+a98cbe8bbd8ba88abd8a91918b9e8591458e7a908bda080e81b06eb0f82cb0f749b0
+12f70fe3e4becde676e8137ef70ff712158b387f86528885858b729185b58ca98cb9
+8bff0021e6668bff000a199a8ab68a91918ba4859167907f8e8bde08f7da07f700ab
+f0f3c09c6a551e8bffffc780006effffc880004760087e0713bddf4bde2e8b2e0830
+56656d746dff00013333ff0018cccd1e8b9793948b9c089f8395777b7c787b5f9f57
+dfe7dfd9f41e8bf708fb0aff0050333439ff0031cccc088d07137eff00478000ff00
+2c8000ff00388000ff004380008bc108bb5bca233cfb2e5dfb3986fffff4199a89ff
+ffdbe6661e7e8b836c918508be06948e87831f0e81c353b8f833b312cbee4fe9f76f
+e01374f832f78e155f0af705fb401513ac600a1374610a26f93615b10a0e81c353b8
+f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a53
+f93615b20a0e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15
+b40a1374b50af705fb401513ac600a1374610a0e81c353b8f833b3eec089c212cbee
+4fe9f76fe03da6133080f80cf91615a70a132880a80a133080a90ab1fc1c15b40a13
+6400b50af705fb401513a300600a136500610a0e81c353b8f833b3f6ea12cbee4fe9
+74e9e0e96ce0133200f742f91815b60a133100f74716b60ac8fc1e15b40a137800b5
+0af705fb401513b480600a137880610a0e81c353b8f833b3c6abf5ab12cbee4fe99a
+b3ebb3a7e0137dc0f832f78e155f0af705fb401513bbc0600a137dc0610a23f90c15
+ab0a335615b70a0e81c155baf760acf747b012a4de51d8f732d8f739e0137bf792f8
+4015a17093648c333984ffffbcb333fffff8e666ffffd84ccdffffe2199affffd233
+33ffffdd8000ffffe6cccdffffdc80008b5e8b5da766ac75a07db685ad8bae8bb69c
+b7bf089699ff0005b334ff00053333ff00064cccfffff4cccd0813b7a262ae67d68b
+ca8bc7b7a7c788918395838c6f64646f588b448b60ef8beff7648eb5be8bdc08b16b
+d4fb001e558b596f6c5968d6478e748b083d385b4a75946fa8a3a09d9d1f8b938a93
+898f898e8a948b968babb09ab08b089f8b9e83997a08aafb4f158b538a6687760813
+7b7d5e625e6d8b568b69ae8bbb8ba49ca4a29fa8a4b59fcd9108d9af1593eaaedccc
+8bb98b955c8b6d8b57785efb2589080efb5ca8d6abc1c1f829b401d7e6f735c9d4ec
+03f8d7f70015b80a0e81bdf76bb4f72eb301d9ebf7bfef03f7c3f96d15b10afb56fb
+c715690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7f0f96d15b20afb
+3dfc4515690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0a0e81bdf76bb4f72eb3f6ea12d9eba9e9e0e987ef
+13fcf760f91815b60a13fef74716b60afb60fbf015a2f70cdaadcb8b0813fdb90aed
+fb53156a0a0e89b0f81fac01f7b9e203f810f71a15ba0a3ef8e715b10a0e89b0f81f
+ac01f7b9e203f7f0f96d15b20aabfce715ba0a0e89b0f81fac01f7b9e203f7e5f966
+15b30ab6fce015ba0a0e89b0f81facf71aea12f760e986e28ee913f4f760f91815b6
+0af74716920a13ec88fc9215770a0e81b3f839b2f74fa001cfeaf7c0e803f85df94f
+15ffffa5b334ffffca800005ffffddccccff0013cccc5fff0012999cffffc68000ff
+000e1998087b7605ff002c3334ffffedb334ff0021e666ffffec4cccff001ae666ff
+ffeacccc08ffffac4ccdffffce6668ff001fffff75ff004f199aff002f199805ff00
+228000ffffdce668ff00143334ffffd8e664ff0011e666ffffd3e6686f96658f6e8b
+0830fb3a4bfb55fb08effb13f71ef710f712e2f7501f8bf7375aff005a33344eff00
+40ccccfffff3cccc98fffff0ccceff000e1998ffffecb332ff000e199c08ff0058b3
+34ff0034cccc05fb37fd1b153c38eaf713e0bbf706f7041fbb8bbb76a56b985b905a
+8b5808fb493564571e0e89b0f825a771bfeec089c212f708e2f782a672e21396f81e
+f91615a70a138ea80a1396a90afb4afb9115bb0a13c5bc0a13a5bd0a0e81b4f836b4
+01c7ebf7dceb03f7c3f96d15b10afbcdfc09157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7f0f96d15b20afbb4fc87157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b4f836b4
+eec089c212c7ebf7b1a69beb13eef81ef91615a70a13dea80a13eea90afbe2fc3015
+7e0af785f76f157f0a0e81b4f836b4f6ea01c7ebb1e9e0e99ceb03f756f91815920a
+f74716920afbcdfc32157e0af785f76f157f0a0eff003e999aff00704cccff002e19
+9ac7ff003b999aff00704ccc01ff01164cccf70603f8cff7ad15990afffedb4cccff
+ff5dcccd15ffffe1cccea571aaaaa5a5ff001e3333ff001e333371ff0019e6666c6c
+71ffffe6199affffe1cccd1ef7aa04ffffe1cccea571aaaaa5a5ff001e3332ff001e
+333471ff0019e6666c6c71ffffe6199affffe1cccc1e0e81b4f836b401c7ebf7dceb
+03f893f88c15ffffd5b334ffffcccccc05ffffda1998ff0017199affffcf4cceff00
+0e199affffc2e6668b3a8b496d5e5b5f5b724b8b458bffffc0e666ff0019cccdffff
+bd3334ff0034b333ffffd0e66608ffffd2800054058d7a937f9d8b08ff00318000ff
+003c199a05ff0026e666ffffe7ccccff00316666fffff1199aff003c33348bda8bc7
+a4b5b0c3bca3d28bcf8bceffffe86668ff0048e666ffffc7ccccff0031b33408ff00
+27ccccff003066660587998597788b08fb665415be8bff002a199affffef8000ff00
+1eccccffffdf333408ffff163334fbaf05ffffe6e666ff002bcccc81ff0034b3338b
+ff0029cccd8beeff001ce666eaff0074199a8b08ff0093b334ffffae199a15ff0016
+e66663ff000c6666ffffc94ccc8bffffba999a8bfb23376e4c8bffffc9e6668bffff
+d84ccdff00154cccffffe3e667ff001f199a080e81ba84a6f818b012ff006f8000e2
+f784e21338f7c3f96d15b10a13b8ffff818000fcf9158a0a13788b0a13b88c0a0e81
+ba84a6f818b012ff006f8000e2f784e21338f7f0f96d15be0a13b8ffff9a8000fd77
+158a0a13788b0a13b88c0a0e81ba84a6f818b012ff006f8000e2f784e21338f7e5f9
+6615b30a13b8ffffa58000fd70158a0a13788b0a13b88c0a0e81ba84a6f818b0f707
+ea12ff006f8000e2ffffea8000e9e0e9fffff48000e21334f745f91815b60a1332f7
+4716b60a13b9ffff928000fd22158a0a13798b0a13b98c0a0efb7cdbf8e9b001f7f0
+f96d15b20a41fe0d158f0a0efb7eacf753b1f82fbef72ba9a67701f706daf79eea03
+f753f7d615d9e8b2b01ea78ba8819c7abb5b9b4b8b488b2a5ffb00fb0a8b7b8b638c
+6ca67e9785928bae083ef85515fd31078b3880864e8885858b769185b58cff001a4c
+cd8cff002bb3338bff002f33338bff001ecccd8ab68a91918ba08591448f80ff0003
+999a8bff0053666608ef078baa947f9786a282af86a98bc68bcaa1b6b6bdbdafcf8b
+e58bf7092af702fb008b528b576d6f6e087a7a898a8ba408f72507ff004180008fff
+002780008b1e92878e821e7281407d638889838d7b9185bf8897908b37080efb7cdb
+f8e9b0f707ea01f760e9e0e903f760f91815920af74716920afb01fdb8158f0a0e89
+b0f756b3f7f877eebd01f846f95415bf0aacfc47152c0afb8ffb52152d0a0e81c353
+b8f833b3ebbd12cbee4fe9f76fe01332f83ef8de15bf0af768fbe415b40a137ab50a
+f705fb401513b6600a137a610a0e89b0f756b3f7f877e1bf01f74aa7f76ca703f787
+f7a1152c0afb8ffb52152d0af7c9f96915c00a0e81c353b8f833b3e5c412cbee4fe9
+75a6f76ae038a6133280f75ef96b15c10af768fc7115b40a137800b50af705fb4015
+13b500600a137900610a0efb5cb1f734b0f756b3f7f87701f813c903f8d9fb1b1587
+92858f828b75757b7b6e8b08667ea0a5b9bcced21ffffffeb334ff0001999a05ff00
+169998ffffff99999fffffff6667ff0012b334ffffff666691918ba48591648e828d
+79b908fb62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78c
+ff00224ccd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff
+0026b33408b8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b7291
+85ff0018e666ff0000b333acff0000999aff001eccceff00006666ffffc3cccc70ff
+ffdc8000ffffc6b3338bffffd6999a8b55b177bd8bb48bb39fa8b808fbe6f828152c
+0a0efb55b1f725b8f833b312cbee4fe9f76fe039c913f0f832f78e155f0af705fb40
+1590ffffde199a976cff0044b334ffffffe6660813e2ffffd3e666ffffdd4ccdffff
+e26666ffffdbcccd8bffffd9e6668b55b177bd8bb48bb39fa8b88792858f828b7575
+7b7b6e8b668b7ea08ba5088bff00273333ff0018b334ff001d0001ff002d9998ff00
+274cccff0026e668ff000d8000ff0014cccca38b938b938096858b838b8779708b59
+8bfffff2ccccb8ff00023334bd0813ec92f73505ff0009ccccff009d8000ffff9c33
+34ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e8a928b
+9708aec897bcc1c26ffb0e1e8b838486888a08fb16750513f2610a0e81b4f8c0b1e8
+7601aeecf83fab03f7f68115320ab1f9d115a50a0e81c1f829b401d7e6f7bcec03f7
+f0f96d15b20af77bfd0115640a0e81b4f8c0b1e27601aeecf83fab03f7f68115320a
+a1f9c715a60a0e81c1f829b401d7e6f7bcec03f7e5f96615b30af786fcfa15640a0e
+81b4f8c0b1d7f301aeecf740f3f72bab03f7c4f98515c20abdfd8f15320a0e81c1f8
+29b4eff70701d7e6f0f704deec03f7a0f91e15c30af7cbfcb215640a0e81b4f8c0b1
+e87601aeecf83fab03f7f68115320a76f95715c40a0e81c1f829b401d7e6f7bcec03
+f7bbf8dc15c50af7b0fc7015640a0e89b0f8b3b1f17601e4e8f7d2ec03f74ae01533
+0a61f8a415340af72bdf15c40a0e80bf80a6f81cb3a69fdbdd52a912c7e5f7b8e2f7
+14ad133b80f909f94e15687b727b7a9573b3ff00183334ff0004ccccff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c1998ff0010e668ff0010e668
+ff001519989b9f92a18ba308af74b0641efb4ffcc4158b7689837b7d0813b3806267
+57796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea28bb58bc07ea1719b798e848b
+68087ffbba15660a137b80a19db5ff0010199ad6ff0005e66691918b9a859140ff00
+09199a83ff000ee6668bbc08f85907cc8fb38b1e92878e821e13b7807281247d6388
+89838d7b9185d3fffffd199897868bffffb5e668083d07838989831e878b449d648b
+3d8b58735b61585b6d498b388bfb1dde27f7138bb98bc6a1c2b8080e89b0f790b3f7
+8fb101e4e8f7d2ec03f74ae015f75ef70d07ff000c4ccc8dff000ab334ff000fcccc
+8bff0009999a8bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc08fb
+17f75f06acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61f8a415ffffd0cc
+cd8bffffe433338c5d8c85858b72918508c795833c1ffb3856077ffffffdb33482ff
+fff14ccc8bfffff666668bfffffa66668efffffa3334948908c9fb39063c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080e80bf80a6f81cb3c1b3c5a9a67712c7e5f7b8
+e213bff84ef71e15650a7ffbba15660a137fa19db5ff0010199ad6ff0005e6669191
+8b9a859140ff0009199a83ff000ee6668bbc08f831c107ff000c4ccc8dff000ab334
+ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff00
+014ccc084b06cc8fb38b1e92878e821e7281247d638889838d7b9185ff003f4cccff
+fffd8000ff0010e668fffffbccccff00033332ffffccb33408ffff82999a067fffff
+fdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f71b4d06
+838989831e878b449d648b3d8b58735b61585b6d498b380813bf680a0e8bb2f7a0af
+f77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb3ebbd01
+d9ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0a0e8bb2f7a0aff77ab3
+d8bf12f70ee844a7f76ca789ace4ac91ae13f9c0f7d7f7eb15fb00f75006a2979ea3
+1ef74006d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b
+08fbe8068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a8645888585
+8b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768
+543f8b08fb5506757d9aa51ff777f70007e08b8e758e609185a08b919189ab8bff00
+1333348bff0020cccc8babff0000b334ff0016b334ff00014cccff001b4ccc859176
+8b8585088857887e368b0813f6c0e8f86015c60a0e81bdf76bb4f72eb3e5c412d9eb
+aaa6f76ca689ef13fef77cf96b15c10a56fc4315a2f70cdaadcb8b0813fdb90aedfb
+53156a0a0e8bb2f7a0aff77ab3e3f301f70ee88ef3e7ace4ac91ae03f76ef98515c2
+0af4fc2e15350a0e81bdf76bb4f72eb3eff70701d9ebeff704e2ef03f7a6f91e15c3
+0a2cfbf615690aedfb53156a0a0efb5cb1f736b2f7a0aff77ab301f70ee8e0c9bfac
+e4ac91ae03f886fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+fe999aff0001b33305ff002c199affffff7fffff00304cccfffffecccd8b8b99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f70007e08b8e758e
+609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016b334ff
+00014cccff001b4ccc8591768b85858857887e368b08fb00f75006a2979ea31ef740
+06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8
+068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a86458885858b7291
+85bc8cd28c8b8b08ff00f1666606ffffc36666ffffe5199affffdc3334ffffc68000
+8bffffd666668b55b177bd8bb48bb39fa8b8080efb5cb1f72cbdf76bb4f72eb301d9
+ebf71bc9f1ef03f88ffb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002b
+999aff001d4cccff001de666ff003fb334ff0034e666ff002c4cccff0011199aff00
+25e668ff001a4cccff001bccccff00203334889686957c8c085c605771408bffffbf
+cccc8bffffc33334a162c572b17faa8bcd08f80b0699959c97e953f704fb3efb1efb
+172cfb3d1f8b4da04eb461b55ed871e38b9c8bff0010999aff00014ccdff00103332
+ff00026666ffffcc3334ffffda199a67ffffd833338b618b55b177bd8bb48bb39fa8
+b808fbdcf84315690a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7
+f7eb15350a7cf7f615c40a0e81bdf76bb4f72eb301d9ebf7bfef03f7cff8dc15c50a
+fb1cfbb415690aedfb53156a0a0e81b1f766aff7d0aee17612aeecf7e8e967ae13fc
+f7fbf90515370a13fa380a99f74b15a60a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139060f7c7f96615b30aeafc2e15235579591e139960c7
+0afb6ffbd61513d2606d0a13b2606e0af7faf84f15a09f9fa11f1395606f0a13b960
+700a13b0e0710a13b260720a13d4e0730a139960740a0e81b1f766aff7d0aecfbf12
+aeecdfa7f76ca77be967ae13fd00f7fbf90515370a13fc80380a13fe00f715f74915
+c60a0efb81b0f74ccb4fcfecb0f79bb073bdcbc412cbd85be643c671a6f76ca67ee4
+a6cb139234f740f96b15c10a139a8cf77afc33156c0afb6ffbd61513d3046d0a13b3
+046e0af7faf84f15a09f9fa11f1396846f0a13ba84700a13b244710a13b304720a13
+d64c730a139a84740a0e81b1f766aff7d0aee1f312aeecf740f3cbe967ae13fcf7c4
+f98f15c80ac2fb1e15fb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb70813fe
+819486928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86
+858b739085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7
+081f13fdf7168ba941a239978a988c959183b386bb85cf558b74a8fb028b080efb81
+b0f74ccb4fcfecb0f79bb073bdd5f70712cbd85be643c6caf704c3e4a6cb139238f7
+7ef91e15760af73cfbe615235579591e139ab8c70afb6ffbd61513d3386d0a13b338
+6e0af7faf84f15a09f9fa11f1396b86f0a13bab8700a13b278710a13b338720a13d6
+78730a139ab8740a0efb76a3daddaab1f766aff7d0ae12aeecf79eb2aee967ae13ff
+00f7fbf90515370a13fe80380a9bfd2e15c90a0efb81b0f74ccb4fcfecb0f79bb073
+bdb9dddb9f12cbd85be643c6c1adf723e4a6cb139b5cf826f7cc156c0afb6ffbd615
+13d39c6d0a13b39c6e0af7faf84f15a09f9fa11f13975c6f0a13bb5c700a13b33c71
+0a13b39c720a13d73c730a139b5c740afb92f71515ae9ba49b9c81a363ffffe7cccc
+fffffb3334fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3e6
+66ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0e89b0f7a2b3
+f77db0e97601e7e5f7a8e503f7e6f9ba15a60af766fd4015390a0e89b0f823c3f72b
+a9a67701f706e2f789e203ff01854cccff02dde66815fffff66668ff00033330ffff
+f66666ffffff3334fffff66666fffffd999cffffe5e666ffffcfb330ffffd6999aff
+ffc74cd0ffffdf999a61ff00056666fffff68000ff00084cccfffff9ccccff000819
+9afffffde664ff0023199aff0017199cff001bb334ff001c6664ff001cccccff0021
+999ca6ffffdf8000ff001d8000ffffe49998ff00223334ffffe6ccccff000866668d
+ff0009ccccff00088000ff00048000ff00074cd008ffffdf999ab5ffffd86666ff00
+37b330ffffe5e666ff00314cd008ffff43b334fffe5efffe15750a0e89b0f7a2b3f7
+21acc6b001e7e5f7a8e503f8b8f70e15f800e3acffffa8333407ff00018000ff0033
+3334ff0009ccccff00044cccff003d8000ff0003800091918ba48591608a568a738b
+738b5d8c5f8c85858b729185ff003db334fffffd6668ff00081998fffffc80008cff
+ffcb199808fffeed666806ff00016666ff00343334ff00098000ff00043334ff003b
+e666ff0002999891918ba48591608a5d8a718b6b8b5f8c608c85858b729185ff003f
+6666fffffd6668ff00088000fffffbcccc8cffffcbcccc08ffffa4199a6ae7068afc
+0005ffffffcccd3cfffffe333387448785858b729185b68cb98caa8ba78bb78ab58a
+91918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b729185b48c
+b78ca98ba88bb98ab78a91918ba48591458e88908bda0831f80015fb21fba807ff00
+00e666f721050e89b0f823c3afbdcca9a67701f706e2f789e203f75dff013ce66615
+8bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00
+1466668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d
+08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88a
+b68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b3
+34ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc
+3334fffff99999fffffccccc8b9908ff0000999af712ff004133338b059896a09791
+8796811f409206ff00004ccdccff0003b333b38b8b8b92878e828b72812a7d638889
+838d7b9185ff00413333fffffe3334ff000b3333fffffb9998ff00016667ffffc533
+3408ffffad3333068080777f848f80941fe7fc28068b387e89ffffbd33338985858b
+729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff001e19998a91918b
+a48591ffffcd33348f828c8bdd080e89b0f8b3b1dec089c212f7ade8bfa613ecf80f
+f98415a70a13dca80a13eca90a86fd0a153a0a0e89b0f81facf712c089c212f7b9e2
+c8a613ecf81ef91615a70a13dca80a13eca90a7dfc9015ba0a0e89b0f8b3b101f7ad
+e803f80af70e153a0a0e89b0f81facf70fbd01f7b9e203f83ef8de15bf0af746fc58
+15ba0a0e89b0f8b3b1d7bf01f755a7c7e8caa703f80af70e153a0ae6f93f15c00a0e
+89b0f81facf709c401f74da6dce2bba603f768f96b15ca0af73cfce515ba0a0efb5c
+b1f734b0f8b3b112f787c973e813f0f84dfb1b158792858f828b75757b7b6e8b0866
+7ea0a5b9bcced21ffffffeb334ff0001800005ff00278000ffffff999aff00236666
+ffffff8000ff001c6666ffffff666691918ba485910813e8fb268f84918bd808f805
+078bd89091f7288f91918ba585915a8affff97800089ffffd180008b5f8b228d598c
+85858b719185f7278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48c
+d98b08ff000b66660613f0ffffc36666ffffe5199affffdc3334ffffc680008bffff
+d666668b55b177bd8b08b48bb39fa8b8080efb5cb1f734b0f81facf713f70712f771
+c982f7042ee213faf837fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced2
+1ffffffe999aff0001b33305c5ffffff9999ff004afffeffffff6666ff001d6668ff
+ffff4ccd91918ba48591558d269780937c95889e8bbb08f782078bff0043cccc99ff
+0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348bffff
+f4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7ccce
+ffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef80008f83
+ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff000980007fff
+000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185ff0024e6
+66ff0000e666ff0079ccceff0000e667ff003b9998ff00003333ffffc38000ffffe5
+199affffdc3334ffffc666668bffffd680008b55b177bd8b08b48bb39fa8b80813f4
+fb25f9a515760a0e89b0f8b3b1e0f312f7a6f32ae813f0f7a6f98515c80a13e8effd
+0b15ae0a0e89b0f81fac01f7b9e203f810f71a15ba0a0efb37b5f70baaf8beab01f7
+0ee8f775e803f8a9f885158bda9c8fc78e91918b9f85915a8a708a5b8b538b668c59
+8c85858b779185db889c878b3c08fc3807fb3f5b706a1e7d8b7d9284958198879f6c
+8b087d6d777669c07aa11fb88baa92b4acb7aec9bd8bf71c08fbd29d15f811078bda
+9c8fd18e91918b9f85915a8a6a8a578b578b6c8c598c85858b779185d1889c878b3c
+08fc11078b3c7a86458885858b789185bc8cac8cbf8bbf8baa8abd8a91918b9e8591
+458e7a908bda080efb74b3f74ab0f81facf713f70712f72ef7042ee274dbf711f704
+2ee213f100f84ef91e15760a13f280f5fcca15f7b4078bcf939b8ba38b918492848b
+808bffffcfe666fffff74cccffffe5199afffffab3345d826f875f8888838c7a8f83
+d589a289948008957f907e8b7108fbcc07fb4887534d1e618b75a67db583a1809576
+8b7a8b74768b738b779677a078a575bf7cb18b08f707bbc7f78c1f13f400fbb4bd15
+f782078bff0043cccc95ff0010b3348bff001780008bff00068000fffff8ccccff00
+068000fffff933348bfffff4cccd8bffffe7cccdfffffbccccffffe59999fffff919
+9affffddcccdfffff7199a6a865c8688fffff780008cffffef80008f83cb88ff0007
+3333ffffff199aff0008cccdfffff4e66608ff000980007fff000180007e8b7108fb
+7a078b5c87787d808083677f5a8985858b729185b58cd38cb88bb58bc88ab68a9191
+8ba4859108558d76978093087c95889e8bbb0813f80021f89815760a0e81b6f8b5b0
+eb7601f7d7e803f834f87b153b0a6ef8a415a60a0efb30b5f8b4ac01f7fde203f82e
+f96615b30ab1fcb815cb0a0efb76a3daddb2b0f79ba7f790b001f700e8f742b203f7
+5df70e153c0af72bfb3715c90a0efb76a3daddb2b0f82eb0f733a9a67701f70de2dc
+b203f70df71815780af725fcec15c90a0e89acf826a77caf937712f71ce213a8f773
+f70e15f70407a28a9b8a968797839681987908ddfb0205ac5f95798f7a8c888c898e
+8ba18c988cad8bae8ba28aad8a92928ba28492658f6f906db108fb28f74e05879087
+8f8b918b8f8b8f8f8f08eef005adafb295b88f92928ba18492628a7a8a638b608b71
+8c628c84848b759284ca877063817e08716b68646e7671786c7d768908f607bd8fcb
+8b1e13d88f868e831e6f803d82468289858d7b8d85ac88ba88937c90818d7c8b7508
+fb87078b678976837e817b5b89698885858b769185b58cff002c999a8cff00376666
+8bff0026999a8bff001166668ab68a91918ba08591086190818e8bde080e89b068bd
+f8a4b0f27612f72ee8f7c8ae137cf75916f78c0613bc3d0a137c3e0a13bc3f0af4f9
+c715a50a0e89b0f8efaca67701ff011e8000e203f7f5f9e315a50affffbd8000fd62
+15790a0efb76a3daddb2b068bdf8a4b012f72ee8f2b2f73aae13dff75916f78c0613
+ef3d0a13df3e0a13ef3f0af7166215c90a0efb76a3daddb2b0f8efaca67712ff011e
+8000e2ffffe38000b213faf7d66215c90a13fcffffdc8000f73e15790a0e89b068bd
+f8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8
+efaca67701ff011e8000e203ff011e8000f71515790a0e89b068bdf77df3f753b012
+f72ee8f1f3f1ae133ef7f1f7e315c80a137efb2cfbe315f78c0613be3d0a137e3e0a
+13be3f0a0e89b0f7aaebf779aca67701f2eaff00588000e203f2f7fc15739d74a9a6
+9fa1a4a673a174707673721eff00b78000fb7b15790a0e89b068bdf8a4b012f72ee8
+f7c8ae13b8f7e8f83f152effffcd66668bff0072999a058bda9c90d18e91918ba485
+91638affffd780008affffcc80008bffffcb4ccd8bffffd6b3338c628c85858b7291
+85d1889c868b3c088bffff5accccfb0bffffbf33349d6ef0c28bfb39058b3c7a8645
+8885858b729185081378bc8cdc8c8b8b08f78c0613b83d0a13786ffb1f77632e8b08
+fb0c066e799ca81f8bff00f1999af703ff003c6666050e89b0f8efaca67701ff011e
+8000e203f845f84a15ffffc48000ffffdd199a8bff00b3e66605cc8fb38b1e92878e
+821e6681fb0b7d638889838b789185ff002880008bff00254ccdffffff4cccff0016
+b333ffffed3334ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc08
+8bffff46199affffa58000ffffcae6669c6eff00498000ff002acccc8bffff483334
+058bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333fffff84cccffffe5
+cccdfffffeb33485858b729185b58cff006866668cff005d999a8bff005a199a8bff
+0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff0008cccd80927b95
+fffffc80009d8bbc088bff00ea8000ff004c8000ff002c8000050e967693b0f8b3b0
+f37612e7bcf800bc137cf88df87515440a13bc450afb0ef7e715a50a0e89b0f825a7
+71bf12f708e2f784e21398f7f0f96d15be0afb1cfbe815bb0a13d8bc0a13b8bd0a0e
+fb76a3daddbf7693b0f8b3b012e7bcf784b2e0bc13dff88df87515440a13ef450afb
+27fc9e15c90a0efb76a3daddb2b0f825a771bf12f708e2f72bb2bde213f7f768f819
+157c0a13ef7d0af70bfc4215c90a0e967693b0f8b3b0f27612e7bcf800bc137cf88d
+f87515440a13bc450afb42f76c15c40a0e89b0f825a771bf12f708e2f784e21398f7
+c5f8dc15c50a2efb5715bb0a13d8bc0a13b8bd0a0e89b0f825a771bfa59fdbdd12b0
+adc5e2f784e2139f94f94e15cc0af76cfbc915bb0a13dfbc0a13bfbd0a0efb37b5f7
+0baaf8b3c061ab12f5e0f7bde013dcf74af8fb15828a7f8a7e8b598b6e8c598c8585
+8b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8ca98cbe8bbd8b
+a88abd8a91918b9e8591458e7a908bda08f7c8078e9b939792930813ecc0c7cdbfae
+8bb58bad81a466a3688b438b2b08fb8907fb3f57706a1e7d8b7d928495819787a06c
+8b087d6d777669c07aa11fb88baa92b4acb7aec5c68bf71c08f762078bf71283dc65
+ba6bb2619e528b4b8b3f545340088b8584881e9c07c98fb18b1e92878e821e0efb73
+b7f745acf829a771bf12f708e2f78fe213ecf75ff82d158bb3fffffcb333ff0019b3
+34fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f
+806682468289858d7b8d85c18696868b5108fb8a078b3981874f8685858b769185b4
+8ca58cb68bb28ba58ab58a91918ba085915890828f8bdd08f76b078ba09497939408
+13dcb1b0d7a1b28bff002680008bff00073334fffff6ccccff00134cccffffe53334
+99ffffec80008dffffe480008b6d08fb8d07fb188ffb0f591e808b7e8f849281957f
+9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf75108f768078bc8ffff
+fd8000ff00278000ffffe38000ff00218000ffffe8e666ff001b3334ffffdc199aff
+0006cccc638b5a8b327e4e4708888785818b99080e81b3f8bfb3f713bd01adecf80e
+ec03f83ef98415bf0af4fb3b15460af7bffba415470a0e81b4f836b4ebbd01c7ebf7
+dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0a0e81b3f8bfb3cebf01ad
+ecc4a7f76ca7bcec03f7c7f8dd15460af7bffba415470afb26f88015c00a0e81b4f8
+36b4e5c401c7eba8a6f76ca6a8eb03f768f96b15ca0afb2cfc85157e0af785f76f15
+7f0a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415470a24f873
+15cd0afb179015ce0a0e81b4f836b401c7ebf7dceb03f87ff97a15cf0afb189115d0
+0afbbffc9a157e0af785f76f157f0a0e89ab6db0f7aaacf777b112a1e9f74de0f727
+a4a4a684a613be00f78ca915246edff759f75fa9cdec1f9406b196856e1ffc710770
+8280631e7f6b15137e808bcb8db41ef7ab8b91f72c7090057c4682584a8b082f0675
+7d90a51ff78be907ad8b927d917008916d05878e89901ea28b8d8d0588a986a88bac
+8baa91a88da9088d8a8d891e7506878887871f846f058470877c678b082df75806a2
+9793a31ee30613bf00bf8b9953926208a68e91f718fb458b2e8b0560498c8b1ffb4e
+6efb21fb3f1f8bfb3fa9fb18f7508a080e81bf57b2f78bb7f71aaf12a3dff751def7
+2ede137ef7e7f8181576c071bc2e8b082e3934fb41fb1dd124f11fcd8bb5b2a9c708
+13bea357b35cd88bdb8bb2c59dac87948592828c716658786b8b6a8b44bf8bf7298b
+968b978c9508f78006f7165fdf281e528b5862704e08fb7bfb1015d896f705dab0c9
+4ffb3f1e137efb315966643d75f704f70f1ef83ec315fb2b068d9da6f707c78bc18b
+92348c5d080e967692a671b0f785acf7a1b4ef7612efe8f78aef131ff7bcf8d6154c
+0a24fc5c154d0a139f4e0a135f4f0a133f500af71ff94e15a50a0e89b0ff018c8000
+ff003a800055a712f76ae21390f804f96d15be0a48fbd715d10a13b0d20a13d0d30a
+0efb76a3daddbf7692a671b0f785acf7a1b412efe8f720b2ceef13c7c0f7bcf8d615
+4c0a24fc5c154d0a13e7c04e0a13d7c04f0a13cfc0500af709fb3715c90a0efb76a3
+daddb2b0ff018c8000ff003a800055a712f76ae280b213ecf7c1f82a15830a13f484
+0a69fc53156e7678731f8b70a4829c880813e29d8998878b778b7971735a808b828d
+829185c494bca98bc708bf73ad651e0e967692a671b0f785acf7a1b4ee7612efe8f7
+8aef131ff7bcf8d6154c0a24fc5c154d0a139f4e0a135f4f0a133f500abef8d315c4
+0a0e89b0ff018c8000ff003a800055a712f76ae21390f7bbf8dc15c50a91fb4615d1
+0a13b0d20a13d0d30a0e81b1f8c4b0e97612c8b380dff7bdef3db313ecf893f8eb15
+510a13f4520a13ea530afb25f77115a50a0e81b08676f858b012e3b671d6f7b7dd42
+af1320f7f0f96d15be0a1374fb98fcdd15850a13ac860a13aa870a13b4880a0e81b1
+f8c4b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb47
+f76c15a60a0e81b08676f858b012e3b671d6f7b7dd42af1320f7e5f96615b30a1374
+fb8dfcd615850a13ac860a13aa870a13b4880a0efb5ca8d6abff00366666ff002599
+9af8c4b012c8b380dff72ec9dcef3db313f700f7bb2b15a2957d7671767d6d1f778b
+808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff
+00154cccff0039199a05ff0033e668ff00013333ff00333332ff000ae666ff002799
+9aff0013cccdd0adb8bf8bce8bf70635befb0797ffffb3800093ffff888000af8bdb
+8bd1ceb5d28b0813f680f70a8bb255a34c998b9a8a969287b985a57fbd45938b9dfb
+0a8bfb0f8bfb025c8bfb138b26ff006a199a4fff006ce666800813fb00ee81ce718b
+268b3e50662a8bfb058b41b070ea7c8f7d89808690429072995cff0045cccd8bff00
+241999ffffed6666ff0059199a880867ffffa9999a9185059b90958c9e8b080efb5c
+a8d6abe176f858b012e3b671d6f728c9dcdd42af13f700f7bb2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccc405ff0085e668ff0000199aff0068ccccff002880008bff0072
+66668bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff00118000
+ffffbb8000ff001280008bc38bb6bdace78b0813f680870a13fb00ff008e800073ff
+002a8000768b5b8b545065278b528b5d96799a6ea473bd84a77d8d778682828f5498
+5c9d6208978d9b8d918b938b99ffffff333393fffffdcccdff000eb33387affffffa
+cccdff002a80018908ffffdbccccffffa933339185059b90958c9e8b080e81b1f8c4
+b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb62ed15
+c40a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63fc
+4c15850a13ac860a13aa870a13b4880a0efb5ca8d6abc9b0f851f7205fb0129badf7
+74e864c9f75cad13ed80f7bb2b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce8e8b05ff00476666
+8bff003d999a8abd8a91918ba485910813ee80fb0c8d7a918bda08f7f907c895afaf
+1ea706d68bc4729c42968b998c948f84b786bb8ab60813f680550a13ee80560a13f6
+80570a13ee809fd7c3a4cd8b08ae06b09567511ffbfc078b3c7a86fb0c8885858b72
+9185ff00286666ff0000cccdff0032199aff0000cccdff00388000ff00004ccc0863
+ffffa0199a9185059b90958c9e8b080efb5ca8d6abc1c6f7efb701f750e2ff003d80
+00c903ff012f80002b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff0039999a05ff0006
+3334ffffff9999ff00064cccffffffcccdff000680008bff003a80008bff00438000
+aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd480008b085858
+9ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb38b1eff000666
+6888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668fffff04ccd
+fffff966647afffff8e66872898b818bfffff466688effffd499988bffff91199a08
+28ffffffe666057d877f831f7907868c8a8f1ef704fb95068bffffa73333ff002980
+00ffffd66667c8fffff280000865ffffa4e6669185059b90958c9e8b080e89b0f851
+f7205fb0f476129badf774e8f773ad13bef803f70e15540a13de550a13be560a13de
+570a13be580a59f8d315c40a0e81c6f7efb7d79fdbdd01b0adf709e20394f94e15cc
+0adbfb9615890a0e89b0f7a8b2f716f7205fb0129badf774e8f773ad13def803f70e
+15f751f7140797949a96908893821ffb1df71506c895afaf1ea706d68bc4729c4296
+8b998c948f84b786bb8ab60813ee550a13de560a13ee570a13de9fd7c3a4cd8b08ae
+06b09567511ffb18200782817c81858e83931ff707fb51068b3c7a86fb0c8885858b
+729185bc8cff003f33338cff0047cccd8bff004766668bff003d999a8abd8a91918b
+a4859108fb0c8d7a918bda080e81c6f758b2f704b701f750e203e4f84c157d877f83
+1f7907868c8a8f1ef704fb04ffffc280000682817c81858e83931fff004580002106
+fb04cd66e31eff003a80008bff00438000aadcb889ff000a4ccd85ff0010b333818c
+ffffc98000745375ffffd480008b0858589ff70a1fc5ff008480000797949a969088
+93821fffff728000f704f7600695998f941fa4078f888d861efb70e406cc8fb38b1e
+ff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668ff
+fff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988bffff
+91199a080e81b4f8b9aeedc089c212dbe8f7b3a699c013cef741f88115590a13eef7
+84f89215a70a13dea80a13eea90a0e81ba84a6f818b0f6c089c212ff006f8000e2ff
+00d68000a6fffffe8000e21336f802f91615a70a132ea80a1336a90a13a5ffff8880
+00fd20158a0a13658b0a13a58c0a0e81b4f8b9aef71dbd01dbe8f7dcc003f83ef984
+15bf0a6efb9715590a0e81ba84a6f818b0f3bd12ff006f8000e2f784e2133cf83ef8
+de15bf0a13bcff002c8000fce8158a0a137c8b0a13bc8c0a0e81b4f8b9aed7bf01db
+e8b2a7f76ca79cc003f741f88115590af7cbf8b815c00a0e81ba84a6f818b0edc412
+ff006f8000e2fffff28000a6f76ca6ffffef8000e21336f768f96b15c10a13b9ff00
+228000fd75158a0a13798b0a13b98c0a0e81b4f8b9aeccabf5ab01dbe8d4b3ebb3da
+c003f7e2f9c615ab0a335615b70a42fba415590a0e81ba84a6f818b0ceabf5ab12ff
+006f8000e2ff00218000b3ebb3ff001e8000e2133f80f7d4f94315a99d756c6f7a72
+6c6c7aa4a71fa99ca2aa1e335615b70a13bf80ff000e8000fd18158a0a137f808b0a
+13bf808c0a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af7e9f8ac15cd0a
+fb179015ce0a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a
+0a13788b0a13b88c0a0efb5cb1f72cb4f8b9ae01dbe8f713c9f71fc003f886fb1b15
+8792858f828b75757b7b6e8b668b7ea08ba58bff0033199aff00283334ff00203333
+ff0058ccccff0048b33308fffff980009205ff0034ccccff00336666ff0010b334ff
+005233348bff0062666608f769078bda998ec59091918ba28591678affffd980008a
+ffffe880008bffffeb80008bffffcd80008c5f8c85858b749185d3859b878b3e08fb
+7a072180fb12fb361e5d8b649e70a863b688d38bc908f781078bda9190d58e91918b
+a28591638affffd480008affffd280008bffffd880008b658cffffdb80008c85858b
+749185c58897868b3c08fba107fb56f72263e11eff0021e6668bff001d8000ff0003
+999aff0019b334ff0006ccccffffc74cccffffd8199affffd7999a618bffffd38000
+8b55b177bd8bb48bb39fa8b8080efb5cb1f72cba84a6f818b012ff006f8000e2ff00
+ae8000c9ff00038000e213bef8cffb1b158792858f828b75757b7b6e8b668b7ea08b
+a58bff0023999aff000dccccff00333333ff0028199aff001e1999ff0019e666ff00
+0c999aff0027ccccff000a199aff002ee668ff0005666691918b9a8591084b907f9e
+8bbc08f78307a98fd88b1e8e888e861e868a748a7c8b6b8b658c668c85858b729185
+ff0015e666fffffeb334ff0013b334fffffce666ff0009999a82ff000bccccfffff4
+e6668f778bffffdb800008fb76078b78fffffee666fffff6e666fffff1199afffff5
+199a0813deffffc5800060ffffc3800078728b086d5999e41ff77907a98fd88b1e8e
+888e861e868a7a8a7c8b6b8b5a8c668c85858b729185a1fffffe3334ff0018e666ff
+fffcb332ff0009999afffff6b334ff000b666680ff0004199affffec999a8bffffdc
+cccc08fb830746af48ee1eb28bff004a8000ff0013199aff00438000ff0032e666ff
+0005199aff0003e666ff0006e666ff0002199a8b848bffffe9e666ff0002b334ffff
+ee999aff0002ccccfffff44ccdffffcc8000ffffdb4ccdffffeb8000ffffc799998b
+ffffd74ccd8b55b177bd8b08b48bb39fa8b8080e9576f8e1b0eb7601f7fbf841155b
+0a31f90315a60a0e9476f85db001f7e5f96615b30aff00158000fc0115d40a0e89b0
+f8b3b0eb7601f7b0e803f80df70e155d0a7cf94215a60a0efb7cdbf8e9b001f7e5f9
+6615b30a4cfe06158f0a0e89b0f8b3b0e9eb12f75beb80e896eb13e4f818f98915ad
+0a13f4fb5116ad0a13ecf746fd0f15f70f078ba7ff00006666ff00106666ff001199
+9aff001b999a08f715f75f05a8b99c93b88f91918ba485916d8a6d8a748b748bffff
+dd80008cffffde80008c85858b729185b7889d84746608fb0dfb5905fffff74cccff
+fff1ccccfffffc999aff0001199afffff6199aff000f199a08fb12f7550572b29092
+c38e91918ba48591678a658a638b648b6a8c6d8c85858c729185b5889788af5508f7
+21fb6405ff00123334ffffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a86
+3b8885858b729185bc8cff003380008cff002b80008bb68bbd8abd8a91918ba48591
+083b8e7a908bda080e8bb1f8a8b69277f70b7612c8a91398f804f9c815a50af74bfd
+ca15d50a13d8d60a13b8d70a13d8d80a0e8bb0f827b3957712d9af1390f7f0f96d15
+be0a13b0fb77fb8315900a13d0d90a0e8bb1f8a8b69277edf312c8a9f73bf3139cf7
+96f98215c80af7b9fd8415d50a13dcd60a13bcd70a13dcd80a0e8bb0f827b39577f7
+0cf70712d9aff72af704139cf79cf91e15760a13bcfb23fb3415900a13dcd90a0e8b
+b1f8a8b69277f70a7612c8a913d8f8bb89155e0a13b8d70a13d8d80afb8ff94f15c4
+0a0e8bb0f827b3957712d9af1390f7bbf8dc15c50a13b0fb422d15900a13d0d90a0e
+89acf800adf77fad01e8daf3dc03f740f70e15da0a0efc1dfbe5f96d15b10a0efc1d
+fbb8f96d15b20a0efc1df8f1f73101fb9ef79003fbc3f96615b30a0ef8e1c089c212
+66a613a037f91615db0a1360a80a13a0a90a0efc1df8debd01fc57f79903fb6af8de
+15bf0a0ef920b70164f9201598959d97918793821ffbe90680807a7f848f83941f0e
+fc1df8d8c401fc5ba6f76ca603fc40f96b15ca0a0efc1df8e2f70701fc0cf70403fc
+0cf91e15c30a0efc1df8e9ea01fc52e9e0e903fc52f91815920af74716920a0ef9b9
+a601fb7eb69aa795bd0333f99a15dc0a0ef8b9abf5ab01fba2b3ebb303fb4af94315
+ab0a335615b70a0e64f97a15cf0afb189115d00a0efc1dfbedf8dc15c50a0ef8ebf7
+3601fb48bf03fb13f986158390838d848b858b7c8681858c718b6e8b738b768b728a
+7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8e2f74801fb
+d3b8c7b703fb3ef8e215f7485ffb48074f8c15f7475efb47070efb98f9b615ffffe8
+999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d8a
+8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df71f
+058694848d7f8b08f71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b
+868c85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff
+000299988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8d8c4
+cfe601fcb5a6cce5c8a603fc59f98215dd0a4a7415ca0a0ef8adc401fb4ca6f76ca6
+03c6f85315de0a0ef89bdddb9f01fb32ad032bf89b15ae9ba49b9c81a363ffffe7cc
+cdfffffb3333fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3
+e666ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0ef8379fdb
+dd0154ad0338f8ed15df0a0ef8a29fdbdd01fb15ad0348f95815647466671f8b7392
+759b77ff0010e666ffffeae668ff001c199affffef1998b1868f8f8c948b92529777
+ab8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0e
+f82b9fdbdd014cad0330f8e115687b727b7a9573b3ff00183333ff0004cccdff0006
+9998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff00
+10e666ff0015199a9b9f92a18ba308af74b0641e0efb6ff72101fbe7f74a03fbe7fb
+0b158b81f71e3d05ff000fb333fffff73333ff00084ccdfffffccccd918b928b9293
+8b918b92889183940829f2058a8c868c878b6e8b74748079080efb6af72601fbcaf7
+3f03fbbcfb6a15908b928c938f08f717c3058e8e8e988b938ba7819e839508818ffb
+0c24057f8080828b828b888c80988b080efb6d76d1b601fb68b703fb3cfb7915f73c
+07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508f7034a
+0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c079088
+9189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc06848e
+858d848b848b83888285080ef8bfb401f712b703f73ef849158bf7278097fb268b05
+7d8386848b868b868d80958608f70cfb0e069483958a918b908b948f9094080ef7e0
+a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a98838b7e08
+696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb2915a89ba6
+b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f908b908b908c
+088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb7815f73c068e
+908d918b928b9289948695084df700068592838e838b848b8388858708fb034a0788
+8489858b848b848e839182080efb6376f70ab701fba3b603fb3b4915fb3c06888689
+858b848b848d82908108c9fb000691849388938b928b938e918f08f703cc078e928d
+918b928b9288938594080efb6d76d2b601fba5b703fb79fb7815c8ce0791948e928b
+918b92889286920847cb068390858d848b858b84888185084d4807848588838b848b
+848e838f8408d14a0692879289928b918b938e9492080efb3bb601fbf2f75903fb35
+fb1015fb4706848588838b848b848e838f8408f7490691948e928b918b9288928692
+080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e7e62bf5fc4c9
+9bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb8104c1c2b5b698
+81987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e0efb3bf70001
+fba2f70003fba2fb0515e00a0efb3bf70001fc06f700e5f70003fc06fb0515e00af7
+5a16e00a0efb71abf5ab01fbc5b3ebb303fb6d3815ab0a335615b70a0efb76a3dadd
+01fb77b203fb8e6215c90a0efc1dfb5ca8d6abcb7701fbccc903fbed2b159f0a0efb
+5cb101fbecc903fb26fb1b158792858f828b75757b7b6e8b668b7ea08ba58bb9adab
+c9be087d9c053b5a4b578b538b55b177bd8bb48bb39fa8b8080efb81f74501fbafc1
+03fb79fb7915f737077f8f828d828b848b8489818708fb390797879389938b928b93
+8d9691080efb63f70b5fb712fc0bb7f72cb71370fbdffb5915e10a13b0e20a0efb75
+cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b888b88
+8b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac96a5d1
+a344ae81998bae8ba9c29cd787907c95868e080efb70f72301fbdef79103fb79fb70
+15bd06a8b9b1b8aeb20878980566706972666569af6aa564a708777e05ae63b060a8
+5c080efb75f72301fbd6f79203fb3d391559066d5e655e6864089f7d05b0a6aca4b0
+b1ac67ad72b26e08a0990568b365b66fb9080efb47c401fcb6a6f76ca603fc9b6b15
+ca0a0efb4fc401fb77a6f76ca6039bfba915de0a0e20c089c2122ea613a0fb205515
+db0a1360ffffed8000ff000fe666ffffe88000ff0012199a6d8b608b74647d509185
+958a968d95ac959aa58b9c8bff00148000fffffa3334ff00108000fffff2cccc0813
+a0a90a0efb17b701fbfcf78403fb23fb1715e30a0efb17b70142fb1715e40a0efb67
+b7b9b701fc06f79803fb19fb0d15e50af7753115e50a0ef74ec089c2122ea613a0fb
+20f78315788bffffed4ccdff0006b333fffff1b333ff000c4ccd081360ffffed8000
+ff000fe666ffffe88000ff0012199a6d8b608b74647d509185958a968d95ac959aa5
+8b9c8bff00148000fffffa3333ff00108000fffff2cccd0813a0a90a0ef75db701fb
+cff7840329f75d15e30a0ef75db70142f75d15e40a0e3ff85a15fc0cfc5c058d7c97
+809b8b08f80df85f05879881957a8b080e937601fcee7e15f89bf91505fffffdb333
+ff000ee668fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4
+f704b201fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b
+08c2b7b5c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb
+65f70bfb0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b8487
+818308340713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b848883
+84080efb82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74a
+f73a070efb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a
+8f8b8f8b8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a
+8b7d8b6a80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00
+cb199a01fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049
+ccccffffe3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffff
+e34ccc6fff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff004933
+32ff00491998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff
+00133334f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ff
+ff0c8000f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334ff
+fff3b3327bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff
+0033e667fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff00
+0a66668bff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e66
+68ff000c4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ff
+ffe5999aff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff0025
+0001fffff4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd
+15e40af7ed3115e40a0ef8b7f73501fb82f73203fb30f95815b10a0ef8b8f73401fb
+83f73003fb2cf95815e60a0ef89bc089c212fb1ba613a0fb4af8d015db0a1360a80a
+13a0a90a0ef8379fdbdd0154ad0338f8ed15df0a0ef8d5ea01f751e9d6e903f751f9
+0415920af73d16920a0efb82b301fb72d6d4a403fb724115390751b273bb1ea48bb9
+999ad00872930584707b73798b08777fa2c21f8bbf7592050ef877f70b5fb712fc0b
+b7f72cb71370fbdff88115e10a13b0e20a0efb67b7b9b70142fb0d15e40af7ed3115
+e40a0efb75f74501fba2b3d1b303fb7afb6d15e70af70216e70a0effff978000b201
+ffff638000b303ffff068000ffffbe800015828687828b868b858c86938208ec4506
+90819289908b908b95909399088be67f96050ef8b9c089c21222a613a0ffff296666
+ff0200666815ff000ce667ff0030e66405ff000c0001fffff8b334ff000c666686ff
+000c4ccd8bb98ba8b297c7858f818e808a7d618081758bfffff333338bfffff38000
+8efffff4b333ff0005b33408ff000f999aff003b4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff319
+99ffffcee668051360fffff04cccff000b9998ffffed4ccd95ffffe9b3338b608b74
+647d509185958a968d95ac959aa58bff000fcccc8bff0012e667fffffae668ff000f
+cccdfffff4b330087bffffc3666805ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006668080eff01ebe666ff00423332
+ff0000e668c089c2fffffae668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01ebe666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd0
+199815db0a13aea80a13cea90a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080e0eff01f46666ff00c3199a
+01fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f7
+7cff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01
+fb70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7
+aaaca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef873e6bac4
+01fb77a6cce5c8a6035ef8a115a4779f7272777772729f76a4a49fa0a41ec88d15de
+0a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff7e3333
+15ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334ffffb6
+ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb6199affff
+b6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6cccdff
+00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ffff1933
+33fb1615ff00a34ccdff003c4ccd8bff00254cccfb7cffffac33348bffffe46666f7
+7cffffac33338bff00254ccd050effff1c6666ff00c3199a01fffed48000f77c03ff
+ff77cccdfb1615ffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a
+8000fb7cff0054cccd8bffffdacccd050effff1c4ccdff00c3666601fffeec8000fb
+1615fb24ffffc3b3338bffffda999af768df8bff001a6666fb68e08bffffda999a05
+ff01318000ffffe0000115ff003c6666ffff833333ff002566668bffffabcccdf755
+ffffe6cccd8bffffa9b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8
+f715bd61b4581e828b838a848908936c05908d908b918b08ada2716a6c756f681f82
+8b848c848e087f6d0596869689988b08beb5b4be1f0ef8e0f30149f30349f91415c2
+0a0efb0eb012fb49c275b676c313c0fb1bfb121579766f8f8b6d8b829284948b0813
+90ac8b84aa98a398758a6aa58b938b95918b958ba87089789f958d948a968b089f9c
+919b918898791f798b847873800813a08c9b98a18b9a08987f9181818081801e8b7d
+997c8d757396829d788b087e8681837a9586981f978b918e918b08928b9288918a08
+0efb6aa6f704a601fbd8b0efb0efb0031438fb2afb1715a99ea5aaa99f726c6f786f
+6c6c78a7a71efb42165db466b91eff001be6668bff0018cccdff000ce666ff000fe6
+67ff00138000ff00104cccffffec4ccdff00193334fffff34ccdff001ae6668b08bb
+b2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff36666ffffefb333ffffec4ccd
+ffffefb333ff0013cccdffffe6b334ff000c8000ffffe4e6668b085d62665d1fe2c3
+15a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef89276e8b701fbacf7670341f8f415
+8e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d6058f858d801e
+868b848a8989083ffb090588878a888b8908879088961ef30693908a891f8b898a88
+8a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81c001fb8104
+e80a0ef86fc001f86f04e80a0ef8a6bc01fc0ef8a615e90a0efb1abc01fc0efb1a15
+e90a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd8bc68bcc7dc479c379c57cc1
+8bc38bf72b98d4f6086e91055859227a498b588b4b984c9f529d5499558bfb238bfb
+124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e089c7905c9c9e8dbf7588bf7
+548bed40c848089c9d0537f70efb1ac7fb2a8b080efb29a901fba0fb0b156df86107
+797775777d6b08ae06a7aab1abb19f089607599d62ba7e9b0869069968a971947f08
+0ef8919ef7099a01fb7dadb9af03fb2df8df1562077c7e8986808b7d8b87958b968b
+96919bb39608a53d15958b958f949308869605898a888a898b08868994a11fb007be
+6b9671746a7a75839585939592928f1e8b8e8b8e8a8c8a8c8b8d8b8f08948f8f9d97
+9688631e7283056982767c8b748b749d7ca28b9d8b8f909d9b8d8191809c8b080ef8
+91a1c59db19c01fbd6b2c1b503fb89f8a71578789cb41feb06ac7fb3575e7164681e
+8b718f7a977f977f9e7fa68ba78b9d98979b08809705807f7f84768b089bd7155806
+8c9d949f9c8b089896826e1f0ef89399f70399bab712fba3c767af13e8fb67f8b215
+f70c800713f07e85798779898b858c878c870813e89b89918a8b7e083d078b7e828a
+80888a878b858c87958c9d8c948b968b9d8a938a8c8f8b918a8f08818e838e8b9608
+78f72f15979595979781957f7f81817f7f9581971f0ef8919bf70a9b01fb83b4cbb5
+03fb3af92715537a5b6c68a167bebea2b1aea87cbb501fab3315697e7f7d757c9fb5
+b898969ba2976e601e0ef891a3f7019a12fb82bd6da9b3c06cc155aa13e0fb50f924
+1513d08c078b818a841e13e07e778c8b1f8b8a8b7f058a8c8a8d1e8e0613d2958a8f
+8c8b7d084607679b7da31e9e8ba29e9394088f8a8970978b0513c49992968e9c8d08
+9a0713c27e8f81ff000466688bff000d99980813c88bed0513c28c078b838a867c73
+8c8b1e13c88a8a8b7f05898d8b8c1e910613d2948f897f1f4207817f7681838b087f
+8091a71f0ef891a1f7069c01fb81b1c4ae03fb3af92a15606f626464a269b91fa38b
+9f98999efffffde666ff0005b334fffffc8000ff0004b334fffff8999aff00019998
+817f8581768b08806f90bbb39ea09c1f9a8bff0004b333fffff61998ff00014ccdff
+fff3e6688c829484948b938b93918b988b95fffff8e666ff000c1998fffff3199aff
+0006e668fffff5cccdff00058000fffff1cccdff00018000fffff166668b080ef892
+9cf7069bab9912fba0b2aec767af13f4fb3ef8b41582818184838b08787e97bcb396
+989d1f998b92839481088a2b158d8a8a7a988b0598929b8e9d8d08899a057e8d82ff
+0004cccc8bff000f333408f731800713f87e8579877989088c7d0513f49a8893ff00
+0199988bfffff26668086e0783937d8f7d8b618b77618b688bffffe94cccff000666
+66ffffeab334ff000c999a7fff000acccdfffff5b334ff000d9999fffffc4cccff00
+10999a8b978b9a939594080ef89499f704a3a99912fbd8c867afc9af13ecfb9bf936
+15a38c998b1e8e898c881e13f482876a867c8a087e078a8c8b8c1e978a0513ec928f
+87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989da78a8b1e9607
+8d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e1f4c078b7f88
+89808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b8c898c08878c
+05808d888d8b9608cf07b17199721e778b78788382080ef895997ff725719980a212
+fbd8c767afbfaebfaf1387fb68f8b4158b7e848a80888a878b858c87081347958c9a
+8c948b081397968b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccff
+ffffcccdff0003999cffffff9999ff00036664ff0009999aff000a3334ff000c3333
+93ff0009cccd8b089b90846f1f51078b80838881888a878b858c87081347938c9d8c
+968b081387948b9d8a958a8c8f8b918a8f808e828c8b9808cb071347af779b731eff
+ffed4ccd8bffffeb6666ffffedb334fffff7b333fffff6ccccfffff9999aff0012e6
+68fffff16666ff00089998ffffed999a8b081327788b7b7a838208898c0513178ca4
+05134b800613ab7e85798779898b85ff0000999afffffbccccff00016666fffffc33
+340813879b89918a8b7e0841078b7e828a80888a878b858c87081347958c9d8c948b
+081397968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a6719912fba3c767af13c8fb68f90e158d8a059599989a9e8b08
+9b928380808485801f838b868e888f898d878b898b878b8587827e898888868b8708
+4b078b80938895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e
+948c8b9808d90713b08b98858c7b8d8a8f8a8f8b910813c89d8d9d8f98910896060e
+f891a0f7009e01fb77af03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d
+848b850572837e758a8b8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a
+8aff00054ccc888f86ff0002b33482858687828b08828995a01f0ef9169a01fbd5f7
+3803fb94f898158d8792888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b
+8d1f8b978a8c058b7a8a8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a88
+8986086dffffba80006cff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d
+1f8b97898c648a0581708c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919a
+f70f9801fbcdf73b03fbcdf89c158007958c918c988b948b9a8a968a0896078d8a8d
+871e818bfffffd199aff0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b70
+8b8b8d8790857f8b08868988871f8307938ca38c988b968b9b8a968a0896078d8b8d
+841e7f8bfffffacccdff0006ccccfffff83333ff000933340863baaab705969a8e8c
+978b08928b8d8e1f93077f8a828b808b818b828b818c088207888d8a8e1e928bff00
+063333fffffe3334fffffacccdfffff8cccc0871677baa0589908894918b08908e8c
+8e1f94077d8a7a8b808b7d8b7d8b808c088207888c8a921e928b9188908408b75205
+89896a648b8b807e8789808b0887898b871f0e89b0f756b3f7f87701f787f7a1152c
+0afb8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af7
+05fb401513ac600a1374610a0e89b0f7acacf77ab112f70ee8f776dc69e813f8f76b
+f8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f832b9f72ba9a677
+01f2e2f7b9eb03f774f82a15620a79ad15630a0e89b0f7acacf77ab112f70ee8f776
+dc69e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f8
+32b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79ad15630a0efb17b7e0b0f7ac
+acf77ab112f70ee8f776dc69e813fcf76bf8ac152e0a6a04e40613fa2f0a60f89a15
+300a13fc310af749fd7c15e30a0efb17b7d8b3f832b9f72ba9a67701f2e2f7b9eb03
+f774f82a15620a79ad15630af71dfccf15e30a0efb5ca8d6abff00363333ff0028cc
+ccf8c0b101aeecf78ac9f70bab03f7ed2b15ac0a0efb5ca8d6abc1c1f829b4f76077
+01d7e6f735c9d4ec03f8d7f70015b80afc81f8dc15e60a0e89b0f8b3b101e4e8f7d2
+ec03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213
+bef84ef71e15650a7ffbba15660a137e670a13be680a0e89b0f8b3b101e4e8f7d2ec
+03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213be
+f84ef71e15650a7ffbba15660a137e670a13be680a0efb17b7e0b0f8b3b101e4e8f7
+d2ec03f74ae015330a61f8a415340af784fd7c15e30a0efb17b7d7bf80a6f81cb3f7
+2ca9a67712c7e5f7b8e213dff84ef71e15650a7ffbba15660a13bf670a13df680a28
+fb4f15e30a0efb5ca8d6abc9b0f8b3b112c5c96ce8f7d2ec13f6f74ae015f85107ac
+bb9ab4f75aaafb0cfb50fb543060fb0a1e39709fa91f61f8a415ffffd0cccd8bffff
+e433338c5d8c85858b72918508c795833c1ffc05073c81834f1efffffa8000fffffa
+8000ffffff999affffeacccdff00048000fffff7b33308fffffc66668b632b918505
+9b90958c9e8b0813faa2957d7671767d6d1f778b808f7095848488848b7fa4809c85
+ab8b08c8b9aab6b16ca3631f828b828a838908ff00188000ff0041b33305ff001f19
+9aff0000b332ff00196666ff0000999ab08bad8bc389e18b08f70af736c8f77ef770
+fb0bf2fb441f548b4488678b080efb5ca8d6abcb7794bf80a6f81cb3f72ca9a67712
+c7e537c9f7cee213d7a0f84ef71e15650a7ffbba15660a13cfa0670a13d7a0680afc
+21fb2c1513e7609f0a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8a415340a
+0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a
+137e670a13be680a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff0014e666
+ff033f199815ea0aff00d0e666fffe61cccc15350a0e81bdf76bb4f72eb3ebbd01d9
+ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0afffe1c6666ff02a31998
+15fffffccccdff0000e668fffffb3333ff0000e668878bffffe4cccd8bffffed999a
+fffff0b330fffff99999fffffa999c08fffffe6666fffff61998ff005b3333ffff9d
+e66805ff000ccccdfffff28000ff00059999fffffb8000ff0004cccd8bff00066667
+8bff00059999ff000566648bff000480008bff00064cd0ffffff3333ff00064ccc87
+94080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff02171998ff033fe66815
+eb0affff2be668fffe17199815350a0e81bdf76bb4f72eb3ebbd01d9ebf7bfef03f8
+3ef8de15bf0a74fbb615690aedfb53156a0afffe716666ff029d199815ffffc3999a
+ffff94e66805fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6648bff
+fff9b334ff00059999fffffa9998ff0005999a8bff0005999a8bff00066666ff0003
+999c97ff000d800008e7ff00621998fffffd999aff0009e66805ffffed9999ff0013
+ccccffffeb8000ff0000e668fffffae6678b878bfffffb3333ffffff1998fffffd99
+99ffffff1998080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb1535
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7
+a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb301
+d9ebf7bfef03f747f7bc15690aedfb53156a0a0ef948bf01f71aa7f76ca703f82af9
+b915c00a0e0e89b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e89b0
+f7fdb7f770b101f75fe2f760e903f7b6f712156b0a0e81b1f766aff7d0ae12aeecf7
+e8e967ae13f8f7fbf90515370a13f4380a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0
+f823c3f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f7a2b3f77d
+b001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3f72ba9a67701f706e2f789e203
+f75dff013ce66615750a0e89b0f7a2b3f77db0e9eb12e7e553ebe8ebbae513f3f7cf
+f98915ad0a13f7fb5116ad0af83afd0f15f809078bd58e90d18f91918ba48591608a
+568a738b738b5d8c5f8c85858b729185d1888c878b3f08fb2a0713fbfba88b8cf72a
+058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85858b729185d388ff
+0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe333387448785858b72
+9185b68cb98caa8ba78bb78ab58a91918ba48591478e88908bda08f74bf7a8fb4b07
+8b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91918ba48591458e8890
+8bda080e89b0f823c3b0e6a2a9a67712f706e2f713e5a7e247e613fe80f865f8d015
+729f77a4a4a09fa4a476a0721e727776721ffb1d16dd0afb13ffff00e666158bff00
+15199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00146666
+8ba0fffff2e666ff000b999affffe9199a0813ff0095ffffec33348dffffe4cccc8b
+6d08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb8
+8ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8
+b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999affff
+fc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b3
+33b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b38
+7e89ffffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3
+338aff001e19998a91918ba48591ffffcd33348f828c8bdd080efb5ca8d6abcb779d
+b0f7a2b3f77db0129dc997e5f7a8e513ef807c2b159f0af8c7f76e15f809078bd58e
+90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f08
+fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85
+858b729185d388ff0001333386ffffffcccd40088afc090513df80ffffffcccd3cff
+fffe333387448785858b7291850813ef80b68cb98caa8b0813df80a78bb78ab58a91
+918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b7291850813ef
+80b48cb78ca98b0813df80a88bb98ab78a91918ba48591458e88908bda080efb5ca8
+d6abcb779db0f823c3f72ba9a6771282c9c8e2f789e213dfc0f75dff013ce666158b
+ff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff0014
+66668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08
+fb5b078b3a818a578686858b7290850813efc0ff00234ccc8cff0024b3348cad8b08
+13dfc0ab8bb88ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00
+308000ffffe8b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47ff
+fffc999afffffc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004c
+cdccff0003b333b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b40
+08fc49078b387e89ffffbd33338985858b7291850813efc0ff0027199a8cff0029b3
+338cb68b0813dfc0b28bff0021b3338aff001e19998a91918ba48591ffffcd33348f
+828c8bdd08fb87fb6e15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a83890813efc0a4ce698b632b9185059b90
+958c9e8b080e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3
+f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f8b3b101f7ade803
+f80af70e153a0a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13
+e8f5fc9815770a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f4
+78f90f15ad0affffac199aff0084e66815ffffa08000ffffb44ccc0581fffff81998
+fffffe8000fffffb999c8bfffff9cccc8bfffff99998ff0003ccccfffffa4cccff00
+05cccd8afffffb3333fffff88000fffffd199afffff733348bfffff6b3340871a175
+a5a5a1a1a51e8bff0014e668fffff1cccdff00124cccffffece666ff0006666408ff
+005a3333ff0029800005fffff63334ff0012ccd0fffff0199aff000f4cccffffe9e6
+66ff000bb334080e89b0f81facf71aeaffffcab3347612f760e986e28ee913eaf760
+f91815b60af74716920a13c688fc9215770afffee73334ff0270800015ec0a13d2ff
+fff9ccccff00056667fffffab334ff000566661eff000566668bff0006199aff0003
+8000ff000b8000ff000d333408ff0058999aebfffffdb333ff0009999805ffffee4c
+ceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080e89b0f79ba7f790b0f27601f700e803f75df7
+0e153c0af764f94d15a50a0e89b0f82eb0f733a9a27701f70de203f73bf94815ffff
+fe6666fffffd800005ffffd68000fffff7e668ffffc08000fffff7ccccffffe2999a
+fffffdcccc89838d7b9185bdfffffde668ff0014e666fffffe8000ff00083334ffff
+e6800008ffffe74ccdffffd9199805fffff7e667fffff33334fffffcb333878bffff
+f4cccc8b849285928bff000680008bff00076666ff00038000ff000d199aff000c99
+9808fffe5fe668078b388081538785858b729185b58cff001c199a8cff002ce6668b
+ff002380008bff000c80008ab68a91918ba48591628f80958bde08f107a28a958a96
+879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba18c8f8cac8bae8bab8a
+ac8a92928ba28492658f6f916db008fb27f74d05879087938b918b8f8b8e8f8f08ea
+ee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92928ba28492628a7389
+638b618b758d628c84848b749284c9877163817e08716b69646e7671786d7e768908
+f7d5078bff00123334ff00004ccdff00103334ff00008000ff000de66408ff001e33
+33ff001cb33488960583ff0007b334fffff7999aff00051998fffff84cccff000366
+688bff00008000ff0000199aff00004ccc8b8b8b92878e828bfffffcb333fffffeb3
+34fffffb4ccdfffffe9998fffffa4ccdfffffe999cfffffe3333ff00001998fffffe
+80008b8a8b868b858a888a080e89b0f79ba7f790b001f700e803f75df70e153c0a0e
+89b0f82eb0f733a9a67701f70de203f70df71815780a0efb17b7e0b0f79ba7f790b0
+01f700e803f75df70e153c0af77ffb9115e30a0efb17b7e0b0f82eb0f733a9a67701
+f70de203f70df71815780af783fd4615e30a0e89b068bdf8a4b012f72ee8f7c8ae13
+78f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e2
+03ff011e8000f71515790a0e89b068bdf8a4b012f72ee8f7c8ae1378f75916f78c06
+13b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203ff011e8000f7
+1515790a0efb17b7e0b068bdf8a4b012f72ee8f7c8ae13bcf75916f78c0613dc3d0a
+13bc3e0a13dc3f0af73ffb1715e30a0efb17b7e0b0f8efaca67701ff011e8000e203
+ff01658000fb1715e30af71af79815790a0e89b068bdf8a4b012f72ee8f7c8ae1378
+f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203
+ff011e8000f71515790a0e89b0f8b3b0f27612dfb274b2f7e8d943db13e2f879f708
+15400a13ec410a13f0420a13ec430a7cf7c215a50a0e89b0f824c255a7f77a7712cf
+ddf71cddf71cdd140e13def72af718157a0a13be7b0af707f8c415e60a0e89b0f8b3
+b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e89
+b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f8
+b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e
+89b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e9676
+93b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e89b0f825a771bf12f7
+08e2f784e213d8f768f819157c0a13b87d0a0e967693b0f8b3b012e7bcf800bc1378
+f88df87515440a13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c
+0a13b87d0a0efb17b7ed7693b0f8b3b012e7bcf800bc13bcf88df87515440a13dc45
+0a57fcf815e30a0efb17b7e0b0f825a771bf12f708e2f784e213ecf768f819157c0a
+13dc7d0af727fc9c15e30a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a
+13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c0a13b87d0a0e81
+b3f8bfb3ff005d80007601adecf80eec03ff02601998ff0324e66815ffffa08000ff
+ffb44ccc05fffff60002fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff
+0004999afffff9ccccff0006e6648bff0006e6688bff00094cccff00029998ff0010
+3334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0fffff0199c
+ff000f4cccffffe9e664ff000bb33408fffed2e668ffff24199815460af7bffba415
+470a0e81b4f836b4a8c089c212c7ebf757a6f5eb13ceff00e93333ff0300800015ff
+ffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99988bfffff6
+199c8bfffff9ccccff00056667fffffab334ff000566668bff000566668bff000619
+9aff00038000ff000b8000ff000d333408ff0058999aebfffffdb332ff0009999805
+ffffee4cceff00136668ffffec3333ff0000e664fffffb19998b08fffffc199a8bff
+fffb8000ffffff199cfffffdb333ffffff199808ffff52cccdfffde58000157e0af7
+85f76f157f0a13ee8ef70f15a70a13dea80a13eea90a0e81b3f8bfb3dce701adeceb
+e7f752ecaae703f911f98415ed0afc2e16ed0adbfb3b15460af7bffba415470a0e81
+b4f836b4a8c089c2c6ea129febf72de939a6f716e933eb13ce00f7a1f96f15b60a13
+cc80f73d16b60afc36fc8915fb06dffb12f7431eda8bc7a4b5b00813cd40c3bca3d2
+8bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b4508f785f76f157f0a13ed00
+70f70f15db0a13dd00a80a13ed00a90a0e81b3f8bfb301adecf80eec03ff005fe666
+ff0325199815ea0aff0075e666ffff6dcccc15460af7bffba415470a0e81b4f836b4
+ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff1d80
+00ff0147800015fffffce666ff0000e668fffffb6667ff0000e664fffffc33338bff
+ffe5cccc8bffffee4cce7cfffff9ccccfffffab33408fffffe8000fffff66668ff00
+57cccc2b05ff000c4cccfffff2ccccff00056666fffffb9998ff0004999a8bff0006
+33338bff00054ccdff00054ccc8bff000466688bff00063334ffffff3333ff000619
+98fffffc3333ff0008cccc080e81b3f8bfb3ff005d80007601adecf80eec03ff025b
+1998ff0324e66815eb0afffed7e668ffff24199815460af7bffba415470a0e81b4f8
+36b4ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff
+783333ff0150800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd80
+00fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668b
+ff000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebff
+fffdb333ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb19
+998bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e89b0f773
+b172aaf7a9b3ee7612f726e8f78cf013def783f89c15480a13be490a2ef751154a0a
+13de4b0af75af7dc15a50a0efb7eb0f74fb5f822aa75bef7607712f700e2f7b5eb13
+def770f7fe15800a72b215810a13ee820a13deee0a75f7b715e60a0e89b0f773b172
+aaf7a9b312f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a
+0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72b215810a13
+ec820a13dcee0a0e967692a671b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c
+0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff018c8000ff003a800055a7
+12f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0f785acf7a1b412efe8f7
+8aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff01
+8c8000ff003a800055a712f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0
+f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f
+0a133e500a0e89b0ff018c8000ff003a800055a712f76ae213b0f7c1f82a15830a13
+d0840a0efb17b7ed7692a671b0f785acf7a1b412efe8f78aef138ff7bcf8d6154c0a
+24fc5c154d0a13cf4e0a13af4f0a139f500af770fb9115e30a0efb17b7e0b0ff018c
+8000ff003a800055a712f76ae213d8f7c1f82a15830a13e8840a7afcad15e30a0e81
+b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a0e81b0
+8676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a13b488
+0a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a
+0e81b08676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a
+13b4880a0e81b1f8c4b0e876c7f707123ff704a4b380dff7bdef3db313fb00f893f8
+eb15510a13fd00520a13fa80530afb46f77015a50afc2d8915c30a0e81b08676f858
+b0f7607712e3b671d6f7b7dd42af1330eff94815ffffb46666fb0b05fffff7e667ff
+fff33334fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188
+960574a1ffffe666668cfffff9999a8b08868b858a888a08137a7ffcb815850a13b6
+860a13b5870a13ba880a0e81b1f8c4b0e876f71af70712b5f7042eb380dff7bdef3d
+b313f300f893f8eb15510a13f500520a13f280530afb62ed15c40a13f800fb9bf756
+15760a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63
+fc4c15850a13ac860a13aa870a13b4880a0e81b1f8c4b012c8b380dff7bdef3db313
+d8f893f8eb15510a13e8520a13d4530a0e81b08676f858b012e3b671d6f7b7dd42af
+1374e3f72415850a13ac860a13aa870a13b4880a0e89b0f851f7205fb0129badf774
+e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7ef
+b701f750e203e4f84c15890a0e89b0f851f7205fb0129badf774e8f773ad13bcf803
+f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7efb701f750e203e4f8
+4c15890a0efb17b7e0b0f851f7205fb0129badf774e8f773ad13def803f70e15540a
+13ee550a13de560a13ee570a13de580aa9fb9115e30a0efb17b7d8c6f7efb701f750
+e203e4f84c15890aff00518000fffdc4e66815e30a0e89b0f851f7205fb0129badf7
+74e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7
+efb701f750e203e4f84c15890a0efb01ea8fb4f8b9ae01dbe8a6e9d6e9b1c003f741
+f88115590aa6fbd215920af73d16920a0efb01ea8fba84a6f818b012ff006f199ae9
+d6e9ff00406666e213deff00f6800081158a0a13be8b0a13de8c0affff78999a5715
+ff0000000271a076a58b08a5a0a0a5a576a171717675711ff73d16920a0e81b4f8b9
+ae01dbe8f7dcc003f741f88115590a0e81ba84a6f818b012ff006f8000e2f784e213
+b8ff00f6800081158a0a13788b0a13b88c0a0e81b4f8b9ae01dbe8f7dcc003f741f8
+8115590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a13
+788b0a13b88c0a0e81b4f8b9aeff005ee668ff003a4cccfffffdccccff003c800012
+dbe8ff003b3333a2ff00be4ccdff0017199aff00206666c013cfff02701998ff033f
+e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9
+cccc8b84ff0004999cfffff9ccccff0006e6648bff0006e6688bff00094cccff0002
+9998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0
+fffff0199cff000f4cccffffe9e664ff000bb33408fffe3ce668fffead199815590a
+13efff00e8999aff0200333415ffffefe6668bfffff0199aff00074cccfffff3cccc
+ff000d99980813dffffff04cceff0011800077ff0013e668ffffe680008bffffdb80
+008bffffec6666ffffd51998fffff41999ffffbf199cff0005199afffff96664ff00
+088000fffffee668ff00096666ff00023334ff00088001ff00244cccff00086666ff
+00108000ff0016199a8bff000e80008bff00118000fffff9999899fffff180000813
+ef9cffffee6668ff00129998ffffee6668ff0012b3348bff0027199a8bff0018cccc
+ff002ae664ff000a3334cdfffffae666ff00046668fffff76666ff00034cccfffff6
+999afffffee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b080e81ba
+84a6f818b0f6c089c212ff006f8000e2ff00d68000a6fffffe8000e21336f802f916
+15a70a132ea80a1336a90a13a5ffff888000fd20158a0a13658b0a13a58c0affffd5
+b333ff0326800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000
+fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668bff
+000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebffff
+fdb332ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb1999
+8bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e81b4f8b9ae
+efde01dbe8bdddf758c0c0dd03f91cf95f159ea19ba4a5769b7774797b716ea37f9c
+1ffc148e15a39c9fa0a1799e74727b7776749c79a31f30fb7515590a0e81ba84a6f8
+18b0f3bdbdea12ff006f8000e2ff00708000e9ff00218000e2ffffd28000e9133e00
+f83ef8de15bf0a13bf00ff002c8000fce8158a0a137f008b0a13bf008c0aff004080
+00f97b15920a133e80f73d16b60a0e9576f8e1b001f84af8d6155a0a0e9476f85db0
+01f83cf851158d0a0e9576f8e1b001f84af8d6155a0a0e9476f85db001f83cf85115
+8d0a0e9576f8e1b0f37601f7fbf841155b0a46f90d15ffffddccccfffff46668ffff
+e88000fffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b
+938b9287918093080e9476f85db0f7687701ff01668000f7f915d40afffed13334f8
+be15b10a0e9576f8e1b0f27601f7fbf841155b0ad5f90e15fb1035057e8289868b84
+8b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cccff00
+116668ffffe36668ff000d4ccc080e9476f85db0f7687701ff01668000f7f915d40a
+ffff163334f8be15e60a0e9576f8e1b0f725ea01f894e9d6e903f7fbf841155b0ad7
+f90215920af73d16920a0e9476f85db0e8ea01f80de9d6e903ff01668000f7f915d4
+0affffbf3334f87815920af73d16920a0e9576f8e1b001f7fbf841155b0a0e9476f8
+5db001ff01668000f7f915d40a0e9576f8e1b001f7fbf841155b0a0e9476f85db001
+ff01668000f7f915d40a0e89b0f8b3b001f7a8e803f8a4ee155c0a0e89b0f82eb001
+f775f82d158e0a0e89b0f8b3b0ebeb12f717ebbce85aeb13f8f8a4ee15fb23f75905
+fffff73334ff000c199afffff8ccccff000ce6668b928b948c93949608ff00848000
+f73705aeb6ff0023800097b88f91918ba485916d8a668a748b748b618c638c85858b
+729185ab89ff0019800085746b08ffff898000fb3505fffffa199afffff7e666ffff
+f9e666fffffd199a878b0813f4888b878e869208fb02f730056fb18690c38e91918b
+a48591638a628a6a8b648b6a8c6d8c85858c729185b588a1fffffcb334b1ffffcc4c
+cc08f722fb550513f8938091838b818b85fffffc3334fffff7ccccfffff9ccccffff
+f8333408fb28fb4e05695f6b845e8785858b729185a98cb08ca28ba28bb58ab38a91
+918ba48591668d718da3ab08f718f74205919391908e8b8f8bff0004999afffffdcc
+cdff00056666fffff8333308f706fb3905a56488845c8985858b729185af8cb18cb3
+8bb28bac8aa98a91918aa4859108618e789063c30813f4fb64f92815ad0afb5116aa
+0a0e89b0f82eb0e8ea01f799e9d6e903f799f90215920af73d16920afb61fb69158e
+0a0e89b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a
+0e8bb1f8a8b69277f7037612c8a913d8f8bb89155e0a13b8d70a13d8d80afb63f9be
+15a60a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0d90a0e8bb1f8a8b692
+7712c8a913d0f8bb89155e0a13b0d70a13d0d80a0e8bb0f827b3957712d9af13b0f7
+0df87e15900a13d0d90a0efb17b7e2b1f8a8b6927712c8a913e8f8bb89155e0a13d8
+d70a13e8d80afb25fb1515e30a0efb17b7e2b0f827b3957712d9af13d8f70df87e15
+900a13e8d90af762fd0115e30a0efb17b7e0b0f823c3f72ba9a67701f706e2f789e2
+03f75dff013ce66615750af733fb9115e30a0e81c6f7efb7f77bea12f750e2ffffc6
+8000e9d6e913f4e4f84c15890a13ecff001d8000ff0115e66615b60af73d16920a0e
+9476f85db088abf5ab12f768b3ebb313dcff01668000f7f915d40affff723334f873
+15a99d756c1f13bc6f7a726c6c7aa4a7a99ca2aa1e335615b70a0efb7cdbf8e9b0f7
+1aab01f717b3ebb303f7a6fb34159ca799a798a9e1f755d2f72ec4f7049aa8a0a7c0
+8e91918ba48591708a688a6d8b658b6c8c6d8c0885858b729185af8ab5867b6808fb
+15fbac05fffff2199affffe1b333fffffc199aff0000cccdfffff1ccccff001e8000
+08fb0df7970578b58699c290ff0005b333ff0005b334ff00004ccdff00171998ffff
+facccdff00074cceff00253333ff000a3332a7ff0022199c8bff0025999808ba61b1
+5d5d61645d1e8bffffd98000ff001d6666ffffde6666ff0024999afffff6199affff
+e5999affffff6666ffffe56666ffffff999a728b668b6c8c758c85858b729185bc87
+9488a94b08f727fbce059c679b6583777e6a7e6f7b6c7f776782708b7c8b868e7f8b
+086c7b6d7e76a07ba81fa28bd093b2cb0854f99c15ab0a0e81c353b8f833b312cbee
+4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a0e89acf800adf7
+7fad01e8daf3dc03f740f70e15da0a0e89acf800adf77fad01e8daf3dc03f7d7f84a
+15fb2bffffa766668bff007c999a05f70c9bd1c01ea38b92788f779070997da68ba5
+8b94a08b9c8b9c809b7c98779d7597628b0848334cfb327081766c79867f831f8207
+878c8a8f1eb706998c877f1f8bffffb4199a84fffffbe66692fffff4199a8bffff5a
+e666058b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba0859147
+8e80908bde088bff00bc3334f73cff0061cccc050e89acf800adf3b2e7ad01e8daf3
+dc03f80df8d015ffff38666606ff00084ccdff003b33349eff0020ccccff00244ccd
+8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4
+078bff00154cccff00008000ff0013b334ff0001199a9d08ff00cb6666060e81b16d
+b0f7a6a8f790ae12d5e0f70fa8f755e513bef733f70e15f74a07f75bcfe2f70bb5bd
+7d7e1e8b752efb255b4a08917405928c908b918b08f732a4fb0069fb02636e591fff
+ffc480008bffffe78000b578d7818d828a818788448f749071a9ffffed8000ff001e
+8000fffff18000ff003880008b08f718c4e4e8e533d72687898d8f1f8b8d8b8d8d8e
+08f727f7748ba205519d4b944d8b08fb9a6ffb2efb531ffb3207137e8b3c88fffffa
+800055fffffd800085858b729185ff001d80008cff001f80008cb28bff002a80008b
+ff002280008aab8a91918ba48591084d8e86908bda080ed07faef912b001f726f757
+15a5f705b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294
+fb11f72d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba2
+7d976f08986d957c958b978baf9492aa8e97809d74a173a06496558b528b41757735
+7e53a965c84c08fb245647fb007735080e89b0f756b3f7f87701f787f7a1152c0afb
+8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb
+401513ac600a1374610a0e89b0f756b3f7f877f74ea301f7abb8a1a59bbf03f787f7
+a1152c0afb8ffb52152d0af7bbf93c15ef0a0e81c353b8f833b3f72f76c4a612cbee
+4fe94eb69aa795bdf71ae0137c60f832f78e155f0af705fb401513ba60600a137c60
+610afb0ef8e7159c7bb4541e133960616a68751f133c607f937c9e949895961e8b93
+88918a8e081339e08a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e75
+8a6908a7068da5959c9c9b9b9b9a9b8b9f080e89b0f756b3f7f877f57601f787f7a1
+152c0afb8ffb52152d0af75ef96d15a60aff00d11998ff0037666815f00a0e81c353
+b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a
+ffff88999aff02a3333415f10a0e89b0f756b3f7f877f57601f787f7a1152c0afb8f
+fb52152d0af75ef96d15a60affff4c199aff0036cccc15ffffe81999fffff6b334ff
+ffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c05ff000e
+b332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff0004e666
+ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff84ccdff00
+066664080e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15b4
+0a1374b50af705fb401513ac600a1374610afffe49199aff02a3333415f20a0e89b0
+f756b3f7f877f576f731a301f84bb8a1a59bbf03f787f7a1152c0afb8ffb52152d0a
+f75ef96d15a60af7919215ef0a0e81c353b8f833b3f7b4a612cbee4fe9cfbcbabd90
+e0137b80f832f78e155f0af705fb401513b780600a137b80610a92f948159c7bb454
+616a68757f937c9e1eff0000cccc8bff0000ccce8bff0000e666ff000033346effff
+d23334ffffd24ccdffffca6664ffffdc3333ffffd83334918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff00081998909208ffffe866
+66ff001a333470ff001fcccc73abff0004b334ff00084cccff00063332ff00078000
+ff0007b334ff000733349b9b9a9b8b9f08ffff908000ffffe7e66815ff00074cccff
+00036664ff00073334ff0007999c8bff000819988b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8b7f867f837f89fffffce668fffffde666fffffccccc89fffffc
+8000fffffab334ff0007b33486ff00079998fffffb6666ff00078000fffff6ccccff
+00029998fffff6ccceffffffccd0fffff6e666fffffe8000080e89b0f756b3f7f877
+01f787f7a1152c0afb8ffb52152d0af77cf95315a60a0e81c353b8f833b312cbee4f
+e9f76fe01324f7dbf96615b30ae2fc6c15b40a1374b50af705fb401513ac600a1374
+610a0e89b0f756b3f7f877f47601f787f7a1152c0afb8ffb52152d0af77cf96c15a6
+0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac60
+0a1374610a0e89b0f756b3f7f877e1bf01f74aa703f787f7a1152c0afb8ffb52152d
+0af7c9f96915fffff6999a8bff00594cceff0029199805fffff63330ff0012ccd0ff
+fff0199cff000f4cccffffe9e666ff000bb33408ffffa08000ffffb44ccc0581ffff
+f81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006
+e6668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff000019
+9aff0000199805fffff2b332ffffdf3334ffffd0e668ffffedb334ffffd34ccc8b56
+8b5ca183b2086f069045c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0001
+b3347612cbee4fe9f76fe038a6136400f832f78e155f0af705fb401513a300600a13
+6500610affff193333ff02bf800015ec0a132880fffff9ccccff00056667fffffab3
+34ff000566661eff000566668bff0006199aff00038000ff000b8000ff000d333408
+ff002b199aff002eb33005133080ff0014b333ffffbfccd0ff002e1999ffffdb1998
+ff003c199a8bc68bcbbc97e10870970581515d6b578bffffd0cccc8bffffd94cceff
+001c3334ffffef9999ff002a800008ff0014e667ff0016b334fffffdb333ff000999
+9805ffffee4cceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8b
+fffffb8000ffffff199cfffffdb333ffffff1998080e89b0f756b3f7f877e1bf01f7
+4aa703f787f7a1152c0afb8ffb52152d0af7c9f96915ffffe8666606fffffe3334ff
+0003333488ff00033334fffffb8000ff0003cccc08ffffa2ccccff0049e66405ffff
+e5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff0076999a
+ffffc880000598fffff99998ff00098000fffffd199cff00066666ffffff1998ffff
+ed999affffe64cccffffd6ccccfffff1e668ffffd8b3348b568b5ca183b2086f0690
+45c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0009cccc7612cbee4fe975
+a6f76ae038a6133140f75ef96b15c10af768fc7115b40a136400b50af705fb401513
+a280600a136480610afffeb08000ff02c8800015fffffce666ff0000e668fffffb66
+66ff0000e664fffffc33348bffffe5cccd8bffffee4ccd7cfffff9ccccfffffab334
+08fffffe8000fffff66668ff0057cccc2b05132800ff000c4cccfffff2ccccff0005
+6666fffffb9998ff0004999a8bff000633338bff00054ccdff00054ccc8bff000466
+688bff00063334ffffff3333ff00061998fffffc3333ff0008cccc080e89b0f756b3
+f7f877e1bff712a301f74aa7e3b8cbbf03f787f7a1152c0afb8ffb52152d0af7c9f9
+6915fffff3999a0695ff00083334ff00076666ff0009e6648bff000ee668089b7cb3
+4b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f
+741e8b7d83838282fffff4b334fffff4b334fffff3cccc7efffffe999affffe31998
+fffff1199afffffb8000ffffefb332fffffdb334fffff0199a8b568b5ca183b2086f
+069045c560d48bcd8bcbb591d208ffffc64cccffffd7cccc15ff00056668ff000ae6
+6894ff0007b334ff000a6666ff00074cccfffffab332fffff5ccccfffff74cceffff
+f74cccfffff5333284080e81c353b8f833b3e5c4f71da612cbee4fe94bb68aa6a6bd
+f71de038a6137c40f832f78e155f0af705fb401513ba60600a137c60610afb11f944
+159c7bb4541e133940616a68757f937c9e949895961f8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e8b7f867f837ffffffe999afffffde668fffffe9999fffffd
+b330fffffe999afffffdb334081338d0fffffbb333ff0008e668fffffc999aff0009
+9998fffffde666ff000a333408707f05ff0003b333ffffe96668ff00066667ffffeb
+e664ff00089999ffffee999cfffffe8000848afffff86664ffffffcccdfffff7b334
+08ff0010800006ff00188000ffffde8000ff00238000ffffed8000ff002a80008bc6
+8bcbbc97e10870970581515d6b578bffffe080008bffffe43333ff000c9998ffffec
+3333a0ff00048000ff00074cd0ff0005b334ff00069998ff0006e666ff000680009b
+9b9a9b8b9f080e89b0f756b3f7f877cebf01f772a7f76ca703f787f7a1152c0afb8f
+fb52152d0af7f1f95615c00a0e81c353b8f833b3e5c412cbee4fe975a6f76ae038a6
+133280f75ef96b15c10af768fc7115b40a137800b50af705fb401513b500600a1379
+00610a0e89b0f756b3f7f877e1bf01f76fa7f76ca703f787f7a1152c0afb8ffb5215
+2d0af7eef96915c00a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0a
+f705fb401513ac600a1374610a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03
+f7d7f7eb15350a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb5315
+6a0a0e8bb2f7a0aff77ab3f746a301f70ee88cb8a1a59bbfb0ace4ac91ae03f7d7f7
+eb15350ac1f83415ef0a0e81bdf76bb4f72eb3f72f76c4a612d9eb4db69aa795bdf7
+6bef13f8c0f747f7bc15690aedfb53155c605771408bffffbfcccc8bffffc33334a1
+62c50813fcc072b17faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f
+8b4da04eb461b55ed871e38be98bdeb2bdc5889686957c8c08fbb9f8b1159c7bb454
+1e13fbc0f30a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a
+0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7a0
+aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15350a83f86515a60aff00b4
+199aff0035666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe9998
+878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064cce
+8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405ff
+fff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab334080e81bdf7
+6bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0affff01999aff026d33
+3415ffffd2ccccffffaeb33405ffffec999affffe81998ffffebcccdffffe8ccccff
+ffee3333ffffec3334918292859489b2a1aca8ababa96cae6fb173ff00096666ff00
+01e668ff0008999aff000819989092ffffdfb334ff0023e668ffffd93332ff002e66
+64ffffe36666ff002b199c08fffffe999a9105fffffde666ff00024cccfffffde668
+8dfffffde666ff0001b334ffffff8000ff0000e664ffffff6666ff0000ccccffffff
+8000ff0000e668ffffff199aff00004ccc8aff00003334ffffff199aff00003334ff
+fff36666ff00089998fffff44cccff00008000fffffc80008bfffffc80008bfffffb
+ccceffffff3334fffffde666ffffff3334080e8bb2f7a0aff77ab3ed7601f70ee8f7
+5bace4ac91ae03f7d7f7eb15350a83f86515a60affff2d199aff0036cccc15ffffe8
+199bfffff6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccff
+ffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff0005
+99998bff0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004cc
+ccfffff84ccdff00066664080e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0afffdaf1998ff026d333415f20a0e8bb2f7a0aff7
+7ab3ed76f734a312f70ee8f70fb8a1a57aac8bbfb0ac91ae13ff70f887f9c6159b7c
+b34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea199
+7f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba108fb44
+fc6f15fb00f75006a2979ea31ef74006d68b9b67a1499789968e958f86b27ce68993
+8b8d8a8c888b7a88838a738b08fbe8068b8b468c598c85858b729185d1889c868b3c
+08fc05078b3c7a86458885858b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f7000713feb0e08b
+8e758e609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016
+b334ff00014cccff001b4ccc8591768b85858857887e368b085ff86515a60a0e81bd
+f76bb4f72eb3f7b4a601d9ebcfb6c0bde0ef03f747f7bc15690aedfb53156a0afb37
+f912159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8bfffff8b334fffffe199afffff89998fffffcb332fffff8b334
+fffff6b334ff0001ccccfffff6ccccffffff3334fffff6b334896e5d5d5567639182
+92859489ff0022199aff00133334ff001d8000ff00189998ff001c3332ff001b3334
+08ff001433348bff00004cccff0003999805ff001c199affffe44cd0ff0020199aff
+ffe6e664ff00228000ffffea3334ff00096666ff0001e668ff0008999aff00081998
+9092ffffe3199aff00201998ffffdde666ff00288000ffffe4b334ff0027199cff00
+006666ff00006664ff00008000ff00008000ff00006666ff000066689b9b9a9b8b9f
+080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a83f84515a6
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b30afb32fc3e15690aedfb53
+156a0a0e8bb2f7a0aff77ab3ee7601f70ee8f75bace4ac91ae03f7d7f7eb15350a72
+f86615a60a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a
+0e89b0f8b3b1f743a301d0b8a1a59bbfbee803f80af70e153a0afb24f91115ef0a0e
+89b0f81facf74a76c4a601abb69aa795bdf707e203f810f71a15ba0afb5ef89815dc
+0a0e89b0f8b3b101f7ade803f80af70e153a0a0e89b0f81facf713f70712f7a6f704
+2ee213f0f7a6f91e15760a13e8f5fc9815770a0e81b3f8bfb301adecf80eec03f7c7
+f8dd15460af7bffba415470a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785f7
+6f157f0a0e81b3f8bfb3e176f711a301adecf718b8a1a59bbfe0ec03f7c7f8dd1546
+0af7bffba415470afb4af86a15ef0a0e81b4f836b4f72f76c4a612c7eb60b69aa795
+bdf775eb13fb80c7f77a15fb06dffb12f7431eda8bc7a4b5b0c3bca3d28bcf8bf708
+44f71afb508b3a8b496d5e5b085f5b724b8b4508f785f76f157f0a61f75d159c7bb4
+541e13f780f30a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415
+470afba2f88315a60aff00cd1998ff0030666815f00a0e81b4f836b401c7ebf7dceb
+03c7f77a157e0af785f76f157f0aff0003999aff0119333415f10a0e81b3f8bfb3e1
+7601adecf80eec03f7c7f8dd15460af7bffba415470afba2f88315a60affff4e199a
+ff0038cccc15ffffe81999fffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff00066664080e81b4f836b401c7ebf7dceb03
+f7eff96615b30afbb3fc80157e0af785f76f157f0afffea9199aff0119333415f20a
+0e81b3f8bfb3e176f735a312adecf7b2b8a1a58aec3bbf13fd00f7c7f8dd15f707e2
+22fb4efb384227272029f5f7431ff752ebdfdb1ef7bffba415470afba2f88315a60a
+13fc80f78696159b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e
+8b8e089094949ea1997f741e13fd008b7d838382820813fe807f7f7e7d8b6a08a506
+8da49a979d97089c969b968ba1080e81b4f836b4f7b4a601c7ebedb6c0bddfeb03c7
+f77a157e0af785f76f157f0aeef7be159c7bb454616a68757f937c9e949895961e8b
+9388918a8e8a8d8a8d8b8f089090919ea09381741e8bfffff88000fffffe199affff
+f89998fffffc999afffff88000fffff61998ff00024cd0fffff6199affffff3330ff
+fff6199afffffde6686e5d5d556763918292859489ff0022199aff00133334ff001d
+8000ff00189998ff001c3332ff001b333408ff00163334068bff00009998ff000019
+9aff0000999cff0000199aff00009998ff001b999870ff001f6668ffffe78000ff00
+21ccccffffeab334ff00096666ff0001e668ff0008999aff000819989092ffffe366
+66ff001fccccffffde4cceff0028199cffffe4ccccff0026b330ff0000ccccff0000
+ccd0ff0000ccceff0000ccccff0000e666ff0000cccc9b9b9a9b8b9f080e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470afb84f86715a60a0e81b4f836
+b401c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b3f8bf
+b3e27601adecf80eec03f7c7f8dd15460af7bffba415470afb83f88415a60a0e81b4
+f836b401c7ebf7dceb03c7f77a157e0af785f76f157f0a0ef7c5f94ef70e01f796f7
+5d03f821f9c815a50a0eeef8a8f73401bdf73003f71df94815b20a0ef7c5f94df70c
+01f76bf76803f7b7f9c515af0a0eeef8a7f7350151f73203a3f94815b10a0ef7c5f9
+aba301f7a9b8a1a59bbf03f84af98b15ef0a0eeef91976c4a601f700b69aa795bd03
+f792f91e15dc0a0ef7c50eee0ef7c50eee0e81b4f8b9ae01dbe8f7dcc003f741f881
+15590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a1378
+8b0a13b88c0a0e81b4f8b9aef744a301dbe8e5b8a1a59bbfd8c003f741f88115590a
+f78ff88b15ef0a0e81ba84a6f818b0f73776c4a612ff006f8000e2ffffcb8000b69a
+a795bdff00928000e213bdc0ff00f6800081158a0a137dc08b0a13bdc08c0aff002d
+8000f928159c7bb4541e133bc0f30a0ef7c6f94ef70e01f7a0f75d03f82bf9c815a5
+0a0ef730f8a8f73401bbf73003f71bf94815b20a0ef7c6f94ef70c01f768f76803f7
+b4f9c615a40a0ef730f8a7f735015af73203acf94815b10a0ef7c6f9aba301f79db8
+a1a59bbf03f83ef98b15ef0a0ef730f91976c4a601f730b69aa795bd03f7c2f91e15
+dc0a0ef7c60ef7300ef7c60ef7300e89b0f8b3b0f27601f7b0e803f80df70e155d0a
+fb2af94b15a40a0efb7cdbf8e9b0f7687701f7a6fb34158f0afb8cf9e815b10a0e89
+b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0e89b0
+f8b3b0f744a301f771b8a1a59bbf03f80df70e155d0a90f91115ef0a0efb7cdbf8e9
+b0f73776c4a601f71bb69aa795bd03f7a6fb34158f0a92f9be15dc0a0e89b0f8b3b0
+01f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0ef50ef8f20ef5
+0ef8f20e4e0efb240efb770ef60efb770efbba0efc140efc1d0ef780c101def7a303
+f7d4f78015f40a0ef780c101def7a303f7d4f78015f40a0ef7b3bb01f846f7b31597
+8b9da08d978d948991818b08fbe0067f8b7a7a887b89828f85958b080ef782bc01ea
+f7b315825af85c8b94bc050ef782bc01e0f7b315825af93f8b95bc050ef782bc01e0
+f7b315825af9f48b95bc050ef73afb5115f75ffaaa638bfb5ffeaa054c16f760faaa
+638bfb5ffeaa050efb2eb7c9b701f861fb0215fc728b835ff8728b05a7f72a15fc71
+8b835ff8718b050ef858f708f71aaf01ff00db8000c503ff012c8000f85815f50a0e
+f837aff71af70801ff016a8000c503ff01538000f95515270a0efb38aff71af70801
+ff016a8000c503ff01538000f70e15270a0ef837aff71af70801f784c503f7d4f955
+15f60a0ef858f708f71aaf01ff008e8000c5f72fc503ff01b48000f85815f50afb69
+16f50a0ef837aff71af70801ff00e28000c5f72fc503ff00cb8000f95515270af769
+16270a0efb39aff71af70801ff00e28000c5f72fc503ff00cb8000f70d15270af769
+16270a0ef84baff71af70801f708c5f730c503f75af969155b6958431f8b37e549c9
+7e9393939b8b974d9b5bc38ba48ba79692a28da18fab968bb108ad70a8661ef76816
+f60a0ef81beff7627712f788e4569c13e0f7b5f94d1571786e6c1f13d08b40974da3
+5964a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b
+8bfb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a2
+6d1f498b537d60700813e0a3bc97c98bd708ab77a7731e0e8beef7b8eff7627712f7
+88e4569c13e8f898f84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77
+a77371786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc2
+98b4a58b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc2
+98b6a60813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27e
+cc8b08a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37e
+cd8b08a9a3a0a71f0ef708f77801f762f77803f762f77a154cbe58cacabebecaca58
+be4c4c58584c1e0edff7bc01f750f79c03f750df15f79cf728fb9cf728050e81f71a
+01f783f71c03f783c415290a0e81f71a01ff00a98000f71cd0f71c03ff00a98000c4
+15290af76116290a0e81f71a01bbf71ce4f71ce3f71c03f885c415290afb7416290a
+fb7516290a0ef769f71a01f783f71c03f783f7ac15290a0efb810ef88b78a875b2f7
+52b2bab2f722b096b212c4c6f70fb1f0c7f70eb1d1bff71ca913bff0f964d815f700
+0a579915f7010afb7a8615c0b1d9b898a5835b1e137ff0576d39587a7396bb1e4f97
+15230a7df83b15240afb8cfb0c15250a0ef99578a875b2f753abc0b2f722b096b212
+c4c6f70fb1f0c7f70eb1d1bff71ca9b1bff71ca913bffcfa64d815f7000a579915f7
+010afb607d15f7020a579915f7010afb7a8615c0b1d9b898a5835b1e137ffc576d39
+587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0efb24f898f74b01f73d
+f72903f7b0f94f15f7030a0e47f89bf74a01f71bf7ae03f813f95115808b7d858580
+083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e0590908d918c
+8f8ea07a9c778b08fb198915f7040a0ef712f898f74b01f8b4f94f15f7040afb1616
+f7030afb1616f7030a0efb29f8a6f74601f750ef03f768f95315f7050a0e70f89cf7
+4b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb0f058c898e
+8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a91888e868f0813
+60868d878d858b08858b8489858708f70d90157c828280897f89858c878d8708d9fb
+0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90888f858f08
+13a0878d868d868b848b85898587080ef6f8a4f74601f7cbcf03f86ff950157c8283
+80887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c
+8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb1f8e157c81
+8380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8d08
+8b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f7050a0e65a1
+7601f5f79d03f807f84215303a354a3b5a08836405c667c84ac92d0895c10569d167
+c165afc2b4c3c1c7cd080e65a07601cff79d03cf16e6dce1ccdcbc0892b20551b04e
+cb4de908805505ae45af55b167546252565048080ef7495bf6f702f6f0f501c5f6f7
+bbf503f76e9015856e9f73a88ba98ba7a391a891a977a36e8b6d8b6f73856d08f786
+f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e8b6f73856e08fc268c15856d
+9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e08f785f76315856e9e73a98b
+a88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea715ff0086199affff106666ff
+ff1fe666ffff13999aa078ff00d96666ff00e5cccdff008e999affff013333a79dff
+ff6d8000ff01063334ff00fb8000ff0109cccc769dffff0b3334fffefdccccffff7d
+ccccff00e93333050e9d81f612cef689f7036bf668a91388f83df92815758b677980
+547e4594698332843d7f3189778a858c84968b958b90938f978e9999c7acf608a6e1
+a3b598cc0895bd72a2708b081390fb42fcfd15866e9e73a88ba98ba8a390a891a977
+a36e8b086e8b6e73856d0881f8fb1513a0758b677880557e4594688333843d7f3189
+768a858c84968b958b90948e968f9999c7acf70008a6e1a3b598cc94bd73a2708b08
+13c0fb42fcfd15866e9e73a88ba98ba7a391a891a878a36d8b086e8b6e73856e080e
+b97ff512f720d95af568a913d0f76af8ae15ff0003cccdff00109998a3ff0011199c
+ff001f9999ff000a1998fffff2e666ffffbc199cff0008999affffdab332fffff819
+9affffa86666843e7f3089778a858c84968b958b90938f97ff0001b334ff0008199a
+ff00058000ff00176666ff000a9998b208ff00048000ff00086666ff00054cceff00
+088000ff00066666ff0008999a9799a29aa59ac0aac7b699d3ff000c199aff003f19
+98ffffd7199aff002de668ffffb2ccccff000b4cccfffffd3334ff001dccccffffec
+ccccff000de668768bffffed199a8bffffe43332fffff31998fffff13334ffffdd4c
+d008ffffe2cccd85ffffe5800081ffffec3333fffff29998697571738568846ba384
+9b8b9e8ba1968fa08e978990888f0888908a908d990813a05efc8515866e9e73a88b
+a88ba8a390a891a878a36e8b086e8b6e73856e08ff00d5199aff0216800015a6ffff
+ece668ff000de666ffffde199885ffffdf80008261786c5d6afffff38000fffff719
+9afffff53334fffff73332fffff6b332fffff733348e95ff00033334ff000a8000ff
+0003666696ff0019b334ff0051b334ff0017ccccff002cccccff000c999ac7080ea9
+f918b701f89ef94415fbf48b825ff7f48b050ef767f2c4f7bbc401f767c4f701c4f3
+c403f8adef15696b5e8485678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853
+ac8b978b9a958e9b0891078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b
+8c8b948698778b6e8b7970617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b
+7d7c88798b888a888b888b7a93788b73088b888b878a89689a81a76e8b768b817e89
+7f08860775a486b11e988b978a968908fbda16686b5f848467088707809381981eab
+8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b
+8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d
+8b9b81927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b
+778b807e897f08860775a486b21e988b978a968908f73af7f415686b5f8584660887
+07809381981eab8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba86694
+75a89b8e9a8c9b8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8f
+a28c8d8b8d8b8e8b9a81927d8b7c8b7e7c87798b888a888b88088b7a93788b730882
+07689a80a76e8b778b807e897f08860775a486b21e988b978a9689080efbf1f774f8
+ed15fc5efd23b48bf85ff923050ef81881f70cf894b012f719d7bbf70e3aacf708f7
+2dfb2df71ebbf70e3aacf708ec13ec40f765f8b215a9b8bdd9d9b04b411e8b5c7d6c
+54663f5887578b600864078491889595928e921eb0078ba38f949ba4969ca19ca89b
+ff00306666ff001a6666ff0040b332b5ff000eccd0ff003f999a91fffffd6666ff00
+05e664fffffe999aff000533348ba28b9e978ba28b98889186900813e2c086908991
+8b9a08a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+72ffffee8000fffff46668fffff13334fffff18000fffff54cccffffefe66408ffff
+e48000ff00386668ffffc4199aff0024ccccffffa966668b4b8b4f71687267737267
+8b650868a9799ea29e97a21e8b988891869008869089918b9a0813f040bbfc801521
+0a13e140f80c16210a0ef75d81f70cf894b012f70ed7bbf70e3aacf708ecdbf70efb
+06f513ecf75af8b2152b0a13f4bbfc8015210af840f8f61513e5200a13e64efcf415
+210a0ef7567ff70cf894b012f78af70efb06f71234a7f6f70e3aacf708ec13d3f810
+f8b015a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+7289fffffe999889fffffe999c89fffffe999808fffffa999aff00293334ffffe6b3
+329affffeab3348b738b6e788b558b45996894330813c9933d91318d768c858e8495
+8b958b8e948c968d998bc798f700ff0002ccccff00184cccff0003199aff0014ccce
+ff0003199aff0012ccccff0002ccccffffff6666ff0002b334ffffffb334ff000280
+008b08a29e97a21f8b988891869008869089918b9a0813c5bbfc8015210a13e1fb4a
+8d15210a0eb8f7d8e001f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb54
+2dfba68b8a088d85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c72
+8b1e67856587658b4f8b4f94549e080ef765fb7ea7f839f8436da412f7faf7ce13b0
+f726fb6315838c848d898e859289938e978c948d958d9508f736f951058d968e958d
+929097919492918f8e918c938c948b92888e878f848d818a818a858a81887e08fb35
+fd4c05887e89818985867f858283850883858588858c08487115f70a8bf68a90a005
+8c908a8d878b086d067e8c828d888f869289948d968d948d958c9508e1f8060513d0
+9884a986ab8bc68bc0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e
+4e8b08718b4a8a65880813b0808a7f8b7f8b0868698e8b1f13d0fb018d8676058987
+8d888e8b08a906998b93898e8691848c828a808a868981887e08fb35fd5005887e88
+818985877f858383848687828a7d8a086d06888b88888a87088676050efb7afb08a0
+eaebf76fed01a6abcef003df3915858f85948597879589968a978a958c928c918c8f
+8c8e8d8f95849488938b998b968d9592089a9593998f9b8e978894869484977e907b
+8b818b818883868186818183807e7c8479867808898089808b818b888c888b878c79
+8f7e9180927e9382958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108
+f71bf87315839681907d8b7e8b7f857e817f818480887e8a878b878b888b828d8491
+8492819587998b08998b97909794979592968e988c8f8c8f8b8f8b9388938691080e
+f7fba3f7ada301ff00e84ccdff003afffff713c603ff01634cccf92c15bb9a42553e
+853e505583d9c3c08de9c91f88fbc515ff00434cceff0039b332bcf70bf70dffffc6
+4cceb3ffffbfb332ffffba4cceffffcab333432dffff99199aff0032ffffffffc3e6
+66d01f0ef801a8f761a0d7c512ff00d0e666c559bb13f0ff00ede666f98615f7060a
+13e8a6fbce15f71c0713f0f7070a13e8f7080a0ef801a8d1adf7527701ff0169199a
+bf03ff0169199aff027db33415ffff744ccc2907ff00068000ff00118000ff00344c
+ccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e88638986838c7c8f
+85a98cff000cb3328bff00234cce8bff001d999a8bff001266668ba98a8f928b9987
+93698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff3999aff00011998
+fffff9b3321efffffcb3348bfffff6b332ffffff8000fffffee668ffffff4cccffff
+f0b332fffff6e668fffff4999afffff4cccc82fffff58000ffffdce66662ffffd433
+34ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffccccd86ffff
+fd1999fffff9b334fffffd666783fffffae666ffffebccccff001a999a8b08ff0076
+cccd060ef7fba6f739a6d1ae01ff01884cccc403ff01884cccf86215627a685e1e75
+8b80928294839383927e8b08fffff600017f837e73ff003bffff7eadd0bcc0c7c167
+bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378bffffea0001fb23ff0005ffff
+88059992a092a18b08d38e506d1f0ef7fba3f729a3f7059e01f780c0f70bc403f82c
+f85b15f7090ac49015f70a0a0ef919b112f77da0839d9fad13b0f7c1f91915f70b0a
+13d0f70c0a0ef7fba5f7a9a512ff00e64ccdff0031ffffffffdd0001ff0030ffffec
+ba6ac513d8ff01564cccf92a15f70d0aeb6215b35ca65e56ffffd000016e5e1e8b6e
+ff000fffff71b3780897850513e46577ffffd30001668b670849ff0043ffff7bb7e5
+aac4ab1e8baa79a46c9c0864a005c6ad8fa98b9a08242915f70e0a0ef7fb9ef705a4
+f728a301ff00efb333ff00380001f70bc303ff0127b334f8e415b192adb7a7b37438
+1e7707757a75867d8b085386c1a11fffffc7ffff8615ffffffffff7a943cff006100
+018ba48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593cffffe3
+ffff4a671e0ef87cb201ff00ec4ccdff0026ffff03ff01134cccf8a315f6ffffd900
+01202064f621ff0026fffff5f5b2070ef87cb201f71af78203f808f8a315fb8264f7
+82060ef86eadb2ad01ff0088b333ff00e6000103ff016eb334f8d915f70f0a6404f7
+0f0a0ef7c0c003f7c0f89c15f7100a0ef81cc103f852f89e15f7110a0ef801a8f75d
+a17dad12ff009ecccdbbff0080ffffbb13b8ff00d7cccdf8c615ff00130001a2ff00
+21ffff9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733348b
+ff0017cccc8bff00234cce8bff0005b3328ba98a8f918c9a8693638d838e8bb408f4
+07ce73a45d1e678bffffd74cceffffec4cccffffe7b333ffffdcb33486fffff8b334
+8bff00054ccc8b8e8ba7899888928a8e8a8e868b0813d87a83768560858a878d7d8c
+87ac8894868b63082007ff00000001627e88638986838c7c8f85a98ca28ba28ba48b
+928ba98a8f928b998793698d888e8bb408ef07ff000000019390948f90080efb09a3
+f7ada301ff0083b333c6ff007f0001c603ff00feb333f75015bb9a42553e853effff
+c4ffff5583d9c3c08de9c91f88fbc515ff00434cccff0039b334bcf70bf70dffffc6
+4cccb3ffffbfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0e
+fb03a801f77ac103f76cf72515978d826b1ffb16078b586c88638986838c7c8f85a9
+8cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8bbe08f783
+07fffffab33490fffff89998fffffde666fffffab334fffffd199a5f70717f5c7a8b
+7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b080efb04abf79a
+a912ff008a4ccdff00396666ff006b9999cc82a313f0f739ff006cb3331595ffffff
+ffffff0011b333ff00054ccd8e9dff00014ccdff0007e666fffffacccdff000ccccd
+ff00038000ff00084ccd90979794aa8bff0011ffff8bb5848b5c8b5dffffde999a6c
+ffffcfcccd685affffdc6666ffffc5999affffd3999a8b5b08ff00f9ffff0613e8ff
+00088000ff001ab333ff00063334ff001f999aff00044cccff0023b333fffffab334
+ff0003b33383ff0001999afffff54cccffffffb3330813f0806ffffff04cce64ffff
+e2b3328b08ffff8f000106ff0002b334acff0021e666a4ff0029ccceff001e4ccdff
+00354cccff0026b333ff002e4cccaf8bb908cb449effffce00013c6dffffceb333ff
+ffe34ccd1efffff1b333ff000eb33380971e0efb0aa9f719a6f702a912ff0072b333
+ff0036cccd5cbdf702c66ac913e4ff011a8000f72515a30a13f2a3be87525455786e
+1f6b8bffffedb333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b3
+33fffff38000fffff7199afffff2b333ffffe08000ff0050999afffff4b333ff001a
+3333dbd0b6d01f8bc55ca36a8e0813ec9d0a0efb03a8d1ad01ff010e999abf03ff01
+0e999aff00a1b33315a20affff3a4ccd048b627e88638986838c7c8f85a98cff000c
+b3328bff00234cce8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8b
+b408a3bd0791ad538b8bf74805ff0008e666fffff38000ff0001199afffff9b3321e
+fffffcb3348bfffff6b334ffffff8000fffffee666ffffff4ccdfffff0b332fffff6
+e666fffff4999afffff4cccd82fffff58000ffffdce66762ffffd44ccdffffcbcccd
+ffffdeccccffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9
+b333fffffd666783fffffae666ffffebcccdff001a999a8b08ff0076cccd060efb09
+a6f739a6d1ae01ff0129b334c403ff0129b3347d15627a68ffffd2ffff1e758b8092
+8294839383927e8b08817f837e73c77eadff00450001bcc0c7c167bfffffb1ffff1f
+7d8b728682850897dcff008700018b8b8c90adffff5cffff8b75fb23918805ff000d
+ffff92a092a18b08ff004800018e506d1f0efb09a3f729a3f7059e01f71dc0f70bc4
+03f7c97615f7090ac49015f70a0a0ef73db112f71ea0839d9fad13b0f762f73d15f7
+0b0a13d0f70c0a0efb09a5f7a9a512ff0087b333bd68bcff00610001ba6ac513d8ff
+00f7b333f74e15a4a37d701f8b6e766f7b8208ffffebffff9505ffffdaffff9f88a2
+8b9a08a9a394a31eff006000016215b35ca6ffffd2ffff565b6e5e1e8b6e9b71b378
+0897850513e4ffffd9ffff775e668b670849cf7bb7ff005a0001aac4ab1e8baa79a4
+6c9c0864a005c6ad8fa98b9a08ffff98ffff2915ff001d00017d05b3778c718b7208
+62717fffffdbffff736496b81e8badb2b29b94080efb099ef705a4f728a301ff0088
+4ccdc3ff0076ffffc303ff00c04ccdf70815ff00000001b192adb78bff001bffff8b
+b3748b38087707757a7586fffff200018b085386c1a11f538615ff000000017a943c
+ec8bff0018ffff8ba69c9a997f516948ffff93000178087807f72d97c7f28bdd08f3
+41a7ffffce00013c6f4a671e0e96b201ff00eb4ccdff0026ffff03ff01124cccbd15
+f6ffffd90001202164f521ff0026fffff5f6b2070e96b201f71af78203f808bd15fb
+8264f782060e88adb1ae01ff0088b333ff00e6000103ff016eb334f315ffff19ffff
+68ff00e60001066504f70f0a0ef73cc003f73cba15f7100a0ef78ec103f7c4ba15f7
+110a0efb11adf77da501ff0078e666ff003a199aff0077e666ff003b199a03ff012a
+e666a51538076e737881748b668bfffff4199aa08ba18bacff0019e6669de9a208ba
+fb2b15a08ba09895958c938791838e88888489878b0881fffffb199a9cb61fd907ee
+ffffc0e666a0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92089c
+a297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a75a7
+8b080efb09aef704aad6a401ff00864ccdc1ff007bffffc403ff01084ccc3915ffff
+e700018b77977ca17f9e87a48ba48b8d8b908c8f08ff00b3ffff8905ffffff4cceff
+00478000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012ccccffffef6666ff00
+1be667fffff7199aff002280008bff002dffff8bb9a2a5aefffffc4cceff0009b334
+fffff86666ff00064cccfffff74ccc8b0878756d7a658b08bbf72315ffff8800018a
+05ff0004ccceb3a9afff001c33338bff0017ffff8bff00214ccefffff58000ffffff
+b332ffffbf8000080e350efb04a1f775a101f70ff7a603ff01503334e815a7ff0023
+e666ff0004b332ff00044ccdff001c199aff0001cccd8f8f8b99878f798a848a748b
+738b7c8c798c87878b7d8f87a88afffffe3334fffff7cccdfffff2ccccffffed3333
+088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a738b748b818c79
+8c87878b7d8f87ff001c199afffffe3333ff00011999fffffd999aff001a999affff
+da333308ff003833333b058888ffffcecccd518b8bffffe19999ffffdc8000fffffd
+b334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928ca28ba38b9b8a9d
+8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97788e836e8a8787
+8b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e666ff0001cccdff
+fff9999aff0002e666ffffe5b334ff00254ccd08ffffcbccccd5050efb09a4d6aaf7
+04ae01ff00884ccdc4ff007bffffc103ff00f14ccdf71215a48b9f7f9a7597788f72
+8b728b898b868a8708ffff4c00018d05ff0000b334ffffb88000ff00134ccdffffc4
+8000e08bff0055b3338bff002c4cccd28bd58bff002b6666fffff5ccceff0027cccd
+ffffe46666ff00184ccdffffed3334ff0010999affffe41998ff0008e666ffffdd80
+018b5d8b5d747168ff0003b333fffff64ccdff0007999afffff9b333ff0008b3338b
+089ea1a99cb18b085bfb2315ff0077ffff8c05fffffb3334636d67ffffe3cccd8b73
+8bffffdeb333ff000a8000ff00004ccdff00408000080e350e40fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f7120a0efb7c0ee7fb04a2f76cad01f786ff
+0031e666ff0063199abd03c7f71f15f7130a0e58fb03a8f75da17dad12ff0046cccd
+bbf715ff002fffff13b8ff007fcccde115f7140a13d8f7150a0e33fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a
+0efb200efb4ffb0aaef765a801b0bd03f715f71215f7190a0eb8f7a8baf777ae12cd
+e0f7b6a580a513f0f7827b15d38bccc3abce08749205715b6771668108a6f72e0591
+aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c8d8b8d8b8d8b9e7c9970
+8b08658b6254716e08898b9cde7c8b05848b848881876f7f80866382088c72058f8c
+8f8b8f8b978b95868b798b878a868a870869fb59055e9b74ba8bdb8bac8fb393b8a3
+f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513e89af7307189058b888b
+898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb4d856d896f8b7108fb14
+c838f7031e0eb88aa8f762b2bab2f742b271a712f871a613f4f804f7fb15fb078ba4
+f722058fa59b91a18b08d106cd8b9e568d4308a68f94f734fb4d8b3d8b0513ec7efb
+068d8b1f13f4898987790513ec8a868e88908b08a806ae9685761f8b868b85898408
+72fb22358b8464e18b835c358b8464e18b6ffb3605856c7a7e638b087106868b8788
+8a860888788c89058be28db2afe8898b1e8d8d8f9e058c90888e868b087106687e97
+a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7078b050eb87fbd93b2f725
+b2bab2f746b5019dcfe2d203f737e015888b878b888a08908f05aea2a9b3a0da08f7
+0d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059addbdcab78ba08b97809580
+94819383998ba18b9f998fa3089007a85c95761e588b5d796469525b6d5b7b43082f
+8b8564e68b835c2f8b8564e58b057e5476515f638485858686876e7d717887750888
+07809581981e9c8ba3968fa58d95989bab8ba58ba07fa27da47ba67bb08bd18bbdae
+a5bc088691056d6a52846f8b718b7d937d9678997399518b080ef88581be59a47aa5
+f778a9d0ae7da5f731a276a912f830d169d3e3a096c7f700cc87a0133878f5cb1587
+727c7d678b087306868b89888a8708887a8c89058bdf8dabaeda898b1e8d8d8d9c05
+8c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08aef75b0596859487a38bea8bc7
+b9acc008c18b5bfba405887f8a808b8108139038639e7aad1e133038aa8baa97aba2
+08877205958d928b908b918b918b908908135438a185a788aa8bbe8be8a19be58c92
+8c928b918bc557a54ea8639e77958ba78b8f8b8f8c900894beb59bae8b081354349f
+8bbf80952b08a08c93f700057c955d995e8b438b485d814e89828a838b848b5bad7b
+c17308135078c66fa0748b6b8b878a858a87835d5976688b6a8b729c83947c9d87a9
+8ba18b928b918c8f08768a824505139970767e7b87778b7b8b85958ba18b978d9c8f
+a008b3f779e08b05948b988e8d93088e9d058f898d871e278ba4f71e547a88790581
+4f79685d84929c909c8d9b081311b08d938c958b948bc16fd0fb128b768b6b8a5c88
+08133a785f8956887e8b08877a05888b88911e8f8ba18c938b988ba0878b728b888a
+878b8708d8a8151311b09c919e919b8bbb8bbb7a8b3f8b7e8a7d887a792a57623c8b
+778b818e818d080ef81c82a475a378a5f77aaedea5f738a512f827d99ea196c6f700
+cc88a0133f80f873f844158c968c968b958baa83a57aa16bb45390588b2c8b428578
+8608887a058a878d89908b08a78d058c8c8d8b8e8b9b8b90838b7d8b858b858a8408
+3afc580587727c7c668b087406135f80868b89888a8708887a05133f808c89058bdf
+8dabaeda898b1e8c8d05135f808e9c05133f808c8f888e878b0874066c7e949f1f8b
+8e8c8f8b8f08adf75205c88b8b868d8508c1fb4105135f809760aa69ba8b988b9a8e
+948e089e07898a898b898b6d8b7aac81b00854f74c05b199dfbd9deb083b89158565
+7a6c7772726c707c4e8b08738bbaf79e05a1908f8da88bb48bb4788b458b7e8a7c88
+7b08f0fbc2157bfb1405948d938b908b918b908b918908139fc0a185a688ab8bbe8b
+e8a19ae58c928c928b918bc557a54ea8649e76958ba78b8f8b8f8c900895beb59bae
+8b08139fa09e8bc080952b08a08c93f700057b955e995d8b438b495e804d8a828a83
+8b848b5bad7bc07308139fc0c66fa0748b6b8b878b858a87825d5976698b698b729c
+83947d9d87a88ba18b928b918c90080ef02cb9b0b588a7f7f4aee6b2d1a9a57712cc
+dc13dff7f2e4155c646c776a8b5d8b5cb68be78b9c8c9d8fa098d3a3b69da0b3bab5
+8e9f8bba8ba1769e6508f753f774153e8ba1f712758b0576827b877987798865857c
+8b08887205888d898e1eab8f05999382731f8b81897d897b088a8afb238b8464f724
+8b77fb050575986194778b498b5b755c6559606c4d7e4187788a798b7a8b2cbc49e7
+8bbe8bb7a9b8b2087c46a38b0513bfa39dc196c795088ca7057c88748b7f8b838b81
+918a948b8c8a8d8b8d8b948d9a8fa308d4f831d98b05fcc4fcda15845df85b8b93b9
+050eb87fb5f755adbeadf764ae12f1ff0051b333ffffc63333ff00508000ff010799
+9aaa13fad5f7c815ff002a666606fffffdb334fffff68000fffffdccccfffff66666
+fffffe199afffff6199afffffe999afffff8999afffffeb333fffff8999afffffee6
+66fffff8cccc08ffffdacccd8b73728982c68b05fffff3999affff70b333ff003a33
+33ffffa44ccdff007633338bbf8bb69ca78999b3aecc9db9086e92056849674a438b
+ffffaecccd8bffffde9999c9ff000e4ccdf71708ff00a74ccd8ba4adffff4433338b
+05ff0001b332ff000a999aff0001e66796ff00023333ff000b6666ff0001333391ff
+00014ccd91ff00014ccd9108ff00cd33338ba3ad0513f6ffff23666606ff00206667
+ff0072999aff003db333ff005d6666ff004d80008bd48b9b4b8e4808aa90058bb98d
+c592b56e89619c578bffff8e4ccc8bffff9b80012dffffd11999fb2908ffffe7199a
+8b7373050ef9318aa9f7e8adf729a901f8c3d7f7eadc03f827f8da15a5ada6a1afa3
+0888980556755c6f5f5a42814472396008917705cfa8caa5cb97675b694a69300823
+fba805816e7a7f698b087006878b87878a8708847af7098d05ac8b9c89de8bf75b8b
+f723f730aaf7438e9b8c9b8b9a8bf70b38e1fb108b08fb1ffb8415b0efa8cba7b908
+9006f70ebc3d2d1f8b7a8979887972fb1e3cfb34fb618b548b818e8b968b8d8c8e8b
+8e8c918c8e8d8f08f80dfb9315a7b4aee9a8d3a17ea185b28bf7418bf713f7399ef4
+8c948c948b948bcc5eb7398b618b4d7d5565086a73636c58fb110844fb46055dfb03
+6b55736c088e7b05f883f8771578fb0038fb18fb048b718b7a9477a3838475778289
+08d7f74d05c1f718c8a3b98bbb8bad798b528b838a808980080eb88aa5f778a9d2b2
+b9b3d8a276a912f74ad8f726d013f3f810f7f615715a6075518b788b808e818d0897
+cd05f748e0158a868a858a848a818882898208fb388b93b905f73ab315fb338b97ce
+0513f79b919f919b8bb88bb87c904b08f70216630686be6ac5fb088b768b6c8a5c88
+0813fb5f8960887e8b08877a05888b88911e8f8b978c928b998b9f878b728b888b87
+8a870884654d8b8463c98b835d4d8b8464c98b58fbb60587727c7d668b087e06868b
+88888a8708897a8c89058bd58dabaed9898b1e8d8d8e9c058c8f888e878b0873066d
+7e949e1f8b8f8b8e8c8f08aef75b0595859587a28bec8bc7baacc108bf8b92b2638b
+05929a8f9a8d9a088cae070ef7cc7facf783a4f713abb877f76ba401f9bcf96a15f7
+1a0af74bf8ca15f71b0a622415f71c0af76efc5b15c68bb4a8b0ab0876a1056b6e60
+767c8b7a8b6f989ad59deac9c4b58b918b998788778778898c887f89808f7fa88b08
+948bac938fa392ac7ab0438b3b8b203976fb018362a94acc8b080ef7cc7da3f78ea2
+f715abb877f76ba401f842aef74caf03f9bcf96a15f71a0af74bf8ca15f71b0a6224
+15f71c0af76ffc5d15d28bcaac96c793af63a95ba57b93869a8f9f8fa2a0a2a98ba7
+8b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f9879b172a37ba87685
+6d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b080ef78f7fb4f8e4b0
+01f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bffffd6199a8bffffde
+3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f333405ff00273334
+ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a943508ab8f058bbf
+8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb3af76c8b08ffffdf
+999aff023ccccc15ffffa48000fffe27800005ffffd04cccff003b8001fffff53334
+ff005f9999ff00116666ff005a999aff0015199aff006ae666ff0035ccccff0049e6
+66ff0039b334b9080ef82a7bb5f844a7c7adbda701f9b0a903f8b07b15eb8bd4bcd9
+e308779a0538385670368bfb148b51f711a6f71db4f768f718b9da8bf7008bb54a92
+2e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565fb556ffb25dffb25
+f74f8b08fb72f8d115f71d0afb3a8c15f71e0a0ef7fe7ea7f786a6f70facbd77f765
+a401f9bcf96a15f71a0ae8f83f15f71f0af7abfbc01596c4b5e8cb8bb18b8a5d8363
+836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e19ff294ba80c8
+318bfb098b35237c3d080ef7fe7cb2f764bef710acbd77f765a401f9bcf96a15f71a
+0ae8f83f15f71f0af7defb6415949f93a08d968d978d9f6a8b698b68785b62089b79
+059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e846a967c
+ba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05797a7d81
+838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b8b663649
+65788b808b8a938f9d8d95919c919a080ef82d8aa8f78aadf72aa7beb170a8c0a712
+f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a98f0513ef
+8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513ef898b86
+911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a860887788d
+89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa08b2f75e
+f7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad98b192a2
+8c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb6ef78d15
+f71d0afb3a8c15f71e0a0ef74d46c2a976f886c001f8d6f73d15a2f70d46dd25ad59
+66536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e8f0577
+716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c86707475747d0854
+bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8baffb12
+7b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58bba8bae
+66a16bbcdcf752b1b0f750080ef7fb8aa8f7bcb2f793a701f8d8d315856f7a7b628b
+087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90888e86
+8b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d0862fb
+67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764
+fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334ff0007
+6667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199afffff87fff
+ffffff999afffff933348b087106868b87888a860888788d89058bf7258daeb2e289
+8b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05fffdfe66
+68fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015999aff
+fff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666fffff399
+9a6efffff8b334080ef7267fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3cff7
+8405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a75896da0
+7ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08bdf7
+350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a8778
+87798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b080ef7
+267fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff00
+8d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b9181
+8a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff0066
+3333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b9c
+7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d10877
+9c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec76e
+9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db305
+0ef72a7fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080e437db2f8ada301f76df7d915a3f7100594b9a1ce
+b38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cccc
+9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e056f
+fb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef7e8987692a8f8e2a712
+1360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a646840
+8c8b1e868a8878058a869288908b08a606b48b916986700841fc0f87740589808987
+878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b0890
+06ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999aff
+fdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e8d
+8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b9480
+987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a15
+ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff0000
+999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764ff
+fffe8000080ef8a87fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f15835f
+f77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b79818672
+856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745fc
+4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f90
+7a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f85
+8b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8ba0
+618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08ae
+fb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080ef79b8aa8f7
+94b1f7baa57ba71213d0f8cef87215f7200afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f7210a0ef7d3fb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef7cfacd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080ef79b8aa8
+6fa0f79bb1f7baa57ba7121328f8cef87215f7200add8c1595bd81b46ead64b84590
+4c8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668
+fb07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408
+cdfb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b9
+99f4c4a0f40813a0fffdece668fc5715f7210a0ef7f9f7afa37da0f782d98d9f12f0
+a9f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d81
+5983606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b
+8d8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891ab
+a7a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b
+087d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc
+8d9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b08
+9a06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a
+889089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d
+0613bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d93
+05137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb
+238b8b8d849388908b948b918f8f91088b8becf736bbdc080ef826f7b9a0f7cca501
+f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a290
+8ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b08
+bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a05
+8bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e15
+8b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b789
+8b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f9091
+8b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a83
+058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b848b
+087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d84
+8b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d84938890
+8b948b908f8f91088b8becf736bcdc080ef7be8bb264a8f87276f70cb3121370f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513b0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc24065c8b9094678e7c5573437c6208a78605aed0a6bed78b08f75b0693
+8b8e898a858a868684848408fc81fcb105838387838a8408137089818f86998b080e
+f7a58bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef7a5b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8
+db1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca
+61ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f7
+05bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf
+8b08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf7
+5c8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080ef70c83a8f74ea7f746a8
+01f733f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f7
+2927e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f
+5e5373518b398b58c08fa2080ee3a07601f829c903f8aef84e1594b7689772923ca5
+b397799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd3
+666878ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f
+727b708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000
+ffffb19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608
+f006a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332
+ff00226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa
+91aa84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104ccc
+ff00036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199a
+ffff15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff00
+008000ffffffb334ff00008000080ed68beff7d9f70001f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080e519a7691ef12a3
+f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e4780
+56c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208f7
+0f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080eb89f
+76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968aa28b
+8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a817f98
+8bca809eec99d18dce99d0080e2c8aadf872f70c01f763f70b03f763f8cf15846aa1
+70ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b055d7c
+6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b088306
+868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e868b0883
+066a8b849a90a7080e36a9f719a6f702a9d1a812f725c1ff00a3b334ff0036cccc5c
+bdf702c66ac913f800f8a8f8ed15a00afc4f7515a10a13f900ff018f8000fc1d15f7
+220a13fc80f7230a13fb00f7240a0e34a9f719a6f702a9d4abf79aa912ff00304ccc
+ff00396666ff006b999bff0040ffff82a3ff00536668ff0036cccc5cbdf702c66ac9
+13fc00f8a8f8ed15a00a13fc20ffffe28000fc3515f7220a13fc90f7230a13fc60f7
+240afffe2a8000ff0168b33415958bff0011b333ff00054ccc8e9dff00014ccdff00
+07e668fffffacccdff000cccccff00038000ff00084ccc90979794aa8b0813fe009d
+b5845c1f8b5dffffde99996cffffcfcccd685affffdc6666ffffc5999affffd3999a
+8b5b08ff00f9ffff0613fd009a0a13fe00806ffffff04cce64ffffe2b3338b08fb05
+06ff0002b334acff0021e666a4ff0029cccdff001e4cccff00354ccdff0026b334ff
+002e4cccaf8bb908cbffffb900019e593cffffe1ffffffffceb334ffffe34cccffff
+f1b334ff000eb33480971e0e35a6f739a6d1aed9a801f722c1ff0156b334c403f8a8
+f8ed15a00afc527615a10aff019ab334fcbf15f7250a0e36a6f739a6d1aed8abf79a
+a912c3ff00394ccdff006bb333cc82a3ff00f8b334c413fc80f8a8f8ed15a00afffe
+14b334ffffc7b33415ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff00
+07e668fffffae666ff000cccccff00038000ff00084ccc90979794aa8b0813fe809d
+b5845c1f8b5dffffde80006cffffcfcccd685affffdc6666ffffc5b333ffffd3999a
+8b5b08f78e0613fd809a0a13fe80806ffffff04ccd64ffffe2b3338b08fb0506ff00
+02b333acff0021cccda4ff0029cccdff001e4cccff00354ccdff0026b334ff002e66
+66af8bb908cb449e593c6dffffceb334ffffe34cccfffff1b334ff000eb33380971e
+f867fffdf94ccc15f7250a0e36a6f739a6d1aed1a9f719a6f702a912ff0017b333ff
+0036ccccffffd10001bdf702c66ac9ff01013334c413fc20f8a8f8ed15a00affffda
+b334fcd315f7250a13fca0fffea6ccccf8be15a30a13fe609c0a13fda09d0a0e36a6
+f739a6d1aed9a8d1ad01ff00ca199abfff00f6999ac403f8a8f8ed15a00affffb6b3
+34fcd315f7250afffed56666ff023bb33415ffff744ccc2907ff00068002ff001180
+00ff00344cccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e886389
+86838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff001266668ba98a
+8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff39999
+ff00011998fffff9b3331efffffcb3348bfffff6b333ffffff8000fffffee666ffff
+ff4cccfffff0b333fffff6e668fffff4999afffff4cccc82fffff58000ffffdce666
+62ffffd43334ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffc
+cccd86fffffd1999fffff9b334fffffd666683fffffae667ffffebccccff001a999a
+8b08ff0076cccd060e35a3f729a3f7059ed4a801f727c1f746c0f70bc403f8a8f8ed
+15a00afc4d7615a10af836fcc615f7090ac49015f70a0a0e36a3f729a3f7059ecea6
+f7407699a6d1ae12ff00e74ccdff0038ffffff0027b334c0f70bc413f3c0f8a8f8ed
+15a00a41fcda15f7090ac49015f70a0afffeba4cccf82215ff00000001627a685e8b
+758b80928294839383927e8b08817f837e73c77eadd0ff0030ffffc0c71f13f7c0c1
+ffffdc0001bf3d1e7d8b728682850897dcff0086ffff8b8b8c90adffff5d00018b75
+fb230513fbc091880513f7c0f7260a0e34a5f7a9a5d4a812f722c1ff00b7b334bd68
+bcecba6ac513f0f8a8f8ed15a00afc527515a10aff016bb334fbf71513f6f70d0aeb
+6215f7270a13f9f7280a242915f70e0a0e36a5f7a9a5cba9f719a6f702a912ff0024
+b333ff0036ccccffffd10001bdf702c66ac9ff00563334bd68bcecba6ac513f800f8
+a8f8ed15a00affffacb334fc0b1513f830f70d0aeb6215f7270a13f848f7280a2429
+15f70e0a13f900fffee8ccccf88015a30a13fc809c0a13fb009d0a0e35a5f7a9a5cf
+a6f7407699a6d1ae12ff00f84ccdff0038ffffff00266668bd68bcecba6ac513e600
+f8a8f8ed15a00affff89b334fc0c1513e6c0f70d0aeb6215f7270a13e720f7280a24
+2915f70e0affff379999f7e415ff00000001627a685e8b758b80928294839383927e
+8b08817f837e73c77eadff0044ffffbcc0c71f13ee00c167bfffffb200011e7d8b72
+8682850897dcff0086ffff8b8b8c90adffff5d00018b75fb230513f60091880513ee
+00f7260a0e36a5f7a9a5f7f5b112f70ea0839d9fadff00aeb334bd68bcecba6ac513
+e400f8a8f8ed15a00affffafb334fc0b1513e580f70d0aeb6215f7270a13e640f728
+0a242915f70e0afffed74cccf89a15ef06715e53fb1068fb0308ad06aaf4c4f70ec0
+e608fb420613ec007b868c8f1f790613f400f70c0a0ef7d0a801f729c103f8a8f8ed
+15a00afc4b7615a10a0ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f864bffc6406abaabcc1a9d3080ebbf849
+b3f76c7701f758bf03f829f871152ae153dc7abc0874065ffb00fb14fb008a8b0863
+07dfb2b9b4a6ac08fd3cbff93c07aa6bc15ad36d080ef783bf01f9f0b303fa18dd15
+e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac7008fc6457f86406
+6b6c5a556d43080ed0ecb3f8c17701f762bf03bcec15ec35c33a9c5a08a206b7f700
+f714f7008c8b08b30737645d62706a08f93257fd32076cab55bc43a9080ef783bf01
+f86af7b715fbc006a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f
+81087407b37bae76a771ca52b166987b08b3066bcf6abf66b008f7c00666676a566b
+4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b8086406
+95749a6fa06b957b9d72a56a080ed1f94c7701f762bf03f762f8b115fc89076ba572
+9d7b956aa06f9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4
+cab0b19b9808b307476b576a666608f88907af66c06ace6b08b3077b9866b152ca72
+a876ad7ab3087406816f786b6e656e6466645e63086407a295a79aaba09b95a49dac
+a5080e9476ff02239998ff001accd001ff00304cccff001c4ccd03ff0133199aff02
+32666815ffff7e9999fffff83330ffff9f3333ff0011ccd0ffffd14ccdff00169998
+08ffffefb333ffffefb33405ff002d4ccdffff948000fffff1cccdffff591998ffff
+ff4cccffffff4cce08ff001c4ccdffffe3cccc05ff001fcccee2ff00038000ff003d
+8000fffffbcccdff002a666608ff01de4cccfffe21b334b0b0fffe218000f87205ff
+002c8000ffffff4cccff0048e666ff0003999aff0048199aff001db332080e9876ff
+02226668ff001c4ccc01ff022e9998ff001accd003ff02496668ff0133e66615ffff
+f83330ff00816666ff0011ccd0ff0060ccccff00169998ff002eb33408ffffefb334
+ff00104ccc05ffff948000ffffd2b334ffff591998ff000e3334ffffff4cceff0000
+b33408ffffe3ccccffffe3b33405e2ffffe03332ff003d8000fffffc8000ff002a66
+66ff0004333208fffe21b334fffe21b334b066f872ff01de800005ffffff4cccffff
+d38000ff0003999cffffb7199aff001db330ffffb7e666080eb1a5f8b877013ea803
+fbc7b115f71593ec79ba74089b9b055ef699f73b8c8c086ea8056b34884d8f6108fc
+72f8726666f873fc72055e8c4287436d080eff00214cccff001c4ccd01fffdb69998
+ff001accd003fffdb69998ff0124199a15ff0007ccd0ffff7e9999ffffee3330ffff
+9f3333ffffe96668ffffd14ccd08ff00104cccffffefb33305ff006b8000ff002d4c
+cdff00a6e668fffff1cccdff0000b332ffffff4ccc08ff001c3334ff001c4ccd0534
+ff001fccccffffc28000ff00038000ffffd5999afffffbcccd08ff01de4cccff01de
+4ccc66b0fc72fffe21800005ff0000b334ff002c8000fffffc6664ff0048e666ffff
+e24cd0ff0048199a080ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f7618bfb5bfc26c98bf75bf826f7598b8b
+bfffff54cccc8bff00b73334f8064d8bffff48ccccfc06ffff1933348b05abaabcc1
+a9d3080ef783bf01f82edd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c08ffffe0
+80008bff00698000f7694d8bffff48cccdfc06ffff2433338b8b57f7568bfb5bfc26
+c98bf75bf826f7648b056b6c5a556d4308ffffb8ccccf76515ff00496668ff009433
+3405ff0025b332ffffb19998ff00274cceffffd43334ff001fcccc71080e9e76f7fd
+cb01ff016780008915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d715
+2af7b1f7528b050e81c8f866c801f728d0f761d103f7da8115e98bbecda0f0084506
+7e51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e
+8b08432165fb94fb95f566d31f0e81acf7c9b1f72ed87aac12f703dcf796da13dcff
+01beb334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cc
+cc8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d85
+6b85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b2708
+8bffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215
+fffff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff00
+2de6668bff0029e666ffffea3334ff0024e668ffffe31998080e8bccf763ccf73ecc
+01ff01a08000d003ff01e58000f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7
+df060e8bccf763ccf73ecc01ff01a2ccccd003ff01e7ccccf8d015fffff2199a8bff
+00174ccecc6796ffffe499983ffba38b8b4aff00f766678bffffc29998fb3effff50
+00018b8b4aff009866678bffffb53332fb63ffffa266678b8b4ad18b05ffffe76666
+47b07fff001ccccddbff00dbcccc8b0546ff01a2cccc15ffffae3334ffffe2800007
+ffffe8999a4a15ff0034e666fb63ffff80999a060e82b6f88cb601a5bef87cbe03f7
+d5f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff08
+6666fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd
+8bf71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff00
+53800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf7
+17f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff
+0027199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffff
+d08000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff003899
+9affffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff
+01ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1a
+fb00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de66708
+0e8ba5f8e27701ff012b8000f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc
+038b8b88858a888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b
+8bfb2ef80328f77e080ea076f8e2a501ff01588000db15fb69f892f8368b05fb57fc
+e215ebf77ef72af8038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b
+898b898c888e858b8bf72efc03eefb7e080e8bc4f75dc3f75dc401ff00608000d103
+14e0ff0211800016c4fb2f07238b32e27cf70608f7f6c3fbf60698f700dae8f7088b
+08f72fc4fb2a06fb31fb12fb17fb2ffb2ef710fb18f7331f0e8bc4f75dc3f75dc401
+ff00608000d10314e0ff0211800016c4fb2f07ffffd980008bffffdb800097ffffe0
+999aff0014cccd08ff003c8000ff00a83333ff00bfe6668b8bc3ffff544ccc8bff00
+484ccef75dff006c66668b8bc4ffffa8199a8bff00176666cc6696ffffe4999a3fff
+ffeae6668b05fb31fb12fb17fb2f1f8bffffa26666ff002dcccdffffaa6667ff0047
+b333ffffcb6666085fffff85cccdb07fff0028b333f70505ff0027199876ff002ccc
+ce7fff002fe6668b08ffff70b333ff0073b33315ffffdb6666ff0023e666ffffe64c
+ccff0031e666fffff8999aff0038800008f70d06ff0014199ac315ffff72e6660698
+f700dae8f7088b08ff0005999a060ec7c1f4c1f3c201f726f7c303f7f3c715edc129
+06fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb
+14d551f7171f0e8bc4f75dc3f75dc401ff01d58000d10314e0ff006a8000f8d01552
+f72f07f38be4349afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731
+f712f717f72ff72efb10f718fb331f0e8bc4f75dc3f75dc401f867d10314e0f3f8d0
+1552f72f07ff002680008bff002480007fff001f6666ffffeb333408ffffc38000ff
+ff57ccccffff40199a8b8b53ff00abb3348bffffb7b332fb5dffff93999a8b8b52ff
+0057e6668bffffe8999a4ab080ff001b6666d7ff0015199a8b05f731f712f717f72f
+1f8bff005d999affffd23334ff0055999affffb84cccff0034999808b7ff007a3334
+6697ffffd74cccfb0505ffffd8e668a0ffffd3333297ffffd0199a8b08ff008f4ccc
+ffff8c4ccc15ff0024999affffdc199aff0019b334ffffce199aff00076666ffffc7
+800008fb0d06ffffebe6665315ff008d199a067efb003c2efb088b08fffffa666606
+0ec6c2f3c1f4c101f73af7c303f79cf843152955ed06f7128b9b52965b08fb8f55f7
+8f0680567559fb0c8a082954ed06f728c4d6f703f71441c5fb171f0efb02acf903b1
+6faa12f70fe0f771e013b8f8416a15707c7a601e8406868789851f8b748e89058bd9
+8db1b4e7898b1e8c8d8ba20591878d861e7006617b99a91ff8b9078ba9a494a98c08
+a906908f8f8f1fa2078a8bfb1989858b0813d8408a858b4a8b408b798b4a8c0813b8
+7c8bfb038d838b087307888d87911eab06ad9e88661ffcb907707c7a601e70068688
+89851f8b748d89058bee8db0b4d2898b1e8d8d8ba20591868d871e8306627b99a91f
+f8aa0713d8ad9096ac1ef72406ad907b6f1f0efb02aa6fb1f903ac12f710e0f771e0
+13b8f765f89215a69a9cb61e9206908f8d911f8ba2888d058b3d8965622f8d8b1e8a
+898b7405858f89901ea606b59b7d6d1ffcb9078b6d72826d8a086d06868787871f74
+078c8bf7198d918b081378d68c918bcc8bd68b9d8bcc8a0813b89a8bf70389938b08
+a3078e898f851e6b0669788eb01ff8b907a69a9cb61ea606908e8d911f8ba2898d05
+8b28896662448d8b1e89898b74058590898f1e9306b49b7d6d1ffcaa071378698680
+6a1efb240669869ba71f0e4dc551a1f8d9b574a212ff01f48000a11358ff01fc8000
+f8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a81897f8b0875f87507
+a7f743758d0513a88a866cfb06458b08fbac8bf760f7a48c8cfb40f7a4f7788b05c4
+8baa3a907808a18e050ef771c701f8cff7ad15990a0ef757c7f7bac701f7b4cb03d0
+f8b915f87c069b9ca29d9583947f1ffc78067a78707f819180981ff7affcb515f753
+f761079b9ca29d9583947f1ffb6ef760069681928177737b7d1efb54fb5e077a7870
+7f819180981ff76ffb62067f97869598a89b9b1e0ef74fc7f7acec12f7a3ec3bcb13
+e0f7a3f8d315719e75a9a79fa1a5a773a0731e707575701f13d09cfb1d15fb53fb61
+077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e079c9ea69795
+85967e1ffb6ff76206977f90811e7e6e7b7b1f0ef778d012f766ee63d913c0f7b9f7
+73156a6559908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe
+588969af089d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e780813a08da9a2b1
+8ba608a3759679797779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8b
+b893089a8d98869889080ef711bbf73dbb01ff00bc8000c0f731c003ff018e8000f7
+9415970afb668c15980a0ef75ff70001f79ef70003f7d4f75f159e0a0ef971b201f8
+61f97115f7290a0ef7faa9f719a6f702a9b8b212ff0072b333ff0036cccd5cbdf702
+c66ac913f2ff011a8000f901159b0a13f99c0a13f69d0aff010c8000f70415f7290a
+0ef801a8d1adf75277ccb201ff01058000bf03ff01058000ff027db33415ffff744c
+cc2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff0030800008
+ffff3a4ccc048b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff00
+1d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf7
+4805ff0008e668fffff3999aff00011998fffff9b3321efffffcb3348bfffff6b334
+ffffff8000fffffee666ffffff4cccfffff0b332fffff6e668fffff4999afffff4cc
+cc82fffff58000ffffdce66762ffffd44ccdffffcbccccffffdeccccffffca3334ff
+fffc999afffffa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffa
+e666ffffebccccff001a999a8b08ff0076b33306ff01218000f7a115f7290a0ed9c4
+53b9f78ec856c061b512ff002f8000ca138cff01708000f785157262414a588b0844
+66ddcdcaabbbcb1fc88bd625a558081324f792f71a15c886073c8b403f5c5208138c
+62cd3dce3c8b082249242cfb02d259d41fd58be0d9b4c5081354b849d046e08b968b
+968c958d08b707858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080e
+d9c453b9f796c061b512a9c6f85fc5139cf7b4f785157862514a648b08546fddcdca
+a3bbbc1fba8bc6259f5808f7988415136c4e735b5a1e5e8b54f271b99fb4c3cfb28b
+08c3a7324f1fc5b615e463d1401e4b8b4e3f655208139c6acd4cce4b8b083656242c
+fb02c459c61fc78bd0d9acc508136caf49c346d08b08dec1f1eb1f0e8bb801ff003c
+8000be03ff003c8000f84e15fc4ef838b8fc05f821070ef760f70001f7a3f70003f7
+d9f760159e0a0ef7a3f760f70001ff0078199aff006de666ff005f199aff006e999a
+ff005c1998ff006e333403f8d1f76015a98ba7a491a8ff0000b334ff00036666ff00
+004cccff00034cce8bff000333328bff0019333477ff0012e666738b6d8b6d71866f
+ffffff3334fffffc4ccdffffff9998fffffc4ccd8bfffffc66668bffffe8999aff00
+10999cffffec6666ff001c99988b08fb5f16a98ba8a491a8ff00008000ff0002e666
+ff00003334ff0002ccce8bff0002cccc8bff0019e666ffffebccccff0013999affff
+e880008b6d8b6d71856fffffff6666fffffc999affffffb334fffffcb3338bfffffc
+b3338bffffe8199aff000fe666ffffebe666a88b08fb21c115ff0000b333ff000366
+66ff00004ccdff00034cce8bff000333328bff00193334ffffec199aff0012e666ff
+ffe8e6668b6d8b6c71866fffffff6666fffffc999affffffb334fffffcb3338bffff
+fcb3338bffffe8199aff000fe666ffffebe666a88ba98ba8a490a8080ef76cd301f7
+6c04f914d3fd14060ef7b0d303f7b0fbb415d3facc43060ef76cd301f7b0d303f7f8
+f76c15f7b0d3fbf8fcd4d3060ef76cd301f7b0d303f76c04f7b0fc8cd3f8d4fbf806
+0ef76cd301f7b0d303f7f8f7b415f88c43fcd4f7f8d3070ef76cd301f7b0d303f7b0
+f7b415fbb043f7f8f8d443060ef76cd301f7b0d303f7b0fbb415d3f88cf7b0d3fbb0
+f88c43060ef76cd301f7b0d303f7f8fbb415facc43fc8cfbb043f7b0fc8c070ef76c
+d301f7b0d303f7f8f76c15f7b0d3fd1443f7b0fc8cd3060ef76cd301f7b0d303f7f8
+f7b415f88c43fc8cfbb043f914d3070ef76cd301f7b0d303f7f8f7b415f88c43fc8c
+fbb043f7b0fc8cd3f88cf7b0d3070ef724d3d3d301f914f76c15fd1443f91406f76c
+04fd1443f914060ef768d3d3d303f768fb8a15f72a0af76c1cfb8c151c0474431cfb
+8c070ef724d3d3d301f7b0d303f7f8f76c15d3f7b0d3fbf8fcf2d3f81af7b0d3070e
+f76cd301f768d3d3d303f7f8f76c15fc62d3f862f768d3fc40fcaad3f862070ef724
+d3d3d301f768d3d3d303f7b0f7b415f7f8d3fc40fcf2d306d3f86215f72b0a0ef724
+d3d3d301f7b0d303f76c0443f7b0fc1ad3f8f2fbf843f7b043070ef76cd301f768d3
+d3d303f7b0f76c15d3fc62d3f8aafc4043f768fc62d3060ef724d3d3d301f768d3d3
+d303f7f8fb8a15d3f8f2fc4043f7f806fb24fb2415fc1ad3f862fbb043070ef724d3
+d3d301f7b0d303f7b0fa1215fd82f7f8d3fbb0d3f7b0d3fbb0f8aa070ef76cd301f7
+68d3d3d303f7f8f7b41543f8f243fd3af840d3fb68f8f243060ef724d3d3d301f768
+d3d3d303f7b0f76c15f93a43fd82f840d307fbb0d315f72c0a0ef724d3d3d301f7b0
+d303f7f8fa121543fcaafbb043f7b043fbb043f7f8060ef76cd301f768d3d3d303f7
+b0f7b415f8f243fcf2fb6843f840f93a43fcf2070ef724d3d3d301f768d3d3d303f7
+f8f76c15fbf843f840f982430643fcf215f72d0a0ef724d3d3d301f7b0d303f7b0fb
+8a15d3f81af7b0d3fbb0d3f7b0d3fbb0f8aa43060ef76cd301f768d3d3d303f768fb
+8a15f72a0af724161cfb8cd3f862f768d3fb68f8f2070ef724d3d3d301f768d3d3d3
+03f7f8f7b415f72c0afd3a04f72b0afc40fc6215f72a0a0ef724d3d3d301f7b0d303
+f7f8fb8a151c047443fcaafbb043f7b043fbb043f7b0fc1a070ef76cd301f768d3d3
+d303f840fb8a151c0474431cfb8c07431c04741543fcf2fb6843f768fc62d3060ef7
+24d3d3d301f768d3d3d303f7b0f7b415f72d0af768fb2415fc1ad3f862fbb04307f7
+f8fc1a15f72a0a0ef724d3d3d301f7b0d303f914f7b415d3fd144307f7f8fb2415f7
+b0d3fd1443f7b0fc1ad3060ef76cd301f768d3d3d303f7f8f76c15fc62d3f862f768
+d3fd1443f768fc62d3f862070ef724d3d3d301f768d3d3d303f914f7b415d3fd1443
+07430443f768fc1ad3f86207f724fc6215f81af768d3fbb0fc62070ef724d3d3d301
+f7b0d303f914f72415d3fd144307f7f8f76c15f8aa43fcaafbb043f914d3070ef76c
+d301f768d3d3d303f7f8f7b41543f8f243fcf2fb6843f914d3fb68f8f243060ef724
+d3d3d301f768d3d3d303f914f76c15fd1443f91406fd14f72415f7b0f8f243fcaafb
+6806f9144315d3fb68f8aa43fcf2070ef724d3d3d301f7b0d303f7f8f7fc15f8aa43
+fcaafbb043f7b043fbb043f7b0fc1ad3f81af7b0d307fbb0d3f7b0d3060ef76cd301
+f768d3d3d303f7b0f7b415f8f243fcf2fb6843f768fc62d3f862d3fc62d3f862f768
+d307fb68f8f243fcf2060ef724d3d3d301f768d3d3d303f7f8f7b415f72c0afd3a04
+f72b0afbf8d315f72d0af7b04315fbb043f768fc1ad3060ef790f917018bf91403f7
+9004f914f917fd14060efb8af88601fb8a04f914f886fd14060e8bf91403fb8a04f9
+141c0473fd14060e8bf7d403fb8a04f7d41c0473fbd4060ef7d4f7d403f7d4fb8a15
+f7d41c0474fbd4060ef763fb76efefefefefefefefefefef018befefefefef031403
+80effb12152727ef06f7c0042727ef06f7c0042727ef06f7c0042727ef06f75cfc88
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06fb5cf7c0
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06f8880427
+27ef06fb5cef152727ef06fb5cef152727ef0627271527efef07ef1627efef07ef16
+27efef070ef763fb9fef8bef8bef8bef8bef8bef8bef8bef8bef8bef128bef8bef8b
+ef8bef8bef8bef138001f889fb3b158a8a8b28ef8b8bef05fbbf16138004f72e0afb
+be16138010f72e0a134002f75dee15f72f0a134008fb5d8a15f72f0a134020fb5d16
+f7300a132001f826ef15f7310a132004fbc08a15f72f0a132010fb5d8a15f72f0a13
+1002f7bfee15f72f0a131008fb5d8a15f72f0a131020fb5d16f7300a130801f826ef
+15f7310a130804fbc08a15f72f0a130810fb5d8a15f72f0a130402f7bfee15f72f0a
+130408fb5d8a15f72f0a130420fb5d16f7300a130201f826ef15f7310a130204fbc0
+8a15f72f0a130210fb5d8a15f72f0a130102f7bfee15f72f0a130108fb5d8a15f72f
+0a130120fb5d16f7300a130081f826ef15f7310a130084fbc08a15f72f0a130090fb
+5d8a15f72f0a130042f7bfef15f7320a130048fbc016f7320a130060fbc01627ee07
+8c8c8bee050ef763fb9fefefefefefefefefef128bf8ecfc88efefefefef13fb00f7
+c0fb3b1527efef0613f980f75c271527efef06fb5cf8881513fb0027efef0613f980
+f75c271527efef06fb5cfc881513fb0027efef0613f980f75c271527efef06fb5cef
+1513fb0027efef0613f980f75c271527efef0613fc00effcec1513fb80fa7c272727
+ef272727ef27270713fc0027270613fa00ef270613fc0027270613fa00ef270613fc
+0027270613fa00ef270613fc0027270613fa00ef270613fc002727060e9a7601f764
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0e83a8c8f55ca47790f703bdeaa712c8a7edbd97a595a992bdf2a8139ff0f7a8f727
+158f8a906081890513cff086e215139ff06c8b66688389088d860599909f8d9c8c08
+8d610513cff07a987e9f1ea18b95998c9f088ca70513aff09589948a938b938b978f
+929508879205818c818e888b7c8b729c798f08868c868b868b08bfee15f7330afb1b
+16f7340aeaf70c15f7350afc3304f70feeeef70f1f8bf147e02da59ea4c6b0ac9d08
+8b76a47f1e8a067b8a4c516d64878b878c868b0874f70e71759f278a8b057ac668ba
+58b108648605bc60b75e9e54267640328b2008fb0eed27f70f1e0e83a8e6a4f711bd
+eaa601c8a7edbd97a591ad92bdf2a803f7a8f704158c8b8f8b8f648189058dcd1561
+8b78a479ab08767f059b6e9f70ad81088d6a0579987e9f1ea18b95998c9f088dac05
+b197a0a99399087798056e5e6685768b08b8f72a15f7330afb1b16f7340aeaf70c15
+f7350afc3304f70feeeef70f1f8bf245e12ca49ec3b7b9beb7086390055865685b7a
+50088a8b9ff071a174fb0d05868a878b868b6db24dc47b8c088a068076728b1faa79
+c369a072287542328b2208fb0eed27f70f1e0e83c7e0f71012c8f70ebfe45a95828f
+ebf71413f2f7d8f7b3159997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697
+999a977f7d7d7f7f7c7d8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7
+b9beb7086390055865685b7a50088a8b9ff071a10513e674fb0d05868b878a868b6d
+b24dc47b8c088a068076728b1faa79c269a172287542328b2208fb0eed27f70f1e86
+f72515a08bb091a8b8089f7e05837d766d647f088a6a058a77817d758b08777e989d
+1f89ac05699577a67ba808a097059d6b9e72b58b088a701513ea8a64958d0513e686
+af050e8ba001f7b6c703f80df74a15ac8b8b2ae78bbd8bc1b78bdc8bb37db76ab0fb
+00f70b54d43df7023bfb04463831206d677d6c8b58082dc869b41ee98b88ecb08b95
+8b9a7a8b5e8b557e646b850876f728a0076a9181bd8bb58bbf9b96968b080e8ba0d0
+f7a8fb4df71b129cf8f2fc4af7a2fb41d64bc113a2f7eff71015be9092951eac8ba6
+30e68b0813b0d0b4c1d8b37cf4271f528b5858718b0813a4828393951f13a88baced
+9b8bf308c860c630286649551e13a48b24ec7d8b668b7d8288848b0813d06d8b5ebd
+518b082f7330563db755cd1f13a2e68ba6e6ac8b988b8d768b668b57836169830876
+f71da0076d9380bf8bb6080ef86ff8e815fb1c8b84fb1f7c8b7e8b80f71ffb178b58
+8b3e6b8bfb088bfb11f706fb18d23408eefb0df5f71105dbeaf0f70c8bf7108bf704
+44b0508b080ef9007701f7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706ea
+f5f0eefb06ed32f70139f703080e81f75101ff01c38000f94e1589fcd505ffffffcc
+cc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e666ff004d
+8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000ff001480
+00fffff680000888f8a0050e81f751f6a0f81b7701f7cbb3f724c403e3bf1564af74
+cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cccca67eaf79
+baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8bc38bff0031
+4ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f698b0859345a
+3d1f0efb28f75158f751f89b7712f78eaef78cae13b8f8a6f863158efc4805ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fbaff72263828efca0051378ffffeb8000ff00098000ff
+ffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffff
+d9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc08
+8df869050efb2bf7515bf751f89b7712f781b3f794b01338f7a9ff021b1998158bff
+0048e668f794fb178bffffb666660588ffffd5999a158efbe90513b8ffffeb8000ff
+00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffff
+b28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccccdff00
+003334cc088df8d1fbb9f72563828efca0051378ffffeb8000ff00098000ffffdd80
+00ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd9199a
+ff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df80a
+050ef7afbd01ff00c68000aef71dd203ff00e98000f76915aec1ab9ba78ba48b9c70
+8b718bffffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f7
+1eafe3ff0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060eff00e180
+00aef70bae03ff017b8000ff011ab33415fb0bffffd3e6668bff00624cccf70bff00
+2b666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8b
+ff0185999afb2effffbf4ccc8bff0095199a050ef8767701f77aaef701ae03f80af8
+ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4dc1
+ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b8b
+ff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ffff
+e980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffec3
+199a15fb01ffffd366668bff00654cccf701b7050efb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392ca9ab192a5f7151253ff00098000ff00048000
+948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321f993f0
+f7bdf88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366661e
+8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8bffff
+fee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff00008000
+ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b899105
+ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c86088506899489
+91868b081321f999f0306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b8c8a
+1e888188841f7016888984878b8b081321f9d5f0819886978b9508a092a59fa39170
+80fffff1e66889fffffb19988b1e868905ff0000cccdff0001e666ff00003333ff00
+02199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000ffff
+f8cccc081325f991f0f7f8fc2815888b8cff000d6666fffff18000ff000a66670813
+31f991f0fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3
+348bfffff89998fffffa3333fffff8b334fffff8999a081327f991f084fffff8e666
+fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba97bbd
+6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd3333
+ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989891e
+fb9af833158a8c848e8a8b081321f995f08596899b8b93089d989aa19d9e7d681e8b
+7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d8708
+ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321f9b1f0878f898d8b8f8b
+a4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d8b72
+8bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caaa108
+cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b938a94
+8a93088bad8b94051323f991f0a38fa09d1e8f8b8f8992858d7f8e809183081331f9
+91f0937c9e87988b0813a7f991f0af8b9eb99b8bff0006b3348b8cfffff08000ff00
+01cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd
+ff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccff
+ffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee66
+68fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a81
+9c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33330813
+69fb91f08ba1ff00148000ff000533338bac081369fd91f08b9c849c8b998b958eff
+000b333393ff0006cccdff00074ccdff00063333ff000bb333fffffdcccd978bff00
+0a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff000be6
+66fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b3337799
+ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e667ffff
+f00001ff000d8000ffffe79999ff00043333ffffedcccd8bfffff266668b838a8589
+85817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08fffff080
+00ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196838a
+928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff001c
+1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e667ff00
+09e668ff00071999ff000c8000ff0003800095ff0001999aff00048000ff0000199a
+ff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666fffff1
+8000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff001219
+9afffff2b334ff000f199affffe6ccccff000d6666ffffe9999aff000c6666ffffe0
+33338bffffbe33338b778a788878081323f991f0858f858d868b7c8b7f7b8b648b7c
+8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e8bff
+00064ccdfffffb4ccdff00089999fffff6b333ff000a999afffff5999aff000be666
+ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffffe699
+99ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff000a
+999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58bb685
+a0880813a9f9d1f0ff0009999affffe76666ff0016e666fffff3999aff001f80008b
+ff001e999a8bff00176666ff0016999aa2ff0013b333ff00111998ff000eb333ff00
+178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff00169998ff
+fffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed3334ff
+000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff29998
+8b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b4808
+1369fdb1f08b4394678b708bffffe3e666ffffec199affffde999affffe2b333ffff
+deb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddccccff
+fff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb333
+fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff119
+9afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff000280
+00fffffacccd8381ff0003cccc8cfffff700017682fffffb8000fffffae666ffffff
+8000ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999a
+fffff8199a85fffff8b333fffff480008bffffed8000081361fbd1f08b8092688b83
+8bffffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333
+ff0014e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff00
+19cccd8b9f8ba192999f08a396ae8ea78b080effff4d6666ff00234ccdfffff1199a
+ff0023999aff009d7fffff0024ccccfffff36668ff003ae666ff012d6666ff005233
+3412ff0006199aff00316666ff0046cccdff003c1999ff00c5999aff0048199affff
+d1b332ff0024ccceff0027ccccff00576666136ec0ff012d4cccffff61cccd15d2ff
+00000001ff004a4cceff003899998bdf8bff002ee667ffffdcb332ff002a6666ffff
+cb33348bffffe9b3348bffffe6b332fffff7b333ffffe6199affffe9999a666b694d
+8580ffffefb333ff0016b334fffffab333ff00174ccc8bff001f4ccd08ff0060e666
+ff0065999aff0054cccdf702ff0029b334ff002eb332fffff68000ffffdccccdffff
+ece666ffffeee6667cffffece6681e139f40fffff619988bfffff5199aff00024ccd
+fffff4999affffff80009b61ff00224cccffffef199aff001ce6688bff002c66648b
+ff00203334ff001fcccc8bff002f66678bff0028b333ffffd6b334ff0024e666ffff
+e28000ff000d199a928da59ca09da6a2a7b39fb008ffffdd6668ff0005199affffe1
+9998ff00034cccffffe2e6688bffffddfffe8bffffdfb334fffffb8000ffffdc6666
+fffff4199aff000e8000ff0014e666ff0005999aff001466668bff00124cce08ff00
+306666ffffde999aff0023999affffd1ccccffffd56666ffffdf3334ffffe08000ff
+ffd366661e8bfffff3e666ff000233327eff0004b334fffff2999aff0008199aff00
+0e8000ff000bccccff0011e666ff00144cce8bff000e33328bff0015999afffff133
+348bffffec80008bffffdde666ffffdde666ffffe9ccccffffdf199affffec33346d
+79ffffcfb333ffffe04cccffffe44ccdffffe6b334696cffffcd4ccdffffc04ccd8b
+ffffa63333088bffffd4b333ff000b9999ffffc9cccdff002c199a58ffffefe666ff
+ffebe666ffffe14ccdffffe7cccdffffe3b3338bffffe8b3348bffffe3e666ff0017
+4ccd8bff001b4ccd8bff000eb333ff00078000ff000f4ccd9bff000db333ff00064c
+cdff0005b334ff00054ccdff000580008bff00074ccc08a0ffffdc3332ff00186666
+ffffed6667ffffe4e66788ffffda6667ffffdbcccdffffc7ccccff0025e666ffffc0
+8000ff003566661eb28bff002acccdff001ee667ff0016cccdff001ab33308ff0013
+6666ffffec999aff0025999affffee3333ff002a4ccc8b08136ec0ff006c8000ff00
+85e66615ffffcf6666ffffcfccceffffce4cccffffc74ccc1effffe580008bffffdb
+4ccdff0014999afffff84ccda29caa9eada4a1ff0015b334ff0012cccdff0012b332
+ff00081999ff001066668b08ff001b4cceff001eb332ffffe63334ffffde99991f0e
+fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f71315f7360a13baf7370a
+13dc688282611e6d06878788861f8b788d89058bf7078d971e13bcf7380a0efb67c2
+96a9729cf714a3c49c84a879a089a86fb293c4f71ca96ea0f714a3c49b7eaf78a7b2
+c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55eb86abab7b8a7b8bbbba2b796
+b890b8f70ebb1390c9e40fe0f869f71315f7360a1390c9e20fe0f7370a139148e40f
+e0688282611e6d06878788861f139248e40fe08b7805139148e40fe08d8905139248
+e40fe08bf7078d971e1390c9e40fe0f7380af959e815139248e00fe095d4b890988b
+08a1a87d53868888851fbbfb021513d248e00fe0767476806a8b608b60ba8bc88b90
+8b8f8c8e08f7320691908f92bd78c93c524f54304aad4dde1fb68baea2a2aa08fbd7
+851513b448e00fe07a8582771e8206888a89881f8b808c8a058bb18ca0a2b48a8b1e
+8d8c8b96058e888d891e7f067785949c1ff71307c180b4551e6c8b6e83655e08898b
+8dc0828b05868b878a84870813b848e00fe0798279877187088f7b05958d928c938b
+089390866b1ffb2a077a8582771e8006888989881f8b808c8a058bb48ca0a3b18a8b
+1e8c8c8b96058e898d881e83067785949c1ff7280713b448e00fe0aaaea195a68b08
+aa9378601f139048e04fe0fbf5f73c157c987e9b9b98989a9b7e987b1e7b7e7e7b1f
+139448e02fe0c5fbbf15f7728207868b878985880813b848e02fe07a838388658508
+8e7a05968d928c928b089490866b1ffb29077a8582771e8006888989881f8b7f8c8a
+058bb48ca0a3b48a8b1e8c8c8b97058e898d881e80067785949c1ff7f2f894151390
+5ae00fe07a8682771e7f06888a89881f8b7f8c8a058bb38ca1a2ba8a8b1e8d8c8b97
+058e888d891e79067785949c1ff719078b938f938e909aa09896928b8f8b8f898f87
+90859287978b089b95949a9b8297721f6f8b716c7b74088a8b8cc1828b05878b8689
+85887983858865850813904ce00fe08e7a0513905ae00fe0958d928c938b08948f85
+6c1ffb88741595d4b790998b08a1a77d53858989851fbbfb0315139068e00fe07675
+76806a8b5f8b61ba8bc80897f73207928f8f91be78c93d524f54304aad4dde1fb58b
+afa1a2aa08139058e09fe0fc4a7f15f74907a3a4aa8c918b08b0aa5f4e466e57521f
+798b7e8f7f9a08f816047e067f858289808981897587828b08139058e10fe08c7c05
+898c8a8d1e9e8d05139058e09fe0979182691ffbc0078b738b81897d089888059091
+939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b7480767508139048f00fe0fb
+62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13904ce80fe0c4fbc015f77282
+0713904ce40fe0878b868985887a8384886585088e7b05958d928b938b0813904ce8
+0fe09390876b1ffb2a077a8682771e7f06888a89881f8b808c8a058bb38ca1a2b48a
+8b1e8c8c8b96058e898d881e80067785949c1f0e81b0f8e6b001e5eaf7a2ea03f7d6
+f90115a28ba2859b7fff00134cccfffff36668ff00103334ffffe8ccccff000c199a
+ffffdd199808ffff143333fffe8d666805fffff5e667ff0032ffffffffff4ccdff00
+3719998bff002733348bf79ed6bbc98b0886fd0b15e7f721dff7921f8bff005b3334
+76ff00506666ffffd8e666ff003cb33208ff00438002ff0069e6686c9affffc5cccc
+ffffa4999805ffffffe666ff0000199c8b8bffffffe666ff000019986cb159a94a8b
+fb0b8bfb05fb118bfb6a8bffffa98000ff0015b333ffffade666ff00266667ffffc3
+666708ffffb6e666ffff8d3333a97cff00403333ff0064b33305ff00077ffffffff6
+ffffff0007e667fffff7cccdff00086666fffff88000ad6db57bb98b08ff007e8000
+ff01f1999a15ff00076666ffffdab332ff0004199a5d8bffffc8b3348b2888467754
+6d325081728bffffc4b3348bffffdf1999ff00274ccdffffedcccdff00338000080e
+fb0578a8f764ab01bdbff71ca903f1d815f7020a579915f7010a0e89b0f756b3f7f8
+77f1eb01f751ebe8eb03f80ef98715aa0afb5116aa0ac1fc7a152c0afb8ffb52152d
+0a0e81b3f8bfb3d8eb01adecb7ebe8ebbcec03f800f98215aa0afb5116aa0af718fb
+3915460af7bffba415470a0e81b4f8b9aee2eb01dbe89aebe8eba7c003f80df98215
+aa0afb5116aa0a7cfb9515590a0ef7f3adf77da501f759c5f70cc603f80bf88a1595
+0abafb2b15960a0efb00f7faa5f76caacba101f7dec003f761f93515f7390aa32c15
+f73a0a0efb0ff7faabf770a601f71ac0f71bc103f7bdf91115f73b0a0e29f7fea484
+a1f75fa5cba112f71cbf13b8f7bcf83615f73c0a63fb4315836a988b051378f73d0a
+13b8f73e0a0ef7fbaef704aad6a401ff00f74ccdff0035fffff710c403ff01794ccc
+f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cceff0047
+8000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4999a
+ff000a3333ffffd83332ff001b999affffe7b334ff0012ccccffffef6666ff001be6
+66fffff7199aff002280008bb98bb9a2a5aefffffc4cceff0009b334fffff86666ff
+00064cccfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004ccceb3a9af
+ff001c33328ba38bff00214ccefffff58000ffffffb332ffffbf8000080efb2bf800
+a2f74aa8f708a401f7f3bc03f739f83315f73f0a0e30f77aa9f0b6bba1f721a17ba7
+12deb58fb37dbbf5b168bb13ed00f81ef8ec15f7400a13f500f7410a13ee80f7420a
+13ed40f7430afb7efb7f15f7440a13e480f7450af728f744157c4d6f86778b0813f5
+40f7460a0ef8f30ef8f30ef8f30e33f800a2f771a1cca101f0f7d503ff00d58000ff
+01ee6666158dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008
+a74b05937a8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d87
+8b6b8b81a587950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d
+8b8f8d8c8e088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b95
+8a89838a8787848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff419
+9808ff0033999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d
+878b858b878a858a85084ffb970586768986748a088406868a88891f8779058baf8c
+a2a3af8a8b1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080ed2f800
+a2f76cad01f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b93
+8b8d878b858b878a858a850866fb310587768986738a088406878a88891f8679058b
+af8ca2a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf7
+2405a2a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006
+888b8a888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f
+8b8e8c908c9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000
+e666ff0005b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba1
+8b99818b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058b
+b18ca3a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f7
+17058e998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee66
+66ffffeeb334fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a
+0897bf7e8b05707f75856b87080ef8f30e350e25f77da2f700a5f75fa17caa12f7e2
+c013d8f74ef8cf15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a0e28f77da2
+f700a5f76ba501f71cc003f7bcf83615f7470ab7ca15f7480a0ef8b60efb58f7faae
+f765a801f729bd03f785f8ee15f7190a0e34f7faae7ea1f762a212f72bbd13b0f788
+f90a15f7490a1370f74a0a13b0f74b0a0e2ff8f4a201f72df7ae03f76df80715f74c
+0a0ef8b60ef8b60ef8b60efb17f800a9f764a801f7469f03f768f90b15f74d0a0ef7
+7af837aff71af70801f784c5f716c5f718c503f7d4f95515f60af7509015f60af752
+8815f60a0ef837aff71af70801ff016a8000c5f716c5f716c5031438ff01538000f9
+5515270af75016270af75016270a0ea2abf88aaa01b0aaf88baa03f7d4a215930af8
+aa04940a0ef9015fa0ff00a4b333ff00154ccdf738a0f7b5a001f799a0f787a003b3
+93158b78968b9687db72ce87cb8bac8bab8eac90ff00d96668ff00238000ff00bc4c
+ccff008ae666ff00614cccff00c56666ff003c8000ff007ab334ff00098000ff0079
+66688bff001a19988b9c808c808f083ea34191598bffff27b3348bffff331998ffff
+973334ffff803334ffff534cccffffa6199affff868000ffffd5e666ffff68b3338b
+ffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00
+138000ff000e6666ff00a0199aff006e3334ff00146666ff000d199908f83dff0000
+4ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f714b208fb9c07f759fb48
+15fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffffc16668ffffbc6667ffff
+f01998fffff56666088af86e15cb8bca82c87808fbfffb8f8bf79305be98c196d18b
+08fb2bfbb515f7f4f7880584417b396033080ef8f30efb00fb0aa5f76caacba101f7
+70c003eaf75915f7390aa32c15f73a0a0efb0ffb0aabf770a601a1c0f71bc103f74d
+f73515f73b0a0e29fb06a484a1f75fa5cba112a8bf13b8f7515115f73c0a63fb4315
+836a988b051378f73d0a13b8f73e0a0efb2bfb04a2f74aa8f708a401f77ebc03bb4e
+15f73f0a0e3dfb88a9f0b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bc
+f71215f7400a13f500f7410a13ee80f7420a13ed40f7430afb7efb7f15f7440a13e4
+80f7450af728f744157c4d6f86778b0813f540f7460a0e350efb03a8f761a0d7c512
+ff0060e666c559bb13f0ff007de666f7aa15f7060a13e8a6fbce15f71c0713f0f707
+0a13e8f7080a0efb4e0e33fb04a2f771a1cca10189f7d503ff006e8000ff00126666
+15f7120a0efb7c0ed2fb04a2f76cad01f786ff0031e666ff0063199abd03c7f71f15
+f7130a0efb03a8f75da17dad12ff0046cccdbbf715ff002fffff13b8ff007fcccde1
+15f7140a13d8f7150a0e33fb87a2f700a5f75fa17caa12f77bc013d8deea15f7160a
+13e8f7170a9ffb0815a5f7050513d8f7180a0e36fb87a2f700a5f76ba501a8c003f7
+515115f7470ab7ca15f7480a0efb270efb200efb58fb0aaef765a801b0bd03f715f7
+1215f7190a0e34fb0aae7ea1f762a212bbbd13b0f721f72e15f7490a1370f74a0a13
+b0f74b0a0e2ff718a201b4f7ae03f42215f74c0a0ebf0e540efb17fb04a9f764a801
+d29f03f4f72f15f74d0a0efc1df8cff70c01fbb9f76803fb6df94715ffffddcccdff
+fff46668ffffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a082998893
+8b938b92928b938b9287918093080efc1df8cff70e01fbbcf75d03fb31f94915fb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34ccdff00154c
+ccffffeb4ccdff00116668ffffe36666ff000d4ccc080efc1dfb91f78703fb05f916
+15fffff0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d
+828e859485b19cab9cb0a6ac72ad79b279ff0009199aff0003ccccff00041999ff00
+08199cff0002cccdff000919980867a666ad6daf080efc1df8a0f70701fbc6f78803
+fb61f8a015c40a0efc1df8b4bf01fbbda7f76ca70372f92515c00a0efc1df8ecf727
+01fbf6f7910326f95415ff001033347fff0015cccc6e1e808b8487868308ffffc4b3
+33fb0105fffffd7ffffffffb6668fffffecccdfffffc99988b888b839386908b8e8b
+8e8c8d8d08eedf058f8f8e928b9408fb179015ff00174cccffffe9b333ff000eb334
+fffff04ccd1e7c8b8487868308ffffc98000fb0205fffffe199afffffc3334ffffff
+6666fffffacccc8b898b849186928bff0005999a8b8fff00038000ff000466668f08
+e3ff0050800005908f8d928b93080efc1df8e9f72a01fbf6ff00fa800003fbf6f954
+158b828e848f8708ee37058d898e8a8e8b908b93908b938b8efffffecccdff000366
+68fffffd8000ff0004999808ffffc4b333f701058693848f808b6e8b7fffffea3334
+8bffffefcccc08f71790158b838d84908708e3ffffaf800005ff00046666878fffff
+fc8000ff0005999a8b928b91908b928b8dffffff6666ff00053334fffffe199aff00
+03cccc08ffffc98000f702058693848f7c8bfffff04ccd8bffffe9b333fffff14ccc
+8bffffe8b334080efc1df8f1bf01fbbea7f76ca703fbbef8b415a70692b2bfa1bc8b
+c08bba75936408a70686d151b6428b498b4b618544080efc1df94eaa01fbcfd1f703
+d003fb52f96d156a749c9c1f8b908c918b8d089a819a7470817d7857c674cdcdc6a2
+bf9e81997074817c7c1e8b898c858b86087a747a6a1e0efc1df88baae47701fbe1d4
+ebd40330f8e2159e7d9973797a7d7a1e8b888b898c898c888b888b88087576776e6d
+77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c7955c26acccbc5abc21e
+0efc1df959eb01fc4debe8eb03fb90f98915aa0afb5116aa0a0efc1df96476c5a301
+fb8bb8a1a59bbf0335f96915ef0a0efc1df8e0f301e9f303e9f91415c20a0ef790fb
+8aa37ba2f75fa3f829a3f754a3a8a39fa3989a9c9aa29a9da312cac3539dc99dbf9d
+99a2f752a2133ff780caf9d9158b748b7c8b7a8b7c05133fef809d8b05133ff780b1
+9a06133fef80659c06133ff780b19a06133fef8065a206133ff780b19a06133fef80
+658b05133ff7807906db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b0513bfe780fb
+66fb4673f74607137fe78093a207f769a2fb69f75ff75297a27ff738a3fb38f83574
+97fb5206f754f80da3fc0da8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050e81b0f8e6
+b001e5eaf7a2ea03f7d6f90115a28ba2859b7fff0017999afffff09998ff0013199a
+ffffe0b334ff000c6666ffffceccce08ffff181999fc1805ffffeaffffff003c8002
+fffffecccdff004ce6668bff003280008bf79ed6bbc98b08ff007e4cccffff5e3334
+15ff00046668ffffe08000ff00024cccffffdb4ccc8b618b28884677546d32508172
+8bffffd34ccc8bffffe24cceff00164cccffffec4cccff0021199a08ff01134cceff
+01ce666615ff002fccccff005033346e99ffffd9b3344b05fffffc3332ff00053334
+fffffc333490fffffbe666ff0004cccc6cb159a94a8bfb0b8bfb05fb118bfb6a8bff
+ff9a4ccdff001de666ffffa08000ff0033e667ffffc2333308ffffcd333336a97cff
+002ccccdff004b4ccd05ff0021e667ffffe28001ff0029b333fffff03333ff002d99
+9a8be78bf721df8bf7928bff0053b334ffffee4cccff004a8000ffffdee668ff003a
+9998080efb30b5f8b4ac01f7fde203f854f74215cb0a0ef92ef858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050efc1dff01f47020ff00c3235401fffed4
+8000f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053
+ce988bff001a80c4fb7cff0054d3f88bffffdaae98050ef91414f81d157f97f87495
+f70f98c99506fb8296077f97f87495f70f98c99508fb7f93091e0a039625ff0c0992
+0c0ab00ab00c0ce20be20c0d1c003d13012502000100320045006b007e00c100d301
+0c0136014c015e017401d501e6026c027c028c02db02f0033e035803ac046a051b05
+780595065106b6071b07f8080c0858086d089b08e1090b092a099f09f90a100a3d0a
+4d0a550a910ac60adb0aeb0af30b470b810bad0bde0c080c260c2c0c370c520c9c0d
+320dc00e700fb7109e10f2113011a911d0120512c4134c137a138e13f41403142014
+6a151a152d1535155a1567157c158a15b115e015ee1717172a17ff18e419a21b361b
+8f1c131c8e1cb91cd81d301d3e1da81e571ea31ebf1f101f5d1f862031207320ed21
+5a21ed23712423245e2471248324a524c724dd253b254d255f257825b225e6264126
+9026a226df26eb2761278827bc27f3282e2887289f28df28fa290c291e29e229f52a
+5b2a922aa42acc2b142b652b812ba52bb82bca2ccc2ce12db52ded2e3b2eb52efe2f
+142f332f552f672f792f9d2fc12fe12fef3002302c304d30f63142318c31ee322632
+65327b3316336134b73502350d35213556365036bd36d53719372b374c379837aa37
+bf37dd37f33809381f3867388838b238cb393539ae39d539e73a1e3a623adf3be63c
+6c3cac3cca3cf43d1e3d313d443d563d873db83dfa3e0d3e253e5e3e7a3ea13ec13e
+d33eef3f0a3f173f393f5b406341cf425742bb431d433c436243c243cc43ec443844
+52446c44b644d94507453b459645e5462e463f465346754697469e46a846b246bc46
+c846d846e346ef46fb470d471f47314740478847ad4804482a488d48ad4904491149
+a749bd49dd4a414a624a7c4aa24ac14ae14b4d4b904bdb4bef4c6d4ccc736e78551f
+8b4599689433933d91318d768c858e84958b958b8e948c968d998bc798f70095e199
+b58bcc08c16e9e731e0b6ba76facaca7a7abab6fa76a1e6a6f6f6b1f0bb1068bb4f7
+79a0ff001a8000ffffef8000ff001b8000ffffd580006178716e7fb4fb818b1f0b56
+ab52c8deb7f702ced45d9d63414f3f391e0b798b688b55a481976e986f8b08434e44
+3358a951c9dfb7f705cb1f8b948a9489929e80b181a28ba98bb28fb19a08fbfbfc88
+b77cf82ef8cf619b056c613e7f618b080bc0b1d9b89ca2815d566c3a587a7396bb1e
+0bfb53fb61077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e07
+9c9ea6979585967e1ffb6ff76206977f90817e6e7b7b1e0b66706e691f8b65aa80a1
+87a28996848b6f8b725b534d7b8b7f937b9383c998e5cd8bdf08d36abe5b1e0b9b9c
+af9896869b7f1ffbed067d7b6d7780927c961f0b67aa6cb0b0aaaaafaf6caa66666c
+6c671e0b9899a295938794811ffc39067f7e787c839183941f0ba9b8bdd9d9b04b41
+1e8b5c7d6c54663f5887578b600864078491889595928e921eb0078ba38f949ba496
+9ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f716872677372678b650868a979
+9ea29e97a21e8b988891869008869089918b9a080b758b858e8e9508ddf7898d8be9
+fb96050bb8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b729185
+b08cc28cb28bb48bff00214ccc8aff001db3348a91918ba48591648e828d79b908fb
+62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78cff00224c
+cd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff0026b334
+080baa9f96e2c3ca732a3a5a6f381e2d060bf71dba4335467956fb2c456a8fc31f0b
+ffffcdb3338b638cffffd94ccd8c85858b729185d18894868b3c08fc09078b3c828a
+458885858b729185bc8cff001e4ccd8cff0032b3338bb68bad89e48bf75b8bb6ea8b
+dd8be648bf34a3088d070bbda3b8bb8bbf8bcb78dffb4e8b688b4888608b080be28b
+f0b5c8e087947e95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108b
+c740a2399687968e959187bc83b983bf5d9057b1fb038b08fb4ffb20fb2ffb48fb36
+f70bfb1ef75c1f0bf85107acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e0b
+ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffc05073c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080bfb00f75006a2979ea31ef74006d68b9b67a1
+499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8068b8b468c59
+8c85858b729185d1889c868b3c08fc05078b3c7a86458885858b729185bc8cd28c8b
+8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768543f8b08fb5506757d
+9aa51ff777f70007e08b8e758e609185a08b919189ab8bff001333348bff0020cccc
+8babff0000b334ff0016b334ff00014cccff001b4ccc8591768b85858857887e368b
+080bdf8b85768e609185a08b919189a48bff0019999a8bff002066668bab8ba28da6
+8591768b85858857907e388b0824f74706c39d90bb1ee006f58ba839a149978b978d
+938e86b276f71e8a928b8d898c898b7988878a728b08fbcf068b8b208c598c85858b
+729185ef859c878b5108fc18078b3c5c86458885858b729185bc8cff003580008cff
+004180008bc98bff00314ccc8aff002fb3348a91918ba485916a8c578d7e95087d96
+86a18bb408f743070bfb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb7819486
+928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86858b73
+9085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7081f0b
+f7168ba941a239978a988c959183b386bb85cf08558b74a8fb028b080bf809078bd5
+8e90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f
+08fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c
+85858b729185d388ff0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe
+333387448785858b729185b68cb98caa8ba78bb78ab58a91918ba48591478e88908b
+da08f74bf7a8fb4b078b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91
+918ba48591458e88908bda080bf805078bd89091f7288f91918ba585915a8affff97
+800089ffffd180008b5f8b228d598c85858b719185f7278691868b3e08fc05078b3d
+8686fb288785858b729185bc8cd48cd98bff004d999a8bff004766668abd8a91918b
+a48591fb268f84918bd8080b8bde8f8ff70f8f91918ba485915a8affffc94ccc8aff
+ffbdb3348bffffae80008bffffb280008c598c85858b729185f730888e868b3808fb
+7807fb36674b5e1e678b66a48597849a78976f8b087374757560ce77b71fcd8bc199
+c6b8bbb09bbe8bf723080bf74407b78b9e84a46908f722fb50059e729a728d7c8b88
+8c888f8b9f8ca18c978b9d8bb18aae8a91918ba48591688d848c71aa08fb60f78b05
+839486928b938b928c92adac08f722f71f05b9ba938eb58d91918ba485916b8a698a
+738b718b618c638c85858b729185b188ff0027199afffffb4cccffffd8e666ffffd7
+b33408fb34fb39057574737d658908f739078bda9c90d18e91918ba485915a8a598a
+6c8b6f8b5c8c5f8c85858b729185c68795878b3c08fc05078b3c86874b8785858b72
+9185b88cbb8ca68ba88bb98ab78a91918ba48591458e84908bda080ba6e7898b1f95
+bb98f7128ec0818f7e8d7f89080b6ffb1f77632e8b08fb0c066e799ca81ff81f078b
+da9c90d18e91918ba48591638affffd780008affffcc80008bffffcb4ccd8bffffd6
+b3338c628c85858b729185d1889c868b3c08fc05070b8b3c7a86458885858b729185
+08bc8cdc8c8b8b080b8c438687458685858b729185b48cb48ca98ba98bb98aac8a91
+918ba485914d8efffffc99988ffffffe6668da080b83f81c05fffffeccccc4ff0001
+333490bf8e91918ba4859108fb1d89fb1bfbd4058172888c82a208fb08f7d5fb3b8d
+0585858b729185d087ff0001b33387fffffd4ccd4b080b7bfc1505883c8787478885
+858b729185a98cab8ca38ba38bb88aa98a91918ba48591438e898f8edc080b9bf814
+928bf71efc22058e848e88918b918b8e8d8e9308f73af82c908b050bfbc207798680
+851e888b7c9b72af08fbbaf82ffb178d0586858b729085b288a16a907208fc15078b
+3681864c8486858b729085ff00224ccc8cff0028b3348ca48bff00144ccd8bff002b
+66668aff00244ccd8a90918ba486914c927c8f8be108f7b107ab8b9a921e908b9482
+9c7408f7c5fc37050bff000e199affffec999aff000fe666fffffc6666998b089898
+979d1ff861078be09190ca9290918ba48691678affffdbb3348affffeb4ccc8bffff
+ea4ccc8bffffd166688cffffd84ccc8c86858b72908508ca849f878b35080bf707e2
+22fb4efb384227272029f5f743f752ebdfdb1f0bf756fb11f70afb371e318b3c6359
+44635272528b218bfb56f715fb02f72f8bf08bdbb9bdd5afc1a0c48be7080baea8a3
+dbd3ce7bfb0d246460fb001e0b6f8b4d8e808e080bfc05078b3c7086458885858b72
+9185bc8cff003480008cff002e80008bff0027199a8bff004ae6668abd8a91918ba4
+85913d8f5f8f8bda08f729070ba184b885b28b08f75eb4f707e1c367f3fb581f6e8b
+3085638bffffd580008b5b8cffffd180008c85858b729185d1889c868b3c080bc8dd
+7ffb04fb0b3a712a1f47f76706a7aba9d21e0bf72e07df8bb17d9a7508f709fb3905
+0ba85fb662c78b080b9a8b9c8d95908e928b978793648e74a471b408fb1cf75c05b6
+98efbc8bef8bbb7bb467ab5bb63a8b4c8b728b3585658bffffdbb3338bffffcecccd
+8cffffd480008c85858b72918508d18898868b3c08fc05070b8b3c7e86458885858b
+729185ff002c80008cff003066668cff0025199a8bff0026999a8bff003066668ab9
+8a91918ba48591458e7a908bda080b45938b9dfb0a8bfb0f8bfb025c8bfb138b26ff
+006a199a4fff006ce66680ee81ce718b268b3e50662a8b080bfb058b41b070ea7c8f
+7d89808690429072995cd78baf75f7008bc28bc296b5a0d0adb8bf8bce088bf70635
+befb0797080bffffb3800093ffff888000af8bdb8bd1ceb5d28bf70a8bb255a34c99
+8b9a8a96920887b985a57fbd080bf7f907c895afaf1ea706d68bc4729c42968b998c
+948f84b786bb8ab6080b8c898c8a1e0b6988fb0d873c8b0835060b3e8bfb148f658e
+898b898a8b8a8760815a805d9587978a978b080b9fd7c3a4cd8b08ae06b09567511f
+fbfc078b3c7a86fb0c8885858b729185bc8cff003f33338cff0047cccd8bff004766
+668bff003d999a8abd8a91918ba4859108fb0c8d7a918bda080b8bda9190d58e9191
+8ba28591638affffd480008affffd280008bffffd880008b658cffffdb80008c8585
+8b749185c58897868b3c08fba107fb56f72263e1f759bcf70df73d1ef769078bda99
+8ec59091918ba28591678affffd980008affffe880008bffffeb80008bffffcd8000
+8c5f8c85858b749185d3859b878b3e08fb7a072180fb12fb361e5d8b649e70a863b6
+88d38bc9080bd5868a77775808fb28fc11868bfb33f8160574c39193cf9291918ba4
+8591658a5f8a648bffffda80008b688cffffe080008c85858c729185bafffffa8000
+8ffffff98000a74608f75afc7b05917c9c85958b968b9692919908f759f879059db7
+ff00128000abff003980009291918ba48591ffffe180008affffdd80008a748b748b
+5e8c628c85858b729185080b4b7c59fb51057b4e878b7fc50854f79c057bd98e95c9
+8f91938ba08593668a628a678b658b738c718c85838b769183b287ff00034cccffff
+fa1998ff0011b334ffffade66808f1fc6c058f789785958b948b979190a008e6f7ca
+f6fbcc0591798f84958b948b95918f9f08f5f86505ff00139998ff0055e668ff0005
+6668ff00061998b69191938ba08593728a828a678b658b648c668c85838b769183e2
+858e817a3e0849fbbb05836a898180b1080bfb23f75905fffff73334ff000c199aff
+fff8ccccff000ce6668b928b948c93949608ff00848000f73705aeb6ff0023800097
+b88f91918ba485916d8a668a748b748b618c638c85858b729185ab89ff0019800085
+746b08ffff898000fb3505fffffa199afffff7e666fffff9e666fffffd199a878b88
+8b878e869208fb02f730056fb18690c38e91918ba48591638a628a6a8b648b6a8c6d
+8c85858c729185b588a1fffffcb334b1ffffcc4ccc08f722fb5505938091838b818b
+85fffffc3334fffff7ccccfffff9ccccfffff8333408fb28fb4e05695f6b845e8785
+858b729185a98cb08ca28ba28bb58ab38a91918ba48591668d718da3ab08f718f742
+05919391908e8b8f8bff0004999afffffdcccdff00056666fffff8333308f706fb39
+05a56488845c8985858b729185af8cb18cb38bb28bac8aa98a91918aa48591618e78
+9063c3080bf70f078ba7ff00006666ff00106666ff0011999aff001b999a08f715f7
+5f05a8b99c93b88f91918ba485916d8a6d8a748b748bffffdd80008cffffde80008c
+85858b729185b7889d84746608fb0dfb5905fffff74cccfffff1ccccfffffc999aff
+0001199afffff6199aff000f199a08fb12f7550572b29092c38e91918ba48591678a
+658a638b648b6a8c6d8c85858c729185b5889788af5508f721fb6405ff00123334ff
+ffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a863b8885858b729185bc8c
+ff003380008cff002b80008bb68bbd8abd8a91918ba485913b8e7a908bda080b90c0
+95c497bc848d808e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199a
+ff0006199aff0005e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b9286
+8f838b7f8b6c896d8b08fb71060b84fb1a05ffffff3334fffff0e666fffff6ccccff
+fff7199a818469754e6f668b488b72b68bad8bc3ff002e3333ff002acccdff0054cc
+cdff00103333080b9069976cd08b08d7b5ff002b999aff000b6666938096851f838b
+8779708b598bfffff2ccccb8ff00023334bd0892f73505ff0009ccccff009d8000ff
+ff9c3334ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e
+8a928b9708aec897bcc1c26ffb0e1e8b838486888a08fb1675050bffff71b333ffff
+e7e666ffffba4ccdffffc5199a8b418b36d06be78bc88baa94c6b008a79e050baaff
+0015cccca5ff00103334bb8b08d6da36fb00fb135e2dfb091f658b429b77a408f7b4
+078ba2ff0012666698ff000f999a96080bfffff8b333fffffa6666fffff74ccdff00
+01999a8b9f08f71307cb8fb48b1e92878e821e7281247d638889838d7b9185d28898
+8a8b3d08fc5e078bffffc88000fffff8800072fffff08000ffffeb80009083ff0006
+4ccdfffff8800095ffffff8000ff00094ccd91ff000b6666939899ff00134ccdff00
+14ccccff0005cccdff00003334ff001933337cff001ecccdffffedb333ff0045e666
+fffff64ccdb68b08f711f711f3f745f71cfb0bde201f4b8b60ffffeccccc63ffffe1
+3334080b87957d99808c4c4a3e73588b08fb043be7f70df709c7d6f11fd18bc46392
+58ff0004199affffe2199aff0015e666ffffede666a38ba98b9cff001366668bff00
+25999a8bff00156666fffff3b334ff0017b334ffffe94cccff0012e666ffffd5e666
+aeffffb58000a3ffffb6999a8b08fb21fb0afb00fb29fb1be8fb00f7391fd28bdf9b
+e5f1080b8b7689837b7d626757796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea2
+8bb58bc07ea171089b798e848b68080b908f938e8b838b7096658b8b93888e8c938d
+080ba19db5ff0010199ad6ff0005e66691918b9a859140ff0009199a83ff000ee666
+8bbc08f85907cc8fb38b1e92878e821e7281247d638889838d7b9185d3fffffd1998
+97868bffffb5e668083d07838989831e878b449d648b3d8b58735b61585b6d498b38
+080bfb1dde27f7131eb98bc6a1c2b8080ba2f70cdaadcb8bbb8bdb6f8b2b8b8185ff
+fff033347dffffffcccc080b5c605771408bffffbfcccc8bffffc33334a162c572b1
+7faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f8b4da04eb461b55e
+d871e38be98bdeb2bdc5889686957c8c080bf7a2f74b07949a8f941fa4078f888d86
+1efb5bd106f713e1a2ac1eb58ba173a057ff00088000ffffeaccccff00128000ffff
+f93334a28b9e8ba49a8ba98b9f7da5779864ff001966685bff000c99985b8b0831fb
+1263fb391f56310779857f831f7907868d8a8f1ef700fba2068b5b88787d8181836c
+873f8985858b729185b58cff0042999a8cff004566668bff005e66668bff0068999a
+8ab68a91918ba4859108218f4e8e7f927a95889e8bbb080b235579592d77d8d2d9a8
+b0d11edcb15b2e1f0b97889f889a8b080bb08baa8f9c8bc68bc08ead79b872977f8b
+710843fb1165224c37a8cf1e8bad959fabb2080ba2769d6d1e6e8b55786e65080b7e
+9466a13f8bfb018b30498b248b4fab68aa6d080b6c707e5c8b658b63a16ba87d080b
+4f6764618b600834ef70e5f733f73dccf7001e8bab78a369a65eaf388c608b768b6e
+886f88080b798a7f8a858b698b649a8bbb8ba18da3989ea67baf84b68bf7008be6c8
+8bf7018bbf7baa6bac089396a19b998b080b938b938892818f829a80978b080b8bff
+0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88ab68a
+90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b334ff
+001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc3334
+fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b333b38b
+8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b387e89ff
+ffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff
+001e19998a91918ba48591ffffcd33348f828c8bdd080b6da66da6aaa6aaa3a773ab
+6d1e706c706f1f0bf782078bff0043cccc99ff0010b3348bff001780008bff000680
+00fffff8ccccff00068000fffff933348bfffff4cccc8bffffe43334fffff9b334ff
+ffe53334fffffb3332ffffd26666fffff7ccceffffab3333fffff81998ffffd43333
+fffffd333488fffff780008cffffef80008f83ff005f800089ff0023b334fffffe19
+9aff0008ccccfffff4e66608ff000980007fff000180007e8b7108fb7a078b5c8778
+7d808083fb087f5a8985858b729185b58cf72c8cb88bb58bf7218ab68a91918ba485
+9108558d26978093087c95889e8bbb080b8b388081538785858b729185b58cff001c
+199a8cff002ce6668bff002380008bff000c80008ab68a91918ba48591628f80958b
+de08f107a28a958a96879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba1
+8c8f8cac8bae8bab8aac8a92928ba28492658f6f916db008fb27f74d05879087938b
+918b8f8b8e8f8f08eaee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92
+928ba28492628a7389638b618b758d628c84848b749284c9877163817e08716b6964
+6e7671786d7e768908f7d507cc8fb38b1e92878e821e7281247d638889838d7b9185
+d48896898b3e080b8bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333ff
+fff84cccffffe5cccdfffffeb33485858b729185b58cff006866668cff005d999a8b
+ff005a199a8bff0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff00
+08cccd80927b95fffffc80009d8bbc08f85a07cc8fb38b1e92878e821e6681fb0b7d
+638889838b789185ff002880008bff00254ccdffffff4cccff0016b333ffffed3334
+ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc080bf761078ba0ff
+000a999aa0ff0006666695a8ff002d4ccca3ff0000b3349b8b08b19773481ffb6807
+8b32ffffff80006cfffffe80007dff000ab3348cff00184ccc8c958bff000b4ccc8b
+9c8aff000cb3348affffff33349cfffffeccccff0020199a8bff0054e66608f78f07
+aeff002f8000ff0017999aff00048000ff001566668b08b19d75481ffb56078bfb00
+ff0001b334ffffe14ccdff00064cccfffff0b333968cff00114ccc8cff0007b3348b
+b48b8e8ab68a90918ba48691ffffcf4cccff00034cccffffffb334ff000366678bff
+006e4ccd08f74707ff0058cccc7dff00463334331effffddb3348bffffdd8000ffff
+f9e666ffffd3ccccffffc8199afffffa4cccfffff8ccccfffffc4ccefffffdb334ff
+fffd6666ff0009e666fffff58000ff0028199affffe38000ff00158000578b658bff
+ffdccccdffffedccccffffdc3333ffffcb3334fffff9b333fffff6999afffffd4ccd
+ffffffb3328bff0009b3348bb3fffffcb333ff000fb334fffffb4ccdff000a4ccc08
+fffffde666ff0004999afffffe199aff00036666838b080b6f807082468289858d7b
+8d85c18691868b5108fb80078b32ffffff80006cfffffe80007dff000ab3338cff00
+184ccd8c958bff000b4ccd8b9c8aff000cb3338a08ffffff33339cfffffecccdff00
+20199a8bff0054e666080b888785818b998bff003d199afffffcb333ff0018999aff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8066
+82468289858d7b8d85c18696868b5108fb86078b3981fffffd199a45fffff9e66685
+858b729185b48cb28cb68bb28ba28ab58a91918ba485915890828f8bdd08f753078b
+a094979394080bb1b0c3b5c88b9f8bff0013199afffff1e666ff000de666ffffea19
+9a97788e6f8b6d08fb5b078b398187578686858b729085b58ca28cb38bb48bb08ab6
+8a90918ba4869149ff0004199a80ff0004e6668bdd08f758078bc287bd71a8ffffed
+6666ff0014b334ffffe2999aff000d4ccc688b083b8b4b6a4e47080bfb06dffb12f7
+431eda8bc7a4b5b0c3bca3d28bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b
+45080bf706d039fb38fb23376e4cfb1d5ff71ce3eeff001ce666eaff0074199a1f0b
+ff001c8000ff00278000ff002a8000ff00258000b88b08ff006d999aff002666663b
+fb12fb134e41271fffffd1b3348bffffb6ccccbefffff78000c508f732078ba2ff00
+0ce666ff00174cccff000c199aff0010b334080b8bac8ab286978990898f828b080b
+6c7f5e803e8189848e7a8d84c785a1868b4a08fc60078b3876864e8885858b729185
+b58cff0022e6668cff0031199a8bff0038999a8bff002d66668ab68a91918ba48591
+308f80ff000466668bff0052999a08f72e07ab68b774c68bc98bc59eb9b6bfbeabd1
+8be5080b8bff0036800088ff000e800086958990898e838b5ffffff880003dfffff3
+8000468289858d7b8d85ff001780008bff0048800083958598838e7e8b6a08fb8607
+8b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000fffff98000ffff
+ae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e8ab68a91918ba4
+859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff00158000ff000e
+ccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff380009283967f9a7c9f
+8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb9800008fffff76666ffff
+f6e666fffffe999aff0008199a8bac080b8f54985c9d62978d9b8d918b938b99ffff
+ff333393fffffdcccd080bff0012800086bf84ff003880008bf71a8bf4ff00288000
+8bff007280008bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff
+00118000ffffbb8000ff001280008bc38bb6bdace78b080bff004e80008bff002580
+0058b5439b8a9891929285ba85b183abffffdd8000ff000b8000ffffbb8000ff0013
+8000448bfb018bfb005a8b3b8bffffa78000bbffffdae666f719ffffe9999a080bff
+008e800073ff002a8000768b5b8b545065278b528b5d96799a6ea473bd84a7087d8d
+77868282080b7d877f831f7907868c8a8f1ef704fb9506fb04cd66e31eff003a8000
+8bff00438000aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd4
+80008b0858589ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb3
+8b1eff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e6
+68fffff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988b
+ffff91199a080bb28bff004a8000ff0013199aff00438000ff0032e666ff0005199a
+ff0003e666ff0006e666ff0002199a8b848bffffd3e66696ffffe7199a8b8b93888e
+8c938d080ba19dbc9ac89291918b9a85914b907f9e8bbc08f78307a98fd88b1e8e88
+8e861e868a748a7c8b6b8b658c668c85858b729185ff0015e666fffffeb334ff0013
+b334fffffce666ff0009999a82ff000bccccfffff4e6668f778bffffdb800008fb76
+078b78fffffee666fffff6e666fffff1199afffff5199a080bffffc5800060ffffc3
+800078728b086d5999e41ff77907a98fd88b1e8e888e861e868a7a8a7c8b6b8b5a8c
+668c85858b729185a1fffffe3334ff0018e666fffffcb332ff0009999afffff6b334
+ff000b666680ff0004199affffec999a8bffffdccccc08fb830746af48ee1e0bc687
+9d83745808fb06fb8b057964858b7ab50825f78805ffffeb8000bcfffffd800095bf
+8f92918ba48491628affffe1999a8affffd266668b658b738c628c84858b729285ca
+849680a15808f736fc0305927c9585998b968b9491939c08f741f80005ff00151998
+ff002c8000ff0009e668ff00138000c69192918ba48491738a6f8a6e8b628b748c62
+8c84858b729285080b78a49990ba9191918ba48591ffffe2b3338affffc64ccd8a6b
+8b6b8bffffd64ccd8cffffe2b3338c85858b729185b088a97ea96208f708fb2d058e
+878e86868508fb05fb1905ffffd7199affffcfe666ffffe4e666fffffe199a658985
+858d729185ff0017b3338cff00184ccd8cb28bb48bff0023b3338aff00184ccd8a91
+918aa485916e8fffffe63333ff0003e666ff0015cccdff001c199a08e5f708059395
+8e8e938008e02205ff0022199affffd5ccccffffe9999afffffc3334ffffda4ccc88
+85858d729185ae8cbb8cb28bb48baa8aa88a919189a48591ffffdd4cccff0001b333
+ffffe1ccccff0004cccdffffd6e668ff0034800008fb0bf72c05fffffb3334ff0006
+199aff00008000ff0003b333ff00044cccff0005333308f704f71905ff00236666b5
+ff001e999a91b28e91918ba48591708a688a708b758bffffd2b3348cffffde4ccc8c
+85858b729185af87ff0018199afffffc199affffe8e666ffffe2e666082efb090587
+86fffff83334fffffc3334fffff7ccccff000acccc080b9ca799a798a9e1f755d2f7
+2ec4f7049aa8a0a7c08e91918ba48591708a688a6d8b658b6c8c6d8c0885858b7291
+85af8ab5867b6808fb15fbac05fffff2199affffe1b333fffffc199aff0000cccdff
+fff1ccccff001e800008fb0df7970578b58699c29091918ba48591638a608a648b66
+8b6c8c758c85858b729185bc879488a94b08f727fbce059c679b6583777e6a7e6f7b
+6c7f776782708b7c8b868e7f8b086c7b6d7e76a07ba81fa28bd093b2cb080bfffffd
+999afffffc6666fffffc6666fffffd999a1f7c5b83ffffe480007d5194fffff78000
+ff000f6666fffffc6666ff000b999aff0002999a080bab6fa76a6a6f6f6b6ba76fac
+1eaca7a7ab1f0b71a076a5a5a0a0a5a576a171717675711e0bf730f712f713f730f7
+30fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71ff704fb04fb1ffb
+1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b38076e737881748b66
+8b7fa08ba18baca59de9a2080ba08ba09895958c938791838e88888489878b088186
+9cb61fd907ee4ca0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92
+089ca297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a
+75a78b080b626e615a596eb4b5b6a6b6bfc1a35d631e0b42c650d4d4c5c6d4d551c6
+42425050411e0bfc7c067b7a7479819382971ff878069c9ea6979585967e1f0bff00
+088000ff001ab334ff00063334ff001f9998ff00044cccff0023b334fffffab334ff
+0003b33483ff00019998fffff54cccffffffb334080b8b6270715f85fffffd4ccdff
+fff6e668ffffff4ccdfffff49998ff00056666fffff9800093ff0001800090ff0000
+8000928b080ba3be87525455786e1f6b8bffffedb333ff00068000fffffa4ccdff00
+0b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2b332ffffe080
+00ff0050999afffff4b334ff001a3333dbd0b6d01f8bc55ca36a8e080ba89ba19b8b
+b108ff002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bff
+ffff33339dff0004cccd96ff00088000ff00138000ff00208000ff000480009c8b08
+b29880711f0ba7a5a5a7a771a56f6f71716f6fa571a71f0ba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+a4ce698b632b9185059b90958c9e8b080bfc5efd23b483f85ff923050b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffff744ccd2907ff00068000ff00118000ff00344cccff
+0049b333ff00273334ff00308000080b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff9800093ff0001800090ff00008000928b080b
+ffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4ccc08f72e4c
+05a0829988938b938b92928b938b9287918093080bfb1035057e8289868b848b8391
+84948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cceff00116668
+ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff0000b3347dff
+fff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff0009199aff
+0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad6daf080b78
+8bffffed4cccff0006b334fffff1b334ff000c4ccc080bffffed8000ff000fe668ff
+ffe88000ff001219986d8b608b74647d509185958a968d95ac959aa58b9c8bff0014
+8000fffffa3334ff00108000fffff2cccc080b9f7ba17ba18bb98ba8b297c7858f81
+8e808a087d618081758b080b71a175a5a5a1a1a5a575a171717575711e0ba99d756c
+6f7a726c6c7aa4a7a99ca2aa1f0ba2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00154cccff00393333
+05ff0054999aff00033332ff005f8002ff0029e666ff003a9998ff0051b33487947e
+95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108bc740a239968796
+8e959187bc83b983bf5d9057b1fb038bfb4f8bfb20fb2f8bfb488bffff64999aff00
+6d8000ffff7a9999ff00b9999afffff5800008ffffdbe666ffffa94ccd9185059b90
+958c9e8b080b71a175a5a5a1a1a5a575a1711e717575711f0bf805078bd89091f728
+8f91918ba585915a8affff97800089ffffd180008b5f8b228d598c85858b719185f7
+278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48cd98bff004d999a
+8bff004766668abd8a91918ba4859108fb268f84918bd8080bffffddccccfffff466
+68ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988938b938b
+92928b938b9287918093080b71a076a5a5a0a0a5a576a071717676711e0b878c858c
+868b698b747a8385088980f706fb01059b7c9286918b938b92918b908b928a928695
+080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc8b84
+9285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b868b
+858a888a080bfffff54ccc8efffff56668ffffff4cccfffff54cccfffffdb3346e5d
+5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668ff00
+08999aff0008199890920867b35fc06eba080b84fb1a05ffffff3334fffff0e666ff
+fff6ccccfffff7199a8184080b69754e6f668b488b72b68bad8bc3ff002e3333ff00
+2acccdff0054cccdff00103333080b71a076a5a5a0a0a5a576a1711e717675711f0b
+5db564b9bbb3b3b8ba61b15d5d61645d1e0b87957d99808c4c4a3e73588b08fb043b
+e7f70df709c7d6f11fd18bc4639258ff0004199affffe2199aff0015e666ffffede6
+66a38ba98b9cff001366668bff0025999a8bff00156666fffff3b334ff0017b334ff
+ffe94cccff0012e666ffffd5e666aeffffb58000a3ffffb6999a8bfb218bfb0afb00
+8bfb29088bffff88199aff00496666ffff9d4cccff0084199affffeb800008ffffda
+8000ffffa6199a9185059b90958c9e8b08a2957d7671767d6d1f778b808f70958484
+88848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff00
+39800005ff00066666ffffffb333ff00068000ffffffcccdff0006999a8bd28bdf9b
+e5f1080bbbdb6f2b1f8b8185fffff033347dffffffcccc080bf782078bff0043cccc
+99ff0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348b
+fffff4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7
+ccceffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef8000
+8f83ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff00098000
+7fff000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185b58c
+f72c8cb88bb58bf7218ab68a91918ba4859108558d269780937c95889e8bbb080b88
+8785818b998bff003d199afffffcb333ff0018999afffffb4ccdff000a4cccfffffd
+e666ff0004999afffffe199aff00036666838b080b6f806682468289858d7b8d85c1
+8696868b5108fb86078b3981fffffd199a45fffff9e66685858b729185b48cb28cb6
+8bb28ba28ab58a91918ba485915890828f8bdd08f753078ba094979394080bb1b0c3
+b5c88b9f8bff0013199afffff1e666ff000de666ffffea199a97788e6f8b6d08fb5b
+078b398187578686858b729085b58ca28cb38bb48bb08ab68a90918ba4869149ff00
+04199a80ff0004e6668bdd08f758078bc287bd71a8ffffed6666ff0014b334ffffe2
+999aff000d4ccc688b3b8b4b6a4e47080bffffb46666fb0b05fffff7e666fffff333
+34fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574
+a1ffffe666668cfffff9999a8b08868b858a888a080b9896a097918796811ffb7506
+8080777f848f80941f0b6f06846457755a8b568b5ca183b2086f069045c560d48bcd
+8bcbb591d2080b707f059936be59d18bc68bcbbc97e10870970581515d6b578b0855
+8b60b080c0080b6fa373a7a7a3a3a7a773a36f6f73736f1e0b6da66da6aaa6aaa3a7
+73ab6d706c706f1e0bb606a9adababb1a8087c9f05657b6b7866716aa4699e649c08
+7b7705af6fae6da966080bbd06a8b9b1b8aeb20878980566706972666569af6aa464
+a808777e05ae65b05ea85c080b6f06846457755a8b568b5ca183b2086f069045c560
+d48b08cd8bcbb591d2080b2d77d8d2d9a8b0d1dcb15b2e1f0b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b6e7678731f8b70a4829c889d8998878b778b7971735a808b
+828d829185c494bca98bc708bf73ad651e0b707f059936be59d18bc68bcbbc97e108
+70970581515d6b578b558b60b080c0080bf75a078bcf999b8ba38b918492848b808b
+3d8570865d8337835f8888838c7a8f83eb89ff0050b334fffff8b334ff00094cccff
+fff54ccc08987c8d818b7108fb6d07fb6d55644d1effffda80008bfffff24ccdff00
+0b999affffe0b333ff0020e666ffffec8000ff00148000ffffe6999aff00028000ff
+ffeae6667effffec80007ffffff93333ffffd5cccdff00234ccdffffeab333ff001a
+80007bc286bb8b08f707edbef7ab1f0b687b727b7a9573b3ff00183333ff0004cccd
+ff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e6
+68ff0010e666ff001519989b9f92a18ba308af74b0641e0bff001033347fff0015cc
+cc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668fffffeccccff
+fffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b94080bff00174c
+ccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000fb0205ffff
+fe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005999a8b8fff
+00038000ff000466668f08e3ff0050800005908f8d928b93080bff001299987aff00
+126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d8b8d8b8d8d
+08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000ffffeb199a
+1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d8d08f1f70d
+058f908c918b90080b8bff0036800088ff000e800086958990898e838b080b5fffff
+f880003dfffff38000468289858d7b8d85ff001780008bff0048800083958598838e
+7e8b6a08fb86078b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000
+fffff98000ffffae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e
+8ab68a91918ba4859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff
+00158000ff000eccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff38000
+9283967f9a7c9f8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb98000ff
+fff76666fffff6e666fffffe999aff0008199a8bac080bffffcd80008343fb4005ff
+ffef8000ffffd8b333fffffd4ccdffffff8000fffff61999ff0025cccd0855f76305
+7dff0035b334ff000c199aff00064cccbb8e91918ba48591ffffde4ccd8affffddb3
+338a678b658b6e8c768c85858b729185ad86ff00043333fffffd199aff000ee667ff
+ffc8e66608ff0064e666fc0a05ff0003999afffff13333ff00096666fffffacccd95
+8b948bff00063333ff0005e666ff0006cccdff0010199a08f6f790ff0004b33485ff
+00684cccfb8c05ff0005e6667dff0007199a85958b948bff0009199aff00054ccdff
+0003e666ff000fb33308ff00648000f80405ff000c9998b9ff0006e6689cb9909191
+8ba48591fffff04ccc8affffedb3348a678b658b698c6b8c85858b729185d687ff00
+004cccffffe8999afffff64cccffffdb666608ffffc06668fb8305fffff9b334ffff
+e84ccdfffffce666fffff9cccdfffff63332ff0019e666080b90c095c497bc848d80
+8e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199aff0006199aff00
+05e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b92868f838b080b7f8b
+6c896d8b08fb71060b5c8b2a8f668e87588155836495889489968b080ba0cdb1abd6
+8c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb24858389848b8408
+819087991ef80006a6ef898b1f0ba3ff00408000bcff0021b334bfff0000cccc08f7
+5c8e052cffff8e8000ffff7a6666ffff7c4ccdffffa7cccdffff936666ffffeb8000
+ffffe6cccdfffff0cccdfffff18000ffffe78000fffff1800089fffff2cccd8fffff
+f1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3348aafcb98b396ff00
+34800085ff000680007e907bff00018000086affffc6800005ffffe5199affffd133
+3364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73cff00b9e666f0ff0076
+8000ff00133334ff00168000ff0008ccccff000e80008b8f8b8f868e848b868b6589
+6e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f080bf7f407f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde080b78
+8bffffed4ccdff0006b334fffff1b333ff000c4ccc080b9c7bb454616a68757f937c
+9e949895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f
+807a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a0
+72727776721e0ba697057de058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18b
+b6669656080b687b727b7a9573b3ff00183334ff0004ccccff00069998ffffec6668
+1f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff001519
+9a9b9f92a18ba308af74b0641e0b6ca274aaaaa2a2aaaa74a26c6c74746c1e0bccf7
+2c470792859288918b928b928f959308e2070b998793771efb4d067b7c7e801f3307
+92889287938b08928b928e9392080b98959d97928792821ffb61067f817a7f848f83
+931f0b98959d97928792821ffbed067f817a7f848f83931f0b98959d97928792821f
+fb75067f817a7f848f83931f0bffffb46666fb0b05fffff7e667fffff33334fffffc
+b333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffffe6
+66668cfffff9999a8b868b858a888a080bf737077f8f8b8d828b848b8989818708fb
+390797878e89938b928b8a8d9691080bf71c8bf71cb0ebf707087a9d053e4e3d53fb
+588bfb548b31c346c8087a7905e5fb05f71464f72a8b080bf9730698989f97948893
+801ffd73067f7d777f838e82961f0bffffe5b334fffff5ccd0ffffede666fffff233
+30fffff1e666fffff0666808ff0076999affffc8800005ff00103333fffff81998ff
+000ab333fffffd6668ff000633348bff000633338bff00054ccdff000633348b928b
+ff0006333488ff00054cccfffff7800092080bffffa08002ffffb44ccc0581fffff8
+1998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006e6
+668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff006ee668
+ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664ff000b
+b334080bffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99
+988bfffff6199c080b72a076a4a4a0a0a4a476a072727676721e0bff00888000ffff
+b8999aff005a8000ffff7566661effffb3999a8bffffd1e666ffffdb8000ffffd480
+00ffffc780008887858b8b93080b9b7cb34b556f69767f927c9f9b9694971e8b9287
+90898e898d8a8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a506
+8da49a979d979c969b968ba1080bffffa93334ffffbb333005fffff6e668fffff8cc
+d0fffffe9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc
+8bff00064cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff
+002e666405fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab3
+34080bffffce99993205ffffee7fffffffeaccccffffee3333ffffeb9998fffff019
+9affffee6668918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668
+ff0008999aff000819989092ffffde8000ff00254cccffffd78000ff00306668ffff
+e33334ff002c800008ffffffb332ff0001333405ffffff8000ff00008000ffffff80
+00ff00009998ffffff8000ff00008000fffffe8000ff00026668fffffe8000ff0002
+4cccfffffe999aff00024cccfffffe199aff00008000fffffe3332ff00006668ffff
+fe199aff00004cccfffff3b334ff00081998fffff4b332ff00008000fffffc999a8b
+fffffc80008bfffffbccceffffff3334fffffde666ffffff3334080bfffffd3333ff
+0000ccccfffffbcccdff0000ccccfffffc80008bffffe833338bffffefe666fffff2
+6668fffffa6667fffffb333408fffffe999afffff73330ff004fcccdffffa8ccd005
+ff000b33337fff0004e66787ff000433338bff000599998bff0004e667ff0004cccc
+8b8f8bff00059998ffffff4ccdff0005999cfffffc800093080b616a68757f937c9e
+949895961f8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f80
+7a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b988b9ea48d968c948a94808b
+08fb7906808b7976897b89828e83958b080bb0a6a8ad1f8bb16c96758f748d80928b
+a78ba4bbc3c99b8b97839b83934d7e31498b370843ac58bb1e0b5b6b58431f8b37e5
+49c97e9393939b8b974d9b5bc38ba48ba79692a28da18fa9968bb108ad70a8661e0b
+c4b5dfbc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151
+383f1e0bc4b5dfbc99aa825754672f5379719abf1e0b808b7d848581083bfb230589
+8889868b8a8a839185938b8f8b908f8f8f08f707f70e0590908d908c908f9f799d77
+8b080b808b7d848581083bfb2305898889868b8a8a839185928b908b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b7c818280897f8a868c868d8708d8fb0f
+058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d8b8c8b8c8a8d086af725058a91888f
+868e868e868c868b858b84898588080b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e
+0ba68da68b1e90898d851e7b845c8371898a838c848f85080bab8996908b5608fb01
+078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8ba98a8f
+928b99879308698d7a8e8bb4080b6584695f6f63a2df1e8b918b938c90a09ca19199
+8b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e07fb2d805124
+8b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4c4f70ec0e608
+fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b080ba4a37d701f
+8b6e766f7b8208779505669f88a28b9a08a9a394a31e0ba87d05b3778c718b720862
+717f67736496b81e8badb2b29b94080bffff19ffff69ff00e60001060b8b43aa4be5
+51089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b44080b8bd25fd83e
+bc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8bd3080b8dff000066
+67ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c878a8508
+877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587950864e8
+05898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e088f9c898c
+058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787848283ff
+ffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff0033999aff00df
+80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a858a8508
+4ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e8f9d058c
+8f898c888b0884067e848e961f8b8f8c8f8c90080b887505958e958c928b938b8d87
+8b858b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2
+a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2
+a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a
+888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c
+908c9208aaf71705ff00014cccff00064ccdff0001199aff00061999ff0000e666ff
+0005b334ff00168000ff00151999ff0017b334ff0012cccdff001280008ba18b9981
+8b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3
+a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e
+998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3333ffffee6666ffff
+eeb333fffffe999aff0025199affffea666699ffffdf199a8b688b61687a7a0897bf
+7e8b05707f75856b87080bff00130001a2ad9da08b08aa9a7a581f2c07ff00000001
+628988698987838b7d8f84a98cff000733338bff0017cccc8bff00234cce8bff0005
+b3328ba98a8f918c9a8693638d838e8bb408f407ce73a4ffffd200011e678bffffd7
+4ccdffffec4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba789
+9888928a8e8a8e868b080b7a83768560858a878d7d8c87ff0020ffff88ff00090001
+868b63082007ff0000000162fffff2ffff88ffffd800018986838c7c8f85ff001dff
+ff8cff001700018ba28ba48b928ba98a8f928b998793698d888e8bb408ef07ff0000
+00019390948f90080b48fbb40586778a85738a088406878b8a898a89088778058baf
+8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c8f8c9008a2f005
+967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b707c737c0893aa8c
+907d8b050b717f75856a8708887505968e958c918b938b8e878b85088b878a858a85
+080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a8b74948bac8b92
+8c928d94080bc206918b948d8c90088f9d058c8d898d888b084b8ba1ea637e898005
+7f5c7c73648b08898a8a891f857305898c8b8d1eb18b61fb4b0589838a838b848b70
+9a80a18ba68ba393aaa608809c05797f80867b8b828b87908b978b948e988f9c080b
+5792fd27fd7dbf83050b6b565a5a798b6a8b92b291ae99cdd0efbf8b9e8b93738571
+8a827b5f7768080b89808977ac8bad8bad9ebcb4087a9c057a7a7c81848b888b898e
+8c928c918f94919808e5f7655a8b6d6905889e809a698b408bfb1025772684669452
+cf8ba18bad98aea78a888a878b88080b85686b67618b618b7aaf92ae91aeaab1b68b
+b88b9962846b080b8154af5ec28bc28bc0b896c295c267b8548b548b565e8054080b
+c68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989ad59deac9c4b58b918b99878777
+8878898d887e89808f7fa78b08958bab9390a492ab7ab0438b3b8b203975fb008362
+aa49cc8b080b83617868726f6c69587a408b08598bc4f7bc05a490a78eaf8b08c88b
+d66d74fb0a080bff00733334ff024e8000ff000ee666ff00008000058d8c8d8b8e8b
+a58b8c7a856e082afc8a05856f867b628b080b8b6270715f85fffffd4cccfffff6e6
+66ffffff4ccefffff4999aff00056666fffff9800093ff0001800090ff0000800092
+8b080ba3be87525455786e1f6b8bffffedb334ff00068000fffffa4cccff000b8000
+859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe08000ff00
+509998fffff4b333ff001a3334dbd0b6d01f8bc55ca36a8e080ba89ba19b8bb108ff
+002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bffffff33
+349dff0004cccc96ff00088000ff00138000ff00208000ff000480009c8b08b29880
+711f0b627a685e1e758b80928294839383927e8b08817f837e73c77eadd0bcc0c7c1
+67bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378b75fb239188059992a092a1
+8b08d38e506d1f0bff000e000192a092a18b08d38e506d1f0bb35ca65e565b6e5e1e
+8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79a46c9c08
+64a005c6ad8fa98b9a080bd9b2fb058606fb39fd40fb0ef767056971617166780898
+6fcba5f720fb85b19f050bd31c047443060bfc62d3f81af768d3070bf7b0d3fb68f8
+aa43060bf8f243fcaafb6843070b8a8a8b28ef8b8bee8a8c050b8b298c8aed8b8c8c
+8bed8a8c298b050b27ee078c8c8bed8a8c050b8a8a8b298c8aee8b8bef050b8b288c
+8aed8b8c8c8bee050b7d96809998979699997f967e7d80807d1e0b7d968099999696
+999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bea0695988f
+941f9f078f888d871e0bfb03f7140652778b78054b6f72511e2f066e799eaa1ff7fa
+07a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f
+888f1ea606b29a7d6d1ffc0b070bd98af73f8b8bfb830543a570ba1eb88bb4a1b1b6
+08799d0571777883718b087084a9c91f0b4ffb970585718880867c08978705929295
+949393967da281a78bc98bd0d09cd58e998d998b998bbc74b25b8b738b7282707b08
+aaf7197d8b05717f75856a8708887505968e958c918b948b8d878b858b878a858a85
+080ba39b9891a48ba18b9c768b628b7d897b8678762e607f758b7a8b74948bac8b92
+8c938d93080b398b50437a42877d8a7d8b7e8b56a763cd8bb68bafa3abae087c9b05
+73757376678b768b789a82a288938a958b968b978d998e989ddcbbaca98ba78b917d
+8b7b088b868a868b850888077d9585971e988b9994909f8b8f8c8f8b8f8ba871a556
+8b080b72767981768b728b789a8bb78b9b8d9e91a29cd5aca6ab8ba48b9b77967808
+0ba598a290ab8f088ea1058088818a858b838b888f8b918b908c908d9108d4f7cf7d
+8b05717f74856c8708877505968e958c918b938b8e878b858b878a858985087d4c05
+80997592728b418b563d7c4b887d8a7f8b7f080b54ab69bf1ea28ba498a19b080b87
+798381778b088006888b898a8a8708877a8c8a058bb38ca0a2bf8a8b1e8c8c8f9c05
+8f898c891e77067d8591961f8b8e8c8f8b8f08aff72ec38b05918b938d8d91088f9d
+058d8a8c881e4a8b8d9505a1eaa4969f8b9c8b93848e778e809283978b968b98968e
+978b8d8c8d8b8d8b9486948392087f967d91758b598b4e5e752b086c06818b87848a
+8608877d05898b8a8d1eb4060b968b98958e99088f07968295761e758b7982777908
+0b83917b946f8b598b50687e528a848a858b858b74947d957e787c77728676080b8b
+878a888b888b7a957f96856977727185718a858a858b868b63b580b18bd78be6aa9a
+ce088c908c908b8f8b998696819678a1658f768b828b7b897e8a838a838a888b7e8b
+7c8f8b9c088b8e8b8e8c8f8e988f96949597839b87a28bbc8bc5aa98c7080b8d938c
+928b918b9c859782998f919393928b938b90888c85088c849086958b080b90889388
+938b918b948c948b938c928b908ba78b9d859982080b9c8192858b818b888b898a88
+815e4e84598b788b608e8bae8b8f8c8f8c8f90a0919ba19d080b6a82a0a41f8b958c
+968e9596bb9f9bab8ba68b9a7d8b6d8b8289818980080b72767d84768b728b75998b
+ba8b998d9d90a09cd5aca6ab8ba48b9b779678080b6d7305809c74946f8b418b563d
+7c4b887e8a7f8b808b54ae69c18ba18ba096a19b0872fb0005857582867b8b088106
+888b888a8a87088779058bb28ca4a2ae8a8b1e909e058d8b8d871e84067b8c878e8b
+928b8f8c908d9208daf7ed8b8f058e8a8d891e888b83868888080b8a8c058b7e8a83
+74678c8b1e8a8a877a058a898b88908b08910699918a801f8b888b868985086dfb18
+05877d8a7e8b818b64a07bae8bad8bb5ae9c9c088057988b050ba598a290ab8f088e
+a1058088818a858b838b888f8b918b908c908d9108baf7628a8c058b7e8a8273658c
+8b1e8a8a877a058a878e8a8d8b0895069892887f1f8b888a878a87086afb25050b73
+757275768b758b7d948ba78b938c958e97080b8c848f85908b918b958e929608f715
+f75c05a0ab968f988b8e8b8f8c8c8f088f9c8a8c058b768a79766a8c8b1e8a8a877a
+05898c888d9d9489821e88078986888585820829fb2a6ff72d058a928b908c908d95
+938f938b0895068e8e8d8e1f8f9c8a8c558a0579668c8b1f8a8a877a058a878d8a8e
+8b9d8b8f869168080b82868f8e1f7706846f82707e6d08a08a05a1b7a0919d8b08d5
+8bfb52fb6e05898984858b8508888f88931ef75106929e98a89eaf08778f7f7a0576
+6a7f83698b08448bf74df766059b9e8d8f8b8d088c078c8e878b888b898b6f89798b
+080b>
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+ /Author (Gunnar Ritter)
+ /Title (Font Handling in Troff With PostScript Devices)
+/DOCINFO pdfmark
+[ /Title (Title)
+ /Dest /Bookmark$0
+/OUT pdfmark
+[ /Title (The basics)
+ /Dest /Bookmark$1
+/OUT pdfmark
+[ /Title (Installing PostScript Type 1 fonts)
+ /Dest /Bookmark$2
+/OUT pdfmark
+[ /Title (Installing OpenType or TrueType fonts)
+ /Dest /Bookmark$3
+/OUT pdfmark
+[ /Title (Using OpenType features)
+ /Dest /Bookmark$4
+/OUT pdfmark
+[ /Title (Using fonts with old-style numerals)
+ /Dest /Bookmark$5
+/OUT pdfmark
+[ /Title (Using fonts with small capital letters)
+ /Dest /Bookmark$6
+/OUT pdfmark
+[ /Title (Using a combination of expert and standard fonts for small \
+capitals)
+ /Dest /Bookmark$7
+/OUT pdfmark
+[ /Title (Using a combination of expert and standard fonts for old-st\
+yle numerals)
+ /Dest /Bookmark$8
+/OUT pdfmark
+[ /Title (Using the expert font for both small capitals and old-style\
+ numerals)
+ /Dest /Bookmark$9
+/OUT pdfmark
+[ /Title (Using the expert font for ligatures)
+ /Dest /Bookmark$10
+/OUT pdfmark
+[ /Title (Defining additional ligatures)
+ /Dest /Bookmark$11
+/OUT pdfmark
+[ /Title (Choosing between multiple possible ligatures)
+ /Dest /Bookmark$12
+/OUT pdfmark
+[ /Title (Combining different fonts)
+ /Dest /Bookmark$13
+/OUT pdfmark
+[ /Title (Spacing out individual words)
+ /Dest /Bookmark$14
+/OUT pdfmark
+[ /Title (Setting text in all-capital letters)
+ /Dest /Bookmark$15
+/OUT pdfmark
+[ /Title (Pairwise kerning)
+ /Dest /Bookmark$16
+/OUT pdfmark
+[ /Title (Kerning of a character in any combination)
+ /Dest /Bookmark$17
+/OUT pdfmark
+[ /Title (Hanging characters)
+ /Dest /Bookmark$18
+/OUT pdfmark
+[ /Title (Mathematical and other special characters)
+ /Dest /Bookmark$19
+/OUT pdfmark
+[ /Title (Helper utilities)
+ /Dest /Bookmark$20
+/OUT pdfmark
+[ /Title (Limitations)
+ /Dest /Bookmark$21
+/OUT pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /pilcrow /periodcentered
+/cedilla /one.superior /ordmasculine /guillemotright /questiondown
+/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex
+/Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde
+/Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis
+/Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde
+/adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex
+/edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde
+/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash
+/ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+/Amacron /amacron /Abreve /abreve /Aogonek /aogonek /Cacute /cacute
+/Ccircumflex /ccircumflex /Cdotaccent /cdotaccent /Ccaron /ccaron
+/Dcaron /dcaron /Dcroat /dcroat /Emacron /emacron /Ebreve /ebreve
+/Edotaccent /edotaccent /Eogonek /eogonek /Ecaron /ecaron /Gcircumflex
+/gcircumflex /Gbreve /gbreve /Gdotaccent /gdotaccent /Gcommaaccent
+/gcommaaccent /Hcircumflex /hcircumflex /Hbar ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/LinLibertineO-@11 exch definefont pop
+/@11 /LinLibertineO-@11 def
+/&11 {@11 F} bind def
+/Encoding-@11@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /eturned /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@1 def
+ currentdict
+end
+/LinLibertineO-@11@1 exch definefont pop
+/@11@1 /LinLibertineO-@11@1 def
+/&11@1 {@11@1 F} bind def
+/Encoding-@11@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /dotlessj /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0242
+/uni0243 /uni0244 /uni0245 /uni0246 /uni0247 /uni0248 /uni0249
+/uni024A /uni024B /uni024C /uni024D /uni024E /uni024F /aturned
+/uni0251 /uni0252 /uni0253 /cturned /uni0255 /uni0256 /uni0257
+/uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D /uni025E
+/uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264 /uni0265
+/hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B /uni026C
+/uni026D /uni026E /mturned /uni0270 /uni0271 /uni0272 /uni0273
+/uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned /uni027A
+/rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap /Rsmallinverted
+/uni0282 /uni0283 /uni0284 /uni0285 /uni0286 /uni0287 /uni0288
+/uni0289 /uni028A /uni028B /uni028C /uni028D /uni028E /uni028F
+/uni0290 /uni0291 /uni0292 /uni0293 /uni0294 /glottalstopreversed
+/uni0296 /uni0297 /uni0298 /uni0299 /uni029A /uni029B /uni029C
+/uni029D /uni029E /uni029F /uni02A0 /uni02A1 /uni02A2 /uni02A3
+/uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8 /uni02A9 /uni02AA
+/uni02AB /uni02AC /uni02AD /uni02AE /uni02AF /h.superior /hhook.superior
+/j.superior /r.superior /rturned.superior /rhookturned.superior
+/Rsmallinverted.superior /w.superior /y.superior /uni02B9 /uni02BA
+/uni02BB /afii57929 /afii64937 /uni02BE /uni02BF /uni02C0 /uni02C1
+/uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron /uni02C8 /uni02C9
+/uni02CA /uni02CB /uni02CC /uni02CD /uni02CE /uni02CF /uni02D0
+/uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5 /uni02D6 /uni02D7
+/breve /dotaccent /ogonek /hungarumlaut /uni02DE /uni02DF /gammalatin.superior
+/l.superior /s.superior /x.superior /glottalstopreversed.superior
+/uni02E5 /uni02E6 /uni02E7 /uni02E8 /uni02E9 /uni02EA /uni02EB
+/uni02EC /uni02ED /uni02EE /uni02EF /uni02F0 /uni02F1 /uni02F2
+/uni02F3 /uni02F4 /uni02F5 /uni02F6 /uni02F7 /uni02F8 /uni02F9
+/uni02FA /uni02FB /uni02FC /uni02FD /uni02FE /uni02FF /gravecomb
+/acutecomb /circumflexcomb /tildecomb /macroncomb /uni0305 /brevecomb
+/uni0307 /uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D
+/uni030E /uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314
+/uni0315 /uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B
+/uni031C /uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322
+/dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329
+] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@2 def
+ currentdict
+end
+/LinLibertineO-@11@2 exch definefont pop
+/@11@2 /LinLibertineO-@11@2 def
+/&11@2 {@11@2 F} bind def
+/Encoding-@11@3 [
+/uni032A /uni032B /uni032C /uni032D /uni032E /uni032F /uni0330
+/uni0331 /uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337
+/uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E
+/uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345
+/uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C
+/uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni0374
+/uni0375 /uni037A /uni037B /uni037C /uni037D /uni037E /tonos
+/dieresistonos /Alphatonos /anoteleia /Epsilontonos /Etatonos
+/Iotatonos /Omicrontonos /Upsilontonos /Omegatonos /iotadieresistonos
+/Alpha /Beta /Gamma /Delta /Epsilon /Zeta /Eta /Theta /Iota /Kappa
+/Lambda /Mu /Nu /Xi /Omicron /Pi /Rho /Sigma /Tau /Upsilon /Phi
+/Chi /Psi /Omega /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos
+/etatonos /iotatonos /upsilondieresistonos /alpha /beta /gamma
+/delta /epsilon /zeta /eta /theta /iota /kappa /lambda /mu /nu
+/xi /omicron /pi /rho /sigma1 /sigma /tau /upsilon /phi /chi
+/psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos
+/omegatonos /uni03D0 /theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1
+/omega1 /uni03D7 /uni03D8 /uni03D9 /uni03DA /uni03DB /uni03DC
+/uni03DD /uni03DE /uni03DF /uni03E0 /uni03E1 /uni03F0 /uni03F1
+/uni03F2 /uni03F3 /uni03F4 /uni03F5 /uni03F6 /uni03F8 /uni03F9
+/uni03FB /uni03FD /uni03FE /uni03FF /uni0400 /afii10023 /afii10051
+/afii10052 /afii10053 /afii10054 /afii10055 /afii10056 /afii10057
+/afii10058 /afii10059 /afii10060 /afii10061 /uni040D /afii10062
+/afii10145 /afii10017 /afii10018 /afii10019 /afii10020 /afii10021
+/afii10022 /afii10024 /afii10025 /afii10026 /afii10027 /afii10028
+/afii10029 /afii10030 /afii10031 /afii10032 /afii10033 /afii10034
+/afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040
+/afii10041 /afii10042 /afii10043 /afii10044 /afii10045 /afii10046
+/afii10047 /afii10048 /afii10049 /afii10065 /afii10066 /afii10067
+/afii10068 /afii10069 /afii10070 /afii10072 /afii10073 /afii10074
+/afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
+/afii10081 /afii10082 /afii10083 /afii10084 /afii10085 /afii10086
+/afii10087 /afii10088 /afii10089 /afii10090 /afii10091 /afii10092
+/afii10093 /afii10094 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@3 def
+ currentdict
+end
+/LinLibertineO-@11@3 exch definefont pop
+/@11@3 /LinLibertineO-@11@3 def
+/&11@3 {@11@3 F} bind def
+/Encoding-@11@4 [
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 /afii10107 /afii10108 /afii10109 /uni045D /afii10110
+/afii10193 /uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465
+/uni0466 /uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C
+/uni046D /uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195
+/afii10148 /afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E
+/uni047F /uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050
+/afii10098 /uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497
+/uni0498 /uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E
+/uni049F /uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5
+/uni04A6 /uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC
+/uni04AD /uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3
+/uni04B4 /uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA
+/uni04BB /uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1
+/uni04C2 /uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA
+/uni04CB /uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4
+/uni04D5 /uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB
+/uni04DC /uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2
+/uni04E3 /uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9
+/uni04EA /uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0
+/uni04F1 /uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7
+/uni04F8 /uni04F9 /afii57799 /afii57801 /afii57800 /afii57802
+/afii57793 /afii57794 /afii57795 /afii57798 /afii57797 /afii57806
+/uni05BA /afii57796 /afii57807 /afii57839 /afii57645 /afii57841
+/afii57842 /afii57804 /afii57803 /afii57658 /uni05C6 /afii57664
+/afii57665 /afii57666 /afii57667 /afii57668 /afii57669 /afii57670
+/afii57671 /afii57672 /afii57673 /afii57674 /afii57675 /afii57676
+/afii57677 /afii57678 /afii57679 /afii57680 /afii57681 /afii57682
+/afii57683 /afii57684 /afii57685 /afii57686 /afii57687 /afii57688
+/afii57689 /afii57690 /afii57716 /afii57717 /afii57718 /uni05F3
+/uni05F4 /uni1D15 /a.superior /aturned.superior /uni1D45 /uni1D46
+/b.superior /d.superior /e.superior /eturned.superior /uni1D4B
+/uni1D4C /g.superior /iturned.superior /k.superior /m.superior
+/eng.superior /o.superior /cturned.superior /uni1D54 /uni1D55
+/p.superior /t.superior /u.superior /uni1D59 /mturned.superior
+/v.superior /uni1D5C /uni1D5D /uni1D5E /uni1D5F /uni1D62 /uni1D63
+/uni1D64 /uni1D65 /uni1D66 /uni1D67 /c.superior /f.superior /z.superior
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@4 def
+ currentdict
+end
+/LinLibertineO-@11@4 exch definefont pop
+/@11@4 /LinLibertineO-@11@4 def
+/&11@4 {@11@4 F} bind def
+/Encoding-@11@5 [
+/uni1E0B /uni1E0C /uni1E0D /uni1E0E /uni1E0F /uni1E10 /uni1E11
+/uni1E12 /uni1E13 /uni1E14 /uni1E15 /uni1E16 /uni1E17 /uni1E18
+/uni1E19 /uni1E1A /uni1E1B /uni1E1C /uni1E1D /uni1E1E /uni1E1F
+/uni1E20 /uni1E21 /uni1E22 /uni1E23 /uni1E24 /uni1E25 /uni1E26
+/uni1E27 /uni1E28 /uni1E29 /uni1E2A /uni1E2B /uni1E2C /uni1E2D
+/uni1E2E /uni1E2F /uni1E30 /uni1E31 /uni1E32 /uni1E33 /uni1E34
+/uni1E35 /uni1E36 /uni1E37 /uni1E38 /uni1E39 /uni1E3A /uni1E3B
+/uni1E3C /uni1E3D /uni1E3E /uni1E3F /uni1E40 /uni1E41 /uni1E42
+/uni1E43 /uni1E44 /uni1E45 /uni1E46 /uni1E47 /uni1E48 /uni1E49
+/uni1E4A /uni1E4B /uni1E4C /uni1E4D /uni1E4E /uni1E4F /uni1E50
+/uni1E51 /uni1E52 /uni1E53 /uni1E54 /uni1E55 /uni1E56 /uni1E57
+/uni1E58 /uni1E59 /uni1E5A /uni1E5B /uni1E5C /uni1E5D /uni1E5E
+/uni1E5F /uni1E60 /uni1E61 /uni1E62 /uni1E63 /uni1E64 /uni1E65
+/uni1E66 /uni1E67 /uni1E68 /uni1E69 /uni1E6A /uni1E6B /uni1E6C
+/uni1E6D /uni1E6E /uni1E6F /uni1E70 /uni1E71 /uni1E72 /uni1E73
+/uni1E74 /uni1E75 /uni1E76 /uni1E77 /uni1E78 /uni1E79 /uni1E7A
+/uni1E7B /uni1E7C /uni1E7D /uni1E7E /uni1E7F /Wgrave /wgrave
+/Wacute /wacute /Wdieresis /wdieresis /uni1E86 /uni1E87 /uni1E88
+/uni1E89 /uni1E8A /uni1E8B /uni1E8C /uni1E8D /uni1E8E /uni1E8F
+/uni1E90 /uni1E91 /uni1E92 /uni1E93 /uni1E94 /uni1E95 /uni1E96
+/uni1E97 /uni1E98 /uni1E99 /uni1E9A /uni1E9B /uni1E9C /uni1E9D
+/Germandbls /uni1E9F /uni1EA0 /uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4
+/uni1EA5 /uni1EA6 /uni1EA7 /uni1EA8 /uni1EA9 /uni1EAA /uni1EAB
+/uni1EAC /uni1EAD /uni1EAE /uni1EAF /uni1EB0 /uni1EB1 /uni1EB2
+/uni1EB3 /uni1EB4 /uni1EB5 /uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9
+/uni1EBA /uni1EBB /uni1EBC /uni1EBD /uni1EBE /uni1EBF /uni1EC0
+/uni1EC1 /uni1EC2 /uni1EC3 /uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7
+/uni1EC8 /uni1EC9 /uni1ECA /uni1ECB /uni1ECC /uni1ECD /uni1ECE
+/uni1ECF /uni1ED0 /uni1ED1 /uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5
+/uni1ED6 /uni1ED7 /uni1ED8 /uni1ED9 /uni1EDA /uni1EDB /uni1EDC
+/uni1EDD /uni1EDE /uni1EDF /uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3
+/uni1EE4 /uni1EE5 /uni1EE6 /uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA
+/uni1EEB /uni1EEC /uni1EED /uni1EEE /uni1EEF /uni1EF0 /uni1EF1
+/Ygrave /ygrave /uni1EF4 /uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8
+/uni1EF9 /uni1EFA /uni1EFB /uni1EFC /uni1EFD /uni1EFE /uni1EFF
+/uni1F00 /uni1F01 /uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06
+/uni1F07 /uni1F08 /uni1F09 /uni1F0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@5 def
+ currentdict
+end
+/LinLibertineO-@11@5 exch definefont pop
+/@11@5 /LinLibertineO-@11@5 def
+/&11@5 {@11@5 F} bind def
+/Encoding-@11@6 [
+/uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F /uni1F10 /uni1F11
+/uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18 /uni1F19 /uni1F1A
+/uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21 /uni1F22 /uni1F23
+/uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28 /uni1F29 /uni1F2A
+/uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F /uni1F30 /uni1F31
+/uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36 /uni1F37 /uni1F38
+/uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D /uni1F3E /uni1F3F
+/uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44 /uni1F45 /uni1F48
+/uni1F49 /uni1F4A /uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51
+/uni1F52 /uni1F53 /uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59
+/uni1F5B /uni1F5D /uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63
+/uni1F64 /uni1F65 /uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A
+/uni1F6B /uni1F6C /uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71
+/uni1F72 /uni1F73 /uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78
+/uni1F79 /uni1F7A /uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81
+/uni1F82 /uni1F83 /uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88
+/uni1F89 /uni1F8A /uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F
+/uni1F90 /uni1F91 /uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96
+/uni1F97 /uni1F98 /uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D
+/uni1F9E /uni1F9F /uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4
+/uni1FA5 /uni1FA6 /uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB
+/uni1FAC /uni1FAD /uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2
+/uni1FB3 /uni1FB4 /uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA
+/uni1FBB /uni1FBC /uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1
+/uni1FC2 /uni1FC3 /uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9
+/uni1FCA /uni1FCB /uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0
+/uni1FD1 /uni1FD2 /uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9
+/uni1FDA /uni1FDB /uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1
+/uni1FE2 /uni1FE3 /uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8
+/uni1FE9 /uni1FEA /uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF
+/uni1FF2 /uni1FF3 /uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9
+/uni1FFA /uni1FFB /uni1FFC /uni1FFD /uni1FFE /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /pertenthousand /minute /second /primetriple
+/primereversed ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@6 def
+ currentdict
+end
+/LinLibertineO-@11@6 exch definefont pop
+/@11@6 /LinLibertineO-@11@6 def
+/&11@6 {@11@6 F} bind def
+/Encoding-@11@7 [
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C /uni20A2 /franc /lira /peseta /uni20A8 /dong
+/Euro /uni20AF /peso /uni2100 /uni2101 /uni2102 /centigrade /afii61248
+/uni2106 /fahrenheit /uni210C /uni210D /uni210E /uni210F /Ifraktur
+/afii61289 /uni2115 /numero /uni2119 /uni211A /Rfraktur /uni211D
+/uni2120 /trademark /uni2124 /uni2126 /Omegainv /estimated /aleph
+/uni2136 /uni2137 /uni2138 /uni2139 /uni214F /onethird /twothirds
+/onefifth /twofifths /threefifths /fourfifths /onesixth /fivesixths
+/oneeighth /threeeighths /fiveeighths /seveneighths /onenumerator
+/Oneroman /Tworoman /Threeroman /Fourroman /Fiveroman /Sixroman
+/Sevenroman /Eightroman /Nineroman /Tenroman /Elevenroman /Twelveroman
+/uni216C /uni216D /uni216E /uni216F /oneroman /tworoman /threeroman
+/fourroman /fiveroman /sixroman /sevenroman /eightroman /nineroman
+/tenroman /elevenroman /twelveroman /uni217C /uni217D /uni217E
+/uni217F /uni2180 /uni2181 /uni2182 /uni2183 /uni2184 /arrowleft
+/arrowup /arrowright /arrowdown /arrowboth /arrowupdn /uni2196
+/uni2197 /uni2198 /uni2199 /uni219A /uni219B /uni21A6 /arrowupdnbse
+/uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1 /uni21CB /uni21CC
+/uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup /arrowdblright
+/arrowdbldown /arrowdblboth /uni21D5 /Nwarrow /Nearrow /Searrow
+/Swarrow /universal /uni2201 /partialdiff /existential /uni2204
+/emptyset /uni2206 /gradient /element /notelement /uni220A /suchthat
+/uni220C /uni220D /product /uni2210 /summation /minus /uni2213
+/uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219 /radical
+/uni221B /uni221C /proportional /infinity /uni221F /angle /uni2221
+/uni2222 /uni2223 /uni2224 /uni2225 /uni2226 /logicaland /logicalor
+/intersection /union /integral /uni222C /uni222D /uni222E /uni2236
+/similar /uni2241 /congruent /approxequal /uni2249 /uni2259 /notequal
+/equivalence /uni2262 /lessequal /greaterequal /uni226A /uni226B
+/uni226E /uni226F /uni2270 /uni2271 /propersubset /propersuperset
+/notsubset /uni2285 /circleplus /uni2296 /circlemultiply /uni2298
+/uni22A2 /uni22A3 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@7 def
+ currentdict
+end
+/LinLibertineO-@11@7 exch definefont pop
+/@11@7 /LinLibertineO-@11@7 def
+/&11@7 {@11@7 F} bind def
+/Encoding-@11@8 [
+/uni22A4 /perpendicular /uni22A6 /uni22B6 /uni22B7 /dotmath /uni22EE
+/uni22EF /uni2300 /uni2302 /uni2303 /uni2310 /integraltop /integralbottom
+/uni2326 /uni2327 /uni2329 /uni232A /uni232B /uni237D /uni2380
+/uni239B /uni239C /uni239D /uni239E /uni239F /uni23A0 /uni23A1
+/uni23A2 /uni23A3 /uni23A4 /uni23A5 /uni23A6 /uni23A7 /uni23A8
+/uni23A9 /uni23AA /uni23AB /uni23AC /uni23AD /integralextension
+/uni23D3 /uni2423 /uni2460 /uni2461 /uni2462 /uni2463 /uni2464
+/uni2465 /uni2466 /uni2467 /uni2468 /uni2469 /uni246A /uni246B
+/uni246C /uni246D /uni246E /uni246F /uni2470 /uni2471 /uni2472
+/uni2473 /uni2474 /uni2475 /uni2476 /uni2477 /uni2478 /uni2479
+/uni247A /uni247B /uni247C /uni247D /uni247E /uni247F /uni2480
+/uni2481 /uni2482 /uni2483 /uni2484 /uni2485 /uni2486 /uni2487
+/uni24B6 /uni24B7 /uni24B8 /uni24B9 /uni24BA /uni24BB /uni24BC
+/uni24BD /uni24BE /uni24BF /uni24C0 /uni24C1 /uni24C2 /uni24C3
+/uni24C4 /uni24C5 /uni24C6 /uni24C7 /uni24C8 /uni24C9 /uni24CA
+/uni24CB /uni24CC /uni24CD /uni24CE /uni24CF /uni24D0 /uni24D1
+/uni24D2 /uni24D3 /uni24D4 /uni24D5 /uni24D6 /uni24D7 /uni24D8
+/uni24D9 /uni24DA /uni24DB /uni24DC /uni24DD /uni24DE /uni24DF
+/uni24E0 /uni24E1 /uni24E2 /uni24E3 /uni24E4 /uni24E5 /uni24E6
+/uni24E7 /uni24E8 /uni24E9 /uni24EA /uni24EB /uni24EC /uni24ED
+/uni24EE /uni24EF /uni24F0 /uni24F1 /uni24F2 /uni24F3 /uni24F4
+/uni24F5 /uni24F6 /uni24F7 /uni24F8 /uni24F9 /uni24FA /uni24FB
+/uni24FC /uni24FD /uni24FE /uni24FF /filledbox /H22073 /triagup
+/uni25B3 /uni25B6 /uni25B7 /triagdn /uni25BD /uni25C0 /uni25C1
+/uni25C6 /uni25C7 /uni25C9 /lozenge /bigcircle /uni25CE /H18533
+/uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4 /uni25D5 /uni25D6
+/uni25D7 /openbullet /uni2605 /uni2609 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /uni263C /uni263D
+/uni263E /uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645
+/uni2646 /uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C
+/uni264D /uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /uni2695 /uni2698 /uni26A2
+/uni26A3 /uni26A4 /uni26A5 /uni26A6 /uni26A7 /uni26AC /married
+/divorced /uni26AF /uni2714 /uni2718 /died /uni2767 /uni2776
+/uni2777 /uni2778 /uni2779 /uni277A /uni277B /uni277C /uni277D
+/uni277E /uni277F /uni27C2 /uni27E6 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@8 def
+ currentdict
+end
+/LinLibertineO-@11@8 exch definefont pop
+/@11@8 /LinLibertineO-@11@8 def
+/&11@8 {@11@8 F} bind def
+/Encoding-@11@9 [
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C6E /uni2C6F /uni2C74 /uni2C75 /uni2C76
+/uni2C77 /uni2E02 /uni2E03 /uni2E04 /uni2E05 /uni2E08 /uni2E09
+/uni2E0A /uni2E17 /uni2E18 /uniA656 /uniA657 /uniA71D /uniA720
+/uniA721 /uniA765 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005
+/uniE006 /uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /copyleft
+/publicdomain /creativecommons /zero.slashfitted /zero.fitted
+/one.fitted /two.fitted /three.fitted /four.fitted /five.fitted
+/six.fitted /seven.fitted /eight.fitted /nine.fitted /Euro.fitted
+/Yen.fitted /uniE01C /a.alt /uniE01E /perthousandzero /zero.oldstyle
+/one.oldstyle /two.oldstyle /three.oldstyle /four.oldstyle /five.oldstyle
+/six.oldstyle /seven.oldstyle /eight.oldstyle /nine.oldstyle
+/uniE02A /Adieresis.alt /Odieresis.alt /Udieresis.alt /W.alt
+/f_b /f_f_h /f_f_j /f_f_k /f_f_t /f_h /f_j /f_k /f_t /c_k /c_h
+/t_t /c_t /longs_i /longs_longs /uniE040 /uniE041 /uniE042 /longs_l
+/longs_longs_i /longs_s /ae.alt /longs_h /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /Germandbls.alt /uniE04F /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /uniE06B /hyphen.sc /agrave.sc /aacute.sc
+/acircumflex.sc /atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc
+/egrave.sc /eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc
+/iacute.sc /icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc
+/oacute.sc /ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc
+/ugrave.sc /uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc
+/thorn.sc /ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc
+/Q_u.sc /q.sc_u.sc /dcroat.sc /abreve.sc /aogonek.sc /cacute.sc
+/ccaron.sc /dcaron.sc /eogonek.sc /ecaron.sc /gbreve.sc /lacute.sc
+/lslash.sc /nacute.sc /ncaron.sc /eng.sc /ohungarumlaut.sc /racute.sc
+/rcaron.sc /sacute.sc /scedilla.sc /scaron.sc /tcedilla.sc /tbar.sc
+/uring.sc /uhungarumlaut.sc /zacute.sc /zdotaccent.sc /zcaron.sc
+/lcaron.sc /tcaron.sc /tcommaaccent.sc /scommaaccent.sc /idotaccent.sc
+/ampersand.sc /a.scalt /q.superior /gravecomb.sups /acutecomb.sups
+/circumflexcomb.sups /tildecomb.sups /macroncomb.sups /f.short
+/f_f.short /uniE0E2 /uniE0E3 /uniE0E4 /uniE0E5 /uniE0E6 /uniE0E7
+/uniE0E8 /uniE0E9 /uniE0EA /K.alt /R.alt /J.alt /uniE0EE /uniE0EF
+/uniE0F0 /w.alt /uniE0F2 /uniE0F3 /uniE0F4 /uniE0F5 /y.alt /A.alt
+/uniE0F9 /uniE0FB /kreis /uniE101 /uniE104 /uniE105 /uniE106
+/uniE107 /zero.cap /one.cap /two.cap ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@9 def
+ currentdict
+end
+/LinLibertineO-@11@9 exch definefont pop
+/@11@9 /LinLibertineO-@11@9 def
+/&11@9 {@11@9 F} bind def
+/Encoding-@11@10 [
+/three.cap /four.cap /five.cap /six.cap /seven.cap /eight.cap
+/nine.cap /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE128
+/uniE129 /uniE12A /uniE130 /leaf /uniE13B /uniE13C /uniE13D /b.inferior
+/c.inferior /d.inferior /f.inferior /g.inferior /h.inferior /i.inferior
+/j.inferior /k.inferior /l.inferior /m.inferior /n.inferior /p.inferior
+/q.inferior /r.inferior /s.inferior /t.inferior /u.inferior /v.inferior
+/w.inferior /y.inferior /z.inferior /uniE188 /uniE189 /afii10086.alt
+/uniE19D /grave.cap /acute.cap /circumflex.cap /caron.cap /breve.cap
+/hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap /breve.cyrcap
+/breve.cyr /dieresis.cap /hookabovecomb.cap /dotaccent.cap /uniE3E0
+/uniE3E1 /uniE3E2 /uniE3E3 /uniE3E4 /uniE3E5 /uniE3E6 /uniE3E7
+/uniE3E8 /uniE3E9 /uniE3EA /uniE3EB /uniE3EC /uniE3ED /uniE3F0
+/uniE3F1 /uniE3F2 /uniE3F3 /metric /zero.slash /parenleft.sc
+/parenright.sc /bracketleft.sc /bracketright.sc /braceleft.sc
+/braceright.sc /exclamdown.sc /questiondown.sc /guillemotleft.sc
+/guillemotright.sc /guilsinglleft.sc /guilsinglright.sc /hyphen.cap
+/uniF6BE /afii10066.ital /longs_t /s_t /uniFFFD /u1D538 /u1D539
+/u1D53B /u1D53C /u1D53D /u1D53E /u1D540 /u1D541 /u1D542 /u1D543
+/u1D544 /u1D546 /u1D547 /u1D54A /u1D54B /u1D54C /u1D54D /u1D54E
+/u1D54F /u1D550 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@10 def
+ currentdict
+end
+/LinLibertineO-@11@10 exch definefont pop
+/@11@10 /LinLibertineO-@11@10 def
+/&11@10 {@11@10 F} bind def
+/Encoding-@22@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /uni00A0 /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /exclamdown /sterling
+/currency /yen /brokenbar /dieresis /copyright /ordfeminine /guillemotleft
+/logicalnot /uni00AD /registered /macron /degree /plusminus /two.superior
+/three.superior /uni00B5 /pilcrow /periodcentered /cedilla /one.superior
+/ordmasculine /guillemotright /questiondown /Agrave /Aacute /Acircumflex
+/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
+/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
+/Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar /hbar ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@0 def
+ currentdict
+end
+/LinLibertineDisplayO-@22 exch definefont pop
+/@22 /LinLibertineDisplayO-@22 def
+/&22 {@22 F} bind def
+/Encoding-@22@1 [
+/Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek /iogonek
+/Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex /Kcommaaccent
+/kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent /lcommaaccent
+/Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute /nacute /Ncommaaccent
+/ncommaaccent /Ncaron /ncaron /napostrophe /Eng /eng /Omacron
+/omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut /OE /oe
+/Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron /Sacute
+/sacute /Scircumflex /scircumflex /Scedilla /scedilla /Scaron
+/scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar /Utilde
+/utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring /Uhungarumlaut
+/uhungarumlaut /Uogonek /uogonek /Wcircumflex /wcircumflex /Ycircumflex
+/ycircumflex /Ydieresis /Zacute /zacute /Zdotaccent /zdotaccent
+/Zcaron /zcaron /longs /Ohorn /ohorn /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /eturned /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01F0 /uni01F1 /uni01F2 /uni01F3 /uni01F4 /uni01F5
+/uni01F8 /uni01F9 /Aringacute /aringacute /AEacute /aeacute /Oslashacute
+/oslashacute /uni0200 /uni0201 /uni0202 /uni0203 /uni0204 /uni0205
+/uni0206 /uni0207 /uni0208 /uni0209 /uni020A /uni020B /uni020C
+/uni020D /uni020E /uni020F /uni0210 /uni0211 /uni0212 /uni0213
+/uni0214 /uni0215 /uni0216 /uni0217 /Scommaaccent /scommaaccent
+/Tcommaaccent /tcommaaccent /uni021E /uni021F /uni0226 /uni0227
+/uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D /uni022E
+/uni022F /uni0230 /uni0231 /uni0232 /uni0233 /dotlessj /uni026A
+/h.superior /hhook.superior /j.superior /r.superior /rturned.superior
+/rhookturned.superior /Rsmallinverted.superior /w.superior /y.superior
+/uni02B9 /uni02BA /uni02BB /afii57929 /afii64937 /uni02BE /uni02BF
+/uni02C0 /uni02C1 /uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron
+/uni02C8 /uni02C9 /uni02CA /uni02CB /uni02CC /uni02CD /uni02CE
+/uni02CF /uni02D0 /uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5
+/uni02D6 /uni02D7 /breve /dotaccent /ogonek /hungarumlaut /uni02DE
+/uni02DF /gammalatin.superior /l.superior /s.superior /x.superior
+/glottalstopreversed.superior /uni02E5 /uni02E6 /uni02E7 /uni02E8
+/uni02E9 /uni02EA /uni02EB /uni02EC /uni02ED /uni02EE ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@1 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@1 exch definefont pop
+/@22@1 /LinLibertineDisplayO-@22@1 def
+/&22@1 {@22@1 F} bind def
+/Encoding-@22@2 [
+/uni02EF /uni02F0 /uni02F1 /uni02F2 /uni02F3 /uni02F4 /uni02F5
+/uni02F6 /uni02F7 /uni02F8 /uni02F9 /uni02FA /uni02FB /uni02FC
+/uni02FD /uni02FE /uni02FF /gravecomb /acutecomb /circumflexcomb
+/tildecomb /macroncomb /uni0305 /brevecomb /uni0307 /uni0308
+/hookabovecomb /uni030A /uni030B /uni030C /uni030D /uni030E /uni030F
+/uni0310 /uni0311 /uni0312 /uni0313 /uni0314 /uni0315 /uni0316
+/uni0317 /uni0318 /uni0319 /uni031A /uni031B /uni031C /uni031D
+/uni031E /uni031F /uni0320 /uni0321 /uni0322 /dotbelowcomb /uni0324
+/uni0325 /uni0326 /uni0327 /uni0328 /uni0329 /uni032A /uni032B
+/uni032C /uni032D /uni032E /uni032F /uni0330 /uni0331 /uni0332
+/uni0333 /uni0334 /uni0335 /uni0336 /uni0337 /uni0338 /uni0339
+/uni033A /uni033B /uni033C /uni033D /uni033E /uni033F /uni0340
+/uni0341 /uni0342 /uni0343 /uni0344 /uni0345 /uni0346 /uni0347
+/uni0348 /uni0349 /uni034A /uni034B /uni034C /uni034D /uni034E
+/uni0350 /uni0351 /uni0352 /uni0353 /uni0354 /uni0355 /uni0356
+/uni0357 /uni0358 /uni0359 /uni035A /uni035B /uni035C /uni035D
+/uni035E /uni035F /uni0360 /uni0361 /uni0362 /uni0363 /uni0364
+/uni0365 /uni0366 /uni0367 /uni0368 /uni0369 /uni036A /uni036B
+/uni036C /uni036D /uni036E /uni036F /uni0374 /uni0375 /uni037A
+/uni037B /uni037C /uni037D /uni037E /tonos /dieresistonos /Alphatonos
+/anoteleia /Epsilontonos /Etatonos /Iotatonos /Omicrontonos /Upsilontonos
+/Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon
+/Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi
+/Rho /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis
+/Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
+/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta
+/eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho
+/sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis
+/upsilondieresis /omicrontonos /upsilontonos /omegatonos /uni03D0
+/theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1 /omega1 /uni03D7 /uni03D8
+/uni03D9 /uni03DA /uni03DB /uni03DC /uni03DD /uni03DE /uni03DF
+/uni03E0 /uni03E1 /uni03F0 /uni03F1 /uni03F2 /uni03F3 /uni03F4
+/uni03F5 /uni03F6 /uni03F8 /uni03F9 /uni03FB /uni03FD /uni03FE
+/uni03FF /uni0400 /afii10023 /afii10051 /afii10052 /afii10053
+/afii10054 /afii10055 /afii10056 /afii10057 /afii10058 /afii10059
+/afii10060 /afii10061 /uni040D /afii10062 /afii10145 /afii10017
+/afii10018 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@2 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@2 exch definefont pop
+/@22@2 /LinLibertineDisplayO-@22@2 def
+/&22@2 {@22@2 F} bind def
+/Encoding-@22@3 [
+/afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025
+/afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031
+/afii10032 /afii10033 /afii10034 /afii10035 /afii10036 /afii10037
+/afii10038 /afii10039 /afii10040 /afii10041 /afii10042 /afii10043
+/afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049
+/afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070
+/afii10072 /afii10073 /afii10074 /afii10075 /afii10076 /afii10077
+/afii10078 /afii10079 /afii10080 /afii10081 /afii10082 /afii10083
+/afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089
+/afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095
+/afii10096 /afii10097 /uni0450 /afii10071 /afii10099 /afii10100
+/afii10101 /afii10102 /afii10103 /afii10104 /afii10105 /afii10106
+/afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
+/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466
+/uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D
+/uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195 /afii10148
+/afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E /uni047F
+/uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050 /afii10098
+/uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497 /uni0498
+/uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
+/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6
+/uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD
+/uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4
+/uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA /uni04BB
+/uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1 /uni04C2
+/uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA /uni04CB
+/uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5
+/uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC
+/uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2 /uni04E3
+/uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9 /uni04EA
+/uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0 /uni04F1
+/uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7 /uni04F8
+/uni04F9 /afii57799 /afii57801 /afii57800 /afii57802 /afii57793
+/afii57794 /afii57795 /afii57798 /afii57797 /afii57806 /uni05BA
+/afii57796 /afii57807 /afii57839 /afii57645 /afii57841 /afii57842
+/afii57804 /afii57803 /afii57658 /uni05C6 /afii57664 /afii57665
+/afii57666 /afii57667 /afii57668 /afii57669 /afii57670 /afii57671
+/afii57672 /afii57673 /afii57674 /afii57675 /afii57676 /afii57677
+/afii57678 /afii57679 /afii57680 /afii57681 /afii57682 /afii57683
+/afii57684 /afii57685 /afii57686 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@3 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@3 exch definefont pop
+/@22@3 /LinLibertineDisplayO-@22@3 def
+/&22@3 {@22@3 F} bind def
+/Encoding-@22@4 [
+/afii57687 /afii57688 /afii57689 /afii57690 /afii57716 /afii57717
+/afii57718 /uni05F3 /uni05F4 /a.superior /aturned.superior /b.superior
+/d.superior /e.superior /eturned.superior /g.superior /iturned.superior
+/k.superior /m.superior /o.superior /cturned.superior /p.superior
+/t.superior /u.superior /mturned.superior /v.superior /c.superior
+/f.superior /z.superior /uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04
+/uni1E05 /uni1E06 /uni1E07 /uni1E08 /uni1E09 /uni1E0A /uni1E0B
+/uni1E0C /uni1E0D /uni1E0E /uni1E0F /uni1E10 /uni1E11 /uni1E12
+/uni1E13 /uni1E14 /uni1E15 /uni1E16 /uni1E17 /uni1E18 /uni1E19
+/uni1E1A /uni1E1B /uni1E1C /uni1E1D /uni1E1E /uni1E1F /uni1E20
+/uni1E21 /uni1E22 /uni1E23 /uni1E24 /uni1E25 /uni1E26 /uni1E27
+/uni1E28 /uni1E29 /uni1E2A /uni1E2B /uni1E2C /uni1E2D /uni1E2E
+/uni1E2F /uni1E30 /uni1E31 /uni1E32 /uni1E33 /uni1E34 /uni1E35
+/uni1E36 /uni1E37 /uni1E38 /uni1E39 /uni1E3A /uni1E3B /uni1E3C
+/uni1E3D /uni1E3E /uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43
+/uni1E44 /uni1E45 /uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A
+/uni1E4B /uni1E4C /uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51
+/uni1E52 /uni1E53 /uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58
+/uni1E59 /uni1E5A /uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F
+/uni1E60 /uni1E61 /uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66
+/uni1E67 /uni1E68 /uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D
+/uni1E6E /uni1E6F /uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74
+/uni1E75 /uni1E76 /uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B
+/uni1E7C /uni1E7D /uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute
+/Wdieresis /wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A
+/uni1E8B /uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91
+/uni1E92 /uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98
+/uni1E99 /uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F
+/uni1EA0 /uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6
+/uni1EA7 /uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD
+/uni1EAE /uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4
+/uni1EB5 /uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB
+/uni1EBC /uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2
+/uni1EC3 /uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9
+/uni1ECA /uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0
+/uni1ED1 /uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7
+/uni1ED8 /uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE
+/uni1EDF /uni1EE0 /uni1EE1 /uni1EE2 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@4 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@4 exch definefont pop
+/@22@4 /LinLibertineDisplayO-@22@4 def
+/&22@4 {@22@4 F} bind def
+/Encoding-@22@5 [
+/uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6 /uni1EE7 /Ygrave /ygrave
+/uni1EF4 /uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /uni1EFA
+/uni1EFB /uni1EFC /uni1EFD /uni1EFE /uni1EFF /uni1F00 /uni1F01
+/uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06 /uni1F07 /uni1F08
+/uni1F09 /uni1F0A /uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F
+/uni1F10 /uni1F11 /uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18
+/uni1F19 /uni1F1A /uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21
+/uni1F22 /uni1F23 /uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28
+/uni1F29 /uni1F2A /uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F
+/uni1F30 /uni1F31 /uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36
+/uni1F37 /uni1F38 /uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D
+/uni1F3E /uni1F3F /uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44
+/uni1F45 /uni1F48 /uni1F49 /uni1F4A /uni1F4B /uni1F4C /uni1F4D
+/uni1F50 /uni1F51 /uni1F52 /uni1F53 /uni1F54 /uni1F55 /uni1F56
+/uni1F57 /uni1F59 /uni1F5B /uni1F5D /uni1F5F /uni1F60 /uni1F61
+/uni1F62 /uni1F63 /uni1F64 /uni1F65 /uni1F66 /uni1F67 /uni1F68
+/uni1F69 /uni1F6A /uni1F6B /uni1F6C /uni1F6D /uni1F6E /uni1F6F
+/uni1F70 /uni1F71 /uni1F72 /uni1F73 /uni1F74 /uni1F75 /uni1F76
+/uni1F77 /uni1F78 /uni1F79 /uni1F7A /uni1F7B /uni1F7C /uni1F7D
+/uni1F80 /uni1F81 /uni1F82 /uni1F83 /uni1F84 /uni1F85 /uni1F86
+/uni1F87 /uni1F88 /uni1F89 /uni1F8A /uni1F8B /uni1F8C /uni1F8D
+/uni1F8E /uni1F8F /uni1F90 /uni1F91 /uni1F92 /uni1F93 /uni1F94
+/uni1F95 /uni1F96 /uni1F97 /uni1F98 /uni1F99 /uni1F9A /uni1F9B
+/uni1F9C /uni1F9D /uni1F9E /uni1F9F /uni1FA0 /uni1FA1 /uni1FA2
+/uni1FA3 /uni1FA4 /uni1FA5 /uni1FA6 /uni1FA7 /uni1FA8 /uni1FA9
+/uni1FAA /uni1FAB /uni1FAC /uni1FAD /uni1FAE /uni1FAF /uni1FB0
+/uni1FB1 /uni1FB2 /uni1FB3 /uni1FB4 /uni1FB6 /uni1FB7 /uni1FB8
+/uni1FB9 /uni1FBA /uni1FBB /uni1FBC /uni1FBD /uni1FBE /uni1FBF
+/uni1FC0 /uni1FC1 /uni1FC2 /uni1FC3 /uni1FC4 /uni1FC6 /uni1FC7
+/uni1FC8 /uni1FC9 /uni1FCA /uni1FCB /uni1FCC /uni1FCD /uni1FCE
+/uni1FCF /uni1FD0 /uni1FD1 /uni1FD2 /uni1FD3 /uni1FD6 /uni1FD7
+/uni1FD8 /uni1FD9 /uni1FDA /uni1FDB /uni1FDD /uni1FDE /uni1FDF
+/uni1FE0 /uni1FE1 /uni1FE2 /uni1FE3 /uni1FE4 /uni1FE5 /uni1FE6
+/uni1FE7 /uni1FE8 /uni1FE9 /uni1FEA /uni1FEB /uni1FEC /uni1FED
+/uni1FEE /uni1FEF /uni1FF2 /uni1FF3 /uni1FF4 /uni1FF6 /uni1FF7
+/uni1FF8 /uni1FF9 /uni1FFA /uni1FFB /uni1FFC /uni1FFD /uni1FFE
+/enquad /emquad /enspace /emspace ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@5 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@5 exch definefont pop
+/@22@5 /LinLibertineDisplayO-@22@5 def
+/&22@5 {@22@5 F} bind def
+/Encoding-@22@6 [
+/threeperemspace /fourperemspace /sixperemspace /figurespace
+/punctuationspace /thinspace /hairspace /zerowidthspace /hyphentwo
+/hyphennobreak /figuredash /horizontalbar /uni2016 /underscoredbl
+/quotesinglbase /quotereversed /quotedblbase /quotedblrev /trianglebullet
+/onedotenleader /twodotenleader /ellipsis /hyphendot /uni202F
+/perthousand /pertenthousand /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2098 /uni2099 /uni20A2 /franc /lira /peseta /uni20A8
+/dong /Euro /uni20AF /peso /uni2100 /uni2101 /uni2102 /centigrade
+/afii61248 /uni2106 /fahrenheit /uni210C /uni210D /uni210E /uni210F
+/Ifraktur /afii61289 /uni2115 /numero /uni2119 /uni211A /Rfraktur
+/uni211D /uni2120 /trademark /uni2124 /uni2126 /Omegainv /estimated
+/aleph /uni2136 /uni2137 /uni2138 /uni2139 /uni214F /onethird
+/twothirds /onefifth /twofifths /threefifths /fourfifths /onesixth
+/fivesixths /oneeighth /threeeighths /fiveeighths /seveneighths
+/onenumerator /Oneroman /Tworoman /Threeroman /Fourroman /Fiveroman
+/Sixroman /Sevenroman /Eightroman /Nineroman /Tenroman /Elevenroman
+/Twelveroman /uni216C /uni216D /uni216E /uni216F /oneroman /tworoman
+/threeroman /fourroman /fiveroman /sixroman /sevenroman /eightroman
+/nineroman /tenroman /elevenroman /twelveroman /uni217C /uni217D
+/uni217E /uni217F /uni2180 /uni2181 /uni2182 /uni2183 /uni2184
+/arrowleft /arrowup /arrowright /arrowdown /arrowboth /arrowupdn
+/uni2196 /uni2197 /uni2198 /uni2199 /uni219A /uni219B /uni21A6
+/arrowupdnbse /uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1 /uni21CB
+/uni21CC /uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /Nwarrow
+/Nearrow /Searrow /Swarrow /universal /uni2201 /partialdiff /existential
+/uni2204 /emptyset /uni2206 /gradient /element /notelement /uni220A
+/suchthat /uni220C /uni220D /product /uni2210 /summation /minus
+/uni2213 /uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219
+/radical /uni221B /uni221C /proportional /infinity /uni221F /angle
+/uni2221 /uni2222 /uni2223 /uni2224 /uni2225 /uni2226 /logicaland
+/logicalor /intersection /union /integral /uni222C /uni222D /uni222E
+/uni2236 /similar /uni2241 /congruent ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@6 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@6 exch definefont pop
+/@22@6 /LinLibertineDisplayO-@22@6 def
+/&22@6 {@22@6 F} bind def
+/Encoding-@22@7 [
+/approxequal /uni2249 /uni2259 /notequal /equivalence /uni2262
+/lessequal /greaterequal /uni226A /uni226B /uni226E /uni226F
+/uni2270 /uni2271 /propersubset /propersuperset /notsubset /uni2285
+/circleplus /uni2296 /circlemultiply /uni2298 /uni22A2 /uni22A3
+/uni22A4 /perpendicular /uni22A6 /uni22B6 /uni22B7 /dotmath /uni22EE
+/uni22EF /uni2300 /uni2302 /uni2303 /uni2310 /uni2320 /uni2321
+/uni2326 /uni2327 /uni2329 /uni232A /uni232B /uni237D /uni2380
+/uni23D3 /uni2423 /uni2460 /uni2461 /uni2462 /uni2463 /uni2464
+/uni2465 /uni2466 /uni2467 /uni2468 /uni2469 /uni246A /uni246B
+/uni246C /uni246D /uni246E /uni246F /uni2470 /uni2471 /uni2472
+/uni2473 /uni2474 /uni2475 /uni2476 /uni2477 /uni2478 /uni2479
+/uni247A /uni247B /uni247C /uni247D /uni247E /uni247F /uni2480
+/uni2481 /uni2482 /uni2483 /uni2484 /uni2485 /uni2486 /uni2487
+/uni24B6 /uni24B7 /uni24B8 /uni24B9 /uni24BA /uni24BB /uni24BC
+/uni24BD /uni24BE /uni24BF /uni24C0 /uni24C1 /uni24C2 /uni24C3
+/uni24C4 /uni24C5 /uni24C6 /uni24C7 /uni24C8 /uni24C9 /uni24CA
+/uni24CB /uni24CC /uni24CD /uni24CE /uni24CF /uni24D0 /uni24D1
+/uni24D2 /uni24D3 /uni24D4 /uni24D5 /uni24D6 /uni24D7 /uni24D8
+/uni24D9 /uni24DA /uni24DB /uni24DC /uni24DD /uni24DE /uni24DF
+/uni24E0 /uni24E1 /uni24E2 /uni24E3 /uni24E4 /uni24E5 /uni24E6
+/uni24E7 /uni24E8 /uni24E9 /uni24EA /uni24EB /uni24EC /uni24ED
+/uni24EE /uni24EF /uni24F0 /uni24F1 /uni24F2 /uni24F3 /uni24F4
+/uni24F5 /uni24F6 /uni24F7 /uni24F8 /uni24F9 /uni24FA /uni24FB
+/uni24FC /uni24FD /uni24FE /uni24FF /filledbox /H22073 /triagup
+/uni25B3 /uni25B6 /uni25B7 /triagdn /uni25BD /uni25C0 /uni25C1
+/uni25C6 /uni25C7 /uni25C9 /lozenge /bigcircle /uni25CE /H18533
+/uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4 /uni25D5 /uni25D6
+/uni25D7 /openbullet /uni2605 /uni2609 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /uni263C /uni263D
+/uni263E /uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645
+/uni2646 /uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C
+/uni264D /uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /uni2695 /uni2698 /uni26A2
+/uni26A3 /uni26A4 /uni26A5 /uni26AC /married /divorced /uni26AF
+/uni2714 /uni2718 /died /uni2767 /uni2776 /uni2777 /uni2778 /uni2779
+/uni277A /uni277B /uni277C /uni277D /uni277E /uni277F ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@7 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@7 exch definefont pop
+/@22@7 /LinLibertineDisplayO-@22@7 def
+/&22@7 {@22@7 F} bind def
+/Encoding-@22@8 [
+/uni27C2 /uni27E6 /uni27E7 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C74 /uni2C75 /uni2C76 /uni2C77 /uni2E02
+/uni2E03 /uni2E04 /uni2E05 /uni2E08 /uni2E09 /uni2E0A /uni2E17
+/uni2E18 /uniA71D /uniA720 /uniA721 /uniA765 /Tux /uniE001 /uniE002
+/uniE003 /uniE004 /uniE005 /uniE006 /uniE007 /uniE008 /uniE009
+/uniE00A /uniE00B /copyleft /publicdomain /creativecommons /zero.slashfitted
+/zero.fitted /one.fitted /two.fitted /three.fitted /four.fitted
+/five.fitted /six.fitted /seven.fitted /eight.fitted /nine.fitted
+/Euro.fitted /Yen.fitted /uniE01C /a.alt /uniE01E /perthousandzero
+/zero.oldstyle /one.oldstyle /two.oldstyle /three.oldstyle /four.oldstyle
+/five.oldstyle /six.oldstyle /seven.oldstyle /eight.oldstyle
+/nine.oldstyle /Adieresis.alt /Odieresis.alt /Udieresis.alt /W.alt
+/f_j /t_t /c_t /longs_i /uniE040 /uniE041 /uniE042 /Q_u /T_h
+/q.superior /uniE0F9 /uniE0FB /uniE0FC /uniE0FD /uniE0FE /uniE0FF
+/kreis /uniE101 /uniE104 /uniE105 /uniE106 /uniE107 /zero.cap
+/one.cap /two.cap /three.cap /four.cap /five.cap /six.cap /seven.cap
+/eight.cap /nine.cap /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE128
+/uniE129 /uniE12A /uniE130 /leaf /b.inferior /c.inferior /d.inferior
+/f.inferior /g.inferior /h.inferior /i.inferior /j.inferior /k.inferior
+/l.inferior /m.inferior /n.inferior /p.inferior /q.inferior /r.inferior
+/s.inferior /t.inferior /u.inferior /v.inferior /w.inferior /y.inferior
+/z.inferior /grave.cap /acute.cap /circumflex.cap /caron.cap
+/breve.cap /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /dotaccent.cap
+/metric /zero.slash /parenleft.sc /parenright.sc /bracketleft.sc
+/bracketright.sc /braceleft.sc /braceright.sc /exclamdown.sc
+/questiondown.sc /guillemotleft.sc /guillemotright.sc /guilsinglleft.sc
+/guilsinglright.sc /hyphen.cap /uniF6BE /longs_t /s_t /uniFFFD
+/u1D538 /u1D539 /u1D53B /u1D53C /u1D53D /u1D53E /u1D540 /u1D541
+/u1D542 /u1D543 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@8 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@8 exch definefont pop
+/@22@8 /LinLibertineDisplayO-@22@8 def
+/&22@8 {@22@8 F} bind def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /paragraph
+/periodcentered /cedilla /one.superior /ordmasculine /guillemotright
+/questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis
+/Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis
+/Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve
+/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave
+/Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave
+/aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/LinLibertineOI-@12 exch definefont pop
+/@12 /LinLibertineOI-@12 def
+/&12 {@12 F} bind def
+/Encoding-@12@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /uni01DD /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@1 def
+ currentdict
+end
+/LinLibertineOI-@12@1 exch definefont pop
+/@12@1 /LinLibertineOI-@12@1 def
+/&12@1 {@12@1 F} bind def
+/Encoding-@12@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /uni0237 /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0243
+/uni0250 /uni0251 /uni0252 /uni0253 /uni0254 /uni0255 /uni0256
+/uni0257 /uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D
+/uni025E /uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264
+/uni0265 /hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B
+/uni026C /uni026D /uni026E /uni026F /uni0270 /uni0271 /uni0272
+/uni0273 /uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned
+/uni027A /rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap
+/Rsmallinverted /uni0282 /uni0283 /uni0284 /uni0285 /uni0286
+/uni0287 /uni0288 /uni0289 /uni028A /uni028B /uni028C /uni028D
+/uni028E /uni028F /uni0290 /uni0291 /uni0292 /uni0293 /uni0294
+/glottalstopreversed /uni0296 /uni0297 /uni0298 /uni0299 /uni029A
+/uni029B /uni029C /uni029D /uni029E /uni029F /uni02A0 /uni02A1
+/uni02A2 /uni02A3 /uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8
+/uni02A9 /uni02AA /uni02AB /uni02AC /uni02AD /uni02AE /uni02AF
+/h.superior /hhook.superior /j.superior /r.superior /rturned.superior
+/rhookturned.superior /Rsmallinverted.superior /w.superior /y.superior
+/uni02B9 /uni02BA /uni02BB /afii57929 /afii64937 /uni02BE /uni02BF
+/uni02C0 /uni02C1 /uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron
+/uni02C8 /uni02C9 /uni02CA /uni02CB /uni02CC /uni02CD /uni02CE
+/uni02CF /uni02D0 /uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5
+/uni02D6 /uni02D7 /breve /dotaccent /ogonek /hungarumlaut /uni02DE
+/uni02DF /gammalatin.superior /l.superior /s.superior /x.superior
+/glottalstopreversed.superior /uni02E5 /uni02E6 /uni02E7 /uni02E8
+/uni02E9 /uni02EA /uni02EB /uni02EC /uni02ED /uni02EE /uni02EF
+/uni02F0 /uni02F1 /uni02F2 /uni02F3 /uni02F4 /uni02F5 /uni02F6
+/uni02F7 /uni02F8 /uni02F9 /uni02FA /uni02FB /uni02FC /uni02FD
+/uni02FE /uni02FF /gravecomb /acutecomb /uni0302 /tildecomb /uni0304
+/uni0305 /uni0306 /uni0307 /uni0308 /hookabovecomb /uni030A /uni030B
+/uni030C /uni030D /uni030E /uni030F /uni0310 /uni0311 /uni0312
+/uni0313 /uni0314 /uni0315 /uni0316 /uni0317 /uni0318 /uni0319
+/uni031A /uni031B /uni031C /uni031D /uni031E /uni031F /uni0320
+/uni0321 /uni0322 /dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327
+/uni0328 /uni0329 /uni032A /uni032B /uni032C /uni032D /uni032E
+/uni032F /uni0330 /uni0331 /uni0332 /uni0333 /uni0334 /uni0335
+/uni0336 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@2 def
+ currentdict
+end
+/LinLibertineOI-@12@2 exch definefont pop
+/@12@2 /LinLibertineOI-@12@2 def
+/&12@2 {@12@2 F} bind def
+/Encoding-@12@3 [
+/uni0337 /uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D
+/uni033E /uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344
+/uni0345 /uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B
+/uni034C /uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353
+/uni0354 /uni0355 /uni0356 /uni0357 /uni0358 /acute.cap /circumflex.cap
+/caron.cap /uni035C /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uni0364
+/uni0365 /uni0366 /uni0367 /uni0368 /uni0369 /uni036A /uni036B
+/uni036C /uni036D /uni036E /uni036F /uni0374 /uni0375 /uni037A
+/uni037B /uni037C /uni037D /uni037E /tonos /dieresistonos /Alphatonos
+/anoteleia /Epsilontonos /Etatonos /Iotatonos /Omicrontonos /Upsilontonos
+/Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon
+/Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi
+/Rho /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis
+/Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
+/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta
+/eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho
+/sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis
+/upsilondieresis /omicrontonos /upsilontonos /omegatonos /uni03D0
+/theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1 /omega1 /uni03D7 /uni03D8
+/uni03D9 /uni03DA /uni03DB /uni03DC /uni03DD /uni03DE /uni03DF
+/uni03E0 /uni03E1 /uni03F0 /uni03F1 /uni03F2 /uni03F3 /uni03F4
+/uni03F5 /uni03F6 /uni03F8 /uni03F9 /uni03FB /uni03FD /uni03FE
+/uni03FF /uni0400 /afii10023 /afii10051 /afii10052 /afii10053
+/afii10054 /afii10055 /afii10056 /afii10057 /afii10058 /afii10059
+/afii10060 /afii10061 /uni040D /afii10062 /afii10145 /afii10017
+/afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024
+/afii10025 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030
+/afii10031 /afii10032 /afii10033 /afii10034 /afii10035 /afii10036
+/afii10037 /afii10038 /afii10039 /afii10040 /afii10041 /afii10042
+/afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048
+/afii10049 /afii10065 /afii10066 /afii10067 /afii10068 /afii10069
+/afii10070 /afii10072 /afii10073 /afii10074 /afii10075 /afii10076
+/afii10077 /afii10078 /afii10079 /afii10080 /afii10081 /afii10082
+/afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088
+/afii10089 /afii10090 /afii10091 /afii10092 /afii10093 /afii10094
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@3 def
+ currentdict
+end
+/LinLibertineOI-@12@3 exch definefont pop
+/@12@3 /LinLibertineOI-@12@3 def
+/&12@3 {@12@3 F} bind def
+/Encoding-@12@4 [
+/afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
+/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466
+/uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D
+/uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195 /afii10148
+/afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E /uni047F
+/uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050 /afii10098
+/uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497 /uni0498
+/uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
+/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6
+/uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD
+/uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4
+/uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA /uni04BB
+/uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1 /uni04C2
+/uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA /uni04CB
+/uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5
+/uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC
+/uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2 /uni04E3
+/uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9 /uni04EA
+/uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0 /uni04F1
+/uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7 /uni04F8
+/uni04F9 /afii57799 /afii57801 /afii57800 /afii57802 /afii57793
+/afii57794 /afii57795 /afii57798 /afii57797 /afii57806 /uni05BA
+/afii57796 /afii57807 /afii57839 /afii57645 /afii57841 /afii57842
+/afii57804 /afii57803 /afii57658 /uni05C6 /afii57664 /afii57665
+/afii57666 /afii57667 /afii57668 /afii57669 /afii57670 /afii57671
+/afii57672 /afii57673 /afii57674 /afii57675 /afii57676 /afii57677
+/afii57678 /afii57679 /afii57680 /afii57681 /afii57682 /afii57683
+/afii57684 /afii57685 /afii57686 /afii57687 /afii57688 /afii57689
+/afii57690 /afii57716 /afii57717 /afii57718 /uni05F3 /uni05F4
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D
+/uni1E0E /uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14
+/uni1E15 /uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B
+/uni1E1C /uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22
+/uni1E23 /uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29
+/uni1E2A /uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30
+/uni1E31 /uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37
+/uni1E38 /uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E
+] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@4 def
+ currentdict
+end
+/LinLibertineOI-@12@4 exch definefont pop
+/@12@4 /LinLibertineOI-@12@4 def
+/&12@4 {@12@4 F} bind def
+/Encoding-@12@5 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /uni1F00 /uni1F01
+/uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06 /uni1F07 /uni1F08
+/uni1F09 /uni1F0A /uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F
+/uni1F10 /uni1F11 /uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18
+/uni1F19 /uni1F1A /uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21
+/uni1F22 /uni1F23 /uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28
+/uni1F29 /uni1F2A /uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F
+/uni1F30 /uni1F31 /uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36
+/uni1F37 /uni1F38 /uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D
+/uni1F3E /uni1F3F /uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44
+/uni1F45 /uni1F48 /uni1F49 /uni1F4A ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@5 def
+ currentdict
+end
+/LinLibertineOI-@12@5 exch definefont pop
+/@12@5 /LinLibertineOI-@12@5 def
+/&12@5 {@12@5 F} bind def
+/Encoding-@12@6 [
+/uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51 /uni1F52 /uni1F53
+/uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59 /uni1F5B /uni1F5D
+/uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63 /uni1F64 /uni1F65
+/uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A /uni1F6B /uni1F6C
+/uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71 /uni1F72 /uni1F73
+/uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78 /uni1F79 /uni1F7A
+/uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81 /uni1F82 /uni1F83
+/uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88 /uni1F89 /uni1F8A
+/uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F /uni1F90 /uni1F91
+/uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96 /uni1F97 /uni1F98
+/uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D /uni1F9E /uni1F9F
+/uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4 /uni1FA5 /uni1FA6
+/uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB /uni1FAC /uni1FAD
+/uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2 /uni1FB3 /uni1FB4
+/uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA /uni1FBB /uni1FBC
+/uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1 /uni1FC2 /uni1FC3
+/uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9 /uni1FCA /uni1FCB
+/uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0 /uni1FD1 /uni1FD2
+/uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9 /uni1FDA /uni1FDB
+/uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1 /uni1FE2 /uni1FE3
+/uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8 /uni1FE9 /uni1FEA
+/uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF /uni1FF2 /uni1FF3
+/uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9 /uni1FFA /uni1FFB
+/uni1FFC /uni1FFD /uni1FFE /enquad /emquad /enspace /emspace
+/threeperemspace /fourperemspace /sixperemspace /figurespace
+/punctuationspace /thinspace /hairspace /zerowidthspace /hyphentwo
+/hyphennobreak /figuredash /horizontalbar /uni2016 /underscoredbl
+/quotesinglbase /quotereversed /quotedblbase /quotedblrev /trianglebullet
+/onedotenleader /twodotenleader /ellipsis /hyphendot /uni202F
+/perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@6 def
+ currentdict
+end
+/LinLibertineOI-@12@6 exch definefont pop
+/@12@6 /LinLibertineOI-@12@6 def
+/&12@6 {@12@6 F} bind def
+/Encoding-@12@7 [
+/uni20A2 /franc /lira /peseta /uni20A8 /dong /Euro /uni20AF /uni20B1
+/uni2100 /uni2101 /uni2102 /centigrade /afii61248 /uni2106 /fahrenheit
+/uni210C /uni210D /uni210E /uni210F /Ifraktur /afii61289 /uni2115
+/afii61352 /uni2119 /uni211A /Rfraktur /uni211D /uni2120 /trademark
+/uni2124 /uni2126 /uni2127 /estimated /aleph /uni2136 /uni2137
+/uni2138 /uni2139 /onethird /twothirds /onefifth /twofifths /threefifths
+/fourfifths /onesixth /fivesixths /oneeighth /threeeighths /fiveeighths
+/seveneighths /onenumerator /Oneroman /Tworoman /Threeroman /Fourroman
+/Fiveroman /Sixroman /Sevenroman /Eightroman /Nineroman /Tenroman
+/Elevenroman /Twelveroman /uni216C /uni216D /uni216E /uni216F
+/oneroman /tworoman /threeroman /fourroman /fiveroman /sixroman
+/sevenroman /eightroman /nineroman /tenroman /elevenroman /twelveroman
+/uni217C /uni217D /uni217E /uni217F /uni2180 /uni2181 /uni2182
+/uni2183 /uni2184 /arrowleft /arrowup /arrowright /arrowdown
+/arrowboth /arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A
+/uni219B /arrowupdnbse /uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1
+/uni21CB /uni21CC /uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /Nwarrow
+/Nearrow /Searrow /Swarrow /universal /uni2201 /partialdiff /existential
+/uni2204 /emptyset /uni2206 /gradient /element /notelement /uni220A
+/suchthat /uni220C /uni220D /product /uni2210 /summation /minus
+/uni2213 /uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219
+/radical /uni221B /uni221C /infinity /orthogonal /uni2223 /uni2224
+/uni2225 /uni2226 /logicaland /logicalor /intersection /union
+/integral /uni2236 /similar /uni2241 /congruent /approxequal
+/uni2249 /uni2259 /notequal /equivalence /uni2262 /lessequal
+/greaterequal /uni226A /uni226B /uni226E /uni226F /uni2270 /uni2271
+/propersubset /propersuperset /notsubset /uni2285 /circleplus
+/uni2296 /circlemultiply /uni2298 /dotmath /uni22EF /uni2302
+/uni2303 /uni2310 /uni2320 /uni2321 /uni2329 /uni232A /uni23D3
+/filledbox /H22073 /triagup /uni25B3 /uni25B6 /uni25B7 /triagdn
+/uni25BD /uni25C0 /uni25C1 /uni25C6 /uni25C7 /uni25C9 /lozenge
+/circle /H18533 /uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4
+/uni25D5 /uni25D6 /uni25D7 /uni2605 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /sun /uni263D /uni263E
+/uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645 /uni2646
+/uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C /uni264D
+/uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653 /uni2660
+/uni2663 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@7 def
+ currentdict
+end
+/LinLibertineOI-@12@7 exch definefont pop
+/@12@7 /LinLibertineOI-@12@7 def
+/&12@7 {@12@7 F} bind def
+/Encoding-@12@8 [
+/uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl /uni266C
+/uni2695 /uni2698 /uni26A2 /uni26A3 /uni26A4 /uni2767 /uni27E6
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C74 /uni2C75 /uni2C76 /uni2C77 /uniA720
+/uniA721 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005 /uniE006
+/uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /uniE00C /uniE00D
+/uniE00E /zero.slashfitted /zero.fitted /one.fitted /two.fitted
+/three.fitted /four.fitted /five.fitted /six.fitted /seven.fitted
+/eight.fitted /nine.fitted /Euro.fitted /Yen.fitted /uniE01C
+/perthousandzero /zero.oldstyle /one.oldstyle /two.oldstyle /three.oldstyle
+/four.oldstyle /five.oldstyle /six.oldstyle /seven.oldstyle /eight.oldstyle
+/nine.oldstyle /Adieresis.alt /Odieresis.alt /Udieresis.alt /f_f_j
+/f_j /f_k /f_t /c_k /c_h /t_t /c_t /ae.alt /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /uni1E9C.alt /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /hyphen.sc /agrave.sc /aacute.sc /acircumflex.sc
+/atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc /egrave.sc
+/eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc /iacute.sc
+/icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc /oacute.sc
+/ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc /ugrave.sc
+/uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc /thorn.sc
+/ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc /dcroat.sc
+/abreve.sc /aogonek.sc /cacute.sc /ccaron.sc /dcaron.sc /eogonek.sc
+/ecaron.sc /gbreve.sc /lacute.sc /lslash.sc /nacute.sc /ncaron.sc
+/eng.sc /ohungarumlaut.sc /racute.sc /rcaron.sc /sacute.sc /scedilla.sc
+/scaron.sc /tcedilla.sc /tbar.sc /uring.sc /uhungarumlaut.sc
+/zacute.sc /zdotaccent.sc /zcaron.sc /lcaron.sc /tcaron.sc /tcommaaccent.sc
+/scommaaccent.sc /idotaccent.sc /a.scalt /a.superior /b.superior
+/c.superior /d.superior /e.superior /f.superior /g.superior /uniE0C7
+/uniE0C8 /uniE0C9 /k.superior /m.superior /uniE0CD /o.superior
+/p.superior /q.superior /uniE0D1 /t.superior /u.superior /v.superior
+/uniE0D6 /uniE0D7 /uniE0D8 /z.superior /f.short /f_f.short /uniE0E8
+/W.alt /V.alt /K.alt /R.alt /J.alt /z.alt /uniE0F4 /y.alt /uniE0F9
+/uniE0FB /kreis /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE130
+/uniE138 /uniE148 /b.inferior /c.inferior /d.inferior /f.inferior
+/g.inferior /h.inferior /i.inferior /j.inferior /k.inferior /l.inferior
+/m.inferior /n.inferior /p.inferior /q.inferior /r.inferior ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@8 def
+ currentdict
+end
+/LinLibertineOI-@12@8 exch definefont pop
+/@12@8 /LinLibertineOI-@12@8 def
+/&12@8 {@12@8 F} bind def
+/Encoding-@12@9 [
+/s.inferior /t.inferior /u.inferior /v.inferior /w.inferior /y.inferior
+/z.inferior /uniE188 /uniE189 /v.alt /grave.cap /acute.cap /circumflex.cap
+/caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uniE420
+/zero.slash /parenleft.sc /parenright.sc /bracketleft.sc /bracketright.sc
+/braceleft.sc /braceright.sc /exclamdown.sc /questiondown.sc
+/guillemotleft.sc /guillemotright.sc /guilsinglleft.sc /guilsinglright.sc
+/hyphen.cap /dotlessj /afii10068.ital /afii10066.ital /afii10069.ital
+/afii10081.ital /uniF6C8 /longs_t /s_t /uniFFFD /uni0350 /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@9 def
+ currentdict
+end
+/LinLibertineOI-@12@9 exch definefont pop
+/@12@9 /LinLibertineOI-@12@9 def
+/&12@9 {@12@9 F} bind def
+/Encoding-@21@0 [
+/.notdef /hyphen /cent /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /.notdef /space /asciicircum /asciitilde
+/uni00A0 /exclamdown /sterling /currency /yen /brokenbar /space
+/exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period
+/slash /zero /one /two /three /four /five /six /seven /eight
+/nine /colon /semicolon /less /equal /greater /question /at /A
+/B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
+/W /X /Y /Z /bracketleft /backslash /bracketright /dieresis /underscore
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q
+/r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /copyright
+/ordfeminine /guillemotleft /logicalnot /uni00AD /registered
+/macron /degree /plusminus /two.superior /three.superior /uni00B5
+/paragraph /periodcentered /cedilla /one.superior /ordmasculine
+/guillemotright /questiondown /Agrave /Aacute /Acircumflex /Atilde
+/Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
+/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
+/Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar /hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve
+/Iogonek ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@0 def
+ currentdict
+end
+/LinLibertineMO-@21 exch definefont pop
+/@21 /LinLibertineMO-@21 def
+/&21 {@21 F} bind def
+/Encoding-@21@1 [
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcommaaccent /tcommaaccent /Tcaron /tcaron /Tbar
+/tbar /Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring
+/uring /Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /gravecomb /acutecomb
+/uni0302 /tildecomb /uni0304 /uni0305 /uni0306 /dotaccentcmb
+/uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D /uni030E
+/uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314 /uni0315
+/uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B /uni031C
+/uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322 /dotbelowcomb
+/uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329 /uni032A
+/uni032B /uni032C /uni032D /uni032E /uni032F /uni0330 /uni0331
+/uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337 /uni0338
+/uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E /uni033F
+/uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345 /uni0346
+/uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C /uni034D
+/uni034E /uni034F /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni1E00
+/uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06 /uni1E07
+/uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D /uni1E0E
+/uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14 /uni1E15
+/uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B /uni1E1C
+/uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22 /uni1E23
+/uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29 /uni1E2A
+/uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30 /uni1E31
+/uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37 /uni1E38
+/uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@1 def
+ currentdict
+end
+/LinLibertineMO-@21@1 exch definefont pop
+/@21@1 /LinLibertineMO-@21@1 def
+/&21@1 {@21@1 F} bind def
+/Encoding-@21@2 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@2 def
+ currentdict
+end
+/LinLibertineMO-@21@2 exch definefont pop
+/@21@2 /LinLibertineMO-@21@2 def
+/&21@2 {@21@2 F} bind def
+/Encoding-@21@3 [
+/five.inferior /six.inferior /seven.inferior /eight.inferior
+/nine.inferior /plus.inferior /minus.inferior /equal.inferior
+/parenleft.inferior /parenright.inferior /a.inferior /e.inferior
+/o.inferior /x.inferior /uni2094 /uni2095 /uni2096 /uni2097 /uni2098
+/uni2099 /uni209A /uni209B /uni209C /uni20A2 /franc /lira /peseta
+/uni20A8 /dong /Euro /uni20AF /uni20B1 /uni2100 /uni2101 /uni2102
+/centigrade /afii61248 /uni2106 /fahrenheit /uni210C /uni210D
+/uni210E /uni210F /Ifraktur /afii61289 /uni2115 /afii61352 /uni2119
+/uni211A /Rfraktur /uni211D /uni2120 /trademark /uni2124 /uni2126
+/uni2127 /estimated /aleph /uni2136 /uni2137 /uni2138 /uni2139
+/onethird /twothirds /onefifth /twofifths /threefifths /fourfifths
+/onesixth /fivesixths /oneeighth /threeeighths /fiveeighths /seveneighths
+/onenumerator /arrowleft /arrowup /arrowright /arrowdown /arrowboth
+/arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A /uni219B
+/universal /uni2201 /partialdiff /existential /uni2204 /emptyset
+/uni2206 /gradient /element /notelement /uni220A /suchthat /uni220C
+/uni220D /product /uni2210 /summation /minus /uni2213 /uni2214
+/asteriskmath /uni2218 /uni2219 /radical /uni221B /uni221C /proportional
+/infinity /orthogonal /dotmath /uni22EF /SF100000 /uni2503 /SF010000
+/SF030000 /SF020000 /SF040000 /SF080000 /SF090000 /SF060000 /SF070000
+/SF050000 /SF430000 /SF240000 /SF510000 /SF520000 /SF390000 /SF220000
+/SF210000 /SF250000 /SF500000 /SF490000 /SF380000 /SF280000 /SF270000
+/SF260000 /SF360000 /SF370000 /SF420000 /SF190000 /SF200000 /SF230000
+/SF470000 /SF480000 /SF410000 /SF450000 /SF460000 /SF400000 /SF540000
+/SF530000 /SF440000 /upblock /dnblock /block /lfblock /rtblock
+/ltshade /shade /dkshade /uni2605 /uni2639 /uni263A /uni263B
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /Tux /uniE001 /uniE009 /uniE00A
+/zero.slashfitted /perthousandzero /Adieresis.alt /Odieresis.alt
+/Udieresis.alt /a.superior /b.superior /c.superior /d.superior
+/e.superior /f.superior /g.superior /uniE0C7 /uniE0C8 /uniE0C9
+/k.superior /m.superior /uniE0CD /o.superior /p.superior /q.superior
+/uniE0D1 /t.superior /u.superior /v.superior /uniE0D6 /uniE0D7
+/uniE0D8 /z.superior /uniE0F9 /uniE0FB /kreis /uniE138 /uniE148
+/b.inferior /c.inferior /d.inferior /f.inferior /g.inferior /h.inferior
+/i.inferior /j.inferior /k.inferior /l.inferior /m.inferior /n.inferior
+/p.inferior /q.inferior /r.inferior /s.inferior /t.inferior /u.inferior
+/v.inferior /w.inferior /y.inferior /z.inferior /grave.cap /acute.cap
+/circumflex.cap /caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap
+/breveinvertedcmb.cap /breve.cyrcap /breve.cyr /dieresis.cap
+/hookabovecomb.cap /dotaccent.cap /uniE420 /zero.slash ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@3 def
+ currentdict
+end
+/LinLibertineMO-@21@3 exch definefont pop
+/@21@3 /LinLibertineMO-@21@3 def
+/&21@3 {@21@3 F} bind def
+/Encoding-@21@4 [
+/dotlessj /uniFFFD /uni0350 /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@4 def
+ currentdict
+end
+/LinLibertineMO-@21@4 exch definefont pop
+/@21@4 /LinLibertineMO-@21@4 def
+/&21@4 {@21@4 F} bind def
+/Encoding-@20@0 [
+/.notdef /arrowright /parenleftex /universal /existential /asteriskmath
+/plus /minus /equal /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
+/Eta /Iota /Kappa /Lambda /Mu /Nu /Omicron /Pi /Rho /Theta /Sigma
+/Tau /Upsilon /Omega /Xi /Psi /space /exclam /Zeta /numbersign
+/underscore /percent /ampersand /radicalex /parenleft /parenright
+/alpha /plus /comma /minus /period /slash /zero /one /two /three
+/four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /beta /chi /delta /epsilon /phi /gamma
+/eta /iota /kappa /lambda /mu /nu /omicron /pi /theta /rho /sigma
+/tau /upsilon /omega /xi /psi /zeta /similar /minute /lessequal
+/fraction /bracketleft /infinity /bracketright /arrowleft /underscore
+/arrowup /arrowdown /degree /plusminus /greaterequal /multiply
+/proportional /partialdiff /bullet /divide /notequal /equivalence
+/approxequal /aleph /circlemultiply /circleplus /emptyset /intersection
+/union /propersuperset /reflexsuperset /propersubset /reflexsubset
+/element /gradient /registerserif /copyrightserif /braceleft
+/bar /braceright /similar /trademarkserif /radical /logicalnot
+/logicalor /bracketlefttp /bracketleftbt /bracelefttp /braceleftmid
+/braceleftbt /braceex /integral /bracketrighttp /bracketrightbt
+/bracerighttp /bracerightmid /bracerightbt /sigma1 /bracketleftex
+/space /suchthat /congruent /theta1 /therefore /perpendicular
+/phi1 /omega1 /Euro /Upsilon1 /florin /club /diamond /heart /spade
+/arrowboth /second /ellipsis /arrowvertex /arrowhorizex /carriagereturn
+/Ifraktur /Rfraktur /weierstrass /notsubset /notelement /angle
+/product /dotmath /logicaland /arrowdblboth /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /lozenge /angleleft /registersans
+/copyrightsans /trademarksans /summation /parenlefttp /parenleftbt
+/angleright /integraltp /integralex /integralbt /parenrighttp
+/parenrightex /parenrightbt /bracketrightex /apple /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Symbol findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@20@0 def
+ currentdict
+end
+/Symbol-tmp-@20 exch definefont pop
+_Sdefsadj
+/Symbol-tmp-@20 /Symbol-@20 Sdefs cf
+/Symbol-tmp-@20 undefinefont
+/@20 /Symbol-@20 def
+/&20 {@20 F} bind def
+/pagebbox [0 0 420 595] def
+userdict /gotpagebbox true put
+/setpagedevice where {pop 1 dict dup /PageSize [420 595] put setpagedevice} if
+mark
+/resolution 72000 def
+setup
+4 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+ [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark
+ [ /PageMode /UseOutlines /DOCVIEW pdfmark
+ [ {Catalog} << /PageLayout /TwoPageRight >> /PUT pdfmark
+ [ /Label (I) /PAGELABEL pdfmark
+10 @11 f
+96144 73606 m
+(Font)(Handling)21800(in)41450(T)11460(r)5770(o\005)3640(With)14190
+(PostScript)24090(De)44750(vices)11410 274704 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+ [ /Label (II) /PAGELABEL pdfmark
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Page: 3 3
+save
+mark
+3 pagesetup
+ [ /Label (III) /PAGELABEL pdfmark
+[ /Dest /Bookmark$0
+ /View [/XYZ -4 599 0]
+/DEST pdfmark
+18 @22 f
+82099 78606 m
+(FON)(T)34668(HAN)16740(DLI)38682(NG)27792(I)31320(N)5886(T)18540
+(ROF)11178(F)33228 300133 t
+79894 102606 m
+(W)(I)18090(T)6120(H)11178(POSTSCRI)19116(PT)79074(DEV)26262
+(ICES)35460 275194 t
+10 @11 f
+923 T
+155545 174606 m
+(G)155545 t
+&11@9
+(\210\201\201\164\205)163318 t
+&11
+(R)200656 t
+&11@9
+(\174\207\207\170\205)207449 t
+&11
+0 T
+178189 198606 m
+&11@9
+(\106\105)178189 t
+&11
+(/)186969 t
+&11@9
+(\107\111)190199 t
+&11
+(/)199629 t
+&11@9
+(\105\113)202859 t
+9 s
+190383 232106 m
+(\047)190383 t
+&11
+136576 481133 m
+(Heirlo)(om)23355(Do)14643(cumentation)10908(T)49293(o)4806(ols)4599 244180 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 3
+%%Page: 4 4
+save
+mark
+4 pagesetup
+ [ /Label (IV) /PAGELABEL pdfmark
+9 @11 f
+75118 481133 m
+(<h)75118 t
+&11@9
+(\137)84910 t
+&11
+(p://n\001t\001r)(o\005.github)29691(.io/heirlo)35415(om/do)33489
+(cto)23706(ols.html>)11295 224032 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 4
+%%Page: 1 5
+save
+mark
+5 pagesetup
+ [ /Label (1) /PAGELABEL pdfmark
+[ /Dest /Bookmark$1
+ /View [/XYZ -4 599 0]
+/DEST pdfmark
+9 @12 f
+48188 73606 m
+(The)(basics)16173 64361 t
+&11
+57188 97606 m
+(Heirlo)(om)23355 80543 t
+&12
+(tr)(o\005)5904 101090 t
+&11
+(understands)(tw)47988(o)9495(ways)7533(to)21978(sele)10377(ct)13995
+(PostScript)9693(fonts.)40275 274556 t
+57188 109606 m
+(The)(curr)16858(ent)15255(metho)14365(d)23418(can)7174(access)15463
+(PostScript)25480(font)39899(\003les)17669(dir)17570(e)10269
+(ctly)4086(.)13176(Fonts)4601(ar)22754(e)7389(sele)6644(ct\001)13995 333253 t
+48188 121606 m
+(e)(d)4086(using)7551(an)23103(e)11988(xtende)3960(d)24795(\027)7551
+(.fp)3834(\030)10125(r)6372(e)3276(quest.)4086(A)24660(s)6147
+(simple)6507(e)27126(xamples,)3960 227315 t
+7.2 @21 f
+-79 T
+66188 145606 m
+(.fp)(0)16505(R)7447(somefont)7447(pfb)39150 136737 t
+66188 157606 m
+(.ft)(R)16505 82693 t
+66188 169606 m
+(Here)(is)21034(some)11976(text)21034(in)21034(somefont.)11976 153242 t
+9 @11 f
+0 T
+55145 181606 m
+&11@8
+(\273)55145 t
+&11
+(Her)(e)13869(is)7020(some)8946(te)22176(xt)6804(in)10251(somefont.)10314 145568 t
+48188 205606 m
+(or)(,)7353(with)4977(the)19845(Linux)14706(Lib)24255(ertine)11718
+(font)24552(use)18045(d)12375(in)7551(this)10314(do)16632(cument,)9153 229664 t
+7.2 @21 f
+-79 T
+66188 229606 m
+(.fp)(0)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 241606 m
+(.ft)(R)16505 82693 t
+66188 253606 m
+(Here)(is)21034(some)11976(text)21034(in)21034(Linux)11976(Libertine)25563
+(Regular.)43679 222484 t
+9 @11 f
+0 T
+55145 265606 m
+&11@8
+(\273)55145 t
+&11
+(Her)(e)13869(is)7020(some)8946(te)22176(xt)6804(in)10251(Linux)10314
+(Lib)24255(ertine)11718(Regular)24552(.)27891 233984 t
+57188 289606 m
+(But)(it)15642(is)8010(also)8676(p)17262(ossible)4734(to)27558
+(hav)10107(e)13356(di\005er)6751(ent)19530(names)14473(for)26362
+(the)13402(metrics)14437(and)29854(glyph)16273(data)23752 327367 t
+48188 301606 m
+(\003les,)(as)19926(in)10620 78734 t
+7.2 @21 f
+-79 T
+66188 325606 m
+(.fp)(0)16505(R)7447(mykerning.afm)7447(somefont.pfb)61795 159382 t
+66188 337606 m
+(.ft)(R)16505 82693 t
+66188 349606 m
+(This)(text)21034(prints)21034(in)30092(somefont)11976(using)39150
+(modified)25563(kerning.)39150 254187 t
+9 @11 f
+0 T
+55145 361606 m
+&11@8
+(\273)55145 t
+&11
+(This)(te)19161(xt)6804(prints)10251(in)24687(somefont)10314
+(using)37224(mo)23103(difie)11709(d)16308(kerning.)7551 233300 t
+57188 385606 m
+(The)(default)17168(higher\001r)28409(esolution)30312(\027)36851
+(ps)4275(\030)9081(PostScript)6305(de)40208(vice)8514(always)17717
+(uses)28401 284429 t
+8.1 @11 f
+953 T
+(AFM)303182 t
+9 @11 f
+0 T
+(\003les)(;)15543 340867 t
+48188 397606 m
+(it)(supp)7991(orts)17694(the)16946(conv)14417(entional)17667
+(\027)32795(.fp)3834(\030)10125(r)6083(e)3276(quest)4086(for)22391
+(backwar)13382(ds)31122(compatibility)10772(to)51443(sele)10088
+(ct)13995 336295 t
+48188 409606 m
+(pr)(e\001installe)7947(d)33687(fonts)7551(fr)21555(om)6066(the)14643 139637 t
+8.1 @11 f
+953 T
+(PDF)154343 t
+9 @11 f
+0 T
+(base)(set.)19080 193267 t
+57188 421606 m
+(With)(fonts)21785(sele)21659(cte)13995(d)10782(by)7655(this)12173
+(metho)16736(d,)23418(lo)9635(calize)6975(d)20682(input)7655
+(pr)22713(o)7947(cessing)4599(is)29814(p)9051(erforme)4734(d)29241 338437 t
+48188 433606 m
+(accor)(ding)19629(to)20386(the)11395 99598 t
+8.1 @11 f
+953 T
+(LC_)(CT)16223(YPE)12167 143711 t
+9 @11 f
+0 T
+(envir)(onment)19089(variable)32283(,)29232(or)5994(accor)11898
+(ding)19629(to)20385(a)11394(do)8127(cu\001)9153 331318 t
+48188 445606 m
+(ment\001sp)(e)30141(ci\003c)4086(value)18180(set)22761(by)13374
+(the)12069(\027)14706(.lc_ctyp)3834(e)28647(\030)4707(r)6372
+(e)3276(quest)4086(:)20277 234704 t
+7.2 @21 f
+-79 T
+66188 469606 m
+(.)(\015)3809(\016)3809(Enable)7447(long)30092(request)21034
+(names.)34621 167000 t
+66188 481606 m
+(.do)(xflag)16505(3)25563 108256 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 5
+%%Page: 2 6
+save
+mark
+6 pagesetup
+10 @11 f
+0 T
+75118 517133 m
+&11@9
+(\107)75118 t
+ [ /Label (2) /PAGELABEL pdfmark
+7.2 @21 f
+-79 T
+93118 73606 m
+(.)(\015)3809(\016)3809(de_DE.utf8)7447(is)48208(for)11976(GNU)16505
+(libc;)16505(de_DE.UTF\0018)25563(works)52737(elsewhere.)25563 305240 t
+93118 85606 m
+(.lc_ctype)(de_DE.utf8)43679 136797 t
+93118 97606 m
+(Deutscher)(Text)43679(mit)21034 157831 t
+&21@2
+(\337)174336 t
+&21
+(Anf\315hrungszeichen)176813 t
+&21@2
+(\340)253806 t
+9 @11 f
+0 T
+82075 109606 m
+&11@8
+(\273)82075 t
+&11
+(Deutscher)(T)40527(e)4806(xt)3960(mit)10251 152662 t
+&11@7
+(\002)168052 t
+&11
+(Anf\325hrungszeichen)170986 t
+&11@7
+(\003)243418 t
+7.2 @21 f
+-79 T
+93118 121606 m
+(.sp)93118 t
+93118 133606 m
+(The)(first)16505(five)25563(small)21034(letters)25563(of)34621
+(the)11976(Greek)16505(alphabet:)25563 270448 t
+9 @20 f
+0 T
+(\052)(\100)8597(\105)7859(\102)6617(\103)7364 344564 t
+&11
+82075 145606 m
+&11@8
+(\273)82075 t
+&11
+(The)(first)17235(fiv)17928(e)9630(small)7020(letters)22482(of)25965
+(the)10323(Gr)14706(e)9441(ek)4086(alphab)11628(et)24642(:)7461 275665 t
+&11@3
+(\166)(\167)8091(\170)7650(\171)7542(\172)7416 311485 t
+&11
+84118 169606 m
+(Note)(that)19949(any)16898(use)15881(of)14567 151413 t
+8.1 @11 f
+953 T
+(AFM)160994 t
+9 @11 f
+0 T
+(,)(Op)4235(enT)11052(yp)13833(e)9369(,)3933(or)4235(T)10139
+(rue)5193(T)11709(yp)4932(e)9369(\003les)6278(r)17204(e)3276
+(quir)4086(es)15021(that)9788(the)16898(out\001)13965 354720 t
+75118 181606 m
+(put)(of)14615 89733 t
+&12
+(tr)(o\005)5904 105284 t
+&11
+(is)(passe)8270(d)19890(to)6875(the)9701(e)14030(xactly)3960
+(matching)24551(v)36899(ersion)4401(of)25055 270372 t
+&12
+(dp)(ost,)8865 288884 t
+&11
+(i.e)(.)8352(to)4301(the)9700(one)14029(that)15757 355278 t
+75118 193606 m
+(was)(deliv)17281(er)17793(e)7299(d)4086(with)7489(the)19783
+(same)14644(r)21691(elease)3276(of)25003(this)10261(package)16571
+(.)29790(Sending)4916(such)32573 307574 t
+&12
+(tr)(o\005)5904 333397 t
+&11
+(output)345468 t
+75118 205606 m
+(dir)(e)10269(ctly)4086(to)16413(a)10085(print)6818(sp)20885
+(o)8244(oler)4599(that)16988(inv)17348(okes)11718(a)19382(system)6818
+(v)28337(ersion)4401(of)25439 286948 t
+&12
+(dp)(ost)8865 305844 t
+&11
+(will)(thus)16619(usu\001)18680 353811 t
+75118 217606 m
+(ally)(not)16497(w)15255(ork.)6651 113521 t
+84118 229606 m
+(The)(historical)16728(metho)36789(d)23418(r)7044(e)3276(quir)4086
+(es)15021(font)10023(tables)17539(to)23794(b)9871(e)4527(generate)6514
+(d)31815(manually)7045(.)33849(It)4471(is)8008(still)8440 356376 t
+75118 241606 m
+(supp)(orte)17694(d,)14814(and)9168(is)16179(still)8583(the)16179
+(default)14343(for)28113(the)13308(lo)14342(w)6849(er\001r)6651
+(esolution)13689(\027)36554(p)4275(ost)4734(\030)11790(PostScript)6008
+(de\001)39911 358302 t
+75118 253606 m
+(vice)(,)14697(but)5305(it)15385(is)8608(not)9274(r)15583(e)3276
+(commende)4086(d)40149(anymor)7879(e)28548(that)7348(it)17968
+(is)8609(use)9275(d)12375(for)7880(adding)14000(fonts.)28364
+(Lo\001)23864 357591 t
+75118 265606 m
+(calize)(d)20682(input)8691(pr)23748(o)7947(cessing)4599(accor)30849
+(ding)19629(to)20508 211771 t
+8.1 @11 f
+953 T
+(LC_)(CT)16223(YPE)12167 251678 t
+9 @11 f
+0 T
+(is)(not)10085(available)16394(with)36599(this)20984 356286 t
+75118 277606 m
+(metho)(d.)23418 98536 t
+[ /Dest /Bookmark$2
+ /View [/XYZ -4 293.394 0]
+/DEST pdfmark
+&12
+75118 313606 m
+(Installing)(PostScript)36720(T)37899(yp)4455(e)8991 163183 t
+&12@8
+(\102)169789 t
+&12
+(fonts)175693 t
+&11
+84118 337606 m
+(Making)(additional)30498(fonts)39255(available)20967(is)34872
+(easy)8359(with)18691(the)19258(curr)14119(ent)15255(metho)14155
+(d.)23418(If)8944(y)7873(ou)4563(buy)11725 356070 t
+75118 349606 m
+(a)(PostScript)6632(T)39797(yp)4932(e)9369 135848 t
+&11@9
+(\106)142868 t
+&11
+(font)(for)17567(use)13193(with)14831 194020 t
+&12
+(tr)(o\005,)5904 219291 t
+&11
+(sele)(ct)13995(the)9214(Windo)14227(ws)24903(v)12751(ersion.)4401
+(Y)27232(ou)4536(will)11833 356007 t
+75118 361606 m
+(get)(a)14364(set)7110(of)13374(\003les)10323(fr)17946(om)6066
+(the)14643(v)14706(endor)4401(.)20808(Only)4977(tw)21204(o)9495
+(of)7533(them)10323(ar)21816(e)7389(of)7020(inter)10323(est)17460
+(for)13374 329773 t
+&12
+(tr)(o\005)5904(:)9729 359077 t
+&11
+93118 385606 m
+(x)(x)4500(x)4500(x)4500(x)4500(x)4500(x)4500(x.afm)4500 124618 t
+102118 397606 m
+(This)(is)18848(the)8633(metrics)14393(\003le)29810(.)11349 185151 t
+&12
+(tr)(o\005)5904 195720 t
+&11
+(accesses)(it)33078(to)7968(learn)10065(the)21423(widths)14394
+(of)27597(characters)10011 332076 t
+102118 409606 m
+(in)(the)10314(font.)14706 127138 t
+93118 433606 m
+(x)(x)4500(x)4500(x)4500(x)4500(x)4500(x)4500(x.p)4500 124618 t
+&11@9
+(\124)135679 t
+&11
+102118 445606 m
+(This)(\003le)19556(contains)14832(the)34443(actual)15102(glyph)25470
+(data.)24417 235938 t
+&12
+(tr)(o\005)5904 262839 t
+&11
+(do)(es)9153(not)10926(r)15651(eally)3276(ne)20916(e)8964(d)4086
+(this)7947 356286 t
+102118 457606 m
+(\003le)(,)11349(but)4244(the)14324(printer)13973(or)27815 173823 t
+8.1 @11 f
+953 T
+(PDF)183971 t
+9 @11 f
+0 T
+(conv)(erter)17667(do)19850(es.)9153(In)11776(many)9814(cases,)22999
+(it)23251(is)7546(most)8212(con\001)20263 353613 t
+102118 469606 m
+(v)(enient)4401(to)25980(include)10275(the)29796(data)14604(dir)18519
+(e)10269(ctly)4086(into)16602(the)17592(.ps)14604(\003le)13056
+(generate)14334(d,)31815(as)9429(in)10519(the)10213 358212 t
+102118 481606 m
+(e)(xamples)3960(ab)33210(o)8640(v)4473(e)4401(.)3933 160735 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 6
+%%Page: 3 7
+save
+mark
+7 pagesetup
+10 @11 f
+338511 517133 m
+&11@9
+(\110)338511 t
+ [ /Label (3) /PAGELABEL pdfmark
+9 @11 f
+57188 73606 m
+(Cr)(eate)9090(a)19303(dir)8413(e)10269(ctor)4086(y)14715(to)8935
+(hold)11680(y)20608(our)4563(fonts.)16963(For)24838(compatibility)16549
+(with)53036(futur)21149(e)18468(v)8324(er\001)4401 332578 t
+48188 85606 m
+(sions)(of)23591 71779 t
+&12
+(tr)(o\005,)5904 89727 t
+&11
+(it)(is)10001(r)10666(e)3276(commende)4086(d)40149(that)9271
+(it)19360(is)10000(put)10666(outside)17011(the)31402 271439 t
+&12
+(tr)(o\005)5904 293769 t
+&11
+(hierar)(chy)22041 329662 t
+48188 97606 m
+(/usr/ucblib/do)(cto)51831(ols)11295(;)11016(something)6402(b)42961
+(elo)4527(w)10872(/usr/lo)11002(cal)24426(may)14620(b)20137(e)4527
+(a)8302(go)8392(o)9099(d)4599(choice)8833(.)23454(For)6259 330742 t
+48188 109606 m
+(each)(font)20729(y)18947(ou)4563(want)13214(to)22457(install,)11279
+(cop)28415(y)12996(or)8534(link)11783(b)18200(oth)4527(the)16121 239953 t
+8.1 @11 f
+953 T
+(AFM)255561 t
+9 @11 f
+0 T
+(and)(the)17444 296115 t
+8.1 @11 f
+953 T
+(PFB)311723 t
+9 @11 f
+0 T
+(\003le)331552 t
+48188 121606 m
+(into)(the)17103(dir)14115(e)10269(ctor)4086(y)14715(.)4104(Set)4386
+(the)13639 130605 t
+8.1 @11 f
+953 T
+(TROFFON)(TS)41448 186169 t
+9 @11 f
+0 T
+(envir)(onment)19089(variable)30676(to)31729(this)9787(dir)16042
+(e)10269(ctor)4086(y)14715(;)5229 340867 t
+48188 133606 m
+(if)(y)8602(ou)4563(hav)12688(e)13356(multiple)7396(font)33991
+(dir)18421(e)10269(ctories,)4086(y)29905(ou)4563(can)12687(separate)16215
+(them)34017(in)22191 281138 t
+8.1 @11 f
+953 T
+(TROFFON)(TS)41448 333275 t
+9 @11 f
+0 T
+48188 145606 m
+(by)(colons,)11926(just)28522(as)16435(in)10477(the)10171 125719 t
+8.1 @11 f
+953 T
+(P)(A)4858(TH)6072 151212 t
+9 @11 f
+0 T
+(variable)(for)32176(the)13529(shell,)14564(e)21962(.g.)3933
+(\027)11315 264198 t
+8.1 @11 f
+953 T
+(TROFFON)(TS)41448 309921 t
+9 @11 f
+0 T
+(=/usr/)320590 t
+48188 157606 m
+(lo)(cal/shar)6975(e/fonts:/usr/shar)28989(e/fonts)60804(e)28049
+(xp)3960(ort)9144 186109 t
+8.1 @11 f
+953 T
+(TROFFON)(TS)41448 240846 t
+9 @11 f
+0 T
+(\030)(.)2934(W)4541(rite)8199(the)15215(de\003nition)14270(in)38191 335674 t
+48188 169606 m
+(y)(our)4563(\027)15475(.pr)3834(o\003le)9927(\030)16659(or)6187
+(a)10696(similar)6925(startup)28147(\003le)28921(to)14251(make)10192
+(it)22667(p)8096(ermanent.)4734(Y)40010(ou)4536(can)12128(no)15656
+(w)9351(use)9536 330679 t
+48188 181606 m
+(the)(fonts)14367(with)21216 83771 t
+&12
+(tr)(o\005.)5904 109181 t
+&11
+(If)(y)8120(ou)4563(want)11972(to)21215(install)10037(mor)25193
+(e)14922(fonts)6680(later)21215(,)16173(it)4637(is)7940(su\006cient)8606
+(to)36443(put)10037 330697 t
+48188 193606 m
+(them)(into)21816(the)17694(font)14706(dir)18045(e)10269(ctor)4086
+(y)14715(.)4104 153623 t
+[ /Dest /Bookmark$3
+ /View [/XYZ -4 377.394 0]
+/DEST pdfmark
+&12
+48188 229606 m
+(Installing)(Op)36720(enT)10476(yp)12726(e)8991(or)6606(T)10233
+(rue)4716(T)11070(yp)4455(e)8991(fonts)6606 169778 t
+&11
+57188 253606 m
+(The)(pr)18852(o)7947(ce)4599(dur)7938(e)12609(for)8637(Op)15288
+(enT)11052(yp)13833(e)9369(and)8637(T)18159(rue)5193(T)11709
+(yp)4932(e)9369(fonts)8637(is)23173(nearly)10564(the)27988(same)16324
+(as)23371 335368 t
+48188 265606 m
+(for)(T)14024(yp)4932(e)9369 76513 t
+&11@9
+(\106)83533 t
+&11
+(fonts,)(e)23888(xcept)3960(that)23150(ther)17993(e)14985(is)7372
+(only)9298(one)19774(\003le)16786(\027)14788(FontName)4275(.otf)38070
+(\030)13707(\()6724(or)3123(\027)11233(Font\001)4275 323326 t
+48188 277606 m
+(Name)(.)21447 69635 t
+&11@9
+(\137)71615 t
+&11
+(f)(\030\))4347(with)8785(them)19576(that)21547(contains)17371
+(b)33778(oth)4527(metrics)14950(and)29854(glyph)16274(data.)23753
+(Just)20333(cop)16760(y)12996(this)7364 329356 t
+48188 289606 m
+(\003le)(to)14436(a)10377(dir)7110(e)10269(ctor)4086(y)14715
+(giv)7632(en)11340(in)11898(the)10314 150365 t
+8.1 @11 f
+953 T
+(TROFFON)(TS)41448 206519 t
+9 @11 f
+0 T
+(path.)220185 t
+[ /Dest /Bookmark$4
+ /View [/XYZ -4 281.394 0]
+/DEST pdfmark
+&12
+48188 325606 m
+(Using)(Op)23319(enT)10476(yp)12726(e)8991(featur)6606(es)21402 131708 t
+&11
+57188 349606 m
+(High\001quality)(Op)50605(enT)11052(yp)13833(e)9369(fonts)7523
+(may)22058(contain)19358(featur)31040(e)21825(tables)7523(that)24803
+(allo)18143(w)13338(sp)10223(e)8244(cial)4086 330211 t
+48188 361606 m
+(typ)(ographic)12213(e\005e)34862(cts.)13347(For)14747(e)14810
+(xample)3960(,)26613(the)4541(Linux)14270(Lib)23819(ertine)11718
+(font)24116(contains)17609(sup)33610(erscripts)13023 311446 t
+48188 373606 m
+(characters)(that)40842(can)17640(b)15840(e)4527(accesse)7020
+(d)26946(with)7551(the)19845(\027)14706(.featur)3834(e)23805
+(\030)4707(r)6372(e)3276(quest)4086(in)22680 271865 t
+&12
+(tr)(o\005)5904(:)9729 297812 t
+7.2 @21 f
+-79 T
+66188 397606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 409606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 421606 m
+(.fp)(0)16505(U)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 433606 m
+(.feature)(U)39150(+sups)7447 112785 t
+66188 445606 m
+(.ft)(R)16505 82693 t
+66188 457606 m
+(Regular)(text)34621(which)21034(ends)25563(with\015fUsuperscript\015fR.)21034 168440 t
+9 @11 f
+0 T
+55145 469606 m
+&11@8
+(\273)55145 t
+&11
+(Regular)(te)31419(xt)6804(which)10251(ends)25695(with)19962 160319 t
+&11
+&11@2
+(\270)177167 t
+&11@4
+(\344\342\325)179444 t
+&11@2
+(\214\270)188003 t
+&11@4
+(\362)192494 t
+&11@2
+(\214)195032 t
+&11@7
+(\021)197246 t
+&11@4
+(\342\343)198992 t
+&11
+(.)203771 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 7
+%%Page: 4 8
+save
+mark
+8 pagesetup
+10 @11 f
+0 T
+75118 517133 m
+&11@9
+(\111)75118 t
+ [ /Label (4) /PAGELABEL pdfmark
+9 @11 f
+84118 73606 m
+(T)(o)4806(r)7064(etrie)3276(v)16614(e)4401(a)6552(list)6642
+(of)13698(featur)9855(es)21825(in)10062(an)9846(individual)11520
+(font)39573(that)17577(ar)17172(e)7389(available)6552(with)34992 333534 t
+&12
+(tr)(o\005,)5904 358815 t
+&11
+75118 85606 m
+(use)(\027)15309(otf_info)4059 94486 t
+&11@7
+(\307)126670 t
+&11
+(s)(font.otf)6507(\030)28755(.)2934(T)4977(ypical)4932(useful)25083
+(featur)25254(es)21825(ar)10530(e)7389(:)4617 274423 t
+7.2 @21 f
+-79 T
+109977 109606 m
+(+c2sc)109977 t
+9 @11 f
+0 T
+(conv)(erts)17667(capitals)16722(to)30915(small)10377(capitals)22482 269848 t
+7.2 @21 f
+-79 T
+109977 121606 m
+(+case)109977 t
+9 @11 f
+0 T
+(substitutions)(for)51912(use)15237(in)16875(combination)11880
+(with)50625 318214 t
+171685 133606 m
+(te)(xt)6804(in)10251(all\001capital)10314(le)39312 238366 t
+&11@9
+(\137)244765 t
+&11
+(ers)250291 t
+7.2 @21 f
+-79 T
+109977 145606 m
+(+onum)109977 t
+9 @11 f
+0 T
+(old\001style)(numerals)34893 206578 t
+7.2 @21 f
+-79 T
+109977 157606 m
+(+pnum)109977 t
+9 @11 f
+0 T
+(pr)(op)7947(ortional)9270(\()32067(lining\))3384(numerals)27189 251542 t
+7.2 @21 f
+-79 T
+109977 169606 m
+(+pnum)(+onum)25563 135540 t
+9 @11 f
+0 T
+(pr)(op)7947(ortional)9270(old\001style)32067(numerals)34893 255862 t
+7.2 @21 f
+-79 T
+109977 181606 m
+(+smcp)109977 t
+9 @11 f
+0 T
+(conv)(erts)17667(lo)16722(w)6849(er\001case)6651(le)28908 248482 t
+&11@9
+(\137)254881 t
+&11
+(ers)(to)13878(small)10377(capitals)22482 307144 t
+7.2 @21 f
+-79 T
+109977 193606 m
+(+smcp)(+c2sc)25563 135540 t
+9 @11 f
+0 T
+(conv)(erts)17667(all)16722(le)11862 217936 t
+&11@9
+(\137)224335 t
+&11
+(ers)(to)13878(small)10377(capitals)22482 276598 t
+7.2 @21 f
+-79 T
+109977 205606 m
+(+titl)109977 t
+9 @11 f
+0 T
+(titling)(characters)25317 197002 t
+7.2 @21 f
+-79 T
+109977 217606 m
+(+sups)109977 t
+9 @11 f
+0 T
+(sup)(erscript)13023 184708 t
+7.2 @21 f
+-79 T
+109977 229606 m
+(+infs)109977 t
+9 @11 f
+0 T
+(subscript)171685 t
+7.2 @21 f
+-79 T
+109977 241606 m
+(+zero)109977 t
+9 @11 f
+0 T
+(slashe)(d)22437(zer)7551(o)11115 212788 t
+84118 265606 m
+(Featur)(es)23400(such)10232(as)19683(\027)10323(aalt)4275(\030)14346
+(or)6075(\027)10584(ornm)4059(\030)20772(which)6075(only)25398
+(map)19125(sets)18594(of)16587(v)10026(er)4401(y)7506(sp)7335
+(e)8244(cial)4086(char\001)15480 350724 t
+75118 277606 m
+(acters)(to)24416(di\005er)10106(ent)19530(p)14471(ositions)4734
+(ar)31418(e)7389(normally)6749(not)36097(useful)14983(with)24982 269993 t
+&12
+(tr)(o\005)5904 295470 t
+&11
+(since)(these)21427(char\001)21967 350724 t
+75118 289606 m
+(acters)(can)24982(b)16135(e)4527(accesse)7315(d)26946(dir)7846
+(e)10269(ctly)4086(using)16999(\027)23398(\022[name])4275(\030)30015
+(escap)6667(e)20232(se)7315(quences)7596(any)32884(way)13761
+(.)14940(T)5273(o)4806 365385 t
+75118 301606 m
+(make)(an)23821(individual)12958(alternate)41011(character)36529
+(the)38302(default,)15675(the)31425(\027)15675(.ftr)3834(\030)11862
+(r)7341(e)3276(quest)4086(can)23649(b)16809(e)4527 365898 t
+75118 313606 m
+(use)(d)12375(:)5148 92641 t
+7.2 @21 f
+-79 T
+93118 337606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 349606 m
+(.fp)(0)16505(R)7447(LinLibertine_R)7447(otf)66324 190841 t
+93118 361606 m
+(.ftr)(R)21034(h\015[h.alt])7447 121599 t
+93118 373606 m
+(.ft)(R)16505 109623 t
+93118 385606 m
+(Using)(alternate)25563(character)43679(in)43679(the)11976(word)16505
+(\024\024hello.\025\025)21034 255554 t
+9 @11 f
+0 T
+82075 397606 m
+&11@8
+(\273)82075 t
+&11
+(Using)(alternate)24273(character)35559(in)37332(the)10314(w)14706
+(or)6651(d)7812(\032\032)7551 237316 t
+&11@9
+(\156)242140 t
+&11
+(ello)(.)13221(\033\033)882 260941 t
+84118 421606 m
+(Featur)(e)23400(mappings)7467(r)39336(esult)3276(in)20976(changes)10761
+(to)33162(the)10824(same)15154(internal)22201(data)32344(structur)19069
+(es)29232(as)10978 362298 t
+75118 433606 m
+(the)(\027)14301(.ftr)3834(\030)11862(r)5967(e)3276(quest.)4086
+(It)24255(is)8109(thus)8541(p)18567(ossible)4734(to)27423(make)9972
+(adjustments)22446(to)47205(mappings)9972(by)38484(using)11663 349815 t
+75118 445606 m
+(\027)(.ftr)3834(\030)11862(a)5852 96666 t
+&11@9
+(\134)100779 t
+&11
+(er)(\027)9849(.featur)3834(e)23805(\030)4707(,)2934(or)4458
+(to)10362(cr)9858(eate)7128(p)17481(ersonalize)4734(d)37125(variants)7032
+(by)32196(using)11550(\027)22584(.ftr)3834(\030)11862(base)5853
+(d)16146(on)7032 360507 t
+75118 457606 m
+(the)(data)14706(obtaine)18621(d)27333(fr)7551(om)6066(\027)14643
+(otf_info)4059 168097 t
+&11@7
+(\307)200281 t
+&11
+(s)(\030)4410(.)2934 212575 t
+84118 469606 m
+(The)(\027)18245(.featur)3834(e)23805(\030)4707(r)7382(e)3276
+(quest)4086(must)23690(still)22250(b)17552(e)4527(activ)8030
+(e)17649(for)8030(a)14681(font)8120(when)19055(a)24473(character)8120
+(is)38342 363972 t
+75118 481606 m
+(printe)(d)22266(;)5148(disabling)4796(a)35918(featur)6784(e)21825
+(with)6694(\027)19519(.featur)3834(e)23805 225707 t
+8.1 @11 f
+953 T
+(F)232401 t
+9 @11 f
+0 T
+&11@7
+(\307)239953 t
+&11
+(feat)(\030)14670(only)6046(w)19096(orks)6651(completely)18673
+(if)43117(all)7900 361056 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 8
+%%Page: 5 9
+save
+mark
+9 pagesetup
+10 @11 f
+338741 517133 m
+&11@9
+(\112)338741 t
+ [ /Label (5) /PAGELABEL pdfmark
+9 @11 f
+48188 73606 m
+(of)(its)10175(mappings)11642(ar)38741(e)7389(still)6872(in)16394
+(p)10166(osition.)4734(It)30011(is)8367(thus)8799(r)18825(e)3276
+(commende)4086(d)40149(that)7404(the)17493(\027)14559(.featur)3834
+(e)23805(\030)4707 339616 t
+48188 85606 m
+(r)(e)3276(quest)4086(is)22196(use)8462(d)12375(only)7067(once)18938
+(for)19802(a)13187(font)6626(imme)17561(diately)20745(a)27497 230006 t
+&11@9
+(\134)234119 t
+&11
+(er)(it)9884(has)7796(b)14978(e)4527(en)4086(mounte)11413(d,)28233
+(and)9046 329446 t
+48188 97606 m
+(that)(a)17271(font)6741(is)17676(mounte)8577(d)28233(multiple)7182
+(times,)33247(each)24535(time)19459(for)19045(enabling)13303
+(an)34273(individual)11620(fea\001)39673 329023 t
+48188 109606 m
+(tur)(e)10899(set.)6489(Doing)14823(so)25128(has)10512(the)14931
+(additional)14175(advantage)39312(that)40077(switching)17109
+(b)38493(etw)4527(e)13518(en)4086(featur)11366(es)21825 335458 t
+48188 121606 m
+(is)(conv)8946(eniently)17667(p)33093(ossible)4734(using)27828
+(the)23103(\027)14706(\022f)4275(\030)6930(escap)6372(e)20232
+(se)7020(quence)7596(.)25992 256682 t
+[ /Dest /Bookmark$5
+ /View [/XYZ -4 449.394 0]
+/DEST pdfmark
+&12
+48188 157606 m
+(Using)(fonts)23319(with)20448(old\001style)19107(numerals)33282 144344 t
+&11
+57188 181606 m
+(A)(T)8552(yp)4932(e)9369 80041 t
+&11@9
+(\106)87061 t
+&11
+(font)(with)17345(old\001style)19145(numerals)34194(but)36435
+(other)14358(wise)19728(standar)18993(d)27288(characters)6852
+(usu\001)40143 326881 t
+48188 193606 m
+(ally)(do)16263(es)9153(not)10296(r)15020(e)3276(quir)4086(e)15021
+(any)6785(sp)16388(e)8244(cial)4086(me)15542(chanism.)11196(It)35486
+(can)8279(simply)15605(b)27503(e)4527(mounte)6785(d,)28233(sele)9296
+(ct\001)13995 333253 t
+48188 205606 m
+(e)(d,)4086(and)9531(use)16542(d.)12375 90722 t
+57188 217606 m
+(Old\001style)(numerals)36007(containe)36467(d)31626(in)6884
+(Op)9647(enT)11052(yp)13833(e)9369(fonts)6353(can)20888(b)15173
+(e)4527(accesse)6353(d)26946(conv)6884(enient\001)17667 316864 t
+48188 229606 m
+(ly)(by)10797(mapping)12858(them)36168(to)22605(the)11166(standar)15495
+(d)27288 184565 t
+8.1 @11 f
+953 T
+(ASCII)192905 t
+9 @11 f
+0 T
+(numb)(ers)21294(with)14667(the)20634(\027)15494(.featur)3834
+(e)23805(\030)4707(r)7160(e\001)3276 335926 t
+48188 241606 m
+(quest)(:)20277 68465 t
+7.2 @21 f
+-79 T
+66188 265606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 277606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 289606 m
+(.feature)(R)39150(+onum)7447 112785 t
+66188 301606 m
+(The)(numerals)16505(0)39150(1)7447(2)7447(3)7447(4)7447(5)7447
+(6)7447(7)7447(8)7447(9)7447(are)7447(in)16505(old\001style.)11976 224794 t
+9 @11 f
+0 T
+55145 313606 m
+&11@8
+(\273)55145 t
+&11
+(The)(numerals)17235 83423 t
+&11@9
+(\105)(\106)7857(\107)6039(\110)7155(\111)7029(\112)7326(\113)6822
+(\114)7254 170039 t
+&11@10
+(\017)176978 t
+&11@9
+(\116)184160 t
+&11
+(ar)(e)7389(in)7020(old\001style)10314(.)31806 247907 t
+[ /Dest /Bookmark$6
+ /View [/XYZ -4 257.394 0]
+/DEST pdfmark
+&12
+48188 349606 m
+(Using)(fonts)23319(with)20448(small)19107(capital)22383(le)27288 160733 t
+&12@8
+(\124)166736 t
+&12
+(ers)172190 t
+&11
+57188 373606 m
+(Small)(capital)22961(fonts)27030(sometimes)21180(ne)41727(e)8964
+(d)4086(le)7176 190312 t
+&11@9
+(\137)196711 t
+&11
+(er)(space)9993(tracking.)22791(Thus)35184(e)21126(.g.)3933(to)11082
+(use)10002(the)14934 331282 t
+48188 385606 m
+(Linux)(Lib)24255(ertine)11718(small)24552(capital)22482(font,)27405
+(y)20025(ou)4563(can)12312(write)15840(something)22374(like)41679 275393 t
+7.2 @21 f
+-79 T
+66188 409606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 421606 m
+(.fp)(0)16505(SC)7447(LinLibertine_R)11976(otf)66324 168440 t
+66188 433606 m
+(.feature)(SC)39150(+smcp)11976 117314 t
+66188 445606 m
+(.track)(SC)30092(1)11976(1.2)7447(40)16505(0)11976 144184 t
+66188 457606 m
+(.ft)(SC)16505 82693 t
+66188 469606 m
+(This)(text)21034(prints)21034(in)30092(Small)11976(Capitals.)25563 175887 t
+9 @11 f
+0 T
+55145 481606 m
+&11@8
+(\273)55145 t
+&11
+953 T
+(T)66188 t
+&11@9
+(\173\174\206)(\207\170\213\207)18815(\203\205\174\201\207\206)26365
+(\174\201)35102 152796 t
+&11
+(S)166869 t
+&11@9
+(\200\164\177\177)172187 t
+&11
+(C)198714 t
+&11@9
+(\164\203\174\207)(\164\177\206)19895 225376 t
+&11
+(.)240826 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 5 9
+%%Page: 6 10
+save
+mark
+10 pagesetup
+10 @11 f
+0 T
+75118 517133 m
+&11@9
+(\113)75118 t
+ [ /Label (6) /PAGELABEL pdfmark
+[ /Dest /Bookmark$7
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+75118 73606 m
+(Using)(a)23319(combination)7371(of)47322(e)9846(xp)3546(ert)8739
+(and)12582(standar)16434(d)26892(fonts)7398(for)20448(small)13059
+(capitals)22383 294457 t
+&11
+84118 97606 m
+(A)(T)9835(yp)4932(e)9369 108254 t
+&11@9
+(\106)115274 t
+&11
+(e)(xp)3960(ert)9144(font)13795(contains)18628(small)34630(capital)23065
+(le)27988 253106 t
+&11@9
+(\137)259505 t
+&11
+(ers)(but)14461(no)15641(upp)12995(er\001case)14184(capi\001)29492 351804 t
+75118 109606 m
+(tal)(le)12008 87126 t
+&11@9
+(\137)93525 t
+&11
+(ers.)(Since)15536(it)22232(w)7958(ould)6651(b)18919(e)4527(v)6697
+(er)4401(y)7506(inconv)7309(enient)24984(to)25759(change)10054
+(the)28882(font)14383(e)17722(xplicitly)3960(for)32716 359247 t
+75118 121606 m
+(each)(upp)20078(er\001case)14184(le)29159 138539 t
+&11@9
+(\137)144938 t
+&11
+(er)(,)6840(the)5228(fallback)14957(se)31913(quence)7596(is)29330
+(useful)9197(in)25505(this)10565(case)16883(.)15408(The)5229
+(e)17487(xp)3960(ert)9144 359706 t
+75118 133606 m
+(font)(is)18720(sele)9621(cte)13995(d)10782(as)8226(te)11295
+(xt)6804(font,)10926(but)20700(for)15732(each)14346(upp)20502
+(er\001case)14184(le)29583 280534 t
+&11@9
+(\137)286933 t
+&11
+(er)(encounter)11043(e)37089(d,)4086 344677 t
+&12
+(tr)(o\005)5904 360786 t
+&11
+75118 145606 m
+(changes)(automatically)32715(to)53127(the)10377(standar)14706
+(d)27288(font)7551(:)15642 236524 t
+7.2 @21 f
+-79 T
+93118 169606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 181606 m
+(.fp)(1)16505(R)7447(normalfont)7447(pfb)48208 172725 t
+93118 193606 m
+(.fp)(0)16505(E)7447(expertfont)7447(pfb)48208 172725 t
+93118 205606 m
+(.track)(E)30092(1)7447(.2)7447(24)11976(2)11976 162056 t
+93118 217606 m
+(.fallback)(E)43679(R)7447 144244 t
+93118 229606 m
+(.ft)(E)16505 109623 t
+93118 241606 m
+(This)(text)21034(prints)21034(in)30092(Small)11976(Capitals.)25563 202817 t
+9 @11 f
+0 T
+82075 253606 m
+&11@8
+(\273)82075 t
+&11
+953 T
+(T)93118 t
+&11@9
+(\173\174\206)(\207\170\213\207)18815(\203\205\174\201\207\206)26365
+(\174\201)35102 179726 t
+&11
+(S)193799 t
+&11@9
+(\200\164\177\177)199117 t
+&11
+(C)225644 t
+&11@9
+(\164\203\174\207)(\164\177\206)19895 252306 t
+&11
+(.)267756 t
+&11
+0 T
+84118 277606 m
+(For)(Op)15851(enT)11052(yp)13833(e)9369(fonts,)7625(all)24140
+(small)12467(capital)23087(le)28010 229552 t
+&11@9
+(\137)235951 t
+&11
+(ers)(ar)14483(e)7389(containe)7626(d)31626(within)8157(the)27768
+(base)15312 353838 t
+75118 289606 m
+(font,)(and)20025(the)16542(\027)14706(smcp)4275(\030)19827(featur)6372
+(e)21825(accesses)7020(them)33390(as)21816(sho)10620(wn)12825
+(ab)14598(o)8640(v)4473(e)4401(.)3933 300406 t
+[ /Dest /Bookmark$8
+ /View [/XYZ -4 281.394 0]
+/DEST pdfmark
+&12
+75118 325606 m
+(Using)(a)23319(combination)7371(of)47322(e)9846(xp)3546(ert)8739
+(and)12582(standar)16434(d)26892(fonts)7398(for)20448(old\001style)13059
+(numerals)33282 305356 t
+&11
+84118 349606 m
+(This)(also)20116(uses)18487(the)19774(fallback)15661(se)32617
+(quence)7596(,)25992(but)5933(since)16013(the)22655(standar)15662
+(d)27288(numerals)8507(ar)38090(e)7389 365898 t
+75118 361606 m
+(pr)(esent)7947(in)22171(the)10210(standar)14602(d)27288(font,)7447
+(the)19921(y)11646(hav)7528(e)13356(to)6916(b)10273(e)4527(hidden)6915
+(\003rst)28182(so)17634(that)10938 302619 t
+&12
+(tr)(o\005)5904 326058 t
+&11
+(do)(es)9153(not)10425 357663 t
+75118 373606 m
+(sele)(ct)13995(them)9693(:)19413 118219 t
+7.2 @21 f
+-79 T
+93118 397606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 409606 m
+(.fp)(1)16505(R)7447(normalfont)7447(pfb)48208 172725 t
+93118 421606 m
+(.fp)(0)16505(E)7447(expertfont)7447(pfb)48208 172725 t
+93118 433606 m
+(.fallback)(R)43679(E)7447 144244 t
+93118 445606 m
+(.hidechar)(R)43679(0123456789)7447 144244 t
+93118 457606 m
+(.ft)(R)16505 109623 t
+93118 469606 m
+(The)(numerals)16505(0)39150(1)7447(2)7447(3)7447(4)7447(5)7447
+(6)7447(7)7447(8)7447(9)7447(are)7447(in)16505(old\001style.)11976 251724 t
+9 @11 f
+0 T
+82075 481606 m
+&11@8
+(\273)82075 t
+&11
+(The)(numerals)17235 110353 t
+&11@9
+(\105)(\106)7857(\107)6039(\110)7155(\111)7029(\112)7326(\113)6822
+(\114)7254 196969 t
+&11@10
+(\017)203908 t
+&11@9
+(\116)211090 t
+&11
+(ar)(e)7389(in)7020(old\001style)10314(.)31806 274837 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 6 10
+%%Page: 7 11
+save
+mark
+11 pagesetup
+10 @11 f
+338611 517133 m
+&11@9
+(\114)338611 t
+ [ /Label (7) /PAGELABEL pdfmark
+[ /Dest /Bookmark$9
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+48188 73606 m
+(Using)(the)23319(e)14040(xp)3546(ert)8739(font)12582(for)17271
+(b)13059(oth)4392(small)14454(capitals)22383(and)30465(old\001style)16434
+(numerals)33282 262154 t
+&11
+57188 97606 m
+(The)(e)17711(xamples)3960(ab)33686(o)8640(v)4473(e)4401(can)7496
+(also)16316(b)18008(e)4527(combine)7496(d.)31338(Since)10007
+(the)23030(\027)15182(.track)3834(\030)21645(r)6848(e)3276(quest)4086
+(do)23157(es)9153 335458 t
+48188 109606 m
+(not)(a\005e)15302(ct)13437(the)9740(tracking)14753(of)33625
+(fonts)10369(that)21601(ar)17686(e)7389(sele)7066(cte)13995(d)10782
+(by)7597(the)12115(fallback)14752(se)31708(quence)7596(,)25992
+(it)5023(is)8326 337042 t
+48188 121606 m
+(su\006cient)(to)36783(mount)10377(each)27144(font)19827(once)18045
+(:)17883 178247 t
+7.2 @21 f
+-79 T
+66188 145606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 157606 m
+(.fp)(1)16505(R)7447(normalfont)7447(pfb)48208 145795 t
+66188 169606 m
+(.fp)(0)16505(E)7447(expertfont)7447(pfb)48208 145795 t
+66188 181606 m
+(.fallback)(R)43679(E)7447 117314 t
+66188 193606 m
+(.fallback)(E)43679(R)7447 117314 t
+66188 205606 m
+(.track)(E)30092(1)7447(.2)7447(24)11976(2)11976 135126 t
+66188 217606 m
+(.hidechar)(R)43679(0123456789)7447 117314 t
+66188 229606 m
+(.ft)(R)16505 82693 t
+66188 241606 m
+(The)(numerals)16505(0)39150(1)7447(2)7447(3)7447(4)7447(5)7447
+(6)7447(7)7447(8)7447(9)7447(are)7447(in)16505(old\001style.)11976 224794 t
+9 @11 f
+0 T
+55145 253606 m
+&11@8
+(\273)55145 t
+&11
+(The)(numerals)17235 83423 t
+&11@9
+(\105)(\106)7857(\107)6039(\110)7155(\111)7029(\112)7326(\113)6822
+(\114)7254 170039 t
+&11@10
+(\017)176978 t
+&11@9
+(\116)184160 t
+&11
+(ar)(e)7389(in)7020(old\001style)10314(.)31806 247907 t
+7.2 @21 f
+-79 T
+66188 265606 m
+(.br)66188 t
+66188 277606 m
+(.ft)(E)16505 82693 t
+66188 289606 m
+(But)(this)16505(text)21034(prints)21034(in)30092(Small)11976
+(Capitals.)25563 192392 t
+9 @11 f
+0 T
+55145 301606 m
+&11@8
+(\273)55145 t
+&11
+953 T
+(B)66188 t
+&11@9
+(\210\207)(\207\173\174\206)15801(\207\170\213\207)24529(\203\205\174\201\
+\207\206)26365(\174\201)35102 174230 t
+&11
+(S)188303 t
+&11@9
+(\200\164\177\177)193621 t
+&11
+(C)220148 t
+&11@9
+(\164\203\174\207)(\164\177\206)19895 246810 t
+&11
+(.)262260 t
+[ /Dest /Bookmark$10
+ /View [/XYZ -4 269.394 0]
+/DEST pdfmark
+&12
+0 T
+48188 337606 m
+(Using)(the)23319(e)14040(xp)3546(ert)8739(font)12582(for)17271
+(ligatur)13059(es)24138 164882 t
+&11
+57188 361606 m
+(PostScript)(T)40567(yp)4932(e)9369 112056 t
+&11@9
+(\106)119076 t
+&11
+(fonts)(usually)21847(do)29857(not)12379(contain)15547(ligatur)30829
+(es)24327(for)10822(\005,)13963(\006,)10507(and)12730(\007)16834
+(in)10625 335674 t
+48188 373606 m
+(the)(base)14658(font)19032(;)15642(an)5073(e)11940(xp)3960(ert)9144
+(font)13164(deliv)17997(ers)17793(them)13830(in)21767(addition.)10265
+(A)35285(utomatic)5949(substitution)35465 299152 t
+48188 385606 m
+(of)(such)10328(ligatur)19986(es)24327(can)10536(b)15846(e)4527
+(enable)7026(d)23913(using)7557(the)23109(\032\032)14712(.f)4383
+(lig\033\033)5130(r)17142(e)3276(quest)4086(in)22686(combination)10320
+(with)49065 326143 t
+48188 397606 m
+(the)(fallback)14706(se)31662(quence)7596(:)26676 128828 t
+7.2 @21 f
+-79 T
+66188 421606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 433606 m
+(.fp)(1)16505(R)7447(normalfont)7447(pfb)48208 145795 t
+66188 445606 m
+(.fp)(0)16505(E)7447(expertfont)7447(pfb)48208 145795 t
+66188 457606 m
+(.fallback)(R)43679(E)7447 117314 t
+66188 469606 m
+(.flig)(R)25563(ff)7447(\015\(ff)11976(ffi)21034(\015\(Fi)16505
+(ffl)21034(\015\(Fl)16505 186252 t
+66188 481606 m
+(.ft)(R)16505 82693 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 7 11
+%%Page: 8 12
+save
+mark
+12 pagesetup
+10 @11 f
+0 T
+75118 517133 m
+&11@10
+(\017)75118 t
+ [ /Label (8) /PAGELABEL pdfmark
+7.2 @21 f
+-79 T
+93118 73606 m
+(effective)(office)43679(offline)30092 166889 t
+9 @11 f
+0 T
+82075 85606 m
+&11@8
+(\273)82075 t
+&11
+(e\005e)(ctiv)13347(e)13536(o\006ce)7020(o\007ine)22869 149890 t
+84118 109606 m
+(Op)(enT)11052(yp)13833(e)9369(fonts)6817(contain)21352(all)30334
+(available)11659(ligatur)35257(es)24327(in)10327(the)10111(base)14504
+(font,)18878(so)19823(no)10841(sp)12209(e)8244(cial)4086 357141 t
+75118 121606 m
+(pr)(o)7947(ce)4599(dur)7938(e)12609(ne)7020(e)8964(ds)4086(to)11061
+(b)10377(e)4527(applie)7020(d)22356(with)7551(them.)19845 211018 t
+[ /Dest /Bookmark$11
+ /View [/XYZ -4 449.394 0]
+/DEST pdfmark
+&12
+75118 157606 m
+(De\003ning)(additional)33786(ligatur)39357(es)24138 172399 t
+&11
+84118 181606 m
+(Fonts)(may)22596(pr)18321(o)7947(vide)4473(ligatur)17952(es)24327
+(b)9996(e)4527(y)3960(ond)4563(the)16432(\003v)14173(e)9441(standar)6487
+(d)27288 276601 t
+&12
+(tr)(o\005)5904 289523 t
+&11
+(ones.)(The)21391(y)14175(ar)7099(e)7389(not)6487 357663 t
+75118 193606 m
+(activate)(d)28764(by)7845(default)12363(r)28770(egar)3276(dless)15912
+(of)21264(any)10617(de\003nitions)16917(in)42432(the)10608(font)15000
+(metrics)18339(\003les,)30417(but)20219 357861 t
+75118 205606 m
+(can)(b)15219(e)4527(enable)6399(d)23913(individually)6930(as)46431
+(desir)10000(e)17802(d)4086(;)5148 215573 t
+&12
+(tr)(o\005)5904 225978 t
+&11
+(will)(then)16291(r)18964(eplace)3276(se)25435(quences)7596(of)31969
+(char\001)9703 350724 t
+75118 217606 m
+(acters)(automatically)24012(with)52452(them)19170(as)21141(with)9945
+(the)19170(standar)14031(d)27288(ligatur)6876(es.)24327(For)11835
+(e)14571(xample)3960(,)26613(Lin\001)4301 354810 t
+75118 229606 m
+(ux)(Lib)12186(ertine)11718(contains)24552(ligatur)34047(es)24327
+(for)10530(use)13671(with)15309(the)19845(historic)14706(\027)30807 286816 t
+&11@1
+(\130)291091 t
+&11
+(\030)(le)6372 301639 t
+&11@9
+(\137)308038 t
+&11
+(er)(variant)10368(:)26802 350734 t
+7.2 @21 f
+-79 T
+93118 253606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 265606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 190841 t
+93118 277606 m
+(.flig)(R)25563(\015[longs]\015[longs])7447(\015[longs_longs])75382
+(\015[longs]i)66324(\015[longs_i])43679 311513 t
+93118 289606 m
+(.flig)(R)25563(\015[longs]\015[longs]i)7447(\015[longs_longs_i])79911 206039 t
+93118 301606 m
+(U\015[longs]e)(the\015[longs]e)48208(ligatures)57266 198592 t
+93118 313606 m
+(for)(cla\015[longs]\015[longs]ic)16505(typography.)98027 207650 t
+9 @11 f
+0 T
+82075 325606 m
+&11@8
+(\273)82075 t
+&11
+(U)93118 t
+&11@1
+(\130)99067 t
+&11
+(e)(the)7020 108706 t
+&11@1
+(\130)120415 t
+&11
+(e)(ligatur)7020(es)24327(for)10530(cla)13671 178582 t
+&11@9
+(\147)188923 t
+&11
+(c)(typ)6849(ography)12213(.)30114 245218 t
+&12
+84118 349606 m
+(tr)(o\005)5904 90022 t
+&11
+(splits)(ligatur)22454(es)24327(in)10637(tw)10421(o)9495(parts)7640
+(when)21590(hyphenating)23570(w)49769(or)6651(ds.)7812(It)13148
+(is)8621(thus)9054(ne)19080(ces\001)8964 355494 t
+75118 361606 m
+(sar)(y)11106(that)7621(any)17629(part)16611(of)17961(a)10311
+(ligatur)7098(e)24327(that)7008(is)17628(not)8934(a)15243(single)7098
+(character)24711(is)37320(also)8934(de\003ne)17520(d)22581(as)7539 362298 t
+75118 373606 m
+(a)(ligatur)7110(e)24327(,)3933(so)4977(\027)11043 126508 t
+&11@9
+(\142)130783 t
+&11
+(\030)(and)6372(\027)16542 159628 t
+&11@9
+(\141)163903 t
+&11
+(\030)(ar)6372(e)7389(pr)7020(er)7947(e)7299(quisites)4086(for)31068
+(\027)13671 254470 t
+&11@9
+(\147)258745 t
+&11
+(\030)(.)2934 269698 t
+84118 385606 m
+(It)(is)9343(normally)9775(not)37198(advisable)16084(to)37864
+(enable)11207(ligatur)27677(es)24327(with)11360(spe)20675(cial)12267
+(display)16607(forms)30125 348627 t
+75118 397606 m
+(\()(such)3168(as)19768(in)10408(\027)10102(se)4275 122839 t
+&11@9
+(\140)130372 t
+&11
+(ion)(\030\))12753(using)8842(the)22891(\027)14494(.f)3834(lig)5130
+(\030)10215(me)6160(chanism)11196(;)31338(the)4909(y)11646(should)7419
+(b)27381(e)4527(set)6807(manual\001)13161 339510 t
+75118 409606 m
+(ly)(as)10008(sp)10620(e)8244(cial)4086(characters)15777(\()40842
+(\027)3276(\022[)4275(c_t])5634(\030)15174(in)6372(this)10314
+(case\))16632(at)21177(pr)9954(e)7947(cise)4086(lo)16821(cations.)6975 293332 t
+[ /Dest /Bookmark$12
+ /View [/XYZ -4 161.394 0]
+/DEST pdfmark
+&12
+75118 445606 m
+(Cho)(osing)14301(b)21636(etw)4392(e)12492(en)3672(multiple)11268
+(p)32778(ossible)4464(ligatur)26163(es)24138 230422 t
+&11
+84118 469606 m
+(If)(a)8198(font)6849(contains)17784(only)33786(tw)19161(o\001character)9495
+(ligatur)44649(es,)24327(ther)12249(e)14985(ar)6759(e)7389(tw)6759
+(o)9495(p)7272(ossibilities)4734(for)41238 359247 t
+75118 481606 m
+(automatic)(ligatur)40153(e)24327(building)7546(with)33924(an)20370
+(input)12513(se)23133(quence)7596(that)29604(w)18165(ould)6651
+(form)19767(a)21306(thr)7635(e)10962(e\001)4086 362856 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 8 12
+%%Page: 9 13
+save
+mark
+13 pagesetup
+10 @11 f
+338301 517133 m
+&11@9
+(\116)338301 t
+ [ /Label (9) /PAGELABEL pdfmark
+9 @11 f
+48188 73606 m
+(character)(ligatur)36748(e)24327(,)3933(e)4393(.g.,)3933(\027)12853
+(f)4275(f)3540(i)3540(\030)3339(could)5788(b)22510(e)4527(constructe)6436
+(d)38529(as)6967(\027)10037(\005)4275(i)6738(\030)3339(or)5789
+(\027)10298(f)4275(\003)4290(\030)5940(.)2934 291741 t
+&12
+(tr)(o\005)5904 302039 t
+&11
+(normal\001)313588 t
+48188 85606 m
+(ly)(sele)9529(cts)13995(the)12724(\003rst)14227(ligatur)17260
+(e)24327(available)6541(,)32373(so)4498(\027)10564(\005)4275
+(i)6738(\030)3339(w)5893(ould)6651(b)18762(e)4527(the)6540(default.)14226
+(In)29976(many)10068(cas\001)23253 328474 t
+48188 97606 m
+(es,)(the)12038(other)14235(choice)22119(w)26070(ould)6651(b)18771
+(e)4527(aesthetically)6549(pr)48516(eferable)7947(;)29727(this)4650
+(is)16161(the)8475(application)14235(for)43458 332317 t
+48188 109606 m
+(the)(\027)14706(.fdeferlig)3834(\030)33723(r)6372(e)3276(quest)4086
+(:)20277 134462 t
+7.2 @21 f
+-79 T
+66188 133606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 145606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 157606 m
+(.flig)(R)25563(\015[longs]\015[longs])7447(\015[longs_longs])75382
+(\015[longs]i)66324(\015[longs_i])43679 284583 t
+66188 169606 m
+(.fdeferlig)(R)48208(\015[longs]\015[longs]i)7447 121843 t
+66188 181606 m
+(Choo\015[longs]ing)(the)70853(\015[longs]econd)16505(ligature)61795
+(looks)39150(po\015[longs]\015[longs]ibly)25563(better.)102556 382610 t
+9 @11 f
+0 T
+55145 193606 m
+&11@8
+(\273)55145 t
+&11
+(Cho)(o)15255 81443 t
+&11@9
+(\141)85979 t
+&11
+(ng)(the)12375 103169 t
+&11@1
+(\130)117875 t
+&11
+(e)(cond)4086(ligatur)20817(e)24327(lo)7020(oks)6975(p)15651
+(o)4734 204104 t
+&11@1
+(\130)208640 t
+&11@9
+(\141)211259 t
+&11
+(bly)(b)14445(etter)4527(.)16551 251597 t
+[ /Dest /Bookmark$13
+ /View [/XYZ -4 377.394 0]
+/DEST pdfmark
+&12
+48188 229606 m
+(Combining)(di\005er)42498(ent)18747(fonts)14031 123464 t
+&11
+57188 253606 m
+(Di\005er)(ent)21285(fonts)15451(o)22264 116188 t
+&11@9
+(\134)120724 t
+&11
+(en)(hav)12607(e)13356(di\005er)7729(ent)19530(visual)15451(sizes)25396
+(e)21005(v)3960(en)4401(if)12608(the)8936(y)11646(ar)8342(e)7389
+(set)7730(in)14084(the)11024 331282 t
+48188 265606 m
+(same)(nominal)21824(p)33398(oint)4734(size)17765(.)13698(Also)5048
+(fonts)19745(fr)21625(om)6066(di\005er)14713(ent)19530(v)14812
+(endors)4401(ar)27916(e)7389(o)7090 287942 t
+&11@9
+(\134)292478 t
+&11
+(en)(base)11968(d)16146(on)7621 333577 t
+48188 277606 m
+(di\005er)(ent)19530(standar)14412(ds)27288(for)10731(character)13341
+(heights.)37002(T)31647(o)4806(adjust)7203(this,)24915(the)18282
+(\027)14376(.fzo)3834(om)13185(\030)12546(r)6043(e)3276(quest)4086
+(is)22351 337042 t
+48188 289606 m
+(available)(.)32373(A)4990(s)6147(implie)6520(d)23121(by)7564
+(this)12082(purp)16645(ose)17532(,)11979(it)4989(only)8292(applies)19434
+(to)28812(characters)10389(that)40854(ar)17652(e)7389(ac\001)7032 331984 t
+48188 301606 m
+(tually)(in)24374(the)10568(curr)14960(ent)15255(font,)14996
+(not)20279(to)15509(characters)10631(fr)41096(om)6066(another)14897
+(font)31835(that)18299(hav)17894(e)13356(b)7274(e)4527(en)4086 334090 t
+48188 313606 m
+(sele)(cte)13995(d)10782(using)7551(the)23103(fallback)14706
+(se)31662(quence)7596(.)25992 183575 t
+7.2 @21 f
+-79 T
+66188 337606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 349606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 361606 m
+(.fp)(0)16505(M)7447(LinLibertine_M)7447(otf)66324 163911 t
+66188 373606 m
+(.track)(M)30092(1)7447(\001.1)7447(40)16505(\0010)11976 139655 t
+66188 385606 m
+(.fzoom)(M)30092(.8)7447 103727 t
+66188 397606 m
+(\015fMLibertine)(Monospace\015fR)57266(must)57266(be)21034(adjusted)11976
+(to)39150(fit)11976(with)16505(Roman.)21034 302395 t
+9 @11 f
+0 T
+55145 409606 m
+&11@8
+(\273)55145 t
+7.2 @21 f
+-79 T
+(Libertine)(Monospace)43679 109867 t
+9 @11 f
+0 T
+(must)(b)21240(e)4527(adjuste)7020(d)26334(to)7551(fit)10377
+(with)11070(Roman.)19845 261589 t
+57188 433606 m
+(The)(\027)17443(.fzo)3834(om)13185(\030)12546(r)6580(e)3276
+(quest)4086(a\005e)22888(cts)13437(all)13411(characters)12070
+(set)41050(in)13582(the)10523(r)14915(esp)3276(e)12267(ctiv)4086
+(e)13536(font)7229(on)18254(the)12620 331282 t
+48188 445606 m
+(curr)(ent)15255(output)14793(line)27501(.)13626(T)5027(o)4806
+(cr)7583(eate)7128(single)18050(zo)24773(ome)8415(d)15732(w)7601
+(or)6651(ds,)7812(mount)13091(a)27194(font)7160(twice)18095(under)22928 321409 t
+48188 457606 m
+(di\005er)(ent)19530(names,)14742(but)28611(zo)15057(om)8415
+(it)14643(only)8280(once)19422(.)17199 194087 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 9 13
+%%Page: 10 14
+save
+mark
+14 pagesetup
+10 @11 f
+75118 517133 m
+&11@9
+(\106\105)75118 t
+ [ /Label (10) /PAGELABEL pdfmark
+[ /Dest /Bookmark$14
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+75118 73606 m
+(Spacing)(out)30798(individual)14472(w)39618(or)6120(ds)7164 173290 t
+&11
+84118 97606 m
+(Spacing)(out)32005(the)15346(characters)14896(of)41032(individual)10513
+(w)40232(or)6651(ds)7812(is)11252(commonly)9137(done)42221(for)21179
+(high\001)13862 350256 t
+75118 109606 m
+(lighting)(te)31104(xt)6804(e)9540(.g.)3933(with)10746(German)19134
+(blackle)31923 188302 t
+&11@9
+(\137)214087 t
+&11
+(er)(faces)9657(;)18882(the)4410(\027)13995(.track)3834(\030)21645
+(r)5661(e)3276(quest)4086(can)21969(b)15129(e)4527(use)6308(d)12375 365367 t
+75118 121606 m
+(for)(this)12997(as)15958(w)9946(ell.)6651(Like)13078(\027)18145
+(.fzo)3834(om)13185(\030)12546(,)2934(\027)4303(.track)3834(\030)21645
+(applies)5698(to)28126(all)9703(characters)11189(in)40169(the)9641
+(r)14033(esp)3276(e)12267(ctiv)4086(e)13536 365898 t
+75118 133606 m
+(font)(on)18307(an)12673(entir)12250(e)17460(output)7282(line)27712
+(.)13626(Thus)5239(it)21763(is)8542(also)9207(ne)17793(cessar)8964
+(y)22491(to)7893(mount)10638(a)27405(font)7371(twice)18306 350040 t
+75118 145606 m
+(but)(to)15057(track)10377(it)21762(only)8280(once)19422(when)20286
+(it)23463(is)8280(use)8946(d)12375(for)7551(tracking)13671(individual)33579
+(w)40041(or)6651(ds.)7812 332671 t
+[ /Dest /Bookmark$15
+ /View [/XYZ -4 425.394 0]
+/DEST pdfmark
+&12
+75118 181606 m
+(Se)75118 t
+&12@8
+(\124)82813 t
+&12
+(ing)(te)14436(xt)6309(in)10035(all\001capital)10143(le)39447 168637 t
+&12@8
+(\124)174640 t
+&12
+(ers)180094 t
+&11
+84118 205606 m
+(When)(se)25327 109445 t
+&11@9
+(\137)116978 t
+&11
+(ing)(te)14842(xt)6804(in)10279(all\001capital)10342(le)39340 204111 t
+&11@9
+(\137)210510 t
+&11
+(ers,)(it)15886(is)8308(normally)8975(ne)36398(cessar)8964(y)22491
+(to)7661(zo)10406(om)8415(the)14672 358212 t
+75118 217606 m
+(font)(to)18629(a)10961(smaller)7694(size)30437(than)17369(that)20258
+(of)18224(the)10907(lo)15290(w)6849(er\001case)6651(te)29491
+(xt)6804(surr)10834(ounding)14913(it,)34144(and)10843(to)17125 362541 t
+75118 229606 m
+(track)(it)21178(as)7696(w)10037(ell.)6651(Mounting)13169(the)38819
+(r)14123(egular)3276(font)25553(a)17462(se)6527(cond)7596(time)20234
+(is)18830(the)8363(most)14123(conv)20414(enient)17667 346836 t
+75118 241606 m
+(way)(to)18468(handle)10377(this)27783(:)14229 145975 t
+7.2 @21 f
+-79 T
+93118 265606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 277606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 190841 t
+93118 289606 m
+(.fp)(0)16505(C)7447(LinLibertine_R)7447(otf)66324 190841 t
+93118 301606 m
+(.track)(C)30092(1)7447(1.2)7447(40)16505(0)11976 166585 t
+93118 313606 m
+(fzoom)(C)25563(.9)7447 126128 t
+93118 325606 m
+(Regular)(text)34621(and)21034(\015fCALL\001CAPITAL)16505(TEXT\015fR)66324
+(which)34621(ends.)25563 291786 t
+9 @11 f
+0 T
+82075 337606 m
+&11@8
+(\273)82075 t
+&11
+(Regular)(te)31419(xt)6804(and)10251 141592 t
+8.1 @11 f
+953 T
+(ALL\001CAPI)(T)42489(AL)5392(TEX)15761(T)17550 239326 t
+9 @11 f
+0 T
+(which)(ends.)25695 273806 t
+[ /Dest /Bookmark$16
+ /View [/XYZ -4 233.394 0]
+/DEST pdfmark
+&12
+75118 373606 m
+(Pair)(wise)14697(kerning)18459 108274 t
+&11
+84118 397606 m
+(Pair)(wise)14904(kerning)19956(is)31936(enable)9211(d)23913
+(unless)7816(the)26338 218192 t
+7.2 @21 f
+-79 T
+&21@3
+(\150)233163 t
+&21
+(x0)237692 t
+9 @11 f
+0 T
+(option)(is)27166(giv)9211(en.)11340(The)14143(\027)17500(.kern)3834
+(\030)19737(r)6637(e\001)3276 362856 t
+75118 409606 m
+(quest)(disables)23436(it.)32715(K)11016(erning)5553(tables)27819
+(ar)25056(e)7389(initially)7775(r)32291(ead)3276(fr)16442(om)6066
+(the)15398 289350 t
+8.1 @11 f
+953 T
+(AFM)304811 t
+9 @11 f
+0 T
+(,)(Op)5732(enT)11052(yp)13833(e)9369(,)3933 367941 t
+75118 421606 m
+(or)(T)11164(rue)5193(T)11709(yp)4932(e)9369(\003les)7303(;)15543
+(this)5404(default)16915(kerning)28759(only)31954(applies)19705
+(if)29083(tw)8509(o)9495(adjacent)7816(characters)34105 332076 t
+75118 433606 m
+(ar)(e)7389(fr)6838(om)6066(the)14461(same)14523(font.)21570
+(A)19842(font\001sp)9069(e)26334(ci\003c)4086(kerning)17997(table)31488
+(can)20607(b)15657(e)4527(disable)6837(d)25515(using)7368(the)22920 358212 t
+75118 445606 m
+(\027)(.)3834 78952 t
+&11@9
+(\133)80932 t
+&11
+(ern)(\030)13149(r)6372(e)3276(quest.)4086 114664 t
+84118 457606 m
+(Ther)(e)17514(ar)6620(e)7389(tw)6620(o)9495(metho)7133(ds)23418
+(to)10661(adjust)9977(the)24845(kerning)14306(tables)31271(:)21897
+(In)4721(some)10148(cases,)21776(it)23585(is)7880(most)8547 351921 t
+75118 469606 m
+(conv)(enient)17667(to)26379(cr)10674(eate)7128(a)18297(private)7407
+(cop)29205(y)12996(of)7929(the)10620 223420 t
+8.1 @11 f
+953 T
+(AFM)238423 t
+9 @11 f
+0 T
+(\003le)(and)14733(to)16839(adjust)10674(the)25541(\027)15002 343717 t
+8.1 @11 f
+953 T
+(KPX)347992 t
+9 @11 f
+0 T
+(\030)366546 t
+75118 481606 m
+(entries)(in)27879(it.)10131(This)10077(has)18978(the)15279(advantage)14523
+(that)40425(the)17457(mo)14523(di\003e)11709(d)16119(kerning)7368
+(pairs)31488(ar)20896(e)7389(imme\001)6838 346197 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 10 14
+%%Page: 11 15
+save
+mark
+15 pagesetup
+10 @11 f
+336231 517133 m
+&11@9
+(\106\106)336231 t
+ [ /Label (11) /PAGELABEL pdfmark
+9 @11 f
+48188 73606 m
+(diately)(available)27981(for)35460(use)13671(in)15309(other)10314
+(do)22590(cuments.)9153 182666 t
+57188 85606 m
+(For)(Op)14861(enT)11052(yp)13833(e)9369(or)6635(T)10496(rue)5193
+(T)11709(yp)4932(e)9369(fonts,)6635(or)23151(for)10497(cases)13287
+(wher)21621(e)18864(this)6636(is)16248(not)8562(suitable)14871
+(with)31134 326143 t
+48188 97606 m
+(T)(yp)4932(e)9369 62489 t
+&11@9
+(\106)69509 t
+&11
+(fonts,)(or)23803(not)11149(p)15523(ossible)4734(b)28096(e)4527
+(cause)4086(the)23542(characters)14974(in)41110(the)10581(kerning)14973
+(pair)31938(origi\001)17835 322687 t
+48188 109606 m
+(nate)(fr)18855(om)6066(di\005er)14643(ent)19530(fonts,)14742 122024 t
+&12
+(tr)(o\005)5904 151463 t
+&11
+(pr)(o)7947(vides)4473(the)21996(\027)14706(.kernpair)3834(\030)34308
+(r)6372(e)3276(quest)4086(:)20277 284870 t
+7.2 @21 f
+-79 T
+66188 133606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 145606 m
+(.fp)(1)16505(R)7447(LinLibertine_R)7447(otf)66324 163911 t
+66188 157606 m
+(.feature)(R)39150(+onum)7447 112785 t
+66188 169606 m
+(.kernpair)(R)43679(0)7447(R)7447(/)7447(50)7447 139655 t
+66188 181606 m
+(.kernpair)(R)43679(/)7447(R)7447(1)7447 132208 t
+&21@3
+(\150)139655 t
+&21
+(90)144184 t
+66188 193606 m
+(.kernpair)(R)43679(1)7447(R)7447(/)7447(40)7447 139655 t
+66188 205606 m
+(.kernpair)(R)43679(/)7447(R)7447(2)7447 132208 t
+&21@3
+(\150)139655 t
+&21
+(80)144184 t
+66188 217606 m
+(0/1/2)66188 t
+9 @11 f
+0 T
+55145 229606 m
+&11@8
+(\273)55145 t
+&11@9
+(\105)66188 t
+&11
+(/)71048 t
+&11@9
+(\106)73955 t
+&11
+(/)76997 t
+&11@9
+(\107)79904 t
+&11
+57188 253606 m
+(In)(this)10389(e)16473(xample)3960(,)26613(old\001style)4818
+(numerals)34734(fr)36975(om)6066(Linux)14484(Lib)24096(ertine)11718
+(ar)24393(e)7389(mixe)6861(d)18045(with)7393(the)19687 331282 t
+48188 265606 m
+(slash)(character)21348(,)33804(and)4977(ar)16542(e)7389(adjuste)7020
+(d)26334(to)7551(achie)10377(v)19206(e)4401(matching)7020(visual)37575
+(le)24687 276419 t
+&11@9
+(\137)282818 t
+&11
+(er)(spacing.)10368 298712 t
+[ /Dest /Bookmark$17
+ /View [/XYZ -4 305.394 0]
+/DEST pdfmark
+&12
+48188 301606 m
+(K)(erning)5553(of)25920(a)9846(character)7371(in)36216(any)10143
+(combination)16560 159797 t
+&11
+57188 325606 m
+(It)(is)8558(sometimes)8990(useful)42146(to)25298(add)10421(a)16262
+(certain)7154(amount)28538(of)31301(space)10367(whene)23211(v)24426
+(er)4401(a)10413(charac\001)7155 315829 t
+48188 337606 m
+(ter)(app)13316(ears,)13518(for)20075(e)13775(xample)3960(b)29804
+(efor)4527(e)14625(\027)7124(;)4869(\030)3024(or)6476(\027)10984
+(?)4869(\030)4815(,)2934(or)5080(on)10984(the)12514(inner)14809
+(sides)22666(of)21136(guillemots)10426 304498 t
+48188 349606 m
+(in)(Fr)9603(ench/Swiss)7641(style)43335(.)17298(The)4267(\027)16525
+(.kernafter)3834(\030)36855(and)5662(\027)15832(.kernb)3834(efor)23364
+(e)14625(\030)4707(r)5662(e)3276(quests)4086(ar)25480(e)7389
+(useful)6310(for)24544 332317 t
+48188 361606 m
+(this)(:)14229 62417 t
+7.2 @21 f
+-79 T
+66188 385606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 397606 m
+(.kernafter)(R)48208(;)7447(66)7447(?)11976(66)7447 148713 t
+9 @11 f
+0 T
+57188 421606 m
+(If)(the)7717(characters)13963(a\005e)40099(cte)13437(d)10782
+(by)6808(these)11326(r)21496(e)3276(quests)4086(ar)25447(e)7389
+(also)6277(memb)16789(er)22770(of)9625(a)9580(r)6367(egular)3276
+(kern\001)25394 323092 t
+48188 433606 m
+(ing)(pair)14127(,)14040(the)4290(r)14019(esulting)3276(adde)31659
+(d)17307(space)6864(is)22479(the)8258(sum)14018(of)17708(b)9635
+(oth)4527(de\003nitions.)14531(These)43430(r)24080(e)3276(quests)4086 319798 t
+48188 445606 m
+(ar)(e)7389(applie)7271(d)22356(at)7803(the)10206(same)14958
+(places)22005(as)25794(kerning)10872(pairs,)31923(i.e)23310(.)8352
+(the)5229(y)11646(hav)7884(e)13356(no)7272(e\005e)12663(ct)13347
+(if)9945(fol\001)8478 330247 t
+48188 457606 m
+(lo)(wing)6849(or)21326(pr)10669(e)7947(ce)4086(ding)7938(a)19156
+(motion)6898(command,)29128(\027)40918(\022&)4275(\030)9828(or)6160
+(line)10669(margin,)16501(and)31153(the)16330(y)11646(ar)7420
+(e)7389(ad\001)6808 331282 t
+48188 469606 m
+(ditionally)(r)38187(estricte)3276(d)26946(to)7551(hav)10377
+(e)13356(no)7020(e\005e)12411(ct)13347(if)9693(the)8226(other)14706
+(character)22590(is)37332(a)8946(space)7110(.)20079 309341 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 11 15
+%%Page: 12 16
+save
+mark
+16 pagesetup
+10 @11 f
+75118 517133 m
+&11@9
+(\106\107)75118 t
+ [ /Label (12) /PAGELABEL pdfmark
+[ /Dest /Bookmark$18
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+75118 73606 m
+(Hanging)(characters)33822 108940 t
+&11
+84118 97606 m
+(Since)(ther)22089(e)14985(ar)6555(e)7389(no)6555(tables)11946
+(for)23835(hanging)13206(characters)32682(in)40377 263737 t
+8.1 @11 f
+953 T
+(AFM)273586 t
+9 @11 f
+0 T
+(\003les,)(values)19461(must)25806(b)20775(e)4527 365898 t
+75118 109606 m
+(giv)(en)11340(e)12241(xplicitly)3960(in)33382 136041 t
+&12
+(tr)(o\005)5904 152602 t
+&11
+(sour)(ce)16101(co)11215(de)8451(using)11917(the)23446(\027)15049
+(.lhang)3834(\030)23589(and)6714(\027)16884(.rhang)3834(\030)24561
+(r)6714(e)3276(quests.)4086 344748 t
+75118 121606 m
+(Both)(accept)19858(a)25699(font)6457(sp)17392(e)8244(ci\003cation)4086
+(follo)36337(w)16551(e)6651(d)4086(by)6898(one)11416(or)15781
+(mor)10228(e)14922(pairs)6367(of)20425(characters)9670(and)40190 356376 t
+75118 133606 m
+(values)(:)23868 98986 t
+7.2 @21 f
+-79 T
+93118 157606 m
+(.do)(xflag)16505(3)25563 135186 t
+93118 169606 m
+(.ps)(10)16505 109623 t
+93118 181606 m
+(.fp)(1)16505(R)7447(somefont)7447(pfb)39150 163667 t
+93118 193606 m
+(.lhang)(R)30092(V)7447 130657 t
+&21@3
+(\150)138104 t
+&21
+(50)(J)11976 154609 t
+&21@3
+(\150)162056 t
+&21
+(40)166585 t
+93118 205606 m
+(.rhang)(R)30092(\015)7447(\(hy)3809(80)16505 150971 t
+9 @11 f
+0 T
+84118 229606 m
+(A)(djustments)6147(ar)42858(e)7389(giv)6382(en)11340(in)11260
+(units)9676(of)20809 199979 t
+&11@9
+(\106)209664 t
+&11
+(/)212706 t
+&11@9
+(\114\107)(\105\105\105)9600 225213 t
+&11
+(inch)(multiplie)18370(d)33120(by)6913(the)11431(actual)14068
+(p)24436(oint)4734 355224 t
+75118 241606 m
+(size)(,)13698(or)4346 93162 t
+&11@9
+(\106)103412 t
+&11
+(/)106454 t
+&11@9
+(\106)(\105\105\105)4542 113903 t
+&11
+(of)(the)9692(em)14075(size)13499(when)16154(the)22832(line)14075
+(is)16082(printe)8315(d.)22266(Thus)8900(in)20870(this)9683(e)16001
+(xample)3960(,)26613(the)4346 358212 t
+75118 253606 m
+(le)75118 t
+&11@9
+(\134)81517 t
+&11
+(margin)(is)29512(shi)9073 128590 t
+&11@9
+(\134)139381 t
+&11
+(e)(d)4086(to)7678(the)10504(le)14833 181846 t
+&11@9
+(\134)188245 t
+&11
+(by)(.)12196 208929 t
+&11@9
+(\112)210909 t
+&11
+(p)(oints)4734(when)21331(the)23590(le)14833 282346 t
+&11@9
+(\134)288745 t
+&11
+(most)(le)21124 315233 t
+&11@9
+(\137)321632 t
+&11
+(er)(is)10495(a)9073(\027)7238(V)4275(\030)6768(,)2934 367941 t
+75118 265606 m
+(and)(by)16250(.)11777 103145 t
+&11@9
+(\111)105125 t
+&11
+(p)(oints)4734(when)20912(the)23171(le)14414 175390 t
+&11@9
+(\134)181789 t
+&11
+(most)(le)20705 207858 t
+&11@9
+(\137)214257 t
+&11
+(er)(is)10076(a)8654(\027)6818(J)4275(\030)3798(;)3969(the)4829
+(right)14414(margin)20678(is)29093(shi)8654 335041 t
+&11@9
+(\134)345832 t
+&11
+(e)(d)4086(to)7259 362541 t
+75118 277606 m
+(the)(right)14706(by)20970(.)12069 122863 t
+&11@10
+(\017)124843 t
+&11
+(p)(oints)4734(when)21204(the)23463(rightmost)14706(le)38970 235102 t
+&11@9
+(\137)241501 t
+&11
+(er)(is)10368(a)8946(hyphen.)7110 273451 t
+84118 289606 m
+(Le)84118 t
+&11@9
+(\134)92893 t
+&11
+(margin)(adjustments)29520(ar)47745(e)7389(e)7155(valuate)3960
+(d)26784(b)7687(efor)4527(e)14625(the)7156(le)14842 272779 t
+&11@9
+(\137)279178 t
+&11
+(ers)(that)14014(\003t)17776(on)11017(the)12547(cur\001)14842 354900 t
+75118 301606 m
+(r)(ent)3276(line)14798(ar)16769(e)7389(compute)7076(d,)31878
+(and)9587(can)16597(thus)15895(principally)19027(b)42850(e)4527
+(of)7075(any)10378(length.)16678(In)28495(contrast,)10603 338016 t
+75118 313606 m
+(right)(margin)21094(adjustments)29509(ar)47734(e)7389(e)7144
+(valuate)3960(d)26784(a)7675 226407 t
+&11@9
+(\134)230520 t
+&11
+(er)(this)10492(computation)16756(is)49723(\003nishe)9070(d,)24795
+(and)9656 356376 t
+75118 325606 m
+(the)(adjustment)15242(is)44636(simply)9482(adde)28274(d)17307
+(to)8087(the)10913(w)15241(or)6651(d)7812(space)8086(of)23701
+(the)10858(output)15241(line)27985(.)13626(Thus)5512(a)22036 365808 t
+75118 337606 m
+(p)(ositiv)4734(e)20169(right)7222(adjustment)21172(that)44302
+(is)17842(large)9148(in)21559(r)10516(elation)3276(to)28408(the)10579
+(line)14908(length)16915(will)26662(cause)17114 349644 t
+75118 349606 m
+(visible)(holes,)26428(and)23998(a)16276(negativ)6844(e)27198
+(adjustment)6754(will)43834(ultimately)16645(cause)40270(the)23007
+(w)14439(or)6651(ds)7812(on)10794(the)12144 358212 t
+75118 361606 m
+(line)(to)16828(b)10492(e)4527(printe)7135(d)22266(o)7666(v)4473
+(er)4401(each)10483(other)19942(.)19062(This)5092(is)19276(not)9061
+(a)15370(pr)7225(oblem)7947(for)25594(the)13786(typical)14822
+(appli\001)28043 348609 t
+75118 373606 m
+(cation)(of)25240(hanging)9904(punctuation)32728(for)47191(visual)13252
+(alignment,)24268(though)41719(;)26937(if)4702(a)7806(line)6690
+(with)16293(eight)19425 351273 t
+75118 385606 m
+(w)(or)6651(d)7812(spaces)8041(is)27166(shi)9436 134224 t
+&11@9
+(\134)145015 t
+&11
+(e)(d)4086(in)8041(the)10804(e)15196(xample)3960(ab)30190(o)8640
+(v)4473(e)4401(,)3933(each)5467(w)20317(or)6651(d)7812(space)8041
+(is)23656(enlarge)9436(d)27324(by)8042 360849 t
+75118 397606 m
+(only)75118 t
+&11@9
+(\106)94540 t
+&11
+(/)97582 t
+&11@9
+(\106\105\105)100489 t
+&11
+(em.)116248 t
+[ /Dest /Bookmark$19
+ /View [/XYZ -4 173.394 0]
+/DEST pdfmark
+&12
+75118 433606 m
+(Mathematical)(and)52587(other)16434(sp)21276(e)7641(cial)3672
+(characters)15750 192478 t
+&11
+84118 457606 m
+(Sp)(e)9099(cial)4086(mathematical)16825(characters)53825(like)41891
+(\027)17492(\022)4275(\()3177(+)2943 237731 t
+&11@7
+(\307)242681 t
+&11
+(\030)(,)2934(gr)6026(e)7776(ek)4086(le)12677 282030 t
+&11@9
+(\137)288429 t
+&11
+(ers)(like)14927(\027)17492(\022)4275(\()3177(*a)3276(\030)8334
+(,)2934(and,)6026 354396 t
+75118 469606 m
+(with)(the)19391(\027)14252(pslo)4275(w)15030(\030)7623(de)5918
+(vice)8514(,)14697(e)4523(v)3960(en)4401(the)11444(punctuation)14252
+(characters)47156(\022)40387(\()3177(or)3123(\022)10426 307667 t
+&11@7
+(\307)310250 t
+&11
+(\022\017)(\022\016)8653(\023)8194(#)5566(<)6727(>)7492(@)7492 361866 t
+75118 481606 m
+(\022)(\036)5002(\037)7081(ar)6460(e)7389(normally)6443(not)35792
+(chosen)14678(fr)28061(om)6066(the)14066(curr)14129(ent)15255
+(font,)14165(but)19448(ar)14480(e)7389(taken)6443(fr)22886(om)6066
+(the)14066(sp)14129(e\001)8244 362856 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 12 16
+%%Page: 13 17
+save
+mark
+17 pagesetup
+10 @11 f
+335131 517133 m
+&11@9
+(\106\110)335131 t
+ [ /Label (13) /PAGELABEL pdfmark
+9 @11 f
+48188 73606 m
+(cial)(font)15576(instead.)17845(\()31138(PostScript)3276(names)40075
+(\()26431(e)3123(.g.)3933(\027)11257(\022[numb)4275(ersign])27081
+(\030)26802(,)2934(\027)4777(\022[)4275(less])5895(\030)17523
+(,)2934(\027)4777(\022[)4275(at])5679(\030\))11061(ac\001)8854 331984 t
+48188 85606 m
+(cess)(characters)17865(fr)40815(om)6066(the)14616(curr)14678
+(ent)15255(font.\))14714(The)22679(\027)17207(.fps)3834(\030)13851
+(r)6344(e)3276(quest)4086(can)22652(b)15812(e)4527(use)6992(d)12375
+(to)7523(o)10349(v)4473(er\001)4401 332578 t
+48188 97606 m
+(ride)(this)17731(b)17002(ehavior)4527(.)27243(In)5347(particular)10918
+(,)35352(this)5347(is)17002(useful)9316(to)25624(set)10747(mathematical)13745
+(te)53147(xt)6804(with)10622(a)20216 338878 t
+48188 109606 m
+(di\005er)(ent)19530(font.)14902(T)20185(o)4806(use)7693(Linux)15469
+(Lib)24415(ertine)11718(for)24711(gr)13830(e)7776(ek)4086(le)11787 229096 t
+&11@9
+(\137)235495 t
+&11
+(ers)(and)14037(mathematical)16701(sym\001)52935 324694 t
+48188 121606 m
+(b)(ols)4527(:)11016 63731 t
+7.2 @21 f
+-79 T
+66188 145606 m
+(.do)(xflag)16505(3)25563 108256 t
+66188 157606 m
+(.fps)(math,greek,punct,large)21034(1)102556(R)7447(LinLibertine_R)7447
+(otf)66324 270996 t
+66188 169606 m
+(.fp)(2)16505(I)7447(LinLibertine_RI)7447(otf)70853 168440 t
+66188 181606 m
+(.fallback)(I)43679(R)7447 117314 t
+66188 193606 m
+(.EQ)66188 t
+66188 205606 m
+(a)(\030=\030)7447(pi)16505({r)11976(sup)11976(2})16505 130597 t
+66188 217606 m
+(.EN)66188 t
+[ /Dest /Bookmark$20
+ /View [/XYZ -4 353.394 0]
+/DEST pdfmark
+9 @12 f
+0 T
+48188 253606 m
+(Help)(er)16524(utilities)9819 74531 t
+&11
+57188 277606 m
+(The)57188 t
+&12
+(otf_info)74001 t
+&11
+(utility)(sho)24931(ws)12825(the)12808(contents)14284(of)33940
+(an)9901(Op)11567(enT)11052(yp)13833(e)9369(or)6599(T)10460(rue)5193
+(T)11709(yp)4932(e)9369(font)6599(\003le)17624 331552 t
+48188 289606 m
+(just)(as)16588 64776 t
+&12
+(tr)(o\005)5904 81310 t
+&11
+(interpr)(ets)25479(it.)13384(It)10270(emits)8524(an)22933 174042 t
+8.1 @11 f
+953 T
+(ASCII)186039 t
+9 @11 f
+0 T
+(format)(that)27747(is)17649(r)8955(eadable)3276(by)30645(humans)12078 313759 t
+48188 301606 m
+(and)(can)16273(also)15571(b)17263(e)4527(use)6751(d)12375(for)7282
+(further)13402(pr)28702(o)7947(cessing)4599(with)29440(shell)19576
+(scripts.)19855(It)28882(is)8245(useful)8677(to)24986(r)10109
+(e\001)3276 335926 t
+48188 313606 m
+(trie)(v)12591(e)4401(lists)7020(of)17676(characters)10323(and)40842
+(featur)16542(es)21825(supp)10530(orte)17694(d)14814(with)7551
+(the)19845(font.)14706 264548 t
+57188 325606 m
+(The)(shell)16946(script)19835(\027)23372(stu\005/sho)4275(wfont.sh)32103
+(\030)33003(in)6083(the)10025(sour)14417(ce)16101(co)10583(de)8451
+(distribution)11285(uses)45755 309422 t
+&12
+(tr)(o\005)5904 333856 t
+&11
+48188 337606 m
+(and)(p)16256(ossibly)4734 69178 t
+&12
+(otf_info)97332 t
+&11
+(to)(print)10091(a)20891(map)6824(of)18605(all)10036(characters)11575
+(in)40555(an)10027 256628 t
+8.1 @11 f
+953 T
+(AFM)268329 t
+9 @11 f
+0 T
+(,)(Op)4690(enT)11052(yp)13833(e)9369(,)3933(or)4690 335107 t
+48188 349606 m
+(T)(rue)5193(T)11709(yp)4932(e)9369(font)7020(along)18045(with)23400
+(their)19845(PostScript)20493(names.)40275 208469 t
+[ /Dest /Bookmark$21
+ /View [/XYZ -4 221.394 0]
+/DEST pdfmark
+&12
+48188 385606 m
+(Limitations)48188 t
+57188 409606 m
+(dp)(ost)8865 66053 t
+&11
+(uses)(a)18844(metho)7135(d)23418(to)7576(emb)10402(e)15660(d)4086 166159 t
+8.1 @11 f
+953 T
+(CFF)173735 t
+9 @11 f
+0 T
+(\001base)(d)19188(\()7576(PostScript\001style\))3276(Op)63412
+(enT)11052(yp)13833(e)9369(fonts)7045 324433 t
+48188 421606 m
+(in)(PostScript)11037(do)40998(cuments)9153(that)34716(is)18363
+(only)9669(available)20145(with)36183(PostScript)20568 249020 t
+&11@9
+(\110)289295 t
+&11
+(interpr)(eters)25479(;)18342 340867 t
+48188 433606 m
+(older)(printing)22067(e)33228(quipment)4086(that)38502(uses)17874
+(PostScript)19053(Le)40509(v)8712(el)4401 236620 t
+&11@9
+(\107)246016 t
+&11
+(or)(b)11115(elo)4527(w)10872(cannot)9954(handle)28332 318205 t
+48188 445606 m
+(such)(do)19469(cuments)9153(dir)33482(e)10269(ctly)4086(.)13176
+(The)4466(r)16724(e)3276(commende)4086(d)40149(w)7040(orkar)6651
+(ound)19881(is)21233(to)8435(conv)9865(ert)17667(the)12700(Post\001)14194 324190 t
+48188 457606 m
+(Script)(output)24124(to)27058(a)9985 109355 t
+8.1 @11 f
+953 T
+(PDF)116073 t
+9 @11 f
+0 T
+(do)(cument)9153(and)30091(to)16150(print)9985(it)20785(using)7888
+(a)22711 252288 t
+8.1 @11 f
+953 T
+(PDF)259007 t
+9 @11 f
+0 T
+(vie)(w)10872(er)6651(or)9977(r)10490(e)3276(v)3960(erse)4401 328087 t
+48188 469606 m
+(conv)(ersion)17667(pr)25450(ogram.)7947(Also)28303(y)19393(ou)4563
+(may)12031(hav)18574(e)13356(to)6739(up)10096(date)9513(y)18250
+(our)4563(cop)15378(y)12996(of)7350(Ghostscript)10041(in)45276 335674 t
+48188 481606 m
+(or)(der)7812(to)14922(cr)10377(eate)7128 88427 t
+8.1 @11 f
+953 T
+(PDF)106427 t
+9 @11 f
+0 T
+(\003les)(with)17946(pr)19845(op)7947(er)9270(font)10368(emb)18045
+(e)15660(dding)4086(fr)23922(om)6066(such)14643(output.)19980 294049 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 13 17
+%%Page: 14 18
+save
+mark
+18 pagesetup
+10 @11 f
+75118 517133 m
+&11@9
+(\106\111)75118 t
+ [ /Label (14) /PAGELABEL pdfmark
+9 @11 f
+84118 73606 m
+(Emb)(e)16650(dding)4086(T)23863(rue)5193(T)11709(yp)4932(e)9369
+(fonts)6961(in)21496(PostScript)10255(do)40216(cuments)9153(r)33935
+(e)3276(quir)4086(es)15021(PostScript)10472 314791 t
+&11@9
+(\110)355066 t
+&11
+(or)362037 t
+75118 85606 m
+(PostScript)(Le)40275(v)8712(el)4401 128506 t
+&11@9
+(\107)137902 t
+&11
+(of)(at)10323(least)9954(v)19863(ersion)4401 189598 t
+&11@9
+(\107\105\106\110)215329 t
+&11
+(.)231421 t
+&12
+84118 97606 m
+(tr)(o\005)5904 90022 t
+&11
+(only)(supp)19574(orts)17694(Op)17387(enT)11052(yp)13833(e)9369
+(featur)7172(es)21825(that)10682(r)17792(esult)3276(in)20681
+(single\001character)10466(substi\001)62252 345360 t
+75118 109606 m
+(tutions)(insensitiv)28822(e)35361(of)7015(conte)10318(xt)20070
+(\()10246(e)3123(xcept)3960(for)22792(the)13666(\027)14701(\003)4275
+(\004)8032(\005)7852(\006)8230(\007)10453(\030)8235(ligatur)6366
+(es)24327(and)10524(kern\001)16536 350022 t
+75118 121606 m
+(ing)(which)14116(ar)24997(e)7389(enable)6322(d)23913(by)6854
+(default)11372(if)27779(p)7529(ossible\).)4734(Also)31793 241916 t
+&12
+(tr)(o\005)5904 266797 t
+&11
+(ignor)(es)19629(any)9833(featur)15926(es)21825(that)9833 355278 t
+75118 133606 m
+(ar)(e)7389(not)7020(mapp)15255(e)20628(d)4086(to)7551(the)10377
+(\027)14706 162130 t
+8.1 @11 f
+953 T
+(DFLT)166405 t
+9 @11 f
+0 T
+(\030)(or)6372(\027)10881(latn)4275(\030)15111(languages)6372
+(in)39789(an)10314(Op)11988(enT)11052(yp)13833(e)9369(font.)7020 336119 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 14 18
+%%Trailer
+done
+%%EOF
diff --git a/doc/fonts/doc.tr b/doc/fonts/doc.tr
new file mode 100644
index 0000000000000..8bab8be0639a4
--- /dev/null
+++ b/doc/fonts/doc.tr
@@ -0,0 +1,1048 @@
+.\" Sccsid @(#)doc.tr 2.22 (gritter) 10/24/06
+.do xflag 3
+.warn
+.spreadwarn 5p
+.lc_ctype de_DE.utf8
+.mediasize a5
+.hylang en_US
+.hw Post-Script work-around
+.if t .so fonts.tmac \" Generated by makefile
+.ie r GaramondPremrPro \{\
+. \" Use Garamond Premier Pro font
+. ds FT Garamond Premier Pro
+. fp 1 R GaramondPremrPro-Med otf
+. fp 2 I GaramondPremrPro-MedIt otf
+. fp 0 N GaramondPremrPro-Med otf
+. fp 0 C GaramondPremrPro-Med otf
+. fp 0 SC GaramondPremrPro-Med otf
+. fp 0 T GaramondPremrPro-Subh otf
+. kernpair T F T F 25
+. kernpair SC R SC \[i.sc] 40
+. flig R ft \[f_t.alt]
+. ds Ornament \v'-.25m'\s9\[orn.01]\s0
+. feature R +pnum +onum
+. feature I +pnum +onum
+. feature SC +smcp +pnum +onum
+. ftr R Q\[Q.alt]
+. ftr I Q\[Q.swash]
+. \".ftr C Q\[Q.alt]
+. ftr SC Q\[Q.alt]
+. ftr T Q\[Q.alt]
+. flig SC 0
+. flig T 0
+. flig C 0
+. fzoom C .92
+. track R 1 .2 18 0
+. track N 1 .2 18 0
+. track I 1 .2 18 0
+. track C 1 1.2 40 0
+. track SC 1 1.2 40 0
+. track T 1 1.2 40 0
+. kernbefore R ; 66 : 66 ! 66 ? 66
+. kernbefore I ; 66 : 66 ! 66 ? 66
+. kernbefore R › 40 / 66
+. kernafter R ‹ 40 / 66
+. kernpair R f R i 25
+. kernpair R f R l 100
+. kernpair R f R b 110
+. kernpair R f R k 110
+. kernpair R ' R ' 0
+. kernpair R ` R ` 0
+. kernpair R f R R 100
+. kernpair R f R P 100
+. kernpair N f N i 25
+. kernpair N f N l 100
+. kernpair N f N b 110
+. kernpair N ' N ' 0
+. kernpair N ` N ` 0
+. kernpair N f N R 100
+. kernpair N f N P 100
+. kernpair N g N _ 60
+. kernpair N f N 8 20
+. kernpair N Å¿ N Å¿ 40
+. kernpair N Å¿ N i 85
+. kernpair I ' I ' 0
+. kernpair I ` I ` 0
+. kernpair C F C F 45
+.\}
+.el \{\
+. \" Use libertine font
+. ds FT Linux Libertine
+. fp 1 R LinLibertine_R otf \" Roman
+. fp 2 I LinLibertine_RI otf \" Italic
+. fp 0 N LinLibertine_M otf \" Monospace
+. fp 0 C LinLibertine_R otf \" Capital in text
+. fp 0 SC LinLibertine_R otf \" Small capitals
+. fp 0 T LinLibertine_DR otf \" Titling
+. fp 0 U LinLibertine_R otf \" Superscript
+. fzoom N .8
+. fzoom C .9
+. flig R `` \[quotedblleft]
+. flig R '' \[quotedblright]
+. flig R fb \[f_b] ff \[f_f]
+. flig R fh \[f_h] ffh \[f_f_h]
+. flig R fi \[fi] ffi \[f_f_i]
+. flig R fj \[f_j] ffj \[f_f_j]
+. flig R fk \[f_k] ffk \[f_f_k]
+. flig R fl \[fl] ffl \[f_f_l]
+. flig R ft \[f_t] fft \[f_f_t]
+. flig R tt \[t_t]
+. flig I `` \[quotedblleft]
+. flig I '' \[quotedblright]
+. flig I fb \[f_b] ff \[f_f]
+. flig I fh \[f_h] ffh \[f_f_h]
+. flig I fi \[fi] ffi \[f_f_i]
+. flig I fj \[f_j] ffj \[f_f_j]
+. flig I fk \[f_k] ffk \[f_f_k]
+. flig I fl \[fl] ffl \[f_f_l]
+. flig I ft \[f_t] fft \[f_f_t]
+. flig I tt \[t_t]
+. flig B `` \[quotedblleft]
+. flig B '' \[quotedblright]
+. flig B fb \[f_b] ff \[f_f]
+. flig B fh \[f_h] ffh \[f_f_h]
+. flig B fi \[fi] ffi \[f_f_i]
+. flig B fj \[f_j] ffj \[f_f_j]
+. flig B fk \[f_k] ffk \[f_f_k]
+. flig B fl \[fl] ffl \[f_f_l]
+. flig B ft \[f_t] fft \[f_f_t]
+. flig B tt \[t_t]
+. flig C 0
+. flig T fb \[f_b] ff \[f_f]
+. flig T fh \[f_h] ffh \[f_f_h]
+. flig T fi \[fi] ffi \[f_f_i]
+. flig T fj \[f_j] ffj \[f_f_j]
+. flig T fk \[f_k] ffk \[f_f_k]
+. flig T fl \[fl] ffl \[f_f_l]
+. flig T ft \[f_t] fft \[f_f_t]
+. flig T tt \[t_t]
+. feature R +pnum +onum
+. feature I +pnum +onum
+. feature SC +smcp +pnum +onum
+. feature U +sups
+. track SC 1 1.2 40 0
+. track C 1 1.2 40 0
+. track N 1 -.1 40 -0
+. kernbefore R ; 66 : 66 ! 66 ? 66
+. kernbefore I ; 66 : 66 ! 66 ? 66
+. kernafter R ( 66
+. kernbefore R ( 66
+. kernafter R \[quotedblleft] 100
+. kernafter I \[quotedblleft] 100
+. kernbefore R \[quotedblright] 100
+. kernbefore I \[quotedblright] 100
+. kernafter N \[longs] -190
+. kernbefore N \[backslash] -100
+. kernafter N \[backslash] -100
+. kernpair R 0 R / 50
+. kernpair R / R 1 -90
+. kernpair R 1 R / 40
+. kernpair R / R 2 -80
+. char \(ff \[f_f]
+. char \(Fi \[fi]
+. char \(Fl \[fl]
+. char \[s_p] sp
+. ds Ornament \v'-.25m'\s9\[uniE002]
+.\}
+.if r GillSansStd \{\
+. fp 0 GI GillSansStd otf
+. fzoom GI .94
+.\}
+.
+.nr TM 1.75c+1v
+.nr EM 2.65c
+.nr OM 1.7c
+.nr AH 14.8c
+.nr PE \n(TMu+\n(AHu
+.nr LL 10.4c
+.nr PS 10p
+.nr VS 12p
+.ll \n(LLu
+.ss 12 0
+.minss 9
+.de Breakpage
+. ch Breakpage
+' bp
+. Newpage
+..
+.nr print-pageno 0
+.ds pageno-style I
+.ev pageno
+. evc 0
+.ev
+.de Newpage
+. ie e .po \\n(EMu
+. el .po \\n(OMu
+. nr pageno \\n%
+. af pageno \\*[pageno-style]
+. if \\n[print-pageno]>0 \{\
+. ev pageno
+. sp |\\n(PEu+2v
+. ie o .ad r
+. el .ad l
+\\n[pageno]
+. br
+. ev
+. \}
+. ev pagelabel
+\\X'PS: [ /Label (\\n[pageno]) /PAGELABEL pdfmark'
+. br
+. ev
+. wh \\n(PEu Breakpage
+' sp |\\n(TMu
+. ns
+..
+.de Bookmark
+. mk Btmp
+. ev bookmarks
+. ie \\n[Btmp]<=\\n(TM \{\
+. sp |0c
+. nr bmove 1v+4p
+. \}
+. el .nr bmove 1v
+\v'-\\n[bmove]u'\\X'PDFMark: Bookmark 0 \\$1'
+. sp |\\n[Btmp]u
+. ev
+..
+.nr space 0
+.de S
+. br
+. ne 4+\\n[space]
+. sp 1+\\n[space]
+. Bookmark "\\$1"
+. ft I
+\\$1
+. ft R
+. sp
+..
+.de P
+. ti +1m
+. nr space 1
+..
+.de XS
+. \" Start example
+. sp
+. in +2m
+. lg 0
+. nf
+. ft N
+. minss 11
+..
+.de XE
+. \" Stop example
+. in -2m
+. lg
+. fi
+. sp
+. minss 9
+. ft R
+. nr space 0
+..
+.de XY
+. \" Start diversion
+. br
+. di ED
+..
+.de XZ
+. \" Stop diversion
+. br
+. di
+. rm ED
+..
+.\" Check which examples to print
+.ie r GaramondPremrPro \{\
+. als EX XS
+. als EE XE
+. als LX XY
+. als LE XZ
+.\}
+.el \{\
+. als EX XY
+. als EE XZ
+. als LX XS
+. als LE XE
+.\}
+.de LP
+. \" Print example
+. ft R
+. \"ti 1m
+\h'-\w'\[uni261E]\ 'u'\[uni261E]\ \\$*
+. ft N
+..
+.de TS
+..
+.de TE
+..
+.ds TR \fItroff\fP
+.ds TR, \fItroff,\fP
+.ds TR. \fItroff.\fP
+.ds TR; \fItroff;\fP
+.ds TR: \fItroff:\fP
+.ds PS PostScript
+.tr &.
+\X'PDFMark: Author Gunnar Ritter'
+\X'PDFMark: Title Font Handling in Troff With PostScript Devices'
+\X'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark'
+\X'PS: [ /PageMode /UseOutlines /DOCVIEW pdfmark'
+\X'PS: [ {Catalog} << /PageLayout /TwoPageRight >> /PUT pdfmark'
+.br
+.Newpage
+.ps \n(PSu
+.vs \n(VSu
+.ad c
+Font Handling in Troff With PostScript Devices
+.bp
+\&
+.bp
+.Bookmark Title
+.ps 18
+.vs 24
+.sp -7p
+.ft T
+.ad c
+FONT HANDLING IN TROFF
+.br
+WITH POSTSCRIPT DEVICES
+.sp 60p
+.ps \n(PSu
+.vs \n(VSu
+.ft SC
+Gunnar Ritter
+.ft R
+.sp
+10/24/06
+.sp 24p
+\*[Ornament]
+.sp |\n(PEu-1v
+Heirloom Documentation Tools
+.bp
+.ad l
+.di Impression
+\[less]http\&:/\&/\&n-t-roff.github.io\&/\&heirloom\&/\&doctools.html\[greater]
+.br
+.di
+\&
+.pn 1
+.ds pageno-style 1
+.sp |\n(PEu-\n(dnu
+.nf
+.Impression
+.fi
+.bp
+.ad p
+.ft R
+.S "The basics"
+.nr print-pageno 1
+.P
+Heirloom \*(TR understands two ways to select \*(PS fonts.
+.P
+The current method can access \*(PS font files directly. Fonts are
+selected using an extended ``.fp'' request.
+As simple examples,
+.EX
+&fp 0 \fCAG\fN gdrg____ pfb
+&ft \fCAG\fN
+Here is some text in Adobe Garamond Regular.
+.EE
+.LX
+&fp 0 R somefont pfb
+&ft R
+Here is some text in somefont.
+.LP Here is some text in somefont.
+.LE
+.ie r GaramondPremrPro or
+.el or, with the Linux Libertine font used in this document,
+.EX
+&fp 0 \fCAG\fN AGaramondPro-Regular otf
+&ft \fCAG\fN
+Here is some text in Adobe Garamond Pro Regular.
+.EE
+.LX
+&fp 0 R LinLibertine_R otf
+&ft R
+Here is some text in Linux Libertine Regular.
+.LP Here is some text in Linux Libertine Regular.
+.LE
+.P
+But it is also possible to have different names for the metrics and
+glyph data files, as in
+.EX
+&fp 0 \fCAM\fN mykerning.afm gdrg____.pfb
+&ft \fCAM\fN
+This text prints in Adobe Garamond using modified kerning.
+.EE
+.LX
+&fp 0 R mykerning.afm somefont.pfb
+&ft R
+This text prints in somefont using modified kerning.
+.LP This text prints in somefont using modified kerning.
+.LE
+.P
+The default higher-resolution ``ps'' \*(PS device always uses
+\fCAFM\fR files; it supports the conventional ``.fp'' request for backwards
+compatibility to select pre-installed fonts from the \fCPDF\fR base set.
+.P
+With fonts selected by this method, localized input processing is
+performed according to the \fCLC_CTYPE\fR environment variable, or according
+to a document-specific value set by the ``.lc_ctype'' request:
+.EX
+&\[backslash]\[quotedbl] Enable long request names.
+&do xflag 3
+&\[backslash]\[quotedbl] de_\fCDE\fN.utf8 is for \fCGNU\fN libc; de_\fCDE\fN.\fCUTF\fN-8 works elsewhere.
+&lc_ctype de_\fCDE\fN.utf8
+Deutscher Text mit ‹Anführungszeichen›
+&sp
+The first five small letters of the Greek alphabet: α β γ δ ε
+.EE
+.LX
+&\[backslash]\[quotedbl] Enable long request names.
+&do xflag 3
+&\[backslash]\[quotedbl] de_DE.utf8 is for GNU libc; de_DE.UTF-8 works elsewhere.
+&lc_ctype de_DE.utf8
+Deutscher Text mit ‹Anführungszeichen›
+.LP Deutscher Text mit ‹Anführungszeichen›
+&sp
+The first five small letters of the Greek alphabet: α β γ δ ε
+.LP The first five small letters of the Greek alphabet: α β γ δ ε
+.LE
+.P
+Note that any use of \fCAFM\fR, OpenType, or TrueType files requires that the
+output of \*(TR is passed to the exactly matching version of \fIdpost,\fR i.e.
+to the one that was delivered with the same release of this package.
+Sending such \*(TR output directly to a print spooler that invokes a
+system version of \fIdpost\fR will thus usually not work.
+.P
+The historical method requires font tables to be generated manually.
+It is still supported, and is still the default for the lower-resolution
+``post'' \*(PS device, but it is not recommended anymore that it is
+used for adding fonts. Localized input processing according to \fCLC_CTYPE\fR
+is not available with this method.
+.S "Installing \*(PS Type\ 1 fonts"
+.P
+Making additional fonts available is easy with the current method. If you
+buy a \*(PS Type\ 1 font for use with \*[TR,] select the Windows
+version. You will get a set of files from the vendor. Only two of them
+are of interest for \*[TR:]
+.sp
+.in +3m
+.ti -1m
+xxxxxxxx.afm
+.br
+This is the metrics file. \*(TR accesses it to learn the widths
+of characters in the font.
+.sp
+.ti -1m
+xxxxxxxx.pfb
+.br
+This file contains the actual glyph data. \*(TR does not really
+need this file, but the printer or \fCPDF\fR converter does. In many
+cases, it is most convenient to include the data directly into
+the .ps file generated, as in the examples above.
+.in -3m
+.sp
+.P
+Create a directory to hold your fonts. For compatibility with future
+versions of \*[TR,] it is recommended that it is put outside the \*(TR
+hierarchy /\&usr/\&ucblib/\&doctools; something below /\&usr/\&local may be a
+good choice. For each font you want to install, copy or link both the
+\fCAFM\fR and the \fCPFB\fR file into the directory.
+Set the \fCTROFFONTS\fR environment
+variable to this directory; if you have multiple font directories, you
+can separate them in \fCTROFFONTS\fR by colons, just as in the \fCPATH\fR variable
+for the shell, e.g.
+``\fCTROFFONTS\fR=\:/\&usr/\:\&local/\:\&share/\:\&fonts\&:\:/\&usr/\:\&share/\:\&fonts
+export \fCTROFFONTS\fR''.
+Write the definition in your ``.profile'' or a similar startup file
+to make it permanent.
+You can now use the fonts with \*[TR.] If you want to install
+more fonts later, it is sufficient to put them into the font directory.
+.S "Installing OpenType or TrueType fonts"
+.P
+The procedure for OpenType and TrueType fonts is nearly the same as for
+Type\ 1 fonts, except that there is only one file ``FontName.otf'' (or
+``FontName.ttf'') with them that contains both metrics and glyph data.
+Just copy this file to a directory given in the \fCTROFFONTS\fR path.
+.S "Using OpenType features"
+.P
+High-quality OpenType fonts may contain feature tables that allow special
+typographic effects. For example, the \*(FT font
+.ie r GaramondPremrPro \{\
+contains titling capitals that can be mapped to the input range of regular
+capitals
+.\}
+.el contains superscripts characters that can be accessed
+with the ``.feature'' request in \*[TR:]
+.EX
+&do xflag 3
+&fp 1 \fCR\fN AGaramondPro-Regular otf
+&fp 0 \fCT\fN AGaramondPro-Regular otf
+&feature \fCT\fN +titl
+\fCREGULAR CAPITALS\fN
+&sp
+.fzoom T .92
+&ft \fCT\fN
+\fTTITLING CAPITALS\fN
+.fzoom T 1
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&fp 0 U LinLibertine_R otf
+&feature U +sups
+&ft R
+Regular text which ends with\efUsuperscript\efR.
+.LP Regular text which ends with\fUsuperscript\fR.
+.LE
+.P
+To retrieve a list of features in an individual font that are available
+with \*[TR,] use ``otf_info \[minus]s font.otf''. Typical useful features are:
+.sp
+.TS
+center;
+lfN l.
++c2sc converts capitals to small capitals
++case T{
+substitutions for use in combination with text
+in all-capital letters
+T}
++onum old-style numerals
++pnum proportional (lining) numerals
++pnum +onum proportional old-style numerals
++smcp converts lower-case letters to small capitals
++smcp +c2sc converts all letters to small capitals
++titl titling characters
++sups superscript
++infs subscript
++zero slashed zero
+.TE
+.sp
+.P
+Features such as ``aalt'' or ``ornm'' which only map sets of very special
+characters to different positions are normally not useful with \*(TR since
+these characters can be accessed directly
+using ``\[backslash][name]'' escape sequences
+anyway. To make an individual alternate character the default, the ``.f\;tr''
+request can be used:
+.EX
+&do xflag 3
+&fp 2 \fCI\fN AGaramondPro-Italic otf
+&ftr \fCI\fN Q\[backslash][Q.swash]
+&ft \fCI\fN
+\fIUsing a swash capital in the word ``Quality.''\fN
+.EE
+.LX
+&do xflag 3
+&fp 0 R LinLibertine_R otf
+&ftr R h\e[h.alt]
+&ft R
+Using alternate character in the word ``hello.''
+.LP Using alternate character in the word ``\[h.alt]ello.''
+.LE
+.P
+Feature mappings result in changes to the same internal data structures as
+the ``.f\;tr'' request. It is thus possible to make adjustments to mappings by
+using ``.f\;tr'' after ``.feature'', or to create personalized variants by using
+``.f\;tr'' based on the data obtained from ``otf_info \[minus]s''.
+.P
+The ``.feature'' request must still be active for a font
+when a character is printed;
+disabling a feature with ``.feature \fCF\fR \[minus]feat'' only works completely
+if all of its mappings are still in position. It is thus recommended that
+the ``.feature'' request is used only once for a font immediately after it
+has been mounted, and that a font is mounted multiple times, each time for
+enabling an individual feature set. Doing so has the additional advantage
+that switching between features is conveniently possible using the ``\[backslash]f''
+escape sequence.
+.S "Using fonts with old-style numerals"
+.P
+A Type\ 1 font with old-style numerals but otherwise standard characters
+usually does not require any special mechanism. It can simply be mounted,
+selected, and used.
+.P
+Old-style numerals contained in OpenType fonts can be accessed conveniently
+by mapping them to the standard \fCASCII\fR numbers with the ``.feature'' request:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN AGaramondPro-Regular otf
+&feature \fCR\fN +onum
+The numerals \fR0 1 2 3 4 5 6 7 8 9\fN are in old-style.
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&feature R +onum
+The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+.LP The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+.LE
+.S "Using fonts with small capital letters"
+.P
+Small capital fonts sometimes need letter space tracking. Thus e.g.
+to use the \*(FT small capital font, you can write something like
+.EX
+&do xflag 3
+&fp 0 \fCSC\fN gdsc____ pfb
+&track \fCSC\fN 1 .2 24 2
+&ft \fCSC\fN
+\f(SCThis text prints in Small Capitals.\fP
+.EE
+.if r GaramondPremrPro \{\
+.P
+With an OpenType font, the ``.feature'' request is useful again:
+.\}
+.EX
+&do xflag 3
+&fp 0 \fCSC\fN AGaramondPro-Regular otf
+&feature \fCSC\fN +smcp
+&track \fCSC\fN 1 .3 24 3
+&ft \fCSC\fN
+\f(SCThis text prints in Small Capitals.\fN
+.EE
+.LX
+&do xflag 3
+&fp 0 SC LinLibertine_R otf
+&feature SC +smcp
+&track SC 1 1.2 40 0
+&ft SC
+This text prints in Small Capitals.
+.LP \f(SCThis text prints in Small Capitals.\fR
+.LE
+.S "Using a combination of expert and standard fonts for small capitals"
+.P
+A Type\ 1 expert font contains small capital letters but no upper-case
+capital letters. Since it would be very inconvenient to change the font
+explicitly for each upper-case letter, the fallback sequence is useful
+in this case. The expert font is selected as text font, but for each
+upper-case letter encountered, \*(TR changes automatically to the
+standard font:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCE\fN gerg____ pfb
+&track \fCE\fN 1 .2 24 2
+&fallback \fCE R\fN
+&ft \fCE\fN
+\f(SCThis text prints in Small Capitals.\fN
+.EE
+.LX
+&do xflag 3
+&fp 1 R normalfont pfb
+&fp 0 E expertfont pfb
+&track E 1 .2 24 2
+&fallback E R
+&ft E
+This text prints in Small Capitals.
+.LP \f(SCThis text prints in Small Capitals.\fR
+.LE
+.P
+For OpenType fonts, all small capital letters are contained within the
+base font, and the ``smcp'' feature accesses them as shown above.
+.S "Using a combination of expert and standard fonts for old-style numerals"
+.P
+This also uses the fallback sequence, but since the standard numerals
+are present in the standard font, they have to be hidden first so that
+\*(TR does not select them:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCE\fN gerg____ pfb
+&fallback \fCR E\fN
+&hidechar \fCR\fN 0123456789
+The numerals \fR0 1 2 3 4 5 6 7 8 9\fN are in old-style.
+.EE
+.LX
+&do xflag 3
+&fp 1 R normalfont pfb
+&fp 0 E expertfont pfb
+&fallback R E
+&hidechar R 0123456789
+&ft R
+The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+.LP The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+.LE
+.S "Using the expert font for both small capitals and old-style numerals"
+.P
+The examples above can also be combined.
+Since the ``.track'' request does not
+affect the tracking of fonts that are selected by the fallback sequence,
+it is sufficient to mount each font once:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCE\fN gerg____ pfb
+&fallback \fCR E\fN
+&fallback \fCE R\fN
+&track \fCE\fN 1 .2 24 2
+&hidechar \fCR\fN 0123456789
+The numerals \fR0 1 2 3 4 5 6 7 8 9\fN are in old-style.
+&br
+&ft \fCE\fN
+\f(SCBut this text prints in Small Capitals.\fN
+.EE
+.LX
+&do xflag 3
+&fp 1 R normalfont pfb
+&fp 0 E expertfont pfb
+&fallback R E
+&fallback E R
+&track E 1 .2 24 2
+&hidechar R 0123456789
+&ft R
+The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+.LP The numerals 0 1 2 3 4 5 6 7 8 9 are in old-style.
+&br
+&ft E
+But this text prints in Small Capitals.
+.LP \f(SCBut this text prints in Small Capitals.\fR
+.LE
+.S "Using the expert font for ligatures"
+.P
+\*(PS Type\ 1 fonts usually do not contain ligatures for ff, ffi, and
+ffl in the base font; an expert font delivers them in addition. Automatic
+substitution of such ligatures can be enabled using the
+.lg 0
+``.flig''
+.lg
+request in combination with the fallback sequence:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCE\fN gerg____ pfb
+&fallback \fCR E\fN
+&flig \fCR\fN ff \e(ff ffi \e(Fi ffl \e(Fl
+e\(ffective o\(Fice o\(Fline
+.EE
+.LX
+&do xflag 3
+&fp 1 R normalfont pfb
+&fp 0 E expertfont pfb
+&fallback R E
+&flig R ff \e(ff ffi \e(Fi ffl \e(Fl
+&ft R
+effective office offline
+.LP e\(ffective o\(Fice o\(Fline
+.LE
+.P
+OpenType fonts contain all available ligatures in the base font,
+so no special procedure needs to be applied with them.
+.S "Defining additional ligatures"
+.P
+Fonts may provide ligatures beyond the five standard \*(TR ones.
+They are not activated by default
+regardless of any definitions in the font metrics files,
+but can be enabled individually as desired;
+\*(TR will then replace sequences of characters automatically
+with them as with the standard ligatures.
+For example, \*(FT
+contains ligatures for use with the historic ``\[longs]'' letter variant:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN GaramondPremrPro otf
+&flig R ſſ \e[longs_longs] ſi \e[longs_i] ſſi \e[longs_longs_i]
+Uſe theſe ligatures for cla\[longs_longs_i]c typography.
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&flig R \e[longs]\e[longs] \e[longs_longs] \e[longs]i \e[longs_i]
+&flig R \e[longs]\e[longs]i \e[longs_longs_i]
+U\e[longs]e the\e[longs]e ligatures
+for cla\e[longs]\e[longs]ic typography.
+.LP U\[longs]e the\[longs]e ligatures for cla\[longs_longs_i]c typography.
+.LE
+.P
+\*(TR splits ligatures in two parts
+when hyphenating words.
+It is thus necessary that any part of a ligature
+that is not a single character is also defined as a ligature,
+so ``\[longs_longs]'' and ``\[longs_i]''
+are prerequisites for ``\[longs_longs_i]''.
+.P
+It is normally not advisable
+to enable ligatures with \[s_p]ecial display forms
+.if !r GaramondPremrPro (such as in ``se\[c_t]ion'')
+using the ``.f\;lig'' mechanism;
+they should be set manually as special characters
+.ie r GaramondPremrPro (``\e[s_p]'' in this case)
+.el (``\e[c_t]'' in this case)
+at precise locations.
+.S "Choosing between multiple possible ligatures"
+.P
+If a font contains only two-character ligatures,
+there are two possibilities for automatic ligature building
+with an input sequence that would form a three-character ligature,
+e.g., ``f\^f\^i'' could be constructed
+as ``\(ff\|i'' or ``f\|\(fi''.
+\*(TR normally selects the first ligature available,
+so ``\(ff\|i'' would be the default.
+In many cases, the other choice
+would be aesthetically preferable;
+this is the application for the ``.fdeferlig'' request:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN GaramondPremrPro otf
+&flig R ſſ \e[longs_longs] ſi \e[longs_i]
+&fdeferlig R ſſi
+Choo\[longs_i]ng the ſecond ligature looks poſ\[longs_i]bly better.
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&flig R \e[longs]\e[longs] \e[longs_longs] \e[longs]i \e[longs_i]
+&fdeferlig R \e[longs]\e[longs]i
+Choo\e[longs]ing the \e[longs]econd ligature looks po\e[longs]\e[longs]ibly better.
+.LP Choo\[longs_i]ng the \[longs]econd ligature looks po\[longs]\[longs_i]bly better.
+.LE
+.S "Combining different fonts"
+.P
+Different fonts often have different visual sizes even if they are set
+in the same nominal point size.
+Also fonts from different vendors are often based on
+different standards for character heights.
+To adjust this, the ``.fzoom'' request is available.
+As implied by this purpose,
+it only applies to characters that are actually in the
+current font, not to characters from another font that have been
+selected using the fallback sequence.
+.EX
+&do xflag 3
+&fp 1 \fCR\fN AGaramondPro-Regular otf
+&fp 0 \fCGI\fN GillSansStd otf
+&fzoom \fCGI\fN .94
+.if r GillSansStd \
+\[backslash]f(GI\f(GIGill Sans\fN\[backslash]fR must be adjusted to fit with Adobe Garamond.
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&fp 0 M LinLibertine_M otf
+&track M 1 -.1 40 -0
+&fzoom M .8
+\efMLibertine Monospace\efR must be adjusted to fit with Roman.
+.LP \fNLibertine Monospace\fR must be adjusted to fit with Roman.
+.LE
+.P
+The ``.fzoom'' request affects all characters set in the respective font on
+the current output line. To create single zoomed words, mount a font twice
+under different names, but zoom it only once.
+.S "Spacing out individual words"
+.P
+Spacing out the characters of individual words is commonly done
+for highlighting text e.g. with German
+blackletter faces;
+the ``.track'' request can be used for this as well.
+Like ``.fzoom'', ``.track'' applies
+to all characters in the respective font on an entire output line. Thus it
+is also necessary to mount a font twice but to track it only once when it
+is used for tracking individual words.
+.S "Setting text in all-capital letters"
+.P
+When setting text in all-capital letters, it is normally necessary
+to zoom the font to a smaller size than that of the lower-case text
+surrounding it, and to track it as well. Mounting the regular font
+a second time is the most convenient way to handle this:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCXC\fN gdrg____ pfb
+&track \fCXC\fN 1 .2 24 2
+&fzoom \fCXC\fN .9
+Regular text and \[backslash]f(XC\fCALL-CAPITAL TEXT\fN\[backslash]fP which ends.
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&fp 0 C LinLibertine_R otf
+&track C 1 1.2 40 0
+fzoom C .9
+Regular text and \efCALL-CAPITAL TEXT\efR which ends.
+.LP Regular text and \fCALL-CAPITAL TEXT\fR which ends.
+.LE
+.S "Pairwise kerning"
+.P
+Pairwise kerning is enabled unless the
+\fN\[minus]x0\fR option is given. The ``.kern''
+request disables it. Kerning tables are initially read from the \fCAFM\fR,
+OpenType, or TrueType files; this default kerning only applies if two
+adjacent characters are from the same font.
+A font-specific kerning table
+can be disabled using the ``.fkern'' request.
+.P
+There are two methods to
+adjust the kerning tables: In some cases, it is most convenient to
+create a private copy
+of the \fCAFM\fR file and to adjust the ``\fCKPX\fR'' entries
+in it. This has the advantage that the modified kerning pairs are
+immediately available for use in other documents.
+.P
+For OpenType or TrueType fonts, or for cases where this is not suitable
+with Type\ 1 fonts, or not possible because the characters in the kerning
+pair originate from different fonts, \*(TR provides the ``.kernpair''
+request:
+.EX
+&do xflag 3
+&fp 1 \fCR\fN gdrg____ pfb
+&fp 0 \fCE\fN gerg____ pfb
+&fallback \fCR E\fN
+&hidechar \fCR\fN 0123456789
+&kernpair \fCE\fN 0 \fCR\fN / 50
+&kernpair \fCR\fN / \fCE\fN 1 \[minus]90
+&kernpair \fCE\fN 1 \fCR\fN / 40
+&kernpair \fCR\fN / \fCE\fN 2 \[minus]80
+\fR0/1/2\fP
+.EE
+.LX
+&do xflag 3
+&fp 1 R LinLibertine_R otf
+&feature R +onum
+&kernpair R 0 R / 50
+&kernpair R / R 1 \[minus]90
+&kernpair R 1 R / 40
+&kernpair R / R 2 \[minus]80
+0/1/2
+.LP 0/1/2
+.LE
+.P
+In this example, old-style numerals from \*(FT are mixed
+with the slash character, and are adjusted to
+achieve matching visual letter spacing.
+.S "Kerning of a character in any combination"
+.P
+It is sometimes useful to add a certain amount of space whenever a
+character appears, for example before ``;'' or ``?'', or on the inner
+sides of guillemots in French/Swiss style. The ``.kernaf\;ter'' and
+``.kernbefore'' requests are useful for this:
+.EX
+&do xflag 3
+&kernafter \fCR\fN ; 66 ? 66
+.EE
+.LX
+&do xflag 3
+&kernafter R ; 66 ? 66
+.LE
+.P
+If the characters affected by these requests are also member of a
+regular kerning pair, the resulting added space is the sum of both
+definitions. These requests are applied at the same places as kerning
+pairs, i.e. they have no effect if following or preceding a motion
+command, ``\[backslash]\[ampersand]'' or line margin,
+and they are additionally restricted to
+have no effect if the other character is a space.
+.S "Hanging characters"
+.P
+Since there are no tables for hanging characters in \fCAFM\fR files, values
+must be given explicitly in \*(TR source code using the ``.lhang'' and
+``.rhang'' requests. Both accept a font specification followed by one
+or more pairs of characters and values:
+.EX
+&do xflag 3
+&ps 10
+&fp 1 \fCR\fN gdrg____ pfb
+&lhang \fCR\fN V \[minus]50 J \[minus]40
+&rhang \fCR\fN \[backslash](hy 80
+.EE
+.LX
+&do xflag 3
+&ps 10
+&fp 1 R somefont pfb
+&lhang R V \[minus]50 J \[minus]40
+&rhang R \[backslash](hy 80
+.LE
+.P
+Adjustments are given in units of 1/72\|000 inch multiplied by the actual
+point size, or 1/1\|000 of the em size when the line is printed. Thus in
+this example, the left margin is shifted to the left by .5 points when
+the leftmost letter is a ``V'', and by .4 points when the leftmost letter
+is a ``J''; the right margin is shifted to the right by .8 points when
+the rightmost letter is a hyphen.
+.P
+Left margin adjustments are evaluated before the letters that fit on the
+current line are computed, and can thus principally be of any length. In
+contrast, right margin adjustments are evaluated after this computation
+is finished, and the adjustment is simply added to the word space of the
+output line. Thus a positive right adjustment that is large in relation
+to the line length will cause visible holes, and a negative adjustment
+will ultimately cause the words on the line to be printed over each
+other. This is not a problem for the typical application of hanging
+punctuation for visual alignment, though; if a line with eight word
+spaces is shifted in the example above, each word space is enlarged
+by only 1/100 em.
+.S "Mathematical and other special characters"
+.P
+Special mathematical characters like
+``\[backslash](\[plus]\[minus]'', greek letters like ``\[backslash](*a'',
+and, with the ``pslow'' device,
+even the punctuation characters
+\[backslash](or \[backslash]\[minus] \[backslash]\`
+\[backslash]\' \[quotedbl] # < > @ \[backslash] \[asciicircum] \[asciitilde] are
+normally not chosen from the current font, but
+are taken from the special font instead.
+(\*(PS names
+(e.g. ``\[backslash][numbersign]'', ``\[backslash][less]'',
+``\[backslash][at]'')
+access characters from the current font.)
+The ``.fps'' request can be used to override this behavior. In particular,
+this is useful to set mathematical text with a different font. To use
+\*(FT for greek letters and mathematical symbols:
+.EX
+&do xflag 3
+&fps math,greek,punct 1 \fCR\fN GaramondPremrPro otf
+&fp 2 \fCI\fN GaramondPremrPro-It otf
+&fallback \fCI R\fN
+&\fCEQ\fN
+a \[asciicircum]=\[asciicircum] pi {r sup 2}
+&\fCEN\fN
+.EE
+.LX
+&do xflag 3
+&fps math,greek,punct,large 1 R LinLibertine_R otf
+&fp 2 I LinLibertine_RI otf
+&fallback I R
+&EQ
+a \[asciicircum]=\[asciicircum] pi {r sup 2}
+&EN
+.LE
+.S "Helper utilities"
+.P
+The \fIotf_info\fR utility shows the contents of an OpenType or TrueType
+font file just as \*(TR interprets it. It emits an \fCASCII\fR format that
+is readable by humans and can also be used for further processing with
+shell scripts. It is useful to retrieve lists of characters and features
+supported with the font.
+.P
+The shell script ``stuff\&/\&showfont.sh'' in the source code distribution
+uses \*(TR and possibly \fIotf_info\fR to print a map of all characters in an
+\fCAFM\fR, OpenType, or TrueType font along with their \*(PS names.
+.S "Limitations"
+.P
+\fIdpost\fR uses a method to embed \fCCFF\fR-based (\*(PS-style) OpenType
+fonts in \*(PS documents that is only available with \*(PS\ 3
+interpreters; older printing equipment that uses \*(PS Level\ 2 or below cannot
+handle such documents directly.
+The recommended workaround is to convert the \*(PS output
+to a \fCPDF\fR document
+and to print it using a \fCPDF\fR viewer
+or reverse conversion program.
+Also you may have
+to update your copy of Ghostscript in order to create \fCPDF\fR files with
+proper font embedding from such output.
+.P
+Embedding TrueType fonts in \*(PS documents requires \*(PS\ 3
+or \*(PS Level\ 2 of at least version 2013.
+.P
+\*(TR only supports OpenType features that result in single-character
+substitutions insensitive of context (except for the ``fi fl ff ffi ffl''
+ligatures and kerning which are enabled by default if possible). Also \*(TR
+ignores any features that are not mapped
+to the ``\fCDFLT\fR'' or ``latn'' languages
+in an OpenType font.
+.ig
+.P
+The default \*(PS/Unicode conversion tables currently only contain
+European character names; other characters are simply ignored when they
+occur in input text. The ``Adobe Glyph List'' cannot be used for this task
+since it lists many characters in positions which are not appropriate for
+the \*(TR input mechanism. For example, small capitals are put in the
+private area there which would make it necessary to transform ASCII input
+text in order to use them; the \*(TR mechanism in contrast allows them to
+be selected simply with a font change. Contributions of appropriate tables
+for other languages are welcome.
diff --git a/doc/fonts/makefile b/doc/fonts/makefile
new file mode 100644
index 0000000000000..275419b09d408
--- /dev/null
+++ b/doc/fonts/makefile
@@ -0,0 +1,64 @@
+DISTFLAGS = -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
+ -sProcessColorModel=DeviceGray -dPDFSETTINGS=/prepress
+CRYPT = -sOwnerPassword="`dd if=/dev/random bs=12 count=1 2>/dev/null | \
+ md5sum | awk '{ print $$1 }'` " -dEncryptionR=3 \
+ -dKeyLength=128 -dPermissions=-300
+
+.SUFFIXES: .tr .ps .pdf .more
+
+.tr.ps:
+ rm -f $@; trap "rm -f $$$$.ps" 0 2 3; \
+ tbl $< | eqn | troff | dpost -e4 >$$$$.ps && mv $$$$.ps $@
+
+.ps.pdf:
+ gs -sOutputFile=$@ $(DISTFLAGS) $(CRYPT) -f $<
+
+.tr.more:
+ tbl -Tlocale $< | nroff -Tlocale | col -x > $@
+
+all: doc.ps
+
+print.ps: doc.pdf
+ pdftops -paper match doc.pdf $@
+
+book.ps: print.ps
+ psbook print.ps | psnup -2 -pa4 -Pa5 | \
+ sed 's/^\(%%DocumentMedia:\).*/\1 x595y842 595 842 0 () ()/' >$@
+
+odd.ps: book.ps
+ psselect -o book.ps $@
+
+even.ps: book.ps
+ psselect -e book.ps $@
+
+test:
+ [ -e doc.more ] && mv doc.more doc.more.orig
+ make doc.more
+ diff -d doc.more.orig doc.more
+ mv doc.more.orig doc.more
+ [ -e doc.ps ] && mv doc.ps doc.ps.orig
+ make doc.ps
+ rm fonts.tmac
+ sed 's/.CreationDate.*/%/' doc.ps >doc.ps.sed
+ diff -d doc.ps.orig doc.ps.sed
+ rm doc.ps.sed
+ mv doc.ps.orig doc.ps
+
+clean:
+ rm -f book.ps book.pdf doc.ps doc.pdf print.ps doc.more \
+ odd.ps odd.pdf even.ps even.pdf core log *~ fonts.tmac
+
+fonts.tmac:
+ @[ -n "$$TROFFONTS" ] || \
+ (echo "Error: Environment variable TROFFONTS not set" && false)
+ @for F in GaramondPremrPro GillSansStd LinLibertine ; do \
+ find $$(echo $$TROFFONTS | sed -e 's/:/ /g') -name "$$F*" | \
+ grep $$F > /dev/null && echo ".nr $$F 1" >> $@ || true; \
+ done
+ @grep nr $@ > /dev/null || \
+ (echo 'Error: None of the fonts "LinLibertine", ' \
+ '"GaramondPremrPro" and "GillSansStd" found' && false)
+
+mrproper: clean
+
+doc.ps: fonts.tmac
diff --git a/doc/just/README b/doc/just/README
new file mode 100644
index 0000000000000..b865173176ee7
--- /dev/null
+++ b/doc/just/README
@@ -0,0 +1,25 @@
+README for the Heirloom Troff Justification Documentation
+=========================================================
+
+To build this manual, you need the Adobe Garamond Pro fonts,
+and need to set the TROFFONTS variable accordingly. Adobe
+Garamond Pro is available as part of the "Adobe Type Basics
+OpenType Edition" package.
+
+Note that as of autumn 2005, it was not possible to
+download fonts bought directly from Adobe using a Linux
+system. There are many other shops that sell Adobe fonts,
+though, and these usually allow downloads for Linux users.
+
+Gunnar Ritter 01/08/07
+
+
+Update for the revised Heirloom Troff edition
+=============================================
+
+2014/09/05
+The files contained in this directory have been modified to
+use the Linux Libertine fonts if the fonts choosen by Gunnar
+Ritter are not present in your system. The Linux Libertine
+can be downloaded from <http://linuxlibertine.org>. You
+still need to set the TROFFONTS variable accordingly.
diff --git a/doc/just/doc.more b/doc/just/doc.more
new file mode 100644
index 0000000000000..f6b09f4bb6df1
--- /dev/null
+++ b/doc/just/doc.more
@@ -0,0 +1,1518 @@
+
+
+
+
+
+ Justification in Heirloom Troff
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ JUSTIFICATION
+
+ IN
+
+ HEIRLOOM TROFF
+
+
+
+
+
+ Gunnar Ritter
+
+ 11/11/06
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Heirloom Documentation Tools
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ http://nâ€tâ€
+ roff.github.io/heirloom/doctools.html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _L_i_n_eâ€_b_yâ€_l_i_n_e _a_d_j_u_s_t_m_e_n_t
+
+ When determining line breaks, _t_r_o_f_f traâ€
+ ditionally uses a simple method: Words
+ are accumulated from input as long as
+ they fit on the current output line.
+ Once a word consumes more space than
+ available, it is hyphenated. If a feaâ€
+ sible breakpoint results, it is chosen;
+ otherwise the current output line ends
+ with the previous word.
+ If the adjustment mode is ‘‘b’’ (adjust
+ both margins) and the line is shorter
+ than the desired line length, interword
+ spaces are widened to make the line
+ fit. The line is then printed either to
+ intermediate output or to the current diâ€
+ version, if any. Afterwards, the process
+ starts again.
+ This method works reasonably well but
+ has two shortcomings: First, it is not
+ possible to compress interword spaces by
+ the slightest amount even if the breakâ€
+ point obtainable by widening is inacceptâ€
+ able. Second, if a line that fits
+ perfectly is followed by a line with very
+ loose spacing, it might be better to move
+ the last word of the first line to the
+ next one; then both lines might have less
+ than perfect spacing, but it might neverâ€
+ theless be more acceptable than one line
+ with very wide spaces.
+ Both problems are addressed in _H_e_i_r_â€
+ _l_o_o_m _t_r_o_f_f. As usual, the default
+ behavior has not changed, though, so
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ identical output will be produced for exâ€
+ isting documents unless they are modified
+ accordingly.
+
+
+ _S_h_r_i_n_k_i_n_g _i_n_t_e_r_w_o_r_d _s_p_a_c_e_s
+
+ The ‘‘.minss’’ request allows to specâ€
+ ify a minimum interword space. It is
+ only effective when adjusting both marâ€
+ gins. It accepts an argument with the
+ same semantics as the ‘‘.ss’’ request,
+ i.e. a numeric value that is multiplied
+ by 12/36 of the standard interword space.
+ The space size configured with ‘‘.ss’’
+ is taken as the optimum setting. Thus
+ with the default ‘‘.ss 12’’, ‘‘.minss 9’’
+ specifies that spaces may be shrunk to 75
+ percent.
+ The line breaking process is then
+ changed such that when the first word
+ does not fit on the current output line
+ anymore, _t_r_o_f_f is allowed to shrink inâ€
+ terword spaces to make it fit instead
+ of deferring the word to the next line
+ and expanding the interword spaces on
+ the current one. _t_r_o_f_f has a slight
+ preference for shrinking builtâ€in, so if
+ shrinking and expanding are equally far
+ away from the optimum, shrinking is choâ€
+ sen. If a line can be set with the optiâ€
+ mum setting, no shrinking is performed.
+
+
+
+
+
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Harmony, liberal
+ _S_t_a_n_d_a_r_d intercourse with
+ _a_d_j_u_s_t_m_e_n_t all nations, are
+ _s_e_t_t_i_n_g_s recommended by
+ policy, humanity,
+ and interest.
+ But even our comâ€
+ mercial policy
+ should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+ Harmony, liberal
+ _S_h_r_i_n_k _t_o intercourse with
+ _6_7% (._m_i_n_s_s all nations, are
+ _8) recommended by
+ policy, humanity,
+ and interest.
+ But even our comâ€
+ mercial policy
+ should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+ While the second setting is certainly not
+ perfect, it is much better than the first
+ one.
+
+
+
+
+
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _P_a_r_a_g_r_a_p_hâ€_a_tâ€_o_n_c_e _a_d_j_u_s_t_m_e_n_t
+
+ Adjusting paragraphâ€atâ€once distributes
+ the word spaces more evenly:
+
+
+ Harmony, liberal
+ _L_i_n_eâ€_b_y†intercourse with
+ _l_i_n_e _a_d_†all nations, are
+ _j_u_s_t_m_e_n_t recommended by
+ (._a_d _b) policy, humanity,
+ and interest.
+ But even our comâ€
+ mercial policy
+ should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+ Harmony, liberal
+ _P_a_r_a_g_r_a_p_h†intercourse with
+ _a_tâ€_o_n_c_e _a_d_†all nations, are
+ _j_u_s_t_m_e_n_t recommended by
+ (._a_d _p) policy, humaniâ€
+ ty, and interest.
+ But even our
+ commercial poliâ€
+ cy should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+ To address the problem of an unnecessarâ€
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ily loose line, it is obviously necessary
+ to look ahead to following text. Actualâ€
+ ly the best solution may involve multiple
+ lines: the line with sufficiently tight
+ spacing might occur several lines before
+ the loose one, and each line in between
+ simply starts one word earlier but conâ€
+ tains the same number of words.
+ For this reason, _t_r_o_f_f collects the
+ words of an entire paragraph and computes
+ optimal breakpoints when it is ended with
+ the next request causing a _b_r_e_a_k. Breakâ€
+ points are considered optimal if all
+ interword spaces in the paragraph are as
+ close to the optimum setting as possible.
+ Once the optimal breakpoints have been
+ computed, the resulting lines are output.
+ At this time, _t_r_a_p_s become effective.
+ When the entire paragraph has been printâ€
+ ed, execution continues with the request
+ that initially caused the _b_r_e_a_k at the
+ end of the paragraph.
+ Paragraphâ€atâ€once adjustment is enabled
+ per paragraph with ‘‘.ad p’’; the forms
+ ‘‘.ad pc’’, ‘‘.ad pl’’, and ‘‘.ad pr’’
+ are also supported and apply the method
+ to centered, leftâ€adjusted, and rightâ€adâ€
+ justed text, respectively.
+ The request ‘‘.padj’’ globally enables
+ paragraphâ€atâ€once adjustment across all
+ environments; it is especially useful to
+ change existing documents to use this
+ mode.
+ Paragraphâ€atâ€once adjustment is compatiâ€
+ ble with almost all existing _t_r_o_f_f code.
+
+
+ 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Most importantly, it works in combinaâ€
+ tion with the _t_b_l, _e_q_n, _r_e_f_e_r, and _p_i_c
+ preprocessors as well with the standard
+ ‘‘–mm’’, ‘‘–ms’’, ‘‘–me’’, and ‘‘–man’’
+ macro sets.
+ The ‘‘.in’’, ‘‘.ti’’, and ‘‘.ll’’ reâ€
+ quests should only be used to set
+ indenting and line length for an entire
+ paragraph. If they are used within a
+ paragraph, breakpoints must be recomputâ€
+ ed, and previous breakpoints are suboptiâ€
+ mal. Documents that use such methods
+ e.g. for inline pictures should be adaptâ€
+ ed to achieve optimum results with paraâ€
+ graphâ€atâ€once adjustment.
+ Since positions on the output line are
+ not computed until the entire paragraph
+ has been collected, the ‘‘.k’’ and ‘‘.x’’
+ number registers cannot contain meaningâ€
+ ful values in paragraphâ€atâ€once adjustâ€
+ ment mode. Macros that test ‘‘.k’’ only
+ to determine if there is text present
+ will work, though, since it is ensured
+ that ‘‘.k’’ is never zero in this case.
+ The number of the current page in the
+ ‘‘%’’ register can be lower than the numâ€
+ ber of the page on which the current
+ input word will actually be printed in
+ paragraphâ€atâ€once adjustment mode. Thus
+ e.g. to prepare words for indexing, it is
+ not possible to associate them with page
+ numbers when the input is read. _O_u_t_p_u_tâ€
+ _l_i_n_e _t_r_a_p_s have been introduced to adâ€
+ dress this issue: A ‘‘\P[xx]’’ in input
+ is passed through all formatting and diâ€
+
+
+ 6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Harmony, liberal intercourse with all
+ nations, are recommended by policy,
+ humanity, and interest. But even our
+ commercial policy should hold an
+ equal and impartial hand; neither
+ seeking nor granting exclusive favors
+ or preferences; consulting the natuâ€
+ ral course of things; diffusing and
+
+ _S_t_a_n_d_a_r_d _a_d_j_u_s_t_m_e_n_t _s_e_t_t_i_n_g_s
+
+
+ Harmony, liberal intercourse with all
+ nations, are recommended by policy,
+ humanity, and interest. But even our
+ commercial policy should hold an
+ equal and impartial hand; neither
+ seeking nor granting exclusive favors
+ or preferences; consulting the natuâ€
+ ral course of things; diffusing and
+
+ _A_l_l_o_w _w_o_r_d _s_p_a_c_e_s _t_o _b_e _s_h_r_u_n_k _t_o _8_3%
+
+
+ Harmony, liberal intercourse with all
+ nations, are recommended by policy,
+ humanity, and interest. But even
+ our commercial policy should hold
+ an equal and impartial hand; neither
+ seeking nor granting exclusive faâ€
+ vors or preferences; consulting the
+ natural course of things; diffusâ€
+
+ _A_d_j_u_s_t _p_a_r_a_g_r_a_p_hâ€_a_tâ€_o_n_c_e _a_n_d _a_l_l_o_w _w_o_r_d
+ _s_p_a_c_e_s _t_o _b_e _s_h_r_u_n_k _t_o _8_3%
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ version processing along with the word it
+ has been attached to. When the line conâ€
+ taining it has been actually printed, the
+ macro ‘‘xx’’ is executed. The behavior
+ is then similar to a page trap. Multiple
+ outputâ€line traps may occur on a single
+ line.
+ An index macro can use this mechanism
+ to defer the processing of an index term
+ until after the position of the word it
+ refers to has been determined:
+
+ .nr IXcount 0 1
+ .de IX
+ . de IXâ€\\n+[IXcount]
+ . write index \\\\n% \\$1
+ \\..
+ \\P[IXâ€\\n[IXcount]]\c
+ ..
+ An
+ .IX "index term"
+ index term is contained in this sample text.
+
+ This example macro takes the index term
+ as a single argument. It creates a
+ separate macro on each invocation and
+ prepends an outputâ€line trap calling it
+ to the following word. The created
+ macro then prints the current page number
+ (processed in this macro, thus preceded
+ by four backslashes) and the index term
+ argument (processed in the surrounding
+ macro, thus preceded by two backslashes).
+
+
+
+
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _M_i_c_r_o_t_y_p_o_g_r_a_p_h_y
+
+ To further enlarge the range available
+ for adjustment while reducing the amount
+ by which interword spaces are affected,
+ _t_r_o_f_f also allows to vary the size of inâ€
+ terletter spaces and the shape of glyphs
+ with the ‘‘.letadj’’ request. This proâ€
+ cess is called ‘‘microtypography’’.
+ Microtypography must be applied with
+ care. While the eye is accustomed to
+ varying interword spaces which leave the
+ individual words intact, varying interâ€
+ letter spaces and letter shapes distort
+ the typeface as soon as they become notâ€
+ icable. This is best demonstrated by
+ using them as an exclusive adjustment
+ mechanism:
+
+
+ Harmony, liberal
+ _A_d_j_u_s_t_†intercourse with
+ _i_n_g _b_y _l_e_t_†all nations, are
+ _t_e_r _s_p_a_c_†recommended by
+ _i_n_g _o_n_l_y policy, humaniâ€
+ (._l_e_t_a_d_j _9_6 ty, and interest.
+ _1_0_0 _1_2 _1_1_0 But even our
+ _1_0_0) commercial poliâ€
+ cy should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+
+
+
+ 9
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Harmony, liberal
+ _A_d_j_u_s_t_i_n_g intercourse with
+ _b_y _g_l_y_p_h all nations, are
+ _r_e_s_h_a_p_†recommended by
+ _i_n_g _o_n_l_y policy, humaniâ€
+ (._l_e_t_a_d_j ty, and interest.
+ _1_0_0 _9_6 _1_0_0 But even our
+ _1_1_0) commercial poliâ€
+ cy should hold an
+ equal and imparâ€
+ tial hand; neiâ€
+ ther seeking nor
+
+
+ In combination with adjustment of interâ€
+ word spaces, and if applied with rather
+ strict limits, microtypography can have
+ positive effects, though. This is espeâ€
+ cially true when lines are short; the
+ sample text used so far can be formatted
+ acceptably only if shrinking of interword
+ spaces, paragraphâ€atâ€once adjustment, and
+ microtypography are all combined:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 10
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Harmony, liberal
+ _P_a_r_a_g_r_a_p_h†intercourse with
+ _a_tâ€_o_n_c_e _a_d_†all nations, are
+ _j_u_s_t_m_e_n_t, recommended by
+ _w_o_r_d _s_p_a_c_†policy, humaniâ€
+ _i_n_g _7_5% _t_o ty, and interest.
+ _1_5_0%, _l_e_t_†But even our
+ _t_e_r _s_p_a_c_†commercial poliâ€
+ _i_n_g _9_5% cy should hold an
+ _t_o _1_0_5%, equal and imparâ€
+ _n_o _g_l_y_p_h tial hand; neiâ€
+ _r_e_s_h_a_p_i_n_g ther seeking nor
+ (._l_e_t_a_d_j _9_5 _1_0_0
+ _1_8 _1_0_5 _1_0_0)
+ Harmony, liberal
+ _P_a_r_a_g_r_a_p_h†intercourse with
+ _a_tâ€_o_n_c_e _a_d_†all nations, are
+ _j_u_s_t_m_e_n_t, recommended by
+ _w_o_r_d _s_p_a_c_†policy, humaniâ€
+ _i_n_g _7_5% _t_o ty, and interest.
+ _1_5_0%, _l_e_t_†But even our
+ _t_e_r _s_p_a_c_†commercial poliâ€
+ _i_n_g _9_5% _t_o cy should hold an
+ _1_0_5%, _g_l_y_p_h equal and imparâ€
+ _r_e_s_h_a_p_i_n_g tial hand; neiâ€
+ _9_8% _t_o _1_0_2% ther seeking nor
+ (._l_e_t_a_d_j _9_5 _9_8
+ _1_8 _1_0_5 _1_0_2)
+ For layouts with longer lines than in
+ this example, best results are normally
+ achieved with even smaller ranges for
+ letter spacing and glyph reshaping.
+
+
+
+
+
+ 11
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ _P_e_n_a_l_t_i_e_s _f_o_r _l_i_n_e _b_r_e_a_k_s _a_n_d _h_y_p_h_e_n_a_t_i_o_n
+
+ It is possible to tell _t_r_o_f_f that a line
+ break after a certain word (or hyphenatâ€
+ ed word part) is preferred or discouraged
+ by writing ‘‘\j’_N’’’. A positive _N makes
+ a breakpoint less likely, a negative _N
+ makes it more likely.
+ By default, _t_r_o_f_f hyphenates words whenâ€
+ ever necessary in paragraphâ€atâ€once mode
+ to minimize the adjustment. To reduce
+ the number of hyphenations, _h_y_p_h_e_n_a_t_i_o_n
+ _p_e_n_a_l_t_i_e_s can be configured. Then
+ whenever a breakpoint involves a hyphenâ€
+ ation, it is treated as less optimal,
+ and another breakpoint that does not reâ€
+ quire a hyphenated word may be preferred
+ even though more adjustment may become
+ necessary.
+ Additional penalties can be configured
+ for breakpoints that involve two succesâ€
+ sive hyphens, and for hyphenating the
+ last word of a paragraph.
+ The ‘‘.hypp’’ request takes the single
+ hyphen penalty as its first argument, the
+ penalty for consecutive hyphens as secâ€
+ ond, and the penalty for hyphenating the
+ last word as third. Effective penalties
+ are between 10 and 200.
+ Hyphenation penalties only make hyphens
+ less likely but do not limit them
+ forcibly. The ‘‘.hlm’’ request imposes
+ a strict limit on the number of consecuâ€
+ tive hyphens. It causes a certain breakâ€
+ point to be disabled completely and can
+
+
+ 12
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ thus result in a nonâ€optimal adjustment.
+ It is recommended to use it in combinaâ€
+ tion with ‘‘.spreadwarn’’ to detect such
+ problems.
+
+
+ _P_a_r_a_g_r_a_p_h _s_h_a_p_e_s
+
+ The standard requests for setting indent
+ and line length cannot be used inside
+ a paragraph in paragraphâ€atâ€once adjustâ€
+ ment mode. It is possible to define the
+ shape of an entire paragraph lineâ€byâ€line
+ with the ‘‘.pshape’’ request. It takes
+ a list of indent and line length pairs
+ as arguments; the first pair applies to
+ the first line of the paragraph, the secâ€
+ ond pair to the second line, and so
+ forth. If the paragraph has more lines
+ than pairs are given, the last pair is
+ used for them; it it has less lines, the
+ excess pairs are discarded. A paragraph
+ shape is applied to a single paragraph
+ only; it overrides the standard indent,
+ temporary indent, and line length setâ€
+ tings, of which indent and line length
+ become effective for the next paragraph
+ again.
+
+
+
+
+
+
+
+
+
+ 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ For example,
+ it is possible
+ to create a paragraph
+ whose shape forms a cirâ€
+ cle. To create a holey
+ shape like this, define an
+ indent and line pair for
+ each contiguous part and use
+ traps to move the resulting
+ lines in ver†tical direcâ€
+ tion to the desired posiâ€
+ tion. This is best done in
+ a diversion so that the whole
+ structure is kept togethâ€
+ er; diversion traps are the
+ mechanism of choice then.
+ ¶ Admittedly, creating
+ a circle with a hole
+ is hardly a seâ€
+ rious
+ appliâ€
+ cation
+ of the
+ ‘‘.pshape’’
+ reâ€
+ quest.
+ Comâ€
+ pliâ€
+ cated
+ shapes
+ almost
+ always
+ reâ€
+ quire
+ a
+
+
+ 14
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ careâ€
+ fully
+ wordâ€
+ ing of
+ conâ€
+ tent,
+ so
+ paraâ€
+ graphâ€
+ atâ€
+ once
+ forâ€
+ matâ€
+ ting
+ is
+ only a
+ limitâ€
+ ed aid
+ when
+ creâ€
+ ating
+ them.
+ But
+ ‘‘.pshape’’
+ is
+ also
+ needâ€
+ ed to
+ flow
+ text
+ around
+ an imâ€
+ age,
+ even
+ if
+
+
+ 15
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it has
+ simâ€
+ ply a
+ rectâ€
+ anâ€
+ gular
+ shape.
+ ¶ If
+ you
+ know
+ the
+ ‘‘\parâ€
+ shape’’
+ comâ€
+ mand
+ from
+ _T_E_X,
+ note
+ that
+ the
+ indent
+ is inâ€
+ cluded
+ in the
+ line
+ length
+ in
+ _t_r_o_f_f,
+ so you
+ have
+ to add
+ every
+ first
+ valâ€
+ ue to
+
+
+ 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ every
+ second
+ one
+ for
+ reusing
+ such
+ shapes.
+
+
+ _N_o_t_e_s
+
+ For paragraphâ€atâ€once adjustment, _t_r_o_f_f
+ uses a variation of the algorithm origâ€
+ inally developed by Donald Knuth and
+ Michael Plass for the _T_E_X system².
+ The criteria for the quality of a line
+ differ: There is no explicit stretchaâ€
+ bility setting, and the total shrinkabilâ€
+ ity is used to determine whether a breakâ€
+ point is feasible, but not for computing
+ its optimality. _t_r_o_f_f currently has a
+ slight preference for tight lines. It
+ might make sense to have this configâ€
+ urable, but it seems that the fact that
+ a line may be stretched or shrinked by a
+ high amount does not necessarily indicate
+ the optimality of doing so.
+ _t_r_o_f_f does not generate ‘‘overfull boxâ€
+ es’’, i.e. unadjustable text extending
+ beyond the margin, unless the width of
+ a single word exceeds that of the line.
+ Its warning mechanism can inform about
+ unacceptable adjustments.
+ _t_r_o_f_f makes no use of _f_i_t_n_e_s_s _c_l_a_s_s_e_s
+ and does not prefer to group lines of
+
+
+ 17
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ similar nonâ€optimal spacing. This is beâ€
+ cause doing so may lead to a more even
+ appearance of the lines of a paragraph,
+ but at the expense of a less even apâ€
+ pearance in the context of the whole
+ document. For example, consider the case
+ of multiple consecutive lines with loose
+ spacing: If these lines are viewn in
+ isolation, their spacing looks harmoniâ€
+ cally. If they are viewn as part of a
+ document, they look more bright than the
+ rest. It is not clear how to solve this
+ without optimizing the spacing globally
+ for a document, which is not a realistic
+ option.
+ Breakpoints that might occur at differâ€
+ ent lines are currently not evaluated
+ separately for each such line. Future
+ evaluation may indicate that doing so is
+ necessary in practice.
+ _t_r_o_f_f implements ‘‘microtypography’’
+ similarly as described by Hàn Thế Thành
+ for _T_E_X³. In particular, it performs a
+ function like ‘‘level 2 font expansion’’
+ (p. 70), i.e. it considers the possibiliâ€
+ ty to shrink interletter spaces and charâ€
+ acter shapes when computing breakpoints.
+ Both stretchability and shrinkability are
+ taken into account for computing the opâ€
+ timality of a breakpoint, but only as far
+ as the width of the possible line is conâ€
+ cerned; the percentual adjustment limits
+ do not influence optimality.
+ The sample text is an excerpt of George
+ Washington’s 1796 Farewell address. Its
+
+
+ 18
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ choice for this purpose is due to examâ€
+ ples in James Felici’s _C_o_m_p_l_e_t_e _M_a_n_u_a_l _o_f
+ _T_y_p_o_g_r_a_p_h_y¹.
+
+
+ _R_e_f_e_r_e_n_c_e_s
+
+ [1] J. Felici, _T_h_e _C_o_m_p_l_e_t_e _M_a_n_u_a_l _o_f _T_y_â€
+ _p_o_g_r_a_p_h_y, Berkeley, CA, 2003,
+ pp. 147–149.
+
+ [2] D. E. Knuth, M. F. Plass, ‘‘Breaking
+ paragraphs into lines’’,
+ _S_o_f_t_w_a_r_e—_P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e,
+ Vol. 11, Issue 12 (1981),
+ pp. 1119–1184; also in D. E. Knuth,
+ _D_i_g_i_t_a_l _T_y_p_o_g_r_a_p_h_y, Stanford, 1999
+ (CSLI lecture notes no. 78),
+ pp. 67–155.
+
+ [3] Hàn Thế Thành, _M_i_c_r_oâ€_t_y_p_o_g_r_a_p_h_i_c _e_x_â€
+ _t_e_n_s_i_o_n_s _t_o _t_h_e _T_E_X _t_y_p_e_s_e_t_t_i_n_g
+ _s_y_s_t_e_m, Masaryk University Brno,
+ 2000.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 19
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/just/doc.ps b/doc/just/doc.ps
new file mode 100644
index 0000000000000..9d9b54b235438
--- /dev/null
+++ b/doc/just/doc.ps
@@ -0,0 +1,45474 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%LanguageLevel: 3
+%%DocumentFonts: LinLibertineO LinLibertineDisplayO LinLibertineOI
+%%+ LinLibertineMO
+%%Pages: 15
+%%DocumentMedia: x420y595 420 595 0 () ()
+%%DocumentNeededResources: procset FontSetInit 0 0
+%%DocumentSuppliedResources: font LinLibertineO
+%%+ font LinLibertineDisplayO
+%%+ font LinLibertineOI
+%%+ font LinLibertineMO
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%IncludeResource: procset FontSetInit 0 0
+%%BeginResource: font LinLibertineO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineO 483417 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010e4c696e4c6962657274696e654f000102000100411c0b11001c
+0b12011c0b13021c0b1403f81504290c03b30c04fecefb941c181bfaf9051d00005e
+9d0f1d00000000101d00007380111d000000441d00067eb012098e0200010008000f
+001b0029003000370043004a00510057005d0064006b007100770082008d009700a1
+00a700ad00b300b900bf00c500cc00d300d900df00e900f300fa01010107010d0118
+01230129012f01390143014f015b0166017101750179017f0185018c01930199019f
+01a601ad01b701b901bb01c601d101dd01e901f501fb0201020d0219021f02250229
+022d02330239024502510257025d0268026b026e0275027c02820288029502a202a8
+02ae02ba02c602cc02d202d802de02e902f402fc0304030c0314031a032003240328
+032e0334033b03420348034e035303580365037203790380038b039603a103ac03b2
+03b803c203cc03d103d803df03e603ed03f403fb0402040904100417041e0425042c
+0433043a04410448044f0456045d0464046b0472047904800487048e0495049c04a3
+04aa04af04b404bb04c204c904d004d704de04e504ec04f304fa05010508050f0514
+051905200527052e0535053c0543054a05510558055f0566056d0574057b05820589
+05900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f205f90600
+0607060e0615061c0623062a06310638063f0646064d0654065b0662066906700677
+067e0685068c06920698069f06a606ad06b406bb06c206c906d006d706de06e506ec
+06f306fa07010708070f07160720072a073107380743074e0755075c0763076a0771
+0778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da07e107e8
+07ef07f60802080e081a0826082d0834083b0842084908500857085e0865086c0873
+087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc08e308eb
+08f208f909000907090e0915091c0923092a09310938093f0946094d0954095b0962
+096909700977097e0985098c0993099a09a109a809af09b609bd09c409cb09d209d9
+09e009e709ee09f509fc0a030a0a0a110a180a220a290a300a350a3c0a430a4a0a51
+0a580a5f0a660a6d0a740a7b0a820a890a900a970a9e0aa50aac0ab30aba0ac10acc
+0ad30ada0ae10ae80af10aff0b060b0d0b140b1b0b220b290b300b370b3e0b450b4c
+0b530b5a0b610b680b6f0b760b7d0b840b970b9e0ba50bac0bb30bba0bc10bc80bcf
+0bd60bdd0be40beb0bf20bf90c000c070c0e0c150c1c0c230c2a0c310c380c3f0c46
+0c4d0c570c650c6f0c790c890c9d0cb40cbe0cc80ccf0cd60cdd0ce60cef0cf60cfd
+0d040d0b0d120d190d200d270d2e0d350d3c0d430d4a0d510d580d5f0d660d6d0d74
+0d7b0d820d890d900d970d9e0da50db80dc20dcc0dd60df20df90e000e070e0e0e15
+0e1c0e230e2a0e310e380e3f0e460e4d0e540e5b0e620e690e700e770e7e0e850e8c
+0e930e9a0ea10ea80eaf0eb80ec10ecf0ed80ee20ee90ef20ef90f000f0d0f140f1b
+0f220f290f300f370f3e0f450f4c0f530f5a0f610f680f6f0f760f7d0f840f8b0f92
+0f990fa00fa70fae0fb50fbc0fc80fcf0fd60fdd0fe40feb0ff20ff910001007100e
+1015101c1023102a10311038103f1046104d1054105b1062106910701077107e1085
+108c1093109a10a110a810af10b610bd10c410cb10d210d910e010e710ee10f510fc
+1103110a11111118111f1126112d1134113b1142114911501157115e1165116c1173
+117a11811188118f1196119d11a411ab11b211b911c011c711ce11d511dc11e311ea
+11f111f811ff1206120b12181222122b1237123f124812541260126a127b12801284
+1289128e12951299129c12a112a512aa12b012b212b412b612bd12bf12c212c712ca
+12d112d412d712da12df12eb12fa13041310131813211335133a133e13431348134f
+13531356135b135f1364136a136c136e13751377137a138013851388138f13921395
+1398139d13a913b813c413d013da13e113e713ef13f613fd14011407140e1415141c
+1423142a14311438143f1446144d1454145b1462146914701477147e1485148c1493
+149a14a114a814af14b614bf14c814d114da14e314ec14f514fe1507151015191522
+15291532153b1544154d1556155f15681571157a1583158c1595159e15a715b015b9
+15c215cb15d415dd15e615ef15f81601160a1613161c1625162e1637164016491652
+165b1664166d1676167f16881691169a16a316ac16b516be16c716d016d916e216eb
+16f416fd1706170f17181721172a1733173c1745174e1757176017691772177b1782
+178b1794179d17a617af17b817c117ca17d317dc17e517ee17f517fe1807180e1815
+181e1827182e1835183c1843184a18511858185f1866186d1874187b188218891892
+189b18a418ad18b418bb18c218c918d018d718de18e518ec18f318fa1903190c1913
+191a19211928192f1936193d1944194b1952195919601967196e1975197c1983198a
+19911998199f19a619ad19b419bb19c219c919d019d719de19e519ec19f319fa1a01
+1a081a0f1a161a1d1a241a2b1a321a391a401a471a4e1a551a5c1a631a6a1a711a78
+1a7f1a861a8d1a941a9b1aa21aa91ab01ab71abe1ac51acc1ad31ada1ae31aea1af1
+1af81aff1b061b0d1b141b1b1b221b291b301b371b3e1b451b4c1b531b5a1b611b68
+1b6f1b761b7d1b841b8b1b921b991ba01ba71bae1bb51bbc1bc31bcc1bd51bde1be7
+1bf01bf91c021c0b1c141c1d1c241c2d1c361c3f1c481c511c5a1c631c6c1c751c7c
+1c851c8e1c971ca01ca91cb21cbb1cc41ccd1cd61cdf1ce81cf11cfa1d031d0c1d15
+1d1e1d271d301d391d421d4b1d541d5d1d661d6f1d781d811d8a1d911d981d9f1da9
+1db91dc01dc71dd11ddb1de51df51dfc1e031e0d1e1d1e271e311e3d1e471e571e5e
+1e651e6f1e791e831e8a1e9a1ea41eab1eb21eb91ec01ec71ece1ed51edc1ee31eea
+1ef41efe1f081f0f1f161f1d1f241f2b1f321f391f401f471f4e1f551f5c1f631f6a
+1f711f781f7f1f861f8d1f941f9b1fa21fa91fb01fb71fbe1fc51fcc1fd31fda1fe1
+1fe81fef1ff61ffd2004200b2012201920202027202e2035203c2043204a20512058
+205f2066206d2074207b2082208920902097209e20a520ac20b320ba20c120c820cf
+20d620dd20e420eb20f220f921002107210e2115211c2123212a21312138213f2146
+214d2154215b2162216921702177217e2185218c2193219a21a121a821af21b621bd
+21c421cb21d221d921e021e721ee21f521fc2203220a22112218221f2226222d2234
+223b2242224922502257225e2265226c2273227a22812288228e2294229a22a022a9
+22b222b922c022c722ce22d522dc22e322ea22f122f822ff2306230d2314231b2322
+232923302337233e2345234c2353235a2364236b2372237923802387238e2395239c
+23a323aa23b123b823bf23c623cd23d423db23e223e923f023f723fe2405240c2413
+241a24212428242f2436243d2444244b2452245924602467246e2475247c2483248a
+24912498249f24a624ad24b424bb24c224c924d024d724de24e524ec24f324fa2501
+2508250f2516251d2524252b2532253925402547254e2555255c2563256a25712578
+257f2586258d2594259b25a225a925af25b525bc25c325ca25d125d825df25e625ed
+25f425fb2602260926102617261e2625262c2633263a26412648264f2656265d2664
+266b2672267926802687268e2695269c26a326aa26b126b826bf26c626cd26d426db
+26e226e926f026f726fe2705270c2713271a27212728272f2736273d2744274b2752
+275927602767276e2775277c2783278a27912798279f27a627ad27b427bb27c227c9
+27d027d727de27e527ec27f327fa28012808280f2816281d2824282b283228392840
+2847284e2855285c2863286a28712878287f2886288d2894289b28a228a928b028b7
+28be28c528cc28d328da28e128e828ef28f628fd2904290b2912291929202927292e
+2935293c2943294a29512958295f2966296d2974297b2982298929902997299e29a5
+29ac29b329ba29c129c829cf29d629dd29e429eb29f229f92a002a072a0e2a152a1c
+2a232a2a2a312a382a3f2a462a4d2a542a5b2a622a692a702a772a7e2a852a8c2a93
+2a9a2aa12aa82aaf2ab62abd2ac42acb2ad22ad92ae02ae72aee2af52afc2b032b0a
+2b112b182b1f2b262b2d2b342b3b2b422b492b502b572b5e2b652b6c2b732b7a2b81
+2b882b8f2b962b9d2ba42bab2bb22bb92bc02bc72bce2bd52bdc2be32bea2bf12bf8
+2bff2c062c0d2c142c1b2c222c292c302c372c3e2c452c4c2c532c5a2c612c682c6e
+2c742c7b2c822c912c9f2cac2cb72cc72cd02cd92ce72cf02cfd2d0a2d112d1e2d2b
+2d362d442d4d2d542d622d682d6e2d792d862d8d2d942d9b2da42daf2db62dbd2dce
+2ddd2dec2df32dfa2e012e0e2e182e252e322e3e2e4c2e5a2e672e742e822e902ea2
+2eb52ebf2ecc2ed82ee42ef22eff2f0c2f182f262f342f412f4e2f5c2f6a2f7c2f8f
+2f992fa32fad2fb72fbe2fc52fcc2fd32fda2fe12fe82fef2ff62ffd30023006300c
+30133017301b30223026302d3034303b3045304e3055305f3066306d3074307b3083
+308c3093309930a030a730af30b630bd30c430cb30d330dc30e130e830ef30f630fd
+3104310c31153120312a3132313c3148315031583162316b3174317c318631903199
+31a131ac31b731be31c531cc31d331db31e331ed31f631ff32073211321b3224322c
+32373242324932503257325e3265326c3273327a3281328a3291329b32a432ad32b6
+32bd32c432cb32d232d932e032e732f332fa33013308330f3316331d3324332b3332
+33393345334f335c33683374337b338233893390339733a033a733b233bd33c433cc
+33d333db33e233ec33f333fb340234093410341734203427342e3435343c3448344f
+3456345d3464346b3477347f3486348b3492349934a034a734ae34b534bf34c834d4
+34d934e134e834ef34f634fd3504350b3514351f3526352d3535354035473550355c
+3563356a35713578357f3586359235a035a935b035ba35c135cf35d635dd35e435eb
+35f835ff3606360d3614361b3622362936303637363e36493657365e3665366c3673
+367a36813688368f3696369d36a436ab36b236b936c036c736ce36d536dc36e336ea
+36f136f836ff3706370d371e3725372c3733373a37413748374f3756375d3764376b
+3772377937803787378e3795379c37a337aa37b137b837bf37c637cd37d437db37e2
+37e937f037f737fe3805380c3813381a38213828382f3836383d3844384b38523859
+38603867386e3875387c3883388a38913898389f38a638ad38b438bb38c238c938d0
+38d738de38e538ec38f338fa39013908390f3916391d3924392b3932393939403947
+394e3955395c3963396a39713978397f3986398d3994399b39a239a939b039b739be
+39c539cc39d339da39e139e839ef39f639fd3a043a0b3a123a193a203a273a2e3a35
+3a3c3a433a4a3a533a593a603a673a6e3a753a7c3a833a8a3a913a983a9f3aa63aad
+3ab63abd3ac33aca3ad13ad83adf3ae63aed3af43afb3b053b0c3b133b1a3b213b28
+3b2f3b363b3d3b443b4b3b523b593b603b673b6d3b743b783b7f3b863b8d3b943b9b
+3ba23ba93bb03bb73bbe3bc53bcc3bd33bda3be13be83bef3bf63bfd3c043c0b3c12
+3c1d3c2b3c323c393c403c473c4e3c553c5c3c633c6a3c713c783c7f3c863c8d3c95
+3c9c3ca33caa3cae3cb53cbc3cc33cca3cd13cd83cdf3ce63ced3cf43cfb3d023d09
+3d103d173d1e3d253d2c3d333d3a3d413d483d4f3d563d5d3d643d6b3d723d793d80
+3d873d8e3d953d9c3da33daa3db13db83dbf3dc63dcd3dd43ddb3de23de93df03df7
+3dfe3e053e0c3e0f3e163e1d3e243e2b3e323e393e403e473e4e3e553e5c3e643e70
+3e7f3e8f3e9a3ea43eae3eba3ec53ed03eda3ee63ef23efd3f083f123f193f1e3f25
+3f343f413f4d3f593f673f743f813f8d3f9b3fa93fb63fbd3fca3fd73fe43fe93fec
+3ff13ff63ffb4000400340064009400c400f401240154018401f402a40314038403f
+40464053405a40604067406a406d407040754083409240a040a740b440b840bc40c0
+40c440c840cc40d040d440d840dc40e040e440e840ec40f040f440f840fc41004104
+4108410c411041144118411c4123412c4135413e414c415541614169416e41794182
+418b419941a541ae41b741c541d141d741e041e941f2420042094215421a4223422c
+42354243424f42584260426c42714281428e4294429d42a642af42b942c242cb42d4
+42de42e742f042f94302430b4314431a432a4333433c4345435043594364436b4373
+4383438c439943a243ab43b443c343d243df43eb43f243fc440a4418442b44394448
+444f4458445f4466446d4474447b4482448944904497449c44a144a644ad44b444bb
+44c044c744ce44d544dc44e144e644ed44f444f945004507450e4515451c4524452b
+4532453b4543454b4552455b4564456c457c458b459a45ab45bb45cb45da45eb45fc
+460c4613461a46214628462c4633463a4641464b4655465f46694673467d46874691
+469b46a546af46b946c346cd46d746e146eb46f546ff47094713471d4724472b4738
+473f47484751475f476847714781479247a647b247bb47c747d847e547ec47f347fa
+48014808480f4816481d4824482b4832483948404847484e4855485c486348694873
+487f488c489a48a948b548c248cf48de48ee48ff490f4920492a4931493f49424945
+4948494d49524959495c49634969496f4975497b49814987498d49934999499f49a5
+49ab49b149b749bd49c349c949cf49d549db49e04afc4b0d4b1e756e693030413075
+6e693030414474776f2e7375706572696f7274687265652e7375706572696f72756e
+693030423570696c63726f776f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636564696c6c6174636564696c6c61546361
+726f6e746361726f6e54626172746261725574696c64657574696c6465556d616372
+6f6e756d6163726f6e5562726576657562726576655572696e677572696e67556875
+6e676172756d6c6175747568756e676172756d6c617574556f676f6e656b756f676f
+6e656b5763697263756d666c65787763697263756d666c65785963697263756d666c
+65787963697263756d666c65785a61637574657a61637574655a646f74616363656e
+747a646f74616363656e746c6f6e6773756e6930313830756e6930313831756e6930
+313832756e6930313833756e6930313834756e6930313835756e6930313836756e69
+30313837756e6930313838756e6930313839756e6930313841756e6930313842756e
+6930313843756e6930313844756e6930313845756e6930313846756e693031393075
+6e6930313931756e6930313933756e6930313934756e6930313935756e6930313936
+756e6930313937756e6930313938756e6930313939756e6930313941756e69303139
+42756e6930313943756e6930313944756e6930313945756e69303139464f686f726e
+6f686f726e756e6930314132756e6930314133756e6930314134756e693031413575
+6e6930314136756e6930314137756e6930314138756e6930314139756e6930314141
+756e6930314142756e6930314143756e6930314144756e693031414555686f726e75
+686f726e756e6930314231756e6930314232756e6930314233756e6930314234756e
+6930314235756e6930314236756e6930314237756e6930314238756e693031423975
+6e6930314241756e6930314242756e6930314243756e6930314244756e6930314245
+756e6930314246756e6930314330756e6930314331756e6930314332756e69303143
+33756e6930314334756e6930314335756e6930314336756e6930314337756e693031
+4338756e6930314339756e6930314341756e6930314342756e6930314343756e6930
+314344756e6930314345756e6930314346756e6930314430756e6930314431756e69
+30314432756e6930314433756e6930314434756e6930314435756e6930314436756e
+6930314437756e6930314438756e6930314439756e6930314441756e693031444275
+6e6930314443657475726e6564756e6930314445756e6930314446756e6930314530
+756e6930314531756e6930314532756e6930314533756e6930314534756e69303145
+35476361726f6e676361726f6e756e6930314538756e6930314539756e6930314541
+756e6930314542756e6930314543756e6930314544756e6930314545756e69303145
+46756e6930314630756e6930314631756e6930314632756e6930314633756e693031
+4634756e6930314635756e6930314636756e6930314637756e6930314638756e6930
+3146394172696e6761637574656172696e6761637574654145616375746561656163
+7574654f736c61736861637574656f736c6173686163757465756e6930323030756e
+6930323031756e6930323032756e6930323033756e6930323034756e693032303575
+6e6930323036756e6930323037756e6930323038756e6930323039756e6930323041
+756e6930323042756e6930323043756e6930323044756e6930323045756e69303230
+46756e6930323130756e6930323131756e6930323132756e6930323133756e693032
+3134756e6930323135756e6930323136756e693032313753636f6d6d61616363656e
+7473636f6d6d61616363656e7454636f6d6d61616363656e7474636f6d6d61616363
+656e74756e6930323143756e6930323144756e6930323145756e6930323146756e69
+30323230756e6930323231756e6930323232756e6930323233756e6930323234756e
+6930323235756e6930323236756e6930323237756e6930323238756e693032323975
+6e6930323241756e6930323242756e6930323243756e6930323244756e6930323245
+756e6930323246756e6930323330756e6930323331756e6930323332756e69303233
+33756e6930323334756e6930323335756e6930323336646f746c6573736a756e6930
+323338756e6930323339756e6930323341756e6930323342756e6930323343756e69
+30323344756e6930323345756e6930323346756e6930323430756e6930323431756e
+6930323432756e6930323433756e6930323434756e6930323435756e693032343675
+6e6930323437756e6930323438756e6930323439756e6930323441756e6930323442
+756e6930323443756e6930323444756e6930323445756e6930323446617475726e65
+64756e6930323531756e6930323532756e6930323533637475726e6564756e693032
+3535756e6930323536756e6930323537756e6930323538756e6930323539756e6930
+323541756e6930323542756e6930323543756e6930323544756e6930323545756e69
+30323546756e6930323630756e6930323631756e693032363267616d6d616c617469
+6e756e6930323634756e693032363568686f6f6b756e6930323637756e6930323638
+756e6930323639756e6930323641756e6930323642756e6930323643756e69303236
+44756e69303236456d7475726e6564756e6930323730756e6930323731756e693032
+3732756e6930323733756e6930323734756e6930323735756e6930323736756e6930
+323737756e6930323738727475726e6564756e693032374172686f6f6b7475726e65
+64756e6930323743756e6930323744756e6930323745756e693032374652736d616c
+6c63617052736d616c6c696e766572746564756e6930323832756e6930323833756e
+6930323834756e6930323835756e6930323836756e6930323837756e693032383875
+6e6930323839756e6930323841756e6930323842756e6930323843756e6930323844
+756e6930323845756e6930323846756e6930323930756e6930323931756e69303239
+32756e6930323933756e6930323934676c6f7474616c73746f707265766572736564
+756e6930323936756e6930323937756e6930323938756e6930323939756e69303239
+41756e6930323942756e6930323943756e6930323944756e6930323945756e693032
+3946756e6930324130756e6930324131756e6930324132756e6930324133756e6930
+324134756e6930324135756e6930324136756e6930324137756e6930324138756e69
+30324139756e6930324141756e6930324142756e6930324143756e6930324144756e
+6930324145756e6930324146682e7375706572696f7268686f6f6b2e737570657269
+6f726a2e7375706572696f72722e7375706572696f72727475726e65642e73757065
+72696f7272686f6f6b7475726e65642e7375706572696f7252736d616c6c696e7665
+727465642e7375706572696f72772e7375706572696f72792e7375706572696f7275
+6e6930324239756e6930324241756e69303242426166696935373932396166696936
+34393337756e6930324245756e6930324246756e6930324330756e6930324331756e
+6930324332756e6930324333756e6930324334756e6930324335756e693032433875
+6e6930324339756e6930324341756e6930324342756e6930324343756e6930324344
+756e6930324345756e6930324346756e6930324430756e6930324431756e69303244
+32756e6930324433756e6930324434756e6930324435756e6930324436756e693032
+4437756e6930324445756e693032444667616d6d616c6174696e2e7375706572696f
+726c2e7375706572696f72732e7375706572696f72782e7375706572696f72676c6f
+7474616c73746f7072657665727365642e7375706572696f72756e6930324535756e
+6930324536756e6930324537756e6930324538756e6930324539756e693032454175
+6e6930324542756e6930324543756e6930324544756e6930324545756e6930324546
+756e6930324630756e6930324631756e6930324632756e6930324633756e69303246
+34756e6930324635756e6930324636756e6930324637756e6930324638756e693032
+4639756e6930324641756e6930324642756e6930324643756e6930324644756e6930
+324645756e69303246466772617665636f6d626163757465636f6d6263697263756d
+666c6578636f6d6274696c6465636f6d626d6163726f6e636f6d62756e6930333035
+6272657665636f6d62756e6930333037756e6930333038686f6f6b61626f7665636f
+6d62756e6930333041756e6930333042756e6930333043756e6930333044756e6930
+333045756e6930333046756e6930333130756e6930333131756e6930333132756e69
+30333133756e6930333134756e6930333135756e6930333136756e6930333137756e
+6930333138756e6930333139756e6930333141756e6930333142756e693033314375
+6e6930333144756e6930333145756e6930333146756e6930333230756e6930333231
+756e6930333232646f7462656c6f77636f6d62756e6930333234756e693033323575
+6e6930333236756e6930333237756e6930333238756e6930333239756e6930333241
+756e6930333242756e6930333243756e6930333244756e6930333245756e69303332
+46756e6930333330756e6930333331756e6930333332756e6930333333756e693033
+3334756e6930333335756e6930333336756e6930333337756e6930333338756e6930
+333339756e6930333341756e6930333342756e6930333343756e6930333344756e69
+30333345756e6930333346756e6930333430756e6930333431756e6930333432756e
+6930333433756e6930333434756e6930333435756e6930333436756e693033343775
+6e6930333438756e6930333439756e6930333441756e6930333442756e6930333443
+756e6930333444756e6930333445756e6930333530756e6930333531756e69303335
+32756e6930333533756e6930333534756e6930333535756e6930333536756e693033
+3537756e6930333538756e6930333539756e6930333541756e6930333542756e6930
+333543756e6930333544756e6930333545756e6930333546756e6930333630756e69
+30333631756e6930333632756e6930333633756e6930333634756e6930333635756e
+6930333636756e6930333637756e6930333638756e6930333639756e693033364175
+6e6930333642756e6930333643756e6930333644756e6930333645756e6930333646
+756e6930333734756e6930333735756e6930333741756e6930333742756e69303337
+43756e6930333744756e6930333745746f6e6f736469657265736973746f6e6f7341
+6c706861746f6e6f73616e6f74656c656961457073696c6f6e746f6e6f7345746174
+6f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f73557073696c6f6e746f
+6e6f734f6d656761746f6e6f73696f74616469657265736973746f6e6f73416c7068
+614265746147616d6d6144656c7461457073696c6f6e5a6574614574615468657461
+496f74614b617070614c616d6264614d754e7558694f6d6963726f6e506952686f53
+69676d61546175557073696c6f6e5068694368695073694f6d656761496f74616469
+657265736973557073696c6f6e6469657265736973616c706861746f6e6f73657073
+696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73757073696c6f6e64
+69657265736973746f6e6f73616c7068616265746167616d6d6164656c7461657073
+696c6f6e7a6574616574617468657461696f74616b617070616c616d6264616e7578
+696f6d6963726f6e706972686f7369676d61317369676d61746175757073696c6f6e
+7068696368697073696f6d656761696f74616469657265736973757073696c6f6e64
+696572657369736f6d6963726f6e746f6e6f73757073696c6f6e746f6e6f736f6d65
+6761746f6e6f73756e6930334430746865746131557073696c6f6e31756e69303344
+33756e6930334434706869316f6d65676131756e6930334437756e6930334438756e
+6930334439756e6930334441756e6930334442756e6930334443756e693033444475
+6e6930334445756e6930334446756e6930334530756e6930334531756e6930334630
+756e6930334631756e6930334632756e6930334633756e6930334634756e69303346
+35756e6930334636756e6930334638756e6930334639756e6930334642756e693033
+4644756e6930334645756e6930334646756e69303430306166696931303032336166
+69693130303531616669693130303532616669693130303533616669693130303534
+61666969313030353561666969313030353661666969313030353761666969313030
+3538616669693130303539616669693130303630616669693130303631756e693034
+30446166696931303036326166696931303134356166696931303031376166696931
+30303138616669693130303139616669693130303230616669693130303231616669
+69313030323261666969313030323461666969313030323561666969313030323661
+66696931303032376166696931303032386166696931303032396166696931303033
+30616669693130303331616669693130303332616669693130303333616669693130
+30333461666969313030333561666969313030333661666969313030333761666969
+31303033386166696931303033396166696931303034306166696931303034316166
+69693130303432616669693130303433616669693130303434616669693130303435
+61666969313030343661666969313030343761666969313030343861666969313030
+34396166696931303036356166696931303036366166696931303036376166696931
+30303638616669693130303639616669693130303730616669693130303732616669
+69313030373361666969313030373461666969313030373561666969313030373661
+66696931303037376166696931303037386166696931303037396166696931303038
+30616669693130303831616669693130303832616669693130303833616669693130
+30383461666969313030383561666969313030383661666969313030383761666969
+31303038386166696931303038396166696931303039306166696931303039316166
+69693130303932616669693130303933616669693130303934616669693130303935
+616669693130303936616669693130303937756e6930343530616669693130303731
+61666969313030393961666969313031303061666969313031303161666969313031
+30326166696931303130336166696931303130346166696931303130356166696931
+30313036616669693130313037616669693130313038616669693130313039756e69
+30343544616669693130313130616669693130313933756e6930343630756e693034
+3631616669693130313436616669693130313934756e6930343634756e6930343635
+756e6930343636756e6930343637756e6930343638756e6930343639756e69303436
+41756e6930343642756e6930343643756e6930343644756e6930343645756e693034
+3646756e6930343730756e6930343731616669693130313437616669693130313935
+616669693130313438616669693130313936756e6930343736756e6930343737756e
+6930343743756e6930343744756e6930343745756e6930343746756e693034383375
+6e6930343843756e6930343844756e6930343845756e693034384661666969313030
+3530616669693130303938756e6930343932756e6930343933756e6930343934756e
+6930343935756e6930343936756e6930343937756e6930343938756e693034393975
+6e6930343941756e6930343942756e6930343943756e6930343944756e6930343945
+756e6930343946756e6930344130756e6930344131756e6930344132756e69303441
+33756e6930344134756e6930344135756e6930344136756e6930344137756e693034
+4138756e6930344139756e6930344141756e6930344142756e6930344143756e6930
+344144756e6930344145756e6930344146756e6930344230756e6930344231756e69
+30344232756e6930344233756e6930344234756e6930344235756e6930344236756e
+6930344237756e6930344238756e6930344239756e6930344241756e693034424275
+6e6930344243756e6930344244756e6930344245756e6930344246756e6930344330
+756e6930344331756e6930344332756e6930344333756e6930344334756e69303443
+37756e6930344338756e6930344339756e6930344341756e6930344342756e693034
+4343756e6930344430756e6930344431756e6930344432756e6930344433756e6930
+344434756e6930344435756e6930344436756e6930344437756e6930344438616669
+693130383436756e6930344441756e6930344442756e6930344443756e6930344444
+756e6930344445756e6930344446756e6930344530756e6930344531756e69303445
+32756e6930344533756e6930344534756e6930344535756e6930344536756e693034
+4537756e6930344538756e6930344539756e6930344541756e6930344542756e6930
+344543756e6930344544756e6930344545756e6930344546756e6930344630756e69
+30344631756e6930344632756e6930344633756e6930344634756e6930344635756e
+6930344636756e6930344637756e6930344638756e69303446396166696935373739
+39616669693537383031616669693537383030616669693537383032616669693537
+37393361666969353737393461666969353737393561666969353737393861666969
+3537373937616669693537383036756e693035424161666969353737393661666969
+35373830376166696935373833396166696935373634356166696935373834316166
+69693537383432616669693537383034616669693537383033616669693537363538
+756e6930354336616669693537363634616669693537363635616669693537363636
+61666969353736363761666969353736363861666969353736363961666969353736
+37306166696935373637316166696935373637326166696935373637336166696935
+37363734616669693537363735616669693537363736616669693537363737616669
+69353736373861666969353736373961666969353736383061666969353736383161
+66696935373638326166696935373638336166696935373638346166696935373638
+35616669693537363836616669693537363837616669693537363838616669693537
+36383961666969353736393061666969353737313661666969353737313761666969
+3537373138756e6930354633756e6930354634756e6931443135612e737570657269
+6f72617475726e65642e7375706572696f72756e6931443435756e6931443436622e
+7375706572696f72642e7375706572696f72652e7375706572696f72657475726e65
+642e7375706572696f72756e6931443442756e6931443443672e7375706572696f72
+697475726e65642e7375706572696f726b2e7375706572696f726d2e737570657269
+6f72656e672e7375706572696f726f2e7375706572696f72637475726e65642e7375
+706572696f72756e6931443534756e6931443535702e7375706572696f72742e7375
+706572696f72752e7375706572696f72756e69314435396d7475726e65642e737570
+6572696f72762e7375706572696f72756e6931443543756e6931443544756e693144
+3545756e6931443546756e6931443632756e6931443633756e6931443634756e6931
+443635756e6931443636756e6931443637632e7375706572696f72662e7375706572
+696f727a2e7375706572696f72756e6931453030756e6931453031756e6931453032
+756e6931453033756e6931453034756e6931453035756e6931453036756e69314530
+37756e6931453038756e6931453039756e6931453041756e6931453042756e693145
+3043756e6931453044756e6931453045756e6931453046756e6931453130756e6931
+453131756e6931453132756e6931453133756e6931453134756e6931453135756e69
+31453136756e6931453137756e6931453138756e6931453139756e6931453141756e
+6931453142756e6931453143756e6931453144756e6931453145756e693145314675
+6e6931453230756e6931453231756e6931453232756e6931453233756e6931453234
+756e6931453235756e6931453236756e6931453237756e6931453238756e69314532
+39756e6931453241756e6931453242756e6931453243756e6931453244756e693145
+3245756e6931453246756e6931453330756e6931453331756e6931453332756e6931
+453333756e6931453334756e6931453335756e6931453336756e6931453337756e69
+31453338756e6931453339756e6931453341756e6931453342756e6931453343756e
+6931453344756e6931453345756e6931453346756e6931453430756e693145343175
+6e6931453432756e6931453433756e6931453434756e6931453435756e6931453436
+756e6931453437756e6931453438756e6931453439756e6931453441756e69314534
+42756e6931453443756e6931453444756e6931453445756e6931453446756e693145
+3530756e6931453531756e6931453532756e6931453533756e6931453534756e6931
+453535756e6931453536756e6931453537756e6931453538756e6931453539756e69
+31453541756e6931453542756e6931453543756e6931453544756e6931453545756e
+6931453546756e6931453630756e6931453631756e6931453632756e693145363375
+6e6931453634756e6931453635756e6931453636756e6931453637756e6931453638
+756e6931453639756e6931453641756e6931453642756e6931453643756e69314536
+44756e6931453645756e6931453646756e6931453730756e6931453731756e693145
+3732756e6931453733756e6931453734756e6931453735756e6931453736756e6931
+453737756e6931453738756e6931453739756e6931453741756e6931453742756e69
+31453743756e6931453744756e6931453745756e6931453746576772617665776772
+61766557616375746577616375746557646965726573697377646965726573697375
+6e6931453836756e6931453837756e6931453838756e6931453839756e6931453841
+756e6931453842756e6931453843756e6931453844756e6931453845756e69314538
+46756e6931453930756e6931453931756e6931453932756e6931453933756e693145
+3934756e6931453935756e6931453936756e6931453937756e6931453938756e6931
+453939756e6931453941756e6931453942756e6931453943756e6931453944476572
+6d616e64626c73756e6931453946756e6931454130756e6931454131756e69314541
+32756e6931454133756e6931454134756e6931454135756e6931454136756e693145
+4137756e6931454138756e6931454139756e6931454141756e6931454142756e6931
+454143756e6931454144756e6931454145756e6931454146756e6931454230756e69
+31454231756e6931454232756e6931454233756e6931454234756e6931454235756e
+6931454236756e6931454237756e6931454238756e6931454239756e693145424175
+6e6931454242756e6931454243756e6931454244756e6931454245756e6931454246
+756e6931454330756e6931454331756e6931454332756e6931454333756e69314543
+34756e6931454335756e6931454336756e6931454337756e6931454338756e693145
+4339756e6931454341756e6931454342756e6931454343756e6931454344756e6931
+454345756e6931454346756e6931454430756e6931454431756e6931454432756e69
+31454433756e6931454434756e6931454435756e6931454436756e6931454437756e
+6931454438756e6931454439756e6931454441756e6931454442756e693145444375
+6e6931454444756e6931454445756e6931454446756e6931454530756e6931454531
+756e6931454532756e6931454533756e6931454534756e6931454535756e69314545
+36756e6931454537756e6931454538756e6931454539756e6931454541756e693145
+4542756e6931454543756e6931454544756e6931454545756e6931454546756e6931
+454630756e6931454631596772617665796772617665756e6931454634756e693145
+4635756e6931454636756e6931454637756e6931454638756e6931454639756e6931
+454641756e6931454642756e6931454643756e6931454644756e6931454645756e69
+31454646756e6931463030756e6931463031756e6931463032756e6931463033756e
+6931463034756e6931463035756e6931463036756e6931463037756e693146303875
+6e6931463039756e6931463041756e6931463042756e6931463043756e6931463044
+756e6931463045756e6931463046756e6931463130756e6931463131756e69314631
+32756e6931463133756e6931463134756e6931463135756e6931463138756e693146
+3139756e6931463141756e6931463142756e6931463143756e6931463144756e6931
+463230756e6931463231756e6931463232756e6931463233756e6931463234756e69
+31463235756e6931463236756e6931463237756e6931463238756e6931463239756e
+6931463241756e6931463242756e6931463243756e6931463244756e693146324575
+6e6931463246756e6931463330756e6931463331756e6931463332756e6931463333
+756e6931463334756e6931463335756e6931463336756e6931463337756e69314633
+38756e6931463339756e6931463341756e6931463342756e6931463343756e693146
+3344756e6931463345756e6931463346756e6931463430756e6931463431756e6931
+463432756e6931463433756e6931463434756e6931463435756e6931463438756e69
+31463439756e6931463441756e6931463442756e6931463443756e6931463444756e
+6931463530756e6931463531756e6931463532756e6931463533756e693146353475
+6e6931463535756e6931463536756e6931463537756e6931463539756e6931463542
+756e6931463544756e6931463546756e6931463630756e6931463631756e69314636
+32756e6931463633756e6931463634756e6931463635756e6931463636756e693146
+3637756e6931463638756e6931463639756e6931463641756e6931463642756e6931
+463643756e6931463644756e6931463645756e6931463646756e6931463730756e69
+31463731756e6931463732756e6931463733756e6931463734756e6931463735756e
+6931463736756e6931463737756e6931463738756e6931463739756e693146374175
+6e6931463742756e6931463743756e6931463744756e6931463830756e6931463831
+756e6931463832756e6931463833756e6931463834756e6931463835756e69314638
+36756e6931463837756e6931463838756e6931463839756e6931463841756e693146
+3842756e6931463843756e6931463844756e6931463845756e6931463846756e6931
+463930756e6931463931756e6931463932756e6931463933756e6931463934756e69
+31463935756e6931463936756e6931463937756e6931463938756e6931463939756e
+6931463941756e6931463942756e6931463943756e6931463944756e693146394575
+6e6931463946756e6931464130756e6931464131756e6931464132756e6931464133
+756e6931464134756e6931464135756e6931464136756e6931464137756e69314641
+38756e6931464139756e6931464141756e6931464142756e6931464143756e693146
+4144756e6931464145756e6931464146756e6931464230756e6931464231756e6931
+464232756e6931464233756e6931464234756e6931464236756e6931464237756e69
+31464238756e6931464239756e6931464241756e6931464242756e6931464243756e
+6931464244756e6931464245756e6931464246756e6931464330756e693146433175
+6e6931464332756e6931464333756e6931464334756e6931464336756e6931464337
+756e6931464338756e6931464339756e6931464341756e6931464342756e69314643
+43756e6931464344756e6931464345756e6931464346756e6931464430756e693146
+4431756e6931464432756e6931464433756e6931464436756e6931464437756e6931
+464438756e6931464439756e6931464441756e6931464442756e6931464444756e69
+31464445756e6931464446756e6931464530756e6931464531756e6931464532756e
+6931464533756e6931464534756e6931464535756e6931464536756e693146453775
+6e6931464538756e6931464539756e6931464541756e6931464542756e6931464543
+756e6931464544756e6931464545756e6931464546756e6931464632756e69314646
+33756e6931464634756e6931464636756e6931464637756e6931464638756e693146
+4639756e6931464641756e6931464642756e6931464643756e6931464644756e6931
+464645656e71756164656d71756164656e7370616365656d73706163657468726565
+706572656d7370616365666f7572706572656d7370616365736978706572656d7370
+616365666967757265737061636570756e6374756174696f6e73706163657468696e
+73706163656861697273706163657a65726f7769647468737061636568797068656e
+74776f68797068656e6e6f627265616b686f72697a6f6e74616c626172756e693230
+3136756e64657273636f726564626c71756f7465726576657273656471756f746564
+626c726576747269616e676c6562756c6c657468797068656e646f74756e69323032
+4670657274656e74686f7573616e646d696e7574657365636f6e647072696d657472
+69706c657072696d657265766572736564756e6932303336756e6932303337756e69
+323033426578636c616d64626c696e746572726f62616e67756e6932303345756e69
+323034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c
+616d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e69
+323034467a65726f2e7375706572696f72692e7375706572696f72666f75722e7375
+706572696f72666976652e7375706572696f727369782e7375706572696f72736576
+656e2e7375706572696f7265696768742e7375706572696f726e696e652e73757065
+72696f72706c75732e7375706572696f726d696e75732e7375706572696f72657175
+616c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e
+72696768742e7375706572696f726e2e7375706572696f727a65726f2e696e666572
+696f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e69
+6e666572696f72666f75722e696e666572696f72666976652e696e666572696f7273
+69782e696e666572696f72736576656e2e696e666572696f7265696768742e696e66
+6572696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e
+75732e696e666572696f72657175616c2e696e666572696f72706172656e6c656674
+2e696e666572696f72706172656e72696768742e696e666572696f72612e696e6665
+72696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f72
+756e6932303934756e6932303935756e6932303936756e6932303937756e69323039
+38756e6932303939756e6932303941756e6932303942756e6932303943756e693230
+41326672616e636c697261706573657461756e6932304138646f6e674575726f756e
+69323041467065736f756e6932313030756e6932313031756e693231303263656e74
+696772616465616669693631323438756e693231303666616872656e68656974756e
+6932313043756e6932313044756e6932313045756e6932313046496672616b747572
+616669693631323839756e69323131356e756d65726f756e6932313139756e693231
+3141526672616b747572756e6932313144756e6932313230756e6932313234756e69
+323132364f6d656761696e76657374696d61746564616c657068756e693231333675
+6e6932313337756e6932313338756e6932313339756e69323134466f6e6566696674
+6874776f6669667468737468726565666966746873666f75726669667468736f6e65
+7369787468666976657369787468736f6e656e756d657261746f724f6e65726f6d61
+6e54776f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f
+6d616e536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e
+65726f6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d
+616e756e6932313643756e6932313644756e6932313645756e69323136466f6e6572
+6f6d616e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e666976
+65726f6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e
+6e696e65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665
+726f6d616e756e6932313743756e6932313744756e6932313745756e693231374675
+6e6932313830756e6932313831756e6932313832756e6932313833756e6932313834
+6172726f776c6566746172726f7775706172726f7772696768746172726f77646f77
+6e6172726f77626f74686172726f777570646e756e6932313936756e693231393775
+6e6932313938756e6932313939756e6932313941756e6932313942756e6932314136
+6172726f777570646e627365756e6932314145756e6932314243756e693231424475
+6e6932314330756e6932314331756e6932314342756e6932314343756e6932314344
+756e6932314345756e69323143466172726f7764626c6c6566746172726f7764626c
+75706172726f7764626c72696768746172726f7764626c646f776e6172726f776462
+6c626f7468756e69323144354e776172726f774e656172726f7753656172726f7753
+776172726f77756e6976657273616c756e69323230317061727469616c6469666665
+78697374656e7469616c756e6932323034656d707479736574756e69323230366772
+616469656e74656c656d656e746e6f74656c656d656e74756e693232304173756368
+74686174756e6932323043756e693232304470726f64756374756e69323231307375
+6d6d6174696f6e756e6932323133756e6932323134756e6932323135756e69323231
+36617374657269736b6d617468756e6932323138756e69323231397261646963616c
+756e6932323142756e693232314370726f706f7274696f6e616c696e66696e697479
+756e6932323146616e676c65756e6932323231756e6932323232756e693232323375
+6e6932323234756e6932323235756e69323232366c6f676963616c616e646c6f6769
+63616c6f72696e74657273656374696f6e756e696f6e696e74656772616c756e6932
+323243756e6932323244756e6932323245756e693232333673696d696c6172756e69
+32323431636f6e677275656e74617070726f78657175616c756e6932323439756e69
+323235396e6f74657175616c6571756976616c656e6365756e69323236326c657373
+657175616c67726561746572657175616c756e6932323641756e6932323642756e69
+32323645756e6932323646756e6932323730756e693232373170726f706572737562
+73657470726f70657273757065727365746e6f74737562736574756e693232383563
+6972636c65706c7573756e6932323936636972636c656d756c7469706c79756e6932
+323938756e6932324132756e6932324133756e693232413470657270656e64696375
+6c6172756e6932324136756e6932324236756e6932324237646f746d617468756e69
+32324545756e6932324546756e6932333030756e6932333032756e6932333033756e
+6932333130696e74656772616c746f70696e74656772616c626f74746f6d756e6932
+333236756e6932333237756e6932333239756e6932333241756e6932333242756e69
+32333744756e6932333830756e6932333942756e6932333943756e6932333944756e
+6932333945756e6932333946756e6932334130756e6932334131756e693233413275
+6e6932334133756e6932334134756e6932334135756e6932334136756e6932334137
+756e6932334138756e6932334139756e6932334141756e6932334142756e69323341
+43756e6932334144696e74656772616c657874656e73696f6e756e6932334433756e
+6932343233756e6932343630756e6932343631756e6932343632756e693234363375
+6e6932343634756e6932343635756e6932343636756e6932343637756e6932343638
+756e6932343639756e6932343641756e6932343642756e6932343643756e69323436
+44756e6932343645756e6932343646756e6932343730756e6932343731756e693234
+3732756e6932343733756e6932343734756e6932343735756e6932343736756e6932
+343737756e6932343738756e6932343739756e6932343741756e6932343742756e69
+32343743756e6932343744756e6932343745756e6932343746756e6932343830756e
+6932343831756e6932343832756e6932343833756e6932343834756e693234383575
+6e6932343836756e6932343837756e6932344236756e6932344237756e6932344238
+756e6932344239756e6932344241756e6932344242756e6932344243756e69323442
+44756e6932344245756e6932344246756e6932344330756e6932344331756e693234
+4332756e6932344333756e6932344334756e6932344335756e6932344336756e6932
+344337756e6932344338756e6932344339756e6932344341756e6932344342756e69
+32344343756e6932344344756e6932344345756e6932344346756e6932344430756e
+6932344431756e6932344432756e6932344433756e6932344434756e693234443575
+6e6932344436756e6932344437756e6932344438756e6932344439756e6932344441
+756e6932344442756e6932344443756e6932344444756e6932344445756e69323444
+46756e6932344530756e6932344531756e6932344532756e6932344533756e693234
+4534756e6932344535756e6932344536756e6932344537756e6932344538756e6932
+344539756e6932344541756e6932344542756e6932344543756e6932344544756e69
+32344545756e6932344546756e6932344630756e6932344631756e6932344632756e
+6932344633756e6932344634756e6932344635756e6932344636756e693234463775
+6e6932344638756e6932344639756e6932344641756e6932344642756e6932344643
+756e6932344644756e6932344645756e693234464666696c6c6564626f7848323230
+373374726961677570756e6932354233756e6932354236756e693235423774726961
+67646e756e6932354244756e6932354330756e6932354331756e6932354336756e69
+32354337756e69323543396c6f7a656e6765626967636972636c65756e6932354345
+483138353333756e6932354430756e6932354431756e6932354432756e6932354433
+756e6932354434756e6932354435756e6932354436756e69323544376f70656e6275
+6c6c6574756e6932363035756e6932363039756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e6932363342756e6932363343756e6932363344756e6932363345756e6932363346
+66656d616c65756e69323634316d616c65756e6932363433756e6932363434756e69
+32363435756e6932363436756e6932363437756e6932363438756e6932363439756e
+6932363441756e6932363442756e6932363443756e6932363444756e693236344575
+6e6932363446756e6932363530756e6932363531756e6932363532756e6932363533
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646756e6932363935756e6932363938
+756e6932364132756e6932364133756e6932364134756e6932364135756e69323641
+36756e6932364137756e69323641436d6172726965646469766f72636564756e6932
+364146756e6932373134756e693237313864696564756e6932373637756e69323737
+36756e6932373737756e6932373738756e6932373739756e6932373741756e693237
+3742756e6932373743756e6932373744756e6932373745756e6932373746756e6932
+374332756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433645756e6932433646
+756e6932433734756e6932433735756e6932433736756e6932433737756e69324530
+32756e6932453033756e6932453034756e6932453035756e6932453038756e693245
+3039756e6932453041756e6932453137756e6932453138756e6941363536756e6941
+363537756e6941373144756e6941373230756e6941373231756e6941373635547578
+756e6945303031756e6945303032756e6945303033756e6945303034756e69453030
+35756e6945303036756e6945303037756e6945303038756e6945303039756e694530
+3041756e6945303042636f70796c6566747075626c6963646f6d61696e6372656174
+697665636f6d6d6f6e737a65726f2e736c6173686669747465647a65726f2e666974
+7465646f6e652e66697474656474776f2e66697474656474687265652e6669747465
+64666f75722e666974746564666976652e6669747465647369782e66697474656473
+6576656e2e66697474656465696768742e6669747465646e696e652e666974746564
+4575726f2e66697474656459656e2e666974746564756e6945303143612e616c7475
+6e694530314570657274686f7573616e647a65726f7a65726f2e6f6c647374796c65
+6f6e652e6f6c647374796c6574776f2e6f6c647374796c6574687265652e6f6c6473
+74796c65666f75722e6f6c647374796c65666976652e6f6c647374796c657369782e
+6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f6c64737479
+6c656e696e652e6f6c647374796c65756e69453032414164696572657369732e616c
+744f64696572657369732e616c745564696572657369732e616c74572e616c74665f
+62665f665f68665f665f6a665f665f6b665f665f74665f68665f6a665f6b665f7463
+5f6b635f68745f74635f746c6f6e67735f696c6f6e67735f6c6f6e6773756e694530
+3430756e6945303431756e69453034326c6f6e67735f6c6c6f6e67735f6c6f6e6773
+5f696c6f6e67735f7361652e616c746c6f6e67735f68515f75545f68745f7a682e61
+6c746765726d616e64626c732e616c746765726d616e64626c732e73733033476572
+6d616e64626c732e616c74756e6945303446616d70657273616e642e616c74612e73
+63622e7363632e7363642e7363652e7363662e7363672e7363682e7363692e73636a
+2e73636b2e73636c2e73636d2e73636e2e73636f2e7363702e7363712e7363722e73
+63732e7363742e7363752e7363762e7363772e7363782e7363792e73637a2e736375
+6e694530364268797068656e2e73636167726176652e73636161637574652e736361
+63697263756d666c65782e73636174696c64652e73636164696572657369732e7363
+6172696e672e736361652e736363636564696c6c612e73636567726176652e736365
+61637574652e73636563697263756d666c65782e73636564696572657369732e7363
+6967726176652e73636961637574652e73636963697263756d666c65782e73636964
+696572657369732e73636574682e73636e74696c64652e73636f67726176652e7363
+6f61637574652e73636f63697263756d666c65782e73636f74696c64652e73636f64
+696572657369732e73636f652e73636f736c6173682e73637567726176652e736375
+61637574652e73637563697263756d666c65782e73637564696572657369732e7363
+7961637574652e736374686f726e2e73637964696572657369732e7363696a2e7363
+6765726d616e64626c732e7363616c746765726d616e64626c732e7363515f752e73
+63712e73635f752e73636463726f61742e73636162726576652e7363616f676f6e65
+6b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363656f67
+6f6e656b2e7363656361726f6e2e73636762726576652e73636c61637574652e7363
+6c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e73636f
+68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e736373
+61637574652e736373636564696c6c612e7363736361726f6e2e736374636564696c
+6c612e7363746261722e73637572696e672e73637568756e676172756d6c6175742e
+73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e73636c
+6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73637363
+6f6d6d61616363656e742e736369646f74616363656e742e7363616d70657273616e
+642e7363612e7363616c74712e7375706572696f726772617665636f6d622e737570
+736163757465636f6d622e7375707363697263756d666c6578636f6d622e73757073
+74696c6465636f6d622e737570736d6163726f6e636f6d622e73757073662e73686f
+7274665f662e73686f7274756e6945304532756e6945304533756e6945304534756e
+6945304535756e6945304536756e6945304537756e6945304538756e694530453975
+6e69453045414b2e616c74522e616c744a2e616c74756e6945304545756e69453045
+46756e6945304630772e616c74756e6945304632756e6945304633756e6945304634
+756e6945304635792e616c74412e616c74756e6945304639756e69453046426b7265
+6973756e6945313031756e6945313034756e6945313035756e6945313036756e6945
+3130377a65726f2e6361706f6e652e63617074776f2e63617074687265652e636170
+666f75722e636170666976652e6361707369782e636170736576656e2e6361706569
+6768742e6361706e696e652e6361707a65726f2e7461626f6c647374796c656f6e65
+2e7461626f6c647374796c6574776f2e7461626f6c647374796c6574687265652e74
+61626f6c647374796c65666f75722e7461626f6c647374796c65666976652e746162
+6f6c647374796c657369782e7461626f6c647374796c65736576656e2e7461626f6c
+647374796c6565696768742e7461626f6c647374796c656e696e652e7461626f6c64
+7374796c65756e6945313238756e6945313239756e6945313241756e69453133306c
+656166756e6945313342756e6945313343756e6945313344622e696e666572696f72
+632e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e
+666572696f72682e696e666572696f72692e696e666572696f726a2e696e66657269
+6f726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e
+696e666572696f72702e696e666572696f72712e696e666572696f72722e696e6665
+72696f72732e696e666572696f72742e696e666572696f72752e696e666572696f72
+762e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e
+666572696f72756e6945313838756e69453138396166696931303038362e616c7475
+6e694531394467726176652e63617061637574652e63617063697263756d666c6578
+2e6361706361726f6e2e63617062726576652e63617068756e676172756d6c617574
+2e63617073706163655f756e69303330462e6361706272657665696e766572746564
+636d622e63617062726576652e63797263617062726576652e637972646965726573
+69732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e63
+6170756e6945334530756e6945334531756e6945334532756e6945334533756e6945
+334534756e6945334535756e6945334536756e6945334537756e6945334538756e69
+45334539756e6945334541756e6945334542756e6945334543756e6945334544756e
+6945334630756e6945334631756e6945334632756e69453346336d65747269637a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170756e6946364245616669693130
+3036362e6974616c665f66665f69665f6c665f665f69665f665f6c6c6f6e67735f74
+735f74756e6946464644753144353338753144353339753144353342753144353343
+75314435334475314435334575314435343075314435343175314435343275314435
+34337531443534347531443534367531443534377531443534417531443534427531
+44353443753144353444753144353445753144353446753144353530352e332e304c
+696e7578204c6962657274696e65206279205068696c69707020482e20506f6c6c2c
+0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c6c6f77696e
+67204672656520536f667477617265204c6963656e7365733a0a47504c202847656e
+6572616c205075626c6963204c6963656e736529207769746820666f6e742d657863
+657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963656e736529
+2e0a43726561746564207769746820466f6e74466f7267652028687474703a2f2f66
+6f6e74666f7267652e73662e6e6574290a5365707420323030332c20323030342c20
+323030352c20323030362c20323030372c20323030382c20323030392c2032303130
+2c20323031312c323031324c696e7578204c6962657274696e65204f4c696e757820
+4c6962657274696e65204f000000000100020003000400050006000700680009000a
+000b000c000d000e000f0010001100120013001400150016001700180019001a001b
+001c001d001e001f0020002100220023002400250026002700280029002a002b002c
+002d002e002f0030003100320033003400350036003700380039003a003b003c003d
+003e003f0040007c00420043004400450046004700480049004a004b004c004d004e
+004f0050005100520053005400550056005700580059005a005b005c005d005e005f
+01870060006100620067006400a00066008300aa008b006a0097018800a5008000a1
+009c0189018a007d018b018c00720085018d008f0078009e009b00a3007b00ae00ab
+00ac00b000ad00af008a00b100b500b200b300b400b900b600b700b8009a00ba00be
+00bb00bc00bf00bd00a8008d00c400c100c200c300c5009d009500cb00c800c900cd
+00ca00cc009000ce00d200cf00d000d100d600d300d400d500a700d700db00d800d9
+00dc00da009f009300e100de00df00e000e200a200e3018e018f0190019101920193
+019401950196019701980199019a019b019c019d019e019f01a001a101a201a301a4
+01a501a601a701a801a901aa01ab01ac01ad01ae01af01b001b101b201b301b401b5
+01b601b701b801b901ba01bb01bc01bd01be009101bf01c001c101c201c301c401c5
+01c601c701c801c901ca01cb01cc01cd008c009201ce01cf01d001d101d201d301d4
+01d501d601d701d801d901da01db01dc008e009401dd01de01df01e001e101e201e3
+01e401e501e601e701e800c000dd01e901ea01eb01ec01ed01ee01ef01f001f101f2
+01f301f401f501f601f701f801f901fa01fb01fc01fd01fe00c601ff020002010202
+00c700e40203020402050206020702080209020a020b020c020d020e020f02100211
+021202130214021500650216021702180219021a021b021c021d021e021f02200221
+02220223022402250226022702280229022a022b022c022d022e022f023002310232
+0233023402350236023702380239023a023b023c023d023e023f0240024102420243
+024402450246024702480249024a024b024c024d024e024f02500251025202530254
+02550256025702580259025a025b025c025d025e025f026002610262026302640265
+0266026702680269026a026b026c026d026e026f0270027102720273027402750276
+027702780279027a027b027c027d027e027f02800281028202830284028502860287
+02880289028a028b028c028d028e028f029002910292029302940295029602970298
+0299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802a9
+02aa02ab02ac02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba
+02bb02bc02bd02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb
+02cc02cd02ce02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc
+02dd02de02df02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed
+02ee02ef02f002f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe
+02ff0300030103020303030403050306030703080309030a030b030c030d030e030f
+0310031103120313031403150316031703180319031a031b031c031d031e031f0320
+032103220323032403250326032703280329032a032b032c032d032e032f03300331
+03320333033403350336033703380339033a033b033c033d033e033f034003410342
+034303440345034603470348007e00880349034a034b034c034d034e034f03500351
+03520353035403550356035703580081008200840087007f00860359035a035b035c
+035d035e035f0360036103620363036403650366036703680369036a036b036c036d
+036e036f0370037103720373037403750376037703780379037a037b037c037d037e
+037f0380038103820383038403850386038703880389038a038b038c038d038e038f
+0390039103920393039403950396039703980399039a039b039c039d039e039f03a0
+03a103a203a303a403a503a603a703a803a903aa03ab03ac03ad03ae03af03b003b1
+03b203b303b403b503b603b703b803b903ba03bb03bc03bd03be03bf03c003c103c2
+03c303c403c503c603c703c803c903ca03cb03cc03cd03ce03cf03d003d103d203d3
+03d403d503d603d703d803d903da03db03dc03dd03de03df03e003e103e203e303e4
+03e503e603e703e803e903ea03eb03ec03ed03ee03ef03f003f103f203f303f403f5
+03f603f703f803f903fa03fb03fc03fd03fe03ff0400040104020403040404050406
+040704080409040a040b040c040d040e040f04100411041204130414041504160417
+04180419041a041b041c041d041e041f042004210422042304240425009804260427
+04280429042a042b042c042d042e042f043004310432043304340435043604370438
+0439043a043b043c043d043e043f0440044104420443044404450446044704480449
+044a044b044c044d044e044f0450045104520453045404550456045704580459045a
+045b045c045d045e045f0460046104620463046404650466046704680469046a046b
+046c046d046e046f0470047104720473047404750476047704780479047a047b047c
+047d047e047f0480048104820483048404850486048704880489048a048b048c048d
+048e048f0490049104920493049404950496049704980499049a049b049c049d049e
+049f04a004a104a204a304a404a504a604a704a804a904aa04ab04ac04ad04ae04af
+04b004b104b204b304b404b504b604b704b804b904ba04bb04bc04bd04be04bf04c0
+04c104c204c304c404c504c604c704c804c904ca04cb04cc04cd04ce04cf04d004d1
+04d204d304d404d504d604d704d804d904da04db04dc04dd04de04df04e004e104e2
+04e304e404e504e604e704e804e904ea04eb04ec04ed04ee04ef04f004f104f204f3
+04f404f504f604f704f804f904fa04fb04fc04fd04fe04ff05000501050205030504
+05050506050705080509050a050b050c050d050e050f051005110512051305140515
+0516051705180519051a051b051c051d051e051f0520052105220523052405250526
+052705280529052a052b052c052d052e052f05300531053205330534053505360537
+05380539053a053b053c053d053e053f054005410542054305440545054605470548
+0549054a054b054c054d054e054f0550055105520553055405550556055705580559
+055a055b055c055d055e055f0560056105620563056405650566056705680569056a
+056b056c056d056e056f0570057105720573057405750576057705780579057a057b
+057c057d057e057f0580058105820583058405850586058705880589058a058b058c
+058d058e058f0590059105920593059405950596059705980599059a059b059c059d
+059e059f05a005a105a205a305a405a505a605a705a805a905aa05ab05ac05ad05ae
+05af05b005b105b205b305b405b505b605b705b805b905ba05bb05bc05bd05be05bf
+05c005c105c205c305c405c505c605c705c805c905ca05cb05cc05cd05ce05cf05d0
+05d105d205d305d405d505d605d705d805d905da05db05dc05dd05de05df05e005e1
+05e205e305e405e505e605e705e805e905ea05eb05ec05ed05ee05ef05f005f105f2
+05f305f405f505f605f705f805f905fa05fb05fc05fd05fe05ff0600060106020603
+060406050606060706080609060a060b060c060d060e060f06100611061206130614
+06150616061706180619061a061b061c061d061e061f062006210622062306240625
+0626062706280629062a062b062c062d062e062f0630063106320633063406350636
+063706380639063a063b063c063d063e063f06400641064206430644064506460647
+06480649064a064b064c064d064e064f065006510652065306540655065606570658
+0659065a065b065c065d065e065f0660066106620663066406650666066706680669
+066a066b066c066d066e066f0670067106720673067406750676067706780679067a
+067b067c067d067e067f0680068106820683068406850686068706880689068a068b
+068c068d068e068f0690069106920693069406950696069706980699069a069b069c
+069d069e069f06a006a106a206a306a406a506a606a706a806a906aa06ab06ac06ad
+06ae06af06b006b106b206b306b406b506b606b706b806b906ba06bb06bc06bd06be
+06bf06c006c106c206c306c406c506c606c706c806c906ca06cb06cc06cd06ce06cf
+06d006d106d206d306d406d506d606d706d806d906da06db06dc06dd06de06df06e0
+06e106e206e306e406e506e606e706e806e906ea06eb06ec06ed06ee06ef06f006f1
+06f206f306f406f506f606f706f806f906fa06fb06fc06fd06fe06ff070007010702
+0703070407050706070707080709070a070b070c070d070e070f0710071107120713
+071407150716071707180719071a071b071c071d071e071f07200721072207230724
+07250726072707280729072a072b072c072d072e072f073007310732073307340735
+0736073707380739073a073b073c073d073e073f0740074107420743074407450746
+074707480749074a074b074c074d074e074f07500751075207530754075507560757
+07580759075a075b075c075d075e075f076007610762076307640765076607670768
+0769076a076b076c076d076e076f0770077107720773077407750776077707780779
+077a077b077c077d077e077f0780078107820783078407850786078707880789078a
+078b078c078d078e078f013a006f0089079007910792004100080075079300690077
+00760794007000710074079500ee00ed007907960797007a07980799079a079b079c
+079d079e006b006c079f07a007a107a207a3006307a407a507a607a707a807a907aa
+07ab07ac07ad07ae07af07b007b107b207b307b407b507b607b707b807b907ba07bb
+07bc07bd07be07bf07c007c107c207c307c407c507c607c707c807c907ca07cb07cc
+07cd07ce07cf07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd
+07de07df07e007e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee
+07ef07f0009907f107f207f307f407f507f607f707f807f907fa0144014507fb07fc
+07fd07fe07ff08000140014101420143080108020803080408050806080708080809
+080a080b080c080d080e080f0810081108120813081408150816081708180819081a
+081b081c081d081e081f0820082108220823082408250826082708280829082a082b
+082c082d082e082f0830083108320833083408350836083708380839083a083b083c
+083d083e083f0840084108420843084408450846084708480849084a084b084c084d
+084e084f085008510852085308540855085608570858085900a6085a085b085c085d
+085e085f0860086108620863086408650866086708680869086a086b086c086d086e
+086f0870087108720873087408750876087708780879087a087b087c087d087e087f
+0880088108820883088408850886088708880889088a088b088c088d088e088f0890
+089108920893089408950896089708980899089a089b089c089d089e089f08a008a1
+08a208a308a408a508a608a708a808a908aa08ab08ac08ad08ae08af08b008b108b2
+08b308b408b508b608b708b808b908ba08bb08bc08bd08be08bf08c008c108c208c3
+08c408c508c608c708c808c908ca08cb08cc08cd08ce08cf08d008d108d208d308d4
+08d508d608d708d808d908da08db08dc08dd08de08df08e008e108e208e308e408e5
+08e608e708e808e908ea08eb08ec08ed08ee08ef08f008f108f208f308f408f508f6
+08f708f808f908fa08fb08fc08fd08fe08ff09000901090209030904090509060907
+09080909090a090b090c090d090e090f091009110912091309140915091609170918
+0919091a091b091c091d091e091f0920092109220923092409250926092709280929
+092a092b092c092d092e092f0930093109320933093409350936093709380939093a
+093b093c093d093e093f0940094109420943094409450946094709480949094a094b
+094c094d094e094f0950095109520953095409550956095709580959095a095b095c
+095d095e095f0960096109620963096409650966096709680969096a096b096c096d
+096e096f0970097109720973097409750976097709780979097a097b097c097d097e
+097f0980098109820983098409850986098709880989098a098b098c098d098e098f
+0990099109920993099409950996099709980999099a099b099c099d099e099f09a0
+09a109a209a309a409a509a609a709a809a909aa09ab09ac09ad09ae09af09b009b1
+09b209b309b409b509b609b709b809b909ba09bb09bc09bd09be09bf09c009c109c2
+09c309c409c509c609c709c809c909ca09cb09cc09cd09ce09cf09d009d109d209d3
+09d409d509d609d709d809d909da09db09dc09dd09de09df09e009e109e209e309e4
+09e509e609e709e809e909ea09eb09ec09ed09ee09ef09f009f109f209f309f409f5
+09f609f709f809f909fa09fb09fc09fd09fe09ff0a000a010a020a030a040a050a06
+0a070a080a090a0a0a0b0a0c0a0d0a0e0a0f0a100a110a120a130a140a150a160a17
+0a180a190a1a0a1b0a1c0a1d0a1e0a1f0a200a210a220a230a240a250a260a270a28
+0a290a2a0a2b0a2c0a2d0a2e0a2f0a300a310a320a330a340a350a360a370a380a39
+0a3a0a3b0a3c0a3d0a3e0a3f0a400a410a420a430a440a450a460a470a480a490a4a
+0a4b0a4c0a4d0a4e0a4f0a500a510a520a530a540a550a560a570a580a590a5a0a5b
+0a5c0a5d0a5e0a5f0a600a610a620a630a640a650a660a670a680a690a6a0a6b0a6c
+0a6d0a6e0a6f0a700a710a720a730a740a750a760a770a780a790a7a0a7b0a7c0a7d
+0a7e0a7f0a800a810a820a830a840a850a860a870a880a890a8a0a8b0a8c0a8d0a8e
+0a8f0a900a910a920a930a940a950a960a970a980a990a9a0a9b0a9c0a9d0a9e0a9f
+0aa00aa10aa20aa30aa40aa50aa60aa70aa80aa90aaa0aab0aac0aad0aae0aaf0ab0
+0ab10ab20ab30ab40ab50ab60ab70ab80ab90aba0abb0abc0abd0abe0abf0ac00ac1
+0ac20ac30ac40ac50ac60ac70ac80ac90aca0acb0acc0acd0ace0acf0ad00ad10ad2
+0ad30ad40ad50ad60ad70ad80ad90ada0adb0adc0add0ade0adf0ae00ae10ae20ae3
+0ae40ae50ae60ae70ae80ae90aea0aeb0aec0aed0aee0aef0af00af10af20af30af4
+0af50af60af70af80af90afa0afb0afc0afd0afe0aff0b000b010b020b030b040b05
+0b060b070b080b090b0a0b0b0b0c0b0d0b0e0b0f0b100a720300000100004e000051
+00006a0000840000e20002fb00032d00046f0004800004d300052800053200054600
+055900056b0005790005920005ae00066b00068e0006bd0006db0006fd0007260007
+4900077500079e0007b50007d80007e50007fc00080900082b00090700092000094d
+00096100097b0009d9000a9a000b78000b91000ba4000bb9000bd8000bfa000c1500
+0c31000c4d000cf4000d15000d3e000e9d000f3e000f53000f62000f72000f80000f
+93000fb2000fea000ffe00103600104900106900107c0010a30010c20010d7001105
+00112400113d00122400124100126300128600129f0012b300144000153600155100
+16530017040017de0018910018a3001972001981001acc001adb001aeb001bf2001c
+ab001cc3001d7a001d8f001d92001dac001f3d001fe200205e00214d0021650022d1
+0022e80023b70023d40023e20024260024380024f600251b0025380025520025b000
+25d30025e200267c00277700278a00279e0027b30027ee0027fc00290b0029b4002a
+d5002af8002b1a002b3c002b5e002b8f002bc2002ceb002d37002d52002d97002ddc
+002e21002e89002ea3002ebe002ed9002f00002f1d002f52002f76002f9a002fbe00
+2fef00302000305600307b0030990030b70030d50030f90031140031b300326b0032
+9c0032cd0032fe0033410033800033c00033f300341c00344200346800348e0034c8
+0034e20034fd0035180035420035c80035fd00362000364300366600369c0036ce00
+37ba0037de00380600382e00385600388a0038a10039b70039da0039fb003a2f003a
+58003a93003bbd003d0b003d28003d45003d62003d7f003da0003dc2003de0003e01
+003e25003ec4003fab003fdb00402100404800408f0040c800410f00413900420d00
+42e500432b0043540043820043ee0044250044a80044d900454900457f0045f20046
+140047030048540049b60049de004ab5004ad1004b27004b46004bd2004ccf004dcb
+004dec004dff004e1f004e5f004e7c004e9a004ec8004eee0050860050b50050d100
+51050051510051850051ad0051df00520f0052b700534400536d0053940053c30053
+f000541a0054440054c80055f70056e200570600572a0057530057800057ac0057da
+0058a700595c00598d0059b40059ed005a1b005a4c005a77005ac1005b3c005b8600
+5bb9005d8e005e80005eca005f01005ff600613f00617e0061a000625200633a0063
+6500639b0063b80063e200640400643800646200649a0064c00064f300663a00676a
+0067d90067f200680d00682400684c0068710068960068c60068ef00691c00694400
+69c6006aa6006bd3006c10006ca9006d60006e08006eb3006faf00707100708e0071
+7b00721b0072dd0073620074160074330074b40075f30076870077ea0078e3007a02
+007a86007b26007c73007df6007e6e007f730081360081e50082ab00834400836b00
+839600848000851f00862c00875a00882d0088a80089340089590089de008b29008c
+25008ca9008d2f008d4c008e6f008f07008f8c0090440090ef0092380093990093ae
+00942d0094a800953c0096260096810096de00977900982800983e00985e00989600
+98af0098f500992f0099910099c2009a09009a46009b00009b41009c60009c82009c
+b7009cd3009cee009d12009d39009d58009d84009daf009df2009e24009f0c009fc2
+00a0a000a0d200a1a200a1c300a1ff00a24900a29900a2dd00a33300a37900a4b800
+a67f00a6ad00a71e00a74700a8c700a8eb00a90e00a93b00a96700a98700aa0800aa
+2a00aa8000aab100aafe00ab2c00ab9800ad1300adbc00ade500ae0c00af9800b077
+00b0ce00b11000b13f00b16a00b19100b1cc00b1f700b23200b27d00b2ac00b33b00
+b37200b3da00b44f00b47100b4f100b51b00b54900b57400b5a200b5da00b60b00b6
+4900b67a00b69e00b6d100b6f500b72600b77700b7b800b7fe00b81f00b8a200b92c
+00b94f00b97c00baf400bbdf00bc7000bd0300bd7600bded00be1300be4900beb500
+bee900bf2700bf6200bff500c03500c05d00c08400c0d500c10500c12100c13900c1
+f300c2d700c3a700c3bd00c4a400c5d100c78200c91c00ca6000caea00cc2000cd2f
+00ceb100cf5400d00100d0a800d18e00d19d00d3e000d59300d65900d6e500d7a600
+d8d300d97d00da9500dc2c00ddd600debd00df7f00e0a200e18000e1d300e2a900e3
+b500e46b00e4ec00e50d00e6ee00e71500e7c600e9c400ea3e00eb3b00ec4800ecf5
+00edca00eef500f03900f17300f2a900f3ad00f49000f4a300f4b700f5b200f65e00
+f6e000f7a500f94000fb1400fcc200fdd400fef400ff890100250101120101ac0102
+cc0103ad01049e01052f01061f01069b0107010107640108b20109fe010b1c010b84
+010c0b010c77010d01010dcd010e37010f21010fae010fc90110b801120a01134701
+141e0116040116920117150118140118fa011981011a09011b1b011b45011b78011b
+f2011d37011d50011ddd011f5e01202a01212901226601236b0125410126300127b6
+01285a0129cc012bac012d94012ed101306201325501328a0133370133e60134d101
+35870135b10135ce0136500136e101377d01378c0138940138e30138fe0139310139
+4401395701399f0139ec013a3e013a8f013aad013acb013ade013b01013b10013b1b
+013b5c013b6e013b82013b95013ba3013bb6013bc9013bdc013bfa013c08013c5001
+3c96013ca8013cbd013d0d013d3c013d50013d61013d7b013d8d013daa013dc5013e
+13013e61013f13013f27013f4c01409101411101412c01414b01416c01418b0141a6
+0141bb0141d50141f401421101422f0142770142bf0142dc0142f901431201437801
+43e101449d0144e901450101453301456a01459e0145d101461a0146610146930146
+9b0146a30146b601470401471401473201474601475701476e0147800147990147a8
+0147b10147f20148120148750148940148a70148b90148ca01492401493501494801
+495b01499d0149de014a16014a49014a8f014aa0014ab3014b01014b2b014b5c014b
+8a014b9d014bb9014bd1014be3014bf4014c05014c17014c34014c8e014cb7014ce4
+014cf7014d0d014d26014d38014d44014d5f014d79014d8a014d96014db3014de601
+4e2c014e74014e97014ef2014f7b01508801509d0150af0150c10150dc0150ed0151
+3c01514e01516b01518001519a0151d60152ef0153b10154410154950154ca015511
+0155570155840156150156340156530156bd0156d00156e101576801582401588b01
+58960158a40158b10158be0159050159360159660159ec015a3e015aad015ae5015b
+70015c13015cc4015d72015eac015f27015f860160120161160161630161960161a8
+0161bc0161de01620101622401623301625801627801628c0162d30162f501631001
+633301634e0163820163b70163d00163fd01642701646501649b0164b70164d00165
+4301655601657501658401659f0165bb01670c01672801675001677d0167a20167d3
+0167e601688c01689e0169be016a85016aac016ad7016b0a016b3b016b6a016b8501
+6bc3016be9016cd3016d7d016e14016e3b016ee6016f08016f62016f750170970171
+2d0171ed0172b90173910173ac0174510174730174ec0175470175ca0175e501766a
+01775f01783501784e01787d0178ac0178d00178f301791401799b017a3f017a5301
+7a6e017b25017cf3017d84017e80017f5b0180590180ed0181770182810183070183
+8d0183b301843d01849601852a0185a20185b60185d901867a0186d901873c0187c4
+0187d701884801885b01887e0188a20188e7018934018a3b018a70018b33018b6f01
+8b82018ba9018c64018d60018e57018f5801901901903901905d0191480191610191
+9e0191cb0191f50193820193b80193e701940c01942301944801956801964b019666
+01967f01969b0196c30196f001970401973501974801987c01988e019962019a5b01
+9b59019caf019dd0019e04019e2d019eb5019f24019ffd01a02401a0e501a11801a1
+4101a26201a28101a2a401a2c901a2df01a30601a36f01a42901a55601a56f01a58a
+01a5f901a62501a63a01a6c001a6d001a79501a7a401a83101a84901a92501a9ed01
+aaa401aacf01aaf101ab2701abd001ad3601ad5c01ad9601aef001af2101b03501b0
+6101b08301b0ad01b0d001b1b101b2c701b46b01b4df01b4fd01b51d01b5e101b5fe
+01b61e01b70301b7b101b92e01baf001bc9f01bddc01c02001c1e001c2dd01c3d601
+c56901c6f701c7e901c8bb01c9db01cb4101cb7801cca201ccc301ccdf01cd1301cd
+4301cdbb01cedc01cefd01cf1d01cf7001d00b01d09501d18c01d30401d3c601d48d
+01d50f01d60701d74301d88701d9e501dbaa01dc8c01ddad01df2001dfea01e19b01
+e2c401e41401e55d01e6ba01e80b01e8e501e9b201eb5001ec8801ed7f01ee6b01ef
+d001f11601f23301f30401f38301f40101f41401f4d501f62f01f71501f86201f990
+01fa7501fb4601fbf501fca801fe0201ff1b01ffd60200b90201610201f802032702
+04420204550204930205b4020734020857020939020a04020b29020c4e020cfb020d
+ae020dd7020e10020e3d020e7c020ec9020efc020f42020f77020f94020fb5020fe4
+02101902105d0210930210cb0211090211200211970211b70211dc02120402123602
+12630212950212cc02130b02138c0213e90214890214db0214fa02151302153a0215
+5d0215810215a30216b00216e90217c40218460218c602190902192102195702197d
+0219a50219b60219ce0219f5021a08021a16021a25021a34021a61021a72021a8602
+1a9e021ab1021ac4021ad5021ae4021b28021b7d021ba6021bbb021bde021bfb021c
+98021cb3021d10021d99021e35021e48021e94021edb021f6a021fd902206d0220cc
+0221290221830223ce0224710225280225bf02269602270e02274e0228230228bc02
+28ec022917022933022947022964022a01022a1e022ad3022c25022d3e022d5d022d
+8b022e40022ef502308602322702327e02331802347e0235c902365b0236980236ee
+02378b0238040238770238980239010239d9023b65023c8c023e78023e9f02403502
+41b80241e40242010242240242370242610243f70244110244d60245850245b30245
+f302463202470302474302476d0247ac0247d50247f902482b0248510248940248bb
+0248ff02492402496302498d0249d30249f4024a2f024a82024b43024b97024c6302
+4ca6024ccc024d20024d5a024dd8024e21024ef1024f14024f42024fb1024fd60250
+0302502a02505202507c0251db02533c0254e802551102566302568c0256cc02577c
+0257b70257df0257fe02582902584d0258760258970258c90258ec02592702595302
+59830259a20259ce0259e9025a0f025a40025a6a025b90025bbc025bf0025c1d025c
+47025c76025ca1025ccc025cf6025d1d025d43025e38025f18025f9e025fef026025
+0260ec02612c0261f40262320262670262a60262de02631102633d02637102639d02
+63dc0264140264470264730264c00264ff02654d0265880265da02667d0266d60267
+8a0267ea0268320268700268940268d30268f902693a0269570269930269ad0269d4
+026a08026a34026a6a026a86026aad026c09026ce6026d3f026e00026e26026e4b02
+6e6a026e89026ed6026eee026f08026f21026f45026f6a026f88026fa8026fc8026f
+e902701102702e02705e0270810270a30270c10270ed02711202714402716f02719d
+0271c50271ec02721802723e0272630272a002732f0273de0274e20275b602764202
+76690276a00276cc02770a02774002781b0278c302798a0279be027a01027a4a027a
+93027ac2027aff027b3c027b8c027bc9027cb5027cec027d39027d8b027dff027e33
+027e79027ec1027eeb027f37027f66027fb9027ff20280c40280fe0281c902820302
+825c0282990283700283af0283ff02842f02845602847e0284a00284cd0284f60285
+1e02854d0285790285b10285e80286920286c90287020287820288340288720288a3
+0288d102890202893902896a0289a10289dd028a20028a62028bc2028bf8028c3402
+8c57028c84028ca9028cde028d0a028d37028d63028d90028dbc028df5028e31028e
+72028e9d028ed3028eee028f04028f270290760291d30291f602921e02924602933a
+0293ef0294410294a302956702962c02966602969f0296df02971e02975902979802
+97fa02985f02988d0298ba0298f00299230299550299870299e1029a3a029a73029a
+ac029aed029b2e029b6f029bb4029c01029c4e029ca3029d00029d90029dee029e26
+029e5d029e9b029ed6029f25029f69029fcb02a02902a05102a07902a0ae02a0e202
+a11702a16802a1c002a21802a23c02a26002a28a02a2b002a2db02a30302a35302a3
+a002a3c102a3e202a41002a44402a4d902a50702a55a02a5ac02a5d602a60002a631
+02a66402a69a02a6d202a6fe02a72a02a75f02a79302a7c802a7fd02a82402a84c02
+a87b02a8ac02a8e302a92002a97402a9c502a9e702ab1a02ac5a02adb202addf02ae
+0c02ae4002ae6c02aef902af2d02af8502afda02b01902b05802b09f02b0f502b142
+02b18902b1f202b25a02b28d02b2c002b2f002b32102b34f02b37e02b39802b3b302
+b3d702b3fb02b41d02b44002b46102b48202b4d302b52102b57902b5cd02b65002b6
+a402b71e02b79102b7d602b81a02b91202b95c02b9a602b9f002ba5c02bac902bb08
+02bb4a02bb9502bbd902bc3502bc7f02bce902bd5202bd9202bdd202be1c02be6502
+beaf02bf1902bf8102bfeb02c02a02c06102c0a202c0d902c19e02c1e002c24702c2
+a802c2f902c34a02c3a302c40b02c46a02c4c302c53b02c5b402c5ef02c62302c664
+02c69e02c6df02c73002c79802c7c102c7e202c80202c82202c85202c85c02c86e02
+c88102c8ad02c8ec02c92002c94d02c98302c9d702ca3502ca7c02cac302cae502cb
+0702cba402cbbf02cbda02cc1e02cc4002cc5d02cc8d02ccc202ccfb02cd5b02cd7a
+02cd9602cdb102cdcc02cde602ce0102ce3c02ce6a02ce8d02ced902cf1702cf4702
+cf7702cfb802d01802d03702d05302d06f02d08a02d10802d12b02d15002d16302d1
+8f02d1b402d21102d24f02d2a002d2c302d2e502d31a02d34e02d38e02d3a202d3ac
+02d3ae02d3b102d3b302d3b602d3b902d3bc02d3bf02d3c202d3c502d3c802d3cb02
+d3cc02d3de02d3f002d41102d43302d45602d47902d49402d4b102d4c602d4db02d4
+ef02d50b02d52902d54502d56002d5e102d65502d71302d73402d74b02d75902d76f
+02d78d02d79d02d7a002d7e802d86302d87702d89102d8ac02d8bf02d8d802d8f302
+d8fe02d90902d99e02d9c602db7202db8402e09502e0ac02e0ef02e12502e15b02e1
+ab02e25802e28902e2a802e2d402e2f802e31002e33102e34d02e37a02e39a02e3b6
+02e3cc02e3ec02e3f902e40802e4a002e4bf02e54402e5e802e66302e77e02e79502
+e7b502e7f102e81e02e83e02e85802e86c02e88a02e89602e8a402e92f02e9e302ea
+0202eb4602ebfb02ec1402ec2902ec3c02ec6002ec7f02ecaa02ecce02ecef02edc4
+02ee6002efd002f1b502f2ef02f33302f3cd02f56402f6e502f75202f7e202f8e402
+f9bb02fa1002facd02fbe602fc9802fd9902fe1302fefd02ffbb03006303018a0302
+9503031e0303b40304b40305660306d40308170308b20308dc0309ae030a02030a2b
+030a40030a63030a80030b5f030c5f030c9f030cf4030d1f030d61030da2030ddd03
+0e12030e64030eaa030f04030f65030fb8030fd30310540310e50311b60312a20313
+370314250315230316700317db031907031a6e031be0031c74031d35031dbd031e94
+031eb4031fbd0320e103226f03227e03242603252003263503288b03289a032ae403
+2d70032d84032d99032dc7032f5b032faf0330b70332090332650332cd0333060333
+4203337a0333b403342e0334ac03357d03364e0337230337f40338610338cd03390d
+0339b1033a5f033a70033a7e033a90033a9f033abb033ad5033b72033c3f033cdd03
+3d25033d6d033db5033e00033e79033f0303401b03413d0342550343690343950343
+e00344b80344e103457c0346e10347290347730347b80348ca03490703494e034a62
+034aa0034b64034c24034c86034c93034cf6034d5e034d73034d87034d99034db603
+4dc9034dd7034e07034e34034e8f034eea034f03034f290350440351a20351b50351
+fa0352170352880352ad0352d103531a03536503537a0353970353be0355af0355c7
+0355db0356b4035761035865035a1a035a38035abb035adf035b79035bc3035c0e03
+5c51035c62035d15035dcc035eaf035f8e035fc2035ff703609903614603621d0362
+a10363f60364a60364c30364e00364fd03650e03652c0365920365f903660c03662e
+0366500367aa0367dd0367f703680e0368ee0369cc036a37036a89036a94036aa303
+6b14036b3b036bc9036c57036c6a036cf6036d84036d98036e28036e43036e51036e
+76036e92036e9f036ec3036ee4036f66036f8b036fa3036fd003704f03707c037094
+0370d20370f003723e0373fa0375a603772a0378960379e6037af0037b86037cd303
+7d13037f910381570383110384a00386700387ca038a65038b05038c60038ea2038e
+c5038ee8038fcd038ff803901b0390dd03915a0391f40392740392a50393760393a1
+03948e0394c00394ea0395ba03963f0396e00397b40397e5039b0d039ccb039df103
+9f5403a1b003a3d503a57503a81503a96b03a9e303accf03ae3d03afad03b1a103b2
+1603b3af03b48103b6b803b85703ba1703bbc103bd8903bf0703c24503c4ae03c699
+03c7c003c7e803c80a03c8c603c9a903ca7903cb9203cc8603cd0a03cd8d03ceff03
+cf2103d0ad03d18a03d1b303d28403d2ac03d34303d3c403d44803d51c03d65203d8
+5203d9a303da6303db2003dc5a03dcb103dd1903ddce03de4103dea103def903df3d
+03df8f03e02403e0b303e21403e3ee03e5b403e76a03e8f803ea4e03eb7b03ec2003
+ed8603f00d03f04303f05003f06903f07803f09403f0a203f0bd03f0cc03f0e803f0
+f803f11503f12503f15c03f18103f1a703f1c203f20f03f21803f23303f26503f296
+03f2c803f2ec03f31403f32b03f34203f37903f39f03f3f203faf803fbd103fd4103
+ff2c03ffc004015b0402f80403ba04042c04048b0404eb04057b0405e204064c0406
+b70407560407da0408ad0409720409d7040a4f040af1040b7f040c3e040ce8040dbf
+040e43040eff040f7104101a0411460411b704121204128a0412cd0412f404135704
+13d70414a404158c0415e70416460416f304185a0418ce041b05041d9f041feb0420
+7a04212904229d0422cd0424cf0425a00426490426d004276c0427e2042ee4042f35
+042f960430050430700430c704311a0431570431a10431f004322f04324004326b04
+32980432a70432b60433460433b80434e404356904366e04383e043988043a5d043b
+0b043c38043d54043dd3043e4b043f9e04409704414e0441fd0442af044326044338
+04434c0443680443840443dd04441c0444780444d904468504479204495f0449b104
+49dc044a06044c2f0454650455890456a50457cc0457f304581a04585a0458a3045a
+a3045ba8045f490461260461b50463f504667d04679e0467b90468760468990468c8
+0468e60469080469310469540469800469a9046af6046c58046dfc046ea704708b04
+70c304710404717a0471900471c10471fe04722004724904726304728f0472bb0473
+5204737e0473ab0473d00475810476dc047976047b17047dc6047f8804815204825d
+0484290485620486f40488960489c3048aeb048bba048d3b0495230495ed049c2a04
+9d75049f6b04a0ae04a17e04a34504a57a04a74604a81704a92404aa0604ab0c04ac
+b104ad8b04ae8d04aea904af6204af7704af9404afb904b08804b0b504b19d04b1b2
+04b1c804b2fc04b30f04b45104b50c04b52a04b5c504b6cf04b72604b75304b78304
+b79904b89e04ba8d04bbab04bbc204bbe004bbe204bbf404bc1604bc3804bc5b04bc
+9104bcc204bcf404be9604bfb104bfdc04c00704c03204c06f04c08a04c0a504c0c0
+04c0e904c10a04c14304c16804c18d04c1b304c1fc04c22b04c31304c44504c46204
+c47f04c49c04c54a04c56804c68304c7cc04c7ed04c88304c96304cb5704cd8d04cd
+ae04cddd04cf3904cf5504cf7504cf9d04d10d04d1f204d23204d24e04d2f204d31e
+04d34d04d45604d48204d4b704d4f104d52e04d66c04d6ac04d7b604d87304d89c04
+d8c004d8e604d91104d93a04d95d04da0804da4d04da8c04daac04db4404dca104dd
+4904ddfc04deb704df9d04e0ba04e12804e1f604e33004e47504e49904e4bd04e4f2
+04e65804e78504e85204e93004e9c904eaa004ebc104ec6b04ed0004ee3f04ef2204
+efd604f0a504f12004f1b004f2f604f40304f41e04f4df04f50504f51e04f57604f6
+1b04f85404f91504fa2204faa304fb1404fba104fc2604fca704fd2604fde904fe4c
+04ff0404ffc905000d0500930500a90500da05018c0501ae0501d70501f105021d05
+024905026f0502ac0502fe050310050472051202051fa40566ea0567090567210567
+4e0568120568690568820568ae0568d80568ed05690005692405694305696e05698e
+0569ab0569cf0569f0056a13056a26056c10056d17056dc6056df9056e21056edf05
+6f8a056f9c056faf0570120570250570390570f605717a05718e0571a20571b40571
+cb0571e10571f205775005783a057924057c04057de30583ff058752058888058bac
+058e9c059495059f6805a3bd05bf3805c03805c12905c38005c39705c4a105c5b405
+c62f05c6af05c72005c79c05c8bc05c9d705c9ef05ca1205ca2005ca2e05ca3d05ca
+4c05ca5e05ca7405cb4705cc8e05cda805ce9705d00405d16d05d23805d37c05d408
+05d55605d64005d6ee05d85c05d9ca05dae205db4a05dc3e05ddaf05de4a05df6305
+e02005e18305e37905e4b105e5b705e6b205e81b05ea9205ebd52c8bbdf8e9be018b
+bdf824bd03bdf8ef15f73efb92fb3efb9205a95e15f73ef792f73efb9205fb20f7bf
+15f73ef7928bfc9005fb5cf7bf15fb3ef791f7e88b05fc38fd1b15f888f94efc8806
+0efbed0efbc781f5f8c67701e6f503f724f92615200a56fcfb15210a0efb97f83ff7
+6e01cae1b3e103f76bf83f15220afb128a15220a0efb16f754c0f707c001f7abf789
+15fb068b9ef707f7058b05b116ea8b93c02b8ba8f747658b6ffb47fb068ba9f74765
+8b6efb472e8b8356e88b79fb072d8b058356e88b6ffb46b08ba8f746f7048b70fb46
+b18ba9f746e98b92c02c8b050efb16fffff7e666ff00226666ff0227b334ff001fe6
+6601becef771d903ff00cf199aff016eb33415ffffd2ccccff00164cccffffd4199a
+ff00214ccc8bff0035b3348bff00339998ff002e4ccdff0031999cff00366666ff00
+00cccc08ff0013999afffec9999a15ff00323334ffffeb9999ff00328000ffffe233
+338bffffb1999a8bffffb5b333ffffd6b33463ffffb73332ffffff4ccd08ff009219
+9af8c515ffffd08000ff00063334fffffbe666ff000eb334ffffc1b334ff00036664
+08ff0004b332ff0055333405fffff333348b7cfffffe8000fffff6cccdfffffc8000
+08fffffb9999ffffb0666805ffffa53334fffffce664ffffb16666ffffc480008bff
+ff9fb3348b34ca5ed36cff00053333fffffdccccff00058000fffffdccceff0005b3
+33fffffdcccc087dffff00e66705ffffbcb334ff0009999a5fff0028199affffede6
+66db808f818982868f438f74965dff0033b3338bff00198000ffffefe666ff003d4c
+cd8708fffffb199affffa5cccc0595ffffffffffff00139999ff0000e667ff00074c
+cdff0004333308ff0004999aff00544ccc05ff0027199aff00013333ff0025e66695
+ff001de666ff0012b333c0acadc58bc68be44eb748a8fffff4b334ff0004e666ffff
+ef8000ff0005b334ffffedb332ff00074ccc08ff000c4ccdff00dfb33205ff003eb3
+32fffff2b334ff0016ccceffffcde668ff00104cccffffcbcccc968b978a939288b8
+87a581bc080eb57faaf762aabaaaf72ab09eaa01c4c1f719acf0c2f718ac03f845de
+15230a549a15240a7df83b15250afb91fb0f15260a0ef70281c155acf806acf750ac
+12b6ddbfd5f71fd0f750a0137ff78ef7e6159676dbfb08c4405a486767448b4c8b55
+ae8bed088bd2a1c1f2c408f73ffb8815a8660513bfba4ab089aa8bae8bb8a7a2d1ff
+fffaccccff00056666fffffb3334ff0004999a808b7764747c6a8b7b8b6d9f6cb608
+67bd05ff0027999ac4ff00167ffeb3ff001ae668bbb9ddff0006ccccff00053334ff
+003d3334ff0003cccc91918ba08591778a6d8a698b698b628c778c85858b76918508
+ff00361998fffffd4cccff000ee668fffffab334ffffda666845ffffeee664ffffe0
+199affffe7ccceffffd53333ffffdbe666ffffcab3335dc951de79aa08879305debb
+cdcc8bc208ca51b845275544501e8b659964b04bfb184156488b3c08137ffb0ee05f
+f61ee08bc2b4b9ca08fb18f7cf1571bc7fb18ba208cdbca8a5b4a26d5e1e8b676657
+4b61080efc29f83ef76e01c0e103daf83e15220a0efbbdb7de03b7f790158b5e8ffb
+7bf764fb48958d93928e936ab1fb09f71e8bf79b8bf79bf70af71eabaffffffc999a
+ff000a4cccfffff9ccccff0006e668fffff4999aff0000ccccfb0b252efb3b8bfb4e
+080efbbdf73fde03f792f790158bb887f77bfb64f748818983848883ac65f709fb1e
+8bfb9b8bfb9bfb0afb1e6b67ff00036666fffff5b333ff00063334fffff9199aff00
+0b6666ffffff3333f70bf1e8f73b8bf74e080efb76f73cf8b715270a0e5ef776bdf7
+4e7701f78ebd03f78ef84715280a0efc0bfb19a3f703e801f717b203f3ea15290a0e
+fb95f773c701b3f79603f7a3f773152a0a0efc0b81f501c4f503c4b615210a0efba4
+f91a77019af7aa03f7b9f91a15628bfb81fd55b48b050efb1681aef8baae01b2e2f7
+65e203f77cf8d3152b0a87fcdd152c0a0efb1689acf8d57701f767d803f7b4f70e15
+f7ef078bc7ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334ff
+fffc80008bffffc8b333ffffddb334ffffcb4ccdffffe74ccc3362ff0001999affff
+f4999aff00046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08
+ff00108000ff0003800073691ffbda078b387086458885858b769185bc8cff0023cc
+cd8cff003633338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde
+080efb168bccf81576f726ae12c8d6f74ee370a813f8c8f868152d0a13f42e0a13f8
+2f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff004e3332ffffccb334e313f8
+f76bf8d315300a13f4310a13f8320a0efb1689acf721baf81b7701f7a3d703f7a3f8
+8f15330af733fbb415340a0efb1680aef7d1bdf722ce4ed312f7d3e413e8f7d3f751
+15350a13d8360a13e8370a0efb1680aef7c6aef770a501b7def767de03ff00873333
+f7c715380aff0009199aff00244ccc15390a0efb169376f8b8cc967712beab13d0f7
+3ef8ab153a0a13b07b970513d03b0a13b03c0a0efb1681aef8baae12b9ce61d2f749
+d15cd413d8f77ef8d3153d0af73331153e0a13e43f0afb3bfc6015400a0efb167fa5
+f770aef7c6ae01bddef767de03ff014fccccf7b815410afffff6e668ffffdbb33315
+420a0efbfb9ef5f745f501d1f503d1f7f715210afbaf04210a0efbfbfb19a3f703e8
+f763f512d1f571b213f0d1f7f715430ac0fb9815440a13e8450a0e5ed4f7df01f71e
+f78315460a0e5ef723bdf708bd01f864f7c915470af819fb3a15470a0e5ed2f7df01
+f830f78015480a0efb3481f5f8a6ac12b9cfa9f546ace7de13ecf706f8d015490a13
+f4a9fca515430a0ef7c0fb32acf72cb6f7c9aaf73eaa01c6dbf71ad4f73dcff744db
+03f8cdf7d0158b697a587e6c6c425a52688b4c8b7cb78bbb8bc99ccbbebea9aab694
+9c8baf8ba8728b650899fb86158bff0006800092ff0021800091a608c7f7967c9056
+7e86730581a5699c6a8b0821fb13fb06fb2363a137ef1fae8bc1a8b7d5088d8a0583
+7284748b7c087b9272a8f76ed1f721f706f74ffb2ff722fb6bfb75fb4dfb41fb6bfb
+69f730fb3cf7831ef7058bc7aec7b9087e9d0555604d74368b08fb963ff76cf72af7
+81f73cf1f72cf711f74328fb62fb3a4c5c2589828d951f0eef89acf766b5f80b7701
+f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf78bad12f5e0f76cdc69e813f8
+f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0ebe81b4f8e2b001b0
+e6f84aac03f7f98115500a0ef589adf8d9ad01f5e0f807eb03f753df15510a60f8c5
+15520a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd
+15530a13af80540a136780550a13a780bbdb898b1f99bd9acd93befffff59998ff00
+05e666fffff48002ff00024ccdfffff2e666fffffccccd08137780560a0efb0289ac
+f7b8b1f788b36cac12f4e0f74cacb0aa13eef7aff7d715e08b8e748e5e9185a08b91
+918aa48aff001cb3348bff00224ccc8bff002180008cff001a80008ca58591768b85
+858854887e368b082ef74806c19795b71eb806f58ba463a146978b968d938efffffa
+ccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999aff00024cccff
+fffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ffffff66
+68ffffe74ccc8b08ffff00b3340613de570a0ee581aff783aff7d5af01b0ebf821e0
+03f80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8be8a4
+cfc5809486938b9608f708078bff002333339cff0009cccda88e91918ba38591738a
+728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666fffffbcccc
+ff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237f73df718
+f743ff00718000f70cff007480001ff7258bb438a535ff000b4cccffffff4cccff00
+0a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f9566aefb03
+8b080ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15580a0efbbe89acf8db
+ac01f5e003f753f70e15590a0efba5fb40b8f979ac01f721e003f776f89f155a0a0e
+b589acff0115e666ff00266666ff010ab334ac01f5e003f753f70e155b0a0e4889ac
+6cb2f8d3ac12f5e0f7afac1378f729165c0a13b85d0a13785e0a13b85f0a0ef78896
+7693acf8dbac121360ff0296b334f70815600a13a0610a0ef3967693acf8dbac12f1
+bcf829bc1378f8c0f89415620a13b8630a0ef681aff8e8af01b0ebf849eb03f7dff9
+0215640af7e3fbb915650a0e5589acf78fadf7c2ad01f3e0f775e803f751f8be15a8
+9aaed3d0d074fb13fb00575f2a1e728b638d808e0836f75e15fc25078b387a864588
+85858b769185b88cff00314ccd8cff0023b3338bff002366668bff003a999a8abd8a
+91918ba085913d8f738f8bde08f73e07a184a388ae8b08f74ac2f70be0c664f6fb4d
+1fffffd9b3338bffffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b7691
+85d1889c868b38080ef6fb65c4b1b7c7adf8ecad01b0ebf849eb03f7dff90215640a
+f7e3fbb915660a0e8381aa74acf798adf7b9ad12f3e0f76ce7133cf7a4f8fe15670a
+38fc8415680a13bc690a137c6a0a0efb0281aff8eaad01beff00476666ff00ed999a
+df03ff018a999af90b15ffffc6333293ff000233349effff9e66668bffff9a999a8b
+32488b218bffff96999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8
+e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ffffb033348bffff
+a2999a8bffffc3e666ff002a800075ff0063800008fffff3b3338ffffff56667ffff
+fe199afffff66666fffffae6668f3e8f71975aca8bff001be66674ff0058b3348bff
+002d80008bff002b199aff000b199aff0022ccccff0015b333ff00398000ff0023ff
+ffff00248000ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999aff
+ffad999aff001ee66608ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054
+199a8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe
+333498ff0000cccc9492fffffc8000bb87a7fffff5999ac0080e8d89acf8d3b2018e
+adf778e0f763ad03f7f2f70e15f81207cb95b1af1ea106d68bba719c3e968b998c94
+8f84b986be8ab88b8c898d8a8b6988fb03863c8b0835063e8bfb0a90658e898b8989
+8b8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a
+863b8885858b769185bc8cff0032e6668cff0028199a8bff002666668bff0032999a
+8abd8a91918ba085913b8e7a908bde080ecd81b4f8dbac01e2e0f7f6bc03f740f89f
+156b0a0ec49476f906ac01f854f8fa156c0a0ef7f89476f906ac01f9bef8c9156d0a
+0ecc89acf8dbac01f8aef1156e0a0e7789acf8dbac01f790e003f7e5f70e156f0a0e
+948bb1f8c8b6937712c8a9f85caa13d8f8bb8915700a13b8710a13d8720a0efb83fb
+55a9f9d8a901f700ce03f700fb5515f7680691918b9d8591fb1e96849a8be208f8f7
+078be2939af71d9591918b9d859108fb68060efbc8f9597601c2f94e155f8bf77afd
+7eb78b050efb83fb54a9f9d8a901f749ce03f78cf95415fb680685858b799185f71e
+80927c8b3408fcf7078b34837cfb1d8185858b79918508f768060e3ef7eef7c401f7
+04f7bb03f797f8e515730a0efb01fb2eb701f870fb0215fc660683838b6f938308f8
+660693938ba78393080efb5ff8aef73501ebf73203f746f94f15740a0efb1e81bb5b
+b4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a0e
+2581adf807b7f75ea9a67701d9daf769e103f742f7ff15780a84aa15790a0efb3b81
+bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a67712b2e1
+f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0efb2881bc
+f765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0efbb189acf7fbb2
+f77fad01ebdaf71fdc03f743f70e15810a0e2cfb82b0f751c8e2aaf785aa12abd062
+dd41c0f75adb9dc213f580f7d3f7ab15820afb4ffbb51596889b89988baa8ba78e99
+8bbd8bb58aa87bb275977d8b7108432165311e13f9806737a8cf1f8bad8da4a8ae08
+f7ccf821159e9d9d9fa0789b701f718b5b7a71697f936a9f508b0813f58032394f2f
+1f8b55a36ca7700813f380830a13f980556b6f5d8b600834dd70d8f71bf726ccf700
+1e8bab7ca46ea364ab458c668b798b728973887c8a818a868b0813f3806e6899b61f
+8b9f91a0979ca37da784b28be38bdcc28bed8bba7da66ea992959f99988b928b9288
+9182088f839881968b080e5289acf7f8bff75ea9a67701e3daf766da03f73bff011d
+e66615840a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb15850a13f4e6
+fc7115860a0efbd7fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f4
+99fbae15870a0e3889acf746a4f738acf766a9a67701e1da03e1f70e15880a0efbdf
+89acf8f6a9a67701eada03eaf70e15890a0ef75789acf7f8bf01e9daf753daf753da
+031438f73ef7fa15fffffeb333ff001db33489affffffb4ccdff000a4cccfffffde6
+66ff0004999afffffe199aff00036666838b6f807182468289858d7b8d85c1869686
+8b5108fb57078b397e86548785858b769185a98cb18cb38bb38bff001ecccd8aa98a
+91918ba08591ffffcd333390808f8bdd08f738078ba094ff000c4ccc93ff0008b334
+ff0027999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42
+078b398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82
+908bdd08f733078b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080e5689acf7f8bf01ebdaf760da03f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba094979394b1b0b8a1b28b9f
+8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab8cb38bb3
+8baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c97688b5a
+8bffffc84ccd7effffc4b33347080e3081aef80fae01b4e1f78ee103b4f761158a0a
+f759f75b158b0a0e3ffb7eacf753adf805b901dbdaf780e103f743f7df158c0a78b0
+15fffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a4cccfffffde666ff00
+04999afffffe199aff00036666838b6f807182468289858d7b8d85c18696868b5108
+fc3f078b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba0859144
+8f808f8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff0018
+8000fffff6199aff001ee666fffffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98b
+dc8bf540ed258bffffd180008b58ffffe18000ffffd88000ffffd3800008fffffa66
+66fffff9b334fffffb199aff0000b332ffffff8000ff0009999a080e2ffb7eacf753
+b7f807ad01aee1f775da03f7d6ff01706666158d0aa3fffe20999a158b3880874e88
+85858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e808f8bde08f8a407
+998796801e848bfffffa199afffff84cccfffff7e666fffff4b3347e7987887fff00
+07ccccffffe06666ff0014800064ff0008b334ffffd5999a8b08fb0e3127fb182eca
+fb10f7241fa68bff0020e666ff0005999aff0011199a95a2ff000d66668f8d8b7608
+0efb7389acf7eec901efda03f744f7fa15fffffe4ccdb3fffffe6666ff0019b334ff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8071
+82468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb2
+8cb38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2
+ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ffff
+f2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f746485
+80fffffb333393ffffffcccd90080efb6181acf813ac01c9d2f721d703bbf71e158f
+5a8e5c8b61958d958c908b928b918b9289a684a687b08bc38bf2a68bee8bff00444c
+cd5aff0027b33347ff0019333308ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8ba18bc583983691859f8c91918eaf8db08cac6c905b99578b0841
+485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffffea4ccdff000d4ccc
+fffff5b333ff000ab33475a280b785a48591788a8585080efbab81c2f7edb201e4da
+03b6f841158e0a0e4b81baf7fdac01e3daf758da03f76d8115b28bba9fbcb3908fff
+00094ccc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b93
+88ff00048000ff00008000ff00068000ff00028000a19dae9ac89291918b9a859108
+4b90829e8bbc08f75407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c8585
+8b769185bc88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a
+07a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b
+4a08fb540746a948ee1e0e299476f82eac01f7d9f822158f0a0ef72c9476f82eac01
+f75ff8221591918ba085916d8a688a678b658bffffe533338cffffe5cccd8c85858b
+769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082e6
+66fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b9391
+919a08ff00829998f7d105ff00106668ff0028e6669cff001c199abe8e91918ba085
+91778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3199afffff1
+e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7ccccff0014cccd
+08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a6d8b728b6a
+8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e666ffffd333
+3408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199aff00208000
+083bf76205ffffed199abb8c9bbb8e080e2289acf803ac01f74af7fa15900a0e3bfb
+7cdbf8baac01f760fb3415910a0efb3f8badf7fab001d2f84b15fffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a9fd4aaff00114ccca9ff0000b33408f7148e05
+47fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b8608849386
+9a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd7f8b
+087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb1906
+d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e84
+8b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00
+056666080efbd2fb68a3f83ba3f83ca312f5d349d513f0f746f8bc1586ff0066e668
+baff00111998b19691918b978591318b49638ffb050813e891fb4c058b5973554184
+82828c849383ff0049800082ff001a80005f894e0813f085fb3e0586fb16c36af08b
+91918b9785915f8bffffd78000bdff00048000df0813e893f72905ff00046666ff00
+524ccdffffd66667ff00278000ffffbc3333ff001c3333088f07ff00433333ff0013
+3334ff002a199aff001cccccfffffbb333e4080efc1afb6776fa367701dcb703f711
+fb7c15fa365ffe36070efbd2fb69a3f83ca3f83ba312e2d549d313e8ea511590ffff
+99199a5cffffeee666658085858b7f9185e58bcdb387f7050813f085f74c058bbda3
+c1d59294948a928393ffffb6800094ffffe58000b78dc80813e891f73e0590f71653
+ac268b85858b7f9185b78bff0028800059fffffb8000370813f083fb2905fffffb99
+9affffadb334ff00299999ffffd88000ff0043cccdffffe3cccc088707ffffbccccd
+ffffeccccdffffd5e666ffffe33333ff00044ccd32080efb26f769c691c601a59cf7
+f99c03a5f76515920a0efbed0efbc7fb6476f8c6f501e6f503f724fb7915930ac0f8
+fb15940a0efb169376ff0064b333ff002e6667ff015c999aff001fb334ff00609998
+7701ff00453333ff0051cccddcafff003accccff0052b33403f77cf8f715ffff9c33
+3407ffffac6666ffffef6666ffffb0cccdffffafe6668bffff884ccc8bffff8e4cce
+ff003acccdffffaee666f3fffff4cccd08ffff9a3333afff0064b33307ff0034b334
+ff00024cccff002f1998ff00146666ff002c999aff0049199afffffc3334ff000899
+9afffff86666ff0003b333fffff766668cffffdfb334ffffd63333ffffd7199affff
+eb199affffd719988bfffffc80008bfffffc999aff00003333fffffc999aff00004c
+cd08ff015c199a07ff00303334fffffcb33292ffffe0999aff00039998ffffe08000
+ff0002e668ffffe64cccff000d4cccfffff766689f8b9f8bff001a8000ff000c6666
+8bff001d80008bff00338000ffffcb6666ff0025b332ffffa7199aff0001199c08ff
+006099980767fffe2e4ccc15ffffd0e666ff00180001ffffde199aff003d33338bff
+005533348bff0058b332ff0020cccdff003a8000ff00303333ff000fccce080efb16
+80c290b5f765b2f774bb019bd7b8e003d5f7c015ca78068b30803b5060707c737b8b
+78087b9c7f9ea19d97a2969099ae1ee38b8c4fe58bcc8bbdafa3bf8792858e838c71
+675c836d8b468b96bafb108badabb3c58cf70b08f70006969890931f9f078f888d86
+1efb10d206e2b0cdb91ea18b9a80987f978094839a8b08a39c9ba4af5298741f568b
+5e746867545570558b3608775e0779857e831f8007868c89901e0efb16f70bb8f7ad
+b701b7cbf78acb03f700f7c515d6beccd5ccc34d3c405a4a41405bcbd81ef70ffb4e
+15b68bb298aea508bb56b1b354b905a4ac99b18bb58bb77db171ab08c5ba62b65a51
+0569a56598608b628b667f6872085bc16461c25f05706b7c648b5e8b609a64a66a08
+525eb660b8c305ad72b17eb58b080efb1689acf2b2d3b2f7b1ac01f753e003f753f7
+13158b337a86368885858b769185bf8cff0025199a8cff0038e6668bff0037cccc8b
+ff002233348ac08a91918ba08591368e7a908be30892f70e0796998f951f9e078f87
+8d871efb1fd3f70e0696998f951f9e078f878d871efb158be7f75f05acd48b8fc090
+91918da085916b8a798a7a8b7a8b6d8c6b8c85858b769185bd8788866b42083efb44
+898b20f770057aae968eaf8b91918ba085916b8a588a858b7d8b5f8c6b8c85858b76
+9185b487a0739d6508f6fb6ffb0b8b0579857e831f7f07868c8a901ef72143fb0f06
+798580831f7e07868c89901ef721060efc14dcbc03f716f936155afbfebc06fb2b04
+5afbfebc060efb0efb40aaf994aa12bdc173d058d8f70fd858d073c113e2ff007ccc
+cdff019f199a15ffffd3999affffdc199affffe1999affffd033328bffffbf999a8b
+fb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e81a1718b08
+70827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd199aff00234c
+cc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266668bf70f21
+b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a58b08a6949c
+a0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffffdcb33408ff
+00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffffe06666ff00
+1233330813e143b540b38be78bff00226666ff00106666ff00173334ff0019b334ff
+00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedccccd361d663
+8b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a080efb6cf8a4
+ea01bde9d6e903bdf8d315950af73d16950a0eefa2abeca8f791a2eeab01adb3e6c9
+f7e9b303f84bf76c15fffffb6666ff0006199afffffb6666ff00063333fffff63334
+ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d938b928c908e8c
+a38ca189b0778d7a98458b5b8bffffd2e666ffffecccccffffe3199affffdfb33473
+ffffe5199a7fffffdb999a8bffffd9cccc088bffffd36666ff00136666ffffd44ccd
+ff0022999affffe34ccdff001ab333ffffe9e666ff00249999fffff3199aff0026b3
+348bc28bb6ac9faa08fb0afb5515960af8a904970a0efbb4f7faabf772a401aabff7
+01c103f754f88a15980ab6fb2415990a0e57f730f76b159a0af748169a0a0e8ff7d7
+b701f887c103f887ee159e82ff00126668ff0002999aff00109998ff0006666608f7
+a0fc9507fffff94ccc798efffff2ccccff0003b334fffff3333408f85f060efb95f7
+73c701b3f79603f7a3f773152a0a0eefa2abf704a3eca3f701a3f703ab01adb3f739
+bae5c1f71eb303f80cf806155d797f6d1e61d6069d9a9ba4ad9b7a691efb05d4157b
+8b6d8c798c87878b7b8f87ab8893858b6b08fb28078b6b83856b8887878b7b8f879d
+8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e83918bab08c307908ba78a8f8808bb
+3b059c6ea3829f8b978b978d97908c918a92878f7b887bff0008333380ff0012cccd
+085bdd05aa95a5a48bb28ba977b8408b778b67897b8b08c5fc3815960af8a904970a
+0efb5af8a5b701c6f7ac03f7cff8a51598969d97918793811ffb88067f817a7f848e
+83941f0efbdcf82da9f721a901adadf717ad03f75bf890159b0afb398c159c0a0e5e
+b0bdf774bd01f78ebd03f78ef89c15280af769fc77159d0a0efbb4f800abf79aa912
+bac0efc97ba313f0d4f8df15958b998e8e9dff00014ccdff0007e668fffffd3333ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bab848b5c8b5573745e675b66
+65618b5b08f7620613e89e0a13f09f0a0efbb4f7faa9f71ca6f6a912b9bde5c66ac9
+13f8f74ef90415a00a13f4a10a13f8a20a0efb92f8b2f73401f743f95315a30a0e3b
+fb6976f774b8f8287712bdef2edaf762da13ecf7e8c7158d068e6f9b61c88b08bfaf
+b390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbd607746a
+5464548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb50078b
+5194588b6a0813f48b4c7b5c8b580862b3739ca39e9eb41e8bb669d18bcc8b90928f
+918b977ea581a68b08cb8bb6a5b2b7080e92fb7cacf9bfac01f7d1bddcbd03f803f8
+d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba15708b508d408b08
+fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff3999afffff5199a
+ffffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86088b788d8905
+bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b9087ff0002b333
+87ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008e6668ba908f9
+73078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d058fff00004ccc
+8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b080efbedf75b
+f70001d2f70003f711f75b15a40a0e55fb5ca8d6abcb7701f7e3c903f7c22b15a50a
+0efbb4f800a8f77d7601f729c103f71bf90015a60a0efb8af7c3a5f767a501b2c5f7
+30c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef718f70315bdab623b43
+6079704f71c8bcc1a3babd1f0e57f817f76b15a70afb4816a70a0ecc3aa8d1adf79b
+a8f7957701f726c1f7dcbf03f8c1f8ed15a80a45fffe6eb33415a90affff3a4ccd04
+8b627e88638986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff00
+1266688ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+66fffff39998ff0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000ff
+fffee664ffffff4ccdfffff0b334fffff6e666fffff4999cfffff4cccdfffff6fffe
+fffff58000ffffdce66662ffffd43334ffffcbcccdffffdeccccffffca3333fffffc
+999afffffa8000fffffcccce86fffffd1998fffff9b333fffffd666883fffffae666
+ffffebcccdff001a999a8b08ff0076cccc06fc20f8bd15a60a0ecc3cabf79aa9d1a8
+f7957712f728c1f75fc0efc97ba313fcf8a8f8ed15aa0afb23fc5515958b998e8e9d
+ff00014cccff0007e666fffffd3334ff000ccccdff00038000ff00084ccd90979794
+aa8b0813feab0a13fdff00088000ff001ab334ff00063334ff001f9999ff00044ccc
+ff0023b333fffffab334ff0003b33383ff0001999afffff54cccffffffb333806f7d
+646c8b08380694ac9aa6b5a90813feac0afbbdf83f15a60a0ecc3ca8d1adf791a9f7
+1ca6f077a5a912b7bde5c66ac9f798bf13fe40f8c6f8ed15a80a13ff40fc377715ad
+0a13fec0a10a13ff40a20af7f0fffe84b33415a90affff3a4ccd048b627e88638986
+838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f
+928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e666fffff39998ff
+0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000fffffee664ffffff
+4ccdfffff0b334fffff6e666fffff4999cfffff4cccd82fffff58000ffffdce66462
+ffffd43334ffffcbcccdffffdeccccffffca3333fffffc999afffffa8000fffffccc
+ce86fffffd1998fffff9b333fffffd666883fffffae666ffffebcccdff001a999a8b
+08ff0076cccc060efb34fb7aacf8a6f512b9dec3f545accecf13ecf7d5fb2315ae0a
+13f46df8a515af0a0eef89acf766b5f80b77dc7601f7b0f9c615b00afb22fc57154a
+0afbb1fb60154b0a0eef89acf766b5f80b77dc7601f835f9c815b10afb2efcad154a
+0afbb1fb60154b0a0eef89acf766b5f80b77d47601f80df9bc15b20afb06fca1154a
+0afbb1fb60154b0a0eef89acf766b5f80b77c3c089c212f869a613f4f83af97f15b3
+0a13ecb40a13f4b50afb33fc64154a0afbb1fb60154b0a0eef89acf766b5f80b779f
+eb12f755ebf721eb13dcf755f95615b60af78116b70afb3bfc3b154a0afbb1fb6015
+b80a13ecb90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001db334ff000e1998ff0014e666ff001de6688b
+ff0020800008ba61b15d5d61645d1e8bffffdb3334ff001accccffffdfccccff0022
+4ccefffff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885
+858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda
+6666ff0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0ef7a2
+89ac6cb2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb
+0afb4b0413b3c0bc0a1373c0bd0a13b3c0be0a137bc0bf0a13b7c0c00a1373c0c10a
+13b3c0c20a0ebefb5ca8d6abc1b4f8e2b001b0e6f7a4c9f3ac03f8032b15c30a0e65
+89ac6cb2f7b0b1f788b36cacd27612f4e0f74aacb2ac9bae1327c0f789f9c515b00a
+36fc081530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+6589ac6cb2f7b0b1f788b36cacd37612f4e0f74aacb2ac9bae1327c0f7f2f9c815b1
+0a46fc5f1530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0f7cff9bc15
+b20a69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12f4e054ebe8eb5bacb2ac9bae1324b0f7
+d8f9891513247071a175a51e1324b0a5a1a1a51f132470a575a1711e717575711f13
+2530fb5116b60af726fc2015133670530a13ae70540a136670550a13a670c50a1376
+70c60a0efbbe89acf8dbacd27601f5e003eef9c515c70a6efcf715590a0efbbe89ac
+f8dbacd27601f5e003f766f9c715b10a78fd4d15590a0efbbe89acf8dbaccb7601f5
+e003f739f9bc15b20aa5fd4215590a0efbbe89acf8dbacc9eb0191eb8fe08feb0314
+1cf757f98915b70afb5116b70af74dfd0f15590a0ef589adf793b2f7b3ad01f5e0f8
+07eb03f753df15c80a60f8c515c90a0ef3967693acf8dbacb8c089c212f1bcf7cda6
+ccbc1337f835f97d15b30a132fb40a1337b50af71ffb7d15ca0a1367cb0a13a7cc0a
+0ef681aff8e8afc97601b0ebf849eb03f7c4f9c715cd0a2dfb0515640af7e3fbb915
+650a0ef681aff8e8afc87601b0ebf849eb03f817f9c815b10a53fb5a15640af7e3fb
+b915650a0ef681aff8e8afc07601b0ebf849eb03f802f9bc15b20a68fb4e15640af7
+e3fbb915650a0ef681aff8e8afadc089c212b0ebf7d8a6e1eb13eef82ef97d15b30a
+13deb40a13eeb50a3cfb0f15640af7e3fbb915650a0ef681aff8e8af8beb12b0eb67
+ebf7cdeb6beb13a8ecf95615b60a13a4f82d16b60a13d2fb433715ce0af7e3fbb915
+650a0e5ef719f7cf01f708f7cf03f7c8f7b615f70ff70f68aefb0efb0ffb0ef70f67
+68f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050ef681aff8e8af01b0ebf849
+eb03f7007e15cf0af773f90f15d00af757ffff894ccc15d10a0ecd81b4f8dbacd376
+01e2e0f7f6bc03f7a8f9c615b00afb75fb67156b0a0ecd81b4f8dbacd27601e2e0f7
+f6bc03f829f9c715b10afb7dfbbc156b0a0ecd81b4f8dbaccb7601e2e0f7f6bc03f8
+04f9bc15b20afb58fbb1156b0a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d7
+8115d20a30f96115d30af72416d30a0e7789acf8dbacd37601f790e003f7fcf9c815
+b10a74fd4e156f0a0e4789acf70bacf7c7ace6ac01ede0f76de803f74bf87315a091
+bc909e8b08c6d070fb0cfb15416c431f658b738d828e084904b0079a86a587ae8b08
+f746c3f70ad6d268f701fb4d1f788b68896789088f078bde9c90d18e91918ba08591
+5a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080e5581
+ac72acf803acf77eac12e7daf756de6ae0137ce7f70e158b387f86528885858b7691
+85a98cb28cb38bad8ba98aa28a91918ba0859167907f8e8bde08f7d407f70097f707
+f3c0a466551e8b4265634857087e0713badf4bd2388b2e083062616d746d8ba91e8b
+9793948b9c089f8395777b7c787b5f9f57dfe7cbd9f41e8bf70826cf3cbf088d0713
+7cd1c0c5b98bd808bb5bca233cfb1153fb3962fffff4199a86ffffdbe6661e7e8b83
+70918508be06948e87831f0efb1e81bb5bb4f80bac12afde4bd8f735d91324f758f9
+3315740aa6fbcc15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f8
+0bac12afde4bd8f735d91324f788f93315d60abcfc4a15d40a1374d50adafb381513
+ac760a1374770a0efb1e81bb5bb4f80bac12afde4bd8f735d91324f77bf92815d70a
+c9fc3f15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f80bacdcc0
+89c212afde4bd8f735d962a6133080f7aff8d115b30a132880b40a133080b50a1365
+0095fbe815750adafb381513a300760a136500770a0efb1e81bb5bb4f80bace4ea12
+afde4bd85ae9d6e956d9133200def8d315d80a133100f73d16d80a137880b4fbea15
+750adafb381513b480760a137880770a0efb1e81bb5bb4f80bacc5abf5ab12afde4b
+d881b3ebb386d9133980f766f90f15d90a335615da0a137c40f73ffbf115750adafb
+381513ba40760a137d40770a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75d
+d7137bf79df81415db0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0efb3bfb5c
+a8d6abff00364ccdff0030b333f803ac12b0e1f71ec97ce213fcf7782b15e00a13fa
+e10a0efb2881bcf765adf70eac01b0dff75be103f766f93315740afb30fb9b157f0a
+dcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f7a2f93315a30afb26fc
+19157f0adcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f78df92815d7
+0afb11fc0e157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df75e9d6e9
+61e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb5415e40a
+13f9e50a0efbd889acf7f6a7a87701f1da03eef93315740a97fc3b15e60a0efbd889
+acf7f6a7a87701f1da03f737f93315a30a9dfcb915e60a0efbd889acf7f6a7a87701
+f1da03f721f92815d70ab3fcae15e60a0efbd889acf7f6a7a877f5ea1287e997da7b
+e913f887f8d315d80a13faf73d16d80a13fc9bfc5915860a0efb0181aff80eaef797
+7701ade1f787df03f78ca5154452e0f706d7a4f2f01fb68bae78a26e97608f5f8b5d
+08fb3647685c1efb6af74a1523d4fb06f710f704f3d9f73d1e8bf7264af70635e108
+799deccc75ab21440568a767a3689e087b7605a37aa277a075089b7b2244a16bf701
+d405b05da95ba1567295728f718b0839fb1851fb411f0e5689acf7f6a771bfdcc089
+c212ebdaf760da4aa61395f7eef8d115b30a138db40a1395b50afb36fb6b15e70a13
+c6e80a13a6e90a0e3081aef80fae01b4e1f78ee103f774f93315740afb91fbe8158a
+0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a2f93315a30afb79fc6615
+8a0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a0f92815ea0afb77fc5b
+158a0af759f75b158b0a0e3081aef80faedcc089c212b4e1f774a68ae113ecf7c4f8
+d115b30a13dcb40a13ecb50afb9bfc0415eb0a13caec0af759f75b158b0a0e3081ae
+f80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a13e4f73d16d80a13f2fb8d
+fc0615ed0af759f75b158b0a0e5eff004a999aff0058ccccff003e999abdff004299
+9aff0058cccc01ff00e1cccdff0058cccd03ff00e1cccdf81715ff00000001ffffe7
+b334ff00141999ffffebe666ff00184cce8b08ff00184cccff0014199aff0014199a
+ff00184cccff00184cccffffebe666ff0014199affffe7b334ffffe7b332ffffebe6
+67ffffebe666ffffe7b3341ffba004ff00000001ffffe7b333ff00141999ffffebe6
+67ff00184cce8b08ff00184cccff0014199aff00141999ff00184ccdff00184ccdff
+ffebe666ff00141999ffffe7b334ffffe7b332ffffebe667ffffebe667ffffe7b333
+1fff00ed3333f6159d0a0e3081aef80fae01b4e1f78ee103f832f85a15ee0afb4459
+15ef0aff0073cccc3715f00a0e4b81ba84a6f7e9ac12e3daf758da1338f76ff93315
+740a13b843fcbf15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12e3daf758da13
+38f7bdf93315d60a13b83bfd3d15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12
+e3daf758da1338f79bf92815d70a13b85dfd3215f10a1378f20a13b8f30a0e4b81ba
+84a6f7e9acecea12e3da5fe9d6e974da1334f70ff8d315d80a1332f73d16d80a13b5
+40fcdd15f10a1379f20a13b8f30a0e3bfb7cdbf8baac01f7cff93315a30afb03fdd3
+15910a0e2efb7eacf753adf805b9f75ea9a67701dfdaf76ce103f735f7b415d1ff00
+4a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218bfffff1cccd8b
+ffffe48000ff00013333ffffe3b333ff001866677fff000a666686ff000633338bff
+001fcccd083ef86115fd31078b3880864e8885858b769185b58ca58cb78bba8baa8a
+b68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb999aff0014
+cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8b8a6c88b
+dc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affffe6199808
+7cfffff0b334898b8ba108f75307cc8fb38b1e92878e821e7281407d638889838d7b
+9185bf8897908b37080e3bfb7cdbf8baacecea01f720e9d6e903f720f8d315950af7
+3d16950a22fd7315910a0eef89acf766b5f80b77efbd01f862f97615f40aa4fc5b15
+4a0afbb1fb60154b0a0efb1e81bb5bb4f80bacdabd12afde4bd8f735d91332f7d6f8
+9a15f40af757fbb115d40a137ad50adafb381513b6760a137a770a0eef89acf766b5
+f80b77c0bf01f772a7f76ca703f882f9b815f50afb7bfc9d154a0afbb1fb60154b0a
+0efb1e81bb5bb4f80bacc8c4e57712afde4bd84ea6f757d952a6133940edf91b15f6
+0a137c80f757fc3215750adafb381513ba80760a137c80770a0eeffb5cb1f734acf7
+66b5f80b7701f88bc903f951fb1b158792858f828b75757b7b6e8b08667ea0a5b9bc
+ced21f91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08c2f725059098
+918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bff000980008bff00094ccc8bff00
+093334ffffffe666ffffc3999870ffffdc6668ffffc6999a8bffffd680008b55b177
+bd8b08b48bb39fa8b808fc4af836154a0a0efb1efb5cb1f72cb4f80bac12afde4bd8
+f716c96cd913e4f860fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff0028
+199aff0019e666ff001d8000ff002fb334ff0028b333ff00174cccff00069999ff00
+146666ff000be667ff000db334ff000d3333fffffe4cccff000c4ccc87ff00086667
+fffff4b334ff00064ccd08fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b0813ea6e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b92
+8a92898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a0835760513f22b
+7346568b478b39c371d18bff0022cccd8bff001e333393b7ad089f9b8d8b05ff0005
+6666ffffe4199aff0009199affffe76666ff00266666fffffb4ccd0813e4ffffce4c
+ceffffdae667ffffddccccffffd933328bffffd7199a8b55b177bd8b08b48bb39fa8
+b80813f2fb3bf80415750a0ebe81b4f8e2b0c77601b0e6f84aac03f81cf9c715b10a
+68fdd115500a0efb3b81bcf803ac01b0e1f74de203f792f93315a30af724fcd8157a
+0a0ebe81b4f8e2b0c17601b0e6f84aac03f80cf9bd15b20a78fdc715500a0efb3b81
+bcf803ac01b0e1f74de203f783f92815d70af733fccd157a0a0ebe81b4f8e2b0b6f3
+01b0e6f744f3f732ac03f7c4f98515f7000ac0fd8f15500a0efb3b81bcf803acf701
+ef01b0e1c3efa8e203f747f8ec15f7010af76ffc91157a0a0ebe81b4f8e2b0c77601
+b0e6f84aac03f7e1f94d15f7020aa3fd5715500a0efb3b81bcf803acf7627701b0e1
+f74de203f75ef88a15f7030af758fc2f157a0a0ef589adf8d9add27601f5e0f807eb
+03f7b7f94d15f7020a27fcf915510a60f8c515520a0e4881ba84a6f7efaedb9ce5d3
+52a912b2e1f770daeab7133b80f88bf94e15f7040afb32fcd215f7050a13b380f706
+0a80fffef84ccc157c0a137b80a19dae9ac89291918b9a85914b90829e8bbc08f859
+07cc8fb38b1e92878e821e13b7807281407d638889838d7b9185bf8897908b3708fb
+1407848989841e878b629c6a8b498b5f756365606071508b418bfb0fc931f7008bb2
+8bb09fbcff00284ccc080ef589adf793b3f7b2ad01f5e0f807eb03f753df15f75ff7
+0407ff000c4ccc8dff000ab334ff000fcccc8bff0009999a8bff0004cccefffffc4c
+ccff00068000fffff6b334ff00014ccc08fb0ef78106aeae99bcf76cd2fb43fb2efb
+5efb0d59fb2129809fab1e60f8c515ffffdc4ccd8bffffcab3338c638c85858b7691
+85d1889c868b3808fb5845077ffffffdb33482fffff14ccc8bfffff666668bfffffa
+66668efffffa3334948908dafb39068b387a86458885858b769185b28cff00354ccd
+8cff0025b3338bb08bb589f28b08f721f74ecbf78af74efb2df72dfb541f448b5489
+648b080e3281ba84a6f7efaee9b3cfa9a67712b2e1f770da13bff7edf710157b0a80
+fffef84ccc157c0a137ff7070a13bf7e0a0e6589ac6cb2f7b0b1f788b36cacedbd12
+f4e0f74aacb2ac9bae1327c0f80bf97d15f40af716fc141530f748061337c0c40a13
+afc0540a1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacdcbd01b0
+dff75be103f7e5f89a15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f7
+88b36cacb6bf12f4e05da7f75cac7aa7a7ac9bae132570f834f9b715f7080afb1bfc
+4e151336b0530a13aeb0540a1366b0550a13a6b0c50a1376b0c60a0efb2881bcf765
+adf70eaccbc4e57712b0df6fa6f75ce145a613fa80f70cf91c15f60a8ffc0215e20a
+13f900e30adcfb5415e40a13fd00e50a0e6589ac6cb2f7b0b1f788b36cacc1f312f4
+e0a7f3bdacb2ac9bae1327e0f76ef98515f7090acafc1c1530f748061337e0c40a13
+afe0540a1367e0550a13a7e0c50a1377e0c60a0efb2881bcf765adf70eacf702ef01
+b0dfc6efb3e103f748f8eb15f7010a53fbd1157f0adcfb5415800a0e65fb5cb1f734
+ac6cb2f7b0b1f788b36cac12f4e0f702c995acb2ac9bae13d3e0f886fb1b15879285
+8f828b75757b7b6e8b08667ea0a5b9bcced21fffffffccccff0000333305ff0005cc
+ceffffffe666ff00036666ffffffe6668b8b99bd9acd93befffff5999891fffff480
+02ff00023333fffff2e666fffffccccd0813bbe0f70a0a13d7e0540a13b3e0b08cc7
+8cac8b08f76b06ff0009e6668bff000b4cceffffffe666ff000bb332ffffffe667ff
+ffc3b33470ffffdc6666ffffc699998bffffd6999a8b55b177bd8b08b48bb39fa8b8
+080efb28fb5cb1f72cbcf765adf70eac01b0dfc1c9dee103f809fb1b158792858f82
+8b75757b7b6e8b668b7ea08ba58bff002b6666a8ff001dccceff003f199aff00347f
+ffff001eccccff000f4ccdff0019999aa2ff00158000a7889585907f8c0866656e7b
+518b678b61a06cbe77ac7fb98bc508f79e890597929196df6de5fb1f34fb0538fb2c
+1f8b539955ac65ad63ba73d38bff0007999a8bff00076666ff00004ccdff00073334
+ff0000b333ffffce3332ffffdae666ffffdd999affffd9199a8b628b55b177bd8bb4
+8bb39fa8b808fb8df835157f0a0e6589ac6cb2f7b0b1f788b36cacd27612f4e0f74a
+acb2ac9bae1327c0f7a0f94d15f7020a98fbe41530f748061337c0c40a13afc0540a
+1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacf7637701b0dff75b
+e103f75bf88915f7030a40fb6f157f0adcfb5415800a0ee581aff783aff7d5afc076
+12b0ebf821e063ac13f8f813f9bc15b20a85fb2a15f70b0a13fcf70c0a13faf70d0a
+0e2cfb82b0f74ec455c8e2aaf785aa75b812abd062dd41c0f75adb9dc2139060f78a
+f92715d70ad4fc10152e5c78661e139960f70e0afb4ffbb51513d260f70f0a13b260
+f7100af7ccf82115f7110a139560f7120a13b960f7130a13b0e0830a13b260f7140a
+13d4e0f7150a0ee581aff783aff7d5afaebf12b0ebdea7f76ca7b5e063ac13fe00f8
+7cf9ba15f7080afb03fb2815f70b0a13ff00f70c0a13fe80f70d0a0e2cfb82b0f74e
+c455c8e2aaf785aa75b8aec4e57712abd062dd41c067a6f763db44a6c9c2139316f7
+04f91815f60a139b4af763fc0115820afb4ffbb51513d382f70f0a13b382f7100af7
+ccf82115f7110a139742f7120a13bb427f936a9f508b328b394f8b2f0813b3128b55
+a36ca7700813b322830a13b382f7140a13d72af7150a0ee581aff783aff7d5afb6f3
+12b0ebf73ff3f70ee063ac13fcf7c4f98515f7090ad42c15f70b0a13fef70c0a13fd
+f70d0a0e2cfb82b0f74ec455c8e2aaf785aa75b8e0ef12abd062dd41c0c6efb2db9d
+c2139238f748f8eb15850af71ffbd4152e5c78661e139ab8f70e0afb4ffbb51513d3
+38f70f0a13b338f7100af7ccf82115f7110a1396b8f7120a13bab8f7130a13b27883
+0a13b338f7140a13d678f7150a0ee5fb76a3daddaaaff783aff7d5af12b0ebf79db2
+e8e063ac13fe00f80b6215f7160a8df94f15f70b0a13ff00f70c0a13fe80f70d0a0e
+2cfb82b0f74ec455c8e2aaf785aa75b8bcdddb9f12abd062dd41c0b8adf70bdb9dc2
+13931cf778f89315f7170ae6fb7c152e5c78661e139b5cf70e0afb4ffbb51513d39c
+f70f0a13b39cf7100af7ccf82115f7110a13975cf7120a13bb5cf7130a13b33c830a
+13b39cf7140a13d73cf7150a0ef71b89acf7b6b5f78facc97601f5e0f7eae003f8fe
+f70e15580afb7cf94015b20a0e5289acf7f8bff75ea9a67701e3daf766da03ff0153
+4cccff0297e66815fffff66668ff00033330fffff66666ffffff3334fffff66666ff
+fffd999cffffe5e666ffffcfb330ffffd6999affffc74cd0ffffdf999a61ff000566
+66fffff69998ff00084ccdfffff9b334ff00081999fffffde666ff0023199aff0017
+199aff001bb334ff001c6664ff001cccccff0021999ca6ffffdf8000ff001d8000ff
+ffe49998ff00223334ffffe6ccceff000866668dff0009ccccff00088000ff000480
+00ff00074cce08ffffdf999ab5ffffd86666ff0037b330ffffe5e666ff00314cd008
+ffff53b334fffe85fffe15840a0ef71b89acf7b6b5f729adcfac01f5e0f7eae003f8
+fef70e15f81ac5adffffc6999807ff00036668c8ff00141998ff00044cccff003ee6
+68ff0002b33491918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c8585
+8b769185ff003ee666fffffd4cccff0014199afffffbb334ff000366684e08fffeab
+333206ff00036666c8ff0014199aff00044cccff003ee666ff0002b33491918ba085
+91658a628a588b598b628c658c85858b769185ff003ee666fffffd4cccff0014199a
+fffffbb334ff000366664e08ffffbf999a69ccfc1a068b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde0836
+f81a15fb29fbeaf729070e5289acf7f8bfe6b2d3a9a67701e3daf766da03f73bff01
+1de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff0032999aff
+0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a95ff
+ffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8cb38b
+b38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff00308000
+ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffffc419
+9a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000999af740
+ff00ae33338b8bb2fb428b8b9905cc8fb38b1e92878e821e7281407d638889838d7b
+9185ff0031cccdfffffd1998ff000d1999ff000480008cffffb6666808ffffc2199a
+64c9fc2c068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff
+0020cccd8aa78a91918ba08591ffffcd33338f828f8bde080efbbe89acf8dbacb7c0
+89c212f5e0d0a613ecf769f97c15b30a13dcb40a13ecb50a75fd0215590a0efbd889
+acf7f6a7a877edc089c212f1daff002d6666ff00184ccd13f6ff00b8199af8d115ff
+ffeee6668bfffff0b33392fffff1999a970813ee7999ffffec33339f708bffffd94c
+cc8bffffeb4cce64fffff3666650ff0005666685948aff0009e6678dff0008ffffac
+949aff001766678bff000f4ccd8bff0011199a83ff00103333800813f6ff0012e666
+7dff0012e66779ff0013cccc8bff002966678bff001a1999b2ff000acccdc7fffffa
+999a8f828efffff619998a08fffff3666761fffff6199981ffffec33348b08fffffc
+e666fc5715e60a0efbbe89acf8dbacedbd01f5e003f793f97d15f40af734fd031559
+0a0efbd889acf7f6a7a877ebbd01f1da03ff00dbe666f89a15ff000bb334ff0009e6
+66a09791fffffc666696821fffff35800006fffff6199afffff6199a777f84ff0003
+999980ff0008199a1fff00a2b333fc2015e60a0efbbe89acf8dbacb8bf0198a7cce0
+cda703f7b1f9b915f50a2dfd3f15590a0efbd889acf7f6a7a877dcc4e57701ff0003
+e666ff00184ccdff0049cccddaff0029999aff00184ccc03ff001c3333f91e15ffff
+e7b3337f05ff000c999a36ff002de66659ca8bff0035199a8bff0039999abcff000a
+cccce108ffffe7b33497058251ffffd699996bffffd133338bffffcf66678bffffd9
+4ccdb0fffff61999c008ff0098cccdfca415e60a0efbbefb5cb1f734acf8dbac12d4
+c96ee013f0f7a3fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+ff999aff0000800005ff0007e666ffffffcccdff0007ccccffffffe666ff0007b334
+ffffffcccd91918ba085910813e8458e7a908bde08f825078bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338cff00
+244ccd8bff00064ccd8bff0006cccd8bff00071999ffffffe6660813f0ffffc3999a
+ffffe5199affffdc3333ffffc680008bffffd680008b55b177bd8b08b48bb39fa8b8
+080efbd8fb5cb1f734acf7f6a7a877f711ef12c8c96aef33da13fcf797fb1b158792
+858f828b75757b7b6e8b08667ea0a5b9bcced21fffffffb333ff00004ccd05ff0003
+7fffffffffe667ff00036667ffffffe667ff00036666ffffffe66691918ba0859108
+13f94e8f808f8bde08ff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe38000
+80ffffd8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa19
+9a8b5208fb57078b3880884e8685858b769185ac8cb28cb38b08ff000f4ccd0613fc
+ffffc38001ffffe5199affffdc3333ffffc666668bffffd680008b55b177bd8b08b4
+8bb39fa8b80813fafb3df97215850a0efbbe89acf8dbacc1f312ecf32ce013f0ecf9
+8515f7090a13e8e9fd0b15f7180a0efbd889acf82f7701f1da03f749f70e15e60a0e
+8efb40b8f711acf8dbac01f5e0f77de003f891f89f15f7190afbd29e15590a0e56fb
+73b7f745acf7f6a7a877f711ef12e5ef33daf750ef35da13f900f805f8eb15850a13
+f88099fbae15870a13fc00fbb9f7ae15850a13fa00e6fc7115860a0efba5fb40b8f9
+79accb7601f721e003f759f9bc15b20aa8fbb1155a0a0efbd7fb73b7f8c8a7a87701
+f705da03f705f7d115f71a0ac1f7e915d70a0eb5fb76a3daddb2acff0115e666ff00
+266666ff010ab334ac01f5e0f74cb203f7f46215f7160afb35f737155b0a0e38fb76
+a3daddb2acf803acf766a9a67701e1daf710b203f79e6215f7160afb48f73715880a
+0e3f89acf746a4f738ac967712ebda869013e8f743f70e15ff0056e66607ff0011b3
+33ffffff6667ff000d199afffffe6666ff00093333fffffccccd96fffff88000ff00
+09199a82ff000be6667b08d42905ff001d6666ffffd88000ff0008999afffff08000
+8f7cff0000ccccfffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08a
+a98a91918ba08591698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f7
+3a05fffffc6666ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605
+a9abae93b38f91918ba08591668a7d8a678b658b748c668c85858b769185c387ffff
+e84cccffffdcb334fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ff
+ffeae666fffff06666ffffe6cccdfffff4999affffed4ccdfffffcb33308ff005699
+9907ff0031b3348fcb8b1e13d88f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185b58ca58cb78bae8b988ab68a91918ba08591086190818e8bde08
+0e4889ac6cb2f8d3acd27612f5e0f7afac133cf754f9c715f71b0a137c60fdc7155c
+0a13bc5d0a137c5e0a13bc5f0a0efbdf89acf8f6a9a67701eada03eaf70e15890af7
+00f7b415f71b0a0e48fb76a3daddb2ac6cb2f8d3ac12f5e0f701b2f71bac13cff7a9
+6215f7160a13dffb14b4155c0a13ef5d0a13df5e0a13ef5f0a0efbdffb76a3daddb2
+acf8f6a9a67712eada78b213fceaf70e15890ab0fcec156e7678731f8b70a4829c88
+0813fa9d8998878b778b7971735a808b828d829185c494bca98bc708bf73ad651e0e
+4889ac6cb2f8749cd9ac76d312f5e0f775b799ac132ff824f94e15f7040a1367fb8f
+fd4e155c0a13a75d0a13775e0a13a75f0a0efbc589acf87c9ce5d352a912eadaf6b7
+13ecf79df94e15f7040afb3efcd415f71c0a13dcf71d0a0e4889ac6cb2f788f3f777
+ac12f5e0edf3dcac133ef7b5f7e315f7090a137efb20fbe3155c0a13be5d0a137e5e
+0a13be5f0a0efbdf89acf7aeebf77ca9a67701eadab2ea03f769f7fc15739d74a9a6
+9fa1a4a673a174707673721efb0afb8215890a0e4889ac6cb2f8d3ac12f5e0f7afac
+13b8f7caf85515fb0bffffbc199a8bff008de666058bde9c90d18e91918ba085915e
+8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1
+889c868b38088bffff41999a26ffffc666669d6cdeff002f999a8bffff566666058b
+387a86458885858b769185081378f71e0a13b85d0a137877436650218b084c066479
+9ebe1f8bff00e76666f71dff004e999a050efbdf89acf82b77f773a9a67701eada03
+f787f84a1546ffffd780008bff00b9800005cc8fb38b1e92878e821e7281407d6388
+89838d7b9185c58791888b40088bffff30333432ffffcbcccc9c6ed3ff0029e6668b
+ffff42199a058b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba0
+85914e8e80908bde088bff00ebe666e1ff0032199a050ef3967693acf8dbacd37612
+f1bcf829bc133cf813f9c815b10af741fbc815ca0a137ccb0a13bccc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7cef93315d60afb16fbcd15e70a13d8e80a13b8e90a
+0ef3fb76a3daddbf7693acf8dbac12f1bcf77ab2f71cbc13cff7fa6215f7160af75a
+f8bd15ca0a13dfcb0a13efcc0a0e56fb76a3daddb2acf7f6a771bf12ebdaf701b2c3
+da13e7f7996215f7160a3ef82315e70a13f7e80a13efe90a0ef3967693acf8dbacd2
+7612f1bcf829bc133cf7dff94d15f7020af775fb4d15ca0a137ccb0a13bccc0a0e56
+89acf7f6a771bff7637712ebdaf760da139cf78af88b15f7030a4dfb2515e70a13dc
+e80a13bce90a0e5689acf7f6a771bfdb9ce5d312e3b774daf760da139dd3f94e15f7
+040af711fbe815e70a13dbe80a13bbb1b0b8a1b28b9f8ba07e977495778d708b6d08
+fb2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba0869153
+90808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccc7effffc4b334
+47080ef716fb40b8f711acf8cfc35fac12f5e0f7e5e513dcf74af91b15828a7f8a7e
+8b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08ff0144800007ff00
+02b333ff0010ccccff00084ccdff000c666892ff00084ccc0813ecc0cacbc2bd8bb9
+8bb081a664ff0019ccccffffdaccccff00103334ffffb433348b2608fb9607fb4857
+6f6a1e7d8b7d938495819887a06c8b087d6d767567c079a11fb88bff001ee666ff00
+083333ff0029199aff0022cccdff002be668ff00253333ff003f1998ff003dcccd8b
+f72308f76c078bf719ffffe99998ff00564cccffffd66668ff0030b33468b45e9f4d
+8b318b4951533c088b85fffff88000881eff0012800007cc8fb38b1e92878e821e0e
+48fb73b7f745acf7f6a771bf12ebdaf760da13ecf743f7fa158bb3fffffcb333ff00
+19b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff0003666683
+8b6f806e82468289858d7b8d85c18696868b5108fb57078b3981874f8685858b7691
+85b48ca58cb68bb28b9d8ab58a91918ba085915890828f8bdd08f738078ba0949793
+940813dcb1b0b8a1b28b9f8ba07e977495778d708b6d08fb5a07fb1887fb0f591e80
+8b7e8f849281957f9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf751
+08f735078bc287bb74aa7aa16c97688b5a8b557e4e4708888785818b99080ef681af
+f8e8afe2bd01b0ebf849eb03f85ef97d15f40aecfb0f15640af7e3fbb915650a0e30
+81aef80faedabd01b4e1f78ee103f7fcf89a15f40a2cfbcd158a0af759f75b158b0a
+0ef681aff8e8afadbf01b0ebe0a7f76ca7dbeb03f87ef9b915f50afb33fb4b15640a
+f7e3fbb915650a0e3081aef80faec6c4e57712b4e174a6f76ca68ee113f7f717f919
+15f60a13fb31fc4c15ed0af759f75b158b0a0ef681aff8e8afc07601b0ebf849eb03
+f88bf9ac15f71f0afb179015f7200a62fb4315640af7e3fbb915650a0e3081aef80f
+aef7667601b4e1f78ee103f821f8f715f7210afb189115f7220afb74fc30158a0af7
+59f75b158b0a0ef7a689ad6bb2f7b9adf783b312b5e9f7aee0f734a4eaa613bff7f8
+ab1524fb09e3f763f76af0d1ec1fae06b196856c1ffc8a076f827f631e806915137f
+8bc98db31ef7ec8ba5f7347090057c426e564a8b08fb2f06757d91a61ff798f207ad
+8b967b916f08916c05878e88901ea28b8d8e0588ab86a88bae8bac91a98dab088d8a
+8d891e7506878887871f846d05846f837b678b0824f76306a39793a31ef72b06bf8b
+ad50926008a68e7df71ffb958b3d8b055f458c8b1ffb4efb0bfb28fb481f8bfb48f7
+14fb1ff7508a080ef74b81ba5caef773b2f70bac12ade1f78bdef761e1137ef82df7
+f1156fba66b6268b08fb03293efb30fb0fde2ef70e1fd98bbdaeafc10813bea75cbb
+61e78bea8bb9bfa1a9fffffacccc93fffff9b334ff00066666fffff58000ff000099
+9a6c6a4e7a658b648b2eba8bf71a8b958b968c9408f7b606f70956d5fb0a1e478b50
+63695908fbb5fb0415d09eeff2b7dc57fb2e1e137efb2148695c2e63f0f7031ef8ab
+bd15fb5d068d9ba5f1e18bd78b953e8c62080e8381aa74acf798adf7b9adce7612f3
+e0f76ce7133ef7ccf9c815b10a63fb5e15670a38fc8415680a13be690a137e6a0a0e
+fb7389acf7eec955a712efda1390f785f93315d60a4afbcd15f7230a13b0f7240a13
+d0f7250a0e83fb76a3daddaaaa74acf798adf7b9ad12f3e0f724b2ace713cf80f7ca
+6215f7160a65f92715670a38fc8415680a13ef80690a13df806a0a0efb73fb76a3da
+ddb2acf7eec955a712efda78b213e2f71d6215f7160ab2f82315f7230a13ecf7240a
+13f4f7250a0e8381aa74acf798adf7b9adcd7612f3e0f76ce7133ef788f94d15f702
+0aa73c15670a38fc8415680a13be690a137e6a0a0efb7389acf7eec955a7f77d7712
+efda1398f743f88b15f7030a8cfb2515f7230a13b8f7240a13d8f7250a0efb0281af
+f8eaadc87612a6ff00208000fffff78000ff00476666ff00ed999adf4bff00208000
+13e0f7aef9c815b10aff0070b334fb5115f7260a13ecf7270a13f4f7280a13eaf729
+0a0efb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b
+0a13aaf72c0a13b4f72d0af747f8a915ffffb46666fb0b05fffff7e667fffff33334
+fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f7010513228896
+0574a1ffffe666668cfffff9999a8b868b858a888a080efb0281aff8eaadc77612a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff0020800013e0f78cf9c315
+b20aff0092b334fb4c15f7260a13ecf7270a13f4f7280a13eaf7290a0efb6181ac89
+76f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13aaf72c0a13
+b4f72d0af737f89e15d70a0efb02fb5ca8d6abff00368000ff00238000f8eaad12a6
+ff00208000fffff78000ff00476666ff0082999ac9b8df4bff0020800013f700f770
+2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908ff00156666ff00394ccc05ff0028ccceff0001e667ff
+00264cccff000ae667ff001f8000ff0013b333ff00398000ff0023ffffff00248000
+ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999affffad999aff00
+1ee666ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a8bc3ff0032
+999ac3ff003ae6668b0813f680ff0061199a8baa4d9f49ff000a8000fffffe333498
+ff0000cccc9492fffffc8000bb87a7fffff5b334c0ffffc6333293ff0002199a9eff
+ff9e4ccd8bffff9ab3338b32488b218bffff96999aff00568000ffffcfe666e3ffff
+de80000813fb00ff003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b
+3affffd2cccc61ffffb033348bffffa280008b4fff002a800075ff00638000fffff3
+b3338ffffff56667fffffe199afffff66666fffffae6668f3e8f71975aff0039999a
+8bff001c3333ffffeccccdff00483333fffffcb3330867ffffa980009185059b9095
+8c9e8b080efb61fb5ca8d6abe076f82aac12bbaa7ad2dfc986d755ab13f800bbf71e
+158f5a8e5c8b61958d958c908b928b918b9289ff00156666fffffa8000ff00154ccd
+fffffc4ccdff001a4ccdfffffeb3330813f60067ffffa980009185059b90958c9e8b
+08a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b1
+6ca3631f828b828a838908ff00156666ff003966660513f500ff00398000ff0003b3
+34ff0059199aff001dcccc8bff005c199a8bff00444ccd5aff0027b33347ff001933
+33ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b0813f480f7
+2c0a13f900f72d0a0efb0281aff8eaadc77612a6ff00208000fffff78000ff004766
+66ff00ed999adf4bff0020800013e0f76bf94d15f7020aff00b3b3344915f7260a13
+ecf7270a13f4f7280a13eaf7290a0efb6181ac8976f82aacf7627712bbaa7ad2f721
+d755ab137abbf71e15f72a0a13b6f72b0a13b5f72c0a13baf72d0af70df80015f703
+0a0e8dfb5ca8d6abc9acf86ef7285cb2128eadf778e083c9f72dad13ed80f7c92b15
+a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16c
+a3631f828b828a838908a4ff0042e66605ff00224cccffffffb334ff00288000ffff
+ff3333ff00283334ffffff333391918ba085910813ee803b8e7a908bde08f81207cb
+95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813f680f72e0a13ee80
+f72f0a13f680f7300a13ee809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b
+8885858b769185b8ff0000e666ff002e999a8cff00266666ff0000199a08632b9185
+059b90958c9e8b080efbabfb5ca8d6abf85ab201e4daacc903f73c2b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff0015e666ff003a999a05ff00278000ff0005ccccff0028b334ff0015
+8000ff0020e666ff0025199a89ff000a4ccd85ff0005b333818c71776d83718b0870
+85a9c91ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff00066668
+88ff00026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333ff
+fffae664fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc8000
+7ffffffc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91
+199a085dffffffe666057d877f831f7e07868c8a8f1ec6fbc1068bffffbfcccdff00
+1966666eff0026cccd8608ffffdbcccdffffa933339185059b90958c9e8b080e8d89
+acf86ef7285cb2d476128eadf778e0f763ad139ef7a9f94d15f7020ad4fcd315f812
+0713bef7310a13def72e0a13bef72f0a13def7300a13bef7320a0efb7181c2f7edb2
+e59ce5d301e4daf706b703f79ef94e15f7040afb73fba1158e0a0e8d89acf7b6b2f7
+25f7285cb2128eadf778e0f763ad13def7f2f70e15f75bf7130797949a9690889382
+1ffb1cf72406cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813ee
+f72e0a13def72f0a13eef7300a13de9fdbb9a5cd8b08bc06b095654e1ffb27fb0807
+82817c81858e83931ff710fb5b068b387a863b8885858b769185bc8cff0032e6668c
+ff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e7a908bde08
+0efbab81c2f75cb2f5b201e4da03b6f841157d877f831f7e07868c8a8f1ec6215806
+82817c81858e83931fc6fb300644aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff700e60797949a96908893821f27f5f30695
+998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb
+4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333
+fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881ffff
+fc999c8bfffff919988bfffff466688eff000699988bffff91199a080ecd81b4f8db
+acb8c089c212e2e0f7b4a6b2bc13eef831f97d15b30a13deb40a13eeb50afb85fb72
+156b0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61335f7d8f8d115b30a13
+2db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbacecbd01e2
+e0f7f6bc03f859f97c15f40a52fb71156b0a0e4b81ba84a6f7e9ace2bd12e3daf758
+da133cf7fff89a15f40a13bcd9fca415f10a137cf20a13bcf30a0ecd81b4f8dbacb7
+bf01e2e0b3a7f76ca7b5bc03f878f9b815f50afbccfbad156b0a0e4b81ba84a6f7e9
+accfc4e57712e3da56a6f76ca676da133b00f721f91a15f60a13bc80d7fd2415f10a
+137c80f20a13bc80f30a0ecd81b4f8dbac82abf5ab12e2e0e2b3ebb3e6bc13bff7ef
+f99c15d90a335615da0a34fb5c1513df6b0a0e4b81ba84a6f7e9acceabf5ab12e3da
+7eb3ebb3acda133b80f786f91015d90a335615da0a13bd80cafce515f10a137d80f2
+0a13bd80f30a0ecd81b4f8dbaccb7601e2e0f7f6bc03f896f9ac15f71f0afb179015
+f7200afb67fba6156b0a0e4b81ba84a6f7e9acf76e7612e3daf758da133cf83bf8f7
+15f7210afb189115f7220a13bc41fd0715f10a137cf20a13bcf30a0ecdfb5cb1f72c
+b4f8dbac01e2e0f714c9f738bc03f886fb1b158792858f828b75757b7b6e8b668b7e
+a08ba58bff002f8000ff0022ccccff001f3334ff004c4cceff003e9999ff004f3332
+ff0031e666ff0016b334ff0061999a8bff0079333308f778078bff00504ccc9cff00
+03b334c79291918ba08591658affffd733348affffe8cccc8bffffea80008bffffcf
+80008c5d8c85858b769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0012199affffe1e666ff001ce6665aba89d78bcc08f795078bde9a90d88e91
+918ba085915c8affffcf66668affffd8999a8b648b628c648c85858b769185c7889c
+868b3808fbb607fb60ff0083800064ff006680001eff0019999a8bff0017199a8dff
+0014e666ff0003cccdffffcab332ffffd96667ffffdab334ffffd799998bffffd533
+338b55b177bd8bb48bb39fa8b8080e4bfb5cb1f72cba84a6f7e9ac12e3daf71cc989
+da13bcf889fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff00274ccdff00
+10ccccff003a4ccdff00326668a7ff00148000ff00088000ff001ab332ff0006cccc
+ff0023999aff0004199a91918b9a85910813da4b90829e8bbc08f75407a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b
+7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a
+7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1eb28bba9fbc
+b3908fff00094ccc8dff0000b33484ff00016666fffff233338effffefcccdff0002
+999afffff4199a0813bcffffcd4cccffffdb4cccffffebb334538bffffd7999a8b55
+b177bd8b08b48bb39fa8b8080ef7f89476f906accb7601f870f9bc15fffff0999aff
+0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d828e859485b19c
+ab9cb0a6ac72ad79b279ff00091998ff0003ccccff0004199cff0008199cff0002cc
+ccff000919980867a666ad6daf08f7e2fb87156d0a0ef72c9476f82eac01f813f927
+15f7330afb48fb9915f7340a0e7789acf8dbaccb7601f790e003f7ccf9bc15b20aa4
+fd42156f0a0e3bfb7cdbf8baac01f7b7f92815f7330a34fdc815910a0e7789acf8db
+acc4ea12f743e97ae092e913f4f743f98315d80af73d16950a13ec84fd0915f7350a
+0e948bb1f8c8b69377e17612c8a913d8f8bb8915700a13b8710a13d8720afb5ff9ca
+15b10a0efb3f8badf7fab0957712bdac1390f794f93315d60a13b0fb4dfb7c15f736
+0a13d0f7370a0e948bb1f8c8b69377ccf312c8a9f73bf3139cf796f98215f7090af7
+b9fd8415f7380a13dcf7390a13bc710a13dc720a0efb3f8badf7fab09577f714ef12
+bdacddef139cf739f8eb15850a13bc2dfb3415f7360a13dcf7370a0e948bb1f8c8b6
+9377e07612c8a91398f7acf94d15f7020af7a3fd4f15f7380a13d8f7390a13b8710a
+13d8720a0efb3f8badf7fab09577f7757712bdac1398f750f88915f7030a13b8fb09
+4d15f7360a13d8f7370a0efbc489acf800adf77fad01e8daf3dc03f740f70e15f7f4
+07f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d75
+97628b0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95
+078b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80
+908bde080e2581adf807b7d7b2e2a9a67701d9daf769e103f742f7ff15780a84aa15
+fffff9b333fffffa4cccfffffc4ccdff0001b3348b9408f708e40797949a96908893
+821f29a806cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b3708
+86560782817c81858e83931fc8fc50068b648a79887d90839087978bff0006199aff
+0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96ff
+fff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70b
+e8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080eba89adf7c0adf71476
+ff008e4cccff001fb3341290cbecdcf76ed86de413fdff007b999aff02674ccc15ff
+00176668ffffffb3349efffff64ccc8bffffe0b33408fc8b078b68fffff5b333ffff
+fbcccdffffd64ccdfffffd3333086d890586ffffffb33389fffffd4ccd8b86088b78
+8d8905ba8cb48cb28bb38b9989e48bf75b8bc0ef8be18beb4ac234a4088d0713feff
+0032199aff00196666ff002ae666ff00334cce8bff00364ccc8bce6ee2fb4e8b688b
+5d89638b648bff00064ccd8dffffeeb3338b0829563a53779a7aa09b9e95a51f8bff
+0010b33484978bff00104ccc088bff001d4ccca2ff001fb334ff001f999aff00004c
+cc08ff007b6666fffee4b33415d00613fdf71dc63e31426d4ffb2c457e98ac1ff880
+04ac8b95e21e13fec3d66d25364e6d381f41060e7f89acf7c2b3f77cb36cac12f1e0
+f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf73c0a13dc898d0513ec8b
+3a89771efb7d0613dcf73d0a0e2381adf807b7f76bad12d5daf76bdd43aa13f8f72d
+c115f7bf07b2b3bf8d968b08c8bf4525fb065b362c1f6c8b769077a408b4f90e153a
+8b4f835b83088d7405878d8a8e1eab89059ffffffeb33495fffffa4ccc8b5208fc8f
+078b648b7b887408a0860594959c999498a872ab81b68b08f1f709e2f733f70e33dc
+341f5b8b6379696608f7a2f71b0713f4c08ba44c975d08aa8e7df720050e7489acf7
+c2b3f7b17701f5dcf798e503f74ff7e115f73a0a3af81a15fc1d078b6ffffff34ccd
+fffff2199affffd6b333fffffce6660870890587ffffffb33388fffffd4ccd8b8608
+8b748d89058be88dae1ea98baa89b88bdc8bcd90c4b1ff00298000ff001b999aff00
+258000ff003699998bff0040cccd08d766f701fb601efb01f73e06cc8eb38b1e9280
+8e821e56676e7f5780fffff54ccdfffff4b3348bfffff49998ff000ab333fffff4b3
+34bb7da1798b4d080efb0281adf808b6f7977701ddd5f76cd803f730cc15f7b507b3
+b4bf8c958b08c9bf4625fb065a342d1f6c8b759c77a30881f90d1556676e7f5780ff
+fff54ccdfffff4b3348bfffff49998ff000ab333fffff4b334bb7da1798b4d08fc4a
+078b648a7b8973ff0006b333fffffc4ccdff00064ccdfffffeb333928b9495999a93
+97a972aa80b68b08f1f705e4f733f70e38da341f5a8b637a696608f75a07cc8eb38b
+1e92878e821e0ebe81b0f8e2b401baacf84ae603f7b5f926152a8b325d4732908292
+85968bd2d9cfaae88bff0086999a8bff005d6666fb2c8bfb268bffffa9b333ffffe9
+199affffb83333ffffdb8000ffffd3199affffce66664e516f578b08fb1e8b54dd71
+e17f8ffffff64ccc88fffff4b334859057925b9554be86b863f70f8be08bd2aac6c1
+ff00426668ff003ccccdff00279998ff0061e6668bff00684ccd08ff00adcccc22ff
+00923334fb6b1e0ebe7fb5f8c476bfb099d201b0e2f841a503f92df97b15ffffdb66
+688bffffba1998ffffd88000fffff76668ffffab1998ffffd59998ff000c6668ffff
+cf999aa6ffff9ae6668b368b446c5055ffffbd999affffc33334ffffd86666ffff9e
+19988bffff97b3348bffff523333f4ffff6dcccdf76b8bec8be4b9cfe40886948491
+808b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e6
+66ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8bf71e8bc239a53508
+9787ff0009b3348eff000b4ccc9186bf84bb81c208ffffffe66806ff000633308bff
+0025b334c6ff001e33348b08a2a68faa9783a36f1f0e2581bcf803ac89c912b0e1f7
+4de213b8f85cf84015a09899a09983a1691fffffdd80008bffffcb3334ffffea8000
+6fffffc9e6660813d8ffffe7e66695ffffe18000ff0005999affffdbe6668b082821
+32fb22fb15d332f7121fc78bc09ebddd8794838f828c695f6075608b08424ed5f709
+f702bbcdcd1fc68b93688f688e709982a08ba08ba7988baa8ba5fffff33334ff0016
+999affffe88000ff0010b3320813b8ff000a19989bff000eccceff000bb334ff0014
+66668b089c8b9e829b8b080ef589adf793b2f7b3ad01f5e0f807eb03f753df15c80a
+60f8c515c90a0ef74b89adf8d9ad018dcaf70edcf80be703f7a0d815f88107aeae93
+bcf76cd6fb43fb2efb5efb1159fb21298098ab1efb3e54158b758d8905ba8cb38cb3
+8bb28bb289f28b08f721f74ecbf78af74efb2df72dfb541f4b8b5089638b678bffff
+ea66668dfffff1999a8bffff8e199affffffb334ffffd8e666ffffa84ccc8b60086a
+a0839b9f9998a01e8bff0013999883ff0009ccd08bff001399988bff00234cccabff
+0010b334ff00216666ff00024cccff001b999aff0002b334a8828b6508fc7e078b6b
+ffffeee666fffff54cccffffdd199afffffdb334086d890587ffffffb33388fffffc
+4ccd8b86080e6b89adf7cfadf776b170a8967712b5e45ba5f7abdc13c5f818d9156a
+7e7e452147bef707d4a9d7f71e1ee40613e534f79815e28b876a1ffb514d07fb4924
+5afb30fb0ff70054f7011fcd8bb18dcd8bb78ba58ab78a08a3078e8a8d881e6d8e05
+6f8e7f978bab08f884078bb0948daa8e0813d3a98e058e8c8c8e1f8ba40513e3fb07
+89fb6e8b0513cb5e8b66906c93087dfb2da5880513e5a5e4b09bbb8b080e3781ba84
+a6f7efaef76bad957712b7e15ea5f783da13a5f7f2f710157b0a132bd1f814151333
+7582748b808a08fb3306132b4f8b788f7091087dfb2aa5880513b597b9a9cabf8b08
+f70e069d9086781ffb5b07848989841e878b629c6a8b498b5f756365606071508b41
+8bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00073334ff
+0001cccd8b84087396688b1e93888e8c938d081373a19db19ac89291918b9a85914b
+90829e8bbc08f85907cc8fb38b1e92878e821e0e22fb7facf8f3ad01addaf762bf94
+d803f77ca3156da40554b769d48bbe08f737dca4bee8b5fb023a1e8bfb06435a4873
+08937b05968215e4aaf700cb8bf71a08f7093de6fb0f21fb0845fb371e8b34bc57dc
+4c08d25305af6fbb638b758b606b7a578b718b6e9977b178af7593818b087d73836e
+6acb50eed1cea6d71f8bb554ba65a9080e6889a870b2f7b4adf788b271a812f71dad
+f754dc1376d0f919157dfb20a6880592b6adc7bf8b08f72c06a39783731ffb68fb1c
+07678b839b84a70884a9058f888f871e7506898a89891f8e7290668b6a8b69855e89
+7a088d88a28b05908e8f8e1f91aa0591a8969aad8b08f71cfb9306707d85751efb38
+06498b6fc07bd4087186a4fb34f7a68bd98b0513aef715898ba1058e8a8f841e6e06
+637f9ca71ff88807aa999ab11ea806928c8f8e1f8ba0fb168a050ebc7fadf756b7f8
+00ad01f89de503ecf89f15f73e0abbfbdf15f73f0a0e3d7fadf7c4b2f797ad12b1e0
+5bd213e8f7bbf9261522fb0756fb051f8b31d863a9800813f047783f518bfb008bfb
+25f71c6af28bdb8bb8a5c394089cf7246d8e0573fb013764468b083d49b7f70ccca9
+d6f61fec0696919198968594801f470613e8fb076ee0bddec8b4db1fee8ba24b9d3b
+08aa9078f72305589075a4448b080efb0afb40b8f856b1d677f751b370a812f0dcf7
+48acb6a813f7f0dc15fb48586f6a1e7d8bfffff94ccd93fffff8b33395fffff64ccd
+ff000d3333fffff4b333ff000dcccd6c8b087d737d7567b579a11fa48bb78cb8b1c5
+b9bac98bf71408f770f71307ad8b98828e6e088e7205888d86901ea18b8f8e0588b3
+8aa68b9f8b9f8ca98eb308878f758b05878887871f887205886f7f7d688b08fb13f7
+6606a39795a31ef406d68b9d63a14608a89005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd
+99988bffffee8000fffffc9998fffffab334ffffff6668ffffe7cccc8b08ffff02b3
+340613ef648b628c5c8c0813f789898b770513ef8b888cfffffc800092ffffff8000
+08a98905ff00266666fffffd6668ff000c999afffff499988b6c080efb2ffb7caff8
+deb2f784a8016dcef7d8d203f741f81a157ffb040577fb4e91fbb4338b758b929f84
+9785998093798b08777f787c78a966c31ff70c8b9bf764bdf822088d9bf18b059499
+8f941f9f078f888d861efb038b99f7040598f5a9a19d8ba28b95688e7b8e789b859f
+8b089f979c9fa871b23b1f518b4d4878fb28876e7c72678b08670679867f831f7e07
+868c8a8f1e0ef71281aff783aff7d5af99d212b0ebf821e063ac13fcf932f97b15ff
+ffdbb3348bffffbab334ffffd8e668fffff6b330ffffac4cccffffd2b33499ffffd6
+b334ff0017ccccffffa480008b08fb3bfb41fb17fb70ffff4c3333f710ffff76cccd
+f7531ff70a8be8a4cfc5809486938b9608f708078bff002333339cff0009cccda88e
+91918ba38591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff00
+36e666fffffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b
+08fb3237f73df718f743ff00718000f70cff007480001f13faf7258bb438a535ff00
+0b4cccffffff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb80
+00b37bd3ffffff1998ff00003334ffffff199cff00001998ffffff1998ff00003334
+ff0003e668ff001b6668ff000d3334ff001a3330ff001c9998ff0004e6688d8c8e8b
+8e8b08908b938a928b08a2a68faa1f9783a36f1e0ea1fb7cb6f9bba801f754bbcdd4
+03f7b777159a648b608b75086c7c6974798197a61e8b9ba0d0a9b808f759f8e415fb
+39fc4f888bfb2ef84d0588938a918b918b9bff000d6666ff0005e668ff0022999aff
+00041998089c8d05908c8e8d8b90088b9e898d058b32896864478d8b1e89898b7805
+8b868ffffffd66688fffffff9998ad88a486996308f751fcaa055c336c518b59086a
+a064c1cdb9c1d01e8bb281c472d508f754f8930598ae9c93b68e90ff00004ccc8eff
+0002b3348b90088b9e898d058b57896864428d8b1e89898b7805868f888f1e9d8905
+ff00318000fffffa8000ff000a4cccfffff8e668fffff43334ffffe09998080ef70b
+81ba64acf7e2d557bff75ea9a67712e1daf756daf75bb1139f80f7bef81715b49f7f
+3b1ffb34078c2fba56f38b08dbdfd7f74b1f13af80f70c6ed146707d78791e8b6ca9
+86978aa886a9708b2b08295825405c71a8cd1ef72c07135f80f265bf441effffcee6
+668bffffd3199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff
+0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fc49078b38fffff4333387518785858b769185ff002933338cff0019999a8cb6
+8bb28bff0011b3338aff002a199a8a91918ba08591ffffcd33338f828f8bde08ff00
+a3e666078bff0015199a94ff000c4ccc93ff0008b33408b1ff00254cccff0026999a
+ff0015b334ff002766668b080efbc581c2f8eaa8a57701e5d603e5f8c715fc6e0744
+a66fb91eb88bafa1b2b7fffffcb3349485ff0005999afffff74cccff000266667177
+7c83718b087085a9c91ff85207cc8eb38b1e92878e821effffe6e66681ffffba999a
+7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08
+ab89059f957e4a1f0efbbe89acf7b6b2f792ac01f5e003f753f70e15f75bce079794
+9a96908893821f3ff737068bde9c90d18e91918ba085915f8affffd080008affffd9
+80008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fb374607
+82817c81858e83931fd8fb5b068b387a86458885858b769185b88cff0030b3338cff
+00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080eb5
+8aa8f7aeadf7a6a874ad12f5dc13d8f822f87315ff0036199aff00459998ff0038e6
+66ff00486668a78bc28b7d3cb98b089f9f9ca1af5bb4481f418bffffd9666644ffff
+c3999a420821fb1405ffffea4ccdffffe5ccccffffe9cccdfffff6199affffdce666
+fffffd666608ff00afb334078bde9c90d18e0813e891918ba085915f8affffd08000
+8affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808
+fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a
+8bff003066668ab88a91918ba08591458e7a908bde08ff00bae66607ff0021e6668a
+ff001d199afffff4ccce9fffffe64ccc08f731fb5a059f7199708d7b8b888c888f8b
+9f8c8f8ca98bb28b9a8aba8a91918ba08591798e678869b508fb6ff7980583948693
+8b938b92ff0004ccccff00033334ff001e3334ff0026cccc080e3889acf803acf77d
+ad01e1daf3dc03e1f87015fbf6078b388086558885858b769185b58ca18cb48bb98b
+a88ab68a91918ba08591478e80908bde08ff0056e66607ff00133333ffffff8000ff
+000e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000b
+e6667b08d42905ff001d6666ffffd88000ff0008999afffff080008f7cff0000cccc
+fffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08aa98a91918ba085
+91698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666
+ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91
+918ba08591668a7d8a678b658b748c668c85858b769185c387ffffe84cccffffdcb3
+34fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef
+999affffe51999fffff43333ffffed199afffffd666608ff00efcccd07f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4bfb321f0efbdf89acf7b6b2f7ada9a67701eada03f742f7d515ce0697949a969088
+93821f3ff77306cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b
+4008fb5b400782817c81858e83931fdefb5b068b3880864e8885858b769185ae8cb0
+8cb38bb38bb18aac8a91918ba085914e8e80908bde080e4b80c8f8dfc801f7f0f8fc
+15ffffa26666ffffc91998fffffd999aff0007e6680568f70a53966d8b648b6b6c71
+65ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa5
+95a48bff001780008bff001f6666fffff11998ff0021b334ffffa94cd008ffff9c66
+66ffffc599989c6dff005e6666ff0037666605ff00028000fffff84cceff0002999a
+fffff7e666ff00028000fffff76666089860fb71fc47a47f05a291a48fa68d08f723
+f7ffd2fb8105a72ea35fbd8ba88bb2b09db2fffffcb33494fffffa9998ff0004999a
+fffff4b334ff0002666676717786768b6b8b7fab64f71808ffffa1999aff01391998
+ff00646666ff003ae668050ef7a97fbb85a2f8c9a812f0dcf767dcf767dc141c13bc
+f992f70815f85e078ba7ff000f3334ff000ae668ff0027ccccff0003199808a58d05
+90ff000066688eff000299988b90088b9e898d055a8a6e8a598b5b8b738c598c0889
+898b78058b868ffffffd4ccc8fffffffb33408a18905ff0027e668fffffc6668ff00
+0e1998fffff799988b6d08fc6407585a5a72658b08626ba6cd1ff851078ba7ff000f
+199aff000a3334ff0027e666ff0003cccc08a08d0590ff000066688eff000299988b
+90088b9e898d055a8a718a5b8b5b8b738c598c0889898b78058b868ffffffd4ccc8f
+ffffffb33408a18905ff0025e666fffffc9998ff0010199afffff766688b6d08fc3d
+078b7c8b7f8c7d57575f77608b08626ba4cd1ff853078ba799ff000a1998b4ff0003
+e66808a08d0590ff000066688eff000299988b90088b9e898d055a8a718a5b8b598b
+708c598c0889898b78058b868ffffffd4ccc8fffffffb33408a68905ff00274ccdff
+fffd1998ff000eb333fffff6e6688b6d08fc3c0732a042e91ec68bcaa5c9c7955cb2
+64c68bce8bc6b0bebc088d8a8936a28b05137ca19dbd98c9960888a25b9005ffffea
+9998ff00023333fffffc6668ff0005cccd8bbd080eeffb4fa9f73e76f906a7015fcd
+ddb8f82db803f3e3154f8bfb4d4d1e808b858f8895869f7c9f7d8b088373886b77ab
+6ebaf7048df722f71a1ff7f207ad8d9a931e918b96809c7508f7f1fc4d05967c9885
+9b8a089992959e1ff8ac07a99aaab21ea6068f8f8e901f8b9e898c058b438a646741
+8c8b1e868a8b7805869488901ea506b49869701ffc0f07788b78861e828b7da76eb0
+08fbf1f84dfb168b88898b7905869288901ebc8ba1538d7f080e5ffb7ea8f75fa8f7
+fca377bb12ebdaf765da13dcf743f84b158d8a8c881e13ec6d8061824180088d73b9
+87059a8993818b5908fb8d078b6e8180688808778905868a87898b86088b788d8905
+8bce8db6b5cd898b1e8d8d8b9e058b90878d868c087c8d05689081948ba808f78607
+13dcc1c7b39cb98b08c3986a451ffc54078b6e80826986087c8905868a87898b8608
+8b788e89058bca8db3b7d1898b1e8d8d8b9e058b90878d868c08768d056a8e80968b
+a808f84d07e476d02c1e558b597d47400888060ef681aff7afb2f7a6af01b0ff0060
+4ccdff01b4b334eb03f92ef7dd15650affff9eb3349e15fffe4c999806ff00066667
+ff00c2b334ff005fb333ff004f4cccff005f999a8bff007b80008bff00659998ffff
+9fccccff000c999cffff4e333408ff00014ccc6415ffffffb334ffff4d999affffaa
+1998ffff976666ffff8e33348bffff89e6668bffff906667ff0066333384ff00b4cc
+cd080ef681aff8e8afa5e112b0ebf849eb40b013f8f7dff90215ce0af7e3fbb915f7
+400a13f4f7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f8b4f76115f7420a13
+f4f7430a13f8f7440af759f75b158b0a0ef7befb48acf71dadf8d6b07cad12afebf7
+ede0f737e013def7e6f90415c08bb978b36708fc90076c72697f628b08fb17fb00f7
+03f7541ff766f702e2eb1ef86cfd3c15f8f407bb8ebb8b1e92fffff980008efffff7
+80001e13ee647a6d894d8b608b55ff0001800080ff000580000813deff0009800084
+ff000280007f1e808179787a8560a25997598b08fb47fb1cfb2cfb58fb59f724fb0f
+f7401fdd8bd6a3c0b908f87e0713eeff00318000ff00098000ff00028000ff005480
+00c99289481efce1078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91
+918ba08591458e7a908bde080ef707fb7eacf753b7f7e5ac8cad01afe1f77cdaf70c
+da03f7f6f7e415fbac0771776289788b085133b5f72bf3b6d5db1fb58bb373a65e08
+f7aafc5315f8bd7a07758b6565438b6d8b3a8c6e9a6f9a6b8f698b08fb0e3027fb18
+2ecbfb10f7241fc48be2a9b8aa08f7c8079e93a38f958b08acad8b5f1ffc4b078b38
+80884e8885858b769185b58ca58cb78bb68ba48ab68a91918ba085914e8e808f8bde
+080ec689acf78fad73a8ff00a5cccc76ff008c3334b270ad1291ff004ccccdff0090
+3333e0f775e813d780f7ccf8be15f7450a13b780f7460a13bb80ffff6f8000f7d815
+ffff8d80005cffffb2ccccffffcc6668ffffd86666ff001a6666fffff53332ff0013
+3334a3ff00146666ff0010ccceff001933321f8bff0009999cfffffb3333ff000999
+98fffffd999aff00099998fffffc6666ff000accd0fffffd999a918bff000acccc08
+ff0021ccccff002f333393ff00248000ff002880009f8b381efc25078b387a864588
+85858b769185bc8ca98cbe8bc38bb18abd8a91918ba085913d8f738f8bde08f73e07
+13d780a184a388ae8b08f74ac2f70be0c664f6fb4d1f13bb80718b4484638b080e3f
+fb7eacf753adf805b9f775ad01dbdaeedcc3e103f743f7e315aaabff0028cccda5ff
+001d33338b08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dff
+fffc199aff0005cccc8bff0024199a08f74e078ba0ff00033333ff0009ccccff000c
+cccdff000d3334087bf72b15f72e9ba3ac1ea98b917f99689379967da08b9c8ba3a0
+8b9f8b9c809d769b719d718e658b08375643fb2f1ffcd9078b3880864e8885858b76
+9185b58ca58cb78bba8baa8ab68a91918ba08591448f808f8bde08f700078b98ff00
+03cccdfffffeb333ff000a3333fffffbcccdff00188000fffff6199aff001ee666ff
+fffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98bdc8bf540ed258b668b54725e5d
+08fffffce666fffffcccccfffffb199affffff199a8bff0007199a080e6c24a6d5a8
+f761aef784b569aecfa712f5dcf779dc13eff885f81815f712fb06affb0c1e13f76b
+8b748b768a08a407a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e
+898a8b7805868f888f1ea606b29a7d6d1ffc8c076f7e7c621e7006878888861f8b78
+8d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98a91ff73607e58b
+9089917d08f2fb7d05a55cb764c78b9a8b9c8e958f08889f05638b6cad74b60823f7
+8305ba96e3bf8be0083a8a152539792a1e59f7840613efa390a68eaf8b08c7dd7026
+1f0efb087fb0f8ebad01b7dcf781d003ecf90b1587568359825a08a986059ecda7df
+ee8bcd8bb7588b4e8b382865617c376d2e628bfb0d8b25de2df7078bed8b9b9ca38b
+089f8b94869c8b8dbe92bb95d7086d8e0577305c4c328b3f8b51b78bdc8be6bda6c8
+a3d3a6f70fbd8bf7098bf526ce348b2e8b8d785483080efb7481a78e76f82da912b0
+ce58a3f748c87ea213b2f7dcf72015748c058975825d727180806e79658b688b57a5
+8bbc8bb6a3a8dbad0813acd3abb1a08bd68bce50b83c8b598b68826b7b866b87698a
+6708a38a05a0ddc89ba08bb18bb27f8b548b63787755770813b23a6d49678b3b8b28
+f470ba8b081372ae8ba88ea592928d908b928b908b948b9489080e8889ac6cb6f8c4
+b56cab12f878ac7dac1328f808f8ef15f7470a1394f7480a1364f7490a0efbb6fb68
+a8f944a6f71fa6128db3f3d65cbaddc913fa8df8ed1553b363cd1e998ba294969285
+75875f8b7108fc15078b278b3ebc5ea276b27e9e8b08c2ada6a1a879917e1f7a8b83
+7b857e867e857e7e8b7e8b7d93819d809b81aa8bf70f08f88907f72462b3441e4f5c
+664f1f13f6f74016687269626173acafaea2aeb61eb8a0656b1f0efbab7fc3f7efb2
+01e4d5d7a703f738fb2515a8d5b8e51f8bff000acccdffffff3334ff000acccdffff
+fe1998ff000b6666ff000ce668ff0009199aff000c666696ff000b6666ff000ce666
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1e
+fffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9
+b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c
+8bfffff919988bfffff466688eff000699988bffff91199a085dffffffe666057d87
+7f831f7e07868c8a8f1ec6fbc10644aa6fb91eff0017cccd8bff0018e666ff0005e6
+66ff0017e667ff000bcccdff00004cccfffffc3333ff0000199a878bfffffc199a8b
+7383737880717b519c8b5e08779979a11e0ea189acff01c7cccc76ff008c3334b293
+77128eff004ccccdff00ceb333e0f763ad13eeff00ef8000f8f215b095654e1ffc15
+078b387a863b8885858b769185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a
+908bde08f81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813
+def72e0a13ee6988fb03863c8b08fb6406fb07ffffd18000ffffb2ccccffffcc6668
+ffffd86666ff001a6666fffff53332ff00133334a3ff00146666ff0010ccceff0019
+33321f8bff0009999cfffffb3333ff00099998fffffd999aff00099998fffffc6666
+ff000accd0fffffd999a918bff000acccc08ff0021ccccff002db33393b11e0efb84
+81c2f7edb2f77fad01e4daeedc03e4f86b15615d077d877f831f7e07868c8a8f1ec6
+fbc10644aa6fb91eb98bbda1b2b789958591818c71776d83718b087085a9c91ff791
+f30795998f941f9f078f888d861efb0cc406f72e9ba3ac1ea98b917f99689379967d
+a08b9c8ba3a08b9f8b9c809d769b719d718e658b08375643fb2f1f0e8dfb44b0f918
+f7285cb2128eadf778e0f701e296ad13bef7f2bf15f85807cb95b1af1ea106d68bba
+719c3e968b998c948f84b986be8ab80813def72e0a13bef72f0a13def7300a13be9f
+dbb9a5cd8b08bc06b095654e1ffc4807fb3cbb3ce71eb48bb18fa79ea29c969f8b9d
+8ba171a1798b748b807b82787c65847f6b8b086c73bff71f1f0eea81b4f8dbacb6db
+01e2e0f7f6bcd4bb03f8fcff0260cccc15f74a0a0e4b7fb885a6f7f0a8bbde12e3d6
+f753d6b5ae133ef76d8115b28bba9fbcb3908fff00094ccc8dff0000b33484ff0002
+8000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff0006
+8000ff00028000a19dae9ac89291918b9a8591084b90829e8bbc08f754078bff0013
+ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000ff00
+11b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b808b80
+757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b769185bc
+88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b
+1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb5407
+46a948ee1e0ed27fadf8c9c512a3a579e3bcbaf769c4bae37ea513def712f8df15ab
+96837d1f8b5dfb1dfb098bfb1908fb29eafb18f75cf759ecf728f7191e8bf71bfb1b
+f7078bb98b999893ac8b0813cdbf8b9f838f5708a58b84f70a458b052a6c78691f13
+de8b4cf3fb078bfb2608fb1547fb09fb1efb163ef4f7221e8bebebf71e8bdb08b175
+a3481e2b8b0513ec84fb0aa58b0591c3a18fbb8b080ec781aff8e4a776ac12e4e0f7
+4bd3f71bbc13bce4f77015fb50f661f714f72cf71dbff7def72d63f719fb0269437e
+5671a084971eaa8b92ad8c938e9c97929d8b08ea92fb7158fb6c2dfb03fb26fb1677
+f0f70e1ff7d90713dca7999bb41ea506908e8e901f8b9e898c058b2e8a6764308c8b
+1e898a8b7805868f888f1ea606b29a7d6d1f0eb989a8f8e3a775ae128bc6f79adb13
+d8f77bf84715e5fb2e8bfb66056f7d7b621e7106868888861f8b788d89058be88daf
+b2e2898b1e8d8d8b9e0590878e861e7106647b98aa1f8bf772f729f7ad059cab9997
+a98b08a006928e8d901f8b9f898c058b3d8a827e3c8c8b1e898a8b7705888c87901e
+a9069f9088801f8b868882837d08fb13fb7f41f7110513b83bf71956c7508b08455d
+586a7d9478a1a3919e9c1f8b9589938b928b9c9f8f938b08ae8bba3ac9fb00080eaa
+fb7ac2f8d5a8c8cc01f836f7e215a7ccb3e8ab8b938b97898f8695819c87998b08a0
+9d9e9fa37ba2541f4b8b563756fb0c8b8b29fb747e6d08fb02f79605879489938b91
+089b9891a990918e901e8b9d898e058b43895c6d5f8d8b1e89898b7705878f88911e
+ad8b96809b6508f712fbb905937794708b818b828981857f724e68357c8b818b8492
+8195859381917c8b087b75826d67b2809e1fd28bafdfa9d3dbf755ecf76b8b8b080e
+948bb1f79fb2f796b6937712c8a913e8f8bb891590c395c697bf848d808e7e8b6c44
+7254fb018908fb5587057affffff999a83ff000566668b948b908e919094ff00234c
+cdff00334ccdff003d6667ff0057b333ff00434ccce908f7410697949a9690889382
+1ffb2e06ff003f999aff00586666ff00426666ff005a4ccec0ff00444cccff001519
+98ff001b3334ff0002e668ff0006cccc8b968b92868f838b7f8b6c896d8b08fb7106
+13d8710a13e8a0d0b1ff00239998d6ff0001666808f7678f05ff0005e666ff000019
+98ff0004199afffffce6688b858b8688858684ffffd38000ffffc78000ffffbfcccc
+ffffa96666ffffbdccceffffa4199a08ffff6ee6660682817c81858e83931fff007d
+199a0646ffff9fb333ffffbb8000ffff9db333ffffcf6666ffffb7999a858389838b
+8408819086991eff016c4ccc06a6ff0063b334898b1f0efb3f8badf737b2f730b095
+7712bdac13d8d2f84b15f7360a13e89fd4aaff00114ccca9ff0000b33408f7148e05
+ffffe2999affffceb334ffffdcb333ffffc9333266ffffc9199a08ffff96b3330682
+817c81858e83931fff0056cccd06ffffd7999affffc53333ffffd6e667ffffc6b333
+ffffdbb333ffffcf199afffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906aeff002c6666ff0029999aff003a8000ff0028ccccff003c199a08ff004f999a
+0697949a96908893821fffffc1999a06afff00363334adff00356666ff001a6666ff
+002b6666ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b
+6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00056666
+080e98fb67b0f99fb201f86fe403f73bf91915f74b0a0e98fb67b0f99fb301b9e5f8
+15a503f84ff91915fbf706778485831f8b81937a937d08f73bfbc205fb1b704c288b
+fb0308fb1ff719fb0ff734dbf72aaecda281a6681e718b6f7d7e766b5a596d548b08
+332bf70deaf733f706c1d01f9a8b978b998808fb57f7f5f78d8b05d58aa8388f5e08
+a58e76f750057386697a728b080efb27fb79a8f8e2b201a2d6f784a190a603f7d1f8
+4115fb7a06798587821f8b858f81917e08f717fb7f05fb0a814c458b21082bd828f7
+24e6c9b3ab9b839a761e748b7b847e767f746f74628b085a33baf70ae0cecad91f9d
+8b9e89a18608fb31f7b0f7228b05a98ba97f9d3708a6906bf72c7587057b82897f1e
+0efb27fb6676f833acf73eb5977712b79fd3cdf70ed913eef798f76d15f70bf73e05
+13de94988e948b970813ee90868e821efb9a0613de6c8b96926890087bfb0f9f8905
+13ee97cb9692b58b08f7468bfb2dfb6d05a190a9949d8be08b9a3f8b578bfb0d559e
+63715266666e8b5308729e7f9c9aa19ca51e8b9684968b9a8b908c9fb1a3b1a4f70f
+8b8bf721088be953c2358f080efb318bccf748b2f73a76f726ae12c8d6f74ee370a8
+13fcc8f86815769e79a09ca9ff0011e666ff0016199a1e8b9389918992899285948b
+9308a4a5afd4afbe722b1e8bffffc2199affffea8000ffffcd6666ffffc94ccdffff
+c6800008ffff8033330682817c81858e83931fff006080008bffffd7800063052927
+7b5b8b50088bbe8dab1ef74306abb9898b1f13fa98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008ff003d6666c6ff0044999a8b0597949a969088
+93821f660613fcff00388000ff00368000ff002a8000b78bff004b800008f70033b7
+3a1efb0346394f1f0efb3a7fadf7ccb9f713c701f7c5d103f7c5f748152d5a4b3f1e
+6b8b7ca1819e829b7f97778b08797b7e7864d96bc4f1e5d3f71ce54be9fb1a1f5889
+9bf715f7588b8b8d93c5fbd88bd95575fb5205a695a18ca78b08cbe14f2d1f0efb3a
+7fadf78ab7c4c701f7bdd103f7bdf71e15395c69501e6b8b719e809f829b8099778b
+08797b7e7864e46bc4f716b6e5d7d753dd281f758b58877d8a089cc9f7588b8b8d93
+c5fbc58bc65469fb0c05a994c990a78b08cbba454f1f0efb777fa78e76f81cb212ac
+a699d555c4f70dcf13bad5f81a154c078b40b976d36bdb698b6e8b608b5a4f6f688b
+668b699d819671a582bb8aa108708a05137a92fb2205948d948c908b928b908a928a
+0813baa484b187ad8bbb8bf705a88bee8bdb60af3aa9559f7d9f8bb308bbed079499
+8f941f9f078f888d861e13b6fb02f72f0652778b78058b3f7d64528a08898a8a881f
+6c07888c8a8e1e0e40fb6476f905b68e7712dad6f78dde13d8f7c5f82015d4a45431
+1f8bfb072524fb273708f80207d5c7b1a0b28b08fb764015fc57078b6a81796d8208
+7a8605868a8a888c86088f72f719af8bf505f761f704f713f7068bf7288bd36cdbfb
+118b578b4d6a4d5308888b8ee40513b8ff00026666fffffe6666ff0000999afffffd
+999a1effffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff
+0007999afffff5b3348b59080efc2e9676f9587701d4b203f7048115f95864fd5807
+0efbc89676f9587701d4b2cab203f76a8115f95864fd58074c16f95864fd58070efb
+9b9676f7bfadd3adf7a17701f71cb203f7b7f7d715fb08d3f708adfb08f7a164fba1
+fb0369f70343fb0369f70306fbbfb2f7bff708070efbc781f5f8c67701e6f503f724
+f92615200a56fcfb15210a0ef93489adf8ceb66bad9177e07612f5e0f807ebcda913
+aff753df15f74c0a13cf60f8c51513af520af9afbf15f7020af7a3fd4f15f7380a13
+cff7390a139f710a13cff74d0a0ef88389adf7fcb09577f756ad12f5e0f807ebbfac
+139ef753df15f74c0a60f8c515520af950fb2415f7030a13befb094d15f74e0a13de
+f74f0a0ef7d581ba66ad87a6f7e3b072aef761779ca9a67712b2e1f770daf704ac13
+89e0f7edf710157b0a80fffef84ccc157c0a132be07d0a1381e07e0af7e8ff01c2b3
+3415bd06a8b9b1b8aeb2081305e0f7500a1309e0fb094d15f74e0a1351e0f7510a0e
+f741fb40b8f711ac6cb2f8d3ac12f5e0f7aface1e013bef729165c0a13de5d0a13be
+5e0a13de5f0af8a5f89f15f7190a0ef744fb6eb7f740ac6cb2f7f3a7f71aef65ac12
+f5e0f7aface1ef35da13b300f729165c0a13d3005d0a13b7005e0a13d3005f0a139b
+80f850f8f015850a13934099fbae15870a0e3bfb73b7f745acf7f6a7a877f711ef85
+a9a67712eadaf737ef35da13fb80f7e5f8eb15850a13f34099fbae15870afb94fb57
+15f71c0a13f700f71d0a0ef83bfb40b8f71e7693acf8dbac12f1bcf829bcf782e013
+bef8c0f89415620a13de630af80896158bde9c90c78e91918ba08591658affffd4b3
+348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6688bfffff1ccccff000bcccd84ff000eb33385ff
+000cb333fffff73334ff000ccccdffffe719988b087d6d767567c079a11fb88baa93
+b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723080ef80bfb73b7f752
+7693acf7f6a7a877f711ef6aac12f1bcf829bcf74fef35da13bb80f8c0f89415620a
+13db80630a139dc0f780e215850a1399a099fbae15870a0ef76ffb73b7f745acf7f6
+a771bff700ef12ebdaf760daf746ef35da13ee00f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba0949793940813de00b1b0b8
+a1b28b9f8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab
+8cb38bb38baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c
+97688b085a8bffffc84ccd7effffc4b333470813cf00f858f78515850a13ee8099fb
+ae15870a0eef89acf766b5f80b77db7601f7e4f94d15f7020a42fc32154a0afbb1fb
+60154b0a0efb1e81bb5bb4f80bacf7637712afde4bd8f735d91332f751f88b15f703
+0af3fba215d40a137ad50adafb381513b6760a137a770a0efbbe89acf8dbacd27601
+f5e003f70ef94d15f7020ad0fcd315590a0efbd889acf7f6a7a87701f1da03f4f888
+15f7030ad7fc0e15e60a0ef681aff8e8afc77601b0ebf849eb03f7daf94d15f7020a
+904015640af7e3fbb915650a0e3081aef80faef7627701b4e1f78ee103f76af88a15
+f7030afb41fbbd158a0af759f75b158b0a0ecd81b4f8dbacd27601e2e0f7f6bc03f7
+daf94d15f7020afb2efb42156b0a0e4b81ba84a6f7e9acf76a7712e3daf758da133c
+f778f88a15f7030a13bc80fc9415f10a137cf20a13bcf30a0ed381b4f8dbac98e9b9
+bd01e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30ae0e815f40a0e
+4b81ba84a6f7e9aceceab5bd12e3da5fe9d6e974da133900f7fef92d15f40a133a00
+7c3115d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13bc00f30a0ed3
+81b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30a
+ff003a199aff008ee66815f7520a0e4b81ba84a6f7e9aceceaff000133347612e3da
+5fe9d6e974da132800ff01396666ff02eb333415ffffc3999affff94e66405fffff9
+8000fffff48000fffffd4ccdfffffc66688bfffff5e6688bfffff9b330ff00059999
+fffffa999cff0005999a8bff0005999a8bff00066666ff0003999897ff000d800008
+e7ff0062199cfffffd999aff0009e66405ffffed999aff0013ccccffffeb8000ff00
+00e668fffffae6668b08878bfffffb3332ffffff1998fffffd999affffff199c0813
+3200ffff41999affff53cccc15d80a133100f73d16d80a13a28040fcdd15f10a1364
+80f20a13a400f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30
+f96115d30af72416d30affffd73334ff0029199815ff0021199806ff0017199aff00
+1de668ff0018999aff001c3334ff001d4cccff0019800008fffff46668ff00119998
+05ffffe2b332fffff1e668ffffe76666ffffef4cccffffe38000ffffe91998ffffe6
+999aa1ffffe5ccceff0010b3346d9a08fffff3b332ffffee666805ff001bb334ffff
+e76664a6ffffe5999cff0017199affffdf6664080e4b81ba84a6f7e9aceceaff002a
+33347612e3da5fe9d6e974da133800ff00e73333ff0284333415ff0028000106ff00
+173332ff00296664ff001e6666ff00288000a7ff0023199c08fffff0ccceff000bb3
+3405ffffe26666ffffe7b330ffffe4ccccffffe98000ffffe26667ffffddccd0ffff
+e4cccdff00206664ffffe5999aff00168000ffffe0ccccff001a199c087bfffff44c
+cc05a7ffffddccccff001d999affffd78000ff00173333ffffd5b33408133a00ffff
+93cccdffffbacccc15d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13
+bc00f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d3
+0af72416d30affff90e666ff008e199815f7530a0e4b81ba84a6f7e9acecea12e3da
+5fe9d6e974da1330ff00cd3333ff02f8333415fffffcccccff0000e664fffffb3333
+ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999fffffa999808
+fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff28000ff0005
+9999fffffb8000ff0004cccd8bff000666668bff0005999aff000566688bff000480
+008bff00064cccffffff3334ff00064ccc8794081334ffff75ccccffffb8333415d8
+0a1332f73d16d80a13b540fcdd15f10a1379f20a13b8f30a0efb2883acf70eadf765
+bc01a1e1f758e203f7c4f72715f7540a3af75415f7550a0eef89acf766b5f80b779f
+ebb9bd12f755ebf721eb13def755f95615b60af78116b70afb3bfc3b154a0afbb1fb
+6015b80a13eeb90af7d1f96515f40a0efb1e81bb5bb4f80bace4eab6bd12afde4bd8
+5ae9d6e956d9133800f7d5f92e15f40a1339007d3015d80a133880f73d16d80a137c
+40b4fbea15750adafb381513ba40760a137c40770a0eef89acf766b5f80b77cbf346
+b712f7c6f313ecf84df9a115835fde8b0597969c97928793811ffb8f5f1594b7378b
+057f817980848e83941fd5fc5a154a0afbb1fb60154b0af72bf9371513f4f7000a0e
+fb1e81bb5bb4f80bacf700ef9dbd12afde4bd8adefa6d9133980f7d6f92d15f40af7
+57fc4415d40a137d80d50adafb381513bb80760a137d80770afb11f8bb15f7010a0e
+f7a289ac6cb2f777b29db1f788b36cacedbd12f841dff74aacb2ac9bae1333e0f92d
+f97d15f40afb3efc4c15bb0afb4b0413b3e0bc0a1373e0bd0a13b3e0f7560a137be0
+bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee781bc5ab5f74baef730acdabd12b2d3
+4ed4f743d4f75dd7133980f85cf89a15f40aacfb1a15f7570a137d80f7580a13bb80
+f7590aacfb3d15dd0a137d80de0ad5b115df0a0ee581aff713b3d3aff7d5af12b0eb
+f821e063ac13fcf80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf753
+1ff70a8be8a4cfc5809486938b9608bfc407ff000c4ccc8dff000ab334ff000fcccd
+8bff000999998bff0004cccdfffffc4cccff00068000fffff6b334ff00014ccd0848
+a3068bff002333339cff0009cccda88e91918ba38591738a728a638bffffde80008b
+ffffd180008c5f8c85858b739185ff0036e666fffffbccccff001b199afffffc4cce
+8bffffd7e666087323077ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908f7053206696b4885558b08fb3237f73df718f743ff00718000
+f70cff007480001f13faf7258bb438a535ff000b4cccffffff4cccff000a66688dff
+000b4cccff0004b334fffffd8000b5fffffb8000b37bd3084f9566aefb038b080e2c
+fb82b0d5b3d3c455c8e2aaf785aa75b812c7dd41c0f75adbff0011e666ff0037199a
+13cd60f7d3f7ab15820af711f70015f7110a13cb60f7120a13dd60f7130a13d8e06f
+737b608b698b679f6fa57effffd94ccdffffe9199affffe6b333ffffe1e666fffff4
+b3336c08ffffe94ccd067ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908a406ff0001e666ffffab6666dcffffe5999aff004c199a8bff
+006ab3348bff00719998ff0028999aff002ae668ff0046666608ff0026cccc06ff00
+0c4ccc8dff000ab334ff000fcccd8bff000999998bff0004cccdfffffc4cccff0006
+8000fffff6b334ff00014ccd08ffffdee66606ff00016666ff0007199aff0000b334
+ff000766668bff000780008bab7ca46ea364ab458c668b798b728973880813eae0f7
+150affffe4e666fc6e15fffec4666806ff00013334a5ff00058000ff0016199aa3ff
+001ce66696889b89988b0813d860aa8ba78e998bbd8bb58aa87bb0ffffeb3334ff00
+0cb334fffff24cccff00013332ffffe8800008fffff633346315ffffe3b332ffffcf
+6666ffffabccceffffe6999affffb666668bffffe066668bffffbb4ccdff00166666
+ffffefcccdff0033999a080ee581aff783aff7d5afc77612b0ebf821e063ac13f8f7
+eaf94d15f7020aae6415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2
+aaf785aa75b8f7517712abd062dd41c0f75adb9dc2139230f757f89015f7030af710
+fb79152e5c78661e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf8
+2115f7110a1396b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a
+0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f7d9f94d15f7020a
+fb1afcd3155b0a0e3889acf803acf766a98576c17712e1da13dcf7b2f91815f7030a
+fb5cfc9e158b388087538785858b769185ac8cad8cb38bae8bac8aa28a91918ba085
+91628f808f8bde08ff0056e66607ff00133333ffffff8000ff000e199afffffe8000
+ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6667b08d42905ff00
+1d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff44ccdff00004ccc88
+ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591698fffffe6b334ff
+00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff00048000fffffc99
+9aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91918ba08591748a6f8a
+678b658b668c748c85858b769185c387ffffe84cccffffdcb334fffff6b334fffff4
+4ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef999affffe51999ffff
+f43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92878e821e13ec7281
+407d638889838d7b9185bf8897908b37080ef6fb5cb1f72caff8e8af01b0ebf75dc9
+f742eb03f8a8fb1b15f75a0afb5df98915640a0e30fb5cb1f72caef80fae01b4e1c4
+c9f717e103f812fb1b15f75b0afb24f8af158b0a0ef6fb5cb1f72caff8e8afc2bd01
+b0ebf75dc9f742eb03f85cf95d15f40af7c0fde415f75a0afb5df98915640a0e30fb
+5cb1f72caef80faedabd01b4e1c4c9f717e103f7fbf89a15f40af78bfd2115f75b0a
+fb24f8af158b0a0e98fb67b0f99fb3d47601cba5f815e403f7a7f94d15f7020afb00
+5715f74b0a0efb47fb7faef7c3adf796ad12b3a573d7f756dc13e4f740f88815f703
+0a5efc1d159c7c059d8fa992968b08d9aa6326fb004655591f13ec638b70b183a183
+a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba69196
+8b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108720613f4f75c0a0efb
+d7fb73b7f8c8a7a877f77a7701f705da03f705f7d115f71a0a92f75415f7030a0ef9
+4a89adf8ceb66bad917712f5e0f807ebe3a913ae1c04d48915f7380a13cef7390a13
+9e710a13cef74d0afea9e115f8740713aeaeae99bcf76cd2fb43fb2efb5efb0d59fb
+2129809fab1e13ce60f8c51513ae520a0ef89489adf7fcb09577f756ad12f5e0f807
+ebd6ac13bef986f84b15f74e0a13def74f0afcc7fbf715510a60f8c515520a0ef7be
+81ba66ad87a6f7e3b072aef75ea9a67712b2e1f770daf6ac130fc0f8bcf84b15f74e
+0a1357c0f7510afb63fbcf15f7050a138fc0f7060a80fffef84ccc157c0a132fc07d
+0a1387c07e0a0ee581aff783aff7d5afc87612b0ebf821e063ac13f8f841f9c815b1
+0a57fb3615f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b812abd062dd41c0f75adb9dc2139060f7aff93315d60aaffc1c152e5c78661e1399
+60f70e0afb4ffbb51513d260f70f0a13b260f7100af7ccf82115f7110a139560f712
+0a13b960f7130a13b0e0830a13b260f7140a13d4e0f7150a0ef7c581ba64a8f7bab5
+90d5f744a812f5dcf7dadcf772b013bff895f7181530ca58f3dbe8d7f74bf70c6dd4
+46707d78791e8b6caa86968aa886ab6d8b2b08294e25405c64a6cc1ef851078ba7ff
+000eb334ff000ae668ff00284cccff0003199808a58d0590ff000066688eff000299
+988b90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd666890ffff
+ff999808a58905ff00274ccc88ff000eb334828b6d08fb67fbdaf767078ba7ff000e
+cccdff000ae668ff00283333ff0003199808a58d0590ff000066688eff000299988b
+90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd4ccc8fffffffb3
+3408a68905ff0025cccdfffffd3334ff00103333fffff6cccc8b6d08fc8a078b6fff
+fff2cccd7fffffd733338808137f70890587ffffffb33388fffffd4ccd8b86088b78
+8d89058be88daeb3e1898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08718d
+05ffffd84ccdff0003199afffff0b333ff0008e6668baa08f78df7da070e54fb6176
+f9d7bc01dadcf792e503f7d6f8f515d0a248fb111f8bfb18fb16fb07fb102308f84a
+07d5d5b6aab88b08fb364d15cc8eaf8b1e92878e821effffe6e66681ffffb4999a7e
+ffffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08ab
+89059f957e4a1ffd1d078b6a81796d8208778505868a8a888c86089272f71fb08bf7
+6605f744f71bf73cf7218bf7348bf70165e7fb0d8b4b8b4b535254080ef3967693ac
+f8dbacd27612f1bcf829bc133cf7b9f9c515cd0af722fb7115ca0a137ccb0a13bccc
+0a0e5689acf7f6a771bf12ebdaf760da1398f7a3f93315740afb31fb4f15e70a13d8
+e80a13b8e90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001d199aff000dccccff0014b334ff001ce668ff
+0000ccccff001fccccff00068000ff0001e668ff0007ccccff0002e664ff0009b334
+ff0004333408f724c505fffff34cccff00154cccffffeb4cccff00116668ffffe366
+68ff000d4ccc08ffff8cccccffffb0199805fffff1199aff001c6668ffffe1199aff
+001380006a8b5d8b61648b5d8bffffdb3334ff001accccffffdfccccff00224cceff
+fff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff
+0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0efb1e81bb5b
+b4f80bacc5abf5ab12afde4bd881b3ebb386d9133980f766f90f15d90a335615da0a
+137c40f73ffbf115750adafb381513ba40760a137d40770affffc36666ff030e3334
+15ffffc3999affff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bff
+fff5e6688bfffff9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00
+066666ff0003999897ff000d800008e7ff0062199cfffffd999aff0009e66405ffff
+ed999aff0013ccccffffeb7fffff0000e668fffffae6678b878bfffffb3333ffffff
+1998fffffd9999ffffff199c080ef7a289ac6cb2f777b29db1f788b36cacd47612f8
+41dff74aacb2ac9bae1333e0f8fef9c915f75d0afbeffc9815bb0afb4b0413b3e0bc
+0a1373e0bd0a13b3e0f7560a137be0bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee7
+81bc5ab5f74baef730ac12b2d34ed4f743d4f75dd71333f82bf93315f75e0afb22fb
+b315f7570a137bf7580a13b7f7590aacfb3d15dd0a137bde0ad5b115df0a0ef681af
+f8e8afc87601b0ebf849eb03f81cf9c815b10afbb0fdd515cf0af773f90f15d00af7
+57ffff894ccc15d10a0e3081aef80fae01b4e1f78ee103f7b5f93315a30af711fb6d
+15ee0afb445915ef0aff0073cccc3715f00a0eef89acf766b5f80b7701f756f9a315
+f75f0af7179015f7600a4dfc8d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+627712afde4bd8f735d91336e1f91915f7610af71c9115f7620ad2fc3615d40a137a
+d50adafb381513b6760a137a770a0eef89acf766b5f80b77d576c8bf01f775a7f76c
+a703f775f94715f7630ab1fc2c154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+29c412afde4bd85aa6f74bd95ea6133280f7daf88615f7640a1379006afb9d15750a
+dafb381513b500760a137900770a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aac
+b2ac9bae132780f727f9a715f7650af7179015f7600a8efc431530f74806133780c4
+0a13af80540a136780550a13a780c50a137780c60a0efb2881bcf765adf70eacf76b
+7701b0dff75be103e8f92015f7610af71c9115f7620a22fc0c157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccc76c8bf12f4e060a7f759ac7da7a4ac9bae1326
+b8f727f94715f7660af71afbde1513371830f74806b7979fc11ed606d68b9b63a146
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47ceb
+89938b8d8a8c888b7a88838a738b08133698fb930613af58540a136758550a13a758
+c50a137758c60a0efb2881bcf765adf70eacf72cc412b0df6da6f75ee143a613f5f7
+e2f88715f7640afb66fb6d15e20a13f2e30adcfb5415e40a13fae50a0efbbe89acf8
+dbacc87601f5e003f9ae048b828e848f8708ee37058d898e8a8e8b908b93908b938b
+8efffffecccdff00036668fffffd8000ff0004999808ffffc4b333f701058693848f
+808b6e8b7fffffea33348bffffefcccc08f7179015f7670ac7fd3915590a0efbd889
+acf7f6a7a87701f1da0378f93b15f7610af71c9115ffffe08000fffff58000ffffe9
+ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002
+cccdff000a66688bff000299988b8c8b8dfffffeb3338e08ffffc14ccdf723058794
+8390808b08cbfcc715e60a0efbbe89acf8dbaccb76c8bf0197a7cde0cca70397f946
+15f7630af747fccc15590a0efbd889acf7f6a7a877f73ac401ff00064ccdff00184c
+cdff00476666dab7ff00184ccd03f775f88615ff00184ccd9705fffff36667e0ffff
+d2199abd4c8bffffcae6668bffffc666675afffff533333508ff00184ccd7f0594c5
+ff00296666abff002ecccd8bff003099998bff0026b33466ff0009e66656085ffc0c
+15e60a0ef681aff8e8af01b0ebf849eb03f74af9a715f75f0af7179015f7600a9dfb
+3e15640af7e3fbb915650a0e3081aef80faef7697701b4e1f78ee103f708f92015f7
+610af71c9115f7620afb67fc59158a0af759f75b158b0a0ef681aff8e8afc176c8bf
+01b0ebdaa7f76ca7e1eb03f768f94715f7630af70b4615640af7e3fbb915650a0e30
+81aef80faef729c412b4e175a6f76ca68de113eef7f0f88615f7640a13f6fbc7fbb9
+15ed0af759f75b158b0a0e8381aa74acf798adf7b9adc67612f3e0f76ce7133eeff9
+ac15f7680af7179015f7670ab4fb4715670a38fc8415680a13be690a137e6a0a0efb
+7389acf7eec955a7f7847712efda1398d2f92115f7610af71c9115f7620a6cfbc115
+f7230a13b8f7240a13d8f7250a0e8381aa74acf798adf7b9adc776c8bf12f3e062a7
+f76ca77ce7133d80f728f94715f7660af7104215133e40670a38fc8415680a13be40
+690a137e406a0a0efb7389acf7eec955a7f743c412cda692daf716a6139ef7c9f886
+15f7640afb19fb2015f7230a13bef7240a13def7250a0ecd81b4f8dbac01e2e0f7f6
+bc03f750f99d15f75f0af7179015f7600afb27fb97156b0a0e4b81ba84a6f7e9acf7
+717712e3daf758da133cf705f92015f7610af71c9115f7620a13bc6bfd3015f10a13
+7cf20a13bcf30a0ecd81b4f8dbaccc76c8bf01e2e0b4a7f76ca7b4bc03f769f94715
+f7630a62fb3c156b0a0e4b81ba84a6f7e9acf731c412e3da58a6f76ca674da1336f7
+fbf88615f7640a13b9fb22fc9015f10a1379f20a13b9f30a0efb02fb76a3daddaaaf
+f8eaad12a6ff00208000fffff78000ff00476666ff0085999ab2ccdf4bff00208000
+13f700ff018ab334f90b15f7690a13fb00f7280a13f680f76a0affff5e4cccfd3415
+f7160a0efb61fb76a3daddaaac8976f82aac12bbaa7ad2d7b2a5d755ab13c900f74e
+6215f7160a13dd80fb1ef74715f72a0a13eb80f72b0a13eb40f72c0a13ed80f72d0a
+0e8dfb76a3daddb2acf86ef7285cb2128eadf778e06bb2f75cad13e580f7bb6215f7
+160a13ee80c2f73715f76b0a13f680f72e0a13ee80f72f0a13f680f7300a13ee80f7
+6c0a0efbabfb76a3daddaac2f7edb201e4daa5b203f73f6215f7160afb14f86a158e
+0a0efb08f803a9f777ad12d6a386dbf717cf74e413d4f718fb25159da39ca21f8b91
+869a8b988baea3a4c09af706acdada8be68bf70654cefb009e0813e8a898cfb68bd5
+8be631a95c8b458b547f6f8b0883fb14a3890594cdbab5c18b08b3c3773e52404245
+1f906d0513d4ebe464fb0c1f8b445e444571256564478b6608709e7c9e1e0efb68fb
+6476f82aa4f762ad12ada08dcff705ca6fd513fae4fb79159f9b9ca21f8b9289948b
+988baea89fbf9dbc9ce9b98bf68bcf60c3409c0813fc9d96c1b48bc78bd03ab05c8b
+458b697f708b0883fb09a0890594cda5aacb8bb28bb8738b518b5d5c4a3d7e087207
+978d958d958b0813fabbdb80261f8b4c6a655c783c6b52408b67086fa184951e0ef7
+1b89acf7b6b5f78facd27601f5e0f7eae003f8fef70e15580afbbcf8d315f7020a0e
+5289acf7f8bff75ea98576c17712e3daf766da13def7a5f91815f7030a21fffe99e6
+6615f76d0a13eef76e0a0e93fb7ea8f75fa8f8d2c454a812eadcf7a4db13ecf8a4f8
+4215ea89f719fb1e1effffcccccc8bffffbce668ffffde8000ffffa24cccffffa880
+00089107cc8eb38b1e92878e821e13dcffffe6e66681ffffb4999a7effffd7800088
+088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc0813ecab89059f95
+7e4a1ffc57078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ff
+ffff999a89fffffd66668b86088b788c89058bd78daeb2d7898b1e8d8d8b9e058b90
+87ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccdff000b
+33338ba808ff01a4333407ff0057999aff00523334ff00344cccff001a9998ff002e
+199a8b08cba157fb341ffcb7078b6efffff56666fffff5199affffdf999afffffbe6
+660873880586ffffff666689fffffd999a8b86088b788c89058bd18dafb2dc898b1e
+8d8d8b9e058b9087ff0002800087ff0000800008738e05ffffe16668ff0003cccdff
+fff39998ff000b33338ba8080eb472b86db5f4a5f785aef7977712add9f778d6f746
+a3137ff782f82815ba8bac78a16308fba00773706c79678b085a33b8f72c1fd9a4ec
+f01e13bff793fc14157f8b808c808da8c3abc5b08b08a2987e761f594b6a671e3df8
+c715cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d7305
+8b88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb2b07
+67a35f8e778b0839fb1054fb411f137f23ccfb09f7101eba8bb19fabac9662a680aa
+82776b7a6b786908a482c6f10513bf928a968a8f8b08ded6b9e3ab79a15e1f568b57
+217c7008788bbfb21f0e627fadf8f6a593a412bad154dcf797d557dd13f2f709f72a
+158bd3d9c2c0aee065e6618b32085a7743fb191e5ffb02a3f31f13ecf7b1f812158b
+416970435940ae3db88bc508c0b8c7c71ea5072438482f1f8b39d55dd6640813f264
+80fb114f8b2008fb15f70b66eff743ccecdf1e8bf702fb00be47a90813ec978ff71a
+c38bf70808c065f1fb381e7207cec8513f1f0efb137fa5f9127712b4cb5dcef766c7
+67cf13e4f77d99153e58c7db1f8bb2a1b6b9b808b3b105df4cca5b8b48084b714c26
+1e13d8f2f898158b3c3f5184878b8bfb13dd8bce8b9a8db1b4ac0876a405697c5465
+8b3c8b32d35cbf600813e44a6e3e388b3a085ba6fb01f737f70fd5d1f7091e8be738
+c54cb60813d89b91edc48bee8bd55bad6899087b7005b1668c5d8b7f080ea28bb8f8
+c4b201b9a9f86ec503f753f8f115f7968bfc24fccc05858388848b8508848e829c1e
+f80c06d5b3773b1f8b7b81737974089f8205aea8aaa88bc908b170c62a1efbdd8bf8
+16f8b605989e949a8b960891888e761efc19065b8b8e95668e87558143836208a986
+05a1d09cbdd78b080efb1f8bb2f7f3b201b3a6f7d3c403f72af81a15f7148bfb80fb
+fa05858289858b8508809b8b9d1ef75f06b2d7763b1f8b7b806f807908a08105aaa3
+a6ad8bc008bd55be461efb588bf77af7ef05949993978b910893858e801efb8c067c
+8b829289910872068a5e855f835a08a588059fd4ad9ba98b080eef89acf766b5f80b
+77cbf301f7c6f303f7c6f98615f7000a60fc6b154a0afbb1fb60154b0a0efb1e81bb
+5bb4f80bacf700ef12afde4bd8adefa6d91333f73af8eb15850af713fc0215d40a13
+7bd50adafb381513b7760a137b770a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cac
+12f4e0eec9a0acb2ac9bae13d9f0f7942b15a2957d7671767d6d1f778b808f709584
+8488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4cedf8b0513
+e9f0c50a13ddf0f70a0a13ebf0540a13d9f0f76f0a0efb28fb5ca8d6abff00364ccd
+ff0030b333f765adf70eac12b0dff721c987e113fef7792b15f7700a13fdf7710a22
+f80e157f0a0ef681aff8e8af8bebb9bd12b0eb67ebf7cdeb6beb13b4ecf95615b60a
+13b2f82d16b60a13d9fb433715ce0af7e3fbb915650affff1e4cccf86b15f7720a0e
+3081aef80faee4eab5bd12b4e185e9d6e984e113f8f7f3f92d15f40a13f4853115d8
+0a13f2f73d16d80a13f9fb8dfc0615ed0af759f75b158b0a0ef681aff8e8afff001c
+ccccff003a4cccfffff2e668b7ffffdee668ff003c800012b0ebff005e3333a2ff00
+be6667ff0016e666ff006a8000eb13d780f898f99c15825fc78b0598959d96928893
+811ffc1b5f1593b74e8b057f817980848f83941f13e780ff0114b334ff000d199815
+f7730a13cf80f7740a13e780f7750affffba4cccffff84e66815640af7e3fbb91565
+0a0e3081aef80faedcc089c2b2bd12b4e1f774a68ae113ccf7ecf92d15f40a13eef7
+4c2f15b30a13deb40a13eeb50afb9bfc0415eb0a13cdec0af759f75b158b0a0ef681
+aff8e8afb4f301b0ebf732f3f743eb03f7b7f98315f7000ab3fb1515640af7e3fbb9
+15650a0e3081aef80faef6ef01b4e1c8efe4e103f750f8ea15f7010afb27fc1d158a
+0af759f75b158b0a0ef681aff8e8afb4f340b612b0ebf732f3f743eb13def848f997
+158260dc8b0598959c96928793821ffbaa601594b6378b057f817980848e84941ff7
+1ca21513eef7000ab3fb1515640af7e3fbb915650a0e3081aef80faeceefb5bd01b4
+e1d1efdbe103f759f8c215f7010afb30fbf5158a0af759f75b158b0af70bf78815f4
+0a0e7789acf8dbacc4bd01f790e003f831f95415f40af728fcda156f0a0e3bfb7cdb
+f8baace2bd01f813f89a15f40ab8fd3a15910a0efb9772b7f70aa6f871a9a67701ea
+daf713a403f7c1ed156363646b1e7d8b838e8292ff002a8000deff000f8000a49c8b
+089a98846b1ffb62a3158b33ff002480006ea27d085dffffab8000ff001a8000ffff
+f180000596ff001c8000ff000c8000ff001c8000ff000f8000ac978698899b8b08bb
+cac2d3b5759f731fffffd380008bffffe180004affffe88000568594fffffe800097
+8be608f83d07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+080ec67fb769acf70ba6f764a771bf12ebdaf756daf739aa13aff805f7a615fb3807
+8b4baf6da87c085b369e82bae3059a869b899f8b08c5dec0d4a57cb05e1f598b6549
+6b537b9c8bab8bce08ef078bc287bb74aa7aa16c97688b5a8bffffd24ccd7effffc4
+b33347fffff9e66684fffffa6667fffffd999affffffb333ff000966668aa6fffffd
+b333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00
+036666838b081377e80a13afb1b0aea1b28b9f8ba07e97740895778d708b6d08f6fb
+7b15badca1a5a78b08a29c7d765f5464641f788b7e8f8092080efb717fb7f70aa6f7
+69b201e2daf743a703f79bf7171597979892988b08a29c7d76605563631f788b7e8f
+8092a4b6a0ab989808fb4480158b4cb061ae7d085b369e82bae3059a869b899f8b08
+c5dec0d4a47cb15f1f768b767e7b7b7778776b74617b9c84ab8bce08f76ff3079599
+8f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585ffff
+fc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666fffff6cc
+cc8bffffad199a085dffffffe666057d877f831f7e07868c8a8f1ec6060efbd7fb73
+b7f9017701f705da03f705f7d115f71a0a0ef72e81b561a7f80db768aef7977712ad
+d9f778d6f771d8139ff7e8f7ed15fba40773706c7d678b085a33b8f72cd9a4ecf01f
+ba8bac78a16308d6fbb515f7bb07136fbab1bc91958b08c8c14625fb06592f2c1f6c
+8b729877a40840f88f15fb2b07139f67a35f8e778b0839fb1054fb4123ccfb09f710
+1fba8bb19babac08589d079696969c949608136fa872af7fb68b08eef709def738f7
+0e36db351f5a8b5f76696608f75e07cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffffffcc
+cc08ab89059f957e4a1f0ef72dfb7ea8f757b75fadf805b968ae12afd7f776d666b0
+f770d913b680f89df81d15ceb842fb02357027211f7a8b678d69b408f78807a1c0be
+a8ae8b08fb00fcbe15f74107a47daa83af8b08e8f705d8f73ef647ea2b1f6c8b5181
+5e450813cd80c30797899a801e818bfffff6b334fffff4ccccfffffb4cccfffff633
+34087f72056aa960985a8b08fb0e3a28fb182fc1fb12f7241f13b680c48bab9f9a98
+08fb4c078b6ffffff4999afffff54ccdffffe06666fffffcb3330878890586ffffff
+800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff
+0002800086ff0000800008788d05ffffe0e666ff00034ccdfffff5199aff000ab333
+8ba70813ce80fb46f8c915b58bad72a65d08fba90771776889788b085133b5f72d1f
+f3b6d2db1e0eee89acf766b5f80b77c77701ff01968000ff017c199a15ff00218000
+ffff9ee666ffff9ecccc8b05ff002e199af72815ffff9ee666fb28ffffe333348b05
+758b848eff0003cccdff000a4ccc08ff00663333ff0102b334918b05ffffe13334fb
+ce15ff008ccccc8bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffff
+d93334ff00038000ffffde3334ff00034cccffffee9998ff0030333408ffff78cccc
+ff01776666ff009b3334ff00ec999a588bffff85b334ffff45999affffcb4cccff00
+926666057c8270807e8b08fb77fcac05714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8b08ff000a199a8bffffb7e666fb02be8bff00
+47cccdff006d800005ff0017e667ffffff999aff00178000ffffff6666ff0013cccd
+ffffff800091918ba08591fffff1cccd8cfffff04ccdff000133337eff0003666708
+ff0053199aff00cc666615ffff906666ffff55cccd05ff00008000ff0002999aff00
+00ccccff0002b334ff0001199aff0002e66608c2f725059098918fa38b080ebe81b4
+f8e2b0b37701b0e6f84aac03f76bff0060999a15ff011a199aff01d9e66605ff0023
+199affffe09998ff00149998ffffd58002ff000d3334ffffd466669787ff0009b334
+8eff000b4ccc9186bf84bb81c2fffff08000ff000180007cff0004ccccffffef3334
+ff0005e66808ff002b4cccff0048cccc588bffffdd4cccffffc5999805ffffe0199a
+ff0009b334ffffd7b334ff0008b334ffffc6e6668b368b446c5055ffffbd999affff
+c33334ffffd86666ffff9e19988bffff97b3348bffff9bcccdff0022e666ffffa4e6
+66ff0046cccdffffc4e66708ffff9b4ccdffff566666bd8bff0056199aff0090999a
+05ff002f8000ffffe3ccccff003b8000ffffef999aff0047e6668bec8be4b9cfe486
+948491808b443d476c2e8bffffc8e6668bffffcfcccdff00198000ffffda4ccdff00
+28199a08ffffe34ccdff00244ccc15ffffdb199aff00374ccdffffea999aff004700
+018bff0045cccc8bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff
+0031999ac8c5a7bf8bba8bff00254cccfffff68000ff001de668fffff01998080efb
+3b81bcf803ac01b0e103f818f85a15ffffddccccffffd6999a05ffffe5ccceff0010
+999a65ff0009ccccffffd066668b288b21328bfb228bffffca999aff000c6666ffff
+d14cccff00176667ffffdbcccd08ffffc33333ffffb64ccd058d7c97809b8b08ff00
+384ccdff0044999a05ff00214cceffffdfccccff002e1999ffffed999aff00394ccd
+8bc78bc09ebddd8794838f828c695f6075608bffffd6199a8b65ff00186666ffffe7
+4cccb608ff00a68000ff00cab33405ff0006999afffff98000ff00094cccfffffd66
+66ff000b33348ba08ba7988baa8bff000f6666fffffb999aff000e199afffff78000
+ff000c800008ff0024e666b805879881957a8b08ffff02cccdfbc715fffff86667ff
+00184ccdfffffbcccdff001bcccd8bff001ee6668bf702bbcdcd8bff0030e6668bff
+000de66673ff0005999affffe3cccc080e4889ac6cb2f7cfb7f76cac12f5e0f7afac
+137cf729165c0a13bc5d0a137c77436650218b084c0664799ebe1ff789f72a079895
+9d97918793821ffb34f711068bde9c90d18e91918ba085915e8affffd1199a8affff
+d9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808fb112b
+0780807a7f848f83941ff4fb7c0613bc5f0a0e8d89acf8d3b29377128eadf778e0f7
+63ad13bcf7f2f70e158bff00f1b334f71dff00e7666405ff00238000fffff2199cff
+00178000ffffe3999896ffffce3334968b998c948f84b986be8ab88b8c898d8a8bff
+fff499988affffec199cfffffeccccffffe78000fffffecccc08ff003dccccff0068
+6668588bffffc0e666ffff9566680513dcffffd98000fffffe9998ffffd6199a8aff
+ffdc80008b08350613bcf7300a13dc9fdbb9a5cd8b08bc06b095654e1f8bffff374c
+ccfb6bfffe94b334be8bf738ff0115199a8bffff9de666058b387a863b8885858b76
+9185bc8cff0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba0
+8591083b8e7a908bde08ff0147e66604ff0036199a07cb95b1af1ea106ff00084ccc
+8bff0007e668ffffffb334ff00079998ffffff4ccc080efb61fb41a6f71cac8976f8
+2aac12bbaa7ad2f721d740ce5dab13b900bbf71e158f5a8e5c8b61958d958c908b92
+8b918b9289ff0001199affffffb3338cffffffcccdff00011999ffffffb33308ffff
+ffcccdfffffecccd05ab86926ea055a058ae6ab68ba38b9d919f97969392968b958b
+928995869186918191848b08848b8288868584848580877e87818686818b738b7998
+70d1fffff8999aff0011cccdfffffaccccff0012cccdfffff5999aff001133330813
+d600ff00086666ffffff800094ffffffb333ff0009999a8bc38bf2a68bee8bff0044
+4ccd5aff0027b33347ff00193333ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8b0813d480f72c0a13da00f72d0a0efb3ffb64b1f75376f81fad95
+7712bdac13e8c7168b8bff0019e666ff00006666ff00126667ff0000199a08ffffff
+b333ffffff80008e8bff00004ccdff0000800005ff000f999aff0000199a93ffffff
+e666ffffe8199affffff8000089306a18ba0799e6808b243059a6f9b77997f9e7ca1
+83a78b08c1a79db0a28097761f7e8b7f827f7a7f798083818b768b75a074b60864d3
+0574ff002a199affffe64ccdff00151999ffffe2b333ff0001b333ff0000b3338cff
+0000999aff0001199aff0000b3338cd5e9f3f731c9f1ff000f4cccff00193334ff00
+02b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613d8ffffdfe6668b
+fffff6999aff0006999affffee8000ff00036666fffffd999a8bfffffc6666fffffc
+66668bfffffd999a8a5e8568835aff0008ccccfffffc4cccff000c999afffffe199a
+ff000b999aff0002999a9fd4aaff00114ccca9ff0000b3340813e8f7148e0547fb06
+27fb243d22fffff76666fffff46666ffffff999afffffc999a8b86088493869a1e0e
+fb1e89acf85776f733b10195e7d3e0e0da03f797f70e15db078bff00456666ff002b
+4cccff0024e666ff002a199aff0026b334ff0027ccceff0024b334ff0026ccccff00
+264ccc8bd008e83fd5fb162afb025c236fa379a0b09da4a31e8b98839d8b9c8b968e
+969695a5a1b193b48b08f29f435d527623fb291ffb70078b397a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080efb3689aaf80cad
+01a6e1bcdad0d403f785f7051597078ba0ff0024e666ff00186666ff00206666ff00
+12999aff0029b334a3aaff002b66668bff0038999a08e134b32d37305c55739f7ba3
+a49d9ca11e8b918a918b9208b4b993b7dca55b601e8b5e6a4bfb07850834078b3f7b
+874a88888889858b858b858d848e88b98cff001bcccd8cff002f33338bff002ecccd
+8bff001b33338ab98a8e8e8c928b91088b918a91888e4a8e7b8f8bd8080e8489acf7
+16b7f713adf78bad12f5e0f76cdc69e813fcf753f8ba154c0a60f7ab15ffffdc4ccd
+8bffffc9b3338c648c85858b769185d1889c868b3808fbd2fb0d0780807a7f848f83
+941ff71664068b387a86458885858b769185b28cff0035e6668cff0025199a8bff00
+23b3338bff001a4ccd89df8b0813faf75bc0efe11f8beb48c234a4088d0713fc4f0a
+b6fc7815f7110698959d97918793821ffb1bf713d00613fa4d0a0ecd81b4f7b7b7f7
+8cac01e2e0f7f6bc03e2f7d6153207fb60ff0083800064ff00668000f761bcf713f7
+461ea6be0798959d97918793821f4ef731068bff00504ccc9cff0003b334c7929191
+8ba08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c8585
+8b769185d6849c888b3a08fb31fbf6f731078bde9a90d88e91918ba085915c8affff
+cf66668affffd8999a8b648b628c648c85858b769185c7889c868b3808fb31570780
+807a7f848f83941ff888165e07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc08c3070eca89acf9067701f761aa15f7760a0e
+65937698b2f7b0b1f788b36cac967712f4e0f74aacb2ac9bae13a3c0937e15ff0009
+6666ff000b999aff0000999affffff6666051367c0b08cc78cac8b08f76b06bbdb89
+8b1f99bd9acd93befffff5999891fffff48002ff00023333fffff2e666fffffccccd
+774368503f8b08fb0806617d9bba1f8bff006dcccde5ff006f33338c8b05e08b8e74
+8e5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b8585
+fffffd6666ffffd08000fffffd8000ffffefccccffffc8999afffffc800008ff007d
+999aff009b333405ff00024cccfffff94cccff00024cce84ff00024cccfffff8b334
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b334fffffe4c
+cc99fffffd199aff00148000fffffce666ff0015333408ff0039b334ff00474ccc05
+fffffdb334ff000ee668fffff14cccff000f1998788b08ffffe0999affffd9666805
+fffffdb332ff000e1998fffffe4cceff000a1998ffffff6666ff000266688b8d8a8c
+888b081333c07a88838a738b08fb930613abc0ffffe180008bffffc580008c638c85
+858b769185d1889c868b38088bfffeabccccfb19ffff5c3333058e7c997a9e8b08b0
+ff002d999a15ff003bcccdff0049e66605fffffe199affffc64ccc7dfffff3e667ff
+ffd4199afffffbe66708ff00ade666ff0122666615ffffe3199affffdc66668bff00
+23999a05ff00e1b334ff00f2333415ffff5a1999ffff33ccccffffc433338b8bf748
+051333c0b7979fc11ed606ff002c66668bff0017ccce7dff00108000ffffe6333408
+0efb2881bcff00cfe666b1ff0077199aac01b0df03f818f85a15ffffd8b334ffffd0
+4ccc05ffffe680009e67ff000bb334ffffcdcccc8b348bfb05388bfb2c8bffffcf99
+9aff000a6666ffffd11999ff00183334ffffdb999a08ffffc46666ffffb7b333058d
+7c97809b8b08ff00378000ff0043999a05ff0020b333ffffe0b333ff002be667ffff
+edb333ff003ee6668bd78bc1aeb3bf889585907f8c66656e7b518bffffdc80008bff
+ffd6cccdff00146666ffffe11999ff0031666708ff00716666ff008a1999ff007733
+34ffffff199a05979291961f8bff0028b334fffff8e666ff002a3332ffffe8e666ff
+0020999a08ff002b3334ff0034800005879881957a8b08ffffbbb334ffff70199a15
+ff00003332fffffc6666ff0000199afffffc4ccc8bfffffc33348b8287fffffb3334
+80ffffffcccc0885ffffffe66605ff000a4cccff0049b33415ffffc2999affffb580
+00ffff84199afffffde666059ef705d194a38bff001a999a8bff001e199afffff5b3
+34ff000f9998ffffdce66608ffff528001ffff2d999915fffff68001ff001bb332ff
+fffab333ff002166678bff0026b33308ff00608000ffffff4ccd050efb53fb40b8f7
+f9b7f7e8ac01f753e003f753f77a15fb2907fb48576f6a1effffece6668bfffff1cc
+cdff000bcccd84ff000eb33385ff000cb333fffff73333ff000ccccdffffe7199a8b
+087d6d767567c079a11fb88baa93b4aeff002bb333ff00254ccdff003a4ccdff0033
+b3338bf72308f713e50798959d97918793821f27f78d068bde9c90c78e91918ba085
+91658affffd4b3348affffd94ccc8bffffdbb3338bffffcb4ccd8c598c85858b7691
+85db889c868b3808fb8d2b0780807a7f848f83941f0efbd7fb73b7f806b2f72fa7a8
+77f711ef12eeef35da13fceef8eb15850a13fa99fbae15343f0782817c81858e8393
+1fdffb0706fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108dccd0797949a96908893821f40e606bd8fcb8b1e
+8f868e831e6f806382468289858d7b8d8508c18696858b52080ed4fb54acf729adf8
+ecad01afe7f7eddce4dd03f7e2f90415c08bb978b367088bfc488b43056c72697f62
+8b08fb17fb00f703f754f766f702e2eb1fff008b8000fcf815ff00068000ffff604c
+cdff00431998ffffd3b333ff003ae6688b08e2abb9aba27e99751f6f8b7d79867585
+7586776c8b086d7aa7f7341f8baa8bd48bf8940595888e7f1e808176787a8560a259
+97598b08fb47fb18fb2cfb58fb59f720fb0ff7401fff002db3348bff002a3332ff00
+078000ff0025999aff000e8000080e37fb50abf726b7f807ad01aee1f775dae2db03
+f7d6ff01706666159fffffe9999a8ffffff1199a8bffffe7e666088bfb468b57058b
+798a867efffff93333ffffe8999afffff3e667ffffe53332fffffee666fffff03334
+8b085134b5f72bf3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ff
+ffe7800008ff00183334fffea3b33415ff00041998ffff5c1999ff00438000ffffd3
+cccdff003a33348b08e0aab8aaa17e99761f708b7d798676857686776d8b086e7aa7
+f7301f8be88b938bf7b405998796801e848bfffffa199afffff84cccfffff7e666ff
+fff4b3347e7987887fff0007ccccffffe06666ff0014800064ff0008b334ffffd599
+9a8b08fb0e3127fb182ecafb10f7241fff002ce6668bff001fccceff000ccccdff00
+1b8000ff00114ccd080e8381aa74acf798b2f7b4ad12f3e0f76ce7133cf7a4f8fe15
+670a38fc8415680a13bcff001cb334ffffd16666ff002b4cccffffd5999ac78b9a8b
+9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff0021999a
+71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b6184
+678b688b5c8c5c8c85858b76918508d1889c868b3808fb55480782817c81858e8393
+1fd6fb3d06137c6a0a0efb7389acf75cb2f6c955a712efda13d8f744f7fa15fffffe
+4ccdb3fffffe6666ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999aff
+fffe199aff00036666838b6f807182468289858d7b8d85c18696868b51085c4c0782
+817c81858e83931fd2fb01068b387f874d8785858b769185ae8cb28cb38bb38bb98a
+ae8a91918ba0859145907f8e8bde08f701ee0797949a96908893821fffff94800006
+ff00024ccdff00164cccff000a9999ff0013ccceff000a999aff000fe6660813e896
+9ba2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334
+fffff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f74
+64088580fffffb333393ffffffcccd90080e7789acf856b7e4ac01f790e003f7e5f7
+0e15ff0087b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a
+08ff00514cccf727ff003233348b0598959d97918793821fffffdc33348bff000dcc
+cca405a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b
+8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea
+9998ffffd7999808ffffece66867ffff2db3328bffffeccccdff0021cccc05ffffe7
+ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a8c6d8c85
+858c769185b588ff00113333fffffa1998ff00228000ffffc5e668089875ffffe44c
+cd8b0580807a7f848f83941fff003ee6668bff005c199afb2f05ff00118000ffffe2
+8000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff00
+3466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a90
+8bde08ff00366666f7fb15ffffbb999afb150583fffff0ccccfffffb3334ff00014c
+ce82ff000fe66608ffffb81999f713050e3bfb7cdbf813b2f714ac01f760fb3415ff
+000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999aff0037999a
+ff0086199aff0026999aff005a8000ff0023e666ff0050666608ff0052e666069794
+9a96908893821fffffb5999a06ff0009b332ff00156666ff0009b334ff0015199a95
+ff00158000ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba0859177
+8a748a6f8b6d8b6c8c6d8c85858b76918508ff001f999a88ff00206666857b6708ff
+ffdc199a38fb298bffffe51999ca05ffffedffffff002a3334fffffacccdff001280
+00c3ff00044ccc91918ba08591668a638a678b698b708c778c85858b769185ff0027
+b333869882ff001a33334e08ff0016cccc56ffffb94ccd8b0582817c81858e83931f
+ff005f80008bff00498000fb3f05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb08ff00843334f81b15ffffd199982005
+84ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffd2cccdf505
+0efb1e81acf804bb62b412e6d9f735d84bde13b4f73df75815f718078b9891929391
+a5a0ada2a78bbd8ba1638b6c8b5e765d4178083cf7381513d885aafffff56666a6ff
+ffcd999a8bffffd9b3338b677affffeb4ccd77ff0001b333fffff3b3348ffffff799
+98ff000b4ccdfffff9b334ff00078000ff00063334ff0010ccccff0009ccccff000c
+b3348b08a88c645d1ffb2707fb22d970d4dddec1c4a37f97746e79767e1e8b848c84
+8d878c888c858b80086c618065695c9cf7051e8b928e8f8e8c08e1a00513b4eba3d0
+c08bcf8bdd53a5458bffffdd33348bffffe1cccc835f6908777b050e3781b7f807ad
+01aee1f775da03f7d6ff01706666158d0aadfffeaa199a15ff000a999affffedcccd
+ff0013ccccffffedb333ff0025999a8b08bcafb390928295871ffffffa33348bffff
+f619987bfffff0b3348b08648ab3b81ff7bc07998796801e848bfffffa199afffff8
+4cccfffff7e666fffff4b3347e7987887fff0007ccccffffe06666ff0014800064ff
+0008b334ffffd5999a8b08fb0e3127fb182ecafb10f7241fff00324ccc8bff0021e6
+68ff0010199aff001dccccff00146666080e4782adf807b701e9daf775e103f759ff
+003d999a1577ff0016666687ff000ee6668bff0018199a08f77a078b9d8c9098ff00
+06ccccff00176666ff000c199aff0024cccdff0001199aff000fcccd8b08c5d859fb
+192361373b1fffffe1999a8bffffe54cccff000c199affffea199aff001880000869
+ff0155e66615fffff56666ff00123334ffffec3334ff00124cccffffda66668b085a
+6763868494818f1fff0005cccd8bff000433339ba08b08b28c635e1ffbbc077d8f80
+961e928bff0005e666ff0007b333ff0008199aff000b4ccd989d8f8e97fffff83333
+ff001f999affffeb8000bcfffff74ccdff002a66668b08f70edbff007ae666ff0077
+199af7134cdbfb241fffffcdb3338bffffde199affffefe666ffffe23333ffffeb99
+9a080e2581adf807b7f775ad01d9daf769e103f742f7ff15780a7af71015f72db9a3
+ac1ea98b9b7f99689379997fa08b9f8b9b9c8ba18b9c829d769b719d718e658b0837
+2e42fb311ffc21078b64ff00003333fffff5cccdfffffbcccdffffea333390839087
+978bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff00
+0a4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00
+234ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6ffffff9
+b333fffffa4cccfffffc4ccdff0001b3348b94080efb3681acf803bc01b1e2f74de1
+03aef7e6158f829387948aadb7b6a1b68b08d4c841fb09fb025b49491f508b83ae87
+ae88a67d94768b08766f7e6c54c463ebeef5e4f722f71543e4fb121f4f8b56785939
+080efb3f81bcf711a4f76dac12b0e1f74ee572ac13f4f80af71515f7770aac98158b
+ff0011b333fffff96666ff000de667fffff4999aff00076666fffff58000ff0006cc
+cdfffff16666ff00013333fffff2199a8bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce8bd6b8dfd28b0813f8c18b986f8e6dff0002b3
+34ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f
+8b33ae3bd962776a786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788
+a88b988bd38becc18bed080e2ffb50abf726baf803aef760a8a57701b2e0f76fd6e6
+db03ff0158b334fffff6e6661596fb20ff003eccccffffd9199aff003680008b08e0
+aab8aaa17e99761f708b7d798676857686776d8b086e76a9f72e1f8be38b988bf85a
+05cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d73058b
+88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb260774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0087407
+8bfffff68000ff00003334fffff6e666ff00006666fffff74ccd08ffffff6666ffff
+eb4ccd05f7210468075e676476718b558b54c68bf7118bd398b39aa0aabab58e9f8b
+ba8ba676a365080e5481baf803aef775ad01b2e0f76fd6f5dc03f7ebf871154f0774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0088d8a
+8945a28b05a19db798c9960888a25b9005ffffea999aff00023333fffffc6666ff00
+05cccd8bbd08f7fa07f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b
+9c809b7c98779d7597628b0848354cfb321ffc13045e676476718b558b54c68bf711
+8bd398b39aa0aabab58e9f8bba8ba676a365080efb3c7fbcf767b2f709ac01b0e1f7
+59e203f7d1f7b315fb47890581869094dfc3a0b11fa38bc4879efb0508fb98fb5315
+7f8a83838881b357b066d78b08ff006d3334ff006eccccff00644ccdff007bb333f7
+323bce27fb1f583137809285971ff79c8d05ffff66cccdffffb6b333ffffc63333ff
+ffc94ccd1e518b63a066b1080efb2883acf70eadf765bc01bbe1f758e203f7def727
+15f7540a3af75415f7550a0e8781acf807bb01bbd8f752df03ff011ee666ff014b66
+6615ffff93999affffc9199affff7d8000ffffb666668bffff9d199a085aa54af704
+f73db7f71df7011e8bff0024b334fffff88000ff00224cccfffff1ccccff001db334
+ff00186668ff00114cccff00219998ff0014199aff0014999aff00073332fffffc66
+66fffff66668ffffff4cceffffefb332ff0002199afffff23334ff00069998ffffd3
+8000ff0017e668fffff54cccff000fccccff00026666ff0019b334ff0003ccce9fff
+000f199aff002b3334ff002acccc08fffff23330ff001233340577fffff0e666ffff
+f5e668fffff96666ffffea3334fffffcccccffffed3332fffffd3334fffff8999a9a
+fffffcccccff0015ccccfffffab334ff0023999aff000bb334a3ff000d1998ff001b
+333408fffff08000ff0008e66605ffffdb6668ffffd74ccc57ffffdd8000ffffcc66
+666effffde999aff002c999affffcbe666ff001c199affffbde6668b498b3a546858
+ff00024ccdfffff74cccff0004b333fffffab3349689b3b2beaebb8bff00184ccd8b
+bdfffff6199aff001f9999ffffcb4ccc08ff0010999affffda333415ff0007333474
+ff00044cccffffe3cccc8bffffdd999a08fb2c486a5c5c6eabc21e8bff0048999aff
+00538000ff00388000eaff00368000080efb5a81b1f74aacf737ac12b7da4fd2f723
+d513f4f70ff70d15f7780a13ecf7790a13f4f77a0a0efb5b81b0f745b2f73ba812f7
+9bd250d913e8f7a7f7041556656b501e5c8b659b64a6fffff8800087fffff96666ff
+fff94cccfffffe199afffff6b334ac6cc16eca8bf71e8ba6d58bc40813f08ba28bc0
+31a9088d07ff002e4cccff00134ccdff0018b334ff00237fff8bff002b333408b36a
+d3fb0b3e4967676e9e83971ea18b969b949c97a1a4a4b28b08abb66e4b4e6779601f
+8a8b5f90858b087980857f7f9382a11f938bae90938b08c3ad62531f0efb2981b0f7
+45b2f73ba8ff00a919987712f79bd250d9ffffc4e666ff0011ccce13f8ff00cf999a
+ff01b6333415ff0000b333ffffff800005fffff7b334ff0000ccccfffff74ccdff00
+008000fffff6b3338b083e4967676e9e83971fa18b969b949c97a1a4a4b28b08abb6
+6e4b4e6779601f8a8b5f90858b087980857f7f9382a11f938bae90938b0813f4c3ad
+625356656b501f5c8b659b64a6fffff8800087fffff96666fffff94cccfffffe199a
+fffff6b334ac6cc16eca8bf71e8ba6d58bc40813f88ba28bc031a9088d07ff002e4c
+ccff00134ccdff0018b334ff00237fff8bff002b33348bff001f4cccffffebccccff
+0032ccceffffbe4cceff0014b332ff000dccccff001accceff00156666ff00224ccc
+ff000f4cceff0010199aff00013332fffff5ccccff0006cccefffff13334ff000819
+9afffff4999aff001a3332ffffdb6666ff001a199aff0001666698ff00094cceff00
+153334ff000f1998ff000ae666ff0016999aff0012e666ff0039ccce08ffffeb6666
+ff0009cccc05fffff5199affffe96668fffff9e666fffff59998ffffee199afffff3
+3334fffff0800080fffff2b334ff000a1998fffff33332ff0011e6680813f2ffffeb
+199aff001d4cccffffff6666ff001a9998ffffff4cceff001e333408ffffee3332ff
+0000cccc05fffff0b334ffffc64cd068ffffc4999867ffffcb3334080e2081caf71a
+c2f71aca01adb2f7e0b70314e0f79af84b15fb01fb0b46fb38fb1df70e3cf703f722
+b3cbc01f8bbb66b44d9ed2a1a7af8bb108c16bd5fb2f1efc1604fb1953c7ecbaadf7
+0bf729f6b574531f8b646e754c7e64966193758b086d7b8278789c83ad1fb58bab94
+a492cb7ca66f8b6708474e88391e0efbb0fb62b5ff01656666ff002be667ff00a0b3
+33ac01f715da03f715f7c715ffffba4ccdffffa8cccd07fffff43334ffffffb334ff
+fff5cccdfffff2999a8bfffff066668bfffff73333ff00053333fffff9cccdff0009
+8000ff0000666608ff005e8000ffff6a999a06fb48696f6c1e7e8b85928495829780
+986f8b087e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208ff00806666ca07
+98ffffff999aff000a80009d8bff000bb3338b94fffffc8000ff00054ccdfffff54c
+ccff00004ccd08ffffb7b334ff0045b333068bde968ec89091918ba08591678affff
+d4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b878b38080e54fb82ac
+f757b7f807adf775ad12afe146d8f767daf3dc13fbf7ebf87115ffffc4333407ffff
+e3999aff000f9998ffffde6666ff00063334668b08fb0e3527fb182ec6fb10f7241f
+c48ba99f9a98087307fb205c4b411e13f75c8b68b2839ffffff84ccdff0013199aff
+fff7b333ff000fe666708b08767e7c7657f064c31fc08bff002a199aff00086666ff
+0027e666ff001c999ac0b1a1d48bf108f829078bff00058000ffffff6666ff0004e6
+66fffffe999aff0004199a08ff002a800007f70c9dd1c01ea38b92788f779070997d
+a68ba58b94a08b9c8b9c809b7c98779d7597628b0848354cfb321f89fb2115fbac07
+71776a89788b0813fb5138b5f72bf3b1d5db1fb58bab73a65e080e2afb82aaf759b7
+f807ad01afe0f770da03f8389715f82907998796801e848b8484847f087c73056aa8
+60965a8b08fb0e3527fb182ec6fb10f7241fc48ba99f9a98087307fb205c4b411e5c
+8b68b2839ffffff84ccdff0013199afffff7b333ff000fe666708b08767e7c7657f0
+64c31fc08bff002a199aff00086666ff0027e666ff001c999ac0b1a1d48bf1083cf7
+d815fbac0771776a89788b085138b5f72bf3b1d5db1fb58bab73a65e080e4181acf7
+29acf75dac12addef78fd567a713f8f804e615650776ffffecb33370fffff54ccd69
+8b08fb0d5beef6f706d4cad31f13f4e28bb2789d31ff00094cccfffffc3334ff0009
+66688dff00094cccff0003ccccfffffee666b7fffffe3334b7fffff7e666b7638b4a
+935d8b08fb20292cfb1d25d4fb07f72e1f13f8d88bff0034b3349eff00334cccb108
+b7078bff0038199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14c
+cc8bffffe1b3348bffffd74ccc8c6e8c85858b76918508c88790ffffee199a8bffff
+c4e666080e43fb5eaff8c8ac01f73ebad0c603ff017db334f7df15ffff939998ffff
+0d4ccdfffff0b334ff0022b333ffffaae666f76405ffffec999aff002f6666fffffd
+3333ff000c999aff00354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b
+769185bffffff9b334ff00073333ffffef9998ff00153333ffffcdb33408ff008999
+9afbda623905fffff76666ffffeecccdfffff7999affffec33338b780865ac72b8c5
+b2afb41e8baffffff94cccff00344ccd62ff004fffff08ff007a199aff0118b33405
+ff0013199aff002bccccff000b8000ff00193334c29091918ba08591778a738a718b
+6a8b698c728c85858b769185c187ff0007199afffff3199affffe9999affffcde666
+08ffff5b4cccfc60158b9b9ba9a2b4a6468e808b7f08797b7d79757e98a31e0efb33
+7faeff0178ccccff0027333401f70dbad5d003f7657f15ff00558000ff00108000c5
+9f1f8ba989a554ed08cbf305ff0022199aff00376666ff00156666ff0016999aff00
+1e80008bff000c80008bff000a199a86ff000066668cff0005800091ff0004e666ff
+000b4cccfffffe999aff0009b3348493fffff4e66691ffffed999a8b5a8bffffe5b3
+34ffffdee666ffffdaccccffffc5199a085434ffffc18000f70405ffffde3333ff00
+3c999afffffacccdff00066666ffffc680008bffffeae6668bffffdb999a7e8388ff
+fffc8000fffff4ccccff0002999afffff6ccceff00066666fffff7e66694ff000380
+00ff000f8000ff0001cccc8f8ba88bff0007e666ffffee8000ff001c999affffccb3
+3408dafb22786905654983858b6c0865b571b91e62d4158b9b9ba9a3b4089180059c
+6f96648b7e08797c7b79757899a31e0e54fb6b76a6a9f73dbff7f8ac01e1daf766da
+03f80bff008f199a158bffffeae66682fffff3b33383fffff74ccd65ffffdab333ff
+ffcd6666ffffea4ccdffffd8999a8bffffeb999a8b76ff000d199afffff46666ff00
+16e66681ff0013cccd89ff001b33338ba908f72c078bdd958fbf9090918ba086916f
+8a698a638b638b6a8c6a8c86858b769085c38696878b3908fb29078b54ff0003b333
+ffffcf8000ff00174ccdffffe18000ff0010cccd75ff001f33337fae8bff0031199a
+8bff003be66698c8cfff00036666ff0003cccdff00066666ff000a33338b7d08ffff
+ff3334fb54054a87638b1e848f88941ea495d699b38e8d93899b8591578e7f868bdf
+08f828078bdeff000bcccc8fc58f91918ba085916a8affffdb33348a638b658bffff
+df33348c6f8c85858b769185ff0032cccc8794878b38080e4089a8f801baf775ad12
+e3d6f723d677d613f4e3f86715fc1f078b6efffff7199afffff5999affffdde666ff
+fffc66660878890586ffffff800089fffffd80008b86088b788d89058bce8dafb2cf
+898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4ccdff0003
+6666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b08c3a17b3a1ffb73078b
+6efffff6e666fffff5999affffde199afffffc66660878890586ffffff800088ffff
+fd80008b86088b788d89058bcf8daeb3cf898b1e8d8d8b9e058b9087ff0002999a87
+ff0000666608788d05ffffdf6666ff00036666fffff5999aff000a999a8ba808f768
+07f267bf431e648b507b484808f71407f730bba3ac1e13f8a98b9e7e986a937a9880
+9f8b9e8b9a9a8ba08b9b829c779a729c7192658b08373042fb321f0e40fb71aff74b
+a8f801baf775ad12e3d6f723d677d613faf848f70115f74307f267bf431e648b507b
+484808f71407f730bba3ac1e13fca98b9e7e986a937a98809f8b9e8b9a9a8ba08b9b
+829c779a729c7192658b08373042fb321ffc1f078b6efffff7199afffff5999affff
+dde666fffffc66660878890586ffffff800089fffffd80008b86088b788d89058bce
+8dafb2cf898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4c
+cdff00036666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b0813fac3a17b
+3a1ffb7007fb0095fb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f
+9f8bad8bb0aa08bab19bef8bf735080efbc189acf75bb3f72c9ff4ed12f4ed34da13
+f0f3f8eb15850a13f4e6fc7115f700c407ff000c4ccc8dff000ab334ff000fcccd8b
+ff000999998bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc0848ff
+00334ccc06ff0031b3348fcb8b1e8f868e831effffe3800080ffffd8800082468289
+858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52085c44077fffff
+fdb33482fffff14ccc8bfffff666668bfffffa66678efffffa3333948908dbfb0006
+8b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f80
+8f8bde080efbce80c2f8177701dfda03dff7d615f77b0a0efbd689acf803ac01ecda
+03f744f7c715f77c0a0efbc889a8f78ab78fb9f7cb9f01f6d603f765f7d415838bff
+fff86666ff00014cccfffff8999aff00024cce08ff0103666607cc8fb38b1e92878e
+821e7281407d638889838d7b9185c58791888b4008ffff42666607fffff9199aff00
+024ccefffff8b333ff00014cccfffff833338b608b74647d509185958a968d95ac95
+9aa58bff000933338bff0009e667fffffd999aff0009e666fffffc199a08ffff424c
+cc078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e
+80908bde08ff0092333407ff00034ccdffffff3332ff00034ccdffffff999aff0003
+66668bb98ba8b297c7858f818e808a7d618081758b080efb818aa8f791addca9f76c
+a99b95129da9f71dd66ca713fef7eef7cf1539f7a006cc8fb38b1e92878e821e7281
+407d638889838d7b9185c58791888b4008ffff41e66607ffffeb4ccdff001f6666ff
+ffe24ccdff0019b334ffffce66668b08755e77614db176e51fb2fb33068b3880864e
+8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f733
+dd07fb35ad1550065b6d9ea8a39f94a31fc28ba359996c080efbf2fb7cabf9d2a9bc
+7601fb46d603f73dd3158bc48bf85a05cc8eb38b1e92878e821effffe6e66681ffff
+ba999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffff
+cccc08ab89059f957e4a1f8bfc468b528b6705fb45d15cc7e0aab8aaa17e99761e70
+8b7d798676857686776d8b086e76a9f72e1f0e3cfb7faef75aacd3adf796adf768a9
+a67712eada61d7f756dc13fe80eaf70e158b3880864e8885858b769185ae8cb08cb3
+8bb38bb18aac8a91918ba085914e8e80908bde08ff00e1b33407ff00134ccdff0023
+b332ff00188000ff000b999aff001633338b08f7258bfb3cfbb49c7c059d8fa99296
+8b08d9aa6326fb004655591f13fd80f77d0a13fe80fffff5cccd8bfffff88000ff00
+033334fffffbb3338f08ff0092cccc07cc8fb38b1e92878e821e7281407d63888983
+8d7b9185c58791888b40080ef75781bf71a7f7f6ac12dadaf753daf753da141c137c
+f902d215ff00014cccffffe24ccc8dffffdc0001ff0004b334fffff5b333ff000219
+98fffffb6666ff0001e668fffffc999a938ba796a594d0948d91899b899155908090
+8bc508f757078bdd9890c28f91918ba085916d8a658a638b638bffffe133348c6d8c
+85858b769185ff0032cccc8696878b3908fb38078b7682fffff3b33383fffff74ccd
+0813bcffffd86668ffffd94cccffffda8000ffffebb334ffffe119988b08656fa3ce
+1ff742078bdd9390c18f90918ba08691728a668a638b638b6a8c728c86858b769085
+bd8794868b3908fb33078b7d8b7d8c7f5b565e7e648b086575a1ce1ff744078bdd95
+90bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c28794868b3908
+fb3207329a45e31eff003333338bff003db333ff0012cccdff0034199aff0036ffff
+8eff0003333491908dfffff76666ff0009800062ff00268000ffffdf999abf8bc58b
+ff00344cccff00226666ff0029b334ff002e999a08ff00049998ff0005199aff0006
+e668ff0006e666ff000080007f080ef73981bbf800a801dfd6f749d6f747d603f8e6
+fb33158a3ca28b05a19db798c9960888a25b9005ffffea9998ff00023333fffffd66
+68ff0005cccd8bbd08f865078ba7ff00099998ff000ae666ff00206668ff0005199a
+089e8e05ff0004e668ff0000ccccff00031998ff000233348b90088b9e898d058b47
+896864468d8b1e89898b78058b86ff00041998fffffdccccff0004e668ffffff3334
+089e8805ff001f999886ff000b6668808b6f08fb89075b5a6b74688b086571a4cd1f
+f776078ba7ff000a999aff000ae666ff00206666ff0005199a089e8e05ff0004e666
+ff0000ccccff0003199aff000233348b90088b9e898d058b47896764478d8b1e8989
+8b78058b868ffffffd999a8fffffff6666089e8805ff0020ccccfffffaccccff000a
+3334fffff533348b6f08fb62078b7c8b7e8d7e5b576b79648b086571a2cd1ff77807
+8ba7ff000a4ccdff000accccff0020b333ff00053334089e8e05ff0004e666ff0000
+ccccff0003199aff000233348b90088b9e898d058b47896863478d8b1e89898b7805
+8b868ffffffd999a8fffffff6666089f8805ff001eb333fffffb6666ff000b4ccdff
+fff4999a8b6f08fb6107329a44e31ec18bbca5c4c7925dac63c28bc98bb5aebbbc08
+8e8b88fb05050ef74ffb71aff74ba8f7fca377bb12f1d6f74dd6f74fd613def94ff7
+0115f73f07e47ad1331e558b5674524f84b868b1538b4d8b5d695c5908888b8edf05
+ff00026666fffffe6666ff0000999afffffd999a1e13eeffffe38000806482ffffb9
+800080088d73b68705ff000e6666fffffe4cccff0007999afffff5b3348b5908fb8d
+078b6efffff7199afffff5999affffdde666fffffc66660878890586ffffff800088
+fffffd80008b86088b788d8905b38ca48cb28bb48ba08ab38a088d8d8b9e058b9087
+ff0002666687ff0000999a087d8d05ffffe3999aff0004199afffff16666ff0009e6
+668ba808f78c0713debabcb0a1ae8b08b1a773481ffb78078b6e7efffff5e6666eff
+fffc199a087c890586ffffff4ccd88fffffdb3338b86088b788d8905b38c9f8cb28b
+b48ba08ab38a088d8d8b9e058b90fffffbe666ff00023333fffffb199aff0000cccd
+087f8d05ffffe3199aff0004ccccfffff0e666ff000933348ba808f765078b998b99
+8a97bbc0ae9cb28b08b1a775481ffb77078cfb0094fb2c5f8b808b85928594839581
+97718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bee8bf736080e43fb71aff7
+4ba8f7fca377bb12e6d6f75ad613dcf73af70115f76107bec7b19cb78b08c0976a45
+1ffb6c078b6e80fffff6999a6bfffffb6666087d890586ffffff4ccd88fffffdb333
+8b86088b788d8905b38c9f8cb28bb48ba58ab38a088d8d8b9e058b9087ff00028000
+86ff0000800008788d05ffffe0b334ff00034cccfffff54cccff000ab3348ba808f7
+6507e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999a
+fffffd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666ff
+fffe4cccff0007999afffff5b3348b5908fb8a07fb0095fb2c5f1e808b8592859483
+958197718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bef8bf735080e43fb71
+aff74ba8f7fca377bb12e6d6f75ad613dcf800f701158bfb359327ba65b06cb28ba2
+8b089dad99a99d7897801f718b817f838185828584808b085f95f72af7021ff76207
+e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999affff
+fd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe
+4cccff0007999afffff5b3348b5908fb8d078b6efffff6199afffff58000ffffdee6
+66fffffc80000878890586ffffff800088fffffd80008b86088b788d8905b38ca48c
+b28bb48ba08ab38a088d8d8b9e058b90fffffce666ff00024ccdfffffb199aff0000
+b333087d8d05ffffdf3333ff0004b333fffff5cccdff00094ccd8ba808f7860713dc
+bec7b19cb78b08c0976a451f0e6a947697a6f80ba812f3b8f797b81378cfa6156d06
+858988871f75078bc68db0b2c5898b1ea00791868d881e6e066c8594b01f8bf795f7
+87fbd10513b8967d96809b8b089796989f1ff7e307b09094ab1ea806918b8c8f8c8e
+08a1078b50896565508d8b1e7507888c87921ea906ac8f7d6b1f8bfb93fb93f7defb
+0f8b8b7505878e888f1eaa06ac8e82681ffbb1076a8b7e671e0e3081aef73fb2f73d
+ae01b4ff0057cccdff00f83333e103b4f761158a0aff014fcccc8215ff0000199aff
+fffb6666ff0000199afffffb4ccd8bfffffb4ccd8bfb124a6c5c8bffffa580008bff
+ffda8000ff005f8000fffff7cccdff004b800008ff00f57fffb215ffff08b33406ff
+0001199aff0054b334ff00164cccff00544cccff0057999a8bff004acccc8bff0031
+ccce50ff000bb332fb02080edf89a870adf739abf738ad70a812a8e0f765d6f70da8
+caa77ca713af00f7aea615244abbf71ef72aceb2d6b6a3896d1ffbca07748581681e
+133780f77ff80415cb8b9e56966608a78f0513374084b184b28ab608132f40898d05
+1337408b44896d1efb330613af40668b548d878b08fb212b31fb20fb20f24cf71b1f
+136740f77e0a13a740a9c6898b1f1377408d8d9ff7076f8e057f57746b588b08fb01
+067a7d909e1ff721d807a58b94808f77088f75058c898d888f8b08a08b8d8d0588a3
+889f8ba48ba38fa78da2088d8a8c891e7706888b89888a88088676058677847f708b
+083ef721069c97919e1e0ef70a7faef787b1f4ac01add8f761a6a6a6f75ddd03f93c
+f75615f038f727fb8bfb4dfb17fb15fb11fb24e653e51ecc8bc0aca5d0a83cc274be
+8b08e0f0b5f7381ffccd8c15f722ead3f72accf7456cfb45fb0b67503a1e538b67b2
+78d09ebf93b88ba308ac7f9e6e717d77651e8b778f62a05576436767568b082975dc
+e61ff797b5158b79876f805e8b8f7fb08bb808a2909693968e7e7b1e0e71fb7ea8f7
+5aaaf812acf7977701abd7f720d6f720d703f78ca315629228aa8bf72d8bf71bd7ba
+cb9608d6fc1415f81207e478be588bfb0b8b6581fb19fb16750840f8af15fb0f074f
+88fb304d8bfb328b50a9fb2bf74e7d08fb2b078b6ffffff5cccdfffff53333ffffdf
+3333fffffacccd08788805fffffb199affffff3333fffffce666fffffdcccd8b8608
+8b788d89058bcf8dafb2cf898b1e8d8d8b9e058b9087ff0002666687ff0000999a08
+788e05ffffe0ccccff0004e666fffff43334ff000b199a8ba708f72b07f7129ae5eb
+8bf7038bf719fb03dc229508f72407cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcc
+cc08ab89059f957e4a1f0efb7381c967a7f7f6ac12f750da1370f753d215ff0001b3
+3363ff0001999affffe64ccdff0004b333fffff5b333ff0002199afffffb6666ff00
+01e666fffffc999a938ba796a594d0948d91899b8991559080908bc508f757078bde
+978fc98f91918ba08591688a648a638b638b5d8c688c85858b769185d18697888b38
+08fb1f078b717f747f790813b0807b746a7f8b828b82ff00026666fffff83333ff00
+0a4ccdfffff8666795fffff4ccccff000d4ccdffffee999a8b0873747272ffffece6
+669dffffe3199ab51fba8bb4b7a2b2089196ff0004cccd83ff0000333386080efb84
+81c86aa3f8d4a812f756d613b0f7a1f8d1158ba8ff000a6666ff000a9998ff002099
+9aff00036668089e8d0590ff000080008dff000280008b90088b9e8a8d05668a6c8a
+678b658b608c668c0889898b78058b868ffffffd4ccc90ffffffb33408a88905ff00
+1fcccdfffffdccccff000b3333fffff433348b6e08fc47078b7e867e848273697579
+808b848b848e859181958093778b08717a7b71719a77b41fba8bb7bea5b2088e8b88
+3105fffffd999aff0001999affffff6666ff000266661e1370ff001c800096b294ff
+00468000960889a3608f05fffff1999aff0001b333fffff86666ff000a4ccd8bbd08
+0efb56fb42b2f70faff80ea801f765d8d8d903f7d8f826159c06928c8f8d1fa2078b
+4f8964624c8d8b1e7507868e89901e9b06b08d7c6b1ffb86077860635d738b808b83
+91889587947aad6e8b086e7c7c6f76986ccb1fad8ba297a2a19996a1a4929b088c77
+05fb42c555c3c5c59ab8977aa1731e758b817b867b8980817f7b8b608b869e8af731
+08f7ce07a58ba0b11e0efb84fb7ea8f8dbc857a312ecd613d0ecfb34158b6efffff5
+999afffff56666ffffdf6666fffffc999a0878890586ffffff800089fffffd80008b
+86088b788c8905b08caa8caf8bb18bb68ab08a088d8d8b9e058b9087ff0002b33386
+ff00004ccd086e8d05ffffe03333ff00023333fffff4cccdff000bcccd8ba808f857
+078b9890989294a3ada19d968b928b92889185958196839f8b08a59c9ba5a57c9f62
+1f5c8b5f58716408888b8ee505ff00026666fffffe6666ff0000999afffffd999a1e
+13b0ffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff00
+07999afffff5b3348b59080efb79fb7cb3f8cba98caf01e0d6ebd303caf811159d8f
+7a771ffbdc078efb1ba2fb05f7048b08aad5a2b89b8298741f738b817a857888807f
+81798b085a7dbbf7241ff7d3079aaeb5bfa58b948b94888f7f907e9a69a48b08a79e
+9ea7ad6b9c5f1f408b5f38898808e17607767e707d4081086d07958e9d8e9e8b080e
+fb8b89a8f80faf01e3d6e4d903f737d415f73107f732a49dad1e9d8b95768d7f9177
+977ea38b089aa094a9b553a0571f6f8b767f72795a6380468b3308fb22077488746c
+1e6f06858a86881f76078bcd8db5b4ca898b1ea1078e8a8f851e70066c889aaa1f0e
+fb8b89a8f80faf019ad9e4d603f74ad4156c887c6c1e7006858987881f75078bcb8d
+b4b5cd898b1ea0078e8a90841e70066c88a2a21ff722078be380d059b3739d759770
+8b08565476616da082991fa48b9798919f8d9795a09d8b08aca579fb321f0efb0e81
+b06eacf72facf74ba812ecdaf727e0133cf7d7f7d415ffffb5e666ffffd54cccffff
+e5199affffb9b3341e69f72c069e9897bf1eff00344cccff001db334ffffe4e666ff
+ffc9199a1ffb27fb5a15cb9307cf8bff0013999affffda199aff000b6666ffffe1e6
+660896640513bc9bffffc76666b2ffffdf999abb8b9a8ba98d9892ff00028000ff00
+0a4ccdff00004cccff00076666fffff73334ff000a4ccd678bffffefccccff000599
+9affffee3334ff003566660879c105fffff36666ff001ecccdffffe4999aff002133
+336a8e088c07ce91c0ff0029e6668bff0040199a8bd467b1fb1b8b728bffffdb6666
+89ffffd8999a8bffffd4b3338bffffe74ccd8c608c85858b769185c88796878b3808
+fb4d07137c8b3880884e8685858b769185b58cff001a4ccd8cff002bb3338bff0025
+66668bff000f999a8ab68a91918ba085915b90828e8bde080efb0e89a8f74bacf72f
+ac6eb012ecdaf727e013ccf7d7f70115ffffc9199affffe24cccffffe4e666ffffcb
+b334577e979e1ef72cad07ff00464cccff002ab334ffffe5199affffb5e6661ffb27
+f75a1513ec8bde948ebb9091918ba08591608afffff066668affffda999a8bffffd4
+4ccd8bffffe5b3338c618c85858b769185c88696888b3808fb4d078b3880874e8785
+858b769185b68cff0018b3338cff002b4ccd8bff002766668bff0024999a89a48bf7
+1b8bafb18bd48bff0040199a56ff0029e6664891088c07ac8eff001b6666ff002133
+34ff000c999aff001ecccc089dc10513dcff0011ccccff00356666ff00103334ff00
+05999aaf8bff0008ccccff000a4cccffffffb334ff00076668fffffd8000ff000a4c
+cc7e926d8d7c8b5b8b64ffffdf999a7bffffc7666608806405fffff4999affffe1e6
+66ffffec6666ffffda199a478b0883060efb61fb44aff716acf813ac12bbb264aa7a
+d2b8c4b2d755ab13f300f712fb4415c1c2b5b69881987b7d7a7e79777873726582bb
+c71fff0022e66607ff00044ccdffffffcccdff00041999ffffff999aff0004999aff
+fffeb333a684a687b08bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333
+0813e680ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8ba18b
+c583983691859f8c91918eaf8db08cac6c905b99578b0841485b4b1f8b42ac6cd86b
+0813eb00de699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b333ff
+000ab33475a280b785a48591788a8585ff0001ccccffffe9cccdff0001999affffea
+4ccdff00013334ffffeae66608fffffb66660613f300fb1607479b58c91e0efbb7fb
+6ab1f9dcad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7bc8cdc8bf6
+08f83907ea95eac51e9c8b9b7e9572907b927ea18b089d99999fa66ab3401f6f8b71
+8170764f5b883c8b2408fc4807fb2a6a70751e748b869a859a869c859a738b080efb
+b7fb6ab1f832b7f812ad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7
+bc8cdc8bf608f74dd20797969f9794888e801f3bf75406ea95eac51e9c8b9b7e9572
+907b927ea18b089d99999fa66ab3401f6f8b718170764f5b883c8b2408fb2f42077f
+817e7b829085941fdcfb8106fb2a6a70751e748b869a859a869c859a738b080efb8f
+fb6ab1f948ad01f724d5e4ce03f7ebfb0615738b857c857a867c867c748b087569a6
+f72a1ff7b4078bf289da4ebb71a070956f8b08416a637077997d9c1fa28b9198919b
+95a49b989c8b08c5952c2c1ffba5078b208c3ac75aad6ea38a9a8b08b5c1a5b49b7f
+9c781f0efbc3fb75a4f9f4ad015ea4f704d603f7ecf90b15a66ab3401e6f8b718170
+764f5b883d8b23088bfc598b7c05fb0f4f7d588b718b61b17cab8bc48bd8b393f736
+b5a27981ae9b0883a2057a847e85768108f868078bd690b9939c9cae9d9c9f8b9c8b
+9b7e9572907b927ea18b089d99999f1ffc00fdaf158bb6d2b3b7a3087d0727626e70
+826592a81e0efbab8bb2f7edc201f725da03f7a216998f97931f9807908a8c871e50
+f7c106d26ca75d1e5d8b5975645f8dfffff5b33491fffffa4ccc958aa59fa993a58b
+08a6916d4d1ffb912307817d87821f7707878e89901ef70c64064a87638b1efffff9
+999a8efffffd9999ff0004b3331eff000480008bff00088000ff0003e667ff00094c
+cdff00051999ff000b4ccdff00064ccdff000a3333ff00044ccdff000c8000ff0003
+800097ff0003666695ff000366678bff0006e6668bff000b999a88fffff966668bff
+006ee666080efbb9fb71aff8d3b201e4d603f738d615f7cfe90795998f941f9f078f
+888d861efb02f72f0651778b78053f7b6348898a8a881e6c07888c8a8e1eccfbae06
+8bfb359328ba65b06cb28ba28b089dad99a99d7897801f718b817f83818582858480
+8b085f95f72af7021f0e4b81ba84a6f749b2f70dac12e3daf758da13bcf883f7a915
+56b806a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc8898
+7f8b490863fb58b807a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b
+769185bb8799808b4a08624964cdfb040746a948ee1eb28bba9fbcb3908fff00094c
+cc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00
+048000ff00008000ff00068000ff0002800008137ca19dae9ac89291918b9a85914b
+90829e8bbc08f700c007fb1816fb06078b7889837d7f0813bc666b657b728b086d59
+99e41fed070e4a81acf7ffb81295a487d8f7b7d887a413d0f791a215374eded41f8b
+e3b6aeb59f0888dc058aa4858e7c8b08fb228b0513e07b2fa4890593b79190b08b08
+d38b905f0513d83c6556518b3c0835d430f72bf72ad2e6e11e8bda56c53cb10890b7
+d38b0513c4b08b9186935f08a48d7be7fb228b057c8b85888a7208883a0513d8b577
+b6688b3308424e38361e0e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15
+f77f0a0e298aacf82e7701f73cab15558ffffffa6666ff000c3333ff0014e667ff00
+32cccd08ff0050b333f75805ff00103333ff00278000ff00053333ffffff4cccff00
+0f999affffd6333408ff0048199afb5505ff0011e6665bff00044ccc7fffffcab334
+8485858b769185ac8cae8cac8bac8ba98aa98a91918ba0859156ff00064ccc84ff00
+10199affffeb999aff0032999a08ffff806666f7d005859a85917e8b818bfffff919
+9afffff9999afffff8e666ffffef666608ffff7a999afbcd05ffffed4cceffffd419
+9afffff5199affffe6e666538685858b7691859f8ca38ca58bac8bad8aa48a91918b
+a08591080ef72c8aacf82e7701f8adab1585858b769185a98cae8caf8bb18bff001a
+cccc8aff001a33348a91918ba08591ffffd0e668ff0004ccccfffff51998ff000a33
+34ffffeae668bf08ffff7d1998f7d70585998391818b828b8385847b0826fb8a24f7
+8c0585998391818b828b8385857c08ffff7d8000fbd105ffffef999affffd7199aff
+ffeee666ffffe3e666588885858b7691859f8ca18ca98ba98bb58aa98a91918ba085
+91408fff000a4ccdff001ce666ff000e1999ff0023199a08ff0053999af7640595a4
+8fffffffccccff00083333ffffeb333408ff00564ccdfb6f05ff001280005c898156
+8785858b769185a98cb38ca98ba48bac8aa98a91918ba085915cff00048000fffff4
+4cccff001cb333ffffee199aff002ccccd08fffff9999a9bd1f7450598acff000233
+34ff00018000ff000ce666ffffdf800008ff004ffffefb6205ff0012e6685b8a7b5b
+88080e3b89acf8badb01f7c3f8e115fffff06666ffffe43334fffff2e666ffffe366
+64fffff3b334ffffe266683bfb55ffffd33333ffff996666ffffcbcccdffff8f999a
+ffffec4ccdffffd5b333fffff1b3337b5cfffffa4ccd85858b7691859f8ca28ca78b
+a98baa8aa98a0891918ba08591ffffe066668effffdf999a919baf08ff00633333f7
+7905ff0006ffffff0010199aff00086667ff0002b332ff00088000ffffec333408ff
+0058b332fb64059dffffd5ccccff00053334ffffed800053fffffbb33485858b7691
+85b08cb38caf8bad8ba68a9f8a91918ba08591ffffd84ccc907e94ffffe5cccec808
+ffff8ee666f79b05fffff74cccff0014199afffff0b334ff002de66695a7ff000be6
+66ff00216666ff000c199aff001b999a9aaa969f9994a48b998b8f88968b08a89aa9
+98a0779b701f768b6383674b080efb0f89acf803ac01f75fda03ff00706666f7d915
+ff005a999afb3a8b66058b3880884e8685858b769185b58ca58cb78bb68ba48ab68a
+91918ba085914e8f808f8bde088bbcff004b6666f72d05ff0014999ab698a5c39091
+918ba08591758a798a718b668b758c668c85858b769185c1878f7effffe8b3345908
+ffffc24cccfb12ffffc0e666f71205ffffe9199ab9ffffefcccdff000f999aff003e
+3333ff0005666691918ba08591668a6f8a628b688b7b8c668c85858b769185ff0039
+8000fffff93334ff00048000ffffedccccff001a66665b080efb3ffffffd6666ff00
+24999af7fdad957712bdacff015b999aff00384ccc13d8ff01674cccffff4a800015
+ff0034199afffff1b333ff0040199aff0019e667ff000b6666ff00298000ff000366
+66ff000c8000fffff9ccceff000f3333fffff0999aff00043333fffff28000ff0003
+b333ffffec333283fffffb3334ffffee999afffffab332ffffecb333ffffe74cce79
+ffffe7e666ff0006999affffdb6666ff000a19998fff00308000ff000fe666ff0039
+e6670893ff001d6666ff000433348b0597ad98bf92bdfffff98000ff0003b333ffff
+f48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe6
+66fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff00
+07cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613b8ffffdfe6668bfffff3999a
+ff0004999afffff18000ff00056666fffffd999a8bfffffc6666fffffc66668bffff
+fd999a8a5e8668825aff0008ccccfffffc4cccff000c999afffffe199aff000b999a
+ff0002999a9fd4aaff00114ccca9ff0000b3340813d8f7148e0547fb0627fb243d22
+fffff76666fffff46666ffffff999afffffc999a8b86088493869a1eff010b8000ff
+fffd66667fffffd480000579ffffbe66678dffffca9999ff003bccccffffef999a08
+0efb3a8bb2e5acf779b201f720aaf75ea903f809e815f7800afb3c2e15c706e2beb1
+c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f005949993968b920893
+858e801efb83066e8b89958a8f08768f6dfb29a6860590ad9cb49594969399909f8b
+08f7228bfb80fbfb05858288878b8508809b899e1ef5067c657f63846608aa840590
+af98b79bb5080efb47fb7faef7c3adf796ad01b3a6f789dc03f713f6159c7c059d8f
+a992968b08d9aa6326fb004655591f638b70b183a183a37e95748b08758179796bc5
+4ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b8f858d848b898b6785
+6e8b08fb5f067c8b829289910872068a5e855f835a08a588059fd4ada0a98b08f725
+060efb34ffff27333376ff000bcccda3f746a2f70fb2f777b5977712c3a3f78bd113
+73f7ccfb09157653566e4e8b085b5ab2bdbcb3b3bb1fcb8bba61ac580892a91567b9
+54b34f8b084d59594d4bc95ac71fc48bc3a1b5b20813bbff000a8000ffffe98000ff
+000a4cccffffe6e666ff0009199affffe6cccd08ff001733349105fffff5999aff00
+1de666fffff3ccccff001dccccfffff38000ff001a199aa4a8a0bb8bc38bf72027ab
+578d08f6f777051337969590978b9708133b90878e811efb8306748b818e88910813
+37798e79fb11a0890592b295a4989008137b948e968c9a8b08f72b8bfb1bfba9059c
+92a58f9c8bde8bb2568b318b7288758678080efb3a89a8f8ecaa01a7d4d2d6cfda03
+f78bd315f73c078bd0ff00146666ff0019999aff002f999aff00296666b9b3acb68b
+d308dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08
+b3c8b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda80004b507d
+688b3508fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586
+ffffff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d
+8b9e058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff7
+4ccdff000b33338ba8080efb3a89a8f8eaaa01b1dacfd6d2d403f74dd3158b6e8280
+6a8808738905878788861f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e05
+90898e861e738d056a8e81968ba808f72b078be17dae4bc662b073a18bc608d5bda9
+c1bcc866631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60
+b963bb629f718b46080efb3a80aaf8eaa801a4d4d2d6cfda03f788f8d1158ba89496
+ac8e08a38d058f8f8e901f8b9e898d05598a778a628b648b778c598c088a898b7805
+868d88901ea38905ac8895808b6e08fb2b078b359968cb50b466a3758b500841596d
+555a4eb0b31e8b9d928f8ba5089d7b967477767a6b42ed4cecf2cfb6dd1e8bd36ab6
+5db35bb477a58bd0080efb30fb71bdf8d5ac01afe1f759e203f78cf82a15c68b9368
+8f688e709982a08b08a0a798aac252b32b1fffffc9b3338bffffd6cccd8bffffd080
+0053ffffd53333ffffcd8000ffffe0cccdffffa433338bffff6b4ccd8bffff814ccd
+ff00124cccffffac6666ff0024b334ffffd74ccdff0024b333ffffd6b333ff003199
+9affffeb4ccdff003eb3338bff003f4ccc8bff0033b334ff00194ccdb3ff0032b333
+0878a0878b05ffffdcb334ffffe0b333ffffdb4cccfffff04ccd658b638b6a9b71ab
+ffffe4b333ff00214ccdfffff24ccdff004966668bff00714ccd8bff0088b333ff00
+0d4ccdff00550001ff001ab333ff00214cccff0018b333ff001f4cccff001a999aff
+0016b334ff0022b3338b080ef681aff785f700f78baf01b5ebf737f700f73aeb03f7
+f7f79f15a40a78f7f715640af7e3fbb915650a0efb0889acf74ea8f72cac12f6daf7
+2edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f7830a13f8f7
+840a0efb0b82caf71ac2f71aca01a9b7f7e0b20314e0f76d8215f701f70bd0f738f7
+1dfb0edafb03fb22634b561f8b5bb062c97844756f678b650855ab41f72f1ef81604
+f719c34f2a5c69fb0bfb292061a2c31f8bb2a8a1ca98b280b583a18b08a99b949e9e
+7a93691f618b6b8272844b9a70a78baf08cfc88edd1e0e357faef72da6f761add3ca
+12add8f796c062a613f8f89af8d515ffffcb4ccc8bffffb2999affffd61998fffff9
+8000ffff99999cffffdc4cceff00026666ffffd68000ff0003e666ffffdfcccc8b08
+fb20292cfb1d25d4fb07f72e1fd88bff0034b3349eff00334cccb108b7078bff0038
+199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14ccc8bffffe1b3
+348bffffd74ccc8c6e8c85858b769185c88790ffffee199a8bffffc4e66608650776
+ffffecb33370fffff54ccd698b08fb0d5beef6f706d4cad31fe28bb2789d31ff0009
+4cccfffffc3334ff000966688dff00094cccff0003ccccfffffee666b7fffffe3334
+b7fffff7e666b7fffffb66668b86ff0000199afffffaccceff00003332ff0001e666
+ff001accce99ff0037e666ff002ee6668b938b958a9488089288948b928b08a0979c
+9b1fa17b9a771e0e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0efb
+b3fb45a8f8a9a7a877f711ef1279a8e0ef42da13f8c5fb2815727596a51f8bb3b4a7
+d4b20874072e636f701e13faccf86515fb8507708c758b1efb104f795f8b638b61ad
+79b38bc48bdbb793f736b6a28386ad9c0884a6057a84747f7682088bba8bf76705bd
+8fcb8b1e8f868e831e6f806382468289858d7b8d8508c18696858b520813fc70f7ae
+15850a0e52fb6d76a6a9f747acf803ac01f800da03f84ff7c7158bde968fc38f9191
+8ba08591618affffe8b3348affffd64ccc8bffffdc80008bfffff380008c608c8585
+8b769185b48796878b38083407ffffecccccff00008000fffff1e668ff0001999aff
+fff64cccff0003666680ff00078000fffff6e66694fffff4199a9b0842ed05ffffe2
+999aff00278000fffff76666ff000f8000879affffff3333ff0002e666ffffffcccd
+ff0002199a888b778a7f8a6d8b6c8b768c6d8c85858b769185ad87ff00194ccdffff
+fb999aff001ab333ffffde666608f718fb3a05ff0003999afffffb8000ff00036666
+fffffb80008b868b878b898787083330056d6b6883638785858b769185b08c998caf
+8bb18ba28ab08a91918ba08591538fff0017b333ff00234ccdff00094ccdff000bb3
+3308a2a8ff001f4cccadff0019b3349eff00163334ff00106666ff001ae666ff000b
+cccdff0012e666ff0002999a08fffec23334074a87638b1e848f88941ea495d699b3
+8e8d93899b8591578e7f868bdf080efb3489a870b5f7fca812edd6f753a613b8edf7
+f815fbaf078b6c8afffff5666667fffffd999a086d8905878789851f13788b780513
+b88d89051378a98cba8ca98b08f7310613b8a98bac8aa98a0894f71f708d0513787f
+3f7c765b8b08fb08f7ce068ba7ff000b8000ff000cccccff001e8000ff0003333408
+9e8d0590ff000080008fff000280008b90088b9e898d05668a6b8a658b678b6c8c66
+8c0889898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc80
+00ff000a199afffff380008b6f080e2afb7ea8f757b7f807adf775ad01afe0f772d6
+f5dc03f7ebf7e415fbac0771776889788b085137b5f72bf3b2d5db1fb58bad73a65e
+08fc85048b6ffffff5ccccfffff44ccdffffdf3334fffffdb333086e890586ffffff
+b33388fffffd4ccd8b86088b788d8905b08cb48caf8bb18bab8ab08a088d8d8b9e05
+8b9087ff0002999a87ff0000666608788d056aff0003800081ff000a80008ba7088b
+f8b08bb18bc405f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c80
+9b7c98779d7597628b0848354cfb321fffffc4333407ffffe3999aff000f9998ffff
+de6666ff00063334668b08fb0e3527fb182ec6fb10f7241fc48bab9f9a98080efb3a
+89a8f767b2f76b76f72eaa01a7d4d2d6cfda03f78bd315f73af700078e928d908b92
+8b918a92879208ffff96999a06ff0006ccccb6ff0014999aa2b1acb9b3acb68bd308
+dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08b3c8
+b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda8000ffffcf4ccd
+ffffd3199affffec4ccd6cfffff94cccffffcde66608ffff89199a06878589858b83
+8b858c858f8408ff0075333306ffffffe666fffffb3333ffffffe666868bfffffacc
+cd08fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ffff
+ff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d8b9e
+058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccd
+ff000b33338ba8080efb3a89a8f767b2f76b76f72eaa01b1dacfd6d2d403ff0103cc
+ccf78215ff006e3334068e928d908b928b918a92879208ffff8f199a06fffff94ccc
+ff0032199affffec4ccdaaffffcf4ccdff002ce66662b073a18bc608d5bda9c1bcc8
+66631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60b963ff
+00264ccdffffdf4cccff00148000ffffe8ccceff0006b333ffffd4e66608ffff9080
+0006878589858b838b858c858f8408f707fb3a068b6e82806a880873890587878886
+1f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e0590898e861e738d056a8e
+81968ba808f72b078bff00053333ffffffe66690ffffffe666ff0004cccd080ef763
+81ba66adf7fab072aef75ea9a67712b0e1f770da9eac131f80f862f84b15f7360a13
+2f809fd4aaff00114ccca9ff0000b33408f7148e05ffffc26668ffff98ccccffffa8
+3330ffff80199affffb60002ffff9acccdffffdfccccff00096667fffffa999aff00
+13e6668bb108f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fb1407848989841e139f80878b629c6a8b498b5f756365606071508b418b
+fb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00098000ff00
+01cccdff0000b3348408ff00028000ffffe78000ff00088000ffffdd80008b8b9388
+90ff0000800091ff00028000ff000c4cccff000a199aff00106668ff00091999ff00
+16b332ff00074ccdffffffb334fffffe8000ffffffe666fffffe999a8bfffffe6666
+08136f808493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000
+ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668ffff
+fecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc
+8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999a
+fffff18000ff0005666608fb0bfbcf15f7050a139f80f7060a0ef734fb7faef752ba
+84a6b9adf796ad72aef75ea9a67712b2e1f770da57d7f756dc13d7d0f7edf710157b
+0a80fffef84ccc157c0a13bbd0a19dae9ac89291918b9a85914b90829e8bbc08ff00
+e9999a07ff00116666ff001766669f93ff0012999a8b08f7258bfb3cfbb49c7c059d
+8fa992968b08d9aa6326fb004655591f139bb0f77d0a13d7d0fffffb66668b87ff00
+00999afffffc999aff0001199a08ff00984ccc07cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fb1407848989841e878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284ccc080ef77281ba66b2e5
+acf779b271aef75ea9a67712b2e1f770da8ea6f7cea91367e0f994e815f7800afb3c
+2e15c706e2beb1c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f00594
+9993968b92081337e093858e801efb83066e8b89958a8f08768f6dfb29a6860590ad
+9cb49594969399909f8b08f7228bffff28e666fffeb8cccc05ffffe3199aff0009cc
+ce86ff0013e6668bff0024800008f85907cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fb1407848989841e13afe0878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e6
+67ff00098000ff0001cccdff0000b3348408ff00028000ffffe78000ff00088000ff
+ffdd80008b8b938890ff0000800091ff00028000ff000be666ff0009b333ff000fb3
+34ff0008e667ff0015999aff00073333ffffffccccffffff19998bffffff199a8b8a
+081377e0809b899e1ef5067c657f63846608aa840590af98b79bb508fb93f71015f7
+050a13afe0f7060a0e8f7fa9f809b279a912e4d651c5f4c9f738ce6a9f13b6e4e215
+2bb288f7271eb18bf7228bb9a4b4a19fab8bba8bb57dba3ea72baf5fb28ba78bc6b9
+9eb28b0813a5a18bc880a9fb00089f8c7ff70d057896579b598b3a8b49588b468b43
+b876bf770813d6cd71ca6d8b4e8b595773658bfb058b239379b286998aa18bac08f7
+95f703b20713ccfb03f72e0651778b78058b5f876f837c7d756a85708b08640713d6
+d0060efb19fb73b1f743c2f7edb2f776ad12e4da5bcde4d613f6f72bfb0f15787f7a
+7b62c171b51f9a8ba28caea8c7bc8cdc8bf608f83907ea95eac51e9c8b9b7e957290
+7b927ea18b089d99999fa66ab3401f6f8b71817076ffffc43334ffffd03334fffffc
+ccccffffb14ccc8bffff9980000813fa20b206cc8fb38b1eff0006666888ff000266
+64fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664ff
+fff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc99
+9881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a085dff
+ffffe666057d877f831f7e07868c8a8f1ec6fbc10644aa6fb91eff00244ccd8bff00
+26cccdff000db333ff0021e666ff001b666708ffffd8e66607fb2a6a70751e13f674
+8b869a859a08869c859a738b08f710ff00be4ccd1573fffff03334ffffe56666ffff
+f98000ffffe8999a8b0813fa7085a9c91ff791f3078c8b8c8b8cff0000199a080eb6
+81c2f70ba4f75db274ac12e4dad8e1f74ee572ac13cdf8daf71515f7770aac98158b
+ff0011b333fffff96668ff000de667fffff49998ff00076666fffff58000ff0006cc
+cdfffff16668ff00013333fffff219988bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce0813ded6b8dfd21ec18b986f8e6dff0002b334
+ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f8b
+58ff000bb334ffffcfb333ff00191998ffffd86667ffffe64cceffffecb332ffffe2
+8000fffff83334ffffe666668b087085a9c91f13edf791f30795998f941f9f078f88
+8d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb8000
+8bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5
+cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919
+988bfffff466688eff000699988bffff91199a085dffffffe666057d877f831f7e07
+868c8a8f1ec6fbc10644aa6fb91eff002c66668bbbff00148000ff00266666ff0028
+e666ff00104cceffffec4ccdff00144cccffffef3333ff0018999afffff3199a776a
+786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788a88b988b08d3ecc1
+ed1f0ef776fb71aff74ba8f7ffb265bbf776ac12ebd6f741ee4dd6f75ed613ed80f7
+f4f81a15a58e7f521ffb8d078b6efffff46666fffff54cccffffe0999afffffcb334
+0878890586ffffff800088fffffd80008b86088b788d8905af8cab8cb18bb08bab8a
+af8a088d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdd999aff0003
+999afffff76666ff000a66668ba808ff00fd4ccc0713de80ff002ee666ff0031999a
+ff00333332ff0010199aff0025e6688b08b1a775481ffb77078cfb0094fb2c5f8b80
+8b8592859483958197718b0880787f796dad7d9d1f9f8bad8bb0aabab19bee8bf736
+08f73f07e57ad0331effffcd4ccc8bffffbe199affffeb999a54ffffcbccccff0000
+ccceff0023199aff0001ccccff002580008b8b8bff0001e6668aff0001199a888b08
+13ee806d7f6d8a688b08fb51c406f72ecfa4ac1eab8baa7f946096559c73aa8b9f8b
+9f9d8b9f8bb06ab266a4729c7195658b08372353fb5a1f7c580779867f831f7e0786
+8c8a8f1ed0fbd2068b6efffff56666fffff56666ffffdf999afffffc999a08788905
+86ffffff800088fffffd80008b86088b788d8905af8cac8cb08baf8bba8aaf8a088d
+8d8b9e058b9087ff0002cccd87ff00003333086a8d05ffffdc4ccdff00023333ffff
+f8b333ff000bcccd8ba808f7d2070e4681ac72acf80bacf75ea9a67712eadaa2aa7a
+d2f721d755ab137d80eaf70e158b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8aff0000cccdff0000cccdff0000b333ff00011999ff0000999aff00014ccdff
+00004cccffffffe667ff00004ccd8bff00004ccdffffffe6660813bd80a684a687b0
+8bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333ffffc3ccccff00164c
+cdffffd83334ff000f80008bc28bb4afa2ad8b0813bd40f72c0a13be80de699e768b
+608b5a5b76668b648bffffea4cccff000d4cccfffff5b334ff000ab33475a280b785
+a48591788a8585ff0002e666ffffdcb333ff00024ccdffffddcccdff0001199affff
+dfe6660873ff0007cccdfffffab333ff0013e6678bff0039e66608f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080e87ffffffe666ff00
+22199af7fab09577f772a9a67712eadac3ac13bef78ff84b15fffffd999afffffc66
+66fffffc6666fffffd999a1f8a5e8668825aff0008cccdfffffc4cccff000c9999ff
+fffe199aff000b999aff0002999a0813de9fd4aaff00114ccca9ff0000b33408f714
+8e05ffffbc199affff8e199affff9c199affff703333ffffb1ffffffff96ffffffff
+d44ccd8ffffff78000ff000c999a8bff0049199a08f86107cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fc49078b3880864e8885858b769185
+ae8cb08cb38bb38bb18aac8aff00008000ff00008000ff0000999aff0000b333ff00
+006666ff0000b33308ff01308000fffffd199a0597ad98bf92bdfffff98000ff0003
+b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75
+ffffcbe666fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002
+b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3
+999aff0004999afffff18000ff00056666080efb2af7a3a2f7cfa201f7eff7a315ac
+88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ff
+fff3e666ffffe54ccefffffc4cccffffffe667fffff5ccceff001ce66608ffffdae6
+66ff00694ccd05fffff48000ff0020b33489ff000b4cccff002080008e8f8f8b9a87
+8f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333ffff
+fb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc66
+67ffffae666605fffff3e666ffffe54ccefffffd8000ff00004ccdfffff4999aff00
+1c800008ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c66
+66ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c87
+878b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ff
+ff46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff0006
+33348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff6
+0001ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff00051999
+909608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666
+ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87
+08f7e604f7860a0efb5af73ec1f7b0c101bca7f787a803f7f1f7fe15f75cfbc0fb5c
+a7f726f787fb2607a8fbe715f75dfbc0fb5da7f727f787fb27070e72fb6476a5a6f7
+38baf803a879a8129ccdc6d5f75ad613eff76cf73b15f74388ef206e4f7c696ba488
+8e1ea28b96a38f9b8f959090968b08ae8f4afb2bfb018f27f31fb28bc59acece08fb
+bfa1079f949a909d8e9c8faf909b8b0889a4058b8e898e888a086b880577819fba1f
+f8670713f7a7949bad1e9e06908e8e901f8b9e898d058b47896764478d8b1e89898b
+7805868f888f1e9e06ac957c6e1ffb8e075b5c60716e8b084d7bc9d11f0e88fb79a8
+f750baf803a879a812acceb5d5f75ad6cece13eff87d9415f7f107a7949bad1e9e06
+908e8e901f8b9e898d058b47896764478d8b1e89898b7805868f888f1e9e06ac957c
+6e1ffb8e075b5c60716e8b084d7bc7d01f13dff73e87f700326e4e7c696ba5888e1e
+a28b95a3909b8f959090958b08a18c46fb2a368bfb0df7001fb28bc59acece086c07
+fb329ffb02eea8c89aacab728e871e748b8174867a88828586818b086c7acff7211f
+0efbb4f800a2f766adcba101c2bcf703bc03f3f92c15b58da58b1e90898d851e7b84
+5d837189088c7905898d8a8d1ea08a05989184611ffb80078b76fffffe999a88ffff
+e866668808838a05878b88891f79078bb08ca3a5b38a8b1e9d078f888c891e808c05
+ffffee199aff0001999afffff8e666ff000466668ba008f71d079ea2a0a1a08b08a9
+9f7a581ffb06078b76fffff9cccdfffffbb334ffffed3333fffffe4ccc08808a0587
+8a88891f79078bb38ca4a3b18a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00
+034cccfffff9ccccff0004b3348b9e08f71007ce6da45e1e678b68687d7b080efbb4
+f7faa2f771a8e0a101b9bccfb78cbb03b9f828157c8783791e8106888a89881f8b7a
+8c8a058bae8c9e9fb98a8b1e8c8c8b9c058e898d881e82067a85939a1ff73307a4a4
+ab999a8b08a39c77611ffb1c077c8683791e8106888a89881f8b7a8c8a058baf8c9d
+a0b88a8b1e8c8c8b9c058e898d891e81067a85939a1ff72407c170a8641e778b6383
+686808b7078b9f8c968e9990a79a96998b968b9887917c8f818f809a8b0896959595
+9f78a1516f537a2b1f0efc18f79b9ef7d1a0c9c4128bbbb2c758bc13f8f709f97715
+f7870a13f476fb5215f7880a13f8f7890a0efbf1f801a8f75bb761a112d5bb13d0f7
+3ef8e515f78a0a13b0f78b0a0efbf1f7fab37c9ff75fa312f712bd13b0f712f85c15
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d8b89509a8b051370a396a391b29308899f057f8780887e8b0880
+8898991ff732079f8c90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d
+069c938a731f0efbe7f78e9ee4b3f764a301f712bdbcbb03f744f82115f74c079f8c
+90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d069c938a731ffb1107
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d068b369071a66c9b799f849b8b08a6ad999e9c82947f1f7c8b83
+7b877e8a848787868b086e81aee81f0efbd3f800a1f7059ee5a27f9e12c4bce5c113
+eca7f8f415a78c85761ffb47077f8a857d1e7c8a05898a8b891f7af71307b3c69dc9
+1f8bad74a66b9008a2c90513dc95a79b9e9d8b089d07848c858b848b6a8b77757e67
+08744d5c8b8bca0513ec9f8d92a18d8c8c8e1e8b9c8a8d058b6c8a7774688c8b1e8a
+8a8b7805898f8a8d1ef73cfb3a1573836b541e828b828c828d08f702ad07b7976a73
+1f0efb1df8f5a201f7eff8f515f7860a0efb95f782b4f7dea201a2f7bc03f785f8c6
+15ffffc94ccdfb13fffffbb3338a52f71405fffff2199aff001f1998ff00006666ff
+000ce668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c
+748c87878b7c8f87ac87ff0001999a7fff000f66666808cffb2e05ff0005999affff
+f34cccff00046666ffffeeb3348b848b858a8688837b65786c828b858b8690859187
+90858e828b088178827974aa81971fb78ba2b19eb7ff00344ccdf70dff0014b333ff
+002e4cccff001dccccff0046e66898aaff0004b334ff00104cccff001f8000ff0003
+80008f8f8b9a878f7d8a808a7b8b748b7d8c748c0887878b7c8f87ac888ffffff480
+007dffffdf8000080efc29f8b4f744019bf71503f714f95d158490858d838b088706
+7f8a84878882084bfb26058a8a8b8a8b8a8b878e878e888e8a8e8a8d8b8e8b8e8c8d
+8d08f1f70d058f908c918b908b9785968091080efb89f8c4f74101c1f79903f7cff9
+4715f7210afb189115f7220a0efc3ff86bd3e59c01a8b703e4f86b15a9999d9b9b86
+a162838593981f8ba2a0b0b59408869c0545836b4d8b670867a166b11e0efc38f86d
+9ce5d301eab703daf92015f7040a0efc3ff8749ce1d701a6bd03e2f92715f78c0a0e
+fbf4f82fb6f72eb601f732b703f75ef8a215d65abd481e828b788882890894620591
+8c9b8d918b08b6a86b595572795c1f828b828c838e08866205928894889a8b08c6c4
+b1d81f0efbf4f82fb6f73f768fb612b9b213b0b9f8ac1540b859ce1e948b9e8e948d
+0882b405858a7b89858b08606dabbdc1a59dba1f13d0948b948a9388088fb40513b0
+858e818e7d8b085056653e1f0efbb8f90a76c6a401c5b4a4b2abb303c5f90a157b9b
+86921e938b94908c948d9e94a5b88ba68b98768b718b787c7d7b7e777b77798b6d08
+68b2a7078ba69c9b9e9a9e999c9a8ba508ba67a85e4b6b6a6d1e0efbb8f930a301c5
+b3abb2a4b403f77ff90a15a86bad4b5e676e5c1e8b719c7c9e7d9e7c9c7b8b70086f
+b2ae078ba9779d779b7b987c998b9e8ba598a0a68bb88b94718d778c829487938b08
+929b8f9c1f0e3ef7f3f7bb01f738f88615f78bf28bb8fbc4fb128b61f7c4fb138bb8
+050e3ef7f3f7ba01f7f6f88715fb8b248b5ef7c4f7128bb5fbc4f7138b5e050e3ef7
+eef7c401f704f7bb03f797f8e515730a0e3ef7eef7c401f703f7bb03f797f8271524
+f78b5e8bf712fbc4b58bf713f7c45e8b050efb8abef79103f756f93e15f78d0a0efb
+8af729f89a15f7030a0efc65f8aef74c01b4bb03e5f95f158390858d848b858b7e86
+81858c718b628b738b768b688a7792879289928b918b998e9492088aa88bb38ba28b
+a28bae8c9c080efb3ef89abd01d5f79903f7cbf89a15f40a0efbd5f8b8f73401b7f7
+3003f717f95815f78e0a0efbd5f8b7f73501daf73203f735f95815740a0efc1ad0c1
+03f70ffb7815f78f0a0efb61fb17b701d5f78403f7b7fb1715f7900a0efbe6fb6ff7
+2101aff74a03affb0b15f7910a0efbdafb6af72601b8f73f03c6fb6a15f7920a0efc
+16aff71f03aff82915d0fb0dd1f70d05fb1ffc0415f71f8b45f70d050efc1baff828
+15d0fb0dd1f70d050efc27fb77abf70aac01f711ad03f711fb1c156971726a1e868b
+868c868c08826c059389938a938b08bfb4b4bdbe62b4571f7f8b7f89818708976c05
+928e928c938b08afa26f6c1f0efc27fb6cabf70aac01adac03adfb111558b563bd1e
+948b938c928d0883aa058689868b858b086972a5acaaa4a7ad1f948b928a92880897
+a9058090808d7e8b08586261591f0efbe4fb78b701f701b603bbfb7815f7930a0efb
+e4fb6376f70ab701f700b603f7684915f7940a0efbd5fb29b701f708b703f734fb65
+15c7ce0791948e928b928b92889186930847cb06838f858e858b848b84888184084e
+4807848489848b838b848d848f8308d14a0693879189928b928b928e9493080efbd5
+fb11b701adf75903f7733a15fb4706848488848b838b848e848f8308f7490691948e
+928b918b9388918693080efbaaf8a5c401a0a6f76ca603bbf93815f7950a0efbc4f8
+b7ed01eced03ebf8eb15f7010a0efb7ef8deabf5ab01e8b3ebb303f749f96815ba0a
+335615da0a0efb99fb5cb101cbc903f79afb1b15f7960a0efbc3f8ccc089c212f794
+a613a0f765f90115b30a1360b40a13a0b50a0efb89f8c4f74101c1f79903f7cff947
+15f7210afb189115f7220a0efba9f7b2bef7187701f725b803b2f81115996505a59a
+bba0a5908682887b8b7d8b5ea17d9b8ba58ba197bcaf08809f05757f8086758b788b
+869b8ba18baf9aa19ca4087d96055d654c6f4f75080efb80f774f8f615e1d4058794
+8b8b869386938b8b869008fb0243fb05d30586868b8b868285828b8b888408e34134
+42957b058f848b8b918508f703d2f703440592918b8b8f9290928b8b8e94080efbb6
+f7faa3f7a9a301e2aec7b303f727f7fa15c59cb59b1f8b948ba562ca088d91d7f711
+059296998e9a8b088ba18a8d058b6b897a1e7c8b748c7a8c088a898b7505a0988a81
+1f8b898a898a8708502855ef05898f898e8b8e0890928ea11e8ba18a8d056e89708b
+7c8b798b7f8c7c8c088a898b7805888d8b8d1e9b8b9e86937b08d6fb1f6a5905847f
+81798b7b086ea47bae1e72c0158b9798a19eaa089083059f6e8e7d8b820878807c77
+7a7f959e1e0efc46f7ffa1f7d0a001c2bc03c2f84c15f7970a0efbeaf7faa4f779a4
+12a7a17cbbe2c16fa213e8a7f85e15f7980a13d4f7990a13e8f79a0a0efbb4f800a1
+f775a101a0f7a603ff00ea3333f8cd15a7ff0023e668ff0004b332ff00044cccff00
+1c199aff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88a
+fffffe3333fffff7ccccfffff2cccdffffed3334088b8b8a8a63530867c4057f9f8b
+92a88c8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199affff
+fe3334ff00011999fffffd9998ff001a999affffda333408ff003833333b058888ff
+ffcecccd518b8bffffe19999ffffdc8000fffffdb334fffffb4cccffffe3e666ffff
+fe333487878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d
+8b8ba3a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a
+8a9d8a8f8f8b99878fffffe3e666ff0001ccccfffff9999aff0002e668ffffe5b333
+ff00254ccc08ffffcbcccdd5050efbf0f800a2f7dea101a5bbb2bc9dc303f74df817
+15748b949d1fd0078bb972a773a477a078a18bab08a99ba9b0a9a57a721e8b878a87
+8a888b888a888b8708789c8795979c959cbf51a8564c676b591e8b5da277a177a079
+a0798b64083b078b798a81748a088006878a89881f79078bb28ca4a4b28a8b1e9d07
+8f888c891e0efb32a076f8e1c301f7c9ca03f808f91915fbee53f7affce1ca060efb
+32a076f89bc3d17701f7c9ca03f808f919154c45fbaf53f7affc9bca060efb32a076
+f7cec3f7a77701f7c9ca03f808f919154cfba7fbaf53f7affbceca060efb32a076d0
+c3f89c7701f7c9ca03f808f919154cfc9cfbaf53f7af46ca060efb328bc3f8e17701
+f7c9ca03f808f919154cfce1fbaf53f7ee060efb7ad5b801bdbe03bdd515f79db8fb
+6af78d58060efb73f762b901bdbf03f1be15f72ff770b9fb70f72b57fbf4070efbaf
+fb15f7940198f71315f713fb94aa8bf70ef7945e8b33fb4a2df74a050efb01f8dbb6
+e8b701f876f8db15b6fc716007f871f71c15b7fc715f070efb6df8579fdbdd01f716
+adf70dad03f1f90d15f79b0af72f8d15f79c0a0efc10ffff1d8000f7550195ff00c3
+b33303ff006be666ffff61b33315ffffc38000ff007ccccdffffda999a8bff005633
+33fb55ff00194ccd8bff00543333f755ffffda999a8b050efc10ffff1d8000f75501
+95ff00c3b33303ff006be666ffff9a4ccd15ff003c6666ffff833333ff002566668b
+ffffabcccdf755ffffe6b3338bffffa9cccdfb55ff002566668b050efbcdffff1c66
+66ff00c33334019ff77c03ff0058b333fb1615f79d0a0efbd7ffff1c6666ff00c319
+9a019ff77c03ff00b74ccdfb1615f79e0a0efbfdfb5eabf5ab01a8b3ebb303f7094b
+15ba0a335615da0a0efc2af785f74401a9f71503d3f83515ffffe08000fffff58000
+ffffe9ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338b
+ff0002cccdff000a66668bff0002999a8b8c8b8dfffffeb3338e08ffffc14ccdf723
+0587948390808b080efba6f787f74201a9ff0103b33403cff82f15ffffe8999affff
+f16666ffffede666ffffee199a1f8b858d84908508f706fb02058d898d8a8e8bff00
+02999a8bff000a6666ff00044ccd8bff0009b3338b8c8b8d8a8c083df71f05869484
+8d7f8b08f71c9115f7620a0efba6f787f74201a9f79903f791f82f157f8b84898682
+083dfb1f058a8a8b898b8a8bfffff64ccdff000a6666fffffbb333ff0002999a8b8e
+8b8d8c8d8d08f706f7020590918d928b918bff0011e666fffff16666ff0012199aff
+ffe8999a8b08fb1c9115808b8386878208ffffc14ccdfb2305fffffeb334888b898b
+8a8bfffffd6666ff0002ccccfffff5999aff000b33348b8e8b8d8c8d8d08f1f70d05
+90908c918b908bff000dccccfffff58000ff00163334ffffe080008b080efba9fb0e
+b78fb9019fa3f77aa303f7743d15788b7a957b97779975996d8b608b746d7d5008a3
+860595ac989aa58b9c8b9e809d80a07da07fa18bb98ba8a997c7087391057d617d81
+758b080efbfaf7ddf5f731f501cbf503cbf91915210afb9b04210a0efc0ff92db401
+a9b703a9f8a31590829487908b918b958c949308f722e50795908d968b908b908692
+7d9308fb088b807f050efc0ff92db401f718b703f744f8a3158bf73b8097fb088b05
+7d8386848b868b868d80958608e5fb22069483958a918b908b948f9094080efc0f99
+b401a9b703a9f755158bfb3b967ff7088b05999390928b908b90899681900831f722
+068293818c858b868b82878682080efc0f99b401f718b703f744f755158694828f86
+8b858b818a828308fb223107818689808b868b869084998308f7088b9697050efb89
+fb0bf70bfb0bb712a9b7f75eb71370f7a881154afb5ecf078491848e858b848b8487
+818308340713b07d8f839f1ef77f069b9a98961fe307848e848f838b08848b848883
+84080efba7fb0bb701a9b703f7b24015ffffed8000ff0007e666ffff3e8000fffff8
+199a8b8b08cf078491848e858b848b848781830834077d8f839f1ef761069b9a9896
+9387978b1f0efb3d82a901f820a015fbb7069395a8a59bb0086a067d7b625c597908
+8007c76ba57b9e6808ad067cab76a0799e08f7b7060efb30f95815740a0efb2cf958
+15a30a0ef8bef73101fb9ef79003fb0ff95b15f78d0a0ef8d2b78fb9849512138037
+f90115788b7a927b977799759f6d8b608b74647d509185958a968d95ac959aa58b9c
+8b9e839d8008a07da079a18bb98ba8b297c7858f818e808a087d618081758b080ef8
+abbd01fbeaf7990322f8ab15f40a0ef8edb70164f8ed1598959d97918793821ffbe9
+0680807a7f848f83941f0ef8a5c401fbbca6f76ca603fba1f93815f7950a0ef8a0ef
+01fb7aef03fb7af8d415f7010a0ef8a2ea01fbe9e9d6e903fbe9f8d115950af73d16
+950a0ef986a601fb7cbdb7bd0333f96715f79f0a0ef8ccabf5ab01fba2b3ebb303fb
+4af95615ba0a335615da0a0e64f94715f7210afb189115f7220a0efb79f8a915f703
+0a0ef8b8f73601fb48bf03fb13f953158390838d848b858b7c8681858c718b6e8b73
+8b768b728a7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8
+aff74801fbd3b8c7b703fb3ef8af15f7485ffb48074f8c15f7475efb47070efb98f9
+8315f7610af71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b868c85
+908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff000299
+988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8a5c4cfe601
+fc16a6cae5caa6031438fbbcf94f15f7a00a4c7415f7950a0ef8e0c401fbeba6f76c
+a60327f88615f7a10a0ef868dddb9f01fb32ad032bf86815f7170a0ef86a9fdbdd01
+54ad0338f92015f79c0a0ef86f9fdbdd01fb15ad0348f92515647466671f8b739275
+9b77ff0010e666ffffeae666ff001c199affffef199ab1868f8f8c948b92529777ab
+8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0ef8
+5e9fdbdd014cad0330f91415f79b0a0efb6ff72101fbe7f74a03fbe7fb0b15f7910a
+0efb6af72601fbcaf73f03fbbcfb6a15f7920a0efb6d76d1b601fb68b703fb3cfb79
+15f73c07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508
+f7034a0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c
+0790889189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc
+06848e858d848b848b83888285080efc26f8bfb401f712b703f73ef849158bf72780
+97fb268b057d8386848b868b868d80958608f70cfb0e069483958a918b908b948f90
+94080ef7e0a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a
+98838b7e08696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb
+2915a89ba6b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f90
+8b908b908c088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb78
+15f7930a0efb6376f70ab701fba3b603fb3b4915f7940a0efb3bb601fba5b703fb79
+fb7815c8ce0791948e928b918b92889286920847cb068390858d848b858b84888185
+084d4807848588838b848b848e838f8408d14a0692879289928b918b938e9492080e
+fb3bb601fb35fb1015fb4706848588838b848b848e838f8408f7490691948e928b91
+8b9288928692080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e
+7e62bf5fc4c99bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb81
+04c1c2b5b69881987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e
+0efb3bf70001fba2f70003fba2fb0515f7a20a0efb3bf70001fc06f700e5f70003fb
+40fb0515f7a20afb5a16f7a20a0efb5eabf5ab01fbc5b3ebb303fb6d4b15ba0a3356
+15da0a0efb76a3dadd01fb77b203fb8e6215f7160a0efb5ca8d6ab01fb2dc903fb4e
+2b15a50a0efb5cb101fbecc903fb26fb1b15f7960a0efb81f74501fbafc103fb79fb
+7915f78f0a0efb63f70b5fb712fc0bb7f72cb71370fbdffb5915f7a30a13b0f7a40a
+0efb75cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b
+888b888b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac
+96a5d1a344ae81998bae8ba9c29cd787907c95868e080efb79fb7015bd06a8b9b1b8
+aeb20878980566706972666569af6aa564a708777e05ae63b060a85c080efbd6f791
+03fb3d391559066d5e655e6864089f7d05b0a6aca4b0b1ac67ad72b26e08a0990568
+b365b66fb9080efb7ac401fc17a6f76ca603fbfc3815f7950a0efb6176e5c401fc16
+a6f76ca603fb23fb7615f7a10a0efb14c089c2122ea613a0fb204015b30a1360b40a
+13a0b50a0efb17b701fbfcf78403fb23fb1715f7900a0efb17b70142fb1715f7a50a
+0efb67b7b9b701fc06f79803fb19fb0d15f7a60af7753115f7a60a0ef739c089c212
+2ea613a0fb20f76e15b30a1360b40a13a0b50a0ef75db701fbcff7840329f75d15f7
+900a0ef75db70142f75d15f7a50a0e3ff85a15fc0cfc5c058d7c97809b8b08f80df8
+5f05879881957a8b080e9376f9337701fcee7e15f89bf91505fffffdb333ff000ee6
+68fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4f704b201
+fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b08c2b7b5
+c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb65f70bfb
+0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b848781830834
+0713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b84888384080efb
+82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74af73a070e
+fb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a8f8b8f8b
+8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a8b7d8b6a
+80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00cb199a01
+fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049ccccffff
+e3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffffe34ccc6f
+ff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff00493332ff0049
+1998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff00133334
+f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ffff0c8000
+f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334fffff3b332
+7bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff0033e667
+fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff000a66668b
+ff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e6668ff000c
+4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ffffe5999a
+ff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff00250001ffff
+f4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd15f7a50a
+f7ed3115f7a50a0ef8b7f73501fb82f73203fb30f95815740a0ef8b8f73401fb83f7
+3003fb2cf95815a30a0ef886c089c212fb1ba613a0fb4af8bb15b30a1360b40a13a0
+b50a0ef86a9fdbdd0154ad0338f92015f79c0a0efb77f8a4ea8c7612bde9d6e913b0
+bdf8d315d80af73d16950aa4f767157e8b808587800857fb23058a888a878b880813
+70849185931e8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080efb82b3
+01fb72d6d4a403fb724115f7a70a0ef877f70b5fb712fc0bb7f72cb71370fbdff881
+15f7a30a13b0f7a40a0efb67b7b9b70142fb0d15f7a50af7ed3115f7a50a0efb75f7
+4501fba2b3d1b303fb7afb6d15f7a80af70216f7a80a0effff978000b201ffff6380
+00b303ffff068000ffffbe800015828687828b868b858c86938208ec450690819289
+908b908b95909399088be67f96050ef8a4c089c21222a613a0ffff296666ff01ef66
+6615ff000c4ccdff002e666605ff000c3332fffff83334ff000c666785ff000cb333
+8bb98ba8b297c7858f818e808a7d618081758bfffff2999a8bfffff3b333ff000380
+00fffff44ccdff0006333408ff00106666ff003e4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff1e6
+66ffffca8000051360fffff03333ff000b4cccffffee4ccdff000ab334758b608b74
+647d509185958a968d95ac959aa58bff000f999a8bff00114cccfffff94cccff0010
+999afffff66668087cffffc74ccc05ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006666080eff01d3e666ff00423332
+ff0003e668c089c2fffff7e668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01d3e666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd3
+199815b30a13aeb40a13ceb50a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080eff01f46666ff00c3199a01
+fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f77c
+ff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01fb
+70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7aa
+aca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef891e6cfc401
+fc16a6cae5caa6031438fb62f8bf15a4779f7272777772729f76a4a49fa0a41ecaa2
+15f7a10a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff
+7e333315ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334
+ffffb6ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb619
+9affffb6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6
+cccdff00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ff
+ff193333fb1615f79d0a0effff1c6666ff00c3199a01fffed48000f77c03ffff77cc
+cdfb1615f79e0a0effff1c4ccdff00c3666601fffeec8000fb1615fb24ffffc3b333
+8bffffda999af768df8bff001a6666fb68e08bffffda999a05ff01318000ffffe000
+0115ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6cccd8bffffa9
+b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8f715f7a90a0efc98f8
+e0f30149f30349f91415f7000a0efb0eb012fb49c275b676c313c0fb1bfb12157976
+6f8f8b6d8b829284948b081390ac8b84aa98a398758a6aa58b938b95918b958ba870
+89789f958d948a968b089f9c919b918898791f798b847873800813a08c9b98a18b9a
+08987f9181818081801e8b7d997c8d757396829d788b087e8681837a9586981f978b
+918e918b08928b9288918a080efb6aa6f704a601fbd8b0efb0efb0031438fb2afb17
+15a99ea5aaa99f726c6f786f6c6c78a7a71efb42165db466b91eff001be6668bff00
+18cccdff000ce666ff000fe667ff00138000ff00104cccffffec4ccdff00193334ff
+fff34ccdff001ae6668b08bbb2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff3
+6666ffffefb333ffffec4ccdffffefb333ff0013cccdffffe6b334ff000c8000ffff
+e4e6668b085d62665d1fe2c315a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef8dab7
+0141f8f4158e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d605
+8f858d801e868b848a8989083ffb090588878a888b8908879088961ef30693908a89
+1f8b898a888a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81
+c001fb8104f7aa0a0ef86fc0f7097701f86f04f7aa0a0ef8a6bc01fc0ef8a615f7ab
+0a0efb1abc01fc0efb1a15f7ab0a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd
+8bc68bcc7dc479c379c57cc18bc38bf72b98d4f6086e91055859227a498b588b4b98
+4c9f529d5499558bfb238bfb124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e
+089c7905c9c9e8dbf7588bf7548bed40c848089c9d0537f70efb1ac7fb2a8b080efb
+29a901fba0fb0b156df86107797775777d6b08ae06a7aab1abb19f089607599d62ba
+7e9b0869069968a971947f080ef8919ef7099a01fb7dadb9af03fb2df8df1562077c
+7e8986808b7d8b87958b968b96919bb39608a53d15958b958f949308869605898a88
+8a898b08868994a11fb007be6b9671746a7a75839585939592928f1e8b8e8b8e8a8c
+8a8c8b8d8b8f08948f8f9d979688631e7283056982767c8b748b749d7ca28b9d8b8f
+909d9b8d8191809c8b080ef891a1c59db19c01fbd6b2c1b503fb89f8a71578789cb4
+1feb06ac7fb3575e7164681e8b718f7a977f977f9e7fa68ba78b9d98979b08809705
+807f7f84768b089bd71558068c9d949f9c8b089896826e1f0ef89399f70399bab712
+fba3c767af13e8fb67f8b215f70c800713f07e85798779898b858c878c870813e89b
+89918a8b7e083d078b7e828a80888a878b858c87958c9d8c948b968b9d8a938a8c8f
+8b918a8f08818e838e8b960878f72f15979595979781957f7f81817f7f9581971f0e
+f8919bf70a9b01fb83b4cbb503fb3af92715537a5b6c68a167bebea2b1aea87cbb50
+1fab3315697e7f7d757c9fb5b898969ba2976e601e0ef891a0f7049a01fb6ea9c9aa
+03fb50f924158c078b818a847e778c8b1e8b8a8b7f058a8c8a8d1e8e06958a8f8c8b
+7d084607679b7da31e9e8ba29e9394088f8a8970978b059992968e9c8d089a077e8f
+81ff000466688bff000d9998088bed8b8c058b838a867c738c8b1e8a8a8b7f05898d
+8b8c1e9106948f897f1f4207817f7681838b087f8091a71f0ef891a1f7069c01fb81
+b1c4ae03fb3af92a15606f626464a269b91fa38b9f98999efffffde666ff0005b334
+fffffc8000ff0004b334fffff8999aff00019998817f8581768b08806f90bbb39ea0
+9c1f9a8bff0004b333fffff61998ff00014ccdfffff3e6688c829484948b938b9391
+8b988b95fffff8e666ff000c1998fffff3199aff0006e668fffff5cccdff00058000
+fffff1cccdff00018000fffff166668b080ef8929cf7069bab9901fba0b2c6af03fb
+3ef8b41582818184838b08787e97bcb396989d1f998b92839481088a2b158d8a8a7a
+988b0598929b8e9d8d08899a057e8d82ff0004cccc8bff000f333408f73180077e85
+79877989088c7d059a8893ff000199988bfffff26668086e0783937d8f7d8b618b77
+618b688bffffe94cccff00066666ffffeab334ff000c999a7fff000acccdfffff5b3
+34ff000d9999fffffc4cccff0010999a8b978b9a939594080ef89499f704a3b09901
+fbbfafc9af03fb9bf93615a38c998b1e8e898c881e82876a867c8a087e078a8c8b8c
+1e978a05928f87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989d
+a78a8b1e96078d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e
+1f4c078b7f8889808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b
+8c898c08878c05808d888d8b9608cf07b17199721e778b78788382080ef89599f702
+a201fbc0afbfaebfaf03fb68f8b4158b7e848a80888a878b858c87958c9a8c948b96
+8b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccffffffcccdff0003
+999cffffff9999ff00036664ff0009999aff000a3334ff000c333393ff0009cccd8b
+089b90846f1f51078b80838881888a878b858c87938c9d8c968b948b9d8a958a8c8f
+8b918a8f808e828c8b9808cb07af779b731effffed4ccd8bffffeb6666ffffedb334
+fffff7b333fffff6ccccfffff9999aff0012e668fffff16666ff00089998ffffed99
+9a8b788b7b7a838208898c8ca4808b057e85798779898b85ff0000999afffffbcccc
+ff00016666fffffc33349b89918a8b7e0841078b7e828a80888a878b858c87958c9d
+8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a601fb8baf03fb68f90e158d8a059599989a9e8b089b92838080
+8485801f838b868e888f898d878b898b878b8587827e898888868b87084b078b8093
+8895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e948c8b9808
+d9078b98858c7b8d8a8f8a8f8b919d8d9d8f98910896060ef891a0f7009e01fb77af
+03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d848b850572837e758a8b
+8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a8aff00054ccc888f86ff
+0002b33482858687828b08828995a01f0ef9169a01fbd5f73803fb94f898158d8792
+888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b8d1f8b978a8c058b7a8a
+8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a888986086dffffba80006c
+ff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d1f8b97898c648a058170
+8c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919af70f9801fbcdf73b03fb
+cdf89c158007958c918c988b948b9a8a968a0896078d8a8d871e818bfffffd199aff
+0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b708b8b8d8790857f8b0886
+8988871f8307938ca38c988b968b9b8a968a0896078d8b8d841e7f8bfffffacccdff
+0006ccccfffff83333ff000933340863baaab705969a8e8c978b08928b8d8e1f9307
+7f8a828b808b818b828b818c088207888d8a8e1e928bff00063333fffffe3334ffff
+facccdfffff8cccc0871677baa0589908894918b08908e8c8e1f94077d8a7a8b808b
+7d8b7d8b808c088207888c8a921e928b9188908408b7520589896a648b8b807e8789
+808b0887898b871f0efc09f8aef77a01f702e703f736f994156b8bfffff4999affff
+dfccccfffff76666ffffe833340851fb350592839188968908f704f72f05ff0008b3
+3397ff00054ccd988b9a8b9f779a778b080efc27fb17f77a01a3e703cbfb1715ab8b
+96ab94a308c5f735058493858e808d08fb04fb2f05827f867e8b7c8b779f7c9f8b08
+0efb9cfb82b301f714d603f7144115f7a70a0efb2981abf815ab01f7d3e603f752a1
+15f7ac0a0efb2a81a8f71cf708f71cab01b2e6e6f70803f7abf72f15f7ad0afb29b8
+15f7ae0a0efb2981abf71ff708f716ab01e8f708f702e603f72bf73515f7ad0ab2fb
+1f15f7ac0a0efbfbfb19a3f703e8f763f512d1f571b213f0d1f7f715430ac0fb9815
+440a13e8450a0efc0cf9609a01f711f96f15f7af0a0efb77f8a4ea8c7612bde9d6e9
+1370f788f9a615f7b00afb56fb671513b0950af73d16950a0eef89acf766b5f80b77
+01f79bf7af154a0afbb1fb60154b0ab1f91a15f7af0a0efbeaf782f70801d0f70803
+f713f78215f7ad0a0ec989ac6cb2f7b0b1f788b36cac12f755e0f74aacb2ac9bae13
+2780b8f96915f7b00af7d8fc001530f74806133780f7b10a13af80540a136780550a
+13a780f7560a137780c60a0ef75c89acf7b6b5f78fac01f75de0f7eae003c5f96915
+f7af0af923fcef15f7b20a0efb6f89acf8dbac01f751e003b9f96915f7af0af778fc
+ef15590a0ef71281aff8e8af01c6ebf849eb03cef96915f7af0af7b22415640af7e3
+fbb915650a0ee789acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0ef7
+0c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b00af839fcf41513d8f7b4
+0a13e0f7b50a13d8f7b60a13c4f7b70a0efbce80c2f81777f707ea8c761286e986da
+8ce913d2f751f9a415f7b00a13eafb56fb6715d80af73d16950a13c63bfb8f15f77b
+0a0eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf7
+8bad12f5e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13
+f84f0a0e2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b9
+0a13b8f7ba0a13d8f7bb0a0eb48badf9047701f7c0f8c1158d8bf75afc9ffc278b05
+f793f904154d8bfb93fd120587818a8b8b880885938a981ef8a4069c8f8d8f1f8b8d
+8a8e8894080e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7ad
+f7fd15530a13af80540a136780550a13a780c50a137780560a0e948bb1f8c8b69377
+12c8a913d0f8bb8915700a13b0710a13d0720a0ef71b89acf7b6b5f78fac01f5e0f7
+eae003f8fef70e15580a0ef681aff79ec3f7a6af01b0ebc9acf786acceeb03f7d3f7
+f015368b88a388ad8591768b85858c688c788b698b6a8a768a6d9185a08b91918db7
+8f99e08b08c706e08b8e738e699185a08b91918aae8a9e8bad8bac8ca08ca9859176
+8b8585895f877d368b085bf7a615640af7e3fbb915650a0efbbe89acf8dbac01f5e0
+03f753f70e15590a0eb589acff0115e666ff00266666ff010ab334ac01f5e003f753
+f70e155b0a0eca89acf9067701f761aa15f7760a0ef788967693acf8dbac121360ff
+0296b334f70815600a13a0610a0ef3967693acf8dbac12f1bcf829bc1378f8c0f894
+15620a13b8630a0ec08bcaf779c3f77eca01b8accbacf7baaccbac03f79ef7f01536
+8b88a388ad8591768b85858c688cffffed4ccc8bffffddb3348bffffdf33348affff
+eacccc8a6d9185a08b91918db78f99e08b08f70406e08b8e738e699185a08b91918a
+ae8aff0012b3348bff00224ccc8bff0020cccc8cff001533348ca98591768b858589
+5f877d368b08fba0f7bd15738b838c7a8e888b8a8a8b898983812b8b629685ff0009
+999affffff3334ff000c6666ff0001cccca1d0919cd68b08f7ae06d68b917aa146ff
+000c6668fffffe3334ff00099998ff0000cccc96918bb681e989938b8d8a8c888b7a
+88838a738b08fd1904a38b938a9c888e8b8c8c8b8d8d9395eb8bb48091fffff66668
+ff0000cccdfffff39998fffffe33337546857a408b08fbae06408b859c75d0fffff3
+999aff0001cccdfffff66666ffffff333380858b60952d8d838b898c8a8e8b9c8e93
+8ca38b080ef681aff8e8af01b0ebf849eb03f7dff90215640af7e3fbb915650a0ed3
+89acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8f7bc0a13d8f7bd0a13
+b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf751f8be15f7450a13bc
+f7460a36f75e15f7bf0a13dcf7c00a0e7689ac6cb6f8c4b56cab12f878ac7dac1328
+f808f8ef15f7470a1394f7480a1364f7490a0e8d89acf86ef7285cb2128eadf778e0
+f763ad13bcf7f2f70e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e
+7789acf8dbac01f790e003f7e5f70e156f0a0ebb89acdca8f801a8daac01a3e5f739
+e0f73ae403f7abf721152c9745c18bf7108bf718dbb0e09108e0a9158dd29e8fcd8e
+91918ba085915a8a6d8a588b598b6e8c598c85858b769185ce889d878d4308fb517a
+49fb078b3c8b569ffb22f77f7a8a417887488885858b769185bc8ca98cbe8bbd8ba8
+8abd8a0891918ba08591488e788f8ad5f7339aebf28bf08bf628e1fb3097086c04ec
+81d05f8bfb138b45832afb327b080ecc89acf8dbac01f7a8e803f8aef1156e0a0edf
+89acf774acf7c7a089ac12e2d4f71de0f71ed413eef812f70e15f71907ff00628000
+ff00004ccdff00708000ff0019ffff8bff00bfb3348be6aea1a492ff0007e668ff00
+023334ff00061998ff0001cccc8b920895818d7f1e6e0655614e3d1f8bfb16ffffc9
+e666ffffc5e666ffffac199affffff199a08f77f0713de8bde9c90d18e91918ba085
+915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb7f07ffffbce666
+ff00014cccffffba199aff002e999a8bff0082199a0813eeed5bbf5a1e6c0680828a
+801f8b8690899389a185b3648b278bffff53ccccff00738000ffffe9b334ff005e80
+00ffffff800008fb19078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba0859108458e7a908bde080ef18bd0f8bfad01bde7f837e603f85df70915f7
+03b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22cf70066088f5b
+248b05568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334
+fffffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191
+941f83f714052fc964c88bf70408f714d1f70af71ff716db21fb211e8bfb0063422f
+560883fb1505829086971ef764068fad8eb88bb3fffff8b3348ffffff74ccc8b8187
+855276925a8b082a060efbbe89acf8dbacc9eb0191eb8fe08feb03141cf757f98915
+b70afb5116b70af74dfd0f15590a0e7789acf8dbacc9eb12f730eb8be093eb13e4f7
+edf98915b60a13f4fb5116b60a13ecf749fd0f15f7350a0e6e81c84eadf811ad12ad
+df1330f7aef93e15f7b00af713fc7f15f7c10a1370f7c20a13b0f7c30a4be4157b62
+051370f7c40a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b0
+0a13f4fb09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf
+12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ecf7c60a13dcf7c70a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e2281b2f7f8a7
+a877f3ea8c7612e7da5be9d6e99eb413e980f7d1f9a415f7b00a13f380fb56fb6715
+d80af73d16950a13e580fb0dffff044ccc15f77f0a0e6e81c84eadf811ad12addf13
+70f82df75315f7c80a13b0f7c30a4be4157b62051370f7c40a0e3dfb6d76f778a8f7
+f3c5f781ac12d4daf75ad963e113fcf72cff004b4ccd15ff019eb33407f72bcca3b2
+c1b35b441e8b617444637c6f957a8b7c8b087c7d837a749e819e1f9c8b968e9f9508
+13fad476aa338b418b4963fb073d8b084e8bffffda6666ff001c199affffec999aff
+001c333308ffff77b33304ff00524ccd07ff001d8000ffffe94cceff0027999affff
+f76666ff0036e6668bf7068bdff08bf7058bff008ee666ffff91999aff00268000ff
+ffd16666ff000f999a088d0713fccfa2b6c48bd408e93fbb35fb1a5029fb2b1efc5f
+078bfb1080577e69089779ddaa0593b38cba8bc6080e31fb7fb2f8ceaa6dce12f753
+b3b5c01398f7916e15f7c90a4d2115619e51b8c697becb1e8ba481cb7bce89958895
+8995949f95a0959f08f700f76105a1b49aa8a7ad08868d057484808b7d8b838b678c
+808f88707f627e6970426f3c714a6bf55ef460f00813b887938690828b0813d87380
+597e597efffffbb33381ff0001999a80ff0007b333810813b89c8b948c968b9c8b9b
+8d9a6ab630c4fb0dab2208704c057e6c84678b6b080e2381acf916ac12b0db7bbef7
+74db13e8f77cf842153665fb02398bfb0908fb03d92ff710f5f703d2f7371e8bb17f
+b474b376ae6dad64a70844c00513d83fc66baa8baa8ba598a4be8ba58ba97ba4679f
+6ea47ca48b998ba9928ba88b9d5ca26d9a08699b5ba05f8b4f8b5c678b4d8b57ad64
+dd4808b76815ab7105be61ab408b5708fb374071581e13e82e63f6dc1f8beecec6d8
+b1080efb5a81b1f74aacf737ac12b7da4fd2f723d513f4f70ff70d15f7780a13ecf7
+790a13f4f77a0a0efb2efb79b4f975acf7087701b1e1f78bb103f798fb7915f1bae0
+c31f8bdfffffd4ccccff00373333ffffa73334ff0005cccdfb1d947bc98bd58bd5a8
+f70cf720f747d5a4b69c8ba48b9d809a718b738b686e6461086c7e6882748b6f8b62
+ab8bcb8b928b928c9108820674817d8577739847bb62c58b9f8bab93a394fb1dfb2d
+43fb128b2b0824bd2df75dcf9960634f6b64661e7b8b758c819780997697718b087b
+78807572b375c61f0e48fb6d76f78d76f81fa771bf12eadaf755da13ecf742f7fa15
+f7ca0a13dcf7cb0a0e2181adf7c1aff7c3ad01b2ddf78cdd03f805f7fd15fb8c068c
+f715aff742df8bd58bbffb278cfb300867048afb255ffb303e8b3e8b5bf7318af724
+08399e15fba4f70939e1dbf715dbf7a6f79dfb0fe43b29fb03fb06fb841e0efbce80
+c2f8177701dfda03dff7d615f77b0a0e3281bcf745a8f71dc455a712ecda13e8ecf7
+d115fb89078b7989708d818f7a9981ab8b08b182b7b11ff72407a28b917b977708d4
+fb0905ff0022ccccffffc83333ff00123334ffffeecccda38bb18ba79aacb5fffffd
+3334ff0008199afffffa9998ff00064cccfffff53334ff0002999a7c7983847d8b75
+8b82a06dba0843f708058397809c8b948b908b8f8e8f08aeb605b1bb979c9a8b918b
+94899284948396849c8b089e9c9c9cae76976c1f5e8bffffde199affffe08000ffff
+bae666ffffaa800008655c05ffffed199affffe8999afffff6e666fffff966667d8b
+08ff004c4ccc07ff0031b3348fcb8b1e8f868e831e13d8ffffe3800080ffffd88000
+82468289858d7b8d8508ff00368000fffffae666ff000a8000fffffa199a8b52080e
+4b80c8f8dfc801f8a0cc15fffffcb33494fffffa9998ff0004999afffff4b334ff00
+02666676717786768b6b8b7fab64f7180820f7f70568f70a53966d8b648b6b6c7165
+ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa595
+a48ba78bb276b4fb1e089860fb71fc47a47f05a291a48fa68d08f723f7ffd2fb8105
+a72ea35fbd8ba88bb2b09db2080e22fb6d76f778b8f8207712c1da3cdaf753da13f4
+f7d6c7158d068e6f9a61c58b08bcb1b390928493871ffffffa33348b887bffffe7cc
+cc8b08648ab4b91ff77207ab8ecb8b1e7c857887788b7e8b7b8c858c916b8b5a8b6f
+08fb7107756a596a558b08567fbccc1ff75607ab89cb8b1e7c857887788b7e8b7b8c
+858c956b8c5a8b6f08fb66078b788f748b808b7687798b708bfb108a547e69089679
+daaa058fa08da48ba48bc083c68b9e8b8f8c8d8b8c97849f869d8b08c88bb5a5b3b7
+080efb0df810a6ae7701f7f1e603f1f7e915f703fbf105ff0009b333fffffc4ccdff
+0009999affffff6666ff0009b333ff00044ccdf71df751c8f7188bd508a77da66d6c
+7b737a1e8b589e8d8b498bffffde800073ffffcd800043fb00fffff98000fffff64c
+cd87ff0004cccdfffffd6666ff0008e66608ffffa0199af7df058896fffffd80008d
+fffff980008bffffe180007e61fffff78000ffffc48000fffff28000fffffe333383
+ff0000cccd808f8308b08905ff00173333fffffeb334ff000acccdfffff94ccc946e
+080efb3dfb78b3f74acdf79baef75fa9f67712b2d36dd2f76cab13fbf761f8cc155b
+683f528b548b56a67ab97c0813fd34636f488b500837b62ff744ccb87559536c5568
+1e778b778e799477947a93788b0813fb767c80796aae84b5f5ccd5d7e74bb9351f13
+fdfb0773cac31f8bd1acb7af9da592a790ab8b998b9c869a8b08a4a19aa69c7e967a
+1f6d8b6a6d558b0813fb6d6da1c21f8bb2b7bfccc0c89ebe9d8ba48b9d8396788b73
+8b6c75565f6c7e7b8b748b708b66a28bcb088b928c928b9108820674817c777f7598
+48af79c58b089f8b958ca191080e3081aef80fae01b4e1f78ee103b4f761158a0af7
+59f75b158b0a0e6e81d73fc2f7d0cf12a3a3f706bff70cca13bcf8a7f84115fc0506
+2d8b673c834fff00016666fffff7ccccff000b999afffffc3334968f9dc4a7a1bd8b
+089d068bfba4657e6181ffffe63333fffff9e666fffff0cccdffffee199a8b790873
+9c81a1edaff715f7861ef7100688fb078a2b8b5108137c3f9c71cb1eba8bbfbca2aa
+88958690818c656564887e8b748b829e8bb58bf71e8bdc8eaf08bd06b68bab9f9caf
+080e45fb6d76f778acf80eb101d9daf787e103f729fb6315f7cc0af7e3f83f15f7cd
+0a0efb2efb7db4f74adaf7d0c401abc0f7b3ad03abf750158b2cc429f70486f70286
+c87b8b518b43596c748b7b8b758c819780997697718b087b78807572b375c6e4c7d3
+d51f8bb88ab369ad789e689d668b08fb184ca3f708d8c4eee51fb48b9e7b9a7c9a7c
+9c819c8b08a79ca4a5a66bae27fb333dfb28211f0e7281acf7e6cf01b0def79bde03
+f874f7fd15b08b9ba19dad088097fb858b05308b446f6868616174508b4e08fb12e3
+33f71df733b8f711c41e8be44dd04faa0840fbe615245deccfeab8d9f7151fc459ab
+5e8b30082d59514b1e0efb2e81c0f7d2cf12a6a2f70acb61c513e8f72ef841152e8b
+703684568f859489958ba2c8979cbc8b08c30613f07efb0082fb068b558b42a775c2
+8bb78bb4b0adb7fffffc999aff0009b333fffff9199aff00053333fffff74cccff00
+03199a62616e877a8b768b809f8bb80813e88bc291e395f70208f106b48ba2a19dad
+088097050e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15f77f0a0e85fb
+6d76f77aa8f80fb201b2dbf71fc5f72adb03f866f76e158b275a38267e08f79207f0
+a5a2b1c8a43c241efb29fb7615cd91f737b78bf7578bf157effb068b718b6e847576
+656484648b4208fb8307fb069572df8bf28bf702b9c5aea70878a0055d752b388b24
+8bfb1dce32f72c828bfb1080567468089779d0ad0596b58cd08be0080e31fb7cc6f8
+bdc601f742f79315bafb21fb5afbd6887ba58ac181c4f701def74bb2fb0005bbfb18
+a05ace8bff000fcccc8bff0012999aff00074ccdff000f999aff000eb333ff000d19
+9aff000c4ccdff000ab332ff0011e666ff00083334ff0011cccdfffffe6666ff0008
+6666fffff9999aff0006999a808c7e7c797f798b638b7f9363f708084ef747f721f7
+5ed4f6058b5b857384778e8b1efb16fb996ee105ffffda3333ff0070199affffdacc
+cdff0041e666498b6a8b736c736bff0001e666fffff38000ff0006b334fffffc8000
+ff00076666899b9b9e91968bba8bff00178000ffffe18000ff001f8000ffffa18000
+080eacfb6d76f778acf7f4a9ab76f77b7701f7d2b203f883f7c4157b360576fb0271
+4b467588af88c78bc98bf7078df70e95dc089df73005858972837b8b7b8b818c858c
+92fb4490fb338bfb1c8b668b4a8958289574f083f71d0881f73205ffffff666695ff
+fffd999a8e808b71805b7f4e7d8881ff0001b33381ff00064ccd8108ae069b8ba286
+8d690890420595fb29adfb0df73188872179457e69089679cdaa0593b38cab8bc68b
+9a8aad899cee9ec5df9ad908a9f7350594bb94a29ca7088892057484838b7d8b838b
+788c808f887081458468080eca81b0f8337701adddf745cef74add03f904f75115f7
+ce0a0efbce80c2f81777f70aea1283e989da89e913f083f8d415d80a13e4f73d16d8
+0a13e83efb9215f7cf0a13e4f7d00a0e2281b2f7f8a7a877f4ea12e7da52e9d6e9a7
+b413f7f706f8d215d80af73d16950a13fbfb04ffff034ccc15f77f0a0e3081aef80f
+ae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281b2
+f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e357fad
+f916ad12ace1f786e14fd913f0f7fdf8ea158b595e433f635f75657f6977a1f70cb1
+f736f70f8b08b597775d1f6cef15fb48fb09fb76fb54fb2ed4fb1ef7281f13e8f713
+dfeef7161f8bf70147e6fb06920813f0e9b9d1c88bd208c658b0491efb67fc45158b
+ab8bac8e9bc1b1b892aa8b0813e8d0cd57fb07255c273c4444e9f7291f0e5b7faaf7
+f8b2f78ead12e2d14bd6f777d513f4f81ff83215228b58a071a161ae7db58baa08d1
+aea8ca1ebbe741fb441f13ecfbc2fb9a15fb05bf58f705f729c9f73af7711ea08b9b
+8496849197909c97977b94778e688b08f71744f72dfb3a1e13f43f4659461f8b4f9b
+64b860b760cd78f71d8b08fb0772fb852a1e13ec4964b2ea1ff7397c07848b848881
+877a826f7f4f8208906e059c8e978d988b08989484651f0e6089acf8ddb501f77ae0
+03f7cff70e15f7d10a0ec689acf8ddb501f7e0e003c0f96815f7af0af800fcee15f7
+d10a0e6089acf8ddb5c0eb12f71feb86e098eb13e4f7dcf98b15b60a13f4fb5116b6
+0a13ecf744fd1115f76507f724cff723c61e9d8b957d927891789c86988b08a0999d
+9fae6ba35a1ffb0c8b5afb48825008880680f71250f705218b618b6378746eff0002
+b333fffff88000ff00064ccdfffffb199893fffffc6668a19d9b8fb28ba88bab7aa9
+52a45a9a2e8b2708fb46078b387a863b8885858b769185bc8caf8cc28bc18bae8abd
+8a91918ba08591083b8e7a908bde080e7bfb6d76ff00e48000a9ff0185199aff001c
+ccccff00fb999a7701aedaf733adf733da03140ef7c9fb6315ff000bccccc3fffffe
+999aff00454ccdfffffc199ad4ff00ac6666ff000e4ccdff0039199aff00834ccc8b
+ff0054199a8bff008a6666ffffa6b334ff0048e666fb23ff00064cceff0001e666ff
+00288000ff00026666ff0023fffe8eff001ae668089df7305c816b8d05ff0003b334
+ffffaeb334ff00034cccffffa91998ff00026666ffffac999affff5ccccdfffff733
+34ffffb9cccdffff9ab3328bffff85b3348bffff803333ff005cb333ffffaf8000ff
+00881999fffff8cccdfffff9ccceffffad6666fffff61999ffffa84ccdfffff04ccd
+ffffd7cccd08967905ff0046ccccff0101cccc15fffffcccceff0035b334fffffc66
+66c28bff003480008bff0043999aff00016666ff0054e6668ed6ff007580007eff00
+25199affffa14ccc8bffffa133348bffffb1199a78ffff9e3333ffff7accccfffff6
+800008ffffd36668ff0185cccc15ff00026666ffffa9999aff00016666ffffaeb332
+8bffffbe199a8b8bfffffe6666ffffb88000fffffa800037ffff8f199a9864ff0061
+b3338bff0054cccd8bff0048999aff0014999aff0071ccccff0086999aff00073334
+080eec7fadf822bc01afdaf758cff75dda03f8d8f76d15fb226d563a1e5c8b64b46e
+cf9bb094c28ba308a3879870727f686c1e8b778d66986a6d4462686c8b408b69bd8b
+f7048bf71bd7b9ab9c087e9f05306138398b268bfb24dd5ee58bc48bb4a9acd6a93c
+c471be8b08f70fc6f71cf0f712fb0af70afb3e1ffb798b8080059d699c87b08b08f7
+2706f704f70a52fb261f0e2afb4cadf71ec0f7eac601f71ab7f710b703f7c2de155e
+9b59c21eff000e999a8bff000e199aff0004199aff000dcccc9208fffff08000ffff
+e7e6660548227677738b728b7f8b81997ca18196708b7b8b837c8b818b7f927e9783
+a07fae80ac8b08bf8baaacb5ce08e9f72d789efffffe199afffffd199a0563ffffd7
+ccceffffe3999afffffc199affffef4ccc8b768b78ae8ba98bc18fc596c7d5cca2ab
+8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8be270ba5d8b66
+8b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d6b72788b718b
+779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080ef6fb1ef738ffffdf80
+00ff00208000f8e8af12b0ebff00b48000ff0056e666ff00a9999aeb13bcf7dff902
+15ce0af7e3fbb915f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff494ccdf70fffff88e666ff00998000ffffefb333fffffeb334ffffcf
+666788ffffd33333fffffaccccffffdb8000088c88058b9c8eaead9c888b1e8d8e05
+137cfffffab334ff0026cccd88ff002c4ccdfffffeb332ff00306666ff00574cceff
+000c4ccdff00463334ff002c3333ff002e4ccccdff0027ccccff0038b333a1ff0048
+4ccd8bdf080e30fb10f729ffffdf4ccdff0020b333f80fae12b4e1ff0059999aff00
+4c199aff00544ccce1137cb4f761158bffffa2999ac4ffff996666ff0076999affff
+ef4ccd0813bcfffffee666ffffd49999fffffdcccdffffd7b334fffffab333ffffdf
+6666088c88058b968eaead96888b1e8d8e05fffffb199aff00234ccd88ff00274ccd
+fffffe999aff002accccff002c1998ff00078000ff0022ccceff00136667ff001a4c
+ccff0019b333ff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd8bf3
+52f70dfb2d8bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd566
+6678ffffc5ccce8bffffc0cccc08f759f75b158b0a0e35fb50c1f940e03edd129bb9
+f802b613b89bf803158b4e97fb09ca49f709fb0ef770f7098bfb268b4c4d604f8b5a
+8b5cb15a8b087872847167a374e6f710f707cbf7121f8ba087a284a383a480957c99
+3cd6fb2e433be465b57ecc8bc08bc19ec8acaca8a6a697be8b0813d8af8bb183b18b
+df8b98b898c2087e9505807d75806f8b0813b8548b5290638b08fb3563fb3f251f0e
+fb4dfb79b4f74ad7f7c0ca947712aeb7f7a5ad13ecf74e8515f701c4765143596c74
+1f7b8b758c819780997697718b087b78807572b375c6e4c7d3d51f8bb88ab069ad78
+9e689d668b085efb1c8cf72ae9c1c2eb1fa88b9285a18bc38ba0a19bba0813dc7d94
+05807f7b8a798b0813ec608b898f608b6c8b5a7e67724d5f77308b4108fb2de264cb
+1e0e2a89acf7b8b1f71276f71fb36cac12ece0f74cacb0aa13f7f7a7f7d715e08b8e
+608e5e9185a08b91918aae8aff001ee6668bff002a199a08ff0022ccccfffff36666
+ffffef3334ffff92999a1e2ef76606a39795a31ecc06f58ba445a146978b968d938e
+fffffaccccb4fffff0e668ff007e6668fffffe9998ff00079998ffffff999aff0002
+4cccfffffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ff
+ffff6668ffffe74ccc8b08ffff00b3340613ef8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff
+00324ccd8bff001cb3338abd8a91918ba08591458e7a908bde08f75d070efb2bfb63
+76f7e7cef747d901c1ac03f82df8511580910581787888738b608b60915f8b08fb0f
+65fb0d261ffbfc078b788b64997d91859488958b978b928f929194958f978ba58bc9
+5edd8bbc8bb8a0b6bd8b08a68ba685a68bbd8baeb297c1088090057e7b7482778b08
+24065d8b6e687e6493f70595f720f7108b08e606c28ba5ae9cc0080e51fb26b4f81c
+bbf81bb412f76ac481c313f0f7b9fb2615b38bb19da29708849e0578857b897d8b76
+8b5d918bac8b978f9a969f08f75ff7f6fbf88bf734f7a90513e89ca892a48ba18bbc
+64a9628b628b6378787f089279059d919b8d998ba98bb2828b688b7c8778827a08fb
+5bfbecf7f88bfb38fbb30513f07a6e81758b760861af6bb61e0e51f7b3bb01f861f7
+b315a7bbfbf88bf755f7e3548cfb56fbe46f5bf7f88bfb66fbfec389050ef763f91b
+be01f778c6dbd2f75ef403f8b6fb0b158ac7678b1ee0edc1f7298bf7178bf72661f5
+2ceb33e63db0fb198bfb088b2a63353408bd6905b2bbccafcb9c08fbbfc6f7c89907
+df8bcd72cb4baf66a5659e626281576e6c756c756c687c647756834a8b4108d2068b
+c190d093b194bcb2ada4a19493be9caa949e4e91488b408bfb2a66305247080e27f8
+a39a01f82fb303f79df84815fb1624ab66f719f4059e769c75997608fb1823ab66f7
+10ed059e629d508b498b6686668165089c06a4c998c88bc78bf762fb32f71efb768b
+838b818b838a08857c05f70983d658b16b080e2a7fc0f7eac601f71ab7f710b703f7
+c2de155e9b59c21eb78bb4b0adb708789d0562616e877a8b768b78ae8ba98bc18fc5
+96c7d5cca2ab8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8b
+e270ba5d8b668b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d
+6b72788b718b779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080efb0efb
+6a76adcff70facf813ac12add9f78dda44a113fcf84cf76a15f71c37e4fb1530254b
+fb64fba6ba2df73e1e13fae08ba47c937808a1920583b470c12c8bfb2d8b74c67ef7
+24088f8d05b356b86ed98b08f713d5f715ea1ffb5ffb53155b3eaef726f732d0b7bd
+1f13fce8b0fb0642fb255458461f0efb2a81a8f818ab01b2e603f716f75c15f7ae0a
+0efbe4fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f499fbae1587
+0a0ef681aff7a8b2f7adaf01b0ff0060b333ff01b43334ff0060199803f92ef7dd15
+650affff9f19989715fffe4c000206ff00044cccff00c7ccccff0060cccdff005133
+34ff0060cccd8bff007d199a8bff0066999affff9d3334ff000a6664ffff49cccc08
+ff0000ccd06415fffffd8000ffff51e666ffffaae664ffff9a199affff8fb3348bff
+ff8b66668bffff91cccdff0063999afffff68000ff00b06666080efb427fb7f73fb2
+f730b701b0d903f707f7861593f72ae891ac8b9d8bba89b76c089ba00567b15f9d56
+8b083dfb1248fb38fb08ce20f71b1fe58bb8c19aa1087a9d056f6f67755e8b328b58
+d283ef08f7320695988f941f9f078f888d871e0efb427fb7f73fb2f730b701f7cbd9
+03f7c7f78615fb2d067a857f831f7d07878c8a901ef74206fb3a27865f1e618b7096
+6ca1087c7605a56db771ca8b08d7f714bcf74af70745f700fb191f318b5f557c7408
+9c7a05a3a2afa6bb8be48bbb3e933c080e4dfb6d76f778a9f811b1f7977701dedaf7
+91e103f72dfb631593a58cb78bbb08f007aa7da783b58b08f71bf2ecf72ef70636df
+fb0d1f638b5782626c08d3078bf71096be98ad08809d3a690581618a498b3608fc6d
+078bfb10804f7e6808967a05f7edf84915fb005444381e6e8b74966aa586837c7581
+8808f76307f726c4a3bedbcc5ffb321e0e8f81b7f8ddb201b2e603f8ccf70d15f7d2
+0a0e89fb6876f78e76f8527701c9aef7f3d003f85416967fc59d8bf83d75963b80fb
+12fbe9fb1cf7e9649657808bfd269485a5918bf8e38d8cf729fbfb05ff0002cccdff
+fff94ccdff00043333fffffcb3338f8b918bff00184cccff00033333ff0002b334ff
+0006cccd08f72ef81c8d8a050e8f81b8f8e1ad01f86ae603ddf8af15f7d30a0e8f81
+b7f77ff708f77eb201b2e6f73bf70803f7f7f7a115f7ad0af769fb2815f7d20a0e8f
+81b8f779f708f788ad01f738f708f752e603f772f79c15f7ad0afb20f7a715f7d30a
+0e6589ac6cb2f7b0b1f788b36cacd37612efe0f74aacb2ac9bae1327c0f782f9c615
+b00a38fc091530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12efe05eebe8eb51acb2ac9bae1324b0f7
+ddf98915b60a132530fb5116b60af71cfc2015133670530a13ae70540a136670550a
+13a670c50a137670c60a0ef715fb40d3edacf7e1ff00378000ff00558000f7285cb2
+128eadf778e0f763ad90de13ef80f7f2f70e15f75807ff00308000b2b492ff002180
+008ba78bff001c8000fffff680009dffffef8000ff002f8000ffffd466668cffffb5
+199a8bffffb280008b6497fb5f5c8b7f8b7f90828f81907f8e7e8b08777a777571a9
+76b01fa18ba4979d9dbdbcb4f7128bf71b8bff005cb334fffff58000ff0051ccccff
+ffcb8000b6ffffe94cccff0012999affffd93334ff000f6666ffffd980008bffffc3
+80008bffffc88000ffffea8000596008f72907cb95b1af1ea106d68bba719c3e968b
+998c948f84b986be8ab80813f780f72e0a13ef80f72f0a13f780f7300a13ef80f76c
+0a0e2989acf8d2b36cacd37612f4e0f7a0a8139cf7edf9c815b10a13dcfb5afb4315
+13bcf7b80a13dcf7b90a13bcf7ba0a13dcf7bb0a0ea481aef79ebd79c3f786b012ad
+e6f7fce666a913bcadf7cf15fb4df1fb20f76becf714c7d59f82a0721e6e8b7c6e7e
+667d6363693f8bffff7580008bffffaf8000f70a81f732ac9aa792b18b0813daf7d4
+0a13ba508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5da1ef71e8bb73aa535ff
+00099998fffffd6666ff00098000ff00018000ff000ae668ff0005199afffffa6668
+bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067ff00238000ffff898000
+8b08fb3afb1cfb1afb651f0efb0281aff8eaad12a6ff00208000fffff78000ff0047
+6666ff00ed999adf4bff0020800013d8ff018ab334f90b15f7690a13e8f7280a13d4
+f76a0a0efbbe89acf8dbac01f5e003f753f70e15590a0efbbe89acf8dbacc9eb0191
+eb8fe08feb03141cf757f98915b70afb5116b70af74dfd0f15590a0efb67fffff8b3
+33ff00284cccf8d9ac01f766e003f7bbf89f158bde9c90c78e91918ba08591658a5f
+8a658b658b588c598c85858b769185db889c868b3808fbd407fb355a826a1e7d8bff
+fff6e666ff0012999afffffb199aff000b6666fffffa4ccdff000d3333fffff0b333
+ff000dcccd6c8b087d737d75ffffce8000ff0056e666fffff43333ff0019b3341fff
+001b19998bff0020e66793ff00206666ff00174ccdff0030199aff0022b333ff001f
+e666ff00424ccd8bef080ef7ba7fc759acf7c2b3f785aa12f76db7f744e0f78ae413
+7ef89ef7e115e206f715a9314f4d7231fb2c557c9cc11f369f158b387a8645888585
+8b769185b28cff00354ccc8cff0025b3348ba88bb789af8b08f70df727a8f73bd5ff
+ffeab334f4ffff2a4ccc1f27f72a068bde9c90d18e91918ba085915a8a3a8a8b8b08
+fb81064a658d8b1ffffff9cccd81ff00008000fffff18000ff0005b333fffff78000
+ff003fcccdfffffe4cccff000e3333fffffd33348bffff9180008bfb5f78fb0c784d
+0813be7f627972768b7f8b808e83a2859d7e9a718b087078776b56c27db01fc58baf
+afa0bfb0e796f7538bf73808d6919bb61ed606b69476461f0ef7dc89acf7c9b5f77c
+ac01f4e0f7ade0f785e503f8c0f7e815de06f714a92a4f4d6931fb2c548b93de1ff8
+25048bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c
+85858b769185d1889c868b3808fb21fbadf721078bde9c90d18e91918ba08591658a
+628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a8645888585
+8b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a9191
+8ba08591458e7a908bde08f76ef7adfb6e078b387a86458885858b769185b88cff00
+2fe6668cff0025199a8ba88ba989af8b08f70df7319df73be46df702fb891f53060e
+f73489acf7eabaf74eb201f79de0f77de003f930f70f15f71f07f2ffffd3ccccc2ff
+ffa733341e648b3c7b484808f73b07cb95b1af1eb506d68bba719c3e968b998c948f
+84b986be8ab88b8c898d8a8b6988fb17863c8b0835063e8bfb0a90658e898b89898b
+8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a86
+458885858b769185b28cff0032e6668cff0028199a8bff002666668bff0032999a8a
+a98a91918ba085914f8e7a908bde08f74607c6c3ca9ca88b08b9af653a1ffb17078b
+3780864e8885858b769185ab8cff003480008cff001e80008bff002380008bff002d
+80008aac8a91918ba085914e8e80908bdf080e9689acf7b9b5f774c866acd37612f5
+e013ccf83ff9c815b10afb80fd4e15f75e07f7068b9d6ab227b6fb02b03ad98a08da
+8a05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff
+0002e666ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194
+c90813ecff00043334ff001d1998ff0005ccccff0020e668a98b988b938696809581
+9986988b08a0a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7
+310713dcf7d50a0ef70789acf8dbacd37601f5e0f7d6e003f7bff9c615cd0af746fc
+f815f7d60a0e8675c9f8d2acbdaa01f74fd1f703d003f7ccf96c15f7d70affff3080
+00fb6115f7d80a0ef489ac6cb2f8d3ac12f5e0f721b1f720e0137cf72816f606c78b
+9463932608b10693ef91b4ca8b08f50613bcff002399988bff003066688ab88a9191
+8ba08591458e7a908bde08f825078bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+2507137c47857c6d1efb8a066e8394d51ff825078bde9c90d18e91918ba085915c8a
+ffffcf80008affffde80008bffffd980008bffffd080008c5f8c85858b769185d188
+9c868b3808fc250713bc8b387a86458885858b76918508b88cff003066668cff0023
+999a8b080eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e7f89acf7
+c2b3f77cb36cac12f1e0f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf7
+3c0a13dc898d0513ec8b3a89771efb7d0613dcf73d0a0e8489acf7c1adf78bad12f5
+e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0e
+2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b90a13b8f7
+ba0a13d8f7bb0a0ecb8bb2f8cab36cac12ada6f827e0bda613bcf704ba15fffff580
+00807787ffffec80008a81ffffff800081fffff980008a7f87ffffcdb334fffffd99
+9affffcd9999ffffff6666ffffcdb33392fffffc4ccdff000a3333ffffff3333ff00
+09cccdff0002800096bfa5e4de8b08f7b606db8baf35975393fffffb4ccdff000b4c
+ccff00016666ff0007b334ff00054ccdffffff8000ff0031e666fffffe8000ff0031
+800086ff0030999afffffeccccff000be666fffff8e668ff00036667ffffea4cccff
+0003b333ffffee80008effffe98000968bb008f871078bff0034ccccff00074cccff
+00013334ff0042b334909196ffffffb33497fffffa4ccc950813dc8b3a896d1efb99
+0613bc6d438d8b1ffffffa8000828cfffff0b334ff00048000fffff74cccff003bcc
+cdfffffaccccff000d3333fffff733348b6e8b4c7f2e75fb06086bfb30ffffed8000
+ffffb8b333ffffe68000ffffe54ccd0813dcf7cff8c215aa91836c1ffc7b07667f88
+731efb6f067d7e90971f8ba0a4eea1f70997cf9bf393f08da49599a68b080e6589ac
+6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd15530a13af8054
+0a136780550a13a780c50a137780560a0ef7ba89acff0124ccccff002a4cceff00df
+e666c866ac12f826e013e8f87bf70e15f7d90a13d8f7da0a13e8f7db0a0e6681aff7
+bcbcf791ad12cfaaf7c2e34be813f4b7f70715f7dc0a13f8f7dd0a13f4f7de0a0ef7
+0789acf8dbac01f5e0f7d6e003f8eaf70e15f7d60a0ef70789acf8dbacbdaa01f5e0
+aed1f703d0b0e003f7f3f96c15f7d70af78bfcf215f7d60a0e9689acf7b9b5f774c8
+66ac12f5e013e8f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7310713d88bde
+9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf80
+008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+ff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba085910845
+8e7a908bde080eb17fc759acf8dbaa12f76db7f744e013b8f89ef70e15f824078bde
+9c91d18e91918ba085915a8a3a8a8b8b08fb81064a658d8b1ffffff9cccd81ff0000
+8000fffff18000ff0005b333fffff78000ff003fcccdfffffe4cccff000e3333ffff
+fd33348bffff9180008afb5f79fb0c784d7f627972768b7f8b808e83a2859d7e9a71
+8b087078776b56c27db01fc58bafafa0bfb0e796f7568bf73808d69198b61ed606b6
+9476461ffc260713788b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba0859108458e7a908bde080ef7889676
+93acf8dbac121360ff0296b334f70815600a13a0610a0ef71b89acf7b6b5f78fac01
+f5e0f7eae003f8fef70e15580a0ef681aff8e8af01b0ebf849eb03f7dff90215640a
+f7e3fbb915650a0ed389acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8
+f7bc0a13d8f7bd0a13b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf7
+51f8be15f7450a13bcf7460a36f75e15f7bf0a13dcf7c00a0ebe81b4f8e2b001b0e6
+f84aac03f7f98115500a0e8d89acf86ef7285cb2128eadf778e0f763ad13bcf7f2f7
+0e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e8675c9f8d2ac01ff
+00688000f89f15f7d80a0eda89ace3a8f7fba8d9ac01b0dbf745e0f745db03140ef7
+638915b28cc28caf8bff00244ccc8bff0035b3348ab28a91ff00084ccd8bff0011b3
+338592ffffbae6668effffee8000ff0004e666ffffff999aff0050199af71692f713
+b98bf7338bff0094e666ffff901998ff0030199affff6f199c9308ff0001e666ff00
+469998ff0012b332ff0004999cff00423334ff0002cccc91918ba08591658a628a58
+8b598b628c658c85858b769185ff00423334fffffd3334ff0012b332fffffb6664ff
+0001e666ffffb9666808ffff85000184ffff7a3333ffffd6e6668bffff5d199a8bfb
+3ef7296cf70086ffffff999affffafe666ffffee8000fffffb199affffbae6668885
+858b76918508f740f72a15f7fb07ee84d96a8bfb228bfb202e6c3785083616319134
+aa8bf7268bf71ee0aae792080ecc89acf8dbac01f7a8e803f8aef1156e0a0eda89ac
+6cb2f8d3ac12f0e0f7b3e0beac137cf8c2f89f158bde9c90d18e91918ba08591648a
+578a648b678b568c638c85858b769185d1889c868b3808fc25078b3d86fffffab333
+6bff00004ccd08fb5f066e799eaa1ff846078bde9c90d18e91918ba08591648a548a
+678bffffdd80008bffffc980008c638c85858b769185d1889c868b3808fc250713bc
+bc0a137cbc8cc88c9f8b08f7da06d88bbb44994494849aff0000e66694ff0007199a
+8bbe89c087bb0813bc8a94fffffbccccff0007e666ffffe73334ff0003199a738e73
+908bde080ec289acf76fc5f7c6ac01f1e0f79ee003f1f89f152c0728b43cf7061eff
+003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f199a078b38
+7a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035e6
+688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591658a
+ffffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d188
+9c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe380008b084363a6
+dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b678b568c
+638c85858b769185d1889c868b38080ef80a8bb0f8d5ac01f5e0f78de0f791e003f9
+c816ff002580008bff003580008ab28a91918ba08591458e7a908bde08f825078bde
+9c90d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b76
+9185d1889c868b3808fc2507397e88531efb1506657a8edd1ff825078bde9c90d18e
+91918ba08591648a558a668bffffdc4ccc8bffffcab3348c638c85858b769185d188
+9c868b3808fc2507397d88661efb1f06617a8edd1ff825078bde9c90d18e91918ba0
+8591648affffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b28cc48cad8b080ef80f
+8bb0f8d5ac01f5e0f78de0f791e0beac03f9f3f89f15ff00003334deff0010cccc90
+d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b769185
+d188ff0011333486ffffffcccc3808fc2507397e88531efb1506657a8edd1ff82507
+ff00003334deff0010cccc90d18e91918ba08591648a558a668bffffdc4ccc8bffff
+cab3348c638c85858b769185d188ff0011333486ffffffcccc3808fc2507397d8866
+1efb1f06617a8edd1ff82507ff00003333deff0010cccd90d18e91918ba08591648a
+ffffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b769185d188
+ff0011333386ffffffcccd3808fc25078b387a86458885858b769185b28cff003980
+008cff002180008b08f90606d88bbb44994494849aff0000e66694ff0007199a8bbe
+89c087bb8a94fffffbccccff0007e666ffffe73334ff0003199a738e73908bde080e
+f71489acff013ae666ff0028e666ff00da3334b36cac12a5a9f765e0f784e813cef8
+3faa154782adac1ff78907ff00158000ff0001e666ff0013e6668cff00124cce8b08
+ff00809998ff0033b334ffffcfccceffff974ccc1f386c3cfb181efb36f88015fc25
+078b387a86458885858b769185b28cff00354ccc8cff0025b3348ba88bbf89af8b08
+ff00ab8000ff00568000ff00458000ff007d8000ff007f199affffbc9998ff0042b3
+32ffff48b3341fffffe6ccce8bffffe4999afffffeb334ffffe24cccfffffd800008
+f7200713def7df0a13ee648a628a598b08ffff70b3330613deffffceffff8bffffda
+4ccd8c688c844c86558753ff0007b333fffffa8000ff00084ccdfffffd8000998e08
+13ee93b6ade8cd8b08b506ba9784401f0ef75f89acff013ae666ff0028e666ff00e4
+3334ac01f4e0f784e8e0e003f949f70f15f7e00afc3e2f15f7e10afb36e615f7e20a
+0e6789acff013ae666ff0028e666ff00e33334ac01f4e0f784e803f79faa15f7e10a
+fb36e615f7e20a0ea681aef79ebd79c3f786b012b9e637a9f833e213b6f7a38115f7
+6beef72af74df765fb0cf710fb3a1ffb138b636152888755835a815708a98705a5e1
+c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813daf7e30a13bace8ba8ab
+c58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca66e8b0872827877
+1f41f7144fec1e0ef7ca81b16dacf7a6b2f7a2ac6fb212f5e0e9e8f81fe813aff8c6
+f8ff15f711e126fb64fb473d2424fb0021f6f7541ff766efdddf1efc07fc8515f74b
+e9078dfb56f715fb0df7328b08f746f706f71ff75cf75afb11f717fb3c1ffb308bfb
+0afb1b7efb47082cf747061377f7d50a0e7c89acf7beacf78dae01d8e7f773e103f7
+3df88a15e8d79bc3e28f886a1efb693d07384dadf51ff774fb4715fb5d078b387387
+3d8785858b769185bd8cff0025cccc8cff003833348bff0032b3348bff001e4ccc8a
+bc8a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591598affff
+e34ccc8affffcdb3348b698b508c688bfb4e8b5e358b468b25e459cf81088807707b
+6a72724affffcc999affff7a6666ffffd46666ffffc9999a6b8708828a0587888886
+1f8b788c89cd8c05d28cb0ff00508000b6ff006c8000b5f59fa8f68a080efb1e81bb
+5bb4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a
+0e2181aef80fae12ade1f78ee163a113f0f70cf77b15ff00384ccc9fff0074b334f3
+d9bb31fb0cfb125160551e424aeaf7031f35a515ffff42b333f701ffffb24ccdecff
+00894cccff004eb334f1f712f7004ff705fb211e2c8b5153755b08898d05ff00044c
+cdff00344cccff000fb333ff003fb3349aa5abc2b18ee7950813e8e595cba894f704
+fffff9199aff00033334fffff8b332ff0000b334fffff83334fffffc1998835b567e
+377e3a7e476f613c674781ffffabb3348bffffa14ccc080efb0889acf74ea8f72cac
+12f6daf72edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f783
+0a13f8f7840a0efb4789acf7fbb26cac12f6daf74ca813d8f74ef7c715f7e40a13b8
+898d0513d8f7e50a13b8f7e60a0e528bb2f7f4b16cac12a5a6f7bfdabba713dcf735
+be158b9ca6ff00424ccd9aff00e4b3338cff000f4cccff0006b333ff000cb334ff00
+1b4ccd8b08d006b3906f691ffb85076a897b631efb150680828c961fa7f80e1513bc
+6a8b648c6d8c85858b769185c886ff0011e666fffffbe666fffffc199affffad199a
+fffffbb333ffffa3b333ffffefe667ffffb6b333ffffef6666ffffb9999a85706e82
+6f887c897d858a790885fb1905ff00076666fffffc999aff0007cccdffffff3333ff
+000bcccdff0003333394b0a6e7e58b08f74106e48ba8319463ff0008b334fffffdb3
+33ff0009b332ff0000199aff0009999aff000433330885f71a058b998393788e798e
+72928bb008f779078bdd9890c28f91918ba085910813dc6d8a658a638b080efb2881
+bcf765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0ef70389acf746
+aef710d163ac12f7d0d413e8f70116f7e70a13d8f7e80a13e8f7e90a0efb3381aef7
+48b6f730ae12c7a6f75ddb4de113f4b6de15f7ea0a13f8f7eb0a13f4f7ec0a0e8289
+acf803ac01f704daf760da03f75aca15f7ed0a0e8289acf803acd3aa12f704da77d4
+ebd479da13ecf831f8e215f7ee0afb6bfca31513f2f7ed0a0e2e89acf746aef710d1
+63ac12f6da13e8f816168b8bd98a9f8a91918ba08591648d83937aab085ee00572ba
+68a3528b088e07b2969cae9ab397aa979ea08b948b9388918791879688988b08a19d
+9e9fa173a26a1f518b7055785c75547065448b08ca0713d8f7ef0a0e477fb46cacf7
+fbb26cac128fd7e3b1f719da131ef836f70e15f74d078bdd9890c28f91918ba08591
+08132e6d8a658a638b08fb5106139e6a8b648c6d8c85858b769185ff0046b33386ff
+000a4ccd858bfb008b2283547d627e677a7e7a8b7e8b8793899808889e859e6f8b08
+727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08136ed98ea5b31eb806b19273
+691ffb66078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086
+91084a8f82908bdd080ee089acf803ac12f703b16bb2f7e5db13d8f709f7c61513e8
+85fb4e05fffffd4ccd37fffff0b33389518885858b7691859f8cbd8c9b8b9f8bba8a
+9f8a91918ba08591528f87958dd60813d892f78905ff00004ccd94ff00041999ffff
+ffccccff0003999afffff7333408f725fbf6058f88ff0003b3348bff00034ccc8e08
+ff00a43334ff0161333405ff00048000ff000a4cccff00053332ff0001199a8bffff
+f4333208ffffff199affff0e3334058b3884884e8685858b769185af8cb08cae8ba9
+8bb68ab28a91918ba085914e8f808f8bde0889f74d058ade978ec89091918ba08591
+68892a8b6a8b08ffff7accccfffee1ccccfffffb3334fffff5e666fffffc666695ff
+ff8a999aff011e4ccc056a8b218b688d85858b76918508c886ff000db33387fffffd
+4ccd38080e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0e3081aef8
+0fae01b4e1f78ee103b4f761158a0af759f75b158b0a0e8289acf7fbb26cac12f705
+daf762da13d8f849f84115fbb00613b8f7f00a13d8aa8e9fb21ef70d06b09180631f
+fb6d078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086914a
+8f82908bdd08f74d0713b88bdd9890c28f91918ba08591086d8a658a638b080e3ffb
+7eacf753adf7fda777b912dbdaf780e113dcf743f7df158c0a78b015f7f10a13ecf7
+f20a13dcf7f30a0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0efb2a89acf7
+fdb001a5a6f715daf717a503f74af70e158b3880864e8885858b769185b28cff0027
+b3338cff00214ccd8bff00224ccc8bff0026b3348ab18a91918ba085914e8e80908b
+de08f7a29c07dc8b9b6f9c3a988b988f8b8b85b987b78ac574894087598b08400659
+8b538e638e8a51875f845d8b8b9987988b9cdc9aa7dd8b089a060e3bfb7cdbf8baac
+01f760fb3415910a0ec9fb7eacf753b3f805b3f75ea9a67701b2ddf73cdaf73cdd03
+1407f771a9153979f700dfe29de5e21fa18b9e81a17008fbb407786d757d708b08f7
+6cf80515f7f40a46f74c15cc8fb38b1e92878e821e7281407d638889838d7b9185c5
+8791888b4008fb2e0778a073986c8b08303635fb34fb00c12cef1fb38ba997a5a708
+fb20078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f71507a175a184aa8b08f3d2f701f71bf70356e9271f5c8b6f797570
+080e2289acf803ac01f74af7fa15900a0e7989ac6cb2f7fbac12f2daf767dabca513
+7cf775b215668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b68
+8c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08f7
+9006df8ba83b985aff00091998fffffdb333ff0008999cff0000b333ff00084cccff
+0002999a0885f7190513bcf7f60a137c6c8877641e0e5389acf1b8f770ac01dfd9f7
+52db03f736f7c715f7f70a0ef79289ac6cb2f7fbac12f6daf75bdaf75fda137cf97e
+f70e15f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c85858b76
+9185be8695878b3908fb6d076c8877641efb0a066d7e94b51ff76d078cdd9290c18f
+90918ba08691728a668a638b638b6a8c728c86858b769085bd8795868a3908fb6e07
+66867e661efb0606668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b
+638b688c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb3
+8b08f8c30613bcb38bb18aa98a91918ba0859108548f7e908bdd080ef79289ac6cb2
+f7fbac12f6daf75bdaf75fdabca5137ef93116df8ba83b985aff00091998fffffdb3
+33ff0008999cff0000b333ff00084cccff0002999a0885f7190513bef7f60a137e6c
+8877641efb0a066d7e94b51ff76d078cdd9290c18f90918ba08691728a668a638b63
+8b6a8c728c86858b769085bd8795868a3908fb6e0766867e661efb0606668596b31f
+f76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c2
+8794868b3908fb4d0713bef7f50a137ea98cb18cb38b080e6d89acf755acf71bb001
+a6a8f72bdaf73de103f85bf71215f7f80afb8cf74915fb4d078b3880884e8685858b
+769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016cccc89ff0028999a
+8b08f70fceaaf6e939a6261f43bc068bdf968ec89091918ba08591698affffddb334
+8affffd44ccc8bffffafb3338bffff824ccd8d8b8b8a51865c845dff0007b333ffff
+fc8000ff000a1999fffffde666ff000b3334ff0000999a089ddd99aed88b08a29e7f
+421f0ef71589acf755acf721ac01f6daf73de1ecda03f8fdf7c715f77c0afb9a8f15
+f7f80afb3df74815f7f90a0efb1689acf755acf721ac01f6daf73de103f7f7f71215
+f7f80afb3df74815f7f90a0efb2181aef737b379b9f728ae12badb42a5f790e113da
+badd15f7fa0a13d6f7fb0a13baf7fc0a13daf7fd0a13baf7fe0a13d6f7ff0a0ef71c
+81ae70acf73bb2f735ac70ae12f6daf2e1f77ae11377f74ef78115d1078bde968ec8
+9091918ba08591698a698a5f8b608b688c6a8c85858b769185c88796878b3808fb4d
+078b3880884e8685858b769185ac8cae8cb78bb68baf8aab8a91918ba085914e8f80
+8f8bde08d7f20713af8d26ca20f71b8b08f727c2f713eff35af70afb2c1ffb0d8b47
+3880fb0b08f752f73b15ddb642fb26fb18546f60286af710d8e2a6e6d91f0efb0689
+acf734adffffeb6666ff0014999af741ac12c3e1f72dda13dcf722f7d515ba9aa9dc
+b49bffffee4cccffffd9b3341efb0945074f74b9bd1f6ffbd515ff001bb333ff0000
+cccdff0009cccdff0019cccd97ff00246666a5ff004e8000ff001d199aff00318000
+ff003266668b08a546068b3880884e8685858b769185ac8cff00234ccc8cff002bb3
+348bff002b4ccc8bff0023b3348aab8a91918ba085914e8f808f8bde08f74d078bde
+968ec89091918ba08591698affffddb3348affffd44ccc8bffffddb3348b6e8dffff
+e74ccc8bfb438b7c438b550813bc8bffffbf4ccdff0031999affffde4ccdff004ab3
+33fffffdccccff0002e666ffffffcccdff0000199afffffc4ccdfffffe6666ffffff
+4ccd65fffff53333ffffef8000ffffea8000ffffeecccdffffdb800080ffffe8b333
+fffff6cccdffffea199afffffb3333fffff33333fffff34ccd69ffffeeb333856489
+85858b769185089f8cd98c8b8b080efb2881bcf765adf70eac01b0dff75be103f766
+f93315740afb30fb9b157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df
+75e9d6e961e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb
+5415e40a13f9e50a0e6189acf7fcbbc9b3efa9a67701f707daf76bda03f756f7d015
+c3c4c19da68bff0017e6668bff000d199afffff6999aff000e4cccffffe9e666ff00
+0f3334ffffe88000ff000b8000ffffc3b3348bffffb34ccc8bfb8d3f314c5dff0002
+b334fffff93333ff0003cccc86ff00058000fffffccccdf70cbce1f72b8bf75f088b
+ff00558000fffff4b334ff00468000ffffed4cccff00228000ffffec3334ff002480
+00ffffd9800095ffffd54ccc8b588b5170555708f721f71507ff000c4ccc8dff000a
+b334ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334
+ff00014ccc08fb1fb506cc8fb38b1e92878e821e7281407d638889838d7b9185c587
+91888b40087950077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648eff
+fffa3334948908cffc0f068b3880864e8885858b769185ae8cb08cb38bb38bb18aac
+8a91918ba085914e8e80908bde080efb4789acf7fbb26cac12f6daf74ca81398f798
+f93315d60a41fc001513d8f7e40a13b8898d0513d8f7e50a13b8f7e60a0efb2f81ac
+f739b379b9f72caa12b2e1f783a413bcb2f76715fb35f44feee6d2b2c09b8099791e
+7a8b7d857d6b7f707273638b378b5ec68bf70b9790988f988bff00124ccd8b99ffff
+fbb33399fffff9e6670813dcff000f4ccdfffff94cccff00101999fffffb199aff00
+174ccd8b08b6b99d998f8995851f848b7f857e8bffffef66668bfffff13334ff0005
+4ccdfffff06666ff000799990813bcffffef3333ff00083334ffffed6667ff0006e6
+66ffffe966668b0813dc6e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008
+cccc8bff00084cceff0000ccccff0007e666ff00033334fffffd4cccff0030999aff
+fffe3334ff001de666fffffc8000ff002980005a8f689a5c8b08fb193d20fb0d1f0e
+fb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13
+aaf72c0a13b4f72d0a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb1585
+0a13f4e6fc7115860a0efbd889acf7f6a7a877f3ea128ce992da80e913f88cf8d115
+d80a13faf73d16d80a13fc96fc5715860a0efbd7fb73b7f8c8a7a877f711ef12eeef
+35da13f8eef8eb15850a13f499fbae15870a0ede7fb46cacf755acf71bb0128fd7e3
+b1f70bdaf738e1137ff8ccf7121539597e565a7f95ae1ef728cd07d6a25e561ffbd3
+f79e15ad06a29e7f421ffb4d078b3880884e8685858b769185ac8cff00234ccc8cff
+002bb3348bff0026999a8bff0013cccc89ff0028999a8b08f70fceaaf6e939a6261f
+48bc068bdf968ec89091918ba08591698a3d8a8b8b08fb43066a8b648c6d8c85858b
+769185ff0046b33386ff000a4ccd858bfb008b2283547d620813bf7e677a7e7a8b7e
+8b87938998889e859e6f8b08727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08
+d98ea7b31e0ef72a89acf74facf727ac01f6daf75ddaf73de103f866f7c6158bdf96
+8ec89091918ba08591698affffddb3348affffd44ccc8bffffd8999a8bffffd96666
+8c748c85858b769185be8796878b380853fb5dc3078bde968ebe9091918ba0859173
+8affffd9cccd8affffd833338bffffd4b3338bffffdd4ccd8c6a8c85858b769185c8
+8796878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb333
+8bff002766668bff0027999a8aa18a91918ba08591588f808f8bde08ebf75d2b078b
+388088588685858b769185a28cff002733348cff0027cccc8bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a0261f4306f73dfb111539597e565a7a95
+ae1ef722d207d6a264561f0e6589acf7f8bfc9b3efa9a67701f700daf766da03f74f
+ff011de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff00008000
+f723ff00884ccd8b05ff000c4ccc8dff000ab334ff000fcccc8bff0009999c8bff00
+04ccccfffffc4cccff00068000fffff6b334ff00014ccc08ffff6de6668bff000019
+9ab505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37087957
+077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908
+c8fc0f068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff00
+20cccd8aa78a91918ba08591ffffcd33338f828f8bde080e2e89acf746aef710d163
+ac12f6da13c8f7c0f93315d60ae1fd33158b8bd98a9f8a91918ba08591648d83937a
+ab085ee00572ba68a3528b088e07b2969cae9ab30813e897aa979ea08b948b938891
+8791879688988b08a19d9e9fa173a26a1f518b7055785c75547065448b08ca0713d8
+f7ef0a0e8289acf803ac01f704daf760da03f7a0f93315740afb20fc7615f7ed0a0e
+3bfb7cdbf8baacc8aa01f72bd4ebd403f81df8d715f8000afb51fd7715910a0e7289
+ac6cb2f7fbac12f2dae1ade1da141c137cf83f1613bcb38bb18aa98a91918ba08591
+548ffffff3666690ffffff999add08f74d078bdd9890c28f91918ba085916d8a658a
+638b638b6d8c6d8c85858b769185be8695878b3908fb6d07137c6c8877641efb0d06
+668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c8685
+8b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08d206af8b9854
+9042ff000ab33487ff000b4ccc8b978f90d3a1c3a68b080ef7fb7faef765a8f7feae
+01c0e7f7b9dcf7bbe703f84af75015f8010a0ed97fa7f744a8f755a701addaf70fc8
+8dd68dc8f70fda03f7bff72815f8020a0ef70789adf7c6aef71eb2cfa71295a983a5
+f735dcf789a583a979e513f600f89ff8ba15fb73a406a7989ab41ea606908e8e901f
+8b9e898c058b2d8a6864348c8b1e898a8b7805868f888f1ea606b29a7d6d1f73fb1f
+07768a9c921f718f0513fa4087598458805508a986059fdb9898c28b08e6fc490668
+7f7f631e6e06858988861f8b788d89058bd88dbd1ec58b8c89e48bf75b8bc6e58be1
+8be858c125b16a974b8d678b083cf71ef7430613f280c28b987e9f3b08a9900513f7
+0080c184be87bd08718705848a7a761efb73fb6815e90613f240f70aca4c314e692f
+fb2c398492ac1f0e4e89aaf752abf721b0129aa6f724d5f734a876d613fcf798f78f
+15f721ba07dc8b9a779c3908a88f0584b987aa8ac508fb45d6068bbf9dc7d0b6087c
+a005416574627f6f81a772b841ad087c7605d1609c4f8b570840fb34078a51876585
+5d08a687059cdc9aa7dc8b08aafbd4066e817b6a1e7806868888861f8b788d89058b
+ca8db31eb58ba289b48b0813faf704cbbedfea36a22c1ff4fb131539597e5a5c7595
+ae1ef725d407d2a360571f0ef79081ae70acf797b265bd79c3f77fac71b012f5e0ff
+0055999aff005b6666f7fbe666a913a1c0f753f70e15f73cff0055999a07ff0008e6
+66ffff538000ff00664cccffff808000ff00cd33348b08ecf714c7d59f82a0721f6e
+8b7c6e7e667d6363693f8bffff7580008bffffaf8000f70a81f732081309a0ac9aa7
+92b18b081311a0f7d40a130ba0508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5
+da1ef71e8bb73aa535ff00099998fffffd6666ff00098000ff00018000ff000ae668
+ff0005199afffffa6668bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067
+ff00238000ffff8980008b081365c0ffff5db3348bffff7a6666fb14fffffa199afb
+5d08ffffaaccccf756068bde9c90d18e91918ba085915f8affffd080008affffd980
+008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080ed781ac72acf731b372ad70b9f722ac
+74aa12f1daff0062199aff0055e666f783a41391c0ff0117199af75f15ff00036666
+fb2fff0067333451ff00614ccc8b08e6d2b2c09b8099791f7a8b7d857d6b7f707273
+638b378b5ec68bf70b081309c09790988f988bff00124ccc8b99fffffbb33399ffff
+f9e667081321c0ff000f4ccefffff94cccff0010199afffffb199aff00174ccc8b08
+b6b99d998f8995851f848b7f857e8bffffef66688bfffff13330ff00054ccdfffff0
+6668ff00079999081309c0ffffef3334ff00083334ffffed6666ff0006e666ffffe9
+66668b081323c06e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008cccc8b
+ff00084cccff0000ccccff0007e668ff00033334fffffd4cccff0030999afffffe33
+34ff001de666fffffc8000ff002980005a8f689a5c8b081355c0ffff84999a8b3fff
+ffa3e666fffff5999affff92199a08ffff9cccccf70906a7979bad1e9f06908f8e90
+1f8ba2898d058b42896266438d8b1e88898b7405868f88901e9f06ae957b6f1ffbaa
+076e817b681e77061381c0868788861f8b74051341c08e89058bd38db0b4d4898b1e
+8d8d051381c0a2071351c090878e861e7706697f9ba81ff713070ef78a89acf90777
+01f7ffd603f89ef7de15f8030aaffc6c15cd078bbfabcbcdb608f70ffb750590828d
+858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd0879890586ffffff66
+6688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d8ba2058b90fffffa
+e668ff00024ccdfffffc1998ff0000b333087f8d0576ff0003800079ff000d800074
+b508fbb8f8ac05fffff4b334ff0014ccccfffff84cccff000933347f8b818bfffff6
+b334fffff91998fffff34cccffffe8e66808fbbefcb1057a6bffffef6666fffff099
+9affffd8999afffff96666087f8905fffffb199affffff3333fffffce666fffffdcc
+cd8b86088b748d89058bcb8da5a3e5898b1e8c8d8ba2058b9088ff0002800086ff00
+00800008788d05ffffe2cccdff0003199affffee3333ff0008e6668b9b8b918d908e
+9108f710f77305cc60ab4c8b580849078b6efffff6b334fffff38000ffffde4cccff
+fffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf
+898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999aff0003
+6666fffff56666ff000c999a8ba8080eca89acf82f7701f7a8d603f775f78515d2f7
+0c059195918c928008dcfb1105566a7869807282a476b251ac08befb8515d6d6068b
+b898bebab408eafb2705957b86fffff5199a6afffffae666087e890587ffffff6666
+88fffffd999a8b88088b728d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff0002
+4ccd85ff0000b333ffffe780008effffed80009875ae08fb6df7e305fffff2999aff
+0014b334fffff36666ff00044ccc7f8b848bfffff2e666fffffc8000fffff3199aff
+ffea800008fb5afffeb6800005786bffffe28000ffffea8000ffffe680008888ffff
+ff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e8c8d8ba4058b8eff
+fffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7199aff00063333ff
+ffefe666ff000a4ccd9ba608deff008b800005c06198578b5c080ef8ef89acf79fb2
+f7a9ac967712f5e0f8a0d613ccf9fef7de15f8030aaffc6c15cd078bbfabcbcdb608
+f70ffb750590828d858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd08
+79890586ffffff666688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d
+8ba2058b90fffffae668ff00024ccdfffffc1998ff0000b333087f8d0576ff000380
+0079ff000d800074b508fbb8f8ac0513dcfffff4b334ff0014ccccfffff84cccff00
+0933347f8b818bfffff6b334fffff91998fffff34cccffffe8e66808ffff5fb334fb
+b7fffe744ccc8b8bf74e0513ec8bde9c90d18e91918ba085915f8affffd080008aff
+ffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25
+078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff
+003066668ab88a91918ba08591458e7a908bde08f744ff0176333407ffff8bccccfb
+67057a6bffffef6666fffff0999affffd8999afffff96666087f8905fffffb199aff
+ffff3333fffffce666fffffdcccd8b86088b748d89058bcb8da5a3e5898b1e8c8d8b
+a2058b9088ff0002800086ff0000800008788d05ffffe2ccccff0003199affffee33
+34ff0008e6668b9b8b918d908e9108f710f77305cc60ab4c8b580849078b6efffff6
+b334fffff38000ffffde4cccfffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff000066
+6608788d05ffffdf9998ff00036666fffff56668ff000c999a8ba8080ef7f889acf7
+40adf735ac967712ecdaf81dd613ccf89af78515d2f70c059195918c928008dcfb11
+05566a786980720882a476b251ac08befb8515d6d6068bb898bebab408eafb270595
+7b86fffff5199a6afffffae666087e890587ffffff666688fffffd999a8b88088b72
+8d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff00024ccd85ff0000b333ffffe7
+80008effffed80009875ae08fb6df7e30513dcfffff29998ff0014b334fffff36668
+ff00044ccc7f8b848bfffff2e668fffffc8000fffff31998ffffea800008ffff93cc
+ccfb48fffed633348b8bf7090513eca7969bab1e9e06908f8e901f8ba2898d058b44
+896468448d8b1e89898b7405868e88901e9e06ac957b6f1ffbaa076e817b6a1e7806
+868888861f8b748d89058bd28daeb2d2898b1e8d8d8ba20590878e861e78066b809b
+a81ff713ff0115666607ffffba999affff8c800005786bffffe28000ffffea8000ff
+ffe680008888ffffff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e
+8c8d8ba4058b8efffffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7
+199aff00063333ffffefe666ff000a4ccd9ba608deff008b800005c06198578b5c08
+0ef7da89a8f7bcb2f78cae01f835dc03f806f7d715bafb90066f7d7b621e7b068688
+88861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a06647c99a91f
+f790c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b788d8905
+8be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7410563df
+5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f772fb9b68
+8b05328b5d6963370839fb41057d6f757b6c8b087f06878788861f8b788d89058bd3
+8db2afe3898b1e8d8d8b9e0590888e861e7606628b79959bad08def74105aaccaf99
+bb8b08f706b515fb64f789f81d8b050ef76389a8f744adf732ad01f800d503f7d2f7
+5f15b9fb18066f7d7b621e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d
+8b9e0590878e871e8406647b99a91ff718b507bb8ba274b75108b15805a16f7e7b62
+8b087a06868888861f8b788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f
+066c8b799f79a30864be055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19
+067a8b7f85977d08f72efb406c8b05328b6c66573d086a58057b7477766c8b087f06
+878788861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b80
+9a9ea808adbe05b3c7a6a0bb8b08f701b115fb1ef72ef78f8b050ef91c89a8f7bcb2
+f78cae01f5e0f8b8dc03f9baf80115fb64f789f81d8b05fdb4fc7c15f75dff016780
+0007ffffeb1998ffffed4cccffffeeb33471ffffefb334ffffddb3340839fb41057d
+6f757b6c8b087f06878788861f8b788d89058bd38db2afe3898b1e8d8d8b9e059088
+8e861e7606628b79959bad08def74105aaccaf99bb8b08b88b8d8b8bfb90056f7d7b
+621e7b06868888861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a
+06647c99a91ff790c107bb8bae7dab4a08ddfb41059b697a81628b08750686888886
+1f8b788d89058be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea708
+38f7410563df5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b
+08f772fb9b688bfc748b8bf735058bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8b
+ff003066668ab88a91918ba08591458e7a908bde080ef86689a8f744adf732ad70a8
+12ecd5f858d513ecf942f78515fb1ef72ef78f8b05fb66fb5415adfb18066f7d7b62
+1e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d8b9e0590878e871e8406
+647b99a91ff718b507bb8ba274b75108b15805a16f7e7b628b087a06868888861f8b
+788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f066c8b799f79a30864be
+055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19067a8b7f85977d08f72e
+fb406c8bfc158b8bf70d0513dca7969bab1e9e06908f8e901f13ec8b9e0513dc898d
+0513ec8b4689641e13dc68478d8b1f13ec89898b780513dc868e88901e9e06ac957b
+6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b
+9e0590878e861e78066b809ba81ff717ff0115e66607ffffe9ccceffffed199affff
+ecccccffffe53333ffffe88000ffffdcb333086a58057b7477766c8b087f06878788
+861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b809a9ea8
+08adbe05b3c7a6a0bb8b080e56fb7cadf8a2a9f826ad12c1a972bdf793b670e351e7
+13f2c1f85a15a98905a3dca6e6f70b8b08c9cb633d416a41fb0b685d7f6677997f9e
+1fb28b91bec78b0813e9dab95f3c1f8b2137643d77257134678b330825f377d7f3d5
+adb399859b731e758b7a7d7a7b7173697b588b4f8b58978bc18bd3f5a7bd95f711a3
+f704d28bf70e8bf638ad409c08900713e2d0a6c2b28bdb8bf323b6339108bddf0592
+979392948b0813f4948b8e858d84ff0003199a80ff0004e66686968b089b9396999f
+7b9d711f718bffffed6666fffff2b334ffffee999affffe44ccc0866503ae8858d43
+8b8884f703fb12056488627a4e84080efb51fb5ab3f80bacf7bcab12b3a674abf762
+d548dc13f4b3f7b615a6860599cfaac7da8b08b2bf77503f4e836070627d6e749981
+9d1fa48b8ab6b78b0813eac79e6c571f8b4743776481387658688b47083fcb69f5b6
+ae92ab9d7b97771e648b716e648b6c8b5e918bb88bb7b5a2ca9bf722aebabd8bce8b
+da45a16f90088f0713f4b696b4b18bb88bd83ea64f9008b7df0591979294958b928b
+8f888e838f809285958b089b9096999b7f9e6d1f748b7a807c70086a4d43e7858d4f
+8b8981ebfb0d05628880834a83088a5887648561080ee789a8ff00606666ff001f99
+9af7fba0dea701ebd0f71cdbf722cf03f8faf8ab1542794e3d1f8bffffda3334ffff
+f78000ffff4e6666ffff7a8000ffffe4e66608ff01a4800007a7999bb41ea506908e
+8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1f
+fc3707ffffbecccdff000f4ccdffffb93333ff003733338bff009f800008ed6cbf4e
+1e6c0680828a801f8b8690899389a185b2808bfb148bffff51b333ff0066e666ffff
+c4b333ff0066199a7f08ffffcb999a076f7d7b621e7106868888861f8b788d89058b
+e88dafb2e2898b1e8d8d8b9e0590878e861e7106637c99a91fbf07ff0066b334ff00
+0b999aff006b4cccff003fe6668bff00c180008bf1b196a192938d928d8b92089580
+8d7f1e0eb6fb5ca8ff00a08000ff001e8000f819a0f77ca712d2d155cef714ff004a
+ccccff007f3334cf55d013fa00f7ae9f15ffffad8000ff000a3333ffffc58000ff00
+334ccd8bff00a080000813f6008bb298b78bb108af7faa601e5e0680828a801f8b86
+91899289a88596788b700813fa808b697b5c8b598bffff5a3333ff005e6666ffffc3
+4ccdff0074999a8108ffff8b8000076f827b691e7806868888861f8b788d89058bcf
+8dafb2cf898b1e8d8d8b9e0590878e861e79066a819ba71fffffffe666ff0074999a
+05ff0074e666ff000a1999ff005d3334ff003ccccd8bff00a580000813f3008bbd7c
+ba8bad8ba6959ea891938d908d8b900896838c801e5e06607e6c671f13fa808b6599
+5f8b648bffff5fb333ffffc98000ffffccb333ffffa94cccfffff5b334ffffffb334
+ff00de9999ffffffccccff00deb333ffffffb334ff00de999a088a8d058b74897d67
+478d8b1e89898b7905868e88901e9e06ad947b6f1f0ef681aff784c480c5f790af12
+b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24ccc15
+f8060a13dcf8070a0efb207faef731bc75b4f735ac12b0dbf774d9139cb0f75f1524
+c8fb04f715f71fc0f715eff35cf70dfb231efb134a24fb1c1fff012de666ff002233
+331513dcfffff2e666fffffb1999fffff0e668fffffcb333ffffee4ccc8b0813bc64
+8b7a9e5f8bffffe1e6668bffffe16667fffff78000ffffefb333fffff5e666ff0000
+cccdff0056199aff001d3333ff005d8000d38bd08bff002a4cccffffc48000ff0009
+999affff8fb33308ffff22199affffdd666715ff00068000ff00014cccff00084ccd
+ff0003199aff000a33338b0813dcae8ba870b68bff002266668bff0023ccceff0012
+4ccdff00154cccff000bcccdff00004cccfffff7e666ff00003334fffff7999a8bff
+fff766668bfb18536d628b368bffffdc199aff0066e666fffff9e666ff004cb33408
+0ed99476f90aa773af12f8eece13b0f8dff92615f8080a13d0f8090a13b0f80a0a0e
+519476f832b363a812f855d313d0f843f82615f80b0a13b0f80c0a0ed99476f90aa7
+73afbd7612f8eece1398f752f9a915f7650af7179015f7600a13b8f79efb1c15f808
+0a13d8f8090a13b8f80a0a0e519476f832b363a8f7727712f855d31398f710f92115
+f7610af71c9115f7620a13d8f73ffb9515f80b0a13b8f80c0a0ef7fb7faef765a8f7
+feaebba0b2a012c0e7f74af171bd7cdc95ebbab2f2e713fef0f84af75015f8010ac5
+f8eb1513fd7056635b671f13fcf0729e7e9b9a9b959c1e13fd708b9c7b948b9c8b97
+949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f81
+7c8b678b53c7528b080ed97fa7f744a8f755a7daa0b2a0b77712addaddbd82c88dd6
+8dc8a6b2c4da13ff78f7b4f8ee1556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b
+97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f
+817c8b08678b53c7528b0896fc5a156c0766844b452e7bf717d4f700a7e1d81e13fe
+f8998f86831f8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb0144
+2efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f716
+44e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f9099
+d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d05
+8b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0ef7fb7faef765a8
+f7feae01c0e7f74af194dc95ebf751e703f84af75015f8010a0ed97fa7f744a8f755
+a701addaf70fc88dd68dc8f70fda03f7bff72815f8020a0ef886a0b2a001fc25bdf7
+6fb203fbc8f8d71556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b97949eae8bbe
+8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f817c8b678b53
+c7528b080eef89adf7c6aef71fadd3a701f760e0f7b6ea03f7b5f7e615ee06f710ce
+4c314e672ffb34348492ac1ff84c04f7aaadfbaaa806a79a9ab61ea706908e8e901f
+8b9e898c058b298a65622f8c8b1e898a8b7805868f888f1ea806b49b7d6d1f6ffb50
+69f750fc4a07687e7f621e6b06858988861f8b788d89058bdc8dc01ec88b8c89e98b
+f7678bc8e58be18be856c1fb00b16997468d658b0838060e5089aaf752abf724adf7
+6aa8a57701f715daf76eda03f83ef7101539477e57595b95ae1ef725f007d7b46057
+1ffb6ef8d215730676827c877887798864867a8a088d7305888e898e1ead8905a096
+80521ffb242069f6fbd7076e817b671e7206868888861f8b788d89058bd38db61ec1
+8ba889c18b08f70adebedfea22a2271f2ff724f766adfb66060e5589acf78fad73a8
+f70a77f75bad12f3e0f775e813def751f8be15a89aaed3d0d074fb131e8bffffc2b3
+34ffffef4cccffffd74cccffffdfccceffffe84ccc08ffffabe666ff0060b3346c74
+daffffa4800005ffffed8000fffffa3334ffffeab334fffffd4cccffffe7cccc8b08
+13bef7460a36f75e15f7bf0a13dea184a388ae8bff0020cccc8bff001cb334ff0003
+e666a4ff0006ccce08ff00598000ffff984ccca8a6ffffb0b334ff005b333405deff
+00278000ff001c4cccff004e66668bff003ce6668bc664f6fb4d8bffffd9b3338bff
+ffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b3808
+0e3ffb7eacf753adf7fda777b912dbdaf780e113dcf743f7df15a5abff002dcccda9
+ff001d33338bcb8bc2438bfb058bffffd4e666fffff7e666ffffcf3334ffffe8199a
+ffffdb9999082fff006a4ccd6c73ff0060b334ffff90800005ffffeb8000ffffef99
+9a70fffff5e666ffffdccccc8b798b689079ff0010199affffebe6669dfffffc199a
+ff0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff00
+0e4ccc0878b015f7f10a13ec6f807182468289858d7b8d85c18696868b5108fc3f07
+8b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba08591448f808f
+8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff00188000ff
+fff6199aff001ee666fffffa6666ff001f999a8bff0026b3348bff0023e666ff0008
+199aabff0011e66608ff004566663ba8a5ffffbdb334ff004c800005ff0002ccccff
+00026666ff0002ccccff00028000ff0002b334ff0002999abab9a6c98bdc0813dcf7
+f30a0e2989acf8d2b36cac12f4e0f791a87da813d4f727f9191513b4f7b80a13d4a3
+9795a31ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff
+0009b334ff00044cccfffffcb334ff00443334fffffbe666ff00266664fffffb999a
+ff001e199c0813d8fffffcccccff008b4ccc0581ff0003b334fffff6b334ffffff19
+98fffff64cccfffffc3334fffffa3334ffffca6668ffffe53332ffffc0e664ffffcf
+8000fffffcccccfffff9ccceffffffe668fffffc4ccc8b8b8b080efb4789acf7fbb2
+6cac12f6daf735ac81a813d4f74ef7c715c492a5ae1ea106dd8ba3529951ff000b19
+9afffffe8000ff00096666ff0001e666ff00088000ff0003999afffffcccccff002a
+e66688ff0024b334fffffc199aff0028cccc0813d8fffff7199aff0084999a05ffff
+f46666ff00049998fffff4e666ffffff3334fffff5b334fffffa3334fffffd6666ff
+ffb633347fffffe9e666ffffd78000fffffb199afffff86666ffffffe666fffff933
+34ffffffe666fffffa80008b08fb120613b4f7e60a0e2989acf794b2f7abb36cac12
+f4e0f7a0a813ecf727f9191513dc8b8b3c8c598c85858b769185d1889c868b3808fb
+593564e1fb39078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f739eeb228f78907
+13ecf7b90a13dcf7ba0a13ecf7bb0a0efb4789acf746b2f722b26cac12f6daf74ca8
+13ecf6f78c153506857e8bfffff2b33391fffff34ccd08e134068b3880884e868585
+8b769185ac8cff00234ccd8cff002bb3338bff002b4ccd8bff0023b3338aab8a9191
+8ba085914e8f808f8bde08e2e307ff00064cccff000d4ccdff00006668ff000e6666
+fffff94cccff000b4ccd0833c606c492a5ae1ea106dd8ba3529951ff000b199affff
+fe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc8000ff002b80
+00fffffa8000ff003580000813dc898d0513ecf7e50a13dcffffd4b333ff00006666
+ffffdd4ccdff0000999a6a8c85858b769185c88796878b38080e89fb40a8f721acf7
+ccaaf77bb36cac12f4e079a2f79ba87ada13f480f8b9e8158bff00edccccffff2eb3
+34ff002a199affff6a4cccff0001199a08f75907a39795a31ef70c0613ed00d68b9b
+59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b334ff00044cccff
+fffbe666ff00544cccfffffa999aff0026e668fffffa8000ff0021cccc0813f48064
+8a3a8a8b8b08fb610613ec808b8b3c8c598c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b28cff003533338cff0025cccd8bff0025cccd8bff00
+3333338ab38a91918ba08591458e7a908bde08f77107ff00968000fffffeb334ff00
+818000ffffcc99988bffff30b3348bfb3d4752408b5b8b6c99769e799c7ea38ba608
+13f28073fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af727
+1f0e37fb7eadf75aacff00a4cccdff00221999ff00a0199ab26cac12f6da40ddf745
+a874d913f500f74eff00e5e66615ff004d199a07c492a5ae1ea106dd8ba3529951ff
+000b199afffffe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc
+8000ff002b8000fffffa8000ff003580000813ec80898d0513f480f7e50a13ec80ff
+ffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c88796878b3808
+fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff002b4ccd
+8bff0023b3338aab8a91918ba085914e8f808f8bde08ff0049cccd07ff005c999aff
+fffcccceff00616666ffffd5cccc8bffff51999a8bfb006f47428b0813f280498b81
+b685ac87a37a97748b08747c7c6e60bf50f5f70cccf700f7101f8bff00c5999affff
+604cccff00203333ffff93b334ff00021999080ef7c289acff0124ccccff002a4cce
+ff00dfe666c866ac12f826e0f811a613ecf87bf70e15ff00c9cccc07ff00666668ff
+fffd8000ff00121998ffffddccceff00258000ffff9fe666ff00216668ffffaa999a
+ff001dccccffffbc1999ff00301998ffffe56667a1fffff0b333ff0019199cfffff2
+b333ff00109998ffffec8000a96899618f72ff000b4cccfffffcb33394ff00014ccd
+ff0006b3348f0885f72d05ffffff4ccc9cfffff3b334907a8bfffff94ccc8bfffff7
+8000ff0001ccccfffff63334ff0004b334ffffd93334ff0017199affffe18000ff00
+379999ffffd54cccff006ecccd70d165b6468b089007d7a7a2e194c9ff00043334ff
+001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0a296a8a2
+79a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc199cfffffd
+ccccffffdf1998ffffff999a08ff009ce6660713dcf7da0a13ecf7db0a0ef70389ac
+f746aef710d163ac12f7d0d4f7b3a613ecff029eccccff0024cccc15fffff58000ff
+00014ccefffff38000ff00054cccfffff3e668ff000a3334fffffc3334ff00053332
+fffffc3330ff00066667fffffbe668ff0007cccd085ee00572ba6aa3528b088e07b2
+969cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f51
+8b7055785c75546d65448b08ca0713dcf7e80a13ec78ba70c1518b086a737475779d
+78a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a73
+725c085e36057a6b8183648985858b7691859f8cd58c8b8b9f8c9ca298a608b6e505
+9db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff0027cccc
+8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207cf87a770
+9d6608b63105ff000b199874ff000de668ffffebe666ff00104cccfffff9e667ff00
+0e3334fffff76666ff00156668fffff2cccdff00124cccffffe93334ff0010199877
+ff000b3334ffffe36666ff00078000ffffdc6666ff0009ccccfffffe6666ff0009e6
+68ff0001999aff00074ccc8f0885f72205ffffff800097fffff71998ff0003ccccff
+ffef33348d080e66fb7db1f74daff7bcbcf791ad12cfaaf73ac6d8e34be813fdf70d
+fb3a15a85eb075b48bc08bb6a88bc28bbeffffe2ccccff0037cccdffffce199aff00
+211999ff000a8000ffffff666796ffffffb333ff000b999a8bf7138bf705cb8bf717
+8be0ffffc28000ff004a3334ffff9d8000ff0007cccc08900713fef7dd0a13fdff00
+718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b778b7e7b8b738b
+6a9e78a673ff00106666fffff13333ff0018e667fffff2b333ff002380008208ffff
+fe3333fffffe199a05ca78b0518b488b727271678b6e8b7a9876a2080efb41fb6cb1
+ff00a83333ff0022ccccff00b40001b6f730ae12c7a6f74ad257db4de113fcf710fb
+2f15a95eff002780007bff001c80008bc18bcba48bd48bff002db333ffffe23334ff
+00298000ffffd1b332ff0017b3330813f9ff004ae666ff0009999aff00353334ff00
+22b3338bff0051cccd8bc7ffffe18000b3ffffb9800097088e0713faf7eb0a13f9d5
+99585f50ffffe980006bffffb980001f528bfffff58000a0ffffef8000affffff799
+9aff00126666fffff56666ff000d999a718b798b747c8b7b8b75987ba07bff001780
+00ffffef199aff001e8000ffffec6666d0fffffdb3330813fcbcffffece6679fffff
+ceb3338bffffd033338b727d70668b6e8b749b75a20883fffffe4ccdfffff6b333ff
+fff8b333fffffd4ccd84080ead89acff012be666ff0027199af76fd05fac12f5e0f8
+23a713ecff02484cccff0021b333155aff0003ffffffffefe668ff00186667ffffb9
+ccccff0070e6660841f70b057ba76fa4718bd4a3aee8a1c69bb8a4a0958ba68ba572
+a58b08a0a29da3a27ba8571f2e8bffffd5ccccffffa16668fffff83334ffffe29998
+7d566c4a546cffffe73334fffff2999affffd14cccfffffe8000ffffdc8000ffffff
+e66608f72d0713dc8bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde08ff00d0e66607c0fffffe8000ff00206666ffff
+e53334ff002c999affffb4666608d7fb0c05ff00273334ffffc2199aff0023ccccff
+ffe3e666ab73b36daa729a3c08a78b84f72c05ffffff666899fffffacccc92ffffeb
+1998ff0001b333080e2a89a8f74badf70bd16ca812e5d6f7bfa213ece5d3156e827b
+691e8406868888861f8b788d89058bc38dafb2c5898b1e8d8d8b9e0590878e861e83
+066a819ba81ff71e07ea8b9b65a3509c62ab44bb7db57f9e50915f08a28b86f71a05
+8a9e768d808b668b63e77bb178bc58a0638baf90b1b0a6be96a197a0988b948b9f83
+9f8b08a39b9e9fa17d9c651f698b6c706b4e5d34677d528b0878f7080613dca89598
+ac1e9306908f8e901f8b9e898d058b51896467538d8b1e89898b7805868e88901e92
+06ad947e6e1f0e9689acf7b9b5f774c866ac12f5e0d7b713ecf7cbf70d15ff00a7e6
+66079f76ff000d4cccffffe06667ff0011b334ffffd2b333b6fb02b03ad98a08da8a
+05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff00
+02e666ffffdc6666bbffffc56666ff0098199affffe5ccccff0043e666ffffdb6668
+ff002a999affffbeccccff0002666608ff0007800007ff00473334ff001e3334a1ff
+0053199aff0008ccccff003c4cccff00043334ff001d1998ff0005ccccff0020e668
+a98b988b9386968095819986988b08a0a296a8a279a8561f3c8b6d53814dfffff7e6
+66ffffcdcccc7fffffc76668ffffd3199affffddcccc08f7325fffff4d66660774ff
+fffb199affffe3cccdffffff8000ffffe733338b08f7310713dc8bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+5e07ff0020199a8bff00186666fffffd6666ff001380008508ffff3d999a070e6589
+a8f74badf715d063a812f3d6ceb713ecf7b6d315f71007ff002e3334ffffefe666ff
+000c8000ffffe2cccdff000f4cccffffda4ccd9c62a843bd8a08d48a8d8d8b9e0592
+848c871e8306668b63e77bb177bc64a0558bbe93a5bd9bb195a198a7968b928b958a
+908793879786958b08a09b9d9fa47a9f651f5b8b7254765effffee6666ffffd8cccc
+ffffeb3334ffffd8ccceffffcf6666fffff1e66608ff006880005ffb0248f7060713
+dcb4a18ea68f8f8e901e8b9e898d058b54896467478d8b1e89898b7805868e88901e
+9e06ad947b6f1ffbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c489
+8b1e8d8d8b9e0590878e87786b8eb21ef72107ff001a4ccdffffffcccdff00161999
+fffffe9999ff0012999afffffd800008ffff7a199a070e9689acf7b9b5f70db2cbc8
+66ac12f5e013f4f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f70decb22a0713
+ecff00006666ff00501998ff00118000ff0004e668ff0045199a8e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185ff
+0045199a88ff00118000fffffb1998ff00006666ffffafe668083264e4fc01068b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080efb0889a8ff00b64ccdff0022b333f7
+15d0afad01f3ff004a666603f746d015ff00004ccdff008c4ccd05ff004b199affff
+fa6667ff00138000ffffdb8000ff0015199affffc9cccd9c62a843bd8a08d48a8d8d
+8b9e0592848c871e8306668b63e77cb176bc64a0558bbe93a5bd9bb195a198a7968b
+938b948a918792879786958b08a09c9d9fa4799f651f5b8b7254775e75ffffcf199a
+ffffe4199affffcf1999ffffb04cccffffffcccd08ff00008000f77eff009c199a8b
+8badffff64199a8b05ff0001b333ff00321998ff0012b333ff0038199cff00418000
+ff0028cccc087ca005416574627f6f81a772b841ad087c7605ff00426666ffffd733
+34ff0012cccdffffc7e664ff0001b333ffffcde66808ffffb4199a69d7fc2a066d82
+7c691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e
+83066a8098a81f0ef73189a8ff0136e666ff002b199af764ca5fb16fa712f795db13
+e4f97989158d8d8b9e0590878e861e8106678b53d850f71870c76fc9468bd8a4aee6
+a0c595a7a5a8978b998b9886988498849885988b08a0a29da3a27ba2571f358b6d57
+73517658724c526bffffe7999afffff2e666ffffd2999afffffe4cceffffdcccccff
+ffffcccc08f7550713cca7999bb41ea506908e8e901f8b9e898c058b2e8a671effff
+ef199a8bffffe63333ff00003334ffffe83333ff000033340813d4ffffff8000ff00
+009998518b0513ccfb1d8b79fb3b9c8b0595a898a99da90813d4959e9fa0ac8b08ff
+006b999a06ff00096666fffff8cccc8ffffff4b3348bfffff0800008fc8b076f7d7b
+621e7106868888861f8b788d89058be88dafb2e2898b1e8d8d8b9e0590878e861e71
+06647b99a91fff010ae66607ff0076b334fffffde666ff00111998ffffc74cceff00
+293334ffff9ce666b7fb00a943db8a080e7089a8ff00b6199aff0022e666f715d062
+a912a39cf724d613ecf798d015ff008c199a07ff004a8000fffffa1999ff0012999a
+ffffdb999aff0015e666ffffca33339c62a843bd8a08d38a8e8d8b9e0592848c871e
+8306668b63e77bb177bc64a0558bbe93a5bd9bb194a199a7958b938b948a91879387
+9786958b08a09b9d9fa47a9f651f5b8b7254765effffea3334ffffcf6666ffffe533
+32ffffcf6667ffffb0999affffff333308f70807a89598ac1e93068f8f8e901f8b9e
+0513dc898d058b5289641efffff14ccd8bffffebcccdff00004cccffffed6666ff00
+00666808ffffe38000ff00014ccc758b408b79fb1a9c8b05a5f0a98cc18d08ff0003
+999aff0000199a05ff0017b333fffffc4cccff0006b333fffff0ccce8bffffe7cccc
+08fbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e
+0590878e871e83066a8199a71f0ef489a8f7bdb2f793a701f5dcf7dbdbbfa703f894
+16e98baa29946008a78b84f72605987d92841e7b066c8696af1ff88a07a7999bb41e
+a506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b3
+9a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e8a676434
+8c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e700687888886
+1f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c99aa1ff790
+f7dbfb90076f7d7a621e7106868888861f8b788d89058bbf8dac1e0e6989a8f74dad
+f730a801f3d5f761d6c59f03f85ed515f7ac07b49192ad1ea4068f8d8d8e1f8ba18a
+8dfb0589298d8a898b7505878d8a8e1ea006af9082641ffb00fb61f70107b49291ad
+1e9f068f8d8d8f1f8ba08a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651f
+fbac078b658682678a087106888989881f8b758c89f28df700898c8d8ba0058f898d
+871e7706698c84928bb308f71df761fb1e07648783661e7606888989871f8b768d89
+cd8c05f38ba1259172089f8b86f71b059784937d1e7b066b8797ae1f0ef7b489acf7
+b6b5f787b46aac12f5e0f7eae0f77ba813eef8fef70e15f825078bff001a4cccff00
+01b334ff00126668ff00049998ff000d1998ff0008199c9fff000eb330ff00053334
+ff0019e6688bff00634ccc8bff0037999cffffe21998ff00151998ffffa0e66895ff
+fffe4cccff00094cccff00014cceff0009b334ff000466660813defffffbe668ff00
+364cccfffff99998ff00364cccfffff78000ff003566680813eefb2e06fffff03334
+8bffffef6664ffffff6668ffffef3334ffffff8000ffffe3b334ffffff8000ffffe3
+3334ffffff9998ffffe84ccc8b0813deffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba0859108458e7a908bde08
+0ef71589acf746acf729b36aac12f6daf76adaf764a513def885f8421589ffffff4c
+cc05ffffec33348bffffec8000ffffffb334ffffef4ccc8b6f8b638c648c85858b76
+9185c88792878b38084afb6acc078bde928ec89091918ba08591658affffd9cccd8a
+ffffe033338bffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb
+4d078b3880884e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8b
+ff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34078b3884884e868585
+8b769185af8cff002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a9191
+8ba085914e8f808f8bde08f74d0713ee8bff00383334ff0005199aff00138000ff00
+16199aff00084ccc08ff0046cccc06cd8ba7569b4308a58f0513de77f7350513ee28
+8b608b858b050ef806fb40a8f721acf7ccaaf77bb36cac12f3e0f7b5e078a2f7a7da
+13ee80fa2de8158bff00ed4cccffff308000ff002a8000ffff698000ff0001333408
+f729078bde9c90d18e91918ba085910813f680598a578a708b08fc0b0613ee80f7bc
+0a13f680c9a197a31ef75906a3a17f4d1ffc2d078b387a86458885858b769185b18c
+ff0036999a8cff002466668bff0026b3348bff00354ccc8ab18a91918ba08591458e
+7a908bde08f77107f72afffffe8000f715ffffcc4ccc8bffff3133348bfb3d475240
+8b5b8b6c99769e799c7ea38ba60813ed8073fb2ca2068b908ca88d908c8e9191958b
+9a8ba271dd8b08f711e4f70af7271f0ef754fb7eadf75aacff00a3cccdff00229999
+ff00a0999ab26cac12f705daf756de44daf743d813f580f849f84115fbb00613ed80
+f7f00a13f580aa8e9fb21ef70d06b09180631ffb6d078b398186578786858b769085
+a48cb08cb38bb38bb88aa78a90918ba086914a8f82908bdd08ff0048cccd07ff0057
+b334fffff88001ff00574cccffffd119998bffff5b999a8bfb006e47428b0813ee80
+498b82b685ac87a37a97738b08747c7c6e60bf50f5f70cccf700f7101f13ed808bff
+00bb999affff6e9998ff0026ccccffff9566689008ff004d999a078bdd9890c28f91
+918ba08591086d8a658a638b080edcfb28b3f894b1f746b201ade7f722e0f758d89d
+a203f8bafb0015ffffbb33348bffffd23332ff002ae666ffffe2199aff0037199aff
+007d1998ff000db333ff005f6668ff0052e6678bff008a666608f362f705fb1dfb15
+58fb02fb1c1e8bffffd46666ff0008e666ffffc18000ff00183334ffffc43334ffff
+7eb333ff00208000ffffd23333ff007e19998bff008b4ccd8bf712dcf73af70a8bb0
+8bad88a7579b6e997ca58ba18b979f8b9f088ba17aa0759c729f619d4c8bfb338bfb
+2cfb298bfb498bffff3ee666ff00623333ffff80999aff00bbb333ffffedcccdff00
+296666ffffb44ccdff00463334ffffc16666ff007180008b08cc069d9b797a1fa28d
+05899e89a98b9e8ba68da68da708768d05647f63371effff5f999aff0083b33315ff
+ffe38000ff0045b332fffff7e666ff004e33348bff0023666608f713add1c8dc9f42
+fb0f1e8bffff89999affff9c199affffc84cccffffc48000fffff5cccd080e65fb08
+a7f7fba5f710a701aedaebd5f732d19ba103f84f3315ffffc5e6668bffffda999aff
+001de666ffffe84cccff00266667ff0068999aff00093333ff0053999aff003a199a
+8bff0066666608df57ca292a5444261e8bffffe1cccdff0006b333ffffd51999ff00
+12e667ffffd6b334ffff9d6666ff001b999974ff0061999a8bff005833338bd6c1f7
+0eea8bab8ba889a46799779781a18b9f8b95988b99088b9a7c9a799775996598558b
+fb1b8bfb02268bfb138bfb1cff004ae666ffffa6b333ff008d999afffff16667ff00
+21999affffcaccccff0039e666ffffd4199aea8b08c4069b9c6c7f1fa88d05899886
+b28b998b9d8cad8d9e08708c05708161421effff7c6666ff005b999a15ffffe9999a
+ff0030e66686c28bff0018800008daa6c7becc9a563c1e8bfffface666ffffc4b334
+ffffd18000ffffb8b332fffffa3334080ebefb7db1f74db4f8e2b001b0e6f77ec6f7
+25ac03f76ffb3a15a85eaf75b48bc18bb5a88bc28bff0032b333ffffe33334ff0037
+4ccdffffceb332ff00213333ff0004999affffffe667ff0004ccccffffffe666ff00
+04b3348bec8be4b9cfe486948491808b08443d476c2e8bffff7966668bffffa2999a
+f72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff0031
+999ac8c5a7bf8bf71e8bc239a5359787ff0009b3348eff000b4ccc910886bf84bb81
+c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd86666ffff9e1998
+8bffff97b3348bffff6d999aff004a8000ffff814cccff0097e666ffffdb999a08ff
+ffff999affffff800005c978b0518b488b727371678b6d8b7b9875a2080efb3bfb79
+b2f8e8ac12b0e1f73cc661e213f0f728fb3515a85eb074b48bc18bb4aa8bcb8bff00
+404ccdffffe6b334ff002a3333ffffd3b332ff0016199aff0029e666ff00098000ff
+0026b334ff001a3333b0ff003cb3338794838f828c695f6075608b08424ed5f709f7
+02bbcdcd1f13e8c68b93688f688e709982a08b08a0a798aac252b32b282132fb221f
+8bffff83e666ff0042b333ffffa8e667ff00753333fffff999990813f0ff0031999a
+fffff2cccdff00148000ffffdf4ccd8bffffb880008b727465668b6d8b7c9974a208
+0e6a89a8f8d0b201f786dcc0a603f7d6d615f87607ac9794af1eda06c28b9c80a03b
+08a2906af72f7185057b8a837c1efc40067b8a939b1f71916afb2fa386059fdb9c96
+c28b08e606af98826c1ffc7b076f7d7a621e7106868888861f8b788d89d68b05ec8b
+ae47994408a68b84f725058a977e93848b087a066a889faa1f0efb2989a8f7ffb298
+7712a69ff71dd6c2a1ca9f13bef797d715f7cdd207c68b85829b40089ff71d067188
+0513de8685867d1efbc0067c8690901f13be728e8afb1d9f8b0513de9fd78294bc8b
+08d8fbd0068b648684688a086206878989871f74e307ee8ba339917108a18b88f708
+058a998192818b087a066c8698af1f0e7789acf8dbac01f790e003f7e5f70e156f0a
+0e76fb7aa8f8efa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89
+058bce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81f8bf731f729f7fa
+0597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e3c8d8b1e8a898b7705
+888c87901ea806a08f88811f8b85887d878208fb13fbccfb16f7cc05869587988b91
+0894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d8b1e8a898b77058592
+8a8e1e9706998b9589908898839579917e08f734fc06050e7789acf747b3f800ac01
+f790e003f7e5f70e15e3f72fb3fb2fff0007b334078bff001dccccff0001199aff00
+10e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff00164ccc94
+ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b769185
+ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb65
+0583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00cccccc
+05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a
+8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5e66808ff00
+834ccdfb7105ff00116666ffffe2ccccff00038000fffff56668ff0000199affffdb
+cccc08fb3663f73633068b387a863b8885858b769185bc8cff003466668cff002699
+9a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080e76fb7aa8
+f75db2f7ffa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89058b
+ce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81ff731f744b2ffff6033
+3407ff0084ccccf7d30597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e
+3c8d8b1e8a898b7705888c87901ea806a08f88811f8b85887d878208fb13fbccfb16
+f7cc05869587988b910894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d
+8b1e8a898b770585928a8e1e9706998b9589908898839579917e08ff0089e666fbd3
+ffff60199a8b8b64ff00b0cccd8bff000533337f050ebd89a8f8e3a601f7a8e8f792
+a603f89d8c15cf8ba526936208a68b86f72805968794741e7d8b7a9e72ad08fb45f7
+7c05819885958b958b948f94949708f720f75205acb8a293a78b089c06938c8f8e1f
+8b9f888c057a8b408a868b808b488c768b08898a8b7705868e898f1ea90699928882
+1f8b84867e817d08fb15fb430585838787888b888b878f869208fb11f74405819983
+988b930892918f9c1eb3068e8d8d901f9f078a878c8b1f6d8b2f8a868b808b4b8c71
+8b08868a8b770585928a901e8d06ab8b9a79a26c08f73ffb7505948090828b818b85
+8883848208fb2efb6605746b7075678b087f06858689861f8b778c89058bda8d909a
+ec898b1e8e8d8b9f058b8e8a8e868c087806788193961f8b939095949808f718f749
+05929490908e8b8f8b8f88918308f71cfb5005967c937f8b8408838387731e730688
+8888871f8b778e89058bcd8eae1e0efb0889a8f80ba801f7ea8a15e08b9d44975308
+9f8b86f71b058a9985917d8b087a06798b858e6cb70823f727058a8e8a8d8b8d8b8c
+8b8d8d8d08e8f70e05a6b09b95ab8b088f0692908c921f8b9e8a8d058b5a896b6d5b
+8d8b1e88888b7805868e898f1e9a069d8e89831f8b8589827d7708482f0588868888
+898b898b898e8791084ee7057f9c87958b9008928e909f1e9b068f8e8e901f8b9d88
+8efb0289378d89888b7805879188911e8e06ad8b9c7a9f6d08effb26058d888c898b
+898b898a898989082ffb0e05746d7b7a6d8b088206828787851f8b7a8d89058bba8d
+a8acbf898b1e8c8d8b9e0590898e861e7e067a848d941f8b908f93989f08cce7058e
+8f8e8f8d8b8d8b8d898e8608c63b05a16890828b8708848689791e8006858988861f
+8b788d89058bb38ca51e0ef7a08aa871aef8d5b268a71295a294a6f749dcf73da595
+a2f70bdcbea5138fe0f78ef8d015fc85078b6385856a8a087106868786861f8b7a8d
+8905134fe0f7008ec78b05f723f7468a8b1ff08ba6449a4408a58b87f72905139fe0
+997d91841e7a066a899daa1ff883078bac8d97af8c08a9068f8d8d8e1f8ba1888cfb
+088afb008c898a8b7505878d8a8e1ea906b18a8c7e8b6b08fc7d07136fe06b887d67
+1efba1066c8390b41ff87d07ac9794af1ecb06c38b9c809f3b08a2906af730718405
+838b7b7b1efc23067b8b9a941f70926bfb30a286059fdb9c96c28b08d806af97806c
+1f0ef7128bb264a7f80ab264a812ad9f78a5f713d6f723a0f70bd6c4a01367c0f7c1
+f82515af06c68b85829b4008a0f71f067087058585867d1efbbf067b8790911f718f
+05136bc08afb1f9f8b059fd78294bd8b08ab06af9082651ffbb007648687671e7b06
+888989871f8b768d89e88cf7da8b05f5a424721fa08b87f71b058a998192818b087a
+066c8697af1ff7aa071397c0b49292ad1ea4068f8d8d8e1f8ba1898dfb0489298d89
+898b7505878d8a8f1ea006ae9082641ffb9e0769887c661efb5f06688697b01ff79f
+07b49390a91e0eb28aa6f76bc5f7d4a601ecdcf7a3dbc1a603f8a5d515f88b07b091
+90ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb
+72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008a
+fb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08
+fb950769877e671e6406878a89881f75d307e78bb651963908a68b84f726058a9a7e
+90848b087a066a889daa1f0e3c8aa8f702aff778a801e1d6f752d5c59f03f83dd715
+f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e
+9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d
+8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1e
+c08bc199afbe08fb1307648682671e7b06878989871f8b768d89c98b05eb8ba53d94
+5a089f8b87f71b05998092811e7a066c8697af1f0eb289acf76fff003ab334ffffcc
+ccccff0033999aff0130e666ac12f1e0e8b8f714e013bef7d9f71315ff0082800007
+ff0027e666ff0008e666ff002b199aff0011999ab8ff001ee66608ffff3f199a078b
+387a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035
+e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba0859165
+8affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d1
+889c868b3808fb3e07ffffd0199affffe0ccccffffd08000fffff63334ffffdf6666
+fffffd199a08ff00cde6665e0713deffff31b334074fff0004b3326aff001d199a8b
+ff004a800008f5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b
+678b568c638c85858b769185d1889c868b38082c0728b43cf7061eff000780008bff
+0007b334ff00003333ff0007ccccff0000999a08ffff843333070e3c89acf1b8f770
+ac01dfd9d3b7d5db03f7aade15ff0045333307ff001b999aff000cffffff00188000
+ff0011cccdff0015e6669b083e078b3880884e8685858b769185ac8cae8cb78bb68b
+b08aab8a91918ba085914e8f808f8bde08f74d078bde968ec89091918ba08591698a
+698a5f8b648b638c748c85858b769185be8796878b38084307ffffe98000ffffec33
+33ffffe8b334ffffed8000ffffe3ccccfffff5b33308ff0081999a5fffff76199a07
+fffffeb3338bfffffe999affffffe666fffffeb3338b084a88add91f9c078bde968e
+be9091918ba08591738a658a638b608b698c6a8c85858b769185c88796878b380860
+072da066e81eff000c80008b97ff00016666ff000b8000ff0002800008ffffca199a
+070eca8aa8f803b9f745a701f5dcf7bddc03f74ff7d415d1bdd6a4aa8b08d7b8633a
+1ffb5e076e827c661e7e06868888861f8b788d89058bcc8db2b5d5898b1e8e8d8b9e
+0590868e861e760668809aa81ff76607f25cc3271e4c8b41742d5408f76707a7999b
+b41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea6
+06b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3da898b
+1e8d8d8b9e0590878e871e7806637c98a91f0e578aa8f7a5bac1a801f1d6f764d603
+f745d315f73107ff002f999aff002e6666ff002a999aff0019999aff001ccccc8b08
+c3ac783a1ffb15076e827c691e7806868888861f8b788d89058bcf8dafb2cf898b1e
+8d8d8b9e0590878e871e78066a819aa81ff70a07f25cc2421effffd933348bffffc6
+6666fffff13334ffffbd6666ffffbdcccc08e607a7949bad1e9a06908e8e901f8b9e
+898d058b4b896764478d8b1e89898b7805868f888f1e9e06ac957b6f1ffbb2076e82
+7c691e7806868888861f8b788d89058bcf8dafb2cc898b1e8d8d8b9e0590878e861e
+7c066a819aa81f0ef7687fadf800b7ffffdfe666ff002bb334ff0065e666ff003fe6
+68ff00109998ad12ff000a999aff00284ccdff00761999e5ffffb6999aff0056b332
+13def953f70e1556584e5a2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7
+223af716fb548b0813bdf80d0a13defffffbb333ffffe6e666fffffdcccdffffe599
+9a8bffffe4999a8bfb32ebfb41f76b8bf7028bc4b0dad4085bf7e015fffe7db33406
+13bdf80e0a0e4e81bcf766ff00273334ff005accccc46bac12a5afdcdfffffb9999a
+ff004a8000ff00c2e666e113ddf880e81566656e7b518b678b61a06cbe77ac7fb98b
+c508f79e890597929196df6de5fb1f1f13ebf80f0a13ddfffffd8001fffff13333ff
+fffeb333fffff04ccd8bffffef80008b539955ac65ad63ba73d38bd78bc1aeb3bf08
+889585907f8c0813dbfffefb199af75715f8100a0ef768fb65b1f733adf800b7ffff
+dfe666ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284c
+cdff00761999e5ffffb6999aff0056b332ff00d0b334c713ef40f940fb22157b9205
+75757b7d6e8b668b74a58ba58bff003d4ccdff00243334ff00289999c1ff00298000
+ff001f80009dff001d9998ff00188000ff0021b334ff001f199a0874a30556584e5a
+2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7223af716fb548b0813dec0
+f80d0a13ef40fffffbb333ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb
+32ebfb41f76b8bff0019199a8bff00164cce8dff00148000ff0003cccdffffda3332
+ffffdd4ccdffffe2e666ffffd619998bffffd5cccd8b54b56ec18b08b48bb0a1a8b8
+0885f8d015fffe7db3340613dec0f80e0a0e55fb4db1f71dbcf766ff00273334ff00
+5accccc46bac12a5afdcdfffffb9999aff004a8000ff0040e666c9cfe113eec0f882
+fb0c158792858f828b75757b7b6e8b668b7ea08ba58bff00273334ff0018b334ff00
+1cffffff002d9998ff00273333ff0021e668ff000f3334ff001bb332ff00186666ff
+0017199aa9889585907f8c0866656e7b518b678b61a06cbe77ac7fb98bc508f79e89
+0597929196df6de5fb1f1f13f5c0f80f0a13eec0fffffd8001fffff13333fffffeb3
+33fffff04ccd8bffffef80008b539955ac65ad63ba73d38b918bff0005e666ff0000
+3333ff0005b334ff0000666764ffffdf8000ffffe66666ffffde4ccc8bffffdc999a
+8b55b177bd8b08b48bb39fa8b80813edc0fffef9199af82c15f8100a0efbbe89acf8
+dbac01f5e003f753f70e15590a0ef7ba89acff0124ccccff002a4cceff00dfe666c8
+66acbeaa12f7c4d1a7e089d013cdf841f96d15f7d70a13eec5fcf315f7d90a13def7
+da0a13eef7db0a0ef70389acf746aef710d163acc9aa12f76dd4abd482d413cdf85f
+f8d815f7ee0afbecfcd8159f8c9ca298a608b6e50513ee9db0a7a6cf8f0834078b38
+7f88588685858b769185a28cff002533348cff0027cccc8bff002766668bff002599
+9a8aa18a91918ba08591588f7f8f8bde08e207cf87a7709d6608b6310598709c749f
+8a8b8bd58a9f8a91918ba08591648d81937aab085ee00572ba6aa3528b088e07b296
+9cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f518b
+7055785c75546d65448b08ca0713def7e80a13ee78ba70c1518b086a737475779d78
+a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a7372
+5c085e36057a6b8183648985858b7691859f8cd58c8b8b080e94fb40a8f722a8f7ca
+b6f764ca69a712f5dc7ca2f7b0da13f5f8c2e8158bff00ac3334ffff8d999aff0043
+1998fb0cff00183334ffffff3332ff00003334ffffff199aff00001998fffffee666
+ff00003334fffffa999aff0001199afffffa999a8cfffffa999aff0000e666ff0049
+199aff001b8000ff0020ccccff0057e666ff00158000ff0038999a95a7a5a8978b98
+8b998698840897849885998b08a0a29da3a27ba2561f368b6d5773517658724c526b
+ffffe7cccc7effffd3199afffffe3334ffffdc199affffffcccc08f7550713eda799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1e
+a606b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c98a91ff79f07ff0097e666ffffff6666ff00
+8c199affffd233348bffff2f66668bfb3d3e52408b5b8b6c99769e799c7ea38ba608
+13f373fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712edf70af7271f
+0e49fb7eadf75ba8f73bbcf70bd16ca812f3d64bddf75dd813f3ff00f8b333f77515
+ff0003e666ff0000cccdff0003ccccff00009999ff0003999aff0000999aae91b2af
+a6be96a196a0988b948ba0839e8b08a39b9e9fa17e9c651f698b6c706a4e5e34677d
+518b0813ed79f70806a89598ac1e93068f8f8e901f8b9e898d058b52896467478d8b
+1e89898b7805868e88901e9e06ad947b6f1ffbb5076f827e691e7806868888861f8b
+788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8198a71ff71207ff
+005ee666ffffffb333ff007c199affffdab3338bffff4a999a8bfb005d47428b0813
+f3498b81b685ac87a37a97748b08747c7c6e60bf50f5f70cddf700f7101f8bff00a4
+199affff85e666ff0031e666ffff97cccd98080ef70afb55a8f737a8f7bcb2f793a7
+01f5dca9a2f7a6db03f896d215fb3d4849401e5b8b6b99779e799c7ea38ba60873fb
+2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af7271ff88a07a7
+999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f8890
+1ea506b39a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7b621e7006
+878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98
+aa1ff790f7db070e69fb59adf736a8f74cadf730a812f3d545def754d613f6f813d5
+15fb086cfb0d3b1e4a8b81b585ad87a37a96738b08757b7d6e5fbf51f6f722bcf70d
+f72a1ff7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b7505878d
+8a8e1ea006af9082641ffb000713fafb61f70106b49291ad1e9f068f8d8d8f1f8ba0
+8a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658683678a08
+7106888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84918bb3
+08f71df761070ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15f825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00134ccc8ba1ffffffb333ff0016e668ffffff999a08ffffc8cccc
+ffff84b333b68bff0036ccccff007a800005ff00078000ffffffcccdff00076668ff
+ffffe666ff00074cccffffffcccd91918ba08591458e7a908bde080e6689acf746ac
+f730ac01f6daf76ada03f873f7c7158bde968ec89091918ba0859168895f8b6a8b6f
+8b638c648c85858b769185c88792878b38084afb6acc078bde928ec89091918ba085
+91658affffd9cccd8affffe033338bffffe266668bffffd6999a8c638c85858b7691
+85c88796878b3808fb4d078b3880884e8685858b769185b38cff002833338cff001f
+cccd8bff001fcccd8bff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34
+078b3884884e8685858b769185af8cff002533348cff0022cccc8bff000e199a8bff
+00108000ffffffcccdff0011999affffffb33308ffffc8ccccffff848000b78bc1ff
+007a800005ff0006b334ffffffcccdff0006b334ffffffe666ff00069998ffffffcc
+cd91918ba085914e8f808f8bde080eb28aa6f76bc5f7d4a601ecdcf753a6c0db03f8
+a5d415f88c07b09190ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1e
+a906af8f84681ffb72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d
+8c8f1f8ba0fb008afb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf706
+1ec58bc893dbdc08fb94076f86766c1e7a06857d867c1f84fb26a68b0597ddb5c5e6
+8b08d3a1068e8a8d871e6406678798ad1f0e3c8aa8f702aff778a801e1d6f703a1c4
+d503f83dd715f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b75
+05878d8a8e1e9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad
+1e9a068f8d8d8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a
+073da141ef1ec08bc199afbe08fb130767867f6b1e7b068180847d1f86fb1ba18b05
+94c69fcff08b08c98b8d8d8ba0058f898d871e7b06678694b21f0eef89acf766b5f8
+0b77c7aa01f77ed1f703d003f7fbf96d15f7d70a2bfc52154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80baccbaa12afde4bd85fd4ebd466d9133300f7def8e215f7ee0a13
+788066fbf915750adafb381513b480760a137880770a0eef89acf766b5f80b77d4ea
+01f777e9d6e903f777f98a15950af73d16950afb19fc6f154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80bace4ea12afde4bd85ae9d6e956d9133200def8d315d80a133100
+f73d16d80a137880b4fbea15750adafb381513b480760a137880770a0ef7a289ac6c
+b2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb0afb4b
+0413b3c0bc0a1373c0bd0a13b3c0f7560a137bc0bf0a13b7c0c00a1373c0c10a13b3
+c0c20a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75dd7137bf79df81415db
+0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0e6589ac6cb2f7b0b1f788b36cac
+beaa12f4e062d1f703d070acb2ac9bae1325b0f7a6f96d15f7d70a92fc0415133670
+530a13ae70540a136670550a13a670c50a137670c60a0efb2881bcf765adf70eaccd
+aa12b0df79d4ebd472e113f6f7edf8e215f7ee0afb71fbc815e20a13f1e30adcfb54
+15e40a13f9e50a0ebc7fadf756b7f800ad01f89de503ecf89f15f73e0abbfbdf15f7
+3f0a0efb2882acf70eadf765bc01a1e1f758e203f7c4f72615f7540a3af75415f755
+0a0ebc7fadf756b7f800adc0eb01f74bebe8ebc0e503f808f98b15b70afb5116b70a
+35fb8015f73e0abbfbdf15f73f0a0efb2882acf70eadf765bce3ea12a1e172e9d6e9
+61e213f4def8d115d80a13f2f73d16d80a13f9bffc3f15f7540a3af75415f7550a0e
+f7ba89acff0124ccccff002a4cceff00dfe666c866acc4ea12f7bee995e077e913cc
+f7bef98315d80a13cdf73d16d80a13ee9ffd0915f7d90a13def7da0a13eef7db0a0e
+f70389acf746aef710d163acebea12f75be9a2d476e913eef70116f7e70a13def7e8
+0a13eef7e90ae5f8d215950a13cdf73d16d80a0e6681aff7bcbcf791adbeea12cfaa
+afe9d6e98ee34be813fe80b7f70715f7dc0a13ff00f7dd0a13fe80f7de0ae6f91515
+950af73d16950a0efb3381aef748b6f730aee2ea12c7a67ae9d6e95edb4de113f080
+b6de15f7ea0a13f900f7eb0a13f080f7ec0a13f400a6f87e15d80a13f200f73d16d8
+0a0e98fb67b0f99fb301cba5f815e403f73bf91915f74b0a0efb47fb7faef7c3adf7
+96ad12b3a573d7f756dc13ecf713f6159c7c059d8fa992968b08d9aa6326fb004655
+591f638b70b183a183a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1f
+f72bf78e059ba691968b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108
+720613f4f75c0a0ef70789acf8dbaccdbd01f5e0f7d6e003f8eaf70e15f7d60afb21
+f8e315f40a0e8289acf803ace2bd01f704daf760da03f75aca15f7ed0aff002be666
+ff008f800015f40a0ef70789acf8dbaccceb01f5e09aebe8eba1e003f81ff98c15b7
+0afb5116b70af81cfd1215f7d60a0e8289acf803acebea12f704da72e9d6e969da13
+f2f75aca15f7ed0a13e8ffff43e666ff00c7800015d80a13e4f73d16d80a0ef681af
+f8e8afc0eb01b0ebd2ebe8ebdceb03f81df98b15b70afb5116b70af713fb1d15640a
+f7e3fbb915650a0e3081aef80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a
+13e4f73d16d80a13f2fb8dfc0615ed0af759f75b158b0a0ef681aff784c480c5f790
+af12b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24c
+cc15f8060a13dcf8070a0e3081aef72ebd75b5f72fae12b4e1f78ee1139cb4f76115
+ed0af759f75b15f8110a13dcf8120a13bcf8130aff008a4cccffff3e333315f8140a
+13dcf8150a0ef681aff784c480c5f790afc2eb12b0ebcfebe8ebdfeb139f80f81af9
+8d15b60afb5116b70af716fb1f15ff007933348bff00641998ffffa34cccff000f99
+9cffff5466680813df80ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cc
+cc8b0813bf80f8050af7e3fbb915650a2bfffff24ccc15f8060a13df80f8070a0e30
+81aef72ebd75b5f72faee2ea12b4e180e9d6e989e1139c80b4f76115ed0af759f75b
+15f8110a13dc00f8120a13bc00f8130a139a00fb0ef73d15d80a139900f73d16d80a
+ff005b4cccfffe9533341513b880f8140a13d880f8150a0ea681aef79ebd79c3f786
+b0c0eb12b9e637a9c2ebe8ebd6e21399c0f7dbf98b15b60afb5116b70af719fd9515
+f76beef72af74df765fb0cf710fb3a1ffb138b636152880813bbc08755835a815708
+a98705a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813ddc0f7e30a
+13bdc0ce8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca6
+6e8b087282787741f7144fec1f0efb2181aef737b379b9f728aee2ea12badb42a58e
+e9d6e97de113dc40badd15f7fa0a13da40f7fb0a13bc40f7fc0a13dc40f7fd0a13bc
+40f7fe0a13da00f7ff0a139900aff87f15d80a139880f73d16d80a0e8675c9f8d2ac
+cdbd01ff00688000f89f15f7d80aff01358000f75215f40a0e3bfb7cdbf8baace2bd
+01f760fb3415910af73ff93a15f40a0e8675c9f8d2accceb01f741ebe8eb03f7fef9
+8c15b70afb5116b70affffbb8000fb8115f7d80a0e3bfb7cdbf8baaceaea01f729e9
+d6e903f760fb3415910a54f97115950af73d16950a0e8675c9f8d2acce7601f86bf9
+af15f71f0afb179015f7200affff148000fba915f7d80a0e3bfb7cdbf8baacf77276
+01f760fb3415910af796f99b15f7210afb189115f7220a0ec289acf76fc5f7c6accc
+eb12f1e08debe8eb76e013fef80ef98c15b60afb5116b70a34fb81152c0728b43cf7
+061e13fdff003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f
+199a078b387a86458885858b769185b28cff00374ccc8cff0023b3348bff00241998
+8bff0035e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918b
+a08591658affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b
+769185d1889c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe38000
+8b084363a6dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb333
+8b678b568c638c85858b769185d1889c868b38080e5389acf1b8f770aceaea12dfd9
+ffffd48000e9d6e9ffffe28000db13f9f736f7c715f7f70a13f4ffffd48000f7af15
+d80a13f2f73d16d80a0e4689acf8d2b36cab12f703e0c1a9f75cab13dced8915f28b
+b354943708a98b84f728058a99fffff7b334ff0008999afffff34cccff0001666608
+798d05ffffdce666ff0003e666fffffe199aff0009199a8baa08f88507a59a90a21e
+f71706d18ba8569b4308ab8f76f735fbe68b0513bc7dfb0c8c8b1f13dc898a8b7305
+13bc8b878efffffd66688fffffff999808ab8805ff002c199afffffbe668ff000ae6
+66fffffb19988b6808fc7b078b6cffffefe666fffff58000ffffd6199afffffb8000
+086f880587ffffff999a87fffffd66668b86088b748d89050efb2e89acf7f6b76cac
+12f702dac2a6f70aa813dcf70216f18a9d4c994b08a68b87f71b058a977d96848c08
+798d056b8f85908baf08f7c7f70407c68b9b56985108a88b7ff72ffb958b0513bcfb
+0a8d0513dc88898b710513bc888e898e1eab8805b18791858b6508fba0078b6e7e7f
+6a8708728805868a88898b86088b748d89050ef75f89acff013ae666ff0028e666ff
+00e43334accaeb12f4e0caebdce83aebd1e013fd80f84ef98b15b60afb5116b70af8
+4cfd1015f7e00afc3e2f154782adac1ff78907ff00158000ff0001e666ff0013e666
+8cff00124ccd8b0813fe80ff00809999ff0033b334ffffcfccceffff974ccc386c3c
+fb181ffb36e615f7e20a0ef71589acf755acf721aceaea12f6dab9e9a8e163e9b6da
+13fc80f8fdf7c715f77c0a13fe80fb9a8f15f7f80afb3df74815f7f90ab9f7d01595
+0a13fd80f73d16d80a0efb6dd0b1d001f706d103f706fb4a15f8160af604f8160a0e
+fb6cd0b0d012b9d17cd17ed1ded113c4f7cbfb4a15f8170af604f8160a13e4fb9d16
+f8170a13ccf70416f8170a13d4522115f8170a0efb6dd0b1d054b412f7a3d113b0b0
+2b15f71db4fb1d06f77efb1315f8160af60413d0f8160a0efb6dd0b1d053b512e4ae
+f72ad11398f7a6fb4a15f8170af60413d8f8160a13b8fb8e7515f8180a0efb27d001
+f717d103f717fb0415f8160a0efb27d001d6d1b6d103f750fb0415f8160afb0516f8
+160a0efb6cd0b0d012d7d17cd17ed113d0f717fb4915f8170a13c8c4f515f8170a13
+e0fb0416f8170a0efb15b501e0f73803e0fb1515f738b5fb38060e21b501f72aae03
+e02115f8180a0ef8e7d001b3d103b3f90a15f8160a0ef8e7d001b3d103b3f90a15f8
+160a0efb6dd07bd07cd012aed1b5d1b5d1141c139cf797fb4a15f8170afb04c01513
+5cf8160afb04c115133cf8160a0ef76ed001f717d103f717f79115f8160a0efb5ff7
+1e01f725b003f7254a15fb1eb0f71e070efb70f836e201c9f78f03c9f83615f77b8b
+9fe2fb7a8b050ef8edb501dff73803dff8ed15f738b5fb38060efbc4997601f706c4
+03f7068415c4f8d752060ef8e5d001f7d1d103f7d1f90815f8160a0ef8e5d00159d1
+0359f90815f8160a0efb879d7601e3f74403f79cf83d155a9f7e8c71ce745078805d
+79c375918da5469bb599a2c5a308fbe90453a27ca17ab782757c614b72b57ba183a3
+4ca5ce998bbb9f080efba18bef01cda603cdf7a4158b316d488b578b6f8c768f7d08
+f7918b6beffb3e8b0590a78fa38ba88bbe83dc8bc38ba49f98a68dd28fb7a88bb38b
+d35f8b8b8b856a68896e8a085d895c838b4f8b529d4e8b51080efb06a07612acbd63
+ba77f704f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb
+138beff7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350
+f77ef7bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce
+13e0f7dff7b715f8210a13d0f8220a0efb099376f839f70012c3cef777bd60cc13e0
+f70bf733158bab93a99b95089807868e858c858b5a8b73618b478b788e4f8b798b7b
+8679838208928005bc8ea3a88bb2088b9e87ca8b9e0813f0f7adf71d158befaf898b
+b308a307b1819f561efb8a06728b78a086a2088b5e844162a86dbd1ff7bb06655e78
+4d8b3d0813e88b6192318b618b77877a837d08938105b992a2ab8bc5088bcd75da8b
+cd080efbca9a7612f747c060b013c0f74785158bc091be1f13a0f8230a0efbc69e76
+01f709ca03f709be158b75867a817d8b8bd98d8be98bd36cd68bd98ba08eb197b199
+84a481a08b918b928c908d08939691a18b948bc87199fb0c8f7a8f8096879e088b63
+85415dad73cf1f71547e4f8b4d8b519b4c8b51080efb089e76f833f612c6bd5ecbf7
+70bb63ca13e8f820f7bf158becb8798bd708b875a05e1efb8406708b7b9c86a2088b
+588a4a5daa68ca1f51537f4e8b3a0813d08b5190508b6d8b6f88737f798b8bda8d8b
+e80813e88bc978d88bc98bc19cb4aba308f78d06665e75498b3c0813c48b6193318b
+618b76877a827e8b8bd78d8be0088bc874ea8bc5080efb018beff7cbf70225f70012
+a7f729fb04abf7d8aa13acebf82e157a5f7d5a8b618b35b3fb0a8c4408f7ab06b5f7
+09a4f48be38bf74d49ab628b6e8b6f787773716e74566b4108a37f05bcdfaa9eb88b
+c18baa658b448b3b79436f5108fb73066ad775d08bca8ba596b496b00813d4918b91
+8a918b978b978d958e8f998d998b998bb478a0648c6a8c7a9888a38b8b658a8b3e08
+8b5aa67cb484080efbd9f833f501f753b003f72cf78715f8240a0efb0cf82cf70012
+f7efc857af13a0f81cf7fd1513c08ba7929a948e9a90999e8ba608a582ab501efb86
+066e8b7a9685a2088b60894462a36fba1f13a0f7918b0513c082fcd50597bc91d81f
+0efb188beff7cdf601f807b103f807f78c152a6e583d1efb668b7127f7518b05f73a
+a5dff749f73d60e1241ffb1806708b7b9786a2088b60824462a276b91ff73a06e294
+442d1f0efb0b9576f83cf601f754d1f3bb03ddf8c2158b978f9d90998e949bcb8b8e
+8ba576957990838d7792899d8b8a6d898b5e8b75a18297870898869e848b798b8285
+7a86817f6b7f658b5b085eac76bd1ef72806dd966b5a1f8b4b827a5a596969393b8b
+5208709b7da1a19c97a31e8b9684958b9a8bada9b0b6bdd2da93988be208f70182bd
+331efb3e06666f90ac1f0e478beff7cdf612beba64b7f7dcb565bc13c8f74cf83115
+f72606d78b9f6990fb280813e48ffb17fbe58b0513d890f726058cc1a7bfbfc80813
+e4fb19fc3115f8458b0513d880f7e90586f7246faefb268b08fb3006718b7c9785a2
+088b5f8b4662a46bbb1faa066260594a8a61080e408bef12b0ae69f723f795ad13b0
+f7b7f8a91586596668546d8191859b8b988b988e8d8b9c8bb06d8f728d0813d0778d
+718f83aa0813b08b69864c1f8b68a06db482b78296848b710813d03f3861fb0c8bfb
+1c086f8e7899949494901e8bf71aa2e9b7ccb6cccab3be8bdf8bc5418b2f8b597c53
+806808fb638b6727f7888ba8de0592a0a2dc8bce088bf7174ef716fb0c9f080efbcd
+f82ef70212f727d34eb813c0f727fb5f15908dce7d8bf71d0813a07bf7ce0513c08b
+b88eb998b198b192a48b968bd6568e5b8e758c668d84ae8b8b64868b428b60ae73cb
+8808b289a3828b7a8b82877f857f0813a0796c826c8b74080efbaa8bef01f764af03
+f788f7a4158bc59dc88bc48bc75c935d8d6e8c688d85ac8b8b5f8b8b438b63b76ed2
+87a6899f7e8b72088b5a824b8b578b838b838c848d6e8d73906f08fb3e8b6b27f792
+8b058e998ca08ba78bbf6dce8be5080e3680f0f7d7f601beb3f7d3af03f7b5f83115
+eba45121fb214279374a2a8ff7371f8bc399c0a7ba08f709fc3c15eceeabf789f75a
+44c3231ffb1a06708b7b9986a2088b5d8946769958ba1f685579488b3d08fb5bf71a
+70cc1e0e2bff019bb334ff006ce66412ff0037e666ff00a0b334ffffa59999ff001f
+6667ff005ce666ff002a3334ff00744cccc413b8ff00834ccdf82e15fffffc4cceff
+fff4199afffffe9999fffff84ccc8bfffff233348bffffe3333291ffffe2ccceff00
+03999a7eff000c9999ffffd2b332ff0012cccdffffece667ff0023cccd70ff001b80
+00ffffeb33339fffffe466678bffffe980008bfffff46666fffffab333fffff5cccd
+fffff3999afffff8cccd08ffff4c3333ffffe2b3337728f769ad05e595b9b88bda8b
+f70ddff70a8bd28ba97a9d68905c927f9685a58b8b66868b428b68a374bb80089b87
+94828b788b81826f7965ffffb8199affff664ccdff000e3332ffffe99999ffffd599
+9afffff86667ff0007ccceff00054ccd8eff000d4ccc8bff000fe6678bff0015e666
+fffffa4cccff001ab333fffff93334ff00116667fffff13332ff0025ffffffffe199
+9aff00123334ffffe0199aff000fcccc08ffffede666947bff001c3334fffffa3333
+ff0018e666fffffd8000ff000ae666fffffce667ff000e80008b9c8bff00043334ff
+00003333ff0004199aff00006666ff0003999aff0005e667ff00004cccff00058000
+ff00003334ff0005b3338bff0009b3338bff000a6666ffffff4ccc99fffffd800008
+13d8ff00036667ff0008b334ff0003cccdff001519988bff000b999a8bff0045199a
+ffffd1e666ff0000e668ffffe4e666ff0000b33080ff00008000ffffdce667ff0001
+999cfffff68000ff002199988b8bffffe01999fffffae6688bffffc23332088b60ab
+ffffe3999aff002b666783080efb0bf758f1f707f6ba7701aacaf79fce03f73ef758
+159d90ff0013cccdff001833331f8ba375a56893ffffdb199aff00086666fffffae6
+66ff0009999a8ba98b9e949ea1a808f71806b98bad7f97739774975a8b4f087ffc5a
+059fba91ca1f8bca89f70a87e60882f7750584f71a72a8fb308b083406718b7aa386
+a28b8b507b8b538b689769c17e645670608b4a8b6698789b8b9c8b949fa78b08a58b
+9a779a8b080efb188befebf1f707f601abcaf7a8b103f807f78c152a6e583d1efb66
+8b7127f7518b05f73aa5dff749f73d60e1241ffb1806708b7b9786a28b8b60828b44
+8bffffda4cccff00138000ffffeb3334ff0026e666fffffce66608ffffff999affff
+ff999a05645670608b4a8b6698789b8b9c8b949fa78ba58b9a779a8b9d8b90ff0013
+cccd8bff001833338ba375a5689308ffffdb199aff00086666fffffae666ff000999
+9a8ba98b9e949ea1a808f72906e294442d1f0efb05acf74333b36dc7e4f73f1350f7
+44dc158bccb4dfd5db9d9eb0b1b4ab9d8b99879d8294968fb68b958bc36695618e72
+8c6f9587ab088b68853b1f8b64a573be834653423d5d2f08838b89e30513908bc8bd
+db8bb38bc15e966391788d6d9985a68b8b687c8b440813308b5ea57dd27d9a89907f
+8b7d0813508b646d508b61088b8905133095fc470592c08ee31f8bc57ddb8bc1080e
+fb078bef12a1f73364aaf4f73a13b0ff0157e666ff00bd4ccd15ffffea8000ff0015
+3334fffff9999aff0017999a8bff001ae6668bb6abd4acaba58b95889a8494988eb2
+8b968bbe6b90688e7b8c668f87ac088b618a421f8b69a86eb482ffffe2199affffd8
+199a68ffffc0199a74ffffc2199908ffffc3e666ff0029b33305799a82a78ba50813
+d08ba293bd8ba28bc577915b8e7e8c6d8e85ad088b61874561ac70bdaa9472691f13
+b08843058b749475a07b08f7262505928593838b8308fb9e8b6c27f7ea8b05a090b1
+bd8bb58b9b849b7c96080e29f831f601c3bad7c9f73ab703cdfb7015a1989a978b96
+08f890820774777c728b6f08fc6707f74df792158bbeb1a3c6aed1b6b6a58bf71308
+d189f5fb0c1efb4e066f8b7b9786a2088b588a4962ab69ba1ff75f06da8e505f1f8b
+4541577e83687321448b3e0871947f9fa29696a11e8b998a998b92080e219476f83d
+f612f811c15eb813e0f8117f158bc18eb51f13d0f7cb07f72364acfb261efb120670
+8b7b9985a2088b5a844c62a96aba1ff74306e3a35efb1a1f0e9c8bef12acf724fb00
+abf71df726f71ec513b8f8d8f858158bc45f947c907b91778d87a78b8b62888b3b8b
+6f9c78ab809488a3878b6e8b7a82757a7308472c6a407b5a08fb3406b9e7aef6a4f7
+04a18b96889982909692a88b988bc7649072917b8f768a84ac8b8b65868b44088b6b
+9f73b47c69fb0f64205f3908770666d473cd8bc08bb592b294ad9c8b968da68b0813
+d88d918e9d8b968bb67ba56a926193829284a38b8b66828b428b6a9f75b47f0813b8
+7e647f5d8b5a8b4f9e5ba0399172876f926a08f7b9069ef771f72af70c8bf703080e
+3b947697eff7cdf612e5b6f7aec15eb813b8f8337f158bc18eb51f1374f7cb07f723
+64acfb261efb1206708b7b9985a2088b5a844c62a96aba1fff0015b33306ffffdd66
+66ffffc9999affffdde666ffffc54ccc8bffffa8199a8b8191488d68084e8b7a27f7
+1b8b91c5058bb66fd38bde8bff0032199aff0020cccdff00448000ff00151999ff00
+26666608ff007d199a06e3a35efb1a1f0e659a7612f743c060b0f774c060b01390f8
+5285158bc091be1f1388f8230a13c0fbadfbea158bc091be1f13a0f8230a0e599a76
+f839f512f753b0f76ec060b013e0f72cf78715f8240a13f0f7c0fb94158bc091be1f
+13e8f8230a0e4df833f501f753b0f779b003f836f78715f8240afb988415f8240a0e
+fc0cf7e5f77501d4f70303f721f8c615f8250a0efb66f7e5f77501d4f703c4f70303
+f7c9f8c615f8250afb3c16f8250a0efb7481a9f8337712abd255caf727ca55d113d8
+f797f7e8158bffffd966666bffffe4999a7b815b9f589a8bd28bb1a1938b938a9386
+8e818b628b6f5c8b608b3ee06890850813e4697e425f8b4b084cc656e7e2cfc5d31e
+8bff0053e6662fff0022199a87930813d8b69fb0af8bb908a07fcd517a8487821e8b
+76aa7e8b5b0813e4fb30fb7515bfc9b4911ed063a7708b5508696d6a621e4e6ac0b5
+1f0efbb4f7faabf772a401aabff701c103f754f88a15980ab6fb2415990a0efbb4f7
+faa4f771ac01ff0043199ac1f700bb03ff0079199af88115da07ff001a0002a29c95
+a08bad8b96778b768b6c737936750860f72415ffffed00028b787f8281ffffff6666
+83ff00034cccfffffab334ff00074ccefffffd4ccc8e8e908d8f8b0894907b621f40
+07ff000000022dc477bc8b08b5c9acb39a80957c78847e831f8b868c868c898c898c
+878b84087b76806a746c93d61ec59a05ca9bb3a78bb58bb668a6618b6a8b7982696d
+889d7da0728b080efb90f7f8acf764ac01b3c5f71abb03f77cf81915ff0001800078
+967dff001280008bff0016b3348b9fff0006b334ff00114cccff000d4cccffffff4c
+cc9189ff00044cccfffffcb334ff0002b3347d8bfffff6b334ff00014cccfffffb4c
+ccff0002b33485ff0002b33488918bff00094ccc08f76107ff000ab334fffffb4ccc
+ff00054cccfffff6b3341efffff74ccc8bfffff9666787fffffb4ccd8308827c05ff
+ffed4ccdff0010b334ffffef3333ff00084cccffffe880008bffffd94ccd8bffffe2
+b333806f6effffe2ccccffffe1ccccfffff33334ffffd580008bffffd8b3348bffff
+b58000b7ffffd08000d38bff001680008bac97ff00148000a008f73904fb19077d78
+6a7e7d8b08ffffcf4ccdffffe7b333ff0025b334ff00474cccff0040b334ff001fb3
+33ff00224cccff00274ccd1fff000e80008bff001fcccdfffff1b334ff0010b333ff
+ffe34ccc080efb05f7faa4e7a2eab76da912b8c5f5d2e3c555cb13ccf731f8131569
+77b0b01f9799ff00318000ff00028000ff002b8000ff0001800008855a7e606b8b08
+f714f7531513dd99a3a3949a8b978b9984907e8d858c818b838b6f697251848ba9ff
+00018000aeff00038000910813eefb229e15b0a86a4d1f498b4489727b8afffff780
+008afffff780008b7e8b6e984ce78bae8ba593a4ae9b6ab281ac8b08b7c5a7b09b84
+9b756f857b821f8b8490838b7f087d7785746e7baacc1e13ddf294c0ab8bbe8ba17e
+9f7b967b96788d728b7a8b5b7e7069849afffff1e666ff000a9998fffff3999aff00
+08e6680813eefffff3800094ffffe08000ff00038000ffffe780008b6c8b5d766c5e
+8b839084918b08a4a5b296a28b080efbbef7faa5f76caad1a001bebcf70bc103bef9
+1f15f8260abc4215f8270a0efbacf7feaf77a1f761a5d1a012a3c1f717bb13bcf765
+f86315f8280a86fb2d15f8290a137cf82a0a13bcf82b0a0efbaaf7fbaef704aad6a4
+01a6c1f710c403f731f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f74889
+05ffffff4cccff00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333
+448b418bffffd4999aff000a3333ffffd83332ff001b999affffe7b334ff0012cccd
+ffffef6666ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff00
+09b334fffff86667ff00064cccfffff74ccd8b0878756d7a658b08bbf72315f82c0a
+0efbaaf7fba4d6aaf704ae019ec4f710c103f710f8ee15a48b9f7f9a7597788f728b
+728b898b868a8708fb488d05ff0000b333ffffb88000ff00134ccdffffc48000e08b
+ff0055b3338bff002c4ccdd28bd58bff002b6668fffff5cccdff0027ccccffffe466
+66ff00184cccffffed3333ff00109998ffffe4199aff0008e668ffffdd80008b5d8b
+5d747168ff0003b333fffff64cccff0007999afffff9b334ff0008b3338b089ea1a9
+9cb18b085bfb2315f82d0a0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ca
+55c1edff0038333413f6f73af8f315ab8bff0018b3337aff00114ccd69089b8b97b9
+898e05719c719a5d8bffffce199a8bffffcae666ffffeccccc8bffffd233348bffff
+e2b334ff00104ccdffffea9998ff0020b333fffff6b33408ffffff8000fffffd8000
+0513faffffdd4ccdfffffbccccffffe93333ffffe633348bffffdd80008bffffc799
+9aff00348000ffffe16666ff003c80008bff001b4ccd8ba38fff0014b33395ff000d
+199aff00074cccff0013199aff0012999a8bff00134cce8bff00109998fffff16666
+ff0008999afffff2b3338bffffee99998bfffffa4ccd82fffffacccdffffee999a08
+86ffffe88000fffff33333fffff78000ffffe8cccd8b08ffffda6666ffffec999aff
+0014999aff00266666ff00218000ff0011999aff00138000ff002266661fa406ff00
+074ccdff0003b333ff00024cccff0004b3341f940791fffffc4ccd8efffff8b3331e
+730613f6ffffe3cccdffffe733339fa81fff00196668ff00158000ff000b9998ff00
+1980001e0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ff00383333edff00
+3f0001ffffc0ffffff0036000113faff00a03333f8f315ff00197fffff00188000ff
+fff56668ffffe699986effffe7333376ffffe3cccd1f7306fffff8b332fffffc4ccd
+88851f8207fffffffffffffffb4cccff0003b333fffffdb334ff00074ccd8b08a406
+13fcff00226666ff00119999ffffed8000ffffde8000ffffd9999afffff0999affff
+ea6666ffffda66661fffffe8cccd8bffffef3333ff0008800086ff00178000fffffa
+cccdff00116666fffffa4ccd94ffffee99998bfffff2b3348bfffff16666fffff766
+668bffffef66688bffffecb332ff0013199affffed6666ff000d1999fffff8b334ff
+0014b333819f87ff001b4ccd8bff003c80008bff00388001ff001b999a8bff003866
+66088bff00228000ffffe91999ff001cccccffffdd4ccdff0004333408ffffff9999
+ff000280000513faff0020b332ff00094cccff00104cceff001266688bff001d4ccc
+8bff002dccccffffcdffffff00163334598b5d8b6e7c717a088988975d9b8b05ff00
+114cccadff0015b3339cab8b080efbacf77fa9ebb3c0a1f71fa17ba7129ab672be58
+b4f708bf8bb213ea00f79ef8ec15f82e0a13f200f82f0a13e900f8300a13ec40f831
+0a13e980f8320afb4ffb7e15f8330a13e440f8340a13f280f703f74415f8350a0efc
+25f786c5d7a0f761a812ff004b999ac553bb13f0ff0068999af78615ff0010000298
+989b9b7e987b7b7e7e7b1f7b987e9b1e13e870f7ce15fb1c0713f0ff000000027089
+708b8b8b868d89918b9b92ba93a58d8c938a9287910813e86b8d80868bc008f70107
+ff00000002b4988eb38d90938a9a87916d8a748b748bffffe74ccc8bffffeab3348b
+6d8c87848b7d8f8308ad899c888b62080efba4f800a8f768a5d1a001c3bb03c3f84b
+158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b998793698d84
+8e8bb408ff0036199a07ff0003cccdff00013332ff00034ccdff0000b334ff0002e6
+668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b1e8d
+8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380009c8495084c
+e805898d8a8e8b8e8b8dff0000199aff0003e668ff0001e666ff0002199808b1b405
+ff0016199aff0017e668ff00156666ff00051998ff001880008e8dff000033348fff
+0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b898dfffffd4ccc
+8effffffb334ab88fffff0b333fffff14cccfffff84ccdfffff7b3340872ffffe680
+0005ffffeacccdffffea666879fffff66664ffffea3333fffff7333408ff00968000
+07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989284611f
+0e27f801a8f75da17dad12cdbbf705bbf705bb141c13bcf70ff8c6159ea29d9da08b
+08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733338bff0017cccd8b
+ff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000ff00028000fffff880
+00ff000280008bb408f4078b91ffffffccccff0005b334ffffff999aff00056664ff
+0012199aff00156668ff0013ccccff00138000ff0013b3348b08aaa47a581f2c078b
+628988698987838b7d8f84a98cff000733348bff0017cccc8bff00234ccc8bff0005
+b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1effffdccccc8bffffdc
+b334ffffde8000fffff16666ffffee9998fffff76666ff00246668ffffe9b334ff00
+0e8000688b678bffffe74ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348b
+ff00054ccc8b8e8ba7899888928a8e8a8e868b0813dcf8360a0efb7df7919ee8a8f7
+5da17dad12d1bbabbbbcbb13def78bf8ab15fb1b072e81686e1e868b878f8a918799
+839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f71107ce69a45d
+1e678bffffe14ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348bff00054c
+cc8b8e8ba7899888928a8e8a8e868b0813eef8360a13de9ea2a39da08b08aaa47a58
+1f0efbb4f7fba4f778a401a2c6f720c603f72cf91115326340444bba47dcff005319
+9aff002ee666d1ccff0048199866ff0046e6682f1fd1fb3615f8370a0efbcdf7faa6
+f770ab01a6c1f70ac103f70ff7fa15e1b7d3d4d463c8361f5e8b6c737268089e7b05
+9fa19ea0b18ba18ba37c997497788f738b728b3a616a6c8b658b86a389a1899b7e92
+7d8b087d80827769ac6aca1f0efbb4f8f8a401ff0017199aff003ae666ff008b3333
+ff003bcccd03ff00dd3333f88415ff003bcccd06ffffff4cccff00476668ffffdacc
+ceff00459998ffffa4e6668bffffa9199a8bffffd7ccccffffb88000fffffe3334ff
+ffba800008c606ff00000002ffffffe666ff0004999aff00026666daff001dcccda9
+ff002233331fff002633338bff001f999affffd01998ff00056666ffffbbe668080e
+fbb4f7fba401a2ff003b199aff008be666c603f7adf88415ffffc4333306ff00007f
+fffffff93334ff00004ccd848bfffff8cccc8b4e6c6d6e8bffffd833338bffffda33
+33ff00268000fffffdb334ff004980000850068bffffffe666fffffcb334fffffe4c
+cc4bba47dcff0053199aff002ee666d1cc1f0efbacf782a8f1a5f75ca17aaa12c3bb
+f716c113dcf3f7cd15d707997faf839f8b08ccbcdbd5cf68b3511f6e8bffffd98000
+ffffe68000ffffed8000ffffe88000fffffab333fffff93334ff00004ccdff0004cc
+cc8b8e8ba7899888928a8e8a8e868b0813ecf8380af71304ed0713dcf8390a0efc0f
+f7fab3f760a812c5bb65b113e0f5f8ee15f83a0a13d0f83b0a13e0f83c0a0efba8f7
+faae7ca1f765a212c2bbf705bb13b8c2f8bc15250748a872b81eb08bff00204ccdff
+001b6666ff000cb333ff0011999aff00034ccdff00048000ff0001b333fffffd8000
+8b888bffffedcccc8dfffff333348e848c888c88908b081378f83d0a13b8f83e0a0e
+fb7df816bbf715bb12b7a8f75da17dad13e8f785f8be15a2789d698b76086c7a7c58
+1e2c06628b888d89ad838f7d8b84878c6d8bfffff8cccc8bffffe833348bffffdcb3
+348bfffffa4ccc8a6d91879a8a93908db38e93b48b08f406cea4a3b91f8bafffffec
+4cccff0028b334ffffdcb334ff00184cccfffff8b33390ff00054ccd8b8e8ba78b98
+8d928e8e8c8e8c8b900813f0839c85a085b6878c7d89878a886a8682638b08200662
+8b889889b383907c8a85878c6d8b748b748b728b848a6d9287998b938f8dad8e8eb4
+8b08ef06938b94869087080efb02f800ad7da1f75da812c0bbf705bbf705bb141c13
+bcf802f84b1578747979768b086c7c9cbe1fea078bb48d8ead8d8f938b9987926d8a
+fffff8cccc8bffffe833348bffffdcb3338bff00044ccd8b6d8c87858a7c9083ff00
+1e8000fffffd8000ff00078000fffffd80008b620822078b85ff00003333fffffa4c
+ccff00006667fffffa999affffede666ffffea999affffec3333ffffec8000ffffec
+4ccd8b086c729cbe1fea078bb48d8ead8d8f938b9987926d8afffff8cccd8bffffe8
+33338bffffdcb3338bfffffa4ccd8b6d8c87858a7c9083b38993888b6208220748ad
+72b91eff002333338bff00234ccdff00218000ff000e999aff00116666ff00089999
+ffffdb999aff00164ccdfffff18000ae8baf8bff0018b334ff0013b334ff00184ccc
+ff00234ccc90ff00074ccc8bfffffab3348b888b6f8d7e8e848c888c88908b08137c
+9c93a091b6918c8f89998a8f6a8e82908bb308f6078bb4988eb38d90938a9a87916d
+8a748b748b728b848b6d8c87848b7d8f83ad898e888b620827078b8386828786080e
+fbadf8f5a20194f7bc03f760f8f515ac88ff00033333fffff46668fffff1cccdffff
+df999808ffffd1199affff94999a05fffff3e666ffffe54cccfffffd8000ff00004c
+cefffff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ff
+ffff3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe63333
+8b758b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce6
+6808ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff
+000819998bff000633348bff0003b333ff0005199a909608ff00533333ff00b6cccc
+05ff000de666ff001e9998ff0007999aff0011e668ff001f8000ff000380008f8f8b
+9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87080e34f7f9abc17701f75ff85b
+15ff000cb333fffff94cccff00044ccd8387fffff6b334fffffb4ccdfffff4b334ff
+fff7b333fffff699987ffffff8b334fffff34ccdfffff6b334fffff1b333fffffb4c
+cc7b8bffffeb4ccd8bfffff0b333ff00044ccc81ff0008b334fffff94ccd91fffff6
+b333ff000db3347fff00154ccc087c8a7e5b8d8805a5ffffe94cccacfffff4b334b3
+8bff00294ccd8badff0008b334ff001ab333ff00114ccc8dff00014cccff0001b333
+8cff00014ccdff0000b334ff00014ccdffffff4cccff0001b3338a8dfffffeb334ff
+001ab334ffffeeb334adfffff74cccff00294ccc8bb38bacff000b4ccca5ff0016b3
+34088d8e7ebb7c8c057fffffeab33482fffff24ccc8585fffff54cccfffff74cccff
+fff06668fffffbb334ffffeb4ccc8b7b8bfffff1b334ff0004b334fffff34cccff00
+094ccc7fff00074ccc82ff0009666885ff000b4cccfffffb4cccff00094ccc8f93ff
+000cb334ff0006b334958fff000bb334ff00044cccff000d4cccff0004b33408ff00
+24b3349bff00124ccca28ba98bff001d4cccffffedb334a2ffffdb4cccff0010b334
+6b996fff00074ccc73ff0000b33473ffffff4ccc6ffffff8b3346b7dffffdb4ccdff
+ffef4cccffffedb333748bffffe2b3348b6dff00124ccd74ff0024b3337b089e848b
+8b9a85080efbaff7faa4f74ba6f70ca512bbbbf706c16ac513f8ebf90615f83f0a13
+f4f8400a13f8f8410a0efb7bf8e6b601ff00878000e1ff00358000be03f7daf8ed15
+ff00183334ffffe94cccff000bccccffffe7b334ffffe8199afffff2e666fffff5e6
+68ffffee19981e8bfffff06668ff000a199afffff8b330ff000ee666fffff8e6688f
+898ffffff7b3348bfffff54ccc8bffffe4b334ffffe54ccdffffb29998ffffd8b333
+ffffbcb334fffff6cccdff00378000ffffec6666ff006a1998ffffe2cccdff003a66
+68fffff4b333ff0014b334fffff3cccdff000a4cccffffec80008b6f8b69ffffee80
+00ffffe980005e0891fffff98000ff00066666fffffce668ff000a199afffffd9998
+939a97ff001080009b8bff000680008b93fffff9cccc91fffff6b334ff00214ccdff
+ffc74cccff0013e666ffffb98000ff00134ccdffffa8b33408ff000180008305ffff
+e14ccd61fffff66666ffffe94cccffffff4ccdffffe6b33408ffffdf199aff000a80
+00fffff2e666ff00188000ff001c8000ff00168000b1a51e8bff00134cccffffff33
+33b5fffffb4ccdff000eb3349fa3a1ff001f4ccc9bff001cb334afcd9bff00344ccc
+8bff0026b334080efb86f7faa8f7d6a912b8c577c0f705ff0039b33413e8f731f8e5
+15ffffb3b333ffffe69998ffffdc4ccdffffd84cd08bffffc819988b7192ffffe733
+34ff000fb333ffffebccccff0017b333ffffe18000ff001f999afffff38000bb8baa
+8bff0012b33390a498ff002b0001a29dac8bbc8b9ffffff98000a97c9e087aa2ffff
+de4cccff00168000ffffcb8000ff002280000813d8ffffe3b333ff00129998ffffee
+4ccdff001866688b978bff00121998ff000d999aff0005e668ff001666668b998bff
+000c8000fffff88000ff00078000fffff58000ff000acccdfffff0ccccff00123333
+fffff73334998b9b8b98938f988a928993809308749e6b94638bffffcc999a8bffff
+d96666ffffec66688bffffd79998088b70ff001fe666ffffdf4cccff002a199affff
+e5b33408a27a15ff0021b333ffffe78000ff00234ccd6e8bffffd580008b72fffffe
+3333ffffe64ccc81fffff1b3347b74ffffe5cccd867a8b0813e8ffffce4ccdffffe6
+b333ff002c199aff0030e6661f8bb8a9abba9e080efc25fb03a8f761a0d7c512d3c5
+59bb13f0f0f7aa15f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbf1fb
+03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0efba8fb0aae7ca1f7
+65a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e0a0efbadf719a20194
+f7bc03f760f71915f8460a0efbaffb6776f706a4f74ba6f70ca512bbbbf706c16ac5
+13fcebf72a15f83f0a13faf8400a13fcf8410a0efb7bf70ab601ff00878000e1ff00
+358000be03f7daf71115ff00183333ffffe94cccff000bcccdffffe7b334ffffe819
+9afffff2e666fffff5e666ffffee199a1e8bfffff06666ff000a199afffff8b334ff
+000ee666fffff8e6668f898ffffff7b3338bfffff54ccd8bffffe4b333ffffe54ccd
+ffffb2999affffd8b333ffffbcb333fffff6cccdff00378000ffffec6666ff006a19
+9affffe2cccdff003a6666fffff4b333ff0014b333fffff3cccdff000a4ccdffffec
+80008b6f8b69ffffee8000ffffe980005e0891fffff98000ff00066666fffffce666
+ff000a199afffffd999a939a97ff001080009b8bff000680008b93fffff9cccd91ff
+fff6b333ff00214ccdffffc74cccff0013e666ffffb98001ff00134ccdffffa8b333
+08ff000180008305ffffe14ccd61fffff66666ffffe94ccdffffff4ccdffffe6b333
+08ffffdf199aff000a8000fffff2e666ff00188000ff001c8000ff00168000b1a51e
+8bff00134ccdffffff3333b5fffffb4ccdff000eb3339fa3a1ff001f4ccd9bff001c
+b333afcd9bff00344ccd8bff0026b333080efbcdf7faabb677f759a601a6c1f70ac1
+03f731f91115f8470a0efbeaf800a2f74aa8f708a401d3bc03d3f835158b79fffffa
+cccdfffff98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b
+87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccc89ff000033
+3408768d05ffffeccccdff0001ccccfffff93333ff000833348b9d08f72cc6079193
+8d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b9696
+8b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1e
+b5060efbd5f800a9f764a801a2a103d1f90b15818bffffeecccc8efffffb33349008
+858a058b6f8772866dff00063333fffffd4cccff00088000fffffeccccff00074ccd
+ff0000e66897b7a0919e8b08d78bfb26fb6e0586838b8a8b8708878f88951ef75906
+8e9e91a896affffff8e666ff0002ccccfffff8b334ff00018000fffff86666ffffff
+b33408847a057c6a8183678b08418bf722f76605989e8b8f8b8d088c078e878b871e
+898b6f89798b080eeffb6dabf5abb8acf766b5f80b7701f78cb3ebb303f7e43c15ba
+0a335615da0a9af833154a0afbb1fb60154b0a0efb1efb6eabf5abb1bb5bb4f80bac
+12afde4bd88fb3ebb378d913c980f7743b15d90a335615da0a13dd40f731f8021575
+0adafb381513eb40760a13dd40770a0e8489acf7c1adf78badc2f312f5e0acf3dadc
+69e813fcf774f98615f7090a6afb6015c08b95e21e13fef8480a6904d00613fd4d0a
+60f8a3154e0a13fe4f0a0e2581adf807b7f700ef85a9a67712d9dac8efbfe113eff7
+6ef8eb15850a5ffb8015780a84aa15fffff9b333fffffa4cccfffffc4ccdff0001b3
+348b9408f74c07cc8fb38b1e92878e821e13df7281407d638889838d7b9185bf8897
+908b3708fc7c078b648a79887d90839087978bff0006199aff0005cccdff0009e666
+ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96fffff6cccdff0016e666
+ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70be8f733f70e31d6341f
+ffffd5199a8bffffd9e6667a6c6f080e84fb64eff5acf7c1adf78bad12f5e0a8efe2
+dc69e813fcf770fb3015f8490a6ef95615c08b95e21e13fef8480a6904d00613fd4d
+0a60f8a3154e0a13fe4f0a0e25fb64efedadf807b7f75ea9a67701d9da9defeae103
+f743fb3015f84a0a8af89b15780a84aa15790a0e84fb17b7e0acf7c1adf78bad12f5
+e0f76cdc69e813f8f809fb1715f7900aa2f93d15c08b95e21e13fcf8480a6904d006
+13fa4d0a60f8a3154e0a13fc4f0a0e25fb17b7d8adf807b7f75ea9a67701d9daf769
+e103f7ebfb1715f7900aaff88215780a84aa15790a0ebefb5ca8d6abc1b4f8e2b0c7
+7601b0e6f7a4c9f3ac03f82cf9c715b10a62fe2715c30a0efb3bfb5ca8d6abff0036
+4ccdff0030b333f803ac12b0e1f71ec97ce213f8f7b2f93315d60a51fd931513fce0
+0a13fae10a0ef589adf8d9adc2f301f5e0c0f3f76aeb03f788f98615f7000a56fd32
+15510a60f8c515520a0e3281ba84a6f7efaef700ef85a9a67712b2e18eeff709da13
+3780f714f8eb15850af76dfc6f15f7050a13a780f7060a80fffef84ccc157c0a136f
+807d0a13a7807e0a0ef5fb64eff5adf8d9ad01f5e0bceff772eb03f784fb3015f84a
+0a5af78415510a60f8c515520a0e32fb64efedba84a6f7efaef75ea9a67712b2e1c7
+efc7da139f80f74dfb3015f8490af734f7ac15f7050a13df80f7060a80fffef84ccc
+157c0a13bf807d0a13df807e0a0ef5fb17b7e0adf8d9ad01f5e0f807eb03f810fb17
+15f7900a9bf76b15510a60f8c515520a0e32fb17b7d8ba84a6f7efaef75ea9a67712
+b2e1f770da139ff7dffb1715f7900af76ff79315f7050a13dff7060a80fffef84ccc
+157c0a13bf7d0a13df7e0a0ef5fb76a3daddb2adf8d9ad01f5e0f72cb2f748eb03f7
+d46215f7160afb15f71115510a60f8c515520a0e32fb76a3daddaaba84a6f7efaef7
+5ea9a67712b2e1f714b2c0da13cfc0f77a6215f7160af707f73915f7050a13efc0f7
+060a80fffef84ccc157c0a13dfc07d0a13efc07e0a0ef589adf8d9ad01f5e0f807eb
+03f7af6015f84b0a2ff71315510a60f8c515520a0e3281ba84a6f7efaef75ea9a677
+12b2e1f770da133ef77c6015f84c0af705f73b15f7050a13bef7060a80fffef84ccc
+157c0a137e7d0a13be7e0a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0f74aacb2
+ac9bae1327c0f82ef95d15f40aeafbf41530f748061337c0c40a13afc0540a1367c0
+550a13a7c0c50a1377c0c60afffefbe666ff01d6199815f84d0a0efb2881bcf765ad
+f70eacdcbd01b0dff75be103ff00d43333ff02fd333415fffffcccccff0000e664ff
+fffb3333ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999ffff
+fa999808fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff280
+00ff0005999afffffb8000ff0004cccc8bff000666668bff0005999aff000566688b
+ff000480008bff00064cccffffff3334ff00064ccc879408ff0044ccccffff7a3334
+15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0
+f74aacb2ac9bae1327c0f7f5f95d15f40af72cfbf41530f748061337c0c40a13afc0
+540a1367c0550a13a7c0c50a1377c0c60aff00fe1998ff01d6e66815f84e0a0efb28
+81bcf765adf70eacdcbd01b0dff75be103ff01086666ff02f7333415ffffc3999aff
+ff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6688bffff
+f9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00066666ff000399
+9897ff000d800008e7ff0062199cfffffd999aff0009e66405ffffed999aff0013cc
+ccffffeb8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999a
+ffffff199c08ff0048999affff0ecccc15f40a96fb80157f0adcfb5415800a0e6589
+ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae132780f7b76015f84b0a81f828
+1530f74806133780c40a13af80540a136780550a13a780c50a137780c60a0efb2881
+bcf765adf70eac01b0dff75be103f7826015f84c0afb06f7d9157f0adcfb5415800a
+0e65fb3ec089c2c9ac6cb2f7b0b1f788b36cac12f4e0f74aac75a6adac9bae138970
+f7e4fb0915b30a134970b40a138970b50a54f8721530f74806130db0c40a132bb054
+0a1319b0550a1329b0c50a131db0c60a0efb28fb3cc089c2bfbcf765adf70eac12b0
+dff75be144a613bdf7b4fb0715b30a137db40a13bdb50afb38f82115e20a133ee30a
+dcfb5415800a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cacb8bf12f4e071a7ecc9
+a0ac8ea793ac9bae13c97ef848f9b915f7080afb48fe1915a2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+13d9bea4cedf8b0513e9bec50a13ddbef70a0a13ebbe540a13d9bef76f0a0efb28fb
+5ca8d6abff00364ccdff0030b333f765adf70eaccbc4e57712b0df67a6f72ac987e1
+3da613fe90f704f91c15f60af709fd7c1513ff40f7700a13ff20f7710a22f80e157f
+0a0efb0289acf7b8b1f788b36cacc2f312f4e097f3cfacb0aa13cf80f75ef98615f7
+090adcfc4315e08b8e748e5e9185a08b91918aa48aff001cb3348bff00224ccc8bff
+002180008cff001a80008ca58591768b85858854887e368b082ef7480613ef80c197
+95b71eb806f58ba463a146978b968d938efffffaccccb4fffff0e668ff00606668ff
+fffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd9998
+8bffffee8000fffffc9998fffffb3334ffffff6668ffffe74ccc8b08ffff00b33406
+13df80570a0efbb189acf7fbb2f77fadc4ef01ebdaa8ef95dc03f760f9bb15f7010a
+6efd4115810a0ee581aff783aff7d5afe2bd12b0ebf821e063ac13f8f86df97d15f4
+0af7143415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b8c3bd12abd062dd41c0f75adb9dc2139230f7f0f89a15f40af757fb83152e5c7866
+1e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf82115f7110a1396
+b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a0ef71b89acf7b6
+b5f78facc1f301f5e0f719f3f4e003f7d8f98515f7000af7bafd0b15580a0e5289ac
+f7f8bff700ef85a9a67712e3dad2efb2da13eff782f8eb15850a44fffec6e66615f7
+6d0a13dff76e0a0ef71bfb64eff5acf7b6b5f78fac01f5e0f719eff701e003f8fef7
+0e15580afbbafbaa15f84a0a0e52fb65eff6acf7f8bff75ea9a67701e3dab6efceda
+03f766fb3115f84a0a60ff01bae66615840a0ef71b89acf7b6b5f78facc9eb01f5e0
+a8ebe8eba7e003f8fef70e15580afb65f90f15b70afb5116b70a0e5289acf7f8bfe3
+e6a2a9a67712e3dab4e5bae650da13ff00f7edf8d015729f77a4a4a09fa4a476a072
+1e727776721ffb1d16f7a00a62fffee1e666158bff0015199a94ff000c4ccc93ff00
+08b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ffff
+f2e666ff000b999affffe9199a0813fe8095ffffec33348dffffe4cccc8b6d08fb2c
+078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba08691539080
+8f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334
+a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334ff
+fff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b769185
+ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f828f
+8bde080ef71bfb5ba8d6abc8acf7b6b5f78fac12f5e07dc9f7bae013fdf8fef70e15
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ff0025ccccff0000e666ff0029199aff0000cccdff0022b334ff000033
+3308ffffd86666ffffa1199a9185059b90958c9e8b0813fba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+ff0018999aff0041e66605ff00219999ffffffcccdff0028999affffff199aff0025
+3333ffffff333391918ba085910813fd458e7a908bde08f75bf7eafb5b078b387a86
+458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff002fb3348a
+b78a91918ba0859108458e7a908bde080e52fb5ca8d6abc9acf7f8bff75ea9a67712
+e3da7ac9f739da13fd80f7092b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce05ff0020e666ffff
+ffcccdff001ce667ffffff1999a4ffffff199a91918ba085910813fe80ffffcd3333
+8f828f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff0025
+4cccff0032999aff0015b334ff002766668bff001466668ba0fffff2e666ff000b99
+9affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b76
+9085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2ffff
+fc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffff
+cee6668bffffc4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b99
+08ff0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fc49078b38fffff4333387518785858b769185ff001acccdff0000cccdff
+001d8000ff0000cccdff001f8000ff00004ccc0863ffffa0199a9185059b90958c9e
+8b080ef71bfb5bc4f720acf7b6b5f78fac01f5e0b1a6f76ca6ade003f8fef70e1558
+0afbfefb4215f7950a0e52fb65c4f72aacf7f8bff75ea9a67712e3da74a6f762da46
+a613fa80f73f4d15f60a13fd0087ff015be666158bff0015199a94ff000c4ccc93ff
+0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ff
+fff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39
+8187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd
+08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffff
+e0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334fffff999
+99fffff5cccc8b9908ff0000cccdf7750513fa00cc8fb38b1e92878e821e7281407d
+638889838d7b91850813fd00bf8897908b3708fc49078b38fffff433338751878585
+8b769185ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33
+338f828f8bde080efbbefb3ec089c2c9acf8dbac12f5e0d3a613bcf76cfb0915b30a
+137cb40a13bcb50a72f78315590a0efbd8fb3ec089c2c9acf7f6a7a877f711ef12e5
+ef33dacfa613bc80f75efb0915b30a137c80b40a13bc80b50a133e80fb04f9601585
+0a133d80e6fc7115860a0efbbe89acf8dbacc9eb0191eb8fe08feb03141cff00e119
+9aff0379e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c
+8bfffff9cccc8b84ff00049999fffff9ccccff0006e6678bff0006e6668bff00094c
+cdff00029998ff00103333ff0007e66808ff006ee666ff0033199805fffff63334ff
+0012ccd0fffff01999ff000f4cccffffe9e667ff000bb33408ffffe1e666ffff7b19
+9815b70afb5116b70af74dfd0f15590a0efbd889acf7f6a7a877f5eafffffd333476
+1287e997da7be913ecf745f97815f84f0afb49fb391513f4950a13f5f73d16d80a13
+e69bfc5915860a0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f8
+2df9c715b10afb6efd4d155b0a0e3889acf803acf766a9a67701e1da03f7eff93315
+f78e0afb99fcb915880a0eb5fb64eff5acff0115e666ff00266666ff010ab334ac01
+f5e0e0ef03f7a8fb3015f84a0a36f7aa155b0a0e38fb64eff5acf803acf766a9a677
+01e1dab0ef03f75efb3015f84a0afb08f7aa15880a0eb5fb17b7e0acff0115e666ff
+00266666ff010ab334ac01f5e003f848fb1715f7900a63f791155b0a0e38fb17b7e0
+acf803acf766a9a67701e1da03f7fcfb1715f7900a46f79115880a0e48fb64eff5ac
+6cb2f8d3ac12f5e0afeff727ac139ef777fb3015f8490a13be3df730155c0a13de5d
+0a13be5e0a13de5f0a0efbdffb64eff5acf8f6a9a67712ddef34da13f4eaf70e1589
+0a13f87efd5f15f8490a0e48fb64eff5ac6cb2f8d3accdbd12f5e0afeff727ac139f
+f795f95d15f40af756fdf915f84a0a13bf3df730155c0a13df5d0a13bf5e0a13df5f
+0a0efbdffb64eff5acf8f6a9a677c5bd12ddef34da13faeaf70e15890a13fc7efd5f
+15f8490af729fa1015f40a0e48fb17b7e0ac6cb2f8d3ac12f5e0f7afac139cf804fb
+1715f7900a13bc7df717155c0a13dc5d0a13bc5e0a13dc5f0a0efbdffb17b7e0acf8
+f6a9a67701eada03eaf70e15890af718fd4615f7900a0e4889ac6cb2f8d3ac12f5e0
+f7afac1338f7be6015f84b0a1378fb29b6155c0a13b85d0a13785e0a13b85f0a0efb
+df89acf8f6a9a67701eada03eaf70e15890ac1fcee15f84c0a0ef788967693acf8db
+acd276121330f864f9c715b10aff00c6b334fd53151370600a13b0610a0ef75789ac
+f7f6a771bf12e9daf753daf753da141c139cf829f93315f75e0afb7ffbcd15f8500a
+13dcf8510a13bcf8520a0ef788967693acf8dbacc2f312f807f31338f807f98615f7
+090aff0123b334fd12151378600a13b8610a0ef75789acf7f6a771bff700ef12e9da
+f73def3ddaf753da139df7eaf8eb15850afb40fb8515f8500a13dbf8510a13bbff00
+27999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42078b
+398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82908b
+dd08f7330713bd8b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080ef788fb64eff70b7693acf8dbac12f7eeef1398f7eefb3015f8490a
+ff013cb334f7a41513b8600a13d8610a0ef757fb64eff5acf7f6a771bf12e9daf745
+ef35daf753da13cdf7f2fb3015f8490afb48f89615f8500a13ebf8510a13dbf8520a
+0ef3967693acf8dbacc2f312f1bcf72df3f728bc133ef7c4f98615f7090af790fb86
+15ca0a137ecb0a13becc0a0e5689acf7f6a771bff700ef12ebdacaefb4da139ef782
+f8eb15850a55fb8515e70a13dee80a13bee90a0ef3fb64eff70b7693acf8dbac12f1
+bcf729eff730bc139ef7c0fb3015f8490af794f93015ca0a13becb0a13decc0a0e56
+fb64eff5acf7f6a771bf12ebdab3efcbda13cef76bfb3015f8490a6cf89615e70a13
+eee80a13dee90a0ef3fb17b7ed7693acf8dbac12f1bcf829bc139cf859fb1715f790
+0af7c8f91715ca0a13bccb0a13dccc0a0e56fb17b7e0acf7f6a771bf12ebdaf760da
+13ccf7fbfb1715f7900aa9f87d15e70a13ece80a13dce90a0ef3967693acf8dbac12
+f1bcf829bc1338f8036015f84b0af751f8bf15ca0a1378cb0a13b8cc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7b16015f84b0a26f82515e70a13d8e80a13b8e90a0e
+f681aff8e8afff001fccccff003a4cccffffe2666876ff00306668ff003c800012b0
+ebff005e3333a2ff00be6667ff0016e666ff006a8000eb13e780ff0190b334ff02ec
+199815f7730a13cf80f7740a13e780f7750affffba4cccffff81e66815640af7e3fb
+b915650affffc61998ff01dbe66815ffffa08000ffffb44ccc05fffff60002fffff8
+1998fffffe8000fffffb999c8bfffff9cccc0813d78084ff0004999afffff9ccccff
+0006e6641eff0006e6688bff00094cccff00029998ff00103334ff0007e66808ff00
+6ee668ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664
+ff000bb334080e3081aef80faec6c089c2ff001a33347612b4e1f774a68ae113eef7
+c4f8bb15b30a13deb40a13eeb50afb9bfbee15eb0a13cdec0af759f75b158b0af2f7
+ee15ffffc5ccccffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988b
+fffff6199c8bfffff9ccccff00056666fffffab334ff000566668bff000566688bff
+00061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb3
+34ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff1998080ef681aff8e8afff
+001fccccff003a4cccffffd5e668e7ffffcbe668ff003c800012b0eb6be7ff002233
+33a2ff00be6667ff0016e666ff002f8000e76aeb13d1c0f893f98415f8530a13d380
+fc2e16f8530a13e180ff012bb334fffffc199815f7730a13c980f7740a13e180f775
+0affffba4cccffff81e6681513c5a0640af7e3fbb915650a0e3081aef80faec6c089
+c2aaea12b4e17ae9d6e975a68ae113ec80f7c4f8bb15b30a13dc80b40a13ec80b50a
+fb9bfbee15eb0a13cc40ec0af759f75b158b0a13ca00fb14f7aa15d80a13c900f73d
+16d80a0ef681aff8e8afe2bd01b0ebf849eb03ff01ba4cccf97d15f7720adafb0f15
+640af7e3fbb915650afffdc5e668ff01dc199815f84d0a0e3081aef80faedabd01b4
+e1f78ee103ff00d5e666f98a15fffffce667ff0000e668fffffb4ccdff0000e664ff
+fffc33338bffffe5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008ffff
+fe6666fffff64cd0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056667
+fffffb999cff000499988bff000633348bff00056666ff000533308bff000466688b
+ff00063334ffffff3334ff00063334fffffc3332ff0008cccc08ff005c3334ffff7e
+cccc15f40a2cfbcd158a0af759f75b158b0a0ef681aff8e8afff003c800076ff002f
+8000bd01b0ebf849eb03ff01a44cccf97d15f7720af0fb0f15640af7e3fbb915650a
+ffffc11998ff01dbe66815f84e0a0e3081aef80faedabd01b4e1f78ee103f7a5f993
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566668bff00
+06199aff00039998ff000b8000ff000d333408ff00589999ff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bffff
+fc19988bfffffb8000ffffff199cfffffdb334ffffff199808e2fb8d15f40a2cfbcd
+158a0af759f75b158b0a0e5589acf78fad73a8f7bdadcd7612f3e0f775e8139ef7ec
+f9c715b10afb2ffb9d15f8540a13defb00575f2a1e13bef7460a36f75e15f7bf0a13
+def7c00a0e3ffb7eacf753adf7fda777b912dbdaf780e113ccf7cdf93315d60afb1e
+fbe81513dc8c0a78b015f7f10a13ecf7f20a13dcf7f30a0e5589acf78fad73a8f7bd
+adbdf312f3e0b8f3d7e8139ff77ef98615f7090a5efb5c15f8540a13dffb00575f2a
+1e13bff7460a36f75e15f7bf0a13dff7c00a0e3ffb7eacf753adf7fda777b9f700ef
+12dbdac6efd8e113cff76ef8eb15850a60fba01513df8c0a78b015f7f10a13eff7f2
+0a13dff7f30a0e8381aa74acf798adf7b9adbdf312f3e0aef3d8e7133ff774f98615
+f7090abbfb1c15670a38fc8415680a13bf690a137f6a0a0efb7389acf7eec955a7f7
+1aef12efda75ef1394f731f8eb15850a9efb8515f7230a13b8f7240a13d8f7250a0e
+83fb64efedaa74acf798adf7b9ad12f3e0c1efc9e7139ff787fb3015f8490aa8f99a
+15670a38fc8415680a13df690a13bf6a0a0efb73fb64eff5acf7eec955a712d7ef3f
+da13c8d7fb3015f8490aeff89615f7230a13d4f7240a13e8f7250a0e83fb64efedaa
+74acf798adf7b9adc8bd12f3e0c1efc9e7139f80f80df95d15f40ae5fdf915f84a0a
+a8f99a15670a38fc8415680a13df80690a13bf806a0a0efb73fb64eff5acf7eec955
+a7f700bd12d7ef3fda13c8f7bdf89d15f40a13cc8efd3915f8490aeff89615f7230a
+13daf7240a13ecf7250a0e83fb17b7d8aa74acf798adf7b9ad12f3e0f76ce7139ef8
+31fb1715f7900acbf98115670a38fc8415680a13de690a13be6a0a0efb73fb17b7e0
+acf7eec955a712efda13c8f792fb1715f7900af713f87d15f7230a13d8f7240a13e8
+f7250a0efb0281aff8eaadb7f312a6ff00208000fffff78000ff00476666ff003399
+9af3dddf4bff0020800013e4f742f98615f7090aff00dcb334fb0f15f7260a13eef7
+270a13f6f7280a13edf7290a0efb6181ac8976f82aacf700ef12bbaa7ad2a5ef9ad7
+55ab133200f733f8eb15850a137b00fb03fc6115f72a0a13b700f72b0a13b680f72c
+0a13bb00f72d0a0efb02fb64efedaff8eaad12a6ff00208000fffff78000ff004766
+66ff0037999aefdddf4bff0020800013e4f746fb3015f8490aff00d8b334f9a715f7
+260a13eef7270a13f6f7280a13edf7290a0efb61fb64efedac8976f82aac12bbaa7a
+d292efadd755ab13bb00bbf71e15f72a0a13d700f72b0a13d680f72c0a13db00f72d
+0ae7fbba15f84a0a0efb0281aff8eaadacef12a6ff00208000fffff78000ff004766
+66ffffcb999aeff752df4bff0020800013e4d1f97b15850af79bd715b10aff003db3
+34fb5015f7260a13eaf7270a13f2f7280a13e9f7290a0efb6181ac8976f82aacff00
+6b4ccce512bbaaffffe56666e5ffffaf999ad2f721d755ab137900bbf71e15f72a0a
+13b300f72b0a13b280f72c0a13b900f72d0af754f8a915a30a133400ffff446666ff
+ffb2199815ffffe8999cff0015999affffe89998ff0015999aff00193333ff001599
+99ff001833349eff00159998ffffed199aff00193334ffffe7b3331effffea6667ff
+ffe6ccccffffea6668ffffea66641f0efb0281aff8eaadc776e8f312a6ff00208000
+fffff78000ff00476666ff0041999af3cfdf4bff0020800013f200f750f9de15f709
+0aa6fb2515f7020aff00b3b3344915f7260a13f700f7270a13fb00f7280a13f680f7
+290a0efb6181ac8976f82aacff00a24ccce5ffffd1b3347712bbaa7ad2ff00116666
+e5ff0021999ad755ab136580bbf71e15f72a0a13a380f72b0a13a340f72c0a13a580
+f72d0af70df80015bd06a8b9b1b8aeb208132900f7500affffed6666ff0092199815
+133100ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff
+001833349eff00159998ffffed199aff00193334ffffe7b333ffffea6667ffffe6cc
+ccffffea6668ffffea66641e0efb02fb64efedaff8eaadb7f312a6ff00208000ffff
+f78000ff00476666ff0037999aef2df3d3df4bff0020800013f100f74cf98615f709
+0a13f20085fe2215f8490aff00d8b334f9a715f7260a13f480f7270a13f880f7280a
+13f440f7290a0efb61fb64efedac8976f82aacf700ef12bbaa7ad292efadd755ab13
+9900f71ef8eb15850a13bd8031fc6115f72a0a13db80f72b0a13db40f72c0a13dd80
+f72d0ae7fbba15f84a0a0e8d89acf86ef7285cb2c4f3128eadf76ef32de0f763ad13
+9df793f98615f7090a13bbeafd0c15f76b0a13dbf72e0a13bbf72f0a13dbf7300a13
+bbf76c0a0efbab81c2f7edb2f78def12dfef2cda13f0dff96e15850a62fbc115f855
+0a13e8f8560a0e8dfb64eff5acf86ef7285cb2128eadf769ef36e0f763ad13cdf78e
+fb3015f8490a13dbeff7aa15f76b0a13ebf72e0a13dbf72f0a13ebf7300a13dbf76c
+0a0efbabfb64efedc2f7edb212e4da67ef13e8f718fb3015f8490a32f8dd15f8550a
+13f0f8560a0e8dfb17b7e0acf86ef7285cb2128eadf778e0f763ad13cef821fb1715
+f7900af732f79115f8120713def7310a13eef72e0a13def72f0a13eef7300a13def7
+320a0efbabfb17b7d8c2f7edb201e4da03f799fb1715f7900a7ef8c4158e0a0e8d89
+acf86ef7285cb2128eadf778e0f763ad139cf7d75f15f84b0aa6f73a15f8120713bc
+f7310a13dcf72e0a13bcf72f0a13dcf7300a13bcf7320a0efbab81c2f7edb201e4da
+03f7516015f84c0afb26f86c158e0a0ecdfb34eac2b4f8dbac01e2e0a8e9d6e9c9bc
+03f75dfb0515950af73d16950afb5af910156b0a0e4bfb34eac2ba84a6f7e9ac12e3
+da54e9d6e97fda1394f704fb0515d80a1392f73d16d80a13d94bf215f10a13b9f20a
+13d9f30a0ecdfb3ec089c2c1b4f8dbac12e2e0f7a9a6bdbc13bef826fb0915b30a13
+7eb40a13beb50afb7af914156b0a0e4bfb3ec089c2c1ba84a6f7e9ac12e3daf754a6
+74da138ef7ccfb0915b30a134eb40a138eb50a132d2cf615f10a131df20a132df30a
+0ecd81b4f8dbac01e2e0f7f6bc03f7f25f15f84b0afb46f8cb156b0a0e4b81ba84a6
+f7e9ac12e3daf758da1338f7966015f84c0a13b862ac15f10a1378f20a13b8f30a0e
+cd81b4f8dbacff0027ccccff003a4cccfffffdccd0ff003c800012e2e0ff003c3333
+a2ff00be4ccda2ff00398000bc13efff0195999aff02e9199815ffffefe6668bffff
+f18000ff0007b334fffff26666ff000d33340813df7aff000f6668ffffed4ccea1ff
+ffe680008bffffdb80008bffffec6666ffffd51998fffff41999ffffbf1998ff0005
+199afffff96668ff00088000fffffee668ff00096666ff00023330ff00088001ff00
+244cd0ff00086666ff00108000ff0016199a8bff000e80008bff00103332fffff733
+30ff000f4ccefffff3e6680813efff0011ccccfffff09998ff0011ccccffffec3334
+ff0012b3348bff0027199a8bff0018b332ff002ae668ff000a3334cdfffffae666ff
+00046664fffff78000ff00034cd0fffff6999afffffee66408fffff4199affffd1cc
+ccfffff6b33280ffffed4cce8b08ffff166666ffff21e668156b0aff01a61998ff02
+35e66815f84e0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61324f7ccf99e
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566678bff00
+061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8b08ff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff199808133597fb6115b30a
+132db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbaccfde54
+bd12e2e050ddf7c2dd56bc13e2f8aef95f159ea19ba4a5769b7774797b711f6ea37f
+9c1efc148e1513c4a39c9fa0a1799e74727b7776749c79a31f13d0ff01174ccca415
+f7720a13c944fb70156b0a0e4b81ba84a6f7e9ace2bdd0ea12e3da68e9d6e96bda13
+3a00f718f94015d80a133900f73d16d80a133880c9fb3a15f40a13b880d9fca415f1
+0a137880a19dae9ac89291918b9a85914b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b0813b9006b8b678c698c85858b7691850813bc80bc88987f8b49
+08fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e86
+1e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e
+0ec49476f906acbac089c212f845a613e8f816f97f15b30a13d8b40a13e8b50ac9fb
+19156c0a0e299476f82eace4c089c212f808a613e8f7d9f8d115b30a13d8b40a13e8
+b50afb43048f0a0ec4fb64eff70976f906ac01f791ef03f791fb3015f84a0af757f9
+96156c0a0e29fb64eff70976f82eac01f754ef03f754fb3015f84a0af719f8be158f
+0a0ef7f89476f906acd37601f803f9c615ffffddccccfffff46668ffffe88000ffff
+f04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b938b928791
+809308f7d6fb3d156d0a0ef72c9476f82eac01f7d4f93315740afb4ffb2715f7340a
+0ef7f89476f906acd27601f892f9c715f75d0af7c0fb92156d0a0ef72c9476f82eac
+01f836f93315f78e0afb6bfba515f7340a0ef7f89476f906accbea01f7d7e9d6e903
+f7d7f98a15950af73d16950af7d2fb55156d0a0ef72c9476f82eaceaea01f782e9d6
+e903f782f8d115950af73d16950afb60fb4315f7340a0ef7f89476f906acc2f301f8
+14f303f814f98615f7000af83efb51156d0a0ef72c9476f82eacf708ef01f7d2ef03
+f7d2f8eb15f7010afb07fb5d15f7340a0ef7f8fb64eff70976f906ac01f828ef03f8
+28fb3015f84a0af82af965156d0a0ef72cfb64eff70976f82eac01f7d2ef03f7d2fb
+3015f84a0afb07f8be15f7340a0ecc89acf8dbacc2f312f7a8e82ff313e8f7a9f986
+15f7090af799fd2015fb2df7660513f0f8570a0e2289acf803acf708ef01f75eef03
+f75ef8eb15f7010a77fb8515900a0ecc89acf8dbaccbeb12f753eb80e896eb13e4f8
+10f98b15b60a13f4fb5116b60af7effd2515fb2df7660513ecf8570a0e2289acf803
+aceaea01f70ee9d6e903f74af7fa15900afb0df7c515950af73d16950a0e7789acf8
+dbacc2f312f77ff334e013f0f77ff98615f7090a13e8f1fd0c15f7350a0e3bfb7cdb
+f8baacf708ef01f76eef03f76ef8eb15f7010a7dfd8b15910a0e948bb1f8c8b69377
+d97612c8a91398f7ecf9bc15b20af763fdbe15f7380a13d8f7390a13b8710a13d872
+0a0efb3f8badf7fab0957712bdac1390f77df92815d70a13b0fb36fb7115f7360a13
+d0f7370a0e94fb64eff700b1f8c8b6937712c8a9f742ef13ccf79dfb3015f8490af7
+b2f72e15f7380a13ecf7390a13dc710a13ec720a0efb3ffb64eff700adf7fab09577
+12bdacd6ef13ccf732fb3015f8490a13dc34f8e715f7360a13ecf7370a0e94fb17b7
+e2b1f8c8b6937712c8a913c8f82afb1715f7900af7f2f71515f7380a13e8f7390a13
+d8710a13e8720a0efb3ffb17b7e2adf7fab0957712bdac13c8f7bdfb1715f7900a13
+d876f8ce15f7360a13e8f7370a0e52fb17b7e0acf7f8bff75ea9a67701e3daf766da
+03f7fcfb1715f7900a97ff01a0e66615840a0efbab81c2f7edb2f755ea1295e97cda
+96e913f495f93115d80af73d16950afb1cfb8415f8550a13ecf8560a0ef72c9476f8
+2eacceabf5ab01f7aeb3ebb303f806f91015ba0a335615da0a3cfb4d15f7340a0e3b
+fb7cdbf8baaccdabf5ab01f749b3ebb303f7a1f90f15ba0a335615da0aa2fd7a1591
+0a0efb1e81bb5bb4f80bacdbacf70aab1295af81de4bd8f735d9133c80b9f8f715f7
+a90af78bfc0e15d40a137a80d50adafb381513b980760a137a80770a0efbc489acf8
+00adf77fadd7ef12e8da9fef7bdc13fcf754f9ce15850a77fd5415f7f407f70c9bd1
+c01e13faa38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38
+8086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde
+080efbc489acf800ad9477f78aad12e8daf3dc13bcf787f84a1544ffffd666668bff
+004d999a05f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c
+98779d7597628b0848334cfb321f13dc7081766c79867f831e8207878c8a8f1eb706
+998c877f1f8b6e34589c6ed1ff0028cccc8bffff433334058b388086558885858b76
+9185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde088bff00eacccce3
+ff00333334050efbc489acf800adf3b2e7ad12e8daffffbdcccdff00479999ff0062
+999adc13f6f79ff8d015ffffa6666606ff00084ccdff003b33349eff0020ccccff00
+244ccd8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+08ffffcc80008bffffc0199affffdaccccffffe53333ffffa7333408ffffae333364
+ff0049199a0613fafffffd6668ffffeeccccfffffe8000ffffed66688bffffebcccc
+087081766c79867f831e8207878c8a8f1eb706998c877f1ffb95078b388086558885
+858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4078b
+ff00154cccff00008000ff0013b334ff0001199a9d08ff005d6666060ef70b81b26c
+acf7baaaf79db012f3e0f70fa8f773e513bef751f70e15f75a07f765ede7f70bb5bd
+7d7d1e8b742efb2e5b4708917305928c908b918b08f732a4fb0567fb084f6c591f48
+8b70b878dbfffff64cccff00028000fffff66668fffffe8000fffff64ccc8788408f
+6c9070b882ff000f800078ff004280008b08f718d8e8edea33db2687898d8f1f8b8d
+8b8d8d8e08f727f7808ba305519e4b954d8b08fb9a51fb36fb5d1ffb4107137e8b38
+7a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91918ba0859108458e7a908b
+de080e3b81aef910b012b0dc7eaff792df13e8f70af758158bf704a7bcf706c3ea4c
+b32d8b5208337635fb061efb0a73ead71f3a811542b5fb0ff73ff6f70eb5f7461e8b
+d759f1fb09cb0813d8fb09cb55af8bb18bc4c699b88bb08ba97d9f6fa16d9b7c958b
+998bb1948baa8b977b9d6aa1086ba05d964f8b4b8b3f758b358b53b564df4dfb2756
+5cfb008b35080eeffb64eff5acf766b5f80b7701f7b4ef03f7b4fb3015f84a0a72f8
+4b154a0afbb1fb60154b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d913
+93f739fb3015f8490af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef
+89acf766b5f80b77f72da301f7abb8a1a59bbf03f84cf98b15f8580afb45fc70154a
+0afbb1fb60154b0a0efb1e81bb5bb4f80bacf753a612afde4bd88fb69aa795bd96d9
+1333c0f7aef8eb15f8590a96fc0215d40a137bc0d50adafb381513b7c0760a137bc0
+770a0eef89acf766b5f80b77d47601ff022c1998ff035f666815f85a0affff4ce668
+ffffc8999815b20afb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bac12af
+de4bd8f735d91324ff017e999aff02c9666815ffffcb199affffa0cccc05fffffa4c
+ccfffff5b334fffffdb334fffffce6648b828bfffffa6668ff0004e666fffffb3334
+ff0004e6668bff0004e6668bff0005999aff00033330ff000a80009708ff00508000
+ff00573334fffffde666ff0008cccc05ffffefe666ff0011999cffffee199aff0000
+ccccfffffb80008b08fffffc80008bfffffbccceffffff3334fffffde666ffffff33
+3408ffff686666ffffca999815d70ac9fc3f15d40a1374d50adafb381513ac760a13
+74770a0eef89acf766b5f80b77d47601ff00a7199aff035ecccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e666ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff8
+4ccdff0006666408ff007d3333ff000c666815b20afb06fca1154a0afbb1fb60154b
+0a0efb1e81bb5bb4f80bac12afde4bd8f735d91324ff003dccccff02c9666815ffff
+fd3334ff0000ccccfffffbccccff0000ccccfffffc80008bffffe833348bffffefe6
+66fffff26668fffffa6667fffffb333008fffffe999afffff73334ff004fccccffff
+a8cccc05ff000b33327fff0004e66787ff000433338bff0005999a8bff0004e666ff
+0004ccd08b8f8bff00059998ffffff4ccdff00059998fffffc80009308ff00783333
+ff002f666815d70ac9fc3f15d40a1374d50adafb381513ac760a1374770a0eef89ac
+f766b5f80b77d476f731a301f84bb8a1a59bbf03f8ecf9c315f8580afb738415b20a
+fb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7b4a612afde4bd8f719
+b67cd95ba795bd1332c0f82ff94c15f8590afb486715d70a137900c9fc3f15750ada
+fb381513b500760a137900770a0eef89acf766b5f80b77ff009b9998ff0032666889
+ff00344ccc1213e0f80df9a215b20afb06fc87154a0afbb1fb60154b0a13f0ff0116
+e666f99115f85b0a13e8f85c0a13f0f85d0a0efb1e81bb5bb4f80bacf790c089c212
+afde4bd8f735d962a6133080f7aff97c15b30a132880b40a133080b50a573715d70a
+136500c9fc3f15750adafb381513a300760a136500770a0eeffb64eff5acf766b5f8
+0b77d37601f7b4ef03f80df9bb15b20a32fe5715f84a0a72f84b154a0afbb1fb6015
+4b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d91393f783f92715d70a41
+fdc315f84a0af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef89acf7
+66b5f80b77c0bf01f772a7f76ca703ff01a0199aff037ae66815f7520aff004de666
+ffffa9199815f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4
+ff003f333476ff002fcccc7712afde4bd84ea6f757d952a6133c00f785f97815f84f
+0a133ca0fb232e15f60a137e40f757fc3215750adafb381513bd40760a137e40770a
+0eef89acf766b5f80b77c0bf01f772a7f76ca703ff0133e666ff0378199815f7530a
+ff005ce666fffff5cccc15f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4
+f80bacc8c4ff0047666876ff002799987712afde4bd84ea6f757d952a6133800ff00
+b1e666f98115fffffce667ff0000e668fffffb4ccdff0000e664fffffc33338bffff
+e5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008fffffe6666fffff64c
+d0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056666fffffb999cff00
+04999a8bff000633338bff00056666ff000533308bff000466688bff00063334ffff
+ff3334ff00063334fffffc3333ff0008cccc081334a0ffff7a3333ff0008cccc15f6
+0a137240f757fc3215750adafb381513b140760a137240770a0eef89acf766b5f80b
+77c0bff712a301f772a7a7b8a1a59bbfa6a703f84bf9d915f8580ac26a15f50afb7b
+fc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4e577eba612afde4bd84e
+a6aeb69aa795bd99d952a6133c70f7abf94815f8590a133cf4fb495e15f60a137e78
+f757fc3215750adafb381513bd78760a137e78770a0eef89acf766b5f80b77adbfff
+00459998ff0032666889ff00344ccc12f772a7f76ca713f3f882f9a515f7080afb7b
+fc8a154a0afbb1fb60154b0a13fbff0111e666f99115f85b0a13f7f85c0a13fbf85d
+0a0efb1e81bb5bb4f80bacc8c4e577cac089c212afde4bd84ea6f757d952a678a613
+3c48f7a7f97b15b30a133a48b40a133c48b50afb452b15707f059936be59d18b0813
+3850c68bcbbc97e10870970581515d6b578b558b60b080c008137920f757fc321575
+0adafb381513b8a0760a137920770a0eeffb64eff5acf766b5f80b77c0bf01f76fa7
+b4efd6a703f87ff9b815f50afb5ffe5415f84a0a72f84b154a0afbb1fb60154b0a0e
+fb1efb64efedbb5bb4f80bacc7c4e57712afde4bd856a6c6efa7d95aa6139cd0f5f9
+1a15f60ac6fdb615f84a0a13be60f714f81915750adafb381513dd60760a13be6077
+0a0e65fb64eff5ac6cb2f7b0b1f788b36cac12f4e0beefaaacb2ac9bae1393e0f785
+fb3015f8490ab3f8991530f74806139be0c40a13d7e0540a13b3e0550a13d3e0c50a
+13bbe0c60a0efb28fb64efedbcf765adf70eac01b0dfc4efb5e103f746fb3015f84a
+0a55f84a157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36cacf724a312f4e0a5
+b8a1a59bbf86acb2ac9bae1327d8f80df98b15f85e0a2bfc221530f748061337b8c4
+0a13afb8540a1367b8550a13a7b8c50a1377b8c60a0efb2881bcf765adf70eacf755
+a601b0dfaab69aa795bda1e103f7bef8eb15f79f0afb42fbd1157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36cacafc089c212f4e0f74aaca1a681ac9bae1325d0f8
+10f97415b30a1323d0b40a1325d0b50a28fc0b1530f748061331b0c40a13a9b0540a
+1361b0550a13a1b0c50a1371b0c60a0efb2881bcf765adf70eacdec089c212b0dff7
+5be145a613f5f7b5f8d115b30a13edb40a13f5b50afb39fbb715e20a13e6e30adcfb
+5415800a0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff
+01ef199aff035d666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe
+9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff0006
+4cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e6664
+05fffff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab33408ffff
+4be666ffffca999815b20a69fc531530f748061337c0c40a13afc0540a1367c0550a
+13a7c0c50a1377c0c60a0efb2881bcf765adf70eac01b0dff75be103ff018a999aff
+02c9666815f85f0affff6e6666ffffca999815d70afb11fc0e157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff0068199a
+ff035ecccc15ffffe8199bfffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff0006666408ff007e3333ff000c666815b20a
+69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+fb2881bcf765adf70eac01b0dff75be103ff0054cccdff02c9666815f8600aff0073
+3333ff002f666815d70afb11fc0e157f0adcfb5415800a0e6589ac6cb2f7b0b1f788
+b36caccb76f734a312f4e0f728b880ac8ba598ac6dbf85ae132700f7abf9bc15b20a
+8dfc531530f74806133754c40a13af54540a136754550a13a754c50a137754c60a13
+27a8f76ef85d15f85e0a0efb2881bcf765adf70eacf7b6a612b0dff735b686e149a7
+95bd13fd80f840f94c15f8590afb476715d70afb11fc0e15e20a13fa00e30adcfb54
+15800a0e6589ac6cb2f7b0b1f788b36cacab76ff00869998ff0032666889ff00344c
+cc12f4e0f74aacb2ac9bae1324f0f7cff99c15b20a69fc331530f748061334f0c40a
+13acf0540a1364f0550a13a4f0c50a1374f0c60a1326f0ff0056e666f87615f85b0a
+1325f075ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668ff
+fff0999a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff00
+1f4ccc96ff000e3334ff001c999a8bff0012b3338bff0014e666fffff88000ff0013
+cccefffff58000081326f0f85d0a0efb2881bcf765adf70eacf78ec089c212b0dff7
+5be153a613f5f7c3f97815b30a13edb40a13f5b50a553b15d70afb11fc0e15e20a13
+e6e30adcfb5415800a0e65fb64eff5ac6cb2f7b0b1f788b36caccc7612f4e0beefaa
+acb2ac9bae1393f0f7bef9bd15b20a52fe5915f84a0ab3f8991530f74806139bf0c4
+0a13d7f0540a13b3f0550a13d3f0c50a13bbf0c60a0efb28fb64efedbcf765adf70e
+ac01b0dfc4efb5e103f788f92815d70a49fdc415f84a0a55f84a157f0adcfb541580
+0a0efbbe89acf8dbacf724a312d0b883e054a59bbf13f6f77af98b15f85e0a13e864
+fd1115f7180a0efbd889acf7f6a7a877f764a612c9b688da4ea795bd13fbf764f8eb
+15f8590a13f470fc7115860a0efbbefb64eff5acf8dbac12f0ef2ce013f0f0fb3015
+f8490a13e8e5f7aa15f7180a0efbd8fb64eff5acf7f6a7a877f711ef12e2ef36da13
+fce2fb3015f8490a8ef98715f7010a13fae6fc7115860a0ef6fb64efedaff8e8af01
+b0ebf740eff739eb03f7c5fb3015f84a0aa5f99e15640af7e3fbb915650a0e30fb64
+efedaef80fae01b4e1ceefdee103f756fb3015f84a0afb2df7fd158a0af759f75b15
+8b0a0ef681aff8e8afc076f711a301b0ebf716b8a1a59bbff726eb03f83cf9a315f8
+580a2efb3515640af7e3fbb915650a0e3081aef80faef753a601b4e1afb69aa795bd
+cfe103f7c9f8eb15f79f0afba0fc1e158a0af759f75b158b0a0ef681aff8e8afc076
+01b0ebf849eb03ff021d1998ff0358666815f85a0affff50e668ffffcf999815b20a
+68fb4e15640af7e3fbb915650a0e3081aef80fae01b4e1f78ee103ff0192999aff02
+c9666815f85f0affff796666ffffca999815ea0afb77fc5b158a0af759f75b158b0a
+0ef681aff8e8afc07601b0ebf849eb03ff009e199aff0360cccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004ccccfffff8
+4ccdff0006666408ff007b3333ff000a666815b20a68fb4e15640af7e3fbb915650a
+0e3081aef80fae01b4e1f78ee103ff0054cccdff02c9666815f8600aff00863333ff
+002f666815ea0afb77fc5b158a0af759f75b158b0a0ef681aff8e8afc076f735a312
+b0ebf7b0b8a1a59bbf83eb13ff00f8d6f9c715f85e0afb688015b20a68fb4e1513fe
+80640af7e3fbb915650a0e3081aef80faef7b4a612b4e1f73bb69aa788e142bd13f9
+f84cf94c159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e13fa8b7f867f837f0813fd807a7e758a6908a7068da5959c
+9c9b089b9b9a9b8b9f08fb406715f8610a13faf8620afb77fc5b158a0af759f75b15
+8b0a0ef681aff8e8afff00869998ff0032666889ff00344ccc12b0ebf849eb13ccf8
+02f9a015b20a68fb3215640af7e3fbb915650a13ecffff0de666f89615f85b0a13dc
+75ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff099
+9a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4ccc
+96ff000e3334ff001c99998bff0012b3348bff0014e666fffff88000ff0013ccceff
+fff580000813ecf85d0a0e3081aef80faef791c089c212b4e1f77fa67fe113ecf7cf
+f97d15b30a13dcb40a13ecb50a5c3615f8610a13caf8620afb77fc5b158a0af759f7
+5b158b0a0ef6fb64efedaff8e8afc17601b0ebf740eff739eb03f803f9bd15b20a4d
+fe5915f84a0aa5f99e15640af7e3fbb915650a0e30fb64efedaef80fae01b4e1ceef
+dee103f799f92915d70a48fdc515f84a0afb2df7fd158a0af759f75b158b0a0ef681
+aff8e8afa5e1587612b0ebf849eb40b013d8f821f9c815b10a49fb5a1513cc640af7
+e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7a9f9
+3315d60afb80fc6615eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b0a0e
+f681aff8e8afa5e1577612b0ebf849eb40b013d8f7b7f9c515cd0a3afb031513cc64
+0af7e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7
+61f93315740afb7efbe815eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b
+0a0ef681aff8e8afa5e1a0a312b0ebf724b8a1a59bbff718eb40b013ff00f84af98b
+15f85e0a20fb1d1513ff80640af7e3fbb915f7400a13ff40f7410a0e2d81aef80fae
+b1dfd0a612b4e1b2b69aa795bdcce16aad13ff00f7ccf8eb15f8590afba3fc1e15eb
+0a13ff80f8630a13ff40f7430a13ff80f8640af759f75b158b0a0ef681aff8e8afa5
+e13bc089c212b0ebf7d3a6e6eb40b013d600f829f97b15b30a13ce00b40a13d600b5
+0a41fb0d1513c700640af7e3fbb915f7400a13e680f7410a0e2d81aef80faeb1dfff
+ffd2ccccff003a4cccfffffdccd0ff003c800012b4e1ffffe38000ff00184ccdff00
+c99999ff00184cceff001c4ccce16aad13d300ff011a199aff023e199815ffffeee6
+668bfffff0b333ff0007b334fffff1999aff000d33340813cb0079ff000f6668ffff
+ec3333a1708bffffd94ccd8bffffeb4ccdffffd51998fffff36666ffffbf1998ff00
+056666fffff9666894fffffee668ff0009e667ff0002333094ff00244cd094ff0010
+8000ff001766668bff000f4ccd8bff0011199afffff73330ff00103333fffff3e668
+0813d300ff0012e666fffff09998ff0012e667ffffec3334ff0013cccc8bff002966
+668bff001a199aff002ae668ff000acccecdfffffa9998ff0004666482ff00034cd0
+fffff6199afffffee66408fffff36666ffffd1ccccfffff6199a80ffffec33348b08
+13e580ffff0ee666fffe8ee66815f7420a13e140f7430a13e580f7440af759f75b15
+8b0a0ef6fb64efedaff8e8afa5e112b0ebf740eff739eb40b013fcf7c5fb3015f849
+0aa5f99e1513fe640af7e3fbb915f7400a13fdf7410a0e2dfb64efedaef80faeb1df
+12b4e1ccefe0e16aad13fcf754fb3015f8490afb2bf7fd15eb0a13fef8630a13fdf7
+430a13fef8640af759f75b158b0a0ecdfb64efedb4f8dbac01e2e0f70deff719bc03
+f7b9fb3015f84a0afb0df93b156b0a0e4bfb64efedba84a6f7e9ac12e3daa8efceda
+139ef758fb3015f8490a13dea0f72615f10a13bef20a13def30a0ecd81b4f8dbacf7
+24a301e2e0e6b8a1a59bbff1bc03f83cf98b15f8580afb90fb80156b0a0e4b81ba84
+a6f7e9acf75ba612e3da94b69aa795bdb4da133f80f7d6f8eb15f8590a13bf8022fc
+f515f10a137f80f20a13bf80f30a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13
+def82bf9c815b10af765ffff2ccccc15f8650a13eef8660a0e4b81ba84a6f7e9acbb
+dd12e3daf758daa8ad133ef7a7f93315d60a13be51fd3d15f10a137ef8670a13bef3
+0a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13def7b4f9c615b00af763ffff82
+cccc15f8650a13eef8660a0e4b81ba84a6f7e9acbbdd12e3daf758daa8ad133ef76a
+f93315740a13be48fcbf15f10a137ef8670a13bef30a0eea81b4f8dbacb6dba0a301
+e2e0e8b8a1a59bbfefbcd4bb03f83ef98b15f8580af752ffff69cccc15f74a0a0e4b
+81ba84a6f7e9acbbddd0a612e3da94b69aa795bdb4daa8ad133fe0f7d6f8eb15f859
+0a13bfe022fcf515f10a137fe0f8670a13bfe0f30a0eea81b4f8dbacb6db3ec089c2
+12e2e0f7c1a6a5bcd4bb13d780f83ef97e15b30a13cf80b40a13d780b50af752ffff
+76cccc15f8650a13e780f8660a0e4b81ba84a6f7e9acbbdd62c089c212e3daf745a6
+83daa8ad132b40f7bdf8d115b30a132740b40a132b40b50a13a2c03bfcdb15f10a13
+72c0f8670a13a2c0f30a0eeafb64efedb4f8dbacb6db01e2e0f705eff721bcd4bb03
+f7b1fb3015f84a0af7dfff02fccccc15f74a0a0e4bfb64efedba84a6f7e9acbbdd12
+e3daa5efd1daa8ad139f80f755fb3015f8490a13df80a3f72615f10a13bf80f8670a
+13df80f30a0e7789acf8dbacd27601f790e003f777f9c515b00a80fcf7156f0a0e3b
+fb7cdbf8baac01f777f93315740a2efd5515910a0e77fb64eff5acf8dbac12f789ef
+2ee013f0f789fb3015f8490a13e8e7f7aa15f7350a0e3bfb7cdb53eff88eac12f7d0
+ef1370f7d0fb3015f8490afb048715ff000f999aff001bcccdff000d1999ff001c99
+99ff000c4ccdff001d999adbf755ff002cccccff0066999aff00343334ff00706666
+ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591778a748a6f8b
+6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708ffff9cccccfb
+790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffa74ccd
+f76405ffffedffffff002a3334fffffacccdff00128000c3ff00044ccc91918ba085
+91668a638a678b698b708c778c85858b769185ff0027b333869882ff001a33334e08
+ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a816ffffff419
+9affffde999afffff3e666ffffe466667c6c80777d82728b0813b07d8b878e808b08
+6e7c6d7e769f7ba61fa08bb393afcb080e7789acf8dbacf724a312f771b87de05aa5
+9bbf13f6f812f98b15f85e0a13e85efd1115ff0087b334078bff001dccccff000119
+9aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff0016
+4ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b
+769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff9133
+34fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00
+cccccc0513f0ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a
+638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5
+e66808ff00834ccdfb710513e8ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080e3bfb7cdbf8baacf7
+5ba601f757b69aa795bd03f7e9f8eb15f79f0afb1dfd8b15910a0e7789acf8dbacb9
+c089c212f790e0d0a613ecf7fbf97e15b30a13dcb40a13ecb50a75fd04156f0a0e3b
+fb7cdbf8baace4c089c212f819a613e8f7eaf8d115b30a13d8b40a13e8b50afb1efd
+7115910a0ef74d8bb264a8f8dfa812f5dcf741dc1378f74ff8d015a7999bb41ecb06
+b29a7d6d1ffc8607688281611e4806637c99a91f13b8f8346915fb07066e799eaa1f
+f877078ba7ff000f666698ff0027999a8e08a58d0590ff000066688eff000299988b
+90088b9e898d058b2e89671efb91065a8b6e8c5a8c0889898b78058b868ffffffd4c
+cc8fffffffb33408a68905ff0024e666fffffd4cccff0011199afffff4b3348b6d08
+fc870713788b6ffffff2999a7effffd76666880870890587ffffffb33388fffffd4c
+cd8b86088b788d8905bc8ca88cbc8b0813b8f85e068b8bd88abd8a90c396c696bf08
+6d900576436e503f8b080e4e89acf875adeaa9a67701f4daf743da03f84af8b615b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087efb43b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087e4b69cb
+fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f81af743fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8a91918ba085914e8e80908bde08f81acdad070e5a81b6f7e0bcf7887701b8e2
+f7b6df03f7d8f83215945a05c3ac4143fb21485e3b582fc8f73b1f8bf72bf3f71ef7
+2fdc087ba605fb3a4bfb38fb418bfb3a08fb4bed39f70cf738daeff720e645e8fb04
+1e0e2081b5f92e7701b5dcf794d903f7eef82d15667205ba69a23e8b4608fb1f426a
+595c35c0f7271e8bf74bf0f735f720f0087ba005fb2b3cfb2ffb3e8bfb7308fb3fff
+006d66664aff005b999af717deff0060e666ff007c199a1e8bf553c554ad080e7c7f
+b6f8dfa701f1be03ff010c4cccff00a7e66615ffffceccce7fffff8ae666ffffdf99
+9a8bffffb680008b63ae75aa8bdd8bbccbb6f70108f731f829059ab39597b98b088f
+928d911f8b9e898c058b5b8a6b61498c8b1e8a8a8b7705878d888f1ea806a698887d
+1f8b858983867f08fb16fbeefb32f7ee05879689948b9208959291a01eb106908d8e
+901f8b9e898c058b3b8a59624c8c8b1e8a8a8b7705878f88911ebc8b9f64947708f7
+57fc3b156c40656d6c8b788b80968b9b8baecba4cd9d080e35fb7da7f728a5f845a8
+01b2ad03d4fb4315bee6ceb81e612b057f6f7073738b087b7c969e1ff719a515b7ed
+05daf745b1f0bef699a89eb2b18b08928f8e901f8b9e888d058b62896f68508d8b1e
+89888b7805889087901e8f06a19f86761f8b858983868208fb03fb92fb02f7960587
+9489938b91089b9891a990918e901e8b9d898e056689688b5c8b086e5e8d8b1f8989
+8b7705878f88911ead8b96809b6508f712fbb905937794708b818b86897388860842
+fb003f4b66a772ac1fb38bb2a1a6c9080e6e81c84eadf811addb9ce5d312addff722
+b7133ef788f94e15f7040af739fc8f15f7c10a137ef7c20a13bef7c30a4be4157b62
+05137ef7c40a0e6e81c84eadf811addc9ce1d712addfbfbd133ef77af94f15f8680a
+f747fc9015f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84e
+adf811addb9ce5d312addfb7b7133ef726f94e15f7040af7056315f8690af72afc67
+15f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84eadf811ad
+d99ce1d712addf76bd133af731f94c15f8680af56315f8690af726fc6515f86a0a13
+7cf86b0a13bcf7c30a4be4157b6205137cf7c40a0e6e81c84eadf811addb9ce5d312
+addfcfb7137ef82df75315f7c80a13bef7c30a4be4157b6205137ef7c40afb4cf85b
+15f7040af73d9115f86c0a0e6e81c84eadf811add99ce1d712addf7dbd133af738f9
+4c15f8680af7428f15f86d0ad2fc9115f86a0a137cf86b0a13bcf7c30a4be4157b62
+05137cf7c40a0e6e81c84eadf811adb59ce5d3a2b98bba12addff71cb7c0a11379c0
+f82df75315f7c80a13b9c0f7c30a4be4157b62051379c0f7c40afb08f83515f7040a
+133dc0cdd015133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8
+710a0e6e81c84eadf811adb89ce1d79eb98bba12addfc8bdf70ca1133dc0f7c2f96c
+15133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8710a4c4a15
+f78c0af73efc6c15f7c10a1379c0f7c20a13b9c0f7c30a4be4157b62051379c0f7c4
+0a0eef89acf766b5f79a9ceb7799d312f73cb713ecf72cf96815f7040af703fc4d15
+4a0afbb1fb6015b80a13f4b90a0eef89acf766b5f79b9cea7796d712e3bd13ecf728
+f96915f8680af707fc4e154a0afbb1fb6015b80a13f4b90a0ef72189acf766b5f797
+9cee7796d312adb713ec9df96515f7040af7056315f8690af742fc2215f8720afbb1
+fb6015f8730a13f4b90a0ef70689acf766b5f7959cf07790d71258bd13ec94f96315
+f8680af56315f8690af737fc20154a0afbb1fb6015b80a13f4b90a0ef689acf766b5
+f7969cef7795d312b4b713eca4f96415f7040af73d9115f86c0ad7fc4f154a0afbb1
+fb6015b80a13f4b90a0ef689acf766b5f7969cef7791d71278bd13ecb4f96415f868
+0af7428f15f86d0ac2fc4d154a0afbb1fb6015b80a13f4b90a0ef70c89acf766b5f7
+259ce5d3a2b97977b1ba12e3b7c0a113f180d3f8f315f7040a13f980cdd01513f380
+f86e0a13f980a1860513f380f86f0a13f980f8700a13f380f8710af726fc1d15f872
+0afbb1fb6015b80a13f580b90a0ef70e89acf766b5f7289ce1d79eb97a77b0ba12b2
+bdf70ca113f980f736f9371513f380f86e0a13f980a1860513f380f86f0a13f980f8
+700a13f380f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015b80a13f580b90a
+0efb5a81b1f74aacf737acdb9ce5d312b7da4fd2e1b798d513f980f760f94e15f704
+0a13fd803afcd515f7780a13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737ac
+dc9ce1d712b7da4fd29dbdd6d513f980f768f94f15f8680a13fd8032fcd615f7780a
+13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd292b7
+e7d513f980f711f94b15f7040af7056315f8690a13fd80fb07fcaa15f7780a13fb80
+f7790a13fd80f77a0a0efb5a81b1f74aacf737acd79ce1d712b7da4fd24bbdf731d5
+13f980f716f94a15f8680af56315f8690a13fc80fb05fca915f7780a13fa80f7790a
+13fc80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd291b7e8d513f980f7
+10f94b15f7040af73d9115f86c0a13fd80fb3efcd815f7780a13fb80f7790a13fd80
+f77a0a0efb5a81b1f74aacf737acd89ce1d712b7da4fd24fbdf72dd513fa80f71af9
+4b1513f980f8680af7428f15f86d0a13fc80fb4dfcd615f7780a13fa80f7790a13fc
+80f77a0a0ed889ac6cb2f7b0b1f74c9cb6b36cac90d312adb7f716e0f74aacb2ac9b
+ae1333f09df96815f7040af802fbff1530f74806133bf0f7b10a13b7f0540a1373f0
+550a13b3f0f7560a137bf0c60a0ebe89ac6cb2f7b0b1f74c9cb6b36cac8cd71256bd
+f74de0f74aacb2ac9bae1333f092f96815f8680af7f3fbff1530f74806133bf0f7b1
+0a13b7f0540a1373f0550a13b3f0f7560a137bf0c60a0ef78189ac6cb2f7b0b1f748
+9cbab36cac8cd312aab7f7b9e0f74aacb2ac9bae1337f09af96415f7040af7056315
+f8690af834fbd31530f74806133bf0f7b10a13b7f0540a1373f0550a13b3f0f7560a
+137bf0c60a0ef77089ac6cb2f7b0b1f7469cbcb36cac86d71258bdf7f4e0f74aacb2
+ac9bae1333f094f962151339f0f8740a1333f0f8750af56315f8690af830fbd11530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0ef77289
+ac6cb2f7b0b1f7469cbcb36cac8ad312a9b7f7abe0f74aacb2ac9bae133bf099f962
+15f7040af73d9115f86c0af7eefbff1530f74806b7979fc11ed606d68b9b63a146ff
+000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b33486b47ceb89
+938b8d8a8c888b7a88838a738b08fb930613b5f0540a1371f0550a13b1f0f7560a13
+7bf0c60a0ef76889ac6cb2f7b0b1f7489cbab36cac88d71252bdf7f1e0f74aacb2ac
+9bae1333f08ef964151335f0f8740a1333f0f8750af7428f15f86d0af7e9fbff1530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0e48fb6d
+76f78d76f81fa771bfda9ce5d312eadaf728b78cda13cf80f7c6f94d15f7040afb18
+fbe715f7c50a13ef80f7c60a13df80f7c70a0e48fb6d76f78d76f81fa771bfdc9ce1
+d712eadac3bde2da13cf80f7b6f94f15f8680afb08fbe915f7c50a13ef80f7c60a13
+df80f7c70a0e48fb6d76f78d76f81fa771bfd99ce5d312eadacfb7dcda13cf80f776
+f94c15f7040af7056315f8690afb39fbbe15f7c50a13ef80f7c60a13df80f7c70a0e
+48fb6d76f78d76f81fa771bfd69ce1d712eada8bbdf723da13cd80f77ef94915f868
+0af56315f8690a13ee80fb3afbbb15f7ca0a13de80f7cb0a0e48fb6d76f78d76f81f
+a771bfd89ce5d312eadaddb7ceda47cf13cf00f784f94b15f7040af73d911513cf40
+f8760a13cf80f8770a13cf40f8780afb7ffbeb15f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfd69ce1d712eada8dbdf721da47cf13cf00f780f9
+4915f8680af7428f1513cf40f86d0afb80fbe715f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfb59ce5d3a2b98bba12eadaf729b78bda71a113cc
+c0f7c7f92815f7040a13ce90cdd01513cd90f86e0a13ce90a1860513cd90f86f0a13
+ce90f8700a13cd90f8710afb5bfc0715f7c50a13eca0f7c60a13dca0f7c70a0e48fb
+6d76f78d76f81fa771bfb89ce1d79eb98bba12eadad4bdd1da6ea113ced0f806f96c
+1513cdd0f86e0a13ced0a1860513cdd0f86f0a13ced0f8700a13cdd0f8710a4c4a15
+f78c0afb19fbc515f7c50a13ece0f7c60a13dce0f7c70a0ef77589acf7b6b5f74a9c
+bfac90d301aeb7f709e0f7eae0039ef96815f7040af945fcee15f7b20a0ef77589ac
+f7b6b5f74b9cbeac8dd7015fbdf752e0f7eae0039bf96915f78c0af948fcef15f7b2
+0a0ef81c89acf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae013ef9cf96215f7040a
+f7056315f8690af97dfcc015f8250713f7f8790a0ef81289acf7b6b5f7449cc5ac86
+d7125abdf7f4e0f7eae013ef96f96215f8680af56315f8690af980fcc015f8250713
+f7f8790a0ef81589acf7b6b5f7449cc5ac8ad312a3b7f7b4e0f7eae013ef93f96215
+f7040af73d9115f86c0af947fcee15f8250713f7f8790a0ef80b89acf7b6b5f7479c
+c2ac89d71258bdf7efe0f7eae013ef94f96515f8680af7428f15f86d0af937fcef15
+f8250713f7f7df0a13ef628a588a658b0813f7f87a0a13ef658a628a588b0813f7f8
+7b0a0ef7fb89acf7b6b5cb9ce5d393ac79b98bba12f4b7c0a1f5e0f7eae013f1e0e4
+f8f215f7040a13f5e0cdd01513f3e0f86e0a13f5e0a1860513f3e0f86f0a13f5e0f8
+700a13f3e0f8710af943fcbd15f8250713f9e0f8790a0ef80589acf7b6b5d09ce1d7
+8eac7ab98bba12a3bdf70ca1f710e0f7eae013f5e0f727f9381513f3e0f86e0a13f5
+e0a1860513f3e0f86f0a13f5e0f8700a13f3e0f8710a4c4a15f78c0af994fc7d15f8
+250713f9e0f8790a0efbce80c2f81777ed9ce5d312dfda74b713f4f710f94415f704
+0a13f863fc0215f77b0a0efbce80c2f81777ee9ce1d712d3bd65da13f8f718f94515
+f8680a13f45bfc0315f77b0a0efbce80c2f81777f59ce5d312c8b776da13f8b8f94c
+15f7040af7056315f8690a13f441fbe215f77b0a0efbce80c2f81777f39ce1d70181
+bdb7da03bdf94a15f78c0af56315f8690a43fbe015f77b0a0efbce80c2f81777f49c
+e5d312c6b778da13f8b6f94b15f7040af73d9115f86c0a13f4fb14fc0f15f77b0a0e
+fbce80c2f81777f49ce1d70182bdb6da03bef94b15f78c0af7428f15f86d0afb21fc
+0d15f77b0a0efbce80c2f81777d09ce5d3a2b98bba12dfda75b7c0a113f180f711f9
+2715f7040a13f880cdd01513f480f86e0a13f880a1860513f480f86f0a13f880f870
+0a13f480f8710a13f28020fc2a15f77b0a0efbce80c2f81777d49ce1d79eb98bba12
+d0bd68dad7a113fa80f754f96c1513f680f86e0a13fa80a1860513f680f86f0a13fa
+80f8700a13f680f8710a4c4a15f78c0a13f1805efbe915f77b0a0efb6889acf8979c
+beac91d301a8b7f70fe00398f96915f7040af7a0fcef15590a0efb7a89acf8979cbe
+ac8dd7015abdf745e00396f96915f78c0af790fcef15590a0e5f89acf8919cc4ac8b
+d312a8b7f7b7e013dc98f96315f7040af7056315f8690af7d7fcc115f8250713ecf8
+7c0a0e4389acf8929cc3ac88d71251bdf7ece013dc8df9641513ecf8740a13dcf875
+0af56315f8690af7cdfcc215f8250713ecf87c0a0e4d89acf8939cc2ac8dd3019eb7
+f7afe0038ef96515f7040af73d9115f86c0af797fcf115f825078bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080e
+4c89acf8949cc1ac8ad71257bdf7efe013dc93f96615f8680af7428f15f86d0af78c
+fcf015f8250713ecf87c0a0e3389acf8269ce5d38dac7fb98bba12e1b7c0a1f707e0
+13e380d1f8f815f7040a13eb80cdd01513e780f86e0a13eb80a1860513e780f86f0a
+13eb80f8700a13e780f8710af7a1fcc315f8250713f380f87c0a0e4a89acf8269ce1
+d78dac7bb98bba12a1bdf70ca1f715e013eb80f725f9391513e780f86e0a13eb80a1
+860513e780f86f0a13eb80f8700a13e780f8710a4c4a15f78c0af7eefc7e15f82507
+13f380f87c0a0e3081aef80faed19ce5d301b4e1f710b7dde103f77ff94415f7040a
+fb56fc77158a0af759f75b158b0a0e3081aef80faed29ce1d701b4e1c3bdf724e103
+f787f94515f78c0afb5efc78158a0af759f75b158b0a0e3081aef80faed09ce5d301
+b4e1b6b7f737e103f72ef94315f7040af7056315f8690afb76fc4e158a0af759f75b
+158b0a0e3081aef80faed09ce1d712b4e171bdf776e113f6f735f94315f8680af563
+15f8690a13fafb76fc4e15ed0af759f75b158b0a0e3081aef80faecd9ce5d3917712
+b4e1b7b7f736e113f7f72ff94015f7040a13eff73d9115f87d0afbaffc79158a0af7
+59f75b158b0a0e3081aef80faecf9ce1d78f7712b4e171bdf776e113f3f735f94215
+f8680a13e9f7428f15f87e0a13e5fbbafc7915ed0af759f75b158b0a0ef71f81aff8
+9b9cc7af85d312acb787ebf849eb13da9cf96815f7040a13e6f7f22515ce0af7e3fb
+b915650a0ef72c81aff89c9cc6af82d71257bde3ebf849eb13de93f96915f8680a13
+eef8082415ce0af7e3fbb915650a0ef7bf81aff8959ccdaf7fd312a1b7f73bebf849
+eb13de91f96215f7040af7056315f8690a13eef82c5315ce0af7e3fbb915f87f0a0e
+f7c781aff8959ccdaf7bd71254bdf78aebf849eb13de90f96215f8680af56315f869
+0a13eef83c5315ce0af7e3fbb915f87f0a0ef7ae81aff8979ccbaf81d312aab7f721
+ebf849eb13de9af96415f7040af73d9115f86c0a13eef7da2315ce0af7e3fbb915f8
+7f0a0ef79c81aff8979ccbaf7dd71257bdf75cebf849eb13de93f96415f8680af742
+8f15f86d0a13eef7ca2515ce0af7e3fbb915f87f0a0e2281b2f7f8a7a877e29ce5d3
+01e7dae5b7efb403f789f94415f7040a41fffe914ccc15f77f0a0e2281b2f7f8a7a8
+77e39ce1d701e7daa1bdf736b403f791f94515f78c0a39fffe904ccc15f77f0a0e22
+81b2f7f8a7a877e19ce5d301e7da8fb7f74eb403f733f94315f7040af7056315f869
+0a26fffeba4ccc15f77f0a0e2281b2f7f8a7a877e19ce1d712e7da4cbdf78bb413fb
+f73cf94315f8680af56315f8690a13fd24fffeba4ccc15f77f0a0e2281b2f7f8a7a8
+77de9ce5d3917712e7da95b7f748b413fb80f739f94015f7040a13f780f73d9115f8
+7d0afb37fffe8f4ccc15f77f0a0e2281b2f7f8a7a877e09ce1d78f7712e7da4fbdf7
+88b413fa80f73ff9421513f980f8680a13f480f7428f15f87e0a13f280fb42fffe8f
+4ccc15f77f0a0e2281b2f7f8a7a877c79ce5d3a2b98bba12e7daeeb7c0a19bb413f9
+e0f792f92915f7040a13fde0cdd01513fbe0f86e0a13fde0a1860513fbe0f86f0a13
+fde0f8700a13fbe0f8710afb29fffe674ccc15f77f0a0e2281b2f7f8a7a877c69ce1
+d79eb98bba12e7da97bdf70ca1a9b413fde0f7c6f9691513fbe0f86e0a13fde0a186
+0513fbe0f86f0a13fde0f8700a13fbe0f8710a4c4a15f78c0a43fffead4ccc15f77f
+0a0ef70389acf8979cbeac8dd7015fbdf80ee0039bf96915f78c0af859fcef15f7b3
+0a0ef7a289acf8919cc4ac87d7125abdf8b2e013dc96f96315f8680af56315f8690a
+f893fcc115f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc9191
+8ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668ff
+fff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334
+ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff0009
+9998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff001133
+34fffffa1998ff00228000ffffc5e66808ff00834cccfb7105ff00118000ffffe280
+00ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff0034
+66688cff002699988bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908b
+de080ef7a289acf8939cc2ac89d71259bdf8b3e013dc95f96515f8680af7428f15f8
+6d0af850fcef15f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085910813dc6f8a6b8a748b0813ec748b678c6b8c85858b769185ff002c4c
+cc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb650583ffff
+f0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff
+002a999c8fff00099998c38e91918ba085910813dc678a658a638b0813ec648b6a8c
+6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e66808ff0083
+4cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13078b387a
+863b8885858b769185bc8cff003466688cff002699988bff0026b3348bff00324ccc
+8abd8a91918ba085913b8e7a908bde080ef76989acf8259ce1d78eac7ab98bba12a5
+bdf70ca1f7a0e013eb80f729f9381513e780f86e0a13eb80a1860513e780f86f0a13
+eb80f8700a13e780f8710a4c4a15f78c0af879fc7d15f8800a13f380a7ff0032b334
+ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c
+85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ff
+ff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00
+cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b
+648b6a8c6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e668
+08ff00834cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13
+078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026b3348bff
+00324ccc8abd8a91918ba085913b8e7a908bde080eca81b0f83377f29ce5d312addd
+f745ce88b7f721dd13fbf7e9f95415f7040af7affc9715f8810a13fdf8820a0eca81
+b0f83377e39ce1d712adddf741bd5dcef74add13fdf7f1f94515f8680af7a7fc8815
+f8810a13fbf8820a0eca81b0f83377e19ce5d312adddf734b770cef74add13fdf798
+f94315f7040af7056315f8690af78ffc5e15f8810a13fbf8820a0eca81b0f83377e1
+9ce1d701addddcbdb9cef74add03f795f94315f78c0af56315f8690af799fc5e15f7
+ce0a0eca81b0f83377de9ce5d3917712adddf735b76fcef74add13f680f799f94015
+f7040a13ec80f73d9115f87d0af756fc8915f8810a13e5809ab094c28ba308a38898
+707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff
+00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb17db42e5
+1e13e680f8830a0eca81b0f83377e09ce1d78f7712addde6bdafcef74add13f780f7
+9ff94215f8680a13ef80f7428f15f87e0af74bfc8915f7ce0a0eca81b0f83377c19c
+e5d3a2b98bba12adddf745ce86b7c0a1cfdd13f2e0f7e7f92315f7040a13fa60cdd0
+1513f660f86e0a13fa60a1860513f660f86f0a13fa60f8700a13f660f8710af76ffc
+ab15f8810a13f360f8820a0eca81b0f83377c59ce1d79eb98bba12adddf73dbd61ce
+eaa1ccdd13fb60f82cf9681513f760f86e0a13fb60a1860513f760f86f0a13fb60f8
+700a13f760f8710a4c4a15f78c0af7abfc6a15f8810a13f2e0f8820a0ef73f8bd0f8
+709cc9ad85d312cdb792a478e7f837e672a513d800bdf96815f7040af874fcf31513
+eb00f7b40a13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7598bd0f8719cc8ad82
+d7128bbde8a478e7f837e672a513d800c7f96915f8680af884fcf41513eb00f7b40a
+13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7d58bd0f86a9ccfad7fd312a2b7f7
+5ca478e7f837e672a513d80092f96215f7040af7056315f8690af8c4fcc51513eb00
+f7b40a13ec00f8840a13eb00f7b60a13e880f7b70a0ef7c38bd0f86a9ccfad7bd712
+51bdf796a478e7f837e672a513d8008df96215f8850a13e800619379b08ba20813d8
+00f8750af56315f8690af8bffcc51513eb00f7b40a13ec00f8860a13eb00f7b60a13
+e880f7b70a0ef79c8bd0f86c9ccdad81d312a8b7f71da478e7f837e672a513d80098
+f96415f7040af73d9115f8870a13ca00f8880af84dfcf51513eb00f7b40a13ec00f7
+b50a13eb00f7b60a13e880f7b70a0ef7a08bd0f86c9ccdad7dd7125bbdf768a478e7
+f837e672a513d80097f96415f8680af7428f15f86d0af84dfcf31513eb00f7b40a13
+ec00f7b50a13eb00f7b60a13e880f7b70a0ef7938bd0f7fb9ce5d39cad6fb98bba12
+e9b7c0a17fa478e7f837e672a513e200d9f8f315f7040a13eb00cdd01513e700f86e
+0a13eb00a1860513e700f86f0a13eb00f8700a13e700f8710af86afcc31513f260f7
+b40a13f280f7b50a13f260f7b60a13f210f7b70a0ef7ad8bd0f8009ce1d797ad70b9
+8bba12adbdf70ca18da478e7f837e672a513eb00f731f9391513e700f86e0a13eb00
+a1860513e700f86f0a13eb00f8700a13e700f8710a4c4a15f78c0af8b7fc831513f3
+60f7b40a13f380f7b50a13f360f7b60a13f310f7b70a0e6e81c84eadf811ad12addf
+1330f74df93515f8890af774fc7615f7c10a1370f7c20a13b0f7c30a4be4157b6205
+1370f7c40a0e6e81c84eadf811ad12addf1330f7aef93e15f7b00af713fc7f15f7c1
+0a1370f7c20a13b0f7c30a4be4157b62051370f7c40a0efb5a81b1f74aacf737ac12
+b7da4fd2f723d513e4f733f93515f8890a13f467fcbc15f7780a13ecf7790a13f4f7
+7a0a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b00a13f4fb
+09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf12eadaf7
+55da13ccf784f93a15f8890a49fbd415f7c50a13ecf7c60a13dcf7c70a0e48fb6d76
+f78d76f81fa771bf12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ec
+f7c60a13dcf7c70a0efbce80c2f8177701dfda03cdf93715f88a0a9dfbf515f77b0a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e3081aef80fae
+01b4e1f78ee103f745f93115f88a0afb1cfc64158a0af759f75b158b0a0e3081aef8
+0fae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281
+b2f7f8a7a87701e7daf77eb403f74af92f15f88a0a80fffea64ccc15f77f0a0e2281
+b2f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca
+81b0f8337701adddf745cef74add03f78df92d15f88a0af80bfc7015f7ce0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e6efb70
+b3f73ec84eadf811addb9ce5d312addfddd67cb7b7a4139f40f75c5315f7a70a82f9
+7915f88b0a139ec0f88c0af739fc8f15f7c10a13be40f7c20a13de40f7c30a4be415
+7b620513be40f7c40a0e6efb70b3f73ec84eadf811addc9ce1d712addfbfbd77d6d4
+a4139ec0f75c5315f7a70a74f97a15139f40f78c0af747fc9015f7c10a13be40f7c2
+0a13de40f7c30a4be4157b620513be40f7c40a0e6efb70b3f73ec84eadf811addb9c
+e5d312addfb7b785d6d4a4139ec0f75c5315f7a70a20f97915f88b0a139f40f88c0a
+f7056315f8690af72afc6715f7c10a13be40f7c20a13de40f7c30a4be4157b620513
+be40f7c40a0e6efb70b3f73ec84eadf811add99ce1d712addf76bdc0d6d4a4139cc0
+f75c5315f7a70a2bf97715139dc0f78c0af56315f8690af726fc6515f86a0a13bec0
+f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6efb70b3f73ec84eadf811ad
+db9ce5d312addfcfb76dd6d4a4139ec0f75c5315f7a70af730f77e15f7c10a13be40
+f7c20a13de40f7c30a4be4157b620513be40f7c40afb4cf85b15f88b0a139f40f88c
+0af73d9115818b7a87877b08139ec06afb2f8b8a05888d81971e8e8b8f8c8c8f08d7
+f71f058d8f8c8f8b8f8b9683a16e8b080e6efb70b3f73ec84eadf811add99ce1d712
+addf7dbdb9d6d4a4139cc0f75c5315f7a70a32f97715139dc0f78c0af7428f15f86d
+0ad2fc9115f86a0a13bec0f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6e
+fb78b3f746c84eadf811adb59ce5d3a2b98bba12addfcbd688b7aba487a113bc80f8
+2df75315f7c80a13dc80f7c30a4be4157b620513bc80f7c40afb08f83515f88b0a13
+9ca0f88c0a139e88cdd015139d88f86e0a139e88a18605139d88f86f0a139e88f870
+0a139d88f8710a139cd0fb0efdad15f7a70a0e6efb70b3f73ec84eadf811adb89ce1
+d79eb98bba12addfc8bd6ed6d4a4139cb0f75c5315f7a70a139ed0bcf99715139dd0
+f86e0a139ed0a18605139dd0f86f0a139ed0f8700a139dd0f8710a4c4a15f78c0af7
+3efc6c15f7c10a13bc90f7c20a13dc90f7c30a4be4157b620513bc90f7c40a0ef7b3
+81b16dacf766b5f79a9ceb7799d312f73cb7f889d4d0a313b380f95df7c315f88d0a
+133780fd03f81c15f7040af703fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+a981b16dacf766b5f79b9cea7796d712e3bdf8c9d4d0a313b380f953f7c315f88d0a
+133780fcfdf81d15f8680af707fc4e154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+e189ac79b1f752b5f7979cee7796d312adb7f93dd4d0a3137380f98bf7da15f88d0a
+133780fdb7f80215f7040af7056315f8690af742fc2215f8720afbb1fb6015f88e0a
+13bb80ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc999a85
+858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff00038000ff
+ffde3334ff00034cccffffee9998ff0030333408fb62f8d0057c8270807e8b08fb77
+fcac05714dffffe1800085ffffd480008885858b769185a58cff0020b3338cff001e
+4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff0002999a5cff00044cccff000f
+999aff0029199a080ef7ca81b16dacf766b5f7959cf07790d71258bdf975d4d0a313
+b380f974f7c315f88d0a133780fda9f81715f8680af56315f8690af737fc20154a0a
+fbb1fb6015f88e0a137b80f88f0a0ef7c881b16dacf766b5f7969cef7795d312b4b7
+f91dd4d0a313b380f972f7c315f88d0a133780fd97f81815f7040af73d9115f86c0a
+d7fc4f154a0afbb1fb6015f88e0a137b80f88f0a0ef7c181b16dacf766b5f7969cef
+7791d71278bdf94dd4d0a313b380f96cf7c315f88d0a133780fd81f81815f8680af7
+428f15f86d0ac2fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7cf81b16dacf7
+66b5f7259ce5d3a2b97977b1ba12e3b7c0a1f8aad4d0a313b8f0f979f7c315f88d0a
+fd6ff7a715f7040a133cf0cdd0151339f0f86e0a133cf0a186051339f0f86f0a133c
+f0f8700a1339f0f8710af726fc1d15f8720afbb1fb6015f88e0a137af0f88f0a0ef7
+d781b16dacf766b5f7289ce1d79eb97a77b0ba12b2bdf70ca1f89ad4d0a313b8f0f9
+81f7c315f88d0a133cf0fd1df7eb151339f0f86e0a133cf0a186051339f0f86f0a13
+3cf0f8700a1339f0f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015f88e0a13
+7af0f88f0a0e48fb82b3f76576f81fa771bfda9ce5d312eadad3a4beb78cda13cfc0
+ed4115f7a70af72ff98a15f7040afb18fbe715f7c50a13efc0f7c60a13dfc0f7c70a
+0e48fb82b3f76576f81fa771bfdc9ce1d712eadac3bd69a4ebda13cec0ed4115f7a7
+0af71ff98c1513cf40f78c0afb08fbe915f7c50a13ee40f7c60a13de40f7c70a0e48
+fb82b3f76576f81fa771bfd99ce5d312eadacfb763a4ebda13cec0ed4115f7a70ad6
+f98915f88b0a13cf40f88c0af7056315f8690afb39fbbe15f7c50a13ee40f7c60a13
+de40f7c70a0e48fb82b3f76576f81fa771bfd69ce1d712eada8bbda1a4ebda13ccc0
+ed4115f7a70adef9861513cdc0f78c0af56315f8690a13eec0fb3afbbb15f7ca0a13
+dec0f7cb0a0e48fb82b3f76576f81fa771bfd89ce5d312eadad3a47cb7ceda47cf13
+cf00ed4115f7a70ae4f98815f88b0a13ce80f88c0af73d911513ce20f8760a13ce40
+f8770a13ce20f8780afb7ffbeb15f7c50a13eec0f7c60a13dec0f7c70a0e48fb82b3
+f76576f81fa771bfd69ce1d712eada8dbd9fa4ebda47cf13cf80ed4115f7a70ae0f9
+8615f78c0af7428f1513cfa0f86d0afb80fbe715f7c50a13efc0f7c60a13dfc0f7c7
+0a0e48fb82b3f76576f81fa771bfb59ce5d3a2b98bba12eadad3a4bfb78bda71a113
+cce0f7c7f92815f7040a13cec8cdd01513cdc8f86e0a13cec8a1860513cdc8f86f0a
+13cec8f8700a13cdc8f8710afb5bfc0715f7c50a13ecd0f7c60a13dcd0f7c70a3ffc
+4415f7a70a0e48fb82b3f76576f81fa771bfb89ce1d79eb98bba12eadad3a473bdd1
+da6ea113ccc0ed4115f7a70a13cea8f76ff9a91513cda8f86e0a13cea8a1860513cd
+a8f86f0a13cea8f8700a13cda8f8710a4c4a15f78c0afb19fbc515f7c50a13ec90f7
+c60a13dc90f7c70a0ef82081b16dacf7b6b5f74a9cbfac90d312aeb7f709e0f7eae0
+f706d4d0a313bfe0f9caf7c315f88d0afdf5f81c15f7040af945fcee15f8900a137f
+e0f8910a0ef82381b16dacf7b6b5f74b9cbeac8dd7125fbdf752e0f7eae0f709d4d0
+a313bfe0f9cdf7c315f88d0afdfbf81d15f78c0af948fcef15f8900a137fe0f8910a
+0ef8c181b16dacf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae0f700d4d0a313b3e0
+fa6bf7c315f88d0a1337e0fe98f81615f7040af7056315f8690af97dfcc015f82507
+137be0f8790a0ef8b881b16dacf7b6b5f7449cc5ac86d7125abdf7f4e0f7eae0f701
+d4d0a313b3e0fa62f7c315f88d0a1337e0fe95f81615f8680af56315f8690af980fc
+c015f82507137be0f8790a0ef8c681b16dacf7b6b5f7449cc5ac8ad312a3b7f7b4e0
+f7eae0f70cd4d0a313b3e0fa70f7c315f88d0a1337e0fea6f81615f7040af73d9115
+f86c0af947fcee15f82507137be0f8790a0ef8b981b16dacf7b6b5f7479cc2ac89d7
+1258bdf7efe0f7eae0f709d4d0a313b3e0fa63f7c315f88d0a1337e0fe98f81915f8
+680af7428f15f86d0af937fcef15f82507133be0f7df0a1337e0628a588a658b0813
+3be0f87a0a1337e0658a628a588b08137be0f87b0a0ef8b081b16dacf7b6b5cb9ce5
+d393ac79b98bba12f4b7c0a1f5e0f7eae0f710d4d0a313b8fcfa5af7c315f88d0afe
+3ff7a615f7040a133afccdd0151339fcf86e0a133afca186051339fcf86f0a133afc
+f8700a1339fcf8710af943fcbd15f82507137cfcf8790a0ef8b881b16dacf7b6b5d0
+9ce1d78eac7ab98bba12a3bdf70ca1f710e0f7eae0f70ed4d0a313b8fcfa62f7c315
+f88d0a133afcfe0df7ec151339fcf86e0a133afca186051339fcf86f0a133afcf870
+0a1339fcf8710a4c4a15f78c0af994fc7d15f82507137cfcf8790a0ecafb70b3f73e
+b0f83377f29ce5d312adddf745ce88b7aea4dcdd13fcc0f7b45315f7a70af97f04f8
+8b0a13fdc0f88c0af7affc9715f8810a13fec0f8820a0ecafb70b3f73eb0f83377e3
+9ce1d712adddf740d641bdeca4dcdd13fec0f7b45315f7a70a93f9701513fdc0f78c
+0af7a7fc8815f7ce0a0ecafb70b3f73eb0f83377e19ce5d312adddf734b76bd6d4a4
+dcdd13fdc0f7b45315f7a70a3af96e15f88b0a13fec0f88c0af7056315f8690af78f
+fc5e15f7ce0a0ecafb70b3f73eb0f83377e19ce1d701addddcbdb4d6d4a4dcdd03f7
+b45315f7a70a37f96e15f78c0af56315f8690af799fc5e15f7ce0a0ecafb70b3f73e
+b0f83377de9ce5d3917712adddf735b76ad6d4a4dcdd13f2e0f7b45315f7a70a13fb
+603bf96b15f7040a13f660f73d9115f87d0af756fc89158bf7082de72db8fffff2e6
+66fffffd199affffff199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68
+ae6dd09ab094c28ba308a38898707180686c1e8b778d66986a6c44746d668b418b70
+d18bf7048bf70ebcbaccb48aff00094cccfffffb999aff0009b334fffff866668ffb
+055b45398bfb0a08fb17db42e51e13f360f8830a0ecafb70b3f73eb0f83377e09ce1
+d78f7712addde6bdaad6d4a4dcdd13f3e0f7b45315f7a70a13fbe041f96d15f8680a
+13f7e0f7428f15f87e0af74bfc8915f7ce0a0ecafb70b3f73eb0f83377c19ce5d3a2
+b98bba12adddf740d683b7b0a482a1cfdd13f9a8f7b45315f7a70a89f94e15f88b0a
+13f948f88c0a13fd18cdd01513fb18f86e0a13fd18a1860513fb18f86f0a13fd18f8
+700a13fb18f8710af76ffcab1513f928f7ce0a0ecafb70b3f73eb0f83377c59ce1d7
+9eb98bba12adddf73dbd5cd6d4a485a1ccdd13f968f7b45315f7a70a13fd98cef993
+1513fb98f86e0a13fd98a1860513fb98f86f0a13fd98f8700a13fb98f8710a4c4a15
+f78c0af7abfc6a1513f928f7ce0a0ef7ec81b16fd0f8709cc9ad85d31298b792a478
+e7f837e672a5edd4d0a313a430f997f7c315f88d0a132c30fdd8f81c15f7040af874
+fcf3151375b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef7f381b16fd0
+f8719cc8ad82d7123bbde8a478e7f837e672a5f4d4d0a313a430f99df7c315f88d0a
+132c30fdeff81d15f8680af884fcf4151375b0f7b40a137630f7b50a1375b0f7b60a
+137470f7b70a0ef87f82b16ed0f86a9ccfad7fd312a2b7f75ca478e7f837e672a5b4
+d4d0a313a430fa29f7c415f88d0a132c30fe60f81515f7040af7056315f8690af8c4
+fcc5151375b0f7b40a137630f8840a1375b0f7b60a137470f7b70a0ef87981b16fd0
+f86a9ccfad7bd71251bdf796a478e7f837e672a5bfd4d0a313a430fa23f7c315f88d
+0a132c30fe5ff81615f8850a133430619379b08ba208132c30f8750af56315f8690a
+f8bffcc5151375b0f7b40a137630f8860a1375b0f7b60a137470f7b70a0ef86a81b1
+6fd0f86c9ccdad81d312a8b7f71da478e7f837e672a5d9d4d0a313a430fa15f7c315
+f88d0a132c30fe46f81815f7040af73d9115f8870a132530f8880af84dfcf5151375
+b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef87981b16fd0f86c9ccdad
+7dd7125bbdf768a478e7f837e672a5e3d4d0a313a430fa23f7c315f88d0a132c30fe
+55f81815f8680af7428f15f86d0af84dfcf3151375b0f7b40a137630f7b50a1375b0
+f7b60a137470f7b70a0ef85f81b16fd0f7fb9ce5d39cad6fb98bba12d7b7c0a17fa4
+78e7f837e672a5e8d4d0a313b106fa09f7c315f88d0afe0bf7a715f7040a133586cd
+d015133386f86e0a133586a18605133386f86f0a133586f8700a133386f8710af86a
+fcc315137936f7b40a137946f7b50a137936f7b60a13790ef7b70a0ef87281b16fd0
+f8009ce1d797ad70b98bba129bbdf70ca18da478e7f837e672a5e0d4d0a313b186fa
+1cf7c315f88d0a133586fdcff7ed15133386f86e0a133586a18605133386f86f0a13
+3586f8700a133386f8710a4c4a15f78c0af8b7fc83151379b6f7b40a1379c6f7b50a
+1379b6f7b60a13798ef7b70a0e6e81c84eadf811adc9c4e57712addf7ba6f76ca613
+3bf715f91c15f60af7acfc5d15f86a0a137df86b0a13bdf7c30a4be4157b6205137d
+f7c40a0e6e81c84eadf811addabd12addf1338f7f7f89a15f40af7aafbdb15f7c10a
+1378f7c20a13b8f7c30a4be4157b62051378f7c40a0e6efb70b3f73ec84eadf811ad
+12addfddd6d4a4139ef75c5315f7a70a47f96015f88a0af774fc7615f7c10a13bef7
+c20a13def7c30a4be4157b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addf
+ddd6d4a4139ef75c5315f7a70af730f77e15f7c10a13bef7c20a13def7c30a4be415
+7b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addfddd6d4a4139ef75c5315
+f7a70aa8f96915f7af0af713fc7f15f7c10a13bef7c20a13def7c30a4be4157b6205
+13bef7c40a0e6e81c84eadf811adf704b98bba12addff77aa11336f7c1f8e915132e
+f86e0a1336a18605132ef86f0a1336f8700a132ef8710af700fc2a15f7c10a1366f7
+c20a13a6f7c30a4be4157b62051366f7c40a0e6efb70b3f73ec84eadf811adf704b9
+8bba12addfddd6d4a4139380f75c5315f7a70a139b80bbf91415139780f86e0a139b
+80a18605139780f86f0a139b80f8700a139780f8710af700fc2a15f7c10a13b380f7
+c20a13d380f7c30a4be4157b620513b380f7c40a0eef89acf766b5f80b77c1bf01f7
+71a7f76ca703f881f9b915f50afb7afc9e154a0afbb1fb60154b0a0eef89acf766b5
+f80b77cebd01f85ef95515f40aa8fc3a154a0afbb1fb60154b0a0eef89acf766b5f8
+0b7701def96315f88a0af748fc48154a0afbb1fb60154b0a0eef89acf766b5f80b77
+01f738f96815f7af0aeefc4d154a0afbb1fb60154b0a0ef7c881b16dacf766b5f80b
+7712f972d4d0a313bcf972f7c315f88d0afca95a154a0afbb1fb6015f88e0a137cf8
+8f0a0efc32daf92015f7040a0efb9c81b101f715d403f715f7c315f88d0a0efc31f8
+6d9ce5d301eab703daf92015f7040a0efb42f8d9b98bba12f7d7a113a0f7a8f90715
+1360f86e0a13a0a186051360f86f0a13a0f8700a1360f8710a0efb77f8a4eabdb98b
+ba12c1e9d6e970a113d4f787f9631513b4f86e0a13d4a1860513b4f86f0a13d4f870
+0a13b4f8710afb51fb2415950a1398f73d16d80a0e48fb82b3f76576f81fa771bf12
+eadad3a4ebda13ceed4115f7a70ae4f97715f88a0a49fbd415f7c50a13eef7c60a13
+def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4ebda13ceed4115f7a70aa2f8
+3715f7c50a13eef7c60a13def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4eb
+da13ceed4115f7a70af747f97a15f7af0afb30fbd715f7c50a13eef7c60a13def7c7
+0a0e48fb6d76f78d76f81fa771bff702b98bba12eadaf755da58a113ca80f7f0f8e7
+1513c680f86e0a13ca80a1860513c680f86f0a13ca80f8700a13c680f8710afb42fb
+8115f7c50a13e300f7c60a13d300f7c70a0e48fb82b3f76576f81fa771bff702b98b
+ba12eadad3a4ebda58a113c300ed4115f7a70a13cb40f759f9241513c740f86e0a13
+cb40a1860513c740f86f0a13cb40f8700a13c740f8710afb42fb8115f7c50a13e380
+f7c60a13d380f7c70a0eea89ac6cb2f7b0b1f788b36cac12f776e0f74aacb2ac9bae
+13278085f95e15f8890af82cfbf51530f74806133780f7b10a13af80540a13678055
+0a13a780f7560a137780c60a0ed989ac6cb2f7b0b1f788b36cac12f765e0f74aacb2
+ac9bae132780c7f96815f7b00af7d9fbff1530f74806133780f7b10a13af80540a13
+6780550a13a780f7560a137780c60a0ef78389acf7b6b5f78fac01f766e0f7eae003
+80f96315f88a0af971fce915f7b20a0ef77a89acf7b6b5f78fac01f75de0f7eae003
+b6f96a15f7af0af932fcf015f7b20a0ef7d381b16dacf7b6b5f78fac12f5e0f7eae0
+f713d4d0a313bff97df7c315f88d0afb51fb6615f8900a137f8b387a86458885858b
+769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918b
+a08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002f
+e6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908b
+de080efb95f86c9ce5d301edb703f757f8f715f8690afb05b315f7040a0efb95f869
+9ce5d301edb703f78ff92215f86c0afb3d8515f7040a0efba7f8269ce5d3a2b97276
+b9ba12f749b7c0a113e6f77bf91e1513de638b76ba548b628b766a7e5408a1860596
+a9999ba08b0813e6f8700a13cef8710a494615f7040a0efbce80c2f81777e5c4e577
+017fa6d0dacfa6039af91c15f7950ad0fbda15f77b0a0efbce80c2f81777f700bd01
+dfda03f77cf89b15f40ad7fb5915f77b0a0efbce80c2f81777f713ea1289e983da8f
+e913f489f8dd15d80af73d16950afb13f76215f88a0a13ecb7fc6915f77b0a0efbce
+80c2f81777f707ea8c761286e986da8ce913d2f751f9a415f7b00a13eafb56fb6715
+d80af73d16950a13c63bfb8f15f77b0a0efbce80c2f81777f720b98bba12dfdacca1
+13ecf749f8e91513dcf86e0a13eca1860513dcf86f0a13ecf8700a13dcf8710a2afb
+a715f77b0a0efbce80c2f81777f709eabdb98bba1283e989da89e970a113f080f749
+f9631513e880f86e0a13f080a1860513e880f86f0a13f080f8700a13e880f8710a13
+e400fb51fb2415d80a13e100f73d16d80a13e2003efb9115f7cf0a13e100f7d00a0e
+fbb789acf8dbacb8bf019ca7cde0cca703f7b5f9b915f50a2efd3f15590a0efbbe89
+acf8dbacc8bd01f5e003f791f95815f40af736fcde15590a0efb5c89acf8dbac01f7
+65e0037ef96415f88a0af7c7fcea15590a0efb6589acf8dbac01f75be003c4f96915
+f7af0af777fcef15590a0efb98f86c9ce1d701a8bd03f757f8f715f8690a21b315f7
+8c0a0efb9cf86b9ce1d701a7bd03f79af92215f86d0afb428715f78c0a0efb83f885
+9ce1d79eb98bba12f70abdf70ca113ccf746f93815f8680a13eccacc1513dcf86e0a
+13eca1860513dcf86f0a13ecf8700a13dcf8710a0e2281b2f7f8a7a877dac4e57712
+e7da53a6f76ca69fb413fb80f722f91c15f60a13fd80a8fffeb94ccc15f77f0a0e22
+81b2f7f8a7a877ecbd01e7daf77eb403f804f89b15f40aa6ffff3a4ccc15f77f0a0e
+2281b2f7f8a7a877eaea12e7da5ce9d6e99db413f7f710f8c81513fb71a076a51e13
+f7a5a0a0a51f13fba576a1711e717675711ff73d16950afb13f76215f88a0a90fffe
+3f4ccc15f77f0a0e2281b2f7f8a7a877f3ea8c7612e7da5be9d6e99eb413e980f7d1
+f9a415f7b00a13f380fb56fb6715d80af73d16950a13e580fb0dffff044ccc15f77f
+0a0e45fb6d76f778acf80eb1e19ce5d301d9daf714b7d2e103f7a1f95415f7040afb
+0cfe2315f7cc0af7e3f83f15f7cd0a0e45fb6d76f778acf80eb1d29ce1d701d9dac7
+bdf719e103f7a9f94515f78c0afb14fe1415f7cc0af7e3f83f15f7cd0a0e2281b2f7
+f8a7a877f714b98bba12e7daf753a1a0b413f7f7cff8e81513eff86e0a13f7a18605
+13eff86f0a13f7f8700a13eff8710afb24fffeed4ccc15f77f0a0e2281b2f7f8a7a8
+77e6eabdb98bba12e7da5ae9d6e970a1a4b413f860f7cbf9541513f460f86e0a13f8
+60a1860513f460f86f0a13f860f8700a13f460f8710a13f120fb51fb2415d80a13f0
+a0f73d16d80a13f220fb0cffff114ccc15f77f0a0e7789acf8dbacb8bf01f736a7c9
+e0d0a703f846f9b915f50a2afd3f156f0a0e7789acf8dbacbfbd01f790e003f824f9
+4f15f40af735fcd5156f0a0ef70389acf8dbac01f811e0037cf96015f88a0af875fc
+e615f7b30a0ee989acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0e8d
+89acf78fad73a8f7739cc4ad86d7126cbdf73be0f775e8139780a8f96715f8680af7
+86fb3d1513db80f7450a13bb80f7460a36f75e15f7bf0a13db80a184a388ae8b08f7
+4ac2f70be0c664f6fb4d1fffffd9b3348bffffc54ccc84638b0813b780ffffdb4ccd
+8bffffcbb3338c638c85858b769185d1889c868b38080efb70f8a4ea927612bde9d6
+e91370e7f9a115f8890a61fb621513b0950af73d16950a0efb77f8a4ea8c7612bde9
+d6e91370f788f9a615f7b00afb56fb671513b0950af73d16950a0efbf8f8bcf74501
+c0f71403d4f96815f88a0a0ecafb70b3f73eb0f8337701adddf745ced7a4dcdd03f7
+b45315f7a70a2ff95815f88a0af80bfc7015f7ce0a0ecafb70b3f73eb0f8337701ad
+ddf740d6d4a4dcdd03f7b45315f7a70af7aff77c15f7ce0a0ecafb70b3f73eb0f833
+7712adddf745ce55d6d4a4cadd13f7f7c65315f7a70a9bf96b157e8b808587800857
+fb230513fb8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90
+8b9f759a778b08f78dfc8315f7ce0a0eca81b0f83377f701b98bba12adddf745ced5
+a1e1dd13eff817f8d51513dff86e0a13efa1860513dff86f0a13eff8700a13dff871
+0af781fc1815f7ce0a0ecafb70b3f73eb0f83377f701b98bba12adddf740d6d4a4dc
+dd13e780f7b45315f7a70a13f780b9f9001513ef80f86e0a13f780a1860513ef80f8
+6f0a13f780f8700a13ef80f8710af781fc1815f7ce0a0ef74081aff8e8af01f4ebf8
+49eb037ff96315f88a0af82f2a15640af7e3fbb915650a0ef681aff8e8af01b0ebf8
+49eb03bdf96915f7af0af7ad2415640af7e3fbb915650a0ef7438bd0f8bfad12f70e
+a478e7f837e672a513c075f96315f8890af8c1fcee1513d8f7b40a13e0f7b50a13d8
+f7b60a13c4f7b70a0ef70c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b0
+0af839fcf41513d8f7b40a13e0f7b50a13d8f7b60a13c4f7b70a0ef7b781b16fd0f8
+bfad12b7a478e7f837e672a5ccd4d0a313a180f962f7c315f88d0afbd7fb6b15136d
+80f7b40a137180f8920a136d80f7b60a136380f7b70a0efc20f861f74b01b2f71003
+f70df91815f7af0a0efc3fe4f91815f78c0a0e2b0ef8280e3e0ef7350efb9b0efbee
+0efc410efb310efc0c0efc6a0efccd0e0efb95f773c701b3f79603f7a3f773152a0a
+0efb95f773c701b3f79603f7a3f773152a0a0efb31f7b3bb01f80ef7b3159898a097
+948891801ffbe0067f7e7a7b829185941f0e5cf782bc01cdf78215f8280698989f97
+948893801ffc28067f7d777f838e82961f0ef727f782bc01bcf78215f9040698989f
+97948893801ffd04067f7d777f838e82961f0ef7dbf782bc01bcf78215f9c2069898
+9f97948893801ffdc2067f7d777f838e82961f0efbd1c7b2cab203f75dfb6015faba
+64feba074c16faba64feba070efb01fb2eb7c9b701f876fb0215fc715ff87106f72a
+04fc715ff871060efbdbf88fe8f703a301d4b203f71ff88f15f8930a0efbdbf86aa3
+f703e801f730b203f715f94e15290a0efbdbfb19a3f703e801f730b203f715ea1529
+0a0efbdbf86aa4f702e801ff00484ccdb203ff008a4ccdf94e15f8940a0efb70f890
+e8f703a301bbb2f70ab203f7a3f89015f8930afb3116f8930a0efb70f86aa3f703e8
+01f718b2f70ab203f4f94e15290af73116290a0efb70fb1aa3f703e801f718b2f70a
+b203f4e915290af73116290a0efb72f86aa4f702e801ff00314cccb2ff00750001b2
+03ff010f4cccf94e15ffffd8000171644f1f8b45ff003bffff5bc780ff0006ccceff
+0005e666ff0001999aff00093334fffffc9998ff0009e6665798ffffde0001b88ba0
+8ba2ff0010ffff919e8d9d8ea5ff000980008bff001f800008a775a06c1effff6400
+0116f8950a0e84f81beff76e7601f7c09d03f7c9f94d1571786e6c1f8b40974da359
+64a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b8b
+fb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a26d
+1f498b537d6070a3bc97c98bd708ab77a7731e0e848beef7b8eff7627712f79ce456
+9c13e8f8acf84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77a77371
+786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc298b4a5
+8b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc298b6a6
+0813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27ecc8b08
+a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37ecd8b08
+a9a3a0a71f0efb88f708f77801c9f77803c9f77a154cbe58cacabebecaca58be4c4c
+58584c1e0efb70dff7bc01d4f79c03d4df15f79cf728fb9cf728050efc0b81f501c4
+f503c4b615210a0efb3f81f501c4f5eef503f79ab615210afb6116210a0ef72e81f5
+01c4f5f733f5f732f503c4b615210af79d16210af79c16210a0efc0bf769f501c4f5
+03c4f79e15210a0efc6a0ef7d07fa8f764aabaaaf72ab09eaa01c4c1f719acf0c2f7
+18acc3bef71da903f9fcf73815f8960afb0ffb2715f8970afbd0cd15230a549a1524
+0a7df83b15250afb91fb0f15260a0ef8f27fa8f764aabaaaf72ab09eaa01c4c1f719
+acf0c2f718acc3bef71da9b7bef71da9031c046ef73815d55b9d644053373f4daf5d
+c1dfb7f704cb1efb0ffb2715707aa5b3cbbad9b89da67c5c57672d521ffb1ff72715
+f8960afb0ffb2715f8970afbd0cd15230a549a15240a7df83b15250afb91fb0f1526
+0a0efbeef86ff74b01d4f71003f72ff92615f7af0a0efb6af86ff74b01d4f79403f7
+b3f92615f7af0afb1816f7af0a0e35f86ff74b01f833f92615f7af0afb1616f7af0a
+fb1616f7af0a0efbf3f874f74501c2f71403d6f92015f88a0a0efb79f874f74501b9
+f78a03cdf92015f88a0af70b16f88a0a0e2cf874f74501f7e7f92015f88a0afb1f16
+f88a0afb1116f88a0a0efb7cf730f76b15f8980a0efb7cf763f76b15f8990a0e765d
+f5f704f5f0f5019af5ecf5e8f503f76e9215210af75bf76d15210afc268c15210af7
+5df76315210affff706666a415f748ffff113333ffff4e199afb80ff0018999affff
+ed6666ff00ac999af779ff00c08000ffff008000ff00189998ff0012999affff3a19
+9aff01068000f75cff01096668ffffe76666ff00128000ffff3d6668fffefdb334ff
+ff514cccff00e7cccd050efb0f83f5f8c47701e6f5d9f503f7dcf92815200a56fcfb
+15210afb17f8f915200a56fcfb15210a0efb2981f5f81676f7597712b9cfbef549a7
+e7d613f6f706f8ae158bff00109998ff00146666ff0011199cff001d999aff000a19
+98ff00008000ffffbc199cff000fb333ffffdab332ff0009cccdffffa86666923e91
+308d778b858d84978b958b8e938c97ff0000999aff0008199aff0000e666ff001780
+00ff00033333ff0027333208ff0002cccdff00084cceff0003b333ff00086666ff00
+04cccdff0008800094999f9aa29abaaabfb68bd38bff003ee668ffffce3334ff002d
+e664ffffb0e666ff000b6668fffff73332ff001dccccffffe9b33499768b788b72ff
+fff31998fffff7cccdffffdd4cd008ffffe4333385ffffe7666681ffffee999affff
+f299986d7576738b68086ba4849b9f9f96a01e8b978890878f08879089908b990813
+fabefc8315430aff006de666f8a815ff001e3334ffffecccccff0013e666ffffde80
+008bffffdfb3348b617e6c636afffff5999afffff78000fffff74cccfffff78000ff
+fff8999afffff7999aff0001199aff0009b332ff00011999ff000a199aff00014ccd
+ff000a999aff00098000ff00518000ff000ee666ff002cb334ff00018000ff003bcc
+cc080efb40f918b701f818f94415fbf45ff7f4060e94ff0056199aff00394cccff01
+26b334ff00394ccc01ff0055199aff0035e666ff0070199aff0035e666ff006a199a
+ff0035e66603ff01a9999aff0052b33315ffffe3ccccffffe06666ffffd46666ffff
+f919998bffffdb33338bfffff33334ff000a4ccefffff4e666ff000e80008bff0020
+80008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ffffc866
+66ff00214cce8b978bff000cccccff000966668bff000f66678bff00223333ffffd6
+199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f6666ff
+0000cccdff001033348b08ff001d1998ff001de668ff0005e666ff0019b333ff0008
+8000fffffa1998ff00113333ffffe8e6681fffffe3cccc8bfffff23334ffffe4999a
+ffffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff002233338bff0017
+199908ff00148000fffff33334ff00096667fffff09998fffff0999afffff5b334ff
+fff09999791e8bffffe9cccdff00104cccffffe8e667ff00036666ffffdeb333ffff
+da6668ff000f6666fffff09998ff001c3333ffffe2e6688b08ffffeb8000fffff84c
+ccfffff24ccd7fffffe64ccdff001b4cccfffffa199aff0029e6681fff000ccccc8b
+97ffffff3333ff000b199afffffd666608fbda16ffffe3ccceffffe06666ffffd466
+67fffff919998bffffdb33338bfffff33334ff000a4ccdfffff4e666ff000e80008b
+ff002080008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ff
+ffc86666ff00214ccd8b978bff000ccccdff000966668bff000f66678bff00223333
+ffffd6199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f
+6667ff0000cccdff001033338b08ff001d199aff001de666ff0005e666ff0019b333
+ff00088000fffffa199aff00113333ffffe8e6661fffffe3cccd8bfffff23333ffff
+e4999affffd8b333ffffeee666ff0001b333ff0019b334ff000e999aff002233338b
+ff0017199908ff00148000fffff33333ff00096667fffff0999afffff09999fffff5
+b334fffff09999791e8bffffe9cccdff00104cccffffe8e667ff00036667ffffdeb3
+33ffffda6666ff000f6666fffff09999ff001c3333ffffe2e6678b08ffffeb8000ff
+fff84ccdfffff24ccd7fffffe64ccdff001b4ccdfffffa199aff0029e6661fff000c
+cccd8b97ffffff3333ff000b199afffffd666608f73af7f415ffffe3ccccffffe066
+66ffffd46667fffff9199a8bffffdb33328bfffff33334ff000a4ccdfffff4e666ff
+000e80008bff002080008b91ff00326666ff00156666ff00268000ff00156666ffff
+deb33491ffffc86666ff00214cce8b978bff000cccccff000966668bff000f66668b
+ff00223334ffffd6199aff0008999affffe2e666ff001f999a08ff000f6666ff0002
+9998ff000f6666ff0000ccceff001033348b08ff001d199aff001de666ff0005e666
+ff0019b334ff00088000fffffa199aff00113332ffffe8e6661fffffe3cccc8bffff
+f23334ffffe4999affffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff
+002233328bff0017199c08ff00148000fffff33334ff00096664fffff09998fffff0
+999afffff5b334fffff0999c791e8bffffe9ccccff00104cccffffe8e666ff000366
+66ffffdeb332ffffda6667ff000f6668fffff0999aff001c3332ffffe2e6668b08ff
+ffeb8000fffff84ccdfffff24cce7fffffe64cccff001b4ccdfffffa199aff0029e6
+661fff000ccccd8b97ffffff3332ff000b199afffffd6668080efcbbf8ed7701f774
+f8ed15fc5efd23b48bf85ff923050ef76c81f5f8a6ac12b9cfa9f546ace7deaccfa9
+f546ace7de13e6c0f87ef8d015490a13e740a9fca515430afc2af8a515f89a0a13ee
+40f89b0a13f640a9fca515430a0edb83f5f8a4ac12b9cfa9f546ace7dee4f513e6f8
+a7f92815200a56fcfb15210afc00f8a315f89a0a13eef89b0a13f6a9fca515430a0e
+b581f5f8a4ac12e6f5becfa9f546ace7de13f2f724f92615200a56fcfb15210af775
+f8a315f89a0a13f6f89b0a13faa9fca515430a0efb31f7d8e0a77701f796b103cef7
+e515b283b786ba8bbc8bbe91be9854fb5468fba68b8a088e85ae8c058b8ba5f7a0d6
+f7918e958f9a8b9708948891867671728b1e68856687658b4f8b4d94519e080e92fb
+7cacf875f80168ac12f3bddcf7cafbcabd13b4f77ff8d215fd7307707a8074747992
+aa1ef97307aa9d92a21ea29c80701f62d21513d4468b4e8b5c8d0813b489898b7805
+868f888f1ea58905b3889a828b6d08fd73078b6d7c82638808718905878788861f8b
+788d8905ba8dc88bd08bd08bc68bbc89088d8d8b9e0590888e871e708d05618e7f96
+8ba708f8520713d89489938a9a8b08f726ddccf71ada51e2fb181f408b5089708b08
+0efc0cfb19a4f702e8f763f512ff002a4cccb2ffffe5b334f513f0ff006c4ccdea15
+f8950a13e8ffffcab333f79815430a0efbb4f7fba3f7ada301aac6f713c603f72ef9
+2c15f89c0a88fbc515f89d0a0efc25f801a8f761a0d7c512d3c559bb13f0f0f98615
+f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbb4f801a8d1adf7527701
+f748bf03f748ff027db33415f89e0affff3a4ccc04f89f0a0efbb4f7fba6f739a6d1
+ae01f75fc403f75ff86215f8a00a0efbb4f7fba3f729a3f7059e01b8c0f70bc403f7
+6df85b15f8a10ac49015f8a20a0efbb4f919b112b6a0839d9fad13b0f703f91915f8
+a30a13d0f8a40a0efbb4f7fba5f7a9a512babd68bcecba6ac513d8f733f92a15f8a5
+0aeb6215f8a60a13e4f8a70a242915f8a80a0efbb4f7fb9ef705a4f728a301b3c3f7
+0bc303ebf8e415f8a90a538615f8aa0a0efbb4f87cb201f71bb203f742f8a315f664
+202064f621b2f5f5b2070efbb4f87cb201aef78203f7a5f8a315fb8264f782060efb
+b4f86eadb2ad01b2f77a03f7a1f8d915fb7a69f77a066404fb7a69f77a060efc22af
+c003aff89c15f8ab0a0efc22f700c103f736f89e15f8ac0a0efb7df801a8f75da17d
+ad12d1bbf715bb13b8f713f8c6159ea2ad9da08b08aa9a7a581f2c078b6289886989
+87838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a
+8f918c9a8693638d838e8bb408f407ce73a45d1e678bffffd74ccdffffec4cccffff
+e7b333ffffdcb33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b
+0813d8f8360a0efbb4fb09a3f7ada301aac6f713c603f72ef75015f89c0a88fbc515
+f89d0a0efbb4fb03a801f729c103f71bf72515978d826b1ffb16078b586c88638986
+838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d76
+8e8bbe08f78307fffffab33390fffff8999afffffde666fffffab333fffffd199a5f
+70717f5c7a8b7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b08
+0efbb4fb04abf79aa912bac0efc97ba313f0d4f70315958b998e8e9dff00014ccdff
+0007e666fffffd3333ff000ccccdff00038000ff00084ccd90979794aa8b9d8bab84
+8b5c8b5573745e675b6665618b5b08f7620613e8ff00088000ff001ab333ff000633
+34ff001f999aff00044cccff0023b333fffffab334ff0003b33383ff0001999affff
+f54cccffffffb333806f7d646c8b08380694ac9aa6b5a90813f09f0a0efbb4fb0aa9
+f71ca6f6a912b9bde5c66ac913f8f74ef72815ad0a13f4a3be87524b5f7e6e1f6b8b
+fffff7b333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b333ffff
+f38000fffff7199afffff2b333ffffe08000ff0046999afffff4b333ff001a3333db
+c6b9d01f8bc55ca66a8e0813f8a20a0efbb4fb03a8d1ad01f748bf03f748ff00a1b3
+3315ffff744ccd2907ff00068000ff00118000ff00344ccdff0049b333ff00273333
+ff0030800008ffff3a4ccd048b627e88638986838c7c8f85a98cff000cb3338bff00
+234ccd8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd07
+91ad538b8bf74805ff0008e666fffff3999aff0001199afffff9b3331efffffcb333
+8bfffff6b333ffffff8000fffffee667ffffff4ccdfffff0b333fffff6e666fffff4
+9999fffff4cccd82fffff58000ffffdce66762ffffd43333ffffcbcccdffffdecccc
+ffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9b333fffffd
+666783fffffae667ffffebcccdff001a99998b08ff0076cccd060efbb4fb09a6f739
+a6d1ae01f75fc403f75f7d15f8a00a0efbb4fb09a3f729a3f7059e01b1c0f70bc403
+f7667615f8a10ac49015f8a20a0efbb4f73db001f703f73d15ef06715e53fb1068fb
+0308ad06aaf4c4f70ec0e608fb42067b868c8f1f79068a718463866f08a0880597bb
+9291a78b080efbb4fb09a5f7a9a512b4bd68bcecba6ac513d8f72df74e15f8a50aeb
+6215f8a60a13e4f8a70a242915f8a80a0efbb4fb099ef705a4f728a301acc3f70bc3
+03e4f70815f8a90a538615f8aa0a0efbb496b201f71ab203f741bd15f664202164f5
+21b2f5f6b2070efbb496b201aef78203f7a5bd15fb8264f782060efbb488adb1ae01
+b2f77a03f7a1f315fb7a68f77a066504fb7a69f77a060efc22afc003afba15f8ab0a
+0efc22f700c103f736ba15f8ac0a0efbb4fb0aabf772a401aabff701c103f754a515
+980ab6fb24159e8b9e979495ff0000999a93fffffcb332ff00054ccdfffff8b334ff
+0002b33388888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080efbaafb09aef704aad6a401adc1f710c4
+03f7383915728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cccff
+00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012cccdffffef6666ff00
+1be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b334fffff866
+68ff00064cccfffff74ccc8b0878756d7a658b08bbf72315f82c0a0efbb4fb09a4f7
+78a401a2c6f720c603f72cf73515f8ad0ad1fb3615f8370a0efbb4fb04a1f775a101
+9ef7a603ff00e83333e815a7ff0023e666ff0004b332ff00044ccdff001c199aff00
+01cccd8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333
+fffff7cccdfffff2cccdffffed3333088b8b8a8a63530867c4057f9f8b92a88c8f8f
+8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3333ff00
+011999fffffd999aff001a999affffda333308ff003833333b058888ffffcecccd51
+8b8bffffe19999ffffdc8000fffffdb334fffffb4ccdffffe3e666fffffe33338787
+8b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89b
+a09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f
+8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b333ff00254ccd
+08ffffcbcccdd5050efbb4fb09a4d6aaf704ae01adc4f710c103f71ff71215a48b9f
+7f9a7597788f728b728b898b868a8708fb488d05ff0000b333ffffb88000ff00134c
+cdffffc48000e08bff0055b3338bff002c4ccdd28bd58bff002b6666fffff5ccccff
+0027cccdffffe46667ff00184ccdffffed3333ff0010999affffe4199aff0008e666
+ffffdd80008b5d8b5d747168ff0003b333fffff64ccdff00079999fffff9b333ff00
+08b3348b089ea1a99cb18b085bfb2315f82d0a0efbb4fb04a2f766add1a001c2bcf7
+03bc03f3f75015f8ae0a0efba9fb04a8f768a5d1a001c3bb03c36615f8af0a0efc46
+fb05a1f7d0a001c2bc03c26715f7970a0efb02fb03a8f75da17dad12cdbbf705bbf7
+05bb141c13bcf70fe115f8b00a13dcf8360a0efb91fb03a8f75da17dad12d1bbf715
+bb13b8f713e115f8b10a13d8f8360a0efbb6fb82a8f1a5f75ca17aaa12c3bbf716c1
+13dcf3fb3715f8b20a13ecf8380af71304ed0713dcf8390a0efbeafb0aa4f779a412
+a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a0a0efc19fb0ab3f760
+a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a0efb16f7b8bcf784b0
+12a4e7f700d2d9a57ea613f4f7937a15d78bc5c6a0d20872920579ffffcde666ffff
+de999affffe48000ffffda6666fffff6800008ff00a1199a07acb8cc971e918b938a
+9080917c99849d8b089f98a29ea2779d6c1f638b6951766c08898b8de37b8b05858b
+84888187707e80866281089071058f8c8f8b8f8b089b98836d1fffff30cccd0743a2
+67ff005be6678bff00a04ccd8bf725c1f712e98bbc8bcd61923208a68d0513f87df7
+3971898b8205808889861e7c8b6aa4588b08fb1b20fb14fb571ffb4de4fb13f7211e
+0efb168aaaf76db4bdb4d476f718b470a812f707e0f778a713fbf7d6f80f15fb0ef7
+2a06a69b92a21ed506d08ba9539b3f08a78f76f73dfb578b388b0513f77dfb0d8d8b
+1f13fb8a898b780513f7868f888f1eaa06b89580661ffb2a2f62e7592f62e7fb3f07
+6a7b7e611e7006868787861f8b778c89058be78db4b1ee898b1e8d8d8b9f0590878f
+871e6f06607c9ba91ff73ff70eb4fb0ebdf70e070efb167ec094b4f72db4bdb4f750
+b7019dd1c0d803f72fe515fffffd66668b88ffffffcccdfffffcb334ffffffb333ff
+00019999ff0001199aff0001b333ff00013333ff0001999aff00013333ff0020199a
+ff0018b333ff00188000ff002a3333ff0007ccccff0053199a08ff007e999ab4ffff
+83cccd06ff00003334ff0006199a8bff000666668bff0006800008aaf710b4fb10ae
+07e2b4cdb91ea18b9a80987f978094839a8b08a39c9aa4ae5296741f568b5e786867
+ffffcc8000ffffcd8000ffffe8999affffcd6666fffffd3333ffffb4199a08ffff9e
+b33362ec592a62ff0060199a0688ffffc5999afffff43333ffffc23333ffffd8b333
+ffffd63333fffffa199afffff98000fffffb8000fffffb999afffffb4cccfffffc19
+99ffffe33334fffff19999ffffe7e666ffffeb999a8bffffe7999a087e987f999ea3
+97a696949cae1ea68ba47ea57ca97aab7ab28bd58bb9b09ebf08849105726850846d
+8b708b7a937997759a6f9a4d8b080ef7e380c156a679a6f785abd4b07ca7f739a474
+ab12efd7f744d5b0d056c0e1a17bc5f72fcb6aa21311c0f744f8d5159c919f919c8b
+08c6ca73fb0c255b5f381f768b7f8e7f8d083ffb80151338e6717f7b641e71068789
+88871f8b798c89058be48dadb0de898b1e8c8d8b9d058f888e871e7106667b98a81f
+f7660798859686a48bff006580008bff00368000ff0030b334ff0019b334ff00384c
+cc08ff00384cccfbb3061390c647a36fb71eff002099988bff001e4cd0ff000d3333
+ff001ce664ff00184ccd08ff00013334ffffe5800005958d948b908b918b918b9189
+081354c6a385a887ad8bc18be9a38bea8bd849a83ead57a173978bb38bc1b79cb08b
+081354c59f8bc37fa82608a28c7ff706057996599a5a8b3f8b4d5a8b4a8b44b37ad2
+6d081350ead869a4708b628b5a5975668b688b6e9c819572a382b989a108758aff00
+034cccffffb5b333051399e0ffffec6668fffff33332ffffef6664fffffb199affff
+ebe6688b087184a7c61ff786e50795978e931f9e078f898e871e1319d021f7260656
+798b78058bffffc0b334fffff2e666ffffdbb3325dfffff83334ff00044cce9dff00
+01ccccff0011e6668bff001080008bc26cf2fb328b758b698a5a8808133ae65d8953
+887e8b087907888b87911e8f8ba38c928b089ca486661f0efb1781aaf790b3f2b3f7
+03b301ff00df3333ff005a999903f826f8f315fbcb8b468b058b76967f948408bd06
+ff003b999a8bff004619998aff00033333fb0208ffff35199a068b76967f948408ff
+00b5333306fffff46666ffffa13334ffffbd6666fffff7cccc338b08838b708b058b
+76967f9484089206a58aff0024e666fffff4e666ff000e199affffe9199a08f6fb33
+05aa5db460c78b9a8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87
+935e8b73ae70b508fb12f75705ff0026199aff000c6666ff004b3332ff001e8000ff
+00108000ff0050199a08ff006c333406829280978ba008ffffaae66606fffffe8000
+ff002d8000ffffeee666ff00191998ffffddb334ff0020666888ff0002ccccfffffc
+e666ff0002b334fffffce667ff0002800008ff00a7333306829280978ba0080e322c
+b9b2ba84a6f7efaee9b3cfa9a67712b2e1f770da139f80a95a155df85cb907fb21f7
+4115f7050a13df80f7060a80fffef84ccc157c0a13bf80f7070a13df807e0a0efb16
+80aef764afc1aff76eae01c7e1f79ead039af7d615b8068a808b828b808b848b828c
+8408648b76718b81c98b059bfb2cdb30f7128bc18bb59ba98d9bb496bb94bf81907f
+8d7f8c7544754e418b3d8b53d17ff71e08f7458b9eaffb5a8b8bae8b9ef76c8b9eaf
+fb7d8b0596f70cb8eddd8bd88baa459c45968a958c969087c285be80bb688d5f9954
+8bfb0b8b342b78fb3108708b7771050ef86788a6f7edadf729a901f884d8f7f6dc03
+fa33f79c15fb0050fb18fb041e708b799473a384847977828908b6f74d05aaf718c4
+a3b98b08c3b4723b1ffbe0fc5b15a1b49ce99cd3a37ea385b18b08f742ecf739f4db
+53c32f1f608b507d5c656f73686c6efb110863fb460571fb037455786c08927b05fb
+b5f8c515ff0013999aff00643334ff0011199aff00403332ff00143332ff002d999a
+08ff0005199a06f724c8fb01fb08fb1e58fb34fb62498a909c1f8b918b8e8c8f08ff
+0046e666ff0200666815ffffb83334fffff5b330ffffbd666672ffffb58000ffffd4
+e66808957705caff001ce666c5ff001ab332c9ff000be668ffffe48000ffffcf999a
+ffffe94ccdffffbeccccffffee3333ffffa5199a0854fba805856e7d7f698b087006
+878b88878a8708887af7088d05ab8b9e89de8b08f75bf707f730f743f722fb00f702
+fb1f1ffffff780008bfffff7999affffffccccfffff7b332ffffffb334ff0013e668
+ff00224cccff00176666ff00168000ff001ee666ff0017b334088698055a75ffffd6
+199a6fffffdcccccffffcf6668080efb168aa6f785abd5b5bcb5dca474ab12ead7f7
+43d413f7f85cf88e15ffffd5199a06fffff14cccff00356668ffffd1ccceff003d99
+98ffff85cccc8b768b6a8a5a880813fb5d895d887e8b087907888c87911e8f8b978c
+938b089ca486661f6349078b75967e958408b85a49068b75967e958408b8fbc50671
+7e7b641e7d06878888871f8b798c89058bd98dadb0de898b1e8d8d8b9d058f868e87
+1e7306657c98a81ff7660797859786a48bff006566668bc1ff00314cccff0019199a
+ff0038b33408ff004c800006819280988ba1086106ff00038000ff00108000ff0001
+8000ff001066668bff000f199a088cc507819280988ba108fbb116d20713f79c919f
+919b8bbb8bff00314cccfffff09998ff0011ccceffffbc666808ffff57e6666115ff
+00ae666606ff0000666685ff00003334fffff9999a8bfffff966668bfffff56666ff
+ffff8000818afffff6999a08ffff528000066104ff00a44ccc06ffffedb334ffffcc
+e666ffffd6e666ffffe9199affffc4199a8b768b7e8e808d080ef7027facf783a4f7
+13abf784a401addaf7b6dcf703d603f92ff96a15f8b30ad3f8ca15f8b40a772415f8
+b50af7c6fc6515c78baea8aaab0871a105716e64767c8b087a6d98d5eabec4b5919a
+87771f8b78888c8b7f0880927fa795a993a3ac74b0433b2f39fb0162b64acc1e0ef7
+027da3f78ea2f715abf784a412addaf7bfae89d2bbd770b013f880f92ff96a15f8b3
+0ad3f8ca15f8b40a772415f8b50af7c8fc671513fb00d1c4acc71f8baf5ea956a579
+93839a8b9f08a29ba2aa1e13fa80a6a26b5f1fb0888ed2056fa272936a8b498b536d
+8b538b6f9b79b7720813fd00a67bab768b6d0868737d726072adbc1e68898f2a05a9
+8bac83ad8b080ebe81b4f8e2b001b0e6dfadf7d4ac03f768ff005c333315ffffc74c
+cdff003b1999ffffe4b333ff005d66668bff00594ccd8bff00564cccff0016e666ff
+0042ccceff00248000ff002ce66693ff0009ccccff00083334ff0009199cff000866
+66ff0008199808f725fccd15ec8be4b9cfe486948491808b443d476c2e8bffffd519
+9a8bffffdb666697ffffe18000ff0014800008ff020b800007ff0021b334ff001719
+98ff0022ccccff000ae668ff002080008bf71e8bc239a5359787ff0009b3348eff00
+0b4ccc9186bf83bb82c258905eb3fb0f8b368b446c505508ffffbd999affffc33334
+ffffd86666ffffa319988bffff97b3348bfb35f4fb38f76b8b080ef76581b6f80ca9
+f721a901b7adf717ad95e5f812a803f8b48115ec8bcdb8c7e387ff0007999a82ff00
+0599997fff0001cccd49386375368b08fb1138f714f71df768f709cdda1ff7008bbf
+4aa52e9689ff000a1998ff00008000ff0007e668ff00058000fffffd6668ff0030e6
+66fffffbe664ff00314ccefffff2b334ff0033cccc6e916dabfb1e8bfb338bfb11fb
+198bfb558bffffb1cccdff001c199affffb2b333ff0037e666ffffc7800008ff002f
+ccccffffcfb333ff00498000ffffde4ccdff0055b3348b08fbe3f89a159b0afb398c
+159c0a0ef7347ea7f786a6f70facf783a401c2dbf704d6ebddf71adb03f92ff96a15
+f8b30a95f83f15f8b60af7e5fbc015c4a3e8cbb1935d636278fb07487b6b97db1e39
+8615689f3be8e5e8e1f2ba73c832fb0a4a233d1e0ef7347cb2f764bef710acf783a4
+12c2dbf704d6edda65dc13fcf92ff96a15f8b30a95f83f15f8b60af806fb641513fd
+909f8fa08b968b97899f698b6a8b6c786262089f79059a9d9794938b8d8b8e888b84
+8b868981887f086efb030513fe898086708b7e8b6a997cb98bad8baf9cb0b5867c89
+828b898b7f8e76ac8bac8baa9fb4b408779c057d7a7e81848b888b888e8b928b918d
+948e9708bdf7660577885f857f8b816277358b8b77365065788b808b89938b9d8b95
+8d9c8f9a080ef76389acf78bb1e8a9f70db36cac75a912b7adf717adf729e0f74cac
+b0aa13f3e0f8cef7aa15e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca9
+8591768b85858854887e368b082ef76606a39795a31ecc06f58ba463a146978b968d
+938efffffaccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999cff
+00024cccfffffeccccff0000b334fffffd99988bffffee8000fffffc9998fffffb33
+34ffffff6668ffffe74ccc8b08ffff00b3340613ebe08b8b3c8c598c85858b769185
+d1889c868b3808fbf8078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba08591458e7a908bde08f73007fba0f77a15697368626173adae1e13e7e0af
+a2afb6b89f646a1efb398c159c0a0e7a46c2a976f886c001e9c7d0c4f755d303f8b5
+f73d158bf70d36ddfb01ad6066596e596f6baa75b78bb88bbaa7aeb0a5aa74ac73b3
+8bc38bb3b9a7b7087e8f057c716e7c6e8b648b67a170a84d4a245e8b228bfb07f715
+588b2c8b707875777d084abd2c409680aaa3cc5805bfbeecb88bde8bba6bb66eada5
+9cb1a3ab8bec8bc8fb128b358b396848465d70a565a7648b08548b615e6a66089583
+059c9fa29aa58bba8bb666a76bacdcf74bb18bf750080ef73189acf7b6b5f78fac01
+f5ff00504ccdff0041b333a8f7eae003f958f70e15f825078bde9c90d18e91918ba0
+85915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb34fbeaf73407
+8bde9c90d18e91918ba085915a8a488a588b598b398c598c85858b769185d1889c86
+8b3808fc25078b387a86458885858b769185bc8cdb8cbe8bbd8bd08abd8a91918ba0
+8591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185bc8ca98cbe8b
+bd8ba88abd8a91918ba08591458e7a908bde08fffdf64ccc3515ff00000001ff0015
+6666ff0000b333ff01ae999affffffcccdf70c08ff004033338b8cfcd0054f8cff00
+364ccd894f8c080e537fc0f7f4bcf75ca9a57712f7d1db80d913f4b4168f7fd4a3c3
+f78405d9eec7b5ae8ba08b9d7d8b6c8b798673836c0861fb350513f8f8b70a13f493
+a891aa8ba08bc76d9d658b578b4a7430fb0008e4f817758b0575827c8777877a8865
+857b8b08877205888d898e1eac8f05989281781f8b81897e877b080e537fc0f7f4bc
+f75ca9a57712f7d1db80d913f4ff00f48000ff022c999815ff00208000ff008d6668
+758b0575827c8777877a8865857b8b08877205888d898e1eac8f05989281781f8b81
+897e877b08fffff7199affffd9ccccffff90e666ffffe833348b63ff00656666ff00
+15b334ffff8c999afffe0e4ccc8f7fd4a3c3f78405d9eec7b5ae8ba08b9d7d8b6c8b
+798673836c0861fb350513f8f8b70a13f493a891aa8ba08bc76d9d658b578b4a7430
+fb0008ff002ecccdff00cb8000ff00803333ff001b80008bb305ffffd88000fffff7
+8000ffffd88000fffff79998ffffd88000fffff78000080e577fd3a9caf73a9ff786
+d801bdadf789c8bccd03bdf876158bfb18eb77d880088c9f0550967f8e6ca86fa581
+a98ba88bd2c9b6d88bcc8be165b079084d41057b7a87778b758b739270987508d6fb
+06058f85966f8b708b483d7a778b7b8b7d91799308fb0ecd057e927e917f8b7f8b7c
+86767f083e5c997b05a4969991998b988b98879f7f08f71d400599839888958b998b
+9a949892f73aee8dc18bb08bcafb07f7178bbd8b99919e9a9c08dee90532bd2ea55a
+8bfb148b363e8b28080efb9281bff8a8af01e4daeab603f73cf7ea15f70a07e5ff00
+143333a3ff001ecccdff00183333ff0013cccd73691e8b526657585308acfbc91564
+8ab7d71f8bf722979605d7d1bdca8bda08b1fffff93334b8ffffb7ccccffffbf199a
+ffffb6e66665fb331efb1f0772756f737277089875ccc18bfb050520a46dc91eb48b
+bfa6b2c5fffffc199aff0008199afffffa3332ff00066666fffff6b334ff00038000
+6a616a827c8b080ef82989ac6cb2f8cab36cac12f1dbff0040e666ff001e199af829
+bc132ef93ef89415fbe207788b80841e838b809d6eb008fbebf84e05139efb998d05
+85858b769185b688a968917108fc35078b327a85458485858b76918508134ebc8cde
+8cb78b08139eb68bdb8abd8a91918ba0859145927a8f8be608f7cb078bb3fffffe80
+00ff0012b334ff00068000ff00034ccc8f8dff000fb334ffffe9ccccff00114cccff
+ffea333408f7f2fc4c05ff000b8000fffff16666ff000b8000fffff4999a9b8b0899
+94979e1ff877078be49c91d19291918ba0859108132efb048905131e608b798c598c
+85858b76918508d1849c878b3008136efffe4ce666fc6d15ffffbf199af8cacc06ff
+ffffcccdffffc71998ffffff8000fffe978002ff00009999ffff6b6666080ef7de81
+abb0b7d6a4f778a4f736a777ab128fd7d4b8f7d6b8d4d74cc6f720c613f7d0f75af7
+3c15f7a307a48c978f1e8e8b9083937e08f79afc4d059877a2859b8b08999d999e1f
+f87407f092a3b21e998b9176927e9479977ea18b089d9a97a5ab63a658337c60fb1b
+1ffbc2076e897f851e848b7f9e6ebc0813fbd0fb9bf84dfb188b898a0513f7d07807
+13fbd0869388901e9006ac8ba861917108fc2707268473641e7d8b85a08498829d7f
+98758b08797c7f716bb370be1fe39ab6f71b1ff93cfb011598999f94938792811ffb
+65067f7e7a7e849184941ff700f8211513f3b0326340444bba47dcff00531998ff00
+2ee668d1ccff0048199a66ff0046e6662f1fd1fb3615f8b80a0ec88aa8f794b1f7ba
+a57ba712dcadbfdcf77adc13def872f87215f8b90afb7afb5615cd8bd18db09cb59d
+ebc08bf48bbd7ab467ad5bb844904c8b0813eefb098bfb2f847686087807878e8890
+1eb5ff000166688bfffdb29998538b05868888861f8b788d89058bf72f8daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c99a91ffb195f15f8ba0a0ef709fb65c4b1b7
+f948af01b0ebd1adf7e1eb03f92ef7dd15660afc63ffff22cccd15ffffd5999aff00
+333334ffffe46666d58be98bff00708000ff001c6666ff004c9998ff0029999aff00
+2ee66808adfffe17199a15f89b07a8ff0013b334ff00208000ff00093334ff002080
+008b08f718f6fb02fb5efb473522fb061fffffd080008bffffd18000ff0010999a64
+ff001f8000080ef705acd9f86bd657c012a2abf716b7d8e013bca2f86f158bfb1af7
+368b8b5d8b807e838785089f7cabba0590928f938b958b9e80a16b9b0835b6057397
+76ab8bab08a19fdbeaf702a528fb411e8bfb058639543a0844bd05878e888c868b81
+8b8280797b084b559d7d0599959a92988b9c8b96839a8008ad6f05a096d9c7b5c1bc
+cb8dc18bec8bc387d47fda08c3af0513dc96929790958b9a8b9c849c7a08d348fb41
+fb0c95798f8b05a48b9781966cb9fb1762fb23f25708edda7ea00581877f847e8b4e
+8bc0f753fb03f72208f737f707fb25f712058591848d868b7f8b8084838408fb0936
+0573b087a160a10813bc71987091708b08fb073f41fb011f0ec885a675a8f794b1f7
+baa57ba712dcadbfdcf77adc132ff872f87215f8b90adc8c158bbd7ab467ad5bb844
+904c8b081377fb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998
+538b05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e71
+06637c99a91ff76807cf8ba885908408f2fb540513afa45cb865c68b9a8b9d8d958f
+0887a005668b6aac74b70820f76105b799e9c48bf4081367fc50fc5715f8ba0a0ef7
+2ff7afa37da0f7d29f12a1c94fa977a9f711d05ba813b2f779f91015728c909b478b
+568b49668b508b4cd46eb57ba880a27d8b598b607173688b688b6ab586b30813a88a
+936d880513a68f66917f8b5408a98c058c908b8e8a8d8d8a8c8a8e8a95859b82b58b
+d08bbebf8bc58bcc54a3599d0813b176925b9d8bba8baba2a5a88bb78ba06a945e08
+a88f05f81ffb68158c898b888b8908136080897f861e7d0613a0828389861f8b8305
+13609185058bb98d9fa0b7898b1e91910513a09307136090858d7e1e7d06838b8999
+899b0874f79e8b9105968e90911e9a0690978c901f8b938891398b056935652f6834
+08fb04f79d328b86858b83058b889089978a089b06918e867f1f8b898b8805853583
+2c85368a7d887b848b087d0613a07f8589861f8b830513609085058ba88d9ea0b289
+8b1e8e910513a09307136090818d841e7c06868a94991f91078fcb90cb90ccb22cc7
+fb238b8b8f8494888f8b958b8f8f8e918b8bccf736acdc080ef75cf7b9a0f7cca501
+f71fcf03f763f7e915f79c079c8e8f961eb606a18b9185975e08a29078e67283058c
+888c838c8b08fb7d068c8b8c938c8e0873937831a1850596b89291a08b08be06958f
+877b1ffb9d07798285751e7d06888989881f8b7e8c8a058bc88ca09fca8a8b1e8c8c
+8b98058e898d881e7d067484949a1ff8678e158407808a7f861e7d06828389861f8b
+839185058bb98d9fa0b7898b1e91918b930590848d7f1e7d06838b8999899b0874f7
+9e8b9105968e90911e9a0690978c901f8b938891398b056935652f683408fb04f79d
+328b86858b83058b889089978a089b06918e867f1f8b898b88058535832c8536897d
+897b848b087d067f8589861f8b839085058ba78d9ea1b2898b1e8e918b930590818d
+841e7c06868994991f910791cb8fcb8fccb32cc7fb238b8b8f8494888f8b958b8f8f
+8d9108eef787050ee48bb2f8cbb3977712cda9f8d3a91398f77db1153d8bf826f8cb
+dc8b05b0fcf1158fc396c496bf086d900577436e503e8b08fb7d067b828f941f8b90
+8e91919408f80af89b059fa78f958b968b92888e788b0813d87e8b788a6c8808fc4c
+0613b85c8b8e94668e87558143836208a9860513d8a0d09dbed68b08f77306928e89
+851f8b868884868408fc19fcb105868388838b8408819086991e0ef18bd0f8bfad12
+b7a478e7f837e672a513d8f85df70915f7b40a13e0f8920a13d8f7b60a13c4f7b70a
+0ef184adf8bfd012b7a572e6f837e778a413d8f784f8aa15fb036637248bfb0c08fb
+28f1fb19f75bf759f3f729f7181e8bf71434eafb00b00887bbf28b0513c4c08b9e8e
+9056ff00084cccfffffc6668ff00086668ffffff4cccff00084cccff00044ccc8bb4
+fffffdb334ff0027ccccfffffb4cccff0026333408fb6906808585821f93fb140513
+d8e74db24e8bfb0408fb1445fb0afb1ffb163bf5f7211e8bf700b3d4e7c00893f715
+059486907f1efb640613e08769885e8b63ff00074ccc87ff0008b3348b958f91c4a0
+84bc8b08ec060e3981a8f74ea7f746a801a9def7b0de03f705f77d15ef079ec8c6dd
+dbc852791e2407fbb06f15f80306f729fb09e1fb00fb102626fb10fb11f027f7101e
+d48bccaeb4bf08699605685e5873518b08394ec8a21f0efb06a07612acbd63ba77f7
+04f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb138bef
+f7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350f77ef7
+bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce13e0f7
+dff7b715f8210a13d0f8220a0efbc989adf7f7a9e9f70c01f0f70203f767ff01414c
+cc15bd8eff0048b3348b1eff00026666fffffb6666ff0000999afffffd999a1effff
+e080008145fffff58000ffffba8000fffff68000088d6db48705998a93808b5908fb
+88078b6f7bfffff633336cfffffacccd087f8905fffffc199affffff4ccdfffffce6
+66fffffdb3338b85088b748d89058bdc8dafb2dc898b1e8d8d8ba2058b91fffffbe6
+66ff0002199afffffc199aff0000e66608818d05ffffe26666ff0005e666ffffee99
+9aff0009199a8ba708fb08f882156aa670acaca6a6acac70a66a6a70706a1e0ef864
+81d3f7c0d801f72aacf5acf708adf4adf713acf5ac03f9cff7fe15b197587c1f8b56
+6f58776d72a56ab78bc1089c97c6b71efcdf16aa9d656f1f8b5064586f6b79ab76b7
+8bbe089e97c9b81ef7b416ac9b65701f8b506c54726874a971bc8bc0089f97c9b71e
+63fb8d15706f5f745e8b7a8b578f5db8a9afaedb8be108c479d048487742521e8b41
+9c4aa25e60694e74418a089441059d8bec8fe1dac73cc884af8bab8bc192c7d2ab65
+c163d18bb48bc197c4dbb95dd162e4890894d5054f8d4a9a51b7a2b7a2d08bd508af
+80e3433d802b6a1e8b3fa746aa5e726f606d528b578b61a171a3a5b4acdb8be108ad
+7fe542487640531e8b3fa245a65a080ecc36a9f71ca6f6a9d1a8f7957712f71bc1f7
+6bbde5c66ac913fe00f8a8f8ed15aa0a13ff006dfc3015f8bb0a13fe80f8bc0a13ff
+00f8bd0afc3bf81a15a60a0ecc34a9f71ca6f6a9d4abf79177a8a912bac0efc97ba3
+f714bde5c66ac913fe40f8a8f8ed15aa0afc895515f8be0a13ff40ab0a13fec09e0a
+13ff40ac0a13fe60f865fbfc15f8bb0a13fe50f8bc0a13fe60f8bd0a0ecc35a6f739
+a6d1aed9a8f7947701f722c1f7fac403f8a8f8ed15aa0a77fcd415f8a00afc3ef8bf
+15a60a0ecc36a6f739a6d1aed8abf79177a8a912bbc0efc97ba3f7b0c413fe40f8a8
+f8ed15aa0a78fcd315f8a00afc75f89d15f8be0a13ff40ab0a13fec09e0a13ff40ac
+0a0ecc36a6f739a6d1aed1a9f71ca6ee77a7a912b8bde5c66ac9f7abc413ff20f8a8
+f8ed15aa0a13ffa0fc197915ad0a13ff60a10a13ffa0a20af803fcc115f8a00a0ecc
+36a6f739a6d1aed9a8d1adf72b7701f73fbff7e1c403f8a8f8ed15aa0afc27fffffc
+b33415f89e0affff3a4ccc04f89f0af815fc2215f8a00a0ecc35a3f729a3f7059ed4
+a8f7947701f727c1f751c0f70bc403f8a8f8ed15aa0a7ffcdb15f8a10ac49015f8a2
+0afc7af8c115a60a0ecc36a3f729a3f7059ecea6f739a6d2779eae12f75ec4f716c0
+f70bc413fdc0f8a8f8ed15aa0afc08fb4715f8bf0a13fbc097dcf71b8b0513fdc08b
+8c0513fbc0f8c00af7fbfc2715f8a10ac49015f8a20a0ecc34a5f7a9a5d4a8f79577
+12f722c1f75bbd68bcecba6ac513f800f8a8f8ed15aa0a48fc0d1513fb00f8a50aeb
+6215f8a60a13fc80f8a70a242915f8a80afc08f88215a60a0ecc36a5f7a9a5cba9f7
+1ca6ef77a6a912bbbde5c66ac9f70abd68bcecba6ac513fe00f8a8f8ed15aa0a13ff
+00fc167815ad0a13fe80a10a13ff00a20af7d2fbf81513fe30f8a50aeb6215f8a60a
+13fe48f8a70a242915f8a80a0ecc35a5f7a9a5cfa6f739a6d2779eae12f75bc4f719
+bd68bcecba6ac513fa00f8a8f8ed15aa0afc0bfb4715f8bf0a13f60097dcf71b8b05
+13fa008b8c0513f600f8c00af7c2fb591513f2c0f8a50aeb6215f8a60a13f320f8a7
+0a242915f8a80a0ecc36a5f7a9a5f7f9779bb112b7a0839d9fadf7a2bd68bcecba6a
+c513e220f8a8f8ed15aa0a13d600fc628f15f8a30a13da00f8a40af823fc0f1513c2
+c0f8a50aeb6215f8a60a13c320f8a70a242915f8a80a0efb87f7d0a8f7947701f71f
+c103f8a8f8ed15aa0afc557615a60a0efbc089aaf8b3a901f702d703f74ed915f851
+078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e8989
+8b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084087e890586
+8a88888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d
+05649179938bac080e3d8baaf8aeaa01f700d7f72ad703f74cd915f8c10af77616f8
+51078ba89995b69208988e05908c8e8c8b91088b9f898d058b3e89661efb77066242
+8d8b1f89898b77058b858f8a8f8a08988805b2859e838b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f05
+8b90878e878c087e8d0563927a928bac080ef72d8baaf8aeaa01f702d7f72ad7f72b
+d703f74ed915f85107a8999cb61eaf06b49b7d6b1ffc51076d7d7a601e6706627b99
+ac1ff77616f85107a89a9cb61eae06b59b7d6b1ffc51076d7c7a601e6806617b99ac
+1ff77716f851078ba89a95b59208988e05908c8e8c8b91088b9f898d058b3e89651e
+fc580662418d8b1f89898b77058b858f8a908a08978805b5839b858b6b08fc51078b
+6d7b816184087e8905868a88888b86088b778d89058bd88db11ef85906b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0562927b928bac080ef778937696aaf8b0aa12f7
+02d71370f7f5f8ec15fb610662418d8b1f89898b77058b858f8a908a08978805b483
+9c858b6b08fc51078b6d7d815f84087e8905868a88888b86088b778d89058bd88db1
+b4d5898b1e8c8d8b9f058b90888e868c087e8d0562927b928bac08f85107a8999cb6
+1eaa069c8ba288917808f748fcab0513b0907b9382968b978b8f93919c08f74bf88c
+0598ad9099b390089d8e05908c918c8b90088b9f888e058b49897a7c288d8b1e8988
+8b7705878c88901eab8805a8899c867e6708fb1efc1a898bfb14f81a0582a88997ae
+8d08b38e05908e8f901f8b9d898e058b25896b1e0e8d9376f8dda901f70bf8ec1574
+3c8d8b1f89898b76058b878c89908a08a08805af8790879d5608f73afc8405907b94
+82968b978b9393919c08f74af88a0599b29196b190089d8e058f928d901f8ba0898d
+058b4089837b218d8b1e89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f778937696aaf8b3a912f912d713b0f70bf8ec15743c8d8b1f89898b76058b878c89
+908a08a08805af8790879d5608f73afc8405907b9482968b978b9393919c08f74af8
+8a0599b2909bb28b08a106b49c7d6b1ffc51078b6d7c8160840813707e8905868a88
+888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d0564
+9179938bac08f851078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d89
+661efb42067b218d8b1f89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f858937698aaf8aeaa12f910d7f72ad71378f95cd915f8c10afce5f89e15743c8d8b
+1f89898b76058b878c89908a08a08805af8790879d5608f73afc840513b8907b9482
+968b978b9393919c08f74af88a0599b2919bb18b089f06b19f7d6b1ffc510713788b
+6d7c816084087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0563927a928bac08f851078ba89995b69208988e
+05908c8e8c8b91088b9f898d058b3e89661efc22067b218d8b1f89898b7605878d88
+901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797ae8d08b38e0591
+8f8f901f8b9e898d058bfb0589741e0ef955937696aaf8b3a812f928d7f72bd7f72a
+d8137cf9aea815617b99ac1ff85507a89a9db61eae06b59b7c6b1ffc55076d7c7a60
+1ef74a6c158bf28db0b4d6898b1e8d8d8b9f0590868f861e8006617b99ac1ff85507
+a89a9db61e9706908f8d911f8b9e898d058b3c8966622c8d8b8b56896562448d8b8b
+3f896562448d8b1e7a8b5089838b7b8b308d838b088a888b7805878c88901eab06a6
+8ba4817e6708fb29fc1afb16f81a0583a8869caf8b08b306918f8f901f8b9c898e05
+7b8bfb0589848b7c8b3a8d848b088a888b7805878c88901ea0069c8ba285917808f7
+47fcab0513bc907b9482968b978b9393919c08f74ef8940597ad8f99af8b08ba06b4
+9b7c6b1ffc5507137c6d7d7a601e7f06868787861f8b778d89058bd88db1b4cf898b
+8bda8db1b4b8898b1eb8aa156706627b99ac1ff85507a8999db61eaf06b49b7c6b1f
+fc55076d7d7a601e0ef7a489aaf8b0aa01f702d7f7c7e303f7f1f8ec15fb5d066241
+8d8b1f89898b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef73d069ae6898b1f8d8d8ba105
+8d8a90861e798d05668e939b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+0ffb4405a26b8e88668808788905878a87881f8b758d89058bf7048d901e978bc98a
+a48a088d8d8ba1058d8990861e628e6aa672b008fb25f75905829885938b958b9391
+94929608f70bf73505a4ada1a3c48c928c8c8e8b8e088ba0888d058b34898780398d
+8b1e89898b76058b868e8a8e8a08a88905a689877e797308fb09fb32058684868688
+8b888b8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b
+8bfb0089871ffb37fc9e15f85107a8999cb61ea0069b89a889b25408f719fb4f0592
+8090848b818b868882858408fb14fb450577706c6a5785088106647999ac1f0eb989
+aaf8b3a901f7a3e303a6f8d7158b87908a95899b89a886b25408f719fb4f05928090
+848b818b868882858408fb14fb450576706a65548808868788871f8b758c89058bd5
+8d8f9ae6898b1e8d8d8ba1058d8b90861e798d05668e929b9ba108f70ff73e059192
+91928e8b8e8b9087908408f710fb4405a26b8d88668808788905878a87881f8b758d
+89058bf7048d901e978bc98aa48a088d8d8ba1058d8990861e628e6aa672b008fb25
+f75905819886938b958b939194929608f70bf73505a4ada1a3c48c928c8c8e8b8e08
+8ba0888d058b34898780398d8b1e89898b76058b868e8a8e8a08a88905a689877e79
+7308fb09fb320586848686888b888b8790879108fb01f7330578a58396aa8d08aa8d
+058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050ef7a38baaf8aeaa01
+f7a3e3f7d5d703f8e7f8cd15a606b3849d848b6b08fc51076d7c7a601e8206648f6c
+a573ae08fb25f75905829885938b958b939194929608f70bf73505a4ada1a0c48c08
+fccc95158b87908a95899b89a886b25408f719fb4f05928090848b818b8688828584
+08fb14fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d
+8ba1058d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b908790
+8408f710fb4405a26b8d88668808788905878a87881f8b758d89058bf7048d901ef7
+5606b4d6898b1f8c8d8b9f058b90878e868c087e8d05649179938bac08f851078ba8
+9995b69208998e05908c8e8c8b91088b9f8a8d058b3c89661efb650680398d8b1f89
+898b76058b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b
+8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb00
+898780368d8b1f8788050ef8838baaf8aeaa01f7a3e3f7d3d7f72ad703f8e7f8cd15
+a406b2859e838b6b08fc51076d7c7a601e830665906ca473ae08fb25f75905829885
+938b958b939194929608f70bf73505a4ada1a0c48c08f733fc7f15f8c10afd6bf889
+158b87908a95899b89a886b25408f719fb4f05928090848b818b868882858408fb14
+fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba105
+8d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+10fb4405a26b8d88668808788905878a87881f8b758d89058be78da41ef83606b4d4
+898b1f8e8d8b9f058b90868e878c087e8d0563927a928bac08f851078ba89995b692
+08988e05908c8f8c8b91088b9f888d058b3e89661efc450680398d8b1f89898b7605
+8b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b87908791
+08fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb0089878036
+8d8b1f8788050e3089aa6eb4f8a7a912f705d7f7a3a313b8f705f89f15fc57078b68
+86876589086a8905878888861f13788b760513b88d890513788bda8db21ef7670613
+b8abd1898b1fa0f747738f0513785ffb1d5d887a8b08fb1306727f8faa1ff853078b
+a89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77
+058b858f8a908a08978805b3849d848b6b080e8481b6f8b3ad01ade5f812a803f7d9
+8115ec8bcdb8c7e387ff0007999a82ff000599997fff0001cccd49386375368b08fb
+1138f714f71df768f709cdda1ff7008bbf4aa52e9689ff000a1998ff00008000ff00
+07e668ff00058000fffffd6668ff0030e666fffffbe664ff00314ccefffff2b334ff
+0033cccc6e916dabfb1e8bfb338bfb11fb198bfb558bffffb1cccdff001c199affff
+b2b333ff0037e666ffffc7800008ff002fcccdffffcfb333ff00498000ffffde4ccd
+ff0055b3338b080ee789aff8a8af01eed7f807e603f743f8a115b19d8ee0f70df727
+52fb8ffb0062fb08fb60fb017a93af1e65f89e1562418d8b1f89898b77058b85908a
+908a08968805b3849d848b6b08fc51078b6d7c816084087f8905868a87888b86088b
+778d89058bd88db11eb18bf70c89b18b08f74bf70df706f73ff754fb2cf713fb491f
+558b5289538b080ef7a0957694aaf8b3a9121360f769f8ec15fb2d8d89898b750588
+8d86921ea88a05a78a96888b630865fc5605886685866b89086b8905878789851f8b
+768d89058bc68db1b0c6898b1e8d8d8ba0058e8990851e6c8d05688d86948eac08ad
+f821f76cfc690513a08e858f83918b928b918f8f9308f773f876b3fc2e058b6e8a80
+68890813606d8905868b88888a86088b768d89058bce8db5bbd6898b1e8d8d8ba005
+8b8d8890848c086d8d05708d7f8c87b2085ff857058bac9595a98d08a98e058e8b8f
+8c8c92088b9f898dfb1889fb73fc78888b050efbd689acf803acc6ef12e0ef33da13
+f0e0f8b215850a13e8e6fb7f15f77c0a0efb1f8ba8f807a8c8ef12dfef34d6f702ef
+34d613eaf7bbf7f815f8c20afb5a16fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffff
+e0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000c
+ccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e89
+8d058b4589671efb5a0667468d8b1f89898b78058b868efffffd800090ffffff8000
+089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813e4f74df74e15
+850a13f0fb5a16850a0ed18ba8f807a8c8ef12dfef34d6f702ef34d6f703ef33d613
+e280f881f7f815f8c20a13e880fc2016fbae078b6efffff53333fffff36666ffffdf
+cccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18d
+af1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efc200667468d8b1f89898b78058b868efffffd800090ffffff80
+00089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813ea00f75a16
+f8c20a13e100f74ef74e15850a13f000fc2116850a13e400f75a16850a0ef70a9476
+95a8f80ba8c6ef12e0ef33d61374ecf7f815fbae078b6efffff53333fffff36666ff
+ffdfcccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058b
+d18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0
+cccdff00034cccfffff53333ff000cb3348ba808f7ae07a7969baa1e9d06a887ff00
+14e666fffff9b334ff000e199affffdc4ccc0813b4f71cfbed05917c9185988b958b
+9291929c08f71ef7e7059bb2a295a88e91ff0000999a90ff000366668b90088b9d89
+8d058b62897066528d8b1e87898b77058b888efffffc4ccc90ffffffb334be88ff00
+086668fffff94cccffffee9998ffffd9b3340832fb6f7a607ab935f76e05fffff5e6
+66ff0017999afffffd8000ff0010b332ff001f999aff0003b334089c8d058eff0000
+666691ff0001199a8bff00068000088b9e878d058b4e89641efb460667468d8b1f89
+898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc8000ff00
+0a199afffff380008b6f0813387ff74e15850a0e299476f82eac01f7d9f822158f0a
+0ef707947695a8f809a8c8ef12f8a0ef33d61374f8acf7f815fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86
+088b788d89058bd18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efb2c0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb334be88ff00086666fffff94cccffffee999affffd9b3340832fb6f7a60
+7ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff001f999aff0003
+b334089c8d058eff0000666691ff0001199a8bff00068000088b9e878d058b4e8964
+69568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c8000fffffc8000
+ff00154ccdfffff76666ff000e3333ffffdc199a0813b4f71cfbed05917c9185988b
+958b9291929c08f71ef7e705ff000f8000ff0025b334ff00158000ff00084ccca78f
+089b06ac957b6f1f13387ff74e15850a0ef7ca947697a8f807a8c8ef12f89cef34d6
+f702ef34d61375f96ff7f815f8c20afc2db915f8c30a13b5f8c40a13758b6efffff5
+3334fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b
+86088b788d89058bd18daf1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086
+ff0000800008788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae
+078ba7ff000b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008f
+ff000280008b90088b9e898d058b4589671efbf80666528d8b1f87898b77058b888e
+fffffc4ccc90ffffffb334081338f75af72015850a1332f75a16850a0ef890947697
+a8f807a8c8ef12f89cef34d6f702ef34d6f703ef33d6137500f96ff7f815f8c20a13
+7140f75a16f8c20afcf3b915f8c30a13b440f8c40a1374408b6efffff53334fffff3
+6666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d
+89058bd18daf1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efcbe0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb33408133200f820f72015850a133800fb5a16850a133080f82116850a0e
+ee8ba8f807a8c8ef12e0ef33d6f77cd313ecf77ba8157a066c809ba81ff7ae07a796
+9baa1e9e06ad88ff0012e66678ff001c199a6208e2fb13058d888c898b888b888a89
+8a890837fb0005ffffd7199affffcb6666ffffe8e666fffffd999a748808f734f807
+159a8d058fff000080008fff000280008b90088b9d888e058b3a896d1efb3a066746
+8d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc
+8000ff000a199afffff380008b6f08fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef73206acbe898b1f8d8d8b9e058b9089ff00024ccd86ff0000b333087d8d056f8f
+ff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d89
+8f8608c53b05ff0016e6686dff000d4cccffffec6666ffffdfccccfffffa999a087f
+8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d89058bca8db4
+adc0898b1e8d8d8b9e058b9187ff0001199a81ff0000e666ffffe080008efffff04c
+ccff00023333ffffd43334ff003dcccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08
+dff605b0baff000f800094ff002480008e91ff0000800091ff000080008b92088b9e
+8a8d058b5a896b6c5c8d8b1e88888b78058b868efffffe66668effffff999a089b89
+05ff00216668fffffbccccfffff2e664ffffede668ffffefb334ffffeb4ccc084a30
+0587868989888b878b888e8891084ee505ffffedccccff001c199afffffa3334ff00
+098000acff000466660813f4fbc6f72215850a0e3089acf803ac01f74af7fa15900a
+0eec89a8f80ba8c6ef12f764d3f776ef33d613f4f757f824159a8d058fff00008000
+8fff000280008b90088b9d888e058b3a896d6d5a8d8b1e89888b78058b8792fffffd
+999a92ffffff6666ad88ff0012e66676ff001c199a6208e2fb13058d888c898b888b
+888a898a890837fb00056155ffffe8800088ffffe8800088fffff7199afffffee666
+fffffbe666fffffd199a8b85088b7a8d89058bb98da8acbe898b1e8d8d8b9e058b90
+fffffde666ff00024ccdfffffb199aff0000b333087d8d056f8fff000c999aff0014
+199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c53b05ff00
+16e6666dff000d4cceffffec6666ffffdfccccfffffa999a087f8905fffffb199aff
+ffff3333fffffde666fffffdcccd8b86088b788d89058bca8db41ef73b06afd0898b
+1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034ccc
+fffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff
+00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb
+3d066c5c8d8b1f88888b78058b868efffffe66668effffff999a089b8905ff002166
+66fffffbccccfffff2e666ffffede668ffffefb334ffffeb4ccc084a300587868989
+888b878b888e8891084ee505ffffedcccdff001c199afffffa3333ff00098000acff
+0004666608f7d75f15fbae076e807b6b1e7c066e8effffefcccc8effffd63334c608
+31f71305898e8a8e8b8d8b8d8c8d8d8e08dff605b0ba9a92b08e089e06ac957b6f1f
+13f87ff74e15850a0ef7a789a8f80ba8c6ef12f764d3f761ef34d6f702ef34d613f1
+f757f824159a8d058fff000080008fff000280008b90088b9d888e058b3a896d6d5a
+8d8b1e89888b78058b8792fffffd999a92ffffff6666ad88ff0012e66676ff001c19
+9a6208e2fb13058d888c898b888b888a898a890837fb00056155ffffe8800088ffff
+e8800088fffff7199afffffee666fffffbe666fffffd199a8b85088b7a8d89058bb9
+8da8acbe898b1e8d8d8b9e058b90fffffde666ff00024ccdfffffb199aff0000b333
+087d8d056f8fff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e
+8d8b8e8b8d898f8608c53b05ff0016e6666dff000d4cceffffec6666ffffdfccccff
+fffa999a087f8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d
+89058bca8db41ef7ed06afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efbef066c5c8d8b1f88888b78058b868efffffe6666
+8effffff999a089b8905ff00216666fffffbccccfffff2e666ffffede668ffffefb3
+34ffffeb4ccc084a300587868989888b878b888e8891084ee505ffffedcccdff001c
+199afffffa3333ff00098000acff000466660813f4f7c35f15fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a088706738effffef199aff0009b333ffffda
+e666ff00344ccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605ff00218000ff
+002a8000ff000f8000ff000a8000a98f089406ac957b6f1f13f5f75a16f8c20a13f8
+fb67f74e15850a13f2f75a16850a0efbdf89acf8f6a9a67701eada03eaf70e15890a
+0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a6
+7712b2e1f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0e
+f75789acf7f6a771bf12e9daf753daf753da141c13dcf73ef7fa15fffffeb333ff00
+1db33489affffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff000366
+66838b6f807182468289858d7b8d85c18696868b5108fb57078b397e86548785858b
+769185a98cb18cb38bb38bff001ecccd8aa98a91918ba08591ffffcd333390808f8b
+dd08f738078ba094ff000c4ccc93ff0008b3340813bcff0027999aff0026b334ff00
+258000ff00144cccff001ee6668b08b1a773481ffb42078b398386558786858b7690
+85a48cb08cb38bb38bac8aa48a90918ba08691598f82908bdd08f733078b998b998a
+97bbc0b898b28b08b1a175481ffb44078b398186578786858b769085a48cb08cb38b
+b38bae8aa78a90918ba08691548f82908bdd08f73207e47cd1331effffcccccc8bff
+ffc24cceffffed3334ffffcbe6665488fffffccccc858689ff0008999afffff68000
+b4ffffd98000ff00206666578b518bffffcbb333ffffdd999affffd64ccdffffd166
+6608fffffb6666fffffae666fffff9199afffff9199affffff800097080ef86989aa
+f8b3a901c2e2f7f3d7f7f5e203f912f8ee15f8c50aadfcd115288794ae1ff84b07b4
+949ed4f704f73351fb8dfb52fb055dfb1d1efb47b7156a8b8026fb1dfb05cef752f7
+82f727bbf70fd3947a601e0ed589adf8acad01eed7ddc7f766e2039b9f158b778d89
+05b48daa8bb98bce8b9289ec8b08f718f743c7f77bf742fb23f71ffb481f4f8b6889
+4f8b5d8b718c5d8c0889898b76058b878f898f8a08a68905b18895868b6908fc5b07
+8b6c7c826a89086e8905888886871ff733be158bff0027333392fffff7cccd05be9e
+dfc18bf7058bf70a6ea645bc83ff0005199affffee6666ff0006199affffee999a8e
+08ff0022cccc07acad8fb9f75fd0fb31fb25fb51fb095efb182f8093aa1eff003066
+6604ff0122b33407ff0009199afffff64cccff00089999fffff7b334ff00064ccdff
+fffae666ad6ca3678b528bffffbc4ccdffffd0b333ffffccb333ffffdd4ccdffffe7
+6666080ef86989aaf8b3a901c2e2f762c7e0d7e1c7f763e203f912f8ee15f8c50aad
+fcd115288794ae1f8bff0029cccd96fffff3333305be9edfc58bf7058bf70a4cc068
+a3fffff66668ff0005999affffecb330ff0006e666ffffece668ff00028000089507
+b4949ed4f704f73351fb8dfb52fb055dfb1d1e24ff0057999a15ff012f800007ff00
+0ab334fffff43332ff000a4cccfffff5b3349285ad6ca3658b528bffffb9b333ffff
+cde668ffffc84ccdffffdc1998ffffe8999a083ffffffe199915ffffd64ccd076a8b
+8026fb1dfb05cef752f782f727bbf70fd3947a601efffff5cccc07ffffed999affff
+fd4cceffffecccccfffff96666fffff6999afffffa800068734c568bfb0a8bfb05de
+51bf780895f7d115fffed1b3340768ff0017666659ff003799998bff00464ccd8bc4
+a2b1aeaaff0006ccccff0005ccccff0009e668ff0009ccceff000a4cccff000b6666
+080ea880b7f8afb201afabf83ce703f7a38015f76debf73bf735f748fb12f706fb40
+1ffb0b8b5b614f8788518158815508ab8605a6e6bcdff7188b08f710e737fb4bfb34
+51fb04fb2b1f2f8b47ac40dd7e8b83848782d32dda5aec8b080efb4281b7f807ad01
+a2ddf75fd8039deb15ad41c06bd18b08f719d8f701f714f7093ceafb0c2152525c67
+a686941fa38b9f988d9f91ad90b7cd8b08d4c03bfb08fb04584c311f598b59a76bb7
+fffff76666ffffff333386fffffc199afffffc999afffffab333080ef8abf783bf01
+f7a7b303f7a7f85415352a3a535a7a087407f7005ff700fb148b8a08b30664df62b9
+6aa608f9fabffdfa06abaabcc1a9d3080efb2efb6576f989b301f758bf03f829f8cb
+152ae153dc7abc0874065ffb00fb14fb008a8b086307dfb2b9b4a6ac08fdfabff9fa
+07aa6bc15ad36d080ef8abf783bf01f9c4b303f9ecdd15e1ecdcc3bc9c08a207fb00
+b7fb00f7148b8c086306b237b45dac7008fdfa57f9fa066b6c5a556d43080efb19fb
+6476f76cb301f762bf03bc7e15ec35c33a9c5a08a206b7f700f714f7008c8b08b307
+37645d62706a08f9fa57fdfa076cab55bc43a9080ef88bf783bf01fa13f7b715fd47
+06a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae
+76a771ca52b166987b08b3066bcf6abf66b008f9470666676a566b4808b306989bb1
+b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b808640695749a6fa06b95
+7b9d72a56a080efb18fb6a7601f762bf03f762f8f715fd47076ba5729d7b956aa06f
+9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4cab0b19b9808
+b307476b576a666608f94707af66c06ace6b08b3077b9866b152ca72a876ad7ab308
+7406816f786b6e656e6466645e63086407a295a79aaba09b95a49daca5080ef787ff
+023d8000ff001acccc01ff004f6666ff001c4ccc03ff01523334ff02584ccc15ffff
+7e9999fffff83334ffff9f3333ff0011ccccffffd14ccdff0016999c08ffffefb333
+ffffefb33005ff002d4ccdffff948002fffff1cccdffff59199affffff4cccffffff
+4ccc08ff001c4cccffffe3b33405ff001fcccce2ff00038000ff003d9998fffffbcc
+cdff002a666808ff02673334fffd98ccccff0024ccccff0024b333fffd98ccd0ff02
+67333405ff002c8000ffffff4cccff0048e666ff00039998ff0048199aff001db334
+080ef78aff023b4cccff001c4ccc01ff02dd8000ff001acccc03ff02f84cccff0154
+cccc15fffff83334ff00816668ff0011ccccff0060ccccff0016999cff002eb33408
+ffffefb330ff00104ccc05ffff948000ffffd2b334ffff59199cff000e3334ffffff
+4cccff0000b33008ffffe3b334ffffe3b33405e2ffffe03334ff003d9998fffffc80
+00ff002a6668ff0004333408fffd98ccccfffd98ccccff0024b333ffffdb3333ff02
+673334ff0267333405ffffff4cccffffd38000ff00039998ffffb7199aff001db334
+ffffb7e666080ef787ffffb9b333ff001acccd01ff02dc4cccff001c4ccc03ff01f5
+ccccffffb9b33315ff00816668ff0007ccccff0060ccccffffee3333ff002eb334ff
+ffe9666708ff00104cccff00104ccd05ffffd2b334ff006b7ffeff000e3334ff00a6
+e667ff0000b330ff0000b33308ffffe3b334ff001c4ccd05ffffe03334ffffa90001
+fffffc8000ffffc26666ff00043334ffffd5999a08fffd98ccccff02673334ffffdb
+3334ffffdb4cccff02673334fffd98cccc05ffffd38000ff0000b333ffffb71998ff
+fffc6666ffffb7e666ffffe24ccd080ef78affffba6666ff001c4ccd01ff0051b333
+ff001acccd03ff0051b333ff00bd333315ff0007ccccffff7e9998ffffee3333ffff
+9f3334ffffe96667ffffd14ccd08ff00104ccdffffefb33305ff006b8000ff002d4c
+cdff00a6e666fffff1cccdff0000b334ffffff4ccc08ff001c4cccff001c4ccd0534
+ff001fccccffffc26667ff00038000ffffd5999afffffbcccd08ff02673334ff0267
+3334ffffdb4cccff0024ccccfffd98ccd0fffd98cccc05ff0000b333ff002c8000ff
+fffc6666ff0048e666ffffe24ccdff0048199a080ef8abf783bff7ce9501f7a7f854
+15352a3a535a7a087407f7005ff700fb148b8a08b30664df62b96aa608ff01656668
+8bffff859998fc00b48bff007a6668f800ff01d799988b8bbffffe39cccc8bff0061
+3334f7b5628bffff9eccccfbb5fffe8933348b05abaabcc1a9d3080ef8abf783bff7
+ce9501f9ecdd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac70
+08fffec8cccc8bff00613334f7b5628bffff9eccccfbb5fffdfa33348b8b57ff01f4
+66688bffff859998fc00b48bff007a6668f800ff014899988b056b6c5a556d43080e
+f8abf783bf01f6bd03f6f85415fc02bdf731f998076a6c5b556c4308b206e0ecddc2
+bc9c08a207fb00b7fb01f7168b8b086306b237b55dac7008fd98f731060efb18fb68
+bd01f762bf03f762f8f715fd0c0765ad5ead41ab086407ff00584ccdffffb2999aff
+00364ccdffffb53333ff0015e666ffffce333308ffff618000067f7e787c83918394
+1ff818069899a295938794811fffff3a333306ff0030b332ff0067199aff0076199a
+ff0062e6668b8c08b307476b576a666608f90c07af66c06acf6b08b3078b8bfb15f7
+005ef7010874067a5a54392a36086407cfa9c6b8a9a4080ef88bf783bf01fa13f7b7
+15fffedacccc8bff00613334f7b5628bffff9eccccfbb5fffe9b33348b05a5ab9da4
+959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae76a771ca52
+b166987b08b3066bcf6abf66b008ff015366688bffff859998fc00b48bff007a6668
+f800ff013699988b0566676a566b4808b306989bb1b0cac4a8a4ada0b39c08a2076f
+956b9e65a864a864b063b808640695749a6fa06b957b9d72a56a080ef880f821bff7
+327701c6f82115f8c60a0ef880f783bf01c8f7b715f8c70a0ef880f821bff7327701
+fa97f82115f8c80a0ef880f783bf01fa99f7b715f8c90a0ef880f783bff5bff73277
+01fa99f7b715f8c90afe5ef72215f8c60a0ef880f783bff5bff7327701fa97f82115
+f8c80a8d2115f8c70a0ef873f730bcf70fbc01ff02208000f73015ff01d88000bcff
+fe37e66806ff00296664f70fff019eb3348b8bbcfffe71cccc8bff00443334f75f62
+8bffffbbccccfb5ffffed333348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff00e180008bffffa18000fbadb48b05ff0045
+e668f7de15fffeec19980679a276a0729da29da09f9da208ff013f4ccc060ef91cf7
+30bcf70fbc01f786f7dc15ff01944ccc8bffffd6999cfb0ffffe9719988b0579a276
+a0729da29da09f9da208ff01bd4ccc16ff013eb334069d74a077a279727976767974
+08fffe99e66806ffffef99985a15ff01548000067e757f737f7108b306c7d2e1d6d1
+a408a20748a34cbd35ec08650696719773987508fffef4cccc8bff00443334f75f62
+8bffffbbccccfb5ffffe7e33348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff013680008bffffa18000fbadb48b050ef873
+f72dbcf70fbc01ff0252b334f80a15ff00454cccf762628bffffbab334fb62fffdfa
+4ccc8b8b5aff01f54ccc8bffffd6999afb0ffffe34199a8b8b5aff01bb80008bffff
+a28000fbaab48bff005d8000f7aaff00ff80008b057e757f73807108b106e1eccabd
+cea308a20745a435d64fd208630697719773987508ffff3b4ccc5a15ff00e6b33406
+9d74a076a47974797677797408fffeede668060ef873f730bcf70fbc01f7a9f80d15
+98a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37ea108
+f977bcfd990679a276a0729da29da09f9da208f99bbc060efb19f70fbcf70fbc03f7
+ecf8a215a17ea37fa58008b1072ae159ca73ce08740672454035444f086307a597a3
+97a19808fd77bcf99907a29da0a09da49d749f76a27908fd9bbc070ef873f72dbcf7
+0fbc01f99cf72d157e757f73807108b106e1eccabdcea308a20745a435d64fd20863
+0697719773987508fd775af999069d74a076a47974797677797408fd9b5a060efb19
+fb677601f70cbcf70fbc03f70c7d15759873977196086507ec35bd4ca34808a206a4
+d1d6e1d2c708b307717f737f757e08f9775afd990774797676797279a277a0749d08
+f99b5a070ef921f730bcf70fbc01f786f7dc15f990069d74a077a279727976767974
+08fd8c0679a276a0729da29da09f9da208aebc1598a197a396a5086506352a4c5948
+73087407d172e140c74408b3067fa57fa37ea108f948067e757f737f7108b306c7d2
+e1d6d1a408a20748a34cbd35ec086506967197739875080efb18fb6776f9617612be
+f70d5abcf70fbc13d8f7bbf8ad15fcde0774797776797479a476a0749d08f8da07a2
+9da0a09da4089d749f76a27908bc6815a17ea37fa58008b1072ae159ca73ce087406
+13e872454035444f08630713d8a597a397a19808fc960713e8759873977197086307
+d24fd635a44508a206a3cebdcaece108b1077180737f757e080ef79fff022a3334ff
+001acccc01ff0050e666ff001c333303ff01216666ff0210b33415ff0018b334ff00
+066664ff00198000ff00088000ff001a3332ff000a999c08ffffe5199aff001acccc
+05ffff7e999afffff83334ffffb0199aff00094cccffffbfb333ff001e666808ffff
+efb333ffffefb33005ff001fcccdffffbcccd0ff0007e666ffff8e1998fffff83333
+ffffa3666608ff001c3333ffffe3ccce05ff0009e668ff001ae666ff00088000ff00
+196666ff00066666ff0018b33408ff020a8000fffdf58000ff0022b330ff0022999a
+fffddd6668ff0222999805ff00038000a88bff001db334fffffb199aff001e6666a8
+fffffc8000a8ffffff4ccca8ff0003800008f8b8fcb8ff0022999cff0022b333050e
+f7a3ff0226e668ff001c3330ff001fe6687701ff02f83334ff001acccc03ff02deb3
+34ff0172999a15ff00066664ffffe74cccff00088000ffffe68000ff000a999cffff
+e5ccce08ff001accccff001ae66605fffff83334ff00816666ff00094cccff004fe6
+68ff001e6668ff00404ccc08ffffefb330ff00104ccc05ffffbcccd0ffffe03334ff
+ff8e1998fffff81998ffffa36668ff0007cccc08ffffe3ccccffffe3ccd005ff001a
+e664fffff61998ff00196668fffff78000ff0018b334fffff9999808fffdf58000ff
+fdf58000ff0022999affffdd4ccdff0222999cff0222999805a8fffffc8000ff001d
+b3308bff001e6668ff0004e668fffffc8000ffffe2fffeffffff4ccc6eff00038000
+6e08fcb8fcb8ff0022b333ffffdd6666050ef79f58ff001acccd01ff02f2e668ff00
+1c333003ff023e9998ff00014ccd15ffffe74cd0fffff9999affffe68000fffff780
+00ffffe5ccccfffff5666708ff001ae664ffffe5333305ff00816668ff0007cccdff
+004fe668fffff6b333ff00404cccffffe1999a08ff00104cccff00104ccd05ffffe0
+3334ff00433331fffff81998ff0071e667ff0007ccccff005c999a08ffffe3ccd0ff
+001c333305fffff61998ffffe5199afffff78000ffffe6999afffff99998ffffe74c
+cd08fffdf58000ff020a8000ffffdd4cccffffdd6668ff02229998fffddd666405ff
+fffc8000ffffe300028bffffe24cccff0004e668ffffe1999a6eff000380006eff00
+00b3336efffffc800008fcb8f8b8ffffdd6666ffffdd4ccc050ef7a3ffffcee666ff
+001c333301dcff001acccd03ff00854ccdff009f666615fffff9999aff0018b334ff
+fff78000ff00198000fffff56667ff001a333308ffffe53333ffffe5199905ff0007
+cccdffff7e999afffff6b333ffffb0199affffe1999affffbfb33308ff00104ccdff
+ffefb33305ff00433334ff001fcccdff0071e666ff0007e667ff005c999afffff833
+3208ff001c3332ff001c333305ffffe5199aff0009e666ffffe6999aff00088000ff
+ffe74cccff0006666608ff020a8000ff020a8000ffffdd6668ff0022b330fffddd66
+68fffddd6668056eff00038000ffffe24ccc8bffffe1999afffffb199aff00038000
+a8ff0000b333a8fffffc8000a808f8b8f8b8ffffdd4cccff0022999c050e209e76f7
+fdcb01f7b08915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d7152af7
+b1f7528b050efb2981c8f866c801bad0f761d103f7758115e98bbecda0f00845067e
+51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e8b
+08432165fb94fb95f566d31f0e2e81acf7c9b1f72ed87aac12afdcf796da13dcff01
+73b334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cccc
+8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d856b
+85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b27088b
+ffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215ff
+fff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff002d
+e6668bff0029e666ffffea3334ff0024e668ffffe31998080efb578bccf763ccf73e
+cc01f7bdd003f802f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7df060efb57
+8bccf763ccf73eccd77701f7bdd003f802f8d015ffffbf999a8bff00176666cc6796
+ffffe480003fffff2380008b8b4af7598bffffc28000fb3effff8280008b8b4af18b
+ffffb5199afb63ffffd4e6668b8b4aff0013999a8b05ffffe7666647b07fff001ccc
+cddbff010e33348b05ffffa83334f88f15ff0012ccccfb3effffb0199a06ffffe899
+994a15ff00674ccdfb63ffff4e3333060eba82b6f88cb6a97701a5bef87cbe03f7d5
+f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff0866
+66fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd8b
+f71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff0053
+800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf717
+f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff00
+27199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffffd0
+8000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff0038999a
+ffffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff01
+ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1afb
+00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de667080e
+808ba501f7a2f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc038b8b88858a
+888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b8bfb2ef80328
+f77e080e80a076f8e2a501f7d1db15fb69f892f8368b05fb57fce215ebf77ef72af8
+038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b898b898c888e858b
+8bf72efc03eefb7e080e328bc4f75dc3f75dc401a8d10314e0f86216c4fb2f07238b
+32e27cf70608f7f6c3fbf60698f700dae8f7088b08f72fc4fb2a06fb31fb12fb17fb
+2ffb2ef710fb18f7331f0e328bc4f75dc3f75dc4d77701a8d103f86216c4fb2f07ff
+ffef66668bffffefccceff00023333fffff06666ff0004333308d1ff00c2999aff00
+7c66668b8bc3ffff97cccc8bff00484ccef75dff0028e6668b8bc4ffffeb999a8bff
+00176666cc6696ffffe4999a3fffffa766668b05fb31fb12fb17fb2f1f8bffff8bcc
+cdff0046999affff984ccdff0066e666ffffd4199908ffffdf8000ffffa5cccdb07f
+ff00203333ff0059999a05ff00171998fffff9ccccff00186668fffffc999aff0019
+4ccc8b08ffffa64ccdff004d333315ffffbf999aff00201999ffffcfcccdff004380
+00fffff54ccdff0051333308ff00bc800006ff0014199ac315ffff2f66660698f700
+dae8f7088b08ff0049199a060efb70c7c1f4c1f3c201a8f7c303f77ec715edc12906
+fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb14
+d551f7171f0e328bc4f75dc3f75dc401f82bd10314e0b7f8d01552f72f07f38be434
+9afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731f712f717f72ff7
+2efb10f718fb331f0e2d8bc4f75dc3f75dc4db7701f827d103b3f8d01552f72f07ff
+0010999a8bff00103333fffffdccccff000f9999fffffbccce0845ffff3d6666ffff
+83999a8b8b53ff006833338bffffb7b334fb5dffffd7199a8b8b52ff001466668bff
+ffe8999a4ab080ff001b6666d7ff0058999a8b05f731f712f717f72f1f8bff007433
+34ffffb96666ff0067b332ffff99199aff002be66608ff00208000ff005a33346697
+ffffdfccccffffa6666805ffffe8e667ff00063330ffffe7999aff00036668ffffe6
+b3338b08ff0059b334ffffb2cccc15ff00406666ffffdfe668ff00303332ffffbc80
+00ff000ab334ffffaecccc08ffff43800006ffffebe6665315ff00d0999a067efb00
+3c2efb088b08ffffb6e666060efb70c6c2f3c1f4c101a8f7c303f713f843152955ed
+06f7128b9b52965b08fb8f55f78f0680567559fb0c8a082954ed06f728c4d6f703f7
+1441c5fb171f0ef71efb02acf903b26eaa12f710e0f7d0e013b8f8a16a15707c7a60
+1e7006868789851f8b748e89058bed8db1b4e7898b1e8c8d8ba20591878d861e7006
+617b99a91ff8b9078ba9a494a98c08a906908f8f8f1fa20713d88a8bfb1989858b40
+8a4f8b4a8b408b508b4a8c0813b87c8bfb038d838b087307888d87911eab06ad9e88
+661ffcb907707c7a601e7006868889851f8b748d89058bee8db0b4e6898b1e8d8d8b
+a20591868d871e6f06627b99a91ff8aa0713d8ad9096ac1ef78306ad907b6f1f0ed3
+8aac6cb3f8d2ac12f3e0f7b5e01378f7268c15f80b0613b8a28bc38abd8a91918ba0
+8591458e7a908bde08f825078bde9c90d18e91918ba08591648affffccb3348affff
+d84ccc8b658b588c638c85858b769185d1889c868b3808fc2d0713784d757f731efb
+5906737597c91ff82d078bde9c90d18e91918ba08591658affffc966668affffdb99
+9a8bffffd94ccd8bffffcab3338c658c85858b769185d1889c868b3808fc250713b8
+8b387a86458885858b76918508bd8cbf8ca68b080e884dc551a1f88a76efb574a212
+f877a1136cf87ff8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a8189
+7f8b0875f87507a7f743758d0513b48a866cfb06458b08fbac8bf760f7a48c8cfb40
+f7a4f7788b05c48baa3a907808a18e050e5ef776bd01f863f776159d0a0e5ef752bd
+f774bd01f78ebd03f7c0aa15f733f7390797989e9a938593821ffb43f73e06948391
+837c787e7f1efb34fb37077e7d7481838f82951ff744fb40068194879395a299981e
+fb69f877157e7d7481838f82951ff81b0697989e9a938593821f0e5ef754bdf74e77
+d0ec12f776ec42bd13f0f776f8a115719e75a9a79fa1a5a773a0731e707575701f13
+e8a3fb1015fb33fb39077f7e787c839183941ff743fb3e06829385939a9e98971ef7
+34f737079899a295938794811ffb44f7400695828f831e81747d7e1f0e47a076f8dc
+7601cd16f856f8d1598bfc55fcd1050e47a076f8dc7601f86616bd8bfc56f8d15a8b
+050efb92f76ece01f700ca03f711f76a15270a0efb92f721a9f721a901d2adf717ad
+03f780f784159b0afb398c159c0a0efbeaf75af70001d4f70003f713f75a15a40a0e
+6df971b201f87cf97115f8ca0a0e6df7faa9f71ca6d676c0a9b8b212b9bde5c66ac9
+13fcf87cf97115f8ca0a13fefb0ef90415a00a13fda10a13fea20a0e6df801a8d1ad
+f75277ccb201f73fbf03f87cf97115f8ca0afb1dff027db33415f89e0affff3a4ccc
+04f89f0a0ed6d9c453b9f78ec856c061b512b0ca138cf7faf78515f8cb0a1324f792
+f71a15c886073c8b403f5c5208138cf8cc0a1354b849d046e08b968b968c958d08b7
+07858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080ef752d9c453b9
+f796c061b512b0caf8e0c8139cf7faf78515f8cb0af7de8415136c4e6c5b4b1e518b
+42f26ab9a5b4d3cfbe8b08d4b0324f1fc8b615e459d12f1e3c8b403f5c5208139cf8
+cc0a136cb849d046e08b08f2cdf1eb1f0e558bb8f8217701c9be03c9f84e15fc4ef8
+38b8fc05f821070ed2e9b701a9e915f8cfb7fffe2a666606ff0158999aff0195b334
+ffffda999aff001fb334050ed29676f3b701f804b903ff01604ccc8115ff002eccce
+06ff00098000acff00053332ff0022e666ff00003334ff0024199a08f74fb7ffff42
+b3340682ff00528000ffffdcb332ff004a999affffcae666ff003a333208ff00a1b3
+34ff00be6668ffffda999aff001fb334ffff606666ffff43e6640570ff0016e668ff
+ffe1cccdff00133332ffffdf6666ff000eccce08ffffe03333ffffd8199805ff0020
+e667fffff2999aff001e4ccdffffed999aff001accccffffe9999a08ffff26999aff
+feffe666f7e68b8b89058bffffdc8000fffffa8000ffffddb333fffff5ccccffffdf
+cccd08ff000c999af72815ffff1680008bff00973334f74605ff002b8000ffffcf33
+34ff001d8000ffffc29999ff00094cccffffbc3333080ed2ff0014cccd7601ff016d
+999aff002b4ccc03ff0129cccc8915ff002b4cceffffee333305ff00156666ff001a
+ffff9dff001e4ccdff000de666ff00214ccd08ff00ad000244ff0010b330ff0028cc
+ccffff50ccceff0047cccd05ff0016e666ff004fcccdfffffb999aff00524ccd70d5
+08ff00dde666ff0072ccccffffe96668ff002b999afb6fffff8e800005ffffefb332
+ff001f6666ffffeb6666ff001d4cceffffe76668a508ffffd36666ffffe7199a05ff
+00196666ffffe73332ff0015199affffe36666ff00104cccffffe1199a08fffed5b3
+34ffff658000ff0138b332ffff7fcccd05ffffffccceffffff6666ffffffccccffff
+ff6666ffffffb334ffffff6666fffff28000ffffdf199affffede666ffffe26666ff
+ffea4cccffffe6199a08ff0043ccceff0084199a15fb6cff00589999ff00cf6666ff
+006b4ccd05ff0015ccccffffc26666ff0003e66847ffffeee666ffffbdb334080efc
+1b947601dbb703f7107f15f8e25ffce2070efbe7947601f0b703f768f8321548ffff
+bc4ccc8bff00e7b3345f8b8bfffeebe66638ffffac199aa373c6ff003b4ccd8bfffe
+f6b334b78b8bff01358000e6ff005b8000050efb97947601dbb7e3b703f7947f15f8
+e25ffce2073316f8e25ffce2070efb8a9476f84c7701dbb7e3b703f7c5f840155aff
+ffce4ccc8bff00c7b3345f8b8bffff0bb33433ffffa6cccc8bff014d80005f8b8bff
+fe85cccc4fffffc33333a373afff002466668bffff5c999ab78b8bff00cfcccde3ff
+0058ffff05fffed73334b7ff0155333407d4ff0049cccc050efb069e76f8507701f7
+86f81615f73ffc18c08bfb5bf850578bfb5cfc50c08bf740f818050efb069676f850
+7701f783b915fb3ff818568bf75bfc50bf8bf75cf850568bfb40fc18050e21a076f8
+20b601cebef791be03f70a16f76807f1ff00168000ddff006f8000ee9f39251efb68
+bef76807f714ffffe18000eeffff728000fb2969ffff9a8000ffff8280001efb6807
+0e2181b6f8207701cebef791be03f807f84115fb680725ffffe9800039ffff908000
+2877ddf11ef76858fb6807fb14ff001e800028ff008d8000f729adff00658000ff00
+7d80001ef768070efb7afb71bcf9c9bc01f71ed903f720a215f8cd0a0e8bfb71bcf9
+c9bc01f71ed9f72cd903f806a215f8cd0afb7a16f8cd0a0ef7acfb71bcf9c9bc01f7
+1ed9f740d9f74ad903f91ea215f8cd0afb9816f8cd0afb8e16f8cd0a0e4cfb71bcff
+00a4cccdff00278000ff016c3334ff0027e666ff00d4999abc01b3b7f724d9f722b7
+03ff00e54ccdfffff8cccd15fffffcccceffffb5cccefffff16666ffffa56666ffff
+e780008b7a8b7daa708b0878777a7772a179ab1fff004ab3338bff0036e667ff0034
+cccdff0015e666ff00a03333ff006de666ff000ecccdff0056999aff005d80008bff
+0071b3338bff006e4cccffffad3334ff005d6668ffff958000ff00121998ffffff99
+98ff000f8000ffffffb334ff000e999a8bff000d199a8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e1f308bffffc86666ffffad6668fffff2199affff4cfffeff
+ff948000ffffef800037ffffa1b3348bffff9066668bfb03ff005233332eff006b19
+9affffeecccd08ff0046cccdff0027800015ff0003e666ff00294cce8dff002f4ccc
+8bff0036199a08f70b078bacfffffee666ff002366668aff00218000ff0053999aff
+ffee3334ff003c8000ffffb580008bffffa666668bffffa533334cffffb56667ffff
+ab199affffefb3320844ff016c333415ffffff4ccc79ffffff999affffed33348bff
+ffec4ccc08fb17078bffffb33333ff0001e66670ff0000199affffb71999ffffaacc
+cdff00106667ffffc33333ff004b33338bff005a199a8bff0059ccccff003c6666ff
+004bccceff0054b334ff0010e666080e47c1f5f745f501f76cf503f76cf81a15210a
+fbaf04210a0e47f769c691c601c39cf7f99c03c3f76515920a0e47f769c691c601c3
+9cf7f99c03c3f76515ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0013cccd
+8b9efffff74cccff00131999fffff3666808ffff9c199afffed64cccb17fff005fb3
+34ff011e4ccc05ff00136666fffff43334ff0014999afffff78000ff00114ccc8ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff2199a8bfffff1b332ff0005199afffff0999aff0008e66608ff005a999af7a365
+95ffffa96666fb9605ffffe8e667ff0010333472ff000bccccffffeab3338b4e8b55
+4c7e4a080e47f724bdf708bd93c691c601f84f9c03d0f80015ff0005b33388ff0005
+4ccd8a918b088a067f7e787c839183941ff819069899a295938794811ffc1b06a2b7
+baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28ba38b
+cc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8b0875
+8b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e4a08
+f81ffb7015470a0e47e2c691c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff
+00054ccd8a918ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede6
+66a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b0875595a7a6f8b758b7498709fffffe78000ff00123333ffffe48000ff000dcccd
+748b4e8b554c7e4a08a0f72215a2b7baa8ae8ba48bff0017cccdfffff2199aff0018
+3333ffffede666a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4ccc
+ff0001e666838b75595a7a6f8b08758b7498709fffffe78000ff00123334ffffe480
+00ff000dcccc748b4e8b554c7e4aff0005b33388ff00054ccd8a918b080e47e2c691
+c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff00054ccd8a918ba2b7baa8ae
+8bff000bb3338bff000b666788ff000b4cccfffffae66608ffffc1999affff47199a
+b17fff003b199aff00afe66605ff00014cccffffff199aff00014ccd8aff00014ccd
+8aa379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b75595a7a6f8bffffeb80008bffffeab334ff000b3333ffffe76666ff0011b33308
+ff0017999aff00464ccd05ff000ee666fffff89999ff000ee666fffffb3333988ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff6999a8bfffff68000ff00026666fffff6199aff0004333408ff0056ccccff0102
+66666595ffffac6666ffff07e66605fffffd4cceff0001e666fffffd1998ff000219
+9afffffd3334ff0002199affffe78000ff00123334ffffe48000ff000dcccc748b4e
+8b554c7e4aff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0018999a8bff0017
+6666fffff2999aff0017cccdffffee4ccc08ffffe88000ffffba4ccd05fffff00001
+ff000866667bff00056666fffff1b3338b4e8b554c7e4a080e47f723bdf708bd01f7
+a5f8c415ea0af753fb8f15470af819fb3a15470a0e47f723bdf708bd01ff01448000
+f7fb15ff00428000f75a6595ffffb9e666fb64ffff3a199a8b057f7e787c83918394
+1ff7538bffffd8e666fb08ffff72199a8b057f7e787c839183941ff71b8b4dfb4cb1
+7fff0041e666f758ff00d4199a8b059899a295938794811fffff2fb3348bb2f708ff
+009c4ccc8b059899a295938794811f0e47f4b7cab7cbb701f861f80015fc1f5ff81f
+064b04fc1f5ff81f064c04fc1f5ff81f060e47f4b7cab7cbb701f861f80015ffff79
+199a8bff0040e666f7556595ffffbb999afb5fffff2566668b8b5fff00cbb3348bff
+ffea66664bffff49e6668b8b5fff00a74ccd8bffffeacccd4cffff6de6668b8b5fff
+008333338b05ffffcecccdfb26b17fff0035199af732ff00dde6668b8bb7ffff30e6
+668bff00153334caff00b9e6668b8bb7ffff54cccc8bff0015999acbff0095999a8b
+050e4796ba01cf9615f81abafc1a06e5f75615f7d1f7070598998ca97d9108fc1afb
+2105fffff6b333ffffeeb3348bffffefffffff00094ccdfffff14ccd08f81afb2205
+99918aa97e99080e4796ba01cf9615f81abafc1a06f800f75515fbd1fb07057e7d8a
+6d998508f81af72105ff00094cccff00114ccd8bff000ffffffffff6b334ff000eb3
+3408fc1af722057d858c6d987d080ef751f847f77f15f7d1f7070598998ca97d9108
+fc1afb2105fffff6b334ffffeeb3338b7bff00094cccfffff14ccd08f81afb220599
+918aa97e9908fcfaf70c15460a0ef751f7f2f75a15480af8fafb0c15480a0e47ff01
+583334ff0132999a15ff0082ccccff002f66660598998ca97d9108ffff904cccffff
+d7999aff0040b334ff00c16666659541ffff238000fb7bffffac800005fffff6b333
+ffffeeb3338b7bff00094ccdfffff14ccd08ff00a68000ffffc36666ffffbe8000ff
+ff3c999ab17fff0040ccccff00c1cccdff00ba3334ffffbc33330599918aa97e9908
+ffff54ccccff003e999a0584ff0067cccc15ffffe1ccceffffa5e667ffff936666ff
+0027b333050e47ff00f86666ff00a9666615ff0027ccceff00773334ff008fccccff
+ffcb666605ffff18cccdffffac199a15ffffaa3333ffffe0e666057e7d8a6d998508
+ff0042b333ff0018199affffd24ccdffff77e666b17fff00374ccdff00a54ccdff01
+13b334ff0063b33305ff00094cccff00114ccd8b9bfffff6b334ff000eb33308ffff
+363334ff00498000ff004accccff00df80006595ffffb63334fb70ffff68ccccc205
+7d858c6d987d08ff0088199affffce3334050e4796ba01cf9615ff0073e6668bffff
+e0199a2cb17fff0023cccdf6ff00e833338b8bbaffff2780008bff0021b334ff0064
+b333ff00c7ccccffffb74ccd0599918aa97e9908ffff473334ff0043999aff0024b3
+32ff006db332ff0094199aff0035b3340598998ca97d9108fb15ffffd14cccbbff00
+8fb3346595ffffc6b334ffff554cccffff2a4cccffffb2b33405fffff6b333ffffee
+b3348bffffefffffff00094ccdfffff14ccd08f72dffffc84ccdffffd9999affff8d
+b333ffff7c66668b05ff00d38000ff00ee199a15ffffe5999affffb11999ffffa0e6
+66ff0022cccd050e4796ba01cf9615ff004be6668bffffe2199a32b17fff0021cccd
+f0ff011033348b8bbafffeff80008bff00168000ff00436666f7adff0065999a05ff
+00094cccff00114ccd8bff000ffffffffff6b334ff000eb33408ffff32199ad6ff00
+38e666f73e6595ffffc8199affff596666ffff6ce666ff0035999a057d858c6d987d
+08ff0084199affffcfb334ffffcc8000ffff667fffffffaf6666ffffe2cccd057e7d
+8a6d998508ff003d8000ff00163333ffffef199affffcdcccdffffa466668b05ff00
+af199aff007c800015b4ff007a999aff0093e666ffffc9e666050e42b6b5f7a1b501
+b0bb03f877e015fb68062438a4f709f3e4a2ec1ff768b5fb6806fb05fb0d74fb27fb
+2ff7096ff7091ff768060e42b6b5f7a1b501f849bb03b2f7f615f76806f2de72fb09
+2332742a1ffb6861f76806f705f70da2f727f72ffb09a7fb091ffb68060e42b6b5f7
+a1b501b0bb03f877e015ffff4633348bff005bccccf7a1e98b8bb5ffffb04ccc8bff
+001eb334e56596ffffdd800026ffffa580008b05fb05fb0d74fb271f8bffff723333
+ff0061e666ffffdc8000ff006a33348608ffffdce666ffff994ccdb17fff0026e666
+f706ff00c8199a8b05ffff1c4ccdff002a333315ffffa06667ff00029999ffffb54c
+cdff001c33338bf70308f3e4a2ec1eff004c199a060e42b6b5f7a1b501f849bb03b2
+f7f615ff00c9199a8bffffa41999fba1ffff92cccd8b8b61ff005ee6668bffffdd19
+9a25b17fff0026e666f706ff004b199a8b05f705f70da2f7271f8bff0087199affff
+a7199aff0026999affff9bb332ff0007b33208ff001f3334ff005b999a6596ffffdd
+800026fffffc80008bfb688b05ff00f2b334ffffd5333415ff00584cccfffffacccc
+ceffffe1199a8bffff96e666082332742a1effffc33333060e6c81ff0028199aff00
+a3e666b2ff00a5e666ff0028199a01c3b8f734b8f731b803f7ad8115f8ce0aa4ff01
+984ccc15ff00548000fffff4b334ff00404cccffffbbb334ff00084cceffffaa4ccc
+08ffff62e66606ffff35b33304ff00a34ccdf73107fffff73334ffffaae666ffffbf
+4cccffffbd199affffac8000fffff4b333085effffff666715ffffa9b333ff000933
+32ffffbf199aff0044999afffff73333ff0056199a08f73406ff00cce66604ffff5a
+199affff5fe66607ff00086667ff0056b334ccff0045ccccff0056b333ff00096666
+080e6c81b2f739b2f73bb201c3b8f7feb803f7ad8115f8ce0affff4be666f7871594
+ff005d3334ff004a999aff0049ccccff006080008bff0060999a8bff004c666642ff
+0009199a2d08fffe95e6666415f7fe06fffff64cccffffa2999a3effffb86666ffff
+a0b3348bffff9fcccd8bffffb59999ff00486666fffff6999aff005c999a080e6c81
+b2f807b201c3b7f800b703f7ad8115f8ce0aff0090b334ff0152b33415ff00181998
+ffffe06666ff000e3334ffffd84ccc8bffffd4999a8bffffd78000fffff36666ffff
+dab333ffffea999affffe1b33308fb06ff0071199a05ff004ab334ff0090999a15ff
+ff934cccffff926666ffff92e666f70205ff001dcccdff0016999aff00253333ff00
+0d6666ff0029199a8bff0029999a8bff0025ccccfffff28000ff001e4cceffffe919
+9a08ffff02e666ffffdccccc15ff006d6666ffff92999affff8e3333ffff8f199a05
+ffffeaffffff001e6668fffff3cccdff00254ccd8bff002833338bb6ff000de666ff
+0027b334ff0017b334ff001fb33208ff001d9999fffefccccc15ff0072cccdff0072
+cccdff00724cccffff8db33305ffffe0b334ffffe67fffffffd7e666fffff0cccdff
+ffd4199a8bffffd433338bffffd8b333ff000f199affffe14ccdff00191999080e6c
+81b2f807b201c3b7f800b703f7ad8115f8ce0af82e04ff002c66668bff0028199aff
+fff0999aff001f4cccffffe6333208fffefce668fffefce66805ffffe83332ff001f
+7ffffffff2199aff0027b3338bff002b199a8bf1d9dff28b08ffff8d999afffeb599
+9a15ff0103199aff0103199a05ff00181998ffffe06666ff000e3334ffffd84ccc8b
+ffffd4999a8b243a39258bffffd3e6668bffffd88000ff000f3333ffffe13334ff00
+196667080ecf9576f7a4b801c7be03f912f7c615fca3f7a458fce1bef7a4f8a3060e
+cf9576f7a4b801f8bcbe03a4f79915f8a3fba4bef8e158fba4fca3060ead9676f8a9
+b801f7b5be03f7e88115f8a9f7a1b8fce15ef7a1fca9070ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb4a9676f7a5b801c7be03f818f7c815fba9f7a258fce0bef7a5f7
+a9060ef72ff717f765fb65c1a2c1a3c112b7c11358f75cf77f156e7376706f74a0a9
+a5a0a3a81ea9a173701f1378f7bea615fb8d0680bb65a9578b08535b604d4db961c5
+1fc78ba9aa96b908f78d061388975fa96ac78b08c8b8bac4c75ab8521f4f8b6f677d
+61080ef72ff717f765fb65c1a3c1a2c112f920c11358f8baf78015a8a3a0a6a7a276
+6d7176736e1e6d75a3a61f1378fbbe7015f78d06965bb16dbf8b08c3bbb6c9c95db5
+511f4f8b6d6c805d08fb8d0613887fb76dac4f8b084e5e5c524fbc5ec41fc78ba7af
+99b5080efbedf75bf70001d2f70003f711f75b15a40a0efc1bb0f5f732f5f733f501
+bef503f3f93415f8d00afb9d04f8d00afb9c04f8d00a0ec9f75bf70001d2f700ecf7
+00eaf70003f8a9f75b15a40afb5f16a40afb6116a40a0e6e7fb1f80db201c3b2f80d
+b103f7aff82715ff002833348bff00259998fffff36666ff001ee668ffffea800008
+ffff106666fffee1199a0568ff00233333ffffe9e666ff0030999a8bff003433338b
+f1e1def18b08ffff643333fffea14ccc15ffffb8cccdffffaab333a772ff0048199a
+ff0056800005ff00246666ffffe6999aff002bb333fffff0e666ff002ecccd8bf711
+8bf1f58bf7108bff003cb334ffffe6e666ff00374cccffffd7b334ff0028800008ff
+00416666ff004e80006fa3ffffbe8000ffffb1999a05ffffda6666ff001b4cccffff
+d1b334ff0010199affffce66668bfb108b24268bfb0f8bffffbfe666ff001b8000ff
+ffc4b334ff002bb333ffffd5b33208ff0035999aff0005ccce15ff00ef1999ff011e
+cccc05ff00203334ffffdeccceff0013e666ffffd366668bffffcee6668b25363123
+8bffffda999a8bffffdcccccff000be666ffffe26667ff00143334080ef7a28badf8
+f87701d4b7f90cb603f709f82b15f7d7f74df7c9fb4d8bfc09fd0c8b055ff82015fc
+42f963f84207fbf4f76c050edff7e0f91a15f741fbb0bb8bfb5bf7e8618bfb5cfbe8
+bb8b050e68f7f9b701a3c103d9f71915f774f85fb7fc95fba0070efb58f9e0bc01f7
+1adb03f71a16dbf7e3068bd48be38df721ff0000e666ff0041ccccff00043334ff00
+386668ff0004e666ff002acccc8ea5ff0010199a9bff000ce6668ba28bff0007e666
+fffff91998ff0007199afffff6666892fffff68000ff0009999a84ff001066668b08
+a39b9ca1a4739d6f1fffffe380008bffffd63333fffff88000ffffeacccdfffff080
+00ffffed199afffff23334fffff8b333fffff8ccccfffff0b33370fffff3e666ffff
+ea9998ffffee3334ffffc4199cfffff9e666ffffa14cccfffff46666ffff4c199aff
+fffd999affff4ee6668b3e080efb58f71adb03f76afa11153bfbe3068b428b3389fb
+21ffffff199affffbe3333fffffbccccffffc7999afffffb199affffd533338871ff
+ffefe6667bfffff3199a8b748bfffff8199aff0006e666fffff8e666ff0009999a84
+ff00098000fffff6666692ffffef999a8b08737b7a7572a379a71fff001c80008bff
+0029cccdff00078000ff00153333ff000f8000ff0012e666ff000dccccff00074ccd
+ff00073334ff000f4ccda6ff000c199aff00156666ff0011ccccff003be667ff0006
+199aff005eb333ff000b999aff00b3e666ff00026666ff00b1199a8bd8080ef7ab8b
+adf7fdad01d4b303f8b3f81f15cd06c548ba60dd453b475c5d504808478bfb2bf748
+05fb2bfb4815f713f72cf713fb2c05fbc2163cf7fdd806f72dfb4905f72cf74915fb
+14fb2cfb15f72c05f818ad15fcbdfc41f8bd06d8dddad1cab708b10744bd42cc40db
+080ef7148badf7fead01d4b2f887b203f77fad15f713f72cf713fb2c05fbc21640f7
+fed506f72cfb4a05f72cf74a15fb14fb2dfb15f72d05f835ad15fcd5fc42f8d50664
+ad15418bfb2bf748f72cf74ad48b050efb88f717f79f15f8d10a0efb8895f7c503f7
+70f79615f8d20a0ef7ab8badf7fead01f98eb203f7e0f82015f72cfb4afb2bfb4847
+8b054fce5db93bcfddd1b9b7c5ce08f806fbfe15fb928bf713f72c05f743fb2c15fb
+2bf748f72cf74ad98b8bfbfe05fc13f7fe15f7958bfb14fb2d05fb98f74f15403b42
+494459086507ca5fda45d83908f8bdf842060efbedfb5fc6d9b7017aadf76cad03f7
+f67515fb0dfb0efb6cf70efb0d5fe2fb1df7b0f71de2060e719476f7f4b9e3b7c8b7
+01f73dbbf708bb03f7a4f90315688b617a798208976005a89d9b92ad8b08b1a67366
+1f56064e596c4f54ab6bbf1faf8ba5939d9a0878bbf73007da6ab73f1e82fb811571
+779aa8acae96b71fb006405f7e711ea3fbf51562e333f7193df108677b05ddfb05d9
+fb0ac9fb0d08b506c1f703ddf711dcf702086ba1053f2731fb1e6336080efba8a076
+01b7de03b7f72815fb28def71c078bf70fff00094ccdff0090999aff000db333ff00
+586666b1f789ff00436666ff0044b334ff0033999aff00454cccfffffc999aff000a
+4cccfffff9ccccff0006e668fffff4999aff0000ccccffff96cccdffff961998ffff
+bd3333ffffa6e66865fb5effffef199affffa63334fffff0e666ffff7fcccc8bfb16
+080efba8a07601b7de03f713fa111538fe11de060efba8a07601b7de03b7f97d158b
+fb16ff000f199affff7fccccff0010e666ffffa63334b1fb5eff0042cccdffffa6e6
+66ff00693333ffff96199aff000b6666ff0000cccdff00063334ff0006e666ff0003
+6666ff000a4ccdffffcc6666ff00454ccdffffbc999aff0044b33365f789fffff24c
+cdff00586666fffff6b333ff0090999a8bf70f08f71c38070efba8a07601f754de03
+f7a7f728158bf716fffff0e666ff00803334ffffef199aff0059cccc65f75effffbd
+3333ff00591998ffff96cccdff0069e668fffff4999affffff3334fffff9ccccffff
+f91998fffffc999afffff5b334ff0033999affffbab334ff00436666ffffbb4cccb1
+fb89ff000db333ffffa7999aff00094ccdffff6f66668bfb0f08fb1cde070efba8a0
+7601f754de03f7a7fa111538fe11de060efba8a07601f754de03f7a7f97d15f72838
+fb1c078bfb0ffffff6b333ffff6f6666fffff24ccdffffa7999a65fb89ffffbc999a
+ffffbb4ccdffffcc6666ffffbab333ff00036666fffff5b333ff00063334fffff919
+9aff000b6666ffffff3333ff00693333ff0069e666ff0042cccdff0059199ab1f75e
+ff0010e666ff0059ccccff000f199aff008033348bf716080efb83f70016cef98306
+8be2939af71d9591918b9d859108fb68060efb83f700fa1115fe11cefa11070efb83
+8ba901f700ce03f700fa1115fe11f7680791918b9d8591fb1d95839a8be208f98307
+0efb83f78c16fa11fb680785858b799185f71d81937c8b3408fd83070efb83f78cfa
+111548fe11ce060efb838ba901f749ce03f78cfa111548fd83068b34837cfb1d8185
+858b79918508f768060efb57f70116dbf726068bf730f707e0df9f91918b978591fb
+4d842d268bfb4d080efb57a076f84b9a12f701db54de13d0f709f850159007bca0be
+c28be60813e08bff005819986fff0015e6688bf70108c53b470713d08b2ca4ffffca
+19988bffffb3e6688b5974322884087c07ee84a2328b590813e08bffffb3e66672ff
+ffca199a8b2c0847dbc50713d08bf701a7ff0015e6668bff0058199a088be658c25a
+a0080efb57f701f84315fb1e078bfb4de926f74d8491918b978591379ffb07e08bf7
+3008f726070efb57a076f8437701f701db03f701f84315fc43dbf843070efb57a076
+f82ba301f767db03f7b716f71e078bf74d2df0fb4d9285858b7f9185df77f707368b
+fb3008fb26070efb57a076f84b9a12f74bde54db13e0f7aff850155a7658548b3008
+13d08bffffa7e666a7ffffea199a8bfb010851dbcf0713e08bea72ff0035e6668bff
+004c199a8bbda2e4ee92089a07289274e48bbd0813d08bff004c1998a4ff0035e668
+8bea08cf3b510713e08bfb016fffffea19988bffffa7e6688b30be54bc76080efb57
+8ba3f82b7701f767db03f7b7f843153bfb26068bfb30fb0736377785858b7f9185f7
+4d92e9f08bf74d080efb58a076f8437701f766db03f766f84315fc43dbf843070e47
+f705bdbec801c4a6f7eda603f861f73715fc1f59f81f0686f7881570068464496028
+8bfb018b54b682b20870069045c242f71f8bf7198bc8d391d2080efbedfb5fc6017a
+adf76cad037a7515fb49f7b0f74969fb0efb6cf70e070ef738ff017a3334fffff0cc
+cd15f8d30aff026fb33404f8d40ab1fffe6dcccc15ff00e17fff078bb2ff0000e666
+ff0027b334ff0001199aff000880008bff00031998fffffe4cccff0000199cfffffd
+b3348b67ffffe9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899
+988efffff9e668ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff
+000c66688b08ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078b
+ffffca0001ffffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc19
+9a8bfffff24ccdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff00
+00b333ff002333348bff001ee6668bff000fe666ffffff4ccdff00208000ffffff66
+66ff0003e668ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff00
+01e667fffff4e668ff000333338bc1080ef738ff017a3334fffff0cccd15f8d30aff
+026fb33404f8d40affff948000ffff4db33415fffff24cccff000c4cccfffff44ccc
+ff000db33496ff00138000ff000b999aff000e66661e8bff00053334fffffeb3328f
+fffffeb334ff00048000fffffeb332ff00048000fffffc199aff0005e6668bff0005
+333408ff00103332ff0010e666ff00178000ff002f8000ff00176668ff00211998ff
+ffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcfe666
+ffffd0800005ffffc04cceffffbefffffffff59998ffffe0cccd8bffffd9b333088b
+ff00213334ff00014ccdff0014cccc1eff0071b33406ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccc068bff001f3332ff00
+2cccceff002c4ccdff00033332ff0003333308ff0041b334ff003f199a05b0ff0023
+cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999affffcb66
+68ffffb7ccccffffd33334ffffcab334641e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40afffffd9998ffff9a4ccc15ff001c199aff0019e6667affff
+d633341f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff0003
+3332ffffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbff
+fff5999affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecc
+cc8bfffffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff
+0007cccd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999aff
+ffee8000b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194ccc
+ffffd99998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff00
+0ee666ff001b199a8bff00224ccc8bff00138000fffffb6666ff000fe668fffff033
+349bfffff1ccccff000e6664ffffe96666ff000ae668698b08ffffa06666ffffe4b3
+34ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff0016
+ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff00
+10e6661f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a9affff68
+199a15f8d50aff00674cccffff44b3321555ff00bde668068bff00208000ff000033
+34ff00196664ff00011998ff0005199c08fffffeb334ff00014cccffffeb4ccc8b05
+fffffb80008bfffffc6668fffffbb334fffffd9998fffffd1998ffffd7199affffcd
+999affffb44cceffff953334ffffc47fff2e8dfffff63332ff0003cccdffffee8001
+ff001380008b08ff0084b334ffffc43333068bffffe2199affffe74ccc8b6ffffffe
+1999fffffc199afffffc199a8bfffff24ccdff0003e666fffffc1999ff0014ccccff
+0000999aa5ff0000b333ff001de6688bff001999988bff00186668ffffff4ccdff00
+14ccccffffff6666ff0003e666ff0003e6678bff000db333fffffc199aff0003e666
+ffffe03334ff0002999afffff24cccfffffeb3338bff001e800008ff003bcccdff00
+2ce66607ff0009199aff00000001ff0009b334ff000c66668bff0007cccd08ff0006
+8000fffffd8000ff0003ccccfffff8cccc1e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40aff00411998fffe9b4ccc15ffffc23334ffffdf8000ffffd2
+999a641effffe74cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b
+199980ff0009cccdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe5
+6666ff00373332ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff00
+51e666caffffd46666ff0038b334ffffb733321fffffe4199a8b73fffffa1998ffff
+f44ccefffffb80000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff00
+1f33348bff001380008bff00161998ff00013334ff001ab334ff0002999808ff000a
+4cccff002c3334fffffb8000ff0002b3340566fffffc1998ffffdce668fffffcb334
+ffffdd80008b738bffffe89998ff00013334ffffe933348d08ffffe9e666ffff44cc
+cc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334ff002119
+986fffffb919991f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a
+ffffb7b332fffee5199a15ff0015666699ff0015199aff0000e666ff000b4cce8b08
+ff003fb332ff000e4cceffffc1999affffdf8000ffffb88000ffffe4b332ffffdf80
+00ffffe0199a6266ff00161999ff006f19991f8bff000e999aff0001999aff001180
+00ff0003ccccff0012b33408ff0005e666ff0017999a15ff0011999aff003b1998ff
+00294cceff00418000ff00568000ff002066688bff0007ccccfffffd666691fffffa
+ccccff00033334ffffbe4cceffffec8000ffffd7b332ffffe49998ffffdb999affff
+d5ccceffffd7b334ffffd13332ffffebe666ffffc4e6688bffffcc999808ffff7c00
+01ff004ab33271ff0032199aff0055199aff00233334ff00529999ff0037e666ff00
+37e6686dbdffffa799981effffef199a8bffffe6cccefffffae666ffffec9998ffff
+f7199a080ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40affffe64c
+ccffff7d4ccc15ff00744ccc06ffffcd4cceffff81e668ffffccb332ffff813332ff
+ffd3ccceffff9d333408ff00053332fffffb6666ff002c33348d05b0ff006e8000ff
+0023ccccff006be666ff0048ccccff00b1666608fffff5999cff0007e6680580ffff
+fcccccfffff1b33287ffffe74cce8b08fb1a06ffffe9e6668bff00016666ff000680
+00fffff44cccff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0cc
+ccfffff8e66664fffffaccceffffde3334ff0007199889ff00068000ffffff1998ff
+00073334ff0000e668ff000e4cccbfff00156668ff00049998ff0014cccc8b080ef7
+38f80ff87b15b3a06b6e1f8b6a656d7a7f0879970564a481a18b9e08a8a3a8b01eee
+4d15b768ac4e4d60665b1e8b699d72b172089585057c7f7d817c7d7275816f8b7208
+4cb869ccdbb1c7bb1e8bae7ba76ba00866a505a69db7aa8bb20824fbb4156f5da4c1
+1f8b9e97b6c0ae08a97a05b2739b6e8b6e084d5b7c6f1eff00033334ffff67cccd15
+f8d30aff026fb33404f8d40a0ef738ff017a3334fffff0cccd15f8d30aff026fb334
+04f8d40aff005a1998fffeda4ccc15ffffea999a7dffffeae6668afffff4b3348b08
+ffffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff002080
+00ff001fccceb4b0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ffffee99
+9afffffc3332ffffed4ccc08fffffa199affffe8666815ffffee6666ffffc4e666ff
+ffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999afffffa19
+99ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccdff0024
+6666ff002a3333ff00284cccff002ecccdff0014199aff003b33348bff00334ccc08
+f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affffc8199a
+ff001de66659ff005866661eff0010e6688bff00194cccff00053332ff00136666ff
+0008e668080ef738ff01333334ff00ce4ccd15f8d60ad2ffff22800015f8d30aff02
+6fb33404f8d40aff006e9998ffff9a4ccc15f8d70afffffd6668fffe83b33415f8d8
+0a0ef738ff02013334ff00ce4ccd15ff00e17fff078bb2ff0000e664ff0027b334ff
+0001199cff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffff
+e9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899988efffff9e6
+68ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff000c66688b08
+ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ff
+ffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc199a8bfffff24c
+cdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff0023
+33348bff001ee6688bff000fe664ffffff4ccdff00208000ffffff6666ff0003e668
+ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4
+e668ff000333338bc108fb5a16ff00e17fff078bb2ff0000e666ff0027b334ff0001
+199aff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b3
+32ffffddccccffffefe666ffffc6cccdffffe566688cfffff899988efffff9e668ff
+0005cccd87ff001d9999ff000c4cccff000e999aff0003e666ff000c66668b08ff00
+0ab333ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ffffee
+6666fffffccccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff
+0003e667fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff00233334
+8bff001ee6668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff00
+03e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668
+ff000333338bc108caffff22800015f8d30aff026fb33404f8d40a0ef738ff013833
+34ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404f8d40aff00058000
+ffff4cb33415fffff24cccff000c4cccfffff44cccff000db33496ff00138000ff00
+0b999aff000e66661e8bff00053334fffffeb3328ffffffeb334ff00048000fffffe
+b332ff00048000fffffc199aff0005e6668bff0005333408ff00103332ff0010e666
+ff00178000ff002f8000ff00176668ff00211998ffffefb334ffffc1999a1e8bffff
+d666667cffffde3334ffffd9b3346408ffffcfe666ffffd0800005ffffc04cceffff
+befffffffff59998ffffe0cccd8bffffd9b333088bff00213334ff00014ccdff0014
+cccc1eff0071b33406ff0014ccccff001de668fffffeb3338b1fff00088000ff0022
+8000ff00068000ff0030b333ff00009998ff00138000fffffc199cff00033334ffff
+f79998ff00016666fffff98000fffffeb33380ffffd1cccdfffff4e668ffffefb333
+ffffe899988b08ffff8c4ccc068bff001f3332ff002cccceff002c4ccdff00033332
+ff0003333308ff0041b334ff003f199a05b0ff0023cccca7ff001c80008bff003166
+6808ff00463332ffffc6ccccff001c999affffcb6668ffffb7ccccffffd33334ffff
+cab334641e0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40aff00739998ffff964ccc15ff001c199cff0019e6647affffd63334
+1f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff00033332ff
+ffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbfffff599
+9affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecccc8bff
+fffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff0007cc
+cd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999affffee80
+00b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194cccffffd9
+9998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff000ee664
+ff001b199a8bff00224ccc8bff00138000fffffb6668ff000fe668fffff033349bff
+fff1ccccff000e6664ffffe96668ff000ae668ffffddfffe8b08ffffa06666ffffe4
+b334ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff00
+16ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff
+0010e6661f0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40af70cffff68199a15f8d50aff00674cccffff44b3321555ff00bde6
+68068bff00208000ff00003334ff00196664ff00011998ff0005199c08fffffeb334
+ff00014cccffffeb4ccc8b05fffffb80008bfffffc6668fffffbb334fffffd9998ff
+fffd1998ffffd7199affffcd999affffb44cceffff953334ffffc480002e8dfffff6
+3332ff0003ccccffffee8001ff001380008b08ff0084b334ffffc43333068bffffe2
+199affffe74ccc8b6ffffffe1999fffffc199afffffc199a8bfffff24ccdff0003e6
+66fffffc1999ff0014ccccff0000999aa5ff0000b333ff001de6688bff001999988b
+ff00186668ffffff4ccdff0014ccccffffff6666ff0003e668ff0003e6678bff000d
+b333fffffc1998ff0003e666ffffe03334ff0002999afffff24cccfffffeb3338bff
+001e800008ff003bcccdff002ce66807ff00091998ff00000001ff0009b334ff000c
+66668bff0007cccd08ff00068000fffffd8000ff0003ccccfffff8cccc1e0ef738ff
+01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404ff004fe666
+8bff00486666ffffe06668ff0034e668ffffccb330ffffdcccccfffffc4cd0ffffde
+6664fffffd1998ffffdf199c8b738bffffe89998ff00013334ffffe933348d08ffff
+e9e666ffff44cccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff00
+2a3334ff002119986fffffb91999ffffc23333ffffdf8000ffffd2999a641fffffe7
+4cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b199980ff0009cc
+cdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe56666ff00373332
+ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff0051e666caffffd4
+6664ff0038b334ffffb733341fffffe4199a8b73fffffa1998fffff44ccefffffb80
+000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff001f33348bff0013
+80008bff00161998ff00013334ff001ab334ff0002999808ff0008e668ff00263334
+05ff0031e664ffffcb999aff001e999cffffb9199a8bffffb1800008ffff5d6666ff
+ff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a1
+3332ff0081e667ff0083999aff00a266671e0ef738ff01383334ff00ce4ccd15f8d6
+0acdffff22800015f8d30aff026fb33404f8d40aff0020b332fffee4199a15ff0015
+666699ff0015199aff0000e666ff000b4cce8b08ff003fb334ff000e4cccffffc199
+9affffdf8000ffffb88000ffffe4b334ffffdf8000ffffe019986266ff00161999ff
+006f19991f8bff000e999aff0001999aff00118000ff0003ccccff0012b33408ff00
+05e666ff0017999a15ff0011999aff003b1998ff00294cceff00418000ff00568000
+ff002066688bff0007ccccfffffd666491fffffaccd0ff00033334ffffbe4cccffff
+ec8000ffffd7b332ffffe49998ffffdb999affffd5ccceffffd7b334ffffd13332ff
+ffebe666ffffc4e6688bffffcc999808ffff7c0001ff004ab33271ff0032199aff00
+55199aff00233334ff00529999ff0037e666ff0037e6686dbdffffa799981effffef
+199a8bffffe6cccefffffae666ffffec9998fffff7199a080ef738ff012c3334ff00
+ce4ccd15ff00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff
+00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffef
+e666ffffc6cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d99
+99ff000c4cccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccdff
+fff06666ffffe9e6681fffff2c199907ffffffffffffffca0001ffffee6667fffffc
+cccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff0003e667ff
+fffc1999ff001fe666ff0000999aff00174ccdff0000b333ff002333338bff001ee6
+668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff
+000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668ff00033333
+8bc108d9ffff22800015f8d30aff026fb33404ff0050cccc8bd4ffffdfccccff0035
+1998ffffcb999cfffff6999cfffffdccccfffff43334fffffe4cccffffef4ccc8b08
+fb1a06ffffe9e6668bff00016666ff00068000fffff44cccff00029998898bffffff
+66688b8bfffffe199cffffff4cccffffe0ccccfffff8e66664fffffaccceffffde33
+34ff0007199889ff00068000ffffff1998ff00073334ff0000e668ff000e4cccbfff
+00156668ff00049998ff0014cccc8b08ff00744ccc06ffffcd4cceffff81e668ffff
+ccb332ffff813332ffffd3ccceffff9d333408ff00053332fffffb6666ff002c3334
+8d05ff0024199aff006bb333ff0022ccceff00693333ff00451998ff00a96666ff00
+2b999858ff001a4cd0ffffbdb3348bffffb7333408ffff5d6666ffff7b4cccffff7c
+8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667
+ff0083999aff00a266671e0ef738f883f87b15b4a06b6e1f8b6a646d7a7f08799705
+64a481a18b9e08a8a3a8b01eee4d15b768ac4f4c60665b1e8b699e72b07208958505
+7c7f7e817b7d7275816f8b72084cb869ccdbb1c7bb1e8bae7ba76ca00865a505a69d
+b7aa8bb20824fbb4156f5da4c11f8b9e98b6bfae08a97a05b2739b6e8b6e084d5b7c
+6f1effff4d3334ff00454ccd15f8d60acdffff22800015f8d30aff026fb33404f8d4
+0a0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a49fffe6dcccc15
+f8d60aff01081998ff00707fff15ffffea999c7dffffeae6648afffff4b3348b08ff
+ffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff00208000
+ff001fccceff0028fffeb0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ff
+ffee999afffffc3334ffffed4ccc08fffffa199cffffe8666815ffffee6664ffffc4
+e666ffffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999aff
+fffa1999ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccd
+ff00246664ff002a3333ff00284cd0ff002ecccdff00141998ff003b33348bff0033
+4ccc08f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affff
+c8199aff001de66659ff005866661eff0010e6688bff00194cccff00053332ff0013
+6668ff0008e668080ef738ff017a3334fffff0cccd15f8d30aff026fb33404ff00a2
+6664ff00834cd0ffff7dccccffff5d6668ffff5d6666ffff7b4cccffff7c8000fb35
+1fffffa5e6668bffffafe666ff00288000ffffca8000ff003fccccff0009e666ff00
+006667ff00176667ff0000b3339b8b08ff0071b33306ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccd06ff00000001ff001f
+3332ff002ccccdff002c4ccdff00033333ff0003333308ff0041b333ff003f199a05
+b0ff0023cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999a
+ffffcb6668ffffb7ccccffffd33333ffffcab33464fffff24cccff000c4ccdfffff4
+4cccff000db33396ff00138000ff000b999aff000e66661e8bff00053334fffffeb3
+338ffffffeb334ff00048000fffffeb333ff00048000fffffc1999ff0005e6668bff
+0005333408ff00103332ff0010e667ff00178000ff002f7fffff00176668ff002119
+98ffffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcf
+e666ffffd0800005ffffc3999affffc26666fffff38000ffffe0ccccfffffee666ff
+ffdc3334ffffd7e667ff00326666ffffe81999cb8bff0045b33408ff00a13332ff00
+81e667ff0083999aff00a266671eff00839998ffff9a4ccc15f8d70afffffd6668ff
+fe83b33415f8d80a0ef78df86ff70e15f8d90afffe5db334ff0095cccc15f8da0aff
+02cd99988915f8db0a0ef78df78bf86815f8dc0affff3bb333ffff3bcccc15f8da0a
+ff02cf99988915f8db0a0ef78df830f8d315ff002b3334ff0027e66671ffffbfb334
+1f8bffffcdcccc51ffffb3999affff9ce666fffff1e66608906b059c8d9d8b988b08
+c4d57bfb05fb193270681f588b82a27f9d81997e97778b087676787b63df70c7f70b
+f5d8f7181f8bf70139b25095088a8d05ff00524cccff0026999aff0017199cff0029
+999a8bff0034b3328bff001e0002fffff8e664ff00188000ffffe7b334ff00189998
+ffffea3334ff00161998ffffdd1998ff0010e668ffffcbb3348b08fb27612b6a7d95
+77a3ae8fac9ecbd097a51ffffe9eb334fffed0cccc15f8da0aff02ce99988915f8db
+0a0ef78df868f88f15f8dd0af733fbb415f8de0afffdcfb334ff0034cccc15f8da0a
+ff02d099988915f8db0a0ef78df89ef75115f8df0afffe30b334ff0052cccc15f8da
+0aff02d699988915f8db0a0ef78dff014a3334f7c715ff0020ccccff0015999aff00
+20999aff00016666ff001166668b08eda12b59fb0261595a4c52adf73f1f8bff0016
+8000ff00024cccff001ab334ff0005e668ff001ccccc08ff00091998ff00244ccc15
+ff001b199aff005ae668ff003f999af0f719ff0031cccc8b9787948390266d4d6153
+4a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffffd9199a83
+ffffe23332fffff24ccc08fffee66668ffffb8800015f8da0aff02cf99988915f8db
+0a0ef78df806f8ab15f747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af7
+04f7a5087b97057a867585658b08fb6206698b8d95798f888b8a8b8b888a5b804f83
+57ff000ae666fffffce666ff000a199afffffeccce96ff00014ccca1dbac92ab8b08
+fffebbb334fffef8cccc15f8da0aff02f699988915f8db0a0ef78df83ff8be15c9ab
+595f1f8b58505d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2a
+4a51421e8b56a765c465089c8005737a777a737664697c608b66082acf56eff710c6
+e8d31e8bc271b65bab0851b305b5a7d0ba8bc808fb34fc4f156046b0e01f8ba79dcd
+dcc208b87005c767a55e8b5e082c4074601efffe9db334ff00ffcccc15f8da0aff02
+cf99988915f8db0a0ef78dff0225ccccf7b815410afffff6e668ffffdbb33315ffff
+e4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9c9
+b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e6
+6693ff001dccceff000db33308fc75ff0010199915f8da0aff02d799988915f8db0a
+0ef914f9aef8d3152b0a87fcdd15f8e00afbd4f71815f8d90afffe6ab334ff0095cc
+cc15f8da0aff044b99a08915f8e10a0ef914f9ddf70e15f7ef078bc7ff00014cccc8
+ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008bffffc8b334ff
+ffddb334ffffcb4cccffffe74ccc3362ff00019998fffff4999aff00046668fffff6
+800094fffff9e666ff002d80009eff00168000919e8b08ff00108000ff0003800073
+691ffbda078b387086458885858b769185bc8cff0023cccc8cff003633348bff002f
+99988bff001866688abd8a91918ba08591458e7a908bde08fbf516f8d90afffe5eb3
+34ff0095cccc15f8da0aff044799a08915f8e10a0ef914f90ff86815f8dc0afb27fb
+ee15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9b8
+f8d315ff002b3334ff0027e66471ffffbfb3341f8bffffcdcccc51ffffb3999affff
+9ce668fffff1e66608906b059c8d9d8b988b08c4d57bfb05fb193270681f588b82a2
+7f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095088a8d
+05ff00524cccff0026999aff0017199cff0029999a8bff0034b3328bff001e0002ff
+fff8e664ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998
+ff0010e668ffffcbb3348b08fb27612b6a7d9577a3ae8fac9ecbd097a51ffbd0fc59
+15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9d4f8
+8f15f8dd0af733fbb415f8de0afc8b2a15f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914fa21f75115f8df0afc384815f8d90afffe5db334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914ff02b43334f7c715ff0020cccc
+ff0015999aff00209998ff00016666ff001166688b08eda12b59fb0261595a4c52ad
+f73f1f8bff00168000ff00024cccff001ab334ff0005e668ff001ccccc08ff000919
+98ff00244ccc15ff001b199cff005ae668ff003f9998f0f719ff0031cccc8b978794
+8390266d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e71
+8bffffd9199883ffffe23334fffff24ccc08ffff2ab334ffff22b33415f8d90afffe
+5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f963f8ab15f747063d
+fb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a867585658b
+08fb6206698b8d95798f888b8a8b8b888a5b804f8357ff000ae668fffffce666ff00
+0a1998fffffeccce96ff00014ccca1dbac92ab8b08fb85fc3115f8d90afffe5eb334
+ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9abf8be15c9ac595f1f8b58
+4f5d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2b4951421e8b
+56a765c565089b8005737a777a737664697c608b66082ad056eff70fc6e8d31e8bc2
+71b65cab0850b305b5a7d0ba8bc808fb33fc4f155f46b0e01f8ba79dcddcc208b870
+05c767a55e8b5e082c4174601efbbdf515f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914ff0396ccccf7b815ffffdf3334ffffea6666ffffdf
+6668fffffe999affffee99988b082975ebbdf702b5bdbccac469fb3f1f8bffffe980
+00fffffdb334ffffe54cccfffffa1998ffffe3333408fffff6e668ffffdbb33315ff
+ffe4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9
+c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026
+e66893ff001dccccff000db33308fffe554cccffff7a4ccd15f8d90afffe5eb334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914f9d7f8d3152b0a87fcdd15f8e0
+0afcd0f87215f8dc0affff41b333ffff3bcccc15f8da0aff044799a08915f8e10a0e
+f738ff011f6666ff01183334158fff00073332978bff0015999a8b08d306ff001599
+9a8b93fffffe6666ff0001999a83089bffffa5999a05ff00043332ffffe68000ffff
+fde666fffffa4ccdffffdeb334fffffb333308fffffa6666ffffff333405fffffccc
+ceffffff3333fffffe6666fffffe66668bfffffd999a088bffffef3333ff0001999a
+fffffe6666058bff00333332ff0001999aff00166666a3ff0035999cfffffe66668b
+1eff00019998ff0001999a8bff0010cccd058bff00026667fffffd9998ff0002199a
+fffffcccd0ff00004ccd6fff00026666fffff33332ff0004cccdfffff8ccccff0022
+666608ffffc9999aff0103333405fffffcccccff000f3334fffffe3334ff0006199a
+b8ff00038000ff00026666ff00003332ff0001999aff000233348bff00026666088b
+9bffffff3334ff0001999a05ffffd59998ffffff3332ffffc4ccceffffff3334678b
+ffffdb33328bffffe73334ff0000ccccffffe66666ff0000ccce08fffffd999affff
+fe66668b7b05fffffcccccff00026666fffffe6668ff0004ccce1eff001a6666ffff
+ff3332ff00073332fffffcccce8bfffff0cccc8bffffe66666ffffb33334ffff2f33
+347bffffd73333fffff73333ffffe99999fffff33333fffff9999affffea6667ffff
+fd999afffffccccdffffff999987fffffc66678bfffffd9999088bfffff0cccdff00
+019999fffffe666605ffffffffff8bff002ccccdff0001999aff001666668b08ff00
+18ccceff00273332fffffe66668b1fff0001999aff0001999a8bff0010cccd058bff
+00026667fffffd999aff0001999afffffcccccff0000cccd08fffff66666ff000199
+990573ff0003fffffffffa3334ff0003999a8eff000d33338b8bff00156666ff004f
+199a96ff001c199a08ff0048cccef75415ff001199988bff000d3334fffff9199891
+ffffe4800008ff00133334ffff99999a05ff00033332ffffef33347ffffffa6666ff
+fff1999a8b08ffffbd999a06ffffe9999afffff99998ff0001999aff000733321f8b
+8bff001b3334e7ff000a6666abff0005999aff0010ccceff0004ccccff0009999aff
+000e66688b089dfffe18999815f8d30aff026fb33404f8d40a0ef738ff015c6666ff
+01b3666615ff0018ccceff0005999a93ff00373334ff00233332ff0029999afffff7
+3332ffffca66665bffffe8ccccffffeb3334571effffc1999a06ffffe5999a04ff00
+3e666606ff0048ccceff00126666ffffdb4cccffffd4b334ffffdcccccfffff33334
+ffffd26667ffffae6666ffffcbe666fffff8e666ff000b3333ff001d999a1fffffe0
+ccceffffbe666615a38bff00299998fffffe6666ff002cccce8bff006a66668bff00
+259998ff002bb3348bff0039e6668bbfffffe5999cff0023333453ff000cccccabff
+000e6666ff00199998af8bff001f33348bff002cccccffffeb3334ff002b3334fb08
+8bffffd5999a8bffffe44cccfffffe6666ffffe880008b08ffffe8ccce8b67ff0000
+ccccffffe26666ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdff
+fffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53
+3334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33
+338bffffef3333ff0004cccdfffffb3333ff0021999aff0000cccdff0021ccccff00
+00cccdff001633348b08c8ffff73cccd15f8d30aff026fb33404f8d40a0ef738ff01
+7dccccf70615ff003e66688bff00266666ff00173333ff0025999aff00326667ffff
+fe6664ff00059999fffff80002ff00088000fffff9999aff0001e667ffffdb3332ff
+ffd4cccc6f7bffffca66668b08ffffb0ccceffffd1999aff0055999aff004f3334ff
+00866666ff003e6666a7c71fcb8bff0025999affffdcccccff000999985393fffffd
+999a93ffffffb33493ff00051998ffffffccccff0020e668fffffe6668ff00216666
+fffff83334ff0024199affffe199988b67ff000ccccc4b8bffff9666688bffffae66
+663b8bffff8b33348bffffcd3332ff000fe666ffffc96667ff00274ccdffffdbcccd
+08ff001fe667ffffe29999ff002ce666ffffefcccdff003b33328b08fffffc6668ff
+ff7ecccd15f8d30aff026fb33404f8d40a0ef738ff01416666ff00b6cccd15ff0101
+9998079f9fff0004ccceff001f3334ff00866666ff00126668ffffa26666ffffaccc
+ccfb04ffffce6664ffffe2666733ffffc33334fffffa6666ff000d9999ff00166667
+1e6bff0133333415ffffea199a8bffffdc4ccdff0000ccccffffe0cccdff0000ccce
+fffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffc
+ccccff0008cccefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffff7
+3332fffffd999affffcf333487fffffb3333fffffb33338bffffef3333ff0004cccd
+fffffb3333ff001e6666ff0000cccdff00244cccff0000cccdff0016e6688bff0015
+19988bff001fb334fffffe6666cb8b08ff0058ccccff00633334ff0029999af720ff
+006a6666ffffbe6668ff00533334ffff7a66641fffffc9e6688bffffe33332fffffe
+6666ffffe880008b08ff0058cccefffe06cccc15f8d30aff026fb33404f8d40a0ef7
+38ff018d6666f7c215ff0034999a8b8cfffff0ccccff0001999affffe266688fffff
+fbffffff000e66668b8fff00040001ffffff3334ff00126666ffffff3332ff001b4c
+cc8bff000cb3348bff000accccff0000cccea5ff0000cccc9f878ffffff1999a8b87
+87fffffe666667fffffe3334fffff73334ffffcc33328b08ffffd26666ff0071999a
+06ff000d9998ff000a6668ff0008ccceff000f33321eff002d999a06ff0041999a8b
+ff000a6666ffffe5999aff000e6668ffffd2666693ffffff3332ff00073330ff0001
+999aff00066668ff00033334fffffcccccff001b3332fffff66668ff003e6668ffff
+fe6664ff000599988bff0001999affffff3334ff0000cccefffffe66688b80fffffd
+9998fffff79998ffffff3334fffff2999a8b08ffff5a666606748b66ff0000ccccff
+ffe33334ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb33
+34ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53333407
+8bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33338bff
+ffef3333ff0004cccdfffffb3333ff001cccccff0000cccdff00233334ff0000cccd
+ff0019999a8b08ff007b333206abff0034ccccfffffe66668b1fff0009999cff0020
+cccdff0008ccccb7ff00059998ff0021999afffff8ccd08ffffff99998ff00019999
+fffff73334fffffd999afffff33334ffffd0cccdffffe8cccc63ffffbd99988b08ff
+ffdd999a06ffffde3334ff00000001fffff83332ff000899998bff001a999a08f70c
+07ff001a6668fffec2cccc15f8d30aff026fb33404f8d40a0ef738f7b4ff00db999a
+158bffffbd9999fffff73334fffffd999affffcf333287fffffb3334fffffb33338b
+ffffef3333ff0004ccccfffffb3333ff001e6666ff0000cccdff0020999aff0000cc
+cdff001a999a8ba78bff001f3334ffffff3333ff001d9998ffffff3333ff0004ccce
+ff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff00033333fffff7
+33348f8bff0041999a08ff00466666ff002d999807ff0033ccce8bff0001ccccffff
+ee3334ff0001999affffe4ffff8f87ff000e66668b8f8fffffff3334ff0010cccdff
+ffff3332ff0012cccc8bff0016ccce8bff00163332ff0000ccceff0012999aff0000
+cccc9b878ffffff1999a8b8787fffffe666667ffffff3334fffff73334ffffcb3332
+8b08ffffd26668ff007d999a06ff000d9998ff000a6666ff0008ccceff000f33321e
+ff003d999a06ff0031999a8bff000a6666ffffe5999aff000e6666ffffd2666693ff
+ffff3332ff00073334ff0001999aff00066668ff00033334fffffcccccff001b3332
+fffff66664ff003e6668fffffe6668ff000599988bff0001999affffff3334ff0000
+cccefffffe66648bfffff4cccefffffe6666fffffa6666fffffe66667b8b08ffff5a
+666806738bffffdf3332ff0000cccc6bff0000cccefffffb3334fffffb33328bffff
+ef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc8b
+ffffbd999a08ff005a3334fffe68666615f8d30aff026fb33404f8d40a0ef738ff02
+189998f757158bff00423334ff0004ccd0ff00026666ff0018cccc8fff0004ccccff
+0004cccc8bff0010cccefffffb3334ff0004ccccfffff19998ffffff3334ffffe94c
+ccffffff3332ffffe780028bffffe7b3328bffffdb8000ff0000ccceffffe8ccceff
+0000ccccfffffb3332fffffb33348bffffef3332ff0004cccefffffb3334ff0030cc
+ccfffffccccc8ffffffcccce8bffffbd999908ffffd4cccd07ffffe66666fffff8cc
+ccffffe5999a876f8b0827ffffdf3334ff00666667ff00419999ff0060ccceff002e
+6666ff00426666ff004ccccc1fff004f33348bff0021999a6397ffffccccccff0007
+fffefffffd800093ffffffb33493ff00053332ffffff199cff0020ccce89ff00214c
+ccfffff88000ff00244cce738bffffc4ccccff000cccccffffd333348b08ffff8d99
+98ffffa4ccceffffb66666ffff81999affff9a6666d7ffffad999aff007266661fff
+003666668bff003accce93ff00353334ff001ccccdfffffa6664ff00059999fffffc
+ccccff000733348bff0005999908ffff61999cffff47999a15f8d30aff026fb33404
+f8d40a0ef738f8b3ff018d6666158bff00426666ff0008ccccff00026668ff0030cc
+cc8fff0004ccd0ff0004cccc8bff0010ccccfffffb3330ff0004ccce6ffffffe6666
+ffffdcccd08bffffe599988bffffe9999a8bffffdcccccff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffffbb3334ffff473334ff
+0044cccc078bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffde3332
+ffffff3334ffffe6999a8bffffe84ccd8bffffdee666ff0000cccc6bff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030cccdfffffccc
+ccff0008cccdfffffccccc8bffffbd999a08ffff53333407ff00000001ffffbd9999
+fffff73333fffffd999affffcf333387fffffb3333fffffb33338bffffef3333ff00
+04cccdfffffb3333abff0000cccdff0020199aff0000cccdff00197fff8bff001966
+688bff00203332ffffff3333ff001f3334ffffff3333ff0004ccccff0004cccd8bff
+0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff00033333
+8bff0042666708ff004d999aff00b8ccccffffb26666078bffffbd9999fffff73334
+fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff0004ccceffff
+fb3333ff001d9998ff0000cccdff00203334ff0000cccdff001bcccc8bff00184ccc
+8bff00214cd0ffffff3333ff001f3330ffffff3333ff0004ccd0ff0004cccd8bff00
+10cccdfffffb3330ff0004cccdffffcf3334ff00033333fffff73334ff000333338b
+ff0042666708ffff5b3334ffff10333315f8d30aff026fb33404f8d40a0ef738f833
+ff01886666158bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff
+0004cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffdd4c
+ccffffff3334ffffe780008bffffe7b3348bffffdeb332ff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffff533334078bffffbd99
+99fffff73334fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff
+0004cccefffffb3333ff001d9998ff0000cccdff0021199aff0000cccdff001ae666
+8bff0019e6688bff0022e666ffffff3333a7ffffff3333ff0004ccccff0004cccd8b
+ff0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff000333
+338bff0042666708ffffdb3334ffff15333315f8d30aff026fb33404f8d40a0ef738
+f7d9ea157a8b8a938a928a98819f788b087d8180786fad7fb11fa18ba2979c9ca8a7
+9cbb8bda08f763079b9394a51e95068e8d8c8e1f8b9c898d058b528974734b8d8b1e
+8a898b7a05888d8a8e1ea106a49584791ffb6f07fb0d766e711eff00353334ffff91
+cccd15f8d30aff026fb33404f8d40a0ef738ff00f8999aff0188666615ffff533334
+078bffffbd9999fffff73333fffffd999affffcf333387fffffb3333fffffb33338b
+ffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0023b334ff0000cc
+cdff001780008bff0016e6668bff001b8000ffffff3333ff001a6666ffffff3333ff
+0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffd9999a8ffffff8
+ccccff000266668bff0042666708ff004a666607ff0011999a8b9f87977b08ff0058
+ccceffff91999a05ff000b3332fffff33333ff0000cccefffff733338bfffff5999a
+08fffff4cccc07ff0008ccccff0000cccd9fff0000cccdff0014cccc8bff00166668
+8bff00273334fffffe66668b8bff0004ccccff0004cccd8bff0010cccdfffffb3334
+ff0004cccdffffea6664ff00026666ffffecccccff0008999afffff5999cff000c33
+3308ffff899998ff008b33340587ff0004ccccfffffcccce8f8bff0004cccc8bff00
+066668ff0004ccccff0008ccccff000d999aff000e666608ff0044ccccff004f3334
+05ff00183334ff001be666ff001d6668ff0004199aabff0001999aff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe7b330ffffff3332ffffe5e668
+ffffff3334ffffeb33348bffffe8cccc8bffffe5e666ff0000ccccffffe88000ff00
+00cccefffffb3334fffffb33328bffffef3334ff0004ccccfffffb3334b3fffffd99
+9883ffffeb3334ffffc26666ffffba666608ffffdde668ffffd96666ffffe88000ff
+fff36668ffffe599988b08ff00473332078bff00426666ff00073334ff00026668ff
+002666668fff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe6
+6666ffffff3332ffffe5e668ffffff3334ffffe6e6668b748bffffdc9999ff0000cc
+ccffffe0cccdff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdffff
+fb3334ff0030cccd87ff0008cccdfffffd99988bffffbd999a08ff0081999afffe68
+666615f8d30aff026fb33404f8d40a0ef738ff01fa3334f70e158b8bff00126664ff
+004ccccdff0005999cff00219999fffff8cccc8ffffff99998ff0001999afffff733
+34fffffd999afffff33334ffffd0ccccffffe8ccccffffd8cccdffffcd999a8b0867
+06ffffed999afffffffffffffff4ccccff000ccccd8bff000f333308ff00d7333307
+8bff00426666ff0008ccceff00026668ff0030cccc8fff0004ccceff0004cccc8bff
+0010ccccfffffb3332ff0004ccceffffe26666ffffff3332ffffdf8000ffffff3334
+ffffe480008b728bffffddccceff0000ccccffffe26666ff0000cccefffffb3333ff
+fffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffffe66668753ffff
+fd999afffffb3333fffffb33338bffffef3333ff0004cccdfffffb3333ff00273334
+ff0000cccdff0034ccccff0000cccd8b8b08ff00333334ffff76cccd15f8d30aff02
+6fb33404f8d40a0ef738f87ef840158791fb928b1e7887857a1e7a06888989881f8b
+7a8c89058bc18da21eff001519988bff00253334fffffe8000ff0008ccccffffff99
+9a55ffffc2e666ffffb13334ffffd9999affffa8e6688bffffa833328bffffb1999a
+ff00266666ffffca999aff003d199a92ff00006666ff001c4cccff00018000ff0013
+199a8b08a3b1898b1f8c8d8b9c058e878d896b858da91e88f789f711fbbd058d878f
+898f8b8f8b8e8c8d9008ff00053334ffff73cccd15f8d30aff026fb33404ff00a266
+64ff00834cd0ffff7dccccffff5d66681f8bffffb77fffffffe59998ffffbdb333ff
+ffd48000ffffccb33408ff000e6666078e878d881e6f8b7c8c8aab0884f79f059e8c
+90b2908d8d901e8b99898d2789fb01fbb1fb09f7b1238d89898b7a05898d898faa96
+887b1efba1076d7f856c888889881efffff0333307ffffd43333ff00336666ffffe5
+b333ff0042e6668bff0049333408ff00a13332ff0081e667ff0083999aff00a26667
+1e0ef738f7a5ff00db999a15f72c078bff00276666ff000a199afffff86666ff0012
+b3327408f750ffff05999a0597fffff33333ff000cccccfffffb3333978b08ff0009
+999c93ff0005999a9b1fff01026666078bff00426666ff0008ccccff00026668ff00
+30cccc8fff0004ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff
+3332ffffe33334ffffff3334738b738b6fff0000cccc73ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff6a6667078bffffea6667fffffd999afffff266
+67ffffe73332ff0021999908ffff48ccceff00f8cccdffff8e6666ff0001999affff
+fe6666fffffd999a8bffffeccccc05fffffcccccff0004cccdfffffe6668ff000266
+661eff001e6667fffffd9998ff0008ccccfffff6666893fffff1999808ffff24ccce
+078bffffbd9999fffff73334fffffccccdffffcf3333fffffccccdfffffb3333ffff
+fb33338bffffef3333ff0004cccdfffffb3333a3ff0000cccda7ff0000cccda38bff
+0017ffff8bff001cccceffffff3333a3ffffff3333ff0004ccccff0004cccd8bff00
+10cccdfffffb3334ff0004cccdffffcf33328ffffff73334ff000266668bff004266
+6708ff00693334ffff15333315f8d30aff026fb33404f8d40a0ef738ff017a3334ff
+01dc999a15f8e20aff00ca6664ffff5e666615ff0071999affffa4ccceff004a6666
+23ffff90ccceffffaa6666ffffaf3334ffff8a6666ffff933333ff00526666ffffb3
+3333f700ff00833334ff00466664e7f31effff35999cfffeb5cccc15f8d30aff026f
+b33404f8d40a0ef738ff01683334ff01ad333415ff00199998ff00099998ff000a66
+68ff00266668ff002f3332ff0019999affffe74cccffffc7e666ffffc64cceffffeb
+3334ffffe0e6665b1e7b8b77ff000266667bff0006666608ffffab333404ff003b33
+3207ff000e6666fffff9999a9bfffffcccce9f8b08ff006b3332ff0020ccccff004c
+ccccbbff0029999a73c3ffff8e66681fffffe266668bffffde6666fffffe6666ffff
+ea66688b748bffffde3332ff0000cccc6bff0000cccefffffb3334fffffb33328bff
+ffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc
+8bffffbd999a08ffff533334078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001a6666ff00
+00cccda7ff0000cccdff002333348bff002266668ba7ffffff3333ff001a6666ffff
+ff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334
+ff00033333fffff73334ff000333338bff00426667089dffff15333315f8d30aff02
+6fb33404f8d40a0ef738ff017a3334ff01dc999a15f8e20afffe14333204f8d30aff
+026fb33404f8d40aff005c9998fffe28999a15d3ff001fccccff0025ccccff0045cc
+cd8bff004c4ccd08ff0071999affffa4ccceff004a666623ffff90ccceffffaa6666
+ffffaf3334ffff8a6666ffff933333ff00526666ffffb33333f7001eff000e80008b
+ff000de666ff0001199a98ff00023333ff0010999affffeab333ff001b199a73ff00
+24e6668b9e8b9b919e980882970584878289828bffffe2b3348bfffff68000ff000f
+3333fffff49998ff0013e667080ef738ff01d2999aff018fcccc15ffffc0ccceffff
+ed3332ffffe8ccccffffb933341effffdcccccf306ff002a6666ff0008333493ff00
+2c999aff0037999aff00106666775b1effff833332ffff4cccce15ff0045999ab707
+a98bff000b3334ffffe58000ff000accccffffe27fff08ff0011999a5b05ff00124c
+ceffffcdffffff001b4cccffffed3333ff002266688b978bff00188000ff0002199a
+ff000de664ff000380008dff00084ccdfffffe6668ff0007cccdfffffaccccff0006
+4cccffffe333348bfffff0e664ff0004cccdffffefe668ff0029999a08ffffe8cccc
+c705fffff66668ff0018ccce81ff000d999a81ff000a666608ff0001999a07ff001b
+3332ff00094cccff0028ccceff0021199a8bff003733328bff00426668ffffd61998
+a7ffffa1199a8b778bffffd2b334fffffcccccffffe7b3328bffffe8ccce8bffffde
+6666ff0000cccc6bff0000cccefffffb3333fffffb33328bffffef3334ff0004cccd
+fffffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff
+533334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb
+33338bffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0020ccceff
+0000cccdff001a66668bff001880008bff001ab332ffffff3333ff0019999affffff
+3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccd65ff00026666
+fffff866668f8bff0042666708ff00246668ffff14333315f8d30aff026fb33404f8
+d40a0ef738ff01f13334ff01e3666615778bffffeb3332ff0011999affffbf33348b
+538bffffc1999a6b8bffffbe66668bffffc5999aff003e6666ffffe0ccccff0020cc
+ccfffff0cccebf73ff00226666ffffed999a8bffffd266668bffffd19999ffffea66
+68ffffe9999affffd0cccc8bffffd333348b67ff00199999fffff19998ff00473334
+08fffff5999a8dfffff8b334ffffff8000fffff8199afffffce666ff0001ccccffff
+c7999aff00016666ffffe13333ff0005999affffe66666ff0008ccccff0003333393
+ff0001999aff0009999a8bff000f33348bff00173332fffff26666ff003d999a8bff
+004733348bff002d999ab78bff0044cccd8bff003e6667ffffb73332ff0023e666ff
+ffd9999aff001280000863ff00133334ffffda6666ff001399988bad8bff00226668
+ff00166666ff00166666ff0029999a8bff002733348bff00233332ffffe5999a97ff
+ffccccccff00073334fffffd999aff000733348bff000733328fff0001999aff0017
+3332ffffff999aff001f3334fffffb999aff001e666608fb0bfffe0d666615f8d30a
+ff026fb33404f8d40a0ef738ff01a23334ff00db999a15ff00c9999a07ff001d9998
+9397ff001999981eff0014ccce06ff003266668bff000a66687b9bffffc66668ff00
+083330fffffe4cccff00074cd0ff00006666ff00061998ff0003b33487ff0026cccc
+fffffeccccff001d999afffffeccccb1ffffe44cd0fffffc8000ffffcc7ffefffffb
+8000ffffbcccce8b08ffffc0cccc06ffffb1999a8bffffd19999ff00044cccffffea
+6667ff0003b334ffffff9999ffffda6666ffffff3333ffffe0cccefffffb999affff
+da6666ff00073333fffffd6666ff00073333ffffff8000ff00073334ff0000b3349b
+ff00399998ff0008cccc9bbf8b08ff0013333406ff0018ccccff0009999afffff666
+68ffffe0cccc1fffff35999a078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001d999aff00
+00cccdff00206666ff0000cccdff001b999a8bff001b999a8bff001f999affffff33
+33ff001d9998ffffff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff00
+04cccdffffcf3334ff00033333fffff73334ff000333338bff004266670863ffff15
+333315f8d30aff026fb33404f8d40a0ef738f88eff0184666615ffff9a666607ffff
+bb33348bffffb4cccdffff966666ffffb0ccceffffef3332ff003e6666ff004a6667
+1eff006ccccc078bff00426666ff0008ccceff00026668ff0030cccc8fff0004cccc
+ff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe0ccccffffff3332ffffdf
+999affffff3334718bffffe380008bffffe08000ff0000ccccffffe33334ff0000cc
+cefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccffff
+fcccccff0008cccdfffffccccc8bffffbd999a08ffff82666607ffffffffffffff88
+0001ff003a0001ffffdf3333ff005799988b08f710ff0020ccccff00466666ff0074
+ccce1fff005b3332078bff00426666ff0008ccd0ff00026668ff0030cccc8fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff3332ffffe33334
+ffffff3334738bffffe7fffe8b6fff0000cccc73ff0000cccefffffb3334fffffb33
+328bffffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccffff
+fccccc8bffffbd999a08ffff803334fffe6c666615f8d30aff026fb33404f8d40a0e
+f738ff013a4cccff0195999a1578ff002d4ccc8cff00044cceff002ae6688fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe73332ffffff3332ff
+ffe5199affffff3334ffffdee6668bffffe6199a8bffffe84ccdff0000ccccffffeb
+3333ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff
+00273333fffffc4cccff0005666782ff0013b333ffffd24ccc08ff00714ccdfffef9
+999a05ff000a199affffe8999a8ffffff76666ff000919988bff0005999a8bff0003
+199aff0006b334ff000b4cccff00194ccc08ff0075199cff0105999a05ff00106664
+ff0024b334ff0008e668ff00134cccff002b3334ff00033334ff0004ccccff0004cc
+cc8bff0010ccccfffffb3334ff0004ccceffffee6664ffffff3332ffffecccccffff
+ff3334ffffeb33348bffffe266688bffffe99998ff0000ccccffffea6668ff0000cc
+cefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff002b3332ffff
+fccccc8ffffff66666ffffefb334ffffd7333408ffffa93332ffff38800005fffffd
+cccefffffd9999fffffe80008bfffffe3332ff0002666708ffffec6668ffff22b333
+15f8d30aff026fb33404f8d40a0ef738f835f82915859e89927c8b798b85797f5c08
+5dfb4d48f79205998c969d1e93068d8f8c8f1f8b9b8a8d058b56896b1effffec8000
+8bffffe53333ff00018000fffff86667ff00006666ff00349999ff004bccceff0057
+9999ff0031ccccff0063e6688bff00644ccc8bff00586668ffffce6668c0ffffb3b3
+32fffff4b330ffffffb332fffff0b334ffffffb334fffff4b3348b08715c8c8b1f8a
+898b7a05898d898e1e9c069c8c807b1f4ffb9205ffff923334ffff3dcccd15f8d30a
+ff00ff4cccff01dc4ccc15ff00188000ffffd54cccff000de668ffffce4cce8b5608
+ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00
+a2999a1e8bff003c1998ff0012199aff0037e668aaff002e999808fffff2b3340788
+8e89901e92069d8b987b8f7c08dcfbba058d8294759a8ba08b939c8f9a08b9f75105
+8e948d908e8b8e8b8f858d8108bffb4f058e809476a38ba08b95a18e9508d4f7bd05
+91a1a0909e8b8b8bff000280008b8dff0001199a080ef738ff01413334ff01ad3334
+1577ff001cccccff00066666ff00033334ff002666668fff0004ccccff0004cccc8b
+ff0010ccccfffffb3334ff0004ccceffffe8ccccffffff3332ffffd9999affffff33
+34ffffe666668bffffe666678bffffe66667ff0000ccccffffe99999ff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff001ccccdfffffd99
+98ff00166666ffffef3334a3ffffdccccc08ff004cccceffff93333405ff00046666
+fffff9ccccffffff999afffffd6668fffffccccc870843ffffa3333205ffffde6666
+5fffffeccccd87ffffe1999afffffe6667fffffb3333fffffb33338bffffef3333ff
+0004cccdfffffb3333ff0010cccdff0000cccdff00133333ff0000cccdff00199999
+8bff0019999a8ba3ffffff3333ff00166666ffffff3333ff0004ccceff0004cccd8b
+ff0010cccdfffffb3332ff0004cccdffffe0ccceff0003333383ff0004cccdff0013
+3332a708ff00373334ff004e666705ff00074cccff000a4cccff0002999afffffeb3
+34ff00054cccfffff8999808ff0030ccceffffbb333405ff001d999affffd73333ff
+fff26666fffffccccdffffe4ccccfffffccccdfffffb3334fffffb33338bffffef33
+33ff0004ccccfffffb3333ff0019999aff0000cccdff001cccccff0000cccdff001f
+33348bff0020cccc8bff00173334ffffff3333ff0014ccccffffff3333ff0004cccc
+ff0004cccd8bff0010cccdfffffb3334ff0004cccdffffd8ccccff00026666fffff5
+999cff0004cccdffffdd9998ff0030cccd08ffffb0ccceff006ccccd05fffffc4ccc
+ff0005199affffffb334ff0002e6668fff0004cccc08d3e705abb3ff0013fffeff00
+066666ff001f3334ff00026668ff0004ccccff0004cccc8bff0010ccccfffffb3334
+ff0004ccceffffef3334ffffff333277ffffff3334ffffe666668bffffe666668bff
+ffe73334ff0000ccccffffe9999aff0000cccefffffb3332fffffb33328bffffef33
+34ff0004cccefffffb3334ff001f3332fffffcccccff000a6668fffffb3334ffffeb
+3332ffffe3333208ffffc8ccceffffb1999a05fffff9b332fffff7199afffffcb334
+ff0000e666fffff9999aff0009999a0890fffe91333215f8d30aff026fb33404f8d4
+0a0ef738ff01c94cccff019b999a15ffffc6b334ffff9b3332fffffe66668bffffc3
+199aff0064ccce05ffffeb3334ff00234cccfffff81998ff000f8000bbff0002ccce
+ff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe4ccceffffff
+33326fffffff3334ffffe266668bffffe8cccd8b73ff0000ccccffffe8cccdff0000
+cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff00253333ff
+fffb9998ff000a4ccdffffef8000ff00166666ffffda800008ff0044e666ffff8f33
+3405ff0005cccefffff6999aff0006199880ffffffb334fffff1999a08ffffff3334
+ffffd86666058bffffbd999983fffffd999affffcf333287fffffb3334fffffb3333
+8bffffef3333ff0004ccccfffffb3333ff001d999aff0000cccdff001f3334ff0000
+cccdff001ccccc8bff001d199a8bff001ee666ffffff3333ff001cccccffffff3333
+ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff0003
+333383ff000333338bff0042666708ffffff3334ff0029333205ffffffb332ff000e
+ccceff00024cceff000ae66691ff00084ccc08ff00404cccff006f3334059eff0020
+cccc99ff0016199aff00251998ff00044cceff0004ccd0ff0004cccc8bff0010cccc
+fffffb3330ff0004ccceffffee6668ffffff3332ffffed9998ffffff3334ffffeb33
+348bffffe266688bffffe99998ff0000ccccffffeb3334ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff00333334fffffb3332ffffffe6
+66fffff5999affffea3332ffffd9999a08ffffb0e668fffe55333215f8d30aff026f
+b33404f8d40a0ef738ff01393334f87e15ffffe64ccc8bffffe2199aff000533347d
+ff0002ccccfffffe19998bfffffeb333ffffff80008bfffffe199affffff33346787
+ffffe1999afffff8ccccffffd8ccccff0006e667fffffd999a92ffffff199aff0006
+e666ff0000e666ff0010cccdff0039999aff001b3334ff000f4cccff00173332ff00
+00b33408ff0070ccceff0003333205ff000cb332ff00003334fffff88000fffff233
+32fffffc6666fffffb3334ffffb44cceffff9a199affffbee666ffff9be666ffffbf
+3333ffff9b999afffffccccdfffffb3333fffffd999a878bfffffb333308fffffb33
+33ff00033333fffffccccdff0008cccd1eff0111999a06ff00033332ff0018cccdff
+0008ccceff00259999ff000d9998ff002e6667fffff9cccc8ffffff8e668ff000219
+99fffff7b334ffffff8000ffffea9998ffffd04ccdffffee6668ffffdbcccdffffce
+3332fffffe4ccd08ffffa0cccefffffccccd05ffffecb332ffffffb333ff0000999a
+ff000ab333ff00078000ff000b3333cbff00621999ff003f3334ff005e4cceff0047
+3334ff0061333297ff0010ccceff00033330ff0005999a8bff000666668b8efffffe
+ccd08cfffffc66648bfffff733348bffffe4ccccfffffe6666ffffed999a8b08ffff
+a5cccefffe06cccc15f8d30aff026fb33404f8d40a0ef737fffff0cccdff0024cccc
+ff00986667abf772a4ff009b8000ff0024cccc01ff00313333ff0024b333ff00b119
+9abff701c1ff00c1e668ff0024b33003f83cf7d215980ab6fb24159e8b9e979495ff
+0000999893fffffcb334ff00054ccdfffff8b334ff0002b33388888689878b088286
+9bb41fd607e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92
+089ba096aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e7999
+76a48b08ffffa73334ffff42cccd15ff00b63334ff00000001ff00943330ff009480
+008bff00b6666708ff00b66666ffff6bccd0ff00933332ffff49ccccffff49ccccff
+ff6d3333ffff6cccceffff49999affff499999ff0092cccdffff6b8000ff00b63334
+1eff026fb33404f8d40a0ef738f7bef84a15f8260abc4215f8270aff001f3334ffff
+04cccd15f8d30aff026fb33404f8d40a0ef738f813f84915f8470afffffb3334fffe
+3bcccc15f8d30aff026fb33404f8d40a0ef738f82df79115fffff7b33473ffffd84c
+cc62758b08ffffe28000ffffe080009bdbd5acb0ad1fa48ba2779b780886fb2d15ff
+0004199aff0007b333ff0000e666fffffa4ccd8b888b6f8d7e8e848c888c88908b9c
+939f91b6918c8f89998a8f6a8e82908bb308f76c07b58da58b1e90898d851e7b845d
+837189088c7905898d8a8d1ea08a05989284611f5d077b9a7a96678b083e64433b48
+af59ca1fa38bb39e9cab08ffffe63334ffff25cccd15f8d30aff026fb33404f8d40a
+0ef738f819f75a15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff
+4cccff00478000ffffecb334ff003b8000368bffffaa4ccc8bffffd3b334448b418b
+ffffd4999aff000a3334ffffd83333ff001b9998ffffe7b333ff0012ccceffffef66
+66ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b333ff
+fff86668ff00064ccdfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004
+ccccb3a9afff001c33348ba38bff00214cccfffff58000ffffffb334ffffbf800008
+ffffc53334fffe9bcccc15f8d30aff026fb33404f8d40a0ef738f7c9f74c158b79ff
+fffaccccfffff98000ffffeb3334fffffc8000087f890588ffffff800089ffffff80
+008b87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff00
+00333308768d05ffffecccccff0001cccdfffff93334ff000833338b9d08f72cc607
+91938d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b
+96968b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a
+8e1eb506ff00453334fffea0cccc15f8d30aff026fb33404f8d40a0ef738f88af84f
+1597969599977e98721f758b79827b79829178946e8b578b56698b528b6a9c789c7b
+ffffe780007bfffff68000738b768b7598ffffed80009efffffb8000086c7778748b
+710855c27db8dae2a7ce1e8b9f829a7a9a73a1628f758b818b7c897d8a828a848a88
+8b7a8b78908ba58b988d9692950899839d87a28bbe8bc0a98bc78ba8809a7a9e8e91
+9193928b948b91888e858d849186958b08fb4ffb7e1591889589928b928b948c948b
+938c938b948ba98bff000f3334fffffa6666ff0010ccccfffff6999a9cfffff68000
+96fffff780008b7b085e4e875a76568fb91e8ba08d979e9d08f703f744154d708775
+5a83b7abbb9c9aabb09f74591effffd03334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738f7e1f85715b58da58b1e90898d851e7b845d837189088c7905898d8a8d
+1ea08a05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b8889
+1f79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999affff
+f8e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9
+ccccfffffbb333ffffed3334fffffe4ccd08808a05878a88891f79078bb38ca4a3b1
+8a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3
+338b9e08f71007ce6da45e1e678b68687d7b08ff002d3334fffe81cccc15f8d30aff
+026fb33404f8d40a0ef738f810f89b157b7e7e7b7b987e9b9b98989b9b7e987b1fa6
+fbce15f71c07a68da68b1e90898d851e7b845c8371898a838c848f85ab8996908b56
+08fb01078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8b
+a98a8f928b998793698d7a8e8bb408ffffe33334ffff23cccd15f8d30aff026fb334
+04f8d40a0ef738f827f8a41578807e7b7c987e9c9c98989a99839a751f76fb5215fb
+1f072e82686e1e868b878f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b
+9da6a990a68be008f72607a68da68b1e90898d851e7b845d837189088c7905898d8a
+8d1ea08a05989184611ffffffc3334fffe9ecccc15f8d30aff026fb33404f8d40a0e
+f738f7aff76b158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b
+998793698d848e8bb408ff0036199a07ff0003ccccff00013332ff00034cceff0000
+b334ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1
+a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380
+009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff0001e666ff0002
+199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff001880008e8dff
+000033348fff0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b89
+8dfffffd4ccc8effffffb334ab88fffff0b334fffff14cccfffff84cccfffff7b334
+0872ffffe6800005ffffeaccccffffea666679fffff66666ffffea3334fffff73334
+08ff0096800007b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a
+05989284611fff005f3334fffe45cccc15f8d30aff026fb33404f8d40a0ef738f7f6
+f77115f7970aff00183334fffe40cccc15f8d30aff026fb33404f8d40a0ef738f795
+f80e159ea29d9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff0007
+33348bff0017cccc8bff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000
+ff00028000fffff88000ff000280008bb408f4078b91ffffffccccff0005b334ffff
+ff999aff00056666ff0012199aff00156666ff0013ccccff00138000ff0013b3348b
+08aaa47a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8b
+ff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1e
+ffffdccccc8bffffdcb334ffffde8000fffff16666ffffee999afffff76666ff0024
+6666ffffe9b334ff000e8000688b678bffffe74cccffffec4cccffffe7b334ffffdc
+b33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b087a83768560
+858a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28b
+a48b928ba98a8f928b998793698d888e8bb408ef078b9390948f9008ff00793334ff
+fe76cccc15f8d30aff026fb33404f8d40a0ef738f7e8f803159ea2ad9da08b08aa9a
+7a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8bff0023
+4ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce73a45d1e678bff
+ffd74cccffffec4cccffffe7b334ffffdcb33486fffff8b3348bff00054ccc8b8e8b
+a7899888928a8e8a8e868b7a83768560858a878d7d8c8708ac8894868b630820078b
+627e88638986838c7c8f85a98ca28ba28ba48b928ba98a8f928b998793698d888e8b
+b408ef078b9390948f9008ff00263334fffe81cccc15f8d30aff026fb33404f8d40a
+0ef738f80cf84f15f8ad0ad1fb3615f8b80affffbc3334fffed7cccc15f8d30aff02
+6fb33404f8d40a0ef738f7eef73115d707997faf839f8b08ccbcdbd5cf68b3511f6e
+8bffffd98000ffffe68000ffffed8000ffffe88000fffffab334fffff93334ff0000
+4cccff0004cccc8b8e8ba7899888928a8e8a8e868b7a83778560858a878d7d8c8708
+ac8894868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a
+8f928b998793698d7a8e8bb408f71304ed07ff00068000a6ff002f8000aea48b08a7
+a27b422e6774741f758bffffdb800090fffff38000b308ff00203334fffed4cccc15
+f8d30aff026fb33404f8d40a0ef738f82ef79d15f8e30aa9ca15f8e40affffc23334
+fffe19cccc15f8d30aff026fb33404f8d40a0ef738f836f81d158f8b908b8f879184
+927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a918b8e8ba7899888928a8e
+8a8e868b7a83778560858a878d7d8c8708ac8894868b630820078b627e8863898683
+8c7c8f85a98ca28ba28ba48ba08ba98a8f928b998793698d7a8e8bb408ef078b9390
+948f909ba29b93928b08ffffd83334fffe67cccc15f8d30aff026fb33404f8d40a0e
+f738f7aaf79b158e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc88bbd5d
+9e58a0699981948ba308a6a098a41e9e8bad81995108a28c82d605809264956c8b5a
+8b5e6b8b618b5eaa7bb978bd7693778b768b707380738b748b78978491087b9b85a6
+8a9908ff004e3334fffee9cccc15f8d30aff026fb33404f8d40a0ef738f810f80215
+d006908bff00084ccc8cff0000b33491088d9d05ff00004ccc8efffffdb3348c888b
+083bea06657e8b80055c807366898a8a891e897305ffffffcccc89ff000133348b8d
+8b08b3fb4b065fa07aa81ea78bac93a5a6087b9c057b7f778b7b8b087c859db11fff
+fffe3334ffff16cccd15f8d30aff026fb33404f8d40a0ef738f7a1f7f615250748a8
+72b81eb08bff00204cccff001b6666ff000cb334ff0011999aff00034cccff000480
+00ff0001b334fffffd80008b888bffffedcccd8dfffff333338e848c888c88908b9c
+939f91b6918c8f89998a8f086a8e82908bb308f70007a08dbe8b1e8d8a8d881e888a
+818a828b778b788c748c87878b7c8f87a98993828b5d08fb090778757477768b086d
+779bbe1feb07a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b7c8f87
+a98993828b5d08ff006d3334fffe8ecccc15f8d30aff026fb33404f8d40a0ef738f8
+34f81f15ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff
+94999a05fffff3e666ffffe54cccfffffd8000ff00004ccdfffff4999aff001c8000
+08ffffd5e666ff00694ccd05fffff34cccff001f999affffff3334ff000c6666ff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b818c748c87878b7c
+8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff46cc
+cd05ff00044ccefffff6199aff00031998fffffb3334ff0008199a8bff000633348b
+ff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de666ff001e999a
+ff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b
+7d8c748c87878b7c8f8708ffffda3334fffe65cccc15f8d30aff026fb33404f8d40a
+0ef738f892f81515ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1
+199affff94999a05fffff3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff
+001ce66608ffffdae666ff00694ccd05fffff48000ff0020b33489ff000b4cccff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b868c748c87878b7c
+8f87ff001c3334fffffb8000ff0002999880ff000e3334ffffdc800008ff0008b334
+ffffea3334ffffdc6666ffffae666605fffff3e666ffffe54cccfffffd8000ff0000
+4ccdfffff4999aff001c800008ffffd5e666ff00694ccd05fffff34cccff001f999a
+ffffff3334ff000c6666ff002080008e8f8f8b9a878f748affffeecccd8affffe633
+338b758b818c748c87878b7c8f87ac87ff0001e666fffff4199aff000f199affffdc
+e66608ff004f6666ffff46cccd05ff00044ccefffff6199aff00031998fffffb3334
+ff0008199a8bff000633348bff0003b332ff00051999909608c6ff00819999ff0034
+999affff7d0001058ffffff60001ff00036666fffffb4ccdff0008199a8bff000633
+348bff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de668ff001e
+999aff00079998ff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f8708ffff7c3334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738ff01c63334f80515a7ff0023e666ff0004b332ff00044cceff001c199a
+ff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe
+3334fffff7ccccfffff2ccccffffed3334088b8b8a8a63530867c4057f9f8b92a88c
+8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3334
+ff0001199afffffd9998ff001a9998ffffda333408ff003833343b058888ffffcecc
+cc518b8bffffe1999affffdc8000fffffdb334fffffb4ccdffffe3e666fffffe3333
+87878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3
+a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a
+8f8f8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b334ff0025
+4ccd08ffffcbccccd505ffffe83334fffec2cccc15f8d30aff026fb33404f8d40a0e
+f738f7fff845158b9b8a8d058b59896e786f8d8b1e89898b7b05888e898f1ea68b8f
+81967108d6fb4205917e907a8b868b85898588837c65847b838b858b869086918690
+868e818b088178827974ab81961fb78b94a19eb7bef70da6ccacd1949d979fa38b08
+8f8d8d8e1f8b9b8a8d058b71897a74628d8b1e8a898b7b05898d888e1e8e069a9689
+811f8b888a8489860846fb2d49f730058a8f8a918b8e0892928f9d8e8f8d8e1eff00
+0f3334fffe3fcccc15f8d30aff026fb33404f8d40a0ef738f7c8f84315818bffffee
+cccc8efffffb33349008858a058b6f8772866dff00063334fffffd4cccff00088000
+fffffeccceff00074cccff0000e66697b7a0919e8b08d78bfb26fb6e0586838b8a8b
+8708878f88951ef759068e9e91a896affffff8e666ff0002cccdfffff8b334ff0001
+8000fffff86666ffffffb33308847a057c6a8183678b08418bf722f76605989e8b8f
+8b8d088c078e878b871e898b6f89798b08ffffd03334fffe41cccc15f8d30aff026f
+b33404f8d40a0ef738ff0181ccccff01facccc15968bff000a666887ff0007ccccff
+fff8e668ff00143334ffffef1998ff00119998ffffce999a8bffffa8e6668bffffc4
+33348962fffff6e668ffffdee666fffff1b332ffffcab334ffffe0199afffffa1999
+fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff00388000ff009fe666ff00
+27b334ff001de666ff001d33321ffffffd6668fffe83b33415bdff004c1998ff0032
+b333ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36666ff0025b334
+7aff00168000ffffe4ccccff0013ccccffffdce6668bffffbfb3348bffffc2ccccff
+ffb34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc
+999aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b0886ffff724c
+cd15f8d30aff026fb33404f8d40a0ef738f80ef91a15f8e50ad3fb7d157e8b6d827d
+840881a605ba9ca597b7a6089bfb990675967c991ea7068e8e8a871f76078b568c6a
+654f8a8b1ea0078d8f8e8e1eaf069b999aa11ff72c07ab89957f1efb6a16f8e60a0e
+f738f80ef91a15f8e50aa7fba2157f7d9698a6a7bedabdc5774c1f8b5d6a69536361
+6d736e8b6d08dc06aa8b9bb196a808a38505826d8468886e08fb62068bbbb6b5bbb1
+b8aea1a28bc108ba68987960807c7d1e8b8390838b83087b7983811efb47b015f8e7
+0a0ef738f80ef91a15f8e50af722fb7d15aa7694771e778b69818a728a7f897a748b
+0878879a8e9ca8c0e2bfac75661f8b6e75746e7bac88ba708b510846495d3b66579b
+a0959895961e998b9184918493819583ab8b089ec498d0c45592731f848b868a838a
+0889a305b791a9a58bb408fbbf167e8b6e827c840881a605ba9ca697b6a6089bfb99
+0675977c981ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8f1eae069c
+989aa11ff72c07ab89957f1e0ef738f80ef91a15f8e50af72cfb911522c107896857
+8b8b5a05788f859d1e9b068f8c88891f77078b608c7073668a8b1ea0078c8c8e8f1e
+99069d908ea01fbdfb2407879705b8cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e92949797928b08909389831ffbba9f15f8e60a0ef738f80ef91a15f8
+e50af72efc2015a888c6431e768b76857c8308868fa0f722f72d8b866a8b8afb118b
+7f3a059490a4909a8b08d8af5755505b5545694f99a3979794951f998b9284938394
+829681a18b08b89cb0b51ffbc5f73715f8e70a0ef738f80ef91a15f8e50af730fc26
+15a186c2521e7d8b7685757a08780737b274a7b793aeb01ec39015676f4a3b5a43a8
+f31e8bddc5f2f72d97087707fb017868498050999aa69ba48b08ec953c7a1ffbf6f7
+3815f8e60a0ef738f80ef91a15f8e50acafb6715708b8384805b08758e0590a792b3
+8ca6089d0686908a9b1ef74206563052fb0e6c22086906aef703c3f710a5b908fbc1
+7515f8e60a0ef738f80ef91a15f8e50af3fb53156e747d6e1f8b7b9375af77089f80
+059b95a2a68ba908a67c9d671eea5e15f8e80a2529157b8263638b69085fb47ba2b0
+a89cb41e8ba486a4639f08fba0f70815f8e60a0ef738f80ef91a15f8e50ac7fb9d15
+758f54c41e998ba191a19c089e07df64a26e5f8468661e538615afa7ccdabdd56e23
+1e8b394f24fb2e7f089f07f7029eadcd97c67c7c707b728b082b81da9c1ffb28b015
+7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068d8e8a871f76
+078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89957e1e0ef7
+38f80ef91a15f8e50af710fb56154c8a2d5653933dc1c691d8d8c17cd45b1f88fbc5
+154658dae0e8c2d4cfc5cb62fb0dfb0b495a501ffbe7f779157e7e9698a6a7bedabd
+c5774c1f8b5d69695463616d736e8b6d08db06ab8b9bb196a808a28505836d846888
+6e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68987960807c7d1e8b8390838b8308
+7b7883821e0ef74aff01a18000ff00eb666615f75f078bff0023199aff0000b334ff
+0023b3348cff000799988bff0002ccccfffffe8000ff0000199c898bffffdf9998ff
+ffebe666ffffe14ccefffff1999affffcc800073ff0000e666fffff94cccff000299
+9afffffa8000ff00053332fffffc6666ff001a999aff000b199aff000d3334ff0003
+8000ff000b199a8b08ff0009b3328d7dffffec199a1fffff414ccc078bffffcf6667
+fffff03334fffffd1999ffffd7199afffffe3334fffffc8000fffffc80008bfffff3
+b333ff00038000fffffc8000ff001cb332ff00009999ff0014e666ff0000999aff00
+1fb3348bff001bcccc8bff000e6668ffffff6666ff001d3332ffffff6667ff000380
+00ff000380008bff000c4ccdfffffc8000ff0003800062ff0001ccccfffff6199aff
+0002e6678bff0030999908ffffe1e666ffff05999a15f8e90aff0296e66804f8ea0a
+fffdab199804f8eb0aff02144ccc04f8ec0a0ef74cff0122b334ff01b4cccc15ffff
+f3b334ff000b1998fffff58000ff000c4cceff0009e666ff0011999aff000a8000ff
+000ce6661e8bff0004b334fffffeccccff00038000fffffeccceff0004199afffffe
+ccccff00041998fffffc999aff000533348bff0004b33408ff000e9998ff000f3332
+ff0015199aff002ab334ff0015199aff001dccccfffff16666ffffc7ccce1e8bffff
+da999afffff28000ffffe18000ffffdd8000ffffdce66608ffffd4b334ffffd54ccc
+05ffffc6b332ffffc58000fffff6999affffe3e6678bffffdd8000088bff001de666
+ff00013333ff0012b3341eff00664ccc06ff0012b334a6fffffecccd8b1fff000799
+9aaaff0005ccccb7ff0000999aff00118000fffffc8000ff0002e667fffff88000ff
+00013332fffffa199afffffecccefffff6199affffd67fff81fffff14ccdffffeae6
+668b08ffff97e666068bff001c199aff00286666ff0027ccccff0002e666ff0002e6
+6608c6ff0038ccce05ff00214cceff00203332ff00193332ff0019999a8bff002c80
+0008ff003f3334ffffcc999aff0019b332ffffd0999affffbf199affffd7999affff
+d0199affffdce6661eff0060b332fffe3c333415f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff0180ccccff01f6666615ff00194c
+ceff00174cccfffff0b334ffffda66661f8bffffe2999affffde199affffd34ccc51
+fffff7ccce08ff0002e666ffffed4ccc05ff0009e666ff00013334ff000a999a8bff
+0007999a8b08ff00214cccff002b4ccefffff69998ffffbde668ffffb2333257ffff
+f03334ffffeb80001fffffe233328bfffffab334ff000d800084ff000a8000fffffa
+3334ff00083333fffff84ccc92fffff44ccc8b08fffff3b334fffff3b334fffff4e6
+66fffff6999affffe89999ff00313332fffff04ccdff0023199aff0045999ac9b8ff
+004d33331f8bff003fccce5bff0016ccccffffdd8000ff0005cccc08ffffff6666ff
+0001333405ff00303334ff0016999aff000d8000ff001866668bff001ecccc8bff00
+11999afffffbccccff000e4ccefffff1ccccff000e6666fffff33334ff000ce666ff
+ffebb334ff0009ccccffffe166668b0835ffffe76666ffffc7e668ffffecb332ffff
+f7ccceff0005e666fffff44ccc99ff00148000ff00024cceff00134cccff000b199a
+ff00256666ff00286666ff0007199aff000f33321fff0002999afffdfa999815f8e9
+0aff0296e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff0190
+8000ff01cc999a15ffff578000ffff904ccc07a9ff0030199aff00296668ff00414c
+ccff00284cccff0037199a08e8ffff57800015ffffcf8000ff00aacccc068bff001d
+3334ff00003334ff0016fffe8cff0004999c08fffffeccccff00011998ffffed4ccc
+8b05fffffbe6688bfffffce666fffffc3334fffffdccccfffffd6668ffffdb199aff
+ffd2b332ffffbbe666ffff9fccccffffca8000ffffac4cceff0001cccefffff73332
+ff00036666fffff03334ff0011999a8b08ff00774cccffffca3333068bffffe5199a
+ffffe9e6668bffffe6cccefffffe3334fffffc8000fffffc80008bfffff3b333ff00
+038000fffffc8000ff0012b332ff00009999ff00176666ff0000999aff001ae6688b
+a28ba1ffffff6666ff0012b332ffffff6667ff00038000ff000380008bff000c4ccd
+fffffc8000ff00038000ffffe34cceff00024cccfffff3ccccfffffee6678bff001b
+800008ff0035cccdff0028666607ff00083334ff0008b332ff000b333292ff0005e6
+68fffffd999aff00036666fffff9999a1fffff95e666fffecce66615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff01c0999aff01
+13999a15ffffc86666ffffe2cccc62ffffdce6661effffe9ccce8bfffff86666ff00
+0eb333fffff73334ff000bb333fffff86666ff0009e66781ff0008cccdfffff3b332
+8b08fffff4e668fffff4e66681fffff44ccc73ff0031ccccffffec3334ff00214cce
+ff00488000ff00338000ff0035ccccff0049b334ff0038b332ffffd8ccccff0032e6
+68ffffbe80001fffffe6cccc8bffffea4ccefffffaccccfffff58000fffffbe66608
+ff000bb332ff0061b33405ff0015999afffffdb332ff0012ccce88ff001c19988bff
+001180008bff0013e668ff00013334a3ff00024ccc08ff00096666ff0027ccccffff
+fbe666ff00024cd005ffffdeb334fffffc8000ffffe04cccfffffd19986c8bffffea
+66668bffffeae666ff00011998ffffeb8000ff0001ccd008ffffec3334ffff577ffe
+05aaff000bb334ff00163334ff00026666ff001519988b08b1ff001dccceffffe6e6
+66ffffc033341fffffc2ccccfffedd666615f8e90aff0296e66804f8ea0afffdab19
+9804f8eb0aff02144ccc04f8ec0a0ef74aff0143199aff0156999a15ff00133332ff
+000c999a9eff0000ccccff000a33348b08ff00394cccff000ce668ffffc7ccccffff
+e2ccceffffbfb333ffffe78000ffffe2b333ffffe34cccffffdb199affffdeb3329f
+ef1f8bff000d3334ff00016668ff000f9998ff00036666ff0010ccce08ff00054ccc
+ff00154ccc15ff000fccceff00353334ff00254cccc6ff004dccccff001d199a8b92
+fffffdb334ff00054cccfffffb4cccff0002e668ffffc4e668ffffee7ffeffffdbb3
+32ffffe76666ffffdf333465ffffdbb332ffffd5e668ffffede668ffffcab3328bff
+ffd1ccce08ffff893332ff00436666ffffe8b334b8ff004c999aff001f9998ff004a
+4cccff00324cceff00324cccffffe5199ab8ffffb066661efffff0ccce8bffffe933
+32fffffb6666ffffee999a8308c6fffe85199a15f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff01708000f87315ff0068b33406ff
+ffd26666ffff8e8000ffffd1b332ffff8de666ffffd83334ffffa7199a08ff0004b3
+34fffffbe666ff0027ccccff0001cccd05ff00214cccff00636666ff00203334ff00
+61199aff00418000ff009fb33408fffff6b3349205fffff61998fffffd19987effff
+fc8000ffffe9ccce8b08ffff87800006ffffec199a8bff00013332ff0005e668ffff
+f58000ff00024cccfffffe33348bffffff66668b8bfffffe3334ffffff6666ffffe3
+e664fffff9999affffdce668fffffb4cccffffe19998ff00066668fffffe333491ff
+ffff4cccff00066666ff0000ccceff000ce666ff002eccccff00134cccff0004199a
+ff0012b3348b08ff0012e666fc8215f8e90aff0296e66804f8ea0afffdab199804f8
+eb0aff02144ccc04f8ec0a0ef74af818f87e15af9e6e711f8b6d68717c80087a9505
+68a2839f8b9c08a5a0a5ad1ee45415b36ba855526569611e8b6b9b76ad7408948505
+7d8080827c7f757782728b750852b36cc6d3adc1b61e8bab7da46e9e086aa205a39b
+b3a78baf082efb98157163a1bd1f8b9b96b2baab08a57b05af769a718b7108535f7d
+721eff00036666fb5215f8e90aff0296e66804f8ea0afffdab199804f8eb0aff0214
+4ccc04f8ec0a0ef74aff01db8000ff0151cccc15ffffecccccfffff36668ffffece6
+68ffffff3332fffff5cccc8b08ffffc6b334fffff31998ff00383334ff001d3332ff
+00404cceff00188000ff001d4cccff001cb334ff0024e666ff00214cceffffec199a
+271f8bfffff2ccccfffffeb332fffff04ccefffffc999affffef333208fffffa999a
+ffffeaccce15fffff03332ffffcaccccffffdaccceffffc4e667ffffb23332ffffe2
+e6668b84ff00024ccefffffab333ff0004b332fffffd199aff003b199aff00118000
+ff00243334ff0018999aff0020ccccb1ff00244cceff002a199aff00121998ff0035
+4ccc8bff002e333408ff0076ccccffffbcb334ff00174ccc5effffb36666ffffe04c
+ceffffb5b334ffffcdb334ffffcdb332ff001ae6665eff004f999a1eff000f33328b
+ff0016b334ff0004b334ff001180009308ffffad4cccfffeb4666615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef754ff014a8000ff00
+eb666615f75f078bff0023199aff0000b334ff0023b3348cff000799988bff0002cc
+ccfffffe8000ff0000199c898bffffdf9998ffffebe666ffffe14ccefffff1999aff
+ffcc800073ff0000e666fffff94cccff0002999afffffa8000ff00053333fffffc66
+66ff001a9999ff000b199aff000d3334ff00038000ff000b199a8b08ff0009b3328d
+7dffffec199a1fffff414ccc078bffffcf6667fffff03334fffffd1999ffffd71999
+fffffe3334fffffc8000fffffc80008bfffff3b333ff00038000fffffc8000ff001c
+b333ff00009999ff0014e666ff0000999aff001fb3348bff001bcccc8bff000e6668
+ffffff6666ff001d3332ffffff6667ff00038000ff000380008bff000c4ccdfffffc
+8000ff0003800062ff0001ccccfffff6199aff0002e6678bff0030999908ff00a333
+34f7a215ff0009e6668bff00096666fffffc666692fffff9999aff00121998fffff0
+ccceff000fe668ffffd399988bffffb1999a8bffffca3334fffffe3334ffffdb199a
+fffff7ccccffffe23332fffff319985bffffe36668fffffab334fffff580008b08ff
+ffc9999afffffa199aff0064199aff0032e666ff008fe666ff0023b332ff001ae666
+ff001a4cce1ffffffdb332fffea9cccc15ff002d0002ffffffffffff00448000ff00
+2d999a8bff00897fff8bff0039e668fffff1e664ff0031b332ffffe64cccff0021e6
+66fffff0b334ff00144cceffffe78000ff0011b332ffffe066688bffffc619988b54
+468bffff8c33348bffffc1b334ff00133334ffffc4e666abffffe01999ff0010999a
+ffffef6667ff00143332fffff81999ff0016999a8b0823ffff4dcccd15f8e90aff02
+96e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef738f80ef91a15f8
+e50afb56044c892d5653943dc1c691d8d8c17cd45b1f88fbc6154559dae0e9c1d3d0
+c5cb63fb0dfb0b4959501f0e78d4f84215fc42f842f842070e78f704f82015f7f4fb
+fefbf40664f82015fc42f842f842070e55f886af15fb78f81efb76fc1e050e55f859
+c915fc008bf74af7cf05f777fbe815fb77f81dfb77fc1d050e36d48215f81ef778fc
+1ef776050e36eeaf158bf800f7cffb4a05fbe8fb7715f81df777fc1df777050e55b7
+f84115f778fc1ef776f81e050e55e4f82915f8008bfb4afbcf05fb77f7e815f777fc
+1df777f81d050e36f84af85315fc1efb78f81efb76050e36f830f826158bfc00fbcf
+f74a05f7e8f77715fc1dfb77f81dfb77050ed2ff001c999aff00d6b33315f8ed0a0e
+d2ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199c
+ffff07199905fffecc6666ff00fc7fff15f8ed0a0e6cf746f7701553b95dc3c4b9b9
+c3c45db952535d5d521ef3fb7f15f8ee0af84d04f8ef0a0ed3f711f76415f75cf79e
+f75bfb9efb5bfb9d05fb97f79d15f797fbedf796f7edfb96f7ee050e6c7ca5f833a5
+01bca5f833a503f7ae7c15f8ee0af84d04f8ef0a0e6cf7ae7c15f8ee0af85804f70d
+ec2afb0dfb0d292afb0cfb0d2aedf70cf70cecedf70d1ffc2b04f4e1e0f5f433da24
+24343c2222e035f41ff7ff04ebda3d2b2a3c3d2b2a3edaebebd9d9eb1f0e6cf7ae7c
+15f8ee0a0e6cf7ae7c15f8ee0aa504f83307f707e82ffb07fb072d2efb061f0e6cf7
+aef85915fb152222fb15fb15f423f715f715f3f3f715f71523f4fb151f7104fc3307
+fb072ee7f707f707e9e8f7061f0e6cbbf77615fb15f422f715f715f3f4f715f71523
+f3fb15fb152223fb151ea516f83306fb072f2efb07fb072ee9f7061e0e6cf898f768
+15f71522f4fb15fb152322fb15fb15f323f715f715f4f3f7151e7116fc3306f707e7
+e8f707f707e82dfb061e0e6cf7ae7c15f8ee0af84d04fb63f76407fb072d2efb06fb
+072fe8f707f706e7e8f7071e0e6cf7ae7c15f8ee0aa504fb072fe8f7071fccf7228a
+8b1ff76407f707e82ffb07fb072d2efb061f0efb84f7ae7c15f86707fb152323fb15
+fb15f322f7151f0efb84d4f85915fc6707f715f3f3f715f71523f4fb151f0efb88f4
+aaf755a901bca9f755a903bcf77e1543c452d0d9bccbc9d34fc3484a4e53461ea916
+bfbab6bcbeb960545c655b50575fb6c21e0e9af756f7561543fb5cf746f710f73efb
+0f4af758f73bf708fb618b4cf75545fb55fb578b050eeccdbdf70eedf70ebd01f711
+bdf70eedf70ebd0314fcf711f7b315fb06e420f71af709f1ecf710f70038f705fb1d
+fb142d25fb0b1ef771f73f15f8f00a5afb3f1570a175a6a6a1a1a6a675a170707575
+701e0ef893f9d2f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff44cccff
+fffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08bac8ba8
+7b8d818b828b8189838808ff000cb334a2928dff00204ccc8b9473ba868b3b08fbea
+f70815c85fb170c18b9d8b9b8f9790848185808b7b8b56a559957affffb8e6688bff
+ffe81998ff005180008bff002580008b908c918c8f087b7b576a6e8b848b82918193
+9389948a948b089f919398a278917f1f688bffffeae666ff00094ccdffffd9199aff
+001db3337a98fffff2800097fffff9800091988ea3a59c9f088bbab6ab9a9d91a297
+8595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b908b9108cab19bb61e
+9589057c7075608b5c8b7b927e93817a93788d828b578b65724e5c08f7afc6158bac
+60a08bb38b9e929f929eff001eb334fffff6999aff00361998ffffe480008bffffc3
+999a8bffffc64cccffffd0199cffffe38000fffffb1998fffff28000ffffdd80008b
+fffffc8000ff000080007cff0011800092899389928b08979b8da81ffccf52159a99
+9d92a28ba08b9d839e7d7a7b7680748b798b78967b9c08f7d5fb8c159968af4a9b74
+b451b66fb6718dc1a1ada7a79898ff0029b334ff0017b333ff00234cccff000d4ccd
+d9ff001d4ccdc6ff0016b3338bf7038bcb5dbe60a908b385f71f5e8baf52a1c3a08b
+aefb1e6362868a8b059d98979492939d9cb1ff002580008bff003e80008bff005699
+9affffbab334ff0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff00
+0fcccc73ff000ecccc67a05ed287b543524f3f64360875ff0009800064ff000d8000
+618b328bffffa36666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605
+ff0028199affffda199aff0059e666ffffcee666e28bae8bb4989b9208f709f7ac15
+b2a17185827570661f678b729771a1a69f9e99b28b08bff77715969d91a41f920792
+838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b334828b3c
+8b7b5987747a95728e798b788b76827d7f086f8a058c918b8f8b90089d7f8f818073
+846e1e8b7f918392878f88968b998b08a106fffff48000ffffe73334ffffee8000ff
+ffddcccc83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e
+8b878b888a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba0
+8ba85e8f8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006d
+ffffff8000ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6
+cccd71a572ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff0037
+3334ffffe63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e
+8baa8b9d7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000
+ff0001333487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8
+199affffff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000cc
+ccff00063333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd
+087b06747788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff
+0004b333ffffffe666ff0004b333ffffff3334ff0004cccd08a58a05967f99829b8b
+a98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf99
+9ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a578
+918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccffff
+f0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333ff
+001f4cccff00364ccd977eaa7d948b08a1989fa6997f9f741f7b8bff0005b3347aff
+fff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08a106c176db5f8b
+3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3e666ffffd9e668
+fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffffdab334b1fffff2
+4ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366808d7a488b3e8b
+ffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72ff72e05ff004cb3
+34ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2caf2c4ba9cffffdb
+80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff0025199cfffff1
+9998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999affffd2ccccffff
+cc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a91ff001e80008b
+fffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e7f7c9f6ba75997
+8e958c938b948bc06596708b6f8bfffff24cccffffefb334fffff7b334fffff24ccc
+08a58d05fffffeb334fffffb4cccffffff4cccfffffcb3348b87087e937c9e1e0ef8
+26d7dd15839384969594929393829281808384831ef8d2f76f15f7199ef7526d8bc5
+8bb4fb298f27903290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d9888e4849a84d75ec183a48bc08bcd93c1a3a193969a8b9e088ba1
+7a858596a49397988b9f8ba1719f8b8baa9b999c8b9f8b9c7d9d669f08fc952b15a9
+9cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb2e808b82f7
+1291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7df72782908b059a8b9590929788
+8a868b858b086875bdef1f0ef7bff755f7eb1587b0fb39848bfbe4f73d9994bc05d6
+8b8f49f71d8b908b988b9f8d8b8a8d8b908c98789e82a68bc88bd5a88bbd8b9c8399
+7a950892968e968b968ba0809a74958f948e938b918b9785977f9708c906eaf7088d
+c4d2fb4292fb141ffb0d067596788f7a8b428b6240398b08fb208d15f706918bfb99
+fb068205f855f729155f8b34d58492088381bb550570716f7e6e8b7a8b73906e9408
+8107a576a382a18b978b998d9d8f8b639c78b18b088f06888389848b888b72977ea5
+8908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f776786821ff7
+05421563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f33fb0f
+157174959c1f8b9aad85cba4a29498908b8b089891837c7052725c1ff7cbf7b81568
+fb018a421e768b678c588e79a372a66ca9ab8cb78ca58b08f737ee796a1ffc272915
+9e8ba5739f8baf8ba9998ba88b908a9089909c8094828b810865fb0e6561737e96a3
+9ca49fa11e0e82f7d2f8f0159b929e909a8b08c3c783fb062a5d793c1f788b808d80
+8d08fb173e1590908e8e1f8b99878d3189498d88898b7d05889388951e8c06908b9d
+7da77608f71ffb0405ff00016666ffffff199a8c8aff0000999affffff333308ffff
+fae66607ffffff8000ffffff6666ffffff4ccdffffff3333ffffff3333ffffff3333
+08fb0e2f056b74797e848b0889067f8489861f8b7e8f8a058bae8ca0a3b18a8b1e8c
+8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08dbff003d4ccd8bffffcbb3
+330572807d721e8806878888871f8b7a8d89058bbc8dacaeb1898b1e8d8d8b9c058f
+878e881e8706778197a61f8bff0028e666c2ffffd7199a05aa7192858b8808858989
+821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e8e8c8b990590858c7d1e8a
+06868b8a8d5fad08fb1ff6058a8c8a8d8b8c8b8e8c8f8f8d08f711e905b1a696939c
+8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d05878f8991918f
+88861e8b868985767b082f4605fffffc199afffffd3333fffffcccccfffffd999aff
+fffd199afffffe333308f7370797869587a38b08f727b5e0d7c06edffb291f768b6b
+8a5c88608956887e8b087907898c87911e8f8ba08d938b089ba385691f8bfffea7e6
+6659ff0028199a057b9985928b8f08908c8f971e0ebbf7d67b15f73ff70df717f734
+f73dfb17f711fb35fb32fb1bfb10fb3efb33f70ffb18f73e1ff71bf730155a32a7f7
+01ea41b54e1fffffb3199a8bffffd79999ffffce6666fffff44ccdffffa6999a088a
+0694f734f2f701f7308b08f727f70dfb06fb2b3e584d391f66f71f15769d799fa09e
+9da0a0789c7677797a761efba68715a09c9ca0a09d7a7676797976767a9da01e0e6c
+f7ae8315f70feeeef70f1f8bff00653334ffffbbccccff00561998ffffa2999aff00
+1a6668ff0013999aff00189998ff003a199aafff0020e666ff0012b334088b76a47f
+1e8a06ffffef4cccffffff1998ffffc1ccceffffc6ccceffffe23332ffffd84cceff
+fffb999aff00009998fffffb8000ff00006668fffffb8000ff00004ccc08ffffe919
+9aff007980007175ff0013b334ffff9c80008a8b05ffffeeffffff003a6666ffffdd
+999aff002f999affffccb333ff0025800008648605ff0031333360ff002b999affff
+d2999aff00136666ffffc9ccccffff9b6667ffffeb199affffb46666ffffa633348b
+ffff954ccc08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8f30a5728
+156c8b66688389088d8605ff000d800090ff0015199aff0001e666ff0010ccccff00
+00b33408ff0001999affffd66666057a987e9f1ea18b95998c9f08ff00016666ff00
+1c333305ff00093334fffffe1999ff0008b332fffffeb333ff0008b3348b938b978f
+929508879205818c818e888b7c8b729c798f868c868b868b089162158f8a90608189
+050e6cf7ae8315f70feeeef70f1f8bff00668000ffffba199ae2ffffa0b332ff0019
+3334ff0012e668ff00378000ff002c4cccff002e1998beff002bb33408639005ffff
+cc6666ffffda3334ffffdd6666ffffd01998ffffef199a50ffffffb3348bffffffb3
+32ff0000199affffffb3348b089fff0064999a71a1ffffe93334fb0d05fffffb3332
+8bfffffb3334ffffffb334fffffb3332ffffffb332ffffe1e667ff0027999affffc2
+cccdff00381998ffffef8000ff0000e668088a068076728b1fff001ee66679ff0037
+199affffddccccff00156666ffffe78000ffff9de667ffffe93334ffffb6b333ffff
+a766668bffff97199a08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8
+f30a5efb2a15618b78a479ab08767f05ff0010b333ffffe36666ff0013e667ffffe4
+999aff002219998108ff00014ccd6a0579987e9f1ea18b95998c9f08ff0001b334ff
+0020333305ff0026e666ff000cffffff0014b332ff001de667ff0007b334ff000de6
+66087798056e5e6685768b08fffffee6667215ff0001199a8bff0003999a8bff0004
+6666648189050e6cf7a8f702158a64958d86af0588a715a08bb091a8b8089f7e0583
+7d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba808a09705
+9d6b9e72b58b0890fb2515f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005
+5865685b7a50088a8b9ff071a174fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e28f7bb15999697999a977f
+7d7d7f7f7c7d8097991ef721169997979999977f7d7d7f7f7d7d7f97991e0eedf7e7
+f85e15f8f00a9ffc6b15db07b88fb59daca708c552a7a752c505a7ab9db490b908db
+b23b0687b77bb76eae08c3c36ea75454056ba7629e5a8f08d9633d075b8761796a6f
+0854c2706ec0550570697960875d083c62da06905f9d61a669085353a86fc4c205ab
+70b47aba86083b070e33f70a5f15f712c9e3f58bf72d8bf72337f70525c508f710f7
+31fb23fb3ffb34fb11fb35fb4c1f31f92315f7106bf716fb1e8bfb398bfb41fb1efb
+18fb106da380a585bd8b08f761f72df73df748f751fb1af736fb6b1f728b57847385
+080e33f819f8e415fb124d33218bfb2d8bfb23dffb05f15108fb10fb31f723f73ff7
+34f711f735f74c1fe5fd2315fb10abfb16f71e8bf7398bf741f71ef718f710a97396
+7191598b08fb61fb2dfb3dfb48fb51f71afb36f76b1fa48bbf92a391080e655db9f7
+00bdf7eabdf7327612c5bd6fbdf70ebff711bd6ebd13fa80f7abf88815edd43c302e
+433c282843dae81fe8d6d8eb1e6dfc19158dfb03218b8b5df68b8dfb0fba8b8ef70f
+f68b8bb9218b8ef70305f7099bd6ed8bf48bd95fdc3fb10813f700ceb1abdc8bbd08
+5906595c2c24344ddacd1e59068b60a535d4630813fa8041665c3f8b378b2ccc21f7
+1279080e655eb9f702baf7eabd01c5bdf723c1f725bd03f78df703158dfb02218b8b
+5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf408f70038f704
+fb1dfb152e26fb0b1e8b2ccc21f7127908a9f81915edd43c302e433c282843dae8e8
+d6d8eb1f0e6575bdf7eabaf702b9f70e7701c3bdf725c1f723bd03f7c7f8351589f7
+02f58b8bb9208b89f70e5c8b88fb0e208b8b5df58b88fb0205fb097b40298b2208fb
+00defb04f71df715e8f0f70b1e8bea4af5fb129d086dfc19152942dae6e8d3daeeee
+d33c2e2e403e2b1f0ed375b9f7ebbc01c5bdf7eabd03f7abf80315f8f40af771fb40
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb0e
+fb0eee2cf70cf70df1edf70b1f0ebde0ba65b9f817b412bcd4f737d0f706d213bcf7
+51f8a315ccaafb0f3d1f8b376c4551737a846382768b088a06837c83831f7607868e
+868c1e137cf80094058f8d89891f8bfb519679c7aa8bf74ac88d058f8e8d928b948b
+948895868e08508c8bf835758d5a808bfc2605888988871efb5706b4a9b9df8be908
+f457f707232f525950739b7ba3a8959f981e8b928a93898e8a8f89908b9708a9a191
+b81e0e36f7e5baecba01f70ed2f714ce9bcf03f70ef8f615395007807e7e7b829082
+951fcffc78069679c6aa8bf79105abb9b5a7ca8bad8bb4648b5d8b5a784e79667b69
+6d4c8b5a8b569f68b06a08cb839396055eb17aa88bbe8bb799cb9eafa0b2a9cd8bbb
+8be047b6458b598b4b69706708f73bde079899a197938790801f2ce606748c050ea1
+30abf735a7f73fbaf747a901f3d1aebf9ad19fbea5d103f7998c15a4a0a7abad9d6e
+73667374706c74a2b01efb31f87615fbc9076f7e7b621e8806868888861f8b798d89
+058bd08daf1ea7f759f1fb6f0665816e708b5c0852c36bbabcc3a9c81e8bb56ca763
+9608f770ecfb5907a78c05afd0888b1f8d8d8b9e0590888e861e8806627e9ba71ff7
+c807a8989ab41e8e06908e8e911f8b9e898d058b4588681e6f8c8bfb632a8b8bf742
+789a6b8b787c8bfb42258b8bf7636f8a0568458e8b1f89898b7805858e88901e8e06
+b4987c6e1f0ef76b5db9d6baf8a17712f70dcef74ad64ac0f754ce13f6f8455d15f6
+b921068cd605f74b9dd5f71d8bf7458ba09193938b978b9c79967d08ae8efb2cf743
+058a8a898b8a8b08fb42078bfb2a60fb0ffb267f0813fa94f81205a48e97931e938b
+997da07108ae8efb11f723fb16fb23ac8805a0a59a99948b0893907f721f92fc1205
+fb299663f7078bf72f08f745078a838b8b1efb2bfb44ac8805999b9d9b978b948b91
+838b768bfb4bd5fb13f74b79088b8a8c41218b8b5d0513f6f68b8dfb0fbb8b050e27
+4bbbf7b6bcf70377f718bc01bcd2ddd2e6d403f7a5f7a115e98ed1d38bf208ed3ebd
+251efb65838bfcdfa47db9a08bf79fdd888bfbe3f7849094af8798fb428505e6f862
+158b4d66535582088bf703778f587a8b2a398e8bf76bf7189305b8ce733f1f0ef7bd
+f8cdbf01b2d6f7bbd6f7bad603f82dfb0d159779caaa05f7c8def80af718bbaa6046
+1e8b617e5e6f5908bf82a29405a6bd99ba8bb78be24bd0398bfb448b50fbbf76fb3e
+08810671f77045f78cfb2e8b3d8b414a8b2f8b60995da65908c183a193056fb97db8
+8bb608ccabb8baf719defc08fbd21e0ef755fb04c4f802baf767ba01f72cc3f808c3
+03f81e5415203cdeeef5e0d9f0f5db3925283c38201f20f8221542634d438b2408fb
+15f703fb03f717f719f701f704f7141e8bf24dd342b3c0a1a3a5aecb08a1b305a7bc
+aaa4ae8b0895ba6f065a8b5f646345086b560577677572757d747d6e84678b678b6e
+927499759976a476af086cc00563d15eb25a8b086f5c9506ae8baa72a75a08a16305
+b244a476bb77080ef70f65ba82baf86ab97fbb12f74ed5f75ad6138cf74eb0156085
+5e825a7e085c07134ceba4f398f7028b08139cf7038bf27eeb7208ba075a985e9461
+9108f87907b891b996b89708bb07132c3773247ffb0f8b08139cfb0e8b239737a308
+5b07b97fb881b98608d5fc7615f87207136ca789ac8ab18bb28bac8ca68d08fc7207
+6e8e6a8d668b678b6a896d88080ef785a8c3f724b3e0b4e576d4c301bcbbf767baf7
+12bbf767bb03f75ef7a115525bb8c9c5b7b9c7c4bd5e4f525e5a4e1f8f6315e0cbd3
+dd1f8bb775b841afb99ec695d38bf38bf70073f7045a089dad8d9e05fb03bd20a527
+8bfb078b2a773f613e615b618b490834d74adc1ef841f71115c4bb5d4e4c5a61544e
+5dbcc3c4b8bdc81f8cb41538434d371f8b42bc65bb735d785181428b228bfb00a4fb
+03bc08786a8c7605f70359f471ef8bf7088beba0d7b5d8b4bbbd8bcd08df45c9391e
+0ef716fb39c2ecbdf767bcf7a2ba01b2bde8d5b2c9c1d4f701d203f753f78c15c9b5
+5b514f5d5e52525db7c9c6b9b9c31ff7b9fbac158bc6a5c9cad2c4ccaddb8bee08ed
+34f704fb38fb09fb063afb041e8b639667b3577a8f828b7b8b083747463630d24adf
+e2d7d7dd1f8bb07daf6ab35fc181b98bd308dcd5c3e3e9dc342d1e8b29765b595555
+4f523c8b308b46c157d88bb58bb8a7bac508759e0561646f80628b6b8b70a78bbd08
+0ef73dfb04ac01dfd6f707d6f707d6f0d703f8af9a15f773079dc5a4b9a7ad9f6195
+608b5d8b255a3f575708fb528915f7db079ed9abc8b3b59b6f93618b5308fbeb078b
+728d738f7369756076597c08946a05bd93b799ae9fa154ad61be6e089c990563b87b
+ab87cad6c7ebee8bf7188bcf77cc63c908487a057a7379697c6008f700078bbe69ba
+6db5085480056a6571637f6284c169b772ab086a9275790572707266785c83b97db0
+76a70874895f7c05a261975d8b5a088bfc2d9779caaa8bf7e9059fcdaac3b3b89b70
+935b8b45088bfc0c9679050ef722c4c0f70ac1f77bbc01f749cbf78dcb03cdf77815
+f77e8b91bd055fa47ab08bb708d0c4c7cfcec44f461e8b5f7a625e76088659f77d8b
+059899a497938794801ffb3c06aaaaa2ae8bb208ee34d7282532392c1e8b64a26aa9
+6c08fb32067f7e767b829183941ffb3f04f8e5069899a496948793801ffce7067f7e
+767c829183941f0edefb3c9c01dad6f705d5f705d6de9a03b7f8b615a265975b8b51
+088bfc269679cbaa8bf7e8059dcea8c4b4b89b71945b8b46088bfc0f9679caaa8bf7
+db059cd5a8c7b5bb9c7393628b5108fbd5078b39a557b26608af670592858d868b87
+8b858289808b888b878b878c087b7af70a8483f70c7c7b8b82057f897f831e888b86
+8d85910872a40570a584b58bdc08f7f3078bc37cbc6cb408427f056b6574657d6384
+c27bb671a908437f05716e74667a5f83b47db075ab087489050ebe9376f889b701f8
+afb903f8e1f8b1156c856a886c8b588b5c92699608836105af7eb384b08b978b978c
+968c08fb90fb8dfb0bf70c6363f70bfb0bfb44fb43b263f745f743f70bfb0db3b3fb
+0bf70cf78ff78e058a828a818b808b66935f9d6408b595057eb382b78bba8ba98fa9
+91ab080ef776fb05bacdb5f75fba01f74fc3f870d603f963f721154f6764651e618b
+589262b8abe1b3ccc38b08bda959551ffbfaf814159c67914398259efb2b918ba65c
+57fb2b7a6b278b08725cbf06c08bd88dcbf73ab362be7dc18b08d8d2c8dfdf58ca37
+1f4b8b3855674572e88ef75f58f70608417c055950683e752c7de17bca78af7ca65e
+9d5e8c08827505b27a9684a25f9c6bb1fb2c8bfb0e089a7fb497058bf748d6f714b6
+bd080ef77fcdf80d15a55cf712f1058e8d8c8c8d8b8d8b8d8a8d8708cf2c058d898c
+8a8d8b8c8b8d8b8d8d08f70aed058e8d8d8c8d8b8e8b8d898d8608ce2e058d898c8a
+8d8b8c8b8d8b8d8d08f709eb058e8e8f8d8d8b8d8b8c898e8708d328b7a62ef72905
+8790898d898b898b8789878708fb0c2943ee05888f898d898b888b8989878808fb0e
+2742ef05898f898c898b888b8989888908fb3ffc3d15a55cf712f1058d8d8d8c8d8b
+8d8b8c898d8808d02c058d888c8a8d8b8c8b8c8c8e8d08f70aec058e8e8d8c8d8b8e
+8b8c888d8708cf2e058d898c898d8b8c8b8c8c8e8d08f709ea058e8e8f8e8c8b8e8b
+8c898e8708d328b7a62df729058890898d898b888b8889868708fb0c2944ee05878f
+8a8d888b898b8989878808fb0e2742ef05898e898d888b898b89898789080ebdf7a3
+b901f752d6f708d603f8887d15b384b4920538e261e98bf308f70cb9fb0c0690e5b4
+e1dae0086291668505443e6236812808fb080680ee63e044d808608e698805d936b4
+35903108fb0c5df70c068b23612d3934089a86cc9005dae5b3f7018be108f708068b
+fb05c821c549080ef713f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb
+0ff70b4dd432f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b96
+8b9c7a8b5e8b557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef74af8
+41f71015be9292961eb08baa30f28b08d9bac1d8b37bf4fb061f4a8b51586d8b818b
+82938b958bacf7039b8bf308c85ac624fb046149551e8b24f7027d8b668b7d818883
+8b698b57bd498b08227130563dbd55d61ff28baae6b08b9a8b8d768b668b57836164
+830876f72fa00769937ebf8bb6080ef716f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff7
+1ffb298b518b346b8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706
+f70c8bf7108bf7043bb0488b080ebdf7daf900152ffb0c2a22242ef70125ed21e0fb
+03e4f706eaf5f0eefb06ed32f70139f703080efb5781f75101f7c7f94e1589fcd505
+ffffffcccc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e6
+66ff004d8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000
+ff00148000fffff680000888f8a0050e4e81f751f6a0f81b7701f79fb3f724c403b7
+bf1564af74cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cc
+cca67eaf79baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8b
+c38bff00314ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f69
+8b0859345a3d1f0ef77ffb67f75197f751f89b7701f7a2aef804ae03f932f824158e
+fc4805ffffeb8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa8
+8000ffffce8000ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe7
+8bff0044cccccdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00
+098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb2
+8000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff0000
+4ccccc088df869050ef77bfb67f75197f751f89b7701f79fb3f802b003f7c7ff021b
+1998158bff0048e668f802fb538bffffb666660588ffffd5999a158efbe905ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00098000ffffdd
+8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd919
+9aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df8
+0a050e2cf7afbd01f713aef71dd203f736f76915aec1ab9ba78ba48b9c708b718bff
+ffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f71eafe3ff
+0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060efb2fff01cf999a77
+01f70daef70bae03f7a7ff011ab33415fb0bffffd3e6668bff00624cccf70bff002b
+666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8bff
+0185999afb2effffbf4ccc8bff0095199a050efb2ff8ec7701f70caef701ae03f79c
+f8ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4d
+c1ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b
+8bff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ff
+ffe980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffe
+c3199a15fb01ffffd366668bff00654cccf701b7050efb14f75f9a1589ab055b8c75
+998ba408b3ca8fb0c1e89ed11e8bd75297508f088a5e05b28aa5858b6c0859518b61
+5e27873063aa66b71e978b9c8e9d900887f73f15998ba08c9e8b088ef76705748a75
+87758608fb110489b8057c876f86888b086f7d98a4c3f71599b21fbf8b8f80ad8b99
+8b978d989208858e91899388998189949090878b828b828c828d8a8a8191a387058d
+8d8d8d8b908b957797808e7d8e8e9d778b778b54845c884e87fb0d718b348b679c5b
+ce8b089c8ba18da49108d0f762158c938c9f8b9f08b683a269707f6e741e8b81905b
+8d80a28fa48ea38b0887fcd015798480868187088c62057e918397969596a01e8d07
+77b815d1a3baad8bb38bb368a06b8b848b7f898388088a6a05928d958f948b928ba4
+898b738b6e527073827783747c7679787a73848b848b879089918b08958b9b8f928f
+a6989798a4930876ae15b19b8bf7445a8805f71ff7dd158d8d8d8d8e8d8989888989
+8889898d8e1e0efb50f760f84415aca47563646b74716d6fa8acaca6a8aa1f80fbb8
+1575da63d32b8c878b878888858b5eb76d9580c548c39c8cfb26087c92868f928e91
+991e8ef729b778d0caaba9a0a68bab8793868d8a8b428a54456c3908f71e07b790b3
+ad8bc108c35db15b556260581e8b57b065ba88080ef7865eb9f702baf7eabd01c5bd
+f723c1a1bdd4bd9fc1f725bd03f78df703158dfb02218b8b5df68b8dfb0eba8b8ef7
+0ef68b8bb9218b8ef70205ff0028999aff00058000ff00238000ff000f8000ff001d
+199aff0016199aff001c3332ffffea6666aefffff06666ff0029999afffffa199a08
+8dfb02218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf4
+8bf70038f704fb1d8bffffcbcccc8bffffd1999affffef8000ffffdb6666ffffe466
+66ffffdcb334ff001b199affffd2e6669cffffca999a8bfb158b2e268bfb0b8b2ccc
+21f7127908a9f81915ff0024e6668bff00216666fffff4ccccff001b3334ffffed33
+34ffffe0999affffd9999affffede6665a8bffffcb66668bffffcf4cccff0011199a
+ffffcc6667ff0021999affffd6e667ffffe4b332ffffecccccffffde3334fffff499
+9affffda66668b082843dae8e8d6d8eb1fff00aa3334fffec8b33415ff00208000ff
+00276666ff00124cccff0032199a8bff0033cccc8bff00318000ffffee999aff0032
+6666ffffdfe666b3ff001b80009eff00216666ff000b199aff0024999a8b08edd43c
+302e433c281fffffda4ccc8bffffde4cceff000b6666ffffe4999aff00134ccd08ff
+ffdc4cccff00f6800115ff0017199affffe2b332ff000d6666ffffdb199a8b648bff
+ffd7e666fffff2999affffda999affffe8e666ffffe24ccdffffe8e666ff001db333
+fffff2999aff002566668bff0028199a8bff00278000ff000d999aff0024999aff00
+16e666ff001d199a080ef7ddfb38b9ebb9f75dbce8bcf723adf37701c5bdf73ebdf7
+0ebdf73ebd03f964c0158be561cf47ae08f701f76c05944e9466a74f08b7870569e9
+7ebf7fee08769505ffffc39998ffffdaccccffffd5b334ffffeab33459ffffedb334
+ffffe73334ff0048ccccfffff4e668ff00326668fffff59998ff0055999808769505
+305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb
+0efb0eee2cf70c1fff0004b3348bff0004b332ff0000199aff0004b334ff00004ccc
+ff001eb33237ff0051199affffc5999aff005e199a8bf70d8bf1ed8bf70b08fc4df7
+ce15ff0047b3348bff003a6666ffffd5199aff001a199a50ffffa1ccccffffe51999
+4cffffab33338bffff9b999a8bfffff6199aff0000999afffff66666ff00014cccff
+fff6800008ffffff199a062843dae7e9d6d9eb1fff00a98000ffff6a8000158cffff
+f8999aff00008000fffff880008bfffff866668bffffb48000ffffcf8000ffffbd33
+33ffffb7e666ffffea8000ffffff199aff00073333ffffff8000ff000733348bff00
+0766668bff004cb333ff0031e666ff0042199aff0046999aff0015b33308ff00274c
+ccff0038333415ffffeee668ff00331998ffffddb332ff00274cceffffd1999aff00
+17e66608f701f76c0593ffffc99998ff00081998ffffdcb334ff00158000ffffce66
+68fffff1e668fffffb8000fffff0e666fffffb8000ffffef999afffffb4ccc08a969
+05cf9ab09cc3ab08fb0afb6b0572937a8b758bfffffbe6668bfffffbe666ffffffe6
+6687ffffffccce08ff000a999affffcf4ccc15ff0000999a06edd43b2f2f433c281f
+ffffb5cccc8b50ff002c4ccdffffe7199ac8e6ff001b1999ff0044199aff00534ccd
+8bff00614ccd8bff000a4ccdffffff800095fffffee666ff0009b333080ef763fb6d
+76f70eb9f703b9f7eabdf723ad12c5bdf712bd6ac1f725bdf712bd13fdc0f938f796
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b6b8bffffe23334
+fffff9e666ffffe54ccc80ffffe6199aff000ae666ffffe2b332ff00063334ffffdf
+b3348bfb158b2e268bfb0b8b2ccc21f71279088dfb02218b8b5df68b8dfb0eba8b8e
+f70ef68b8bb9218b8ef70205a18eff0014999aff0005e666ff0012ccccff00084ccd
+ff0019cccefffff58000ff001c4cccfffffa4ccdff001d80008b08f70df1edf70b1f
+fc21f73f15ff000a80008bff000a3334ffffff199aff0009e666fffffe4ccc0813fe
+c0ffffd0ccccffffd78000ffffe3999affffc380008bffffbc999a8bffffbb999aff
+001f199affffc41999ff00306666ffffd8999afffff4e666fffffdcccdfffff48000
+fffffee666fffff4199a8b082843dae8e8d6d8eb1fff008ee666fffead199a15ff00
+318000ff0029ccceff001c999aff003e33348bff0040e6668bc9ffffe4999aff003f
+6666ffffceb332ff002ab334ff000a3334ff0001e666ff000a999a8cff000ae6668b
+08edd43b2f2f433c281ffffff4999a8bfffff4e666ff0001199afffff566668d08ff
+ffc8999aff013b4ccc15ff0032e666ffffe1e666ff0020999affffc880008bffffc3
+33348bffffc1e666ffffdfe66653ffffcd199affffe1cccdffffcd3334ff001e3333
+ffffdfccccff0037999a8bff003d80008bc9ff0020b334ff0037199aff0031ccccff
+001e4ccc080ed3fb6d76e3bae7bbf7ecbdf722ae01c8bef724c0f725be03f7918015
+8d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f70099e0ed8bf7028be45f
+cf47ae08f700f76d05944e9566a64f08b8870568e97ebf80ed0875960530525a782a
+6f08a86805cf9bb09bc3ab08fb0afb6b0572937a8c758bfb148b2e288bfb0e8bfb03
+e12cf57c08a9f81c15f8f50a0ed375b9f7ebbcba76f709adf37701c5bdf7eabd03f7
+abf80315f8f40af771fb40158be561cf47ae08ff00184cccff0030199aff005cb334
+ffffd2e6669fb5ffffa43334ff002c999aff003fccccff007e666605944e9466a74f
+08b7870569e97ebf7fee08769505305359772a6f08a96905cf9ab09cc3ab08ffffbb
+6666fb11ffffa7999ab67761e1ffffd6333470ffffcecccc0572937a8b758b08fb15
+2e28fb0efb0eee2cf70cf70df1edf70b1f0ef74ffb6d76e3bae7bbf7ecbdf714b401
+a5b6f6bef724c0f725bee9b503f900f766158bff0041999affffe6e668ff0039b332
+ffffd51998ff0027e66808f732ff00b2cccc05844e8b65964a08b57b0582ef8bc09a
+ed08799b05246b57862689089e6205d189b391c99b08ffff586666ffff4f999a05ff
+ffdf6666ff0012199affffd94cceff000a4cccffffd4e6668bffffd280008bffffd6
+e666fffff36666ffffdde666ffffea666608ffffd8e667ff0029199aff004acccdff
+0043199affffe0999aff0022e668ffffb43333ffffbc1998ffff9a3333f605c97bb3
+85d18d089eb405268d589124ab08787a059a298b56822708b69b0596cc8ab184c808
+ff0062199affff90e666ffffb6800049ff001f6666ffffdd199aff00494ccdff0041
+b334afffffd74ccc05ffffd98001ffffd8199affffe93333ffffc94ccc8bffffc399
+9a8bfb03e12cf57c088d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f700
+99e0ed8bf70208fb72f73f15f8f50a0e4081bdf7f0bd01afbdf7f0bd03e1f76a15f8
+f60a5916fb0ff026f70ff70ff0f0f70ff70f26f0fb0ffb0f2626fb0f1e0ef73781bd
+f7f0bd01afbdf750bdf702bdf750bd03e1f76a15eadadaea1eff001b999a8bff001a
+4cccfffff94cccff00176666fffff43334ffffd8e668ffffd7999affffe7ccccffff
+c9199a8bffffc3cccc8bffffc3cccdff00183334ffffc91999ff00271998ffffd799
+9affffe8999afffff43333ffffe5b334fffff94ccdffffe466668b082c3cdaea1f59
+16fb0ff026f70f1eff002b999a8bff0028ccccff000cb333ff0022999aff0015e667
+ff0022999affffea1999ff0028ccccfffff34ccdff002b999a8b08f70ff0f0f70ff7
+0f26f0fb0f1fffffd466668bffffd73334fffff34cccffffdd6666ffffea199affff
+dd6666ff0015e666ffffd73334ff000cb334ffffd466668b08fb0f2626fb0f1ff7eb
+ff007e199a15ff0021b334ffffe0199aff00154cccffffd319988bffffceb3348bff
+ffceb333ffffeab334ffffd3199affffde4cccffffe01999ffffde4cccff001fe667
+ffffeab334ff002ce6668bff00314ccd8bff00314cccff00154cccff002ce668ff00
+21b334ff001fe66608ff0029b334fffee6666615ff00271998ff00286666ff001833
+34ff0036e6678bff003c33338bff003c3334ffffe7ccccff0036e666ffffd8e668ff
+00286666ff00176666ff000bccccff001a4cccff0006b334ff001b999a8b08eada3c
+2c2c3c3c2c1fffffe466668bffffe5b334ff0006b333ffffe8999aff000bcccd080e
+f7f781bdf7f0bdaa7712afbdf7f0dd48bdf801bd13f6f855f86915ffff78b33407ff
+ffd8199aff003e800045ff0029ccccffffb0e6668b08fb0f2626fb0ffb0ff026f70f
+1fff004f199a8bd1ff0029cccdff0027e666ff003e800008ffff6fb333bdff009380
+0007ff00278000ffffbfb333ff00471998ffffd4cccdff005066688b08f70ff0f0f7
+0ff70f26f0fb0f1fffffaf99988bffffb8e668ffffd4ccccffffd88000ffffbfb334
+08ff008a800007fc31fb9315eadadaea1e13faeada3c2c2c3c3c2c2c3cdaea1ff842
+16f8f60a0ef8e581bdf724bdf72ebd01afbdf7f0bbf774bbf7f0bd03e1f76a15f8f6
+0a5916fb0ff026f70f1eff0070cccc8bff005e6668e0ff000eccccf70108f77406ff
+000eccccfb01ff005e666836ff0070cccc8b08f70ff0f0f70ff70f26f0fb0f1fffff
+8bb3348bffff9f6664ffffa5ccccfffff5ccd0ffff8e333408ffff22333206fffff5
+ccccff0071ccccffff9f6666ff005a3334ffff8bb3348b08fb0f2626fb0f1ff96216
+f8f60a0e8781f71b01f71bf77215838b8478837e81928297848b08817b70798bff00
+113333fb42ff0050cccd1fa08b99909297f760ff01626666f713ff00b500028bff00
+1399988bff00069998fffffc4cccff00046668ffffebb3348b628b69fffff733347d
+ffffe4cccc39fb33ffff713333fb91fffff0cccd8bfffff066668bfffff4999aec7b
+8b080ea69c7601f771f8b415838b8478837e7e948595848b818b7b708b798b61b4fb
+13a54c7576fb1d218b758b8292848f81088682817e8b858b84986d9a8b8f8b918d8f
+8d8b87916c958b988b9ab4f70ff70db22a9957a18b08968b9397979294869383928b
+9a8b96a88f96ac8b8ea58b968ba06e9948f720f73df74fb77e8baf088b978099788d
+8b8b8bbb728b808bfb07fb043b3d3df7259bbc6f8b080e339676f81dc6f78c7701f7
+79da03f7c897158bab80e78af790f38bbf869c8b089b90909fa085987b1f758b5c87
+248a8bf71a97d58ba2089b8991771e68067a86847c1f8b7196428cfb18238c588f7a
+8b087b857d777591889c1fa08bba90f38b89fb7a80fb068b6b08798e879e1eae069c
+908f9d1f0ef893f7a8f7f2158b988d979095a7baff00244cccff000ab334ff000bb3
+34ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b6260768b6a
+8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b82a35c908bdb08
+f7eafb08154eb765a6558b798b7b877f86929591968b9b8bc071bd819cff0047199a
+8bff0017e666ffffae80008bffffda80008b868a858a87089b9bbfaca88b928b9485
+9583838d828c828b087785837e749e85971fae8bff00151998fffff6b334ff0026e6
+68ffffe24ccc9c7eff000d80007fff00068000857e8873717a77088b5c606b7c7985
+747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c868b868b85084c657b
+601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1a4c8ba08fbaf5015
+8b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e668ff001b80008bff
+003c66678bff0039b333ff002fe666ff001c8000ff0004e666ff000d8000ff002280
+008bff00038000ffffff80009affffee8000848d838d848b087f7b896e1ff8cfc415
+7c7d7984748b768b799378999c9ba096a28b9d8b9e809b7a08fbd5f78c157dae67cc
+7ba262c560a760a5895575696f6f7e7effffd64cccffffe84cccffffdcb334fffff2
+b3343dffffe2b33450ffffe94ccc8bfb038b4bb958b66d086391fb1fb88b67c47553
+768b68f71eb3b4908c8b05797e7f828483797a65ffffda80008bffffc180008bffff
+a96666ff00454ccd62ff00376666ffffef3334ff001db33382ff0023999afffff033
+33a3fffff13333af76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58b
+e48bff005c9998ff00464ccdff001f6668ff001eb33308f74df749fb50f74605ffff
+d7e668ff0025e666ffffa61998ff0031199a348b688b627e7b8408fb09fbac156475
+a59194a1a6b01faf8ba47fa5757077787d648b0857fb7715807985721f8407849388
+958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948bda8b9b
+bd8fa29c81a4889d8b9e8ba094999708a78c058a858b878b86087997879596a392a8
+1e8b978593848f878e808b7d8b087506ff000b8000ff0018cccdff00118000ff0022
+333393969ca6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f
+8b8e8c90fffffc3334ff00008000fffffbccccff00008000888b878b76858b768b6e
+b8878b738b82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00
+008000ff0029cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334
+a571a46ba8668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8cccc
+ff0019ccccff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c
+8b799d84908bff0004cccc8bff00026668ff00008000ff0004ccccff00018000ffff
+fecccc8fffffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668
+ff00009998fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334ff
+fff9cccc7e887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b
+06a29f8ea4a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb
+4cccff0000199cfffffb4cccff0000ccccfffffb333408718c0580977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b3347f986c99828b08757e77707d9777a21f9b8bfffffa4ccd9cff000d
+b3338b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655a03bb78bdb8b
+ae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff00261998ff00
+0d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc65ff000db334
+7508acffffcaccccff001f4cccffffca3334ff0009b33463b096899cce8bd88bff00
+479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05ffffb34cccff
+ffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c7aff00248000
+78ff002080006fa271ff00148000ffffcb6666ff0016199affffdae667ff000e6666
+ffffbcb333a56cff002c33338bff002ecccd088bff00386666ff002d3333ff0033b3
+34ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffffe180008bff00
+0e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77ab6fbd7f8881
+8a838b828b56b180a68ba78bff000db334ff00104ccdff00084cccff000db3330871
+8905ff00014cccff0004b334ff0000b334ff00034ccc8b8f0898839a781e0ef738f8
+0ef91a15f8e50a6cfb81157e8b6d817d860881a505ba9da595b6a7089cfb99067496
+7d991ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8e1eaf069b9999a2
+1ff72b07ac89957f1e0ef738f80ef91a15f8e50a3ffba2157e7d9698a6a8bedabdc4
+774c1f8b5d6a695363616d736e8b6c08dc06ab8b9bb295a808a38505836d8468876e
+08fb62068bbbb7b5bab1b9aea1a28bc108ba67987960817c7d1e8b838f838b83087b
+7983821e0ef738f80ef91a15f8e50ab1fb7d15aa7794771e778b69818a728a7f887a
+758b0877879a8e9ca9c0e2beac75661f8b6e75746f7bac88ba708b510846495d3b65
+589ba0959895961e988b9284908494819583ab8b089ec498d0c45592721f848b878a
+838a0889a305b791a8a58bb4080ef738f80ef91a15f8e50ab7fb911522c207886857
+8b8b5a05788f859d1e9b068f8c88891f77078b618c7073658a8b1ea0078c8c8e8f1e
+9a069d8f8ea01fbdfb2407889705b7cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e93949697928b08919289831f0ef738f80ef91a15f8e50abafc2015a8
+89c6431e758b76857d8308858fa1f722f72d8b866a8b8afb118b7f3a059390a4909a
+8b08d8af5755505b5545695099a3979694961f988b9284938394829781a08b08b89c
+b0b51f0ef738f80ef91a15f8e50ac2fc2615a186c2521e7d8b7585767a8a868b838b
+850837b374a7b793aeb01ec39015676e4a3c5a43a8f31e8bddc5f2f72d97087707fb
+017868498050999aa69ba48b08ec953c7a1f0ef738f80ef91a15f8e50a65fb67156f
+8b84847f5b08768e0590a792b38ca6089d0686908a9b1ef74206563052fb0e6c2208
+6906aef703c3f710a5b9080ef738f80ef91a15f8e50a8cfb53156e747d6e1f8b7b92
+75b077089f80059b95a2a68ba908a67b9d681eea5e15f8e80a2529157b8262638b69
+085fb47ba3b0a89cb41e8ba486a4639f080ef738f80ef91a15f8e50a50fb9d157590
+54c31e998ba191a19c089e07df63a26f5f8468661e538615afa7ccdabdd56e231e8b
+394f24fb2d7f089f07f7019eadcd97c67c7c707b728b082a82da9c1f0ef738f80ef9
+1a15f8e50afb22fb7d15f8e60af78fb7154c892d5652943ec1c592d7d9c17cd45b1f
+88fbc6154559dae0e9c1d3d0c4cb62fb0cfb0b4959511f0ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb3efb5cb7f9b6b601edc5c4c503f769fb301552f9b6c406f761b6
+15fbd4fe0df7d4b7fb27f9b6f727060efb3efb5cb7f9b6b601f72ec5c4c603f768fb
+3015f9b6c4fdb607fb9af9e11560f727fdb6fb275ff7d5fa0d070efb88aff7c503f7
+17f79f15f8d10a0efb8895f7c503f770f79615f8d20a0e4889ac6cb2f78cb2cbb2f7
+4dac12f5e0f7afac13bef7e4f84115fb25e9068bde9c90d18e91918ba085915e8aff
+ffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c
+868b38082d3564e14b3564e1fb39078b387a86458885858b76918508137ef71e0a13
+be5d0a137e77436650218b084c0664799ebe1ff746f725b2fb25cbf725070efbce89
+acf794b2cbb2f768a9a67701eada03f78af8411543f72e06cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fb163b64db4b3b64dbfb39078b3880
+864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08
+f739d3b243cbd3070e4889ac6cb2f786c691c6f765ac12669cf712e0f7269cf70cac
+13bf8066f7a915ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0007199a8b92
+fffffee666ff0006e6668908ffff23199a078b387a86458885858b76918508137f80
+f71e0a13bf805d0a137f8077436650218b084c0664799ebe1fff00b84ccc07ff000e
+e666fffff880009afffffb3334ff000d199a8ba38bcc98aaf6fffffcb334ff000419
+9afffffa4cccff0001e666838b75595a7a6f8bfffff1199a8bfffff09999ff0005e6
+66ffffef4ccdff000a199a08f73b078bde9c90d18e91918ba085915e8affffd1199a
+8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808
+ffff884ccc07fffffacccdff0001199a86ff0000999afffffb33338b084e8b554c7e
+4a080e5589acf78fad73a8f717b2f713ad12f3e0f775e813def7bef87f15fb01ca06
+a89aaed3d0d074fb13fb00575f2a1e13be728b638d808e08f717f70107fb56d2156b
+3764dffbde078b387a86458885858b769185b88cff00314ccd8cff0023b3338bff00
+2366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e0713def7c00a0e
+83fb40b8f709aaf7a2adf7b9ad01f3e0f76ce703f7a4f8fe15670a38fcad15f76607
+df8bff0012b334fffff14cccff000e4cccffffe8b33408f6fb4205ff001cb334ffff
+d16666ff002b4cccffffd5999ac78b9a8b9c8d9590ff00038000ff0006e666ffffff
+8000ff0009199a87935e8b72ff0021999a71ff002b666608fb12f76605b699e5bf8b
+f48bbd7ab467ad5bb84d8e4c8b5c8b6184678b688b5c8c5c8c85858b76918508d188
+9c868b3808fc38078bfb23ff000bcccdffffc0e666ff002b3333ffffda199aac6ea5
+89b88b08a1d49dafa1799e7d1f6c8bffffefb334ffffed3333fffff64cccfffff2cc
+cdfffff8b33481fffff24ccc837d8b086a7fa7f7481f0efb1e81bb5bb4f80bac12af
+de4bd8f735d913acf7b9bb15916cff000a999a70ff003266668bff00264ccc8baf9c
+ff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccdffff
+f88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727078b
+ff0029999afffff94cccff001fb332fffff4b334ff0018199a08c9ff006c999a628b
+ffffd4e666ffffb4333405ffffe2b334ff001eb332ffffd66666ff0008199a638b08
+3938555273977fa2a89da0981f8b928a92898f8a8e8a918b968baab596b18bff001c
+199a8bb0fffff44ccc97ffffbc4cce08ffffd6e666ffffb7e6665cfffff480000513
+742b7346568b478bffffc76666ff001ab3336dff0027999afffff2e66708ffffddb3
+33ffffc3b334b38bff001e4ccdff0035199a05ff0007b334ffffff4cccff0007e666
+ffffff999aff0008199a8bff0022cccd8bff001e333393b7ad089f9b05ffff80b333
+fffff3999a15ff006db333ff00c03334ff0013999aff000533338bfb18058b7e8584
+8385717669746f8bfffff5b3338b82ff0001b33383ff0002e66708ffffe38000ff00
+14800015fffff4ffffff000db333fffffacccdff001133338b9a8bb8a0b9d59e08ff
+000b999aff0003199a050efb9581c2f7edb201e4da03b6f841157d877f831f7e0786
+8c8a8f1ec6ffff07e66606fb08ffff34199ab48bff004bb333ff0085199a05ff0004
+e666ffffc6199bff001d8000ffffe8cccdff0029e6668bb98bbda1b2b789ff000a4c
+cd85ff0005b333818c71776d83718b087085a9c91f8bff0047cccdff0067199aff00
+b53333ff0000e6668b0595998f941f9f078bff00028000fffffee666ff0001b334ff
+fffde666ff0000e66608ff001b3334ff002fe666628bffffe54ccd5cffffabb3338b
+8bb205cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bfffff7
+8000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdffff
+fbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bffff
+f466688eff000699988bffff91199a08daffff6bb33215ff006d3334ff003e199a07
+0eef8aa8f7c1b2f78ea701f1dbf7dbdbbda603f88c16d88bb745994408a68b85f729
+058a948796728b08727ba3a41ff88507a7999bb41ea506908e8e901f8b9e898c058b
+2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffb62fbdbf76207a799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901e
+a506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d89058be88dafb2e289
+8b1e8c8d8b9e0590888e861e7106637c98aa1ff795f7dbfb95076f7d7b621e710686
+8888861f8b788d8a050e3e8aa8f803baf75ca9a57701e3d6f75ad6b8a403f848d715
+f76407f267c2431e648b507b484808f7e7750777827c8779877a8867857b8b088d72
+05898d888e1eac8f059f947b521ffc89076e827c691e7806868988861f8b788d8905
+8bce8dafb2cf898b1e8d8d8b9e0590878e871e78066a819aa81ff78e07bbbab6a5a8
+8b08c3a1783a1ffb73076e827c691e7806868888861f77d207d98ba93c965a08a48b
+85f71b059c808f7a787a9da91e0ec68aa8f7aeadf7a6a701f5dcf838a603f74fd315
+ff00ec999a07ff001acccdfffffc4cccff0010e66680ff00154ccdffffe9199a08f7
+4afb5a059f758b718b79088c84a38b05dc8baf36965308a68b85f729058a97849375
+8b7a8b7a9b72a808fb83f79805839485938b938b949497a9a708f734f72b05bcb9af
+94b3900891908e901f8b9e868c058b4e8a68633f8c8b1e898a8b7805868f888f1ea0
+069c9981851f8b82837f787808fb4ffb4405ffffe8cccdffffea4cccffffee1999ff
+fff3b334ffffec199afffffae66608ff00e3199a07a7999bb41ea506908e8e901f8b
+9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f
+7e7b621e7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e87
+1e7106637c98aa1f0e3489acf807a8f766a9a67701eadaf7bfa603f7cfd4159d728d
+748c790884a407db8b9f42975408a68b85f71c058a978493748b7a8b779875ab08fb
+09f74105888f89908b8f8b8f8c8f8e8e08d7df05a4a5b7a1a68b08920690918e901f
+8b9e878d058b558964685b8d8b1e88898b7805878e87901e8f06a39083831f8b8187
+7e7b7bffffc6999affffc1199affffddccccffffe19999ffffcf999affffea666708
+ff015ee66607cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+08fc49078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08ff0056666607ff00073333ff00024ccdff0006999aff00014ccdff
+000533338bff001480008bff000e80007a9978080ea28bb2f85976f71bb301b5a5f8
+8fa603f71af91a155c8ba69a57910877fb56a589058fb8a8e5d58b08f79506928f89
+851f8b868884858408fc15fcb105858389838b8408819086991ef80f06d98bb74599
+4408a68b84f729059488a1721efc0e067a838f941f8b908e91909408f807f89b059f
+a78e928b930894858e791e0efb4c8bb2f7f4b201aba5f7baa603f7e8b215fb6c8bf7
+79f7f005949993998b918b8f8b8e898d878e898b838b888b758a728908fb58067b8b
+878d8a9a08738f6cfb2ca586059edfa898a98b08f7228bfb80fbfb05858288858b86
+08849386a61ef74006dc8b9e42975408a68b85f71c058a97819e758b080ef788fb40
+b8f71e7693acf8dbac1213b0ff02e21998f70d15ffffe23334f83905fffffc3334c1
+ff0004800099cf8f91918ba0859108fb1789fb68fc8f0587818887898b898bfffffd
+199aff00056666fffffce666ff0007999a08fb61f890fb258d0585858b769185d087
+9189844008ffffd7e666fc3005fffffa199affffc4199a7fffffe6e666528685858b
+769185a98cab8ca38ba38bb38aa98a91918ba085914990fffffa999aff001eb333ff
+00056666ff00384ccd08b1f8258d8bf763fc9b0513d0ff0002ccccfffff8e666ff00
+063334fffff8199a918b918b8f928f9308f775f8a58d8bff0019b334fc3605ff0006
+999820ff0007b334fb1c518b7d8bfffff24ccc93fffff8b33495fffff64cccff000d
+3333fffffbb334ff0014cccd6c8b087d6d767567c079a11fb88baa93b4ae08ff002b
+b334ff00254ccdff00118000ff00461999fffff5e664ff008e999a080eef9e76f80b
+b5f766ac01f841f80915a18b9288fffffc3334fffff5b33408ffff99ccccfffefd4c
+cc858b2df7a405f7b1f7601554fb2505867e8587738b08fb678b51f73d05fffff433
+33ff00228000ff00263333ff00031998ff002f999aff0003666891918ba08591668a
+548a648b628b658c688c85858b769185ff0026ccccfffffc8000ff0021cccefffffc
+b334ff00116666ffffcfcccc08f762fcd0059a94a696988b08f777f8ac05a5c9ff00
+1e800091ff002b80008e91918ba08591718affffdf4ccc8affffe1b3348b628b598c
+668c85858b769185ff0025999afffffd6668ff002efffefffffbb330fffff06668ff
+ffd6e668080efb039576f831a881a512ddcfdea713b8f758f853154b5961591f8b6b
+937199697477777f757d089779059d97a29a9f9a8d87a93d8d8608c4fb2505907f92
+83988b958b9593909908f721f7ed059cb5998ea78d089106928f8e901f13d89f078b
+60896f6a568d8b1e7507888c87901e9b069e8a938a8b808b848881857b0830fb7179
+597bc062ed058b8c7ab28b8eaca5c5b98bbc08a374a2611e13b8877115a39c7d7b1f
+8b6b5c657173849d88938bae08b19fa4a11e0efb168aa8f7c4adf790a701f1dbf759
+b303f74af8d215a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e89
+8a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d
+89058be88dafb2e2898b1e8c8d8b9e0590888e861e7106637c98aa1ff798f72107ac
+8b977b906f08916c05878e88901eb08b8e8e0587ab87a88bae8bac90a98eab088d8a
+8d881e6706878887871f846d05856f827b688b08fb21060efb448aa8f74dadf72fa8
+01eed5f737ba03eef7fa15fbb2076e817c6a1e7806868888861f8b788d89058bcf8d
+aeb2d0898b1e8d8d8b9e0590878e861e78066b809aa81ff721f507ad8b967c916e08
+906c058c888d87918b08b08b8d8e0588ac86a88bad8bad91a88dab088d8a8e891e67
+06878b88878a8608856e05846f827a688b0821f70306a7969bab1e9e06908f8e901f
+8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac957b6f1f0ea276
+a7f828a601b0dcf736c5f738db03f7e69315f77f07f706a3c1b1c8b458fb211e8b4b
+7861675d6e66657b618508fbc1f77015fb5bf73059f709e3f74cbef75ff449effb07
+1e718b6f847676646484618b4208fb8d075b90679a73a76bb275be8bd58bf715bab0
+a19c0877a005627432608bfb15080efbd5f84bf7af01b9b603b9f85915f8f70a0efb
+d5f84bf7af01f74db603f778f85915f8f80a0efbd5f86076c6df01b9b6c6df03f728
+f8b015f8f90a253415f8f70a0efbd5f86076c6df01addfceb603adf8b015f8f90af7
+563415f8f80a0efb8ef858b193dfebb112f704b77ab7b8df13e4f778f8b015749e78
+a2a29e9ea2a2789e741e747878741f6af7441513f4586b67651f13ecf8fa0a13f48b
+b470af8bb18baa9c909f8bb18b8f6f9d8b089b909695a9689a5f1f0efbc1f858b1f7
+50b112f704b77ab713e0f757f96015586b67651f13d0f8fa0a13e08bb470af8bb18b
+aa9c909f8bb18b8f6f9d8b089b9096951fa9689a5f1e0efbc1f858b1f750b112f703
+b77ab713d0eef960155f687c6d8190809b1f9d8b8fa7b18b9f8b9c868b6c0813e08b
+6570678b62085dac6ebbbbada59e9981937c1e7e8b7b6e6b8b738b82988b9e0813d0
+8baca6bd8bb008b16baf581e0efb72f722f77001a6f7d303f7b4f7b615aa8e99a498
+b3087c8f0580747f89788a08fb5f7f05728879777b5d0898850598a09b909e8d08f7
+5c2c15aa8f9aa497b2087b8f0581768088778a08fb5f7e05728979767b5d08988605
+949d9d92a08d080efb309676f86a77f704f512b5d6c1f547a7e6cf13f6f7dcf70215
+8bffffef6666ffffeb999affffeee667ffffe26666fffff5e666ffffff8000ff0043
+e667fffff04cccff00254cccfffff63334ff0057999a84d885e6899f8b9189927f8b
+818b88838a7fffffff6666fffff7e666ffffff199affffe88000fffffccccdffffd8
+ccce08fffffd3333fffff7b332fffffc4ccdfffff7999afffffb3333fffff7800082
+7d777c747c5c6c57608b438bffffc1199aff0031cccdffffd21999ff004f1999ffff
+f49999ff0008cccdffffe23334ff00164ccd7da08b9e8ba4ff000ce666ff00083334
+ff0022b33408ff001bcccc91ff0018999a95ff00116666ff000d6666a9a1a0a38bae
+08ab72927b777780761e8b7f8e868f87088f868d868b7d0813fa58f88315af0affff
+92199afca815ffffe1ccccff00133333ffffec199aff002180008bff00204ccd8bb5
+98aab3acff000a6666ff00088000ff0008b334ff00088000ff00076666ff00086666
+fffffee666fffff64ccefffffee667fffff5e666fffffeb333fffff56666fffff680
+00ffffae8000fffff1199affffd34ccdfffffe8000ffffc43333080ef84c89acf76c
+b2f7dcac967712f5e013c8f8eff7af15f8720afbb1fb6015f8730a13d8fb62f8d005
+7c8270807e8b08ffff6ae668fbf4fffeb219988b8bf7810513e88bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+11ff013d666607ffffc2999afb2505714dffffe1800085ffffd480008885858b7691
+85a58cff0020b3348cff001e4ccc8bb48bbd8ab08a91918ba08591ffffda6668ff00
+02999affffd0fffeff00044cccff000f999aff0029199a080ef72e81bb5bb46aa8f7
+44adf739a872ac12ecd5f731de4bd8f735d9135340f8ddf77d15fb18078b7e858483
+85717669746f8b598b75b38baa8bb2ff000fccccff0027b333ff00344cceff00164c
+cd08ff0001e666ff0000cccd06ff0007999aff0003199aff00084cccff0002cccdff
+0009199aff00024ccd08dafb38151392c0916cff000a999870ff003266688b081332
+c0ff00264ccc8baf9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4
+b334ff00064ccd081396c0fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b086e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b928a92
+898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a08357605fffff8b334
+fffffe3333fffff8cccc8984fffffdcccd08fffed38000f70d06133b40a7969bab1e
+9e06908f8e901f8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac
+957b6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d
+8d8b9e0590878e861e78066b809ba81ff717ff00e1333407ffffd5b332ffffe4cccd
+ffffe6199affffdbe6668bffffd64ccd081352c039c371d11eff0022cccc8bff001e
+333493b7ad089f9b050efc46f80fdb01b4db03b4f83715759d79a1a19d9da1a1799d
+75757979751eb3f82b1579757e681f8b5d9575925191588f508d7d8c878d86938b93
+8b8c918c928d948bb395d293c395a68bb608ae7598791e0eb7f821f7befb637612a6
+d6f723d513b0a6f94b15fbbed6f75f07f7236b05137026d5df07f7915399d7050eac
+fb79f7bf457712a6d6f723d513b0f1fb1915f75f40fbbf07f8c3f7117dd7fb915205
+1370e04125070e4bfb7eacf753adf805b9a176f75da9a67701f706daf76ce103f753
+f7b415d1ff004a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218b
+fffff1cccc8bffffe48001ff00013333ffffe3b333ff001866677fff000a666686ff
+000633338bff001fcccd083ef861158bffffe4800047ffffdf800005fffffc199a89
+fffffc4cccffffff3334fffffc66668bffffefe6678bfffff36667ff00106664818b
+fffff9e6668b87fffff9b3348bfffff94cce8bfffff6ccccff0006199afffff56666
+ff0002e666fffffa3334089a69059b95ff0012ccccff000a4cccff00123334ff0008
+b33408beff00184ccc8bfffda4b334058b3880864e8885858b769185b58ca58cb78b
+ba8baa8ab68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb99
+9aff0014cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8
+b8a6c88bdc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affff
+e61998087cfffff0b334898b8ba1088bff008ae668ddff0027199805ff0003ccccff
+0001ccccff0003b334ff0000b334ff000380008bff000fb3348bff000c6666fffff1
+4cccff000980008bff000580008bff0005199aff0006199c8bff000766648bff0008
+ccccfffffa6666ff000a8000fffffc6666ff00066668087bac057c8179fffff51998
+78fffff6e668084bffffe166688bff000d999805cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b37080ef739f803f88115ff00064ccc82ff0005b334
+898a8a8a8981ff0005999a89ff000366668d8d8c8d1e59a7158506ffffff6666ff00
+07800089ff00081998fffffa199a8bfffffee6668b8affffffccd0ffffff999affff
+ff999808899105ff0001199aff00008000ff0001e666ff000080008c8b08978effff
+ef9998fffffa66681fef9a15898b899105ff00018000ff0000ccccff00018000ff00
+0033348c8b978b8d7a8c8608850689948991868b08306015888c8a8d1e8c8b8e8b8c
+8c8f908d908b8c088c8b8c8a888188841e7016888984878b8b819886978b9508a092
+a59fa3917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00
+003334ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff00
+0b8000fffff8cccc08f7f8fc2815888b8cff000d6666fffff18000ff000a6667ffff
+f6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3348bfffff899
+98fffffa3333fffff8b334fffff8999a84fffff8e666fffffb8000fffff9199a898b
+8a8b898c8b8e8e90989f9c910899b68c998b9a8ba97bbd6995088f91059e86af6f8b
+4e8b768775816fff000999988bff00114cd0fffffd3333ff000a999888ff001e8000
+fffff7666793ffffec80008bfffff8e6668b898989898b08fb9af833158a8c848e8a
+8b8596899b8b93089d989aa19d9e7d681e8b7f897d867b7d918c89838f968e93948b
+990898819f7b7e8080741e8b868d868d8708ad5e15898d8b8f898c5f6b72847a8b76
+8b7b937c9a878f898d8b8f8ba4c4a49a8ba28bd46b9284088c898b898b898b848783
+8386087278056a7374857d8b728bffffdf999aff001b6666fffff76666ff0015999a
+987f9d7ea58ba88ba79caaa108cdfcd515ff00068000ff0023cccdff00058000ff00
+3919998bff0008199a8b938a948a93088bad8b9405a38fa09d1e8f8b8f8992858d7f
+8e809183937c9e87988baf8b9eb99b8bff0006b3348b8cfffff08000ff0001cccc81
+ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd08ff0010
+ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccffffffcc
+cdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee6668ffff
+f13333ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a819c08fc32
+9a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33338ba1ff001480
+00ff000533338bac8b9c849c8b998b958eff000b333393ff0006cccdff00074cccff
+00063333ff000bb334fffffdcccd978bff000a999a8bff000b3333ff00016666ff00
+073333ff0003999a0898947aa4b493ff000be666fffffd199aff00093334fffffa80
+00ff0007b333fffff8e666ff0015b3337799ffffdc6666ff0012cccdffffe64ccdff
+000de66678ff0012333373ff0008e666fffff00001ff000d8000ffffe79999ff0004
+3334ffffedcccd8bfffff266668b838a85898508817f7a7e748bfffff0b3338bffff
+dde66798ffffed3333ff0007999afffff08000ff00064cccffffd9b333ff000bb334
+6aff0004666608eaf798158b78938196838a928a928b918bff00188000ff000e3333
+ff0033cccdff0019999aff0030e667ff001c1999ff0035b332ffffee4ccdfffff399
+9aff001eb333ff003d4cccff0004e666ff0009e668ff0007199aff000c8000ff0003
+800095ff0001999aff00048000ff0000199aff0003ccccff0000e666ff0006800008
+ff000e8000fffff18000ff000e6666fffff18000ff001d199a8b998ba492aaa208a5
+9e059c698c84a0618bffffdb8000ff0012199afffff2b334ff000f199affffe6cccc
+ff000d6664ffffe9999aff000c6668ffffe033338bffffbe33338b778a788878858f
+858d868b7c8b7f7b8b64088b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b
+8d088c8b8c8c989e9c961e8bff00064ccdfffffb4cccff00089999fffff6b334ff00
+0a999afffff5999aff000be666ffffea8000ff0012e666ffffedb333ff000c3334ff
+ffed8000ff000c4ccdffffe69999ff00141999fffff66667ff000a4ccdfffff09999
+ff0010b333ffffff199aff000a999a8bff000e80008bb3afd19799089287057a776e
+4f8b6008f761fba215b58bb685a088ff0009999affffe76666ff0016e666fffff399
+9aff001f80008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998
+ff000eb333ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b3
+33ff00169998fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef8000
+9408ffffed3334ff000a33338592fffffbcccca186ff001a8000fffffcb334ff000e
+8000fffff299988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b
+08297251481f8b4394678b708bffffe3e666ffffec199affffde999affffe2b333ff
+ffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcccc
+fffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb3
+33fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff1
+199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff0002
+8000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000ff
+ffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999afffff8
+199985fffff8b334fffff480008bffffed80008b8092688b83088bffffeb4ccd76ff
+fff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff0014e667fffffa
+cccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cccd8b9f8ba192
+999fa396ae8ea78b080ef8c667aeaef70380b29fade4f7023cf71bdcd512c2bcf864
+b4f73ae795f70d13d7e0f84c6715c2f706b5f0bb65d3231f4a8b316a7c8592d6c2b3
+ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b086d8b80a3749e86
+7c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b18bb98bcb9abf9f49
+d857bf35aed89fa4c58bb68bbc5ec04f8b08638b646d76579890978e978b08a5a07b
+68695f7a691f808b728d6d905a924892598b488b457961716472fb003b8bfb310813
+bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f758b5758786a796b
+866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884ae15648b62a170
+a676a183b48ba98b908b908c8fbc9dc39fbc8b08e4a664515b505a3f1f0ef8c66aeb
+7df701c3d7f744f70a26ae12d1f70ef82fb2f793b8d6bd136f80f97ef89a15335455
+471f8b62a05acd6cc76fe9839c8a6347427f698b728b5c934da7fb15c86ef7048bb7
+08137780bbac92971eb48b915c9674aaab91b38b9c8bbd62bc508b698b617d775f7f
+72816a8b6e83936aa1699b08619f4b98538fa629a546c947808e818b828b08445856
+5456b356c41fa88bab98a7a6698c6d9b8baa8b9a91aeb98b9b8b9c879985ca6df721
+fb11f72d8bc28bf724a7d1f729089e87dc698b530813af806f7562601e6c8b7c9b7c
+8b08767b616f789374a31fa78bc09fa69eb4a8abc28bb28bdb22b66e95919b8e9e8b
+a108ee42effb0f1ef72bfb3a158b697d67827d579050915e9f54a576a98bad08ad9f
+c7e0edbf385b1e0ef8c667aeaef70380b29fade4f7023cf71bdcd512f730f70d95e7
+f73ab4f7a3c2f71ebd13bbf0f95e6715f7148bcef7008ecb9789968b968bcf8be1a1
+8be38baf86a978ab78ac57be758b086d7c626c679b899fbba770644c4f7d591f828b
+818c838d8bf73120db63a40813d7f062a5459d478b5a8b488459846d8673897f8b08
+695f9cadaea09ba51f978b9888978676bf65a9638b4f8b5d568b5a8b60a551d77735
+6857574a3ebe77cb7cba8b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997869a747880736d8b718b7aa28b9f8ba6a4b0aeaaaca8c6aee58bd48bbb7b
+a08008ab7ac36391407c9131ac4b8b082265435b1f26f70761c11e93ae153e50bcbb
+c5a7b2e31fbc8bc477bb798c878b868b868b6d8362767571706275648b080ef763e2
+b2f2b2f1b301f991f82e15fc2563f825065b2515fd0664f90606bb2415fc2564f825
+060ef763e2b2f2b2f1b301b1f82e1563f825b307fbf5fb221564f906b207fd36fb22
+1564f825b2070ef86af782b37491121380f91ef7aa15fb7f061340448bfb887a3f8b
+0885071380d08bf7957acc8b08f77f061340bd8bf78f9ce58b089107278cfb819b55
+8b080e1c05cff780ba70921213801c04fcf7af15fc6a061340fb238bfc7c77fb2b8b
+0884071380f71d8bf89677f7178b08f86a061340ef8bf88a9ff7488b089207fb5c8c
+fc6e9efb008b080e1c162dfb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c0
+8cc174c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a1
+8bf7d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78b
+e2e6f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d
+1ffbed8bfb9920fbb08bfb778bfb80f705fbd18bfbbb8bfb032ffbe48bfbc18bfb3a
+e1fbbc8b081380a0fbe18bfbd725fbc58bfb318b3ad2fbda8bfb9d8b6844fc618bfc
+208bfb44f70b708b087e7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e
+8bf77a8bf87ad8c58b08138400f78e8bf75745f7b68bf7858bf7a3d6f72f8b081390
+00f76f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31
+e7fb7f8b08138500fb388bfb9d40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb
+8c43fbdc8b08138200fb8e8bfb43bafb928bfb818bfb164efbb78b087c7f7f7c7c97
+7f9a1ff7ba8bf714c9f77d8b08f90efbc615fb588bfbc0a87d8b7d8b7e7f8b7c8b7e
+957f9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f810
+8b0813c000f7a58bf71ed2f77f8bf71c8bc27abf6790889089908b9a8b97988b998b
+948793839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb
+4e8bfb9129fc0c8b080ea0fb67c2f7aea86fb2f858a712f5dcf764d513bcf869f713
+15ea0695988f941f9f078f888d871efb03f7140652778b78054b6f72511e2f066e79
+9eaa1ff7f8078ba7ff000e3333ff000ce668ff0028cccdff0003199808a58d0590ff
+000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b78058b86
+8ffffffd4ccc8fffffffb33408a68905ff0025999afffffd3334ff00106666fffff4
+cccc8b6d08fc07078b68fffff66666fffff9cccdffffd6999afffffd33330813dc6d
+890587ffffffb33387fffffd4ccd8b86088b788d89058bf7078d971e13bcd98af73f
+8b8bfb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0ef9
+bcfb82c196a7729bf714a2c4a67a9e8cb092c1f717a7709ff712a2bcae75a478a6f7
+019b12f71bd8f73fc25db671d2c0b6f1c25db66abcafb9a3b6bbb89eb69ab68ab9f7
+07b813972731e4f874df15e50694988f931f9f078e888d871e22f70e0655788b7905
+4e7073541e34066f7a9da91ff7e807a5989bb21ea4068f8e8d901f8b9d898d058b33
+896966388d8b1e89898b7905868f898f1ea406b1997e6e1ffbf9076a8283631e6f06
+878788861f8b798d89058bf7018d971ed58af7368b8bfb770547a570b71eb58bb2a1
+b0b4087a9c0572787984728b087185a7c51ff937ea15f8fb0ab8fb021513d72311ec
+f8fc0a139b2311e4fc3af75f1513b72311e48d8a8b891e7b8575866384088c7ea388
+05948a8f858b6f08fb22078b7b858578890881890588898a881f8b808c8a058baf8c
+a2a2af8a8b1e8c8c8b96058e898c881e838d05788d86918b9b08f71e0713bb2311e4
+a8ada095a48b08aa9178631ffb0f078b7b858579890883890588898a881f8b808d8a
+058bad8ca0a3b18a8b1e8c8c8b96058e898c881e808d05798c85928b9b08f70b07be
+80b2581e6d8b7083676008890613932319e4fb6bf71115f8fd0ac140158d8a8b891e
+13b72315e47b8573866384088c7ea48805938a8f858b6f08fb22078b7b8685788908
+80890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d
+05798c85928b9b08f72207a88db18b1e13937311f4f7e1f7aa158b7b8584798a0880
+8905888a8a881f8b808c8a058bb18ca01e13937311eca1b88a8b1f8c8c8b96058e89
+8c881e7b8d0513933311f4788c85928b9b08f711078b928e938f90999e9795918b8f
+8b8f8a8f8790869286968b089a95949a9a8296741f708b726e7c7508898b8dbe058d
+8a8b8a1e13936711f47b8574866384088c7ea48805938a8f858b6f08fb7f7a15f8fb
+0ab8fb02151393a311e4f8fc0afc348715f7350713936b13e4a1a2a98c918b08aea7
+61544a715a551f7a8b7f977f990860f7ad15fbad078b758b81897f081393a313e48e
+898e8a918b9090939590920813936b13e49c7d9d84a48b08c5cec0e6d058b65a1f6f
+8b7581777608f70507b08da28b1e8f898d861e7c8564847489088c7d058a8c8a8d1e
+9d8905979084661f13932391e4fb2a16f8fd0ac140158d8a8b891e7b857386638408
+8c7ea4880513932351e4938a8f858b6f08fb22078b7b868578890880890588898a88
+1f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d05798c85928b9b
+08f72207a88db18b1e0efb50f758f82815a6069c8e97901f8b968491858c878c7e8c
+808b838b848a868b878a7f898b7c8b8b8c7e93888e8a908a988b08fb1573157f9585
+921e918b8f8c8f8f93929391938f908e908f8b938b9c808e858b858b8689767c7e81
+88878b8308f782811594848f89908b918b978e8b9a8b91898e869084927c96829088
+8c888c888b828b82848b80088b868e858f88948594858f8708fba63515848c7e9b1e
+928b928f8e928c8d8c8d8b9b8b9b8c928b8e8b958290858b848b7f8a897b8a848b81
+8b7908f7ca95157c8c7a9d9b8c9b9da488987a828384811e8b888c7b8b8708fbcafb
+121585938494969294901eb10790889a7b818580841ef7cb5f158c8a8e81978b0897
+9290941fb0078f8a9c7a808481851e8b758b788c8708fbb72d1597798e8b918b958b
+948e8b998b918a8d869286928792889188928792808b7d8b877e8b86088b85917e93
+8008f79c16819181971e918b8f8e90908d8e9ea38b998b9188977d8b808b87848784
+88838784868586868a888b87082d5715809483931e938b978e9a909d928c918b938b
+948493808b898b878a86898289858982898489888a888808888789878b87082b8415
+9387a683938b968b91958b948b8e8a977a8e838d848d848d848e898b898b7b8b8781
+8b84088b8192868f89080eefa2abeca8f791a2eeab01adb3f7189ff74fc9e8b303f7
+5df76c159f6cb66ac28b08e4cedbdadf45c9331f458b807e7789fffff5999affffe0
+b334ffffff6666ffffe94ccc8c739088928a938b9cb9a0a7c48b08b3bf682942685c
+471f588b6fad809bfffff63333fffffd4ccdfffffb6667fffff9cccdfffffb6666ff
+fff9e66608f70cfb5515960af8a904970a0eefa2abeca8f791a2eeab01adb3f0cef7
+469ff714b303f7d5a215960aff0069e666ff00a74ccd15ff000d6666ff000b0001ff
+000accce97ff0006e666ff000ab333fffffb6666ff0006199afffffb6666ff000633
+33fffff63334ff0002b333fffffb8000fffff98000fffff73334fffff5199afffff3
+9998fffff5666608ffff78b334ff00cd800005ff000f8000ff000ce666ff00126666
+ff0004999aff0011199a8bc48b9c6a9c5d938b928c908e8ca38ca189b0778d7a9845
+8bffffe6999a8bffffe78000fffffa999affffea3332fffff6333208ffffc78001ff
+0055e66805ff00224cceff00121998ff00276666ff000a3334ff002a80008bf71f8b
+f700fb038bfb1f8bffffb1b333ffffdd6668ffffba3333ffffc919985d08ffffabcc
+ccff0038cccd15ff00343334ffffb0999a05ffffdb6666ffffea3334ffffd53334ff
+fff38000ffffd1e6668bfb208b20f7058bf71e8bff0052ccccff0025e666ff0048cc
+ceff003c4ccdff002d666608c3ffffaab33405fffff9cccc86fffffa3333fffffab3
+32fffffacccdfffffa199a73ffffe5199a7fffffdb999a8bffffd9cccc8bffffd366
+66ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e666ff0024
+9999fffff3199aff0026b3348bff001633348bff0015ccccff0006b333ff00134ccc
+9508ffff73999aff00d5cccd15ff007e8000ffff3f666605fffff3e666fffffa999a
+fffff26668fffffc8000fffff14ccc8b538b61c48bd48bff001e6666ff00048000ff
+00174cceff00076666ff0011cccc080eefa2abff0083199aff001eccccff00abb334
+ff00193332ff008e3334ab01adb3ff00246666ff00446666ff006ee66899ff0015b3
+32ff00446666ff006ee66899ff00314cccb303ff020a3334ff00e9199a15fffffccc
+ccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff16666ff
+fff08000ffffdc4ccc8b08ffffd8199affffeeccccff001d3334ff0036ccccff0043
+999aff001a199aff0014199aff00174cce1fff00214ccc8bff000a8000fffff3e666
+ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000ff0002
+3334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1ccccff
+00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8bffffe1
+3334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccc76ff00224cce
+fffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408fb6b16ff
+fffcccccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff1
+6666fffff08000ffffdc4ccc8b08ffffd8199affffeecccdff001d3334ff0036cccc
+ff0043999aff001a1999ff0014199aff00174ccd1fff00214ccd8bff000a8000ffff
+f3e666ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000
+ff00023334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1
+ccccff00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8b
+ffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccd76ff00
+224ccdfffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408ff
+000dccccffff2de66615960af8a904970a0e2381aef8baae01c1e2f765e203f78bf8
+d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05fc5fffffc999aff00046668ffff
+fc8000ff00046664fffffc199aff0004333408ff001cccccd16c96ffffe83334ffff
+c6800005ffffe8cccc9cffffe34cccff000b8000ffffdeb3348b288b2dfb0a8bfb5a
+8bffffa6999aff0017199affffaa8000ff0027ccccffffc6999908ffffdc199affff
+a94ccdab7fff001c8000ff0045199aff0000199affffffe66605ff001c6666ffffe3
+999aff00224ccdfffff26666ff0026b3338b08ffffb3999aff0067333315ff00a366
+66ff018c666805ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b
+2f884c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b33308
+0e2381aef8baae01c1e2f765e203f78bf8d3152b0a87fcdd152c0a0efb7f89acf8d5
+7701f736d803f783f70e15f7ef078bc7ff00014ccdc8ff0001b333988bff0004cccc
+fffffd8000ff00003334fffffc80008bffffc8b333ffffddb334ffffcb4ccdffffe7
+4ccc3362ff0001999afffff4999aff00046666fffff6800094fffff9e666ff002d80
+009eff00168000919e8b08ff00108000ff0003800073691ffbda078b387086458885
+858b769185bc8cff0023cccd8cff003633338bff002f999a8bff001866668abd8a91
+918ba08591458e7a908bde080efb098bccf81576f726ae12c8d6f74ee370a813f8c8
+f868152d0a13f42e0a13f82f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff00
+4e3332ffffccb334e313f8f76bf8d315300a13f4310a13f8320a0efb0389acf721ba
+f81b7701f7a9d703f7a9f88f15330af733fbb415340a0efb2180aef7d1bdf722ce4e
+d312f7cfe413e8f7cff75115350a13d8360a13e8370a0efb0e80aef7c6aef770a501
+bbdef767de03ff008b3333f7c715380aff0009199aff00244ccc15390a0efb319376
+f8b8cc967712b2ab13d0f732f8ab153a0a13b07b970513d03b0a13b03c0a0efb1281
+aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af73331153e0a13e43f0afb
+3bfc6015400a0efb0d7fa5f770aef7c6ae01badef767de03ff014cccccf7b815410a
+fffff6e668ffffdbb33315420a0eba81aef760b8c4b7f75cae12f716e4ffffab4ccd
+ff005c4ccdff015a6666aa13faa5f7df15ff0069cccd06fffffeccce7effffff6666
+fffff2b3348bfffff24ccc8bfffffa4cccff0000199afffffa4cceff00003333ffff
+fa666608ffff9bb3338b725e0513f6ff00814ccd06ff0014199affff753333ff005a
+b334ffff9bcccdff00a7e6668bc28bcc95aa909eba97bc94c48490828f7c8b734669
+42fb028bffffa680008bffffbce666ebffffea3334f70008ff00c366668ba2b8ffff
+1f33338b0513faffffff333295ffffff999a958b958bff00094cccff0000333394ff
+00008000ff0008b33408ff00f74ccd8ba2b7fffef64ccc8b05ff0017e667ff009599
+98ff0062e667ff00326668ff003ee6668bde8bc049a8309988958d939286c185be7f
+c25f92609e288bffff82199a8bffff978000ffffa49998ffffe29999ffff70666808
+ffffa8cccd060e5089acf2b4ceb5f7b2ac01f773df03f7c7f70e1597f70f0796998f
+951fa0078f888d861efb20cef70f0696998f951fa1078f888d861effff7f199a8bff
+0084e666f77705ff00176666ff00289998ff000a999aff00136668b08b08958a8f8f
+1f8ba18a8d057689628a838b7d8b508d838c0889898b7405888c87901e99069f9385
+811f8b83fffffb999afffff4ccccfffff86666fffff3333408fb12fb63fb18f76305
+fffff9cccdff0009e668fffffc3333ff000d19988b93089692909c1e9906908d908f
+1f8ba1898d057c89468a858b7d8b468c7f8d088a898b74058593898e1ea58bff0011
+199affffe78000ff0016e666ffffdb800008f719fb64ff000966667affff86999a8b
+0578867e831f7c07868c8a8f1ef72248fb0f0678867e831f7e07868c898f1ef7227f
+068b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff0031e6668bff
+001c199a8abd8a91918ba08591458e7a908bde080e3cfb7cdbf8baac01f764fb3415
+ff000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999adbf755b7
+f2c0f70499a8a4abb08e8e8eff00018000ff0006b3348bff0006cccc8bff0006cccc
+fffffe8000ff0006b334888e728a7e8a6f8b08688b788c668c8888fffffe8000ffff
+f94ccc8bfffff933348bfffff93334ff00018000fffff94ccc8e88ff001f999a88ff
+00206666857b6708ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdffff
+f78000ff0013cccd08ffffa74ccdf76405ffffedffffff002a3334fffff580009dff
+003d4ccdff0004cccc8e8eff00018000ff0006b3348bff0006cccc8bff0006ccccff
+fffe8000ff0006b334888e668a638a678b698b708c778c8888fffffe8000fffff94c
+cc8bfffff93334088bfffff93334ff00018000fffff94ccc8e88ff002b999a87ff00
+07e666fffff8b334ff001b6666ffffc04ccc08ff0071199afb9b05ff0008b333ffff
+ebe666ff000f4ccdffffd2199a816ffffff4199affffde999afffff3e666ffffe466
+667c6c80777d82728b7d8b878e808b086c7e737b769f78a61fa08bb393afcb080efb
+2481bb5bb4f80ea912afda4dd5f738d5c0a41376f7b7f77d15fb19078b7e85848385
+717669756f8b598b73b88baa8bb8a2b4d59e0813aef723fb7215be8baa9f91d40872
+90058a75856f758b08748aa5c81ff72507f72241a64239385255739780a2a89a9f98
+1e8b928a92898f8a8e8a918b9608aab899b1adba77fb051e8b848887888a08357605
+13762b73485b8b478b40c165d18bb98b9e93b7ad089f9b8d8b058f72a16ab18b080e
+8181c7f7ddc75fa712ff0086b333ff004c199aff00a63333ff004ce66613d8ff01c5
+e666f71015ff00014ccef73305ffffffe666aeffffffb332a2fffffbccce9dfffff2
+199ac7ffffe080009f648b578bffffd9cccc76ffffbce666fb0008fffffecccd8cff
+00003333ff0009333405ff0000cccdff0026ccccff00036667ff0026ccccfffffc19
+99ff0011199afffffccccdff000db334fffff7199aff00076666fffff2cccc8b0813
+b86b8bffffd2999a84ffffd2666685fffffb333483ff0004199980ff0008199a8208
+ff0028b3338805ff000c33338aff0008199a82ff00024ccd81ff00021999fffff6e6
+66ff00003333fffff2199aff000080006f08ff00014ccdfb8d05ff0000199979ffff
+fd999970ff00024ccdfffff63333ff0003e667ffffef4ccdff000d6666fffff58000
+ff001fcccd8b08b180b7b11fffffffcccdf73a0513d8ff002c1999ddff00294ccdc6
+af8ba08bff000f199a86ff000733326cff000333347dffffffb33477ffffffcccc69
+088afb3405ffffff66666bff0000666662ff0004666878ff0004666678ff000e3332
+7da98bbb8bff00283334adff00206668c6fffffae66494fffff8199c937d8bffffec
+e6646dffffe7b33477818bfffff8e6668b8790fffffd33349708fffffde66694ffff
+ffe666a18ba5080efbd87fa8f764aa019abef71ca903cdde15c5b5dfbc99aa825753
+683053797099bf1e589a1556a852c8deb7f702ced45e9d62425138401e0e5481b3f8
+05b301b7e2f7aae203f7a2f82315ebb63a28fb045e3e2d3853def5f1b9d9e81fb304
+fb253a20fb05fb0adffb03f722f722dff4f710f70b42f0fb2d1f0efb9589acf7e6aa
+b57701f72cd803f72cf70e158b387a86458885858b769185bc8ca98cbd8bbb8ba38a
+bd8a91918ba08591458e7a908bde08f75b07c78ebe8b1e93868d821e5a7b61833779
+ff00014cccfffff46666ff0003999afffff58000ff0007199afffff7199aa88ea58e
+a18b089b8f80571f0efb198bc2f7e8b701c9adf754e403f7bbc215f8ff0a0efb27fb
+49aef7b3abf77bae12bcd4ff00b2199aff004e3332ffffccb334e313f8f76df82815
+300a13f4310a13f8f9000a0efb06fb42acf721baf81b7701f7a3d703f7a3f7e315fb
+b4fb5307ff00334ccdff00523333ff0046b333ff006f999ad0ff005e333308f733fb
+b415340a0efb3efb4baef7d1bdf722ce4ed312f7b6e413e8f7b69c15350a13d8360a
+13e8370a0efb0e80aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff00
+09199aff00244ccc15390a0efb31f800cc997712b8ab13a0f738f80015f9010a1360
+f9020a0efb1281aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af7333115
+3e0a13e43f0afb3bfc6015400a0efb12fb4ba5f770aef7c6ae01b4def767de03ff01
+46ccccf70d15f9030afffff6e668ffffdbb33315f9040a0efb7389acf7eec955a712
+efda13d0eff7d115fb57078b387f874d8785858b769185b58cab8cb38bb48bb08ab6
+8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2ac978b928b938a91
+8595819578a08b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464858088
+918b908bab8dba8b8b8b8f868e838b0813b06f806682468289858b7b8f8508c18696
+838b54080eef89acf766b5f80b77d2eb01f769ebe8eb03f826f98915b70afb5116b7
+0abdfc6e154a0afbb1fb60154b0a0ef681aff8e8afbfeb01b0ebd2ebe8ebdceb03f8
+1df98a15b70afb5116b70af713fb1c15640af7e3fbb915650a0ecd81b4f8dbaccaeb
+01e2e0aaebe8ebb1bc03f81cf98a15b70afb5116b70a6cfb7f156b0a0ef83a9476f9
+06ac01f8d5f8fa15b68587756c510856ffff9c8000fffffb9998ff00048000ffffce
+cccef005ffffe4999ac4879cb59191918ba085916e8affffe1b3348affffe04ccc8b
+ffffe2b3348bffffe14ccc8c6e8c85858c769185b685937dff002180004408ff0054
+4cccffff4d3334ffff904cceffff1cccccfffffb66668bffff48e666f83505ffffe6
+999ac48e9bca9291918ba08591638affffd74ccd8affffe1b3338bffffdeb3338bff
+ffdc4ccd8c688c85858c769185ff0033b333fffffc4cccff00074ccdffffefb334ff
+001e80004408ff00d98000fc9405917c9283958b968b9293919a08ff00938000ff01
+224cccff00868000fffeddb33405ff00054cccfffff1199aff0007b334fffff7e666
+958b968b9193929a08ff00ecb334f89205ff00163334ff002fe668ff00131998ff00
+271998c49191918ba085916b8a6a8a748b748b648c668c85858b769185cc86ff0001
+b334ffffe51998ffffe84cccffffc9e66808ffff421998fc2ffffffb66688bffff80
+1998ff0108e666ff0049199cff008b199a05ff00184cccbaa1b1bf9391918ba08591
+728a728a748b748b6e8c708c85858b769185080ef74b81ad71acf7fbb269b7f777ad
+897712e9daf752daf769e1136b80e9f70e158b388087558785858b769185b58ca18c
+b48bb98ba88ab68a91918ba08591478f808f8bde08f7a0e80794998f941f9f078f88
+8d861efb00c706f72ecfa2ac1eff003f33348bfffff13332ffffc23334ff0027999a
+fffff2cccc8c878b748b8608fc7c078b64ff00003334fffff5cccdfffffbccccffff
+ea333390839087978bff0006199aff0005cccdff0009e666ff00094ccdff0007b334
+ff0008e666ff000a4ccc97918b96fffff6cccd08139780ff0016e666ffffecb333ff
+001dcccefffffa8000ff00234ccc8b08f1f70be8f733f70e31d6341fffffd519988b
+ffffd9e6687a6c6ffffff9b334fffffa4cccfffffc4cccff0001b3348b9408f74c07
+cc8eb38b1e92878e831e7b806f827e8808136b80759a7195688b0837fb0743fb301f
+605a0779867f831f7e07868c8a8f1ece06f8017015139380780a0ef85d89acf7fbba
+5cb2f777a77bae867712e7d6f753d6f752d6f75ad513b3c0f804f8cb15f9050aff01
+053334ff006ab33415138bc0fffff9ccccff0006ccccffffe59998ff00188000ffff
+bb66688b678b4e7369550813b3c07ea460ad3b8b708b7484767f466271428bfb0e08
+580679867f831f7e07868c8a8f1ed0fbce068b6efffff76666fffff5999affffdd99
+9afffffc66660878890586ffffff800088fffffd80008b86088b748d89058bcf8daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffde999aff
+00038000fffff66666ff000a80008ba808f7cef753fbce078b6efffff56666fffff5
+6666ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b748d
+89058bcf8dafb2cf898b1e8d8d8ba2058b9088ff0002800086ff0000800008788d05
+ffffdc999aff0003b333fffff86666ff000a4ccd8ba808f7cee90795998f941f9f07
+8f888d861efb02c3068b9f8cb891ad0813cbc099d4ad96a18ba38ba57b9577957694
+75a78b08918006fc8a078b6efffff96668fffff8999affffdb9998fffff966660880
+8905fffffb1998ffffff199afffffde668fffffde6668b86088b748c89058bc78daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffe18000ff
+00033333fffff38000ff000acccd8ba808f78507c6c3b69ca88b08b9a0683a1ffb5a
+078b6efffff5ccccfffff54cccffffdf3334fffffcb3340877890587ffffff999a88
+fffffd66668b86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff000280
+0086ff0000800008788d05ffffdfb334ff00036666fffff54cccff000a999a8ba808
+f76207f272bf431e648b467b484808f77e07cc8eae8b1e1387c092878e831e7b80ff
+ffde3334fffff3b3347e88080ef75bfb71aff74bacf7fbb29877f77ea77aac12e7d6
+f753d6f740ef4dd613eb00f804f8cb15f9050a13d340f7f5fc5c15f7e17b0713e780
+7e8b6b7e688b08fb51c706f72ecea3ac1eac8baa7f936197549b73ab8b9f8b9f9d8b
+a08bb069b266a3729c7095668b498b516370680813eb407ea460ad3b8b708b748476
+7f466371418bfb0e08580679867f831f7e07868c8a8f1ed0fbcf068b6efffff76666
+fffff6999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608
+788d05ffffde999aff00038000fffff66666ff000980008ba808f7cff753fbcf078b
+6efffff56666fffff66666ffffdf999afffffc999a0878890586ffffff800088ffff
+fd80008b86088b748d89058bcf8dafb2dc898b1e8d8d8ba2058b9087ff0002cccd87
+ff00003333086b8d05ffffe23334ff0001e666fffff2ccccff000b199a8ba808f7cf
+f74907a58e7f631ffb9b07fb008bfb2c5f1e808b8592859483958197718b0880787f
+796dad7d9d1f9f8bad8bb0aa08bab1a5ef8bf735080ef83b89acf7fbb270a6f774a7
+79ae12e7d6f753d6f752d513d7f804f8cb1582678b648a770860fb5396078bcf90af
+919ea0dbb5959a8b968b93899b81ae758055bd8b08f7e0fffe9de66615ff00038000
+ff0000b334ff00034cccff00006666ff000333348ba28b977a997808d428059f6e8e
+7e8b7f088b768e87058ba58dafb2bd898b1e8d8e8ba10590858e851e8806718b6d9e
+78a608fb0af73d05888f89908b8f8b8f8d8f8e8e08d7df0513afa3a5b8a1a68b0892
+068f928e901f8b9e878d058b558964675c8d8b1e88898b7805878e87901e8f06a390
+83831f8b81867e7c7bffffca8000ffffc54cccffffde9998ffffe1b334ffffd3e668
+ffffea999a08ff01ca6666750777827d87788777976d936b8b528b4d7770540813d7
+7ea360ad3b8b708b7484767f466271458bfb0e08580679867f831f7e07868c8a8f1e
+d0fbce068b6efffff96666fffff5ccccffffdb999afffffc33340878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdc999aff0003b333fffff86666ff000a4ccd
+8ba808f7cef753fbce078b6efffff76666fffff5999affffdd999afffffc66660878
+890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8b
+a2058b9087ff0002999a87ff0000666608788d05ffffde999aff00038000fffff666
+66ff000a80008ba808f7cee90795998f941f9f078f888d861efb02c3068b9f8cb591
+ad0813af99d4b994a18ba38ba17d957795779476a589088b808bfc87058b6efffff6
+6668fffff58000ffffde9998fffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff0002800086ff000080
+0008788d05ffffe09998ff00034cccfffff46668ff000ab3348ba8080ef79c81c25c
+acf7fbb2f76fac7cab12e5daf74fdaf6dc94da133780f804f8c8158c8a05806c8965
+8b7a085bfb4f97078bcf8eab919ea0dbb5939a8bff002bcccc8bff000f4cceffffd9
+3334ff0002e666fffff8cccc94769478a48b088e8b8e8c8c8c08fbaafc4e15136780
+8b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f7e8f
+8bde08f7a0f74ffba0078b3880875f8785858b769185b58c9b8cb08bb98ba88ab68a
+91918ba08591478f808f8bde08f7a0f759fbc10713af8044aa6fb91eb98bbda1b2b7
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4c
+ccfffff7666889ff0000999884ff00021998ffffe93334ffffffe668fffff6cccc8b
+ffffad199a08fb59ffffffe6668bb805f70c9bd3c01ea38b95768f779070997da68b
+a58b94a08b9c8b9c809b7c98779d7297628bffffd8199a8bffffd16666ffffe9b334
+ffffe0ccccffffcc999808137780fffff23334ff0017e668ffffd5199aff0020cccc
+ffffb166668b708b7484767f46636f448bfb0e085a0679867f831f7e07868c8a8f1e
+ce060ef75789acf7fbb266baf775ad12e7d6f756d6f759d613def848f7f815f7e775
+077d827d857d86759a7193688b0837fb0545fb301f60580779867f831f7e07868c8a
+8f1ed0fbce068b6efffff76666fffff5999affffdd999afffffc66660878890586ff
+ffff800088fffffd80008b86088b748d89058bcf8dafb2ce898b1e8d8d8ba2058b90
+87ff0002999a87ff0000666608798d05ffffdcb333ff0003e666fffff84ccdff000a
+199a8ba808f7ceea0794998f941f9f078f888d861efb02c706f72ed1a0ac1ea98b9e
+7b986a917e958197878c878b878b8708fc88078b6efffff66666fffff58000ffffde
+999afffffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+aeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999a
+ff00036666fffff56666ff000a999a8ba808f7870713bec6c3b69ca78b08ba9f683a
+1ffb5c078b6efffff86668fffff5b333ffffdc9998fffffc4ccd0878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdd9998ff0003999afffff76668ff000a6666
+8ba808f76407f272bf431e648b457b4948080e49fb71aff74bacf7fbb2f780ac12e7
+d6f741ee4dd613faf858f515f7e67c077d8b6b7c688b08fb51c706f72ecfa1ac1e13
+fcab8baa7f946096559c73aa8b9f8b9f9d8b9f8bb06ab266a4729c7195658b083723
+55fb591f79580779867f831f7e07868c8a8f1ed0fbce068b6efffff38000fffff533
+33ffffe18000fffffccccd0878890586ffffff800088fffffd80008b86088b748d89
+058bcf8dafb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff00003333086a8d05ff
+ffda4ccdff00024cccfffffab333ff000bb3348ba808f7cef7490713faa58e80631f
+fb9c07fb008bfb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f9f8b
+ad8bb0aa08bab1a5eb8bf736080ef73a89acf7fbb270a6f77fad12e7d6f756d613bc
+f848f766158f8c908c8f8ba28b977a997808d428059f6e8e7e8b7f088b748e89059a
+8ca38ca28bae8ba78ba589088d8d8ba20590858e841e8806728b6c9e79a608fb0af7
+3d05888f89908b908b8f8d8e8d8e08d8df05a3a5b8a1a58b0893068f918e901f8b9e
+888d058b548964685b8d8b1e88898b7805878f87901e8f06a29183831f8b81867e7c
+7b534f6a6d5e7508f86075077a8480837d86759a7193688b0837fb0542fb311f13dc
+64580779867f831f7e07868c8a8f1ed0fbce068b6efffff56666fffff56666ffffdf
+999afffffc999a0878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+afb2ce898b1e8d8d8ba2058b9087ff0002999a87ff0000666608798d05ffffdab333
+ff0004199afffffa4ccdff0009e6668ba808f7ceea0794998f941f9f078f888d861e
+fb02c406f72ed1a3ac1ea98b9e7b986a917e958197878c878b878b8708fc88078b6e
+fffffa6666fffff5e666ffffda999afffffc199a0878890586ffffff800088fffffd
+80008b86088b748d89058bcf8daeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff
+0000666608788d05ffffdf999aff00036666fffff56666ff000a999a8ba8080e8c81
+c25cacf7fbb2f77fad12ebdaf756da13bcf743f81a15f756fbc10644aa6fb91eb98b
+bda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f307
+95998f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585
+fffffc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666ffff
+f6cccc8bffffad199a08fb56ffffffe6668bc4058bcefffffc8000ff00328000ff00
+078000ff0016800093a3ff0015800099ff000f80008ba78b997a976eff00073334ff
+ffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a08779a6d9465
+8b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f1ed0fba00613
+7c8b388087558785858b769185ad8caf8cae8bae8bb68ab38a91918ba08591478f80
+8f8bde080ef79481b866acf803ac71adf75ea9a67712b0e1f741dedada139f80f812
+e615fffffd3334ff00093333fffff5ccccff0005cccd828c6c5e6a70608b08484cdd
+f704f700b1cfcd1fc68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21
+fb16cb33f7161fc68bbba4b7d708d7aa15136f808b387f88688685858b769185ac8c
+9f8cad8bae8b988ab68a91918ba08591628f808f8bde08e507ff0017ccccffffff99
+9aff000db334fffff89999ff00138000ffffe3cccd08d424059f6e8e7f8b7e087b07
+888c898e1e9f8c9e8ca98baa8ba08aa98a91918ba08591698fffffe2ccccff000433
+33ffffe93334ff0021cccd08fb09f74105888f89908b908b8f8c8e8e8e08d7df05ff
+001db334ff001eb334ff001e4cccff000b4cccbd8d91918ba08591668a7d8a678b65
+8b7a8c668c85858b769185ff003c8000886bffffda8000fffff58000fffff5800008
+ffffcb6668ffffc68000ffffce3330ffffd3b333ffffe56668fffff84ccd08ff0159
+800007cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37080ef7
+b37fb868a8f801ba69adf7977712b0e0f7ded6f75ad6131ff812e615fffffd3334ff
+00093333fffff5ccccff0004cccd828c6c5e6a71608b08484cddf704f700b1cfcd1f
+c68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21fb16cb33f7161fc6
+8bbba4b7d708f724ff00c2e666158bff0015199a94ff000c4ccc93ff0008b334b1ff
+00254cccff00269998ff0015b334ff002766688bff001466688ba0fffff2e666ff00
+0b9998ffffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39818757860813
+5f86858b769085b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729
+078bc2fffffc4cccff00308000ffffe8b334ff001e800008136fffffef3334a1ffff
+e0cccc97688bffffcee6688bffffd019987e4e47fffffc9998fffffc3334fffff999
+9cfffff5cccc8b9908ff0000ccccf77505cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fc49078b387f86ffffda33348885858b769185ff0029
+33328cff0005999a8cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd
+33348f828f8bde080e9e81c2f7edb201e5daf767da03e5f81a15fbc10744a96fba1e
+bd8bb9a8a5b2fffffd4cccff0009999afffffbb334ff00046666828c7c7e6f7c6f8b
+087085a9c91ff791f767fbc10744aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861efb0c
+b206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000
+999a84ff0002199affffe93334ffffffe666fffff6cccc8bffffad199affffd5cccc
+ffffffccccffffc0b334ff0000199affff9680008b08a807cc8fb38b1e92878e821e
+51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199affffe933
+34ffffffe666ff0000cccc8bffffad199a085dffffffe666057d877f831f7e07868c
+8a8f1e0ef70c7fb860c2f7edb273adf77ba712b0e0d1acd2def70fd557ba139f40f8
+12e6157999056c5e6670608b08484bdff704f700b2cfcd1fc68b92638e6a8e729f80
+a18b9f8b9d9a8ba88bff0025999affffe64cccff00223332ffffceb334ff0010999a
+ffffc3e666ff00244cceffffed199aff003033348bff0032199808c3cbbedef2bc52
+321e136f8063765448888a8a881e6c07888d8a8e1eccfbc10644a66fb91eb88bb4a1
+b1b788ff00063333fffffbe66891fffff51998ff0004cccd71777883718b087084a9
+c91ff791ea0795998f941f9f078f888d861efb038b05139f4086ea0586f70150ccfb
+118bfb0c8b45478b438bffffd39998ff0009cccdffffd9ccceff00231999ffffdb99
+9a08fffffb199a06203331fb21fb16cb31f7161fc68bbba6b7d7080e4f89acf7f6a7
+79ad9877f787ac12e7d6f739ee51da13aee8f871158a7081766c8b0879867f831f82
+07878c8a8f1eb706998c877f1ffbc3078b6efffffb666681ffffd9999a8708788905
+86ffffff800088fffffd80008b86088b748d89058bcf8dafb2d5898b1e8d8d8ba205
+8b9087ff0002b33387ff00004ccd08728d05ffffde6666ff0002b333fffff6999aff
+000b4ccd8ba808f82e07f72ecba4ac1eab8ba67f946096559c73ab8b9e8b9f9d8b9f
+8bb06ab266a4729c7595658b083c8b2d5981fb3f0813ddf7fbfbf715860a0e6789a8
+f804adf77fad01e7d6f74ad603f815f903156dae62a24e8b718b7585767e50667254
+852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc3078b6eff
+fff38000fffff53333ffffe18000fffffccccd0878890586ffffff800088fffffd80
+008b86088b748d89058bcf8dafb2ca898b1e8d8d8ba2058b90fffffce666ff00024c
+cdfffffb199aff0000b333087d8d05ffffe0e666ff00046666fffff4199aff000999
+9a8ba808f7f507f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89
+698b75087080766c7a857f831e8207878c8a901eb6069a8c877f1ffbc3078b6effff
+f66666fffff58000ffffde999afffffc80000878890586ffffff800088fffffd8000
+8b86088b748d89058bcf8daeb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff0000
+3333086a8d05ffffe03334ff0001e666fffff4ccccff000c199a8ba808f82207f70c
+9dd1c11ea38b91788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+488b62578374080ef8dcfb7b929d92f705adf7419d7aa3f7a99df7de929c9212d492
+9d92f809bcf714b8f80a929d9213f7fcf912f8ff15fffffa99988bffffefccd08fff
+ffdf99988b838b838b848a969b83a6af9b8391828f7f8b788b7d7c8b798b7d98868b
+86088b838487858968866b816d7d8b8e8c8e8b8e8b928a8c8b948ba695949393868c
+868d838b08767c7b781f8b6fa28f8b818b84fffffbb334fffffb9998fffffc4cccff
+fffd66688184ffffe78000fffff48000ffffda8000ffffda8000899e77988ba68b93
+8c8f8d92688389758b8308829073a3ff0005ccccff000833348b7f1e8b878a878988
+7572786e7d6b819f699089b68889767e8b748b779d7c998b938b92908f8b08938d80
+801f806e856a896a8790838e818d68938199849a858287818b7f8b749d7d9f8b9b8b
+919a918b08978b907d8c848b6b8f728f79868d868c838b668b7e988197898588838b
+828b749c7aa08b08a88b8ba1928b918b90898f878f7d8e828b840879077f8e84921e
+918b918e948b968ba5879a8b918b8f8c8b8e8b9c42a3859b859b859b879d8e95928f
+8d8b08908b9283968b998ba0988ba38b9d7f97829384616b887d7c899789988b998b
+a18d9f8fa0088e909091948b918b8e79a08ba28b9a9b8b9f8b968792889372666f9a
+778094ab98aa9da6088e8d8f8d908b998b846fab8b9e8b9b9b8ba38b908a8f8b8e85
+868282758bffffeeb3348bfffffd99988fffffefb3348b089ca19fa0a19d8e8c8e8c
+8f8ba08b7677a47d9187918a918b998b9c9490a98388878a828b08768b7e977c8fa3
+9ba498a795ff001180008bff00008000fffffa99988bfffffc66688b8887848b848b
+8098799e8ba18b969e8e9008ffffd966688bffffff9998ff0016999876ff000e6668
+a693a88ea98b98888b848b8a8b8781838b818b7b987b9e8b978b94909594086a958a
+a58199a48a9e8799889988877c978490889188928b918b8f8d918b8e8b8e8a8e8a08
+829c91938292888e8291828b848b8787848b898b898d7a8f999690a5af8e888f809c
+778b08787e797f1f8b8391858b88088987837f1efb88fce315898d888d1e8f8b8991
+918b8d8b8e898b878b7a6f94827f08a07b9292898e0588898a8a8a8b8a8bffffffb3
+34ff00008000ffffff4cccff00008000088192059192a8848b9c8bff00034ccdffff
+fde666ff0004b333fffffc8000ff0002e666fffffd199aff00024ccdfffffc199aff
+0000cccdfffffc66668b08878788891fc56c15827f76848a898c8e9397a191ff0002
+6666ff0001999a8a881e7b691598949d9693879083817f7d7d809288901fc8981581
+837684fffffe199afffffee6668d909393a1918e8c88881e7d691598939c9797848e
+867f837b7f828f84921fc8a315858488861e888e07ff00046668ff00039998898584
+8785861f858b8d91858b08898a8a8a88918793959192931f8b91878f878c8d8c928e
+8b910890868f838188848a898d8a8d1e918b8693948b088e8c88881fb272158b908b
+908e898e888b868a86888d898e1ff77ef8da158df5ffffb4ccccffff523334fb1344
+4c798a8b8b8c8c8b8c8c1fb499b7de8be58bf74521c98b93088c8c8c8c1ee8ba158a
+8a8b891f8b868f838b8a898b869b878b8a8b8a8a8b8a8b878f848b888b8a8b8a8a8b
+888b8898878b088a8a8a8a1f8b858f858e838a8b8595888b8a8b8b8a8b898b879083
+938398828a869080877e838e847f087a99728e88a08a94879485907a9b579a878b80
+8b88848b858b8392819180917e956fa08408a2839879917d7a898b777d8b898b8093
+849c86998691878b8a8b8b8b8b8a8b8890848b89088a8a05898c8199878b8a8b8a8a
+8b8a8b8793848b88858efffffacccc90fffffc33348b8a8b8b8b8b8a8b8797818b8a
+088a8b8293878b8a8b8a8b8b8a8b879b828b8a8a8b8290888b8a8b8a8a8b8a8b8896
+829f87089b6c8c8b8d8b8b8ba08da39e8b64977197727c968990868b808b846b8b8b
+088b8c918e91898c89878a808b8b8a97878a898b87888d868b1f8b8795878a8a8a89
+878f858b1e8b858f898a8a8b898892828b1e8b878f888a8a8a8989996c9f9b8e9895
+1e8e0795849a769c868b868c868b868b566e2c5978898a8b8a8b8b8b8a8b8b8c8bc5
+8bc5d392dc088c9a8d998c98ff000b8000ff0005b334ff00043334ff00088000ff00
+164cccff0023cccc088b8d779ca293ae908d8b8d898987858b1e8b8f948e8d8a8d88
+1f8a8b89898a8a08938a8c898789858b8b8a9088888a87881e8a8d898d898b8a8b89
+8a8b888b888d868d868791849f7f8b828b908876750899078bbb80a773a893969394
+8e978c8f8e918b8d8b8ffffffeb334ff0002ccccfffffe4cccff00023334087e9c05
+8c8f8b8f8b8f08968896898a8a89891e81078a8b899e868b08fb1dfc4c15970713ef
+fc8e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713f7fcf9060a13effcf9070af7c1f73015fb9ffb6efb6efb9ffb9ffb6ef76e
+f79ff79ff76ef76ef79ff79ff76efb6efb9f1efc79f87f15fba4fb6ffb6ffba4fba4
+f76ffb70f7a4f7a4f770f770f7a4f7a4fb70f76ffba41ff892fc7f15fbadfb79fb79
+fbadfbadfb78f779f7adf7adf778f778f7adf7adf779fb78fbad1efc92f89815fbb2
+fb7afb7afbb2fbb2f77afb7bf7b2f7b2f77bf77bf7b2f7b2fb7bf77afbb21ffb76fd
+9315ff0002b334ff00024cccff0001e666ff0003199aff0003cccc88ff0002333488
+fffffdb334fffffd4ccc8987fffffd33338efffffdcccd8e1f0ef8dcfb7b92f71ead
+f7419d7aa3f7a99cf7f79212d492f822bcf714b868aef8239213df60f999f7161597
+078e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713efa0f9060a13dfa0f9070af7daf73015fbaefb78fb78fbaefbadfb78f778
+f7aef7adf778f778f7adf7aef778fb78fbad1efc92f89815fbb1fb7bfb7bfbb1fbb2
+f77bfb7bf7b1f7b2f77bf77bf7b2f7b1fb7bf77bfbb21f0efb6292fa5e9201fece92
+fa5e920322f7b215fba0fb6dfb6dfba0fb9ffb6ef76df7a0f79ff76ef76ef79ff7a0
+f76dfb6efb9f1efc79f87f15fba3fb71fb70fba3fba4f771fb70f7a3f7a4f770f770
+f7a4f7a3fb70f770fba41fbcfb3215878b898c888b7c8d7b8c7d8b838b838b838a97
+9b83a6af9b8391828f7f8b788b7d7c8b79088b7d98868b868b838487858968866b81
+6d7d8b8e8c8e8b8e8b928a8c8b948ba69594939308858c878d838b768b7c7b8b788b
+6fa28f8b818b848786878908838605737d767977788a9e76988ba68b938c8f8e9268
+8388758b838b829173a38b089006938c82881f8b878a8789887472796e7d6b809f6a
+9089b68889757e8b748b779d7c9a8b938b92908f8b088e92867f1f8607806e856a89
+6a8690848e808d69938199849a858286818b7f8b749d7d9f8b9c8b919a918b08978b
+8f7d8c848c6b8f728f79868d858c848b658b7f988197898588838b828b749c7aa08b
+08a88b8ba1918b928b90898e878f7d8f828b848b858a858b858b7f8f84928b918b91
+8e948b08958ba687998b928b8f8c8b8e8b9c41a3859b869b859b879d8d95938f8d8b
+8f8b9283978b0899a098a31f8b9d7f97829384616b887c7c8a9789988b998ba18d9f
+8fa08e909091948b918b8e79a08b08a2999b9f1f8b968892889372666f9a778094ab
+98aa9da68e8d8f8d908b998b836fac8b9e8b9b9b8ba3088b908a8f8b8e8586828275
+8b7c8b838f818b0888069ca19fa0a19d8e8c8d8c8f8ba18b7677a47d9187918a908b
+9a8b9c9490a98388878a828b08768b7d977d8fa39ba498a695088f06949185881f8b
+8887848b848b8098799e8ba18b959e8f900887066c8b81a57c96a693a78eaa8b9788
+8c838b8b8b8781838b818b7b987b9e8b978b949095940869958ba58199a48a9e8799
+889a828682978490889188928b918b8f8d918b8e8b8d8a8f8a08829c91938292888e
+8191838b848b8787838b8a8b898d7a8f999690a5af8e888f809c778b08777f797f1f
+8b8391858b888b8987837f8b08fb89fce315898e888d1e8f8b8991918b8d8b8e898b
+878b7a6f94817f08a17b9292898e0588898a8a8a8b8a8b8a8b8a8c088292059092a9
+848b9c0891829384878688891ec56c15828076838a898c8e9398a1911e8c068d8b8a
+881f7b691599949d969386908480807d7d809188901fc99815818376848a898d9093
+93a1918e8c88881e7e691597939b9797848f8580827b7f829184921fc7a315858488
+861e888e078e908985848685861f868b8d91858b08898a8a8a88918793959192931f
+8b91878f878c8d8c928e8b910890868f838188848a898d8a8d1e908b8793948b088e
+8c88881fb272158b908b908e898e888a878a86888d898e1ff77df8da158d06f22a8f
+2f8b4f08fb13444c798a8b8b8c8c8b8c8c1eb499b7de8be58bf74b21c08b968b8c8b
+8c8c8b08e9ba158a8a8b891f8b868e838b8a8a8b869b878b8b8b8a8b8b898b878e83
+8b888b8b8b8a8a8b888b8798878b088b8a8a8a1f8b86927f8b89088a078a8b859588
+8b8a8b8b8a8b898b878f83948397828b868f80887e838e847f7a99728e88a0088994
+879486907a9b579a868b818b88848b858b8392819080927e956fa084a2839879917d
+087a898a777e8b898b8093849c86998591888b8b8b8a8b8b8a8b888f848b89088a07
+898c8199878b8a8b8a8a8b8a8b8793848b88088a06898b8293888b8a8b8b8b8b8a8b
+8796818b8a8a8b8393878b8a8b8a8b8b8a8b879b828b8a08898b8390888b8a8b8b8a
+8b8a8b889482a0879b6c8c8b8d8b8b8ba08da29e8b6498719672087d968990868b80
+8b846b8b8b088b8c918e91888c89878b808b8b8a97878a898b87888d868b1f8b8795
+87898a8a898790858b1e8b858f898a8a8b898892828b1e8b868f898a8a8a8989996c
+9f9b8e98951e8e0795849a769c868b868c868b868b566d2c5a78898a8b8a8b8b8b8a
+8b8b8c8bc58bc5d392dc088c9a8d998c988f8d918f9092949999a28b8b088b8d779c
+a293ae908d8b8d898887858b1e8b90948e8d8a8d881f8a8b8a898a8b0893888b8986
+8b858b8b8a9088888a87881e8a8d8a8d888b8a8b888a8b888b888e868c868891849f
+7e8b838b908876750899078bbb80a773a8939693948d978c8f8f918b8d8b8f898f8a
+8c087e9c058c8f8b8f8b8f08968796898a8a89891e8b878c878b898a8b889e878b08
+fcb8fcab158b908c8f8e898e8989878987898d888e1f0e3d89a8f804adf77fad01e7
+d6f74cd603f73bf87a15f72ec8a3ab1ea98b9e7b986a927e94819887088b7f8bfc8c
+058b6efffff64cccfffff4b333ffffdeb334fffffc4ccd08828a0586ffffff666689
+fffffd999a8b86088b788c89058bc58dafb2d4898b1e8c8d8b9e058b9088ff000299
+9a86ff0000666608748d05ffffe06666ff0002b333fffff4999aff000b4ccd8ba808
+ff0203b33407cc8eff00234ccc8b1e92fffffbb3348efffff84ccc1e7b80ffffe5b3
+3482fffff34ccc88759a7193688b398b264587fb2a087081756c79867f831e820787
+8c8a8f1eb706998c877f1ffbc7078b6efffff7b333fffff5b333ffffdd4ccdfffffc
+4ccd0878890586ffffff800088fffffd80008b86088b788d89058bcf8fafb2ce878b
+1e8d8d8b9e058b9087ff0002999a87ff0000666608798d05ffffdd3333ff0003e666
+fffff7cccdff000a199a8ba8080ef75889a8f804ad849ff767a77bac12e7d6f74ad5
+f75fd6138ff8a8f94e15488b617565560813d76dae62a24e8b718b7585767e506672
+54852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7078b6e
+fffff96666fffff5ccccffffdb999afffffc33340878890586ffffff800088fffffd
+80008b86088b788d89058bcf8dafb2ca898b1e8d8d8b9e058b90fffffce666ff0002
+4ccdfffffb199aff0000b333087d8d056aff0004b33381ff00094ccd8ba808f7f907
+f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89698b7508708076
+6c7a857f831e8207878c8a901eb6069a8c877f1ffbc7078b6efffff66666fffff580
+00ffffde999afffffc80000878890586ffffff800088fffffd80008b86088b788d89
+058bcf8daeb2dd898b1e8d8d8b9e058b9087ff0002cccd87ff00003333086a8d05ff
+ffe03334ff0001e666fffff4ccccff000c199a8ba808f83207138ff72ecba4ac1eac
+8ba67f936097559b73ab8b9e8ba09d8b9f8bb069b266a408729c7595658b08f744fc
+d415ff00c74ccc07ff0031b3348fcb8b1e13a78f868e831effffe3800080ffffd880
+0082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb
+57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba085914e8f
+808f8bde080e857fa779a8f804ad7aa9f773ac12e7d6f706c94da699e6d4ce62a613
+6c80e8f871158a7081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7
+078b6efffff56666fffff56666ffffdf999afffffc999a0878890586ffffff800088
+fffffd80008b86088b788d89058bcf8dafb2d5898b1e8d8d8b9e058b9087ff0002b3
+3387ff00004ccd08728d05ffffda66668efffffa999a968ba808f83207f72ec1a4ac
+1eac8ba5809473966b9c66ab8b089e9798a0ba50c3331f3c8b375981fb3f08134d40
+f750fbe5158f5a8e588b61958d938c918b918b918a928a08139e40a4849f87ae8bb8
+8becac8bea8bdb4eb03aa9559f7d9e8bb38bbcada0b18b08139e20a08bc27ba03908
+a68c0589af88ad85ab6c9b6a945a8b3c8b54578b4c8b40ac75d46b08138d40db699e
+6f8b608b5d5e6c6a8b668b7a9d819676a37fba88a4080ef282b464bcf755b2f720a9
+12b2d34ed4f73ed9f767db1377f890b515404dd2f61f8b948b888c9408f7b606eb68
+f705fb1d1e528b5d72645e66ce3e8e738b08393d5d51779472aaa4999c9b1f8ba285
+808ba58baab89cb28ba08ba1819a7ca76f8b518b720830740513bb2371505e8b3b8b
+47bd5ed98baf8bb293a79f081377aba205a29e8f8c90909b74b958f18be38bb9c5a5
+ae087a950568655f7b558b08d5f77c15fb630692c4aedad38b08b0c36e201ffbb571
+15fb3e0713bb656c6e7c738b3e8b7dbb8ba88bc3a4b8f731b1080ef74d89a8f804ba
+5cadf77fad12e7d6f74cd6f75ad513bef7fef93715759b7192688b398b264587fb2a
+087081756c79867f831e8207878c8a8f1eb706998c877f1ffbc7078b6efffff76666
+fffff5999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b788d89058bcf8dafb2ce898b1e8d8d8b9e058b9087ff0002999a87ff0000666608
+798d05ffffdab333ff0004199afffffa4ccdff0009e6668ba808f83207f72ec8a3ab
+1ea98b9e7b986a927e94819887088b7f8bfc8c058b6e80fffff9199a6bfffff8e666
+08828905fffffb199afffffee666fffffde666fffffe199a8b86088b788c89058bc5
+8dafb2d4898b1e8c8d8b9e058b9088ff0002999a86ff0000666608748d05ffffe166
+66ff0002b333fffff3999aff000b4ccd8ba808f78e0713debbbab6a5a88b08c3a178
+3a1ffb73078b6efffff76668fffff5999affffdd9998fffffc66660878890586ffff
+ff800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087
+ff0002800086ff0000800008788d05ffffdf9998ff00036666fffff56668ff000a99
+9a8ba808f76807f268c2421e648b517b484808f77907cc8eae8b1e92878e831e7b80
+71827e88080ef924fb76c2c5b5c6ad6bb8f803a8f755ad12b0e6f84ee7f72cd6f752
+d613cfc0f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333ff
+fff64ccefffffeb333ff00033332ff00026667ff00034cceff00026666ff00034ccc
+ff00024ccdff0029999aff001d999aff002d199aff00151999ff00223332ff00094c
+cdff0055b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff00
+38b333a1ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e6
+66ffff3e199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ff
+ffee3332fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e
+6308b37705ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff0013
+3333ff000ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37c
+df8bf38bf0b0cac6087a9d0549663b75598b083f8b589931ae08fb85f97c15640a13
+dfc0f8f3fd0c15b28bba9fbcb3908fff00094cd08dff0000b33084ff00028000ffff
+e68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff00068000ff00
+028000a19dae9ac89291918b9a8591084b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b788983
+7d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b
+8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e0ef85989acf7f8bf
+f73bb29377c277128eadf778e0f78cdaf766da13ef80f7f2f70e15f81207cb95b1af
+1ea106d6f4983f1ffc39078b38fffff4333487518785858b769185ff002933348cff
+001999988cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd33348f82
+8f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccc
+ff00329998ff0015b334ff002766688bff001466688ba0fffff2e666ff000b9998ff
+ffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085
+b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729078bc2fffffc4c
+ccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6
+688bffffc419987e4e4708fffff633348bff0000ccccf76b05ff00003334ccff0003
+ccccb38b8b8b92878e828bffffe9b334fffff71998ffffd86664ffffe4ccd0ffffc5
+999cfffffd9998ffffc29998fffffd8000ffffac999a89ffffcc199a8b08350613df
+80f7300a13ef809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b76
+9185bc8cff002466668cff0036999a8bff003633348bff0022cccc8abd8a91918ba0
+8591083b8e7a908bde080e4cfb7caef74faa789ef704adf773b212e4d651c589d8f7
+4cdb13dc80f738f71d158bf791f77f8cfb2afb919c7b059d8fa992968b08ccac452b
+24494e601f13d980628b70ae84a183a37d95748b08768079796bc651dff709dcf1f7
+05ef40df311ff71bf770059ca590978b8f8b8f858d848b888b68856e8b0813da80fb
+8ff72f0651778b78053f7b6348898a8a881e6c07888c8a8e1e13dc80ccfbc10613d9
+8044a56fba1e13bc80968ba194938e0813dc808b95fffffc8000ff00033333fffffa
+8000ff0005cccd0885067c8299f11f0e42fb6d76f780acf803b7f75da8a57701f701
+d6f768d903f701d7158b6efffff63333fffff4ccccffffdecccdfffffd3334087389
+0586ffffff999a89fffffd66668b86088b748c8905bd8c9f8cb28bb48b9f8abd8a08
+8d8d8ba2058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002ccccff
+fff74ccdff000b33348ba808f79507bfc1ac96a58bb88bc3578bfb198bfb8e472422
+41ff00004ccdfffff54ccdff0003b3338392fffffab333f70dc0f70bf7148bf7a58b
+f7443bbd3e8b085d8b6778585d08f76207cc8eb38b1e92878e821effffe6e66681ff
+ffba999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffff
+ffcccc08ab89059f957e4a1f0e7e7faa76acf7fbb2f785a712ecdaeccfc8cd9acc13
+7fecf87115707f766178867f831e7e07868c8a8f1ed4fbce068b6e83806688087189
+05878888861f8b748d89058bd78db0b5d3898b1e8d8d8ba20590878e871e758d056b
+8e7f968ba808f840078bac90aa9baaa3b9afa4bf8bbc8bb7668b558b657b755a6462
+6b74668b618b56b566cc6108c069bd698b460813bf49577c6a1e728b7295799d8790
+88928b95089f819c767a7e807c66b754e3ecc4d0d21e8be251b059ab38bf7ba48ba9
+8bb1a29fa7a3aca5b6b28bbd8bbb5ec9fb038b6a8b6a866b7b08fb075189278b6108
+0ee97fa7f820a912bba67ac9f71dceb8c94da6f746ce13cbf805f720158f5a8e588b
+61958d938c908b928b918a918aa5849f87ae8bb78bedac8bea8bdb4eb03aa90813cd
+559f7d9e8bb38bbcada0b18ba08bc27ba03908a58c058aaf88ad85ab6b9b6b94598b
+3d8b54578b4c8b40ac75d46bdb699e6f8b608b5d5e6c6a8b08668b7a9d81960813cb
+76a37fba88a40813e9fbf08a158f5a8e588b61948d948c908b928b908a928aa584a3
+87ae8bba8bebac8bea8bdb53b03aa908549f7d9e8bb38bc1ad9bb18ba08bbe7b9f39
+08a68c058aaf87ad85ab6c9b7094598b0813d94150574c1f8b40ac75d46bda69996f
+8b608b5c616d688b668b759d81960813e974a281bb88a4080ef7f481aff8eaad12a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff00208000ff00568000ff00
+208000fffff78000ff00476668ff00ed9998df4bff0020800013c180ff0362b334f9
+0b15ffffc6333493ff000219989effff9e4ccc8bffff9ab3348b32488b218bffff96
+999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ff
+ffe3e6678bffff9e33338b3affffd2cccc61ffffb033348b0813c280ffffa280008b
+4fff002a800075ff00638000fffff3b3348ffffff56666fffffe199afffff66666ff
+fffae6668f3e8f71975aca8ba774ff0058b3348bff002d80008bb6ff000b199aff00
+22ccccff0015b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a
+088bff006a6666ffffafe668ff002e999affffad9998ff001ee6660813c140ffffc4
+ccccff00163334ffff9c199cff0025cccc8bff0054199a8bc3ff00329998c3ff003a
+e6688bff006119988baa4d9f49ff000a8000fffffe333498ff0000cccc949208ffff
+fc8000bb87a7fffff5b334c008fc6c16f7260a13d800f7270a13e800f7280a13d400
+f7290a0e46fb4cb3f72f76f824b201e4daf788db03f73cf84115b207cc8fb38b1e92
+878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199a
+ffffe93334ffffffe666fffff6cccc8bffffad199a085dffffffe666057d877f831f
+7e07868c8a8f1ec6fbd2068b7989708d818f7a9a81ab8b08b181b7b11ff7d2f76007
+fb25fb689282059b8e9c8c988b08dac049402f493759745d83ac1f8b9895958b9e08
+a18196757a7a76794cac65dee7f705daf72a1e8bd864defb109308f70cf7410598a4
+92988b8f8b90838c868b888b6a866e8b080ef7137fd2f7b5ba83be72b2f74ab012b2
+c0f750a2beb67eb3f768be13ae40f711f7171572b283b98b9f8bd0bdddce8ba18b9b
+7f947d08fb6dfb4a1521e036f21ef7328bf72ff72299f7790813df409a829e899d8b
+08a3c4a8d7a57997797a7d7e721f8b818f8090818f848e848b868b868888838b808b
+7d9379956d9d64a05c8b083c6a5a5363a1809e9d9d9fa01f8b9d8292839282918391
+8b9a8b98988f9c8bb68ba977a37885fb1847fb4bfb558b568b66a171a708f796f859
+0513aec0969f99aa8b9708a377a16855686c571e8b858c838c8408a18d058b8f8a90
+8b8f08a99ba1a79f9c7c7a1e8b7b827b81780847fb0a05848e838d838b082dfb2148
+fb541f0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090a0e3389
+acf75dacf738ac12f701daf740d753e213f8f750f81815aa9295d0b7bf80484f6e71
+4a1e3d066a04d90613f4e6a2ffffd2199affffc9e6665f7b5225ffffbee666fffff7
+199a99b01f643915a98bbf89c38bf7198bbaff0036999a8bff004866668bcc6ab745
+9b0813f8b39dabb88bb28bc371c1fb258b568bffffdd4ccd89ffffe2b3338b6e8b5e
+8c668c85858b769185c88796878b3808fb6c078b3880884e8685858b769185b58cff
+002a4ccd8cff001bb3338b080e2481b1f82dac01b0e2f7b8a903f7a88115f90a0a0e
+6d89acf822ac01f701daf793e203f750d715f90b0a63f81415f90c0a0efb0a8baaf7
+56abf73eac12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0a0efb1d
+89acf747abf74dac01f702daf712a7bba603f702f70e158b3880884e8685858b7691
+85b18cff0028cccd8cff002133338bae8bb28ab08a91918ba085914e8f80908bdd08
+e3c407ff0040cccc8bff00023334ffffe9cccd8dffffde333390869d8b90908aa08a
+ff001780008bff001c80008bff001bb3338cff00174ccd8c9f8690798b8686895e8a
+80498b0852f731069c98969e1ed806c98b986a9d52958a948d938f87ad7fd989928b
+8d8a8c898b7d898489778b08fb63066d8b628c638c85858b769185c88796878b3808
+0e5581acf733acf772ac12b0e5f79eda68a913f8f86cff005b333315f90f0a13f4f9
+100a13f8849287948b92080e9b89acf750acf745ac01f703daf77bda03f888f7e615
+8bde968ec89091918ba0859168895f8b6a8b6f8b5f8c648c85858b769185c8879687
+8b380835fb7be1078bde968ec89091918ba08591658affffd5cccd8affffe033338b
+ffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb6c078b388088
+4e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002833338a
+b28a91918ba085914e8f808f8bde08ecf77b2a078b3880884e8685858b769185b08c
+ff002833348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f
+808f8bde080efbb089acf822ac01f708da03f757f7e615f9110a0efbb0fb43b5f8c6
+ac01f715da03f715f7e615f9120a0e6289acf74cadf748ac01f704da03f704f7e615
+fb6c078b3880884e8685858b769185b18cff002c999a8cff001d66668bff001cb333
+8bff00224ccd8aac8a91918ba085915b90828e8bde08e807a18ba4869a7708f703fb
+1e05997b8c808b7e087d07968ca48ca58ba78bbc898b8b91918ba08591708effffe8
+199aff000accccfffff2e666ff000f333408fb28f74205869187908b918b9391969c
+9d08e1ee05ff001e4cccff0022e666ff0024b334ff0005199ab38d91918ba08591ff
+ffe1b3348affffdf4ccc8a718b6e8bffffdf4ccc8cffffe2b3348c85858b769185bd
+8881713e3408ffffd54ccdffffcfccccffffe2b333fffff033346a8b08e4078bde94
+8ebb9091918ba085916b8affffdf66668affffe0999a8bffffe333338bffffd3cccd
+8c648c85858b769185c88696888b38080efb388badf81fac01f704da03f80f16f913
+0a0ed3947695acf822ac121360f877f81215928bff000d4cccfb9705ff0003999a38
+ffffff8000fffffc3333ffffc9999afffffacccd85858b769185ae8cb08ca78ba98b
+a88aa68a91918ba0859158ff00053333ffffff1998ff0005cccdfffff9ccd0dc08ff
+ffec1998f79605fffffd4cccff00283334ff0008b334ff0003ccccbd8f91918ba085
+9108fb1b89fb2afbfafb14f7fafb1f8d0585858b769185ff0030cccd8894fffffacc
+cc897808ffffe08000fffee7333405fffff6b334ffffac999afffff2cccdfffffc66
+66ffffda33338885858b7691859f8cff001d999a8cff001066668bff0013cccd8bff
+002533338a9f8a91918ba08591ffffc74ccdff00043333ff00003333ff000bb333ff
+00088000ff004a199a08a8f7928d8bf722fc0f0513a0ff0001e66686ff0005199a88
+908b8f8bff0004e6668eff0002199a90080e92947695acf822ac12f700baf7b8ba13
+b8f72ff70e15f752078bff00313334ff000cb333fffff68000ff00174ccdffffe34c
+cc08f77ffbcd059a7b9b859a8b089795929f1ff7d7078bde968ec89091918ba08591
+6d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb4f078b70887a6cb5
+08fb79f7cbfb228d89888b73058791898e1eb188967f957908fba60713788b388087
+4e8785858b769185a98cae8ca98ba98baf8aa98a91918ba08591084e90808e8bde08
+0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150a0efb1a89
+acf72dacf768ac01f702daf72be203f751f81415ab9798bbc6abffffe1199affffb9
+e666ffffb7e66671ffffd9199a4f1e778b728e7793082104d5079d839f87a48b08f7
+1ab4ebc7bf6dd1fb221f668b6189708bffffe34ccd8bffffd5b3338c638c85858b76
+9185c88796878b3808fb6c078b3880884e8685858b769185ac8cae8cb78bb68bae8a
+ac8a91918ba085914e8f808f8bde080e6bfb37baa9aef87cac01b0e2f7d0e203f7a6
+f84915f9140affffdfcccdfffe17999a15ff0025ccceff00189999ff00258000ff00
+0f199aff0019cccc94ff00784cceff001b3333ff003fccccff0063cccd8bff006eb3
+3308f722fb06e8fb16fb1f2026fb271e8bffff7fe666ff005b6666ffffa36667ff00
+7b6667fffff5b333ffffc8b333ffffe1cccdffffcd8000ffffd4e66672ffffdc4ccd
+08ac7b05ff000ab333ff000f199aff000bcccdff000d8000ff000c6666ff000c1999
+ff0009cccdff0005666794ff0001e666ff00054ccd8bd58bb83ef28bbe8bada0aab8
+087d95057a766e83748b448b51cc328bfffffd66668bfffffd4ccdffffffcccdffff
+fd199affffffcccd080e3784ae6dacf746a8f755ac12f704daf730e2133cf7eff7ee
+153cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b3331eff0045
+8000ff00148000724f1ffb30fb7415f9160a13bcf9170a137cf9180a0efb4b7fac8a
+76f84aac12bcab75d0f732d95ba613acf7e7f85415f9190a1374f91a0a13acf91b0a
+13aaf91c0a0e4989acf81fad957712aea6f737daf738a613dcf7c4f70e15f91d0a13
+bcf91e0a13dcf91f0a13bcf9200a13dcf9210a0e7881b4f822ac01f3daf790ba03f8
+47f7e615f9220a0e5c9476f84dac01ff00b6e666f7fe15ffffe84ccdff0038999aff
+0001199aff00056666ff0035b3339091918ba085916c8affffde4ccd8affffd6b333
+8bffffdfb3338bffffe24ccd8c718c85858b769185bcfffffb4cccff0006b333ffff
+f4e668ff0018b333ffffc6cccc08ff008d999afbdc05ff000c999affffe2b33390ff
+fff54ccdff000b66668b928bff0003ccccff00084ccdff000e3334ff001fb33308ff
+00926666f7db05ff00148000ff002dccccff000b199aff00183334c18f91918ba085
+91758a738a718b668b6f8c708c85858b769185c187907fffffebb3345808ffff9366
+66ffff06b33305fffffd3332fffffcfffffffffe33348bfffffdb3348e080ef75d94
+76f84dac01ff028b9998f7fd15ffff9c199cffff0b800005fffffd8000fffff84ccd
+fffffd6664ff0000cccdfffffd199cff0006e66608ffff9dccccff00fb800005ffff
+ed8000ff002f4ccc8dff0009b334c08f91918ba085916b8a6a8a688b688b6f8c728c
+85858b769185bafffffc8000927dff001d999affffb5800008ff0002e666fffff8b3
+34fffffe80007f7dffffe04ccc08ffffb38000fb410588fffff9199afffffbb334ff
+ffffccccfffffd8000ff0009999a08ffff9f3332ff00f6800005ffffed199aff0030
+4ccc8cff000fb334bb8e91918ba085916c8a6a8a678b658bffffe433338cffffe5cc
+cd8c85858b769185ff002f199afffffb3334ff00054cccfffff5ccccff0015b33457
+08ff0087e666fbd9059affffdc199aff0007e666fffff2e666ff0009199a8b968bff
+0005999a92ff00126666b608ff005c8000f76c05ff0006b334ff000f999aff000419
+98ff0000e666ff00053334fffff3800008ff005a8000fb7005ff000bb334ffffe24c
+cdff000a3334ffffebb333ff000d19988bff000b19988bff000a199cff0013b333ff
+000bccccff001e4ccd08ff00809998f7d305ff00103334ff00284cccff00103334ff
+001cb334be8e91918ba08591768a758a678b658b6e8c6f8c85858b769185d587ffff
+f59998ffffe266667dffffdd999a080e4c89acf822ac01f75bf8141572af938fbb90
+91918ba085916e8a5b8a6b8b6b8b6b8c6f8c85858b769185af88a776a95f08ebfb1c
+05ff00056666fffff84ccdffffff999afffffcb33387860831fb0805615473866589
+85858b769185a08ca38cab8bab8ba98aa78a91918ba08591648f8191a3ae08d0ed05
+ff0009199aff000ce666ff00034cccfffffe6667ff0006999afffff6b33308c83505
+b0587a87698785858b769185ab8caf8cb28bb48ba88aa58a91918ba085915a8e7e91
+60c80828f71c05fffffb6666ff00064ccdffffff999aff0003b333909108e5f70705
+b3bda493b28e91918ba08591768a728a6b8b6b8b6c8c6f8c85858b769185b2879885
+716708462905fffff83334fffff4e666fffffbccccff0001199a8397080e2189acf8
+22ac01f765dc03ff0155b334f7fe15f9230a0efb228babf81caf957712bba513d0f7
+2ef8601513b0f9240a13d0f9250a0e3c0efb95f760c701b3f79603f7a3f760152a0a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aa1f7af15740a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a915a30a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a815f733
+0a0e6489acf70dadf7e3c089c212f826a613c8eaf415f9080aff005c3334fffeec33
+3415f9090a13e8e0f74d15b30a13d8b40a13e8b50a0e6489acf70dadf7e8ea01f731
+e9d6e903eaf415f9080aff005c3334fffeec333415f9090afb05f74c15950af73d16
+950a0e6489acf70dadf7caabf5ab01f75bb3ebb303eaf415f9080aff005c3334fffe
+ec333415f9090a9cf78915ba0a335615da0a0ece89a870adf74aaaf747ad70a612f7
+e0d4f4a5c9a478a5137700f88dad1544067a7f919e1ff730c807a58b93819076088f
+75058c898d888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06
+888b89898a87088676058677847f708b084ef730069c95919e1ed106cb8b9e569666
+08a48f05132e8084b184b28ab608898d051336808b44896d1e13ae80fb1d063f338d
+8b1f89898b74058b8a8bfffffdb33491ffffff4cccff001a800088ff00068000858b
+7f8b6f52fb067b6b6c4f5d36776b837dffffed80007affffde80008887ffffff999a
+89fffffd66668b88081366808b760513a6808c89051366808bb48d9e1e13a6809edd
+898b1f1366808c8d8ba00513a6808b8e888d888c08818d056d947f8e949d08d3f724
+058f9391909e8b08f704fb2f068b77fffff6999afffff7b333ffffe06666fffffc4c
+cd087a890587ffffff80008afffffd80008b89081366808b750513a6808c89051376
+808bc78db21ef784068cab93b397bc08718e057c5974634e8b08fb79f7fb15132e00
+96a3989b958b089894806c1ffb242a077d858c8f1f8b8c8c8d8c8d080e24fb5ca8d6
+abff0036199aff0025e666f82dac01b0e2f740c9c5a903f79b2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccff0039199a05ff004a4cceff00018000ff002eb332ff001d1999
+ff002db334ff003d4ccd899281ff000ab33383ff00024ccd5d556877488b082851f6
+eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ffffffb334ff00
+29199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b8bfb188b2527
+8bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cccd08ff0022b3
+336bff002f199affffec8000ff003c8000fffffb800008ffffdbb333349185059b90
+958c9e8b080efb0a8baaf756abf73eac12f704daf712a7bba685a713fcf78cf77515
+f90d0a13faf90e0ab1f85d15740a0efb0a8baaf756abf73eac12f704daf712a7bba6
+85a713fcf78cf77515f90d0a13faf90e0acff84a15a30a0efb0a8baaf756abf73eac
+12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0ad1f84b15d70a0efb
+0a8baaf756abf73eacceea12f704da3fe9d6e94ea7bba685a713f980f78cf77515f9
+0d0a13f940f90e0a13f4003ff7f115d80a13f200f73d16d80a0efbb089acf822ac01
+f708da03f757f7e615f9110a38f8b315740a0efbb089acf822ac01f708da03f757f7
+e615f9110a75f8b115a30a0efbb089acf822ac01f708da03f757f7e615f9110a6ff8
+b315d70a0efbb089acf822acccea129be991da81e913f8f757f7e615f9110afb47f8
+5815950a13f4f73d16d80a0e6d89acf745b2f74aac01f701daf793e203f783f78b15
+f9260a30f79015f9270a0e92947695acf822acc6c089c212f700baf79fa689ba1336
+f80bf8d215b30a132eb40a1336b50afb70fc5815f9280a13a5f9290a1365f92a0a0e
+6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb9af84515
+740a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb6e
+f84015a30a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f915
+0afb78f83e15f7330a0e6b81acf832acbec089c212b0e2f79aa6a6e213cef7a6f849
+15e4d839fb1afb0f4e40322a46e3f70f1ff71bd6cfd61ef791fb5e15f9150a13eefb
+50f7e715b30a13deb40a13eeb50a0e6b81acf832acc3ea01b0e2a6e9d6e9a5e203f7
+a6f84915f9140af791fb5e15f9150afc0cf7e615950af73d16950a0edf89a870adf7
+4eabf742ad70a812a8e0f765d6f710a5daa413af80f7aea615244ad0f71ef72acebc
+d6b6a3896d1ffbe907748581681e133780f78cf82315cb8b9e56966608a48f0584b1
+84b28ab608132f80898d051337808b44896d1efb3d0613af80668b548d878b08fb21
+2b27fb20fb20f237f71b1f136780f77e0a13a780a9c6898b1f1377808d8d9ff70772
+8e057f57746b588b08fb04067a7d909e1ff736db07a58b94808f77088f75058c898d
+888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06888b89888a
+88088676058677847f708b083bf72b069c97919e1e0e6b81acf832ac01b0e2f7d0e2
+03f7a6f84915ff0026b3348bff00248000fffff08000ff001cccccffffe3666608fb
+6afffed2800005ffffe6b333ff0024999afffff14ccdff00314ccd8bff0038b3338b
+f71bd6cfd68b08f791fb5e158bff004eb33468ff003fb332ffffca999aff0029199a
+08ff00276666ff003780006e9effffd8b334ffffc8999a05ffffda9998a0ffffd44c
+ceff000b6666ffffd266668bfb1f8b20268bfb278bffffb1b333ff0022199a4aff00
+36b333ffffd6e66708ffffd23333ffffbf6666a878ff002e199acc05ff0022e666ff
+ffed6666ff0028cccdfffff5999aff002c33338bf7388be3f7078bf71608ffff81cc
+ccff0082333415ff00184cceffffdbb332ff000ee666ffffcf199a8b508bfb0f4e40
+328b638bffffdccccd9affffe46666ff001a3333080e7881b4f822ac01f3daf790ba
+03f847f7e615f9220afb3bf7de15740a0e7881b4f822ac01f3daf790ba03f847f7e6
+15f9220a2ff7d915f78e0a0e7881b4f822ac01f3daf790ba03f847f7e615f9220a21
+f7d615f7330a0e7881b4f822accbea12f3da80e9d6e98bba13f2f847f7e615fb1307
+358b2dfb182876d9e81ef71c078bde968ec89091918ba08591648affffd780008aff
+ffdf80008bffffdc66668bffffd8999a8c678c85858b769185c88796878b3808fb31
+07fb2aff0048800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba0
+85916d8a678a6d8b6d8b688c6d8c85858b76918508c88796878b380813e8fb9bf77f
+15d80a13e4f73d16d80a0e2189acf822ac01f766da03f7c0f93115a30aff0029b334
+fbc715f9230a0efb1189acd3acf75aff001f199aff003fe666ac01f702daf73bdf03
+ff00bd199aff006bb33315ff000d1999fffffc4cccff0014999a8aff001c33338b08
+f725b7dbc2bf70d8fb2b1ffffff14ccd8b6bffffff199affffe64ccd8aff0002e666
+ff0038b3329aff0002ccceff00358000ff0004666691918ba08591618a718a5f8b60
+8b728c608c85858b76918508c88796878b3808fb6c078b3880884e8685858b769185
+b58ca58cb78bb68ba48ab68a91918ba08591ffffc6b333ff0003ccccfffff2cccdff
+0003b334fffffe999aff0045333308ffffffe666ff00da800115ff00126666ff0003
+e666ff0025e667ff0003e666ff000fb3338b08caab76413b6974401fffffe14ccd8b
+ffffed33338cfffff78000ff0002b333080e2189acf822accbea12f712e980dc90e9
+13f4f712f8d115d80af73d16950aff002eb334fb6715ffffb84cccfb12898bffffb3
+e666f7120571ff002c3334fffff6199aff00134cccc7ff0003800091918ba0859169
+8a688a668b6e8b6d8c6e8c85858b769185ff002e8000fffffa8000ff000ce666ffff
+eb6666a7ffffd1199a08ff00563334fb2105ff00074cccfffff44ccdff00078000ff
+fff23333ffffff999a790813ec8affffce8000058b3881884e8685858b769185b08c
+b28caf8bff00244ccc8bff0026b3348aaf8a91918ba085914e8f818f8bde088aff00
+33800005ffffff999aff00128000ff0002e666ff000d999aff00078000ff000a6666
+08ff00506666f71f05ff0017b334ff0028e666ff0011999aff001bccceff002e4ccc
+ff00054ccc91918ba08591758a748a718b668b6f8c718c85858b769185cb858b7eff
+ffe4b3345b080e82fb43b5f717acf822ac01f708daf765da03f828f7e615f9120afb
+6516f9110a0ef7427fac8a76f7ebf580ac12bcab75d0f732d95ba6e7ab75d0f732d9
+5ba6132060f969f85415139060f9190a1340a0f91a0a1390609e8ba87ad88be48bc4
+ff0036e6668bff0056199a8bd9ffffa51998ff002ce666ffffcfe668ff0017199a59
+a35cff001880008bff002a80008bb6a7a7bf8b08132050f91c0afc1616139600f919
+0a134a00f91a0a139600f91b0a132500f92b0a0e6a81ac72acf76ba1f73dac12e8da
+e7a5f72de013bef740f70e15f71a07f71cc3b8e0aabc7d801e8b7a4936675bffffff
+199a85ffffffe6668590858f8c908c8f8b08f706a03171376074671f638b76a67ec5
+8190fffff7ccccfffffe6666fffff83334fffffa999a886a8e6c9475a777ff0026b3
+3481ff00234ccc8bea8bc5d48bd18bd057c9328f08fffff880008bff00038000938d
+8e08f6f72a8b9b0562993b965f8b08fb45522ffb201ffb0807137e8b3880884e8685
+858b769185b18cb28cae8bff001f80008bff002080008aab8a91918ba08591085b90
+828e8bde080ef94afb76c2c5b5c8b4f822acf734af01b0ebf849ebf723daf790ba03
+f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333fffff64cce
+fffffeb333ff00033332ff00026667ff00034cceff00026666ff00034cccff00024c
+cdff0029999aff001d999aff002d199aff00151999ff00223332ff00094ccdff0055
+b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff0038b333a1
+ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ffffee3332
+fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e6308b377
+05ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff00133333ff00
+0ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37cdf8bf38b
+f0b0cac6087a9d0549663b75598b3f8b589931ae08f8ccf86015fb1307358b2dfb18
+2876d9e81ef71c078bde968ec89091918ba08591648affffd780008affffdf80008b
+ffffdc66688bffffd899988c678c85858b769185c88796878b3808fb3107fb2aff00
+48800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba085916d8a67
+8a6d8b6d8b688c6d8c85858b769185c88796878b3808fdbdf7b015640a0ef88efb33
+ff00214ccdff0027b333ff0022b333ff00294ccdacf82aac72ac12afe2f7d0e2eeda
+f790ba13f780fa50f7e615fb1307358b25fb18207ee1e81ef71c078bde968ec8908e
+8eff00018000ff0006b3348bff0006cccc8bff0006ccccfffffe8000ff0006b33488
+8e618a718a5f8b608b728c608c8888fffffe8000fffff94ccc8bfffff93334088bff
+fff93334ff00018000fffff94ccc8e88c88796878b3808fb3107fb2ad162e0f72fcf
+e3f7261ef706078bde968ec8908e8eff00018000ff0006b3348bff0006cccc8bff00
+06ccccfffffe8000ff0006b334888e6d8a678a6d8b6d8b688c6d8c8888fffffe8000
+fffff94ccc8bfffff93334088bfffff93334ff00018000fffff94ccc8e8808c88796
+878b3808fd7cfc3c15ff005133348bff004db33242ff0088ccce8bff007ce6648bff
+008b4cd0c5ff00259998ff0027800008fffff38000ff0009800005ffffda3334ffff
+e5cccdffff85e664ffffd08000ffffa5b3348b228bff000a199aff001cb333ffff67
+199ab3fffff04cccff0004199affffe24cceff0001999afffff14ccc8bfffffc199a
+8bfffffd3333ffffffe666fffffeb333ffffffccccb0ff0018cccdff002c199aff00
+0f199aff001a8000ff00083333ff007a8000a5ccff0064b3338bff006fcccd0813ef
+80f722fb06e8fb16fb1f2026fb271e8bffff7f4ccdff005c3333ffffa31999ff007c
+4ccdfffff66667ffffc8e666ffffe21999ffffcdcccd60ffffe6cccdffffdc199a08
+aa7c059bb0aa95978b08c8f89f15f9140a0e6d89acf745b2f74aac01f701daf793e2
+03f783f78b15f9260a30f79015f9270a0e6489acf70dadf7dbc401f72da6f76ca603
+f748f92815f7950a36fcbf15f9080aff005c3334fffeec333415f9090a0e64fb74b2
+f74bacf70dad01f7c9c703f826fb7415af8bbd9fa3ba087b93057876777c6d8b678b
+75a68bab8bff0030cccdff00318000ff0046cccdff004a666691ff0011ccceffffff
+9999ff0011b334ffffff6667ff00119998ffffff666691918ba085915692fffffc99
+9a93ffffe86666c508ffff663334ff0179333405fffff0e666fffff7e666ffffed33
+32fffff78000ffffeb8000fffffd333208ffff5d3334fffe9b333405775f7f725686
+85858b7691859d8ca18ca58bff001acccd8bff002633338aaa8a91918ba08591558f
+8498a2bd08ff00134ccdff002ab33305ff00036667ff00077fff8dff0003cccdff00
+104ccd8b08f74f8ba05505ff00158000ffffc9e666ff00018000fffff8199a558685
+858b769185ff0011e666ff00008000ff0012e666ff00008000ff00128000ff000066
+66ffffc4b334ffffde999a64ffffc633338bffffd0cccd8b55b26cc18b0857f82e15
+f9090a0e2481b1f82dac01b0e2f7b8a903f7aff93615a30a84fd4015f90a0a0e2481
+b1f82dacf74e7701b0e2f7b8a903f789f89515f7030aaafc9f15f90a0a0e6d89acf8
+22acf7567701f701daf793e203f78af89515f7030a51fc4915f90b0a63f81415f90c
+0a0efb0afb74b2f74daaf756abf73eac12f704da91c7c7a7bba685a713fe80f7b6fb
+7415af8bbd9fa2ba087d93057776777c6d8b678b75a68bab8bff002f8000ff002fb3
+34ff00444ccdff00471998ff00093333ff0014999affffff8000ff000f999affffff
+80008b8b97b496c292b58290838d8088087b506e59388b086006ffffd5cccdfffff6
+3333ff000accccff002133341ff72ac407ff0041cccc8bff00013334788d6690869d
+8b90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca4869079
+8b8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec40613ff00dd8b
+986a9d52958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988a
+ffffef33348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c8879687
+8b3808fb6c078b3880884e8685858b769185af8cb78cab8b08ff0090cccc06ffffc3
+b334ffffde999affffd88000ffffc5e6668bffffd080000855b26cc11e0efb0a8baa
+f756abf73eacf7547712f704daf712a7bba685a713fcf772f89115f7030aa5fbb015
+ff0041cccc8bff00013334788d6690869d8b90908aa28aff0022199a8bff000fe666
+8bff000d80008cff002080008ca48690798b8686895efffffdcccc80ffffbf33348b
+0852f722069c98969e1ec40613fedd8b986a9d52958a948d938f87ad7fd989928b8d
+8a8c898bfffff2333488fffff599988affffef33348b08fb6306ffffe333338bffff
+d1cccd8c678c85858b769185c88796878b3808fb6c078b3880884e8685858b769185
+af8cb78cab8b08f72e06b3cd898b1f13fdf90e0a0e5581acf733acf772acb6c412b0
+e5a5a6f769da3fa699a913fd00f748f92815f60a13fe00f7b8fffdc7333415f90f0a
+13fc80f9100a13fe00849287948b92080efb388badf81fac01f704da03f764f93215
+a30af73ffd3215f9130a0efb388badf81fac01f704da03f791f7e1154dffffdb8000
+8bff00298000058bde968ec89091918ba08591668affffd74ccd8affffddb3338bff
+ffe0b3338bffffd54ccd8c668c85858b769185c88796878b38088b332c539c6dd9ff
+002db3338bffffa84ccd058b388986458885858b769185bc8ccd8c8b8b08f774068b
+8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1f8bff00bb199adbff00
+2ee666050e92947695acf822ac12f700baf7b8ba1338f80ef93315f75e0afb73fcb9
+15f9280a13b8f9290a1378f92a0a0e92947695acf822acf7527712f700baf7b8ba13
+3cf7a8f89115f7030afb0dfc1715f9280a13bcf9290a137cf92a0a0e92fb43b5f717
+acf822ac01f700baf7b8ba03f72ff70e15f752078bff00313334ff000cb333fffff6
+8000ff00174ccdffffe34ccc08f77ffbcd05ff00028000fffffd6666ff00028000ff
+fffd999aff00028000fffffde666fffff36666ffff8c3334ffffd46666ffffebe666
+ffffe5b3348b7e8b85928495829780986f8b087e747e766ab27aa01fa28bb48cb5ae
+c1b6accd8bf71208f786078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d
+8c85858b769185c88796878b3808fb4f078b70887a6cb508fb79f7cbfb228d89888b
+73058791898e1eb188967f957908fba6078b3880874e8785858b769185a98cae8ca9
+8ba98baf8aa98a91918ba085914e90808e8bde080e6b81acf832ac01b0e2f7d0e203
+f848f91715f7210afb189115f7220a6dfb6815f9140af791fb5e15f9150a0e3784ae
+6dacf746a8f755ac12f704daf730e2133cf795f93215d60ae5fbd815f92c0afb30fb
+7415f9160a13bcf9170a137cf9180a0e3784ae6dacf746a8f755acf7507712f704da
+f730e2133ef763f89115f7030af720fb3715f92c0afb30fb7415f9160a13bef9170a
+137ef9180a0efb4b7fac8a76f84aac12bcab75d0f732d95ba61320f77bf93215d60a
+f700fb7215728b71a13a8b0813acf92d0a1374f91a0a13acf91b0a13aaf92b0a0efb
+4bfb5ca8d6abdf76f84aac12bcab75d0f1c985d95ba613f200f7592b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff00148000c2ff000280008b0513f500e4c4ff0036e666ff0056199a1f
+8bd9ffffa5199aff002ce666ffffcfe666ff0017199a59a35cff001880008bff002a
+80008bb6a7a7bf8b0813f480bc8bb76a9a4b9488948b94908da8ffffff8000b2ffff
+fa8000b1728b71a13a8b458b3d638b398b42d964b4780813f900cc6db6748b528b51
+706f508b538b5eab79e47eff00028000fffff6e666ffffff4ccdfffff6199afffffc
+3333ff00024cccffffb98000ff0001b334ffffd98000926b968f958d978b08ff000f
+b3338bff00166667fffff48000ff00328000fffffbe66608ffffdc6666ffffaa999a
+9185059b90958c9e8b080efb4b7fac8a76f84aacf7497712bcab75d0f732d95ba613
+30f73df89015f7030af73e4f15728b71a13a8b0813b6f92d0a137af91a0a13b6f91b
+0a13b5f92b0a0e49fb5ca8d6abc9acf81fad957712aea6f737da83c9f702a613f580
+f79b2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908a4ff0042e66605a8ffffffb334ff001f4cccffff
+ff3333ff001db334ffffff333391918ba085910813f6804e8f808f8bde08f79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b3340813ee80f91e0a13f680f91f0a13ee80f9200a13f6809fd3969f
+cc8b08a306aa977f641ffb91078b3880884e8685858b769185ff00206666ff0000e6
+66ff00233334ff0000e667ff001f6666ff0000333308632b9185059b90958c9e8b08
+0e4989acf756b2f736ad957712aea6f737daf738a613eef7c4f70e15f2d60797949a
+96908893821f37f70206b0959aab1ea506ca8b98779f43ff000a3334fffffde666ff
+00093332ff00006666ff0007999aff0004b3340813def91e0a13eef91f0a13def920
+0a13ee9fd3969fcc8b08a306aa977f641ffb03480782817c81858e83931fd624068b
+3880884e8685858b769185b08cff002880008cff002280008bff002280008bff0027
+80008ab08a91918ba08591084e8f808f8bde080e7881b4f822acb8abf5ab01f3da9c
+b3ebb3c6ba03f7b4f91915ba0a335615da0af77ffb9215f9220a0e7881b4f822ac01
+f3daf790ba03f870f91715f7210afb189115f7220ae6fbcb15f9220a0efb228babf8
+1caf957712bba51390f791f93615d60a13d028fb6a1513b0f9240a13d0f9250a0efb
+228babf81caf9577ecef12bba5f705ef139cf74ff8eb15850a13dc6afb1f1513bcf9
+240a13dcf9250a0efb228babf81caf9577f7627712bba51398f767f89515f7030a13
+d852561513b8f9240a13d8f9250a0efb388badf7e59cb4ac9bd301f704daf738b703
+f7e7f8ba15f7040ab3fcba15f9130a0e4989acf81fad9577f75d7712aea6f737daf7
+38a6139ef78bf89015f7030ac4fc1615f7900713deb0959aab1ea506ca8b98779f43
+ff000a3334fffffde666ff00093332ff00006666ff0007999aff0004b3340813bef9
+1e0a13def91f0a13bef9200a13de9fd3969fcc8b08a306aa977f641ffb91078b3880
+884e8685858b769185b08cff002880008cff002280008bff002280008bff00278000
+8ab08a91918ba085914e8f808f8bde080e49fb76a3daddb2acf81fad957712aea6f7
+37da75b2f727a613e580f7976215f7160a13f680b8f73715f91d0a13ee80f91e0a13
+f680f91f0a13ee80f9200a13f680f9210a0efb4bfb76a3dadda8ac8a76f84aac12bc
+ab75d0e5b2a8d95ba613eb80f7e7f85415f9190a13dd80f91a0a13eb80f91b0a13eb
+40f91c0afb24fc7d15f7160a0efbb089acf822ace0ef12f4ef32da13f0f4f8eb1585
+0a13e8e5fb9915f9110a0e957fc1f7acb6e476f0b201b5d192c2f764a6c0b303f83c
+f7d615a19b7c73434afb3dfb19fb1776f4cabfb7c7bb1ff6069a989b999287917f1f
+2d066679a8bda9a1c7d41fc98bb159985808a6900585ad84bf8ba7728b6ca0618bfb
+098b4d3c8b4a8b6f9272a26d566355468b428bfb00dc47f70f8b08f7158bf704dc9a
+f79108ca069a989b999287917f1ffb21067c7e7b7e838f85971f0e3289a8f73fabf7
+5baa01f737f7511590949a8ba68b08e506a68b95898d81089ffb0505ff00054cccff
+ffe03333fffffd6668fffff8cccdffffd64ccc8508848a05878a89898b88088b768d
+89058bcb8da7a9ce898b1e8d8d8ba0058b8e88ff0002b33387ff00004ccd688e7b91
+82b60847f7d805879efffffdccccff0007b334ff00383334ff00044ccc8eff000033
+348dff0002cccc8b8e088b9f8a8d05568a418a5e8b5d8b6c8c6b8c0888898b770587
+8e89911eac8a94878b788b6b2bfb997758806f7b83708887ffffff999a86fffffb66
+668b88088b788d89058bc38da7aabc898b1e8d8d8ba0058b8e888d878c087f8d056d
+90fffff8b333ff00048000ff0003cccdff001080008b8bff001acccdff0062e666ff
+000db333ff0023199a08e6f78415a18bff00108000fffff76666ff00078000ffffdd
+999a08a3fb14058f767c84798b0838066f838d941f8b8badf70798b392a091979d8b
+080efbb3f782a2f700a5f766a501a8c1f711bc03f764f83b15f8e30aa9ca15727305
+7c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75fffff56666ffff
+fc4cccfffff1999afffffeb33408808a0588ffffffb33489ffffff4ccc8b87087907
+8bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05ffffe7e666
+ff00038000ffffff199aff000380008b9f08f7e70791898e881e878b85868788080e
+ff017ee666ff0070b33401ffff596666ff006e999a03ffff92cccdff01ef999a15ff
+fffd3334ff0000b332fffffbcccdff0000b334fffffc80008bffffe833338bffffef
+e666fffff4199afffffa6667fffffbcccc08fffffe9999fffff84cceff004fcccdff
+ffb3b33205ff000b3332fffff58000ff0004e667fffffc8000ff000433338bff0005
+999a8bff0004e666ff000433348bff000380008bff0004e666ffffff4ccdff0004e6
+66fffffc800092080eff017f999af70401ffff58b333ff006d333403ffff95999aff
+01ef999a15ffffcb199affffacb33205fffffa4ccc82fffffdb333fffffd33348bff
+fff833348bfffffb1998ff0004e667fffffbccceff0004e6668bff0004e6668bff00
+05999aff0002ccccff000a8000ff000a800008ff00508000ff004c4ccefffffde666
+ff0007b33205ffffefe667ff000f6666ffffee1999ff0000b334fffffb80008bffff
+fc80008bfffffbcccdffffff4cccfffffde667ffffff4cce080eff0183ccccff006d
+e66801ffff45cccdff00b0666603ffffa9e666ff01f1b33415fffff87ffeff000219
+98fffff8999affffff8000fffff88000fffffe6668ffffebb333ffffdfccccffffdf
+cccdffffda3334ffffe6cccd6fff00043333fffff9b332ff0004e666fffffbccceff
+00064ccdfffffe9998ff001b4ccdff000f6668ff0017199aff00144cccff00166666
+ff00166666a0ffffea4cceff00188000ffffec6666ff001a999affffef3332ff0006
+9999ff00014cce91ff0005b332ff00038000ff0004e66808ffffe6cccda7ffffe133
+33ff00251998ffffebb333ff0020e668080eff018d999aff0025199afffffe9998ff
+0026800012ffffe6199aff0012e66613a0ffffc53334ff01b2b33415fffff2b3328b
+fffff4199aff0004e666fffff4cccdff000866660813607dff0009ccccfffff09999
+99768bffffe1e6678bffffefe666ffffe4b334fffff63333ffffd6b334ff00043334
+fffffbcccc92ffffff4cccff0007b333ff0001666892ff0017199892ff000a8000ff
+001233338bff000be6668bff000d4ccdfffffa6668ff000c999afffff84ccc0813a0
+ff000eb333fffff63334ff000eb333fffff36666ff000f66678bff002033338bff00
+144ccdff001b4cccff00086666b5fffffbcccdff0002ccce84ff00021998fffff84c
+cdffffff4cce08fffff63333ffffe2999afffff84ccd84fffff0999a8b080eff0176
+8000ae01ffff10999aff00b6b33303ffffb68000ff0176800015ff0009199aff0007
+b333ff000eb334ff00086666ff00043332fffffd3333ff0007b334841fffff628000
+06fffff84ccdfffff84ccd7dfffff7999afffffb199aff0002ccccfffff84cccff00
+064ccd1f0efb9f89acf7fbb2f77fad01ebda03f743f84115c4078bcefffffc8000ff
+00328000ff00078000ff0016800093a3ff0015800099ff000f80008ba78b997a976e
+ff00073334ffffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a
+08779a6d94658b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f
+1ed0fba0068b388087558785858b769185ac8cff002380008cff002480008bff0024
+999a8bff002b66668ab18a91918ba08591478f808f8bde08f7a0e80794998f941f9f
+078f888d861e0e8b89acf7fbb2f774a77aad12e5daf75edaf703d713eef811f8c815
+82678affffd94ccc8bffffebb3340863fb5e94078bcf91ae919ea1dbb7989b8b978b
+93899c819a82927b917d94779677a38b088e8b8f8c8d8c08d0fc4e15f7a0ee079699
+8f941f9f078f888d861efb08c4068bce8ebd93a20813de93a39e999b8ba98b997a98
+6e937a9780a08b9f8b9a9a8ba08b9b819c769a769a6b94638b086c8b657b726b8685
+868487840813ee7ca15ea83b8b6f8b7284757f426370448bfb0e085b0678867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ac8cff0023b3338cff0024
+4ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d8f7e8f8bde08f7a0f75e
+fba0078b3880875f8785858b769185a88cff001fb3348cff00224ccc8bab8bb68ab6
+8a91918ba08591478f808f8bde080ef489acf766b5f80b779feb12f760ebf72beb13
+dcf760f95615b60af78b16b70afb55fc3b15f92e0afbb3fb6015c4f72505ff000566
+66ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffffd7999aff
+00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8b20513ec
+fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0e668
+ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc80008389
+8b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05704e
+ffffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a91918ba0
+8591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334080e
+ef89acf766b5f80b77dc7601f791f7af15f92f0afbadfb6015f9300af799f97915b1
+0a0eef89acf766b5f80b77d47601f791f7af15f92f0afbadfb6015f9300af771f96d
+15b20a0eef89acf766b5f80b77c3c089c212f869a613e4f791f7af15f92f0afbadfb
+6015f9300a13f4f79ef93015b30a13ecb40a13f4b50a0ef489acf766b5f80b779feb
+12f750ebf721eb13dcf750f95615b60af78116b70afb40fc3b15f92f0afbadfb6015
+c4f72505ff00056666ff000dcccdff0003999aff000333339b8b08f76b8bc8fb3d05
+ff000ee668ffffd6cccdffffd6b332ff00039999ffffd06666fffffc999a85858b76
+9185b08cc28cb28bb48bb48ab08a91918ba08591ffffd93334ff00038000ffffdf4c
+cc8bffffed8000ff0033800008fb61f8b20513ecfffff8b334ff00134cccfffffe4c
+ccff000ab334858b858a7d7e7d86fffff2999afffffb3334fffff8b332ffffff3334
+ffffeeb334fffffc9998898a8b898b899284927c907dffffe5ccccffffcae668ff00
+0c6668ff001ae664ffff921999ffff0d333408ffffa1b333fb6e05ffffe54ccdffff
+c24cccffffe23333fffff9b334ffffd480008885858b769185b08c988cb28bb48bbd
+8ab08a91918ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666
+ff00273334080ef489acf766b5f80b7701f796f7af15f92e0afbb3fb6015c4f72505
+ff00056666ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffff
+d7999aff00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48a
+b08a91918ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0
+e668ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc8000
+83898b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05
+704effffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a9191
+8ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334
+080e7784a676a8f793b1f7c4a812dadcf779dc133cf7c2f90515ae8ba789a38508fb
+bc5807418b5b9c73ae77a77fad8bb608f70adca8c81e96a8154c8b45865a5d68697a
+638b598b54a35db965a279c673b1874274745d77600813bc5f29664b538b08877705
+95879d889a8be68bb8e1a8d6afe9b2aee98b08fb6707137c6c7c7e631e710613bc87
+8788861f8b7805137c8d89058be28db2aee9898b1e8d8d0513bc9e07137c90888e86
+1e7006627e9ba71ff88a07a78f9ca51e918baa8805908d8e8f1f9d07838d4496fb2c
+8b080ef7be9676f906a901f7e59715f703f82cf72bfc2c05907d9483998b998b8e93
+8f9808f73ef8c80596ac8f96a88b089f068c948b931f9e078b558a6b614d8c8b1e77
+07888c87901eb2069f93887d1f8b858b7f87810821fbf66d286fe1fb23f801058698
+88948b91089a928da01ea8068f8e8d901fa1078b468a5a63448c8b1e7607868d8892
+1e9f06b18b9f79937008af313cfbb4763867eefb1ff7fe05889687938b9208989390
+9e1eb1068e8f8d921fa0078b3b8a58654f8c8b1e7507868e88921ea006ac8b957e95
+6a08f76afcc205907c93849a8b998b95948f98080e949476f908a801f87cf8d215fb
+0afbfd6c336be6fb21f7f805889489928b91089a9692ae1ea506908e8e911f8b9d89
+8d058b328868643d8e8b1e89898b7905858f888f1e9806b28b9a7c956e08f772fcc5
+05917d9382968b958b9594909908f74bf8c70597ab9997ac8b089a06908e8e901f8b
+9e898d058b53886764588e8b1e89898b7805868f888f1e9406a89b8a791f8b858983
+8780080ea960a49ba8f7bbb4f793a701f5dc03f7f2f72915f5fb24c15ef703880894
+a40555a339dd5fc808fb35f76cf759f75405a8a6b1adb48b089d06908e8e901f8b9e
+898c058b468a68643c8c8b1e898a8b7805868e88901eab069b9185821f8b7b787279
+7a08fb2efb260578786f7a6c8b08f76707a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e
+7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e710663
+7c99aa1ff78e07ae8b997f9677080e8d20b5caacf798adf7b9ad01f3e0f776e703f7
+a9f8fe15c8d875fb0afb113a6f2a1f5bf77906a89caed21e33fc8415f73d07df8bff
+0022999afffff2199aff00086666ffffe7e66608ff00298000ffff89800005ff0049
+999affff2db333ff00606666ffffe0cccdff003e80008ba58bbaff00048000a8ff00
+0d8000ff00038000ff0006e666ffffff8000ff0009199a8793ffff988000ff000280
+00ffffbbb334ffffffcccdffffab4cccff00d8333308ffffc38000ff009a800005b6
+99e5bf8bf48bbd7ab467ad5bb8488e4c8b5c8b5c84678b688b5c8c5c8c85858b7691
+8508d1889c868b3808fc25078b387a86458885858b769185b88cff002e80008cff00
+2680008bff0025999a8bff002f66668ab78a91918ba08591458e7a908bde080efb49
+fb5caef86da4f7b0b401f7a3d603f7f4f926156a7e64711f5da053b75f8b08336e56
+63779468ae9d95929b1f8bad63948b9b8b979798a08bbf8bcd46c18b928b908c8f8e
+088c8705754388728a26088b7ffb13848d77f70f828b29058b6f8d398b758d318051
+75657564757f6e8b628ba3cb4a8b087383787c66c16fbff702d8edf7841f8bf739bf
+908aa4056a8e7e8d88a188a089dd8bc808af07a29da7a38ba20898839f691e0e5efb
+82d0f8b8ca01f764bdaab2f70dbc03f886f81715aa70a36a72777e6e1e8b729f7898
+86988495838b768b514d3243fb0779f71e6fd468ed7aba7bac4b8b4c8b6848795808
+a782059bae9fa8a48b9c8b9983957ac52cb730acfb25574571518b5c086e9652b3c7
+94f716ae1e8ba78aa885a9f70df73ec3f7108bda08fb65fc32157707277e75838785
+909e1e8ba492bfa3b4080e5efb7fb2f8c6d74dc912f75bb2b6c01398ff00ffcccd83
+159dffffbbcccdff00073334ffffd1b3338bffffe28000087185797d827da7b31e8b
+ff0034b3338bff000f4ccdff0011cccdbf08ff00164ccdf72915ffffe08000ff0061
+6666ffffd71999ff00613334ffffd84ccdff005d66660813b887938690808b6b8b84
+753f7c08906d059c8f948c968b9b8b9b889b6aff00288000ffffa9999aff002f3333
+ffff8f4cccff00203333ffff9a8000ffffda8000ffff9a4ccefffffb999affffdf4c
+cc8b5f086d9a45b3c79fbecb1e8ba480cb7ccefffffb6666ff0012e666fffffae666
+9efffffa80009eff0020199ae1b3ff0065ccceff0025199aff00364ccc999f999a9f
+8b0813d8978b90879f8b089d9a9e9ca3779b6f1f738b70816142ffffdb8000ffffc0
+ccccffffdb199affffaa4cceffffe48000ffffbae666080ef09476f832a801f820f8
+0f15859d84947b8b808bffffe78000ffffeee666fffff48000ffffdf199a082efb9f
+3ff79f05889589948b92089798939e1e9a06908f8e901f8b9d898e058b52895c5f61
+8d8b1e89898b7705869289901ea98b9c73976408f3fbdf05ff0004b333fffff0e666
+ff000a4ccdfffffb199a948b958b9291919b08f706f7ccf6fbce05907c9586958b94
+8bff0005b334ff0003cccdff00054cccff0011333308f1f7e00599baaa99a48b0891
+928d911f8b9e8a8d058b638968664e8d8b1e88898b7705888f87901e9806ab977f79
+1f8b84898489840840fb97050ef09476f832a801f820f7d81583a17f9c7b8b808b7e
+807e690834fb7936f79f05889589948b92089798939e1e9a06908f8e901f8b9d898e
+058b52895c5f618d8b1e89898b7705869289901ea98b9882986408f709fbee05907c
+9586948b958b9191929b08f1f7a0eefba205917d9585948b948b938f919c08f706f7
+e6059bbaa693a48b0891928d911f8b9e8a8d058b638968664e8d8b1e88898b770588
+8f87901e9806ab977f791f8b84898489840836fb97050ef7bb9476f90aa701f868f8
+bb15718b78717a5608fb03fbfdfb1bf86105889688938b92089893929d1ea106918d
+8e901f8b9d898d058b498a5965578c8b1e89898b7805879088921e9806a78b9e6d93
+7108f739fcba05907b9883988b998b96958f9908f70bf817058f9890978f8b8f8b91
+7e8f7c08f0fc1405907a9784998b988b9593909a08f74ff8c10598b2b196a88b088c
+068c968b931f8b9e898c058b4d8a6b62528c8b1e88898b7805888f878f1ea506a292
+807c1f8b848a83888308fb2dfc6020f8290584a78294818b080e2cfb6a76f902a3a0
+7701f778dff713bc03f87cf81c15aa70a36a72777e6e1e8b719f799885988595838b
+768b704afb2b412483dc75ed70d166ee73b84a8b728b7582727f088f7305a392a78a
+9b849f829882af30aa3aa9fb10963a766082518b6e08618e55a3b09fe6af1e8ba68a
+b287b5f725f75caff18be5080e26fb7fb2f8d4c901f74cb3b5c003f78a6e15f7c90a
+4d2115619e51b8c697becb1e8ba481cb7bce899588958995949f95a0959f08f3f761
+05a1b49da8a7ad08868d0574847e897d8b838b6d8e808f88707f627e6970426c3c71
+4a6bf55ef460f0879387907f8b086c8b84753e7c08906d059c8f948c968b9c8b9b88
+9a6ab630bdfb0dab2208704c057e6c84678b6b080e5efb7fadf8d0c8957712f755b3
+c0bbdac313bcff01053334ff0005333315ffffc0ffffffffa2ccccfffffacccdffff
+d9999a8bffffd46666086ea067b3c2a4bbce1e8bff001d6666fffff5e666ff003266
+67fffff38000ff003bcccdff00694cceff009ae666ff00344cccff0085cccc8bff00
+49b33408ac72a663737b80761e8b79957a9f809b828e788b768bffffcc3334ffffd1
+ccccffff9c4cccffffbe8000ffff9c3333ffffe06668ff0078199affffc31999ff00
+744ccdffffbc3333ff0076e6660813dc87938790808b708b84753e7c08906e059c8e
+948d968b9c8b9b859f6cc633c9fb05aafb0808ff0001199a87ff0001199afffffc19
+9a8cfffffc199908ff000a9998ffffd4666615ff000b6668ffffcbccccff0002cccc
+ffffdb999a8b72087180747d7486a19b1e8bff00216666ff0009999ab6ff001d3332
+ff00303334080e3afb7faff751baf7fdac01e3daf758da03f8049c158b45fffffb80
+004a7264ffffee999affffe4e666ffffdbe666fffff1199a638b6f8bfffff080009d
+fffff080009bfffff1b333ff000ecccdfffffa4ccdff000d3333718b08807374795f
+e97eb41fdf8bff001c8000ff001c8000ff001d8000ff00228000ff001bccccff0020
+8000ff002033349a8bff00e1800008f77107a98fd48b1e8e888e861e868a7c8a7c8b
+6b8b6a8c668c85858b769185bc88987f8b4908fb55078b7889837d7f666b657b728b
+086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b8b6a8c668c85858b
+769185bb8799808b4a08fb540746a948ee1eb28bba9fbcb3908f908d8d848e828c7f
+8b80080ef489acf766b5f80b7701f791f7af15f92f0afbadfb6015f9300a0ea7f86c
+a4f702e801ff00484ccdb2ff0094ffffb2f72bb203ff02044cccf950156371644f1f
+8b45c75bc780ff0006ccccff0005e666ff0001999cff00093334fffffc9998ff0009
+e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e
+fb528e156371644f1f8b45c75bc780ff0006ccceff0005e666ff0001999aff000933
+34fffffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff00
+1f800008a775a06c1effff4400018615f8940a0eb8f86aa3f703e801f730b2f729b2
+f729b2031438f88df94e15290afb5016290afb5016290a0eefa2abf889ab01adb3f8
+82b303f7d5a215960af8a904970a0ef7387db0f8dfaf01bdb0f8deaf03f8107d15f7
+4af727f728f74af74bfb27f727fb4afb4afb28fb27fb4bfb49f727fb29f74b1ff904
+04f736f717fb17fb37fb37fb17fb16fb36fb37fb16f718f735f737f716f717f7371f
+0e9b7fa6a8a6a5a6a6a6a5a6a6a6aba6aaa6d2a6b5a6bda601d4abf713abf786ab03
+f4f86d15f733f726f786fcf0fc2506f713f8d9152b2207f734cf1571f742a507fb4b
+fc851570bfa60785c015f9310afbd516f9310ab6c115f9310afbd516f9310ab6c015
+f9310afbd516f9310ab6c115f9310afbd516f9310ab6c615f9310afbd516f9310ab6
+c515f9310afbd516f9310a70f78815fb49fb348bfc86f8658b8bf926050ef7847fa6
+f7c7a6f70ba601d4abf713abf867ab03f700f7d615f730f71d069494f85e8b8bfc59
+fd068b8bf7c405f713f70515382e079a5215807297068c06978a927c93818e878f88
+908b088c068c8c918d8c8c8d8d9492949208a28c89a4708905888b898a8989087d7f
+0581998497738e08f7445d1591a38a066dae8b8c8b9a088f078c91a4aeae8e088c06
+928b9f84958592889185a38b9f8b8995a18b089006b689a5758c74856f636f6a8b08
+868b8973058d8b8d8a8e8bb48bc1ad94b6088e078bb561a7578d088506708b898280
+8b7a8b878e878e809174947c8b0888065d876a60877c088b868b86058b748d87b15f
+8d888e8a8f8b08f7c8f73415969495969695818080818280808294961e7616759e78
+a1a29d9ea1a2799d74757879741efc50fbd6155b978673bb7f8e8b05908b958a8f8a
+8c8b8d8a8e8a08a906918baa95959c9194a3a0bc8b978b988a9a889389948a978a08
+87078b828b82898208a487058c968c958b95088e07908c8c8b8f8c908d8d8c958f8c
+8cac989999aaa8a1a3be8b8f8c9d90a48b08b38490a36293888b8a8b057076858b1f
+508a706f6a6c8485767f7e868287888a878908888b8a8b0588a585a482a4089ab605
+8f948c8d94968e8f969da89b8c8b8c8c8c8c088f8e799d8988056a787b748b8a7f7c
+8988878008867b057dab7caa7ea908748105a456b0449446828b848c848d7b8e7c8d
+7e8b518b6c70817c868375838b8b0883067e8b8a8c868b8a8b898c8a8b878c868b7e
+8c08e3f82f15fb52fb3d8bfbe6f9468b8bf88f050ef71b8babf707a6efab7ba6cda6
+a2aa12b0a5efa585a5dba5efa5efa5efa513de78f84df74215f708effb0807fb1216
+27f708ef06f790fb081527f708ef0627fb9615f707effb0707fb7616f707effb0707
+fb121627f707ef0613cf78fb76fb0715f707effb0707fb121627f707ef0613eef89f
+f79c15222a07f7f7f315fb0f70f70f0613ef78fbaafb1d154327ef0713eef8f726f7
+33f85e0613df78fb0827a9716d27a9716d27ab716b5a7007bcfb0827d306fb2cb115
+fbb0f924f864fc85070ef71b8bab989cd49d819cc09d8c9da3aba8a6d2aa12b0a5a3
+a9b69e8fa59faab59ec0a6a8a6a8a6a8a6a9a5b5a513cffff8f74bf82f15222a07aa
+fb1015a096a89c929388791e13dffff8767c6d7b858593991ee9bc15848b7d8b7596
+888f7f8f808b086a756a6d769974a3ad9fb0ac1f8b8f8b8d8a8e93879786958b968b
+9b8f9a9108fb0bfb3d9f80f720f7577798057b7a70887a8b089dfb2215769a74a3ac
+9faeaf1e13effff8a977927b67776a6c1eaa8715a098a89a9094897877816b768586
+94991ef716f7a915fb0f70f70f067bfb1915fb3efbcbf786f726f733f85efc2561f7
+5e71fb5e6df7b570fbb5076ef7cf70fbcf6ef78570fb856ef73e06fc00dd15fbb0f9
+24f864fc85070e4281b0f8e4b201c5e5f776e503f79bf8ff159d8b9d859780ab6faa
+3c8bfb228b2a873c7c5573345782788b08287ef754e7f799cebabb1f87fd0915ddf7
+0fe8f78d1f8bf472e55cc96bb75aa45b8b228b27fb138bfb658bfb02ff00228000ff
+ff8a999aff0037e666ffffc5b332aaffffdfb334ff0024cccd7dff002acccd8b080e
+fb5989acf9077701f751e003f7a6f71915f806078bce8ccf8d9a8b90888b878b4d65
+536f285d8d7e8f819584bea0a592a08b089d8f70651ffbee078b2e78853d8884848b
+789284c28cff0020cccd8cff003833338bff003566668bff001b999a8ac38a92928b
+9e84923d8e76918be8080efb028bcef83876f72fb012c6d8f75de66fa913f8c6f88f
+15759f78a49da296a81e8b9488938993899389938b9408a69eb1d8b1ce71251e8b47
+73544c4b083c3d052321784e8b4c088bc28dad1ef74c06adbc898b1f13f498c397dc
+8caa84917e8b81897940786f658b08fb50068bbdd3e0919108f5f20513f8c7c5baba
+8bdc08f70624ba351efb0a4d344b1f0e2481b0f7c9adf78fb012bbd8f755db56e713
+f8f776f90115bab872491f8b574b2e2c7c089069059d8d998b988b0813f4c7d778fb
+0cfb212b6c661f558b81a37f9e819a7c97768b087574777a60e470cbf713f704dff7
+201f8bf70839b74c95088a8d0513f8f0cb91c68baf08b863cffb01fb305e25687c95
+76a5a996ae9f1ecfd498a71e0e4589acf72fbdf83a7701f7b8dd03f7b8f8b715fbcb
+fb6207c2e4d8f70cd5f108f740fbcb1531f7cf068bc18cb68d9308888d698b05838b
+868487864737fb12fb4528fb2e8e7b926eab8b08f77025068b59628b5d8885858b76
+9185ae8cb58cbd8bb68bb38aae8a91918ba08591568f74898bbe08f1d6079a9b9f98
+9687917f1f0efb0981b0f7eebff72cd14ece12f7e4e713d8f7e4f767152654384b1e
+638b7da57ba07e9d789c758b08777778765fe668c7f717e8f700f719f245e6fb0b1f
+5d8b6383788308a1f7450513e8b287ae86bd8baa8baf8cb78f089cd4848e054f8450
+87538b0813d8648b678e668e0867fbc605c3a0b290b18b08d0c35cfb071f0e2781b0
+f7dcb0f783a601b7e0f780e003ff0088999aff0140cccc15ff00271999ff00208000
+ff002a999aff0001b334ff0014b3338b08f3a12056fb085d57574844aef7491f8bff
+00164cccff00023333ff001a999aff00056667ff001ce66608ff0009ccccff0029b3
+3415ff001c4ccdff0064b334cfff00728000ff008f4ccdff00354ccc8b9788948291
+fb006c4a5e5046493f6b208b3708fb6bf71562ddf71fc3f719e6e65ee2fb241effff
+df80008bffffce6666fffff58000ffffdf800078080efb159376f8e3d0967712b3ad
+bcdc13d8f73bf8d615f7570638fb6237fb6e43fb35089385d48e05c7f748c0f74ff7
+0bf7b50813b87a970513d879857386638b08fb6e06678b8e96778f0813b8888a8a88
+1f8a597f4b825408ad8805a3e0ae92ad8b080e3081aaf8f6a612bed064d4f75dcd60
+d513e4f78aa0155b3db5ea1f8baaa0dce5c908be6d05ce63a8508b59082137715b1e
+92f8f61513d8d0ac535a1f8b524f586e76086b9f0547b77fb28bab08bcaebdcb1ef7
+3c2115d752c423fb01454b391e8b50ff001b3333ffffcfe666ff0042cccdffffdb19
+9a08a87b057077697c6f730813e4606576538b6208fb01dc50f704f71fd0f2dc1e8b
+c9ffffe56666ff003a999affffc8999aff002366660843b905b9aad8bd8bcf080e27
+80a6f78db0f7d3b001b7e0f780e003ff01676666f7e615ffffd86666ffffdde666ff
+ffd43334fffffe199a768b082375f6c0f708b9b6bfced267fb491f8bffffecccccff
+fffe4cccffffe9999afffffc199affffe7999a08fffff76666ffffd6800015ffffe5
+ccceffff98999affffbc4cccffff864cccffff6b199affffc8999a8b7f8e829485f7
+00aaccb7c6d0cdd7abf7008bdf08f76bfb15b539fb1f53fb103030b834f7241eff00
+21999a8bff0033ccccff000b4cccff00206666ff00143334080efb1681aef80fae01
+abe3f772e203f77af82815dfa743fb05fb05753a31396fdcf705f70ab1ced31fae04
+fb013232fb17fb27e139f704f708dedef726f71e42ddfb121f0efb1689acf7e6aab5
+7701f76ad803f76af70e158b387086458885858b769185bc8cff0023cccd8cff0036
+33338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde08f75b07c7
+8ebe8b1e93868d821e5a7b61833779ff00014ccdfffff46666ff00039999fffff580
+00ff0007199afffff7199aa88ea58ea18b089b8f80571f0efb168bc2f7e8b701c8ad
+f754e403f7bac215f8ff0a0efb16fb49aef7b3abf77bae12bcd4ff00b2199aff004e
+3332ffffccb334e313f8f76df82815300a13f4310a13f8f9000a0efb16fb42acf721
+baf81b7701f79ed703f79ef7e315fbb4fb4907abe0dbff006ccccdd0ff005e333308
+f729fbb41542f7b8068bbdff00004cccff00273334ff0001b334ff0007cccc08898d
+6b8b05848bfffffae666fffff96666fffffc199afffffb999a473efb18fb364efb26
+8e7c9170a98b08f7562f068b5d658b608885858b769185ab8cb38cb98bff00276666
+8bff001b999a8aab8a91918ba085915a8f80898bba08e7c607999a9e97958791801f
+0efb16fb4baef7d1bdf722ce4ed312f7d2e413e8f7d29c15350a13d8360a13e8370a
+0efb1680aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff0009199aff
+00244ccc15390a0efb16f800cc997712c6ab13a0f746f80015f9010a1360f9020a0e
+fb1681aef8baae12b9ce61d2f749d15cd413d8f77ef8d3153d0af73331153e0a13e4
+3f0afb3bfc6015400a0efb16fb4ba5f770aef7c6ae01b2def767de03ff0144ccccf7
+0d15f9030afffff6e668ffffdbb33315f9040a0efc3322b6f954b701f4b7fa40b703
+f729f91615fa40fd54fe40065ff98015fdabfa98f9ab070efc3322b6f954b701f4b7
+fa40b703fa6ef91615c4b95c531ffcedfe40f8ed07c3babac31ef972b715fd72063a
+49493a1ffd18fa98f91807dc49cd3a1e0efc3322b6f954b701f4b7fa40b703fa6e4d
+15fd7206535cbac41ff88507c3babac31ef97206c4b95c531ffc8507525d5c521e60
+04dccdccdd1ff88507dc49cd3a1efd72063a49493a1ffc850739cd4adc1e0efc41f7
+73c701b3f79603f7a3f773152a0a0ef8375fa0ff00a4b333ff00154ccdf738a0f7b5
+a001f799a0f787a003b393158b78968b9687db72ce87cb8bac8bab8eac90ff00d966
+68ff00238000ff00bc4cccff008ae666ff00614cccff00c56666ff003c8000ff007a
+b334ff00098000ff007966688bff001a19988b9c808c808f083ea34191598bffff27
+b3348bffff331998ffff973334ffff803334ffff534cccffffa6199affff868000ff
+ffd5e666ffff68b3338bffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb
+4a154c8b4c944e9dff00138000ff000e6666ff00a0199aff006e3334ff00146666ff
+000d199908f83dff00004ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f7
+14b208fb9c07f759fb4815fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffff
+c16668ffffbc6667fffff01998fffff56666088af86e15cb8bca82c87808fbfffb8f
+8bf79305be98c196d18b08fb2bfbb515f7f4f7880584417b396033080e1c057eff07
+059998ff025b4ccc15ff00013338ff00064cccff0004e66091ff000a99a0fffffd33
+34ff0006e660fffffe3334ff000819a0fffff6b334ff00023330fffffa333408ffff
+cb9998ff004ae66415ffffe21998fffff780007bffffefe668fffff04cd0ffffe7cc
+ccfffff94cd0fffff599986fffffefb334ffffe4e660fffff1ccccffffccccd07084
+ffffbdccceff00048000ffffdc999aff00064cd0ffffceccccffffee1998ffffdc19
+9affffe919987dffffec8000fffff4199affffe31998fffffbb334fffffa1998ff00
+00b332ff000ce668ff001f4cce8fa9fffffd6668ff00254ccc087eff00623334ffff
+d08000ff003ae6644aff002de668fffff54cd0ff00079998fffff066608ffffff3cc
+d0fffffcccd0ff000bccd0fffff41998ff00048000fffff9ccccff00021998fffff7
+e6688b8bffffd53330ff00106664ffff946668fffffa3334ffff86b330fffff96668
+fffedfe66866ffff634cd0ffffc31998ff00431998ff00014cccff003c9998fffff1
+4cd087ffffe34ccc08ff0028999cff00021998ff00054cccfffff7cccefffffd8000
+fffffc4cccff00273334ff0009ccceff0047ccccff000e3332ff0051199895ff0050
+4cd0ff0009e666ff005c6668ff0002199cff004a1998fffffb3330fffff98000ff00
+07e668ff00128000ff000db334b1fffffb8000ff001b6668fffffcccccff00289998
+ffffe36666ff001a3330ffffd6999aff0014e668ffffdf199aff001b4cd0ffffae99
+9aff0004e660ffffd9199808ffffe719a0fffff6e66805fffffce660ff00038000ff
+fffe3338ff00038000ffffff3330ff00041998ffffff1998ff0004b334ff000e8000
+ff0001e666fffffee668ff00063334fffff81998ff002cb332ffffeae668ff003619
+9affffedb338ff001d6666fffff21998ff00164cce77ff0019999affffe59998ff00
+0d99987cff0007b334fffff63330ff00046668ffffe6b338fffffa8000ff000ee668
+fffffa9998ff00094cc8fffff9999aff0003ccd0fffff8b33208fffefbe668ff0019
+e668fffef7ccc8ffffc06666ffff4c4cd04dff0058ccccff0007ccccff004db334ff
+fff66666ffffe98000ffffc6b334deff001b199aff003ab330fffff8199affffff80
+00ffffbe6666ff00544cd0ff00183332ff003e3330fffff83334ff0015b338ffffd5
+b334ff00221998ff000b6666ff0011999889ff000a9998fffffb199affffd51998ff
+fff33332ffffc799a0ffffdc199affffdb1998ffffe6e66608ffffdb1998ffffe6e6
+67ffffd54ccc57ffffb13334fffff84ccdffffcd4cccfffffb1999ffffe1999cff00
+246667ffffd16664fffffbe666ffffd16668fffffbe666ffffcfe664ffffcfb3345f
+fffffb99995ffffffb999afffff7b334ff001eb3334efffffb33334efffffb3333ff
+ffc6b334ffffd0199a54825482ffffe1e666ff00126666ffffd8cccdff001bb33408
+ff00098000ff000ae666ff000a999aff00063333ff000ab333ff0005b333ffffcab3
+33ff00068000ffffd6199aff001e4ccdffffd63333ff001eb333ff0020b333ffffd5
+999aff001bcccdffffd0cccdff00178000ffffcc6666ff00026666ff000a4ccd8eff
+000a4cccff0008cccdff000b8000b8ffffdd4cceff002f4ccdffffe01999ff003519
+9aff0004b333ff0035199aff0004b334ff00189998ff00241999ff00314cceff0001
+199908ff00314cccff0001199aff0036b332ffffd0cccdff00343334ff00028000ff
+00343334ff00028000ff00109998ff00304ccdc1ff00018000c1ff00018000ff0037
+4cd0ffffca3333ff00491998ff0001b333ff00491998ff0001b334f70fff00466666
+ff001f1998ff0012999aff001f19a0ff00129999ff001d800093ff00159998ff0007
+199a08ff00344cc84ffffff533386805ffffe59998fffffb4cceffffe8ccd0fffff8
+9999fffff13330fffff18000ff00163330fffff96667ff0023b3388dff001fccc8ff
+ffff6666ff001a19a0fffffa999aff0015e660fffff5b333ff00164cd0fffff61999
+ff0002b330fffffb3334ffffff3338fffffb199affffff8000fffffb3332ff000666
+68ff00026667ff00061998ff00031999ff0003ccc8ff0006e667ffffefe668ff000d
+4ccdfffff18000ff000e1999ffffe88000ff0009999a08ff0027e668ffffffb333ff
+00063330ff00038000ff000219a0fffff380000593ff0005199aff00063330ff0005
+e666ff0004199892fffff99998ff0003e666fffff73338ff0002199afffff64cc8ff
+00014ccd08ffffdb4cd0ff00038000ff000d3330ff0007e66605ff0023b338ff0003
+e666ff001f4cc8fffffde666ff001e8000fffffccccc08ff0008b338fffff8199a05
+8eff0008199aff0001ccc8ff0008199afffffbe668ff0008b33208ffffc86668ff00
+063333ff002d9998ff0008999a95fffff7666605fffffe6668ff0008cccdff000333
+30ff0006e666fffff6ccd0ff000bb333fffff29998ffffff800071fffff8e667ffff
+f7ccd0fffffc199908ff000f6668ff0014199a05fffffc1998ff000ae666ffffd7e6
+68ff0023e667ffffef4cc8ff000a6666ff002de668a3ff0051e668ffffc4b333ff00
+418000ffffff8000ff00136668ffffffe667ff00189998ff0004e666ff000d666890
+ff00084cc8ffffed999aff00051998ffffea999992ffffdb4ccdfffff46668ffffed
+b333fffff5ccd0ffffec666782ffffebb333ff00009998fffff7cccdff00044cd0ff
+fffc8000ff0004ccc8fffffdcccd08ff00091998fffffeccccff0008b338ffffffcc
+cdff00083330ff0008666708fffff38000ff00084ccdff001a4cd0a5ff00333330ff
+fff2cccd05ff00039998fffff89999ff00024cd0fffff8b333ff00006668fffff899
+9aff00086668ff0003b333ff00079998ff00053333ffffff33309c08ffffe78000ff
+001cb333ff001d4cd0ff0009b33305ff00063330fffffcb334ff0003ccd0fffffb4c
+ccff0003e668fffffb3334ff00039998ff000a9999ff00021998ff000be667fffffe
+6668ff000f333308ffffca6668fffffa199aff0000b330ff0051666605ff0013e668
+ff0009ccceff000dccc8ff000c999993ff000d999aff002880008dff002719a0ff00
+15e666ff00149998ff0012666708ff0013b330fffff43333ffffe7ccd0ffffd7cccd
+0595fffff2e666ff000b4cc8fffff6999a95fffff9e66608fffff73338ff001ae666
+ff00298000ff0027cccdff00278000ff00014ccdff0005e668ff00053333ff0004cc
+c8ffffeb999a05ff000c1998ff0005ccce94ff0009b333fffffde668ff0018999908
+ffffc1e668fffffae66705ff0010e668ff00070001ff00154cc8ffffffb333ff000d
+e668ff0010800008ff00094cd0fffff5999a05ff00058000ff0008ccccff00026668
+ff000e8000fffff7e660998bffffff199a54ffffe1b333fffff46668ffffffcccdff
+fff88000ffffffe666fffff8b338ffffff66678b8bffffee8000ff000ecccdffffe6
+e660ff0014666678fffffe999a78fffffe999afffff9b338ffffdde666ffffdc3330
+fffff5e666ff0009ccd0ff0015199aff0000e668ff003c6666fffff2ccc8ff001ae6
+6608ffffed6668ff0025e666fffff23330ff004a6668ff000519a0ff001c4cccff00
+041998a2ff00129998ff00081998ff00124cd08dff000c1998ff00014cd0ff000e66
+68ff000099989bfffff233349afffff31998ff0018ccc8ffffe7ccceff000d4cd0ff
+fff1999a85ffffee9998ff0003e66876ff00116660fffff64cce8bff00006666ffff
+fde668a0ff00041998ff000a333408ff000cb338ff0002b33205ff00021998fffffa
+ccceff0003b330fffffbe666ff00036668fffffbccccff00059998fffffae666ff00
+01e668ff00006668fffffeb338ff0006ccccfffffeccc8ff0007e666fffffe9998ff
+0003b334ff000019a0ff00088000ff0009ccc8ff000a199aff00096668ff00091998
+ff00053330ff000accce08fffff999a0ff0005e66605fffffa1998ff00006666ffff
+fae6688886fffffccccefffff04cc8ff000b4ccc7aff000be666fffff89998ff000d
+199aff0006e668ff0004ccccff000c6668ff00028000ff000b3330fffffd3334ff00
+0b3338fffffd3334ff00153330ffffe53332ff000a6668fffff9999aff0005ccd0ff
+fffc6666ff00093330ffffff66668b8b08fffff9b330fffff54cce05ff001719a0ff
+0000999aff0011e660ff00076666ff000e19a0ff000b6666fffff0b330fffffd4ccc
+fffff24cd090fffff36660ff000a333408fffffbb3387f05fffffbe668ff00013334
+fffff9e660ff0000ccccfffffb6668ff0003999afffff0e668ff000be666fffff466
+68ff0013ccccffffef9998ff00054cccfffff26668ff00046668fffff0ccc8fffffd
+80008b8b08ff00043338ff00084ccc05ff000c19988e97ff0001199cff000a8000ff
+fffd4cccff000a8000fffffd4cccff0013b330fffffbcccc8b8bff00024cd0fffff5
+4ccc8efffffb6668ff0002e668fffffa3334ff000c8000ff00018000ff001c1998b8
+fffff0b330ff00093334fffff933388fffffb74cc8ff00069998fffff8ccd0ff000b
+e668fffffab330ff0008ccccfffff499a0ff00118000fffff01998ff0003b33408ff
+ffeb9998ff0004ccccfffff89998fffff43334fffff7e668ff00036664ff0003b330
+ff000d4cccff000519a0ff0004ccd0ff000d1998ff000b99988b8b81ff0000b33481
+fffffb800081fffffb8000ffffef6668ffffeecccc8b8b08fffffab330068b8bff00
+068000ff001b3334ff00141998ff0010999808ff00901998fffe7b999a158b070e1c
+056cff00c9e666ff025b4ccc15ffffde199afffff8999c05ff0002199aff0005cccc
+ff00083333ff00094cccff0006e666ff0001ccccff000a999aff0002ccccff0004cc
+cd85ff00014cccfffff9b33408ff00128000ff0043800015ff0014199affffef6668
+ff00068000ffffe4cccc8b8b08fffffab33306ffffffffff8bffffef6667ff001133
+3481ff0004800081ff0004800081ffffff4ccc8b8bff000d1999fffff46668ff0005
+199afffffb3330ff0003b333fffff2b334fffff7e666fffffc999cfffff8999aff00
+0bccccffffeb999afffffb3334fffff01999fffffc4cccfffff4b333ffffee8000ff
+fffa999afffff73334fffff8cccdfffff41998ffffb74ccdfffff96668fffff93332
+8708fffff0b334fffff6ccccff001c33335eff000c6667fffffe8000ff0002e666ff
+0005cccc8eff00049998ff00024ccdff000ab3348b8bff0013b333ff00043334ff00
+0a8000ff0002b334ff000a8000ff0002b33497fffffee664ff000c199a8808ff0004
+4cccfffff7b334058b8bfffff0b334ff00028000fffff26666fffffb9998ffffef99
+9afffffab334fffff46666ffffec3334fffff0e666fffff4199afffffb6667fffffc
+6666fffff9e666ffffff3334fffffbe667fffffecccc08fffffbb3349705fffff366
+67fffff5ccccfffff24ccd86fffff0b333ff0002b334ff000e1999fffff4999aff00
+11e667fffff8999aff0017199affffff666608fffff9b333ff000ab332058b8bff00
+093333ff0000999aff0005cccdff0003999aff000a6666ff00066666ff00153334ff
+001accceff000b3333ff0002ccccff000b3333ff0002ccccff000c6666fffffd8000
+ff0006e667fffffb3334fffff89999fffff2e666ffffeee667fffff4199afffff04c
+cdfffff4b33486ff00033332868efffffa1999ffffff999a08fffff9999afffffa19
+9a05ff00054ccefffff53332ff00094cccfffff6e668ff0009cccdfffff5e666ff00
+00199afffff78000fffffe9999fffffc4cccfffffecccdfffff8199afffffeb333ff
+fff93334ff0001e667ffffff9998ff00059999ff0005199aff00036667ff00043334
+ff0003b333ff0004199aff0002199aff0005333208ff000cb333fffffd4cce05ff00
+04199afffff5ccccfffffde667ffffea999a8b8bff00116666ff0009b332ff0003e6
+67a085ff00116668ff000d4cccff000e6666ff0018cccdff001833329aff000ce668
+9bff000dccccff000e6667ffffff6668ff000c199afffffeb330ff00124ccc89ff00
+128000fffff7e668ff0004333474ff00051998ffffe3b334fffff23334ffffb59998
+ffffed6666ffffda199a08fffff2ccceffffe5199aff0000e666ffffc3999aff0009
+ccccffffeae666ffffdc3334ff000a199afffff9b333ff0022199a78ff0001666678
+ff00016666ffffe6e666ffffeb999affffee8000fffff133338b8bfffff8b333ff00
+009999fffff88000ff0000199afffff46667ff00003333ffffc89999ff001e8001ff
+00006667ff0000b332fffff7e6667dff00026667fffff18000ff00058000fffff733
+3408ff00094ccdff000a666605ff000de667ffffef8000ff00154ccdff00004ccdff
+0010e6668408ffffc1e666ff0005199905fffffde667ffffe7666794fffff64ccdff
+000c1999fffffa333308ff0004ccccff00146666ff0005e666fffffacccdff002780
+00fffffeb333ff00298000ffffd83333fffff73333ffffe5199a05ff000a0001ff00
+06199aff000b4ccdff0009666695ff000d199a08ffffe7ccccff00283333ff0013b3
+34ff000bcccd05ff00149999ffffed9999ff00271999ffffea199aff002880008993
+fffff26666ff000dcccefffff36667ff0013e666fffff6333308ff0000b334ffffae
+999affffca6666ff0005e66605fffffe6666fffff0ccceff0002199afffff41999ff
+0003999afffff56667ff0003e666ff0004ccccff0003b332ff0004b334ff00063334
+ff00034ccc08ff001d6666fffff64ccdffffe78000ffffe34ccd05ffffff33347aff
+0007999afffffacccdff00086666fffffc4ccdff00006666ff00076666ff00024ccc
+ff00074ccdff0003999aff0007666608ff00333334ff000d3333ff001a4ccc71ffff
+f38000fffff7b33305ff00083334fffff79999ff0008b332ff00003333ff0009199a
+ff00013334ff0004ccceff00023333ff00044cccff00038000ff0000999aff000833
+3382ff00144ccdfffff5ccccff00139999fffff46666ff00124ccd92ff0024b33390
+ff00156667ff00086668ff00126666ff000d666686ff0018999afffffb199aff0013
+6666ff00001999ff00417ffeff00008000ff0051e668ff003b4ccdff002de6687308
+ffffef4cccfffff5999affffd7e664ffffdc1999fffffc199cfffff5199a08ff000f
+6664ffffebe66605fffff7ccd0ff0003e66771ff00071999fffff29998ff00008000
+fffff6ccccfffff44ccdff00033334fffff9199afffffe6668fffff7333308ff000a
+1998ff0008999aff002d8000fffff76666ffffc86668fffff9cccd05fffffbe664ff
+fff74cceff0001ccccfffff7e6668efffff7e66608ff0008b334ff0007e66605ff00
+1e8000ff00033334ff001f4cccff0002199aff0023b334fffffc199908ff000d3334
+fffff8199affffdb4cccfffffc800005fffff64cccfffffeb334fffff73334fffffd
+e666fffff9999cfffffc199aff0004199884ff00063334fffffa199a93fffffae666
+08ff00021998ff000c8000ff00063334fffffc8000ff0027e668ff00004ccd05ffff
+e88000fffff66667fffff18000fffff1e667ffffefe664fffff2b333ff0003ccccff
+fff91999ff0006199cfffffce667ff00066664fffffd9999ffffff8000ff0004ccce
+ffffff3334ff0004e666ff0002b334ff0004ccccff00164cccff0009e667ff0015e6
+68ff000a4ccdff001a1998ff00056666ff001fccccff0000999aff0023b33489ff00
+163334ff00069999fffff13334ff000e8000ffffe8ccccff00076667ffffe59998ff
+0004b33308fffff53334aeff00344cccc705ff0015999cfffff8e667ff001d800083
+ff001f1998ffffed6667ff001f199cffffed6666f70fffffb9999aff00491998ffff
+fe4cccff00491998fffffe4ccdff00374cd0ff0035cccdc1fffffe8000ff0035e668
+fffffe8000ff0010b330ffffcfb333ff00343330fffffd8000ff00343338fffffd80
+00ff0036b330ff002f3333ff00314cd0fffffee666ff00314cc8fffffee667ff0018
+99a0ffffdbe667ff00351998fffffb4ccc08ff00351998fffffb4ccdff002f4cd0ff
+001fe667b8ff0022b332ff0008ccc8fffff480008efffff5b334ff00026668fffff5
+b333ff00179998ff0033999aff001bb338ff002f3333ff0020b330ff002a6666ffff
+d63330ffffe14ccdffffd619a0ffffe1b333ffffcab330fffff98000ff000ab330ff
+fffa4ccdff000ab338fffff9cccdff00096668fffff5199affffd8ccc8ffffe44ccc
+6dffffed999affffc8e66894085494ffffc6b330ff002fe6664eff0004cccd4eff00
+04cccdfffff7b338ffffe14ccd5fff000466665fff00046667ffffcfe668ff00304c
+ccffffd16660ff0004199affffd16668ff0004199affffe19998ffffdb9999ffffcd
+4cd0ff0004e667ffffb13330ff0007b333ffffd53338bfffffdb1998ff00191999ff
+ffdb3334ff0019199affffc79998ff0023e666ffffd5199cff000cccce08ff000a99
+98ff0004e666ff001199988dff0022199cfffff4999aff00159998ff002a4cccff00
+3e4cccff0007ccccff00544cd0ffffe7ccceffffff8000ff0041999aff003ab330ff
+0007e666deffffe4e666ffffe98000ff00394cccff004db338ff0009999aff0058cc
+c8fffff83334ffff4c4cd0c9fffef7ccccff003f999afffefbe664ffffe61998ff00
+03e668ff00074cceff00093334ff00066666ff000ee664ff0005666808ffffe6b334
+ff00058000fffff63334fffffb99987cfffff84cccffffe59998fffff2666877ffff
+e66666fffff2199cffffe9b332ffffedb334ffffe2999affffeae664ffffc9e666ff
+fff8199cffffd34ccefffffee664fffff9ccccff000e8000fffffe199affffff199c
+fffffb4cccffffff3330fffffbe668fffffe3334fffffc8000fffffce668fffffc80
+0008ffffe71998ff0009199805ff0004e668ff0026e668ff001b4cccff00516666ff
+0014e668ff0020e666ff001a3330ff00296666ff0028999cff001c999aff001b6664
+ff00033334b1ff00048000ff00128000fffff24cccfffff98000fffff81998ff004a
+199cff0004ccd0ff005c4cccfffffde664ff00504cccfffff6199aff0051199c81ff
+0047e668fffff1ccceff00273330fffff63332fffffd6668ff0003b334ff00056668
+ff00083332ff00289998fffffde6680887ff001cb334ff003c9998ff000eb330ff00
+431998fffffeb334ffff634cd0ff003ce668fffedfe664b0ffff86b334ff00069998
+ffff946668ff0005ccccffffd53330ffffef999c8b8bff0002199cff00081998ff00
+048000ff00063334ff000bccccff000be668fffff3ccccff00033330fffff0666887
+fffff54cccfffff866684affffd21998ffffd08000ffffc5199c7effff9dcccc08ff
+fffd6666ffffdab3348f6dff000ce666ffffe0b332fffffa199affffff4cceffffe3
+199aff00044cccffffec8000ff000be666ffffe9199a99ffffee199aff0023e666ff
+00064cccff00313334ff00048000ff0023666684ff00423332ffffcccccca6ffffe4
+e668ff000e33346fff00104cccfffff94cccff000a6668fffff04cccff00183334ff
+fff00001ff00101998ffffe21999ff00088000080ef9ebff050a8000ffff8c999a15
+fffffe6668ff0007ccccfffff6b330ff000a4ccdfffff98000ff00044ccdfffff980
+00ff00044ccdfffff4ccd0ff00036666fffff64cc88bfffff366688bfffff19998ff
+fffa199a8b8b8b8b88ff00163333fffff6ccd0ff00063334fffff79998ff0005b332
+7fff0003cccefffff5e6688bfffffe4cd08bfffffe6660ffffffccccfffffe6668ff
+ffffb33408fffffeccd0ff00071999fffffae668ff000b8000fffffb8000ff000580
+0085ff00074ccdfffff59998ff0004e666fffff11998ffffff8000ff00033330ff00
+02cccdff00013338ff0003cccd8bff000419998bff00086667fffffe4cc8ff000a33
+33fffff8ccd0ff00093333fffff71998ff000b6666ffffeb4cd0ff0004e666fffff4
+80008bffffff4cc88bffffff66688bffffff6668ffffffe66708ff00034cd0ff0007
+33338dff0008999a8bff000866668bff0015cccdfffff2e660ff000cb333fffff199
+a0ff00088000ff00068000ff0006199aff00066660ff000acccd8bff000a80008bff
+00106666ffffee8000ff000d8000fffff14cd0ff00033333ff0007b330ff0004cccd
+ff00008000ff0009b3338bff0007e6678bff0009b333ffffef4cd0ff0017e666778b
+08fffff480008b7efffffb999afffff69998fffff8e6668492fffff3999cff0003e6
+67fffff4e6648bffffeee6688bffffed8000ffffef1999ff00013334fffff3199aff
+fffdccccff0000e666fffff79998ff00014ccdfffffd199c8bfffff580008bfffff7
+b334fffffd6667fffff71998fffff8b33382fffff89999fffffcccccfffff13334ff
+fffee668fffff7666608fffff9b334ff0013cccdffffef1998ff00339999fffff2e6
+68a3fffff48000a0fffff63330ff0016cccefffff4999cff0013b332ff00076664ff
+00033334ff000a6668ff0000b332ff000a8000fffffeccce08ff000019988bff0000
+199c8b05ff00081998ffffff8000ff0007e668ffffff999aff00063334fffffe1998
+ff00063330fffffe199aff00044cd0fffffd199aff00024cccfffffa666608ff0000
+1998ffffffb334ff00003334ffffffb33205ff0003e668fffffa3334ff00063330ff
+fffdccccff0005e668fffffeccceff0005ccccfffffeccccff0005e668ffffffb334
+90fffffeb332ff0006b334fffffbb33490fffffc3334ff0005e664fffffd6666ff00
+05e668fffffd6666ff0006ccccfffffeccccff00093334ff0000b33408ffffffe666
+07ff000019988b8bff0000199aff0000199c8bff0007b3308bff0006199cff0002cc
+ccff00054cccff0003199aff00021998ff000133348dff000133328dff0001199aff
+00016668ffffff999aff00019998ffffff6666ff00013334ffffffccce08ff000019
+9c8b06ff00026664ffffffb332ff0002999cff0000199aff00028000ff00003334ff
+0001b330fffffe4ccc8dfffffe8000ff00024cd0fffffee666ff00053330fffffd66
+66ff00063334fffffee668ff0005ccccff0000b332ff00038000fffffd199aff0010
+333489ff00054cccff0001ccccff00036668ff00013334ff00024cccff00028000ff
+0001ccccff0002ccccff00028000fffffee668ff00028000ffffff4cccff0002b338
+8b08ff000399988bff00039998ff000133348eff00029998ff0000ccd0ffffff199a
+ff00009998fffffee6668cffffff4cceff00033330fffffde666ff0003e668ffffff
+33348fffffffe6668fffffffe666ff00041998ff0000b334ff00039998ff00013332
+ff000019a08bff00003330ff0000199aff000019988bffffff6668fffffcccccffff
+ffe668fffffc999aff0000b330fffffcccce08ff0000b338fffffcccccff0001b330
+fffffcccccff00031998fffffe6668ff00038000fffffe3332ff000380008cff0004
+ccd0ff00013334ff000b8000ff00034cccff000accc8ff0005b334ff000b8000ff00
+00666608ff000019a006ff000a4cc88bff000ce668ff00033334ff000ae668ff0000
+8000ff00058000ff00003332ff0004ccc8ffffff999aff0003b338fffffe4cccff00
+03b330fffffe4cceff00029998fffffd6666ff000180008608ff00003338ffffff33
+34ff00009998ffffff800005ff00053330fffffae666ff000199a0fffff93333ff00
+016660fffff88000ff00013338fffff96666ff00013330fffff8cccdff0003e668ff
+fff9b33385fffffb8000fffff4ccd088fffff53330fffffd6667fffffc1998ff0000
+1999fffffd1998ffffffcccdfffffd99a0ffffffcccdfffffd8000ffffffcccdffff
+fde660ffffffe666fffffce668ff0000800008ffffff1998fffffa333305ff000399
+a0ffffff7fffff0002ccc88bff00029998ff00003333ff000299a0ff00003334ff00
+028000ff00003333ff0003e660ffffffe66608ff000080008bff00004cd0ff000019
+9a05ff000be668ff0002e667ff000d9998ff0002b333ff00078000ff0007666708ff
+0001ccd0ff0001cccdfffffe6660ff0002199905fffffbccd0ff00056666fffffee6
+68ff00071999fffffe9998ff0007b333fffffe9998ff00078000fffffe333893ffff
+f9ccc8ff0006666689ff0006199a878ffffffb3338ff0002333486ff00024cccffff
+fa4cc8ff0000666685ffffffcccefffff41998ffffff8000fffff2e668fffffcb332
+fffff719988b08ffffffe6688b06fffff29998ffffff8000fffff499a0fffff9ccce
+fffff4e660fffffce666fffffc3338fffffee666fffffe3330ffffffe666fffffecc
+d0ff0000999afffffeccc8ff0000999affffff19a0ff00016666ffffff8000ff0002
+199affffff1998ff00044cccff00018000ff0006ccce8dff0002e666088b8b07ffff
+fd9998ff0001b334fffffd9998ff0001b3328b8b05ffffff33388afffffdccc8ffff
+fe8000fffffd33388afffffd19988afffffc6668ffffff6666fffffcccc8ff000019
+9afffffcccd0ff0000199a88ff0000b334fffffe3330ff00013332ffffff8000ff00
+006666ffffffccd0ff00008000ffffff9998ff00006668ff00023330ff00014cccff
+0001b338ff00016666ff0000ccc8ff0001ccceff00013338ff0002b332fffffeccc8
+8efffffe19a0ff0001666608fffffe1998ff00016668fffffd3330ff00008000ffff
+fdb338fffffe9998fffffdb330fffffe999a8afffffd199aff00003330fffffc999a
+08ffffffe668ffffffcccc06ffffffccceff00001998078bffffff66668bffffff80
+00ff000019a0ffffff6666fffffde660fffffd6666fffffd80008afffffd19a08bff
+fffe4cc88bfffffe3334ff00006666fffffe4cccff0000b334ff00034cd0ff000780
+00ff00063330ff0007b334ff0001ccd0ff00063332ff00006668ff00016666ff0000
+1998ff00016668ffffffb330ff00016666ffffffb338ff00016666ffffff1998ff00
+014cccfffffeb330ff0000b33408fffffd6668ff00016666fffffd4cd0ffffff6666
+fffffd1998fffffeb334fffffd3330fffffeb334fffffce668fffffdccccfffffcb3
+34fffffcccccfffffe1998fffffe4ccefffffeccccfffffe4ccc8afffffe33348aff
+0003199afffffe6668ff0002e666fffffd1998ff00014cccfffffe3334ff0000ccce
+fffffdb334ff0000199889ffffff199afffffe1998ffffff3334fffffe8000fffffe
+8000fffffe8000fffffde66608ffffffccd0ffffffe666ffffffccccffffffccceff
+ffffccccffffffccccffffffe668ff00068000fffffeb330ff0005e66685ff000019
+9afffff7b334ff00003334fffff6e668fffff69998fffffb4cccfffffb199affffff
+6668ffffff4cceffffff9998ffffff3332ffffff8000ffffff3334fffffeb334ff00
+04199afffffe66648ffffffd8000ff0003666689ff0002b332fffffd4cd0ff00024c
+cefffffc8000ff0000cccc08fffffc8000ff0000ccce87ffffff3332fffffbccccff
+fffdb334088b8b07fffffa8000fffffcb332fffffcccccfffffc4cceffffffb334ff
+fffbccccffffffb334fffffbccceff00029998fffffc8000ff00033334fffffd6666
+ff00033334fffffd6666ff00043330fffffdccccff00043334fffffe4cceffffff99
+9cffffffccccffffff9998ffffffccceffffff9998ffffffccccfffffae668fffffd
+199afffffb1998fffffdb332fffff9999c8b08ffffffe6648bffffffe6688b05ffff
+f76668ffffff4ccefffffa8000ff0001199afffffaccccff00024cccfffffaccccff
+00024cccfffffb1998ff0003b334fffff8e668ff0004800008ffffff9998ff000033
+34ffffff999cff000033320585ff0001999afffff9b334ff00003334fffffab330ff
+00011998fffffab334ff0001199afffffbccccff0001999afffffd3334ff0004199a
+fffffce668ff0007199afffff9cccc8f84ff00021998fffff8ccccff00023334ffff
+f7ccccff00008000fffff7e668ff0000800008ffffffe66607fffffc3334ff000066
+66fffffc3334ff00004ccefffffc4ccc8bfffff88000ffffffe666fffff8e664ffff
+feccccfffffa199cfffffd333487ff0006999afffffbb334ff0006199afffffb6664
+ff00059998ffffecccccff00174ccefffff46668ff00153332ffffde8000ff000999
+9afffff0ccccff00044ccefffff2b334ff00004cccfffff133348b8e918dff00064c
+cc8b8b08ff000c4cccff00183334ff00198000a5ff00221998ff0018cccc058b8bff
+0006199cff0004199aff00058000fffffde666ff00058000fffffde668ff00119998
+ffffdd33328b8b08ff0001ccccffffcb6666ff000c3334fffff0199aff0005999cff
+ffffb334ff0004b330fffffce666ff0000ccd0fffffaccccff0004b330ff00006668
+ff00003334fffff1e666ff000a8000ffffe84cccff0002ccccff0010333491ff0008
+8000ff000d3334ffffe13332ff00066668ff0011199aff000a3334fffff44cce058b
+8bff0004800094ff00028000fffffae666ff00028000fffffae666ff001fccccffff
+f166668b8b08fffff61998ff000bb334fffffd800098058b8bfffffc199cff000a99
+9aff000380008eff000380008eff0015b330fffffb33328b8b08ff0000b334ff0005
+6666ff001d8000fffffc199affffebccccff00104cce058b8bfffff7199cff000680
+00ff00003334ff00018000ff00003330ff00018000ff0010b334fffffd33328b8b08
+ff00098000ffffff6666fffff8999cff00078000ff00139998ff00014ccefffffc4c
+ccff00074cccff001be668ff0007199afffffcccccff0005e666ff000fb334ff0002
+199afffffc3334ff0006199a9cff00003332fffff99998ff00083334ff0015e668ff
+0002199aff00119998ff00016666ff0017e668ff0008666696ff00016666fffffe4c
+c8ff0005666805ffffd999a0ff00078000ffffeee664ff0006b332ff00044cccff00
+014cceffffe84cccff00076666ff0000b334ff0005199afffff28000ff0008b332ff
+00056668ff0007999affffe6b330ff0006b334878f058b8bfffff9b334ff00041998
+fffff53334ff0002333489ff0000666689ff00003334fffffde6688bfffff666648b
+fffff53334fffffc999afffff99998ffffff6666fffff8199cffffff3332fffffb80
+00ff0004e668ffffff4cccff0003ccccffffff4cccff0003ccccff000466688eff00
+07ccccff0001999cff0007ccccff00019998ff00104cccfffff94ccc8b8b08ff0010
+199cfffffe199aff0012cccc8efffffe9998ff00056666ff000b3334ff0002999cff
+0004999cff00048000ff00178000ff000a3330fffff34cccff0003ccd0ff00093334
+ff00054cccfffffd8000ff00043334ff0014ccccff00131998fffff5ccccff000280
+00ff00019998ff0004e668ff00169998ff000d1998fffff7b338ff00098000ff0014
+4cc8ff000c800005fffff43338ff00063334ff0017b330ff0014e664fffff83338ff
+0003e668ff000d8000ff00134cccff0010e660ff000ab334ff001a6668ff00143334
+ffffe1ccd0ff0003e664ffffdc6668fffff03334fffff76660ff0006e668ffffe619
+9cfffff33334fffffcb334ff000d8000fffff11998fffff81998fffff7199cfffff7
+ccccfffffe8000ff0006999cfffff3b334fffff6999805ff00036664ff001333347b
+fffff83334fffff3199cfffff89998fffff3e664fffff4ccccfffff8b334ff0013e6
+68fffffce66896ffffed8000ffffed1998fffff63330ffffeb4cccfffffaccd0ff00
+056668fffff8e664fffff4666882fffff58000fffffb999cfffff66664fffff76664
+fffffcccccfffff7800075058b8bff0000199cfffff73334fffffe4cccfffffbb334
+fffffe4cccfffffbb334fffff7ccccfffff91998fffffc3334ffffffe668fffffc33
+34ffffffe664ffffff4cccff0004199cfffffeccccff00031998fffffeccccff0003
+199cff000ee668ff000b66648b8b08ff0006e668ff00078000ff00079998ff001399
+9c92ff0002b330ff00046668ff0009ccd0ff0004cccc8d95ff0012e664ffffff8000
+ff0004b334ff0007e664ff000a1998ff0002b334ff0014e668fffffaccccfffffee6
+68ff0000999cff00098000ff00069998ff000e3330ffffff999cff0004199cfffff9
+99988aff0002b334ff0005999805ffffff4cccff0010ccccff0002ccccff000db334
+fffff76668fffffdb334ff00074cccff0018e668fffffb3334ff00224cccfffff599
+98ffffeb4cccfffff6ccccffffeee668fffff04cd0ffffee4cccfffffc4cccff0005
+8000fffffa6664fffff99998fffff8e668fffff46668fffffa6668ff00084cccffff
+fc3330ffffff9998fffff88000fffff5999cfffff9199cfffff2199805fffffc3334
+ff000bb33489ffffffccccfffff79998fffff4e668fffff7b3347cfffff86664ff00
+0bb334fffff6199cfffff34cccfffff84cccfffff44cccfffffc6668ff00129998ff
+fffe1998ff00138000fffff46668fffff2ccd0fffffc3330ffffec8000fffffc6668
+fffffe800089ffffec1998fffff79998fffffe9998fffff9199cffffec800005ffff
+fb6664ff00043334fffff98000ff00004cccfffff6ccd0ff000d3334fffff5ccccff
+000accccfffffab334ff00126668fffffb33307afffffc999cfffff4ccccfffffc19
+98ffffe8b3348b7eff0001e6687bfffff71998fffffd6668fffffce668ffffef8000
+fffffe4ccc87ff00043334fffff31998fffff99998fffffb999805ff00066668ffff
+f4ccd0fffffc6664fffffa9998ff0005199cfffff63334ff001a9998ffffec333405
+8b8bff000fe66875ff001b3334fffffc1998ff001b3330fffffc199afffff2b334ff
+fff83332ff0001b334fffffae668ff0001b334fffffae6667dfffff8199a8b8b8b8b
+ffffe38000ffffe9cccc85898589ffffc9ccccffffbf80008b8b6186ffffbd1998ff
+ffcc3334ffffe5199cffffe8e6660889ff0006999affffebccccff001e99988b8b8b
+8bfffffe4cccff0030b334fffffd3334ff0004ccccfffffd3334ff0004cccefffff9
+6666ff001f66668b8b8b8bfffffb199aff000d4cccff0003ccccff0002999aff0002
+199aff00016666ff0003999aff0002999aff000619988bff0005199a8bff0006b334
+fffffe4cceff0008e666fffffa333208ff0009e666fffff9999aff000a8002fffffe
+4ccc938b08ff0007ccccff00054cccff0001999a8b1fff001bb334fffffe999aff00
+086664ff0003e666ff00008000ff0005b33495ff00043332fffffe4cd0ff0006999a
+ff00098000ff000680008cff0003b334ff0006b330ff000d3332fffffbb334ff0006
+ccceff0009999c95ff0006e664ff0008fffeff0009b334ff00124cd0ff0003ccccff
+0009b330ff0005e668ff000e6668fffff2e664fffff6666805fffff3b334fffffe33
+30fffff3199cfffffc199cfffffb9998ff00038000fffffaccccffffff9998ff0005
+e668ff00116668fffffb4cccff0005b334ff00093334ff000ee664fffffe8000ff00
+03199cff0007e664ff000f9998ffffff6668ff000fccccfffff48000fffff38000ff
+fff3e668fffff53334ff00013330ff000c6668ff00004cd0ff000e8000fffff4e664
+fffffc333005ff0002999c9aff00006664ff000c6668fffffeccccff00014cccffff
+f76668fffffa199cff0002e668ff000d8000ff00009998ff000b6664fffffdccccff
+00026668fffff8199cfffffd6664ff0001800097ffffffccccff0007999cfffffa99
+98fffffe6664ffffff3334a0ff00031998ff0011199cff00044cd0ff00143334ffff
+eacccc7605fffff79998ffffeab330fffffb999cff00068000fffffa8000fffff4cc
+d0fffff6ccccfffff4e664fffffeb332fffffa999cfffffc6666ff00043330fffffd
+999afffffd6668fffffccccefffff28000fffffb4cccfffff91998fffffd3334ff00
+03ccd0fffff6cccc7bffffff999afffff48000fffffd4ccc88fffffc6666ffffed4c
+ccff0002199a8705fffffd999afffff6b334ff00033334fffffa1998fffffa8000ff
+ffee3334ff00008000fffff6e664058b8bff00038000ffffefccd0fffffd9998ffff
+fe8000fffffd999afffffe8000fffffd6666fffffd9998fffffd999aff00023334ff
+fffd999aff00023334fffffe6666ff00096664ff00013334ff0003e668ff00013332
+ff0003e664ff0004999aff0006199c8b8b08ff00063334ff00141998fffffc333292
+ff0002333494ffffffccccff000c8000ff0001800097fffff9b334ffffff3334ff00
+04999aff0013ccccfffffe199aff00178000fffff83332fffffa4cccfffff0ccceff
+fff64cd0fffffe1998ff000e9998fffffb999aff000c6668fffff9b334ff000e6664
+fffff83332fffff0cccc88ff000d800005fffffb8000fffffc4cd0fffffe999aff00
+0ab330fffffa999aff000de668fffff6b334fffff8800081ff00178000fffff6e666
+ff00001998fffff14cccff001f199cffffea999aff000e4cccff00064cccffffe333
+34ff000533347afffffe8000ffffeb199884ff0001999cff00043334ffffe43330ff
+fff51998ff00026668ff00068000ffffebe66805fffff5999afffffe1998ff0007b3
+34ffffea3334fffffe6666fffffbb334fffff8199a8fff00034cccffffe71998ffff
+fc3334fffffe8000ff00033332fffff71998fffff5b334ff0004999cff0009ccccff
+ffebb334ff0000999afffffa3330ff0005e666fffff7e668fffffc3334fffffd1998
+ff000a999afffff33334ff000b6666fffff84ccc058b8b99fffffb6668ff00043334
+fffffa8000ff00043332fffffa8000ff0001199afffffb4cccfffffd999afffffdcc
+ccfffffd999afffffdccd0fffffa8000ffffff3330fffffb4ccc90fffffb4ccc90ff
+fff96668ff000b6668fffff7e666ff00049998fffff7e666ff0004999cfffff9b334
+ff0000b3348b8b08fffffb4cccffffff6664ffffec3334ff0009ccccffffff8000ff
+fff7999cfffff29998ff0001b334fffffdcccefffffc1998ffffecccccff00083334
+ff0002199afffffcb334fffff18000ff00051998ffffe33333ff0010999887fffffd
+3334ff00068000fffff8ccccff000ae667ffffec999cff000a999afffff5199898ff
+fff23334fffff78000fffffde66805ff000ae666fffff63330fffffa66668994ffff
+f5b334fffffaccccfffffdb334ff000e4cceffffeb6666fffff9b33288977ffffff7
+33348aff0006666686058b8bff000c4ccefffff88000ffffff4cccfffffee666ffff
+ff4cccfffffee668fffff6e668ff000080008b8b08ffffea6666ff00001998ff0015
+199a7dfffffd9998fffffbe668058b8bff000e800083ff00024ccefffffbb33287ff
+0001800087ff0002199afffffbcccc8dfffff94cceff00033334fffff89998ff0002
+cccc82ffffff3334fffff7ccceff00039998fffff6ccccffffffe668fffff78000ff
+00004cccfffff78000ff00004cccfffff88000ff0000cccefffffa999aff0003cccc
+ffffff3333ff00044ccefffffe199aff00039998fffffd3333ff00024cce08fffffc
+cccdff0002999a87ff0001333287ff00006666fffffbb333ff00006668fffffb999a
+ffffff9998fffffc19998affffff999aff00016668ffffff8000ff00016666ffffff
+6666ff00013332fffffeb333ff0002e668fffffe8000ff00028000fffffe80008dff
+fffeb334ff0001ccccfffffee666ff00013334fffffe999a8c08ff00001999ff0000
+199805ffffffe666ff0000199affffffccccff0000199affffffe667ff0000199aff
+fffd8000ff0002199afffffc9999ff0000e666fffffc8000ff00008000ffffff8000
+8ffffffe8000ff0003e666fffffce667ff0003333408ffffff9999ff00006666ffff
+ff999aff0000333205fffffab333ff0002999afffff7b333ff0000b334fffff83334
+ffffff8000ff00003333ff00033332ffffff8000ff00034ccefffffe3333ff000299
+9afffffe199aff0002ccccfffffc3333ff0001999a878afffffd6666ff00008000ff
+fffd4ccdffffff999afffffd3333ffffff4ccc8bff00014cccffffffcccdff000166
+68ffffff999aff00013334fffffee6668efffffd999aff0002b330fffffc9999ff00
+01333408fffffce667ff0001199cfffffc1999ffffffccccfffffb999afffffe9998
+ffffffb333ff0000199cffffffcccd8bffffffb333ff00001998ff0000199aff0001
+b334ffffffccccff0001ccccffffffb3348d088bff00006668ffffffcccdff00004c
+cc05fffffd6667ff0005e664fffffb4ccd8efffffb3333ff00008000ff0000b333ff
+00054cd0ffffff4ccdff00054cccfffffd1999ff00048000ffffffe667ff00003334
+ffffffe666ff00003330ffffffe667ff00003334088b07fffffdb335ff00053334ff
+fffc66668ffffffb3333ff00023334fffffd8000ff00011998fffffd6667ff0000b3
+34fffffd1999ff00001998fffffd199aff0000199c88ffffff9998fffffccccdffff
+ff199c08ffffffe6668b06fffff11998fffffb6664fffff2199afffff1199cff0000
+b3347808ff0005e666ff0000333005ffffff66669bff000c199aff000cccd0ff000c
+6666ff0003e664088b07ff00053334ff00018000ff00046666ffffffb334ff000380
+00fffffe6668ff00038000fffffe6664ff0002b33388ff0001cccdfffffbb33408ff
+0000199affffffccccff00003334ffffffb33405ff00026667fffffc6668ff000080
+00fffffb6664ffffff199afffffb4ccc88ffffff3334fffffd3333fffffeb334ffff
+fd999afffffe4cccfffffc1999fffffd666888fffffce664fffffee667fffffc4cd0
+ffffff8000fffffe3330ff00001999fffffd8000ff0001999afffffe6668ff000199
+99fffffe6668ff0002199affffff8000ff0002999a8b088c8bff0000b334ff000080
+0005ff00058001ff0003cccc8fff00059998ff0002199991ff000033348bff000033
+33ff0000199cff000033338b8effffffccccff00026666fffffeb3348dfffffbb330
+ff00003334fffffe8000ff00001999fffffe999cffffffe667fffffeccccfffffe80
+00ffffffb334fffffe6666ffffffccccfffffe999affffff6668fffffc4cccfffffe
+6664fffffccccdfffffd8000fffffdb333fffffd199a08fffffdb334fffffd199aff
+fffe4cccfffffc8000ff00014ccdfffffc6666ff0000999afffffe3334ff00018000
+fffffe6666ff0001cccdffffff199aff0001ccccffffff199aff00024ccdffffff80
+00ff0002b333ffffffe66608ff00026666ffffffe666ff0000999aff00024ccc05ff
+0000cccdff0002e668ff00026667ff00033332ff00023333ff00043334ff0000cccd
+ff0001999aff000099998dff0000999a8dff00003333ffffffe664ff00006666ff00
+00199cff00003334ffffffe66408ff0001199affffff999c8cff0000666405ff0003
+e666ff00018000ff0002ccccffffffccd0ff0001cccdffffff6664ff0001cccdffff
+ff66688cfffffeccccff0000999afffffe8000ff00006666fffffecccc8bfffffe80
+00ffffffb333fffffe999afffffd999a8afffffd4ccd8afffffe1999fffffee666ff
+fffe8000ffffff199afffffecccdffffff4cce8affffff3332ffffff8000ffffff99
+9affffff6666ffffff8000ffffff999affffff800008ffffff999affffff8000ffff
+ff6666ffffff6666ff0000199afffffe6666ff00001999ffffff3334ff00006667ff
+ffff199aff00009999ffffff8000ff0000999affffff8000ff00008000ffffffcccc
+ff00006666ffffffe666ff0000e667ffffffccceff0000b333ff0000199aff0000b3
+33ff00001998ff00018000ff00003334ff0001cccdff00006666ff00028000ff0000
+ccce08ff00003333ff00001998ff00003333ff0000199a05ff00031999ff00018000
+ff00023333ff00026666ff00014ccdff0002b334ff00004ccdff0000199aff00004c
+ccff00003332ff00004ccdff0000199aff00036667ff0001199aff00034cccff0000
+4cccff00018000ffffff999a08ff0000cccdffffffccceff0000cccdff0000333205
+ff00024ccdff0000b334ff00009999ffffff8000ff0000cccdfffffeccccff0000cc
+cdfffffeccceff0000999afffffd9998ffffffb333fffffd999a8bffffffe666ffff
+ffe666ffffffccce8bffffffe666fffffdb333ffffff999afffffdb334ffffff8000
+fffffe1999ffffff3332fffffe8000ffffff6668fffffe999affffff3332fffffee6
+66fffffecccefffffee667fffffeccccffffff1999fffffe66668bfffffe3334088b
+fffffde666ff0001e667ffffff4ccc05ff00049999fffffe4cceff00046667ff0000
+e666ff0002ccccff00028000ff00018000ff00014ccc8cff0001b334ff0000cccdff
+0001b334ff000033338bff0000199aff00001998ff000033338bff0007199aff0000
+999aff00086666fffffee666ff0003b333fffffe6668ff0001999afffffe3332ff00
+01199afffffdccceff00008000fffffdb332fffffbe666ffffffe666fffffbe666ff
+ffff8000fffffc8000fffffeb33408fffffde667ffffff3334fffffe1999ffffff19
+98fffffe6667fffffeb334fffffe6666fffffeb334fffffecccdfffffe4cccffffff
+b333fffffdccccffffffb333fffffdccce8cfffffdccccff0001999afffffe3334ff
+0001999afffffe3332ff00026666fffffe8000ff00033333fffffe666808ff0000cc
+cdffffff9998ff0000cccdff0000199a05ff0007b334ff0001199aff00054ccdff00
+05999aff0001cccdff00066666ff00003333ff0000b334ffffffe666ff0000b332ff
+0000199aff0000b334ff00028000ffffff8000ff00026666ffffff4cccff0001199a
+8a08ff00001999ffffffe666ff00004ccdffffffe66805ffffffffff8bff00014ccd
+fffffeccccff00013333fffffe4cccff00013333fffffe4cceff00016667fffffdb3
+32ff00011999fffffd999aff00008000fffffee6668bfffffeccceff00006667ffff
+fecccc8affffff999a8affffff999affffff3333ffffff800008ffffffe666ffffff
+e66605fffffb999affffff199afffffccccdfffffe4cccfffffe6666fffffd6666ff
+fffe3333fffffd3334ff00006667fffffc8000ff00019999fffffd999aff0001999a
+fffffd999aff0002e666fffffe6666ff000333348bff000333338bff00036666ff00
+01e666ff0002999aff0003800008ff00001999ff00003334ff0000199aff00003332
+05ff0001b333ff0003199aff00006667ff00033334ffffffccccff00033332ff0003
+8000ff0000e666ff0003cccdff0000999aff00038000ffffff999aff00033333ffff
+ffb334ff0002cccdffffff19988dfffffe4cce8dfffffe4cccff00018000fffffdb3
+34ff000066678708ff00001999fffffecccc8cffffff333405ff00073332fffffa66
+66ff00096667ffffff8000ff0008e666ffffffb334ff0008e667ffffffb332ff0008
+cccc8bff0006999afffffcccce08ff0000ccccffffff9998ff0000ccceff0000199a
+05ff0007b332ff0000e666ff00066668fffffd8000ff0006b332fffffce668ff0004
+199afffffe1998ff00043334fffffdb334ff00049998fffffe6666fffffdccceffff
+fd999a88898b8b08fffff78000fffff86666fffff36666fffffd999a058ba1fffff9
+e666ff0008199a1eff0001199a8bff0000ccccff0000199aff00008000ff00003334
+ff00044cccff00021998fffffe199afffff733348b8b08ff000cccceff00024cccff
+fffb1998fffff0999aff0018ccceff000dccceffffff6666fffff6ccccfffff93334
+fffff33334ff00136666ff000a666691ff0007b33205ff00046666fffffe3334ff00
+04999afffffe199aff0005b332fffffccccc08ff00006668ffffffccceff00004ccc
+ffffffe66605ff0008b334fffffdb332ff00046666fffffb199aff00034cccfffff9
+999aff00033334fffff9999aff0001b332fffff83332ff0002999afffff8ccce08ff
+0000199affffffe66605ff00004cccfffff6b334ff0004b334fffff899988ffffff9
+199aff0004199afffff8ccceff00036666fffff98000fffffe6666fffff7199808ff
+ffffe666ffffff6668ff0000199affffff800005ff0001b334fffff7b332fffffc66
+66858bfffff880008bfffff9e666ff00104cccffffe7e6678bfffffb4ccdfffff566
+68fffff4199afffff41998fffff28000fffff2e668fffff0e666ffffce1998ffffc6
+8000ffff518001ffff1e33338b8b08ff00101999ff00078000fffff3999affffea19
+9aff0018b333ff001066666664ff002b999aff0016999affffece666ffffef8000ff
+0005e667fffffe999aff001266669a6dffffdfccccff0022e666ff001c199affffea
+8000ffffd93333fffff0199affffde4ccdff0027b333ff002e999affffeb6667ffff
+d43334ff0054e666ff008e333305ff0050b334ff00654ccdff004fb332ff00678000
+ff0006999afffffcb333058bff00000001ff00073334fffffde666ff00003332ffff
+fce667ff00003334fffffce666fffff4b332fffff633338b8b08ff0002b334fffffd
+8000fffff1ccccfffff1999a9cff00044ccd058b8bff0007199aff00021999ff0000
+b334ffffff4ccdff0000b332ffffff4ccdfffff7b334fffff819998b8b08fffffbe6
+66fffffb3334ff0007199aff0000e666fffff8b33480ff000566668afffff8999aff
+ffee199aff00046666ffffff4ccdfffffaccccfffff6b333ff0004ccceffffff999a
+fffff93332fffff6b33492ff0000199afffff84ccefffff36666fffff9999881ffff
+faccceffffefb333fffffc4cccfffff98000ff0003999afffffeb33305ff0013999a
+ff0011999aff000a8000ff0006999a8afffffd199aff000d999aff0009cccdff0002
+8000fffffd8000ff000a1998ff0003ccccff0001cccefffffa4ccd05fffffeccccff
+fffe8000fffffe3334fffffeb33389fffffee667fffffe6666ffffff1999fffffecc
+ccffffffcccdfffffeb334ffffff999a088aff0000999afffffeb334ffffff800005
+ffffff4cccffffffb332ffffff8000ffffffcccdffffff8000ffffffb333ffffffcc
+ccffffffe666ffffffb334ffffffccceffffffb334ffffffccccffffffb332ffffff
+cccdffffff999affffffcccdffffff999a8affffffccccffffff8000ffffffe666ff
+ffff199aff00004cceffffff3332ff00004cccffffff3334ff00008000ffffff8000
+ff00006666ffffffccccff0000ccceffffff8000ff000066668bff00004ccc8b08ff
+0000999a8bff000080008bff00006666ff0000199a8bffffffcccd8bffffffcccdff
+ffffccceffffff8000ffffff4cccfffffe8000fffffde666fffffd999afffffdb334
+fffffde666fffffdb334fffffde666fffffdb332fffffe3334fffffe6666fffffe4c
+ccffffff999affffff999affffff999affffff8000ffffffb334ffffff8000ffffff
+b332ffffff8000ffffff8000ffffff4cccff0000199afffffeccce08fffffe199aff
+fffe6666fffffde666fffffe6666ffffff6666ffffff999a08ffffffe666ffffffe6
+6605ffffff999affffffcccdffffffb334ffffffe667ffffffb332ffffffccccffff
+ffb334ffffffcccdffffffb334ffffffe667ffffff9998ffffff8000ffffffe668ff
+ffffe666ffffffe666ffffffcccdffffffccccffffff9999ffffffccceffffff999a
+ffffff8000ffffff3333ff00009998fffffeb333ff0000999afffffeb334ff00014c
+ceffffff8000ff000099988bff0000999a8bff00003334ff00001999ff000033328b
+08ff0000ccceff00003333ff0000199aff00003334ff00006666ff00003333ff0000
+199a8bff00004cccff00006666ff0000199a8bff00006666ff00003333ff00008000
+ff0000199aff0000199affffffe666ff0000199affffffe667ff0000e666fffffecc
+cdff0000199afffffc8000fffffb199882fffff4999afffffae666fffff58000ffff
+fd666608ffffff999a8b06ffffffe6668bffffffccceffffffe667ffffffe6668b08
+ffffffcccc06ff00000001ffffffe666ffffffe666ffffffe668ffffffe666ffffff
+3332ffffff999a8b1eff00004ccefffffb3333058bff0000e666ffffff999aff0000
+33341eff00004ccc8bff0000199affffffe666ff0000199a8bff000033328b8bff00
+00199aff0000199a8b08ff00004ccc068bff00003334ff00001999ff00004ccc1eff
+000033348bff000033348b05ff00016666ff00001999ff000233328bff0001e668ff
+ffffb333ff0000e666ffffffcccdff0000e666ffffffb333ff00008000ffffffcccd
+ff00008000ffffffcccd8bffffffcccc8b8b8b8bff0000199affffffcccdffffffb3
+32ffffff3333ffffffb334ffffff3334ffffff199afffffeb333fffffe8000fffffe
+4ccd08ffffffb332ffffff999affffffccceffffff999a05ffffff8000fffffeccce
+fffffe3332fffffd9999fffffdb334fffffdcccdfffffe4cccfffffe4ccd89fffffe
+800089fffffe9999ffffff3334ff0000999a8aff00008000fffffee666ff00003333
+88ff00006667fffffcb334fffffee66687fffffd666608fffffe999affffff199a8b
+fffffe6666058bfffffe4ccdff0000ccccfffffe199aff00016666fffffee666ff00
+016666fffffee667ff0001b334ffffffccccff00018000ff00003334ff00016666ff
+00003333ff00018000ff00006666ff00016666ff0000999affffffe668ffffffcccd
+ff000019988bffffffe668ffffffccccffffff8000fffffeb334ffffff1998ffffff
+1999ffffff3334ffffff4ccdfffffbccccff0000b333fffffc999a8bfffffd8000ff
+fffeb33308fffffd199afffffe999afffffe999afffffd3334ffffff4cccfffffd99
+99fffffe8000fffffb33338bfffffbcccdfffffccccefffffdcccd08ffffffb332ff
+ffffcccdffffffccceffffffb33305ffffff1998fffffee666ffffff4cceffffff33
+34ffffff8000fffffee666ffffffccccffffff6666ffffffb334ffffff8000ff0000
+199affffff199aff00001998ffffff199aff00008000fffffee666ff0000b334ffff
+ff6666ff00018000fffffecccdff00013334ff00004ccdff00011998ff00003333ff
+0001199aff00003333ff0001199aff00004ccdff00013334ff0000800008fffffe80
+00ff0003b3330590ff0004199aff00004cccff000633338cff00034ccdff00008000
+ff0001b333ff00008000ff0000e667ff0001199aff00008000ff0001199aff000080
+00ff00024cccff00004cccff00046666ffffff199a08ff0001199affffffcccd8cff
+0000999a05ff00026666ff00016666ff0001b334ff00024ccd8cff00026667ff0000
+e666ff00021999ff00004cccff00024ccdffffffccceff00024ccdff00028000ff00
+01b333ff00026666ff0001cccdff0002199a8dff00024cccff00024ccdff0001e666
+ff00024cccff00013334ff00024ccdff0000199aff0000199a8bff00003333ff0000
+199aff0000199aff00001998ff00001999ff0000199aff00003333ff0000199aff00
+00199a08ff00016666ff0001b333ff00013334ff0001999aff0000999aff00018000
+ff0000b332ff0001cccdff00003334ff0001e666ffffff4cccff0001999affffff80
+00ff00014ccc8aff0000e6678aff0000b333ff0008199aff00036666ff0007b33490
+ff00041998ff0008333408ff00004cceff0000999a8bff0000999a058bff00048001
+ffffff3332ff00031999fffffe199aff0001e666ff000133348cff0000199affffff
+e667ff0001ccccff00018000089291fffffc6666ffffffb33305ff0000ccceff0000
+b334ff00006666ff00006666ff0000e666ff0000ccccff00028000ff00024cceff00
+028000ff00026666ff00016666ff0003199aff0000b334ff00018000ff00004cccff
+0001ccccffffff999aff0001cccdff0000e666ff00006667ff0000e666ff00004ccc
+8cff00008000ff00033334ff0001b334ff00038000ff00028000ff0001ccccff0003
+ccccff0000e668ff0001e667ff00004cccff00023333ffffffccccff00024ccd08ff
+0005b334ff0004800005ff0000e666ff00004cceff0000ccceff00004cccff0000cc
+ccff0000666708ff00024cccff00004ccc058bff00000002ff0004ccccff0001b333
+ff0005999cff0004e666ff00059998ff0004e667ff0003199cff0009ccccff0002cc
+ccff00048000ff0002ccccff00048000ff00048000ff00008000ff00024cccfffffe
+cccdff00024cccfffffecccdffffffe668fffffc8000fffffdb334fffffb199affff
+fdb334fffffb1999fffff5b330858b8b08fffff86668fffff8199a85fffff4b333ff
+00038000fffffe8000fffffcccccfffff8e666ff0000999cfffffbb33387ffffef33
+33ff00073330ff00054ccdffffff199c84ff00034cccffffff999aff0001cccc78ff
+00058000ff000480008dfffffd3333fffffde668ffffee8000ff00086664ff000099
+9afffffe999c7b05ff00081998ff0003cccdff0001999cffffeacccdff00054cccff
+0002999aff0004e664fffff0e666fffffee668fffff2999aff00003334ffffe9999a
+ff000e4cccff000e999a91ff0019999aff00071998ff0001e666ff0003999cff0013
+199aff0008b334fffffc4ccdff0001b330ff000b3333ffffff3334ff0008199aff00
+043334fffffe33338bff000a666605ff0008e668fffff66666ff00026664ff000bcc
+cdff0001199cff0009e6668aff000b199aff000d9998fffffbb333ff00073334ffff
+fd4ccdfffffd4cccff0011999afffff8e668ff000db33390ff0000999afffffcb330
+ff00088000fffffde668ff00093333fffffc9998ff00063333ff0001ccd0ff0005e6
+66fffff79998ff000d8000058bff00000002fffffb3334ff0003b333fffffe6664ff
+00029999fffffe6668ff0002999affffff8000ff00073333ff00018000ff0002199a
+ff00018000ff00021999ff00028000fffffe999aff00023334ffffff6666ff000233
+34ffffff6667ff00001998fffff366668b8b08ff00013334fffff94ccdff00076664
+fffff3e666fffffe999cfffffb199aff00039998fffff9b333ffffff199cfffffc99
+9aff000619987eff0002b334fffffe4ccdff00024cccfffff7999aff000a1998ffff
+f6199aff00018000ff00033333ff0004e668fffffbe66690fffff6b333ff00024ccc
+fffffe999aff0002199cff0003cccd8dfffffc4ccd05ff00093330fffff9999aff00
+064cd0fffff8e666ff00024cccff00058000ff000a66647dff00146668fffff4999a
+84ff000e199afffffa9998ff000be666fffffce668ff000f999aff00048000ffffff
+b333fffffeb334ff0005b333fffffcb334ff00088000ff0006b330ffffff999aff00
+016668ff00023333fffffd6668ff00084ccdfffffb4cccff0009666605ff0007cccc
+fffffd3333ff0000b334ff00013333fffffd800094fffffb4cccff000a999aff0009
+4cccffffff4cccfffffd3334ff000a8000fffffce668ff0008e666ff000b6664ffff
+fa6666ff000b4cccfffff9199afffffd999cff000b999a82ff0009e666ff0000b334
+ff0002b334fffff61998ff0009199aff00029998ff0005199afffff84cd0ff000b99
+9a05ff00043330ff0000b333ff0002ccd0ff00036666ff000ae664ffffff999aff00
+09e668ff0001199997fffffb6667fffff8ccccff00098000fffffb6668ff00064ccd
+80ff000bb33384ff00053333fffff69998ff00058000ff00023334ff0005cccdffff
+f86664ff00086666fffffe999cff00028000fffff74ccc8eff00003334ff00053333
+05fffff76664ff0001199afffffe999cff0004199afffff89998ff00014cccffffea
+999cfffff9b334058b8bffffedb330ff00006666fffff2e668fffff2e666fffffb33
+34fffffb4ccdfffffeb334fffffe4ccdffffffccccffffff999aff00001998ff0000
+9999ff000033348dfffff94cccffffff6667fffffc6668ffffffb333ff00019998ff
+000c33338b8bff00004cccff0001199aff0007b334ff001bcccc8bff000533348bff
+000a8000fffffbccccff0022e6668b8b088b8bffffeb199cff001ab33485ff000480
+00fffffeb334ff0000e666fffffc3330ff00023332fffffbccd0fffffe6668ff000f
+4cccff000d9998ff00113334ff000b999aff0012ccccff0009ccce8b8bff00139998
+ff0006ccccff001633348bff001480008bff0026ccccfffff8e666ff001f8000ffff
+d43334ff001f8000ffffd43333ff00173334ffffd7b333ff00078000ffffeccccd08
+ff0005e668fffff0e666ff0006ccccffffdeb333ff00029998fffff28000fffff499
+9cffffffcccdfffff0ccccfffffde667fffff2ccccfffff3e666fffff59998fffff6
+800086808b7c8bfffff94ccdff00038000fffff24ccdff0002199cfffffbccccffff
+f566648afffff1b334fffff6cccdfffff9b334fffff6cccdfffff99998fffff6999a
+ffffffe668fffff14cccff0001e668fffff6cccd08ffffed8000fffffae667ffffee
+b330ffffe94ccc8bffffe966678bfffff3e667ff00016668fffff1ffff91fffff580
+00ff0004ccccfffff78000ff000e199cfffff38000ff000c1998fffff94ccd9486ff
+0005ccccfffffe8000ff001333348bff0006cccc8bff001db33493ff00173334ff00
+10e666ffffff8000fffffe33348bfffffa99998bfffffe4ccd08ffffeccccdff0016
+99987bff001966681eff0013b3348bff00144cccff000e9999ff000a3334ff000a33
+34ff00046664ffffee6666ff0015199cfffff33333ff0013e6648bff0010999c8bff
+00164cccff00078000ff0008999cff000db3338cfffff24ccdff000f3330ffffe84c
+cda58bff000ce6688bff000e1998ff00098000ff00044cd0ff0007199aff0004ccc8
+fffffab333ff00098000fffff99999ff000880008b08ff000966688bff000d1998ff
+0004cccdff0002e668ff0005cccdff00064cd0fffff16666ff0018ccc8fffff26667
+ff001499988bff0012b3388bff001b1998ff0007e666ff000b8000ff0006cccdff00
+0b800078ff001b1998fffff2b333ff000f99988ba28b99ff001480008bff000b199a
+8bff000b199982ff000ecccdfffff1e6689208fffff2e668ff00068000fffff48000
+ff00018000fffff28000fffffd666708fdcaff013fb33415ff0004e666fffff88000
+fffff58000ffffff3333058b8bff0003199afffff9e666fffffc3334ff0000b3348a
+ff00003333fffffde666ffffff6666fffffd66668a08ff0009b334ff000c999a05ff
+000d4cccff000e199a1592fffff88000ff00023334fffff94ccdffffedb332ff0004
+800005ff002f3332ff0032199815ff00073334ff00016668ff00068000ff00006666
+ff0006b334ffffff3332ff000a9998fffffeccceff000a6668fffff4ccccff0001cc
+ccfffff5cccd8cfffffa199aff0000999cffffea8000fffffcccccfffff96666ffff
+ff1998fffffe199afffffe999cfffffecccdfffffde664ffffff19998affffff999a
+fffffee668ffffff9999fffffeccccffffffcccd08ffffe88000ff00108000fffff2
+8000ffffffe667fffffd8000fffffd1999fffffc8000fffffeb333fffffcccccff00
+01b334fffffe6668fffffd4cccfffff84cccff0005b334ffffefccccff0003b33305
+d5ff004e666815ff00098000fffffc8000ff000b4cccfffffb99988affffff6668ff
+0009e668fffff7e666ff00061998fffff7999aff00053334fffff44cccff0001e668
+fffff9b333ff00001998fffff080008b8b08fffffbe66860058bffffffffffffffff
+b33486fffffc9998fffffde667ffffff4cccffffff9999fffffe999cffffffcccd89
+8bfffff880008bfffff18000ff0002cccdfffffab330ff00033333ff0002e668ff00
+016666ff00028000ff00023334ff00018000ff00031999ff0003cccc93ffffffb334
+ff00156667fffffe9998ff00081999fffffdccd0ff000c8000fffff34cccff000d66
+677eff0001800008fffffab334ff0000999afffffa9998ffffff6666868a08ff01dc
+8000ff0027999a15ff000166688bff0001b330fffffd8000ff0000999cfffffd1998
+ff00009998fffffd3334ffffff999cfffffcccccfffffe9998fffffd999afffffe19
+98fffffce666fffff83334fffffd4ccefffffbb334fffffeb332ffffffb3348cffff
+ffe664ff00013334ff0000199cff00016666ff00004cccff0002999aff00011998ff
+0003199aff00018000ff0002999aff0001e668ff00034ccc8fff0005b3348e8b08ff
+001a3330ff0005199815ff0000b338068bffffffccceff00011998ff0003999affff
+feccd0fffffbccccfffffeb330fffffb8000fffff89998fffff5cccc89fffffb199a
+fffffe3334ff0001cccefffffeb334ff00021998ffffffb3348dffffffb334ff0002
+8000ff0000b330ff0002b334ff00036668ff0002e66608ff00001998ff0000199aff
+0000199c8b05ff0002e664ff0002e666ff0002b334ff0001e6668dff0000e668ff00
+00e664ff00006666ff000099a0ff00003332ff000066608b08ffffd5b338ff0001cc
+ce15ff000133308bff0000b334fffffce666ffffffe668fffffab334fffffde664ff
+fffb9998fffffbb334fffffc8000fffffab334fffffdb334fffffd6668fffffee666
+fffffd1998ffffff3334fffffd1998ffffff999afffffe4cd0ff00028000ffffff4c
+ccff000233328eff0003ccceff00056664ff00041998ff00064cd0ff0005e668ff00
+03e664ff0001cccc8cff00008000ff0000b334ff0000199aff000066688b08ffffd8
+3330ff00014ccc15ff0002e6688bff0001b334fffffe999aff0001b334fffffdb334
+ff00029998fffffc8000ff0001e668fffffa4cccff00018000fffffab334fffffde6
+64ffffff3332fffffde668ffffff4ccefffffe33348afffffa8000ff0001b332ffff
+fa1998ff00024ccefffffc6668ff0002e666fffffd80008d8aff0001ccccff000019
+98ff00018000ff00001998ff00016666ff00016668ff00026668ff00049998ff0002
+cccc08ff0002199cff00014cccff00014cccff0000999aff000299988b08fffe1299
+9cff008d666615ff000033328bff000033348bff0000199affffffe668ff0004b332
+fffffe6666ff0001b334fffff9999a8b8b08ff0008e666ffffdb9998ff0002b334ff
+ffdf999aff00001998ffffebb334058b8bff0005b334ffffe7199aff0002b334ffff
+f9ccccff00033332fffff88000ff0006e666fffff5e666ff0002199afffffd6666ff
+fffb6666fffffbcccefffff48000fffff56666ffffe3199affffdfcccdff00006666
+ff00019999ffffede668ff001633348bff00024ccc8bff00073334ff0003b332ff00
+06ccccfffffe4cceff00094cceff0001b332ff000a9998fffffbe666ff00084cceff
+fffbccceff00074ccc08fffffbb332ff00076666fffffbe668ff000680008bff0007
+b334088bff00008000ffffffccccff0000800005fffffd999aff0006b334fffffe33
+32ff00083332fffffc4cceff00074ccefffffc6666ff0007199885ff00064cceffff
+f63334ff0002e66608ffffffe66606ffffff999aff00003334ffffffccccff000033
+32ffffff999aff0000333408ff000fcccc8fff001ce666ff00234ccc058b8bff000f
+3334ff00133334ff00053334ffffffb33208fffeebccccff00194cce15ffffffe666
+ffffffb332ff0000199affffff999affffffe666ffffffb334fffffecccdfffffbb3
+32fffffce667fffffcb334fffffb4ccc8afffffde667ff0001199afffffe3333ff00
+01199affffff4ccdff0000ccccffffff1999ff0000e666ff0000199aff000080008b
+ff000033348bff00003332ff00003333ff00006668ff0000cccdff0000b332ff0000
+cccdff0000b334ff00016666ff0000ccccff0001b333ff0000999a08ff0002b3348c
+ff00038000ff00008000ff00036666ff0000199a08ff03a09998fc9d15ff00009998
+ffffea1999ffffe64cd0fffff2cccd7e8bfffff299988bfffff13338ff000b4ccdff
+00023330ff00143333ff00051998fffff53334ff000be668fffff84cccff000d8000
+8b988bff000bb330ff0009b334ff0008e668ff000c666608ffffb31998ff00504ccc
+15ff0003e668ffffea8000ffffec4cd0fffff0199afffff3199889fffff2cccc8975
+ff000c6666ffffff199cff00146667ff0006b330fffff63333ff00128000fffff666
+66ff000d6668ff0002199aff000ce6688dff00066664ff000a4ccdff0006e664ff00
+0d999908ffffad00044415ff0003b334ffffea6667ffffe86664ffffef3333fffff3
+199cfffffe3333fffff2b330fffffe199afffff2199cff000b6666ffffff6664ff00
+146667ff0006999cfffff6199aff000a6664fffff79999ff000d6668ff0001e667ff
+000ce668ff0001ccccff000a4cccff000b666692ff000d8000086bff0061800015ff
+0003b334ffffea6666ffffe98000fffff00001fffff31998fffffe3333fffff2b334
+fffffe199affffeb8000ff0009e666ffffff6664ff00146666ff0006999cfffff619
+9a9cfffff9199aff000d6664ff0001e666ff000ce668ff0001ccccff00093334ff00
+0a999a92ff000d800008ffffa96664ffffac4ccd15ff00056668ffffeaccccffffe6
+8000ffffe9cccdfffff34cccfffffd3333fffff2e668fffffd199affffec8000ff00
+0b3333fffffdccccff00144ccdff00074cccfffff6999aff000fe668fffff79999ff
+000d3334ff0002e667ff000cb330ff0002ccccff000c8000ff000fb33491ff000dff
+ff08ff00a68000ff0098e66715ff0000999cffffea1999ffffe94cccfffff24ccd7e
+8bfffff299988bffffecb334ff000dcccdff00023334ff00143333ff00051998ffff
+f53333ff00106668fffff5cccdff000d80008b988bff0008b334ff000a3333ff0008
+e664ff000c6667080efbbefb0aa5f76caad1a001bebcf70bc103bef74315f8260abc
+4215f8270a0efbcdfb0aabf770a601a6c1f70ac103f731f73515f8470a0efbacfb06
+af77a1f761a5d1a012a3c1f717bb13bcf7657e15f8280a86fb2d15f8290a137cf82a
+0a13bcf82b0a0efbeafb04a2f74aa8f708a401d3bc03d350158b79fffffacccdffff
+f98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a
+8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff0000333308768d
+05ffffeccccdff0001cccdfffff93333ff000833338b9d08f72cc60791938d911f9d
+078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b96
+84967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efb
+acfb82a9ebb3c0a1f71fa17ba7129ab672be58b4f708bf8bb213ea00f79ef71315f8
+2e0a13f200f82f0a13e900f8300a13ec40f8310a13e980f8320afb4ffb7e15f8330a
+13e440f8340a13f280f703f74415f8350a0efbb4fb04a2f766add1a001c2bcf703bc
+03f3f75015f8ae0a0efc25fb03a8f761a0d7c512d3c559bb13f0f0f7aa15f8420a13
+e8a6fbce15f71c0713f0f8430a13e8f8440a0efc18fb699ef7d1a0c9c4128bbbb2c7
+58bc13f8f709f79b15f7870a13f476fb5215f7880a13f8f7890a0efba9fb04a8f768
+a5d1a001c3bb03c36615f8af0a0efc46fb05a1f7d0a001c2bc03c26715f7970a0efb
+02fb03a8f75da17dad12cdbbf705bbf705bb141c13bcf70fe115f8b00a13dcf8360a
+0efb7dfb03a8f75da17dad12d1bbf715bb13b8f713e115f8b10a13d8f8360a0efbb6
+fb82a8f1a5f75ca17aaa12c3bbf716c113dcf3fb3715f8b20a13ecf8380af71304ed
+0713dcf8390a0efbb3fb82a2f700a5f766a501a8c1f711bc03f7645615f8e30aa9ca
+15f8e40a0efbf1fb03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0e
+fbeafb0aa4f779a412a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a
+0a0efc19fb0ab3f760a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a
+0efba8fb0aae7ca1f765a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e
+0a0efbadf719a20194f7bc03f760f71915f8460a0efb1df719a201f7eff71915ac88
+ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ffff
+f3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff001ce66608ffffdae666
+ff00694ccd05fffff48000ff0020b33389ff000b4ccdff002080008e8f8f8b9a878f
+748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333fffffb
+8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc6667
+ffffae666605fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff600
+01ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff0005199990
+9608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666ff
+001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f8708
+0efb95fb82b4f7dea201a2f7bc03f785e115ffffc94ccdfb13fffffbb3338a52f714
+05fffff2199aff001f199aff00006666ff000ce666ff002080008e8f8f8b9a878f74
+8affffeecccd8affffe633338b758b818c748c87878b7c8f87ac87ff0001999a7fff
+000f66666808cffb2e05ff0005999afffff34ccdff00046666ffffeeb3338b848b85
+8a8688837b65786c828b858b869085918790858e828b088178827974aa81971fb78b
+a2b19eb7ff00344ccdf70dff0014b333ff002e4ccdff001dccccff0046e66698aaff
+0004b334ff00104ccdff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d
+8c748c0887878b7c8f87ac888ffffff480007dffffdf8000080efbd5fb04a9f764a8
+01a2a103d1f72f15818bffffeecccc8efffffb33349008858a058b6f8772866dff00
+063333fffffd4ccdff00088000fffffecccdff00074ccdff0000e66697b7a0919e8b
+08d78bfb26fb6e0586838b8a8b8708878f88951ef759068e9e91a896affffff8e666
+ff0002cccdfffff8b334ff00018000fffff86666ffffffb33308847a057c6a818367
+8b08418bf722f76605989e8b8f8b8d088c078e878b871e898b6f89798b080efb63f8
+01a7c576e1aaf70da801a7a8f70eaaf70ea703c4f8a715f9320a6e16f9330af74a9b
+15e26c34346ce235aae1e1aa070efb63f801a7f70faaf70da801a7a8f7a7a703c4f8
+a715f9320a6e16f9330af7a07c15aafb606c070eccfb6d76f778b3f805b301b4ddf7
+3ddaf73cdd03f773a9153979f700dfe29de5e21fa18b9f81a17008fbb407786d747d
+708b08f76df80515f7f40a46fc6215dd07a175a184aa8b08f3d2f701f71bf70356e9
+271f5c8b6f79757008f702078bbf9ec7d3b6087ba0053e6573627d6f80a772b83dad
+087a7605d5609d4f8b5708280778a072986c8b08303635fb34fb00c12cef1fb38baa
+97a5a7082e078b577950415f089c7705d9ada4b896a6996fa363d865089b9f0543b6
+78c78bbf080e5c89acf7aeb7b8ae01f707daf77cda03f7ebf84915fb29ce068bbf9e
+c7d3b6087ba0053e6573627d6f80a772b83dad087a7605d5609d4f8b5708483e68d8
+fbd8078b6e807e698808778905868a87898b86088b748d89058bd38db1b4d3898b1e
+8d8d8ba20590878e871e768d05698e80988ba808f73a07c3c4c197a68bbd8bb8668b
+fb278bfb8d2e774c5d08977c05f70cbcf2dc8bf75f8bf74440bc388b588b5b7a5557
+08f706f729070ef8cff70c01fbb9f76803fb6df94715c70a0ef8cff70e01fbbcf75d
+03fb31f94915f71b0a0efb91f78703fb05f91615fffff0999aff0007b334fffff666
+66ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79
+b279ff0009199aff0003ccccff00041999ff0008199cff0002cccdff000919980867
+a666ad6daf080ef8a0f70701fbc6f78803fb61f8a015f7020a0ef8b4bfc87701fbbd
+a7f76ca70372f92515f50a0ef8ecf72701fbf6f7910326f95415ff001033347fff00
+15cccc6e1e808b8487868308ffffc4b333fb0105fffffd7ffffffffb6668fffffecc
+cdfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408fb1790
+15ff00174cccffffe9b333ff000eb334fffff04ccd1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080ef8e9f7
+2afb107612fbf6ff00fa800013a0fbf6f95415f7680af71790158b838d84908708e3
+ffffaf8000051360ff00046666878ffffffc8000ff0005999a8b928b91908b928b8d
+ffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7020513a0869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080ef8f1bf01fbbea7
+f76ca703fbbef8b415f7630a0ef94eaa01fbcfd1f703d003fb52f96d15f7d70a0ef8
+8baa01fbe1d4ebd40330f8e215f8000a0ef959eb01fc11ebe8eb03fb54f98915b70a
+fb5116b70a0ef96476c5a301fb8bb8a1a59bbf0335f96915f8580a0efbc4f8e0f301
+e9f303e9f91415f7000a0ef8d1ffff2ee666ff0016199aefadff033e8000ff0016e6
+68018bff001a8000ff04478000ff001e333003f8d6f703158c8bda4a8d8b8e8b9290
+8b8e8b8c32d88a8cffffff1998ff0000e666ff00078000ff007380008bff0023999a
+8bff00056666ffffffccd0ff0003999affffff99988c87958692828f08848efb018c
+8b8b0861468a709c7c058c959d8b1fa279058c91968d1f8b8c779d8b8d8b8f9eb18e
+8cff00024cccff0000999aff000a999aff0000999a948bff0006199a8bff0007199a
+ffffffb3328bfffffee6668bfffffb6668ffffcde666ffff9fcccc8b8a8c89c36d8d
+8b088cacc78b1fff00014cccff00014ccdff00013334ffffe999998bfffff033348b
+fffff76666ffffff9998fffff96666ffffff199c8bfffffb19988bfffff6b334ff00
+12333483ffffefe666ffffff3334fffffe6666ffffff9998fffffe66678bfffffe66
+668bfffff3e667ff00153334fffff5cccc8bffffff199a8a838d848c88088d86977c
+918b928b8c9a8d8b088dfb2c1587858b85938b08f7c906ff00004cccff00003334ff
+00003334ff000066661f8bff000a3333ffff97e668ff0084e666fffff19998ff0011
+4ccdfffffb6668ff0005999afffff63330ff00039999fffff4e6688bfffff333348b
+fffff18000fffffb199afffff5ccccfffff3b3336a637f78798584895046888608fb
+78af15ffffdab334ff000d3334fffffa3332ff00026666ff00003332ff000033348b
+ff0000199a1e99a1d9f71f939908ff0001999aff002966664d8b1f932905937f9283
+9f8b0885f71a65c605869154a789898a8a2cffff53cccd8bfffffc333308f775f8fa
+158cf823fd4c8b1ffdb48d058bf823f94a8c1efca2fdb015ff0000999affffffcccd
+b5ffffffe666ff0042cccc8bff010b66668bff02990004ff00014ccdff000333308b
+ff001180008bff00088000ff000bb3338bff000fb3338bff0009666788ff000ab333
+85ff000a8000898efc8dfa06899087ff00081998fffff4e668ff00076668fffff44c
+cc8b08fffff780008bfffff71998fffffc1998fffff93334fffff566688684fc9afe
+0f89858afffffc999affffff8000fffffc80008bfffffc80008bffffeee666ff000b
+3333ffffef3333ff000d4ccdfffffe4ccd08f8d1fa5015f88dfdfd05ff000f1998ff
+ffe7b333ff00081998ffffeae6678b7a8bfffff19999fffffa3338fffff4999affff
+f39998fffff83333fffff44cd084ffffeeccc887ffffe880008bfffff94cd08bffff
+f8ccc8ff00004ccdfffff84cd0ff0000b33308fe698c05fffffe4ccdffffffe666ff
+fffe4ccd8bfffffe4ccc8bffffee999a8bfffff14cccff0002b334fffff48001ff00
+051999ffffed333393fffff5199aff000de667ffffff6666ff001266668b988f9a96
+9c8d8ff88ef9fd9093ff000b1998ff0014b334ff00123334ff000ab334ff00128000
+8b08ff000833348bff00084cccfffffde664ff0007b334fffffbb334948694829180
+08ffffe11998fffe37b33415ff00068000fffff98000ff0008e668fffffc8000ff00
+0933348bff000519988bff00053334ff0001199890ff00023334ff000d4cccff0005
+e666ff0007cccc988bff000d999a8bff0004e6668aff0004e666fffffde668ff0004
+b334fffffa1998ff000c8000fffff33334ff0007999afffff266688bfffffb19988b
+868afffffb3334fffffde66608fffff2b334fffffa199afffff833347e8bfffff266
+668bfffffb199a8cfffffb199aff00021998fffffb4cccff0001b334fffffc199aff
+00028000fffffc8000ff0002e664fffffd199a08fffdb63334fffe41b33215ff0002
+4cceff00054ccdff0002ccccff0005999aff0003999aff0005b333fffffc3333ffff
+fa199afffffd3333fffffa8000fffffde667fffffacccc080ef8c3fb65a0f92977f7
+cba101f86ac0e0bd03f84cf77615967f9a8f9a9408c0d88b36d78b8bf5a9718b3f05
+9c8b9596929a088bc5839a41c8056e927a84807c088afb31158b8325fb4e05968795
+84a59c08e8f73aecfb46059694979689a3083bf7298b9205f74dfb9e15de8b39f71c
+4d8a053ffb1a15df8a5cf71c828a059771976f5e720876b2898d05fb0b2b15e08b7e
+f71a4e8b05fb27fb1b15de8b98d005707b79907a9508b0ce718b05fb48fb1a15df8b
+c6f71a4c8b05f797f7f715a07a9c76767a7a76769c7aa0a09c9ca01efc39fc9e15f8
+1ff940f81efd4005fe1d2615f9340a7604f9350a0ef829f716a0f85a77b776db77f8
+47a101f854f8b3159f7b9a77777c7c77779a7b9f9f9b9b9f1ea8791593819281a18e
+08e0b994326afb50b19fadf739ab41058e868d85908a08f063058d9891947a9e0846
+a96dd582e3b07e9e6605987f998999920867d247a105767e758171998b8bfb014780
+88083efb8e15938d948f9296088adaa3929a76df8c0588958a977d8d08579177dba1
+8a996f059d7d9092938d0871c25396057b837b8a7a90083e40059183968b968a08bc
+b305f7a5f75815a1799d7575797975759d79a1a19d9da11efc83fc2015f81ff940f8
+1efd4005fe1d2615f9340a7604f9350a0ef8d5fb77f2c5a1c5ff0014cccdff004d33
+33a1af9f9e9f8aa012f7e0a2f72ea1f70bff00168000ff00978000a113f9e0f939f7
+3615ff00066668fffff1e666ff00064ccc7dff00066664fffff1e667ffffe34cd0ff
+ffee9999ffffece664ffffe06667ffffffb334ffffdbffff0878ff0000333305fb23
+f71b15f73e8b5afb190513fbe052f76815438a9792ffffd9199affff833333fffff9
+ccccff00013333fffff9999aff0000999afffff980008b08545e5f5454b85fc2c2b7
+b7c21f8bff00293333ffffe74cccaeffffdc66689aff00023332ff0007199aff0002
+8000ff00079999ff0002999aff0008199af726fb2e55a3d988088d06ff00091998ff
+ffd2b333ff0027ccd0ffffde4ccdff003019988b08c2b7b7c2c25fb8541f808bffff
+f56668fffffe3333fffff61998fffffcb333fffff83334ff00114ccdfffff6e664ff
+0014199afffff56668ff0017b3330813fde0919ea28c8b9e348b058381958bb28208
+8677fb438b0513fbe097b48588c08b08fb0afb0a15ff000433348bff00041998ffff
+ffb3338fffffff6667ffffe7199affffb28000ff0002999aff0008e6668bfffff980
+008b858e87918bff000a6666ff0000e666fffffdb334fffffe999aa4ff004fb333ff
+001ab3327fff00123334ffffe54ccd8bffffe0800008606969606069adb6b6adadb6
+1efb8cfb7e15f82af953f82afd5305fe382415faaf06988b9692919591958b9a8595
+08fca1fa2105859580927e8b7e8b8084858108fca2fe210585818b7c918191819684
+988b08ff02608000ff00f1199a15ff0050cccc8bff0006ccccfffffc3333ff0000e6
+68ff000db3338bff0003e666fffffeccccff0002b334ffffdcccccff004e1999ff00
+07199cff00023333ff00078000ff0001199aff0007cccc8b08b6ad6860606969601f
+ffffdbe6688bffffe23330a3fffff76668ff0021199a08fffffd8000ff0014800015
+ff00003334ff001b4cccff000dcccca3ff00153334ff000dcccd08ff001dccccffff
+be4ccd050ef829ff003f6666ff02904ccc01ff00226666ff0023333303ff0195999a
+ff0260e66815ff00704cceff001eb330ff002c3330ffffe6999cffffadccceffffe8
+199805ff0050199affffcf8000ff0040e668ffff9c999affffd48000ffff7d999a08
+ffffd8e664ff000e666605ff001d199cff0047ccceffffe31998ff006e9998ffffac
+6666ff002d333408ff0015999affffade666ffffd53334ff0017ccce05ff005c8000
+ffff05199915ffffe21998ffff8f6666ffffd3e668ffffe6999aff00149998de05ff
+ffadccceffffd3199affff89999afffff9cccdffffa4ffffff0067199a08abff001a
+999905ff002f8000ffffc2cccdff006e3332ffffe18000dcff0031999a08ffffae19
+9aff00168000ff002a3334ff0018ffff05fffef79998b915ffffadccccff00528000
+ff00004ccdff0032e668ff003d4cccffffc4666605ff00029999ff005d999aff0036
+4ccdff00698000ff0086e666ff001ab33408ff0006ccccffffd6e66405ffffb33334
+fffff5b334ffffae3333ffffb04ccc8d2c08ff003cb333ff003b6668ff000066675a
+05ff01c84cccfffff3cccc15ff00b51998fb27ff0093199cffff4ae668ffff4ae666
+fb27ffff6ce664ffff4ae668ffff4ae666f727fb27ff00b5199aff00b51998f727f7
+27ff00b5199a1e0e1c053d1c04a6f79c159ff506ff0006cccc94ff00036668ff0009
+3330ff00098000ff000999a0fffffc4cccfffff880001e8bfffffc8000fffffde660
+fffffbb334fffffaccd0fffffacccc087d779b068d8f87881f6707878786881e7e77
+9f06909a98901fc1078f8391898d93948e1ea307ff000db334ffffebccd0ff00074c
+ccffffec3330ffffece668ffffed1998fffff93334fffff1cccc1ef74e5115fffff9
+4cd0ff001ae666ffffeeccc8ff00093334ffffef19988bffffeb33388bffffedccc8
+ffffefb332fffffdccd0fffff33334086407ff0008ccd0ffffe9b3349afffff93332
+ff000eccc88b9e8b9bff000ab334ff0003e668ff0003e66608fffff28000ff000e80
+0005fffffa6668fffffb4cccfffff84cc8fffffce668fffff880008bfffff5e6688b
+fffff64cd0ff00058000fffffc9998ff000e4ccc08c906ffffe880009f15ffffdb80
+0006ffffff6668ff000a8000ff00099998ff0007b334ff000999988bff0007ccd08b
+ff0007e668fffffaccccff000233307e08fffed38000b215838b8388838508937529
+a1ca07ff00053330ff00088000ff000699a0ff0005e666ff000780008b8f8bff0004
+3330fffffe6666ff00048000fffffc3334089a9e05888f828f808b0837a615756f81
+79954f068b829881908a089d9f8106888b8b8c8a8d08c4999d7d07fb0947157e7f05
+928292849b89ff00038000ffffff8000ff00034cccffffffb334ff000333348bff00
+0333348bff00034cccff00004cccff00038000ff000080009c8c97938f988c908b91
+8a9087978192828e087206858a869a968f908c908b908a94899088908808989a0583
+957f8e7f8d858c868b868a79888483888389848d848b848d80948695889589958a95
+8b08938b897d85890885890584897f8c898c858f868e858e08fb06cf1529a2cc078d
+ff00094cccff0008cccc90ff0008b3348bff000919988bff0008e668fffffa8000ff
+00008000fffff43334084d9ed80789958192818e848d858b848a868a858987880891
+07fb16b115fb1ca1cc078dff00094cccff0008cccc90ff0008b3348bff000919988b
+ff0008e668fffffa8000ff00008000fffff43334084d9fd80789958192818e848d84
+8b848a868a8589878808b707f8612d15a77c068a888787888b087706808b8ca1958b
+089cc5157b06807d83851f987d8e8b058e908e8d1ea0068f8f88881f7f6907ffffee
+e668fffff88000fffff1b334fffff16666fffff0b332ff00084cc8fffff03334ff00
+0e4cd01fa6068e8b908e8c8f0884a1d707997a957b1efcd45115a77c068a88878788
+8b087706fffffa9998fffffd8000ff00053334ff00056666ff0005999aff0002ccd0
+ff0005ccccff000519981f9cc5157b06807d83851f987d8e8b058e908e8d1ea0068f
+8f88881f7f6907ffffeee668fffff88000fffff1b334fffff16666fffff0b332ff00
+084cccfffff03334ff000e4ccc1fa6068e8b908e8c8f0884a1d707997a957b1efb27
+af15fb1ca194078c869784918b089506989c9d951fba07997d97801e7906fffffbe6
+668bfffff7199afffffc999a88fffffb666608b907fb14651529a1ce07ff0003999a
+ff00043334ff00066666ff00059998938bff000566668bff00063334fffffd6668ff
+00066666fffff8cccc0848a1d0079a7d99801e7706858b8785888808940744b11576
+a0a007776515299fed07fac9f78215908bff000a3330ffffff4cccff0005ccd0ffff
+fcb33408f865fb9dfc65fb9e05fffff79998fffffb3333fffff81998fffffde66784
+8bffffed33388bfffff34cc8ff000f33338bff001319998bff0004199aff000099a0
+ff00043333ff00013330ff00044ccd08a8f31cfb128b8bf7871c04ee8b6ef305ffff
+ff1998ff00034cccffffff8000ff000380008bff000366688bff0010cccc969cff00
+1666688b081cfb02c315726e706f1ffcb1076fa871a41e1c06e006a1ae9eb11ff8ab
+07b1679f751e1cf9bcfb941533fb1ce3a149afc39f53afcd06f75effffadcccc15ff
+0021333407ff00058000ff00094cccff00063334ff00036668ff0005cccc8bff0007
+e6668bff0007199afffff9b332ff00038000fffff9999a086a07fffffa999afffff7
+8000fffffa3332fffffc8000fffffa4cce8bfffff94ccc8bfffff96666ff0004cccc
+fffffa333492080ef84afb6776f7a2e4f7a7ff003be666ffffc5199aa912b5d0aef3
+f7d8a9f745eeadce13cf80ff011c199aff0113b33415fffffa199aff0000e66685ff
+00006666fffff9cccc8b084856554848c055cecec1c1ce1f8bff0030cccdffffe366
+66ff0029cccdffffd6999aff00133332ffffeeb334ffffca3334fffff14cccffffd1
+b3338b8bfffff9e666ffffed199afffffd199afffffb3333818bfffff6e6668bffff
+f9199a928b948bff00064ccdff0000999aff0004b333ff0005ccccff0012800008ff
+01a66666ff0067e66615ffffe23334ff0041999a40fb5aa98b058bff0037cccdff00
+1e1998ff00314ccdff002cb334ff001b4ccc08ff000e4cccffffe0800015ffffdecc
+d0ffffeacccdffffea1998668bffffd54ccd08f0069ff70c15fffff3b3348bfffff4
+3334fffffe3334fffff4ccccfffffcb332ff001c66644cff00113334ffffda199a8b
+8bff000ab334ffffe866668cfffffc199a8bfffff980008b82fffffa1998fffffd19
+9affffdd6668ff0000199908ffff9db334ffffffcccd0599ffffcc999aff002ee664
+ffffda6666ff0037e6688b08cec1c1cece55c0481ffbc9f76a158b6c0513ef8062ff
+ffffe66605ffffe5ccccffffff3334fffff8e668fffffbe666fffff99998ffffed80
+0008fffff5b334ffffdb80000513df80f7a48c96a905ffffd1b334ff0008b334ffff
+ea8000ff00054cccfffffe8000ff0006800008ff00004cccff00098000f7208b8b6c
+678b0513ef80806d05ff000fe668ffffdcb334ff000e8000ffffdf9998ff000ce664
+ffffe36668ff000f999cff00056666ff0010ccccff0002e666ff00114ccc8b08e0d1
+4536364544361f418bffffc14cccff0035ccccfffff1199cff0046199a08ffffde19
+9806ffffdb3334ffffffe667fffff79998ff00021999ffffec3334ff0013cccd8b8b
+ffffc46666ff0045999affff92199aff0073b333fffffc3334fffff46666fffffc19
+98fffff3e666fffffc199afffff3e668ff0037333473ff00276666ffffc919998bff
+ffc0b33308364445363645d1e0e0d1d1e01eff0009b3348bff00098000ffffff199a
+ff00093332fffffe4ccc08b5ff0085999a05ff000e3334ff002d3334ff000fccccff
+0004ccccff002b199aff0000cccc08ff00658000ff00d7333415f9360afb34fbe615
+f752fb63d7f763050ef8428b77f398e1a6f794a9f700f112b7f786b899ad9cac9389
+f72bb7a513ff20f7dff81d157f358ab598370899988bf7040529fbb71595ba92b5bc
+c37e9189a1859d8a8f86a68b9e8b9b8ea28d8f99ab93aac19f08ac06c9809761a25f
+a756ab5b6b79ae759d64bf85a3899a929d8d08e5fb01058f6f81878187084fd49f20
+6e8b9efb05058b8066898b960879f3718b80fb0b0513ff608b7f6a8d8b95089af791
+22ec057fa094938e950813ffa07db771b178b408838b8cfb0705df438d57965208fb
+187e1513ff60b3fb56068b74648c8ba10852f75615b3fb33068b7c648d8b9808f78c
+f7e215a79ca0aba89e757069717c757174a1a61efb91f7b715aca2a0aaaaa2746c6c
+72746e6d73a2aa1ef91afbcc15f797fb66f765fb97fb97fb65fb65fb97fb97f765fb
+66f797f797f766f766f7971e0ef829fb13d246c6f70df72933b2649f9fbb6ea8f73b
+95b69cf72a9dccae12f7a3cfb7ba7e93a095ec9fa49ad8cc1303f3c0e7f77415f9d9
+77fdd906f8aef79e157b7e7e7b7b7e989b9b98999b9b987d7b1efb26f74015797c7c
+79797c9a9d9d9a999d9d9a7d791efb0afb9915ff0005ccccff001c6666ff00048000
+ff0014b334ff001c999aff001f999a84ff00049998fffffee666ff000c3334fffffc
+3334ff000a80000886a990a105949e909eab97089e06b084927199719b6ba0747880
+a07e9771aa889a8a938f968c08c14a058d7b858785890866b79851798b9751058dff
+fff6199affffe99998ff0000199afffffe6668ff0007cccc0880c17c8c834b058aff
+fff7b333ffffec9998ff00024ccdff00006668910894f71d4cc5058398918e8d9282
+a57d9f7fa408864906be5f8c749269083c8215a325068b7d738c8b980869f115a33a
+068b81748d8b9308f8c15915f797ffff423334f766fffee8ccccfbadfb50fb66fb97
+fb97f748fb67f7b5f7aff74ef767f7971efcfefb6415878c878b878b085f68675f1f
+1381fbc05fae67b7b7afafb71e8bab77a670988067816d8b8b877f8a88848b858b86
+8f8b918b8f8b8f8f9708f7abcf1578b759fb179f8b058bb09eaba99d08957715757d
+7c728b6f08ce0698da15838b838a84899e6196728b8b927b8c898b87081341f3c085
+8789741e4a069469aa72b08b08b7afafb7b767ae5f1f1313f3c0fb60f72115777007
+7a8afffffab334fffffd199afffffc4cccfffff3e66608134df3c08474f7488b929f
+056c917d8e8a8f0892e8767307847705957494769478958f978c968b08c3b95d5353
+5d5c531f5a8b62af81b9087506738b858c7e988b8b64b942d7898388848883af7ba6
+678b6108535c5d53535db9c31e1321f3c0c3b9b9c31e918b928b918a08a6e3051313
+f3c094a9978da78c08643a15f711fb1cbdf71c051301f7c0fb38ff017c4ccc15ffff
+feb33407878787878887ffffff999aff00003334ffffffb332ff00004cccffffff99
+9aff0000333408ff0003999a8f8fff00043332ff00048000ff00046666088b04ff00
+028000ff00028000ff0002b334ff0002999aff0002ccccff0002999a088bca838d05
+0ef866fb7eb4f7eb9483c751bdf72e9c879b12b7a59ec6b0b2f49c9ec3a3c29ea2a1
+f487929f949f8f8ae1a5991383fd20f8b2fb5515f9d7a1fdd707f7c4f850157c7d7f
+7c7c7f979a9a97989a9a997e7c1efb20f73b151387f9207a7d7c7a7a7d9a9c9c9998
+9c9c997e7a1efb03fb961590ff001ab333ff00039998ff0017cccdff001b3334ff00
+1f999afffff93334ff000433338bff000ccccd87ff0009e6660886a78fa405939c90
+9faa96089d06af85927198739b6d9e6f79819f7e9574a988998a9290968c08bf4c05
+8d7b858985890869b4974e7a8b964a058b8575898b920881c67d8b84480513c7f960
+8b84788c8b910894f7254ec2058497908e8d910813c7f9a083a57da280a208874906
+bb618d6f916a083e821513c3f960a3fb03068b7e748b8b980813c3fd206bf70315a2
+31068b82758c8b9308f7eff74315f797fb6ff765fba0fba0fb6efb65fb97fb97f76e
+fb66f7a0f7a0f76ff766f7971efde6be15888b868c888b08656e6d651f13a3f92065
+a86db1b1a9a9b11e8ba67ba37496816d83708b8b88808989858b868b888f8b908b8f
+8b8e8e9508f781c5157ab061fb039c8b058baa9ca7a49a08937915787f7f778b7308
+c30697ce15848b848a85899b6894768b8b917e8c898b87081393f920868789781e54
+06936ea676aa8b08b1a8a9b1b16ea8651ffb41f70c157974077c8b8788878108138b
+f9208677f72c8b919c051387f92071907f8e8a8f0890da07139bf9207a7707847a05
+94779479927b948e948d958b08bbb1645b5b65635b1f628b67aa83b2087806768b86
+8c80968b8b6ab24dcc898489858984aa7ea16b8b68085b63645b5b65b2bbbbb1b2bb
+1e908b918a908a08a3d60593a4948fa38b086a4615f5fb08b6f708051383fb20f7cc
+ffffac4ccd15fffffeb33307878786878887ffffffe6688b8bff0000199affffffe6
+648b08ff0003999cff00043333ff00041998ff00048000ff00048000ff0004800008
+8b04ff00023334ff00023334ff00024cccff00023334ff00028000ff00024ccc088b
+cb848d050ef829ff000a4ccd9cff00251999ff0010199aa99aa8ff00116666ff00c2
+e666ff00078000ff0029e668ff000e3332ff00800002ff000e9998ff00369998ff00
+39199cff0023e6649c12ff0010e6669cff006acccdff00809999ffffc1199aff0043
+333499ff00113332fffff06668ff0006e666ff0011199aff00088000ff0010b332ff
+0003999affffff4cccff004bb334ffffb94cccff00114cceff0014199a9cff002680
+00ff000cb332fffffa999aff00113334ff0016ccccd046ff00113334ff00deb3349c
+13ffca41ff0130999aff008a666615f9370aff00faccccff004acccd1513ffc205f9
+380a13ffc203f9390a13ffc205bf06fb40ff00114ccd1513ffc229ff00003334ffff
+94999a9c8b8bff00499999ff002e6666ffffb66667ff0010999a8bffffffe666ff00
+6b80007affffffcccdffffffe666ffffb4ccccffffd18000ff004b333405ffff8f80
+00ffffe480001513ffca41f93a0a13ffd201ffffaee666ff001b4ccc158b7bff002d
+999aff0000199affffd0999affffb3999affffffe666fffff14ccdff0045199a8b8b
+ff0010199a5b8bbbd8ff0000199aff000dcccd05ff01b26664ff0225800015ff0003
+199c8b90fffffe6668ff0003ccccfffffc8000ff0003ccccfffffc8000ff0002b334
+fffffb3334ffffffe668fffff89998088bffffffe6688bfffd711998058bfffffccc
+ccfffffde664fffffb3334fffffc6668fffffc4cccfffffc6664fffffc4ccefffffb
+666889fffffdcccc8b08fffd6e999cffffffb3330587ff00000001fffffa999aff00
+01b333fffffc4cccff0002cccdfffffc4cceff0002cccdfffffdccccff00034ccc8b
+ff0005199a08ff02926668078b90ff0001b334ff0004e6648eff000366688eff0003
+6664ff00046666ff00028000ff0007cccc8b08ff028e4cccff0011333415f93b0aff
+ff0eb334fffee4e66815fffff29998fffff5199afffff5199afffff2999afffff299
+9afffff5199aff000ae666ff000d6668ff000d6666ff000ae666ff000ae666ff000d
+6666ff000d6666ff000ae666fffff5199afffff2999a1effff866668ff0091999815
+f93c0affff9dccccfb7615ff0004e666ff0017ccceff0003b334ff00156666a4ff00
+1c8000ffffffccccffffffb334ffffffb334ffffffccccffffffccccffffffb33408
+13ffe291fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00093332
+08ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff000a4cd0
+08ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b8000ff
+ffea3334ff000de666ffffe5999aff00108000ffffe8999afffff03334fffff6cccc
+ff00118000fffff4999aff00093332ffffec4cceff0019e66688ff000c6668fffffe
+b332ff00068000ff0003b334ff00096666ff0001333208ff002ce666ffffc9800005
+ff000219987dfffffacccefffffe4ccefffffb199afffffdcccc08ffffe1b334ff00
+243334ff000a9998ffffca999afffff1199a8bff00098000ffffc78000058bfffffa
+9998ffffedb334fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cce
+ff0000199afffffa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b90
+08ff00073334ff007eccccffffcb9998ff00304ccc0585ff000ab334ff00046668ff
+00034cccff00019998ff00054cce0813ffe311fffff8999aa1fffff38000ff001366
+66fffff6199aff0014b33408fffffc66668bff00004cce5105b5ffffdbb332ff0001
+8000ffffe6ccceff00058000ffffe3666608ffffbd4cccfffff933321513ffc281ff
+00144cccffff9eb334068bfffff43334ffffec6668ff000066668bff000b666608ff
+ffe33332ff00614ccc15ff00144cceffffb0199a068bfffff8199affffec6666ff00
+01199a8bff0006cccc08ff0145b332ff009e666615ff0084199cffff94ccccff006b
+4cccffff7be6681e13ffe201ffff7be666ffff94cccdffff94b334ffff7be664ffff
+7be668ff006b3333ffff94ccccff0084199aff00841998ff006b3334ff006b3334ff
+008419981ffffead4cceff0002b33415f93d0aff0004ccccff00054ccc1513ffc601
+f93e0a0ef829ff000a4ccdff0011199aff0024ffffff0010199aa99aa8ff00116666
+ff00c2e666ff00073334ff00b86668ff000e9998ff00369998ff0039199cff0023e6
+649c12ff0010e6669cff006acccdff00809999ff00124cceff00113332fffff06668
+ff0006e666ff0011199aff00081998ff0011199aff0003999aff00044cccff00114c
+ceff0014199a9cff00268000ff000cb332fffffa999aff00113334ff000fb332ff00
+8be666ffff7b3334d046ff00113334ff00deb3349c13ffef04ff0130999aff008a66
+6615f9370aff00faccccff004acccd1513ffcf14f9380a13ffcf0cf9390a13ffcf14
+bf06fb40ff00114ccd15ff00003334ffff94999a9c8b8bff00499999ff002e6666ff
+ffb666670513ffcf44ff0010999a8bffffffe666ff006b80007affffffcccdffffff
+e666ffffb4ccccffffd18000ff004b333405ffff8f8000ffffe480001513ffef04f9
+3a0aff01a49998ff0251b33015f93b0afffe95199cffff76800015f93c0a13ffcf24
+ff01121998fb2f158bff0019999a87ff0018cccefffff88000ff0017333408ff0076
+999cff007680008bfffdaf9998058bfffffcccccfffffde664fffffb3334fffffc66
+68fffffc4cccfffffc6664fffffc4ccefffffb666889fffffdcccc8b08fffdad999c
+ffffffcccdff00803334ff0080199aff0007e6668bffffd0999affffb3999affffff
+e666fffff14ccdff0045199a8b8bff0010199a5b8bbbd8ff0000199aff000dcccdff
+fff24ccc8bff002e4cccff002e4ccd05ff00173334fffff88000ff0018cccc87ff00
+19b3348b08ff00841998ff006b3334ff006b199aff008419981ffffe63199afbb515
+8bffffff1999ff0014b334ff0000199affff7fe666ffff7fe666ffffeab3338b05ff
+00a56666f72415ffffea66668bff0039199aff003933340590fffffdb33390fffffd
+cccdff000533328908ff01a5e668ff01f07ffe15ffff75e664ffff75b33405fffffd
+4cd08ffffffd3330ff0003e66888ff0003cccc08ff0080e668ff0080ccccff000a19
+988b058d8bff0002ccd0ffffff4cccff0002ccccfffffe800008ff00088000fffff7
+999c15ff00016664fffffd4cccff0000ccd0fffffc99988bfffffbe668088bffffff
+e6688bfffffa3330ffff788000ffff784cd005fffffde664ff0003e664fffffdcccc
+ff0003e668fffffdb334ff0003cccc08ff008e199cff0054999815fffffd8000ffff
+fd4cd0ffffffe664ffffffccccffff878000ffff87b33405fffffde668ff00054ccc
+fffffdccccff00054cccfffffd9998ff0005199808ff0081ccd0f71605fffd664ccc
+fffd76333415fffff8333306fffffd8000ff0000000188ff0000b333fffffd199aff
+0001333308ff00d33333ff00d3b33305ff0003ccccfffffdb334ff0003e666fffffd
+b333ff0003e666fffffde66608ffff180001ffff3acccd15ffffff199aff0001b333
+ffffff8000ff0001e6678bff00026666088bff000e3333ff00c76666ff00c7333305
+ff00040001fffffce667ff0003e66688ff00043333fffffd333308ffff2c8000ffff
+52999a158bff0013199af748ff00b3e66705ff00034ccdfffffce666ff00034ccd88
+ff000366668808fb52ffff66199a15ff024f4cd0078b90ff0001b334ff0004e6648e
+ff000366688eff00036664ff00046666ff00028000ff0007cccc8b08ff024eccccff
+00003334ffff9b199cffff9b199c05ffffd53332ff00283330ffffc66666ff001899
+9cffffc0b3348bffff7be6668bffff94cccdffff94b3348bffff7be6648bffffc0b3
+34ff0018999affffc68000ff00283333ffffd5333408ff01db8000ff01b7199815ff
+ff888000ffff8880000588ff00038000fffffce668ff00034cccfffffcccccff0003
+4cd008f701f701ffffff8000ff0000666405ffff284cccfffeddb33415ff0015b334
+ff0015b33405fffffee666fffff48000fffff6e66682fffff48000fffffecccc08ff
+fff1e666ff0002cccc15fffffbb334ff00026668fffffc6666ff0003b332fffffdcc
+ccff0004666608ff0020b334ff0020999a05ff00046666fffffdccceff0003999aff
+fffc8000ff00026666fffffbb33208ffffe6e666ff000c666615ffffebb334ffffeb
+999a05ff0001999aff000a8000ff00083332ff00084cceff000a8000ff0001999808
+ffff61ccceffffe1333415ffffffccccffffffb334ffffffb334ffffffccccffffff
+ccccffffffb334fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00
+09333208ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff00
+0a4cd008ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b
+8000ffffea3334ff0008199afffff0999aff00091998fffff1b334ff0002e668ffff
+f4cccc08ffffe93332ffffe9333405fffffde666ff0006b332ff000333348eff0001
+4cccff00044ccefffff8999aa1fffff38000ff00136666fffff6199aff0014b33408
+fffffc66668bff00004cce5105ff000a3332fffff73332ff0007cccefffff7ccceff
+00061998fffff84ccc08ffffbf199a4affffcd199aff00004ccc05ff0004e666ff00
+17ccceff0003b334ff00156666a4ff001c8000088b04f93d0aff0004ccccff00054c
+cc1513ffdf04f93e0aff0092b334ffffdc333415ff00024cccffffff6666ff00024c
+ceffffff999aff00029998ffffffb334ff0003999affffff9998ff000333348bff00
+02ccccff00004cce08ffffe73334ffffe73332ff0000199aff0000b334fffff6cccc
+ff0008800005ff0005199aa115fffff2199afffff2199afffff54cccff0009e666ff
+000ce666ff000ce66605ff0003999afffffcb334ff0003ccccfffffce666ff00044c
+cefffffd800008ffffeb999aff0011199a157e7efffff5e666ff00094cccff000cb3
+32ff000c999a05ff0003b334fffffd4cccff00036666fffffce668ff00034cceffff
+fce66608ff00566666ffffd5b33215ff001a66666b05ff000219987dfffffaccceff
+fffe4ccefffffb199afffffdcccc08ffffe1b334ff00243334ff000a9998ffffca99
+9afffff1199a8b0513ffcfa4ff00098000ffffc78000058bfffffa9998ffffedb334
+fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cceff0000199affff
+fa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b9008ff0003ccccff
+0042cccc05ff0039b334ff004a999a15ffffc74cccffffc76666ff00014cceff0017
+4cccff002d4cccff002d666805ffffacb334ffffe0b33215fffff23332fffff23334
+ffffeb6668ff00003332ff001e6666ff001e4cce05ff0001b332fffffa6666ff0001
+3334fffffa8000ff0001199afffffa666608fffff76666ff001d199a15ffffd56666
+ffffd56666ffffecccceff0000199aff00371998c205ff0002b334fffffbb334ff00
+023334fffffbe666ff0001ccccfffffbe66608ffffce4cccffffce4ccc15fffffa33
+34fffffa3334ffffffe666ff0005cccc05ff00146666ffff9eccce15fffff74cceff
+fff7333205fffffaccccffffff999afffffa4cce8e8bff0006199a088bff00023334
+ff00139998ff0013b332059c04ffffec4cceffffec3334ffffffccccff0012199aff
+0013e666ff0013e666059c0477ffffebe666ffffffe668ff0014b334ff00141998ff
+0014333205ffffde4cceff0002666615ff0005999afffff26668067777ffffffcccc
+ff0013199805ff00143334ffffca333415fffff46666078bfffffa4ccefffff5e666
+8afffffa4cccff0002666608ff000fccceff0020cccc15ffffec6666ffffec4cceff
+ffffccccff0014b332ff0013ccceff0013e666050ef829fb70a1fa1aa101a7a1fa18
+a103f7fcf7ed15888b888c878b08626a6a6262ac6ab4b4acacb41f8ba979a4729781
+6b84758b8b8577878a858b868b888f8b908b8e8c8f8e9608f7697a158bae9ea9a79c
+0878b45cfb0f05d5ca15767e7e748b7008ca8a0596d615838b848a84899b67996d8b
+8b90808c898b898a82888a718b8b8b6c8c728b936ba974ad8b08b4acacb4b46aac62
+1ffb51f717158a7805748b808a848685868882867a08f73a8c929d056d917f8d8b90
+8b8c8c8d8c8d08de8b8c79758a84790595749478937a958e948d968b08bfb6605757
+6060571f5d8b65ac82b6087406738b838d79a08b8b63bb57c2898488838984ad7ca3
+6a8b6408576060575760b6bfbfb6b6bf1e918b918a908a089dc60594a79199939292
+91958bb18b08f7f1fb2815f740fb1ff71ffb40fb40fb1ffb1ffb40fb40f71ffb1ff7
+40f740f71ff71ff7401ef706f81f15fde6066f7776711ffdec0772a279a31ef9ea8c
+05a1a0a0a21ff9e807a776a0721e750498967f7c1ffdd6078a6d86817c8b08fdea8a
+05807d94971ff9ec079a94959c1ef87efbc0155bfb14fb09f71405fb65fc69158106
+848085871f94828d8b058d8e8d8d1e99068e8d89891f837507748b8f639d8b089d06
+8d8b8d8c8c8e08879abd07958092801e7f6415f93f0af796b1158106848086871f94
+828d8b058d8e8d8d1e99068e8d88891f847507748b8f639d8b089d068d8b8d8c8c8e
+08879abd07958091801e7f6515f93f0af7cdb2158106848085871f94828d8b058d8e
+8d8d1e99068e8d89891f837507748b8f639d8b089d068d8b8e8c8c8e088799bd0795
+8092801e8064159d81068a898988898b087e06848b8b9a928b08f739821582847b8a
+879b08b498068e0781b35e758b7c0870079869af9f909008fb10811599d2068b97b1
+88797908827d96068d8d89891f7207888888891e827e99068e95948e1faf078e868f
+8a8c90918d1e9b078b9d578c8b7808fb78511582830590858f85968a908a908c8f8b
+978c92908e948c8e8b908a8e88938692848b087a0689888d8e8f8f8f911f938b9186
+8f89089495058492828f808a7d8a838689858a888c888b880886078c839088928992
+8a928a928b908b8a81878a08878a05868a838b8a8c878e878d878d08dacb157c7884
+7f9263068b8594848e8a0897998406898b8c8c1fb194978107fcab48159a8c8bb1b1
+8b8b9a658b8ba4b88b8b984f8b05f8e47315868b8589868708907c499ab607919492
+8f938408959705898e858e848b08fc5da315309ab6078c91918f918b918b90878c83
+086298be078a9580907f8b858b8789878908a807e27215868b8489868708907c4a9a
+b5078f918f8f908b8e8b8d898e8908959805898e868d848b08c116868b8589868708
+907c4a9ab5078f918f8f908b8e8b8d8a8e8808959805898e858d848b08f714a5156a
+078d8591861e8206828082821f6a07839881911e94068f948f8e1f8697e707634415
+a1078e91918e1e9206909083881f7a07878485871e830688878f8e1ff8269e157206
+8a97a2938e77080ef829fffffd4ccd98ff00433333ff000a8000ff000a6666ff000a
+4cccfffffe4cceff000b4ccdfffffc9999ff000d999aff00093333ff000a6667ff00
+2eccccff0079e666ff00103334ff002a199aff0041800077ff0018999aff000f8000
+ff000c199877ff001ce66876ff002c4cccff001c3334f71077ff00646664ff000d19
+9c12ff0003cccdff000d3333bfff000b8000ff003d3333ff0031999affffd58000ff
+000b4ccdff000ce666ff000b999aff00136666ff000a199afffff96666ff00314ccc
+ffffe26667ff000b6667ff001eccccff000b6666fffffd199aff000f4cceff002ccc
+ccff000b4cccff000bb33495ff0014ccccff000a199aff0044199aff00126666ffff
+ed999aff000b4cccff00136668ff000b6664fffffb3334ff002eb334ff000f9998ff
+000b4cd0fffff54cccff00321998ffffe76668ff000ab334ff00093330ff0014999c
+fffff5e664ff000a199cff000d3334ff000b333017ff0013ccd0ff000b3330ff0033
+ccd0ff000e333013e78fc07007ff028cb334ff02d8e66815ffff8d9998ffff8d9998
+05ffffd5e668ff0024b33454ff00164cccffffc3cccc8bffff7be6668bffff94cccd
+ffff94cccc8bffff7be6688bffffc3ccccff00164ccd54ff0024b333ffffd5e66608
+ffff7f3334ffff7f199afffffd33338b8bfffffd4ccdffffd38000ffffd38000ff00
+088000fffff78000afafffffffe666ffffece666ffffd4199a5fff00086666fffff7
+999aff00238000ff002366668bfffff0e666ff00068000ff00003334ffffd4b334ff
+ffd4999aff00088000fffff78000ff0059199aff00594ccc05ff00004ccd068bff00
+001999ff00001999ff000033338bff0000199a08ff00024ccdff00024ccd05ff0000
+999aff00004ccdff00008000ff00003333ff000066668b08ff000ab333ffffffe666
+05ff0001e666ff00000001ff00018000fffffee666ff00008000fffffeb33308ffff
+f94cccfffff94cccfffff54ccd8b05fffff47ffffffffffffffffffd199afffff333
+33ff00033333fffff6cccd08ffffc13334ffffc1199aff00088000fffff78000ff00
+3e8000ff003eb33305ff0000b332ffffffcccdff0000cccdffffffe666ff0000cccd
+8b08ff000de6660613e78fb87047ff0001999affffffffffff00023333ff00016667
+ff0000999aff0002199908fffffc8000ff0000800007ffffcc8000ffffcc8000ff00
+086666fffff78000ff0042cccdff0042cccd8bfffff96666ff000b999a8b8bff0012
+199aff00123333ff0012333305ff0000b334fffffeccccff00006666fffffe6666ff
+0000199afffffe333408ffffe04ccdff000a199aff0027800007ffffff99998dffff
+ff199aff0001cccdfffffe9999ff0001999a08ff0056e666ff0056cccd05ff0019cc
+cefffff68000ff001bccccfffffaccccff001d199a8bff008419988bff006b3334ff
+006b33348bff0084199a8ba8fffffae668ff001bccccfffff68000ff0019b33408ff
+007eb334ff007eb334ff00001998ff00001998ff00001998ff00001998ff0005199c
+ff00058000fffff73334ff0008199c86fffffab334ffffffe664ffffffccccfb0fff
+ff85333405fffffdccccff00053330fffffd999c90fffffd66649008f729ff009519
+9cfffff78000ff00089998ffff6d8000ffff6d333405fffffdccd0ff0003ccccffff
+fd8000ff0003ccccfffffd9998ff0003b33408ff00906668ff0090999cfffff79998
+ff00088000fb23ffff70cccc05fffffd1998ff0003e664fffffd3334ff0003b334ff
+fffce668ff0003b33408ff00863334ff00863334fffff78000ff00088000ffff7a4c
+ccffff7a666405fffffce664ff00036668fffffcccd0ff00033334fffffcb330ff00
+03333408ff0072199cf70605fffeddccccfffd8de66415ff0010999a07ff0002b334
+ff00048000ff0003e666ff0002199a1eff0005666606ff0004199a8bff00038000ff
+fffa6666ffffffe666fffffdb33408fffff2999a07fffffcccccfffffab334fffffb
+3333fffffd4ccc1efffff9e6660689fffffffffffffffc999aff0003b3338bff0002
+666708ff0014999aff0036199915ff00003332ffffe6e66705ff00014ccefffffb33
+34ff00048000871efffff9666606fffff93334fffff76666fffff99999841fffffe6
+800007fffffa199995fffff7cccdff0004b3341eff0006cccc06ff00036666ff0000
+199b91ff000366678bff0002666608fffffb800095ff0046e6660713cf8f817007ff
+ff938000ffffec199a15fffffbe6668bfffffb6668fffffecccdfffffc1998fffffc
+cccd08ff0004199afffff4800007ff0000199affffcd6666ff000b66668b8bff0020
+b33405ff00043334ff0006b334ff0005b334ff00036666ff00066666fffffa800008
+ff0007b332ff0009999a05fffffeb334ff0002199afffffb4cccff0001e666fffffa
+999a8b08ffffd5cccd1613cf8f827007fffffbe6668bfffffb6666fffffecccdffff
+fc199afffffccccd08ff0004199afffff49999ffffcd6666ff000b6667ff0020b334
+07ff00043333ff0006b334ff0005b333ff00036666ff00066666fffffa800008ff00
+07ccceff0009999a05fffffeb332ff0002199afffffb3334ff0001e666fffffa9999
+8b08ff01118000ff000080001513c78f807207fffffbe6648bfffffb6668fffffecc
+cdfffffc1998fffffccccd08ff00043334fffff4800207ff0000199affffcd6666ff
+000b66648b8bff0020b33405ff00043334ff0006b334ff0005b334ff00036666ff00
+066668fffffa800008ff0007b330ff0009999a05fffffeb334ff0002199bfffffb4c
+ccff0001cccdfffffa999c8b08ffffd48000ff000e199a1513c78f807407fffff4cc
+cc0613c78f807807fffff18000fffffab33407ffffffe66682ff000566668b0513c7
+8f8074076c078bfffffb3335ff0006999a86ff00026666ffffff66660813c78f8078
+07ff00096666ffffffe6668bff000a4ccd86ff000033330513c78f807407fffffe99
+9affffffccceffffff999aff0000b334ffffffb332ff0000e66608ff001d800092ff
+0009333307fffff8ccceff0000199a05ffffc3e666ffffdd199a15fffff93334ffff
+f9cccc05ff0003b332fffffb7fffff00034cce87ff000866668aff0003999affffff
+999aff00036666ff00001999ff00036666ff00004ccd94ff00006667ff0005e666ff
+00046666ff00023334ff0006cccdff0000b332ff00029999ffffffccceff0002b334
+ffffff999aff00029999fffffde666ff00063333fffffae666ff0003e667fffffb19
+9aff00016666087eff0000199a0513d78f807007fffffcccccffffffb334fffffd4c
+ceff00073333ff0005e666ff0002199aff00028000ff00009999ff0002999affffff
+e667ff00029998ffffff8000ff00048000fffffee666ff0002cccefffffe8000ff00
+028000fffffe80000892ff0007cccd05fffffbcccc9085ff00018000fffff9999aff
+0001199afffffce666ff00006666fffffd8000ff0000199afffffd6666ffffffb333
+fffff6cccefffffe3333fffffcb332fffffc4ccdfffffe3334fffffbcccdffffff33
+34fffffc3333ff00008000fffffc6666ff00003332fffffc4ccdff0001199afffffa
+3333ff00044cccfffffd6667ff00053334fffffe8000ff00053334ffffff3333ff00
+051998ffffff6666ff000533348b088fffffffb333ffffff199afffff94ccd888a08
+fffffce6668a05fffffc8000ffffff1999fffff9e666ff00003333fffffee666ff00
+00999afffffd199aff0002199988ff00018000fffffd199aff0001b3330813c78f80
+702fff00aeb334ffffefb33415ff000ab334ff0000199aff00001998ff0036999a05
+8bff00090001ff001d8000fffffe4ccdfffff1ccccfffff1cccc08fffff8ccccffff
+ffe6668bfffff5b333ff00088000ff0000199a05ff00013334ff00000002ff000180
+00fffffdcccc8bfffffe800008ff00004cccffffed333305fffffdb335fffffde668
+fffffdb333fffffe99981e13c78f80703784fffff5999aff000a4cd006ff00024ccc
+ff0000000293928bff0002800008ff00001998ff001be66605ff00024ccd87ff0003
+19998a8c8fff0004999aff000166661eff000c3334078b99ffffd7b334ff00013333
+8bfffff1199908ff00561998ffffd166671513e78f807007fffff93334fffffa6667
+fffff36668ffffff199a88ff000c999908ff001fcccc8bff00003334ff000a3333ff
+ffffe6648b6cff0000199a05ffffff8000ff00097fffff0011ccd0ff00056667ff00
+0280007c08ff000b33308bffffffe668ff0002333405fffff84cccff001e999affff
+dd999cffffef4ccd8bfffff4cccd08ff00001998ffffeab33305ff000a3334ffffe5
+9999ff001b3334ff000fcccdff0003ccccff0003999908ffff784cccff000e333415
+13c78f807087ff000e9998fffff84ccc06ffffff6668fffffe4cccfffffdccccffff
+fe3333fffffe80008b08fffff5b33406fffffa3334ffffffffffff00008000ff000b
+3333ff00054ccc8b08ff00091998ff001db33415fffffd80008bfffffcccd0ffffff
+e666fffffd80008b08fffffa9998fffff83334fffffbcccdfffffce6661fff0006b3
+3484ff000199988b05ff00016666ff00029998ff0001ccccff000133341eff000ab3
+34ffffffe66605ff00024cccff0000199aff0001ccccfffffe33348bfffffe666608
+13e78f807087fffffa3333ffffee666807ffffee1998ffffffffff8e6cff000e3334
+8b08ff000de66806ff00019998ffffffffffff00023334ff00016667ff00009998ff
+0002199908fffffc8000ff000b4cd0ff0026e66607ff00074ccefffff76664ff0005
+3334fffff7cccc1effff0f4cceffffe2199915ff000e999afffff84ccd06ffffff66
+66fffffe4ccdfffffdcccefffffe3333fffffe80008b08fffff5b33206fffffa3334
+8bff00008000ff000b3333ff00054ccc8b08ff0009199aff001db33315fffff7cccc
+06fffffa999afffff83334fffffbcccdfffffce6671fff0006b332fffff8e666ff00
+01999a8b05ff00016666ff0002999aff0001cccdff000133341eff000ab332ffffff
+e66605ff00024cceff0000199bff0001ccccfffffe4ccd8bfffffe666608fffffa19
+9affffee666607ffffee199a8b8e6cff000e33348b08ff000de66606ff0001999a8b
+ff00023332ff00016666ff0000999aff0002199a08fffffc8000ff000b4cccff0026
+e66607ff00074ccdfffff76668ff00053333fffff7cccc1eff0012ccccff01a30002
+15ffffff999afffff14ccc05ffffd9199aff00001998ff0004e666ff0001e668ffff
+f76666ffffe1cccc08ff0078ccceff00003334ffffefe6667bffff94b334ffffffcc
+ccff00334cccffffc83334fffff46666fffff466660513c7afc4f007fffff4999aff
+000d199afffff0e666ff0010b332ffffebb334ff00156666fffffe199a85fffffe33
+32fffffa8000fffffe4ccefffffaccceff00139998fffff7999aff000f3334ffffef
+6666ff00066666ffffeb800008fffff28000fffff2800005fffffd3334ff00136666
+fffff36666ff00103334ffffeeccccff0007e666ffffed800050ff0001b334ff0001
+3332fffff8999affffff4ccefffffbe666ff00004cccfffffcb334ff00033334ff00
+0019988f0813c7cfc4f007ff0000199aff0004ccccfffffde667fffff98000ff0012
+3333ff00394ccefffffd4cccff00006666fffffd199aff00003332fffffd199a8bff
+ffe066668bffffe6999affffe6999a8bffffe066668bffffe34cceff0015199affff
+e84cccff001b999a8708fffff29999fffff2800005ffffe24cceff00094cceffffea
+3333ff001be6668bff0020b3328bff00284cceff0020e666ff0020e666ff00284ccd
+8bff0004999a8bff00048000ffffff8000ff00044cccffffff333408ff0000199807
+ff001cccceff005cb33482fffff9e668ff00359998ff0000800008ff0164ccccff00
+bde66415fffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0fffff9
+cccc84fffff9cccd84fffffd4ccdfffff719988bfffff7666808fffd6d9998078bff
+fff54cccff0005999afffff7333492fffffab33392fffffab333ff00084cccfffffd
+6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00063333
+91ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c05ff00
+00199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00066664
+fffff7999cff00033334fffff7e6648b08fffd69b334ff000ce66815ff029b800006
+ff00114ccca6ffffe69998ffffeccccc1ffffd68e66807ffffee6666ffffe5e668ff
+ffe3e667ffffeb33341efffd69b33406ffffef199aff00000001ffffe44ccdff0019
+66668bff000c999908ff02a0666807ff00000001ff00131998ff0016b333ff0017e6
+68ff00134ccc8b0813c78fb07007ff007f3334fffd76b33415fffff3199a7e8bff00
+156666ff000ce6669805ff00110001047bffffefe6660588ff00033332fffffb199a
+8dfffffb1999ff0000333408ff0069199aff00694ccc05ff0003b334fffffd999aff
+0003b334fffffd999aff0003ccccfffffdcccc08ffffb08000ffffb06667838b059a
+ffffe0999a15fffffe199a8905ff00009999ff0000cccdff00008000ff0000999aff
+0000cccdff000099990813cf8f907007ff000c199aff000c199a15fffffd6666ff00
+004ccdfffffd4ccdffffffe666fffffd6666ffffff8000fffffd4ccdffffff8000ff
+fffd4ccd8afffffdcccdfffffe999a088bff00091999ff0056e666e205ff0004cccc
+fffffd8000ff0004e668fffffdb33490fffffdcccc08ffff324cccffff914ccd1513
+d78f807007ff00034ccdff00034ccdff001566668bffffe74ccdffffe7333305ff00
+0e999aff0024199915ff00134ccdff00134ccdff0000b3338b8bff0000b333ff0070
+6666ff00704ccd05ff0003cccdfffffccccc8f888f8808ffff7eccccffff7e80008b
+ff0006666605ffffe26668ff00024cce15ffffffe666ff0011199aff0011199affff
+ffe66705ff000a8000ff000a999915ffffece666ffffffe667ff0077e666f70c05ff
+0003199afffffcccccff00034ccdfffffcccceff00034ccdfffffce6660813c78fa0
+7007ffffba4ccdffff5fe66615fffff9333307ffffff6667fffffe4cccfffffdcccd
+fffffe3333fffffe80008b088506ff012e199aff01ac999815ff0000e666ff000299
+9c05ffffe34cccff0006666483ffffffe668ff0005b334ff0007cccc08ff002ecccc
+069c16ff000066688bff0000b332fffff19998fffff0199affffffb33405fffffdcc
+ccfffffdb33415fffffbcccefffff4800005ff00014cccfffffd3334ff00013334ff
+fffd3332ff00013332fffffd4cce08ffffd8b334ffffd8b332ff000b6666ff001eb3
+3405ff002cccceffffe3199a158dfffffb8000ff0001e666fffffbccccff0001cccc
+fffffc199a08fffffc3334fffffc4ccc05fffffc6666fffffe999afffffc999affff
+fe199afffffcccccfffffde66608fffffbe666ff00094ccc05ff000c6668ff000c66
+6815ff00003332ff0000333205ff0006e666ff00024cceff00076668ff00016666ff
+0007b332ff0000199a08ffffef8000ffffef666605ff00004cceffffff4cccff0000
+4cccffffff6666ff00004cccffffff4ccefffffe6668ffffff8000fffffe6666ffff
+ff6666fffffe8000ffffff666608fffff76666fffff74ccefffffe6666ff00034ccc
+05fffff68000fffff9b334fffff88000fffff6e666fffffbb334fffff5333208ffff
+ebb332ffffebb33405ff0000199aff0007b334ff00014cceff00076666ff00024ccc
+ff0006e66608ff0021ccccff0021ccccfffffd8000ff0005999a05ff0004999aff00
+02e66690ff00024cceff00053334ff0001cccc08fffffaccccff000b800015fffff3
+999afffff3999afffff9999aff000e199aff000c8000ff000c666605ff00023332ff
+fffb199aff0002199afffffb4ccc8dfffffb800008ff001c6666ffffc1199a1513c7
+8f807107ff0009ccceffffea3334ff0000999afffffe4cccff00001998fffffde666
+ffffff4ccefffff73334878cffffd94cccff0000800008ff000f8000ff000f8000ff
+000733348bfffffdcccc9005ff00073334ff0018199a15fffff38000fffff39998ff
+fff9199aff000f3334ff000c8000ff000c666605ff00029998fffffa4cceff00024c
+ce868dfffffb800008ffffd38000ffffd3999815fffffacccc06ff00006666fffffe
+999aff00004ccefffffeb334ff00008000fffffeb33208fffff3b332fffff3999a05
+fffffd999aff0005199afffffe199aff00058000fffffeccccff0005b33408ffffff
+b3348bff00004cccff00004ccc058aff0004b334ffffff8000ff0004cccc8b90088b
+ff0000ccccff00103334ffffffe6688bffffff8000ff00008000ff00008000a18b05
+ffffc9ccccfffff0b33215fffff7ccceffffffe666fffffab332ffffffcccefffffb
+ccceff0000e66608ff0016b332ff0016b33488fffff81998ff000d4cce8b05ffffd4
+4cccfffff7666815fffffd4cceff00028000fffffce666ff00039998fffffbe666ff
+0004b33408ff000c6666ff000c6666ff0009e666fffff54cce05ffffe1ccceff0007
+666615fffffd6666ff0003199afffffd199aff00038000fffffcb332ff0003cccc08
+ff000bccceff000bccccff000933328105ff00318000ff000be66815ffffe36668ff
+ffe36666ff000c3332ff0020cccca8a805ff0003999affffbaccce15ffffffcccc07
+8bfffffae666ff0000b334fffffb199aff00013332fffffb4cccfffffae6668bffff
+fa66688bfffffa1998ffffffe66808ff00004ccc07ff00476668ff0047800015ff00
+0eb332ff000eb33405ff0005cccefffffeccccff00059998fffffe3334ff00054ccc
+fffffd800008fffff3b334fffff3b33205fffffa199a8dfffff9b334ff0001199aff
+fff966668b08ffffcf999affffa8cccc1595ffffefe668ff0011e666fffff54cccff
+001480008bff001f99988bff00196668ff001966668bff001f999a8bff00148000ff
+fff54cccff0011ccccffffefe668ff000a199a08ff000b9998ff000b999a0513c78f
+807147ff0012e668fffff2ccccff000c8000758bffffe733348bffffd7b334ffffdf
+1998ffffdf1998ffffd7b3348bffffe733348b75ff000c8000fffff2ccccff0012e6
+6808ffff8be666ff001fe66615ff00106666ff0010666605ff00004ccefffffd8000
+ff0000199afffffd66668bfffffd66668bfffffbe668ffffffb332fffffbe666ffff
+ff4ccefffffc199a08ffffc3e666ffffc3e66605fffffc199affffff4cccfffffbe6
+66ffffffb334fffffbe6668b0813c78f847007fffffd66668bfffffd6666ff000019
+9afffffd8000ff00004ccc08ff00106668ff0010666605ff00189998ff0003b334ff
+00136668ff00136666ff0003b332ff0018999a0813c7cf80f007ffffd0199aff0041
+199a15ff00018000ff0004b332ff0001999aff0005199aff0001ccccff0005b334ff
+00054cce8aff00051998fffffe8000ff0004e668fffffde666fffffe3332fffffa66
+66fffffe6666fffffae666fffffe8000fffffb333408fffffb3334ff00023332ffff
+fae666ff0001999afffffa999aff0000ccce08ff001f6666ffff8a4ccc15ff001566
+66ff0015666605fffffa6668fffff78000fffff8b332fffff8b334fffff78000ffff
+fa6666080ef86ff95ff73c15fbde8bc0b25c8c4854cb52b98c5ab5f7de8b05fce0f8
+5715f9400af9c4a315fdc4067275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8
+d407a879a36e1efcbbfb5515f9410af7989515f9420aa84b15f9430ab69715f9440a
+fb60f7211571066f8a7f89826d08703305858c848b858b08535d5d5353b95dc3c3ba
+b9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e918aa38b08a106955db467
+bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081a208929fa38b8ba02e8b8b
+84058c879988aa85088477fb488b92a2058f97908e9c8c08a6064a4e15f9450afb6d
+fbd515f7de8b5664ba8acec24bc45d8abc61fbde8b050ef86ff93a88158bf735bd55
+8bb04ace484b8b67c0bd89fb3505fb6cf75c156b8a8dfb3457bd8b67cd4bcccd8bb1
+595505fbc3f8be15f9400af9c4a315f9460afcbbfb5515f9410af7989515f9420aa8
+4b15f9430ab69715f9440afb60f7211571066f8a7f89826d08703305858c848b858b
+08535d5d5353b95dc3c3bab9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e
+918aa38b08a106955db467bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081
+a208929fa38b8ba02e8b8b84058c879988aa85088477fb488b92a205ff0003b334ff
+000c1998ff00054cccff0002e6689c8c08a6064a4e15f9450a0ef86f47a3be9ea49c
+a59ba19ebca1c8a0d9a1b2a19ea08a9fcda312dba3f742a2e8bf64a0ad9fbda0b69f
+80a2969ff712a1f733a313ff9ccef913f716159fa07706fb23049ff17706356115ff
+000e199aff00091998ff0009e666ff000ce6681e13ff9ceeff000c6668ff00089998
+fffff5999afffff266661f9f7a159c07ff00184ccdffffee6668ff0012b333ffffe8
+99986f7cffffeb8000ffffdf8000ffffddb333ff00111998ffffef4ccdff001ce668
+1eff000f66688bff000cb330ff00068000ff0007e668ff00098000087d9805858482
+88838b08fffff11998fffff6e668ff00098000ff000f80001f3060159fc8068b928d
+918f8e8f8e8f8d908b908b8e898f88089a9d058490858e848b808b83878583088a96
+770613ff9dce542515a0e10613ff9ece9d9b0613ff9dce799806918e8e911ea09e74
+06ffffeee666fffff5199afffff5b333ffffee4ccd1f7e0713ff9ece7e7b0613ff9d
+ce9806fbacf88415f9400af9c4a315f9460afcbbfb7d15f9410af7989515f9420aa8
+4b15f9430ab69715b7af685f5f67675f1f13ff9cde668b6ca482ad08cc06a28f8d91
+1f8b8f8a8d849b8b8b80a478b5928d938c938b0813ffbddefb60f7211571066f8a7f
+89826d08703305858c848b858b08535d5d5353b95dc3c3bab9c31f8bb570af679b8e
+938e928d93d43fb25d8b8b987e918aa38b08a106955db467bc8b08c3b9bac3c35db9
+531f808b7f8a8187829e82a081a20813ffddde929fa38b8ba02e8b8b84058c879988
+aa85088477fb488b92a20513ffbddeff0003b334ff000c199aff00054cccff0002e6
+669c8c08a6064a4e15f9450a0ef84af893f95815f9360afbfbfc2015f963fb2afd63
+060ebdcaf9d9158b748b7c8b7a8b7c9d8bb18b8b9a658b8b9cb18b8b9a658b8ba2b1
+8b8b9a05658b798b05db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b8bfb66fb468b
+8b73f7468b8b93a28bf7698b8ba2fb698b8bf75f05f75297a27ff738a3fb38f83574
+97fb52f754f80da3fc0d06a8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050efb1681ae
+f8baae01b2e2f765e203f77cf8d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05f
+c5fffffc999aff00046668fffffc8000ff00046664fffffc199aff0004333408ff00
+1cccccd16c96ffffe83334ffffc6800005ffffe8cccc9cffffe34cccff000b8000ff
+ffdeb3348b288b2dfb0a8bfb5a8bffffa6999aff0017199affffaa8000ff0027cccc
+ffffc6999908ffffdc199affffa94ccdab7fff001c8000ff0045199aff0000199aff
+ffffe66605ff001c6668ffffe3999aff00224ccdfffff26666ff0026b3338b08e2ff
+01f3999a15ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b2f88
+4c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b333080efb
+bdb7de03b7ff0144b334158bffffd94ccc8fffff396666f764ffff65333495ff0001
+b33393918eff0006e6676aff0020b332fb09ff0076999a8bff00e233348bff00e233
+34f70aff00769998abaafffffc999aff0008ccccfffff9cccc91fffff4999aff0000
+b334fb0bffffa84ccc2effff7066688bfb34080efbbdf73fde03f792ff0144b33415
+8bff0026b33287ff00c6b332fb64ff009accd081fffffe4ccc838588fffff91998ac
+ffffdf4cccf709ffff894cd08bffff1dcccc8bffff1dccccfb0affff8966666b6cff
+00036666fffff73334ff0006333485ff000b6666ffffff4cccf70bff0057b334e8ff
+008f99998bff00a00001080efb8350ff0019cccdf963ff0019cccc01f700ce03f700
+5015f7680691ff000533348bff000f666685ff00053333fb1eff0009800084ff000c
+e6668bff004acccd08ff020d8000078bff004acccc93ff000ce668f71dff00089998
+91ff000533348bff000f666885ff0005333008fb68060efb83ffffc5e666ff0019cc
+cdff02cee664ff0019ccd001f749ce03f78cff02c8666815fb680685fffffacccc8b
+fffff0999891fffffaccccf71efffff6800092fffff333348bffffb5333408fffdf2
+8000078bffffb5333383fffff3199afb1dfffff7666785fffffacccc8bfffff0999a
+91fffffacccc08f768060efbd2ffffb4b333ff0014999aff016bccccff0014999aff
+016cb334ff0014999801f746ff0245b3341586ff00588000baff000eb334b1ff0009
+800091ff000533308bff000a333485ff00053334318b49ffffdd99988fffff9eccd0
+0891ffff61cccc058b6073ffffd18000418582fffff84ccc8c8593fffff9199aff00
+498000fffff84cccff001a8000ffffda333489ffffcb80000885ffff6dcccc0586ff
+ff903334c3ffffe39999f08b91ff000533338bff000a333485ff000533335f8bffff
+d78000ff002b1999ff00048000ff004833340893ff0080199a05ff00046666ff0046
+ccccffffd66667ff0021e666ffffbc3333ff00184cce08ff0003666607ff00433333
+ff0010999aff002a199aff0018ccccfffffbb333ff004c8000080efbd2ffffb3cccd
+ff0014999aff016cb334ff0014999aff016bccccff0014999801eaff0039199a1590
+ffffa780005cfffff14ccc65fffff6800085fffffaccce8bfffff5cccc91fffffacc
+cde58bcdff0022666787ff006133320885ff009e3334058bb6a3ff002e8000d59194
+ff0007b3328a9183ff0006e668ffffb68000ff0007b332ffffe58000ff0025e6668d
+ff003480000891ff009233340590ff006fcccc53ff001c4ccc268b85fffffaccd08b
+fffff5cccc91fffffaccccb78bff0028800060fffffb8000ffffb7cccc0883ffff7f
+ccce05fffffb999affffb93332ff00299999ffffde199aff0043cccdffffe7b33408
+fffffc999a07ffffbccccdffffef6666ffffd5e666ffffe74cccff00044ccdffffb3
+8000080efbc79376f8c6f501e6f503f7247e15930ac0f8fb15940a0efb347eacf858
+77edf512b9dec3f545accecf13f6f7d5d515ae0a13fa6df8a515af0a0e57f730f781
+159a0af748169a0a0e57f7c8f78115a70afb4816a70a0efb7cd5f76503f730f78115
+f8980a0efb7c9cf76503f724f78115f8990a0efb95f7afc701b3f79603f7a3f7af15
+2a0a0efbd7fb71aff9077701f707d603f705f7d115f71a0a0e3181aef8e2cb60c712
+b5e180b9f76fe11394f79ea415ffffb1199affffc4e666ff005c3333ff0070cccd1f
+8bf703ccbcbb9ff258b1518b2708fb0c54534e1e816815f703f0ff00536666ff0098
+999a1f8bf71944c7fb11cb0813acffffbdb333ff0021e668ffffd54ccdff002c1998
+8bae8b9e9aa0b28b0813ccb68bb376c18bc28bafa59bb18aff0003b33485ff00084c
+cc848b80827c876c8c0813ac5b8c6d9b5b8b378b4c518b448b5da057d461085f7205
+13b4355a64ffffd1199a8bffffa9e66608ffff858000daffff948000f71b1e0e7e89
+acf7fbb2f772a979ae12e5daf75bda13dcf853f70e15f7a0e70795998f941f9f078f
+888d861efb00c0068b9f8cb891ad99d4a594a18ba38ba07d947795769578a68b089f
+9a9a9fb45dac411f668b527569560813ec7ea35ead3b8b708b7184767f46636a448b
+fb0e085a0679867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ac
+8cff0023b3338cff00244ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d
+8f7e8f8bde08f7a0f75bfba0078b3880875f8785858b769185a88cff001fb3348cff
+00224ccc8bab8bb68ab68a91918ba0859108478f808f8bde0846f84e1582678affff
+d8b3348bffffec4ccc0863fb5b94078bcf93ae919ea0dbb8969a8bff0022b3348bff
+00129998ffffe7e668ff000ab334ffffe7199894779477a58bff000233348bff0002
+4cccff0000ccccff00018000ff00013334080e6889acf7fbb29877f786ad12e9daf7
+4ff441da13baf86af70e15f76707b28fcb8b1e8f858d871e13dc6d7f6e8a688b08fb
+59c406ff005e8000adff00538000cf1eff002a80008bff00228000809362ff0009b3
+34ffffce4cccff00154cccfffff0b334aa8b08a1a09fa0ff003e666836ff002f9998
+2e1fffffd233338bffffc8cccdffffedcccc62ffffd03334615a824e8b3d087c5a07
+79867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0023cc
+cd8cff002333338bae8bb88aac8a91918ba085914b8f818f8bde08f7a0f7470713ba
+aa9377581ffb59078b387f87548785858b769185ae8cff0023e6668cff0024199a8b
+ff0022cccc8bff002733348ab08a91918ba08591084e8f808f8bde080e5489acf7fb
+b2f77fad01e9daf75cda03f858f70e15f86107cc8cb38b1e92878e821efffff2b334
+83ffffe7999880ffffefb33487759a5d93688b08372442fb3a1f6d580779867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0024b3338cff0022
+4ccd8bff00244ccd8bff0024b3338aae8a91918ba0859153907e8e8bde08f7a0e807
+94998f941f9f078f888d861efb02ba06f72ecaadac1ea98baf7b986a917e95819787
+ffffffb334fffffab334ffffff4ccc808bfffff74ccc08fc4d078b38828659888585
+8b769185a98ca98cb28bb68bad8aab8a91918ba08591538f7d8f8bde080ef77e89ac
+f7fbb29877f77ba77bac12e5daf75cdaf746f048da13d600f810f8c915826789ffff
+da4ccc8bffffe9b3340863fb5e97078bcf90ac919ea0dbc1979a8ba48ba47b976893
+769479a58b088d8b8e8b8d8d0813a680f7acfc4f158b388286598885858b769185ab
+8cac8cad8bad8bb28aaf8a91918ba08591538f7d8f8bde08f77807a98dc68b1eff00
+01e6668aff0001199a881e13cf006d7f6d8a688b08fb56c406f72ecba4ac1eac8bff
+0028ccccfffff41998ff00073334ffffd4e66894559d72ab8ba08ba09d8ba08bb068
+b266a4729c6795668b498b516370680813d6807ea460ac3b8b708b6885767e466371
+448bfb0e08580679867f831f7e07868c8a8f1ecefba0068b388087558785858b7691
+85af8caf8cac8bff0021b3338bff00214ccd8aaa8a91918ba085915d8f7e8f8bde08
+f7a0f75cfba0078b3880875f8785858b769185a88cab8cad8bac8baf8aad8a91918b
+a08591548f828f8bde08f7a0f74c07a58d80631f0ef77089acf7fbb2f76dae7aad12
+e5daf75cdaf75cda140e13eef810f8c615836789668a770863fb5c94078bcf8eae91
+9e9bc7aba5aa8bb38ba86e9671917d957ca48b08f7f1fc4c15f86107cc8cb38b1e13
+de92878e821efffff43334fffffb4cccffffed8000fffff26668ffffe84cccfffffb
+4ccc759a4c93688b538b4a647a6c0813ee7e9e59ad3c8b488bffffca6666ffffcf4c
+ccffffe7999affffd1b334786784648b39085a0679867f831f7e07868c8a8f1ecefb
+a0068b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f
+7e8f8bde08f7a0f75cfba0078b3880875f8785858b769185b58c9b8cb08bb38b9f8a
+b68a91918ba08591548f828f8bde08f7a0e70795998f941f9f078f888d861efb00c0
+068b9f8db891ad0813de95c3b9a6a58ba98bb37b986a917e958197878c87897a8b87
+08fc4d078b388286598885858b769185b58c9d8cb28bb68ba28ab68a91918ba08591
+538f7d8f8bde080e6981c25cacf7fbb2f780ac12e5daf747d651c513baf73df70e15
+f80007f722ccb0acd0a8623c26867c701e5d06888a8a881f6c07888d8a8e1e13bcc7
+fbc10644a66fb91eb88bb4a1b1b789ff000a4ccd85ff0005b333818c71777883718b
+087085a9c91ff791e90795998f941f9f078f888d861e137afb02f70d06eb5ebf221e
+418b295981fb3f8a7083766c8b0879867f831f8207878c8a8f1eb706998a877f1ffb
+95078b3880864e8885858b769185b58ca58cb78bb68ba48ab68a91918ba08591084e
+8e80908bde080ee07fc256ac8976f81ab274acf77ba712bbaa7ad2a3abe0d755abf7
+1fd656bb134dc0f731f8c2158bffffd14cccff000acccdffffdbb334ff0027cccd67
+08fffffb66660641485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffff
+ea4ccdff000d4cccfffff5b333ff000ab334081326c075a280b785a48591788a8585
+8f5a8e5c8b61958d958c908b928b918b928908134dc0f72b0a1394a8a18bc5839836
+91859f8c91918eaf8db08cac7bff0002999affffeb800090ffffe8b334ff00043332
+ffffbfe666ff0024199affffeae666ff002b66668bff0033b33408c3ccbedef1bd52
+3263765448888a8a881e6c07888d8a8e1e139490ccfbc30644a56fba1eb88bb3a1b2
+b708799c0571777883718b087085a9c91ff793e90795988f941f9f078f888d861efb
+018b05134dc886ea0586f7014fccfb118b08fb0c4547431f0ef819a1f7b915f86afc
+6af86af86afc6af86a0533fb97158b7c8e858f868f858e858b7e0874767d757a7196
+aec6c9d3f707f4ca4c311e8b485e53465fffffea3334fffff2199affffd6ccccffff
+e1e6668b43085f078484878384858f921eb9078bb68cc6ccc6b3b09fab8bbb08c662
+cb525462706e1eabfca815a5a1a1a6a6a17571707575707075a1a61e0ef76689acf7
+66b5f7f6ff0014e66801f79dda15c2f725059098918fa38b08f7648bc8fb3d05ff00
+0ee668ffffd6cccdffffd6b330ff00039999ffffd06668fffffc999a85858b769185
+b08cc28cb28bb48baf8ab08a91918ba08591ffffd93334ff00038000ffffdf4ccc8b
+ffffed8000ff0033800008fb61f8b2058595899284ff000ce66856fffffe1998ffff
+b6199aff0000b334fffff6e666ff00014ccc8583fffffdb334ffffff1998fffff499
+98ffffe5333408ffff21b334fffdf7b33405ffffe5999affffc23333ffffe1e666ff
+fff9cccdffffd480008885858b769185b08c988cb28bb48bf7348ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08f700f76015ff
+ffe9cccc8bfffff8ccceff00028000ff00043332ff000acccc08ff00643334ff00fd
+b3348d8becfb9f05fb1df7f615bb8bfb86fcf3578b050ee089ac6cb7f7b4adf781b5
+6bad12f5ff00574ccdff003fb333a5f76cdc69e8133680f728f9191513ae80598b6e
+8c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185081366
+80bc8ca98cbe8b0813ae80b68bf589e48bf75b8bc0ef8be18beb48c234a4088d0713
+2f00ff00321998ff00196666ff002ce668ff00334cce8bff00364ccc8bce6ee2fb4e
+8b08688bfb1f89608b08f71bfbcd15d00613a680f71dc43e31426f4efb2c457eadac
+1ff86c04132f00ac8b95e2c3d46d2536506d381e410613760070f781158cfcc3054f
+8cbc8bffffcb4ccd8a08ff00008000f8c3050ef72989ad6bb5f8c7b36bad12f5dcce
+a9f7d0eb136ef792b51548068bff001566668cff01a5999affffffcccdf70c08ff00
+403333068c258bfbcd8cfb280851f8ef15139e608b348b5c8d85858b769185d1889c
+868b3808fc25078b387a86458885858b76918508134ebc8cd48cbe8b08139eb08bd1
+89f28b08f721f72dcbf78af74efb0cf72dfb541f4b8b3689648b08e3fcc615f87507
+ae9c99bcf76cadfb43fb2efb5e3759fb2129929eab1e0eb189ac6cb2f7b0b1f788b3
+6cac12ecdcc9a7f74aacb2ac9bae1337c0f7fbf7fd1530f75c06a3979fa31ef406d6
+8b9b63a146ff000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b3
+3486b47ceb89938b8d8a8c888b7a88838a738b08fb850613afc0ffffa2cccd8bffff
+aa33338c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+081367c0bc8cff00616666ff0000999aff005d999aff00006666ff004a8000ff0000
+4ccdff00748000ffffffb3338b8b0813a7c0be0a1377c0774368503f8b08fb1c0675
+7d9ba61ff785e607e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca98591
+768b8585088854887e368b08fb0bf75d158b87ffffff199afffef78000ff0000e666
+ffff588000ff0000199affffe2e666ffffffe666ffffde199a8c7608ffffc14ccd06
+ffffffb334da8bffffedb3338bff00164ccd08f82c078bff001566688bffffba9998
+ffffffcccdf70c08ff003e3333060e7789ac6cb5f7adb1f788b36cac12ecdbcaa8f7
+4cacb0aa137780f784f8c615fc4807ff0000199affffe2e666ffffffe666ffffde19
+9a8c7608ffffc04ccd06ffffffb334da8bffffedb3338bff00164ccd08f82c078bff
+001566688bffffba9998ffffffcccdf70c08ff003f333306f70efbae15e08b8e748e
+5e9185a08b91918aae8a9e8bad8bad8ca18ca98591768b85858854887e368b082ef7
+6606a39795a31ef406d68b9b63a14608aa9005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999cff00024cccfffffeccccff0000b334fffffd
+99988bffffee8000fffffc9998fffffa3334ffffff6668ffffe84ccc8b8b8bffff4b
+e668ffffff8000ffff8cccccff000080000813af80ffffbb6666ff00004cccffffc6
+999aff0000b334598c85858b769185d1889c868b3808fc25078b387a86458885858b
+76918508136780bc8ca98cbe8b0813b780bd8bf7088abd8a91918ba08591458e7a90
+8bde08f75d070eef81aff789aff7ceb012abe6d6abf7cae061ad13f8f75aff007819
+9a15ffffcf199aff003a999bffffe5e666ff005019998bff004433348bff005a999a
+ff001d199aff004d999aff002de666ff0032cccc08abfffe35199a15ff01e8ccce07
+ff0025cccca9ff002d999aff000f1998ff0031999a8b0813faf7258bbc39a53508ad
+910582b585b384d34f8b67b8fb0e8b08fb40fb41fb17fb70fb41f71ffb24f75d1ff7
+0a8bdeaecfc50813fc809486938b9608f704078bff002333349cff0009cccca88e91
+918ba385916d8a788a638b648b658c5c8c85858b739185ff0036e668fffffbccccff
+001b1998fffffc4cce8bffffd7e66608fb2907696b527b558bffffbce6668bffffc8
+ccceff0017199affffd54cccb1080efb6389acf8dbac01f5dbcda803f7adf70e15f8
+25078bde9c90d18e91918ba0859108fb358905598b338c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8ce48cbe8b08f734890591918ba0
+8591458e7a908bde086df87a15f9470a0efb42fb40b8f96db66cac12f721ff004c4c
+cdff003f6667ff00204ccc13b8f7cdf89f158bde9c90c78e91918ba085910813d85a
+8a4c8a5c8b0813b8558b388c598c85858b769185db889c868b3808fc4e07fb48576f
+6a1e7d8bfffff24ccd93fffff8b33395fffff64ccdff000d3333fffffbb333ff0014
+cccd6c8b087d6d767567c079a11ff7018bd09fa5a2b6ff0026199ac6ff0032e6668b
+f72308ffffa04ccd921513d88af880ff00404ccd8b05ffffffcccc25fffffd8000ff
+fefde666ff0002ccceffff726667fffff54cccffff69b3334655ffffc0b333ffffe8
+4ccdff00364ccdff001cb333ff00194ccdda8bf716080ef72289acff0115e666ff00
+266666ff010ab334ac01f5dbcda803f7adf70e15ff00bae66607ff0021999a8aff00
+1a6666fffff4ccce9fffffe64ccc08f737fb5a05ff0013e668ffffe7ccccff000019
+98ffffe566678bffffedcccd8b888c888f8b9f8c9c8ca98bb28b9a8aba8a91918ba0
+8591ffffee1998ff0002999affffdb8000fffffdccccffffde6668ff0029999a08fb
+6ff79805829588928b938b92ff00044cccff0006b334ff0020b334ff00234ccc08f7
+20f72b05b9bcb78db39091918ba085915c8a838a638b638b718c5c8c85858b769185
+ff00241998fffffc9998b3ff0004ccd0ffffcfe668ffffca999808fb3cfb4405ffff
+ebe66676ffffeb199afffff14ccc688808ff00afb334078bde9c90d18e91918ba085
+915a8afb0c8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185bc8ca98cbe8bbd8bf70b8abd8a91918ba08591458e7a908bde08
+6df87a158cfcd0498bff0000cccdf8d0050e9a89acf8dbac01f3ddcda6f7afac03f7
+2716ff012eb33406ff001b4ccce7898b1f95bd95cc91bffffff63334ff0004b333ff
+fff53334ff0002199afffff39998fffffe3333774370503f8b08fb05066e799eaa1f
+f846078bde9c90d18e91918ba085915a8afb0c8a588b598b6e8c598c85858b769185
+d1889c868b3808fc25078b387a86458885858b769185bc8cdc8c8b8b08f3f8f415f9
+470a0ef81489acf8dbac01ff031db334f70815903afffffc4ccc8a4a8885858b7691
+85ba8ca98ca98ba98bff002dcccc8aff002133348a91918ba08591478e88ff000433
+33fffffa1998ff0052cccd08ffffe23334f83905fffffc3334c1ff0004800099cf8f
+91918ba0859108fb1789fb68fc8f0587818887898b888b8a8f879408fb61f890fbac
+8d0585858b769185d0879189844008ffffd7e666fc3005fffffa199affffc4199a7f
+ffffe6e666528685858b769185a98cec8ca38ba38bf7068aa98a919187a085914990
+fffffab334ff001eb333ff00054cccff00384ccd08b1f8258d8bf763fc9b05ff0002
+ccccfffff8e666ff00063334fffffc199a918b918b8f8e8f9308f775f8a58d8b05fc
+bedb15cf8b51fcdb478b050ef70081adf8ecad01b0ebd4aaf7e1eb03f92ef7dd15f7
+5afb27f717fb43fb47fb14fb2cfb58fb59f721fb0ff740f753f711f71ff75c1efc60
+ffff18b33315ffffd5b333ff00339999ffffe14ccdff00544ccd8bff005d66668bff
+006d999aff00203333ff00513332ff0028cccdff002fb33408aafc8015ff02069998
+07ff001de666ff0015ccd0acff000a1998ff001f199a8b08f71cf221fb64fb473520
+fb061fffffd0e6668bffffd16666ff0011199affffd8b334ff00206666080e7e89ff
+00214cccff0101b334aff7b5ac01dcd6caa9f76ce703f83af7c115ff0047b334ff00
+14e666ff003f4cccff0034199a8bf48bbd7ab467ad5bb84d8f4c8b728b4dfffff5e6
+6865ff00021998598b448c598c85858b769185089bffffffe66805ff001e199affff
+ffccccffffffe666ffffca66648bffffe1e66808fc2b07fffffe8000ffffc76666ff
+fff28000ffffe6800076fffff74ccdfffff8199afffffd8000fffff69999ff000280
+00fffff4cccdffffff199afffffa8000fffff9b3338b769185bc8ca98cbe8bbd8be4
+8abd8a91918ba0859108458e7a908bde08f73b07ff00054ccdffffffe666ff0004ff
+ffffffff8000ff0004b334ff00006666ff0049e666ffffff4cceff0024199afffffe
+e666bb990831f7d115670afb058715ff0000199affffe2e668fffffee666fffdeb19
+988c76ffffe5199aff0004999aff001ae666fffffb66664c8c8bff001566668bff01
+b8999affffffcccdf70c080efb0d81aff8eaad12a6ff00208000fffff78000ff0047
+6666ff0046999aff001fb333ff00254ccdff001dccccff00443334df4bff00208000
+13dcf755ff0197800015ffffde199aa2ffffdb4cccff0026199a8bff002b66668bff
+00326668ff000c999aff00299998c5ff0012999808ff0062ccccfffdb34cd015ffff
+ffe668ff0031199affffffe666ff007966668bff0040ccce0813ceb0ffffe97fffff
+001f6666ffffdc199a8bffffc233338bffffc5b333ffffe6999a63ffffd53332ffff
+ef333308ffffe23334fffffa800015fffff64ccdfffffe6667fffff9b333ffffff33
+33808b0813eeffffa2999a8bffffc3e666ff002a800075ff00638000fffff3b3338f
+fffff56667fffffe199afffff66666fffffae6668f3e8f71975aca8bff001be66674
+ff0058b3348bff0078cccc8bff0060999ae78bf18bff005f33344abbffffb7e666ff
+001ecccc087694ffffe6199aff0008999affffdcb3339d08ff00004ccdff00e66666
+0513ddd28aff0040199affffc2ccccff0013e666ffffbe3334ff000b8000ff000033
+3497fffffecccc9492fffffc8000bb87a7fffff5999ac0ffffc6333293ff00023334
+9effff9e66668bffffa4999a8b28488b218bffffa2e666ff0042e666ffffcfccceff
+004d8000ffffde4ccc08a0fffff6e666ff00153334fffff7ccceff00186666fffff4
+e666080ee28baff876f72057b21292ad7faaf761ff00514cccff003fb334aaf750a9
+76ad138600f82df8ef158cfccb054f8cbc8bffffcb4ccc8a8bff00156666ff0000b3
+34ff01a9999affffffccccf70c08ff005e3334fc7515f83a0713a680ad9fa7af1ec9
+06c28b927b9c3e0813c680ff000b4cccff00004cccff000b4cccffffff199cff000b
+6668ff000599980813cf0083be86b38bbc81ffffffe66881ffffff199881880813ae
+00858a88761efca206768b8e911f13ce00fffff83333ff0002ccccfffff86667ff00
+02ccccfffff06666fffffe66680813d680875a85657f56ff0009e666fffffbe668ff
+000b999afffffee664ff000c8000ff000033340813a6809fdb9898c28b08da06b09f
+6f6c1ffc3d078b387a863b8885858b769185bc8ce48cc28bc18bd48abd8a91918ba0
+85913b8e7a908bde080ef73180b5f8cdb86cac12e2ff004fb333ff003f4ccdabf7f6
+bc13bcf79af89f158bde9a90d88e91918ba085910813dc5a8afb0f8a568b0813bc5d
+8b748c598c85858b769185c7889c868b3808fbb3078bfb60f70861f74f8af77f89b3
+f7168bf74608f778078bde9c8cc79291918ba085910813dc5a8a7e8a638b0813bc5e
+8b768c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0015199affffe1e666ff001ce6665aba89d78bcc086b82158bfb16a64bff00
+53b334ffffdf4cccffffc54cccff0008b334fb07b6ffffffb333ff00a54ccd0813dc
+ffffffb333ff008db333ff0000999af5ffffffcccdf18b8bfffff533338cd68a080e
+f7339476f906ac01f8b8f8fa15d586ff00006668ffffe56668ffffea9998ffffc999
+9808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8ccceff003b8000ff
+0005ccccff000d8000cf9291918ba085915c8a428a648b638b3c8c5c8c85858c7691
+85c486ff0003e6667eff001c999a4208ff00c08000fc8005ff00154cccffffca199a
+ff0002b334ff000ce666c189c58dfffff9e666fffff9199aff0016199aff0033e666
+08ff00ceb334f87a059fbaff000c4cccb1cd9391918ba08591638a728a748b748b64
+8c5c8c85858b76918508fc208715ca8bf762fc9b73490564e5ffff35cccdff01ecb3
+34fffffc3333ff00024ccc080ef8779476f906ac01fa22f8c915fb33fc5c898bfb24
+f85105ffffee9998ff0035e668ff00236668ff00031998ad8e91918ba085915c8a68
+8a638b648b768c638c85858b769185c088ff00199998ffffe0e668ff00086668ffff
+e61998089a5d05ff0003e6687fff00011998848b828b7efffffdccccfffff3b334ff
+fffb3334fffff34ccc08fb0dfbd7898bfb2ff859057faea690ae8d91918ba085916a
+8afb1c8a648b638b7e8c638c85858b769185b88896fffffeb3349dffffca4ccc08f7
+4afcb405907b8a83ec8bdd8b6995909908f71ff7fa058f979098908b8f8bff000566
+68fffff1ccccff00049998fffff2333408f709fbf705917a9784988b998b9393909a
+08f759f8b20597aebca2c28e91918ba08591668a558a718b718b5f8c638c85858b76
+9185b488ff0027e668fffffcb334fffff11998ffffd54ccc08fd86b615ca068b8bf7
+04fbfccafb34086e410564e5ffff59cccdff01f5b334fffffc3333ff00024ccc080e
+f75f89a870b2f8ccb170a812139098f905158b87ff0006199afffffeb334ff0009e6
+66fffffe4cccff0011800088ff001f3333fffff88000ff00284ccdffffc5800008f7
+38fb8205948090828b818b858782858308fb31fb2e05ffffe56666ffffe5e666ffff
+e1999affffd0199a518885ffffffb33386fffffe4ccd8b860813408b770513808c89
+051340a98ca38ca98b081380f704890513408e8d8b9f0513808b8effffff199aff00
+038000fffffae666ff0000800008788d05ffffd8e666ff0004199aff00033334ff00
+178000ff0014e666ff0014666608f72cf72805919391918e8b8f8b8f88918308f704
+fb2f05ff0018b334ffffddccccff00026666fffffa3334ffffd7e666870877890587
+ffffff999a89fffffd66668b870813408b770513808e89051340ba8cc28ca28b0813
+80a28bf7468ab38a0813408d8d8b9f0513908b8e89ff0003b33386ff00004ccdffff
+d380008effffdd8000ac70b208fb45f78605819885958b958b94ff0004199aff0008
+e666ff0008e666ff000c199a08f72ef72505ff0020ccccff001ee668ff0010b334ff
+00211998ff003c80008d93ff00004ccc8cff0003b3348b8e0813208b9f051310888d
+051320638a698a748b081310748b678c638c08132089898b770513108b868efffffe
+4ccc8fffffffb33408a98905ff001d666889ffffff8000ffffeb9998ffffe91998ff
+ffea666808fb2cfb230585838787888b888b878f8692082bf72405ffffed8000ff00
+1bb33482ff000e4cccff002080008d08ab8d05ff0002b334ff00003334ff00024ccc
+ff0001cccc8b90089e078a8a8e8b1f13205c8afb4f8a738b081390738b648c638c08
+8888051360f73c6615da8bf827fccc3c8b050edc89acf8d3b26cac12f790ecbbac13
+b8f842f70e15ff0091b334078bff0027ccccfffffd4ccc81ff00143334ff00248000
+08ff007fb334f77b05a7ff0032b334ff000e199885ff002cb334ff00044ccc91918b
+9f85910813d86d8a6d8b748b748b6f8b638c0813b885858b779185ff002c4ccc88a4
+ff00071998ffffe9b334ffffd5e66808fb0bfb7405827a878efffff733349b08ffff
+81ccccf77205ffffe7cccdff002a9998ff000e3333fffff86668c38e91918ba08591
+0813d8fb37890513b8648b3e8c6d8c85858c769185b588ff000b199aff00046668ff
+00289999ffffbb999808ff00834ccdfb7105ff00118000ffffe28000ff00038000ff
+ffff80008b6608fb1d078b387a863b8885858b769185bc8cee8cc28b08f73e890591
+918aa08591083b8e7a908bde0813d8fbaef87815cb8bf74dfbca8bfb9e5b8c8bf78c
+050e8b14f8e7157f97f841989d97f71495ae98a99506fb8296077f97f841989d97f7
+1495ae98a99508fb8296091e0a0396ff0c09910c0aaf0aaf0c0cda0bda920c0d1c00
+4413031f02000100320044005b006d008000cb00dd0146017f01b101c701ed024e02
+9402b502c902fc032f038a03ab043d0476048304a204e8053805560568059605b205
+ed0620063c068206d606e906fe071d07520768079d07fd081d08df08ef08ff095609
+7f0a180a330a8a0ad00afc0b070b490b880c590cca0d5d0ed00ed70f060f500f6d10
+55107a10eb1131114d11a013131328134713bd13f314a11577172919111a461aa31a
+b71b0c1b1f1b471b641bf11c101c431cec1d2d1d6b1dab1dfa1e0d1e2a1e6b1ee31e
+f61f042023203e20a720f72256229c2309231e237423d524922576271b284c28c328
+f429062918293a295a297029e22a6b2a7d2a8f2aa52aee2b042b302b8b2bba2c022c
+142c512cc72d502d5c2d832d8f2da52dba2de62e462e592e902ecb2f242f2c2f4c2f
+672f7a2f8c2ff4304f30613071307f308a30b531473191319931cc32cd330f333633
+7733ae33d7343c346434ae34f3352a35473632367b36b9374c375e3769377d37c638
+17382a383d384f38d43969397139af39c43a2e3a753a7e3a933aa13ad63b3e3b863b
+cc3c263c773c9a3ce63d543e3d3e853eba3efc3f403f7b3f913fb03fd23fe43ffe40
+224046406a408240a9416d418d41a04226424642ba42f243004308432c4332433f43
+53437a43b343dd4429449b452e457d45b845eb45ff4615465f46c146f94738476a47
+b04806481a486348ec49404954499049b649e749ed49f84a134a2e4a754ac64c084d
+3e4d794e3b4e8f4e9a4eac4ee04f284f524f8d4f9f4fbb506950c050f25152516251
+6a51aa520f5261532e539753b3540854435505552055e2565b56c556e25723574a57
+7057d05864591c59ef5a045a3f5a885ad35b365b865bdd5bfc5c1e5c685c885ceb5d
+355d915de65e045e4c5f205f6c5f825fed60376070608c610c61736249628562a262
+e46322638263d0640c6417647f649364ac64c26508652d65ff67da67ed681c683e68
+6e68b968dd692e6976699769ad69e76a136a466a796a9a6aca6b106b306b5c6b766b
+c26c0e6c3a6c666caa6cbc6cdd6cef6d046d226d386d4e6d716d926dc86df26e0b6e
+466e586ea56ed56f046f4670177149717071b871e372017250727e729e72a672ed73
+36734b738773c4741374257445745f748d74bc752c758b75a375fe766f76a976c477
+58779c77b97848788c78ca78e279507ae17b137bb47c847ce57dc17df07e6c7e907e
+9e7f0f7f497fe77ffe8041804a80a68151819081da81fe827382af83b183f0845184
+9084c2853e8579859485a285eb867c868f87018720876c878e87d487ff880c884a88
+fc89ae89c189f78a258a658a838aa28aea8b0d8b3f8b8c8c198c478c988cd68cee8d
+0a8d378d8e8db08dc28dd58e228e8a8ea68ec78f3e8f7c8f9c8fc68fe2900d902990
+4d907a90a090ee910b91339157919d91aa91d491fe920f92239241926b929d92c792
+e792fa933e9358939593bd93e1940594259462949594b394df95019514952c956595
+ae96c697089714972f9749979a97eb985598ce9970999e99f49ae99afc9b079b149b
+c59da89dec9e319eae9eca9f3a9f9d9fe2a07ba101a135a153a189a1e8a200a2b6a3
+47a36ca398a3e0a3f8a423a44ea45ca464a472a47da49da505a51ca52ba53ea54aa5
+58a626a656a6dea74ca776a7a0a7f3a81da84fa8b3a8c8a910a920a968a982a994a9
+d7aa19aa23aa3faa64aa77ab27ab87abf9ac41ac73acc1ad17ad2aad3cad65ad8ead
+9fadefae01ae35ae5caf37af80af9cafc3afe3aff5b011b025b047b062b07ab0a1b0
+c3b0e5b107b1ddb331b45cb4d8b524b52eb54ab58cb5c8b5f6b610b62fb651b67db6
+d8b707b733b75eb776b795b7b4b84cb875b8afb8ccb8e9b906b923b945b95db976b9
+c2b9dcb9eab9fcba35ba6ebac7bb16bb3dbc6bbceebd7bbe27bec5bf63bfdbbffcc0
+8ec0f0c151c1efc232c24ac2d5c2f7c33ac37dc3b2c3f8c447c48ac4dcc4f6c510c5
+2ac53cc54ec560c572c584c596c5a8c5d0c5fbc60dc62ec63fc667c67ac6bec764c7
+bbc7e6c81bc861c8b1c8d7c8ebc918c9e5ca06ca9ecab7cb1ccbd4cc02cc51cca8cd
+16cd74cdddcdf3ce0fce2dced7cf15cf35cf73cfb3cfd0d000d018d032d062d0aad1
+2fd250d2a6d39bd3b9d421d445d49fd4c5d4e1d50cd525d54dd57ad6b1d6b7d6c9d6
+dbd710d742d764d7d0d7ead818d87dd957d989d9c7da1dda31da52da89da97daa4da
+cfdad7db08db23736e78551f8b4599689433933d91318d768c858e84958b958b8e94
+8c968d998bc798f70095e199b58bcc08c16e9e731e0b6ea373a8a8a3a3a8a873a36e
+6e73736e1e0ba68f058bacf7399b9b829c716d766f7582a5fb338b1f0bc5b4dfbc99
+a78257536a3254787297bf1e0b56ab52c8deb7f702ced45d9d63414f3f391e0b798b
+688b55a481976e986f8b08434effffb9199affffa7e66658a951c9dfb7f705cb1f8b
+948a9489929e80b181a28ba98bb28fb19a08fbfbfc88ad7cf82ef8cf6b9b056c613e
+7f618b080bc5b4dfbc9da4805951693454797197bf1e0b6a6658838b608b7c977e9c
+8bb18b92c6a4b8a464924ab28b998b9a968b9d8bb35a9569b0089d8e9d8c9e8b08ad
+ae92a995849f701f6a8b7b6b5d778da99cb38ba608a37c9679797f79761e8b719e70
+8f645f9d79ac698b0873827b7d6dab84bc1f9a8b998a9888080bfb33fb39077f7e78
+7c839183941ff743fb3e06829385939a9e98971ef734f737079899a295938794811f
+fb44f7400695828f8381747d7e1e0b6c75766f1f8bffffe08000a5fffff680009d88
+9e899c858b748b76675d577e8b818d849284c796c5bb8bd108c771b2631e0b9899a7
+97958795811ffb6f067f7e7479819182941f0b9c8b9b859780aa71a63f8bfb1a8b2f
+884c7d5875395a82798b082e81f73fe2f78ac8b9b81f0bd8f709d9f77f1f8bee73e0
+5fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2dfb0a8bfb5a8bff
+ff956666ff0020e666ffff9b199aff0036b334ffffc98000ff001c6666ffffe3999a
+ff00224ccdfffff26666ff0026b3338b080b769e79a09ca9ff0011e666ff0016199a
+1e8b9389918992899285948b9308a4a5afd4afbe722b1e8b4b7457504f0841420529
+277b5b8b50088bbe8dab1ef74306abb9898b1f0b98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008f0ec050bc4c2b6b78bd708f70033b73a1efb03
+46394f1f0bff002b3334ff0027e66671ffffbfb3341f8bffffcdcccc51ffffb3999a
+ffff9ce666fffff1e66608906b059c8d9d8b988b080bc4d57bfb05fb193270681f58
+8b82a27f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095
+088a8d050bff00524cccff0026999aa2ff0029999a8bff0034b3328bff001e000284
+ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998ff0010e6
+68ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e0bfbb4fb5307ff
+00334ccdff00523334ff0046b333ff006f9998d0ff005e3334080b38f7b8068bbdff
+00004cccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334ffff
+f98000fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000
+fb238e7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff0027
+66668bff0025999a8aab8a91918ba085915a8f76898bba08e7d007999a9e97958791
+801f0b2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f7
+12ec48e2fb041f608b66827984089ff73b05b087ab86bb8b080ba98bad8db48f089b
+cf848f050b52855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb01
+1f0bff0020ccccff0015999aff0020999aff00016666ff001166668b08eda12b59fb
+0261595a4c52adf73f1f8bff00168000ff00024ccdff001ab334ff0005e666ff001c
+cccc080bff001b199aff005ae668ff003f999af0f719ff0031cccc8b978794839026
+6d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffff
+d9199a83ffffe23333fffff24ccc080bf747063dfb563cfb5747fb2c089384cf8e05
+c4f73ec2f73af704f7a5080b7a867585658b08fb6206698b8d95798f080b888a8b88
+1f8a5b804f8357ff000ae666fffffce666ff000a199afffffeccce96ff00014ccc08
+a1dbac92ab8b080bcca3605d1f8b55565e7077086c9e054cb484ac8baa08b9abb1c7
+1e0bd353c02925494e3e1e8b53ff001b199affffd73334ff003ce666ffffd9cccc08
+ff001980007b056efffff08000ffffe58000ffffee80007275080b62677a5e8b6408
+25d355f5f717cbebd71e8bc5ffffe7199aff0032ccccffffcae666ff002033340844
+b605baa2d7bf8bcb080b5e47aae51f8ba998d1e1c408ba6f05c965a45c8b5b082740
+7a5e1e0bffffdf3334ffffea6666ffffdf6666fffffe999affffee999a8b082975eb
+bdf702b5bdbccac469fb3f1f8bffffe98000fffffdb334ffffe54cccfffffa1998ff
+ffe33334080bffffe4e666ffffa51999ffffc06666ffff9afffffb19ffffce33348b
+7f8f829386f0a9c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef7
+1c1ea58bff0026e66693ff001dccceff000db333080b6ea373a8a8a3a3a8a873a36e
+1e6e73736e1f0b6c75766f1f8bffffe08000a5fffff680009d88080b9e899c858b74
+8b76675d577e8b818d849284c796c5bb8bd108c771b2631e0bf7d1f7070598998ca9
+7d9108fc1afb2105fffff6b333ffffeeb3338b7bff00094ccdfffff14ccd08f81afb
+220599918aa97e99080b9899a295938794811ffc1c067f7e787c839183941f0bfbd1
+fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8b9bfffff6b334ff00
+0eb33308fc1af722057d858c6d987d080ba9b3a3c4c4b1524a1e8b5c7c6e63664a50
+86508b60085d078493889393948e921eb7078ba38ca398a4949c9f9ba29cbaadc9b7
+8bda8be649c7258b568b617d6e726d73766f8b650868a4839b9e9f97a21e8b988991
+879008879089918b9a080b758b848eff0003cccdff000a4ccc08ff00663333ff0102
+b334918be9fba4050bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffff
+dd8000ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb2
+8bb48bb18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccff
+ffee9998ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe18000
+85ffffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91
+918ba08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bc0
+8b95e2c3d46d2536506d381e41060bf71dc43e31426f4efb2c457ea5c81f0bffffdc
+4ccd8bffffc9b3338c648c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b28cff0035e6668cff0025199a8bff0023b3338bff001a4ccd89df8bf7
+5b8bc0ef8be18beb48c234a4088d070bff0032199aff00196666ff002ce666ff0033
+4cce8bff00364ccc8bce6ee2fb4e8b688b5589678b080bec8be4b9cfe48694849180
+8b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e666
+ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8b08f71e8bc239a53597
+87ff0009b3348eff000b4ccc9186bf84bb81c258905eb3fb0f8b368b446c5055ffff
+bd999affffc33334ffffd86666ffff9e19988bffff97b33408ffff523333f4ffff6d
+cccdf76b1e0bf87407aeae99bcf76cd2fb43fb2efb5efb0d59fb2129809fab1e0bff
+ffdc4ccd8bffffcab3338c638c85858b769185d1889c868b3808fc25078b387a8645
+8885858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf7
+8af74efb2df72dfb541f448b5489648b080b30f74806b7979fc11ed606d68b9b63a1
+46ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47c
+eb89938b8d8a8c888b7a88838a738b08fb93060bffffe180008bffffc580008c638c
+85858b769185d1889c868b3808fc25078b387a86458885858b769185080bb08cc78c
+ac8b08f76b060b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e5e9185
+a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858508885488
+7e368b080b6b8b528c638c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ae8cbd8cb88bb88bbc8aae8a91918ba08591458e7a908bde08f75d070b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bf825078bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde080b8bde9c90c78e91918ba08591658affffd4b3
+338affffd94ccd8bffffdbb3338bffffcb4ccd8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6668bfffff1cccdff000bcccd84ff000eb33385ff
+000cb333fffff73333ff000ccccdffffe7199a8b087d6d767567c079a11fb88baa93
+b4aeff002bb333ff00254ccdff003a4ccdff0033b3338bf723080bff00bae66607ff
+0021cccd8aff001ce666fffff4b334ff00144ccdffffe6666608f731fb5a05ff0014
+4cccffffe66666ff000db334ffffe4999a8d7bff0000666688ff0000999a888f8b9f
+8cff000ce6668cff0015199a8bad8bad8aac8a91918ba08591ffffe31998ff000299
+9affffe38000ff00031999ffffe16668ff00244ccd08fb6ff79805fffff84cccff00
+09199afffffab334ff0007e6668b938b928c92adae08f727f72b05b9bcb38fb38e91
+918ba085916c8affffe033348affffdfcccc8b668b648c668c85858b769185ff0024
+199afffffc9998adfffffc4cd0ffffd5e666ffffd3199808fb39fb4405ffffeab333
+ffffe94cccffffe96667fffff2e668ffffdce666fffffd199808ff00afb334078bde
+9c90d18e91918ba085915d8affffd080008affffdb80008bffffd980008bffffd280
+008c5e8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+b98cb28bb18bb98ab88a91918ba08591458e7a908bde080bff00d4b334060bff001b
+4ccce7898b1f95bd95cc91bffffff63334ff0004b333fffff53332ff0002199affff
+f3999afffffe3333080b77436650218b084c0664799ebe1ff832078bde9c90d18e91
+918ba085915e8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85
+858b769185d1889c868b3808fc25070b8b387a86458885858b76918508b28cff0039
+4ccd8cff0021b3338b080b903afffffc4ccc8a4a8885858b769185b08cb38ca98ba9
+8bff002dcccc8aff002133348a91918ba08591478efffffce668ff00043333fffffa
+3330ff0052cccd08ffffe23334f83905fffffbb334c19099cf8f91918ba0859108fb
+1789fb68fc8f0587818887898b898bfffffd199aff00056666fffffce666ff000799
+9a08fb61f890fb258d0585858b769185d0879189844008ffffd7e666fc3005fffffa
+199affffc4199a7fffffe6e666528685858b769185a98cab8ca38ba38bb38aa98a91
+918ba085914990fffffa999aff001eb333ff00056666ff00384ccd08b1f8258d8bf7
+63fc9b050bff0002ccccfffff8e666ff00063334fffff8199a918b918b8f928f9308
+f775f8a58d8b050bfbdb07788b80841e878b7c9d6eb008fbebf847fb1b8d0585858b
+769185b688a968917108fc35078b327a85458485858b769185b68cff002d66668cff
+0017999a8bff0017199a8bff002de6668ab58a91918ba0859145927a8f8be608f7c6
+07ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b089994979e1ff87f07
+8be49c91d19291918ba08591628affffd0b3348affffe84ccc8bffffeab3348bffff
+d24ccc8c5f8c85858b76918508d1849c878b30080bf718f6fb02fb5efb473522fb06
+fb0efb07f701f754f766eee0ee1f0bf763fb23f70efb47ffff3e4ccdffff8eb333ff
+ff65e666ffff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333
+ff0036e668ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bf763fb23
+f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e199a1e8bfb49ff0078b333ff
+ff898000ff00976667ffffede666ffffc31999ffffe0199affffc84ccdffffd0b333
+ffffdc199affffd4e667fffff93333fffff8e66685fffff84ccdfffffb3333fffff7
+b33308b27705ff000bcccdff0010cccdff000cb333ff000f6666ff000d3333ff000e
+199aff000e199aff00096666ff000d9999ff00034ccdff0007999a8bff002a80008b
+ff0024999affffeccccdff0026e666ffffe9cccdff002e999affffe56666ff0032cc
+cc70ff0046999a8bca8bb5a5b2c3087a9705757067816e8bffffd633348bffffd7cc
+ccff00118000ffffd58000ff00146666ffffd16666ff00166667ffffcde666ff0015
+b333ffffc633348b858bfffff94cccffffff8000fffff8ccce8aff0031999aff0024
+4ccdbcff0014cccdff00209998ff00093333ff0053333499ceff002b7fffff002cb3
+34ff003fb33408ff0027ccccff0038b333a1ff00484ccd8bdf080bc8d375fb0afb11
+446f2a1f5bf77906a897aed21e0bf73d07df8bff0012b334fffff14cccff000e4ccc
+ffffe8b33408f6fb42050bff001cb334ffffd16666ff002b4cccffffd5999ac78b9a
+8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff002199
+9a71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b61
+84678b688b5c8c5c8c85858b76918508d1889c868b3808fc25070b8b387a86458885
+858b769185b88cff002e80008cff002680008bff0025999a8bff002f66668ab78a91
+918ba08591458e7a908bde080b8bde9a90d88e91918ba085915c8affffcf66668aff
+ffd8999a8b648b628c648c85858b769185c7889c868b3808fbb607fb60ff00838000
+64ff00668000f761bcf713f7461ef778078bff00504ccc9cff0003b334c79291918b
+a08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c85858b
+769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc080bd586ff00006668ffffe56668ffffea9998
+ffffc9999808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8cccdff00
+3b8000ff0005cccdff000d8000cf9291918ba08591638a5e8a678bffffdbb3338bff
+ffdd4ccd8c6a8c85858c769185c286ff0007e6667aff001a999a4608ff00c58000fc
+940591fffff0666692fffff8999a958b968bff00073334ff0008b333ff0005ccccff
+000e4ccd08ff00ceb334f89205ff00133334ff002f4cccff00101998ff0026b334ca
+9291918ba085916d8a688a748b748b5e8c628c85858b769185080bffff63b334fffe
+4db334fffffcccccff00014ccdffff768000f83a05ffffee8000ff0035ccccff0023
+8000ff00033334ad8e91918ba08591628a5f8a638b6a8b688c6b8c85858b769185c0
+88a1ffffe0b33494ffffe64ccc08a24905ff0003e6667fff0003199a818b828bffff
+f5b334fffffe8000fffff83332fffff88000ffffef199a08ffff7e8000fffedab334
+fffffbb3348cffff6dccccff01ba4ccc05fffff46666ff00231998ff001a999aff00
+04e668ae8d91918ba085916a8a5f8a648bffffdd4ccd8bffffe2b3338c6e8c85858b
+769185b888ff00076666fffffe8000ff0012999affffca800008f750fcb105ff0005
+6666fffff0199aff0005199afffff4e666ff000b80008b988bff0005999aff000a66
+66ff00076666ff0010999a08f729f7e305ff0008e6669fff0003199a90908b8f8bff
+0004199afffff5199aff0005e666ffffeee66608f707fbe005ff0005e6687aff0005
+199881978b968b9296909a08f75df8af05ff000ce668ff0022b334ff00121998ff00
+174cccc28e91918ba085916e8a6b8a718b718b5f8c638c85858b769185b488ff0028
+4cccfffffc9998fffff0b334ffffd56668080bfb2df76605fffff63334ff000d6666
+fffff9ccccff0009999a8b958b94ff0000e666ff00093334ff0009199aff000bcccc
+08f71df74505ff0022b334ff002ce668ff001f9998ff000cccccff002cb334ff0004
+4ccc91918ba085916d8a668a748b748b618c638c85858b769185ff002c4ccc88ff00
+123334fffffa6668ffffe88000ffffde999808fb0ffb430585fffff7800085fffffc
+8000878b888bfffffbcccc8ffffffb33349208ffff918000ff00a3cccc05ffffe3cc
+cdb3fffffbb333ff000b3334c38e91918ba08591668a668a638b648b6a8c6d8c8585
+8c769185b588ff00128000fffffab334ff00293333ffffc54ccc08ff008e4ccdfb5f
+05ff00083334fffff44cccff0005ccccfffff7b3348b818b85fffffbe666fffff6e6
+66fffffa199afffff8199a08fb28fb5a05ffffddb333ffffd2199a6bfffff43332ff
+ffd34ccdfffffbb33485858b769185a98cb08ca28ba28bb58ab38a91918ba08591ff
+ffd3b3338effffed199a90ff00183333ad08f718f74d05ff0005b33493ff00064ccc
+918e8b8f8bff0004666688ff0005999a8308ff007b8000ffff50333305ff001c4ccc
+ffffd7b332ff00043334fffff5199a538885858b769185b08cb08cb38bb28bac8aa9
+8a91918aa08591618effffef6668ff0009b333ffffd59998ff003a4ccd080bff0087
+b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a08ff007780
+00f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a
+6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffff
+ea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334ff00014cce82
+ff000fe66608ffff8bffffff00cccccc05ffffe7ccccff002a999c8fff00099998c3
+8e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00113333ffff
+fa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00
+038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff003466668c
+ff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080b
+90c395c697bf848d808e7e8b6c447254fb018908fb5587057affffff999a83ff0005
+66668b948b908e919094d4f5f74cf799f70af72cff00151998ff001b3334ff0002e6
+68ff0006cccc8b968b92868f838b7f8b6c896d8b08fb71060b5c8b2a90668e875581
+52836295889489968b080ba0d0b1ff00239998d6ff0001666808f7678f05ff0005e6
+66ff00001998ff0004199afffffce6688b858b86888586842afb0ffb52fb9e25fb2c
+858389838b8408819086991eff016c4ccc06a6ff0063b334898b1f0bf2fb8bb88bfb
+12f7c4618bfb13fbc4b88b050b878c858c868b698b747a8385088980f706fb01059b
+7c9286918b938b92918b908b928a928695080bfb18078b7e85848385717669746f8b
+598b75b38baa8bb8a0b9d59e080b916cff000a999a70ff003266668bff00264ccc8b
+af9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccd
+fffff88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727
+07f7223da6423938555273977fa2a89da0981e8b928a92898f8a8e8a918b9608aab5
+96b1adba7afb051e8b848887888a083576050b2b7346568b478b39c371d18bff0022
+cccd8bff001e333393b7ad089f9b050ba5a2a994a88b08c8bd412afb065d352c1f6c
+8b76a177a408f78e078ba0ff0004199aff0009999aff000ce666ff000b6666080bff
+fff9b333fffffa4cccfffffc4ccdff0001b3348b9408f74c07cc8fb38b1e92878e82
+1e7281407d638889838d7b9185bf8897908b3708fc7c078b648a79887d9083908797
+8bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a
+4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff0023
+4ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080b8794
+838f828c695f6075608b08424ed5f709f702bbcdcd1fc68b93688f688e709982a08b
+08a0a798aac252b32b282132fb22fb15d332f7121fc78bc09ebddd080b8b78fffffe
+199afffff83333fffff1e666fffff3cccd666b6b7b728b558b53c68bf7118bd399b3
+9aa0aabab58e9f8baf8ba47e9f7408997b8e848b6c080bff0004ccccff0003e667ff
+00098000ff0001cccdff0000b33484ff00028000ffffe78000ff00088000ffffdd80
+008b8b938890ff0000800091ff00028000080ba19dae9ac89291918b9a85914b9082
+9e8bbc08f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fb1407848989841e878b629c6a8b498b5f756365606071508b41080bfb0fc931
+f7001eb28bb09fbcff00284ccc080b9ef705d194a38bb18bb8768b378b8287fffffb
+333480ffffffcccc080b66656e7b518b678b61a06cbe77ac7fb98bc508f79e890597
+929196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf88
+9585907f8c080bf7a0e80794998f941f9f078f888d861efb00c406f72eb9a3ac1ea9
+8b9b7f99689379967da08b9c8ba3a08b9f8b9c809d769b719d718e658b08372e42fb
+301f63580779867f831f7e07868c8a8f1ed0fba0068b387b87558785858b769185ae
+8cae8cb38bb38bbb8aae8a91918ba085913d8f858f8bde080b2e5c78663782d2cbd1
+a4afc21ecaad5d381f0b6f737b608b698b679f6fa57e080b8bff0015199a94ff000c
+4ccc93ff0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+2c078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390
+808f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef33
+34a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334
+fffff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e728140
+7d638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b7691
+85ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f82
+8f8bde080b71a371a3a7a3ff001ae668ff00151998a376a7701e736f73731f0bff00
+c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f808f8bde08
+0bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1fa0
+8bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f80638246828985
+8d7b8d8508c18696858b52080b8b388087538785858b769185ac8cad8cb38bae8bac
+8aa28a91918ba08591628f808f8bde08ff0056e66607ff00133333ffffff8000ff00
+0e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6
+667b08d42905ff001d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff4
+4ccdff00004ccc88ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591
+698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff
+00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f9191
+8ba08591748a6f8a678b658b668c748c85858b769185c387ffffe84cccffffdcb334
+fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef99
+9affffe51999fffff43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92
+878e821e7281407d638889838d7b9185bf8897908b37080b8b3880864e8885858b76
+9185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080b25cffb05f7221eff
+004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcc
+cdff00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9
+b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080be1
+c03dfb24fb124a6c5c2369f712d8e2a0e4e51f0ba5abff002dcccda9ff001d33338b
+08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dfffffc199aff
+0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff000e
+4ccc080b9fffffe9999a8ffffff1199a8bffffe7e66608fb7a078b798a867efffff9
+3333ffffe8999afffff3e667ffffe53332fffffee666fffff033348b085134b5f72b
+f3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ffffe78000080b7d
+877f831f7e07868c8a8f1ec6fbc10644aa6fb91eb98bbda1b2b789ff000a4ccd85ff
+0005b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861e
+fb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bffff
+f78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdff
+fffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bff
+fff466688eff000699988bffff91199a080bc187ff0005999afffff3ccccffffeb19
+9affffcd333408ffffaf4cccfb5805ffffefccccffffd88000fffffaccceff0000b3
+33fffff06666ff0029cccd08ffffb7e666f75505ffffee199abbfffffbb33397ff00
+354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b769185c0fffff9b334
+92ffffefe666ff00146666ffffcd666608ff007f999afbd005917c9185988b958bff
+0006e666ff00066666ff0007199aff0010999a08ff00856666f7cd05ff0012b334ff
+002be666ff000ae666ff0019199ac39091918ba08591778a738a718b6a8b698c728c
+85858b769185080bffffe9199aff0021ccccff00073333ff00018000ff002cb333ff
+0004b33491918ba08591708a5f8a6d8b6d8b6d8c718c85858b769185ad88a77aa762
+08e2fb1305ff0004e666fffff8cccdffffffb334fffffccccdfffffc6666fffffb66
+660837fb0005ffffd86666ffffcd199affffe9999afffffce666688985858b769185
+9f8ca18ca98ba98ba78aa58a91918ba0859167ff0003b333fffff78000ff0003cccd
+ff00168000ff0020800008cae605ff00084ccdff000be666ff00036666fffffeb334
+ff00064ccdfffff7666608c53b05ff0022ccccffffd0199affffefe668fffffe3332
+ffffe04cccfffffcb33485858b769185a98cac8caf8bb18ba68aa38a91918ba08591
+ffffd2b3348efffff19998ff0003199affffd7b334ff0038e6660831f71305fffffb
+ccccff0005e666ffffff8000ff0003199aff0004b3349108dff605b0baff00178000
+90ff002480008e91918ba08591778a748a6d8b6d8b6f8c718c85858b769185ff0024
+b33487ff000b8000fffffce666ffffe7ccccffffde199a084a3005fffff8cccd81ff
+fffbcccdff0000ccccfffff86666ff000b3334080bff000f999aff001bcccdff000d
+1999ff001c9999ff000c4ccdff001d999adbf755ff002cccccff0066999aff003433
+34ff00706666ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591
+778a748a6f8b6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708
+ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd
+08ffffa74ccdf76405ffffedffffff002a3334fffffacccdff00128000c3ff00044c
+cc91918ba08591668a638a678b698b708c778c85858b769185ff0027b333869882ff
+001a33334e08ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb080bff0005b33388ff00054ccd8a918b
+a2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28b
+a38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a6f
+8b758b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e
+4a080ba3a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d
+8b4f7efb0081357d618b4a0855a878a31e0ba873a36e6e73736e6ea373a8a8a3a3a8
+1e0b71a076a5a5a0a0a5a576a171717675711e0bf730f717f713f730f730fb17f712
+fb30fb30fb17fb12fb30fb2ff716fb14f7311f0bf71ff700fb03fb1ffb1ffb01fb04
+fb1efb2020f705f71ef71ff6f703f7201f0b3c0771747a81768b698b809f8ba08baa
+a39de0a1080b9e8b9e979495ff0000999a93fffffcb332ff00054cccfffff8b334ff
+0002b33488888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080bff00258000ff002a8000ff00258000ff
+00308000bfdafffffd80009580ff0007ccccfffff58000ff00013334ffffb08000ff
+ffaa800059ffffcf8000ffffc880005a087f07ff003780005abdffffcf8000ff004f
+8000ffffaa8000ff000a8000ff0001333396ff0007cccdff000280009557daffffda
+8000ff00308000ffffda8000ff002a8000080b697368626173adaeafa2afb6b89f64
+6a1e0b54b85ec2c2b7b8c2c35fb854545e5e531e0b9899a295938794811ffc1b067f
+7e787c839183941f0bff00088000ff001ab334ff00063334ff001f9998ff00044ccc
+ff0023b334fffffab334ff0003b33483ff00019998fffff54cccffffffb334806f7d
+646c8b08380694ac9aa6b5a9080bc3b3acac8bb908cb519e593c6f58711e7e998097
+1e0b8b6270715f85fffffd4ccdfffff6e668ffffff4ccdfffff49998ff00056666ff
+fff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b333ff00068000ff
+fffa4ccdff000b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2
+b332ffffe08000ff0046999afffff4b334ff001a3333dbc6b9d01f8bc55ca66a8e08
+0ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33339dff0004cccd
+96929ba7939c8b089ba183711f0bffffb46666fb0b05fffff7e667fffff33334ffff
+fcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffff
+e666668cfffff9999a8b868b858a888a080ba7a5a5a7a771a56f6f71716f6fa571a7
+1f0ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908a4ce698b632b9185059b90958c9e8b080b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffffda8000ffffd58000ffffda8000ffffcf8000573cff
+000280008196fffff83333ff000a8000fffffecccdff004f8000ff00558000bdff00
+308000ff00378000bc089707ffffc88000bc59ff00308000ffffb08000ff00558000
+fffff58000fffffecccc80fffff83334fffffd800081bf3cff00258000ffffcf8000
+ff00258000ffffd58000080bfc5ffd23b583f85ef923050bffff744ccd2907ff0006
+8000ff00118000ff00344cccff0049b333ff00273334ff00308000080bfc5efd23b4
+83f85ff923050b9dab845c1f8b5573745e675b6665618b5b08f762060bc3b3acac8b
+b908cb519e593c6f58717e9980971e0b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff98000938c908c928b080b6d6373525265c4cc
+1e8bba9aa8b3b0ccc690c68bb608b90792838e83838288841e5f078b738a737e7282
+7a777b747a5c694d5f8b3c8b30cd4ff18bc08bb599a8a4a9a3a0a78bb108ae72937b
+78777f741e8b7e8d858f86088f868d858b7c080ba873a36e6e73736e6ea373a81ea8
+a3a3a81f0bffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4c
+cc08f72e4c05a0829988938b938b92928b938b9287918093080bfb1035057e828986
+8b848b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cce
+ff00116668ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff00
+00b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff
+0009199aff0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad
+6daf080b788b7a927b97080b7799759f6d8b608b74647d509185958a968d95ac959a
+a58b9c8b9e839d80080ba07da079a18bb98ba8b297c7858f818e808a087d61808175
+8b080b71a175a5a5a1a1a5a575a1711e717575711f0b71a175a5a5a1a1a5a575a171
+717575711e0bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000
+ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48b
+b18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee99
+98ff00303334080bfb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ff
+ffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918b
+a08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080ba99d75
+6c6f7a726c6c7aa4a7a99ca2aa1f0bf72df7b9058f898c828b7f08fba2070b8b387a
+86458885858b769185080bbc8cdc8c8b8b08f76a060bbbdb898b1f99bd9acd93beff
+fff59998ff0005e666fffff48000ff00024ccdfffff2e668fffffccccd080b774368
+503f8b08fb1c06757d9ba61ff785e607e08b8e748e5e9185a08b91918aae8aff0012
+b3348bff00224ccc8bff002180008cff001680008ca98591768b85858854887e368b
+0830f75c06a3979fa31ef406d68b9b63a146ff000c6668fffffe3334ff000accccff
+00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb
+448bfb208b050b8b8b4a8c598c85858b769185d188ff00063334ffffe8b334ffffef
+ccccffffe14ccc08fb87fc5b05ffffe04ccdffffc4b333ffffe33333fffff74ccdff
+ffd480008885858b769185080bb08c988cb28b080bb48bbd8ab08a91918ba08591ff
+ffda6666ff0002999affffcb4ccdff00064cccff00144ccdff0027199a08ecf74ff7
+468b050ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff0015ccccff003a800005ff00556668ff000880
+00ff004dccccff002d3333c8ff004fcccd86948491808b443d476c2e8bffff796666
+8bffffa2999af72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff00
+2ce666ff0031999ac8c5a7bf8b08f71e8bc239a5359787ff0009b3348eff000b4ccc
+9186bf84bb81c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd866
+66ffff9e19988bffff97b334088bffff53999aff00674ccdffff6eb333ff00d37fff
+fffffdb33308ffffdc3334359185059b90958c9e8b080bb7979fc11ed606d68b9b63
+a146ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b4
+7ceb89938b8d8a8c888b7a88838a738b08fb93060bbbdb898b1f99bd9acd93beffff
+f5999891fffff48002ff00023333fffff2e666fffffccccd080b774368503f8b08fb
+0806617d9bba1ff771e607e08b8e748e5e9185a08b91918aa58aff001bb3348bff00
+224ccc8ba78cad8ca38591768b85858854887e368b080bffffddcccdfffff46668ff
+ffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b9292
+8b938b9287918093080bf75fe30797949a96908893821f2af78206aeae99bcf76cd2
+fb43fb2efb5efb0d59fb2129809fab1e0bffffdc4ccd8bffffcab3338c638c85858b
+769185d1889c868b3808fb593c0782817c81858e83931fe2fb39068b387a86458885
+858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf78af7
+4efb2df72dfb541f448b5489648b080bfbdb07788b80841e878b7c9d6eb008fbebf8
+47fb1b8d0585858b769185b688a968917108fc35070b8b327a85458485858b769185
+b68cff002d66668cff0017999a8bff0017199a8bff002de6668ab58a91918ba08591
+45927a8f8be608f7c607ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b
+089994979e1ff87f078be49c91d19291918ba08591628affffd0b3348affffe84ccc
+8bffffeab3348bffffd24ccc8c5f8c85858b769185d1849c878b30080bffffddcccc
+fffff46668ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988
+938b938b92928b938b9287918093080bf718f6fb02fb5efb473522fb06fb0efb07f7
+01f7541ff766eee0ee1e0bff0033999aff003fcccc05ff00351999ffffd8b334ff00
+424ccdffffea8000d28bff006ecccc8bff00588000ff002fb333ff0036e668ff004e
+4ccdff0027ccccff0038b333a1ff00484ccd8bdf8bff0064999affffde3334ff0050
+8000ffffc8ccccff0038333208bdff003db33405fffffdb334ff000ee668fffff14c
+ccff000f1998788b08ffffce80004e05ffffc9999aff0027ccccffffbb999aff0015
+3334ffffb54ccc8bffff3e4ccd8bffff8eb333ffff65e6668bffff3e199a8bffffa1
+3333ff00213333ffffb24ccdff00354ccdffffc8e66608ffffcc8000ffffc0999a05
+8e7c997a9e8b080bff0041199a8bff003b199affffe53334ff002b1998ffffcc9998
+08fffebdb334fffe734cce05ffffe53333ff002f4cccffffefcccdff003c66678bff
+004833338bf766eee0ee8b080bff001bb334ffffce4cceff00104cccffffbf33328b
+ffffb133348bfb473522fb068bffffc266668bffffc4199aff001bccccffffd3e666
+ff00344cce080bf762bcf713f7461ff778078bde9890c88e91918ba085916d8a5f8a
+748b748b798d718bffffed4ccc8b8875ff000eb33480ae8498798b4908fb8a07fb04
+7bfb1afb3c1e5b8b61a06ea856c08cd18bcc08f792078bca9ba2aa90948dff0000e6
+66aafffff2199a8b728a788a628b648b5f8c668c85858b769185ff003c800088ff00
+108000868b3808fbb307fb60f72561e41e0b71a076a5a5a0a0a5a576a07171767671
+1e0bfb18078b7e85848385080b717669746f8b598b75b38baa8bb8a0b9d59e080bff
+ffb46666fb0b05fffff7e667fffff33334fffffcb333878bfffff4cccc8b84928592
+8b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b08868b858a
+888a080bfffff54ccd8efffff56666ffffff4cccfffff54ccdfffffdb3346e5d5d55
+6763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff000899
+9aff0008199a90920867b35fc06eba080b71a076a5a5a0a0a5a576a1711e71767571
+1f0ba99d756c6f7a726c6c7aa4a71fa99ca2aa1e0b5db564b9bbb3b3b8ba61b15d5d
+61645d1e0ba273946c8c3cffffa93333fffff9e666ffffbde667fffff2b334ffffd4
+e666ffffe6999967ffffeacccd70618b638bffffd66666ff000e8000ffffdf3334ff
+00228000ffffec6666ff0015e666fffff38000ff0024199afffffa8000af8bff0025
+199a8bff0032e6669ab9ba08ff000be666ff000c199aff0004199aff0003e6669382
+080bff00154cccffffe8199aff0026b334ffffd2e666e68bcd8bc5b2a8c1fffffcb3
+34ff00054ccd83ff0009e666fffff74cccff0000cccd6d686872558b408b50e48be5
+f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e738b08393d5f51779472
+aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b08a08bff001d4ccdffff
+f94cccff000eb333fffff0b334080b8b598a6a8778080b7c6357626b8b538b70ab8b
+b68bff0016b333ff000c4ccda1ff0018b333ff00123333ff001eb333ff0016b334bd
+ff0010e666ff00454ccdff00058000080b93e0b4cfcf8bbb8bae658b6b8b4e5c77fb
+2d89080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff00156666ff00394ccc05c2ff0002999aff0031
+199aff0015cccdff002e8000ff004c4ccd8794838f828c695f6075608b08424ed5f7
+09f702bbcdcd1f0bc68b93688f688e709982a08b08a0a798aac252b32b282132fb22
+1f8bffff86999aff003fb33335ff00708000fffff64ccc08ffffdbcccdffffa9199a
+9185059b90958c9e8b080b9ef705d194a38b080bb1b876371f8b8287fffffb333480
+ffffffcccc080b66656e7b518b678b61a06cbe080b77ac7fb98bc508f79e89059792
+9196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf8895
+85907f8c080bff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffff
+d8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52
+08fb57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591
+4e8f808f8bde080bfffff9e66684fffffa6667fffffd999affffffb333ff00096666
+8aa6fffffdb333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999affff
+fe199aff00036666838b080b6f807182468289858d7b8d85c18696868b5108fb5707
+8b3981874f8685858b769185a98cb38cb38bb38ba98aa98a91918ba085915890818f
+8bdd08f738078ba094979394080bb1b0b8a1b28b9f8ba07e977495778d708b6d08fb
+2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba086915390
+808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccd7effffc4b33347
+080bfffff54ccc8efffff56667ffffff4cccfffff54ccdfffffdb3346e5d5d556763
+918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff
+0008199a90920867b35fc06eba080b25cffb05f7221eff004066668bff00306666ff
+0016b333ff0022199aff00214ccd080bff002cccceff002bcccdff00144cccff003e
+e6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b33370ffffdb666760
+ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080b25cffb05f7221eff0040
+66668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff
+00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b333
+70ffffdb66676008ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080bffff
+d7999a5a05ffffe1199aa0ffffd84ccc98598bffffbe33338bffffc9b33370ffffdb
+666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc8bffffce199aff0010
+4cccffffcb6666ff00214cceffffd74ccc08ffffcb6666ffffc03334058d7c97809b
+8b08ff0032cccdff003dcccc05ff00213334ffffe53334ff002be6667aff0037199a
+8bff004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff00
+2bcccdff00144cccff003ee6668bff003d4ccd8bc5ffffee4cccff003f4cccffffd5
+ccceff002c999a08ff0029e666ff0033199a05879881957a8b080bff00274ccc8bff
+00208000ffffefb334ff0017999affffe0800008ffff42e667ffff1ab33205fffff3
+ccceff00224ccdfffffae666ff0025199a8bff001db3338be2a0e4e58b080b9affff
+dc999aff00083334ffffd1cccc8bffffc7999a8bfb124a6c5c8bffffd066668bffff
+df199aff001a6666ffffea4ccdaf080bb28bba9fbcb3908fff00094ccc8dff0000b3
+3484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff0000
+8000ff00068000ff00028000080ba19dae9ac89291918b9a85914b90829e8bbc08f7
+5407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f
+8b4908fb55078b7889837d7f080b666b657b728b086d5999e41ff74a07a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746
+a948ee1e0b9896a097918796811ffb75068080777f848f80941f0b6f06846457755a
+8b568b5ca183b2086f069045c560d48bcd8bcbb591d2080b707f059936be59d18bc6
+8bcbbc97e10870970581515d6b578b08558b60b080c0080b6fa373a7a7a3a3a7a773
+a36f6f73736f1e0b71a371a3a7a3ff001ae668ff00151998a376a770736f73731e0b
+b606a9adababb1a8087c9f05657b6b7866716aa4699e649c087b7705af6fae6da966
+080bbd06a8b9b1b8aeb20878980566706972666569af6aa464a808777e05ae65b05e
+a85c080b6d7d797b7b9075b49391837e1f8b747666618208907a05d193abc98baf08
+af75b0651e0b8b78fffffe199afffff83333fffff1e666fffff3cccd080b666b6b7b
+728b558b53c68bf7118bd399b39aa0aabab58e9f8baf8ba47e9f74997b8e848b6c08
+0ba19dae9ac89291918b9a85914b90829e8bbc08f827bc07ff000c4ccc8dff000ab3
+34ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff
+00014ccc08509506cc8fb38b1e92878e821e7281407d638889838d7b9185ff0030e6
+66fffffd3334ff000d999aff00043334ff00016666ffffba999808ffff75199a067f
+fffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f728
+2506848989841e878b629c6a8b498b5f756365606071508b41080b6f06846457755a
+8b568b5ca183b2086f069045c560d48b08cd8bcbb591d2080b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e
+5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858588
+54887e368b0830f74806b7979fc11ed606d68b9b63a146ff000c6666fffffe3334ff
+000accceff00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a8883
+8a738b08fb93060bfb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8b
+e8a4cfc5080b809486938b9608f708078bff002333339cff0009cccda88e91918ba3
+8591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666ff
+fffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237
+f73df718f743ff00718000f70cff007480001f0bf7258bb438a535ff000b4cccffff
+ff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f
+9566aefb038b080b3782d2cbd1a4afc2caad5d381f0b96889b89988b080baa8ba78e
+998bbd8bb58aa87bb275977d8b7108432165316737a8cf1e8bad8da4a8ae080b9e9d
+9d9f1f0ba0789b701e718b5b7a7169080b7f936a9f508b328b394f8b2f8b55a36ca7
+70080b556b6f5d8b600834dd70d8f71bf726ccf7001e8bab7ca46ea364ab458c668b
+798b72897388080b7c8a818a868b6e8b68998bb68b9f91a0979ca37da784b28be38b
+dcc28bed8bba7da66ea90892959f99988b928b928891828f839881968b080b6e7678
+731f8b70a4829c889d8998878b778b7971735a808b828d829185c494bca98bc708bf
+73ad651e0bae9ba49b9c81a363ffffe7cccdfffffb3333fffff96668ff001399981f
+8ba29fabc4978b928a94878f6586ffffe3e666ffffef1998ffffef199affffeae668
+7b7784758b730867a266b21e0bf825078bde9c90d18e91918ba085915f8affffd080
+008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b38
+08fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff002399
+9a8bff003066668ab88a91918ba0859108458e7a908bde080b8bde9c90c78e91918b
+a08591658affffd4b3348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b
+769185db889c868b3808fc4e07fb48576f6a1effffece6668bfffff1ccceff000bcc
+cd84ff000eb33385ff000cb333fffff73332ff000ccccdffffe7199a8b087d6d7675
+67c079a11fb88baa93b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723
+080bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f806382468289
+858d7b8d85c18696858b52080bfb1035057e8289868b848b839184948b948b978ea0
+9408f724c505fffff34ccdff00154cccffffeb4ccdff00116668ffffe36666ff000d
+4ccc080b8b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08f86107cc8fb38b1e92878e821e0b7281407d638889838d7b9185c5
+8791888b40080bb28cff00394ccd8cff0021b3338b08ff00d4b334060bff00103334
+7fff0015cccc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668ff
+fffeccccfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408
+0bff00174cccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080bff0012
+99987aff00126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d
+8b8d8b8d8d08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000
+ffffeb199a1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d
+8d08f1f70d058f908c918b90080bfffffe4ccdb3fffffe6666ff0019b334fffffb4c
+cdff000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f807182
+468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb28c
+b38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d080b969b
+a2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ff
+fff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464
+8580fffffb333393ffffffcccd90080bffffc6333293ff0002199a9effff9e4ccd8b
+080bffff9ab3333248211f8bffff96999aff00568000ffffcfe666e3ffffde8000ff
+003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ff
+ffb033348b080bffffa280008b4fff002a800075ff00638000fffff3b3338ffffff5
+6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff0058b3338bff
+002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff0023ffffff0024
+8000ff003d999a8bff003f999a088bff006a6666ffffafe666ff002e999affffad99
+9aff001ee666080bffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a
+8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe3334
+98ff0000cccc9492fffffc8000bb87a7fffff5b334c0080b8f5a8e5c8b61958d958c
+908b928b918b9289080ba684a687b08bc38bf2a68bee8bff00444ccd5aff0027b333
+47ff00193333ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b
+080ba18bc583983691859f8c91918eaf8db08cac6c905b99578b418b485b8b4b8b42
+ac6cd86b080bde699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b3
+33ff000ab33475a280b785a4088591788a8585080b8c898d8a1e0b6988fb03863c8b
+0835060b3e8bfb0a90658e898b89898b8a875e8157805b9587978a978b080bcb95b1
+af1ea106d68bba719c3e968b998c948f84b986be8ab8080b9fdbb9a5cd8b08bc06b0
+95654e1ffc15078b387a863b8885858b769185bc8cff0032e6668cff0028199a8bff
+002666668bff0032999a8abd8a91918ba085913b8e7a908bde080bfffff54ccc8eff
+fff56668ffffff4cccfffff54cccfffffdb3346e5d5d556763918292859489b2a1ac
+a8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b3
+5fc06eba080b91918ba085916d8a688a678b658bffffe533338cffffe5cccd8c8585
+8b769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082
+e666fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b93
+91919a08ff00828000f7d105ff00106668ff0028e666ff00111998ff001c199abe8e
+91918ba08591778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3
+199afffff1e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7cccc
+ff0014cccd08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a
+6d8b728b6a8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e6
+66ffffd3333408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199a
+ff00208000083bf76205ffffed199abb8c9bbb8e080bff0087b334078bff001dcccc
+ff0001199aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b3
+34ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b
+8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808
+ffff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8b
+ffffff00cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a
+658a638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ff
+ffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080bfffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a080b9fd4aaff00114ccca9ff0000b33408f714
+8e0547fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f86
+8e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000
+ff00056666080b90c395c697bf848d808e7e8b6c447254fb018908fb5587057affff
+ff999a83ff000566668b948b908e919094d4f5f74cf799f70af72cff00151998ff00
+1b3334ff0002e668ff0006cccc8b968b92868f838b080b7f8b6c896d8b08fb71060b
+ec06f71ba729524d6c36fb31507e99af1f0bac8baa89b88bdc8bcd90c4b1ff002980
+00ff001b999aff00258000ff003699998bff0040cccd08d766f701fb601efb01f75d
+060ba39792a31ef71106d48ba157a037ff000d8000fffffe8000ff000d4cccff0001
+3334ff00083334ff00054cccfffffe6666ff00369998fffffaccceff00386668ffff
+f3ccccc7080b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8b080bc0bfbebce88bf71b8be7fb218bfb4e8b7d8b7f8a
+8008fc720696fb22d2fb16f7548b08f755f1f723f757f73335f741fb6b1ffb028b5c
+663c41080bf8190679274b2d218b298b43cb6cf716080b8bff0072ccccffffd41998
+ff0058999cffffba4cd0ff00383330080bff00354ccc90ff00164cccff002366688b
+bd08bb6cb6656d7b7c731e8b779874ad87998a9c808b7e8b695f83808bfffff4b334
+8bfffff69998ff0000b334fffff54cceff00024cccffffd0ccccff0018e668ffffc9
+4cceff000d1998ffffc54ccc8b08ffff3e4ccdffff8eb333ffff65e666ffff3e199a
+fb59f723fb0ff73e1fff006ecccc8bff00588000ff002fb333ff0036e668ff004e4c
+cdff0027ccccff0038b333a1ff00484ccd8bdf080b25cffb05f7221eff004066668b
+ff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff00144c
+ccff003ee6668bff003d4ccd8bff003c999affffecb334ff00426666ffffd19998ff
+002ccccc080bff0029e668ff0007999aff0018ccccff001fe6668bff002fb33408ba
+71b4656e7a7c731e8b779975ad88998999838b7e080b696185801efffff8cccc8bff
+fff9999aff00004cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e6
+66ffffd680008bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd5
+666678ffffc5ccce8bffffc0cccc080ba89aaed3d0d074fb13fb00575f2a1e0b728b
+638d808e080bd68b9a5aa146ff000d4ccc89ff000b999aff00034cccff0008199aff
+0003b334fffffbb334ff00301998fffffbe666ff002fe668fffff36666c608fc098b
+050b268c05fffffc6666fffffa1998ff0000199affffebe668ff0003800085a387ff
+000eccccfffff56668ff00113334ffffe8999808f757fb9e898afb71fb9505828082
+848088fffffccccdfffff96666ffffff6666ffffec199aff0003cccdfffff9800008
+0b8bb68da71ef83606ff000f3334ff0035e666ff00059998ff00378000ff00053334
+ff0037999afffff74ccc907eff0001999afffff4b334fffffe6666774371543e8b08
+fba98bf798f7ac8c90fb6ef7a7050bff002accccff00046668ff00253334ff001dcc
+cc8bb608ba7cb0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668
+fffff933348b828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a
+07fb047cfb1afb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89
+d78bcc08f792078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b
+769185c7889c868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f
+333494ff0013ccccabff0002cccc080b738b689c74900876fb50a589058fb7a8ded5
+8c08f78d8bfb58fbf505998e968b9b8b08d0f70755fb332c2afb0d341f548b59a96b
+bc7ea06f99708b086981707449f72a68dbf734f718f70ff71f1f8bf7034ceefb1aa6
+08f73cf7c205949a919b8b9508938491761e0bf87407aeae99bcf76cd2fb43fb2efb
+5efb0d59fb211e29809fab1f0ba0d0b1ff00239998d6ff0001666808f7678f05ff00
+05e668ff00001998ff00041998fffffce6688b858b86888586842afb0ffb52fb9e25
+fb2c858389838b8408819086991eff016c4cd006a6ff0063b330898b1f0bfffffd99
+98fffffc6668fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff
+000c999cfffffe199aff000b9998ff0002999a080b9fd4aaff00114ccca9ff0000b3
+3408f7148e0547fb0627fb243d22fffff76668fffff46666ffffff9998fffffc999a
+8b86088493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff
+00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668fffffe
+cccd08fb1906d5e9f3f731c9f1ff000f4cd0ff00193334ff0002b330ff0007cccc8b
+8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6688bfffff39998ff0004999aff
+fff18000ff00056666080b78980566706972666569af6aa464a808777e05ae65b05e
+a85c080b9fd4aaff00114ccca9ff0000b33408f7148e0547fb0627fb243d22fffff7
+6668fffff46666ffffff9998fffffc999a8b86088493869a1ef7cc880597ad98bf92
+bdfffff98000ff0003b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffff
+cb3333ffffeb999875ffffcbe668fffffecccd08fb1906d5e9f3f731c9f1ff000f4c
+ccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06
+ffffdfe6688bfffff39998ff0004999afffff18000ff00056666080bffffa08000ff
+ffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999a
+fffff9ccccff0006e6668bff0006e6668bff00094cccff00029998ff00103334ff00
+07e66808ff006ee666ff0033199805fffff63334ff0012ccd0fffff0199aff000f4c
+ccffffe9e666ff000bb334080bffffe5b334fffff5ccd0ffffede666fffff23330ff
+fff1e666fffff0666808ff0076999affffc8800005ff00103334fffff81998ff000a
+b332fffffd6668ff000633348bff000633328bff00054cceff000633348b928bff00
+06333488ff00054cccfffff7800092080b78fb054582738b658b5ea08bdf8b948fff
+0004cccd96ff00003333080bb0b1a89bc58baf8bb576aa589f6a975d8b5108fb9e8d
+057f84858037a931f71fe2f705def72c1f8bc37dc16ab169b35ca3438b3f8b556863
+578e819186978a080bbbdb898b1f99bd9acd93befffff5999891fffff48000ff0002
+3333fffff2e668fffffccccd080ba273946c8c3cffffa93333fffff9e666ffffbde6
+67fffff2b334ffffd4e666ffffe69999080b67ffffeacccd70618b638bffffd66666
+ff000e8000ffffdf3334ff00228000ffffec6666ff0015e666fffff38000ff002419
+9afffffa8000af8bff0025199a8bff0032e6669ab9baff000be666ff000c199aff00
+04199aff0003e6669382080bff00154cccffffe8199aff0026b334ffffd2e666e68b
+cd8bc5b2a8c1fffffcb334ff00054ccd83ff0009e666fffff74cccff0000cccd6d68
+6872558b408b50e48be5f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e
+738b08393d5f51779472aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b
+a08bff001d4ccdfffff94cccff000eb333fffff0b334080b8792858f828b75757b7b
+6e8b668b7ea08ba58bff00314ccdff00256666ff001fb333ff00524cceff00436666
+ff00231998a0ff001dcccca7ff0017999cff0021999aff0027ccccff0038b333a1ff
+00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e19
+9afb59f723fb0ff73e1eff001bb3348bff001a4ccc8eff0018b334ff0005b333ffff
+c89998ffffd8999affffd8b334ffffd680008bffffd433338b55b177bd8bb48bb39f
+a8b8080b8792858f828b75757b7b6e8b668b7ea08ba58bff00293333ff001a199aff
+001ce667ff0038999aff002fb333ff001b8000ff0009e666a29aff0012b332ff0012
+4ccdff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd08f352f70dfb
+2d1effffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5
+ccce8bffffc0cccc8b25cffb05f7228bff0005999a8bff00058000ff00003333ff00
+056666ff00004ccdffffce999a66ffffdde666ffffd94ccd8bffffd733338b55b177
+bd8b08b48bb39fa8b8080b8a5e855f835a08a588059fd4ada0a98b08f725060bfb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34cccff00154c
+ccffffeb4cccff00116668ffffe36668ff000d4ccc080bffffb46666fb0b05fffff7
+e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707
+f70188960574a1ffffe666668cfffff9999a8b08868b858a888a080b8b828e848f87
+08ee37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff
+0004999808ffffc4b334f701058693848f808b6e8b7fffffea33348bffffefcccc08
+0b8b838d84908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b92
+8b91908b928b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7
+02058693848f7c8bfffff04ccc8bffffe9b334fffff14ccc8bffffe8b334080bffff
+e8999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d
+8a8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df7
+1f058694848d7f8b080bffffe08000fffff58000ffffe9ccccfffff233341f8b868c
+85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66668bff0002
+999a8b8c8b8dfffffeb3348e08ffffc14cccf7230587948390808b080ba70692b2bf
+a1bc8bc08bba75936408a70686d151b6428b498b4b618544080ba697057de058bd45
+8b508b4b5a7f3508a67f0595c5b9abbf8b08c18bb6669656080b8b828e848f8708ee
+37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff0004
+999808ffffc4b334f701058693848f808b086e7fffffea3334ffffefcccc1f0ba706
+92b2bfa1bc8bc08bba75936408a70686d151b6428b08498b4b618544080b8b838d84
+908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b92
+8b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f70205869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080b8b828e848f8708
+ee37058d898e8a8e8b908b93908b938b8efffffecccdff00036668fffffd8000ff00
+04999808ffffc4b333f701058693848f808b086e7fffffea3334ffffefcccc1f0bff
+ffc6333293ff0002199a9effff9e4ccd8bffff9ab3338b32488b218bffff96999aff
+00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ffffe3e6
+678bffff9e33338b3affffd2cccc61ffffb033348b080bffffc4cccdff00163334ff
+ff9c1999ff0025cccc8bff0054199a8bc3ff0032999ac3ff003ae6668bff0061199a
+8baa4d9f49ff000a8000fffffe333498ff0000cccc949208fffffc8000bb87a7ffff
+f5b334c0080bf81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab8
+080b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b769185bc8cff
+0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e
+7a908bde080b8bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000cccd
+f77505cc8fb38b1e92878e821e0b7281407d638889838d7b9185bf8897908b3708fc
+49078b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff0020cc
+cd8aa78a91918ba08591ffffcd33338f828f8bde080bb08cc78cac8b08ec8b632b91
+85059b90958c9e8b080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00156666ff00394ccc05ff0046
+199aff00034cceff00328000adb1ff00316666889585907f8c66656e7b518b678b61
+a06cbe77ac7fb98bc508f79e89050b97929196df6de5fb1f34fb0538fb2c1f8b5399
+55ac65ff001e4ccdffffdc6666ff00289999ffffe9199aff003b4ccdfffffb666608
+ffffdbcccdffffa9199a9185059b90958c9e8b080bff000b199aff00094ccea09791
+fffffc999896fffff780001fffff40ccce06fffff6b333fffff69999777f84ff0003
+666780ff0007b3331f0bffffefcccc8bfffff1999aff0007b334fffff26666ff000d
+3334080b7aff000f6668ffffed3334a1ffffe680008bffffdb80008bffffec6666ff
+ffd51998fffff41999ffffbf1998ff0005199afffff96668ff00088000fffffee668
+ff00096666ff00023330ff00088001ff00244cd0ff00088000ff00108000ff001619
+988bff000e80008bff0010199afffff73330ff000f4ccefffff3e668080bff0011cc
+ccfffff09998ff0011e666ffffec3334ff0012b3348bff0027199a8bff00189998ff
+002ae668ff000a3334cdfffffae666ff00046664fffff7999aff00034cd0fffff699
+9afffffee66408fffff4199affffd1ccccfffff6b33280ffffed4cce8b080b4190ff
+ffff999aff001a999aff00156666ff0036666608ff009de666f825ff0004999a8bff
+009f199afc2b05ff00173332ffffc48000fffffa3334fffff28000478485858b7691
+85b38cb88caf8bff00244ccc8bff0022b3348aac8a91918aa085915490fffff81998
+9cffffe56668d008ffff3a8000f8940585ff000f999884ff00076668818b808bffff
+f8ccccfffff74cccfffffa3334fffff1b33408ffff314ccdfc9205ffffecccceffff
+d0b333ffffefe666ffffd94ccd4c8485858b769185a98cae8ca28ba28bb88ab48a91
+918ba08591080b5b4061621e7d8bfffff0199aff0003199afffff5e666ff0004e666
+ff0003199aff00094cccff0042199aff006bb334ff0036cccc8b089c9a81721f0bc3
+acacc31e948bad85938b08a2929697978194781f868b5e868a8b080b6067a1d0cdb8
+91aa1fb28b9c769675957a957ba18b08989e93a8af51af3efb0a6843631f8bffffcf
+b334ff001a3333ffffe39999ff002dcccdffffecb3330889070b437278568b658b51
+ac4af7188bca8bc1a8acaaffffff999aff000accccfffffa199aff00076667fffff7
+4cccff0002cccd6470657b5c8b085461b3c01f0bfb8507ffffc48000a6ffffdf8000
+c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667fffff56666ff
+00023333787377786f8b087c8399b41ff78807ab89c98b1e7c857b89788b7f8b728c
+858c088989059c688c5f8b6f080b8bde968ec89091918ba08591698a698a5f8b608b
+688c6a8c85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8c
+ae8cb78bb68baf8aab8a91918ba085914e8f808f8bde080b638b70b183a183a37e95
+748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b
+8f858d848b898b67856e8b08fb5f060b9d8bb58db18b08f744060bff0031b3348fcb
+8b1e8f868e831effffe3800080ffffd8800082468289858d7b8d85ff00368000ffff
+fae666ff000a8000fffffa199a8b5208fb160720a231f71aedeee0f742f70c64d44c
+7a7a7e7a1e8b74997d9f80a87bab7c8b2b082954fb022f407fd4f01e0b6b6975561e
+4a0697a7a4c9ca8b08b595757d1f0bf70807a9a291bbbfaafffff18000ffffc48000
+6371654d1e0bc8a5ffffd78000ffffc4800048657855577894b91f0b608b688c6a8c
+85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8cae8cb78b
+b08bac89ce8be18bcca38bee8bc368ff002680004eff000b8000088e070bb9ff0008
+8000aeff002080008bc78bd160a9fb0d8b628bffffe5e66689ffffd5199a8b080b8b
+de968ec89091918ba0859168895f8b6a8b6f8b638c648c85858b769185c88792878b
+38084afb6acc078bde928ec89091918ba08591658affffd9cccd8affffe033338bff
+ffe266668bffffd6999a8c638c85858b769185c88796878b3808fb4d078b3880884e
+8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002733338aaf
+8a91918ba085914e8f848f8bde08e2f76a34078b3884884e8685858b769185af8cff
+002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f80
+8f8bde080bac88ff00033334fffff46668fffff1ccccffffdf999808ffffd1199aff
+ff94999a05fffff3e666ffffe54cccfffffc4cccffffffe666fffff5ccceff001ce6
+6808ffffdae666ff00694ccc05fffff48000ff0020b33489ff000b4cccff00208000
+8e8f8f8b9a878f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff
+001c3333fffffb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea
+3334ffffdc6667ffffae666605fffff3e666ffffe54cccfffffd8000ff00004cceff
+fff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ffffff
+3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b75
+8b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce66808
+ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff0008
+19998bff000633348bff0003b333ff0005199a909608c6ff00819998ff00349999fb
+17058f81ff00036666fffffb4cceff0008199a8bff000633348bff0003b332ff0005
+199a909608ff00533334ff00b6cccc05ff000de666ff001e9998ff0007999aff0011
+e668ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c
+8f87080b78807e7b7c987e9c9c98989a1f99839a751e0bfb1f072e82686e1e868b87
+8f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f726
+070ba68da68b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598918461
+1f0b8f8b908b8f879184927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a91
+8b8e8ba7899888928a8e8a8e868b080b7a83778560858a878d7d8c87ac8894868b63
+0820078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f928b99879369
+8d7a8e8bb408ef078b9390948f90089ba29b93928b080b657565681f8b719a3fe687
+088f9c05619379b08ba208968f9292b490a49c9b809d671e0bfffff54ccd8efffff5
+6666ffffff4cccfffff54ccdfffffdb3346e5d5d556763918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff0008199890920867b35fc0
+6eba080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc
+8b849285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b
+868b858a888a080bf737077f8f828d828b848b8489818708fb390797879389938b92
+8b938d9691080b98959d97928792821ffb61067f817a7f848f83931f0b8b81f71e3d
+05ff000fb333fffff73333ff00084ccdfffffccccd918b928b92938b918b92889183
+940829f2058a8c868c878b6e8b74748079080b908b928c938f08f717c3058e8e8e98
+8b938ba7819e839508818ffb0c24057f8080828b828b888c80988b080bf73c068e90
+8d918b928b9289948695084df700068592838e838b848b8388858708fb034a078884
+89858b848b848e839182080bfb3c06888689858b848b848d82908108c9fb00069184
+9388938b928b938e918f08f703cc078e928d918b928b9288938594080b707f059936
+be59d18bc68bcbbc97e10870970581515d6b578b558b60b080c0080b8792858f828b
+75757b7b6e8b668b7ea08ba58bb9adabc9be087d9c053b5a4b578b538b55b177bd8b
+b48bb39fa8b8080b8b5884876a8987878b7f8f87a08c9e8ba48ba48b9c8ba18a8f8f
+8b99878f6a8d848d8bbe08f77707b38da58b1e8f898d851e7b855e8272898a868b7f
+8f87ab89938f8b57080b8e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc8
+8bbd5d9e58a0080b699981948ba38ba6a098a48b9e8bad81995108a28c82d6058092
+64956c8b5a8b5e6b8b618b5eaa7bb978080bbd7693778b768b707380738b748b7897
+84917b9b85a68a99080b687b727b7a9573b3ff00183333ff0004cccdff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666
+ff0015199a9b9f92a18ba308af74b0641e0b687b727b7a9573b3ff00183334ff0004
+ccccff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff00
+10e666ff0010e666ff0015199a9b9f92a18ba308af74b0641e0bff00a34ccdff003c
+4ccd8bff00254cccfb7cffffac33348bffffe46666f77cffffac33338bff00254ccd
+050bffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a8000fb7cff
+0054cccd8bffffdacccd050b9c7bb454616a68757f937c9e949895961e8b9388918a
+8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5
+959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a072727776721e0ba697057d
+e058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18bb6669656080b6ca274aaaa
+a2a2aaaa74a26c6c74746c1e0bccf72c470792859288918b928b928f959308e2070b
+998793771efb4d067b7c7e801f330792889287938b08928b928e9392080b98959d97
+928792821ffbed067f817a7f848f83931f0b98959d97928792821ffb75067f817a7f
+848f83931f0b390751b273bb1ea48bb9999ad00872930584707b73798b08777fa2c2
+1f8bbf7592050bf737077f8f8b8d828b848b8989818708fb390797878e89938b928b
+8a8d9691080bbd61b4581e828b838a848908936c05908d908b918b08ada2716a6c75
+6f681f828b848c848e087f6d0596869689988b08beb5b4be1f0bf71c8bf71cb0ebf7
+07087a9d053e4e3d53fb588bfb548b31c346c8087a7905e5fb05f71464f72a8b080b
+f9730698989f97948893801ffd73067f7d777f838e82961f0b478b6a9a63bd08717d
+05b256c86dce8b08eff70cbaf74df71241e6fb2d1f478b566d645608a57d05b2bda5
+9acd8b08f3ae34fb0bfb1e5462411f0baca4a6a9ac6ea56e6b716f6c6ea26fae1f0b
+8bd58ebeb1b39ea0b5a0af8bcd8ba47cb35908a5990564c055a9488b448b51736463
+686974478b5c8b34a158b463b263c179cb8bcd8bc9a9b2c00871990562586a7a488b
+578b3ea48bf730080b7e8b808587800857fb23058a888a878b888b849185938b8f8b
+908f8e8f08e7f70e058f908d938b908b9f759a778b080b7e8b808587800857fb2305
+8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90089f759a77
+1e0bb7979fc11ed606d68b9b63a146ff000c6668fffffe3334ff000accccff000219
+98ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb93060b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bff0087b334078bff001dccccff0001199aff0010e666ff00106666ff00
+1d999a08ff00778000f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe6
+68fffff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb
+3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff
+00099998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00
+113333fffffa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffff
+e28000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff
+003466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a
+908bde080bf703b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22c
+f70066088f5b248b050b568b788886c0fffff7b333ff0003999afffff7999aff0000
+b333fffff7b333fffffbb3338b62ff00024ccdffffd83333ff0004b333ffffd9cccd
+08f76906969191941f83f714050b2fc964c88bf70408f714d1f70af71ff716db21fb
+211e8bfb0063422f560883fb1505829086971ef764060b8fad8eb88bb3fffff8b334
+8ffffff74ccc8b8187855276925a8b082a060b8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f855070ba39795a3
+1ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b3
+34ff00044ccc080bfffffbe666ff00544cccfffffa999aff0026e668fffffa8000ff
+0021cccc080b648a3a8a8b8b080b748b538c598c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b28cff00334ccd8cff0027b3338bb18bbe8ab38a
+91918ba08591458e7a908bde08f82d070bc9a197a31ef75906a3a17f4d1ffc2d078b
+387a86458885858b769185b18cff0036999a8cff002466668bff0026b3348bff0035
+4ccc8ab18a91918ba08591458e7a908bde08f825070b8bde9c90d18e91918ba08591
+08598a578a708b080bfc25078b387a86458885858b769185b88cff00314ccd8cff00
+23b3338bff002366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e07
+0ba184a388ae8b08f74ac2f70be0c664f6fb4d1fffffd9b3338bffffc54ccd84638b
+ffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b38080bf711f787057e
+8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000fffffe66
+66fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b0830fb11
+50fb4c1f0bfb10c139f7141ecf8bb9b4bdee089464050b9b47a56ab08bb78ba4a3a1
+ca8592848f7f8b7a6d7e84728b748b77a87ec0080b692c614d5d8b08416ee2f700f7
+07c7d2ce1fc78ba549a22b080b8bb3fffffcb333ff0019b334fffffb4ccdff000a4c
+ccfffffde666ff0004999afffffe199aff00036666838b080b6f806e82468289858d
+7b8d85c18696868b5108fb89078b7989708d818f7a9981ab8b08b182b7b11fff00ee
+8000070bff002f8000ff002f8000b7a8ff002280008b08c891564a1ffba7078bfb06
+8a497e69089679dbad058f9b8c9f8ba38bb288bb8bbe08f7b307f70762b6471effff
+b580008bffffd78000ffffd98000ffffd26666ffffcf999afffffe6667fffffdb332
+ffffff3333ff000333348b90080bf711f787057e8b76867c8b7c8b79907c8b08ffff
+d08000fb1405fffffd3334fffff88000fffffe6666fffffb8000fffffdb33295ffff
+ec3334e2ffffd88000bbffffb680008b0830fb1150fb4cfb10c139f7141fcf8bb9b4
+bdee089464050b9a5290648b70087186797d7c83a7b31e8ba293ae99b4080b8bb3ff
+fffcb333ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199a
+ff00036666838b6f806e82468289858d7b8d85c18696868b5108fb89078b7989708d
+818f7a9981ab8b08b182b7b11fff00ee8000070bff002f8000ff002f8000b7a8ff00
+2280008b08c891564a1ffba7078bfb068a497e69089679dbad058f9b8c9f8ba38bb2
+88bb8bbe08f7b307f70762b6471effffb580008bffffd78000ffffd98000ffffd266
+66ffffcf999a08fffffe6667fffffdb332ffffff3333ff000333348b90080b93b38b
+bb8bc508d907a77aa581b68b08f71aede3f72df70631e9fb0c1f5c8b5a7e61607070
+6a698bfb1e08fb56078bfb1080577e69089679050b205a50381e5e8b68a16ca908f7
+2d07f726c3a6b6dbcb55fb321e0b8bf7082de72db8fffff2e666fffffd199affffff
+199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68ae6dd09ab094c28ba3
+08a38898707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcba
+ccb48aff00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb
+17db42e51ec48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080bfb8507ffffc48000
+a6ffffdf8000c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667
+fffff56666ff00023333787377786f8b087c8399b41ff788070bab89c98b1e7c857b
+89788b7f8b728c858c088989059c688c5f8b6f080bf76507f724cff723c61e9d8b95
+7d927891789c86988b08a0999d9fae6ba35a1ffb0c8b5afb48825008880680f71250
+f705218b618b6378746eff0002b333fffff88000ff00064ccdfffffb199893fffffc
+6668a19d9b8fb28ba88bab7aa952a45a9a2e8b2708fb46078b387a863b8885858b76
+9185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a908bde080b799c0570633f
+4b208b08fb1e43f716f72df793f712bad91ff18bd452947508a8a305899049e4fb1e
+8b08fb35fb21fb1efb59fb47f70bfb2ef7501ff7048bd6cfaeca080b8bb7e0f720d9
+f71257fb93fb035afb3ffb371e208b3ece71b3087b7a05ae4cd343f7048b08f74af7
+14f725f74ff7592ef71ffb651ffb058b38468171080bc58ba86bce8b08c6caa8a493
+868f871f838b7b7b658b080b8bde9c90d18e91918ba085915f8affffd080008affff
+d980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff00
+3066668ab88a91918ba08591458e7a908bde080bf825078bde9c90d18e91918ba085
+915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b7691
+85c1fffffdb334ff00168000fffffc6664ff00076666ffffd8666808fffffa3334ff
+ffefccccfffff6b332ffffede668fffff4b334fffff1cccc08fffeed3334fbea05ff
+fff8b332fffff8b333fffffa3334fffffc999afffffb6666ffffffb33308f7f8078b
+de9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf
+80008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b8
+8cff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba08591ff
+ffc93333ff00024cccffffe9b333ff0003b334fffff8e667ff00294ccd08ff0006e6
+66ff0017b33395ff0008199aff000bb333ff000ee66608ff0111199af7e805ff0004
+e66691ff0005199aff00048000ff00078000ff0002800008fbf8078b387a86458885
+858b769185b88cff0030b3348cff00244ccc8bff002399988bff003066688ab88a91
+918ba08591458e7a908bde080b6a749c9c1f8b908c918b8d089a819a7470817d7857
+c674cdcdc6a2bf9e81997074817c7c1e8b898c858b86087a747a6a1e0bff00b28000
+fc17056c4072766b8b7d8b7c988494819775927d8b086d78776f6bbb74b51fe58bc2
+d5b6f70108ff008db334f7fc05ff00124cccbb9bb0cd9391918ba085916d8a688a74
+8b748b5a8c668c85858b769185d5868872775308fb01fbbf898bffff756666f7c505
+ffffe5999ac48a9bcf9291918ba08591668affffcf33338affffdccccd8b6b8b658c
+698c85858c769185c486957cff0020800044080bff00c9cccc07ff00666668fffffd
+8000ff00121998ffffddccceff00258000ffff9fe666b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6664bbffffc56668ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc19
+9cfffffdccccffffdf1998ffffff999a08ff009ce666070b8bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808ffff63199a07ffffdf199aff00006666ffffdc199aff000233
+34ffffeaccccff000c4ccc50ab7dcb82c3080b81c96dc33c8b0856796e746ea280a0
+1f988b9990959596969390988ba98bff0005cccdffffdf1998ff00043333ffffe2e6
+68944da235d76f088607468b65607045ffffc56666ffff67e666ffffdc66675bffff
+be3333fffffd199afffffa3333fffff63333ff00004ccd7eff00058000fffff5cccd
+08da8c05d98cb0dcb6f702ff00258000ff0060199aff0012199aff00223332ff0066
+6666ff0002800008ffff363334078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba0859108458e7a908bde08
+0b8b6a9e78a673a970c575ef8bf7138bf705cb8bf7178be0ffffc28000ff004a3334
+ffff9d8000ff0007cccc0890070bd19fc8bc8bdf8bdd53cdfb1f8b408b54ffffea80
+0043fffff58000fffff4999affffc9cccc84ffffcb199cfffffa6666ffffcb199894
+fffffbb334ff000a4ccd8aff000bb333ff00024ccca5e3bad4f7068b08e1a8584546
+ffffd4800046ffffa680001f708b7b91708b087f7a8777779c86971fa68b9491ac8b
+080bff00718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b08777e
+7b731f0b8bde9c90d18e91918ba08591080bf825078bde9c90d18e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1
+889c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba08591458e7a908bde080b4782adac1f
+f78907ff00158000ff0001e666ff0013e6668cff00124ccd8b08ff00809999ff0033
+b334ffffcfccceffff974ccc386c3cfb181f0b8b387a86458885858b769185b28cff
+00354ccd8cff0025b3338ba88bbf89af8b08ff00ab8000ff00568000ff00458000ff
+007d8000ff007f199affffbc999aff0042b332ffff48b3321fffffe6ccce8bffffe4
+9999fffffeb334ffffe24ccdfffffd800008f720078bde9c90d18e91918ba0859164
+8affffcb4ccd8affffd9b3338bffffdcb3338bffffca4ccd8c638c85858b769185d1
+889c868b38080b4c8b6065508b658b7b9b838b088786878372ca6ec61f0bc492a5ae
+1ea106dd8ba3529951ff000b199afffffe8000ff00096666ff0001e666ff00088000
+ff0003999a87c0fffffc8000ff002b8000fffffa8000ff00358000080b8b3b896b1e
+fb12060bffffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c887
+96878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338b
+ff002b4ccd8bff0023b3338aab8a91918ba085914e8f808f8bde080b9f8c9ca298a6
+08b6e5059db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff
+0027cccc8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207
+cf87a7709d6608b6310598709c749f8a8b8bd58a9f8a91918ba08591648d81937aab
+085ee00572ba6aa3528b088e07b2969cae9ab397aa979ea08b948b93889187918796
+88988b08a19d9e9fa173a26a1f518b7055785c75546d65448b08ca070b8bde978ebe
+9091918ba08591738affffdbcccc8affffd833348bffffd8999a8bffffdb66668c74
+8c85858b769185be8797878b38084c07448b6db175c2080b78ba70c1518b086a7374
+75779d78a11f988b968e918f918f938e948ba08b9778976c9a639c68b28008880752
+8b6a73725c085e36057a6b8183648985858b769185089f8cd58c8b8b080b8b75987b
+a07ba479ac76da8bef8bd9a98bee8bc7ffffe18000b3ffffb9800097088e070bff00
+3c8000a2ff00108000a78bbf8bc563b7268bffffca80008bffffd18000785582087e
+fb0b05ff0008199afffffc6666ff00098000fffffe199aff00096666ff000180009e
+c5a4c5df8b08c29d6a63ffffd6800084ffffd080004b1f788b7a91788b088281857b
+7b9686941f9e8b9691a48b080bd599585f50ffffe980006bffffb980001f528bffff
+f58000a0ffffef8000affffff7999aff00126666fffff56666ff000d999a718b0879
+747c7b1f0b88878d951ff778078bdea094be8e91918ba08591748a528a668bffffdf
+66668bffffd7999a8c658c85858b769185c8889b828b3808fb45078b387b824e8885
+858b769185b28cb38cab8bff0016999a8bff001b66668a968a90ff000dcccdff0009
+4ccdff0013e666ff000a4ccdff0014800008ff009c6666ff0138cccc058e8f89811f
+fb77078b387682588885858b769185a28cff003633348cff0027cccc8bff001ecccc
+8bff002933348ab28a91918ba085914e8e7b948bde08f745078bde9b94c88e91918b
+a08591638affffd7cccc8affffe133348bffffe9cccc8bffffe433348c818cfffff8
+3334ffffed8000fffff6e666ffffebe66682ffffee199a080b9e7d9973797a7d7a1e
+8b888b898c898c888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e
+089b7f9975747b7c7955c26acc1ecbc5abc21f0b8bde968ebe9091918ba08591738a
+658a638b608b688c6a8c85858b769185c88796878b3808fb4d078b3880884e868585
+8b769185ac8cae8cb78bb28bb38aa18a91918ba08591588f808f8bde08e207cf879d
+709d6608b6310598709f749f8a080b638b658c6d8c85858b769185c28798868b3908
+fb4d078b397e864a8785858b769185a98cbb8cb38bb38ba98aa98a91918ba0859158
+90818f8bdd08f76d070bfffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a
+4cccfffffde666ff0004999afffffe199aff00036666838b080b6f80718246828985
+8d7b8d85c18696868b5108fc3f078b3880864e8885858b769185ae8cb08cb38bb38b
+bb8aac8a91918ba08591448f808f8bde08f700078b98ff0003cccdfffffeb333ff00
+0a3333fffffbcccdff00188000fffff6199aff001ee666fffffa6666ff001f999a8b
+c38bbd9cb4b2bab9a6c98bdc080bf540ed251effffd180008b58ffffe18000ffffd8
+8000ffffd38000fffffa6666fffff9b334fffffb199aff0000b332ffffff8000ff00
+09999a080bde9b2037347b30341f768b759175ab08f7b507a1aba495a18b080b8b39
+7e86548785858b769185080b8a9dfffff0cccc90fffff233348effffe94ccc90ffff
+efb334918bdb08f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c
+85858b769185be8695878b3908fb6d070b8bde968ebe9091918ba08591738a658a63
+8b608b698c6a8c85858b769185c88796878b380860072da066e81eca8bbdafb4a908
+3e078b3880884e8685858b769185ac8cae8cb78bb68bb08aab8a91918ba085914e8f
+808f8bde08f74d078bde968ec89091918ba08591698a698a5f8b648b638c748c8585
+8b769185be8796878b38084307696d6770578b084a88add91f0b39597e565a7a95ae
+1ef728d207d6a25e561f0b8bdf968ec89091918ba08591698affffddb3338affffd4
+4ccd8bffffd4b3338bffffdd4ccd8c6a8c85858b769185c88796878b3808fb4d078b
+3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a6261f43060b56d664ebf3ebd1f735f70d
+ffffc88000ecffff6e80001e598b577c5787080bfffffab333ffffd9b3348962ffff
+fe4ccdffffd74cccff00084cccfffffb4cccff00078001ffffff199aff000a3333ff
+0001999a9dcbacb7d98b08ff00538000ff00298000392f1f8889050b709b6f976c8b
+ffffe880008bffffece666fffff96666ffffedcccdfffff7b334080bffffefb333ff
+fff88000ffffefcccdfffffa6666ffffee4ccd8b7d8b7e91848b08858981877dbc79
+b81fff001866668bff00114ccdff0005199aff000fcccdff00069999080bff000ee6
+66ff00064ccdff000e66668fff001333348b998b988798868bfb0b6652328b618b73
+a17ea6080b7cab7d90798b08787d7e7b1f0b9e7d9973797a7d7a1e8b888b898c898c
+888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b
+7c7955c26acccbc5abc21e0b570760724527fb0958f72ff72bf744cef70ade9f9d7d
+7e1e8b7c85848b7308719f71afb292aca8bd5ebb3cfb20fb04fb2afb49fb2cbffb4f
+f75c1ef28bb0b3aabc089106aa5ab063f28b08f75cc0f74ff72cf749fb05f72afb20
+3c5e5b596e926ab2afa0a5a51f8ba384928b9a08989d999fdecffb0afb44fb2b57fb
+2ffb092771d1b61ebf07a7999bb41ea506908e8e901f8b9e898d058b2e896764348d
+8b1e89898b7805868f888f1ea606b29a7f6b1f0b6c0766844b452e7bf717d4f700a7
+e1d8998f86831e8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb01
+442efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f7
+1644e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f90
+99d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d
+058b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0b4365665a7f6f
+81a663be45ae08f70df772050bff007933348bff00641998ffffa34cccff000f999c
+ffff546668ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cccc8b080b4c
+8b6dba298bffffdbb3338bffffc4999afffff26666ffffd8b333ffffe2666608ff00
+00333407f766eee0ee1e0bfffffab33407fb473522fb061effff8f199a8bffff9519
+99ff005d6666fffff0b333f73aff0022cccdff0015ccceff0033999aff0004ccccff
+001cb3338b080bd68ba35de78bff0025999a8bff0031999aff000b4cccff0029cccc
+b1080b3a8b71464afb4f8b8b4ffb3a68fb00086ee3fb11f7f805899389918b91080b
+9b9795af1ea606908e8e901f8b9e898c058b328a68643d8c8b1e898a8b7805868f88
+8f1e9106b28b9d7a956e08f759fcc505907c9483968b958b9693919accf768caf73c
+8b8b080bd7f7719b95a38ba28b90808b828b7c78808b7b0875997ba4a69fafa31eb3
+62af621e0b998f87821f8b7c808a8b7a08759e7da3a797a4a3b36aac631e478b6966
+6bfb030851fb597fb435f76e05859987938b92080b8b9594919f8c089c068e918c92
+1f8b9e878d058b4e896469568d8b1e88898b7705879088901e9606a98b957d986908
+f71cfbed05907f9282988b958b9394919908e0f7ab059ecca8baa98b080bffff6a4c
+cc8bffff9b199affffa96668ffffda3334ffff7e333208fffff2333306ffffbde667
+ffffc9333395ff002a999aa7ff001ae667ff00154cccff00166666ff00143333ff00
+0e80009eff000fb334ff0011e664fffff18000ff000b4cd0fffff16667ffffd21999
+ffffceb334ffffc5b330ffffc03334ffffba999ac479ff004c33331fff001fb33306
+0bff000b999affffec999807ff00156668ff005f7ffeff00476666ff0056e668ff00
+65e6668bed8bdd4aaafb15080bffffbb33348bffffaaffffffffcc199affffdf6667
+ffff9f199affffcb3333ff00016666ffffd63333ff000a4ccc8bff0023199a08a4a3
+9e9f9d989c999b7e957e625f57524dbe7bcf1eff0001cccd060bff00146666ff006b
+4cccff0043e666ff0008b334ff0017999a8bb18bb8768b378b8287fffffb333480ff
+ffffcccc08fb1afffffdcccc8bff00053334050bd58bff00318000ffffc64cccff00
+0c6666ffff943334080bfffff2999afffffae666ffffefccccfffffb999affffefb3
+348b080b658b759f5e8bffffe0cccd8bffffd49999fffff4e666ffffea999afffff4
+333408ff0001e66607e2a0e4e51e0bff00008000fffff6e666ff00003334fffff699
+998bfffff64ccd8bfb124a6c5c8bffffa3999a8bffffdaccccff00638000fffff8e6
+67ff004c3333ff000bcccdff0001b333ff00163333ff0004999aff0009b3338b080b
+ae8bad6fb68bff0021199a8bff00246666ff0011999aff0016ccccff000d9999080b
+789b7b9e9e9b9b9e9e7b9a78787b7c781e0b789b7b9e9e9b9b9e9e7b9a781e787b7c
+781f0bccffffd2b33306fffff54ccdfffffa3332fffff8b333808bfffff3199a0878
+9b7b9e9e9b9b9e1e8bff000c8000fffff9199aff000ab333fffff5e666ff0005e667
+08ff002de666cbb5fb38070b8bb76597719237a5b097769b8b8b6a838b468b64a372
+bb7fffffe24cccffffda6666ffffee199affffd3999afffff5e666ffffd1999a08ff
+fffeb334ff00016666fb4ef762057c9c82a28aa8087e06747280708b708b6c986da4
+6e08ff001e8000ffffde6666050bffffc4e666ffffd9199affffec999affffb16666
+8bffffce199a080b8b60b04b8b6d8b7b797d7c89878a88878b878b898c898c8908f0
+06a3a4a9ab1f0b8bc828c88bc78bff001a3334ff0008cccdff00303332ff001eb333
+ff0014ccce08ff01028000fffee2cccc059a7a94768d72ab8b9ab68baa8baa7ea972
+a808ffffbe999aff0046800005fffff7b332ff000f4ccdfffffbb334ff001099998b
+ff0010999a8bad9bb5b1bda3899265968b088f9abeaa1f0b2006708b7ca186a2088b
+5a824362a86dbc1ff72e06dca17dfb301f8b4d8064826108fbc68b7327f8288ba2ef
+398b05b2c38fd98bc208f72989ddfb3c1e0b8bb193d88bb08bc86196618b728b6a8b
+84ad8b8b5f818b478b56c6819e88080bbe84ab818b2a8bfb1d5c6321787586837586
+718a858b868b868b7d8e808b8508f70e8fd5f72e928b050ba95a89fb07b98b91948d
+998b988b9789988995087bdf54cf8bda080b8bf700e0738bde08b7729d5e1efb7206
+708b7b9685a2088b61854162a477bd1ff78c06525e6f448b31080b8b5b8f5c8b4c8b
+76877a837f089606a3b792da1f8bd180ce8bd0080b85f7f7058bed6c915494768f67
+9186a98b8b58828b538b62ae6bbc83c083a47f8b52080bcdae95e68bb58be6799e45
+8b6c8b688b86b18b8b61868b488b5faa71c189bc89a9788b6a088b5d81646871080b
+6c8b716d80537d4a82688b798b7a9787908b938b9599b7cfabbca2b18ba38ba56c91
+7f8b080bfb81078b718b80897c089987059192939491939b7da481a98b08ccc1d0d5
+cf66c94d1f718b7482727b08c507b58da58b1e90898d851e7b845d837189088c7905
+898d8a8d1ea08a05989184611f0ba09b9791a58b08a9a965422effffd780007fffff
+e88000756a98bf1f0bfffff7b33373ffffd84ccd62758b08ffffe28000ffffe08000
+9bdbd5acb0ad1fa48ba2779b78080bff0004199aff0007b334ff0000e666fffffa4c
+cc8b888b6f8d7e8e848c888c88908b080b9c939f91b6918c8f89998a8f6a8e82908b
+b308f76c07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598
+9284611f5d077b9a7a96678b083e64433b1f0b48af59ca1ea38bb39e9cab080bfb0c
+8a05ff0004cccdb3a9afff001c33338ba38bff00214ccdfffff58000ffffffb333ff
+ffbf8000080bf70c8c05fffffb3333636d67ffffe3cccd8b738bffffdeb333ff000a
+8000ff00004ccdff00408000080b97969599977e98721f758b79827b79080b829178
+946e8b578b56698b528b6a9c789c7b080bffffe780007bfffff68000738b768b7598
+ffffed80009efffffb8000080b6c7778748b710855c27db8dae2a7ce1e8b9f829a7a
+9a73a1628f758b818b7c897d8a828a848a888b080b7a7890a51f8b988d9692959983
+9d87a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e85088d84918695
+8b080b91889589928b928b948c948b938c938b948ba98bff000f3333fffffa6666ff
+0010cccdfffff6999a080b9cfffff6800096fffff780008b7b085e4e875a76568fb9
+1e8ba08d979e9d080b4d7087755a83b7abbb9c9aab1eb09f74591f0b7a8376856085
+8a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28ba4
+8b928ba98a8f928b998793698d888e8bb408ef078b9390948f90080b4e6c6d6e6264
+b4d9daff001dcccda9ff00223333b5ad513c1e0b7a83778560858a878d7d8c87ac88
+94868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f92
+8b99879308698d7a8e8bb4080bff00068000a6ff002f8000aea48b08a7a27b422e67
+74741f758bffffdb800090fffff38000b3080bd006908bff00084ccd8cff0000b333
+91088d9d05ff00004ccd8efffffdb3338c888b080b3bea06657e8b80055c80736689
+8a8a891e897305ffffffcccd89ff000133338b8d8b080bb3fb4b065fa07aa81ea78b
+ac93a5a6087b9c057b7f778b7b8b087c859db11f0b9c939f91b6918c8f89998a8f6a
+8e82908bb308f70007a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b
+7c8f87a98993828b5d08fb09070b78757477768b086d779bbe1feb07a08dbe8b1e8d
+8a8d881e888a818a828b778b788c748c87878b7c8f8708a98993828b5d080bc9a7a4
+afaa9e77661e8b7782676b840873067a8389808093889c1fab060bae869e618b5c8b
+517d6c678b798b7a8e7ba00874808b87059873a881a68bd48bb3bd8bcd8bc577af46
+98080bbf9e97a68bad8bbc64a8508b5f8b6f7b756a787086718b62088bfbe6927db4
+9f050b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e0ba68da68b1e90898d851e7b84
+5c8371898a838c848f85080bab8996908b5608fb01078b627e88638986838c7c8f85
+a98ca28ba28bff0018b3338bff00154ccd8ba98a8f928b99879308698d7a8e8bb408
+0b250748a872b81eb08bff00204ccdff001b6666ff000cb333ff0011999aff00034c
+cdff00048000ff0001b333fffffd80008b888bffffedcccd8dfffff333338e848c88
+8c88908b080bac88ff00033333fffff46666fffff1cccdffffdf999a08ffffd1199a
+ffff94999a05fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608ff00533333ff00b6cccd05ff000de666ff001e
+999aff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f87080b355f434242b34ee01fb88baaa3a4ae08789b0577
+757876658b758b739a7da27f9e87a38ba48bdcb5acaa8bb18b90738d758d7b988499
+8b089996949fad6aac4c1f0bc3d46d2536506d381f41060b71a371a3a7a3ff001ae6
+66ff0015199aa376a7701e736f73731f0b71a371a3a7a3ff001ae666ff0015199aa3
+76a770736f73731e0bfffff54ccc8efffff56668ffffff4ccdfffff54cccfffffdb3
+336e5d5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e6
+66ff0008999aff0008199a90920867b35fc06eba080bfffff54ccd8efffff56666ff
+ffff4ccdfffff54ccdfffffdb3336e5d5d556763918292859489b2a1aca8ababa96c
+ae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b35fc06eba08
+0bffffe5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff00
+76999affffc8800005ff00103333fffff81998ff000ab333fffffd6668ff00063334
+8bff000633338bff00054ccdff000633348b928bff0006333488ff00054cccfffff7
+800092080bffffa08002ffffb44ccc0581fffff81998fffffe8000fffffb999c8bff
+fff9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff
+00029998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012
+ccd0fffff0199cff000f4cccffffe9e664ff000bb334080bffffc5cccdffff974ccc
+05fffff9b334fffff4b334fffffd8000fffffc99988bfffff6199c8bfffff9ccccff
+00056666fffffab334ff000566678bff000566668bff0006199aff00039998ff000b
+8000ff000d333408ff00589999ff005fe668fffffdb334ff0009b33005ffffee4ccc
+ff00136668ffffec3334ff0000ccccfffffb19998b08fffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080bfffffeb333ff001db33489affffffb4ccdff
+000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f8071824682
+89858d7b8d85c18696868b5108fb57078b397e86548785858b769185a98cb18cb38b
+b38bff001ecccd8aa98a91918ba08591ffffcd333390808f8bdd08f738078ba094ff
+000c4ccc93ff0008b334080bff0027999aff0026b334ff00258000ff00144cccff00
+1ee6668b08b1a773481ffb42078b398386558786858b769085a48cb08cb38bb38bac
+8aa48a90918ba08691598f82908bdd08f733078b998b998a97bbc0b898b28b08b1a1
+75481ffb44078b398186578786858b769085a48cb08cb38bb38bae8aa78a90918ba0
+8691548f82908bdd08f73207e47cd1331effffcccccc8bffffc24cceffffed3334ff
+ffcbe6665488fffffccccc858689ff0008999afffff68000b4ffffd98000ff002066
+66578b518bffffcbb333ffffdd999affffd64ccdffffd16666fffffb6666fffffae6
+66fffff9199afffff9199affffff800097080b72a076a4a4a0a0a4a476a0721e7276
+76721f0ba89aaed3d0d074fb131e0b7d877f831f7e07868c8a8f1e0bc6fbc10644aa
+6fb91eb98bbda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c9
+1ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00
+026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae6
+64fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007fffff
+fc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a08
+0bfffff63334ff000d6666fffff9ccccff0009999a8b958b94ff0000e666ff000933
+34ff0009199aff000bcccc08f71df74505ff0022b334ff002ce668ff001f9998ff00
+0cccccff002cb334ff00044ccc91918ba085916d8a668a748b748b618c638c85858b
+769185ff002c4ccc88ff00123334fffffa6668ffffe88000ffffde999808fb0ffb43
+0585fffff7800085fffffc8000878b888bfffffbcccc8ffffffb33349208ffff9180
+00ff00a3cccc05ffffe3cccdb3fffffbb333ff000b3334c38e91918ba08591668a66
+8a638b648b6a8c6d8c85858c769185b588ff00128000fffffab334ff00293333ffff
+c54ccc08ff008e4ccdfb5f05ff00083334fffff44cccff0005ccccfffff7b3348b81
+8b85fffffbe666fffff6e666fffffa199afffff8199a08fb28fb5a05ffffddb333ff
+ffd2199a6bfffff43332ffffd34ccdfffffbb33485858b769185a98cb08ca28ba28b
+b58ab38a91918ba08591ffffd3b3338effffed199a90ff00183333ad08f718f74d05
+ff0005b33493ff00064ccc918e8b8f8bff0004666688ff0005999a8308ff007b8000
+ffff50333305ff001c4cccffffd7b332ff00043334fffff5199a538885858b769185
+b08cb08cb38bb28bac8aa98a91918aa08591618effffef6668ff0009b333ffffd599
+98ff003a4ccd080b9b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a
+8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97
+9c969b968ba1080b9c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a
+8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5959c9c9b
+089b9b9a9b8b9f080bffffa93334ffffbb333005fffff6e668fffff8ccd0fffffe99
+98878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064c
+ce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405
+fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab334080bffff
+eb199a8bffffed4cccff00069998ffffee6668ff000b6668080b75ff000d4cccffff
+e7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff0999a53ff0006999aff
+fffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4cccff000b0001ff000e
+3334ff001c99988bff0012b3348bff0014e666fffff88000ff0013cccefffff58000
+080bff00171998fffff2b334ff0017199affffeee664ff001833348bff0032999a8b
+ff001fe666ff0025199cff000d3332c4fffff96668ff0003cccc80ff0002ccccffff
+f3e6668a08fffff0999affffd8199cfffff3e666fffff69998ffffe7cccc8b080b9b
+7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1
+997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba1080b
+ffffcb199affffa0cccc05fffffa4cccfffff5b334fffffdb334fffffce6648b828b
+fffffa6668ff0004e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00
+033330ff000a80009708ff00508000ff00573334fffffde666ff0008cccc05ffffef
+e666ff0011999cffffee199aff0000ccccfffffb80008bfffffc80008bfffffbccce
+ffffff3334fffffde666ffffff3334080bfffffd3334ff0000ccccfffffbcccdff00
+00ccccfffffc80008bffffe833338bffffefe666fffff26668fffffa6667fffffb33
+3008fffffe999afffff73334ff004fccccffffa8cccc05ff000b33327fff0004e667
+87ff000433338bff0005999a8bff0004e666ff0004ccd08b8f8bff00059998ffffff
+4ccdff00059998fffffc800093080bfffff54ccc8efffff56667ffffff4cccfffff5
+4ccdfffffdb3346e5d5d556763918292859489b2a1aca8ababa96cae6fb173080bff
+00096666ff0001e666ff0008999aff0008199a909267b35fc06eba080bff002cccce
+ff002bcccdff00144cccff003ee6668bff003d4ccd8bff003c999affffecb334ff00
+426666ffffd19998ff002ccccc080b696185801efffff8cccc8bfffff9999aff0000
+4cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e666ffffd680008b
+ffffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce
+8bffffc0cccc080bff002accccff00046668ff00253334ff001dcccc8bb6080bba7c
+b0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668fffff933348b
+828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1a
+fb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89d78bcc08f792
+078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b769185c7889c
+868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f333494ff0013
+ccccabff0002cccc080ba19dae9ac89291918b9a85914b90829e8bbc08f754078bff
+0013ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000
+ff0011b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b80
+8b80757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b7691
+85bc88987f8b4908fb55078b7889837d7f080b657565681f8b719a3fe687088f9c05
+619379b08ba208968f9292b490a49c1e9b809d671e0bddfb1b058d888c89908b0895
+9092908c8a8e8b1f64f72c0588968192798b748b7d7a8b7b8b878c868d87080bf711
+f787057e8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000
+fffffe6666fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b
+080b30fb1150fb4cfb10c139f7141fcf8bb9b4bdee089464050b818b7a87877b086a
+fb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b08
+0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f
+8b8f8b9683a16f8b080b638b76ba548b628b766a7e54080b96a9999ba08b080bb18b
+aa5db58bb68ba5a997c3080b7592057e697d7e778b080b758b848eff0003ccccff00
+0a4ccc08ff00663334ff0102b334918be9fba4050bc2f725059098918fa38b08f767
+8bc5fb3d05ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc99
+9a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff000380
+00ffffde3334ff00034cccffffee9998ff00303334080b657565681f8b719a3fe687
+088f9c05619379b08ba2080b968f9292b490a49c1e9b809d671e0b818b7a87877b08
+6afb2f8b8a05888d81971e0b8e8b8f8c8c8f08d7f71f050b8d8f8c8f8b8f8b9683a1
+6e8b080b8bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c
+5f8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591
+658a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185b78cff00304ccc8cff0025b3348bff00244ccc8bff0030b3348ab78a
+91918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88c
+ff002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e
+7a908bde080bffffdab3348bffffd04ccc8c5f8c85858b769185d1889c868b3808fb
+34fbeaf734078bde9c90d18e91918ba08591080b598b628c658c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b78cff00304ccc8cff0025b3348b
+ff00244ccc8bff0030b3348ab78a91918ba08591458e7a908bde08f75bf7eafb5b07
+8b387a86458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff00
+2fb3348ab78a91918ba08591458e7a908bde080b8bde9c90d18e91918ba085915f8a
+ffffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc8b
+ff0023999a8bff003066668ab88a91918ba08591458e7a908bde080b818b7a87877b
+086afb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f089683a16e
+1e0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c
+8f8b8f089683a16f1e0bf763fb23f70efb47ffff3e4cccffff8eb334ffff65e666ff
+ff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333ff0036e668
+ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bff0087b334078bff00
+1dccccff00011998ff0010e666ff00106668ff001d999a08ff00778000f76c050b8b
+f7082de72db8fffff2e666fffffd199affffff199a7f8afffff7e666f33c9c2e8b42
+8bfb026e66438b638b68ae6dd0080b9ab094c28ba308a38898707180686c1e8b778d
+66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff00094cccfffffb999a
+ff0009b334fffff866668ffb055b45398bfb0a08fb17db42e51ec48bacaaa6d3a143
+b36cbe8bf70e8bcfea8bf3080bc48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080b
+568b788886c0fffff7b334ff0003999afffff79998ff0000b333fffff7b334fffffb
+b3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f83
+f714050b657565681f8b719a3fe687088f9c050b568b788886c0fffff7b334ff0003
+999afffff79998ff0000b333fffff7b334fffffbb3338b62ff00024ccdffffd83333
+ff0004b333ffffd9cccd08f76906969191941f83f714050b818b7a87877b086afb2f
+8b8a05888d81971e8e8b8f8c8c8f080bd7f71f058d8f8c8f8b8f8b9683a16e8b080b
+7e8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b
+8e8b8c8a8c8b8c084df726058990878f858f868d868c868b08848b858a8687080b7e
+8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e
+8b8c8a8c8b8c084df726058990878f858f868d868c868b848b858a8687080b6d7d79
+7b7b9075b41f0b9391837e1f8b747666618208907a05d193abc98baf08af75b0651e
+0bfb790751ad71b81eb68baa9a98d0087390058668827b728b0876829fc91f8bf761
+809c050bc2f725059098918fa38b08f7678bc5fb3d050bff000bccccffffdd8000ff
+ffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb1
+8aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bf825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25070b8b387a86458885858b7691
+85b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91918ba085
+91458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe668
+8cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde08
+0b568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334ffff
+fbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f
+83f714050baaa1a0a71f8bff001f800071ff00098000798e788d7a918ba28ba0afb9
+bf988b95899284924f80515b8b45084fa564b31e0bffffd8000171644f1f8b45c75b
+c780ff0006cccdff0005e666ff00019999ff00093334fffffc999aff0009e6665798
+69b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e0bffffd8
+0001ffffe5ffff644f1f8b45ff003c00015bc780ff0006cccdff0005e666ff000199
+99ff00093334fffffc999aff0009e666579869b88ba08ba29c919e8d9d8ea5ff0009
+80008bff001f800008a775a06c1e0bd55b9d653f53373f4daf5dc1dfb7f704cb1e0b
+7179a5b3cbbad9b89da67c5c57682d511f0bb1b6b0bbbfda88958193808c3c35595b
+535a087f07c35abd5bda35968c95938e9557da66bb65b6080b6560665b573c8e8195
+83968adae1bdbbc3bc08970753bc59bb3ce1808a81838881bf3cb05bb160080ba9b3
+a3c4c4b1524a1e8b5c7c6e6366080b4a5086508b60085d078493889393948e921eb7
+078ba38ca398a4949c9f9ba29cbaadc9b78bda8be649c7258b568b617d6e726d7376
+6f8b650868a4839b9e9f97a21e8b9889918790879089918b9a080bbb9a42553e853e
+505583d9c3c08de9c91f0bff00434ccdff0039b333bcf70bf70dffffc64ccdb3ffff
+bfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0bffff744ccc
+2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff00308000080b
+8b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff00
+1266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+68fffff3999aff00011998fffff9b3331efffffcb3338bfffff6b333ffffff8000ff
+fffee667ffffff4cccfffff0b333fffff6e668fffff49999fffff4cccc82fffff580
+00ffffdce66762ffffd43333ffffcbccccffffdeccccffffca3334fffffc999affff
+fa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffae667ffffebcc
+ccff001a99998b08ff0076cccd060b627a685e1e758b80928294839383927e8b0881
+7f837e73c77eadd0bcc0c7c167bf3d1f7d8b728682850897dcf71b8b8b8c90adfb37
+8b75fb239188059992a092a18b08d38e506d1f0b6584695f6f63a2df1e8b918b938c
+90a09ca191998b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e
+07fb2d8051248b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4
+c4f70ec0e608fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b08
+0ba4a37d701f8b6e766f7b8208779505669f88a28b9a08a9a394a31e0bb35ca65e56
+5b6e5e1e8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79
+a46c9c0864a005c6ad8fa98b9a080ba87d05b3778c718b720862717f67736496b81e
+8badb2b29b94080bb192adb7a7b374381e7707757a75867d8b085386c1a11f0b7a94
+3cec1ea48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593c6f4a
+671e0b8b43aa4be551089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b
+44080b8bd25fd83ebc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8b
+d3080b326340444bba47dcff0053199aff002ee666d1ccff0048199a66ff0046e666
+2f1f0bb58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184
+611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f79078bb08ca3
+a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8e666ff000466
+668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cccdfffffbb333
+ffffed3333fffffe4ccd08808a05878a88891f79078bb38ca4a3b18a8b1e9d078b8d
+8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3338b9e08f71007
+ce6da45e1e678b68687d7b080b8b627e88638986838c7c8f85a98ca28ba28ba48b96
+8ba98a8f928b998793698d848e8bb408ff0036199a07ff0003cccdff00013333ff00
+034ccdff0000b333ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d
+89058b9b8ca1a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80
+008efffff380009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff00
+01e666ff0002199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff00
+1880008e8dff000033338fff0001cccd8b8e088b9f898c058b638a73756d8c8b1e8a
+8a8b77058b898dfffffd4ccd8effffffb333ab88fffff0b333fffff14ccdfffff84c
+cdfffff7b3330872ffffe6800005ffffeacccdffffea666679fffff66666ffffea33
+33fffff7333408ff0096800007b58da58b1e90898d851e7b845d837189088c790589
+8d8a8d1ea08a05989284611f0b9ea29d9da08b08aa9a7a581f2c078b628988698987
+838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bfffffbb3348ba98a8f
+918c9a8693ffffe18000ff00028000fffff88000ff000280008bb408f4078b91ffff
+ffccccff0005b333ffffff999aff00056667ff0012199aff00156666ff0013ccccff
+00138000ff0013b3348b08aaa47a581f2c078b628988698987838b7d8f84a98cff00
+0733348bff0017cccc8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e
+8bb408f407ce69a45d1effffdccccc8bffffdcb334ffffde8000fffff16666ffffee
+999afffff76666ff00246666ffffe9b334ff000e8000688b678bffffe74ccdffffec
+4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba7899888928a8e
+8a8e868b080b9ea2ad9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98c
+ff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d
+838e8bb408f407ce73a45d1e678bffffd74ccdffffec4ccdffffe7b333ffffdcb333
+86fffff8b3338bff00054ccd8b8e8ba7899888928a8e8a8e868b080bd707997faf83
+9f8b08ccbcdbd5cf68b3511f6e8bffffd98000ffffe68000ffffed8000ffffe88000
+fffffab333fffff93333ff00004ccdff0004cccd8b8e8ba7899888928a8e8a8e868b
+080b5592fc95fd7dc083050b7656645a788b086a8bb2aecdbdefbf9e9773711f8b82
+845f7d68080b808d77ac1ead8baa9eb3b408779c057d7a7e81848b888b898e8b928b
+918d948e9808bcf7655b8b736905849e7d9a698b0840232526669f52cf1fa18bab98
+a8a7080bc68baea9abaa0870a105716e64767c8b087b6c98d5eabec4b6909a87771f
+8b78898d8b7e0880917fa795aa93a4ab73b0443a3039fb0062b649cc1e0b82668675
+8b758b6da17ca18bb08bb4a4c6d108769c05696377787b8b848b88938b958b958d9c
+94af08b5f735050b4e6c6d6e6264b4d9daff001dcccca9ff00223334b5ad513c1e0b
+8b617e68776f73695c7a408b0858f7bc06a390a78eae8b08c8dd6dfb0a1f0b8bff02
+4e80009bff00008000058d8c8d8b8e8b08a58e7a6e1ffc8a076f8a7b621e0b8b6270
+715f85fffffd4cccfffff6e666ffffff4ccefffff4999aff00056666fffff9800093
+8c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b334ff00068000fffffa4cccff
+000b8000859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe0
+8000ff00469998fffff4b333ff001a3334dbc6b9d01f8bc55ca66a8e080ba89ba1a2
+8ba808b06aa15734705b7a888f7c9e1ea28bffffff33349dff0004cccc96929ba793
+9c8b089ba183711f0b958b998e8e9dff00014ccdff0007e668fffffd3333ff000ccc
+ccff00038000ff00084ccc90979794aa8b080b627a685e1e758b8092829483938392
+7e8b08817f837e73c77eadd0bcc0c7c167bf3d1f7d8b72868285080b90adfb378b75
+fb239188059992a092a18b08d38e506d1f0bf85107a8999cb61eae06b59b7d6b1ffc
+51076d7c7a601e6806617c99ac1f0bfbae076e807b6b1e65066c809ba81ff7ae07a7
+969baa1eb106ac957b6f1f0bbe88ff00086666fffff94cccffffee999affffd9b334
+0832fb6f7a607ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff00
+1f999aff0003b334089c8d058eff0000666691ff0001199a8bff00068000088b9e87
+8d058b4e896469568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c80
+00fffffc8000ff00154ccdfffff76666ff000e3333ffffdc199a080bf71cfbed0591
+7c9185988b958b9291929c08f71ef7e7059bb2a293a88e089e06ac957b6f1ffbae07
+0b6b8b60896b8b6b8b608d6b8b08fbb339fb57fb16fb4ff70c2ff74e1fab8bf7038d
+a58bab8bf589ab8b08f74ef70ff1f74ff70267f761fbe31f0bfa5cbffdc606aeb0ad
+c0abcf0864065f5a65666b726b716a766a7b080b6707ac7bad76aa71ab72b166b75a
+08b3066acf6ac068b008f9c5bf060baf076a9b69a06ca56ba465b05fbc086306ac47
+ac56ae6608fdc557060bfe5c57f9c606686669566b4708b206b7bcb1b0aba4aba5ac
+a0ac9b080bd9b2fb058606fb39fd40fb0ef7670569716171667808986fcba5f720fb
+85b19f050b7262414a588b084466ddcdcaabbbcb1fc88bd625a558080b62cd3dce3c
+8b082249242cfb02d259d41fd58be0d9b4c5080b3e7cfb0a6f1e7a8b7daa708b0878
+777a7772a179abedcbe6f7c51ff70b078bca87d38bbd8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e2151fb04fb8a1ffb17078b3b8d718b3b080bf710f2eff710
+f70f24f1fb10fb0f2525fb0ffb0ff026f7101f0bfca9fba15ef8e1b8fba1f8a9070b
+6e73736e6ea373a8a8a3a3a8a873a36e1f0bc7e7eff746bdf7168795838d818b49fb
+1efb01fb2d4034086a65ac6505d634f701fb2dcdfb1e948b948d8f9559f71627f746
+4fe708888f050b4f2f27fb4659fb168f819389958bcdf71ef701f72dd6e208acb16a
+b10540e2fb01f72d49f71e828b82898781bdfb16effb46c72f088e87050bff00b633
+34ff00000001ff00944cccff009480008bff00b6666708ff00b66666ffff6bb334ff
+0093199affff49ccccffff49ccccffff6d3333ffff6ce666ffff49999affff499999
+ff0092cccdffff6b8000ff00b633341e0bff00a26664ff00834cd0ffff7dccccffff
+5d6668ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff008380
+00ff00a2999aff00a13332ff0081e667ff0083999aff00a266671f0bffff44b332ff
+ff83cccc07ff00216666ff00356668b9ff0048b332ff002cccceff003d3334080bff
+00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff00031998ff
+fffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffefe666ffffc6
+cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d9999ff000c4c
+ccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccefffff06666ff
+ffe9e6681fffff2c1999078bffffca0001ffffee6666fffffccccdffffd28000ffff
+fe1999fffffc1999fffffc199a8bfffff24ccdff0003e667fffffc1999ff001fe666
+ff0000999aff00174ccdff0000b333ff002333338bff001ee6668bff000fe666ffff
+ff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff000db333fffffc1998
+ff0003e666ffffd28000ff0001e667fffff4e668ff000333338bc1080b968bff000a
+666887ff0007ccccfffff8e668ff00143334ffffef1998ff00119998ffffce999a8b
+ffffa8e6668bffffc433348962fffff6e668ffffdee666fffff1b334ffffcab334ff
+ffe01998fffffa1999fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff0038
+8000ff009fe666ff0027b334ff001de666ff001d33321f0bbdff004c1998ff0032b3
+33ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36664ff0025b3347a
+ff00168000ffffe4ccd0ff0013ccccffffdce6648bffffbfb3348bffffc2ccccffff
+b34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc99
+9aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b080bf7ef078bc7
+ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008b
+ffffc8b334ffffddb334ffffcb4cccffffe74ccc3362ff0001999afffff4999aff00
+046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08ff00108000
+ff0003800073691ffbda078b387086458885858b769185bc8cff0023cccc8cff0036
+33348bff002f999a8bff001866668abd8a91918ba08591458e7a908bde080bffffff
+ffffffffdd999a8effff4f3334ff009f199affff764cccff0007b333ff00018000ff
+0006199aff00056667ff00024cccff00061999ffffe6cccdff001d199affffa68000
+ff0069999a8bff00c933328bff00c93334ff005a3333ff00699998ff00188000ff00
+1b8000fffffd6667ff0007ccd0fffffb3333ff00056664fffff74ccdff0000999c30
+3dffffb8e666ffff8033328bffff71b332080b8bff00226668fffffce668ff00b0b3
+32ffff60e664ff0089b332fffff86668fffffe8000fffff9e668fffffa999cfffffd
+b330fffff9e664ff00193334ffffe2e668ff00598000ffff9680008bffff36cccc8b
+ffff36ccceffffa5ccccffff966666ffffe78000ffffe48000ff0002999cfffff833
+33ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473334ff007fcccd8b
+ff008e4ccc080b769e79a09ca9ff0011e666ff0016199a1e8b938991899289928594
+8b9308a4a5afd4afbe722b1e8b4b7457504f0841420529277b5b8b50088bbe8dab1e
+f74306abb9898b1f98c095d68ca985907e8d81897a447a72678b08fb46068bbbd0cf
+909008f0ec05c4c2b6b78bd708f70033b73afb0346394f1e0bfbb4fb5307ff00334c
+ccff00523334ff0046b334ff006f9998d0ff005e3334080b38f7b8068bbdff00004c
+ccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334fffff98000
+fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000fb238e
+7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff002766688b
+ff002599988aab8a91918ba085915a8f76898bba08e7d007999a9e97958791801f0b
+2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f712ec48
+e2fb041f608b66827984089ff73b05b087ab86bb8ba98bad8db48f089bcf848f0552
+855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb011f0bd8f709d9
+f77f1f8bee73e05fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2d
+fb0a8bfb5a8bffff956666ff0020e668ffff9b199aff0036b330ffffc98000ff001c
+6668ffffe3999aff00224cccfffff26666ff0026b3348b080b8bff00226668fffffc
+e660ff00b0b332ffff60e668ff0089b332fffff86668fffffe8000fffff9e668ffff
+fa999cfffffdb330fffff9e664ff00193334ffffe2e668ff00598004ffff9680008b
+ffff36cccc8bffff36ccceffffa5ccc8ffff966666ffffe78000ffffe48000ff0002
+999cfffff83333ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473338
+ff007fcccd8bff008e4ccc080bff00473332ff003d999affffbe6666ffff94ccccff
+ff9d999affffcf33344fffffb8ccccffffb26666ffffc8ccceff00466667ff006266
+67f700c7ff00366666c71f0b77767e84758b086967a0e5d5a7a4ad1fa48ba1779b78
+080b7273057c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75ffff
+f56666fffffc4ccdfffff1999afffffeb33308808a0588ffffffb33389ffffff4ccd
+8b870879078bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05
+ffffe7ccccff00038000ffffff3334ff000380008b9f08f7e70791898e881e878b85
+868788080bfb4afb27fb27fb4cfb4af727fb28f74af74af727f728f74af74afb26f7
+29fb4b1f0b7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea6068e
+8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89
+957e1e0b7e8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068e8e
+8a871f76078b568c6a654f8a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab8995
+7f1e0b8b7c886d506908b27605aa7a9d728b6c086b6c51315f489ccc1e8bb0b7afb1
+a0087f9105639e7ca58ba808b8bba8bfb8b96f641e0bff00be8002f72ff72eff00bd
+3334ff00bd3334fb2fff00988000ffff417ffeffff418000ffff668000ffff678000
+ffff42ccccffff42ccccff00998000fb2eff00be80001f0bff00b2b332ff008f3334
+ffff71ccccffff4e8000ffff4e7fffffff6f4cccffff71cccdffff4eccceffff4d4c
+cdffff70cccdff008fb333ff00b00001f744ff008f3333ff008fb334ff00b2b3331f
+0bff009b0002ff007f1998ff007c999aff009b8000f72efb16ff0073ccceffff67e6
+66ffff67e667ffff7f9999ffff8c3332fb2efb2eff007d8000ffff81e666f72f1f0b
+ff008dccceff00749998ffff8db334ffff733334ffff71b332ffff8b6668ffff8d99
+9affff723332ffff70cccdffff8e4ccdff0073e666ff008cccceff008cccccff0073
+199aff00724cccff008dcccc1f0bf7c4fffecfe666ff0130199aff0130199afffecf
+e666f7c4050bf715f4f4f715f71522f3fb15fb152323fb15fb15f322f7151f0bf707
+e82ffb07fb072d2efb06fb072fe8f707f706e7e8f7071f0bedd43b302f433c282843
+dae7e9d6d8eb1f0bf6e13520203435212035e2f5f5e1e2f61f0b7d96809999969699
+9980967d7d80807d1e0b7d96809998979699997f967e7d80807d1e0bedd43b2f2f43
+3c282843dae7e9d6d9eb1f0bedd43d2f2f4339282843dde7e9d7d7ea1f0beadadaea
+eada3c2c2c3c3c2c2c3cdaea1e0b91819587908b928b908c9593088bf739f724cb05
+90948b8e8b918b90859c7d9008fb3e408987050b8bf752898ffb3ed6057d86857a8b
+868b858b88908208f7244b8bfb39059583908a928b908b958f9195080b749e78a2a2
+9e9ea2a2789e74747878741e0b8b66a6598b6a8b78827e738b6b8b7ba87e8b087c81
+837d78ad71bbbbaca8b91f0b95cbb58e988b08a0a67f5c858889861f0b777577816c
+8b086b5aade01ff72a06918f8f91bb79be40555059344aae55d91fb48bada0a1a908
+0b7c977f9a9a98979a9a7e977c1e7c7f7f7c1f0b9c8b9b85978092fffffa3334ff00
+06b334fffff79998ff00064ccc8008fb34fffe7d999a05fffff6cccdff002fb334ff
+fffe3333bf8bff0024e6668bf78ac8b9b88b080bfb1d8bf71cf71905ff003a3334ff
+0038e666ff0018ccccff0028199a8bb98bc862ba268b2c8b4e587a57ff0006e666ff
+fff8199aff000c4ccdfffffb999aff000ecccdfffffd4ccca0c0bca0bc8bb98ba66f
+8b56088b51ffffed6666ffffe48000ffff93999affff99800008fb0322967405958c
+c18ca48b08f72806b38bad8a9c8a90aa95bc9dc582ff0006333382ff0000199a82ff
+0000b333087e6e0573568585528b080bff00524cccff0026999aa2ff0029999a8bff
+0034b3328ba984ff00188000ffffe7b334ff0018999affffea3334ff0016199affff
+dd1998ff0010e666ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e
+0bf747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a
+867585658b08fb62060b698b8d95798f888b8a8b8b888a5b804f8357ff000ae666ff
+fffce666ff000a199afffffeccce96ff00014ccc08a1dbac92ab8b080bffffdf3334
+ffffea6666ffffdf6666fffffe999affffee999a8b082975ebbdf702b5bdbccac469
+fb3f1f8bffffe98000fffffdb334ffffe54ccdfffffa1998ffffe33333080bffffe4
+e666ffffa51999ffffc0666626fb19ffffce33338b7f8f829386f0a9c9b5c3ccc9d3
+aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e66693ff001d
+ccceff000db333080b82678b648a770860fb5396078bcf90af919ea0dbb5989a8b96
+8b93899b81ae758052bd8b080b768485721e7806888989881f8b808d89d98d050bbb
+8af48b8bfb2705669673ac1ea68ba598a3a7088095057c807d857c8b087b869db11f
+f70ac50792938d911f0b775f7f72568685858b7691859d8ca18ca58bff001acccd8b
+ff002633338aaa8a91918ba08591558f8498a2bd08ff00134ccdff002ab33305ff00
+036667ff00077fff8dff0003cccdff00104ccd8b08f74f8ba05505ff00158000ffff
+c9e666ff00018000fffff8199a558685858b769185ae8cff002680008cff00208000
+8bff001dcccc8bff001d33348aa88a91918ba085915692fffffc999a93ffffe86666
+c508ffff663334ff0179333405fffff0e666fffff7e666ffffed3332fffff78000ff
+ffeb8000fffffd3332080bfb2b06778bff00018000ff000d8000ff00088000ff0013
+800008d5f73d928c050bd98bbba8baca899281ff000ab33383ff00024ccd5d556877
+488b082851f6eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ff
+ffffb334ff0029199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b
+8bfb188b25278bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cc
+cd08ff0027e666ffffdb4ccdff0038199affffebb333d58b080bf7d607a4a491b2f7
+3ca2fb0923fb204d66fb023f849ca71e0bffffe4999a8bffffd366668c648c85858b
+769185c88796878b3808fb6c078b3880884e8685858b769185b18cff002d4ccd8cff
+001cb3338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1f
+ffffbc4ccd8b6789ffffe2b3338b080bff0041cccc8bff00013334788d6690869d8b
+90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca48690798b
+8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec406dd8b986a9d52
+958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988affffef33
+348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c88796878b3808fb
+6c078b3880884e8685858b769185af8cb78cab8b08f72e06b3cd898b1f0b97b496c2
+92b58290838d80887b506e59388b086006ffffd5cccdfffff63333ff000accccff00
+2133341ff72a070b8bff0052cccc918eaa9091918ba08591798affffe3b3348affff
+e14ccc8bffffe1b3348bffffd24ccc8c6e8c85858b769185c88790878b380855076b
+826a86688b08fb1162f714ddf70dc5deeb1f0bee8bb5599a4b95fffffce66695ffff
+ff999a95ff00068000fffffee666b4fffffd8000ff0029b334fffff6999aff002d4c
+cc6d8b419b538b08fb23fb062ffb32fb13ea24f7231fcf8bff0049800095ff004280
+00af080b8bde968ec89091918ba08591658affffd4b3338affffe14ccd8bffffe1b3
+338bffffd64ccd8c648c85858b769185c88796878b3808fb6c078b3880884e868585
+8b769185b08cff00294ccd8cff0021b3338bff002066668bff002b999a8aae8a9191
+8ba085914e8f808f8bde080bfb9b07fb48696f6c1e7e8b85928495829780986f8b08
+7e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208f786078bde968ec8909191
+8ba08591678affffd4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b87
+8b38080b8b8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1ff7a1078b
+de968ec89091918ba08591668affffd74ccd8affffddb3338bffffe0b3338bffffd5
+4ccd8c668c85858b769185c88796878b3808fb6c078b388986458885858b769185bc
+8ccd8c8b8b080be4d839fb1afb0f4e40322a46e3f70ff71bd6cfd61f0bf722fb06e8
+fb16fb1f2026fb27fb1cf22bf71bf738e3f707f7161e0be2c207ff002580008b99ff
+ffdee666ff000d8000ffffdb199a08a14f050bff0016e666ffffc18000ff0022199a
+ffffe88000b68b9a8bff001eb334ff0002b333ff00114cccff00044ccdff00028000
+ff000a4ccd89ff0009e666fffff98000ff0007cccd678bffffed199a91ffffebe666
+bf086ed6057faafffff380009cfffff3800098088d07adff000bb333beff00294ccd
+8bd08bdeffffcbb334aeffff894ccc8b728bffffc74ccd87ffffe1b3338b6e8b618c
+638c85858b769185c88796878b3808fb6c070b8b3880884e8685858b769185b18cff
+0028e6668cff0021199a8bff001eb3338bff00214ccd8aab8a91918ba08591ffffd0
+80008efffff68000908bde080b728b71a13a8b458b3d638b398b42d964b478cc6db6
+748b528b51706f508b080b538b5eab79e47eff00028000fffff6e666ffffff4ccdff
+fff6199afffffc3333ff00024cccffffb98000ff0001b334ffffd98000926b968f95
+8d978b080b9e8ba87ad88be48bc4ff0036e6668bff0056199a8bd9ffffa5199aff00
+2ce666ffffcfe666ff0017199a59a35cff001880008bff002a80008bb6a7a7bf8b08
+0bbc8bb76a9a4b9488948b9490088da8ffffff8000b2fffffa8000b1080bf79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b334080b86ff00308000fffffe8000b0fffffe8000ff002f8000080b
+ffffdd4cccfffffbb334ffffbfb334fffffa4ccc378b083c060b298b51ff00054ccc
+70ff0004b334ffffff80005c8a64fffffa80005c94fffffccccc94ffffff4cce94ff
+0000e666080b9fd3969fcc8b08a306aa977f641ffb91078b3880884e8685858b7691
+85b08cff002880008cff002280008bff002280008bff002780008ab08a91918ba085
+91084e8f808f8bde080bfb1307358b2dfb182876d9e81ef71c078bde968ec8909191
+8ba08591648affffd780008affffdf80008bffffdc66668bffffd8999a8c678c8585
+8b769185c88796878b3808fb3107fb2aff0048800062ff006d8000f72fb4e3f7261e
+f706078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c8
+8796878b38080bffffb84cccfb12898bffffb3e666f7120571ff002c3334fffff619
+9aff00134cccc7ff0003800091918ba08591698a688a668b6e8b6d8c6e8c85858b76
+9185ff002e8000fffffa8000ff000ce666ffffeb6666a7ffffd1199a08ff00563334
+fb2105ff00074cccfffff44ccdff00078000fffff23333ffffff999a79088affffce
+8000058b3881884e8685858b769185b08cb28caf8bff00244ccc8bff0026b3348aaf
+8a91918ba085914e8f818f8bde088aff0033800005ffffff999aff00128000ff0002
+e666ff000d999aff00078000ff000a666608ff00506666f71f05ff0017b334ff0028
+e666ff0011999aff001bccceff002e4cccff00054ccc91918ba08591758a748a718b
+668b6f8c718c85858b769185cb858b7effffe4b3345b080bffffdfe6668bffffda99
+9aff0006999affffee8000ff00036666fffffd999a8bfffffe6666ffffff66668bff
+fffd999a8a5e8665825aff0008b333fffffd199aff0008999afffffeccccff0008b3
+33ff0001199a080ba0d3adff00133334a8ff0000cccc08f7218f05ff000fe666ff00
+003334fffff68000ffffeeccccfffffb999a85ffffa14ccdffff80b334ffffaeb333
+ffff82cccc3affff828000878588868b8508858f87961ef7ea068faa96ba9cc5ffff
+f84cccff0005199afffff7199aff00028000fffff5999affffff6666ffffe54cccff
+ffc46666ffffe9e668ffffd2b334ffffc1ccccfffffde66608fb0b8705ffffe7e666
+ffffff999aff0000b334ff000d6666ff0009666699ff004fe666ff007a999aff004f
+199aff0075e666e4ff007980009aa08f928b938bff0003ccccfffffe8000ff000133
+34fffffb80008b808b6989748b080b58f72b06a4a491b2f73ca2fb0923fb204d66fb
+023f849ca71ef718be070bffffe4999a8bffffd366668c648c85858b769185c88796
+878b3808303c64da35078b3880884e8685858b769185b18cff002d4ccd8cff001cb3
+338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1fffffbc
+4ccd8b6789ffffe2b3338b080bf752078bff00313334ff000cb333fffff68000ff00
+174ccdffffe34ccc08f77ffbcd050b9a7b9b859a8b089795929f1ff7d7078bde968e
+c89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb
+4f078b70887a6cb508fb79f7cbfb228d89888b73058791898e1eb188967f957908fb
+a6070b8b3880874e8785858b769185a98cae8ca98ba98baf8aa98a91918ba085914e
+90808e8bde080bbc8bb76a9a4b9488948b94908da8ffffff8000b2fffffa8000b108
+0b3cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b333ff004580
+00ff00148000724f1e0b453d63391f8b42d964b478cc6db6748b528b51706f508b08
+0b7f8b8892ffffffcccdff00064ccc08ff00683333ff0103b334ff000766668bff00
+58999afba5050b7f8b8892ffffffcccdff00064cccff00263333ff0061b33499aebd
+f70008ff000466668bff005c999afb92050bc4f72505ff00056666ff000dcccdff00
+03999aff000333339b8b08f76b8bc8fb3d05ff000ee668ffffd6cccdffffd6b332ff
+00039999ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdf4ccc8bffffed8000ff0033800008fb61f8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b858a7d7e7d86fffff299
+9afffffb3334fffff8b332ffffff3334ffffeeb334fffffc9998898a8b898b899284
+927c907dffffe5ccccffffcae668ff000c6668ff001ae664ffff921999ffff0d3334
+08ffffa1b333fb6e05ffffe54ccdffffc24cccffffe23333fffff9b334ffffd48000
+8885858b769185b08c988cb28bb48bbd8ab08a91918ba08591ffffda6666ff000299
+9affffd23334ff00063332ff000f6666ff00273334080b70f71fa6070bd7c8c8d7d8
+c84e3f3f4e4d3e3f4ec9d71e0b2fd641e6e7d5d5e7e641d62f304040301e0bfa9206
+978b9692919591958b99859508fc93fa0905859580917f8b7f8b8085858108fc93fe
+090585818b7d918191819684978b080b778b7995819c819c8ba1959c08f893fa0805
+959c9d969f8b9f8b9d80957a08f893fe0805957a8b75817a817a7981778b080bfb97
+fb66fb67fb97fb97f766fb67f797f797f767f767f797f797fb67f767fb971f0bffff
+ffb332ff0009e667ff0009999aff00063333ff000ae6668b08ff000be668ff0009b3
+32fffff88000fffff766661fffffffe666ffffd64ccd05fffff4fffffffff73334ff
+fffa6667fffff34ccc1efffff53334ffffffb333fffff6b334ff0005e666ff000019
+9896080bffffbae668ffffffe6668bffff94e667d08b8bff00104ccc050bffffcc33
+348bffffffccccff001de666b7ffffffe6668bff000f199affffd433348bffffffcc
+ccff001ce666050bff0000199affffcbe66605fffff36666ff0010e666ffffeee666
+ff00143334ff00148000ff00126666ff00104cceff000d80001effffffccccff0033
+e66605ff000ecccdffffece666ff000d1999ffffec8000ffffe8999afffff2199a7d
+fffff233341e0bfffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0
+fffff9cccc84fffff9cccd84fffffd3333fffff719988bfffff7666808fffd6d9998
+078bfffff54cccff0005b334fffff7333492fffffab33392fffffab333ff00084ccc
+fffffd6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00
+06333391ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c
+05ff0000199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00
+066664fffff7999cff00033334fffff7e6648b080b7cfffff3ccccfffff3b3347c7c
+fffff3b334ff000c4ccc9a9aff000c4cccff000c4ccc9a9aff000c3334fffff3b334
+7c1e0bff00018000ff0001b334ff0001999aff0001ccccff0001b332ff0001ccccff
+fffe6666fffffe3334fffffe6668fffffe4cccfffffe6666fffffe3334080bff0003
+3334ff00036668ff0003999aff00039998ff0003e666ff0003999a088bff00380002
+84ff0001ccccff0000199affffbf999805fffffeb332fffffeb334fffffeb334ffff
+fe999afffffeccccfffffeb332080b9e81068a898988898b087d06848b8b9a928b08
+0bf9c406949981781ffcd407797d80821efdc406827d969d1ff8d4079d9996941e0b
+785105877f8b878b878b859087918b928b8c8e8f978b8b95a996afa67e9f708b6b08
+5f67675f5f68afb7b7aeafb71e8f8b8f8b8f8a080b6d79786b8b6608778bbdf71705
+0ba948488b058ba79aa4a199080bb7af685f5f67675f1f668b6ca482ad08cc06a28f
+8d911f8b8f8a8d849b8b8b80a478b5928d938c938b080bf7438b59fb1c050bfdc406
+7275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8d407ff001ce668ffffee6668
+ff00181998ffffe299981e0b8cfcd0498b058bff001566668cff01ae999affffffcc
+cdf70c080b>
+%%EndResource
+%%BeginResource: font LinLibertineDisplayO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineDisplayO 348398 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+0100040400010101154c696e4c6962657274696e65446973706c61794f0001020001
+00411c0960001c0961011c0962021c096303f81504290c03b30c04fecefb8d1c181b
+fab0051d00004e990f1d00000000101d00006018111d000000461d000497ca1207dd
+0200010008000f001b0029003000370043004a00510057005d0064006b0071007700
+82008d009700a100a700ad00b300b900bf00c500cc00d300d900df00e900f300fa01
+010107010d011801230129012f01390143014f015b0166017101750179017f018501
+8c01930199019f01a601ad01b701b901bb01c601d101dd01e901f501fb0201020d02
+19021f02250229022d02330239024502510257025d0268026b026e0275027c028202
+88029502a202a802ae02ba02c602cc02d202d802de02e902f402fc0304030c031403
+1a032003240328032e0334033b03420348034e035303580365037203790380038b03
+9603a103ac03b203b803c203cc03d103d603db03e203e903f003f703fe0405040c04
+13041a04210428042f0436043d0444044b0452045904600467046e0475047c048304
+8a04910498049f04a604ad04b404bb04c204c904d004d704de04e504eb04f104f804
+ff0506050d0514051b0522052905300537053e0545054c0553055d0567056e057505
+80058b0592059905a005a705ae05b505bc05c305ca05d105d805df05e605ed05f405
+fb0602060906100617061e0625062c0633063f064b06570663066a06710678067f06
+86068d0694069b06a206a906b006b706be06c506cc06d306db06e206ec06fa070407
+0e071e073207490753075d0764076b0772077b0784078b0792079907a007a707ae07
+b507bc07c307ca07d107d807df07e607ed07f407fb0802080908100817081e082508
+2c0833083a084d08570861086b0887088e0895089c08a308aa08b108b808bf08c608
+cd08d408db08e208e908f008f708fe0905090c0913091a09210928092f0936093d09
+44094d09560964096d0977097e0987098e099509a209a909b009b709be09c509cc09
+d309da09e109e809ef09f609fd0a040a0b0a120a190a200a270a2e0a350a3c0a430a
+4a0a510a5d0a640a6b0a720a790a800a870a8e0a950a9c0aa30aaa0ab10ab80abf0a
+c60acd0ad40adb0ae20ae90af00af70afe0b050b0c0b130b1a0b210b280b2f0b360b
+3d0b440b4b0b520b590b600b670b6e0b750b7c0b830b8a0b910b980b9f0ba60bad0b
+b40bbb0bc20bc90bd00bd70bde0be50bec0bf30bfa0c010c080c0f0c160c1d0c240c
+2b0c320c390c400c470c4e0c550c5c0c630c6a0c710c780c7f0c860c8d0c940c9b0c
+a00cad0cb70cc00ccc0cd40cdd0ce90cf50cff0d100d150d190d1e0d230d2a0d2e0d
+310d360d3a0d3f0d450d470d490d4b0d520d540d570d5c0d5f0d660d690d6c0d6f0d
+740d800d8f0d990da50dad0db60dca0dcf0dd30dd80ddd0de40de80deb0df00df40d
+f90dff0e010e030e0a0e0c0e0f0e150e1a0e1d0e240e270e2a0e2d0e320e3e0e4d0e
+590e650e6f0e760e7c0e840e8b0e920e960e9c0ea30eaa0eb10eb80ebf0ec60ecd0e
+d40edb0ee20ee90ef00ef70efe0f050f0c0f130f1a0f210f280f2f0f360f3d0f440f
+4b0f540f5d0f660f6f0f780f810f8a0f930f9c0fa50fae0fb70fbe0fc70fd00fd90f
+e20feb0ff40ffd1006100f10181021102a1033103c1045104e105710601069107210
+7b1084108d1096109f10a810b110ba10c310cc10d510de10e710f010f91102110b11
+14111d1126112f11381141114a1153115c1165116e1177118011891192119b11a411
+ad11b611bf11c811d111da11e311ec11f511fe120712101217122012291232123b12
+44124d1256125f12681271127a1283128a1293129c12a312aa12b312bc12c312ca12
+d112d812df12e612ed12f412fb1302130913101317131e1327133013391342134913
+501357135e1365136c1373137a13811388138f139813a113a813af13b613bd13c413
+cb13d213d913e013e713ee13f513fc1403140a14111418141f1426142d1434143b14
+42144914501457145e1465146c1473147a14811488148f1496149d14a414ab14b214
+b914c014c714ce14d514dc14e314ea14f114f814ff1506150d1514151b1522152915
+301537153e1545154c1553155a15611568156f1578157f1586158d1594159b15a215
+a915b015b715be15c515cc15d315da15e115e815ef15f615fd1604160b1612161916
+201627162e1635163c1643164a165116581661166a1673167c1685168e169716a016
+a916b216b916c216cb16d416dd16e616ef16f81701170a1711171a1723172c173517
+3e1747175017591762176b1774177d1786178f179817a117aa17b317bc17c517ce17
+d717e017e917f217fb1804180d1816181f1826182d183718471851185b1865187518
+7f188f189918a318ad18bd18c718d118db18eb18f518ff19091913191a1921192819
+2f1936193d1944194b1952195919601967196e1975197c1983198a19911998199f19
+a619ad19b419bb19c219c919d019d719de19e519ec19f319fa1a011a081a0f1a161a
+1d1a241a2b1a321a391a401a471a4e1a551a5c1a631a6a1a711a781a7f1a861a8d1a
+941a9b1aa21aa91ab01ab71abe1ac51acc1ad31ada1ae11ae81aef1af61afd1b041b
+0b1b121b191b201b271b2e1b351b3c1b431b4a1b511b581b5f1b661b6d1b741b7b1b
+821b891b901b971b9e1ba51bac1bb31bba1bc11bc81bcf1bd61bdd1be41beb1bf21b
+f91c001c071c0e1c151c1c1c231c2a1c311c381c3f1c461c4d1c541c5b1c621c691c
+701c771c7e1c851c8c1c931c991c9f1ca51cab1cb41cbd1cc41ccb1cd21cd91ce01c
+e71cee1cf51cfc1d031d0a1d111d181d1f1d261d2d1d341d3b1d421d491d501d571d
+5e1d651d6f1d761d7d1d841d8b1d921d991da01da71dae1db51dbc1dc31dca1dd11d
+d81ddf1de61ded1df41dfb1e021e091e101e171e1e1e251e2c1e331e3a1e411e481e
+4f1e561e5d1e641e6b1e721e791e801e871e8e1e951e9c1ea31eaa1eb11eb81ebf1e
+c61ecd1ed41edb1ee21ee91ef01ef71efe1f051f0c1f131f1a1f211f281f2f1f361f
+3d1f441f4b1f521f591f601f671f6e1f741f7a1f811f881f8f1f961f9d1fa41fab1f
+b21fb91fc01fc71fce1fd51fdc1fe31fea1ff11ff81fff2006200d2014201b202220
+2920302037203e2045204c2053205a20612068206f2076207d2084208b2092209920
+a020a720ae20b520bc20c320ca20d120d820df20e620ed20f420fb21022109211021
+17211e2125212c2133213a21412148214f2156215d2164216b217221792180218721
+8e2195219c21a321aa21b121b821bf21c621cd21d421db21e221e921f021f721fe22
+05220c2213221a22212228222f2236223d2244224b2252225922602267226e227522
+7c2283228a22912298229f22a622ad22b422bb22c222c922d022d722de22e522ec22
+f322fa23012308230f2316231d2324232b2332233923402347234e2355235c236323
+6a23712378237f2386238d2394239b23a223a923b023b723be23c523cc23d323da23
+e123e823ef23f623fd2404240b2412241924202427242e2435243c2443244a245124
+58245f2466246d2474247b2482248924902497249e24a524ac24b324ba24c124c824
+cf24d624dd24e424eb24f224f925002507250e2515251c2523252a25312538253f25
+46254d2554255b2562256925702577257e2585258c2593259a25a125a825af25b625
+bd25c425cb25d225d925e025e725ee25f525fc2603260a26112618261f2626262d26
+33263926402647265626642671267c268c2695269e26ac26b526c226cf26d626e326
+f026fb2709271227192727272d2733273e274b27522759276027692774277b278227
+9327a227b127b827bf27c627d327dd27ea27f728032811281f282c28392847285528
+67287a28842891289d28a928b728c428d128dd28eb28f9290629132921292f294129
+54295e29682972297c2983298a29912998299d29a129a729ae29b229b629bd29c129
+c829cf29d629e029e929f029fa2a012a082a0f2a162a1e2a272a2e2a342a3b2a422a
+4a2a512a582a5f2a662a6e2a772a7c2a832a8a2a912a982a9f2aa72ab02abb2ac52a
+cd2ad72ae32aeb2af32afd2b062b0f2b172b212b2b2b342b3c2b472b522b592b602b
+672b6e2b762b7e2b882b912b9a2ba22bac2bb62bbf2bc72bd22bdd2be42beb2bf22b
+f92c002c072c0e2c152c1c2c252c2c2c362c3f2c482c512c582c5f2c662c6d2c742c
+7b2c822c8e2c952c9c2ca32caa2cb12cb82cbf2cc62ccd2cd42ce02cea2cf72d032d
+0f2d162d1d2d242d2b2d322d3b2d422d4d2d582d5f2d672d6e2d762d7d2d872d8e2d
+962d9d2da42dab2db22dbb2dc22dc92dd02dd72de32dea2df12df82dff2e062e122e
+1a2e212e262e2d2e342e3b2e422e492e502e5a2e632e6f2e742e7c2e832e8a2e912e
+982e9f2ea62eaf2eba2ec12ec82ed02edb2ee22eeb2ef72efe2f052f0c2f132f1a2f
+212f2d2f3b2f442f4b2f552f5c2f6a2f712f782f7f2f862f932f9a2fa12fa82faf2f
+b62fbd2fc42fcb2fd22fd92fe02fe72fee2ff52ffc3003300a30113018301f302630
+2d3034303b3042304930503057305e3065306c3073307a30813088308f3096309d30
+a430ab30b230b930c030c730ce30d530dc30e330ea30f130f830ff3106310d311431
+1b3122312931303137313e3145314c3153315a31613168316f3176317d3184318b31
+92319931a031a731ae31b531bc31c331ca31d131d831df31e631ed31f431fb320232
+0932103217321e3225322c3233323a32413248324f3256325d3264326b3272327932
+803287328e3295329c32a332aa32b132b832bf32c632cd32d432db32e232e932f032
+f732fe3305330c3313331a33213328332f3336333d3344334d3353335a3361336833
+6f3376337d3384338b3392339933a033a733b033b733bd33c433cb33d233d933e033
+e733ee33f533ff3406340d3414341b3422342934303437343e3445344c3453345a34
+613467346e3472347934803487348e3495349c34a334aa34b134b834bf34c634cd34
+d434db34e234e934f034f734fe3505350c35173525352c3533353a35413548354f35
+56355d3564356b3572357935813588358f3596359a35a135a835af35b635bd35c435
+cb35d235d935e035e735ee35f535fc3603360a36113618361f3626362d3634363b36
+42364936503657365e3665366c3673367a36813688368f3696369d36a436ab36b236
+b936c036c736ce36d136d836df36e636ed36f436fb3702370937103717371e372637
+3237413751375c37663770377c37873792379c37a837b437bf37ca37d437db37e037
+e737f63803380f381b382938363843384f385d386b387838853892389f38a438a738
+aa38ad38b438bb38c238c938cc38cf38d938e038e738ee38f538fc39033908390f39
+16391d3924392b3933393a3941394a3952395a3961396a3973397b398b399a39a939
+ba39ca39da39e939fa3a0b3a1b3a223a293a303a373a3b3a453a4f3a593a633a6d3a
+773a813a8b3a953a9f3aa93ab33abd3ac73ad13adb3ae53aef3af93b033b0d3b173b
+203b293b373b403b493b593b6a3b7e3b8a3b933b9f3bb03bbd3bc33bcd3bd93be63b
+f43c033c0f3c1c3c293c383c483c593c693c7a3c843c8b3c8e3c913c943c993ca03c
+a33caa3cb03cb63cbc3cc23cc83cce3cd43cda3ce03ce63cec3cf23cf83cfe3d043d
+0a3d103d163d1c3d223d273e433e5c3e75756e6930304130756e693030414474776f
+2e7375706572696f7274687265652e7375706572696f72756e693030423570696c63
+726f776f6e652e7375706572696f72416d6163726f6e616d6163726f6e4162726576
+65616272657665416f676f6e656b616f676f6e656b43616375746563616375746543
+63697263756d666c65786363697263756d666c657843646f74616363656e7463646f
+74616363656e74436361726f6e636361726f6e446361726f6e646361726f6e446372
+6f61746463726f6174456d6163726f6e656d6163726f6e4562726576656562726576
+6545646f74616363656e7465646f74616363656e74456f676f6e656b656f676f6e65
+6b456361726f6e656361726f6e4763697263756d666c65786763697263756d666c65
+7847627265766567627265766547646f74616363656e7467646f74616363656e7447
+636f6d6d61616363656e7467636f6d6d61616363656e744863697263756d666c6578
+6863697263756d666c657848626172686261724974696c64656974696c6465496d61
+63726f6e696d6163726f6e496272657665696272657665496f676f6e656b696f676f
+6e656b49646f74616363656e74494a696a4a63697263756d666c65786a6369726375
+6d666c65784b636f6d6d61616363656e746b636f6d6d61616363656e746b67726565
+6e6c616e6469634c61637574656c61637574654c636f6d6d61616363656e746c636f
+6d6d61616363656e744c6361726f6e6c6361726f6e4c646f746c646f744e61637574
+656e61637574654e636f6d6d61616363656e746e636f6d6d61616363656e744e6361
+726f6e6e6361726f6e6e61706f7374726f706865456e67656e674f6d6163726f6e6f
+6d6163726f6e4f62726576656f62726576654f68756e676172756d6c6175746f6875
+6e676172756d6c61757452616375746572616375746552636f6d6d61616363656e74
+72636f6d6d61616363656e74526361726f6e726361726f6e53616375746573616375
+74655363697263756d666c65787363697263756d666c657853636564696c6c617363
+6564696c6c6154636564696c6c6174636564696c6c61546361726f6e746361726f6e
+54626172746261725574696c64657574696c6465556d6163726f6e756d6163726f6e
+5562726576657562726576655572696e677572696e675568756e676172756d6c6175
+747568756e676172756d6c617574556f676f6e656b756f676f6e656b576369726375
+6d666c65787763697263756d666c65785963697263756d666c65787963697263756d
+666c65785a61637574657a61637574655a646f74616363656e747a646f7461636365
+6e746c6f6e67734f686f726e6f686f726e756e6930314330756e6930314331756e69
+30314332756e6930314333756e6930314334756e6930314335756e6930314336756e
+6930314337756e6930314338756e6930314339756e6930314341756e693031434275
+6e6930314343756e6930314344756e6930314345756e6930314346756e6930314430
+756e6930314431756e6930314432756e6930314433756e6930314434756e69303144
+35756e6930314436756e6930314437756e6930314438756e6930314439756e693031
+4441756e6930314442756e6930314443657475726e6564756e6930314445756e6930
+314446756e6930314530756e6930314531756e6930314532756e6930314533756e69
+30314534756e6930314535476361726f6e676361726f6e756e6930314538756e6930
+314539756e6930314541756e6930314542756e6930314543756e6930314544756e69
+30314630756e6930314631756e6930314632756e6930314633756e6930314634756e
+6930314635756e6930314638756e69303146394172696e6761637574656172696e67
+616375746541456163757465616561637574654f736c61736861637574656f736c61
+73686163757465756e6930323030756e6930323031756e6930323032756e69303230
+33756e6930323034756e6930323035756e6930323036756e6930323037756e693032
+3038756e6930323039756e6930323041756e6930323042756e6930323043756e6930
+323044756e6930323045756e6930323046756e6930323130756e6930323131756e69
+30323132756e6930323133756e6930323134756e6930323135756e6930323136756e
+693032313753636f6d6d61616363656e7473636f6d6d61616363656e7454636f6d6d
+61616363656e7474636f6d6d61616363656e74756e6930323145756e693032314675
+6e6930323236756e6930323237756e6930323238756e6930323239756e6930323241
+756e6930323242756e6930323243756e6930323244756e6930323245756e69303232
+46756e6930323330756e6930323331756e6930323332756e6930323333646f746c65
+73736a756e6930323641682e7375706572696f7268686f6f6b2e7375706572696f72
+6a2e7375706572696f72722e7375706572696f72727475726e65642e737570657269
+6f7272686f6f6b7475726e65642e7375706572696f7252736d616c6c696e76657274
+65642e7375706572696f72772e7375706572696f72792e7375706572696f72756e69
+30324239756e6930324241756e693032424261666969353739323961666969363439
+3337756e6930324245756e6930324246756e6930324330756e6930324331756e6930
+324332756e6930324333756e6930324334756e6930324335756e6930324338756e69
+30324339756e6930324341756e6930324342756e6930324343756e6930324344756e
+6930324345756e6930324346756e6930324430756e6930324431756e693032443275
+6e6930324433756e6930324434756e6930324435756e6930324436756e6930324437
+756e6930324445756e693032444667616d6d616c6174696e2e7375706572696f726c
+2e7375706572696f72732e7375706572696f72782e7375706572696f72676c6f7474
+616c73746f7072657665727365642e7375706572696f72756e6930324535756e6930
+324536756e6930324537756e6930324538756e6930324539756e6930324541756e69
+30324542756e6930324543756e6930324544756e6930324545756e6930324546756e
+6930324630756e6930324631756e6930324632756e6930324633756e693032463475
+6e6930324635756e6930324636756e6930324637756e6930324638756e6930324639
+756e6930324641756e6930324642756e6930324643756e6930324644756e69303246
+45756e69303246466772617665636f6d626163757465636f6d6263697263756d666c
+6578636f6d6274696c6465636f6d626d6163726f6e636f6d62756e69303330356272
+657665636f6d62756e6930333037756e6930333038686f6f6b61626f7665636f6d62
+756e6930333041756e6930333042756e6930333043756e6930333044756e69303330
+45756e6930333046756e6930333130756e6930333131756e6930333132756e693033
+3133756e6930333134756e6930333135756e6930333136756e6930333137756e6930
+333138756e6930333139756e6930333141756e6930333142756e6930333143756e69
+30333144756e6930333145756e6930333146756e6930333230756e6930333231756e
+6930333232646f7462656c6f77636f6d62756e6930333234756e6930333235756e69
+30333236756e6930333237756e6930333238756e6930333239756e6930333241756e
+6930333242756e6930333243756e6930333244756e6930333245756e693033324675
+6e6930333330756e6930333331756e6930333332756e6930333333756e6930333334
+756e6930333335756e6930333336756e6930333337756e6930333338756e69303333
+39756e6930333341756e6930333342756e6930333343756e6930333344756e693033
+3345756e6930333346756e6930333430756e6930333431756e6930333432756e6930
+333433756e6930333434756e6930333435756e6930333436756e6930333437756e69
+30333438756e6930333439756e6930333441756e6930333442756e6930333443756e
+6930333444756e6930333445756e6930333530756e6930333531756e693033353275
+6e6930333533756e6930333534756e6930333535756e6930333536756e6930333537
+756e6930333538756e6930333539756e6930333541756e6930333542756e69303335
+43756e6930333544756e6930333545756e6930333546756e6930333630756e693033
+3631756e6930333632756e6930333633756e6930333634756e6930333635756e6930
+333636756e6930333637756e6930333638756e6930333639756e6930333641756e69
+30333642756e6930333643756e6930333644756e6930333645756e6930333646756e
+6930333734756e6930333735756e6930333741756e6930333742756e693033374375
+6e6930333744756e6930333745746f6e6f736469657265736973746f6e6f73416c70
+6861746f6e6f73616e6f74656c656961457073696c6f6e746f6e6f73457461746f6e
+6f73496f7461746f6e6f734f6d6963726f6e746f6e6f73557073696c6f6e746f6e6f
+734f6d656761746f6e6f73696f74616469657265736973746f6e6f73416c70686142
+65746147616d6d6144656c7461457073696c6f6e5a6574614574615468657461496f
+74614b617070614c616d6264614d754e7558694f6d6963726f6e506952686f536967
+6d61546175557073696c6f6e5068694368695073694f6d656761496f746164696572
+65736973557073696c6f6e6469657265736973616c706861746f6e6f73657073696c
+6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73757073696c6f6e646965
+7265736973746f6e6f73616c7068616265746167616d6d6164656c7461657073696c
+6f6e7a6574616574617468657461696f74616b617070616c616d6264616e7578696f
+6d6963726f6e706972686f7369676d61317369676d61746175757073696c6f6e7068
+696368697073696f6d656761696f74616469657265736973757073696c6f6e646965
+72657369736f6d6963726f6e746f6e6f73757073696c6f6e746f6e6f736f6d656761
+746f6e6f73756e6930334430746865746131557073696c6f6e31756e693033443375
+6e6930334434706869316f6d65676131756e6930334437756e6930334438756e6930
+334439756e6930334441756e6930334442756e6930334443756e6930334444756e69
+30334445756e6930334446756e6930334530756e6930334531756e6930334630756e
+6930334631756e6930334632756e6930334633756e6930334634756e693033463575
+6e6930334636756e6930334638756e6930334639756e6930334642756e6930334644
+756e6930334645756e6930334646756e693034303061666969313030323361666969
+31303035316166696931303035326166696931303035336166696931303035346166
+69693130303535616669693130303536616669693130303537616669693130303538
+616669693130303539616669693130303630616669693130303631756e6930343044
+61666969313030363261666969313031343561666969313030313761666969313030
+31386166696931303031396166696931303032306166696931303032316166696931
+30303232616669693130303234616669693130303235616669693130303236616669
+69313030323761666969313030323861666969313030323961666969313030333061
+66696931303033316166696931303033326166696931303033336166696931303033
+34616669693130303335616669693130303336616669693130303337616669693130
+30333861666969313030333961666969313030343061666969313030343161666969
+31303034326166696931303034336166696931303034346166696931303034356166
+69693130303436616669693130303437616669693130303438616669693130303439
+61666969313030363561666969313030363661666969313030363761666969313030
+36386166696931303036396166696931303037306166696931303037326166696931
+30303733616669693130303734616669693130303735616669693130303736616669
+69313030373761666969313030373861666969313030373961666969313030383061
+66696931303038316166696931303038326166696931303038336166696931303038
+34616669693130303835616669693130303836616669693130303837616669693130
+30383861666969313030383961666969313030393061666969313030393161666969
+31303039326166696931303039336166696931303039346166696931303039356166
+69693130303936616669693130303937756e69303435306166696931303037316166
+69693130303939616669693130313030616669693130313031616669693130313032
+61666969313031303361666969313031303461666969313031303561666969313031
+3036616669693130313037616669693130313038616669693130313039756e693034
+3544616669693130313130616669693130313933756e6930343630756e6930343631
+616669693130313436616669693130313934756e6930343634756e6930343635756e
+6930343636756e6930343637756e6930343638756e6930343639756e693034364175
+6e6930343642756e6930343643756e6930343644756e6930343645756e6930343646
+756e6930343730756e69303437316166696931303134376166696931303139356166
+69693130313438616669693130313936756e6930343736756e6930343737756e6930
+343743756e6930343744756e6930343745756e6930343746756e6930343833756e69
+30343843756e6930343844756e6930343845756e6930343846616669693130303530
+616669693130303938756e6930343932756e6930343933756e6930343934756e6930
+343935756e6930343936756e6930343937756e6930343938756e6930343939756e69
+30343941756e6930343942756e6930343943756e6930343944756e6930343945756e
+6930343946756e6930344130756e6930344131756e6930344132756e693034413375
+6e6930344134756e6930344135756e6930344136756e6930344137756e6930344138
+756e6930344139756e6930344141756e6930344142756e6930344143756e69303441
+44756e6930344145756e6930344146756e6930344230756e6930344231756e693034
+4232756e6930344233756e6930344234756e6930344235756e6930344236756e6930
+344237756e6930344238756e6930344239756e6930344241756e6930344242756e69
+30344243756e6930344244756e6930344245756e6930344246756e6930344330756e
+6930344331756e6930344332756e6930344333756e6930344334756e693034433775
+6e6930344338756e6930344339756e6930344341756e6930344342756e6930344343
+756e6930344430756e6930344431756e6930344432756e6930344433756e69303444
+34756e6930344435756e6930344436756e6930344437756e69303444386166696931
+30383436756e6930344441756e6930344442756e6930344443756e6930344444756e
+6930344445756e6930344446756e6930344530756e6930344531756e693034453275
+6e6930344533756e6930344534756e6930344535756e6930344536756e6930344537
+756e6930344538756e6930344539756e6930344541756e6930344542756e69303445
+43756e6930344544756e6930344545756e6930344546756e6930344630756e693034
+4631756e6930344632756e6930344633756e6930344634756e6930344635756e6930
+344636756e6930344637756e6930344638756e693034463961666969353737393961
+66696935373830316166696935373830306166696935373830326166696935373739
+33616669693537373934616669693537373935616669693537373938616669693537
+373937616669693537383036756e6930354241616669693537373936616669693537
+38303761666969353738333961666969353736343561666969353738343161666969
+3537383432616669693537383034616669693537383033616669693537363538756e
+69303543366166696935373636346166696935373636356166696935373636366166
+69693537363637616669693537363638616669693537363639616669693537363730
+61666969353736373161666969353736373261666969353736373361666969353736
+37346166696935373637356166696935373637366166696935373637376166696935
+37363738616669693537363739616669693537363830616669693537363831616669
+69353736383261666969353736383361666969353736383461666969353736383561
+66696935373638366166696935373638376166696935373638386166696935373638
+39616669693537363930616669693537373136616669693537373137616669693537
+373138756e6930354633756e6930354634612e7375706572696f72617475726e6564
+2e7375706572696f72622e7375706572696f72642e7375706572696f72652e737570
+6572696f72657475726e65642e7375706572696f72672e7375706572696f72697475
+726e65642e7375706572696f726b2e7375706572696f726d2e7375706572696f726f
+2e7375706572696f72637475726e65642e7375706572696f72702e7375706572696f
+72742e7375706572696f72752e7375706572696f726d7475726e65642e7375706572
+696f72762e7375706572696f72632e7375706572696f72662e7375706572696f727a
+2e7375706572696f72756e6931453030756e6931453031756e6931453032756e6931
+453033756e6931453034756e6931453035756e6931453036756e6931453037756e69
+31453038756e6931453039756e6931453041756e6931453042756e6931453043756e
+6931453044756e6931453045756e6931453046756e6931453130756e693145313175
+6e6931453132756e6931453133756e6931453134756e6931453135756e6931453136
+756e6931453137756e6931453138756e6931453139756e6931453141756e69314531
+42756e6931453143756e6931453144756e6931453145756e6931453146756e693145
+3230756e6931453231756e6931453232756e6931453233756e6931453234756e6931
+453235756e6931453236756e6931453237756e6931453238756e6931453239756e69
+31453241756e6931453242756e6931453243756e6931453244756e6931453245756e
+6931453246756e6931453330756e6931453331756e6931453332756e693145333375
+6e6931453334756e6931453335756e6931453336756e6931453337756e6931453338
+756e6931453339756e6931453341756e6931453342756e6931453343756e69314533
+44756e6931453345756e6931453346756e6931453430756e6931453431756e693145
+3432756e6931453433756e6931453434756e6931453435756e6931453436756e6931
+453437756e6931453438756e6931453439756e6931453441756e6931453442756e69
+31453443756e6931453444756e6931453445756e6931453446756e6931453530756e
+6931453531756e6931453532756e6931453533756e6931453534756e693145353575
+6e6931453536756e6931453537756e6931453538756e6931453539756e6931453541
+756e6931453542756e6931453543756e6931453544756e6931453545756e69314535
+46756e6931453630756e6931453631756e6931453632756e6931453633756e693145
+3634756e6931453635756e6931453636756e6931453637756e6931453638756e6931
+453639756e6931453641756e6931453642756e6931453643756e6931453644756e69
+31453645756e6931453646756e6931453730756e6931453731756e6931453732756e
+6931453733756e6931453734756e6931453735756e6931453736756e693145373775
+6e6931453738756e6931453739756e6931453741756e6931453742756e6931453743
+756e6931453744756e6931453745756e693145374657677261766577677261766557
+6163757465776163757465576469657265736973776469657265736973756e693145
+3836756e6931453837756e6931453838756e6931453839756e6931453841756e6931
+453842756e6931453843756e6931453844756e6931453845756e6931453846756e69
+31453930756e6931453931756e6931453932756e6931453933756e6931453934756e
+6931453935756e6931453936756e6931453937756e6931453938756e693145393975
+6e6931453941756e6931453942756e6931453943756e69314539444765726d616e64
+626c73756e6931453946756e6931454130756e6931454131756e6931454132756e69
+31454133756e6931454134756e6931454135756e6931454136756e6931454137756e
+6931454138756e6931454139756e6931454141756e6931454142756e693145414375
+6e6931454144756e6931454145756e6931454146756e6931454230756e6931454231
+756e6931454232756e6931454233756e6931454234756e6931454235756e69314542
+36756e6931454237756e6931454238756e6931454239756e6931454241756e693145
+4242756e6931454243756e6931454244756e6931454245756e6931454246756e6931
+454330756e6931454331756e6931454332756e6931454333756e6931454334756e69
+31454335756e6931454336756e6931454337756e6931454338756e6931454339756e
+6931454341756e6931454342756e6931454343756e6931454344756e693145434575
+6e6931454346756e6931454430756e6931454431756e6931454432756e6931454433
+756e6931454434756e6931454435756e6931454436756e6931454437756e69314544
+38756e6931454439756e6931454441756e6931454442756e6931454443756e693145
+4444756e6931454445756e6931454446756e6931454530756e6931454531756e6931
+454532756e6931454533756e6931454534756e6931454535756e6931454536756e69
+31454537596772617665796772617665756e6931454634756e6931454635756e6931
+454636756e6931454637756e6931454638756e6931454639756e6931454641756e69
+31454642756e6931454643756e6931454644756e6931454645756e6931454646756e
+6931463030756e6931463031756e6931463032756e6931463033756e693146303475
+6e6931463035756e6931463036756e6931463037756e6931463038756e6931463039
+756e6931463041756e6931463042756e6931463043756e6931463044756e69314630
+45756e6931463046756e6931463130756e6931463131756e6931463132756e693146
+3133756e6931463134756e6931463135756e6931463138756e6931463139756e6931
+463141756e6931463142756e6931463143756e6931463144756e6931463230756e69
+31463231756e6931463232756e6931463233756e6931463234756e6931463235756e
+6931463236756e6931463237756e6931463238756e6931463239756e693146324175
+6e6931463242756e6931463243756e6931463244756e6931463245756e6931463246
+756e6931463330756e6931463331756e6931463332756e6931463333756e69314633
+34756e6931463335756e6931463336756e6931463337756e6931463338756e693146
+3339756e6931463341756e6931463342756e6931463343756e6931463344756e6931
+463345756e6931463346756e6931463430756e6931463431756e6931463432756e69
+31463433756e6931463434756e6931463435756e6931463438756e6931463439756e
+6931463441756e6931463442756e6931463443756e6931463444756e693146353075
+6e6931463531756e6931463532756e6931463533756e6931463534756e6931463535
+756e6931463536756e6931463537756e6931463539756e6931463542756e69314635
+44756e6931463546756e6931463630756e6931463631756e6931463632756e693146
+3633756e6931463634756e6931463635756e6931463636756e6931463637756e6931
+463638756e6931463639756e6931463641756e6931463642756e6931463643756e69
+31463644756e6931463645756e6931463646756e6931463730756e6931463731756e
+6931463732756e6931463733756e6931463734756e6931463735756e693146373675
+6e6931463737756e6931463738756e6931463739756e6931463741756e6931463742
+756e6931463743756e6931463744756e6931463830756e6931463831756e69314638
+32756e6931463833756e6931463834756e6931463835756e6931463836756e693146
+3837756e6931463838756e6931463839756e6931463841756e6931463842756e6931
+463843756e6931463844756e6931463845756e6931463846756e6931463930756e69
+31463931756e6931463932756e6931463933756e6931463934756e6931463935756e
+6931463936756e6931463937756e6931463938756e6931463939756e693146394175
+6e6931463942756e6931463943756e6931463944756e6931463945756e6931463946
+756e6931464130756e6931464131756e6931464132756e6931464133756e69314641
+34756e6931464135756e6931464136756e6931464137756e6931464138756e693146
+4139756e6931464141756e6931464142756e6931464143756e6931464144756e6931
+464145756e6931464146756e6931464230756e6931464231756e6931464232756e69
+31464233756e6931464234756e6931464236756e6931464237756e6931464238756e
+6931464239756e6931464241756e6931464242756e6931464243756e693146424475
+6e6931464245756e6931464246756e6931464330756e6931464331756e6931464332
+756e6931464333756e6931464334756e6931464336756e6931464337756e69314643
+38756e6931464339756e6931464341756e6931464342756e6931464343756e693146
+4344756e6931464345756e6931464346756e6931464430756e6931464431756e6931
+464432756e6931464433756e6931464436756e6931464437756e6931464438756e69
+31464439756e6931464441756e6931464442756e6931464444756e6931464445756e
+6931464446756e6931464530756e6931464531756e6931464532756e693146453375
+6e6931464534756e6931464535756e6931464536756e6931464537756e6931464538
+756e6931464539756e6931464541756e6931464542756e6931464543756e69314645
+44756e6931464545756e6931464546756e6931464632756e6931464633756e693146
+4634756e6931464636756e6931464637756e6931464638756e6931464639756e6931
+464641756e6931464642756e6931464643756e6931464644756e6931464645656e71
+756164656d71756164656e7370616365656d73706163657468726565706572656d73
+70616365666f7572706572656d7370616365736978706572656d7370616365666967
+757265737061636570756e6374756174696f6e73706163657468696e737061636568
+61697273706163657a65726f7769647468737061636568797068656e74776f687970
+68656e6e6f627265616b686f72697a6f6e74616c626172756e6932303136756e6465
+7273636f726564626c71756f7465726576657273656471756f746564626c72657674
+7269616e676c6562756c6c657468797068656e646f74756e69323032467065727465
+6e74686f7573616e646d696e7574657365636f6e647072696d65747269706c657072
+696d657265766572736564756e6932303336756e6932303337756e69323033426578
+636c616d64626c696e746572726f62616e67756e6932303345756e69323034327175
+657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c616d6578636c
+616d5f7175657374696f6e756e6932303441756e6932303442756e69323034467a65
+726f2e7375706572696f72692e7375706572696f72666f75722e7375706572696f72
+666976652e7375706572696f727369782e7375706572696f72736576656e2e737570
+6572696f7265696768742e7375706572696f726e696e652e7375706572696f72706c
+75732e7375706572696f726d696e75732e7375706572696f72657175616c2e737570
+6572696f72706172656e6c6566742e7375706572696f72706172656e72696768742e
+7375706572696f726e2e7375706572696f727a65726f2e696e666572696f726f6e65
+2e696e666572696f7274776f2e696e666572696f7274687265652e696e666572696f
+72666f75722e696e666572696f72666976652e696e666572696f727369782e696e66
+6572696f72736576656e2e696e666572696f7265696768742e696e666572696f726e
+696e652e696e666572696f72706c75732e696e666572696f726d696e75732e696e66
+6572696f72657175616c2e696e666572696f72706172656e6c6566742e696e666572
+696f72706172656e72696768742e696e666572696f72612e696e666572696f72652e
+696e666572696f726f2e696e666572696f72782e696e666572696f72756e69323039
+34756e6932303938756e6932303939756e69323041326672616e636c697261706573
+657461756e6932304138646f6e674575726f756e69323041467065736f756e693231
+3030756e6932313031756e693231303263656e746967726164656166696936313234
+38756e693231303666616872656e68656974756e6932313043756e6932313044756e
+6932313045756e6932313046496672616b747572616669693631323839756e693231
+31356e756d65726f756e6932313139756e6932313141526672616b747572756e6932
+313144756e6932313230756e6932313234756e69323132364f6d656761696e766573
+74696d61746564616c657068756e6932313336756e6932313337756e693231333875
+6e6932313339756e69323134466f6e65666966746874776f66696674687374687265
+65666966746873666f75726669667468736f6e657369787468666976657369787468
+736f6e656e756d657261746f724f6e65726f6d616e54776f726f6d616e5468726565
+726f6d616e466f7572726f6d616e46697665726f6d616e536978726f6d616e536576
+656e726f6d616e4569676874726f6d616e4e696e65726f6d616e54656e726f6d616e
+456c6576656e726f6d616e5477656c7665726f6d616e756e6932313643756e693231
+3644756e6932313645756e69323136466f6e65726f6d616e74776f726f6d616e7468
+726565726f6d616e666f7572726f6d616e66697665726f6d616e736978726f6d616e
+736576656e726f6d616e6569676874726f6d616e6e696e65726f6d616e74656e726f
+6d616e656c6576656e726f6d616e7477656c7665726f6d616e756e6932313743756e
+6932313744756e6932313745756e6932313746756e6932313830756e693231383175
+6e6932313832756e6932313833756e69323138346172726f776c6566746172726f77
+75706172726f7772696768746172726f77646f776e6172726f77626f74686172726f
+777570646e756e6932313936756e6932313937756e6932313938756e693231393975
+6e6932313941756e6932313942756e69323141366172726f777570646e627365756e
+6932314145756e6932314243756e6932314244756e6932314330756e693231433175
+6e6932314342756e6932314343756e6932314344756e6932314345756e6932314346
+6172726f7764626c6c6566746172726f7764626c75706172726f7764626c72696768
+746172726f7764626c646f776e6172726f7764626c626f7468756e69323144354e77
+6172726f774e656172726f7753656172726f7753776172726f77756e697665727361
+6c756e69323230317061727469616c646966666578697374656e7469616c756e6932
+323034656d707479736574756e69323230366772616469656e74656c656d656e746e
+6f74656c656d656e74756e69323230417375636874686174756e6932323043756e69
+3232304470726f64756374756e693232313073756d6d6174696f6e756e6932323133
+756e6932323134756e6932323135756e6932323136617374657269736b6d61746875
+6e6932323138756e69323231397261646963616c756e6932323142756e6932323143
+70726f706f7274696f6e616c696e66696e697479756e6932323146616e676c65756e
+6932323231756e6932323232756e6932323233756e6932323234756e693232323575
+6e69323232366c6f676963616c616e646c6f676963616c6f72696e74657273656374
+696f6e756e696f6e696e74656772616c756e6932323243756e6932323244756e6932
+323245756e693232333673696d696c6172756e6932323431636f6e677275656e7461
+7070726f78657175616c756e6932323439756e69323235396e6f74657175616c6571
+756976616c656e6365756e69323236326c657373657175616c677265617465726571
+75616c756e6932323641756e6932323642756e6932323645756e6932323646756e69
+32323730756e693232373170726f70657273756273657470726f7065727375706572
+7365746e6f74737562736574756e6932323835636972636c65706c7573756e693232
+3936636972636c656d756c7469706c79756e6932323938756e6932324132756e6932
+324133756e693232413470657270656e646963756c6172756e6932324136756e6932
+324236756e6932324237646f746d617468756e6932324545756e6932324546756e69
+32333030756e6932333032756e6932333033756e6932333130756e6932333230756e
+6932333231756e6932333236756e6932333237756e6932333239756e693233324175
+6e6932333242756e6932333744756e6932333830756e6932334433756e6932343233
+756e6932343630756e6932343631756e6932343632756e6932343633756e69323436
+34756e6932343635756e6932343636756e6932343637756e6932343638756e693234
+3639756e6932343641756e6932343642756e6932343643756e6932343644756e6932
+343645756e6932343646756e6932343730756e6932343731756e6932343732756e69
+32343733756e6932343734756e6932343735756e6932343736756e6932343737756e
+6932343738756e6932343739756e6932343741756e6932343742756e693234374375
+6e6932343744756e6932343745756e6932343746756e6932343830756e6932343831
+756e6932343832756e6932343833756e6932343834756e6932343835756e69323438
+36756e6932343837756e6932344236756e6932344237756e6932344238756e693234
+4239756e6932344241756e6932344242756e6932344243756e6932344244756e6932
+344245756e6932344246756e6932344330756e6932344331756e6932344332756e69
+32344333756e6932344334756e6932344335756e6932344336756e6932344337756e
+6932344338756e6932344339756e6932344341756e6932344342756e693234434375
+6e6932344344756e6932344345756e6932344346756e6932344430756e6932344431
+756e6932344432756e6932344433756e6932344434756e6932344435756e69323444
+36756e6932344437756e6932344438756e6932344439756e6932344441756e693234
+4442756e6932344443756e6932344444756e6932344445756e6932344446756e6932
+344530756e6932344531756e6932344532756e6932344533756e6932344534756e69
+32344535756e6932344536756e6932344537756e6932344538756e6932344539756e
+6932344541756e6932344542756e6932344543756e6932344544756e693234454575
+6e6932344546756e6932344630756e6932344631756e6932344632756e6932344633
+756e6932344634756e6932344635756e6932344636756e6932344637756e69323446
+38756e6932344639756e6932344641756e6932344642756e6932344643756e693234
+4644756e6932344645756e693234464666696c6c6564626f78483232303733747269
+61677570756e6932354233756e6932354236756e69323542377472696167646e756e
+6932354244756e6932354330756e6932354331756e6932354336756e693235433775
+6e69323543396c6f7a656e6765626967636972636c65756e69323543454831383533
+33756e6932354430756e6932354431756e6932354432756e6932354433756e693235
+4434756e6932354435756e6932354436756e69323544376f70656e62756c6c657475
+6e6932363035756e6932363039756e6932363139756e6932363142756e6932363145
+756e6932363237756e6932363246756e6932363339756e6932363341756e69323633
+42756e6932363343756e6932363344756e6932363345756e693236334666656d616c
+65756e69323634316d616c65756e6932363433756e6932363434756e693236343575
+6e6932363436756e6932363437756e6932363438756e6932363439756e6932363441
+756e6932363442756e6932363443756e6932363444756e6932363445756e69323634
+46756e6932363530756e6932363531756e6932363532756e6932363533756e693236
+3630756e6932363633756e6932363635756e6932363636756e69323636396d757369
+63616c6e6f74656d75736963616c6e6f746564626c756e6932363643756e69323636
+44756e6932363645756e6932363646756e6932363935756e6932363938756e693236
+4132756e6932364133756e6932364134756e6932364135756e69323641436d617272
+6965646469766f72636564756e6932364146756e6932373134756e69323731386469
+6564756e6932373637756e6932373736756e6932373737756e6932373738756e6932
+373739756e6932373741756e6932373742756e6932373743756e6932373744756e69
+32373745756e6932373746756e6932374332756e6932374536756e6932374537756e
+6932433630756e6932433631756e6932433632756e6932433633756e693243363475
+6e6932433635756e6932433636756e6932433637756e6932433638756e6932433639
+756e6932433641756e6932433642756e6932433643756e6932433734756e69324337
+35756e6932433736756e6932433737756e6932453032756e6932453033756e693245
+3034756e6932453035756e6932453038756e6932453039756e6932453041756e6932
+453137756e6932453138756e6941373144756e6941373230756e6941373231756e69
+41373635547578756e6945303031756e6945303032756e6945303033756e69453030
+34756e6945303035756e6945303036756e6945303037756e6945303038756e694530
+3039756e6945303041756e6945303042636f70796c6566747075626c6963646f6d61
+696e6372656174697665636f6d6d6f6e737a65726f2e736c6173686669747465647a
+65726f2e6669747465646f6e652e66697474656474776f2e66697474656474687265
+652e666974746564666f75722e666974746564666976652e6669747465647369782e
+666974746564736576656e2e66697474656465696768742e6669747465646e696e65
+2e6669747465644575726f2e66697474656459656e2e666974746564756e69453031
+43612e616c74756e694530314570657274686f7573616e647a65726f7a65726f2e6f
+6c647374796c656f6e652e6f6c647374796c6574776f2e6f6c647374796c65746872
+65652e6f6c647374796c65666f75722e6f6c647374796c65666976652e6f6c647374
+796c657369782e6f6c647374796c65736576656e2e6f6c647374796c656569676874
+2e6f6c647374796c656e696e652e6f6c647374796c654164696572657369732e616c
+744f64696572657369732e616c745564696572657369732e616c74572e616c74665f
+6a745f74635f746c6f6e67735f69756e6945303430756e6945303431756e69453034
+32515f75545f68712e7375706572696f72756e6945304639756e6945304642756e69
+45304643756e6945304644756e6945304645756e69453046466b72656973756e6945
+313031756e6945313034756e6945313035756e6945313036756e69453130377a6572
+6f2e6361706f6e652e63617074776f2e63617074687265652e636170666f75722e63
+6170666976652e6361707369782e636170736576656e2e63617065696768742e6361
+706e696e652e6361707a65726f2e7461626f6c647374796c656f6e652e7461626f6c
+647374796c6574776f2e7461626f6c647374796c6574687265652e7461626f6c6473
+74796c65666f75722e7461626f6c647374796c65666976652e7461626f6c64737479
+6c657369782e7461626f6c647374796c65736576656e2e7461626f6c647374796c65
+65696768742e7461626f6c647374796c656e696e652e7461626f6c647374796c6575
+6e6945313238756e6945313239756e6945313241756e69453133306c656166622e69
+6e666572696f72632e696e666572696f72642e696e666572696f72662e696e666572
+696f72672e696e666572696f72682e696e666572696f72692e696e666572696f726a
+2e696e666572696f726b2e696e666572696f726c2e696e666572696f726d2e696e66
+6572696f726e2e696e666572696f72702e696e666572696f72712e696e666572696f
+72722e696e666572696f72732e696e666572696f72742e696e666572696f72752e69
+6e666572696f72762e696e666572696f72772e696e666572696f72792e696e666572
+696f727a2e696e666572696f7267726176652e63617061637574652e636170636972
+63756d666c65782e6361706361726f6e2e63617062726576652e63617068756e6761
+72756d6c6175742e63617073706163655f756e69303330462e636170627265766569
+6e766572746564636d622e63617062726576652e63797263617062726576652e6379
+7264696572657369732e636170686f6f6b61626f7665636f6d622e636170646f7461
+6363656e742e6361706d65747269637a65726f2e736c617368706172656e6c656674
+2e7363706172656e72696768742e7363627261636b65746c6566742e736362726163
+6b657472696768742e736362726163656c6566742e7363627261636572696768742e
+73636578636c616d646f776e2e73637175657374696f6e646f776e2e73636775696c
+6c656d6f746c6566742e73636775696c6c656d6f7472696768742e73636775696c73
+696e676c6c6566742e73636775696c73696e676c72696768742e736368797068656e
+2e636170756e6946364245665f66665f69665f6c665f665f696c6f6e67735f74735f
+74756e69464646447531443533387531443533397531443533427531443533437531
+44353344753144353345753144353430753144353431753144353432753144353433
+75314435343475314435343675314435343775314435344175314435344275314435
+3443753144353444753144353445753144353446753144353530352e312e334c696e
+7578204c6962657274696e65206279205068696c69707020482e20506f6c6c2c0a4f
+70656e20466f6e7420756e646572205465726d73206f6620666f6c6c6f77696e6720
+4672656520536f667477617265204c6963656e7365733a0a47504c202847656e6572
+616c205075626c6963204c6963656e736529207769746820666f6e742d6578636570
+74696f6e20616e64204f464c20284f70656e20466f6e74204c6963656e7365292e0a
+43726561746564207769746820466f6e74466f7267652028687474703a2f2f666f6e
+74666f7267652e73662e6e6574290a5365707420323030332c20323030342c203230
+30352c20323030362c20323030372c20323030382c20323030392c20323031302c20
+323031312c323031324c696e7578204c6962657274696e6520446973706c6179204f
+4c696e7578204c6962657274696e6520446973706c6179204f000000000100020003
+000400050006000700680009000a000b000c000d000e000f00100011001200130014
+00150016001700180019001a001b001c001d001e001f002000210022002300240025
+0026002700280029002a002b002c002d002e002f0030003100320033003400350036
+003700380039003a003b003c003d003e003f0040007c004200430044004500460047
+00480049004a004b004c004d004e004f005000510052005300540055005600570058
+0059005a005b005c005d005e005f01870060006100620067006400a00066008300aa
+008b006a0097018800a5008000a1009c0189018a007d018b018c00720085018d008f
+0078009e009b00a3007b00ae00ab00ac00b000ad00af008a00b100b500b200b300b4
+00b900b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d00c400c100c200c3
+00c5009d009500cb00c800c900cd00ca00cc009000ce00d200cf00d000d100d600d3
+00d400d500a700d700db00d800d900dc00da009f009300e100de00df00e000e200a2
+00e3018e018f0190019101920193019401950196019701980199019a019b019c019d
+019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae
+01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd01be0091
+01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc01cd008c0092
+01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db01dc008e0094
+01dd01de01df01e001e101e201e301e401e501e601e701e800c000dd01e901ea01eb
+01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc
+01fd01fe00c601ff02000201020200c700e40203020402050206020702080209020a
+020b020c020d020e020f0210021102120213021402150216021702180219021a021b
+021c021d021e021f0220022102220223022402250226022702280229022a022b022c
+022d022e022f0230023102320233023402350236023702380239023a023b023c023d
+023e023f0240024102420243024402450246024702480249024a024b024c024d024e
+024f0250025102520253025402550256025702580259025a025b025c025d025e025f
+0260026102620263026402650266026702680269026a026b026c026d026e026f0270
+027102720273027402750276027702780279027a027b027c027d027e027f02800281
+0282028302840285007e00880286028702880289028a028b028c028d028e028f0290
+029102920293029402950081008200840087007f00860296029702980299029a029b
+029c029d029e029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac
+02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd
+02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce
+02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc02dd02de02df
+02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f0
+02f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe02ff03000301
+03020303030403050306030703080309030a030b030c030d030e030f031003110312
+0313031403150316031703180319031a031b031c031d031e031f0320032103220323
+032403250326032703280329032a032b032c032d032e032f03300331033203330334
+03350336033703380339033a033b033c033d033e033f034003410342034303440345
+0346034703480349034a034b034c034d034e034f0350035103520353035403550356
+035703580359035a035b035c035d035e035f03600361036200980363036403650366
+036703680369036a036b036c036d036e036f03700371037203730374037503760377
+03780379037a037b037c037d037e037f038003810382038303840385038603870388
+0389038a038b038c038d038e038f0390039103920393039403950396039703980399
+039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa
+03ab03ac03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb
+03bc03bd03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc
+03cd03ce03cf03d003d103d203d303d403d503d603d703d803d903da03db03dc03dd
+03de03df03e003e103e203e303e403e503e603e703e803e903ea03eb03ec03ed03ee
+03ef03f003f103f203f303f403f503f603f703f803f903fa03fb03fc03fd03fe03ff
+0400040104020403040404050406040704080409040a040b040c040d040e040f0410
+041104120413041404150416041704180419041a041b041c041d041e041f04200421
+04220423042404250426042704280429042a042b042c042d042e042f043004310432
+0433043404350436043704380439043a043b043c043d043e043f0440044104420443
+044404450446044704480449044a044b044c044d044e044f04500451045204530454
+04550456045704580459045a045b045c045d045e045f046004610462046304640465
+0466046704680469046a046b046c046d046e046f0470047104720473047404750476
+047704780479047a047b047c047d047e047f04800481048204830484048504860487
+04880489048a048b048c048d048e048f049004910492049304940495049604970498
+0499049a049b049c049d049e049f04a004a104a204a304a404a504a604a704a804a9
+04aa04ab04ac04ad04ae04af04b004b104b204b304b404b504b604b704b804b904ba
+04bb04bc04bd04be04bf04c004c104c204c304c404c504c604c704c804c904ca04cb
+04cc04cd04ce04cf04d004d104d204d304d404d504d604d704d804d904da04db04dc
+04dd04de04df04e004e104e204e304e404e504e604e704e804e904ea04eb04ec04ed
+04ee04ef04f004f104f204f304f404f504f604f704f804f904fa04fb04fc04fd04fe
+04ff0500050105020503050405050506050705080509050a050b050c050d050e050f
+0510051105120513051405150516051705180519051a051b051c051d051e051f0520
+052105220523052405250526052705280529052a052b052c052d052e052f05300531
+05320533053405350536053705380539053a053b053c053d053e053f054005410542
+0543054405450546054705480549054a054b054c054d054e054f0550055105520553
+055405550556055705580559055a055b055c055d055e055f05600561056205630564
+05650566056705680569056a056b056c056d056e056f057005710572057305740575
+0576057705780579057a057b057c057d057e057f0580058105820583058405850586
+058705880589058a058b058c058d058e058f05900591059205930594059505960597
+05980599059a059b059c059d059e059f05a005a105a205a305a405a505a605a705a8
+05a905aa05ab05ac05ad05ae05af05b005b105b205b305b405b505b605b705b805b9
+05ba05bb05bc05bd05be05bf05c005c105c205c305c405c505c605c705c805c905ca
+05cb05cc05cd05ce05cf05d005d105d205d305d405d505d605d705d805d905da05db
+05dc05dd05de05df05e005e105e205e305e405e505e605e705e805e905ea05eb05ec
+05ed05ee05ef05f005f105f205f305f405f505f605f705f805f905fa05fb05fc05fd
+05fe05ff0600060106020603060406050606060706080609060a060b060c060d060e
+060f0610061106120613061406150616061706180619061a061b061c061d061e061f
+0620062106220623062406250626062706280629062a062b062c062d062e062f0630
+063106320633063406350636063706380639063a063b063c063d063e063f06400641
+06420643064406450646064706480649064a064b064c064d064e064f065006510652
+0653065406550656065706580659065a065b065c065d065e065f0660066106620663
+066406650666066706680669066a066b066c066d066e066f06700671067206730674
+06750676067706780679067a067b067c067d067e067f068006810682068306840685
+0686068706880689068a068b068c068d068e068f0690069106920693069406950696
+069706980699069a069b069c069d069e069f06a006a106a206a306a406a506a606a7
+06a806a906aa06ab06ac06ad06ae06af013a006f008906b006b106b2004100080075
+06b300690077007606b400700071007406b500ee00ed007906b606b7007a06b806b9
+06ba06bb06bc06bd06be006b006c06bf06c006c106c206c3006306c406c506c606c7
+06c806c906ca06cb06cc06cd06ce06cf06d006d106d206d306d406d506d606d706d8
+06d906da06db06dc06dd06de06df06e006e106e206e306e406e506e606e706e806e9
+06ea06eb06ec06ed06ee06ef06f006f106f206f306f406f506f606f706f806f906fa
+06fb06fc06fd06fe06ff0700070107020703070407050706070707080709070a0099
+070b070c070d070e070f071007110712071307140144014507150716071707180719
+071a0140014101420143071b071c071d071e071f0720072107220723072407250726
+072707280729072a072b072c072d072e072f07300731073207330734073507360737
+07380739073a073b073c073d073e073f074007410742074307440745074607470748
+0749074a074b074c074d074e074f0750075107520753075407550756075707580759
+075a075b075c075d075e075f0760076107620763076407650766076707680769076a
+076b076c076d076e076f077007710772077300a6077407750776077707780779077a
+077b077c077d077e077f0780078107820783078407850786078707880789078a078b
+078c078d078e078f0790079107920793079407950796079707980799079a079b079c
+079d079e079f07a007a107a207a307a407a507a607a707a807a907aa07ab07ac07ad
+07ae07af07b007b107b207b307b407b507b607b707b807b907ba07bb07bc07bd07be
+07bf07c007c107c207c307c407c507c607c707c807c907ca07cb07cc07cd07ce07cf
+07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd07de07df07e0
+07e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee07ef07f007f1
+07f207f307f407f507f607f707f807f907fa07fb07fc07fd07fe07ff080008010802
+0803080408050806080708080809080a080b080c080d080e080f0810081108120813
+081408150816081708180819081a081b081c081d081e081f08200821082208230824
+08250826082708280829082a082b082c082d082e082f083008310832083308340835
+0836083708380839083a083b083c083d083e083f0840084108420843084408450846
+084708480849084a084b084c084d084e084f08500851085208530854085508560857
+08580859085a085b085c085d085e085f086008610862086308640865086608670868
+0869086a086b086c086d086e086f0870087108720873087408750876087708780879
+087a087b087c087d087e087f0880088108820883088408850886088708880889088a
+088b088c088d088e088f0890089108920893089408950896089708980899089a089b
+089c089d089e089f08a008a108a208a308a408a508a608a708a808a908aa08ab08ac
+08ad08ae08af08b008b108b208b308b408b508b608b708b808b908ba08bb08bc08bd
+08be08bf08c008c108c208c308c408c508c608c708c808c908ca08cb08cc08cd08ce
+08cf08d008d108d208d308d408d508d608d708d808d908da08db08dc08dd08de08df
+08e008e108e208e308e408e508e608e708e808e908ea08eb08ec08ed08ee08ef08f0
+08f108f208f308f408f508f608f708f808f908fa08fb08fc08fd08fe08ff09000901
+09020903090409050906090709080909090a090b090c090d090e090f091009110912
+0913091409150916091709180919091a091b091c091d091e091f0920092109220923
+092409250926092709280929092a092b092c092d092e092f09300931093209330934
+09350936093709380939093a093b093c093d093e093f094009410942094309440945
+0946094709480949094a094b094c094d094e094f0950095109520953095409550956
+095709580959095a095b095c095d095e095f08c00300000100004e00005100006a00
+00840000e10002dd00030f0004920004a30004f600054b0005550005660005790005
+8b0005990005ae0005c90006e00006ff0007220007430007590007840007a60007d1
+0007fc0008130008360008430008560008630008850009910009ae0009e90009fd00
+0a1a000a5b000b54000c23000c3c000c50000c6b000c81000cac000cbe000cdb000c
+f8000d17000d38000d5e000eb0000f97000fac000fbc000fcf000fe1000ff4001017
+00104f00106300109b0010ae0010cd0010e000110600112500113a00115b00117a00
+12f30013d90013f30014150014400014590014700014900014ac0014c700153f0016
+2a00164300166b0016940016aa0016bc0016cc0016db0016eb0017040017e70017fc
+0018d90018ec0018ef00191d001aa1001b56001bd1001ccd001ce5001e4f001e6600
+1f36001f53001f61001fa5001fb700207600209b0020b80020d000212e0021510021
+600022010022fc00230f0023230023380023730023810023a90024520024900024cb
+00252800255100257a0025b50025ec0027220027aa0027c600281c0028720028c800
+293300295600297900299c0029d30029f3002a2d002a58002a84002ab0002aef002b
+21002b55002b7d002ba1002bc5002be9002c1e002c40002d0e002e1c002e4f002e82
+002eb2002ef7002f38002f79002fad002fcc002ff500301e00304400307f00309c00
+30ba0030d50031000031b60031ec00321200323800325b0032940032c80033bb0033
+f500341500343500345200348300349d00354700356b0035950035c90035fd00363a
+0037ab0039090039260039460039630039800039a10039c30039e10039ff003a2c00
+3a62003a82003aaf003b06003b2e003b9a003bcf003c21003c4b003d2d003e23003e
+7a003ea0003ed6003f42003f88003ff60040370040a70040ec00415e0041830041a4
+00436400456000459400466b00468f0046e60047190047a30048d9004a3e004a5e00
+4b3a004c72004cbb004cdf004d03004d30004d5d004fe000501d00503b0050840050
+d80051960052ad0052f400532c0054460055840055aa0055d3005605005632005659
+0056800056ad0057e70059be0059ea005a0f005a48005a75005aa9005ad7005c5600
+5d0b005d40005d6a005da7005dd0005e05005e2d005e71005ea2005ee6005f150060
+dd0061ae0061f20062220063620064670064a50064d80065c30066f500672d006769
+00678e0067ae0067df00680a0068e7006a16006aa0006ac8006c11006da8006e2500
+6e3d006ebd006ed4006f34006f63006f89006fcd006ff400702e0070540071a10071
+d00071f800720e00722e00726600727f0072ed0073330073c400751c00757e0075c4
+00770d00782900787000789a0078cb0078ef00790a00793600795a00797f00799d00
+79dc007a1b007ad3007bac007c73007d42007def007eb8007ed9007f1d007f6a007f
+cc0080100080820080ca0081b700831700834d0083be0083e300840600843700845a
+0084950084c20084ea0085750085a500861a0086500086bf0086e500870f0088a700
+89a7008a18008a62008a9b008ae0008b6e008ba8008bde008c1a008d1b008d4b008d
+af008de6008eb7008f2c008f61008fe100901300904100907b0090aa00912c00915d
+0091970091c80092390092610092940093a10093eb00942800946d00949e0094c400
+94e600951800954d0095d40095ff00963e00967c00971400975800978f0097b70098
+1400984500988100989a0098af00996f009a5a009b10009b3a009bfa009c7c009d0d
+009da9009db8009e88009ed7009ef2009f25009f38009f4b009f93009fe000a03200
+a08300a0a100a0bf00a0d200a0f500a10300a10e00a14f00a16200a17600a18900a1
+9700a1aa00a1bd00a1d000a1ee00a1fc00a24400a28a00a29c00a2ae00a2fe00a32d
+00a34300a35400a36e00a38000a39d00a3b800a40600a45400a50600a51a00a53f00
+a68400a70400a71f00a73e00a75f00a77e00a79900a7ae00a7c800a7e700a80300a8
+2100a86900a8b100a8ce00a8eb00a90400a96a00a9d300aa8f00aadb00aaf500ab27
+00ab5e00ab9200abc500ac0e00ac5500ac8700ac8f00ac9700aca900acf500ad0600
+ad2400ad3a00ad4b00ad6200ad7400ad8d00ad9c00ada500ade600ae0600ae6900ae
+9c00aeaf00aec100aed200af2c00af3d00af5000af6300afa500afe600b02100b054
+00b09a00b0ab00b0bb00b10900b13300b16400b19200b1a500b1c100b1d900b1eb00
+b1fc00b20d00b21f00b23c00b29600b2bf00b2ec00b2ff00b31300b32c00b33e00b3
+4a00b36500b37f00b39000b39c00b3b900b3ec00b43200b47a00b49d00b4f800b581
+00b68e00b6a300b6b500b6c700b6e200b6f300b74200b75400b77100b78600b7a000
+b7dc00b8f500b9b400ba4400ba9800bacd00bb1400bb5a00bb8700bc1800bc3700bc
+5600bcc000bcd300bce400bd6b00be2700be8e00be9900bea700beb400bec100bf08
+00bf3900bf6900bfef00c04100c0b000c0e800c17300c21600c2c700c37500c4af00
+c52a00c58900c61500c71900c76600c79900c7ab00c7bf00c7e100c80400c82700c8
+3600c85b00c8b300c8c700c91600c93700c95200c97600c99200c9c600c9fb00ca18
+00ca5300ca7d00cabb00cafd00cb2000cb3900cbdc00cbf000cc0500cce500ccf700
+cd1400ce6f00ce8c00ceb500cedf00cfef00d01a00d02d00d14100d15a00d2ce00d2
+f900d33000d39200d3c500d3f300d41e00d43900d47500d49b00d5af00d65500d75a
+00d77e00d82900d84700d8a100d8b400da1e00da9000db4000dbb100dc9100dcac00
+dd3100dd4f00ddc600deff00df6100df7900dffb00e07e00e15000e16900e19100e1
+be00e1e200e20200e22300e2ab00e34f00e36300e37e00e44500e61600e6a600e8e4
+00e9dc00ea9f00eb3300ebbc00ec9e00ed2400edaa00edd000ee5a00eeb300ef4700
+efbe00efd200effd00f0fa00f15900f1bc00f24400f25700f2c100f2d400f2f700f3
+1b00f3a500f41000f4fa00f52f00f5b600f5ec00f60000f63700f6ea00f7d900f981
+00fad900fbfa00fc1b00fc3f00fdae00fdcb00feb000feeb00ff1501005c01009e01
+017701019f0101b70101dd01035d01047e0104900104a90104c60104ef0105190105
+2d01055d01057001073c01075501082d010988010a5e010b5a010c00010cbf010d48
+010de6010e8c010fa7010fcd0110470111120111c10112830112a20112c30112e801
+12ff0114a801153e01163e0117a401196d011988011af0011be4011bf9011c6f011c
+7f011d54011d63011ed7011ef00120bc01228201235801238f01246d0124cc0125fb
+0126b60126df01271a0127f60128b501293301295b012a1c012adc012b68012cba01
+2e63012f9501303a0130570130770131eb01320801322901330f0133bd0135330136
+5d01373c0137db01397f013a9c013b99013c92013e5f013fed0140df0141b10142d2
+0144380144740145a10145c30145df01465a01468a01470201482401484501486601
+48b9014954014a08014b00014c82014d04014d70014de2014ec2014fc70150f60152
+1d01537b01545001550601565301571d015927015a50015c38015d80015edd01602e
+0161090161d601633e01654101663f01682501698b016ad1016bc6016ca4016d2301
+6d98016dab016e6c016fd10170b70172040173310174160174e70175960176490178
+06017a02017abd017ba0017c48017cf1017e20017f4d017f6101804e0181340182b4
+0183d70184b90185840186bd01889001893d0189f0018a24018a85018abc018afd01
+8b5e018b92018bf7018c2c018c49018c6a018c99018ccf018e3f018e76018eb1018e
+ec018eef018ef2018f14018f34018f5d01910b01914701917b0191b7019254019320
+0193d601948c0194fd01951d01953701955e0195820195a60195c801973801977f01
+97fc0198710198c101990f01992701995d0199830199ab0199bc0199d40199fb019a
+0e019a1c019a2b019a3a019a67019a78019a8c019aa4019ab7019aca019adb019aea
+019b2e019b83019bab019bbf019be2019bff019c9b019cb6019d13019d9b019e3601
+9e49019e94019eda019f68019fd701a06b01a0ca01a12701a18101a3cc01a46e01a5
+2401a5ba01a69001a70801a74801a81d01a8b601a8e601a91101a92d01a94101a95e
+01a97b01aa3001aa4f01aa7801aa9a01aabb01ab1f01abb101ad3001af4601af8301
+afd901b09a01b0dd01b10501b32801b33b01b35501b41a01b42e01b46701b4a801b4
+fc01b52501b57001b59901b5e401b60d01b63201b65c01b69201b6fb01b73401b760
+01b78e01b7ba01b8a501b9c401b9ee01ba1601bae101bb9f01bc7901bd4601bd9a01
+bdc001be2c01be6601bf0801bf4701c05d01c1e501c21b01c28b01c2be01c2e201c3
+1101c33501c36a01c3bc01c53501c6ec01c72001c75101c78601c7c601c88301c8c5
+01c8e901c90e01c93901c96401c98a01c9af01c9f601ca1c01ca6c01ca9c01cadb01
+cafd01cb8901cba701cc0101cc2e01cc5601cc8501ccac01ccdb01cd0c01cd3601cd
+6601cd9001cdb801cde201ce0601ce2d01cf9001d07001d10601d15601d1f601d2c1
+01d3af01d47e01d4b301d4e801d51f01d55501d58b01d69701d6cd01d6f301d73501
+d76801d79e01d7c901d81001d84b01d89201d8c801da0c01daad01db0001db9b01db
+f401dc3701dc7501dca201dcdf01dd0d01dd4c01dd7901ddb401ddde01de1301de43
+01de7c01deb001ded201deee01e0bf01e1a801e2e501e32101e37701e3a401e3cc01
+e3ed01e44001e45601e4b001e4ca01e51201e53701e57901e59801e5c001e5df01e6
+1501e63201e69a01e6be01e6ee01e70c01e74301e76601e7aa01e7d201e80d01e833
+01e85701e88c01e8b101e8d601e91201ea6d01ec4e01ee0301ef7301efff01f03001
+f06501f1f101f22e01f35a01f43401f4e001f5a201f62f01f67301f7ae01f7f801f8
+3101f86c01f92601f97f01fa2e01fb1501fb5701fba601fd1201fd8701fdc601fe0b
+01fe6b01fe9401fef901ff2801ff9401ffcd02011a02015402022a0203630203df02
+050c0206760206b502071d02074c0207850207ad0207dd02080c0208420208690208
+a60208d20209f5020a2c020adb020b90020bd8020c12020d4e020d8c020dca020df7
+020e35020e6a020ea8020edd020f28020f69020fba02111702115b0211940211c202
+11e302121602123d0212960212ad0212dd0212fc0213350213580213b00213d80214
+cf0217620217b40218190218dd0219a20219dc021a15021a55021a94021acf021b0e
+021b6f021bd4021c0c021c44021cdc021d12021d49021d80021ddd021e39021e6c02
+1e9f021eda021f14021f4f021f8a021fe00220350220980221100221920221ef0222
+2102225202228a0222c20222fa0223330223970223f102241802244602247b0224af
+0224f202255d0225b502260d02265602267b0226a60226cd0226f902272202277302
+27c00227e10228090228370228640228920228c002291302296502298f0229b90229
+ea022a1e022a54022a8d022aba022ae7022b1c022b50022b85022bba022bde022c04
+022c31022c60022c94022ccb022d68022db6022f110230490231980232f502331d02
+334b02337f0233ab0233f00234240234760234cc02350b02354a0235910235e30236
+300236770236e002374802377b0237ae0237db02380902383302385e023878023893
+0238b70238db0238fa02391a02393b02395c0239ad0239fb023a53023aa7023b2a02
+3b7e023bf7023c6a023cbb023d0c023e03023e50023e9e023eec023f5b023fcb0240
+1002405202409d0240e102412c0241710241e302424b02428b0242ce024318024361
+0243b802446e0244d60245400245820245c202460b02464c0246a10246eb02475702
+47bd02480e02485f0248b802491c02497b0249d4024a4c024ac5024aff024b34024b
+75024baf024bf0024c40024ca7024cfa024d24024d4c024d74024da7024db1024dc3
+024dd6024e02024e41024e74024ea0024ed5024f1d024f7a024fca02501a02503b02
+505c02508b0250a60250c10251050251250251430251730251a80251e102523b0252
+5b0252950252b00252cb0252e502530002533b0253630253850253bb0253f7025423
+02544f02548d0254eb02554002557d0255990255b50255f202561502563a02564d02
+56810256ae0257330257710257ca0257ee02581802584d0258810258c10258d50258
+df0258e10258e40258e60258e90258ec0258ef0258f20258f50258f80258fb0258fe
+0258ff0259110259230259440259660259890259ac0259c70259e30259f8025a0e02
+5a22025a3e025a5c025a7a025ad8025b59025bcd025c8b025cac025cc3025cd1025c
+e7025d05025d15025d18025d77025e09025e1d025e37025e52025e65025e7e025e99
+025ea4025eaf025f44025f6b02611702612902663a0266510266940266cc02670202
+67500267fd02682e02684d0268790268910268a90268ca0268e60269130269330269
+4f0269650269850269920269a1026a79026a98026b1d026bc1026c3c026c50026c67
+026c87026cc3026cf0026d10026d2a026d3e026d5c026d68026d76026e01026e2102
+6e40026f84026fa5026fd80270000270d402716f0272de0274c30275fc0276320276
+cb0278620279e2027a4f027adf027be1027cb8027d0d027dca027ee3027f95028096
+0281100281fa0282b802832602844d0285580285e10286820287820288340289a202
+8ae5028b81028bac028c7f028cd3028cfb028d0f028d32028d4f028e2e028f2e028f
+6e028fc3028fee0290300290710290a20290d702912902916f0291c902922a02927d
+0292980293190293aa02947b0295670295fc0296ea0297e8029935029aa0029bcc02
+9d33029ea5029f39029ffa02a08302a15a02a22702a32f02a45302a5e102a5f302a7
+9b02a89502a9aa02ac0102ac1002ae5b02b0e702b0fe02b11302b13402b15402b1a8
+02b2b102b40302b45f02b4c702b50002b53902b57102b5a602b62002b69d02b76e02
+b83f02b91402b9e502ba5202babe02bafe02bb6402bc1202bc2302bc3102bc4302bc
+5202bc6e02bc8802bd2502bdf202be9002bed802bf1f02bf6702bfad02c02602c0ac
+02c1c402c2e602c3fe02c51202c53e02c58c02c66402c68d02c72802c88d02c8d502
+c91f02c96402ca7602cab302cafa02cc0e02cc4c02cd0f02cdd802ce3802ce4502ce
+7502cea602cebb02cecf02cee102cefe02cf1102cf1f02cf4f02cf7002cfcc02d027
+02d03d02d06302d17e02d2dc02d2ef02d33702d35402d3c502d3e602d40602d44f02
+d49a02d4af02d4cc02d4f302d6e402d6fc02d71002d7e902d80b02d90f02dac402db
+3002db9902dbb102dc4b02dc9802dce602dd2902dd3a02ddec02de9502df7d02e063
+02e09702e0cc02e16e02e21b02e2f202e37602e4cd02e57d02e59a02e5b702e5d402
+e5e502e60302e66902e6d002e6e302e70602e72802e88202e8b502e8d002e8e702e9
+1402e94702e9b202ea0402ea3802ea6902eada02eb0102eb8f02ebcd02ebeb02ed9b
+02ef5f02f0fb02f2d602f43b02f58f02f68902f71f02f87c02f8b902fa6c02fc3702
+fdda02ffbc03017e0302d90305c30306600307c70309b20309d50309f8030a1b030b
+7c030b9e030c2b030c4e030ce8030d59030d8a030eb3030ede030f0903107103109a
+03116b0311f00312910313620313930313ad0313c70313e10313fb03141503142f03
+144903146303147d0314f503150f0315290316990316b30316cd0316e70317290317
+4303175d0317770317910317ab03192903194303195d031977031a9e031ac6031ae8
+031b75031b9e031c6e031d5f031e53031ecf031f520320dd0320ff03232403240703
+243003251f03254703260c03268d0326f10327b20327d40327f6032947032a07032a
+29032b4a032ba1032c09032cbe032d31032d91032de9032e2d032e7f032f14032fa3
+03316503333c0334da0336f803388e0339e8033b1f033bc4033d1e033fde03401403
+402103403a03404903406503407303408e03409d0340b90340c90340e60340f60341
+2d0341520341780341930341e00341e90342040342360342670342990342bd0342e5
+0342fc03431303434a0343700343c4034aca034ba3034d13034efe034f9203512d03
+52ca03538c0353ff03545e0354be03554e0355b503561f03569803573a0357be0358
+910359560359b8035a30035ad2035b60035c1f035cc9035da0035e24035ee1035f53
+035ffc0361280361990361f403626c0362af0362d603630203635d0363b403642d03
+64880364e70365940366fa03676e0369a5036c41036e8d036f2a036f5a03715c0372
+2d0372d603735d0373f903746f037b71037bc2037c23037c92037cfd037d54037da7
+037de4037e2e037e7d037ebc037ecd037ef8037f250380830381ef0383950384bb03
+857803877a0388e30389b9038a67038b91038cb2038d31038da9038e5f038f0d038f
+bf03903c03904e03906203907c0390960390ef03912e03918a0391eb0393980393ea
+03941503943f0395fa0399bd039ae1039bfd039d24039d4b039d72039db2039dfb03
+9ffb03a10003a4a103a67e03a70e03a94f03abd803aceb03ad0603ae1e03ae3d03ae
+6003ae8103aea603aed103aef403af1f03af4a03b09803b1af03b35303b3fe03b5e2
+03b61a03b65903b6be03b6d403b6f903b75103b77603b7a103b7b303b7de03b80703
+b83e03b87a03b8ae03ba8803bb9303bca703bdbb03bff003c74c03c81603ce4503d0
+f703d31303d3bb03d47c03d4a503d4a803d4ab03d4ae03d4b103d4cb03d52303d5c8
+03d80103d8c203d9cf03da2d03da8e03db1703db9c03dc2c03dca903dd6903ddc503
+de5d03df1d03df5e03dfc203dfd703dffb03e15703e18103e1ac03e1bd03e1e803e2
+1103e23703e27403e2c603e2d803e43a03e45903e47103e49903e55d03e5c103e6ac
+03e6d803e70203e88103e89403eaaa03eb8103ec4103ec6103ed1203ed3603ed7303
+ed9a03edac03edbb03ee8f03eea303eee903eefb03ef5e03ef7103ef8603f04303f1
+0d03f12103f13503f14703f15e03f17403f18503f28f03f39a03f41503f49503f509
+03f58503f6b303f7dd03f80c03f83003f83e03f84c03f85f03f87203f88403f89903
+fb1603fca103ff3a04021804035b0404d204055e0406ac0407970408450409dc040b
+4b040c64040ccc040dc0040f31040fcd0410e60411a304131904150f04164804174e
+0418490419b2041c29041d6d4e8bbdf8e9be018bbdf824bd03bdf8ef15f73efb92fb
+3efb9205a95e15f73ef792f73efb9205fb20f7bf15f73ef7928bfc9005fb5cf7bf15
+fb3ef791f7e88b05fc38fd1b15f888f94efc88060efbcb0efba586eff8c77701e9ef
+03f724f92615200a59fcf715210a0efb75f83ff76e01cae1b3e103f76bf83f15220a
+fb128a15220a0e2bf754c0f707c001f7abf78915fb068b9ef707f7058b05b116ea8b
+93c02b8ba8f747658b6ffb47fb068ba9f747658b6efb472e8b8356e88b79fb072d8b
+058356e88b6ffb46b08ba8f746f7048b70fb46b18ba9f746e98b92c02c8b050e2a80
+a5f8c8a412ff00154ccdff00168000ff00053333cef77ad860ff0016800013f8ff00
+e566669a15fffffc999a8bfffffc999aff0000199afffffcb333ff00001999089fff
+00fc000105ff002b199affffef9999ff003f999affffe319998bffffa8199a0831ff
+ffb266666e641e64ff00034ccd15ffffb64ccdff000ce66755ff0032b333ffffed19
+99ff0055199afffff3b3348fffffff6666fffffe199afffff66667fffffae6668f3e
+8f71ff000bffff5aff003680018bff001c4ccdffffeeb333ff00401999fffffb6667
+08fffff93333ffffab3334ff001ce667fffffdb333ff0006e666e1ff0003cccd8b05
+f74f9af720af1f8bff006b4cccffff8a999aff00334cce4fff0016999a08ff001233
+32ff00e44ccc0513f4ff00448000ffffef6668ff001eb334ffffc433329cffffc7e6
+66ff000b8000ff000033348dfffffecccc9492fffffc8000bb87a7fffff5999ac0ff
+ffce199aff0006e668fffffaccccff000f1998ffffc080008f08ff0005b334ff0046
+b334ffffe31999ff00024cccfffffa333343fffffa66668b05ffffac999a2857281f
+8bffff96999aff0063cccdffffd5ccccff003e4ccdffffe4e66608ff00064cccff00
+4f333415ffffd6199aff00128000ffffc48000ff002280008bff003480008bd1beb9
+c48bff0003cccd8bff00039999ffffffe668ff0003999affffffcccc080ed77fa2f7
+72a2baa2f732a6b0a201c4c1f721a4f0c2f720a403f845de15230a549a15240a7df8
+3115250afb91fb0515260a0ef71781bc5aa4f80ca2f764a412b6ddbfd5f71fd0137e
+f78ef7e6159676defb08c4405a48645f448bffffcfe6668bffffbb199ab28be9088b
+d2a2c6f1c708f73efb8515a9630513beff0030199affffbfcccdff0023e666fffffd
+3333aa8ba78bb8a7a9d1fffffaccccff00056666fffffb3334ff0004999a808b7764
+71776f8b7b8bffffe46668ff00114cccffffdc9998ff0032b3340866c005ff002799
+9ac4ff00147ffeb0ff001ae668bbb9ddff0006ccccff00033334ff003d3334ff0003
+cccc91918b968591778a6d87698b698b658f778c85858b80918508ff00361998ffff
+fd4cccff0011e668fffffcb334ffffda666845ffffeee664ffffe0199affffe7ccce
+ffffd53333ffffdbe666ffffcab333ffffce4cccce51ff004f4cccffffeab334ff00
+25b334f5c6b6d48bb908ca51ae45275544501e8b659cffffcdb334b1ffffc14cccfb
+1847524c8b3c08137efb03eb54eb1ee08bc1b7b9ca08fb13f7c215ffffe34cccbbff
+fff2b334c48ba208cdb0a8b1b4a26d5e1e8b676a454b61080efc07f83ef76e01c0e1
+03daf83e15220a0efb9bb7d703b7f790158b5e8ffb7bf764fb48958d8c928e936ab1
+fb09f71e8bf79b8bf79bf70af71eabaffffffc999aff000a4cccff0000ccccff0006
+e668fffff4999aff0000ccccfb0b252efb3b8bfb4e080efb9bf746d703f792f79015
+8bb887f77bfb64f74881898a848883ac65f709fb1e8bfb9b8bfb9bfb0afb1e6b67ff
+00036666fffff5b333ffffff3334fffff9199aff000b6666ffffff3333f70bf1e8f7
+3b8bf74e080efb54f73cf8b715270a0e69f766b701f783b903f7b1f79215280a0efb
+e9fb159df708e501f717af03f3ea15290a0efb73f77bb701b3f79603f7a3f77b152a
+0a0efbe986ef01c7ef03c7ba15210a0efb88f91a7701f7b4f91a15678bfb81fd55af
+8b050e2b81a4f8cea401b2dcf771dc03f77cf8dd152b0a87fce7152c0a0e2b86a2f8
+e47701ff00d78000cf03f7b1f701158aa9ffffff8000ff004b80008bff004b80008b
+ff004b8000ff00008000ff004b80008ca98dc7ff00024cccc8ff0001b334988bff00
+04ccccfffffd8000ff00003334fffffc80008bffffc8b333ffffddb334ffffce4ccd
+ffffe74ccc3362ff0001999afffff4999aff00046666fffffb800094fffff9e66608
+ff002d80009eff00168000919e8bff001080008bff0002666673ff0001199a698c6d
+ff00008000ffffb4b3348bffffb9cccc8bffffb9cccdffffff8000ffffb9b3338a6d
+fffffd333338fffff1cccd86458885858b80918508bc8cff001bcccd8fff00313333
+8bff002e80008bff0016800087bd8a91918b968591458efffff1cccc90fffffd3334
+de080e2b8bc2f8a6a412c8d1f753e37a9e13f0c8f868152d0a13e82e0a13f02f0a0e
+2b80a4f7c3a1f78aa412bed4f74dd25edd13f8f76ff8dd15300a13f4310a13f8320a
+0e2b86a2f72eb0f8257701f7a3d003ff01106666f76515330aff0096999a16340a0e
+2b80a4f7e5b3f72cc401f7d9de03f7d9f75115350a0e2b80a4f7dfa4f7857701b7d8
+f77ad803ff0081e666ff0136666615360aff0007199aff001c999a15370a0e2b9376
+f8c2c2967712bea113d0f734f8b515380a13b07b970513d0390a13b03a0a0e2b80a4
+f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af73227153c0a13e43d0afb3a
+fc6b153e0a0e2b9476f785a4f7dfa401b6d8f77ad803ff0155199aff0120999a153f
+0afffff8e666ffffe3666615400a0efbc5b7eff737ef01e8ef03e8f7fb15210afb9b
+04210a0efbc5fb159df708e5f768ef12e8ef71af13f0e8f7fb15410abafb9c15420a
+13e8430a0e41d4f7df01f70ef78315440a0e69f724bcd7bc01f861f7d215450a3f04
+450a0e41d2f7df01f802f78015460a0efb2186eff8afa412b7cca8ef4aaae6d713ec
+f701f8d015470a13f4a8fca115410a0ef7e2fb32a7f731aef7d1aaf743a501c6d5f7
+20cef743c9f750d503f8cdf7d0158bffffe7ccccfffff76668ffffdf199afffff64c
+ccffffe3e66771ffffb46666ffffc59998ffffa8cccdffffd5b3348b4c8b76b98bbb
+8bc99fcbbebea9aab9949c8baf8ba8728b650893fb86158bff00068000ff0006b334
+ff0021999aff00064cccff001ae66608c7f7967c905d7f84720581a56a9c6a8b0821
+fb13fb06fb2363a135ef1fae8bc1aab7d5088d8a05837284748b7c087b9272a8f76e
+d1f721f706f74ffb2ff722fb6bfb75fb4dfb41fb6bfb69f730fb3cf7831ef7058bc7
+aec7b9087e9d0555604d6f368b08fb9639f771f72af781f742f6f72cf711f74923fb
+62fb3a405c2589828d951f0ef71e86a2f778abf8107701ff01048000f7aa15480afb
+b8fb6515490a0ea286a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb80
+00f7fd154a0afb09f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0ee481
+b4f8eca601b0e5f859a203f7f38115500a0ef72486a3f8f3a301f702d9f81be503f7
+54f70115510a5ff8ac15520a0e9186a279a5f7c2a7f79aa679a28d7712f700daf765
+a1d7a3133380f7c4f7f915530a132780540a133380550a13ab80560a136380570a13
+a380580a137380590a0e4b86a2f7c0a7f7a4a679a28d7712f700daff00cc8000a2b9
+a213e7f751f7011588df8cf7118b8b08f7098a05e0ffffff4ccc8fffffeab3348e5e
+9185958b91918aae88ff000c80008bff001e80008bff0021999a8eff001666668ca9
+8591818b8585885487fffff4b33436ffffff4ccc08fb098a058b8b8af7268edd8ca3
+979fa38b08f71206d68b9a56a14697898d8d959086b47cee89930813cf540a13e75a
+0a13d78b8b3b8f598c85858b809185d18898868e388d398b598b388b388b5c893988
+387e8645880885858b809185bc8cff001f80008fff003380008bff003966668bff00
+28999a87bc8a91918b96859108458e659089de080ef72981a5f7a0a5f7d5a601abe2
+f839da03f80af92615fb40fb3efb17fb70fb41f71cfb24f75d1ff70a8bdbaecfc580
+9486938b9608f711078bff002333349cff0009cccca88e91918b9985916d8a7e8763
+8b648b658f5c8c85858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8b
+ffffd7e66608fb3607696b4f71558b08fb462cf747f718f743f706f715f7131ff725
+8bc62fa535958bff0006b334ff00008000ff00074cccff00058000fffff83334ff00
+44800084ff00318000fffff8ccccaf4f8b67b8fb0e8b080ef73c86a2f7cba5f7a4a2
+01f5e0f7ebde03f753f701155b0a0efb9686a2f8f5a201f702da03f754f701155c0a
+0efb6affff55b333ff00264ccdf98ba201f738da03f7357b155d0a0ee086a2f7bca7
+f7b1a201f702da03f754f701155e0a0e5a86a279a8f8eaa212ff006d8000daf7bca2
+13b8ff00bf8000f701155f0a1378600a13b8610a1378620a0ef79a86a2f8f5a201ff
+028b3334f215630a0ef71c86a2f8f5a201ff006a8000b4f82cb203ff022a8000f8a1
+15640a0ef71a81a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515660a0e6b
+86a2f7a1a3f7d4a301f700daf77be303f74ff7bc15670a8df7b315680a0ef71afb65
+bff727a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515690a0ecb81a07ba2
+f7a1a3f7d4a312f700daf77be313bcf74ff7b9156a0a137c6b0a8df7b615680a0e3f
+81a5f8fea301beff00456666ff00f1999add03ff018a999af90b15ffffc6333293ff
+000233349effff9e66668bffff9a999a8b32488b218bffffa2e666ff0042e666ffff
+d2ccceff004d8000ffffde4ccccaffffe4999aff0067999affffea33328bffff8d33
+348b3affffd0cccc57ffffb033348bffffa2999a8bffffb9e666ff0034800075ff00
+63800008fffff3b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f71
+975aca8bff001be66674ff0058b3348bff002d80008bff002b199aff000b199aff00
+22ccccff0015b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a
+8bff005f33344ab8ffffb7e666ff001ecccc08ffffcf199aff0014ccccffff766666
+ff002633348bed8bc3ff0034999acdff003ae6668bff0061199a8bb4439f49ff000b
+8000ff000033348dfffffecccc9492fffffc8000bb87a7fffff5999ac0080eaf86a2
+f8eaa8018ea3f785daf770a303f79ef8ac15ff00024cccffffadb334ffffffb334ff
+ffce4ccc8b388b388b5d893889387186458885858b809185bc8cff002466668fff00
+36999a8bff003633348bff0022cccc87bd8a0891918b968591458e719089de89ff00
+5280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b3348d
+cb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab88b8c898d8a8b6988
+fb03833c8b0835063e8bfb0a93658e898b89898b8a875e8154805b95878d8a978b9f
+dbb9afcd8b08c606b08bff00094ccc78ff0001b3344e080ef681aaf8f2a201efdaf7
+ffb103f747f7a1156c0a0ef7059476f913a201f86af907156d0a0ef8389476f913a2
+01ff034a8000f8c9156e0a0ef70886a2f8f5a201ff02278000f1156f0a0ebc86a2f8
+f5a201f7a6e003f7fbf70115700a0eb08ba7f8dcac967712c29ff870a013b8f8b586
+15710a13d8720a13b8730a13d8740a0efb61fb559ff9ec9f01f700c803f700fb5515
+f7680691918b938591fb1e967e9a8be208f90b078be2999af71d9591918b93859108
+fb68060efba6f9597601c2f94e155f8bf77afd7eb78b050efb61fb549ff9ec9f01f7
+4fc803f78cf95415fb680685858b839185f71e80987c8b3408fd0b078b347d7cfb1d
+8185858b83918508f768060e60f7eef7c401f704f7bb03f797f8e515750a0e40fb2e
+b701f870fb0215fc660683838b6f938308f8660693938ba78393080efb3df87af735
+01ebf73203f746f91b15760a0e2081b363a9f80da112b5d459d8f72cd01374f7b9f7
+6815770ad8fb261513ac780a1374790a0e3181a2f80aabf77f9ea47701d8d4f765d7
+03f73af7f8157a0a849f157b0a0efb2281b0f805a201aed7f757dd03f819e2157c0a
+0e4181ae8f9af7f3a3f77f9ea47701b0d7f76cd003f7ddf700157d0a804f157e0a0e
+fb1281b0f75fa8f71da201aed7f766d703f706f797157f0ad2fb4315800a0efb9286
+a2f7fea8f79fa101ead0f717da03eaf87415ff00008000fffff1b334ff00006666ff
+ffe69998ff00003334ffffe0b33408ffffcde666067a8685831f8207868c8a8f1eff
+00434ccd06ff00008001ffff9cb334ffffff9999ffff78ccccfffffe999affffd680
+00fffffd66663cfffff7999a88588785858b809185b38c9c8fb08bb78ba687b48a91
+918b968591084a8ffffff8999a8efffffd6666dafffffeb333ff0027e666ffffff99
+9aff00856666ff00006666ff0066b33408ff005a4ccd0694978a941f9a078f898d86
+1effff97cccd06ff00003334ff0026e666ff00008000ff001fccceff00008000ff00
+104cccff0001b333ff0032e668ff0003cccdff00253330ff0008199aff001ae668ff
+000f6666ff0032e668ff0019b333ff000e1998ff00144ccd8ba88b9977986a937a95
+7e9f8b9b8ba49d8b9e088b9b809c779a729c728e678bffffd1e6668bffffcd800074
+ffffe033345bffffe8b333ffffdcccccfffff39999ffffcf3334ff0002199a4c080e
+3dfb8aa4f766bfe1a2f78aa212a8cb65c457d3f743d397c613f380f7c7f79e15810a
+fb49fba81595889b8a978ba98ba68e988bbb8bab89a77cb07697748b7208462d5435
+1e13f9804b55bacc1f8bab90ada7ac08f7bdf80f159d9d9c9e9f799a711f728b5d7b
+726b80936b9e538b0813f380364052331f8b589f6da6710813f580820a13f980586c
+6e568b620838db68d4f715f71fd2f21e8baa7da66fa266aa488c688b7a8b73897488
+7d8a818a868b0813f5806f67a4ae1f8b9e95a0969ba27ea581b08bdf8bd7c38be88b
+b87fa46fa892959f98978b928b91889182088f839782958b080e5986a2f807a9f77f
+9ea47701e5d0f75fd103f731f7a515830a0efbba86a2f7f99da877f725ef12dbef40
+d013f8dbf8eb15840aebfc7e1513f4850a0efbb5fb87adf8dc9da877f725ef12eeef
+ffffaccccdff0049b33313f8eef8eb15840a99fbb81513f4860a0e4486a2f809a2f7
+849ea47701ff0053b333cf03dcf215870a0efbc886a2f9109ea47701ff005fb333cf
+03e8f215880a0ef76686a2f7f3bd619c12e8d2f753d2f755d213dcf748f7cd15890a
+13bc8a0a0e6786a2f7fb9c7cb312ecd1f75fd213d8f743f7e9158b0a13b88c0a0e3c
+81a2f813a201b3d7f78ed703b3f757158d0af750f75d158e0a0e46fb8aa0f76ba2f8
+009c82ad12ddcff778d713dcf73bf7dc15ff001b4ccdff0021b334ff001f4ccdff00
+174cccff002366668b08c8c350fb0a3d69fb09201f7a8b6e907a9a789c869b8bad8b
+8b8bf7128dbd08ff0000cccd9f8eff00124cccff000b3333ff000db3340883a2158f
+0a13ec900a13dc910a0e3afb8aa0f76babf80aa201acd7f771d003f7c7f7fd159e76
+ff0003199a73ff0000e666748d598bfb3e8b8b8b7a887c7f85757f718a7c8b085431
+bdf724eebadcd71fa88ba47fa07408a2fc8815fffffcccccffffb1199afffff83334
+fffffbe666518885858b829185b38cff001766668fff0028999a8bff002833348bff
+0015cccc87b48a91918b948591518efffff83334ff0004199afffffcccccff004ee6
+660889bd8bf8498dbdff0000800098fffffb800095818b848b868483807f7a8c8980
+926d9f6593638b08fb08352bfb1232c8fb0af71d1fa58baa909b95a198918d8b778b
+8b8b328959080efb6086a2f7f3bd619c12f0d113d0f0f7cc15920a13b0930a0efb4f
+81a19476f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13
+b4970a0efb9981b6f7efa812e1d04bd013d0baf82d157e8785831f8207868c8a8f1e
+c30613e0980a13d0990a0e5581ae8f9af7efa201dfd0f755d003f75981159a0a0e35
+9576ff0191b334a201f7cef81b159b0a0ef72c9576f826a201f756f81b159c0a0e3f
+86a2f809a201f744f7e9159d0a0e49fb85cff8c8a201f74dfb41159e0a0efb2b8ba1
+f7fea4957712c0a013b0d4f837159f0a13d0a00a0efbbafb68a3f9fba301f73af8c6
+15fffffb4ccdff00531998ff00243333ff001be668ff003280009591918b978591ff
+ff9b80008bffffd04ccd65ff00063333fb070895fb4c05ff0002b333ffffcf199aff
+ffe34ccdffffcce666537b087c07c17eff001f4ccdffffcfe666fffffcb333ffffc7
+199a0881fb3e05fffff8199affff78cccdff00306666ffffe43333ff006580008b91
+918b9785915f8bffffd4b333ff0027e666ff00054ccdff0054199a0895f73305ff00
+058000ff0056e666ffffe98000ff0028199a51a4bca0ff001ee666ff00203334ffff
+fb199aff0055cccc080efbf8f94e7701dcb703f711fb7c15fa365ffe36070efbbafb
+69a3f9fba301f04715ff0004b333fffface666ffffdbcccdffffe4199affffcd8000
+8185858b7f9185ff006480008bff002fb333b1fffff9cccdf7070881f74c05fffffd
+4ccdff0030e666ff001cb333ff0033199ac39b089a075598ffffe0b333ff0030199a
+ff00034ccdff0038e6660895f73e0593ff00873334ffffcf8000ff001bccccffff9a
+80008b85858b7f9185b78bff002b4ccdffffd81998fffffab333ffffabe6680881fb
+3305fffffa8000ffffa9199aff00168000ffffd7e666c5725a76ffffe1199affffdf
+cccdff0004e666ffffaa3333080efb04f769c691c601a5f81b03a5f76515a10a0efb
+cb0efba5f7e2ef01e8f103f724fb7915a20abdf8f715a573a5736f73ffffe5199aff
+ffeae66673a06fa6a3a7a3a31e0e2b9376ff0064cccdff0022e666ff015e6668ff00
+163332ff0069b3347701ff00434ccdff00483333ff005c8000aaff003de666d903f7
+7cf8ed15ffff94199a07ffffae199afffff1e666ffffad33333d8bffff8c33348bff
+ff91ffffff003e4ccdffffb1e667ff00666666fffff7333308ffff9ab333aaff0064
+cccd07ff00323334ff00028001ff00301998ff00146666ff002a8000d0fffffc3334
+ff0008999afffffe3334ffffffe666fffff766668cffffe1999affffd8199affffcf
+8000ffffe56666648bfffffd19988bfffffd199aff0000199afffffd199aff000033
+3308ff015e199a07ff002d999afffffb800098ffffda199aff00034cccffffe28000
+ff0002e666ffffe64cccff000c6668fffff966669e8b9e8bff0018b332ff000b6666
+8bff001c80008bff0030999a54ff0024999affffab199aff00014ccc08ff0069b334
+076cfffe29199a15ffffcb3333ff00149999ffffd84ccdff003e66678bff005c199a
+8bff00579998ff0029cccdff003f8000ff0032b333ff000e3334080e2180b89ab0f7
+6aa8f786b3019ad4bbd703d2f7c015cc78068b307b365360717c74808b78087b9c7f
+9da09c97a2969099ac1edf8b8c4fe18bc98bbaafa2bf8792868e838c72675f796e8b
+498b95bffb0a8bababb2ca8cf70b08f20695979093ff000833348dff0007cccc821f
+fb0adc06e2aed5b71ea08b9980977f9680957b998b08a29b9ba4af5598751f588b60
+746a67575576558b36086d5b07ffffedcccdfffffb3333ffffeae666fffffe199a86
+8c8a901f0e2bf70bb8f7adb701b7cbf78acb03f700f7c515d6beccd5ccc34d3c405a
+4a41405bcbd81ef70ffb4e15b68bb298aea508bb56b1b354b905a4ac99b18bb58bb7
+7db171ab08c5ba62b65a510569a56598608b628b667f6872085bc16461c25f05706b
+7c648b5e8b609a64a66a08525eb660b8c305ad72b17eb58b080e2b86a2f717a3e0a5
+f7bea201f756da03f756f70e158b337a7e368885858b809185bf8cff002333338fff
+0037cccd8bff0036999a8bff0020666687c08a91918b968591368e7a988be308a6f7
+110796998f951f8f078f878d871efb22e0f7110696998f951f91078f878d871efb18
+8be7f75f05acd48b9cc09091918d9685916b8a7c877a8b7a8b6d8f6b8c85858b8091
+85bd8788796b42083efb44898b20f770057aae969baf8b91918b9685916b8a588785
+8b7d8b628f6b8c85858b809185b487a0669d6508f6fb6ffb0e8b05ffffec4cccffff
+fbb334ffffeeccccfffffd3334868c8a901ff72436fb1206798583831f8a07868c89
+901ef724060efbf2dcbc03f716f936155afbfebc06fb2b045afbfebc060e33fb40a2
+f9a4a212bdc173cd5ed2f715d25ecd73c113e2ff0082cccdff019e4ccc15ffffd600
+01ffffdcccceffffd93333ffffd1e6668b4e8bfb0ff55fd862cc68a8668b5c8b5d66
+5b5c8b0813ca608b79b081b1869e7fa1768b0873827a7664b24decf2c0c8cd1f8bff
+002b6666fffff56666ff00226666ffffda3334ff0024b3340813d1ff002a999aff00
+236666ff0023ccccff002de6678bff004033338bf70f21b73eb44aae6eb08bba8bb9
+b0baba8b0813d4b68b9d66956590789a75a08b08a2929ca0b264c92a24564e491f8b
+ffffd3b334ff000b199affffdd1998ff0027b333ffffda800008ff00c41999fffeb6
+e66815ffffec8000ff000fffffffffe7199aff0010999affffe08000ff0012333308
+13e143b540b38be78bff00218000ff0013999aaaff00193333ff0018199aff001319
+99fffff0b332a3fffff0199aff001e199affffee999ad361d6638b2f8bffffe08000
+79ffffdb6666ffffe7e666ffffe94ccd080efb4af8a4ea01bde9d6e903bdf8d315a3
+0af73d16a30a0ef71aa2abeca8f791a2eeab01adb3e6c9f7e9b303f84bf76c15ffff
+fb6666ff0006199afffffb6666ff00063333fffff63334ff0002b333807b6f69588b
+085361c4d4edbaa4b31fc48b9c6a9c5d938b928c908e8ca38ca189b0778d7a98458b
+5b8bffffd2e666ffffecccccffffe3199affffdfb33473ffffe5199a7fffffdb999a
+8bffffd9cccc088bffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff
+001ab333ffffe9e666ff00249999fffff3199aff0026b3348bc28bb6ac9faa08fb0a
+fb5515a40af8a904a50a0efb92f7faabf772a401aabff701c103f754f88a15a60ab6
+fb2415a70a0e79f72af76b15a80af74816a80a0eb1f7d7b701f887c103f887ee159e
+82ff00126668ff0002999aff00109998ff0006666608f7a0fc9507fffff94ccc798e
+fffff2ccccff0003b334fffff3333408f85f060efb73f77bb701b3f79603f7a3f77b
+152a0a0ef71aa2abf704a3eca3f701a3f703ab01adb3f739bae5c1f71eb303f80cf8
+06155d797f6d1e61d6069d9a9ba4ad9b7a691efb05d4157b8b6d8c798c87878b7b8f
+87ab8893858b6b08fb28078b6b83856b8887878b7b8f879d8ca98c9b8b9b8ba88a9d
+8a8f8f8b9b878f6b8e83918bab08c307908ba78a8f8808bb3b059c6ea3829f8b978b
+978d97908c918a92878f7b887bff0008333380ff0012cccd085bdd05aa95a5a48bb2
+8ba977b8408b778b67897b8b08c5fc3815a40af8a904a50a0efb38f8a5b701c6f7ac
+03f7cff8a51598969d97918793811ffb88067f817a7f848e83941f0efbbaf82da9f7
+21a901adadf717ad03f75bf89015a90afb398c15aa0a0e69a0b7f77ab701f783b903
+f7b1f7e715280afba604ab0a0efb92f800abf79aa912bac0efc97ba313f0d4f8df15
+958b998e8e9dff00014ccdff0007e668fffffd3333ff000cccccff00038000ff0008
+4ccc90979794aa8b9d8bab848b5c8b5573745e675b6665618b5b08f7620613e8ac0a
+13f0ad0a0efb92f7faa9f71ca6f6a912b9bde5c66ac913f8f74ef90415ae0a13f4af
+0a13f8b00a0efb70f8b2f73401f743f91f15b10a0e4081b812baea33d649baf76ad6
+13a8f7d6c7158d068e6f9a61c58b08bcadb390928493871ffffffa33348b887bffff
+e7cccc8b08648ab4b91ff7d20772887184738b08fbd607756a5764578b08567bbdc9
+1ff75807ab88cb8b1e6f886c84748b088b953c6f1ffb500713988b5194588b6a0813
+c88b4c7b5c8b580862b1739ba29d9eb41e13988bb66bd18bcc8b90918f918b967ea4
+81a58b08c88bb3a5b0b7080eb4fb7cacf9bfac01f7d1bddcbd03f803f8d215a69c96
+a2a29d846c1efd73076c798474747a96a61eb4f9ba15708b508d408b08fb1851343c
+fb1add4af7261f9a8b938c948d08fc52078b6ffffff3999afffff5199affffd66666
+fffffce6660870890587ffffffb33388fffffd4ccd8b86088b788d8905bc8dc68bd0
+8bd08bff003c80008bff002f800089088d8d8b9e058b9087ff0002b33387ff00004c
+cd08718d05ffffd84cccff0003199afffff0b334ff0008e6668ba908f973078ba9ff
+000f4cccff0008e668ff0027b334ff0003199808a58d058fff00004ccc8fff0002b3
+348b90088b9e898d05ffffd0800089ffffc380008b468b080efbcbf760f70001d2f7
+0003f711f76015b20a0e77fb5ca8d6abcb7701f7e3c903f7c22b15b30a0efb92f800
+a8f77d7601f729c103f71bf90015b40a0efb68f7c3a2f76da201b2c5f730c503b2f8
+411544c654d5e9b8ceccd05ec9343555533a1ef718f70615bdab5f3b436076704f71
+cbbcc1a3bdbd1f0e79f81df76b15b50afb4816b50a0eee3aa8d1adf79ba8f7957701
+f726c1f7dcbb03f8c1f8ed15b60a45fceb15b70afc20f8bd15b40a0eee3cabf79aa9
+d1a8f7957712f728c1f75fc0efc97ba313fcf8a8f8ed15b80afb23fc5515958b998e
+8e9dff00014cccff0007e666fffffd3334ff000ccccdff00038000ff00084ccd9097
+9794aa8b0813feb90a13fdff00088000ff001ab334ff00063334ff001f9999ff0004
+4cccff0023b333fffffab334ff0003b33383ff0001999afffff54cccffffffb33380
+6f7d646c8b08380694ac9aa6b5a90813feba0afbbdf83f15b40a0eee3ca8d1adf791
+a9f71ca6f077a5a912b7bde5c66ac9f798bb13fe40f8c6f8ed15b60a13ff40fc3777
+15bb0a13fec0af0a13ff40b00af7f0fcd515b70a0efb21fb7aa4f8afef12cbd7c4ef
+49aacbcc13ecf7dafb2315bc0a13f46ef8a115a573a5736f73ffffe5199affffeae6
+6673a06fa61ea3a7a3a31f0ef71e86a2f778abf81077dc7601ff0148999af9c615ff
+ffddccccfffff46668ffffe88000fffff04cccffffedb334ffffee4ccc08f72e4c05
+a0829988938b938b92928b938b928791809308ffff42e666fc5c15480afbb8fb6515
+490a0ef71e86a2f778abf81077dc7601ff0187999af9c815bd0affff7ce666fcb215
+480afbb8fb6515490a0ef71e86a2f778abf81077d47601ff017c999af9bc15be0aff
+ff87e666fca615480afbb8fb6515490a0ef71e86a2f778abf81077a9c089c212ff01
+d9999aa613f4ff01aa999af96515bf0a13ecc00a13f4c10affff59e666fc4f15480a
+fbb8fb6515490a0ef71e86a2f778abf810779feb12f755ebf721eb13dcf755f95615
+c20af78116c30affff568000fc4015480afbb8fb6515c40a13ecc50a0ef71e86a2f7
+78abf87dab01ff0113999ab3ebb303ff01048000f7aa15480afbb8fb6515c7f72f05
+90989194a38b08ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff00
+006666ffffd06666fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b
+968591ffffd93334ff00038000ffffdeccccff0003800079be08ffff366666ff0231
+666805ff001dccceff000e1998ff0014e666ff001de6688bff0020999808ba61b15d
+5d61645d1e8bffffda4cccff001c3332ffffdf199cff00236668fffff54ccc08ffff
+1a4cccfffde34ccc05ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd48000
+8885858b809185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff000299
+9affffd06667ff0006b333ff00103333ff0029b33308ff00d8199af94e15c60a0ef7
+de86a279a5f789a8a7a7f79aa679a28d7712ff01af8000dcf763a2d7a287a413b1a0
+ff01af8000f7a315c70a1371a0c80a13b1a0bbdb868b1f99bd9ad093befffff59998
+ff0005e666fffffe8000ff00024ccdfffff2e668fffffccccd081379c0c90a1333a0
+540a1339a0ca0a13b5a0cb0a1371a0cc0a13b1a0cd0aff00b98000f79d15ce0a0ee4
+fb5ca8d6abc1b4f8eca601b0e5f7a1c9f70ea203f7ff2b15cf0a0e9186a279a5f7c2
+a7f79aa679a28d77e17612f5def763a1d7a387a3132380ff00e56666f9c515d00aff
+ffd1999afc0c15d10a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0570a
+13a3a0580a1373c0d30a0e9186a279a5f7c2a7f79aa679a28d77e27612f5def763a1
+d7a387a3132380ff014e6666f9c815d40affffe1999afc6315d10a1333c0d20a1327
+a0540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0e9186a279a5
+f7c2a7f79aa679a28d77da7612f5def763a1d7a387a3132380ff012b6666f9bc15d5
+0aff0004999afc5715d10a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0
+570a13a3a0580a1373c0d30a0e9186a279a5f7c2a7f79aa679a28d77d8eb12f5deff
+ffd86666ebe8ebffffd9999aa1d7a387a3132240ff01526666f98915c20a132280fb
+5116c20aff009a999afc2415fb098a05133310d60a132728540a133328550a13ab28
+560a136328570a13a328580a137330d30a0efb9686a2f8f5a2cf7601f702da03ff00
+636666f9c515d00affffe3999afd04155c0a0efb9686a2f8f5a2cf7601f702da03ff
+00b46666f9c715d70aff000b999afd5a155c0a0efb9686a2f8f5a2c87601f702da03
+ff00a56666f9bc15d50aff001a999afd4f155c0a0efb9686a2f8f5a2c6eb01ff0009
+6666ebff0004999adaff00096666eb03ff00c66666f98915c30afb5116c30aff00b6
+999afd1c155c0a0ef72486a3f7aeaaf7baa301f5e1f817e503f7a2f7e015d80afb0e
+f7cd15d90a0ef71c86a2f8f5a29bc089c212ff006a8000b4ff01298000a6ff005380
+00b213eef822f96315bf0a13dec00a13eec10aff009c8000fb5615640a0ef71a81a3
+f900a3c97601afe5f84fe503ff012d8000f9c715da0affffa080002615650af7e0fb
+c515660a0ef71a81a3f900a3c87601afe5f84fe503ff01808000f9c815bd0affffc6
+8000fb4e15650af7e0fbc515660a0ef71a81a3f900a3c07601afe5f84fe503ff0161
+8000f9bc15d50affffe58000fb4215650af7e0fbc515660a0ef71a81a3f900a393c0
+89c212afe5ff01348000a6ff006b8000e513eeff01838000f96315bf0a13dec00a13
+eec10affffc380003615650af7e0fbc515660a0ef71a81a3f900a38beb12afe56eeb
+f7cdeb6ae513a8ecf95615c20a13a4f82d16c20a13d2fb474315db0af7e0fbc51566
+0a0e69d4f7ce01f5f7cd03f7bcf77b15f711f71068acfb10fb10fb0ef70f6969f70f
+fb0ffb0ffb0eaf6af70ef70ef70efb10acad050ef71a81a3f900a301afe5f84fe503
+e97c15dc0af77df91d15dd0aff00c23334ffff86666815de0a0ef681aaf8f2a2d076
+01efdaf7ffb103ff01278000f9c615da0affff128000fc65156c0a0ef681aaf8f2a2
+cf7601efdaf7ffb103ff01b28000f9c715bd0affff008000fcba156c0a0ef681aaf8
+f2a2c87601efdaf7ffb103ff01798000f9bc15d50affff398000fcaf156c0a0ef681
+aaf8f2a295e901ff00638000dcff00398000e9bde9ff00418000b203f782f95715df
+0af72416df0affff368000fc4a15e00a0ebc86a2f8f5a2d07601f7a6e003ff018b33
+34f9c815e10affffdbccccfd5b15700a0e6986a2f718ac73a8f7b7b36eacf3a212f0
+daf773e21397f748f8731513cfa091bf909e8b08c6d370fb0cfb153e6c431f13b765
+8b708d828e083f04ba0713cf9a86a887ae8b08f746c0f70ad6d26bf701fb4d1f1397
+788b658967890813af8f078bde9c9dd18e91918b9685915a8affffe3999a87ffffce
+66668bffffcecccd8bffffe533338f598c85858b809185d1889c798b3808fc2f078b
+387a83458885858b809185bc8cff001c66668fff0031999a8bff003133338bff001a
+cccd87bd8a91918b968591458e7a938bde080e7781a4f807a2f79ca412eeced5bed8
+d870da13fcecf70415fffffd333338fffff6cccd83528885858b809185b58cff0015
+66668fff0028999a8bff002133338bff0008cccd87b68a91918b9685916790fffff3
+cccd91fffffd3333de0889c78bf7668dc7ff0003999aff006be668ff000d6666ff00
+7b1998f38bc08ba75e8b558b4266634857087e0713fadf4bd1388b2e08305f596d74
+6d93a91e8b9793948b9c089f8395777b7c787b5f9f57dfe7c8d9f41e8bf70825cf3c
+bf088d0713fcd1c0c6b98bd808bb5eca233cfb0a53fb394afffff8800088ffffdf80
+001e7e8b847a9185ff001a4ccdfffffeb334ff001bb333fffffd99988bfffff2b334
+088bffff9bcccc8bffff9f3334894f080e2081b363a9f80da1f7837712b5d459d8f7
+2cd01332f758f92415760aa6fbd215e20a137ae30ad8fb261513b6780a137a790a0e
+2081b363a9f80da1f7837712b5d459d8f72cd01332f788f92415e40abcfc5015e20a
+137ae30ad8fb261513b6780a137a790a0e2081b363a9f80da112b5d459d8f72cd013
+24f77bf92415e50ac9fc5015e20a1374e30ad8fb261513ac780a1374790a0e2081b3
+63a9f80da1f70fc089c212b5d459d8f72cd06aa6133080f7aff8e715bf0a132880c0
+0a133080c10a95fc1315e20a136400e30ad8fb261513a300780a136500790a0e2081
+b363a9f80da1f701ea12b5d459d850e9d6e957d0133200def8d315e60a133100f73d
+16e60ab4fbff15e20a137800e30ad8fb261513b480780a137880790a0e2081b363a9
+f80da1d9abf5ab12b5d459d877b3ebb387d0133980f766f90f15e70a335615e80af7
+3ffc0615e20a137c00e30ad8fb261513ba40780a137c40790a0ef71281b066a9f74e
+adf730a212b0cf52d0f73ad0f753d4137bf790f80b15e90a13b7ea0aaafb3d15eb0a
+137bec0ad1af15ed0a0efb22fb5ca8d6abf860a212aed7f72ac97add13f8f7782b15
+ee0a13f4ef0a0efb1281b0f75fa8f71da2f7837701aed7f766d703f766f92415760a
+fb3afba3157f0ad2fb4315800a0efb1281b0f75fa8f71da2f7837701aed7f766d703
+f78ef92415b10afb1cfc21157f0ad2fb4315800a0efb1281b0f75fa8f71da201aed7
+f766d703f783f92415e50afb11fc21157f0ad2fb4315800a0efb1281b0f75fa8f71d
+a2f701ea12aed77fe9d6e962d713f4eef8d315e60a13f2f73d16e60afb2efbd015f0
+0a13f1f10ad2fb4315f20a13f9f30a0efbba86a2f7f99da877f7947701f4d003eef9
+2415760a92fc3915850a0efbba86a2f7f99da877f7947701f4d003f737f92415b10a
+98fcb715850a0efbba86a2f7f99da87701f4d003f721f92415e50aaefcb715850a0e
+fbba86a2f7f99da877f712ea1287e99ad082e913f887f8d315e60a13faf73d16e60a
+96fc661513fc850a0e4081a2f813a2f7ab7701aed7f782d503f78098154752e8f701
+d3a7f701eb1fb48bad6ea16f966291628b5f08fb2e475d5e1efb5df74d1528cefb01
+f70af6ebd6f7351e8bf71f50f71639dd0874a2e9ca7ba2254805ffffdf4ccdff001c
+b334ffffd06666acffffde4ccdff00114ccc087c7705a2fffff04cccff00223333ff
+ffe08000ff0014cccdffffeb3334089a7c27479b74f2ff00454ccc91fffff8b33405
+ae5fa949a0587395728f728b0831fb0353fb391f0e6786a2f7fb9c7cb3f70fc089c2
+12ecd1f75fd251a61395f7e4f8e715bf0a138dc00a1395c10afb35fb9215f40a13c6
+f50a13a6f60a0e3c81a2f813a2f7837701b3d7f78ed703f774f92415760afb92fbe3
+158d0af750f75d158e0a0e3c81a2f813a2f7837701b3d7f78ed703f7a2f92415b10a
+fb7afc61158d0af750f75d158e0a0e3c81a2f813a201b3d7f78ed703f796f92415e5
+0afb6efc61158d0af750f75d158e0a0e3c81a2f813a2f70fc089c212b3d7f77fa67f
+d713ecf7c4f8e715bf0a13dcc00a13ecc10afb9cfc2415f7000a13caf7010af750f7
+5d158e0a0e3c81a2f813a2f701ea12b3d785e9d6e984d713e8f702f8d315e60a13e4
+f73d16e60a13f2fb83fc1015f7020af750f75d158e0a0e69ff0039ccccff0053cccd
+ff00446667b7ff0047ccccff0053ccce01ff00df4ccdff0053cccd03ff00df4ccdff
+0171666615ff00000001ffffea3334ff00141999ffffea3332ff0014199a8b08ff00
+178000ff0014199aff00168000ff0011b334ff0014199affffee6666ff00178000ff
+ffe96666ffffebe667ffffe88000ffffebe666ffffebe6661ffba004ff00000001ff
+ffea3334ff00141999ffffea3332ff0014199a8b08ff00178000ff0014199aff0016
+8001ff0011b333ff0014199affffee6666ff00178000ffffe96666ffffebe667ffff
+e88000ffffebe666ffffebe6661fff00edb333ff0098999a15ab0a0e3c81a2f813a2
+997712b3d7f78ed713b8f824f84515f7030a13d8f7040a13b8f7050a13d8fb406615
+f7060aff00714cccffffaacccc15f7070a0e5581ae8f9af7efa2f7887701dfd0f755
+d003f76ff92415760a2ffcb0159a0a0e5581ae8f9af7efa2f7887701dfd0f755d003
+f7bdf92415b10a27fd2e159a0a0e5581ae8f9af7efa201dfd0f755d003f79bf92415
+e50a49fd2e159a0a0e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f4f706f8
+d315e60a13f2f73d16e60a35fcdd15f7080a13f9f7090a0e49fb85cff8c8a2f78877
+01f7cff92415b10afb16fdd1159e0a0e50fb8aa0f76bacf7f4b7f775a8a47701ded3
+f768d703f72df7a715f70a0a45f86d15fd54078b3c8086518885858b829185b38cff
+001766668fff0028999a8bff002d4ccd8bff001db33387b48a91918b948591478f80
+8f8bda08f714078ba6948195879f83a086a58bbe8bb99eb0b0b6b6a4c58bd88bef45
+ea2f8b5a8b67707372087d7c888c8ba008f76b07c98fb18b1e92888d821e7381467f
+658889838d7c9185bd8896908b3b080e49fb85cff8c8a2f706ea01f70de9d6e903f7
+0df8d315a30af73d16a30a22fd80159e0a0ef71e86a2f778abf81077abbd01ff01d2
+999af93215f70b0aff0011e666fc1c15480afbb8fb6515490a0e2081b363a9f80da1
+e6bd12b5d459d8f72cd01332f7d6f89215f70b0af757fbbe15e20a137ae30ad8fb26
+1513b6780a137a790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f76ca703ff
+01f2999af9b815f70c0affff11e666fca215480afbb8fb6515490a0e2081b363a9f8
+0da1e6c4e57712b5d459d844a6f758d05aa6133940edf92515f70d0af757fc5115e2
+0a137c00e30ad8fb261513ba80780a137c80790a0ef71efb5cb1f731a2f778abf810
+7701ff013d999ac903ff02039998fb1b15fffffc000292858f828b75757b7b6e8b66
+8b7ea08ba58bff002a6666ff0029b332ff003c3334c9ff00093333ff001de668ff00
+018000ff00209998ff0001b333ff0019b3348bb48bb687b08a0891918b968591ffff
+d93334ff00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb
+7cfcb605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b80
+9185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd066
+67ff0006b333ff00103333ff0029b33308c7f72f0590989194a38b08ff00d080008b
+ff003f8000fb4c05ff000e199862ffffd78002ff00006666ffffd06666fffffc999a
+fffffd6666fffffd6666fffffe8000fffffc6667ffffffb334fffffc4ccdffffb633
+32ffffea9999ffffd34cceffffbdb3338bffffd1999a8b55b177bd8bb48bb39fff00
+1cfffeb808ffff00e668f83115480a0e20fb5cb1f72ca9f80da112b5d459d8f70cc9
+6dd013e4f860fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002a3333ff
+001c999aff001e6667ff0034999aff002c1999ff00161998ff000b999aff000db334
+ff001080008bff000333338b928191878b08fffffae6668bfffffd199afffff48000
+7efffffc8000fffffdb334ffffff6666fffffd4cccffffff999a888b668bfffffb19
+9aa9ff0001e666c20813ea90f72205ff0004b334ff0085ccccffffb94cccff001c33
+34458b083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b9508a9b49aaf
+abb671fb001e8b84897e888a0831770513f4ffffa36666ffffeb6666ffffbf999aff
+ffcf999a8b4a8b42bf72ce8bb78b9f94b5ab089e9a8d8b05ff00056666ffffede666
+ff000cccce6cff0027e666fffffa199affffce3332ffffdae666ffffddb334ffffd9
+199a8b628b55b177bd8b08b48bb39fa8b808fb3bf7ef15770a0ee481b4f8eca6c776
+01b0e5f859a203f818f9c715bd0a66fdd115500a0efb2281b0f805a2f7837701aed7
+f757dd03f792f92415b10af71bfccd157c0a0ee481b4f8eca6c17601b0e5f859a203
+f808f9bd15d50a76fdc715500a0efb2281b0f805a201aed7f757dd03f783f92415e5
+0af72afccd157c0a0ee481b4f8eca6e3f301b0e5f741f3f744a203f7c0f9b215f70e
+0abefdbc15500a0efb2281b0f805a2f715ef01aed7cfefa6dd03f747f8ec15f70f0a
+f766fc95157c0a0ee481b4f8eca6c77601b0e5f859a203f7ddf94d15f7100aa1fd57
+15500a0efb2281b0f805a201aed7f757dd03f75ef88715f7110af74ffc30157c0a0e
+f72486a3f8f3a3cf7601f702d9f81be503ff009b6666f94d15f7100aff0024999afc
+e015510a5ff8ac15520a0e7c81ae8f9af7f3a3ef9ce5d35f9e12b0d7f76cd0f70db7
+13fb80f88bf94e15f7120afb42fce2157d0a804f15f7130a13f780f7140a0ef72486
+a3f7aeaaf7baa301f5e1f817e503f7a2f7e015d80afb0ef7cd15d90a0e4181ae8f9a
+f7f3a3f70baae09ea47701b0d7ff00d84cccff0044199a03f860f8cd15f7150afb17
+fc61157d0a0e9186a279a5f7c2a7f79aa679a28d77f4bd12f5def763a1d7a387a313
+2380ff01856666f97515f70b0aff008a999afc1015d10a1333c0d20a1327a0540a13
+33a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71d
+a2e6bd01aed7f766d703f7e5f89215f70b0a8cfb8f157f0ad2fb4315800a0e9186a2
+79a5f7c2a7f79aa679a28d77c5bf12f5deffffeb6666a7ff00c7999aa1fffffa6666
+a7ff0035999aa387a31322a0ff01b86666f9b715f7160affff77999afc5215fb098a
+05133310d60a132748540a133348550a13ab48560a136348570a13a348580a137350
+d30a0efb1281b0f75fa8f71da2cac412aed779a6f75dd74ea613f5f70cf90915f70d
+0a85fc0615f00a13f2f10ad2fb4315f20a13faf30a0e9186a279a5f7c2a7f79aa679
+a28d77f706f312f5decaf3b3a1d7a387a31323c0f790f9b215f7170abffc4d15d10a
+1333e0d20a1327d0540a1333d0550a13abd0560a1363d0570a13a3d0580a1373e0d3
+0a0efb1281b0f75fa8f71da2f714ef01aed7d0efb4d703f748f8eb15f70f0a49fbe8
+157f0ad2fb4315800a0e91fb5cb1f731a279a5f7c2a7f79aa679a28d7712f5deff00
+766666c9ff001a999aa1d7a387a313d1d0ff01f96666fb1b158792858f828b75757b
+7b6e8b668b7ea08ba58bff002a3333ff00294cceff003be667ff003d9998ff000999
+99ff0011999affffff199aff000c199affffff33338b8b99bd99d093be0881918a8d
+7e880813b9e0f7180a1393d0540a1399d0550a13d5d0560a13b1d0bc8cc08fa98b08
+f77206ff0008cccc8bff0009ccceffffffe666ff000a3332ffffffb3344fffffe4e6
+66ffffdc999affffc6cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080efb12
+fb5cb1f72cb0f75fa8f71da201aed7cbc9dfd703f809fb1b158792858f828b75757b
+7b6e8b668b7ea08ba58bff0028999aff00196666ff0021ccccc2ff0030999aff0020
+4cceff000e8000ff001b1998ff0016999aff00153334ff001be66688958590808c08
+68676a71548b698b599f6dbc78aa80bb8bc208f7a08f0596ff0000333392ff0006cc
+cd8b9508db6ae3fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d0
+8bff0006b3338bff0006999aff00004ccdff00068000ff00009999ffffd2b333ffff
+da6667ffffe18000ffffd766668bffffd94ccd8b55b177bd8bb48bb39fa8b808fb97
+f81e157f0a0e9186a279a5f7c2a7f79aa679a28d77e17612f5def763a1d7a387a313
+2380ff01106666f94d15f7100aff001f999afbe815d10a1333c0d20a1327a0540a13
+33a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71d
+a201aed7f766d703f75bf88615f7110a36fb83157f0ad2fb4315800a0ef72981a5f7
+a0a5f7d5a6c07612abe2f839da6ea313f8ff0180999af9bc15be0afffff56666fb2a
+15f7190a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b512a8cb
+65c457d3f743d397c6139060f78af90d15e50ac8fc0315325b70681e1398e0f71c0a
+fb49fba81513d260f71d0a13b260f71e0af7bdf80f15f71f0a1394e0f7200a13b8e0
+f7210a13b160820a13b260f7220a13d560f7230a0ef72981a5f7a0a5f7d5a6aebf12
+abe2ff006c999aa7f76ca7ff00286666da6ea313fe00ff01f3999af9ba15f7160aff
+ff826666fb2815f7190a13ff00f71a0a13fe80f71b0a0e3dfb8aa4f763bb5ebfe1a2
+f78aa276b5b1c412a8cb65c457d35ca6f757d358a6afc613922cf704f90515f70d0a
+139a54f757fbfb15810afb49fba81513d304f71d0a13b304f71e0af7bdf80f15f71f
+0a139644f7200a13ba44f7210a13b284820a13b304f7220a13d694f7230a0ef72981
+a5f7a0a5f7d5a6f75df312abe2ff00ba999af3ff00826666da6ea313fcff0131999a
+fa2315f7170aff00446666fb9115f7190a13fef71a0a13fdf71b0a0e3dfb8aa4f763
+bb5ebfe1a2f78aa276b5f6ef12a8cb65c457d3b1efb0d397c6139238f73ef8eb1584
+0af71dfbe115325b70681e139a78f71c0afb49fba81513d338f71d0a13b338f71e0a
+f7bdf80f15f71f0a139678f7200a13ba78f7210a13b2b8820a13b338f7220a13d6b8
+f7230a0ef729fb76a3daddaaa5f7a0a5f7d5a612abe2ff0118999ab2ff00656666da
+6ea313fe00ff0178999a6215f7240afffffd6666f94f15f7190a13ff00f71a0a13fe
+80f71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b5d2dddb9f12a8cb65c457d3adad
+f6d397c613931cf778f89315f7250adafb8915325b70681e139b3cf71c0afb49fba8
+1513d39cf71d0a13b39cf71e0af7bdf80f15f71f0a13973cf7200a13bb3cf7210a13
+b35c820a13b39cf7220a13d75cf7230a0ef73c86a2f7cba5f7a4a2c67601f5e0f7eb
+de03f753f701155b0aff00c5e666f94d15d50a0e5986a2f807a9f77f9ea47701e5d0
+f75fd103f7b0f9d715d50afb13fcc615830a0ef73c86a2f7cba5f731addca201f5e0
+f7ebde03f753f7011589df8abc8bdb9690e78dc78bc78bf7058a97858a468c468940
+89387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b968591458e7b
+9089de89dd8bb98bde8bff004acccc8bff002f3334ff00018000d108ff00526668ad
+ffffae666406ff0003199cff00496668ff00118000ff0004b330ff00431998ff0002
+e66891918b9685915a8a6d87588b598b6e8f598c85858b809185ff00431998fffffd
+1998ff00118000fffffb4cd0ff0003199cffffb6999808fffea9999806ff00030001
+ff00496668ff000f9999ff0004b330ff0043199aff0002e66891918b9685915a8a6d
+87588b598b708f598c85858b809185ff0043199afffffd1998ff000f9999fffffb4c
+d08effffb6999808ffffb8333469ff0048b33306ff0001ccceffffbaccccff000199
+9affffd0e6688bffffb54ccc8b38895d893889387d86458885858b809185bc8ca88f
+be8bbd8ba787bd8a0891918b968591458e7d9089de08ff01579998f827158bffffc7
+b334ff00016668ffffd8e6668bffffc966668485fb098a4f8b4f8b2a8d84908bff00
+378000ff0000cccdff00266666ff00018000ff0038199a080e5986a2f807a9f70baa
+e09ea47701e5cef761d103f7a5f8cd15ffff8d333306ff00003332ff000c8000ff00
+004ccdff000a6668ff00004ccdff00071998ff00028000c9ffffffe666fffff8e668
+ff0001999aff002319988b92888d828b7381497f658889838d869185bd88ff00084c
+cd90ff0002b3333b08ff0000199a898bfffffd9998ff00001999fffffd666808ffff
+d1cccd067a8bfffffc999afffffb1998fffffe6666fffff6e668088980058afffffa
+99988dffffff66688f8b08ff0041b33306ff00014cccffff91999affffffb333fffe
+f06666fffffe4ccd57fffffd66663cfffff6999a88548785858b809185b28ca18fb4
+8bb08b9987b38a91918b968591085b8ffffffa3333ff0003199afffffccccdff004e
+e66689bd8bf70b8b8b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc
+5dff000133346e088d598b528959fffffce666ffffb2199afffffa199afffffce666
+598686858b809085b38c9c8fb18bb28b9d87b48a90918b968691085690fffff8199a
+ff0003199afffffce666ff004de66689bd8bc18dbdff0002199abffffffce666ba75
+a87ba06d976a8b5c8b507e514a888784828b98088b8bff0000999aff00756666ff00
+011999ff004f999a08ff00624ccd06948bff000accccff00011998ff00013334ff00
+06e668088e9c05ff0000b3348ffffffd4ccc8d868b080efb9686a2f8f5a2ccc089c2
+12f702daff00476666a613ecff00d56666f99415bf0a13dcc00a13ecc10affffea99
+9afd27155c0a0efbba86a2f7f99da877e7c089c212f4d0ff00346666ff00184ccd13
+f6ff00b8199af8b715ffffeee6668bfffff0b33392fffff1999a970813ee7999ffff
+ec33339f708bffffd94ccc8bffffeb4cce64fffff3666650ff0005666685948aff00
+09e6678dff0008ffffac949aff001766678bff000f4ccd8bff0011199a83ff001033
+33800813f6ff0012e6667dff0012e66779ff0013cccc8bff002966678bff001a1999
+b2ff000acccdc7fffffa999a8f828efffff619998a08fffff3666761fffff6199981
+ffffec33348b08fffff7e666fc4a15850a0efb9686a2f8f5a2babd01f702da03ff00
+ff6666f94d15f70b0aff00a0999afce0155c0a0efbba86a2f7f99da877f700bd01f4
+d003ff00dbe666f89215ff000bb334ff0009e666a09791fffffc666696821fffff35
+800006fffff6199afffff6199a777f84ff0003999980ff0008199a1fff009db333fc
+2515850a0efb9686a2f8f5a2b5bf01ff000d6666a7ff0044999adaff00446666a703
+ff011d6666f9b915f70c0affffa2999afd4c155c0a0efbba86a2f7f99da877ddc401
+ff0003e666ff00184ccdff004ccccdd0ff0030999aff00184ccc03ff001c3333f90b
+15ffffe7b3337f05ff000c999a36ff002de66659ca8bff0035199a8bff0039999abc
+ff000acccce108ffffe7b33497058251ffffd699996bffffd133338bffffcf66678b
+ffffd94ccdb0fffff61999c008ff0093cccdfc9e15850a0efb96fb5cb1f731a2f8f5
+a212ff00536666c9ffffdc999ada13f0ff01196666fb1b158792858f828b75757b7b
+6e8b668b7ea08ba58bff002a6666ff0029b334ff003c4ccdff003e3333ff0009199a
+ff000a3333ffffff6666ff0009e666ffffff8000ff0009199affffff4ccd91918b96
+859108458efffff180009089de0813e889ff005280008aff002d80008bde8bdeff00
+008000bcff00028000dfff00028000de998ed19091918b9685916689ffffc1800088
+6d8b6d8bffffbc80008e6b8d0885858b809185d185ff000f8000898d388d388c5a8b
+388b388a5d89388938fffff0800086458885858b80918508b28dc88ea98bff000819
+9a8bff000a1999ffffffe666ff000b3333ffffffb3340813f04fffffe4e666ffffdc
+8000ffffc6cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080efbbafb5cb1f7
+31a2f7f99da877f725ef12c8c960ef40d013fcf797fb1b158792858f828b75757b7b
+6e8b668b7ea08ba58bb5ff0028cccdff003b6666c8ff000a199aff00086666ffffff
+8000ff0007cccdffffff800092ffffff800091918b968591084e8f838e88df0813f9
+fffffee666a9ffffff199aff003280008ba98ba9ff00008000ff001f8000ff000180
+00ff001e4cccff00028000ff0031999aff00038000ff0036199a8b8b8b8f868e838b
+ffffe3800080ffffdc800082468289858d858d8508ff00368000fffffae666ff0007
+8000fffffb199a8e51ff000180006dff00008000ffffe580008b6d8b6dfffffee666
+ffffcc8000ffffff199a6dfffffd800038fffff78000884e8685858b809185a58dff
+00354ccd8eff001db3338b08ff000533338bff0005999a8b91ffffffcccd0813fcff
+ffc3cccd70ffffdc6666ffffc699998bffffd6999a8b55b177bd8b08b48bb39fa8b8
+0813fafb47f97215840a0efb9686a2f8f5a2ebf312e9f333da13f0e9f9b215f7170a
+edfd451513e85c0a0efbba86a2f7f99da87701f4d003f744f70115fffffee666a9ff
+ffff199aff003280008ba98ba9ff00008000ff001f8000ff00018000ff001e4cccff
+00028000ff0031999aff00038000ff0036199a8b8b8b8f868e838bffffe3800080ff
+ffdc800082468289858d858d8508ff00368000fffffae666ff00078000fffffb199a
+8e51ff0001999a6dff00006666ffffe580008b6d8b6dfffffee666ffffcc8000ffff
+ff199a6dfffffd800038fffff78000884e8685858b809185a58dff00354ccd8eff00
+1db3338b08aa8bba88a98991918b9685914e8f838e88df080ed0ffff55b333ff0026
+4ccdf713a2f8f5a201f702daf792da03f84c7b15fffffe8000ffffb28000ffffd14c
+ccffffd98000ffffe933348b7d8bfffff74cccff0007e666fffff7e66896fffff54c
+ccff000e8000fffffb6666ff0016e667ffffdde6668b08fffff0999affffe36667ff
+fff3e666ffffe7cccdffffd86666ff0035cccdffffed4ccdff001833321fff003180
+008bff001db334ff000b4ccdb4aeff0021b334ff001ccccdbbff0030b333fffffe99
+98d5ffffff3334ff002c8000ffffff8000ff00c0e6668bff0037199a8bdeff000080
+00bcff00028000dfff00028000deff000e800090d18e91918b968591085a8affffe1
+b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f598c85858b809185d1889a868d
+388d388c5a8b388b38fffffe999afb3ffffffe66663808fb8cf711155c0a0e78fb87
+adf760a2f7f99da877f725ef12dbef40d0f757efffffacccccff0049b33413f900f8
+05f8eb15840a99fbb81513f880f7260a13fc00fbc3f7b815840aebfc7e1513fa0085
+0a0efb6affff55b333ff00264ccdf98ba2c87601f738da03f776f9bc15d50a4afdcc
+155d0a0efbb5fb87adf8dc9da87701ff0073cccdff0049b33303f705f7c715860ac1
+f7d915e50a0ee0fb76a3daddafa2f7bca7f7b1a201f5e1ff008fe666b203ff0138e6
+666215f7240affff87199af72a155e0a0e44fb76a3daddafa2f809a2f7849ea47701
+ff0053b333cfff00894ccdb203f79e6215f7240afb4df72415870a0e6186a2ff00b5
+4ccdff0017cccdff0097e6669dfffffe6666ff00168000ff0008199a7712f2d413d4
+f744f70115ffffff6666ff0017e666ffffff199ab0ffffff999aff001d3334ff0012
+1999ffffff6666ff000d8000fffffe999aff00094ccdfffffce66696fffff8cccdff
+0009199afffff78000ff000be666fffff0b33308d4ffffa2999a05ff001d6666ffff
+da6668ff0008999afffff133338ffffff1b333ff0000ccccfffffd3334ff00003334
+898e8b9f8c97ff0000e666a98baa8ba0ffffff199aa98a91ff0005b3338bff000819
+9985ff0005b33469ff0003ccccffffe6b334ff0010199affffe54cccff0020199a08
+fb18ff009e4ccc05fffffc6666ff00044ccdfffffc999aff000433338bff0004cccd
+8bff0003cccd8bff0001e6668fff0003cccd08e3ff0056cccd05a9ff001e8000aeff
+0013999ab3ff0003cccc91ff0005b3348bff000b199a85ff0005b332668a7dfffffc
+199a678b658b74ff0003e666668c85fffffa4cce8bfffff4e66691fffffa4cccc3ff
+fffc3334ffffe84cccffffd24cccfffff6b334fffff4e6660874ffffe46668ffffe0
+b334ffffdf8000ffffe64cccffffede666ffffea999afffff0e666ffffe63333ffff
+f5199affffed3333888bff001cccccff0000999aff001de666ff00016666a8ff0002
+8000ff0031999aff00038000ff0036199a8b8b0813ec8f868e831effffe3800080ff
+ffdc800082468289858d858d85ff00368000fffffae666ff00088000fffffb199a8d
+518c6d8cffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd8000
+38fffff78000884e860885858b809185b58cff001866668fff002a999a8bff002a33
+338bff0016cccd87b68a91918b968591084e8f828e89df080e5a86a279a8f8eaa2cf
+7612ff006d8000daf7bca2133cff0100999af9c715bd0affffbee666fd5a15f7270a
+13bcf7280a137c600a13bc610a137c620a0efbc886a2f9109ea47701ff005fb333cf
+03e8f215880af702f97c15d70a0e5afb76a3daddafa279a8f8eaa212ff006d8000da
+ff006a199ab2ff0096e666a213cfff010f999a6215f7240affffafe666f72a15f727
+0a13eff7280a13df600a13ef610a13df620a0efbc8fb76a3daddafa2f9109ea47712
+ff005fb333cffffff74ccdb213fce8f215f7290ab2fb24156e7678731f8b70a4829c
+880813fa9d8998878b778b7971735a808b828d829185c494bca98bc708bf73ad651e
+0e5a86a279a8f87e9ce5d344a212ff006d8000daff00ca199ab7ff0031e666a21337
+ff0176999af94e15f7120affff48e666fce115fffffeb333ff00528000fffffe4ccd
+ff002d80008bde8bdeff00008000bcff00028000df0813afff00028000deff000e80
+0090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bffffe34c
+cd8f598c85858b809185d1889a868d38088d388c5a8b388b388a5d893889387c8645
+8885858b809185081367600a13a7610a136f620a0efba386a2f8899ce5d35f9e12ff
+005fb333cfff00754ccdb713ecf79df94e15f7120afb40fce715893c82885188ffff
+f9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387
+b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a518e828e89da
+08ffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff006eccccff
+00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cccda78b8b8b
+92878d828b0813dc7381497f658889838a869185bd88ff0007b333fffffb4cccff00
+034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffffa36666
+8bffff989999fffffe6667ffff953333fffffee666ffffd6199a080e5a86a279a8f8
+30f3dda212ff006d8000daff005f199af3ff0060e666a2133eff011b999af88115f7
+170affffa3e666fc1415f7270a13bef7280a137e600a13be610a137e620a0efbc886
+a2f7bbebf7899ea47701ff005fb333cfff00314ccdea03f769f7fc15739d74a9a69f
+a1a4a673a174707673721efb0cfb9515880a0e5a86a279a8f8eaa212ff006d6666ff
+004f199af7bca213b8ff013a999af84b15fb12ffffb8199a05ff00003333ff00394c
+ccff0000b333ff002cb3348dff0042e666ff00028000deff000e800090d18e91918b
+9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bffffe34ccd8f598c85858b
+80918508d1889a868d388dffffad4ccc8cffffcf199a8bffffad999a08ffff9c199a
+529d6cff0051cccdff002ee66605ffffffb334ffffc4199affffff1999ffffd4b333
+fffffe4ccdffffbb4ccd89387c86458885858b809185081378600a13b8610a137877
+436650218b084206ffffcc80008b86bcffffff8000aafffffeb333ff00528000ffff
+fe4ccdff002d80008bde088bff00064cccff0090199aff0052b334050efbc886a2f9
+109ea47701ff005fb333cf03f787f84a15ffffb0cccdffffd1999a05ff00006667ff
+00596666ff0001199adeff0000b333aeff00013333c9ff0002cccda78b8b8b92878d
+828b7381497f658889838a869185bd88ff0007b333fffffb4cccff00034ccdffffb9
+b33408ff0001cccdffffd9ccccff0000e666ffffa5e6688bffffa36666088bfffffc
+8000ffffa64ccdffffcb66669c6eff0048999aff002a4ccc05ffffff999bffffa733
+34fffffeb333ffffab999affffff199affffdbe666893c82885188fffff9e666ffff
+f9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005
+e666ff0005e666ff0000333496fffff9e666ff0006199a08518e828e89daffffff19
+9aff00256666fffffe9999ff005c66678bff00604ccd088bff0016ccccff00604ccd
+ff0038199a050ef71c86a2f8f5a2d07601ff006a8000b4f82cb203f83cf9c815bd0a
+ff00828000fbbb15640a0e6786a2f7fb9c7cb3c87612ecd1f75fd2139cf7cef8ff15
+e40afb1ffbaa15f40a13dcf50a13bcf60a0ef71cfb76a3daddafa2f8f5a201ff006a
+8000b4ff00e08000b2ff00908000b203f7f16215f7240aff00cd8000f8ca15640a0e
+67fb76a3daddafa2f7fb9c7cb312ecd1f709b2bad213e7f7996215f7240a35f81215
+f40a13f7f50a13eff60a0ef71c86a2f8f5a2cf7601ff006a8000b4f82cb203f7e0f9
+4d15f7100aff00de8000fb4015640a0e6786a2f7fb9c7cb312ecd1f75fd21398f78a
+f88815f7110a44fb3315f40a13d8f50a13b8f60a0e6786a2f7fb9c7cb3ef9ce5d312
+e3b775d1f75fd2139dd3f94e15f7120af708fbf915f40a13dbf50a13bbf60a0ef738
+fb40aef718a2f8e6b96ca212f704daf7ebdf13dcf749f91d15828a80887e8b598b74
+8f598c85858b809185d1889c868b3808fc3f078b387a86458885858b809185bc8ca6
+8fbe8bbd8ba587bd8a91918b968591458e7a908bde08ff0151800007ff0002b333ff
+0010ccccff00084ccdff000c666892ff00084ccc0813ecc0cacbccbd8bb98bb081a6
+64ff0019ccccffffdaccccff00163334ffffb433348b2608fba007fb4851656a1e7d
+8b7d938495819887a06c8b087d6d807567c079a11fb88bff001ee666ff00083333ff
+0029199aff0022cccdff002be668ff00253333ff003f1998ff003dcccd8bf72308f7
+6c078bf719ffffe99998ff00564cccffffd66668ff0030b33468b45e9f4d8b318b49
+51533c088b85fffff88000881eff001f800007cc8fa68b1eff00004ccd92fffffab3
+3390828b080e60ffff2b6666ff0029e667ff00a8cccdff001f8000ff01518000ff00
+1ab332ffffe73334ff0031999a12ebd0f760d013dcf805ff0048800015ffff823334
+87ffff8a9999591e808b7eff0003cccd84ff0006b33381ff000980007fff000f4ccd
+758b08807678ffffeeccccffffe46667affffff299999e1fa08bbfff0002cccdb0ff
+001d999abaff002433339dff0044b3338bff00b4333308ff00998000078bff003466
+6687ff002db33474ff001d999a7aa076ff000b8000688b5a8b55fffff380004effff
+bf333288fffffc333484fffff680008bff000d4ccc8bff001c999a90ff002be6668b
+8b8bff0004ccce87ff0002cccc838b0813ec6ffffff580006cfffff7800046fffff7
+666689fffffa4cce8dfffff0b3328dfffffa4ccec1fffffb333296fffffb33348bff
+ffc8b33408ffff461999078bffffb1ccce81fffffc4ccc4ffffffb333485fffffa4c
+cc8bffffebe66791fffffa4ccdb48ca0ff0000e666b68bb28b98ffffff199ab58a91
+ff0005b3338bff0014199985ff0005b33458ff0004cccc82ff0003b3348bff004e33
+3308ff009c6667078b9f94ff000b666693ff0008999a0813dcb1ff00234cccb8a0b2
+8b9f8ba0fffff3800097ffffea199a95ffffece6668dffffe64ccc8bffffe3666808
+0ef71a81a3f900a3dabd01afe5f84fe503ff01c78000f97515f70b0aff005f800024
+15650af7e0fbc515660a0e3c81a2f813a2e6bd01b3d7f78ed703f7e8f89215f70b0a
+3ffbcf158d0af750f75d158e0a0ef71a81a3f900a3adbf01afe5ff00458000a7f76c
+a7ff00658000e503ff01d38000f9b915f70c0affff738000fb3f15650af7e0fbc515
+660a0e3c81a2f813a2c7c412b3d77fa6f76ca683d713ecf717f90615f70d0a13f230
+fc4315f7020af750f75d158e0a0ef71a81a3f900a3c07601afe5f84fe503ff01cc80
+00f9ac15f72a0afb179015f72b0afffffd8000fb3715650af7e0fbc515660a0e3c81
+a2f813a2f77a7601b3d7f78ed703f821f8f715f72c0afb189115f72d0afb75fc3a15
+8d0af750f75d158e0a0ef7d389a3f7c6a7f79aa612a8e3ff012d8000e0f74da2d7a2
+87a413fcf7eea11524fb12edf763f76af702dbec1fd28ba089ff0002800038ff0002
+8000ffffae8000ffffff8000ffffcd80008b388b38ff00008000ffffd18000fffffd
+8000ffffad800008fffffd800038ffffeb800087ffffce80008b088d7315a98bff00
+3580008da98b08f76106bbdb868b1f13fd99bd9ad093befffff59998ff0005e666ff
+fffe8000ff00024ccdfffff2e668fffffccccd774368433f8b08fb1c06758b7e9b8a
+a688ff005380008cff00af80008b8b08eb8a05e08b8e758e5e9185968b91918aae87
+ff000c80008bff001e80008bff0021999a8fff001666668ca98591808b8585885488
+7f368b082b8a058b8b8af71c8eddff0000e666a3ff000b199a9fa38b08f71b0613fe
+d68b9b56a146ff000c6668fffffe3334ff0000ccccff00021998ff0009ccccff0004
+b33486b47cee89938b8d8a8c888b7a888387738b08fba7066d8bffffc08000906d8b
+08fb4efb0efb2cfb48fb48f717fb20f7501f0ef76d81ba5caef773b2f70bac12ade1
+f78bdef761e1137ef82df7f1156fba66b6268b08fb03293efb30fb0fde2ef70e1fd9
+8bbdaeafc10813bea75cbb61e78bea8bb9bfa1a9fffffacccc93fffff9b334ff0006
+6666fffff58000ff0000999a6c6a4e7a658b648b2eba8bf71a8b958b968c9408f7b6
+06f70956d5fb0a1e478b5063695908fbb5fb0415d09eeff2b7dc57fb2e1e137efb21
+48695c2e63f0f7031ef8abbd15fb5d068d9ba5f1e18bd78b953e8c62080ecb81a07b
+a2f7a1a3f7d4a3cb7612f700daf77be3133ef7c3f9c815bd0afb08fca315f72e0a13
+bef72f0a137e6b0a8df7b615680a0efb6086a2f7f3bd619ce17612f0d11398f785f8
+ff15e40afb20fbc715f7300a13d8f7310a13b8f7320a0ecbfb76a3daddaaa07ba2f7
+a1a3f7d4a312f700daf71db2c2e313cf80f7c16215f7240afb06f7e215f72e0a13ef
+80f72f0a13df806b0a8df7b615680a0efb60fb76a3daddafa2f7f3bd619c12f0d180
+b213e2f71d6215f7240a13f467f7f515920a13ec930a0ecb81a07ba2f7a1a3f7d4a3
+ca7612f700daf77be3133ef789f94d15f7100a51fc2815f72e0a13bef72f0a137e6b
+0a8df7b615680a0efb6086a2f7f3bd619c12f0d11390f743f88815f7110a41fb5015
+f7300a13d0f7310a13b0f7320a0e3f81a5f8fea3c87612a6ff00168000ff00018000
+ff00456666ff00f1999add55ff0016800013f8f7aef9c815bd0aff0070b334fb5115
+f7330a13fcf7340a13faf7350a0efb4f81a19476f821a1c87612b99e85cbf721d161
+a0137ab9f71215940a13b6950a13b5960a13ba970af749f88115b10a0e3f81a5f8fe
+a3c77612a6ff00168000ff00018000ff00456666ff00f1999add55ff0016800013f8
+f78cf9c315d50aff0092b334fb4c15f7330a13fcf7340a13faf7350a0efb4f81a194
+76f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13b4970a
+f739f89015e50a0e3ffb5ca8d6abff00368000ff00198000f8fea312a6ff00168000
+ff00018000ff00456666ff0084999ac9badd55ff0016800013ff00f7702b15a2957d
+7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f
+828b828a838908ff00156666ff00394ccc05ff0028ccceff0001e667ff00264cccff
+000ae667ff001f8000ff0013b333ff00398000ff0023ffffff00248000ff003d999a
+8bff003f999a8bff005f33344ab8ffffb7e666ff001eccccffffcf199aff0014cccc
+ffff766666ff002633348bed8bc3ff0034999acdff003ae6668b0813fe80ff006119
+9a8bb4439f49ff000b8000ff000033348dfffffecccc9492fffffc8000bb87a7ffff
+f5b334c0ffffc6333293ff0002199a9effff9e4ccd8bffff9ab3338b32488b218bff
+ffa2e666ff0042e666ffffd2ccceff004d8000ffffde4ccc0813ff00caffffe4999a
+ff0067999affffea33328bffff8d33348b3affffd0cccc57ffffb033348bffffa280
+008b45ff0034800075ff00638000fffff3b3338fffffff6667fffffe199afffff666
+66fffffae6668f3e8f71975aff0039999a8bff001c3333ffffeccccdff00483333ff
+fffcb3330867ffffa980009185059b90958c9e8b080efb4ffb5ca8d6abe076f821a1
+12b99e85cbe9c97cd161a013fa00b9f712158f5c8d648b63958d948c908b928b908b
+9289ff0016b333fffff9e666ff0016999afffffc3334ff001c9999ffffff199908ff
+ffdc199affffa9cccd9185059b90958c9e8b08a2957d7671767d6d1f778b808f7095
+848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015cccd
+ff003a4ccc0513f500ff00368000ff00068001ff004bb334aa8bff005233338bcc5c
+ab4aa452a1619e8bbf8bb2ababb28b0813f480960a13f900970a0e3f81a5f8fea3c7
+7612a6ff00168000ff00018000ff00456666ff00f1999add55ff0016800013f8f76b
+f94d15f7100aff00b3b3344915f7330a13fcf7340a13faf7350a0efb4f81a19476f8
+21a112b99e85cbf721d161a01374b9f71215940a13ac950a13aa960a13b4970af70f
+f80915f7110a0eaffb5ca8d6abc6a2f8eaa89677128ea3f785da86c9f737a313f580
+f7c92b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff0018e666ff0042b33305ff00298000ffffff19
+99ff001f4cce88ff002a4cccffffff333391918b968591458e719089de0813f68089
+ff005280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b3
+348dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab80813ee80f736
+0a13f680f7370a13ee80f7380a13f6809fdbb9afcd8b08c606b08bff00094ccc78ff
+0001b3344eff00024cccffffadb334ffffffb334ffffce4ccc8b388b388b5d893889
+387186458885858b809185ff002de666ff0000e666ff0022e667ff0003b334ff0031
+3333ff0000666608632b9185059b90958c9e8b080efb99fb5ca8d6abf850a801e6d0
+b4c903f73c2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b
+08c8b9aab6b16ca3631f828b828a838908a2ff003d800005acff00083333ff0020e6
+66ff0013999aff001b199aff001eb3338995fffffe80008dfffff980008d7278687c
+728b718bfffffc6666a8fffffd999ac689bd8ef70c8fe408ee0695988e941f96078f
+898d861efb078b8cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b7c80
+7c857b847a8a8b818b808e7d8b21085f067e8785831f8207868c8a8f1ec3068b2c86
+fb208b4f8bffffbc199aff0016e66670ff002be667ffffffe66608ffffdc33333591
+85059b90958c9e8b080eaf86a2f8eaa89677dd76128ea3f785daf770a3139ef7a9f9
+4d15f7100a80fb3515f7390a13def73a0a13bef7360a13def7370a13bef7380a13de
+f73b0a0efb4f81b6f7efa8f7029ce5d312e1d04bd0f74ab713f2f7daf94e15f7120a
+fbabfbb515f73c0a13f6c30613fa980a13f6990a0eaf86a2f7cda8f794a89677128e
+a3f785daf770a313eef79ef8ac15ff0001e666ffffbb6666ff0000199a5d8bffffc2
+999a08fb0b0682818681858e83931ff71381068b388b5d893889387186458885858b
+809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a91918b
+96859108458e719089de89ff005280008bff002d80008bde0896f716079794929690
+8891821ffb1f06ffffffe666ff003c999affffffe666ff002d4cccff00023334ff00
+46199a8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab80813def7
+360a13eef7370a13def7380a13eef73b0a0efb9981b6f75ca6f70ca812e3d4ffffb7
+cccdff0042666613e8baf82d157e8785831f8207868c8a8f1ec3068bffffdc3334ff
+ffff4ccdffffd5b332ffffff1999ffffd6199a08ffffe1999a0682818881858e8393
+1fff0025cccd06fffffeb334ffffc46666fffffe8000ffffc8199a8bffffdf80008b
+47a270b78bb78bbba0b0b58995fffffe80008dfffff980008d7278687c728b718bff
+fffc6666a8fffffd999ac6088aff00188000ff00004ccdff00294ccdff0000e666ff
+002e333308ff006bcccd0697949096908891821fffff8bcccd06ff00010001ff0028
+8000ff00018000ff002a6666ff0001b333ff0025199a08ee0695988e941f96078f89
+8d861efb078b0513f08cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b
+7c807c857b847a8a8b818b808e7d8b21080ef681aaf8f2a2bdc089c212efdaff0122
+8000a6ff002d8000b113eeff01a68000f98515bf0a13dec00a13eec10affff0c8000
+fc78156c0a0e5581ae8f9af7efa2dbc089c212dfd0f755d04ba613f5f7c4f8b715bf
+0a13edc00a13f5c10a20fcc115f7080a13e6f73d0a13e5f73e0a13e6f73f0a0ef681
+aaf8f2a2c2bd01efdaf7ffb103ff01ce8000f95515f70b0affffc48000fc48156c0a
+0e5581ae8f9af7efa2ebbd01dfd0f755d003f7f5f89215f70b0acffc9c159a0a0ef6
+81aaf8f2a2b4bf01efdaff002a8000a7f76ca7ff00308000b103ff01ed8000f9b815
+f70c0afffec58000fcab156c0a0e5581ae8f9af7efa2cdc412dfd05aa6f76bd047a6
+13f5f717f90715f70d0acdfd1115f7080a13faf7090a0ef681aaf8f2a27fabf5ab12
+efdaff00598000b3ebb3ff00618000b113bfff01648000f99c15e70a335615e80aff
+ffa68000fc5a15f706078bbd8bb58dc80813df8dde9c90d18e91918b9685915a8aff
+ffe1b33387ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b809185d1889b
+868d38088d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d8c
+c79291918b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee6688f
+598c85858b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba
+85dc8bcc080e5581ae8f9af7efa2dfabf5ab12dfd082b3ebb3a5d013fb80f77cf910
+15e70a335615e80ac0fce515b08bc29fbab1908f948d8b848b7596688b8b92888f8c
+928da09ca69ac59291918b8e8591084e90fffff8e6669dfffffe199aba89bd8bf58d
+bdff00013334a8ff0002ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c08
+85858b809185ba88ff00098000fffff4e666ff00028000ffffc1199a8d598b218959
+ffffff4ccc79fffffeb3348e7e7f686c5c72738b0813fd80ffffc4e6668bfffff680
+00ff0017199afffffc999aff0054e66689bd8be28dbdff00013333a8ff0002cccdc6
+8b8b8b8e888e868b868a7d8a7d8b6c8b728c688c0885858b809185b987ff000a8000
+82ff000280004d8d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e9
+8b080ef681aaf8f2a2c87601efdaf7ffb103ff01f78000f9ac15f72a0afb179015ff
+00174cccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc96666fb02
+05fffffe199afffffc3334ffffff8000fffffacccc8b898b849186928bff0005999a
+8b8fff00038000ff000466668f08e3ff0050800005908f8d928b9308ffff3e8000fc
+a4156c0a0e5581ae8f9af7efa2f77f7601dfd0f755d003f831f8f715f72c0afb1891
+15f72d0a37fd07159a0a0ef6fb5cb1f72caaf8f2a201efdaff00808000c9ff00ac80
+00b103ff01f98000fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002e4c
+cdff0020e666ff001ecccdff0048199aff003b4cccff00543334ff00303334ff0015
+4cccff006419998bff007d4ccd08f785078bde9d8cc79291918b9685915a8afffff5
+4ccc87ffffd9b3348bffffd519988bffffeee6688f598c85858b809185d6849c8a8b
+3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba85dc8bcc08f706078bbd8bb58d
+c88dde9c90d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcd4ccd8bff
+ffe2b3338f598c85858b80918508d1889b868d388d388b5a8b38083607fb60f72261
+e51eff0017cccc8bff0015999aff0001b333ff0013999aff00034ccdffffcb4cccff
+ffd9b334ffffdb3334ffffd7cccc8bffffd580008b55b177bd8bb48bb39fa8b8080e
+55fb58b1f728ae8f9af7efa212dfd0f72ac978d013faf889fb17158792858f828b75
+757b7b6e8b0813fc667ea0a51f8bff002c8000ff00158000ff0044b333ff00434ccc
+ff0015b333ff00094cce8dff000a4cccff0001b334ff000b999aff0001666691918b
+8e85910813fa4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b868a7d8a
+7d8b6c8b728c688c85858b80918508b987ff000a800082ff000280004d8d598b2b89
+59fffffd6666ffffbe199aff0015999affffbfe666e98bb08bc29fbab1908f948d8b
+848bfffff0b333ff00054cccffffea999aff00033334fffff433330813fcffffd899
+9affffdbe666ffffefe666ffffcf999a8b678b55b177bd8b08b48bb39fa8b8080ef8
+389476f913a2c87601ff01ed6666f9bc15fffff0999aff0007b334fffff66666ff00
+00b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ff00220002
+79b279ff00091998ff0003ccccff00041998ff0008199cff0002ccd0ff0009199808
+67a666adffffe1fffeaf08ff015d199afb87156e0a0ef72c9576f826a201f813f90d
+15f7400afb51fb86159c0a0ebc86a2f8f5a2c87601f7a6e003ff015b3334f9bc15ff
+fff09998ff0007b334fffff66668ff0000b3347dfffff799986c69ffffdeffff6866
+6f8d828e859485ff002600019cab9cb0a6ac72ad79b279ff00091998ff0003ccccff
+0004199aff0008199cff0002ccceff000919980867a666ad6daf08ff000bccccfd4f
+15700a0e49fb85cff8c8a201f7b7f90e15f7400a21fdbb159e0a0ebc86a2f8f5a2c1
+ea12ff00bf3333ff005e0001fffff4cccce0ff00013334e913f4ff00bf3333f98315
+ffffffffff71a076a58b08ff001a0001a0a0a5a576a1ffffe5ffff1f717675711fff
+00a9000116a30a13ecfffffeccccfd1615f7410a0eb08ba7f8dcac9677de7612c29f
+f870a013bcf8b58615710a13dc720a13bc730a13dc740affff306666f9cd15d40a0e
+fb2b8ba1f7fea49577f7977712c0a01398f794f92415e40a13b8fb4bfb81159f0a13
+d8a00a0eb08ba7f8dcac9677f770f312c29fff00ac6666f3ff00c7999aa0139eff00
+f76666fa2015f7170aff0129999afe2515f7420a13bef7430a13de720a13be730a13
+de740a0efb2b8ba1f7fea49577f728ef12c0a0e6ef139cf739f8eb15840a13bc2ffb
+48159f0a13dca00a0eb08ba7f8dcac9677dd7612c29ff870a0139cff01176666f94d
+15f7100aff0109999afd5215f7420a13bcf7430a13dc720a13bc730a13dc740a0efb
+2b8ba1f7fea49577f7977712c0a01398f750f89715f7110a13b8fb072b159f0a13d8
+a00a0efba286a2f805a1f79da301ead0f701d803f738f31589bd8bf7ad8dbdff0001
+999aff00289998ff0001b333afff00064ccdff001d6668ff000b6666ff00351998ff
+00163333ff001de668ff0020cccd8ba28b917b8f789071987ea58ba48b93958b9b08
+8b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccdff
+ffcd9998ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b41fffffcb33386
+ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff0000b333ff0000
+199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdfffffb
+66668b808b8b8cfb6c8959fffffccccdffffb1199afffff83333fffffbe666588885
+858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b48a08
+91918b9685914a8efffff93333ff0004199afffffccccdff004ee666080ef71a81a3
+f900a3afe112afe5ff01b08000b0ffffe58000e513f4f7dbf90e15db0af7e0fbc515
+f7440a13f8f7450a0e4f81a2f813a2b3db12b3d7f78ed76bab13f8b3f75715f7460a
+13f4f7470af750f75d1513f88e0a0efc0c9676f9587701d4b203f7048115f95864fd
+58070efba69676f9587701d4b2cab203f76a8115f95864fd58074c16f95864fd5807
+0efb799676f7bfadd3adf7a17701f71cb203f7b7f7d715fb08d3f708adfb08f7a164
+fba1fb0369f70343fb0369f70306fbbfb2f7bff708070efba586eff8c77701e9ef03
+f724f92615200a59fcf715210a0ef95586a378a7f8dcac78a39177dd7612f702d9f8
+1be5bc9ff870a01397c0f754f70115510a1327c05ff8ac151397c0f7480a1347c0bc
+8ca98fbe8b081397c0f7490aff031a6668bf15f7100aff01099998fd5215f74a0a13
+4fc0f74b0a1327c0720a130fc0730a1367c0f74c0a0ef89286a3f801a49577f777a3
+937712f702d9f81be5b7a01397f754f70115510a5ff8ac15520af950fb1615bd06a8
+b9b1b8aeb208138ff74d0a13a7fb072b159f0a13c7a00a0ef7e481ae72a1929af7e8
+a47da3f783779b9ea47712b0d7f76cd0f721a013a9e0f7ddf70015ffffff4ccc79ff
+fffeb334847e7f686c6c7c738b588b4fce8bf70b8bd099ba999fa9b8b88e9e8bad8b
+a67f9e7508987c8e848b6d088b8b8bfb2b895908804f15f7130a13abe0f7140af7f8
+f86715bd06a8b9b1b8aeb2081325e0f74d0a1329e0fb072b159f0a1371e0a00a0ef7
+63ffff55b333ff00264ccdf713a279a8f8eaa212ff006d8000daf7bca2ff006c8000
+da13deff00bf8000f701155f0a13be600a13de610a13be620aff01a58000fb1115ff
+fffe8000ffffb28000ffffd14cccffffd98000ffffe933348b7d8bfffff74cccff00
+07e666fffff7e66896fffff54cccff000e8000fffffb6666ff0016e667ffffdde666
+8b08fffff0999affffe36666fffff3e666ffffe7cccdffffd86666ff0035ccceffff
+ed4ccdff001833321fff003180008bff001db334ff000b4ccdb4aeff0021b334ff00
+1ccccdbbff0030b333fffffe9998d5ffffff3334ff002c8000ffffff8000ff00c0e6
+668bff0037199a8bdeff00008000bcff00028000dfff00028000deff000e800090d1
+8e91918b968591085a8affffe1b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f
+598c85858b809185d1889a868d388d388c5a8b388b38fffffe9998fb3ffffffe6668
+38080ef766fb82adf75ba279a8f7f39da877f725ef72a212ff006d8000daf7bca2ff
+00558000efffffacccccff0049b33413db80ff00bf8000f701155f0a13b980600a13
+d980610a13bb80620a139dc0ff01918000f88315840a99fbb8151399a0f74e0a0e3f
+fb87adf760a2f7f99da877f725ef929ea47712ff005fb333cfff008f4ccdefffffac
+ccccff0049b33413ff80f7c7f8eb15840a99fbb81513ff40f7260afb78fb6015880a
+0ef85dffff55b333ff00264ccdf713a2f8f5a201ff006a8000b4f82cb2ff010f8000
+da03ff022a8000f8a115640aff01348000fcb115fffffe8000ffffb28000ffffd14c
+ccffffd98000ffffe933348b7d8bfffff74cccff0007e666fffff7e66896fffff54c
+ccff000e8000fffffb6668ff0016e667ffffdde6648b08fffff0999cffffe36664ff
+fff3e666ffffe7cccdffffd86666ff0035ccccffffed4ccdff001833341fff003180
+008bff001db334ff000b4ccdb4aeff0021b334ff001ccccdbbff0030b333fffffe99
+98d5ffffff3334ff002c8000ffffff8000ff00c0e6668bff0037199a8bdeff000080
+00bcff00028000dfff00028000deff000e800090d18e91918b968591085a8affffe1
+b33487ffffcd4ccc8bffffcdb3348bffffe34ccc8f598c85858b809185d1889a868d
+388d388c5a8b388b38fffffe9998fb3ffffffe666838080ef80ffb87adf760a2f7f9
+9da877f725ef77a212ff006a8000b4f82cb2ff00a78000efffffacccccff0049b334
+13fb00ff022a8000f8a1158cfbef05ff0000199878fffffae66880848b838b809d6e
+b008fbebf84efb158d0585858b809185bb88a46b9664088afc42058b327a85458485
+858b809185bc8cff0010cccd8fff002a33338bff0029cccd8bff000f333387bd8a91
+918b96859145927a8f8be6088af7d305ffffffe666adff0005199a9a938b918b9680
+9c7508f7f1fc4d05967c98829b8b089989979e1f8cf88c0513f7008be49c91d19291
+918b9685915a8affffef333487ffffd5cccc8bffffd633348bfffff0cccc8f598c85
+858b80918508d1849c878b300813fb80ff00cf8000d515840a99fbb81513f340f74e
+0a0ef755fb87adf760a2f7fb9c7cb3f714ef12ecd1f75fd2f71befffffacccccff00
+49b33413ee00f743f7e9158b0a13de008c0a13cf00f825f79615840a99fbb81513ce
+80f74e0a0ef71e86a2f778abf81077db7601ff014a999af94d15f7100affffb9e666
+fc3715480afbb8fb6515490a0e2081b363a9f80da112b5d459d8f72cd01324f751f8
+8815f7110af3fbb415e20a1374e30ad8fb261513ac780a1374790a0efb9686a2f8f5
+a2cf7601f702da03ff007a6666f94d15f7100aff0045999afce0155c0a0efbba86a2
+f7f99da87701f4d003f4f88515f7110ad2fc1815850a0ef71a81a3f900a3c77601af
+e5f84fe503ff01438000f94d15f7100aff000380004c15650af7e0fbc515660a0e3c
+81a2f813a201b3d7f78ed703f76af88715f7110afb42fbc4158d0af750f75d158e0a
+0ef681aaf8f2a2cf7601efdaf7ffb103ff01458000f94d15f7100affff6d8000fc40
+156c0a0e5581ae8f9af7efa201dfd0f755d003f76ef88715f7110a76fc91159a0a0e
+f681aaf8f2a295e9b1bd01ff00638000dcff00398000e9bde9ff00418000b203f782
+f95715df0af72416df0affff368000fc4a15e00af7acf89f15f70b0a0e5581ae8f9a
+f7efa2f706eaadbd12dfd064e9d6e96cd013f800f7fef92515f70b0a13fa00733915
+e60a13f900f73d16e60a35fcdd15f7080a13fc80f7090a0ef681aaf8f2a295e901ff
+00638000dcff00398000e9bde9ff00418000b203f782f95715df0af72416df0affff
+368000fc4a15e00aff0107199aff0244e66815ffffa08000ffffb44ccc0581fffff8
+1998fffffe6666fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6
+668bff0006e6668bff00093334ff00029998ff00103332ff0007e66808ff006ee666
+ff0033199805fffff63334ff0012ccd0fffff03334ff000f4cccffffe9e666ff000b
+b334080e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f0ff01396666ff0302
+666815ffffc3999affff94e66405fffff98000fffff48000fffffd4ccdfffffc6668
+8bfffff5e6648bfffff9b334ff00059999fffffa999cff0005999a8bff0005999a8b
+ff00066666ff0003999897ff000d800008e7ff00621998fffffd999aff0009e66805
+ffffed999aff0013ccccffffeb8000ff0000e668fffffae6668b08878bfffffb3332
+ffffff1998fffffd999affffff199c0813f4ffff38999affff3c999815e60a13f2f7
+3d16e60a35fcdd15f7080a13f9f7090a0ef681aaf8f2a295e901ff00638000dcff00
+398000e9bde9ff00418000b203f782f95715df0af72416df0affff368000fc4a15e0
+0aff00a4199aff01df199815ff0021199a06ff00171998ff001de668ff0018999aff
+001c3334ff001d4cceff0019800008fffff48000ff0011999805ffffe2b332fffff1
+e668ffffe76666ffffef4cccffffe38000ffffe91998ffffe6999aa1ffffe5ccceff
+0010b3346d9a08fffff39998ffffee666805ff001bb334ffffe76664a6ffffe5999c
+ff0017199affffdf6664080e5581ae8f9af7efa2f706ea12dfd064e9d6e96cd013f0
+ff00e73333ff0281800015ff0028000106ff00173332ff00296668ff001e6666ff00
+288000a7ff0023199808fffff0ccceff000bb33405ffffe26666ffffe7b334ffffe4
+ccccffffe98000ffffe26667ffffddccccffffe4cccdff00206664ffffe5999aff00
+168000ffffe0ccccff001a199c087bfffff44ccc05a7ffffddccccff001d999affff
+d78000ff00173333ffffd5b3340813f4ffff8acccdffffbd800015e60a13f2f73d16
+e60a35fcdd15f7080a13f9f7090a0ef681aaf8f2a295e901ff00638000dcff003980
+00e9bde9ff00418000b203f782f95715df0af72416df0affff368000fc4a15e00aff
+0053e666ff0244199815ffffe5b334fffff5ccd0ffffedccccfffff23330fffff1e6
+67fffff0666808ff00769999ffffc8800005ff00103334fffff81998ff000ab332ff
+fffd6668ff000633348bff000633348bff00056666ff000633348b928bff00063334
+fffffce666ff00054cccfffff7800092080e5581ae8f9af7efa2f706ea12dfd064e9
+d6e96cd013f0ff00cd3333ff0305666815fffffcccccff0000e664fffffb3333ff00
+00e668878bffffe4cccd8bffffed999afffff0b334fffff99999fffffa999808ffff
+fe6667fffff61998ff005b3333ffff9de66805ff000ccccefffff28000ff00059999
+fffffb8000ff0004cccd8bff000666668bff0005999aff000566688bff000480008b
+ff00064cccffffff3334ff00064ccc87940813f4ffff6ccccc3615e60a13f2f73d16
+e60a35fcdd15f7080a13f9f7090a0efb1281a2f718a9f763b001aad7f763da03f7ce
+f72a15f74f0a44f74315f7500a0ef71e86a2f778abf810779febb1bd12f755ebf721
+eb13def755f95615c20af78116c30affff568000fc4015480afbb8fb6515c40a13ee
+c50aff013f199af96715f70b0a0e2081b363a9f80da1f701eaaebd12b5d459d850e9
+d6e957d0133800f7d5f92615f70b0a1339007d3815e60a133880f73d16e60ab4fbff
+15e20a137c00e30ad8fb261513ba40780a137c40790a0ef71e86a2f778abf81077ee
+b7daf301ff0138999af303ff01c3999af9a115835fff0052fffe8b0597969c979287
+93811fffff0500025f1594b7378b057f817980848e83941fff003ce666fc5f15480a
+fbb8fb6515490aff00a5199af9df15f70e0a0e2081b363a9f80da1f714efa9bd12b5
+d459d8a3efa7d0133980f7ebf93915f70b0af742fc6515e20a137d80e30ad8fb2615
+13bb80780a137d80790afb0cf8bd15f70f0a0ef7de86a279a5f789a8a7a7f79aa679
+a28d77f4bd12ff01af8000dcf763a2d7a287a41331c0f92df97515f70b0afffff680
+00fc6615f7510a13b1d0f7520a1371d0c80a13b1d0f7530a1379e0c90a1333d0540a
+1339d0ca0a13b5d0cb0a1371d0cc0a13b1d0cd0aff00b98000f79d15ce0a0ef71281
+b066a9f74eadf730a2e6bd12b0cf52d0f73ad0f753d4133980f85cf89215f70b0a9f
+fb1b15f7540a137d80f7550a13bb80f7560aaafb3d15eb0a137d80ec0ad1af15ed0a
+0ef72981a5f732a8dca5f7d5a612abe2f839da6ea313fcf80af92615fb40fb3efb17
+fb70fb41f71cfb24f75d1ff70a8bdbaecfc5809486938b9608caff003f9998a8ffff
+c06668ac078bff002333349cff0009cccca88e91918b9985916d8a7e87638b648b65
+8f5c8c85858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8bffffd7e6
+66086affff87999a6eff007866662707696b4f71558b08fb462cf747f718f743f706
+f715f7131f13faf7258bc62fa535958bff0006b334ff00008000ff00074cccff0005
+8000fffff83334ff0044800084ff00318000fffff8ccccaf084f8b67b8fb0e8b080e
+3dfb8aa4e9a6e1bb5ebfe1a2f78aa276b512a8ff00416666ffffd8999ac457d3f743
+d397c613cc70f7c7f79e15810af708f215f71f0a13ca70f7200a13dc70f7210a13d8
+b07074726b8b628b63a473a881ffffd8199affffe7b333ffffe58000ffffda3333ff
+fff66666ffffdd199a0869700613d930a98a0638db68d41eff006880008bff006f19
+9aff002e999aff00266666ff0048666608bca6ffffd9800006ff00024ccc94ff0001
+3334ff000966668bff0009999a8baa7da66fa266aa488c688b7a8b738974880813ea
+b0f7230affffdfe666fc6915fffed6333406ff00010002ff001d4ccdff00068000ff
+001ecccdff00196666ff001de66695889b8a978b0813d830a98ba68e988bbb8bab89
+a77cb07697748b728b8affffffe6668a8b8a08fffffa199a701575ffffc9b333ffff
+b1199affffd84ccdffffb6e6668b0813c930ffffc6199a8bffffce3333ff00268000
+fffff71999ff00378000080ef72981a5f7a0a5f7d5a6c77612abe2f839da6ea313f8
+ff0161999af94d15f7100aff001466666415f7190a13fcf71a0a13faf71b0a0e3dfb
+8aa4f763bb5ebfe1a2f78aa276b5f7647712a8cb65c457d3f743d397c6139230f757
+f88d15f7110af704fb8315325b70681e139a70f71c0afb49fba81513d330f71d0a13
+b330f71e0af7bdf80f15f71f0a139670f7200a13ba70f7210a13b2b0820a13b330f7
+220a13d6b0f7230a0ee086a2f7bca7f7b1a2cf7601f5e103ff0145e666f94d15f710
+0affff7a199afce0155e0a0e4486a2f809a2f7849ea47701ff0053b333cf03f7b2f9
+1515f7110afb61fcae15870a0ef71afb5cb1f72ca3f900a301afe5ff00cc8000c9ff
+00b08000e503ff02108000fb1b15f7570affff368000f99515650a0e3cfb5cb1f72c
+a2f813a201b3d7cfc9f70cd703f812fb1b15f7580afb2ef8a7158e0a0ef71afb5cb1
+f72ca3f900a3babd01afe5ff00cc8000c9ff00b08000e503ff01c58000f95515f70b
+0af7bffddc15f7570affff368000f99515650a0e3cfb5cb1f72ca2f813a2e6bd01b3
+d7cfc9f70cd703f7f1f89215f70b0af795fd1915f7580afb2ef8a7158e0a0efbb5fb
+87adf8dc9da877f78b7701ff0073cccdff0049b33303f705f7c715860a92f75b15f7
+110a0ef96c86a378a7f8dcac78a3917712f702d9f81be5d29ff870a01387801c04ce
+8615f74a0a134f80f74b0a132780720a130f80730a136780f74c0afea2f7061588dd
+8ab98bde8bde8dbc8ddf081397808dc989a7e78b08f76cdafb50fb2efb5efb154cfb
+211ffb008b84a789c9081327805ff8ac15139780f7480a134780bc8ca98fbe8b0813
+9780f7490a0ef8b686a3f801a49577f777a312f702d9f81be5cea013bef988f83715
+9f0a13dea00afcc8fbca15510a5ff8ac15520a0ef7e081ae72a1929af7e8a47da3f7
+7f9ea47712b0d7f76cd0f71ca0132fc0f8bef837159f0a1377c0a00afb75fbcb15ff
+ffff4ccc79fffffeb334847e7f0813afc0686c6c7c738b588b4fce8bf70b8bd099ba
+999fa9b8b88e9e8bad8ba67f9e75987c8e848b6d088b8b8bfb2b895908804f157e0a
+0ef72981a5f7a0a5f7d5a6c87612abe2f839da6ea313f8ff019a999af9c815bd0aff
+ffdb6666fb3615f7190a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78a
+a276b5f76e7712a8cb65c457d3f743d397c6139230f7a5f92415e40aadfc1a15325b
+70681e139a70f71c0afb49fba81513d330f71d0a13b330f71e0af7bdf80f15f71f0a
+139670f7200a13ba70f7210a13b2b0820a13b330f7220a13d6b0f7230a0ef71c86a2
+f8f5a2cf7601ff006a8000b4f82cb203f7b0f9c515d00aff00958000fb6415640a0e
+6786a2f7fb9c7cb3f7837712ecd1f75fd2139cf7a3f92415760afb3afb5115f40a13
+dcf50a13bcf60a0ef71e86a2f778abf87dab01ff0113999ab3ebb303ff01048000f7
+aa15480afbb8fb6515c7f72f0590989194a38b08ff00d080008bff003f8000fb4c05
+ff000e199862ffffd78002ff00006666ffffd06666fffffc999a85858b809185b08c
+c28fb28bb48bb687b08a91918b968591ffffd93334ff00038000ffffdeccccff0003
+800079be08ffff366666ff0231666805ff001d3334ff000dccccff0014b332a8ff00
+00ccceff001fccccff00068000ff0001e668ff0007ccccff0002e664ff0009b334ff
+0004333408ff008ffffec505fffff34cd0ff00154cccffffeb4cccff00116668ffff
+e36664ff000d4ccc08ffff8cccceffffb0199805fffff1199aff001c6668ffffe119
+9aff001380006a8b5d8b61648b5d8bffffda4cccff001c3332ffffdf199cff002366
+68fffff54ccc08ffff1a4cccfffde34ccc05ffffe63333ffffc34ccdffffe14ccdff
+fff5b333ffffd480008885858b809185b08ca28fb28bb48ba987b08a91918b968591
+ffffda6666ff0002999affffd06667ff0006b333ff00103333ff0029b33308ff00d8
+199af94e15c60a0e2081b363a9f80da1d9abf5ab12b5d459d877b3ebb387d0133980
+f766f90f15e70a3356155db564b9bbb3b3b81e8bff001ee668ffffedcccca6ffffe6
+6667ff000ee664ff00034ccdff0002999cff0003ccccff0003ccccff0004b334ff00
+054ccc08e7ff00621998fffffd999aff0009e66805ffffed999aff0013ccccffffeb
+8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999affffff19
+9c08ffffc3999affff94e66405fffffa3333fffff5ccccfffffd4ccd87ffffff6666
+fffff84cd0fffff93334ff0001b33084ff0000e668fffff8e6668b085d61645d1ff7
+3ffc0615e20a137c00e30ad8fb261513ba40780a137c40790a0ef7de86a279a5f789
+a8a7a7f79aa679a28d77e37612ff01af8000dcf763a2d7a287a41331c0f8fef9c915
+e10affff458000fcba15f7510a13b1d0f7520a1371d0c80a13b1d0f7530a1379e0c9
+0a1333d0540a1339d0ca0a13b5d0cb0a1371d0cc0a13b1d0cd0aff00b98000f79d15
+ce0a0ef71281b066a9f74eadf730a2f7837712b0cf52d0f73ad0f753d4133980f82b
+f92415f7590afb2ffbad15f7540a137d80f7550a13bb80f7560aaafb3d15eb0a137d
+80ec0ad1af15ed0a0ef71a81a3f900a3c87601afe5f84fe503ff01858000f9c815bd
+0afffed88000fdd715dc0af77df91d15dd0aff00c23334ffff86666815de0a0e3c81
+a2f813a29977ce7612b3d7f78ed7139cf7abf8ff15e40a13bcf70dfb4e15f7030a13
+dcf7040a13bcf7050a13dcfb406615f7060aff00714cccffffaacccc15f7070a0ef7
+1e86a2f778abf8107701ff00d0999af9a315f75a0af71790158b838d84908708e3ff
+ffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b928b8dffffff
+8000ff00053334fffffe199aff0003cccc08ffffc96666f702058693848f7c8bffff
+f04ccc8bffffe9b334fffff14ccc8bffffe8b33408ffffb0e666fc9215480afbb8fb
+6515490a0e2081b363a9f80da1f7767712b5d459d8f72cd01332e1f91915f75b0af7
+1c9115f75c0ad2fc4b15e20a137ae30ad8fb261513b6780a137a790a0ef71e86a2f7
+78abf81077d576c8bf01ff00e5999aa7f76ca703ff00e5999af94715f75d0aff001e
+e666fc3115480afbb8fb6515490a0e2081b363a9f80da1f750c412b5d459d850a6f7
+4cd066a6133280f7daf89915f75e0a6afbc515e20a137800e30ad8fb261513b50078
+0a137900790a0e9186a279a5f7c2a7f79aa679a28d7712f5def763a1d7a387a31323
+00ff00836666f9a7158b828e848f8708ee37058d898e8a8e8b908b93908b938b8eff
+fffeccceff00036668fffffd7fffff0004999808ffffc4b333f701058693848f808b
+086e7fffffea3334ffffefcccc1ff71790158b838d84908708e3ffffaf800005ff00
+046666878ffffffc8000ff0005999a8b928b91908b928b8dffffff8000ff00053334
+fffffe199aff0003cccc08ffffc96666f702058693848f7c8bfffff04cce8bffffe9
+b332fffff14ccc8bffffe8b33408ff0029999afc4715d10a133380d20a132740540a
+133340550a13ab40560a136340570a13a340580a137380d30a0efb1281b0f75fa8f7
+1da2f77d7701aed7f766d703e8f92015f75b0af71c9115f75c0afb07fc23157f0ad2
+fb4315800a0e9186a279a5f7c2a7f79aa679a28d77db76c8bf12f5deffffda6666a7
+ff00d8999aa1d7a387a3132360ff00976666f94715f75f0aff0098999afbe215fb09
+8a051333b0d60a1327a8540a1333a8550a13aba8560a1363a8570a13a3a8580a1373
+b0d30a0efb1281b0f75fa8f71da2f751c412aed76da6f769d742a613f5f7d8f89a15
+f75e0afb66fb9715f00a13f2f10ad2fb4315f20a13faf30a0efb9686a2f8f5a2c576
+01f702da03ff00006666f9ae158b828e848f8708ee37058d898e8a8e8b908b93908b
+938b8efffffecccdff00036668fffffd8000ff0004999808ffffc4b334f701058693
+848f808b6e8b7fffffea33348bffffefcccc08f71790158b838d84908708e3ffffaf
+800005ff00046667878ffffffc8000ff000599998b928b91908b928b8dffffff8000
+ff00053334fffffe199aff0003cccc08ffffc96666f702058693848f7c8bfffff04c
+cd8bffffe9b333fffff14ccc8bffffe8b33408ff003c999afd46155c0a0efbba86a2
+f7f99da87701f4d00378f93b15f75b0af71c9115ffffe08000fffff58000ffffe9cc
+ccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002cc
+cdff000a66688bff000299988b8c8b8dfffffeb3338e08ffffc14ccdf72305879483
+90808b08c6fcd415850a0efb9686a2f8f5a2c876c8bf01ff000c6666a7ff0045999a
+daff00436666a703ff000c6666f94615f75d0aff00b3999afcd9155c0a0efbba86a2
+f7f99da877f761c401ff00064ccdff00184ccdff004a6666d0beff00184ccd03f775
+f89915ff00184ccd9705fffff36667e0ffffd2199abd4c8bffffcae6668bffffc666
+675afffff533333508ff00184ccd7f0594c5ff00296666abff002ecccd8bff003099
+998bff0026b33466ff0009e66656085afc2c15850a0ef71a81a3f900a301afe5f84f
+e503ff00bd8000f9a715f75a0af7179015f7600aff00068000fb3215650af7e0fbc5
+15660a0e3c81a2f813a2f77d7701b3d7f78ed703f708f92015f75b0af71c9115f75c
+0afb68fc63158d0af750f75d158e0a0ef71a81a3f900a3c176c8bf01afe5ff004980
+00a7f76ca7ff00618000e503ff00c78000f94715f75d0aff007f80005215650af7e0
+fbc515660a0e3c81a2f813a2f750c412b3d780a6f76ca682d713ecf7f0f89915f75e
+0a13f2fbc8fbd615f7020af750f75d158e0a0ecb81a07ba2f7a1a3f7d4a3c37612f7
+00daf77be3133ef70df9ac158b828e848f8708ee37058d898e8a8e8b908b93908b93
+8b8efffffeb333ff00036668fffffd8000ff0004999808ffffc4cccdf70105869384
+8f808b086e7fffffea3334ffffefcccc1ff7179015f7600a4afc8c15f72e0a13bef7
+2f0a137e6b0a8df7b615680a0efb6086a2f7f3bd619cf7977712f0d11398d2f92115
+f75b0af71c9115f75c0a21fbef15f7300a13d8f7310a13b8f7320a0ecb81a07ba2f7
+a1a3f7d4a3c476c8bf12f700da5ba7f76ca792e3133dc0f71ff94715f75f0a13bec0
+bbfc22156a0a137ec06b0a8df7b615680a0efb6086a2f7f3bd619cf769c412cda693
+d1f71ea6139ef7c9f89915f75e0afb64fb6115f7300a13def7310a13bef7320a0ef6
+81aaf8f2a201efdaf7ffb103ff00c58000f99d158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffeb334ff00036668fffffd8000ff0004999808ffffc4
+ccccf701058693848f808b6e8b7fffffea33348bffffefcccc08f7179015f7600aff
+ff6a8000fc95156c0a0e5581ae8f9af7efa2f7827701dfd0f755d003f705f92015f7
+5b0af71c9115f75c0a57fd30159a0a0ef681aaf8f2a2c976c8bf01efdaff002b8000
+a7f76ca7ff002f8000b103ff00de8000f94715f75d0affffd48000fc3a156c0a0e55
+81ae8f9af7efa2f755c412dfd066a6f75fd053a613f5f7fbf89915f75e0afb36fca3
+15f7080a13fa4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b0813f486
+8a7d8a7d8b6c8b728c688c85858b8091850813fab987ff000a800082ff000280004d
+8d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e98b080e3ffb76a3
+daddaaa5f8fea312a6ff00168000ff00018000ff00456666ff0087999ab2cedd55ff
+0016800013ff00ff018ab334f90b15f7610a13fe80f7620affff5e4cccfd3415f724
+0a0efb4ffb76a3daddaaa19476f821a112b99e85cbe1b29bd161a013c900f74e6215
+f7240a13dd80fb20f73b15940a13eb80950a13eb40960a13ed80970a0eaffb76a3da
+ddafa2f8eaa89677128ea3f785da6eb2f766a313e580f7bb6215f7240a6ef8d51513
+f680f7630a13ee80f7360a13f680f7370a13ee80f7380a13f680f73b0a0efb99fb76
+a3daddaab6f7efa812e1d04bd0adb213f2f73f6215f7240afb10f85615f73c0a13f6
+c30613fa980a13f6990a0ef73c86a2f7cba5f7a4a2cf7601f5e0f7ebde03f753f701
+155b0aff008fe666f8e015f7100a0e5986a2f807a9f77f9ea47701e5d0f75fd103f7
+a5f91515f7110afb08fc0415830a0ef71e86a2f778abf81077f772f301ff0138999a
+f303ff0138999afa2415f70e0affffcbe666fd0e15480afbb8fb6515490a0e2081b3
+63a9f80da1f714ef12b5d459d8a3efa7d01333f73af8eb15840af713fc1715e20a13
+7be30ad8fb261513b7780a137b790a0e91fb5ca8d6abc6a279a5f7c2a7f79aa679a2
+8d7712f5deff007c6666c9ff0014999aa1d7a387a313d8e8ff011866662b15a2957d
+7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f
+828b828a838908a4ceff0046999a8b0513e8e8580a13dcf0f7180a13c9e8540a13cc
+e8550a13eae8560a13d8e8f7640a0efb12fb5ca8d6abf7baa8f71da212aed7f72bc9
+88d713fcf7792b15f7650a13faf7660afb07f7f7157f0a0ef71a81a3f900a38bebb1
+bd12afe56eebf7cdeb6ae513b4ecf95615c20a13b2f82d16c20a13d9fb474315db0a
+f7e0fbc515660affff22ccccf86315f7670a0e3c81a2f813a2f701eaadbd12b3d785
+e9d6e984d713f0f7f3f92515f70b0a13f47a3915e60a13f2f73d16e60a13f9fb83fc
+1015f7020af750f75d158e0a0ef71a81a3f900a3ff00003334ff003a4cccfffffdcc
+ccff003c8000ffffd53334b712afe5ff0058cccdff0016e666ff00be6667ff0016e6
+66f70ae513cf80ff01f78000f99c15825fc78b0598959d96928893811ffc1b5f1593
+b74e8b057f817980848f83941f13e780ff0114b334fffff0800015f7680a13d780f7
+690a13e780f76a0affffc2ccccffffad800015650af7e0fbc515660a0e3c81a2f813
+a2f70fc089c294bd12b3d7f77fa67fd713ccf7ecf92515f70b0a13eef74c4d15bf0a
+13dec00a13eec10afb9cfc2415f7000a13cdf7010af750f75d158e0a0ef71a81a3f9
+00a3f75bf301afe5ff00a28000f3ff00b08000e503ff01208000fa2115f70e0aff00
+268000fba715650af7e0fbc515660a0e3c81a2f813a2f713ef01b3d7d3efd9d703f7
+50f8ea15f70f0afb28fc27158d0af750f75d158e0a0ef71a81a3f900a3d1b6e1f301
+afe5ff00a28000f3ff00b08000e503ff01b18000f997158260dc8b0598959c969287
+93821ffbaa601594b6378b057f817980848e84941ff71cf74915f70e0aff00268000
+fba715650af7e0fbc515660a0e3c81a2f813a2e2efadbd01b3d7dcefd0d703f759f8
+c215f70f0afb31fbff158d0af750f75d158e0af715f78815f70b0a0ebc86a2f8f5a2
+b9bd01f7a6e003ff01b63334f94c159896a097918796811fffff1effff06fffff4ff
+ff80777f848f80941fff0090cccdfcdf15700a0e49fb85cff8c8a2ebbd01f813f892
+15f70b0aa5fd3f159e0a0efbb5fb73b7f9017701f705da03f705f7c715860a0efbb4
+86a1f80aa201e7d703f73cf7c215ff00033333ff004ee666ff0006cccdff0005199a
+c59091918b968591638affffe7666687ffffd6999a8bffffd6999a8bffffe866668f
+628c85858b809185c587ff0006cccdfffff9e666ff00033333ffffb1199a088d598b
+2b8959fffffccccdffffb1199afffff93333fffffae666518685858b819185b38cff
+001933338fff0029cccd8bb48ba287b48a91918b95859108518ffffff93333ff0006
+199afffffccccdff004ee66689bd8beb8dbd080efb92f800a2f766adcba101c2bcf7
+03bc03f3f92c15b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a
+05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f7907
+8bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8e666
+ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cccdff
+fffbb334ffffed3333fffffe4ccc08808a05878a88891f79078bb38ca4a3b18a8b1e
+9d078b8d8a8d878c08858c05ffffec3334ff00034cccfffff9ccccff0004b3348b9e
+08f71007ce6da45e1e678b68687d7b080efb92f7faa2f771a8e0a101b9bccfb78cbb
+03b9f828157c8783791e8106888a89881f8b7a8c8a058bae8c9e9fb98a8b1e8c8c8b
+9c058e898d881e82067a85939a1ff73307a4a4ab999a8b08a39c77611ffb1c077c86
+83791e8106888a89881f8b7a8c8a058baf8c9da0b88a8b1e8c8c8b9c058e898d891e
+81067a85939a1ff72407c170a8641e778b6383686808b7078b9f8c968e9990a79a96
+998b968b9887917c8f818f809a8b08969595959f78a1516f537a2b1f0efbf6f79b9e
+f7d1a0c9c4128bbbb2c758bc13f8f709f97715f76b0a13f476fb5215f76c0a13f8f7
+6d0a0efbcff801a2f765b365a012d5bc13d0f711f8d615898c05ff001b33348dff00
+17cccc8b1e90898d851e13b07b845d837189088c7905898d8a8d1ea08a0598918461
+1ffb1b078b78fffffe199afffffb4cccffffe8e666fffffeb33408798a05868a8988
+1f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffece666ff0001199affff
+f9199aff0003e6668b9f08f712078b938f948f900813d09ba29a97928b8f8b90898f
+8791849387978b089d96949c9d8198701f6c8b70697a72080efbcff7fab37c9ff75f
+a312f712bd13b0f712f85c158b82888287867b747c7f848b878b868d878f85928390
+7f8b087980817a7a957da61faa8ba7ad9ca4088d8b89509a8b051370a396a391b293
+08899f057f8780887e8b08808898991ff732079f8c90a31e9d06908c8d8e1f8b9e42
+8a418c8b7805888e898d1e9d069c938a731f0efbc5f78e9ee4b3f764a301f712bdbc
+bb03f744f82115f74c079f8c90a31e9d06908c8d8e1f8b9e428a418c8b7805888e89
+8d1e9d069c938a731ffb11078b82888287867b747c7f848b878b868d878f85928390
+7f8b087980817a7a957da61faa8ba7ad9ca4088d068b369071a66c9b799f849b8b08
+a6ad999e9c82947f1f7c8b837b877e8a848787868b086e81aee81f0efbb1f800a1f7
+059ee5a27f9e12c4bce5c113eca7f8f415a78c85761ffb47077f8a857d1e7c8a0589
+8a8b891f7af71307b3c69dc91f8bad74a66b9008a2c90513dc95a79b9e9d8b089d07
+848c858b848b6a8b77757e6708744d5c8b8bca0513ec9f8d92a18d8c8c8e1e8b9c8a
+8d058b6c8a7774688c8b1e8a8a8b7805898f8a8d1ef73cfb3a1573836b541e828b82
+8c828d08f702ad07b7976a731f0efb08f8f4a201f713f8f915f76e0a0efb73f782b4
+f7dda301f726f8fa158b9b8a8d058b61896e78678d8b1e89898b7a05898e888e1ea6
+8bff0003999afffff66668ff000b6666ffffe6999808d7fb3d05907e907b8b848b85
+8a8688837b65786b828b858b869085918790858e828b088178827974aa81971fb78b
+a2b19eb7bdf70da6c7add1939d979ea38b08908d8d8f1f8b9b898d058b71897a7561
+8d8b1e8a898b7a05898e888e1e8e06999689821f8b888a8489870847fb2949f72b05
+fffffe3333ff00041998fffffecccdff0005e6688b8d0893938e9d8e8f8d8f1e0efc
+07f8b4f744019bf71503f714f95d158490858d838b0887067f8a84878882084bfb26
+058a8a8b8a8b8a8b878e878e888e8a8e8a8d8b8e8b8e8c8d8d08f1f70d058f908c91
+8b908b9785968091080efb67f8c4f74101c1f79903f7cff94715f72c0afb189115f7
+2d0a0efc1df86bd3e59c01a8b703e4f86b15a9999d9b9b86a162838593981f8ba2a0
+b0b59408869c0545836b4d8b670867a166b11e0efc16f86d9ce5d301eab703daf920
+15f7120a0efc1df8749ce1d701a6bd03e2f92715f76f0a0efbd2f82fb6f72eb601f7
+32b703f75ef8a215d65abd481e828b7888828908946205918c9b8d918b08b6a86b59
+5572795c1f828b828c838e08866205928894889a8b08c6c4b1d81f0efbd2f82fb6f7
+3f768fb612b9b213b0b9f8ac1540b859ce1e948b9e8e948d0882b405858a7b89858b
+08606dabbdc1a59dba1f13d0948b948a9388088fb40513b0858e818e7d8b08505665
+3e1f0efb96f90a76c6a401c5b4a4b2abb303c5f90a157b9b86921e938b94908c948d
+9e94a5b88ba68b98768b718b787c7d7b7e777b77798b6d0868b2a7078ba69c9b9e9a
+9e999c9a8ba508ba67a85e4b6b6a6d1e0efb96f930a301c5b3abb2a4b403f77ff90a
+15a86bad4b5e676e5c1e8b719c7c9e7d9e7c9c7b8b70086fb2ae078ba9779d779b7b
+987c998b9e8ba598a0a68bb88b94718d778c829487938b08929b8f9c1f0e60f7f3f7
+bb01f738f88615f78bf28bb8fbc4fb128b61f7c4fb138bb8050e60f7f3f7ba01f7f6
+f88715fb8b248b5ef7c4f7128bb5fbc4f7138b5e050e60f7eef7c401f704f7bb03f7
+97f8e515750a0e60f7eef7c401f703f7bb03f797f8271524f78b5e8bf712fbc4b58b
+f713f7c45e8b050efb68bef79103f756f92415e50a0efb68f729f89715f7110a0efc
+43f8aef74c01b4bb03e5f95f158390858d848b858b7e8681858c718b628b738b768b
+688a7792879289928b918b998e9492088aa88bb38ba28ba28bae8c9c080efb2bf892
+bd01d5f79903f7cbf89215f70b0a0efbb3f884f73401b7f73003f717f92415f7700a
+0efbb3f883f73501daf73203f735f92415760a0efbf8d0c103f70ffb7815f7710a0e
+fb3ffb17b701d5f78403f7b7fb1715f7720a0efbc4fb6ff72101aff74a03affb0b15
+f7730a0efbb8fb6af72601b8f73f03c6fb6a15f7740a0efbf4aff71f03aff82915d0
+fb0dd1f70d05fb1ffc0415f71f8b45f70d050efbf9aff82815d0fb0dd1f70d050efc
+05fb77abf70aac01f711ad03f711fb1c156971726a1e868b868c868c08826c059389
+938a938b08bfb4b4bdbe62b4571f7f8b7f89818708976c05928e928c938b08afa26f
+6c1f0efc05fb6cabf70aac01adac03adfb111558b563bd1e948b938c928d0883aa05
+8689868b858b086972a5acaaa4a7ad1f948b928a92880897a9058090808d7e8b0858
+6261591f0efbc2fb78b701f701b603bbfb7815f7750a0efbc2fb02b701f700b603f7
+684915f7760a0efbb3fb29b701f708b703f734fb6515c7ce0791948e928b928b9288
+9186930847cb06838f858e858b848b84888184084e4807848489848b838b848d848f
+8308d14a0693879189928b928b928e9493080efbb3fb11b701adf75903f7733a15fb
+4706848488848b838b848e848f8308f7490691948e928b918b9388918693080efb88
+f892c4e57701a0a6f76ca603bbf92515f7770a0efba2f8b7ed01eced03ebf8eb15f7
+0f0a0efb5cf8deabf5ab01e8b3ebb303f749f96815c60a335615e80a0efb77fb5cb1
+01cbc903f79afb1b15f7780a0efba1f8b2c089c212f794a613a0f765f8e715bf0a13
+60c00a13a0c10a0efb67f8c4f74101c1f79903f7cff94715f72c0afb189115f72d0a
+0efb87f7b2bef7187701f725b803b2f81115996505a59abba0a5908682887b8b7d8b
+5ea17d9b8ba58ba197bcaf08809f05757f8086758b788b869b8ba18baf9aa19ca408
+7d96055d654c6f4f75080efb5ef774f8f615e1d40587948b8b869386938b8b869008
+fb0243fb05d30586868b8b868285828b8b888408e3413442957b058f848b8b918508
+f703d2f703440592918b8b8f9290928b8b8e94080efb94f7faa3f7a9a301e2aec7b3
+03f727f7fa15c59cb59b1f8b948ba562ca088d91d7f711059296998e9a8b088ba18a
+8d058b6b897a1e7c8b748c7a8c088a898b7505a0988a811f8b898a898a8708502855
+ef05898f898e8b8e0890928ea11e8ba18a8d056e89708b7c8b798b7f8c7c8c088a89
+8b7805888d8b8d1e9b8b9e86937b08d6fb1f6a5905847f81798b7b086ea47bae1e72
+c0158b9798a19eaa089083059f6e8e7d8b820878807c777a7f959e1e0efc24f7ffa1
+f7d0a001c2bc03c2f84c15f7790a0efbc8f7faa4f779a412a7a17cbbe2c16fa213e8
+a7f85e15f77a0a13d4f77b0a13e8f77c0a0efb92f800a1f775a101a0f7a603ff00ea
+3333f8cd15a7ff0023e668ff0004b332ff00044cccff001c199aff0001cccc8f8f8b
+99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333fffff7ccccff
+fff2cccdffffed3334088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a
+6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3334ff00011999fffffd
+9998ff001a999affffda333408ff003833333b058888ffffcecccd518b8bffffe199
+99ffffdc8000fffffdb334fffffb4cccffffe3e666fffffe333487878b7d8f879d8c
+928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b
+8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffff
+e3e666ff0001ccccfffff9999aff0002e668ffffe5b333ff00254ccc08ffffcbcccd
+d5050efbcef800a2f7dea101a5bbb2bc9dc303f74df81715748b949d1fd0078bb972
+a773a477a078a18bab08a99ba9b0a9a57a721e8b878a878a888b888a888b8708789c
+8795979c959cbf51a8564c676b591e8b5da277a177a079a0798b64083b078b798a81
+748a088006878a89881f79078bb28ca4a4b28a8b1e9d078f888c891e0efb10a076f8
+e1c301f7c9ca03f808f91915fbee53f7affce1ca060efb10a076f89bc3d17701f7c9
+ca03f808f919154c45fbaf53f7affc9bca060efb10a076f7cec3f7a77701f7c9ca03
+f808f919154cfba7fbaf53f7affbceca060efb10a076d0c3f89c7701f7c9ca03f808
+f919154cfc9cfbaf53f7af46ca060efb108bc3f8e17701f7c9ca03f808f919154cfc
+e1fbaf53f7ee060efb58d5b801bdbe03bdd515f79db8fb6af78d58060efb51f762b9
+01bdbf03f1be15f72ff770b9fb70f72b57fbf4070efb8dfb15f7940198f71315f713
+fb94aa8bf70ef7945e8b33fb4a2df74a050e40f8dbb6e8b701f876f8db15b6fc7160
+07f871f71c15b7fc715f070efb4bf8579fdbdd01f716adf70dad03f1f90d15f77d0a
+f72f8d15f77e0a0efbeeffff1d8000f7550195ff00c3b33303ff006be666ffff61b3
+3315ffffc38000ff007ccccdffffda999a8bff00563333fb55ff00194ccd8bff0054
+3333f755ffffda999a8b050efbeeffff1d8000f7550195ff00c3b33303ff006be666
+ffff9a4ccd15ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6b333
+8bffffa9cccdfb55ff002566668b050efbabffff1c6666ff00c33334019ff77c03ff
+0058b333fb1615f77f0a0efbb5ffff1c6666ff00c3199a019ff77c03ff00b74ccdfb
+1615f7800a0efbdbfb5eabf5ab01a8b3ebb303f7094b15c60a335615e80a0efc08f7
+85f74401a9f71503d3f83515ffffe08000fffff58000ffffe9ccccfffff233341f8b
+868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002cccdff000a66668bff
+0002999a8b8c8b8dfffffeb3338e08ffffc14ccdf7230587948390808b080efb84f7
+87f74201a9ff0103b33403cff82f15ffffe8999afffff16666ffffede666ffffee19
+9a1f8b858d84908508f706fb02058d898d8a8e8bff0002999a8bff000a6666ff0004
+4ccd8bff0009b3338b8c8b8d8a8c083df71f058694848d7f8b08f71c9115f75c0a0e
+fb84f787f74201a9f79903f791f82f157f8b84898682083dfb1f058a8a8b898b8a8b
+fffff64ccdff000a6666fffffbb333ff0002999a8b8e8b8d8c8d8d08f706f7020590
+918d928b918bff0011e666fffff16666ff0012199affffe8999a8b08fb1c9115808b
+8386878208ffffc14ccdfb2305fffffeb334888b898b8a8bfffffd6666ff0002cccc
+fffff5999aff000b33348b8e8b8d8c8d8d08f1f70d0590908c918b908bff000dcccc
+fffff58000ff00163334ffffe080008b080efb87fb0eb78fb9019fa3f77aa303f774
+3d15788b7a957b97779975996d8b608b746d7d5008a3860595ac989aa58b9c8b9e80
+9d80a07da07fa18bb98ba8a997c7087391057d617d81758b080efbd8f7ddf5f731f5
+01cbf503cbf91915f7810afb9b04f7810a0efbedf92db401a9b703a9f8a315908294
+87908b918b958c949308f722e50795908d968b908b9086927d9308fb088b807f050e
+fbedf92db401f718b703f744f8a3158bf73b8097fb088b057d8386848b868b868d80
+958608e5fb22069483958a918b908b948f9094080efbed99b401a9b703a9f755158b
+fb3b967ff7088b05999390928b908b90899681900831f722068293818c858b868b82
+878682080efbed99b401f718b703f744f755158694828f868b858b818a828308fb22
+3107818689808b868b869084998308f7088b9697050efb67fb0bf70bfb0bb712a9b7
+f75eb71370f7a881154afb5ecf078491848e858b848b8487818308340713b07d8f83
+9f1ef77f069b9a98961fe307848e848f838b08848b84888384080efb85fb0bb701a9
+b703f7b24015ffffed8000ff0007e666ffff3e8000fffff8199a8b8b08cf07849184
+8e858b848b848781830834077d8f839f1ef761069b9a98969387978b1f0efb1b82a9
+01f820a015fbb7069395a8a59bb0086a067d7b625c5979088007c76ba57b9e6808ad
+067cab76a0799e08f7b7060efb30f92415760a0efb2cf92415b10a0ef887f73101fb
+9ef79003fb0ff92415e50a0ef8bcc089c212130037f8e715788b7a927b977799759f
+6d8b608b74647d509185958a968d95ac959aa58b9c8b9e839d8008a07da079a18bb9
+8ba8b297c7858f818e808a087d618081758b080ef892bd01fbeaf7990322f89215f7
+0b0a0ef8edb70164f8ed1598959d97918793821ffbe90680807a7f848f83941f0ef8
+92c4e57701fbbca6f76ca603fba1f92515f7770a0ef8a0ef01fb7aef03fb7af8d415
+f70f0a0ef8a2ea01fbe9e9d6e903fbe9f8d115a30af73d16a30a0ef986a601fb7cbd
+b7bd0333f96715f7820a0ef8ccabf5ab01fba2b3ebb303fb4af95615c60a335615e8
+0a0e64f94715f72c0afb189115f72d0a0efb79f89715f7110a0ef8b8f73601fb48bf
+03fb13f953158390838d848b858b7c8681858c718b6e8b738b768b728a7792879489
+928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8aff74801fbd3b8c7b703
+fb3ef8af15f7485ffb48074f8c15f7475efb47070efb98f98315f75b0af71c9115ff
+ffe08000fffff58000ffffe9ccccfffff233341f8b868c85908608f1fb0d058d898d
+8a8e8bff000b33348bff0002ccccff000a66688bff000299988b8c8b8dfffffeb334
+8e08ffffc14ccdf7230587948390808b080ef892c4e5779ce612fc16a6cae5caa614
+1c13bcfbbcf94f15729f77a4a49f9fa4a477a0721e727776721f13dc4c6115f70d0a
+0ef8f3c401fbeba6f76ca60327f89915f7830a0ef868dddb9f01fb32ad032bf86815
+f7250a0ef86a9fdbdd0154ad0338f92015f77e0a0ef86f9fdbdd01fb15ad0348f925
+15647466671f8b7392759b77ff0010e666ffffeae666ff001c199affffef199ab186
+8f8f8c948b92529777ab8ba208ff00139998ff0004cccdfffff96668ff00183333b3
+95a39c9b7ba4681e0ef85e9fdbdd014cad0330f91415f77d0a0efb6ff72101fbe7f7
+4a03fbe7fb0b15f7730a0efb6af72601fbcaf73f03fbbcfb6a15f7740a0efb6d76d1
+b601fb68b703fb3cfb7915f73c07868e858d848b848b82898186084dfb0007848588
+838b838b848e838f8508f7034a0692889189928b928b938e9491080efb6c76d0b601
+fbdeb703fbde4b15fb3c0790889189928b928b948d959008c9f7000792918e938b93
+8b928893879108fb03cc06848e858d848b848b83888285080efc04f85176f717b401
+f712b703f73ef849158bf7278097fb268b057d8386848b868b868d80958608f70cfb
+0e069483958a918b908b948f9094080ef7e0a5c7e001fb11ae0331f83315ba71b465
+6f797c731e8b779875ae87998a98838b7e08696287801e7371a306c2ababbe1f0efb
+88b2f704b401fbd1b303fba9fb2915a89ba6b71e8d8b8e8a8e8b088db405888c878b
+878b08545f615456b461c01f908b908b908c088cb205898b888a888b085e7aa4aa1f
+0efb78b701fba2b603fbdffb7815f7750a0efb02b701fba3b603fb3b4915f7760a0e
+fb3bb601fba5b703fb79fb7815c8ce0791948e928b918b92889286920847cb068390
+858d848b858b84888185084d4807848588838b848b848e838f8408d14a0692879289
+928b918b938e9492080efb3bb601fb35fb1015fb4706848588838b848b848e838f84
+08f7490691948e928b918b9288928692080efb81af01fb91c4e6b203fb2cfb5d1572
+78a39f9d7a987d7b817e7e62bf5fc4c99bbecf1ff718780777200650825a651e0efb
+81af013db2e6c403fb8104c1c2b5b69881987b7d7a7e79777873726582bbc71ff477
+0778fb1606479b58c91e0efb3bf70001fba2f70003fba2fb0515f7840a0efb3bf700
+01fc06f700e5f70003fb40fb0515f7840afb5a16f7840a0efb5eabf5ab01fbc5b3eb
+b303fb6d4b15c60a335615e80a0efb76a3dadd01fb77b203fb8e6215f7240a0efb5c
+a8d6ab01fb2dc903fb4e2b15b30a0efb5cb101fbecc903fb26fb1b15f7780a0efb81
+f74501fbafc103fb79fb7915f7710a0efb63f70b5fb712fc0bb7f72cb71370fbdffb
+5915f7850a13b0f7860a0efb75cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b
+75ad7dc0898c878b878b888b888b888a763b6d847e8b6f8b7aac7dbf08898a797e88
+879e36aa5dac8b998bac96a5d1a344ae81998bae8ba9c29cd787907c95868e080efb
+79fb7015bd06a8b9b1b8aeb20878980566706972666569af6aa564a708777e05ae63
+b060a85c080efbd6f79103fb3d391559066d5e655e6864089f7d05b0a6aca4b0b1ac
+67ad72b26e08a0990568b365b66fb9080efb8dc401fc17a6f76ca603fbfc2515f777
+0a0efb09c401fc16a6f76ca603fb23fb6315f7830a0efb2ec089c2122ea613a0fb20
+2615bf0a1360c00a13a0c10a0efb17b701fbfcf78403fb23fb1715f7720a0efb17b7
+0142fb1715f7870a0efb67b7b9b701fc06f79803fb19fb0d15f7880af7753115f788
+0a0ef71fc089c2122ea613a0fb20f75415bf0a1360c00a13a0c10a0ef75db701fbcf
+f7840329f75d15f7720a0ef75db70142f75d15f7870a0e3ff85a15fc0cfc5c058d7c
+97809b8b08f80df85f05879881957a8b080e9376f9337701fcee7e15f89bf91505ff
+fffdb333ff000ee668fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b08
+0efb88b4f704b201fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a
+8f8b8f8b08c2b7b5c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c72
+6c1f0efb65f70bfb0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b
+848b8487818308340713b07d8f839f1ef74d069b9a98961fe307848e848f838b0884
+8b84888384080efb82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15
+fb3af74af73a070efb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba169
+99568d8a8f8b8f8b8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78
+e06cb96a8b7d8b6a80714573d268957d8b688b6d547a3f8f869a819088080eff01b6
+e666ff00cb199a01fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cc
+cdff0049ccccffffe3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049
+b334ffffe34ccc6fff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346f
+ff00493332ff00491998ff00493334ffffb6ccceff001c199aff001c199a050eff01
+b8ccccff00133334f74cff0013333401fffee08000ff00288000ff00038000ff0026
+b33303ffff0c8000f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667ffff
+f33334fffff3b3327bfffff3999affffee66648b738bffffdd999aff001a6666ffff
+ed999aff0033e667fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2
+cccdff000a66668bff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333
+ff000e6668ff000c4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff00
+24ccd0ffffe5999aff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc
+05ff00250001fffff4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b7
+0142f8cd15f7870af7ed3115f7870a0ef8b7f73501fb82f73203fb30f95815760a0e
+f8b8f73401fb83f73003fb2cf95815b10a0ef86cc089c212fb1ba613a0fb4af8a115
+bf0a1360c00a13a0c10a0ef86a9fdbdd0154ad0338f92015f77e0a0efb55f8a4ea8c
+7612bde9d6e913b0bdf8d315e60af73d16a30aa4f767157e8b808587800857fb2305
+8a888a878b88081370849185931e8f8b908f8e8f08e7f70e058f908d938b908b9f75
+9a778b080efb82b301fb72d6d4a403fb724115f7890a0ef877f70b5fb712fc0bb7f7
+2cb71370fbdff88115f7850a13b0f7860a0efb67b7b9b70142fb0d15f7870af7ed31
+15f7870a0efb75f74501fba2b3d1b303fb7afb6d15f78a0af70216f78a0a0effff97
+8000b201ffff638000b303ffff068000ffffbe800015828687828b868b858c869382
+08ec450690819289908b908b95909399088be67f96050ef88ac089c21222a613a0ff
+ff296666ff01ef666615ff00066667ff0018333205ff000e199afffff68002ff000e
+6667fffff7e666ff000eb3338bb98ba8b297c7858f818e808a7d618081758bfffff0
+66668bfffff1b334ff0004b334fffff28000ff0008666408ff00166666ff0054e668
+05839486ff00048000fffff7199a8bfffffc19998bfffffd999affffff9998fffffa
+cccdffffff666808ffffec1999ffffb48000051360fffff1b332ff0009b3347bff00
+084cccffffec999a8b608b74647d509185958a968d95ac959aa58bff000db3348bff
+000efffffffffaccccff000ecccdfffff8333408826905ff0006800083ff0002b333
+fffffc3334ff00064ccd8b088f8b92ff0000ccccff00076666ff00006666080eff01
+d3e666ff00423332ffffe9e668c089c2ff0011e668ff0042333012fffedae666ff00
+423334ff0017ccccff00423334ff001fe666a6139efb98ff01d3e666159dff000f19
+9aff000f199a9d9dfffff0e666ff000f19987979fffff0e666fffff0e668791f79ff
+000f199afffff0e6669d1ee5ff00a80002159dff000f199aff000f19989d9dfffff0
+e666ff000f19987979fffff0e666fffff0e6687979ff000f199afffff0e6689d1f13
+5e9dffffb9199815bf0a133ec00a135ec10a0ef88eae8baca6ae8bad12fc09f7a113
+88fb0cf8d315868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b91
+8b96b0af8b081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b8068
+5f8b081318778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b
+95afb08b081328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb
+13158007c76ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aa
+b1abb19f089607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a
+067d7b625c5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08
+ae076ca76bb177b108800679595c627b7e086907ae99a5a99794080eff01f46666ff
+00c3199a01fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffff
+dab332f77cff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891ac
+f70aab01fb70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b
+086875a7aaaca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef8
+91e6e2c401fc16a6cae5caa6031438fb62f8bf15a4779f7272777772729f76a4a49f
+a0a41ecab515f7830a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff
+13b333ffff7e333315ff0049cccdff0049cccdffffe78000ff0018999affffb6cccc
+ffffb63334ffffb6ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb633
+33ffffb6199affffb6cccdff00193334ffffe78000ff00493332ff00493333ff0049
+3334ffffb6cccdff00188000ff00188000050effff1c6666ff00c3333401fffed480
+00f77c03ffff193333fb1615f77f0a0effff1c6666ff00c3199a01fffed48000f77c
+03ffff77cccdfb1615f7800a0effff1c4ccdff00c3666601fffeec8000fb1615fb24
+ffffc3b3338bffffda999af768df8bff001a6666fb68e08bffffda999a05ff013180
+00ffffe0000115ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6cc
+cd8bffffa9b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8f715f78b
+0a0efc76f8e0f30149f30349f91415f70e0a0efb0eb012fb49c275b676c313c0fb1b
+fb121579766f8f8b6d8b829284948b081390ac8b84aa98a398758a6aa58b938b9591
+8b958ba87089789f958d948a968b089f9c919b918898791f798b847873800813a08c
+9b98a18b9a08987f9181818081801e8b7d997c8d757396829d788b087e8681837a95
+86981f978b918e918b08928b9288918a080efb6aa6f704a601fbd8b0efb0efb00314
+38fb2afb1715a99ea5aaa99f726c6f786f6c6c78a7a71efb42165db466b91eff001b
+e6668bff0018cccdff000ce666ff000fe667ff00138000ff00104cccffffec4ccdff
+00193334fffff34ccdff001ae6668b08bbb2b1b8ba62af5d1fffffe5199a8bffffe6
+e666fffff36666ffffefb333ffffec4ccdffffefb333ff0013cccdffffe6b334ff00
+0c8000ffffe4e6668b085d62665d1fe2c315a99f726c6f786f6c6c78a7a7a99ea5aa
+1f0ef8dab70141f8f4158e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c
+8d08a7d6058f858d801e868b848a8989083ffb090588878a888b8908879088961ef3
+0693908a891f8b898a888a88086d4105fffffb80008bfffffc8000991e908b958d8d
+8e080efb81c001fb8104f78c0a0ef86fc0f7097701f86f04f78c0a0ef8a6bc01fc0e
+f8a615f78d0a0efb1abc01fc0efb1a15f78d0a0ef8bbc691c601fc5bf8b715a98705
+c1b7eea8dd8bc68bcc7dc479c379c57cc18bc38bf72b98d4f6086e91055859227a49
+8b588b4b984c9f529d5499558bfb238bfb124c6d4a080ef914c501f94e04fb1c8bfb
+1e4f2dfb0e089c7905c9c9e8dbf7588bf7548bed40c848089c9d0537f70efb1ac7fb
+2a8b080efb29a901fba0fb0b156df86107797775777d6b08ae06a7aab1abb19f0896
+07599d62ba7e9b0869069968a971947f080ef8919ef7099a01fb7dadb9af03fb2df8
+df1562077c7e8986808b7d8b87958b968b96919bb39608a53d15958b958f94930886
+9605898a888a898b08868994a11fb007be6b9671746a7a75839585939592928f1e8b
+8e8b8e8a8c8a8c8b8d8b8f08948f8f9d979688631e7283056982767c8b748b749d7c
+a28b9d8b8f909d9b8d8191809c8b080ef891a1c59db19c01fbd6b2c1b503fb89f8a7
+1578789cb41feb06ac7fb3575e7164681e8b718f7a977f977f9e7fa68ba78b9d9897
+9b08809705807f7f84768b089bd71558068c9d949f9c8b089896826e1f0ef89399f7
+0399bab712fba3c767af13e8fb67f8b215f70c800713f07e85798779898b858c878c
+870813e89b89918a8b7e083d078b7e828a80888a878b858c87958c9d8c948b968b9d
+8a938a8c8f8b918a8f08818e838e8b960878f72f15979595979781957f7f81817f7f
+9581971f0ef8919bf70a9b01fb83b4cbb503fb3af92715537a5b6c68a167bebea2b1
+aea87cbb501fab3315697e7f7d757c9fb5b898969ba2976e601e0ef891a0f7049a01
+fb6ea9c9aa03fb50f924158c078b818a847e778c8b1e8b8a8b7f058a8c8a8d1e8e06
+958a8f8c8b7d084607679b7da31e9e8ba29e9394088f8a8970978b059992968e9c8d
+089a077e8f81ff000466688bff000d9998088bed8b8c058b838a867c738c8b1e8a8a
+8b7f05898d8b8c1e9106948f897f1f4207817f7681838b087f8091a71f0ef891a1f7
+069c01fb81b1c4ae03fb3af92a15606f626464a269b91fa38b9f98999efffffde666
+ff0005b334fffffc8000ff0004b334fffff8999aff00019998817f8581768b08806f
+90bbb39ea09c1f9a8bff0004b333fffff61998ff00014ccdfffff3e6688c82948494
+8b938b93918b988b95fffff8e666ff000c1998fffff3199aff0006e668fffff5cccd
+ff00058000fffff1cccdff00018000fffff166668b080ef8929cf7069bab9901fba0
+b2c6af03fb3ef8b41582818184838b08787e97bcb396989d1f998b92839481088a2b
+158d8a8a7a988b0598929b8e9d8d08899a057e8d82ff0004cccc8bff000f333408f7
+3180077e8579877989088c7d059a8893ff000199988bfffff26668086e0783937d8f
+7d8b618b77618b688bffffe94cccff00066666ffffeab334ff000c999a7fff000acc
+cdfffff5b334ff000d9999fffffc4cccff0010999a8b978b9a939594080ef89499f7
+04a3b09901fbbfafc9af03fb9bf93615a38c998b1e8e898c881e82876a867c8a087e
+078a8c8b8c1e978a05928f87731ffb0d078b7f8a8a7e8908868a05898b898a1f8007
+8ba08c989da78a8b1e96078d898c8a1e858c05818c878d8b9708d20796989697978b
+089c96876e1f4c078b7f8889808a08858a05898a898a1f80078ba18c999ca58a8b1e
+96078b8c8b8c898c08878c05808d888d8b9608cf07b17199721e778b78788382080e
+f89599f702a201fbc0afbfaebfaf03fb68f8b4158b7e848a80888a878b858c87958c
+9a8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccffffff
+cccdff0003999cffffff9999ff00036664ff0009999aff000a3334ff000c333393ff
+0009cccd8b089b90846f1f51078b80838881888a878b858c87938c9d8c968b948b9d
+8a958a8c8f8b918a8f808e828c8b9808cb07af779b731effffed4ccd8bffffeb6666
+ffffedb334fffff7b333fffff6ccccfffff9999aff0012e668fffff16666ff000899
+98ffffed999a8b788b7b7a838208898c8ca4808b057e85798779898b85ff0000999a
+fffffbccccff00016666fffffc33349b89918a8b7e0841078b7e828a80888a878b85
+8c87958c9d8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608d2079597969596
+8b089b8f846f1f0ef89399f702a601fb8baf03fb68f90e158d8a059599989a9e8b08
+9b928380808485801f838b868e888f898d878b898b878b8587827e898888868b8708
+4b078b80938895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e
+948c8b9808d9078b98858c7b8d8a8f8a8f8b919d8d9d8f98910896060ef891a0f700
+9e01fb77af03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d848b850572
+837e758a8b8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a8aff00054c
+cc888f86ff0002b33482858687828b08828995a01f0ef9169a01fbd5f73803fb94f8
+98158d8792888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b8d1f8b978a
+8c058b7a8a8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a888986086dff
+ffba80006cff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d1f8b97898c
+648a0581708c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919af70f9801fb
+cdf73b03fbcdf89c158007958c918c988b948b9a8a968a0896078d8a8d871e818bff
+fffd199aff0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b708b8b8d8790
+857f8b08868988871f8307938ca38c988b968b9b8a968a0896078d8b8d841e7f8bff
+fffacccdff0006ccccfffff83333ff000933340863baaab705969a8e8c978b08928b
+8d8e1f93077f8a828b808b818b828b818c088207888d8a8e1e928bff00063333ffff
+fe3334fffffacccdfffff8cccc0871677baa0589908894918b08908e8c8e1f94077d
+8a7a8b808b7d8b7d8b808c088207888c8a921e928b9188908408b7520589896a648b
+8b807e8789808b0887898b871f0efbe7f8aef77a01f702e703f736f994156b8bffff
+f4999affffdfccccfffff76666ffffe833340851fb350592839188968908f704f72f
+05ff0008b33397ff00054ccd988b9a8b9f779a778b080efc05fb17f77a01a3e703cb
+fb1715ab8b96ab94a308c5f735058493858e808d08fb04fb2f05827f867e8b7c8b77
+9f7c9f8b080efb7afb82b301f714d603f7144115f7890a0efb0781abf815ab01f7d3
+e603f752a115f78e0a0efb087fa8f71ef708f71fab01b2e6e6f70803f7abf72f15f7
+8f0afb29b815f7900a0efb0781abf71ff708f716ab01e8f708f702e603f72bf73515
+f78f0ab2fb1f15f78e0a0efbc5fb159df708e5f768ef12e8ef71af13f0e8f7fb1541
+0abafb9c15420a13e8430a0efbeaf9609a01f711f96f15f7910a0efb55f8a4ea8c76
+12bde9d6e91370f788f9a615f7920afb56fb671513b0a30af73d16a30a0ef71e86a2
+f778abf8107701ff01048000f7aa15480afbb8fb6515490affff92199af924157e8b
+808587800857fb23058a888a878b888b849185938b8f8b908f8e8f08e7f70e05ff00
+040002908d938b908b9f759a778b080efbc8f782f70801d0f70803f713f78215f78f
+0a0eeb86a279a5f7c2a7f79aa679a28d7712f756def763a1d7a387a3132300b8f969
+15f7920af7effc0415d10a133380d20a132740540a133340550a13ab40560a136340
+570a13a340580a137380d30a0ef77e86a2f7cba5f7a4a201f75de0f7ebde03c5f969
+15f7910af778fcfc155b0a0efb4d86a2f8f5a201f755da03b9f96915f7910af779fc
+fc155c0a0ef73481a3f900a301c5e5f84fe503cef96915f7910af7ae3015650af7e0
+fbc515f7930a0ef71286a2f8f5a201f816e003bbf96915f7910af83bfcfc15f7940a
+0ef72e8bc6f8c9ad12cda478e7f837e672a513c0c5f96915f7920af839fcf41513d8
+f7950a13e0f7960a13d8f7970a13c4f7980a0efbac81b8f80c77f71bea8c761286e9
+84d296e913d2f751f9a415f7920a13eafb56fb6715e60af73d16a30a13c639fb9e15
+f7990a0ef71e86a2f778abf8107701ff01048000f7aa15480afbb8fb6515490a0ea2
+86a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb8000f7fd154a0afb09
+f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0e3b89acf8d2b36cac12ee
+e0f7a0a813d8f721f9191513b8f79a0a13d8f79b0a13b8f79c0a13d8f79d0a0ed68b
+adf9047701f7c0f8c1158d8bf75afc9ffc278b05f793f904154d8bfb93fd12058781
+8a8b8b880885938a981ef8a4069c8f8d8f1f8b8d8a8e8894080e9186a279a5f7c2a7
+f79aa679a28d7712f5def763a1d7a387a3133380f7c4f7f915530a132740540a1333
+40550a13ab40560a136340570a13a340580a137380590a0eb08ba7f8dcac967712c2
+9ff870a013b8f8b58615710a13d8720a13b8730a13d8740a0ef73c86a2f7cba5f7a4
+a201f5e0f7ebde03f753f701155b0a0ef71a81a3f7aebbf7b6a301afe5ff00438000
+a2f797a2ff00468000e503ff01408000f7ec15368b7ba388ad8591808b85858c688f
+ffffefcccc8bffffdf33348bffffe0b33487ffffed4ccc8a6d9185968b91918db79c
+99e08b08be06e08b9b738e699185968b91918aae87ff001033348bff0020cccc8bff
+001f4ccc8fff0012b3348ca98591808b8585895f7a7d368b08ffffd38000f7b61565
+0af7e0fbc515660a0efb9686a2f8f5a201f702da03f754f701155c0a0ee086a2f7bc
+a7f7b1a201f5e103f754f701155e0a0ecb86a2f9137701f72d9d154190ffffff999a
+ff0027999aff00156666ff0036666608ff009dccccf825ff0004ccceff000cb334ff
+0008e666fffff34cccf733fc2b05ff00173334ffffc48000fffffb4cccffffe58000
+478485858b809185ba8cae8fb28bb38ba687ba8a91918a96859152907da5ffffe380
+00d408ffff3a8000f8940585ff000f999884ff00076668818b808bfffff8ccccffff
+f74cccfffffa3334fffff1b33408ffff314ccdfc9205ffffecccceffffd0b333ffff
+e8e666ffffcd4ccd498385858b809185b38ca48fa28ba28bb287ba8a91918b968591
+080ef79a86a2f8f5a201ff028b3334f215630a0ef71c86a2f8f5a201ff006a8000b4
+f82cb203ff022a8000f8a115640a0ee28bc2f785bbf78ac201b8a2ff004d8000a2f7
+c8a2ff004c8000a203f702f91915738b838c7a8e888b8a8a8b89898381338b629685
+ffffff999affffff3334ff000c6666ff0001cccca1d0919cd68b08f7c206d68b917a
+a146ff000c6668fffffe3334ffffff9998ff0000cccc96918bb681e189938b8d8a8c
+888b7a88838a738b08fd1904a38b938a9c888e8b8c8c8b8d8d9395e38bb48091ff00
+006668ff0000cccdfffff39998fffffe33337546857a408b08fbc206408b859c75d0
+fffff3999aff0001cccdff00006666ffffff333380858b6095358d838b898c8a8e8b
+9c8e938ca38b08ff00a28000f7ec15368b7ba388ad8591808b85858c688fffffefcc
+cc8bffffdf33348bffffe0b33487ffffed4ccc8a6d9185968b91918db79c99e08b08
+ef06e08b9b738e699185968b91918aae87ff001033348bff0020cccc8bff001f4ccc
+8fff0012b3348ca98591808b8585895f7a7d368b080ef71a81a3f900a301afe5f84f
+e503f7dbf90e15650af7e0fbc515660a0ef586a2f8e9a979a212f700d8f7bdd813d8
+f89df91915fc0b0613b8f79e0a13d8f79f0a13b8f7a00a0e6b86a2f7a1a37c9ff7cf
+a312f700daf77be313bcf74ff7bc1513dc670a8df7b315f7a10a13bcf7a20a0e9889
+ac6cb6f8c4b56cab12f878ac7dac1328f808f8ef15d68b9a5aa146ff000d4ccc89ff
+000b999aff00034cccff0008199aff0003b334fffffbb334ff00301998fffffbe666
+ff002fe668fffff36666c608fc098b051394268c05fffffc6666fffffa1998ff0000
+199affffebe668ff0003800085a387ff000eccccfffff56668ff00113334ffffe899
+9808f757fb9e898afb71fb9505828082848088fffffccccdfffff96666ffffff6666
+ffffec199aff0003cccdfffff980000813648bb68da71ef83606ff000f3334ff0035
+e666ff00059998ff00378000ff00053334ff0037999afffff74ccc907eff0001999a
+fffff4b334fffffe6666774371543e8b08fba98bf798f7ac8c90fb6ef7a7050eaf86
+a2f8eaa8829f12f7a0da13d0f79ef8ac15f7630a13b0f7360a13d0f7370a13b0f738
+0a13d0f73b0a0ebc86a2f8f5a201f7a6e003f7fbf70115700a0ef686a2eca2f807a2
+eaa101b8d6f743daf742d703f7bbf71e152b963cc48bf7118bf719e4b2e19108dafc
+0715f80607ed81d75d8bfb148b457d26fb347c083c741559078b6f7cfffff9b33363
+fffff84ccd0871860586ffffff999a88fffffd66668b86088b7e8d89058be790afb2
+e1868b1e8d8d8b98058b9087ff0002b33387ff00004ccd0870900561ff0007cccd7f
+ff000433338ba908bd07f73499e5f08bf08bf62edffb319608ba078ba795ff0005e6
+68b7ff0008199808a690058fff00004ccc8eff0002b3348b90088b98898c058b2f87
+6863368f8b1e898a8b7e058b868efffffd666890ffffff999808a58605b5fffff7e6
+6898fffffc19988b6d085b07fb537b50fb058b3c8b5698fb20f7817b080ef70886a2
+f8f5a201ff01268000df03ff02278000f1156f0a0ef70a86a2f781a6f7cda096a201
+e2d0f725daf724d003f7c0f79315ff0000b33406ffffff9998ffffd08000ffffff19
+9affffd7e666fffffe999affffc5999a8938fffff0800086458885858b809185b28d
+c88ea98ba98bc589b48891918b96859108458efffff180009089defffffe999aff00
+3a6666ffffff199aff0027e667ffffff9998ff002fb333ff0062e6688bff0071cccc
+ff001933348bff00c0cccc8be6aea1a492ff0007e668ff00023334ff00061998ff00
+01cccc8b920895818d7f1e6e0655654e3dfb17ffffc5199a4b361fffffffe666ff00
+0be6668bff000c80008bff000d999a8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d388d388c5a8b388bfffff2199a8bfffff3199affff
+ffe666fffff3cccc08ffffff199a06473fbff718ed5fbf5a1f6c0680828a801f8b86
+90899389a185b3648b2708fb42f70a76ea1e0ef71c8bc6f8c9ad12b7a478e7f837e6
+72a513d8f85df70915f7950a13e0f7a30a13d8f7970a13c4f7980a0efb9686a2f8f5
+a2c6eb01ff00096666ebff0004999adaff00096666eb03ff00c66666f98915c30afb
+5116c30aff00b6999afd1c155c0a0ebc86a2f8f5a2c6eb12ff00b53333ff00600001
+fffffccccce0ff000b3334eb13e4ff01723334f98915c20a13f4ffff42ffff16ffff
+ffffff71a175a58b08a5ff00160001a1a5a5ffffe9ffffa1711f717575711f13ecff
+00b1cccdfd1c15f7410a0e9081c650acf800ab12abdc1330f7aef93e15f7920af700
+fc8815f7a40a1370f7a50a13b0f7a60a4ee0157b64051370f7a70a0efb3881b0f744
+a5f73ba212b5d058c913e0f784f93c15f7920a13f0fb15fcc915f7a80a13e8f7a90a
+13f0f7aa0a0e669676f80fbd619c12e6d2f74cd21398f7def93d15f7920afb3afbed
+15f7ab0a13b8f7ac0a13d8f7ad0a0efbac81b8f80c7701ddd203f733f93f15f7910a
+3efc0c15f7990a0e4481b1f7ef9ea777f710ea8c7612e3d663e9d6e98cb213e980f7
+d1f9a415f7920a13f380fb56fb6715e60af73d16a30a13e580fb15fb9e15f7ae0a0e
+9081c650acf800ab12abdc1370f81af74a15f7af0a13b0f7a60a4ee0157b64051370
+f7a70a0e5ffb6d76f778a2f7f9c5f78ba212d9d2f760d369db13faf7294e15ff0054
+b33307ff001dcccdffffe77fffff00286666fffff6cccdff0038cccd8bf7068bdcf0
+8bf7058bff008ee666ffff94999aff00268000ffffd16666ff000f999a088d0713fc
+cfa2b3c48bd48be942bb358bffffd54ccdff00008000ffffd1e666fffff24cccffff
+e24ccdffffea3334ffffca8000637bffffb366688bffff9e999808fc5f078bfb1080
+577e69089279daaa0593b38cba8bc608ff008ccccd04ff019a333407f72bcfadb2c1
+b651441e8b617144637c6f957a8b7c8b087c7d837a749e819e1f9c8b968e9f950813
+fad476ad338b418b4960fb0d3d8bffffbfb3338bffffd9b333ff0024999affffed99
+9aff001e3333080e53fb74b0f8b4a901f74ab1b4bd03f7856f15995591668b710872
+857a7e7d83a6b11e8ba193ac98b208502615639d54b6c397bbc81e8ba381c87ccb89
+9589948995949e939f959e08f2f75805a0b299a7a6ab08878d057584808b7e8b838b
+688c818f887180647f6b71457040724d6cf061ef62eb87938790828b0874815b7e5b
+7f87818d8192819b8b948c958b9b8b9b8c996cb434c1fb07aa2708714f057f6d8469
+8b6c080e4581a2f920ac12b0d77fbef778d713e8ff00ef3333ff01a7800015ffffaa
+ffff65ffff8acccdffffb480008bfb0908fb03d92ff710f5f703d2f7371e8bb17fb4
+74b376aeffffe14cccff001f6666ffffd9b334ff001d999a0844c20513d8ffffb3b3
+33ff003b1998ffffe04ccdff001de6688baa8ba598a4be8ba58ba97ba4679f6ea47c
+a48b998ba9928ba88b9d5ca26d9a08699b5ba05f8b4f8b5c678b4d8b57ff0022999a
+ffffd9b334ff00516666ffffbc4ccc08ff00333334ffffd6800015ff0018ccccffff
+ec800005ff0033e666ffffd7199aff0023199affffb3e6668b5708fb373c67581e13
+e82e5ff709dc1f8beeff004e3333ff00348000ff004d0001b1080efb3881b0f744a5
+f73ba212b5d058c913f0f703f70715f7a80a13e8f7a90a13f0f7aa0a0efb0cfb79b4
+f975acf7087701b5d7f791b103f798fb7915f1bae0c31f8bdfffffd4ccccff003733
+33ffffa73334ff0005cccdfb1d9475c98bd58bd5aef70cf720f747d5a4b69c8ba48b
+9d809a718b738b686e6461086c7e6882748b6f8b62ab8bcb8b928b928c9108820674
+817d8577739847bb62c58b9f8bab93a394fb1dfb2d47fb128b2b0824b92df75dcf99
+60634f6b64661e7b8b758c819780997697718b087b78807572b375c61f0e669676f8
+0fbd619c12e6d2f74cd213b8f738f7e415f7b00a13d8f7ad0a0e4381a3f7cbaff7cd
+a301b5d1f79ed103f80ef7fd15fb9e068cf715b8f74cdf8bd58bc8fb318cfb300867
+048afb2556fb3a3e8b3e8b52f73b8af72408459e15fba4f70639e1dbf712dbf7a6f7
+9dfb0ce43b29fb00fb06fb841e0efbac81b8f80c7701ddd203ddf7c715f7990a0e4b
+81b566a2f750a7f717c15f9d12f2d413b4f744f70115ffffff6666ff0019cccd8aff
+00291999ffffffb334ff001e199aa18bff000ae6667c967808d1fb0405ac569c7aa2
+8baf8ba39aaab388938a8b818e7d7a82847e8b768b7fa46eb80846f70305839681ff
+0012b3338bff00064ccd8b908b8f8e8f08adb405afb99b9b998b918b938992849483
+95859b8b089d9b9b9bac78976d1f608b6a6d493908675e0579757d857e8bff000019
+9aff00198000ff00009999ff001a4cccff00014ccdff00198000ff00028000ff0031
+999aff00038000ff0036199a8b8b8b8f868e838b08136cffffe3800080ffffdc8000
+82468289858d858d85ff00368000fffffae666ff00088000fffffb199a8d518c6d8c
+ffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd800038fffff7
+8000884e860885858b809185b58cff001866668fff002a999a8bff002266668bff00
+1d999a87a38a91918b96859108628f828e89df080e6d81c5f8e4c501f888c9158894
+868f808d77727887778b6c8b81ff001e4ccd65ff007db33308fb04f807056af70555
+956e8b668b6c6d72678d7f938992899e99a395a38ba68bb177b2fb1808a142fb67fc
+33a38005a191a28ea58d08f71df7eecffb7605a632a162bb8ba78bb0ae9cb0080e44
+81b6f80e7701bfd1f752d103f7cac4158d068e709763c28b08baafb190928493871f
+858b897b748b086687b2b71ff76807aa8dc88b1e7d857f87798b7f8b7b8c858c916c
+8b5d8b7008fb6707766c596b578b08587bbac91ff74d07aa89c88b1e7d857d87798b
+7f8b7c8c858c956c8c5d8b7008fb5c078b798e748b818b77887a8b718bfb0a89567f
+6b08967ad1a8058f9f8da38ba38bbe83c38b9d8b8f8c8d8b8c9684a4869c8bc58bb6
+a4b1b5080e2af8079cad7701f7f9ca03ecf7d915f5fbe1059487958b948ff717f748
+c5f7128bd208a67ea56e6d82747b1e8b5a9d8d8b4c8b6b755b46248582fffff24ccd
+fffffacccdfffffab333ff001233330830f7cf058895888e858b6e7f6982527e8983
+8c8a8f8308ae8905a18a957c946f080efb1bfb78b3f74acdf799cb50a8f762a9f677
+12b2cd73ccf775a813dd80f761f8cc155b683f528b548b56a67ab97c0813de803463
+6f488b500837b62ff744ccbb7559536955681e778b778e799477947a93788b08767c
+80796aae84b5f5ccd5d7e74bb935fb076dcac31f8bd1b2baaf9da592a790ab8b0813
+ed80998b9c869a8b08a4a197a69c7e937a1f13dd806d8b6a6d558b6d8b67a48bc28b
+b2bdbfccc0c89ebe9d8ba48b9d8396788b738b6c75565f086c7e7b8b748b708b66a2
+8bcb0813de808b928c928b9108820674817c777f759848af79c58b089f8b958ca191
+080e3c81a2f813a201b3d7f78ed703b3f757158d0af750f75d158e0a0e9081d442c0
+f7c2cb12a2a2f70bb2f70ac113bcf88ff82d15fbf406318b694083528c839787958f
+9cc1a5a1bb8b08a7068bfb985c7f638172857d7a8b7a08749b81a0e9adf710f77b1e
+f70e0688fb028a2f8b5408137c429872c81eb88bbdbaa1a98895868f818c67676588
+7f8b758b809d8bb38bf7188bd98ead08bd06b48baa9e9bad080e6681a5f809a901d5
+d0f792cd03f71bfb5a15f7b10af7e3f82b15f7b20a0efb0cfb72b2f741d7f7c7bc01
+aab7f7b2a503aaf747158b30c12ef686f486cb7c8b548b46556e758b7c8b778c8196
+81987697728b087c79807673b177c3e0c4cfd21f8bb68ab26bab799d699c688b08fb
+1249a1f703d4c7f0e11fb28b9e76997d997d9c819b8b08a69ba3a4a56cac2cfb2c41
+fb22261f0e94fffff68000ff00188000ff01498000ff0040e66601ff00264cccff00
+493333f795ff0049333403ff01ca199aff0158800015ff00234ccc8bff000f4cceff
+0015199aff00113334ff0020666608fffff58000ff000b6666ffff19fffe8b05ffff
+a933348bffffbc1999ffffe54cceffffde999affffde9998ffffd7e666ffffd7e668
+ffffed1999ffffc7b3328bffffc5cccd08ffff87b333ff00510001ffffac199aff00
+82cccdff0097ccccff0027ccceff00774ccdff003666661e8bff0054e667ffffc7e6
+66ff0041ccccffffc6b332ff001d999a08ffffb86668fffeb6800015ffff9db332ff
+ffd1199aff00638000ff0040e666ff005ab334b9ff004a6666ff007b199a1fff0036
+6666ffffd04cccff00218000ffffd500018bffffa9333308ffffa64ccdffffcd4ccc
+ffffc1b333ffffc2e6681e0efb0c81bef7c4cb01a5a1f704c803f727f82d15328b72
+3b84588f859389958ba1c5969cba8b08c0067f2482fb018b578b45a776bf8bb58bb2
+afabb588948490838e64636f877b8b778b809e8bb6088bbf91e095f408ec06b28ba1
+a09cab088196050e4481b1f7ef9ea77701e3d6f774b203f737f7c715f7ae0a0ebb83
+a7f808a601b3d0f727c2f730d103f867f764158b2c4f3b2b7f08f79007eba4a2afc5
+b035291efb2ffb6c15ca91f736b58bf74e8bec53ebfb018b728b7084767767668466
+8b4508fb7807fb019565e48bee8becb7b9b9af8a958591818d536e35418b228bfb0d
+d236f725828b3a8c49956308cd6b979c0575ac80be8bf70a080e53fb71c3f8a4c301
+f73af78715b8fb1afb51fbc8887ca48abe82c2f3daf742b02405b9fb129f5dcb8b9a
+8b9d929a999797959b939c89938592818c7f7d797f7a8b658b809265f7030850f73f
+f71bf755d1f1058b5d857484788e8b1efb10fb8d6fdd0567f668ca4c8b6c8b746e74
+6c8d7f918892899a9a9e91958bb88ba16da931080ece81abf7eca0a97612f7c2bb5e
+af13e8f86cf7b6157c3a057722724e497688ad89c58bc68bf7028cf70895d8089cf7
+2905858973847c8b7c8b828b858c92fb3c8ffb2b8bfb168b688b4d895a2d9575eb83
+f7170882f72a058a95898e818b72815d7f517e88818b8a918108ad069a8ba1868d6b
+08913d0513f0ff000ae666ffff72199aff001f199affff8be666f72a88872679487f
+6b08967acaa80593b18baa8bc38b998aac899be99dc4dc99d508a7f72e0594b994a0
+9ba6088892057584838b7e8b838b798c818f0888718148846a080eec81aff8207701
+aed4f740cbf744d403f8e5f74815f7b30a0efbac81b8f80c77f71eea1283e987d293
+e913f483f8d415e60af73d16a30a13ec3cfba115f7990a0e4481b1f7ef9ea777f711
+ea12e3d65ae9d6e995b213f7f706f8d215e60af73d16a30a13fbfb0cfb9f15f7ae0a
+0e3c81a2f813a201b3d7f78ed703f7a3f93e15f7910afb7bfc7b158d0af750f75d15
+8e0a0e4481b1f7ef9ea77701e3d6f774b203f7baf93e15f7910afb17fc0b15f7ae0a
+0eec81aff8207701aed4f740cbf744d403f80bf94015f7910af76efc8c15f7b30a0e
+577fadf916ad12b2dbf796ce52d913f0f80df8e1158b594e563f635f7565756977a1
+f70cbbf736f70f8b08ada56e5d1f5ef70115fb48fb05fb76fb54fb2ecefb1ef7281f
+13e8f713dfeef7161f8bf70147f0fb06920813f0e9b9cebe8bd208c65db0491efb69
+fc45158bab8bac8e9bc1b1b89caa8b0813e8d0cd4dfb07255c273c4444e9f7291f0e
+7d7faaf7f8b2f78ead12e2d14bd6f777d513f4f81ff83215228b58a071a161ae7db5
+8baa08d1aea8ca1ebbe741fb441f13ecfbc2fb9a15fb05bf58f705f729c9f73af771
+1ea08b9b8496849197909c97977b94778e688b08f71744f72dfb3a1e13f43f465946
+1f8b4f9b64b860b760cd78f71d8b08fb0772fb852a1e13ec4964b2ea1ff7397c0784
+8b848881877a826f7f4f8208906e059c8e978d988b08989484651f0e8286a2f8efb0
+01f77dda03f7ccf70415f7b40a0ee886a2f8efb001f7e3da03c0f96815f7910af7fd
+fcf815f7b40a0e8286a2f8efb0c0eb12f71feb89da9beb13e4f7dcf98b15c20a13f4
+fb5116c20a13ecf741fd1b15f76f07f724d2f728c61e9d8b957d927891789c81988b
+08a0999d9fae6ba35a1ffb0c8b5dfb48825008820680f71253f705218b618b637874
+6eff0002b333fffff88000ff00064ccdfffffb199893fffffc6668a19d9b94b28ba8
+8bab75a952a45a9d2e8b2708fb50078b387a833b8885858b809185bc8cff00228000
+8fff003580008bff0035199a8bff0020e66687bd8a91918b968591083b8e7a938bde
+080e9dfffff68000ff001ce666ff01734cceff001bb332ff00f0999a7701acd3f730
+abf730d203f7bbfb5a15ff000b4cccff00353333fffffe8000ff00423333fffffc4c
+ceff0045cccdff00a48000ff000db333ff00366666ff007dcccd8bff00504ccd8bf7
+18ffffaae666ff0045ccccfb1dff0005ccceff0001ccceff00268000ff00024cccff
+002266668eff00198000089df7295e826c8d05ff0003b333ffffb23334ff00034ccd
+fffface666ff00026666ffffb04cccffff64199afffff7999affffbc8000ffff9f80
+008bffff8b80008bfb0ee4ffffb28000ff0081800084fffff9e666ffffb13333ffff
+f66667ffffac999afffff13333ffffd9b33308967a05ff0043999aff00f5b3331588
+ff00336666fffffc6666ff0034b3338bff003233338bff0040999a8cff0050b332ff
+0002b334ff00474cceff00714cccfffff3e666b2ffffa5b3348bffffa5cccc8bffff
+b4e666ffffea4cccffffa1cccdffff804cce8208ffffd5999af80815ff00026666ff
+ffadb332ff00016666ffffb266678bffffc133338b8bfffffe3334ffffbb999affff
+fa7fffffffafccccfb00ff000c999affffd74ccdff005d199a8bff0050e6668bff00
+45ccccff00176666ff006c3334ff0080ccceff0006b334080ef71780abf810ba01ae
+d6f74fccf754d503f8bef76315fb1c6e593e1e568b6ab073ce9aae94c08ba208a287
+977173806a6d1e8b788d67976c6e47706a628b438b6bbb8bf68bf715d3b7aa9b087e
+9e0534633d3c8b2b8bfb1dd960e18bc18bb3a7aad3a840c072bc8b08f709c3f716eb
+f70cfb04f705fb361ffb6e8b8080059c6b9c87ae8b08f72006f6f70554fb1f1f0e4c
+fb44acff00838000ff0032999aff01466666ff00384ccc01ff007fe666b5ff00764c
+ceb503f857df15fffffd8000fffffc199a05ffffda6666ffffdab334ffffe54cceff
+fffc4ccefffff033328b778bffffedccceff002180008bff001c99998bff00338000
+ff0003ccccff00374ccdff000a8000ff00394cccff0046999ac9a1ff001e999a8bff
+001bb3348bff0018ccccfffff86666ff000b6666ffffe633348bffffe44ccc8bffff
+ddb334ffffd7199a75ffffbe199a08ffffcf4ccc4dffffd8e666ffffd3199affffb8
+6667ffffbe1999ff00079999ff003566678dcd8bff002066668bdeffffe63334ff00
+2cccccffffd419998bffffdcb3338bffffe73334ffffdf999affffeeccccffffe44c
+ce08ff00103333ffffeecccc05ff000f4cccff000f4cccff00113334ff0005b334ff
+000a80008bff0017e6668bff0015e666ffffdf999a8bffffd8e6668bffffd5199aff
+fffd3334ffffa54cccfffff29999ffffc2e667ffffd4199affffe18000ffffe81999
+ffffedcccd8bffffe733338bffffece666ff00098000ffffedcccdff001bb3348bff
+0017e6668bff00243333ff0027199aff000f4ccdff00394ccc08ff0091199af72805
+fffff94cccffffcf4ccdfffff94cceffffd133338bffffc5cccd8bffffd51999ff00
+0f4cccffffd03334ff003480008b998bff000d999aff0003e666ff000d3332ff0006
+cccd08fffff13334ffffe8cccd054b277778748b738b808b81987da08196718b7c8b
+837d8b818b80937e96839f80ad80aa8b08bd8ba8abb3cb08e5f726050ef71afb1ef7
+2cffffebb333ff00144ccdf900a312afe5f74dff0056e666ff00ab199ae513bcf7db
+f90e15db0af7e0fbc515f763fb20f70efb471effff9cb3338bffffac6667ffffd133
+34ffffc93333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffff
+a8cccc8bffff48b333ff00793333ffff88cccdff0099cccdfffff04ccdfffffeb334
+ffffcf800088ffffd33333fffffaccccffffdb8000088c88058b9c8eaead9c888b1e
+8d8e05137cfffffab334ff0026e66688ff002c6667fffffeb332ff00306666ff0056
+4cceff000c999ad0ff002c1999b9ff0041999aff0027ccccff0038b3339fff00484c
+cd8bdf080e3cfb10f71df813a201b3d7ff0064cccdff004b9999ff0049999ad703b3
+f757158bffffa4b333ff0039800026ff00774ccdfffff46667fffffee666ffffd266
+66fffffde667ffffdd4ccdfffffa6666ffffdd3333088c88058b968eaead96888b1e
+8d8e05fffffa999aff0026999afffffd199aff00238000fffffeb332ff002de666ff
+0023e666ff0008999aff001ce668ff00114cccff0016ccccff0016199ab6b59ec78b
+c58bee55f708fb268b4c8b58716862686279538b4f08f750f75d158e0a0e57fb50c1
+f940e03edd129bb9f802b613b89bf803158b4e97fb09ca49f709fb0ef770f7098bfb
+268b4c4d604f8b5a8b5cb15a8b087872847167a374e6f710f707cbf7121f8ba087a2
+84a383a480957c993cd6fb2e433be465b57ecc8bc08bc19ec8acaca8a6a697be8b08
+13d8af8bb183b18bdf8b98b898c2087e9505807d75806f8b0813b8548b5290638b08
+fb3563fb3f251f0efb2bfb6fb3f741d4f7b2c7947712acb5f799ab13ecf7468515f3
+c17754465b6e751f7c8b768c819681987797728b087c79807673b176c3e0c4d0d21f
+8bb68aae6bab799d699d688b0860fb168cf723e5bfbfe71fa78b9185a08bc08ba0a0
+9ab80813dc7d940581807b897a8b0813ec628b898f628b6d8b5d7f6973506177358b
+4408fb26df65c81e0e5689a8f7c6b8f774b670a712eddcf760a4d3a813eef884f919
+15fc038b0513de238c89898b78058b878efffffd4ccc90ffffffb33408a98905ff00
+1eb33389ff00064ccd858b6708fc87078b6efffffde666fffff34ccdffffdd199aff
+fffdb333086d890586ffffffb33388fffffd4ccd8b87088b778d89058bff00444ccd
+8dff002bb333ff002ce666ff0046199a898b1e8c8d8b9f058b9186ff0000cccd88ff
+00003333086d8d05ffffe24ccd8dfffff9b333918baf08f798f73307a99a846d1f4c
+a4f72207808c638d788b08fb330613eef774f76b07b58baf23935f08a8060efb09f7
+03cef747d901c1acf7cb9603f82df8511580910581787888738b608b60915f8b08fb
+0f65fb0d261ffbfc078b788b64997d91859488958b978b928f929194958f978ba58b
+c95edd8bbc8bb8a0b6bd8b08a68ba685a68bbd8baeb297c1088090057e7b7482778b
+0824065d8b6e687e6493f70595f720f7108b08e606c28ba5ae9cc0080e73fb26b4f8
+1cbbf81bb412f76ac481c313f0f7b9fb2615b38bb19da29708849e0578857b897d8b
+768b5d918bac8b978f9a969f08f75ff7f6fbf88bf734f7a90513e89ca892a48ba18b
+bc64a9628b628b6378787f089279059d919b8d998ba98bb2828b688b7c8778827a08
+fb5bfbecf7f88bfb38fbb30513f07a6e81758b760861af6bb61e0e73f7b3bb01f861
+f7b315a7bbfbf88bf755f7e3548cfb56fbe46f5bf7f88bfb66fbfec389050ef785f9
+1bbe01f778c6dbd2f75ef403f8b6fb0b158ac7678b1ee0edc1f7298bf7178bf72661
+f52ceb33e63db0fb198bfb088b2a63353408bd6905b2bbccafcb9c08fbbfc6f7c899
+07df8bcd72cb4baf66a5659e626281576e6c756c756c687c647756834a8b4108d206
+8bc190d093b194bcb2ada4a19493be9caa949e4e91488b408bfb2a66305247080e49
+f8a39a01f82fb303f79df84815fb1624ab66f719f4059e769c75997608fb1823ab66
+f710ed059e629d508b498b6686668165089c06a4c998c88bc78bf762fb32f71efb76
+8b838b818b838a08857c05f70983d658b16b080e4c7fc0f7eac601f71ab7f710b703
+f7c2de155e9b59c21eb78bb4b0adb708789d0562616e877a8b768b78ae8ba98bc18f
+c596c7d5cca2ab8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad
+8be270ba5d8b668b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b
+5d6b72788b718b779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080e2cfb
+6a76adcff70dadf816ad12add2f78dda4ba113fcf845f76a15f71c37e7fb15302c48
+fb64fba6ba2df73e1e13fae08ba47c937808a1920583b470c12c8bfb2d8b74c67ef7
+24088f8d05b356b16cd98b08f713d5f717ea1ffb5ffb54155b3eaff726f732d0b9bd
+1f13fce8b0fb0842fb255457461f0efb087fa8f81dab01b2e603f716f75c15f7900a
+0efbc2fb87adf8dc9da877f725ef12eeefffffaccccdff0049b33313f8eef8eb1584
+0a99fbb81513f4860a0ef71a81a3f7b4b2f7b9a301ff0024199aff005a999aff01ba
+4ccce503f927f7dd15f763fb20f70efb471effff9cb3338bffffac6667ffffd13334
+ffffc93333ffffb4ccccffffd966665675ffffbcccccfffffb4ccdffffb5333408ff
+ffa0800064ff005e999a06ff0003b332ffff3fb333ff008a8001ffff884ccdff00a7
+b3338bff006ecccc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027cccc
+ff0038b3339fff00484ccd8bdf08fffdebb3347015ff0130ccccb2fffeceb33406ff
+0004ccccff00c84cccf6ff005cb334e48b08f718f702fb0efb5efb4732fb09fb061f
+ffff8b66668bfb05ff006e999afffff64ccdff00b16666080efb207fb7f73fb2f730
+b701b0d903f707f7861593f72ae891ac8b9d8bba89b76c089ba00567b15f9d568b08
+3dfb1248fb38fb08ce20f71b1fe58bb8c19aa1087a9d056f6f67755e8b328b58d283
+ef08f7320695988f941f9f078f888d871e0efb207fb7f73fb2f730b701f7cbd903f7
+c7f78615fb2d067a857f831f7d07878c8a901ef74206fb3a27865f1e618b70966ca1
+087c7605a56db771ca8b08d7f714bcf74af70745f700fb191f318b5f557c74089c7a
+05a3a2afa6bb8be48bbb3e933c080e6afb6d76f776a9f816b1f7947701ded5f791e1
+03f728fb631593a58cb78bbb08ee07aa7da783b58b08f71bf2eef72ef70636e2fb0d
+1f638b577f626c08d3078bf71096be98ad08809d3f690581618a498b3608fc6d078b
+fb10804f7e6808967a05f7e8f84915fb005442381e6e8b74966aa586837c75818808
+f76507f726c4a6bedbcc5cfb321e0eb181b7f8ddb201b2e403f8ccf70d15f7b50a0e
+ab9c7601c9aef7f3d003f85416967fc59d8bf83d75963b80fb12fbe9fb1cf7e96496
+57808bfd269485a5918bf8e38d8cf729fbfb05ff0002cccdfffff94ccdff00043333
+fffffcb3338f8b918bff00184cccff00033333ff0002b334ff0006cccd08f72ef81c
+8d8a050eb181b8f8e1ad01f86be503ddf8af15f7b60a0eb181b7f77ff708f77eb201
+b2e4f73df70803f7f7f7a115f78f0af769fb2815f7b50a0eb181b8f779f708f788ad
+01f738f708f753e503f772f79c15f78f0afb20f7a715f7b60a0e9186a279a5f7c2a7
+f79aa679a28d77e27612f0def763a1d7a387a3132380ff000c6666f9c615ffffddcc
+cdfffff46668ffffe88001fffff04cccffffedb332ffffee4ccc08f72e4c05a08299
+88938b938b92928b938b928791809308ff00a5999afc0d15d10a1333c0d20a1327a0
+540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0d30a0e9186a279a5f7
+c2a7f79aa679a28d77d8eb12f0deffffd86666ebe8ebffffd9999aa1d7a387a31322
+40ff014d6666f98915c20a132280fb5116c20aff009a999afc2415fb098a05133310
+d60a132728540a133328550a13ab28560a136328570a13a328580a137330d30a0ef7
+41fb2cd3d6a2f802c2f745a896771285a3f785daf770a3b1cf13e780f7e7f7f71566
+07c6c3ff0048800095ff002180008ba78b9e849dffffef8000ff002f8000ffffd466
+66ff00038000ffff9e999a8bffffb280008b648cfb4b5a8b7f8b7f90828f81907f8e
+7e8b08777a777571a976b01fa18ba4979d9dbdbcb2f58bf71b8bff005cb334fffff1
+6668ff00618000ffffd39998ff002e4cccffffebb334ff0015199affffe2ccccff00
+0d6666ffffd980008b08ffffc380008b4777ffffb680004b0839f74915f7390a13f7
+80f73a0a13ef80f7360a13f780f7370a13ef80f7380a13f780f7b70a0e3b89acf8d2
+b36cacd37612eee0f7a0a8139cf7edf9c815bd0a13dcfb60fb431513bcf79a0a13dc
+f79b0a13bcf79c0a13dcf79d0a0ec681aef79ebd79c3f786b012b0e2f7fde666a913
+bcb0f7d915fb4deefb2af76becf714c7d59f82a0721e6e8b7c6e7e667d6363693f8b
+fb288b43f70a81f732ac9aa892b18b0813daf7b80a13ba508b60b14c8b7e8b497f4e
+69088a8c05f769f707d5da1ef71e8bc43aa53508a98f0581bf83bc87c1528e63b5fb
+138b08fb3afb0cfb10fb651f0e3f81a5f8fea312a6ff00168000ff00018000ff0045
+6666ff00f1999add55ff0016800013f8ff018ab334f90b15f7610a13f4f7620a0efb
+9686a2f8f5a201f702da03f754f701155c0a0efb9686a2f8f5a2c6eb01ff00096666
+ebff0004999adaff00096666eb03ff00c66666f98915c30afb5116c30aff00b6999a
+fd1c155c0a0efb45fffff8b333ff00284cccf8d9ac01f766e003f7bbf89f158bde9c
+90c78e91918ba085915a8a738a5c8b558b688c598c85858b769185db889c868b3808
+fbd407fb355a826a1e7d8bfffff94ccd9ffffff8b33395fffff64ccdff000d3333ff
+fff4b333ff000dcccd6c8b087d737d75ffffce8000ff0056e666fffff43333ff0019
+b3341fff001b19998bff0020e66793ff00206666ff00174ccdff0030199aff0022b3
+33ff001fe666ff00424ccd8bef080ef7dc7fc759a9f7c5b3f788a712f76db7f744e0
+f78ae4137ef89ef7e115e206f715a9314f4d682efb2c55869dac1ff850048bde9c90
+d18e91918ba085915a8a3a8a8b8b08fb81064a668c8b1f8a8a8b7a058b838e8a9d8a
+be88917b8b278bfb5f78fb0c784d0813be7f627972768b7f8b808e83a2859d7e9a71
+8b087078776b56c27db01fc58bafafa0bfb0e796f7568bf73808d6919bb61ed606b6
+94786e1ffc85078b6ffffff14cccfffff4199affffd7b334fffffce6660871890586
+ffffff999a88fffffd66668b86088b7805137e8d89058bf48da71ea88baa89af8b08
+f70df7319df73be46ef0fb8a1f4f060ef7fe89a9f7ceb1f782a701f5dcf7b0dbf78a
+e503f8bbf80f15f755078ba7ff000f666898ff002799988e08a58d0590ff00006668
+8eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b78058b868ffffffd
+666890ffffff999808a58905ff0029999afffffcccccff000d6666fffff533348b6d
+08fb54fbb0f754078ba7ff000b6666ff000c9998ff002b999aff0003666808a58d05
+90ff000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b7805
+8b868ffffffd4ccc8fffffffb33408a68905ff0021b333fffffd8000ff00144ccdff
+fff480008b6d08fc86078b6ffffff1999afffff1e666ffffd86666fffffd199a0870
+890587ffffffb33388fffffd4ccd8b86088b788d89058be88daeb3e1898b1e8d8d8b
+9e058b9087ff0002b33387ff00004ccd08718d05ffffd866668efffff0999a968baa
+08f7a0f7b0fba0078b6ffffff4999afffff26666ffffd46666fffffc999a08718905
+86ffffff999a88fffffd66668b86088b788d89058bef8da81ea88baa89af8b08f70d
+f7319df73be46df6fb891f4e6415e306f714a92a4f4d692efb2c54869dac1f0ef74c
+86a277a8f802baf744a896771285a3f785daf770a38cd6136780f7e9f7f9156607c6
+c3bf9ca88b08b9c3653a1ffb5c078b6efffff76668fffff3999affffdd9998fffffc
+66660878890586ffffff800088fffffd80008b86088b788d89058bcf8dafb2cf898b
+1e8d8d8b9e058b9087ff0002666686ff0000999a08798d05ffffe29998ff00034ccc
+fffff26668ff000cb3348ba808f76407f24ec2431e648b3d7b48480837f74715ff00
+024cccffffadb334ffffffb334ffffce4ccc8b388b388b5d89380813b78089387186
+458885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87
+bd8a91918b968591458e719089de0889ff005280008bff002d80008bde8bdeffffff
+4cccff00304cccff0002b334ff0054b3348dcb949baf8b08ab06d68bba679c3e968b
+8f8c948f84b986c18ab808132f80f7360a133780f7370a132f80f7380a13b780f7b7
+0a0eb886a2f7caabf77ac873a2d07612f702da13ccf83ff9c815bd0afb7ffd5b1589
+ff005280008aff002d80008bde089307f70686a06bb227b6fb02afffffb6cccdd9ff
+fff73333ff000ee668fffffe4ccdff001f4cccfffffdb333ff001bcccc8b91918b96
+85916cff00078000fffff266689472abffffe57ffeff0021999affffe23334ff0037
+b333ffffe1e666ff004e33330870d165b7468b088a8e05d7a7a0e296c90813ec90a8
+92aca98b988b9386968095819986988b08a0a296a8a279a8561fffffbc33348bffff
+dacccc53814d8253ffffeb8000ffffb98000ffffcc8000ffffe28000ffffe7e666ff
+fff23334ffffce3334fffffdcccc678aff00003333ff003cccccff00009999ff002d
+999aff0002199aff0045999a0813dcf7b90a0ef72986a2f8f5a2d07601f702daf7dc
+da03f7bff9c615da0af747fd0515f7ba0a0eac75c9f8dca2bdaa01f74fd1f703d003
+f7ccf96c15f7bb0affff338000fb6115f7bc0a0ef71f89a870b2f8d7a712f5e0f722
+aef722e0141c137cf8e7f8d0158ba7ff000f666898ff002699988e08a58d0590ff00
+0066688eff000299988b90088b9e898c058b2a8a6764348c8b1e8a8a8b78058b868e
+fffffd666890ffffff999808a58905ff0026999a88ff00106666808b6d08fc7d0769
+85816d1efb8a066e839fa31ff87d078ba7ff000d6666ff000cccccff0029999aff00
+03333408a58d0590ff000066688eff000299988b90088b9e898c058b2e8a6764308c
+8b1e898a8b78058b868ffffffd4ccc8fffffffb33408a68905ff0029999afffffce6
+68ff000c6666fffff519988b6d08fc89078b65fffffa6666fffffe199affffe1999a
+fffffde6660813bc6e890585ffffff999a88fffffc66668b8608137c8b790513bc8d
+8905137c8be48da91ef70f06a98b9e63932608ae0693ef9bb4ac8b08f7130613bca9
+e1898b1f137c8c8d8b9f0513bc8b8f88ff0002cccd88ff00003333086c8d05ffffe0
+99988dfffffa66688e8bb0080ef71e86a2f778abf8107701ff01048000f7aa15480a
+fbb8fb6515490a0ea189acf7c2b3f77cb36cac12f1e0f798e542ae13ccf74ff7e115
+ec06f71ba729524d6c36fb31507e99af1f613a15ac8baa89b88bdc8bcd90c4b1ff00
+298000ff001b999aff00258000ff003699998bff0040cccd08d766f701fb601efb01
+f75d0613eaa39792a31ef71106d48ba157a037ff000d8000fffffe8000ff000d4ccc
+ff00013334ff00083334ff00054cccfffffe6666ff00369998fffffaccceff003866
+68fffff3ccccc70813dc898d0513ec8b3a89771efb7d0613dc598b6e8c598c85858b
+769185d1889c868b3808fc25078b387a86458885858b769185bc8ca98cbe8b080ea2
+86a2f7d3a3f79da312ff006c8000daf772d66fe213f8ff00bb8000f7fd154a0afb09
+f7b0154b0a13f44c0a13f84d0ab5fcc4154e0a13f44f0a0e3b89acf8d2b36cac12ee
+e0f7a0a813d8f721f9191513b8f79a0a13d8f79b0a13b8f79c0a13d8f79d0a0eed8b
+b2f8cab370a812ada6f827e0bda613bcf704ba15fffff18000fffff180007bfffffd
+8000ffffec800088fffff6199afffffe8000fffff58000fffffa8000ffffff66667f
+0884fb28a68a0596bfa5e4de8b08f7b606db8baf369753088b8b8ca61e84f72805ff
+ffff666897fffff84cccff00034ccdffffea4cccff0003b333ffffee80008effffe9
+8000968bb008f87b078bafff0004ccccff000cccccff00203334ff0002333408a88d
+058fff00004ccc8fff0001b3348b910813dc8b9e0513bc898d0513dc8b3c896d1efb
+990613bc6d458d8b1f13dc89898b760513bc878e89901ea98805a5fffffd666894ff
+fff599988b768b4c7f2475fb06086bfb30ffffee199affffb8199affffe5e666ffff
+e5e6660813dcf7cff8c215aa91836c1ffc7b07667f88731efb6f067d7e90971f8ba0
+a4eea1f70997cf9bf393f08da49599a68b080e9186a279a5f7c2a7f79aa679a28d77
+12f5def763a1d7a387a3133380f7c4f7f915530a132740540a133340550a13ab4056
+0a136340570a13a340580a137380590a0ef7c289a8f7bdb5f774c86aa812f819e013
+e891168b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f806188087089
+05878888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e871e
+718d05638e7c948ba908f79107f48b9d6aaf27b4fb02ad3ad58a08d58a8c8d8b9e05
+90898e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7a0e195c990a891ac
+a78b978b9386958094819886978b089fa096a8a27aa8591f408b7153824d83537d4b
+546b757d618a698b08f764078ba79a96b38e0813d8f7bd0a13e8f7be0a0e9c7faff7
+b9bcf70b76f734ad12cfa9f7d7e34be713fab7f70715f7bf0a13fcf7c00a13faf7c1
+0a0ef72986a2f8f5a201f702daf7dcda03f8ebf70115f7ba0a0ef72986a2f8f5a2ba
+aa01f702dab0d1f703d0b4da03f7f3f96c15f7bb0af78cfcff15f7ba0a0eb886a2f7
+caabf77ac873a212f702da13e8f89c8a15ff000ee668fffffe4ccdff001f4cccffff
+fdb333ff001bcccc8b91918b9685916cff00078000fffff266689472abffffe57ffe
+ff0021999affffe23334ff0037b333ffffe1e666ff004e333370d165b7468b088a8e
+05d7a7a0e296c990a892aca98b988b9386968095819986988b08a0a296a8a279a856
+1fffffbc33348bffffdacccc53814d8253ffffeb8000ffffb98000ffffcc8000ffff
+e28000ffffe7e666fffff23334ffffce3334fffffdcccc678aff00003333ff003ccc
+ccff00009999ff002d999aff0002199aff0045999a0813d8ff00028000de998ed190
+91918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185
+ff000f8000898d38088d388c5a8b388b388a5d89388938fffff0800086458885858b
+809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de89ff
+005280008aff002d80008bde089307f70686a06bb22708b6fb02afffffb6cccdd9ff
+fff73333080ecd81c15aa2f8f0a212f772b2f747da13b8f771f8ac15ff0000b3337d
+ff00004ccdfffff64ccc8bfffff2b3348bfb5f78fb0c784d7f626c6e788b808b818d
+84a0869b7f99748b087379796e5bbd7fac1fbf8bb8ada0bfb0e796f7568bf7388bff
+005ae668ff0012b334ff00051998ff00424ccc8bff00464ccc8bff0012b334888d38
+8d388c5a8b388b388a5d89380813788938fffff0800086458885858b809185b28dc8
+8ea98ba98bc589b48891918b968591458efffff180009089de0889ff005280008aff
+002d80008bde8bdeff00008000bcff00028000dfff00028000de998ed19091918b96
+85916689ffffc18000886d8b08fb6c066d8bffffbc80008e6b8d85858b80918508d1
+85ff000d3333fffffcb334ff00044ccdffffae4ccc080ef79a86a2f8f5a201ff028b
+3334f215630a0ef73c86a2f7cba5f7a4a201f5e0f7ebde03f753f701155b0a0ef71a
+81a3f900a301afe5f84fe503f7dbf90e15650af7e0fbc515660a0ef586a2f8e9a979
+a212f700d8f7bdd813d8f89df91915fc0b0613b8f79e0a13d8f79f0a13b8f7a00a0e
+6b86a2f7a1a37c9ff7cfa312f700daf77be313bcf74ff7bc1513dc670a8df7b315f7
+a10a13bcf7a20a0ee481b4f8eca601b0e5f859a203f7f38115500a0eaf86a2f8eaa8
+9677128ea3f785daf770a313dcf79ef8ac15f7630a13bcf7360a13dcf7370a13bcf7
+380a13dcf73b0a0eac75c9f8dca201ff006b8000f89f15f7bc0a0ef70586a2f0a1f8
+09a1e6a201b0dbff00b03334ff00549998ff00b13334dc03f80ef70115ffffffe666
+ff000366668bff00034ccdffffffe666ff00034ccd08ff0001333406f71692f713b9
+8bf7338bf729fb04bbfb2593088a06ff00028000de998ed19091918b9685916689ff
+ffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d3808
+ffffffe66807ffff854ccdfffff8ccccffff7ab333ffffd6e6668bffff5d66668bff
+ff566666ff00944ccdffffe0b334ff006be667fffffae666ffffffe666fffffcb333
+8bfffffcb333ffffffe666fffffc999a8938fffff0800086458885858b809185b28d
+c88ea98b08a98bc589b48891918b968591458efffff180009089de08ffffff3334ab
+15fffffe8000ff003fb333ffffff4cccff002bb3338bff0047999a8bff004b8000ff
+00006666ff002f66668dff0047199a08ff0001999a06ee84d8638bfb228bfb202f65
+378508ffffaa8000f80915ff0001999affffb9ccccff0000e666ffffd0999a8bffff
+b4999a8bffffb84ccdffffff4cccffffd3e666fffffe8000ffffbfcccdffffa6199a
+ff0006199affffa9199ab18bff0091e6668bff0089ccccff0054b333ff0026199aff
+005bcccdff0007199a080ef70886a2f8f5a201ff01268000df03ff02278000f1156f
+0a0ef70589ac6cb2f8d3ac12f0e0f7b3e0beac137cf8c2f89f158bde9c90d18e9191
+8ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b3d
+86fffffab3336bff00004ccd08fb5f066e799eaa1ff846078bde9c90d18e91918ba0
+85915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc250713bc8b38
+7a86458885858b76918508137cbc8cc88c9f8b08f7da06d88bbb44994494849aff00
+00e66694ff0007199a8bbe89c087bb0813bc8a94fffffbccccff0007e666ffffe733
+34ff0003199a738e73908bde080ee486a2f77cbff7d9a201f5daf79de003f8abf701
+1589ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d38ff0001cccc418cffffd1199aff00003334ffffbb
+e6664cffffd6e666ffffc18000fffffc199affffe380008b438bffffd4999aadff00
+016666dc088df70805ff00016666deff0012999a93d18e91918b9685915d88ffffc9
+b33389ffffe24ccd8bffffe2b3338bffffc74ccd8d608e85858b809185d188ff0015
+999a83fffffe66663808892205fffffe199affff9d4cccff001ce666ffffb0b334f7
+108bff003933348bff0042e666ff000f8000ff0047e666ff003166668bffffb0cccd
+8affffd24ccd893a8938fffff0800086458885858b809185b28dc88ea98b08a98bc5
+89b48891918b968591458efffff180009089de080ef82c8bb0f8d5ac01f5e0f78de0
+f791e003f9c816bb8bac8abc8a91918ba08591458e7a908bde08f825078bde9c90d1
+8e91918ba08591598a6e8a598b588b6d8c5a8c85858b769185d1889c868b3808fc25
+07397e88531efb1506657a8edd1ff825078bde9c90d18e91918ba085915a8a6d8a58
+8b598b6e8c598c85858b769185d1889c868b3808fc2507397d88661efb1f06617a8e
+dd1ff825078bde9c90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b7691
+85d1889c868b3808fc25078b387a86458885858b769185bc8cdc8c8b8b080ef8368b
+b0f8d5ac01f5e0f78de0f791e0beac03f99b16d88bbb44994494849aff0000e66694
+ff0007199a8bbe89c087bb8a94fffffbccccff0007e666ffffe73334ff0003199a73
+8e73908bde08f825078bde9c90d18e91918ba08591598a6e8a598b588b6d8c5a8c85
+858b769185d1889c868b3808fc2507397e88531efb1506657a8edd1ff825078bde9c
+90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808
+fc2507397d88661efb1f06617a8edd1ff825078bde9c90d18e91918ba085915a8a6d
+8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b
+769185bc8cdc8c8b8b080ef73689acf7c2b3f77cb36cac12a5a9f765e0f788e813ce
+f845aa15457eadac1ff77fe207f715a7314f1f4d8231fb2c1ea06a15f70df7049df7
+3be46cf0fb8a1f4ff72a0613de8bde9c90d18e91918ba085910813ee5a8a6c8a598b
+08fb9d06854c85578753ff0007b333fffffa8000ff00084ccdfffffd8000998e93b6
+ade8cd8b08b506ba9784401ffc25078b387a86458885858b769185bc8ca98cbe8bb6
+8b9989e48b080ef77f87a276acf7c2b3f785ac78a212f3e0f784e8e5da13aff94af7
+021589ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff000280
+00de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885
+858b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff08000
+86458885858b80918508b28dc88ea98ba98bc589b48891918b96859108458efffff1
+80009089de081367fc543c15f7c20afb22e615f7c30a1377f7c40a0e8889acf7c2b3
+f785ac01f3e0f784e803f78aaa155b82adac1ff77fd607f714b0314f4d6c31fb2c1f
+fb22e6158b387a86458885858b769185bc8ca98cbe8ba88bab89af8b08ff00bf8000
+ff00568000ff0033e666ff0085199ae471f0fb6f1f33f72a068bde9c90d18e91918b
+a085915a8a6d8a588b598b6e8c598c85858b769185d1889c868b38080ec881aef79e
+bd79c3f786b012b9e637a9f833e213b6f7a38115f76beef734f74df765fb0cf706fb
+3a1ffb138b636152888755835b815794fffffa4cccff000a3333fffffd4cceff000a
+cccdff00036666a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813da
+f7c50a13bace8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb0
+7ca66e8b08728278771f41f7144fec1e0ef7ec81a7f7b3b2f7afa276a812f6e0e8e8
+f81fe813def8c6f90915f711e1fb03fb64fb473dfb0524fb0021f709f7541ff766ef
+e7df1efc06fc9c15fffffe199aff004d66668aff002ccccdffffffe666ff0049cccd
+08eb068dfb56f715fb0df7328b08f746f706f71ff75cf75afb11f717fb3c1ffb308b
+fb0afb1b7efb47082a06ff0000199aff00453334ff0000b333ff002f3332ff000233
+33ff004b999a0813eef7b90a0ea186a277a8f7c2acf797a412e3dcf771da133cf817
+f8ac15ff0001999affffbb999a8cffffd2b332ff00004cccffffc3b33408ffffb419
+9a06384dadf5e8d7a5c31fff00538000ff00028000576a1f8efb681588078b388a5d
+89380813bc8938fffff0800086458885858b809185b28dc88ea98ba98bc589b48891
+918b968591458efffff180009089de0889ff005280008aff002d80008bde8bdeff00
+008000bcff00028000dfff00028000de998ed19091918b9685916689ffffc7800088
+6d8b6a8b508c688b08fb4e6935461f8b25dc59cf81088807707b6d72724affffcc99
+9affff7a6666ffffce6666ffffc9999a6b8708137c828a05878888861f8b788c89cd
+8c05d28cb0ff00508000b6ff006c8000b5f59da8f58b080e2081b363a9f80da112b5
+d459d8f72cd01374f7b9f76815770ad8fb261513ac780a1374790a0e3b7fabf819ac
+12ade2f78dd96ba113f0f70df77f15bfa0f70ef1d9bb2cfb0cfb12515b551e3954d4
+f7221f34a115fb55f7013fecf712ddf703f70bf70057f708fb211e2c8b565a755b08
+858d058fb49ab89aa5abc2b1a2e7950813e8e595cba894f704087506835b567e377e
+3a7e475b613c6747813b8b3c080efb0089a8f752a8f72eaa12f1d5f72ad051d313f8
+f744f78a15f70a07a99791b8c1b27c4d636d66511e4d6e15d20613f4c4ac6157485f
+6e4f5a8394af1ffb2441158bd18db11eae8ba989ca8bc68bddae8be78bc35eae5e98
+088d0713f8a68fbcb08bbe8bc862bafb0e8b658b7989678b0860498d8b1f89898b75
+058b898efffffd33348effffffcccc08ad8905a2fffffe999a95fffff366668b7708
+fbb9078b68fffff3cccdfffff83333ffffed3333fffffecccd086b890584ffffff99
+9a89fffffd66668b850879070efb3389a8f7ffb270a812f5d613d0f5d5158b6effff
+f4999afffff2b333ffffe06666fffffd4ccd0874890586ffffff999a88fffffd6666
+8b86088b788d89058bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff0000
+4ccd08748d05ffffde6666ff0002e666fffff6999aff000d199a8ba808f79f07b591
+92ac1eb206c58ba152985108a68f0585be87b989c00813b0898d0513d0f7c60a13b0
+6d398d8b1f13d088898b750513b0f7c70a0e548bb2f7f4b170a812a3a5f3aff71fd6
+b9a413bea3fb1415a58a0593b0a5e7df8b08f73606de8ba833936308a48b85f71a05
+8b99848f798e7a8e74948bb008f7a9078bad9594af8f089c8d058e8f8e8f1f13de8b
+9f0513be8a8d0513de8b42896a1efb520613be7a3d8d8b1f13de88898b750513be87
+8e8a8f1ea68905ae8891778b7f8bfb0b793078368570707e71887d897e898a7908f7
+0db9158b9ca4d099f7780813de8f90a1a21ed206b08e7c691ffb92076a887b661efb
+0b0681828c961f0efb1281b0f75fa8f71da201aed7f766d703f706f797157f0ad2fb
+4315800a0eef89a8f74badf713ce67a812f7b9d613e89b16f7c80a13d8f7c90a13e8
+f7ca0a0efb0981aaf74db4f735aa12c3a4f773d951dc13f4b1de15f7cb0a13f8f7cc
+0a13f4f7cd0a0e9b89a8f80ba801f700d6f762d603f724f84115f7ce0a0e9b89a8f8
+0ba8d1aa12f700d681d4ebd471d613ecf833f8e015f7cf0afba3fb331560498d8b1f
+88898b75058b878dffffff4ccc8fffffffb33408a9890513f2ff0025b333fffffd80
+00ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ffffda4ccd
+fffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b38ca78cb6
+8bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88968ba308
+8b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd999a086c
+890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88ba98ab38a
+088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff00024ccd
+fffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff0024e666ff
+0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45895e6f5e
+8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb62fb8c8b
+f782058bb48eff00088000b1ff0002800008a98d058fff00004ccc8dff0001b3348b
+8f088ba0898d058b45895f1e0e3789a8f74aaef713ce67a812f0d613e8ab168d8905
+8bcf8daeb2c5898b1e8d8d8b9e058b90878d878c758e6d918bac08f72007d686a167
+9e549a5faa46bd8a08d38a8e8d8b9d0592848d871e838c05679062e27bb177bc66a1
+558b088f07b096a3ad99b396aa9ea1958b948b9288918792869487978b08a09c9d9f
+a380a0621f5b8b6b55795c76546e65488b08f7060713d8f7d00a0e4f7fb46ca8f7ff
+b270a8128fd3deaff712d613ae8fb9156ca570b71ebb8bff001b999aff0019e666ff
+00156666ff0036199a9ebb90f18bcf08d98ea5b11eb806af8f7d691ffba0078b6e83
+7f688708134e788905868a88898b86088b788d89058bcf8dafb2cf898b1e8d8d8b9e
+0590878e871e139e788d056b8e80988ba808f7ab078bb18e91b18e08a78d05918d8d
+901f132e8b9f05131e888d05132e8b4789601efb4206131e634c8d8b1f132e88898b
+7b05139e8b828f8a9c8ac3888e7c8b228b22fffff8b333ffffc9199afffff24ccdff
+ffd6e6667f677b7e7b8b7f8b87938998fffffd199aff0012e666fffffae666ff0013
+199a708b08737e77751f0eee89a8f80ba812f5af70aef7e1d013d8b6f843158a898b
+75058b888cfffffe4ccc8fffffffb33408a88905a5fffffe333498fffff9cccc8b68
+0813e882fbae058a68fffff96666fffff76666ffffdc999afffffd999a086d890587
+ffffffb33389fffffe4ccd8b88088b758c89058bcb8da9a9bc898b1e8d8d8ba0058b
+8f89ff0001800087ff00008000087a8d056dff0003800083ff000980008bac0813d8
+93f7b68d8bf72afbfb058e848f888f8b918b908e8e9208f730f80c8c8b8afbc6058b
+67fffffcb334fffffa4cccffffdd4cccfffffab334087e890588ffffff800089ffff
+fe80008b87088b768c89058bc28da9a9e2898b1e8c8d8ba0058b8e89ff0002b33387
+ff00004ccd086d8d05ffffd8e668ff0002999afffffc1998ff000b4ccc8bff002119
+9a08f7ad078bb0ff00038000ff00036666ff00248000ff0002999a08a78d058fff00
+004ccc8dff0001b3348b8e088ba1898dfb2e89fb1dfbe7fb1cf7e7050e8689a8f74d
+adf730a801f2d6f761d603f813d8158b65fffffb999afffff8cccdffffdb6666ffff
+fd33330871890588ffffffcccd89fffffe33338b88088b758c8905a98cb58caf8bb0
+8baf8aa98a088d8d8ba0058b8f89ff0001999a87ff0000666608778d05ffffde8000
+ff00034cccfffff88000ff0004b3348bb308f7a8078bb4ff00078000ff0002b334ff
+00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d056d
+8a668a668b678b628c6d8c0889898b75058b878dffffff33348effffffcccc08a589
+05ff0020b334fffffd8000ff00084cccfffff980008b650820fb61f6078bb4ff0007
+8000ff0002b334ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b
+8f088ba08a8d056d8a658a668b678b638c6d8c0889898b75058b878dffffff33348e
+ffffffcccc08a58905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8
+078b65fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89
+fffffe33338b88088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89
+ff0001999a87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3
+348bb308f71bf761070e3c81a2f813a201b3d7f78ed703b3f757158d0af750f75d15
+8e0a0e8e89a8f7ffb270a812f5d6f75fd513d8f5f7f315fba7078b68fffffab333ff
+fff66666ffffdc4ccdfffffd999a086d890587ffffffb33389fffffe4ccd8b88088b
+758d89058bff00444ccd8dff002bb333ff002a8000ff00428000898b1e8c8d8ba005
+8b8f89ff0001cccd88ff0000333308708d05ffffde4ccdff00028000fffff9b333ff
+000680008bb108f7a707ae9f8fa01ef70d069fa089661ffba7078b68fffffab334ff
+fff6999affffdc4cccfffffd66660870890588ffffffcccd89fffffe33338b88088b
+758c89058bff0043199a8dff002ae666ff002bb334ff00444ccc898b1e8c8d8ba005
+8b8f89ff0001b33387ff00004ccd086d8d05ffffdd4cccff00024ccdfffff9b334ff
+0006b3338bb108f7a8078bb4ff0003199aff00048000ff0025e666ff000280000813
+b8a98d058fff00004ccc8dff0001b3348b8f0813d88ba00513b88a8d0513d88b4589
+5e1efba90613b8f7d10a13d889898b750513b8f7d20a0e4ffb7ea8f757adf805b966
+a812ecd5f766de13ecf73ff7cb15a1c0bca8ad8b08c8b74bfb0d357829201f7b8b6a
+8d68b408f7fe0413dc898d058b74897d68478d8b1e89898b78058b868efffffd8000
+90ffffff8000089e8905ff00216666fffffc8000ff0009999afffff380008b6f08fc
+97078b6ffffff28000fffff3199affffe28000fffffce6660878890586ffffff8000
+88fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002
+800086ff0000800008788d05ffffe0999aff00034ccdfffff46666ff000cb3338ba7
+08f73f07a57da783af8bbf8bb59cb2b2b8b9a4c98bdc0813ecf7d30a0efb2281b0f8
+05a201aed7f757dd03f819e2157c0a0efb0889acf7fdb001a5a6f715daf717a503f7
+4af70e158b3880864e8885858b769185b58ca58cb78bb68ba48ab68a91918ba08591
+4e8e80908bde08f7a29c07dc8b9b6f9c3a988b988f8b8b85b987b78ac57489408759
+8b084006598b538e638e8a51875f845d8b8b9987988b9cdc9aa7dd8b089a060e49fb
+85cff8c8a201f74dfb41159e0a0ecefb6d76f778b3f805b301b2d9f734d6f733d903
+f767a9153d7bf700dfe29ce5dd1fa08b9e81a07008fbb407796d757d718b08f762f8
+0515da9a2037347b30391f778b779176ab08f7b507a0aba295a08b084afc6215dd07
+a075a084a88b08eecef701f71bf70359e92c1f5e8b7179767008f702078bbf9dc7cf
+b6087ca005426574627e6f81a773b841ad087b7605d1609c4f8b5708280779a07398
+6e8b08353a35fb34fb00be2cea1fb18ba897a4a7082e078b577a50455f089b7705d5
+ada3b895a6986fa263d465089a9f0547b679c78bbf080e3f86a2f809a201f744f7e9
+159d0a0e8289a870b2f7ffa812f0d6f75cd61378f80cf7f415fb9c0769887c661efb
+0c06688697b01ff79d078bb4ff00068000ff0002ccccff00218000ff0003333408a0
+8d058fff000066668dff0001999a8b8f088ba0898d058bffffc0999a89ffffd76666
+ffffd64ccdffffbeb3338d8b1e8a898b75058b878dffffff4ccc8fffffffb33408a5
+8905ff0022999afffffd4cccff00056666fffff9b3348b6508fbac078b64fffffa4c
+cd8affffddb333870813b87a890588ffffff999a89fffffe66668b870813788b7605
+13b88d890513788bca8da91ef78706da8ba93b965a08a48c85f7190513b88a9cffff
+f5cccc8dffffee33348e798e799b8ba908f7a8078bb4ff00076666ff00044cccff00
+21999aff0002b33408a48d058fff00004ccc8dff0001b3348b8e088ba1898d058bff
+ffbe199a89ffffd5e666ffffd83334ffffc1cccc8d8b1e8a898b75058b878dffffff
+4ccc8effffffb33408a08905ff00228000fffffcb334ff00058000fffffa4ccc8b64
+080e5889a8f70baef771a801d2d6f751d603f7e3f7f515f7d40a0ef79589a870adf8
+04a812f2d6f753d6f753d6141c137cf95af7f5158bb4ff000866688eff001f99988e
+08a08d058eff00004ccc8dff0001b3348b8f088ba08a8d2189238d8a898b75058b87
+8dffffff4ccc8fffffffb33408a38905ff0024999888ff00046668858b6508fba007
+6c8877661efb03066f7f94b51ff79f078bb4ff00096666ff00046666ff001e999aff
+0002999a08a38d058fff00004ccc8dff0001b3348b8e088ba18a8dfb0089278d8a89
+8b75058b878dffffff4ccc8effffffb334089f8905ff0020ccccfffffcb334ff0007
+3334fffffa4ccc8b6408fba00766867e681efb0206688596b31ff7a0078bb4ff0007
+999aff00028000ff00216666ff00038000089e8d058fff000066668dff0001999a8b
+8f088ba0898d2689fb008d8a898b75058b878dffffff33348effffffcccc08a58905
+ff0023e666fffffd3334ff0004199afffff9cccc8b6508fbad078b6afffffacccdff
+fff8b333ffffdd3333fffffd4ccd0813bc71890587ffffff80008afffffe80008b88
+08137c8b750513bc8c8905137c8bd58da91ef8a90613bca9df898b1f137c8e8d8ba0
+0513bc8b8e89ff0002b33387ff00004ccd086c8d05ffffdf1998ff0002199afffff8
+e668ff0003e6668baf080ef78c89a870adf804a812f3d5f753d6f753d5141c137cf9
+59f7f5158bb4ff00061998ff0002b334ff0022e668ff00034ccc08a08d058eff0000
+4ccc8dff0001b3348b8f088ba08a8dfb0089258d8a898b75058b878dffffff4ccc8f
+ffffffb33408a38905ff00209998fffffd4cccff00086668fffff9b3348b6508fba1
+076a877a661efb01066e7f93b41ff7a1078bb490ff0004199aaeff0002e66608a38d
+058fff00004ccc8dff0001b3348b8e088ba18a8d2089268d8a898b75058b878dffff
+ff4ccc8effffffb334089f8905ff00218000fffffcb334ff00068000fffffa4ccc8b
+6408fba10766867f681efb0206688595b21ff7a2078bb4ff0007999aff00028000ff
+00216666ff00038000089e8d058fff000066668dff0001999a8b8f088ba0898d2589
+208d8a898b75058b878dffffff33348effffffcccc08a58905ff0022e666fffffd4c
+ccff0006199afffff9b3348b6508fbad078b68fffff86666fffffa999affffde999a
+fffffd66660813bc71890587ffffff80008afffffe80008b8708137c8b760513bc8c
+8905137c8bd58da91ef88706db8ba63b975a08a48c85f7190513bc8a9dfffff1e668
+ff00024ccdfffff31998ff0001b333748e7d9e8ba4080e7389aaf757abf71cb070a8
+12f758d6f734d613dcf758d5158b6efffff8cccdfffff3ccccffffdc3333fffffc33
+340878890586ffffff800088fffffd80008b86088b788d89058bff003ecccd8dff00
+283333ff0027ccccff003e3334898b1ef704c8c1dfe939a52b1f52f0068baeff0004
+199aff0005b334ff0023e666ff00024ccc08aa8d058eff000033348dff0000cccc8b
+8f0813ec8ba10513dc898d0513ecfb0389fb588b058a51875e845d08a686059cdd9a
+aedd8b08a19283661ff77ffb7115395c7c595d7a98af1ef726ce07d2a15e561f0ef7
+0c86a178aaf757abf71ba27ea812f5d6f734d6e2d713b7f8d7f7c215f7d50afb82fb
+44151367f7d60afb7f5715f7d70a136ff7d80a0efb0689aaf757abf725a801f5d6f7
+34d603f7e9f71215f7d60afb7f57158b6efffff96666fffff3ccccffffdb999affff
+fc33340878890586ffffff800088fffffd80008b86088b788d89058bff003f66668d
+ff0028999a1eff002766668bff0016333489ff002766668b08f703c9c1dfe939a52b
+1f52ee068ba8ff000a4ccdff000b999aff0020b333ff00036666089e8d058fff0000
+66668fff0002999a8b91088b9d898d058b478a6467478c8b1e89898b79058b858eff
+fffd800090ffffff8000089e8905ff0023999afffffc4cccff00076666fffff4b334
+8b6e080efb1581acf739b379b9f72caa12aed353a4f783dc13daaedd1556d264e6ee
+efd1f735f70d52ecfb191e5c8b627b5a880813d688658669815b08a487059ccbaabb
+d58b08e4a9352f1f88890513ba719b70976e8b0813daf7d90a13baf7da0a0ef71181
+ae70a8f73fb2f739a872ac12ecd5ecdbf771db13aff855f82a15d9b540fb26fb1856
+6f622d6af710d81fe2a6e8d51efb48fb3d1529f70b068ba7ff000c3333ff000ccccc
+ff001ecccdff000333340813779e8d0590ff000080008fff000280008b90088b9e89
+8d058b46896468478d8b1e89898b78058b868efffffd800090ffffff8000089e8905
+ff0020cccdfffffc8000ff000a3333fffff380008b6f08fbae078b6efffff56666ff
+fff36666ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b
+788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff000080000878
+8d05ffffdf999aff00036666fffff56666ff000c999a8ba808f710ec0713af8d26c7
+20f7148b08f71fbff713eff35df70afb241ffb078b4a3881fb0b080efb0e89a8f73d
+ad71a5f740a812c4d6f728d613dc99168e89ca8c05ab8cacb39dbca3cda7b4b38b08
+a4fb0b068b6489836a89087c8a05878988871f75078bc48dafaec3898b1e9f078d89
+92831e758c057b8c86a18ba508f7b9078ba092939d8c08a48d058d8c8c8d1f8ba389
+8d058b5689691e6b8ba58d3f8b08fb3f822f6e1f13bc44d468c21e88076f866a737a
+627c666a4c708808838a0587858a841ff70af7c215ba9bade1b292876b1e13dcfb1c
+0713bc48065273b4bd1f0efb1281b0f75fa8f71da2f7837701aed7f766d703f766f9
+2415760afb3afba3157f0ad2fb4315800a0efb1281b0f75fa8f71da2f701ea12aed7
+7fe9d6e962d713f4eef8d315e60a13f2f73d16e60afb2efbd015f00a13f1f10ad2fb
+4315f20a13f9f30a0e6489a8f7b2b7b8ae01f701d6f770d603f7d9f84915fb21ce06
+8bbf9dc7cfb6087ca005426574627e6f81a773b841ad087b7605d1609c4f8b570848
+4268d4fbdc078b6efffff4cccdfffff34cccffffe03333fffffcb3340878890586ff
+ffff800088fffffd80008b86088b788d89058bcf8dafb2cf898b1e8d8d8b9e058b90
+87ff0002999a87ff0000666608788d05ffffdf999aff00036666fffff56666ff000c
+999a8ba808f74807c0c4b48da58bba8bc0668bfb278bfb8d33774f5d08967c05f706
+bceddc8bf75f8bf7443abc3c8b5b8b6784585708f3f721070efb3389a8f7ffb270a8
+bc7612f5d6f73fa6139cf798f8ff15e40afb2efcb5158b6efffff4999afffff2b333
+ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d8905
+8bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05ffff
+de6666ff0002e666fffff6999aff000d199a8ba808f79f0713dcb59192ac1eb206c5
+8ba152985108a68f0585be87b989c00813bc898d0513dcf7c60a13bc6d398d8b1f13
+dc88898b750513bcf7c70a0efb1581acf739b379b9f72caa12afdcf783a413bcaff7
+7115fb35ef45eee6d2b2c09b8098791e7a8b7f867d6b7f707073638b378b5ec68bf7
+0b9790988f988b0813dcf7db0a13bc688b70a7608b0813dc6e8b707f717b08888d05
+e7a9e1e41ed58baa5b9c4b08a48f0581bb86ad88b15a8e629b5c8b08fb19522afb0d
+1f0efb4f81a19476f821a112b99e85cbf721d161a01374b9f71215940a13ac950a13
+aa960a13b4970a0efbac89a8f80ba8f708ef12ecef3ad513e8f752f84115898d058b
+75897c68478d8b1e89898b78058b868efffffd800090ffffff8000089e8905ff0021
+6666fffffc8000ff0009999afffff380008b6f08fbae078b6efffff56666fffff366
+66ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b788d89
+058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffdf999aff00036666fffff56666ff000c999a8ba80813f02ef8a115840a0efbb089
+a8f80ba8ebea1290e99cd57be913f8f752f84115898d058b75897c68478d8b1e8989
+8b78058b868efffffd800090ffffff8000089e8905aefffffc4ccc93fffff3b3348b
+6f08fbae078b6efffff96666fffff3ccccffffdb999afffffc33340878890586ffff
+ff800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087
+ff0002800086ff0000800008788d05ffffe18000ff00033333fffff38000ff000ccc
+cd8ba808fb4df88815a30a13f4f73d16e60a0efbb9fb71aff8dfa8f708ef12e5ef3d
+d613e8f74ff701158bf7d4898d058b74897d67478d8b1e89898b78058b868efffffd
+800090ffffff8000089e8905ff00246666fffffc3334ff0006999afffff3cccc8b6f
+08fbac07fb0195fb2c5f1e808b8592859483958197718b0880787f796dad7d9e1f9f
+8bac8bb1aa08b9b19bef8bf7350813f02af87e15840a0ef17fb46caaf757abf71ab2
+70a8128fd3deaff712d6f735d5136780f8c1f71215395b7c595d7a95ae1ef72ace07
+d3a15e561f137780fbd5f79c15b806af8f7d691ffba0078b6efffff6b334fffff399
+9affffde4cccfffffc66660878890586ffffff800088fffffd80008b86088b788d89
+058bca8db41eb28ba289b28b08f704c8c1dfe939a52c1f51ec068bb1ff00034cccff
+00064cccff0025b334ff0002b33408132f80a78d0591ff000066668dff0001999a8b
+90081337808b9f05132f80888d051337808b4789601efb5706132f8063618d8b1f13
+378088898b7b0513af808b828f8a9c8ac3888e7c8b228b22fffff8b333ffffc9199a
+fffff24ccdffffd6e6667f677b7e7b8b7f8b87938998fffffd199aff0012e666ffff
+fae666ff0013199a708b08737e77756ca570b71fbb8bff001b999aff0019e666ff00
+156666ff0036199a9ebb90f18bcf08d98ea5b11e0ef73889a8f752adf72ba801f1d6
+f763d6f734d603f85ff7f8158ba7ff0008ccccff000cb334ff00213334ff00034ccc
+089f8d058fff000066668eff0002999a8b90088b9e898d058b478968644a8d8b1e89
+898b78058b868ffffffd80008fffffff8000089b8905acfffffbe66695fffff4199a
+8b6f0822fb63f4078ba7ff0009e666ff000b999aff0021199aff00046666089a8d05
+90ff0000b3348eff00024ccc8b90088b9e898d058b4b896764478d8b1e89898b7805
+8b868ffffffd66668fffffff999a089e8905ff0020999afffffc999aff000a6666ff
+fff366668b6f08fbae078b6efffff6999afffff38000ffffde6666fffffc80000878
+890586ffffff800088fffffd80008b86088b788d89058bcf8dafb2cc898b1e8d8d8b
+9e058b9087ff00024ccd86ff0000b333087c8d05ffffdf3333ff00046666fffff5cc
+cdff000b999a8ba808f723f763fb23078b6efffff73334fffff3999affffddccccff
+fffc66660878890586ffffff800088fffffd80008b86088b788d89058bcf8dae1ef1
+8905f703c9bfdfea39a12b1f5206f734fb1315395c7e595d7a95ae1ef723ce07d2a1
+63561f0e7989a8f7aababdae01f706d5f75ad603f7edf84915fb31ce068bbf9ec7cf
+b6087ca005426574627e6f81a773b840ad087c7605d1609c4f8b5708483f68d7fbdc
+078b6efffff6b333fffff3999affffde4ccdfffffc66660878890586ffffff800088
+fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff000280
+0086ff0000800008788d05ffffdf999aff00036666fffff56666ff000c999a8ba808
+f74407bbbbb792a88b08c2a1783a1ffb17078b6efffff66666fffff38000ffffde99
+9afffffc80000878890586ffffff800088fffffd80008b86088b788d89058bcf8daf
+b2cf898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffe18000ff
+00033333fffff38000ff000ccccd8ba808f70c07f267c2431e648b4583535308f706
+f731070e3789a8f74aaef713ce67a8bc7612f0d613ccf7b6f8ff15e40afb96fcff15
+8d89058bcf8daeb2c5898b1e8d8d8b9e058b90878d878c758e6d918bac08f72007d6
+86a1679e549a5faa46bd8a08d38a8e8d8b9d0592848d871e838c05679062e27bb177
+bc66a1558b088f07b096a3ad99b30813ec96aa9ea1958b948b928891879286948797
+8b08a09c9d9fa380a0621f5b8b6b55795c76546e65488b08f7060713dcf7d00a0e9b
+89a8f80ba801f700d6f762d603f7a0f8ff15760afb564b15f7ce0a0e49fb85cff8c8
+a2d9aa01f72bd4ebd403f81df8d715f7dc0afb64fd84159e0a0e8e89a870b3f7fea8
+12f5d6e0ade1d6137cf816f7f315fb9f076986816c1efb19066a8899a91ff7a1078b
+b4ff00058000ff0002b334ff00228000ff00034ccc08a08d058fff000066668dff00
+01999a8b8f088ba0898d2289218d8a898b75058b878dffffff4ccc8fffffffb33408
+a48905ff0023999afffffd3334ff00056666fffff9cccc8b6508fbae078b64fffff9
+b333ffffff199affffe14ccdfffffde6660813bc6e890586ffffffb33388fffffd4c
+cd8b8608137c8b780513bc8d8905137c8d8bf38d918b08d706a58b9854904208ad06
+90d397c3a68b08da0613bc998be489938b08137c8d8d8b9f0513bc8b8d8aff000480
+0084ff00008000086d8d05ffffe24ccc8dfffff8b3348e8bb008f7ac078bb4ff0007
+4cccff00058000ff0020b334ff0002800008a58d058fff00004ccc8dff0001b3348b
+8e088ba1898dfb0089258d89898b75058b878dffffff66668fffffff999a08a08905
+ff0020ccccfffffce666ff00073334fffff9199a8b64080ef81d7faef765a8f7feae
+01c0e7f7b9dcf7bbe703f84af75015f7dd0a0ef7047fa7f744a8f755a701addaf70f
+c88dd68dc8f70fda03f7bff72815f7de0a0ef72989adf7c6aecd76e8b2cfa71295a9
+83a5f735dcf789a583a979e513fb00f89ff8ba15fb73a406a7989ab41ea606908e8e
+901f8b9e898c058b2d8a6864348c8b1e898a8b7805868f888f1ea606b29a7d6d1f73
+fb1f07768a9c921f718f0513fd2087598458805508a986059fdb9898c28b08e6fc49
+06687f7f631e6e06858988861f8b788d89058bd88dbd1ec58b8c89e48bf75b8bc6e5
+8be18be858c125b16a974b8d678b083cf71ef7430613f940c28b987e9f3b08a99005
+13fb8080c184be87bd08718705848a7a761efb73fb6815e90613f920f70aca4c314e
+692ffb2c398492ac1f0e7089aaf752abf721b0129aa6f724d5f734a876d613fcf798
+f78f15f721ba07dc8b9a779c3908a88f0584b987aa8ac508fb45d6068bbf9dc7d0b6
+087ca005416574627f6f81a772b841ad087c7605d1609c4f8b570840fb34078a5187
+65855d08a687059cdc9aa7dc8b08aafbd4066e817b6a1e7806868888861f8b788d89
+058bca8db31eb58ba289b48b0813faf704cbbedfea36a22c1ff4fb131539597e5a5c
+7595ae1ef725d407d2a360571f0ef7b281ae6da2f7a4b265bd79c3f786b06ca212f6
+e0ff00583334ff0056ccccf7fce666a913a1c0f754f70115fffffe4ccdd3fffffee6
+66ff002bcccdffffffcccdff0041333308ff005b333406ff000be666ffff576666ff
+0063999affff7c999aff00c94ccc8b08ecf714c7d59f82a0721f6e8b7c6e7e667d63
+63693f8bfb288b43f70a81f732081309a0ac9aa892b18b081311a0f7b80a130da050
+8b60b14c8b7e8b497f4e69088a8c05f769f707d5da1ef71e8bc43aa53508a98f0581
+bf83bc87c1528e63b5fb138b081363c0ffff5b199a8bffff886666ffff859998ffff
+fe8000ffff3166680831068bff004d999aff0000999aff00308000ff00026666ff00
+50e666ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc
+80008e6b8d85858b80918508d185ff000f8000898d388d388c5a8b388b388a5d8938
+8938fffff0800086458885858b809185b28dc88ea98b08a98bc589b48891918b9685
+9108458efffff180009089de080eee81ac72a8f735b372ad70b9f726a874aa12ecd5
+ff005e6666ff0050999af783a41391c0ff01096666f75f15ff00073334ffff6bcccc
+ff00603332ffffbf3334ff005f33348b08e6d2b2c09b8098791f7a8b7f867d6b7f70
+7073638b378b5ec68bf70b081309c09790988f988b081321c0f7db0a1309c0688b70
+a7608b081323c06e8b707f717b08888d05e7a9e1e41ed58baa5b9c4b08a48f0581bb
+86ad88b15a8e629b5c8b081355c0ffff80e6668bffffc64cceffffa76666fffffb19
+98ffff8e999a08ffffa1b334f70d06a7969bab1e9e06908f8e901f8b9e898d058b46
+896468478d8b1e89898b7805868e88901e9e06ac957b6f1ffbb2076e817b6a1e7806
+868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809b
+a81ff717070ef7ac89a8f90b7701f7ffd603f89ef7de15f7df0aaffc7215d3078bbf
+abcbcdb608f712fb7b0590828d858b85087976856e1e7906868888861f8b788d8905
+8be28dafb2d7898b1e8e8d8b9e0590868e871e7f06768b799c74b508fbbbf8b20580
+a083947f8b818b82847e7408fbc0fcb7057a6b7c75628b087f06868888861f8b788d
+89058bcb8da5a3e5898b1e8c8d8b9e0590888e861e78066c7b979b1f8b918d908e91
+08f712f77905cc60ab4c8b580843076e827b691e7806868888861f8b788d89058bcf
+8dafb2cf898b1e8d8d8b9e0590878e871e78066a819ba81f0eec89a801f7a8d603f7
+75f78515f7e00abefb8515d6d6068bb898bebab408eefb2d05957b867b6a8b087e06
+878888881f8b768d89058bd38da7a9c1898b1e8e8d8ba0058e8a8e851e738b789975
+ae08fb71f7e9057ea07e8f7f8b848b7d887f7508fb63fbef05786b7580718b088888
+88881f8b768d89058bbc8d9e9ece898b1e8c8d8ba0058e888e881e8306718b75909b
+a608e7f73105c06198578b5c080ef91186a277a8f79bb2f7bea2937712f6e0f89fd6
+1326f9fef7de15f7df0aaffc7215d3078bbfabcbcdb608f712fb7b0590828d858b85
+08136e7976856e1e7906868888861f8b788d89058be28dafb2d7898b1e8e8d8b9e05
+90868e871e7f06768b799c74b508fbbbf8b20580a083947f8b818b82847e7408fb38
+fbbffc1e8b058bff004d999aff0000999aff00308000ff00026666ff0050e6660813
+b6ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc8000
+8e6b8d85858b809185d185ff000f8000898d38088d388c5a8b388b388a5d89388938
+fffff0800086458885858b809185b28dc88ea98ba98bc589b4880891918b96859145
+8efffff180009089defffffe4ccdd3fffffee666ff002bcccdffffffcccdff004133
+3308ff017499988bffff8d6668fb6505136e7a6b7c75628b087f06868888861f8b78
+8d89058bcb8da5a3e5898b1e8c8d8b9e0590888e861e78066c7b979b1f8b918d908e
+9108f712f77905cc60ab4c8b580843076e827b691e7806868888861f8b788d89058b
+cf8dafb2cf898b1e8d8d8b9e0590878e871e78066a819ba81f0ef81589a8f744adf7
+39a801ecd5f81dd603f895f78515f7e00abefb8515d6d6068bb898bebab408eefb2d
+05957b867b6a8b087e06878888881f8b768d89058bd38da7a9c1898b1e8e8d8ba005
+8e8a8e851e738b789975ae08fb71f7e9057ea07e8f7f8b848b7d887f7508ffff9499
+9afb48fffed766668b8bf70d05a7969bab1e9e06908f8e901f8b9e898d058b468964
+68478d8b1e89898b7805868e88901e9e06ac957b6f1ffbb2076e817b6a1e78068688
+88861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809ba81f
+f717ff01144ccc07ffffb0b334fb1905786b7580718b08888888881f8b768d89058b
+bc8d9e9ece898b1e8c8d8ba0058e888e881e8306718b75909ba608e7f73105c06198
+578b5c080ef7fc89a8f7bcb2f78cae01f835dc03f806f7d715bafb90066f7d7b621e
+7b06868888861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a0664
+7c99a91ff790c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b
+788d89058be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7
+410563df5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f7
+72fb9b688b05328b5d6963370839fb41057d6f757b6c8b087f06878788861f8b788d
+89058bd38db2afe3898b1e8d8d8b9e0590888e861e7606628b79959bad08def74105
+aaccaf99bb8b08f706b515fb64f789f81d8b050ef78589a8f744adf732ad01f800d5
+03f7d2f75f15b9fb18066f7d7b621e8406868888861f8b788d89058bd28dafb2cb89
+8b1e8d8d8b9e0590878e871e8406647b99a91ff718b507bb8ba274b75108b15805a1
+6f7e7b628b087a06868888861f8b788d89058bd38dafb2d2898b1e8d8d8b9e059087
+8e871e7f066c8b799f79a30864be055bcb60be3b8b086e8bf710f74005979a80907a
+8b08fc19067a8b7f85977d08f72efb406c8b05328b6c66573d086a58057b7477766c
+8b087f06878788861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a
+06628b809a9ea808adbe05b3c7a6a0bb8b08f701b115fb1ef72ef78f8b050ef93e86
+a277a8f7bcb2f78cae79a212f702daf8badc1336f9baf80115fb64f789f81d8b05fd
+b3fc891589ff005280008aff002d80008bde088eff0169800007ffffeb1998ffffed
+4cccffffeeb33471ffffefb334ffffddb3340839fb410513767d6f757b6c8b087f06
+878788861f8b788d89058bd38db2afe3898b1e8d8d8b9e0590888e861e7606628b79
+959bad08def74105aaccaf99bb8b08b88b8d8b8bfb90056f7d7b621e7b0686888886
+1f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a06647c99a91ff790
+c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b788d89058be4
+8daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7410563df5dad
+338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f772fb9b688bff
+fe1e199a8b05ff00003333ff003bccccff0000b333ff002d66688dff0044cccc0813
+2eff00028000de998ed19091918b9685910813366689ffffc18000886d8b0813ae6d
+8bffffbc80008e6b8d85858b809185d185ff000f8000898d388d388c5a8b388b388a
+5d89388938fffff080008645880885858b809185b28dc88ea98ba98bc589b4889191
+8b968591458efffff180009089de080ef88889a8f744adf732ad70a812ecd5f858d5
+13ecf942f78515fb1ef72ef78f8b05fb66fb5415adfb18066f7d7b621e8406868888
+861f8b788d89058bd28dafb2cb898b1e8d8d8b9e0590878e871e8406647b99a91ff7
+18b507bb8ba274b75108b15805a16f7e7b628b087a06868888861f8b788d89058bd3
+8dafb2d2898b1e8d8d8b9e0590878e871e7f066c8b799f79a30864be055bcb60be3b
+8b086e8bf710f74005979a80907a8b08fc19067a8b7f85977d08f72efb406c8bfc15
+8b8bf70d0513dca7969bab1e9e06908f8e901f13ec8b9e0513dc898d0513ec8b4689
+641e13dc68478d8b1f13ec89898b780513dc868e88901e9e06ac957b6f1ffbb2076e
+817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e86
+1e78066b809ba81ff717ff0115e66607ffffe9ccceffffed199affffecccccffffe5
+3333ffffe88000ffffdcb333086a58057b7477766c8b087f06878788861f8b788d89
+058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b809a9ea808adbe05b3c7
+a6a0bb8b080e78fb7cadf8a2a9f826ad12c1a972bdf793b670e351e713f2c1f85a15
+a98905a3dca6e6f70b8b08c9cb633d416a41fb0b685d7f6677997f9e1fb28b91bec7
+8b0813e9dab95f3c1f8b2137643d77257134678b330825f377d7f3d5adb399859b73
+1e758b7a7d7a7b7173697b588b4f8b58978bc18bd3f5a7bd95f711a3f704d28bf70e
+8bf638ad409c08900713e2d0a6c2b28bdb8bf323b6339108bddf0592979392948b08
+13f4948b8e858d84ff0003199a80ff0004e66686968b089b9396999f7b9d711f718b
+ffffed6666fffff2b334ffffee999affffe44ccc0866503ae8858d438b8884f703fb
+12056488627a4e84080efb2ffb5ab3f80bacf7bcab12b3a674abf762d548dc13f4b3
+f7b615a6860599cfaac7da8b08b2bf77503f4e836070627d6e7499819d1fa48b8ab6
+b78b0813eac79e6c571f8b4743776481387658688b47083fcb69f5b6ae92ab9d7b97
+771e648b716e648b6c8b5e918bb88bb7b5a2ca9bf722aebabd8bce8bda45a16f9008
+8f0713f4b696b4b18bb88bd83ea64f9008b7df0591979294958b928b8f888e838f80
+9285958b089b9096999b7f9e6d1f748b7a807c70086a4d43e7858d4f8b8981ebfb0d
+05628880834a83088a5887648561080ef71289a8ff00606666ff001f999af7fba0de
+a701ebd0f71cdbf722cf03f8faf8ab1542794e3d1f8bffffda3334fffff78000ffff
+4e6666ffff7a8000ffffe4e66608ff01a4800007a7999bb41ea506908e8e901f8b9e
+898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffc3707ffff
+becccdff000f4ccdffffb93333ff003733338bff009f800008ed6cbf4e1e6c068082
+8a801f8b8690899389a185b2808bfb148bffff51b333ff0066e666ffffc4b333ff00
+66199a7f08ffffcb999a076f7d7b621e7106868888861f8b788d89058be88dafb2e2
+898b1e8d8d8b9e0590878e861e7106637c99a91fbf07ff0066b334ff000b999aff00
+6b4cccff003fe6668bff00c180008bf1b196a192938d928d8b920895808d7f1e0ed8
+fb5ca8ff00a08000ff001e8000f819a0f77ca712d2d155cef714ff004accccff007f
+3334cf55d013fa00f7ae9f15ffffad8000ff000a3333ffffc58000ff00334ccd8bff
+00a080000813f6008bb298b78bb108af7faa601e5e0680828a801f8b8691899289a8
+8596788b700813fa808b697b5c8b598bffff5a3333ff005e6666ffffc34ccdff0074
+999a8108ffff8b8000076f827b691e7806868888861f8b788d89058bcf8dafb2cf89
+8b1e8d8d8b9e0590878e861e79066a819ba71fffffffe666ff0074999a05ff0074e6
+66ff000a1999ff005d3334ff003ccccd8bff00a580000813f3008bbd7cba8bad8ba6
+959ea891938d908d8b900896838c801e5e06607e6c671f13fa808b65995f8b648bff
+ff5fb333ffffc98000ffffccb333ffffa94cccfffff5b334ffffffb334ff00de9999
+ffffffccccff00deb333ffffffb334ff00de999a088a8d058b74897d67478d8b1e89
+898b7905868e88901e9e06ad947b6f1f0ef71a81a3f790be86bff7a2a312afe5f84f
+e513dcf7dbf90e15f7e10a13bcf7e20af7e0fbc515660affffa5e668fffff4999a15
+f7e30a13dcf7e40a0efb1380acf72ab976b2f72eaa12aeff004ce666ff00d5199ad5
+139caef7561529c520f70ff719bdf70feaee5ef707fb1c1efb0d4d2afb161ff7b4ab
+1513dcfffff3999afffffb3333fffff1199afffffccccdffffef4ccc8b0813bc668b
+7b9d618bffffe3999a8bffffe31999fffff84ccdfffff04ccdfffff69999ff0000cc
+cdddff001b4ccdff0059199aff0044e6668bff004166668bff00286666ffffc6e666
+ff00093334ffff95199a08ffff2ce666ffffdf800015ff00063334ff0001199aff00
+078000ff00026666ff000966668b0813dcac8ba772b48bff002080008bff0022999a
+ff0010b333ff00148000ff000b4ccdff00004cccfffff83333ff0000199a838bffff
+f7cccd8bfb12566f648bffffae66668bffffde199aff0062b333fffffa6666ff0048
+cccd080ef7049476f90aa773af12f8eece13b0f8dff92615f7e50a13d0f7e60a13b0
+f7e70a0e739476f832b363a812f855d313d0f843f82615f7e80a13b0f7e90a0ef704
+9476f90aa773afbd7612f8eece1398f752f9a9158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff0004999808ffffc4
+b334f701058693848f808b086e7fffffea3334ffffefcccc1ff7179015f7600a13b8
+f79efb1c15f7e50a13d8f7e60a13b8f7e70a0e739476f832b363a8f7727712f855d3
+1398f710f92115f75b0af71c9115f75c0a13d8f73ffb9515f7e80a13b8f7e90a0ef8
+1d7faef765a8f7feaebba0b2a012c0e7f74af171bd7cdc95ebbab2f2e713fef0f84a
+f75015f7dd0ac5f8eb1513fd7056635b671f13fcf0729e7e9b9a9b959c1e13fd708b
+9c7b948b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad
+908b708b7e7f817c8b678b53c7528b080ef7047fa7f744a8f755a7daa0b2a0b77712
+addaddbd82c88dd68dc8a6b2c4da13ff78f7b4f8ee1556635b67729e7e9b9a9b959c
+1f8b9c7b948b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b
+69ad908b708b7e7f817c8b08678b53c7528b0896fc5a156c0766844b452e7bf717d4
+f700a7e1d81e13fef8998f86831f8b868a86898888888a858b840878997d9e9f9a9b
+a0a974af4ffb01442efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08
+f708c8f716f0f71644e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89
+908b9008938f9099d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f
+8e901f8b9e898d058b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f
+0ef81d7faef765a8f7feae01c0e7f74af194dc95ebf751e703f84af75015f7dd0a0e
+f7047fa7f744a8f755a701addaf70fc88dd68dc8f70fda03f7bff72815f7de0a0ef8
+86a0b2a001fc25bdf76fb203fbc8f8d71556635b67729e7e9b9a9b959c1f8b9c7b94
+8b9c8b97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b70
+8b7e7f817c8b678b53c7528b080ef71089adf7c6aef71fadd3a701f755dcf7a7e503
+f7a6f7e615e906f70aca4c314e692ffb2c398492ac1ff84c04f79badfb9ba806a799
+9ab41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1e
+a606b29a7d6d1f6ffb4669f746fc4a07687f7f641e6d06858988861f8b788d89058b
+d88dbd1ec58b8c89e48bf75c8bc5e58be18be858c125b16b974a8d678b083c060e58
+89aaf752abf724adf7a17701f70ed6f763d603f828f71015394a7e5a5c5d95ae1ef7
+25eb07d3b260571ffb63f8d215740677827d8779877a88ffffdb8000fffffaccccff
+ffef8000ffffff3334088d73058b88ff0002ccccfffffe3334ff00033334ffffffcc
+cc08ab89059f8bff0009999a80ff000066665208fb242669f0fbd7076e827b691e73
+06868888861f8b788d89058bcf8db41ebe8ba789be8b08f704dabedfea27a22c1f34
+f724f75badfb5b060e6b86a2f7a1a37c9ff7cfa312f700daf77be313dcf751f8db15
+f7a10a13bcf7a20affffaee666ffff24333415ffffbe199aff004bcccc6c74ecffff
+8f999a058bffffb79999ffffffe666ffffd2cccdfffffe199a3e89377d8745888585
+8b809185bc8ca98fbe8bc38baf87bd8a91918b96859108468f6a908ac5ffffff6666
+ff002ccccdffffff6667ff0028cccdffffff9999b408ff0013999affffe96666a8a6
+5aff003833348bff0017cccc0513dca184a889ad8b08f74abff706e0c666f702fb4d
+1f718b4581638b598b6f8f598c85858b809185d1889a868c38ff0000cccd47ff0000
+cccdffffd2e666ff00004cccffffc44cce080e4ffb7ea8f757adf805b966a812ecd5
+f766de13ecf73ff7cb15a1c0bca8ad8bc88bb74b8bfb0d8bffffd56666fffffb6666
+ffffd28000ffffee4cceffffdce66708ffffa84cccff006533336c73eaffff926666
+05ffffed4cccffffee6666ffffe63334fffff53334ffffdc80008b7b8b6a8d68b408
+f7fe0413dc898d058b74897d68478d8b1e89898b78058b868efffffd800090ffffff
+8000089e8905ff00216666fffffc8000ff0009999afffff380008b6f08fc97078b6f
+fffff28000fffff3199affffe28000fffffce6660878890586ffffff800088fffffd
+80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff0002800086ff
+0000800008788d05ffffe0999aff00034ccdfffff46666ff000cb3338ba708f73f07
+a57da783af8bff0026999a8bff0021199aff00096666ff001e6666ff0014b33408ff
+0048e666ffffabe666a8a5ffffb8199aff0053199a05ff00004cccff00004cccff00
+004cceff00004ccdff00004cccff00004ccdb8b9a4c98bdc0813ecf7d30a0e4289a7
+f8d8b270a712f4dcf79aa513b8f725f918157e8b7f8c258c0889898b7905868e888f
+1ea906b69481681ffc8a076d7c7c631e7106878788861f8b798d89058be18db3aee8
+898b1e8d8d8b9d0590888e871e7006627e9ca71ff88a0713d8a69991a11ef71b06cc
+8b997b975b08a58f8bf770708b0585546e49588b08fb1e060efb3889a8f7fbb770a6
+12f3d5f73ca013d8f3d3156e817b6a1e7306868888861f8b788d89058bd48daeb2d4
+898b1e8d8d8b9e0590878e871e73066a819ba81ff7cef70a07a98b9880927608a0f7
+50700688557151568b0813b8fb7b7506888d898e1eaa06af8990828b65080e4c89ac
+f794b2f7abb36cac12eee0f7a0a813ecf721f9191513dc8b8b3c8c598c85858b7691
+85d1889c868b3808fb593b64dbfb39078b387a86458885858b769185bc8ca98cbe8b
+bd8ba88abd8a91918ba08591458e7a908bde08f739f4b222f7890713ecf79b0a13dc
+f79c0a13ecf79d0a0efb3389a8f74ab2f722b270a812f5d6f73fa613ecf749f78c15
+e807b59192ac1eb206c58ba152985108a68f0585be87b989c00813dc898d0513ecf7
+c60a13dc6d398d8b1f13ec88898b750513dc8b888dfffffe4ccc8fffffffb33408a9
+8905aefffffdb33491fffff84ccc8b6508233664e0fb1b078b6efffff4999afffff2
+b333ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d
+89058bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05
+ffffde6666ff0002e666fffff6999aff000d199a8ba808f71be8b2070eabfb40a8f7
+21acf7ccaaf77bb36cac12eee07fa2f795a880da13f480f8b9e815f785fb6bb3fb2a
+1ef75907a39795a31ef70f0613ed00d68b9859a046ff0009b334fffffeccccff0009
+9998ff0000e668ff0009b334ff00044cccfffffbe666ff00544cccfffffa999aff00
+26e668fffffa8000ff0021cccc0813f480648a3a8a8b8b08fb610613ec808b8b3c8c
+598c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8ca98c
+be8bbd8ba88abd8a91918ba08591458e7a908bde08f77107f72df71959fb66fb3d47
+52401f5b8b6c99769e799c7ea38ba60813f28073fb2ca2068b908ca88d908c8e9191
+958b9a8ba171dd8b08f712e4f70af7271f0e59fb7eadf75aa8ff00a8e666ff002219
+9af734b270a812f5d645ddf733a688d913f480f5d5158b6efffff4999afffff2b333
+ffffe06666fffffd4ccd0874890586ffffff999a88fffffd66668b86088b788d8905
+8bd38dafb2d3898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08748d05ffff
+de6666ff0002e666fffff6999aff000d199a8ba808ff0079e66607ff005e199affff
+fe199aff0064e666ffffd7999a8bffff4e66668bfb006f47428b0813f280498b81b6
+85ac87a37a97748b08747c7c6e60bf50f5f70cccf700f7101f13f5008bff00c8999a
+ffff5b4cccff001e3333ffff93b334ff0001333308f70307b59192ac1eb206c58ba1
+52985108a68f0585be87b989c00813ec80898d0513f480f7c60a13ec806d398d8b1f
+13f48088898b750513ec80f7c70a0ef7c689a8f7bdb5f774c86aa812f819e0f800a6
+13ec91168b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f8061880870
+8905878888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e87
+1e718d05638e7c948ba908f79107f48b9d6aaf27ff0018b334ffffbd999aff001633
+34ffffc84ccca9ffffdde66608fffffa1998fffffb333305a472b17ca270a968995f
+8f7208a68b85f72705ffffffccccff00038000ffffff4ccc8efffffee668ff000299
+9a08ff0003e6660790898e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7
+a0e195c990a891aca78b978b9386958094819886978b089fa096a8a27aa8591f408b
+7153824d83537d4b546b757d618a698b08f764078ba79a96b38e0813dcf7bd0a13ec
+f7be0a0ef71189a8f74badf70cd16ba812f7b9d6f7a4a413dcf7b9ff00d1e66615ff
+ff76199a076e827b691e8406868888861f8b788d89058bc38dafb2c5898b1e8d8d8b
+9e0590878e861e83066a819ba81ff71e07ff00526666fffffee666ff000de666ffff
+db3334ff0013b334ffffc4e6669a60a644a28bb68bb338935f08a48b85f71a058a9e
+7e8d7b8b798b718f5cf71278bc5fa0668bac90aeb0a2be96a194a0988b928b9e839c
+8b08a19a9e9fa17b9c691f6d8b6e706e4e62346e7d578b087df70806a89598ac1e93
+06908f8e901f8b9e898d058b51896467538d8b1e89898b7805868e88901e9206ad94
+7e6e1ffb087f07578b6e9962e20813ec6ec96fa66c8b08697c7a74779a79a01f9d8b
+9d93938b978b96769475a058b166ab85678b5e7779597d65672c698b08820687848a
+841f8b7b8e89cf8d05b88ba7d398b408ff00138000ff003a999aff000dcccdff0024
+9999ff0050b333ff0001b333080e9cfb7db1f74baff7b9bcf70b76f734ad12cfa9f7
+3bc6ece34be713fe80f70dfb3a15a85eb075b48bc08bb6a88bc28bff00324ccdffff
+e3b334ff0036cccdffffcf6666ff00214ccc98ffffff199aff000d999affffff8000
+ff000e4ccc8bf7138bf70ec58bf7178be04ad02d9a08910713ff00f7c00a13fe80f7
+0db0414230504e281f3d8b58ab72ba7ea57ca56f8b778b7e7b8b738b6a9e78a673ff
+000f999afffff1e666a5fffff2cccdff00238000fffff6800008fffffde666fffffd
+cccd05ca78b0518b488b727271678b6e8b7a9876a2080efb1ffb7db1f825b4f735aa
+12c3a4f73cc687d951dc13faf4fb3a15a95eaf75b48bc18bb5a88bcc8bff0040e666
+ffffe58000b6ffffd1b333ff00158000ff00581999ff0004999aff0051b334b58bdd
+8bc757b4409508900713f4f7cc0a13fadea2585f506667461f568b6ba678ac819c81
+9a738b7a8b7c7d8b7b8b75997b9f7bff0010199afffff36666ff001d4cccfffff1e6
+67ff0029999afffff8b33308868605cf81a66c8b398b727366668b6e8b7b9875a208
+0ecf86a2f7ceb2f76eca72a212f702daf825a713ecf8e1a7155b8b75ad45f7050841
+f70c057ba76fa4718bd4a3aee7a1c69bb8a4a0958ba68ba572a58b08a0a29da3a27b
+a2571ffb008b7132826e7c566d4b546cffffe6b334fffff26666ffffd01999fffffe
+b334ffffdc4ccdffffffe666ff00003333ff00378000ff0000cccdff002c199aff00
+01e666ff004166660813dcff00028000de998ed19091918b9685916689ffffc18000
+886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d38088d388c5a
+8b388b388a5d89388938fffff0800086458885858b809185b28dc88ea98ba98bc589
+b4880891918b968591458efffff180009089de89ff005280008aff002d80008bde08
+9707ff00363333ffffff199aff00209999ffffe58000ff002d3334ffffb3666608d7
+fb0d05b24daf6fab73b36daa729a3c08a78b84f72905938a97761e0e4c89a8f74bad
+f70bd16ca812e5d6f7bfa213ece5d3156e827b691e8406868888861f8b788d89058b
+c38dafb2c5898b1e8d8d8b9e0590878e861e83066a819ba81ff71e07ea8b9b65a350
+9c62ab44bb7db57f9e50915f08a28b86f71a058a9e768d808b668b63e77bb178bc58
+a0638baf90b1b0a6be96a197a0988b948b9f839f8b08a39b9e9fa17d9c651f698b6c
+706b4e5d34677d528b0878f7080613dca89598ac1e9306908f8e901f8b9e898d058b
+51896467538d8b1e89898b7805868e88901e9206ad947e6e1f0eb886a2f7caabf77a
+c873a212f702dad9b713ecf7cbf70d15ff00a7999a07ff00148000ffffeaccccff00
+0de666ffffe0b334ff0011999affffd2e666b6fb02afffffb6cccdd9fffff73333ff
+000ee668fffffe4ccdff001f4cccfffffdb333ff001bcccc8b91918b9685916cff00
+078000fffff266689472abffffe57ffeff0021999affffe23334ff0037b333ffffe1
+e666ff004e333308ffffe5e666ff0043999affffdbb334ff002b4cccffffbf6666ff
+0002e66608ff0006800007ff00458000aaff0013e666ff0052e668ff000a999aff00
+3bcccc90a892aca98b988b9386968095819986988b08a0a296a8a279a8561fffffbc
+33348bffffdacccc53814dfffff7b334ffffcc999affffee1998ffffc04cccffffd5
+3334ffffdf199a08f7395fffff48800007ffffe7999afffffb4cccffffe23333ffff
+fee668ffffe84ccdffffff4cccff00003333ff003cccccff00009999ff002d999aff
+0002199aff0045999a0813dcff00028000de998ed19091918b9685916689ffffc180
+00886d8b6d8bffffbc80008e6b8d85858b809185d185ff000f8000898d38088d388c
+5a8b388b388a5d89388938fffff0800086458885858b809185b28dc88ea98ba98bc5
+89b4880891918b968591458efffff180009089de89ff005280008aff002d80008bde
+089307ff0020cccdfffffe999aff00191999fffffc4cccff0014199afffff9199a08
+fb57070e8789a8f74badf715d063a812f3d6ceb713ecf7b6d315f71007ff002e3334
+ffffefe666ff000c8000ffffe2cccdff000f4cccffffda4ccd9c62a843bd8a08d48a
+8d8d8b9e0592848c871e8306668b63e77bb177bc64a0558bbe93a5bd9bb195a198a7
+968b928b958a908793879786958b08a09b9d9fa47a9f651f5b8b7254765effffee66
+66ffffd8ccccffffeb3334ffffd8ccceffffcf6666fffff1e66608ff006880005ffb
+0248f7060713dcb4a18ea68f8f8e901e8b9e898d058b54896467478d8b1e89898b78
+05868e88901e9e06ad947b6f1ffbb5076f827d691e7806868888861f8b788d89058b
+cf8dafb2c4898b1e8d8d8b9e0590878e87786b8eb21ef72107ff001a4ccdffffffcc
+cdff00161999fffffe9999ff0012999afffffd800008ffff7a199a070eb886a2f7ca
+abf713b2cbc873a212f702da13f4f89c8a15ff000ee668fffffe4ccdff001f4cccff
+fffdb333ff001bcccc8b91918b9685916cff00078000fffff266689472abffffe57f
+feff0021999affffe23334ff0037b333ffffe1e666ff004e333370d165b7468b088a
+8e05d7a7a0e296c990a892aca98b988b9386968095819986988b08a0a296a8a279a8
+561fffffbc33348bffffdacccc53814d8253ffffeb8000ffffb98000ffffcc8000ff
+ffe28000ffffe7e666fffff23334ffffce3334fffffdcccc678aff00001999ff002d
+6666ff00006667ff0024e666ff00011999ff002cb33408ff00614ccdb2ffff9fb333
+06ff00001999ff00034cccff00001999ff00034cccff0000199aff000366680813ec
+ff00028000de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e
+6b8d85858b809185d185ff000f8000898d3808ff0000199afffffc99988bfffffcb3
+34ff00001999fffffcb33408ffffa5cccd64ff005b199a06ff00013335ffffc7999a
+ff0000b333ffffd3b3328bffffbeb3348b388a5d89388938fffff080008645888585
+8b809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de89
+ff005280008aff002d80008bde089307f70686a06bb22708b6fb02afffffb6cccdd9
+fffff73333080e3989a8ff00b64ccdff0022b333f715d0afad01f3ff004a666603f7
+46d015ff00004ccdff008c4ccd05ff004b199afffffa6667ff00138000ffffdb8000
+ff0015199affffc9cccd9c62a843bd8a08d48a8d8d8b9e0592848c871e8306668b63
+e77cb176bc64a0558bbe93a5bd9bb195a198a7968b938b948a918792879786958b08
+a09c9d9fa4799f651f5b8b7254775e75ffffcf199affffe4199affffcf1999ffffb0
+4cccffffffcccd08ff00008000f77eff009c199a8b8badffff64199a8b05ff0001b3
+33ff00321998ff0012b333ff0038199cff00418000ff0028cccc087ca00541657462
+7f6f81a772b841ad087c7605ff00426666ffffd73334ff0012cccdffffc7e664ff00
+01b333ffffcde66808ffffb4199a69d7fc2a066d827c691e7806868888861f8b788d
+89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8098a81f0ef75389a8ff
+0136e666ff002b199af764ca5fb16fa712f795db13e4f97989158d8d8b9e0590878e
+861e8106678b53d850f71870c76fc9468bd8a4aee6a0c595a7a5a8978b998b988698
+8498849885988b08a0a29da3a27ba2571f358b6d5773517658724c526bffffe7999a
+fffff2e666ffffd2999afffffe4cceffffdcccccffffffcccc08f7550713cca7999b
+b41ea506908e8e901f8b9e898c058b2e8a671effffef199a8bffffe63333ff000033
+34ffffe83333ff000033340813d4ffffff8000ff00009998518b0513ccfb1d8b79fb
+3b9c8b0595a898a99da90813d4959e9fa0ac8b08ff006b999a06ff00096666fffff8
+cccc8ffffff4b3348bfffff0800008fc8b076f7d7b621e7106868888861f8b788d89
+058be88dafb2e2898b1e8d8d8b9e0590878e861e7106647b99a91fff010ae66607ff
+0076b334fffffde666ff00111998ffffc74cceff00293334ffff9ce666b7fb00a943
+db8a080e9289a8ff00b6199aff0022e666f715d062a912a39cf724d613ecf798d015
+ff008c199a07ff004a8000fffffa1999ff0012999affffdb999aff0015e666ffffca
+33339c62a843bd8a08d38a8e8d8b9e0592848c871e8306668b63e77bb177bc64a055
+8bbe93a5bd9bb194a199a7958b938b948a918793879786958b08a09b9d9fa47a9f65
+1f5b8b7254765effffea3334ffffcf6666ffffe53332ffffcf6667ffffb0999affff
+ff333308f70807a89598ac1e93068f8f8e901f8b9e0513dc898d058b5289641effff
+f14ccd8bffffebcccdff00004cccffffed6666ff0000666808ffffe38000ff00014c
+cc758b408b79fb1a9c8b05a5f0a98cc18d08ff0003999aff0000199a05ff0017b333
+fffffc4cccff0006b333fffff0ccce8bffffe7cccc08fbb5076f827d691e78068688
+88861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8199a71f
+0ef71f89a8f7bdb2f793a701f5dcf7dbdbbfa703f89416e98baa29946008a78b84f7
+2605987d92841e7b066c8696af1ff88a07a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffb67fbdbf76707a7
+999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f
+1ea606b29a7d6d1ffc8a076f7e7a621e7006878888861f8b788d89058be88daeb3e1
+898b1e8d8d8b9e0590878e871e7106637c99aa1ff790f7dbfb90076f7d7a621e7106
+868888861f8b788d89058bbf8dac1e0e8b89a8f74dadf730a801f3d5f761d6c59f03
+f85ed515f7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b750587
+8d8a8e1ea006af9082641ffb00fb61f70107b49291ad1e9f068f8d8d8f1f8ba08a8d
+fb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658682678a087106
+888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84928bb308f7
+1df761fb1e07648783661e7606888989871f8b768d89cd8c05f38ba1259172089f8b
+86f71b059784937d1e7b066b8797ae1f0ef7b886a2f7cba5f78fb774a212f5e0f7eb
+def761a513eef753f7011589df8abc8bdb9690e78dc78bc78bf7058a97858a468c46
+894089387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b96859145
+8e7b9089de89dd8bb98bde8bde8bbc8ddf08ff0000e668ff0023ccccff00036664ff
+00154cccff00094cccff000ce66808ff000066688bdc8b05cd8ba7569b4308a58f78
+f735056b8b6d89658bfffff9b3348bfffff8e664ff00006668fffff8b334ff000066
+64ffffff4cccff0001e668fffffee668ff0001ccccfffffe8000ff000180005a8a6d
+87588b0813de598b6e8f598c85858b809185d1889b868d388d458b618b4d8485fb09
+8a4f8b4f8b2a8d8490088bca8cb48dd18dde9990d18e91918b9685915a8a6d87588b
+598b708f598c85858b80918508d18899868d388d388d5a8b388b38895d893889387d
+86458885858b809185bc8ca88fbe8b08bd8ba787bd8a91918b96859108458e7d9089
+de080ef73789a8f74dadf725b36ea812f2d6f761d6f779a513eef813d8158b65ffff
+fb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe3333
+8b88088b758c8905a98cb58caf8bb08baf8aa98a088d8d8ba0058b8f89ff0001999a
+87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348bb308f7
+a8078bff00038000ff0000199aff00033334ff0000199a8eff0001cccca2ff000f4c
+ccff00054cccff0014b3348b08dc06cd8ba7569b4308a58f77f734056c8b6d89658b
+7d8b798e7a8b08ffffeb3334ffffff999affffffccccff00006666056d8a668a668b
+0813de678b628c6d8c0889898b75058b878dffffff33348effffffcccc08a58905ff
+0020b334fffffd8000ff00084cccfffff980008b650820fb61f6078bb4ff00078000
+ff0002b334ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f08
+8ba08a8d056d8a658a668b678b638c6d8c0889898b75058b878dffffff33348effff
+ffcccc08a58905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8078b
+65fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89ffff
+fe33338b88088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89ff00
+01999a87ff0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348b
+b308f71bf761070ef828fb40a8f71ea2f7d9aaf785a979a212f700d8f7bdd87ca2f7
+a7da13ee80fa2de8158bff00ef6666ffff2cccccff0029199affff693334ff000080
+0008f733078bde9c93d18e91918b9685910813f680598a5b87708b08fc0b0613ee80
+f79e0a13f680c9a197a31ef76106a3a17f4d1ffc41078b387a83458885858b809185
+bd8cff001a33348fff0030cccc8bff003133348bff001bcccc87bc8a91918b968591
+458e7a938bde08f77b07ff0097b334ffffff4cccff00834cccffffcd4cce8bffff2f
+66668bfb3d4752408b5b8b6c99769e799c7ea38ba60813ed8073fb2ca2068b908ca8
+8d908c8e9191958b9a8ba271dd8b08f711e4f70af7271f0ef776fb7eadf75aa8ff00
+a8e666adff00a0199ab270a812f5d6f75fd543def74bd813f680f5f7f315fba7078b
+68fffffab333fffff66666ffffdc4ccdfffffd999a086d890587ffffffb33389ffff
+fe4ccd8b88088b758d89058bff00444ccd8dff002bb333ff002a8000ff0042800089
+8b1e8c8d8ba0058b8f89ff0001cccd88ff0000333308708d05ffffde4ccdff000280
+00fffff9b333ff000680008bb108f7a707ae9f8fa01ef70d069fa089661ffba7078b
+68fffffab334fffff6999affffdc4cccfffffd66660870890588ffffffcccd89ffff
+fe33338b88088b758c89058bff0043199a8dff002ae666ff002bb334ff00444ccc89
+8b1e8c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd4cccff00024c
+cdfffff9b334ff0006b3338bb108ff0077e66607ff005d9998fffffd999aff006466
+68ffffd6cccd8bffff4fb3338bfb006e47428b0813ed80498b82b685ac87a37a9773
+8b08747c7c6e60bf50f5f70cccf700f7101f13ee808bf75bffff5c4cccff001f8000
+ffff94b334ff0001666608ff007a199a078bb4ff0003199aff00048000ff0025e666
+ff0002800008a98d058fff00004ccc8dff0001b3348b8f0813f6808ba00513ee808a
+8d0513f6808b45895e1efba90613ee80f7d10a13f68089898b750513ee80f7d20a0e
+f707fb28b3f894b1f746b201ade7f722e0f758d89da203f8bafb0015ffffbb33348b
+ffffd23332ff002ae666ffffe2199aff0037199aff007d1998ff000db333ff005f66
+68ff0052e6678bff008a666608f362f705fb1dfb1558fb02fb1c1e8bffffd46666ff
+0008e666ffffc18000ff00183334ffffc43334ffff7eb333ff00208000ffffd23333
+ff007e19998bff008b4ccd8bf712dcf73af70a8bb08bad88a7579b6e997ca58ba18b
+979f8b9f088ba17aa0759c729f619d4c8bfb338bfb2cfb298bfb498bffff3ee666ff
+00623333ffff80999aff00bbb333ffffedcccdff00296666ffffb44ccdff00463334
+ffffc16666ff007180008b08cc069d9b797a1fa28d05899e89a98b9e8ba68da68da7
+08768d05647f63371effff5f999aff0083b33315ffffe38000ff0045b332fffff7e6
+66ff004e33348bff0023666608f713add1c8dc9f42fb0f1e8bffff89999affff9c19
+9affffc84cccffffc48000fffff5cccd080e87fb08a7f7fba5f710a701aedaebd5f7
+32d19ba103f84f3315ffffc5e6668bffffda999aff001de666ffffe84cccff002666
+67ff0068999aff00093333ff0053999aff003a199a8bff0066666608df57ca292a54
+44261e8bffffe1cccdff0006b333ffffd51999ff0012e667ffffd6b334ffff9d6666
+ff001b999974ff0061999a8bff005833338bd6c1f70eea8bab8ba889a46799779781
+a18b9f8b95988b99088b9a7c9a799775996598558bfb1b8bfb02268bfb138bfb1cff
+004ae666ffffa6b333ff008d999afffff16667ff0021999affffcaccccff0039e666
+ffffd4199aea8b08c4069b9c6c7f1fa88d05899886b28b998b9d8cad8d9e08708c05
+708161421effff7c6666ff005b999a15ffffe9999aff0030e66686c28bff00188000
+08daa6c7becc9a563c1e8bfffface666ffffc4b334ffffd18000ffffb8b332fffffa
+3334080ee4fb7db1f74db4f8eca601b0e5f77bc6f737a203f76bfb3a15a85eaf75b4
+8bc18bb5a88bc28bff0032999affffe33334ff00376666ffffceccccff002133338f
+ffffffe6678fffffffe6668f8bec8beeb9cfe486948491808b08443d476c2e8b08fb
+2f3df731f726ff00a3e666ff0068e666ff0085199aff007d199a1ff71e8bc62fa535
+ff00093334ffffff3334ff000699988cff00073334ff0004cccc86bf84bb81c25890
+5eb3fb0f8bfb5a8bfb13ffff6566668bffff43999a8bffff6a999aff0046999affff
+7f1999ff0097999affffdb999a08ffffffccccffffffb33305c978b0518b488b7273
+71678b6d8b7b9875a2080efb22fb79b2ff00b4199aff0024e666f805a212aed7f748
+c65fdd13f8f728fb3515a85eb074b48bc18bb4aa8bcb8bff00416666ffffe5b334ff
+002ab334ffffd24cccff0015b333ff00274cccff000a3333ff0025999aff0019999a
+ff0022199aff003766668794898b828c6b61586f628b08404bd3f70cf4c4d3ca1f13
+f4c38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb22f2d2035fb
+1b1f8bffff876666ff0047199a37ff0073ccccfffffcb3340813f8ff0030e666ffff
+f29999ff00143334ffffdf4ccd8b448b727465668b6d8b7c9974a2080e8c89a8f8d0
+b201f786dcc0a603f7d6d615f87607ac9794af1eda06c28b9c80a03b08a2906af72f
+7185057b8a837c1efc40067b8a939b1f71916afb2fa386059fdb9c96c28b08e606af
+98826c1ffc7b076f7d7a621e7106868888861f8b788d89d68b05ec8bae47994408a6
+8b84f725058a977e93848b087a066a889faa1f0efb0789a8f7ffb201a69ff71dd6c2
+a1ca9f03f797d715f7cdd207c68b85829b40089ff71d067188058685867d1efbc006
+7c8690901f728e8afb1d9f8b059fd78294bc8b08d8fbd0068b648684688a08620687
+8989871f74e307ee8ba339917108a18b88f708058a998192818b087a066c8698af1f
+0ebc86a2f8f5a201f7a6e003f7fbf70115700a0e98fb7aa8f8efa801f78ed603f78e
+fb31156e827c6a1e7706878888861f8b788d89058bce8dafb2d0898b1e8d8d8b9e05
+90878e861e78066a819aa81f8bf731f729f7fa0597a79a9ba98b08a106918e8d911f
+8b9e8a8d058b3c89827e3c8d8b1e8a898b7705888c87901ea806a08f88811f8b8588
+7d878208fb13fbccfb16f7cc05869587988b910894918f9e1ea8068f8d8f8f1f8b9e
+8a8d058b2489857e2e8d8b1e8a898b770585928a8e1e9706998b9589908898839579
+917e08f734fc06050ebc86a2f754b3f80da201ff0114199aff004fe66603f7fbf701
+1588ff009eb334058bff0027ccccff0005b33499ff0006e666ff000c800008ff007f
+b332f77b05a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a638874
+8b748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e6
+6808ffff89199afb7405827afffff8e6668efffff733349b08ffff81ccccf77205ff
+ffe7cccdff002a9998ff000e3333ff00056668c38e91918b968591638a6587638b64
+8b608f6d8c85858c809185b588ff001f199afffff76668ff00289999ffffbb999808
+ff00836667fb7105ff00118000ffffe28000ff00066666ffffff80008b6608ffffff
+e66682fffe824ccc8b8b63ff017ce6688bfffffde6662605fffffe66663afffff099
+9a843b8885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cc
+cc87bd8a91918b9685913b8efffff0800092fffffe8000dc080e98fb7aa8f75db2f7
+ffa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89058bce8dafb2
+d0898b1e8d8d8b9e0590878e861e78066a819aa81ff731f744b2ffff60333407ff00
+84ccccf7d30597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e3c8d8b1e
+8a898b7705888c87901ea806a08f88811f8b85887d878208fb13fbccfb16f7cc0586
+9587988b910894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d8b1e8a89
+8b770585928a8e1e9706998b9589908898839579917e08ff0089e666fbd3ffff6019
+9a8b8b64ff00b0cccd8bff000533337f050edf89a8f8e3a601f7a8e8f792a603f89d
+8c15cf8ba526936208a68b86f72805968794741e7d8b7a9e72ad08fb45f77c058198
+85958b958b948f94949708f720f75205acb8a293a78b089c06938c8f8e1f8b9f888c
+057a8b408a868b808b488c768b08898a8b7705868e898f1ea906999288821f8b8486
+7e817d08fb15fb430585838787888b888b878f869208fb11f74405819983988b9308
+92918f9c1eb3068e8d8d901f9f078a878c8b1f6d8b2f8a868b808b4b8c718b08868a
+8b770585928a901e8d06ab8b9a79a26c08f73ffb7505948090828b818b8588838482
+08fb2efb6605746b7075678b087f06858689861f8b778c89058bda8d909aec898b1e
+8e8d8b9f058b8e8a8e868c087806788193961f8b939095949808f718f74905929490
+908e8b8f8b8f88918308f71cfb5005967c937f8b8408838387731e7306888888871f
+8b778e89058bcd8eae1e0e3989a8f80ba801f7ea8a15e08b9d449753089f8b86f71b
+058a9985917d8b087a06798b858e6cb70823f727058a8e8a8d8b8d8b8c8b8d8d8d08
+e8f70e05a6b09b95ab8b088f0692908c921f8b9e8a8d058b5a896b6d5b8d8b1e8888
+8b7805868e898f1e9a069d8e89831f8b8589827d7708482f0588868888898b898b89
+8e8791084ee7057f9c87958b9008928e909f1e9b068f8e8e901f8b9d888efb028937
+8d89888b7805879188911e8e06ad8b9c7a9f6d08effb26058d888c898b898b898a89
+8989082ffb0e05746d7b7a6d8b088206828787851f8b7a8d89058bba8da8acbf898b
+1e8c8d8b9e0590898e861e7e067a848d941f8b908f93989f08cce7058e8f8e8f8d8b
+8d8b8d898e8608c63b05a16890828b8708848689791e8006858988861f8b788d8905
+8bb38ca51e0ef7c28aa871aef8d5b268a71295a294a6f749dcf73da595a2f70bdcbe
+a5138fe0f78ef8d015fc85078b6385856a8a087106868786861f8b7a8d8905134fe0
+f7008ec78b05f723f7468a8b1ff08ba6449a4408a58b87f72905139fe0997d91841e
+7a066a899daa1ff883078bac8d97af8c08a9068f8d8d8e1f8ba1888cfb088afb008c
+898a8b7505878d8a8e1ea906b18a8c7e8b6b08fc7d07136fe06b887d671efba1066c
+8390b41ff87d07ac9794af1ecb06c38b9c809f3b08a2906af730718405838b7b7b1e
+fc23067b8b9a941f70926bfb30a286059fdb9c96c28b08d806af97806c1f0ef7348b
+b264a7f80ab264a812ad9f78a5f713d6f723a0f70bd6c4a01367c0f7c1f82515af06
+c68b85829b4008a0f71f067087058585867d1efbbf067b8790911f718f05136bc08a
+fb1f9f8b059fd78294bd8b08ab06af9082651ffbb007648687671e7b06888989871f
+8b768d89e88cf7da8b05f5a424721fa08b87f71b058a998192818b087a066c8697af
+1ff7aa071397c0b49292ad1ea4068f8d8d8e1f8ba1898dfb0489298d89898b750587
+8d8a8f1ea006ae9082641ffb9e0769887c661efb5f06688697b01ff79f07b49390a9
+1e0ed48aa6f76bc5f7d4a601ecdcf7a3dbc1a603f8a5d515f88b07b09190ad1ea806
+8f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb72074e5548
+896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008afb008c8b76
+05888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08fb95076987
+7e671e6406878a89881f75d307e78bb651963908a68b84f726058a9a7e90848b087a
+066a889daa1f0e5e8aa8f702aff778a801e1d6f752d5c59f03f83dd715f7aa07b492
+92ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e9b06af9082
+641ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d8f1f8ba089
+8d2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1ec08bc199af
+be08fb1307648682671e7b06878989871f8b768d89c98b05eb8ba53d945a089f8b87
+f71b05998092811e7a066c8697af1f0ed486a2f77cff0034e666ffffd2999aff002d
+999aff0143e666a212f5daeab8f711e013bef7d9f71315ff0082800007ff0027e666
+ff0008e666ff002b199aff0011999ab8ff001ee6668bffffb0cccd8affffd24ccd89
+3a8938fffff0800086458885858b809185b28dc88ea98ba98bc589b4880891918b96
+8591458efffff180009089de89ff005280008aff002d80008bde8bdeff00008000bc
+ff00028000dfff00028000de998ed19091918b968591086689ffffc18000886d8b6d
+8bffffbc80008e6b8d85858b809185d185ff000f8000898d38ff0001cccc418cffff
+d1199aff00003334ffffbbe666ffffd03334ffffe0ccccffffd06666fffff63334ff
+ffdf6666fffffd199a08ff00d3e6665e0713deffff2be66607ffffc36666ff0005b3
+34ffffdc4ccdff0022ccccff00014ccdff0049999a088df70805ff00016666deff00
+12999a93d18e91918b9685915d88ffffc9b33389ffffe24ccd8bffffe2b3338bffff
+c74ccd8d608e85858b809185d188ff0015999a83fffffe66663808892205fffffe19
+9affff9d4cccff001ce666ffffb0b334f7108bff000780008bff0007b334ff000033
+33ff0007ccccff0000999a08ffff843333070e5e89a8f70baef771a801d2d6e3b7c4
+d603f7aade15ff0049cccd07ff0014199aff0007199aff0011999aff000ab334ff00
+134cccff000e666608fb03078b64fffffb3334fffffa8000ffffdbccccfffffb8000
+087b890587ffffff800089fffffe80008b87088b768d89058bc68db4b0c6898b1e8d
+8d8ba1058b8e89ff0001999a88ff00006666087a8d05ffffdb6666ff00044cccffff
+fc999aff0006b3348bb108f7a7078bb4ff0009199aff0005ccccff001ee666ff0001
+333408a58c058eff0000199a8dff0001e6668b8e088ba18a8d058bffffbbb33489ff
+ffd44cccffffdbb334ffffc74ccc8d8b1e89898b75058b878dffffff4ccc8fffffff
+b334089a8a05ff0022ccccfffffdb334ff00063334fffff94ccc8b6408fb1407ffff
+ef199affffef199affffed199afffff4b333ffffeaccccfffff9199908ff007e199a
+5fffff79b33307fffff9cccdffffff9999fffff9b333ffffffb333fffff980008b08
+4d84add91fcd078babff00073333ff0007ccccff0020cccdff00023334089a8c058f
+ff00004ccc8dff0001b3348b8f088ba08a8d058b4e8964ffffddb333ffffca4ccd8d
+8b1e8a898b75058b878dffffff66668effffff999a08938a05ff00224ccdfffffbb3
+34ff0006b333fffffb4ccc8b6508520721ae5eed1eff000acccd8b95ff00008000ff
+00093333ff0000e66608ffffbf999a070eec8aa8f803b9f745a701f5dcf7bddc03f7
+4ff7d415d1bdd6a4aa8b08d7b8633a1ffb5e076e827c661e7e06868888861f8b788d
+89058bcc8db2b5d5898b1e8e8d8b9e0590868e861e760668809aa81ff76607f25cc3
+271e4c8b41742d5408f76707a7999bb41ea506908e8e901f8b9e898c058b2e8a6764
+348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8b076f7e7c621e7006878888
+861f8b788d89058be88daeb3da898b1e8d8d8b9e0590878e871e7806637c98a91f0e
+798aa8f7a5bac1a801f1d6f764d603f745d315f73107ff002f999aff002e6666ff00
+2a999aff0019999aff001ccccc8b08c3ac783a1ffb15076e827c691e780686888886
+1f8b788d89058bcf8dafb2cf898b1e8d8d8b9e0590878e871e78066a819aa81ff70a
+07f25cc2421effffd933348bffffc66666fffff13334ffffbd6666ffffbdcccc08e6
+07a7949bad1e9a06908e8e901f8b9e898d058b4b896764478d8b1e89898b7805868f
+888f1e9e06ac957b6f1ffbb2076e827c691e7806868888861f8b788d89058bcf8daf
+b2cc898b1e8d8d8b9e0590878e861e7c066a819aa81f0ef78a7fadf800b7ffffdfe6
+66ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284ccdff
+00761999e5ffffb6999aff0056b33213def953f70e1556584e5a2e8bfb1b8b25f721
+8bf74e8b988b988c9608f8860680f7223af716fb548b0813bdf7ea0a13defffffbb3
+33ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb32ebfb41f76b8bf7028b
+c4b0dad4085bf7e015fffe7db3340613bdf7eb0a0e7081b0f75fff001e8000fffff4
+8000ff0027199aff005ae666c463a212a5afdad7ffffc56666cfff00c8999ad713ce
+80f878e41568676a71548b698b599f6dbc78aa80bb8bc208f7a08f0596ff00003333
+92ff0006cccd8b958bdb6ae3fb198b0813b580f7ec0a13ce80fffffc4cccffffee99
+9a89ffffed4ccc8bffffec199a8b569956aa67ab65bd74d08bd38bc4acb1bd088895
+8590808c0813cd80fffefe6666f75b15f7ed0a0ef78afb65b1f733adf800b7ffffdf
+e666ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284ccd
+ff00761999e5ffffb6999aff0056b332ff00d0b334c713ef40f940fb22157b920575
+757b7d6e8b668b74a58ba58bff003d4ccdff00243334ff00289999c1ff00298000ff
+001f80009dff001d9998ff00188000ff0021b334ff001f199a0874a30556584e5a2e
+8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7223af716fb548b0813dec0f7
+ea0a13ef40fffffbb333ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb32
+ebfb41f76b8bff0019199a8bff00164cce8dff00148000ff0003cccdffffda3332ff
+ffdd4ccdffffe2e666ffffd619998bffffd5cccd8b54b56ec18b08b48bb0a1a8b808
+85f8d015fffe7db3340613dec0f7eb0a0e77fb4db1f71db0f75fff001e8000fffff4
+8000ff0027199aff005ae666c463a212a5afdad7ffffc56666cfff0045999ac9d0d7
+13e760f882fb0c158792858f828b75757b7b6e8b668b7ea08ba58bff00298000ff00
+1bb334ff001e199aff0032e666ff002ae666ff001a999aff000e6666ff00169998ff
+0014199aff00123334a388958590808c0868676a71548b698b599f6dbc78aa80bb8b
+c208f7a08f0596ff0000333392ff0006cccd8b958bdb6ae3fb198b0813dae0f7ec0a
+13e760fffffc4cccffffee999a89ffffed4ccc8bffffec199a8b569956aa67ab65bd
+74d08bff00084ccc8bff00083334ff00006666ff0007e666ff0000e667ffffd88000
+ffffdf4ccdffffe6199a698bffffdc66668b55b177bd8b08b48bb39fa8b80813e6e0
+fffef46666f82c15f7ed0a0efb9686a2f8f5a201f702da03f754f701155c0a0ef7c2
+89a8f7bdb5f774c86aa8beaa12f7c4d19ae096d013cff841f96d15f7bb0afc3bfd6d
+158b89d68c05d58caddcb4f702afef9dacf48b08fb91078b6f7f8061880870890587
+8888861f8b788d8905bc8da98bbd8bbd8baa8bbb89088d8d8b9e0590878e871e718d
+05638e7c948ba908f79107f48b9d6aaf27b4fb02ad3ad58a08d58a8c8d8b9e059089
+8e861e7c8c056b8e5ccf5bf71b71d166b6498b089007d3a7a0e195c90813ef90a891
+aca78b978b9386958094819886978b089fa096a8a27aa8591f408b7153824d83537d
+4b546b757d618a698b08f764078ba79a96b38e0813dff7bd0a13eff7be0a0eef89a8
+f74badf713ce67a8c9aa12f76dd494d697d413cff85ff8d815f7cf0afc49fcd8158e
+89cc8d05b88ca6d299b49fc79eb0df8b08fb1d078b6e80806b8608848a05868a8889
+8b86088b788d89058bc38dafb2c5898b1e8d8d8b9e058b90878d868c08838c056a8f
+81978ba808f71d07df8b9e669f4f9962a644b88a08cc898e8d8b9d058b92858c868c
+08848c056a9067e07cb278be67a05b8b088d07af95a3ae99b50813ef94aa96a1958b
+938b90888f8791859787948b089c9c9e9fa382a0661f608b71577c5a7a536e664e8b
+087af707068ba89594ac8f0813dff7c90a13eff7ca0a0eb6fb40a8f722a8f7cab6f7
+64ca69a712f5dc7ca2f7b0da13f5f8c2e8158bff00ac3334ffff8d999aff00431998
+fb0cff00183334ffffff3332ff00003334ffffff199aff00001998fffffee666ff00
+003334fffffa999aff0001199afffffa999a8cfffffa999aff0000e666ff0049199a
+ff001b8000ff0020ccccff0057e666ff00158000ff0038999a95a7a5a8978b988b99
+8698840897849885998b08a0a29da3a27ba2561f368b6d5773517658724c526bffff
+e7cccc7effffd3199afffffe3334ffffdc199affffffcccc08f7550713eda7999bb4
+1ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea606
+b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3e1898b1e
+8d8d8b9e0590878e871e7106637c98a91ff79f07ff0097e666ffffff6666ff008c19
+9affffd233348bffff2f66668bfb3d3e52408b5b8b6c99769e799c7ea38ba60813f3
+73fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712edf70af7271f0e6b
+fb7eadf75ba8f73bbcf70bd16ca812f3d64bddf75dd813f3ff00f8b333f77515ff00
+03e666ff0000cccdff0003ccccff00009999ff0003999aff0000999aae91b2afa6be
+96a196a0988b948ba0839e8b08a39b9e9fa17e9c651f698b6c706a4e5e34677d518b
+0813ed79f70806a89598ac1e93068f8f8e901f8b9e898d058b52896467478d8b1e89
+898b7805868e88901e9e06ad947b6f1ffbb5076f827e691e7806868888861f8b788d
+89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8198a71ff71207ff005e
+e666ffffffb333ff007c199affffdab3338bffff4a999a8bfb005d47428b0813f349
+8b81b685ac87a37a97748b08747c7c6e60bf50f5f70cddf700f7101f8bff00a4199a
+ffff85e666ff0031e666ffff97cccd98080ef72cfb55a8f737a8f7bcb2f793a701f5
+dca9a2f7a6db03f896d215fb3d4849401e5b8b6b99779e799c7ea38ba60873fb2ca2
+068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af7271ff88a07a7999b
+b41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea5
+06b39a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e8a67
+64348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7b621e70068788
+88861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98aa1f
+f790f7db070e8bfb59adf736a8f74cadf730a812f3d545def754d613f6f813d515fb
+086cfb0d3b1e4a8b81b585ad87a37a96738b08757b7d6e5fbf51f6f722bcf70df72a
+1ff7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b7505878d8a8e
+1ea006af9082641ffb000713fafb61f70106b49291ad1e9f068f8d8d8f1f8ba08a8d
+fb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658683678a087106
+888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84918bb308f7
+1df761070ef73c86a2f7cba5f7a4a201f5e0f7ebde03f753f7011589df8abc8bdb96
+90e78dc78bc78bf7058a97858a468c46894089387b86458885858b80918508ff0015
+6666ff00006666ff0011999a8cff00114ccc8c08ffffc9999affff86999ab68bff00
+374cceff007b999a05ff0008e664ff00004cccff00098000ff0000199aff000a6668
+8bbd8ba987bd8a91918b968591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde
+9b90d18e91918b9685915a8a6d87588b598b6e8f598c85858b809185d1889b868d38
+088d458b618b4d8485fb098a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e9191
+8b968591085a8a6d87588b598b708f598c85858b809185d18899868d388d388d5a8b
+388b38895d89380889387d86458885858b809185bc8ca88fbe8bbd8ba787bd8a9191
+8b968591458e7d9089de080e8889a8f74dadf730a801f2d6f761d603f813d8158b65
+fffffb999afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe
+33338b88088b758c8905a98cb58caf8bff001780008bff0017199affffff999aff00
+156666ffffff66660854fb0fb78bcef72c688b818c05ffffde8000ff00034cccffff
+f88000ff0004b3348bb308f7a8078bb4ff00078000ff0002b334ff00218000ff0003
+4ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d056d8a668a668b678b
+628c6d8c0889898b75058b878dffffff33348effffffcccc08a58905ff0020b334ff
+fffd8000ff00084cccfffff980008b650820fb61f6078bb4ff00078000ff0002b334
+ff00218000ff00034ccc089f8d058fff000066668dff0001999a8b8f088ba08a8d05
+6d8a658a668b678b638c6d8c0889898b75058b878dffffff33348effffffcccc08a5
+8905ff0020b333fffffd8000ff00084ccdfffff980008b6508fba8078b65fffffb99
+9afffff8cccdffffdb6666fffffd33330871890588ffffffcccd89fffffe33338b88
+088b758c8905a98cb48caf8bb08bb08aa98a088d8d8ba0058b8f89ff0001999a87ff
+0000666608778d05ffffde8000ff00034cccfffff88000ff0004b3348bb308f71bf7
+61070ed48aa6f76bc5f7d4a601ecdcf753a6c0db03f8a5d415f88c07b09190ad1ea8
+068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb72074e55
+48896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008afb008c8b
+7605888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08fb94076f
+86766c1e7a06857d867c1f84fb26a68b0597ddb5c5e68b08d3a1068e8a8d871e6406
+678798ad1f0e5e8aa8f702aff778a801e1d6f703a1c4d503f83dd715f7aa07b49292
+ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e9b06af908264
+1ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d8f1f8ba0898d
+2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1ec08bc199afbe
+08fb130767867f6b1e7b068180847d1f86fb1ba18b0594c69fcff08b08c98b8d8d8b
+a0058f898d871e7b06678694b21f0ef71e86a2f778abf81077c7aa01ff00ed999ad1
+f703d003ff016a999af96d15f7bb0affff99e666fc5715480afbb8fb6515490a0e20
+81b363a9f80da1dfaa12b5d459d855d4ebd467d0133300f7def8e215f7cf0a66fc0e
+15e20a137800e30ad8fb261513b480780a137800ffffa36666ffffeb6666ffffbf99
+9affffcf999a8b4a0813728042bf72ce1eb78b9f94b5ab089e9a050ef71e86a2f778
+abf81077d4ea01ff00e7999ae9d6e903ff00e7999af98a15a30af73d16a30affff73
+e666fc7415480afbb8fb6515490a0e2081b363a9f80da1f701ea12b5d459d850e9d6
+e957d0133200def8d315e60a133100f73d16e60ab4fbff15e20a137800e30ad8fb26
+1513b480780a137880790a0ef7de86a279a5f789a8a7a7f79aa679a28d7712ff01af
+8000dcf763a2d7a287a413b1a0ff01af8000f7a315c70a1371a0c80a13b1a0f7530a
+1379c0c90a1333a0540a1339a0ca0a13b5a0cb0a1371a0cc0a13b1a0cd0aff00b980
+00f79d15ce0a0ef71281b066a9f74eadf730a212b0cf52d0f73ad0f753d4137bf790
+f80b15e90a13b7ea0aaafb3d15eb0a137bec0ad1af15ed0a0e9186a279a5f7c2a7f7
+9aa679a28d77cdaa12f5defffff06666d1f703d0ffffe4999aa1d7a387a31322c0ff
+012a6666f96d15f7bb0aff0005999afc0815fb098a05133310d60a132728540a1333
+28550a13ab28560a136328570a13a328580a137330d30a0efb1281b0f75fa8f71da2
+dfaa12aed783d4ebd473d713f6f7edf8e215f7cf0afb7bfbdf15f00a13f1f10ad2fb
+4315f20a13f9f30a0ede7fadf756b7f800ad01f89de503ecf89f15f7ee0abbfbdf15
+f7ef0a0efb1280a2f718a9f763b001aad7f763da03f7cef72915f74f0a44f74315f7
+500a0ede7fadf756b7f800adc0eb01f74bebe8ebc0e503f808f98b15c30afb5116c3
+0a35fb8015f7ee0abbfbdf15f7ef0a0efb1280a2f718a9f763b0f700ea12aad773e9
+d6e96bda13f4def8d115e60a13f2f73d16e60a13f9c9fc3c15f74f0a44f74315f750
+0a0ef7c289a8f7bdb5f774c86aa8c4ea12f7bee988e084e913ccf7bef98315e60a13
+c9f73d16e60afc61fd83158b89d68c05d58caddcb4f7020813eaafef9dacf48b08fb
+91078b6f7f80618808708905878888861f8b788d8905bc8da98bbd8b0813e9bd8baa
+8bbb89088d8d8b9e0590878e871e718d0513ea638e7c948ba908f79107f48b9d6aaf
+27b4fb02ad3ad58a08d58a8c8d8b9e0590898e861e7c8c056b8e5ccf5bf71b71d166
+b6498b089007d3a7a0e195c990a891aca78b978b9386958094819886978b089fa096
+a8a27aa8591f408b7153824d83537d4b546b757d618a698b08f764078ba79a96b38e
+0813d9a58d05908e8e901f8b9e898d055a8a6c8a598b598b6f8c598c0889898b7805
+868f888f1ea5890513eab2889a828b6d08fb6407698b618c759954ab7dcb83c382c9
+71c3408b08597a6e746ea0809f1f978b9890949595969390978ba78b916a906e954d
+a035d36f088607498b666071455bfb1b5c476b88087c8a05868988861f0eef89a8f7
+4badf713ce67a8ebea12f75be98bd68be913ea9b16f7c80a13daf7c90a13eaf7ca0a
+13ccf74bf8c015e60a13c9f73d16e60a0e9c7faff7b9bcf70b76f734adbeea12cfa9
+b0e9d6e9a2e34be713ff40b7f70715f7bf0a13ff80f7c00a13ff40f7c10ae6f91515
+a30af73d16a30a0efb0981aaf74db4f735aae2ea12c3a480e9d6e96ed951dc13f080
+b1de15f7cb0a13f900f7cc0a13f480f7cd0aabf87e15a30a13f200f73d16e60a0ef8
+4b0ef84b0ef72986a2f8f5a2c2bd01f702daf7dcda03f8ebf70115f7ba0afb22f8e8
+15f70b0a0e9b89a8f80ba8dabd01f700d6f762d603f724f84115f7ce0af792dc15f7
+0b0a0ef72986a2f8f5a2c9eb01f702da9cebe8eba5da03f81ff98c15c30afb5116c3
+0af81dfd1f15f7ba0a0e9b89a8f80ba8ebea12f700d67ae9d6e963d613f2f724f841
+1560498d8b1f88898b75058b878dffffff4ccc8fffffffb33408a98905ff0025b333
+fffffd8000ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ff
+ffda4ccdfffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b3
+8ca78cb68bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88
+968ba3088b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd
+999a086c890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88b
+a98ab38a088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff
+00024ccdfffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff00
+24e666ff0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45
+895e6f5e8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb
+62fb8c8bf782058bb48eff00088000b1ff0002800008a98d0513e88fff00004ccc8d
+ff0001b3348b8f088ba0898d058b45895f1ea1f72515a30a13e4f73d16e60a0ef71a
+81a3f900a3c0eb01afe5ff00558000ebe8ebff00488000e503ff01908000f98b15c3
+0afb5116c30aff00738000fb1115650af7e0fbc515660a0e3c81a2f813a2f701ea12
+b3d785e9d6e984d713e8f702f8d315e60a13e4f73d16e60a13f2fb83fc1015f7020a
+f750f75d158e0a0ef71a81a3f790be86bff7a2a312afe5f84fe513dcf7dbf90e15f7
+e10a13bcf7e20af7e0fbc515660affffa5e668fffff4999a15f7e30a13dcf7e40a0e
+3c81a2f73abd75b5f727a212b3d7f78ed7139cb3f75715f7020aff0145199aff0008
+e66615ff0000999afffff64ccdff00004cccfffff6199a8bfffff5b3338bfb0c4862
+5e8bffffa3199a8bffffd7e666ff00738000fffffb6666ff004a8000ff00013334ff
+fffe3333ff0001ccccfffffecccdff0002999a8b0813bc928baa92978b0813dcf7f0
+0afffffce666ff001e800015f7f10a13bcf7f20a0ef71a81a3f790be86bff7a2a3c2
+eb12afe5ff00488000ebe8ebff00558000e5139f80ff01838000f98d15c20afb5116
+c30aff00808000fb1315ff007a33348bff00674cccffff978000ff000eb334ffff50
+33340813df80ffffdf8000ffffe81998ffffd0e666fffff33334ffffdfe6668b0813
+bf804c8b6dba298bffffda999a8bffffc23333fffff1999affffd8cccdffffe0999a
+ffffffe666ff0002e6668bff0002e6668b8e8bf766f702ece68b08f7e0fbc515660a
+ffffa5e668fffff4999a15f7e30a13df80f7e40a0e3c81a2f73abd75b5f727a2f6ea
+12b3d78be9d6e97ed7139c80b3f75715f7020a139a00d7f80e15e60a139900f73d16
+e60aff0050199afffe8ee6661513b880ff0000999afffff64ccdff00004cccfffff6
+199a8bfffff5b3338bfb0c48625e8bffffa3199a8bffffd7e666ff00738000fffffb
+6666ff004a8000ff00013334fffffe3333ff0001ccccfffffecccdff0002999a8b92
+8baa92978b0813d880f7f00afffffce666ff001e800015f7f10a13bc00f7f20a0ec8
+81aef79ebd79c3f786b0c0eb12b9e637a9c2ebe8ebd6e21399c0f7dbf98b15c20afb
+5116c30af719fd9515f76beef734f74df765fb0cf706fb3a1ffb138b636152880813
+bbc08755835b815794fffffa4cccff000a3333fffffd4cceff000acccdff00036666
+a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813ddc0f7c50a13bdc0
+ce8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca66e8b08
+7282787741f7144fec1f0efb1581acf739b379b9f72caae2ea12bea492e9d6e96cdc
+13de80aedd1556d264e6eeefd1f735f70d52ecfb191e5c8b627b5a8888658669815b
+08a487059ccbaabbd58b08e4a9352f1f88890513be80719b70976e8b0813de80f7d9
+0a13be80f7da0abbf87f15a30a139f00f73d16e60a0eac75c9f8dca2c5bd01ff006b
+8000f89f15f7bc0aff01328000f74a15f70b0a0e49fb85cff8c8a2ebbd01f74dfb41
+159e0af752f93f15f70b0a0eac75c9f8dca2cceb01f741ebe8eb03f7fef98c15c30a
+fb5116c30affffbe8000fb8115f7bc0a0e49fb85cff8c8a2f704ea01f729e9d6e903
+f74dfb41159e0a67f97e15a30af73d16a30a0eac75c9f8dca2ce7601f86bf9af15f7
+2a0afb179015f72b0affff178000fba915f7bc0a0e49fb85cff8c8a2f7837601f74d
+fb41159e0af7a9f9a815f72c0afb189115f72d0a0ee486a2f77cbff7d9a2c9eb12f5
+da8febe8eb73e013fef80ef98c15c20afb5116c30a13fdf7eefd1f1589ff00528000
+8aff002d80008bde8bdeff00008000bcff00028000dfff00028000de998ed1909191
+8b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885858b809185d185ff
+000f8000898d38ff0001cccc418cffffd1199aff00003334ffffbbe6664cffffd6e6
+66ffffc18000fffffc199affffe380008b438bffffd4999aadff00016666dc088df7
+0805ff00016666deff0012999a93d18e91918b9685915d88ffffc9b33389ffffe24c
+cd8bffffe2b3338bffffc74ccd8d608e85858b809185d188ff0015999a83fffffe66
+663808892205fffffe199affff9d4cccff001ce666ffffb0b334f7108bff00393334
+8bff0042e666ff000f8000ff0047e666ff003166668bffffb0cccd8affffd24ccd89
+3a8938fffff0800086458885858b809185b28dc88ea98b08a98bc589b48891918b96
+859108458efffff180009089de080e5889a8f70baef771a8eaea12d2d670e9d6e95c
+d613f9f7e3f7f515f7d40a13f4fb6cf77015e60a13f2f73d1613f171a076a51e13f2
+a5a0a0a51f13f1a576a1711e717675711f0e4c89a8f8d6b370a712f4dcbea7f755a6
+13dce88915ed8bb054943708a78b85f728058a997e91848b087a066a899aaa1ff889
+07a59990a11ef71306cd8ba7569a4308a68f77f735fbd48b0513bc7efb068c8b1f13
+dc898a8b770513bc878e888f1ea906b69482681ffc89076c7c7c631e710687878886
+1f8b788d89050efb228ba6f7fab770a812f3d5c59ff70aa113dcf316ec8aa14c984b
+089f8b87f71b058a977e93848b087a066c8694af1ff7cdf70407c38b9b56975108a1
+8b80f72ffb888b0513bcfb048d0513dc89898b750513bc888d898e1eaa06af908165
+1ffbae076e817b6a1e7306868888861f8b788d89050ef77f87a276acf7c2b3f785ac
+78a2c7eb12f3e0d5ebd1e845ebcbda132760f858f98b15c20afb5116c30af843fd1d
+15f7f30a13af20f7b90a1367a0fc543c15f7c20afb22e615f7c30a1377a0f7c40a0e
+f70c86a178aaf757abf71ba27ea8ebea12f5d6bee99ad67ce993d713b720f8d7f7c2
+15f7d50a1367a0fb82fb4415f7d60afb7f5715f7d70a136fa0f7d80af712f76e15a3
+0a132760f73d16e60a0efb6dd0b1d001f706d103f706fb4a15f7f40af604f7f40a0e
+fb6cd0b0d012b9d17cd17ed1ded113c4f7cbfb4a15f7f50af604f7f40a13e4fb9d16
+f7f50a13ccf70416f7f50a13d4522115f7f50a0efb6dd0b1d054b412f7a3d113b0b0
+2b15f71db4fb1d06f77efb1315f7f40af60413d0f7f40a0efb6dd0b1d053b512e4ae
+f72ad11398f7a6fb4a15f7f50af60413d8f7f40a13b8fb8e7515f7f60a0efb27d001
+f717d103f717fb0415f7f40a0efb27d001d6d1b6d103f750fb0415f7f40afb0516f7
+f40a0efb6cd0b0d012d7d17cd17ed113d0f717fb4915f7f50a13c8c4f515f7f50a13
+e0fb0416f7f50a0efb15b501e0f73803e0fb1515f738b5fb38060e21b501f72aae03
+e02115f7f60a0ef8e7d001b3d103b3f90a15f7f40a0ef8e7d001b3d103b3f90a15f7
+f40a0efb6dd07bd07cd012aed1b5d1b5d1141c139cf797fb4a15f7f50afb04c01513
+5cf7f40afb04c115133cf7f40a0ef76ed001f717d103f717f79115f7f40a0efb5ff7
+1e01f725b003f7254a15fb1eb0f71e070efb4ef836e201c9f78f03c9f83615f77b8b
+9fe2fb7a8b050ef8edb501dff73803dff8ed15f738b5fb38060efba2997601f706c4
+03f7068415c4f8d752060ef8e5d001f7d1d103f7d1f90815f7f40a0ef8e5d00159d1
+0359f90815f7f40a0efb659d7601e3f74403f79cf83d155a9f7e8c71ce745078805d
+79c375918da5469bb599a2c5a308fbe90453a27ca17ab782757c614b72b57ba183a3
+4ca5ce998bbb9f080efb7f8bef01cda603cdf7a4158b316d488b578b6f8c768f7d08
+f7918b6beffb3e8b0590a78fa38ba88bbe83dc8bc38ba49f98a68dd28fb7a88bb38b
+d35f8b8b8b856a68896e8a085d895c838b4f8b529d4e8b51080e3ba07612acbd63ba
+77f704f775ba13a8f859f84e15f7f70a13c8f7f80a1398f7f90a13c8f7fa0a0e2e8b
+eff7cdf601f806b103f782f89c15f7fb0a0efb769a7691ef12bcf7556ba31350f77e
+f7bc151360f7fc0a1350f7fd0a1390f7fe0a0efb0f9f76f832f612f7a3c753ce13e0
+f7dff7b715f7ff0a13d0f8000a0e389376f839f70012c3cef777bd60cc13e0f70bf7
+33158bab93a99b95089807868e858c858b5a8b73618b478b788e4f8b798b7b867983
+8208928005bc8ea3a88bb2088b9e87ca8b9e0813f0f7adf71d158befaf898bb308a3
+07b1819f561efb8a06728b78a086a2088b5e844162a86dbd1ff7bb06655e784d8b3d
+0813e88b6192318b618b77877a837d08938105b992a2ab8bc5088bcd75da8bcd080e
+fba89a7612f747c060b013c0f74785158bc091be1f13a0f8010a0efba49e7601f709
+ca03f709be158b75867a817d8b8bd98d8be98bd36cd68bd98ba08eb197b19984a481
+a08b918b928c908d08939691a18b948bc87199fb0c8f7a8f8096879e088b6385415d
+ad73cf1f71547e4f8b4d8b519b4c8b51080e399e76f833f612c6bd5ecbf770bb63ca
+13e8f820f7bf158becb8798bd708b875a05e1efb8406708b7b9c86a2088b588a4a5d
+aa68ca1f51537f4e8b3a0813d08b5190508b6d8b6f88737f798b8bda8d8be80813e8
+8bc978d88bc98bc19cb4aba308f78d06665e75498b3c0813c48b6193318b618b7687
+7a827e8b8bd78d8be0088bc874ea8bc5080e408beff7cbf70225f70012a7f729fb04
+abf7d8aa13acebf82e157a5f7d5a8b618b35b3fb0a8c4408f7ab06b5f709a4f48be3
+8bf74d49ab628b6e8b6f787773716e74566b4108a37f05bcdfaa9eb88bc18baa658b
+448b3b79436f5108fb73066ad775d08bca8ba596b496b00813d4918b918a918b978b
+978d958e8f998d998b998bb478a0648c6a8c7a9888a38b8b658a8b3e088b5aa67cb4
+84080efbb7f833f501f753b003f72cf78715f8020a0e35f82cf70012f7efc857af13
+a0f81cf7fd1513c08ba7929a948e9a90999e8ba608a582ab501efb86066e8b7a9685
+a2088b60894462a36fba1f13a0f7918b0513c082fcd50597bc91d81f0e298beff7cd
+f601f807b103f807f78c152a6e583d1efb668b7127f7518b05f73aa5dff749f73d60
+e1241ffb1806708b7b9786a2088b60824462a276b91ff73a06e294442d1f0e369576
+f83cf601f754d1f3bb03ddf8c2158b978f9d90998e949bcb8b8e8ba576957990838d
+7792899d8b8a6d898b5e8b75a18297870898869e848b798b82857a86817f6b7f658b
+5b085eac76bd1ef72806dd966b5a1f8b4b827a5a596969393b8b5208709b7da1a19c
+97a31e8b9684958b9a8bada9b0b6bdd2da93988be208f70182bd331efb3e06666f90
+ac1f0e698beff7cdf612beba64b7f7dcb565bc13c8f74cf83115f72606d78b9f6990
+fb280813e48ffb17fbe58b0513d890f726058cc1a7bfbfc80813e4fb19fc3115f845
+8b0513d880f7e90586f7246faefb268b08fb3006718b7c9785a2088b5f8b4662a46b
+bb1faa066260594a8a61080e628bef12b0ae69f723f795ad13b0f7b7f8a915865966
+68546d8191859b8b988b988e8d8b9c8bb06d8f728d0813d0778d718f83aa0813b08b
+69864c1f8b68a06db482b78296848b710813d03f3861fb0c8bfb1c086f8e78999494
+94901e8bf71aa2e9b7ccb6cccab3be8bdf8bc5418b2f8b597c53806808fb638b6727
+f7888ba8de0592a0a2dc8bce088bf7174ef716fb0c9f080efbabf82ef70212f727d3
+4eb813c0f727fb5f15908dce7d8bf71d0813a07bf7ce0513c08bb88eb998b198b192
+a48b968bd6568e5b8e758c668d84ae8b8b64868b428b60ae73cb8808b289a3828b7a
+8b82877f857f0813a0796c826c8b74080efb888bef01f764af03f788f7a4158bc59d
+c88bc48bc75c935d8d6e8c688d85ac8b8b5f8b8b438b63b76ed287a6899f7e8b7208
+8b5a824b8b578b838b838c848d6e8d73906f08fb3e8b6b27f7928b058e998ca08ba7
+8bbf6dce8be5080e5880f0f7d7f601beb3f7d3af03f7b5f83115eba45121fb214279
+374a2a8ff7371f8bc399c0a7ba08f709fc3c15eceeabf789f75a44c3231ffb1a0670
+8b7b9986a2088b5d8946769958ba1f685579488b3d08fb5bf71a70cc1e0e4dff019b
+b334ff006ce66412ff0037e666ff00a0b334ffffa59999ff001f6667ff005ce666ff
+002a3334ff00744cccc413b8ff00834ccdf82e15fffffc4ccefffff4199afffffe99
+99fffff84ccc8bfffff233348bffffe3333291ffffe2ccceff0003999a7eff000c99
+99ffffd2b332ff0012cccdffffece667ff0023cccd70ff001b8000ffffeb33339fff
+ffe466678bffffe980008bfffff46666fffffab333fffff5cccdfffff3999afffff8
+cccd08ffff4c3333ffffe2b3337728f769ad05e595b9b88bda8bf70ddff70a8bd28b
+a97a9d68905c927f9685a58b8b66868b428b68a374bb80089b8794828b788b81826f
+7965ffffb8199affff664ccdff000e3332ffffe99999ffffd5999afffff86667ff00
+07ccceff00054ccd8eff000d4ccc8bff000fe6678bff0015e666fffffa4cccff001a
+b333fffff93334ff00116667fffff13332ff0025ffffffffe1999aff00123334ffff
+e0199aff000fcccc08ffffede666947bff001c3334fffffa3333ff0018e666fffffd
+8000ff000ae666fffffce667ff000e80008b9c8bff00043334ff00003333ff000419
+9aff00006666ff0003999aff0005e667ff00004cccff00058000ff00003334ff0005
+b3338bff0009b3338bff000a6666ffffff4ccc99fffffd80000813d8ff00036667ff
+0008b334ff0003cccdff001519988bff000b999a8bff0045199affffd1e666ff0000
+e668ffffe4e666ff0000b33080ff00008000ffffdce667ff0001999cfffff68000ff
+002199988b8bffffe01999fffffae6688bffffc23332088b60abffffe3999aff002b
+666783080e36f758f1f707f6ba7701aacaf79fce03f73ef758159d90ff0013cccdff
+001833331f8ba375a56893ffffdb199aff00086666fffffae666ff0009999a8ba98b
+9e949ea1a808f71806b98bad7f97739774975a8b4f087ffc5a059fba91ca1f8bca89
+f70a87e60882f7750584f71a72a8fb308b083406718b7aa386a28b8b507b8b538b68
+9769c17e645670608b4a8b6698789b8b9c8b949fa78b08a58b9a779a8b080e298bef
+ebf1f707f601abcaf7a8b103f807f78c152a6e583d1efb668b7127f7518b05f73aa5
+dff749f73d60e1241ffb1806708b7b9786a28b8b60828b448bffffda4cccff001380
+00ffffeb3334ff0026e666fffffce66608ffffff999affffff999a05645670608b4a
+8b6698789b8b9c8b949fa78ba58b9a779a8b9d8b90ff0013cccd8bff001833338ba3
+75a5689308ffffdb199aff00086666fffffae666ff0009999a8ba98b9e949ea1a808
+f72906e294442d1f0e3cacf74333b36dc7e4f73f1350f744dc158bccb4dfd5db9d9e
+b0b1b4ab9d8b99879d8294968fb68b958bc36695618e728c6f9587ab088b68853b1f
+8b64a573be834653423d5d2f08838b89e30513908bc8bddb8bb38bc15e966391788d
+6d9985a68b8b687c8b440813308b5ea57dd27d9a89907f8b7d0813508b646d508b61
+088b8905133095fc470592c08ee31f8bc57ddb8bc1080e3a8bef12a1f73364aaf4f7
+3a13b0ff0157e666ff00bd4ccd15ffffea8000ff00153334fffff9999aff0017999a
+8bff001ae6668bb6abd4acaba58b95889a8494988eb28b968bbe6b90688e7b8c668f
+87ac088b618a421f8b69a86eb482ffffe2199affffd8199a68ffffc0199a74ffffc2
+199908ffffc3e666ff0029b33305799a82a78ba50813d08ba293bd8ba28bc577915b
+8e7e8c6d8e85ad088b61874561ac70bdaa9472691f13b08843058b749475a07b08f7
+262505928593838b8308fb9e8b6c27f7ea8b05a090b1bd8bb58b9b849b7c96080e4b
+f831f601c3bad7c9f73ab703cdfb7015a1989a978b9608f890820774777c728b6f08
+fc6707f74df792158bbeb1a3c6aed1b6b6a58bf71308d189f5fb0c1efb4e066f8b7b
+9786a2088b588a4962ab69ba1ff75f06da8e505f1f8b4541577e83687321448b3e08
+71947f9fa29696a11e8b998a998b92080e439476f83df612f811c15eb813e0f8117f
+158bc18eb51f13d0f7cb07f72364acfb261efb1206708b7b9985a2088b5a844c62a9
+6aba1ff74306e3a35efb1a1f0ebe8bef12acf724fb00abf71df726f71ec513b8f8d8
+f858158bc45f947c907b91778d87a78b8b62888b3b8b6f9c78ab809488a3878b6e8b
+7a82757a7308472c6a407b5a08fb3406b9e7aef6a4f704a18b96889982909692a88b
+988bc7649072917b8f768a84ac8b8b65868b44088b6b9f73b47c69fb0f64205f3908
+770666d473cd8bc08bb592b294ad9c8b968da68b0813d88d918e9d8b968bb67ba56a
+926193829284a38b8b66828b428b6a9f75b47f0813b87e647f5d8b5a8b4f9e5ba039
+9172876f926a08f7b9069ef771f72af70c8bf703080e5d947697eff7cdf612e5b6f7
+aec15eb813b8f8337f158bc18eb51f1374f7cb07f72364acfb261efb1206708b7b99
+85a2088b5a844c62a96aba1fff0015b33306ffffdd6666ffffc9999affffdde666ff
+ffc54ccc8bffffa8199a8b8191488d68084e8b7a27f71b8b91c5058bb66fd38bde8b
+ff0032199aff0020cccdff00448000ff00151999ff0026666608ff007d199a06e3a3
+5efb1a1f0e879a7612f743c060b0f774c060b01390f85285158bc091be1f1388f801
+0a13c0fbadfbea158bc091be1f13a0f8010a0e7b9a76f839f512f753b0f76ec060b0
+13e0f72cf78715f8020a13f0f7c0fb94158bc091be1f13e8f8010a0e6ff833f501f7
+53b0f779b003f836f78715f8020afb988415f8020a0efbeaf7e5f77501d4f70303f7
+21f8c615f8030a0efb44f7e5f77501d4f703c4f70303f7c9f8c615f8030afb3c16f8
+030a0efb92f7faabf772a401aabff701c103f754f88a15a60ab6fb2415a70a0efb92
+f7faa4f771ac01ff0043199ac1f700bb03ff0079199af88115da07ff001a0002a29c
+95a08bad8b96778b768b6c737936750860f72415ffffed00028b787f8281ffffff66
+6683ff00034cccfffffab334ff00074ccefffffd4ccc8e8e908d8f8b0894907b621f
+4007ff000000022dc477bc8b08b5c9acb39a80957c78847e831f8b868c868c898c89
+8c878b84087b76806a746c93d61ec59a05ca9bb3a78bb58bb668a6618b6a8b798269
+6d889d7da0728b080efb9cf7faa5f76caad1a001bebcf70bc103bef91f15f8040abc
+4215f8050a0efb91f7fea4879df760a5d1a012a8c1f711bc13bcf764f83615f8060a
+bcfb1215f8070a137cf8080a0efb92f7fbaab677f4a7cda401a6c1f706c403f731f8
+1a15f8090ab1f73015f80a0a0efb92f7fba4cda7f714aa01a8c4f706c103f710f8f2
+15f80b0a65fb3015f80c0a0efb8af77fa9ebb3c0a1f71fa17ba7129cb472bd5db0f7
+09be90ad13eac0f79ef8ec15f80d0a13f2c0f80e0a13e9c0f80f0a13ecc0f8100a13
+e9c07a7890a51f13eac0f8110afb4ffb7d15f8120a13e4c0f8130af704f743154d6f
+87751e13f2c0f8140a0efc03f795c5c8a0f761a812ff004b999ac553bb13f0ff0068
+999af79515ff0010000298989b9b7e987b7b7e7e7b1f7b987e9b1e13e870f7bf15fb
+1c0713f0ff000000027089708b8b8b868d89918b9b92ba93a58d8c938a9287910813
+e86b8d80868bc008f70107ff00000002b4988eb38d90938a9a87916d8a808b688b6d
+8b7b8b6d8c87848b7d8f8308ad899c888b62080efb87f800a2f771a2d1a001c2bc03
+c2f91f15fb80078b76ffffff4ccc88ffffe7b3348808838a0587ffffff80008bffff
+fd80008b890879078bff002533338cff0017cccdff0018999aff002666668a8b1e9d
+078b8f88ff0000cccc89ff0000333408838c05ffffeeb333ff00023334fffff84ccd
+ff00044ccc8bff0014800008ff004f666607ff0001cccdff00006666ff00019999ff
+00003334ff0001999a8b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b
+8ca1a3b08a8b1e8d8d8b9b058b8e87ff0001999a87ff00006666ffffdf80008effff
+ee8000a28495084ce805898d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093
+ff001880008e8dff000033348fff0001cccc8b8e088b9c898c058b638a73756d8c8b
+1e8a8a8b7a058b898dfffffd4ccc8effffffb334ab887b7a8383ffffdf8000ffffdb
+3334ffffeb3333fffff08000ffffe54ccdfffff4199808ff0094333407b58da58b1e
+90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0e3ff800a2f7
+68a07aad12a1e85abcf704bbf6bc13aef707f8de15ff001b33348dff0010cccc8b1e
+90898d851e13d6f8150a13ae989184611ffb1a078b768afffffd666673fffffc999a
+08848a0586ffffff4ccc8bfffffdb3348b890879078bff002533338cff0017cccdff
+0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccc89ff0000333408808c05ffff
+f08000ff00016666fffff68000ff0003999a8ba108f723079ea2a0a1a08b08aa9f7a
+581ffb0c078bffffe94cccfffffa999afffffd999affffeb6666fffffe199a08808a
+0588ffffffb3348afffffd4ccc8b890879078bb28ca4ff00183334ff0025cccc8a8b
+1e9d078b8dffffffe666ff00023334fffffb199aff0000cccc08858c0578ff000333
+3484ff000280008bff00154ccc08f716078b91ffffffccccff0005b334ffffff8000
+ff00054cccff0012199aff00158000ff0013ccceff00138000ff0013cccc8b08a99f
+7a581ffb0c078b7485fffffdb33478fffffe4ccc08808a0587ffffff999a8afffffd
+66668b890879078bff0027999a8cff00196666ff00183334ff0025cccc8a8b1e9d07
+8b8dfffffee666ff00024cccfffffc199aff0000b33408858c05ffffed199aff0003
+199afffff8e666ff000133328bff0016b33408f71607ce6da45e1effffdc4ccc8bff
+ffdc6668ffffdd9998fffff1b332ffffeeccd0fffff6199aff0024e664ffffe6b333
+ff000eb334ffffdccccd8b678b6a687d7a080efb92f7fba4f778a401a2c6f720c603
+f72cf91115326340444bba47dcff0053199aff002ee666d1ccff0048199866ff0046
+e6682f1fd1fb3615f8160a0efbabf7faa6f770ab01a6c1f70ac103f70ff7fa15e1b7
+d3d4d463c8361f5e8b6c737268089e7b059fa19ea0b18ba18ba37c997497788f738b
+728b3a616a6c8b658b86a389a1899b7e927d8b087d80827769ac6aca1f0efb94f782
+a2f700a5f760a077aa12c3bcf70bc113dcc3f8b915fb98078b77fffffd999afffffc
+3334ffffe96666fffffccccc08848a0587ffffff66668afffffe999a8b890878078b
+b08ca3a5b38a8b1e9d078b8f89ff0000b33488ff00004ccc08808c05fffff1199aff
+00016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08ccc1c7d5cf63c751
+1f6e8bffffe380006ffffff080007908898c05ff001b33348dff0010cccc8b1e9089
+8d851e13ecf8170abc3215ed0713dcf8180a0efbf7f7faae9c77f768a812c5bb65b1
+13b0f5f8ee15f8190a13a8f81a0a13b0b3fb4b065fa07aa81ea78ba293a5a6081370
+7b9c0513b07b7f81867b8b087a879db11f0efb86f7faae819df763a212c1bcd1e65a
+bc13b4f79cf84c1513b8f81b0a13b4f81c0a1374f8080a0e3ff800ad7aa0f768a212
+c5bcf6bbf704bc13bcf80af83315ffffe4cccc89ffffef33348b1e868d89911e137c
+9b92b993a58d088a9d058d898c891e768c057e8592b51ff71a078ba08cff00029998
+a3ff0003666808928c0590ff0000b3348bff00024ccc8b8d089d078bffffdacccc8a
+ffffe83334ffffe64cccffffd7b3348c8b1e79078b878effffff33348dffffffcccc
+08968a05ff000f8000fffffe9998ff00098000fffffc66688b7508fb230713bc7874
+7675768b086c779cbe1ff70c078bff0016b334ff00056666ff00026664ff0014999a
+ff0001e66808968c058eff00004ccc8cff0002b3348b8d089d078b648a72ffffe7cc
+cdffffda33338c8b1e79078b89ff0000199afffffdccccff0004e666ffffff333408
+918a059efffffccccc92fffffd80008bffffeab33408fb16078b85ff00003333ffff
+fa4cccff00008000fffffab334ffffede667ffffea8000ffffec3333ffffec8000ff
+ffec33338b086d779cbe1ff70c078ba291ff00024ccc9eff0001b33408968c058fff
+000066688cff000299988b8d089d078bffffd866668affffe6999affffe7ccccffff
+da33348c8b1e79078b89ff0001199afffffdb334ff0003e666ffffff4ccc08918a05
+ff0012e666fffffce668ff0007199afffffecccc8bffffe94ccc08fb160748a972b8
+1eff0023b3338bff0023999aff00226666ff000e4ccdff00113334ff0009e666ffff
+db199aff00194ccdfffff14cccff002333338baf8bacae999c080efb8bf8f4a20197
+f7b603f71df80715f81d0a0efbabf7faabb677f759a601a6c1f70ac103f731f91115
+f81e0a0efbc8f800a2f74aa8f708a401d3bc03d3f835158b79fffffacccdfffff980
+00ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a8d8a
+058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccc89ff0000333408768d05ff
+ffeccccdff0001ccccfffff93333ff000833348b9d08f72cc60791938d911f9d078d
+898c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b968496
+7e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efbb3f8
+00a9f764a801a2a103d1f90b15f81f0a0ef71efb6dabf5abb5a2f778abf8107701ff
+00f2999ab3ebb303ff014a999a3c15c60a335615e80aff0011e666f82e15480afbb8
+fb6515490a0e20fb6eabf5abb1b363a9f80da112b5d459d885b3ebb379d013c980f7
+743b15e70a335615e80af731f7ed15e20a13dc00e30ad8fb261513ea40780a13dc40
+790a0ea286a2f7d3a3f79da3ebf312ff006c8000daff00248000f3ff00518000d66f
+e213fcf774f9b215f7170affffdb8000fc4915f8200a13fef8210afb09f7b0154b0a
+13fd4c0a13fe4d0ab5fcc4154e0a13fd4f0a0e3181a2f80aabf714ef929ea47701d8
+d4cfefb4d703f76ef8eb15f70f0a57fb87157a0a849f157b0a0ea2fb64eff2a2f7d3
+a3f79da312ff006c8000daacefe4d66fe213fcff00dc8000fb3015410a6af89915f8
+200a13fef8210afb09f7b0154b0a13fd4c0a13fe4d0ab5fcc4154e0a13fd4f0a0e31
+fb64efeda2f80aabf77f9ea47701d8d4a4efdfd703f743fb3015210a82f894157a0a
+849f157b0a0ea2fb17b7dda2f7d3a3f79da312ff006c8000daf772d66fe213f8ff01
+758000fb1715f7720a9ef88015f8200a13fcf8210afb09f7b0154b0a13fa4c0a13fc
+4d0ab5fcc4154e0a13fa4f0a0e31fb17b7d8a2f80aabf77f9ea47701d8d4f765d703
+f7ebfb1715f7720aa7f87b157a0a849f157b0a0ee4fb5ca8d6abc1b4f8eca6c77601
+b0e5f7a1c9f70ea203f828f9c715bd0a62fe2715cf0a0efb22fb5ca8d6abf860a2c8
+7612aed7f72ac97add13f8f7b2f8ff15e40a51fd5f1513fcee0a13faef0a0ef72486
+a3f8f3a3ebf301f702d9ff00326666f3ff00ec999ae503ff00ee6666f9b215f70e0a
+ffffd1999afd4515510a5ff8ac15520a0e4181ae8f9af7f3a3f714ef929ea47712b0
+d777eff71cd013fd80e8f8eb15840af780fc7f15ffffff4ccc79fffffeb334847e7f
+686c6c7c738b0813fe80584fcef70b1f8bd099ba999fa9b8b88e9e8bad8ba67f9e75
+987c8e848b6d8b8b8bfb2b895908804f157e0a0ef724fb64eff2a3f8f3a312ff0068
+6666efffffa1999ad9f81be513f4ff00686666fb3015410aff0057999af79d1513ec
+510a5ff8ac15520a0e41fb64efedae8f9af7f3a3f77f9ea47701b0d7b0efdad003f7
+2afb3015210af747f79c157d0a804f157e0a0ef724fb17b7dda3f8f3a301f702d9f8
+1be503ff00f46666fb1715f7720aff0098999af78415510a5ff8ac15520a0e41fb17
+b7d8ae8f9af7f3a3f77f9ea47701b0d7f76cd003f7bcfb1715f7720af782f783157d
+0a804f157e0a0ef724fb5ca8d6abc6a3f8f3a301f702d9ff008f6666c9ff00b9999a
+e503ff012a66662b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85
+ab8b08c8b9aab6b16ca3631f828b828a838908ff00173334ff003e199a05ff000699
+9a8bff0006ccccffffffe666928b08f721f750cef78af74efb2ff730fb541f478b47
+86658b598b6f8f598c85858b809185d18899868d388d388d5a8b388b38895d893808
+89387d86458885858b809185bc8ca98fbe8ba88bff0026cccdfffffccccdff0043cc
+cdfffffeb33308ffffd9ccccffffa480009185059b90958c9e8b08ffff95999af761
+15510a0e41fb5ca8d6abc1ae8f9af7f3a3f77f9ea47701b0d7ecc9c4d003f7452b15
+a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16c
+a3631f828b828a838908ff00154ccdc4ff0002b3338b05b08bae9fbab1908f928d8b
+848b7495698b8b93888d8c938da09caa9ac59291918b8e8591084e90fffff8e6669d
+fffffe199aba89bd8bf8158dbdff00028000c9ff00018000a78b8b8b92888d828b73
+81497f658889838d86918508bd88ff0007ccccff0004e668ff00033334ffffb01998
+8d598bfb078b8b8b848989848b878b629c6c8b4c8b61756567626272548b44088bff
+ff993333ff002d8000ffffb06667ff0050e666ffffee333308ffffda999affffa633
+339185059b90958c9e8b08f72cf760157d0a0ef72486a3f8f3a301f702d9f81be503
+ff012966664615f8220affff96999af74615510a5ff8ac15520a0e4181ae8f9af7f3
+a3f77f9ea47701b0d7f76cd003f7594615f8230af718f745157d0a804f157e0a0e91
+86a279a5f7c2a7f79aa679a28d77d4bd12f5def763a1d7a387a3132380ff018a6666
+f95515f70b0aff0085999afbf015d10a1333c0d20a1327a0540a1333a0550a13aba0
+560a1363a0570a13a3a0580a1373c0d30afffed54cccff01da199815ffffe5b334ff
+fff5ccd0ffffede666fffff23330fffff1e667fffff0666808ff0076999affffc880
+0005ff00103334fffff81998ff000ab333fffffd6668ff000633338bff000633338b
+ff00054ccdff000633348b928bff0006333488ff00054cccfffff7800092080efb12
+81b0f75fa8f71da2e6bd01aed7f766d703ff00d43333ff02ce666815fffffcccccff
+0000e664fffffb3333ff0000e668878bffffe4cccd8bffffed999afffff0b334ffff
+f99999fffffa999808fffffe6667fffff61998ff005b3333ffff9de66805ff000ccc
+cefffff28000ff0005999afffffb8000ff0004cccc8bff000666668bff0005999aff
+000566688bff000480008bff00064cccffffff3334ff00064ccc879408ff0044cccc
+2c15f70b0a8cfb8f157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa679a28d77d4
+bd12f5def763a1d7a387a3132380ff01a16666f95515f70b0aff006e999afbf015d1
+0a1333c0d20a1327a0540a1333a0550a13aba0560a1363a0570a13a3a0580a1373c0
+d30aff01278000ff01dae66815ffffa0999affffb44ccc0581fffff81998fffffe66
+66fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6668bff0006e6
+668bff00093334ff00029998ff00103334ff0007e66808ff006ee664ff0033199805
+fffff63334ff0012ccd0fffff01998ff000f4cccffffe9e668ff000bb334080efb12
+81b0f75fa8f71da2e6bd01aed7f766d703ff01086666ff02c8666815ffffc3999aff
+ff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6648bffff
+f9b334ff00059999fffffa999cff0005999a8bff0005999a8bff00066666ff000399
+9897ff000d800008e7ff00621998fffffd999aff0009e66805ffffed999aff0013cc
+ccffffeb8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999a
+ffffff199c08ff0048999affff35999815f70b0a8cfb8f157f0ad2fb4315800a0e91
+86a279a5f7c2a7f79aa679a28d7712f5def763a1d7a387a3132300ff012766664615
+f8220aff0008999af83e15d10a133380d20a132740540a133340550a13ab40560a13
+6340570a13a340580a137380d30a0efb1281b0f75fa8f71da201aed7f766d703f782
+4615f8230afb10f7dc157f0ad2fb4315800a0e91fb58c089c2e0a279a5f7c2a7f79a
+a679a28d7712f5deff00bc6666a6fffff7999aa1d7a387a31388c0ff014a6666fb23
+15bf0a1348c0c00a1388c0c10affffe5999af88815d10a130c90d20a1309a8540a13
+0ca8550a132aa8560a1318a8570a1328a8580a131cb0d30a0efb12fb56c089c2d9b0
+f75fa8f71da212aed7f766d74da613bdf7b4fb2115bf0a137dc00a13bdc10afb42f8
+2415f00a133ef10ad2fb4315800a0e91fb5ca8d6abc6a279a5f7c2a7f79aa679a28d
+77c7bf12f5deffffeb6666a7f709c9ff0014999aa1fffffa6666a7ff0035999aa387
+a313c8b4ff01b86666f9b915f7160afb34fe1915a2957d7671767d6d1f778b808f70
+95848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a83890813d8d9a4
+ceff0046999a8b0513e8d9580a13dcdaf7180a13c9d9540a13ccd9550a13ead9560a
+13d8d9f7640a0efb12fb5ca8d6abf7baa8f71da2cac412aed771a6f72ac988d746a6
+13fa40f704f90915f70d0af709fd691513fd00f7650a13fc80f7660afb07f7f7157f
+0a0e4b86a2f7c0a7f7a4a679a28d77f706f312f5deff001b6666f3ff004b999aa1b9
+a313c7c0ff00d86666f9b215f7170affffe4999afd451588df8cf7118b8b08f7098a
+05e0ffffff4ccc8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e80
+008bff0021999a8eff001666668ca98591818b8585885487fffff4b33436ffffff4c
+cc08fb098a058b8b8af7268edd0813e7c08ca3979fa38b08f71206d68b9a56a14697
+898d8d959086b47cee89930813cfc0540a13e7c05a0a13d7c08b8b3b8f598c85858b
+809185d18898868e388d398b598b388b388b5c893988387e8645880885858b809185
+bc8cff001f80008fff003380008bff003966668bff0028999a87bc8a91918b968591
+458e659089de080efb9286a2f7fea8f79fa1c4ef12ead0b3ef82da13fcf760f9bb15
+840afb01fbdb15ff00008000fffff1b334ff00006666ffffe69998ff00003334ffff
+e0b33408ffffcde666067a8685831f8207868c8a8f1eff00434ccd06ff00008001ff
+ff9cb334ffffff9999ffff78ccccfffffe999affffd68000fffffd66663cfffff799
+9a88588785858b809185b38c9c8fb08bb78ba687b48a91918b968591084a8ffffff8
+999a8efffffd6666dafffffeb333ff0027e666ffffff999aff00856666ff00006666
+ff0066b33408ff005a4ccd0694978a941f9a078f898d861effff97cccd06ff000033
+34ff0026e666ff00008000ff001fccceff00008000ff00104cccff0001b333ff0032
+e668ff0003cccdff00253330ff0008199aff001ae668ff000f6666ff0032e668ff00
+19b333ff000e1998ff00144ccd8b0813faa88b9977986a937a957e9f8b9b8ba49d8b
+9e8b9b809c779a729c728e678bffffd1e6668bffffcd800074ffffe033345b08ffff
+e8b333ffffdcccccfffff39999ffffcf3334ff0002199a4c080ef72981a5f7a0a5f7
+d5a6bbbd12abe2f839da6ea313f8ff01da999af95615f70b0aff007b66665b15f719
+0a13fcf71a0a13faf71b0a0e3dfb8aa4f763bb5ebfe1a2f78aa276b5d1bd12a8cb65
+c457d3f743d397c6139230f7f0f89215f70b0af74bfb8815325b70681e139a70f71c
+0afb49fba81513d330f71d0a13b330f71e0af7bdf80f15f71f0a139670f7200a13ba
+70f7210a13b2b0820a13b330f7220a13d6b0f7230a0ef73c86a2f7cba5f7a4a2f765
+f301f5e0ff007de666f3ff0071199ade03ff013ce666fa2315f70e0affff82199afd
+b6155b0a0e5986a2f807a9f714ef929ea47701e5d0daefa3d103f782f8eb15f70f0a
+3afbda15830a0ef73cfb64eff2a2f7cba5f7a4a201f5e0ff0069e666efff0089199a
+de03f753f701155b0aff0069e666fb9d15210a0e59fb65eff3a2f807a9f77f9ea477
+01e5d0beefbfd103f766fb3115210a56f84215830a0ef73c86a2f7cba5f7a4a2c6eb
+01f5e0ff001fe666ebe8ebff001a199ade03f753f701155b0aff00dce666f91c15c3
+0afb5116c30a0e5986a2f807a9f700e6af9ea47712e5d0bce5bae641d113ff00f7ed
+f8d015729f77a4a4a09fa4a476a0721e727776721ffb1d16729f77a4a49f9fa4a477
+a072727776721e58fbbf15f8240a13fe80f8250a0ef73cfb5ba8d6abc5a2f7cba5f7
+a4a212f5e0fffff4e666c9ff0124199ade13fdf753f7011589df8abc8bdb9690e78d
+c78bc78bf7058a97858a468c46894089387b86458885858b80918508bc8ca88fbe8b
+bd8ba987bd8a91918b968591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde9b
+90d18e91918b9685915a8a6d87588b598b6e8f598c85858b809185d1889b868d3808
+8d458b618b4d8485fb098a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e91918b
+968591085a8a6d87588b598b708f598c85858b809185d18899868d388d388d5a8b38
+8b38895d89380889387d86458885858b809185ff002c8000ff0000e666a7ff000366
+67b6ff0000999908ffffd86666ffffa1199a9185059b90958c9e8b0813fba2957d76
+71767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f82
+8b828a838908ff0018999aff0041cccd05ff0026199affffff199aff001a999988ff
+002acccdffffff199a91918b96859108458e7d9089de080e59fb5ca8d6abc6a2f807
+a9f77f9ea47712e5d082c9f72ad113fd80f7092b15a2957d7671767d6d1f778b808f
+7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0018
+e666ff0042cccd05ff001ab334ffffff199aff000f4ccc88ff0022199affffff199a
+91918b9685910813fe805b8ffffffa3333ff0003199afffffccccdff004ee66689bd
+8bf70b8b8b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff0001
+33346e088d598b528959fffffce666ffffb2199afffffa199afffffce66659868685
+8b809085b38c9c8fb18bb28b9d87b48a90918b968691085690fffff8199aff000319
+9afffffce666ff004de66689bd8bc18dbdff0002199abffffffce666ba75a87ba06d
+976a8b5c8b507e514a888784828b98088b8b8cf7648dbdff00028000c9ffffffe666
+fffff8e668ff0001999aff002319988b92888d828b7381497f658889838d869185bd
+88ff00084ccd90ff0002b3333b088d4f8bfbf4894ffffffd66663cfffff6999a8854
+8785858b809185ff00208000ff0000cccdff0014b333ff0002e666ff001db3338c08
+ffffd8199affffa04ccd9185059b90958c9e8b080ef73cfb6ec4f730a2f7cba5f7a4
+a201f5e0ff001ee666a6f76ca6ff002a199ade03f753f701155b0aff0039e666fb48
+15f7770a0e59fb78c4f73aa2f807a9f77f9ea47712e5d07ca6f753d15ea613fa80f7
+3f3a15f70d0a7df7f615f8240a13fd00f8250a0efb96fb58c089c2e0a2f8f5a212f7
+02daff004a6666a613bcff00d86666fb2315bf0a137cc00a13bcc10affffe7999af7
+90155c0a0efbbafb58c089c2e0a2f7f99da877f725ef12dbef40d0d6a613bc80f75e
+fb2315bf0a137c80c00a13bc80c10a133e80fb0ef97a15840aebfc7e15133d80850a
+0efb9686a2f8f5a2c6eb01ff00096666ebff0004999adaff00096666eb03ff00eb80
+00ff0379e66815ffffa0999affffb44ccc0581fffff81998fffffe6666fffffb999c
+8bfffff9cccc8b84ff0004b333fffff9ccccff0006e6678bff0006e6668bff000933
+33ff00029998ff00103333ff0007e66808ff006ee666ff0033199805fffff63334ff
+0012ccd0fffff0199aff000f4cccffffe9e666ff000bb33408ffffdae666ffff7b19
+9815c30afb5116c30aff00b6999afd1c155c0a0efbba86a2f7f99da877f712eaff00
+018000761287e99ad082e913ecf745ff02e84ccc15f8260afb49ffff56b3341513f4
+a30a13f5f73d16e60a96fc661513e6850a0ee086a2f7bca7f7b1a2cf7601f5e103ff
+01c1e666f9c715d40afffefe199afd5a155e0a0e4486a2f809a2cd76f7579ea47701
+ff0053b333cf03f7eff8ff15f7700afb9efc9815870a0ee0fb64eff2a2f7bca7f7b1
+a201f5e1ff0040e666ef03ff0100e666fb3015210affffbf199af79d155e0a0e44fb
+64eff2a2f809a2f7849ea47701ff0053b333cfff00324ccdef03f75efb3015210afb
+0df79715870a0ee0fb17b7dda2f7bca7f7b1a201f5e103ff0182e666fb1715f7720a
+ff000a199af784155e0a0e44fb17b7dda2f809a2f7849ea47701ff0053b333cf03f7
+fcfb1715f7720a41f77e15870a0e5afb64eff2a279a8f8eaa212ff006d8000daff00
+0d199aefff00b6e666a2139eff00c9999afb3015410afffff5e666f79d15f7270a13
+def7280a13be600a13de610a13be620a0efbc8fb64eff2a2f9109ea47712ddefffff
+a9b333cf13f4e8f215f7290a13f880fb9715410a0e5afb64eff2a279a8f8eaa2c2bd
+12ff006d8000daff000d199aefff00b6e666a2139fff0155999af95515f8270adffd
+f115210afffff5e666f79d15f7270a13dff7280a13bf600a13df610a13bf620a0efb
+c8fb64eff2a2f9109ea477bdbd12ddefffffa9b333cf13fae8f215f7290a13fc80fb
+9715410af729fa0815f70b0a0e5afb17b7dda279a8f8eaa212ff006d8000daf7bca2
+139cff0156999afb1715f7720aff0035e666f78415f7270a13dcf7280a13bc600a13
+dc610a13bc620a0efbc8fb17b7dda2f9109ea47701ff005fb333cf03e8f215880af7
+1afb7e15f7720a0e5a86a279a8f8eaa212ff006d8000daf7bca21338ff0110999a46
+15fffff53332ff00028000fffff58001ffffffcccdfffff54ccdfffffdb3336e5d5d
+556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008
+999aff0008199a90920867b35fc06eba08ffffaee666f74615f7270a13b8f7280a13
+78600a13b8610a1378620a0efbc886a2f9109ea47701ff005fb333cf03e8f215880a
+c3fb4015f8230a0ef79a86a2f8f5a2cf7601ff01f5999af9c715fb1035057e828986
+8b848b839184948b948b978ea09408ff008ffffec505fffff34cd0ff00154cccffff
+eb4cccff00116668ffffe36666ff000d4ccc08ff0095999afd6015630a0ef76686a2
+f7f3bd619ce17612e8d2f753d2f755d2139ef829f8ff15f7590afb75fbc61513de89
+0a13bef8280a0ef79a86a2f8f5a2f766f301ff015c999af303ff015c999afa2415f7
+0e0aff012e999afdbd15630a0ef76686a2f7f3bd619cf72def12e8d2f746ef34d2f7
+55d2139df7eaf8eb15840afb36fbb21513db890a13bbf8280a0ef79afb64eff2a2f8
+f5a201ff014d999aef03ff014d999afb3015210aff013d999af79715630a0ef766fb
+64eff2a2f7f3bd619c12e8d2f744ef36d2f755d213cdf7e8fb3015410afb34f86915
+13eb890a13dbf8280a0ef71c86a2f8f5a2f766f301ff006a8000b4ff00938000f3ff
+009c8000b203f7bbfa2415f70e0aff01038000fc1715640a0e6786a2f7fb9c7cb3f7
+14ef12ecd1d2efabd2139ef782f8eb15840a4cfb9615f40a13def50a13bef60a0ef7
+1cfb64eff2a2f8f5a201ff006a8000b4ff008f8000efff00a48000b203f7b7fb3015
+210aff01078000f93d15640a0e67fb64eff2a2f7fb9c7cb312ecd1bbefc2d213cef7
+6bfb3015410a63f88515f40a13eef50a13def60a0ef71cfb17b7dda2f8f5a201ff00
+6a8000b4f82cb203f850fb1715f7720aff013b8000f92415640a0e67fb17b7dda2f7
+fb9c7cb312ecd1f75fd213ccf7fbfb1715f7720aa0f86c15f40a13ecf50a13dcf60a
+0ef71c86a2f8f5a201ff006a8000b4f82cb203f7fa4615f8220aff00c48000f8e615
+640a0e6786a2f7fb9c7cb312ecd1f75fd21398f7b14615f8220afb02f82e15f40a13
+d8f50a13b8f60a0ef71a81a3f900a3ff00213334ff003a4cccfffffdccccff003c80
+0012afe5ff0062cccdff0016e666ff00be6667ff0016e666f700e513efff018e3334
+ff02ed800015f7680a13df7aff000f6664ffffed4ccca1ffffe680008bffffdb8000
+8bffffec6667ffffd5199cfffff4199affffbf1998ff00051999fffff96668ff0008
+6667fffffee664ff00096666ff00023334ff00088001ff00244cccff00088000ff00
+108000ff001619988bff000e80008bff0010199afffff73334ff000f4ccefffff3e6
+680813eff76a0affffb8ccccffff8c800015650af7e0fbc515660affffca9998ff01
+f9cccc15ffffa08002ffffb466680581fffff81998fffffe8000fffffb999c8bffff
+f9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff00
+029998ff00103334ff0007e66808ff006eccccff0033199805fffff63334ff0012cc
+d0fffff03334ff000f3330ffffe9e664ff000bb334080e3c81a2f813a2c0c089c212
+b3d7f77fa67fd713ecf7c4f8a115bf0a13dcc00a13ecc10afb9cfbde15f7000a13ca
+f7010af750f75d158e0af705ff01344ccc15ffffc5ccccffff974ccc05fffff9b334
+fffff4b334fffffd8000fffffc80008bfffff6199c8bfffff9ccccff00056666ffff
+faccccff000566668bff000566688bff00061998ff00038000ff000b8000ff000d33
+3408ff0058999aff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ff
+ffec3334ff0000ccccfffffb199a8bfffffc19988bfffffb8000ffffff3334fffffd
+b334ffffff1998080ef71a81a3f900a3ff00213334ff003a4cccfffff28000e7ffff
+af4cccff003c800012afe5ffffda8000e7ff00224ccdff0016e666ff00be6667ff00
+16e666ff002f8000e7ffffea8000e513d1c0ff01f28000f9a215f8290a13d380fc2e
+16f8290a13e180ff012bb334ffffdf800015f7680a13c980f7690a13e180f76a0aff
+ffc2ccccffff8c80001513c5a0650af7e0fbc515660a0e3c81a2f813a2c0c089c2c4
+ea12b3d785e9d6e975a67fd713e880f7c4f8a115bf0a13d880c00a13e880c10a13cc
+40fb9cfbde15f7020af750f75d158e0a13ca00fb0af7b215e60a13c900f73d16e60a
+0ef71a81a3f900a3dabd01afe5f84fe503ff01b7ccccf97515f7670aff004d800024
+15650af7e0fbc515660afffdca6668ff01dc199815ffffe5b334fffff5ccd0ffffed
+e666fffff23330fffff1e666fffff0666808ff0076999affffc8800005ff00103333
+fffff81998ff000ab333fffffd6668ff000633348bff000633338bff00054ccdff00
+0633348b928bff0006333488ff00054cccfffff7800092080e3c81a2f813a2e6bd01
+b3d7f78ed703ff00d5e666ff02c84ccc15fffffce667ff0000e668fffffb4ccdff00
+00ccccfffffc33338bffffe5cccd8bffffee6666fffff11998fffff9cccdfffffab3
+3408fffffe6666fffff64cccff0057cccdffffa0199c05ff000c4ccdfffff2ccccff
+00056667fffffb9998ff000499988bff000633348bff00056666ff00054cd08bff00
+0466648bff00063334ffffff3334ff00061998fffffc3332ff0008ccd008ff004833
+34ffffa4999815f70b0a3ffbcf158d0af750f75d158e0a0ef71a81a3f900a3ff003c
+800076ff00278000bd01afe5f84fe503ff010bccccf97515ff000b199aff00094cce
+a09791fffffc999896fffff780001fffff40ccce06fffff6b335fffff69999777f84
+ff0003666780ff0007b3331fff00f980002415650af7e0fbc515660affff2f999aff
+01dbe66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c8bff
+fff9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff
+00029998ff00103334ff0007e66808ff006ee666ff0033199805fffff63334ff0012
+ccd0fffff0199aff000f4cccffffe9e666ff000bb334080e3c81a2f813a2e6bd01b3
+d7f78ed703f7a5ff02d14ccc15ffffc5cccdffff974ccc05fffff9b334fffff4b334
+fffffd8000fffffc80008bfffff6199c8bfffff9ccccff00056666fffffaccccff00
+0566678bff000566668bff0006199aff00038000ff000b8000ff000d333408ff0058
+9999ff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ffffec3334ff
+0000ccccfffffb199a8bfffffc19988bfffffb8000ffffff3334fffffdb334ffffff
+199808ceffff2cb33415f70b0a3ffbcf158d0af750f75d158e0a0e6b86a2f7a1a37c
+9ff7cfa3ca7612f700daf77be3139ef7edf9c715bd0a13befb32fc9f1513de670a8d
+f7b315f7a10a13bef7a20a0e46fb8aa0f76ba2f8009c82adc87612ddcff778d713ce
+f7cdf8ff15e40afb26fbb71513def82a0a83a2158f0a13ee900a13de910a0e6b86a2
+f7a1a37c9ff7cfa3f761f312f700daa7f3eee3139ff76bfa2415f7170a13bf6ffcfc
+1513df670a8df7b315f7a10a13bff7a20a0e46fb8aa0f76ba2f8009c82adf714ef12
+ddcfcfefc7d713cff76ef8eb15840a58fba31513dff82a0a83a2158f0a13ef900a13
+df910a0ecb81a07ba2f7a1a3f7d4a3e6f312f700dab1f3e4e3133ff775f9b215f717
+0a65fc8d15f72e0a13bff72f0a137f6b0a8df7b615680a0efb6086a2f7f3bd619cf7
+2def12f0d17def1394f731f8eb15840a13d853fbb3158d588bffff95800089ffffcd
+8000fffffce666ffffb1199afffff8199afffffde666508685858b809185a98db88e
+a98ba88bbe88ac8991918b968591084891fffff8199aff0001199afffffce666ff00
+4ee66689ff003280008cff004b80008c9eff00014ccda4ff000bb333a6959cff0009
+199aff000f8000ff0017e666ff00238000968b0813d4928b93fffffe80008ffffff8
+8000927e98799f8b08a2a19fa39d80a75c1fffffdbe6668bffffda199a6b6b5bffff
+f98000fffff64cccfffffe8000ff000db3348b908baa8aa98991fffffeb333ff0003
+ccccfffffd4ccdff00023334838b0813b8930a0ecbfb64efeda07ba2f7a1a3f7d4a3
+12f700dac4efd5e3139ff788fb3015410a52f85515f72e0a13dff72f0a13bf6b0a8d
+f7b615680a0efb60fb64eff2a2f7f3bd619c12d7ef40d113c8d7fb3015410a13e4a4
+f86815920a13d4930a0ecbfb64efeda07ba2f7a1a3f7d4a3bdbd12f700dac4efd5e3
+139f80f818f95515f70b0adbfdf115210a52f85515f72e0a13df80f72f0a13bf806b
+0a8df7b615680a0efb60fb64eff2a2f7f3bd619cf70bbd12d7ef40d113c8f7bdf895
+15f70b0a13cc8efd3115410a13eaa4f86815920a13da930a0ecbfb17b7d8a07ba2f7
+a1a3f7d4a312f700daf77be3139ef80afb1715f7720a9df83c15f72e0a13def72f0a
+13be6b0a8df7b615680a0efb60fb17b7dda2f7f3bd619c12f0d113c8f792fb1715f7
+720abff84f15f7300a13e8f7310a13d8f7320a0e3f81a5f8fea3e3f312a6ff001680
+00ff00018000ff00456666ff0035999af3dfdd55ff0016800013fcf742f9b215f717
+0aff00dcb334fb3b15f7330a13fef7340a13fdf7350a0efb4f81a19476f821a1f714
+ef12b99e85cbafef90d161a0133200f733f8eb15840a137b00fb05fc6d15940a13b7
+00950a13b680960a13bb00970a0e3ffb64efeda5f8fea312a6ff00168000ff000180
+00ff00456666ff0039999aefdfdd55ff0016800013fcf746fb3015410aff00d8b334
+f9a715f7330a13fef7340a13fdf7350a0efb4ffb64efeda19476f821a112b99e85cb
+9cefa3d161a013bb00b9f71215940a13d700950a13d680960a13db00970ae9fbae15
+210a0e3f81a5f8fea3acef12a6ff00168000ff00018000ff00456666ffffcd999aef
+f754dd55ff0016800013f4d1f97b15840af79bd715bd0aff003db334fb5015ffffc6
+333293ff0002199a9effff9e4ccd8b0813faffff9ab3333248211f8bffffa2e666ff
+0042e666ffffd2ccceff004d8000ffffde4ccccaffffe4999aff0067999affffea33
+328bffff8d33348b3affffd0cccc57ffffb033348bffffa280008b45ff0034800075
+ff00638000fffff3b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f
+71975a08ca8ba774ff0058b3338bff002d80018bb6ff000b199aff0022ccccff0015
+b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a8bff005f3334
+4ab8ffffb7e666ff001eccccffffcf199aff0014ccccffff766666ff002633348bed
+8bc3ff0034999acdff003ae6668b0813f9f7350a0efb4f81a19476f821a1c876ff00
+574ccce512b99efffff36666e5ffffac999acbf721d161a0137c80b9f71215940a13
+b980950a13b940960a13bc80970af756f88115b10a133a00ffff446666ffffe61998
+15ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff0018
+33349eff00159998ffffed199aff00193334ffffe7b3331effffea6667ffffe6cccc
+ffffea6668ffffea66641f0e3f81a5f8fea3c776f78ff312a6ff00168000ff000180
+00ff00456666ff0043999af3d1dd55ff0016800013fe00f750fa7c15f7170aa6fbc3
+15f7100aff00b3b3344915f7330a13ff00f7340a13fe80f7350a0efb4f81a19476f8
+21a1ff00cb4ccce512b99e85cbff001b6666e5ff0017999ad161a0137b00b9f71215
+940a13b700950a13b680960a13bb00970af70ff80915f7110affffed6666ff00aa19
+9815ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff00
+1833349eff00159998ffffed199aff00193334ffffe7b333ffffea6667ffffe6cccc
+ffffea6668ffffea66641e0e3ffb64efeda5f8fea3f75ef312a6ff00168000ff0001
+8000ff00456666ff0039999aef2df3d5dd55ff0016800013fd00f74cfa2415f7170a
+13fe0085fec015410aff00d8b334f9a715f7330a13fc80f7340a13fc40f7350a0efb
+4ffb64efeda19476f821a1f714ef12b99e85cb9cefa3d161a0139900f71ef8eb1584
+0a13bd802ffc6d15940a13db80950a13db40960a13dd80970ae9fbae15210a0eaf86
+a2f8eaa89677f774f3128ea3f779f32fdaf770a3139df794fa2415f7170a95fc0c15
+13dbf7630a13bbf7360a13dbf7370a13bbf7380a13dbf73b0a0efb9981b6f7efa8f7
+a1ef12dfef29d04bd013f0dff96e15840a66fbd515f73c0a13e4c30613e8980a13e4
+990a0eaffb64eff2a2f8eaa89677128ea3f773ef39daf770a313cdf78efb3015410a
+9bf9481513ebf7630a13dbf7360a13ebf7370a13dbf7380a13ebf73b0a0efb99fb64
+efedb6f7efa812e1d04bd065ef13e4f70efb3015410a40f8c915f73c0a13e8c30613
+f0980a13e8990a0eaffb17b7dda2f8eaa89677128ea3f785daf770a313cef821fb17
+15f7720ad5f92f15f7390a13eef73a0a13def7360a13eef7370a13def7380a13eef7
+3b0a0efb99fb17b7d8b6f7efa812e1d04bd013e0f799fb1715f7720a82f8b015f73c
+0a13e8c30613f0980a13e8990a0eaf86a2f8eaa89677128ea3f785daf770a3139cf7
+d24515f8220a57f8f215f7390a13dcf73a0a13bcf7360a13dcf7370a13bcf7380a13
+dcf73b0a0efb9981b6f7efa812e1d04bd013c0f7514615f8230afb22f87215f73c0a
+13d0c30613e0980a13d0990a0ef6fb34eac2aaf8f2a201efdaff001f8000e9d6e9ff
+00448000b103ff00d28000fb0515a30af73d16a30affff378000f812156c0a0e55fb
+34eac2ae8f9af7efa212dfd062e9d6e96ed013f4f704fb0515e60a13f2f73d16e60a
+37f215f7080a13f9f7090a0ef6fb58c089c2dbaaf8f2a212efdaff01178000a6ff00
+388000b113beff019b8000fb2315bf0a137ec00a13bec10affff178000f830156c0a
+0e55fb58c089c2dbae8f9af7efa212dfd0f755d053a613bdf7ccfb2315bf0a137dc0
+0a13bdc10afb07f71915f7080a133ef7090a0ef681aaf8f2a201efdaf7ffb103ff01
+7180004515f8220affff418000f7e7156c0a0e5581ae8f9af7efa201dfd0f755d003
+f7964615f8230a4ec6159a0a0ef681aaf8f2a2ff00123334ff003a4cccfffffdcccc
+ff003c800012efdaff0034b333ff0016e667ff00be6666a2d5b113efff0195199aff
+02d6800015ffffefe6668bfffff18000ff0007b334fffff26666ff000d33340813df
+7aff000f6664ffffed4ccea1ffffe680008bffffdb66668bffffec8000ffffd5199c
+fffff41999ffffbf1998ff0005199afffff96668ff00088000fffffee664ff00094c
+cdff00023334ff00088000ff00244cccff00088000ff00108000ff0016199a8bff00
+0e80008bff00101998fffff73334ff000f4ccefffff3e6680813efff0011e666ffff
+f09998ff0011ccccffffec3334ff0012b3348bff0027199a8bff0018b332ff002ae6
+64ff000a3334cdfffffae666ff00046668fffff76666ff00034cccfffff6b334ffff
+fee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b08ffff1de666fffe
+368000156c0aff019e9998ff023ce66815ffffa08002ffffb44ccc0581fffff81998
+fffffe6666fffffb999c8bfffff9cccc8b84ff0004b334fffff9ccccff0006e6668b
+ff0006e6668bff00093334ff00029998ff00103334ff0007e66808ff006ee664ff00
+33199805fffff63334ff0012ccd0fffff03334ff000f4cccffffe9e664ff000bb334
+080e5581ae8f9af7efa2dbc089c212dfd0f755d04ba613e4f7ccff02dc4ccc15ffff
+c5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc80008bfffff619
+9c8bfffff9ccccff00056666fffffaccccff000566678bff000566678bff00061998
+ff00038000ff000b8000ff000d333408ff0058999aff005fe664fffffdb334ff0009
+b33405ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8b08fffffc19
+988bfffffb8000ffffff3334fffffdb334ffffff19980813f583ffff46b33415bf0a
+13edc00a13f5c10a20fcc115f7080a13e6f73d0a13e5f73e0a13e6f73f0a0ef681aa
+f8f2a2ccde4cbd12efdaffffc78000ddf7c2ddffffd18000b113e2ff02238000f95f
+159ea19ba4a5769b7774797b711f6ea37f9c1efc148e1513c4a39c9fa0a1799e7472
+7b7776749c79a31f13d0ff01174ccc9c1596ff00096668a09791fffffc999896ffff
+f780001fffff40ccce06fffff6b333fffff69999777f84ff00034ccd80ff0007b333
+1f13c9ffffb6999afc6615f706078bbd8bb58dc88dde9c90d18e91918b9685915a8a
+ffffe1b33387ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b80918508d1
+889b868d388d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d
+8cc79291918b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee668
+8f598c85858b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da808
+5aba85dc8bcc080e5581ae8f9af7efa2ebbdd8ea12dfd076e9d6e95ad013fa00f718
+f94015e60a13f900f73d16e60abffb4215f70b0acffc9c15f7080a13fc80f7090a0e
+f7059476f913a2bdc089c212ff01c24ccca613e8ff01934cccf98515bf0a13d87799
+759f6d8bffffd500018b74647d509185958a968d95ac959aff0019ffff8b9c8b9e83
+9d800813e8c10aff0042b334fb12156d0a0e359576ff0191b334a2ff00504cccc089
+c212f808a613e8f7d9f8b715bf0a13d8c00a13e8c10a80fb30159b0a0ef705fb64ef
+f70976f913a201ff01184cccef03ff01184cccfb3015210aff00bdb334f9a3156d0a
+0e35fb64eff70a76ff0191b334a201f74aef03f74afb3015210af718f8b7159b0a0e
+f8389476f913a2d07601ff01626666f9c615ffffddcccefffff46668ffffe88000ff
+fff04cccffffedb332ffffee4ccc08f72e4c05a0829988938b938b92928b938b9287
+91809308ff016f199afb3d156e0a0ef72c9576f826a201f7d4f8ff15760afb582515
+9c0a0ef8389476f913a2cf7601ff01f16666f9c715fb1035057e8289868b848b8391
+84948b948b978ea09408ff00900002c505fffff34cccff00154cccffffeb4cccff00
+116668ffffe36666ff000d4ccc08ff0159199afb92156e0a0ef72c9576f826a2cd76
+01f836f8ff15f7700afb74fb78159c0a0ef8389476f913a2c8ea01ff01366666e9d6
+ff005e000203ff01366666f98a15a30af73d1671a076ff001a0002a5a0a0a5a576a1
+71ffffe5fffe7675711eff016b199afb55156e0a0ef72c9576f826a2f704ea01f782
+e9d6e903f782f8d115a30af73d16a30afb69fb4a159c0a0ef8389476f913a2f766f3
+01ff01af6666ff0068000203ff01af6666fa24156fa373a7a7ff00180002a3a7a7ff
+ffe7fffea36f6f73736f1eff019b199afbef156e0a0ef72c9576f826a2f719ef01f7
+d2ef03f7d2f8eb15f70f0afb10fb64159c0a0ef838fb64eff70976f913a201ff0191
+6666ef03ff01916666fb3015210aff01b9199af965156e0a0ef72cfb64eff70a76f8
+26a201f7d2ef03f7d2fb3015210afb10f8b7159c0a0ef70886a2f8f5a2ebf312ff01
+268000dfffffad4cccf313e8ff0127ccccf9b215f7170aff00ffb334fd4c15fb2df7
+660513f0f82b0a0e3f86a2f809a2f719ef01f75eef03f75ef8eb15f70f0a71fb9615
+9d0a0ef70886a2f8f5a2c8eb12ff00c7cccdff005ffffffffffeb334dfff000a4ccc
+eb13e4ff0184ccccf98b15c20a13f4ffff43000116ff0000000171a175a58b08ff00
+19ffffa1a1a5a575a1ffffe600011f717575711fff015fb334fd2515fb2df7660513
+ecf82b0a0e3f86a2f809a2f704ea01f70ee9d6e903f744f7e9159d0afb07f7d115a3
+0af73d16a30a0ebc86a2f8f5a2ebf312ff010e3334f3ffff9bcccce013f0ff010e33
+34f9b215f7170a13e8ff0058ccccfd4515f7410a0e49fb85cff8c8a2f719ef01f76e
+ef03f76ef8eb15f70f0a6afd98159e0a0eb08ba7f8dcac967712c29ff870a01398ff
+014d6666f9c615d50aff00d3999afdcb15f7420a13b8f7430a13d8720a13b8730a13
+d8740a0efb2b8ba1f7fea4957712c0a01390f77df90e15e50a13b0fb34fb6b159f0a
+13d0a00a0eb0fb64eff700a7f8dcac967712c29fff00a96666efff00ce999aa013ce
+ff00f46666fb3015410aff012c999af72b15f7420a13def7430a13ee720a13de730a
+13ee740a0efb2bfb64eff700a1f7fea4957712c0a0dfef13ccf732fb3015410a13dc
+36f8d3159f0a13eca00a0eb0fb17b7e2a7f8dcac967712c29ff870a013ccff018b66
+66fb1715f7720aff0162999af71215f7420a13dcf7430a13ec720a13dc730a13ec74
+0a0efb2bfb17b7e2a1f7fea4957712c0a013c8f7bdfb1715f7720a13d878f8ba159f
+0a13e8a00a0e59fb17b7dda2f807a9f77f9ea47701e5d0f75fd103f7fcfb1715f772
+0a8df82815830a0efb9981b6f7efa8f769ea1295e979d04bd09ee913f295f93115e6
+0af73d16a30afb18fb9815f73c0a13e6c30613ea980a13e6990a0ef72c9576f826a2
+dfabf5ab01f7a4b3ebb303f7fcf91015c60a335615e80a3dfb54159c0a0e49fb85cf
+f8c8a2deabf5ab01f749b3ebb303f7a1f90f15c60a335615e80a8ffd87159e0a0e20
+81b363a9f80da1efacf70aab1295af87d459d8f72cd0133c80b9f8f715f78b0af78b
+fc2315e20a137a80e30ad8fb261513b980780a137a80790a0efba286a2f805a1f79d
+a3d7ef12ead0a7ef78d813fcf754f9ce15840a6ffd661589bd8bf7ad8dbdff000199
+9aff00289998ff0001b333afff00064ccdff001d6668ff000b6666ff00351998ff00
+163333ff001de668ff0020cccd8b0813faa28b917b8f789071987ea58ba48b93958b
+9b8b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccd
+ffffcd999808ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b41fffffcb3
+3386ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff0000b333ff
+0000199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdff
+fffb66668b808b8b8cfb6c8959fffffccccdffffb1199afffff83333fffffbe66658
+8885858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b4
+8a0891918b9685914a8efffff93333ff0004199afffffccccdff004ee666080efba2
+86a2f805a1f79da301ff00603333ff00424ccdff006e8000d803f78cf82215ffffaa
+999affffcde66605ff00003333ff003e999aff00006666ff0036e666ff0000cccdff
+0013999aff0001999aff00289998ff0001b333afff00064ccdff001d6668ff000b66
+66ff00351998ff00163333ff001de668ff0020cccd8ba28b917b8f789071987ea58b
+a48b93958b9b088b9b819b7d97789c7596648bffffd94ccd8bffffd0e666ffffea66
+68ffffe0cccdffffcd9998ffffeb999a6afffff26666ffffd2b3348bffffc44ccc8b
+41fffffcb33386ffffe74ccd8b7a8bfffffbb33388ffffff4ccd85088a82058b87ff
+0000b333ff0000199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff
+00024ccdfffffb66668b808b8bff0000199affffe68000ff00001999ffffdc800008
+ffffaacccd599778ff00493333ff002a999a05ff0000199949ffffffe666ffffac33
+33fffffecccdffffe33333fffffccccdffffb1199afffff83333fffffbe666588885
+858b809185b38cff0013199a8fff0025e6668bff002a999a8bff0019666687b48a91
+918b968591084a8efffff93333ff0004199afffffccccdff004ee666fffffee666ff
+001bb333ffffff8000ff0062999aff0000199aff005ae66708ff00618000ff0038cc
+cc050efba286a2f805a1f4a4f71ba301ead0f701d803f798f8af15ffffa2cccd06ff
+000166679e8dff00116668ff00036667ff000f9998ff000b6666ff00351998ff0016
+3333ff001de668ff0020cccd8ba28b917b8f789071987ea58ba48b93958b9b8b9b81
+9b7d9708789c7596648bffffd94ccd8bffffd0e666ffffea6668ffffe0cccdffffcd
+9998fffff1e666ffffe93334fffff5199affffe33334fffffab333ffffdc999808ff
+ffce4ccd067a8685831f8607868c8a8f1eff003fe66606ffffff6667fffff7b334ff
+ffffb333fffff74ccc8b828b41fffffcb33386ffffe74ccd8b7a8bfffffbb33388ff
+ffff4ccd85088a82058b87ff0000b333ff0000199aff00034ccdffffffe66608ac8a
+05ff000cb333ffffff999aff00024ccdfffffb66668b808b8b8cfb6c8959fffffccc
+cdffffb1199afffff83333fffffbe666588885858b809185b38cff0013199a8fff00
+25e6668bff002a999a8bff0019666687b48a0891918b9685914a8efffff93333ff00
+04199afffffccccdff004ee66689bd8bf7ad8dbdff0000666695ff00006667ff0009
+999aff00008000ff0009666608ff0050b3330694978a941f96078f898d861e0ef72d
+81a378a2f7c7aaf7a9a412f3daf815e113bcf74bf7011589bd8bf7038dbdff0002b3
+33ff00436666ff0008cccdff00384cceff0012b333ff002d4cccff00274ccdff005f
+1998ff0048e666ff0030e668ff0050999a8bb58bc3718b7d8b742efb2e5b47087307
+928c908b918b08f732a8fb0567fb084b5d591f488b67b577edfffff64cccff000280
+00ff00006668fffffe8000fffff64ccc8708137c88408f6c90700813bcb882ff000f
+800078ff004280008b08f718d8e8edea33db2687898d8f1f8b8d8b8d8d8e08f727f7
+808ba305519e4b954d8bffff6db3348bffffaae666ffffc71998ffffd23333ffffa7
+e668ffffe08000ffffc34cccfffff16666ffffb4999aff00034ccdffffae199a8d59
+8b35895908137cfffffcb333ffffad199afffff24ccdfffffae666458885858b8091
+85bc8cff001c66668fff0031999a8bff003133338bff001acccd87bd8a91918b9685
+9108458efffff24ccdff0005199afffffcb333ff0052e666080e5d81aef910b012b0
+dc7eaff792df13e8f70af758158bf704a7bcf706c3ea4cb32d8b5208337635fb061e
+fb0a73ead71f3a811542b5fb0ff73ff6f70eb5f7461e8bd759f1fb09cb0813d8fb09
+cb55af8bb18bc4c699b88bb08ba97d9f6fa16d9b7c958b998bb1948baa8b977b9d6a
+a1086ba05d964f8b4b8b3f758b358b53b564df4dfb27565cfb008b35080ef71efb64
+eff2a2f778abf8107701ff0124999aef03ff0124999afb3015210affffdfe666f846
+15480afbb8fb6515490a0e20fb64efedb363a9f80da112b5d459d8a2efa8d01393f7
+39fb3015410af714f80415e20a13bbe30ad8fb261513d7780a13bb790a0ef71e86a2
+f778abf81077f70fa301ff011b999ab8cbbf03ff01bc999af96d159b7cb34b556f69
+767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d
+83838282fffff46666fffff46668fffff38000fffff29998ffffff3334ffffe14ccc
+fffffc9998ffffff3334fffffce668ffffff8000fffffd4ccc8b08fb7cfcb605ffff
+e63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08ca28f
+b28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006b333
+ff00103333ff0029b33308c7f72f0590989194a38b08ff00d080008bff003f8000fb
+4c05ff000e199862ffffd78002ff00006666ffffd06666fffffc999a85858b809185
+b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff00038000ffffdeccccff
+0003800079be08fb65f8da05fffffbe666fffffd8000fffffb3334fffffd800086ff
+fffd8000ff0005999aff000fb334ff000c4cccff00096664ff000e199aff00096668
+9c969b968ba108ffff47e666fc5715480a0e2081b363a9f80da1f767a612b5d459d8
+85b69aa795bd97d01333c0f7aef8eb15f82c0a96fc1715e20a1379c0e30ad8fb2615
+13b5c0780a1379c0790a0ef71e86a2f778abf81077d47601ff01eab334ff035f6668
+15ffffa93332ffffbb333005fffffd3334fffffdccd0fffffde666fffffe1998ffff
+fe8000fffffe3334fffffa3334ff00064cccfffffa4cccff00068000fffffa999aff
+00068000fffff0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68
+666f8d828e859485b19cab9cb0a608ac72ad79b279ff0009199aff0003ccccff0004
+1998ff0008199cff0002ccceff00091998ffffe9999aff0010ccccffffe93332ff00
+138000ffffeab334ff0015199cff00046666ff00018000ff00054cccff00024cccff
+00068000ff0003333408ff0064ccccff002e666405fffff7199cff0011199cfffff1
+9998ff000dccccffffebe668ff000ab33408ffff19ccccfffdb6999815480afbb8fb
+6515490a0e2081b363a9f80da112b5d459d8f72cd01324ff017e999aff029fcccc15
+ffffcb199affffa0cccc05fffffa4cccfffff5b334fffffdb334fffffce6688b828b
+fffffa6664ff0004e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00
+033334ff000a80009708ff00508000ff00573334fffffde666ff0008cccc05ffffef
+e666ff00119998ffffee199aff0000ccd0fffffb80008b08fffffc80008bfffffbcc
+ceffffff3330fffffde666ffffff333408ffff686666fffff0333415e50ac9fc5015
+e20a1374e30ad8fb261513ac780a1374790a0ef71e86a2f778abf81077d47601ff00
+97b333ff035ecccc15ffffe7fffffffff6b334ffffef999afffff38000fffff33333
+fffff1cccc08ff006bcccdffffcd999c05ff000eb334fffff8ccccff0009cccdffff
+fd9998ff000599998bff0005999a8bff0004e666ff0005999c8bff000666648bff00
+05999cfffffd3334ff0004ccccfffff84cccff0006666408ff00903334ff000c6668
+15be0affff87e666fca615480afbb8fb6515490a0e2081b363a9f80da112b5d459d8
+f72cd01334ff003dccccff029fcccc15fffffd3334ff0000ccccfffffbccccff0000
+ccd0fffffc80008bffffe833348bffffefe666fffff26664fffffa6667fffffb3334
+08fffffe999afffff73334ff004fccccffffa8cccc05ff000b33327fff0004e66787
+ff000433338bff0005999a8bff0004e666ff0004cccc8b8f8bff0005999cffffff4c
+cdff00059998fffffc80009308ff00783333e015e50ac9fc5015e20a1374e30ad8fb
+261513ac780a1374790a0ef71e86a2f778abf81077d476f745a301ff018f999ab8a1
+a59bff0033fffe03ff02309998f9d7159b7cb3ffffc00002556f69767f927c9f9b96
+94971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d838382827f7f7e
+7d8b6a08a5068da49a97ff0011fffe979c969b968ba108ffff4c00027015be0affff
+87e666fca615480afbb8fb6515490a0e2081b363a9f80da1f7c8a612b5d459d8f70f
+b67dd063a795bd1332c0f82ff94c15f82c0afb486315e50ac9fc5015e20a137800e3
+0ad8fb261513b500780a137900790a0ef71e86a2f778abf81077ff0082e668ff0032
+4cccfffffe1998ff00344ccc1213e0ff017d999af9a215be0affff86e666fc8c1548
+0afbb8fb6515490a13f0f7b7ff02ee333415ffffeb199a8bffffed4cccff0006b334
+ffffee6666ff000b66640813e875ff000d4cccffffe7ccce9e6a8bffffd0b3338bff
+ffe6b333ffffdae668fffff0999a53ff00069999fffffa4ccc96ffffff199cff000c
+199aff0001e66496ff001f4cccff000affffff000e3334ff001c999a8bff0012b334
+8bff0014e666fffff88000ff0013ccccfffff580000813f0ff0017199afffff2b334
+ff0017199affffeee668ff001833348bff003299988bff001fe668ff00251998ff00
+0d3334c4fffff96664ff0003cccc80ff0002ccccfffff3e668ffffff199c08fffff0
+9998ffffd81998fffff3e668fffff66668ffffe7cccc8b080e2081b363a9f80da1f7
+8ac089c212b5d459d8f72cd06aa6133080f7aff96215bf0a132880c00a133080c10a
+574d15e50ac9fc5015e20a136400e30ad8fb261513a300780a136500790a0ef71efb
+64eff2a2f778abf81077d37601ff0124999aef03ff017d999af9bb15be0a32fe5715
+210affffdfe666f84615480afbb8fb6515490a0e20fb64efedb363a9f80da112b5d4
+59d8a2efa8d01393f783f90d15e50a41fda915210af714f80415e20a13bbe30ad8fb
+261513d7780a13bb790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f76ca703
+ff01aeccccff037ae66815ffffa08000ffffb44ccc0581fffff81998fffffe6668ff
+fffb999c8bfffff9cccc8b84ff0004b332fffff9ccccff0006e6668bff0006e6688b
+ff00093332ff00029998ff00103334ff0007e66808ff006ee666ff0033199805ffff
+f63334ff0012ccd0fffff03332ff000f4cccffffe9e666ff000bb33408ff0043ccce
+ffffa9199815f70c0affff11e666fca215480afbb8fb6515490a0e2081b363a9f80d
+a1e6c4ff0039800076ff003580007712b5d459d844a6f758d05aa6133c00f785ff02
+e84ccc15f8260a133ca0fb23ffffa8b33415f70d0af757fc5115e20a137e00e30ad8
+fb261513bd40780a137e40790a0ef71e86a2f778abf81077c0bf01ff00e2999aa7f7
+6ca703ff0124999aff0378199815ffffe5b332fffff5ccd0ffffedcccefffff23330
+fffff1e666fffff0666808ff0076999affffc8800005ff00103332fffff81998ff00
+0ab334fffffd6668ff000633348bff000633328bff00056666ff000633348b928bff
+00063334fffffce668ff00054cccfffff780009208ff0070e666fffff5cccc15f70c
+0affff11e666fca215480afbb8fb6515490a0e2081b363a9f80da1e6c4e57712b5d4
+59d844a6f758d05aa6133800ff00b1e666ff02f14ccc15fffffce667ff0000e668ff
+fffb4ccdff0000ccccfffffc33338bffffe5cccd8bffffee6666fffff11998fffff9
+cccdfffffab33408fffffe6666fffff64cccff0057cccdffffa0199c05ff000c4ccd
+fffff2ccccff00056666fffffb9998ff0004999a8bff000633338bff00056666ff00
+054cd08bff000466648bff00063334ffffff3334ff00061998fffffc3333ff0008cc
+d008133940ffff7a3333ff000e999815f70d0af757fc5115e20a137c00e30ad8fb26
+1513ba80780a137c80790a0ef71e86a2f778abf81077c0bff712a301ff00e2999aa7
+a7b8a1a59bbfa6a703ff01bb999af9d915f82d0ac26a15f70c0affff11e666fca215
+480afbb8fb6515490a0e2081b363a9f80da1e6c4e577e1a612b5d459d844a6aeb69a
+a795bd9ad05aa6133c70f7abf94815f82c0a133cb4fb496815f70d0af757fc5115e2
+0a137e30e30ad8fb261513bd38780a137e38790a0ef71e86a2f778abf81077adbfff
+002ce668ff00324cccfffffe1998ff00344ccc12ff01d6999aa713f6ff01f2999af9
+a5156f06846457755a8b568b5ca183b208fffff5666606ff0009b333ff00161998ff
+000b8001ff000a3334ff001833328bff0012b3348bff0014e666fffff88000ff0013
+ccccfffff580000813faff0017199afffff2b334ff0017199affffeee668ff001833
+348bff003299988bff001fe668ff00251998ff000d3334c4fffff96664ff0003cccc
+80ff0002ccccfffff3e668ffffff199cfffff09998ffffd81998fffff3e668fffff6
+6668ffffe7cccc8bffffeb199a8bffffed4cccff0006b334ffffee6666ff000b6664
+0813f675ff000d4cccffffe7ccce9e6a8bffffd0b3338bffffe6b333ffffdae668ff
+fff0999a53ff0004999987ff0006e667fffffe6668ff0007cccc8bff000b4ccdffff
+c26664ff00370001ffffdab334ff0043e6668b08cd8bcbb591d208ffff11e666fc8f
+15480afbb8fb6515490a0e2081b363a9f80da1e6c4e577a6c089c212b5d459d844a6
+f758d05aa678a6133c48f7a7f96115bf0a133a48c00a133c48c10afb454f15707f05
+9936be59d18b08133850c68bcbbc97e10870970581515d6b578b558b60b080c008f7
+57fc5115e20a137900e30ad8fb261513b8a0780a137920790a0ef71efb64eff2a2f7
+78abf81077c0bf01ff00e9999aa7aaefe0a703ff01f9999af9b815f70c0afb69fe54
+15210affffdfe666f84615480afbb8fb6515490a0e20fb64efedb363a9f80da1c8c4
+12b5d459d84ca6c6efa8d062a61399a0f5f90715f70d0ac6fda315210af714f80415
+e20a13bc80e30ad8fb261513dac0780a13bcc0790a0e91fb64eff2a279a5f7c2a7f7
+9aa679a28d7712f5deff00246666efff0046999aa1d7a387a31391c0ff00e16666fb
+3015410aff004e999af89515d10a1399e0d20a1393d0540a1399d0550a13d5d0560a
+13b1d0570a13d1d0580a13b9e0d30a0efb12fb64efedb0f75fa8f71da201aed7ceef
+b6d703f746fb3015210a4bf833157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa6
+79a28d77f733a312f5deff00156666b8a1a59bbfff0018999aa1d7a387a31323f0ff
+01736666f98b15f82e0affffbc999afc2615d10a1333f8d20a1327f4540a1333f455
+0a13abf4560a1363f4570a13a3f4580a1373f8d30a0efb1281b0f75fa8f71da2f767
+a601aed7b4b69aa795bda2d703f7bef8eb15f7820afb4cfbe8157f0ad2fb4315800a
+0e9186a279a5f7c2a7f79aa679a28d77a4c089c212f5def763a1ffffef6666a6ff00
+41999aa387a31322a0ff01626666f95a15bf0a1321a0c00a1322a0c10affffcd999a
+fbf515d10a133090d20a1324c8540a1330c8550a13a8c8560a1360c8570a13a0c858
+0a1370d0d30a0efb1281b0f75fa8f71da2d6c089c212aed7f766d74ea613f5f7b5f8
+b715bf0a13edc00a13f5c10afb43fbb415f00a13e6f10ad2fb4315800a0e9186a279
+a5f7c2a7f79aa679a28d77da7612f5def763a1d7a387a3132380ff01a38000ff035d
+666815ffffa93334ffffbb333005fffffa3332fffffb6668fffffd6666fffffcb334
+fffffecccefffffcccccfffff7ccccff0008b33483ff0008ccccfffff8800094ffff
+f0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d828e85
+9485b19cab9cb0a608ac72ad79b279ff0009199aff0003ccccff0004199aff000819
+9cff0002ccccff00091998ffffeae666ff000fccccffffea999aff00124cccffffeb
+ccceff0013999cff00058000ff0001333492ff0002b330ff0009e666ff0004ccd008
+ff0064ccccff002e666405fffff7199aff0011199cfffff1999aff000dccccffffeb
+e666ff000ab33408ffff8c8000fffe07999815d10a1333c0d20a1327a0540a1333a0
+550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71da201
+aed7f766d703ff018a999aff029fcccc15f82f0affff646666fffff0333415e50afb
+11fc21157f0ad2fb4315800a0e9186a279a5f7c2a7f79aa679a28d77da7612f700da
+f765a1d7a387a3132380ff00588000ff035ecccc1573fffff6b334ffffef999affff
+f38000fffff33332fffff1cccc08ff006bcccdffffcd999c05ff000eb333fffff8cc
+ccff0009cccdfffffd9998ff000599998bff0005999a8bff0004e666ff0005999c8b
+ff000666648bff0005999cfffffd3333ff0004ccccfffff84ccdff0006666408ff00
+7e3333ff000c666815d50aff0004999afc5715d10a1333c0d20a1327a0540a1333a0
+550a13aba0560a1363a0570a13a3a0580a1373c0d30a0efb1281b0f75fa8f71da201
+aed7f766d703ff0054cccdff029fcccc15fffffd3334ff0000ccccfffffbcccdff00
+00ccd0fffffc80008bffffe833338bffffefe666fffff26664fffffa6667fffffb33
+3408fffffe999afffff73334ff004fccccffffa8cccc05ff0006b332fffff8ccccff
+00048000fffffbb334ff00036667fffffdb334fffff71999fffff5b334fffff74ccd
+fffff63330fffff7cccdfffff6e668918292859489b2a1aca8ababa96cae6fb173ff
+00096666ff0001e666ff0008999aff0008199a90920867b35fc06ebafffff53333ff
+00028000fffff58000ffffffccccfffff54ccdfffffdb334ffffed3333ffffe24ccc
+ffffe63333ffffdee668ffffe64ccdffffe18000ffffff6667ff000280008aff0002
+b334fffffeb333ff0003199808ffffec3333fbcc157f0ad2fb4315800a0e9186a279
+a5f7c2a7f79aa679a28d77da76f734a312f5deff00716666b8a1a5ff0000999aa1ff
+fff96666bfff001e999aa387a31323e0ff00f36666f9bc15d50aff003c999afc5715
+d10a1333e4d20a1327f2540a1333f2550a13abf2560a1363f2570a13a3f2580a1373
+f4d30a1323e8ff009f6666f86115f82e0a0efb1281b0f75fa8f71da2f7c8a612aed7
+f73fb687d752a795bd13fd80f840f94c159c7bb454616a68757f937c9e949895961e
+8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e758a69
+08a70613fa008da5959c9c9b089b9b9a9b8b9f08fb516315fffff53333ff00028000
+fffff58000ffffffccccfffff54ccdfffffdb3346e5d5d556763918292859489b2a1
+aca8abab0813fc00a96cae6fb173ff00096666ff0001e666ff0008999aff0008199a
+909267b35fc06eba08fb11fc2115f00a13fa00f10a13f880d2fb431568676a71548b
+698b599f6dbc78aa80bb8bc208f7a08f0513fa0096ff0000333392ff0006cccd8b95
+08db6ae3fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d08bd38b
+c4acb1bd0888958590808c080e9186a279a5f7c2a7f79aa679a28d77ba76ff006de6
+68ff00324cccfffffe1998ff00344ccc12f5def763a1d7a387a3132260ff013f6666
+f99c15d50afffff0999afc3715d10a133270d20a132668540a133268550a13aa6856
+0a136268570a13a268580a137270d30a132360ff00444cccff01cd333415ffffeb19
+9a8bffffed4cceff0006b334ffffee6666ff000b6664081322e075ff000d4cccffff
+e7cccc9e6a8bffffd0b3348bffffe6b333ffffdae668fffff0999953ff0006999aff
+fffa4ccc96ffffff199cff000c199aff0001e66496ff001f4ccc96ff000e3334ff00
+1c99998bff0012b3338bff0014e666fffff88000ff0013cccefffff5800008132360
+ff0017199afffff2b334ff00171998ffffeee668ff001833348bff0032999a8bff00
+1fe666ff00251998ff000d3334c4fffff96666ff0003cccc80ff0002ccccfffff3e6
+66ffffff199c08fffff0999affffd81998fffff3e666fffff66668ffffe7cccc8b08
+0efb1281b0f75fa8f71da2f786c089c212aed7f766d75ca613f5f7c3f95e15bf0a13
+edc00a13f5c10a4b5115e50afb11fc2115f00a13e6f10ad2fb4315800a0e91fb64ef
+f2a279a5f7c2a7f79aa679a28d77db7612f5deff00246666efff0046999aa1d7a387
+a31391e0ff012e6666f9bd15d50a3efe5915210aff004e999af89515d10a1399f0d2
+0a1393e8540a1399e8550a13d5e8560a13b1e8570a13d1e8580a13b9f0d30a0efb12
+fb64efedb0f75fa8f71da201aed7ceefb6d703f788f90e15e50a49fdaa15210a4bf8
+33157f0ad2fb4315800a0efb9686a2f8f5a2f721a312ff004f6666b8fffff1999ada
+ffffd56666a59bbf13f6ff00f06666f98b15f82e0affffcf999afd1e1513e85c0a0e
+fbba86a2f7f99da877f778a612c9b68bd055a795bd13fbf764f8eb15f82c0a6bfc7e
+1513f4850a0efb96fb64eff2a2f8f5a212ff00656666efffffa4999ada13f0ff0065
+6666fb3015410aff005a999af79d1513e85c0a0efbbafb64eff2a2f7f99da877f725
+ef12dbef2eef39d013fae2fb3015410a13fc84f98715840aebfc7e1513f9850a0ef7
+1afb64efeda3f900a301afe5ff00b08000efff00a68000e503ff012e8000fb301521
+0aff00188000f9aa15650af7e0fbc515660a0e3cfb64efeda2f813a201b3d7d9efd3
+d703f756fb3015210afb2ef7f3158d0af750f75d158e0a0ef71a81a3f900a3c076f7
+11a301afe5ff00868000b8a1a59bbfff00938000e503ff01a58000f9a315f82d0aff
+ffa18000fb2915650af7e0fbc515660a0e3c81a2f813a2f767a601b3d7bab69aa795
+bdc4d703f7c9f8eb15f7820afba1fc28158d0af750f75d158e0a0ef71a81a3f900a3
+c07601afe5f84fe503ff01de999aff0358666815ffffa93332ffffbb333005fffffa
+199afffffb4cd0fffffd4ccefffffcb330fffffee666fffffcb33481ff000a4cccff
+fff66666ff000a999c82ff000accccfffff0999aff0007b334fffff66666ff0000b3
+347dfffff799986c696a68666f8d828e859485b19cab9cb0a608ac72ad79b279ff00
+09199aff0003ccccff0004199aff0008199cff0002ccccff00091998ffffecb334ff
+000e8000ffffec6666ff00108000ffffed6666ff0011b334ff00056666ff00013334
+92ff0002b330ff0009ccceff0004ccd008ff0064ccccff002e666405fffff71998ff
+0011199cfffff1999cff000dccccffffebe666ff000ab33408ffff686666ffff2199
+9815650af7e0fbc515660a0e3c81a2f813a201b3d7f78ed703ff0192999aff029fcc
+cc15f82f0affff6f6666fffff0333415e50afb6efc61158d0af750f75d158e0a0ef7
+1a81a3f900a3c07601afe5f84fe503ff0087999aff0360cccc15ffffe81999fffff6
+b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c05
+ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff00
+04e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004ccccfffff84c
+cdff0006666408ff00853333ff000a666815d50affffe58000fb4215650af7e0fbc5
+15660a0e3c81a2f813a201b3d7f78ed703ff0054cccdff029fcccc15fffffd3334ff
+0000ccccfffffbcccdff0000ccd0fffffc80008bffffe833338bffffefe666fffff2
+6664fffffa6667fffffb333408fffffe999afffff73334ff004fccccffffa8cccc05
+ff000b33327fff0004e66787ff000433338bff0005999a8bff0004e666ff0004cccc
+8b8f8bff0005999cffffff4ccdff00059998fffffc80009308ff007c3333e015e50a
+fb6efc61158d0af750f75d158e0a0ef71a81a3f900a3c076f735a312afe5ff012080
+00b8a1a59bbffffff98000e513ff00ff023f8000f9c715f82e0afb728015d50affff
+e58000fb421513fe80650af7e0fbc515660a0e3c81a2f813a2f7c8a612b3d7f746b6
+9aa77dd757bd13fdf84cf94c15f82c0afb4a6315e50afb6efc6115f7000a13faf701
+0af750f75d158e0a0ef71a81a3f900a3ff006de668ff00324cccfffffe1998ff0034
+4ccc12afe5f84fe513ccff01618000f9a015d50affffe58000fb2615650af7e0fbc5
+15660a13ecfffe7c6666ff01e9333415ffffeb199a8bffffed4ccdff0006b334ffff
+ee6666ff000b66640813dc75ff000d4cccffffe7cccd9e6a8bffffd0b3338bffffe6
+b333ffffdae668fffff0999a53ff0006999afffffa4ccc96ffffff199cff000c1999
+ff0001e66496ff001f4ccc96ff000e3334ff001c999a8bff0012b3338bff0014e666
+fffff88000ff0013cccdfffff580000813ecff0017199afffff2b334ff00171999ff
+ffeee668ff001833348bff0032999a8bff001fe666ff00251998ff000d3332c4ffff
+f96668ff0003cccc80ff0002ccccfffff3e666ffffff199c08fffff0999affffd819
+98fffff3e666fffff66668ffffe7cccc8b080e3c81a2f813a2f78bc089c212b3d7f7
+8aa674d713ecf7cff96315bf0a13dcc00a13ecc10a524c15e50afb6efc6115f7000a
+13caf7010af750f75d158e0a0ef71afb64efeda3f900a3c17601afe5ff00b08000ef
+ff00a68000e503ff01628000f9bd15d50a57fe5915210aff00188000f9aa15650af7
+e0fbc515660a0e3cfb64efeda2f813a201b3d7d9efd3d703f799f90f15e50a48fdab
+15210afb2ef7f3158d0af750f75d158e0a0ef71a81a3f900a3afe112afe5ff01b080
+00b0ffffe58000e513f0ff01768000f9c815bd0affffd08000fb4e1513f4650af7e0
+fbc515f7440a13f8f7450a0e4f81a2f813a2b3db12b3d7f78ed76bab13f0f7a9f927
+15e40afb81fc6415f7000a13f8f8300a13f4f7470af750f75d1513f88e0a0ef71a81
+a3f900a3afe112afe5ff01b08000b0ffffe58000e513f0ff00ee8000f9d915d00aff
+ffdf8000fb0b1513f4650af7e0fbc515f7440a13f8f7450a0e4f81a2f813a2b3db12
+b3d7f78ed76bab13f0f761f92715760afb7ffbe615f7000a13f8f8300a13f4f7470a
+f750f75d1513f88e0a0ef71a81a3f900a3afe196a312afe5ff00808000b8a1a59bbf
+f723b0ffffe58000e513ff00ff019f8000f98b15f82e0affffa78000fb111513ff40
+650af7e0fbc515f7440a13ff80f7450a0e4f81a2f813a2b3dbe6a612b3d7bdb69aa7
+95bdc1d76bab13ff00f7ccf8eb15f82c0afba4fc2815f7000a13ff80f8300a13ff40
+f7470af750f75d1513ff808e0a0ef71a81a3f900a391c074e14ac212afe5ff00ad80
+00a6f77cb0ffffe58000e513e600ff00fc8000f96115bf0a13ce00c00a13e600c10a
+ff004a8000381513c680650af7e0fbc515f7440a13d700f7450a0e4f81a2f813a2b3
+dbffffcc3334ff003a4cccfffffdccccff003c800012b3d7ffffee8000ff00184ccd
+ff00c99999ff00184cceff00114cccd76bab13d300ff011a199aff0221800015ffff
+eee6668bfffff0b333ff0007b334fffff1999aff000d33340813cb0079ff000f6664
+ffffec3333a1708bffffd94ccd8bffffeb4ccdffffd5199cfffff36666ffffbf1998
+ff00056666fffff9666694fffffee666ff0009e667ff0002333494ff00244ccc94ff
+00108000ff001766668bff000f4ccd8bff0011199afffff73334ff00103333fffff3
+e6680813d300ff0012e666fffff09998ff0012e667ffffec3334ff0013cccc8bff00
+2966668bff001a199aff002ae664ff000acccecdfffffa9998ff0004666882ff0003
+4cccfffff6199afffffee66808fffff36666ffffd1ccccfffff6199a80ffffec3334
+8b0813e580ffff0de666fffea1800015f7460a13e540f7470af750f75d1513c5808e
+0a0ef71afb64efeda3f900a3afe112afe5ff00b08000eff730b0ffffe58000e513fc
+ff012e8000fb3015410aff00188000f9aa1513fd650af7e0fbc515f7440a13fef745
+0a0e4ffb64efeda2f813a2b3db12b3d7d7efd5d76bab13fcf754fb3015410afb2cf7
+f315f7000a13fef8300a13fdf7470af750f75d1513fe8e0a0ef6fb64efedaaf8f2a2
+01efdaff00718000efff00958000b103ff01248000fb3015210affff8e8000f83d15
+6c0a0e55fb64efedae8f9af7efa201dfd0b6efbdd003f758fb3015210a8cf726159a
+0a0ef681aaf8f2a2f721a301efdaff005d8000b8a1a59bbfff006c8000b103ff01b1
+8000f98b15f82d0affff018000fc7e156c0a0e5581ae8f9af7efa2f76ca601dfd0a2
+b69aa795bda3d003f7d6f8eb15f7820afb11fcf5159a0a0ebc86a2f8f5a2cf7601f7
+a6e003ff011a3334f9c515ffffddccccfffff46668ffffe88000fffff04cccffffed
+b333ffffee4ccc08ff009a00014c05a0829988938b938b92928b938b928791809308
+ffffd3ccccfd0415700a0e49fb85cff8c8a201f777f8ff15760afb04fd2e159e0a0e
+bcfb64eff2a2f8f5a212ff010e3334efffff9fcccce013f0ff010e3334fb3015410a
+13e8ff0058ccccf79d15f7410a0e49fb85cf68eff887a212f7d0ef1370f7d0fb3015
+410a13b0fb177a159e0a0ebc86a2f8f5a2f721a312ff010a3334b8ffffdacccce0ff
+ffe63334a59bbf13f6ff01ab3334f98b15f82e0a13eaffffbbccccfd1e15f7410a0e
+49fb85cff8c8a2f76ca601f757b69aa795bd03f7e9f8eb15f7820afb30fd98159e0a
+0ebc86a2f8f5a2bac089c212f7a6e0ff00523334a613ecff018a3334f98215bf0a13
+dc7799759f6d8bffffd4ffff8b74647d509185958a968d95ac959aff001a00018b9c
+8b9e839d800813ecc10affffdcccccfd1515700a0e49fb85cff8c8a2dbc089c212f8
+19a613e8f7eaf8b715bf0a13d8c00a13e8c10afb31fd64159e0a0ef76f8ba86e9ef8
+f49d12f5daf745daf7be9f137cf74df8db15a7999bb41ecf06b29a7d6d1ffc9b0768
+8281611e4406637c99a91f13bcf8366915fb07066e799eaa1ff88e078ba7ff000f66
+6698ff0027999a8e08a58d0590ff000066688eff000299988b90088b94898d058b2e
+86671efb91065a8b6e8f5a8c0889898b82058b868ffffffd4ccc8fffffffb33408a6
+8905ff0024e666fffffd4cccff0011199afffff4b3348b6d08fc9e07137c8b6fffff
+f2999a7effffd76666880870890587ffffffb33388fffffd4ccd8b86088b7f8d8905
+bc8ca88fbc8b0813bcf85e068b8bd887bd8a90c396c996bf08779005764364463f8b
+080e7086a2f882adf7009ea47701ff0069b333cfff00ba0001cf03f7f9f215893c82
+885188fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb4
+8bb48ba387b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a51
+8e828e89da08ffffff199aff00256666fffffe999aff005c66678bff00604ccd8bff
+00404cccff00008000ff0042199aff00009998ff0034800008ff004b3334adffffb5
+333406ff00004cccff00166668ff00004cccff00124cccff00003334ff000c4cccff
+00013334c9ff0002cccca78b8b8b92878d828b7381497f658889838a869185bd88ff
+0007b334fffffb4cccff00034cccffffb9b33408ff00006666fffff81998ff00004c
+cefffff5ccd0ff00004cccfffff4199808ffff49333306ff00004cccff00166668ff
+00004ccdff00124cccff00003333ff000c4cccff00013333c9ff0002cccda78b8b8b
+92878d828b7381497f658889838a869185bd88ff0007b333fffffb4cccff00034ccd
+ffffb9b33408ff00006666fffff81998ff00004ccdfffff5ccd0ff00004ccdfffff4
+1998084c69ff003fb33306ff0000b332ffffd46666ff00004ccdffffc7ccce8bffff
+c6e6668bffff989999fffffe6667ffff953333fffffee666ffffd6199a893c828851
+88fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb4
+8ba387b48a08ff0005e666ff0005e666ff0000333496fffff9e666ff0006199a518e
+828e89daffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff0040
+4cccff00008000ff0042199aff0000999aff0034800008ff00b7e66706ff0000b332
+ffffd46666ff00004cceffffc7ccce8bffffc6e6668bffff989999fffffe6666ffff
+953333fffffee666ffffd6199a080e7c81b6f7e0bcf7887701b8e2f7b6df03f7d8f8
+3215945a05c3ac4143fb21485e3b582fc8f73b1f8bf72bf3f71ef72fdc087ba605fb
+3a4bfb38fb418bfb3a08fb4bed39f70cf738daeff720e645e8fb041e0e4281b5f80d
+77f7c97701b5dcf794d903f7eef82d15667205ba69a23e8b4608fb1f426a595c35c0
+f7271e8bf74bf0f735f720f0087ba005fb2b3cfb2ffb3e8bfb7308fb3fff006d6666
+4aff005b999af717deff0060e666ff007c199a1e8bf553c554ad080e9e7fb6f8dfa7
+01f1be03ff010c4cccff00a7e66615ffffceccce7fffff8ae666ffffdf999a8bffff
+b680008b63ae75aa8bdd8bbccbb6f70108f731f829059ab39597b98b088f928d911f
+8b9e898c058b5b8a6b61498c8b1e8a8a8b7705878d888f1ea806a698887d1f8b8589
+83867f08fb16fbeefb32f7ee05879689948b9208959291a01eb106908d8e901f8b9e
+898c058b3b8a59624c8c8b1e8a8a8b7705878f88911ebc8b9f64947708f757fc3b15
+6c40656d6c8b788b80968b9b8baecba4cd9d080e57fb7da7f728a5f845a801b2ad03
+d4fb4315bee6ceb81e612b057f6f7073738b087b7c969e1ff719a515b7ed05daf745
+b1f0bef699a89eb2b18b08928f8e901f8b9e888d058b62896f68508d8b1e89888b78
+05889087901e8f06a19f86761f8b858983868208fb03fb92fb02f79605879489938b
+91089b9891a990918e901e8b9d898e056689688b5c8b086e5e8d8b1f89898b770587
+8f88911ead8b96809b6508f712fbb905937794708b818b86897388860842fb003f4b
+66a772ac1fb38bb2a1a6c9080e9081c650acf800abef9ce5d312abdcf727b7133ef7
+88f94e15f7120af726fc9815f7a40a137ef7a50a13bef7a60a4ee0157b6405137ef7
+a70a0e9081c650acf800abf09ce1d712abdcc4bd133ef77af94f15f8310af734fc99
+15f7a40a137ef7a50a13bef7a60a4ee0157b6405137ef7a70a0e9081c650acf800ab
+ef9ce5d312abdcbcb7133ef726f94e15f7120af7056315f8320af717fc7015f7a40a
+137ef7a50a13bef7a60a4ee0157b6405137ef7a70a0e9081c650acf800abed9ce1d7
+12abdc7bbd133af731f94c15f8310af56315f8320af713fc6e15f8330a137cf8340a
+13bcf7a60a4ee0157b6405137cf7a70a0e9081c650acf800abef9ce5d312abdcd4b7
+137ef81af74a15f7af0a13bef7a60a4ee0157b6405137ef7a70afb3cf86615f7120a
+f73d9115f8350a0e9081c650acf800abed9ce1d712abdc82bd133af738f94c15f831
+0af7428f15f8360abffc9a15f8330a137cf8340a13bcf7a60a4ee0157b6405137cf7
+a70a0e9081c650acf800abc99ce5d3a2b98bba12abdcf721b7c0a11379c0f81af74a
+15f7af0a13b9c0f7a60a4ee0157b64051379c0f7a70a27f84015f7120a133dc0cdd0
+15133bc0f8370a133dc0a18605133bc0f8380a133dc0f8390a133bc0f83a0a0e9081
+c650acf800abcc9ce1d79eb98bba12abdccdbdf70ca1133dc0f7c2f96c15133bc0f8
+370a133dc0a18605133bc0f8380a133dc0f8390a133bc0f83a0a4c4a15f76f0af72b
+fc7515f7a40a1379c0f7a50a13b9c0f7a60a4ee0157b64051379c0f7a70a0ef71e86
+a2f778abf79f9ceb7799d312ff000c999ab713ecfffffc999af96815f7120aff0107
+e666fc5215480afbb8fb6515c40a13f4c50a0ef71e86a2f778abf7a09cea7796d712
+ffffbc999abd13ecfffff8999af96915f83b0aff010be666fc5315480afbb8fb6515
+c40a13f4c50a0ef74386a2f778abf79c9cee7796d312adb713ec9df96515f7120af7
+056315f8320aff00ab8000fc2715f83c0afbb8fb6515c7f72f0590989194a38b08ff
+00d080008bff003f8000fb4c05ff000e199862ffffd78000ff00006666ffffd06668
+fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334
+ff00038000ffffdeccccff0003800079be0813f4c50a0ef72886a2f778abf79a9cf0
+7790d71258bd13ec94f96315f8310af56315f8320aff00a08000fc2515480afbb8fb
+6515c40a13f4c50a0ef72186a2f778abf79b9cef7795d312b4b713eca4f96415f712
+0af73d9115f8350aff00498000fc5415480afbb8fb6515c40a13f4c50a0ef72186a2
+f778abf79b9cef7791d71278bd13ecb4f96415f8310af7428f15f8360aff00348000
+fc5215480afbb8fb6515c40a13f4c50a0ef72e86a2f778abf72a9ce5d3a2b97977b1
+ba12e3b7c0a113f180d3f8f315f7120a13f980cdd01513f380f8370a13f980a18605
+13f380f8380a13f980f8390a13f380f83a0aff008f8000fc2215f83c0afbb8fb6515
+c40a13f580c50a0ef73086a2f778abf72d9ce1d79eb97a77b0ba12b2bdf70ca113f9
+80f736f9371513f380f8370a13f980a1860513f380f8380a13f980f8390a13f380f8
+3a0a4c4a15f76f0aff00b78000fbe015f83c0afbb8fb6515c40a13f580c50a0efb38
+81b0f744a5f73ba2ef9ce5d312b5d058c9edb713f9f760f94e15f7120a13fd2efcdb
+15f7a80a13fbf7a90a13fdf7aa0a0efb3881b0f744a5f73ba2f09ce1d712b5d058c9
+a9bd13f9f768f94f15f8310a13fd26fcdc15f7a80a13fbf7a90a13fdf7aa0a0efb38
+81b0f744a5f73ba2ec9ce5d312b5d058c99eb713f9f711f94b15f7120af7056315f8
+320a13fdfb13fcb015f7a80a13fbf7a90a13fdf7aa0a0efb3881b0f744a5f73ba2eb
+9ce1d712b5d058c957bd13f9f716f94a15f8310af56315f8320a13fcfb11fcaf15f7
+a80a13faf7a90a13fcf7aa0a0efb3881b0f744a5f73ba2ec9ce5d312b5d058c99db7
+13f9f710f94b15f7120af73d9115f8350a13fdfb4afcde15f7a80a13fbf7a90a13fd
+f7aa0a0efb3881b0f744a5f73ba2ec9ce1d712b5d058c95bbd13f9f71af94b15f831
+0af7428f15f8360a13fcfb59fcdc15f7a80a13faf7a90a13fcf7aa0a0ef70386a279
+a5f7c2a7f7519cc3a679a28d779fd312adb7f717def763a1d7a387a31331e09df968
+15f7120af819fc0315d10a1338f0d20a1332e8540a1338e8550a13b4e8560a1370e8
+570a13b0e8580a1378f0d30a0ee086a279a5f7c2a7f7519cc3a679a28d779bd71256
+bdf74edef763a1d7a387a31331e092f96815f8310af80afc0315d10a1338f0d20a13
+32e8540a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0ef7a386a2
+79a5f7c2a7f74d9cc7a679a28d779bd312aab7f7badef763a1d7a387a31331e09af9
+6415f83d0a1334e0f83e0af7056315f8320af84bfbd715d10a1338f0d20a1332e854
+0a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0ef79286a279a5f7
+c2a7f74b9cc9a679a28d7795d71258bdf7f5def763a1d7a387a31331e094f9621513
+38e0657565681f8b719a3fe687088f9c05619379b08ba2081331e0f83f0af56315f8
+320af847fbd515d10a1338f0d20a1332e8540a1338e8550a13b4e8560a1370e8570a
+13b0e8580a1378f0d30a0ef79486a279a5f7c2a7f74b9cc9a679a28d7799d312a9b7
+f7acdef763a1d7a387a31339e099f96215f7120af73d9115f8350af805fc0315fb09
+8a058b8b8af71c8edd8ca3979fa38b08f730061332f0d68b9a56a14697898d8d9590
+86b47cee89938b8d8a8c888b081338e8550a13b4e8560a1370e8570a13b0e8580a13
+78f0d30a0ef78a86a279a5f7c2a7f74d9cc7a679a28d7797d71252bdf7f2def763a1
+d7a387a31331e08ef96415f8310af7428f15f8360af800fc0315d10a1338f0d20a13
+32e8540a1338e8550a13b4e8560a1370e8570a13b0e8580a1378f0d30a0e669676f8
+0fbd619cf7109ce5d312e6d2f734b777d2139ef7c6f94d15f7120afb22fbfd15f7ab
+0a13bdf7ac0a13ddf7ad0a0e669676f80fbd619cf7129ce1d712e6d2cfbdcdd2139f
+f7b6f94f15f8310afb12fbff15f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd61
+9cf70f9ce5d312e6d2dbb7c7d2139ff776f94c15f7120af7056315f8320afb43fbd4
+15f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619cf70c9ce1d712e6d297bdf7
+0ed2139ff77ef94915f8310af56315f8320afb44fbd115f7ab0a13bff7ac0a13dff7
+ad0a0e669676f80fbd619cf70e9ce5d312e6d2e9b7b9d2139ff784f94b15f7120af7
+3d9115f8350afb89fc0115f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619cf7
+0c9ce1d712e6d299bdf70cd2139ff780f94915f8310af7428f15f8360afb8afbfd15
+f7ab0a13bff7ac0a13dff7ad0a0e669676f80fbd619ce29ce5d3a2b98bba12e6d2f7
+35b776d28ea11399a0f7c7f92815f7120a139d20cdd015139b20f8370a139d20a186
+05139b20f8380a139d20f8390a139b20f83a0afb65fc1d15f7ab0a13b960f7ac0a13
+d960f8400a13d9a0f8410a0e669676f80fbd619ce59ce1d79eb98bba12e6d2e0bdbc
+d28ba1139da0f806f96c15139ba0f8370a139da0a18605139ba0f8380a139da0f839
+0a139ba0f83a0a4c4a15f76f0afb23fbdb15f7ab0a13b9c0f7ac0a13d9c0f7ad0a0e
+f79786a2f7cba5f7529ccca28dd301aeb7f709e0f7ebde039ef96815f7120af79afc
+fb155b0a0ef79786a2f7cba5f7539ccba28ad7125fbdf752e0f7ebde13ef9bf96915
+f8310af79dfcfc15f8420a13f7f8430a0ef83e86a2f7cba5f74c9cd2a287d312acb7
+f7b2e0f7ebde13ef9cf96215f7120af7056315f8320af7d2fccd15f8420a13f7f843
+0a0ef83486a2f7cba5f74c9cd2a283d7125abdf7f4e0f7ebde13ef96f96215f8310a
+f56315f8320af7d5fccd15f8420a13f7f8430a0ef73c86a2f7cba5f74c9cd2a287d3
+12ffff8ee666b7ff01a9199ae0f7ebde13efffff7ee666f96215f7120af73d9115f8
+350aff0191199afcfb15f8420a13f7f8430a0ef73c86a2f7cba5f74f9ccfa286d712
+ffff43e666bdff01e4199ae0f7ebde13efffff7fe666f96515f8440a13f7f8450a13
+eff83f0af7428f15f8360aff0181199afcfc15f8420a13f78dde9b90d18e91918b96
+85910813eff8460a13f7f8470a13eff8460a13f7f8480a0ef81d86a2f7cba5d39ce5
+d3a0a276b98bba12f4b7c0a1f5e0f7ebde13f1e0e4f8f215f7120a13f5e0cdd01513
+f3e0f8370a13f5e0a1860513f3e0f8380a13f5e0f8390a13f3e0f83a0af798fcca15
+f8420a13f9e0f8430a0ef82786a2f7cba5d89ce1d79ba277b98bba12a3bdf70ca1f7
+10e0f7ebde13f5e0f727f9381513f3e0f8370a13f5e0a1860513f3e0f8380a13f5e0
+f8390a13f3e0f83a0a4c4a15f76f0af7e9fc8a15f8420a13f9e0f8430a0efbac81b8
+f80c77f70a9ce5d312ddd27eb713f4f710f944156d7d797b7b9075b49391837e1f8b
+74766661820813f8907a0513f4d193abc98baf08af75b0651e13f861fc1115f7990a
+0efbac81b8f80c77f70b9ce1d712d3bd63d213f8f718f94515f8310a13f459fc1215
+f7990a0efbac81b8f80c77f7129ce5d312c8b774d213f8b8f94c15f7120af7056315
+f8320a13f43ffbf115f7990a0efbac81b8f80c77f7109ce1d70181bdb5d203bdf94a
+15f76f0af56315f8320a41fbef15f7990a0efbac81b8f80c77f7119ce5d312c6b776
+d213f8b6f94b15f7120af73d9115f8350a13f4fb16fc1e15f7990a0efbac81b8f80c
+77f7119ce1d70182bdb4d203bef94b15f76f0af7428f15f8360afb23fc1c15f7990a
+0efbac81b8f80c77e49ce5d3a2b98bba12ddd27fb7c0a113f180f711f92715f7120a
+13f880cdd01513f480f8370a13f880a1860513f480f8380a13f880f8390a13f480f8
+3a0a13f280fb01fc3915f7990a0efbac81b8f80c77e89ce1d79eb98bba12d0bd66d2
+e1a113fa80f754f96c1513f680f8370a13fa80a1860513f680f8380a13fa80f8390a
+13f680f83a0a4c4a15f76f0a13f1805cfbf815f7990a0efb4686a2f8a49ccba28ed3
+01a8b7f713da0398f96915f7120af7a1fcfc155c0a0efb5886a2f8a49ccba28ad712
+5abdf749da13dc96f96915f8310af791fcfc15f7f30a13ecf7b90a0e8186a2f89e9c
+d1a288d312a8b7f7bbda13dc98f96315f7120af7056315f8320af7d8fcce15f7f30a
+13ecf7b90a0e6586a2f89f9cd0a285d71251bdf7f0da13dc8df96415f8310af56315
+f8320af7cefccf15f7f30a13ecf7b90a0e6f86a2f8a09ccfa28ad3129eb7f7b3da13
+dc8ef96515f7120af73d9115f8350af798fcfe15f7f30a13ecf7b90a0e6e86a2f8a1
+9ccea287d71257bdf7f3da13dc93f96615f8310af7428f15f8360af78dfcfd15f7f3
+0a13ecf7b90a0e5586a2f8339ce5d39aa27cb98bba12e1b7c0a1f70bda13e380d1f8
+f815f7120a13eb80cdd01513e780f8370a13eb80a1860513e780f8380a13eb80f839
+0a13e780f83a0af7a2fcd015f7f30a13f380f7b90a0e6c86a2f8339ce1d79aa278b9
+8bba12a1bdf70ca1f719da13eb80f725f9391513e780f8370a13eb80a1860513e780
+f8380a13eb80f8390a13e780f83a0a4c4a15f76f0af7effc8b15f7f30a13f380f7b9
+0a0e3c81a2f813a2e59ce5d301b3d7f71bb7d2d703f77ff94415f7120afb57fc8115
+8d0af750f75d158e0a0e3c81a2f813a2e69ce1d701b3d7cebdf719d703f787f94515
+f76f0afb5ffc82158d0af750f75d158e0a0e3c81a2f813a2e49ce5d301b3d7c1b7f7
+2cd703f72ef94315f7120af7056315f8320afb77fc58158d0af750f75d158e0a0e3c
+81a2f813a2e49ce1d712b3d77cbdf76bd713f6f735f94315f8310af56315f8320a13
+fafb77fc5815f7020af750f75d158e0a0e3c81a2f813a2e19ce5d3917712b3d7c2b7
+f72bd713f7f72ff94015f7120a13eff73d9115f8490afbb0fc83158d0af750f75d15
+8e0a0e3c81a2f813a2e39ce1d78f7712b3d77cbdf76bd713f3f735f94215f8310a13
+e9f7428f15f84a0a13e5fbbbfc8315f7020af750f75d158e0a0ef74181a3f8a79cd3
+a385d312acb786e5f84fe513da9cf96815f7120a13e6f7ee3115db0af7e0fbc515f7
+930a0ef74e81a3f8a89cd2a382d71257bde2e5f84fe513de93f96915f8310a13eef8
+043015db0af7e0fbc515f7930a0ef7e181a3f8a19cd9a37fd312a1b7f73ae5f84fe5
+13de91f96215f7120af7056315f8320a13eef8285f15db0af7e0fbc515f84b0a0ef7
+e981a3f8a19cd9a37bd71254bdf789e5f84fe513de90f96215f8310af56315f8320a
+13eef8385f15db0af7e0fbc515f84b0a0ef7d081a3f8a39cd7a381d312aab7f720e5
+f84fe513de9af96415f7120af73d9115f8350a13eef7d62f15db0af7e0fbc515f84b
+0a0ef7be81a3f8a39cd7a37dd71257bdf75be5f84fe513de93f96415f8310af7428f
+15f8360a13eef7c63115db0af7e0fbc515f84b0a0e4481b1f7ef9ea777f69ce5d301
+e3d6edb7ddb203f789f94415f7120a39fc1115f7ae0a0e4481b1f7ef9ea777f7009c
+e1d701e3d6a9bdf724b203f791f94515f76f0a31fc1215f7ae0a0e4481b1f7ef9ea7
+77f59ce5d301e3d697b7f73cb203f733f94315f7120af7056315f8320afb01fbe815
+f7ae0a0e4481b1f7ef9ea777f59ce1d712e3d654bdf779b213fbf73cf94315f8310a
+f56315f8320a13fdfb03fbe815f7ae0a0e4481b1f7ef9ea777f29ce5d3917712e3d6
+9db7f736b213fb80f739f94015f7120a13f780f73d9115f8490afb3ffc1315f7ae0a
+0e4481b1f7ef9ea777f49ce1d78f7712e3d657bdf776b213f980f73ff94215f8310a
+13f480f7428f15f84a0a13f280fb4afc1315f7ae0a0e4481b1f7ef9ea777db9ce5d3
+a2b98bba12e3d6f6b7c0a189b213f980f792f92915f7120a13fdc0cdd01513fbc0f8
+370a13fdc0a1860513fbc0f8380a13fdc0f8390a13fbc0f83a0afb31fc3b15ba8fc8
+8b1e8f878e831e70816582498289858d848d85bf86957e8b5508fb1107fb05a140f7
+141e13f9a0e9e9ddf73af70765d04f7b7b7e7b1f8b75987d9e81a77caa7d8b2f082d
+5623333e85d1eb1e0e4481b1f7ef9ea777da9ce1d79eb98bba12e3d69fbdf70ca197
+b213fde0f7c6f9691513fbe0f8370a13fde0a1860513fbe0f8380a13fde0f8390a13
+fbe0f83a0a4c4a15f76f0a3bfbf515f7ae0a0ef72586a2f8a49ccba28ad7125fbdf8
+24e013dc9bf96915f8310af86ffcfc1588ff009eb334058bff0027ccccff0005b334
+99ff0006e666ff000c800008ff007fb332f77b0513eca7ff0032b334ad92ff002cb3
+34ff00044ccc0813dc91918b9585916d8a6388748b748b6a8e638c0813ec85858b81
+9185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff89199afb740582
+7afffff8e6668efffff733349b08ffff81ccccf77205ffffe7ccccff002a9998ff00
+0e3334ff00056668c38e91918b968591638a6587638b648b608f6d8c85858c809185
+b588ff001f199afffff76668ff00289999ffffbb999808ff00836667fb7105ff0011
+8000ffffe28000ff00066666ffffff80008b660888fb2a05fffffe66663afffff099
+9a843b8885858b809185bc8cff002466668fff0036999a8bff003633348bff0022cc
+cc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef7c486a2f89e9cd1
+a284d7125abdf8c8e013dc96f96315f8310af56315f8320af8a9fcce15f84c0a13ec
+a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a6388748b748b6a8e
+638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff89
+1998fb7405827afffff8e6688efffff733349b08ffff81ccccf77205ffffe7ccccff
+002a9998ff000e3334ff00056668c38e91918b968591638a6587638b648b608f6d8c
+85858c809185b588ff001f199afffff76668ff0028999affffbb999808ff00836664
+fb7105ff00118000ffffe28000ff00066668ffffff80008b660888fb2a05fffffe66
+683afffff09998843b8885858b809185bc8cff002466688fff003699988bff003633
+348bff0022cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef7c4
+86a2f8a09ccfa286d71259bdf8c9e013dc95f96515f8440a13ecf84d0a13dcf83f0a
+f7428f15f8360af866fcfc15f84c0a13eca7ff0032b334ad92ff002cb334ff00044c
+cc91918b9585910813dc6d8a6388748b748b6a8e638c0813ec85858b819185ff002c
+4ccc88a4fffffa1998ffffe9b334ffffd5e66808ffff891998fb7405827afffff8e6
+688efffff733349b08ffff81ccccf77205ffffe7ccccff002a9998ff000e3334ff00
+056668c38e91918b9685910813dc638a6587638b0813ec648b608f6d8c85858c8091
+85b588ff001f199afffff76668ff0028999affffbb999808ff00836664fb7105ff00
+118000ffffe28000ff00066668ffffff80008b660888fb2a05fffffe66683afffff0
+9998843b8885858b809185bc8cff002466688fff003699988bff003633348bff0022
+cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc080ef78b86a2f8329c
+e1d79ba277b98bba12a5bdf70ca1f7b6e013eb80f729f9381513e780f8370a13eb80
+a1860513e780f8380a13eb80f8390a13e780f83a0a4c4a15f76f0af88ffc8a15f84c
+0a13f380a7ff0032b334ad92ff002cb334ff00044ccc91918b9585916d8a6388748b
+748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffffe9b334ffffd5e668
+08ffff891998fb7405827afffff8e6688efffff733349b08ffff81ccccf77205ffff
+e7ccccff002a9998ff000e3334ff00056668c38e91918b968591638a6587638b648b
+608f6d8c85858c809185b588ff001f199afffff76668ff0028999affffbb999808ff
+00836666fb7105ff00118000ffffe28000ff00066666ffffff80008b660888fb2a05
+fffffe66663afffff0999a843b8885858b809185bc8cff002466668fff0036999a8b
+ff003633348bff0022cccc87bd8a91918b9685913b8efffff0800092fffffe8000dc
+080eec81aff82077f70f9ce5d301aed4f740cb98b7f70bd403f7e9f95415f7120af7
+90fca015f7b30a0eec81aff82077f7009ce1d712aed4f740cb54bdf749d413fbf7f1
+f94515f8310af788fc9115f84e0a13fdf84f0a0eec81aff82077f59ce5d312aed4f7
+3cb763cbf744d413fdf798f94315f7120af7056315f8320af770fc6715f84e0a13fb
+f84f0a0eec81aff82077f59ce1d701aed4e4bdaccbf744d403f795f94315f76f0af5
+6315f8320af77afc6715f7b30a0eec81aff82077f29ce5d3917712aed4f73db762cb
+f744d413f680f799f94015f7120a13ec80f73d9115f8490af737fc9215f8500a13e6
+80658b6aac6ecd0813e580f84f0a0eec81aff82077f49ce1d78f7712aed4eebda2cb
+f744d413f780f79ff94215f8310a13ef80f7428f15f84a0af72cfc9215f7b30a0eec
+81aff82077d59ce5d3a2b98bba12aed4f740cb96b7c0a1b9d413f3e0f7e7f92315f7
+120a13fbe0cdd01513f7e0f8370a13fbe0a1860513f7e0f8380a13fbe0f8390a13f7
+e0f83a0af750fcb415f7b30a0eec81aff82077d99ce1d79eb98bba12aed4f740cb50
+bdf70ca1b6d413fae0f82cf9681513f6e0f8370a13fae0a1860513f6e0f8380a13fa
+e0f8390a13f6e0f83a0a4c4a15f76f0af78cfc7315f84e0a13f360f84f0a0ef7618b
+c6f87a9cc9ad85d312cdb792a478e7f837e672a513d800bdf96815f7120af874fcf3
+1513eb00f7950a13ec00f7960a13eb00f7970a13e880f7980a0ef77b8bc6f87b9cc8
+ad82d7128bbde8a478e7f837e672a513d800c7f96915f8310af884fcf41513eb00f7
+950a13ec00f7960a13eb00f7970a13e880f7980a0ef7f78bc6f8749ccfad7fd312a2
+b7f75ca478e7f837e672a513d80092f96215f7120af7056315f8320af8c4fcc51513
+eb00f7950a13ec00f8510a13eb00f7970a13e880f7980a0ef7e58bc6f8749ccfad7b
+d71251bdf796a478e7f837e672a513d8008df96215f8440a13e800f84d0a13d800f8
+3f0af56315f8320af8bffcc51513eb00f7950a13ec00f8520a13eb00f7970a13e880
+f7980a0ef7be8bc6f8769ccdad81d312a8b7f71da478e7f837e672a513d80098f964
+15f7120af73d9115f8530a13ca00f8540af84dfcf51513eb00f7950a13ec00f7960a
+13eb00f7970a13e880f7980a0ef7c28bc6f8769ccdad7dd7125bbdf768a478e7f837
+e672a513d80097f96415f8310af7428f15f8360af84dfcf31513eb00f7950a13ec00
+f7960a13eb00f7970a13e880f7980a0ef7b58bc6f8059ce5d39cad6fb98bba12e9b7
+c0a17fa478e7f837e672a513e200d9f8f315f7120a13eb00cdd01513e700f8370a13
+eb00a1860513e700f8380a13eb00f8390a13e700f83a0af86afcc31513f260f7950a
+13f280f7960a13f260f7970a13f210f7980a0ef7cf8bc6f80a9ce1d797ad70b98bba
+12adbdf70ca18da478e7f837e672a513eb00f731f9391513e700f8370a13eb00a186
+0513e700f8380a13eb00f8390a13e700f83a0a4c4a15f76f0af8b7fc831513f360f7
+950a13f380f7960a13f360f7970a13f310f7980a0e9081c650acf800ab12abdc1330
+f74df93515f8550af761fc7f15f7a40a1370f7a50a13b0f7a60a4ee0157b64051370
+f7a70a0e9081c650acf800ab12abdc1330f7aef93e15f7920af700fc8815f7a40a13
+70f7a50a13b0f7a60a4ee0157b64051370f7a70a0efb3881b0f744a5f73ba212b5d0
+58c913e0f733f93515f8550a13f05bfcc215f7a80a13e8f7a90a13f0f7aa0a0efb38
+81b0f744a5f73ba212b5d058c913e0f784f93c15f7920a13f0fb15fcc915f7a80a13
+e8f7a90a13f0f7aa0a0e669676f80fbd619c12e6d2f74cd21398f784f93a15f8550a
+3ffbea15f7ab0a13b8f7ac0a13d8f7ad0a0e669676f80fbd619c12e6d2f74cd21398
+f7def93d15f7920afb3afbed15f7ab0a13b8f7ac0a13d8f7ad0a0efbac81b8f80c77
+01ddd203cdf93715f8560a9bfc0415f7990a0efbac81b8f80c7701ddd203f733f93f
+15f7910a3efc0c15f7990a0e3c81a2f813a201b3d7f78ed703f745f93115f8560afb
+1dfc6e158d0af750f75d158e0a0e3c81a2f813a201b3d7f78ed703f7a3f93e15f791
+0afb7bfc7b158d0af750f75d158e0a0e4481b1f7ef9ea77701e3d6f774b203f74af9
+2f15f8560a78fbfc15f7ae0a0e4481b1f7ef9ea77701e3d6f774b203f7baf93e15f7
+910afb17fc0b15f7ae0a0eec81aff8207701aed4f740cbf744d403f78df92d15f856
+0af7ecfc7915f7b30a0eec81aff8207701aed4f740cbf744d403f80bf94015f7910a
+f76efc8c15f7b30a0e90fb70b3f73ec650acf800abef9ce5d312abdce2d67cb7b7a4
+139f40f75c5315f7890a82f97915f83d0a139ec0f83e0af726fc9815f7a40a13be40
+f7a50a13de40f7a60a4ee0157b640513be40f7a70a0e90fb70b3f73ec650acf800ab
+f09ce1d712abdcc4bd77d6d4a4139ec0f75c5315f7890a74f97a15139f40f76f0af7
+34fc9915f7a40a13be40f7a50a13de40f7a60a4ee0157b640513be40f7a70a0e90fb
+70b3f73ec650acf800abef9ce5d312abdcbcb785d6d4a4139ec0f75c5315f7890a20
+f97915f83d0a139f40f83e0af7056315f8320af717fc7015f7a40a13bf40f7a50a13
+df40f7a60a4ee0157b640513be40f7a70a0e90fb70b3f73ec650acf800abed9ce1d7
+12abdc7bbdc0d6d4a4139cc0f75c5315f7890a2bf97715139dc0f76f0af56315f832
+0af713fc6e15f8330a13bec0f8340a13dec0f7a60a4ee0157b640513bec0f7a70a0e
+90fb70b3f73ec650acf800abef9ce5d312abdcd4b76dd6d4a4139ec0f75c5315f789
+0af71df77515f7a40a13be40f7a50a13de40f7a60a4ee0157b640513be40f7a70afb
+3cf86615f83d0a139f40f83e0af73d9115818b7a87877b08139ec06afb2f8b8a0588
+8d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b080e90fb70b3f7
+3ec650acf800abed9ce1d712abdc82bdb9d6d4a4139cc0f75c5315f7890a32f97715
+139dc0f76f0af7428f15f8360abffc9a15f8330a13bec0f8340a13dec0f7a60a4ee0
+157b640513bec0f7a70a0e90fb78b3f746c650acf800abc99ce5d3a2b98bba12abdc
+d0d688b7aba487a113bc80f81af74a15f7af0a13dc80f7a60a4ee0157b640513bc80
+f7a70a27f84015f83d0a139ca0f83e0a139e88cdd015139d88f8370a139e88a18605
+139d88f8380a139e88f8390a139d88f83a0a139cd0fb0efdad15f7890a0e90fb70b3
+f73ec650acf800abcc9ce1d79eb98bba12abdccdbd6ed6d4a4139cb0f75c5315f789
+0a139ed0bcf99715139dd0f8370a139ed0a18605139dd0f8380a139ed0f8390a139d
+d0f83a0a4c4a15f76f0af72bfc7515f7a40a13bc90f7a50a13dc90f7a60a4ee0157b
+640513bc90f7a70a0ef7d581b16aa2f778abf79f9ceb7799d312ff000c999ab7ff02
+906668d4d0a313b380f95df7c315f8570a133780fffcf59998f81c15f7120aff0107
+e666fc5215480afbb8fb6515f8580a137b80f8590a0ef7cb81b16aa2f778abf7a09c
+ea7796d712ffffbc999abdff02d06668d4d0a313b380f953f7c315f8570a133780ff
+fcfb9998f81d15f83b0aff010be666fc5315480afbb8fb6515f8580a137b80f8590a
+0ef80386a286b1f757abf79c9cee7796d312adb7f93dd4d0a3137380f98bf7da15f8
+570a133780fdb7f80215f7120af7056315f8320aff00ab8000fc2715f83c0afbb8fb
+6515f8580a13bb80ff000e199862ffffd78000ff00006666ffffd06668fffffc999a
+85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff00038000
+ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfcb605ffffe633
+33ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08ca28fb28b
+b48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006b333ff00
+103333ff0029b333080ef7ec81b16aa2f778abf79a9cf07790d71258bdf975d4d0a3
+13b380f974f7c315f8570a133780fda9f81715f8310af56315f8320aff00a08000fc
+2515480afbb8fb6515f8580a137b80f8590a0ef7ea81b16aa2f778abf79b9cef7795
+d312b4b7f91dd4d0a313b380f972f7c315f8570a133780fd97f81815f7120af73d91
+15f8350aff00498000fc5415480afbb8fb6515f8580a137b80f8590a0ef7e381b16a
+a2f778abf79b9cef7791d71278bdf94dd4d0a313b380f96cf7c315f8570a133780fd
+81f81815f8310af7428f15f8360aff00348000fc5215480afbb8fb6515f8580a137b
+80f8590a0ef7f181b16aa2f778abf72a9ce5d3a2b97977b1ba12e3b7c0a1f8aad4d0
+a313b8f0f979f7c315f8570afd6ff7a715f7120a133cf0cdd0151339f0f8370a133c
+f0a186051339f0f8380a133cf0f8390a1339f0f83a0aff008f8000fc2215f83c0afb
+b8fb6515f8580a137af0f8590a0ef7f981b16aa2f778abf72d9ce1d79eb97a77b0ba
+12b2bdf70ca1f89ad4d0a313b8f0f981f7c315f8570a133cf0fd1df7eb151339f0f8
+370a133cf0a186051339f0f8380a133cf0f8390a1339f0f83a0a4c4a15f76f0aff00
+b78000fbe015f83c0afbb8fb6515f8580a137af0f8590a0e66fb82b3f76576f80fbd
+619cf7109ce5d312e6d24bd6d4a4beb777d213cd80ed4115f7890af72ff98a15f83d
+0a13ccc0f83e0afb22fbfd1513dea0f7b00a13eea0f7ad0a0e66fb82b3f76576f80f
+bd619cf7129ce1d712e6d24bd6c4bd69a4d6d213cd60ed4115f7890af71ff98c1513
+cca0f76f0afb12fbff1513de20f7b00a13ee20f7ad0a0e66fb82b3f76576f80fbd61
+9cf70f9ce5d312e6d24bd6d0b763a4d6d213cd60ed4115f7890ad6f98915f83d0a13
+cca0f83e0af7056315f8320afb43fbd41513de20f7b00a13ee20f7ad0a0e66fb82b3
+f76576f80fbd619cf70c9ce1d712e6d24bd68cbda1a4d6d213cde0ed4115f7890ade
+f98615f76f0af56315f8320afb44fbd11513dee0f7b00a13eee0f7ad0a0e66fb82b3
+f76576f80fbd619cf70e9ce5d312e6d24bd6d4a47cb7b9d213cda0ed4115f7890ae4
+f98815f83d0a13cc60f83e0af73d9115f8350afb89fc011513de20f7b00a13ee20f7
+ad0a0e66fb82b3f76576f80fbd619cf70c9ce1d712e6d24bd68ebd9fa4d6d213cde0
+ed4115f7890ae0f98615f76f0af7428f15f8360afb8afbfd1513dee0f7b00a13eee0
+f7ad0a0e66fb82b3f76576f80fbd619ce29ce5d3a2b98bba12e6d24bd6d4a4bfb776
+d28ea113cc34f7c7f92815f7120a13ce24cdd01513cd24f8370a13ce24a1860513cd
+24f8380a13ce24f8390a13cd24f83a0afb65fc1d1513dcacf7b00a13ec2cf8400a13
+ecb4f8410a13cc6449fc2e15f7890a0e66fb82b3f76576f80fbd619ce59ce1d79eb9
+8bba12e6d24bd6d4a473bdbcd28ba113cc60ed4115f7890a13ce14f76ff9a91513cd
+14f8370a13ce14a1860513cd14f8380a13ce14f8390a13cd14f83a0a4c4a15f76f0a
+fb23fbdb1513dc88f7b00a13ec88f7ad0a0ef84281b16aa2f7cba5f7529ccca28dd3
+12aeb7f709e0f7ebdef707d4d0a313bfe0f9caf7c315f8570afdf5f81c15f7120af7
+9afcfb15f85a0a137fe0f85b0a0ef84581b16aa2f7cba5f7539ccba28ad7125fbdf7
+52e0f7ebdef70ad4d0a313b3e0f9cdf7c315f8570a1337e0fdfbf81d15f8310af79d
+fcfc15f85a0a137be0f85b0a0ef8e381b16aa2f7cba5f74c9cd2a287d312acb7f7b2
+e0f7ebdef701d4d0a313b3e0fa6bf7c315f8570a1337e0fe98f81615f7120af70563
+15f8320af7d2fccd15f85a0a137be0f85b0a0ef8da81b16aa2f7cba5f74c9cd2a283
+d7125abdf7f4e0f7ebdef702d4d0a313b3e0fa62f7c315f8570a1337e0fe95f81615
+f8310af56315f8320af7d5fccd15f85a0a137be0f85b0a0ef8e881b16aa2f7cba5f7
+4c9cd2a287d312ffff8ee666b7ff01a9199ae0f7ebdef70dd4d0a313b3e0fa70f7c3
+15f8570a1337e0fffb64e668f81615f7120af73d9115f8350aff0191199afcfb15f8
+5a0a137be0f85b0a0ef8db81b16aa2f7cba5f74f9ccfa286d712ffff43e666bdff01
+e4199ae0f7ebdef70ad4d0a313b3e0fa63f7c315f8570a1337e0fffb72e668f81915
+f8440a133be0f8450a1337e0f83f0af7428f15f8360aff0181199afcfc15f85a0a13
+7be089387b86458885858b809185bc8ca88fbe8bbd8ba987bd8a91918b968591458e
+7b9089de0889dd8bb98bde8bde8bbc8ddf8dde9b90d18e91918b968591081337e0f8
+460a133be0f8470a1337e0f8460a137be0f8480a0ef8d281b16aa2f7cba5d39ce5d3
+a0a276b98bba12f4b7c0a1f5e0f7ebdef711d4d0a313b8fcfa5af7c315f8570afe3f
+f7a615f7120a133afccdd0151339fcf8370a133afca186051339fcf8380a133afcf8
+390a1339fcf83a0af798fcca15f85a0a137cfcf85b0a0ef8da81b16aa2f7cba5d89c
+e1d79ba277b98bba12a3bdf70ca1f710e0f7ebdef70fd4d0a313b8fcfa62f7c315f8
+570a133afcfe0df7ec151339fcf8370a133afca186051339fcf8380a133afcf8390a
+1339fcf83a0a4c4a15f76f0af7e9fc8a15f85a0a137cfcf85b0a0eecfb70b3f73eaf
+f82077f70f9ce5d312aed4f740cb53d685b7aea4c6d413fd60f7b45315f7890af97f
+04f83d0a13fce0f83e0af790fca015f84e0a13fe60f84f0a0eecfb70b3f73eaff820
+77f7009ce1d712aed4f740cb53d641bdeca4c6d413fd60f7b45315f7890a93f97015
+13fce0f76f0af788fc9115f84e0a13fe60f84f0a0eecfb70b3f73eaff82077f59ce5
+d312aed4f73cb763cb53d6d4a4c6d413fce0f7b45315f7890a3af96e15f83d0a13fe
+60f83e0af7056315f8320af770fc6715f84e0a13fd60f84f0a0eecfb70b3f73eaff8
+2077f59ce1d712aed4e4bdaccb53d6d4a4c6d413fee0f7b45315f7890a37f96e15f7
+6f0af56315f8320af77afc6715f84e0a13ff60f84f0a0eecfb70b3f73eaff82077f2
+9ce5d3917712aed4f73db762cb53d6d4a4c6d413f270f7b45315f7890a13fb303bf9
+6b15f7120a13f630f73d9115f8490af737fc9215f8500a13f330658b6aac6ecd0813
+f2b0f84f0a0eecfb70b3f73eaff82077f49ce1d78f7712aed4eebda2cb53d6d4a4c6
+d413f370f7b45315f7890a13fb3041f96d15f8310a13f730f7428f15f84a0af72cfc
+9215f84e0a13f3b0f84f0a0eecfb70b3f73eaff82077d59ce5d3a2b98bba12aed4f7
+40cb53d683b7b0a482a1b9d413f954f7b45315f7890a89f94e15f83d0a13f924f83e
+0a13fd0ccdd01513fb0cf8370a13fd0ca1860513fb0cf8380a13fd0cf8390a13fb0c
+f83a0af750fcb415f84e0a13f984f84f0a0eecfb70b3f73eaff82077d99ce1d79eb9
+8bba12aed4f740cb50bd5cd6d4a485a1b6d413f934f7b45315f7890a13fd4ccef993
+1513fb4cf8370a13fd4ca1860513fb4cf8380a13fd4cf8390a13fb4cf83a0a4c4a15
+f76f0af78cfc7315f84e0a13f984f84f0a0ef80e81b16fc6f87a9cc9ad85d31298b7
+92a478e7f837e672a5edd4d0a313a430f997f7c315f8570a132c30fdd8f81c15f712
+0af874fcf3151375b0f7950a137630f7960a1375b0f7970a137470f7980a0ef81581
+b16fc6f87b9cc8ad82d7123bbde8a478e7f837e672a5f4d4d0a313a430f99df7c315
+f8570a132c30fdeff81d15f8310af884fcf4151375b0f7950a137630f7960a1375b0
+f7970a137470f7980a0ef8a182b16ec6f8749ccfad7fd312a2b7f75ca478e7f837e6
+72a5b4d4d0a313a430fa29f7c415f8570a132c30fe60f81515f7120af7056315f832
+0af8c4fcc5151375b0f7950a137630f8510a1375b0f7970a137470f7980a0ef89b81
+b16fc6f8749ccfad7bd71251bdf796a478e7f837e672a5bfd4d0a313a430fa23f7c3
+15f8570a132c30fe5ff81615f8440a133430f84d0a132c30f83f0af56315f8320af8
+bffcc5151375b0f7950a137630f8520a1375b0f7970a137470f7980a0ef88c81b16f
+c6f8769ccdad81d312a8b7f71da478e7f837e672a5d9d4d0a313a430fa15f7c315f8
+570a132c30fe46f81815f7120af73d9115f8530a132530f8540af84dfcf5151375b0
+f7950a137630f7960a1375b0f7970a137470f7980a0ef89b81b16fc6f8769ccdad7d
+d7125bbdf768a478e7f837e672a5e3d4d0a313a430fa23f7c315f8570a132c30fe55
+f81815f8310af7428f15f8360af84dfcf3151375b0f7950a137630f7960a1375b0f7
+970a137470f7980a0ef88181b16fc6f8059ce5d39cad6fb98bba12d7b7c0a17fa478
+e7f837e672a5e8d4d0a313b106fa09f7c315f8570afe0bf7a715f7120a133586cdd0
+15133386f8370a133586a18605133386f8380a133586f8390a133386f83a0af86afc
+c315137936f7950a137946f7960a137936f7970a13790ef7980a0ef89481b16fc6f8
+0a9ce1d797ad70b98bba129bbdf70ca18da478e7f837e672a5e0d4d0a313b186fa1c
+f7c315f8570a133586fdcff7ed15133386f8370a133586a18605133386f8380a1335
+86f8390a133386f83a0a4c4a15f76f0af8b7fc83151379b6f7950a1379c6f7960a13
+79b6f7970a13798ef7980a0e9081c650acf800abcac412abdc80a6f76ca61336f715
+f90915f70d0af799fc5315f8330a137af8340a13baf7a60a4ee0157b6405137af7a7
+0a0e9081c650acf800abe6bd12abdc1338f7f7f89215f70b0af797fbdc15f7a40a13
+78f7a50a13b8f7a60a4ee0157b64051378f7a70a0e90fb70b3f73ec650acf800ab12
+abdce2d6d4a4139ef75c5315f7890a47f96015f8560af761fc7f15f7a40a13bef7a5
+0a13def7a60a4ee0157b640513bef7a70a0e90fb70b3f73ec650acf800ab12abdce2
+d6d4a4139ef75c5315f7890af71df77515f7a40a13bef7a50a13def7a60a4ee0157b
+640513bef7a70a0e90fb70b3f73ec650acf800ab12abdce2d6d4a4139ef75c5315f7
+890aa8f96915f7910af700fc8815f7a40a13bef7a50a13def7a60a4ee0157b640513
+bef7a70a0e9081c650acf800abf718b98bba12abdcf77fa11336f7c1f8e915132ef8
+370a1336a18605132ef8380a1336f8390a132ef83a0ae4fc3315f7a40a1366f7a50a
+13a6f7a60a4ee0157b64051366f7a70a0e90fb70b3f73ec650acf800abf718b98bba
+12abdce2d6d4a4139380f75c5315f7890a139b80bbf91415139780f8370a139b80a1
+8605139780f8380a139b80f8390a139780f83a0ae4fc3315f7a40a13b380f7a50a13
+d380f7a60a4ee0157b640513b380f7a70a0ef71e86a2f778abf81077c1bf01ff0041
+999aa7f76ca703ff0151999af9b9156f06846457755a8b568b5ca183b2086f06ff00
+05000245c560d48bcd8bcbb591d208ffffb2e666fca315480afbb8fb6515490a0ef7
+1e86a2f778abf81077c6bd01ff012e999af94d15f8270aff00b5e666fc3715480afb
+b8fb6515490a0ef71e86a2f778abf8107701ffffb7999af96315f8560aff014ce666
+fc4d15480afbb8fb6515490a0ef71e86a2f778abf8107701ff0008999af96815f791
+0aff00fbe666fc5215480afbb8fb6515490a0ef7ea81b16aa2f778abf8107712f972
+d4d0a313bcf972f7c315f8570afffde880005515480afbb8fb6515f8580a137cf859
+0a0efc10daf92015f7120a0efb7a81b101f715d403f715f7c315f8570a0efc0ff86d
+9ce5d301eab703daf92015f7120a0efb20f8d9b98bba12f7d7a113a0f7a8f9071513
+60f8370a13a0a186051360f8380a13a0f8390a1360f83a0a0efb55f8a4eabdb98bba
+12c1e9d6e970a113d4f787f9631513b4f8370a13d4a1860513b4f8380a13d4f8390a
+13b4f83a0afb51fb2415a30a1398f73d16e60a0e66fb82b3f76576f80fbd619c12e6
+d24bd6d4a4d6d213c7ed4115f7890ae4f97715f8560a3ffbea1513dbf7b00a13ebf7
+ad0a0e66fb82b3f76576f80fbd619c12e6d24bd6d4a4d6d213c7ed4115f7890a98f8
+211513dbf7b00a13ebf7ad0a0e66fb82b3f76576f80fbd619c12e6d24bd6d4a4d6d2
+13c7ed4115f7890af747f97a15f7910afb3afbed1513dbf7b00a13ebf7ad0a0e6696
+76f80fbd619cf72fb98bba12e6d2f74cd275a11395f7f0f8e715138df8370a1395a1
+8605138df8380a1395f8390a138df83a0afb4cfb9715f7ab0a13a6f7ac0a13c6f7ad
+0a0e66fb82b3f76576f80fbd619cf72fb98bba12e6d24bd6d4a4d6d275a113c180ed
+4115f7890a13c8a0f759f9241513c4a0f8370a13c8a0a1860513c4a0f8380a13c8a0
+f8390a13c4a0f83a0afb4cfb971513d2c0f7b00a13e2c0f7ad0a0ef71586a279a5f7
+c2a7f79aa679a28d7712f777def763a1d7a387a313230085f95e15f8550af843fbf9
+15d10a133380d20a132740540a133340550a13ab40560a136340570a13a340580a13
+7380d30a0ef70486a279a5f7c2a7f79aa679a28d7712f766def763a1d7a387a31323
+00c7f96815f7920af7f0fc0315d10a133380d20a132740540a133340550a13ab4056
+0a136340570a13a340580a137380d30a0ef7a586a2f7cba5f7a4a201f766e0f7ebde
+0380f96315f8560af7c6fcf6155b0a0ef79c86a2f7cba5f7a4a201f75de0f7ebde03
+b6f96a15f7910af787fcfd155b0a0ef7f581b16aa2f7cba5f7a4a212f5e0f7ebdef7
+14d4d0a313bff97df7c315f8570afcfcfb7315f85a0a137ff85b0a0efb73f86c9ce5
+d301edb703f757f8f715f8320afb05b315f7120a0efb73f8699ce5d301edb703f78f
+f92215f8350afb3d8515f7120a0efb85f8269ce5d3a2b97276b9ba12f749b7c0a113
+e6f77bf91e1513de638b76ba548b628b766a7e5408a1860596a9999ba08b0813e6f8
+390a13cef83a0a494615f7120a0efbac81b8f80c77e6c4017fa6ced2d9a6039af909
+15f7770acefbd615f7990a0efbac81b8f80c77f70cbd01ddd203f77cf89315f70b0a
+d5fb6015f7990a0efbac81b8f80c77f727ea1289e981d299e913f489f8dd15e60af7
+3d16a30afb13f76215f8560a13ecb5fc7815f7990a0efbac81b8f80c77f71bea8c76
+1286e984d296e913d2f751f9a415f7920a13eafb56fb6715e60af73d16a30a13c639
+fb9e15f7990a0efbac81b8f80c77f734b98bba12ddd2d6a113ecf749f8e91513dcf8
+370a13eca1860513dcf8380a13ecf8390a13dcf83a0a28fbb615f7990a0efbac81b8
+f80c77f71deabdb98bba1283e987d293e970a113f080f749f9631513e880f8370a13
+f080a1860513e880f8380a13f080f8390a13e880f83a0a13e400fb51fb2415e60a13
+e100f73d16e60a13e2003cfba015f7990a0efb9586a2f8f5a2b5bf019ca7d1dacea7
+03f7b5f9b915f70c0a2ffd4c155c0a0efb9686a2f8f5a2bdbd01f702da03ff005d66
+66f950159896a097918796811ffb7506fffff4fffe80777f848f80941fff0142999a
+fce3155c0a0efb3a86a2f8f5a201f769da037ef96415f8560af7c8fcf7155c0a0efb
+4386a2f8f5a201f75fda03c4f96915f7910af778fcfc155c0a0efb76f86c9ce1d701
+a8bd03f757f8f715f8320a21b315f76f0a0efb7af86b9ce1d701a7bd03f79af92215
+f8360afb428715f76f0a0efb61f8859ce1d79eb98bba12f70abdf70ca113ccf746f9
+3815f8310a13eccacc1513dcf8370a13eca1860513dcf8380a13ecf8390a13dcf83a
+0a0e4481b1f7ef9ea777dbc412e3d65ba6f76ca68db213f7f722f90915f70d0a13fb
+a0fbd615f7ae0a0e4481b1f7ef9ea777f701bd01e3d6f774b203f804f89315f70b0a
+9efb6015f7ae0a0e4481b1f7ef9ea777f707ea12e3d664e9d6e98bb213f4f710f8c8
+15e60a13f2f73d16e60afb13f76215f8560a13f988fc6315f7ae0a0e4481b1f7ef9e
+a777f710ea8c7612e3d663e9d6e98cb213e980f7d1f9a415f7920a13f380fb56fb67
+15e60af73d16a30a13e580fb15fb9e15f7ae0a0e6681a5f809a9f59ce5d301d5d0f7
+22b7cfcd03f7a1f95415f7120afb1afe1a15f7b10af7e3f82b15f7b20a0e6681a5f8
+09a9e69ce1d701d5d0d5bdf716cd03f7a9f94515f76f0afb22fe0b15f7b10af7e3f8
+2b15f7b20a0e4481b1f7ef9ea777f728b98bba12e3d6f75ba18eb213f7f7cff8e815
+13eff8370a13f7a1860513eff8380a13f7f8390a13eff83a0afb2cfbb515f7ae0a0e
+4481b1f7ef9ea777f703eabdb98bba12e3d662e9d6e970a192b213f860f7cbf95415
+13f460f8370a13f860a1860513f460f8380a13f860f8390a13f460f83a0a13f120fb
+51fb2415e60a13f0a0f73d16e60a13f220fb14fb9115f7ae0a0ebc86a2f8f5a2b5bf
+01ffffdf3334a7ff00d7ffffa7ff0022cccde003ff00ef3333f9b9156f06fffff8ff
+ff6457755a8b568b5ca183b2086f06ff0004ffff45c560d48bcd8bcbb591d208ff00
+77cccdfd4c15700a0ebc86a2f8f5a2b4bd01f7a6e003ff00cd3333f94715ff000cff
+ff96a097918796811ffb7506fffff4ffff80777f848f80941fff0179ccccfcda1570
+0a0ef72586a2f8f5a201f827e0037cf96015f8560af88bfcf315f7940a0ef71486a2
+f8f5a201f816e003bbf96915f7910af83bfcfc15f7940a0eaf86a2f7a1a37c9ff778
+9cd1a383d7126cbdf73fdaf77be3139780a8f96715f8310a13b380f784fc3f1513db
+80670a8df7b315f7a10a13bb80f7a20a0efb4ef8a4ea927612bde9d6e91370e7f9a1
+15f8550a61fb621513b0a30af73d16a30a0efb55f8a4ea8c7612bde9d6e91370f788
+f9a615f7920afb56fb671513b0a30af73d16a30a0efbd6f8bcf74501c0f71403d4f9
+6815f8560a0eecfb70b3f73eaff8207712aed4f740cb53d6d4a4c6d413f7f7b45315
+f7890a2ff95815f8560af7ecfc7915f84e0a13fbf84f0a0eecfb70b3f73eaff82077
+12aed4f740cb53d6d4a4c6d413f7f7b45315f7890af790f77315f84e0a13fbf84f0a
+0eecfb70b3f73eaff8207712aed4f740cb65d6d4a4b4d413f7f7c65315f7890a9bf9
+6b15f7910af76efc8c15f84e0a13fb99ae94c08ba208a288977172816a6d1e8b788d
+67976c6d47756f688b448b6fcd8bf68bf708bdb9c9b28a948694848ffb005d4b3d8b
+fb0508fb11d545e11e13f7c18baaa9a5d0a046b16dbc8bf7088bcae68bee080eec81
+aff82077f715b98bba12aed4f740cbe5a1cbd413eff817f8d51513dff8370a13efa1
+860513dff8380a13eff8390a13dff83a0af762fc2115f7b30a0eecfb70b3f73eaff8
+2077f715b98bba12aed4f740cb53d6d4a4c6d413e5c0f7b45315f7890a13f4c0b9f9
+001513ecc0f8370a13f4c0a1860513ecc0f8380a13f4c0f8390a13ecc0f83a0af762
+fc2115f84e0a13e6c0f84f0a0ef76281a3f900a301f3e5f84fe5037ff96315f8560a
+f82b3615650af7e0fbc515f7930a0ef71a81a3f900a301afe5f84fe503ffff998000
+f96915f7910aff01ad80003015650af7e0fbc515660a0ef7658bc6f8c9ad12f70ea4
+78e7f837e672a513c075f96315f8550af8c1fcee1513d8f7950a13e0f7960a13d8f7
+970a13c4f7980a0ef72e8bc6f8c9ad12cda478e7f837e672a513c0c5f96915f7920a
+f839fcf41513d8f7950a13e0f7960a13d8f7970a13c4f7980a0ef7d981b16fc6f8c9
+ad12b7a478e7f837e672a5ccd4d0a313a180f962f7c315f8570afbd7fb6b15136d80
+f7950a137180f7a30a136d80f7970a136380f7980a0efbfef861f74b01b2f71003f7
+0df91815f7910a0efc1de4f91815f76f0a0e4d0ef84a0e600ef7570efb790efbcc0e
+fc1f0efb0f0efbea0efc480efcab0e0efb73f77bb701b3f79603f7a3f77b152a0a0e
+fb73f77bb701b3f79603f7a3f77b152a0a0efb0ff7b3bb01f80ef7b3159898a09794
+8891801ffbe0067f7e7a7b829185941f0e7ef782bc01cdf78215f8280698989f9794
+8893801ffc28067f7d777f838e82961f0ef749f782bc01bcf78215f9040698989f97
+948893801ffd04067f7d777f838e82961f0ef7fdf782bc01bcf78215f9c20698989f
+97948893801ffdc2067f7d777f838e82961f0efbafc7b2cab203f75dfb6015faba64
+feba074c16faba64feba070e40fb2eb7c9b701f876fb0215fc715ff87106f72a04fc
+715ff871060efbb9f88fe5f7089d01d7af03f71ff88f15f85c0a0efbb9f86e9df708
+e501f730af03f715f94e15f85d0a0efbb9fb159df708e501f730af03f715ea15290a
+0efbb9f86aa4f702e801ff00484ccdb203ff008a4ccdf94e15f85e0a0efb4ef890e5
+f7089d01beaff70daf03f7a3f89015f85c0afb3116f85c0a0efb4ef86e9df708e501
+f718aff70daf03f4f94e15f85d0af73116f85f0a0efb4efb169df708e501f718aff7
+0daf03f4e915290af731167071766f1f8bffffe08000a5fffff980009d889e899c82
+8b748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4b78bd108c4
+ffffdfb334b5ffffe14ccc1e0efb50f86aa4f702e801ff00314cccb2ff00750001b2
+03ff010f4cccf94e15ffffd8000171644f1f8b45ff003bffff5bc780ff0006ccceff
+0005e666ff0001999aff00093334fffffc9998ff0009e6665798ffffde0001b88ba0
+8ba2ff0010ffff919e8d9d8ea5ff000980008bff001f800008a775a06c1effff6400
+0116f8600a0ea6f81beff76e7601f7c09d03f7c9f94d1571786e6c1f8b40974da359
+64a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b8b
+fb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a26d
+1f498b537d6070a3bc97c98bd708ab77a7731e0ea68beef7b8eff7627712f79ce456
+9c13e8f8acf84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77a77371
+786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc298b4a5
+8b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc298b6a6
+0813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27ecc8b08
+a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37ecd8b08
+a9a3a0a71f0efb66f708f77801c9f77803c9f77a154cbe58cacabebecaca58be4c4c
+58584c1e0efb4edff7bc01d4f79c03d4df15f79cf728fb9cf728050efbe986ef01c7
+ef03c7ba15210a0efb1d86ef01c7eff4ef03f79dba15210afb6116210a0ef75086ef
+01c7eff739eff738ef03c7ba15210af79d16210af79c16210a0efbe9f76eef01c7ef
+03c7f7a215210a0efc480ef7f27fa2f76aaa74a2baa2f732a6b0a212c4c1f721a4f0
+c2f720a4c3bef71da913dff0f9fcf73815d55b9d653f53373f4daf5dc11edfb7f704
+cb1ffb0ffb2715f8610afbd0cd1513bff0230a549a15240a7df83115250afb91fb05
+15260a0ef9147fa8f764aa74a2baa2f732a6b0a212c4c1f721a4f0c2f720a4c3bef7
+1da9b7bef71da913dffc1c046ef73815d55b9d644053373f4daf5dc11edfb7f704cb
+1ffb0ffb2715707aa5b3cbbad9b89da67c5c57672d521ffb1ff72715d55b9d653f53
+373f4daf5dc1dfb7f704cb1efb0ffb2715f8610afbd0cd1513bffc230a549a15240a
+7df83115250afb91fb0515260a0efbccf86ff74b01d4f71003f72ff92615f7910a0e
+fb48f86ff74b01d4f79403f7b3f92615f7910afb1816f7910a0e57f86ff74b01f833
+f92615f7910afb1616f7910afb1616f7910a0efbd1f874f74501c2f71403d6f92015
+f8560a0efb57f874f74501b9f78a03cdf92015f8560af70b16f8560a0e4ef874f745
+01f7e7f92015f8560afb1f16f8560afb1116f8560a0efb99f70ff76b15f8620a0efb
+99f745f76b15f8630a0e9862eff70aeff6ef019deff2efeeef03f7719615210af75b
+f76d15210afc268c15210af75df76315210affff6d6666a015f748ffff113333ffff
+4e199afb80ff0018999affffed6666ff00ac999af779ff00c08000ffff008000ff00
+189998ff0012999affff3a199aff01068000f75cff01096668ffffe76666ff001280
+00ffff3d6668fffefdb334ffff514cccff00e7cccd050e3288eff8c57701e9efdfef
+03f7dcf92815200a59fcf715210afb1af8f515200a59fcf715210a0efb0786eff817
+76f7597712b9cfc1ef4ca7e7d613f6f706f8ae158bff00109998ff00146666ff0011
+199cff001d999aff000a1998ff00008000ffffbc199cff000fb333ffffdab332ff00
+09cccdffffa86666923e91308d778b858d84978b958b8e938c97ff0000999aff0008
+199aff0000e666ff00178000ff00033333ff0027333208ff0002cccdff00084cceff
+0003b333ff00086666ff0004cccdff0008800094999f9aa29abaaabfb68bd38bff00
+3ee668ffffce3334ff002de664ffffb0e666ff000b6668fffff73332ff001dccccff
+ffe9b33499768b788b72fffff31998fffff7cccdffffdd4cd008ffffe4333385ffff
+e7666681ffffee999afffff299986d7576738b68086ba4849b9f9f96a01e8b978890
+878f08879089908b990813fac1fc7f15410aff006ae666f8a415ff001e3334ffffec
+ccccff0013e666ffffde80008bffffdfb3348b617e6c636afffff5999afffff78000
+fffff74cccfffff78000fffff8999afffff7999aff0001199aff0009b332ff000119
+99ff000a199aff00014ccdff000a999aff00098000ff00518000ff000ee666ff002c
+b334ff00018000ff003bcccc080efb1ef918b701f818f94415fbf45ff7f4060eb6ff
+0056199aff00394cccff0126b334ff00394ccc01ff0055199aff0035e666ff007019
+9aff0035e666ff006a199aff0035e66603ff01a9999aff0052b33315ffffe3ccccff
+ffe06666ffffd46666fffff919998bffffdb33338bfffff33334ff000a4ccefffff4
+e666ff000e80008bff002080008b91ff00326666ff00156666ff00268000ff001566
+66ffffdeb33491ffffc86666ff00214cce8b978bff000cccccff000966668bff000f
+66678bff00223333ffffd6199aff0008999affffe2e666ff001f999908ff000f6666
+ff0002999aff000f6666ff0000cccdff001033348b08ff001d1998ff001de668ff00
+05e666ff0019b333ff00088000fffffa1998ff00113333ffffe8e6681fffffe3cccc
+8bfffff23334ffffe4999affffd8b334ffffeee666ff0001b332ff0019b334ff000e
+999aff002233338bff0017199908ff00148000fffff33334ff00096667fffff09998
+fffff0999afffff5b334fffff09999791e8bffffe9cccdff00104cccffffe8e667ff
+00036666ffffdeb333ffffda6668ff000f6666fffff09998ff001c3333ffffe2e668
+8b08ffffeb8000fffff84cccfffff24ccd7fffffe64ccdff001b4cccfffffa199aff
+0029e6681fff000ccccc8b97ffffff3333ff000b199afffffd666608fbda16ffffe3
+ccceffffe06666ffffd46667fffff919998bffffdb33338bfffff33334ff000a4ccd
+fffff4e666ff000e80008bff002080008b91ff00326666ff00156666ff00268000ff
+00156666ffffdeb33491ffffc86666ff00214ccd8b978bff000ccccdff000966668b
+ff000f66678bff00223333ffffd6199aff0008999affffe2e666ff001f999908ff00
+0f6666ff0002999aff000f6667ff0000cccdff001033338b08ff001d199aff001de6
+66ff0005e666ff0019b333ff00088000fffffa199aff00113333ffffe8e6661fffff
+e3cccd8bfffff23333ffffe4999affffd8b333ffffeee666ff0001b333ff0019b334
+ff000e999aff002233338bff0017199908ff00148000fffff33333ff00096667ffff
+f0999afffff09999fffff5b334fffff09999791e8bffffe9cccdff00104cccffffe8
+e667ff00036667ffffdeb333ffffda6666ff000f6666fffff09999ff001c3333ffff
+e2e6678b08ffffeb8000fffff84ccdfffff24ccd7fffffe64ccdff001b4ccdfffffa
+199aff0029e6661fff000ccccd8b97ffffff3333ff000b199afffffd666608f73af7
+f415ffffe3ccccffffe06666ffffd46667fffff9199a8bffffdb33328bfffff33334
+ff000a4ccdfffff4e666ff000e80008bff002080008b91ff00326666ff00156666ff
+00268000ff00156666ffffdeb33491ffffc86666ff00214cce8b978bff000cccccff
+000966668bff000f66668bff00223334ffffd6199aff0008999affffe2e666ff001f
+999a08ff000f6666ff00029998ff000f6666ff0000ccceff001033348b08ff001d19
+9aff001de666ff0005e666ff0019b334ff00088000fffffa199aff00113332ffffe8
+e6661fffffe3cccc8bfffff23334ffffe4999affffd8b334ffffeee666ff0001b332
+ff0019b334ff000e999aff002233328bff0017199c08ff00148000fffff33334ff00
+096664fffff09998fffff0999afffff5b334fffff0999c791e8bffffe9ccccff0010
+4cccffffe8e666ff00036666ffffdeb332ffffda6667ff000f6668fffff0999aff00
+1c3332ffffe2e6668b08ffffeb8000fffff84ccdfffff24cce7fffffe64cccff001b
+4ccdfffffa199aff0029e6661fff000ccccd8b97ffffff3332ff000b199afffffd66
+68080efc99f8ed7701f774f8ed15fc5efd23b48bf85ff923050ef78e86eff8afa412
+b7cca8ef4aaae6d7bccca8ef4aaae6d713e6c0f879f8d015470a13e740a8fca11541
+0afc29f8a115f8640a13ee40f8650a13f640a8fca115410a0ef70688eff8ada412b7
+cca8ef4aaae6d7f702ef13e6f8a7f92815200a59fcf715210afc08f89f15f8640a13
+eef8650a13f6a8fca115410a0ed786eff8ada412e9efbfcca8ef4aaae6d713f2f724
+f92615200a59fcf715210af76df89f15f8640a13f6f8650a13faa8fca115410a0efb
+0ff7d8e001f796b103cef7e515b283b786ba8bbc8bbe91be9854fb5468fba68b8a08
+8e85ae8c058b8ba5f7a0d6f7918e958f9a8b9708948891867671728b1e6885668765
+8b4f8b4d94519e080eb4fb7cacf875f80168ac12f3bddcf7cafbcabd13b4f77ff8d2
+15fd7307707a8074747992aa1ef97307aa9d92a21ea29c80701f62d21513d4468b4e
+8b5c8d0813b489898b7805868f888f1ea58905b3889a828b6d08fd73078b6d7c8263
+8808718905878788861f8b788d8905ba8dc88bd08bd08bc68bbc89088d8d8b9e0590
+888e871e708d05618e7f968ba708f8520713d89489938a9a8b08f726ddccf71ada51
+e2fb181f408b5089708b080efbeafb19a4f702e8f768ef12ff002a4cccb2ffffe8b3
+34ef13f0ff006c4ccdea15f8600a13e8ffffcdb333f79c15410a0efb92f7fba3f7ad
+a301aac6f713c603f72ef92c15f8660a88fbc515f8670a0efc03f801a8f761a0c8c5
+12d3c559bb13f0f0f97715f8680a13e8a6fbbf15f71c0713f0f8690a13e8f86a0a0e
+fb92f801a8d1adf7587701f748bb03f748f84c15f86b0a0efb92f7fba6f739a6d1ae
+01f75fc403f75ff86215f86c0a0efb92f7fba3f729a3f7059e01b8c0f70bc403f76d
+f85b15f86d0ac49015f86e0a0efb92f919b112b6a0839d9fad13b0f703f91915f86f
+0a13d0f8700a0efb92f7fba5f7a9a512babd68bcecba6ac513d8f733f92a15f8710a
+eb6215f8720a13e4f8730a242915f8740a0efb92f7fb9ef705a4f728a301b3c3f70b
+c303ebf8e415f8750a538615f8760a0efb92f87cb201f71bb203f742f8a315f66420
+2064f621b2f5f5b2070efb92f87cb201aef78203f7a5f8a315fb8264f782060efb92
+f86eadb2ad01b2f77a03f7a1f8d915fb7a69f77a066404fb7a69f77a060efc00afc0
+03aff89c15f8770a0efc00f700c103f736f89e15f8780a0efb6ff801a8f761a07aad
+12cebbf704bb13b8f777f84c158b628988698987838b7d8f84a98c928ba38bff0023
+4ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce6ea45d1effffdc
+199a8b68ffffdd19987d7aff00006666ff0017b334ff00018000ff001533348b8b8b
+90898d858b0813d87b845c8371898a838c848f85ff00206666fffffe8000ff000a99
+9aff0004b3348bffffcacccc08fb01078b628388638986838c7c8f85a98cff0005b3
+338bff00234ccd8ba38b938ba98a8f928b998793698d888e8bb408f70a0713b8f879
+0a0efb92fb09a3f7ada301aac6f713c603f72ef75015f8660a88fbc515f8670a0efb
+92fb03a801f729c103f71bf72515978d826b1ffb16078b586c88638986838c7c8f85
+a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8bbe08f7
+8307fffffab33390fffff8999afffffde666fffffab333fffffd199a5f70717f5c7a
+8b7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b080efb92fb04
+abf79aa912bac0efc97ba313f0d4f70315958b998e8e9dff00014ccdff0007e666ff
+fffd3333ff000ccccdff00038000ff00084ccd90979794aa8b9d8bab848b5c8b5573
+745e675b6665618b5b08f7620613e8ff00088000ff001ab333ff00063334ff001f99
+9aff00044cccff0023b333fffffab334ff0003b33383ff0001999afffff54cccffff
+ffb333806f7d646c8b08380694ac9aa6b5a90813f0ad0a0efb92fb0aa9f71ca6f6a9
+12b9bde5c66ac913f8f74ef72815bb0a13f4a3be87524b5f7e6e1f6b8bfffff7b333
+ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b333fffff38000ffff
+f7199afffff2b333ffffe08000ff0046999afffff4b333ff001a3333dbc6b9d01f8b
+c55ca66a8e0813f8b00a0efb92fb03a8d1ad01f748bb03f7486715f86b0a0efb92fb
+09a6f739a6d1ae01f75fc403f75f7d15f86c0a0efb92fb09a3f729a3f7059e01b1c0
+f70bc403f7667615f86d0ac49015f86e0a0efb92f73db001f703f73d15ef06715e53
+fb1068fb0308ad06aaf4c4f70ec0e608fb42067b868c8f1f79068a718463866f08a0
+880597bb9291a78b080efb92fb09a5f7a9a512b4bd68bcecba6ac513d8f72df74e15
+f8710aeb6215f8720a13e4f8730a242915f8740a0efb92fb099ef705a4f728a301ac
+c3f70bc303e4f70815f8750a538615f8760a0efb9296b201f71ab203f741bd15f664
+202164f521b2f5f6b2070efb9296b201aef78203f7a5bd15fb8264f782060efb9288
+adb1ae01b2f77a03f7a1f315fb7a68f77a066504fb7a69f77a060efc00afc003afba
+15f8770a0efc00f700c103f736ba15f8780a0efb92fb0aabf772a401aabff701c103
+f754a515a60ab6fb24159e8b9e979495ff0000999a93fffffcb332ff00054ccdffff
+f8b334ff0002b33388888689878b0882869bb41fd607e9529f5a614d6a637c96819a
+9e9298931e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f
+8b618b60ae70b58bac8b9d94ada98e799976a48b080efb92fb09aaf714a7cda401ad
+c1f706c403f7383515f8090ab1f73015f80a0a0efb92fb09a4f778a401a2c6f720c6
+03f72cf73515f87a0ad1fb3615f8160a0efb92fb04a1f775a1019ef7a603ff00e833
+33e815a7ff0023e666ff0004b332ff00044ccdff001c199aff0001cccd8f8f8b9987
+8f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333fffff7cccdfffff2
+cccdffffed3333088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a
+738b748b818c798c87878b7d8f87ff001c199afffffe3333ff00011999fffffd999a
+ff001a999affffda333308ff003833333b058888ffffcecccd518b8bffffe19999ff
+ffdc8000fffffdb334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928c
+a28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97
+788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e6
+66ff0001cccdfffff9999aff0002e666ffffe5b333ff00254ccd08ffffcbcccdd505
+0efb92fb09a4cda7f714aa01b7c4f706c103f71ff71615f80b0a65fb3015f80c0a0e
+fb41f801a7c576e1aaf70da801a7a8f70eaaf70ea703c4f8a715f87b0a6e16f87c0a
+f74a9b15e26c34346ce235aae1e1aa070efb41f801a7f70faaf70da801a7a8f7a7a7
+03c4f8a715f87b0a6e16f87c0af7a07c15aafb606c070e2bf7b8bcf784b012a4e7f7
+00d2d9a57ea613f4f7937a15d78bc5c6a0d20872920579ffffcde666ffffde999aff
+ffe48000ffffda6666fffff6800008ff00a1199a07acb8cc971e918b938a9080917c
+99849d8b089f98a29ea2779d6c1f638b6951766c08898b8de37b8b05858b84888187
+707e80866281089071058f8c8f8b8f8b089b98836d1fffff30cccd0743a267ff005b
+e6678bff00a04ccd8bf725c1f712e98bbc8bcd61923208a68d0513f87df73971898b
+8205808889861e7c8b6aa4588b08fb1b20fb14fb571ffb4de4fb13f7211e0e2b8aaa
+f76db4bdb4d476f718b470a812f707e0f778a713fbf7d6f80f15fb0ef72a06a69b92
+a21ed506d08ba9539b3f08a78f76f73dfb578b388b0513f77dfb0d8d8b1f13fb8a89
+8b780513f7868f888f1eaa06b89580661ffb2a2f62e7592f62e7fb3f076a7b7e611e
+7006868787861f8b778c89058be78db4b1ee898b1e8d8d8b9f0590878f871e6f0660
+7c9ba91ff73ff70eb4fb0ebdf70e070e2b7ec094b4f72db4bdb4f750b7019dd1c0d8
+03f72fe515fffffd66668b88ffffffcccdfffffcb334ffffffb333ff00019999ff00
+01199aff0001b333ff00013333ff0001999aff00013333ff0020199aff0018b333ff
+00188000ff002a3333ff0007ccccff0053199a08ff007e999ab4ffff83cccd06ff00
+003334ff0006199a8bff000666668bff0006800008aaf710b4fb10ae07e2b4cdb91e
+a18b9a80987f978094839a8b08a39c9aa4ae5296741f568b5e786867ffffcc8000ff
+ffcd8000ffffe8999affffcd6666fffffd3333ffffb4199a08ffff9eb33362ec592a
+62ff0060199a0688ffffc5999afffff43333ffffc23333ffffd8b333ffffd63333ff
+fffa199afffff98000fffffb8000fffffb999afffffb4cccfffffc1999ffffe33334
+fffff19999ffffe7e666ffffeb999a8bffffe7999a087e987f999ea397a696949cae
+1ea68ba47ea57ca97aab7ab28bd58bb9b09ebf08849105726850846d8b708b7a9379
+97759a6f9a4d8b080ef80580c156a679a6f785abd4b07ca7f739a474ab12efd7f744
+d5b0d056c0e1a17bc5f72fcb6aa21311c0f744f8d5159c919f919c8b08c6ca73fb0c
+255b5f381f768b7f8e7f8d083ffb80151338e6717f7b641e7106878988871f8b798c
+89058be48dadb0de898b1e8c8d8b9d058f888e871e7106667b98a81ff76607988596
+86a48bff006580008bff00368000ff0030b334ff0019b334ff00384ccc08ff00384c
+ccfbb3061390c647a36fb71eff002099988bff001e4cd0ff000d3333ff001ce664ff
+00184ccd08ff00013334ffffe5800005958d948b908b918b918b9189081354c6a385
+a887ad8bc18be9a38bea8bd849a83ead57a173978bb38bc1b79cb08b081354c59f8b
+c37fa82608a28c7ff706057996599a5a8b3f8b4d5a8b4a8b44b37ad26d081350ead8
+69a4708b628b5a5975668b688b6e9c819572a382b989a108758aff00034cccffffb5
+b333051399e0ffffec6668fffff33332ffffef6664fffffb199affffebe6688b0871
+84a7c61ff786e50795978e931f9e078f898e871e1319d021f7260656798b78058bff
+ffc0b334fffff2e666ffffdbb3325dfffff83334ff00044cce9dff0001ccccff0011
+e6668bff001080008bc26cf2fb328b758b698a5a8808133ae65d8953887e8b087907
+888b87911e8f8ba38c928b089ca486661f0e2a81aaf790b3f2b3f703b301ff00df33
+33ff005a999903f826f8f315fbcb8b468b058b76967f948408bd06ff003b999a8bff
+004619998aff00033333fb0208ffff35199a068b76967f948408ff00b5333306ffff
+f46666ffffa13334ffffbd6666fffff7cccc338b08838b708b058b76967f94840892
+06a58aff0024e666fffff4e666ff000e199affffe9199a08f6fb3305aa5db460c78b
+9a8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b73ae70b5
+08fb12f75705ff0026199aff000c6666ff004b3332ff001e8000ff00108000ff0050
+199a08ff006c333406829280978ba008ffffaae66606fffffe8000ff002d8000ffff
+eee666ff00191998ffffddb334ff0020666888ff0002ccccfffffce666ff0002b334
+fffffce667ff0002800008ff00a7333306829280978ba0080e412cb9b2ae8f9af7f3
+a3f70baae09ea47701b0d7ff00d84cccff0044199a03865a155df85cb90794f8fe15
+f7150afb17fc61157d0a0e2b80a6f76cafc1aff776a601c7e1f7a3a8039af7d615b8
+068a808b828b808b848b828c8408648b76718b81c98b059bfb2cdb30f7128bc18bb5
+9ba98d9bb496bb94bf8190848d7f8c75447046418b3d8b53d97ff71e08f7458b9eaf
+fb5a8b8bae8b9ef76c8b9eaffb7d8b0596f70cb8f5dd8bd88baf3d9c45968a908c96
+9087c285be80bb688d5f99548bfb0b8b342b78fb3108708b7771050ef88988a6f7ed
+adf729a901f884d8f7f6dc03fa33f79c15fb0050fb18fb041e708b799473a3848479
+77828908b6f74d05aaf718c4a3b98b08c3b4723b1ffbe0fc5b15a1b49ce99cd3a37e
+a385b18b08f742ecf739f4db53c32f1f608b507d5c656f73686c6efb110863fb4605
+71fb037455786c08927b05fbb5f8c515ff0013999aff00643334ff0011199aff0040
+3332ff00143332ff002d999a08ff0005199a06f724c8fb01fb08fb1e58fb34fb6249
+8a909c1f8b918b8e8c8f08ff0046e666ff0200666815ffffb83334fffff5b330ffff
+bd666672ffffb58000ffffd4e66808957705caff001ce666c5ff001ab332c9ff000b
+e668ffffe48000ffffcf999affffe94ccdffffbeccccffffee3333ffffa5199a0854
+fba805856e7d7f698b087006878b88878a8708887af7088d05ab8b9e89de8b08f75b
+f707f730f743f722fb00f702fb1f1ffffff780008bfffff7999affffffccccfffff7
+b332ffffffb334ff0013e668ff00224cccff00176666ff00168000ff001ee666ff00
+17b334088698055a75ffffd6199a6fffffdcccccffffcf6668080e2b8aa6f785abd5
+b5bcb5dca474ab12ead7f743d413f7f85cf88e15ffffd5199a06fffff14cccff0035
+6668ffffd1ccceff003d9998ffff85cccc8b768b6a8a5a880813fb5d895d887e8b08
+7907888c87911e8f8b978c938b089ca486661f6349078b75967e958408b85a49068b
+75967e958408b8fbc506717e7b641e7d06878888871f8b798c89058bd98dadb0de89
+8b1e8d8d8b9d058f868e871e7306657c98a81ff7660797859786a48bff006566668b
+c1ff00314cccff0019199aff0038b33408ff004c800006819280988ba1086106ff00
+038000ff00108000ff00018000ff001066668bff000f199a088cc507819280988ba1
+08fbb116d20713f79c919f919b8bbb8bff00314cccfffff09998ff0011ccceffffbc
+666808ffff57e6666115ff00ae666606ff0000666685ff00003334fffff9999a8bff
+fff966668bfffff56666ffffff8000818afffff6999a08ffff528000066104ff00a4
+4ccc06ffffedb334ffffcce666ffffd6e666ffffe9199affffc4199a8b768b7e8e80
+8d080ef7247facf783a4f713abf784a401addaf7b6dcf703d603f92ff96a15f87d0a
+d3f8ca15f87e0a772415f87f0af7c6fc6515c78baea8aaab0871a105716e64767c8b
+087a6d98d5eabec4b5919a87771f8b78888c8b7f0880927fa795a993a3ac74b0433b
+2f39fb0162b64acc1e0ef7247da3f78ea2f715abf784a412addaf7bfae89d2bbd770
+b013f880f92ff96a15f87d0ad3f8ca15f87e0a772415f87f0af7c8fc671513fb00d1
+c4acc71f8baf5ea956a57993839a8b9f08a29ba2aa1e13fa80a6a26b5f1fb0888ed2
+056fa272936a8b498b536d8b538b6f9b79b7720813fd00a67bab768b6d0868737d72
+6072adbc1e68898f2a05a98bac83ad8b080ee081b4f8e2b001b0e6dfadf7d4ac03f7
+68ff005c333315ffffc74ccdff003b1999ffffe4b333ff005d66668bff00594ccd8b
+ff00564cccff0016e666ff0042ccceff00248000ff002ce66693ff0009ccccff0008
+3334ff0009199cff00086666ff0008199808f725fccd15ec8be4b9cfe48694849180
+8b443d476c2e8bffffd5199a8bffffdb666697ffffe18000ff0014800008ff020b80
+0007ff0021b334ff00171998ff0022ccccff000ae668ff002080008bf71e8bc239a5
+359787ff0009b3348eff000b4ccc9186bf83bb82c258905eb3fb0f8b368b446c5055
+08ffffbd999affffc33334ffffd86666ffffa319988bffff97b3348bfb35f4fb38f7
+6b8b080ef78781b6f80ca9f721a901b7adf717ad95e5f812a803f8b48115ec8bcdb8
+c7e387ff0007999a82ff000599997fff0001cccd49386375368b08fb1138f714f71d
+f768f709cdda1ff7008bbf4aa52e9689ff000a1998ff00008000ff0007e668ff0005
+8000fffffd6668ff0030e666fffffbe664ff00314ccefffff2b334ff0033cccc6e91
+6dabfb1e8bfb338bfb11fb198bfb558bffffb1cccdff001c199affffb2b333ff0037
+e666ffffc7800008ff002fccccffffcfb333ff00498000ffffde4ccdff0055b3348b
+08fbe3f89a15a90afb398c15aa0a0ef7567ea7f786a6f70facf783a401c2dbf704d6
+ebddf71adb03f92ff96a15f87d0a95f83f15f8800af7e5fbc015c4a3e8cbb1935d63
+6278fb07487b6b97db1e398615689f3be8e5e8e1f2ba73c832fb0a4a233d1e0ef756
+7cb2f764bef710acf783a412c2dbf704d6edda65dc13fcf92ff96a15f87d0a95f83f
+15f8800af806fb641513fd909f8fa08b968b97899f698b6a8b6c786262089f79059a
+9d9794938b8d8b8e888b848b868981887f086efb030513fe898086708b7e8b6a997c
+b98bad8baf9cb0b5867c89828b898b7f8e76ac8bac8baa9fb4b408779c057d7a7e81
+848b888b888e8b928b918d948e9708bdf7660577885f857f8b816277358b8b773650
+65788b808b89938b9d8b958d9c8f9a080ef78589acf78bb1e8a9f70db36cac75a912
+b7adf717adf729e0f74cacb0aa13f3e0f8cef7aa15e08b8e748e5e9185a08b91918a
+ae8a9e8bad8bad8ca18ca98591768b85858854887e368b082ef76606a39795a31ecc
+06f58ba463a146978b968d938efffffaccccb4fffff0e668ff00606668fffffe9998
+ff00079998ffffff999cff00024cccfffffeccccff0000b334fffffd99988bffffee
+8000fffffc9998fffffb3334ffffff6668ffffe74ccc8b08ffff00b3340613ebe08b
+8b3c8c598c85858b769185d1889c868b3808fbf8078b387a86458885858b769185bc
+8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08f73007fba0f77a156973
+68626173adae1e13e7e0afa2afb6b89f646a1efb398c15aa0a0e9c46c2a976f886c0
+01e9c7d0c4f755d303f8b5f73d158bf70d36ddfb01ad6066596e596f6baa75b78bb8
+8bbaa7aeb0a5aa74ac73b38bc38bb3b9a7b7087e8f057c716e7c6e8b648b67a170a8
+4d4a245e8b228bfb07f715588b2c8b707875777d084abd2c409680aaa3cc5805bfbe
+ecb88bde8bba6bb66eada59cb1a3ab8bec8bc8fb128b358b396848465d70a565a764
+8b08548b615e6a66089583059c9fa29aa58bba8bb666a76bacdcf74bb18bf750080e
+f75389acf7b6b5f78fac01f5ff00504ccdff0041b333a8f7eae003f958f70e15f825
+078bde9c90d18e91918ba085915a8a6d8a588b598b6e8c598c85858b769185d1889c
+868b3808fb34fbeaf734078bde9c90d18e91918ba085915a8a488a588b598b398c59
+8c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8cdb8cbe
+8bbd8bd08abd8a91918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885
+858b769185bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08fffdf64c
+cc3515ff00000001ff00156666ff0000b333ff01ae999affffffcccdf70c08ff0040
+33338b8cfcd0054f8cff00364ccd894f8c080e757fc0f7f4bcf75ca9a57712f7d1db
+80d913f4b4168f7fd4a3c3f78405d9eec7b5ae8ba08b9d7d8b6c8b798673836c0861
+fb350513f8f8810a13f493a891aa8ba08bc76d9d658b578b4a7430fb0008e4f81775
+8b0575827c8777877a8865857b8b08877205888d898e1eac8f05989281781f8b8189
+7e877b080e757fc0f7f4bcf760a69a9512f7d1db80d913f4ff00f48000ff022c9998
+15ff00208000ff008d6668758b0575827c8777877a8865857b8b08877205888d898e
+1eac8f05989281781f8b81897e877b08fffff7199affffd9ccccffff90e666ffffe8
+33348b63ff00656666ff0015b334ffff8c999afffe0e4ccc8f7fd4a3c3f78405d9ee
+c7b5ae8ba08b9d7d8b6c8b798673836c0861fb350513f8f8810a13f493a891aa8ba0
+8bc76d9d658b578b4a7430fb0008ff002ecccdff00cb8000ff00803333ff001b8000
+8bb305ffffd88000fffff78000ffffd88000fffff79998ffffd88000fffff7800008
+0e797fd3a9caf73a9ff786d801bdadf789c8bccd03bdf876158bfb18eb77d880088c
+9f0550967f8e6ca86fa581a98ba88bd2c9b6d88bcc8be165b079084d41057b7a8777
+8b758b739270987508d6fb06058f85966f8b708b483d7a778b7b8b7d91799308fb0e
+cd057e927e917f8b7f8b7c86767f083e5c997b05a4969991998b988b98879f7f08f7
+1d400599839888958b998b9a949892f73aee8dc18bb08bcafb07f7178bbd8b99919e
+9a9c08dee90532bd2ea55a8bfb148b363e8b28080efb7380bff8b4a501e4d5eab603
+f737f7eb15f70a07e59dadaca1a1745e1e8b526657585308b1fbcb156485b7d71f8b
+f724979605d7d1bdc48be008b17ab84d40516dfb3b1efb1f0772756f737277089875
+ccc18bfb070520a46dc91eb48bbaa6b2c508789d056a616f827c8b080ef84b89ac6c
+b2f8cab36cac12f1dbff0040e666ff001e199af829bc132ef93ef89415fbe207788b
+80841e838b809d6eb008fbebf84e05139efb998d0585858b769185b688a968917108
+fc35078b327a85458485858b76918508134ebc8cde8cb78b08139eb68bdb8abd8a91
+918ba0859145927a8f8be608f7cb078bb3fffffe8000ff0012b334ff00068000ff00
+034ccc8f8dff000fb334ffffe9ccccff00114cccffffea333408f7f2fc4c05ff000b
+8000fffff16666ff000b8000fffff4999a9b8b089994979e1ff877078be49c91d192
+91918ba0859108132efb048905131e608b798c598c85858b76918508d1849c878b30
+08136efffe4ce666fc6d15ffffbf199af8cacc06ffffffcccdffffc71998ffffff80
+00fffe978002ff00009999ffff6b6666080ef80081abb0b7d6a4f778a4f736a777ab
+128fd7d4b8f7d6b8d4d74cc6f720c613f7d0f75af73c15f7a307a48c978f1e8e8b90
+83937e08f79afc4d059877a2859b8b08999d999e1ff87407f092a3b21e998b917692
+7e9479977ea18b089d9a97a5ab63a658337c60fb1b1ffbc2076e897f851e848b7f9e
+6ebc0813fbd0fb9bf84dfb188b898a0513f7d0780713fbd0869388901e9006ac8ba8
+61917108fc2707268473641e7d8b85a08498829d7f98758b08797c7f716bb370be1f
+e39ab6f71b1ff93cfb011598999f94938792811ffb65067f7e7a7e849184941ff700
+f8211513f3b0326340444bba47dcff00531998ff002ee668d1ccff0048199a66ff00
+46e6662f1fd1fb3615f8820a0eea8aa8f794b1f7baa57ba712dcadbfdcf77adc13de
+f872f87215f8830afb7afb5615cd8bd18db09cb59debc08bf48bbd7ab467ad5bb844
+904c8b0813eefb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998
+538b05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e71
+06637c99a91ffb195f15f8840a0ef72bfb65bfb6b2f959a301afe5d8adf7e0e503f9
+27f7dd15690afc5cffff16333315ffffd1b333ff00366666ffffe14ccdff004f6666
+8bed8bff00724cccff0020999aff0050e668ff002c6666ff0031e66408adfffe01e6
+6815f8a8fffff4800007ff0020199aff001ae668afff000d1998ff002166668b08f7
+18f702fb0efb5efb4732fb09fb061fffffd280008b5eff0010e666ffffd98000ff00
+1f199a080ef727acd9f86bd657c012a2abf716b7d8e013bca2f86f158bfb1af7368b
+8b5d8b807e838785089f7cabba0590928f938b958b9e80a16b9b0835b605739776ab
+8bab08a19fdbeaf702a528fb411e8bfb058639543a0844bd05878e888c868b818b82
+80797b084b559d7d0599959a92988b9c8b96839a8008ad6f05a096d9c7b5c1bccb8d
+c18bec8bc387d47fda08c3af0513dc96929790958b9a8b9c849c7a08d348fb41fb0c
+95798f8b05a48b9781966cb9fb1762fb23f25708edda7ea00581877f847e8b4e8bc0
+f753fb03f72208f737f707fb25f712058591848d868b7f8b8084838408fb09360573
+b087a160a10813bc71987091708b08fb073f41fb011f0eea85a675a8f794b1f7baa5
+7ba712dcadbfdcf77adc132ff872f87215f8830adc8c158bbd7ab467ad5bb844904c
+8b081377fb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998538b
+05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e710663
+7c99a91ff76807cf8ba885908408f2fb540513afa45cb865c68b9a8b9d8d958f0887
+a005668b6aac74b70820f76105b799e9c48bf4081367fc50fc5715f8840a0ef751f7
+afa37da0f7d29f12a1c94fa977a9f711d05ba813b2f779f91015728c909b478b568b
+49668b508b4cd46eb57ba880a27d8b598b607173688b688b6ab586b30813a88a936d
+880513a68f66917f8b5408a98c058c908b8e8a8d8d8a8c8a8e8a95859b82b58bd08b
+bebf8bc58bcc54a3599d0813b176925b9d8bba8baba2a5a88bb78ba06a945e08a88f
+05f81ffb68158c898b888b8908136080897f861e7d0613a0828389861f8b83051360
+9185058bb98d9fa0b7898b1e91910513a09307136090858d7e1e7d06838b8999899b
+0874f79e8b9105968e90911e9a0690978c901f8b938891398b056935652f683408fb
+04f79d328b86858b83058b889089978a089b06918e867f1f8b898b88058535832c85
+368a7d887b848b087d0613a07f8589861f8b830513609085058ba88d9ea0b2898b1e
+8e910513a09307136090818d841e7c06868a94991f91078fcb90cb90ccb22cc7fb23
+8b8b8f8494888f8b958b8f8f8e918b8bccf736acdc080ef77ef7b9a0f7cca501f71f
+cf03f763f7e915f79c079c8e8f961eb606a18b9185975e08a29078e67283058c888c
+838c8b08fb7d068c8b8c938c8e0873937831a1850596b89291a08b08be06958f877b
+1ffb9d07798285751e7d06888989881f8b7e8c8a058bc88ca09fca8a8b1e8c8c8b98
+058e898d881e7d067484949a1ff8678e158407808a7f861e7d06828389861f8b8391
+85058bb98d9fa0b7898b1e91918b930590848d7f1e7d06838b8999899b0874f79e8b
+9105968e90911e9a0690978c901f8b938891398b056935652f683408fb04f79d328b
+86858b83058b889089978a089b06918e867f1f8b898b88058535832c8536897d897b
+848b087d067f8589861f8b839085058ba78d9ea1b2898b1e8e918b930590818d841e
+7c06868994991f910791cb8fcb8fccb32cc7fb238b8b8f8494888f8b958b8f8f8d91
+08eef787050ef70f8bb2f8cbb3977712cda9f8d3a91398f77db1153d8bf826f8cbdc
+8b05b0fcf1158fc396c496bf086d900577436e503e8b08fb7d067b828f941f8b908e
+91919408f80af89b059fa78f958b968b92888e788b0813d87e8b788a6c8808fc4c06
+13b85c8b8e94668e87558143836208a9860513d8a0d09dbed68b08f77306928e8985
+1f8b868884868408fc19fcb105868388838b8408819086991e0ef71c8bc6f8c9ad12
+b7a478e7f837e672a513d8f85df70915f7950a13e0f7a30a13d8f7970a13c4f7980a
+0ef71c84adf8c9c612b7a572e6f837e778a413d8f784f8aa15fb036637248bfb0c08
+fb28f1fb19f75bf759f3f729f7181e8bf71434eafb00b00887c5f28b0513c4c08b9e
+849056ff00084cccfffffc6668ff00086668ffffff4cccff00084cccff00044ccc8b
+b4fffffdb334ff0027ccccfffffb4cccff0026333408fb6906808585821f93fb1405
+13d8e74db24e8bfb0408fb1445fb0afb1ffb163bf5f7211e8bf700b3d4e7c00893f7
+15059486907f1efb640613e08769885e8b63ff00074ccc87ff0008b3348b958f91c4
+a08ebc8b08ec060e5b81a8f74ea7f746a801a9def7b0de03f705f77d15ef079ec8c6
+dddbc852791e2407fbb06f15f80306f729fb09e1fb00fb102626fb10fb11f027f710
+1ed48bccaeb4bf08699605685e5873518b08394ec8a21f0e3ba07612acbd63ba77f7
+04f775ba13a8f859f84e15f7f70a13c8f7f80a1398f7f90a13c8f7fa0a0e2e8beff7
+cdf601f806b103f782f89c15f7fb0a0efb769a7691ef12bcf7556ba31350f77ef7bc
+151360f7fc0a1350f7fd0a1390f7fe0a0efb0f9f76f832f612f7a3c753ce13e0f7df
+f7b715f7ff0a13d0f8000a0efba789adf7f7a9e9f70c01f0f70203f767ff01414ccc
+15bd8eff0048b3348b1eff00026666fffffb6666ff0000999afffffd999a1effffe0
+80008145fffff58000ffffba8000fffff68000088d6db48705998a93808b5908fb88
+078b6f7bfffff633336cfffffacccd087f8905fffffc199affffff4ccdfffffce666
+fffffdb3338b85088b748d89058bdc8dafb2dc898b1e8d8d8ba2058b91fffffbe666
+ff0002199afffffc199aff0000e66608818d05ffffe26666ff0005e666ffffee999a
+ff0009199a8ba708fb08f882156aa670acaca6a6acac70a66a6a70706a1e0ef88681
+d3f7c0d801f72aacf5acf708adf4adf713acf5ac03f9cff7fe15b197587c1f8b566f
+58776d72a56ab78bc1089c97c6b71efcdf16aa9d656f1f8b5064586f6b79ab76b78b
+be089e97c9b81ef7b416ac9b65701f8b506c54726874a971bc8bc0089f97c9b71e63
+fb8d15706f5f745e8b7a8b578f5db8a9afaedb8be108c479d048487742521e8b419c
+4aa25e60694e74418a089441059d8bec8fe1dac73cc884af8bab8bc192c7d2ab65c1
+63d18bb48bc197c4dbb95dd162e4890894d5054f8d4a9a51b7a2b7a2d08bd508af80
+e3433d802b6a1e8b3fa746aa5e726f606d528b578b61a171a3a5b4acdb8be108ad7f
+e542487640531e8b3fa245a65a080eee36a9f71ca6f6a9d1a8f7957712f71bc1f76b
+bde5c66ac913fe00f8a8f8ed15b80a13ff006dfc3015f8850a13fe80f8860a13ff00
+f8870afc3bf81a15b40a0eee34a9f71ca6f6a9d4abf79177a8a912bac0efc97ba3f7
+14bde5c66ac913fe40f8a8f8ed15b80afc895515f8880a13ff40b90a13fec0ac0a13
+ff40ba0a13fe60f865fbfc15f8850a13fe50f8860a13fe60f8870a0eee35a6f739a6
+d1aed9a8f7947701f722c1f7fac403f8a8f8ed15b80a77fcd415f86c0afc3ef8bf15
+b40a0eee36a6f739a6d1aed8abf79177a8a912bbc0efc97ba3f7b0c413fe40f8a8f8
+ed15b80a78fcd315f86c0afc75f89d15f8880a13ff40b90a13fec0ac0a13ff40ba0a
+0eee36a6f739a6d1aed1a9f71ca6ee77a7a912b8bde5c66ac9f7abc413ff20f8a8f8
+ed15b80a13ffa0fc197915bb0a13ff60af0a13ffa0b00af803fcc115f86c0a0eee36
+a6f739a6d1aed9a8d1adf72b77cc7701f73fbbf7e5c403f8a8f8ed15b80afc27fb5d
+15f86b0af815fc2215f86c0a0eee35a3f729a3f7059ed4a8f7947701f727c1f751c0
+f70bc403f8a8f8ed15b80a7ffcdb15f86d0ac49015f86e0afc7af8c115b40a0eee36
+a3f729a3f7059ecea6f739a6d2779eae12f75ec4f716c0f70bc413fdc0f8a8f8ed15
+b80afc08fb4715f8890a13fbc097dcf71b8b0513fdc08b8c0513fbc0f88a0af7fbfc
+2715f86d0ac49015f86e0a0eee34a5f7a9a5d4a8f7957712f722c1f75bbd68bcecba
+6ac513f800f8a8f8ed15b80a48fc0d1513fb00f8710aeb6215f8720a13fc80f8730a
+242915f8740afc08f88215b40a0eee36a5f7a9a5cba9f71ca6ef77a6a912bbbde5c6
+6ac9f70abd68bcecba6ac513fe00f8a8f8ed15b80a13ff00fc167815bb0a13fe80af
+0a13ff00b00af7d2fbf81513fe30f8710aeb6215f8720a13fe48f8730a242915f874
+0a0eee35a5f7a9a5cfa6f739a6d2779eae12f75bc4f719bd68bcecba6ac513fa00f8
+a8f8ed15b80afc0bfb4715f8890a13f60097dcf71b8b0513fa008b8c0513f600f88a
+0af7c2fb591513f2c0f8710aeb6215f8720a13f320f8730a242915f8740a0eee36a5
+f7a9a5f7f9779bb112b7a0839d9fadf7a2bd68bcecba6ac513e220f8a8f8ed15b80a
+13d600fc628f15f86f0a13da00f8700af823fc0f1513c2c0f8710aeb6215f8720a13
+c320f8730a242915f8740a0efb65f7d0a8f7947701f71fc103f8a8f8ed15b80afc55
+7615b40a0efb9e89aaf8b3a901f702d703f74ed915f851078ba89995b69208998e05
+908c8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77058b858f8a908a0897
+8805b3849d848b6b08fc51078b6d7c816084087e8905868a88888b86088b778d8905
+8bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d05649179938bac080e5f8b
+aaf8aeaa01f700d7f72ad703f74cd915f88b0af77616f851078ba89995b69208988e
+05908c8e8c8b91088b9f898d058b3e89661efb770662428d8b1f89898b77058b858f
+8a8f8a08988805b2859e838b6b08fc51078b6d7c816084087e8905868a88888b8608
+8b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f058b90878e878c087e8d0563
+927a928bac080ef74f8baaf8aeaa01f702d7f72ad7f72bd703f74ed915f85107a899
+9cb61eaf06b49b7d6b1ffc51076d7d7a601e6706627b99ac1ff77616f85107a89a9c
+b61eae06b59b7d6b1ffc51076d7c7a601e6806617b99ac1ff77716f851078ba89a95
+b59208988e05908c8e8c8b91088b9f898d058b3e89651efc580662418d8b1f89898b
+77058b858f8a908a08978805b5839b858b6b08fc51078b6d7b816184087e8905868a
+88888b86088b778d89058bd88db11ef85906b4d4898b1f8d8d8b9f058b90878e878c
+087e8d0562927b928bac080ef79a937696aaf8b0aa12f702d71370f7f5f8ec15fb61
+0662418d8b1f89898b77058b858f8a908a08978805b4839c858b6b08fc51078b6d7d
+815f84087e8905868a88888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b
+90888e868c087e8d0562927b928bac08f85107a8999cb61eaa069c8ba288917808f7
+48fcab0513b0907b9382968b978b8f93919c08f74bf88c0598ad9099b390089d8e05
+908c918c8b90088b9f888e058b49897a7c288d8b1e89888b7705878c88901eab8805
+a8899c867e6708fb1efc1a898bfb14f81a0582a88997ae8d08b38e05908e8f901f8b
+9d898e058b25896b1e0eaf9376f8dda901f70bf8ec15743c8d8b1f89898b76058b87
+8c89908a08a08805af8790879d5608f73afc8405907b9482968b978b9393919c08f7
+4af88a0599b29196b190089d8e058f928d901f8ba0898d058b4089837b218d8b1e89
+898b7605878d88901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797
+ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0ef79a937696aaf8b3a912f9
+12d713b0f70bf8ec15743c8d8b1f89898b76058b878c89908a08a08805af8790879d
+5608f73afc8405907b9482968b978b9393919c08f74af88a0599b2909bb28b08a106
+b49c7d6b1ffc51078b6d7c8160840813707e8905868a88888b86088b778d89058bd8
+8db1b4d5898b1e8c8d8b9f058b90888e868c087e8d05649179938bac08f851078ba8
+9995b69208998e05908c8d8c8b91088b9f8a8d058b3d89661efb42067b218d8b1f89
+898b7605878d88901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797
+ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0ef87a937698aaf8aeaa12f9
+10d7f72ad71378f95cd915f88b0afce5f89e15743c8d8b1f89898b76058b878c8990
+8a08a08805af8790879d5608f73afc840513b8907b9482968b978b9393919c08f74a
+f88a0599b2919bb18b089f06b19f7d6b1ffc510713788b6d7c816084087e8905868a
+88888b86088b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f058b90878e878c
+087e8d0563927a928bac08f851078ba89995b69208988e05908c8e8c8b91088b9f89
+8d058b3e89661efc22067b218d8b1f89898b7605878d88901eaa8805a589a5867e67
+08fb1ffc1a898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb
+0589741e0ef977937696aaf8b3a812f928d7f72bd7f72ad8137cf9aea815617b99ac
+1ff85507a89a9db61eae06b59b7c6b1ffc55076d7c7a601ef74a6c158bf28db0b4d6
+898b1e8d8d8b9f0590868f861e8006617b99ac1ff85507a89a9db61e9706908f8d91
+1f8b9e898d058b3c8966622c8d8b8b56896562448d8b8b3f896562448d8b1e7a8b50
+89838b7b8b308d838b088a888b7805878c88901eab06a68ba4817e6708fb29fc1afb
+16f81a0583a8869caf8b08b306918f8f901f8b9c898e057b8bfb0589848b7c8b3a8d
+848b088a888b7805878c88901ea0069c8ba285917808f747fcab0513bc907b948296
+8b978b9393919c08f74ef8940597ad8f99af8b08ba06b49b7c6b1ffc5507137c6d7d
+7a601e7f06868787861f8b778d89058bd88db1b4cf898b8bda8db1b4b8898b1eb8aa
+156706627b99ac1ff85507a8999db61eaf06b49b7c6b1ffc55076d7d7a601e0ef7c6
+89aaf8b0aa01f702d7f7c7e303f7f1f8ec15fb5d0662418d8b1f89898b77058b858f
+8a908a08978805b3849d848b6b08fc51078b6d7c816084087e8905868a88888b8608
+8b778d89058bd88db11ef73d069ae6898b1f8d8d8ba1058d8a90861e798d05668e93
+9b9ba108f70ff73e05919291928e8b8e8b9087908408f70ffb4405a26b8e88668808
+788905878a87881f8b758d89058bf7048d901e978bc98aa48a088d8d8ba1058d8990
+861e628e6aa672b008fb25f75905829885938b958b939194929608f70bf73505a4ad
+a1a3c48c928c8c8e8b8e088ba0888d058b34898780398d8b1e89898b76058b868e8a
+8e8a08a88905a689877e797308fb09fb320586848686888b888b8790879108fb01f7
+330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb0089871ffb37fc9e15
+f85107a8999cb61ea0069b89a889b25408f719fb4f05928090848b818b8688828584
+08fb14fb450577706c6a5785088106647999ac1f0edb89aaf8b3a901f7a3e303a6f8
+d7158b87908a95899b89a886b25408f719fb4f05928090848b818b868882858408fb
+14fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1
+058d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b9087908408
+f710fb4405a26b8d88668808788905878a87881f8b758d89058bf7048d901e978bc9
+8aa48a088d8d8ba1058d8990861e628e6aa672b008fb25f75905819886938b958b93
+9194929608f70bf73505a4ada1a3c48c928c8c8e8b8e088ba0888d058b3489878039
+8d8b1e89898b76058b868e8a8e8a08a88905a689877e797308fb09fb320586848686
+888b888b8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e
+8b8bfb00898780368d8b1f8788050ef7c58baaf8aeaa01f7a3e3f7d5d703f8e7f8cd
+15a606b3849d848b6b08fc51076d7c7a601e8206648f6ca573ae08fb25f759058298
+85938b958b939194929608f70bf73505a4ada1a0c48c08fccc95158b87908a95899b
+89a886b25408f719fb4f05928090848b818b868882858408fb14fb450576706a6554
+8808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1058d8b90861e798d05
+668e929b9ba108f70ff73e05919291928e8b8e8b9087908408f710fb4405a26b8d88
+668808788905878a87881f8b758d89058bf7048d901ef75606b4d6898b1f8c8d8b9f
+058b90878e868c087e8d05649179938bac08f851078ba89995b69208998e05908c8e
+8c8b91088b9f8a8d058b3c89661efb650680398d8b1f89898b76058b868e8a8e8a08
+a88905a689877e797308fb09fb320586848686888b888b8790879108fb01f7330578
+a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050e
+f8a58baaf8aeaa01f7a3e3f7d3d7f72ad703f8e7f8cd15a406b2859e838b6b08fc51
+076d7c7a601e830665906ca473ae08fb25f75905829885938b958b939194929608f7
+0bf73505a4ada1a0c48c08f733fc7f15f88b0afd6bf889158b87908a95899b89a886
+b25408f719fb4f05928090848b818b868882858408fb14fb450576706a6554880886
+8788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba1058d8b90861e798d05668e92
+9b9ba108f70ff73e05919291928e8b8e8b9087908408f710fb4405a26b8d88668808
+788905878a87881f8b758d89058be78da41ef83606b4d4898b1f8e8d8b9f058b9086
+8e878c087e8d0563927a928bac08f851078ba89995b69208988e05908c8f8c8b9108
+8b9f888d058b3e89661efc450680398d8b1f89898b76058b868e8a8e8a08a88905a6
+89877e797308fb09fb320586848686888b888b8790879108fb01f7330578a58396aa
+8d08aa8d058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050e5289aa6e
+b4f8a7a912f705d7f7a3a313b8f705f89f15fc57078b6886876589086a8905878888
+861f13788b760513b88d890513788bda8db21ef7670613b8abd1898b1fa0f747738f
+0513785ffb1d5d887a8b08fb1306727f8faa1ff853078ba89995b69208998e05908c
+8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77058b858f8a908a08978805
+b3849d848b6b080ea681b6f8b3ad01ade5f812a803f7d98115ec8bcdb8c7e387ff00
+07999a82ff000599997fff0001cccd49386375368b08fb1138f714f71df768f709cd
+da1ff7008bbf4aa52e9689ff000a1998ff00008000ff0007e668ff00058000fffffd
+6668ff0030e666fffffbe664ff00314ccefffff2b334ff0033cccc6e916dabfb1e8b
+fb338bfb11fb198bfb558bffffb1cccdff001c199affffb2b333ff0037e666ffffc7
+800008ff002fcccdffffcfb333ff00498000ffffde4ccdff0055b3338b080ef71289
+aff8a8af01eed7f807e603f743f8a115b19d8ee0f70df72752fb8ffb0062fb08fb60
+fb017a93af1e65f89e1562418d8b1f89898b77058b85908a908a08968805b3849d84
+8b6b08fc51078b6d7c816084087f8905868a87888b86088b778d89058bd88db11eb1
+8bf70c89b18b08f74bf70df706f73ff754fb2cf713fb491f558b5289538b080ef7c2
+957694aaf8b3a9121360f769f8ec15fb2d8d89898b7505888d86921ea88a05a78a96
+888b630865fc5605886685866b89086b8905878789851f8b768d89058bc68db1b0c6
+898b1e8d8d8ba0058e8990851e6c8d05688d86948eac08adf821f76cfc690513a08e
+858f83918b928b918f8f9308f773f876b3fc2e058b6e8a8068890813606d8905868b
+88888a86088b768d89058bce8db5bbd6898b1e8d8d8ba0058b8d8890848c086d8d05
+708d7f8c87b2085ff857058bac9595a98d08a98e058e8b8f8c8c92088b9f898dfb18
+89fb73fc78888b050efbb486a1f80aa2d7ef12e0ef2ed713f0e0f8b215840a13e8de
+fb8415ff00033333ff004ee666ff0006cccdff0005199ac59091918b968591638aff
+ffe7666687ffffd6999a8bffffd6999a8bffffe866668f628c85858b809185c587ff
+0006cccdfffff9e666ff00033333ffffb1199a088d598b2b8959fffffccccdffffb1
+199afffff93333fffffae666518685858b819185b38cff001933338fff0029cccd8b
+b48ba287b48a91918b95859108518ffffff93333ff0006199afffffccccdff004ee6
+660889bd8beb8dbd080e228ba8f807a8c8ef12dfef34d6f702ef34d613eaf7bbf7f8
+15f88c0afb5a16fbae078b6efffff53333fffff36666ffffdfcccdfffffc999a0878
+890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef75a06afd0898b
+1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034ccc
+fffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff
+00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb
+5a0667468d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020e6
+66fffffc8000ff000a199afffff380008b6f0813e4f74df74e15840a13f0fb5a1684
+0a0ef38ba8f807a8c8ef12dfef34d6f702ef34d6f703ef33d613e280f881f7f815f8
+8c0a13e880fc2016fbae078b6efffff53333fffff36666ffffdfcccdfffffc999a08
+78890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef82006afd089
+8b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034c
+ccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000
+ff00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671e
+fc200667468d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020
+e666fffffc8000ff000a199afffff380008b6f0813ea00f75a16f88c0a13e100f74e
+f74e15840a13f000fc2116840a13e400f75a16840a0ef72c947695a8f80ba8c6ef12
+e0ef33d61374ecf7f815fbae078b6efffff53333fffff36666ffffdfcccdfffffc99
+9a0878890586ffffff800088fffffd80008b86088b788d89058bd18dafafd0898b1e
+8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0cccdff00034cccff
+fff53333ff000cb3348ba808f7ae07a7969baa1e9d06a887ff0014e666fffff9b334
+ff000e199affffdc4ccc0813b4f71cfbed05917c9185988b958b9291929c08f71ef7
+e7059bb2a295a88e91ff0000999a90ff000366668b90088b9d898d058b6289706652
+8d8b1e87898b77058b888efffffc4ccc90ffffffb334be88ff00086668fffff94ccc
+ffffee9998ffffd9b3340832fb6f7a607ab935f76e05fffff5e666ff0017999affff
+fd8000ff0010b332ff001f999aff0003b334089c8d058eff0000666691ff0001199a
+8bff00068000088b9e878d058b4e89641efb460667468d8b1f89898b78058b868eff
+fffd800090ffffff8000089e8905ff0020e666fffffc8000ff000a199afffff38000
+8b6f0813387ff74e15840a0e359576ff0191b334a201f7cef81b159b0a0ef7299476
+95a8f809a8c8ef12f8a0ef33d61374f8acf7f815fbae078b6efffff53334fffff366
+66ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d89
+058bd18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efb2c0666528d8b1f87898b77058b888efffffc4ccc90ffffffb3
+34be88ff00086666fffff94cccffffee999affffd9b3340832fb6f7a607ab935f76e
+05fffff5e666ff0017999afffffd8000ff0010b332ff001f999aff0003b334089c8d
+058eff0000666691ff0001199a8bff00068000088b9e878d058b4e896469568d8b1e
+88898b77058b8690fffffe999a90ffffff6666ff001c8000fffffc8000ff00154ccd
+fffff76666ff000e3333ffffdc199a0813b4f71cfbed05917c9185988b958b929192
+9c08f71ef7e705ff000f8000ff0025b334ff00158000ff00084ccca78f089b06ac95
+7b6f1f13387ff74e15840a0ef7ec947697a8f807a8c8ef12f89cef34d6f702ef34d6
+1375f96ff7f815f88c0afc2db915f88d0a13b5f88e0a13758b6efffff53334fffff3
+6666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d
+89058bd18daf1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efbf80666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb334081338f75af72015840a1332f75a16840a0ef8b2947697a8f807a8c8
+ef12f89cef34d6f702ef34d6f703ef33d6137500f96ff7f815f88c0a137140f75a16
+f88c0afcf3b915f88d0a13b440f88e0a1374408b6efffff53334fffff36666ffffdf
+ccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18d
+af1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efcbe0666528d8b1f87898b77058b888efffffc4ccc90ffffffb3
+3408133200f820f72015840a133800fb5a16840a133080f82116840a0ef7198ba8f8
+07a8c8ef12e0ef33d6f77cd313ecf77ba8157a066c809ba81ff7ae07a7969baa1e9e
+06ad88ff0012e66678ff001c199a6208e2fb13058d888c898b888b888a898a890837
+fb0005ffffd7199affffcb6666ffffe8e666fffffd999a748808f734f807159a8d05
+8fff000080008fff000280008b90088b9d888e058b3a896d1efb3a0667468d8b1f89
+898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc8000ff00
+0a199afffff380008b6f08fbae078b6efffff53333fffff36666ffffdfcccdfffffc
+999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf1ef73206
+acbe898b1f8d8d8b9e058b9089ff00024ccd86ff0000b333087d8d056f8fff000c99
+9aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c5
+3b05ff0016e6686dff000d4cccffffec6666ffffdfccccfffffa999a087f8905ffff
+fb199affffff3333fffffde666fffffdcccd8b86088b788d89058bca8db4adc0898b
+1e8d8d8b9e058b9187ff0001199a81ff0000e666ffffe080008efffff04cccff0002
+3333ffffd43334ff003dcccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605b0
+baff000f800094ff002480008e91ff0000800091ff000080008b92088b9e8a8d058b
+5a896b6c5c8d8b1e88888b78058b868efffffe66668effffff999a089b8905ff0021
+6668fffffbccccfffff2e664ffffede668ffffefb334ffffeb4ccc084a3005878689
+89888b878b888e8891084ee505ffffedccccff001c199afffffa3334ff00098000ac
+ff000466660813f4fbc6f72215840a0e5286a2f809a201f744f7e9159d0a0ef71789
+a8f80ba8c6ef12f764d3f776ef33d613f4f757f824159a8d058fff000080008fff00
+0280008b90088b9d888e058b3a896d6d5a8d8b1e89888b78058b8792fffffd999a92
+ffffff6666ad88ff0012e66676ff001c199a6208e2fb13058d888c898b888b888a89
+8a890837fb00056155ffffe8800088ffffe8800088fffff7199afffffee666fffffb
+e666fffffd199a8b85088b7a8d89058bb98da8acbe898b1e8d8d8b9e058b90fffffd
+e666ff00024ccdfffffb199aff0000b333087d8d056f8fff000c999aff0014199aff
+000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c53b05ff0016e666
+6dff000d4cceffffec6666ffffdfccccfffffa999a087f8905fffffb199affffff33
+33fffffde666fffffdcccd8b86088b788d89058bca8db41ef73b06afd0898b1f8d8d
+8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034cccfffff5
+3334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff000333
+34089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb3d066c
+5c8d8b1f88888b78058b868efffffe66668effffff999a089b8905ff00216666ffff
+fbccccfffff2e666ffffede668ffffefb334ffffeb4ccc084a300587868989888b87
+8b888e8891084ee505ffffedcccdff001c199afffffa3333ff00098000acff000466
+6608f7d75f15fbae076e807b6b1e7c066e8effffefcccc8effffd63334c60831f713
+05898e8a8e8b8d8b8d8c8d8d8e08dff605b0ba9a92b08e089e06ac957b6f1f13f87f
+f74e15840a0ef7c989a8f80ba8c6ef12f764d3f761ef34d6f702ef34d613f1f757f8
+24159a8d058fff000080008fff000280008b90088b9d888e058b3a896d6d5a8d8b1e
+89888b78058b8792fffffd999a92ffffff6666ad88ff0012e66676ff001c199a6208
+e2fb13058d888c898b888b888a898a890837fb00056155ffffe8800088ffffe88000
+88fffff7199afffffee666fffffbe666fffffd199a8b85088b7a8d89058bb98da8ac
+be898b1e8d8d8b9e058b90fffffde666ff00024ccdfffffb199aff0000b333087d8d
+056f8fff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e
+8b8d898f8608c53b05ff0016e6666dff000d4cceffffec6666ffffdfccccfffffa99
+9a087f8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d89058b
+ca8db41ef7ed06afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d
+05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000
+ff000cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b9008
+8b9e898d058b4589671efbef066c5c8d8b1f88888b78058b868efffffe66668effff
+ff999a089b8905ff00216666fffffbccccfffff2e666ffffede668ffffefb334ffff
+eb4ccc084a300587868989888b878b888e8891084ee505ffffedcccdff001c199aff
+fffa3333ff00098000acff000466660813f4f7c35f15fbae078b6efffff53334ffff
+f36666ffffdfccccfffffc999a088706738effffef199aff0009b333ffffdae666ff
+00344ccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605ff00218000ff002a80
+00ff000f8000ff000a8000a98f089406ac957b6f1f13f5f75a16f88c0a13f8fb67f7
+4e15840a13f2f75a16840a0efbc886a2f9109ea47701ff005fb333cf03e8f215880a
+0efb2281b0f805a201aed7f757dd03f819e2157c0a0e4181ae8f9af7f3a3f77f9ea4
+7701b0d7f76cd003f7ddf700157d0a804f157e0a0ef76686a2f7f3bd619c12e8d2f7
+53d2f755d213dcf748f7cd15890a13bc8a0a0ef88b89aaf8b3a901c2e2f7f3d7f7f5
+e203f912f8ee15f88f0aadfcd115288794ae1ff84b07b4949ed4f704f73351fb8dfb
+52fb055dfb1d1efb47b7156a8b8026fb1dfb05cef752f782f727bbf70fd3947a601e
+0ef70089adf8acad01eed7ddc7f766e2039b9f158b778d8905b48daa8bb98bce8b92
+89ec8b08f718f743c7f77bf742fb23f71ffb481f4f8b68894f8b5d8b718c5d8c0889
+898b76058b878f898f8a08a68905b18895868b6908fc5b078b6c7c826a89086e8905
+888886871ff733be158bff0027333392fffff7cccd05be9edfc18bf7058bf70a6ea6
+45bc83ff0005199affffee6666ff0006199affffee999a8e08ff0022cccc07acad8f
+b9f75fd0fb31fb25fb51fb095efb182f8093aa1eff0030666604ff0122b33407ff00
+09199afffff64cccff00089999fffff7b334ff00064ccdfffffae666ad6ca3678b52
+8bffffbc4ccdffffd0b333ffffccb333ffffdd4ccdffffe76666080ef88b89aaf8b3
+a901c2e2f762c7e0d7e1c7f763e203f912f8ee15f88f0aadfcd115288794ae1f8bff
+0029cccd96fffff3333305be9edfc58bf7058bf70a4cc068a3fffff66668ff000599
+9affffecb330ff0006e666ffffece668ff00028000089507b4949ed4f704f73351fb
+8dfb52fb055dfb1d1e24ff0057999a15ff012f800007ff000ab334fffff43332ff00
+0a4cccfffff5b3349285ad6ca3658b528bffffb9b333ffffcde668ffffc84ccdffff
+dc1998ffffe8999a083ffffffe199915ffffd64ccd076a8b8026fb1dfb05cef752f7
+82f727bbf70fd3947a601efffff5cccc07ffffed999afffffd4cceffffecccccffff
+f96666fffff6999afffffa800068734c568bfb0a8bfb05de51bf780895f7d115fffe
+d1b3340768ff0017666659ff003799998bff00464ccd8bc4a2b1aeaaff0006ccccff
+0005ccccff0009e668ff0009ccceff000a4cccff000b6666080eca80b7f8afb201af
+abf83ce703f7a38015f76debf73bf735f748fb12f706fb401ffb0b8b5b614f878851
+8158815508ab8605a6e6bcdff7188b08f710e737fb4bfb3451fb04fb2b1f2f8b47ac
+40dd7e8b83848782d32dda5aec8b080efb2081b7f807ad01a2ddf75fd8039deb15ad
+41c06bd18b08f719d8f701f714f7093ceafb0c2152525c67a686941fa38b9f988d9f
+91ad90b7cd8b08d4c03bfb08fb04584c311f598b59a76bb7fffff76666ffffff3333
+86fffffc199afffffc999afffffab333080ef8cdf783bf01f7a7b303f7a7f8541535
+2a3a535a7a087407f7005ff700fb148b8a08b30664df62b96aa608f9fabffdfa06ab
+aabcc1a9d3080efb0cf8a3b301f758bf03f829f8cb152ae153dc7abc0874065ffb00
+fb14fb008a8b086307dfb2b9b4a6ac08fdfabff9fa07aa6bc15ad36d080ef8cdf783
+bf01f9c4b303f9ecdd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b4
+5dac7008fdfa57f9fa066b6c5a556d43080e287eb301f762bf03bc7e15ec35c33a9c
+5a08a206b7f700f714f7008c8b08b30737645d62706a08f9fa57fdfa076cab55bc43
+a9080ef8adf783bf01fa13f7b715fd4706a5ab9da4959ba0ac9aa795a2086406635d
+6466646e656f6b776f81087407b37bae76a771ca52b166987b08b3066bcf6abf66b0
+08f9470666676a566b4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a8
+64a864b063b808640695749a6fa06b957b9d72a56a080e29fb6a7601f762bf03f762
+f8f715fd47076ba5729d7b956aa06f9a7495086407b963b064a864a7659f6b956f08
+a2069bb3a0aea5a7c4cab0b19b9808b307476b576a666608f94707af66c06ace6b08
+b3077b9866b152ca72a876ad7ab3087406816f786b6e656e6466645e63086407a295
+a79aaba09b95a49daca5080ef7a9ff023d8000ff001acccc01ff004f6666ff001c4c
+cc03ff01523334ff02584ccc15ffff7e9999fffff83334ffff9f3333ff0011ccccff
+ffd14ccdff0016999c08ffffefb333ffffefb33005ff002d4ccdffff948002fffff1
+cccdffff59199affffff4cccffffff4ccc08ff001c4cccffffe3b33405ff001fcccc
+e2ff00038000ff003d9998fffffbcccdff002a666808ff02673334fffd98ccccff00
+24ccccff0024b333fffd98ccd0ff0267333405ff002c8000ffffff4cccff0048e666
+ff00039998ff0048199aff001db334080ef7acff023b4cccff001c4ccc01ff02dd80
+00ff001acccc03ff02f84cccff0154cccc15fffff83334ff00816668ff0011ccccff
+0060ccccff0016999cff002eb33408ffffefb330ff00104ccc05ffff948000ffffd2
+b334ffff59199cff000e3334ffffff4cccff0000b33008ffffe3b334ffffe3b33405
+e2ffffe03334ff003d9998fffffc8000ff002a6668ff0004333408fffd98ccccfffd
+98ccccff0024b333ffffdb3333ff02673334ff0267333405ffffff4cccffffd38000
+ff00039998ffffb7199aff001db334ffffb7e666080ef7a9ffffb9b333ff001acccd
+01ff02dc4cccff001c4ccc03ff01f5ccccffffb9b33315ff00816668ff0007ccccff
+0060ccccffffee3333ff002eb334ffffe9666708ff00104cccff00104ccd05ffffd2
+b334ff006b7ffeff000e3334ff00a6e667ff0000b330ff0000b33308ffffe3b334ff
+001c4ccd05ffffe03334ffffa90001fffffc8000ffffc26666ff00043334ffffd599
+9a08fffd98ccccff02673334ffffdb3334ffffdb4cccff02673334fffd98cccc05ff
+ffd38000ff0000b333ffffb71998fffffc6666ffffb7e666ffffe24ccd080ef7acff
+ffba6666ff001c4ccd01ff0051b333ff001acccd03ff0051b333ff00bd333315ff00
+07ccccffff7e9998ffffee3333ffff9f3334ffffe96667ffffd14ccd08ff00104ccd
+ffffefb33305ff006b8000ff002d4ccdff00a6e666fffff1cccdff0000b334ffffff
+4ccc08ff001c4cccff001c4ccd0534ff001fccccffffc26667ff00038000ffffd599
+9afffffbcccd08ff02673334ff02673334ffffdb4cccff0024ccccfffd98ccd0fffd
+98cccc05ff0000b333ff002c8000fffffc6666ff0048e666ffffe24ccdff0048199a
+080ef8cdf783bff7ce9501f7a7f85415352a3a535a7a087407f7005ff700fb148b8a
+08b30664df62b96aa608ff016566688bffff859998fc00af8bff007a6668f800ff01
+dc99988b8bbffffe34cccc8bff00613334f7b5678bffff9eccccfbb5fffe8933348b
+05abaabcc1a9d3080ef8cdf783bff7ce9501f9ecdd15e1ecdcc3bc9c08a207fb00b7
+fb00f7148b8c086306b237b45dac7008fffec3cccc8bff00613334f7b5678bffff9e
+ccccfbb5fffdfa33348b8b57ff01f466688bffff859998fc00af8bff007a6668f800
+ff014d99988b056b6c5a556d43080ef8cdf783bf01f6bd03f6f85415fc02bdf731f9
+98076a6c5b556c4308b206e0ecddc2bc9c08a207fb00b7fb01f7168b8b086306b237
+b55dac7008fd98f731060e29fb78b701f762bf03f762f8f715fd0c0765ad5ead41ab
+086407ec36c3399c5a08a206b7f700f715f7008b8c08b307476b576a666608f90c07
+af66c06acf6b08b3078b8bfb15f7005ef7010874067a5a54392a36086407cfa9c6b8
+a9a408f775fdaf15ab0a0ef8adf783bf01fa13f7b715fffed5cccc8bff00613334f7
+b5678bffff9eccccfbb5fffe9b33348b05a5ab9da4959ba0ac9aa795a2086406635d
+6466646e656f6b776f81087407b37bae76a771ca52b166987b08b3066bcf6abf66b0
+08ff015366688bffff859998fc00af8bff007a6668f800ff013b99988b0566676a56
+6b4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b80864
+0695749a6fa06b957b9d72a56a080ef8a2f821bff7327701c6f82115f8900a0ef8a2
+f783bf01c8f7b715f8910a0ef8a2f821bff7327701fa97f82115f8920a0ef8a2f783
+bf01fa99f7b715f8930a0ef8a2f783bff5bff7327701fa99f7b715f8930afe5ef722
+15f8900a0ef8a2f783bff5bff7327701fa97f82115f8920a8d2115f8910a0ef895f7
+30bcf70fbc01ff021b8000f73015ff01dd8000bcfffe32e66806ff00296664f70fff
+01a3b3348b8bbcfffe6ccccc8bff00443334f75f678bffffbbccccfb5ffffed33334
+8b0598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37e
+a108ff00e180008bffffa18000fbadaf8b05ff004ae668f7de15fffeec19980679a2
+76a0729da29da09f9da208ff013f4ccc060ef93ef730bcf70fbc01f786f7dc15ff01
+944ccc8bffffd6999cfb0ffffe9719988b0579a276a0729da29da09f9da208ff01b8
+4ccc16ff0143b334069d74a077a27972797676797408fffe94e66806ffffef99985a
+15ff01598000067e757f737f7108b306c7d2e1d6d1a408a20748a34cbd35ec086506
+96719773987508fffeefcccc8bff00443334f75f678bffffbbccccfb5ffffe7e3334
+8b0598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37e
+a108ff013680008bffffa18000fbadaf8b050ef895f72dbcf70fbc01ff024db334f8
+0a15ff00454cccf762678bffffbab334fb62fffdfa4ccc8b8b5aff01f54ccc8bffff
+d6999afb0ffffe34199a8b8b5aff01bb80008bffffa28000fbaaaf8bff005d8000f7
+aaff010480008b057e757f73807108b106e1eccabdcea308a20745a435d64fd20863
+0697719773987508ffff364ccc5a15ff00ebb334069d74a076a47974797677797408
+fffee8e668060ef895f730bcf70fbc01f7a9f80d1598a197a396a5086506352a4c59
+4873087407d172e140c74408b3067fa57fa37ea108f977bcfd990679a276a0729da2
+9da09f9da208f99bbc060e28f70fbcf70fbc03f7ecf8a215a17ea37fa58008b1072a
+e159ca73ce08740672454035444f086307a597a397a19808fd77bcf99907a29da0a0
+9da49d749f76a27908fd9bbc070ef895f72dbcf70fbc01f99cf72d157e757f738071
+08b106e1eccabdcea308a20745a435d64fd208630697719773987508fd775af99906
+9d74a076a47974797677797408fd9b5a060e28f70cbcf70fbc03f70c7d1575987397
+7196086507ec35bd4ca34808a206a4d1d6e1d2c708b307717f737f757e08f9775afd
+990774797676797279a277a0749d08f99b5a070ef943f730bcf70fbc01f786f7dc15
+f990069d74a077a27972797676797408fd8c0679a276a0729da29da09f9da208aebc
+1598a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37ea1
+08f948067e757f737f7108b306c7d2e1d6d1a408a20748a34cbd35ec086506967197
+739875080e29f8797612bef70d5abcf70fbc13b0f7bbf8ad15fcde07747977767974
+79a476a0749d08f8da07a29da0a09da4089d749f76a27908bc6815a17ea37fa58008
+b1072ae159ca73ce08740613d072454035444f08630713b0a597a397a19808fc9607
+13d0759873977197086307d24fd635a44508a206a3cebdcaece108b1077180737f75
+7e080ef7c1ff022a3334ff001acccc01ff0050e666ff001c333303ff01216666ff02
+10b33415ff0018b334ff00066664ff00198000ff00088000ff001a3332ff000a999c
+08ffffe5199aff001acccc05ffff7e999afffff83334ffffb0199aff00094cccffff
+bfb333ff001e666808ffffefb333ffffefb33005ff001fcccdffffbcccd0ff0007e6
+66ffff8e1998fffff83333ffffa3666608ff001c3333ffffe3ccce05ff0009e668ff
+001ae666ff00088000ff00196666ff00066666ff0018b33408ff020a8000fffdf580
+00ff0022b330ff0022999afffddd6668ff0222999805ff00038000a88bff001db334
+fffffb199aff001e6666a8fffffc8000a8ffffff4ccca8ff0003800008f8b8fcb8ff
+0022999cff0022b333050ef7c5ff0226e668ff001c3330ff001fe6687701ff02f833
+34ff001acccc03ff02deb334ff0172999a15ff00066664ffffe74cccff00088000ff
+ffe68000ff000a999cffffe5ccce08ff001accccff001ae66605fffff83334ff0081
+6666ff00094cccff004fe668ff001e6668ff00404ccc08ffffefb330ff00104ccc05
+ffffbcccd0ffffe03334ffff8e1998fffff81998ffffa36668ff0007cccc08ffffe3
+ccccffffe3ccd005ff001ae664fffff61998ff00196668fffff78000ff0018b334ff
+fff9999808fffdf58000fffdf58000ff0022999affffdd4ccdff0222999cff022299
+9805a8fffffc8000ff001db3308bff001e6668ff0004e668fffffc8000ffffe2fffe
+ffffff4ccc6eff000380006e08fcb8fcb8ff0022b333ffffdd6666050ef7c158ff00
+1acccd01ff02f2e668ff001c333003ff023e9998ff00014ccd15ffffe74cd0fffff9
+999affffe68000fffff78000ffffe5ccccfffff5666708ff001ae664ffffe5333305
+ff00816668ff0007cccdff004fe668fffff6b333ff00404cccffffe1999a08ff0010
+4cccff00104ccd05ffffe03334ff00433331fffff81998ff0071e667ff0007ccccff
+005c999a08ffffe3ccd0ff001c333305fffff61998ffffe5199afffff78000ffffe6
+999afffff99998ffffe74ccd08fffdf58000ff020a8000ffffdd4cccffffdd6668ff
+02229998fffddd666405fffffc8000ffffe300028bffffe24cccff0004e668ffffe1
+999a6eff000380006eff0000b3336efffffc800008fcb8f8b8ffffdd6666ffffdd4c
+cc050ef7c5ffffcee666ff001c333301dcff001acccd03ff00854ccdff009f666615
+fffff9999aff0018b334fffff78000ff00198000fffff56667ff001a333308ffffe5
+3333ffffe5199905ff0007cccdffff7e999afffff6b333ffffb0199affffe1999aff
+ffbfb33308ff00104ccdffffefb33305ff00433334ff001fcccdff0071e666ff0007
+e667ff005c999afffff8333208ff001c3332ff001c333305ffffe5199aff0009e666
+ffffe6999aff00088000ffffe74cccff0006666608ff020a8000ff020a8000ffffdd
+6668ff0022b330fffddd6668fffddd6668056eff00038000ffffe24ccc8bffffe199
+9afffffb199aff00038000a8ff0000b333a8fffffc8000a808f8b8f8b8ffffdd4ccc
+ff0022999c050e429e76f7fdcb01f7b08915f758f8d0428b5cfb27fb7c8b5df72742
+8bf758fcd005b4d7152af7b1f7528b050efb0781c8f80f76f700c801bad0f761d103
+f7758115e98bbecda0f00845067e51725b518b083475f703f70ef70ca1f705e21fc5
+8ba45a985008d10675f158ce2e8b08432165fb94fb95f566d31f0e5081acf7c9b1f7
+2ed87aac12afdcf796da13dcff0173b334ff013f199a15ffffdf3332ff001e8000ff
+ffd94cceff00146666ffffd2cccc8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f7
+1353f5261f13ec598b60816d856b85737c8b718b79977f9e8ba08ba1a8a79b0813dc
+95919d94ad8bce8ba52d8b27088bffffede666ffffff199affffe74ccefffffd999a
+ffffe3e6660887ffffda333215fffff19998ffff8d4cce64ffff706666ffffa1b334
+8b084768c5d4e4b9e4db1fff002de6668bff0029e666ffffea3334ff0024e668ffff
+e31998080efb358bccf763ccf73ecc01f7bdd003f802f8d015fbd94af794fb3efb8a
+4af78afb63fb9a4af7df060efb358bccf763ccf73eccd77701f7bdd003f802f8d015
+ffffbf999a8bff00176666cc6796ffffe480003fffff2380008b8b4af7598bffffc2
+8000fb3effff8280008b8b4af18bffffb5199afb63ffffd4e6668b8b4aff0013999a
+8b05ffffe7666647b07fff001ccccddbff010e33348b05ffffa83334f88f15ff0012
+ccccfb3effffb0199a06ffffe899994a15ff00674ccdfb63ffff4e3333060edc82b6
+f88cb6a97701a5bef87cbe03f7d5f8ae15ff002a999a8bff0027e666fffff48000ff
+0022b334ffffec199a08ffff086666fffe4f999805ffffbbe666ff002d9999ffffd2
+8000ff004f66668bff0056cccd8bf71bf702f709f71a8b08ffff668000fc8c15ffff
+d0800038ac79ff002fe666ff0053800005ff0024b334ffffef999aff0028999affff
+f6e666ff002acccc8bf7388bf717f7198bf7368bff0062ccccffffcf8000ff005780
+00ffffb56666ff0035800008ff0027199aff00443334699cffffdab334ffffbee668
+05ffffd66666ff00166664ffffd08000ff000cb334ffffcd66668bfb378bfb18fb18
+8bfb378bffff953333ff0038999affffa2999aff0054e666ffffcc333308ff0037e6
+66ff0015b33315ff00f63334ff01ad666605ff003a3332ffffd13332ff00253334ff
+ffb6e6688bffffb0cccc8bfb1afb00fb0afb1c8bffffdd66668bffffdee667ff0007
+ccccffffe21999ff000de667080ea28ba501f7a2f8ac15f769fc92fc368b05f757f8
+e2152bfb7efb2afc038b8b88858a888b890888908a961ef8a98b978b058e8c8c8c8b
+8d8b8d8a8e88918b8bfb2ef80328f77e080ea2a076f8e2a501f7d1db15fb69f892f8
+368b05fb57fce215ebf77ef72af8038b8b8e918c8e8b8d088e868c801efca98b7f8b
+05888a8a8a8b898b898c888e858b8bf72efc03eefb7e080e548bc4f75dc3f75dc401
+a8d10314e0f86216c4fb2f07238b32e27cf70608f7f6c3fbf60698f700dae8f7088b
+08f72fc4fb2a06fb31fb12fb17fb2ffb2ef710fb18f7331f0e548bc4f75dc3f75dc4
+d77701a8d103f86216c4fb2f07ffffef66668bffffefccceff00023333fffff06666
+ff0004333308d1ff00c2999aff007c66668b8bc3ffff97cccc8bff00484ccef75dff
+0028e6668b8bc4ffffeb999a8bff00176666cc6696ffffe4999a3fffffa766668b05
+fb31fb12fb17fb2f1f8bffff8bcccdff0046999affff984ccdff0066e666ffffd419
+9908ffffdf8000ffffa5cccdb07fff00203333ff0059999a05ff00171998fffff9cc
+ccff00186668fffffc999aff00194ccc8b08ffffa64ccdff004d333315ffffbf999a
+ff00201999ffffcfcccdff00438000fffff54ccdff0051333308ff00bc800006ff00
+14199ac315ffff2f66660698f700dae8f7088b08ff0049199a060efb4ec7c1f4c1f3
+c201a8f7c303f77ec715edc12906fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c
+8c08edc22906fb285240fb03fb14d551f7171f0e548bc4f75dc3f75dc401f82bd103
+14e0b7f8d01552f72f07f38be4349afb0608fbf653f7f6067efb003c2efb088b08fb
+2f52f72a06f731f712f717f72ff72efb10f718fb331f0e4f8bc4f75dc3f75dc4db77
+01f827d103b3f8d01552f72f07ff0010999a8bff00103333fffffdccccff000f9999
+fffffbccce0845ffff3d6666ffff83999a8b8b53ff006833338bffffb7b334fb5dff
+ffd7199a8b8b52ff001466668bffffe8999a4ab080ff001b6666d7ff0058999a8b05
+f731f712f717f72f1f8bff00743334ffffb96666ff0067b332ffff99199aff002be6
+6608ff00208000ff005a33346697ffffdfccccffffa6666805ffffe8e667ff000633
+30ffffe7999aff00036668ffffe6b3338b08ff0059b334ffffb2cccc15ff00406666
+ffffdfe668ff00303332ffffbc8000ff000ab334ffffaecccc08ffff43800006ffff
+ebe6665315ff00d0999a067efb003c2efb088b08ffffb6e666060efb4ec6c2f3c1f4
+c101a8f7c303f713f843152955ed06f7128b9b52965b08fb8f55f78f0680567559fb
+0c8a082954ed06f728c4d6f703f71441c5fb171f0ef71bfb02a7f908b273a512f70a
+dcf7bfdb13b8f8866515707d7a621e7106868889851f8b798d89058be88dafb2e289
+8b1e8c8d8b9d0591888d861e7106637c99a91ff8be078ba9a399a78c08a806908e8f
+8f1f9d0713d88a8bfb1189858b448a528b4d8b448b538b4d8c0813b87d8b228d838b
+087807888d87911ea906ab9e83661ffcbe07707d7a621e7106868889851f8b798d89
+058be98daeb2e2898b1e8d8d8b9d0591878d871e7006647c99a91ff8af0713d8ad90
+96aa1ef77606ab907b6f1f0ef587a279a9f8e9a212f700d8f7bdd81378f7268c15f8
+0b0613b8a28bbf87bd8a91918b968591458e7a938bde08f839078bde9c93d18e9191
+8b9685915a8affffe4333487ffffcecccc8bffffcf33348bffffe5cccc8f598c8585
+8b809185d1889c838b3808fc410713784d757f731efb6106737597c91ff841078bde
+9c93d18e91918b968591598affffe5cccd87ffffcf33338bffffcecccd8bffffe433
+338f5a8c85858b809185d1889c838b3808fc390713b88b387a83458885858b809185
+08bd8cbb8fa68b080eaa4dc551a1f8d9b574a212f877a11358f87ff8db15fc667406
+9a8ba581a66708f73dfb9efb5efba1057d7a81897f8b0875f87507a7f743758d0513
+a88a866cfb06458b08fbac8bf760f7a48c8cfb40f7a4f7788b05c48baa3a907808a1
+8e050e69f766b701f861f79215ab0a0e69a076f745b7f77ab701f786b903f786f745
+15fb45b9f745f741b7fb41f7445dfb44fb445f07f7a604f81fb7fc1f060e69a076f7
+44b7f784ec12f76bec42b913f0f76bf89015719e75a9a79fa1a5a773a0731e707575
+701f13e8d1fbb415280a0e69a076f8dc7601cd16f856f8d1598bfc55fcd1050e69a0
+76f8dc7601f86616bd8bfc56f8d15a8b050efb70f76ece01f700ca03f711f76a1527
+0a0efb70f721a9f721a901d2adf717ad03f780f78415a90afb398c15aa0a0efbc8f7
+5ff70001d4f70003f713f75f15b20a0e8ff971b201f87cf97115f8940a0e8ff7faa9
+f71ca6d676c0a9b8b212b9bde5c66ac913fcf87cf97115f8940a13fefb0ef90415ae
+0a13fdaf0a13feb00a0e8ff801a8d1adf75877c6b201f73fbb03f87cf97115f8940a
+fb1df84c15f86b0a0ef701d9c453b9f78ec856c061b512b0ca138cf7faf78515f895
+0a1324f792f71a15c886073c8b403f5c5208138cf8960a1354b849d046e08b968b96
+8c958d08b707858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080ef7
+74d9c453b9f796c061b512b0caf8e0c8139cf7faf78515f8950af7de8415136c4e6c
+5b4b1e518b42f26ab9a5b4d3cfbe8b08d4b0324f1fc8b615e459d12f1e3c8b403f5c
+5208139cf8960a136cb849d046e08b08f2cdf1eb1f0e778bb801c9be03c9f84e15fc
+4ef838b8fc05f821070ef4e9b701a9e915f8cfb7fffe2a666606ff0158999aff0195
+b334ffffda999aff001fb334050ef49676f3b701f804b903ff01604ccc8115ff002e
+ccce06ff00098000acff00053332ff0022e666ff00003334ff0024199a08f74fb7ff
+ff42b3340682ff00528000ffffdcb332ff004a999affffcae666ff003a333208ff00
+a1b334ff00be6668ffffda999aff001fb334ffff606666ffff43e6640570ff0016e6
+68ffffe1cccdff00133332ffffdf6666ff000eccce08ffffe03333ffffd8199805ff
+0020e667fffff2999aff001e4ccdffffed999aff001accccffffe9999a08ffff2699
+9afffeffe666f7e68b8b89058bffffdc8000fffffa8000ffffddb333fffff5ccccff
+ffdfcccd08ff000c999af72815ffff1680008bff00973334f74605ff002b8000ffff
+cf3334ff001d8000ffffc29999ff00094cccffffbc3333080ef4ff0014cccd7601ff
+016d999aff002b4ccc03ff0129cccc8915ff002b4cceffffee333305ff00156666ff
+001affff9dff001e4ccdff000de666ff00214ccd08ff00ad000244ff0010b330ff00
+28ccccffff50ccceff0047cccd05ff0016e666ff004fcccdfffffb999aff00524ccd
+70d508ff00dde666ff0072ccccffffe96668ff002b999afb6fffff8e800005ffffef
+b332ff001f6666ffffeb6666ff001d4cceffffe76668a508ffffd36666ffffe7199a
+05ff00196666ffffe73332ff0015199affffe36666ff00104cccffffe1199a08fffe
+d5b334ffff658000ff0138b332ffff7fcccd05ffffffccceffffff6666ffffffcccc
+ffffff6666ffffffb334ffffff6666fffff28000ffffdf199affffede666ffffe266
+66ffffea4cccffffe6199a08ff0043ccceff0084199a15fb6cff00589999ff00cf66
+66ff006b4ccd05ff0015ccccffffc26666ff0003e66847ffffeee666ffffbdb33408
+0efbf9947601dbb703f7107f15f8e25ffce2070efbc59476f83e7701f0b703f768f8
+321548ffffbc4ccc8bff00e7b3345f8b8bfffeebe66638ffffac199aa373c6ff003b
+4ccd8bfffef6b334b78b8bff01358000e6ff005b8000050efb75947601dbb7e3b703
+f7947f15f8e25ffce2073316f8e25ffce2070efb689476f84c7701dbb7e3b703f7c5
+f840155affffce4ccc8bff00c7b3345f8b8bffff0bb33433ffffa6cccc8bff014d80
+005f8b8bfffe85cccc4fffffc33333a373afff002466668bffff5c999ab78b8bff00
+cfcccde3ff0058ffff05fffed73334b7ff0155333407d4ff0049cccc050e3b9e7601
+f786f81615f73ffc18c08bfb5bf850578bfb5cfc50c08bf740f818050e3b967601f7
+83b915fb3ff818568bf75bfc50bf8bf75cf850568bfb40fc18050e43a076f820b601
+cebef791be03f70a16f76807f1ff00168000ddff006f8000ee9f39251efb68bef768
+07f714ffffe18000eeffff728000fb2969ffff9a8000ffff8280001efb68070e4381
+b6f8207701cebef791be03f807f84115fb680725ffffe9800039ffff9080002877dd
+f11ef76858fb6807fb14ff001e800028ff008d8000f729adff00658000ff007d8000
+1ef768070efb58fb71bcf9c9bc01f71ed903f720a215f8970a0eadfb71bcf9c9bc01
+f71ed9f72cd903f806a215f8970afb7a16f8970a0ef7cefb71bcf9c9bc01f71ed9f7
+40d9f74ad903f91ea215f8970afb9816f8970afb8e16f8970a0e6efb71bcff00a4cc
+cdff00278000ff016c3334ff0027e666ff00d4999abc01b3b7f724d9f722b703ff00
+e54ccdfffff8cccd15fffffcccceffffb5cccefffff16666ffffa56666ffffe78000
+8b7a8b7daa708b0878777a7772a179ab1fff004ab3338bff0036e667ff0034cccdff
+0015e666ff00a03333ff006de666ff000ecccdff0056999aff005d80008bff0071b3
+338bff006e4cccffffad3334ff005d6668ffff958000ff00121998ffffff9998ff00
+0f8000ffffffb334ff000e999a8bff000d199a8bf7199fb0a08ba38b8d6aab8b08a3
+9f9ca1a4739d6e1f308bffffc86666ffffad6668fffff2199affff4cfffeffff9480
+00ffffef800037ffffa1b3348bffff9066668bfb03ff005233332eff006b199affff
+eecccd08ff0046cccdff0027800015ff0003e666ff00294cce8dff002f4ccc8bff00
+36199a08f70b078bacfffffee666ff002366668aff00218000ff0053999affffee33
+34ff003c8000ffffb580008bffffa666668bffffa533334cffffb56667ffffab199a
+ffffefb3320844ff016c333415ffffff4ccc79ffffff999affffed33348bffffec4c
+cc08fb17078bffffb33333ff0001e66670ff0000199affffb71999ffffaacccdff00
+106667ffffc33333ff004b33338bff005a199a8bff0059ccccff003c6666ff004bcc
+ceff0054b334ff0010e666080e69daeff737ef01f783ef03f783f81e15210afb9b04
+210a0e69f769c691c601c39cf7f99c03c3f76515a10a0e69f769c691c601c39cf7f9
+9c03c3f76515ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0013cccd8b9eff
+fff74cccff00131999fffff3666808ffff9c199afffed64cccb17fff005fb334ff01
+1e4ccc05ff00136666fffff43334ff0014999afffff78000ff00114ccc8ba38bcc98
+aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bfffff219
+9a8bfffff1b332ff0005199afffff0999aff0008e66608ff005a999af7a36595ffff
+a96666fb9605ffffe8e667ff0010333472ff000bccccffffeab3338b4e8b554c7e4a
+080e69f725bcd7bcbcc691c601d09cf7f99c03d0f80015a10af81c5e15450a3f0445
+0a0e69e2c691c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff00054ccd8a91
+8ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a
+6f8b758b7498709fffffe78000ff00123333ffffe48000ff000dcccd748b4e8b554c
+7e4a08a0f72215a2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede6
+66a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b75595a7a6f8b08758b7498709fffffe78000ff00123334ffffe48000ff000dcccc
+748b4e8b554c7e4aff0005b33388ff00054ccd8a918b080e69e2c691c6a1c691c601
+c19cf7f99c03c1de15ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff000bb333
+8bff000b666788ff000b4cccfffffae66608ffffc1999affff47199ab17fff003b19
+9aff00afe66605ff00014cccffffff199aff00014ccd8aff00014ccd8aa379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f
+8bffffeb80008bffffeab334ff000b3333ffffe76666ff0011b33308ff0017999aff
+00464ccd05ff000ee666fffff89999ff000ee666fffffb3333988ba38bcc98aaf6ff
+fffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bfffff6999a8bff
+fff68000ff00026666fffff6199aff0004333408ff0056ccccff010266666595ffff
+ac6666ffff07e66605fffffd4cceff0001e666fffffd1998ff0002199afffffd3334
+ff0002199affffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e4aff
+0005b33388ff00054ccd8a918ba2b7baa8ae8bff0018999a8bff00176666fffff299
+9aff0017cccdffffee4ccc08ffffe88000ffffba4ccd05fffff00001ff000866667b
+ff00056666fffff1b3338b4e8b554c7e4a080e69f724bcd7bc01f7a5f88d15fffff5
+3334ff00028000fffff57fffffffffccccfffff54ccdfffffdb3346e5d5d55676391
+8292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff00
+08199a90920867b35fc06eba08f750fb4f15450a3f04450a0e69f724bcd7bc01f861
+f7d215ffff69b3348bff00504cccf783659537fb8dfb5f8b8b5aff00ba80008bffff
+e666663fffff5f199a8b8b5aff009066668bffffc1999afb4db17fff00423333f759
+ff00d0cccd8b05bcffff3fb33407ff00198000d7ff00a6cccc8b050e69f4b7cab7cb
+b701f861f80015ab0a4b04ab0a4c04ab0a0e69f4b7cab7cbb701f861f80015ffff79
+199a8bff0040e666f7556595ffffbb999afb5fffff2566668b8b5fff00cbb3348bff
+ffea66664bffff49e6668b8b5fff00a74ccd8bffffeacccd4cffff6de6668b8b5fff
+008333338b05ffffcecccdfb26b17fff0035199af732ff00dde6668b8bb7ffff30e6
+668bff00153334caff00b9e6668b8bb7ffff54cccc8bff0015999acbff0095999a8b
+050e6996baf7fb7701cf9615f81abafc1a06d5f75615f7d1f7070598998ca97d9108
+fc1afb2105fffff6b333ffffeeb3348bffffefffffff00094ccdfffff14ccd08f81a
+fb220599918aa97e99080e6996baf7fb7701cf9615f81abafc1a06f7d2f75515fbd1
+fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8bff000ffffffffff6
+b334ff000eb33408fc1af722057d858c6d987d080ef773f837f77f15f7d1f7070598
+998ca97d9108fc1afb2105fffff6b334ffffeeb3338b7bff00094cccfffff14ccd08
+f81afb220599918aa97e9908fcfaf70c15440a0ef773f802f75a15460af8fafb0c15
+460a0e69ff015a8000ff0139333415ff00708000ff0028cccc0598998ca97d9108ff
+ffa28000ffffde3334ff003e8000ff00bacccc6595ffffb83334ffff2a199affff06
+ccccffffa5e66605fffff6b333ffffeeb3338b7bff00094ccdfffff14ccd08ff00b4
+cccdffffbe3333ffffc03333ffff41cccdb17fff003f199aff00bc999aff00abe666
+ffffc166660599918aa97e9908ffff63199aff003966660588ff0073999a15ffffdd
+cccc25ffff85199ab8050e69ff00feb333ff00bc666615ff001c8001ff00553334ff
+0066ccccffffda666605ffff4d3333ffffbf199a15ffff75cccdffffcde666057e7d
+8a6d998508f70bb657fb2fb17fff003d999aff00b83333ff00df6666ff0050cccd05
+ff00094cccff00114ccd8b9bfffff6b334ff000eb33308ffff5f3334ff003a8000ff
+004fccccff00ee80006595ffffb13334fb7fffff3fccccd1057d858c6d987d08ff00
+b1199affffbf3334050e6996baf7fb7701cf9615ff0073e6668bffffe0199a2cb17f
+ff0023cccdf6ff00e833338b8bbaffff2780008babff005f999aff00b98000ffffbc
+66660599918aa97e9908ffff558000ff003e6666ff0028999aff00798000ff0081e6
+66ff002f199a0598998ca97d9108ffff913334ffffd7e666ff002dccccff0089199a
+6595ffffc8e666ffff5bccccffff18199affffac333405fffff6b333ffffeeb3348b
+ffffefffffff00094ccdfffff14ccd08ff00a74ccdffffc3199affffdb4ccdffff92
+e666ffff7c66668b05ff00d5b334ff00f4b33415ffffe19999ffffa54cccffff92b3
+33b3050e6996baf7fb7701cf9615ff004be6668bffffe2199a32b17fff0021cccdf0
+ff011033348b8bbafffeff80008bff001ce666ff00564ccdff00e4999aff0052b333
+05ff00094cccff00114ccd8bff000ffffffffff6b334ff000eb33408ffff5b199ac7
+ff003de666f74d6595ffffc3199affff4a8000ffff43e666ff00448000057d858c6d
+987d08ff00ad199affffc0b334ffffd7e666ffff887ffffb19ffffcfcccd057e7d8a
+6d998508ff0071cccdff00293333ffffe8cccdffffbacccdffffa466668b05ff00b5
+8000ff008f800015ff001d999aff0058999aff006ae666ffffd8e666050e64b6b5f7
+a1b501b0bb03f877e015fb68062438a4f709f3e4a2ec1ff768b5fb6806fb05fb0d74
+fb27fb2ff7096ff7091ff768060e64b6b5f7a1b501f849bb03b2f7f615f76806f2de
+72fb092332742a1ffb6861f76806f705f70da2f727f72ffb09a7fb091ffb68060e64
+b6b5f7a1b501b0bb03f877e015ffff4633348bff005bccccf7a1e98b8bb5ffffb04c
+cc8bff001eb334e56596ffffdd800026ffffa580008b05fb05fb0d74fb271f8bffff
+723333ff0061e666ffffdc8000ff006a33348608ffffdce666ffff994ccdb17fff00
+26e666f706ff00c8199a8b05ffff1c4ccdff002a333315ffffa06667ff00029999ff
+ffb54ccdff001c33338bf70308f3e4a2ec1eff004c199a060e64b6b5f7a1b501f849
+bb03b2f7f615ff00c9199a8bffffa41999fba1ffff92cccd8b8b61ff005ee6668bff
+ffdd199a25b17fff0026e666f706ff004b199a8b05f705f70da2f7271f8bff008719
+9affffa7199aff0026999affff9bb332ff0007b33208ff001f3334ff005b999a6596
+ffffdd800026fffffc80008bfb688b05ff00f2b334ffffd5333415ff00584cccffff
+faccccceffffe1199a8bffff96e666082332742a1effffc33333060e8e81ff002819
+9aff00a3e666b2ff00a5e666ff0028199a01c3b8f734b8f731b803f7ad8115f8980a
+a4ff01984ccc15ff00548000fffff4b334ff00404cccffffbbb334ff00084cceffff
+aa4ccc08ffff62e66606ffff35b33304ff00a34ccdf73107fffff73334ffffaae666
+ffffbf4cccffffbd199affffac8000fffff4b333085effffff666715ffffa9b333ff
+00093332ffffbf199aff0044999afffff73333ff0056199a08f73406ff00cce66604
+ffff5a199affff5fe66607ff00086667ff0056b334ccff0045ccccff0056b333ff00
+096666080e8e81b2f739b2f73bb201c3b8f7feb803f7ad8115f8980affff4be666f7
+871594ff005d3334ff004a999aff0049ccccff006080008bff0060999a8bff004c66
+6642ff0009199a2d08fffe95e6666415f7fe06fffff64cccffffa2999a3effffb866
+66ffffa0b3348bffff9fcccd8bffffb59999ff00486666fffff6999aff005c999a08
+0e8e81b2f807b201c3b7f800b703f7ad8115f8980aff00904cccff0153666615ff00
+186668ffffe04cceff000e4cccffffd7e6668bffffd466668bffffd5e666fffff280
+00ffffd98000ffffe9199affffe1199a08ffff8d6666ff0073800005ff004e3334ff
+0091333415ffff8fccccffff8fccccffff928000ff006e666605ff001e4ccdff0018
+3334ff00268000ff000e6666ff002ab3338bff0029cccc8bb1fffff24cccff001e66
+68ffffe8e66808ffff011999ffffdb800015ff006db333ffff924cccffff8f999aff
+ff90800005ffffeab333ff001e8000fffff3b333ff002580008bff002880008bff00
+2a3334ff000d4ccdff00271998a2ff001f666808ff001e4ccdfffefee66615ff0072
+6666ff00726666ff0071b334ffff8c666605ffffe0e666ffffe73334ffffd8999aff
+fff16666ffffd4cccc8bffffd3e6668bffffd88000ff000f3333ffffe13334ff0019
+6667080e8e81b2f807b201c3b7f800b703f7ad8115f8980af82e04ff002c66668bff
+0028199afffff0999aff001f4cccffffe6333208fffefce668fffefce66805ffffe8
+3332ff001f7ffffffff2199aff0027b3338bff002b199a8bf1d9dff28b08ffff8d99
+9afffeb5999a15ff0103199aff0103199a05ff00181998ffffe06666ff000e3334ff
+ffd84ccc8bffffd4999a8b243a39258bffffd3e6668bffffd88000ff000f3333ffff
+e13334ff00196667080ef19576f7a4b801c7be03f912f7c615fca3f7a458fce1bef7
+a4f8a3060ef19576f7a4b801f8bcbe03a4f79915f8a3fba4bef8e158fba4fca3060e
+cf9676f8a9b801f7b5be03f7e88115f8a9f7a1b8fce15ef7a1fca9070ecf8bb801f7
+b5be03f7b5f8d615f8990a0efb289676f7a5b801c7be03f818f7c815fba9f7a258fc
+e0bef7a5f7a9060ef751f717f765fb65c1a2c1a3c112b7c11358f75cf77f156e7376
+706f74a0a9a5a0a3a81ea9a173701f1378f7bea615fb8d0680bb65a9578b08535b60
+4d4db961c51fc78ba9aa96b908f78d061388975fa96ac78b08c8b8bac4c75ab8521f
+4f8b6f677d61080ef751f717f765fb65c1a3c1a2c112f920c11358f8baf78015a8a3
+a0a6a7a2766d7176736e1e6d75a3a61f1378fbbe7015f78d06965bb16dbf8b08c3bb
+b6c9c95db5511f4f8b6d6c805d08fb8d0613887fb76dac4f8b084e5e5c524fbc5ec4
+1fc78ba7af99b5080efbc8f760f70001d2f70003f711f76015b20a0efbf9b3eff738
+eff739ef01c3ef03f700f93115f89a0afb9d04f89a0afb9c04f89a0a0eebf760f700
+01d2f700ecf700eaf70003f8a9f76015b20afb5f16b20afb6116b20a0e907fb1f80d
+b201c3b2f80db103f7aff82715ff002833348bff00259998fffff36666ff001ee668
+ffffea800008ffff106666fffee1199a0568ff00233333ffffe9e666ff0030999a8b
+ff003433338bf1e1def18b08ffff643333fffea14ccc15ffffb8cccdffffaab333a7
+72ff0048199aff0056800005ff00246666ffffe6999aff002bb333fffff0e666ff00
+2ecccd8bf7118bf1f58bf7108bff003cb334ffffe6e666ff00374cccffffd7b334ff
+0028800008ff00416666ff004e80006fa3ffffbe8000ffffb1999a05ffffda6666ff
+001b4cccffffd1b334ff0010199affffce66668bfb108b24268bfb0f8bffffbfe666
+ff001b8000ffffc4b334ff002bb333ffffd5b33208ff0035999aff0005ccce15ff00
+ef1999ff011ecccc05ff00203334ffffdeccceff0013e666ffffd366668bffffcee6
+668b253631238bffffda999a8bffffdcccccff000be666ffffe26667ff0014333408
+0ef7c48badf8f87701d4b7f90cb603f709f82b15f7d7f74df7c9fb4d8bfc09fd0c8b
+055ff82015fc42f963f84207fbf4f76c050ef70af7e0f91a15f741fbb0bb8bfb5bf7
+e8618bfb5cfbe8bb8b050e8af7f9b701a3c103d9f71915f774f85fb7fc95fba0070e
+fb4aa076f829bd01f3db03f316dbf77f06f71f97aaa01ea38b8d6bab8b08a39f9ca1
+a4739d6f205321fb811f0efb4af75fc1f84d7701f72edb03f77ef94e153bfbab06fb
+187e6d731e798b7bae6d8b087675797370a377aff700c3f6f7c31f0ef7cd8badf7fd
+ad01d4b303f8b3f81f15cd06c548ba60dd453b475c5d504808478bfb2bf74805fb2b
+fb4815f713f72cf713fb2c05fbc2163cf7fdd806f72dfb4905f72cf74915fb14fb2c
+fb15f72c05f818ad15fcbdfc41f8bd06d8dddad1cab708b10744bd42cc40db080ef7
+368badf7fead01d4b2f887b203f77fad15f713f72cf713fb2c05fbc21640f7fed506
+f72cfb4a05f72cf74a15fb14fb2dfb15f72d05f835ad15fcd5fc42f8d50664ad1541
+8bfb2bf748f72cf74ad48b050efb01947601f73af78f03f835f90a153ffb0c422744
+43086c6faa6d05cd55d429dcfb2008d70755f54ae35bc2becacbdcbfec080efb0195
+7601adf78f03ad8015d7f70cd4efd2d308aaa76ca90549c142ed3af720083f07c121
+cc33bb54584c4b3a572a080ef7cd8badf7fead01f98eb203f7e0f82015f72cfb4afb
+2bfb48478b054fce5db93bcfddd1b9b7c5ce08f806fbfe15fb928bf713f72c05f743
+fb2c15fb2bf748f72cf74ad98b8bfbfe05fc13f7fe15f7958bfb14fb2d05fb98f74f
+15403b42494459086507ca5fda45d83908f8bdf842060efbcbfb5fc6d9b7017aadf7
+6cad03f7f67515fb0dfb0efb6cf70efb0d5fe2fb1df7b0f71de2060e939476f7f4b9
+e3b7c8b701f73dbbf708bb03f7a4f90315688b617a798208976005a89d9b92ad8b08
+b1a673661f56064e596c4f54ab6bbf1faf8ba5939d9a0878bbf73007da6ab73f1e82
+fb811571779aa8acae96b71fb006405f7e711ea3fbf51562e333f7193df108677b05
+ddfb05d9fb0ac9fb0d08b506c1f703ddf711dcf702086ba1053f2731fb1e6336080e
+69f705bdbec801c4a6f7eda603f861f73715fc1f59f81f0686f78815700684644960
+288bfb018b54b682b20870069045c242f71f8bf7198bc8d391d2080efbcbfb5fc601
+7aadf76cad037a7515fb49f7b0f74969fb0efb6cf70e070ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0aaffffe654ccc15ffffff4cccff00138001ffff
+ffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff0000b3
+34ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880008bff
+00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffff
+c6ccccffffe54ccc8cfffff8999aff0002e668fffffd199aff0005cccc8708ff001d
+999aff000c4cccff000eb3328fff000c4cce8bff000ab3328bff0001999afffff066
+66ff0000b334ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffff
+d24cce8bffffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332
+ffffca1999fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bffff
+f8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000
+ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff
+0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff0003
+3333fffffe3334ff0035e667080ef75aff017a3334fffff0cccd15f89b0aff026fb3
+3404f89c0affff948000ffff4db33415fffff24cccff000c4cccfffff8e666ff000d
+b33496ff00104cccff0009ccceff000c4ccc1e8bff00053334fffffe999aff00034c
+ccfffffeb332ff00048000fffffeb334ff00048000fffffc3334ff0005e6668bff00
+05333408ff00103332ff000d8000ff001de668ff002f8000ff00176666ff0027b332
+ffffe94cccffffc1999a1e8bffffd66666fffff78000ffffde3334ffffd9b3346408
+ffffcfe666ffffd0800005ffffc04cceffffbefffffffff59998ffffe0cccd8bffff
+d9b333088bff001ab334ff00014ccdff0014cccc1eff0071b33406ff0014ccccff00
+1de668fffffeb3338b1fff00088000ff00228000ff00068000ff0030b333ff000099
+98ff00138000fffffc199aff00033334fffffe199aff00016666fffff98000fffffe
+b33380ffffd1cccdfffff4e666ffffe94ccdffffe8999a8b08ffff85cccc068bff00
+1f3334ff002cccceff0032b333ff00033332ff0003333308ff0041b334ff003f199a
+05b0ff0023cccca7ff001c80008bff0031666808ff00463332ffffc04cccff001c99
+9affffcb6668ffffb7ccccffffd9b334ffffcab334641e0ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0aff00001998ffffa0b33415ff001c999aff001d
+e666ffffe9e666ffffd7b3321f8bffffe03334ffffd68000ffffc76666ffffc58000
+fffff6e66608ff00033334fffff1b3340596ff00014cccff000880008bff00088000
+8b08b0ff0030ccccfffff46668ffffb67fffffffa98000ffffc23334ffffe56667ff
+ffe933341fffffdecccc8bfffffa4cccff00156666fffff83334ff000bb333fffff9
+8000ff0009199afffff78000ff0007e6667e8b08fffff24cccfffff26668fffff399
+9afffff5999971ff00369998ffffee6667b2ff004d6668ff0044ccccff0034b333ff
+0055cccc1f8bff0046e66859ff001a9998ffffd9b334ff0006800008ffffff4cccff
+00014cce05ff003dccccb2ff00033334ff001de6668bff0016199a08ff001b4cccff
+ffe74cccff0029999affffbdb334ffffa08000ffffe4b334ffffc1999affffea999a
+fffff6e666ff00066666fffff2e666ff000f999aff0012ccccff0006999aff001580
+00ff000c4cccff0029999aff002cccccff000e4cceff0010e6661e0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0aff000fccccfffea64ccc15f89d0aed
+16ffffc9199a06ffffffccccff004cb334ff00004cceff0062ccccff0000ccccff00
+14e668ff00014cccff00208000fffffee668ff00196664ff00011998ff0005199c08
+fffffeb334ff00014cccffffefcccc8b05fffffb80008bfffffc6668fffffbb334ff
+fffd9998fffffd1998ffffd7199affffcd999affffb44cceffff953334ffffc47fff
+2e8dfffff63332ff0003cccdffffee8001ff001380008b08ff0085666606ffffffcc
+ceffffe03334ffffffe666ffffe6cccdffffff999afffff6b333fffffeccccffffe2
+199affffe88000fffffe19996f89fffffc199afffffc199a8bfffff8e666ff0003e6
+66fffffc199aff0014ccccff0000b333a5ff00028000ff001de6688bff001999988b
+ff0013e668fffffd8000ff0014ccccffffff4ccdff0003e666ff0003e6668bff0007
+199afffffc199aff0003e66608ffffe03334ff0002999afffff38000ff0000b333ff
+fffeccccff001e8000ffffff999aff00096666ffffffccccff0019199affffffccce
+ff001fcccd08ff002d999806ff0009199aff00000001ff0009ccceff0005e6668bff
+0007cccd08ff00068000fffffd6666ff0003ccccfffff8e6661e0ef75aff017a3334
+fffff0cccd15f89b0aff026fb33404f89c0ad0fffe9b4ccc15ffffc23334ffffdb99
+98ffffcc199a641effffe74cce8bfffff7b332ff0012e666fffff6333498fffff780
+009680ff0009cccdfffff24ccc8b08fffff3b334fffff3999afffff8cccd7effffe5
+6666ff00373332ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff00
+51e666caffffd46666ff0038b334ffffb733321fffffe4199a8bffffe18000fffffa
+1998fffff44ccefffffb80000898f70705a3fffffd6668ff001b4cccfffffcccccff
+001f33348bff001380008bff00161998ff00013334ff001ab334ff0002999808ff00
+0a4cccff0025b334fffffb8000ff0002b3340566fffffc1998ffffdce668fffffcb3
+34ffffdd80008b738bffffe89998ff00013334ffffe933348d08ffffe9e666ffff4b
+4ccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334b0ffff
+dd8000ffffb919991f0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0affffb43332fffee74ccc15ff00188000ff00154cceff001a3334ff0001199aff00
+0d199a8b08ff003fb332ff00104cceffffb74cccffffdf8000ffffb88000ffffe166
+66ffffd9999affffe0333262ffffd1e668ff001c9999ff006f19991f8bff000f3334
+ff00019998ff00124cccff0004199aff0013800008ff0004999aff0012999a15ff00
+11199aff003bccceff00296666ff00431998ff0057ccccff0020e6688bff0007cccc
+ff00014cce91fffffaccccff00033334ffffbe4cceffffec8000ffffd7b332ffffe4
+9998ffffdb999affffd5ccceffffd7b334ffffd13332ffffebe666ffffc4e6688bff
+ffcc999808ffff7c0001db71bdff00553332ff00226668ff00529999ff0037e666ff
+0037e6686fff00354cccffffa799981effffeb999a8bffffdf4ccefffff88000ffff
+ec4cccfffff36666080ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0affffdfccccffff83b33415ff00834ccc06ffffcd4cceffff81e666ffffc6199aff
+ff7accccffffd3ccccffff9d333408ff00054cccfffffb6666b28d05b0ff006e8000
+b2ff006be666ff0048ccccff00b1666608fffff5999cff0007e6680580fffffccccc
+fffff1b33287ffffe74cce8b08fb1a06ffffe9e6668bff00016666ff00068000ffff
+f44cccff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0ccccffff
+f8e66664fffffaccceffffde3334ff00071998898bffffff1998ff00073334ff0000
+e668ff000e4cccbfff0015666896ff0014cccc8b080ef75af80ff87b15b3a06b6e1f
+8b6a656d7a7f0879970564a481a18b9e08a8a3a8b01eee4d15b768ac4e4d60665b1e
+8b699d72b172089585057c7f7d817c7d7275816f8b72084cb869ccdbb1c7bb1e8bae
+7ba76ba00866a505a69db7aa8bb20824fbb4156f5da4c11f8b9e97b6c0ae08a97a05
+b2739b6e8b6e084d5b7c6f1eff00033334ffff67cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0aff005d8000fffe
+d8199a15ffffe78000ffffeab332ffffe5e666fffffecccefffff2e6668b08ffffc0
+4cccffffefb334ff0048ccccff00208000ff00478000ff001e8000ff00264cceff00
+1fe666ff0028e666ff002e3334ffffe38000ffff90cccc1f8bfffff0ccccfffffe4c
+ccffffedcccefffffbe668ffffec800008fffffb6666ffffed666615ffffeee666ff
+ffc43333ffffd6999affffbccccdffffa83332ffffdf199a8bfffff83333fffffecc
+cefffffa1999ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b
+4ccdff00246666ff002a3333ff00284cccff002ecccdff0014199aff003b33348bff
+00334ccc08f7183ba559ffffaae666ffffdd999affffad6666ffffc8199affffc819
+9aff001be666ffffcab332ff005866661eff001466688bff0020b332ff0007999aff
+0013b334ff000c999a080ef75aff01313334ff00c5cccd15f89e0ad4fb6915f89b0a
+ff026fb33404f89c0aff006e9998ffffa0b33415f89f0afffffd6668fffe7d4ccc15
+f8a00a0ef75aff01ff3334ff00c5cccd15ffffff4cccff00138001ffffffccccff00
+3119998bff0031199a8bff0031199aff00003334ff0031199aff0000b334ff001380
+00ff00014cccb2ff00019998ff00278000ff0001199cff000880008bff00031998ff
+fffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffffc6ccccffff
+e54ccc8cfffff8999aff0002e668fffffd199aff0005cccc8708ff001d999aff000c
+4cccff000eb3328fff000c4cce8bff000ab3328bff0001999afffff06666ff0000b3
+34ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffffd24cce8bff
+ffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332ffffca1999
+fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bfffff8e666ff00
+03e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000ab8bff001e
+33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff0003e6668b
+ff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff00033333fffffe
+3334ff0035e66708fb5a16f89e0accfb6915f89b0aff026fb33404f89c0a0ef75aff
+01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404f89c0aff00058000
+ffff4cb33415fffff24cccff000c4cccfffff8e666ff000db33496ff00104cccff00
+09ccceff000c4ccc1e8bff00053334fffffe999aff00034cccfffffeb332ff000480
+00fffffeb334ff00048000fffffc3334ff0005e6668bff0005333408ff00103332ff
+000d8000ff001de668ff002f8000ff00176664ff0027b334ffffe94cccffffc1999a
+1e8bffffd66666fffff78000ffffde3334ffffd9b3346408ffffcfe666ffffd08000
+05ffffc04cceffffbefffffffff59998ffffe0cccd8bffffd9b333088bff001ab334
+ff00014ccdff0014cccc1eff0071b33406ff0014ccccff001de668fffffeb3338b1f
+ff00088000ff00228000ff00068000ff0030b333ff00009998ff00138000fffffc19
+9cff00033334fffffe1998ff00016666fffff98000fffffeb33380ffffd1cccdffff
+f4e668ffffe94ccdffffe899988b08ffff85cccc068bff001f3334ff002cccceff00
+32b333ff00033332ff0003333308ff0041b334ff003f199a05b0ff0023cccca7ff00
+1c80008bff0031666808ff00463332ffffc04cccff001c999affffcb6668ffffb7cc
+ccffffd9b334ffffcab334641e0ef75aff01363334ff00c5cccd15f89e0acffb6915
+f89b0aff026fb33404f89c0aff00761998ffff9cb33415ff001c999cff001de664ff
+ffe9e666ffffd7b3321f8bffffe03334ffffd68000ffffc76666ffffc58000fffff6
+e66608ff00033334fffff1b3340596ff00014cccff000880008bff000880008b08b0
+ff0030ccccfffff46668ffffb67fffffffa98000ffffc23334ffffe56667ffffe933
+341fffffdecccc8bfffffa4cccff00156666fffff83334ff000bb333fffff98000ff
+0009199afffff78000ff0007e6667e8b08fffff24cccfffff26668fffff3999affff
+f5999971ff00369998ffffee6667b2ff004d6668ff0044ccccff0034b333ff0055cc
+cc1f8bff0046e66859ff001a9998ffffd9b334ff0006800008ffffff4cccff00014c
+ce05ff003dccccb2ff00033334ff001de6668bff0016199a08ff001b4cccffffe74c
+ccff0029999affffbdb334ffffa08000ffffe4b334ffffc1999affffea999afffff6
+e666ff00066666fffff2e666ff000f999aff0012ccccff0006999aff00158000ff00
+0c4cccff0029999aff002cccccff000e4cceff0010e6661e0ef75aff01363334ff00
+c5cccd15f89e0acffb6915f89b0aff026fb33404f89c0aff0078ccccfffea64ccc15
+f89d0aed16ffffc9199806ffffffccd0ff004cb334ff00004cccff0062ccccff0000
+ccccff0014e668ff00014cccff00208000fffffee668ff00196664ff00011998ff00
+05199c08fffffeb334ff00014cccffffefcccc8b05fffffb80008bfffffc6668ffff
+fbb334fffffd9998fffffd1998ffffd7199affffcd999affffb44cceffff953334ff
+ffc480002e8dfffff63332ff0003ccccffffee8001ff001380008b08ff0085666606
+ffffffccceffffe03334ffffffe666ffffe6cccdffffff999afffff6b333fffffecc
+ccffffe2199affffe88000fffffe19996f89fffffc199afffffc199a8bfffff8e666
+ff0003e666fffffc199aff0014ccccff0000b333a5ff00028000ff001de6688bff00
+1999988bff0013e668fffffd8000ff0014ccccffffff4ccdff0003e668ff0003e666
+8bff0007199afffffc1998ff0003e66608ffffe03334ff0002999afffff38000ff00
+00b333fffffeccccff001e8000ffffff9998ff00096666ffffffccd0ff0019199aff
+ffffccccff001fcccd08ff002d999806ff0009199cff00000001ff0009ccccff0005
+e6668bff0007cccd08ff00068000fffffd6664ff0003ccccfffff8e6681e0ef75aff
+01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404ff004fe6668bff00
+486666ffffe06668ff0034e668ffffccb330ffffdcccccfffffc4cd0ffffde6664ff
+fffd1998ffffdf199c8b738bffffe89998ff00013334ffffe933348d08ffffe9e666
+ffff4b4ccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334
+b0ffffdd8000ffffb91999ffffc23333ffffdb9998ffffcc199a641fffffe74cce8b
+fffff7b332ff0012e666fffff6333498fffff780009680ff0009cccdfffff24ccc8b
+08fffff3b334fffff3999afffff8cccd7effffe56666ff00373332ffffe9cccdff00
+25199aff0050999aff00393334ff003bcccdff0051e666caffffd46664ff0038b334
+ffffb733341fffffe4199a8bffffe18000fffffa1998fffff44ccefffffb80000898
+f70705a3fffffd6668ff001b4cccfffffcccccff001f33348bff001380008bff0016
+1998ff00013334ff001ab334ff0002999808ff0008b334ff001fe66805bdffffcb99
+98ff001eb334448bffffb1666808ffff5d6666ffff7b4cccffff7c8000fb35ffff5d
+9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667ff0083999aff00
+a266671e0ef75aff01363334ff00c5cccd15f89e0acffb6915f89b0aff026fb33404
+f89c0aff001d3332fffee64ccc15ff00188000ff00154cceff001a3334ff0001199a
+ff000d199a8b08ff003fb334ff00104cccffffb74cccffffdf8000ffffb88000ffff
+e16664ffffd9999affffe0333462ffffd1e668ff001c9999ff006f19991f8bff000f
+3334ff00019998ff00124cccff0004199aff0013800008ff0004999aff0012999a15
+ff0011199aff003bccceff00296666ff00431998ff0057ccccff0020e6688bff0007
+ccccff00014ccc91fffffaccd0ff00033334ffffbe4cccffffec8000ffffd7b332ff
+ffe49998ffffdb999affffd5ccceffffd7b334ffffd13332ffffebe666ffffc4e668
+8bffffcc999808ffff7c0001db71bdff00553332ff00226668ff00529999ff0037e6
+66ff0037e6686fff00354cccffffa799981effffeb999a8bffffdf4ccefffff88000
+ffffec4cccfffff36666080ef75aff012a3334ff00c5cccd15ffffff4cccff001380
+01ffffffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff
+0000b334ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880
+008bff00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc
+7bffffc6cccdffffe54ccc8cfffff8999aff0002e666fffffd199aff0005cccd8708
+ff001d999aff000c4cccff000eb3338fff000c4ccd8bff000ab3338bff00019999ff
+fff06666ff0000b334ffffe9e666ff0000b333ffffec8000ff00004ccdffffcf199a
+8bffffd24cce8bffffd24cccffffffb333ffffd24ccdffffff4ccdffffec8000ffff
+fe3333ffffca1999fffff6b333fffffccccdffffd2800089fffffc199afffffc199a
+8bfffff8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00
+028000ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003
+e668ff0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334
+ff00033333fffffe3334ff0035e66708dbfb6915f89b0aff026fb33404ff0050cccc
+8bd4ffffdfccccff00351998ffffcb999cfffff6999cfffffdccccfffff43334ffff
+fe4cccffffef4ccc8b08fb1a06ffffe9e6668bff00016666ff00068000fffff44ccc
+ff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0ccccfffff8e666
+64fffffaccceffffde3334ff00071998898bffffff1998ff00073334ff0000e668ff
+000e4cccbfff0015666896ff0014cccc8b08ff00834ccc06ffffcd4cccffff81e666
+ffffc6199cffff7accccffffd3ccccffff9d333408ff00054cccfffffb6666b28d05
+ff0024199aff006bb333ff0025e666ff00693333ff00453334ff00a96666ff002b99
+9858ff001a4cd0ffffbdb3348bffffb7333408ffff5d6666ffff7b4cccffff7c8000
+fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667ff00
+83999aff00a266671e0ef75af883f87b15b4a06b6e1f8b6a646d7a7f0879970564a4
+81a18b9e08a8a3a8b01eee4d15b768ac4f4c60665b1e8b699e72b072089585057c7f
+7e817b7d7275816f8b72084cb869ccdbb1c7bb1e8bae7ba76ca00865a505a69db7aa
+8bb20824fbb4156f5da4c11f8b9e98b6bfae08a97a05b2739b6e8b6e084d5b7c6f1e
+ffff4b3334ff003ccccd15f89e0acffb6915f89b0aff026fb33404f89c0a0ef75aff
+017a3334fffff0cccd15f89b0aff026fb33404f89c0a47fffe654ccc15f89e0aff01
+0d8000ff0076cccd15ffffe78000ffffeab332ffffe5e664fffffecccefffff2e668
+8b08ffffc04cccffffefb334ff0048ccccff00208000ff00478000ff001e8000ff00
+264cceff001fe666ff0028e666ff002e3334ffffe38000ffff90cccc1f8bfffff0cc
+ccfffffe4cccffffedcccefffffbe668ffffec800008fffffb6664ffffed666615ff
+ffeee668ffffc43333ffffd69998ffffbccccdffffa83334ffffdf199a8bfffff833
+33fffffecccefffffa1999ff00053332fffffccccdff0041b334ff00138000ff0028
+3334ff001b4ccdff00246664ff002a3333ff00284cd0ff002ecccdff00141998ff00
+3b33348bff00334ccc08f7183ba559ffffaae666ffffdd999affffad6666ffffc819
+9affffc8199aff001be666ffffcab332ff005866661eff001466688bff0020b334ff
+0007999aff0013b330ff000c999a080ef75aff017a3334fffff0cccd15f89b0aff02
+6fb33404f89c0aff00839998ffffa0b33415f89f0afffffd6668fffe7d4ccc15f8a0
+0afffea08000ff0130b33415fffffffffffffff24cccff000c4ccdfffff8e666ff00
+0db3338b968bff00104ccdff0009ccce8bff000c4ccc8bff00053334fffffe999aff
+00034cccfffffeb333ff00048000fffffeb333ff00048000fffffc3333ff0005e666
+8bff0005333408ff00103332ff000d8000ff001de668ff002f8001ff00176666ff00
+27b332ffffe94cccffffc1999a1e8bffffd66666fffff78000ffffde3334ffffd9b3
+346408ffffcfe666ffffd0800005ffffc04ccdffffbefffffffff5999affffe0cccd
+8bffffd9b333088bff001ab333ff00014ccdff0014cccd1eff0071b33306ff0014cc
+ccff001de668fffffeb3338b1fff00088000ff00228000ff00068000ff0030b333ff
+00009998ff00138000fffffc199aff00033334fffffe199aff00016666fffff98000
+fffffeb33380ffffd1cccdfffff4e666ffffe94ccdffffe8999a8b08ffff85cccd06
+ff00000001ff001f3334ff002ccccdff0032b333ff00033333ff0003333308ff0041
+b333ff003f199a05b0ff0023cccca7ff001c80008bff0031666808ff00463332ffff
+c04cccff001c999affffcb6668ffffb7ccccffffd9b333ffffcab334641e0ef7aff8
+6cf70115f8a10afffe60b334ff00a2cccc15f8a20aff02cd99988915f8a30a0ef7af
+f78bf86815f8a40affff3bb333ffff3bcccc15f8a20aff02cf99988915f8a30a0ef7
+aff834f8dd15f8a50afffe9ab334fffec6cccc15f8a20aff02ce99988915f8a30a0e
+f7afff01d56666f76515ffff2e999a06ff00334cccff00523334ff0057b334ff0080
+9998d0ff005e3334ff00014cccffffdfccccff00008000ffff663334ffffff999afb
+0b08ff0096999a16ffffab999806ffffff999cf70aff00008000ff0097e666ff0001
+4cccff0020199a8dbdfffffe4cccff00273334ff0001b334ff0007cccc08898d728b
+05848bfffffab334fffff98000fffffc4cccfffffb80004cffffb28000ffff8b8000
+ffff5b8000ffffa48000fb238e7c9170a98b08ff00cd333406ffffffcccc5affffff
+999affffd96666ffffff6666fffff1999afffffe33345dffffdbcccc88608885858b
+809185ab8cb38fb98bff002766688bff001e999887ab8a91918b968591085a8fffff
+ece6688cfffffe1998baffffff6668ff000e6666ffffff9998ff0026b334ffffffcc
+ccff0030e66608ff0046333406999a9497958791801ffffdd6b334ff003ecccc15f8
+a20aff02d099988915f8a30a0ef7aff8a4f75115350afffe2ab334ff0052cccc15f8
+a20aff02d699988915f8a30a0ef7afff0039b333ff010fcccc15f8a20aff02cf9998
+8915f8a30afffe3b999aff0028999a15360aff0007199aff001c999a15ff001a4ccc
+e7ff003f999aff00676668ff0087199aff003299988b978d948390266d4d61534a4d
+436c308b3c08fb5ff70f63d8f717c0f713e1e160ddfb1c1effffe0999a8bffffcdb3
+32fffff46666ffffe1b334ffffec999a080ef7aff7fcf8b515f8a60afffec5b334ff
+feeecccc15f8a20aff02f699988915f8a30a0ef7aff83ff8be15c9ab595f1f8b5850
+5d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2a4a51421e8b56
+a765c465089c8005737a777a737664697c608b66082acf56eff710c6e8d31e8bc271
+b65bab0851b305b5a7d0ba8bc808fb34fc4f156046b0e01f8ba79dcddcc208b87005
+c767a55e8b5e082c4074601efffe9db334ff00ffcccc15f8a20aff02cf99988915f8
+a30a0ef7afff003bb333ff010fcccc15f8a20aff02d799988915f8a30affff17cccc
+ff0012ccce15ffffda4cd0ffffdf4cccffffd7b332fffffe199affffebe6668b0829
+72f704bdf702bac6bccad25ffb3f1f8bffffe8999afffffd80006ffffff999986d08
+fffff8e668ffffe3666615400a0ef936f9aef8dd15f8a70a87fce7152c0afbd7f70b
+15f8a10afffe6db334ff00a2cccc15f8a20aff044b99a08915f8a80a0ef936f9daf7
+01158aa9ffffff8000ff004b80008bff004b80008bff004b8000ff00008000ff004b
+80008ca98dc7ff00024cccc8ff0001b334988bff0004ccccfffffd8000ff00003334
+fffffc80008bffffc8b334ffffddb334ffffce4cccffffe74ccc3362ff00019998ff
+fff4999aff00046668fffffb800094fffff9e66608ff002d80009eff00168000919e
+8bff001080008bff0002666873ff00011998698c6dff00008000ffffb4b3348bffff
+b9cccc8bffffb9cccdffffff8000ffffb9b3338a6dfffffd333438fffff1cccc8645
+8885858b80918508bc8cff001bcccc8fff003133348bff002e80008bff0016800087
+bd8a91918b968591458efffff1cccc90fffffd3334de08fbf516f8a10afffe61b334
+ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f90ff86815f8a40afb2afbfb
+15f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f9bcf8
+dd15f8a50afbd7fc7015f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915
+f8a80a0ef936ff03416668f76515ffff2e999806ff00334cccff00523334ff0057b3
+34ff00809998d0ff005e3334ff00014cccffffdfccccff00008000ffff663334ffff
+ff999cfb0b08ff0096999816ffffab999806ffffff999cf70aff00008000ff0097e6
+66ff00014cccff0020199a8dbdfffffe4cccff00273334ff0001b334ff0007cccc08
+898d728b05848bfffffab334fffff98000fffffc4cccfffffb80004cffffb28000ff
+ff8b8000ffff5b8000ffffa48000fb238e7c9170a98b08ff00cd333406ffffffcccc
+5affffff9998ffffd96666ffffff6668fffff1999afffffe33345dffffdbcccc8860
+8885858b809185ab8cb38fb98bff002766688bff001e999887ab8a91918b96859108
+5a8fffffece6688cfffffe1998baffffff6668ff000e6666ffffff9998ff0026b334
+ffffffccccff0030e66608ff0046333406999a9497958791801ffc872715f8a10aff
+fe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936fa27f75115350afc
+413b15f8a10afffe60b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f8
+79f70115f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80afffe20
+9998ff0028999a15ff0025b330ff0020b334ff00284cd0ff0001e666ff001419988b
+08eda4fb0459fb025c505a4c44b7f73f1f8bff00176666ff00028000a7ff00066668
+a908ff00071998ff001c999a15ff001a4ccce7ff003f999cff00676668ff00871998
+ff003299988b978d948390266d4d61534a4d436c308b3c08fb5ff70f63d8f717c0f7
+13e1e160ddfb1c1effffe099988bffffcdb334fffff46666ffffe1b334ffffec999a
+080ef936f959f8b515f75e063dfb5632fb6147fb2c089384c78e05c4f73ec7f73af7
+04f7a5087b97057a867585658b08fb6206698b8d95798f888b8a8b8b888a5b804f83
+57ff000ae668fffffce666ff00001998fffffeccce96ff00014ccca1dbac9cab8b08
+fb7efc4815f8a10afffe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef9
+36f9abf8be15c9ac595f1f8b584f5d7178086f9e054fb27cad8ba808b7b0b8c41ef7
+2d2c15cf54be2e2b4951421e8b56a765c565089b8005737a777a737664697c608b66
+082ad056eff70fc6e8d31e8bc271b65cab0850b305b5a7d0ba8bc808fb33fc4f155f
+46b0e01f8ba79dcddcc208b87005c767a55e8b5e082c4174601efbc0e815f8a10aff
+fe61b334ff00a2cccc15f8a20aff044799a08915f8a80a0ef936f874f70115f8a10a
+fffe61b334ff00a2cccc15f8a20aff044799a08915f8a80affff12ccc8ff0012ccce
+15ffffda4cd0ffffdf4cccffffd7b330fffffe199affffebe6688b082972f704bdf7
+02bac6bccad25ffb3f1f8bffffe8999afffffd80006ffffff999986d08fffff8e668
+ffffe3666615ffffe5b3342fffffc06664ffff98999affff78e668ffffcd66668b7f
+89829386f0a9c9b5c3ccc9d3aae68bda08f75ffb0fb33efb1756fb133535b639f71c
+1eff001f66688bff00324cccff000b999aff001e4cccff00136666080ef936f9d7f8
+dd15f8a70a87fce7152c0afcd0f87215f8a40affff41b333ffff3bcccc15f8a20aff
+044799a08915f8a80a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff01
+7a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd
+15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb3
+3404f89c0a0ef75af7d9ea157a8b8a938a928a98819f788b087d8180786fad7fb11f
+a18ba2979c9ca8a79cbb8bda08f763079b9394a51e95068e8d8c8e1f8b9c898d058b
+528974734b8d8b1e8a898b7a05888d8a8e1ea106a49584791ffb6f07fb0d766e711e
+ff00353334ffff91cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0
+cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff02
+6fb33404f89c0a0ef75af87ef840158791fb928b1e7887857a1e7a06888989881f8b
+7a8c89058bc18da21eff001519988bff00253334fffffe8000ff0008ccccffffff99
+9a55ffffc2e666ffffb13334ffffd9999affffa8e6688bffffa833328bffffb1999a
+ff00266666ffffca999aff003d199a92ff00006666ff001c4cccff00018000ff0013
+199a8b08a3b1898b1f8c8d8b9c058e878d896b858da91e88f789f711fbbd058d878f
+898f8b8f8b8e8c8d9008ff00053334ffff73cccd15f89b0aff026fb33404ff00a266
+64ff00834cd0ffff7dccccffff5d66681f8bffffb77fffffffe59998ffffbdb333ff
+ffd48000ffffccb33408ff000e6666078e878d881e6f8b7c8c8aab0884f79f059e8c
+90b2908d8d901e8b99898d2789fb01fbb1fb09f7b1238d89898b7a05898d898faa96
+887b1efba1076d7f856c888889881efffff0333307ffffd43333ff00336666ffffe5
+b333ff0042e6668bff0049333408ff00a13332ff0081e667ff0083999aff00a26667
+1e0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75af85ef732157c807e8579849a74a969b78b9e8b9b
+919e980882970584878289828b648b87a677a808ffffb03334ffff52cccd15f89b0a
+ff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c
+0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a33
+34fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f8
+9b0aff026fb33404f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75af835f82915859e89927c8b798b85797f5c085dfb4d48f79205998c96
+9d1e93068d8f8c8f1f8b9b8a8d058b56896b1effffec80008bffffe53333ff000180
+00fffff86667ff00006666ff00349999ff004bccceff00579999ff0031ccccff0063
+e6688bff00644ccc8bff00586668ffffce6668c0ffffb3b332fffff4b330ffffffb3
+32fffff0b334ffffffb334fffff4b3348b08715c8c8b1f8a898b7a05898d898e1e9c
+069c8c807b1f4ffb9205ffff923334ffff3dcccd15f89b0aff00ff4cccff01dc4ccc
+15ff00188000ffffd54cccff000de668ffffce4cce8b5608ffff5d6666ffff7b4ccc
+ffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999a1e8bff003c1998
+ff0012199aff0037e668aaff002e999808fffff2b33407888e89901e92069d8b987b
+8f7c08dcfbba058d8294759a8ba08b939c8f9a08b9f751058e948d908e8b8e8b8f85
+8d8108bffb4f058e809476a38ba08b95a18e9508d4f7bd0591a1a0909e8b8b8bff00
+0280008b8dff0001199a080ef75aff017a3334fffff0cccd15f89b0aff026fb33404
+f89c0a0ef75aff017a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef75aff01
+7a3334fffff0cccd15f89b0aff026fb33404f89c0a0ef759fffff0cccdff0024cccc
+ff00986667abf772a4ff009b8000ff0024cccc01ff00313333ff0024b333ff00b119
+9abff701c1ff00c1e668ff0024b33003f83cf7d215a60ab6fb24159e8b9e979495ff
+0000999893fffffcb334ff00054ccdfffff8b334ff0002b33388888689878b088286
+9bb41fd607e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92
+089ba096aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e7999
+76a48b08ffffa73334ffff42cccd15ff00b63334ff00000001ff00943330ff009480
+008bff00b6666708ff00b66666ffff6bccd0ff00933332ffff49ccccffff49ccccff
+ff6d3333ffff6cccceffff49999affff499999ff0092cccdffff6b8000ff00b63334
+1eff026fb33404f89c0a0ef75af7bef84a15f8040abc4215f8050aff001f3334ffff
+04cccd15f89b0aff026fb33404f89c0a0ef75af813f84915f81e0afffffb3334fffe
+3bcccc15f89b0aff026fb33404f89c0a0ef75af82cf76415f8060abcfb1215f77407
+b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f62
+077c997392718b083e663d4b3ebb59cd1fa38ba1989e9b088d8b896a9b8b05ff000c
+4cccff0007b333aa95ff0027b334ff00074ccd08899d6c8e057d8c888d8bac08ffff
+b13334ffff0acccd15f89b0aff026fb33404f89c0a0ef75af819f75615f8090ab1f7
+3015f80a0affffcf3334fffe92cccc15f89b0aff026fb33404f89c0a0ef75af7c9f7
+4c158b79fffffaccccfffff98000ffffeb3334fffffc8000087f890588ffffff8000
+89ffffff80008b87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000
+cccd89ff0000333308768d05ffffecccccff0001cccdfffff93334ff000833338b9d
+08f72cc60791938d911f9d078d898c881e479506eaa3969f1e9d8b95849377908095
+83978b978b96968b978b9684967e947c967b91748b0857565e2b1f6c06808884861f
+7d07898b8a8e1eb506ff00453334fffea0cccc15f89b0aff026fb33404f89c0a0ef7
+5af88af84f1597969599977e98721f758b79827b79829178946e8b578b56698b528b
+6a9c789c7b7b7c7d728b768b759b7b9a84086c7777748b710855c07db8dae2a7ce1e
+8b9f829a7a9a73a1628f758b818b7c897d8a828a848a888b7a8b78908ba58b988d96
+92950899839d87a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e858d
+849186958b08fb4ffb7d1591889588928b928b948c948b938c928b908ba98b9f859c
+82a47f93858b7b085e4d875676568fb91e8ba08d989e9d08f704f743154d6f87755a
+82b7abbb9d9aabb0a074591effffcf3334fffe6fcccc15f89b0aff026fb33404f89c
+0a0ef75af7e1f85715b58da58b1e90898d851e7b845d837189088c7905898d8a8d1e
+a08a05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f
+79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8
+e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cc
+ccfffffbb333ffffed3334fffffe4ccd08808a05878a88891f79078bb38ca4a3b18a
+8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b333
+8b9e08f71007ce6da45e1e678b68687d7b08ff002d3334fffe81cccc15f89b0aff02
+6fb33404f89c0a0ef75af810f88c157b7e7e7b7b987e9b9b98989b9b7e987b1fa6fb
+bf15f71c07a68da68b1e90898d851e7b845c8371898a838c848f85ab8996908b5608
+fb01078b627e88638986838c7c8f85a98c968bae8ba98b9b8ba98a8f928b99879369
+8d7a8e8bb408ffffe33334ffff23cccd15f89b0aff026fb33404f89c0a0ef75af827
+f8a41578807e7b7c987e9c9c98989a99839a751f76fb5215fb1f072e82686e1e868b
+878f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f7
+2607a68da68b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598918461
+1ffffffc3334fffe9ecccc15f89b0aff026fb33404f89c0a0ef75af7aef83f15fb80
+078b76ffffff4ccc88ffffe7b3348808838a0587ffffff80008bfffffd80008b8908
+79078bff002533348cff0017ccccff0018999aff002666668a8b1e9d078b8f88ff00
+00cccd89ff0000333308838c05ffffeeb334ff00023333fffff84cccff00044ccd8b
+ff0014800008ff004f666607ff0001ccccff00006666ff0001999aff00003334ff00
+01999a8b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b
+1e8d8d8b9b058b8e87ff0001999a87ff00006666ffffdf80008effffee8000a28495
+084ce805898d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093ff001880008e
+8dff000033348fff0001cccc8b8e088b9c898c058b638a73756d8c8b1e8a8a8b7a05
+8b898dfffffd4ccc8effffffb334ab887b7a8383ffffdf8000ffffdb3334ffffeb33
+34fffff08000ffffe54cccfffff4199808ff0094333407b58da58b1e90898d851e7b
+845d837189088c7905898d8a8d1ea08a05989184611fff00603334fffe45cccc15f8
+9b0aff026fb33404f89c0a0ef75af7f6f77115f7790aff00183334fffe40cccc15f8
+9b0aff026fb33404f89c0a0ef75af78df82615ff001b33348dff0010cccc8b1e9089
+8d851e7b845d837189088c7905898d8a8d1ea08a05989184611ffb1a078b768affff
+fd666673fffffc999a08848a0586ffffff4ccd8bfffffdb3338b890879078bff0025
+33338cff0017cccdff0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccd89ff00
+00333308808c05fffff08000ff00016666fffff68000ff0003999a8ba108f723079e
+a2a0a1a08b08aa9f7a581ffb0c078bffffe94ccdfffffa999afffffd9999ffffeb66
+66fffffe199a08808a0588ffffffb3338afffffd4ccd8b890879078bb28ca4ff0018
+3334ff0025cccc8a8b1e9d078b8dffffffe666ff00023333fffffb199aff0000cccd
+08858c0578ff0003333384ff000280008bff00154ccd08f716078b91ffffffccccff
+0005b334ffffff8000ff00054cccff0012199aff00158000ff0013ccceff00138000
+ff0013cccc8b08a99f7a581ffb0c078b7485fffffdb33378fffffe4ccd08808a0587
+ffffff999a8afffffd66668b890879078bff002799988cff00196668ff00183334ff
+0025cccc8a8b1e9d078b8dfffffee668ff00024ccdfffffc1998ff0000b33308858c
+05ffffed1998ff0003199afffff8e668ff000133338bff0016b33308f71607ce6da4
+5e1effffdc4ccc8bffffdc6668ffffdd999afffff1b332ffffeeccccfffff6199aff
+0024e666ffffe6b334ff000eb334ffffdccccc8b678b6a687d7a08ff007f3334fffe
+5fcccc15f89b0aff026fb33404f89c0a0ef75af84cf789158b628988698987838b7d
+8f84a98c928ba38bff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb4
+08f407ce6ea45d1effffdc199a8b68ffffdd199a7d7aff00006666ff0017b332ff00
+018000ff001533348b8b8b90898d858b7b845c8371898a838c848f85ff00206666ff
+fffe8000ff000a999aff0004b3348bffffcacccc08fb01078b628388638986838c7c
+8f85a98cff0005b3348bff00234ccc8ba38b938ba98a8f928b998793698d888e8bb4
+08f70a079ea2a0a1a08b08aa9f7a581fffffc23334fffe9ccccc15f89b0aff026fb3
+3404f89c0a0ef75af80cf84f15f87a0ad1fb3615f8820affffbc3334fffed7cccc15
+f89b0aff026fb33404f89c0a0ef75af7bef81d15fb98078b77fffffd999afffffc33
+33ffffe96666fffffccccd08848a0587ffffff66668afffffe999a8b890878078bb0
+8ca3a5b38a8b1e9d078b8f89ff0000b33388ff00004ccd08808c05fffff1199aff00
+016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08ccc1c7d5cf63c7511f
+6e8bffffe380006ffffff080007908898c05ff001b33348dff0010cccc8b1e90898d
+851e7b845d837189088c7905898d8a8d1ea08a05989184611fbc3215ed0798ff0012
+8000a4ff00178000a48b08a7a767422e628874756a98bf1fff001f3334fffec0cccc
+15f89b0aff026fb33404f89c0a0ef75af82ef79d15f8a90aa9ca15f8aa0affffc233
+34fffe19cccc15f89b0aff026fb33404f89c0a0ef75af809f80e15898c05ff001b33
+348dff0017cccc8b1e90898d851e7b845d837189088c7905898d8a8d1ea08a059891
+84611ffb1b078b78fffffe199afffffb4ccdffffe8e666fffffeb33308798a05868a
+89881f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffece666ff0001199a
+fffff9199aff0003e6668b9f08f712078b938f948f909ba29a97928b8f8b90898f87
+91849387978b089d96949c9d8198701f6c8b70697a7208ff00053334fffe76cccc15
+f89b0aff026fb33404f89c0a0ef75af7aaf79b158e6b8d6b8b73918c958c8e8b9f8b
+a17da98bad8bcd9b8bc88bbd5d9e58a0699981948ba308a6a098a41e9e8bad819951
+08a28c82d605809264956c8b5a8b5e6b8b618b5eaa7bb978bd7693778b768b707380
+738b748b78978491087b9b85a68a9908ff004e3334fffee9cccc15f89b0aff026fb3
+3404f89c0a0ef75af810f80215c60690948d901f9d078d898d881e47ea06657e8b80
+055c817362898b8a891e7307898c8b8d1eb3fb4b065fa07aa81ea78ba293a5a6087b
+9c057b7f81867b8b087a879db11ffffffe3334ffff1bcccd15f89b0aff026fb33404
+f89c0a0ef75af872f786158bf7528a8c058b7d8a82ffffe64cccffffd7b3348c8b1e
+8a8a8b7a05878e8a8e1e95069c9487751ffb380778757588768b086d779bbe1f8bf7
+3e8a8c058bfffff2999a8afffff76666ffffe7ccccffffda33348c8b1e8a8a8b7a05
+898c888f1e92069e8a918a8b7308fb180748a972b81eb08bae9b999c088d8b896a9b
+8b05ff000c4cccff0007b333aa95ff0027b334ff00074ccd08899d6c8e057d8c888d
+8bac08ffff9c3334fffefecccc15f89b0aff026fb33404f89c0a0ef75af7f1f73115
+f81d0aff006e3334fffe8ecccc15f89b0aff026fb33404f89c0a0ef75af7b6f81915
+f76e0aff00583334fffe6bcccc15f89b0aff026fb33404f89c0a0ef75aff01c63334
+f80515a7ff0023e666ff0004b332ff00044cceff001c199aff0001cccc8f8f8b9987
+8f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3334fffff7ccccfffff2
+ccccffffed3334088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a
+738b748b818c798c87878b7d8f87ff001c199afffffe3334ff0001199afffffd9998
+ff001a9998ffffda333408ff003833343b058888ffffcecccc518b8bffffe1999aff
+ffdc8000fffffdb334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928c
+a28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97
+788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e6
+66ff0001cccdfffff9999aff0002e666ffffe5b334ff00254ccd08ffffcbccccd505
+ffffe83334fffec2cccc15f89b0aff026fb33404f89c0a0ef75af7fff845158b9b8a
+8d058b59896e786f8d8b1e89898b7b05888e898f1ea68b8f81967108d6fb4205917e
+907a8b868b85898588837c65847b838b858b869086918690868e818b088178827974
+ab81961fb78b94a19eb7bef70da6ccacd1949d979fa38b088f8d8d8e1f8b9b8a8d05
+8b71897a74628d8b1e8a898b7b05898d888e1e8e069a9689811f8b888a8489860846
+fb2d49f730058a8f8a918b8e0892928f9d8e8f8d8e1eff000f3334fffe3fcccc15f8
+9b0aff026fb33404f89c0a0ef75af7c8f84315f81f0affffd03334fffe41cccc15f8
+9b0aff026fb33404f89c0a0ef75aff0181ccccff0201333415968bff000a6668ffff
+fc1998ff0007ccccfffff8e668ff00143334ffffef1998ff00158000ffffc8199a8b
+ffffa8e6668bffffc4333489ffffd08000fffff6e666ffffdee666fffff1b332ffff
+cab334ffffdc3334fffffa3333fffff44ccc8b08ffffc8b334fffff08000ff0075b3
+33ff00388000ff009fe666ff002b999aff00244cceff001d33321ffffffd6668fffe
+7d4ccc15bdff004c1998ff0032b333ff0098cccd1f8bff00404cccfffff06668ff00
+36999affffe36666ff0025b334ffffebe666ff001ab332ffffebccccff0010333464
+8b08ffffbfb334ffffc2ccccffffb34cccffff7f4cceffff96b333ff00316668ffff
+a3b333ff004980001f86ffff724ccd15f89b0aff026fb33404f89c0a0ef75af80ef9
+1a15f8ab0ad3fb7d157e8b6d827d840881a605ba9ca597b7a6089bfb990675967c99
+1ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8e1eaf069b999aa11ff7
+2c07ab89957f1efb6a16f8ac0a0ef75af80ef91a15f8ab0aa7fba2157f7d9698a6a7
+bedabdc5774c1f8b5d6a695363616d736e8b6d08dc06aa8b9bb196a808a38505826d
+8468886e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68987960807c7d1e8b839083
+8b83087b7983811efb47b015f8ad0a0ef75af80ef91a15f8ab0af722fb7d15aa7694
+771e778b69818a728a7f897a748b0878879a8e9ca8c0e2bfac75661f8b6e75746e7b
+ac88ba708b510846495d3b66579ba0959895961e998b9184918493819583ab8b089e
+c498d0c45592731f848b868a838a0889a305b791a9a58bb408fbbf167e8b6e827c84
+0881a605ba9ca697b6a6089bfb990675977c981ea7068e8e8a871f76078b568c6a65
+4f8a8b1ea0078d8f8e8f1eae069c989aa11ff72c07ab89957f1e0ef75af80ef91a15
+f8ab0af72cfb911522c1078968578b8b5a05788f859d1e9b068f8c88891f77078b60
+8c7073668a8b1ea0078c8c8e8f1e99069d908ea01fbdfb2407879705b8cdcfebb4c3
+08a982055e455039746908e6d7068b9290938d8e92949797928b08909389831ffbba
+9f15f8ac0a0ef75af80ef91a15f8ab0af72efc2015a888c6431e768b76857c830886
+8fa0f722f72d8b866a8b8afb118b7f3a059490a4909a8b08d8af5755505b5545694f
+99a3979794951f998b9284938394829681a18b08b89cb0b51ffbc5f73715f8ad0a0e
+f75af80ef91a15f8ab0af730fc2615a186c2521e7d8b7685757a08780737b274a7b7
+93aeb01ec39015676f4a3b5a43a8f31e8bddc5f2f72d97087707fb01786849805099
+9aa69ba48b08ec953c7a1ffbf6f73815f8ac0a0ef75af80ef91a15f8ab0acafb6715
+708b8384805b08758e0590a792b38ca6089d0686908a9b1ef74206563052fb0e6c22
+086906aef703c3f710a5b908fbc17515f8ac0a0ef75af80ef91a15f8ab0af3fb5315
+6e747d6e1f8b7b9375af77089f80059b95a2a68ba908a67c9d671eea5e15f8ae0a25
+29157b8263638b69085fb47ba2b0a89cb41e8ba486a4639f08fba0f70815f8ac0a0e
+f75af80ef91a15f8ab0ac7fb9d15758f54c41e998ba191a19c089e07df64a26e5f84
+68661e538615afa7ccdabdd56e231e8b394f24fb2e7f089f07f7029eadcd97c67c7c
+707b728b082b81da9c1ffb28b0157f8b6d827c840882a605ba9ca597b6a6089bfb99
+0675977c991ea7068d8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf069b
+999aa11ff72c07ab89957e1e0ef75af80ef91a15f8ab0af710fb56154c8a2d565393
+3dc1c691d8d8c17cd45b1f88fbc5154658dae0e8c2d4cfc5cb62fb0dfb0b495a501f
+fbe7f779157e7e9698a6a7bedabdc5774c1f8b5d69695463616d736e8b6d08db06ab
+8b9bb196a808a28505836d8468886e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68
+987960807c7d1e8b8390838b83087b7883821e0ef76cff019fb334ff00e3cccd15ff
+ffff6666ff0011999affffffb332ff002c199a8bff002c33348bff002c3332ff0000
+4cceff002c199aff0000999aff00118000ff00013332ff0023199aff00014cceff00
+23b3328cff0007999c8bff0002ccccfffffe8000ff00001998898bffffdf9998ffff
+ebe6686efffff19998ffffcc800073ff0000e668fffff94cceff0002b332fffffd80
+00ff00053334fffffc666608ff001a999aff000b199aff000d3332ff00038000ff00
+0b199a8bff0009b3348bff00014ccc7dff0000b334ffffec199aff00009998ffffee
+8000ff00004cceffffd3e6668bffffd6e6668bffffd6e666ffffffb33262ffffff66
+68ffffee6667fffffe6666ffffcf8000fffff7b3328862fffffe3333fffffc8000ff
+fffc80008bfffff9999aff00038000fffffc800008ff001cb334ff00009999ff0010
+3334ff00024ccdff001ccccc8bff001b33348bff000d3332fffffdb333ff001d3334
+ffffff6667ff00038000ff000380008bff00066666fffffc8000ff0003800062ff00
+01cccdfffff7b3328efffffe6668ff0030800008ffffe3b332ffff0d333315f8af0a
+ff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76eff0122b3
+34ff01b4cccc15fffff3b334ff000b1998fffff9999aff000c4cceff0009e666ff00
+0eb334ff0008ccccff000b199a1e8bff0004b334fffffeccccff0002e666fffffecc
+ccff0004199afffffeccceff00041998fffffc8000ff000533348bff0004b33408ff
+000e9998ff000c4cccff001ae668ff002ab334ff0015199aff0023b332ffffeb9998
+ffffc7ccce1e8bffffda999afffff84cceffffe18000ffffdd8000ffffdce66608ff
+ffd4ccccffffd54ccc05ffffc6b334ffffc58000fffff69998ffffe3e6678bffffdd
+8000088ba3ff00013333ff0012b3341eff00664ccc06ff0012b334a6fffffecccd8b
+1fff0007999aaaff0005ccccb7ff0000999aff00118000fffffc8000ff0002e667ff
+fffe3334ff00013332fffffa3332fffffecccefffff6199affffd67ffffffff6199a
+ffffeb8000ffffeae6668b08fb02068bff001c1999ff00286666ff002d9999ff0002
+e666ff0002e66608c6ff0038ccce05ff00214cceff00203332ff00193332ff001999
+9a8bff002c800008ff003f3334ffffc6b334ff0019b332ffffd0999affffbf199aff
+ffdd8000ffffd0199affffdce6661eff0060b332fffe3c333415f8af0aff0296e668
+04f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff0183199aff01fc33
+3415ff0019b332a6ffffec3332ffffdbb3341f8bffffe34cccffffda999affffcd19
+9affffcb4ccefffff7cccc08ff0002e666fffff3199a05ff0009e666ff00013334ff
+0007b3348bff000799988b08ff00214cceff002be666fffff58000ffffbde666ffff
+b23333ffffc8666673ffffeb80001fffffe233348bfffffab332ff00134ccd84ff00
+0a8000fffffa3334ff00083333fffff8666692fffff44cce8b08fffff3b332fffff3
+b33480fffff6999affffe89999ff0031199afffff03334ff00231998ff0045999ac9
+ff002f6666ff004d33341f8bff003fcccc5ea3ffffdd8000ff0005cccc08ffffff66
+66ff0001199a05ff0037999aff0023199aff0002e666ff001ae6668bff0013e66608
+ff0018999affffe9ccceff00256666ffffc44ccc35ffffe76666ffffc7e668ffffec
+b332fffff7ccceff0005e668fffff44ccc999cff0005ccccff00134cccff000b199a
+ff00256666ff00286666ff000ce668ff000f33341eff00004cccfffdf4cccc15f8af
+0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff0191
+4cccff011e4ccc15ffff85999a06a9ff0030199aff00334cceff004b3334ff00284c
+ccff0037199aff0000ccccffffed3332ff0000333431ffffffccccffffba666608ff
+0058333416ffffce999a06ffffffccccd0ff00003334ff0058ccceff0000ccccff00
+12ccccff00013334ff001d33348aff0016fffe8cff0004999c08fffffeccccff0001
+1998fffff166668b05fffffbe6688bfffffce666fffffc3334fffffdccccfffffd66
+68ffffdb199affffd2b332ffffbbe666ffff9fccccffffca8000ffffac4cceff0001
+cccefffff73332ff00036666fffff03334ff0011999a8b08ff0078199806ffffffe6
+68ffffe34cccffffff9998ffffe98000ffffffb334fffff7999afffffee666ffffe5
+199a76fffffe3333ffffe6cccefffffe3333fffffc8000fffffc80008bfffff9999a
+ff00038000fffffc8000ff0012b332ff00009999ff00176666ff00024ccdff001ae6
+688ba28bff0011e666fffffdb333ff0012b332ffffff6667ff00038000ff00038000
+8bff00066666fffffc8000ff0003800008ffffe34cceff00024ccdfffff4e666ff00
+00b333fffffee666ff001b8000ffffffb334ff00086666ffffffb332ff0016999aff
+ffffe668ff001c999a08ff0029199806ff00083334ff0008b334ff00054ccc92ff00
+05cccefffffdb332ff00039998fffff9999a1fffff99e666fffed2b33415f8af0aff
+0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff01c4199a
+ff0113999a15ffffc86666ffffdf4cccffffd13333ffffdce6661effffe9ccce8bff
+fff866669cfffff73334ff000bb333fffff86666ff0009e66781ff0008cccdfffff3
+b3328b08fffff4e668fffff4e666fffff98000fffff44ccc73ff0031ccccffffec33
+34ff00214cceff00488000ff00338000ff0035ccccff0049b334ff0038b332ffffd8
+ccccff0032e668ffffbe80001fffffe6cccc8bffffe48000fffffaccccfffff58000
+fffffbe66608ff000bb334ff0067800005ff0015999afffffdb334ff0018999affff
+fd199aff001c19988bff001180008bff0013e668ff00013332a3ff00024cce08ff00
+096666ff0021e664fffffbe666ff00024cd005ffffdeb334fffffc8000ffffe04ccc
+fffffd19986c8bffffea66668bffffeae666ff00011998ffffeb8000ff0001ccd008
+ffffec3334ffff5d666405aaff000bb334ff00163334ff00024cccff001519988b08
+b1ff00214cceffffe1199affffc033341fffffbf4cccfffedd666615f8af0aff0296
+e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff018366667c15
+f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20affffbc99
+9affff114cce15a1ff0013199aff0017999aff00011998ff000bcccc8b08ff00394c
+ceff000e9998ffffbe8000ffffe2ccceffffbfb333ffffe4999affffdd6666ffffe3
+4cceffffdb1998ffffd68000ff0019cccdef1f8bff000db334ff00018000ff00104c
+ccff0003b334ff0011999a08ff0004199aff0010b33215ff000f6666ff0035ccceff
+00254cccff003c8000daff001d999a8b92ff00013334ff00054cccfffffb4cccff00
+02e668ffffc4e668ffffee7ffeffffdbb332ffffe76666ffffdf333465ffffdbb332
+ffffd5e668ffffede668ffffcab3328bffffd1ccce08ffff893332d3ffffe8b334b8
+ff004c9998ff001f199aff004a4cccff00324cceff00324cccffffe6e666bbffffb0
+66681effffed99988bffffe28000fffff93334ffffee4ccefffff49998080ef76cff
+016a999aff01e4cccc15ff0076333206ffffd26668ffff8e8000ffffcbe666ffff88
+199affffd83332ffffa7199a08ff0004b334fffffbe666ff0023199aff0001cccd05
+ff00214cccff00636666ff0023199aff0061199aff00418000ff009fb33408fffff6
+b3349205fffff61998fffffd19987efffffc8000ffffe9ccce8b08ffff87800006ff
+ffec199a8bff00013332ff0005e668fffff58000ff00024cccfffffe33348bffffff
+66668b8bfffffe3334ffffff6666ffffe3e664fffff9999affffdce668fffffb4ccc
+ffffe19998ff00066668fffffe3334ff00001998ffffff4cccff00066668ff0000cc
+ceff000ce666ff002eccccff00134cccff0009e666ff0012b3348b08ff0018ccccff
+fe0c333415f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b2
+0a0ef76cf818f87e15af9e6e711f8b6d68717c80087a950568a2839f8b9c08a5a0a5
+ad1ee45415b36ba855526569611e8b6b9b76ad74089485057d8080827c7f75778272
+8b750852b36cc6d3adc1b61e8bab7da46e9e086aa205a39bb3a78baf082efb981571
+63a1bd1f8b9b96b2baab08a57b05af769a718b7108535f7d721eff00036666fb5215
+f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef76cff
+018366667c15f8af0aff0296e66804f8b00afffdab199804f8b10aff02144ccc04f8
+b20aff005b199affff0880001575ffffece668ffffe88000fffffee666fffff43334
+8b08ffffc6b332fffff14cceff0041999aff001d3332ff00404cceff001b8000ff00
+228000ff001cb332ff0024e666ff00298000ffffe64ccc271f8bfffff24cccfffffe
+6668ffffef999afffffc4cccffffee666608fffffbe666ffffef4cce15fffff0999a
+ffffca3332ffffdaccccffffc380013cffffe266668b84fffffecccefffffab333ff
+0004b332fffffd199aff003b199aff00118000ff00243334ff0018999aff0020cccc
+b1ff00244cceff002a199aff00121998ff00354ccc8bff002e333408ff0076cccc43
+ff00174ccc5effffb366686cffffb5b334ffffcdb334ffffcdb332ff00191998ffff
+d0199aff004f999a1eff001266668bff001d6668ff0006b334ff0011b332ff000b66
+66080ef776ff0148b334ff00e3cccd15ffffff6666ff0011999affffffb332ff002c
+199a8bff002c33348bff002c3332ff00004cceff002c199aff0000999aff00118000
+ff00013332ff0023199aff00014cceff0023b3328cff0007999c8bff0002ccccffff
+fe8000ff00001998898bffffdf9998ffffebe6686efffff19998ffffcc800173ff00
+00e666fffff94cceff0002b333fffffd8000ff00053334fffffc666608ff001a9999
+ff000b199aff000d3333ff00038000ff000b199a8bff0009b3348bff00014ccc7dff
+0000b334ffffec199aff00009998ffffee8000ff00004cceffffd3e6668bffffd6e6
+668bffffd6e666ffffffb33262ffffff6668ffffee6667fffffe6666ffffcf8000ff
+fff7b33288ffffd70001fffffe3333fffffc8000fffffc80008bfffff9999aff0003
+8000fffffc800008ff001cb333ff00009999ff00103334ff00024ccdff001ccccc8b
+ff001b33348bff000d3332fffffdb333ff001d3334ffffff6667ff00038000ff0003
+80008bff00066666fffffc8000ff0003800062ff0001cccdfffff7b3328efffffe66
+68ff0030800008f739ff011b666815ff0009e6668bff00096666fffffc800092ffff
+f99998ff00121998fffff0ccceff00136668ffffcdb3328bffffb1999a8bffffca33
+34fffffe3334ffffd53332fffff7ccccffffe23334fffff319985bffffdfe668ffff
+facccdfffff580008b08ffffce33347dff0069e667ff0032e666ff008fe666ff0027
+3332ff0020b334ff001a4cce1ffffffdb332fbf015ff002d0002ffffffffffff0044
+8000ff002d999a8bff00897fff8bff0039e668fffff1e664ff00311998ffffe64ccc
+ff0021e668ffffede668a3ffffedccccff000e9998ffffdce6688b08ffffc6199854
+46ffff8c3334ffffa13333ff002c800038ff0042199a1f23ffff4dcccd15f8af0aff
+0296e66804f8b00afffdab199804f8b10aff02144ccc04f8b20a0ef75af80ef91a15
+f8ab0afb56044c892d5653943dc1c691d8d8c17cd45b1f88fbc6154559dae0e9c1d3
+d0c5cb63fb0dfb0b4959501f0e9ad4f84215fc42f842f842070e9af704f82015f7f4
+fbfefbf40664f82015fc42f842f842070e77f886af15fb78f81efb76fc1e050e77f8
+59c915fc008bf74af7cf05f777fbe815fb77f81dfb77fc1d050e58d48215f81ef778
+fc1ef776050e58eeaf158bf800f7cffb4a05fbe8fb7715f81df777fc1df777050e77
+b7f84115f778fc1ef776f81e050e77e4f82915f8008bfb4afbcf05fb77f7e815f777
+fc1df777f81d050e58f84af85315fc1efb78f81efb76050e58f830f826158bfc00fb
+cff74a05f7e8f77715fc1dfb77f81dfb77050ef4ff001c999aff00d6b33315f8b30a
+0ef4ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff0719
+9cffff07199905fffecc6666ff00fc7fff15f8b30a0e8ef746f7701553b95dc3c4b9
+b9c3c45db952535d5d521ef3fb7f15f8b40af84d04f8b50a0ef5f711f76415f75cf7
+9ef75bfb9efb5bfb9d05fb97f79d15f797fbedf796f7edfb96f7ee050e8e7ca5f833
+a501bca5f833a503f7ae7c15f8b40af84d04f8b50a0e8ef7ae7c15f8b40af85804f7
+0dec2afb0dfb0d292afb0cfb0d2aedf70cf70cecedf70d1ffc2b04f4e1e0f5f433da
+2424343c2222e035f41ff7ff04ebda3d2b2a3c3d2b2a3edaebebd9d9eb1f0e8ef7ae
+7c15f8b40a0e8ef7ae7c15f8b40aa504f83307f707e82ffb07fb072d2efb061f0e8e
+f7aef85915fb152222fb15fb15f423f715f715f3f3f715f71523f4fb151f7104fc33
+07fb072ee7f707f707e9e8f7061f0e8ebbf77615fb15f422f715f715f3f4f715f715
+23f3fb15fb152223fb151ea516f83306fb072f2efb07fb072ee9f7061e0e8ef898f7
+6815f71522f4fb15fb152322fb15fb15f323f715f715f4f3f7151e7116fc3306f707
+e7e8f707f707e82dfb061e0e8ef7ae7c15f8b40af84d04fb63f76407fb072d2efb06
+fb072fe8f707f706e7e8f7071e0e8ef7ae7c15f8b40aa504fb072fe8f7071fccf722
+8a8b1ff76407f707e82ffb07fb072d2efb061f0efb62f7ae7c15f86707fb152323fb
+15fb15f322f7151f0efb62d4f85915fc6707f715f3f3f715f71523f4fb151f0efb66
+f4aaf755a901bca9f755a903bcf77e1543c452d0d9bccbc9d34fc3484a4e53461ea9
+16bfbab6bcbeb960545c655b50575fb6c21e0ebcf756f7561543fb5cf746f710f73e
+fb0f4af758f73bf708fb618b4cf75545fb55fb578b050ef717cdbdf70eedf70ebd01
+f711bdf70eedf70ebd0314fcf711f7b315fb06e420f71af709f1ecf710f70038f705
+fb1dfb142d25fb0b1ef771f73f15f8b60a5afb3f1570a175a6a6a1a1a6a675a17070
+7575701e0ef8b5f9d2f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff44c
+ccfffffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08bac
+8ba87b8d818b828b8189838808ff000cb334a2928dff00204ccc8b9473ba868b3b08
+fbeaf70815c85fb170c18b9d8b9b8f9790848185808b7b8b56a559957affffb8e668
+8bffffe81998ff005180008bff002580008b908c918c8f087b7b576a6e8b848b8291
+81939389948a948b089f919398a278917f1f688bffffeae666ff00094ccdffffd919
+9aff001db3337a98fffff2800097fffff9800091988ea3a59c9f088bbab6ab9a9d91
+a2978595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b908b9108cab19b
+b61e9589057c7075608b5c8b7b927e93817a93788d828b578b65724e5c08f7afc615
+8bac60a08bb38b9e929f929eff001eb334fffff6999aff00361998ffffe480008bff
+ffc3999a8bffffc64cccffffd0199cffffe38000fffffb1998fffff28000ffffdd80
+008bfffffc8000ff000080007cff0011800092899389928b08979b8da81ffccf5215
+9a999d92a28ba08b9d839e7d7a7b7680748b798b78967b9c08f7d5fb8c159968af4a
+9b74b451b66fb6718dc1a1ada7a79898ff0029b334ff0017b333ff00234cccff000d
+4ccdd9ff001d4ccdc6ff0016b3338bf7038bcb5dbe60a908b385f71f5e8baf52a1c3
+a08baefb1e6362868a8b059d98979492939d9cb1ff002580008bff003e80008bff00
+56999affffbab334ff0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668
+ff000fcccc73ff000ecccc67a05ed287b543524f3f64360875ff0009800064ff000d
+8000618b328bffffa36666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb
+4605ff0028199affffda199aff0059e666ffffcee666e28bae8bb4989b9208f709f7
+ac15b2a17185827570661f678b729771a1a69f9e99b28b08bff77715969d91a41f92
+0792838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b33482
+8b3c8b7b5987747a95728e798b788b76827d7f086f8a058c918b8f8b90089d7f8f81
+8073846e1e8b7f918392878f88968b998b08a106fffff48000ffffe73334ffffee80
+00ffffddcccc83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88
+781e8b878b888a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba091
+8ba08ba85e8f8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780
+006dffffff8000ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ff
+ffe6cccd71a572ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff
+00373334ffffe63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3
+b88e8baa8b9d7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe
+8000ff0001333487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000ff
+fff8199affffff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff00
+00ccccff00063333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4
+cccd087b06747788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f
+8bff0004b333ffffffe666ff0004b333ffffff3334ff0004cccd08a58a05967f9982
+9b8ba98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffff
+df999ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107
+a578918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4ccc
+fffff0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b3
+33ff001f4cccff00364ccd977eaa7d948b08a1989fa6997f9f741f7b8bff0005b334
+7afffff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08a106c176db
+5f8b3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3e666ffffd9
+e668fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffffdab334b1ff
+fff24ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366808d7a488b
+3e8bffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72ff72e05ff00
+4cb334ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2caf2c4ba9cff
+ffdb80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff0025199cff
+fff19998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999affffd2cccc
+ffffcc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a91ff001e80
+008bfffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e7f7c9f6ba7
+59978e958c938b948bc06596708b6f8bfffff24cccffffefb334fffff7b334fffff2
+4ccc08a58d05fffffeb334fffffb4cccffffff4cccfffffcb3348b87087e937c9e1e
+0ef848d7dd15839384969594929393829281808384831ef8d2f76f15f7199ef7526d
+8bc58bb4fb298f27903290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c
+5a8b4f8b579563a06d9888e4849a84d75ec183a48bc08bcd93c1a3a193969a8b9e08
+8ba17a858596a49397988b9f8ba1719f8b8baa9b999c8b9f8b9c7d9d669f08fc952b
+15a99cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb2e808b
+82f71291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7df72782908b059a8b959092
+97888a868b858b086875bdef1f0ef7e1f755f7eb1587b0fb39848bfbe4f73d9994bc
+05d68b8f49f71d8b908b988b9f8d8b8a8d8b908c98789e82a68bc88bd5a88bbd8b9c
+83997a950892968e968b968ba0809a74958f948e938b918b9785977f9708c906eaf7
+088dc4d2fb4292fb141ffb0d067596788f7a8b428b6240398b08fb208d15f706918b
+fb99fb068205f855f729155f8b34d58492088381bb550570716f7e6e8b7a8b73906e
+94088107a576a382a18b978b998d9d8f8b639c78b18b088f06888389848b888b7297
+7ea58908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f77678682
+1ff705421563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f33
+fb0f157174959c1f8b9aad85cba4a29498908b8b089891837c7052725c1ff7cbf7b8
+1568fb018a421e768b678c588e79a372a66ca9ab8cb78ca58b08f737ee796a1ffc27
+29159e8ba5739f8baf8ba9998ba88b908a9089909c8094828b810865fb0e6561737e
+96a39ca49fa11e0ea4f7d2f8f0159b929e909a8b08c3c783fb062a5d793c1f788b80
+8d808d08fb173e1590908e8e1f8b99878d3189498d88898b7d05889388951e8c0690
+8b9d7da77608f71ffb0405ff00016666ffffff199a8c8aff0000999affffff333308
+fffffae66607ffffff8000ffffff6666ffffff4ccdffffff3333ffffff3333ffffff
+333308fb0e2f056b74797e848b0889067f8489861f8b7e8f8a058bae8ca0a3b18a8b
+1e8c8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08dbff003d4ccd8bffff
+cbb3330572807d721e8806878888871f8b7a8d89058bbc8dacaeb1898b1e8d8d8b9c
+058f878e881e8706778197a61f8bff0028e666c2ffffd7199a05aa7192858b880885
+8989821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e8e8c8b990590858c7d
+1e8a06868b8a8d5fad08fb1ff6058a8c8a8d8b8c8b8e8c8f8f8d08f711e905b1a696
+939c8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d05878f8991
+918f88861e8b868985767b082f4605fffffc199afffffd3333fffffcccccfffffd99
+9afffffd199afffffe333308f7370797869587a38b08f727b5e0d7c06edffb291f76
+8b6b8a5c88608956887e8b087907898c87911e8f8ba08d938b089ba385691f8bfffe
+a7e66659ff0028199a057b9985928b8f08908c8f971e0eddf7d67b15f73ff70df717
+f734f73dfb17f711fb35fb32fb1bfb10fb3efb33f70ffb18f73e1ff71bf730155a32
+a7f701ea41b54e1fffffb3199a8bffffd79999ffffce6666fffff44ccdffffa6999a
+088a0694f734f2f701f7308b08f727f70dfb06fb2b3e584d391f66f71f15769d799f
+a09e9da0a0789c7677797a761efba68715a09c9ca0a09d7a7676797976767a9da01e
+0e8ef7ae8315f70feeeef70f1f8bff00653334ffffbbccccff00561998ffffa2999a
+ff001a6668ff0013999aff00189998ff003a199aafff0020e666ff0012b334088b76
+a47f1e8a06ffffef4cccffffff1998ffffc1ccceffffc6ccceffffe23332ffffd84c
+cefffffb999aff00009998fffffb8000ff00006668fffffb8000ff00004ccc08ffff
+e9199aff007980007175ff0013b334ffff9c80008a8b05ffffeeffffff003a6666ff
+ffdd999aff002f999affffccb333ff0025800008648605ff0031333360ff002b999a
+ffffd2999aff00136666ffffc9ccccffff9b6667ffffeb199affffb46666ffffa633
+348bffff954ccc08fb0eed27f70f1ef83304f8b70a2cfb0c15f8b80af71b16f8b90a
+5728156c8b66688389088d8605ff000d800090ff0015199aff0001e666ff0010cccc
+ff0000b33408ff0001999affffd66666057a987e9f1ea18b95998c9f08ff00016666
+ff001c333305ff00093334fffffe1999ff0008b332fffffeb333ff0008b3348b938b
+978f929508879205818c818e888b7c8b729c798f868c868b868b089162158f8a9060
+8189050e8ef7ae8315f70feeeef70f1f8bff00668000ffffba199ae2ffffa0b332ff
+00193334ff0012e668ff00378000ff002c4cccff002e1998beff002bb33408639005
+ffffcc6666ffffda3334ffffdd6666ffffd01998ffffef199a50ffffffb3348bffff
+ffb332ff0000199affffffb3348b089fff0064999a71a1ffffe93334fb0d05fffffb
+33328bfffffb3334ffffffb334fffffb3332ffffffb332ffffe1e667ff0027999aff
+ffc2cccdff00381998ffffef8000ff0000e668088a068076728b1fff001ee66679ff
+0037199affffddccccff00156666ffffe78000ffff9de667ffffe93334ffffb6b333
+ffffa766668bffff97199a08fb0eed27f70f1ef83304f8b70a2cfb0c15f8b80af71b
+16f8b90a5efb2a15618b78a479ab08767f05ff0010b333ffffe36666ff0013e667ff
+ffe4999aff002219998108ff00014ccd6a0579987e9f1ea18b95998c9f08ff0001b3
+34ff0020333305ff0026e666ff000cffffff0014b332ff001de667ff0007b334ff00
+0de666087798056e5e6685768b08fffffee6667215ff0001199a8bff0003999a8bff
+00046666648189050e8ef7a8f702158a64958d86af0588a715a08bb091a8b8089f7e
+05837d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba808a0
+97059d6b9e72b58b0890fb2515f70feeeef70f1f8bf245e12ca49ec3b7b9beb70863
+90055865685b7a50088a8b9ff071a174fb0d05868b878a868b6db24dc47b8c088a06
+8076728b1faa79c269a172287542328b2208fb0eed27f70f1e28f7bb15999697999a
+977f7d7d7f7f7c7d8097991ef721169997979999977f7d7d7f7f7d7d7f97991e0ef7
+18f7e7f85e15f8b60a9ffc6b15db07b88fb59daca708c552a7a752c505a7ab9db490
+b908dbb23b0687b77bb76eae08c3c36ea75454056ba7629e5a8f08d9633d075b8761
+796a6f0854c2706ec0550570697960875d083c62da06905f9d61a669085353a86fc4
+c205ab70b47aba86083b070e55f70a5f15f712c9e3f58bf72d8bf72337f70525c508
+f710f731fb23fb3ffb34fb11fb35fb4c1f31f92315f7106bf716fb1e8bfb398bfb41
+fb1efb18fb106da380a585bd8b08f761f72df73df748f751fb1af736fb6b1f728b57
+847385080e55f819f8e415fb124d33218bfb2d8bfb23dffb05f15108fb10fb31f723
+f73ff734f711f735f74c1fe5fd2315fb10abfb16f71e8bf7398bf741f71ef718f710
+a973967191598b08fb61fb2dfb3dfb48fb51f71afb36f76b1fa48bbf92a391080e87
+5db9f700bdf7eabdf7327612c5bd6fbdf70ebff711bd6ebd13fa80f7abf88815edd4
+3c302e433c282843dae81fe8d6d8eb1e6dfc19158dfb03218b8b5df68b8dfb0fba8b
+8ef70ff68b8bb9218b8ef70305f7099bd6ed8bf48bd95fdc3fb10813f700ceb1abdc
+8bbd085906595c2c24344ddacd1e59068b60a535d4630813fa8041665c3f8b378b2c
+cc21f71279080e875eb9f702baf7eabd01c5bdf723c1f725bd03f78df703158dfb02
+218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf408f700
+38f704fb1dfb152e26fb0b1e8b2ccc21f7127908a9f81915edd43c302e433c282843
+dae8e8d6d8eb1f0e8775bdf7eabaf702b9f70e7701c3bdf725c1f723bd03f7c7f835
+1589f702f58b8bb9208b89f70e5c8b88fb0e208b8b5df58b88fb0205fb097b40298b
+2208fb00defb04f71df715e8f0f70b1e8bea4af5fb129d086dfc19152942dae6e8d3
+daeeeed33c2e2e403e2b1f0ef575b9f7ebbc01c5bdf7eabd03f7abf80315edd43b2f
+2f433c282843dae7e9d6d9eb1ff771fb40158be561cf47ae08f701f76c05944e9466
+a74f08b7870569e97ebf7fee08769505305359772a6f08a96905cf9ab09cc3ab08fb
+0afb6b0572937a8b758b08fb152e28fb0efb0eee2cf70cf70df1edf70b1f0edfe0ba
+65b9f7c076f700b412bcd4f737d0f706d213bef751f8a315ccaafb0f3d1f8b376c45
+51737a846382768b088a06837c83831f7607868e868c1e137ef80094058f8d89891f
+8bfb519679c7aa8bf74ac88d058f8e8d928b948b948895868e08508c8bf835758d5a
+808bfc2605888988871efb5706b4a9b9df8be908f457f707232f525950739b7ba3a8
+959f981e8b928a93898e8a8f89908b9708a9a191b81e0e58f7e5baecba01f70ed2f7
+14ce9bcf03f70ef8f615395007807e7e7b829082951fcffc78069679c6aa8bf79105
+abb9b5a7ca8bad8bb4648b5d8b5a784e79667b696d4c8b5a8b569f68b06a08cb8393
+96055eb17aa88bbe8bb799cb9eafa0b2a9cd8bbb8be047b6458b598b4b69706708f7
+3bde079899a197938790801f2ce606748c050ec330abf735a7f73fbaf747a901f3d1
+aebf9ad19fbea5d103f7998c15a4a0a7abad9d6e73667374706c74a2b01efb31f876
+15fbc9076f7e7b621e8806868888861f8b798d89058bd08daf1ea7f759f1fb6f0665
+816e708b5c0852c36bbabcc3a9c81e8bb56ca7639608f770ecfb5907a78c05afd088
+8b1f8d8d8b9e0590888e861e8806627e9ba71ff7c807a8989ab41e8e06908e8e911f
+8b9e898d058b4588681e6f8c8bfb632a8b8bf742789a6b8b787c8bfb42258b8bf763
+6f8a0568458e8b1f89898b7805858e88901e8e06b4987c6e1f0ef78d5db9d6baf8a1
+7712f70dcef74ad64ac0f754ce13f6f8455d15f6b921068cd605f74b9dd5f71d8bf7
+458ba09193938b978b9c79967d08ae8efb2cf743058a8a898b8a8b08fb42078bfb2a
+60fb0ffb267f0813fa94f81205a48e97931e938b997da07108ae8efb11f723fb16fb
+23ac8805a0a59a99948b0893907f721f92fc1205fb299663f7078bf72f08f745078a
+838b8b1efb2bfb44ac8805999b9d9b978b948b91838b768bfb4bd5fb13f74b79088b
+8a8c41218b8b5d0513f6f68b8dfb0fbb8b050e494bbbf7b6bcf773bc01bcd2ddd2e6
+d403f7a5f7a115e98ed1d38bf208ed3ebd251efb65838bfcdfa47db9a08bf79fdd88
+8bfbe3f7849094af8798fb428505e6f862158b4d66535582088bf703778f587a8b2a
+398e8bf76bf7189305b8ce733f1f0ef7dff8cdbf01b2d6f7bbd6f7bad603f82dfb0d
+159779caaa05f7c8def80af718bbaa60461e8b617e5e6f5908bf82a29405a6bd99ba
+8bb78be24bd0398bfb448b50fbbf76fb3e08810671f77045f78cfb2e8b3d8b414a8b
+2f8b60995da65908c183a193056fb97db88bb608ccabb8baf719defc08fbd21e0ef7
+77fb04c4f802baf767ba01f72cc3f808c303f81e5415203cdeeef5e0d9f0f5db3925
+283c38201f20f8221542634d438b2408fb15f703fb03f717f719f701f704f7141e8b
+f24dd342b3c0a1a3a5aecb08a1b305a7bcaaa4ae8b0895ba6f065a8b5f646345086b
+560577677572757d747d6e84678b678b6e927499759976a476af086cc00563d15eb2
+5a8b086f5c9506ae8baa72a75a08a16305b244a476bb77080ef73165ba82baf86ab9
+7fbb12f74ed5f75ad6138cf74eb01560855e825a7e085c07134ceba4f398f7028b08
+139cf7038bf27eeb7208ba075a985e94619108f87907b891b996b89708bb07132c37
+73247ffb0f8b08139cfb0e8b239737a3085b07b97fb881b98608d5fc7615f8720713
+6ca789ac8ab18bb28bac8ca68d08fc72076e8e6a8d668b678b6a896d88080ef7a7a8
+c3f724b3e0b4e576d4c301bcbbf767baf712bbf767bb03f75ef7a115525bb8c9c5b7
+b9c7c4bd5e4f525e5a4e1f8f6315e0cbd3dd1f8bb775b841afb99ec695d38bf38bf7
+0073f7045a089dad8d9e05fb03bd20a5278bfb078b2a773f613e615b618b490834d7
+4adc1ef841f71115c4bb5d4e4c5a61544e5dbcc3c4b8bdc81f8cb41538434d371f8b
+42bc65bb735d785181428b228bfb00a4fb03bc08786a8c7605f70359f471ef8bf708
+8beba0d7b5d8b4bbbd8bcd08df45c9391e0ef738fb39c2ecbdf767bcf7a2ba01b2bd
+e8d5b2c9c1d4f701d203f753f78c15c9b55b514f5d5e52525db7c9c6b9b9c31ff7b9
+fbac158bc6a5c9cad2c4ccaddb8bee08ed34f704fb38fb09fb063afb041e8b639667
+b3577a8f828b7b8b083747463630d24adfe2d7d7dd1f8bb07daf6ab35fc181b98bd3
+08dcd5c3e3e9dc342d1e8b29765b5955554f523c8b308b46c157d88bb58bb8a7bac5
+08759e0561646f80628b6b8b70a78bbd080ef75ffb04ac01dfd6f707d6f707d6f0d7
+03f8af9a15f773079dc5a4b9a7ad9f6195608b5d8b255a3f575708fb528915f7db07
+9ed9abc8b3b59b6f93618b5308fbeb078b728d738f7369756076597c08946a05bd93
+b799ae9fa154ad61be6e089c990563b87bab87cad6c7ebee8bf7188bcf77cc63c908
+487a057a7379697c6008f700078bbe69ba6db5085480056a6571637f6284c169b772
+ab086a9275790572707266785c83b97db076a70874895f7c05a261975d8b5a088bfc
+2d9779caaa8bf7e9059fcdaac3b3b89b70935b8b45088bfc0c9679050ef744c4c0f7
+0ac1f77bbc01f749cbf78dcb03cdf77815f77e8b91bd055fa47ab08bb708d0c4c7cf
+cec44f461e8b5f7a625e76088659f77d8b059899a497938794801ffb3c06aaaaa2ae
+8bb208ee34d7282532392c1e8b64a26aa96c08fb32067f7e767b829183941ffb3f04
+f8e5069899a496948793801ffce7067f7e767c829183941f0ef709fb3c9c01dad6f7
+05d5f705d6de9a03b7f8b615a265975b8b51088bfc269679cbaa8bf7e8059dcea8c4
+b4b89b71945b8b46088bfc0f9679caaa8bf7db059cd5a8c7b5bb9c7393628b5108fb
+d5078b39a557b26608af670592858d868b878b858289808b888b878b878c087b7af7
+0a8483f70c7c7b8b82057f897f831e888b868d85910872a40570a584b58bdc08f7f3
+078bc37cbc6cb408427f056b6574657d6384c27bb671a908437f05716e74667a5f83
+b47db075ab087489050ee09376f889b701f8afb903f8e1f8b1156c856a886c8b588b
+5c92699608836105af7eb384b08b978b978c968c08fb90fb8dfb0bf70c6363f70bfb
+0bfb44fb43b263f745f743f70bfb0db3b3fb0bf70cf78ff78e058a828a818b808b66
+935f9d6408b595057eb382b78bba8ba98fa991ab080ef798fb05bacdb5f75fba01f7
+4fc3f870d603f963f721154f6764651e618b589262b8abe1b3ccc38b08bda959551f
+fbfaf814159c67914398259efb2b918ba65c57fb2b7a6b278b08725cbf06c08bd88d
+cbf73ab362be7dc18b08d8d2c8dfdf58ca371f4b8b3855674572e88ef75f58f70608
+417c055950683e752c7de17bca78af7ca65e9d5e8c08827505b27a9684a25f9c6bb1
+fb2c8bfb0e089a7fb497058bf748d6f714b6bd080ef7a1cdf80d15a55cf712f1058e
+8d8c8c8d8b8d8b8d8a8d8708cf2c058d898c8a8d8b8c8b8d8b8d8d08f70aed058e8d
+8d8c8d8b8e8b8d898d8608ce2e058d898c8a8d8b8c8b8d8b8d8d08f709eb058e8e8f
+8d8d8b8d8b8c898e8708d328b7a62ef729058790898d898b898b8789878708fb0c29
+43ee05888f898d898b888b8989878808fb0e2742ef05898f898c898b888b89898889
+08fb3ffc3d15a55cf712f1058d8d8d8c8d8b8d8b8c898d8808d02c058d888c8a8d8b
+8c8b8c8c8e8d08f70aec058e8e8d8c8d8b8e8b8c888d8708cf2e058d898c898d8b8c
+8b8c8c8e8d08f709ea058e8e8f8e8c8b8e8b8c898e8708d328b7a62df72905889089
+8d898b888b8889868708fb0c2944ee05878f8a8d888b898b8989878808fb0e2742ef
+05898e898d888b898b89898789080edff7a3b901f752d6f708d603f8887d15b384b4
+920538e261e98bf308f70cb9fb0c0690e5b4e1dae0086291668505443e6236812808
+fb080680ee63e044d808608e698805d936b435903108fb0c5df70c068b23612d3934
+089a86cc9005dae5b3f7018be108f708068bfb05c821c549080ef735f83ef74a15b0
+8b8b2af48bc48bc8b78bdc8bb37cb765b0fb0ff70b4dd432f70230fb043d38252069
+677a6c8b58082dd069ba1ef68b88ecb58b968b9c7a8b5e8b557c6467850876f73ca0
+07659180bd8bb58bbf9d96988b080ef76cf841f71015be9292961eb08baa30f28b08
+d9bac1d8b37bf4fb061f4a8b51586d8b818b82938b958bacf7039b8bf308c85ac624
+fb046149551e8b24f7027d8b668b7d8188838b698b57bd498b08227130563dbd55d6
+1ff28baae6b08b9a8b8d768b668b57836164830876f72fa00769937ebf8bb6080ef7
+38f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff71ffb298b518b346b8bfb088bfb11f715
+fb18dc3408f704fb0df70df71105e6eaf706f70c8bf7108bf7043bb0488b080edff7
+daf900152ffb0c2a22242ef70125ed21e0fb03e4f706eaf5f0eefb06ed32f70139f7
+03080efb6381f739f8ad7701f797b903b2c6155bc876bdcfe2b9cc1ef8e35dfcb707
+79926f8e6b8b0866226e481f0e7081f739f7509bf7e17701f797b9f724c403b2c615
+5ec373c2cfe2b9cc1ef87807b65fb895b54d937e91798b788b6c7968577d08957b05
+dc9fafc08bb98ba37bc553aa48af61b277b5085dfcb7067a91718f688b0868206e48
+1f0ef736fb51f73a98f739f8b37701f797b9f7d7ba03f8b7741568236d485dc374c2
+cfe3bacb1f8bf8cffc34f7618bfcbd057a916f8f688b0868226e485ec373c2cfe2b9
+cc1f8bf86ff7d7fb388bfc52057a926f8f678b080ef736fb51f73a98f739f8b37701
+f797b9f7d7ba03f7c5ff020e1998158bff0048e668f7d7fb388bffffb66666053aff
+fe7f999a1568236d485dc374c2cfe3bacb1f8bf8cffc34f7618bfcbd057a916f8f68
+8b0868226e485ec373c2cfe2b9cc1f8bff01768000f7d7fb3a8bfffea88000057a92
+6f8f678b080e4ef7afbd01f713aef71dd203f736f76915aec1ab9ba78ba48b9c708b
+718bffffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f71e
+afe3ff0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060efb0dff01cf
+999a7701f70daef70bae03f7a7ff011ab33415fb0bffffd3e6668bff00624cccf70b
+ff002b666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae
+8b8bff0185999afb2effffbf4ccc8bff0095199a050efb0df8ec7701f70caef701ae
+03f79cf8ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33
+348b4dc1ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff7233
+33ae8b8bff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338b
+c954ffffe980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c333405
+68fffec3199a15fb01ffffd366668bff00654cccf701b7050e2df75f9a1589ab055b
+8c75998ba408b3ca8fb0c1e89ed11e8bd75297508f088a5e05b28aa5858b6c085951
+8b615e27873063aa66b71e978b9c8e9d900887f73f15998ba08c9e8b088ef7670574
+8a7587758608fb110489b8057c876f86888b086f7d98a4c3f71599b21fbf8b8f80ad
+8b998b978d989208858e91899388998189949090878b828b828c828d8a8a8191a387
+058d8d8d8d8b908b957797808e7d8e8e9d778b778b54845c884e87fb0d718b348b67
+9c5bce8b089c8ba18da49108d0f762158c938c9f8b9f08b683a269707f6e741e8b81
+905b8d80a28fa48ea38b0887fcd015798480868187088c62057e918397969596a01e
+8d0777b815d1a3baad8bb38bb368a06b8b848b7f898388088a6a05928d958f948b92
+8ba4898b738b6e527073827783747c7679787a73848b848b879089918b08958b9b8f
+928fa6989798a4930876ae15b19b8bf7445a8805f71ff7dd158d8d8d8d8e8d898988
+89898889898d8e1e0efb2ef760f84415aca47563646b74716d6fa8acaca6a8aa1f80
+fbb81575da63d32b8c878b878888858b5eb76d9580c548c39c8cfb26087c92868f92
+8e91991e8ef729b778d0caaba9a0a68bab8793868d8a8b428a54456c3908f71e07b7
+90b3ad8bc108c35db15b556260581e8b57b065ba88080ef7a85eb9f702baf7eabd01
+c5bdf723c1a1bdd4bd9fc1f725bd03f78df703158dfb02218b8b5df68b8dfb0eba8b
+8ef70ef68b8bb9218b8ef70205ff0028999aff00058000ff00238000ff000f8000ff
+001d199aff0016199aff001c3332ffffea6666aefffff06666ff0029999afffffa19
+9a088dfb02218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed
+8bf48bf70038f704fb1d8bffffcbcccc8bffffd1999affffef8000ffffdb6666ffff
+e46666ffffdcb334ff001b199affffd2e6669cffffca999a8bfb158b2e268bfb0b8b
+2ccc21f7127908a9f81915ff0024e6668bff00216666fffff4ccccff001b3334ffff
+ed3334ffffe0999affffd9999affffede6665a8bffffcb66668bffffcf4cccff0011
+199affffcc6667ff0021999affffd6e667ffffe4b332ffffecccccffffde3334ffff
+f4999affffda66668b082843dae8e8d6d8eb1fff00aa3334fffec8b33415ff002080
+00ff00276666ff00124cccff0032199a8bff0033cccc8bff00318000ffffee999aff
+00326666ffffdfe666b3ff001b80009eff00216666ff000b199aff0024999a8b08ed
+d43c302e433c281fffffda4ccc8bffffde4cceff000b6666ffffe4999aff00134ccd
+08ffffdc4cccff00f6800115ff0017199affffe2b332ff000d6666ffffdb199a8b64
+8bffffd7e666fffff2999affffda999affffe8e666ffffe24ccdffffe8e666ff001d
+b333fffff2999aff002566668bff0028199a8bff00278000ff000d999aff0024999a
+ff0016e666ff001d199a080ef7fffb38b9ebb9f75dbce8bca176f722adf37701c5bd
+f73ebdf70ebdf73ebd03f964c0158be561cf47ae08f701f76c05944e9466a74f08b7
+870569e97ebf7fee08769505ffffc39998ffffdaccccffffd5b334ffffeab33459ff
+ffedb334ffffe73334ff0048ccccfffff4e668ff00326668fffff59998ff00559998
+08769505305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb
+152e28fb0efb0eee2cf70c1fff0004b3348bff0004b332ff0000199aff0004b334ff
+00004cccff001eb33237ff0051199affffc5999aff005e199a8bf70d8bf1ed8bf70b
+08fc4df7ce15ff0047b3348bff003a6666ffffd5199aff001a199a50ffffa1ccccff
+ffe519994cffffab33338bffff9b999a8bfffff6199aff0000999afffff66666ff00
+014cccfffff6800008ffffff199a062843dae7e9d6d9eb1fff00a98000ffff6a8000
+158cfffff8999aff00008000fffff880008bfffff866668bffffb48000ffffcf8000
+ffffbd3333ffffb7e666ffffea8000ffffff199aff00073333ffffff8000ff000733
+348bff000766668bff004cb333ff0031e666ff0042199aff0046999aff0015b33308
+ff00274cccff0038333415ffffeee668ff00331998ffffddb332ff00274cceffffd1
+999aff0017e66608f701f76c0593ffffc99998ff00081998ffffdcb334ff00158000
+ffffce6668fffff1e668fffffb8000fffff0e666fffffb8000ffffef999afffffb4c
+cc08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758bfffffbe6668bfffffbe666
+ffffffe66687ffffffccce08ff000a999affffcf4ccc15ff0000999a06edd43b2f2f
+433c281fffffb5cccc8b50ff002c4ccdffffe7199ac8e6ff001b1999ff0044199aff
+00534ccd8bff00614ccd8bff000a4ccdffffff800095fffffee666ff0009b333080e
+f785fb6d76f70eb9f703b9f7eabdf723ad12c5bdf712bd6ac1f725bdf712bd13fdc0
+f938f796158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee08
+769505305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b6b8bff
+ffe23334fffff9e666ffffe54ccc80ffffe6199aff000ae666ffffe2b332ff000633
+34ffffdfb3348bfb158b2e268bfb0b8b2ccc21f71279088dfb02218b8b5df68b8dfb
+0eba8b8ef70ef68b8bb9218b8ef70205a18eff0014999aff0005e666ff0012ccccff
+00084ccdff0019cccefffff58000ff001c4cccfffffa4ccdff001d80008b08f70df1
+edf70b1ffc21f73f15ff000a80008bff000a3334ffffff199aff0009e666fffffe4c
+cc0813fec0ffffd0ccccffffd78000ffffe3999affffc380008bffffbc999a8bffff
+bb999aff001f199affffc41999ff00306666ffffd8999afffff4e666fffffdcccdff
+fff48000fffffee666fffff4199a8b082843dae8e8d6d8eb1fff008ee666fffead19
+9a15ff00318000ff0029ccceff001c999aff003e33348bff0040e6668bc9ffffe499
+9aff003f6666ffffceb332ff002ab334ff000a3334ff0001e666ff000a999a8cff00
+0ae6668b08edd43b2f2f433c281ffffff4999a8bfffff4e666ff0001199afffff566
+668d08ffffc8999aff013b4ccc15ff0032e666ffffe1e666ff0020999affffc88000
+8bffffc333348bffffc1e666ffffdfe66653ffffcd199affffe1cccdffffcd3334ff
+001e3333ffffdfccccff0037999a8bff003d80008bc9ff0020b334ff0037199aff00
+31ccccff001e4ccc080ef5fb6d76e3bae7bbf7ecbdf722ae01c8bef724c0f725be03
+f79180158d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f70099e0ed8bf7
+028be45fcf47ae08f700f76d05944e9566a64f08b8870568e97ebf80ed0875960530
+525a782a6f08a86805cf9bb09bc3ab08fb0afb6b0572937a8c758bfb148b2e288bfb
+0e8bfb03e12cf57c08a9f81c15edd43d2f2f4339282843dde7e9d7d7ea1f0e6281bd
+f7f0bd01afbdf7f0bd03e1f76a15f8ba0a5916fb0ff026f70ff70ff0f0f70ff70f26
+f0fb0ffb0f2626fb0f1e0ef75981bdf7f0bd01afbdf750bdf702bdf750bd03e1f76a
+15eadadaea1eff001b999a8bff001a4cccfffff94cccff00176666fffff43334ffff
+d8e668ffffd7999affffe7ccccffffc9199a8bffffc3cccc8bffffc3cccdff001833
+34ffffc91999ff00271998ffffd7999affffe8999afffff43333ffffe5b334fffff9
+4ccdffffe466668b082c3cdaea1f5916fb0ff026f70f1eff002b999a8bff0028cccc
+ff000cb333ff0022999aff0015e667ff0022999affffea1999ff0028ccccfffff34c
+cdff002b999a8b08f70ff0f0f70ff70f26f0fb0f1fffffd466668bffffd73334ffff
+f34cccffffdd6666ffffea199affffdd6666ff0015e666ffffd73334ff000cb334ff
+ffd466668b08fb0f2626fb0f1ff7ebff007e199a15ff0021b334ffffe0199aff0015
+4cccffffd319988bffffceb3348bffffceb333ffffeab334ffffd3199affffde4ccc
+ffffe01999ffffde4cccff001fe667ffffeab334ff002ce6668bff00314ccd8bff00
+314cccff00154cccff002ce668ff0021b334ff001fe66608ff0029b334fffee66666
+15ff00271998ff00286666ff00183334ff0036e6678bff003c33338bff003c3334ff
+ffe7ccccff0036e666ffffd8e668ff00286666ff00176666ff000bccccff001a4ccc
+ff0006b334ff001b999a8b08eada3c2c2c3c3c2c1fffffe466668bffffe5b334ff00
+06b333ffffe8999aff000bcccd080ef81981bdf7f0bdaa7712afbdf7f0dd48bdf801
+bd13f6f855f86915ffff78b33407ffffd8199aff003e800045ff0029ccccffffb0e6
+668b08fb0f2626fb0ffb0ff026f70f1fff004f199a8bd1ff0029cccdff0027e666ff
+003e800008ffff6fb333bdff0093800007ff00278000ffffbfb333ff00471998ffff
+d4cccdff005066688b08f70ff0f0f70ff70f26f0fb0f1fffffaf99988bffffb8e668
+ffffd4ccccffffd88000ffffbfb33408ff008a800007fc31fb9315eadadaea1e13fa
+eada3c2c2c3c3c2c2c3cdaea1ff84216f8ba0a0ef90781bdf724bdf72ebd01afbdf7
+f0bbf774bbf7f0bd03e1f76a15f8ba0a5916fb0ff026f70f1eff0070cccc8bff005e
+6668e0ff000eccccf70108f77406ff000eccccfb01ff005e666836ff0070cccc8b08
+f70ff0f0f70ff70f26f0fb0f1fffff8bb3348bffff9f6664ffffa5ccccfffff5ccd0
+ffff8e333408ffff22333206fffff5ccccff0071ccccffff9f6666ff005a3334ffff
+8bb3348b08fb0f2626fb0f1ff96216f8ba0a0ea981f71b01f71bf77215838b847883
+7e81928297848b08817b70798bff00113333fb42ff0050cccd1fa08b99909297f760
+ff01626666f713ff00b500028bff001399988bff00069998fffffc4cccff00046668
+ffffebb3348b628b69fffff733347dffffe4cccc39fb33ffff713333fb91fffff0cc
+cd8bfffff066668bfffff4999aec7b8b080ec89c7601f771f8b415838b8478837e7e
+948595848b818b7b708b798b61b4fb13a54c7576fb1d218b758b8292848f81088682
+817e8b858b84986d9a8b8f8b918d8f8d8b87916c958b988b9ab4f70ff70db22a9957
+a18b08968b9397979294869383928b9a8b96a88f96ac8b8ea58b968ba06e9948f720
+f73df74fb77e8baf088b978099788d8b8b8bbb728b808bfb07fb043b3d3df7259bbc
+6f8b080e559676f81dc6f78c7701f779da03f7c897158bab80e78af790f38bbf869c
+8b089b90909fa085987b1f758b5c87248a8bf71a97d58ba2089b8991771e68067a86
+847c1f8b7196428cfb18238c588f7a8b087b857d777591889c1fa08bba90f38b89fb
+7a80fb068b6b08798e879e1eae069c908f9d1f0ef8b5f7a8f7f2158b988d979095a7
+baff00244cccff000ab334ff000bb334ff00034cccff0007b334ffffed4cccff0007
+4cccffffeab3348b788b6260768b6a8b6e9b89958b948b958d938e08fffff34ccc74
+8489ffffdfb3348b82a35c908bdb08f7eafb08154eb765a6558b798b7b877f869295
+91968b9b8bc071bd819cff0047199a8bff0017e666ffffae80008bffffda80008b86
+8a858a87089b9bbfaca88b928b94859583838d828c828b087785837e749e85971fae
+8bff00151998fffff6b334ff0026e668ffffe24ccc9c7eff000d80007fff00068000
+857e8873717a77088b5c606b7c7985747f9181a01e978b988f958e8683787b6c8b7b
+8b6e986e9e8c868b868b85084c657b601e818d059aa6a1b68bba8b9b849883959c83
+9e89948bbf8bb1a4c8ba08fbaf50158b6ab6768b638b7884778478ffffe14cccff00
+096666ffffc9e668ff001b80008bff003c66678bff0039b333ff002fe666ff001c80
+00ff0004e666ff000d8000ff002280008bff00038000ffffff80009affffee800084
+8d838d848b087f7b896e1ff8cfc4157c7d7984748b768b799378999c9ba096a28b9d
+8b9e809b7a08fbd5f78c157dae67cc7ba262c560a760a5895575696f6f7e7effffd6
+4cccffffe84cccffffdcb334fffff2b3343dffffe2b33450ffffe94ccc8bfb038b4b
+b958b66d086391fb1fb88b67c47553768b68f71eb3b4908c8b05797e7f828483797a
+65ffffda80008bffffc180008bffffa96666ff00454ccd62ff00376666ffffef3334
+ff001db33382ff0023999afffff03333a3fffff13333af76b8448f61d3c4c7d7b2e0
+08a1fffff68000b2fffff28000b58be48bff005c9998ff00464ccdff001f6668ff00
+1eb33308f74df749fb50f74605ffffd7e668ff0025e666ffffa61998ff0031199a34
+8b688b627e7b8408fb09fbac156475a59194a1a6b01faf8ba47fa5757077787d648b
+0857fb7715807985721f8407849388958b948b958d919398ff0008b334fffffeb333
+ff000a4cccffffff4ccd948bda8b9bbd8fa29c81a4889d8b9e8ba094999708a78c05
+8a858b878b86087997879596a392a81e8b978593848f878e808b7d8b087506ff000b
+8000ff0018cccdff00118000ff0022333393969ca6a7a5998b918b9c8498858c858b
+858b7f087887888684888e9e1e8b8f8b8e8c90fffffc3334ff00008000fffffbcccc
+ff00008000888b878b76858b768b6eb8878b738b82fffffd8000fffff18000fffffc
+8000fffff28000ff00388000a9ff00008000ff0029cccd8bff002a33330897889988
+968bb78bff0017cccca2ff00193334a571a46ba8668b7a8b85897f858bff0024cccc
+fffffd3334ff00366668ffffc8ccccff0019ccccff00038000fffff18000ff000380
+00ffffef80008b81088b735e888b6c8b799d84908bff0004cccc8bff00026668ff00
+008000ff0004ccccff00018000fffffecccc8fffffff33348e8b8f08ff000066668d
+ff00148000ff00098000ff0007e668ff00009998fffffe999affffeb80001e8b81ff
+ffffccccfffff83334ffffff3334fffff9cccc7e887d88858b778bffffe83334ff00
+1fccccffffd2ccccff003b3334089b06a29f8ea4a76f9484fffff2ccccfffff74ccc
+fffff66666fffff1ccce1f8bfffffb4cccff0000199cfffffb4cccff0000ccccffff
+fb333408718c0580977d947b8b6d8b707f727b0891078ba47cac7d9bfffffa4cccff
+0006999affffe1b334ff00206666558b878bfffffe4ccc8bfffffab3348a87968692
+8b968b948f959193088507719e85959e9399991e8b8e8b908a8f08a58905fffff64c
+ccff000eb334fffff3b334ff000f4ccc6f8b578b7e6a8b688b838c838c83fffff2b3
+3487ffffcd9998ffffee4cccffffe0b334ffffc9b3347f986c99828b08757e77707d
+9777a21f9b8bfffffa4ccd9cff000db3338b8f8b8f8a8d8b8e8b8e8c8c8c0880078b
+7d8b59c05a08750655a03bb78bdb8bae93aea09fa3ff00166666acff000ee666ff00
+22b334ff000c199cff00261998ff000d4cccb09cff00193334ff001b4ccca5a89dad
+91a0ad75ff00254ccc65ff000db3347508acffffcaccccff001f4cccffffca3334ff
+0009b33463b096899cce8bd88bff00479998ffffdf999aff00326668ffffd0666608
+f733fb2afb2ffb2e05ffffb34cccffffb3b333ffffbdb334ffffee4ccd578b5a8b6d
+9065a376544c24525c7aff0024800078ff002080006fa271ff00148000ffffcb6666
+ff0016199affffdae667ff000e6666ffffbcb333a56cff002c33338bff002ecccd08
+8bff00386666ff002d3333ff0033b334ff0052cccdff0021e666089f0687885d618b
+4d8b858b868c85ffffe180008bff000e999a9bffffede6668b08757e7a7a709877a1
+1f938ba79898979a77ab6fbd7f88818a838b828b56b180a68ba78bff000db334ff00
+104ccdff00084cccff000db33308718905ff00014cccff0004b334ff0000b334ff00
+034ccc8b8f0898839a781e0ef75af80ef91a15f8ab0a6cfb81157e8b6d817d860881
+a505ba9da595b6a7089cfb990674967d991ea7068e8e8a871f76078b568c6a654f8a
+8b1ea0078d8f8e8e1eaf069b9999a21ff72b07ac89957f1e0ef75af80ef91a15f8ab
+0a3ffba2157e7d9698a6a8bedabdc4774c1f8b5d6a695363616d736e8b6c08dc06ab
+8b9bb295a808a38505836d8468876e08fb62068bbbb7b5bab1b9aea1a28bc108ba67
+987960817c7d1e8b838f838b83087b7983821e0ef75af80ef91a15f8ab0ab1fb7d15
+aa7794771e778b69818a728a7f887a758b0877879a8e9ca9c0e2beac75661f8b6e75
+746f7bac88ba708b510846495d3b65589ba0959895961e988b9284908494819583ab
+8b089ec498d0c45592721f848b878a838a0889a305b791a8a58bb4080ef75af80ef9
+1a15f8ab0ab7fb911522c2078868578b8b5a05788f859d1e9b068f8c88891f77078b
+618c7073658a8b1ea0078c8c8e8f1e9a069d8f8ea01fbdfb2407889705b7cdcfebb4
+c308a982055e455039746908e6d7068b9290938d8e93949697928b08919289831f0e
+f75af80ef91a15f8ab0abafc2015a889c6431e758b76857d8308858fa1f722f72d8b
+866a8b8afb118b7f3a059390a4909a8b08d8af5755505b5545695099a3979694961f
+988b9284938394829781a08b08b89cb0b51f0ef75af80ef91a15f8ab0ac2fc2615a1
+86c2521e7d8b7585767a8a868b838b850837b374a7b793aeb01ec39015676e4a3c5a
+43a8f31e8bddc5f2f72d97087707fb017868498050999aa69ba48b08ec953c7a1f0e
+f75af80ef91a15f8ab0a65fb67156f8b84847f5b08768e0590a792b38ca6089d0686
+908a9b1ef74206563052fb0e6c22086906aef703c3f710a5b9080ef75af80ef91a15
+f8ab0a8cfb53156e747d6e1f8b7b9275b077089f80059b95a2a68ba908a67b9d681e
+ea5e15f8ae0a2529157b8262638b69085fb47ba3b0a89cb41e8ba486a4639f080ef7
+5af80ef91a15f8ab0a50fb9d15759054c31e998ba191a19c089e07df63a26f5f8468
+661e538615afa7ccdabdd56e231e8b394f24fb2d7f089f07f7019eadcd97c67c7c70
+7b728b082a82da9c1f0ef75af80ef91a15f8ab0afb22fb7d15f8ac0af78fb7154c89
+2d5652943ec1c592d7d9c17cd45b1f88fbc6154559dae0e9c1d3d0c4cb62fb0cfb0b
+4959511f0ecf8bb801f7b5be03f7b5f8d615f8990a0efb1cfb5cb7f9b6b601edc5c4
+c503f769fb301552f9b6c406f761b615fbd4fe0df7d4b7fb27f9b6f727060efb1cfb
+5cb7f9b6b601f72ec5c4c603f768fb3015f9b6c4fdb607fb9af9e11560f727fdb6fb
+275ff7d5fa0d070e5a86a279a8f796b2cbb2f75aa212ff006d8000daf7bca213beff
+0154999af84115ffff68800006ff00006666ff0020b334ff0000cccdff0020e666ff
+00013333ff00296666ff00028000deff000e800090d18e91918b9685915a8affffe1
+b33387ffffcd4ccd8bffffcdb3338bffffe34ccd8f598c85858b80918508d1889a86
+8d388cffffd6b334ff0000b333ffffdf1998ff00008000ffffdf333408ffffabe666
+64ff0054999a06ff00003332ffffec4cccff0000199affffeb33348bffffe8800008
+ffffab199a64ff0054cccd06ffffffcccdffffc0e6668affffd4199afffffe4ccd44
+89387c86458885858b80918508137e600a13be610a137e77436650218b084206ffff
+cc80008b86bcffffff8000aafffffee666ff0046e666fffffe999aff002b999affff
+ff999aff003f800008f72cb2ffff67e666068bff00178000ff0000199aff0014cccc
+ff00001999ff0013b33408ff0097e667060efbac86a2f7a1b2cbb2f7759ea47701ff
+005fb333cf03f78af841153906ff00008000ff004a8000ff0000e666ff00418000ff
+0000999aa9ff00013333c9ff0002cccda78b8b8b92878d828b7381497f658889838a
+869185bd88ff0007b333fffffb4cccff00034ccdffffb9b33408ff00014ccdffffe4
+1998ff0000cccdffffc8b334ff00006666ffffc0333408ffffaf800064ff0050b333
+ffffdd199a06ffffe2e666ffffaf4ccd64ff0050800007ffffff8000ffffb0cccdff
+fffecccdffffb7e666ffffff3333ffffdf4ccd893c82885188fffff9e666fffff9e6
+66ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e666
+ff0005e666ff0000333496fffff9e666ff0006199a08518e828e89daffffff3333ff
+001fe666fffffee667ff0047e667ffffffb333ff0050333308ff00523333b2ffffad
+b333ff0003199a06ffffffffffff00144ccc8bff00146666ff0000199aff00143334
+08ff00523333060e5a86a279a8f790c691c6f772a212ffffe9999a9cff0072e666da
+ff00a3199a9cff0073e666a213bf80ffffe9999af7a915ff0005b33388ff00054ccd
+8a918ba2b7baa8ae8bff00034ccc8bff00034ccdffffffccccff00034ccdffffff80
+0008ffffe7b334078b388a5d893889387c86458885858b80918508137f80600a13bf
+80610a137f8077436650218b084206ffffcc80008b86bcffffff8000aafffffecccd
+ff004cb333fffffe6666ff002cb333ffffffcccdff0048999aff00143333fffff34c
+ccff0015cccdfffff6b334ff0012199a8ba38bcc98aaf6fffffcb332ff0004199aff
+fffa4cceff0001e666838b75595a7a6f8b08ffffec33338bffffeb6666ff000a8000
+ffffe86667ff0010b334ff00003333ff00394cccff0000b333ff002cb3348dff0042
+ccccff00028000deff000e800090d18e91918b9685915a8affffe1b33387ffffcd4c
+cd8bffffcdb3338bffffe34ccd8f598c0885858b809185d1889a868d38ff00013333
+ffffccb334ff0000e667ffffd99998ff00008000ffffd6999afffffeccccff000019
+9afffffecccd8bfffffee6678b084e8b554c7e4a080e6b86a2f7a1a37c9ff71cb2f7
+20a312f700daf77be313def7bff87f15fb0306ff00004ccdff001f8000ff00004ccd
+ff001f1998ff00006666ff001d66688ca89b9ed38b08d0d267fb13fb00545a2a1f13
+be738b618d7e8e0890078bff00298000ff00003333ff002cb334ff00006667ff002c
+cccc08ff006f666606fb04fb301513dea184a889ad8b08f74abff706e0c666f702fb
+4d1f718b4581638b598b6f8f598c85858b809185d1889a868c38ff00003333ffffef
+e668ff00003333fffff13332ff00003334fffff1e66608ffffaa666664ff0056199a
+06ff00008002ffffd6999aff00006666ffffd9b3328bffffccb3348b388b5d893889
+377d87458885858b809185bc8ca98fbe8bc38baf87bd8a0891918b968591468f6a90
+8ac58ad68acb8bd3080e93fb70aaf74aa6f79bb1f7beae01f0dcf779dc03f82ff872
+158b607e69786f73685b7a408b0859f7bc06a391a68daf8bc88bdc6e8bfb0a08dc8c
+158bbd7ab367ad5bb945904c8bfb2d8b45808289087907878e88901ea98e928b05a5
+8f7a6f1ffc73078b4b9053975ea725cb5bc08b08b6c89cbda37a917c1f828b828786
+8574769e685e8b085a6babf7791ff76707cf8ba8868f8408f2fb5405a55bb865c68b
+9a8b9c8e968f08879f05608b6fac74b70821f76105b69ae9c38bf5080e2081b363a9
+f80da112b5d459d8f72cd013acf7b4b91591779a67be8b08baadb190928191871f85
+8b887b778b668bfffffb199aa9ff0001e666c20890f72205ff00018000ff002b3334
+fffff9b334ff00201998fffff46666ff0017ccce08ff00446666ff0077e666628bff
+ffcdb334ffffa7999a05ffffe61998ff00184cccffffdc8000ff0007199affffdcb3
+348b083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b958ba9b49aaf8b
+ff0018b3338bff001f3333fffff0800098ffffc733340855ffffa11999ffffdd199a
+fffff83333051374ffffa36666ffffeb6666ffffbf999affffcf999a8b4a8bffffce
+6666a3ffffe4999aff00246666fffff3800008ffffdd999affffc38000b38bff001e
+4ccdff0035199a05ff00074cceffffff4cccff00079999ffffff999aff0007cccd8b
+b78b9f94b5ab089e9a05ffff808000ffffec666615ff00653334ff00b18000ff0021
+4cccff0008199a86fb0905ffffff8000fffff4199afffffb8000fffff9e666838572
+77696c708bfffff4999a8bfffff5ccccff00026666fffff7199a8f08ffffe46666ff
+0016199a15fffff58000ff000d999afffffa999aff001033338bff000db3338bff00
+258000ff0018cccdff002d199aff00473333ff0011666608ff0001b333ff00006666
+05ff00514cccff0047999a158a078b84897e888a08fffff76666fffffe199a050efb
+7381b6f7efa812e6d046ff0040cccd13e0baf82d157e8785831f8207868c8a8f1ec3
+068b42fffffd199affff9c4ccdfffffe9999ffffba999908ffff8e4ccdffff38199a
+b48bff0048b333ff007fcccd05ff00041999ffffca199aff00169999ffffea199aff
+0027999a8bb78bbba0b0b58995fffffe80008dfffff980008d7278687c728b718bff
+fffc6666a8fffffd999ac6ffffff6666ff000f999affffffe667ff00164cccff0000
+3333ff001a199a08ff006f199aff00c3666605ff00084cccff0001199aff0008199a
+ff000366668bff0007199a0896078bff0001b334ffffff999aff00016666ffffff33
+328c08ff00273334ff0044e666628bffffd9e66648ffffaf199a8b8cc405ff000119
+9ac9ff0002e666b18b8b8b91888e878b848b7c807c857b847a8a8b818b808e7d8b21
+0813d0ff0040cccdffff6a66661513e0ff00010001ff0028b334ff00018000ff002a
+b332ff0001b333ff0025333408ff00406666060ef71a8aa8f7c1b2f78ea701f1dbf7
+dbdbbda603f88c16d88bb745994408a68b85f729058a948796728b08727ba3a41ff8
+8507a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b780586
+8f88901ea506b39a7d6d1ffb62fbdbf76207a7999bb41ea506908e8e901f8b9e898c
+058b2e8a6764348c8b1e898a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b62
+1e7106868888861f8b788d89058be88dafb2e2898b1e8c8d8b9e0590888e861e7106
+637c98aa1ff795f7dbfb95076f7d7b621e7106868888861f8b788d8a050e608aa8f8
+03baf75ca9a57701e3d6f75ad6b8a403f848d715f76407f267c2431e648b507b4848
+08f7e7750777827c8779877a8867857b8b088d7205898d888e1eac8f059f947b521f
+fc89076e827c691e7806868988861f8b788d89058bce8dafb2cf898b1e8d8d8b9e05
+90878e871e78066a819aa81ff78e07bbbab6a5a88b08c3a1783a1ffb73076e827c69
+1e7806868888861f77d207d98ba93c965a08a48b85f71b059c808f7a787a9da91e0e
+e88aa8f8e2a701f5dcf838a603f74fd315ff00ec999a07ff001acccdfffffc4cccff
+0010e66680ff00154ccdffffe9199a08f74afb5a059f758b718b79088c84a38b05dc
+8baf36965308a68b85f729058a978493758b7a8b7a9b72a808fb83f7980583948593
+8b938b949497a9a708f734f72b05bcb9af94b3900891908e901f8b9e868c058b4e8a
+68633f8c8b1e898a8b7805868f888f1ea0069c9981851f8b82837f787808fb4ffb44
+05ffffe8cccdffffea4cccffffee1999fffff3b334ffffec199afffffae66608ff00
+e3199a07a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b78
+05868f888f1ea606b29a7d6d1ffc8a076f7e7b621e7006878888861f8b788d89058b
+e88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98aa1f0e428aa8f80aa8f767
+a9a57701e3d6f7b6a603f737f76115ff0005cccd07ff0003b333ff0000ccceff0003
+4ccdff000066668e8ba28b977a997808d424059d728d748c790884a407db8b9f4297
+5408a68b85f71c058a978493748b7a8b779875ab08fb09f74105888f89908b8f8b8f
+8c8f8e8e08d7df05a4a5b7a1a68b08920690918e901f8b9e878d058b558964685b8d
+8b1e88898b7805878e87901e8f06a39083831f8b81877e7b7bffffca333350ffffde
+999affffe1b334ffffd43333ffffea999908ff01cdb334750777827c8779877a8867
+857b8b088d7205898d888d1e8d8b8f8c8e8b948c9b8d8b8b089f9479541ffc89076e
+827c691e7806868988861f8b788d89058bce8dafb2be898b1e8d8d8b9e0590878e87
+1e89066a819aa81f0ec48bb2f85976f71bb301b5a5f88fa603f71af91a155c8ba69a
+57910877fb56a589058fb8a8e5d58b08f79506928f89851f8b868884858408fc15fc
+b105858389838b8408819086991ef80f06d98bb745994408a68b84f729059488a172
+1efc0e067a838f941f8b908e91909408f807f89b059fa78e928b930894858e791e0e
+fb2a8bb2f7f4b201aba5f7baa603f7e8b215fb6c8bf779f7f005949993998b918b8f
+8b8e898d878e898b838b888b758a728908fb58067b8b878d8a9a08738f6cfb2ca586
+059edfa898a98b08f7228bfb80fbfb05858288858b8608849386a61ef74006dc8b9e
+42975408a68b85f71c058a97819e758b080e3e9576f831a881a512ddcfdea713b8f7
+58f853154b5961591f8b6b937199697477777f757d089779059d97a29a9f9a8d87a9
+3d8d8608c4fb2505907f9283988b958b9593909908f721f7ed059cb5998ea78d0891
+06928f8e901f13d89f078b60896f6a568d8b1e7507888c87901e9b069e8a938a8b80
+8b848881857b0830fb7179597bc062ed058b8c7ab28b8eaca5c5b98bbc08a374a261
+1e13b8877115a39c7d7b1f8b6b5c657173849d88938bae08b19fa4a11e0e2b8aa8f7
+c4adf790a701f1dbf759b303f74af8d215a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b621e
+7106868888861f8b788d89058be88dafb2e2898b1e8c8d8b9e0590888e861e710663
+7c98aa1ff798f72107ac8b977b906f08916c05878e88901eb08b8e8e0587ab87a88b
+ae8bac90a98eab088d8a8d881e6706878887871f846d05856f827b688b08fb21060e
+fb228aa8f74dadf72fa801eed5f737ba03eef7fa15fbb2076e817c6a1e7806868888
+861f8b788d89058bcf8daeb2d0898b1e8d8d8b9e0590878e861e78066b809aa81ff7
+21f507ad8b967c916e08906c058c888d87918b08b08b8d8e0588ac86a88bad8bad91
+a88dab088d8a8e891e6706878b88878a8608856e05846f827a688b0821f70306a796
+9bab1e9e06908f8e901f8b9e898d058b46896468478d8b1e89898b7805868e88901e
+9e06ac957b6f1f0ec476a7f8347793a612b0dcf736c5f738db13bcf7e69315f77f07
+f706a3c1b1c8b458fb211e8b4b7861675d086e66657b618508fbc1f77015fb5bf730
+59f709e3f74cbef75ff449effb071e718b6f847676646484618b4208fb8d075b9067
+9a73a76bb275be8bd58bf715bab0a19c0813dc77a005627432608bfb15080efbb3f8
+4bf7af01b9b603b9f85915f8bb0a0efbb3f84bf7af01f74db603f778f85915f8bc0a
+0efbb3f886df01b9b6c6df03f728f8b015f8bd0a253415f8bb0a0efbb3f886df01ad
+dfceb603adf8b015f8bd0af7563415f8bc0a0efb6cf858b193dfebb112f704b77ab7
+b8df13e4f778f8b015749e78a2a29e9ea2a2789e741e747878741f6af7441513f458
+6b67651f13ecf8be0a13f48bb470af8bb18baa9c909f8bb18b8f6f9d8b089b909695
+a9689a5f1f0efb9ff858b1f750b112f704b77ab713e0f757f96015586b67651f13d0
+f8be0a13e08bb470af8bb18baa9c909f8bb18b8f6f9d8b089b9096951fa9689a5f1e
+0efb9ff858b1f750b112f703b77ab713d0eef960155f687c6d8190809b1f9d8b8fa7
+b18b9f8b9c868b6c0813e08b6570678b62085dac6ebbbbada59e9981937c1e7e8b7b
+6e6b8b738b82988b9e0813d08baca6bd8bb008b16baf581e0efb50f722f77001a6f7
+d303f7b4f7b615aa8e99a498b3087c8f0580747f89788a08fb5f7f05728879777b5d
+0898850598a09b909e8d08f75c2c15aa8f9aa497b2087b8f0581768088778a08fb5f
+7e05728979767b5d08988605949d9d92a08d080efb0e9676f86a77f705ef12b5d6c4
+ef4aa7e6cf13f6f7dcf702158bffffef6666ffffeb999affffeee667ffffe26666ff
+fff5e666ffffff8000ff0043e667fffff04cccff00254cccfffff63334ff0057999a
+84d885e6899f8b9189927f8b818b88838a7fffffff6666fffff7e666ffffff199aff
+ffe88000fffffccccdffffd8ccce08fffffd3333fffff7b332fffffc4ccdfffff799
+9afffffb3333fffff78000827d777c747c5c6c57608b438bffffc1199aff0031cccd
+ffffd21999ff004f1999fffff49999ff0008cccdffffe23334ff00164ccd7da08b9e
+8ba4ff000ce666ff00083334ff0022b33408ff001bcccc91ff0018999a95ff001166
+66ff000d6666a9a1a0a38bae08ab72927b777780761e8b7f8e868f87088f868d868b
+7d0813fa55f87f15f8bf0affff95199afca415ffffe1ccccff00133333ffffec199a
+ff002180008bff00204ccd8bb598aab3acff000a6666ff00088000ff0008b334ff00
+088000ff00076666ff00086666fffffee666fffff64ccefffffee667fffff5e666ff
+fffeb333fffff56666fffff68000ffffae8000fffff1199affffd34ccdfffffe8000
+ffffc43333080efc24f80fdb01b4db03b4f83715759d79a1a19d9da1a1799d757579
+79751eb3f82b1579757e681f8b5d9575925191588f508d7d8c878d86938b938b8c91
+8c928d948bb395d293c395a68bb608ae7598791e0ed9f821f7befb637612a6d6f723
+d513b0a6f94b15fbbed6f75f07f7236b05137026d5df07f7915399d7050ecefb79f7
+bf457712a6d6f723d513b0f1fb1915f75f40fbbf07f8c3f7117dd7fb9152051370e0
+4125070e6dfb8aa0f76bacf7f4b7f775a8a47701f705d3f768d703f74bf7a715f70a
+0a45f86d158bffffdd199848ffffdfe66805fffffc199a89fffffc4cccffffff3334
+fffffc66668bffffefe6678bfffff36667ff00106664818bfffff9e6668b87fffff9
+b3348bfffff94cce8bfffff6ccccff0006199afffff56666ff0002e666fffffa3334
+089a69059b95ff0012ccccff000a4cccff00123334ff0008b33408bdff0017cccc8b
+fffd893334058b3c8086518885858b829185b38cff001766668fff0028999a8bff00
+2d4ccd8bff001db33387b48a91918b948591478f808f8bda08f714078ba694819587
+9f83a086a58bbe8bb99eb0b0b6b6a4c58bd88bef45ea2f8b5a8b67707372087d7c88
+8c8ba0088bff00991998e5ff002ae66805ff0003ccccff0001ccccff0003b334ff00
+00b334ff000380008bff000fb3348bff000c6666fffff14cccff000980008bff0005
+80008bff0005199aff0006199c8bff000766648bff0008ccccfffffa6666ff000a80
+00fffffc6666ff00066668087bac057c8179fffff5199878fffff6e6680843ffffdd
+80008bff0017800005c98fb18b1e92888d821e7381467f658889838d7c9185bd8896
+908b3b080ef75bf803f88115928190898a8b8a898194898b8e8c8e8b1e59a7158506
+89958b8a8890898c888c8a8a8a8d8a8e8b8c8d8b8c8c8c8b978b8d788c8808ef9a15
+89068c89908b1e8d8b8c8c8c8b978b8d7a8c8608850689948991868b08306015888c
+8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b8c8a888188841e701688898789888981
+9886978b9508a092a59fa391708078888b8b1e8a8b8a8a898a8b8d8c8d8b8d089d81
+9b7f7f837e7b1e8b838e7e988408f7f8fc2815868b91af458b738b7c6e878b8a8b89
+8c8b8e8e90989f9c9199b68c998b9a8ba97bbd6995088d918d8a8b8c9e86af6f8b4e
+8b768775816f9e89848c9789b58695728b838b898989898b08fb9af833158a8c848e
+8a8b8596899b8b93089d989aa19d9e7d681e8b7f897d867b7d918c89838f968e9394
+8b990898819f7b7e8080741e8c868c868d8708ad5e15898d8b8f898c5f6b72847a8b
+768b7b937c9a878f898d8b8f8ba4c4a49a8ba28bd46b9284088c898b898b898b8487
+838386087278056a7374857d8b858b7a8b7a9d087a9b05869089908990987f9d7ea5
+8ba88ba79caaa108cdfcd5158b8c8fab0592c18c848ba08b938a948a93088bad8b94
+05a38fa09d1e8f8b8f8992858d7f8e809183937c9e87988baf8b9eb99b8b8c8b8c8b
+8c8a8d878c858d85088e7a059a50b3a29465886e679256600859610584867d7d708b
+708b7a9a819c08fc329a155e91819589938ba1a1938bac8b9c849c8b998b958e9493
+94938f968b978b908b908c908b08908c908c8f8d98947aa4b493b4819562a26a089e
+7105b25a956b8b768b838a858985817f7a7e748b6f8b55ac429508eaf798158b7893
+8196838a928a928b918ba393b3a6bf08a1b5058f9582839fbd089cad0591978e918d
+99089a7c0593829d859b8b998ba492aaa208a59e059c698c84a0618e46c3998bfb20
+8b778a788878858f858d868b7c8b7f7b8b648b7c8c9a8b650859424587708b738b6a
+8f7b9f8499898d8b8d088c8b8c8c989e9c961e8b977a9f6aa6086d9f0557b289988b
+a18bb3afd197998c8a908a8c897a776e4f8b6008f761fba215b58bb685a08892799b
+80a186089e8805a58b9c98a19e08a7a305cdc4b17c8bb38ba9548c85a90887a00587
+a68590808b919d8e9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72
+518b48088b4394678b708b7183786d66087572058281797485727f52878d79670880
+7905837a847c8b7f0883078b878b888e8783818f8c827686888889868b086a068179
+7f6e1f8b8092688b838b7b8380817b89878a868b858b73c8869f86d77aa975b28b9f
+8b9d91999f088a07a396ae8fa78b080ef8e867aeaef70380b29fade4f7023cf71bdc
+d512c2bcf864b4f73ae795f70d13d7e0f84c6715c2f706b5f0bb65d3231f4a8b316a
+7c8592d6c2b3ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b086d
+8b80a3749e867c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b18bb9
+8bcb9abf9f49d857bf35aed89fa4c58bb68bbc5ec04f8b08638b646d76579890978e
+978b08a5a07b68695f7a691f808b728d6d905a924892598b488b457961716472fb00
+3b8bfb310813bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f758b
+5758786a796b866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884ae
+15648b62a170a676a183b48ba98b908b908c8fbc9dc39fbc8b08e4a664515b505a3f
+1f0ef8e86aeb7df701c3d7f744f70a26ae12d1f70ef82fb2f793b8d6bd136f80f97e
+f89a15335455471f8b62a05acd6cc76fe9839c8a6347427f698b728b5c934da7fb15
+c86ef7048bb708137780bbac92971eb48b915c9674aaab91b38b9c8bbd62bc508b69
+8b617d775f7f72816a8b6e83936aa1699b08619f4b98538fa629a546c947808e818b
+828b084458565456b356c41fa88bab98a7a6698c6d9b8baa8b9a91aeb98b9b8b9c87
+9985ca6df721fb11f72d8bc28bf724a7d1f729089e87dc698b530813af806f756260
+1e6c8b7c9b7c8b08767b616f789374a31fa78bc09fa69eb4a8abc28bb28bdb22b66e
+95919b8e9e8ba108ee42effb0f1ef72bfb3a158b697d67827d579050915e9f54a576
+a98bad08ad9fc7e0edbf385b1e0ef8e867aeaef70380b29fade4f7023cf71bdcd512
+f730f70d95e7f73ab4f7a3c2f71ebd13bbf0f95e6715f7148bcef7008ecb9789968b
+968bcf8be1a18be38baf86a978ab78ac57be758b086d7c626c679b899fbba770644c
+4f7d591f828b818c838d8bf73120db63a40813d7f062a5459d478b5a8b488459846d
+8673897f8b08695f9cadaea09ba51f978b9888978676bf65a9638b4f8b5d568b5a8b
+60a551d777356857574a3ebe77cb7cba8b08b08bb391958f7f7386668b6f0845cf6b
+acb3cca2e81e8b968997869a747880736d8b718b7aa28b9f8ba6a4b0aeaaaca8c6ae
+e58bd48bbb7ba08008ab7ac36391407c9131ac4b8b082265435b1f26f70761c11e93
+ae153e50bcbbc5a7b2e31fbc8bc477bb798c878b868b868b6d836276757170627564
+8b080ef785e2b2f2b2f1b301f991f82e15fc2563f825065b2515fd0664f90606bb24
+15fc2564f825060ef785e2b2f2b2f1b301b1f82e1563f825b307fbf5fb221564f906
+b207fd36fb221564f825b2070ef88cf782b37491121380f91ef7aa15fb7f06134044
+8bfb887a3f8b0885071380d08bf7957acc8b08f77f061340bd8bf78f9ce58b089107
+278cfb819b558b080e1c05f1f780ba70921213801c04fcf7af15fc6a061340fb238b
+fc7c77fb2b8b0884071380f71d8bf89677f7178b08f86a061340ef8bf88a9ff7488b
+089207fb5c8cfc6e9efb008b080e1c164ffb1dc19cbe73c1f725c15fc657c183c06e
+c1f740c066c08cc174c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8
+688ba3d1f7a18bf7d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336
+f7db8bf7f78be2e6f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997
+979a997f977d1ffbed8bfb9920fbb08bfb778bfb80f705fbd18bfbbb8bfb032ffbe4
+8bfbc18bfb3ae1fbbc8b081380a0fbe18bfbd725fbc58bfb318b3ad2fbda8bfb9d8b
+6844fc618bfc208bfb44f70b708b087e7e7f7b1f1382001c05d5fc1e15138900f7ad
+8bf74b56f75e8bf77a8bf87ad8c58b08138400f78e8bf75745f7b68bf7858bf7a3d6
+f72f8b08139000f76f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf
+8bfb418bfc31e7fb7f8b08138500fb388bfb9d40fb828bfbb08bfb57d1fb948b0813
+8800fb4a8bfb8c43fbdc8b08138200fb8e8bfb43bafb928bfb818bfb164efbb78b08
+7c7f7f7c7c977f9a1ff7ba8bf714c9f77d8b08f90efbc615fb588bfbc0a87d8b7d8b
+7e7f8b7c8b7e957f9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf787
+8bf76029f8108b0813c000f7a58bf71ed2f77f8bf71c8bc27abf6790889089908b9a
+8b97988b998b948793839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb
+73edfb8b8bfb4e8bfb9129fc0c8b080ec2fb67c2f7aea86fb2f858a712f5dcf764d5
+13bcf869f71315ea0695988f941f9f078f888d871efb03f7140652778b78054b6f72
+511e2f066e799eaa1ff7f8078ba7ff000e3333ff000ce668ff0028cccdff00031998
+08a58d0590ff000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e89
+8a8b78058b868ffffffd4ccc8fffffffb33408a68905ff0025999afffffd3334ff00
+106666fffff4cccc8b6d08fc07078b68fffff66666fffff9cccdffffd6999afffffd
+33330813dc6d890587ffffffb33387fffffd4ccd8b86088b788d89058bf7078d971e
+13bcd98af73f8b8bfb830543a570ba1eb88bb4a1b1b608799d0571777883718b0870
+84a9c91f0ef9defb82c196a7729bf714a2c4a67a9e8cb092c1f717a7709ff712a2bc
+ae75a478a6f7019b12f71bd8f73fc25db671d2c0b6f1c25db66abcafb9a3b6bbb89e
+b69ab68ab9f707b813972731e4f874df15e50694988f931f9f078e888d871e22f70e
+0655788b79054e7073541e34066f7a9da91ff7e807a5989bb21ea4068f8e8d901f8b
+9d898d058b33896966388d8b1e89898b7905868f898f1ea406b1997e6e1ffbf9076a
+8283631e6f06878788861f8b798d89058bf7018d971ed58af7368b8bfb770547a570
+b71eb58bb2a1b0b4087a9c0572787984728b087185a7c51ff937ea15f8c00ab8fb02
+1513d72311ecf8c10a139b2311e4fc3af75f1513b72311e48d8a8b891e7b85758663
+84088c7ea38805948a8f858b6f08fb22078b7b858578890881890588898a881f8b80
+8c8a058baf8ca2a2af8a8b1e8c8c8b96058e898c881e838d05788d86918b9b08f71e
+0713bb2311e4a8ada095a48b08aa9178631ffb0f078b7b858579890883890588898a
+881f8b808d8a058bad8ca0a3b18a8b1e8c8c8b96058e898c881e808d05798c85928b
+9b08f70b07be80b2581e6d8b7083676008890613932319e4fb6bf71115f8c20ac140
+158d8a8b891e13b72315e47b8573866384088c7ea48805938a8f858b6f08fb22078b
+7b868578890880890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e
+888c891e808d05798c85928b9b08f72207a88db18b1e13937311f4f7e1f7aa158b7b
+8584798a08808905888a8a881f8b808c8a058bb18ca01e13937311eca1b88a8b1f8c
+8c8b96058e898c881e7b8d0513933311f4788c85928b9b08f711078b928e938f9099
+9e9795918b8f8b8f8a8f8790869286968b089a95949a9a8296741f708b726e7c7508
+898b8dbe058d8a8b8a1e13936711f47b8574866384088c7ea48805938a8f858b6f08
+fb7f7a15f8c00ab8fb02151393a311e4f8c10afc348715f7350713936b13e4a1a2a9
+8c918b08aea761544a715a551f7a8b7f977f990860f7ad15fbad078b758b81897f08
+1393a313e48e898e8a918b9090939590920813936b13e49c7d9d84a48b08c5cec0e6
+d058b65a1f6f8b7581777608f70507b08da28b1e8f898d861e7c8564847489088c7d
+058a8c8a8d1e9d8905979084661f13932391e4fb2a16f8c20ac140158d8a8b891e7b
+8573866384088c7ea4880513932351e4938a8f858b6f08fb22078b7b868578890880
+890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d05
+798c85928b9b08f72207a88db18b1e0efb2ef758f82815a6069c8e97901f8b968491
+858c878c7e8c808b838b848a868b878a7f898b7c8b8b8c7e93888e8a908a988b08fb
+1573157f9585921e918b8f8c8f8f93929391938f908e908f8b938b9c808e858b858b
+8689767c7e8188878b8308f782811594848f89908b918b978e8b9a8b91898e869084
+927c968290888c888c888b828b82848b80088b868e858f88948594858f8708fba635
+15848c7e9b1e928b928f8e928c8d8c8d8b9b8b9b8c928b8e8b958290858b848b7f8a
+897b8a848b818b7908f7ca95157c8c7a9d9b8c9b9da488987a828384811e8b888c7b
+8b8708fbcafb121585938494969294901eb10790889a7b818580841ef7cb5f158c8a
+8e81978b08979290941fb0078f8a9c7a808481851e8b758b788c8708fbb72d159779
+8e8b918b958b948e8b998b918a8d869286928792889188928792808b7d8b877e8b86
+088b85917e938008f79c16819181971e918b8f8e90908d8e9ea38b998b9188977d8b
+808b8784878488838784868586868a888b87082d5715809483931e938b978e9a909d
+928c918b938b948493808b898b878a86898289858982898489888a88880888878987
+8b87082b84159387a683938b968b91958b948b8e8a977a8e838d848d848d848e898b
+898b7b8b87818b84088b8192868f89080ef71aa2abeca8f791a2eeab01adb3f7189f
+f74fc9e8b303f75df76c159f6cb66ac28b08e4cedbdadf45c9331f458b807e7789ff
+fff5999affffe0b334ffffff6666ffffe94ccc8c739088928a938b9cb9a0a7c48b08
+b3bf682942685c471f588b6fad809bfffff63333fffffd4ccdfffffb6667fffff9cc
+cdfffffb6666fffff9e66608f70cfb5515a40af8a904a50a0ef71aa2abeca8f791a2
+eeab01adb3f0cef7469ff714b303f7d5a215a40aff0069e666ff00a74ccd15ff000d
+6666ff000b0001ff000accce97ff0006e666ff000ab333fffffb6666ff0006199aff
+fffb6666ff00063333fffff63334ff0002b333fffffb8000fffff98000fffff73334
+fffff5199afffff39998fffff5666608ffff78b334ff00cd800005ff000f8000ff00
+0ce666ff00126666ff0004999aff0011199a8bc48b9c6a9c5d938b928c908e8ca38c
+a189b0778d7a98458bffffe6999a8bffffe78000fffffa999affffea3332fffff633
+3208ffffc78001ff0055e66805ff00224cceff00121998ff00276666ff000a3334ff
+002a80008bf71f8bf700fb038bfb1f8bffffb1b333ffffdd6668ffffba3333ffffc9
+19985d08ffffabccccff0038cccd15ff00343334ffffb0999a05ffffdb6666ffffea
+3334ffffd53334fffff38000ffffd1e6668bfb208b20f7058bf71e8bff0052ccccff
+0025e666ff0048ccceff003c4ccdff002d666608c3ffffaab33405fffff9cccc86ff
+fffa3333fffffab332fffffacccdfffffa199a73ffffe5199a7fffffdb999a8bffff
+d9cccc8bffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff001ab333
+ffffe9e666ff00249999fffff3199aff0026b3348bff001633348bff0015ccccff00
+06b333ff00134ccc9508ffff73999aff00d5cccd15ff007e8000ffff3f666605ffff
+f3e666fffffa999afffff26668fffffc8000fffff14ccc8b538b61c48bd48bff001e
+6666ff00048000ff00174cceff00076666ff0011cccc080ef71aa2abff0083199aff
+001eccccff00abb334ff00193332ff008e3334ab01adb3ff00246666ff00446666ff
+006ee66899ff0015b332ff00446666ff006ee66899ff00314cccb303ff020a3334ff
+00e9199a15fffffcccccff00049999fffffcb334ff0004b333fffff933328dfffff8
+4cce7ffffff16666fffff08000ffffdc4ccc8b08ffffd8199affffeeccccff001d33
+34ff0036ccccff0043999aff001a199aff0014199aff00174cce1fff00214ccc8bff
+000a8000fffff3e666ff0011b334ffffdc999aff000599988bff0004e668ff0000cc
+ccff00038000ff00023334ffffff4cccff0011666689ff000d8000fffffbb334ff00
+17999afffff1ccccff00046666fffff38000ff000acccc5a8bffffc266668b5affff
+ce999a8b4c8bffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00
+134ccc76ff00224ccefffff4199aa98bff002680008bff001d199aff0017cccc99ff
+0017333408fb6b16fffffcccccff00049999fffffcb334ff0004b333fffff933328d
+fffff84cce7ffffff16666fffff08000ffffdc4ccc8b08ffffd8199affffeecccdff
+001d3334ff0036ccccff0043999aff001a1999ff0014199aff00174ccd1fff00214c
+cd8bff000a8000fffff3e666ff0011b334ffffdc999aff000599988bff0004e668ff
+0000ccccff00038000ff00023334ffffff4cccff0011666689ff000d8000fffffbb3
+34ff0017999afffff1ccccff00046666fffff38000ff000acccc5a8bffffc266668b
+5affffce999a8b4c8bffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd
+08ff00134ccd76ff00224ccdfffff4199aa98bff002680008bff001d199aff0017cc
+cc99ff0017333408ff000dccccffff2de66615a40af8a904a50a0e3d81a4f8cea401
+bddcf771dc03f787f8dd15f8c30affff836666fca415ffffdd999a3aa781ff001c19
+9aff0042800005ff001be666ffffe53333ff00218000fffff04ccdff002580008bd8
+8bf709d98bf77f8bee73df5fc5fffffe199aff00028000fffffe3332ff00026668ff
+fffe199aff0002666408ff001c999aff0043b334709574ffffc9cccc05ffffe8199a
+ff00166668ffffe3e666ff000ccccc608b288b2dfb0a8bfb5a8bffffa2999aff0019
+4ccdffffa91999ff002b1999ffffc74ccd08ff002d199aff001ecccd15ff00a8199a
+ff018dcccc05ff000c199affffd68000ff00084cccffffc8e6668b488b2f88427d58
+75395482798b688bffffe76666ff001eb333ffffef199aff002a199a080e3d81a4f8
+cea401bddcf771dc03f787f8dd152b0a87fce7152c0a0efb4c86a2f8e47701ff00ad
+8000cf03f787f701158aa9ffffff8000ff004b80008bff004b80008bff004b8000ff
+00008000ff004b80008ca98dc7ff00024ccdc8ff0001b333988bff0004ccccfffffd
+8000ff00003334fffffc80008bffffc8b333ffffddb334ffffce4ccdffffe74ccc33
+62ff0001999afffff4999aff00046666fffffb800094fffff9e66608ff002d80009e
+ff00168000919e8bff001080008bff0002666673ff0001199a698c6dff00008000ff
+ffb4b3348bffffb9cccc8bffffb9cccdffffff8000ffffb9b3338a6dfffffd333338
+fffff1cccd86458885858b80918508bc8cff001bcccd8fff003133338bff002e8000
+8bff0016800087bd8a91918b968591458efffff1cccd90fffffd3333de080e288bc2
+f8a6a412bed1f753e37a9e13f0bef868152d0a13e82e0a13f02f0a0e3280a4f7c3a1
+f78aa412bed4f74dd25edd13f8f76ff8dd15300a13f4310a13f8320a0e3486a2f72e
+b0f8257701f7a9d003ff01166666f76515330aff0096999a16340a0efb0b80a4f7e5
+b3f72cc458c912f7cdde13e8f7cdf75115f8c40a13d8f8c50a13e8f8c60a0e3480a4
+f7dfa4f7857701b8d8f77ad803ff0082e666ff0136666615360aff0007199aff001c
+999a15370a0efb199376f8c2c2967712b2a113d0f728f8b515380a13b07b970513d0
+390a13b03a0a0e2b80a4f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af732
+27153c0a13e43d0afb3afc6b153e0a0e2e9476f785a4f7dfa401b5d8f77ad803ff01
+54199aff0120999a153f0afffff8e666ffffe3666615400a0edc7eaef763b8c4b7f7
+5eae12f716e4ffffab4ccdff005c4ccdff015a6666aa13fab9f7df15ff0055cccd06
+fffffeccce7effffff6666fffff2b3348bfffff24ccc8bfffffa4cccff0000199aff
+fffa4cceff00003333fffffa666608ffff9bb3338b725e0513f6ff00814ccd06ff00
+14199affff748000ff005ab334ffff998000ff00a7e6668bc28bcc98aa909eba97bc
+94c48490828f7c8b7346693ffb028bffffa666668b48ff00623333ffffea3334ff00
+6ccccd08ff00c366668ba2b8ffff1f33338b0513faffffff333295ffffff999aff00
+0a199a8bff0009e6668bff00094cccff0000333394ff00008000ff0008b33408ff00
+f74ccd8ba2b7fffef64ccc8b05ff0017e667f72aff0062e667bfff003ee6668bde8b
+c047a8309988958d939286c185be7fc25f9260a0288bfb128bffff978000ffffa319
+98ffffe2b333ffff6fe66808ffffbccccd060e728aaaf3b4ceb5f7baa801f773df03
+dcf78615f72248fb0f0678867e831f7e07868c898f1ef72251066d7c7b601e6f0686
+8887861f8b778d89058bed8db1b4e7898b1e8d8d8b9f0590878f861e7006627998ac
+1fc5f70f0796998f951fa0078f888d861efb20cef70f0696998f951fa1078f888d86
+1effff83cccc8bff00803334f77f05a2b5969db08b08958a8f8f1f8b9d8a8d057689
+628a838b7d8b508d838c0889898b7805888c87901e99069f9385811f8b838580857e
+08fb12fb75fb18f77505879585988b93089692909c1e9906908d908f1f8b9d898d05
+7c89468a858b7d8b468c7f8d088a898b78058593898e1ea58b9b78a36108f719fb76
+ff0003cccd84ffff8c33338b0578867e831f7c07868c8a8f1e0e5efb7cdbf8baac01
+f764fb3415ff000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d99
+9adbf755b7f2c0f70499a8a4abb08e8e8eff00018000ff0006b3348bff0006cccc8b
+ff0006ccccfffffe8000ff0006b334888e728a7e8a6f8b08688b788c668c8888ffff
+fe8000fffff94ccc8bfffff933348bfffff93334ff00018000fffff94ccc8e88ff00
+1f999a88ff00206666857b6708ffff9cccccfb790584ffffefe666fffff7999affff
+fd4ccdfffff78000ff0013cccd08ffffa74ccdf76405ffffedffffff002a3334ffff
+f580009dff003d4ccdff0004cccc8e8eff00018000ff0006b3348bff0006cccc8bff
+0006ccccfffffe8000ff0006b334888e668a638a678b698b708c778c8888fffffe80
+00fffff94ccc8bfffff93334088bfffff93334ff00018000fffff94ccc8e88ff002b
+999a87ff0007e666fffff8b334ff001b6666ffffc04ccc08ff0071199afb9b05ff00
+08b333ffffebe666ff000f4ccdffffd2199a816ffffff4199affffde999afffff3e6
+66ffffe466667c6c80777d82728b7d8b878e808b086c7e737b769f78a61fa08bb393
+afcb080efb0281bb5bb4f80ea912afda4dd5f738d5c0a41376f7b7f77d15fb19078b
+7e85848385717669756f8b598b73b88baa8bb8a2b4d59e0813aef723fb7215be8baa
+9f91d4087290058a75856f758b08748aa5c81ff72507f72241a64239385255739780
+a2a89a9f981e8b928a92898f8a8e8a918b9608aab899b1adba77fb051e8b84888788
+8a0835760513762b73485b8b478b40c165d18bb98b9e93b7ad089f9b8d8b058f72a1
+6ab18b080ea381c7f7ddc75fa712ff0086b333ff004c199aff00a63333ff004ce666
+13d8ff01c5e666f71015ff00014ccef73305ffffffe666aeffffffb332a2fffffbcc
+ce9dfffff2199ac7ffffe080009f648b578bffffd9cccc76ffffbce666fb0008ffff
+fecccd8cff00003333ff0009333405ff0000cccdff0026ccccff00036667ff0026cc
+ccfffffc1999ff0011199afffffccccdff000db334fffff7199aff00076666fffff2
+cccc8b0813b86b8bffffd2999a84ffffd2666685fffffb333483ff0004199980ff00
+08199a8208ff0028b3338805ff000c33338aff0008199a82ff00024ccd81ff000219
+99fffff6e666ff00003333fffff2199aff000080006f08ff00014ccdfb8d05ff0000
+199979fffffd999970ff00024ccdfffff63333ff0003e667ffffef4ccdff000d6666
+fffff58000ff001fcccd8b08b180b7b11fffffffcccdf73a0513d8ff002c1999ddff
+00294ccdc6af8ba08bff000f199a86ff000733326cff000333347dffffffb33477ff
+ffffcccc69088afb3405ffffff66666bff0000666662ff0004666878ff0004666678
+ff000e33327da98bbb8bff00283334adff00206668c6fffffae66494fffff8199c93
+7d8bffffece6646dffffe7b33477818bfffff8e6668b8790fffffd33349708fffffd
+e66694ffffffe666a18ba5080efbb67fa8f764aa019abef71ca903cdde15c5b5dfbc
+99aa825753683053797099bf1e589a1556a852c8deb7f702ced45e9d62425138401e
+0e5c81aef7fdac01b5def79dde03f795f81615e7b4382d20603e313c56def0ecb6db
+e41fac04fb1e3e25fb00fb04db20f71bf71bdcf0f70af70545ecfb261f0efb8386a1
+f7e3a8b37701f725d403f725f5158b3c7b84488885858b819185ba8ca78fbb8bff00
+2d4ccd8bff0016b33387bb8a91918b958591488e7b928bda08f75c07c48ebc8b1e93
+878c821e5c7c63833b7a8c808e819283a78ea48ea08b089a8f80591f0efb0d8bbff7
+d9b501c6acf74bdf03f7adbf15f8c70a0efb05fb63a4f7c3a1f78aa412c0d4f74dd2
+5edd13f8f771f81915300a13f4310a13f8320a0e26fb45a2f72eb001f7a5d003ff01
+126666b015ffff2e999a06ff00334ccdff00523333ff0057b333ff0080999ad0ff00
+5e3333ff00014cccffffdfccccff00008000ffff663334ffffff999afb0b08ff0096
+999a16340a0efb12fb64a4f7e5b3f72cc458c912f7cade13e8f7ca8315f8c40a13d8
+f8c50a13e8f8c60a0e2a80a4f7dfa4f7857701b1d8f77ad803ff007be666ff013666
+6615360aff0007199aff001c999a15370a0efb01f80bc201bba103f731f80b15f8a6
+0a0e2b80a4f8cfa412bbc866ccf757c963cc13d8f780f8dd153b0af73227153c0a13
+e43d0afb3afc6b153e0a0e2aaca4f7dfa401b3d8f77ad803ff0152199aff005c999a
+15f8c80afffff8e666ffffe3666615400a0ef71e86a2f778abf81077d2eb01ff00d9
+999aebe8eb03ff0196999af98915c30afb5116c30aff002ae666fc7315480afbb8fb
+6515490a0ef71a81a3f900a3bfeb01afe5ff00538000ebe8ebff004a8000e503ff01
+8e8000f98a15c30afb5116c30aff00758000fb1015650af7e0fbc515660a0ef681aa
+f8f2a2c7eb01efdaff00248000ebe8ebff00298000b103ff01948000f98a15c30afb
+5116c30affffdb8000fc7d156c0a0ef85c9476f913a201f8d5f90715b68587686c51
+0856ffff9c8000fffffcccccfffffa8000fffffacccc95ffffcecccef005ffffe499
+9ac48ba9b59191918b968591678a7b87648b638b7e8f6b8c85858c809185b6859370
+ff002180004408ff0050999afb3fff00016666fffffc3334fffff94cccfffff1cccc
+ffff954ccefb6dfffffb66668bffff48e666f83505ffffe6999ac48ea8ca9291918b
+9685915c8a7287648b638b828f5c8c85858c809185c4868d6fff001e80004408ff00
+d98000fc9405ff00064cccfffff13333ff0003e668fffff7cccdff0008cccc8bff00
+04cccc8bff0005999a93ff0007999a9a08ff008c3334f7a8ff000acccc9fff000899
+9878ff00806668fba905ff0006b334fffff1999aff00034cccfffff76666958b968b
+8e93929a08ff00ecb334f89205ff00156664ff002e1998ff000ce668ff0033e668cd
+9391918b968591638a7287748b748b6e8f5c8c85858b809185cc86ff00069998ffff
+d73334ffffe76668ffffcacccc08ffff421998fc2ffffff9e668fffff2cccdfffff9
+8000ff000d3333ffff846668f794fffffce664ff00063334ff0000ccccff0002b332
+ff0049199cff008b199a05ff00184cccbaa3bebf9391918b968591728a7287748b74
+8b788f668c85858b809185080e6bfb71aff74bacf7fbb2f780ac12e7d6f741ee4dd6
+13faf858f515f7e67c077d8b6b7c688b08fb51c706f72ecfa1ac1e13fcab8baa7f94
+6096559c73aa8b9f8b9f9d8b9f8bb06ab266a4729c7195658b08372355fb591f7958
+0779867f831f7e07868c8a8f1ed0fbce068b6efffff38000fffff53333ffffe18000
+fffffccccd0878890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2
+dd898b1e8d8d8ba2058b9087ff0002cccd87ff00003333086a8d05ffffda4ccdff00
+024cccfffffab333ff000bb3348ba808f7cef7490713faa58e80631ffb9c07fb008b
+fb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f9f8bad8bb0aa08ba
+b1a5eb8bf736080eb581b6f7f1a612e1d04bd0f769d04bd013d0baf82d157e878583
+1f8407868c8a8f1ec30613e08b2c86fb228b4f8b47a270b78bb78bb1a0b0b58995ff
+fffe80008dfffff980008d7278727f728b718bfffffc6666a5fffffd999ac60813d4
+89bd8ef70e8fe408f76e0613c88b2c86fb228b4f8b47a270b78bb78bbba0b0b58995
+fffffe80008dfffff980008d7278687c728b718bfffffc6666a8fffffd999ac60813
+d489bd8ef70e8fe408ee0695988e941f94078f898d861efb078b8cc405ff0001199a
+c9ff0002e666b18b8b8b91888e878b848b7c807c857b847a8a8b818b808e7d8b2108
+fb6e8b8cc405ff0001199ac9ff0002e666b18b8b8b91888e878b848b7c807c857b84
+7a8a8b818b808e7d8b21080ef72280b562c0f7e7a67ba5f770a512aedcceabcedaf7
+0ad15ab7139f40f800e2157a98056d606871628b084b4edbf6f2b0d3ca1fc38b925e
+8e6c8e739e80a08b9e8b9c998ba78bff0025199affffe6999aff00214cccffffcecc
+ccff000f8000ffffc93334ff00224cceffffef6666ff002e66668bff002e666608c0
+c8bcdaedba55361e136f806577564b888a8a881e7807888d8a8e1ec9fbbd0647a470
+b71eb68bb2a0afb588918791819072787a83728b087184a8c61ff78fe60795988e94
+1f94078f888d861e218b05139f4086e60586f353c8fb0b8bfb068b484b8b468bffff
+d5ccccff00094ccdffffdbccceff00216666ffffdd666608fffffb4ccd06253734fb
+1afb10c836f7101fc38bb9a5b5d3080e6e86a2f7f99d85a6f78fac12ff00583333ff
+0042199aff00acb333e954d413bcf730f87915ff00078000ff00966668ff00438000
+ff001d9998aa8baa8ba47f946095559b73aa8b9d8b9e9d8b9f8bb06bb268a4739c76
+95678b08408b285981fb3f8a708667728b087a8685831f82078b87ff0000b333ff00
+00199aff00034ccdffffffe66608ac8a05ff000cb333ffffff999aff00024ccdffff
+fb66668b808b8bff00003333558bffffc3cccd8bffffc3cccdffffffcccdffffbd66
+668a72fffffccccdffffb1199afffff83333fffffbe66658888888fffffe8000ffff
+fbb3338bfffffbcccd8bfffffbcccdff00018000fffffbb3338e8808b38cff001319
+9a8fff0025e6668bff002a999a8bff0019666687b48a91918b9685914a8efffff933
+33ff0004199afffffccccdff004ee666fffffee666ff001a6666ffffff6667ff005a
+999a8bff0057199a088bd9ff00008000ff004b4cccff00013333ff0017999a08f7ad
+fc0c15fffffee666a9ffffff199aff003280008ba98ba9ff00008000ff001f8000ff
+00018000ff001e4cccff00028000ff0031999aff00038000ff0036199a8b8b8b8f86
+8e838b0813daffffe3800080ffffdc800082468289858d858d85ff00368000fffffa
+e666ff00078000fffffb199a8e51ff000180006dff00008000ffffe580008b6d8b6d
+fffffee666ffffcc8000ffffff199a6dfffffd800038fffff78000884e860885858b
+809185a58dff00354ccc8eff001db3348baa8bba88a98991918b9685914e8f838e88
+df080ef8fefb7b929d92f705adf7419d7aa3f7a99df7de929c9212d4929d92f809bc
+f714b8f80a929d9213f7fcf912f8ff15fffffa99988bffffefccd08fffffdf99988b
+838b838b848a969b83a6af9b8391828f7f8b788b7d7c8b798b7d98868b86088b8384
+87858968866b816d7d8b8e8c8e8b8e8b928a8c8b948ba695949393868c868d838b08
+767c7b781f8b6fa28f8b818b84fffffbb334fffffb9998fffffc4cccfffffd666881
+84ffffe78000fffff48000ffffda8000ffffda8000899e77988ba68b938c8f8d9268
+8389758b8308829073a3ff0005ccccff000833348b7f1e8b878a8789887572786e7d
+6b819f699089b68889767e8b748b779d7c998b938b92908f8b08938d80801f806e85
+6a896a8790838e818d68938199849a858287818b7f8b749d7d9f8b9b8b919a918b08
+978b907d8c848b6b8f728f79868d868c838b668b7e988197898588838b828b749c7a
+a08b08a88b8ba1928b918b90898f878f7d8e828b840879077f8e84921e918b918e94
+8b968ba5879a8b918b8f8c8b8e8b9c42a3859b859b859b879d8e95928f8d8b08908b
+9283968b998ba0988ba38b9d7f97829384616b887d7c899789988b998ba18d9f8fa0
+088e909091948b918b8e79a08ba28b9a9b8b9f8b968792889372666f9a778094ab98
+aa9da6088e8d8f8d908b998b846fab8b9e8b9b9b8ba38b908a8f8b8e85868282758b
+ffffeeb3348bfffffd99988fffffefb3348b089ca19fa0a19d8e8c8e8c8f8ba08b76
+77a47d9187918a918b998b9c9490a98388878a828b08768b7e977c8fa39ba498a795
+ff001180008bff00008000fffffa99988bfffffc66688b8887848b848b8098799e8b
+a18b969e8e9008ffffd966688bffffff9998ff0016999876ff000e6668a693a88ea9
+8b98888b848b8a8b8781838b818b7b987b9e8b978b94909594086a958aa58199a48a
+9e8799889988877c978490889188928b918b8f8d918b8e8b8e8a8e8a08829c919382
+92888e8291828b848b8787848b898b898d7a8f999690a5af8e888f809c778b08787e
+797f1f8b8391858b88088987837f1efb88fce315898d888d1e8f8b8991918b8d8b8e
+898b878b7a6f94827f08a07b9292898e0588898a8a8a8b088a8a8b8c1f8192059192
+a8848b9c0891839383878788891ec56c15827f76848a898c8e9397a1911e8c068d8c
+8a881f7b691598949d9693879083817f7d7d809288901fc89815f8c90a7e69159892
+9b9797848f867f837b7f829084921fc7a315858488861e888e078e90898584878586
+1f858b8d91858b08898a8a8a88918793959192931f8b91878f878c8d8c928e8b9108
+90868f838188848a898d8a8d1e918b8693948b088e8c88881fb272158b908b908e89
+8e888b868a86888d898e1ff77ef8da158df5ffffb4ccccffff523334fb13444c798a
+8b8b8c8c8b8c8c1fb499b7de8be58bf74521c98b93088c8c8c8c1ee8ba158a8a8b89
+1f8b868f838b8a898b869b878b8a8b8a8a8b8a8b878f848b888b8a8b8a8a8b888b88
+98878b088a8a8a8a1f8b858f858e838a8b8595888b8a8b8b8a8b898b879083938398
+828a869080877e838e847f087a99728e88a08a94879485907a9b579a878b808b8884
+8b858b8392819180917e956fa08408a2839879917d7a898b777d8b898b8093849c86
+998691878b8a8b8b8b8b8a8b8890848b89088a8a05898c8199878b8a8b8a8a8b8a8b
+8793848b88858efffffacccc90fffffc33348b8a8b8b8b8b8a8b8797818b8a088a8b
+8293878b8a8b8a8b8b8a8b879b828b8a8a8b8290888b8a8b8a8a8b8a8b8896829f87
+089b6c8c8b8d8b8b8ba08da39e8b64977197727c968990868b808b846b8b8b088b8c
+918e91898c89878a808b8b8a97878a898b87888d868b1f8b8795878a8a8a89878f85
+8b1e8b858f898a8a8b898892828b1e8b878f888a8a8a8989996c9f9b8e98951e8e07
+95849a769c868b868c868b868b566e2c5978898a8b8a8b8b8b8a8b8b8c8bc58bc5d3
+92dc088c9a8d998c98ff000b8000ff0005b334ff00043334ff00088000ff00164ccc
+ff0023cccc088b8d779ca293ae908d8b8d898987858b1e8b8f948e8d8a8d881f8a8b
+89898a8a08938a8c898789858b8b8a9088888a87881e8a8d898d898b8a8b898a8b88
+8b888d868d868791849f7f8b828b908876750899078bbb80a773a8939693948e978c
+8f8e918b8d8b8ffffffeb334ff0002ccccfffffe4cccff00023334087e9c058c8f8b
+8f8b8f08968896898a8a89891e81078a8b899e868b08fb1dfc4c15970713effc8e89
+8c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e9b068e
+8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761ffb7a07
+13f7fcf8ca0a13effcf8cb0af7c1f73015fb9ffb6efb6efb9ffb9ffb6ef76ef79ff7
+9ff76ef76ef79ff79ff76efb6efb9f1efc79f87f15fba4fb6ffb6ffba4fba4f76ffb
+70f7a4f7a4f770f770f7a4f7a4fb70f76ffba41ff892fc7f15fbadfb79fb79fbadfb
+adfb78f779f7adf7adf778f778f7adf7adf779fb78fbad1efc92f89815fbb2fb7afb
+7afbb2fbb2f77afb7bf7b2f7b2f77bf77bf7b2f7b2fb7bf77afbb21ffb77fd93158b
+918c8f8e888e888a878987898d888e1f0ef8fefb7b92f71eadf7419d7aa3f7a99cf7
+f79212d492f822bcf714b868aef8239213df60f999f7161597078e898c881e47da06
+687e8b7f056c8174601e53067980969f1ff76f07a199909f1e9b068e8d8d8e1f8b97
+898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761ffb7a0713efa0f8ca0a
+13dfa0f8cb0af7daf73015fbaefb78fb78fbaefbadfb78f778f7aef7adf778f778f7
+adf7aef778fb78fbad1efc92f89815fbb1fb7bfb7bfbb1fbb2f77bfb7bf7b1f7b2f7
+7bf77bf7b2f7b1fb7bf77bfbb21f0efb6292fa5e9201fece92fa5e920322f7b215fb
+a0fb6dfb6dfba0fb9ffb6ef76df7a0f79ff76ef76ef79ff7a0f76dfb6efb9f1efc79
+f87f15fba3fb71fb70fba3fba4f771fb70f7a3f7a4f770f770f7a4f7a3fb70f770fb
+a41fbcfb3215878b898c888b7c8d7b8c7d8b838b838b838a979b83a6af9b8391828f
+7f8b788b7d7c8b79088b7d98868b868b838487858968866b816d7d8b8e8c8e8b8e8b
+928a8c8b948ba69594939308858c878d838b768b7c7b8b788b6fa28f8b818b848786
+878908838605737d767977788a9e76988ba68b938c8f8e92688388758b838b829173
+a38b089006938c82881f8b878a8789887472796e7d6b809f6a9089b68889757e8b74
+8b779d7c9a8b938b92908f8b088e92867f1f8607806e856a896a8690848e808d6993
+8199849a858286818b7f8b749d7d9f8b9c8b919a918b08978b8f7d8c848c6b8f728f
+79868d858c848b658b7f988197898588838b828b749c7aa08b08a88b8ba1918b928b
+90898e878f7d8f828b848b858a858b858b7f8f84928b918b918e948b08958ba68799
+8b928b8f8c8b8e8b9c41a3859b869b859b879d8d95938f8d8b8f8b9283978b0899a0
+98a31f8b9d7f97829384616b887c7c8a9789988b998ba18d9f8fa08e909091948b91
+8b8e79a08b08a2999b9f1f8b968892889372666f9a778094ab98aa9da68e8d8f8d90
+8b998b836fac8b9e8b9b9b8ba3088b908a8f8b8e85868282758b7c8b838f818b0888
+069ca19fa0a19d8e8c8d8c8f8ba18b7677a47d9187918a908b9a8b9c9490a9838887
+8a828b08768b7d977d8fa39ba498a695088f06949185881f8b8887848b848b809879
+9e8ba18b959e8f900887066c8b81a57c96a693a78eaa8b97888c838b8b8b8781838b
+818b7b987b9e8b978b949095940869958ba58199a48a9e8799889a82868297849088
+9188928b918b8f8d918b8e8b8d8a8f8a08829c91938292888e8191838b848b878783
+8b8a8b898d7a8f999690a5af8e888f809c778b08777f797f1f8b8391858b888b8987
+837f8b08fb89fce315898e888d1e8f8b8991918b8d8b8e898b878b7a6f94817f08a1
+7b9292898e0588898a8a8a8b8a8b8a8b8a8c088292059092a9848b9c089182938487
+8688891ec56c15828076838a898c8e9398a1911e8c068d8b8a881f7b691599949d96
+9386908480807d7d809188901fc99815f8c90a7e691597939b9797848f8580827b7f
+829184921fc7a315858488861e888e078e908985848685861f868b8d91858b08898a
+8a8a88918793959192931f8b91878f878c8d8c928e8b910890868f838188848a898d
+8a8d1e908b8793948b088e8c88881fb272158b908b908e898e888a878a86888d898e
+1ff77df8da158d06f22a8f2f8b4f08fb13444c798a8b8b8c8c8b8c8c1eb499b7de8b
+e58bf74b21c08b968b8c8b8c8c8b08e9ba158a8a8b891f8b868e838b8a8a8b869b87
+8b8b8b8a8b8b898b878e838b888b8b8b8a8a8b888b8798878b088b8a8a8a1f8b8692
+7f8b89088a078a8b8595888b8a8b8b8a8b898b878f83948397828b868f80887e838e
+847f7a99728e88a0088994879486907a9b579a868b818b88848b858b839281908092
+7e956fa084a2839879917d087a898a777e8b898b8093849c86998591888b8b8b8a8b
+8b8a8b888f848b89088a07898c8199878b8a8b8a8a8b8a8b8793848b88088a06898b
+8293888b8a8b8b8b8b8a8b8796818b8a8a8b8393878b8a8b8a8b8b8a8b879b828b8a
+08898b8390888b8a8b8b8a8b8a8b889482a0879b6c8c8b8d8b8b8ba08da29e8b6498
+719672087d968990868b808b846b8b8b088b8c918e91888c89878b808b8b8a97878a
+898b87888d868b1f8b879587898a8a898790858b1e8b858f898a8a8b898892828b1e
+8b868f898a8a8a8989996c9f9b8e98951e8e0795849a769c868b868c868b868b566d
+2c5a78898a8b8a8b8b8b8a8b8b8c8bc58bc5d392dc088c9a8d998c988f8d918f9092
+949999a28b8b088b8d779ca293ae908d8b8d898887858b1e8b90948e8d8a8d881f8a
+8b8a898a8b0893888b89868b858b8b8a9088888a87881e8a8d8a8d888b8a8b888a8b
+888b888e868c868891849f7e8b838b908876750899078bbb80a773a8939693948d97
+8c8f8f918b8d8b8f898f8a8c087e9c058c8f8b8f8b8f08968796898a8a89891e8b87
+8c878b898a8b889e878b08fcb8fcab158b908c8f8e898e8989878987898d888e1f0e
+f946fb76c2c5b5c6ad6bb8f803a8f755ad12b0e6f84ee7f72cd6f752d613cfc0f8b5
+fb0f15fb0ebb238b6e8bfffff5999a8bfffff6199affffff4ccdfffff6ccccfffffe
+b333ff0003199aff00026666ff00033332ff00024ccdff00033334ff00024ccdff00
+28b334ff001d4ccdb9a3ff0020ccccff00094ccdff005a3334ff000ae666d3ff002c
+ccccff002f8000ff0043b334ff0027ccccff0038b3339fff00484ccd8bdf08f763fb
+20f70efb471effff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffff
+d41999ffffc3b334ffffe9999affffb180008bffffa8cccc8bffff4a6666f70bffff
+893334ff0097ccccffffee9999ffffe96668fffff6800075fffff3e667ffffebcccc
+fffff166665e6b66646f65ff0003b33389ff00044ccdfffffdcccdff00048000ffff
+fde66608ff00198000fffff34ccd05ff00096666ff000d6666ff000a199aff000ce6
+67ff000ab333ff000c3333ff0012199aff000db333ff00133333ff0004cccdff0008
+80008bcd8bc379f7045dd36dcf7edb8bee8bebaec7c3087b9c054c683f765b8b0843
+8b5a9935ac08fb6ef98915650a13dfc0f8e8fd1815b08bc29fbab1908f948d8b848b
+7596688b8b92888f8c928da09ca69ac59291918b8e8591084e90fffff8e6689dffff
+fe1998ba89bd8bf58dbdff00013330a8ff0002ccd0c68b8b8b8e898e868b868a7c8a
+7d8b6c8b728c688c0885858b809185ba88ff00098000fffff4e666ff00028000ffff
+c1199a8d598b218959ffffff4cd079fffffeb3308e7e7f686c5c72738bffffc4e668
+8bfffff68000ff0017199afffffc9998ff0054e6660889bd8be28dbdff00013334a8
+ff0002ccccc68b8b8b8e888e868b868a7d8a7d8b6c8b728c688c85858b80918508b9
+87ff000a800082ff000280004d8d598b2b895908fffffd6668ffffbe199aff001599
+98ffffbfe666e98b080ef87086a2f807a9f759a8018ea3f785daf786d0f75fd103f9
+24f7a5158b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff000133
+346e8d598b528959fffffce668ffffb2199afffffa1998fffffce66659860886858b
+809085b38c9c8fb18bb28b9d87b48a90918b9686915690fffff81998ff0003199aff
+fffce668ff004de66689bd8bc18dbd08ff00021998bffffffce668ba75a87ba06d97
+6a8b5c8b507e514a888784828b988b8b8cf74f8dbdff00028000c9ffffffe668ffff
+f8e668ff00019998ff002319980892888d821e7381497f65885afffffcb334ffffbb
+999afffffc4cccffffca66668b0835063e8bfb0a93658e898b89898b8a875e815480
+5b95878d8a978b9fdbb9afcd8b08c606b08bff00084ccc78ff0001b3344eff00024c
+ccffffadb334ff0000b334ffffce4ccc8b388b388a5d893889387286458885858b80
+9185bc8cff002466668fff0036999a8b08ff003633348bff0022cccc87bd8a91918b
+968591458e729089de89ff005280008aff002d80008bde8bdeff00004cccff00304c
+ccff0002b334ff0054b3348dcb939baf8b08c906ff0048e6688bff0028ccccfffff0
+e668ff0011ccccffffb84cccff00016668ffff9de666ffffffe664fffeeee666ffff
+fe333455fffffd66683cfffff6999888548785858b809185b28ca18fb48bb08b9987
+b38a0891918b9685915b8ffffffa3334ff0003199afffffcccccff004ee66689bd8b
+f70b8b8b080efb91f782a2f700a5f766a501a8c1f711bc03f764f83b15f8a90aa9ca
+157273057c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75fffff5
+6666fffffc4cccfffff1999afffffeb33408808a0588ffffffb33489ffffff4ccc8b
+870879078bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05ff
+ffe7e666ff00038000ffffff199aff000380008b9f08f7e70791898e881e878b8586
+8788080ec9f86ca4f702e801ff00484ccdb2ff0094ffffb2f72bb203ff02044cccf9
+50156371644f1f8b45c75bc780ff0006ccccff0005e666ff0001999cff00093334ff
+fffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f80
+0008a775a06c1efb528e156371644f1f8b45c75bc780ff0006ccceff0005e666ff00
+01999aff00093334fffffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff
+000980008bff001f800008a775a06c1effff4400018615f85e0a0edaf86e9df708e5
+01f730aff72caff72caf031438f88df94e15f85f0afb5016f85f0afb5016f85d0a0e
+f71a0ef71a0ef71a0ef71a0ef71aa2abf889ab01adb3f882b303f7d5a215a40af8a9
+04a50a0ef75a7db0f8dfaf01bdb0f8deaf03f8107d15f74af727f728f74af74bfb27
+f727fb4afb4afb28fb27fb4bfb49f727fb29f74b1ff90404f736f717fb17fb37fb37
+fb17fb16fb36fb37fb16f718f735f737f716f717f7371f0ebd7fa6a8a6a5a6a6a6a5
+a6a6a6aba6aaa6d2a6b5a6bda601d4abf713abf786ab03f4f86d15f733f726f786fc
+f0fc2506f713f8d9152b2207f734cf1571f742a507fb4bfc851570bfa60785c015f8
+cc0afbd516f8cc0ab6c115f8cc0afbd516f8cc0ab6c015f8cc0afbd516f8cc0ab6c1
+15f8cc0afbd516f8cc0ab6c615f8cc0afbd516f8cc0ab6c515f8cc0afbd516f8cc0a
+70f78815fb49fb348bfc86f8658b8bf926050ef7a67fa6f7c7a6f70ba601d4abf713
+abf867ab03f700f7d615f730f71d069494f85e8b8bfc59fd068b8bf7c405f713f705
+15382e079a5215807297068c06978a927c93818e878f88908b088c068c8c918d8c8c
+8d8d9492949208a28c89a4708905888b898a8989087d7f0581998497738e08f7445d
+1591a38a066dae8b8c8b9a088f078c91a4aeae8e088c06928b9f84958592889185a3
+8b9f8b8995a18b089006b689a5758c74856f636f6a8b08868b8973058d8b8d8a8e8b
+b48bc1ad94b6088e078bb561a7578d088506708b8982808b7a8b878e878e80917494
+7c8b0888065d876a60877c088b868b86058b748d87b15f8d888e8a8f8b08f7c8f734
+15969495969695818080818280808294961e7616759e78a1a29d9ea1a2799d747578
+79741efc50fbd6155b978673bb7f8e8b05908b958a8f8a8c8b8d8a8e8a08a906918b
+aa95959c9194a3a0bc8b978b988a9a889389948a978a0887078b828b82898208a487
+058c968c958b95088e07908c8c8b8f8c908d8d8c958f8c8cac989999aaa8a1a3be8b
+8f8c9d90a48b08b38490a36293888b8a8b057076858b1f508a706f6a6c8485767f7e
+868287888a878908888b8a8b0588a585a482a4089ab6058f948c8d94968e8f969da8
+9b8c8b8c8c8c8c088f8e799d8988056a787b748b8a7f7c8988878008867b057dab7c
+aa7ea908748105a456b0449446828b848c848d7b8e7c8d7e8b518b6c70817c868375
+838b8b0883067e8b8a8c868b8a8b898c8a8b878c868b7e8c08e3f82f15fb52fb3d8b
+fbe6f9468b8bf88f050ef73d8babf707a6efab7ba6cda6a2aa12b0a5efa585a5dba5
+efa5efa5efa513de78f84df74215f708effb0807fb121627f708ef06f790fb081527
+f708ef0627fb9615f707effb0707fb7616f707effb0707fb121627f707ef0613cf78
+fb76fb0715f707effb0707fb121627f707ef0613eef89ff79c15222a07f7f7f315fb
+0f70f70f0613ef78fbaafb1d154327ef0713eef8f726f733f85e0613df78fb0827a9
+716d27a9716d27ab716b5a7007bcfb0827d306fb2cb115fbb0f924f864fc85070ef7
+3d8bab989cd49d819cc09d8c9da3aba8a6d2aa12b0a5a3a9b69e8fa59faab59ec0a6
+a8a6a8a6a8a6a9a5b5a513cffff8f74bf82f15222a07aafb1015a096a89c92938879
+1e13dffff8767c6d7b858593991ee9bc15848b7d8b7596888f7f8f808b086a756a6d
+769974a3ad9fb0ac1f8b8f8b8d8a8e93879786958b968b9b8f9a9108fb0bfb3d9f80
+f720f7577798057b7a70887a8b089dfb2215769a74a3ac9faeaf1e13effff8a97792
+7b67776a6c1eaa8715a098a89a9094897877816b76858694991ef716f7a915fb0f70
+f70f067bfb1915fb3efbcbf786f726f733f85efc2561f75e71fb5e6df7b570fbb507
+6ef7cf70fbcf6ef78570fb856ef73e06fc00dd15fbb0f924f864fc85070e647fb0f8
+dbb201c5e5f776e503f79bf8f4159d8b9d859780ab6faa3c8bfb228b2a87477c5573
+345780788b08287ef74be7f799cebabb1f87fd0015ddf70fdff78d1f8bf472e05cc9
+6bb75aa95b8b082227fb13fb65fb3fdcfb2cf70c1f0efb3789b0f8f87701f751e003
+f7a6f71d15f7f7078bce8ccf8d9a8b90888b878b4d65536f285d8d7e8f819584bea0
+a592a08b089d8f70651ffbdf078b2e78853d8884848b749284c28cac8cc38bc08ba7
+8ac38a92928ba284923d8e76918be8080e3f8bcef8b3b012c6d8f75de66fa913f0c6
+f88415759f78a49da296a81e8b9488938993899389938b9408a69eb1d8b1ce71251e
+8b4773544c4b083c3d05232178598b4c088bc28dad1ef74c06adbc898b1f13e898c3
+97dc8caa84917e8b81897940786f658b08fb50068bbdd3d5919108f5f20513f0c7c5
+baba8bdc08f70624ba351efb0a4d344b1f0e4680b0f7caadf784b012bbd8f755db56
+e713f8f776f8f615bab872491f8b574b392c7c089069059d8d998b988b0813f4c7d7
+78fb0cfb212b6b661f558b81a37f9e819a7c97768b087574777a60e470cbf713f704
+e0f7201f8bf70839b74c95088a8d0513f8f0cb91bb8baf08b863cffb01fb305e2568
+7c9576a5a996ae9f1ecfd498a71e0e4589b0f71cbef83d7701f7aed503f852f77215
+31f74a06a18a987c1e7a8b79817f8281858a838b8308fb44fb5d07dcf70bf70df747
+dbf7078e918991848b086e06848b8685878608fbbafc34058a8a8a898b8a8e7c946d
+ab8b08f77235068b5a618d5e8884848b749284ad8cb58cbb8bb58bab8aad8a92928b
+a28492578f78888bbc08e1d6079a9aa197958792801f0e3880b0f7e4bff72cd14ece
+12f7e4e713d8f7e4f75c152654424b1e638b7da57ba07e9d789c758b08777778765f
+e668c7f717e8edf719f245e6fb0b1f5d8b6383788308a1f7450513e8b287ae86bd8b
+aa8baf8cb78f089cd4848e054f845087538b0813d8648b678e668e0867fbc605c3a0
+b290b18b08d0c35cfb071f0e4980b0f7ddb0f778a601b7e0f780e003ff0088e666f7
+d515b2ff00203334ff002a8000ff0001ccccff0014999a8b08f3a12056fb085d5657
+4844aff7491f8bff0016b334ff00024ccdff001a9998ff00059999ff001cb33408ff
+000a4ccdb515ff001ce666ff0060999aff00441999ff006bb332ff008dcccdff0034
+b3348b9788948291fb006c4a5f5046493f6b2a8b3708fb6bf71561ddf71fc3f71ae6
+e65ee2fb241effffdfcccd8bffffcee666fffff5b334ffffdf8000ffffed4ccc080e
+2c9376f8d8d09a7712b3ad13d0f73bf8cb15f74d0638fb6237fb6343fb35089385d4
+8e05c7f748caf744f70bf7b5087a970579857386638b08fb6e0613b0678b8e96778f
+888b8a8a8b888a597f4b825408ad8805a3e0ae92ad8b080e527eaaf8eea612c1cd64
+d4f75dcd60d213e4f78a9d155b3db5ea1f8baaa0d4e5c908be6d05ce63a8588b5908
+2137715b1e92f8ee1513d8d0ac535a1f8b524b556e76086b9f0547b783b58bab08bc
+aebdcb1ef73c2115d752c423fb01454b391e8b50a85ecc63089e8005707773776f73
+0813e46065795b8b6208fb01d950f704f71fcdf2dc1e8bc96fba54af084ab605b9aa
+d5c38bcf080e4980a6f778b0f7ddb001b7e0f780e003ff0165199af7cf1564ffffdf
+ccccffffd58000fffffe3334ffffeb66668b082375f6c0f708b9c0bfced267fb491f
+8bffffe94cccfffffdb334ffffe56668fffffa6666ffffe34ccc08fffff5b3326115
+ffffe3199affff9f6666ffffbbe667ffff944ccdffff723333ffffcb4ccd8b7f8e82
+9485f700aaccb7c6d0cdd7abec8bdf08f76bfb15b539fb1f53fb1a3030b834f7241e
+ff002033348bff00311998ff000a4ccdff00208000ff0012b333080e2b81a3f811a3
+01aadef768de03f76ff81f15dba63dfb00fb007634353d70e2f700f704afd5d01fa3
+04233736fb11fb20dc3cf6f703dadbf71ff70e45e3fb0c1f0e2b86a1f7e9a2b37701
+f757d403f757f5158b3c7b84488885858b819185ba8ca78fbb8bff002d4ccc8bff00
+16b33487bb8a91918b958591488e7b928bda08f75c07c48ebc8b1e93878c821e5c7c
+63833b7a8c808e879283a78ea48ea08b089a8f80591f0e2b8bbff7d9b501c6acf74b
+df03f7adbf15f8c70a0e2bfb63a4f7c3a1f78aa412c0d4f74dd25edd13f8f771f819
+15300a13f4310a13f8320a0e2bfb68a2f751b0f80d7701f7a5d003f83db015ffffab
+800006ffffffccccff00734ccdff00008000ff00856667ff00013334ff001d4ccc8d
+bdfffffe4cccff00273334ff0001b334ff0007cccc08898d728b05848bfffffab334
+fffff98000fffffc4cccfffffb80004cffffb28000ffff908000ffff738000ffffa4
+8000fb238e7c9170a98b08ff00c8666606ffffffccceffffbe6666ffffff8000ffff
+c9e667ffffff4cccffffeeb333fffffe33345dffffdbcccc88608885858b809185ab
+8cb38fb98bff002766668bff001e999a87ab8a91918b968591085a8fffffece6668c
+fffffe199abaffffff4cccff00116666ffffff8000ff00364ccdffffffccceff0041
+4ccd08ff0046666606999a9497958791801fffff69800016ffff33800006ff00334c
+cdff00523333ff0052b333ff006c999ad0ff005e3333ff00013334ffffe26666ff00
+008000ffff768000ffffffccccffff8a199a080e2bfb64a4f7e5b3f72cc458c912ff
+01468000de13e8ff014680008315f8c40a13d8f8c50a13e8f8c60a0e2b80a4f7dfa4
+f7857701b1d8f77ad803ff007be666ff0136666615360aff0007199aff001c999a15
+370a0e2bf80bc201b8a103f72ef80b15f8a60a0e2b80a4f8cfa412b7c866ccf757c9
+63cc13d8f77cf8dd153b0af73227153c0a13e43d0afb3afc6b153e0a0e2baca4f7df
+a401b5d8f77ad803ff0154199aff005c999a15f8c80afffff8e666ffffe366661540
+0a0efc1122b6f954b701f4b7fa40b703f729f91615fa40fd54fe40065ff98015fdab
+fa98f9ab070efc1122b6f954b701f4b7fa40b703fa6ef91615c4b95c531ffcedfe40
+f8ed07c3babac31ef972b715fd72063a49493a1ffd18fa98f91807dc49cd3a1e0efc
+1122b6f954b701f4b7fa40b703fa6e4d15fd7206535cbac41ff88507c3babac31ef9
+7206c4b95c531ffc8507525d5c521e6004dccdccdd1ff88507dc49cd3a1efd72063a
+49493a1ffc850739cd4adc1e0efc1ff77bb701b3f79603f7a3f77b152a0a0ef8595f
+a0ff00a4b333ff00154ccdf738a0f7b5a001f799a0f787a003b393158b78968b9687
+db72ce87cb8bac8bab8eac90ff00d96668ff00238000ff00bc4cccff008ae666ff00
+614cccff00c56666ff003c8000ff007ab334ff00098000ff007966688bff001a1998
+8b9c808c808f083ea34191598bffff27b3348bffff331998ffff973334ffff803334
+ffff534cccffffa6199affff868000ffffd5e666ffff68b3338bffff9c4ccd08a198
+159df771f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00138000ff000e6666
+ff00a0199aff006e3334ff00146666ff000d199908f83dff00004ccd05373ffb2e32
+fb5c8b089ff75915f7b807949bf5e1f714b208fb9c07f759fb4815fc358bf77ff738
+f7c58b05ffffd38000ffffaa3333ffffc16668ffffbc6667fffff01998fffff56666
+088af86e15cb8bca82c87808fbfffb8f8bf79305be98c196d18b08fb2bfbb515f7f4
+f7880584417b396033080efb9cfb0aa5f76caad1a001bebcf70bc103bef74315f804
+0abc4215f8050a0efbabfb0aabf770a601a6c1f70ac103f731f73515f81e0a0efb91
+fb06a4879df760a5d1a012a8c1f711bc13bcf7645115f8060abcfb1215f8070a137c
+f8cd0a0efbc8fb04a2f74aa8f708a401d3bc03d350158b79fffffacccdfffff98000
+ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a8d8a05
+8bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff0000333308768d05ffff
+eccccdff0001cccdfffff93333ff000833338b9d08f72cc60791938d911f9d078d89
+8c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b9684967e
+947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efb8afb82
+a9ebb3c0a1f71fa17ba7129cb472bd5db0f709be90ad13eac0f79ef71315f80d0a13
+f2c0f80e0a13e9c0f80f0a13ecc0f8100a13e9c07a7890a51f13eac0f8110afb4ffb
+7d15f8120a13e4c0f8130af704f743154d6f87751e13f2c0f8140a0efb92fb04a2f7
+66add1a001c2bcf703bc03f3f75015b58da58b1e90898d851e7b845d837189088c79
+05898d8a8d1ea08a05989184611ffb80078b76fffffe999a88ffffe866668808838a
+05878b88891f79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff00
+01999afffff8e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb0607
+8b76fffff9cccdfffffbb333ffffed3333fffffe4ccd08808a05878a88891f79078b
+b38ca4a3b18a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9cc
+ccff0004b3338b9e08f71007ce6da45e1e678b68687d7b080efc03fb03a8f761a0c8
+c512d3c559bb13f0f0f79b15f8680a13e8a6fbbf15f71c0713f0f8690a13e8f86a0a
+0efbf6fb699ef7d1a0c9c4128bbbb2c758bc13f8f709f79b15f76b0a13f476fb5215
+f76c0a13f8f76d0a0efb87fb04a2f771a2d1a001c2bc03c2f74315fb80078b76ffff
+ff4ccc88ffffe7b3348808838a0587ffffff80008bfffffd80008b890879078bff00
+2533338cff0017cccdff0018999aff002666668a8b1e9d078b8f88ff0000cccd89ff
+0000333308838c05ffffeeb333ff00023333fffff84ccdff00044ccd8bff00148000
+08ff004f666607ff0001cccdff00006667ff00019999ff00003333ff0001999a8b9a
+8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b1e8d8d8b9b
+058b8e87ff0001999a87ff00006666ffffdf80008effffee8000a28495084ce80589
+8d8a8e8b8e8b8d8b8e8d8d08b0b505a1a3ff001b800093ff001880008e8dff000033
+338fff0001cccd8b8e088b9c898c058b638a73756d8c8b1e8a8a8b7a058b898dffff
+fd4ccd8effffffb333ab887b7a8383ffffdf8000ffffdb3333ffffeb3333fffff080
+00ffffe54ccdfffff4199908ff0094333307b58da58b1e90898d851e7b845d837189
+088c7905898d8a8d1ea08a05989184611f0efc24fb05a1f7d0a001c2bc03c26715f7
+790a0e3ffb04a2f768a07aad12a1e85abcf704bbf6bc13aef707f70215ff001b3333
+8dff0010cccd8b1e90898d851e13d6f8150a13ae989184611ffb1a078b768afffffd
+666673fffffc999a08848a0586ffffff4ccd8bfffffdb3338b890879078bff002533
+338cff0017cccdff0019b333ff00284ccd8a8b1e9d078b8f88ff0000cccd89ff0000
+333308808c05fffff08000ff00016666fffff68000ff0003999a8ba108f723079ea2
+a0a1a08b08aa9f7a581ffb0c078bffffe94ccdfffffa999afffffd9999ffffeb6666
+fffffe199a08808a0588ffffffb3338afffffd4ccd8b890879078bb28ca4ff001833
+34ff0025cccc8a8b1e9d078b8dffffffe666ff00023333fffffb199aff0000cccd08
+858c0578ff0003333384ff000280008bff00154ccd08f716078b91ffffffccccff00
+05b333ffffff8000ff00054ccdff0012199aff00158000ff0013ccceff00138000ff
+0013cccc8b08a99f7a581ffb0c078b7485fffffdb33378fffffe4ccd08808a0587ff
+ffff999a8afffffd66668b890879078bff0027999a8cff00196666ff00183334ff00
+25cccc8a8b1e9d078b8dfffffee666ff00024ccdfffffc199aff0000b33308858c05
+ffffed199aff0003199afffff8e666ff000133338bff0016b33308f71607ce6da45e
+1effffdc4ccc8bffffdc6668ffffdd999afffff1b332ffffeeccccfffff6199aff00
+24e667ffffe6b333ff000eb333ffffdccccd8b678b6a687d7a080efb6ffb03a8f761
+a07aad12cebbf704bb13b8f77767158b628988698987838b7d8f84a98c928ba38bff
+00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce6ea45d1eff
+ffdc199a8b68ffffdd199a7d7aff00006666ff0017b333ff00018000ff001533338b
+8b8b90898d858b0813d87b845c8371898a838c848f85ff00206666fffffe8000ff00
+0a999aff0004b3338bffffcacccd08fb01078b628388638986838c7c8f85a98cff00
+05b3338bff00234ccd8ba38b938ba98a8f928b998793698d888e8bb408f70a0713b8
+f8790a0efb94fb82a2f700a5f760a077aa12c3bcf70bc113dcc3d415fb98078b77ff
+fffd999afffffc3333ffffe96666fffffccccd08848a0587ffffff66668afffffe99
+9a8b890878078bb08ca3a5b38a8b1e9d078b8f89ff0000b33388ff00004ccd08808c
+05fffff1199aff00016666fffff5e666ff0003999a8ba108ef07997f9f839f8b08cc
+c1c7d5cf63c7511f6e8bffffe380006ffffff080007908898c05ff001b33338dff00
+10cccd8b1e90898d851e13ecf8170abc3215ed0713dcf8180a0efb91fb82a2f700a5
+f766a501a8c1f711bc03f7645615f8a90aa9ca15f8aa0a0efbcffb03a2f765b365a0
+12a9e85abc13c8f711f115898c05ff001b33338dff0017cccd8b1e90898d851e13b0
+f8150a13c8989184611ffb1b078b78fffffe199afffffb4ccdffffe8e666fffffeb3
+3308798a05868a89881f79078bb88ca7a8b88a8b1e9d078e888d891e798c05ffffec
+e666ff0001199afffff9199aff0003e6668b9f08f712078b938f948f909ba29a9792
+8b8f8b90898f8791849387978b089d96949c9d8198701f6c8b70697a72080efbc8fb
+0aa4f779a412a7a17cbbe2c16fa213e8a77915f77a0a13d4f77b0a13e8f77c0a0efb
+f7fb0aaef765a812c5bb65b113e0f5f71215f8190a13d0f81a0a13e0b3fb4b065fa0
+7aa81ea78ba293a5a6087b9c057b7f81867b8b087a879db11f0efb86fb0aae819df7
+63a212c1bcd1e65abc13b4f79c671513b8f81b0a13b4f81c0a1374f8cd0a0efb8bf7
+18a20197f7b603f71d2215f81d0a0efb08f718a201f713f71d15f76e0a0efb73fb82
+b4f7dda3019cf7ca03f726f71e158b9b8a8d058b61896e78678d8b1e89898b7a0589
+8e888e1ea68bff0003999afffff66666ff000b6666ffffe6999a08d7fb3d05907e90
+7b8b848b858a8688837b65786b828b858b869085918790858e828b088178827974aa
+81971fb78ba2b19eb7bdf70da6c7add1939d979ea38b08908d8d8f1f8b9b898d058b
+71897a75618d8b1e8a898b7a05898e888e1e8e06999689821f8b888a8489870847fb
+2949f72b05fffffe3333ff0004199afffffecccdff0005e6668b8d0893938e9d8e8f
+8d8f1e0efbb3fb04a9f764a801a2a103d1f72f15f81f0a0ef8cff70c01fbb9f76803
+fb6df94715ffffddcccdfffff46668ffffe87ffffffff04cccffffedb334ffffee4c
+cc08f72e4c05a0829988938b938b92928b938b9287918093080ef8cff70e01fbbcf7
+5d03fb31f94915d70a0efb91f78703fb05f91615fffff0999aff0007b334fffff666
+66ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79
+b279ff0009199aff0003ccccff00041999ff0008199cff0002cccdff000919980867
+a666ad6daf080ef8a0f70701fbc6f78803fb61f8a015f7100a0ef8b4bfc87701fbbd
+a7f76ca70372f92515f70c0a0ef8ecf72701fbf6f7910326f95415ff001033347fff
+0015cccc6e1e808b8487868308ffffc4b333fb0105fffffd7ffffffffb6668fffffe
+cccdfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408fb17
+9015ff00174cccffffe9b333ff000eb334fffff04ccd1e7c8b8487868308ffffc980
+00fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff00
+05999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080ef8e9
+f72afb107612fbf6ff00fa800013a0fbf6f954158b828e848f8708ee37058d898e8a
+8e8b908b93908b938b8efffffecccdff00036668fffffd8000ff0004999808ffffc4
+b333f701058693848f808b086e7fffffea3334ffffefcccc1ff71790158b838d8490
+8708e3ffffaf8000051360ff00046666878ffffffc8000ff0005999a8b928b91908b
+928b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7020513a0
+8693848f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080ef8f1bf01
+fbbea7f76ca703fbbef8b415f75d0a0ef94eaa01fbcfd1f702d103fb52f96d15f7bb
+0a0ef88baa01fbe1d4ebd40330f8e215f7dc0a0ef959eb01fc11ebe8eb03fb54f989
+15c30afb5116c30a0ef96476c5a301fb8bb8a1a59bbf0335f96915f82d0a0efba2f9
+7ef301e9f303e9f9b215f70e0a0edfcaf9d9158b748b7c8b7a8b7c9d8bb18b8b9a65
+8b8b9cb18b8b9a658b8ba2b18b8b9a05658b798b05db16369dff003ab33407ff0017
+199a78ff00031999fffffc3334ff0000cccdff00009998ff0000cccdffffff6668ff
+00031999ff0003ccccff0015199aff00114ccc8b529d8b8be0798b8bfffff7666872
+ffffeb800070ff001633308bff0006e668052dfb0e15f746fc8b068b748bfb54fb46
+8b8b73f7468b8bfb66fb468b8b73f7468b8b93a28bf7698b8ba2fb698b8bf75f05f7
+5297a27ff738a3fb38f8357497fb52f754f80da3fc0d06a8f767a34d07fb29e5068b
+a28bbaf7678b8ba3fb678b7c8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba2
+8bf752f7528b050e2b81a4f8cea401b2dcf771dc03f77cf8dd15f8c30aff0058999a
+ffff9c999a15ff000c199affffd68000ff00084cccffffc8e6668b488b2f88427d58
+75395482798b688bffffe76666ff001eb333ffffef199aff002a199a08ff00c3e666
+ff01cf800015ff001c999aff0043b334709574ffffc9cccc05ffffe8199aff001666
+68ffffe3e666ff000ccccc608b288b2dfb0a8bfb5a8bffffa2999aff00194ccdffff
+a91999ff002b1999ffffc74ccd08ffffdd999a3aa781ff001c199aff0042800005ff
+001be666ffffe53333ff00218000fffff04ccdff002580008bd88bf709d98bf77f8b
+ee73df5fc5fffffe199aff00028000fffffe3332ff00026668fffffe199aff000266
+64080efb9bb7d703b7ff0144b334158bffffd94ccc8fffff396666f764ffff653334
+95ff0001b3338c918eff0006e6676aff0020b332fb09ff0076999a8bff00e233348b
+ff00e23334f70aff00769998abaafffffc999aff0008ccccff0000cccc91fffff499
+9aff0000b334fb0bffffa84ccc2effff7066688bfb34080efb9bf746d703f792ff01
+44b334158bff0026b33287ff00c6b332fb64ff009accd081fffffe4ccc8a8588ffff
+f91998acffffdf4cccf709ffff894cd08bffff1dcccc8bffff1dccccfb0affff8966
+666b6cff00036666fffff73334ffffff333485ff000b6666ffffff4cccf70bff0057
+b334e8ff008f99998bff00a00001080efb6150ff00113333ff02e03334ff00113330
+01f700c803f7005015f7680691ff000533348bff0006cccc85ff00053334fb1eff00
+0980007eff000ce6668bff004acccc08ff021eb330078bff004accd099ff000ce664
+f71dff0008999c91ff000533308bff0006ccd085ff0005333008fb68060efb61ffff
+c5e666ff00113333ff02e0199cff0011333401f74fc803f78cff02c8666815fb6806
+85fffffacccc8bfffff9333491fffffaccccf71efffff6800098fffff333348bffff
+b5333008fffde14cd0078bffffb533347dfffff3199afb1dfffff7666685fffffacc
+cc8bfffff9333491fffffacccc08f768060efbbaffffb4b333ff0014999aff016f33
+34ff000ce666ff01710002ff0014999801f73aff024e4ccc15fffffb4ccdff004766
+68ff00243333ff00181998ff00328000ff0008999c91ff000533308bff000a333485
+ff00053334ffff9b80008bffffd04ccdffffdf4cccff00063333ffff9d199c0895ff
+ff61cccc05ff0002b33361ffffe34ccd5f53fffff2333208fffff3199a07c1fffff4
+ccccff001f4ccdffffd6cccefffffcb3335a0881ffff6dcccc0583ffff8bccceff00
+308000ffffe7ffffff006580008b91ff000533338bff000a333485ff000533335f8b
+ffffd4b333ff00226666ff00054ccdff00484ccd0895ff0088b33305ff00058000ff
+004ab332ffffe98000ff0022800051ff00158000bcff0012199aff001ee666ff001b
+b334fffffb199aff0049cccc080efbbaffffb3cccdff0014999af805ff000ce666ff
+016f3334ff0014999801f0ff0030800015ff0004b333ffffb8999affffdbcccdffff
+e7e666ffffcd8000fffff7666685fffffaccce8bfffff5cccc91fffffacccdff0064
+80008bff002fb333ff0020b333fffff9cccdff0062e6660881ff009e333405fffffd
+4ccdb5ff001cb333b7c3ff000dcccc08ff000ce6660755ff000b3334ffffe0b333ff
+00294cccff00034ccdbc0895ff009233340593ff00743334ffffcf8000ff0017e664
+ffff9a80008b85fffffaccd08bfffff5cccc91fffffaccccb78bff002b4ccdffffdd
+b334fffffab333ffffb7b3340881ffff77333205fffffa8000ffffb54cccff001680
+00ffffdd8000c5ffffea80005affffede666ffffe1199affffe46668ff0004e666ff
+ffb63332080efba59376f8c7ef01e8f103f7247e15a20abdf8f715a573a5736f73ff
+ffe51998ffffeae66873a06fa6a3a7a3a31e0efb217ea4f86077eeef12cbd7c4ef49
+aacbcc13f6f7dad515bc0a13fa6ef8a115f8bf0a0e79f72af78115a80af74816a80a
+0e79f7cef78115b50afb4816b50a0efb99f8417701b9f76403f70ff78115f8620a0e
+fb99f8417701b9f76403f745f78115f8630a0efb73f7b7b701b3f79603f7a3f7b715
+2a0a0efbb5fb71aff9077701f707d603f705f7c715860a0ea586a2f800a6f78da281
+a612e4d4f754d413dcf736f70415fffffe6666ff0026cccdffffffb334ff0090e667
+ff0000e666ff00564ccc08ff00c2333406ff000099982bffffff999affff754ccdff
+fffe999affffdcb333fffffcb334ffffad199afffffa4cccfffff8e666618785858b
+809185b38cff000f80008fff002380008bff002966668bff0017999a87b48a91918b
+968591084a8ffffffb4cccff0007199afffffcb334ff0052e666fffffe999aad8bff
+0088e666ff00008000ff0063199a08ff005ce6660695988f941f93078f888d861eff
+ff944ccc06ff00003334adff00003334ff001accccff00004cccff000c3334ff0000
+66669ffffffe999ab891ad98d4aa9ca08ba28b9e75947795769478a58b089e9a9a9f
+b45fac441f688b54756b560813ec7fa360ad3f8b718b7584777fffffdb199affffe9
+9998ffffecccccffffdb6668ffffe980005bfffff08000ffffdeccccfffff7e667ff
+ffbbb334ff00001999ffffd3800008ffffd3199a067a8681831f8807868c8a8f1eff
+003e4ccd06ff0000e667ffffbbb334ff0000999affff631999fffffe3333ffffd333
+33fffffcb333ffffad199afffffa4ccdfffff8e666588785858b809185b38cff0013
+199a8fff0025e6668bb28b9f87b48a91918b968591085f8fffffef4ccdff0007199a
+fffffcb333ff0052e66608f755f7bd15ffff3e4ccd06ff00003334ff000c4cccff00
+00333395ff00004ccdff0006b334ff0002b333ff0043e66691ff0022e666ff00054c
+cdff00133334a1dab89e998b958b95899a8198829276917d94779377a48b088e8b8b
+8c8d8c8467fffffb333464ff0000cccc77ff00006666fffff4ccccff00006666ffff
+ea8000ff00003334ffffe4b334080e7586a2f800a6f79aa601e8d0f76dd003f857f7
+041589bd8bf58dbdff0001999ab2ff00026666cb8b8b8b8f858d878b6e7f70856a8b
+08fb54ca068bff00498000ff000ab333ff00244cccff00104ccdff001a3334ff0019
+8000b4ff00196666a1ff0021199a8bad8baf76916593599b7ca98ba08b9e9f8ba08b
+a37ea763a5086f9d5f99678b5f8b557a645b635a7b4d8b3d08685e077a8681831f88
+07868c8a8f1eca068c598dfb3e8959fffffcb333ffffad199afffff84ccdfffff8e6
+66588785858b809185b38cff0011e6668fff0025199a8bff0029cccd8bff00183333
+87b48a8e8eff00018000ff00044ccd8bff00043333088bff00043333fffffe8000ff
+00044ccd888e4e8ffffffa4ccdff0007199afffffcb333ff0052e66689bd8cf73e8c
+bd08f74406a98b907e8d588d598b218959fffffcb334ffffad199afffff74cccffff
+f8e666578785858b809185b38cff001633348fff0027cccc8bff002966668bff0017
+999a87b48a0891918b968591518ffffff84cccff0007199afffffcb334ff0052e666
+080e7486a2f7fea8f79fa101ead0ff00d8b334cf03f80ef215893c82885188fffff9
+e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b4
+8aff0005e668ff0005e666ff0000333096fffff9e668ff0006199a518e828e89da08
+ffffff199aff00256666fffffe999aff005c66678bff00604ccd8bff006eccccff00
+018000ff00740002ff0000ccccff002b1998ff00013334c9ff0002cccca78b8b8b92
+878d828bffffedb334fffff86668ffffd54cccfffff73330ffffdbe666fffffae668
+ffffff6666ff00008000ffffff6668ff00008000ffffff4cccff0000800008729c72
+8e678bffffd1e6668bffffcd800074ffffe033345bffffe8b333ffffdcccccfffff3
+9999ffffcf3334ff0002199a4cff00008000fffff1b334ff00006666ffffe69998ff
+00003334ffffe0b33408ffffcde666067a8685831f8207868c8a8f1eff00434ccd06
+ff00008001ffff9cb334ffffff9999ffff78ccccfffffe999affffd68000fffffd66
+663cfffff7999a88588785858b809185b38c9c8fb08bb78ba687b48a91918b968591
+084a8ffffff8999a8efffffd6666dafffffeb333ff0027e666ffffff999aff008566
+66ff00006666ff0066b33408ff005a4ccd0694978a941f9a078f898d861effff97cc
+cd06ff00003334ff0026e666ff00008000ff001fccceff00008000ff00104cccff00
+01b333ff0032e668ff0003cccdff00253330ff0008199aff001ae668ff000f6666ff
+0032e668ff0019b333ff000e1998ff00144ccd8ba88b9977986a937a957e9f8b998b
+ff0014e666ff000db33490ff0010333408ff0002b33480ff000166667c8cffffeb19
+98ff0001ccccffffd9ccccff0000e668ffffa5e6688bffffa366668bffff989999ff
+fffe6666ffff953333fffffee666ffffd6199a080ef78a86a2f807a49877f78fa281
+a612e9d0f75ad6f74be946d613a680f963f7041589bd8bf58dbdff00019998b2ff00
+026668cb8b8b0813a7008f858d871e13cf006e7f708a6a8b08fb50d3068bba96ba9a
+a6a3b8b09e9f8bad8baf76916593599b7ca98ba08b9e9f8ba08ba37ea763a5086f9d
+5f99678b5f8b557a645bfffffd8000fffffce668fffffd8000fffffcccccfffffdb3
+34fffffccccc0813d680fffff36666a3ffffc64cccff00218000ffffb4999a8b718b
+7584777fffffdb199affffe99998ffffe64cccffffdde6687bffffcd8000fffff4b3
+34ffffdc6668fffff6b333ffffc27ffeffffff3333ffffd4199a0859067a8683831f
+8807868c8a8f1eff0043333306ff0000ffffffffc0199aff0000b333ffff594cccff
+fffe199affffd1999afffffcb333ffffad199afffff84ccdfffff8e666588785858b
+809185b38cff0013199a8fff0025e6668bff002333338bff000dcccd87b48a91918b
+968591085f8ffffff74ccdff0007199afffffcb333ff0052e666fffffe6666ff0027
+e666ffffff999aff0097e6668cff0055333408f75c068c598bfb458959fffffcb334
+ffffad199afffff84cccfffff8e666588785858b809185b38ca08fb28bff0029cccc
+8bff0018333487b48a91918b968591084e8ffffffa4cccff0007199afffffcb334ff
+0052e66689bd8bf7458cbd08f74006a98b90778d588d598b218959fffffcb334ffff
+ad199afffff74cccfffff8e666578785858b809185b38cff001633348fff0027cccc
+8bff002966688bff0017999887b48a0891918b96859108518ffffff84cccff000719
+9afffffcb334ff0052e66608fffdd36668f7c215ff0000333495ff00003333ff0008
+3334ff00003333ff0005ccccff0002b333ff0043e66693ff0022e666ff00054ccdff
+00133334a1dab89e998b958ba4899a8198829276917dff0008ccccffffec4ccc93ff
+ffec6668a3ffffff4ccc08fffff4ccceffffdd8000fffffb6666ffffd8cccc8bffff
+d3b334086d070e8481b665a2f800a6f794ac12ecd4f73ed058c713bcf7edf82d155f
+067e8785831f8407868c8a8f1ec3068b2c86fb228b4f8b47a270b78bb78bbba0b0b5
+8995fffffe80008dfffff980008d7278687c728b718bfffffc6666a8fffffd999ac6
+0889bd8ef70e8fe408ee0695988e941f94078f898d861efb078b05137a8ff72105ff
+0002ccccff0063e668ffffcd3334ff00301998278b448b2f5981fb3f8a7084626d8b
+087a8686831f84078b878bffffff199a8fffffffe66608b58a0597ffffffb3348dff
+fffc4ccc8b7f8b8b8cfb57894ffffffd333338fffff7cccd83518885858b809185b3
+8cff001933338fff0029cccd8bff002966668bff0017999a87b48a0891918b968591
+518efffff6cccd93fffffd3333de89c78bf7928dc7ff0004b333ff008de668ff003b
+4ccdff00251998aa8bcd8ba6608b48088b268c807d69080eeb81b660a19476f812a6
+7fa1f770a512b99e85cba6a9dfd161a0f716d05db9139490f80ef829157a07868c8a
+8f1ecc068b2c86fb228b4f8b47a270b78bb78bbba0b0b58995fffffe80008dfffff9
+80008d7278687c728b718bfffffc6668a8fffffd9998c60889bd8ef70e8fe408ee06
+95988e941f9407ff0004199a87ff0001e666861efb058b05134dc886e60586f352c8
+fb0b8bfb068b484b8b468bffffd3199a95ffffde3332ff00268000ffffddb33408ff
+fffb8000063f50ffffd74cccffffbdb3341f8b45ff00254ccd6fff0043b3336eff00
+4e4ccdffffde6666ff0015b333ffffea999a8b628b5c5a6d688b668b719b81950813
+26c074a17eb685a38591848a85858f5c8d648b63958d948c908b928b908b92890813
+4dc0950a1394a8ae8bbe7e973a9186948b91918ead8caa8caaffffefccccff0002b3
+34ffffeb999aff00056666ffffe8e666ff00044cccffffc5199aadffffec999aff00
+2a999a8bbb08c0c9bcdaecbb55366577564b1e888a8a881f0ef83ba1f7b915f86afc
+6af86af86afc6af86a0533fb97158b7c8e858f868f858e858b7e0874767d757a7196
+aec6c9d3f707f4ca4c311e8b485e53465fffffea3334fffff2199affffd6ccccffff
+e1e6668b43085f078484878384858f921eb9078bb68cc6ccc6b3b09fab8bbb08c662
+cb525462706e1eabfca815a5a1a1a6a6a17571707575707075a1a61e0ef84b89acf7
+66b5f7f6ff0014e66801f79dda15c2f725059098918fa38b08f7648bc8fb3d05ff00
+0ee668ffffd6cccdffffd6b330ff00039999ffffd06668fffffc999a85858b769185
+b08cc28cb28bb48baf8ab08a91918ba08591ffffd93334ff00038000ffffdf4ccc8b
+ffffed8000ff0033800008fb61f8b2058595899284ff000ce66856fffffe1998ffff
+b6199aff0000b334fffff6e666ff00014ccc8583fffffdb334ffffff1998fffff499
+98ffffe5333408ffff21b334fffdf7b33405ffffe5999affffc23333ffffe1e666ff
+fff9cccdffffd480008885858b769185b08c988cb28bb48bf7348ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08f700f76015ff
+ffe9cccc8bfffff8ccceff00028000ff00043332ff000acccc08ff00643334ff00fd
+b3348d8becfb9f05fb1df7f615bb8bfb86fcf3578b050ef84b89ac6cb7f7b4adf781
+b56bad12f5ff00574ccdff003fb333a5f76cdc69e8133680f728f9191513ae80598b
+6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b7691850813
+6680bc8ca98cbe8b0813ae80b68bf589e48bf75b8bc0ef8be18beb48c234a4088d07
+132f00ff00321998ff00196666ff002ce668ff00334cce8bff00364ccc8bce6ee2fb
+4e8b08688bfb1f89608b08f71bfbcd15d00613a680f71dc43e31426f4efb2c457ead
+ac1ff86c04132f00ac8b95e2c3d46d2536506d381e410613760070f781158cfcc305
+4f8cbc8bffffcb4ccd8a08ff00008000f8c3050ef84b89ad6bb5f8c7b36bad12f5dc
+cea9f7d0eb136ef792b51548068bff001566668cff01a5999affffffcccdf70c08ff
+00403333068c258bfbcd8cfb280851f8ef15139e608b348b5c8d85858b769185d188
+9c868b3808fc25078b387a86458885858b76918508134ebc8cd48cbe8b08139eb08b
+d189f28b08f721f72dcbf78af74efb0cf72dfb541f4b8b3689648b08e3fcc615f875
+07ae9c99bcf76cadfb43fb2efb5e3759fb2129929eab1e0ef84b89ac6cb2f7b0b1f7
+88b36cac12ecdcc9a7f74aacb2ac9bae1337c0f7fbf7fd1530f75c06a3979fa31ef4
+06d68b9b63a146ff000c6668fffffe3334ff000accccff00021998ff0009ccccff00
+04b33486b47ceb89938b8d8a8c888b7a88838a738b08fb850613afc0ffffa2cccd8b
+ffffaa33338c598c85858b769185d1889c868b3808fc25078b387a86458885858b76
+9185081367c0bc8cff00616666ff0000999aff005d999aff00006666ff004a8000ff
+00004ccdff00748000ffffffb3338b8b0813a7c0bbdb898b1f99bd9acd93befffff5
+9998ff0005e666fffff48000ff00024ccdfffff2e668fffffccccd081377c0774368
+503f8b08fb1c06757d9ba61ff785e607e08b8e748e5e9185a08b91918aae8a9e8bad
+8bad8ca18ca98591768b8585088854887e368b08fb0bf75d158b87ffffff199afffe
+f78000ff0000e666ffff588000ff0000199affffe2e666ffffffe666ffffde199a8c
+7608ffffc14ccd06ffffffb334da8bffffedb3338bff00164ccd08f82c078bff0015
+66688bffffba9998ffffffcccdf70c08ff003e3333060ef84b89ac6cb5f7adb1f788
+b36cac12ecdbcaa8f74cacb0aa137780f784f8c615fc4807ff0000199affffe2e666
+ffffffe666ffffde199a8c7608ffffc04ccd06ffffffb334da8bffffedb3338bff00
+164ccd08f82c078bff001566688bffffba9998ffffffcccdf70c08ff003f333306f7
+0efbae15e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca98591768b8585
+8854887e368b082ef76606a39795a31ef406d68b9b63a14608aa9005fffffaccccb4
+fffff0e668ff00606668fffffe9998ff00079998ffffff999cff00024cccfffffecc
+ccff0000b334fffffd99988bffffee8000fffffc9998fffffa3334ffffff6668ffff
+e84ccc8b8b8bffff4be668ffffff8000ffff8cccccff000080000813af80ffffbb66
+66ff00004cccffffc6999aff0000b334598c85858b769185d1889c868b3808fc2507
+8b387a86458885858b76918508136780bc8ca98cbe8b0813b780bd8bf7088abd8a91
+918ba08591458e7a908bde08f75d070ef84b81aff789aff7ceb012abe6d6abf7cae0
+61ad13f8f75aff0078199a15ffffcf199aff003a999bffffe5e666ff005019998bff
+004433348bff005a999aff001d199aff004d999aff002de666ff0032cccc08abfffe
+35199a15ff01e8ccce07ff0025cccca9ff002d999aff000f1998ff0031999a8b0813
+faf7258bbc39a53508ad910582b585b384d34f8b67b8fb0e8b08fb40fb41fb17fb70
+fb41f71ffb24f75d1ff70a8bdeaecfc50813fc809486938b9608f704078bff002333
+349cff0009cccca88e91918ba385916d8a788a638b648b658c5c8c85858b739185ff
+0036e668fffffbccccff001b1998fffffc4cce8bffffd7e66608fb2907696b527b55
+8bffffbce6668bffffc8ccceff0017199affffd54cccb1080ef84b89acf8dbac01f5
+dbcda803f7adf70e15f825078bde9c90d18e91918ba0859108fb358905598b338c59
+8c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc8ce48cbe
+8b08f734890591918ba08591458e7a908bde086df87a15f8ce0a0ef84bfb40b8f96d
+b66cac12f721ff004c4ccdff003f6667ff00204ccc13b8f7cdf89f158bde9c90c78e
+91918ba085910813d85a8a4c8a5c8b0813b8558b388c598c85858b769185db889c86
+8b3808fc4e07fb48576f6a1e7d8bfffff24ccd93fffff8b33395fffff64ccdff000d
+3333fffffbb333ff0014cccd6c8b087d6d767567c079a11ff7018bd09fa5a2b6ff00
+26199ac6ff0032e6668bf72308ffffa04ccd921513d88af880ff00404ccd8b05ffff
+ffcccc25fffffd8000fffefde666ff0002ccceffff726667fffff54cccffff69b333
+4655ffffc0b333ffffe84ccdff00364ccdff001cb333ff00194ccdda8bf716080ef8
+4b89acff0115e666ff00266666ff010ab334ac01f5dbcda803f7adf70e15ff00bae6
+6607ff0021999a8aff001a6666fffff4ccce9fffffe64ccc08f737fb5a05ff0013e6
+68ffffe7ccccff00001998ffffe566678bffffedcccd8b888c888f8b9f8c9c8ca98b
+b28b9a8aba8a91918ba08591ffffee1998ff0002999affffdb8000fffffdccccffff
+de6668ff0029999a08fb6ff79805829588928b938b92ff00044cccff0006b334ff00
+20b334ff00234ccc08f720f72b05b9bcb78db39091918ba085915c8a838a638b638b
+718c5c8c85858b769185ff00241998fffffc9998b3ff0004ccd0ffffcfe668ffffca
+999808fb3cfb4405ffffebe66676ffffeb199afffff14ccc688808ff00afb334078b
+de9c90d18e91918ba085915a8afb0c8a588b598b6e8c598c85858b769185d1889c86
+8b3808fc25078b387a86458885858b769185bc8ca98cbe8bbd8bf70b8abd8a91918b
+a08591458e7a908bde086df87a158cfcd0498bff0000cccdf8d0050ef84b89acf8db
+ac01f3ddcda6f7afac03f72716ff012eb33406ff001b4ccce7898b1f95bd95cc91bf
+fffff63334ff0004b333fffff53334ff0002199afffff39998fffffe333377437050
+3f8b08fb05066e799eaa1ff846078bde9c90d18e91918ba085915a8afb0c8a588b59
+8b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185bc
+8cdc8c8b8b08f3f8f415f8ce0a0ef84b89acf8dbac01ff031db334f70815903affff
+fc4ccc8a4a8885858b769185ba8ca98ca98ba98bff002dcccc8aff002133348a9191
+8ba08591478e88ff00043333fffffa1998ff0052cccd08ffffe23334f83905fffffc
+3334c1ff0004800099cf8f91918ba0859108fb1789fb68fc8f0587818887898b888b
+8a8f879408fb61f890fbac8d0585858b769185d0879189844008ffffd7e666fc3005
+fffffa199affffc4199a7fffffe6e666528685858b769185a98cec8ca38ba38bf706
+8aa98a919187a085914990fffffab334ff001eb333ff00054cccff00384ccd08b1f8
+258d8bf763fc9b05ff0002ccccfffff8e666ff00063334fffffc199a918b918b8f8e
+8f9308f775f8a58d8b05fcbedb15cf8b51fcdb478b050ef84b81adf8ecad01b0ebd4
+aaf7e1eb03f92ef7dd15f75afb27f717fb43fb47fb14fb2cfb58fb59f721fb0ff740
+f753f711f71ff75c1efc60ffff18b33315ffffd5b333ff00339999ffffe14ccdff00
+544ccd8bff005d66668bff006d999aff00203333ff00513332ff0028cccdff002fb3
+3408aafc8015ff0206999807ff001de666ff0015ccd0acff000a1998ff001f199a8b
+08f71cf221fb64fb473520fb061fffffd0e6668bffffd16666ff0011199affffd8b3
+34ff00206666080ef84b89ff00214cccff0101b334aff7b5ac01dcd6caa9f76ce703
+f83af7c115ff0047b334ff0014e666ff003f4cccff0034199a8bf48bbd7ab467ad5b
+b84d8f4c8b728b4dfffff5e66865ff00021998598b448c598c85858b769185089bff
+ffffe66805ff001e199affffffccccffffffe666ffffca66648bffffe1e66808fc2b
+07fffffe8000ffffc76666fffff28000ffffe6800076fffff74ccdfffff8199affff
+fd8000fffff69999ff00028000fffff4cccdffffff199afffffa8000fffff9b3338b
+769185bc8ca98cbe8bbd8be48abd8a91918ba0859108458e7a908bde08f73b07ff00
+054ccdffffffe666ff0004ffffffffff8000ff0004b334ff00006666ff0049e666ff
+ffff4cceff0024199afffffee666bb990831f7d115c8d375fb0afb11446f2a1f5bf7
+7906a897aed21efb058715ff0000199affffe2e668fffffee666fffdeb19988c76ff
+ffe5199aff0004999aff001ae666fffffb66664c8c8bff001566668bff01b8999aff
+ffffcccdf70c080ef84b81aff8eaad12a6ff00208000fffff78000ff00476666ff00
+46999aff001fb333ff00254ccdff001dccccff00443334df4bff0020800013dcf755
+ff0197800015ffffde199aa2ffffdb4cccff0026199a8bff002b66668bff00326668
+ff000c999aff00299998c5ff0012999808ff0062ccccfffdb34cd015ffffffe668ff
+0031199affffffe666ff007966668bff0040ccce0813ceb0ffffe97fffff001f6666
+ffffdc199a8bffffc233338bffffc5b333ffffe6999a63ffffd53332ffffef333308
+ffffe23334fffffa800015fffff64ccdfffffe6667fffff9b333ffffff3333808b08
+13eeffffa2999a8bffffc3e666ff002a800075ff00638000fffff3b3338ffffff566
+67fffffe199afffff66666fffffae6668f3e8f71975aca8bff001be66674ff0058b3
+348bff0078cccc8bff0060999ae78bf18bff005f33344abbffffb7e666ff001ecccc
+087694ffffe6199aff0008999affffdcb3339d08ff00004ccdff00e666660513ddd2
+8aff0040199affffc2ccccff0013e666ffffbe3334ff000b8000ff0000333497ffff
+fecccc9492fffffc8000bb87a7fffff5999ac0ffffc6333293ff000233349effff9e
+66668bffffa4999a8b28488b218bffffa2e666ff0042e666ffffcfccceff004d8000
+ffffde4ccc08a0fffff6e666ff00153334fffff7ccceff00186666fffff4e666080e
+f84b8baff876f72057b21292ad7faaf761ff00514cccff003fb334aaf750a976ad13
+8600f82df8ef158cfccb054f8cbc8bffffcb4ccc8a8bff00156666ff0000b334ff01
+a9999affffffccccf70c08ff005e3334fc7515f83a0713a680ad9fa7af1ec906c28b
+927b9c3e0813c680ff000b4cccff00004cccff000b4cccffffff199cff000b6668ff
+000599980813cf0083be86b38bbc81ffffffe66881ffffff199881880813ae00858a
+88761efca206768b8e911f13ce00fffff83333ff0002ccccfffff86667ff0002cccc
+fffff06666fffffe66680813d680875a85657f56ff0009e666fffffbe668ff000b99
+9afffffee664ff000c8000ff000033340813a6809fdb9898c28b08da06b09f6f6c1f
+fc3d078b387a863b8885858b769185bc8ce48cc28bc18bd48abd8a91918ba085913b
+8e7a908bde080ef84b80b5f8cdb86cac12e2ff004fb333ff003f4ccdabf7f6bc13bc
+f79af89f158bde9a90d88e91918ba085910813dc5a8afb0f8a568b0813bc5d8b748c
+598c85858b769185c7889c868b3808fbb3078bfb60f70861f74f8af77f89b3f7168b
+f74608f778078bde9c8cc79291918ba085910813dc5a8a7e8a638b0813bc5e8b768c
+598c85858b769185d6849c8a8b3808fb8a07fb047cfb1afb3d1e5b8bffffd7199aff
+0015199affffe1e666ff001ce6665aba89d78bcc086b82158bfb16a64bff0053b334
+ffffdf4cccffffc54cccff0008b334fb07b6ffffffb333ff00a54ccd0813dcffffff
+b333ff008db333ff0000999af5ffffffcccdf18b8bfffff533338cd68a080ef84b94
+76f906ac01f8b8f8fa15d586ff00006668ffffe56668ffffea9998ffffc9999808ff
+ff62199afc25fffffb66668bffff60e666f82b05ffffe8ccceff003b8000ff0005cc
+ccff000d8000cf9291918ba085915c8a428a648b638b3c8c5c8c85858c769185c486
+ff0003e6667eff001c999a4208ff00c08000fc8005ff00154cccffffca199aff0002
+b334ff000ce666c189c58dfffff9e666fffff9199aff0016199aff0033e66608ff00
+ceb334f87a059fbaff000c4cccb1cd9391918ba08591638a728a748b748b648c5c8c
+85858b76918508fc208715ca8bf762fc9b73490564e5ffff35cccdff01ecb334ffff
+fc3333ff00024ccc080ef84b9476f906ac01fa22f8c915fb33fc5c898bfb24f85105
+ffffee9998ff0035e668ff00236668ff00031998ad8e91918ba085915c8a688a638b
+648b768c638c85858b769185c088ff00199998ffffe0e668ff00086668ffffe61998
+089a5d05ff0003e6687fff00011998848b828b7efffffdccccfffff3b334fffffb33
+34fffff34ccc08fb0dfbd7898bfb2ff859057faea690ae8d91918ba085916a8afb1c
+8a648b638b7e8c638c85858b769185b88896fffffeb3349dffffca4ccc08f74afcb4
+05907b8a83ec8bdd8b6995909908f71ff7fa058f979098908b8f8bff00056668ffff
+f1ccccff00049998fffff2333408f709fbf705917a9784988b998b9393909a08f759
+f8b20597aebca2c28e91918ba08591668a558a718b718b5f8c638c85858b769185b4
+88ff0027e668fffffcb334fffff11998ffffd54ccc08fd86b615ca068b8bf704fbfc
+cafb34086e410564e5ffff59cccdff01f5b334fffffc3333ff00024ccc080ef84b89
+a870b2f8ccb170a812139098f905158b87ff0006199afffffeb334ff0009e666ffff
+fe4cccff0011800088ff001f3333fffff88000ff00284ccdffffc5800008f738fb82
+05948090828b818b858782858308fb31fb2e05ffffe56666ffffe5e666ffffe1999a
+ffffd0199a518885ffffffb33386fffffe4ccd8b860813408b770513808c89051340
+a98ca38ca98b081380f704890513408e8d8b9f0513808b8effffff199aff00038000
+fffffae666ff0000800008788d05ffffd8e666ff0004199aff00033334ff00178000
+ff0014e666ff0014666608f72cf72805919391918e8b8f8b8f88918308f704fb2f05
+ff0018b334ffffddccccff00026666fffffa3334ffffd7e666870877890587ffffff
+999a89fffffd66668b870813408b770513808e89051340ba8cc28ca28b081380a28b
+f7468ab38a0813408d8d8b9f0513908b8e89ff0003b33386ff00004ccdffffd38000
+8effffdd8000ac70b208fb45f78605819885958b958b94ff0004199aff0008e666ff
+0008e666ff000c199a08f72ef72505ff0020ccccff001ee668ff0010b334ff002119
+98ff003c80008d93ff00004ccc8cff0003b3348b8e0813208b9f051310888d051320
+638a698a748b081310748b678c638c08132089898b770513108b868efffffe4ccc8f
+ffffffb33408a98905ff001d666889ffffff8000ffffeb9998ffffe91998ffffea66
+6808fb2cfb230585838787888b888b878f8692082bf72405ffffed8000ff001bb334
+82ff000e4cccff002080008d08ab8d05ff0002b334ff00003334ff00024cccff0001
+cccc8b90089e078a8a8e8b1f13205c8afb4f8a738b081390738b648c638c08888805
+1360f73c6615da8bf827fccc3c8b050ef84b89acf8d3b26cac12f790ecbbac13b8f8
+42f70e15ff0091b334078bff0027ccccfffffd4ccc81ff00143334ff0024800008ff
+007fb334f77b05a7ff0032b334ff000e199885ff002cb334ff00044ccc91918b9f85
+910813d86d8a6d8b748b748b6f8b638c0813b885858b779185ff002c4ccc88a4ff00
+071998ffffe9b334ffffd5e66808fb0bfb7405827a878efffff733349b08ffff81cc
+ccf77205ffffe7cccdff002a9998ff000e3333fffff86668c38e91918ba085910813
+d8fb37890513b8648b3e8c6d8c85858c769185b588ff000b199aff00046668ff0028
+9999ffffbb999808ff00834ccdfb7105ff00118000ffffe28000ff00038000ffffff
+80008b6608fb1d078b387a863b8885858b769185bc8cee8cc28b08f73e890591918a
+a08591083b8e7a908bde0813d8fbaef87815cb8bf74dfbca8bfb9e5b8c8bf78c050e
+8b14f8c5157f97f82da2a797f71495ae98a99506fb8a95077f97f82da2a797f71495
+ae98a99508fb8a95091e0a039625ff0c09910c0aa80aa2910c0cd10bd1950c0d1c00
+461302a60200010032004c00630075008800d300e5014e016201a801be01ec020f02
+4d026e0282029902cc02eb03280425048704c60521053f0551057f059b05b605d905
+f50634068f06aa06bf06f20727072e076307c307eb08b008e709600970099909b809
+d30a4e0a790ac90af20af80b030b300b3b0b4e0bb10bbc0c9d0d290e3d0f190f940f
+a20fd10fea111a11e51204127912df13021401146d149a154016151762196e1aa21a
+f61b011b151b6a1b7d1ba51be71c561c7d1cc81d471d8f1dcc1e661e831ed61ee91e
+f72017203220fc21ce2393248125cd264a26dc279727c027d527f9289028a6298b29
+a029b429d42a0a2a3b2a722ab62bba2c742d602e282ef72f0a2f7d2ff43025303730
+593079308f3101318a319c31ae31b531fe32143240329b32ca33123324336133d734
+60346c34d034dc34f235073533359335ce3627362f364f366a367d368f36f2375537
+67378f379a384b385938ab38b338df390639ea3a213a2e3a4c3aae3ae93b423b673b
+a23c223ccb3d023d223e333e793eb83eca3fdb40164032405a40a340f8410b411e41
+30415d41e941f1420b4220428d42dc42e542fa4308434f436343e2449c44ab44c744
+f144fd459145a445e7462046464725474a4760477f47a147b347cd47f14815483948
+8348d44a284a484a5b4ae54aff4b654ba14baf4bb74bdb4be14bee4c024c284c614c
+8b4cd74da94e184e264f154f5f4fc14ff95038504a50a55116518c51a051d852a152
+cd52d352de52f95370538d53a653b353dd53f1549554ea561f565756755691576857
+97580858355854586958a958fe591959eb5a085a5b5a6f5a855aac5aba5ada5b655c
+405ceb5d345d7f5dcf5e265e455e675e875eea5fea601760a960c36136618e61c761
+e3626362ca62dd630c632e63f9641d64656486649c64d6650265356568658965b965
+ff661f664b666566b166fd67296755676767ab67cc67de67f368116827683d686068
+8168b768e168fa69356947699469c469f36a686b9c6bc36c0b6c366c546c946cd36d
+016d216d296d786dc16dd66de96dfa6e426e6d6e7f6e9f6eb86ed56f036f296f566f
+826fbc70087043709a70d470ef7161720072447283729c72b4732474f27534762476
+6376a576c477077724773a7772779877af77b877da788f78c9790c7928796979857b
+0b7b4a7b8f7b9d7bc77bd67d437df47e077e7a7ec97ee07f067f1e7f5c800e80c080
+d380f08126816181b381d581f4823c825f829182de836b839983e684268461847384
+9584b1850785258537854a859785ff861b863c86b386f18711873b87578782879e87
+c287ef881588638880889888dd8905893d894d8985899589a689ba89c889f28a1f8a
+448a518a5f8a728a8c8aa48ac18ad08ae98b0d8b6a8be48c268c868cb48cbe8d138d
+688d7c8e8b8f2d8f478fc38fd69027922e927392b792fc939593b793dc9408942c94
+44946f949a94a894b094be94c994f6951e9528954495539580958e95da9670968096
+8c969496ce9713973d976797dc9803980b982c987f989a98e2992a99449956999999
+db9a009a1a9ac69ae19ba99bef9c359c839cc99d1f9d319d629d939da49df49e069e
+1a9e2d9e459e769eda9f239f3f9f669f869f989fb49fc89feaa005a01da044a066a0
+88a095a0b7a0c9a0dba0e5a101a143a17fa1ada1c7a1e6a208a234a28fa2bea2eaa3
+15a32da34ca36ba403a42ca466a483a4a0a4bda4daa4fca514a52da579a593a5a1a5
+bba614a663a6a0a830a8bba927aa2baac9ab67abd7ac3dac9bacc9ad67ad7fae0aae
+2cae6faeb2aee7af2daf7cafbfb011b02bb045b05fb071b083b095b0a7b0b9b0e1b1
+0cb11eb13fb15ab16bb193b1a6b1edb226b233b252b2b3b2f2b304b318b345b34bb3
+73b38e746f78551f8b4598689433933d91318d768c858d84958b958b8d948c968d99
+8cc797f70095e198b58bcc08c16f9e741e0b71a371a3a7a3ff001ae666ff0015199a
+a376a770736f73731e0ba68f058bacf7399b9b829c716d766f7582a5fb338b1f0bc5
+b4e7bc99af7a5753622a5478729fbf1e0b56ab52c8deb7f702ced45d9d63414f3f39
+1e0b648b7d9555a481976e986f8b08434effffb9199affffa7e66658a951c9dfb7f7
+05cb1f8b948a9489929e80b181a28bae8bb48fb19a08fbfbfc88a47cf82ef8cf749b
+0562554181618b080bc5b4e7bc9dac785951612c5479719fbf1e0b6a6658838b608b
+7c977e9c8bb18b92c6a4b8a464924ab28b998b9a968b9d8bb35a9569b0089d8e9d8c
+9e8b08adae92a995849f701f6a8b7b6b5d778da99cb38ba608a37c9679797f79761e
+8b719e708f645f9d79ac698b0873827b7d6dab84bc1f9a8b998a9888080bf7455dfb
+45fb415ff741fb44b9f744f744b7070b7071766f1f8bffffe08000a5fffff980009d
+889e899c828b748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4
+b78bd108c4ffffdfb333b5ffffe14ccd1e0b9899a19795878b811ffb6f067f7e7a79
+81918c941f0b9c8b9b859780aa71ac358bfb1a8b2f88427d5875395482798b08ffff
+aae666ffffe8199af749e2f78acec3b81f0bd8f709d9f77f1f8bee73df5fc56cb46c
+a44f8b08282dfb0afb5afb36d7fb22f7051f0b769e80a09ca49a9e1e8b9389908992
+899285948b9308a4a0b9d4afc8682b1e8b4b7e57504f0841420529277b5b8b50088b
+b48dab1ef74306abb9898b1f0b98c095d68ca98590888d81897a447a68678b08fb50
+068bbbd0d9909008f0ec050bc4c2b6b78bd708f70029b73a1efb0350394f1f0bb7b9
+694d1f8b5a4b34317d089075059c8d988b988b080bc4d679fb05fb192c62681f588b
+82ac7f9d81997e97778b087676787b63df70c7f70bf5dcf7181f8bf7013eb4509508
+8a8d050beac790b98bad08b565cb25fb27612b6a7d9577a3a895ac9e1ecbd0a1a51e
+0bffff2e999a06ff00334ccdff00523334ff0057b333ff00809998d0ff005e3334ff
+00014cccffffdfccccff00008000ffff663334ffffff999afb0b080bffffab999a06
+ffffff999af70aff00008000ff0097e666ff00014cccff0020199a8dbdfffffe4ccc
+ff00273334ff0001b334ff0007cccc08898d728b05848bfffffab334fffff98000ff
+fffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000fb238e7c
+9170a98b08ff00cd333406ffffffcccc5affffff999affffd96666ffffff6666ffff
+f1999afffffe33345dffffdbcccc88608885858b809185ab8cb38fb98bff00276666
+8bff001e999a87ab8a91918b968591085a8fffffece6668cfffffe199abaffffff66
+66ff000e6666ffffff999aff0026b334ffffffccccff0030e66608ff004633340699
+9a9497958791801f0b2c533b4f1e658b7ea87c9f7e9c7a9a768b087878807762e069
+c4f710e3e7f712ec48e2fb041f608b5c827984089ff74505b087b586bb8ba98bad8d
+b48f089bc5848f0552855586568b668b678d688e0869fbaa05c09fb18faf8b08ccc4
+56fb011f0bff0025b334ff0020b334ff00284cccff0001e666ff0014199a8b08eda4
+fb0459fb025c505a4c44b7f73f1f8bff00176666ff00028000a7ff00066666a9080b
+ff001a4ccde7ff003f9999ff00676668ff0087199aff003299988b978d948390266d
+4d61534a4d436c308b3c08fb5ff70f63d8f717c0f713e1e160ddfb1c1effffe0999a
+8bffffcdb333fffff46666ffffe1b333ffffec999a080bf75e063dfb5632fb6147fb
+2c089384c78e05c4f73ec7f73af704f7a5080b7a867585658b08fb6206698b8d9579
+8f080b888a8b881f8a5b804f8357ff000ae666fffffce666ff0000199afffffeccce
+96ff00014ccc08a1dbac9cab8b080bccaa565d1f8b554b5d7077086c9e054cb481ad
+8baa08b9b2bbc71e0bd354c02925484e3e1e8b53aa62c865089d8005727871787275
+080b62677a5e8b640825d354f5f717c9ecd71e8bc56fbb57ad084eb305b7a9d3bc8b
+cb080b5e41b5e51f8ba9a1d1e1c408ba6f05c965a75c8b5b08273a6f5e1e0bffffda
+4cccffffdf4cccffffd7b334fffffe199affffebe6668b082972f704bdf702bac6bc
+cad25ffb3f1f8bffffe8999afffffd80006ffffff9999a6d080bffffe5b3342fffff
+c06666ffff98999affff78e666ffffcd66668b7f89829386f0a9c9b5c3ccc9d3aae6
+8bda08f75ffb0fb33efb1756fb133535b639f71c1eff001f66668bff00324cceff00
+0b999aff001e4cccff00136666080b71a371a3a7a3ff001ae666ff0015199aa376a7
+701e736f73731f0b7071766f1f8bffffe08000a5fffff980009d88080b9e899c828b
+748b76675b577e8bfffff9b3338dfffff9999a90fffffab333c796c4b78bd108c4ff
+ffdfb333b5ffffe14ccd1e0bf7d1f7070598998ca97d9108fc1afb2105fffff6b333
+ffffeeb3338b7bff00094ccdfffff14ccd08f81afb220599918aa97e99080bfc1f5a
+f81f060bfbd1fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8b9bff
+fff6b334ff000eb33308fc1af722057d858c6d987d080ba9b1abc1c1b34a4a1e8b5c
+796e65664d5087508b60085d078492889393938e921eb7078ba38ca397a4949c9e9b
+a19cb8adc6b78bda8be64cc72a8b588b637d6f726e73786f8b650868a3839a9d9e97
+a21e8b98899187900887908a918b9a080b758bfffff8999aff0008199aff00043333
+ff000a333208ff00693333ff0102b3348e8bebfba9050bc7f72f0590989194a38b08
+ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff00006666ffffd066
+66fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd933
+34ff00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfc
+b605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185
+b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff
+0006b333ff00103333ff0029b333080bff00003333ff0048e666ff0000b333ff004f
+0002ff0001199aff00461998ff00008000acff0000800095e28b08c3d76025364d68
+381f0bffffcdb3338bffffe44ccd8f598c85858b809185d188ff000fb333fffffab3
+34ff00014ccdffffad4cccff00014ccd38ff0000b3335a8b388b38ffffffb3335dff
+fffe4ccd38fffffe4ccdffffac4ccdfffff0b333fffffbb33345880885858b809185
+bc8cff001d4ccd8fff0032b3338bb68b9986e48b080bf75bbdf2e11f8beb4bc234a4
+088d070bff0032199aff00196666ff0029e666ff00334cce8bff00364ccc8bce71e5
+fb4e8b688b5c86608b080bfffffe4ccddeffffffb333ff00464ccd8bff0052ffff08
+ff000fb334d3070bf71dc73931426c41fb2c1f458bfffff2b333adffffff4ccdac08
+0bec8beeb9cfe486948491808b443d476c2e8b08fb2f3df731f726ff00a3e666ff00
+68e666ff0085199aff007d199a1ff71e8bc62fa535ff00093334ffffff3334ff0006
+99988cff00073334ff0004cccc86bf84bb81c258905eb3fb0f8b08fb5afb13ffff65
+6666ffff43999affff4f3333eeffff6bcccdf76b1f0b88dd8ab98bde8bde8dbc8ddf
+8dc989a7e78b08f76cdafb50fb2efb5efb154cfb211ffb008b84a789c9080b598b6f
+8f598c85858b809185d18899868d388d388d5a8b388b38895d893889387d86458808
+85858b809185bc8ca98fbe8baf8bbe86f28b08f721f750cef78af74efb2ff730fb54
+1f478b4786658b080bfb098a058b8b8af71c8edd8ca3979fa38b08f73006d68b9a56
+a14697898d8d959086b47cee8993080b8d8a8c881e0b7a888287738b08fbb8060b6d
+8b598f598c85858b809185d18898868e388d398b598b388b388b5c893988387e8645
+880885858b809185080bbc8cc08fa98b08f772060bbbdb868b1f99bd99d093be8191
+8a8d7e88080b774367433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05
+e0ffffff4ccc8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e8000
+8bff0021999a8eff001666668ca98591818b858508885487fffff4b33436ffffff4c
+cc080b7a888287738b08fb9a060b89df8abc8bdb9690e78dc78bc78bf7058a97858a
+468c46894089387b86458885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b96
+8591458e7b9089de89dd8bb98bde8bde8bbc8ddf088dde9b90d18e91918b9685915a
+8a6d87588b598b6e8f598c85858b809185d1889b868d38088d458b618b4d8485fb09
+8a4f8b4f8b2a8d84908bca8cb48dd18dde9990d18e91918b968591085a8a6d87588b
+598b708f598c85858b809185d18899868d388d388d5a8b388b38895d89380889387d
+86458885858b809185bc8ca88fbe8bbd8ba787bd8a91918b968591458e7d9089de08
+0b89ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d088585
+8b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff0800086
+458885858b80918508b28dc88ea98ba98bc589b48891918b968591458efffff18000
+9089de080bfffffe8000ffffb28000ffffd14ccdffffd98000ffffe933338b7d8bff
+fff74ccdff0007e666fffff7e66696fffff54ccdff000e8000fffffb6666ff0016e6
+67ffffdde6678b08fffff09999ffffe36667fffff3e666ffffe7cccdffffd86666ff
+0035cccdffffed4ccdff001833321fff003180018bff001db333ff000b4ccdb4aeff
+0021b333ff001ccccdbbff0030b333fffffe999ad5ffffff3333ff002c8000ffffff
+8000ff00c0e6668bff0037199a8bdeff00008000bcff00028000dfff00028000deff
+000e800090d18e91918b968591085a8affffe1b33387ffffcd4ccd8bffffcdb3338b
+ffffe34ccd8f598c85858b809185d1889a868d388d388c5a8b388b38fffffe999afb
+3ffffffe666638080b89db8ab98bdaae8aae7ba07108f731fb5a059f71996d8d7b8b
+888c888f8b9f8c898fa98bb28ba487ba8a91918b968591798e5d9569b508fb6ff798
+05839486938b938b928c92adae08f727f72b05b9bcbd9ab39091918b9685915c8a79
+87638b638b6c8f5c8c85858b809185af88b67a625e08fb34fb440576746a7966888b
+d18cbb8dd78dde9a90d18e91918b9685915a8a6c87588b598b6f8f598c0885858b80
+9185d18899868d388d388d5a8b388b38895d893889387d86458885858b80918508bc
+8ca98fbe8bbd8ba887bd8a91918b968591458e7c9089de080bfffffeb333ff005280
+00fffffe4ccdff002d80008bde8bdeff00008000bcff00028000dfff00028000deff
+000e800090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb3338bff
+ffe34ccd8f598c0885858b809185d1889a868d388d388c5a8b388b388a5d89388938
+7c86458885858b809185080bbc8cbe8fa98b08ff00d4b334060bff001b4ccce7868b
+1f95bd95c591bffffff63334ff0004b333ffffff3332ff0002199afffff3999affff
+fe3333080b77436650218b084206ffffcc80008b86bcffffff8000aa080b903affff
+fc4ccc8a4a8885858b809185ba8cad8fa58bff001c80008bff00344ccc87ff002133
+348a91918b968591478efffffce668ff00043333fffffa3330ff0052cccd08ffffdf
+3334f84605fffffbe668c1ff0004cccca6cf8f91918b96859108fb1886fb68fc8f05
+fffffa4cccfffff26666ffffff3334ff0000999afffffc80008bfffffb80008bffff
+ff80008e879408fb61f890fb1a900585858b809185d087ff0006cccdfffff0e668ff
+fff83333ffffb5199808ffffd3e666fc3d05fffffa199affffc4199a7fffffe6e666
+528685858b809185a98cad8fa38ba38bab87a98a91918b9685914990fffffa999aff
+001eb333ff00056666ff00384ccd08b1f8328d8bf763fc9b05ff0002ccccfffff8e6
+66ff00063334fffffc199a918b918b8f8e8f9308f775f8a58d8b050b8cfbef05ff00
+00199878fffffae66880848b838b809d6eb008fbebf84efb158d0585858b809185bb
+88a46b9664088afc42058b327a85458485858b809185bc8cff0010cccd8fff002a33
+338bff0029cccd8bff000f333387bd8a91918b96859145927a8f8be6088af7d305ff
+ffffe666adff0005199a9a938b918b96809c7508f7f1fc4d05967c98829b8b089989
+979e1f8cf88c058be49c91d19291918b9685915a8affffef333487ffffd5cccc8bff
+ffd633348bfffff0cccc8f598c85858b809185d1849c878b30080bf718f702fb0efb
+5efb4732fb09fb06fb0efb0af70df754f766f702ece61f0bf763fb20f70efb471eff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffffd41999ffffc3b3
+34ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecccc8bff
+00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff00484c
+cd8bdf080ba184a889ad8b08f74abff706e0c666f702fb4d1f718b4581638b598b6f
+8f598c85858b809185d1889a868c388c388c5a8b388b388b5d89380889377d874588
+85858b809185bc8ca98fbe8bc38baf87bd8a91918b968591468f6a908ac5088ad68a
+cb8bd3080b8ca89b9ed38b08d0d267fb13fb00545a2a1f738b618d7e8e0890078bde
+8ceb8cde080bf763fb20f70efb471effff9cb3338bffffac6667ffffd13334ffffc9
+3333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffffa8cccc8b
+ffff45b333ff007d199affff87e667ff009d6666fffff38000ffffb2b333ffffddcc
+ccffffb93333ffffc56667ffffdc999affffccb33308b277059fb9b1989a8be88bca
+2cf7168bca8bb5a5b2c3087a97057570677c6e8b338b3addfb028b858bfffff44ccc
+ffffff8000fffff8ccce8aff00324cccff0024e666ff0035ccceff0018e667ff0021
+6666ff0009cccdff00524cccff000e3333ff0041e666ff002b4ccdff002c6668ff00
+3f6666ff0027ccccff0038b3339fff00484ccd8bdf080ba184a88cad8bac8b908099
+7408f6fb4205a85cb961c78b9a8ba68d95908e928b8a87935e8b65ad71b608fb11f7
+6e05e8afa9db8bcb8bc666f702fb4d8b718b4581638b598b6f8f598c85858b809185
+d1889a868c38088c388c5a8b388b38ffffff199a57fffffee66638080b8a3c7c8845
+8885858b809185bc8ca98fbe8bc38ba987bd8a91918b968591468f70908ac5088ad6
+8ac88bd3080bf706078bbd8bb58dc88dde9c90d18e91918b9685915a8affffe1b333
+87ffffcd4ccd8bffffcd4ccd8bffffe2b3338f598c85858b80918508d1889b868d38
+8d388b5a8b38083607fb60f72261e5f761b6f713f7461ef785078bde9d8cc7929191
+8b9685915a8afffff54ccc87ffffd9b3348bffffd519988bffffeee6688f598c8585
+8b809185d6849c8a8b3808fb9707fb0476fb24fb3d1e5b8b63a56da85aba85dc8bcc
+080bd586ff00006668ffffd86668ffffea9998ffffc9999808ffff623334fc25ffff
+fb3332fffff34ccdfffff7199aff000cb333fb33f82b05ffffe8cccdff003b8000ff
+0004b333ff001a8000cf9291918b9685915c8a6887648b638b708f5c8c85858c8091
+85c4869971ff001c80004208ff00c58000fc940591fffff0666692fffff8999a958b
+968bff00073334ff0008b333ff0005ccccff000e4ccd08ff00ceb334f89205ff0013
+3334ff002f4cccff00171998ff0032b334cd9391918b968591638a7287748b748b64
+8f5c8c85858b809185080bfb33fc5c847684a0fb24f85105ffffee3334ff0035cccc
+ff0027ccccff00103334ad8e91918b9685915c8a6687638b648b738f638c85858b80
+9185c088ff0019999affffd3e668ff00086666ffffe61998089a5d05ff0003e6667f
+ff0006199a778b828bfffff73334ffffff999a7ffffffe6666fffffbcccc08fb12fb
+dffffff64ccc73fffff9b334a3fb2af86105fffff4999aff00233334ff00166666ff
+0011ccccae8d91918b9685916a8a6087648b638b7b8f638c85858b809185b888a0ff
+fff1b3349dffffca4ccc08f74afcb405907b9c839a8b998b9195909908f71ff7fa05
+8f979098908b8f8bff00056666fffff1ccccff0004999afffff2333408f709fbf705
+917a9a84988b998b9393909a08f759f8b20597aea8afc28e91918b968591668a7387
+718b718b5f8f638c85858b809185b488ff0027e668ffffefb334fffff11998ffffd5
+4ccc080bfb2df76605fffff63334ff000d6666fffff5ccccff000ce6668bff0007b3
+348b94ffffff8000ff0005199aff000b8000ff000ee66608f71df74505ff0022b334
+ff002ce668ff002e9998ff0019ccccff002cb334ff00044ccc91918b9685916d8a66
+87748b748b618f638c85858b809185ff002c4ccc88ff000d3334ffffed6668ffffe8
+8000ffffde999808fb0ffb4305fffff68000fffff26666ffffff8000fffffe999a87
+8b888bfffffab334ff00028000fffff84cccff000b800008ffff918000ff00a3cccc
+05ffffe3cccdb3fffff4b333ff00183334c38e91918b968591638a6387638b648b6a
+8f6d8c85858c809185b588ff001f8000ffffedb334ff00293333ffffc54ccc08ff00
+8e4ccdfb5f05ff000c4cccffffee8000ff0001b334fffffd80008b818b85fffffecc
+ccfffff8199afffff93334fffff6e66608fb28fb5a05ffffddb333ffffd2199a5cff
+ffe73333ffffd34ccdfffffbb33385858b809185a98cb08fa28ba28bb587b38a9191
+8b968591ffffd3b3338efffff2199a9dff00183333ad08f718f74d05ff00078000ff
+000a6666ff00058000ff0008999a8e8b8f8bff0003b334fffffa6666ff00074cccff
+fff5999a08ff007b8000ffff50333305ff001c4cccffffd7b332ff000b3334ffffe8
+199a538885858b809185b38cb38fb38bb28bac87a98a91918a968591618effffe366
+68ff0016b333ffffd59998ff003a4ccd080b88ff009eb334058bff0027ccccff0005
+b33499ff0006e666ff000c800008ff007fb332f77b05a7ff0032b334ad92ff002cb3
+34ff00044ccc91918b9585916d8a6388748b748b6a8e638c85858b819185ff002c4c
+cc88a4fffffa1998ffffe9b334ffffd5e66808ffff89199afb7405827afffff8e666
+8efffff733349b08ffff81ccccf77205ffffe7cccdff002a9998ff000e3333ff0005
+6668c38e91918b968591638a6587638b648b608f6d8c85858c809185b588ff001f19
+9afffff76668ff00289999ffffbb999808ff00836667fb7105ff00118000ffffe280
+00ff00066666ffffff80008b660888fb2a05fffffe66663afffff0999a843b888585
+8b809185bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a9191
+8b9685913b8efffff0800092fffffe8000dc080b90c395c997bf848d8a8e7e8b6c46
+7248fb018908fb5f87057affffffb33383ff000f4ccd8b948b908e919094d4f5f74c
+f799f70af72cff00151998ff001b3334ff0002e668ff0006cccc8b968b92868f838b
+080b7f8b6c896d8b08fb71060b5c8b2a93668e8755814f836295888a89968b080ba0
+d0b1ff002d9998d6ff0001666808f76b8f059cff00004ccc92fffffdb3348b858bff
+fff9b33480fffff04ccc86842afb0ffb52fb9e25fb2c858389838b8408819086991e
+ff016c4ccc06a6ff0063b334868b1f0bf2fb8bb88bfb12f7c4618bfb13fbc4b88b05
+0b878c858c868b698b747a8385088980f706fb01059b7c9286918b938b92918b908b
+928a928695080b86fb0905ffffff8000fffff4199afffffb8000fffff9e666838572
+77696c708b5b8b71b58ba98bff00258000ff0018cccdff002d199aff00473333ff00
+116666080b91779a67be8b08baadb190928191871f858b887b778b668bfffffb199a
+a9ff0001e666c20890f72205ff0004b334ff0085ccccffffb94cccff001c3334458b
+083d375958749b7ba1a79ba4971f8b928a91898f8a8e8a918b9508a9b49aafabb671
+fb001e8b84897e888a083177050bffffa36666ffffeb6666ffffbf999affffcf999a
+8b4a8b42bf72ce8bb78b9f94b5ab089e9a050ba4a1a794a78bff001c199a8bff001e
+199a7aff001480006dff0015e6666bff000b6666ffffd180008bffffd080008bfb01
+592f308b6d8b78a078a389bd8bf7648b8b088b9f91949796080b8586868b8b948b8b
+8bf73d8dbdff00028000c9ff00008000a78b8b8b92888d828b7381487f658889838c
+86918508bd8893848e47ff0002333359fffffecccdfc2c8959fffffe800066fffff7
+800079887e90838a88968b91909d9892949596918c958208a179ab80ad8b08ecf706
+e4f72cf70835d3381f628b677b6d70080b8794898b828c6b61586f628b08404bd3f7
+0cf4c4d3ca1fc38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb2
+2f2d2035fb1bfb0fd536f70c1fc48bc29ebbd9080bffffff4ccc79fffffeb334847e
+7f686c6c7c738b588b4fce8bf70b8bd099ba999fa9b8b88e9e8bad8ba67f9e750898
+7c8e848b6d8b8b8bfb2b8959080b908f928d8b848b7495698b8b93888d8c938da09c
+aa9ac59291918b8e85914e90fffff8e6669dfffffe199aba0889bd8bf8158dbdff00
+028000c9ff00018000a78b8b8b92888d828b7381497f658889838d869185bd88ff00
+07ccccff0004e668ff00033334ffffb01998088d598bfb078b8b8b848989848b878b
+629c6c8b4c8b61756567626272548b448bfb09c634f28b08b08bae9fbab1080b9df7
+00caa8af8bb98bb7648b3b8b8287fffffc4ccc81ffffffb334080b68676a71548b69
+8b599f6dbc78aa80bb8bc208f7a08f0596ff0000333392ff0006cccd8b9508db6ae3
+fb19ffffa5e666ffff96199a3afb251e8b569956aa67ab65bd74d08bd38bc4acb1bd
+88958590808c080b325b70683b7fd8c8cea7b4bf1ec7ae583c1f0b7074726b8b628b
+63a473a881080b8b9f93979393afafbdb3b18b9e8ba07f96759578ff0002cccc5dff
+000133346e8d598b528959fffffce666ffffb2199afffffa199afffffce666598608
+86858b809085b38c9c8fb18bb28b9d87b48a90918b9686915690fffff8199aff0003
+199afffffce666ff004de66689bd8bc18dbd08ff0002199abffffffce666ba75a87b
+a06d976a8b5c8b507e514a888784828b988b8b8cf7648dbdff00028000c9ffffffe6
+66fffff8e668ff0001999aff002319980892888d821e7381497f658889838d869185
+bd88ff00084ccd90ff0002b3333b8d4f8bfbf4894ffffffd66663cfffff6999a8854
+8785858b80918508b28ca18fb48bb08b9987b38a91918b9685915b8ffffffa3333ff
+0003199afffffccccdff004ee66689bd8bf70b8b8b080b71a371a3a7a3ff001ae668
+ff00151998a376a7701e736f73731f0bfffffee666a9ffffff199aff003280008ba9
+8ba9ff00008000ff001f8000ff00018000ff001e4cccff00028000ff0031999aff00
+038000ff0036199a8b8b8b8f868e838bffffe3800080ffffdc800082468289858d85
+8d8508ff00368000fffffae666ff00078000fffffb199a8e51ff000180006dff0000
+8000ffffe580008b6d8b6dfffffee666ffffcc8000ffffff199a6dfffffd800038ff
+fff78000884e8685858b809185a58dff00354ccd8eff001db3338b08aa8bba88a989
+91918b9685914e8f838e88df080bff0001b333ffffdee666ff0001199a648bffffc6
+199a8bffffd64ccdffffff8000ffffd3b333fffffeb3336287ffff7c199a8affff80
+e666598b808b7e8f849281957f9b758b08807681796eaf7d9e1fa08bbf8eb0aaff00
+2f199aff0026199aff001de666ff0048e66688f736ffffff6666ff001dcccdffffff
+199aff003199998bff001d999a8bff0032cccdff00013333ff00249999ff00014ccd
+ff0032999aff00013333bdff0002cccdc18b8b8b8f868e838b086f80638246828985
+8d858d85c18693fffff9e6668effffc7199a080b893c82885188fffff9e666fffff9
+e666ff0000333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e6
+66ff0005e666ff0000333496fffff9e666ff0006199a518e828e89da08ffffff8000
+ff0013999affffff6666ff0022ccccffffff8000ff002a999aff0030199affffffcc
+cdff0010666683ff0015199affffe3333308d02e05a6ffffdb999a91ffffec66668f
+7d8c88ff0000cccc89ff000233348b9a8dff0018cccc8eff000d33348b9a8bb8889e
+8991918b9685916b8f729b72ab08fb12f73205888f878f8b908b8f8b8d8f8f08dfe1
+05a8aaac9eb18f91918b968591688a7d87698b678b748f688c85858b809185c0877f
+5e828008756f6d6b7379ffffea8000fffff04ccdffffd84ccdfffff43333ffffed66
+66fffffd999affffffb333ff0020ccccffffffcccdff002466668bff0024ccce8bff
+006eccccff00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cc
+cda78b8b8b92878d828b087381497f658889838a869185bd88ff0007b333fffffb4c
+ccff00034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffff
+a366668bffff989999fffffe6667ffff953333fffffee666ffffd6199a080b893c82
+885188fffff9e666fffff9e666ff0000333480ff0005e666fffffa199ab38ca38fb4
+8bb48ba387b48aff0005e666ff0005e666ff0000333496fffff9e666ff0006199a51
+8e828e89da08ffffff199aff00256666fffffe9999ff005c66678bff00604ccd8bff
+006eccccff00018000ff00740002ff0000cccdff002b1998ff00013333c9ff0002cc
+cda78b8b8b92878d828b7381497f658889838a86918508bd88ff0007b333fffffb4c
+ccff00034ccdffffb9b334ff0001cccdffffd9ccccff0000e666ffffa5e6688bffff
+a366668bffff989999fffffe6667ffff953333fffffee666ffffd6199a080bb1b0b6
+9ea88baf8bff001a6666ffffe8e666ff0002999affffc0199a8d598b3d8959fffffc
+e666ffffb2199afffffb199afffffbe666588786858b809085ab8eff00204ccc8dff
+001eb3348b08ff001e4ccc8bff0019b33489af8890918b9686915b8ffffffa199aff
+0004199afffffce666ff004de66689bd8bcb8dbdff0000800098ffffff8000998a96
+b9bebd97b08b08af8bff00166668ffffeae666ff00029998ffffc0199a8d598b3b89
+59fffffce668ffffb2199afffffa1998fffffbe666598786858b809085a48dff0027
+b3348eff001e4ccc8bff001f4ccc8bff0027b33488a4890890918b968691578fffff
+fa1998ff0004199afffffce668ff004de66689bd8bca8dbdff00036668ff0054e666
+ffffef9998ff0043199a378b5a8b497859578888868789930882b268aa598b548b55
+69615f888884858b948ba890b78b8b8b90878d838b080b70816983498289858c858e
+86bf86ff0007cccd86ff00023333548d598bfb008959fffffce666ffffb2199affff
+f6199afffffbe666578785858b80918508a68db68eaa8ba68bb288a58991918b9685
+915b90fffffa199aff0003199afffffce666ff004de66689bd8bd08dbd08ff0000cc
+cd9fff00073333979393080b888785828b988ba890b78b8b8b90878d838b70816a83
+498289858d868d85be8694fffffb80008dffffc8800008ff0001e666ffffcc999aff
+ffff6667ffff946666fffffeb3335a893d8388528685858b809185b28ca28fb48bb0
+8b9987b38a91918b968591085a90858e89d9fffffecccdff002eb333fffffecccdff
+0054cccdff00026666ff002f80008c9f92969394080bafaec0a0b08b9e8ba07f9675
+9578fffffecccc71ff000133346e8dffffce199a8b4889ffffcde666fffffce666ff
+ffb2199afffffa199afffffce666598686858b80908508b38c9d8fb18bb28b9d87b4
+8a90918b9686915690fffff83334ff0003199afffffcccccff004de66689ff003180
+008bff003680008dbdff0000999a9aff0000999aff000e80008bff000dcccc088bff
+0021e668fffffc6666ff001d8000fffff06666ff00154ccc7ba06b976a8b085c8b4d
+7e514a080b2accfb00f71b1ec88bb9a1acabb6b59ec78bc58bee55f708fb268b4c8b
+58716862686279538b4f080bddc336fb1dfb0c48625e2864f717d4dea5ebe11f0bff
+fffd6666fffffc999afffff9999affffff66668b928bad8ea68b8b8b8f878d838b08
+0b70816d83498289858d868d85be86ff0008cccd85ff00023333558d598bfbf28959
+fffffccccdffffb1199afffff93333fffffae666518885858b82918508b38cff0016
+cccd8fff002833338bff002c199a8bff001be66687b48a91918b948591478ffffff9
+3333ff0004199afffffccccdff004ee66689bd8be18b8b8b97908a958708a282a485
+a98bc08bbb9cb2b0b8b7a5d08bd8080bf70343d52a1e518b68ffffe74ccc6affffd4
+b334080b8d588bffff95800089ffffcd8000fffffce666ffffb1199afffff8199aff
+fffde666508685858b809185a98db88ea98ba88bbe88ac8991918b968591084891ff
+fff8199aff0001199afffffce666ff004ee66689ff003280008cff004b80008c9eff
+00014ccda4ff000bb333a6959cff0009199aff000f8000ff0017e666ff0023800096
+8b928b93fffffe80008ffffff88000927e98799f8b08a2a19fa39d80a75c1fffffdb
+e6668bffffda199a6b6b5bfffff98000fffff64cccfffffe8000ff000db3348b908b
+aa8aa98991fffffeb333ff0003ccccfffffd4ccdff00023334838b080b7081728349
+8289858b868f8508be8694838d57080b8f5c8d648b63958d948c908b928b908b9289
+080ba584a587ae8bc08beea68be98bcc5cab4aa452a1619e8bbf8bb2ababb28b080b
+ae8bbe7e973a9186948b91918ead8caa8caa6d905f99598b3f8b50ffffd74ccc8bff
+ffbdb3348b45ff00254ccd6fff0043b3336e080bff004e4ccdffffde6666ff0015b3
+33ffffea999a8b628b5c5a6d688b668b719b819574a17eb685a3088591848a858508
+0b8b2c86fb208b4f8b47a270b78bb78bbba0b0b58995fffffe80008dfffff980008d
+7278687c728b718bfffffc6666a8fffffd999ac6080b89bd8ef70c8fe408ee069598
+8e941f96078f898d861efb078b8cc405ff0001199ac9ff0002e666b18b8b8b91888e
+878b848b7c807c857b847a8a8b818b808e7d8b21080bb08bc29fbab1908f948d8b84
+8b7596688b8b92888f8c928da09ca69ac59291918b8e8591084e90fffff8e6669dff
+fffe199aba89bd8bf58dbdff00013334a8ff0002ccccc68b8b8b8e898e868b868a7c
+8a7d8b6c8b728c688c0885858b809185ba88ff00098000fffff4e666ff00028000ff
+ffc1199a8d598b218959ffffff4ccc79fffffeb3348e7e7f686c5c72738bffffc4e6
+668bfffff68000ff0017199afffffc999aff0054e6660889bd8be28dbdff00013333
+a8ff0002cccdc68b8b8b8e888e868b868a7d8a7d8b6c8b728c688c85858b80918508
+b987ff000a800082ff000280004d8d598b2b8959fffffd6666ffffbe199aff001599
+9affffbfe666e98b080bbe879174775b083efb4f05ffffed999affffd33333fffff9
+4cccff0000199affffee199aff002fb3330846f74c057ab97aff0017b334c6909191
+8b968591688a6cfffffc4ccc6c8b708b7aff0003b334688c85858b809185bbfffffa
+4ccc94709e5b08f70efbc105ff0003cccdfffff68000ff00083333fffff58000978b
+958bff0004e666ff0001e666ff0008199aff0013199a08f713f7bf059db595aec090
+91918b968591768a7887728b688b7c8f688c85858b809185080b91918b968591688a
+ffffddb33387ffffe14ccd8bffffe24ccd8bffffe2b3338f728c85858b809185b886
+96779f5908f711fbc805917e9285958b948b9191929a08ecf77eedfb8005917e9285
+958b948b9291919908f710f7c2059bb29bb1bc8e91918b968591738a8287698b678b
+748f688c85858b809185d3877e657e69083bfb5b058173848380a70839f7650579b8
+91a0be8f91918b968591688a6887718b6f8b778f688c85858b809185bc87ff000833
+34ffffd98000ff000fccccffffd4800008937549fb3605fffff38000ffffe13333ff
+fff68000fffffdcccd7faa083ff7590579b990a5b98e080b72af9293b69191918b96
+8591668a69876d8b6d8b7d8f668c85858b809185ad88ac6fa76408e2fb0d058e8792
+8786850837240561586d7f688985858b809185b08c8a8faf8bb18b9487b08a91918b
+968591708f7e9ca0a808cae1059295918d938108c53f05b05a83836b8685858b8091
+85b08ca58faf8bb18b9487b08a91918b9685916b8e68955fc60831f70d0585938e8e
+8d8e08dff105b0b8ad9baf8e91918b968591728a7b876b8b6c8b7b8f668c85858b80
+9185ac87997e7269084a350587867f858198080b9aa698a697a7d7f74cbdf70abef6
+98a7aeb5ae8e91918b96859173887689748bffffe9b3348bffffde4ccc8d6c8e0885
+858b809185a988ad7a7c69082cfb6f05fffff03334ffffdb999afffffbb332ff0000
+4cccfffff0199aff0025199a0836f75a057ab382a8c59091918b9685916d8959886f
+8b77ffffffe666658e78ff0002199a85858b809185b5879779a54e08f700fb8f05ff
+0014cccdffffcfb333ff00023333ffffde4ccd8170806b7e717d6d81787678738b7e
+8b8390818b086f80767f779e7ca51f9f8bb192adc8080b898787891f8a60866a835c
+93878d89968e080b9ed1a8ff001a4ccca8ff0000b33408f7168e054afb0131fb2741
+2783808a878b868b8493fffffc199a99ffffffe66608f7ae880596ab97bd92bb858f
+8a8d808b087d6f057359786a598b08fb1806d2e5e9f734c6ec9aa38d928b8f8b8f87
+8e848b868b70896f8b08fb35066c8b83927a8e080bff0005b33388ff00054ccd8a91
+8ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca2
+8ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a
+6f8b758b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c
+7e4a080ba2a79ec11f8bd17eae82e383d985e589a08a918992818b818b89828a8089
+7d8a4f7ffb0081357e618b4a0855a778a21e0b71a076a5a5a0a0a5a576a171717675
+711e0bf730f717f713f730f730fb17f712fb30fb30fb17fb12fb30fb2ff716fb14f7
+311f0bf71ff700fb03fb1ffb1ffb01fb04fb1efb2020f705f71ef71ff6f703f7201f
+0b3c0771747a81768b698b809f8ba08baaa39de0a1080b9e8b9e979495ff0000999a
+93fffffcb332ff00054cccfffff8b334ff0002b33488888689878b0882869bb41fd6
+07e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92089ba096
+aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e799976a48b08
+0bff00258000ffffd58000ff00258000ffffcf8000bf3cfffffd80008186fffff833
+33fffff58000fffffecccdffffb08000ff0055800059ff00308000ffffc88000bc08
+9707ff00378000bcbdff00308000ff004f8000ff00558000ff000a8000fffffecccc
+90fffff83334ff0002800081573cffffda8000ffffcf8000ffffda8000ffffd58000
+080b697368626173adaeafa2afb6b89f646a1e0b54b85ec2c2b7b8c2c35fb854545e
+5e531e0bfc1f5ff81f060bff00088000ff001ab334ff00063334ff001f9998ff0004
+4cccff0023b334fffffab334ff0003b33483ff00019998fffff54cccffffffb33480
+6f7d646c8b08380694ac9aa6b5a9080bc3b3acac8bb908cb519e593c6f58711e7e99
+80971e0b8b6270715f85fffffd4ccdfffff6e668ffffff4ccdfffff49998ff000566
+66fffff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b333ff000680
+00fffffa4ccdff000b8000859781907d8b08fffff3b333fffff38000fffff7199aff
+fff2b332ffffe08000ff0046999afffff4b334ff001a3333dbc6b9d01f8bc55ca66a
+8e080ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33339dff0004
+cccd96929ba7939c8b089ba183711f0bffffb46666fb0b05fffff7e667fffff33334
+fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1
+ffffe666668cfffff9999a8b868b858a888a080ba7a5a5a7a771a56f6f71716f6fa5
+71a71f0ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908a4ce698b632b9185059b90958c9e8b080b978d82
+6b1ffb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba0
+8ba98a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde6
+68fffffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666
+fffff9e668a4949e91988b080bffffda8000ff002a8000ffffda8000ff0030800057
+daff000280009590ff0007ccccff000a8000ff00013334ff004f8000ffffaa8000bd
+ffffcf8000ff003780005a087f07ffffc880005a59ffffcf8000ffffb08000ffffaa
+8000fffff58000ff0001333386ff0007cccdfffffd800095bfdaff00258000ff0030
+8000ff00258000ff002a8000080bfc5ffd23b583f85ef923050b8b627e8863898683
+8c7c8f85a98cff000ab3348bff00234ccc8ba98b9b8ba98a8f928b998793698d7a8e
+8bb408a3bd0791ad538b8be00594838c851e848b7f808482898885828b8508522f07
+a1adcadeb8d0086c95056252472b5e4a088f7ff7238b050bfc5efd23b483f85ff923
+050b9dab845c1f8b5573745e675b6665618b5b08f762060bc3b3acac8bb908cb519e
+593c6f58717e9980971e0b8b6270715f85fffffd4ccdfffff6e666ffffff4ccdffff
+f4999aff00056666fffff98000938c908c928b080b6d656b555563cccc1e8bba9da8
+b1b0c9c68fc68bb608b90792848e83838388841e5f078b738a737f72827a787b757a
+5e69505f8b3c8b30ca4fec8bbe8bb399a7a4a8a39ea78bb108ae73937c79787f741e
+8b7e8d858f86088f868c858b7c080bfb1035057e8289868b848b839184948b948b97
+8ea09408f724c505fffff34cccff00154cccffffeb4cceff00116668ffffe36666ff
+000d4ccc080bfffff0999aff0007b334fffff66666ff0000b3347dfffff799986c69
+6a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff0009199aff0003ccccff00
+041998ff0008199cff0002ccceff000919980867a666ad6daf080b788b7a927b9708
+0b7799759f6d8b608b74647d509185958a968d95ac959aa58b9c8b9e839d80080ba0
+7da079a18bb98ba8b297c7858f818e808a087d618081758b080b71a175a5a5a1a1a5
+a575a1711e717575711f0b71a175a5a5a1a1a5a575a171717575711e0bc7f72f0590
+989194a38b08ff00d080008bff003f8000fb4c05ff000e199862ffffd78002ff0000
+6666ffffd06666fffffc999a85858b809185b08cc28fb28bb48bb687b08a91918b96
+8591ffffd93334ff00038000ffffdeccccff0003800079be080bfb65f8da057c8273
+807e8b08fb7cfcb605ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd48000
+8885858b809185b08ca28fb28bb48ba987b08a91918b968591ffffda6666ff000299
+9affffd06667ff0006b333ff00103333ff0029b333080ba99d756c6f7a726c6c7aa4
+a7a99ca2aa1f0b8bffffc8e6668bffffd5800089ffffbf999afffffd800038fffff1
+800086458885858b809185080bbc8cbe8fa98b08f775060b774368433f8b08fb3006
+758b7e9b8aa688ff005380008cff00af80008b8b08f7088a05e0ffffff4ccc8effff
+eab3348e5e9185968b91918aae87ff000c80008bff001e80008bff0021999a8fff00
+1666668ca98591808b8585885488fffff4b33436ffffff4ccc08fb088a058b8b8af7
+1c8eddff0000e668a3ff000b19989fa38b08f72f06d68b9b56a146ff000c6668ffff
+fe3334ff0000ccccff00021998ff0009ccccff0004b33486b47cee8993080b7a8883
+87738b08fffed58000060bffffe04ccc8bffffa3b3348f598c85858b809185d188ff
+00063334ffffdbb334ffffefccccffffe14ccc08fb87fc5b05ffffe04ccdffffc4b3
+33ffffd93333ffffea4ccdffffd480008885858b809185080bb08ca18fb28b080bb4
+8bb487b08a91918b968591ffffda6666ff0002999affffcb4ccdff00136666ff0014
+4ccdb208eff754050bff0002199a3affffffe666588b380876ffff52800007f735f7
+c8058f89ff000580006b8c65080ba2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015e666ff003a999a
+05ff00566666ff0008e666ff0055199cff002d3333ff003c9998ff004f4ccd869484
+91808b443d476c2e8b08fb2f3df731f726ff00a3e666ff0068e666ff0085199aff00
+7d199a1ff71e8bc62fa535ff00093334ffffff3334ff000699988cff00073334ff00
+04cccc86bf84bb81c258905eb3fb0f8bfb5a8bfb13ffff6566668bffff43999a8bff
+ff50199aedffff6c4cccff00d4ccccfffffe999a08ffffdc3334359185059b90958c
+9e8b080bffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4ccc
+08f72e4c05a0829988938b938b92928b938b9287918093080bfb098a058b8b8af71c
+8edd080b8ca3979fa38b08f73006d68b9a56a14697898d8d959086b47cee8993080b
+774367433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05e0ffffff4ccc
+8fffffeab3348e5e9185958b91918aae88ff000c80008bff001e80008bff0021999a
+8eff001666668ca98591818b8585885487fffff4b33436ffffff4ccc080bfb103505
+7e8289868b848b839184948b948b978ea09408f724c505fffff34cceff00154cccff
+ffeb4cccff00116668ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff6
+6666ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad
+79b279ff0009199aff0003ccccff0004199aff0008199cff0002ccccff0009199808
+67a666ad6daf080b8b8b8af71c8edd8ca3979fa38b08f73006d68b9a56a14697898d
+8d959086b47cee8993080bfb1035057e8289868b848b839184948b948b978ea09408
+f724c505fffff34ccdff00154cccffffeb4ccdff00116668ffffe36666ff000d4ccc
+080b3906ff00003333ff004be666ff0001e667ff00303334ff0001e666ff004fe666
+8dc989a7e78b08f76cdafb50fb2efb5efb154cfb211ffb008b84a789c9fffffd3333
+ff004b80008ab8ffffffcccdff0047800008cc06948bff000accccff0001199aff00
+013334ff0006e666088e9c05ff0000b3348ffffffd4ccc8d868b080b598b6f8f598c
+85858b809185d18899868d38ff0001e666ffffb0b334ff0001e667ffffcfccccff00
+003333ffffb380000846067a8bfffffc999afffffb199afffffe6666fffff6e66608
+8980058afffffa999a8dffffff66668f8b08e306ffffffb333ffffb9199afffffe19
+9a5efffffe3333ffffb3e66689387d86458885858b809185bc8ca98fbe8baf8bbe86
+f28b08f721f750cef78af74efb2ff730fb541f478b4786658b080bffffddccccffff
+f46668ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988938b
+938b92928b938b9287918093080bf718f702fb0efb5efb4732fb09fb06fb0efb0af7
+0df7541ff766f702ece61e0bff0038e666ff00464ccd05ff00356667ffffd5ccceff
+00441999ffffe8e666ff0049999a8bff006ecccc8bff00578000ff002fb333ff0036
+e668ff004e4ccdff0027ccccff0038b3339fff00484ccd8bdf8bff0066ccccffffdd
+8000ff0051ccccffffc74cccff00384cd008ff003b3334ff0049199805fffffdb334
+ff000ee668fffffd4cccff00051998788b08ffffc56668ffffb7cccc05ffffc8fffe
+ff002bb33444ff00178000ffffb1999a8bffff9cb3338bffffac6667ffffd13334ff
+ffc93333ffffb4ccccffffd41999ffffc3b334ffffe9999affffb180008bffffa8cc
+cc8bffff9de666ff0022b333ffffb03334ff0037e667ffffc8999908ffffc76666ff
+ffba4ccd058e7c8d849e8b080bff0044e6668bff003ee666ffffdeb334ff002c6668
+ffffc3800008fffeb73332fffe6b4ccc05ffffe2199aff0032999affffed8000ff00
+40e6668bd78bf766f702ece68b080bff001de664ffffcb4cccff0011e668ffffbbb3
+328bffffae999a8bfb4732fb09fb068bffffbfb3348bffffc0e666ff00218000ffff
+d29999ff003be666080b71a076a5a5a0a0a5a576a071717676711e0b8bff002c8000
+fffffee666b2ff00003334ff001e8000ff00004cccff0032199aff0000cccdb5ff00
+01cccdff003ce666ff00028000de99ff00058000ff00148000ff0002800091918b96
+8591ffffec80008affffe2cccd87ffffe0b3338bffffd380008bffffdf80008f668c
+0885858b809185ff0039800088ff000c8000868d388d388c5a8b388b608afffff733
+348bffffdecccc08fb60f72261e5f761b7f713f7461ef785078bde9c8cc79291918b
+9685915a8afffff5e66887ffffda19988bffffe819988bffffe466688ffffff68000
+8c85858b809185a4fffff980009cfffffe80008b3808fb9707fb0477fb24fb3d1e5b
+8bffffd7199aff001a199affffe1e666ff001ce6665aba87dc8bcc080bfb1035057e
+8289868b848b839184948b948b978ea09408f724c505fffff34cccff00154cccffff
+eb4cccff00116668ffffe36668ff000d4ccc080b86fb0905ffffff8000fffff4199a
+fffffb8000fffff9e6668385080b7277696c708b5b8b71b58ba98bff00258000ff00
+18cccdff002d199aff00473333ff00116666080bffffb46666fb0b05fffff7e667ff
+fff33334fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188
+960574a1ffffe666668cfffff9999a8b08868b858a888a080bfffff53333ff000280
+00fffff58000ffffffccccfffff54ccdfffffdb3346e5d5d556763918292859489b2
+a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a909208
+67b35fc06eba080b71a076a5a5a0a0a5a576a1711e717675711f0ba99d756c6f7a72
+6c6c7aa4a71fa99ca2aa1e0b5db564b9bbb3b3b8ba61b15d5d61645d1e0ba1749366
+8c4039854c7e6273697771618b658b63996dac78a07fad85ad8bae8bbb9bb7b80896
+978f8f9382080b9f74b05ee18bca8bc2b1a7be88908394838c6f6a6969588b688bff
+ffd96666ff001ee666ffffe8e666ff001f999affffe84cceff00206666fffff86666
+ff002b80008bff002b999a08f76f8eb8ae8bd88bab61cafb008b558b59746c6068cb
+428d748b083d416154789473a8a3989c9a1f8b928a91898f898e8a918b958ba7afa0
+b08b089f8ba785997c080b8b5b8a6c8779080b7d6562585a8b568b7bb48bb48ba198
+a1a29ca8a1ba9bcd90080b93dcb2d4cc8bb98bab5e8b6d8b515e78fb2589080ba295
+7d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca363
+1f828b828a838908ff00158000ff0039b33305ff00326666ff00041999ff00304cce
+ff0016b333ff002accccff004580008794898b828c6b61586f628b08404bd3f70cf4
+c4d3ca1f0bc38bff000f4ccc60ff0003b3346a8e7098849f8b089fa597a9bf4fb22f
+2d2035fb1b1f8bffff8a8000ff00436666ffffad3333ff006e999afffff8cccd0867
+ffffa980009185059b90958c9e8b080b9df700caa8af8b080bb9b7643b1f8b8287ff
+fffc4ccc81ffffffb334080b68676a71548b698b599f6dbc080b78aa80bb8bc208f7
+a08f0596ff0000333392ff0006cccd8b9508db6ae3fb19ffffa5e666ffff96199a3a
+fb251e8b569956aa67ab65bd74d08bd38bc4acb1bd88958590808c080b888785828b
+988ba890b78b8b8b90878d838b080b70816a83498289858d868d85be8694fffffb80
+008dffffc88000ff0001e666ffffcc999affffff6667ffff946666fffffeb3335a89
+3d8388528685858b80918508b28ca28fb48bb08b9987b38a91918b9685915a90858e
+89d9fffffecccdff002eb333fffffecccdff0054cccdff00026666ff002f80008c9f
+92969394080bafaec0a0b08b9e8ba07f96759578fffffecccc71ff000133346e8dff
+ffce199a8b4889ffffcde666fffffce666ffffb2199afffffa199afffffce6665986
+86858b80908508b38c9d8fb18bb28b9d87b48a90918b9686915690fffff83334ff00
+03199afffffcccccff004de66689ff003180008bff003680008dbdff0000999a9aff
+0000999aff000e80008bff000dcccc088bff0021e668fffffc6666ff001d8000ffff
+f06666ff00154ccc7ba06b976a8b5c8b4d7e514a080b2accfb00f71b1ec88bb9a1ac
+ab080bb6b59ec78bc58bee55f708fb268b4c8b58716862686279538b4f080b2accfb
+00f71b1ec88bb9a1acabb6b59ec78bc58bee55f708fb268b4c8b5871686208686279
+538b4f080bffffd7e666ffffcf6666050bffffe23334ff00154cceffffd93332ff00
+0d4cccffffceb3348b4c8b58716862686279538b4f8bffffcf999aff00103333ffff
+cce666acffffd8e66608ffffcfcccdffffc5999a058d7d93829a8b08ff002f3333ff
+0039999a05ff001fb33271ff002a3334ffffef6666ff0034e6668bc88bb9a1acabb6
+b59ec78bc58bff0037999a7aff003ce666ffffd73334ff002acccc080bff0028cccc
+ff0031b33405879786937b8b080bff002733348bff00213332ffffec999aa3ffffdc
+cccc08ffff43cccdffff1be66705fffff21999ff0023cccefffff9b333ff00269999
+8bff001d4ccd08dea5ebe11e0bff000fe66867ff0008ccccffffd1b3348bffffc980
+008bfb0c48625e8bffffd180008bffffdecccdff001cccccffffe9cccdff00263334
+080bb08bc29fbab1908f948d8b848b7596688b8b92888f8c928da09ca69ac5929191
+8b8e8591080b4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334a8ff00
+02ccccc68b8b8b8e898e868b868a7c8a7d8b6c8b728c688c0885858b809185ba88ff
+00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff4ccc79fffffe
+b3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199afffffc999aff00
+54e6660889bd8be28dbdff00013333a8ff0002cccdc68b8b8b8e888e868b868a7d8a
+7d8b6c8b728c688c85858b80918508b987ff000a800082ff000280004d8d598b2b89
+59fffffd6666ffffbe199aff0015999affffbfe666e98b080bced2acab1ea38ba382
+997db46293538b528b386d2f268b7d8b728c70a2809585918ba9080b9896a0979187
+96811ffb75068080777f848f80941f0b6f06846457755a8b568b5ca183b2086f0690
+45c560d48bcd8bcbb591d2080b707f059936be59d18bc68bcbbc97e1087097058151
+5d6b578b08558b60b080c0080b6fa373a7a7a3a3a7a773a36f6f73736f1e0b71a371
+a3a7a3ff001ae668ff00151998a376a770736f73731e0bb606a9adababb1a8087c9f
+05657b6b7866716aa4699e649c087b7705af6fae6da966080bbd06a8b9b1b8aeb208
+78980566706972666569af6aa464a808777e05ae65b05ea85c080b6d7d797b7b9075
+b49391837e1f8b747666618208907a05d193abc98baf08af75b0651e0b908f928d8b
+848b7495698b8b93888d8c938da09caa9ac59291918b8e85914e90fffff8e6669dff
+fffe199aba0889bd8bf8158dbdff00028000c9ff00018000a78b8b8b92888d828b08
+0b7381497f658889838d869185bd88ff0007ccccff0004e668ff00033334ffffb019
+988d598bfb078b8b8b848989848b878b629c6c8b084c8b61756567626272548b448b
+fb09c634f28bb08bae9fbab1080bffffc1666606ff00003334ff000dccccff000033
+32ff000a6668ff00003334ff0005ccccff00028000c9ff00018000a78b8b8b92888d
+828b7381497f658889838d869185bd88ff0007ccccff0004e668ff00033334ffffb0
+199808ff0000199afffffdccccff0000199afffffdb334ff00001998fffffd800008
+ffff9db334067a8bfffffc999afffffb1998fffffe6666fffff6e668088980058aff
+fffa99988dffffff66688f8b08f70a06ffffc9199a8cffffb7e6668b1e848989841e
+878b629c6c8b4c8b61756567626272548b448bfb09c634f28bb08bae9fbab1908f92
+8d8b84087495698b1e93888d8c938da09caa9ac59291918b8e85914e90fffff8e666
+9dfffffe199abafffffe6666ff00286666ffffffb334ff01034cce8cff007c4ccc08
+ff002de66606948bff000accccff00011998ff00013334ff0006e668088e9c05ff00
+00b3348ffffffd4ccc8d868b080b6f06846457755a8b568b5ca183b2086f069045c5
+60d48b08cd8bcbb591d2080b6fa373a7a7a3a3a7a773a36f1e6f73736f1f0b774367
+433f8b08fb3006758b7d9b8aa688df8cf7438b8b08f7098a05e0ffffff4ccc8fffff
+eab3348e5e9185958b91918aae88ff000c80008bff001e80008bff0021999a8eff00
+1666668ca98591818b8585885487fffff4b33436ffffff4ccc08fb098a058b8b8af7
+1c8edd8ca3979fa38b08f73006d68b9a56a14697898d8d959086b47cee8993080bfb
+40fb3efb17fb70fb41f71cfb24f75d1ff70a8bdbaecfc5080b809486938b9608f711
+078bff002333349cff0009cccca88e91918b9985916d8a7e87638b648b658f5c8c85
+858b7d9185ff0036e668fffffbccccff001b1998fffffc4cce8bffffd7e66608fb36
+07696b4f71558b08fb462cf747f718f743f706f715f7131f0bf7258bc62fa535958b
+ff0006b334ff00008000ff00074cccff00058000fffff83334ff0044800084ff0031
+8000fffff8ccccaf4f8b67b8fb0e8b080b3b7fd8c8cea7b4bfc7ae583c1f0b95889b
+8a978b080ba98ba68e988bbb8bab89a77cb07697748b7208462d54354b55bacc1e8b
+ab90ada7ac080b9d9d9c9e1f0b9f799a711e728b5d7b726b080b80936b9e538b368b
+40528b338b589f6da671080b586c6e568b620838db68d4f715f71fd2f21e8baa7da6
+6fa266aa488c688b7a8b73897488080b7d8a818a868b6f8b67a48bae8b9e95a0969b
+a27ea581b08bdf8bd7c38be88bb87fa46fa80892959f98978b928b918891828f8397
+82958b080b6e7678731f8b70a4829c889d8998878b778b7971735a808b828d829185
+c494bca98bc708bf73ad651e0bae9ba49b9c81a363ffffe7cccdfffffb3333fffff9
+6668ff001399981f8ba29fabc4978b928a94878f6586ffffe3e666ffffef1998ffff
+ef199affffeae6687b7784758b730867a266b21e0bff0001b334ffffdee666ff0001
+1998648bffffc6199a8bffffd64ccdffffff8000ffffd3b333fffffeb3346287ffff
+7c199a8affff80e666598b808b7e8f849281957f9b758b08807681796eaf7d9e1fa0
+8bbf8eb0aaff002f199aff0026199aff001de666ff0048e66688f736ffffff6666ff
+001dcccdffffff199aff003199998bff001d999a8bff0032cccdff00013334ff0024
+9999ff00014cccff0032999aff00013334bdff0002ccccc18b8b8b8f868e838b086f
+806382468289858d858d85c18693fffff9e6668effffc7199a080bfffffeb333ff00
+528000fffffe4ccdff002d80008bde8bdeff00008000bcff00028000dfff00028000
+deff000e800090d18e91918b9685915a8affffe1b33387ffffcd4ccd8bffffcdb333
+8bffffe34ccd8f598c0885858b809185d1889a868d388d388c5a8b388b388a5d8938
+080b89387c86458885858b809185080b893c82885188fffff9e666fffff9e666ff00
+00333480ff0005e666fffffa199ab38ca38fb48bb48ba387b48aff0005e666ff0005
+e666ff0000333496fffff9e666ff0006199a518e828e89da08ffffff199aff002566
+66fffffe9999ff005c66678bff00604ccd8bff006eccccff00018000ff00740002ff
+0000cccdff002b1998ff00013333c9ff0002cccda78b8b8b92878d828b7381497f65
+8889838a86918508bd88ff0007b333fffffb4cccff00034ccdffffb9b334ff0001cc
+cdffffd9ccccff0000e666ffffa5e6688bffffa36666088bffff989999fffffe6667
+ffff953333fffffee666ffffd6199a080bff001033347fff0015cccc6e1e808b8487
+868308ffffc4b334fb0105fffffd8000fffffb6668fffffeccccfffffc99988b888b
+839386908b8e8b8e8c8d8d08eedf058f8f8e928b94080bff00174cccffffe9b334ff
+000eb334fffff04ccc1e7c8b8487868308ffffc98000fb0205fffffe199afffffc33
+34ffffff6666fffffacccc8b898b849186928bff0005999a8b8fff00038000ff0004
+66668f08e3ff0050800005908f8d928b93080bff001299987aff00126668761e7f8b
+84888682083dfb1f058a8a8b898b8a8b839486908b8d8b8d8b8d8d08f706f7020591
+918c928b91080bff00148000ffffeee666ff000f8000ffffeb199a1e878b7b8a857e
+084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d8d08f1f70d058f908c918b90
+080ba184a88cad8bac8b9080997408f6fb42050ba85cb961c78b9a8ba68d95908e92
+8b8a87935e8b65ad71b608fb11f76e05e8afa9db8bcb8bc666f702fb4d8b718b4581
+638b598b6f8f598c85858b809185d1889a868c38088c388c5a8b388b38ffffff199a
+57fffffee66638080b8d588bffff95800089ffffcd8000fffffce666ffffb1199aff
+fff8199afffffde666508685858b809185a98db88ea98ba88bbe88ac8991918b9685
+91084891fffff8199aff0001199afffffce666ff004ee66689ff003280008cff004b
+80008c9eff00014ccda4ff000bb333a6959c080bff0009199aff000f8000ff0017e6
+66ff00238000968b928b93fffffe80008ffffff88000927e98799f8b08a2a19fa39d
+80a75c1fffffdbe6668bffffda199a6b6b5bfffff98000fffff64cccfffffe8000ff
+000db3348b908baa8aa98991fffffeb333ff0003ccccfffffd4ccdff00023334838b
+080b70817283498289858b868f85be8694838d57080bffffc6333293ff0002199a9e
+ffff9e4ccd8bffff9ab3338b32488b218bffffa2e666ff0042e666ffffd2ccceff00
+4d8000ffffde4ccc080bcaffffe4999aff0067999affffea33328bffff8d33348b3a
+ffffd0cccc57ffffb033348bffffa280008b45ff0034800075ff00638000fffff3b3
+338fffffff6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff00
+58b3338b08ff002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff00
+23ffffff00248000ff003d999a8bff003f999a8bff005f33344ab8ffffb7e666ff00
+1eccccffffcf199aff0014ccccffff766666ff002633348bed8bc3ff0034999acdff
+003ae6668b080bff0061199a8bb4439f49ff000b8000ff000033348dfffffecccc94
+92fffffc8000bb87a7fffff5b334c0080b8c898d8a1e0b6988fb03833c8b0835060b
+3e8bfb0a93658e898b89898b8a875e8154805b95878d8a978b080bff00024cccffff
+adb334ffffffb334ffffce4ccc8b388b388b5d893889387186458885858b809185bc
+8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a0891918b968591
+458e719089de89ff005280008bff002d80008bde8bdeffffff4cccff00304cccff00
+02b334ff0054b334080b8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986
+c18ab8080b9fdbb9afcd8b08c606b08bff00094ccc78ff0001b3344e080b7e878583
+1f8207868c8a8f1e0b4e90fffff8e6669dfffffe199aba89bd8bf58dbdff00013334
+a8ff0002ccccc68b8b8b8e898e868b080b868a7c8a7d8b6c8b728c688c85858b8091
+85080bba88ff00098000fffff4e666ff00028000ffffc1199a8d598b218959ffffff
+4ccc79fffffeb3348e7e7f686c5c72738bffffc4e6668bfffff68000ff0017199aff
+fffc999aff0054e66689bd8be28dbd08ff00013333a8ff0002cccdc68b8b8b8e888e
+868b868a7d8a7d8b6c8b728c688c85858b809185b987ff000a800082ff000280004d
+088d598b2b8959fffffd6666ffffbe199aff0015999affffbfe666e98b080bfffff5
+3334ff00028000fffff58000ffffffccccfffff54cccfffffdb3346e5d5d55676391
+8292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff00
+08199a90920867b35fc06eba080b88ff009eb334058bff0027ccccff0005b33499ff
+0006e666ff000c800008ff007fb332f77b05a7ff0032b334ad92ff002cb334ff0004
+4ccc91918b9585916d8a6388748b748b6a8e638c85858b819185ff002c4ccc88a4ff
+fffa1998ffffe9b334ffffd5e66808ffff89199afb7405827afffff8e6668efffff7
+33349b08ffff81ccccf77205ffffe7cccdff002a9998ff000e3333ff00056668c38e
+91918b968591638a6587638b648b608f6d8c85858c809185b588ff001f199afffff7
+6668ff00289999ffffbb999808ff00836667fb7105ff00118000ffffe28000ff0006
+6666ffffff80008b660888fb2a05fffffe66663afffff0999a843b8885858b809185
+bc8cff002466668fff0036999a8bff003633348bff0022cccc87bd8a91918b968591
+083b8efffff0800092fffffe8000dc080b90c395c997bf848d8a8e7e8b6c467248fb
+018908fb5f87057affffffb33383ff000f4ccd8b948b908e919094d4f5f74cf799f7
+0af72c080bff00151998ff001b3334ff0002e668ff0006cccc8b968b92868f838b08
+0b8bff007b199affffce9998ff005cfffeffffb23334ff00373334080bff002ccccc
+ff0008e668ff0012e668ff0021b3348bff002e199808bb6cb6656d7b7c731e8b7798
+74ad87998a9c808b7e8b695f83808bfffff8cccc8bfffff9999aff00004cccfffff9
+999aff0000ccccffffd5199aff0013999cffffcf4cccff000a4cccffffcc199a8bff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4cccc08ffffd41999ffffc3
+b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecccc8b
+ff00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff0048
+4ccd8bdf080b2accfb00f71b1ec88bb9a1acabb6b59ec78bc58bff003b3334ffffec
+b334ff00413332ffffd14cccff002ae666080bb4ff0006999aa4ff001f33348bff00
+2de66608b872b2676f7b7d741e8b789976ab88988999838b7f8b6b6285818bfffff5
+e6668bfffff7b334ff00006666fffff6b332ff0001999affffe7199aff000b6666ff
+ffe26666ff0006999affffdd33348b4c8b5871686208686279538b4f080b598b6f8f
+598c85858b809185d18899868d388d388d5a8b388b38895d893889387d8645880885
+858b809185080baf8bbe86f28b08f721f750cef78af74efb2ff730fb541f478b4786
+658b080b90c395c997bf848d8a8e7e8b6c467248fb0189080bfb5f87057affffffb3
+3383ff000f4ccd8b948b908e919094d4f5f74cf799f70af72cff00151998ff001b33
+34ff0002e668ff0006cccc8b968b92868f838b080ba0d0b1ff002d9998d6ff000166
+6808f76b8f059cff00004ccc92fffffdb3348b858bfffff9b33480fffff04ccc8684
+2afb0ffb52fb9e25fb2c858389838b8408819086991eff016c4cd006a6ff0063b330
+868b1f0b78980566706972666569af6aa464a808777e05ae65b05ea85c080bff0001
+b334ffffdee666ff00011998648bffffc6199a8bffffd64ccdffffff8000ffffd3b3
+33fffffeb3346287ffff7c199a8affff80e666598b808b7e8f849281957f9b758b08
+807681796eaf7d9e1fa08bbf8eb0aaff002f1998ff0026199aff001de668ff0048e6
+6688f736ffffff6668ff001dcccdffffff1998ff003199998bff001d999a8bff0032
+cccdff00013334ff00249999ff00014cccff0032999aff00013334bdff0002ccccc1
+8b8b8b8f868e838b086f806382468289858d858d85c18693fffff9e6668effffc719
+9a080b79fb004c6e678b5d8b5fb28bdb8b948fff0003b33395ff00004ccd080baeaf
+aca5c28bad8bbd77a95a9e6c965b8b5408fba0870580ffffffcccd84fffff933338b
+81083bac33f719ff005a199aff0069e666dcf7251e8bc07dc06caf6bb159a2468b43
+8b526a65598e819186968a080b8bffffc8e6668bffffd5800089ffffbf999a080bff
+fffd800038fffff1800086458885858b809185080bbbdb868b1f99bd9ad093beffff
+f5999891fffffe8000ff00023333fffff2e668fffffccccd080ba17493668c403985
+4c7e6273080b697771618b658b63996dac78a07fad85ad8bae8bbb9bb7b896978f8f
+9382080b9f74b05ee18bca8bc2b1a7be88908394838c6f6a6969588b688bffffd966
+66ff001ee666ffffe8e666ff001f999affffe84cceff00206666fffff86666ff002b
+80008bff002b999a08f76f8eb8ae8bd88bab61cafb008b558b59746c6068cb428d74
+8b083d416154789473a8a3989c9a1f8b928a91898f898e8a918b958ba7afa0b08b9f
+8ba785997c080b8792858f828b75757b7b6e8b668b7ea08ba58bff0031e666ff0026
+6666abff0054999aff00453334acff0014b332ff001c1998ff001b0001ff0016999c
+ff00203333ff0027ccccff0038b3339fff00484ccd8bdf08f763fb20f70efb471eff
+ff9cb3338bffffac6667ffffd13334ffffc93333ffffb4ccccffffd41999ffffc3b3
+34ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8ba78bff001a999a
+ff0003199aff0018e666ff0005ccccffffc86666ffffd88000ffffd8999affffd680
+008bffffd4199a8b55b177bd8b08b48bb39fa8b8080b8792858f828b75757b7b6e8b
+668b7ea08ba58bff002db333ff00203334ff001eb333ff00468000c5ff000b8000ff
+00073334ff000a6666ff00084cccff00096666ff0009199ab6b59ec78bc508ee55f7
+08fb261e4c8b58716862686279538b4f8b2accfb00f71b8bff000a199a8bff0009cc
+ccff0000999aff00094cceff00013333ffffcd9999ffffdab333ffffdd3333ffffd8
+cccd8bffffd6b3338b55b177bd8b08b48bb39fa8b8080bffffb46666fb0b05fffff7
+e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707
+f70188960574a1ffffe666668cfffff9999a8b08868b858a888a080b8b828e848f87
+08ee37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff
+0004999808ffffc4b334f701058693848f808b6e8b7fffffea33348bffffefcccc08
+0bffffe8999afffff16666ffffede668ffffee19981f8b858d84908508f706fb0205
+8d898d8a8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c
+083df71f058694848d7f8b080bffffe08000fffff58000ffffe9ccccfffff233341f
+8b868c85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66668b
+ff0002999a8b8c8b8dfffffeb3348e08ffffc14cccf7230587948390808b080ba706
+92b2bfa1bc8bc08bba75936408a70686d151b6428b498b4b618544080ba697057de0
+58bd458b508b4b5a7f3508a67f0595c5b9abbf8b08c18bb6669656080ba70692b2bf
+a1bc8bc08bba75936408a70686d151b6428b08498b4b618544080b8b838d84908708
+e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b928b8dff
+ffff6666ff00053334fffffe199aff0003cccc08ffffc98000f702058693848f7c8b
+fffff04ccc8bffffe9b334fffff14ccc8bffffe8b334080bffffc6333293ff000219
+9a9effff9e4ccd8bffff9ab3338b32488b218bffffa2e666ff0042e666ffffd2ccce
+ff004d8000ffffde4ccccaffffe4999aff0067999affffea33328bffff8d33348b3a
+ffffd0cccc57ffffb033348bffffa280008b45ff0034800075ff0063800008fffff3
+b3338fffffff6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff
+0058b3338bff002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff00
+23ffffff00248000ff003d999a8bff003f999a8bff005f33344ab8ffffb7e666ff00
+1ecccc08ffffcf199aff0014ccccffff766666ff002633348bed8bc3ff0034999acd
+ff003ae6668b080bff0061199a8bb4439f49ff000b8000ff000033348dfffffecccc
+949208fffffc8000bb87a7fffff5b334c0080bff00024cccffffadb334ffffffb334
+ffffce4ccc8b388b388b5d893889387186458885858b809185bc8cff002466668fff
+0036999a8bff003633348bff0022cccc87bd8a0891918b968591458e719089de89ff
+005280008bff002d80008bde8bdeffffff4cccff00304cccff0002b334ff0054b334
+8dcb949baf8b08ab06d68bba679c3e968b8f8c948f84b986c18ab8080bbc8cc08fa9
+8b08ff007566668b632b9185059b90958c9e8b080ba2957d7671767d6d1f778b808f
+7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff0015
+8000ff0039b33305ff003fccccff0004e666ff0032ccceff001f8000ff0022e666ff
+002de66688958590808c68676a71548b698b599f6dbc78aa80bb8bc208f7a08f050b
+96ff0000333392ff0006cccd8b9508db6ae3fb19ffffa5e666ffff96199a3afb251e
+8b569956aa67ff001d4ccdffffdd3333ff002c6666ffffe9cccdff003c4ccdfffffc
+80000867ffffa980009185059b90958c9e8b080bff000b199aff00094ccea09791ff
+fffc999896fffff780001fffff40ccce06fffff6b333fffff69999777f84ff000366
+6780ff0007b3331f0bffffefcccc8bfffff1999aff0007b334fffff26666ff000d33
+34080b7aff000f6664ffffed4ccca1ffffe680008bffffdb80018bffffec6666ffff
+d5199cfffff4199affffbf1998ff00051999fffff96668ff00086667fffffee664ff
+00096666ff00023334ff00088000ff00244cccff00088000ff00108000ff00161999
+8bff000e80008bff0010199afffff73334ff000f4ccefffff3e668080bff0011cccc
+fffff09998ff0011e666ffffec3334ff0012b3348bff0027199a8bff00189998ff00
+2ae664ff000a3334cdfffffae666ff00046668fffff7999aff00034cccfffff6999a
+fffffee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b080b78807e7b
+7c987e9c9c98989a1f99839a751e0bfb1f072e82686e1e868b878f8a918799839a7c
+8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f726070ba68da68b1e90
+898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0b8b9c8a8c058b
+678a7173708c8b1e8a8a8b7a05888f898e1e9b8b9388966e08d7fb61058e83908690
+8b938b948e8f9608c2f727c3fb28058e839086908b928b948e909608daf75c0596a8
+9892998b088e8f8c8f1f8b9c8a8c058b758a7876638c8b1e8a8a8b7a05898d888d1e
+94069d9487801f8b86898588830850fb2a52f72d05889489928b8f0895938c9d8e8d
+8d8e1e8b9c898c548a0578658c8b1f8a8a8b7a05878d8a8e1e9d8b92869570089474
+5cfb1551f72d05879589928b900892918d961e94068d8d8d8e1f0b657565681f8b71
+9a3fe687088f9c05619379b08ba208968f9292b490a49c9b809d671e0bffffb46666
+fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b93
+8f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b868b858a888a080bf7
+37077f8f828d828b848b8489818708fb390797879389938b928b938d9691080b9895
+9d97928792821ffb61067f817a7f848f83931f0b8b81f71e3d05ff000fb333fffff7
+3333ff00084ccdfffffccccd918b928b92938b918b92889183940829f2058a8c868c
+878b6e8b74748079080b908b928c938f08f717c3058e8e8e988b938ba7819e839508
+818ffb0c24057f8080828b828b888c80988b080bf73c068e908d918b928b92899486
+95084df700068592838e838b848b8388858708fb034a07888489858b848b848e8391
+82080bfb3c06888689858b848b848d82908108c9fb000691849388938b928b938e91
+8f08f703cc078e928d918b928b9288938594080b707f059936be59d18bc68bcbbc97
+e10870970581515d6b578b558b60b080c0080b8792858f828b75757b7b6e8b668b7e
+a08ba58bb9adabc9be087d9c053b5a4b578b538b55b177bd8bb48bb39fa8b8080b8b
+5884876a8987878b7f8f87a08c9e8ba48ba48b9c8ba18a8f8f8b99878f6a8d848d8b
+be08f77707b38da58b1e8f898d851e7b855e8272898a868b7f8f87ab89938f8b5708
+0b8e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc88bbd5d9e58a0080b69
+9981948ba38ba6a098a48b9e8bad81995108a28c82d605809264956c8b5a8b5e6b8b
+618b5eaa7bb978080bbd7693778b768b707380738b748b789784917b9b85a68a9908
+0b687b727b7a9573b3ff00183333ff0004cccdff00069998ffffec66681f8b74776b
+527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff0015199a9b9f92a1
+8ba308af74b0641e0b687b727b7a9573b3ff00183334ff0004ccccff00069998ffff
+ec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff
+0015199a9b9f92a18ba308af74b0641e0bff00a34ccdff003c4ccd8bff00254cccfb
+7cffffac33348bffffe46666f77cffffac33338bff00254ccd050bffff5cb333ffff
+c3b3338bffffdab333f77cff0053cccd8bff001a8000fb7cff0054cccd8bffffdacc
+cd050b6ea373a8a8a3a3a8a873a36e6e73736e1e0b9c7bb454616a68757f937c9e94
+9895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a
+7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080ba697057de058bd458b508b4b5a
+7f3508a67f0595c5b9abbf8bc18bb6669656080b6ca274aaaaa2a2aaaa74a26c6c74
+746c1e0bccf72c470792859288918b928b928f959308e2070b998793771efb4d067b
+7c7e801f330792889287938b08928b928e9392080b98959d97928792821ffbed067f
+817a7f848f83931f0b98959d97928792821ffb75067f817a7f848f83931f0b390751
+b273bb1ea48bb9999ad00872930584707b73798b08777fa2c21f8bbf7592050bf737
+077f8f8b8d828b848b8989818708fb390797878e89938b928b8a8d9691080bbd61b4
+581e828b838a848908936c05908d908b918b08ada2716a6c756f681f828b848c848e
+087f6d0596869689988b08beb5b4be1f0bf71c8bf71cb0ebf707087a9d053e4e3d53
+fb588bfb548b31c346c8087a7905e5fb05f71464f72a8b080bf9730698989f979488
+93801ffd73067f7d777f838e82961f0b478b6a9a63bd08717d05b256c86dce8b08ef
+f70cbaf74df71241e6fb2d1f478b566d645608a57d05b2bda59acd8b08f3ae34fb0b
+fb1e5462411f0baca4a6a9ac6ea56e6b716f6c6ea26fae1f0b8bd58ebeb1b39ea0b6
+a3af8bcd8ba47cb35908a5990564c055a9488b448b50706463686974478b5c8b34a1
+58b463b263c177cb8bcd8bc9a9b2c00871990562586a7a488b578b3ea68bf730080b
+7e8b808587800857fb23058a888a878b888b849185938b8f8b908f8e8f08e7f70e05
+8f908d938b908b9f759a778b080b7e8b808587800857fb23058a888a878b888b8491
+85938b8f8b908f8e8f08e7f70e058f908d938b90089f759a771e0bf763fb20f70efb
+471effff9cb3348bffffac6666ffffd13334ffffc93333ffffb4ccccffffd41999ff
+ffc3b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb0ff73e8bff006ecc
+cc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027ccccff0038b3339fff
+00484ccd8bdf080b88ff009eb334058bff0027ccccff0005b33499ff0006e666ff00
+0c800008ff007fb332f77b05a7ff0032b334ad92ff002cb334ff00044ccc91918b95
+85916d8a6388748b748b6a8e638c85858b819185ff002c4ccc88a4fffffa1998ffff
+e9b334ffffd5e66808ffff89199afb7405827afffff8e6668efffff733349b08ffff
+81ccccf77205ffffe7ccccff002a9998ff000e3334ff00056668c38e91918b968591
+638a6587638b648b608f6d8c85858c809185b588ff001f199afffff76668ff002899
+99ffffbb999808ff00836667fb7105ff00118000ffffe28000ff00066666ffffff80
+008b660888fb2a05fffffe66663afffff0999a843b8885858b809185bc8cff002466
+668fff0036999a8bff003633348bff0022cccc87bd8a91918b9685913b8efffff080
+0092fffffe8000dc080bf703b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e
+8bfb14e22cf70066088f51248b050b568b789286c0fffff7b333ff0003999afffff7
+999aff0000b333fffff7b333fffffbb3338b62ff00024ccdffffd83333ff0004b333
+ffffd9cccd08f76906969191941f83f714050b2fc964c88bf70408f714d1f70af71f
+f716db21fb211e8bfb0063422f560883fb1505829086971ef764060b8fad8eb88bb3
+fffff8b3348ffffff74ccc8b8187855276885a8b082a060bfb83075aa36ec01eb48b
+b5b59fae8994868a818d79747578708b087885a0a81ff78607aa89c88b1e7d857e87
+798b808b758c858c088989059b6a8c618b70080b8b8b3c8c598c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a9191
+8ba08591458e7a908bde08f855070ba39795a31ef70f06d68b9859a046ff0009b334
+fffffeccccff00099998ff0000e668ff0009b334ff00044ccc080bfffffbe666ff00
+544cccfffffa999aff0026e668fffffa8000ff0021cccc080b648a3a8a8b8b080b74
+8b578f598c85858b809185d1889c838b3808fc39078b387a83458885858b809185bc
+8cff001bcccd8fff003133338bff0030cccd8bff001a333387bd8a91918b96859145
+8e7a938bde08f841070bc9a197a31ef76106a3a17f4d1ffc41078b387a8345888585
+8b809185bd8cff001a33348fff0030cccc8bff003133348bff001bcccc87bc8a9191
+8b968591458e7a938bde08f839070b8bde9c93d18e91918b96859108598a5b87708b
+080b8ca89b9ed38b08d0d267fb13fb00545a2a1f0b738b618d7e8e0890078bde8ceb
+8cde080b568b789286c0fffff7b333ff0003999afffff79999ff0000b333fffff7b3
+34fffffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f769069691
+91941f83f714050bf70cf77c057f8b76867d8b7d8b79907d8b085efb0e0588848986
+899578de66b9458b0834fb0c53fb441f0bfb0abf3cf70e1ecc8bb7b3bbe908936605
+0b9a4aa56bae8bb58ba3a2a0c78592848f808b7b6e7e85738b758b78a67fbe080b6b
+3063505f8b084470def2f702c4cfcb1fc48ba44ca12f080bc0b1aec01e948bab8693
+8b08a1929396968191791f868b60868a8b080b6263a3cdcabb99a91fb08b9c6e9576
+957b947ca08b08979e92a7ad53ae42fb056a46651f8b5da46fb779088a070b467379
+588b678b54aa4cf7128bc78bc0a7aaa98b958492838e6671677c5e8b08575cb0be1f
+0bffffffcccc89ff000033348b1e97078baa88a98991fffffeb333ff0003ccccffff
+fd4ccdff00023334838b080b70817283498289858b868f85be8694838d5708fb8707
+8b7a89718d818f7b9381aa8b08af83b6af1ff777070ba8b8b7a7c08b08c58b594d1f
+fb9b078bfb018a4c7f6b08957ad3ab058f9a8c9f8ba28bb088b88bbc08f7a607f702
+6eb44a1e338b54507b73080bba8fc88b1e8f878e831e70816582498289858d848d85
+bf86957e8b5508fb1107fb05a140f714e9e9ddf73af70765d04f7b7b7e7b1e8b7598
+7d9e81a77caa7d8b2f082d5623333e85d1eb1e0bf70cf77c057f8b76867d8b7d8b79
+907d8b085efb0e0588848986899578de66b9458b0834fb0c53fb44fb0abf3cf70e1f
+cc8bb7b3bbe9089366050bffffffcccc89ff000033348b1e97078baa88a98991ffff
+feb333ff0003ccccfffffd4ccdff00023334838b70817283498289858b868f85be86
+94838d5708fb87078b7a89718d818f7b9381aa8b08af83b6af1ff777070b93b18bba
+8bc208d507a67ba981b48b08f714e9dff726f70135e5fb071f5e8b5d7f636271716c
+6b8bfb1808fb4e078bfb0a81597f6b08957a050b254c4d3c1e608b64a66da808f726
+07f71fc6abb4d7d951fb2b1e0b8bf70334e331b67e888b808a83ee409e328b458b22
+6d68468b658b6aac6ecd99ae94c08ba208a288977172816a6d1e8b788d67976c6d47
+756f688b448b6fcd8bf68bf708bdb9c9b28a948694848ffb005d4b3d8bfb0508fb11
+d545e11ec18baaa9a5d0a046b16dbc8bf7088bcae68bee080bf76f07f724d2f728c6
+1e9d8b957d927891789c81988b08a0999d9fae6ba35a1ffb0c8b5dfb488250088206
+80f71253f705218b618b6378746eff0002b333fffff88000ff00064ccdfffffb1998
+93fffffc6668a19d9b94b28ba88bab75a952a45a9d2e8b2708fb50078b387a833b88
+85858b809185bc8cff002280008fff003580008bff0035199a8bff0020e66687bd8a
+91918b9685913b8e7a938bde080b799c0570633f4b208b08fb1e41f716f72df793f7
+14bad91ff18bd452947508a8a305899049e4fb1e8b08fb35fb21fb1efb59fb47f70b
+fb2ef7501ff7048bd6cfaeca080b8bb7e0f720d9f71357fb93fb0359fb3ffb371e20
+8b3ece71b3087b7a05ae4cd343f7048b08f74af714f725f74ff759fb22f71ffb341f
+fb058b38468171080b9fdbb9afcd8b08c606b08bff00094ccd78ff0001b3334e080b
+c58ba86bce8b08c6caa8a493868f871f838b7b7b658b080bff00028000de998ed190
+91918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d85858b809185d185
+ff000f8000898d38088d388c5a8b388b388a5d89388938fffff0800086458885858b
+809185b28dc88ea98ba98bc589b4880891918b968591458efffff180009089de080b
+89ff005280008aff002d80008bde8bdeff00008000bcff00028000dfff00028000de
+998ed19091918b9685916689ffffc18000886d8b6d8bffffbc80008e6b8d0885858b
+809185ff003c8000fffffaccccff0013ccccfffffdccccff00058000ffffc9e668ff
+fff9199afffff0b334fffff480007afffff5199afffff2cccc08fba6fbea05fffff9
+b333fffff9b333fffff8e667fffffc199a86ffffff4ccdfffffee666ff00329999ff
+ffff8000ff0028e6678bff003d66668bdeff00008000bcff00028000dfff00028000
+de998ed19091918b9685916689ffffc18000886d8b086d8bffffbc80008e6b8d8585
+8b809185d185ff000f8000898d388d388c5a8b388b388a5d89388938fffff0800086
+45880885858b809185b28dc88ea98ba98bc589b48891918b968591ffffc38000ff00
+02999affffece666ff00041999fffffab334ff0036b333ff00071999ff0010199a96
+9bff000a4ccdff000d800008f7a6f7e805ff0004b334ff0005999aff00073332ff00
+04b332ff00076666ff00023334ff0001199c57ff00009998ffffd533348bffffc24c
+cc8b388a5d89388938fffff0800086458885858b809185b28dc88ea98b08a98bc589
+b48891918b968591458efffff180009089de080b6a749c9c1f8b908cff0003cccc8b
+ff00043334089a819a7470817d7857c674cdcdc6a2bf9e81997074817c7c1e8bffff
+fb4ccc8cfffffcb3348b86087a747a6a1e0bff003de666ffff81199aff00438000ff
+ff7ce666ff0038199afb186c406b796b8b7d8b7c988494819775927d8b086d78776f
+6bbb74b51fe58bc2d5b6f70108ff008db334f7fc05ff00124cccbbff0013b334ff00
+324cccff003e4cccff0004b33491918b9685916d8a648a748b748b5e8c668c85858b
+809185ff00524cccfffffc4cccfffff8b334ffffdbb334775308fb01fbbf858b05ff
+ffd1199aff0063999affffd14cccff00644ccc5eff0069199affffe5999ac482a5d7
+9291918b968591668affffc7b3338affffe44ccd8bffffe4b3338bffffce4ccd8c70
+8c85858c80918508c2869772ff0020800044080ba58d05908e8e901f8b9e898d055a
+8a6c8a598b598b6f8c598c0889898b7805868f888f1ea58905b2889a828b6d08fb64
+07698b618c759954ab7dcb83c3080b82c971c3408b08597a6e746ea0809f1f978b98
+90949595969390978ba78b916a906e954da035d36f088607498b666071455bfb1b5c
+476b88087c8a05868988861f0b8b6a9e78a673a970cf73ef8bf7138bf70ec58bf717
+8be04ad02d9a0891070bd19fc8bc8bdf8bdd49d2fb1f8b408b497244840873fb34a9
+8905a5e3c5d3f7068b08e1b25345467046211f708b6791708b087f7a8777779c8697
+1fa68ba891ac8b080bf70db0414230504e281f3d8b58ab72ba7ea57ca56f8b08777e
+7b731f0b5b82adac1ff77fd607f714b0314f1f4d6c31fb2c1e0b8b387a8645888585
+8b769185bc8ca98cbe8ba88bab89af8b08ff00bf8000ff00568000ff0033e666ff00
+85199ae471f0fb6f1f33f72a060b8bde9c90d18e91918ba085915a8a6d8a588b598b
+6e8c598c85858b769185d1889c868b38080b4c8b6065508b658b7b9b838b08878687
+8372ca6ec61f0b8b40896d1efb08060b8b888dfffffe4ccc8fffffffb33408a98905
+aefffffdb33491fffff84ccc8b65080b8e89cc8d05b88ca6d299b49fc79eb0df8b08
+fb1d078b6e80806b8608848a05868a88898b86088b788d89058bc38dafb2c5898b1e
+8d8d8b9e058b90878d868c08838c056a8f81978ba808f71d07df8b9e669f4f9962a6
+44b88a08cc898e8d8b9d058b92858c868c08848c056a9067e07cb278be67a05b8b08
+8d07af95a3ae99b594aa96a1958b938b90888f8791859787948b089c9c9e9fa382a0
+661f608b71577c5a7a536e664e8b087af707068ba89594ac8f080b938c05908c8f8d
+8b90088b9e898d058b51896467538d8b1e89898b78058b868e89908a08928a05ac86
+95838b6e08fb077a074e8b6eb07ac3080b7cbc71bf608b0866827673779c789c1f94
+8b978f91918f8f908e938b958b9675946c9961a368af810889075b8b677678587c64
+67366a8608848a05868a858a8b84080b8b75997b9f7ba279bd76d58be98be7b58be2
+8bc757b440950890070bc298bcac8bc38bc559b7268b548b5c7558850875fb0ba487
+059dc5b5c9da8b08c1a9685f5f75604a1f798b7290798b088380867b7b9787931f9d
+8b9f90a28b080bdea2585f506667461f568b6ba678ac819c819a738b087a7c7d7b1f
+0b60498d8b1f88898b75058b878dffffff4ccc8fffffffb33408a98905ff0025b333
+fffffd8000ff00024ccdfffff780008b6108fba2078b68fffffdb333fffff56666ff
+ffda4ccdfffffd999a086c890588ffffffcccd89fffffe33338b88088b758c8905b3
+8ca78cb68bab8b948ab38a088c8d8ba0058b8f89ff0001999a87ff00006666698e88
+968ba3088b8df762f78c8bfb80058b68fffffcccccfffff36666ffffda3334fffffd
+999a086c890588ffffffcccd89fffffe33338b88088b758d8905b38ca68cb68bb88b
+a98ab38a088c8d8ba0058b8f89ff0001b33387ff00004ccd086d8d05ffffdd3334ff
+00024ccdfffffaccccff000ab3338bb008f7a1078bb5ff0003199aff00078000ff00
+24e666ff0002800008a98d058fff00004ccc8dff0001b3348b8f088ba08a8d058b45
+895e6f5e8d8b1e89898b75058b878dffffff4ccc8effffffb334ad888c7a8b7308fb
+62fb8c8bf782058bb48eff00088000b1ff0002800008a98d058fff00004ccc8dff00
+01b3348b8f088ba0898d058b45895f1e0b9e7d9973797a7d7a1e8b888b898c898c88
+8b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c
+7955c26acc1ecbc5abc21f0b8bafa090a88e088f8f90901f8b9c898d058b53896468
+478d8b1e89898b78058b868e89908a089e8905ab88957e8b6f08fbb1078b6f848168
+8708788905868a88898b86080bffffd5199affffbce6668d8b1f0b8b878dffffff33
+348effffffcccc08a98905ff0023b333fffffd999aff00054ccdfffffb66668b6108
+0bf54bed2a1e6b8b55815d450888060bfb14076b6b647f5a8b084d84add91fcd078b
+abff00073333ff0007ccccff0020cccdff00023334089a8c058fff00004ccc8dff00
+01b3348b8f088ba08a8d058b4e8964ffffddb333ffffca4ccd8d8b1e8a898b75058b
+878dffffff66668effffff999a08938a05ff00224ccdfffffbb334ff0006b333ffff
+fb4ccc8b6508520721ae5eed1ec78bab99b2a808fb03078b64fffffb3334fffffa80
+00ffffdbccccfffffb8000087b890587ffffff800089fffffe80008b87088b768d89
+058bc68db4b0c6898b1e8d8d8ba1058b8e89ff0001999a88ff00006666087a8d05ff
+ffdb6666ff00044cccfffffc999aff0006b3348bb108f7a7078bb4ff0009199aff00
+05ccccff001ee666ff0001333408a58c058eff0000199a8dff0001e6668b8e088ba1
+8a8d058bffffbbb33489ffffd44cccffffdbb334ffffc74ccc8d8b1e89898b75058b
+878dffffff4ccc8fffffffb334089a8a05ff0022ccccfffffdb334ff00063334ffff
+f94ccc8b64080bff00033334ff004ee666ff0006ccccff0005199ac59091918b9685
+91638affffe7666887ffffd699988bffffd6999a8bffffe866668f628c85858b8091
+85c587ff0006ccccfffff9e666ff00033334ffffb1199a088d598b2b8959fffffccc
+ccffffb1199afffff93334fffffae666518685858b819185b38cff001933348fff00
+29cccc8bb48ba287b48a91918b95859108518ffffff93334ff0006199afffffccccc
+ff004ee6660889bd8beb8dbd080b395c7c595d7a95ae1ef72ace07d2a15e561f0b8b
+6efffff96666fffff3ccccffffdb999afffffc33340878890586ffffff800088ffff
+fd80008b86088b788d89058bff003f66668dff0028999a1eff002766668bff001633
+3489ff002766668b08f703c9c1dfe939a52b1f52ee068ba8ff000a4ccdff000b999a
+ff0020b333ff00036666080b9e8d058fff000066668fff0002999a8b91088b9d898d
+058b478a6467478c8b1e89898b79058b858efffffd800090ffffff8000089e8905ff
+0023999afffffc4cccff00076666fffff4b3348b6e080b608b706f688b7e8b7f9184
+8b08858981877db979b61f0bb88b9da1b18b988b988797868bfb0b5e50378b638b70
+a37fa67dab7f907a8b0879807e7b1f0bb18b9d75b88b08b6b99d998f8995851f848b
+7f857e8b080b9e7d9973797a7d7a1e8b888b898c898c888b888b88087576776e6d77
+a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c7955c26acccbc5abc21e0b
+570760724527fb0958f72ff72bf744cef70ade9f9d7d7e1e8b7c85848b7308719f71
+afb292aca8bd5ebb3cfb20fb04fb2afb49fb2cbffb4ff75c1ef28bb0b3aabc089106
+aa5ab063f28b08f75cc0f74ff72cf749fb05f72afb203c5e5b596e926ab2afa0a5a5
+1f8ba384928b9a08989d999fdecffb0afb44fb2b57fb2ffb092771d1b61ebf07a799
+9bb41ea506908e8e901f8b9e898d058b2e896764348d8b1e89898b7805868f888f1e
+a606b29a7f6b1f0b6c0766844b452e7bf717d4f700a7e1d8998f86831e8b868a8689
+8888888a858b840878997d9e9f9a9ba0a974af4ffb01442efb1626c9fb16f7071ed9
+8ba9b29bb2088e069b64a964d98b08f708c8f716f0f71644e8fb014f74676d769a7b
+9f9f99999e1f8b928991898e898e89908b9008938f9099d9a635fb00427bfb172e45
+84cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d058b47896467478d8b1e8989
+8b7805868e88901e9e06ad947b6f1f0b4365665a7f6f81a663be45ae08f70df77205
+0bd2f70c059195918c928008dcfb1105566a7869807282a476b251ac080bff007a33
+348bff00674cccffff978000ff000eb334ffff503334ffffdf8000ffffe81998ffff
+d0e666fffff33334ffffdfe6668b080b4c8b6dba298bffffda999a8bffffc23333ff
+fff1999affffd8cccdffffe0999affffffe666ff0002e6668bff0002e6668b8e08f7
+66f702ece61e0b8bfffffd8000ff00001998fffffd80008bfffffd66668bfb4732fb
+09fb068bffff8f80008bfb01ff0066cccdffffef999aff00a66667ff0022b333ff00
+179998ff00361999ff00053334ff001d999a8b080bd68ba35de78bff002666668bff
+0032b332ff000bccccff002a4cd0ff0027ccce080b3a8b71464afb4f8b8b4ffb3a68
+fb00086ee3fb11f7f805899389918b91080b9b9795af1ea606908e8e901f8b9e898c
+058b328a68643d8c8b1e898a8b7805868f888f1e9106b28b9d7a956e08f759fcc505
+907c9483968b958b9693919accf768caf73c8b8b080bd7f7719b95a38ba28b90808b
+828b7c78808b7b0875997ba4a69fafa31eb362af621e0b998f87821f8b7c808a8b7a
+08759e7da3a797a4a3b36aac631e478b69666bfb030851fb597fb435f76e05859987
+938b92080b8b9594919f8c089c068e918c921f8b9e878d058b4e896469568d8b1e88
+898b7705879088901e9606a98b957d986908f71cfbed05907f9282988b958b939491
+9908e0f7ab059ecca8baa98b080bffff6a4ccc8bffff9b199affffa96668ffffda33
+34ffff7e333208fffff2333306ffffbde667ffffc9333395ff002a999aa7ff001ae6
+67ff00154cccff00166666ff00143333ff000e80009eff000fb334ff0011e664ffff
+f18000ff000b4cd0fffff16667ffffd21999ffffceb334ffffc5b330ffffc03334ff
+ffba999ac479ff004c33331fff001fb333060bff000b999affffec999807ff001566
+68ff005f7ffeff00476666ff0056e668ff0065e6668bed8bdd4aaafb15080bffffbc
+199a8b3effffd1e666ffffde4cccffffab3334ffffca4ccdff00013332ffffd54ccd
+ff000a33348bff0023800008a4a39e9f9d989c999b7e957e625f57524dbe7bcf1eff
+0001b333060bff00178000ff00544cccff0036999aff0017b334ff002080008bb98b
+b7648b3b8b8287fffffc4ccc81ffffffb33408fb1cfffffc80008bff000780008b9f
+050bc0bfbebce88bf71b8be7fb218bfb4e8b7d8b7f8a8008fc720696fb22d2fb16f7
+548b08f755f1f723f757f73335f741fb6b1ffb028b5c663c41080bf8190679274b2d
+218b298b43cb6cf716080bae8bad6fb68bff001c199a8bff001e8000ff000cb333ff
+00168000ff000c3333080bfffff56666fffffccccdfffff44ccefffffdcccdfffff4
+4ccc8b080b658b759f5e8bffffd966668bffffc6e667ffffef199afffff4b333ffff
+f1b333ff00003333ff0052cccdff001a199aff005f6666ff0055b3338bff00453334
+8bff00329998ffffc38000ff000e3334ffff9ae666080b89ff005280008aff002d80
+008bde8bdeff00008000bcff00028000df080b789b7b9e9e9b9b9e9e7b9a78787b7c
+781e0b789b7b9e9e9b9b9e9e7b9a781e787b7c781f0bccffffd2b33306fffff54ccd
+fffffa3332fffff8b333808bfffff3199a08789b7b9e9e9b9b9e1e8bff000c8000ff
+fff9199aff000ab333fffff5e666ff0005e66708ff002de666cbb5fb38070b8bb765
+97719237a5b097769b8b8b6a838b468b64a372bb7fffffe24cccffffda6666ffffee
+199affffd3999afffff5e666ffffd1999a08fffffeb334ff00016666fb4ef762057c
+9c82a28aa8087e06747280708b708b6c986da46e08ff001e8000ffffde6666050bff
+ffc4e666ffffd9199affffec999affffb166668bffffce199a080b8b60b04b8b6d8b
+7b797d7c89878a88878b878b898c898c8908f006a3a4a9ab1f0b8bc828c88bc78bff
+001a3334ff0008cccdff00303332ff001eb333ff0014ccce08ff01028000fffee2cc
+cc059a7a94768d72ab8b9ab68baa8baa7ea972a808ffffbe999aff0046800005ffff
+f7b332ff000f4ccdfffffbb334ff001099998bff0010999a8bad9bb5b1bda3899265
+968b088f9abeaa1f0b2006708b7ca186a2088b5a824362a86dbc1ff72e06dca17dfb
+301f8b4d8064826108fbc68b7327f8288ba2ef398b05b2c38fd98bc208f72989ddfb
+3c1e0b8bb193d88bb08bc86196618b728b6a8b84ad8b8b5f818b478b56c6819e8808
+0bbe84ab818b2a8bfb1d5c6321787586837586718a858b868b868b7d8e808b8508f7
+0e8fd5f72e928b050ba95a89fb07b98b91948d998b988b9789988995087bdf54cf8b
+da080b8bf700e0738bde08b7729d5e1efb7206708b7b9685a2088b61854162a477bd
+1ff78c06525e6f448b31080b8b5b8f5c8b4c8b76877a837f089606a3b792da1f8bd1
+80ce8bd0080b85f7f7058bed6c915494768f679186a98b8b58828b538b62ae6bbc83
+c083a47f8b52080bcdae95e68bb58be6799e458b6c8b688b86b18b8b61868b488b5f
+aa71c189bc89a9788b6a088b5d81646871080b6c8b716d80537d4a82688b798b7a97
+87908b938b9599b7cfabbca2b18ba38ba56c917f8b080bfb81078b718b80897c0899
+87059192939491939b7da481a98b08ccc1d0d5cf66c94d1f718b7482727b08c507b5
+8da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184611f0ba0
+9b9791a58b08a9a965422effffd780007fffffe88000756a98bf1f0b77767a81758b
+08696ba6e5d5a7a6ad1fa48ba1779b78080bf77407b58da58b1e90898d851e7b845d
+837189088c7905898d8a8d1ea08a05989184611f62077c997392718b083e663d4b3e
+bb59cd1fa38ba1989e9b088d8b896a9b8b050bff000c4ccdff0007b334ff001effff
+95ff0027b334ff00074ccc08899d6c8e057d8c888d8bac080b768b739b7ca17f9e87
+a48ba48b8d8b9a8c8f08f73e0688c97ac4368b08435b444142b34fe01fb98ba9a2a5
+ae08779b0578757776658b080bfb020690a8a4b0aa8b08a3a47e561f0ba08ba37b9a
+7597788f728b728b898b7c8a8708fb3e068e4d9c52e08b08d3bbd2d5d463c7361f5d
+8b6d747168089f7b059ea19fa0b18b080bf70206866e72666c8b08737298c01f0b97
+969599977e98721f758b79827b79080b829178946e8b578b56698b528b6a9c789c7b
+080b7b7c7d728b768b759b7b9a84080b6c7777748b710855c07db8dae2a7ce1e8b9f
+829a7a9a73a1628f758b818b7c897d8a828a848a888b080b8b988d96929599839d87
+a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e85088d849186958b08
+0b91889588928b928b948c948b938c928b908ba98b9f859c82a47f93858b7b085e4d
+87561e0b76568fb91f8ba08d989e9d080b5a82b7abbb9d9aabb0a074591f0b7b845d
+837189088c7905898d8a8d1ea08a050b4e6c6d6e6264b4d9daff001dcccda9ff0022
+3333b5ad513c1e0b7b845d837189088c7905898d8a8d1ea08a05989184611f0b98ff
+00128000a4ff00178000a48b08a7a767422e628874756a98bf1f0bc60690948d901f
+9d078d898d881e0b47ea06657e8b80055c817362898b8a891e7307898c8b8d1e0b8b
+f7528a8c058b7d8a82ffffe64ccdffffd7b3338c8b1e8a8a8b7a05878e8a8e1e9506
+0b9c9487751ffb380778757588768b086d779bbe1f8bf73e8a8c058bfffff2999a8a
+fffff76666ffffe7ccccffffda33348c8b1e8a8a8b7a05898c888f1e92069e8a918a
+8b7308fb180748a972b81eb08bae9b999c088d8b896a9b8b050b8e849085908b928b
+958e8f9608e1f75c0599ab968f988b088f8f8c8f1f8b9c8a8c058b758a7876688c8b
+1e8a8a8b7a05898d888da09588801e8b86898587820849fb2a4af72d05889289908b
+900895928f931e96068d8e8d8e1f8b9c898c058b678a7878648c8b1e8a8a8b7a0587
+8d8a8e1e9f8b90869968080b355f434242b34ee01fb88baaa3a4ae08789b05777578
+76658b758b739a7da27f9e87a38ba48bdcb5acaa8bb18b90738d758d7b9884998b08
+9996949fad6aac4c1f0b818b858f8a8e0876068b6f8770866d08a18a0597b7a0919e
+8b08d78bfb26fb6e0586838b8a8b8708878f88951ef759068e9e91a896af08758f84
+7a057c6a8183678b08418bf722f76605989e8b8f8b8d088c078e878b871e898b6f89
+798b080bff00003333ff0048e666ff0000b333ff004f0002ff0001199aff00461998
+ff00008000acff0000800095e28b080bc3d76025364d68381f0bfffff53334ff0002
+8000fffff58000ffffffcccdfffff54cccfffffdb3336e5d5d556763918292859489
+b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a9092
+0867b35fc06eba080bfffff53333ff00028000fffff58000ffffffcccdfffff54ccd
+fffffdb3336e5d5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666
+ff0001e666ff0008999aff0008199a90920867b35fc06eba080b8b9f93979393afaf
+bdb3b18b9e8ba07f9675080b9578ff0002cccc5dff000133346e8d598b528959ffff
+fce666ffffb2199afffffa199afffffce666598686858b809085b38c9c8fb18bb28b
+9d87b48a0890918b9686915690fffff8199aff0003199afffffce666ff004de66689
+bd8bc18dbdff0002199abffffffce666ba75a87ba06d976a8b5c8b507e514a088887
+84828b988b8b8cf7648dbdff00028000c9ffffffe666fffff8e668ff0001999aff00
+2319988b92888d828b7381497f658889838d86918508bd88ff00084ccd90ff0002b3
+333b8d4f8bfbf4894ffffffd66663cfffff6999a88548785858b809185b28ca18fb4
+8bb08b9987b38a0891918b9685915b8ffffffa3333ff0003199afffffccccdff004e
+e66689bd8bf70b8b8b080bffffc5cccdffff974ccc05fffff9b334fffff4b334ffff
+fd8000fffffc80008bfffff6199c8bfffff9ccccff00056666fffffaccccff000566
+678bff000566668bff0006199aff00038000ff000b8000ff000d333408ff00589999
+ff005fe664fffffdb334ff0009b33405ffffee4cccff00136668ffffec3334ff0000
+ccccfffffb19998b08fffffc199a8bfffffb8000ffffff3334fffffdb333ffffff19
+98080b9896a097918796811ffb7506fffff5000280777f848f80941f0b7081698349
+8289858c858e86bf86ff0007cccd86ff00023333548d598bfb008959fffffce666ff
+ffb2199afffff6199afffffbe666578785858b80918508a68db68eaa8ba68bb288a5
+8991918b9685915b90fffffa199aff0003199afffffce666ff004de66689bd8bd08d
+bdff0000cccd9fff00073333979393080b72a076a4a4a0a0a4a476a0721e72767672
+1f0bff001b4ccdff0021b334ff001f4ccdff00174cccff002366668b08c8c350fb0a
+3d69fb09201f7a8b6e907a9a789c869b8bad8b8b8bf7128dbdff0000cccd9f8eff00
+124cccff000b3333ff000db334080bfffff63334ff000d6666fffff5ccccff000ce6
+668bff0007b3348b94ffffff8000ff0005199aff000b8000ff000ee66608f71df745
+05ff0022b334ff002ce668ff002e9998ff0019ccccff002cb334ff00044ccc91918b
+9685916d8a6687748b748b618f638c85858b809185ff002c4ccc88ff000d3334ffff
+ed6668ffffe88000ffffde999808fb0ffb4305fffff68000fffff26666ffffff8000
+fffffe999a878b888bfffffab334ff00028000fffff84cccff000b800008ffff9180
+00ff00a3cccc05ffffe3cccdb3fffff4b333ff00183334c38e91918b968591638a63
+87638b648b6a8f6d8c85858c809185b588ff001f8000ffffedb334ff00293333ffff
+c54ccc08ff008e4ccdfb5f05ff000c4cccffffee8000ff0001b334fffffd80008b81
+8b85fffffeccccfffff8199afffff93334fffff6e66608fb28fb5a05ffffddb333ff
+ffd2199a5cffffe73333ffffd34ccdfffffbb33385858b809185a98cb08fa28ba28b
+b587b38a91918b968591ffffd3b3338efffff2199a9dff00183333ad08f718f74d05
+ff00078000ff000a6666ff00058000ff0008999a8e8b8f8bff0003b334fffffa6666
+ff00074cccfffff5999a08ff007b8000ffff50333305ff001c4cccffffd7b332ff00
+0b3334ffffe8199a538885858b809185b38cb38fb38bb28bac87a98a91918a968591
+618effffe36668ff0016b333ffffd59998ff003a4ccd080b9c7bb454616a68757f93
+7c9e949895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f83
+7f807a7e758a6908a7068da5959c9c9b089b9b9a9b8b9f080b9b7cb34b556f69767f
+927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d8383
+82827f7f7e7d8b6a08a5068da49a979d979c969b968ba1080b9b7cb34b556f69767f
+927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f741e8b7d8383
+82827f7f7e7d8b6a08a5068da49a979d97089c969b968ba1080bffffcb199affffa0
+cccc05fffffa4cccfffff5b334fffffdb334fffffce6688b828bfffffa6664ff0004
+e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00033334ff000a8000
+9708ff00508000ff00573334fffffde666ff0008cccc05ffffefe666ff00119998ff
+ffee199aff0000ccd0fffffb80008bfffffc80008bfffffbccceffffff3330fffffd
+e666ffffff3334080bb6b59ec78bc58bff003b3334ffffecb334ff00413332ffffd1
+4cccff002ae666080b657565681f8b719a3fe687088f9c05619379b08ba208968f92
+92b490a49c1e9b809d671e0bddfb1b058d888c89908b08959092908c8a8e8b1f64f7
+2c0588968192798b748b7d7a8b7b8b878c868d87080bf70cf77c057f8b76867d8b7d
+8b79907d8b085efb0e0588848986899578de66b9458b080b34fb0c53fb44fb0abf3c
+f70e1fcc8bb7b3bbe9089366050b818b7a87877b086afb2f8b8a05888d81971e8e8b
+8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b080b808b7a87877b086afb2f8b
+8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f8b8f8b9683a16f8b080b638b
+76ba548b628b766a7e54080b96a9999ba08b080bb18baa5db58bb68ba5a997c3080b
+7592057e697d7e778b080b657565681f8b719a3fe687088f9c05ffffd5ffff93ffff
+ee0001b08ba208968f9292b490a49c1e9b809d671e0b758bfffff8999aff0008199a
+ff00043332ff000a333208ff00693334ff0102b3348e8bebfba9050b6d7d797b7b90
+75b41f0b9391837e1f8b747666618208907a05d193abc98baf08af75b0651e0b968f
+9292b490a49c1e9b809d671e0ba8b8b7a7c08b08c58b594d1ffb9b078bfb018a4c7f
+6b08957ad3ab058f9a8c9f8ba28bb088b88bbc08f7a6070bf7026eb44a1e338b5450
+7b73080b89df8abc8bdb9690e78dc78bc78bf7058a97858a468c46894089387b8645
+8885858b80918508bc8ca88fbe8bbd8ba987bd8a91918b968591458e7b9089de89dd
+8bb98bde8bde8bbc8ddf080b8dde9b90d18e91918b9685915a8a6d87588b598b6e8f
+598c85858b809185d1889b868d38088d458b618b4d8485fb098a4f8b4f8b2a8d8490
+8bca8cb48dd18dde9990d18e91918b968591085a8a6d87588b598b708f598c85858b
+809185d18899868d388d388d5a8b388b38895d89380889387d86458885858b809185
+bc8ca88fbe8bbd8ba787bd8a91918b968591458e7d9089de080b657565681f8b719a
+3fe687088f9c050bffffd5fffe9379b08ba2080b5a8a6d87588b080b598b6e8f598c
+85858b809185d1889b868d388d458b618b4d8485fb098a4f8b4f8b2a8d8490088bca
+8cb48dd18dde9990d18e91918b968591080b598b708f598c85858b809185d1889986
+8d388d388d5a8b388b38895d893889387d8645880885858b809185bc8ca88fbe8bbd
+8ba787bd8a91918b968591458e7d9089de080b818b7a87877b086afb2f8b8a05888d
+81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f089683a16e1e0b808b7a87877b08
+6afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f8b8f089683a16f1e
+0bf763fb20f70efb471effff9cb3348bffffac6666ffffd13334ffffc93332ffffb4
+ccccffffd4199affffc3b334ffffe9999affffb180008bffffa8cccc8bfb59f720fb
+0ff73e8bff006ecccc8bff00578000ff002fb333ff0036e668ff004e4ccdff0027cc
+ccff0038b3339fff00484ccd8bdf080b88ff009eb334058bff0027ccccff0005b334
+99ff0006e664ff000c800008ff007fb334f77b050b619379b08ba2080b8bf70334e3
+31b67e888b808a83ee409e328b458b226d68468b658b6aac6ecd080b99ae94c08ba2
+08a288977172816a6d1e8b788d67976c6d47756f688b448b6fcd8bf68bf708bdb9c9
+b28a948694848ffb005d4b3d8bfb0508fb11d545e11ec18baaa9a5d0a046b16dbc8b
+f7088bcae68bee080b8bf70334e331b67e888b808a83ee409e328b458b226d68468b
+080b568b789286c0fffff7b334ff0003999afffff79998ff0000b333fffff7b334ff
+fffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f7690696919194
+1f83f714050b568b789286c0fffff7b334ff0003999afffff79998ff0000b333ffff
+f7b334fffffbb3338b62ff00024ccdffffd83333ff0004b333ffffd9cccd08f76906
+969191941f83f714050b818b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8c8f
+080bd7f71f058d8f8c8f8b8f8b9683a16e8b080b7e8284808b7e8b868d878e8708f0
+fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e8b8c8a8c8b8c084df726058990
+878f858f868d868c868b08848b858a8687080b7e8284808b7e8b868d878e8708f0fb
+0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e8b8c8a8c8b8c084df72605899087
+8f858f868d868c868b848b858a8687080bfb790751ad71b81eb68baa9a98d0087390
+058668827b728b0876829fc91f8bf761809c050bc7f72f0590989194a38b08ff00d0
+80008bff003f8000fb4c050bff000e199862ffffd78002ff00006666ffffd06666ff
+fffc999a85858b809185b08cc28fb28bb48bb687b08a91918b968591ffffd93334ff
+00038000ffffdeccccff0003800079be08fb65f8da057c8273807e8b08fb7cfcb605
+ffffe63333ffffc34ccdffffe14ccdfffff5b333ffffd480008885858b809185b08c
+a28fb28bb48ba987b08a91918b968591ffffda6666ff0002999affffd06667ff0006
+b333ff00103333ff0029b333080b89df8abc8bdb9690e78dc78bc78bf7058a97858a
+468c468940080b89387b86458885858b809185bc8ca88fbe8bbd8ba987bd8a91918b
+968591458e7b9089de0889dd8bb98bde8bde8bbc8ddf8dde9b90d18e91918b968591
+5a8a6d87588b598b6e8f598c0885858b809185d1889b868d388d458b618b4d8485fb
+098a4f8b4f8b2a8d84908bca8cb48dd1088dde9990d18e91918b9685915a8a6d8758
+8b598b708f598c85858b809185d18899868d38088d388d5a8b388b38895d89388938
+7d86458885858b809185bc8ca88fbe8bbd8ba787bd8a0891918b968591458e7d9089
+de080ba6a5a0a71f8bff001f800071ff00068000798e788d7a948ba28ba0afbbbf98
+8bff00064ccc89ff0006666886ff00054ccc4f80525f8b450852ff00204ccd61ff00
+1eb3331e0b7071766f1f8bffffe08000a5fffff980009d889e899c828b748b76675b
+577e8bfffff9b3348dfffff9999890fffffab334c796c4b78bd108c4ffffdfb333b5
+ffffe14ccd1e0bffffd8000171644f1f8b45c75bc780ff0006cccdff0005e666ff00
+019999ff00093334fffffc999aff0009e666579869b88ba08ba29c919e8d9d8ea5ff
+000980008bff001f800008a775a06c1e0b7071766f1f8bffffe08000a5fffff98000
+9d889e899c828b748b76675b577e8bfffff9b3348dfffff9999890fffffab334c796
+c4b78bd108c4ffffdfb334b5ffffe14ccc1e0bffffd80001ffffe5ffff644f1f8b45
+ff003c00015bc780ff0006cccdff0005e666ff00019999ff00093334fffffc999aff
+0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a0
+6c1e0b7179a5b3cbbad9b89da67c5c57682d511f0bb5b4b0bbbfda0872a3054c3f64
+604e5a8b8b7e808486087b07928698808b8bc85ab260ca3f08a4a30557da66bb61b4
+080b6162665b573c08a47305cad7b2b6c8bc8b8b98969290089b0784907e968b8b4e
+bc64b64cd708727305bf3cb05bb562080ba9b1abc1c1b34a4a1e8b5c796e6566080b
+4d5087508b60085d078492889393938e921eb7078ba38ca397a4949c9e9ba19cb8ad
+c6b78bda8be64cc72a8b588b637d6f726e73786f8b650868a3839a9d9e97a21e8b98
+8991879087908a918b9a080bbb9a42553e853e505583d9c3c08de9c91f0bc6cdbcf7
+0bf70d4bb3514655432d36be3dd01f0b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e
+0ba68da68b1e90898d851e7b845c8371898a838c848f85080bab8996908b5608fb01
+078b627e88638986838c7c8f85a98c968bae8ba98b9b8ba98a8f928b99879308698d
+7a8e8bb4080b8b627e88638986838c7c8f85a98cff000ab3338bff00234ccd8ba98b
+9b8ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8be00594838c851e848b
+7f808482898885828b8508522f07a1adcadeb8d0086c95056252472b5e4a088f7ff7
+238b050b627a685e1e758b80928294839383927e8b08817f837e73c77eadd0bcc0c7
+c167bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378b75fb239188059992a092
+a18b08d38e506d1f0b6584695f6f63a2df1e8b918b938c90a09ca191998b08c48f54
+751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e07fb2d8051248b390823d2
+6ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4c4f70ec0e608fb42067b86
+8c8f1f79060b8a718463866f08a0880597bb9291a78b080ba4a37d701f8b6e766f7b
+8208779505669f88a28b9a08a9a394a31e0bb35ca65e565b6e5e1e8b6e9b71b37808
+9785050b65775e668b670849cf7bb7e5aac4ab1e8baa79a46c9c0864a005c6ad8fa9
+8b9a080ba87d05b3778c718b720862717f67736496b81e8badb2b29b94080bb192ad
+b7a7b374381e7707757a75867d8b085386c1a11f0b7a943cec1ea48ba69c9a997f51
+6948fb0178087807f72d97c7f28bdd08f341a7593c6f4a671e0b8b43aa4be551089a
+950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b44080b8bd25fd83ebc087c
+8005ca489e5e8b418b407d664743089a8105e5c5aacb8bd3080b9ea2a0a1a08b08aa
+9f7a581f0b326340444bba47dcff0053199aff002ee666d1ccff0048199a66ff0046
+e6662f1f0bd7c8c8d7d8c84e3f3f4e4d3e3f4ec9d71e0b2fd641e6e7d5d5e7e641d6
+2f304040301e0b5592fc95fd7dc083050b7656645a788b086a8bb2aecdbdefbf9e97
+73711f8b82845f7d68080b808d77ac1ead8baa9eb3b408779c057d7a7e81848b888b
+898e8b928b918d948e9808bcf7655b8b736905849e7d9a698b0840232526669f52cf
+1fa18bab98a8a7080bc68baea9abaa0870a105716e64767c8b087b6c98d5eabec4b6
+909a87771f8b78898d8b7e0880917fa795aa93a4ab73b0443a3039fb0062b649cc1e
+0b826686758b758b6da17ca18bb08bb4a4c6d108769c05696377787b8b848b88938b
+958b958d9c94af08b5f735050b4e6c6d6e6264b4d9daff001dcccca9ff00223334b5
+ad513c1e0b8b617e68776f73695c7a408b0858f7bc06a390a78eae8b08c8dd6dfb0a
+1f0b8bff024e80009bff00008000058d8c8d8b8e8b08a58e7a6e1ffc8a076f8a7b62
+1e0b8b6270715f85fffffd4cccfffff6e666ffffff4ccefffff4999aff00056666ff
+fff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b334ff00068000ff
+fffa4cccff000b8000859781907d8b08fffff3b334fffff38000fffff7199afffff2
+b333ffffe08000ff00469998fffff4b333ff001a3334dbc6b9d01f8bc55ca66a8e08
+0ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33349dff0004cccc
+96929ba7939c8b089ba183711f0b958b998e8e9dff00014ccdff0007e668fffffd33
+33ff000cccccff00038000ff00084ccc90979794aa8b080b627a685e1e758b809282
+94839383927e8b08817f837e73c77eadd0bcc0c7c167bf3d1f7d8b72868285080b90
+adfb378b75fb239188059992a092a18b08d38e506d1f0bf85107a8999cb61eae06b5
+9b7d6b1ffc51076d7c7a601e6806617c99ac1f0bfbae076e807b6b1e65066c809ba8
+1ff7ae07a7969baa1eb106ac957b6f1f0bbe88ff00086666fffff94cccffffee999a
+ffffd9b3340832fb6f7a607ab935f76e05fffff5e666ff0017999afffffd8000ff00
+10b332ff001f999aff0003b334089c8d058eff0000666691ff0001199a8bff000680
+00088b9e878d058b4e896469568d8b1e88898b77058b8690fffffe999a90ffffff66
+66ff001c8000fffffc8000ff00154ccdfffff76666ff000e3333ffffdc199a080bf7
+1cfbed05917c9185988b958b9291929c08f71ef7e7059bb2a293a88e089e06ac957b
+6f1ffbae070b6b8b60896b8b6b8b608d6b8b08fbb339fb57fb16fb4ff70c2ff74e1f
+ab8bf7038da58bab8bf589ab8b08f74ef70ff1f74ff70267f761fbe31f0bfa5cbffd
+c606aeb0adc0abcf0864065f5a65666b726b716a766a7b080b6707ac7bad76aa71ab
+72b166b75a08b3066acf6ac068b008f9c5bf060baf076a9b69a06ca56ba465b05fbc
+086306ac47ac56ae6608fdc557060bfe5c57f9c606686669566b4708b206b7bcb1b0
+aba4aba5aca0ac9b080bd9b2fb058606fb39fd40fb0ef7670569716171667808986f
+cba5f720fb85b19f050b7262414a588b084466ddcdcaabbbcb1fc88bd625a558080b
+62cd3dce3c8b082249242cfb02d259d41fd58be0d9b4c5080b3e7cfb0a6f1e7a8b7d
+aa708b0878777a7772a179abedcbe6f7c51ff70b078bca87d38bbd8bf7199fb0a08b
+a38b8d6aab8b08a39f9ca1a4739d6e2151fb04fb8a1ffb17078b3b8d718b3b080bf7
+10f2eff710f70f24f1fb10fb0f2525fb0ffb0ff026f7101f0bfca9fba15ef8e1b8fb
+a1f8a9070b717173736fff001ae66673ff0015199aa3a7a0a6a373a7731f0bff00b6
+3334ff00000001ff00944cccff009480008bff00b6666708ff00b66666ffff6bb334
+ff0093199affff49ccccffff49ccccffff6d3333ffff6ce666ffff49999affff4999
+99ff0092cccdffff6b8000ff00b633341e0bff00a26664ff00834cd0ffff7dccccff
+ff5d6668ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff0083
+8000ff00a2999aff00a13332ff0081e667ff0083999aff00a266671f0bfb1c06ff00
+216666ff00356668c4ff0053b332ff002cccceff003d3334ff0000ccccffffeb199a
+ff00003334ffff9be666ffffffccccffffb2b332080bffffff4cccff00138001ffff
+ffccccff003119998bff0031199a8bff0031199aff00003334ff0031199aff0000b3
+34ff00138000ff00014cccb2ff0001999aff00278000ff0001199aff000880008bff
+00031998fffffe4cccff00003334fffffdb3348b67ffffe9b334ffffdfcccc7bffff
+c6cccdffffe54ccc8cfffff8999aff0002e666fffffd199aff0005cccd8708ff001d
+999aff000c4cccff000eb3338fff000c4ccd8bff000ab3328bff0001999afffff066
+66ff0000b334ffffe9e666ff0000b332ffffec8000ff00004cceffffcf199a8bffff
+d24cce8bffffd24cccffffffb332ffffd24ccdffffff4cceffffec8000fffffe3332
+ffffca1999fffff6b334fffffccccdffffd2800089fffffc199afffffc199a8bffff
+f8e666ff0003e666fffffc199a08ff001fe666ff0000b333ff0012199aff00028000
+ab8bff001e33348bff000e9998fffffd8000ff00208000ffffff4ccdff0003e668ff
+0003e6668bff0007199afffffc1998ff0003e666ffffd280008dfffff6b334ff0003
+3333fffffe3334ff0035e667080b968bff000a6668fffffc1998ff0007ccccfffff8
+e668ff00143334ffffef1998ff00158000ffffc8199a8bffffa8e6668bffffc43334
+89ffffd08000fffff6e664ffffdee666fffff1b334ffffcab334ffffdc3334fffffa
+3333fffff44ccc8b08ffffc8b334fffff08000ff0075b333ff00388000ff009fe666
+ff002b999aff00244cceff001d33321f0bbdff004c1998ff0032b333ff0098cccd1f
+8bff00404cccfffff06668ff0036999affffe36664ff0025b334ffffebe668ff001a
+b332ffffebccccff00103334648b08ffffbfb334ffffc2ccccffffb34cccffff7f4c
+ceffff96b333ff00316668ffffa3b333ff004980001f0b8aa9ffffff8000ff004b80
+008bff004b80008bff004b8000ff00008000ff004b80008ca98dc7ff00024cccc8ff
+0001b334988bff0004ccccfffffd8000ff00003334fffffc80008bffffc8b334ffff
+ddb334ffffce4cccffffe74ccc3362ff0001999afffff4999aff00046666fffffb80
+0094fffff9e66608ff002d80009eff00168000919e8bff001080008bff0002666673
+ff0001199a698c6dff00008000ffffb4b3348bffffb9cccc8bffffb9cccdffffff80
+00ffffb9b3338a6dfffffd333438fffff1cccc86458885858b80918508bc8cff001b
+cccc8fff003133348bff002e80008bff0016800087bd8a91918b968591458efffff1
+cccc90fffffd3334de080bffffffffffffffdd999a8effff4f3334ff009f199affff
+764cccff0007b333ff00018000ff0000b333ff00056667ff00024ccdff00061999ff
+ffe6cccdff001d199affffa68000ff0069999a8bff00c933328bff00c93334ff005a
+3333ff00699998ff00188000ff001b8000fffffd6666ff0007ccd0ff0000999aff00
+056664fffff74ccdff0000999c303dffffb8e666ffff8033328bffff71b332080b8b
+ff00226668fffffce668ff00b0b332ffff60e664ff0089b332fffff86668fffffe80
+00ffffff3334fffffa999cfffffdb334fffff9e664ff00193330ffffe2e668ff0059
+999cffff9680008bffff36cccc8bffff36ccceffffa5b334ffff966666ffffe78000
+ffffe48000ff00029998fffff83333ffffff6668fffffa999aff0008b330ffffff66
+66e6d9ff00473334ff007fcccd8bff008e4ccc080b769e80a09ca49a9e1e8b938990
+8992899285948b9308a4a0b9d4afc8682b1e8b4b7e57504f0841420529277b5b8b50
+088bb48dab1ef74306abb9898b1f98c095d68ca98590888d81897a447a68678b08fb
+50068bbbd0d9909008f0ec05c4c2b6b78bd708f70029b73afb0350394f1e0bb7b969
+4d1f8b5a4b34317d089075059c8d988b988b08c4d679fb05fb192c62681f588b82ac
+7f9d81997e97778b087676787b63df70c7f70bf5dcf7181f8bf7013eb45095088a8d
+05eac790b98bad08b565cb25fb27612b6a7d9577a3a895ac9ecbd0a1a51e0bf75e06
+3dfb5632fb6147fb2c089384c78e05c4f73ec7f73af704f7a5087b97057a86758565
+8b08fb6206698b8d95798f888b8a8b8b888a5b804f8357ff000ae666fffffce666ff
+0000199afffffeccce96ff00014ccca1dbac9cab8b080b9c8b9b859780aa71ac358b
+fb1a8b2f88427d5875395482798b08ffffaae668ffffe81998f749e2f78acec3b81f
+0b8bff00226668fffffce660ff00b0b332ffff60e668ff0089b332fffff86668ffff
+fe8000ffffff3334fffffa999cfffffdb334fffff9e664ff00193330ffffe2e668ff
+00599998ffff9680008bffff36cccc8bffff36ccceffffa5b338ffff966666ffffe7
+8000ffffe48000ff00029998fffff83333ffffff6668fffffa999aff0008b330ffff
+ff6666e6d9ff00473338ff007fcccd8bff008e4ccc080b77767e84758b086967a0e5
+d5a7a4ad1fa48ba1779b78080b7273057c9c71946e8b083e663f4b3ebf5ecd1fa28b
+9e969e9b0820078b75fffff56666fffffc4ccdfffff1999afffffeb33308808a0588
+ffffffb33389ffffff4ccd8b870879078bb38ca5a3b08a8b1e9e078b8d8aff000166
+6687ff0000999a08848c05ffffe7ccccff00038000ffffff3334ff000380008b9f08
+f7e70791898e881e878b85868788080bfb4afb27fb27fb4cfb4af727fb28f74af74a
+f727f728f74af74afb26f729fb4b1f0b7f8b6d827c840882a605ba9ca597b6a6089b
+fb990675977c991ea6068e8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf
+069b999aa11ff72c07ab89957e1e0b7e8b6d827c840882a605ba9ca597b6a6089bfb
+990675977c991ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8e8e8f1eaf06
+9b999aa11ff72c07ab89957f1e0b8b7c886d506908b27605aa7a9d728b6c086b6c51
+315f489ccc1e8bb0b7afb1a0087f9105639e7ca58ba808b8bba8bfb8b96f641e0bff
+00be8002f72ff72eff00bd3334ff00bd3334fb2fff00988000ffff417ffeffff4180
+00ffff668000ffff678000ffff42ccccffff42ccccff00998000fb2eff00be80001f
+0bff00b2b332ff008f3334ffff71ccccffff4e8000ffff4e7fffffff6f4cccffff71
+cccdffff4eccceffff4d4ccdffff70cccdff008fb333ff00b00001f744ff008f3333
+ff008fb334ff00b2b3331f0bff009b0002ff007f1998ff007c999aff009b8000f72e
+fb16ff0073ccceffff67e666ffff67e667ffff7f9999ffff8c3332fb2efb2eff007d
+8000ffff81e666f72f1f0bff008dccceff00749998ffff8db334ffff733334ffff71
+b332ffff8b6668ffff8d999affff723332ffff70cccdffff8e4ccdff0073e666ff00
+8cccceff008cccccff0073199aff00724cccff008dcccc1f0bf7c4fffecfe666ff01
+30199aff0130199afffecfe666f7c4050bf715f4f4f715f71522f3fb15fb152323fb
+15fb15f322f7151f0bf707e82ffb07fb072d2efb06fb072fe8f707f706e7e8f7071f
+0bedd43b302f433c282843dae7e9d6d8eb1f0bf6e13520203435212035e2f5f5e1e2
+f61f0b7d968099999696999980967d7d80807d1e0b7d96809998979699997f967e7d
+80807d1e0beadadaeaeada3c2c2c3c3c2c2c3cdaea1e0b91819587908b928b908c95
+93088bf739f724cb0590948b8e8b918b90859c7d9008fb3e408987050b8bf752898f
+fb3ed6057d86857a8b868b858b88908208f7244b8bfb39059583908a928b908b958f
+9195080b749e78a2a29e9ea2a2789e74747878741e0b8b66a6598b6a8b78827e738b
+6b8b7ba87e8b087c81837d78ad71bbbbaca8b91f0ba573a5736f73ffffe51998ffff
+eae66873a06fa61ea3a7a3a31f0b95cbb58e988b08a0a67f5c858889861f0b777577
+816c8b086b5aade01ff72a06918f8f91bb79be40555059344aae55d91fb48bada0a1
+a9080b7c977f9a9a98979a9a7e977c1e7c7f7f7c1f0b9c8b9b859780ff0009e666ff
+fff7b33495fffff1b334ff0009199a7708ffff58999afffe754ccc05fffff26666ff
+0034e66686ff003b99998bff0027cccd8bf78acec3b88b080b2c533b4f1e658b7ea8
+7c9f7e9c7a9a768b087878807762e069c4f710e3e7f712ec48e2fb041f608b5c8279
+84089ff74505b087b586bb8b080ba98bad8db48f089bc5848f050b52855586568b66
+8b678d688e0869fbaa05c09fb18faf8b08ccc456fb011f0bfb168bf715f71305c2c1
+a3b28bb78bc564b82b8b308b515a7b599283978899889fbeb99fba8bb78ba5708b58
+088b5478712429082227957505958cbe8ca38b08f72106b18bac8a9b8a90a994ba9c
+c28291848a828c087e700574588585558b080bffffda4cccffffdf4cceffffd7b334
+fffffe199affffebe6668b082972f704bdf702bac6bccad25ffb3f1f8bffffe8999a
+fffffd80006ffffff9999a6d080b818376848a898d909393a1918e8c88881e0b7684
+85721e7806888989881f8b808d89d98d050bbb8af48b8bfb2705669673ac1ea68ba5
+98a3a7088095057c807d857c8b087b869db11ff70ac50792938d911f0b70f71fa607
+0bff000c4ccdff0007b333ff001effff95ff0027b334ff00074ccd08899d6c8e057d
+8c888d8bac080b8cfcd0498b058bff001566668cff01ae999affffffcccdf70c080b
+>
+%%EndResource
+%%BeginResource: font LinLibertineOI
+/FontSetInit /ProcSet findresource begin
+/LinLibertineOI 413118 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654f49000102000100441c09c500
+1c09c6011c09c7021c09c803f815047f0c02290c03b30c04fd0ffbcc1c181bfa1105
+1d000052b50f1d00000000101d00006502111d000000421d00055c6f120842020001
+0008000f001b00290030003c0043004a00500056005d0064006a0070007b00860090
+009a00a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106
+0111011c012201280132013c01480154015f016a016e01720178017e0185018c0192
+0198019f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e
+02220226022c0232023e024a02500256026102640267026e0275027b0281028e029b
+02a102a702b302bf02c502cb02d102d702e202ed02f502fd0305030d03130319031d
+03210327032d0334033b03410347034c0351035e036b037203790384038f039a03a5
+03ab03b103bb03c503ca03d103d803df03e603ed03f403fb0402040904100417041e
+0425042c0433043a04410448044f0456045d0464046b0472047904800487048e0495
+049c04a304a804ad04b404bb04c204c904d004d704de04e504ec04f304fa05010508
+050d0512051905200527052e0535053c0543054a05510558055f0566056d0574057b
+0582058905900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f2
+05f906000607060e0615061c0623062a06310638063f0646064d0654065b06620669
+06700677067e0685068b06910698069f06a606ad06b406bb06c206c906d006d706de
+06e506ec06f306fa07010708070f07190723072a0731073c0747074e0755075c0763
+076a07710778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da
+07e107e807ef07fb08070813081f0826082d0834083b0842084908500857085e0865
+086c0873087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc
+08e308ea08f108f808ff0906090d0914091b0922092909300937093e0945094c0953
+095a09610968096f0976097d0984098b0992099909a009a709ae09b509bf09c609cd
+09d209d909e009e709ee09f509fc0a030a0a0a110a180a1f0a260a2d0a340a3b0a42
+0a490a500a570a5e0a690a700a770a7e0a850a8e0a9c0aa30aaa0ab10ab80abf0ac6
+0acd0ad40adb0ae20ae90af00af70afe0b050b0c0b130b1a0b210b340b3b0b420b49
+0b500b570b5e0b650b6c0b730b7a0b810b880b8f0b960b9d0ba40bab0bb20bb90bc0
+0bc70bce0bd50bdc0be30bea0bf40c020c0c0c160c260c3a0c510c5b0c650c6c0c73
+0c7a0c830c8c0c930c9a0ca10ca80caf0cb60cbd0cc40ccb0cd20cd90ce00ce70cee
+0cf50cfc0d030d0a0d110d180d1f0d260d2d0d340d3b0d420d550d5f0d690d730d8f
+0d960d9d0da40dab0db20db90dc00dc70dce0dd50ddc0de30dea0df10df80dff0e06
+0e0d0e140e1b0e220e290e300e370e3e0e450e4c0e550e5e0e650e6e0e750e7c0e83
+0e8a0e910e9e0ea50eac0eb30eba0ec10ec80ecf0ed60edd0ee40eeb0ef20ef90f00
+0f070f0e0f150f1c0f230f2a0f310f380f3f0f460f4d0f590f600f670f6e0f750f7c
+0f830f8a0f910f980f9f0fa60fad0fb40fbb0fc20fc90fd00fd70fde0fe50fec0ff3
+0ffa10011008100f1016101d1024102b1032103910401047104e1055105c1063106a
+10711078107f1086108d1094109b10a210a910b010b710be10c510ce10dc10e510ec
+10fc110d1121112d113611421153115a11611168116f1176117d1184118b11921199
+11a011a711ae11b511bc11c311ca11d111d811dd11ea11f411fd12091211121a1226
+1232123c124d12521256125b12601267126b126e12731277127c1282128412861288
+128f129112941299129c12a312a612a912ac12b112bd12cc12d612e212ea12f31307
+130c13101315131a132113251328132d13311336133c133e134013471349134c1352
+1357135a136113641367136a136f137b138a139613a213ac13b313b913c113c813cf
+13d313d913e013e713ee13f513fc1403140a14111418141f1426142d1434143b1442
+144914501457145e1465146c1473147a148114881491149a14a314ac14b514be14c7
+14d014d914e214eb14f414fb1504150d1516151f15281531153a1543154c1555155e
+1567157015791582158b1594159d15a615af15b815c115ca15d315dc15e515ee15f7
+160016091612161b1624162d1636163f16481651165a1663166c1675167e16871690
+169916a216ab16b416bd16c616cf16d816e116ea16f316fc1705170e171717201729
+1732173b1744174d1754175d1766176f17781781178a1793179c17a517ae17b717c0
+17c717d017d917e017e717f017f918001807180e1815181c1823182a18311838183f
+1846184d1854185b1864186d1876187f1886188d1894189b18a218a918b018b718be
+18c518cc18d518de18e518ec18f318fa19011908190f1916191d1924192b19321939
+19401947194e1955195c1963196a19711978197f1986198d1994199b19a219a919b0
+19b719be19c519cc19d319da19e119e819ef19f619fd1a041a0b1a121a191a201a27
+1a2e1a351a3c1a431a4a1a511a581a5f1a661a6d1a741a7b1a821a891a901a971a9e
+1aa51aac1ab51abc1ac31aca1ad11ad81adf1ae61aed1af41afb1b021b091b101b17
+1b1e1b251b2c1b331b3a1b411b481b4f1b561b5d1b641b6b1b721b791b801b871b8e
+1b951b9e1ba71bb01bb91bc21bcb1bd41bdd1be61bef1bf61bff1c081c111c1a1c23
+1c2c1c351c3e1c471c4e1c571c601c691c721c7b1c841c8d1c961c9f1ca81cb11cba
+1cc31ccc1cd51cde1ce71cf01cf91d021d0b1d141d1d1d261d2f1d381d411d4a1d53
+1d5c1d631d6a1d711d781d7f1d861d8d1d941d9b1da21da91db01db71dbe1dc51dcc
+1dd31dda1de11de81def1df61dfd1e041e0b1e121e191e201e271e2e1e351e3c1e43
+1e4a1e511e581e5f1e661e6d1e741e7b1e821e891e901e971e9e1ea51eac1eb31eba
+1ec11ec81ecf1ed61edd1ee41eeb1ef21ef91f001f071f0e1f151f1c1f231f2a1f31
+1f381f3f1f461f4d1f541f5b1f621f691f701f771f7e1f851f8c1f931f9a1fa11fa8
+1faf1fb61fbd1fc41fcb1fd21fd91fe01fe71fee1ff51ffc2003200a20112018201f
+2026202d2034203b2042204920502057205e2065206c2073207a20812088208f2096
+209d20a420ab20b220b920c020c720ce20d520dc20e320ea20f020f620fc2102210b
+2114211b2122212921302137213e2145214c2153215a21612168216f2176217d2184
+218b2192219921a021a721ae21b521bc21c621cd21d421db21e221e921f021f721fe
+2205220c2213221a22212228222f2236223d2244224b2252225922602267226e2275
+227c2283228a22912298229f22a622ad22b422bb22c222c922d022d722de22e522ec
+22f322fa23012308230f2316231d2324232b2332233923402347234e2355235c2363
+236a23712378237f2386238d2394239b23a223a923b023b723be23c523cc23d323da
+23e123e823ef23f623fd2404240b24112417241e2425242c2433243a24412448244f
+2456245d2464246b2472247924802487248e2495249c24a324aa24b124b824bf24c6
+24cd24d424db24e224e924f024f724fe2505250c2513251a25212528252f2536253d
+2544254b2552255925602567256e2575257c2583258a25912598259f25a625ad25b4
+25bb25c225c925d025d725de25e525ec25f325fa26012608260f2616261d2624262b
+2632263926402647264e2655265c2663266a26712678267f2686268d2694269b26a2
+26a926b026b726be26c526cc26d326da26e126e826ef26f626fd2704270b27122719
+27202727272e2735273c2743274a27512758275f2766276d2774277b278227892790
+2797279e27a527ac27b327ba27c127c827cf27d627dd27e427eb27f227f928002807
+280e2815281c2823282a28312838283f2846284d2854285b2862286928702877287e
+2885288c2893289a28a128a828af28b628bd28c428cb28d228d928e028e728ee28f5
+28fc2903290a29112918291f2926292d2934293b2942294929502957295e2965296c
+2973297a29812988298f2996299d29a429ab29b229b929c029c729ce29d529dc29e3
+29ea29f129f829ff2a062a0d2a142a1b2a222a292a302a372a3e2a452a4c2a532a5a
+2a612a682a6f2a762a7d2a842a8b2a922a992aa02aa62aac2ab32aba2ac92ad72ae4
+2aef2aff2b082b112b1f2b282b352b422b492b562b632b6e2b7c2b852b8c2b932b99
+2b9f2baa2bb72bbe2bc52bcc2bd52be02be72bee2bff2c0e2c1d2c242c2b2c322c3f
+2c492c562c632c6f2c7d2c8b2c982ca52cb32cc12cd32ce62cf02cfd2d092d152d23
+2d302d3d2d492d572d652d722d7f2d8d2d9b2dad2dc02dca2dd42dde2de82def2df6
+2dfd2e042e0b2e122e192e202e272e2e2e332e372e3d2e442e482e4c2e532e5a2e61
+2e682e6f2e792e822e892e932e9a2ea12ea82eaf2eb72ec02ec72ed02ed72ede2ee6
+2eed2ef42efb2f022f092f122f172f1e2f252f2c2f332f3b2f442f4f2f592f612f6b
+2f772f7f2f872f912f9a2fa32fab2fb52fbf2fc82fd02fdb2fe62fed2ff42ffb3002
+300a3012301c3025302e30363040304a3053305b306630713078307f3086308d3094
+309b30a230a930b030b930c030ca30d330dc30e530ec30f330fa31013108310f311b
+3122312931303137313e3145314c3153315a3161316d317731843190319c31a331aa
+31b131b831bf31c831cf31da31e531ec31f431fb3203320a3214321b3223322a3231
+3238323f3248324f3256325d326432703277327e3285328c3293329b32a532ac32b3
+32ba32c132cb32d432e032e532ed32f432fb3302330b3316331d3324332c3337333e
+33473353335a33613368336f3376337d3389339733a033a733b133b833c633cd33d4
+33db33e233e933f033f733fe3405340c3413341c3422342934303437343e3445344c
+3453345a34613468346f3476347c3482348934903497349e34a534ac34b334ba34c1
+34c834cf34d634dd34e434eb34f234f934fc3503350a35113517351e352235293530
+3537353e3545354c3553355a35613568356f3576357d3584358b3592359935a035a7
+35ae35b535bc35c735d535dc35e335ea35f135f835ff3606360d3614361b36223629
+36303637363e3645364c3653365a36613668366f3676367d3684368b3692369936a0
+36a736aa36b136b836bf36c636cd36d436db36e236e936f036f736fe3705370c371c
+37273731373b37473752375d37673773377f378a3795379f37a637b537c237ce37da
+37e837f53802380e381c382a383738443851385e386338663869386c386f38723875
+3878387e388138843887388c389a38a938b438c138c538c938cd38d138d538d938dd
+38e138e538e938ed38f138f538f938fd390139053909390d391139153919391d3921
+392539293932393b39443952395b3967396f3974397f39883991399f39ab39b439bd
+39cb39d739dd39e639ef39f83a063a0f3a1b3a203a293a323a3b3a493a553a5e3a66
+3a723a773a873a943a9d3aa63ab03ab93ac23acb3ad53ade3ae73af03af93b023b0b
+3b113b213b2a3b333b3c3b473b503b5b3b623b6a3b7a3b833b903b993ba23bab3bba
+3bc93bd63bdd3be73bf13bfb3c053c0f3c193c233c2a3c313c383c423c4c3c533c5d
+3c673c713c783c823c8c3c963c9d3ca43cab3cb53cbc3cc53ccc3cd13cd63cdb3ce0
+3ce53cea3cf13cf63cfd3d043d093d193d283d373d483d583d683d773d883d993da9
+3db03db73dbe3dc83dd23ddc3de63df03dfa3e043e0e3e183e223e2c3e363e403e4a
+3e543e5e3e683e723e7c3e863e903e9a3ea13ea83ead3eb63ebf3ecd3ed63edf3eef
+3f003f143f203f293f353f463f4d3f573f633f703f7e3f8d3f993fa63fb33fc23fd2
+3fe33ff34004400e4016402440324040404e40554058405b405e40634068406f4072
+40794080408541a141b941ca756e6930304130756e693030414474776f2e73757065
+72696f7274687265652e7375706572696f72756e69303042356f6e652e7375706572
+696f72416d6163726f6e616d6163726f6e416272657665616272657665416f676f6e
+656b616f676f6e656b4361637574656361637574654363697263756d666c65786363
+697263756d666c657843646f74616363656e7463646f74616363656e74436361726f
+6e636361726f6e446361726f6e646361726f6e4463726f61746463726f6174456d61
+63726f6e656d6163726f6e45627265766565627265766545646f74616363656e7465
+646f74616363656e74456f676f6e656b656f676f6e656b456361726f6e656361726f
+6e4763697263756d666c65786763697263756d666c65784762726576656762726576
+6547646f74616363656e7467646f74616363656e7447636f6d6d61616363656e7467
+636f6d6d61616363656e744863697263756d666c65786863697263756d666c657848
+626172686261724974696c64656974696c6465496d6163726f6e696d6163726f6e49
+6272657665696272657665496f676f6e656b696f676f6e656b49646f74616363656e
+74494a696a4a63697263756d666c65786a63697263756d666c65784b636f6d6d6161
+6363656e746b636f6d6d61616363656e746b677265656e6c616e6469634c61637574
+656c61637574654c636f6d6d61616363656e746c636f6d6d61616363656e744c6361
+726f6e6c6361726f6e4c646f746c646f744e61637574656e61637574654e636f6d6d
+61616363656e746e636f6d6d61616363656e744e6361726f6e6e6361726f6e6e6170
+6f7374726f706865456e67656e674f6d6163726f6e6f6d6163726f6e4f6272657665
+6f62726576654f68756e676172756d6c6175746f68756e676172756d6c6175745261
+6375746572616375746552636f6d6d61616363656e7472636f6d6d61616363656e74
+526361726f6e726361726f6e5361637574657361637574655363697263756d666c65
+787363697263756d666c657853636564696c6c6173636564696c6c6154636564696c
+6c6174636564696c6c61546361726f6e746361726f6e54626172746261725574696c
+64657574696c6465556d6163726f6e756d6163726f6e556272657665756272657665
+5572696e677572696e675568756e676172756d6c6175747568756e676172756d6c61
+7574556f676f6e656b756f676f6e656b5763697263756d666c65787763697263756d
+666c65785963697263756d666c65787963697263756d666c65785a61637574657a61
+637574655a646f74616363656e747a646f74616363656e746c6f6e6773756e693031
+3830756e6930313831756e6930313832756e6930313833756e6930313834756e6930
+313835756e6930313836756e6930313837756e6930313838756e6930313839756e69
+30313841756e6930313842756e6930313843756e6930313844756e6930313845756e
+6930313846756e6930313930756e6930313931756e6930313933756e693031393475
+6e6930313935756e6930313936756e6930313937756e6930313938756e6930313939
+756e6930313941756e6930313942756e6930313943756e6930313944756e69303139
+45756e69303139464f686f726e6f686f726e756e6930314132756e6930314133756e
+6930314134756e6930314135756e6930314136756e6930314137756e693031413875
+6e6930314139756e6930314141756e6930314142756e6930314143756e6930314144
+756e693031414555686f726e75686f726e756e6930314231756e6930314232756e69
+30314233756e6930314234756e6930314235756e6930314236756e6930314237756e
+6930314238756e6930314239756e6930314241756e6930314242756e693031424375
+6e6930314244756e6930314245756e6930314246756e6930314330756e6930314331
+756e6930314332756e6930314333756e6930314334756e6930314335756e69303143
+36756e6930314337756e6930314338756e6930314339756e6930314341756e693031
+4342756e6930314343756e6930314344756e6930314345756e6930314346756e6930
+314430756e6930314431756e6930314432756e6930314433756e6930314434756e69
+30314435756e6930314436756e6930314437756e6930314438756e6930314439756e
+6930314441756e6930314442756e6930314443756e6930314444756e693031444575
+6e6930314446756e6930314530756e6930314531756e6930314532756e6930314533
+756e6930314534756e6930314535476361726f6e676361726f6e756e693031453875
+6e6930314539756e6930314541756e6930314542756e6930314543756e6930314544
+756e6930314545756e6930314546756e6930314630756e6930314631756e69303146
+32756e6930314633756e6930314634756e6930314635756e6930314636756e693031
+4637756e6930314638756e69303146394172696e6761637574656172696e67616375
+746541456163757465616561637574654f736c61736861637574656f736c61736861
+63757465756e6930323030756e6930323031756e6930323032756e6930323033756e
+6930323034756e6930323035756e6930323036756e6930323037756e693032303875
+6e6930323039756e6930323041756e6930323042756e6930323043756e6930323044
+756e6930323045756e6930323046756e6930323130756e6930323131756e69303231
+32756e6930323133756e6930323134756e6930323135756e6930323136756e693032
+313753636f6d6d61616363656e7473636f6d6d61616363656e7454636f6d6d616163
+63656e7474636f6d6d61616363656e74756e6930323143756e6930323144756e6930
+323145756e6930323146756e6930323230756e6930323231756e6930323232756e69
+30323233756e6930323234756e6930323235756e6930323236756e6930323237756e
+6930323238756e6930323239756e6930323241756e6930323242756e693032324375
+6e6930323244756e6930323245756e6930323246756e6930323330756e6930323331
+756e6930323332756e6930323333756e6930323334756e6930323335756e69303233
+36756e6930323337756e6930323338756e6930323339756e6930323341756e693032
+3342756e6930323343756e6930323344756e6930323345756e6930323346756e6930
+323430756e6930323431756e6930323433756e6930323530756e6930323531756e69
+30323532756e6930323533756e6930323534756e6930323535756e6930323536756e
+6930323537756e6930323538756e6930323539756e6930323541756e693032354275
+6e6930323543756e6930323544756e6930323545756e6930323546756e6930323630
+756e6930323631756e693032363267616d6d616c6174696e756e6930323634756e69
+3032363568686f6f6b756e6930323637756e6930323638756e6930323639756e6930
+323641756e6930323642756e6930323643756e6930323644756e6930323645756e69
+30323646756e6930323730756e6930323731756e6930323732756e6930323733756e
+6930323734756e6930323735756e6930323736756e6930323737756e693032373872
+7475726e6564756e693032374172686f6f6b7475726e6564756e6930323743756e69
+30323744756e6930323745756e693032374652736d616c6c63617052736d616c6c69
+6e766572746564756e6930323832756e6930323833756e6930323834756e69303238
+35756e6930323836756e6930323837756e6930323838756e6930323839756e693032
+3841756e6930323842756e6930323843756e6930323844756e6930323845756e6930
+323846756e6930323930756e6930323931756e6930323932756e6930323933756e69
+30323934676c6f7474616c73746f707265766572736564756e6930323936756e6930
+323937756e6930323938756e6930323939756e6930323941756e6930323942756e69
+30323943756e6930323944756e6930323945756e6930323946756e6930324130756e
+6930324131756e6930324132756e6930324133756e6930324134756e693032413575
+6e6930324136756e6930324137756e6930324138756e6930324139756e6930324141
+756e6930324142756e6930324143756e6930324144756e6930324145756e69303241
+46682e7375706572696f7268686f6f6b2e7375706572696f726a2e7375706572696f
+72722e7375706572696f72727475726e65642e7375706572696f7272686f6f6b7475
+726e65642e7375706572696f7252736d616c6c696e7665727465642e737570657269
+6f72772e7375706572696f72792e7375706572696f72756e6930324239756e693032
+4241756e6930324242616669693537393239616669693634393337756e6930324245
+756e6930324246756e6930324330756e6930324331756e6930324332756e69303243
+33756e6930324334756e6930324335756e6930324338756e6930324339756e693032
+4341756e6930324342756e6930324343756e6930324344756e6930324345756e6930
+324346756e6930324430756e6930324431756e6930324432756e6930324433756e69
+30324434756e6930324435756e6930324436756e6930324437756e6930324445756e
+693032444667616d6d616c6174696e2e7375706572696f726c2e7375706572696f72
+732e7375706572696f72782e7375706572696f72676c6f7474616c73746f70726576
+65727365642e7375706572696f72756e6930324535756e6930324536756e69303245
+37756e6930324538756e6930324539756e6930324541756e6930324542756e693032
+4543756e6930324544756e6930324545756e6930324546756e6930324630756e6930
+324631756e6930324632756e6930324633756e6930324634756e6930324635756e69
+30324636756e6930324637756e6930324638756e6930324639756e6930324641756e
+6930324642756e6930324643756e6930324644756e6930324645756e693032464667
+72617665636f6d626163757465636f6d62756e693033303274696c6465636f6d6275
+6e6930333034756e6930333035756e6930333036756e6930333037756e6930333038
+686f6f6b61626f7665636f6d62756e6930333041756e6930333042756e6930333043
+756e6930333044756e6930333045756e6930333046756e6930333130756e69303331
+31756e6930333132756e6930333133756e6930333134756e6930333135756e693033
+3136756e6930333137756e6930333138756e6930333139756e6930333141756e6930
+333142756e6930333143756e6930333144756e6930333145756e6930333146756e69
+30333230756e6930333231756e6930333232646f7462656c6f77636f6d62756e6930
+333234756e6930333235756e6930333236756e6930333237756e6930333238756e69
+30333239756e6930333241756e6930333242756e6930333243756e6930333244756e
+6930333245756e6930333246756e6930333330756e6930333331756e693033333275
+6e6930333333756e6930333334756e6930333335756e6930333336756e6930333337
+756e6930333338756e6930333339756e6930333341756e6930333342756e69303333
+43756e6930333344756e6930333345756e6930333346756e6930333430756e693033
+3431756e6930333432756e6930333433756e6930333434756e6930333435756e6930
+333436756e6930333437756e6930333438756e6930333439756e6930333441756e69
+30333442756e6930333443756e6930333444756e6930333445756e6930333530756e
+6930333531756e6930333532756e6930333533756e6930333534756e693033353575
+6e6930333536756e6930333537756e693033353861637574652e6361706369726375
+6d666c65782e6361706361726f6e2e636170756e693033354368756e676172756d6c
+6175742e63617073706163655f756e69303330462e6361706272657665696e766572
+746564636d622e63617062726576652e63797263617062726576652e637972646965
+72657369732e636170686f6f6b61626f7665636f6d622e636170756e693033363475
+6e6930333635756e6930333636756e6930333637756e6930333638756e6930333639
+756e6930333641756e6930333642756e6930333643756e6930333644756e69303336
+45756e6930333646756e6930333734756e6930333735756e6930333741756e693033
+3742756e6930333743756e6930333744756e6930333745746f6e6f73646965726573
+6973746f6e6f73416c706861746f6e6f73616e6f74656c656961457073696c6f6e74
+6f6e6f73457461746f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f7355
+7073696c6f6e746f6e6f734f6d656761746f6e6f73696f7461646965726573697374
+6f6e6f73416c7068614265746147616d6d6144656c7461457073696c6f6e5a657461
+4574615468657461496f74614b617070614c616d6264614d754e7558694f6d696372
+6f6e506952686f5369676d61546175557073696c6f6e5068694368695073694f6d65
+6761496f74616469657265736973557073696c6f6e6469657265736973616c706861
+746f6e6f73657073696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73
+757073696c6f6e6469657265736973746f6e6f73616c7068616265746167616d6d61
+64656c7461657073696c6f6e7a6574616574617468657461696f74616b617070616c
+616d6264616e7578696f6d6963726f6e706972686f7369676d61317369676d617461
+75757073696c6f6e7068696368697073696f6d656761696f74616469657265736973
+757073696c6f6e64696572657369736f6d6963726f6e746f6e6f73757073696c6f6e
+746f6e6f736f6d656761746f6e6f73756e6930334430746865746131557073696c6f
+6e31756e6930334433756e6930334434706869316f6d65676131756e693033443775
+6e6930334438756e6930334439756e6930334441756e6930334442756e6930334443
+756e6930334444756e6930334445756e6930334446756e6930334530756e69303345
+31756e6930334630756e6930334631756e6930334632756e6930334633756e693033
+4634756e6930334635756e6930334636756e6930334638756e6930334639756e6930
+334642756e6930334644756e6930334645756e6930334646756e6930343030616669
+69313030323361666969313030353161666969313030353261666969313030353361
+66696931303035346166696931303035356166696931303035366166696931303035
+37616669693130303538616669693130303539616669693130303630616669693130
+303631756e6930343044616669693130303632616669693130313435616669693130
+30313761666969313030313861666969313030313961666969313030323061666969
+31303032316166696931303032326166696931303032346166696931303032356166
+69693130303236616669693130303237616669693130303238616669693130303239
+61666969313030333061666969313030333161666969313030333261666969313030
+33336166696931303033346166696931303033356166696931303033366166696931
+30303337616669693130303338616669693130303339616669693130303430616669
+69313030343161666969313030343261666969313030343361666969313030343461
+66696931303034356166696931303034366166696931303034376166696931303034
+38616669693130303439616669693130303635616669693130303636616669693130
+30363761666969313030363861666969313030363961666969313030373061666969
+31303037326166696931303037336166696931303037346166696931303037356166
+69693130303736616669693130303737616669693130303738616669693130303739
+61666969313030383061666969313030383161666969313030383261666969313030
+38336166696931303038346166696931303038356166696931303038366166696931
+30303837616669693130303838616669693130303839616669693130303930616669
+69313030393161666969313030393261666969313030393361666969313030393461
+6669693130303935616669693130303936616669693130303937756e693034353061
+66696931303037316166696931303039396166696931303130306166696931303130
+31616669693130313032616669693130313033616669693130313034616669693130
+31303561666969313031303661666969313031303761666969313031303861666969
+3130313039756e6930343544616669693130313130616669693130313933756e6930
+343630756e6930343631616669693130313436616669693130313934756e69303436
+34756e6930343635756e6930343636756e6930343637756e6930343638756e693034
+3639756e6930343641756e6930343642756e6930343643756e6930343644756e6930
+343645756e6930343646756e6930343730756e693034373161666969313031343761
+6669693130313935616669693130313438616669693130313936756e693034373675
+6e6930343737756e6930343743756e6930343744756e6930343745756e6930343746
+756e6930343833756e6930343843756e6930343844756e6930343845756e69303438
+46616669693130303530616669693130303938756e6930343932756e693034393375
+6e6930343934756e6930343935756e6930343936756e6930343937756e6930343938
+756e6930343939756e6930343941756e6930343942756e6930343943756e69303439
+44756e6930343945756e6930343946756e6930344130756e6930344131756e693034
+4132756e6930344133756e6930344134756e6930344135756e6930344136756e6930
+344137756e6930344138756e6930344139756e6930344141756e6930344142756e69
+30344143756e6930344144756e6930344145756e6930344146756e6930344230756e
+6930344231756e6930344232756e6930344233756e6930344234756e693034423575
+6e6930344236756e6930344237756e6930344238756e6930344239756e6930344241
+756e6930344242756e6930344243756e6930344244756e6930344245756e69303442
+46756e6930344330756e6930344331756e6930344332756e6930344333756e693034
+4334756e6930344337756e6930344338756e6930344339756e6930344341756e6930
+344342756e6930344343756e6930344430756e6930344431756e6930344432756e69
+30344433756e6930344434756e6930344435756e6930344436756e6930344437756e
+6930344438616669693130383436756e6930344441756e6930344442756e69303444
+43756e6930344444756e6930344445756e6930344446756e6930344530756e693034
+4531756e6930344532756e6930344533756e6930344534756e6930344535756e6930
+344536756e6930344537756e6930344538756e6930344539756e6930344541756e69
+30344542756e6930344543756e6930344544756e6930344545756e6930344546756e
+6930344630756e6930344631756e6930344632756e6930344633756e693034463475
+6e6930344635756e6930344636756e6930344637756e6930344638756e6930344639
+61666969353737393961666969353738303161666969353738303061666969353738
+30326166696935373739336166696935373739346166696935373739356166696935
+37373938616669693537373937616669693537383036756e69303542416166696935
+37373936616669693537383037616669693537383339616669693537363435616669
+69353738343161666969353738343261666969353738303461666969353738303361
+6669693537363538756e693035433661666969353736363461666969353736363561
+66696935373636366166696935373636376166696935373636386166696935373636
+39616669693537363730616669693537363731616669693537363732616669693537
+36373361666969353736373461666969353736373561666969353736373661666969
+35373637376166696935373637386166696935373637396166696935373638306166
+69693537363831616669693537363832616669693537363833616669693537363834
+61666969353736383561666969353736383661666969353736383761666969353736
+38386166696935373638396166696935373639306166696935373731366166696935
+37373137616669693537373138756e6930354633756e6930354634756e6931453030
+756e6931453031756e6931453032756e6931453033756e6931453034756e69314530
+35756e6931453036756e6931453037756e6931453038756e6931453039756e693145
+3041756e6931453042756e6931453043756e6931453044756e6931453045756e6931
+453046756e6931453130756e6931453131756e6931453132756e6931453133756e69
+31453134756e6931453135756e6931453136756e6931453137756e6931453138756e
+6931453139756e6931453141756e6931453142756e6931453143756e693145314475
+6e6931453145756e6931453146756e6931453230756e6931453231756e6931453232
+756e6931453233756e6931453234756e6931453235756e6931453236756e69314532
+37756e6931453238756e6931453239756e6931453241756e6931453242756e693145
+3243756e6931453244756e6931453245756e6931453246756e6931453330756e6931
+453331756e6931453332756e6931453333756e6931453334756e6931453335756e69
+31453336756e6931453337756e6931453338756e6931453339756e6931453341756e
+6931453342756e6931453343756e6931453344756e6931453345756e693145334675
+6e6931453430756e6931453431756e6931453432756e6931453433756e6931453434
+756e6931453435756e6931453436756e6931453437756e6931453438756e69314534
+39756e6931453441756e6931453442756e6931453443756e6931453444756e693145
+3445756e6931453446756e6931453530756e6931453531756e6931453532756e6931
+453533756e6931453534756e6931453535756e6931453536756e6931453537756e69
+31453538756e6931453539756e6931453541756e6931453542756e6931453543756e
+6931453544756e6931453545756e6931453546756e6931453630756e693145363175
+6e6931453632756e6931453633756e6931453634756e6931453635756e6931453636
+756e6931453637756e6931453638756e6931453639756e6931453641756e69314536
+42756e6931453643756e6931453644756e6931453645756e6931453646756e693145
+3730756e6931453731756e6931453732756e6931453733756e6931453734756e6931
+453735756e6931453736756e6931453737756e6931453738756e6931453739756e69
+31453741756e6931453742756e6931453743756e6931453744756e6931453745756e
+69314537465767726176657767726176655761637574657761637574655764696572
+65736973776469657265736973756e6931453836756e6931453837756e6931453838
+756e6931453839756e6931453841756e6931453842756e6931453843756e69314538
+44756e6931453845756e6931453846756e6931453930756e6931453931756e693145
+3932756e6931453933756e6931453934756e6931453935756e6931453936756e6931
+453937756e6931453938756e6931453939756e6931453941756e6931453942756e69
+31453943756e69314539444765726d616e64626c73756e6931453946756e69314541
+30756e6931454131756e6931454132756e6931454133756e6931454134756e693145
+4135756e6931454136756e6931454137756e6931454138756e6931454139756e6931
+454141756e6931454142756e6931454143756e6931454144756e6931454145756e69
+31454146756e6931454230756e6931454231756e6931454232756e6931454233756e
+6931454234756e6931454235756e6931454236756e6931454237756e693145423875
+6e6931454239756e6931454241756e6931454242756e6931454243756e6931454244
+756e6931454245756e6931454246756e6931454330756e6931454331756e69314543
+32756e6931454333756e6931454334756e6931454335756e6931454336756e693145
+4337756e6931454338756e6931454339756e6931454341756e6931454342756e6931
+454343756e6931454344756e6931454345756e6931454346756e6931454430756e69
+31454431756e6931454432756e6931454433756e6931454434756e6931454435756e
+6931454436756e6931454437756e6931454438756e6931454439756e693145444175
+6e6931454442756e6931454443756e6931454444756e6931454445756e6931454446
+756e6931454530756e6931454531756e6931454532756e6931454533756e69314545
+34756e6931454535756e6931454536756e6931454537756e6931454538756e693145
+4539756e6931454541756e6931454542756e6931454543756e6931454544756e6931
+454545756e6931454546756e6931454630756e693145463159677261766579677261
+7665756e6931454634756e6931454635756e6931454636756e6931454637756e6931
+454638756e6931454639756e6931463030756e6931463031756e6931463032756e69
+31463033756e6931463034756e6931463035756e6931463036756e6931463037756e
+6931463038756e6931463039756e6931463041756e6931463042756e693146304375
+6e6931463044756e6931463045756e6931463046756e6931463130756e6931463131
+756e6931463132756e6931463133756e6931463134756e6931463135756e69314631
+38756e6931463139756e6931463141756e6931463142756e6931463143756e693146
+3144756e6931463230756e6931463231756e6931463232756e6931463233756e6931
+463234756e6931463235756e6931463236756e6931463237756e6931463238756e69
+31463239756e6931463241756e6931463242756e6931463243756e6931463244756e
+6931463245756e6931463246756e6931463330756e6931463331756e693146333275
+6e6931463333756e6931463334756e6931463335756e6931463336756e6931463337
+756e6931463338756e6931463339756e6931463341756e6931463342756e69314633
+43756e6931463344756e6931463345756e6931463346756e6931463430756e693146
+3431756e6931463432756e6931463433756e6931463434756e6931463435756e6931
+463438756e6931463439756e6931463441756e6931463442756e6931463443756e69
+31463444756e6931463530756e6931463531756e6931463532756e6931463533756e
+6931463534756e6931463535756e6931463536756e6931463537756e693146353975
+6e6931463542756e6931463544756e6931463546756e6931463630756e6931463631
+756e6931463632756e6931463633756e6931463634756e6931463635756e69314636
+36756e6931463637756e6931463638756e6931463639756e6931463641756e693146
+3642756e6931463643756e6931463644756e6931463645756e6931463646756e6931
+463730756e6931463731756e6931463732756e6931463733756e6931463734756e69
+31463735756e6931463736756e6931463737756e6931463738756e6931463739756e
+6931463741756e6931463742756e6931463743756e6931463744756e693146383075
+6e6931463831756e6931463832756e6931463833756e6931463834756e6931463835
+756e6931463836756e6931463837756e6931463838756e6931463839756e69314638
+41756e6931463842756e6931463843756e6931463844756e6931463845756e693146
+3846756e6931463930756e6931463931756e6931463932756e6931463933756e6931
+463934756e6931463935756e6931463936756e6931463937756e6931463938756e69
+31463939756e6931463941756e6931463942756e6931463943756e6931463944756e
+6931463945756e6931463946756e6931464130756e6931464131756e693146413275
+6e6931464133756e6931464134756e6931464135756e6931464136756e6931464137
+756e6931464138756e6931464139756e6931464141756e6931464142756e69314641
+43756e6931464144756e6931464145756e6931464146756e6931464230756e693146
+4231756e6931464232756e6931464233756e6931464234756e6931464236756e6931
+464237756e6931464238756e6931464239756e6931464241756e6931464242756e69
+31464243756e6931464244756e6931464245756e6931464246756e6931464330756e
+6931464331756e6931464332756e6931464333756e6931464334756e693146433675
+6e6931464337756e6931464338756e6931464339756e6931464341756e6931464342
+756e6931464343756e6931464344756e6931464345756e6931464346756e69314644
+30756e6931464431756e6931464432756e6931464433756e6931464436756e693146
+4437756e6931464438756e6931464439756e6931464441756e6931464442756e6931
+464444756e6931464445756e6931464446756e6931464530756e6931464531756e69
+31464532756e6931464533756e6931464534756e6931464535756e6931464536756e
+6931464537756e6931464538756e6931464539756e6931464541756e693146454275
+6e6931464543756e6931464544756e6931464545756e6931464546756e6931464632
+756e6931464633756e6931464634756e6931464636756e6931464637756e69314646
+38756e6931464639756e6931464641756e6931464642756e6931464643756e693146
+4644756e6931464645656e71756164656d71756164656e7370616365656d73706163
+657468726565706572656d7370616365666f7572706572656d737061636573697870
+6572656d7370616365666967757265737061636570756e6374756174696f6e737061
+63657468696e73706163656861697273706163657a65726f77696474687370616365
+68797068656e74776f68797068656e6e6f627265616b686f72697a6f6e74616c6261
+72756e6932303136756e64657273636f726564626c71756f74657265766572736564
+71756f746564626c726576747269616e676c6562756c6c657468797068656e646f74
+756e6932303246756e69323033316d696e7574657365636f6e647072696d65747269
+706c657072696d657265766572736564756e6932303336756e6932303337756e6932
+3033426578636c616d64626c696e746572726f62616e67756e6932303345756e6932
+3034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c61
+6d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e6932
+3034467a65726f2e7375706572696f72692e7375706572696f72666f75722e737570
+6572696f72666976652e7375706572696f727369782e7375706572696f7273657665
+6e2e7375706572696f7265696768742e7375706572696f726e696e652e7375706572
+696f72706c75732e7375706572696f726d696e75732e7375706572696f7265717561
+6c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e72
+696768742e7375706572696f726e2e7375706572696f727a65726f2e696e66657269
+6f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e696e
+666572696f72666f75722e696e666572696f72666976652e696e666572696f727369
+782e696e666572696f72736576656e2e696e666572696f7265696768742e696e6665
+72696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e75
+732e696e666572696f72657175616c2e696e666572696f72706172656e6c6566742e
+696e666572696f72706172656e72696768742e696e666572696f72612e696e666572
+696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f7275
+6e6932303934756e6932303935756e6932303936756e6932303937756e6932303938
+756e6932303939756e6932303941756e6932303942756e6932303943756e69323041
+326672616e636c697261706573657461756e6932304138646f6e674575726f756e69
+32304146756e6932304231756e6932313030756e6932313031756e69323130326365
+6e74696772616465616669693631323438756e693231303666616872656e68656974
+756e6932313043756e6932313044756e6932313045756e6932313046496672616b74
+7572616669693631323839756e6932313135616669693631333532756e6932313139
+756e6932313141526672616b747572756e6932313144756e6932313230756e693231
+3234756e6932313236756e6932313237657374696d61746564616c657068756e6932
+313336756e6932313337756e6932313338756e69323133396f6e6566696674687477
+6f6669667468737468726565666966746873666f75726669667468736f6e65736978
+7468666976657369787468736f6e656e756d657261746f724f6e65726f6d616e5477
+6f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f6d616e
+536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e65726f
+6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d616e75
+6e6932313643756e6932313644756e6932313645756e69323136466f6e65726f6d61
+6e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e66697665726f
+6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e6e696e
+65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665726f6d
+616e756e6932313743756e6932313744756e6932313745756e6932313746756e6932
+313830756e6932313831756e6932313832756e6932313833756e6932313834617272
+6f776c6566746172726f7775706172726f7772696768746172726f77646f776e6172
+726f77626f74686172726f777570646e756e6932313936756e6932313937756e6932
+313938756e6932313939756e6932313941756e69323139426172726f777570646e62
+7365756e6932314145756e6932314243756e6932314244756e6932314330756e6932
+314331756e6932314342756e6932314343756e6932314344756e6932314345756e69
+323143466172726f7764626c6c6566746172726f7764626c75706172726f7764626c
+72696768746172726f7764626c646f776e6172726f7764626c626f7468756e693231
+44354e776172726f774e656172726f7753656172726f7753776172726f77756e6976
+657273616c756e69323230317061727469616c646966666578697374656e7469616c
+756e6932323034656d707479736574756e69323230366772616469656e74656c656d
+656e746e6f74656c656d656e74756e69323230417375636874686174756e69323230
+43756e693232304470726f64756374756e693232313073756d6d6174696f6e756e69
+32323133756e6932323134756e6932323135756e6932323136617374657269736b6d
+617468756e6932323138756e69323231397261646963616c756e6932323142756e69
+32323143696e66696e6974796f7274686f676f6e616c756e6932323233756e693232
+3234756e6932323235756e69323232366c6f676963616c616e646c6f676963616c6f
+72696e74657273656374696f6e756e696f6e696e74656772616c756e693232333673
+696d696c6172756e6932323431636f6e677275656e74617070726f78657175616c75
+6e6932323439756e69323235396e6f74657175616c6571756976616c656e6365756e
+69323236326c657373657175616c67726561746572657175616c756e693232364175
+6e6932323642756e6932323645756e6932323646756e6932323730756e6932323731
+70726f70657273756273657470726f70657273757065727365746e6f747375627365
+74756e6932323835636972636c65706c7573756e6932323936636972636c656d756c
+7469706c79756e6932323938646f746d617468756e6932324546756e693233303275
+6e6932333033756e6932333130756e6932333230756e6932333231756e6932333239
+756e6932333241756e693233443366696c6c6564626f784832323037337472696167
+7570756e6932354233756e6932354236756e69323542377472696167646e756e6932
+354244756e6932354330756e6932354331756e6932354336756e6932354337756e69
+323543396c6f7a656e6765636972636c65483138353333756e6932354430756e6932
+354431756e6932354432756e6932354433756e6932354434756e6932354435756e69
+32354436756e6932354437756e6932363035756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e693236334273756e756e6932363344756e6932363345756e693236334666656d61
+6c65756e69323634316d616c65756e6932363433756e6932363434756e6932363435
+756e6932363436756e6932363437756e6932363438756e6932363439756e69323634
+41756e6932363442756e6932363443756e6932363444756e6932363445756e693236
+3446756e6932363530756e6932363531756e6932363532756e6932363533756e6932
+363630756e6932363633756e6932363635756e6932363636756e69323636396d7573
+6963616c6e6f74656d75736963616c6e6f746564626c756e6932363643756e693236
+3935756e6932363938756e6932364132756e6932364133756e6932364134756e6932
+373637756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433734756e6932433735
+756e6932433736756e6932433737756e6941373230756e6941373231547578756e69
+45303031756e6945303032756e6945303033756e6945303034756e6945303035756e
+6945303036756e6945303037756e6945303038756e6945303039756e694530304175
+6e6945303042756e6945303043756e6945303044756e69453030457a65726f2e736c
+6173686669747465647a65726f2e6669747465646f6e652e66697474656474776f2e
+66697474656474687265652e666974746564666f75722e666974746564666976652e
+6669747465647369782e666974746564736576656e2e66697474656465696768742e
+6669747465646e696e652e6669747465644575726f2e66697474656459656e2e6669
+74746564756e694530314370657274686f7573616e647a65726f7a65726f2e6f6c64
+7374796c656f6e652e6f6c647374796c6574776f2e6f6c647374796c657468726565
+2e6f6c647374796c65666f75722e6f6c647374796c65666976652e6f6c647374796c
+657369782e6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f
+6c647374796c656e696e652e6f6c647374796c654164696572657369732e616c744f
+64696572657369732e616c745564696572657369732e616c74665f665f6a665f6a66
+5f6b665f74635f6b635f68745f74635f7461652e616c74515f75545f68745f7a682e
+616c746765726d616e64626c732e616c746765726d616e64626c732e73733033756e
+69314539432e616c74616d70657273616e642e616c74612e7363622e7363632e7363
+642e7363652e7363662e7363672e7363682e7363692e73636a2e73636b2e73636c2e
+73636d2e73636e2e73636f2e7363702e7363712e7363722e7363732e7363742e7363
+752e7363762e7363772e7363782e7363792e73637a2e736368797068656e2e736361
+67726176652e73636161637574652e73636163697263756d666c65782e7363617469
+6c64652e73636164696572657369732e73636172696e672e736361652e7363636365
+64696c6c612e73636567726176652e73636561637574652e73636563697263756d66
+6c65782e73636564696572657369732e73636967726176652e73636961637574652e
+73636963697263756d666c65782e73636964696572657369732e73636574682e7363
+6e74696c64652e73636f67726176652e73636f61637574652e73636f63697263756d
+666c65782e73636f74696c64652e73636f64696572657369732e73636f652e73636f
+736c6173682e73637567726176652e73637561637574652e73637563697263756d66
+6c65782e73637564696572657369732e73637961637574652e736374686f726e2e73
+637964696572657369732e7363696a2e73636765726d616e64626c732e7363616c74
+6765726d616e64626c732e73636463726f61742e73636162726576652e7363616f67
+6f6e656b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363
+656f676f6e656b2e7363656361726f6e2e73636762726576652e73636c6163757465
+2e73636c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e
+73636f68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e
+73637361637574652e736373636564696c6c612e7363736361726f6e2e7363746365
+64696c6c612e7363746261722e73637572696e672e73637568756e676172756d6c61
+75742e73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e
+73636c6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73
+6373636f6d6d61616363656e742e736369646f74616363656e742e7363612e736361
+6c74612e7375706572696f72622e7375706572696f72632e7375706572696f72642e
+7375706572696f72652e7375706572696f72662e7375706572696f72672e73757065
+72696f72756e6945304337756e6945304338756e69453043396b2e7375706572696f
+726d2e7375706572696f72756e69453043446f2e7375706572696f72702e73757065
+72696f72712e7375706572696f72756e6945304431742e7375706572696f72752e73
+75706572696f72762e7375706572696f72756e6945304436756e6945304437756e69
+453044387a2e7375706572696f72662e73686f7274665f662e73686f7274756e6945
+304538572e616c74562e616c744b2e616c74522e616c744a2e616c747a2e616c7475
+6e6945304634792e616c74756e6945304639756e69453046426b726569737a65726f
+2e7461626f6c647374796c656f6e652e7461626f6c647374796c6574776f2e746162
+6f6c647374796c6574687265652e7461626f6c647374796c65666f75722e7461626f
+6c647374796c65666976652e7461626f6c647374796c657369782e7461626f6c6473
+74796c65736576656e2e7461626f6c647374796c6565696768742e7461626f6c6473
+74796c656e696e652e7461626f6c647374796c65756e6945313330756e6945313338
+756e6945313438622e696e666572696f72632e696e666572696f72642e696e666572
+696f72662e696e666572696f72672e696e666572696f72682e696e666572696f7269
+2e696e666572696f726a2e696e666572696f726b2e696e666572696f726c2e696e66
+6572696f726d2e696e666572696f726e2e696e666572696f72702e696e666572696f
+72712e696e666572696f72722e696e666572696f72732e696e666572696f72742e69
+6e666572696f72752e696e666572696f72762e696e666572696f72772e696e666572
+696f72792e696e666572696f727a2e696e666572696f72756e6945313838756e6945
+313839762e616c7467726176652e63617061637574652e63617063697263756d666c
+65782e6361706361726f6e2e63617062726576652e63617068756e676172756d6c61
+75742e63617073706163655f756e69303330462e6361706272657665696e76657274
+6564636d622e63617062726576652e63797263617062726576652e63797264696572
+657369732e636170686f6f6b61626f7665636f6d622e636170756e69453432307a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170646f746c6573736a6166696931
+303036382e6974616c6166696931303036362e6974616c6166696931303036392e69
+74616c6166696931303038312e6974616c756e6946364338665f66665f69665f6c66
+5f665f69665f665f6c6c6f6e67735f74735f74756e6946464644756e693033353035
+2e312e364c696e7578204c6962657274696e65206279205068696c69707020482e20
+506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c
+6c6f77696e67204672656520536f667477617265204c6963656e7365733a0a47504c
+202847656e6572616c205075626c6963204c6963656e736529207769746820666f6e
+742d657863657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963
+656e7365292e0a43726561746564207769746820466f6e74466f7267652028687474
+703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420323030332c2032
+3030342c20323030352c20323030362c20323030372c20323030382c20323030392c
+20323031302c20323031312c323031324c696e7578204c6962657274696e65204f20
+4974616c69634c696e7578204c6962657274696e65204f0000000001000200030004
+00050006000700680009000a000b000c000d000e000f001000110012001300140015
+0016001700180019001a001b001c001d001e001f0020002100220023002400250026
+002700280029002a002b002c002d002e002f00300031003200330034003500360037
+00380039003a003b003c003d003e003f0040007c0042004300440045004600470048
+0049004a004b004c004d004e004f0050005100520053005400550056005700580059
+005a005b005c005d005e005f01870060006100620067006400a00066008300aa008b
+006a0097018800a5008000a1009c0189018a007d018b007300720085018c008f0078
+009e009b00a3007b00ae00ab00ac00b000ad00af008a00b100b500b200b300b400b9
+00b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d00c400c100c200c300c5
+009d009500cb00c800c900cd00ca00cc009000ce00d200cf00d000d100d600d300d4
+00d500a700d700db00d800d900dc00da009f009300e100de00df00e000e200a200e3
+018d018e018f0190019101920193019401950196019701980199019a019b019c019d
+019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae
+01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd009101be
+01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc008c009201cd
+01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db008e009401dc
+01dd01de01df01e001e101e201e301e401e501e601e700c000dd01e801e901ea01eb
+01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc
+01fd00c601fe01ff0200020100c700e402020203020402050206020702080209020a
+020b020c020d020e020f02100211021202130214006502150216021702180219021a
+021b021c021d021e021f0220022102220223022402250226022702280229022a022b
+022c022d022e022f0230023102320233023402350236023702380239023a023b023c
+023d023e023f0240024102420243024402450246024702480249024a024b024c024d
+024e024f0250025102520253025402550256025702580259025a025b025c025d025e
+025f0260026102620263026402650266026702680269026a026b026c026d026e026f
+0270027102720273027402750276027702780279027a027b027c027d027e027f0280
+028102820283028402850286028702880289028a028b028c028d028e028f02900291
+02920293029402950296029702980299029a029b029c029d029e029f02a002a102a2
+02a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af02b002b102b202b3
+02b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c002c102c202c302c4
+02c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d102d202d302d402d5
+02d602d702d802d902da02db02dc02dd02de02df02e002e102e202e302e402e502e6
+02e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f302f402f502f602f7
+02f802f902fa02fb02fc02fd02fe02ff030003010302030303040305030603070308
+0309030a030b030c030d030e030f0310031103120313031403150316031703180319
+031a031b031c031d031e031f0320032103220323032403250326032703280329032a
+032b032c032d032e032f0330033103320333033403350336033703380339033a007e
+0088033b033c033d033e033f0340034103420343034403450346034703480349034a
+0081008200840087007f0086034b034c034d034e034f035003510352035303540355
+0356035703580359035a035b035c035d035e035f0360036103620363036403650366
+036703680369036a036b036c036d036e036f03700371037203730374037503760377
+03780379037a037b037c037d037e037f038003810382038303840385038603870388
+0389038a038b038c038d038e038f0390039103920393039403950396039703980399
+039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa
+03ab03ac03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb
+03bc03bd03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc
+03cd03ce03cf03d003d103d203d303d403d503d603d703d803d903da03db03dc03dd
+03de03df03e003e103e203e303e403e503e603e703e803e903ea03eb03ec03ed03ee
+03ef03f003f103f203f303f403f503f603f703f803f903fa03fb03fc03fd03fe03ff
+0400040104020403040404050406040704080409040a040b040c040d040e040f0410
+0411041204130414041504160417009804180419041a041b041c041d041e041f0420
+042104220423042404250426042704280429042a042b042c042d042e042f04300431
+04320433043404350436043704380439043a043b043c043d043e043f044004410442
+0443044404450446044704480449044a044b044c044d044e044f0450045104520453
+045404550456045704580459045a045b045c045d045e045f04600461046204630464
+04650466046704680469046a046b046c046d046e046f047004710472047304740475
+0476047704780479047a047b047c047d047e047f0480048104820483048404850486
+048704880489048a048b048c048d048e048f04900491049204930494049504960497
+04980499049a049b049c049d049e049f04a004a104a204a304a404a504a604a704a8
+04a904aa04ab04ac04ad04ae04af04b004b104b204b304b404b504b604b704b804b9
+04ba04bb04bc04bd04be04bf04c004c104c204c304c404c504c604c704c804c904ca
+04cb04cc04cd04ce04cf04d004d104d204d304d404d504d604d704d804d904da04db
+04dc04dd04de04df04e004e104e204e304e404e504e604e704e804e904ea04eb04ec
+04ed04ee04ef04f004f104f204f304f404f504f604f704f804f904fa04fb04fc04fd
+04fe04ff0500050105020503050405050506050705080509050a050b050c050d050e
+050f0510051105120513051405150516051705180519051a051b051c051d051e051f
+0520052105220523052405250526052705280529052a052b052c052d052e052f0530
+053105320533053405350536053705380539053a053b053c053d053e053f05400541
+05420543054405450546054705480549054a054b054c054d054e054f055005510552
+0553055405550556055705580559055a055b055c055d055e055f0560056105620563
+056405650566056705680569056a056b056c056d056e056f05700571057205730574
+05750576057705780579057a057b057c057d057e057f058005810582058305840585
+0586058705880589058a058b058c058d058e058f0590059105920593059405950596
+059705980599059a059b059c059d059e059f05a005a105a205a305a405a505a605a7
+05a805a905aa05ab05ac05ad05ae05af05b005b105b205b305b405b505b605b705b8
+05b905ba05bb05bc05bd05be05bf05c005c105c205c305c405c505c605c705c805c9
+05ca05cb05cc05cd05ce05cf05d005d105d205d305d405d505d605d705d805d905da
+05db05dc05dd05de05df05e005e105e205e305e405e505e605e705e805e905ea05eb
+05ec05ed05ee05ef05f005f105f205f305f405f505f605f705f805f905fa05fb05fc
+05fd05fe05ff0600060106020603060406050606060706080609060a060b060c060d
+060e060f0610061106120613061406150616061706180619061a061b061c061d061e
+061f0620062106220623062406250626062706280629062a062b062c062d062e062f
+0630063106320633063406350636063706380639063a063b063c063d063e063f0640
+064106420643064406450646064706480649064a064b064c064d064e064f06500651
+06520653065406550656065706580659065a065b065c065d065e065f066006610662
+0663066406650666066706680669066a066b066c066d066e066f0670067106720673
+067406750676067706780679067a067b067c067d067e067f06800681068206830684
+06850686068706880689068a068b068c068d068e068f069006910692069306940695
+0696069706980699069a069b069c069d069e069f06a006a106a206a306a406a506a6
+06a706a806a906aa06ab06ac06ad06ae06af06b006b106b206b306b406b506b606b7
+06b806b906ba06bb06bc06bd06be06bf06c006c106c206c306c406c506c606c706c8
+06c906ca06cb06cc06cd06ce06cf06d006d106d206d306d406d506d606d706d806d9
+06da06db06dc06dd06de06df06e006e106e206e306e406e506e606e706e806e906ea
+06eb06ec06ed06ee06ef06f006f106f206f306f406f506f606f706f806f906fa06fb
+06fc06fd06fe06ff0700070107020703070407050706070707080709070a070b070c
+070d070e070f0710071107120713071407150716071707180719071a071b071c071d
+071e071f0720072107220723072407250726072707280729072a072b072c072d072e
+072f0730073107320733073407350736073707380739073a073b073c073d073e073f
+0740074107420743074407450746074707480749074a074b074c074d074e074f0750
+0751075207530754013a006f00890755075607570041000800750758006900770076
+0759007000710074075a00ee00ed0079075b075c007a075d075e075f076007610762
+0763006b006c0764076507660767076800630769076a076b076c076d076e076f0770
+077107720773077407750776077707780779077a077b077c077d077e077f07800781
+07820783078407850786078707880789078a078b078c078d078e078f079007910792
+0793079407950796079707980799079a079b079c079d079e079f07a007a107a207a3
+07a407a507a607a707a807a907aa07ab07ac07ad07ae07af07b007b107b207b307b4
+07b5009907b607b707b807b907ba07bb07bc07bd07be0144014507bf07c007c107c2
+07c307c4014001410142014307c507c607c707c807c907ca07cb07cc07cd07ce07cf
+07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd07de07df07e0
+07e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee07ef07f007f1
+07f207f307f407f507f607f707f807f907fa07fb07fc07fd07fe07ff080008010802
+0803080408050806080708080809080a080b080c080d080e080f0810081108120813
+081408150816081708180819081a081b081c00a6081d081e081f0820082108220823
+082408250826082708280829082a082b082c082d082e082f08300831083208330834
+08350836083708380839083a083b083c083d083e083f084008410842084308440845
+0846084708480849084a084b084c084d084e084f0850085108520853085408550856
+085708580859085a085b085c085d085e085f08600861086208630864086508660867
+08680869086a086b086c086d086e086f087008710872087308740875087608770878
+0879087a087b087c087d087e087f0880088108820883088408850886088708880889
+088a088b088c088d088e088f0890089108920893089408950896089708980899089a
+089b089c089d089e089f08a008a108a208a308a408a508a608a708a808a908aa08ab
+08ac08ad08ae08af08b008b108b208b308b408b508b608b708b808b908ba08bb08bc
+08bd08be08bf08c008c108c208c308c408c508c608c708c808c908ca08cb08cc08cd
+08ce08cf08d008d108d208d308d408d508d608d708d808d908da08db08dc08dd08de
+08df08e008e108e208e308e408e508e608e708e808e908ea08eb08ec08ed08ee08ef
+08f008f108f208f308f408f508f608f708f808f908fa08fb08fc08fd08fe08ff0900
+090109020903090409050906090709080909090a090b090c090d090e090f09100911
+09120913091409150916091709180919091a091b091c091d091e091f092009210922
+0923092409250926092709280929092a092b092c092d092e092f0930093109320933
+093409350936093709380939093a093b093c093d093e093f09400941094209430944
+09450946094709480949094a094b094c094d094e094f095009510952095309540955
+0956095709580959095a095b095c095d095e095f0960096109620963096409650966
+096709680969096a096b096c096d096e096f09700971097209730974097509760977
+09780979097a097b097c097d097e097f098009810982098309840985098609870988
+0989098a098b098c098d098e098f0990099109920993099409950996099709980999
+099a099b099c099d099e099f09a009a109a209a309a409a509a609a709a809a909aa
+09ab09ac09ad09ae09af09b009b109b209b309b409b509b609b709b809b909ba09bb
+09bc09bd09be09bf09c009c109c209c309c409270300000100004e0000510000a500
+010000015e0003780003cc0004b90004ea00053800058900061e0006470006990006
+a70006b70006cc0006e30006f500070500071c0007320007a400082400082e00084b
+0008710008a800090b00092500093a000954000977000a5a000b8b000bc6000be100
+0bfc000c3d000c66000c89000c9c000cac000d5f000d6e000d8c000f6a000f81000f
+a5000fd000113e00116b00119c0011c00011d90011e60011f600121000121e001238
+00125e00127800129d0012b50012c90012fd00131800133600134b00136900138600
+13a50013e200150400153200156800158700159c0015d900165b0016760016940017
+a10018870018a80018b80018c70018e00018f700191b00193b0019610019e50019fe
+001a7f001ab8001abb001b4b001cd1001dfb001e96001fbc001fdd00221e00223800
+22930022ce00233a0023530023860024350024690024cd00250500251c0025360025
+4a00264700270700271b00276500277b0027c60028320028560028780028a900296b
+00298b0029aa0029ca0029f4002a27002bf0002c55002c81002cf0002d47002d9f00
+2ee3002efc002f14002f2c002f510030b70030e300310e00313900316500319a0031
+df00320c00323c00325f0032810032a40032c50032dc00339d0034ee003513003534
+00355f00358b0035bd0035f300362800364e0036750036980036c50036f700372300
+37520037e500381b0038bb00390000392200394400396c0039950039c8003a14003a
+44003a60003a7c003a9f003ad5003afc003c39003e04003e2a003e51003e7a003eb0
+003f880040420040650040810040a50040c70040f500412400414900416c00419100
+42750043db0044c30045180045410045950045cd0046e900474a00493a004a47004a
+9a004ac5004af0004b3a004c74004cd0004d05004d4e004d81004e58004e73004ea5
+00505c00515000516f00523e00525b0052d30052f200537d00550300563400565100
+571e0057380058c100599b0059ce0059ed005a1c005a42005a68005a83005ab1005a
+d8005b6a005c91005cbe005ced005e0e005f13005f33005f68005f8e005fcd005fee
+00602b00611e00620e0063960063c60063ee00642a0064600064950064c80065a400
+66ac0066e00067080067450067760067ab0067da00681300684200687b0068b3006a
+3a006b07006b41006b7a006c9b006dcb006df8006e7c006f7b0070820070a90070ce
+0070f40071180071430071b60072660072960072c00072ee00750000764300765c00
+76810076980076c50076e70077680077960077c30077fe00782200785700786b0079
+1d0079d8007a07007aa8007b32007bbc007c24007cad007d57007e0b007eae007f55
+00800b0080c500819e0081be00825d0084610085000085e400872300890000891500
+8a2a008b31008c49008d69008de3008f2b008ffd0090ca00914c0091810091ae0092
+7f00932f00940b0094e00095db00967800971300978000983a0098e500999d009a3f
+009bac009bc5009bec009ca4009d59009e2e009fdd00a10e00a22300a23e00a2df00
+a37100a42300a4bc00a52d00a5a500a62200a6bc00a6d000a6e900a72b00a7fa00a8
+5800a9b300aabe00aaef00ab4d00ac2700ad4d00af1c00b03e00b06100b08a00b12b
+00b15b00b18900b1b200b1d500b1f900b22a00b26c00b30200b34600b40800b4de00
+b57800b5bc00b63d00b68000b6be00b7ce00b81300b97a00ba2a00baf200bc5100bd
+3100bd7c00bebe00bee700bf1800bf3800bf7500bfa200bfc600bffb00c02f00c080
+00c0c800c11500c13f00c1f200c31f00c3c300c3e200c41700c62a00c67100c6ec00
+c72900c76000c79600c7be00c7f000c81900c84c00c89a00c96300c9b900c9f100ca
+1200cb4000cb5f00cbed00cc2000cc5d00cc9600cccc00cd0800cd4b00cdad00cde6
+00ce0e00cecc00cef700cf2500d05500d08500d12e00d15100d20000d2ab00d2c800
+d2fb00d3e200d4f100d60f00d74f00d7ff00d8b700d8e400d91800d96a00da3800da
+8e00dacd00db4e00db8300dbbd00dbee00dc5100dc8e00dca800dcd500de3500dfaa
+00e06a00e09000e19800e2ed00e3d400e46b00e4fa00e64100e75100e88300e8f300
+e9ce00eacb00eba900ec1c00ec8f00ed4100ee4100ef3400effd00f0a900f1e100f1
+ff00f2d500f38800f40200f4d500f58d00f63b00f71a00f7c100f86500f94e00f9ed
+00fb3900fc6e00fe9100ff9d00ffb101003b0101c00103060103f30104fa01064001
+07910108d50109b8010bab010c67010d0a010dcb010edd010fc30110b30111580112
+190112be0113680113df01146401152c0115f20116db01175a0117f20118e501198d
+0119f4011a5d011b33011bdb011c7d011d20011e26011ee8011f9d01207e01213301
+215d01224b0122e90123820124460124a701254e0126090126dd0127b70128ac0129
+b7012af5012b68012c4c012d18012ddf012f05013035013188013253013338013453
+0135bb0136c001379e013b67013ba4013c8e013d86013f5701410b0142480143d101
+44eb01463a01479d014982014b28014bd1014bf6014c7b014d00014d7d014e14014e
+a7014f6e01503501506801509e0150d10151050151160151240151b50151d1015257
+0152710152d60153340153b301542c01546401548e0155340155ca01565a0156e801
+57aa01581301583001584d0158740159010159200159380159e9015aae015c41015d
+65015e770160b00161ef01621601624701627a0162a70162ce0162ff01633f016370
+0163ab0164ee01653601657e0165dc01663a0166d401676201687e0169a2016a3601
+6acd016b35016ba0016c06016c6d016d0e016d9e016e08016e0f016e82016eeb016f
+7e016fd30170250170850170930170aa01718101721e017310017374017403017445
+01754b0175de01763e0176f201770f0177bb0178670178e401795e0179f2017a8201
+7af1017b70017c00017c8e017d1a017dd9017e41017eb5017f35017f7e0180060180
+a101813601820401828b0182eb0183870184400184b801852801858b0185eb01867d
+0186d90187270187c501885c0188b50188ff018936018977018a0b018aa4018ae701
+8ba1018c26018d3d018dcd018de4018e67018efe018f1b01900d0190750191150191
+a901925d0192c701941401957b01968801974b0197ca0198260198ba0199650199f3
+019a4f019aab019b27019bb7019c02019d4b019e94019f88019fe301a03e01a08b01
+a0d801a16401a1c001a22e01a37601a41f01a52a01a5bb01a6f501a7e601a91501aa
+d801ad5901ae8f01af6e01b09701b28c01b2c201b2f601b33401b34701b38a01b3ce
+01b44b01b45601b47601b55b01b59201b69c01b7e001b89701b94501ba5801bb4401
+bb6f01bb8801bbc301bc5201bcba01bcfb01bd1501bd2801bdc901bdd901bde801be
+8301be9301beaa01bfb801bfdc01bfff01c02a01c0a501c0c901c0d701c1cc01c1e6
+01c20d01c2c301c2e801c30c01c34201c36901c39f01c3bb01c40d01c43b01c51201
+c5a701c63301c65201c6ed01c70f01c78701c79b01c7c801c83101c8ec01c95b01ca
+3701ca5201cae501cb5a01cbcc01cc2301cc8201ccb201cd4d01cdd101ce8701cea0
+01cec401cf1101cf3401cf6c01cf8d01d01101d0ce01d0e101d21c01d24501d43301
+d4cb01d65101d75701d83401d8eb01d99401da4001dada01db5601db7c01dc1601dc
+7a01dd5301de1a01de2d01de6301dee501df7901e00f01e0a401e0b701e10301e117
+01e15c01e1a101e1f201e25101e36401e39f01e42201e45301e46301e48801e50301
+e60e01e74101e86101e88101e89a01e8b701e9b501e9ce01e9fd01ea3801ea6c01eb
+4601eb8701ebab01ebc301ebd401ebf201ec0a01ece001ecf001ed0301ed2701ed4a
+01ed7501ed9001edb401edc301efa301efbd01f0a801f0be01f20601f34701f40c01
+f43301f45101f47401f5a701f68a01f6a501f71c01f79e01f7b501f83401f85101f8
+6c01f8a801f8be01f8de01f91401f9fe01fad501fbd201fbed01fc1c01fc3a01fc4f
+01fc8c01fcac01fdd201fdf601ff450200770201490202a602033c02038b02042102
+04ac0206690207200207470207790207f60208140208a80208c90208f702092d0209
+63020a5c020bb7020cf7020d33020d4f020d7c020ec0020ee7020f0c02103a021137
+0212970214240215120215b70217720218ad0219d5021adc021ce0021ea9021f5f02
+205502207c0221c70221f102231d0223370223550223eb0224930225950226660226
+8d0226b20227080227d3022871022a0a022b8d022c29022cb2022d56022def022ef1
+022fd20231500232a90233c002348002357002366702377d02388202398a023a7502
+3b80023c74023d88023e89023fb80240c40241b90242ef0243e90244d00245670246
+030246a802473f02487602494b024a3a024b24024c8d024dd8024ee6024fe30250c9
+0251ad0252a302539f02548f0255820255cd0256960257290258310258d402597d02
+59b1025aeb025c0a025d19025e0a025f10025ffc0260e10261c40261eb0262100262
+3e0262700262d502630a02635f0263870263a70263c50263f80264730264ab0265c7
+0265f302664d0266680266fe02673c0267a002680c0268930268d402690902693302
+69c30269ff026a91026ac8026b71026b91026bbd026be1026c16026c36026ce4026d
+0c026e69026efc026f8502705c0270ca0271090271830271b202720e02724102727b
+0272e50272fb02733a02734b02735c0273ec0273fd02741402742c02744202745b02
+748e0274c10275050275610276700276d202775a0277be02785a02786b0278df0279
+69027a25027a38027a87027ae6027bb2027c1c027cd1027d31027d9a027e17027f04
+027fad0280560281050281e602827b0282cd0283dd02845b0284760284950284eb02
+84ff0285440285ae02865002869e0286d402872702875c0287a50287d10287fd0288
+2d02885e0288980288ce02890602892f02895b028a31028a5f028a84028aad028b80
+028bb7028c86028cbd028d09028d31028d8b028e3a028e96028fcb02901102904302
+90710290bb0290e50291250291500291930291ba0292e00294cf02961b02964a0296
+d30296f30297310297c40298aa0298c20298e80299100299480299650299920299c8
+0299ff029a42029a88029ab4029b1c029b44029bbe029bd7029c1c029c40029cd202
+9cf7029d4c029d76029dba029de5029e2e029e53029e90029eb0029ee9029f50029f
+87029ffd02a04402a0ed02a12002a16f02a1a202a1d602a1fa02a23802a32f02a36e
+02a3a202a3e702a42202a47702a4bf02a4fa02a56602a5ac02a5f202a63d02a67f02
+a6c702a78202a7cb02a8e902a94902a9a102a9da02aa0502aa4402aa7202aaa402ab
+0702ab3502abab02abde02ac1c02ac4502ac6b02ac8d02acae02adda02ae0a02ae6a
+02aea802aec302aeed02af1302af4602af5f02af7d02af9602afb502afda02b00402
+b05e02b08b02b0b002b0dd02b10c02b14d02b18002b1c002b1e202b21802b23a02b2
+7002b2a202b2e202b30a02b34002b37602b39f02b40502b43d02b45802b48002b5c4
+02b74a02b81602b89a02b8cc02b90102b92d02b96b02ba3902bb7502bba002bc5b02
+bc8e02bd9202bdda02be1402be5202be9502bf2c02bf6c02c00702c04702c10702c1
+5b02c1ac02c1ef02c23602c28902c2ee02c32b02c3c902c40302c45b02c48602c548
+02c58302c63e02c67902c6df02c72b02c87802c8b302c92402c96f02c99102ca8402
+caa902caee02cb2902cb5e02cb9c02cbd402cc6b02cca102ccd802cd0e02cd5d02cd
+a102cec202cef702cf3e02cf8002cfe202d01602d05e02d09202d0d902d1df02d229
+02d34c02d39c02d3e702d41702d44702d47502d4a802d4cc02d4f902d52202d55002
+d57a02d5c002d5e502d61902d64c02d69102d6a802d6ce02d6f502d72a02d74b02d7
+8802d7a402d7d202d80002d82e02d86d02d8bb02d8f402d92902d9a802d9f802da23
+02da4e02da8b02dac802dafa02db2c02dbb802dc0302dc4902dc8f02dceb02dd5c02
+ddd302ddfa02de3a02df3b02e08302e12202e22a02e36502e38602e3a702e3da02e4
+0d02e43502e45d02e4a102e4e502e50402e52302e67202e69e02e6c802e70b02e74d
+02e89702e8de02e8ff02e97802e9e202ea3502ea5d02ead102eb4602ebf002ec3302
+eca102ed8a02ee6602eed702ef4702f01202f05c02f0a602f10902f16c02f1ef02f2
+4902f2b202f32802f3a702f42502f4eb02f51a02f56502f5b002f60e02f66c02f6c5
+02f74702f7be02f84502f94502fa7502fbb502fcd902fcff02fd2502fd6302fda102
+fdd602fe0b02fe5902fea402ff480300130300c803018b0302360302e10303e60304
+da03050603053003058a0305d30305ff03061c0306720306bd0307170307640307c2
+03080f0308340308570308910308cb03091a03097a0309bf030a00030ab4030b1803
+0b72030bb0030bfd030c4a030c8c030cf1030e26030ea1030ed2030f03030f45030f
+87030fbf030ff70310630310b60312100312410313a903140503143f0314960314e8
+0316780316aa0316dc03172a0317780317b90317fa0318760318cd0319340319ea03
+1a6c031b50031b98031c55031d16031de5031e35031e7a031eb2031ee0031f16031f
+5d031fb0031ff403203303205a0320aa0320f003210603213c0321520321830321e3
+03221e0322430322700322ab03231403238d0323f203244d03257703269e0326ec03
+275d0327bc03281c0328570328f80329680329a4032a4b032a84032b20032bde032c
+23032c71032cdb032d3f032d6a032da6032e49032ed7032f1f032f41032f9203300f
+03304603307903319003329003336a0333c60334150334670334980334bf0334ee03
+353003357e0335fe0336920337330337fc0338c003390203393e0339400339430339
+4503394803394b03394e03395103395303395603395903395c03395d033970033983
+0339ac0339be0339d10339e4033a04033a27033a3a033a4d033a9b033ab1033ad603
+3b89033bad033c51033d1a033e64033ee5033f00033f10033f28033f4a033f7e033f
+81033fd90340430340580340a10340bc0340d003416d034205034238034268034349
+0344110345d10345e60347a90347bc0347f803484d0348a10348f3034a0f034ae003
+4af9034c74034c99034d85034ed0034ef603509e0351b80352050352320352750353
+110353aa0355ce0355e703564403565a0357f70358ac035998035ae3035b08035cb0
+035dca035e11035e36035e7a035f12035faa0361940362ad03637c0365b10366cb03
+66ed03670b03672b0367490367760367a20367c70367dc0368b8036978036a42036c
+0e036dae036e93036feb0371100372100372830373060373e10374520374ad03755b
+0376430376ee0378600378ff0379ee037aa4037b15037c57037d5c037df3037f6c03
+806a03812b0382a60384160384d10385640386190386730387c903881b0388870388
+db0389600389a80389ff038a31038a69038bd9038c1b038cfd038ebd038f1103914c
+0392810392ea0392fe0393a00394a50396050397080397f7039949039aff039d1603
+9f3f03a14203a30603a52f03a5fd03a65a03a70303a7f203a87b03ab1603adf003af
+8203b01b03b1b403b45a03b83903ba5903bb5e03bd8803c0fc03c16a03c1c303c26e
+03c38503c42903c54e03c65003c6a903c6ff03c74d03c79903c7e603c82f03c8ab03
+c92c03c98903c9e403ca3f03ca9903cb1003cb8703cbf903cc9a03ccc503ccd403cc
+e303cd0e03cd5f03cd7603ce0903cee403cf7603cfd003d02603d08003d0d503d178
+03d20f03d27703d2f103d35a03d3d203d3ff03d44e03d4c903d4f903d59903d6f503
+d73e03d78903d7d603d8d803d91e03d96a03da7003dab703db9103dc6d03dcd203dc
+e603dd1f03dd6c03dd8103dd9503de1b03de6303de8e03de9c03df2703dfa703e02f
+03e04b03e06003e0c503e0dd03e18603e1a603e1c503e20103e23f03e29403e2dc03
+e32003e3e303e43e03e4bd03e62e03e67803e6e503e71403e7ab03e7d403e7fd03e8
+3003e86303e8fc03e99c03ea4a03eb0403eb4003eb7d03ec1b03ecb803eda203ee33
+03ef1303efb203efdd03f09c03f0cb03f0e603f0ff03f13503f17003f17f03f18e03
+f1cd03f1e403f20903f21c03f23d03f24e03f26e03f28103f2a003f2b303f2d603f2
+e903f33603f36903f38e03f3a803f3b903f3f003f45603f4bd03f52203f56403f5aa
+03f5cf03f5f203f61b03fdb703feb504009404029004032b0404150404dd0405bf04
+067c0407000407820408130408770408fd0409af040a6c040b16040c29040d03040d
+78040e26040eee040f8004107b04117f04128f0413460414450414b30415a90416d4
+04176b0417cd0418650418a80418cf04191204199e041a1e041ab4041ca5041d5d04
+1e8a041ff40420bb0428560428890428bd0428cc0428db042a14042b27042ca9042e
+43042f7704312104324004335404344a04356e04368504371d04379104387104393a
+043a08043a9c043acb043af90443dd0445010449ce044af2044b22044b53044b9d04
+4c30044e30044e720452660452eb0453ab04548204549b0455f504560b04561c0456
+2c0456430456590456de04575e04576e04578b0457b1045902045a4f045ab5045ad0
+045b1c045b7e045b8e045ba6045c2f045c51045c72045c94045cb2045cd7045d0504
+5d42045d730461400463b804669d0468be046a12046c0c046d0c046f830470530472
+9f04741c0474ca04756904765004773d0478850479a70479c2047a8b047aa0047ab9
+047ad2047b9f047bb8047cba047ccb047cdf047e3b047e4b047f11047f2a047f4804
+7ff70480bd0480e80481150481250481380481c20482cc0484180484270484370484
+6a04848f0484b10485350485610485910485c904872004887c04889e0488bd0488e6
+0489d0048a3b048a52048a73048a98048ab7048ade048b05048b29048b58048b8804
+8bbe048c8b048dee048e0c048e27048e4c048e73048e89048f46048f69048f88048f
+e204909e0490bd0491310492570492730492960492bd0493d50493fb0494730494f6
+0495be0495dd0496040496f704972a04975c0497940497c70498c10498fc049a0b04
+9ada049b05049b2d049b44049b68049b85049c06049c27049c4b049c94049cb1049d
+c2049dfd049e1b049e36049e64049f87049fa0049ff7049ffa049ffd04a00004a122
+04a2a904a2ac04a37c04a3aa04a3c904a3cc04a3e204a40504a41904a41c04a41f04
+a42204a43804a5c804a79504a87504a96404aa0504aaeb04abc604acd604ad9e04ae
+4004af1a04b04d04b07604b08f04b0dd04b14004b15004b16804b1f104b21304b234
+04b25604b27404b29904b2ab04b40d04b41004b42d04b44504b47104b48804b4df04
+b50104b67b04b7b404b7d204b7f204b81004b83d04b86904b88604ba0e04ba3304ba
+4804ba6a04ba7b04bc6404be0604be1a04be4f04be7804bf2004bf3104bf4304bf54
+04bf6604bf7a04bf9304bfac04bfbb04bfcb04bfdb04bff304c00904c26f04c3d604
+c40a04c43f04c46404c48704c4fd04c57204c5da04c67b04c6c804c71a04c74804c7
+7304c7b804c7de04c84e04c8df04c97904c99e04cac104cca004cebb04d0f104d47c
+04d71d04d8ce04dac304dbac04dbf34e8bbdf8ecbd018bbdf824bd03bdf8f115f73e
+fb93fb3efb9305a95e15f73ef793f73efb9305fb20f7c015f73ef7938bfc9205fb5c
+f7c015fb3ef793f7e88b05fc38fd1e15f888f950fc88060efbcb0efbe27ef512e2f7
+0165a981f70bfb0af70a13c0e3b3158b888a888b888b729e78a58ba98ba7a390a88b
+8e8c8e8b8e8ba4789e718b086e8b6f73856e08f738f90515200a1390210a1388220a
+13a0230a1390240a0efb75f83ff76e01f73be5b0e403f7b7f83f15a68f058b8bc9f7
+398e9b089207988498751e6d8b706f887589828afb338b8b08fb138a15a68f058b8b
+c9f7398e9b8c8d8b8d8b8e8b988498758b6c8b716f87758a8289fb338b8b080efb0f
+f74bbcf701bc01f80cf7e915e58b9bbc318bc4f73e6a8b52fb3efb028bc4f73e698b
+53fb3e308b7b5ae58b67fb02308b057b5be58b53fb3eac8bc4f73ef7028b52fb3eac
+8bc5f73ee58b9abb318b056b16fb038bb0f702f7028b050efb0ffffff46666ff0021
+8000fffffe199a76ff021d9998ff001e800012d0a6f7daa613b8e79515ff00143333
+8bff001c8000ffffed8000ff0035cccdfffffce66608fffff28000ffffba999aad8b
+ff000d8000ff0045800005ff00a1e666ff0008e666ff0020e666ff007dcccdff0006
+b334ff0020cccdff00133334ff0065999a25ff00303332ffffcb6666ff0015800008
+ff0029b332ff00d5e66805ff00363334fffffa8000ff0017199affffdd1998ff0006
+6666ffffbe3334088d79a68f058cbc8bbc92b871fffffc6668ffffd84cccff000966
+64ffffcee668ff0001e66808ff000accccff00374ccc698bfffff5199affffc81998
+05ffffbcb333fffff98000ffffa0cccdffffd3e668ffffef6666ffffa98000ffffed
+8000ffff9de666ff00538000ffffd2b334ff00364ccdffffe5b33208ffffd0cccdff
+ff0d999a05ffffbcb333ff0007e667ffffdecccdff0039e666fffffb6666ff003d4c
+cd08708805137888538855846608a08b8b969a8b08ff008f3333ff000c666615ff00
+2c8001ff00e4800005ff00258000fffff03334ff00326666ffffe3b333fffff06666
+ffffb03333fffff16666ffffb7199affffc26666ffffe63333ffffd76667fffffa19
+9908ff00430001ff0206333015ffffd91998ffff38b33405ffffdce667ff0012199a
+ffffd5199aff001fccceff0008b333ff002eccccff000b999aff003accccff003019
+99ff00248000ff00308001ff00074ccc080ed778a8f764abbaa8f72cb09dab8f7712
+f717bef71caab2bef71ca913f3c0f84bd815c4b5dfbc99aa825754682f531e79709a
+bf1f589915250abbf83c15260a13fbc0270a13f7c0280afb92fb0f1513fbc0290a0e
+f72482c155adf807a5f750ad12d0daf70bd4f728cd133ef846f8f615ae9e786a1f8b
+7a8b56fb143f7eb384a98ba108c8c2b8b21ef70c5515c05eae4b2f354d2d1e8b6d93
+699e5cfb333949438b2508137e2ed166ea1edf8bcab7c4ca08a2650513beae4bb086
+a98bae8bb9abaed2087e93056f63717a6a8b7a8b72a174b70871b805f71af738a4d7
+bf8b08a7068f8b908d8c91088e9b8a8d058b55896969578d8b1e8989887a058a888b
+878f8b08a806948e87841f8b71584437293bf72386a0829dd9b4f0d08bd508fb87fb
+6c159176c6fb04b64008137e4e476364448b548b5fa68bd18bf717f0c3c9aa080efc
+07f83ef76e01f732e403f72ef83e15a78f058b8bc9f7398e9b089207988498751e6d
+8b706f8875898289fb338b8b080efb93e1d403f70016a13bb24ac45008a09c0553da
+7bd784b685ac88ae8baf8bb790b993ba9ae1a6dab2d6a0b4b6d8e0da087c9d052640
+50386d5d563d69397b30866a886b8b6a8b5792579a59080efb8cf799d403f7ccf88c
+1575da64cd52c608767a05c33c9b3f926091698e698b678b5f865d835c7c35703c64
+407662603e363b089a7a05f0d6c6dea9b8c0daacdd9ce690ac8eab8bac8bbf84bf7c
+bd080efb14f8cfce01f7c0cc03f7bef8cb156366578383600887077e95809a1eb08b
+9dc6acb89d64874ab28b998b9c968e9d8c8e8b8d8b8e8bac5f9773ad9d8e9c8c9f8b
+08ad8baf9290a9088f0796869a741e698b756b5a7793a9a3b390a60893079d80947b
+1e798b7b7987768b878a888b878b7794758b6f088007629d7eac698b748b7f7b887d
+08850772a885b81e9a8b9a8a9788080e69f763bc01f7e2f79415a9f7425a8b6dfb42
+fb428b835af7418b6cfb41bc8baaf741f7418b94bc050efbeafb18a2f705e601f713
+bb03c9b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff
+0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a36c6d6e78
+6c1e0efb78f773c701f7cef773152a0a0efbea80f501caf70003f711ea152b0a0efb
+a2f9497601f826f93e15628bfbfdfd53b58b050efb0981aef8baae01f7ecf8d3152c
+0afb0afcdd152d0a0efb0989ac01f713f7b403f7d2f70e152e0a0efb098bccf892ae
+01f728f868152f0a0efb0981aef7b3abf77bae01f728d403f7dbf8d315300a0efb09
+89acf721ba01f7fff88f15310aecfbb415320a0efb09f7edf75115792c4d45518b67
+8b84a4809f829c7d9a778b798b757a87778362d669c28bf70b8bf2e7a3f712089eec
+5ce2fb008b628b6682788408bef73b05ae87a986b98ba88bac8db38f08a7cf858f05
+53855786588b678b698d6a8e0832fbb405c29fb08fae8bc98bb46076fb01080efb09
+80aef7c6ae01ff00c1e666ff0133333415330aff000fcccdff0024666615ff002b99
+99ff005accccff0050b333ff0064e666f71dff0031b3348d978a948490246d476149
+4a41435b307c3c64fb5ff263d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cc
+cc8bffffd93334fffff83334ffffe0b333fffff26666080efb09f7b2f8ab15340a0e
+fb0981aef8baae01f7e9f8d315350af71c3115360afb8efc6015370a0efb099476f7
+8aaef7c6ae01ff0180199aff0123cccc15380afffff06666ffffdc000115390a0efb
+eab2f5f730f512dbf7004df70013e0f750f82b1513d03a0a5dfb9a1513e067716a70
+1f13d0719f77a51e13e0aea6aba9a4779e711f0efbeafb18a2f705e6f762f512f711
+f7002abb13e8d2b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffd
+cccd82ff0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a3
+6c1e6d6e786c1ff708f7fe1513f02b0a0e41f738f78315f7e5f70794bdfc33fb2183
+5bf801fb2293bd050e69f724bcd7bc01f884f755153b0aaaf742153b0a0e41f82bf7
+8015fbe5fb078359f833f72193bbfc01f7228259050efb3080f5f8aaa912f726d455
+f700f71bd913e8f726f89c153c0adcfc3d1513d82b0a0ef7a0fb32acf72cae6ab4f7
+c9aaf73fa91213b8f8e8f7d01583697158776c604250526b8b518b86b795bb98c9a8
+cbc6beaeaab4949b8b08ac8ba27283650864fb86158d9498aa96a608f702f7967f90
+577e81730587a56f9c6d8b288bfb23fb066dfb2383638e37e88bab8bc3a8c4d5088d
+8a057e728074887c0813d8877b8d72a58bf75e8beaf721a4f706b3f74ffb06f722fb
+5c8bfb668bfb65fb415efb6b5dfb69f703fb3cf7718bf48bcbaecdb908829d055060
+4c743c8bfb848b72f76cabf72abef781f746f2f7218bf7098bf722275ffb6268fb3a
+465c2b8b898b848d8d95080ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f
+816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b
+8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05ff
+ffe76666ff0002199afffff46667958bff000ecccc8bff0006cccdff0002666693ff
+0004cccdff00084ccd080e8789adf7c0adf78bad12ff01d5999aff0058fffeffffb7
+199cff004c333413e8f7b6f8ce153e0a856915cd0613f03f0afb425015400a13e841
+0a0ec281b4f8e2b001ff0058cccde1ff01c93334a803f7e68115420a0ef589adf8d9
+ad01f8efff005ab334039e9d15430af742c215440a0e6889a870b2f7b0b1d677f751
+b370a812f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a13738777
+0513b38d89051373490a13b34a0a137b4b0a0e2389a8f7bcb1d677f751b370a812f8
+22aae3a713f6f7fbf7d7154c0a13ee460a13f6470a13ee4d0a0ef281aff789aff7ce
+b001ff0053999aff0057e666ff01dd8000a903f87bf926154e0a0ef70489a8f7bab5
+f793a801f8eff8cd154f0a0efbad89a8f8e3a801f769f8cd15500a0efb27fb5caef8
+709ff7b7b401aae091b1f787e803f847f8d815a69dada68ba38ba07b92768b6a8b78
+648772609f4ea95f8b082a674a63719779a4a09795a01f8ba46b998b958b989a9aa1
+8bb68bab73b8799985a1859c8b918b918c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056efb425a2a4a8b7b8b8fa17e9e7f9c7e91758b087080727c
+67bd74b91ff7028be6e4b3f78308a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080ed789a8f8e3a801f769f8cd15510a0e6189a870b2f8d7a81213a0f709d71552
+0a1360530a13a0540a1360550a0ef78789a8f8e3a801f923e2158871fffff2b334ff
+ffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386fffffd4ccd
+ffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05ff000080
+00ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe83334ff0001
+cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff00078000
+8cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff00006668ff0006
+8000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc910585818887
+898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbccccff000166
+66fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bfffff16668
+8bfffffa9998fffffeb334fffff98000fffffde666fffff8333408fb21fc7c058470
+7e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae6660889788d
+8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199afffffcb3
+33ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c8b93ff00
+018000ff0008e667ff0002999aff0009333308f712f84a8d8becfc9b058d84908791
+8b908b908e909308f7d3f8a58d8b050ef4967693a8f8e3a8121360f943f8c115560a
+13a0570a0ef681adf8ecad01ff00576666ff005ae666f84be403f848f90415580af7
+9bfbbb15590a0e4d89a8f793adf7c4ad69a412ff01e8999aff0055999a13e8f7b7f8
+d2155a0afb13fb8e155b0a13d85c0a0ef6fb65c4b1b7f94aad01ff00576666ff005a
+e666f84be403f848f90415580afffecae666fffd0f999815fffff78000fffff88000
+fffff83334fffff7ccccfffff96666fffff7199a08ac7705ff000ee6669cff000f66
+67ff000f999aff000f9999ff000e3333ff000f199a94ff000d8000ff00033333ff00
+0780008be48bb52cf7118bc78bb9a5bbc3087d9705717066816f8b378b4ddd218bff
+fffa66668bfffff9ccceffffff8000fffff93332ffffff199ac5ff00268000c1ff00
+151999ff0020999aff00083333ff00979998ff001d4ccdff00734cd0ff00804ccdff
+00221998f74390ff0019ccccff00024cccff0018b3348bff0017666608ff009c0002
+ffff96ccccff00631998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe5
+6666fffffd8000ffffe6ccce8bffffe833328bffff74e667ff0053e667ffffa74ccd
+ff007b3333fffff18000ffffc06666ffffe06666ffffc2999affffd1999affffd566
+66ffffd58000080e8581aa74a8f79cadf7bbad69a412ff01e9999aff005466661334
+f811f900155d0a91ad15136c5e0a13b45f0a0e2081aff8eaad12cba9ff002fcccdff
+00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4610a0e
+7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a13b0640a13d065
+0a0ed481b4f8dfa801ff007bcccdff004ecccd03f7c68115660a0eaff8fea801f8fd
+f8bd15670a0ef7f09676f908a801f76df8b615680a0ece89a8f8e3a801ff0146999a
+ff005de66603f71af90515690a0e8289a8f8e3a801f7e4d7156a0a0e9c8bb2f8cab3
+98771213c0f8a489156b0a13a06c0a13c06d0a0efb77fb5cb7f9b6b701f83cf94515
+fb6b8bfb30fe0df76b8b92b7fb268bf721f9b6f7278b050efb84f94e7701f71af745
+03f746f94e155f8bf719fd7eb78b050efb77fb5cb7f9b6b70188fb5c15f76a8bf731
+fa0dfb6b8b8460f7268bfb21fdb6fb278b050e60f7fff8e515c7fb8ab78b43f7c361
+8bfb48fbc3b78b050e40fb2eb701f863fb0215fc728b845ff8718b050efb3df7c1f9
+4e15888d858c868b678b75798085088781eafb0105987c9186928b928b93918c908c
+8e8b8e8b8e8b8f8a908991080e4081c2f7ffaa01d9dbf739d903f82ef845156e0a59
+fb6a156f0a0e3881aef803baf760a8a57701f82edd03f7b1f8db15700af748681571
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0e4381b9f803aff760a8a577
+01dcdbf73bd903f7edf75615730a3d04740a0efb3481c7f7faaa01dedef751d003f7
+f7f80615750afb50fb3f15760a0efb8bfb82acf8e7b2f780ac01ff01b6999aff0054
+cccd03f750f81a15770a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5f723d556
+cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a13db0041
+167c0a0e6181c7f7dec6f760a8a57701ff00afe666d315ff0026199af73a05caddcc
+c6af8ba08b99858b6c8b7d897883690865fb3405836b82628b788b78967da98bbb8b
+b8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490
+a191a508b1f7330593ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa
+8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cc
+cdfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ff
+fff58000ff001fcccd8bb18b8ab7ff0008e666b1080efbb181c7f7eda79877f5eb12
+f75deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0e
+fbc2fb58aff8bfa79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff
+0140333415810a13d8820a139470f7e4157d0a0e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830a0efbbb81c7f8e5a8a57701e8da03f7b2f8db
+15840a0ef77281c7f7ddc75fa712f753ff00558000ff009a8000d8ff00624cccff00
+50999cfffff11998d813daf74af7d515850a13dc860a13da870a13ba880a0e6081c7
+f7ddc75fa712f73bff00578000ff00528000e07ada13d4f845f71015b1f7330593ae
+90a28b9d8bc7709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d
+199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8b333
+ff00076666fffff2cccd8b0813b4890a13d48a0a13d88b0a0efb0681b0f80fac01d9
+def771de03f735f73e158c0a3883158d0a0e43fb7fa9f757aef804b901f83fdd03f7
+9ef828158e0af735fb17158f0a0e45fb7fa9f757b5f807af01dcdff784f103f829f7
+de158b7b783d7853744a3338668b08ffffd8b333fffff14ccdd1c3f70cd8f711f1af
+a46b621ffb02fc7f1584ffffe43333fffff24cccfffff3e667ffffdfb334fffffae6
+6608788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058b
+d090afb2cf898b1e8d8d8b9f058b9089ff0002666687ff0000999a08788e05fffff0
+ccccff00026666ffffe66668ff0004999aff0007ccccad08f71af8da05ff0001199a
+ff0004e666ff0000e666ff0005199a8b908b93838d888b848bfffff3199afffffcb3
+34fffff4e666fffff04ccc086e620574ab6ba0628b0821fb2dfb0cfb4040a239e91f
+bc8bbca3c9e1088e8a050efb609676f812ce5fa71213a0f771f7b115ff00084ccdff
+0023333405ff0008b334ff0026ccccff00088000ff0022cccc8bff0011199a8bff00
+0f6666fffff7b333ff0009b334fffff2cccd8b6b8b62845c85fffff94ccd83ff0001
+b33380918208b3880513c0978a91828b818bfffff6e6668bfffff2199a846f08ffff
+c8cccdfb8d05fffffb3334ffffea8000fffff8199affffee80008bfffff033338bff
+ffef4ccdff0008e666fffff58000a88bae8b8cb6ff0009e666b208ff001d199af709
+05bbe2c3e8a28b958b908691849283987e998b08a69da8a6a07ca5661f598b514d5f
+2e080efb6481acf813ac12c6df77cbdfd658dd13d8f7428115900a13d4910a13e892
+0a0efb9281c7f7e8b201f74ef84115930a0e6381c7f7ddc701f88ef7f415940a0e32
+9476f805dd01f853ff0048666803ff0130999ad715950a0ef7139476f805dd01f92b
+ff0048666803f79d7f15960a0e3581cb4bbcff01438000ff004c80004cca121380f7
+6bf7c915970a1350980a13a0990a0e51fb7ec8ff02178000ff004c800001f871ff00
+48666803ff01608000169a0a0efb1181d871c8f790c55ad7121320f84af850159b0a
+13109c0a13609d0a13809e0a13609f0a0efbb4f7abf8cb1593b495a9999d9ba19e98
+a091088e9905568a627f747474747b6482550869fb510582597754507b088a8605b1
+81976f8b658b7c897c887a086cfb4305877088758b778b728f78937d9874b17fc18a
+088d9905828e798f7dad889589998b9b8b9a8d9d8e9f08a8f7380590a78ea28b9e8b
+b37ea4679cc0a0a2a69be6080efbf8fb6876fa147601dffb7d15f730fa095f8bfb30
+fe09050efbb4dd42158362806d7e797b75787e768508887d05bf8cb497a3a2a1a29b
+b295c108acf7520594bca0c2c69b08900766957fa78bb18b998c9b8e9d08aaf74205
+90a68da18b9f8ba4879e84997ea26497568c08887d0595889d8798698f818d7e8b7b
+8b7c89798776086ffb3805867088748b778b639772b07b5676736f7b30080efb04f7
+69c691c601caf76515978805aab7c3a7ae8bbf8bac4ac08ba38bce98bdf6087b9105
+6c59577a6f8b5e8b5ecc5d8b4f8b494c734a080efbcb0efbe2fb6676f8cff612a9f7
+0b7af70027a813d0f783f81e158c8d8b8e8b8e8ba5799e708b6e8b6f73866e8a878b
+888b888b729e78a58b08a88ba7a390a908fb38fd0515a28bae9e95c10813e090ac8c
+a28ba408b8078b9d8ba18da60813c891d996e58ca0088d07908a90811e818b868388
+7f877e7f4f6bfb00723574617f4a0813e08a848a858b848b67a17aa28b080efb0f94
+76d8ff0037e66601e8ddf751d003f7d5f8dc15fffff166664005ffffd83334fffffa
+ccccffffc9199972ffffdb6667ffffd8b334ffffcf4cccffffcbccccffffde999aff
+ffb280008bffffa633348bffffdee666ff000680005eff00178000ffffdf199aff00
+14999affffe3199aff0022ccccffffece666ff0028999a8b08ff000033338bfffff1
+cccd42ad8b9ad805c5ff000d6666ff0033e666ff002d199aff0028199ac388958192
+828bffffdcb334ffffd8333367ffffe1999affffd23332fffffa999908ff00456666
+ff0164ccce05ff000dcccefffffd1998ff000fe666828bffffe733348b8589838886
+fffffd6666fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff
+0024800088ff00344cccffffa68000ff0006800008ff000e8000ff004ab33405ffff
+84199afffe3233341580ff0002e66680ff00061999fffff6e666ff000bcccdfffff1
+199aff00133333fffff5e666ff001366678bff003c66668bff0086b334ff00393333
+ff0054e666ff0043e6679a080efb0f7fbd93b2f763b3f75db5019ecf03f738e015ff
+fffd33338bfffffc999affffffcccdfffffc6666ffffff9999ff0001e667ff000133
+348dff00011999ff0001e666ff00014ccdb5a7b0c1a1f709088c90f7178b92b3ffff
+7de6668bff000b199ac3059bddbfcab78ba08b9680968093819383988ba28b9f998f
+a392ac5796758b598b5d796369084d586b577b3b08fffffe800083ffffbe80008b83
+63ff0041e6668bfffffb199a71057e4b763e545bfffff86666fffff9199afffffa4c
+cdfffffb6666fffff9999afffffb999affffe37ffffffff28000ffffe76667ffffed
+8000fffffbcccdffffe9e666887f967f988b9c8ba49690a58d95979bac8b08a58ba0
+7fa17da47ba67bb08bd18bbeaea6bc087b98056c6a5c7d6f8b718b7e937d96789974
+99508b080efb0ff710b5f79eb501e5c8f782c803f784f71015b48bb197b0a408b057
+b6b15fb705a9ab9daf92b38d968c968b968ba784a47da108cab76bb45354056fa369
+98638b648b657f66740867bd5f64b762056c6c7766836189808a808b828b6e93719a
+73084e60ad63bfc105a773ad7fb38b0835f7441598d2c7c8d08bc28bb15e8b4e8b82
+8a828a827e44524d468b4d8b68b98bc68b958c948d95080efb0f8aa8eeb2cab3f7ab
+a601f849f73a15ffff7066668bff000c4ccecaff008f4ccc8b93b3ffff7ce6668bff
+0094199af77c059da8a19da88b089206948b8c8f8c8f088e9c898d0578895f8a828b
+7e8b528d838c088a898779058a888c87908b089a069d8b918789828a848480837d08
+fb1bfb694ff76905889888958c938d9392909d8b089806908b8e908c8f088e9c8a8d
+057c89498a858b7e8b488c808d0889898879058a85918a8e8a089206a68b947a936e
+08ff0042999afb7cffff8266668b8363ff0083999a8bfffff3b3334cffff7cb3338b
+8364ff0083b3338bfffff54ccd5405866f7a7b628b087106868b87888a860888788c
+89058be98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08ff00
+0ab334c2ff008f4ccc8b050efbf8b8f76003f732f735155a8b4bfbfebc8b05f72ff9
+ff155a8b4bfbfebc8b050e33fb40aaf994aa01ff0051b333ff004d4ccdff001c8000
+ff004acccdff00336668ff004acccdff001c8000ff004d4ccd03ff00d7999af83415
+ffff9db333ffffbc8000fffff16666ffffaf999a8bffffd7e6668b2ddeffffd94ccd
+ff003c4ccdffffdbb333ff002fb334ffffe333339fffffe1e6678b678bffffc44ccc
+ffffcf8000ffffd2999affffc9cccc8b608b84a889b18a9e86a1718b08ffffdbcccd
+fffff6e666ffffe14ccdffffeb9999ffffd9999aff0022999affffce8000ff0056b3
+33ff0067999aff0051e666ff0045b333f01f8bff00194ccdfffff8e666a2ffffedcc
+ceff0017cccdff00618000ff0042cccdff000d9998ff004fcccc8bff0028999a8be9
+38ff0026b334ffffc3b334ff00244ccc5ba8ffffeb4cccff00284ccc8bff00244ccc
+8bff003b6668ff002eb334aec18bb68b946e8d65088c789375a58b08ff00243334ff
+00061998ff001eb334ff00146664ff00266668ffffd76668ff00318000ffffa94ccc
+fb0affffc28000ffffb3ccccffffab80001f8bffffe56668ff0007cccd70ff00144c
+cdffffe44ccc08ff00803332fffebc666615fffff03334ff000f4ccdffffeb8000ff
+000fe667ffffe58000ff00116666ffffc8b333ff0024cccdffffc5b333ff00236666
+8bff004633338bff003ab334ff001f8000ff0019ccccff00234ccdff001a199aff00
+0f80007bff00140001ffffef999aff00194cccffffef6666ff00374cccffffdb3334
+ff003a4cceffffdc99988bffffb9ccce8bffffc86666ffffe3199affffe2b333ffff
+dc1998ffffe6b333080efb4ef8a3e601f72fe7d0e703f765f8fe15a00af7358c15a1
+0a0ed3a2abeda6f793a0f0aa01adaaf2c3f7ecaa03f849f76d15769905807b6e6858
+8b08476ac5cef4c6a4b01fd48b916c935f08a68f7fd905698b8c99458b082d523f42
+3bc541eb1fc28bb3ac9faa08fb0cfb5615a20af8aa04a30a0efbb1f7faabf772a412
+f70ebd7ebcc6c278bb13e0f7b8f88a15a40a91fb2415a50a13c8a60a13d4a70a13c8
+8e9ba196ab8b0813e4a80a13c8a90a0e2af741f76b15beb4b9bbd0da0874a3053c3f
+5a60445a8b8b7b80838608887b05918696808b8bbe5aa860ba3f08ada30568da70bb
+6ab408f73716beb4b9bbd0da0875a3053c3f5a60445a8b8b7b80838608887b059186
+96808b8bbe5aa860ba3f08aca30568da70bb6ab4080e8af7f9b701f88ff71915c08b
+baf7a0fc948b835ff85f8b050efb67f780c101d8f7a403f7d0f78015988b9da48d96
+089107928890831efb7906808b7a76887b8b8a8a898b8b08839085921e0ed3a2abf7
+049cf2a0f70e9cf702aa01adaaf740bedabdf72baa03f835f80815a978b83f1e428b
+768976880880078b888e89928a089b8c058e8c86851ffb730784898a851e7f068488
+8a871f8b7fc28d0599b5898b1f960790888c831e7f06848b8e901fea07908b9d8a8f
+8808bb3c059771a07fa88b908b938c958e0898077c8b7f947ea1085bdd058bc4a3bf
+1f59164d5b896c1ef70b07908c978d968b08ad9c73691f59fbf115a20af8aa04a30a
+0efb38f8a5b701f72ef7b003f82df8a515978b9a9d8d97088e07908891821efb8806
+7f8b7e7a897f8a898b8a8b8a08858e86921e0efbbaf881a7f724a601f71dacf71cac
+03f71ff8e5158a858a858b858b5cad68bd8bc28bbfb895c28c918b908b918bba69ae
+5a8b548b565f825408f73a8a1584686c67628b668b78a68ba98b908c8f8c9091aea9
+b1b68bb28b9b6c8b6e8b878a868b87080e699dbcf775bc01f86dce15fc1f8b825af8
+1f8b05fb07f7d715a9f7425a8b6cfb42fb418b825af7428b6cfb41bd8ba9f741f741
+8b93bc050efb92f800abce77f771a301f7d6c603f750f8df15aa0a0efb92f7faa4f7
+24a3f705a301f738bee7c803f7caf90415ab0a0efb70f8b2f73501f74ff74603f7bf
+f95315ac0a0e3ffb6976f774bdf823770192ecf781d903f71bf7f91559fb73057e51
+8858846afffff04cccffffbe199affffd8b334ffffb833338bffffdab333086aa579
+98ff0017999aff00236666ff0011199aff0055e6661e8b9e8a9f8ba08ba48ca491a4
+8c90928f918b937e9b819d8bd98bbdc9d2f3088e89806405826b83628b788b78927d
+a98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a191a508
+c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b
+8d5f8165086efb020541fb12543a5c8bffffc580008bff00038000c297bf08baf761
+058f9d94a98b978b9c81956b8b658b8c5f8265080eb4fb7ea7f839f8436da41213a0
+f806fb63157b869a9d1f8b958c968d9508f70ff94c0590aa91abac8b978a958a8b72
+8b838a80897d08fb10fd5105836184776e8b08f2ca15f70ff9500593b9929bae8b08
+a9068f8b8d8e8c8f0813c08fa0fb03890513a08b6888681e13c0708b4f90408bfb19
+8b363775fb0f88788a798b7a8bfb1af567d48bab8bab909a92084afc060582578381
+6a8a086e06878b89898a86088776f7dc8b8fa0058c8f8a8e878b086d06758c818e8b
+a28b938c978e9a080efbcbf75bf70001f710f70003f746f75b15ad0a0e77fb49a4d7
+ab01f7cac203f7a73b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa
+8b08cec5aebeab709a6b1f828b828a838908b0c5698b50349085059c8f948d9f8b08
+0efb92f800a5f7be7701f71ff75003f78cf90115ae0a0efb68f7c3a7f766a401f70f
+f7a503f70ff841157c43bc55d58be98bc4cb99cf98ce73cb298b358b4d577b3608f7
+2df70415bd8ba4617c3b7d435c7b6f8b4f8b7cc695bc95c1adbbbd8b080e2af81af7
+6b1558625d5b463c08a27305dad7bcb6d2bc8b8b9b969390088e9b05859080968b8b
+58bc6eb65cd708697305ae3ca65bac6208fb371658625d5b463c08a17305dad7bcb6
+d2bc8b8b9b969390088e9b05859080968b8b58bc6eb65cd7086a7305ae3ca65bac62
+080eee3aa8d1adf79ba501f907f8b115af0afc3bb215ae0af7d3fc1015b00a5ffb5a
+15b10a0eee3cabf7a0a3d1a501f8ecc603f8f3f8b115af0afc25b215ae0af76ffc40
+15aa0a0eee3ca8d1adf791a4f724a3f705a301f736bee7c803f907f8b115af0afb16
+fbe715b00a5ffb5a15b10afb53f8bd15ab0a0efb30fb73a9f8adf512a0d7f724f701
+46db13f0f7f1f821158b8e8c8e8b8f8ba3789e718b6e8b6f73856e8b888a888b888b
+729e78a58b08a88ba8a390a8084bfca915866d5e70528b598b6cb88bc18b948c938c
+9493baa6abb9b0d7c696c692b60893b9058d92878e848b838b86888a8408835f0587
+73817379727f7a747b717a5667485e7d3c8a8089818b818b42bf5ce58bc08bb799ad
+a408ada3a4a792b10813e88b8f8c8f8b8e8ba577917d8b788b747f8774897e8c868e
+858e868d85887c080ef589a8f76ab5f80b7701f8eaf96415b20afbb7fc49153d0afb
+cdfb6015b30a0ef589a8f76ab5f80b7701f820f95115b40a32fc36153d0afbcdfb60
+15b30a0ef589a8f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b3
+0a0ef589a8f76ab5f80b77cbb78fb901ff0221b334f97e15b60affff114cccfc6315
+3d0afbcdfb6015b30a0ef589a8f76ab5f80b779feb12f7cdebf721eb13dcf7cdf956
+157d0af78116b70afb87fc3b153d0afbcdfb6015b80a13ecb90a0ef589a8f76ab5f8
+7ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff001899
+98ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334fffffb
+8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdfffffd
+6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e8d8d
+9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199afffff480
+00958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08dff725
+059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6
+678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd666608
+6f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc1
+8cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c0565
+8f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffffff33
+32ff00036668ff00234cceff000c1998ff001d9998ff001e999cff0007199cff0022
+ccccff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d08ffffab
+199afc46153d0a0ef7a089a870b2f777b2a3adf786b370a712f949aaf2a81333f7d3
+f7c515bb0a137b78fbc515bc0a1337fb3c8c05133b898a87770513b7bd0a13738778
+0513b38c890513738bc18dac1e13b3b1cc898b1f13738c8d8fa00513b3be0a137387
+790513b3bf0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334
+ff00d14ccca803ff014c80002b15c00a0e6889a870b2f7b0b1d677f751b370a8d376
+12f822aae3a7133380f871f961158b90879184910825df345ef7214c059b84998695
+8b089a8f98911fd74415c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a870b2f7b0b1
+d677f751b370a8d17612f822aae3a7133380f7a7f94c15c30af7aa5915c10a133b80
+c20a133780460a133b80470a13b780480a13738087770513b3808d8905137380490a
+13b3804a0a137b804b0a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7
+133380f850f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a8
+70b2f7b0b1d677f751b370a8bde512f7a5e8abaaade765a7133380f7a6f97a158b88
+8a888b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b08728b727786
+7208f7528c151333c0c40ae42a15c10a133bc0c20a1337c0460a133bc0470a13b7c0
+480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc06a435a50428b08
+fb160679fffff3e666ff00046666ff001233341f8bff00031999ff00006667ff0003
+6667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666fffff8cc
+ccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb33488088972058a
+888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b05878b87878a
+8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06133ba0d38b95
+63934608a790058fb48feb8b93080efbad89a8f8e3a8d17601f7dff95f15b20afb0a
+fb2615500a0efbad89a8f8e3a8d17601f765f94c15b40a8ffb1315500a0efbad89a8
+f8e3a8d17601f7d3f9bf15b50a21fb8615500a0efbad89a8f8e3a8bde501f726e8ec
+e703f727f97a15c50af7528c15c40afb10fb4215500a0ef589adf793b2f7b3ad01f8
+efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbba
+f78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff9180
+00ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e
+88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308b
+fffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd0199afb8aff
+ffa5e6668b8364ff005a80008bffffd68000fb6905856b78806989086e8905878b87
+878a8608f742c215ff0029e666f76aff0067199a8b93b2ffff9880008bff00308000
+f78c0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bffffe2199a
+fffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b8bffffed
+8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff0000e666
+ff0004cccd080ef4967693a8f8e3a8bdb78fb9121338ff0216b334f97915b60aff00
+984cccfb4c15c60a1378c70a13b8570a0ef681adf8ecadc67601ff00576666ff005a
+e666f84be403f88cf95f15b20a473015580af79bfbbb15590a0ef681adf8ecadc676
+01ff00576666ff005ae666f84be403f811f94c15b40ac24315580af79bfbbb15590a
+0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15b50a4afb4f
+15580af79bfbbb15590a0ef681adf8ecadb2b78fb901ff00576666ff005ae666f84b
+e403ff0213b334f97915b60affffa04cccfb0915580af79bfbbb15590a0ef681adf8
+ecad8beb12ff00576666ff005ae666ff001eb334ebff01384ccce4ffffa7b334eb13
+b8f765f956157d0a13baf82d167d0a13dcfb4a3915c80af79bfbbb15590a0e69d4f7
+cf01f7e7f77a15f724f70f6faefb25fb0f26f70f6268f0fb0ffb24fb0ea868f724f7
+0eeffb0eb4ae050ef681adf8ecad01ff00576666ff005ae666f84be403f96bf93215
+c90afbd07615ca0aff00ab3334ffff7d333415cb0a0ed481b4f8dfa8d17601ff007b
+cccdff004ecccd03f8dff95f15b20afbadfd6915660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f815f94c15b40a3cfd5615660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f8a1f9bf15b50afb6ffdc915660a0ed481b4f8dfa898e901f7
+eee9bde903f7c58115cc0ab4f96115cd0af72416cd0a0e8289a8f8e3a8d17601f82a
+f94c15b40a45fd00156a0a0e4f89a8f711aaf7c7aaeca701f79df87315a091bb909d
+8bc48bcd7073fb0c72fb153a6c458b678b748d838e0889f8171529fc8b05856f7c7f
+638808718905878b87888a860887788d89058be58dadb1de898b1e8d8d8f9e058c90
+878e888b08718d05678e7e9491aa089ce2059886a489ac8bf73f8bd7f7089ad699d2
+7ef6fb468b798b698b69890895c30591a79a95b28e08a68d058f8b8f8e8c90088e9e
+8a8c058b308a6a65388c8b1e898a8778058a868e888f8b08a48905b0889983856d08
+0e79fb82acf757acf803b2f781ab12f794baf728e757db13faf795f80a159acf05a3
+f700a9f708f38bb58b9e748b668b27fb033b717a08887e0513fcc556b5488b41083a
+54295b77728ba11e8b9ca1908bae08977f937b78757f55689d6ccdf70dddf717ea1e
+8be644c452b8088d0713fad5bbddcc8bdd8bb769bb308b228b30505ffb3683707d76
+6c8b0873857383fffffae6668efffffe199a901fb406958d8b801fffffed33332fff
+fff2cccd3c7f48fffff0b333ffffaab333ffffe7cccdffff63999affffe3b333ffff
+c3b333fffff43333ffffe6b333ffffebb334ffffed4ccdffffede6668b7e8bfffffa
+199aff0009cccdfffff81999ff000cb333fffff7e66798fffff1ccccff000b6666ff
+ffebe6678b08ffffe79999fffff566677afffff13334ffffece666ff000f33336ed0
+1fb18bae9ba8b308d3f2ff001ccccdff00d86666ff00343333ff00ec999a080e4081
+c7f7faaa01d9dbf739d903f809f93315ce0afffff8999afb04156e0a59fb6a156f0a
+0e4081c7f7faaa01d9dbf739d903f804f92e15cf0ab5fb7d156e0a59fb6a156f0a0e
+4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff001c3334fb7015
+6e0a59fb6a156f0a0e4081c7f7faaaddb78fb901d9dbf739d903ff018bb334f8c915
+d10aff000e4cccfb18156e0a59fb6a156f0a0e4081c7f7faaae3e712d9dbd2e78dd9
+7fe713f8f779f8d115d20a13faf73416d20aa0fb2015d30a13fcd40a59fb6a156f0a
+0e4081c7f7faaad2a6f704a601d9dbf739d903ff01613334f91d15d50affff9db332
+5315d60aff009b199afb34156e0a59fb6a156f0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0efb40fb58a8f8d3aa01deddff00498000ff003f3334ff00344cccd003
+ff00d380002f15dc0a0efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6
+999afb4315750afb50fb3f15760a0efb3481c7f7faaa01dedef751d003f809f92e15
+cf0a79fbbc15750afb50fb3f15760a0efb3481c7f7faaaf76a7701dedef751d003ff
+015dccccf92115de0aff00053334fbaf15750afb50fb3f15760a0efb3481c7f7faaa
+e3e712dedea7e7cfe730d013f8f756f8d115d20a13fcf73416d20a13fa8cfb5f15df
+0afb50fb3f15760a0efbb181c7f7eda7987712f6f7481390f769f93315e00afffff3
+e667ffff1f3334157e0a13b07f0a13d0800a0efbb181c7f7eda7987712f6ff0106cc
+cc1390f7c5f93c15e10affffc44ccdfffe983334157e0a13b07f0a13d0800a0efbb1
+81c7f7eda79877f7817712ff0065999af7921398ff0118ccccf92115ffffce000106
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff002b7fffa6ff00
+25199aa4ff002cb333b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba08ffffdc8001fffeb33334157e0a
+13b87f0a13d8800a0efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115
+d20af73416e20affffe24ccdffff033334157e0a13bc7f0a13dc800a0e387fb2f810
+ae01d6dbf7a1de03ddf76415877788778b788b36b73ff08bf7058bf70edbb2f73d94
+b08faf8bac8bee69dd5acc087d9cf704cd7dabfb0f44056fa76ca26c9e087776059e
+7a9d789c7508977afb0d45996bf712d405a65d9e5895567595718f718b398bfb1e4e
+63fb4108f738fb49155467bfd91f8ba08ea291a39cd7bdf5f18bb58bab789b6e8b86
+8c868b858b648662826366fb363b695c8b080e6081c7f7ddc75fa7f2b78fb912f73b
+ff00578000ff00528000e07ada139cff01b4b334f8ce15e30afffffc4cccfc5215b1
+f7330513dde40a13bd890a13dd8a0a13de8b0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af7aaf89115ce0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af79cf88c15e50a0efb0681b0f80facf76a7701d9def7
+71de03f735f73e158c0a3883158d0aff011be666f87f15e60a0efb0681b0f80face2
+b78fb901d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10a0efb
+0681b0f80face3e712d9dea8e7cfe74fde13f8f752f8d115d20a13fcf73416d20afb
+51fc2715e70a13fae80a3883158d0a0e69adede2bce6ee12f77af06ef013f0f77ad3
+15759b7ba2a8aca5ada17b9b741e6a6e6d6d1f13e8d3f7d915759a7ba3a8aca6aca1
+7b9c741e6a6e6d6c1ff771fb1515fc1f8b7f5af8208b050efb0681b0f80fac01d9de
+f771de03f86af87115e90affff85ccccffff69800015ea0aff00b91999ff01253334
+15eb0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a34f8b715ce0a0e6381
+c7f7ddc701f70cdaf736d903f88ef7f415940a72f8b215ec0a0e6381c7f7ddc7f76a
+7701f70cdaf736d903f88ef7f415940affffd7e666f8a515ed0a0e6381c7f7ddc7e3
+e712f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a
+13fcef0a13faf00a13fcf10a0e51fb7ec8ff02178000ff004c800001f871ff004866
+6803ff01608000169a0af70df97515ec0a0e4efb83a8f75caef803baf760a8a57701
+f84edd03c0fb3515fffff9999affffe4199afffff1b3327effffdfb334fffffae666
+08788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058bcf
+91afb2cf898b1e8d8d8b9f058b90fffffde666ff00026666fffffc199aff0000999a
+08788e05fffff0cccdff00026666ffffe61999ff0004b334ff0008199aff0021e666
+08b7f74c059086a86fbd8b08f735f6f74ff704e456c83a1f5c8b6380617308b3f747
+05ff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62
+8808887305888c898f1eaa8905989385751f8b80fffffe199affffeeccccfffffae6
+66ffffea3334085afb6305616a62657464089e7e059fa7a5a5aaa408f7ac64153d5c
+fb3efb1d1e6a8b71997aa708d0f7be05a297b49ab58b08cf9c455a1f0e51fb7ec8ff
+02178000ff004c8000e3e712f781e7cfe77fff0048666813f0f781f8d115d20a13f8
+f73416d20affffd38000fcd115ff0013999aff00206666f70eff00ba8000ff001c33
+32ff0042199a0813f4ff000ee668ff0022ccccff000c3334ff0024999a8bff002333
+3408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34cccff
+ffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff000f
+3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffd73334
+ffffb51999ffffdd6666ffffc9b3338b8bffffcc999affffac999affffe64cccffff
+da666608fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea072
+8bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999a
+fffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff780
+0008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff00
+1e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d8b
+818b7898859084917793838b087672776c6ab7829c1fc08bff004f8000ff0040cccd
+ff00408000ff00633333080ef589a8f76ab5f80b77f70cb701f7c7f7af153d0afbcd
+fb6015b30aff01a48000f93b15f20a0e4081c7f7faaaefb701d9dbf739d903f82ef8
+45156e0a59fb6a156f0aff00658000f7d415f30a0ef589a8f76ab5f80b77c0bf01f8
+09a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40a0e4081c7f7faaa
+c8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50a0ef71afb6bb2f743a8f76cb201f86cca03f7c9f7af
+15f60af75bfbb0158c8b8e8d8e9e058f878f871e8006638b7b9e83b208fb01f8b205
+86a584937b8b828b81827c7208fbdefcb70577697678628b087f06868b88888a8608
+87788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e06707c92991f8b928f
+948f9208e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e
+6f06868b88888a860888788c89058bed8daf1ea006456a584e8b558b5fab73bb8bae
+8bc29faaba087e92057477747c6d8b086b7a9fa6c0ced6df1f0e40fb62b2f72fc2f8
+04aa01d9dbf703c803f7e1e3158577897b8b788b7c90779e846267645d8b5c8b5fae
+73bb8bb48bb3a2b0b8087d92057175797d6d8b6a8b78a18ba18bbde3d69c9aa29f99
+9da3ab0878960578747c7a7f8308838605898a888a898b898b808d8b978b9492ac90
+9e08cff7cd05728b728b7790708e7b8e638b0820fb25fb34fb3153983adf1fc08bc6
+cec7e4088d890596d8155a313e356b8b086981b5c3f5def738e71fa08ba4849e7f8b
+8b7efb01724b080ec281b4f8e2b0c77601ff0058cccde1ff01c93334a803f7e68115
+420ac8f95715b40a0efb4081c6f7fbaa01deddf751d003f7658115720af743f93d15
+ec0a0ec281b4f8e2b0c17601ff0058cccde1ff01c93334a803f7e68115420af750f9
+c415b50a0efb4081c6f7fbaaf7637701deddf751d003f7658115720aff008ce666f9
+2415e60a0ec281b4f8e2b0b6eb01ff0058cccde1ff01086668ebff0060cccca803f7
+e68115420aff00653334f98b15f7000a0efb4081c6f7fbaadfeb12deddff00663334
+ebfffff6ccccd013f4f7658115f7010a13f8ff003a3334f8d915f7020a0ec281b4f8
+e2b0c77601ff0058cccde1ff01c93334a803f7e68115420af708f95715f7030a0efb
+4081c6f7fbaaf7627701deddf751d003f7658115720aff00446666f89415f7040a0e
+f589adf8d9add27601f8efff005ab334039e9d15430af742c215440af76ff90415f7
+030a0e6a81b9f803afdb9ce5d354a812dcdbf73bd913e6f7edf75615730a3d048471
+05857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334
+ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08f5f863059acc95
+b38b8b0813f692888e821e13eef7050a13f6ff0125b334f8d8156d8bffffee4ccc79
+fffffcb3347bfffffcb3347bff0000999875b48b938bff00044ccc83fffffd66687e
+fffffb4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff00
+2cb334c9ff00074cccaf08ff00074cccaffffff1999cb0658b080ef589adf793b3f7
+b2ad01f8efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8b
+f753cbbaf78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334
+ffff918000ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878
+058a868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffff
+ebb3308bfffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd04c
+cdfb89ffffb0b3338b8363ff004f80008bffffd68000fb6905856b78806989086e89
+05878b87878a8608f742c215ff0029e666f76aff009d199a8b93b3ffff62b3338bff
+00304ccdf78b0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bff
+ffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b
+8bffffed8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff
+0000e666ff0004cccd080e4381b9f803afe9b2d2a8a57701dcdbf73bd903f8ddf8d0
+15ffffbe80008bff0002800096059acc95b38b8b8b92888e828b7081437e62880888
+7305888c898f1eaa8905989385751f8bfffff69998fffffe33347dfffffc9998ffff
+ee666808ffff7b33348b8264ff0085cccc8bffffe13334fb298a8b057fa96ea4658b
+0820fb1dfb28fb31549932e31fbf8bbab3c7e3088e89847105857387788b7f8b7892
+71ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b706678
+7b818b888b828d8b97088b9491a78f9e08ff005e999af831ff004166668b05fb7bfb
+e715730a0e6889a870b2f7b0b1d677f751b370a8e1b712f822aae3a7133b80f8bdf9
+1a15450a133780460a133b80470a13b780480a13738087770513b3808d8905137380
+490a13b3804a0a137b804b0affffde8000e215f20a0efb3481c7f7faaaefb701dede
+f751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a0e6889a870b2
+f7b0b1d677f751b370a8b6bf12f7bba7d6aae3a7133bc0f8bdf91a15450a1337c046
+0a133bc0470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a13
+7bc04b0afb22b715f40a0efb3481c7f7faaac9c4e57701dedeff0032199aff001d66
+66ff006d8000d003f7f7f80615750afb50fb3f15760aff004e8000f85515f50a0e68
+89a870b2f7b0b1d677f751b370a8b8eb12ff016a3334ebffffc3ccccaae3a7133ac0
+f8bdf91a15450a1336c0460a133ac0470a13b6c0480a1372c087770513b2c08d8905
+1372c0490a13b2c04a0a137ac06a435a50428b08fb160679fffff3e666ff00046666
+ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e66608bc
+f78ff70e8b05ff001d999aff000bccccfffff8ccccffffe9999a1f8bfffffd6666ff
+ffffe666fffffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390
+a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e
+8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308133340
+ffff413334e915f7020a0efb3481c7f7faaae3eb12dedef717eb65d013f8f7bdf8d3
+157d0a13f4c5fb6115df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1e13f8ce8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b90
+8ba08c93080e68fb74b2f74db264a4f7beb1d677f751b370a812f7cbc7a6aae3a713
+b9c0f828fb7415af8bbd9fa3ba087c93057776777c6d8b086775a6abbec2d6db1f76
+a40587ffffff6666fffffbe666ffffff4ccdfffffc199affffff3333ff0012999aff
+002e6667ff0014ccceff0033cccdff00129998ff002be666086e900513ddc06a435a
+50428b08fb160679fffff3e666ff00046666ff001233341f8bff00031999ff000066
+67ff00036667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666
+fffff8ccccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb3348808
+8972058a888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b0587
+8b87878a8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06d38b
+9563934608a790058fb48feb8b938b8d8a8c888b7a88858a748b08fb8706139bc046
+0a139dc0470a13bbc08a888b87928b08a78905ff001de666fffffd8000ff000c999a
+838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334082afc8705
+856f7d7f6588086e8905858b89878a880887778d8905b88cb38cb08b0813d9c0f762
+06ff0014199a8bff0019e666ffffff999aff0016b334ffffff9999ffffc49998ffff
+de8001ffffd8b334ffffc666668bffffd0e6660855b36cc01e0efb34ffff52b333b1
+ff007d4ccdc7f7faaa01dedef751d003ff01533334ffff93b33315fffffd6666ff00
+06fffffffffacccc8f828bffffe5800075ffffecccce7bffffe2ffff8b668bfffff7
+3333a0ff00054ccda5ff0007199aff0022e667ff00191999ff001ae666ff002b4cce
+ff00213333ff00261998ff00114ccdff00248000aaff0023b334b9869685907f8b08
+525174825b8b5e8b6ca38be68b908ba08c93f799be87d88bb108a474bc43fb4243fb
+3efb1336b348de1eff0001e6668b8d8bff0001e667ff0000199affffdb1999ffffe3
+4cccffffe66667ffffe24ccdfffff9b3336c8055ff0021e66677bd8bb48bff002c19
+9a9fff00263334b808ff000fccccff01de4ccc15750a0e6889a870b2f7b0b1d677f7
+51b370a8d27612f822aae3a7133b80f8bdf91a15450a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0afb38be15
+f7030a0efb3481c7f7faaaf7617701dedef751d003f7f7f80615750afb50fb3f1576
+0aff00786666f7c215f7040a0ef281aff789aff7ceb0c07601ff0053999aff0057e6
+66ff01dd8000a903f87bf926154e0ab9f72715b50a0e37fb82acf7e5a9f781b36da9
+f762771292ceb5c35bd5f723d556cc13cc40f7358815780a13ed80f792f7ba15790a
+13dd007a0a13ee407b0a13dd8041167c0aff0013e666f7f615e60a0ef281aff789af
+f7ceb0aebf12ff0053999aff0057e666ff00d78000a7f76ca682a913fdf87bf92615
+fb398bfb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb
+66678bffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d96
+08a2f7080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e
+8c0889898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0ffff
+f9e6668bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb33
+33086dfb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc
+8bff0014199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7
+168bf71f8bae39933508a991058bb58db392d308518b71b8fb098b089bae1513fef4
+0a0e37fb82acf7e5a9f781b36da9c5c4e5771292ceb5c35bd5fffffe199aff001d66
+66ff00738000d556cc13ce10f7358815780a13eea0f792f7ba15790a13de807a0a13
+ef107b0a13dea041167c0a13ce40ffff8c8000f7f515f7060a0ef281aff789aff7ce
+b0baeb01ff0053999aff0057e666ff011db334ebff005fcccca903f87bf926154e0a
+ffffe23334ea15f7070a0e37fb82acf7e5a9f781b36da9deeb1292ceb5c35bd5daeb
+6bd556cc13cc20f7358815780a13ed40f792f7ba15790a13dd007a0a13ee207b0a13
+dd4041167c0a13cc804bf7ab157d0a0ef2fb8ba3daddbfaff789aff7ceb001ff0053
+999aff0057e666ff01dd8000a903f87bf926154e0affff87b334fd6415f7080a0e37
+fb82acf7e5a9f781b36da9d3dddb9f1292ceb5c35bd5f723d556cc13ce20f7358815
+780a13eec0f792f7ba15790a13de807a0a13ef207b0a13dec041167c0affffe03334
+f77015ae8bff00151998a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+ccce8bfffff9ccccfffff966688fff00139998ff0004b334a2ff001a9998abff003b
+666897ff0001666692ff0000e66694fffffccccc8f6486ffffe06668ffffef1998ff
+ffeaccccffffeae66808ffffebe66677fffff4999a75fffffb199a73fffff8b33367
+ff000f666766b28b080ef70489a8f7bab5f793a8c97601f8adf9b715b50acdfb7e15
+4f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13f4ff00afe666d315f7090a13f8
+f70a0a13f4f70b0aff00ff199af98c15b50a0ef70489a8f7bab5f729add3a801f8ef
+f8cd15fffffb800074fbcd8bff00048000a20591a79a99b48f08aa8e058f8f8d9b87
+945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896
+fffff33334fffffa199affffe2333408fffffb800074ffffdc80008b8469ff0023cc
+cd8bffffaa3333fc4805fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ff0055ccccf848ff005733348b92adffffa880008bff00048000a20591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e668fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62
+15fbcd8bff001d4cccf729f7cd8b050e6181c7f7ddc7e6b2d5a8a57712f7f0dd7ada
+13faff00afe666d315f7090a13fcf70a0a13fa93ae90a28b9d8bc7709f648bffffcc
+33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc08ff0030cccdff00da8000
+ff009ce6668b94b2ffff62e6668bff0003199a9905ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b81fffffe4ccd7c877808ffffc3b3338b8264ff003cb3338bffff9a199a
+fc5e05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8b08b18b8ab7ff0008e666b1080efbad89a8f8e3a8bdb78fb901
+f769f8cd15500aff007db334f74015f70c0a0efbb181c7f7eda79877f702b78fb912
+f6ff01094ccc13bcff00f54ccdff0140333415f70d0a13dc800aff00614cccf85215
+ffffeee6688bfffff2800095fffff3cccc97fffff0999a99ffffeeb33399708bffff
+d94ccd8bffffe5cccc6dffffe8999a5008ff0014b3338605ff000effffacff000e80
+009aff001766678bff000f4ccc8bff000f199a80ff000e333380ff00104ccd7dff00
+10b3347fff0013cccc8bff002966668bff001f999aa9ff0015ccccc708ffffeb8000
+9105ffffebb33461fffff1999a81ffffec33328b080efbad89a8f8e3a8f70ab701f7
+69f8cd15500aff00c88000f75815f30a0efbb181c7f7eda79877f72eb712f6ff010b
+800013b8ff00f54ccdff0140333415f70d0a13d8800aff00936666f85215ff000bb3
+348bff000d33329dff0002333497ff0001199a91fffffde66693828b08ffff238000
+06fffff6199a8b7e7afffffdcccc7ffffffeb33484ff0002199983ff0008199a8b08
+0efbad89a8f8e3a8b8bf01f74ba7f76ca603f769f8cd15500ae1f70f15f40a0efbb1
+81c7f7eda79877e2c4e57712ff00878000ff001a8000ff00c26666ff0016199a13be
+ff00f54ccdff0140333415f70d0a13de800a65f8a215ffffe580007f058836ff0024
+cccd59ca8bff003519998bff0042999abcff001a8000e108ffffe9e6669705ffffec
+666651ffffd0b3346bffffd133338bffffcf66678bffffe01999b0ffffffcccdc008
+0efbadfb75b2f74ca8f8e3a801dac703f740fb7515af8bbd9fa3ba087c9305787676
+7c6d8b678b75a68bab8bff002fe666ff00308000ff0045199aff00483334ff000833
+33ff0002ccccffffffe667ff0002b3348bff0002ccccffffffe666ff00003334ff00
+003333ff00001998ff00006667ff00003334ff00004cccff0001ccccff0000199aff
+0001e6688bff0001cccc8b08fffffc3334ff0004999a058dff000799998cff000c19
+9afffffdccccff0003b33308698e05ffffd9199aff00036666fffff4e666ff000c19
+9a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b
+658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334ffff
+fa199affffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199aff
+ffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bff000c80008bff000d
+4ccdffffffe666ff000db333ffffffcccdffffc3199affffdecccdffffd76666ffff
+c54ccd8bffffd033338b55b36cc08b080efbb1fb62b2f8c6a79877f5eb12cbc8d7eb
+139cf75df8ce157d0aff002c4ccdffff063334157e0a13bc7f0a13dc6b8b5e845c85
+fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e666fffffdb3
+33fffff2199afffff94ccd6f085cfb6205846b81628b788bffffee199aff0009e666
+fffff26666ff001a4ccdfffffe999affffd74ccdffffd64cccffffd98000ffffd84c
+cd8bffffd14ccd8b5fae73ba8bb58bb3a2b0b8087d92057175797d6d8b6a8b78a18b
+a18bbde3d69c9aff0008e666ff0007b333ff0000cccdff00033333fffffd6667ff00
+013334ff00109999ff000e6666ff00109999ff0012199aff0010b334ff0015666688
+9485937d8b08716d6e77818bfffff8e6668bfffffd199a908b978b94ff0005199aff
+00166666ff0005e666ff0019999a080efbad89a8f8e3a8c2eb01f769f8cd15500aff
+00193333f74915f70e0a0efbb181ccf7e8a701f6f74803ff00f54ccdff0140333415
+ff00090001ff00271998ff000b3333ff002680008bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b6b8b5e845c85fffff94ccd83ff0001b333809182
+08b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f085c
+fb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716dffffe3199a
+77fffff5e6668bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a080eb3fb40b8f711a8f8e3a801f769f8cd15500af82f5d15
+f70f0a0e52fb58aff72abff7f5a79877f5eb12ff00cbe666ebf72eeb13def70ff707
+15762fff002566666aff0033999a8bff004f4ccc8bff0033e668ff0046ccccff0046
+1998ff0066999affffec6668ffffa58000fffff6ccccffffc36667ffffee8000ffff
+bbb33375356979798bffffe4cccd8bff00058000b6ffffceb3338b08fffff2cccdff
+fff03333fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a08ff00124cccff0056333405ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b0813ee6b
+8b5e855c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e6
+6689fffff2199a856f08fffff24cccffffc1cccc05ffffbc4cceffff8e8001ffffc1
+3332ffff98b333ffffce33348b6c8bffffee999aff0011e666ff000eb333ff004019
+9a08b8ff00c4333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff001119
+9a0813de7f0a13eef7100aaef78d15b70af78f16b70a0efb56fb3aaff84d9ff7b7b4
+bb7601d6b1f787e803f7e5f9b91560066569636b606f08947605b59cb09db5a6a772
+a878af79089fa0056da66faa76af08befb7515a79daca68ba38ba07c92768b698b78
+648772609f4ea95f8b082a674a63719779a4a09895a01f8ba46a998b958b989a9aa1
+8bb68bab73b8799985a1859c8b928b908c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056cfb4a5a55518b7f8b80948597829d7b97758b087b807c7d
+6ab672b91fc38bf71fb9b4f78c08a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080efbc2fb58aff8bfa79877f7787712f74dff0055800013b8ff00fb4ccdff0140
+333415810a13d8820aff0026e666f82e15e60a0ed7fb74a3daddb0a8f8e3a801f769
+f8cd15510aff0085b334fcf415f7080a0e40fb71a3dadda5bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830aff003fb334fceb15f7110a0e5481b9ff
+00a94ccdff0023b333f713d25fa71213e0ff009ee666f7d615f7120a13d0f7130a0e
+6189a870b2f8d7a8d2761213b0f709d715520a1370530a13b0540a1370550a7df714
+15b40a0efbbb81c7f8e5a8a57701e8da03f760f96915b40addfb2215840a0e61fb78
+a3daddb4a870b2f8d7a81213e8f709d715520a13d8530a13e8540a13d8550aff002d
+b334fcf815f7110a0efbbbfb7fa3daddb3c7f8e5a8a57701e8da03ff0092b3335915
+f7140aff008b4ccdf90d15840a0e6189a870b2f8749cdda876d31213a0f709d71552
+0a1360530a13a0540a1370550a1328ff013fb334f715156d8bffffee4ccc79fffffc
+b3347bfffffcb3327bff0000999a75b48b938bff00044ccc83fffffd66687efffffb
+4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff002cb334
+c9ff00074cccaf08ff00074cccaffffff1999cb0658b080efba381c7f8699ce5d354
+a812e8da13e8f7b2f8db15ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b0813d87081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff919
+9a698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000
+ff002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94
+b30813e8ff00d5b334f8cf156d8bffffee4ccc79fffffcb3347bfffffcb3327bff00
+00999a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffff
+d433348208ff000180007a05ff0047999893ff002cb334c9ff00074cccaf08ff0007
+4cceaffffff1999ab0658b080e6189a870b2f782f700f77da812f7e8f70013b8f709
+d715520a1378530a13b8540a1378550af749fbb815ad0a0efb8681c7f79bebf77ea8
+a57701e8daeeeb03f7a3f7fc15739e74a8a6a0a1a4a673a173717573721e9af77315
+840a0e6189a870b2f8d7a81213a0f81df85515ffff72e666ffffb5999aff0026199a
+ff00c2666605ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffd16666ffff108000ff
+ff98999affffc98000966cff00546666ff002cccccffffd6999affff2b333405ffff
+fa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82
+081360530a13a0540a13606fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccd
+fffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff
+0004cccd08bbff00f53334f734ff0054cccc050efbbb81c7f81877f775a8a57701e8
+da03f7d5f84a15ffffb3199affffd5999aff0029e666ff00bb666605ff000e8000ff
+0040e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c
+898f1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408
+ffffd0199affff29199affffa6e666ffffcee666946eff00476666ff0027199affff
+d5999affff41e66605fffff8e6666bfffff9199a698b788b78ff0004800072ff0025
+80008bff002d33338bff00364ccdff00198000ff002d8000ff004b8000879586927e
+8b6d676b757f8b838b87918b93088b938e9a94b308ff00333333ff00e5199aff005e
+cccdff0033e666050ef4967693a8f8e3a8d376121370f943f8c115560a13b0570afb
+3df93915b40a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada13d4f8
+45f71015f7150a13b4890a13d48a0a13d88b0a91f8b715ec0a0ef4fb73a3daddbc76
+93a8f8e3a81213d8f943f8c115560a13e8570affff49b3345015f7080a0e60fb76a3
+daddaac7f7ddc75fa712f73bff00578000ff00528000e07ada13f5f845f71015f715
+0a13ed890a13f58a0a13f68b0affff50b334fb3915f7110a0ef4967693a8f8e3a8d2
+76121370f943f8c115560a13b0570afb0df93815f7030a0e6081c7f7ddc75fa7f773
+7712f73bff00578000ff00528000e07ada13daf845f71015f7150a13ba890a13da8a
+0a13dc8b0affff9a6666f80f15f7160a0e7c81c7f7ddc75fa7eb9ce5d312f748ff00
+578000ff00528000e07ada13ddf852f71015b1f7330593ae90a28b9d8bc7709f648b
+578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008
+199ab68bff000ee6668bff000db334fffff8b334ff00076666fffff2cccc8b0813bd
+890a13dd8a0a13de8b0affff0eb333f8d215ffffe1ffff8bffffee4ccd79fffffcb3
+337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667efffffb4c
+cd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb333c9
+ff00074ccdafff00074ccdaffffff19999b0658b080ef4fb46b8f717a8f8e3a701f8
+eaec15e4f8600591a99ea5b18e08a68d058e8b908e8c90088e9e8a8c058b458a6668
+448c8b1e878a8778058a869388908b08a38905b388916e86700841fc0f0587788980
+858b848b819d76b008fb87f84ffb178b88898879058a869389928aaa88a0648c7108
+31fc62058570796e638808728905818a88888a860887798d89058bd58dadb1cf898b
+1e8d8d8f9e058c90888e878b08728d05668e81a591a908cff7f30592ad909a928b91
+8b9380987508f77efc330568fb2969736e8b7d8b86938695859882996e8b7d8b727d
+86758467b079a08ba38bb68cbdb108ccb9b4c9a5f714080e60fb7dacf76776f81ac6
+5fa712f73bff00578000ff00a0199aff004ee66613ecff0130999afb3e15fffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6668b08ff
+ffe46667fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bff0032cc
+ccff001d8000ff00183334ff00218000ff0020999aff002d199aff00224ccccfff00
+19999aff0054e666abff006a4ccd98ff00724ccd8bff0037199a8bff005d9998ffff
+e06666ff0029b334ffffd4199a8b578b60762ffb00088a8cff00024ccdff00093334
+05ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ff
+fff8b333ff00076666fffff2cccd8b0813dcf7170a13eccaddc2c7af8bff00184ccc
+8bff00144cceffffe9cccc8bffffb9999a8bffffbd199afffff04cccffff983333ff
+ffe8e666ffffa54ccd08ffffe98000ffffa7b334ffffe16668ffffb0b332ffffede6
+66ffffe3999a080ef681adf8ecadf6b701ff00576666ff005ae666f84be403f848f9
+0415580af79bfbbb15590affff868000f84815f20a0efb0681b0f80facf717b701d9
+def771de03f735f73e158c0a3883158d0aff01698000f82c15f30a0ef681adf8ecad
+adbf12ff00576666ff005ae666ff00afb334a7f76ca6fffff84ccce413faf848f904
+15c80af79bfbbb15590afb79f7ff1513fcf40a0efb0681b0f80facc6c4e57701d9de
+ff0031199aff001d6666ff008e8000de03f735f73e158c0a3883158d0aff00a18000
+f87715f50a0ef681adf8ecadc07601ff00576666ff005ae666f84be403f848f90415
+580af79bfbbb15590afb55f88e15f7180af7274c15f7190a0efb0681b0f80facf766
+7601d9def771de03f735f73e158c0a3883158d0aff019f999af85515f71a0affff7d
+33329115f71b0a0ef7908bb264abf7c0adf783b312f92eaaf718a6137cf7dcab1528
+8b3ce3b3f763b5f76ae9d1e88b08ad06af8b9785856c0829fc8a05866f7e7f648b08
+7a69158bc88db11ef7de8bc3f73472900513bc6e4265564d8b08fb2b06768b7f9190
+a608bdf798f08b05ac8b927b8c6f088a6c05878d88901ea18b8d8e058fab8ba892ae
+92ac96a993ab8c8d8a8d898b087606878b88878a87087e6d057f6f807b698b08268b
+b3f7630590a39893a28b08f72706bd8ba050896008a68e98f71ffb8a8b408b056049
+8c8b1ffb478bfb10fb2868fb4868fb48d8fb1ff7488a080ef72481c74faef80fae12
+d9dff87dd01378f736f73f15e5a5f723f707d28e434e4a72fb49fb051e6d5c9df714
+1f37831556acfb0cf7051eff003fe6668bff003a8000ff00206666ff002a8000ff00
+3433340813b8ff00108000ffffcd8000ff00254cceffffdde666ff003b4ccc8bce8b
+c8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba08c9308f799be87d8
+8bb18ba474bc438bffffb14ccc8bffffc63334ffffdd4cccffffd84cccffffce3334
+7dff002e800069b1ffffb033348b08fb3b3ffb30fb0c1ff8d1f763158bffffa64ccc
+ffff96ccccffffdee6673ffffff63333ff00234cceff008d199aff0036fffeff001d
+8000ff0029e6688baf8b98828b6e080e8581aa74a8f79cadf7bbad69a4d57612ff01
+e9999aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a47b715b40a0e
+fb609676f80fd15fa712f738ff0052800013b0f771f7b115f71c0a13d0f71d0af734
+f81715ec0a0e85fb78a3daddacaa74a8f79cadf7bbad69a412ff01e9999aff005466
+6613cdf811f900155d0a91ad1513db5e0a13ed5f0affffd2b334fd4d15f71e0a0efb
+60fb76a3daddbf76f80fd15fa712f738ff0052800013ecf771f7b115f71c0a13f4f7
+1d0affff95b333fbd915f7140a0e8581aa74a8f79cadf7bbad69a4d47612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a75b615f7030a0efb
+609676f80fd15fa7f7737712f738ff0052800013b8f771f7b115f71c0a13d8f71d0a
+ff00376666f76f15f7040a0e2081aff8eaadc87612cba9ff002fcccdff00483333ff
+009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb60d315b40a
+0efb6481acf813ac12c6df77cbdfd658dd13c0f7d7f93315e10afb29fd3d159a0613
+d8f71f0a13d4910a13e8f7200a0e2081aff8eaadc77612cba9ff002fcccdff004833
+33ff009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610a2cf74e15
+b50a0efb6481acf813acf7637712c6df77cbdfd658dd13e0ff0141e666f91a15e60a
+ffff6c199afd24159a0613ecf71f0a13ea910a13f4f7200a0e20fb56a4d7abbeaff8
+eaad12cba9ff002fcccdff00483333aec2ff0043e666ff0053e666fffffe3334aa13
+ff00f881f90615589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bff
+fff5999a8bffffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ff
+ffe033338bffffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff2
+4ccd087b3a5a6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8b08ff00
+044ccd8bffffc7b333389085059c8f948d9f8b089f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff0024cccdff
+0039999a05ff005f199aff0010e666ff0053999aff004a199aff00118000ff005966
+66ff00028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ff
+ffbb3334ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff00
+44e6668bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca
+8b0813fe80610a0efb64fb53a4d7abf864ac12c6df77cb9ac299d658dd13eef73b31
+159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a
+6b1f828b828a838908ff0020cccdff0033800005ff00588000ff00058000ff0034b3
+34ff0034199a8bff0045e6668bba70b92fc86d9f819d8ba48bae9fafb68b0813ed91
+0a13f6c067936a8b768b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b
+ffffdb999aff002c6666ffffdbb333cefffffae66608ffffc9999affffafcccd9085
+059c8f948d9f8b080e2081aff8eaadc77612cba9ff002fcccdff00483333ff009de6
+66ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb31d215f7030a0efb
+6481acf813acf7627712c6df77cbdfd658dd13e0ff00f96666f88a15f7040affffb4
+999afc94159a0613ecf71f0a13ea910a13f4f7200a0e7afb45a4d7abb5a8f8d7b298
+7712f7d7c2f78ca913f6f779f9191513ee620a13f6a8ff00418000a49fc08b08d006
+ff002766668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c
+7d6287086c88058787897b8f82b88caf8cb28b08ff000180008bffffcc80003f9085
+059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08
+cec5aebeab709a6b1f828b828a838908ff001dccccff002ecccc05a8ffffff999aff
+001f6668ffffff4ccdff001eccccffffff4ccd8e8f8e9f889008698e05ffffd9199a
+ff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad8b08c1
+06bf8b9a719c48958bff00084cccff00004cccff000bb334ff0004b3340813ee640a
+13f6650a0efb92fb53a4d7abf854b212f1da86c213f0f74ef84115568805788a8483
+89838a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94c
+cdffffe166668b788bffffdeb333ff000f8000fffff4e667ff001ae666fffffe9999
+08ffffc9999affffafcccd9085059c8f948d9f8b0813e89f9a817b6b6679691f748b
+848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908afff00
+38666605ff00284ccdff000d199aff002e9999ff0023ccccff001b199aff0030b334
+889884917f8b5d5779817b8b0813f088818d971f8b94ff00036666ff0014199aff00
+07999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff00
+12b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff66666
+66080e7a89a8f8d7b29877db7612f906a913d8f779f9191513b8620a13d8630a13b8
+640a13d8650afb3bbf15f7030a0efb8c81c7f7e8b2e59ce5d301f1da03f74ef84115
+930aff00c6b334f76f156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cceaf
+fffff1999ab0658b080e7a89a8f7c2b2f782b2987712f906a913e8f779f9191513d8
+620a13e8a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ff
+fffb3334ffffe3199808ffffd98000fb5bffff8580008b05828b7e7c89818a858c83
+938b08f7178b5afb9105856f7c7d6287086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff0005e6
+66ff001e666608ff00314cccf791ff007fb3348b05978b979a8d968c908a93828b08
+ffff76cccc8bff00263334f7580592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b3340813d8640a13e8650a0efb9281c7f757b2
+f5b201f1da03f74ef84115568805788a848389838a88887f8b8908898e8b8e1ed18b
+ffffe8333321ffffc8cccd8b05828b7e7c89818a858c83938b08ff003e80008bffff
+e38000fb1305fffff8b333ffffdf999afffff94ccdffffe166668b788b679d81aa8b
+ff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b
+94ff00036666ff0014199aff0007999aff0021e66608ff001a8000f70aff005c8000
+8b05978b989a8d968c908993828b08ffff9b33338bff0017cccdf5ed8b05979094a5
+809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b978b9c8395
+6b8b678bff0001999a5efffff6666666080ed481b4f8dfa8beb78fb901ff007bcccd
+ff004ecccd03f7c68115660aff00e8b334f98415b60a0e6381c7f7ddc7e2b78fb901
+f70cdaf736d903f88ef7f415940affffffb334f85215f7210a0ed481b4f8dfa8f709
+b701ff007bcccdff004ecccd03f7c68115660aff01228000f99a15f20a0e6381c7f7
+ddc7f717b701f70cdaf736d903f88ef7f415940aff00238000f85215f7220a0ed481
+b4f8dfa8b7bf01ff007bcccdff004ecccdff00a06666a7f76ca603f7c68115660af7
+41f95115f40a0e6381c7f7ddc7c7c4e57701f70cdaff0032199aff001d6666ff0052
+8000d903f88ef7f415940affff548000f89e15ffffe2999a7f05fffffcb33336ff00
+28cccd59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea333451ffffcb80
+006b578b558bffffdc8000b0ffffffccccc0080ed481b4f8dfa884a6f704a612ff00
+7bcccdff004ecccd13d8f7c68115f7230aff00bce666f9a915ff001e00028bff000e
+e66472fffff9b3346c0813b8fffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b332a7
+ff0005b334a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315fffff6999a5d
+ff0021800066b98bff002ffffe8bff002eb334b1ff00093334b8ff00099998baffff
+de4cd0afffffd1fffe8b5d8bffffcf800066fffff6999a5d080e6381c7f7ddc7c8a6
+f704a601f70cdaf736d903f88ef7f415940affffb4e666f89715f7240affff9d999a
+5315f7250a0ed481b4f8dfa8cb7601ff007bcccdff004ecccd03f7c68115660af767
+f9e115f7180af7274c15f7190a0e6381c7f7ddc7f7667601f70cdaf736d903f88ef7
+f415940aff00719998f87b15f7260affff7d33349115f7270a0ed4fb4ab1f71ab4f8
+dfa801ff007bcccdff004ecccd03f7c68115ff0020199a8bff001c999aff00036666
+ff0019b332ff00066667ffffcdccceffffddb333ffffdbe666ffffdc199afffff84c
+ccffffda66668055ff0021e66677bd8bb48bff002c199a9fff00263334b8fffffd66
+6692fffffacccc8f828bffffe5800075ffffecb3347b6e8b08668bfffff74ccca0ff
+00054ccea5ff00096666b9ff00286666abff00486666be08fffffaccceff00086666
+05ff0046999ac0ff0022b334ff005ae667ff00151998ff006eb33308c1f7a70590a7
+9b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c0889
+898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff74ccc
+8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb90575
+fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff0020
+99998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b98b3
+8e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c0888898878
+058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b768b
+fffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405fffffb19
+9affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff70199aff006b1999ff
+ffdfe666ff004b199a8b080e63fb62b2f731c7f7ddc701f70cdaf4c803f88ef7f415
+ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165
+086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b
+9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b82
+85758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980640582
+6b83628b788bfffff04ccdff0004b334fffff3b333ff00128000fffffc3333ffffff
+e666ffffffe6678b8bffffffe666ffffffe666616165638b5c8b5fad73bb8bb48bb4
+a2afb8087e92057175787d6e8b6a8b78a18ba18bff002ccccdff0045b334ff0040b3
+33ff001b8000ff0017e666ff00191998ff000fe667ff0018b334ff00189999a4ff00
+20199a889485937d8b716d6e77818b08848890971f8b9490a191a5080ef7f09676f9
+08a8cb7601f76df8b615680af834f79715b50a0ef7139476f805ddf7627701f92bff
+0048666803f79d7f15960aff00dfe666f92515f7280a0e8289a8f8e3a8cb7601f7e4
+d7156a0af712f96d15b50a0e51fb7ec8ff02178000ff004c8000f7637701f871ff00
+48666803ff01608000169a0aff0059e666f96015ed0a0e8289a8f8e3a8c3e601f7c5
+e7d0e703f7e4d7156a0aa2f96215a00af7358c15a10a0e9c8bb2f8cab39877dc7612
+1390f7f7f94e15c30af741fd50159ac3a1c6a0bf086e90056a436450428b08fb7406
+7b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccccff
+0011b3348bff0008cccc8bff00058000fffffbccccff000266687b8b0813d07f8b76
+846d8808fbc80613b06c0a13d06d0a0efb1181d871c8f790c55ad712f1a61328f84a
+f850159b0a13189c0a13689d0a13889e0a13689f0a2ff78615ec0a0e9c8bb2f8cab3
+9877cbeb12ff01883334eb13d8f8a489156b0a13b86c0a13d86d0affff783334f984
+15f7290a0efb1181d871c8f790c55ad7dfeb12f1a6ff00863334eb132ef84af85015
+9b0a131e9c0a136e9d0a138e9e0a136e9f0affff343334f72215f7290a0e9c8bb2f8
+cab39877db761213d0f8a489156b0a13b06c0a13d06d0afb13f94f15f7030a0efb11
+81d871c8f790c55ad7f7617712f1a6132cf84af850159b0a131c9c0a136c9d0a138c
+9e0a136c9f0affff4d6666d315f7040a0efb9afb7daff8dcaaf787b0016afb2a15f7
+2a0a0e387fadf80cb7d2b2e7a6a47701f83bdb03f735c115d1f7c205bcb3bf8d968b
+bb8bab5e8b468b788977867571fb0646342c8b6c8b78927ca408f77bf88615fb088b
+adf724758b0575837b867888798765867c8b088772058a878d898e8c08ac8e059892
+85781f8b80897c8777088676498b8164ce8b25fc4e058264877b8374089e86059795
+9b999798a272a87fb68bf18bf719e4b0f7338f9f8e9e8b9c8be652c6438b5a8b5f79
+606608a8f712f7078b050ec189adf7c0adf71476f722ab01f782f8fb15a28b9b8185
+6c0829fc8b05846881876288086e8905868888861f87788c8905b98cb28cb18bb18b
+9889e18bf7538bd1ef9ce19deb58c23ca4088d07c0a4bebf96c198ce80e2fb468b69
+8b5e89658b668b918d7a8b2d8b493a80538777967a9f8b089b8b9f9590a58e9c8797
+8e9b91a8a7aba98b08cbfbaf15cd06f7178bb53e79317d42634ffb268b488b819891
+ac08ebf8801591ac8d95df8bc08bce6d77257a364b6d3b8b0844060e9289a8f7c6b3
+f70976f71cb370a612f87ae313e4f78ef7e115f72b0af80af70315f72c0a13f4f72d
+0a13ecf72e0a0efb0581adf807b7f761a779ad12f868a413c8f72ac115cbf7bf05b7
+b3bc8d958bc48bad45752573fb064c36338b086e8b78907ea40813d8f741f90e1513
+e8408b55835d83088874058a878c8a8e8b08a889059e8a93857f5208fb00fc8f0583
+64877b8474089d860596959a999698a072a781b38bea8bf70fe2acf733a5f70e4fdc
+3a8b5f8b627963660813d8c5f7a2f7118b05bc8b9a4c8c5d08a48e9cf720050e7e89
+a8f7c6b3f7b17701f788f7e115e806f7168b922980527f4d5c32fb2a8b528b819992
+af088af81e153efc2105856f7c7d638808718905878b88888a860887788c89058be5
+8dad1ea88ba889b68bd98bcb90c9b1b8a7bac198cc99d77df701fb588b08238bacf7
+3e0597cc96b38b8b8c92818e838b51676d7f57807e80897f9380b67d9d797f4d080e
+fb0281adf808b6f7977701f733cc15c8f7b505b9b4bc8c948bc58bad46752573fb06
+4b34338b6e8b7a9c7ea308f711f90d1552676e7f58807f80887f9380b47d9c797e4d
+082efc4a058364867b84739187908a928b95959b9a9597a272a680b38be98bf710e4
+adf733a5f70e4fda3a8b085d8b627a646608b5f75a0599cc96b38b8b8d92888e828b
+080edf80aff8e4b501e9aaf874e503f84ef927152b8b275a3232089f7d05e4d8d6ac
+e88bf70d8bbd2a8bfb048b6b886b836b5cfb5ffb35373c8bfb268b69da89ed086c88
+7bfb3905c78aa65ff70e8bf73a8bf74ff726b9f75991a68ea88ba68bf71640f706fb
+468b080ede7fb4f8e4b099d201efe4f874b903f9daf97b15668b3b6270345d9568ac
+228bfb3a8bfb4ffb265dfb59856f886e8b708bfb16d5fb05f7478beb8befbbe4e408
+779a05323d406a2e8bfb0d8b58ec8bf7058baa8fab93abbaf75ff735dfda8bf7268b
+ac3d8d2808ab8f99f7258b8d059dd8b58bac8ba28ba78f92aa8b8d8c8e8b8f8b9885
+99748b080e477fb7f80cad86c912d8ddf76de013b8f8bff840159f8b9c9990a08b8e
+8c8e8b8e8b9884996e8b698b4f7463520813d876996c94638b208bfb032f6afb2286
+7488758b768b2ec14eed8bc78bc1a6c9d7087d9905615e5f6f608b4d8b62bf8bdc8b
+9f8ea190a2a4f700ccd1cd8bb78b94738b708b838a828b83088b898a898b898b769c
+829f8b9f8ba19a91a88d918b918b918b9b879981980813b8999f9f9ba38b089c8b9c
+829b8b080ef7268aadf792b2f7b3ac01f914e903f75fd315bdf76bf08b94b2268bc4
+f78c0593aeaf8fbd8bf73d8bc5fb008bfb0d8b6a8769836a5cfb5efb1d5afb208b38
+8b77908b9f8b8f8c8f8c9108fb4a56158777f7148d05af8bb689f28bf7218bf75dcb
+c4f78990a48ea58ba38bf72afb02f705fb3a8b698b4c8b478a08fb128c8677058a86
+8d88908b08a806ab9785781f8b858a8489830852fb8a328b8264e48b5afb6905846b
+797d668b086d06868b87878a86080ef74c89adf86476f71ead01f7a3d415edf88905
+92aead8fba8bf7638bb1fb436dfb2e64fb5efb1659fb1b8b2d8b829491ab08fb4154
+1587798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78ab0f74efb0af72d
+fb4c8b4e8b5289648b698b768d7e8b08fb028b55338260856a9d839b8b9e8b9b988f
+a08f9f85948f9f92aeada2ac8ba58ba6858465082afc8605856b78806989086e8905
+878b88878a86080e7589adf7cfadf776b170a896771213c0f817d915846a7c7e488b
+258b54bea1f7079ad4b6d7f7198b08e00613e06af79815df8b8a87846a0867fb514f
+8b05fb428bfb005a6dfb3073fb0fe854f38bcb8bb08dca8bb58ba48ab58a0890a305
+8e8b8d881e6f8e05708e829791ab08ecf8840592b0948da98e0813d0a98e058e8c8c
+8e1f90a40513e0fb0389fb658b0513c8608b68906f930860fb2da3880513e0b6e4b1
+9bb98b080e2e81ba84a2f7f3aef76bad95771213a0f7e7e9155a676276738b598b64
+c6a6f7119ad3a0b39da0b2bab38e9d8bb78b9f769a6508c7f7b1155efb6905789864
+94798b4d8b5e755e65596069507b4171fb0faf31f08bb08bc0abbeb0088d8a7a45a0
+8b051368a49db698c796088da2609005778d899196bd08f703f8a0058e9692a79595
+0883940513307482728b818a08fb28061328538b7a8f7391085efb2aa3880513b0a0
+b9b4cabc8b08f705069c8b8e868778080e44fba0acf91ba912bce24fdff71fc3dddb
+13dcf7988d15ebaaf70fcbaaf71a8f9f8e9e8b9c8be453cd248b218bfb194266fb37
+877a897c8b7d8b34c84add4008b466b2678b728b898b8a8a8981606675588b0813ec
+718b709880b280af7792818b7d8b7284846e8b888a898b898b69be58e78bd08bd5aa
+9dd8088d938c928b928bb36fad57be0866b01572a40513dc68ad79c18bb98b978c97
+8e95b0f737e3abbe8bd28ba5478b468b768876877870fb06375a4473088e7b050e93
+8aa86fb2f7b4addd77f74bb36fa712f796ab1336f782f91a155cfb20a68805137a9c
+b6bbc7be8b08f72d069e96867b1f8b888a878a87085afb69fb1c8b0569859aa51f8b
+8e8ba9058f898f871e7506898989891f88728766846a82697c5e847a088d88a28b05
+918b8e8f8c8e0898aa0597a89a9aac8b08f71d8b50fb930585707b85758b08fb4c06
+4c7abdd01f8b9270867ffb34f7ba8bd88c0513b6f7168990a1058c8e8a8f848b086d
+066b80959e1f8b8f8c908c9108f708f8890592aa9c99b18b08a906918b8d8f8c8e08
+90a0fb168a05133a3d8c050ef67fadf756b7f800ad01f1d5f857e903f744f76c15f7
+2f0ab9f7c715f7300a0e5f7fadf7c4b2f797ad01cbe393d3f7abab03f830f9261521
+8bfb105677fb058a828a838b828b43c66aa4814378355178fb00897e8a7f8b808bfb
+07f70970e98b08db8bbda5c49408b5f7246f8e055ffb013064458b498b56ac8be18b
+988c9a8e9c97ccb7d6f58b08ed06968b91928d978e9687947f8b0847062b71c7bd1f
+8b938c948c939adeceb4db8bef8b974b8e3b08ab9092f72305599079a4458b080e37
+fb40b8f856b1d677f751b370a812ff01a14cccff001fe668ff005e3334ff001e1998
+13f6ff00763333dc15ffffd9b332fb48ffffc7199a6f6a8b7d8b8693fffffacccd95
+fffff91999ff000d3333fffff7b334ff000dcccd6c8b7d8b707dfffffb4ccc75ffff
+f84ccd67ff0026333379a18ba48bff002c33348cff00351999b108ff0043cccdb9ff
+003c3333c9ff001b3333f71408ff002ecccdf770ff007f00018b05ad8bff000b1998
+82fffffcccce6e08fffffdb3327205ffffff666888ff0000e66686908b08a18bff00
+04999a8e05ff00058000b3ff0004b332a6ff00044cce9fff00044ccc9fff00074ccc
+a9ff000b8000b308fffffce6688f758b05878bfffffc199887ffffff33348708ffff
+f7b3347205826f7c7d688b08fb138bff002cb332f76605ff0005199aa3ff000e199a
+95a38b08f406ff004afffe8bff0009800063ff00074cd04608ff001e19989005ff00
+038000b4ff00056668ff00606668ff00003330ff00079998ff0000199cff00024ccc
+8aff0000b334fffffd99988bffffedccccfffffc9998fffffa8000ffffff6668ffff
+e7ccd08b08ffff02b3320613ee648bffffd733338cffffd133338c0813f6fffffd99
+9a89fffffbb333770513eeffffff666788ff00004ccdfffffc8000ff0006e666ffff
+ff800008ff001d80008905ff0025e667fffffd6668ff000a3333fffff49998fffff9
+66666c080efb03fb40b0f8a2b2f783a80160cff872d603f87bf94e15518b3e4855fb
+28806e7773678b08678b7d64dd8b66fb05054dfb4a62fb7b378b7f8b89918b918b8f
+8c908b908b8d8b8d8a8c889883937a8b788b7b79877c088b888a898b888b78996ebc
+8bf70b8bbff727f71ef82308909cf58b9ab2218bb3f70305b3f5aca19d8ba28b8767
+8f7c8f7b95829f8b9f8b9b9c909f8c8e8b8f8b8f8ba675a9458b080ef7347faff78b
+aff7ceb099d201dce6f82dc6a0aa03f9c1f97b15668b3d6274345e9569ac228bfb40
+8bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5088492
+87928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c900890a5898d058b51
+896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a870870
+fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf743f714f70bf71b8b
+f7268bb13d922808aa8f92f7290591ac9dafae918e8c8d8b8f8b908b928a938ba28b
+a68f90aa8c8c8b8e8b8e8b98859b738b080e8cfb68cff990a501f734c503f7a18a15
+8a848a848a858360836b837683778584868b8a8b8a8c8a8c878e8a928d978c8d8b8c
+8b8d0897bc9dafa0a8088cbd154b456751835c8a878b878a86087d07659676a51ea8
+8ba3a89fc195a692a790a991a69bc68ba908f7bbf8890590958f928d918e90919297
+92908e938c998b089d8c058d8b8e8b8c8c8e8d8d8c8c8e088d9c8b8d898b05838b46
+89898b808b2f8d878b08898b8a89887a058b888b88908a088c8ba88a05a08b95898d
+898e878c878a858b8a8b898a8a8a868784868108fb57fbe25e367ee245f7e0058993
+8b918a938b8d8c8c8b8d8c908d8f8f8f8d8e938c998b08b28c058e8b8e8d8c8e088c
+8c8c8b1e8d9c8c8d888b057f8bfb0189868b818b338d878b08898b8a89887a058b88
+8c898e8a8c8a8d8b8d8b08a08a05968b948a9088928690858d82088f75050ef281ba
+f7dcd54fc7f760a8a57712ff0167b334ff0045e666ffffe76666d7ff00ab6668ff00
+28b33013bbf875f7fb15c7739f641effffcc33348bffffcb4cccffffeb3334ffffa4
+cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000
+ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385
+751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6af8ba08b9985
+8b6c0813dd8bffffd1199affffd2b334ffff6499998bffffcc66678bffffc13333ae
+ffffdcb333ff004e4ccc8bd68be9d7b2f74bff0007e668ff0026199aff00043330ac
+8bff001b666608ff003ae666ffffec999cff0020999affffd44cccffffe4199878ff
+ffee4cccffffea199a1e8bffffe8b334a1fffff5ccccff0009e668ffffff199aff00
+134cccfffffc4cccff0012199cfffff033348bffffd1199a8bffffef999afffffdcc
+ccffffebb332fffffaccccffffe7199a76294425458bffffde33348bffffec6666ff
+0011e6668bff0027cccd088bff002c6667ff00336666f7328bff003de666080efbbb
+81c7f8e5a8a57701e8da03f7b2f8db15840a0efbad89a8f7c5b2f78ba801f769f8cd
+1564fb5affffb2e6668b05828bfffff2b3347cfffffde66681fffffeb33385ff0001
+666783938b08ff0055cccc8bffffcd999afb9405fffffa6666ffffe3ccccfffff04c
+cdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a
+91ff001e800008ff00326666f794ff004233348b05978bff000c33329aff00024cce
+96ff0001199a90fffffeb33293828b08ffffb4199a8bb2f75a0591a79a99b48f08aa
+8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e6
+66fffffc999896fffff33334fffffa199affffe23334080ed78aa8f8e2a775ad1213
+a0f75cd315b4f78105a68799809c7408f727fb5a05957e8d7e8b7e8b818a828a8308
+89858d89058ba38dafb2d6898b1e8e8d8f9e058c90868e868b0885066e8b769b76a8
+08fb54f79805849486938d938fa2c2b6cbcbcccdbbd1b18bbd8b7143b68b9d8ba09b
+8e9f8c8d8b8d8b8d08aa64ac521e478b5f41454556566a6d555e7175777f768608b3
+f7770513c090a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b
+1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b0870
+06868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08
+7106697d95a11f8b8e8b8f8c90080e398aa8f80aa8f781a801f827d503f75ff88415
+29fc3c05846e7e7c6a8b087806868b87888a860887788d89058bce8dafb2be898b1e
+8d8d909e058c90888e868b0889067281949d1f8b908c908d9208a9f7198d91058f8c
+8e8b8e8ba28b937a957808bc240594778e808b818b868b878a8808877a8d87058ba6
+8daeb2be898b1e8d8e8f9d058c90868e848b088806728b709d7fa6083df741058893
+8b94939208ebdf05aaa5bca1a68b0892068f8b928e8d90088f9e888d058b54896468
+5b8d8b1e88898778058a878d87908b088f069f9185841f8b8a8b8a8a8a8981837e79
+7b4751636c5a7508cef7b605a0e7b4bdb88b928b8f858b818c769374a28b9c8b9d99
+91a38c8d8b8d8b8d8ba65f9d658b08218b4d287325080efb9381c7f7aeb2f7a4a8a5
+7701f704da03ff00ae8000f7e015ffffd08000fb6905fffff8e6666bfffff8199a69
+8b788b78ff0005800072ff002580008bff002d33338bff00364ccdff00198000ff00
+2d8000ff004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308
+ff002de666f761ff004fb3348b05978bff000c33329aff00024cce96ff0001199a90
+fffffeb33293828b08ffffa7b3348bff002f6666f76805ff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd53333
+fb54ffffbdb3348b05828bfffff2b3347cfffffde66681fffffeb33385ff00016667
+83938b080e6d7fcdf8dbc801f7e1be03f87ef8fc1521548b930582f704539c758b6b
+8b5c74696508937205a39aa495a78ba28ba678993808fb0451956df6c2058c848c83
+8c82088e5bfbe1fc479d83dfa1f783f7f598fb8005922e9d5ebd8bb08bb7bcacc808
+7898056c5d7380768b6a8b82bf7ff7360879f797f705c6050ef7bb7fbbf8daa701f7
+0ddcf768db03f7aff8d21590a7989baf8b089f06918b8e8e8c90088f9e898c058b41
+8a6561418c8b1e898a8878058a868e88908b08a006a89680771f8b878a878a860840
+fc3c05887588768b778b51a262d18bc68bcea5d5c70888075fad64c51ece8bc9b0c7
+bc088e8b79359b8b05938b938e9890aa999a8fd296088aa60578877e8a7d8b818b83
+8d8ba08b958d978e9c08ddf8650590a7979baf8b08a006908b8f8e8c90088f9e888c
+058b428a6561418c8b1e898a8778058a868f88908b08a006a89680771f8b878a878a
+86083afc64054f5a5872658b698b729e8bba8b938b948d9508d9f8510590a7989baf
+8b08a006908b8f8e8c90088f9e888c058b428a6560428c8b1e898a8778058a868f88
+908b08a006a79680771f8b878b878a860840fc3d05887c897e8b7e4e575a77618b68
+8b729d8bb98b938b948d95080ef71afb4fa9f73e76f906a70146cd03f70ce315835c
+6ffb5a458b808b878f8995899f809f7d8b838b7288856b08880777a671b71ef7048b
+a6f722a3f71a08c9f7f20591ad8f9a938b918b9480987508f7a3fc4d05947c96859b
+8a998b94958e9e08eaf8ac0590a9a0aab28b08a506908b8f8e8c90088f9e898c058b
+438a6467418c8b1e868a8878058a8693888f8b08a606ac9774731f8b868a878a8608
+48fc0f88740589808887888b828b81a776b027f744fb40f79d8b8b08fb178b888788
+7b058a869288908b089006ac8ba1618d71080e57fb6876f78876f819c75fa712f73b
+ff00578000ff00968000da13ecf7c5fb2b15fffffbb334ffffeb199afffff79998ff
+ffe7e6668bfffff633338bffffef4ccd96fffff58000ff001fccce8bb18bffffffcc
+ccb6ff0008199ab208e5f8460592ae91a28b9d8bc7709f648b578b60762ffb00088a
+8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dcf7170a13ec
+caddc2c6af8ba08b99868b6c8b7d85778469080ef67fadf7b3b7f7a3ad01e0e9f85a
+e803f905f7c9156bfb4720fb00fb068bfb058b3bdd8bf7258b9d8ca08ea008f854b7
+15fc4c06b5f753f70bdbe78bf7008bdc3e8bfb2a8b7d8a7c8a7c08e473158fa28da0
+8ba08bf735fb07f2fb288bfb478bfb32fb2c68fb58877489748b768bfb32f7012af7
+2c8bf7538bf728f721aef75c080ef71d7fadf8caa793ada5e112e0e9f85ae836f700
+61b513fcf964f7dd15f7310a13faf7320a13f9f7330afba8f7bb1513fcf7340a0e46
+7faef800a983acaedf12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13
+def7370a13bef7380a0ef7d5fb23a8f1adf8d9b675ad1213e0f8c5c71595c297cfd6
+f83d8b8bb987a88aa48ab48c8b8b9f8b937e81520820fcef05866f7f7b6a8b087306
+868b88888a860888788c89058bd48dafb2d3898b1e8d8d8f9e0590888e871e73066b
+8b839b90a70813d0f714f96c758b0576827b8779870813e03987628f5b900874067c
+857d7c7e890813d064a25b97598bfb478bfb33fb2c69fb5868fb59f70afb11f7408b
+08dd8bd3a5c8b908fb09f8c815c08bb978ac670831fc90056872647d628bfb178b33
+f705adf754b0f766f711e2eb8b080ef715fb7ba8f752b7f7e7ac8fad01f8d1fb3215
+f71ff8ec7c8b05758b5c65438b6d8b458c719b72996d92698bfb0e8b22246cfb1876
+2ea4fb12f7258bc38bdfa9bfaa08d3f7ca059f93a58f948bac8bb08b815f08fb04fc
+7905846e7e7c6a8b087706878b87888a860886788d89058bcf8dafb2cf898b1e8d8d
+909e058c90888e868b0878066a8b859a91a808fb31f882154afbae056c776789798b
+508b3db7aef72ba3f3c9d8da8bb58ba7709c5e080ea28aa8f792acf74876f724a771
+ad12f8cce113ecf750d215866f7b7c618b087106868b88888a860887788d89058be9
+8daeb2e2898b1e8d8d8f9e058c90878e878b0870066a7d94a11f8b8f8b8f8c8f08b1
+f77105a1849d88ae8bf74a8bd4f70b9ae08c938c958b958bc769dbfb338b718b4f89
+57880813f45588888b05fb06895636835f8a878b878b888b739b85998b9f8b9c998f
+9f8c948b928a948a938b938c940893b6c29baf8c988b91898b7a8b858b83898108e1
+aa1513ec9f92b8929e8bc78bc8788b338b7e897c887a78fb004b5e2a8b728b688d80
+8e080e39fb7ba8f752adf80ab9f776a812f81ad462dc13f8f7a3f8a215a0e7b4bdb8
+8b0892908581769374a21f9c8b9e9990a38c8d8b8d8b8d8ba65f9d658b218b4d2873
+2508fb2bfd2205856f7e7b698b087806868b888889860887788d89058bcf8dafb2cf
+898b1e8d8d8f9e058c90888e878b0878067181949d1f8b908c908d9208b2f73c05a1
+7da583af8bc08bb89ebcb2c2b9b3c99edc0813f48f9f8d9f8b9e8bdc61ce3d8b6b8b
+53814d4508888b9fd2056ffb0b15adc0c3a8ad8bb98ba9648b448b758870856e7635
+5c27218b7a8b6a8d73b4080e8e24a6779fd6a8f75db1f792a8cfa712f87bdc13bef8
+c9f818158d968c968b948bf028a9fb018b6b8b738c778c088fa10590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b7f32fc8b05866f7b7c628b087006868b88888a860888788d89
+058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d94a11f8b8f8b8f8c
+8f08a6f73205cf8aa7868e8408c9fb7d059c5cb164c68b08137e9b8b9d8e958f089f
+0713be8506668b75af7db4084df78305bc96ebbf9ae0083a8a15792536792a8b0859
+8bb6f78a05a491a78daf8bc18bce718b3b8b828a828981080e39a076a28cf8ecad01
+d5d6f78daaa4cc03f764f90b155ffb23a98605abdbb0c8ee8bc58bad638b588b848b
+8489847d3821655e7c326d276276fb0d89808a808b810832cb40f11eed8ba1aea38b
+978b8e858a7b08aa8a0590aa91a28e9993ac98ab99be086f8e878205743f393d3e8b
+478b5cae8bcb8b938c948d949be6c1a6cda3d7a6f718bda0f7098c958c938b9508e5
+3ac23c1e2e8b8a785283080efb527fa78e76f832a912c7cbf76ac513b8f7fcf72015
+748c058575765b6c717e806979668b6c8b63a28bb38b8f8c908b9095b6aaa8e2addb
+abb6a09dd6088c938c938b938bc15eb0468b598b6682687b7d6b8069816708a38a05
+b3ddcc9ba08bac8ba9808b658b858b848983826373775077336d4167783b89808a82
+8b82083fdf74b51eae8ba98fa692938c908c928b081378908b948a9489080eaa8ab7
+5fa8f8d3b66fa712f8e5a51358f909f91a15fc1c8bfb048b8a8a86728d8905998ba3
+85a06708f71dfb9efb9dfba105807f7f8a7e8b08888887738d89f89b8cb7f734718d
+0513a86c40755f468b08fbd18bf7aef7b38d8cfb20f7a4f79d8b05c38b955f945308
+a58e050efb94fb68a8f944a4f723a412f718d04cb3f71db113ecf7cdf8ed1583686a
+67618b688b7aa48ba78b918c918c9193aeabb0b68bb08b9a708b6f088b858a858a86
+08fb401689838a838b848b5faa6ec38b998ba494979280757e5f85710832fc150513
+f47e517f598b638b6d91729b789d76af7e9e8bc28bb3a691a18c8f8b8e8b8f8b9e7b
+90818b086a8b86546f8b7e8b7f93859d889189938b9a8ba391b49cd708f708f88905
+94b28faa8ba48bce6ca1578b4f8b54667d4f080efb97fb25ddbec2f7f0b201f3dc03
+f716fb2515a98bdfb8a0e58e988d988b99959294939594087d9c056c777683728b7b
+8b84958ba08b998ea092a508c6f794ea8b05948b9a8f8d94088f9f058c8f898d868b
+08fb028baef72e4e778678057a3f7164498b888b8a8a8a8808846c058a888d8a8e8b
+08cc8b44fbc405887b897c8b7f8b639f7bae8ba68ba693a79a08887c0586737d7376
+806c7b559c815e8b888a888b888b7b957e9d8b080ec08aa8f85f76f71ab212e4d2f8
+94a778a313f4f734f888158c948b938a938a938b938d9492b6c091b08c08e606a997
+84771f8b878b878a860835fc7c05866f7a7b628b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8e9e058c90888e878b087006697d95a11f8b8e8b8f8c
+9008e1f87a0591ac9894af8b08da06c38b9a80913b08a3900513f886f72f6f850584
+867a7c1efc1706fb05885536835f8a878b888b878b749b84998b089f8b9c998f9f08
+0efb957fc2f7f0b2f782a801f3dcf76ed503f792f81b15ea06948b9a8f8d94088f9f
+058c8f898d868b08fb028ba5f70405a1ddb2b7b58b928b8f858b818c769374a28b9c
+8b9d9991a38c8d8b8d8b8d8ba65f9d658b08218b4d287325877a815a498b888b8a8a
+8a8808846c058a888d8a8e8b08cc8b44fbc405887b897c8b7f8b639f7bae8bb98bb8
+a1bcb7087d9c056c777683728b7b8b84958ba08b998ea092a5080e7affff428000ff
+00208000f98fb2987712ff00f74ccdff004ae667ff012fcccca913d8f79ad71582ff
+ffd1999afffffa4ccdffffd580008bffffdb333308ffffaa8000ff001ee667ffffc9
+b333ff005c4cccc9cc9cc29d7bff000980007e1e6f8bffffef800071867f867f837a
+738bffffd1999a8bfffff2999aff002c999a8bff0035cccc8bff002d4ccdff000980
+00ff0033cccdff00074cccff0025800008eaf87c05ff0006999aff00221998ff000d
+6666ff0007e668ad8b08c106bf8b9a719c48958bff00084cccff00004cccff000bb3
+34ff0004b334fffff78000ff002bccccfffffc9998ff002380008bff00204ccc0813
+b88bff0009b334ff00004cd0ff00096668ff00009998ff00094ccc0813d86afffffa
+8000fffff2ccccfffff88000ffffdc33348b08fbe20613b8620a13d8a8ff00418000
+a49fc08b08d006ff001f8000ff000a4cccfffff96668ffffeeb3301f8bfffffbb334
+ffffff4cce86fffffee666fffffa3334080ef71e7fb4f8e1a7c6df01f711ddf8bbf1
+03f7d37f15f7390a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415
+f73a0a13dcf73b0a13ecf73c0a0ef47fadf8c9c612d5e35ea5f713bdf768c08be1a9
+a513ebf779f8df15a897857f1f8b5ffb3afb0b72fb1d887789788b788bfb0fd827f7
+428bf7598bf70ff728a2f7198d978c988b970813cd8bf70635ea8bb8089c9895b1ba
+9e85641e8b868b868a8608a58b99f70b448b05fb006d73611f13eb8b52c0338bfb03
+8b798978887874fb1533fb09fb1e8bfb028b50d78bf7028b9e8ca08fa09ef1f71af7
+298bd708a9769f511e2b8b0513d96ffb0ba58b059bc3a18fbb8b080ee57faff8e6a7
+78aa12f70eddf845bc13b8f714f77015877189748b778bfb16e16af7028bef8bf75a
+c1c5f7de93b48fb38baf8bed6cd23c8b688b437e8156088307789b87951eab8b97ae
+8e93909c99919d8bc18b99438b428b558356877565fb6cfb1ffb05fb0f8b2d8b70c0
+8bd6088ba98fac91ad08c4f7d90513d890a79b9bb48b08a606908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b878b
+878a87080edb8aa8f8e2a775ae1213c0f7c8f84715cafb2e65fb6505876f7a7b628b
+087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e86
+8b087106697d95a11f8b8e8b8f8c9008b2f771f75af7ad05a2ab9b97a98b08a00692
+8b8e8d8c90088e9f8a8c058b3c8a837e3c8c8b1e898a8877058a888b87908b08a906
+9c9189831f8b8a8b8a8a898a868782807d08fb3cfb7f57f7110513a052f71961c750
+8b468b5358866a8a898b898b898b7e927d9e8ba38b949e8e9c8d958a938c92088e9c
+9f8f948b08ad8bac3ab7fb00080ec7fb7ec8ff02178000ff004c8000ff001d999aff
+00477ffe01ff01e4999aff0166999a15ffffc46666ffff7c66666c4cffffba8000ff
+ff77800008fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea0
+728bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff000399
+9afffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7
+800008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff
+001e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d
+8b818b7898859084917793838b087672776c6ab7829c1fc08bff004e8000ff004166
+66ff00418000ff0062999a08ff002e8000d105ff00216666ff00324cccff004a199a
+ff0089b334d2ff00a98000ff00191998c7ff0014e668ff0033199a978bff0008cccc
+8bff000d3334fffffdccccff00046668fffffa80009680ff00129998fffffb999aff
+000f66688b08ff00171998ff0013e668ff0014e666a1ff001a6666ffffee4cccff00
+194cccffffc380001fffffb3b3348bffffe6e664ffffa33334ffffd7ccceffffa74c
+ce080e9c8bb2f79ab7f798b398771213e0f8a489159ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408ff00cb6666f779ff009780028b05
+988bff000db3309dff0002666897ff0001666892fffffd666492828b08ffff7cb334
+8bff00da8000f78a05ff001a6668ff001d9998ff0007ccccff0011b3348bff0008cc
+cc8bff00058000fffffbccccff000266687b8b7f8b76846d8808fbc80613d06c0a13
+e0add0a6bdd38b08f77106928b8e8989858a868785858408ffff313334fb7effff89
+99998b05fffff400018bfffff280007afffffd99997ffffffe999a84ff0002666683
+938b08ff006280008bffff17999afb9b05fffff8ccccfffff8cccd85fffff4e6668b
+fffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7f206a4eb898b
+1f0efb2a81d871c8eeb7f701c55ad712f1a61334f84af850159b0a132c9c0a1374b8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff9b6666ff
+ff913334ffffa0e6678b05fffff400018bfffff280007afffffd99997ffffffe999a
+84ff0002666683938b08d58bffff9c199afb02057774655c877d8e849086918a9388
+9289938aa1b0a49b958b9c8ba685ab770813a49e0a1374ffffcd66668bff00058000
+ae2f8bff001a6667ff001d8000ff00203333ff00226666ff0020ccccff0023199a08
+ff004f999a06988bff000db3349dff0002666697ff0001666692fffffd666692828b
+08ffffc6666806ff0027ccccb6ff0025ccccff00298000ff001a3334ff00208000a4
+a99fa0959b080ebafb67b0f92e76f71bb301f727a5f7cee603f7adf91a15f73d0a0e
+bafb67b0f92e76f71bb301bfe4f863a503f8c1f91a15fbf706778b82858a838a898b
+8a8b898b82917d8f7e08f705fbc305fb1f703b2877fb03897e8a7e8b7f8bfb0ff426
+f7258bdb8bf731ae96cd8c8f8b8f8b8f8b9f829d6f8b08708b6d7d7a76625a546d54
+8b3c8b46ee8be58b948c948c94a7f733f70fc1d18b9a8b978b998808fb1af7f6f78e
+8b05cd8a9c438b5b088b7da58d99f756057287667a728b080efb05fb79a8f8e3b201
+96d4f7f1a603f835f84215fb7a06788b8587898289858d818e7e08d7fb8005fb0c81
+3c457321877d8a7d8b7d8b3ac443f70f8be68bd2b393ab8b8e8c8e8b8e8b9784957a
+8b08748b7a847a7679746974638b608b4dad8bdf8b9a8d9a8f9c9fe0dccada8b9c8b
+9e899f860830f7b1f7228b05a9a57e3c1f8b86a6908ff72c748705887b818a808b08
+0efb05f74cacf73fb5977712ded7f74ada13d8f7caf76d15f733f73f0513b8989593
+978e97088d0713d88f878d831efb9f0613b86d8b97926990085ffb0f9f890513d8a5
+cb9892b58b08f7468bfb5ffb6e05a190ac949c8bc78b9a618b608b798878887b6ffb
+0d548a5e7149665f6e7e538a888b888b88087899829a1e9a8ba59c91a68c8d8b8e8b
+8d8b908a918b928b8e8b8f8c8f8d91909eb6a4b7a3f714a0acf720088f9c8c9a8b9a
+088bcf63b8458e080efb0f8bc5f74eb2f79caa01f817d803f82ff7af155506c1b8b1
+b197cf8d968c968b958be441a2458b228b463d81528a898b898b898b79987e9e8b08
+9c8ba1958fa58c938b928a928a928a938d938fa3a4afd08baa8bbb768b488b838a80
+89810881537162555908fb1f8b8464f18b525905fb022c7a60825308f7c98bb5f712
+738f057354767a698b08fb3d0693bad9cd919008ddcfe98b050efb187fadf7ccb7f7
+1bc701f7e7d503f7e5f748157a2d4f4b3f8b6b8b80a1849e849b8297778b798b797e
+877808860766cf6ec21ef18bf1d3a4f71c8d968c968b9608da57d3fb091e5889b2f7
+1bf7598b8b8d9dc5fbd88bcf5453fb5705a895a28ca68bc58bce5a8b3c8b828a828a
+83080efb187fadf78ab7c5c701f7e1d503f7ddf71e1579395369508b6b8b759e859f
+869b8399778b798b787e87788a898b898b898b66d76fc18b08f7168bcbe59dd78e97
+8c978b978bca63c6388b758b57877d8a08abcaf7588b8b8da0c5fbc58bba544dfb0d
+05ab94ca90a78bc18baa598b588b818a818882080efb187fadf7ccb5cdb2e77701f7
+f3d503f7eff7481577334a453e8b6c8b809e859e859b839a778b798b787e87788a89
+8b888b898b67cd6fc08b08f18bf702e3a7f70c8f998c9a8b9808d65bccfb021e5589
+a3cddd8b94b23f8baae16491692f328b8164e08b5ffb0d05aa95a18ea68bc38bca62
+8b3e8b808a7e887f080e62fb6476f908b601f86ae303f77ff7f515a3e4798b057e8b
+7a80687f768569857989088a6f059d8f978c988b958b91888b7c8b848a83887f08fb
+00fc6705836a7d796b8208798605858a8a888b86088972f721afa4f505f77bf704f7
+2df706adf7288f9b8d9b8b9b8bc46fbd298b578b456a405308f736b915bfa06e591f
+8b778874857170fb07fb1124fb3b3708e1f80505e2c7b6a0b28b080efbf8a176f91f
+7701ddf75103f70d8c15f73e0a0efbf8a176f91f7701ddf7b703f7738c15f73e0a4c
+16f73e0a0efb79a176f793b2cab2f7937701f1f7ac03f74d8c15c5f793f58b94b221
+8b9acaf58b94b2218bc5f793648b50fb93258b8264f18b7d4c05258b8264f18b50fb
+93050efc1682edf8eb7701bbf093f71803d3d4157f828480887e8a868a878b878b84
+8e839084928295869a8b988b97909794979592968e99088c8e8c8f8b8f8b93889286
+93839482917d8b7e8b7e867f8008c6f710158c8b8c8b05938b908f8e948f97abf58d
+8f8f9c95a69ab593a3929f929c929a9199919b90979099909b0890998f9b909e8d93
+8c938b928b9688968693839780937b8b7b8b7d847d7e7d7e827a857408877a887b89
+7b897d897d8a7d8a7e8b7c8a7a8b7b89778872865e886e897f7c3586688a8a088807
+858e87921e0ef94089ad6bb2f8cab36bab9877db7612f8efff005ab33413861c04ab
+8915f73f0a1356f7400a1326fbc806130e6c0a1366f7410afb13f94f15f7030afead
+fd3b1588790513868d89051346b88cb18cb28b081396f7420af742c215440a0ef8b2
+81d846ad94c8f790c55ad7f742ad12f8efff005ab334ff004b4ccca61317fae5f850
+159b0a130f9c0a1337f7430a1387f7440a1337f7450affff4d6668d315bd06ff0026
+6668b9ff002f1998b8ff002ae668b208ffffefb3309805ffffd5800070ffffd8e668
+72ffffd34ccc65ffffe54cccafffffe41998a4ffffdee668a808ffffe94ccc7e05ff
+001b4ccc65ff001be6685eff001366685c08fffc579998fc771588790513478d8905
+b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00049998a2ff0002199cff00
+1680008bff0015cccc8bff009a3334ffff918000ff00758000ffff5ecccc8b4e8b52
+89648b08668b648c5e8c0888898878058a868e88908b08a58905ff001f8000fffffd
+9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ffffff3333fffffa199c
+fffffeb333fffff91998082afc8605856b78806989086e8905878b87878a8608f742
+c215440a0ef80081d83eb990c8f790c55ad767aff761779ea8a57712dcdbf73bd9f7
+4da61310f0fa33f850159b0a1308f09c0a1330f0f7430a1380f0f7440a1330f0f745
+0affff4d6668d315bd06ff00266664b9ff002f199cb8ff002ae664b2081302f0ffff
+efb3349805ffffd5800070ffffd8e66872ffffd34ccc65ffffe54cccafffffe41998
+a4ffffdee668a808ffffe94ccc7e05ff001b4ccc65ff001be6685eff001366685c08
+fffe4f9998fbc7151344f0730a3d04847105857387788b7f8b789271ad8bc98bb3b3
+a5c4fffffaccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d
+8b97088b9491a78f9e08f5f863059acc95b38b8b8b92888e828b081345f0f7050a0e
+f737fb40b8f711a870b2f8d7a8121390f98df89f15f70f0afcc57015f7460a13d0f7
+470a13b0530a13d0540a13b0550a0ef75dfb58aff732a870b2f7f8a79877f5eb8ba8
+12f944ff00558000ffffbf8000eb138900ff02f24cccff0140333415810a139100f7
+480a13848070f7e4157d0afce4fc8215f7460a13c000f7470a13a000530a13c00054
+0a13a200550a0e61fb58aff72ac7f7eda79877f5eba4a8a57712e8daf7a5ff005580
+00ffffbf8000eb13df80ff01ff4cccff0140333415810a13ef806b8b5e855c84ffff
+f94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689fffff2199a
+856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffffb8800075
+356979798bffffe4cccd8bff00057fffb6ffffceb3348b08fffff2cccdfffff03333
+fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00338000ff
+00f3199a0813cf4070f7e4157d0afb489815840a0ef863fb40b8f71e7693a8f8e3a8
+121390faa0f89f15ff00109998ff0053e668ff00116668ff00081998c38eff000533
+30ff00046668ff000280009bfffffa4cd0ff000899985d8affffe9b3308affffd44c
+d08bffffcdb3348bffffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff00
+05b334fffff76668ff00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664
+088b7ffffffdccd0fffff08000fffffc1998ffffec33340834fc4e05ffffdc4cccff
+ff4a8000ffffc9b334ffffe580006c8b7e8b809386958598809c6e8b08fffff1e668
+ffffe08000ffffedb33370ffffe0199aff002bccccfffff03333ff0012cccc1fb58b
+ad92b8aebbb0ff00404cccff0032e666ff001cb334ff0091199a08fb9ef85a15c60a
+13b0c70a13d0570a0ef843fb58aff73f7693a8f804a79877f5eb8ba812fa2aff0055
+8000ffffbf8000eb138900ff03d84cccff0140333415810a139100f7480a13848070
+f7e4157d0afb907e1591a99ea5b18e0813a200a68d05ff0002ccccff00003334ff00
+05b3348eff00008000ff0004cccc088d9e898d055e8a678a748b738b628c5e8c0889
+89887805ffffff4cccfffffb8000ff0007e668fffffce668ff0004ccccffffff9998
+08a38905ff00206668fffffd9998ff000a1998ffffec80008bffffea4cd08bfffffa
+e664ffffff6668fffffaccccffffff1998fffffae6680841fc0f0587788980858b83
+8b829d76b008fb87f850fb188b8889897805ffffff800086ff0007800089928aaa88
+a0648c710831fc62058570ffffed8000ffffe33333ffffd88000fffffccccd087289
+05fffff7199affffff4ccdfffffb6666fffffc9999ffffff8000fffffb199a088979
+8d8905b88cb48ca38ba38bae8ab88a088d8d8d9e05ff0000999aff00058000fffffd
+e666ff0002199afffffb8000ff0000666608728d05ffffe18000ff00026666fffff3
+e666ff001233348ba28bff0004e666ff00008000ff00053333ff0001199aff00054c
+cd08cff7f30592ad909a928b918b9380987508f78dfc4d0513c200570a0ef776fb58
+aff72ac7f7ddc75fa7eeeb12f73bff00578000ff00528000e07adaf779ff00558000
+ffffbf8000eb13dc80ff030b4cccff0140333415ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b6b8b5e85
+5c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689ff
+fff2199a856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffff
+b8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08fffff2ccccff
+fff03334fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a0813cc4070f7e4157d0afbc1fc5215b1f7330513ed00e40a13dd
+00890a13ed008a0a13ee008b0a0ef589a8f76ab5f80b77db7601f7c7f7af153d0afb
+cdfb6015b30af7bcf8fe15f7030a0e4081c7f7faaaf7637701d9dbf739d903f82ef8
+45156e0a59fb6a156f0affffbe6666f7b015f7040a0efba08aa8f8e2a7d47601f787
+f94e15b606b1acb2acb7a708819f05617b6779607070a46d9e689c08777705a970a6
+6ca16708b8fb101590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc8b05866f7b7c62
+8b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e
+878b087106638b7e9891a9080efbb181c7f7eda7987712f6ff0119cccc13b0ff00f5
+4ccdff0140333415f70d0a13d0800aff000a6666f80c15f7490a0ef681adf8ecadc7
+7601ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb90f804
+15f7030a0efb0681b0f80facf7627701d9def771de03f735f73e158c0a3883158d0a
+ff00d36666f7e815f7040a0ed481b4f8dfa8d27601ff007bcccdff004ecccd03f7c6
+8115660af721f95715f7030a0e6381c7f7ddc7f7627701f70cdaf736d903f88ef7f4
+15940affff8b6666f80e15f7160a0ed481b4f8dfa898e9bfb701f7eee9bde903ff02
+4a8000f9ba15f20affffda8000fdc415cc0ab4f96115cd0af72416cd0a0e6381c7f7
+ddc7e3e7cdb712f70cdab2e7aad962e713fcf782f8d115d20a13fdf73416d20af700
+fb7115ee0a13feef0a13fdf00a13fef10aff001f8000f8c515f30a0ed481b4f8dfa8
+98e901f7eee9bde903ff01c88000ff02e8800015ff0006e6668bff000c4cceff0004
+4cccff00103332ff0006333408ff00823332ff00378000ffffcde668ff00279998ff
+ff936666ffffb6199c05fffff53334fffff81998fffffab332fffff9cccc8bfffff8
+199c8b848efffffd4cccff000633348b08ffff688000fffd0d800015cc0ab4f96115
+cd0af72416cd0a0e6381c7f7ddc7e3e712f70cdab2e7aad962e713f8f782f8d115d2
+0a13faf73416d20af700fb7115ee0a13fcef0a13faf00a13fcf10aff0008999aff02
+6f333415f74a0a0ed481b4f8dfa898e901f7eee9bde903ff01bf4cccff02ec199815
+ff0021199a06ff001d4cceff001de668ff001eccccff001c3334ff0021e668ff0019
+800008fffff84cccff0011999805ffffdfb334fffff1e668ffffe36664ffffef4ccc
+ffffdfb334ffffe91998ffffea6666a1ffffe9b334ff0010b334ffffe44ccc9a08ff
+fff0999affffee666805ff0017199affffe76664ff00158000ffffe5999cff001033
+32ffffdf666408ffff71b334fffd09e66815cc0ab4f96115cd0af72416cd0a0e6381
+c7f7ddc7e3e7ff002e33347612f70cdab2e7aad962e713fcf782f8d115d20a13fdf7
+3416d20af700fb7115ee0a13feef0a13fdf00a13fef10affffa18000ff0208333415
+b306ff001eb334ff00296664ff0025ccccff00288000ff00224cccff0023199c08ff
+fff2e668ff000bb3340569ffffe7b330ffffe0b332ffffe98000ffffdc3334ffffdd
+ccd0ffffeab332ff00206664ffffe9b334ff00168000ffffe58000ff001a199c08ff
+ffede666fffff44ccc05ff0015ccceffffddccccff00163332ffffd78000ff000f99
+9affffd5b334080ed481b4f8dfa898e901f7eee9bde903ff01e76666ff02f9333415
+8bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ffffb16666ff00
+49e66448ffffd86668ff006c999affffc8800005ff000c4ccefffff9ccccff000acc
+ccfffffbb334ff0007b3348bff000b80008bff00033332ff000b66688bff00054ccc
+08ffff49999afffcfccccc15cc0ab4f96115cd0af72416cd0a0e6381c7f7ddc7e3e7
+12f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a13
+fcef0a13faf00a13fcf10affff946666ff027c333415f74b0a0efb3481aaf7fac701
+8fd0f751de03d4c6158bff0059b333ff00693333ff0021199ad7ff0009cccdffffdc
+b333ffff72e66654ffffe28000ffffd6199a8b678b7e948ba808f750f73f15fb9958
+8f3e8b650872a25ad3f742d3f73ef713e063ce381e488b4e68503f90809186978bc4
+c5a294bb8bb88baa738b308b868b768a83080ef589a8f76ab5f80b779febbfb712f7
+cdebf721eb13ceff02688000f9ba15f20affffc48000271513deb70af78116b70afb
+87fc3b153d0afbcdfb6015b80a13eeb90a0e4081c7f7faaae3e7ceb712d9dbd2e78d
+d97fe713fcf779f8d115d20a13fdf73416d20aa0fb2015d30a13fed40a59fb6a156f
+0aff008c8000f86715f20a0ef71a8aa8f76cb2f832eb4ab312f84aec13c8f72dd315
+e7f72f0591969491a48b08f7668bacfb40058c878b888b87087475816d1e6f06868b
+88888a860887788d89058bed8dafb2d6898b1e8f8d8e9e058f878f871e8006638b7b
+9e83b208fb01f8b20585a585937b8b828b81827c7208fbdefcb70577697678628b08
+7f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e
+06707b92991f8b928f94909208f730f7671579858f901f8b8e8c8d8d8f08f728f78d
+befb9f0513e892f892156b73706f749c79a4a8a5a4a91fa4789b751e13d8384a159c
+b3378b057f8b7e7b887f8a8a8b8a8b8a08858e88921ef786b2157a64de8b05978b9a
+9a8d96088f0790888f841e0e4081c7f7faaadeebceb712d9dbff008c3334ebffffb8
+ccccd913fcff012a3334f8ce15f7020aff006fccccfb1d15d30a13fad40a59fb6a15
+6f0aff008d8000f86615f20a0ef7cc8bb265a6f782b2a6adf784b36ea8d8b712f95c
+acf710a6133380fa0ef96715978b9a9d8e96088f07918890841efb89067f8b7d7a88
+7f088607868d86921e137380fb42fd661513bb80d68af79a8bc1f7347190056f4265
+564a8b08fb2d06787f909d1f8b8e8b8e8c8f08b9f798f08b05ad937b6f1f8c6c0587
+8c88911ea28b8e8e058dab8ca891ae91ac95a993ab8c8d8a8d898b087506878b8787
+8a87087f6d05806f7f7b688b08268baff7640590a39893a38b08f72206bfa24f601f
+a68e0513378095f72005133b80fb898b3d8a05137780fb438c8775058a898c86928b
+08aa069999837d1f87078a878987878508fbf8fc8f0572687d846f8b087406858b87
+888a86088776058bc48daeb2cd898b1e8fa2058e8a8e871e6e0675838d921f8b9190
+93989c08f720f75af7478b68fb5605866f7b7b628b087106868b87878a860813b380
+88788c89058be98eaf1efb27f7c415f765f7b9058a868c8b8879085bfba2050ef712
+81b561bcf744aef733a9e2b712c7d583ff004f6666ff008e999ad4f77ad9133980ff
+02466668f8a215988bff000eb3309dff0002666897ff0001333491fffffdb3349381
+8b08ffff0afffe06808bfffff180007afffffd999a7ffffffe999a84ff00024ccc83
+948b08ff005c999afba515a6e0c4cecf8bb68ba46e8b6e8bffffb26666ffff924ccc
+fffff5e666ffff91b334fffff9b33408386515d80a13bd80d90a9ff70b15da0a137b
+80db0a0ef7127faff720b4cdaff7ceb001dce6f87daa03f87ff92615fb408bfb56fb
+1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5849287928b9408
+8b9094c0cd8b92b44a8b8fa10590a7979bae8b088c06908b8e8e8c900890a5898d05
+8b51896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a87
+088775fb068b8462f7068b7b3105636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e
+9caaf743f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e
+37fb82acd9b0f772a9f781b36da91292ff00443333ff0028cccdc35bd5f723d513f5
+80f833f7b715790a13ed807a0a13f68072716e5b8b688b818b74a57c64ffffea999a
+ffffc9199affffdc999affffe5e666ffffd6cccc086066ff001c999a06ffffff9999
+88ffffffcccd888b888b3af70376dc8bff007bcccc8bff00563334ff001fcccdff00
+0f8000ff004f333308ff00288000b0ffffd9999a06fffffb4cccff003a6666ffffd2
+4cceff001e6667ffffccccccff000f33333ba3428d8bbb8b9f99a3949c9b81a384a7
+8b08e2ccc7ee1f41164d7e484f1e13ed804e82d3bbd397c2cdb6a159471fff0008e6
+66fc1115fffef0999a06ff000eb333ff0026999aff002ee667ff00214cccff0014e6
+66ff000f199a9d87d175ac7cff00218000fffff06666ff0016199afffff1e667ff00
+0c4cccffffefb33308ff000c199a6615656963331effff99cccd8b55ff001ecccdff
+fff76666ff002f3333080ef7127faff78baff7ceb0c87601dce6f82dc6a0aa03f863
+f94e15b606b1acb2acb7a708829f05617b667961706fa46d9e689c08777705a970a6
+6ca16708a76315fb408bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf7
+0a8be2b0d9c5849287928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c90
+0890a5898d058b51896764358d8b1e88898771058a868e88908b08a506ad9981751f
+8b878b878a870870fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf7
+43f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e37fb82
+acf7e5a9f781b36da9f768771292ceb5c35bd5f723d556cc13cc40f7358815780a13
+ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0affffb96666f76d15
+f7040a0eee8aa8f8e2a7d47601f852f94e15b606b1acb2acb7a708829f05617b6679
+607070a46d9e689c08777705a970a66ca16708fb8afd0615b4f78105a68799809c74
+08f727fb5a05957e8d7e8b7e8b818a828a830889858d89058ba38dafb2d6898b1e8e
+8d8f9e058c90868e868b0885066e8b769b76a808fb54f79805849486938d938c9497
+97aea708f74ff72b05c4b9b094b490918b908e8c90088e9e878c058b4e8a67643f8c
+8b1e898a8778058a868f888f8b08a0069b9782851f8b83807d747808fb6ffb440571
+76777e768608b3f7770590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b
+7b628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90
+878e878b087106697d95a11f8b8e8b8f8c90080e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830aff00c06666dc15f74c0a0ef6fb65b1f735ad
+f8ecad01ff00576666ff005ae666ff0088b334c6ff00f34ccce403f899fb2215f74d
+0a3af99215580a0efb06fb4db1f71db0f80fac01d9def771de03f735f73e158c0a38
+8315f74e0a0ef6fb65b1f735adf8ecadf6b701ff00576666ff005ae666ff0088b334
+c6ff00f34ccce403f899fb2215f74d0a3af99215580aff008b8000f72115f20a0efb
+06fb4db1f71db0f80facf717b701d9def771de03f735f73e158c0a388315f74e0aff
+016a8000f82c15f30a0ebafb67b0f92e76f71bb3d37601f727a5f7cee603f7adf91a
+15f73d0afb84be15f7030a0efb1bfb7dacf7d9adf757c55ad712a4d88ba6f740df13
+e6f780f73315f74f0a13d6f7500a13eaf7510aff001f6666f7e915f7040a0efbc2fb
+58aff8bfa79877f7807712f74dff0055800013b8ff00fb4ccdff0140333415810a13
+d8820affffe96666f7a715f7490a0ef98a89ad6bb2f8cab36bab987712f8efff005a
+b33413449e9d1588790513848d89051344b88cb18cb28b081394f7420af742c21544
+0afaaf4015f73f0a1354f7400a1324fbc806130c6c0a1364f7410a0ef8ca81d846ad
+94c8f790c55ad7f742ad12f8efff005ab334ff005e4ccca613479e9d15430af742c2
+15440afa37f8071513179b0a130f9c0a1337f7430a1387f7440a1337f7450a0ef7e0
+81d83eb990c8f790c55ad767aff760a8a57712dcdbf73bd9f745a61347e0f7edf756
+15730a3d04740af8d5f7da151313e09b0a130be09c0a1333e0f7430a1383e0f7440a
+1333e0f7450a0ef281aff789aff7ceb0c87601ff0053999aff0057e666ff01dd8000
+a903f87bf926154e0a58b315b40a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5
+f723d556cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a
+13db0041167c0a13c880e1f81015ffff9c4cccfb0b05fffff53334fffff33334ffff
+fbe66687fffffdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cc
+cc8fff0012199a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999a
+8cfffff9999a8b08868bfffff9b3348afffffccccc8a080ef7e77fba67a8f7bcb290
+d5f744a712f8aadcf78cb513bef8adf7191589808a818b818b42bf62e78bdb8bf5d9
+abf74b91ab8ea88ba48bcf75b2598b6f8b7a788879088a898b888b898b72a587958a
+a187a0778b558b7c8979887779293c23418b628b6ca18bbb088b938c938c9408d9f8
+500590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a
+8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f76705
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+058a868f888f8b08a606ac9981751f8b7f32fc8a05137e866f7b7b628b087006868b
+88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08710669
+7d95a11f8b8e8b8f8c9008b7f790f7db8b050e76fb6176f9d3a674bc12f886e813b0
+f7abf9261573067582758778870813d0798866857b8b088972058a888d898e8b08ac
+8e05999281741f8b828a80897d08fb09fd2c05856a7e796b8208768505868a8a888b
+86088e72f724b0b0f76605f75cf71bf755f721a7f7348fa18ea18b9f0813b0da69c5
+2b1e4b8b4153485408f742c915bb9f6a4c1f8b70876b856673fb18fb2afb07fb2323
+08d9f84a05e2d5bcaab88b080ef4967693a8f8e3a8d276121370f943f8c115560a13
+b0570a79f94b15b20a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0a67f8b715ce0a0ef589a8f76a
+b5f87ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff00
+189998ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334ff
+fffb8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdff
+fffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e
+8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199affff
+f48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08df
+f725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccffff
+fce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd66
+66086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af
+8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c
+05658f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffff
+ff3332ff00036668ff0020999aff000b3334ff001bcccca6ff0009999cff001f9998
+ff00096664ff0001199cff000e6668ff00048000ff00124cccff0006199808f73dca
+4ab8fb213705ffffff3334ffffff8000ffffff4cccffffff8000ffffff3334ffffff
+8000fffffae664ff002166686eff00171998ffffdb199c8b5d8bffffcf999866ffff
+f6999a5d08ffffab199afc46153d0a0e4081c7f7faaac7a6f704a601d9dbf739d903
+ff01c7999aff033e333415f74a0affffd26666fffe72cccc156e0a59fb6a156f0aff
+fffa3334f83715d50affff9db3325315d60a0ef7a089a870b2f777b2a3adf786b370
+a7d57612f949aaf2a8133380f7d3f7c515bb0a137b8078fbc515bc0a133780fb3c8c
+05133b80898a87770513b780bd0a13738087780513b3808c89051373808bc18dac1e
+13b380b1cc898b1f1373808c8d8fa00513b380be0a13738087790513b380bf0af741
+f94f15b40a0ef71281bc5ab5f80da912c7d583ff004f6666ff01bd999ad91324f843
+f79115d70a386515d80a1374d90a9ff70b15da0a13acdb0af74bf7e515f7520a0ef6
+81adf8ecadc87601ff00576666ff005ae666f84be403f96bf93215c90afbd07615ca
+0a66d515b40aff00d03334ffff33333415cb0a0efb0681b0f80fac01d9def771de03
+f86af87115e90a31f76e15ac0affffdfccccfffe8f800015ea0aff00b91999ff0125
+333415eb0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30af82ff8ee
+15f7530afb6ee915f7540a0e4081c7f7faaac47601d9dbf739d903f82ef845156e0a
+59fb6a156f0affff86cccdf83e15f7550aff008933339115f7560a0ef589a8f76ab5
+f80b77d576c8c001f8e6a903f7c7f7af153d0afbcdfb6015b30af7f3f96a15f7570a
+0e4081c7f7faaaf729c401d9dbf739d9ff001a4cccff001d666803f82ef845156e0a
+59fb6a156f0aff00434cccf7ab15f7580a0e6889a870b2f7b0b1d677f751b370a812
+f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d
+89051373490a13b34a0a137b4b0a6fb215f7530afb6ee915f7540a0efb3481c7f7fa
+aaf7697712dedeff00a7b334ff00458000ffffcfccccd013f4f7f7f80615df0afb50
+fb3f15760aff004ecccdf85915ffffe8999a8bffffedb334ffffede668fffffc6666
+ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00
+01999889ff0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334
+ff000033348cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94ff
+fff966668dfffff400018b08ff00893333911513f8f7560a0e6889a870b2f7b0b1d6
+77f751b370a8cc76c8c012f822aae2a8133bc0f8bdf91a15450a1337c0460a133bc0
+470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc04b0a
+fb0bf73315f7570a0efb3481c7f7faaaf72ac412dedef751d0ffffed4cccff001d66
+6813f8f7f7f80615df0afb50fb3f15760a13f4ff00ee4cccf7c015f7590a0efbad89
+a8f8e3a8c97601f769f8cd15500af739f70f15f7530afb6ee915f7540a0efbb181c7
+f7eda7987712ff00ddb333ff0045800113b0ff00f54ccdff0140333415f70d0a13d0
+800affffbdcccdf8bf15ffffe8999a8bffffedb334ffffede668fffffc6666ffffee
+1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00019999
+89ff0001cccd8a8e8bff000299998bff000b4ccdff00044ccc8dff0009b334ff0000
+33338cff000066678dffffff33338c08ffffce4ccdf71f05fffffccccc94fffff966
+678d7f8b08ff008933339115ffffe080008b7cffffe9ccccfffffd3333fffff23334
+8a86ffffffb333858f8608ff004d6666fb0d05ff0001999a89ff0001ccce8a8e8bff
+000b33328b90ff000a6668ff00008000ff00029998ff000033348cff000066668dff
+ffff4ccc8e08ffffde6668f72305fffffdcccc948490808b080efbad89a8f8e3a8cb
+76c8c001f819a903f769f8cd15500ae9f77f15f7570a0efbb181c7f7eda79877f740
+c412ff0063b333ff0016199aff00c26667ff001a800013bcff00f54ccdff01403334
+15f70d0a13dc800aff00743334f80a15ff001a800097058ee0ffffdb3332bd4c8bff
+ffcae6678bffffbd66665affffe580003508ff0016199a7f05ff0013999ac5ff002f
+4ccdabff002ecccd8bff0030999a8bff001fe66666ff0000333456080ef681adf8ec
+ad01ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb1ff7f8
+15f7530afb6ee915f7540a0efb0681b0f80fac01d9deff0091b334ff00458000ff00
+05ccccde03f735f73e158c0a3883158d0aff008ccccdf87e15f7550aff0089333391
+15f7560a0ef681adf8ecadc176c8c001ff00576666ff005ae666ff0188b334a9ff00
+104ccce403f848f90415580af79bfbbb15590afb66f87015f7570a0efb0681b0f80f
+acf729c412d9def771deffffe54cccff001d666813f8f735f73e158c0a3883158d0a
+13f4ff01684cccf7e415f7590a0e8581aa74a8f79cadf7bbad69a4cd7612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0ae6af15f7530afb6e
+e915f7540a0efb609676f80fd15fa7f77a7712f738ff00528000ff00413334ff0045
+800013bcf771f7b115f71c0a13dcf71d0afffffecccdf80515f7550aff0089333391
+15f7560a0e8581aa74a8f79cadf7bbad69a4ce76c8c012ff01e9999aff0054666652
+a9133700f811f900155d0a91ad15136f005e0a13b7005f0abbf72b15508b3b65763f
+08a5069bb1c2a2be8b08132680c0b474681f88a8078c918b908b918bb374c4328b08
+0efb609676f80fd15fa7f739c412f738ff00528000ff00a3ccccff001d666813bcf7
+71f7b115f71c0a13dcf71d0aff00b94cccf76a15f7580a0ed481b4f8dfa801ff007b
+cccdff004ecccd03f7c68115660af798f94115f7530afb6ee915f7540a0e6381c7f7
+ddc7f7697712f70cdaff009ab334ff00458000ffffc1ccccd913f4f88ef7f415940a
+ffff47ccccf8a415ffffe8999a8bffffedb334ffffede668fffffc6666ffffee1998
+fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff0001999889ff
+0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334ff00003334
+8cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94fffff966668d
+7f8b08ff00893334911513f8f7560a0ed481b4f8dfa8cc76c8c001ff007bcccdff00
+4ecccdff017b6666a903f7c68115660af756f9c315f7570a0e6381c7f7ddc7f729c4
+01f70cdaf736d9ff00154cccff001d666803f88ef7f415940aff000a4cccf80a15f7
+580a0e20fb83a3daddb7aff8eaad12cba9ff002fcccdff00483333ff009de666ff00
+53e666fffffe3334aa13fcff00eab3335515f75a0aff01024cccf93c15589391a332
+8b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bffffa76666ff00
+4d4ccdffffd0b334ff0045e666680813feb974ff0024e666ffffe033338bffffc3e6
+678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd7b3a5a6b428b36
+8b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff
+000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c
+800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666088bff00
+068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b0813fd610a
+0efb64fb7ba3daddafacf813ac12c6df77cbdfd658dd13f6f7428115900a13f5910a
+13fa920aff0003b3336715f7140a0e7afb82a3daddbea8f8d7b2987712f906a913f4
+f779f9191513ec620a13f4630a13ec640a13f4650afffeebb334fd4e156e8bffffe7
+199978fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff
+000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe3334
+82ff0000199982ff0004cccd85ff003acccc94ff00373334a9ff000c3334c708ff00
+0a9998bfffffeee668ad658b080efb92fb8ba3daddbfc7f7e8b201f1da03f74ef841
+15930affffd1b333fcb115f7140a0e39f803a9f777ad12d6dc95a2f753e63ad013f8
+f5fb25159e8ba59c8fa28b8c8c8d8b8d8b8f8a8f8b8f8b908c918c9191aea7a4c39a
+f70cacdeda9be6088e9e8d9d8b9c8bdc62bc349baa98d1b699d50813f48c938b938b
+928bd445a4608b498b597f6f8b08868b6cfb14a28905a1cdbab5c28bae8bb57c8b52
+8b838a848a8181523842458b086d0713f8e0d16c301f8b7f8a7f897e7f445a444171
+fb0065574785668a888b888b8808769a7f9b1e0efb46fb6476f82aa4f762ad1296d2
+f767d953cc13f8b0fb79159e8ba09c90a28c928b948e9893aead9fc39dc09cf3b9a4
+f68e978d968b978bbe6bb45199089f96cab499c70813f48d918b928b908bc54ca961
+8b498b667f708b08878b68fb099f8905a4cdacaacb8bad8bac798b618b848b848983
+815d4d4a3a7e08857205978d968d958b0813f8b5cb82461f8b818a80887e7c4c6265
+5878346b414082678a878b888b8808789b85951e0ef70489a8f7bab5f793a8d27601
+f854f94d15f7030af72ffb14154f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13
+f4ff00afe666d315f7090a13f8f70a0a13f4f70b0aff00ca8000f8d015f74c0a0eb5
+fb79a8f75ba8f8f9c453a912f8aee113e8f3d315866e7f7c698b087406868788861f
+87788d89058bd38dafb2da898b1e8d8d8e9e058c90888e868b0874067081959f1f8b
+8f8c8f8c9108dbf85d05f5e0c4a6ba8bb68b9f748b4b8b6c866281560824fcdd0586
+6e7f7c6a8b087306868b88888a860887788d89058bd18dafb2dc898b1e8d8d8e9e05
+8c90888e878b0873067181959e1f8b8f8b908c9108f702f9060591ac92b18bae8bcc
+74c4318b578b4168fb043108a1f711758b057582768778870813d87a8865857c8b08
+887205888d898e1e958ca18e05999383731f8b81897d887a080ed684b5f1a5f78aae
+f74eaab07701d7daf862a603f82979156f6b736b7069089e8705a7aca4aaa6ab9788
+8a8d978bbe8bbe9cb1a9a5a19fa993ae8d918b908b908b94899386900883957c9175
+8b798b787f777c666c665a7671848b89938b968b9e92a890a308f719f8d5758b0580
+85778172846480708a828908856c059b8fa18e958b938b93888b7f8b83887a856f08
+68fb2c056ca3608e778b5f8b607d6372086d7605576069517a43867689788b788b64
+9567a16ba467b27bbd8bb98bb59ab3ac8a878a878b87088b69b3819c8808f767f70d
+15887a807b7b7f7075637b708b7f8b818c808d9ea4acb8aaa499979a92988b988b94
+879184088e888d858b858b888b888a8908fb976f15f75b0a0e8481a5f8f69f959f12
+d8d1a7e1f759e374d213faf852f93815867705ac85a1809879957e8f7b8b778b7f8a
+7d887d82677a6c707271746f766e797a957a977a9c0863ae05769c819d8b9e8b908b
+8f8c8f92a59ca3a9a1a8a0a997aa8d08909f05568a5b7d60735a716d66815e89828a
+838b838b669f67b56a08be640562815e735b65636c72658361897d897f8b7f8b7193
+75997bac67c179d88bc18bcd93c8b008c1abacb798c20813fc8d938b928b938bb472
+b458b66aa77799868ca894b1a3bab0aba5a1b095b90813fa8e958c958b948ba880a5
+74a20875a06596558c08fb3ffd2815678b6b976da2779a81a18ba78b948c968e9694
+b3b0b5cdb608c3b1c6620513fcc064a6668b678b858b8689858264776c6d766e7562
+80578b080e2e76a5f9137712cbc9b3d4f727d882c713f4f85bf91815746f058e878e
+868e86947c8f7b8b788b818a818880846c7c717575676873767f857d957e987d9b08
+6baf0583938598879a899489948b938b8f8c8f8c8f8f9d929b979a979a9997999508
+7da5057c857e837e83606f7166805d89808a7f8b808b669a68aa6b08b36305788577
+80747c727a797d828075737d7a8681756580688b6c8b7d8d7f8f7f9275957a978008
+a674b480bf8bc58bbd9ab5a9b9adaaba99c90813f88d938c948b948bb277b364b570
+a87c99878da593aaa2b3b1a7a69daa94ae0813f48d978d958b958b9589958894869d
+829980960883928192809008fb77fd13157a8b7c8e7d90828f80947c9a8294859987
+9f8a938a938b928b988d978e9894b3acb5c3b808bcb1ba610513f8b4669f658b668b
+838a83898382637a6c71757175697f608b080ec489b8f8b0b901f8a6cf03f883b615
+fbde8bf893f8a8059d9e989a8c94088c8b8c8b93818d7f1ffc400675878d8c1f8b8d
+898c788e888b8a8956fb288a888e8b9e8b8d8b8c8d059ebea6a8b196958e978d978b
+08f7b28bfca2fcb8058382878589848a898c8a8a888c859188958b08f80a8b8d8b05
+ac8ba6809f759580907d8b798b848a828982877b827b7c7908a7069d979b9c959e97
+9e949d8f9c8c928c918b928b9c859b7e997a9d6f94648b080efb058bb2f7f4b29377
+12f802cf13d0f7ddb215fb588bf7caf7f005989995968c928c8c8b8c8b8c0891858d
+831efb84067086908c1f13b08d8907768b898b8a8956fb1b8a888d8ba28b8d8b8c8d
+0597a9a2b299940813d097939b909f8b08f7228bfbd4fbfb05848286878a85088a07
+8a829788a08b08f75e8b8c8b05ad8ba5809f759580907d8b7a8b838a838981877b82
+7b7c7908a8069c979b9c969d979f939d8f9c8d918b908b908b9c84987e9908799d6f
+95648b080ef589a8f76ab5f80b77cceb01ff01b83334eb03f7c7f7af153d0afbcdfb
+6015b30aff01173334f93415f7000a0e4081c7f7faaadeeb12d9dbff008c3334ebff
+ffb8ccccd913f4f82ef845156e0a59fb6a156f0a13f8ffffc23334f7f315f7020a0e
+68fb49a4d7abb9a870b2f7b0b1d677f751b370a812f7afc2c7aae3a713cee0f8bdf9
+1a15450a13cde0460a13cee0470a13ede0480a13dce087770513ece08d890513dce0
+f75c0a13ece04a0a13dee04b0a0efb34fb4ea4d7abf861aa01deded2c2cad003f7f7
+f80615750afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb131e8bffffac
+6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd199affffb4e66690
+85059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b
+08cec5aebeab709a6b1f828b828a838908ff001f199aff0030cccc05ff0036999aff
+0009999aff0032e666ff0022e666ff00316666ff003fb334869685907f8b52517482
+5b8b5e8b6ca38be68b908ba08c93080ef681adf8ecad8beb96b712ff00576666ff00
+5ae666ff001eb334ebff01384ccce4ffffa7b334eb139cff0245e668f99115f75d0a
+ffff5a8000501513bcb70a13bdf82d167d0a13defb4a3915c80af79bfbbb15590a0e
+fb0681b0f80face3e7cdb712d9dea8e7cfe74fde13fcf752f8d115d20a13fef73416
+d20afb51fc2715e70a13fde80a3883158d0aff01888000f89f15f30a0ef681adf8ec
+adff00236668ff00306664fffff63334b7ffffe23334ff0032999812ff00576666ff
+005ae666ff017cb334ff00136668ff0026e664e413d7f90ef99c15825fc78b059895
+9d96928893811ffc1b5f1593b74e8b057f817980848f83941ff756fb0015580af79b
+fbbb15590a13efffff408000ff019ccccc15f75e0a0efb0681b0f80face2b78fb9cc
+b701d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10aff0048cc
+ccf70715f30a0ef681adf8ecadb7eb01ff00576666ff005ae666ff00f5e668ebff00
+611998e403f848f90415580af79bfbbb15590afffeed3334f83915f7000a0efb0681
+b0f80facdfeb01d9deff00773334ebff0005ccccde03f735f73e158c0a3883158d0a
+ff00ca3334f82d15f7290a0ef681adf8ecadb7eb45b612ff00576666ff005ae666ff
+00f5e668ebff00611998e413def8e0f997158260dc8b0598959c96928793821ffbaa
+601594b6378b057f817980848e84941ff7152315580af79bfbbb15590afffeed3334
+f8391513eef7000a0efb0681b0f80facdfebcdb701d9deff00773334ebff0005cccc
+de03f735f73e158c0a3883158d0aff00ca3334f82d15f7290aff00bb4cccf70615f3
+0a0e8289a8f8e3a8dab701f7e4d7156a0aff00c08000f91e15f20a0e51fb7ec8ff02
+178000ff004c8000f717b701f871ff0048666803ff01608000169a0aff00928000f9
+1415f30a0efb3572b7f70aa6f873a8a57701ff00726666ff004c199aff00b46666ff
+001c199a03f76ca915d5e6ff0013199a9bff001be6668b08ff0012e6669afffff6cc
+cdffffeecccdffffcf8000ffffb3999affffd4e666ffffd980001f788b7f8f829208
+7f9715fffff66666ff000c6666fffffc199aff000ae6678bff000e19998bff000c4c
+cdff0002e666ff000ecccdff0004999aff0014800008f1f85c05ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc
+5005fffffbb333ffffece666fffffdb333ffffef33348bfffff133338bffffdc6666
+ff000db334ffffe7999aff0021e666ffffecb3330847359b82cfe30598869c899e8b
+08cbf700ff003f6666ff004f999aff001d999a78ff00106666701fffffd54ccc8bff
+ffe1b334ffffe5b3333fffffa04ccd080edf83b7f70aa6f75ac75fa712f73bff0057
+8000ff01654cccff001c333413ccf85dba15ff0041ccccff00523333ff0017b334ff
+0018cccdff001f80008b08ff00141998ff000db33481ffffed80005cffffb4999cff
+ffd58000ffffd899981f788b7f8f829208fb77f79c15ff00034ccdff0009333405ff
+000d199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8
+b333ff00076666fffff2cccd8b0813dc890a13eccaddc2c6af8bb78bfffff7199aff
+ffd3b334fffff2e666ffffc74ccc0865fb3805fffff3199affffc86666ff00236666
+ffffd9199aff001a8000fffff180000847359b83cfe30598869b899f8b08ff003ecc
+ccff006d3334cbd9ff001e3333fffff0e668ff0010cccdffffe019981fffffccb334
+8bffffe14cccffffda800049ffffab8000849388988b9d8b9dff00034cccff0018e6
+66ff0007b334ff0022199a08a3f505ff0010b334ff0049ccccff000c1998ff005433
+34ffffaf33348b578b60762ffb00080efb4f7cb7f70aa6f76db201f702dc03f7b9f7
+141599979a92978b988b9587908490858e838881877b7f797c7e6f756e7d718b798b
+7f8f819208afb6a6ab9c9808fb47761588818a808b838b5fa673a1800847359c82ce
+e30599869b899f8ba78bba99b0aaa6a0a2a493ae8c918c908b908b98879586928395
+8192778b08768b737e787c73776f6b6a61859487978b9d8b9e8fa492ac08bff773f7
+048b94b2fb048baef72e4e77867805815f806f807c0885860577796d86728b088264
+d18b050efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4ccdff01403334
+15810a13d0820a0ef7507fa774b5f7ffb66baef75ba6a47712d7daf8b0da135ff8d4
+f94b15750675837b867888798765867c8b088772058a888d888e8c08ac8e05989282
+781f8b80897f877b0867fb33056ca3608e778b5f8b617d6272086d7605576069517a
+43867689788b788b649567a16ba467b27bbd8bb98bb59ab3ac087f5a9d8b05999698
+9697960813afa272ac7fb68bb18bae96a89aa0969d979c99c6b9b2c99dd98f9e8d9e
+8b9c8bb67eaf6fab0873a66d96688b6c8b6c8469797d837d817b7d083efbde159bce
+c1f77d059c989d96a0939e949f8ea08bad8b9f789a6d94758f748b768b738675897e
+7b4b715a6b65085d565687778b6c8b75987ca40885f7bc154bfba705135ff75b0a0e
+f74efb7da9f756b75faef807bd64ae12d8d9f8acd613cef834f7e4154bfbab056c78
+6788798b628b6c9d76aa829a81a18baf8b9f8ea292a897c1a2b7a4a8acb1ae99af8b
+08b58ba7719c5d08fb06fc831586798982808187888387788b087906868b88888986
+088675058bcc8dafb2cb898b1e90a1058d90878e878b0878067a8b848f878e8a8e89
+8e8b918b918c928d9708b3f7400513b6a17da883af8bc48bc0a2bfbabeb9adc79bd1
+088d07909e8c9d8b9c8bb381ac78aa08138e76ac6598688b788b69847782737f6c73
+736f0898c4058c908c908b8f081396928991841e818b848183800875700513ce71a9
+63995a8b5a8b5f7b626e465965457b45867789788b798b69936b9c6ea360b675ca8b
+08c48baf9f9e9808e0b715c4f78c059ca5a19fa2980813b6a19aa3929d8bad8b9b7c
+9873967790728b6f8b748873856f7b4a725b67696f726a7f648b087b8b688d72b308
+0ef71a8ca6f76cb201f807f78815f7108bacfb40058c878b888b87087475816d1e6f
+06868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e8006
+638b7b9e83b20845f7eef7b4f7d4588bfb8afba66df72a0586a584937b8b828b8182
+7c7208fbdefcb70577697678628b087f06868b88888a860887788d89058bcc8da41e
+948b5752be8bbec4cb898d8d8f9e0590888e871e6e8b818b05f7bcf7dd1599413a8b
+05c5f70d15fb00fb0d5c8b057a848f901f8b8e8c8d8d8f08f728f78d05fbaffc7215
+e7f72f0592969391a48b08af8bfb44fb588b8c058b928f948f92080ede7fb4f8e4b0
+01e1e5f869aa03f766f70615f812f86505af6b985b8f5408aa8f92f73905778b7b90
+7a9108f5f716598b2cfb07056f956794548bfb398bfb48fb2668fb59877589758b76
+8b4f9b51ac5d08fb09fb23be8be7f70505b761ca71e18beb8becbbdfe408769a0537
+3d426a2e8b438b5aad6ebe0879b31580ac86af8bb08ba38da490a4aef75ff731dfda
+8bb88bad84a67e080efb207fb7f80faa01e3dcf76cd503f73ef728158b928a938b93
+08f729e6e6d799b3846a1e8b85898288878b8b8b8a8a8a08f702f31553560578a26a
+9d568bfb078bfb16fb138bfb3a8b7891749575083034a570dfdb05a568b16fba8bf1
+8bc4cb9da7087a9a055f5652816f8b708b619779c608f76af7600590869488968b95
+8bab968bad8b938a93899308ccc9050e6189a870b2f7ccb7f773a81213b0ff00f74c
+cdf7f315ff0085ffff06988bff000db3349dff0002666697ff0001333491fffffd99
+9a93828b08ffff6fb3328bff0022199af74205ff00058000ff001c1998ff000f8000
+ff000de668b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e
+8608ad8805ff0026e666fffffc9998ff000ae667fffff33334fffffa3333ffffe233
+3408ffffde199afb42ffff8819998b05fffff4ffff8bfffff180007afffffd999a7f
+fffffe999984ff0002666683948b08ff008133338bffffca8000fba705fffffa999a
+6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82081370
+530a13b0540a13706fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccdfffff2
+4ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff0004cc
+cd080e7a89a8f8d7b2987712f906a913d0f7c2ff011a80001563ffff31800005856f
+7c7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff0003666680ff000c3334ff0005e666ff001e666608ff004e199a
+f825ff004c4cccf715ff0030999a8b05bf8b9a719c48958bff00084cccff00004ccc
+ff000bb334ff0004b3340813b0640a13d06afffffa8000fffff2ccccfffff88000ff
+ffdc33348b08ffffd180008bff00408000f701588bffffbf8000fb01ffff1380008b
+0513b0620a13d0a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5
+e668fffffb3334ffffe3199808ffffe1b334ffff63999afffeeb4cccfffe2c6666be
+8b050efb64fb3ba6f716acffffe5b333ff006a4ccdf7c3ac12c6df77cbdfd658dd13
+d6f74581159706edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813d591
+0a13dac067936a8b768b5463785e8b718b7d9088a10813ba88a27da96d8b6e8b8373
+8b808bffffe2ccccff001c8000ffffe2e667ff002de6667eff000e199afffff33333
+ff00034ccdffffe58000ff00089999ffffd7999a9758ff001d33346ab68ba38b9e91
+ff0016199a9708ff000c6666939496ff0001cccc95ff0001333492ffffffb33295ff
+fffc199a91fffffc199a918291848b848bfffff6800088fffff9e66685fffff7ccce
+84fffff8199880fffff9b3347efffffa333481fffffa199986818b08738bfffff066
+6698fffff14ccdd108fffffc4ccdff000f800089ff00103333fffffab333ff000f4c
+cd080efb2a8bb2f7f4b201f76af842156e8c958f1f778f4afb29a4860599ada6b497
+9497939b909f8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1ff7bd
+8bbef7177290057b6572617d847f847f88798b08fb358bf7caf7f005989995968c92
+8c8c8b8c8b8c0891858d831e0e238ba8f8fdb001f717f2f784d803f755d61589828a
+868984888285868386878882897c8a087706878b858a8a84088676058bcf8db6b5cc
+898b1e90a1058e8b8f841e77067c8c828d898e859189918c928b918c928d9408aef7
+2b0596b8a5abaca7aaa4aca0a9a4ada8aab395b88d968d978b958ba881a4789f6bb2
+599f428b08438b4d7461676d73786e826489868b858b878b7896809f8b9a8b9c8e9a
+959591979f8d94088c8f8b8f8b90089b078b9c8e9ea09aaaa2ab93b48ba68bba8098
+7b977a98758b6f8b838a83898283687d73736c08766f6460228b080eaa8aadf71ab7
+f713aef782ad70a712f886e313e4f774f76715a1f713e98b05f3c15a411f8b828a80
+8981804e5830fb2c8b478b7c8f8ba08b8f8b908c90089ceaf7198b05978b999d8d96
+088e07918991821efbedfb53158776f7158c05a88bba8ad38bf75b8bd5e49ae18d99
+8d998b988bd365bf359fc3a4bec195c28c948d968b950813ecc766cafb331e13f468
+8b508a6a8b0813ec6c2a8c8b1f8776058a878d88908b08a906ad9784771f8b868a86
+8a84084bfbff3e8b057f8b7e798980088707858e86911ee38b7a2e0585687d80638b
+086d06858986881ff79ff8bf1513f491ac918ee28bbd8bce7d8b3e8b828a8189817c
+36446a388b083b060e2285a9f80bb912f710d2f737da83d513e8f766f75415b2f739
+05b7abaf9aa48bc78b9a6e8b708b848a848986087f53655ffb3a66088af79115538b
+6d66705d089a84059ba59b9d9c8b938b90888f888c888c888b858b80877883670869
+fb2705857288738b778b808c828d829d45d585aa8bce8bf4bd99c60813f08c8e8b8f
+8b8e8b9d7f97778b6e8b7c77887e89848b838c888c878b86897f846d597a648b0876
+8b7b927e9b8099879f8ba08ba190a18e9808eea205f702a5d0b89edb0813e88d958c
+958b938bbf64ab488b678b6a816b770863738b8f05a281a6661e0e407fb5f80dae01
+f881a203f796a915488b51c8abf720aaf71bdfb4bd8bca8ba0629176084dfba20574
+776272678b08e997158a73996db18bc28bb2a29ee008740685737d67728b748b90a5
+99c808d5f7d3758b4f6d05759d6b97648b308bfb184366fb356dfb13d42de48bc98b
+c6b39b99080e567faef807bb01dfa203f7eaf82415ce8bc54e6bfb206cfb1b376259
+8b4c8b76b485a008c9f7a205a29fb4a4af8b082d7f158ca37da9658b548b64747836
+08a20691a399afa48ba28b86717d4e0841fbd3a18bc7a905a179ab7fb28be68bf718
+d3b0f735a9f71342e9328b4d8b50637b7d080e3c81a7f812b7f778ab12f831d948db
+13e8f731c315d0f7c005bfb2b9909d8bbc8bac5e8b468b788977867671fb06432d2d
+8b086c8b74997da30813f0f7e2f8cf158c8f8b8e8b8f8bad63ab468b6f8b73826a77
+4d656a4f732508fb03fc759d8b059b9696959797a272ac7fb58bee8bf71de0b1f738
+0813e88f9f8e9d8b9d8be651c5428b5a8b5b77606608a3f00594b194ad97a6a1c1af
+aaa58b0813f0a08b9b7c906d8e79907aa78b089f8b9c9990a0080efb4082aaf7fbc6
+01cdd0f751dd03f7acf84c15438b4affffcc80005b488e819584948bb2b7b3ff0020
+8000c08bff0010b3348bff0012e666fffffb999aff000e6666ffffed6666ff000ee6
+66ffffecccccff000a199affffec999a8bffffc3999a08fb2945333e7d6f90ac1e8b
+918d938e90ff0002999aff00044ccdff00026666ff000ab3338b91089b819b7a7072
+777264ff0003800052ff006c80001eb38bff00408000ff001a199aff00296666ff00
+2c6666ff0030b334ff00343333ff00216666ff004d80008bff0059cccd8bff002119
+9afffff98000b8ffffe88000ff0020e666ffffeb6666ff001ce666ffffdd3334ff00
+13199affffd766668b080efb1781c8f705a4f772a712dbe0f749e861a813f4f821f7
+2515ffffcb4ccdffff9e3334ffffd6b333ffffdbcccc1e7f8b7e8c818eff00334ccc
+c7ff002fb334bcb58b089a98877c1ffb54fb2f15ff0061b334ff007b4cccff004833
+33ff005bcccda47395721f578bffffc64cccffffc8b333ffffc5b334ffffb84ccd5f
+a18bce8bbc08ff005a199aff00398000ff0078e666ff005780001e13f8c2786a6e70
+8c73af1fa28ba59d90a48d908b918b9008c355a559ffff6e999affff926666ffff7d
+199affff66e6661e8bffffce199a9affffb49999c5716f6b6dffffdd4ccd706a08a0
+8705a8aba5aca6aa95879689988b080e7dfb50abf729b5f80aaef757a901d5daf749
+cb03f7def82d15ba8ba7789963084bfba7056d70697e678b658b4ba48bed8b9f8ea3
+91a69ddabcf0f08b08e8f79815846d059c8fa08e958b978b8f868b7f8b80887b8573
+0866fb35056ca3608e778b398bfb1d4f63fb41867889778b788b37b73ff08bba8bb5
+9ab2ac836686698b6c088b808b808d8191619f56c98be08bb5b892aa8c8f8b8e8b8e
+8b9b81957a8b708b7979817608817680776d8b7b8b7f958bb28ba691b69acc08f731
+f93b758b055a724b807989080e7f81b9f803aff775ad01dcdbf73bd903f7edf75615
+730ad7f79f157b3e8a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3
+c7e3088e89847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff0008
+8000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08
+def80005a5f705adceb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae54
+1f518b5b6e6b55796d78617a39080efb1081bbf806aa01ff0054999aff001d199aff
+001b1999ff00473333f72bff0047999a03ff01233334f82c15ffffb97ffffffff74c
+cdffffc7999a721f8b4aff004e3334ffffe16666ff003de66686ff0007999aff0023
+6666ff00034cccff001cccce8bff0017666608ff004c3332ffffdce666ff00123334
+ffffdb4cce1eff0034e666fb6515ffff5de666a0ffffd6cccda98bff004c4ccc08ff
+001de668ff0015b333ff0052ccccff00778000ff006f199aff00298000ffffb84ccc
+ffffaae6681e8bffffd21999fffff2e666ffffd01999fffff13334ffffd1999affff
+e54ccc375647258b3a8bffffda4ccdb4ffffea4ccdd8ff0009e66696ff0007333390
+978bff001c333351ff001480006fbb8bb88bff002f999aadaae808ff0001b334ff00
+053333ff0005ccccff0014cccdff0002999a93080efb1081aaf806bb01e7d1f75bde
+03f736c615f75f0af75af73f15f7600a0e7981aaf7a0c2c0bba77701d5d3f77bddd4
+bc03f80df7bc157f078b778872846c68fb2c3c685c8b718b69a58bb68b928b928d91
+9cd5f0c4f703c20883b115fb0d54fb294174268a868a848b838b679d51e78bf73d8b
+d5f71fa5f70190a08c9e8b9b8b9b8a99889708a79db2a0a1918581877b897d088307
+699c81981e9006a68fa39abfb608829d05737c7f8475880887067d87959a1f8b8e8b
+8e8c8d8daf9ca39fa7087e93055c624f69516e859784968395819966a8498b498b2c
+515d5808967d05bdb2c9afbb8ba98ba87ea270908690838f81080efb3385acf74ba6
+f73da812cfdb7dd1f72ed913ecf72af70d1598c2b5adc28b948bad86938ba18b9492
+8e9708900794828f7b1e858b5e868a8b678b6f978bb58b938d958d969acbbca1ab8b
+b28b93749276907a927ca18b08988ba39292a88b8d8c8e8b8e8bab5aa8438bfb0a8b
+573d826489838a828b848b6a9f77af7c08296e7c5385740813f489828a818b818b5d
+a75af7048bca8bc7a9b3a908839a055d705f7c5c8b588b70aa8bb4088b928b928d93
+080efb4287aaf746b0f736a912f7c5de60d013f0f815f70d15f7610a13e88d948c93
+8b938bce3f9d508b238b6060846e0884077a997d9d1ea28b999b999e9ba19ea2b18b
+b28ba4778b658b83898389817f536970548b798b7490818b087c8b7d85887f8a898b
+8a8b898b8095889b8b928ba5909e8b0813f0f7620a0e4a87aaf746b0f71cc56ba9b0
+7712f7c5de60d013ecf815f70d15f7610a13ea8d948c938b938ba87c9f7599a59faa
+a19f94888389808b800881078f699c80998b8f8b8e8b8e8ca694a09db9bc087f9b05
+757980827585888a888a898b7e8b85978a9c8a8f8b8e8b8e8ba997a29aa6087b9105
+60594e5e50640813da7790768d778b238b6060846e0884077a997d9d1ea28b999b99
+9e9ba19ea2b18bb28ba4778b658b83898389817f536970548b798b7490818b087c8b
+7d85887f8a898b8a8b898b8095889b8b928ba5909e8b0813ecf7620a0e3572caf725
+c3f721cd01cfaff7e1aa94b303f7f8f85215fb018bfb1b3f65fb388779897a8b7b8b
+fb01e244ec8bcb8bb398b3a6b0a3a2a695b48c928c938b91088bb173a95b9bd7a1ab
+b294b18d968d958b948ba780a0789d6ea56797498b082cfc2c15fb025cbed51f8b9a
+8d9b8f9b95baccf70ff7298beb8bba758b5f8b868b85898582646372497d66975d93
+768b086d8b798286770886077c9a84aa1eb48bb394a593c17ea6768b6e8b868a878a
+877b473f79398b080efb76fb7fa9f822b7f73aa90138d003f775f7f81570fb0b428b
+05808b7e7e877b89828f85948b08db8b6bfb1c0557fb7762685a8b788b82938b9908
+9207a1859a741e7c8b798585738a878b878b878b60c780a98ba98bb09caba5d2c7b1
+e9a6f70908a5f706cd8b05988b9a9d8e978d938991808b083f8ba7f70b0591a6909f
+b08b08a806928e908e1f90a1058b43885d60478e8b1e8675058a878c87918b08a906
+a192847d1f8b8489828981080e3cfb5dabf738b7f806aaf77cab12bbd958dbf89fd9
+13f6f781b215655fafd71f8b9c8d9e90a0a4f701d2e7ea8ba98ba27e99720849fbb4
+0557616289738b08f7029815836a056dfb176952388b0813fa5c8b7cb6879d889d86
+9a708b768b7a7d86768a878b888b888b5cdc69bf8bb18bb293b3a408cab0acc8a3f1
+08f4f85c0594b095ae96a6a1c1afaaa58ba28b997c906d8e79907aa78b9f8b9c9990
+a08c8f8b8e8b8f08ad63ab461e6f8b73826a774d656a507324087f5405769871926c
+8b2e8bfb213b65fb390813f6867989798b7b8b30c852d28bbc8bbb9fb6b0080e3cfb
+5dabf73bb7f802ab12bbd959db13e8f782b5155a6abace1f8b9b8d9d8f9da4f701d2
+e6ea8ba98ba27e99720849fbb0055f655985758b08f70198158367056dfb17695238
+8b0813f05c8b7cb6879d879d879a708b768b7a7d86768a878b888b888b5cdc69bf8b
+b18bb293b3a408cab0acc8a3f108eaf8327f8b057f8b75717e7a74a46a97608b2e8b
+fb213b65fb390813e88779897a8b7c8b2fca54d08bbb8bbb9fb6b0080e4f7faef72d
+a6f761ad01d1dcf7b3a603f81ff71715805605736a5d756a8b2d8b67da8bd98b9b8d
+9c8e9ba1f706efccc18bbe8bc5748b4d8b878a878b87088979a68ba5f71e05648b40
+966e8bfb138bfb0b2e6ffb22887c8a7d8b7c8b2acc3df7068bd78bc7a4bdc1089ce1
+058d948f91928f918ea48d8b8b8f8b928c8c92088fa0058b5b886d6c5b8e8b1e8775
+058a878c88908a089706a292847c1f8b8589838a82080e4efb4fb0f8bda901f718bc
+d0c803f759fb4f15d58babc5909f8d988c9c8b9c8bb785bd859f08f756f7c405a5b5
+9990a88d089206928b908e8c9008909f058b5f896f6a578d8b1e8675058a878b8890
+8a089b069b9389831f8b848580807808fb3bfb9782b468f76e0589948a938b91089a
+9294a51e9b068d8b8f8d8c910891a1058b4d896468558d8b1e8675058a868e88918b
+089206b4898b79906e08c2fbed513f057e7a7f7a86758a868b878b868b6da477b38b
+087dd4158f9c9ba3abb4088f810592778f788b7e8b878a888b888a878a868a868779
+7c7d798b798b81938b9c8b8e8c8f8c8f080efb348db0f801a401f716bdcfc903f757
+8d15d58babc5909f8d958d938b948b9d84a475cc08f70df72a059b9e9f9aa6900891
+a5055d8b74806a620827fb0f62f710057eb075984a8b088672059e889c818f7e08c5
+fb494f40057e7a807a85758a868b878b868b6da477b38b087dd4158f9c9ba3abb408
+8f800592788f788b7e8b878a888b888a878a868a8687797c7d7a8b788b82938b9b8b
+8f8b8f8c8f080e60fb6d76a5a8f741c7f7ddc712ff0081cccdda7aff0051ffff13f8
+f852f7f915ffffd9ccccfb3a054c394a50ffffdc00018b768b7d918baa8b998d9e93
+ad08ff0025fffff7340513f493ab94b48b9e8b9e8099ffffe200018b5b8b5e695d50
+8e829183998ba5a9ff001ce6669fff000a199a8bff000719998bff0002e667868b7f
+088b82867585710865fb330513f8fffff800016886748b798b4fa677b28bff0033cc
+cd8bff0034ccccff0014cccdff005b3334ff006ab33308ffffca3332ffff0f800005
+fffff18000ffffbf199afffff58000ffffd7e6668b8b8b848e88948ba695d398b48e
+088ea3058e8a8d871e6c8d057e8391a11f8b96ff0002199aff00113333ff0004e666
+ff0015cccd08ff00663334f860058f9fff0008b334a48bff0009cccc8bff0010b334
+fffff6e664ff000a8000ffffe033348b08658bff0001199a5ffffff7199a65080e61
+81c7f7ddc7f776ac12f7f1dd7adaffffb8999aff0054cccc13e8f80ff80f15f7630a
+13f0f70a0a13e893ae90a28b9d8bc7709f648bffffcb33348bffffcb4cccffffeb33
+34ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97a6a4c9b49d9c
+8b0813e4a28bff000b6666fffffa8000ff00043334ffffebe668ff00043332ffffe9
+b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00186668
+ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2199a7c
+ffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffffb0cccd
+fbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6b08b
+080e61fb7dacf76776f81ac6f776ac01ff01a9999aff004ee66603f811f81015ff00
+184cccff00144cceffffe9ccccffffb9999a1f8bffffbd199afffff04cccffff9833
+33ffffe8e666ffffa54ccdffffe98000ffffa7b334ffffe16668ffffb0b332ffffed
+e666ffffe3999afffff4e666ffffee999affffec8000fffff366667c8b7b8bfffffb
+cccdff0009cccdfffff89999ff000bb333fffff78000ff000bb333ffffece667ff00
+0fcccdffffece6668b08ffffe46667fffff68000787affffe9b333ff00186666ffff
+e84ccdcf1fb48bff0032ccccff001d8000ff00183334ff00218000ff0020999aff00
+2d199aff00224ccccfff0019999aff0054e666abff006a4ccd98ff00724ccd8bff00
+37199a8bff005d9998ffffe06666ff0029b334ffffd4199a8bffffc933348bffffcb
+4cccffffeb3334ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97
+a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffffebe668ff00043332
+ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00
+186668ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2
+199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffff
+b0cccdfbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff000919
+99fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddcc
+c6b28c080efba581c7f750b2f70aa79877f5eb12f70ddd82ff00558000ffffbf8000
+eb13daf7dcf7a915ffffb14ccd8bff0009ffffff002b33340594ff00271998ff000b
+3334ff002680008bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc
+8b0813ea6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b81
+8bfffff6e666fffffdb333fffff2199afffff94ccd6f08815f2c8b8b64ff0056199a
+8bffffe3e666fb0f0513dc846b81628b788b78967da98bbb8bb8adb9c6889485937d
+8b716d6e77818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a08ff001a4ccdf706ff0057b3338b0513c9fb05f7e0157d0a
+0efbc381ccf80c7701e3f74803f748c215f7640a0efba68aa8f80aa801aaf7ca03f7
+49f7fa1549fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2
+d0898b1e8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208cdf7b205
+92a7989bac8b089e06908b8f8e8c9008909e898d058b46896468478d8b1e89898778
+0589868e888f8b089e06a595827a1f8b868a858984080efba681c7f773b78fb9f7a8
+a8a57701f4da03ff0112b334f7d115fffff333328b80ff0004999afffff6199aff00
+06999a08c4ff00fecccc05ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffde6
+66ffffeeccccfffffb199affffea333408ffffd4199afb5905fffffbccccff000099
+9afffffb999aff00006666fffffb66668b608bffffe2e6676dffffe5ffff5008a286
+05ff0010b334ac9b9aa58bff00064ccd8bff00064ccdfffffe8000ff00061999ffff
+fd999a08ffffd3cccdffff39e66605fffff8e6666bfffff9199a698b788b78ff0004
+800072ff002580008bff002d33338bff00364ccdff00198000ff002d8000ff004b80
+00879586927e8b6d676b757f8b838b87918b93088b938e9a94b308ff0021999aff00
+96666605ff00074cccfffffd3334ff0007cccdfffffe6666ff0008199a8bff002dff
+ff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe66881
+758b080efb5f81c7f77baddca9f76da8a57701f74bda03ff00ee999af7cf1550065b
+8b719eff00063333a8ff00051999a3ff0015e66794a38bc28bff000d666659ff0007
+66676c08f73516ffffac80008bff003be666f7a005ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd3cccdffff
+39cccc05fffff23334ff00213334ffffe7e666a7ffffcc4ccd8b758bffffceb33377
+fffff7199a61fffff2cccd4dff0021999976e58b08ff0028b3348bffffdbe666fb36
+05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d3334
+8bff00364cccff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b83
+8b87918b93088b938e9a94b308ff00226666f72edf8b050efb95fb5eabf9c1a801ff
+004ae666ff004b800003f74cf71315fffff58000ffffd0e666ffffe8e666238bffff
+b7b3348bffffda9999ff0004b334ffffdbcccdff0012e6668b9e8b989f949a939b96
+9ba38b0899ff000c80007c7cffffcee666ffffb24ccdffffec199affffd93333ffff
+b9199affffe9ccccff00266666ff0044cccd1f8bff003acccdff00103334ff0053b3
+33ff000fe666ff00474ccd08eef85005ff0004e666ff0015ccccff0002199aff0011
+33348b9608a183917e1e6c8d05878a8d8e1f8ea305b48ed398a695948b8e888b848b
+8bfffff58000ffffd7e668fffff18000ffffbf1998080e5efb74a8f756a8f7ffb2f7
+68a9a57701f831d803f703d315856e7e7c698b087406868b87888a860887788c8905
+8bd48daeb2d4898b1e8d8d909e058c90888e868b0874067182949d1f8b908c908c92
+08ccf7ae05a3aaa191a08b08f7228bfb73fbb105a2909f8d9d8bce8bbb5a8b4a8b81
+8a80888070fb09295e598b638b74a284a284a07c91748b08768b7f7d887b8a898b89
+8b898b6cbe68e18bf7248beeeba1eb8f9d8d9c8b9b8bd75abc2c9308f74df7800594
+9891958c918c8c8b8c8b8c0892858e7b1efb7a067e8b858d8d948c8c8b8d8c8e0883
+8cc5f78e758b0575827b877887798865857c8b088772058a888d898e8b08958ca28e
+05989182771f8b818a7e877b080ef75b7dbbf804a801f700da03f786f7fa1592a797
+9bad8b089e06908b8e8e8d90088f9e8a8d058b46896864478d8b1e88898778058b8a
+8a8b8b8a08878e898f1e9e06a59482791f8b868a858a85085bfb6605857286708b73
+8b5b9c64c58bc18bc3a8d2c78b639f5bc28bc98bc0b2c5bc0874339c8b05928b938e
+9691aa989990cd95088da70579877f8a7e8b818b858e8b9a8b928c948d9608c9f79f
+0592a7989bac8b089e06908b8f8e8c90088f9e8a8d058b47896764478d8b1e898986
+78058a868e88908b089e06a49582791f8b868a8589850852fb8c05515a6370688b78
+8b73988bbc8b9a8d9d90a108bbf7630591a7989bad8b089e06908b8e8e8d90088f9e
+8a8d058b46896863488d8b1e888987780589868f888f8b089e06a59482791f8b868a
+858a85085bfb6505877c887e8a7e4f576674638b7c8b6f958bc18b998d9d90a0080e
+f756fb6776b0a8f727b8f812a601f703d803f946fb571592a80581897787808b828b
+848e8b958b949cdab6f74e08c4f78a0593ad8f97b08c089c068f8c8e8d8c9008909e
+888b05828b3889888b818b368d878b08898b8677058a878e88908b089b06a38a9386
+8b7d8b848983887f084dfba005676d6569538b6b8b80a88bae8b9b8d9d8f9d08bdf7
+6c0593ae9096af8c089d068f8c8d8d8d9008909e888b05818b3889888b818b368d87
+8b08898b8677058a878e88908b089b069f8a96898b788b858a838980084dfb9d0548
+485588778b6e8b829f8bab8ba08fa592a708bbf7640593ad8f97b08c089b8b8c8b05
+8f8c8e8d8c9008909e898b05818b3889888b818b368d878b08898b867705878d8890
+1e9b06a38a93868b7d8b848983887f085afb6905846c866f8b738b57a16bc78ba28b
+d192dad48e6e9c5ac48bc88bd3b5afa90849fbb3a18b05ac9ebc97b491080ef756fb
+79a6f75ba5f7f7a88ab712f83bc0f75ad813dcf72ff81415978f86801f8b83898188
+7d084dfb9f05856e867c668a08798a05878b89898987088777059e8bd08d958b988b
+dc89928b088fa0058c91868a898b087b8c05738c83908b9a8b928d938d9608c9f7a0
+05b0abb3abc18bab8b966f8b688b7b887987790859fb6e8a8705877a89827c808888
+828a7d8a08798a05878b88898a87088677f75c8b8fa0058c91868a898b087b8c0573
+8c83908b9a8b918d948d9608c9f79d05aeafb8adc58ba98b96798b6a8b768672856d
+0855fb7c057427753171697c797f847f8b7a8b86928a93889d7d91858b7d8b7f8087
+7d08860778a37ab91eaf8baa98a3a2bab5a0caadf72508bff7770591a692a98ba68b
+b879b0498b488b53695c5f86c16ba1608b4e8b3d5c6f73089bce758b0513ec65765c
+80648608856e05958d9e8f978b080e60fb79a6f75ba5f7f7a88ab51232bdf86fd513
+dc7efb5e15778b86948a93889d838f818b7e8b7f84887c8a898b8a8b898b799d76be
+8bae8ba797a49f08c8bd9edf9bcc08d9f7e8059393c2c3d58bac8ba37f8b5b8b7d88
+7886750858fb700583688780678a08798a05878b88898a87088677059f8bd08d948b
+988bdd89928b088e9b058d91888f878b087b8c05758c818e8b9d8b918c938e9608bd
+f76e0591a28da08b9c8bdc579c638b0813ec4f8b5474565c089bcd758b056a785a7f
+618508856e05958d9e8f978b958b8e828b7e8b7f887b887a0842fbcf0567fb2f6a5a
+6a8b080e25ffff1b4ccdff00353333ff00ba800076f819c75fa712f73aff00588000
+ff00374ccccdff001d3334da13eeff01f4e666ffff3f999a15ff00153333ffffe94c
+ceff000b1999ffffed99981effffeae6688bfffff38000fffff0999afffff199988b
+768b7cff0018199a8bff002cb3338bff00103333ff00023334ff0013999aff00054c
+ccff0017e666ff000fe668d3ff0017e666ff00446666ff0016e666ff005a999a08a4
+ee05ff0008ccccaeff00043334a28b9d8bc7709f648b578b60762ffb00088a8c05ff
+0009999aff00288000ff000ee666b98bff001166668bff000db334fffff8b333ff00
+076666fffff2cccd8b0813de6b8b5c855c84fffff94ccd83ff0001b33380918208b3
+8805978a90828b818bfffff6e66689fffff2199a856f08ffffc7cccdfb8d05fffffb
+333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff001f
+cccd8bb18b8ab7ff0008e666b108ff0026199af73a0513eecaddc2c6af8ba08b9986
+8b6c8b7dfffff6e666ffffdbe66686ffffecb33408ffffc1999affff0ce66605ffff
+f46666ffffd13333fffff8e666ffffd64ccd8bffffdd33338bffffbe6667ff001366
+68ffffdd6666ff00304cccffffe780009efffff66666ff002c199afffffe6667ff00
+10b3328b08ff0015b334ff0015e666ff000c1999ff001833341f0e8c987693a2f810
+a5121360d4a2156d06858b89888a87088778058bc68eb0b1c6898b1e8f9d058d9186
+8d878b086e0675838f9a1f8b928d938d9608c7f7990513a0f73efbd105927d97849b
+8b998b9494909f08d8f7e40594b09292ab8c08a806918b8d8f8d8f088f9e058b4f88
+6566518e8b1e867805888a87921ea906a28a93858b7d8b84898389810850fb94fb48
+f7dcfb0f8b8778058a878d898f8a088c8ba98b05a28a92868b7d8b85898389800849
+fbb505846e877b668a080e3d81aef748b2f73aac01d7e1f798dc03f80db315c1b6bc
+cc9bcf8fa08ea08b9e8bb082ad79aa72b660a04a8b588b5e7c606c4c5d61437b4708
+877888798b7a8b64966a9f6da660b275cb8bbb8bc6a2aca608aaf7cf15927a92728b
+668b828b7f898008fb8e0695b398b5a7aca9b0af99b18bc38b9f6792780892fb2a15
+89848a848984846d7f5f706c6762687e6c8b6c8b639f7ab883a187a98ba98b968b96
+8c96080ed989b660aef731b8f72cb669ac12d5e3f8749f1366def76815857088738b
+7708fb19f70481a61ef80c8b8e8b8b8dbdf725788c0513b67253695a5b8b08fb248b
+aef729ca8b05a994887c1f8b868a85898408887da48badf726728b887d058575867c
+608b084c8baef72bf71f8c05a28ba5858d44089f8d9bf70a888b05136efbd78a0524
+8bfb174868fb2a08f7b4f7261548fbb505877a867e84850873063f71d5d01f8ba08d
+9f8f9dacf720d5a0ba8b08ba068f878d868b858b8589848981080ef72c79aff786b1
+f70aa201ced5f775a1b1aaf758d803f8f4f830156a9d4a94508b598b4b7e697d3968
+fb0a3d70fb08857288768b798b6795719d73a568ad7bc28b08cd8bc7adb5cf973cbb
+74bf8bc68bb79bb4aeb9b1a5b79dd48f9e8d9b8b9b8bed3fbd5da408fbb57715a597
+c397bf8bb68bc978a675b36ca7648b528b7a897a867870fb0b56513a8b538b70b187
+d0089ea99bab98ad8f948d938d938d938c928b928b9e8196758b718b797783658985
+8a858a8308897e8a7d8b7d8b7a8c798e7866435e68568b458b73b48bc48ba18fa491
+a5a7f70dddc1c5a708f3fb35158a8489848882857b837881740886818b95058ba28d
+9d8d9d8c928d918c9090a29295948b918b8e868b848b868a858985080ea2fb5ca8f7
+38aaf814abf75ea9a57701ded5f808d303f799a3156a9144a28bef8b9d8da091a2a9
+f71be3bace96087dfc1415e3f81205ce7cb1688b448b7788748572826563fb19fb1b
+7508f797f753158f9d8d9c8b9b8bf13ac9339408c6f797758b0558774e857b8b0887
+7205888c898f1eac8f05979281781f8b81897e887b086bfb1e054e88fb3f4d67fb32
+887d88798b768b46a930f72180086ffb0c05846f7f7b698b087806868b8888898608
+87788d89058bce8dafb2d0898b1e8c8d909e058c90888e878b0877067281949d1f8b
+908c918d9108a7f70c05f7159af703eba5f703080efb6181d155a7f8297712ff006e
+8000ff005280001370f71cf72415fffff7b333ffffdccccd05fffff74cccffffd933
+34fffff78000ffffdd33338bffffeee6678bfffff09999ff00084ccdfffff64ccdff
+000d33338bab8bb492ba91ff0006b33493fffffe4ccc96859408638e057f8c85948b
+958bff0009199a8bff000de66692a708ff00373333f78d05ff0004ccccff00158000
+ff0007e666ff001180008bff000fcccc8bff0010b334fffff7199aff000a80006e8b
+688b8a60fffff6199a6408ffffe2e666fb090513b05b34532e748b818b8690859284
+937e987d8b0870796e70769a71b01fbd8bc5c9b7e8080efb4d7cc4f8c0a801f83df8
+be1591a7989bad8b089e06908b8e8e8d90088f9e898d058b478968643c8d8b1e8989
+87780589868f888f8b08a806a59582791f8b868a868984082afc3605887d837f8382
+65626b79798b838b828c8798879c7a93748b708b757185748b888a888b880874a17c
+af1ebf8bd4c4a9ab088e8b722e9c8b05928b948f9690ab989890cd96088ca6057987
+7f8a7e8b818b858e8b9a8b918c948e97080efb17fb42b2f712aff80ea4019debe9c9
+03f835f829159d06918b8d8f8c8d08909f058b4e8a64624c8c8b1e8778058985908a
+8f8b089b06a48a92838b7d8b84898389800853fb84056f60585d728b868b798a8f9b
+8c8d8b8f8b8f8b9a85a36e8b6e8b7377856e8a888a888b8708789975c01ead8ba496
+a8a29b96a7a4969b08877705805c86658b6c8b36af6db48bc58bc89a96b8088f0798
+809c751e758b7d7b827b87807d7f7c8b748b80908ba88ba494b69bd508d4f7cf0591
+a58ea0b38d080efb4dfb5aa8f8c1c301c8fb1115846f7e7b698b087806868b88888a
+860886788d89058bcf8dafb2d9898b1e8d8d909e058c90888e868b086e067281949d
+1f8b908c918c9108ecf836058e9993979394b1b5ab9d9d8b938b94898f7f8f799c83
+a38ba58ba2a590a28b8e8c8e8b8e08a1759b671e578b42526d6b08898ba3e87a8b05
+848b83877f866b7e7f864981088a6f059c8f988c988b948b91888b7c8b858a82887f
+080efb57fb56b3f8a8aa8caf01dccdf764ea03f72cf81515978f83801f8b858a858a
+850847fbba05815c845f8b658b44a35bd48baa8bdba295b88b8e8c8e8b8d8b978394
+788b748b7c7a827808857f7c827a8b6f8b7e9a8bb38ba992b89ac908cdf7b105a1ad
+c2c0a58b958b9689887e8b888a888b868b7c9276a78ba78ba39e91a78c8f8c8e8b8f
+08a57099641e408b4c388888089fe1768b05727e6e7d3d8108856c05968f9d8e9e8b
+080efb698ba5f809af01f7e7d903f747d315aef72c05b0f7319c9db98b089d92797f
+7b9179a61f998ba5a0909e089207b0499b6e1e708b737f6e79506370467733086bfb
+1c05867483746c8b086f06858887881f8778058bcd8eb5b4ca888b1e909e058c8e8a
+8f858b087006768492981f8b928d948d95080efb718ba5f809af01f794cb03f75bd3
+15836b857d6c8b086f06868b89878a88088678058bcc8eb3b6cc888b1e909e058e8b
+8f841e7006768595991f8b928c928d9308abf71c0594b491af8bab8bb083a975a077
+9d7897708b6c8b397981618b898a888b898b7b997a988b08a48b9998959f90979b9e
+9d8ba68b99858b668b7184627c4a080efb0c7fa180a8f730aaf755a112f81dcd1338
+f81bf7c61581646157438b08558bb5f74b059b8f9a8c988bd58b9f638b68088b838a
+848a84081378fbecfbaa15878b85898a88088673058bc58db0abbd898b1e8fa2058c
+8f8a8d878b738b83908b998b918c948e9408a5f705d78b97fb030513b89251a670c0
+8b968b958b978c088fa0056e8b78a985b80880f70205a393ccb899c38d978c968b95
+08d4489f511efb5c8b8778058a898c8a8e8b08a4069a8a90878b818b878a868a8508
+44fbc705836a87815d8b080efb1d8aa1f755aaf736a101f7e2ce03f7a6f82b159106
+8f8b8e8d8c8f088f9b3888318e877a058a888c898f8b089206a08997898b778b848a
+8489800844fbc80586758684758b087206888b8a898a8a088878f75c8b05cf8be2a4
+a2f08d928c928b928ba3819f7ba082977c91868f08caf70305a6b8a89fa98b08909f
+057f8c818b818b558b677c694f084bfb0305878b778c878b085c8ba4f7050591a48f
+a0ad8e08c6fbb0157c4e5466498b7d8b7d8d7d8e08b5f74cc18b05ca9f64691f8b85
+8b848a86080efb63fb48aff71aa7f820a901a3b691a39fcff6d68fa303defb4815c1
+8bcbb594b68c8e8b8d8b8d8b9684947e8b7c8b787e877986767373728b748b829e8b
+a6088b9c8fa190a30894b0058c8a8d8b8d8aa385a987af8bc38bf3a4a2ee8e958c94
+8b948bc854a74baa629f75978ba8088b908b908d9198c4bb9db28ba18bc48090fb00
+08a38c9af70d057b96599b588b3b8b3f587b46887f8a808b828b5baf79c370c86fa1
+718b6a8b858b8489840880595173658b668b709d8396869188928893088c8f898b05
+8898899a8b988b978c958d9308738a76fb04773105867688778b7b8b659a72b78b08
+0efb95fb6ab1f9e6ad01f83ccf0350fb0615788b7b7a887b8a878a888b878b68b776
+b28b9a8ba28cb4a8d2bca0dca3f608eff84305a1ebabe9c58b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b086f8b6e816c76435b763c7324
+0825fc520568fb2a6370758b758b899a899a899c899a728b080efb95fb6ab1f806b7
+f848ad0150fb0615788b7b7a887b8a878a888b878b68b776b28bf71a8bb0f737a3f3
+08acf721d28b05978b9b9f8d978d94898e808b083b8bc4f78a05a1ebabe9c58bbc8b
+6b48b88b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b6f8b6e816c7608435b763d73
+23085bfb65428b057f8b7d7e887b89828f85948b08dc8b5ffb550569fb26646c758b
+5e8bafc95b8b080efb95fb6ab1f9e6ad01f0cfd7cf03f7b7f853159acb92bc8bab8b
+948b928a9187a6819f7a9b76a07295708b748b78887a8578837d827f810880828480
+89818a878b888b898b848d858f8790849189938b089206998e9493929698a1989999
+90928e908c8f8b9f8b997a94698c878b878b858b7485627d4e0827fc43057a42845b
+8b6b8b838c848c8590709576997c9c799e819e8a8f8a8e8b8f8b9b8b9a8e9a9008a0
+949a949594969591958e96088c078d95899386918692858d838b0884067e88808585
+7e7d6f7c7f7a8b0889067e8c819984ab8a8f8a8f8b928ba292b197c18c8e8b8e8c8d
+08eff843058c8e8b8d8b8d080efb95fb5aa0f9e7ad013ba6f871cf03f880f916158c
+8d8b8e8b8e8ba571ab488b6f8b6e816c76435b763d73230826fc4b0587788a898b8b
+fb1d4f725e85708a878b868b878b6caa82a78bc48be0afb9f736baa27781b19c0888
+9c0578857d84738108f6f860059cd79bb8969da5ada19c9f8b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f08fcb4fda21595b6dbb3bca308877c0574285d6d6f8b838b6c
+928ba28b8d8c8d8b8e080efb978bb3f7edc301f777dc03f733b3152c06818b7d8788
+81088777058a878d89908b08f7028b68fb2ec99f8f9e059dd9a4b0d18b0895b3458b
+d0f7c1058f9a8d998b968bb6749c668b598b5b6e686408977c059d98aa99a88b9a8b
+92818b778b7c87778571080efb9afb76baf8ceb201d4ccb5d503f78efb11155d8b9d
+555a8b748b7f918baa8ba493b59bd008e7f821f7048b94b2fb048baef72e4e778678
+05815f806f807c77756985708b088264d18b2dfc2705826287698b708b30b876b68b
+cb8bbca395b7088f07987d9b771e0e6480b88da6f743b2f713a601f703da03f8c3f7
+a9154f8b9cd89fd8058b7a89746f448d8b1e898886748c89058f8b958c918ba58b93
+838b7a8b8389828980087a41fb598b9cd79ed9058b74897d6a498d8b1e878886738d
+8a05928b918c8f8ba68b94828b798b8589838982087a3e498b8264cd8b71fb050587
+7c897c8b7c8b59a562db8bb38bbd9ad0c6087743a38b05a69fc298c99708a6078289
+6a847f8b7f8b87908b978b968e9a90a208a7f70ac78b05fb1b166cfb1b057e7f777c
+6f79737c7482738b718b67968bc28b968c988f9a08a2ee050e587eb1f801b801c8d9
+f7c0d603f82bf82b157d4e059d6bac5b8b4b8b7d8a7d877d856f6220fb228b438b63
+b78bc78b968d978e97a2f0efca929d089ac8058c918c8f8b8f0897848d7f1efb118b
+662f9c8b059cb7938eb88b08c68b8778055760fb05367738877b8a7b8b7d8b3ec159
+f7108bf7138bf70dc0a6f70c8d928c948b9308e035f18a1e909ec68b05b29589711f
+8b868a858b83089d8b8fe7fb1b8b05828b83848676080e437bbaf7e4d553bf12f709
+d4f7bbb813d8f898f78d1594b290ac8ba78bc676ac5c8b708b797887798a888b888b
+888b74a387948aa0879e7b8b5c088b7a8876867274293bfb00338b468b70b38bbf8b
+998d998e99a2ecacbe9dd78d918b908b900813b8a07f96781e648b4d72747a088d77
+058bac95991e13d89893857f1f8b888a878a8780596d51793a867788788b798b45b3
+53f7098b08e68bf703e6b3f742080e458ba8f8307701f73da7156e7f90961f8b8c8b
+8d8c8d8c929194929708f71ff76ea9ba8f59affb6e058e7e8c8289848a818185768b
+087a06898b84898a850887778e8a058bc88cb3acc08a8b1e8e8c909f058c90878e85
+8b0880066e8b849885ad0853f7ed05899885927f8b808b8284817c08fb6cfbe60571
+6178816f89088406858b85888a860887798d8a058bb48ca6b0c38a8b1e908c8f9f05
+8c8e898f868b080ef7458ba7f8327701f8b2a01587788d89058bc08cb9b7b98a8b1e
+8e8c8f9f058c90858d878b088306688b889384b30853f7ee0588998391828b818b81
+84827c08fb32fb8c61f78e0589998391828b828b8184827d08fb6bfbe6057365757a
+6d8b088406868b85898a860887778c8a058bb38cadb1cc8a8b1e8e8c8f9f058c8e88
+8f878b087b066e8194981f8b8d8b8e8c8e8d928e93909208f71ef76ca8ba8f59affb
+6f058d818c848b848b888b898a8889818187778b087906868b86888a870887778d8a
+ef8c05aec28a8b1f8e8c8f9f058c90878d878b088306698b879383b30883b9f704f7
+42a8ba8f58b0fb6e058d7e8c818a8488828384758b087c06868b86888a87080e578b
+a8f8c6c201f7c0a01587798c88058bd48dbaa9bb898b1e8e8e8f9e058c8f888e858b
+0884066a8b7f9b889b084bf806b5ce05afc3a4b0a48b968b9184918191839585958b
+9b8ba69492a98c8e8b8e8b8e8ba86b947a8b08408b59455d4408fbadfc3e05776c7a
+786a8b088406848b86888a860887788d89058bb48da7aec1898b1e8e8e8f9e058c8e
+878f868b087b06788590921f8b8c8c8d8b8d8c91959b929608f73df796b9fb9b058e
+808a808a8388818487778a087906878b83888a86080e308ba0f819a101f7b9d015a3
+f1f71cf753059fa69a9eb28d089f06908f8d8f1f8f9b3488318e877a058a888c898d
+8b08a9069b8a94898b830888078984807b848008fb06fb2f5ef72f05889389968b93
+0890078e949990a08c08a98c058d8b8c8d8c8e088f9bfb0689228d877b05888d8990
+1e978a05b18a8f81966708c9fb5f76310582648483688a086e06878b898a8a870887
+7bf7038df706898e9b058c8e8a8d888b086d06748c828f8b9c8b918c948d96080efb
+2afb53aef730b2f7f0b201f79db803f7c5fb4f159488968a958bb68bbca39cac8d90
+8d8f8b8f8b948693828d898c898b888b7f8b7a84847c08827a757b778b878b888c88
+8c7d8f85958b9a8ba197aa9dad089db18e8ba2bd939b8a8babd37390057d6e7d757d
+7c088a8a0574717580778b08fb328bf7c7f7ec05989996998c918b8e8c8d8b8d8b8c
+8b8c8a8c878d898c848b888b748a728808fb58067d8b858d8e958b8c8b8d8c8d0875
+9048fb2da48705b1dfab97aa8b08f7208bfbd1fbf705838186848b8608859287a41e
+f78e8b7158057b6a806e8b738b739679a883080efb188bb2e5acf779b201f820aa03
+f81fe815836b6475558b084b069ea7b2c9ca8bae8b957c8b7d8b898a888b8908fb52
+2e15c706e28bc7b198c38c928c908b918bb26796758b678b687c7177767b70697265
+08498bf7caf7f005989995968c928c8c8b8c8b8c0891858d831efb84066e8c958f1f
+778f4afb29a4860599ada6b4979497939b909f8b08f7228bfbd4fbfb05848286878a
+85088b8a8a8a829b899c1ff506736576637b6608a9840598afa2b7a5b5080efb1bfb
+7dacf7d9adf757c55ad712a4d88ba6f740df13e6f780f73315f74f0a13d6f7500a13
+eaf7510a0efb12fb76a3f746a2f819b512a6a3f79ba282d313f0f7b1fb091569534f
+6e4e8b618b66aa8bb48b908c918c9197bbbcb4bc8b08ca8bb161a0580899a91572b9
+5db34f8b4d8b4d597d4d89838a848b848b56b965c08bc48bc7a1bfb20813f8965e91
+548d5c08a298058abd83c480b9929191919092aaae9eb194b40813f48f9e8d9c8b9c
+8bac82a7799f75a46c98658d08f733f77705999593978d978b8c8c8b8b8c088f868d
+841efb8406748b808d8a8e08798b5ffb0aa08b059bb399a19a90948e978c9a8b08f7
+2b8bfb59fba505a2909f8d9c8baf8ba4819a78987b91768b708b7c897a8779857284
+758178080efb458ba8f8fba712f728e146d2f748d513d8f709a8157906878b868a89
+84088676058bcb8db4b2c7898b1e90a1058e8b8f851e7906728c84928b988b928d94
+8d9508b6f74f05a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d7736
+0813e8f7650a13d88c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b608b80
+8a8188807220fb2a666afb200864fb3c8b8805846f877e6689080efb458ba8f8fbb2
+12f71ed591dbeee341d913f4f76bf8a315f7660a13f8f7670a13f48d968d958b958b
+cf53b63f8b288b30477429877b897d8b7e8b2edb6c8b358b7f8a7f887e0868fb2b05
+846d877c6589087906848b8a878988088675058bc98db2b3ca898b1e90a0058d9286
+8c888b087806738c84928b978b928d938d9608b2f73c058e9a8d988b998beb35b58b
+d9088b938c948d94080efb4574b2f8eda812bbd941e3eeda91d513ecf7d5f7191582
+62736e75757b7b7282768b6a8b74997ca1869389938b930813dc8ba199a08b9b8b8f
+8a90888e82968090808b768b727b846f0813ec88808a818b818b47c360d68bef8be6
+cea2ee8e9b8d998b988be83bab8be08b968d978e9908aaf71d0592a98f9ab18d089e
+06918b8d8f8c8e0890a1058b4e8964624c8d8b1e8676058a848f8a8f8b089d06a48a
+92858b7e8b84898388800868fb2e05877c8a7d8b7e8b2be0618b3d088b828a838982
+080e7efb7ddaf895d501b2d503b97e15867789778b798b2fc445f7068bf7028bdede
+c2cc08739f0548545b69418b278b6bbc8bb98b938c948d9308c9f7a2059bced3c3e6
+8be88bb458a46508a4990562ec5dbf358b448b59705d6661695f557c4d080ef71a7f
+adf78ef701f786ad01ede9f740f704f747e803f82cf7a415a98ba9a491a88c8f8c8f
+8b8f8ba3779e748b6d8b6d70846f8a878a878b878b759b77a78b08d2f7f315f1d547
+fb1c1f8b6b8766826362fb47fb06fb01fb068b208b41d68bf7178ba98fac93afbbf7
+66f716e1ec8b08f797fbba1592a88ea78ba58bf72a20eafb228bfb478bfb3bfb2b5e
+fb58856d876e8b718bfb27f031f7268bf7538bf72ff721baf75c080efb178ba7f752
+a5f72eab12f802cc62d013e8f76cf78815aef72c05988da58ba18bb38bb1818b608b
+848b84898381636464518b08447115e50613f0aeaa6b611f8b848a848a84793f5d73
+3d8b778b788d7b8e08fb186e15d98dba8af68b05c68bdca8a0e88d928c938b928bb7
+69a96696a192ccb895b50813e88c938c938b9208bc65ae4a1e298b5d8a3c8d898985
+7505898d888e1ea2069b9087821f8b878a8589840841fbd40587768a89728a087206
+898b8a8a8a89088573050e3f72cef721c2f726c901ccb196a9f7e2ac03f85aec15a1
+a69fbc94b68f9c8d9e8b9e8b9e899d879678c255d3238b4b8b637f63706672767082
+620889838a838b848b66a26eba7b40766c638266887f8a808b818b7094779e7aa770
+b07fcd8b08f70b8bd5d9b0b7089df75f158f838d7e8b7b8b7b89798679846d725e72
+735d61606f3c8b2b8b5ca08bb78b918c918c910894b2b3a3cd99a483a685a888948a
+928a928ba98b9d93909f089107997c926d1e78066f896d856c83559771a08ba98b8f
+8b8f8c909bcfd79ddd8bf7008ba75a9c68080e3b83aef72eacf758adebcb01c4dcf7
+b7a603f911f8f015568b335f6e23088a06887e8379828b778b6e9e578bfb138bfb0f
+2c6afb228879897a8b7b8b2ec944f7038bd78bc8a5bfc0089fe2058d938f91938f91
+8fa48c8b8b8f8b928d8d910891a7058b5b886c6d5b8e8b1e846e058a878c88908b08
+9706a192847d1f8b8489838981087f5705726a5c74698b308b69d28bd58b9e8d9e90
+9ea5f706f2cec18bbd8bc2758b4f8b868b868a8508887aa68baff72f05909e98a79a
+9c9f9f9a919b8b9c8b9b849a8ba18b9a9c8f9b8c8e8b8f8b8d8b9c8097798b080e88
+8aa8f74cadf730a801f74ef7f7154afbac0582658483678a087106888b89898a8808
+86758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b1f8b928c948e9608
+aaf71df7618b6bfb1e0582648584678b087606878b89898a870886768d89ec8df705
+898c8d90a0058c8e8a8e878b08710672828e9b1f8b918d948e9708cbf7ac0595b493
+92ad8b08a4068f8b8e8d8c8e088fa18a8dfb05892a8d89898675058a878d8a8e8b08
+a006a494867b1f8b858982887f0872fb00fb608ba4f7010595b39392ad8b089f068f
+8b8d8d8c8f0890a08a8dfb0088248e8a89857505878c8a8f1ea506a493867b1f8b85
+8a828980080efbc0fb3da0f8a0aaf704ee0160a6f78cf003f79ed71579847c847482
+8c8f8c908c9008e2f80d758b058085778171846580708a828908846c059c8fa08e95
+8b948b91878d820885078b858a82887e0845fbbf05887e8c888a8a8b8a8b8b89885c
+76295b78588a8789878a878b868a878b878b769a7ea28708938a928a928bce8bbbbc
+a2af9fa99db696b3baa27881b19c0866f891158a878b888b878b828e839084938295
+86998b988b98909795979492978e988c8f8b8f8b8e088b9489938691839581917e8b
+7d8b7e857f817f82847f877e08fb71fd5e157c8f7e948b9a8b8d8c8d8b8e8c8d8b8d
+8c8d9ab4dfb4b29e8a8689858a87857083747e73087a6d7172708b878b888c868c08
+0e69fb6d76a5a8f741d2ebff0022b333ff00c34ccdbf01ff02173334f7f915ff0004
+cccc9fff0007e668a48bff0009cccc8bff0010b334fffff6e664ff000a8000ffffe0
+33348b658b8b5efffff8199a6608ffffdbe666fb3605838884ffffffb333fffff899
+9a8bfffff866668b84ff00074ccd869479ab80ff0032ccccffffeb999aff002d3334
+ffffdf6666d372aa628b698b686c6b5392838f86968b089fa8a09e968bff0013199a
+8bff00068000ffffee6666ff000a6666ffffeb999aa7549864996fff000fb334ffff
+e0999aff00064cccfffff26666ac82088b87575d055a5f7079778b718b8f99698b08
+7d6b786c6fa184a61fab8bc8b1d3cb08b3ff00224ccd059cff000eb334a09ba08b08
+49fbac057c4a81638b8b8b848e88948ba695d398b48e088ea3058e8a8d871e6c8d05
+7e8391a11f8b968d9c90a1080efb128bb561a5f80da6121360cea5156d06878b888a
+8985088678f7fb8bb3f71d748b0513a07f7573424b8b08fb088bd3f7d00593ac9297
+ac8b08a8068d8b928d8c91088f9e058b47885f5f488e8b1e8678058a868e88908b08
+a806a392847d1f8b84898489810849fbb305836c887f6689080e7ffb7ea8f756b7f8
+09adf763ab01d7da03f7ddf82a15b48ba6719d5e084afbad056c786889798b628b6d
+9c76ab829981a18bb08b9e8da392a7a3f3c8d7db8b08f83cf759158c8e8b8e8b8f8b
+ad63ab478b6e8b73826a77425e7c5666fb1d729c6b93658bfb0b8b20246cfb170887
+7788788b798b68946c9b6ea45fb576cb8bc38bae9e9e980862fb4705846d877c6489
+087a06848b89878a88088675058bc98db2b3c9898b1e90a0058d91868d888b087906
+748c838f8b9b8b918c948d9608f71cf8dd059bd19dc48f93a1c1afaaa58b968b9387
+9285a575765bba8b9f8b9d998fa1080efb458ba8f73fb2f829a712f728e146d2f748
+d513ecf709a8157906878b868a8984088676058bcb8db4b2c7898b1e90a1058e8b8f
+851e7906728c84928b988b928d948d9508a8f710f70a8b0592938f918b958b8f8a90
+8a9108fb0a8b90a305a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d
+77360813f4f7650a13ec8c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b60
+8b808a8188807220fb2b666bfb20088a87218b058b8a7d7f8b7c8b888c878d8708f7
+008b6efb118b8805846f877e6689080efb458ba8f73fb2f829b212f71ed591dbeee3
+41d913faf76bf8a315f7660a13fcf7670a13fa8d968d958b958bcf53b63f8b288b30
+477429877b897c8b7f8b2edb6c8b358b838b83898208fb01068b8a7e7f8b7c8b888c
+878d8708f7038b6efb1005846d877c6589087906848b8a878988088675058bc98db2
+b3ca898b1e90a0058d92868c888b087806738c84928b978b928d938d9608a8f71105
+13fcf70606929390918b958b8f8a908a9108fb078b8c8f058e9a8d988b998beb35b5
+8bd9088b938c948d94080ef78584b568b2f7f0b27aaef75ca6a47712d3dc132ef8e7
+f83e157e8b858d8d958c8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208b
+fbb7fbda05858a858a878b838b848e8a95088e078b948e9a90a508f718f8cf758b05
+75837c867888798765867b8b088772058b888d888e8c08ac8e05989282771f8b8189
+7e877c0866fb3405139e6ca3608e778b528b59755a65566069507a41857589758b77
+8b31be4ee38bbe8bc8b6a9a3087948a38b059b97a595ac94868588868b8808136e85
+9387a31ef7ba8bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979996998c91
+8c8e8b8d8b8d088e07878d898c838b888b758a728808fc45fbe215139e6169607470
+8b5b8b5db28bdf8b9f8ea191a59bd3a6b39ea0b6bab68e9f8bba8ba7789963080ef7
+56fb74a8f750b591a6f7d7b276aef75ca6a47712d5ddf73adcf78dd913efc0f7fee7
+15f7680a49fbb6157948a38b05a69fc39bc897088ca60582896984808b828b848e8b
+95088e078b948d9a91a508c2f7820513f7c0a0a29e909e8b08f7228bfb73fbb105a2
+909f8d9d8bce8bba5a8b4a8b818a80898070fb09295e598b638b74a283a284a07d91
+748b08758b807d877b0885076cbe68e01ef7258beeeba1eb8f9d8d9c8b9b8bd75abc
+2c9308f74df78005949891958c918c8c8b8c8b8c0892858e7b1efb7a067d8b868d8d
+948c8c8b8d8c8e08898bc4f78d758b0575837b867888798765867c8b088772058a88
+8d888e8c08ac8e05989282771f8b81897e887c0866fb340513efc06ca3608e778b52
+8b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6a8a3080ef79484
+b568c650b2e5acf779b276aef75ca6a47712d5ddf90eab1333c0f9a9e815846b6375
+568b084b069ea7b2c9ca8bae8b947c8b7d088b898b888a8908fb522e15c706e38bc7
+b197c38d928c908b918bb26696768b668b697c7177767b7069716508498bf7caf7f0
+05989995968d92088e07131bc091868d821efb84061317c06f8c958f1f778f49fb29
+a5860598ada6b4979408135bc098939a909f8b08f7228bfbb9fbde05838a858a878b
+828b848e8b95088e078b948d9a91a508f718f8cf758b0575837b867888798765867c
+8b088772058a888d888e8c08ac8e05989282771f8b81897e887c0866fb34051397c0
+6ca3608e778b528b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6
+a8a3087948a38b059b97a796ac94878788878a870889071353c0829a899c1e133bc0
+f506746575637c6608a8840598afa3b7a4b508fb81e7151397c0f7680a0eb17eaaf8
+09b27ba912f3dcf72fcdf704d590a013bef7387e15f75106ac8bdf94ad9cb9a1a7ab
+96ba8d948c948b948bab7baa58a840b65f8d8bb38b908c918d920898c6be9eb28ba1
+8bc58090fb0008a08c9af70d057a965c9b588b3b8b3d587b46887f8a828b818b7096
+78a17cc465e3758b4c8b868a858a85087f595273658bfb058b249384b28a8e8b8e8b
+8f8b988e9f91a50813dec7f795f7048b94b2fb048baef72e4e77867805815f806f80
+7c77756985708b088264d18b44fbc405887c897d8b800860a27ab01e0e28fb73b1f7
+42c3f7eeb2f77fad12decf5cddf837cf13faf70ffb0f15788b7a7a877b08810768b6
+75b21e9a8ba28cb5a8d1bc9fdda4f508eff84305a1ebabe9c48b9c8b997f8e718e7c
+8e7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba570ab498b086f8b6e816c76435b773c72
+24088a83898bfb028baef72e4e77867805793d7266458b088264d18b45fbc20513f6
+877c897d8b808b60a27ab08bb78bb7a2adac087f570568fb2b6370758b0813fa758b
+889b8a9a08899b899a738b08f717f89615ea06908b928c918e083ffbdd859105797f
+6c7c6f8b0813f67b85959f1f8b9a8e9f91a5080ed880c354d2f2a4f75eb278a712f3
+dde1e0f776e946a5136680f8f4f71f15805b356d638b7f8b808c818ea9abceceb58b
+9a8b9b878b7c08a38d158c8f8c8f8b8e8ba47291728b588b3d3d666460a179ba8bbc
+8b9e8e9e8f9e0813af009dd6c4e4e48bc28b8b6a8b6e8c708b73af8ba38ba49d91a4
+8c908c918b908bc341a5588b08fb1b8b20246dfb14867588768b768b718f72957508
+8a8c05797f6c7c6f8b7b8b85958b9f8b9a8e9f91a50813b680c6f793ea8b05948b9a
+8f8d94088f9f058c8f898d868b08fb028baef72e4e77867805793d7266458b088264
+d18b45fbc205877c897d8b808b60a27ab08bbb8bbba7adb199749f79a57f706b706a
+706a089f8705a8aba5aba6aa08136e8096889889988bd88bf710d59ede080ef789fb
+6fa9f74ea6f803b269bbf781a612f879e5f726d813def85ff7f5154afbae05846c85
+7d688a08798a05858986891f867805a98cbc8d9e8ba18bce88978b08909f058c9089
+8c858b087b8c05758c818e8b9c8b928d938d9508c4f78d05a2abb7b7d48bb58b9972
+8b658b7b887886770858fb73056afb2156245e8b818b878f89958a9b86a3748b888b
+7188846b8a898b898b898b6dbc7ea68b08a48bad97aca6d0c2a6dba9f71608baf75d
+0590a58ea18b9e8bcc6aa5568b2c8b4c4a777408a1ea758b0513ee6c7b6e86738b08
+fb4c8b92aa05b8f752d1a9b58ba98ba46d8b54088407759673aa1e9e8ba19a91a58c
+8f8b908b908b9e83a46bac74a26995658b428bfb0b6957fb760886793c8b8364da8b
+40fbd40583658584698908798a05868b89898a8708877705a88cbc8d9f8ba18bce88
+978b088fa0058c8e888d878b087b8c05738c83908b9a8b918d948d9608d5f7d4f74c
+8b8d8b059a8f83811f8b8589848a84080e6881a77aa6f816a9f75aa9a57712f776a3
+9fcef700d68fa3137f80f703d315856e7e7c698b087406868b87888a860887788c89
+058bd48dae1e9f8ba68aa28b08a29e8a8b1f8d8c0513bf80a385a887af8bc38bf3a4
+a2ee8e958c948b948bc854a74baa629f74978ba88b908c908c910899c4bb9db28ba0
+8bc58090fb0008a38c9af70d057a965a9b588b3b8b3f587b46887f8a808b828b5baf
+79c370c86fa1718b6a8b858b8489840880595173658b658b719d83967e9b87a58ba2
+8b978c968d9308738a76fb05057c8e85948b998b908c908c9208f725f906758b0575
+827b877887798865857c8b088772058a888d898e8b08958ca28e05989182771f8b81
+8a7e877b080ea98bb265a6f7fbb2f76ca9a577121378f814f83e157e8b858d8d958c
+8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208bfbd0fbf7058a8a8a8989
+8a0885067182949d1f8b908c908c9208f725f906758b0575827b877887798865857c
+8b088772058a888d898e8b08958ca28e05989182771f8b818a7e877b08fb09fc8e05
+856e7e7c698b087406868b87888a860887788c89058bd48daeb2d4898b1e13b88c8c
+908bf7b98bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979997998c918b8e
+8c8d8b8d8b8c8b8c8a8c878d898c838b888b758a7288080e34f7a2a2f7cfa201ff01
+14b334f8f915ff000380009cffffff33328c058bffffdbcccd8a7173ffffe533338c
+8b1efffffecccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007
+666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938b
+ff0009b3338eff000633349608ff0054e666f727ff0019e666fb2805ff0001666683
+ff0003e66686908b928bff0009b3348eff000733349608ff0077b334f75c05ff0010
+e664a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009cffff
+ff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80007a
+05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdcccc808a86
+fffffcccce85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94
+ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff000099
+9a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1ffffffe
+ccce8afffffc80007a05ffffff333287ff0001ccce8a8e8b9d8b9186ff0004800070
+08ff00044ccc74ffffb6ccccfb15ffffe5199af72d058995ffffff8000928c90ff00
+01666792ff000666668dff000b00018b0894068d8bff000266668dff0000999a8e08
+ffffc0fffffbe615ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533
+338c8b1efffffecccc8afffffc80007a05ffffff666688ff00039999898e8b9b8bff
+0007666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b
+938bff0009b3338eff000633339608ff0054e667f727ff0019e666fb2805ff000166
+6683ff0003e66686908b928bff0009b3348eff000733349608ff0077b332f75c05ff
+0010e666a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009c
+ffffff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80
+007a05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdccce80
+8a86fffffccccc85fffffb66668308ffffa68000fb2affffe6199af72d05fffffecc
+ce94ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff00
+00999a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1fff
+fffecccd8afffffc80007a05ffffff333287ff0001cccd8a8e8bff001200018b9186
+ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d058995ffffff80
+00928c90ff0001666792ff000666668d968b089406ff0001ffff8bff000266678dff
+000099998e080efb38f73ec1f7b0c101f844f7fe15baf75cfbc08b5cfb5ca88bacf7
+26f7888b69fb260559fbe715b9f75dfbbf8b5cfb5da88bacf727f7878b6afb27050e
+94fb56a6f732baf801a87ca912f73cda70cf13d4f793f73b159ddb9acc8bba8bc477
+aa508b6e8b4b7c83698a878b878b888b759e898e8b0813e4a28b9ba3939b0813d491
+95918f968b998b927f8b728b687e4f77330813e8815e82618b688b599e69c88bb28b
+c99addce0847fbb9a18b05a1949b8f9e8f9d8eb1919a8b088fa4058c8e898d888b08
+6a88057e84939e1f8b968d988f9b08f5f85f0591a7989bad8b089e068f8b8f8e8c90
+08909e898d058b47896764478d8b1e8989867805868d88901e9e06a49582791f8b86
+8b8589850851fb8c05515b5a726e8b618b7da58bb3088b9e8ea090a2080eaafb85a9
+f75ebaf801a879a812f73dd975ccf700ce13eaf87f9415dcf7f20591a7989bad8b08
+9e068f8b8f8e8c9008909e898d058b47896764478d8b1e8989867805868d88901e9e
+06a49582791f8b868b8589850851fb8c05515b5a726e8b618b7da68bb28b9e8ea190
+a10813d69edf9bd08bba8bbd7aa55c8b6d8b4b7c846a8a878a878b888b759e888e8b
+a28b9ba3939b0891959290958b928b8e848b7d8b6c7c4c74250813ea836681608b66
+8b599c64c98bb28bc99addce088369057c4a81518b5c8b48a060c68ba88bcb9a93ad
+8c8f8b8f8b8e8ba1788d888b748b7c73827b0885818587808b7c8b839d8baf088bb0
+94c49cd3080efb92f800a2f766add1a001ff005c199aff011eb33203ff00ef199af9
+2c15ff00088000b5ff00074ccca58b8b8c90fffffe80008d858bffffee999a84ffff
+d04ccd83ffffe599998908fffffd4ccd7905ffffff999989ff0001cccd8a8d8b08ff
+0014cccc8a05988bff0004800084fffff7800061085bfb8005fffffbb334768988ff
+ffe7cccc8808fffff7cccc8a05fffffbffff8bffffff666788ffffff99998908ffff
+fc66667905ff000000028bff002533338ca38b08a5ff0027cccd8a8b1fff00039999
+9d05ff0000cccc8ffffffd33338c898b08fffff533338c05ffffee8000ff0001999a
+fffff9b334ff00046666ff00044ccca008ff001be667f71d05ff0017b334a2ff0019
+8000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605fffffbb33476
+84fffffbb334ffffecccccfffffe4ccc08fffff4ccce8a05fffffbffff8bfffffe66
+6788ffffff99998908fffffc666779058bff002833328ca4a3ff0025ccce8a8b1eff
+0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa33328c05ffff
+ece666ff00034cccfffffab334ff0004b334ff0003e6669e08ff00194ccef71005ff
+000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080efb92f7faa2
+f771a8e0a101ff0053cccdff011bb33403ff00803333f82815fffffce6667cfffffa
+666683798b088106888bfffffe999a89ffffff66668808fffffc80007aff0000cccd
+8a05ff000000018bff002333338c9e8b089fff002dcccd8a8b1fff000133338cff00
+0380009c05ff0000999a8efffffe66668d888b0882067a8bfffffb999a93ff000319
+999a08ff00204ccdf73305ff001e199aa4ff0022e666999a8ba38bff000ce66677ff
+fff780006108ffffe44ccefb1c05fffffce6667cfffff9666683798b088106888bff
+fffe999a89ffffff66668808fffffc80007aff0000cccd8a05ff000000018bff0024
+33338c9d8b08a0ff002ccccc8a8b1fff000133348cff000380009c05ff0000999a8e
+fffffe66668d898b0881067a8bfffffb999a93ff0003199a9a08ff001d4cccf72405
+96c1ffffeae666a8648b778bffffd64cce83ffffd5e666680894b705ff000419999f
+ff0003333396ff0005cccd99ff000ab333a7ff00114cce96998b968bff000c333287
+ff0002e6667c8d81ff0001b334809a8b968bff000c199a958d95ff0004199a9fffff
+f16666a1518b086f8bffffc499997affffec80002b080efbf6f79b9ef7d1a0c9c401
+ff003c3333ff002f3333ff007c199ac703ff010b6666f97715788bfffff266677eff
+fffcb3337bfffffce6667cff000a66677e9c8bff0010ffff8bff000f999a98ff0003
+199a9aff0002cccc99fffffb199a9a758b08ffffc44ccdfb5215ffffe3b333fb1f05
+ffffed199a2effffefe666686e8b868bfffffccccd8fff0000333391fffffecccd99
+fffffb199a9a7c8b7f8bfffff5333382fffffcb3337bfffffbe66777ff001f66667e
+a68b9b8bff0015666692ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccd
+e008ff001db334f72605ff00058000a6ff00078000a68b8b8c90fffffe66668d858b
+ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff00
+01cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061080e
+fbcff801a2f765b365a012ff00634ccdf79913d0ff00f2999af8d615fffffe33338c
+05ff00058001ff001b3334ff0006e666ff0017cccc8b8b8c90fffffe66678d858b08
+13b0ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89
+ff0001cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061
+08ffffe48000fb1b05fffffc199978fffffd3333fffffb4cccffffe8999afffffeb3
+3408ffffedcccc8a05868bfffffe999a89ffffff66668808fffffc66667905ff0000
+00018bff002d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8e
+fffffd66668d898b08ffffee33348c05ffffed3333ff0001199afffff9cccdff0003
+e666ff000419999f08ff0019b333f71205ff0001999a93ff0005cccd9490900813d0
+ff0014b333a2ff0011800097928b8f8bff0004800089ff0003333487ff0004999884
+ff0007333487978b9d8bff000ccccc94ff000380009cff0003b3349dfffff8999a98
+708b086c8bffffde199a69ffffe9e66672080efbcff7fab37c9ff75fa312ff005c19
+9af79913b0ff00dacccdf85c15fffffe333482fffffb199a828686ffffeb4ccc74ff
+ffee999a7f848b878bfffffb66668dfffffccccd8ffffffb66679284907f8b798b7e
+81fffffc80007afffffc80007aff000733337da68b08aa8bff0022e666adff001619
+9aa4088d8b7d509a8b051370ff001a333496ff00194ccc91ff0028999a9308ff0002
+199a9f05fffff3333487fffff46666887e8b808bffffffb33298ff0002ccce9908ff
+0020199af73205ff000419989f8d90a38b089d06908bff000166688dff000099988e
+08ff0003ccce9effffb6e6668affffb633338cfffffc199a7805ffffff666788ff00
+02999a898d8b089d06ff001100018bff0007cccd8afffffb199973080efbc5f78e9e
+e4b3f764a301f7aeff0030999a03ff0100ccccf82115ff00256668f74c05ff000419
+989f8d90a38b089d06908bff000166688dff000099988e08ff0003e6689effffb6cc
+cc8affffb633338cfffffc199a7805ffffff666788ff0002999a898d8b089d06ff00
+1100018bff0007cccd8afffffb19997308ffffe6999afb1105fffffe333482fffffb
+199a828686ffffeb4ccc74ffffee999a7f848b878bfffffb66668dfffffccccd8fff
+fffb66679284907f8b798b7e81fffffc80007afffffc80007aff000733337da68b08
+aa8bff0022e666adff0016199aa4088d06ffffeeb33436ffffffb33371ff0014b333
+6cff000c4ccd79ff0012b333849b8ba68bff0024ccce99ff0003e6669eff00038000
+9cfffff8cccc947f8b7c8bfffff4b3347bfffff966667efffffd999a84fffffb199a
+87868b08ffffe2ffff8bfffffd3333aeff0012e666e8080efbb1f800a1f7059ee5a2
+7f9e12ff0062199aff0125800013e8ff0097b333f8f415ff001bffff8bffffffcccd
+85fffffbb3337608ffffdb999afb4705fffffd999a7ffffffdb334857d8b08fffff0
+cccd8a05898b8a8bffffff999a8908fffffc999a7af7138b05b38bff003e999a9dff
+000c9998c9ff0006e668adffffee9998a66c9008ff0023999ac90513d8ff000fb334
+a7ff0013cccc9e9d8b08ff0003b3349d05fffff933328c858b848b6a8bffffe78000
+75ffffebb3346708ffffdc66664d5c8bff000ccccdca0513e8ff000419999fff0003
+666692a18b8d8bff000133338cff0000999a8e08ff000380009cffffff66668d058b
+ffffe0cccd8a7774ffffdd33338c8b1efffffecccd8afffffc199a7805ffffff999a
+89ff0003cccd8a8d8b08ff00863333fb3a15fffffb199a73fffff180006b548b828b
+fffff733338cfffff766678d08ff00166666f702ad8b05b78bff00054ccc6afffffb
+199a73080efb08f8f4a201ff00fbb333f8f915ff000380009cffffff33338c058bff
+ffdbcccd8a7173ffffe533338c8b1efffffecccd8afffffc80007a05ffffff666688
+ff00039999898e8b9b8bff0007666788ff000519996e08ff00224ccdfb6105ff0001
+666683ff0003e66786908b938bff0009b3338eff000633339608ff0054e667f727ff
+0019e666fb2805ff0001666683ff0003e66686908b928bff0009b3348eff00073334
+9608ff0077b332f75c05ff0010e666a8ff000e666892998b8e8bff000433348cff00
+00cccc8f08ff000380009cffffff33348c058bffffe9cccc8a7876ffffd833328c8b
+1efffffeccce8afffffc80007a05ffffff999889ff00016668888d8b0894069d8bff
+0008199887fffffdccce808a86fffffccccc85fffffb66668308ffffa68000fb2aff
+ffe6199af72d05fffffeccce94ffffff800092ff0000cccc8f8d95ff000833348c9d
+8b8e8bff000266668dff0000999a8e08ff000380009cfffffe33328cffffc8ccce8a
+0578ffffda33328c8b1ffffffeccce8afffffc80007a05ffffff333287ff0001ccce
+8a8e8b9d8b9186ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d
+058995ffffff8000928c90ff0001666792ff000666668d968b089406ff0001ffff8b
+ff000266678dff000099998e080efb73f782b4f7dda301ff010ee666f8fa15ff0003
+4cce9bffffff66668d058bffffd59999896e78ffffdc66678d8b1efffffd999989ff
+fffc80007a05ffffff999989ff00026666888e8ba68bff0001999afffff66668ff00
+064ccdffffe6999808ff00299999fb3d05ff000266667eff0001b3337bfffffe9999
+84fffffecccd85fffffde66786fffffb666683ffffe84ccd65ffffe680006b828b85
+8b8790fffffb3333918890fffffa999a8e828b818bffffeb333382fffffc4ccd7908
+fffffb4ccc74a881978bb78bff001eb334b1a7b7ff004a999af70dff00274cccc7ff
+00303334d1ff000bb3329dff000fccce9ea38b908bff000266668dff0000cccc8f08
+ff00034cce9bfffffe66668d058bffffe5999a897a75ffffd666668d8b1efffffe99
+9a89fffffc80007a05ffffff999889ff00026668888e8b088e06998bff000a999889
+fffffe333482ffffff666688fffffd800084fffffd33348708ffff9db332fb29ffff
+dcb334f72b058aff00041998ff0000199aff0005e668ff000066668dff0001999a93
+ff000899998eff001200018b8e8bff000466668dff0000cccc8f080efc07f8b4f744
+01ff00814ccdff009acccd03ff0111199af95d158590fffffa66668d838b088706ff
+fff3cccd8afffff8199987fffffb33348208ffffa24cccfb2605fffffecccd8affff
+ffcccd8affffffcccd8affffff333387ff0002333387ff0002666788ff0002cccc8a
+ff0002cccd8a8d8b8e8bff000333338cff000266678d08ff007e9999f70d059090ff
+00023334918c90ff0002666697fffffc666696fffff6333491080efb67f8c4f74101
+f73eff011d999a03ff01c7999af94715f71a0affff7d33329115f71b0a0efc1df86b
+d3e59c01ff008bb333ff007b999903ff00b8cccdf86b15ff001e00018bff00119999
+9dff00034ccd9bff00034ccd9bffffff8000a1628b838bfffffb999a93ff00029999
+98ff0004b333a2ff001c999ab0ff002bcccc9408fffffe80009c05ffffb8666783ff
+ffd34ccd4dfffff8b33367fffff8b33367ff000e666766b18b080efc16f86d9ce5d3
+01ff00853333ff007b999903ff00d3b333f92015ffffe1ffff8bffffee4ccd79ffff
+fcb3337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667effff
+fb4ccd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb3
+33c9ff00074cccafff00074cceaffffff19999b0658b080efc1df8749ce1d701ff00
+923333ff0072e66703ff00dd199af92715658bffffe2333365fffff8e66668fffffa
+b33371ffffff999a3fff005a33338708ff000766679c05ffffd7999993fffff5999a
+b0ff0004b333a2ff0002333396ff0005666792928bb48b95a4ff000380009cff0003
+4ccc9bfffff8b3349d678b080efbd2f82fb6f72eb601ff008bcccdff00a9333303f7
+c9f8a215ff000f4cccd6ffffd9199abd488b828bffffec666788fffff699998908ff
+0000b3346205ff000633338cff001066668d918bb68bff001680016bfffff5cccc59
+8055ffffe36666795c8b828bfffff733348cfffff899998e08fffff2999a6205ff00
+06666788ff00086667889a8bc68bff0040b332b1ff000fb334d8080efbd2f82fb6f7
+2eb601ff009b199af8ac15fffff0b33340ff0022cccd59ce8b948bff0013999a8eff
+000966668d08ffffff6666b405fffff9cccc8affffef999a89858b608bffffe88000
+abff000a3334bd96c1ff001d99999dff002f00018b948bff0008cccc8aff00076666
+8808ff000c4cceb405fffffa99988efffff6999a8e7d8b508bffffc3666765fffff0
+4ccd3e080efb96f930a401ff00ba3333ff0027999a03ff00ba3333f90a15fffffcb3
+327b9a86928b938bff000a199a90ff0002cccd94ff0005e6669eff000e3333a5b88b
+a68bff0008b33476fffffab33271fffffc199a78ffffee33347dffffed66667effff
+e8b3347bffffe8666679fffff9e6666d08fffff8cccd68ff0026ffff8bff0005b334
+a705ff00058000a6ff001433349bff001619989aff0015ccce99ff0014199a9aff00
+054ccca5ff0009999abaffffe1e666a85e8b4b8bffffd94ccd6afffff9e6666d080e
+fb96f930a401ff01408000ff002a999a03ff016b199af90a15ff0005e666a872ad4b
+8b5e8bffffd6199a6efffff666665cfffffab33371ff000de6677cff001033337dff
+000fe6667cff000dcccd7bfffffa80007008fffffa4ccd6fff0026ffff8bff000733
+34ae05ff0006199aa9ffffef999a9dffffef4ccc9bfffff2999a98fffff3cccc99ff
+0003e6679eff00054ccda5ff00114ccca0a68bb88bff0003b33471fffffde66677ff
+ffff333482ff0008333287938b928bff0010b3348fff000380009c080e60f7f3f7bb
+01ff01094cccf88615f7a0f2ff0009199cb8fffeb66664fb12fffff7666661ff0116
+3334fb13ff00093334b8050e60f7f3f7bb01ff01c78000f88715fffef4199a24ffff
+f6cccc5eff0149999af712ff00089998b5fffee9cccef713fffff6e6675e050e60f7
+eef7c401ff00b66666f7bb03ff017b999af8e515ff0034ccccfb8bb88bffffbfccce
+f7c4618bffff433332fbc4b88b050e60f7eef7c401ff00f33333f7bb03f7e9f82715
+ffffcb3334f78bffffd2ffff8bff00403333fbc4b58bff00bccccef7c45e8b050efb
+68bef79103ff0152e666f93015e60a0efb68ff00fe6666f89a15f7040a0efc43f8ae
+f74c01ff0096b333ff0054cccd03ff00eb8000f95f158490fffffa66668d848b858b
+7d86fffff4cccd85fffffbb33371fffff7999a62fffffb199a73fffffbb333768468
+fffffae66677ff0006333387ff0006999a89928b918bff000e999a8eff000a666692
+08ff0004e666a8ff0008199ab3ff0004b333a2ff0004b333a2ff0007199aaeff0004
+80009c080efb1cf8aeb701ff00b08000ff011c199a03ff01ae8000f8ae15f30a0efb
+b3f8b8f73401ff009e199aff00b5999a03f7a7f95815ffff9c4ccdfb0b05fffff533
+34fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85
+928b928bff0008cccd8fff001219999a08ff0089199af701ffffff33349605ffffed
+8000a1ffffe6b3328cfffff9999a8b868bfffff9b3348afffffccccc8a080efbb3f8
+b7f73501ff00d88000ff0084e66603f7c5f95815dd0a0efbf8fb80f74501ff001633
+33ff0057999a03ff004c999afb7815ff00213334f73705fffff4ccce8ffffff76666
+8d828b848bfffff8999a89fffff533328708ffffde6666fb3905ff000b333287ff00
+07999a89938b928bff000866668dff000c333491080efb3ffb17b701ff00326666ff
+00f3199a03ff01084cccfb1715988bff000dccce9dff0002666697ff0001666692ff
+fffd666692828b08ffff33000106fffff400018bfffff27fff7afffffd999a7fffff
+fe999a84ff00024ccc83938b080efbc4fb6ff72101ff000bcccdff00a4800003ff00
+0bcccdfb0b158981ff007a19993d05ff000de667fffff73333ff00079999fffffccc
+cd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cccd
+9408ffffb2e666f205ffffff33328cfffffb33348c878b6e8bffffe4666674fffff1
+4ccd79080efbb8fb6af72601ff00044ccdff00b9666603ff000f8000fb6a15908bff
+000733338cff0008cccd8f08ff008e6666c305ff0003999a8eff0005999a98ff0001
+999993ff0005b333a7859e859508fffff6cccd8ffb212405fffff1cccc80fffff319
+9a82fffffe333382ffffff666688fffffecccd80988b080efbf4ff002b8000ff00d5
+e66603ff00766666f82915ff002c6666fb0dff005e9999f70d05ffff2a199afc0415
+f71f8bffffd2999af70d050efbf9f7aff70d01ff00763333ff008b000103ff007633
+33f82815ff002c6667fb0dff005e999af70d050efc05fb77abf70aac01fffffc6666
+ff0086e66703ff00614ccdfb1c15fffff9199a69ffffe0e66672ffffdf00018b868b
+fffffb33338cfffffb33338c08fffff0b3336c05ff0007999a89ff0007cccd8a938b
+bf8bff00314ccdb4ff000a3333bdff000a6666beffffdf4ccdb4578b7f8bfffff399
+9a89fffff533338708ff0005b3336c05ff0007999a8eff000733328c938bff002400
+018bff00114ccd6ffffff9b3336c080efc05fb6cabf70aac01ff0008999aff00904c
+cc03ff0008999afb1115fffff5999958ff0021e66763bd8b948bff000833338cff00
+0766668d08fffffe4ccdaa05fffffa999a89868b858b698bffffec4ccca5ff0006b3
+34acff00064cccaaff001eb334a7ad8b948bff0006cccc8aff000666678808ff0012
+1999a9058190fffff566678d7e8b588bffffce800061fffff5cccd59080efbc2fb78
+b701fffffd8000ff00b3199a03ff0001999afb7815f73c068f90ff00034ccc91ff00
+01666792ff0001666692ffffffe667948895084d8bff0015e666f70005fffffb6666
+92fffff8b3348e838b848bfffff74ccc88fffff933348708ffffe98000fb034a8b05
+fffffb999984fffffcb33385fffffe999a84fffffe999a84ff00014ccc83ff000433
+3482080efbc2fb6376f70ab701ff0017999aff00b3199903ff00c6999a4915fb3c06
+8786fffffcb33385fffffe999984fffffe999a84ff0000199a828e8108c98b75fb00
+05ff0004999984ff0007666788938b928bff000899998eff0006cccd8f08ff001699
+9af703cc8b05ff0004666692ff00034ccd91ff0001666692ff0001666792fffffeb3
+3393fffffbcccd94080efbb3fb29b701ff000fb333ff00c2b33303ff00758000fb65
+15ff000c3333c7ce8b05ff0007cccc94ff0004800092ff0001666692ff0001666792
+fffffe333391fffffc999a9308478bff000d1999cb05fffff8cccc8ffffffa999a8e
+858b848bfffff84ccc88fffff4999a8408fffff3999a4e488b05fffff7999984ffff
+fc999a84fffffe666683fffffe999a84ff0000800084ff000266668308d18bfffff2
+cccd4a05ff0007333387ff0005800089928b928bff0007b3338eff000a999a93080e
+fbb3fb11b701ff000f999aff00c2800003ff00ce80003a15fb4706fffff7999a84ff
+fffb800084fffffe666683fffffe999a84ff0001999984ff000266678308f74906ff
+0007cccc94ff0004800092ff0001333491ff0001999993fffffe333391fffffc999a
+93080efb88f8a5c401ff009c199aff001d666603ff00b98000f93815f7690a0efba2
+f8e4eb01ff00e43333ff0060000103ff00e43333f91415f70e0a0efb5cf8e0a6f704
+a601ff00e68000f74203ff0148e666f96b15f7240affff9d999a5315f7250a0efb77
+fb5cb101ff00266666ff00c4333403ff00ea999afb1b15fffffd666692fffffacccd
+8f828bffffe5800075ffffecb3337b6e8b668bfffff74ccda0ff00054ccda5ff0009
+6666b9ff00286666abff00486667be08fffff580009c05ffffa600015affffb57fff
+57fffff4999a538055ff0021e66677ff003200018bb48bff002c19999fff00263334
+b8080efba1f8d2b78fb901ff007acccdff01274ccc03ff014eb334f8fe15f70c0a0e
+fb67ff01c7999af94715f71a0affff7d33329115f71b0a0efb87f7b2bef7187701ff
+00748000ff00e7666603ff00748000f81115ff00064ccd6505ff001d199a9aff0034
+3334a0a690fffff9333382fffff9b3337bfffffd33337dfffff6cccd5eff00133333
+7d9b8bff001a00018bff0018666697ff00384cccaf08fffff9199a9f05ffffe7999a
+7f7f86758b788bfffffe33329bff00048000a1ff00074cceafff00138000a1ff0016
+199aa408fffff433329605ffffca4ccd65ffffbb4ccd6fffffbf800075080efb5ef8
+8ff76201ff009f199aff0121e66603ff015c199af8f615ff0064e666d405fffffdcc
+cc948b8bfffffc999a93fffffc999a93ff0000199a8b879008ffff834ccc43ffff9d
+b334d3058586ffffffe6668bfffff9333382fffff83333828b8bfffffb999a8408ff
+0048e66641ffff9a33344205ff0003666683ffffffe6668bff0003666783ff000299
+99848b8bff0004cccd8508ff007d6667d2ff0060999a4405ff00083332918b8bff00
+05666692ff0006666892ff000019988bff0004ccce94080efb94f7faa3f7a9a301ff
+010a999ab303ff00dbcccdf7fa15c58bff00198000b5ff00034cce9bff0001cccc94
+ff00056666a5ffffe3ccceca08ff0003333291ff00656668f71105ff0009333296ff
+000eb3348e9a8b08ff00048000a1ffffff66668d058bffffdf999a897a1e7c8bffff
+e933328cffffef33348c08fffffe999a89fffffb80007505a08bff000cb3328a8981
+ffffff999a89fffffe999a89fffffe33348708ffffb0e66628ffffde4cccef05ffff
+fecccd8ffffffe999a8eff000099998e8c90ff0007b3348ea18b08ff00048000a1ff
+ffff66668d05ffffe2999a89708b7c8b798bfffff433338cfffff133338c08fffffe
+999a89fffffc19997805ffffff6666888d8b8d8b9b8b9d86ff0004b3337b08ff002e
+b333fb1fffffd4e6665905fffff6999a7ffffff24ccd79fffffcb3337bfffffa199a
+6eff0015b3337bae8b08fffff1cccdc015ff0002666697ff00118000a1ff00194ccd
+aa08ff000366668305ff000e19986eff0000199a7dfffffe333482fffffc199a78ff
+fff1ffff7c778b7a8b8195ff0003e6679e080efc24f800a2f7cea001ff005c199aff
+00a2e66603ff00bb6666f91f155bfb8005fffffbb33476fffffeb33388ffffe71999
+8808fffff7cccc8a05fffffbe666ffffff8000ffffff8000fffffd8000ffffff9999
+8908fffffc66667905ff000000028bff002566668cff0017cccd8b08ff00189999ff
+002633348a8b1fff000399999d05ff0000cccc8ffffffd199aff0000ccccfffffe19
+99ff0000333408fffff833338c05ffffef199aff00023334fffff93333ff00044ccc
+ff00043333ff0014800008ff0032b334f78d05ff00088000b5ff00076666a58b8b8c
+90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908fffffd4ccd79
+05ffffff999989ff0001cccd8a8d8b08ff0014cccc8a05988bff0004800084fffff7
+800061080efbc8f7faa4f779a401ff00793333a1ff00a38001ff0017333203ff0079
+3333f85e15fffffc7fff6bfffffb80006bfffffb199a73ff000633338cff000a3333
+8c8e8b9f8bff0013199a7da98bad8bff00454ccd9bff000c6666c8ff000a3334bdff
+ffd5cccc9effffd14ccda0ffffe0cccd99fffff7e66694ff0004e666a308ff000580
+00a6ff0017999a98a48b9e8bab81ff000233345108ff001733328cff00063334d605
+fffff6666692ffffdb199a956c8b5a8bffffcc66666bfffff7800061fffff6cccd5e
+ff001be6667bff002a199a78ff002db333768f77fffffbb33376fffffa800070ffff
+e5b33380738b748bffffef800097fffffa33349108fffff34ccc9bffffff8000a6ff
+0001cccd99080efb92f800a3f772a101ff005b4ccdf81015fffffd66667eff000066
+668805ff001233358cff001233338ca28b9b8b9b8bff0013cccd8a08ff000199998e
+ff000266679705ff0001000190ffffff99998e838b808bfffffa199a8b8c90ff0000
+999a8eff0002cccc8fff00053334918b8bff00231999aeff00144ccda0ff00036666
+83a65a8b8b8d86ff0001666688ffffff666888088a86fffff8b3328a848b828bffff
+fccccd85fffffecccd85088981ff0000999a8905ff000e33328cff002233348ca28b
+9e8b9d8bff0012999a8908ff0001999a8eff000299989805ff0000ccce8fffffffcc
+cc8f7f8b758bfffff6e66699fffff8ccce9908ffffd28000e1ff0047b332d805ff00
+194ccea59190a08b978bff000066668dff000133349108ff00024ccc96ffffff999a
+8e05ffffeacccc8afffff1ccce8a778b7a8bfffff033328cffffee33348c08fffffe
+999a89fffffd4ccc7e05fffffecccc85ff0003ccce8a918b988bff00046666888a86
+ffffff999a89fffffe666688fffffc6666888b8bfffff6e66681ffffcc999a5308ff
+ffe53334c205fffffe666692fffffd8000928c90ff0000cccd8fff0003cccd8f928b
+948bff000566668d8c9008ff0002800097ffffff999a8e05ffffe7cccc8a768b778b
+738b7b8bffffec33348c08fffffe999989fffffd4ccd7e058a86ff0001999a89978b
+978bff00094ccc83ff0006999a7f08ff003280002605fffffc666688ffffb54ccd43
+8b8bffffe74ccd74fffff8666688788b848bfffffbcccd8afffffe999a84080efbce
+f800a2f7dea101ff0107b334f81715ffffe8ffff8bff0001cccd94ff0003b3339d08
+ff000e1999d005ff00096668b9ffffec9999a7ffffed1999a4fffff04ccda0fffff1
+8000a1ff00068000abff0006199aa9ff00161999a9b08ba98bff001680007afffffa
+e66672ffffff333487fffffe333487fffffe666688ffffff666688fffffe666688ff
+ffff33348708fffffc199a78ff0010333287958b978b9e95ff000380009cff000a99
+9abfffffcbe666a8568b4c8bffffd580006bfffff5cccd59fffff6999a5d9e77ff00
+11e66677ff00114ccd79ff00114ccd79fffff819996408ffffefb3343b05fffffc4c
+cc798881ffffe8cccd8a088006fffffbffff8bfffffe999a89ffffff66668808ffff
+fc666779058bff002733338ca4a4ff0026cccd8a8b1eff0003999a9d05ff0000cccc
+8ffffffd33348c898b080efb10a076f8e1c301ff01f73334f91915fbee8bfffff499
+9a53f7af8bffff883334fce1ca8b050efb10a076f89bc3d17701ff01f73334f91915
+4c8bfffff1cccc45fbaf8bfffff4999a53f7af8bffff966666fc9bca8b050efb10a0
+76f7cec3f7a77701ff01f73334f919154c8bffffc81998fba7fbaf8bfffff4999a53
+f7af8bffffc0199afbceca8b050efb10a076d0c3f89c7701ff01f73334f919154c8b
+ffff963332fc9cfbaf8bfffff4999a53f7af8b7d46ca8b050efb108bc3f8e17701ff
+01f73334f919154c8bffff883332fce1fbaf8bfffff4999a53f7ee8b050efb58d5b8
+01ff0041199aff0112333203ff0041199ad515f79d8bff00093332b8ffff29e6678b
+ff0032b333f78d588b050efb51f762b901ff003c6666ff0138e66603ff00706666be
+15ff001f8000f72ff7708bff00096666b9ffff2400018bff001eb333f72b578bffff
+b86666fbf4050efb8dfb15f79401ff0026ccccf7ac03ff0026ccccf71315d6fb94aa
+8bff00adfffff7945e8bffff830001fb4a52f74a050e40f8dbb6e8b701ff02589998
+f8db15ff0008ccd0b6fffe22fffe8bfffff733346005ff01f8b334f71c15ff0008e6
+68b7fc718bfffff7199a5f050efb4bf8579fdbdd01ff0095cccdff011b999803ff00
+e6cccdf90d15ffffdd00018bffffeae66672fffffcb3337bfffffc80007aff000533
+3473b38bff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffff
+e566666bffffc4999a7ffffffe999984ffffff333482ff0003333387b290ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b6666a1ff0004e666
+a3ff00074cceaffffff09998b0ffffd900018b08ff009b66678d15688b7672fffffc
+b3327bfffffc80007aff0005199a73b38bff001833348bff00063332ff0006999887
+ffffec6668fffffb4cce74ffffe566666bffffc4999a7ffffffe999884ffffff3334
+82ff0003333487b290ff001f8000ff0010e666ff00153332ff0015199a08ff001419
+9a9fff000b8000a1ff0004e666a3ff00074cceaffffff08000b0648b080efbeeffff
+1d8000f75501ff00033333ff00c3b33303ff004bb333ffff61b33315ffffdce666ff
+007ccccdffffda999a8bbafb55ff001933338bff007b8000f755ffffda999a8b050e
+fbeeffff1d8000f75501ffffdbe666ff00c3b33403ff00573333ffff9a4ccd15aeff
+ff833333ff002566678bffffd31999f755ffffe6b3348bffff828000fb55ff002566
+668b050efbabffff1c6666ff00c3333401fffff6cccdff00fe999903ff003e4cccfb
+1615ff00af8000ff003c4ccdff00079999ff00254cccffff06e667ffffac3334ffff
+fa8000ffffe46666ff00d6e666ffffac3333ff0007999aff00254ccd050efbb5ffff
+1c6666ff00c3333401ffffe5b333ff00fe666703ff009ccccdfb1615ffff508000ff
+ffc3b333fffff86666ffffdab333ff00f9199aff0053cccdff00054ccdff001a8000
+ffff294cccff0054e666fffff86666ffffdab334050efbdbfb5ca6f704a601ff0006
+3333f74203ff0068999a4e15ff001e00028bff000ee66672fffff9b3336cfffffa4c
+cd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b333a7ff00061999a9
+ff00184ccea5aa8b08ffff9d99995315fffff699995dff0021800066b98bbb8bff00
+2eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d8bffffcf800066ffff
+f699995d080efc08f785f74401ff006b8000ff0045800003ff009ccccdf83515ffff
+e080018b7cffffe9ccccfffffd3333fffff233348a86ffffffcccd858f8608ff004d
+4ccdfb0d05ff0001999989ff0001cccd8a8e8bff000b33338b90ff000a6666ff0000
+8000ff0002999aff000033338cff000066678dffffff4ccd8e08ffffde6666f72305
+fffffdcccd948490808b080efb84f787f74201ff00ef8000ff0045800003ff009799
+9af82f15ffffe899998bffffedb333ffffede666fffffc6667ffffee199afffffecc
+cd85ff0000800084ff0003cccc8508ff005b999afb0205ff0001999a89ff0001cccc
+8a8e8bff0002999a8bff000b4ccdff00044ccd8dff0009b333ff000033338cff0000
+66668dffffff33348c08ffffce4cccf71f05fffffccccd94fffff966678d7f8b08ff
+008933329115ffffe080008bfffff10001ffffe9ccccfffffd3333fffff233348a86
+ffffffcccd858f8608ff004d4ccdfb0d05ff0001999a89ff0001cccc8a8e8bff000b
+33348b90ff000a6666ff00008000ff0002999aff000033328cff000066668dffffff
+4cce8e08ffffde6666f72305fffffdcccc948490808b080efb84f787f74201ff0051
+b333ff011d999803ff0150999af82f157f8bfffff8999a89fffff933328208ffff95
+b334fb1f05fffffecccc8affffff999a89ffffffcccd8a89fffff64ccdff00098000
+fffffbb333ff000299998b8e8bff000233348cff000266668d08ff00886666f70205
+ff0006333491ff0003800092ff0001333291ff0003999aff0011e666fffff5199aff
+0012199affffe8999a8b08ffff7933339115fffff500018b8286fffffa33338208ff
+ffa43333fb2305fffffe199988ffffff999989ffffffcccd8affffff8000fffffd66
+66ff0000999afffff5999aff000b33338b8e8bff000233338cff000266678d08ff00
+7eb334f70d05ff0006000190ff00023333918c90ff0002cccdff000dcccc85ff0016
+3334ffffe080008b080efb87fb0eb78fb901fffffc3333ff01274ccc03ff00d0199a
+3d15788bfffff1199995fffff2666797ffffeecccc99ffffece667996d8bffffd4ff
+ff8bffffe2e6676d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933349105ffffe97fff61ffffefe66781758b080efbd8f7ddf5f731f501ff008d
+b333ff009f800103ff00c33333f91915fffffa19996eff0013199973a88ba88bff00
+1ce666a3ff0005e668a8ff0005e666a8ffffece666a36e8b6e8bffffe3199a73ffff
+fa19996e08ffffca8000fb9b15fffffa19996eff0013199973a88ba88bff001ce667
+a3ff0005e666a8ff0005e667a8ffffece666a36e8b6e8bffffe3199a73fffffa1999
+6e080efbedf92db401ff00893333ff00b24ccd03ff00893333f8a315ff0003333282
+ff0008333487908b918bff000a33338cff000a99999308ff001ce667f722ff0059ff
+ff8b059690ff00043334968c908c90fffffc800092fffff3999a9308fb088bfffff2
+99997f050efbedf92db401ff00a9999aff0093999a03ff011b3334f8a315adf73bff
+fff7666697fb088b05fffff0666683fffff9999a848a868a86ffffffb33380948608
+ff0059ffff8bffffe3199afb2205ff0007666783ff0009cccd8a918b908bff0009cc
+cc8fff0006ccce94080efbed99b401ff00234cccff0093999903ff00454ccdf75515
+69fb3bff000880007ff7088b05ff000f999a93ff00068000928c908c90ff00004ccd
+96829008318bff001ce666f72205fffff8999b93fffff633338c858b868bfffff633
+3487fffff9333382080efbed99b401ff0024e666ff00b2666603ff00d74ccdf75515
+fffffcccce94fffff7cccc8f868b858bfffff5cccd8afffff566678308ffffe31999
+fb22318b05fffff4ffff86fffffbb333808a868a86ff0003800084ff000c66668308
+f7088bff000d800097050efb67fb0bf70bfb0bb712ff000a4ccdff01344cce1360f7
+a68115fffff2b3344affff35ffff8bff000de666cf05fffffa333591fffff999998e
+858b848bfffff8333487fffff466668308ffffee4ccd340513a0fffffd33347dff00
+024ccd839f8b081360ff00eaffff069b8bff0011b33498ff000233349608ff0011e6
+66e30513a0fffff9999a8efffff9cccc8f838b08848bfffff8666688fffff6999a84
+080efb85fb0bb7d87701ff000a4ccdff0104800003ff010ecccc4015ffffef199aff
+0007e666ffff3ccccdfffff8199a8b8b08ff000de666cf05fffffa333591fffff999
+998e858b848bfffff8333487fffff466668308ffffee4ccd3405fffffd33347dff00
+024ccd839f8b08f76106ff001000018bff0011b33398ff0002333496ff0001999893
+fffffe8000978b8b080efb1b82a901ff01904ccca015fbb706ff000a000195ff0022
+4ccda5ff00178000b0086a06ffffeeb3337bffffcd80005cffffca4ccd7908fffffd
+cccd8005ff003580006bff0016b3347bff000be6666808ad06fffff78000abffffef
+4ccda0fffff1e6669e08f7b7060e7ff95815e00a0e83f95815ffff9c4ccdfb0b05ff
+fff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005
+cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffffff4ccd9605
+ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3338afffffccccd8a080e
+fb9ff79103ff001bcccdf94d155906ffffd9999a5dffffd14ccd60ffffd3e6676308
+ff001119997d05ff002b7fffa6ff0025199aa4ff002cb333b1ff001ab33367ff001b
+e66772ff002119996e08ff0017e6669905ffffe4199bb3ffffe48000b5ffffec999a
+ba080ef8d2b78fb901ffff55cccdff01274ccc03ff0029b333f8fe15ffffecffff8b
+fffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d
+715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233
+337dff001280007fa18bb98bff00231999a9ff00183334c708ffffe933349105ffff
+e9800161ffffefe66681758b080ef8aeb701ffff108000ff011c199a03ff000e8000
+f8ae15988bff000eb3339dff0002666797ff0001333291fffffd999a93818b08fb89
+06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080ef8edb7
+01ff00534ccdf8ed15ff000d00018bff000db3339dff0002666697ff0001333491ff
+fffd999993828b08fbe906fffff4ffff8bfffff180017afffffd99987ffffffe999a
+84ff0002666683948b080ef8a5c401fbbca6f76ca603ffff7c8000f93815ffffe299
+9a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe7666697
+05ffffea333351ffffcb80006bffffcc00018bffffc9ffff8bffffdc8000b0ffffff
+cccdc0080ef8c0eb0124eb0324f8f015b70a0ef8a3e701fb70e7cfe703fb70f8d115
+e20af73416e20a0ef96276c4a601ffffa94ccdff002fcccc03ff003b199af96715ff
+000380009cfffff84cccb4548b618bffffd7e66768fffffb800075fffffd99997fff
+0004e6677c9e8b948bff000f199995ff0002333496ff0001999a93fffffe333291ff
+ffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff00063332919e8b
+a08b9181fffffb4ccd74fffffd999a7ffffff880007ffffff599997ffffff180007a
+ffffee800075fffff8199a6908a706ff00074ccda5ff000d66669cff00144ccd9bff
+00134ccc9bff001233349bff0004199a9f080ef8cea6f704a601ffff77e666f74203
+ffffda3334f95915ff001dffff8b9a72fffff9b3336cfffffa4ccd6fffffe74ccd6f
+6c8b6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00183333a5ff001f00018b
+08ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff000933
+33b8ff0009999abaffffde3333afffffd200018bffffd1ffff8bffffcf999a66ffff
+f699995d080eff0065999af94715ff0003ccceff00129998fffff2b334ff00126668
+768b7f8bfffff8666688fffff933338208ffff95b333fb1f05fffffeccce8affffff
+999989ffffffcccd8afffffe666683ff0007e66686908b8d8b8d8bff000266678d08
+ff00886666f70205ff0007333291ff0002800092ff000133349108ffff7d33339115
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+677e08ffffa24ccdfb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023333918c90080effff876666f8a915bd06ff00266665b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800070ffffd8e66672ffffd34ccd65ffffe54c
+cdafffffe4199aa4ffffdee666a808ffffe966667e05ff001b4ccd65ff001bcccd5e
+ff001366665c080ef8b8f73601ffffbbb333ff00544ccd039bf953158490fffff880
+008d848b858bffffefe66686fffff4ccce85fffffbb33271fffffa199a6efffffb19
+9a73fffffbb333768672fffffae66677ff0006333387ff0008999a89928b918bff00
+10999a8eff000a66669208ff0004e666a8ff0006199aa9ff0004b333a2ff0004b333
+a2ff0004999aa2ff000480009c080ef8aff74801ffff2ee666ff00b9666703ffffc3
+b334f8af15ff0024999af7485f8bffffdb6666fb4805ffffc433328c15ff00246667
+f7475e8bffffdb9999fb47050effff94cccdf98315ffffe8999a8bffffedb334ffff
+ede668fffffc6666ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff00
+5b9999fb0205ff0001999989ff0001cccd8a8e8bff0002999a8bff000b4cccff0004
+4ccc8dff0009b334ff000033348cff000066668dffffff33338c08ffffce4ccdf71f
+05fffffccccc94fffff966678d7f8b08ff008933339115ffffe080008b7cffffe9cc
+ccfffffd3333fffff233348a86ffffffb333858f8608ff004d6666fb0d05ff000199
+9a89ff0001cccd8a8e8bff000b33338b90ff000a6668ff00008000ff00029998ff00
+0033348cff000066668dffffff4ccd8e08ffffde6666f72305fffffdcccc94849080
+8b080ef8a5c4cfe601fc16a6cae5caa603ffff663333f94f15fffffae666729b77a4
+8ba48ba39fff0005199aa4ff00051999a4fffff04ccda0728b728bffffe7b33376ff
+fffae6667208ffffbc4ccd7415ffffe2999a7f05fffffcb33336ff0028cccd59d18b
+c68bd5bcff001d8000e108ffffe766669705ffffea333351ffffcb80006b578b558b
+ffffdc8000b0ffffffcccdc0080ef8e0c401ff00014ccdff001d666603ff00014ccd
+f88615ff001d66669705ff00034ccce0ffffd73333bd458b508bffffb6199a5affff
+e280003508ff001880007f05ff0015cccec5ff00348000abbf8bc18bff0023800066
+ff0000333356080ef868dddb9f01ffffd0199aff0080333403ffffff3333f86815ff
+0022ffff8bff00151999a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+cccd8bfffff9cccdfffff966688fff00139998ff0004b333a2ff001a999aabff003b
+666697ff0001666792ff0000e66694fffffccccd8fffffd8ffff86ffffe06667ffff
+ef1998ffffeacccdffffeae66808ffffebe66677fffff4999a75fffffb199a73ffff
+f8b33367ff000f666766ff0026ffff8b080ef86a9fdbdd01ffffe0999aff00803333
+03ff0031b333f92015f76a0a0ef86f9fdbdd01fffff5cccdff0077800003ff0042b3
+33f92515ffffd8ffff8bffffe1666766fffff8b33367fffffb199973ff0002999a75
+ff000be66677ff000c999affffeae666ff0018999affffef199ab086ff0004cccc8f
+ff0002e66794ff0001666692ffffc9666797fffff28000abff0004b333a28fff0013
+9998ff00038000fffff96668ff001833338b08b38bff000ecccda3ff000380009cff
+00034ccd9bfffff51999a4688b080ef85e9fdbdd01ffffd63334ff0080333303ff00
+273333f91415ffffdcffff8b7672fffffcb3337bfffffc80007aff0005199a73b38b
+ff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffffe566676b
+ffffc4999a7ffffffe999984ffffff333382ff0003333487ff0026ffff90ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b8000a1ff0004e666
+a3ff00074ccdaffffff08000b0648b080efb6ff72101fffe94ccccff00a4800103ff
+fe94ccccfb0b158981ff007a199a3d05ff000de667fffff73333ff00079999fffffc
+cccd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cc
+cd9408ffffb2e667f205ffffff33328cfffffb33348c878b6e8bffffe4666674ffff
+f14ccc79080efb6af72601fffea14cccff00b9666703fffeac8000fb6a15908bff00
+0733348cff0008cccc8f08ff008e6666c305ff0003999a8eff0005999a98ff000199
+9993ff0005b333a7859e859508fffff6cccd8fffff7300012405fffff1cccc80ffff
+f3199a82fffffe333282ffffff666888fffffecccc80988b080efb6d76d1b601fffe
+9accccff00b0ccce03ffff296666fb7915ff00223334f73c05fffffb99998efffffa
+66678d848b848bfffff6999989808608fffff366674dfb008b05fffff7cccc85ffff
+fb4cce83fffffe666683fffffe999a84ff00014ccc83ff0002cccc8508ff006f0001
+8bfffff2cccd4a05ff0006666688ff0005999a89928b928bff000899998eff000a33
+3391080efb6c76d0b601fffe86ccccff00b0ccce03fbeb4b15ffffddccccfb3c05ff
+0004666888ff0005999889928b928bff000966688d969008ff000c9998c9ff006c00
+018b05ff0008333491ff0004b33393ff0001999a93ff0001666692fffffeb33393ff
+fffd33349108fb038bff000d3332cc05fffff9999a8efffffa66668d848b848bffff
+f7666888fffff5cccc85080efc04f8bfb401ff006f3333ff00b1999903ff0102e666
+f84915ff001de666f727fffff7800097ffff6e00018b05fffff0666783fffff98000
+848a868a86ffffffb33380948608f70c8bffffe73334fb0e05ff0007666683ff0009
+cccd8a918b908bff0009cccd8fff0006cccc94080ef7e0a5c7e001ffff7a8000ff00
+7fe66603fffffa6666f83315ff0009999abaffffee4ccdb4658b6f8b767cfffffb19
+9973fffffbe66777ff0008800075ff0022333387ff000dcccd8aff000b666783ffff
+fd66667efffff9199a69ffffd6199987808b08738bfffffab33371a38b05c28bff00
+268000abff000a6666be080efb88b2f704b401fffea4b334ff00817fff03fffeccb3
+34fb2915ff0005e666a8ff00158000a6b78b8d8bff0002cccc8a8e8b08ff000a4ccd
+b405fffffd33328c878b878b548bffffcb800061fffff4ccce54fffff5333256ff00
+20800061c08b908b908bff000533348c08ff0008e666b205898bfffffccccd8affff
+fcffff8b5e8bfffff4199aa4ff00064cceaa080efb78b701fffe828000ff00b3199a
+03fffe86999afb7815f73c068f90ff00034ccc91ff0001666792ff0001666692ffff
+ffe667948895084d8bff0015e666f70005fffffb666692fffff8b3348e838b848bff
+fff74ccc88fffff933348708ffffe98000fb034a8b05fffffb999a84fffffcb33285
+fffffe999a84fffffe999a84ff00014ccc83ff0004333482080efb6376f70ab701ff
+fe9c999aff00b3199903ffff4b999a4915fb3c068786fffffcb33285fffffe999a84
+fffffe999a84ff0000199a828e8108c98b75fb0005ff0004999a84ff000766668893
+8b928bff0008999a8eff0006cccc8f08ff0016999af703cc8b05ff0004666692ff00
+034ccd91ff0001666692ff0001666792fffffeb33393fffffbcccd94080efb6d76d2
+b601fc0dff00c2800003fffeec999afb7815ff000c6666c8ce8b05ff0007cccd94ff
+0004800092ff0001333391ff0001666692fffffe800092fffffc66679208478b98cb
+05fffff9000190fffffa66668dfffff900018b858bfffff8666688fffff4cccc8508
+fffff366664d488b05fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408d18bfffff2cccc4a05ff0006333487ff0006999a8992
+8b918bff0008999a8eff000a666692080efb3bb601fc0dff00c2800003ffff45cccd
+fb1015ffff4cffff06fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408f74906ff0007cccd94ff0004800092ff0001333391ff
+0001666692fffffe800092fffffc666792080efb81af01fffee4199ac303ffff3f19
+9afb5d15728bfffff1e666a3ff0004199a9fff0003b3339dfffff19999987d8b7b8b
+fffff34cce7efffffd66667efffff7b33262ff002b00015fc48bc98bff001a6666be
+ff000dcccdcf08ff001acccdf718788b778bffffea4ccc20057f50785a658b080efb
+81af01ff0014199ac503ffffcfcccdfb8115ff003600018bff003f9999b5ff0008b3
+34b6ff0002999998fffff8b333987b8b7d8bffffec66677efffffc4ccd79fffffbe6
+6677ffffe8199a73728b658bff0000ccccbbff000c3334c708ff00154ccdf4778b78
+8bffffe5999afb1605fffff2333347ff0005999a58c98b080efb3bf70001fbb9f700
+03fbb9fb0515fffff9b3346cff00124ccc74aa8baa8bff001bb333a2ff00064ccdaa
+ff00064ccdaaffffedb333a26c8b6c8bffffe44ccc74fffff9b3346c080efb3bf700
+01fc1df700e5f70003fb57fb0515fffff9b3336cff00124ccd74aa8baa8bff001bb3
+33a2ff00064ccdaaff00064ccdaaffffedb333a26c8b6c8bffffe44ccd74fffff9b3
+336c08fb5a16fffff9b3346cff00124ccc74aa8baa8bff001bb334a2ff00064cccaa
+ff00064cccaaffffedb334a26c8b6c8bffffe44ccc74fffff9b3346c080efb5ca6f7
+04a601fffeb83334ff00adffff03ffff1a999a4e15a98bff000ee66672fffff9b333
+6cfffffa4ccd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b334a7ff
+00061998a9ff00184ccea5aa8b08ffff9d999a5315fffff699985dff0021800066b9
+8bff003000018bff002eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d
+8bffffcf800066fffff6999a5d080efb76a3dadd01fffea8e666ff00814ccd03fffe
+fdb33462156e8bffffe7199878fffffb199a73fffffa800070ff0017333482ff0010
+666688ff0011999a89ff000c333387fffffbe66777fffffc4ccc79ffffe1199a73ff
+ffcccccc80fffffe333482ff0000199a82ff0004cccc85ff003acccc94ff00373334
+a9ff000c3333c708ff000a999abfffffeee666adffffda00018b080efb5ca8f73f77
+01ffff4d8000ff003f333303ffff3280002b15ff0012cccdff00083333fffff6999a
+fffff11999ffffe1999affffe7e666ffffebb333ffffdbcccd1fffffec00018bffff
+f5e6668f7295fffff7999a84fffffb800084fffffd99987fff0016ccce80ff000fb3
+3285ff002000018b08ff003c4ccdff003f1999ff0020e666c1ff001e8000ffffe799
+9aff0012999affffdcb3331f828bfffff6cccd8afffff799998908ff0026999ace69
+8bffffc480002bff0004b3338505ff0010ffff90ff000a4ccd8c9e8b080efb5cb101
+fffe8e6666ff00c4333403ffff52999afb1b15fffffd666692fffffacccd8f828bff
+ffe5800075ffffecb3337b6e8b668bfffff74ccca0ff00054ccea5ff00096666b9ff
+00286666abff00486667be08fffff580009c05315affffb5800057fffff4999a5380
+55ff0021e66677bd8bff002900018bff002c19999fff00263334b8080efb81f74501
+fbdeff0057999a03fffeec6666fb7915ff00213334f73705fffff4cccc8ffffff766
+668d828b848bfffff8999a89fffff533348708ffffde6666fb3905ff000b333487ff
+0007999889938b928bff000866688dff000c333291080efb63f70b5fb712fffe604c
+ccff01024cce1360fffe8ce666fb5915ff000d3334ccf72c8bfffff233334705ff00
+05ccce85ff0006666688918b928bff0007cccd8fff000b99999308ff0011b334e205
+13a0ff0002cccc99fffffdb33493778b081360fb4d067b8bffffee4ccc7efffffdcc
+ce8008ffffee1998330513a0ff0006666888ff0006333287938b08928bff0007999a
+8eff0009666692080efb75cb01fffe55e666ff001ab33403ffff7880003f15fffff3
+199a6effffe4999953678b708bfffff0e667adfffffcccccc0fffffe33348c878b87
+8b888b888bfffffccccc8affffdab3343bffffe0999a847e8b6f8bfffff5ccccacff
+fffc999abf08fffffdcccc8affffeb4cce7efffffc333287ff0001b33436ff001599
+9a5dac8b998bff00234ccc96ff00283334d1ff0009999844ff0020e66781998bae8b
+ff00293333c2ff00208000d788907e95fffffb999a8e080efb70f72301fffea3b334
+ff00fcffff03fffeee3334fb7015ff0031ffff06ff00266666b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800170ffffd8e66672ffffd34ccd65ffffe54c
+ccafffffe44ccea5ffffdeb332a708ffffe966687e05ff001ae66663ff001c333260
+ff001366685c080efb75f72301fffe93199af79203ffff464ccd39155906ffffd8cc
+ce5effffd0e6665effffd5199a6408ff0011199a7d05ff002a8000a6ff00261998a4
+ff002cb334b1ff0019b33367ff001ce66772ff002119996e08ff0017e6669905ffff
+e51999b3ffffe2b333b6ffffed6667b9080efb7ac401fffe69b334ff001d666603ff
+fe87199a3815ffffe2999a7f05fffffcb33236ff0028ccce59d18bff003affff8bd5
+bcff001d8000e108ffffe766679705ffffea333351ffffcb80006bffffcbffff8b55
+8bffffdc8000b0ffffffcccec0080efb6176e5c401fb51ff001d666603fb51fb7615
+ff001d66669705ff00034ccde0ffffd73333bd458b508bffffb6199a5affffe28000
+3508ff001880007f05ff0015ccccc5ff00348000abbf8bff003600018bff00238000
+66ff0000333356080efb0eb78fb901fffe903334ff01274ccc03ffff64199a3d1578
+8bfffff1199995fffff2666797ffffeecccc99ffffece66799ffffe1ffff8b608bff
+ffe2e6686d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd
+80ff001233337dff001280007fa18bb98bff0023199aa9ff00183333c708ffffe933
+339105ffffe97fff61ffffefe66781758b080efb17b701fffe806666ff00f3199a03
+ffff564ccdfb1715ff000d00018bff000dcccd9dff0002666697ff0001666692ffff
+fd666792828b08ffff32ffff067f8bfffff280007afffffd999a7ffffffe999a84ff
+00024ccc83938b080efb17b701ffff9c4ccdfb1715ff000d00018bff000dcccd9dff
+0002666697ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd
+999a7ffffffe999a84ff00024ccc83938b080efb67b7b9b701fffe66199aff011966
+6603ffff626666fb0d15988bff000db3349dff0002666697ff0001666692fffffd66
+6792828b08ffff1effff067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b08ff00ceb3343115988bff000db3339dff0002666697ff0001666792ff
+fffd666692828b08fb75067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b080ef73fb78fb901fffecbccccff01274cce03ffff9fb333f76b15ffff
+ecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffff
+e2e6666d715008a28605ff0010b334acff0010199a9aa58b9c8bff0010b33380ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933339105ffffe9800161ffffefe66681758b080ef75db701fffef0e666ff00f3
+199a03ffffc6e666f75d15988bff000db3349dff0002666697ff0001666692fffffd
+666792828b08fb6106fffff400018bfffff27fff7afffffd999a7ffffffe999a84ff
+0002666683938b080ef75db701ffffdfe666f75d15988bff000db3349dff00026666
+97ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd999a7fff
+fffe999a84ff0002666683938b080eff00106666f85a15fffe2b3334fc5c05fffffe
+e6667cff0009cccc809b8b08ff01d66668f85f05fffffe999898fffff8199a957a8b
+080e9376f9337701fffda366687e15ff02896664f91505ff0000ccceff000ee668ff
+fff44cccff000f1998788b08fd1dfd1305ffffffe6647cff000a999c7a9e8b080efb
+88b4f704b201fffee5999aff0081800003ffff3f199afb2715fffffa19996effffea
+800070ffffd400018b898bfffffd33328c888b08fffff5b3346205ff0002cccc8a8f
+8b8f8bc28bff00348000b5ff000b3334c2ff000accccc0ffffdf8000b5568b868b86
+8bfffffacccd8a08fffff7199a6405ff000200018bff000333338c8e8bb88bff000b
+e66672fffff9b3346c080efb65f70bfb0bb712fc31ff01024ccc1360ffff38b33327
+15fffff2b3334afb2c8bff000de666cf05fffffa333491fffff9999a8e858b848bff
+fff8333287fffff466688308ffffee4ccc340513a0fffffd33347dff00024ccc839f
+8b081360f74d069b8bff0011b33398ff000233339608ff0011e667e30513a0fffff9
+999a8efffff9cccd8f838b08848bfffff8666788fffff6999984080efb82abf1ab01
+fffe78999aff00d7cccc03fffeb8cccc2315ff006c00018bffffeb4ccd25fb008b05
+fffff64cccf71a15ffffde3334fb3af74a8bff0021ccccf73a050efb1dcb01ffff5b
+cccdff001ab33303fffe53ccccfb7215ff000ce668a8ff001b6666c3af8ba68bff00
+0f199a69ff0003333256ff0001ccce8a8f8b8f8b8e8b8e8bff000333328cff00254c
+cddbff001f666792988ba78bff000a4ccc6aff000366675708ff000233338cff0014
+b33398ff0003cccd8ffffffe4ccde0ffffea4ccdb96a8b7d8bffffdccccc80ffffd7
+ccce45fffff66666d26a957d8b688bffffd6e66654ffffdf80003f8e86ff000ce666
+81ff0004666688080eff01b6e666ff00cb199a01fffef4e666ff00e9199a03ffff85
+3333ff021c333415ff0058cccdff0049ccccffffe9999aff001c1998ffffa7ccccff
+ffb63334ffffc5e667ff0049b334ffffdd80006fff003acccdffffb63334ffffa74c
+ccffffb6ccccff0017199a6fe3ff00491998ff003a4ccdffffb6ccceff0021ccccff
+001c199a050eff01b8ccccff00133334f74cff0013333401ffff473333ff0064cccd
+03ffff876666f8f015fffffce665fffff0ccccfffff48000fffff26668fffff2cccd
+fffff33334fffff066667bfffff0199affffee6664fffffb19997384ffffdd999aff
+0016b333ffffed999aff0031999afffff4cccc08ff00084ccdff0013333405ffffe4
+999a9380ff000a6666ff00043334ff0014ccceff0002ccccff000d9998ff000cb334
+ff000f3334ff000c9999ff000e6668ff000fb333ff0010cccc99ff0010ccccff0003
+999aff00119998ff00078000ff0024ccd0ffffea4ccdff00173330ffffcd3333ff00
+09999c08fffff6cccdffffeccccc05ff0022b334fffff4ccccff00068000fffff4cc
+ccfffffc6666ffffee6668080ef873b7b9b701ff002accccf8cd15988bff000db334
+9dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff280007aff
+fffd99987ffffffe999a84ff0002666683938b08ff0146b3343115988bff000db333
+9dff0002666797ff0001666692fffffd666692828b08fbed067f8bfffff280007aff
+fffd999a7ffffffe999a84ff0002666683938b080ef8b7f73501ffff9b8000ff0084
+e666037ff95815e00a0ef8b8f73401ffff83199aff00b5999a0383f95815ffff9c4c
+cdfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe99
+9984ff0005cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffff
+ff33339605ffffed7fffa1ffffe6b3338cfffff9999a8b868bfffff9b3338afffffc
+cccd8a080ef88cb78fb901fffee5999aff01274ccc03ffffb98000f8b815788bffff
+f1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d7150
+08ff0016e6668605ff0010b333acff0010199a9aa58b9c8bff0010b33380ff000fcc
+cd80ff001233337dff001280007fa18bb98bff00233333a9ff00183333c708ffffe9
+33339105ffffe9800061ffffefe66681758b080ef86a9fdbdd01ffffe0999aff0080
+333303ff0031b333f92015f76a0a0efb55f8a5e701f73fe7cfe703f73ff8d315ffff
+fae66672ff0010b33476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffff
+ef3333a0728b728bffffe6cccd76fffffae6667208f73416fffffae66672ff0010b3
+3476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffffef3332a0728b728b
+ffffe6ccce76fffffae6667208ff0048e666f767157e8bfffff3ccce85fffff9cccc
+8008ffffaee666fb2305fffffe666688fffffe199a87ffffff666688fffffe999a84
+ff0004ccce85938b8f8bff0005cccc8fff0003cccc8f08ff0074cccef70e059090ff
+0003b332938c90ff0004199a9f789a778b080efb82b301ffff024ccdff00ad333303
+ffff12e6664115ffffef66673905fffff4333451ff0022199a73bb8ba48bff0030e6
+6699a8d008ffffe8999a9305fffff3800070ffffeb199973798b778bfffff8b333a2
+ff000b3334c208ff000a9999bfffffeb666792050ef877f70b5fb712fffeecb334ff
+01024ccc1360ffff194ccdf88115ff000d3333ccf72c8bfffff233334705ff0005cc
+cc85ff0006666688918b928bff0007ccce8fff000b99999308ff0011b333e20513a0
+ff0002cccd99fffffdb33393778b081360fb4d067b8bffffee4ccd7efffffdcccd80
+08ffffee199a330513a0ff0006666688ff0006333287ff000800018b08928bff0007
+99998eff0009666792080efb67b7b9b701ffff9e6666fb0d15ff000cfffe8bff000d
+b3349dff0002666697ff0001666692fffffd666792828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b08ff0146b3343115988bff000d
+b3339dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b080efb75f74501fffec56666ff
+00b7999a03fffeede666fb6d15ff0021199af73705fffff4cccd8fff000066668dff
+fff700018b848bfffffd999889fffff533348708ffffde6666fb3905ff000b333487
+ff0002999a89938b928bffffff80008dff000c33329108f70216ff0021199af73705
+fffff4cccd8fff000066668d828b848bfffffd999a89fffff533338708ffffde6666
+fb3905ff000b333487ff0002999989938b928bffffff80008dff000c333391080eff
+ff978000b201fffee84cccff0093999a03fffef93334ffffbe8000158186fffffa19
+98828a86fffffeccce85ffffffe66686ff000633348208ff0060ffff8bfffff1cccd
+45058e81ff0006999a89908b908b9690ff000acccc9908ff00128000e6fffff64ccd
+96050ef8aab78fb901ffff09b333ff01274ccc03ffff8e3333ff01ef666615ff0016
+999aff0030666605ff000ae667fffffa199cff000b6667fffffc1998ff000c80008b
+b98bff00233333a9ff00183333c708ffffe933339105ffffe97fff61ffffefe66781
+758bfffff2999a8bfffff4999990fffff5b333ff0007199808ff001d6666ff003ee6
+6805fffff9ccce94fffffbe666ff00048000fffff7199a8bfffffc19998bfffffd80
+00ffffff9998fffffab333ffffff666808ffffe6999affffc9999805fffff23333ff
+00098000ffffefe666ff00076668ffffea199a8b608bffffe2e6666d715008ff0016
+e6678605ff0010b333acff001019999aa58bff000f999a8bff000f6666fffff6b334
+ff000e999a8108ffffe58000ffffc74ccc05ff0004e66683ff0001cccdfffffc3334
+ff00064ccd8b8f8bff00073333ff0000ccccff00078000ff00006666080eff01d3e6
+66ff00423332ff0009e668b78fb9fffffde668ff0042333012ffff40cccdff004233
+33c5ff0042333313ccffff5b3333ff01d3e66615ff0011ffff8bff0012199aff000f
+199aff0003b3339dff0003b3339d7fff000f1998798b798bffffedcccdfffff0e668
+fffffc4ccd7908fffffc4ccd79ff000c1999fffff0e6669d8b0813dcff007c3334ff
+00a80002159d8bff0012199aff000f1998ff0003b3339dff0003b3339dfffff3e667
+ff000f1998798b798bffffede667fffff0e668fffffc4ccc7908fffffc4ccd79ff00
+0c1999fffff0e6689d8b08ff00083334ffffd0199815788bfffff1199995fffff266
+67970813ecffffeecccc99ffffece667996d8b608bffffe2e6666d715008a28605ff
+0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff00128000
+7fff001600018bff002dffff8bff0023199aa9ff00183333c708ffffe933339105ff
+ffe97fff61ffffefe66781758b080ef88eae8baca6ae8bad12fffef56666ff0127b3
+34138888f8d315868bffffed199a695f8b081348778bffffc4b333ac6e8b6c8bffff
+e24ccd79ffffe54ccc6afffffeccce85ff00094ccc7e938b918bff0012999ab0af8b
+081388a98bff0036cccc68ab8ba98bff001be6679eff0018e666ad08ff0001333391
+fffffa199a95838b08ff00138000eb151328858bffffede666685f8b081318778bff
+ffc3e667ad6f8b6b8bffffe3199978ffffe54ccd6a08ffffffcccd8a05ffffff6666
+88ff0001666788ff0005333387ff0003333387ff00036667888f8b918bff00114ccc
+afb08b081328ac8bff0033e66768ab8ba98bff001c19999fff0018b334acff000199
+9993fffff9cccd94838b080efb29a901fffe483334fb1315fffffdb3328005ff0035
+80006bff0016b3347bff000be6666808ad06fffff78000abffffef4ccca0fffff1e6
+689e08ff00c8ffff06ffffe9e66677ffffe5e66677ffffeb80006b08ae06ff00224c
+cdaaff002c8000abff002a19999f08ff00024ccc9605ffffd1b3329dffffe06667ba
+fffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f08ffff36ffff06
+9595ff00224ccea5ff00178000b0086a06ffffeeb3327bffffcd999a5cffffca4cce
+79080efb7af75e01fffea23334ff00b5e66603fffede3334fb7a15a98bff0017cccc
+f70905ff00104ccd79ff000f800075ff001d33337d08ff0007199aae05ffffe6b333
+a7ffffe7cccdb1fffff3b333b1088006ffffe3ccce59ffffc8999a62ffffed66667e
+08fffff9199a6905ff0025cccc99ff00203334a9ff000dcccc94080eff01f46666ff
+00c3199a01ffff3a4ccdff00fe666603fffff16666f8ea15ffff508000ffffc3b334
+fffff86667ffffdab332ff00f9199aff0053ccceff00054ccdff001a8000ffff294c
+cdff0054ccccfffff86666ffffdacccc050ef891acf70aab01ffff9e4ccdff0087e6
+6603ffff9e4ccdf8ed15fffff5999a58ff0022b33462be8b988bff000b66668d9790
+08fffffa199aa905fffff8666688fffff8cccd8a828b688bffffefb333a7ff00064c
+cdaaff0006b333acff001c4ccda5ad8b918b908bff000499998908ff000e4ccdaa05
+fffff866668dfffff933338c828b578bffffcdb33362fffff5cccd59080ef891e68a
+76e5c412ffff48e666e5ff0043b334ff001d666613b8ffffa2e666f8bf15ff000519
+98a4fffff0199a9f728b728bffffe7e66677fffffae66672fffffae66772ff000fcc
+cd76a48b08a48bff00183333a0ff00051999a4081378ff0043b334a215ff001d6666
+9705ff00034ccde0ffffd73333bd458b508b415affffe280003508ff0018999a7f05
+ff0015ccccc5ff00348000abbf8b08c18bff0023800066ff0000333456080effff1c
+8000ff00c4199a01fffe70199af77603fffef94cccffff7e333315ff0058ccceff00
+49cccdffffec8000ff0018999affffa7ccccffffb63334ffffc5ccceff0049ccccff
+ffe1e666ffffe76666ff003accccffffb63333ffffa73334ffffb6cccdff00143332
+ffffe78000ff0058199aff00493333ff003a4ccdffffb6cccdff001d8000ff001880
+00050effff1c6666ff00c3333401fffeb74cccff00fe999a03fffefeccccfb1615ff
+00af8001ff003c4ccdff0007999aff00254cccffff06e666ffffac3334fffffa8000
+ffffe46666ff00d6e667ffffac3333ff0007999aff00254ccd050effff1c6666ff00
+c3199a01fffea63334ff00fe666603ffff5d4ccdfb1615ffff507fffffffc3b333ff
+fff86668ffffdab333ff00f91999ff0053cccdff00054cccff001a8000ffff294ccc
+ff0054cccdfffff86666ffffdacccd050effff1c4ccdff00c3666601fffed2199afb
+1615ffff63b332ffffc3b333fffff86668ffffda999aff00e51999dfff00054ccdff
+001a6666ffff3d4ccce0fffff86666ffffda999a05f7bfffffe0000115ff0023199a
+ffff833333ff00254ccc8bffffd3199af755ffffe6cccd8bffff828000fb55ff0025
+66668b050ef89bacf70aab0129ff00914ccd03ff002f4cccf8f715ff000a3334bdff
+ffde4ccdb4588b828bfffff7cccd8afffff8999a8908ff0001b3336c05ff00056667
+8d908b918bad8bff0011b33371fffff94ccd6afffff9b3336cffffe44ccd6f688b82
+8bfffff933338cfffff9999a8e08ffffede6666d059586ff000a999a89988bbe8bff
+00324cccb4ff000a6666be080efc76f8e0f30149f303ff00403333f91415fffffa4c
+cc6fff0013199a73a78ba78bff001ce666a3ff0005b333a7ff0005b333a7ffffece6
+67a36f8b6f8bffffe3199973fffffa4ccd6f080efb0eb012ffff27cccdff003ee666
+fffff88000ff002b6666ffffdc199aff0030199a13c0ffff5f6666fb1215ffffe9b3
+3476ffffe4cccc8ffffff9e6676dfffffe333382ff0005800084948b081390ac8bff
+ffff4ccdaaff0011e666a3ff0008800075fffff84ccd6aa58b938bff000b4ccd918d
+95ff0005e666a8ffffe4999a89fffff119999fff000a66678dff0008cccd8a968b9f
+8bff0012199991ff00034ccd9b08ff0001333391ffffffb33398798b798bfffff519
+9a78ffffe5cccd800813a0ff00044ccd9bff00116666a1ff0003199a9aff00029999
+98fffff54ccd91818b818bfffff2e66681fffffdcccd80fffffd33337dff000ae667
+7cfffffd800075ffffea333396fffffab3339d788b7e8bfffff8e66781fffffe6666
+8308fffffc80007aff0009199a86988b978bff000699998e918b08928bff00066667
+88ff0005cccc8a080efb6aa6f704a601fffea14cccf7cb03ffff4f4ccdfb1715ff00
+06199aa9ff00184ccda5aa8ba98bff000ee66772fffff9b3336cfffffa4ccd6fffff
+e766666f6c8b6c8bfffff2999aa7ff0005b333a708ffff51ffff16fffff6999a5dff
+0021999a66b98bff001be6668bff001b6667ff000ce666ff0013e666ff00138000ff
+000c4ccdffffec4ccdff0016999afffff34ccdff001ae6668bbb8bff002e999ab1ff
+00093333b8ff00099999baffffde4cceafffffd1ffff8bffffe5199a8bffffe44ccd
+fffff36666ffffebb333ffffec4ccd08fffff3cccdff0013cccdffffe93333ff000c
+8000ffffe4e6668bffffd200018bffffcf800066fffff699985d08ff00626667c315
+ff001dffff8bff000ee66772fffff9b3336cfffffa4ccd6fffffe766666f6c8b6c8b
+fffff2999aa7ff0005b332a7ff0006199aa9ff00184ccea5ff001effff8b080ef8da
+b701ffff5fcccdff00d9199a03ff0031b333f8f415ff0003ffff90ff0002cccd8fff
+000066668d8c90fffffb80008d808b082306848bfffffd33348cff0000cccc8fff00
+0066678dff000166668dff000166678d08ff002b4ccdd605ff0000cccd8ffffffa66
+678d808b868bfffff8cccc8afffffd999a8908ffff9c3333fb0905fffffc333287ff
+fffe4ccd88ffffff999a89ffffff333387ff0004666688968b08f306938bff0004cc
+cd8affffff999a89ffffff999989fffffe666788fffffe66678808ffffd2e6664105
+ffffff1999fffffb8000ffffff4ccdfffffc8000998b908bff000a66668dff000299
+9a8e080efb81c001ffffcfcccdfb8115ff008800018bff008f8000b0ff00776667f7
+0708fffff2b3329d05ffffa6999a4effffa6999a53fb588bfb548bffffb16666c3ff
+ffc76666c808ffffeb4cce7905cefb05ff0078199964f72a8b080ef86fc0f7097701
+ff0060999af86f15ff008800028bff008f999ab0ff00776666f70708fffff2999a9d
+05ffffa699984effffa6999a53fb588bfb548bffffb16667c3ffffc76666c808ffff
+eb66677905cefb05f70c64f72a8b080ef8a6bc01fffef1ccccf8a615f97306988bff
+0011199a9fff0002666697ff0001ccce94fffffeb33293808b08fd73067f8bffffed
+e66877fffffd99987ffffffe666883ff0001199882968b080efb1abc01fffe6ab334
+fb1a15f97306988bff001119989fff0002666897ff0001cccc94fffffeb33493808b
+08fd73067f8bffffede66677fffffd999a7ffffffe666683ff0001199a82968b080e
+f8bbc691c601fffea84cccf8b715ff001d33348705cab7ff0068cccda8dd8bc68bff
+003e33337dff00354ccd79ff00344ccd79c27cc18bc38bff0099999a98ff005ecccc
+f608ffffe433349105ffffc2cccc59ffff93999a7a498b588bffffc2999998ffffc5
+199a9fffffcab3339dffffcbcccc99ffffca00018bfb238bffff7533334cffffd4cc
+cc4a080ef914c501f722f94e15fb1c8bffff69cccd4fffff893333fb0e08ff000d4c
+cd7905ff004a999ac9ff006d4ccddbf7588bff00c000018bff0052b33240ff002f66
+664808ff0014b3349d05ffffc4ccccf70effff863334c7fb2a8b080efb29a901fffe
+dbccccfb0b15fffff9e6686df8618b05ffffe9e66677ffffe5e66677ffffeb80006b
+08ae06ff00224ccdaaff002c8000abff002a19999f08ff00024ccd9605ffffd1b332
+9dffffe06667bafffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f
+080ef8919ef7099a01ffffd3cccdff0034333303ffffde6666f8df15fffff7b33362
+05ffffee66667efffffce66686808b7d8bfffffe199a95ff0002333396ff00023333
+96ff00094ccd9bff002a33339608ff000a33343d15958bff000acccc8fff000a999a
+9308fffffd33339605fffffdcccc8afffffccccd8a898b868bffffffcccd94ff0004
+8000a108ff0007999ab005ff000a6666beffffe2333396718b748bffffdb80007aff
+fffb800075fffffe666683ff0008cccd85938b958bff0008666692ff0000cccd8fff
+0000999a8eff0000b3338effffff33338cffffff33338cff000066678dff0000cccd
+8f08ff0001cccc94ff0004ccce8f9d8b978bff000a666688fffff7e6666308ffffe5
+66668305ffffdc333482ffffe7e6667cfffffb4ccd74fffffb4ccd749a7ca28b9d8b
+ff0004e66690ff00154ccd9b8b81ff0003cccd809c8b080ef891a1c59db19c01ffff
+35999aff0087333303fb1df8a715788bfffff080009cff00084ccdb408eb06ff0006
+b334acfffffc3333b3578b5e8b6964fffff8e66768fffffab33371ff000080007aff
+000999997fff0009999a7fff0010999a7fa68ba78bff0014999998ff000f4ccd9b08
+fffff766669705fffff299987ffffff2800084768b08ff001f8000d7155806ff0004
+b3339d989f9c8b988bff0009333382fffffa199a6e080ef89399f70399bab701ffff
+964ccdb703ffff9b4ccdf8b215ff00186666f70c808b05fffff1cccc85ffffed199a
+87ffffed999989fffffecccd85ff0000333387ff0000333387ff000f999a89ff0005
+b3338afffffd66677e08fffff033343d05fffffd66677efffff6b3338afffff46667
+88fffffe333387fffffecccd85ff0000333387ff000a33338cff001233338c948b96
+8bff0011cccd8aff0007cccd8aff0001cccd8fff0001333391ffffffcccd8ffffff6
+99998efffff8b3348eff000233339608ff000c8000f72f15ff000c00018bff000c19
+9995ff0002666797ff0002666797fffff81999957f8b7f8bfffff3e66681fffffd99
+9a7ffffffd99997fff0007e66781978b080ef8919bf70a9b01fb0dff0093666603ff
+ffe0199af92715538bffffe533335bfffff9b3336cfffff8e66668ff000eb33467be
+8bbe8bff001eb333b1ff00071999aeff0005e666a8fffffacccebb508b08ff000e19
+993315fffff9199969fffff080007f7d8b758bfffff519999fff00088000b5ff0009
+3334b8ff000f3333969b8ba28bff000619996efffff74ccd60080ef891a3f7019a01
+ffffe9999aff0038666603ffffc98000f92415ff000033338c058bfffff5cccc8a84
+7effffec33338c8b1effffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a
+8d8b088e06ff0009cccc8aff000433348cfffffd33337d08fffff1e6664605fffff8
+b33267ff000d33347da38b9e8bff001ae6669eff0009cccd9408ff0003cccd8affff
+f8800070978b05ff000f666692ff000b999a8eff001166668d08ff0003199a9a05ff
+fff3cccc8ffffff6cccdff00046668ff0002cccdff000d9998089fedff000033338c
+05ffffffffff8bfffff7cccd8a868b087cffffe833338c8b1ffffffecccd8afffffd
+80007f05ffffff999a898d8b8c8b089106948bff0003999989fffffd999a7f08ffff
+f1199a4205fffff3999a7fffffe8e66681838b7f8bfffff64ccd91ff0005b333a708
+0ef891a1f7069c01fffff0cccdff0023999a03ffffe0b333f92a15ffffd4ffff8bff
+ffdb999a62fffff8199964fffff8199a64ff0010199a69b98ba38bff0016999998ff
+0011e6679e8aff0005b334fffffd8000ff0004b334fffff8e666ff00019998fffff3
+999a7ffffff7e66681768b808b7090ff0009cccdbb08ff00081999b3ff00174ccea0
+ff0010ffff8b9a8bff0002b333fffff61998fffffee667fffff3e668ffffff333382
+ff0007800084948b938bff00094ccd91ff00029999988d95fffffb6667ff000c1998
+fffff48000ff0006e668fffff6e666ff00058000fffff2199aff00018000fffff166
+668b080ef8929cf7069bab9901ffffc4b334f8b415fffff4ffff81fffff480008483
+8b788bfffff566679795bcff00081999b3ff000db333989d8b998bff000566678392
+8108ffffeb66662b15ff0001cccd8afffffb999a7a988b05ff000e666692ff001099
+9a8eff001266668d08ff0001199a9a05fffff366668dfffff7e666ff0004ccccff00
+03199aff000f333408abf731808b05fffff1cccd85ffffed199987ffffed999a8908
+fffffe33337d05ff000e666688ff00084cccff00019998fffffd3334fffff2666808
+fffffa199a6e05fffff9999993fffff2e6678ffffff1ffff8b618bffffe3666761ff
+fff8e66668fffffb6666ffffe94ccc8dffffeab334ff000a33347fff0008b333ffff
+f5b334ff000ce666fffffc4cccff0010999a8b978bff0010999993ff000bccce9408
+0ef89499f704a3a99901ffff283333ff00aee66603ffff82199af93615ff0004e666
+a3ff0003e666998b8bff0000999a8efffffe33338c888bfffff6333387ffffdde667
+86fffff0cccd8a08fffffd66667e05ffffffcccd8a8c8b8c8b08ff000bcccd8a0592
+8bff0003333387fffffb19997308ffffe76667fb0d05fffffd999a7ffffffeb3348a
+fffff299998908fffffacccd8a05898bffffff999a89ffffffcccc8a08fffffdcccd
+8005ffffffffff8bff001533338c988b089dff001bcccd8a8b1fff000233339605ff
+000066678dfffffe33338c8a8b08fffffa33338c05fffff633328cfffffc80008dff
+000266679708ff000e6666d205ff000d999998ff000d800097978b9c8bff000a3333
+87fffffa199a6e08fffff333344c05fffffd999a7ffffffc800089fffff4cccd8a08
+fffff9cccd8a05898bfffffe999a89ffffffcccc8a08fffffdcccc8005ffffffffff
+8bff001633338c998b089cff0019ccce8a8b1fff000233339605ff000033348cff00
+0033338cfffffe33338c08fffffc33338c05fffff566668dfffffd80008dff000233
+339608ff000dcccdcf05ff0007b333b1ffffe8e66799ffffe6ffff8b778bffffe919
+9a78fffff6333382080ef895997ff725719980a212ffff286666ff00fdcccd1388ff
+ff9ab333f8b415fffffd66667efffff8b3338afffff4666688fffffe333387fffffe
+cccd85ff0000333387081348ff000a33348cff000f33338c948b081398968bff0011
+cccd8aff0007cccc8aff0001ccce8fff0001333291ffffffccce8ffffff699998eff
+fff8b3338eff00023333960898cb05ff0000ccccff0003ccccff00008000ff000399
+9cff00004ccdff00036664ff000bb333ff000a3334ff000dcccd93ff0009cccd8b9b
+8bff0003999984fffffa4ccd6f08fffff433335105fffffdcccc80fffff74ccd88ff
+fff5666788fffffe333287fffffeccce85ff0000333287081348ff000833348cff00
+1233338c968b081388948bff0011cccd8aff0009cccc8aff0001cccd8fff00013333
+91ffffffcccd8ffffff5999a8efffff74ccd8cff00029999980898cb051348ff0007
+4cccafffffef4ccd9b738bffffed4ccd8bffffe7b333ffffedb334fffff5cccdffff
+f6ccccfffffd6666ff0012e668fffff33333ff00089998ffffed999a8b081328788b
+ffffec80007afffff633338208fffffe33338c051318ff0006199aa4808b0513a8ff
+fff1ccce85ffffed199987ffffed999a89fffffecccd85ffffffb333fffffbccccff
+0000b333fffffc3334ff000f999a89ff0005b3338afffffd66667e087c4105fffffd
+66667efffff6b3338afffff4666688fffffe333387fffffecccd85ff000033338708
+1348ff000a33348cff001233338c948b081398968bff0011cccd8aff0007cccc8aff
+0001cccd8fff0001333391ffffffcccd8ffffff6999a8efffff8b3338eff00023333
+9608ff000e6667d205ff000c666697ff000d199a95968b9b8bff0002999984fffffa
+4ccd6f080ef89399f702a6719912ffff753333ff003e666613d038f90e15ff0001cc
+cd8a05ff000cccce99ff0010199a9a9e8bff000fffff8bff00054ccd83fffffdcccd
+80fffffdcccd80fffff7cccc85808b838bfffffb999a8efffffdcccd8ffffffe6667
+8d878b898b878bfffff9199987fffff466667e08fffffd6667888786ffffff333387
+087e4b05fffffdccce80ff00074ccc88ff0009666788ff0000333387fffffecccd85
+fffffe333387fffff833338cffffee33338c808b828bffffedcccd8afffff5cccd8a
+ffffffcccd8fff0001333391ff0001cccd8fff000b99998eff00094ccd8cff000299
+9a9808ff000fccccd90513b0ff0002999998fffffa4ccd8cfffff066668dffffffcc
+cd8fffffffcccd8fff00013333910813d0ff001266678dff0012e6668fff000e3333
+9108ff000ae666060ef891a0f7009e01fb0eff00684ccd03ffffc2cccdf91215ab06
+ff000300018bff000533338cff0000999a8e08ff0002b3339805ff000033348cffff
+ff33338c898b08668bff000a4ccdbeffffe0999a84fffffecccd8505fffffae66572
+fffff566667e758b8a8bffffffcccd8affffffcccd8a08fffffcb3337b05ffffffcc
+cd8a8c8b8c8b08a28bffffec80002b05fffffb199a73ff000e3334829b8b9a8bff00
+12b3338fff001119999aff0000199aff00054cccfffffde6668ffffffb8000ff0002
+b334fffff5ccce85fffffa199987828b828b8b95ff00044ccda0080ef9169a01ffff
+41999aff00a7199903fb2bf89815ff0001333387ff00066667888e8b8f8bff000b66
+668dff000333339108d0f70005ff000b80009cff0003e6668b938b8d8b8d8bff0000
+66668d08ff0002800097ffffff33338c05ffffffffff8bffffeecccd8a818b0880ff
+ffed33338c8b1fffffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a8c8b
+968bff0004cccc8affffff333487ffffff666688fffffe666688888608ffffd3cccc
+ffffba9998ffffef999aff0047666805fffffeccce8fff000066668dff0000999a8e
+8c908e8b908b0890068d8b8d8bff000066668d08ff0002800097fffffe33338cffff
+d8cccd8a0581ffffe533338c8b1ffffffecccd8afffffd80007f05ffffff999a898c
+8b8d8b968bff000219998bff0004199a78080ef8919af70f9801ffff30cccdff00bb
+800003ffff30cccdf89c15fffffdcccd8005ff000a33338cff000633338c988b948b
+ff000ecccd8aff000acccd8a08ff000233339605ff000066678dffffff66678d878b
+818bfffffd9999ff0002b334ff00076667ff00074ccc8b8b9f9eff000b666697ff00
+02333387ff000a6667708b8bff0001333387ff0003cccd857f8b868bfffffd666688
+ffffff33338708fffffe66668305ff000833338cff001833338c988b968bff000fcc
+cd8aff000acccd8a08ff000233339605ff000066688dff000066668d848b7f8bffff
+fc3333ff0006ccccfffffa1999ff0009333408ffffe18000bab3b705ff000e199a9a
+ff0003199a8c978b928bff000080008dff000099998e08ff0001999a9305fffff3cc
+ce8a828b808b818b828bfffff633338c08fffffe199a8205ffffff666588ff0001cc
+cd8a8e8b928bff0005ccccfffffe3334fffff96667fffff8cccc08ffffdeb33367ff
+fff64ccdaa05ffffff000190fffffecccd94918b908bff000333338cff000099998e
+08ff0001e6669405fffff1ccce8a7a8b808b7d8b7d8bfffff533338c08fffffe1999
+8205ffffff666788ff0000cccd8a928b928bff0005666688ff0003999a8408ff0020
+66665205fffffd999a89ffffd71999648b8bfffff266677efffffb800089808b878b
+898bffffff333387080efbe7f8aef77a01f748f75503f7e8f994156b8b776a7d7408
+2dfb359f7ef729f72f059495969e8e968c8d8b8c8b8d8b997c9b798b080efc05fb17
+f77a0188f75503f732ee156b8b776a7d73082cfb34a07ef728f72e059596969e8d96
+8c8d8b8c8b8d8b997d9b798b080efb7afb94b301e1d903f62f1579390589828a838b
+838b63a87ab48ba48bbb99abd0087493057e707673798b7d8b83958ba28b978d9a8f
+9d0897bf7892050efb0c81a7f81dab01f80ce103aed415f76b0a0efb0881a7f71df7
+08f720ab01dce0f2f70b03f84fd415f76c0afb14dd15ac8baaa693aa8c8f8b8f8b8f
+8ba5769f728b6b8b6a6f856d8a868a878b878b729b77a98b080efb0c81a7f723f708
+f71aab01f722f70bf707e103aed415f76b0af711d515ac8baaa692aa8c8f8b8f8b8f
+8ba6769e738b6b8b6a6f846d8a868a878b878b729c77a98b080efbeafb079fe1f3f7
+62f512c6f70652f70113f0f70eea156b8b7174876f8a888b878b888b729c79a58b94
+8b958d92908c838b80898388766d6a547f088d7705c896c5b395c78d968c958b9408
+b678a56b1e86f7971513e88b888a888b888b729e78a58ba88ba7a391a88b8e8c8e8b
+8e8ba4789e718b6d8b6f73866e080efbeaf7baf96f15f76d0a0efb55f8a3e701f751
+e7cfe703f751f8d115e20af73416e20aa9f76715f76e0a0ef7138aa8f76cb201f72d
+d315e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e6f06
+868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e800663
+8b7b9e83b208fb01f8b20586a584937b8b828b81827c7208fbdefcb7057769767862
+8b087f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e87
+1e6e06707c92991f8b928f948f9208f730f76715f60afb38f84d15808b7c84858108
+36fb2305898889868b8a8a8a8b8a8b8a8b859086928b908b908f8e8f08f70cf70e05
+90908e908c900892079c7d99791e0efbc8f782f70801f71cf70b03f74af78215ac8b
+aaa692a98c8f8c908b8f8ba5769f728b6b8b6a6f846c8a878b878b868b739b77a98b
+080ef7008bb265a5f7c0addd77f74bb370a612f893acefa61337f93ef91a15133bfb
+998b3e8a051377fb168c877605898b87921ea906ab9881751f8b878b878a860832fc
+8a05866f7d7a638b086d06848987881f8776f7158d0513bbd98af7c18bc1f7347190
+056f4265564a8b08fb5406787f909d1f8b8e8b8e8c8f08b8f793f7208b05ad8b937c
+8c6e086c07888d87901ea28b8e8e058dab8ca991ad91ac96a993ab088d8b8d881e75
+06878b88878987087f6d0580707f7a688b08fb218bb1f769058fa39993a38b08f730
+06bfa24f601fa68e05fc7cf77015808b7d848580083dfb220588838b8a8b898b8491
+86918b908b8f8f8f8f08f705f70d0590918d908c900890079d7b9a791e0ef77e8aa8
+f7bcb2f793a701f902d315866f7a7b628b087106868b87888a860888788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e4
+f88a058fa79c9bb48b08a506908b8f8e8c90088e9e898c058b2e8a6764348c8b1e89
+8a8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f767
+0590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606ad9981751f8b878b878a870832fc8a05866f7b7b628b08
+7006878b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b
+087106697d95a11f8b8e8b8f8c9008b7f790f7db8b05fc6bf82515818b7c84858108
+3efb230587838b8a8b898b849186928b908b8f8f8f8f08f705f70d0590918d908b90
+8c8c8b8d8b8d8b9d7b9a788b080efb538aa7f8e3a801f807f8d21590a79c9bb48b08
+a506908b8e8e8c90088f9e898d058b2d886864348e8b1e89898778058a868f888f8b
+08a606ac9a81751f8b888b878a860832fc8b05866f7b7b628b087006868b88888a86
+0888788c8a058be98daeb3e1898b1e8d8c8f9e058c90878e878b087106697d95a11f
+8b8f8b8f8c8f0822f92315808b7d848580083dfb220588838b8a8b898b849186928b
+8f8b8f8f8f8f08f706f70d058f918d908c900890079d7b9a791e0ef7327fadf8edad
+01f700e8f85be803f97bf7dd158fa28da08ba08bf735fb08f1fb288bfb478bfb32fb
+2b69fb58877489748b768bfb32f7012af72c8bf7538bf728f721aef75c08fba8f7ba
+15f6dd3ffb2a1f8b71886d856c6cfb4720fb01fb078bfb048b3add8bf7258ba38ea5
+8fa7b1f766f711e1eb8b08fba4ef15808b7d858580083dfb230588848b898b898b85
+9186928b8f8b908e8e8f08f706f70e0590908d918b8f0891079c7b9a791e0ef48aa8
+f8e4a601f804d315866f7b7b628b087006868b88888a860888788d89058be88daeb3
+e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008b2f771f7
+5af7ad05a2ab9b99a98b08a006948b8c8f8c8f088e9d8a8c05788a4f89828b7e8b45
+8d838c08898a8878058a888b88908a08a9069c9189831f87078a868580817d08fb3c
+fb7f28f77f05879689958b91088e078c95928f9e8b08a8068f8b8e8f8c8f088d9d8b
+8c057b8a2e8a858b7e8b398c808c08898a8878058a85928a8e8b0897069a8b94898f
+889783917e937708f70afbb905fb7af84f15818b7c858680083dfb2305898789878b
+898b849186938b8f8b8f8e8f8f08f705f70e0590908d918c8f0890079d7b9a781e0e
+f72e8bc6f8cbae12e0a5a3e1f847e241a513f8f888f70915f70ab0eef4a0f70c8f9d
+8c9e8b9d8bf7113bf1fb438bfb598bfb14fb2a73fb18887a8a7a8b7b8b24c83ee36b
+088451268b055c7891b21f8b8f8b908c9108718b7dfb0bf7688b05968b92918c9508
+99f713054bbc6cbd8bd68b9e8da08fa2a2f714e8f70af71f8bf7038bca3d8bfb038b
+788978877778fb0057402556086cfb130589818e85978b08f7648b0513f4a7f70b71
+8b057b5275885b8b082906fbc0f92915808b7d848581083dfb230588838b8a8b898b
+849186918b908b8f8f8f8f08f705f70e0590908d908c900891079c7b9a791e0efbc3
+81ccf80c77f706e701f701e7cfe703f748c215f7640a44f89815e20af73416e20aa9
+f76715f76e0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30a0e8789
+adf7c0adf78bad12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce
+153e0a856915cd0613f03f0afb425015400a13e8410a0e5e89a7f8d7b270a712f8d6
+a613b0f793f917157e8b7f8c258c0888898979058a868e888f8b08a906ad9785761f
+8b868a858a840832fc8a05856d7a7d648b087006878688861f87798d89058be28db2
+afe8898b1e8d8d8e9d058c90898e868b087106687d97a01f8b8e8c8f8b8f08e4f88a
+0513d090a69a91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050ed689acf9
+007701f867f91f154c8b898b8a8afc08fd0c05888688878a88088b8a8a8a058b8a8b
+8b8c8a8c88928a978b08f8b606928b918b8e8d8c8b8c8c8c8b8b8c8c8c8b8c088d07
+8b8c8c8c8b8c8b8e8a8d8b8f08fb1ef90c8a8c05442b15f70bfca0fc438b050e6889
+a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a15450a1337460a133b
+470a13b7480a137387770513b38d89051373490a13b34a0a137b4b0a0e9c8bb2f8ca
+b398771213c0f8a489156b0a13a06c0a13c06d0a0ef70489a8f7bab5f793a801f8ef
+f8cd154f0a0ef681adf7a5c3f7a3ad01ff00576666ff005ae666f84be403f891f7f5
+15fb3f066f7e8ca01f8b8f8c908c91088c92058c8e8b8f848c0875068b8b875e866f
+85697e578b8b08a1068f8b8e8d8d91088c920591ac988eac8b08f73f06a49a89751f
+8b888b878a86088a84058a84908a8d8b08a1068b8b91bf91ad90a796b78b8b087406
+878b88898a85088a850585697d886b8b0842f7a315580af79bfbbb15590a0efbad89
+a8f8e3a801f769f8cd15500a0ed789a8f8e3a801f769f8cd15510a0ec78ba801f718
+d415f75bf7fdb8e09c34c8fbf9058c868c878b8708777e80621e7006868b88888a86
+0888788c89058be58eaeb2d8888b1e8e8d8e9e058c90878e878b087f06638b839a86
+a80829f8c505889b8693808b818b8183837c08fbcbfcc8057a6b827f608b08800686
+8b88888a860887788d89058bbf8eafb2d3888b1e8d8d8f9e058c90878e878b087906
+667c8c971f8b928f959399080ef78789a8f8e3a801f923e215f76f0a0ef4967693a8
+f8e3a8121360f943f8c115560a13a0570a0ee287cef771c3f786cf01dca5aca6b2a7
+f804a6aba603f886f7e815fb76066f7e8d9f1f8b908c908c90088c92058c8e8b9084
+8b08758c058b8b875e856e856a7f568b8b08a1068e8b8f8c8d92088c920591ac988e
+ac8b08f77606a49a89751f8b888b868a87088a84058a84908a8d8b08a1068b8b91c0
+91ac90a796b88b8b087406878b89888986088a840585697d886b8b08f752f730158f
+ab99f7048d950870068988878a878b08fc660687898c8e1f7206877d6efb1f8a8a08
+a606a0de938ed08b08f7dd06c09c8a5e1f8b808a7e897b08fcd8fbe31575fb39ac8b
+058c8d8f8d8f8b08f85d068e8b8d8a8c8808a78bb0f739708b0575328082458b08fb
+e506658c788f8bc08b968c988c9b080ef681adf8ecad01ff00576666ff005ae666f8
+4be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad315
+f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01e8
+999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0eac8bb660a1f8
+d9b673a312f8e9a11358f909f91a15fc8d8b877305998ba481a06708f71dfb9efb9d
+fba1057b7a80897f8b088775f89d8bb7f734758d057e6a716b7e7c7d7a7f817d8408
+13a8848880897f8b08fbd58bf7aef7b38d8cfb20f7a4f7a08b05968b938993879685
+9581937a9081986f8d7408a18e050e7a89a8f8d7b2987712f906a913d0f779f91915
+13b0620a13d0630a13b0640a13d0650a0e8289a8f8e3a801f7e4d7156a0a0ef7018a
+a7dfa6f805a8dda801e6daf852d903f7d5f70315846305866f7a7b628b087106868b
+88888a860887788d8a058be98daeb2e2898b1e8d8c8f9e058c90878e878b0870066a
+7d95a11f8b8f8b8f8c8f0892b505f7339bf704f19def8d958c958b948be73ad3fb1d
+970892b10590a79b9bb48b08a606908b8e8e8c90088e9e8a8d058b2d886864348e8b
+1e89898778058a868f888f8b08a506ad9981751f8b888b878a8608856505fb5b7c32
+fb097d3b8a81897f8b7d8b4aab27f75a7f0890a615359345b78bed8b988c9a8e9aa3
+f71df3afe49108f770fb4e157f466828fb327a08ccf80405dc81cb668b2f8b7d897d
+887b080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a0ef7128aa7
+f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f7760a
+0ef7188bc6f8cbae12c9a5a3e2f846e341a513f8f872f70915f709b0eef4a1f70c8e
+9d8d9e8b9d8bf7113af1fb428bfb598bfb15fb2a74fb18887a897a8b7b8b24c93ee2
+6b088551268b055c7791b21f8b8f8c908b9108718b7efb0bf7678b05968b93918c95
+0899f713054abc6dbd8bd68b9e8da08fa2a2f714e8f70af71e8bf7038bca3d8bfb03
+8b788978887778fb0056402656086cfb130588818f85978b08f7648b0513f4a7f70b
+718b057b5274885b8b0829060efbad89a8f8e3a8bde501f72ae8ece703f72bf97a15
+c50af7528c15c40afb14fb4215500a0e8289a8f8e3a8bde501f7a7e8ece703f7a8f9
+7a15c50af7528c15c40afb16fd2f156a0a0e647fc84eadf816ad837712cdd8f782b3
+131cf838f75115f7770a136cf7780a139cf7790a136c25f7a915f77a0af71af7a615
+f76d0a0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a13f0f77c0a
+f738f86a15f76d0a0e44fb6a76f78a76f81ac65fa712f73bff00578000ff00968000
+da13ecf86cf7af15f77d0a13dcf7170a13ecf77e0ad1f94015f76d0a0efbc381ccf8
+0c7701e3f7a503f748c215f7640af728f90815f76d0a0e2181b2f802a79877f701e7
+12f707d377ff00558000ffffdb8000e7cfe76bb913b880ff007b8000f73e15f77f0a
+13b400f7800a13d400f7100a139200c5f78e15d20a139100f73416d20aa9f76715f7
+6e0a0e647fc84eadf816ad837712cdd8f782b3131cf838f75115f7770a136cf7780a
+139cf7790a136c25f7a915f77a0a0e32fb6a76f773a8f7f5c5f784a912f82fd66dd1
+13f8f7faf8341574957c8d7d8b08787c7d777b99839a1f9a8b9790a095b9819b5a8b
+558bfb1730fb10458bffffc833338bffffe3b333ff001c6666fffff46667ff001c4c
+cd08ff005fb333ff01a04ccc05b0f730caa1b28b0813f4b7a2655c1f8b424f356583
+08ffff27e666fc2015a1ffffe8cccdaefffff73333ff0033199a8b0813f8f711f703
+f724f7171f8bec45a96b970813f4e6b9becf8bd78bd152af4b8bfb198b4a2663fb3c
+0827fc48056ffb1074577769089179dbaa059cb396ba99c6080e24fb7fb2f8d4c901
+f71bb0bdc503f74cfb58158387949b1f8bb7a0b8a8c00882074e842a6c1eebf77c15
+8ba9f74ef79e05a8b4a4a8acad08868d0574847f897e8b838b718e828f8270756278
+6908fb14fb6c0585f47af47af08a938790818b6e8b7f75407c08896d059c8f948c95
+8b9a8b9988926a9d309efb0d912208644c057e76694e8b558b6a966da98bee8b8ff7
+408cee080efb037fa9f91bac01d3d4dbc0f70dd803d3f71c1536bc4ce9f734f0f73d
+f70a1e8bcd6fc460b50855c00559bf74a98ba78b9792bdcc8bd08b7c2bcb8bab8b9c
+a48b998b9d68a07399709b63a0628b083e5b4a501f8b63a367bd5308977f055574fb
+4d2c8bfb4408f734fb0a154b74c8cb1f8bf732f706d2d4ae08a27105a86b9a588b5e
+084a57fb3efb071e0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a
+13f0f77c0a0efb33fb79b4f74acaf882aaf7087701d5d2bbc8d1ad03f7fa6415c56d
+b14a2d73aeb91e8bcaadf72ef76cf774e7aaaf998baa8b988392778b758b636e5d61
+6c7e6782778b768b72a08bb6088ba091a08e9508830673817d8573730882074dad67
+be1e9e8bab93a394fb7cfb6f5cfb1c8b320842b452f725bb9b716d535d455a1e7d8b
+768c859784997a97738b08737b747c74a978bee5e2def61f0e44fb6a76f78a76f81a
+c65fa71213e0f86cf7af15f77d0a13d0f7170a13e0f77e0a0efb067fadf7c4adf7c4
+ad01e9d2f7a8d00314e0f83af7fc15fb7a06a9f715d5f743d98bb88ba14c8b358b5d
+84557f540883691569fb253efb33438b5d8b77cc8bdf8bbb92c197c008479d157c49
+84548b5d8bfb21cb5bc78bd58bf71bddcaf7a699c991bf8bb78bf7244abf528b2f8b
+fb11fb0654fb84080efbc381ccf80c7701e3f74803f748c215f7640a0e5481b9ff00
+a94ccdff0023b333f713d25fa712f73cff0057800013e8ff009ee666f7d615f7120a
+13d8f7130a0e487fc8f8e0c801f7dbb203f887c7157a9c0571717d89778b6e8b88ad
+84f717087af7f70586f70a5996708b668b666c6a6508977a05a19aa595a38ba58baa
+7692fb1e088d60fbc6fc479f7f05a193a48ea58c08f76cf7ff97fb81058f2e975eba
+8ba68bb4aca5b2080efb02fb6a76f773baf8207701f7ccd594db03f855f7eb1593ab
+9dcb8b8b7b857c87798b808b7c8c868c896b805a846f0858fb73056f6a556a588b6a
+8b7fa18bad8b9c8e9f90a008cdf7b8057b857c87798b808b7c8c868c0884078b6c82
+5e8571085bfb66058678897488808676847985706ffb107e577669089279daaa05ac
+d892f70c929294849c869c8bc48bbba7bab789828a838b848b6b9e7ba48baf8bafa4
+acbf087a990575697f817f8b838b87918b988b9990a292ac080efb0d9476f81cc901
+f835de03f747f7ec15a0fbf8a18b05f73ff751e3f71c9cd58c918c918b918ba0829b
+768b6f8b7673877a897f8a828b838b7b8e818b7a088b808a7e877883686a59fb03fb
+190877f7fd05938790801e6e8b7f75407c08896d059c8f948c958b9a8b9e8a8d6808
+0efb3efb78d0f72dcbf79bce4aaef75fa9f67712d1cdaccc62c3d7a913df40d1f70b
+1549b150f717bfad7a65625e35601e4e8b8ca8638b0875787b7473a785aff704deeb
+e9cc5daa483874b2b61f8bc0ace3cda9a592a690a98b0813ef40988b9a89988b08b0
+9ca79d9882937e1f13df40708b646d598b758b78998bad8bae95b8f714e8eba9a699
+8ba88b9785917e8b748b6975505f086c7e7b8b768b0813dec077749ab31f8b908b9c
+95a9088206748178777c7508800751a77bbd1e9e8b948ca1910813df4034514a5a8b
+488b6b9f7daa7f08fb0f5470238b51080efb0681b0f80fac01d9def771de03f735f7
+3e158c0a3883158d0a0e677fd93dc0f7d4cf12f77ebbb5ca13b8f8e3f84115fc0f06
+5b8b5537764f089c8805a9c4aea1b98b089c064cfba4577a6f8572867d6e89818a87
+8a888b878b799986958be68bcaf717c3f78608f707066efb07742b7e518676887a8b
+7d081378669e7cb91eb68bc1bea7aa087e9b05606564847f8b7d8b85948b9d8b958d
+988f9aaaf71e9fdc96af08cc06ad8ba0a1a3ad080e3cfb6a76f774a9f815b101f83b
+de03f88ef7af15e551d02d1e5f8b5a7b5a606d7068696bfb1e085ffb53056efb1076
+577669089279daaa059cb397bb98c5089cd505a17aa081b38b08f74de8f74cf7021f
+fb95fb9c15618b6fa176a908aff73105adf726c6a9b38b08c3b36a363f68fb53fb1f
+1f0efb2bfb79b4f74ad7f7d3c001cec1f763b303cef718158b42af4edd87e687bf7d
+8b5f8b575547638b7d8b768c859784997a97738b087578767975ab78bd1fdd8bd4d3
+9cd590a290a08b9e08c65caa5e26559bd3f4e8f712e61ed28b7d53b88b08aba1aca1
+a571a738fb33fb12fb46fb181f0e637fadf7e7cf01d5d0f792cd03d5f720152fc24f
+f3f726dff717f31e8bcb6ebc65a408f71106ae8b9fa1a4ad088397fb748b05fb6f3f
+fb4a201ff7a7f77115a9679d698b5908294ffb0d313e70cac7c6b2f731f73b1e0efb
+2b7fc0f7d4cf01f73ecc03f73eb41563a07eb21eb48bbab0b4b7087e9d055b617087
+7a8b7e8b85938b9e8babacf70ab8f72308f406ad8ba0a1a4ad088397fba88b05508b
+5f337856089f8605aec89a9cb98b08bf0682713afb838b54080e2181b2f802a79877
+12f707d377ff00558000ff00b78000b913b4ff007b8000f73e15f77f0a13acf7800a
+13ccf7100a0e7cfb6a76f775a8f814b2847712dad1c2caf779d413eef7bd9f15c6f7
+9405a3f0a9a5ae8baf8b9a6a8b58088b2b5efb4afb2e76087bf81e1513de7fa0055b
+75fb00387324856e87718b728b2fbc51f7018477367e4b8b6108c3699a9d05869988
+9b8ba08bad92ba9dd6c991f736b9b8f75790a38ea28ba10813eed66ac83a1efb118b
+70fb3c877d0854fb8505439274b68bc78be4b2f715e8ce080e2ffb78c6f8bcc68277
+1213a0f771f7931597fb1dfb96fbd6847ba38ab481e0f701f70bf74b97fb000599fb
+19945bca8ba28bb1aea8af087d9b057c7c787e7a8b668b7f9180f708087cf747f747
+f75ce5f3058b5f8475847d8f8b1efb4efb9483dd0513c081f7047dd24d8b688b7469
+6b6e089679059d9b9e91958b08b78b9b6a912c080ea2fb6a76f775a6f7ffc9f79876
+01f7c09c154e9276be8bd58baf90b492b808a8f732058c94858f818b6d8b7675417c
+08896d059b8f948c958b998ba2898b728b888b888a88087d3a05835e85608b668b35
+aa4ff0896e216b487769089279cfaa05aad69df7048c92eb9ed5dfabd908ccf73505
+9fbba8a1adad08868d0574847f897d8b848b708e828f827071457d68086836055efb
+035a464675a9f75edaf7a49cbe08c0f7305d816e8d054afbe65efb5e67fb19080ed0
+7fadf8387701cbd3f755dbf741d103f920f79415f7810a0efbc381ccf80c77f706e6
+01ece7d0e703f748c215f7640a6ef8c515a00af7358c15a10a0e2181b2f802a79877
+f701e612f707d377ff00558000ffffde8000e7d0e767b913b880ff007b8000f73e15
+f77f0a13b400f7800a13d400f7100af707f7bb15139200a00af7358c15139100a10a
+0efb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0af7ecf89c15f76d
+0a0e2181b2f802a7987712f707d377ff00558000ff00b78000b913b4ff007b8000f7
+3e15f77f0a13acf7800a13ccf7100af7b5f7fd15f76d0a0ed07fadf8387701cbd3f7
+55dbf741d103f920f79415f7810afb0bf84015f76d0a0e327fadf916ad12e3d2f798
+d18bcc13e8f75ff81215bbf70cddf736f7068ba58b9b788b6c088b27fb1e58fb283a
+08fb07fb691523b53ef21e13f0f72df2f736f7151f8bde61cd37910813e8f707c2d7
+c88bd808b76aa657fb56fb4ffbc9fb701ef734fb27155865c2e71f8bd6abed8c8fc7
+b1b99ca88b0813f0beb46340243efb352d1f0e557faaf7f8b2f78ead01f706d0a4cc
+f75dce03f81af92c15aebc5d231f8b6e886a82652a8b60a078a175a483a98ba508ae
+9de6ee1efb4afb20158b6b9471a06eaa61c477f7138b70fb073dfb85308b5c8b70a2
+8bc08b9c8e9e90a108b1f7397d8b05768b7f742c7d08896e059c8e968d978b948b91
+878b7d8b858a82887f087d4f05867488768b788b46b36bde8bf71e8bebf73abdf771
+9f8b988493849498949b98978094788e6b8b0892a88eaa8ba808f15ee8fb0b47265b
+fb121e0e6c89a8f8e0b601f7c0ca03f783d615f7820a0ee889a8f8e0b601f826ca03
+f7e9d615856efffff1199a7fffffd6e66687086c88058787897b8f82b88caf8cb28b
+b18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091a608ff002e
+6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff002019989dff00
+124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffffdeb3348bff
+ffd99998fffff13334ffffe3b334ffffe6ccccffffbe1998ffffc54cccffffd34cce
+fb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334fffff5b334ff
+00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7b3348b638b
+61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd9998a49d9c95
+b18b08ff0024199aff0034e66655201f8b5d844d7f4f08fb35f84a15f76d0a0e6c89
+a8f8e0b6bbe512f7b3e83bcaf706e713ecf783d615f7820a92f8651513f4c50af752
+8c15c40a0e73fb6a76ff00df8000ff001de666ff018a3334ff001cccccff00f8999a
+7701d4d2f7f0d303f784fb6015ff00174cccff0037199aff000e199aff00434cccff
+000cb334d2ff00abe666ff000fcccdf1ff009633338bff0082999a8bff00616666ff
+ffc08000ff0034b334ffff93999aff00056666ff000ae666ff00274cccff000a4ccc
+aeff0008b334ff001a333408c0f7305d816e8d05fffff08000ffffaf9998ffffef33
+34ffffaa4cd0ffffef4cccffffad7ffeffff33b333fffff3e666ffffb64ccdffff4c
+33348bffff9b80008bffffa06666ff0040999affffc5199aff0068666685ffffe799
+9affffaf199affffe3199936ffffe84ccdffffd8666608917905ff007c199aff00fc
+cccd15ff00096666ff0036199aff0009199aff0037999aff000c6666ff00358000ff
+0010199aff00448000ff00156666ff00564cccff00146666ff004bb334ff0050199a
+81a7ffffc6999a8bffffbbe6668b748874867378ffffb13333ffffd4ccccffff9c80
+00ffff814ccefffff6199a08ff0032199aff018acccc15ffffee1998ffffa88000ff
+ffee6668ffffad8000fffff04cccffffbd66668b8bffffed999affffb7199affffe7
+3333ffffab4cccffffb19999ff0009e667ffffe3999aff003ccccd8bff0041e6668b
+ff0050cccdff00323333ff00a7cccdff0097000194080edc7fadf822bc01cdd3f755
+dbf74cd403f82ff79e159786917a6874454d1e8b838b838d835e446868628b5a8b72
+a58bc48ba08fa692aaaaf71bdcb9ad9c08849f054c6ffb33318bfb448b31c36dcf8b
+c08bb8a9bbd6943cba71ba8b08f717edf74af4f43be4fb1c1ffb688b7e8005946999
+87ae8b08f71c06e5df61221f8b7a897986766bfb2263563f8b578b75b284d1a1afa9
+d38ba6080e55fb4cadf71ed4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f7653
+6e4b556b6c6e85718a878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3
+b3b1abada678587e63846c846e88738b778b639a76a98bff0009999a8bff000a3332
+ff0002b333ff000accceff00054ccd08fffff26666760548227677738b728b7f8b81
+997ca18196708b7b8b837c8b818b7f927e9783a07fae80ac8b08bf8baaacb5ce08e0
+ff008a4ccd05ff0008ccccff0009e6679496ff00093334ff000bcccd088d8c8a8d80
+99898d898905fffff83334fffff9cccdfffff89998fffffa6666fffff8e668fffffb
+199a08ffffff4cccff0000b333fffffeb3348905ffffe6ccccffffef3333ffffea66
+66fffff7cccdffffec199a8b798b82958ba18b938c948e9794b39dbea5ccc5aeaca8
+91a68c8f8b8f8b8f089d7f94731e6f8b778080748177625d4b4d616164696770a2c2
+9ab592ac92a88ea48b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c
+05aea8a899a58b9d8b94818b768b838a81887f080ef6fffff7cccdff00203333f8ec
+ad01ff00576666ff005ae666f84be403f848f90415580affff74b334fffd87cccc15
+fffff3e666ffffcf8001fffff3199affffd33333fffff2b332ffffdb800008ff0000
+4cce88058bff0011b3328eaeadff00104cce888b1eff0002b3328e05ff00034cceb2
+ff0006e666ff002c8000ff00098000ff00308000ff009e6666a3ff00794cccff0082
+b333ff00233334ff00b44ccd90ff0019ccccff00024cccff0018b3348bff00176666
+8bff009c0002ffff96ccccff00631998ffff6de6688bfb3f8bfb2bfb2c65fb58ffff
+fae666ffffe56666fffffd8000ffffe6ccce8bffffe83332088bffff74199ae032ff
+007c4ccefffff24ccd080efb06fb10f71a77acf813ac12afe0e6d6d7e0133cf735f7
+3e158c0a3883158bffffcd6666ff000be666ffff913334ff006f999afffff6199908
+13bcfffff56666ffffd54ccd80ffffd83333fffff3999affffdfcccd08ff00004ccd
+8805ff000000018bff000bb3338eae8b08adff000a4ccc888b1fff0002b3348e058e
+ff00244ccdff0006199aff00288000ff00086666ff002c4ccdff000a8000ff0002e6
+66ff000a4cccff0003e666ff000a3334ff0005199aff0057199aff002be666ff0043
+e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c1e0e42fb50c1f940
+e03edd12dcbcf7aabc13b8e8f80315856e85618b618b5b925ba468ddfb07f769ec8b
+fb018b848a8389827e4c4660518b5c8b66b15c8b08798b718486718a868a878b868b
+6fa37ad78bf70b8bf710cba6f7128e998c9a8b9b8b928b938a930889a4829580994f
+d6fb374351e47ba484ac8bad8ba28ea290a196c1abc8b2acaca6a897bb8b0813d8ae
+8bae83af8bdc8ba1b8a3c2088195057d7d7480708b0813b8578b5490658b08fb2f8b
+41fb3f7525080efb49fb79b4f74ad7f7c0ca947712cdbff754b213ecf73f8515e6bb
+7a5f1f8b868a858a847a43566c758b7c8b778c849784997a97738b7c8b7780867508
+850775aa78bd1ede8bd3d39cd591a28fa08b9e8b9e879c7f9c7e9e6f9d698b668b24
+8c8bf28b988d9b8f9d08a1e9cac2e48ba68b90859f8bbf8ba4a1a5ba0813dc809405
+7e7f7c8a7a8b0813ec638b8b8f638b6e8b5b7e6372475f64307a41846f88728b7608
+2fc471bb1e0e4189a8f7c6b8f774b670a712f8c1a613e8f8f8f91915fbf48b0513d8
+288c89898778058a878d88908b08a706a193877b1f8b858a8389810820fc8b05856e
+877c688b086e06878b87888a870887778c89058bca8db2b9d1898b1e8c8d909f058c
+91868c888b086f0676838f9a1f8b928c938d9508c3f79af72d8b05a29886781f8b87
+8b878a86087e4ca28baaf72205808c658d798b08fb2d8b0513e8bbf774f7628b05b2
+982d5c1f84a6070efb27fb6376f7e7cef747d90194d503f877f851158391057d7878
+88758b638b6491628bfb068b4dfb0d73260838fbfc05887e86768b798b838c838f87
+8f859288958b958b938f93919695919790a58f9a8c9d8b9c088bb086b18bab8b998c
+978d9596b8a8b6b98ba58ba385a48bb98bb4b2a3c1088290057b7b7482788b082c06
+608b68687664acf705b5f720f7078b08e006be8babaea7c0080e5cfb26b4f81cbbf8
+1bb401f78efb2615b08bb49da39708899e0578857a897e8b778b609192ac8d97939a
+9a9f08f7a2f7f6fbea8bf769f7a905a1a897a490a195bc6ca9638b658b6078767f08
+8e79059e919a8d988ba98bae828368887c84787e7a08fb9cfbecf7ea8bfb6ffbb305
+756e7d7586768361a66bb58b080e4ef7b3bb01f884f7b315b0bbfbdf8bf794f7e358
+8cfb96fbe4665bf7df8bfbaafbfebe89050ef764f91bbe01f808cff77ff103f887fb
+0b158abc678b1ef2eddef729a7f71795b990b48bb28be073d25bcd49e649b0fb158b
+fb028b246326348c8bb3698b8b08bbbbd1afcc9c084bfbbfc48bcdf7c8988b05dc8b
+c572bb4ba5669d6594626281536e68756975656874646d56754a7c4108cf0697c19e
+d09ab19fbcb8ada8a19593bf9cab948c7f8b7e8b7f8b5884547e4f6bfb2a53304747
+080e26f8a39a01f83bc003f7eff84815fb2424a066f728f40598769675927608fb26
+23a066f71eed058f778e728b6f8b6f886b836a83667d667965089b06b0c9a5c899c7
+92ab8fa88ba78bf730fb02eefb468b838b828b838a08827c05f70083c458a76b080e
+557fd4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f76536e4b556b6c6e85718a
+878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3b3b1abada678587e63
+846c846e88738b778b639a76a98bae8bb7b0bbc9088d8c8a8d8099898d898905676e
+6e7d718b798b82958ba18b938c948e9794b39dbea5ccc5aeaca891a68c8f8b8f8b8f
+089d7f94731e6f8b778080748177625d4b4d616164696770a2c29ab592ac92a88ea4
+8b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c05aea8a899a58b9d
+8b94818b768b838a81887f080e20fb44d0f707adf7f7af01b2b4f77aa2d8d503f72c
+da158198869f8ba48ba08ea492a79acda2b9aaaaadaca995ac8bb18ba87a9b699575
+8f738b73088b7b897a877a7c49725e686e646b697f6f8b698b739879a308f7c6f7bd
+156fb25b9d4b8b508b537161646164715673247a407e438b538b62916b9c76a766bf
+7ccd8b08ef8b89628f8308a2068b908c908b918bb480c8328b4b8b609671a47c9985
+aa8bb28ba28da58fa7a855b86fc98b08cb8bc19db9b2b9b2a8bf9acc91a38da18b9f
+8bae83a979a3080efb0881a7f81dab01dce003f84fd415f76c0a0efbc2fb58aff8bf
+a79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a
+13d8820a139470f7e4157d0a0ef7187fadf7acb8f7a8ad01e0e9f85ae803f904f7c2
+1569fb422221fb058bfb058b3bdd8bf7258b9c8c9d8d9d08f854b815fc4c06b4f758
+f70cdbe88bf7008bdc3f8bfb2a8b7c8a7a897908e579158fa28da08ba08bf735fb08
+f1fb278bfb478bfb32fb2b68fb58877489748b768bfb32f7012af72c8bf7538bf728
+f721aef75c080efb2083b7f740b7f728b701dadb03f7f9f82415a48b9c869c829585
+94859384089fa00586938492839273a26b965f8b628b4a76585f585f69537c4a8675
+89768b788b66936b9e6e08a662b576c98bb58bb297aea1a0999c98999b08809a0579
+7d7880778275827686748b648b719978a278a282aa8bb18b988c998e9b08f76d8b96
+b7fb6f8b059bbfa4b4a6a0b1aaaf8ea78b080efb2083b7f740b7f728b701f803db03
+f743af15728b74907a9481918291839208777605908492839384a374ab80b78bb48b
+cca0beb7bfb7acc39acc90a18da08b9e8bb083ac78a70870b461a04d8b618b648068
+74767d7a7e7e7b08957c059d999e969e94a194a090a28bb38ba57d9e749e74946d8b
+658b858b848a8408fb6b8b815ff76e8b8a84057d4f6e5c6e73656c6e885f8b080e6a
+7fa9f816b1f7947701f862e503f3fb6815a1b89bec9cdba77da583b68bf71a8bf710
+eeacf72e8f9b8c998b9a8be64bcc238b628b557f5c6c089ad305a6f710a0bea0ad08
+839d38690578617c497936084ffbae61fb580571fb10734f776808927a05f846f84e
+1574fb004542388b6e8b76966fa584837875818808b8f76505aaf726c9a6be8bcb8b
+ba6d8b2f8b74886f846b080ea77bb8f8e8ad01e4e303f8bdf8e815f7830a0e979c76
+f8527701f840169379c89de6f84378964c80fb64fbe94bf7e971965480fb1dfd1c93
+85a691f706f8ac97c6944805cafbc5058d858e878f8b918b908f909108f74cf7c0c3
+e77c47050ea77bb8f8e8ad01f8a5e103f78bf8e815f7840a0ea77bb8f784f708f784
+ad01e4e3f744f70a03f8bdf8e815f7830afb2bfbdb15ac8ba9a590aa8c8f8b8e8b8e
+8ba774a0728b6b8b6b6e866d8b888a878b888b729d75aa8b080ea77bb8f77ff708f7
+89ad01f76ff70af754e103f78bf8e815f7840aa1fbe015ab8ba9a690aa8c8e8b8e8b
+8f8ba674a0728b6b8b6c6f856d8b878a888b888b719d75ab8b080e6889a870b2f7b0
+b1d677f751b370a8d37612f81daae3a7133b80f8b8f91a15450a133780460a133b80
+470a13b780480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a
+65d215b20a0e6889a870b2f7b0b1d677f751b370a8c4e512f7b4e897aac1e751a713
+3ba0f8b8f91a15450a1337a0460a133ba0470a13b7a0480a1373a087770513b3a08d
+89051373a0490a13b3a04a0a137ba04b0afb97f215c50af7528c151333c0c40a0ef7
+41fb22d3d0a8f7f5c6f73ab312f734a4f85ca97dd613faf804f8cb152bfc8305856f
+7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f9e058c
+90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3cb90b88bc68b9e34
+8b408b7289738779846466fb4b5b8b7e8b8190828f8290808e7e8b08778b76778775
+8a898b898b898b74a479ad8ba18ba597a19dc7bcbff5a5f71b95ba92b98bb308d671
+c1311e448b517b3c4808b3f7630592ad9893af8b08cd0613fcc28b967f903b08a990
+8b9f058bb98eb890b6087087058a85877a768b08fc3b067c8894921f8b8e8b8e8c8c
+08718f057d5a7b57755608a88605aedb9b97c28b08df06a99885781f8b878a868a86
+080e3b8aa8f8d5b370a7d47612f8bca913d8f860f8f115f7850a13b87efb068c8b1f
+13d8898a87770513b8f7860a13d891a59a91a18b089be815b40a0e9d7fb0f791bd79
+c3f793b012f87dd9b9a913bcf7e8a415f7870a13dcf7880a13bc538b6ab14f8b7d8b
+4a884c69abf72bf705f721f68bf7198baa3a923508a98f058dbf8cbb93c2558e75b5
+fb0a8bfb328bfb30fb2361fb5c64fb4adbfb25f73f8bec8bc5abaea3aaa0a4a790a6
+0891a5859e738b768b797b7c6e0866436374438b080e2081aff8eaad12cba9ff002f
+cccdff00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4
+610a0efbad89a8f8e3a801f769f8cd15500a0efbad89a8f8e3a8bde501f726e8ece7
+03f727f97a15c50af7528c15c40afb10fb4215500a0efb527faaf8eba701bbd503f7
+269e15788699981f90079784a2701e7c8b788186728a888b878b888b5fc882ab8bca
+8bd9a7adf74608d6f8100590a79c9bb48b089b06908f8e901f8f9e898c058b388a67
+64248c8b1e898a8778058a868e88908b08af06ad9c76711f8b878b878a870840fc17
+05782e7a4f598b080ef7d67fb869a9f7c4b3f784ab12f9b1e61378f851d315856f7b
+7b628b087006878b87888a860887788d89058bf08da71ea88baa89af8bf70d8bf734
+9cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0590a79d9bb48b08a506908b
+8e8e8c90088f9e898c05578b728a5a8b08fb1006fb1d8b4e8e5e8b08898988790589
+828f8a9c8baa8b98868b6a8b77876d825e58fb9c6b2a6c500813b87f767f80808b82
+8b84938a9a8a9b7f96798b728b7e7787768a888b888b888b6eaa7bb18b08a28bc097
+b2e9aee0abf71ab2f75b9dea9291b68b08f406ad9581791f8b868b868a8508aefb80
+15e206f4a74f531f8b7f8a7f88810813787f4d572ffb2c8b618b80958b9e8b918c92
+8d93080ef7fe8aa8f7ceb1f782a701f9d9e603f905f80f15b1f7570590a79c9bb48b
+08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e8890
+8b08a506ac9a81761f8b878a878a860865fb56fbaf8bb0f7560591a79c9bb48b08a5
+06908b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08
+a506ac9981761f8b878b878a86082afc8a05856f7a7b628b087106868b87888a8608
+88788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b0871066a7d94a01f8b
+8f8b908c9008bff7a2f7b08b57fba205856f7a7b628b087106868b88888a86088778
+8d89058bef8da81ea88baa89af8bf70d8bf7349cabf73b8f9c8d9c8b9c08d660d1fb
+5b1e466415e306f3a74a531f8b7e897f89807f4d562ffb2c8b628b80958b9e8b918c
+928c93080ef7498aa8f801baf73ab312f734a4f857d93daa13f8f804f8cb152bfc83
+05856f7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f
+9e058c90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3c29ca88bb3
+8bb56f8b4f8b818a8189800864fb5e05856e7f7c698b087806868b88888a86088778
+8d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e868b08780613f47181959d1f8b
+908c908c9108b3f7660513f88e9a8d9a8b988bd65eb34d8b648b3a7b3c4808b3f763
+0592ad9893af8b08cd06c28b967f903b08a9908b9f058bb98eb890b6087087058a85
+877a768b08fc3b067c8894921f8b8e8b8e8c8c08718f057d5a7b57755608a88605ae
+db9b97c28b08df06a99885781f8b878a868a86080eb48aa8f8c6c86aa7d4761213d0
+f8db8a15f7890a13b0f78a0a3ff94e15b40a0ef70289a8f8e3a7d47601f948f8d215
+f78b0a7df91a15b20a0e9e75c9f8d6a7b9b101f7e5d403f75fb315f78c0af801f974
+15f78d0a0ef28bb264a6f8e3a712f7b2ac13b0f941f8d21590a79c9bb38b08a4068f
+8b8f8e8c90088f9e8a8c058b308a6966388c8b1e898a87780589868f888f8b08a406
+ab9882761f8b878a868a860823fc7f05846983816e8b08fb80067684969b1f8b908c
+918c9108f3f87f0591a79c9bb28b08a406908b8e8e8c90088f9e8a8c058b318a6965
+388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a860820fc8d05
+1370826585876d8b086f06868b88878a860887798c89f7038d0513b0f70a069f9677
+5d1f8b778973876c08ac06a8efa3b4ab8b081370f70e0696ea898b1f8d8d909f058c
+8f888e888b086d0675838e9a1f8b918c938d95080ef589a8f76ab5f80b7701f7c7f7
+af153d0afbcdfb6015b30a0e9289a8f7c6b3f70976f71cb370a612f87ae313e4f78e
+f7e115f72b0af80af70315f72c0a13f4f72d0a13ecf72e0a0e8789adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce153e0a856915cd
+0613f03f0afb425015400a13e8410a0e3b8aa8f8d5b370a712f8bca913d0f860f8f1
+15f7850a13b07efb068c8b1f13d0898a87770513b0f7860a13d091a59a91a18b080e
+e98bb2f8cab46ea81292a6f8a9a613b8f70dba1577787e8b768b818b7f83887f0868
+fb29a68b05a0bfb6e4de8b08f7b206db8b9e368c5308a68ba2f7298b8f0595849177
+7d7a95a51e8b8f8b908c9008eaf87b0592af939bab8b08a8068f8b8f8d8d91088d99
+058c8e898f888b08fc5806848b85868a8708897f058a878d87908b08a906a093837c
+1f8b878b878a867f4c6c245dfb06084efb3068456e6f0813d8f83bf8c215a394867c
+1f8b868a858983082cfc7b0585667d88748b08fb6f067e8090941f8b99b1dfc2f722
+a5cfadf3a7f091a49999a68b080e6889a870b2f7b0b1d677f751b370a812f822aae3
+a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d89051373
+490a13b34a0a137b4b0a0ef7ba8aa8f7bbb6f774c86aa712f7b1ad13e8f9d48a15f7
+8e0a13d8f78f0a13e8f7900a0e627fb0f7cbb0f70976f72fad01c6db03f786a415f7
+910a0ef70289a8f8e3a701f948f8d215f78b0a0ef70289a8f8e3a7b9b101f80cd403
+f948f8d215f78b0aa1f95515f78d0a0eb48aa8f8c6c86aa71213c0f8db8a15f7890a
+13a0f78a0a0eb67fb76aa7f8e3a612afd513b0f95af91a15588b628afb3c8bfb1d8b
+648e5e8b08898988790589828f8a9c8baa8b99878b6b8b77866d825c63fb5f6ffb0c
+6d4a77627f737a8b828b84948a9a088a9b7f967a8b6f8b7f73877908840771a877ad
+1eb58bab9fa8bfb7dbacf723b8f7799dea9496b58b08e506ab9a81751f8b888b868a
+870829fc8b051370866f7a7b628b087106868788861f87788c8a058be98daeb3e189
+8b1e8d8c8f9e058c90888e868b0871066a7c95a01f8b8f8c908c8f08ecf88b0591a7
+9c9bb48b08a506908f8e901f8f9e050ef78789a8f8e3a801f923e215f76f0a0ef704
+89a8f7bab5f793a801f8eff8cd154f0a0ef681adf8ecad01ff00576666ff005ae666
+f84be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad3
+15f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01
+e8999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0ec281b4f8e2
+b001ff0058cccde1ff01c93334a803f7e68115420a0e7a89a8f8d7b2987712f906a9
+13d0f779f9191513b0620a13d0630a13b0640a13d0650a0e9e75c9f8d6a701f75fb3
+15f78c0a0ef689a8ff005bcccdff001b3333ff016ae666ff001b4cceff0051cccca8
+01eadaf854da03ff0143ccccf72615ffffb2ccceff0004e666ffffb76666ff0018e6
+678bff006533338b9bff0002199a9dff0003e6669fff001b199aff008a4cccff005d
+999aff0021999aff005e80009108ff000bccccff003c199a15fffff98000ffffdf33
+3405ffff83999a85ffff6fb333ffffd76666ffffe03333ffff5b6666877a8a7c8b7c
+8bffff7e6666ff007f4ccdffffe6b334ff00601999fffffbb33308fffff7999affff
+d5333305866f7b7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff0003666680ff000c999aff0005e666a908ff0008
+8000b605f719ff0006cccdff00888000ff002db333aaff009f80008f9c8c9b8b998b
+ff00714cccffffa09998ff0026999cffff7fe668ff0006333008ff00068000ff0020
+e6680591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788
+778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2333408
+f765fb8815ffffe48000ffff723333ffff9a999a6cffffa9b332fffffa199a08ff00
+476668ff016a999805ff00541998fffffaccceff0041b334ffffe5cccc8bffff9f80
+008b7a89798776080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a
+0ed98da572adf8d9a612f8caa613b0f85e8d15d98ba8438c4408a68ba1f729058b8c
+8c8d8b8c0893869376767f9c9f1e8b8f8c8f8c8f08ebf8830591ac9097af8c08a806
+8f8e8d8e1f8fa1898cfb088a208c888a8775058a878d8a8e8b08a906a58a92858b7c
+8b848a838982082cfc7d051370856b857d678b08fb680673828e9e1f8b918c938c95
+08ebf87d0593b39291ac8b08a8068f8b8d8d8c8e088fa1898cfb098afb008c898a86
+75058a878d8a8f8b08a806a49487791f8b858a838981082afc850513b0846382856b
+8a087006878586861f877a8e89f7008e051370b68cbe8bbc8b08ede48a8b1f0ec68a
+a6f774c5f7cba601f742dc03f832a515f7920a0ef7fe89a870adf8dca7121360fa44
+f8d21591a79c9bb28b08a406908b8f8e8c90088e9e8a8c058b318a69653b8c8b1e88
+8a8778058a868e88908b08a206aa9982761f8b878a868a860823fc7f05826483816c
+8b08fb41067684949a1f8b928d948d9408f3f87f0590a79c9bb38b08a2068f8b8f8e
+8c90088f9e898c058b348a69653b8c8b1e888a8778058a868e88908b08a106ab9882
+761f8b878b8689860823fc7f05856c84796d8b08fb41067e8b838c888f85908a908b
+928b928c948e9608f3f87f0591a79c9bb28b08a206908b8e8e8c90088f9e898c058b
+348a6965388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a8608
+21fc870513a0826484836b8a086e06888b89898a8808136086750513a08d89051360
+f7208df8f68b0513a0f702890513608d8d90a10513a08e8a8d881e6e067482909c1f
+8b908c928d94080ef80f8bad69a6f8e3a712f9dca51370f7c1f8d21591a79c9bb28b
+08a206908b8e8e8c90088f9e898c058b348a6965388c8b1e898a8778058a868e888f
+8b08a506aa9882761f8b878b868a860820fc8c05826485876b8b086e06888b89898a
+880886758d89f7018d0513b0f8ef06d89e375c1f81a507a4f727058b8d8c8d8b8d08
+137097808e7d7e7a95a61e8b908c908c9208f4f8810591a79c9bb28b08a406908b8f
+8e8c90088e9e8a8c058b318a69653b8c8b1e888a8778058a868e88908b08a206aa99
+82761f8b878a868a860823fc7f0513b08367847e6a8b08fb36066e81929c1f8b928c
+938e9508f3f87f0590a79c9bb38b08a2068f8b8f8e8c90088f9e898c058b348a6965
+3b8c8b1e888a8778058a868e88908b08a106ab9882761f8b878b8689860823fc7f05
+8467847e678b08fb3a067384949b1f8b928d938d94080ef7308aa9f7c4b3f70976f7
+1db36fa712f90be613e4f82ff7e115e206f4a74f531f8b7f8a7f88817f4d562ffb2b
+8b618b80958b9e8b918c928d9308cff8ca1513ec648cfb738b057d4d7c55775308a8
+860513f49cb6bfe9cc8b08c906a39481781f8b878b878a86082bfc8005856f7b7b62
+8b087006878b87888a860887788d89058be88daf1ea88baa89af8bf70d8bf7349cac
+f73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0513ec90a79c9bb58b08a506908b
+8e8e8c90088f9e898c058b2e8a671e0ef7758aa9f7c4b3f789a701f86ce603f9abf8
+d315f7930afc70f88915f7940aadfb8515f7950a0e888aa9f7c4b3f789a601f86ce6
+03f76df8d215f7940aadfb8515f7950a0e9d7facf790c379bcf799b012d8d813d8f8
+9af7c715f7960a13b8f7970a13d8f7980a0ef7ec7fad74a8f7a9b2f7a6a775ad12f7
+e5e6f83ae313aef93ff90415f0cd45fb1d1f8b6b8767836469fb4723fb01248b308b
+3ddb8bf7218ba58da791a908b4f766f70ee2df8b08f78bfbbb1591a88da68ba58bf7
+2b2debfb238bffff63b3348bffff701998ffff794ccc5bffff4cb33408ffff9cccce
+8bff002c6666f77a05137691a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff002d199af77eff00
+61cccc8b05fffffaccceffffe6ccccfffffe4cccffffe7b3348bffffe880000813ae
+fb2bec2ef71e1ef7468bf721f721b2f75c080e8b8aa8f7bbb6f789ae6fa612f735da
+13d8f848f7d7155afb9005856f7b7c628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087106697d94a01f8b8f8b908c8f08ed
+f88b0592ad9895b58b08a906908b8e8e8c8f0813e88ea00513d88b2b8a6b1e13e86a
+8b518c688bfb4e8b57317e46897f8a808b818b3cca66c5826d79776973623cfb194a
+406b8b088106888b87888a860887788c89cd8c05d28cb6d0c7f70208c3f1a1b4f68b
+08bcf7901562fb653e8b054354a2d61f8b968c988e999de8de9bc38bd18b9b898b79
+8b868a868a85080e4081c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0a
+0e2081acf813acf7977701ded9f77cdd03f86ff7b915db67cd261e338b5a536e6195
+b19cb49ea8b5caa8a5e193dd93c9b1b0f5087406765763783d85fb567bfb09fbcd8b
+fb2608fb05cb60d4f719f70ef724f7331efb7afba2156161c3d0f707c5f723f1b7a7
+ffffca199affffbde666fb0c54fb232e1f0efb137f9ff7719ff73fa112d6d8f749df
+74d113f8f7e1f71a1549624f4c6d5c98d71e8bac8bb69aadae99a893a68b08b9a857
+601f13f4c8f784158b4d4f6afb3165baf719c1b9d08b08b3926b7d1f64cf153f8b4a
+6d534f544f6f468b3e0822be56f31e13f8f6dbcbd61f8bb573d626900813f4f708b3
+c3a98bbe8ba879b6308b080efb777fc0f7f2be01c4ddf72bd903f724f7e915f7990a
+0e237fb5f80ab101dfddf777d803f81df7ed15556cfb99fb0f5c71c2cf1e8cf734dd
+e6ce8b08a7bc7f5c1f55ec15768b63815d72426340278bfb118b3caf40e38bd58bb1
+abb1aec9c3bdf7088bf7108ad679d262c90841f70940814ab0088a06898985821f8b
+6b9867ba7bdf6ed37c8bfb038b838b8389827999738f738b080efb3481c7f7faaa01
+dedef751d003f7f7f80615750afb50fb3f15760a0ef74c7fc4f73caef71bc501f791
+cff749d203f82cf7f915f79a0a0efb2d7fabf757aef734ab12d5cbf74dd26fc813f8
+f71ede15a6788e82817183645eb46ad5f729c3efce1e8bc65ea1788d0813f4f79b0a
+13f8f79c0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a0e6381c7f7ddc7
+c6b201f70cdacad0a9d903f88ef7f415940ab4f85f15f79d0a0e30967693a8ff00b6
+cccdff00223333f714ce5fa712f73eff005580001334f86bf7f715f79e0a132cf79f
+0a13b4f7a00a1374f7a10a0e507faf67c0f7f1b270a6121310f7e1f70715856a8063
+8b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b
+9491a190a508b7f77b0592b1ff00064cccff00026666ff0022b334ff0003999a08a8
+8e05ff0004b334ff0001e666ff00014cccff0012199a8994088b5189631efb490665
+8b768c668c86868c779187aa879f8b8b708b7684697e527322764f79697f72808182
+8b08838b88958c988c8c8b8d8b8c8b9982977c8b788b7d7b87778a898b888b898b73
+a376a78b08b18baca4a1ba9fb2a3de9edd081320a1e995a9ae8b08c006a293867c1f
+8b848982897f080ef381c74faef801a8a27712abc9f826d9137cf895f70715836a82
+638b788b78927da98bbb8bb8adb9c6889485937d8b0813bc716d6e77818b848b8890
+8b978b9490a191a508d7f7d20575876086808b08fb63fbeb21f7f405628064825b88
+088f73058b878e898f8c089c8e059f8d9b8d8f7d08946d05846e836e83677222764f
+7a6908137c7f727f81838b838b88958c988c8c8b8d8b8c8b9981977d8b788b7d7b87
+778a898b888b890873a376a61eb28baca4a1ba9eb2a4de9edd088f99dffba6058c84
+8f888f8b908b918e909208f765f7df8e8d050e5a81ccf7e8a79b771213a0ff0065cc
+cdd315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff00b000
+018bffffeaccccffff9f199a05846c81618b788b78927da98bbb8bb8adb9c6889485
+937d8b716d6e7c818b848b88908b97088b94909c91a508c3f77805ff0003999aff00
+11e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f836508ffffe8cccc21
+ffff5080018b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813c0f7a20a0e
+fb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0a0e6081c7f7ddc75f
+a712f73bff00578000ff00528000e07ada13d4f845f71015f7150a13b4890a13d48a
+0a13d88b0a0e43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0ef77281c7f7ddc75fa712f7
+53ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d813daf74af7d5
+15850a13dc860a13da870a13ba880a0e51fb7ec8ff02178000ff004c800001f871ff
+0048666803ff01608000169a0a0eb8fb81bff743b3f805b3f761c101ddd2f820d203
+f768a9155f7cb4bf1f8bab91ad93ac9fe2b3e5d78b9e8b9b8198700848fbb405736d
+737d738b08f7aaf80515b79a65581f8b6a8566836b773464303e8b798b79917fab08
+cef7b505a7aba3959f8b08fb2bfc10159a759d84a68be78be3f701aaf71b92a78ea5
+8ba38bd66dbf488b618b6f79726f9cf0a2f72ac78b089b8b97859d7c8f8794898f8b
+089e9a9da7967ea3671f638b5769675c6055714a792e80a07798708b3c8b2b3566fb
+34857188738b748b40aa54cd8b08ae8ba997a5a56bfb34777b7c7afffff5b333ffff
+f44ccdfffff24ccdfffff7b333788bffffdf999a8bfffffd6666ad698b0875827179
+74a978a61faa8bff002b999aff00026666ff00266666ff0024999ab4b2b4c5a6f70c
+080e3581cb4bbcff01438000ff004c80004cca121380f76bf7c915970a1350980a13
+a0990a0e6381c7f7ddc712f70cdaf736d98ac513f0f89bf830159c81956b1e658b8d
+5f8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab
+98b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f
+088b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980
+6405826b83628b788b78927da98bff00134ccc8bff0012e668ff00058000ff001299
+98ff000a8000fffff3e668ffffe48000fffffa4ccc748bffffe880000813e88b7f8c
+838b858b6d6f7c6e7d08966f05e9b095ab8ba68b9a89978898899689988b9d8bff00
+0c3333ff00028000988fff000c9999ff000e8000ff000d6667ff000e6668ff001019
+9aff000e9998ff0012b333889485937d8b08716d6e77818b0813f0848890971f8b94
+90a191a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b97080e5d
+81ccd7bdf76aa79b771213e0ff00f04ccdff0140333415ff000ab334ff0026ccccff
+00098000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b818b
+fffff6e66689fffff2199a846f087c48058673897a8b798b649872c08bff0039e666
+8bff004b999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd0584
+6c81618b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b
+97088b94909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b
+970813d09c81956b1e658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffff
+e16666ffffbf8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080ef7
+7b81bcf8247712f71dd778e1f0dbf735d913ecf811d11552a874b11ee48bb2c9d2f3
+088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c
+818b848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff000966
+68ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b
+809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e836608
+69fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0f7310513dcf7a30a13
+ecf7a40a0ef77b81bcf8247712f71dd778e1f0dbf735d98bc513ccf811d11552a874
+b11ee48bb2c9d2f3088e89806405826b83628b788b78927da98bff0013b3348bff00
+131998ff0005b333ff0012e668ff000acccdfffff41998ffffe44ccdfffffa3334ff
+ffe8cccd8bffffe866660813ca8b7f8c838b858b6d6f7c6d7d08966f05eab095ab8b
+a68b9a89978898899689988b9d8bff000c999aff00029998ff000d8000ff00043334
+ff000ce66699ff000d199aff000e199cff000fccccff000e1998ff0012199a889485
+937d8b08716d6e7c818b0813ec848890971f8b94909c91a508c3f77805ff00039998
+ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f8165086efb0205
+41fb125a3c598b798b809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c8195
+6b8b658b8b5e83660869fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0
+f7310513d8f7a30a13ecf7a40a0e4e7fb5f778c1ceb762c712f746dcf745dc13ccf7
+d1a9156577acbb1f8bc8a4a59694b1aaac9fa88b08ad92646e1f355841471ef75cf7
+4c15bf72b95c1e638b53754650088906b1f3b1b9b6bb08769f0513ec7f817b7b7c8b
+0813dc658b669e5b8b758b597c64fb0008a38005a2b79fa9b28b0813eca68ba588a0
+8b9d8b9a8e918c473e43fb0f8b33084aaf61c7f705f716eff7121e0ef47fad6bccf7
+63c0dba7987712f70dd67bff00558000ff00718000d913a5f791a115f7a50afffff8
+4ccdff012a333415132bf7a60a13b5f79f0a13abf7a70a13adf7a80a1361f7f5fb41
+15f7a90a0efb0d7fadf784c0dba7987712f80fd913c8f791a115f7a50afffff84ccd
+ff012a333415ff0009b334ff0026ccccff000a8000ff0026cccc8bff0011199a0813
+d87f0a13e86b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+818bfffff6e66688fffff2199a856f0860fb5a05877a88788b7c0854b56ebcf70bf7
+12f0f713c16eb85c1e648b526d4f520889060efb2d81acf731bc75b4f732ac12c4ca
+f77ed713dcf70cdf15a7798e82846e85645eb868d01eff0035b3338bff00338001ff
+000d4ccdff0028ccccff0021b333d1ff0039e666b6ff006680008bff0056999a8be1
+58d02e8b488b897f4a8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a
+897a897b7f867d897d8b0813bcf7aa0a13dcf7ab0a0ece81b0f746b2f72ba77aac12
+f73eff00558000ff002f6666ff00494cceff00c34cccff00494ccc13deff0065cccd
+d315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff5
+8000ff001fcccd8bb18b8ab7ff0008e666b108ff001eb334f719ff006133328b05ff
+fffe199afffff166668afffff180008bfffff2199a8b56ff000b8000fb0bff007033
+348bff001c80008bff001ae666ff00043333ff0019e666ff000ecccdff004d0002ff
+002be666ff003be664ff0069e6678bff007633338bd3fffff03334e5ffff934ccc8b
+ffff8cb3348bffffbc199affffa03334ffffe7e666ffff9ccccc08ffffa0999a8bff
+0011b333ff004c333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff0011
+199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813eef7a20aff00d733
+34fb2b1513dee5ff00228000f726ff005db3321eff001a80028bff000e6664fffff0
+199aff000c8000ffffe3e666ff000b4cccffffe6999aff00026668ffffdbcccc8bff
+ffe1999a8bffffd86666fffffa3334ffffa9999affffdfcccc53ffffe74ccc60ffff
+dc333479ffffdee6668b08ffffe66666ffffd9e668b1f41f0efb0481c757a8f73cae
+f740a612f70fcfe7d9133cf7d7f77a154b065c76b1b6b8bbbade1f988b9989988808
+4dfbaf15846a81638b780813bc78927da91ebb8bb8adb9c6889485937d8b716d6e77
+818b848b88908b978b9490a191a508c6f78c0590a08d94a38b08a4068e8d8c8d1f8b
+a38a8d3789fb0a8c05ffffa3b333ffffb64ccd543d1f8b52c66bb3876e8571767262
+73655c476d8908137c7e8a0586848c7b8f8508c68d05ab8cb3b5a2b4aec7aabeb38b
+08a9060efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6999afb431575
+0afb50fb3f15760a0efb3481c7f7faaae3e712dedea7e7cfe730d013f8f756f8d115
+d20a13fcf73416d20a13fa8cfb5f15df0afb50fb3f15760a0efb109676f826b001f8
+4aa503ff00c2cccdd315fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0049199af7d4
+998b05cf98754c1f8b838b838a8308a58f0590b990b197c508fbe9067c517e657b5d
+08a38705addca0a7d68b0898060efb777fc0f7f2be01c4ddf72bd903f7d5f92e15e5
+0afb45fbd915f7990a0efb2d81aaf733b475bcf732ac12dad6f73ccb94a513bef784
+a0154b75c7cc1f8b9b8c9b8d9a978f978d998b0813def7ac0a13be6b8b76a6638b6f
+8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b95974c8b
+fb0f8b35fb016ffb0d856f88728b758bfb00d167d78bdf8bcbb697c0088b8e8c8d8b
+8e8b9685957d8b818b75877f6a087f696a74668b080efb6481acf813ac12c6df77cb
+dfd658dd13d8f7428115900a13d4910a13e8920a0efbb181c7f7eda79877f5eb12f7
+5deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0efb
+b181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af73416e20affffe2
+4ccdffff033334157e0a13bc7f0a13dc800a0efbc2fb58aff8bfa79877f5eb12f74d
+ff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a13d8820a139470f7
+e4157d0a0ede7faef783c0d7b170a8957712a0cdf782d6f74bd913c7f85da1156974
+a5b51f8bd6b6b39695b1aea5979f8b08a3a0745e1f264544531e6cf7621513cfc0f7
+690576886086808b08ffffff4cccfffffce6660513e7ffffe28000ffffffccceffff
+968000ffffff4cccffffe3b3348b0813d7624d8d8b1f13e7878988790513d7898290
+8b9c8bad8b99878b688b76866b82587822794d7b6980727f81828b088189959a9980
+997b1f768b7d7b877708860773a874aa1eb58baca4a0ba9cb2a0e099dd0813e79ce9
+93aab28b08ff006533348bffffc1ccccfba005877a88788b7c0854b56ebbf70cf712
+f0f713c16eb85c1e648b526d4e52080ef70881adff00bbe666ff0027199a96c0dba7
+9b7712f73eff00558000ff00668000d6f74bd913f7f834f7f915ffffe8e66621ffff
+5266678b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff00
+11199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85fffff9
+4ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a84
+6f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff00
+8be666ff00ae33338bffffec999affffa7199a05877a887a8b7c0854b56ebbf70cf7
+12eef713c16eb85c1e648b526d4f5208898baaf710058f9d94a98b970813ef9c8195
+6b1e658b8b5f836508d5fbe1156974a5b51f8bd6b6b19695ff00261998ff0022e666
+ff0019e668ff000c199a9f8b08a3a0745e264546531f0e8781c7f78ec7dbaef73ca8
+a57712f7ffdd68da13faf84ff86f15ffff5ee6668bff0018199af7000599cc96b38b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea333408ffffec666633ffffb9999a8b8368ff
+0046999a8bffffae3333fc0405fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff00091999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff002619
+9af73a05b6b4cea0af8ba08b99858b6c8b7d8978836908773a0513fc836b82628b78
+8b78967da98bbb8bb8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd19
+9a908b97088b948fa192a5089fdb0513fa93ae90a28b9d8bc7709f648bffffcc3334
+8bffffac8000ffffdd8000ffffd04cccffffd9800008ff0022199af72dff00a0e666
+8b050e30967693a8ff00b6cccdff00223333f714ce5fa712f73eff005580001334f8
+6bf7f715f79e0a132cf79f0a13b4f7a00a1374f7a10a66f7d015ec0a0e6381c7f7dd
+c701f70cdaf736d903f88ef7f415940a25f8b715ce0a0e51fb7ec8ff02178000ff00
+4c8000bdb201f77fd0f741ff0048666803ff01608000169a0af731f91815f79d0a0e
+6381c7f7ddc701f70cdaa3c5dbd903f88ef7f415ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a44598b798b
+7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b52695d508e
+829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c05847188758b
+788b52ab74ae8bff0017e6668bff00154ccdff0005e6669f96ffffeb999affffd799
+9afffff63333ffffe133338bffffe14ccd8b7f8c848b858b6c6f7d6d7c08967005ea
+b095aa8ba78b9989988898899589998b9d8bff00144ccdff0006e666ff0016b333ff
+0009199a9eff001f8000ff001c8000ff001e999aff0029e666ff0023e666ff003499
+9a088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e
+77818b848b88908b97088b9490a191a5080ef7f57faef765a8f7feae12f4e3f791e0
+46c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a712db
+cef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0ef70c89adf7c6aef7
+1eb2a777c7a712f72da4f835e059a813fef8fff8ba15ffff29b3348bff00054ccca4
+0591a79b9ab28b08a5068f8b8f8e8c90088f9e898c058b318a6966388c8b1e898a86
+78058a868f888f8b08a406aa9982761f8b878a868a8608fffffae66673ffff7a199a
+8b057d8993921f8b8e8b8f8c8d08728f057d597958755508a78605afdb9a98c08b08
+ff0057999a8bffffa36666fc490583687d7f668b086e06858b89888a860887788c89
+058bd68dba1ec38b8c89e08bf7548bd6e59de18e9b8d9a8b998bcd65b541ab6e974e
+8d688b083f8bff001d6666f71eff00a7999a8b0513fdc08b957e8e3b08a890058cc1
+8fbe92bd087187058a84867a778b08fb98fb6815e60613feecbb5d451f8b7f8a7f88
+7e7e4e562ffb258b4b8b7c908b9e8b908b908d91080ef70281adf782c0cbc75fa712
+f73bff00578000ff00628000db6fdaf718d413edf81cf7a7156bfb2c05877a88788b
+7c0854b570bbf70cf712eef713c16eb85c1e648b526d4e5208898b9fc50513ebff00
+06199aff0011999aff0003e666ff002566668b9d8bc7709f648b578b60762ffb0008
+8a8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dbf7170a13
+ebcaddc2c6af8ba08b99868b6c088b7d8577846908edfb8f1513cd6974a3b51f8bd6
+b6b39695ff00261998ff0022e666ff0019e668ff000c199a9f8b08a3a0745e264546
+531f0ef7b27fb070a8f78fbd6fb26ec3f790a871b012f96fd9b9a9138980f8daa415
+f7870a132180f7880a130b80538b6ab14f8b7d8b4a884c69abf72bf705f721f68bf7
+198baa3a923508a98f058dbf8cbb93c2558e75b5fb0a8b08139180ffff6866688bff
+ff6a4cccffff7c4ccc5affff44b33408ffff9d4ccc64e506ffffe08000ffff51199a
+ff00503334ffff76e666ff00a64ccc8bec8bc5abaea3aaa0a4a790a691a5859e738b
+768b797b7c6e0866436374438b08fc05f8b4152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a081345806c88058787897b8f82b88c
+af8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e6
+66ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e
+8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe23334080ee981aaf733b475bcffffdbe666ff0027199af7
+24a77aac12f73eff00558000ff00348000d6f73ccb94a51393c0ff0065cccdd315ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff006b80018b05ff
+ffffcccc8affffffb334ffffff199affffffcccc8a856f88728b758bfb00d167d78b
+df8bcbb697c08b8e8c8d8b8e8b9685957d8b08818b75877f6a7f696a74668b4b8b75
+c78bcc8b9b8c9b8d9a0813a3c0978f978d998b0813c3c0f7ac0a13a7c06b8b76a663
+8b6f8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b9597
+4c8b08139bc0ffff9366668bffffb04cceffffab199affffdb8000ffff98e66608ff
+ff9219998b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85ffff
+f94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a
+846f080ef78a89a8f90b7701f8cff7de15f7b10a48fc72159ad30596bfb7cbd4b608
+d3fb7b058d828c858a8587797585708b087906878b87888a860887788c89058be08d
+adb1d3898b1e8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a0
+86947f8b818b81847a7408fc29fcb705746b7875648b088006868b87888a86088778
+8d89058bc88da4a2e1898b1e8d8d8f9e058c90888e878b0879066d8b7e978f9b8c91
+8e908f9108f73df77905c15f9c4d8058087c4305856e7f7b6a8b087906868b88888a
+860887788c89058bcd8dadb0cd898b1e8d8d8f9e058c90888e878b0878066c8b859b
+91a8080ebd89a8f8337701f79df78515f7b20a83fb8515cf8b9dd60595b8a3bec1b3
+08c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8da5a7bd898b
+1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f8b858b7d87
+7b7608fba4fbef05726b7380748b878b89888a880886768c89058bb98d9d9cc9898b
+1e8d8d90a0058e898e881e8406738b78909fa608f70ff73105b2618b57805c080ef9
+1189a8f79bb2f7b5a896771213d0f769f8cd152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff00
+0c199a91ff001e800008ff002a199af76aff017b999a8bffff654cccfb6505746b78
+75648b088006868b87888a860887788d89058bc88da4a2e1898b1e8d8d8f9e058c90
+888e878b0879066d8b7e978f9b8c918e908f9108f73df77905c15f9c4d8058087c43
+05856e7f7b6a8b087906868b88888a860887788c89058bcd8dadb0cd898b1e8d8d8f
+9e058c90888e878b0878066c8b859b91a8089ad30596bfb7cbd4b608d3fb7b058d82
+8c858a8587797585708b087906878b87888a860887788c89058be08dadb1d3898b1e
+8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a086947f8b818b
+81847a7408ffff229998fbbffffe6f33348bff002f3333f7840591a79a99b48f0813
+e0aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc999896fffff33334fffffa199affffe2333408f95afb8315f7b10a0e
+f7bd947695a8f740b2f729a3aa77121378f762f75b15ff00e6199a8bffff9ae666fb
+1505726b7380748b878b89888a880886768c89058bb98d9d9cc9898b1e8d8d90a005
+8e898e881e8406738b78909fa608f70ff73105b2618b57805c087a40cf8b9dd60595
+b8a3bec1b308c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8d
+a5a7bd898b1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f
+8b858b7d877b7608ffff73b334fb47ffff0419998bff00128000ff0052333405ff00
+0b6667ff00328000ff00124ccdff00444ccc8b8b8bff0002999a89ff00006666898b
+6c8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef8000
+8bfffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd50513b8907fd4a305
+f7edf77915f7b20a0ef7d789a8f7bcb2f78cae01f83bf7d715b98b56fb9005856f7a
+7b648b087a06878b888889860887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90
+888e878b087b066b7e94a01f8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb
+41058c868c868b87087478846a1e7606878b87888a860887788c89058be18dadb1cf
+898b1e8e8d8f9e058c90888e868b0880066e8b789b85a70860f7410577df65ad368b
+08608bf78af79b0590908d8f8b8e0891818d831efc91067e8088831f8b888c888d88
+08f731fb9b6a8b05368b5769533708fb08fb4105786f727b6d8b088006878b878889
+860887788d89058bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f99
+1f8b918e94939608f707f74105b7cdb098b98b08f70bb515fb27f789f80d8b050ef7
+4c89a8f744adf732ad01f7ebf75f15b58b6dfb1805846f7b7b648b088506878b8788
+8a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b088406668b81
+9991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88888a
+860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b7f9f
+80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b7e85
+937d08f3fb406e8b05398b6566493d08605805777473766e8b088106878b86888a86
+0886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b087c06658b849aa4
+a808b6be05bec7a9a0b88b08f702b1152df72ef77e8b050ef92189a8f7bcb2f78cae
+70a81213e0f769f8cd152afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199a
+ffffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e8000
+08ff0030999af78bff01707ffe8b05ffffe7e668ffffed4cccffffe9e66871ffffe9
+1998ffffddb33408fb08fb4105786f727b6d8b088006878b878889860887788d8905
+8bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f991f8b918e949396
+08f707f74105b7cdb098b98b08b98b56fb9005856f7a7b648b087a06878b88888986
+0887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90888e878b087b066b7e94a01f
+8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb41058c868c868b8708747884
+6a1e7606878b87888a860887788c89058be18dadb1cf898b1e8e8d8f9e058c90888e
+868b0880066e8b789b85a70860f7410577df65ad368b08608bf78af79b0590908d8f
+8b8e0891818d831efc91067e8088831f8b888c888d8808f731fb9b6a8bfffe1b4ccc
+8bff0028b333f7630591a79a99b48f0813d0aa8e058f8f8d9b87940813e05e8a678a
+648b0813d0658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe2333408f91ffb601513e0fb27f789f80d8b050ef8219476
+95a8f740b2f729a37bad9877121368f762f75b15ff00decccc06ffffe8ccceffffed
+6666ffffe93332ffffe66667ffffe43334ffffdf333308605805777473766e8b0881
+06878b86888a860886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b08
+7c06658b849aa4a808b6be05ff0026999aff002d6666ff001a999aff0017199aff00
+1e1998ff0008800008ff0047cccc8bffffe2e668fb1405846f7b7b648b088506878b
+87888a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b08840666
+8b819991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88
+888a860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b
+7f9f80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b
+7e85937d08ff00676668fb3ffffe9d66648bff00128000ff0052333405ff000b6667
+ff00328000ff00124ccdff00444ccc8b8b0813b4ff0002999a89ff00006666891e6c
+8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef80008b
+fffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd5907fd4a305f887f779
+1513282df72ef77e8b050e78fb7cb7f8a0b0f70976f72fadc77612b8b5f7ebe757da
+13fdf8b9f8b115d934b23a1e518b677f388b0852fb43a88905b2dcb1d5f70b8b08bf
+b96354575e23fb181f5f067d827f7f839186941fd10613fee8a53f551f8b4a5b24fb
+1f7efb078038578b2c8b33ec80f7008be38ba3a192ae8c8f8b8e8b8e8b9e7b927b8b
+085d8b535a5c8b578b599c8bbc8b918c918c919cdce293be8ef77c97b9f7368bcf8b
+da4cac539d08f711b8a0ef8baf08fb49f73015f7030a0efb38fb71b3f73dabf757ae
+f734abf75e77129ca9f792d26fc913fe9cfb0c1550b761dfb1b792b29980947b1e67
+8b6b6e678b087372aeb1c4c1b2ccf72ac3efce1f8bc65ea1778d0813fda893d1b68b
+cf8bcd469e578b458ba27f308b7e587f647b6108a38605a7cfb3bcd58b08abb37760
+636252451f66067a8b81689e8b08c60613feb09c6d683d4b57521ffb035744461fff
+00f16666f90115bd06ff00266666b9ff002f3334b8ff002ae666b208ffffef999a98
+05ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafffffe4199aa4ffffde
+e666a808ffffe966667e05ff001b4ccd65ff001bcccd5eff001366665c080ef7128a
+a7f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f776
+0a0e96fb5ca8ff00a0999aff001e6666f82e77f790a701f5c903f776f81b15a1819c
+6f1e6306818b838a8980877db2978b628b5e523c8bfb018bffff994cccc9ffffd680
+01ff0052e666fffff7cccd08ffffe5199affff8b666605846f807b6c8b087a06878b
+87888a860887788c89058bc88dacadc8898b1e8d8d909e058c90888e878b087a0675
+82949c1f8b908c918d9208ff001ae666ff0074999a05ff006a999aff000a1999ff00
+628000ff003cb333b1ff00a5999a96bd88ba93ad9bccb9748ba20892848c831e6206
+3a8b99fb157e50ffffda4cccffff5fb333ffffc34cceffffccb333ffffb04cccffff
+f5b33408ff009a199aff029be6688a8d058b76897e6b4f8d8b1e89898679058a868d
+88908b089b06a293827b1f8b858a858a8408ffff75e666fcea05ffffca3334ff0007
+6666ffffdbe666ff001dcccd8bff0050cccd8bf70ec5d48bc5080ef71d7fadf780c6
+91c6f785ad01e4e9f85de803f910f7e915f7b30ae57f15f7b40afba2f7ba15f7b50a
+0efb047faef731bc75b4f735ac12dfd9f773d4139cdff720153ab244eaf72be4f745
+f715da6ad0261efb3940fb5c251fff0127ccccff006133331513dcfffff2ccceffff
+fb1999fffff08000fffffcb333ffffefe6668b0813bc678b809e628bffffe44ccd8b
+6dfffff7cccdffffee800081ff00143333ff0058b333ff0031b333ff005a8000ff00
+414ccd8bbe8ba6658b428bfffff24cccfffffe8000ffffea4ccefffffc4cccffffe6
+999908ffff2accceffffdd999a15ff00061999ff00016667ff0008199aff0002cccd
+ff000833338b0813dcac8ba070b38bff0020199a8bff0025ccccff00128000ff0016
+6666ff000bcccdfffff0199affffac8000ffffd9ccceffff983333ffffb0cccc8b4e
+8b78c98bcb8bff0010cccdff0001999aff001233338eff0012cccd080ef7169476f8
+eed25ea81213a0f8c3f89315f7b60a13c0f7b70a0e819576f820c462a91213c0f82c
+f7ba15f7b80a13a0f7b90a13c0f7ba0a0ef7169476f8eed25ea8ca761213b0f8c3f8
+9315f7b60a13d0f7b70a62f7cc15808484808980887f8f868c8908da35058c8a8e8a
+8e8b8d8b8f8c8d8d8f8e8e8f8c8f088e078b73f714681e818b8286858708fb1a8515
+8184848089818a888b898b898b858d878e8808dd37058c898e8b8d8b8f8b8f8d8d8c
+8f8e8e8e8c8f8b8d8b8d8a8c0863f706058794848e7e8b818b81858587080e819576
+f820c462a9f7737712f821d113d8f82cf7ba15f7b80a13b8f7b90a13d8f7ba0a98f7
+fb158085817f887f8a868b868e8508d6fb0d058c898e8a8d8b8e8b8d8c8f8d8f8d8f
+8f8c8f088b8f6cf726058993858f808c8a8c898b8a8b848b8388838708fb1d831581
+84848088818b898a898b888b878c878e8708e3fb01058d888d8b8d8b8e8b8e8c8f8e
+8e8d8e8f8c8f088b8d8b8c5df71f058894858e7f8b828b82888285080ef7f57faef7
+65a8f7feaebba0b2a012f4e3f791e046c897c2acf0c5cf5db99ade13fce8f917f9a7
+15588b5b5b83678a888b878b888b799982988b998b9c948f9c8c8d8b8d8b8c8b9783
+938b970891078e97989ead8bbc8ba64fbd8bb48bacb193af8c908c908b908ba0809b
+788b788b7b7b8981088a878b888b890813fcd88b74a18b8b79088507887e7e817d8b
+08688b62c7548b08fb78fb381513fec8f7ad0a13fdc83c76bab41f8b948c938d9308
+96bf0591a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e88
+898778058a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b
+083c6bd9eff75df703f771f7031f0ed57fa7f744a8f755a7daa0b2a1b77712dbcef7
+2cc059cd5ac0cecac5b77bcf13ff30f7bff88f157a9782989b9e989f1e8b9684938b
+968b9a99a1ae8bbb8ba34fbb8b08b8b1bdb4a08299797d7380721f8b76a08a8b798b
+7d7e7c7a8b6a8b64c8568b08565651651f8f2e1513fea8f7af0a13fe606080a7a91f
+8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a8d058b4b89
+686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85898408846c
+058366754b4a8b08577cbbc0deb8f76af7031f0ef7f57faef765a8f7feae12f4e3f7
+91e046c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a7
+12dbcef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0efcc0f886a0b2
+a001fba0c2f76bb803fba0f87915799882989c9e979f1e8b9684938b978b9998a2b0
+8bbc8ba64fbc8b08b9b2bcb4a0819a787e7180731f8b74a28b8b798b797a807d8b68
+8b63c7548b08535651671f0eea89adf7c6aef71fadd3a701f7e2f7e615e606f7058b
+ba4c78317e4e562ffb258b3c8b869292ac08ff005d999af84c15ff00fc66668b92ad
+ffff03cccc8bff00063334a80591a79b9ab28b08a506908b8e8e8c90088f9e898c05
+8b328a6866388c8b1e888a8778058a868e88908b08a406b18b977d846d08fffffa19
+9a6fffff54e6668b8469ff00aae6668bffffa3199afc4a0583687d7f658b086f0685
+8b89888a860887788c89058bd68dba1ec38b8c89e08bf7548bd6e59de19ee866c132
+b16e974e8d688b083f060e3389aaf752abf724adf769a9a57701f827f7101579394c
+7e5c8b608b629594ae08acf725e58b05cd8ba6607e5708fb37f71315acf724f74e8b
+93adfb4e8bcaf7a1768b0577827d8779877a8856857d8b08867205888d898d1ebc8f
+059e8b907b7e52086afb242c8b8369ea8b40fbd705856e7e7b6c8b087506868b8888
+89860887788c89058bcb8db01ebb8ba589ba8bf38bdfbe9fdfa1ea34a2328b080e4d
+89a8f793adf70f77f75dad69a412ff01e8999aff0055999a13f4f7b7f8d21590a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800082ffffd1ccccffffefe666ffffdd8000ff
+ffe93334ffffe7b33408ffffbde666d76c74ff0042ccccffffb2999a05ffffe5b334
+fffff08000ffffdfe666fffff8e666ffffda999a8b738b6a8d818e08fb13fb8e1586
+6f7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a08
+8d8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff000766
+678bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08
+b6f771059f849c88ad8bff003180008bff00294cccff00098000ff00223334ff000f
+999a08f1ffff89e666a8a6ffff9fccccff006e800005ff003f199cff002a6666ff00
+1f4cccccff0009ccccff0034199aff0001e668ff00098000ff00014cccff000ae666
+8bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b0813ec5c0a0e
+43fb7fa9f757aef804b901f83fdd03f79ef82815ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967666d6f68ff0003e6
+66fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824fc5f05856f7c7f6b
+8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e8d8d8b9f058b9089
+8d878c08788e057c8d719093ad08b7f74c059a7bff001c80007aff001d80008bff00
+2780008bff00238000ff000c3333ff001f33349f08ff004accccffffa9cccda8a5ff
+ffb76666ff0053cccd05ff000cccceff000b4cceff000bccccff000c800096ff000d
+6666c1cda6cf8bd38bdf6fcd278b588b6678707b08f735fb17158bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdfffffd1998fffffb8000fffffce668fffffb999a
+fffffcccccfffffbb3330832ff0066b3336c73ff005d3334ffff94800005ffffeae6
+66ffffedccccffffe83332fffff4b334ffffe8b3348b718b709876a808cdf7b805a4
+9ba89db18bcf8b95448b5a080e428aa7f8d7b270a712f8b3a697a613b8f797f91815
+7e8b7e8c258c0889898879058a868e888f8b08a906ad9785761f8b868b8589840833
+fc8a05856d7a7d638b087106868b87888a860888788c8a058be28cb3aee88a8b1e8d
+8c8f9e058c90888e868b087106687e97a01f8b8e8c8f8b8f08e4f88a0513d890a69a
+91a18b08f71b06cc8b967b8e5b08a68fb2f770708b057b546249598b08fb1f060efb
+388aa8f7fab770a612f83fa19ba613d8f70cd315856e7e7c698b087306878b87888a
+860886788d89058bd48daeb2d4898b1e8d8d8f9e058d90878e878b0874067181949d
+1f8b908c908d9208d3f7cef70a8b05a98b96808c7608a18bb6f750708b057c556351
+568b0813b8fb7b8b8675058a888d898e8b08aa06a48a93868b7b8b858a82887f080e
+4c8aa7f798b2f7acb270a712f8dba613d8f798f918157e8b7f8c258c088889887905
+8a868e88908b08a906ad9685761f8b868a858b84085ffb8b338b8464e38b65fb6c05
+856d7a7d648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c
+90898e868b087106677e97a01f8b8e8c8f8b8f08b1f76cf28b92b2248bb7f78b0513
+e88fa69b91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050efb338aa8f749
+b2f723b26fa812f834a613e8f779f76515e88b95b22d8bacf723e28b05bf915d581f
+8b78a68ea2f72cfb4d8b658a0513d8fb048d88898775058a888c898e8b08aa06a494
+867b1f8b858982897f087221378b8264df8b6cfb1d05846e7e7c698b087406868b88
+8889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b0874067281
+949d1f8b908c908c92080eabfb40a8f722a7f7d0aaf77cb270a712f71ea28fa3f7c2
+db97a613f780f8cae8158fa08ca08b9d8bf74ffb49acfb1d8c08aef75b058fa69b91
+a18b08f73a06cc8b9e568e4208a69094f734fbad8b3d8a0513ef807e8b7f8c258c08
+88898879058a868e88908b08a906ad9685761f8b868a858b840832fc8a05856d7a7d
+648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c90898e86
+8b087106677e97a01f8b8e8c8f8b8f08bbf7a405f71af70263fb2b1f8b7689748672
+6efb3d3c52408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb2ca28b05
+8c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf702f70aa5f727080e59fb7e
+adf75ba8f73badf736b26fa812dae1f76cdb5ea613f6f70fd315846e7e7c698b0874
+06868b888889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b08
+74067281949d1f8b908c908c9208a8f70f05d98ad86f8bfb048b758871846d72fb00
+5e47438b538b83aa8ba9088b9a8b8f05a07d96741e748b797c856e8a878a868b868b
+62b45cea8bf70b8be5f700a8f71091a38da18b9f08f721fb18a32c1eb0f736e28b05
+13f5bf915d581f8b78a68ea2f72cfb4d8b658a0513eefb048d88898775058a888c89
+8e8b08aa06a494867b1f8b858982897f080ef7c68aa8f7bbb6f774c86aa712f7a8af
+f889a613eca38a15cd8c05d38cb4d0c5f702c1f1a2b4f68b085efb9005866f7b7c62
+8b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e
+868b087106697c94a11f8b8f8c8f8c8f08b7f79005f68b94629d259b2f994bba789c
+7e9e7f977aa26a91618b710888a6079ff7278b900598818f7a1e808b79917a9e74ab
+74ca78e37ec781ba4d8bd7a4adf1a0ca94a8a3a79f8b978b95849380089182988797
+8b9e8ba29c90a4089307a07da0621e4c8b525a7a5179537440506b707c5f8b6a8b08
+aff7640513dc90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8878058a868e88908b08a506ad9981751f8b878b878a870866fb64056a8b
+5f8b769a66a484bc8bba8b9a8c998c9808910713ecc264b94e1e5c8b757087740883
+07779a7d9c1e978b998f959496969892978b9f8b98708b6f086c078b4d923ec4754d
+8b705c694f3ffb194b406a8b088206878b87888a86088878050ef7118aa8f74aadf7
+0cd16ba812f8f6a413e8f7f2f788157e06588b719976e27cc975a66c8b698b787a86
+748a888b888b888b7b957e9d8b9d8b9f93938b08978b91768f759458a966a985678b
+59776e597565512d698b088206878b848a898408877a8d8ad08c05b98db6d1a3b4ab
+c5a2b1dc8c086bfb1e05856e7e7c698b088306868b888889860887788d89058bc38d
+afb2c5898b1e8d8d8f9e058d90878e878b0882067281949d1f8b908c908d9208abf7
+1e05dd8a9066915090609645a28b08b3a0405d1f84a407a4f71b058c8d8b8d8b8d8b
+997f8c7d8b798b738e78f71283bc64a0678bac90b7b0aebe9ba199a0988b08928b9c
+839d8ba08b9e9e8f9f8c8e8c8e8b8f8b9c7e976e8b6d8b6870604e4e346a7d578b08
+7d8ba6f7080513d892a89898ac8b089306908b8f8e8c9008909e898d058b51896468
+528d8b1e898987780589868e888f8b089306a595837a1f8b878a858984080e62fb7d
+b1ff00b76666ff0024999af7cbb0f70976f72fad01c6dbf712c603f70dfb3a15a85e
+b075b48bc08bb6a88bc28bff0031b333ffffe43334ff00364ccdffffd06666ff0021
+6666ff006db33290ff00803334ff0036e666ff001e8000ff008fb334a2f641b44c9f
+d5a6bfbd9cda089fea2aba328b518b687f378b0853fb43a78905b2dcb2d5f70a8bc6
+8bbe587d487f545b3dfb078b085f06808b8383888089809084968b08d106f7048b9a
+fb01805874fb002e60478b428b74ad84c888ab8398708b758b7c76867185709a70a0
+7608ff00136666ffffed6666ff001c8000ffffe9199aff00303334fffff6b333ff00
+32b333ffffe7b333ff001d3333ffffcb999a8bffffc480008b727271678b6e8b7a98
+76a2080efb2dfb7db1f82eaef734ab12d5caf704c69ad26fc813fcf4fb3a15a95eaf
+75b48bc18bb5a88bcc8bff0041b333ffffe4e666ff002b4ccdffffd0999aff001533
+33ff0073ccccff0011b333ff002cb334ff005633348bff003be6668bc65ea1788d08
+13faf79b0a13fcaf9c6d673e4c57515f769fa91f8b908c8e8b9008a6788e82817183
+641e8bffffda8000ff001c8000ffffe2e666ff00343333fffff74ccd08ffffff4ccd
+ffffff4ccd05cf81a66c8b398b727366668b6e8b7b9875a2080ecf8aa8f8c5ca69a7
+1213c0f8e6a715538b83ad59f7050856f70c0580a773a4728bd8a3bee7abc6a3b8a8
+a0958ba68ba172a58ba08ba49d90a30893079f7d9d5d1efb008b62327d6e7256614b
+4f6c6f7d5a8a668b08aff75f0513a090a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc
+8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d
+8f9e058c90878e878b087106638b7e9891a908b9f79905c28ba870aa3e08c2fb0d05
+cbfb20deac8dfb2108a78b9ff729058b8d8c8e8b8f089088917a1e0e4c8aa8f7e3d1
+6ca812f848bb13d0f6d315846e7e7c6a8b088306868b888889860887788d89058bc3
+8dafb2c5898b1e8d8d8f9e058c90888e878b0882067281949d1f8b908c908d9208ab
+f71e05ea8b9265965091629b45b87dab8195618b648b828a838a8308a28ba5f71b05
+8c8c8b8d8b8c8b9a798d818b658b78e685b182bc5da0638bb190b9b0b2be9ca19ba0
+988b08948b9d839f8ba38b9f9e8f9f8c8e8c8f8b8e8b9c7f976c8b688b66705c4e4a
+34637d528b08788ba6f7080513b092a89898ac8b0893068f8b908e8c9008909e898d
+058b51896467538d8b1e89898678058a868d88908b089306a595837a1f8b878a8589
+84080eb48aa8f7bbb6f774c86aa71213e0f7e1f70d15a5f72c059874916d9463a3fb
+029e46db8a08d48a8c8d8f9e058c90878e878b088106678b5fd669f7197cc47fb751
+90089007d7ababeaa0c695a8a5a7a28b988b9684948092829a87978ba08ba69c8fa4
+8b8e8c8d8b8d08a17ba05c1e448b4e5a78517b5a774b5a6608a6f7305f8b6bfb4605
+72866d8a718b08b0f7640513d090a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a878b87
+0832fc8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b
+1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c8f8c8f08b7f79005ad8aa4
+879d82086afb50050e878aa8f74aadf715d063a81213e0f7c6d315a8f71105b67a90
+6e926592629844bd8a08d48a8d8d909e058d92848c868b088306668b79e683b182bc
+69a0558bc093b1bda4b199a19fa7958b938b958a8f8792879686958b08a08b9f9d90
+9f8c8f8b8f8b8e8b9e7d9a6b8b5b8b65546d5e70646d63567d08a3f45f8b72fb0248
+8ba5f7060513d095b4a18ea78b8f8b908e8c90088f9e8a8d058b53896467488d8b1e
+888987780589868e88908b089e06a594827a1f8b868a858a840848fbb505846f7f7e
+698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c9088
+8e868b7b8b708c8ba68b8f8c8f8c9008abf72105a58ba18a9d88086cfb1a050eb48a
+a8f85fb2cbc86aa71213e0f8db8a158c8d8f9e058c90878e878b088106678b5fd669
+f7197bc77eba468be0a4aef1a1ca95a8a5a7a28b988b9684948092829a87978b08a0
+8ba69c8fa48b8e8c8d8b8d8ba17ba05c8b448b4e5a7851795373404a6b707d5e8a67
+8b08a1f70df08b91b2278b93bb0513d090a79c9bb48b08a506908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a
+878b8708825b328b8464e48b42fc3405866f7b7c628b087006868b88888a86088878
+8d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c
+8f8c8f08b7f79005f703899562a127a3fb029e46db8a080e398aa8f74aadf715d0af
+ad01f756d015acf72105d5859466955593629744bd8a08d48a8d8d909e058d92848c
+868b088406668b78e684b181bc69a0558bc093b1bda4b199a19fa7968b928b958a90
+8791879686958b08a08b9f9d909f8c8f8b8f8b8e8b9e7e9a6a8b5b8b66546c5e6a5a
+645a3a8b08c1f77ef7318b93adfb318b0599bdabc3d6b40880a00539656b62786f88
+a77cb849ad08777605b66c99648b648b7e897e887f08408b8369d78b2dfc2a05846d
+7f7d698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c
+90888e868b0883067280939c1f8b908c908c91080ef7538aa8f8c5ca5fb16fa71213
+c0f9798a158d8d8e9e058c90888e868b088106678b61d767f7187ac77ac9468bdda4
+bde6abc59aa7aaa8978b998b9786968497849785998b08a08ba49d90a30893079f7d
+9d5d1e358b645769516d58664c4d6b707e5e89688b08acf75505139090a79c9bb48b
+08a506908b8f8e8c90088e9e898c058b2e8a671e488b0513a08a8c528b051390fb1d
+8b5bfb3b9d8b0599a89da9a3a90813a0999ea2a0ac8b08f60691868e848b818b878b
+878a870833fc8b05866f7a7c628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f08baf79f05
+f70a899252a228a5fb009c44db8a080eaa8aa8f7e3d16ba91213c0f799f7fa154efb
+b505856f7f7e698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d
+909e058c90878e878b0883067180939d1f8b908c8f8c9108aaf72105ea8b92659750
+93629944bd8a08d3898e8d8e9c058d92848c878b088006668b77e983b182bc5da063
+8bb090b9b0b1be9ba19ba0988b948b9e839e8ba38b9f9e8f9f088c8e8b8e8b8f8b9c
+80976a8b698b66705e4e4b34647d528b08788ba3f7080591a89898ac8b089306908b
+8f8e8d90088f9e0513a0898d058b5189641e558b6f8d758b408b5dfb1a9c8b05bbf0
+a98cc18d088c069e8992828b7c088b868b858985080ef71f8ca6f7bcb2f793a701f8
+fea603f8948c15cb8ab1388f6708a68ba3f711058e987e92848b087a067583909b1f
+8b928c938d9508edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860862
+fb67fbda8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a68
+63358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a
+05856f7a7b628b087106868b87888a860888788d89058be88daeb3e1898b1e8d8d8f
+9e058c90888e868b0871066a7d94a01f8b8f8b908c9008bcf790f7db8b5afb900585
+6f7a7b628b087106868b88888a860887788d89058bb68dac1e0e8b8aa8f74cadf730
+a801f8799f03f86fd515cbf7ac0595b49392ad8b08a4068f8b8e8d8c8e088fa18a8d
+fb05892a8d89898675058a878d8a8e8b08a006a494867b1f8b858982887f0872fb00
+fb608ba4f7010595b39392ad8b089f068f8b8d8d8c8f0890a08a8dfb0088248e8a89
+857505878c8a8f1ea506a493867b1f8b858a828980084afbac0582658483678a0871
+06888b89898a880886758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b
+1f8b928c948e9608aaf71df7618b6bfb1e0582648584678b087606878b89898a8708
+86768d89cd8c05e79434711f9f8ba7f70d058c8d8b8d8b8d08948590801e7a067683
+909a1f8b928c938e96080ef7b88aa8f7bcb2f787b36fa712fa1fa613e8f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e05
+8c90888e868b087106697d95a11f8b8e8b8f8c9008e3f88a058d928d918e91939598
+8e9a8b08dc06cd8b9e568e4308a68f0513d893f735056c8b6c89658b0813e87d8b7a
+8d7b8b088a8b678b056c8a638b768b0813d864348c8b1f898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050ef7378ba5f74eb2f720b270a612f97ba713e8f8e0f84215868a4d
+890513d8288e867505888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8b
+a2f20595b49392ad8c08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e
+8b08a406a48a94868b7b8b8489828980084bfbab05816585826689087206878b8989
+8a88088676f48df7018990a0058e8a8d871e7606738c828f8b9c8b928c938e9708ab
+f71df76a8b6bfb1e0582648482678a087606888b89898a88088675ee8df7068990a0
+058c8e8a8e878b0871067382909b1f8b928c948e9708cbf7ac058f9b8f9690930813
+e8918c928c928b08dc06cd9c56431fa78f0513d899f734056b8b6d89658b7c8b7b8e
+7a8b080ef828fb40a8f722a8f7cfa9f77bb273a612f892a28fa3f7c2db13effa3ee8
+158fa08ca08b9d8bf743fb33b4fb198f08aff75d0590a9a599a78c08a80690908f8f
+1f8f9e0513f7f7710a13eff7720a13f791ac9296aa8b08f78a06a391827b1f8b858b
+858a840835fc7c05866f7a7b628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008bbf7a305
+f70d85eb5f8bfb218b76897486726efb3d3d523f8b5c8b6e997a9e7e99849d8b9f8b
+908b918c9008738b70fb2ca28b058c9091a88d908d8e9291958b9a8b9d71dd8b08f7
+128bf702f70aa5f727080ef776fb7eadf75aa5f73fadf735b273a612f7f9e0f769dc
+13f6f750f7f5154afbab058368847e6689086d06878b898a8a88088675f7048df708
+8990a0058c8e898d878b086d06728c82918b9b8b928d938e9708cbf7a90593aea08f
+a08b08f714069c9c89751f8b878b868985084bfba9058368857e6589086d06878b89
+8a8a88088675f7048df7088990a0058c8e898d878b086d06728c83918b9b8b928c93
+8e9708a7f70d05d586d16c8bfb028b768973856f74fb006047428b508b84ae8baa08
+9807a17d96741e758b787c856e8a878b878b868b62b45bec8bf70b8be3f700a6f710
+8fa28ea08b9d8bf71efb0fa72d8e08a7f7110513ee95b49194b08c08a9068f8e8d8f
+1f90a0fb09870513f6408cfb1a8b408a0513eefb048f8775058a888c898f8b08a906
+a48a93878b7a088b848981897e080ef707fb28b3f894b1f746b212dfe6f70ee1f76a
+d550a313fcf81ea31583ac88af8bab8bad8ea88f9ea1f713b9d1c88bc48ba0688b4b
+8b70876a84660876fb0afb02534e8108f71dfb1815468b65b676c2f71499f702dea4
+f71e8e9f8da08ba08bdd68d4fb028bfb158b45fb0373fb1b877689728b70088b6d8e
+6b926c2ba467dc8bef8ba98ea991aba1f712f702f73af70b8bb08bac889e57966e95
+7ca68b08a18b9a9f8f9f0892078b9e7f9e7a9a769f649d4c8bfb338bfb46fb296bfb
+49866d886f8b708bfb25da2ef72f7ca73fc74cf7068b08cb0613fa9c967c7c1f8b86
+a38d058c9e8ea98e9e90a691a692a708768d0584647863388b080e87fb08a7f7fba5
+f710a712d6d9d9d6f742cf56a813fcf7cc8f15869f8aa08b9f8ba78ea48e999cdab3
+c7bd8bb88b9b728b628b7888758672087938465c428608f7042f15518b6ca97cb2f5
+94ebc5a0f18e998d988b968bcb62b8398b2a8b46447526877b89788b76088b788d77
+90784a9e77c18bc78ba58ea791a59bd6daf70eea8bab8ba9899c6794779481a28b08
+9e8b98988f990890078b9881997c9578996998548bfb1b8bfb172670fb1386748975
+8b778b28c54cf7067fa155bc5feb8b08c30613fa9996717e1f8b87a88d058b988eb2
+8e998f9d94ad919e08708c0586707761428b080edefb7db1f74bb4f8e4b001e1e5f7
+4ec6f774aa03f76ffb3a15a85eaf75b48bc18bb5a88bc28bbc6fc25cac089306eb8b
+ecbbdfe408769a05373d426a2e8bfb158b54f7028bf70d8ba38da490a4aef75ff731
+dfda8bf7268bb13d922808aa8f92f73905508b6eb8fb0f8bfb398bfb48fb2668fb59
+877589758b768bfb08c421f7156cc476ac538b4b8b727371678b086d8b7b9875a208
+0efb32fb79b2f8ecad01e3dcf70ec6c0e103f728fb3515a85eb074b48bc18bb4aa8b
+cb8bca72b560a2c494c2abb5c808819305605f56725a8b448b62bb8bdc8ba08ea291
+a5a4f700cbcfd38bc38b936b8b6e088b7a8b8905789b7fa11e958ba79093af8c908c
+908b908bb662b92c8bfb0c8bfb01fb006efb10867689768b788b40ae4ed678088a8a
+05ce82a66c8b398b727465668b6d8b7c9974a2080e8c8ba7f8d0b212f7eba6f791a6
+78a413e8f7e3d615e0f8770591ac9994af8b08da06c28b9a80913b08a4900513f085
+f72f70850584867a7c1efc4106818892931f8b8e8c8f8b8d0872914ffb2fa28605ad
+db9e96c28b08e606aa9784771f8b878a878a860835fc7c05866f7b7b628b08710686
+8b87888a860888788d89d68c8c8b05d88bac3f8d4508a68ba5f72b058e987e92848b
+087a067485959a1f8b928c938c95080e308ba4f7ffb28b9612f39f95a4f7219ff730
+9f13def7b3d715cef7ccd28b05ba8f85621f8b6c8b849f8ba8f71f0513be7187058a
+8583867d8b0813defbc00613be7c8b86908e9108728f6dfb1f9f8b0513deafd78394
+bd8b08d88b48fbce0583648382688a086206888889881f8675e38d8e8b05ed8b8b2f
+8d72089f8ba5f710058e988293818b087a067583919b1f8b928d938d96080e6788a5
+f8e8a601f7d4ba158c928d928d9308bef774f769f7ac05939591938d8e9193949196
+91918e948c9a8c089f068d8b8e8c8d8c8d8c8d8d8c8e088e9b8c8e888b05838b4088
+888b828b3d8e888b08888806877a058a888b88908a08a806998a918a8c898d888b89
+8a868b898a89888789868784838108fb48fb7e36f77e058a8f8a9288968b8e8a8d8c
+8e8c8f8c8d8f8f8d8d918c9a8c08a8068c8b8d8c8c8c088e918f9b8b8e898b057f8b
+2988878b818b308e878b08898806877a058a898d898d8a8c8a8c8b8e8a089806988a
+958a8e88938690859082089176f1fbb85afb68058982898489858884868484868789
+83897c8b086e8a898b05878b8989898608877b8b888d8b05978ceb8d8e8b968bee88
+8f8b088d8b8c8e8e9b8c8c058f898d881e898b6e8c057e8b838d888d859089918c93
+080e98fb7aa8f8efa801f76afb3115856e7e7c698b087806868b87888a860887788c
+89058bd08daeb2cf898b1e8e8d8f9e058c90888e878b0878067182949d1f8b908c90
+8c9208aff731f77cf7fa059da79e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c
+89827f3c8d8b1e8989867705888b87901ea8069c9189841f8b8a8b8a8a898a85837d
+868208fb5bfbcc51f7cc05899589988d918d94928f9e8b08a706908b8e8f8c8f088f
+9e8a8d058b2489857e2f8d8b1e89898677058a85918a8f8b089706998b94898f8897
+8391798e7e08d6fc06050e778aa8f74ab3f804a701f801f76615f7378b93b3fb388b
+94b6f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e3c
+8c8b1e898a8777058a888c87908b08a8069d9189831f8b8a8b8a8a898a868682807d
+08fb40fb7f2cf77f05869989948c918d94928f9e8b08a706908b8d8f8c8f088f9e89
+8c058bfb008a857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f889783
+9280927708f705fbb9856cfb338b8463f7328b70fb1e05856f7b7b628b087006878b
+87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b0871066a
+7c94a01f8b8f8c908c90080e98fb7aa8f75db2f7ffa801f76afb3115856e7e7c698b
+087806868b87888a860887788c89058bd08daeb2cf898b1e8e8d8f9e058c90888e87
+8b0878067182949d1f8b908c908c9208aff731f7448b94b2fb348bf763f7d3059da7
+9e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c89827f3c8d8b1e898986770588
+8b87901ea8069c9189841f8b8a8b8a8a898a85837d868208fb5bfbcc51f7cc058995
+89988d918d94928f9e8b08a706908b8e8f8c8f088f9e8a8d058b2489857e2f8d8b1e
+89898677058a85918a8f8b089706998b94898f88978391798e7e08cbfbd3fb348b82
+64f7458b8e7f050edf8aa8f8e2a601f7e6edf733a603f89d8d15d08b8d388e6608a6
+8ba3f712058e987f92838b0886067d8b7d9e79ac08fb18f77c05849588958b930890
+078d949194969708f745f75205b5b8a393a88b089b06938b8c8f8c8e088f9f898c05
+798b418a868b7f8b498c758b08898a8777058a868e898f8b08a906998b9288898289
+84847e7e7d08fb37fb430584838787878b878b898f87920831f74405849786978b93
+088e078d92918f9c8b08b3068e8b8d8d8c90088f9f878c056c8b308a858b818b4a8c
+728b08868a8777058985928a908b088d06ab8b96799d6c08f713fb750590818f848b
+838b8a8b898a898a858783828208fb57fb66056d6b6c76688b087e06868b85898a86
+0887778c89058bda8d909aec898b1e8e8d8f9f058c8e8a8e878c0878067a8290941f
+8f078d939195979808f73cf74905939491908e8b8f8b8e88908308eefb5005927d91
+818b8408807f88751e7306878b88888a870887778e89058bcd8eae1e0e398aa8f80a
+a801f83e9f03f7ea16da904b691f8b7f8b889f8ba7f70d058b8d8c8d8b8d08948590
+7f1e7a067a8b858d76b70846f727058a8e8a8d8c8d8b8c8c8d8e8d08f70cf70e05af
+af9d96ab8b088f06918b928c8c9208909e8a8d058b59896b6c5c8d8b1e8888867805
+8a868e898f8b089a069d8b8d8989838a858782787708332f0586868988898b888b8a
+8e88910863e705859a88948b91088d078d9290909f8b089a068f8b908e8c90088f9d
+898efb0389378d8888877805878f88921e8e06ad8b987a986d08cdfb26058c888c89
+8a898b898a89898908fb0dfb0e056d6e787a6c8b088206828b86878a8508877a8d89
+058bba8da8adbe898b1e8d8d8f9e058c908a8e868b087d067a8b858d8d948c909092
+9e9f08e0e7058f8f908f8c8b8d8b8d898d8608b33b05986b8f818b87088380897d1e
+7f06868b888889860887788d89058bb38ca51e0ef7c28da572adf8d5b268a612f8ff
+a778a3f714a61386f7f3f8d01534fc8505846383856a8a087006878b86868a860888
+7a8d89f7018e051346bc8cc68bc38b081396f705f28a8b1fd88bad418d4408a68ba5
+f72b058d987f92848b087a067485949a1f8b928c938c9508e2f8830592ac8f97af8c
+08a9068e8e8d8e1f8fa1888cfb078afb008c898a8775058a878d8a8e8b08a906a58a
+93848b7c8b858a8389820835fc7d051366856b857d688b08fba20674818e9f1f8b91
+8c938d9408e1f87d0591ac9894af8b08cc06c28b9a80913b08a3900513aa86f7306f
+840584877a7c1efc2406818892921f8b8f8c8f8b8d0872924ffb30a18605aedb9e96
+c28b08d806a89883771f8b878a868a86080ef7348bb264a7f80aa8959612f19f95a4
+f7d19ff7309f137ff817f82515af06ba8f86611f8b6d8b849f8ba8f71f7187058a85
+83867d8b08fbc0067c8b86908e9108728f6dfb1f9f8b05afd78394bd8b08ac06a494
+867a1f8b858a838980084efbb00583648487688b087b06888889871f86768d89e88c
+0513bff7da06f08b8b2f8d72089f8ba5f71005137f8e988293818b087a067583919b
+1f8b928d938d9608c6f7aa0594b49392ad8b08a4068f8e8d8e1f90a18a8dfb058929
+8d8a898675058a878d8a8e8b08a006a494867a1f8b858a8289800852fb9e0513bf84
+69847c668b08fb5e067183919c1f8b928c938d9608c4f79f0594b39591a98b080ed4
+8ba5f76bc5f7d4a601f73adcf7c3a603f8b2d515e4f88b0592b09190ad8b08a9068e
+8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b1f8b868a8389
+820864fb7205455548896d8b4d8b689f8bc48b958c958d9708a9f73e0590aa8f96b5
+8b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e9d06a8958779
+1f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93e9dc085dfb95
+058569857e688b086306888b89898a88088875d38c8d8b05d78bac3f8d4508a68ba6
+f72b058d987e92848b087a067485949b1f8b928c938c94080e5e8ba7f702aff778a8
+01f721d4f7849f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e1f90a18a8d
+fb05892f8d8989867505878c8a8f1e9b06a395867a1f8b85898289800870fb110565
+676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a068f8e8d8f
+1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589838980087d
+4a05877788778b798b56a262d58bbf8bc499babe0870fb130582648582678b087b06
+878889871f87768c89c98c8d8b05ee8b8b2f8c72089f8ba5f710058e988293818b08
+7a067584919b1f8b928c938d96080ed48aa6f76bc5f7d4a601f740dc03f7f2f71315
+a2f70f05b295b8a1c3bb0859fb95058469857e678b086406878b8a898a88088775f7
+118df706898ea0058c8e898e888b086e067283919c1f8b918c938c9508eef88c0592
+b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a888c898f8b08a8
+06a693877c1f8b858a8389820860fb720558645a7f688708b5f76b5e8b62fb6c0554
+8d6ca08bbf8b958d968d9808acf73e0591aa8f96b58b089d068f8b8d8c8c8f088fa0
+fb018a208c87768a8a05888e8a8e1e9d06a894877b1f8b858a848982086bfb3a0588
+7a89798b7b8b47ac57e78b958b958b958c0875fb07050e5e8aa8f702aff778a801f7
+25d403f7bdde159bcd05a894a89ca5a7086efb130582648582668b087b06878b8989
+8a870887768c89058bc98db3b1c2898b1e8d8d91a1058e8a8d881e7a067282909a1f
+8b928d948e9708cbf7aa0595b49392ad8b08a4068f8b8d8d8c8e0890a18a8dfb0589
+2f8d89898675058a878d8a8e8b089b06a494867b1f8b858982887f086efb11057173
+717a6c8308abf71c5e8b6afb22888b05637e9dab1f8b9c8fa090a3089cd50592ab95
+95ac8b089b068e8b8e8d8c8f0890a08a8d2488368e8a89857505878c8a8f1e9306a4
+93867b1f8b858a828880087c4a05867688768b778b58a164d48b948b938c948b087e
+53050eec8aa8f803b9f745a701f8b2de03f78df7d415dbbddaa4aa8bcc8bb16f8b51
+8b808980897e0864fb5e05856e7e7c678b087d06868b88888a860887788d89058bcc
+8db2b5d5898b1e8e8d8f9e0590878e861e77066e81959e1f8b8f8c908c9108b3f766
+058f9d8c9b8b9b8bd264b1398b4c8b3c74235408b3f7670591a79c9bb48b08a50690
+8b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506
+ac9981761f8b878b878a860829fc8b05866f7a7c628b087106868b87888a86088878
+8d89058be88daeb3da898b1e8d8d8f9e058c90888e868b087806697d94a11f8b8e8c
+8f8c90080e798aa8f7a5bac1a801f849d503f755d315b0f73105c5babca4a78bb88b
+a67f8b5d8b7f897e887a086dfb1505846e7e7c6a8b087806868b87888a860886788d
+89058bcf8dafb2cf898b1e8d8d909e8b8d058f888d871e78067281949d1f8b908c90
+8d9208a6f70a0590a18d9e8b9d8bcc6aad528b648b4d7c394808a0e70592a7989bac
+8b089b06908b8e8e8d90088f9e8a8d058b4a896764478d8b1e89898678058a868e88
+908b089e06a49582791f8b868a858a850849fbb205846e7e7c698b087806878b8788
+8a860886788d89058bcf8dafb2cc898b1e8d8d8f9e058d90878e878b087b06728194
+9d1f8b908c908c92080ef78a7fadf800b7f1caa8ad12e6b7e0e844e113f8f986f842
+15f7bb0a6efbc8154d58455a2e8b0813fcf7bc0a13faf7bd0a13fc877589738b758b
+fb1cd5fb13f74d8bf7018bcab0e7d4080e7a7fbcf75db2e6c37bad12e4b2bbddf777
+d613def7e3f7a9155406b5f70ed794a28ba98bad7b8b508b7f8a7d877b8a82858681
+8b08fbe2ba1513ee91a4a79e9f8b9d8b9b9b8e9a8c8d8b8d8b8d8b978192808b628b
+54587e528a848a858b85085db77ec81e877e877f887d877788778b788b37b847f704
+8bd38bceb0bcbf087a9b0560656479558b4d8b5bc48bda8b9a8c9a8f9a8c938d918d
+9108c68bf7608b05968b93918e968f9e8ea08b9f0813decd6dc8271e3d8b2e4f5922
+5d8d68948ba68b8e8c8e8b8e080ef78afb65b1f733adf800b7f1caa8ad12e6b7e0e8
+44e1f716c813fc80f986f84215f7bb0a2cfcd0157d92057175787d6d8b6b8b78a18b
+a28b8d8b8d8c8e95c8b7b3c7b4ae9dada4b3ab0879a3054d58455a2e8b0813fe80f7
+bc0a13fd80f7bd0a13fe80877589738b758bfb1cd5fb13f74d8ba38ba28da08f5f68
+676183618a858b858b858b60ad74bb8b08b48bb4a1b0b8080e7afb64b2f731bcf75d
+b2e6c47aad12e4b2bbdda1c9f723d613ef80f7acf7a915b5f70ed794a28ba98bad7b
+8b508b7f8a7d877b8a828586818b08fb1406f726fc36157e93057074787e6d8b6b8b
+799f8ba28b8d8c8e8b8e98c8c0b8beb2a199a09c9d9e087a9b0560656479558b4d8b
+5bc48bda8b9a8c9a8f9a8c938d918d9108f79b06968b93918e968f9e8ea08b9f8bcd
+6dc8278b3d8b2e4f5a235c8c68958ba68b8d8c8e8b8e0813f78091a5a79d9f8b9d8b
+9b9c8e998c8d8b8d8b8d8b978193808b628b54587e518a858a848b85085db87ec71e
+877f877e887d877788778b788b37b847f7048b978b978c968d61696963826289848a
+848b850861ac75ba1eb48bb5a1b1b8080efba587a5f8e8a601f782f8e6158a878a85
+898008fb09fc8e058983898389868883878583868788838a7d8a086d06888b868a89
+85088778058bd08db7b9d1898b1e909d058b8f8b8e848c086e067e8c838c888e8690
+89918b928d928c928d9308f708f88e058d938d918d938d92909093918f8e948d988b
+08a906928c8d908c8d088f9efb0988fb048e8677058a878d89908a08a906998b9289
+8e8890878d858b82080ef7ba8aa8f7bbb6f774c86aa7bfb112f7b1adff00938000d4
+13ceff02b98000f9a215f78d0aff00868000fda3158c8d8f9e058c90888e878b0882
+066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca0813ee96a8a3a79f8b978b958492
+8091829887978b9e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b084c8b525a79517853
+7240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44ccc0513de
+f78f0a13eef7900a0ef74c7fc4f73caef71bc5b3b201f791cfff003cb334d0ff0033
+4cccd203ff0262b334f8ca15f79d0affff354cccfb6515f79a0a0eb6fb40a8f722a8
+f7cab6f764ca69a712f71ea28fa3f7cbdb13f7f8d3e8158fa08c9e8b9d8bf7162fc2
+25a0088906858c868c868cd9a6bbe3aac49ba7aaa8978b988b988696849784978598
+8ba08ba59d8fa3088c8e8b8d8b8e8b9f7d9d5c8b358b655769516c58674c4d6b707e
+5e89678b08adf7550513ef90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8b05866f
+7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c
+90878e878b087106697d94a11f8b8f8b8f8c8f08baf79f05f71af70b66fb2d1f8b77
+887587746dfb3d3452408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb
+2ca28b058c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf70af70aa6f72708
+0e6bfb7eadf75ba8f73bbcf70bd16ca812e0e1f779dc13f6f7bff775158e8c8e8b8e
+8cb091b9afb1be9ba19aa0998b948b9d839f8ba38b9f9e8f9f8c8e8b8e8b8f089c80
+976a1e698b66705e4e4b34647d528b08778ba4f7080513ee91a89898ac8b08930690
+8b8f8e8d90088f9e898d058b51896467478d8b1e898988780589868e888f8b089e06
+a694817a1f8b868b858985084efbb505856f7f7e698b087806868b88888a86088678
+8d89058bcf8dafb2c4898b1e8d8d909e058c90878e878b0883067180939d1f8b908c
+8f8c9108a6f71205deec6ffb111f8b778976867274fb004e47428b508b85ae8baa08
+9807a17d96741e748b797c856e8a878a878b868b62b55beb8bf70c8bf4f700a6f710
+8fa08d9e8b9d088bf7092db33397080ef72cfb55a8f737a8f7bcb2f793a701f8a2d2
+156efb3d3c49408b5b8b6e997a9e7f99839e8b9f8b908b908c9008738b70fb2ca28b
+058c9091a88d908e8e9191958b9b8b9c71dd8bf7128bf702f70aa5f72708e3f88a05
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878
+058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a7
+9c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a
+868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a86
+0888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f
+8b8e8b8f8c9008b7f790f7db8b050e8bfb59adf736a8f74cadf730a801e2e003f822
+d51573fb0852fb0d3c8b518b83ac8baa089a07a17d95741e748b797d856e8a878b86
+8b878b62b45bec8bf7228bd5f70dabf72a08c7f7ac0594b49392ac8b08a5068f8b8d
+8d8c8e0890a1898dfb05892a8d8989867505878c8a8f1ea006a494867a1f8b858982
+89800874fb00fb618ba3f7010594b39392ac8b08a0068f8b8d8d8c8f088fa08a8dfb
+0088248e8a89867505878c8a8f1ea406a594867a1f8b85898389800850fbac058265
+8583678a087106888889881f86758c89f38df6898c8d90a0058f8a8d871e77067281
+8f9c1f8b928d938d9608a8f71df7618b050ef71f8aa8f7bcb2f793a701f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88daf1ea08bae8aa78b0854fb
+10b68bcff72c7b8b718b05697d95a11f8b8e8b8f8c9008e3f88a0590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050e8b89a9f74cb2f72ca601f889a7158a89057b8c85918b988b928c
+948e9708cbf7ac0595b49392ad8c08a5068f8b8d8d8c8f0890a0fb0788288e867505
+888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8ba2f20595b49392ad8c
+08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e8b08a406a48a94868b
+7b8b8489828980084bfbab05816585826689087206878b89898a88088676f48df701
+8990a0058e8a8d871e7606738c828f8b9c8b928c938e9708abf71df76a8b6bfb1e05
+82648482678a087606888b89898a88088675ee8dcd8a54fb0fb78bc1f70e908b90a0
+8b8d8e92050ed48ba5f76bc5f7d4a601f73adcf2a603f8b2d415e4f88c0592b09190
+ad8b08a9068e8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b
+1f8b868a8389820864fb7205455548896e8b4d8b679f8bc48b958c958d9708a9f73e
+0590aa8f96b58b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e
+9d06a89587791f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93
+e9dc085efb9405866c8579698b087b06848b7c84897e0870fb2ba68b05a5d1c8d7d6
+8b088d8bd38a8fa1058c8e8a8d878b0864067084929c1f8b928c928c94080e5e8ba7
+f702aff778a801f721d4b19f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e
+1f90a18a8dfb05892f8d8989867505878c8a8f1e9b06a494867b1f8b848982898008
+70fb110565676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a
+068f8e8d8f1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589
+838980087d4a05877788778b788b57a262d58bbf8bc499babe0870fb13058367847f
+6b8b087b06808b7f83887e0871fb109f8b0597a4b3e7ed8b088d8bc98a8d8d90a005
+8f8a8d871e7b0671838f9c1f8b928c938d97080ef589a8f76ab5f80b77c2b101f814
+d403f7c7f7af153d0afbcdfb6015b30af85af94e15f78d0a0e4081c7f7faaabdb201
+d9dbd9d09dd903f82ef845156e0a59fb6a156f0af4f7f715f79d0a0ef589a8f76ab5
+f80b77d3e601f802e7d0e703f7c7f7af153d0afbcdfb6015b30af797f96615a00af7
+358c15a10a0e4081c7f7faaae3e712d9dbd2e78dd97fe713f8f779f8d115d20a13fa
+f73416d20aa0fb2015d30a13fcd40a59fb6a156f0a0ef7a089a870b2f777b2a3adf7
+86b370a712f949aaf2a81333f7d3f7c515bb0a137b78fbc515bc0a1337fb3c8c0513
+3b898a87770513b7bd0a137387780513b38c890513738bc18dac1e13b3b1cc898b1f
+13738c8d8fa00513b3be0a137387790513b3bf0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0e6889a870b2f7b0b1d677f751b370a8b9b112f7bfd4a5aae3a7133bc0
+f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513b3c08d8905
+1373c0490a13b3c04a0a137bc04b0a74f71715f78d0a0efb3481c7f7faaabdb201de
+debfd0cfd003f7f7f80615750afb50fb3f15760af7acf80b15f79d0a0ef67fadf756
+b7f800ad01f1d5f857e903f744f76c15f72f0ab9f7c715f7300a0efb1081aaf806bb
+01e7d1f75bde03f736c615f75f0af75af73f15f7600a0ef67fadf756b7f800adbbe5
+01f1d5f72fe8ece799e903f744f76c15f72f0ab9f7c715f7300af713f76015c50af7
+528c15c40a0efb1081aaf806bbe1e612e7d1a5e7d0e73bde13f8f736c6158beaf709
+b6d89168fb2b506c5b8b08677b94a81ff75af73f15fb9958843a8b6508689d68dc1e
+13faf73fddf73ef713e06fce251f3a8b5362533e90809086978bc1c5aca7bb8bb88b
+b1678b308b868b768a8308fb0af81615a00af7358c1513fca10a0ef7ba8aa8f7bbb6
+f774c86aa7c4e612f7b1adf70ae7d0e713eff9d48a15f78e0a13dff78f0a13eff790
+0afba7f9ae15a00af7358c15a10a0ef74c7fc4f73caef71bc5dfe612f791cfa6e7c9
+d24be713fcf826f8fc15f7be0af7358c1513fda10afb2ffb981570fb01468b0590a4
+8fa48bad8bc573be5f8b628b54605c5a08977205a2a1b5b0a48b08a6996658fb1a44
+fb085f1f6b8b7aa67e8b08738073777aa174a31fcb8bf704e0b3f72008d28affffde
+ccccfb2005fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b199a
+fffff58000ff001fcccc8bb08b8ab7ff0008e666b108ff0022199af721d18b0513fe
+7e5d86608b6e8b54a357b88bb08bcdb5b7c00880a3057473606a728b086d7ebdbbf7
+10cdf702b41f998b8d8a9c789284928a978b08999a97ac9f76a1771f588b27405efb
+0a08408ba4f3058f9d94a98b978b9c82956c8b658b8c5f8265080e627fb0f7cbb0f7
+0976f72fadbde601c6dbf0e7d0e703f7baf9b315a00af7358c15a10afb69fd9b15f7
+910a0efb2d7fabf757aef734abdee612d5cbbee7b5d25fe73fc813fc00f787f8fc15
+f7be0af7358c1513fd00a10afb9efcaa15a6788e82817183645eb46ad51e13fe00f7
+29c3efce1f8bc65ea1788d0813fc80f79b0a13fe00f79c0a0ebafb67b0f92e76f71b
+b301f727a5f7cee603f7adf91a15f73d0a0efb1bfb74a8f8deb201f7d7d803f763f8
+42157d8b868d8c948c8c8b8d8c8e08758f48fb2ca48605b2dfab98a98b08f7228bfb
+73fbb105a2909f8d9d8bce8bbb5a8b4a8b818a80888070fb09295e5a8b628b75a283
+a284a07c91748b08768b807d877b8a898b898b898b6cbe68e18bf7248beeeba1eb8f
+9d8d9c8b9b8bd75bbc2b9308f74df78005949891958d91088e0792858e7c1e0ef71f
+8aa8f8e2a7d3b701f94bf8d215f7bf0a7ff91b15988b9a9d8d978c8c8b8c8b8c0891
+8890831efb88067f8b7d7a887f8a898b8a8b8a08858e86921e0e6381c7f7ddc7c7b7
+01f70cdaf736d903ff01e6e666f88715988bff000eccce9dff0002666497ff000133
+3491fffffd999c93fffff5fffe8b08fb8906808bfffff180007afffffd999a7fffff
+fe999a84ff00024ccc83948b08ff0107199afb2715940a0ef71f8aa8f8e2a7bfe601
+f7eee8ece703f94bf8d215f7bf0afb98f934158b888a888b898b769b7ba18ba48ba3
+9f90a48b8e8c8f8b8d8ba07c9b758b728b7276867208f7528c158a888b888b898b75
+9b7ba18ba48ba3a08fa48c8e8b8e8b8e8b9f7c9b758b728b73778672080e6381c7f7
+ddc7c7e612f70cdaff0036b333ff005c0001ff000f4cccd9ffffe7b334e713f8ff01
+33b334f8e21572ffffe2ffff756c75ff001000017ba1a3a9a1ab1fa07b9b751ef735
+8c1513faa10aff00254cccfb8315ee0a13fc826b83628b788b78927da98bbb8bb8ad
+b9c6889485937d8b716d6e77818b848b88908b97088b9490a191a5080ef681adf8ec
+adbbe512ff00576666ff005ae666ff00adb334e8ece7ffffef4ccce413faf848f904
+15c80af79bfbbb15590afbeef83a15c50af7528c1513fcc40a0efb0681b0f80face2
+e612d9dec5e7d0e731de13f8f7a5f8fd15f7be0af7358c1513fca10afba5fc5415e7
+0a13fae80a3883158d0a0ef71d7fadf780c691c6f785ad01e4e9f85de803f910f7e9
+15f7b30ae57f15f7b40afba2f7ba15f7b50a0efb0681b0f72cbd75b5f731ac12d9de
+f771de13dcf735f73e15e5b2f726f51ea98bff00104cccfffff0199aff000e3334ff
+ffe3e666ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813bcf7c00a13dcf7c10a3883158d0a0ef71d7fadf780c6
+91c6f785adbee501e4e9f73ae8ece794e803f910f7e915f7b30ae57f15f7b40afba2
+f7ba15f7b50a21f71615c50af7528c15c40a0efb0681b0f72cbd75b5f731ace1e612
+d9dec7e7d0e72fde139e00f7a7f8fc15f7be0af7358c15139f00a10afba7fc5315e7
+0a13de80ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813be80f7c00a13de80f7c10a3883158d0a0e9d7facf790
+c379bcf799b0bbe512d8d8f718e8ece713dff89af7c715f7960a13bff7970a13dff7
+980afb7bf85015c50af7528c15c40a0efb2d81acf731bc75b4f732ace1e612c4cacf
+e7d0e734d7139e00f786f8fc15f7be0af7358c15139f00a10afbaffca915a7798e82
+846e85645eb868d01eff0035b3338bff00338001ff000d4ccdff0028ccccff0021b3
+330813de80d1ff0039e666b6ff006680008bff0056999a8be158d02e8b488b897f4a
+8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a897a897b7f867d897d
+8b0813be80f7aa0a13de80f7ab0a0e9e75c9f8d6a7f70bb701ff02158000f99115f2
+0affffa98000fd6915f78c0a0e51fb7ec8ff02178000ff004c8000f717b701f871ff
+0048666803ff01be8000f8ce15f30af72afcce159a0a0e9e75c9f8d6a7c8e501f7d5
+e8ece703f75fb315f78c0af70bf95c15c50af7528c15c40a0e51fb7ec8ff02178000
+ff004c8000e1e601f773e7d0e78cff0048666803f7a9f8fc15a00af7358c15a10aff
+ffaa8000fcfd159a0a0e9e75c9f8d6a7cf7601f75fb315f78c0af7a3f9b215f7180a
+f7274c15f7190a0e51fb7ec8ff02178000ff004c8000f76a7601f871ff0048666803
+ff02079998f8fb15ff0003ccd0ff00129998fffff29998ff00126668ffffeb199a8b
+7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffeccce8affffff9998
+89ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff000266668d08ff00
+886668f70205ff0007333491ff0002800092ff000133309108ffff7d33349115f71b
+0affffdbb334fd01159a0a0ec68aa6f774c5f7cba6c8e501f742dcdde8ece703f832
+a515f7920a3ff96a15c50af7528c15c40a0e5d81ccd7bdf76aa79b77f5e612f724da
+5bff00558000ffffea8000e7a0d96de713c900f7b9f8fc15f7be0af7358c1513c840
+a10affff2a4ccdfffed733341513ea00ff000ab334ff0026ccccff00098000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e84
+5c85fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689ff
+fff2199a846f087c480513dc808673897a8b798b649872c08bff0039e6668bff004b
+999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd05846c81618b
+788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b97088b94
+909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81
+956b8b658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffffe16666ffffbf
+8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080e4c8ba8f8d5b370
+a712f75fa6f7d6a613d8e816d8ac3f451fa68ba9f72a058d987f92848b087a067485
+949a1f8b928c938d9508ecf8890590a59a91a18b08f71406cc8b9d568d4308a68f97
+f735fb878b3e8b0513b87efb068c8b1f13d8888a87770513b88a878e88908b08a806
+ad9784781f8b858a858984082afc8905856c797e648b087006878b87888a86088778
+8d89050efb228ba7f7fab76fa812f7619ff769a013d8f3168e06ea8b8d308c71089f
+8ba6f70c058e988092838b087b067583919a1f8b938d948e9608d3f7cef7048b05bf
+925f581f7ba007a4f72ffb628b658a0513b8fb038d88898675058a888d898e8b08aa
+06a493867b1f8b858a82887f084afbae05856e7e7c698b087306878b87888a860886
+788d89050ef7758aa9f7c4b3f789a7c7e512f825e875e6a7e713f2f9abf8d315f793
+0afc70f889152afc8a05856f7b7b628b087006868b88888a860887788d89058bf08d
+a71ea88baa89af8bf70d8bf7349cacf73b0813f68e9b8d9c8b9c08d460cefb5c1e4e
+8bb2f75d0591a99d99b28b08a6068f8b8f8e8c900813fa8f9e898c058b348a64682e
+8c8b1e898a8778058a868d88908b08a506ae987f771f8b878a878a8708adfb8515e3
+0613f6f4a74f531f8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d9308
+f75cf9341513fac50af7528c15c40a0ef47fad6bccf763c0dba79877f701e612f70d
+d67bff00558000ff002a8000e776d997e71324a0f7fef8fc15f7be0af7358c15a10a
+13a660fba2fce715f7a50afffff84ccdff012a333415132d20f7a60a13b620f79f0a
+13ad20f7a70a13ae60f7a80a136420f7f5fb4115f7a90a0efb6dd1b0d012edd25dd2
+13e0eefb4a158a888b888b898b7c967f9b8b9f8b9e9b8f9e8b8d8c8e8b8e8b9a8097
+7a8b08788b787b877808a4f61513d0f7c20a0efb6cd0b0d012c1d262d395d2c5d25d
+d213ccf7bcfb4a15f7c30aa4f61513caf7c40afb80201513d88b898a888b898b7b97
+809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a80977a8b788b787b867808ddf615f7c20a
+fb041613e88b888a888b898b7c967f9c8b9e8b9e9b909e0893079a80967b1e788b78
+7c8678080efb6dd1b0d054b412f793d25dd21390f794fb4a15f7c30aa4f61513c8f7
+c40a13a0fb817615f71e8b94b4fb1d8b050efb6dd1b0d053b512c4d2f716d25dd213
+98f797fb4a15f7c30aa4f61513d4f7c40a13b0fb967515d48b8160057c877e7e887b
+8a898b888b888b7c967f9b8b9f8b9e9b8f9e8b8e8c8e8b8d8b928991878f0897bec3
+8b95b5fb388b050efb27d001f716d303f717fb04158b888a888b898b7c977f9b8b9e
+8b9e9b909e8b8d8c8e8b8e8b9a7f967b8b788b787c8678080efb27d001d6d2b4d203
+f750fb04158b888a888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a
+8b788b787c877808fb0416f7c40a0efb6cd0b0d012dfd362d295d213d8f708fb4a15
+8a898b888b898b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977a8b08788b78
+7b877808dcf615f7c40afb041613e88b888a888b898b7c977f9b8b9e8b9e9b909e8b
+8d8c8e8b8e8b9a80967a8b788b787c8678080efb15b501dbf74103dbfb1515f7388b
+94b5fb378b050e22b501f708d203e02215d58b805f057c877e7e887b8a898b888b89
+8b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b92899187900897bec38b95b5fb388b
+050ef8e7d101f767d203f768f90a15f7c50a0ef8e7d101f767d203f768f90a15f7c5
+0a0efb6dd07bd07cd012b6d3a6d2a8d2139cf787fb4b158b898a888b898b7b96809c
+8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977b8b08788b787b86780827c1158b888a88
+8b8908135c7c967f9c1e9e8b9e9b8f9e8c8d8b8e8b8d8b9b80967b8b788b777c8778
+0828c1158b888a888b8908133c7c977f9b1e9e8b9e9b909e8b8d8c8e8b8e8b9a8096
+7a8b788b787c8678080ef76ed101f76bd203f76cf79115f7c50a0efb5ff71e01f714
+d103f7354a156afb1eb18babf71e050efb4ef836e201bff7a403bff83615f77b8bb4
+e2fb7b8b050ef8edb501dbf74103dbf8ed15f7378b95b5fb388b050efba29976f8d7
+7701baf75303ba8415c48bf71af8d7528b050ef8e5d001f87bd303f87cf907158b89
+8a888b898b7b97809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a7f977b8b788b787b8678
+080ef8e5d101f70dd203f70ef908158a888b898b888b7c967f9b8b9e8b9f9b8f9e8b
+8d8c8e8b8e8b9a80977a8b788b787b8778080efb659d7601bbf79303f775df1558a2
+82a183b77e7571614572b27b9f83954cb4ce998bc09f08d9f7e9155f9f7e8c81ce66
+5075805979be75928d9546a5b59da2cba3080efb7f8bef0174f7de03ccf7a4157631
+5d487f57846f89768b7d08f7918b82effb3e8b0596a793a394a89bc392d798c390a4
+a298a68dd48fbda895b38d978d948b938bb66b8b8b8b087d6a68896e8a5c895b837d
+4f7e528e4e7e51080e3ba0761294cc54f7075bcdf753cd13d8f87ff84e158c908c90
+8b8f8bac6d9576915e9a86968b940893078b8e8a8f878f8b8b68837b4689858b858b
+858b6f9e77b08165656e5f775c088a8dfb1ef762058397879a8b9c8b938c938c9408
+7f066e727a70847089828a838b828b759276987608a269054765653c805989838a82
+8b820813a88b6a95658b718b868a868a87887b757d7c89868a87858b868b8a8b8a8c
+8a08ef06a38baba992ab8c8f8c908b900813d88bbe4fbf8bbe8b908b8f8c9092a69e
+baafa008f756fbb105927f907b8b7a8b858a868a84ac8ba3b693aa8d938c948b938b
+a184a17da00859d20589938a938b938b938c938d9393ada4b5bdbda2898a65958b08
+908ba5be92aa080e2e8beff7d9f700b87701f80fc203f7baf8a91521066f82a1a21f
+8b8b58827a438a858a858b85086ba175b41ef72e06c2a585561f8b7286687f597d4d
+7457786108fbc68b5c27f8288bb9ef398b05c0c3a3e698c297c196b98baf08c96bac
+fb001e0efb769a7691ef1264f7d81360f784f7bc1593b1a5d893b08d948c928b928b
+b46993678b718b6a8b8dad8b8b5d817b478a868a868b87088b62bb839b88b185a684
+8b5c8b7d887986756cfb1d5263fb027873867f75807181768d7a8a8208f70f8ff701
+f72e928b0513a09e5a6efb07b98b9b9d8faa8ca10895078bca75c18bc6088b9a8c9a
+8f9a080efb0f9f76f832f601d7f81403f7e2f7b715a5f700d9739fde8c928c928b91
+08a87698661efb7206707d96a21f8b8b608579418a858a858b86086da07db61ef78b
+06485e5f447631805b845c7d4c8676837a807f089606a38bb8929eda9bd18fce9bd0
+080e389376f839f70001f829f7bc15a2efae8995b30890a3058d948c938b9208a17f
+97631efb8a06727da0a21f8b8b5d847a4189858b858b85086ca175b51ef7bb065a5e
+6a4d793d81617e3182618677837a7f7d08918105bb92aaab98c59acd87da9acd08fb
+ccfb1d1592ab9aa99d95088e9805878e858c858b5a8b69617b478778804f8779887b
+8279808208908005bc8eaaa894b2909e95ca909e080efba89a7601f763c303f70685
+15f7c60a0efba49d76f833f70801b0f79a03cbbe158675827a7e7d8b8b908a918ba1
+8bba959fe29bd37fd69dd990a097b69fb19884a281a08b08928b918c918d959696a1
+8d948e958c948b938bb26b95288e7a8f83968c9e8b8b61857a410889858b858b858b
+69a879c58b65546f497d4e7d518d4c7d51080e399c76f835f601f825f7bf15a2ecb4
+799cd78d938c938b9208a87899661efb8306707f9ca21f8a06868b5e897c4b89848b
+848b858b67a372c18b2f43793a75fb0d7f4c865c706c8b8b9189958b08a28bb5979f
+e099c989d89ac997c1a5b4b1a308f78d065b5e6749783c82617e3181618676837a80
+7e8b8b908a948ba18bb5959dd999c88aea98c5080e408beff7cbf70225f70012d2c6
+f7c3b413b8f712f82e15705f725a8161773598fb0a7c4408f7ab06cff709bdf49fe3
+96b98faf8ba88be3629d6c8b6e8b6b7871736a6e68565a4108a07f05d0dfae9eb88b
+b58ba2748b5f8b7e897d887c783b6943615108fb720681b985b78bb58ba58ea490a4
+91a5a0b49fb00813d8918b918a908b988b978d958e939990998f998d938c938b918b
+a57b996c8c6e8c7b968b9f088b8d8c8d8b8d8b8b648a793e89838a838b85088b6ba1
+80ac85080efbb7f833f501f74cc203f707f78715f7c70a0e35f82cf70001f843f7fd
+1593b19590948e9b909e9e91a68c918c918b92089f809e5d1efb85066d7c96a21f8b
+8b5f897b4489848a848b85086d9e78b21ef7918bfb22fcd58f8b059c8bb88e99db08
+0e298beff7cdf70001f80eb903f800f78c15752a62583d8b08fb668b5a27f7518b05
+f73a8bb8dfb5f74996be92b68bb008de6ab5431efb17066f7d96a21f8b8b5f827a44
+8a848a848b86086e9f7db11ef73906c29c6f5f1f8b71856b8368080e369576f83cf6
+12f709ce5eb7f74dc713d8f712f8c2158e97939d93999094aacb8c8e8c8f8b8e8b8e
+8b9d7b947c8f848d78928d9d8a8a6e89805e088b888a898b898b7a9c84958796879a
+848b7d8b8a8b898a898982817a8581776b76657f5b088a858a858b85086aa67cb71e
+f72c06c99d796d1f8b818980887f7c4b797b4e5862692b3b7e520813e88a858a868b
+868b7b93829d8ba18b989791a38d968a958e9a93adb4b0c2bde4da9698a0e20894b2
+91ab8ba308b7789f531e13d8fb3e0669738fa21f8b8f8b8e8c8f080e698beff7d1f6
+01f846cc037d16f8468bcef7e90592ae90a98ba308d364a1fb011efb3106727e97a2
+1f8b8b5e8b7c4689848a848b85086b9e76b21eab0658604946806108f735f72e15f7
+2506bfa07a531f8b708666815a0872fb17fbe58bb1f7260599c1b3c3cec8080e628b
+ef0174abd7f724f762b503f7f1f8a9157b595d684e6d859088958b958b8e8b8f8c8e
+8e988e8d8f9c8c8f8b8f8b8f8ba5738e758d08788d728f8aaa8b8b67867c4c8a858a
+848b868b709b76ab83ad8398858b7b8b878a878a87082c3846fb0c6bfb1c887f8980
+8b838b818e85948b948b95948c90aaf71ab8e9c6ccc5ccd3b3bf8b08d0b358461f8b
+7c897c877b7f597053776808fb628b5027f7888bbade0597a0b5dc9bce92aa8faa8b
+a88bea64db329a080efbabc7f78603c7fb5f15908dd27fa3f71b08c4f7ce0593b89a
+b5a1b1a1b197a48d968e958c948b928bbd5f8e618d768c688d8bac088d078b8b6286
+7a428a858a868b868b6aa979c388ae89a0838b7d0887078882857f827f726c7c7085
+74080efb888bef01f783cc03f787f7a41598c5abc898c48d938c918b918bb5639164
+8d6d8c698d8dac8b8b5f8b7a438a888b868b88088b69af73cb87a2899a818b788b88
+8b898a877e536e3f8253866e87738a6f08fb3e8b5427f7928b05919991a092a797bf
+7ccea0e5080e5880f0f7d9f601a7bef7e5b803f74d8015ec8bf5abc4f78996b990b3
+8bab08f456ac3c1efb1a06707d97a21f8b8b5d897c468a868a858b848b74946eb08b
+5b556a46793d846e88718b758bfb15f077c38b08f71cf83e15d0a56d531f8b748670
+846d6bfb213e79378b548b3e8e8bee8b9d8ea190a499c3a5c2b2ba080e4df831f702
+12d8f72ffb24c088c1f73bf72e1398f789f70e15397ea4f702058e978c968b948ba8
+7c97759c0813a8819287968b988b9e93a497a89a8b988ba086919495a28e960813c8
+8d958c948b928bb66a8d748c808c698e8bad8b8b66877b458a878b868b878b6da374
+ab830876677b6987770813a888808a818b838b70987aa176081398948191768b6c8b
+788976867408fb0d785f28f772ad05e795c3b89ddaa7f70df704f70c9cd28c908c90
+8b8f8ba17d976e905e9282948ba58b8b65887a420889858b868b868b719e79b28297
+8891838b7f8b888b878a8789817b6f706508fb01fb30b1784282080e36f755e7f714
+f700b97701f824c903f73bf755159d8b95a091a58c8f8c8e8b8e8b9e7e9672906792
+7f948b9e8b908b908d9191a49ba0a6aa08f72306b98baa7f92738d808e7c8b788b73
+876e836908fb09fc5a059b90bb779edf9acaa5f70a9ce608b5f7750590aa8ea48b9f
+08d1659dfb0d1e35067180a0a11f8e078b8b4c7b7e538a868a868b868b6c9e6ca386
+585663527c4a887e8a7f8b838b779285978b089f8b9c999f8b080e348befe8e7f714
+f70001f821b903f813f78c15752a62583d8b08fb668b5a27f7518b05f73a8bb8dfb5
+f74997be91b68bb008de6ab5431efb17066f7e96a21f8b8b5e827a448a848a848b86
+8b79927f9a845856614c7d4a877d8a808b838b779385968b089f8b9c999f8b08c306
+9d8b95a091a58c8f8c8f8b8e8b9d7e96729067927f948b9e8b908c908c9191a39ba4
+a3a808918a908b928b08f73906c29c6f5f1f8b71866b8268080e3cf823f70c01eef7
+4103f72ddc159accc8dfe7dba19eb9b1bcab9d8b98879a82979699b68d958d938c92
+8b928bb06d92678e08748c73948ba78b8c8c8d8b8d8b8b6685793b89858b858b868b
+6e9f79b5843953303d482f08838b9de30597c4d1df95b38c928c918b908bb265936a
+91788d71998ca68b8b647c7a448a848a858b86088b6ca47fc57f958990848b818b88
+8a888a8883635d4f82610831fc47908b059a8bb4919fe099c58fdb97c1080e3a8bef
+01cec9b1a0f71cc703f75ef7b5158195879b8b9c8b948c948d9390a29ebd91a28e97
+8c958b938ba9788f668e7e8c708e8baa088e078b8b5f877b458a858a868b86086aa5
+77b6a1947e781e8b8389828981087743058a858a868b858b7b917b987f08f70e2505
+91859183898308fb9e8b5427f7ea8b05a491c5c78bb78b97879581930851bb057f99
+879a8b9b8b948d948d9595b6bcd4b3ab908c8f8b8f8b9c8b93869585989896b28e96
+088d938b928b908bac718e6e8e7c8c698f8ba78b8d8c8d8b8c8b8b618c7a408a868a
+878b87088b6ea075ad836463594b654d080e4bf831f70001f853c403f767b11597be
+b7a2cdafdcb6bba5a9f71391a691aa8ba808bb78b5411efb4f06707d96a21f8b8b58
+8a7c498a858a858b86086aa272b41ef75e06c098716d1f8b7b877b887c7b4535577c
+836273fb0e44793e8a858a868b868b7c92849b8ba18b999690a1088f998c998d9208
+fb7efb9615a4989c978d9608f70af890828b056f777772846f0820fc67050e439476
+f83df70001f822cc03f7cf7f158b8bc28e94b508d3f7cb0593ac8fa78ba208d45f9f
+fb041efb1206707e98a21f8b8b58847d4c89848b868b85086ba073b31ef74306c8a6
+77521f8b7186697f61080ebe8beff7c9f70312c8b075f723cbf72413e8f900f85815
+8d928b928b918bb26a927f907d907a8e8ba20890078b8b6188793b8a868a868b878b
+77987ca38292899e878b778b888a878a88887a7d75747308322b5741715a08fb3506
+cfe7c7f6bdf704a18b96889682939698a88f988d948c928b928bb16c9077907c8f76
+8a8cac088b8b64867a448a868a868b868b729b79aa7e4cfb0f4c204b390878067cbd
+83b98bb58b9e8d9d8f9c95b59bb29bad9d8b968da68b8f91919d8e960813d88e968c
+948b938ba67f9a7491639483918aa3088906838b6e86793e8a858a868b868b749b79
+ab817564755d7f5a0813e885718a738b718b6a8e4f8b748b73826f896b08f7b906d1
+f771f746f70ca5f703080e5d947697eff7cdf70012f845cb13b0f7f27f158b8bc18e
+95b508d2f7cb0593ac8fa78ba208d45f9ffb041efb1206707e98a21f8b8b59847c4c
+89848b868b85086ba073b31ea1065c555c507733081370888181488568084e8b6327
+f71b8b9ec50599b37cd69ede97bdbbd0aab108f71006c8a777521f8b718569806108
+0e879a7601f75fc3f76bc303f8108515f7c80afbfbfbea15f7c60a0e7b9a76f839f5
+01f74cc2f77fc303f707f78715f7c70af7a1fb9415f7c80a0e6ff833f501f74cc2f7
+66c303f811f78715d6aea9e695b591a48e9f8b9a08b37695586e6a8bac1e90078b8b
+61867b488a848a858b858b6ba377b98ab689a47c8b718b878b888a87805d77646371
+08fb9a8415f7c70a0efbeaf7e5f77501a7f74403f73bf8c615f7c90a0efb44f7e5f7
+7501f7e2f8c6156d8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b98
+99c7cfb6bcabb191a3088b8d8c8d8b8d8ba071907f8b08fb3b16f7c90a0ef5fb6ba6
+f704a6baa8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30aff0084e666fb2f15
+a98bff000ee66672fffff9b3346cfffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b3
+33a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315f7250a0e
+40fb6ca6f704a6b3c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0affff
+4de666fbbc15a98bff000ee66772fffff9b3336cfffffa4ccd6fffffe74ccd6f6c8b
+6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a
+5315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff00093333b8ff000999
+9abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080e8789adf7c0adf78b
+adb9eb12ff014f3334ebff00266666ff0058fffeffffb7199cff004c333413faf7b6
+f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff013b3334f96615f729
+0a0e3881aef803badfeba3a8a57712ff015b3334ebffffdeccccdd13faf7b1f8db15
+700af7486815710a13fcffffc13334f7a215f7020a0e87fb37ebccadf7c0adf78bad
+12ff00b63333ff00600001ff00bf6666ff0058fffeffffb7199cff004c333413faf7
+b6f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff00a23333fb1a15f7
+0e0a0e38fb37ebc4aef803baf760a8a57701ff00933333ebff00a6cccddd03f7b1f8
+db15700af7486815710afffef93334fc3415f7ca0a0e87fb17b7e0adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413f4f7b6f8ce153e0a856915cd
+0613f83f0afb425015400a13f4410aff01324cccfb2a15f7cb0a0e38fb17b7d8aef8
+03baf760a8a57701f82edd03f7b1f8db15700af7486815710affffa24cccfc4415f7
+cb0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334ff00d14c
+cca803ff014c80002b15c00a0efb40fb58a8f8d3aa01deddff00498000ff003f3334
+ff00344cccd003ff00d380002f15dc0aff009e8000f98f15cf0a0ef589adf8d9adbd
+eb01ff01983334ebff0062ccccff005ab334039e9d15430af742c215440aff00d733
+34f93415f7290a0e4381b9f803afdfeba3a8a57712dcdbff00483333ff00600001ff
+fffeccccd913fdf7edf75615730a3d04740a13feffff933333f85915f7cc0a0ef5fb
+37ebccadf8d9ad01ff00d43333ff00600001ff0126ccccff005ab334039e9d15430a
+f742c215440aff00133333fb5015f70e0a0e43fb37ebc4b9f803aff760a8a57712dc
+dbffffe83333ebff005ecccdd913fdf7edf75615730a3d04740a13fbffff333333fb
+7d15f7cd0a0ef5fb17b7e0adf8d9ad01f8efff005ab334039e9d15430af742c21544
+0aff00a04cccfb6015f7cb0a0e43fb17b7d8b9f803aff760a8a57701dcdbf73bd903
+f7edf75615730a3d04740affffda4cccfb8d15f7cb0a0ef5fb76a3daddb2adf8d9ad
+01f8efff005acccc039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753
+cbbaf78aff00049998a2ff00023334ff001680008bff0015cccc8bff009a3334ffff
+916668ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a
+868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3
+308bfffffb3334ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b
+78806989086e8905878b87878a8608f742c215440aff0076b334fb0615f71e0a0e43
+fb76a3daddaab9f803aff760a8a57701dcdbf73bd903f7edf75615730a3d04740aff
+ff87b333fb3315f75a0a0ef589adf8d9ad01f8efff005ab334039e9d15430af742c2
+15440aff005ee666fb1615e60a0e4381b9f803aff760a8a57701dcdbf73bd903f7ed
+f75615730a3d04740affff82e666fb4315f7ce0a0e6889a870b2f7b0b1d677f751b3
+70a8f70ab712f822aae3a7133380ff00e66666ff02e63334158bff00046664fffffc
+e667ff00054cd0fffffa9999ff00054ccc08ffffb16667ff0049e66448ffffd86668
+ff006c9999ffffc8800005ff000c4ccdfffff9ccccff000acccdfffffbb334ff0007
+b3338b08ff000b8000ff00033333ff000b6668ff00054ccc1fff0142999affff9fcc
+cc15c10a133b80c20a133780460a133b80470a13b780480a13738087770513b3808d
+8905137380490a13b3804a0a137b804b0affffe88000f70b15f20a0efb3481c7f7fa
+aaefb701dedef751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a
+ff007de666ff00e2333415f74b0a0e6889a870b2f7b0b1d677f751b370a8f70ab712
+f822aae3a7133380ff021c8000ff02d4800015ff0006e6688bff000c4cccff00044c
+ccff00103334ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff
+936668ffffb6199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff819
+9c08848efffffd4cccff000633341eff000c8000ffffb1800015c10a133b80c20a13
+3780460a133b80470a13b780480a13738087770513b3808d8905137380490a13b380
+4a0a137b804b0affffaf8000f70b15f30a0efb3481c7f7faaaefb701dedef751d003
+f7f7f80615750afb50fb3f15760aff01168000f7e815f30aff00b2199aff00dc3334
+15f74a0a0e6889a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a1545
+0a1337460a133b470a13b7480a137387770513b38d89051373490a13b34a0a137b4b
+0afffee0e666fd5315f7cf0a0efb3481c7f7faaa01dedef751d003f7f7f80615750a
+fb50fb3f15760aff0037e666fb9415f7ce0a0e68fb38b78fb9cfa870b2f7b0b1d677
+f751b370a812f822aae3a713cec0f8bdf91a15450a13cdc0460a13cec0470a13edc0
+480a13dcc087770513ecc08d890513dcc0490a13ecc04a0a13dec04b0afffedcb334
+fd9215f7d00a0efb34fb36b78fb9c5c7f7faaa01dedef751d003f7f7f80615750afb
+50fb3f15760aff0056b333fbd115ffffecffff8bfffff1199a95fffff2666697ffff
+eecccd99ffffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b3
+34ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18b
+ff002dffff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffff
+efe66881ffffe9ffff8b080e68fb49a4d7abb9a870b2f7b0b1d677f751b370a8b8bf
+12f7afc256a7e0aae3a713ced8f8bdf91a15450a13cdd8460a13ced8470a13edd848
+0a13dcd887770513ecd88d890513dcd8f75c0a13ecb84a0a13deb84b0afb2cb915f4
+0a0efb34fb4ea4d7abf861aac9c4e57712dedeff0040199aff001d6666ffffe98000
+c2cad013fc80f7f7f80615df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb
+3efb131e8bffffac6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd
+199affffb4e6669085059c8f948d9f8b0813fd809f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff001f199aff
+0030cccc05ff0036999aff0009999aff0032e666ff0022e666ff00316666ff003fb3
+34869685907f8b525174825b8b5e8b6ca38be68b908ba08c930813fe80ff005c8000
+f85515ffffe2999a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e1
+08ffffe766669705ffffea333451ffffcb80006b578b08558bffffdc8000b0ffffff
+ccccc0080e2389a8f7bcb1d677f751b370a8c4eb12ff01513334ebffffdcccccaae3
+a713f580f7fbf7d7154c0a13ed80460a13f580470a13ed804d0a13e680ff00643334
+f84115f7020a0efb8bfb82acf8e7b2f780acb1eb01ff01503334ebff00066666ff00
+54ccce03f750f81a15770aff00e63334f81e15f7290a0ef281aff789aff7ceb0f6b7
+01ff0053999aff0057e666ff01dd8000a903f87bf926154e0aff00698000f615f20a
+0e37fb82acf7e5a9f781b36da9f717b71292ceb5c35bd5f723d556cc13cc40f73588
+15780a13ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0aff007480
+00f7ab15f30a0ef70489a8f7bab5f793a8bdeb01ff01a03334eb03ff01a03334f97d
+15f7290aff00baccccfb44154f0a0e6181c7f7ddc7dfeba3a8a57712f7f0ddffffba
+3334ebffffd4ccccda13f9ff00afe666d315f7090a13fcf70a0a13f9f70b0a13faff
+00b84ccef88715f7020a0ef704fb37ebcca8f7bab5f793a801ff01003334eb03ff01
+003334fb0715f7290aff015accccf940154f0a0e61fb38ebc5c7f7ddc7f760a8a577
+12ff00b63333ff00600001ff0045ccccdd7ada13fdff00afe666d315f7090a13fef7
+0a0a13fdf70b0aff00064ccdfb5015f70e0a0ef70489a8f7bab5f793a8c4e501f7e2
+e8ece703f7e3f98115c50af7528c15c40ad9fb49154f0a0e6181c7f7ddc7e3e6a4a8
+a57712f7dce545dd7ada70e613f880f865f8d015729f77a4a4a09fa4a476a0721e72
+7776721f13fc00fb1d16729f77a4a49f9fa4a477a0721e727776721fffff67e666fc
+8815ff0026199af73a05caddccc6af8b0813f900f7630a13fa00f70a0a13f90093ae
+90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff95
+4ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff00281998
+8b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab7ff0008e666b1080ef704fb49a4d7abb9a8f7bab5f793a801f72cc203f709
+3b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab70
+9a6b1f828b828a838908ff00208000be05ff0022e666ffffffcccdff0027b334ffff
+ff1999ff0026e666ffffff199a8e8f8e9f889008698e05ffffd9199aff00036666ff
+fff4e666ff000c199a91ff001e800008ff00303333f789f7cd8bffffcfccccfb8905
+fffffa6666ffffe3ccccfffff04ccefffff2199affffd74cccfffffc199a086c8805
+8787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd91998ff
+00036666fffff4e668ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e
+058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e668
+fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62fbcd8bff00
+288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2
+3334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdffff
+fc199a086c88058787897b8f82ff0024e666ff0000cccdff001ee667ff0000cccdff
+001f6666ff00004ccc08ffffc9cccdffffb0199a9085059c8f948d9f8b080e61fb49
+a4d7abb1c7f7ddc7f760a8a57712f711c2f73cdd7ada13fe80ff00afe666d315f709
+0a13ff00f70a0a13fe8093ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccff
+ffeb3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff
+92cccdfc7f05fffffb333477fffff8199a728bfffff633338bfffff9999aff00014c
+ccfffffa9999ff00038000fffffb999a08ffffc9199a3a9085059c8f948d9f8b089f
+9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f
+828b828a838908ff001a4ccdff00294ccc05ff0002b334ffffffccceff0002e666ff
+ffffe666ff0003199a8b08b18b8ab7ff0008e666b1080ef704fb5bc4f720a8f7bab5
+f793a801ff00ae199aff001d666603ff00cb80005715f7690aff018f8000f901154f
+0a0e61fb65c4f722c7f7ddc7f760a8a57712ff0059199aff001d6666ff00e58000dd
+7ada13fdff00afe666d315f7090a13fef70a0a13fdf70b0affffc6999afb1a15ffff
+e2999a7f05fffffcb33536ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766
+669705ffffea333451ffffcb80006bffffcbffff8b558bffffdc8000b0ffffffcccd
+c0080efbadfb38b78fb9cfa8f8e3a801f769f8cd15500affffccb333fd4515f7d10a
+0efbb1fb38b78fb9c7c7f7eda79877f5eb12f75deb13e6f75df8ce157d0aff002c4c
+cdffff063334157e0a13ee7f0a13f6800affffdfb333fb8815f7d10a0efbad89a8f8
+e3a8bde501f726e8ece703f727f97a15c50af7528c15c40afb10fb4215500aff003f
+8000ff00d5800015ff0006e6668bff000c4cceff00044cccff00103332ff00063334
+08ff00823334ff00378000ffffcde666ff00279998ffff936666ffffb6199c05ffff
+f53334fffff81998fffffab332fffff9cccc8bfffff8199c8b848efffffd4cccff00
+0633348b080efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af7
+3416e20affffe24ccdffff033334157e0a13bc7f0a13dc800aff0075e666f8fc15ff
+ffb33334ffff974ccc05fffff7b333fffff4b334fffffce666fffffc9998fffffe33
+33fffff6199cfffffee667fffff9ccccff00046666fffffab334ff000566678bff00
+0566668bff0006cccdff00039998ff000de667ff000d333408ff00699998ff005fe6
+68ffffff6668ff0009b33005fffff1b332ff00136668ffffec8000ff0000ccccffff
+fb199a8bfffffc199a8bfffffb4cccffffff199cfffffd8000ffffff1998080ed789
+a8f8e3a8d27601f769f8cd15510af75ff71415b40a0e4081bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830af790f70015ec0a0ed7fb37ebcca8f8e3
+a801ff00f83333ff0060000103f769f8cd15510aff00233333fd4015f70e0a0e40fb
+37ebc4bfff00c34ccdff0022b333ebd2f760a8a57701ff00a43333ff0060000103ff
+0058cccdd315830affffdd3333fd3a15f70e0a0ed7fb17b7e0a8f8e3a801f769f8cd
+15510aff00c44cccfd5015f7cb0a0e40fb17b7d8bfff00c34ccdff0022b333ebd2f7
+60a8a57701ff0058cccdd315830aff00864cccfd4a15f7cb0a0e61fb37ebcca870b2
+f8d7a812ff00c73333ff0060000113d8f709d715520a13b8530a13d8540a13b8550a
+fffff23333fd4015f70e0a0efbbbfb37ebc4c7f8e5a8a57712ff002c3333ebffffd0
+cccdda13f8ff002c3333fb0715f7cd0aff00f1cccdf94e15f7d20a13f4f7d30a0e61
+fb37ebcca870b2f8d7a8f70ab712ff00c73333ff0060000113dcf709d715520a13bc
+530a13dc540a13bc550afffff23333fd4015f70e0aff00b14ccdfa0415f30a0efbbb
+fb37ebc4c7f8e5a8a577f702b712ff002c3333ebffffd0cccdda13f8ff01908000f9
+a815f30a13fcffff8fb333fe1b15f7cd0aff00f1cccdf94e15f7d20a13faf7d30a0e
+61fb17b7e0a870b2f8d7a81213d0f709d715520a13b0530a13d0540a13b0550aff00
+804cccfd5015f7cb0a0efbbbfb17b7d8c7f8e5a8a57701e8da03ff00c84ccdfb1715
+ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd666792828b08fb
+6106fffff400018bfffff280007afffffd99997ffffffe999a84ff00024ccd83938b
+08ff0122b334f95e15840a0e6189a870b2f8d7a81213a0f709d715520a1360530a13
+a0540a1360550aff0045e666fd0615e60a0efbbb81c7f8e5a8a57701e8da03ff008f
+e66652155906ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff00
+2b8001a6ff00251999a4ff002cb334b1ff001ab33367ff001be66672ff0021199a6e
+08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08ff008e199af914
+15840a0ef78789a8f8e3a8d27601f923e215f76f0afb88f73715b40a0ef77281c7f7
+ddc75fa712f753ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d8
+13daf74af7d515850a13dc860a13da870a13ba880af803f7f215f7520a0ef78789a8
+f8e3a8bdeb01ff01d33334eb03f923e215f76f0affff083334f76715f7070a0ef772
+81c7f7ddc75fa7f1eb12f753ff00558000ff009a8000d8ffffd73334ebff002b1998
+ff0050999cfffff11998d813dc80f74af7d515850a13d900860a13dc80870a13bc80
+880a139a00ff011d3334f79015fffffab33271ff0011800075a58bff001a00028bff
+001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b08718bffffe5800075
+fffffab33471080ef787fb37ebcca8f8e3a801ff01343334eb03f923e215f76f0aff
+fe693334fd1d15f7290a0ef772fb37ebc4c7f7ddc75fa712f753ff00558000ff0005
+b334ebff0034ccccd8ff00624cccff0050999cfffff11998d813ee80f74af7d51585
+0a13ef00860a13ee80870a13de80880aff00643334fc4815f7290a0ef4967693a8f8
+e3a8bdeb12ff01863334eb1378f943f8c115560a13b8570affff3f3334f96815f729
+0a0e6081c7f7ddc75fa7efeb12f73bff00578000ff003fb334ebffffb2cccce07ada
+13d9f845f71015f7150a13b9890a13d98a0a13da8b0a139cffff8d3334f85315f702
+0a0ef4fb37ebd97693a8f8e3a812ff011a3334eb13b8f943f8c115560a13d8570aff
+fed33334fb1c15f7290a0e60fb37ebc4c7f7ddc75fa712f73bff00578000ffffb2b3
+33ff00600001ff003fcccce07ada13e9f845f71015f7150a13d9890a13e18a0a13e2
+8b0a13c4ffff003333fb8315f7cc0a0ef4fb17b7ed7693a8f8e3a81213b0f943f8c1
+15560a13d0570affff634cccfb2c15f7cb0a0e60fb17b7d8c7f7ddc75fa712f73bff
+00578000ff00528000e07ada13eaf845f71015f7150a13da890a13ea8a0a13ec8b0a
+ffff9b4cccfb9315f7cb0a0ef4967693a8f8e3a8121360f943f8c115560a13a0570a
+ffff2ce6663d15e60a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0affff5ce666fb4915e60a0ef6
+81adf8ecadff00266668ff00306664ff00046668ff0032999801ff00576666ff005a
+e666ff017cb334ff00136668ff0026e664e403ff02658000ff02b9800015f7d40aff
+ff4e8000ffffb6800015580af79bfbbb15590affff408000ff019fcccc15f75e0a0e
+fb0681b0f80facccb78fb901d9def771de03ff01c3e666f98215f7d50afffedd199a
+fcd8158c0a3883158d0aff015fb334f81615e30a0ef681adf8ecadff00266668ff00
+306664ffffd93334e7ffffcf3334ff0032999812ff00576666ff005ae666ff0030b3
+34e7f784ff00136668ff0026e664e4ffffbab334e713d740f911f98415d20afc2e16
+e20af765fb141513c780580af79bfbbb15590a13ef00ffff408000ff019fcccc15f7
+5e0a0efb0681b0f80facccb78fb9afe612b1def706e79ade6ee713fe00f7b5f96915
+f7be0af7358c1513fe80a10afbddfcc015e70a13ff00e80a3883158d0aff0141b334
+f81615d10a0ef681adf8ecadf6b701ff00576666ff005ae666f84be403ff01316666
+ff02cc3334158bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ff
+ffb16667ff0049e66448ffffd86668ff006c9999ffffc8800005ff000c4ccefffff9
+ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033332ff000b6668
+8bff00054ccc08ff0082999affffa3cccc15580af79bfbbb15590affff64e668f848
+15f75d0a0efb0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0a
+ff01698000f82c15f30aff00814cccf75015f7d60a0ef681adf8ecadff003c800076
+ff00438000b701ff00576666ff005ae666f84be403ff02608000ff02b9800015f7d4
+0affff538000ffffb6800015580af79bfbbb15590affff4ee668f84815f75d0a0efb
+0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0aff01698000f8
+2c15f30aff00bc6666f75915f7d50a0e4d89a8f793adf7c4ad69a4d47612ff01e899
+9aff0055999a13ecf7b7f8d2155a0afb13fb8e155b0a13dc5c0af71ef70f15b40a0e
+43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f0aa9f82215ec
+0a0e4d89a8f793adf7c4ad69a4c4eb12ff016d3334ebff001b6666ff0055999a13ee
+f7b7f8d2155a0afb13fb8e155b0a13de5c0aff00983334f74415f7290a0e43fb7fa9
+f757aef804b9dfeb12ff01563334ebfffff4ccccdd13f4f79ef82815ff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967
+666d6f68ff0003e666fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824
+fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e
+8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c059a7bff001c80007a
+ff001d80008bff004733348bff003a3332ff0027b333ff002b999aff00354ccdc1cd
+a6cf8bd38bdf6fcd278b08588b6678707b08f735fb17158f0a13f8ffffab3334f7be
+15f7020a0e8581aa74a8f79cadf7bbad69a4c4eb12ff01653334ebff00246666ff00
+5466661337f811f900155d0a91ad15136f5e0a13b75f0affffe23334eb15f7290a0e
+fb609676f80fd15fa7efeb12f738ff00528000ff0023b334eb13bcf771f7b115f71c
+0a13dcf71d0aff00393334f7b315f7290a0e85fb37ebc4aa74a8f79cadf7bbad69a4
+12ff00c33333ff00600001ff00c66666ff00546666139bf811f900155d0a91ad1513
+b75e0a13db5f0affff403333fd9515f70e0a0efb60fb37ebd976f80fd15fa712f738
+ff00528000ffffbbb333ff0060000113d8f771f7b115f71c0a13e8f71d0a13c4ffff
+d13333fc2315f7cc0a0e85fb37ebc4aa74a8f79cadf7bbad69a4f70cb712ff00c333
+33ff00600001ff00c66666ff00546666139b80f811f900155d0a91ad1513b7805e0a
+13db805f0affff403333fd9515f70e0aff012d4cccfa0415f20a0efb60fb37ebd976
+f80fd15fa7f72ab712f738ff00528000ffffbbb333ff0060000113dcf771f7b115f7
+1c0a13ecf71d0a13caffffd13333fc2315f7cc0aff00ee4ccdf94415f30a0e85fb17
+b7d8aa74a8f79cadf7bbad69a412ff01e9999aff00546666139af811f900155d0a91
+ad1513b65e0a13da5f0affffff4cccfda515f7cb0a0efb60fb17b7ed76f80fd15fa7
+12f738ff0052800013d8f771f7b115f71c0a13e8f71d0aff00204cccfc3315988bff
+000dccce9dff0002666697ff0001666692fffffd666692828b08ffff330001067f8b
+fffff280007afffffd999a7ffffffe999a84ff00024ccc83938b080e2081aff8eaad
+b7eb12cba9ff002fcccdff00483333ff00593334ebffffe4b332ff0053e666fffffe
+3334aa13faf881f90615600a13f9610a13fcffff423334f71015f7020a0efb6481ac
+f813acdfeb12c6df77cbff00273333ff00600001ffffccccccd658dd13e4ff00e233
+33f8cf15f7cc0affffcbcccdfcd9159a0613eaf71f0a13e9910a13f2f7200a0e20fb
+37ebc4aff8eaad12cba9ff002fcccdff00483333ffffca3333ff00600001ff0073b3
+32ff0053e666fffffe3334aa13faf881f90615600a13f9610a13f4fffeb33334fd79
+15f7cc0a0efb64fb37ebc4acf813ac12c6df77cbffffc93333ebff002acccdd658dd
+13e4ff00843333fb0715f7cd0aff0029cccdf4159a0613eaf71f0a13e9910a13f2f7
+200a0e2081aff8eaadc776a5eb12cba9ff002fcccdff004833337aebff004ee666ff
+0053e666fffffe3334aa13fd00f881f90615600a13fc80610afb2dd215b40a13fa00
+fb23d5157d0a0efb6481acf813acff0093ccccff0056666812c6df77cbfffff06666
+ff00566666ff000d3334d658dd13e4ff00ab6666f90a15fffffb3334ffffe89998ff
+000fccccffffec3334ff001766678bff001766668bff0017cccdff0013ccccff0004
+ccccff00176668ff0004ccceff00176668fffff03333ff0013ccccffffe899998b08
+ffffe8999a8bffffe83333ffffec3334fffffb3333ffffe8999808ff00d4999ab415
+ec0afb66fd3d159a0613eaf71f0a13e9910a13f2f7200a0e2081aff8eaadc776efeb
+12cba9ff002fcccdff00483333f0ebffffd8e666ff0053e666fffffe3334aa13fd00
+f881f90615600a13fc80610afb31d215f7030a13fe0076f728157d0a0efb6481acf8
+13acf76277ff0010ccccff0056666812c6df77cbff00526666ff00566666ffffab33
+34d658dd13d200ff010d6666f94115fffffb3334ffffe89998ff000fccccffffec33
+34ff001766668bff001766688bff0017ccccff0013ccccff0004ccccff00176668ff
+0004ccceff00176668fffff03332ff0013ccccffffe8999a8b08ffffe8999a8bffff
+e83334ffffec3334fffffb3332ffffe899980877fb4b15bd06ff00266666b9ff002f
+199ab8ff002ae666b20813e000ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4c
+ce65ff001be6665eff001366665c08ffffb4999afc94159a0613c500f71f0a13c480
+910a13c900f7200a0e20fb37ebc4aff8eaadb6eb12cba9ff002fcccdff00483333ff
+ffca3333ff00600001c1ebffffddb332ff0053e666fffffe3334aa13fc80f881f906
+15600a13fc40610a13fa00fffeb33334fd7915f7cc0a13f900ff00960001f9f415f7
+020a0efb64fb37ebc4acf813acdfeb12c6df77cbffffc93333eb8fff00600001ffff
+c6ccccd658dd13f100ff00e83333f8cf15f7cc0a13f20027fd4215f7cd0aff0029cc
+cdf4159a0613f480f71f0a13f440910a13f880f7200a0e7a89a8f8d7b29877c9eb12
+ff016e3334ebff00a3cccca913dcf779f9191513bc620a13dc630a13bc640a13dc65
+0affff3b3334f215f7290a0efb9281c7f7e8b2f760eb01f1daff002a3333ff006000
+0103f74ef84115930aff00183333f75e15f70e0a0e7afb37ebcca8f8d7b2987712ff
+00ca3333ff00600001ff0147cccca913ecf779f9191513dc620a13ec630a13dc640a
+13ec650afffe973334fd8c15f70e0a0efb92fb37ebc4c7f7e8b212ff004a3333ebff
+ffbbcccdda13e8f74ef84115930a13f0ffff833333fce615f7cd0a0e7afb17b7e0a8
+f8d7b2987712f906a913e8f779f9191513d8620a13e8630a13d8640a13e8650affff
+3f4cccfd9c15f7cb0a0efb92fb17b7d8c7f7e8b201f1da03f74ef84115930aff0023
+4ccdfcf615ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd6666
+92fffff700018b08fb61067f8bfffff280017afffffd99997ffffffe999a84ff0002
+4ccd83938b080e7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a
+13b0640a13d0650afffef1e666fd5315e60a0efb9281c7f7e8b201f1da03f74ef841
+15930affffd2e666fcac155906ffffd9999a5dffffd14ccd60ffffd3e6666308ff00
+11199a7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33367ff001be666
+72ff0021199a6e08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08
+0ed4fb33e6c5b4f8dfa812ff007bcccdff004ecccdffffdb6666e7d0e713f4f7c681
+15f7230a35511513eca00af7358c15a10a0e63fb33e6c5c7f7ddc712ff004d199ae7
+ffffcee666daff0027199ae7ff001ee666d913eef88ef7f415940afffec1199afb54
+1513f6a00af7358c15a10a0ed4fb38b78fb9c7b4f8dfa801ff007bcccdff004ecccd
+03f7c68115660aff001fb334fb0215f70c0a0e63fb38b78fb9c7c7f7ddc701f70cda
+f736d903f88ef7f415940affff49b334fb8815f7d00a0ed481b4f8dfa801ff007bcc
+cdff004ecccd03f7c68115660aff0012e6665b15e60a0e6381c7f7ddc701f70cdaf7
+36d903f88ef7f415940affff44e666fb4915f7cf0a0ed481b4f8dfa8ff002e6668ff
+00306664ff00046668ff0032999801ff007bcccdff004ecccdff01696666ff00134c
+cc03ff02758000ff02d4800015f7d40afffebc8000fffd21800015660aff00ce8000
+ff02efcccc15ffffefcccc8bfffff34cce96fffff48000ff000d3334fffff16666ff
+000f6668ffffefb334ff000f6664ffffe680008bffffdb66668bffffe74ccc6affff
+e9e666ffffbf199c08ff0013999afffffa800005ff000e3334ff00244cccff000d99
+9aff00108000ff001619988bff000e80008bff000e3334fffff3e664ff000d6666ff
+fff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff0012b3328bff002719
+9c8bff001dccccacff00149998cd08ffffecb334ff0006999805ffffecccccffffd1
+ccccfffff2666880ffffed4ccc8b080e6381c7f7ddc7e2b78fb901f70cdaf736d903
+f88ef7f415940affffffb334f85215f7210affffe53332f76415f7d50a0ed481b4f8
+dfa8cfde68b712ff007bcccdff004ecccdff00146666ddf7c2dd13eef91cf95f159e
+a19ba4a5769b7774797b711f6ea37f9c1efc148e15a39c9fa0a1799e74727b777674
+9c79a31fb5fd6c15660a13deff00e4e668f99915f75d0a0e6381c7f7ddc7f717b7a1
+e612f70cdad9e783d98ae713faf88ef7f415940aff00238000f85215f7220aff0059
+8000f7311513fca00af7358c1513f9a10a0eaff8fea8c0b78fb901f8fdf8bd15670a
+ffff96b334f75315b60a0e329476f805dde2b78fb901f853ff0048666803ff013099
+9ad715950aff0051b334ff01f0800015d10a0eaffb37ebf941a801ff00d73333ff00
+60000103f8fdf8bd15670afffe6e3334fd3015f70e0a0e32fb37ebd776f805dd01ff
+00903333ebff00cecccdff0048666803ff0130999ad715950affff5b3333ffff4380
+0015f7ca0a0ef7f09676f908a8d37601f76df8b615680af83af73f15b20a0ef71394
+76f805dd01f92bff0048666803f79d7f15960af75bf93f15ce0a0ef7f09676f908a8
+d27601f76df8b615680af7c0f72b15b40a0ef7139476f805dd01f92bff0048666803
+f79d7f15960af777f93f15f7520a0ef7f09676f908a8cae601f872e7d0e703f76df8
+b615680af7cff79315a00af7358c15a10a0ef7139476f805dde1e601f7ebe7d0e7ce
+ff0048666803f79d7f15960af718f90815a00af7358c15a10a0ef7f09676f908a8b5
+eb01ff02093334eb03f76df8b615680aff01303334f75315fffffab33471ff001180
+0075a58ba58bff001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b718b
+ffffe5800075fffffab33471080ef7139476f805dddfeb01ff017d3334ebff00b9cc
+ccff0048666803f79d7f15960aff00743334f8db15f7290a0ef7f0fb37ebd976f908
+a801ff016e3334eb03f76df8b615680aff00953334fd2915f7290a0ef713fb37ebd7
+76f805dd01ff01223334ebff0114ccccff0048666803f79d7f15960aff0019333424
+15f7290a0ece89a8f8e3a8c0eb12ff0146999aff005de666ffffe2b334eb13f0f71a
+f90515690a13e8ff00fd3334f315f7020a0e3581cb4bbcff01438000ff004c80004c
+cadfeb12ff01133334eb130cff01133334f8cf15f7020affffc3ccccfb9a15f7d70a
+138cf7d80a135c980a13acf7d90a0ece89a8f8e3a8c6e512ff0146999aff005de666
+ffffae8000e8ece713f4f71af90515690af75ef61513ecc50af7528c15c40a0e3581
+cb4bbcff01438000ff004c80004ccae1e612f777e7d0e7130ef7adf8fc15f7be0af7
+358c15a10afb77fbc815f7d70a138ef7d80a135e980a13aef7d90a0e8289a8f8e3a8
+c0eb01ff01733334eb03f7e4d7156a0aff00233334f93415f7290a0e51fb7ec8ff02
+178000ff004c8000dfeb01ff011b3334ebff0061ccccff0048666803ff0160800016
+9a0affffe83334f91515f7290a0e9c8bb2f8cab39877d4761213d0f8a489156b0a13
+b06c0a13d06d0a69f9bb15b50a0efb1181d871c8f790c55ad7f7637712f1a6132cf8
+4af850159b0a131c9c0a136c9d0a138c9e0a136c9f0affffa6e666f76d15f7da0a0e
+9cfb37ebceb2f8cab3987712ff00e33333ff0060000113e8f8a489156b0a13d86c0a
+13e86d0afffed33334fb0515f70e0a0efb11fb37ebc4d871c8f790c55ad712f1a6ff
+00293333ff006000011396f84af850159b0a138e9c0a13b69d0a13c69e0a13b69f0a
+fffed73334fcb415f70e0a0e9cfb17b7e2b2f8cab398771213e0f8a489156b0a13d0
+6c0a13e06d0affff6b4cccfb1515f7cb0a0efb11fb17b7d8d871c8f790c55ad712f1
+a61394f84af850159b0a138c9c0a13b49d0a13c49e0a13b49f0affff594cccfcc415
+f7cb0a0e61fb17b7d8c7f7ddc7f760a8a57712f7f0dd7ada13faff00afe666d315f7
+090a13fcf70a0a13faf70b0aff009d6666fb5f15f7cb0a0efb9281c7f7e8b2f754e6
+12f1da85e7d0e713f4f74ef84115930aa9f77d1513eca00af7358c15a10a0ef71394
+76f805ddc8a6f704a601f92bff0048666803f79d7f15960aff00b33334f91f15d50a
+ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb334b1ff00093334
+b8ff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d080e51fb7e
+c8ff02178000ff004c8000c7a6f704a601f871ff0048666803ff01608000169a0aff
+00383334f95815d50affff9db3325315d60a0e4081c7f7faaa01d9dbf739d903f82e
+f845156e0a59fb6a156f0a0efb9afb7daff8e4a9f783adc1eb01ff01443334eb036a
+fb2a15f72a0aff01653334fa4a15f7290a0efb9afb7daff8e4a99877f78aad1213b0
+f7d7f84a155affffe34ccc9aff004ab33405a2f706b0cdb88bff003b4ccc8bffffcb
+b3343ac68b08a7989ea5ae60ae541f518b5b6e6b55796d786178390813d0836c6d8a
+668780838c84917c08affffffd999a059dfffffeccccff00056666fffffbe666ffff
+fd199afffff0b3340888fffff03334ffff9e8000ffffc6cccc9c6eff00484ccdff00
+2a199afffff94ccdffffdbe66605ffffc96666fbb7ff00063333ffffbe4ccdffffdc
+4ccdffffb0b333fffff24ccdffffe1999afffff31999fffff96666ffffec199a8b7b
+8b878f8596fffff5199aff0014199affffefe666ff000be666798b087c797c7572b2
+76ad1fff003433338bff00264ccdff00113333ff00178000ff001f999abaff003f33
+33ff001d3333ff0093cccdff0021cccdff00a8333308adff00a94cccd6ff002bb334
+050efb9afb7daff8e4a9f700b2e7ad01f80df8d015ffffbfe66606ff0015b334ff00
+3b3334ff001bb332ff0020ccccff001fb3348bff003b4ccc8bffffcbb3343ac68b08
+a7989ea5ae60ae541f518b5b6e6b55fffff8e666fffff41998fffff8b334fffff24c
+d0fffff89999ffffee999808ffff92cccd64ff005eb33306fffff97fff77fffff966
+67ffffe86666fffff96666ffffe3999a836c6d8a668780838c84917c08affffffd99
+9a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee199a
+2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccd
+ffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199aff00
+14199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff0026
+4ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cccdff
+0021cccdff00a8333308c5f7b505ff00038000ff00118000ff0003ccccff00104ccc
+ff00043334ff000f333408ff004c8000060ef72d7fb382768ca8f8e5b012f7dca913
+38f70bd21586707b7b628b087f06868b88888a860887788d89058bda8daeb3d4898b
+1e8d8d8e9e058c90888e868b087f06638b7e9891a908b7f78d05aff765f708e7f70b
+8bb68bb97d897d8774fb0bfb2e4e47088d7305928c908b918bf7338b90fb05856708
+139876fb08496b598b488b6eb986db086d88051358893c87588674968c9491938b08
+1398ac8bac7aab8bf7188be9ea9ced9cea40d52791858c898f919308f751f7808fa3
+05559e4c954e8bfb9b8b37fb3668fb5d080e287faef8d076e2b001f726f75715a5f7
+05b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294fb11f7
+2d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba27d976f
+08986d957c958b978baf9492aa8e97809d74a173a06496558b528b417577357e53a9
+65c84c08fb245647fb007735080ef5fb37ebcca8f76ab5f80b7701ff00f03333ff00
+60000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb5615f70e0a0e40fb37eb
+c4c7f7faaa12d9dbffffeb3333ebff0059cccdd913f4f82ef845156e0a59fb6a156f
+0a13ecffff213333fbe215f7cd0a0ef589a8f76ab5f80b77f72da301f82bbb8da6ab
+bf03f7c7f7af153d0afbcdfb6015b30af802f91015f7db0a0e4081c7f7faaaf72f76
+c4a612d9dbff007d4cccff002fcccefffff7e666d913faf82ef845156e0a59fb6a15
+6f0aff0045199af81015f7dc0a13fcf7dd0a0ef589a8f76ab5f80b7701f7c7f7af15
+3d0afbcdfb6015b30aff01993334ff02b0666815ff00061998ff0001b330ff0007cc
+ccff0002ccd0ff0009199cff0003800008ff00764cccff00326664ffffd28000afff
+ff9d4cccffffbccccc05fffffb3334fffffc8000fffffc6668fffffce668fffffd99
+98fffffce668fffff8b334ff0009e664fffff91998ff000a6668fffff9b334ff000a
+cccc0860066569636b606f08947605b59caf9db6a6a672a978ae7908a0a005ffffef
+e668997cff000f1998fffff24cccff00104cd0080e4081c7f7faaaf76a7701d9dbf7
+39d903f82ef845156e0a59fb6a156f0aff007b6666ff01ee666815ffffba3334ffff
+a0cccc05fffffbccccfffffa4cccfffffd4ccefffffc8000fffffe1998fffffc8000
+fffff7999aff000f4cccfffff83334ff000fccccfffff93332ff00106668085906ff
+ffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b8000a6ff0025
+1998a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e66699
+05fffff1e666ff00144cccfffff1ccccff0014ccccfffff3199aff0015b334ff0004
+3334ff0001e668ff00056666ff00041998ff00083334ff0007cccc08ff00601998ff
+00573334ffffff6668ff0008cccc057eff0011999cffffee4cccff0000ccccfffffb
+80008bfffffc80008bfffffb999affffff3334fffffdccccffffff3334080ef589a8
+f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b30aff00c48000f9
+5315f7de0a0e4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff00
+1c3334fb70156e0a59fb6a156f0affff58999aff01ee666815fffffd4cccff0000cc
+cc87ff0000ccccfffffc80008bffffe833348bffffed8000fffff26668fffff98000
+fffffb333008fffffd1999fffff73334ff00404ccdffffa8cccc05ff0009199a7fff
+0004199987ff000433338bff0005999a8bff0005cccdff0004ccd0ff0000b3338f8c
+ff00059998ff00004ccdff00059998fffffde66693080ef589a8f76ab5f80b77f765
+a301f8cbbb8da6abbf03f8acf9c415b50afb79fca9153d0afbcdfb6015b30af8a2f9
+4815f7db0a0e4081c7f7faaaf76a77e9a601d9dbf739d9ff000b4cccff002fccce03
+ff017dccccf92115d00aff001c3334fb70156e0a59fb6a156f0aff00c61998f87115
+ff000380009cfffff84cd0b4ffffc8fffe8b618bffffd7e66668fffffb800075ffff
+fd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93ffff
+fe333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff0006
+3332919e8ba08bff0006000281fffffb4ccc74fffffd99987ffffff880007ffffff5
+999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66
+689cff00144ccc9bff00134ccc9bff001233349bff000419989f080ef589a8f76ab5
+f80b77ff00a14cccff0029ccccff0003ccd0ff002bb33001ff023c3334ff03491998
+15f7df0afffef6ccccfffdd1e668153d0afbcdfb6015b30af802f95015b50a0e4081
+c7f7faaaf76a77cbb78fb901d9dbf739d903ff017dccccf92115d00aff001c3334fb
+70156e0a59fb6a156f0aff0062b334f89e15f7e00a0ef5fb37ebcca8f76ab5f80b77
+d37601ff00f03333ff0060000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb
+5615f70e0aff011eccccfa2b15b50a0e40fb37ebc4c7f7faaaf7627712d9dbffffeb
+3333ebff0059cccdd913faf82ef845156e0a59fb6a156f0a13f6ffff213333fbe215
+f7cd0aff00f6b333f98c15f7da0a0ef589a8f76ab5f80b77c0bf01f809a7f76ca603
+f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00028000ff005c800015ff00
+06e6668bff000c4cceff00044cccff00103334ff0006333408ff00823330ff003780
+00ffffcde668ff00279998ffff936666ffffb6199c05fffff53334fffff81998ffff
+fab332fffff9cccc8bfffff8199c8b848efffffd4cccff000633348b080e4081c7f7
+faaac8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59
+fb6a156f0affff838000f84015f50aff009c6666e815f7d50a0ef589a8f76ab5f80b
+77c0bf01f809a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00
+306668ff006c3334158bff00046664fffffce664ff00054cd0fffffa999cff00054c
+cc08ffffb16664ff0049e66448ffffd86668ff006c999affffc8800005ff000c4cce
+fffff9ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033334ff00
+0b66688bff00054ccc080e4081c7f7faaac8c4e57701d9dbff0030199aff001d6666
+ff00578000d903f82ef845156e0a59fb6a156f0affff838000f84015f50aff00534c
+ccf115f7d60a0ef589a8f76ab5f80b77c0bff712a301f809a7a4bbc8bfa9a603f7c7
+f7af153d0afbcdfb6015b30af7dcf8f815c88bd8b19cd60870067d665573588bffff
+f880008bfffff93334ff00006668fffff99998ff0000999808ff0019b3340690a49d
+989f969992a69a8ba7089d7fab52536767728190809c9b9a95991e8b91898f898d8b
+8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d84ffffdf1998ffffb6
+b33493fffffe4cccff003033348bff0003b334086f800652af5edb1e0e4081c7f7fa
+aac8c4e577eba612d9dbff0030199aff001d6666ff002cccccff002fcccefffffae6
+66d913fe80f82ef845156e0a59fb6a156f0affff838000f84015f50aff00be999ab8
+15f7dc0a13ff00f7dd0a0ef589a8f76ab5f80b77adbfff004b4cccff0029ccccff00
+03ccd0ff002bb33001f809a7f76ca603ff02373334ff0349199815f7df0afffefbcc
+ccfffdd1e668153d0afbcdfb6015b30af7dcf8e515f40a0e4081c7f7faaac8c4e577
+d0b78fb901d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50aff00c33334e815e30a0ef5fb37ebcca8f76ab5f80b
+77c0bf01ff00f03333ff00600001ff0021cccca7f76ca603f7c7f7af153d0afbcdfb
+6015b30aff004f3333fb5615f70e0aff00f5cccdf9ba15f40a0e40fb37ebc4c7f7fa
+aac7c4e57712d9dbffffeb3333ebffffece667ff001d6666ff004f8000d913fc80f8
+2ef845156e0a59fb6a156f0a13fa80ffff213333fbe215f7cd0a13f980ff006a4ccd
+f98d15f7060a0e68fb37ebcca870b2f7b0b1d677f751b370a812ff00ad3333ff0060
+0001ff0080ccccaae3a7139dc0f8bdf91a15450a139bc0460a139dc0470a13dbc048
+0a13b9c087770513d9c08d890513b9c0490a13d9c04a0a13bdc04b0afffe843334fd
+8d15f70e0a0efb34fb37ebc4c7f7faaa12dedeffffdc3333ebff0080cccdd013e4f7
+f7f80615df0afb50fb3f15f7e10a13f4f7e20a13ecffffdb3333fbce15f7cd0a0e68
+89a870b2f7b0b1d677f751b370a8f724a312f7ecbb8da674aaa3bf97a7133b70f8bd
+f91a15450a133770460a133b70470a13b770480a13737087770513b3708d89051373
+70490a13b3704a0a137b704b0a32d0159992a69a8ba7089d7fab5253676772819080
+9c9b9a95991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e818182
+081333b07c7f7d7d846a08a60690a49d989f96080efb3481c7f7faaaf72f76c4a601
+dedeff005d4cccff002fccceff002fe666d003f7f7f80615750afb50fb3f15760aff
+00ee199af82415f7e30a0e6889a870b2f7b0b1d677f751b370a8b5b78fb912f822aa
+e3a7133bc0f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513
+b3c08d89051373c0490a13b3c04a0a137bc04b0affff9eb334e215f7e00a0efb3481
+c7f7faaae2b78fb901dedef751d003f7f7f80615750afb50fb3f15760aff00e3b334
+f80715d10a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7133380f850
+f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a56ff0075cccc15ff00
+064ccc8bff000b33348fff000eb334ff0005999c08ff00764cccff00326664ffffd2
+8000afffff9d4cccffffbccccc05fffff63334fffff8ccd0fffffb199afffffa6664
+8bfffff8cccc8bfffff9999cff0002ccccfffffd9998ff0005999a8b080efb3481c7
+f7faaaf76a7701dedef751d003ff015dccccf92115de0aff00053334fbaf15750afb
+50fb3f15760aff01486666ff0202666815f7e40a0e6889a870b2f7b0b1d677f751b3
+70a8d17612f822aae3a7133380f850f9bf15b50af701fb3915c10a133b80c20a1337
+80460a133b80470a13b780480a13738087770513b3808d8905137380490a13b3804a
+0a137b804b0afffefd8000f71c158b8ffffffd3334ff0004ccccfffffb1998ff0004
+cccc08ffffb8999aff00433334ffffc3199a67ff0062b333ffffcd999c05ff000b33
+32fffffa6664ff0009ccce87928bff000a80008bff0002ccccff000a66688bff0004
+cccc080efb3481c7f7faaaf76a7701dedef751d003ff015dccccf92115de0aff0005
+3334fbaf15750afb50fb3f15760aff0012999aff0202666815f7e50a0e6889a870b2
+f7b0b1d677f751b370a8cb76f734a312f822aab0bb8ea7a9bf1333f0f8def99a15f7
+db0a6afb1415c10a133bf0c20a1337f0460a133bf0470a13b7f0480a1373f0877705
+13b3f08d89051373f0490a13b3f04a0a137bf04b0afb10f73315b50a0efb3481c7f7
+faaaf76a77e9a612dedef751d0ffffdd4cccff002fccce13f8ff015dccccf92115de
+0a13fcff00053334fbaf15df0afb50fb3f15760aff01701998f88515f7e60a13faf7
+e70a0e6889a870b2f7b0b1d677f751b370a8ab76ff008c4cccff0029ccccff0003cc
+d0ff002bb33012f822aae3a71333e0ff01fa3334ff0348199815ffffeb19988bffff
+ef8000ff00098000fffff1199aff000b6668ffffed199aff000d4ccc76ff000d4ccc
+6a8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff00
+126666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff001280
+00fffff59998ff00114cccfffff580009ffffff2b334ff00146666fffff49998ff00
+1833348bff0032999a8bff00269998ff001c8000ff001a999cc408ffffe6e664ff00
+05b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b08ff002e
+ccccffff3de66815c10a133be0c20a1337e0460a133be0470a13b7e0480a1373e087
+770513b3e08d89051373e0490a13b3e04a0a137be04b0a33f71315b50a0efb3481c7
+f7faaaf76a77c7b78fb901dedef751d003ff015dccccf92115de0aff00053334fbaf
+15750afb50fb3f15760aff0105b334f8ae15e30a0e68fb37ebcca870b2f7b0b1d677
+f751b370a8cc7612ff00ad3333ff00600001ff0080ccccaae3a7139de0f8bdf91a15
+450a139be0460a139de0470a13dbe0480a13b9e087770513d9e08d890513b9e0490a
+13d9e04a0a13bde04b0afffe843334fd8d15f70e0aff0112ccccfa2d15b50a0efb34
+fb37ebc4c7f7faaaf7637712dedeffffdc3333ebff0080cccdd013f2f7f7f80615df
+0afb50fb3f15f7e10a13faf7e20a13f6ffffdb3333fbce15f7cd0aff0102b334f98d
+15f7da0a0efbad89a8f8e3a8f724a301f759bb8da6abbf03f769f8cd15500af3f726
+15f7db0a0efbb181c7f7eda79877f74676c4a612ff00b34ccdff002fcccd13bcff00
+f54ccdff0140333415f70d0a13dc800aff007d199af86f15ff000380009cfffff84c
+ccb4548b618bffffd7e66768fffffb800075fffffd99997fff0004e6677c9e8b948b
+ff000f199995ff0002333496ff0001999993fffffe333391ffffff999a8effffff66
+668dffffff80008dff0000cccd8f088c90ff00063333919e8ba08b9181fffffb4cce
+74fffffd99987ffffff880007ffffff5999a7ffffff180007affffee800075fffff8
+199a6908a706ff00074ccda5ff000d66679cff00144ccc9bff00134ccc9bff001233
+349bff0004199a9f080efbadfb37ebcca8f8e3a801ff00353333eb03f769f8cd1550
+0affff603333fd4015f7ca0a0efbb1fb37ebc4c7f7eda79877f5eb12ff004f3333eb
+ff0019cccdeb13cef75df8ce157d0aff002c4ccdffff063334157e0a13de7f0a13ee
+800affff873333fb8315f7ca0a0ef6fb37ebc4adf8ecad01ff00576666ff005ae666
+ff004ee668ebff01081998e403f848f90415580af79bfbbb15590afffe463334fc50
+15f7290a0efb06fb37ebc4b0f80fac12d9deffffe73333ebff0095cccdde13f4f735
+f73e158c0a3883158d0a13ecff003a3333fba915f7cd0a0ef681adf8ecadc076f711
+a301ff00576666ff005ae666ff00d4b334bb8da6abbfff00414ccce403f848f90415
+580af79bfbbb15590afb50f82e15f7db0a0efb0681b0f80facf72f76c4a601d9deff
+00634cccff002fccceff0049e666de03f735f73e158c0a3883158d0aff0148199af8
+4915f7e30a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15
+b50a4afb4f15580af79bfbbb15590afb2dff01adcccc15ff00064ccc8bff000b3334
+8fff000eb334ff0005999c08ff00764cccff00326664ffffd28000afffff9d4cccff
+ffbccccc05fffff63334fffff8ccd0fffffb1998fffffa66648bfffff8cccc8bffff
+f9999cff0002ccd0fffffd9998ff000599988b080efb0681b0f80facf76a7701d9de
+f771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff008d8000ff003c
+666815f7e40a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf
+15b50a4afb4f15580af79bfbbb15590afffea18000f85b15f7de0a0efb0681b0f80f
+acf76a7701d9def771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff
+ff4fb334ff003c666815f7e50a0ef681adf8ecadc676f72fa312ff00576666ff005a
+e666ff016eb334bb8da6fffffb4ccce4ffffcbb334bf13fc00f889f9bf15b50a4afb
+4f1513fd00580af79bfbbb15590a69f8521513fe80f7db0a0efb0681b0f80facf76a
+77e9a612d9def771deffffc04cccff002fccce13fcf735f73e158c0a3883158d0aff
+011be666f87f15e60aff00b93332b615f7e60a13faf7e70a0ef681adf8ecadff008c
+4cccff0029ccccff0003ccd0ff002bb33001ff00576666ff005ae666f84be403ff02
+323334ff0348199815ffffeb19988bffffef8000ff00098000fffff1199aff000b66
+68ffffed199aff000d4ccc76ff000d4ccc6a8bffffd0b3348b6bffffe36668ffffe3
+66665308ff00194cccfffffb4ccc05ff00126666ff001f6668ff0011999aff000e33
+34ff001c999a8bff0012b3348bff00128000fffff59998ff00114cccfffff580009f
+fffff2b334ff00146668fffff49998ff001833308bff0032999c8bff00269998ff00
+1c8000ff001a999cc408ffffe6e664ff0005b33405ffffe73334ffffd81998ffffee
+6668fffff68000ffffe7cccc8b08ffff81ccccffff27e66815580af79bfbbb15590a
+fb4bf85415b50a0efb0681b0f80facf76a77ccb78fb901d9def771de03f735f73e15
+8c0a3883158d0aff011be666f87f15e60aff004ecccee415e30a0ef6fb37ebc4adf8
+ecadc17601ff00576666ff005ae666ff004ee668ebff01081998e403f848f9041558
+0af79bfbbb15590afffe463334fc5015f7290aff0103ccccfa2d15b50a0efb06fb37
+ebc4b0f80facf7647712d9deffffe73333ebff0095cccdde13faf735f73e158c0a38
+83158d0a13f6ff003a3333fba915f7cd0aff00e5b333f98e15e60a0ef71d7fadf8ca
+a793ada5e1587612e0e9f85ae836f70061b513ee00f964f7dd15f7310a13ed008c92
+8b918b910813f500b375ab6a1e6e8b787c87738a888b898b888b799679a8880813ec
+80f7330afba8f7bb1513e600f7340a13ec0063d515c30a0e467faef800a983acaedf
+12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13def7370a13bef7380a
+f7ebf89015ec0a0ef71d7fadf8caa793ada5e1577612e0e9f85ae836f70061b513f6
+00f964f7dd15f7310a13f500f7320a13f480f7330afba8f7bb1513e600f7340af70b
+e715f7e80a13ec00f7e90a0e467faef800a983acaedf12d9dff78fdcafb513bef736
+f73f15f7350a378315f7360a13def7370a13bef7380af7a3f89015ce0a0ef71d7fad
+f8caa793ada5e1a0a312e0e9f776bb8da6abbfcee836f70061b513ffc0f964f7dd15
+f7310a13ffa0f7320a13ff90f7330afba8f7bb1513ffc0f7340adce615f7db0a0e46
+7faef800a983acaedfac76c4a612d9dfff005d4ccdff002fcccdff006de666dcafb5
+13bfc0f736f73f15f7350a378315f7360a13dfc0f7370a13bfc0f7380aff0143199a
+f84815ff000380009cfffff84cccb4548b618bffffd7e66668fffffb800175fffffd
+99997fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93fffffe
+333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff000633
+32919e8ba08b9181fffffb4cce74fffffd99987ffffff880007ffffff5999a7fffff
+f180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66689cff0014
+4ccc9bff00134ccc9bff001233349bff0004199a9f080ef71d7fadf8caa793ada5e1
+41b78fb912e0e9f85ae836f70061b513f300f964f7dd15f7310a13f280f7320a13f2
+40f7330afba8f7bb1513e300f7340a13ee00ff0056b334f70815b60a0e467faef800
+a983acaedfffffd96668ff00306664ff00046668ff0032999812d9dff78fdcafb513
+a780f736f73f15f7350a378315f7360a13d780f7370a13a780f7380a138f80ff0133
+4cccff0197cccc15ffffeee6688bfffff2800096fffff3ccccff000d3334fffff099
+9aff000f6668ffffeeb332ff000f6664708bffffd94cce8bffffe5cccc6affffe899
+9affffbf199c08ff0014b333fffffa800005ff000effffff00244cccff000e8000ff
+00108000ff001766678bff000f4ccc8bff000f199afffff3e664ff000e3334fffff3
+e668ff00104cccfffff09998ff0010b334fffff2ccd0ff0013cccc8bff002966668b
+ff001f999aacff0015cccccd08ffffeb8000ff0006999805ffffebb334ffffd1cccc
+fffff1999a80ffffec33328b080ef71dfb37ebc2adf8caa793ada5e112e0e9ff004e
+3334ebff0117cccce836f70061b513ff00f964f7dd15f7310a13fe80f7320a13fe40
+f7330afba8f7bb1513ff00f7340affff453334fd7715f7290a0e46fb37ebc2aef800
+a983acaedf12d9dfff00023333ff00600001ff0098ccccdcafb513df80f736f73f15
+f7350a378315f7360a13ef80f7370a13df80f7380aff00563333fbaa15f70e0a0ed4
+fb37ebc4b4f8dfa801ff007bcccdff004ecccdff00209999ff0060000103f7c68115
+660affffb933332215f70e0a0e63fb37ebc4c7f7ddc712f70cdaffffd73333ebff00
+6acccdd913f4f88ef7f415940a13ecfffedc3334fb8315f7cd0a0ed481b4f8dfa8f7
+24a301ff007bcccdff004ecccdff00bc6666bb8da6abbf03f7c68115660af761f969
+15f7db0a0e6381c7f7ddc7f72f76c4a601f70cdaff005e4cccff002fccceff0013e6
+66d903f88ef7f415940afffff5199af86f15f7e30a0ef71e7fb4f8e1a7d47692df12
+f711ddf8bbf113dcf7d37f15f7ea0a13eceaf95a15c30a0e7f7fc2f7eac412f712da
+7edcf700d6f70db413ecf898f89415f73a0a13dcf73b0a13ecf73c0a2af73315ec0a
+0ef71e7fb4f8e1a7d47692df12f711ddf8bbf113dcf7d37f15f7ea0af785f96d15f7
+e80a13ecf7e90a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415f7
+3a0a13dcf73b0a13ecf73c0afb32f73315ce0a0ef71e7fb4f8e1a7c6df8da301f711
+ddf74ebb8da6abbff760f103f7d37f15f7390af756f96b15f7db0a0e7f7fc2f7eac4
+f72c76c4a612f712da7edcff001e4cccff002fccceff001de666d6f70db413fb80f8
+98f89415f73a0a13f780f73b0a13fb80f73c0affffbd199ae215f7e30a0ef71e7fb4
+f8e1a7c0b78fb901f711ddf8bbf103f7d37f15f7390aff00b6b334f98715b60a0e7f
+7fc2f7eac4dfb78fb912f712da7edcf700d6f70db413fbf898f89415f73a0a13f7f7
+3b0a13fbf73c0affffa2b334c515d10a0ef71efb37ebc2b4f8e1a7c6df01f711ddff
+001e3333ff00600001ff01a8ccccf103f7d37f15f7390affffae33332415f70e0a0e
+7ffb37ebc2c2f7eac412f712daffffd83333ff00600001ffffbaccccdcf700d6f70d
+b413f3f898f89415f73a0a13e7f73b0a13f3f73c0a13ebfffea13334fd0715f7cc0a
+0e8289a8f8e3a8d27601f7e4d7156a0af737f91415b20a0e51fb7ec8ff02178000ff
+004c800001f871ff0048666803ff01608000169a0ab7f97915ce0a0e82fb37ebcca8
+f8e3a801ff00cf3333ff0060000103f7e4d7156a0affff7f3333fb5315f70e0a0e51
+fb7ec895ebff01ad8000ff004c800001ff012a3334ebff0052ccccff0048666803ff
+01608000169a0afffff733345e15f7290a0e8289a8f8e3a8f724a301f7f1bb8da6ab
+bf03f7e4d7156a0af719f91315f7db0a0e51fb7ec8ff02178000ff004c8000f72f76
+c4a601ff011a4cccff002fccceff0092e666ff0048666803ff01608000169a0aff00
+79199af93115f7e30a0e8289a8f8e3a8bfb78fb901f7e4d7156a0aff008ab334f92f
+15b60a0e51fb7ec8ff02178000ff004c8000e2b78fb901f871ff0048666803ff0160
+8000169a0aff0050b334f91415d10a0eb77fcb4baaf81ea8d89ce2d612f842ac137c
+f842f76215f7eb0aac9915f7ec0a13bcf7ed0afb5ff79415f7ee0a0eb77fcb4baaf8
+1ea8d89ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bcf7ed0afb6cf7
+9415f7ef0a0eb77fcb4baaf81ea8d89ce2d612f822d363ac80a4137af842f76215f7
+eb0aac9915f7ec0a13baf7ed0afbc0f79415f7f00af363151339f7f10a133cf7f20a
+0eb77fcb4baaf81ea8d69ce2d612f826d35fac84a3137af842f76215f7eb0aac9915
+f7ec0a13baf7ed0afbb5f79215f7f30aec63151339c0fb1b05133a8c898c89908b08
+1339f7f40a133cf7f50a0eb77fcb4baaf81ea8d89ce2d512f842ac133cf7d3f94d15
+f7f60af73e9215f7f70a50fc8615766d05137cf7f80aac9915f7ec0a13bcf7ed0a0e
+b77fcb4baaf81ea8d69ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bc
+f7ed0afbaff79215f7f90af7428f15f7fa0a0eb77fcb4baaf81ea8b29de2d6a5b58b
+b812f842ac1339f80ff92915678b7c79887b877a8b73b48b928b8d82898186757165
+5f83088c7905e790aad790a50893af7db0658b08133ddbcf15133bf7fb0a133da087
+05133b9ca89c98a08b08133df7fc0a133bf7fd0a6efc9f15766d051379f7f80aac99
+15f7ec0a13b9f7ed0a0eb77fcb4baaf81ea8b59ce2d6a2b68bb812f842ac1379f842
+f76215f7eb0aac9915f7ec0a13b9f7ed0a133dfb1ff7b315133bf7fe0a133da08705
+133bf7ff0a133df8000a133bf8010a3f4915f8020a0ef71a8aa8f76cb2f79a9ceb77
+96d61213f0f72ed315f8030af734f76715f8040a13e8fb5df84d15f8050a0ef71a8a
+a8f76cb2f79a9ceb7796d61213f0f72ed315f8030af734f76715f8040a13e8fb60f8
+4d15f8060a0ef7438aa8f76cb2f7979cee7793d612f79ad27da313f0f758d315f807
+0af734f76715f8080a13e8fc0cf84a15f8090af4631513e2f80a0a13e4f80b0a0ef7
+288aa8f76cb2f7959cf07790d612f78bd17da313f2f73dd315f80c0af734f76715f8
+0d0a13e8fbf9f84715f80e0aed641513e2f80f0a13e4f8100a0ef7218aa8f76cb2f7
+969cef7792d51213f0f735d315f8110af734f76715f8120a13e8fbe3f84815f8130a
+f73e9215f8140a0ef7218aa8f76cb2f7969cef7792d61213f0f735d315f8110af734
+f76715f8120a13e8fbd3f84915f8150af7428f15f8160a0ef72e8aa8f76cb2f7259c
+e2d6a5b67977b1b81213f4f743d315f8070af734f76715f8080afbd6f7d815678b7c
+79887b887b8b72b48b928b8e838981867472665f82088c7a05e790a8d691a592af7c
+b0658b0813f8dad01513f6628b7fb8548b638b706f74540813f8a0860513f2f8170a
+13f8b18ba160b58bb68baba5a2c30813f275910577697c80778b080ef7308aa8f76c
+b2f7289ce2d6a1b77977b1b81213f4f745d315f8180af734f76715f8190a13f8fb72
+f81d1513f2f81a0a13f8a0860513f2f81b0a13f8f81c0a13f2f81d0a404915f81e0a
+0efb337facf751a7f743a8d99ce2d501f728f70b15f81f0af761f8d715668b7d7987
+7c887a8a73b48b928b8e828981867571655f83088c7a05e68faad791a493b07daf65
+8b080efb337facf751a7f743a8d89ce2d601f728f70b15f81f0af769f8d715648b6e
+66836786718a3fe48708929c05649381b190a18d969093938bb38b95a38f9c8e9b84
+9d688b080efb337facf751a7f743a8d59ce2d612f80dd27aa313f8f728f70b15f820
+0af711f8d415f8210a13fcf3631513fac1fb1b058c898c89908b948b92918c90088b
+900513fc84f72c058a9683927a8b728b7a7a887a088a878b868c87080efb337facf7
+51a7f743a8d49ce2d612f80bd27aa313f8f728f70b15f8200af716f8d315658b6d66
+846785718a40e58608929c05649481b090a28c959193928bb48b95a48e9b8f9b849d
+678b0813fcec631513faf8220a13fc84f72c058a968392798b748b797a887a088a87
+8b868c87080efb337facf751a7f743a8d59ce2d601f728f70b15f81f0af710f8d415
+678b7d79877b887b8a72b48b928b8d838981867471666082087a07e790aad691a593
+af7cb0658b08f73e9115828b7887847c0849fb30058a8b8a8b1f8a888c82988b8d8b
+8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efb337facf751a7f743a8d6
+9ce1d601f728f70b15f81f0af71af8d415f8230af7428f15f8240a0ef7068bb265a6
+f7bfaddd77f70e9cb7b36fa78ed612f8a2adf3a6133bc0f954f91a15133dc0fb948b
+3d8a05137bc0f8250a13bdc0f8260afca8f76e15f8270a0ee38bb265a6f7bfaddd77
+f70e9cb7b36fa78dd612f889acf3a7133bc0f93bf91a15133dc0f8280a137bc0fb16
+8c8776058a888b87928b08a906b18b967d856c082afc8905856f7c7b638b086e0684
+8b89878a88088775f7168d0513bdc0d88af7ba8bc3f7347290056d426556498b08fb
+4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c07888c87911ea28b8e8e058c
+9c8eb892ad91ac97b093a48c8d8a8d888b087506878b88878a87087e6d057f6f7f7b
+688b08fb1c8bb4f769058fa39993a38b08f72c06bf8ba14f8a6008a78e05fc9af76d
+15658b6e67846686728c3fe48708939c05629381b08fa28d969092938bb38b95a48e
+9b8e9c849c678b080ef7a68bb265a6f7bfaddd77f70a9cbbb36fa78ad512f797d27c
+a3f7f0acf3a6133a30f9f4f91a15133c30fb948b051339303d8a05137a30fb168c87
+7605888b87921ea906b18b957d866c0829fc8905866f7c7b638b086d06858b89878a
+88088775f7158d0513bc30d98af7b98bc4f7347290056d4264564a8b08fb4c06758b
+7e9190a608bcf793f71d8b05ad937c6e1f6c07888c87901ea28b8f8e058b9c8fb891
+ad92ac97b093a4088d8a8d891e7506878b88878987087e6d05806f7f7b688b08fb1d
+8bb4f7690590a39993a38b08f72c06bf8ba14f8a6008a68e05133930fd4cf7691567
+8b7c79897c877a8c73b48b918b8d828981877572655f83088c7a05133a30e78fa9d7
+90a40892b07caf658b08f46415133870c2fb1c058c898d898f8b968b90928c90088c
+8c8e8a1e1338b082f72c058a9682927a8b738b7a7a887b8a868b878d87080ef7958b
+b265a6f7bfaddd77f7089cbdb36fa788d612f78bd17da3f7ebacf3a6133a30f9e4f9
+1a15133c30f8280a137a30f8290a13bc30f82a0a133930fd40f76815648b6f668467
+85718c3fe58708919c05649380b190a28d959093928bb48b95a38d9c088f9b849d67
+8b08ed6315133870c2fb1b058c898d898f8b958b91918c90088b90051338b081f72c
+059682927a1e738b7a79887b8a878b868d87080ef7978bb265a6f7bfaddd77f7089c
+bdb36fa788d612f934acf3a6133ac0f9e6f91a15133cc0f8280a137ac0f8290a13bc
+c0d88af7ba8bc3f7347290056d426556498b08fb4c06758b7e9190a608bdf793f71c
+8b05ad937c6e1f6c07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a
+8d888b087506878b88878987087f6d057f6f7f7b688b08fb1d8bb5f769058fa39993
+a38b08f72c06bf8ba14f8a6008a68e051339c0fd3ef76815678b7d79877b887b8b72
+b48b928b8d838a81867472665f82088c7a05e790a8d691a50892af7cb0658b08f73e
+9115818b7887857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f
+8d8f8b8f8d9688a16e8b080ef78d8bb265a6f7bfaddd77f70a9cbbb36fa78ad612f9
+29acf3a7133ac0f9dbf91a15133cc0fb948b051339c03d8a05137ac0fb168c877605
+888b87911ea906b18b967d856c082afc8905856f7d7b628b086e06848b89878a8808
+8875f7158d0513bcc0d98af7b98bc4f7347190056d426556498b08fb4c06758b7e91
+91a608bcf793f71d8b05ac947c6e1f8a6c05888d87901ea28b8e8e058c9c8eb892ad
+91ac97b093a48c8d8a8d898b087506878b87878a87087e6d057f6f807b678b08fb1c
+8bb4f7690590a39893a38b08f72d06be8ba14f8a6008a78e051339c0fd3ff76a1564
+8b6f66846786718b40e48608939c05639380b190a28d959093928bb48b95a48e9c08
+8e9a849d678b08f7428f15818b7887847c084cfb308b8a058a888c82978b8e8b8f8b
+8d9008f2f71e058e8f8d8f8b8f8e9686a16f8b080e72fb6576f904bbd89ce2d501f7
+f2de03f7a7f84e15f82b0af76cf7ec15f82c0a0e72fb6576f904bbd89ce2d601f7f2
+de03f7a7f84e15f82b0af74ef7ed15f82d0a0e72fb6576f904bbd69ce2d512f7f2de
+c6d27aa313f8f7a7f84e15f82b0af71cf7ea15f82e0af3641513faf82f0a13fcf830
+0a0e72fb6576f904bbd29ce2d6927712f7f2decbd213e6f7a7f84e15f82b0a13f6f7
+28f7e715f8310aec6315f8320a13eef8330a0e72fb6576f904bbd59ce2d601f7f2de
+03f7a7f84e15f82b0af724f7ea15f8340af73f9115f8350a0e72fb6576f904bbd49c
+e1d601f7f2de03f7a7f84e15f82b0af72af7e815f8360af7428f15f8370a0e72fb65
+76f904bbb29de1d6a5b68bb812f7f2de13f2f7a7f84e15f82b0af757f7c715f8380a
+13fadbd01513f6f8390a13faa0860513f6f83a0a13faf83b0a13f6f83c0a0e72fb65
+76f904bbb59ce2d6a2b68bb812f7f2de13f2f7a7f84e15f82b0a13faf7a4f80c1513
+f6f83d0a13faa0870513f6f7ff0a13faf83e0a13f6f83f0a3f4915f8400a0ef77a8a
+a8f7bcb2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8270a0ef77a8aa8f7bc
+b2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8420a0ef8218aa8f7bcb2f744
+9cc9a788d612f799d27da313f0f9a5d315856f7b7b628b087006868b88888a860887
+788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08
+ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a8778058a868f888f8b08a506b38b987d846d0863fb67fbdb8bb4f7670590a79c
+9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a86
+8e88908b08a506b38b977d856d082afc8a05856f7a7b628b087106868b88888a8608
+87788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa
+08bcf790f7db8b0513e8fd39f81e15678b7d79887b887b8b72b48b918b8e83898186
+7472665f82088d7a05e690a9d690a50892af7cb0658b08f4631513e2c3fb1b058c89
+8c89908b948b92918c90088b900513e4f8430a0ef8168aa8f7bcb2f7449cc9a787d6
+12f78cd213f4f99ad315f8440a13ecfd34f81d15f8450aed6415f8460a0ef8198aa8
+f7bcb2f7449cc9a788d61213f0f99dd315f8470a13e8fd3af81e15f8480af73e9115
+f8490a0ef80f8aa8f7bcb2f7479cc6a78bd61213f0f994d315f84a0a13e8898c058b
+2e8a671e13f0f84b0a13e8f84c0a13f0f84d0a13e8fd30f82115f84e0af7428f15f8
+4f0a0ef7ff8aa8f7bcb2cc9ce2d597a77db78bb81213f8f983d315f8500afce4f7ae
+15f8510a13f4dad11513f2f8520a13f4a0860513f2f8530a13f4f8540a13f2f8550a
+0ef8098aa8f7bcb2d09ce1d693a77eb68bb81213f8f98ed315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e878b0870
+06648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b
+2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda
+8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b
+1e898a8878058a868e888f8b08a606b28b987d856d0829fc8a05866f7a7b628b0871
+06868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08bcf790f7db8b0513f4fca9f7f41513f2f8560a13f4a0860513
+f2f8170a13f4f8570a13f2f83c0a414915648b6e66846887718b3fe48708939c0563
+9380b08fa28d969192928bb38b95a48f9c8e9b839c688b080efba67fc0f82577e29c
+e2d601f700f76303f797f84e15f8580ae3f8f415668b7d78887c877b8b72b48b928b
+8d828982867471665f82088c7a05e790aad690a593af7db0658b080efba67fc0f825
+77e29ce2d601f700f76603f797f84e15f8580aebf8f415f8590a0efba67fc0f82577
+ea9ce2d612f7bdd27aa313f0f797f84e15f8580a95f8fc15678b7d79877b887b8a72
+b48b928b8e838981867470666082087a07e790aad691a592af7db0658b08f4631513
+f4c0fb1b058c898c898f8b968b91918c90088b900513f884f72c059682927a1e728b
+7a7a887a8a878b868d87080efba67fc0f82577e89ce2d612f7bad37aa313f0f797f8
+4e15f8580a9af8fa15658b6d66846785718a40e58608929c05649481b08fa28d9591
+93928bb48b95a48e9b8f9b849d678b08ec631513f4f8220a13f884f72c058a968292
+7a8b738b7a7a877a8a878c868c87080efba67fc0f82577e99ce2d601f700f7af03f7
+97f84e15f8580a93f8fb15f8210af73e9115828b7887847c0849fb30058a8b8a8b1f
+8a888c82978b8e8b8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efba67f
+c0f82577ea9ce1d601f700f7bb03f797f84e15f8580a9bf8fb15f8230af7428f15f8
+240a0efba67fc0f82577c59de1d6a5b78bb712f700f7dc13f2f797f84e15f8580aea
+f8d715678b7c79887b887b8a72b48b928b8d838981867471665f83088c7905e790aa
+d791a492af7db0658b0813fadbd11513f6638b80b7538b638b706f73530813faa087
+0513f6f85a0a13faf85b0a13f6f85c0a0efba67fc0f82577c99ce1d7a1b78bb712f7
+00f7da13f2f797f84e15f8580a13faf741f91d1513f6638b80b7548b628b706f7354
+0813faa0860513f6f85a0a13faf85b0a13f6f85c0a3f4915658b6d65846885718a3f
+e58708929c05649381b08fa28d969192928bb48b95a48e9c8f9b849d678b080efb46
+8aa8f89a9cc2a690d601f819f8d21590a79c9bb48b08a6068f8b8f8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0829fc
+8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d
+8f9e058c90878e878b087006648b7e9891a908fb1df92215678b7d79887b887b8b72
+b48b928b8c838a81867472665f82088c7a05e790a9d690a592af7cb0658b080efb58
+8aa8f8999cc3a78ed601f807f8d215f85d0afb0df92115648b6e66856786718b40e5
+8608929c05639480b090a28d969092928bb48b94a48f9b8e9c849c678b080e818aa8
+f8949cc8a789d512f795d27da313e0f8c1f8d215f85d0a13d0fbc6f91b15678b7d79
+887c887a8b73b48b928b8d828981877571656083088c7a0513e0e78fa8d790a50892
+af7caf658b08f4641513c4f85e0a13c881f72c059682927a1e728b7a7a887b8a878c
+868c87080e658aa8f8959cc7a68bd612f784d27ca313e0f8a5f8d21590a79c9bb48b
+08a606908b8e8e8c900813d08f9e898c058b2e8a6764348c8b1e898a87780513e08a
+868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b087006868b88888a86
+0887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891
+a90813d0fbb4f91d15648b6f66846785718c3fe48708939c05639380b090a28d9690
+93928bb48b94a38f9c088e9b849d678b08ed631513c4c2fb1b058c888d8a8f8b958b
+91918c90088b900513c882f72b058a9782927a8b738b7a79887b8a878b868d87080e
+6f8aa8f8969cc6a78bd61213e0f8aff8d21590a79c9bb48b08a506908b8f8e8c9008
+8f9e0513d0f84c0a13e064348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d0829fc8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891a90813d0fbbdf91e15668b7d79887b
+887b8b72b48b928b8d838981877471666082088c7a05e790a9d68fa50892af7db065
+8b08f73d9115828b7887847c084cfb308b8a058a888b82988b8d8b908c8d8e08f2f7
+1f058d8f8d8f8c8f8d9687a16e8b080e6e8aa8f8979dc4a78cd601f8aef8d215f85d
+0afbb8f91f15658b6f66846785728c3fe48608939d05639380b090a28d969092928b
+b48b94a48e9b8e9c849c678b08f7438f15808b7987847c084cfb308b8a058a888c82
+978b8e8b8f8c8d8e08f2f71f058e8f8d8f8b8f8d9687a16f8b080e558aa8f8299ce2
+d691a783b68bb81213f0f894f8d215f85f0afb76f8b115678b7d79887b887b8b72b4
+8b928b8d838981867472665f82088c7a05e790a9d690a592af7db0648b0813e8dad0
+1513e4638b7fb8548b628b716f73540813e8a0860513e4f7ff0a13e8f8600a13e4f8
+3c0a0e6c8aa8f8299ce2d691a77fb78bb81213f0f8abf8d21591a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a877805868e888f1ea606b2
+8b987d856d0829fc8b05866f7a7c628b087106868b87888a860887788d89058be98d
+aeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891a90813e8fb35f8f315
+13e4f8610a13e8a0860513e4f8530a13e8f81c0a13e4f8620a404915658b6e668467
+86718b40e48608939c05639381b18fa28d959093928bb48b95a48e9b8e9b849d678b
+080e3d7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f8640af7c4f87715
+678b7c78887c887b8a72b48b928b8d828982867471665f82088c7a05e790aad691a5
+92af7db0658b080e3e7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f864
+0af7ccf87715658b6d66846786718a40e48608929c05649480b090a28e959093938b
+b38b95a48f9b8e9b849d678b080e3e7faef816accc9ce2d6927712f82ed27aa313e0
+f7d7f82d15f8650afb84fb6015f8640a13f0f773f87515678b7d79877b887b8a72b4
+8b928b8d838981867471665f82088c7a05e790aad691a50892af7db0658b08f46315
+13eaf8660a13ecf8670a0e3e7faef816accc9ce2d6927712f82ed27aa313e0f7d7f8
+2d15f8650afb84fb6015f8640a13f0f77bf87515648b6d66846786718a40e4860892
+9c05649480b090a28e969092928bb48b95a48f9b088e9b849d688b08ec631513eaf8
+660a13ecf8670a0e3e7faef816acc99ce2d691771213e0f7d7f82d15f8650afb84fb
+6015f8640a13f0f773f87215678b7d79887b877b8b72b48b928b8c838a8186747166
+5f82088c7a05e790a9d691a50893af7cb0658b0813e8f73f9115808b7988847b0849
+fb308b8a058a888b82978b8e8b8f8c8e8f08f4f71f058e8e8d8f8b8f088e9687a16f
+8b080e3e7faef816accc9ce1d78e771213e0f7d7f82d15f8650afb84fb6015f8640a
+13f0f77af87515648b6e65836886718a3fe48708939c05639381b090a28d96919292
+8bb48b95a48e9c088f9b839d688b0813e8f7428e15f8680a0ef7417fadf89f9cc9ad
+01f98ef7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7
+408bf7538bf72bf721b2f75c08fba3f7bb15f7138be32163fb6468fb47fb01fb01fb
+068bfb188b35f705b1f754b4f766f712e2eb8b08fbe1ef15f8270a0ef74e7fadf89f
+9cc9ad82d61213e0f99bf7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c65fb5864
+fb59f707fb11f7418b08f7528bf72bf721b2f75c08fba3f7bb15f8690a13d0fbf7ef
+15658b6e66846786718c40e48608929c05649480b08fa28e969092928bb38b95a48e
+9b088e9c849c678b080ef7e17fadf8999ccfad7cd512f78ed213e8fa2ef7dd15b1f7
+5afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7418b08f7528bf72b
+f721b2f75c08fba3f7bb15f8690a13d8fc8de815678b7c79887c887a8b73b48b928b
+8e828982867472655f83088c7a05e78fa9d790a50892af7caf658b08f46415f8460a
+0ef7e97fadf8999ccfad7bd612f786d213e8fa36f7dd15f86a0afba2f7bb15f7128b
+e42162fb6469fb47fb01fb01fb078bfb178b35f705b0f754b4f766f712e2ec8b0813
+d8fc96e815648b6e66846886718b3fe58708929c0513e8649380b08fa20813d88d96
+9192928bb38b95a48e9c088e9b849c688b08ec6415f8460a0ef7d07fadf89b9ccdad
+7ed51213e0fa1df7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f7
+07fb11f7408b08f7538bf72bf721b2f75c08fba3f7bb15f7138be42162fb6468fb47
+fb00fb01fb078bfb188b35f705b1f754b4f766f712e2eb8b0813d0fc73ea15678b7d
+79887c887a8b73b48b928b8d828981867572656083088c7a05e78fa8d790a40892b0
+7caf658b08f73f9215808b7987847b084cfb308b8a058a888c82978b8d8b908c8d8f
+08f2f71f058d8f8d8e8c8f8d9787a16f8b080ef7be7fadf89c9cccad7ed61213e0fa
+0bf7dd15f86a0afba2f7bb15f86b0a13d0fc69eb15f86c0af7428f15f86d0a0e4c7f
+baf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb0cf84b15668b7d
+78887c877b8b72b48b928b8d828982867471665f82088c7a05e790aad691a592af7d
+b0658b080e4c7fbaf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb
+04f84b15648b6e66846785718a40e58608929c05649480b090a28e959093928bb48b
+95a48e9b8f9b849d678b080e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893
+f78d15f86e0a13b2f86f0a139afb5df84915678b7c79887b877b8b72b48b928b8d83
+8981867471665f82088c7a05e790aad690a50893af7db0658b08f46315f8700a1396
+f8710a0e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893f78d15f86e0a13b2
+f86f0a139afb56f84915658b6d66846785718a40e58608929c05639481b090a28e96
+9092928bb48b95a48e9b088f9b849d678b08ed6315f8700a1396f8710a0e4c7fbaf7
+e1d557bfc99ce2d691771213d0f893f78d15f86e0a13b0f86f0a1398fb5cf8461566
+8b7d79887b877b8b72b48b928b8d838981867471665f82088c7a05e790aad690a508
+93af7db0658b081394f73e9115f8680a0e4c7fbaf7e1d557bfcc9ce1d78e771213d0
+f893f78d15f86e0a13b0f86f0a1398fb56f84915648b6e65846885718a3fe5870892
+9c05639381b090a28e969092928bb48b95a48e9c088f9b849d678b081394f7428e15
+818b7888857b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f
+8c8f088d9688a16e8b080e4c7fbaf7e1d557bfb39de1d6a5b68bb81213d8f893f78d
+15f86e0a13b8f86f0afb03f83015678b7d79877b887b8a72b48b928b8e8388818674
+71665f83088c7905e790aad791a493af7cb0658b08139cdbd015139a638b80b8548b
+628b706f735308139ca08705139af83a0a139cf8720a139af8730a0e4c7fbaf7e1d5
+57bfb29de1d7a1b78bb71213d8f893f78d15f86e0a13b8f86f0a139c5df87215139a
+638b80b7538b638b706f725408139ca08605139af85a0a139cb18ba05fb58bb78bab
+a5a2c308139a76910577697b81778b083f4915648b6e65836886718a3fe48608939d
+05639381b090a28d969192928bb48b95a48e9c8f9b839d688b080ef7258aa8f8999c
+c3a78ed601f824d315856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa08b6f771f760f7ad05
+a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827e3c8c8b1e8a8a8777
+058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f05869988
+948d918d94918f9e8b08a8068f8b8e8f8c8f088e9e8a8c058bfb008a857e2e8c8b1e
+898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905fbaf
+f84f15658b6e66846786718c40e48608929c05649480b08fa28d969192928bb38b95
+a48e9b8e9c849c678b080ef7c48aa8f8949cc8a788d612f78cd27da313e0f8c3d315
+856f7b7b628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e
+058c90878e878b087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106
+908b8f8d8c90088f9f8a8c058b3c8a827f3c8c8b1e898a8777058a888c87908b08a8
+069f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b
+08a7068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c8b1e8a8a8777058985928a
+8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f8491513e0658b
+6e66846886718c3fe48708929c05639381b08fa20813d08d969092938bb38b95a48e
+9c088e9b849c678b08ed641513c4f85e0a13c881f72c058a968392798b738b7a7a88
+7b8a878c868c87080ef7c48aa8f8969cc6a78bd61213e0f8c3d315856f7b7b628b08
+7006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b
+087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c9008
+8f9f0513d08a8c058b3c8a821e13e07f3c8c8b1f898a8777058a888c87908b08a806
+9f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b08
+a7068f8b8e8f8c8f088f9e0513d0898c058bfb008a851e13e07e2e8c8b1f8a8a8777
+058985928a8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f84c
+15648b6e66856786718b3fe58708929c05639380b090a28d969093928bb48b95a38d
+9c088f9b849d678b08f7428f15818b7887857b084bfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8c8f8c8e8d9788a16e8b080ef78b8aa8f8289ce1d693a7
+7eb68bb81213f0f88ad315856f7a7b628b087106868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b5f771f760f7
+ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b1e8a8a
+8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f0586
+9988948d918d94918f9e8b08a8068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c
+8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905
+13e8fb9af81f1513e4f8560a13e8a0860513e4f8170a13e8f8600a13e4f83c0a4149
+15648b6e66846886718c3fe48708939c05639380b08fa28d969192928bb38b95a48f
+9c8e9b839c688b080ef7237faef787b1f71e77f29ce2d601f955f76215f8740afbba
+aa15f8750adbf86715f8760a0ef7237faef787b1f71e77e29ce2d601f955f76215f8
+740afbbaaa15f8750ae0f85715f8770a0ef7237faef787b1f71e77e09ce2d6927712
+f892d379a313f0f955f76215f8780afbbaaa15f8750a13f887f85515f8790af36315
+13f5f87a0a13f6f87b0a0ef7237faef787b1f71e77e09ce2d6927712f892d379a313
+f0f955f76215f8780afbbaaa15f8750a13f88ef85515f87c0aec631513f5f87a0a13
+f6f87b0a0ef7237faef787b1f71e77dd9ce2d691771213f0f955f76215f8780afbba
+aa15f8750a13f887f85215f87d0a13f4f73e9115f87e0a0ef7237faef787b1f71e77
+e09ce1d78e771213f0f955f76215f8780afbbaaa15f8750a13f88df85515f87f0a13
+f4f7428e15f8800a0ef7237faef787b1f71e77c19ce2d6a5b68bb81213f8f955f762
+15f8780afbbaaa15f8750acff83615f8810a13fcdbd01513faf7fb0a13fca0860513
+fa9ca89d99a08b0813fcf8720a13faf8820a0ef7237faef787b1f71e77c59de1d7a1
+b78bb81213f8f955f76215f8780afbbaaa15f8750a13fcf72bf87d1513faf8830a13
+fca0860513faf85a0a13fcf85b0a13faf8840a3f4915f8850a0ef7618bc6f87a9cc9
+ad82d612f71ea5f8c2a513ecf8bdf70915f70ab0f0f2a2f70ca8f72841f719fb5c8b
+fb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799291c008718b7bfb
+0bf7678b05978b92918c95089cf713053bc970c8a0f704a5f714eaf70af71e8bf716
+8bc92170fb2176fb00554225560869fb130589818e85978b08f7648ba9f70b718b05
+7a5275885a8b082a0613dcfbeff92d15f8050a0ef77b8bc6f87a9cc9ad82d612f738
+a4f8c3a513ecf8d7f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb
+2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf7678b0597
+8b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc9216ffb21
+76fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5274885b8b
+08290613dcfbfdf92d15648b6e66846787718b40e48608939c05639480b08fa28e96
+9092928bb48b94a48f9b088e9c839c688b080ef7f78bc6f8749ccfad7cd612f78fd2
+69a486a3f8b0a513e5f953f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598b
+fb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf767
+8b05978b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc921
+6ffb2176fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5275
+885a8b082a0613d1fcb0f92715f8860af4631513c3f8870a13c9f8430a0ef7e58bc6
+f8749ccfad7bd612f783d263a58aa3f8aba513e5f941f70915f70ab0f0f2a3f70ca8
+f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf066088351268b05578b79
+9291c008718b7bfb0bf7688b05968b92918c95089cf713053bc970c8a1f704a4f714
+eaf70af71f8bf7158bc92170fb2176fb00554225560869fb130589818f85978b08f7
+638ba9f70b718b057a5275885b8b08290613d1fca3f92615f8880a13e1639380b090
+a20813d1f8890aed641513c3f80f0a13c9f88a0a0ef7be8bc6f8769ccdad7ed612f7
+7aa5f8c3a513ecf91af70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17
+fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b7cfb0bf7678b05
+978b92918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb
+2176fb00564225560869fb130588818f85978b08f7648ba9f70b718b057a5274885b
+8b08290613dcfc70f92915f88b0af73e9115f88c0a0ef7c28bc6f8779cccad7ed612
+f77ea5f8c3a513ecf91df70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb
+17fb2971fb1872fb14cc2cef66088451268b05568b799291c008718b7cfb0bf7678b
+05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7168bc9216f
+fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b057a527488
+5b8b08290613dcfc75f92915f86c0af7428f15f86d0a0ef7b58bc6f8069ce2d59cad
+72b78bb812f771a5f8c3a513f3f910f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cb2cf066088451268b05568b799291c008718b7c
+fb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b
+057a5274885b8b082906fc3bf8b815678b7c79887c887b8b72b48b928b8d82898287
+7472665f82088c7a05e790a9d690a592af7caf658b0813ebd9d11513e7638b7fb854
+8b628b716e74540813eba0860513e7f8530a13ebb18ba15fb58bb68baba5a2c30813
+e775920578697b80768b080ef7cf8bc6f80a9ce1d698ad73b68bb812f78ca5f8c3a4
+13f3f92bf70915f70ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb16fb2971fb18
+72fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c
+95089cf713053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb0055
+4225560869fb130589818e85988b08f7638ba9f70b728b05795275885b8b08290613
+ebfbfaf8fe1513e7638b7eb8548b628b716f73540813eba0860513e7f83a0a13ebf8
+570a13e7f88d0a3f4915658b6e66846886718c3fe48708929c05649380b090a28d96
+9092928bb38b95a48e9c8e9b849c678b080eb77fcb4baaf81ea812f7c2d0c6ac1378
+f842f76215f7eb0aac9915f7ec0a13b8f7ed0afb9ff77b15f88e0a0eb77fcb4baaf8
+1ea812f842ac1370f842f76215f7eb0aac9915f7ec0a13b0f7ed0afb2ef78415f88f
+0a0efb337facf751a7f743a801f7a8d003f728f70b15f81f0af72ef8be157c82827f
+897f89868c868d8708d6fb0f058d898d8a8f8b8e8b8f8d8f8d8e8e8c8e8c8e088b8e
+6cf726058a90888f868e878e868c858b858b84898588080efb337facf751a7f743a8
+01f728f70b15f81f0af78af8c515808b7d8585800838fb2205898789868b8a898492
+85938b8f8b8f8e8f8f08f70af70e0590908d918c8f8fa07a9c778b080e72fb6576f9
+04bb12f7f2de3fd013e0f7a7f84e15f82b0af716f7d91513d0f8900a13e0f8910a13
+d0f8920a0e72fb6576f904bb01f7f2de03f7a7f84e15f82b0af776f7dc15f8930a0e
+fba67fc0f8257701f74bd003f797f84e15f8580aa5f8e7157c82827f897f89868c86
+8d8708d6fb0f058c898e8a8f8b8e8b8e8d8f8d8e8e8d8e8c8e088b8e6cf726058a90
+888f868e868e868c868b858b84898588080efba67fc0f8257701f700f77e03f797f8
+4e15f8580af712f8ef15808b7d8585800838fb2305898889868b8a8a849184938b8f
+8b908f8e8f08f70af70e0590908d918c8f90a0799c778b080e397faef816ac01f7d1
+f82d15f8940afb83fb6015f8950af785f864157c828280887f8b858b878d8708d6fb
+0f058d898d8a8e8b8f8b8f8d8e8d8e8d8d8e8c8e088b8f6cf725058a91888e868f86
+8d878d858b858b84898587080e397faef816ac01f7d1f82d15f8940afb83fb6015f8
+950af7f0f87115818b7c8585800838fb23058a8889868a8a8a849085938b908b908e
+8e8f08f70af70e0590908d918c8f8fa07a9c778b080e437fbaf7e1d557bf12f7c2d1
+13d0f893f78d15f86e0a13b0f86f0afb4af836157b828380887f8a858b878d8708d6
+fb0f058d898e8a8e8b8f8b8e8d8e8d8e8d8e8e8b8e088b8f6df725058a91888f858e
+868d878d868b848b84898687080e547fbaf7e1d557bf1213c0f893f78d15f86e0a13
+a0f86f0a52f84515808b7c8585800838fb23058a8889868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080ef7237faef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960a0ef7237faef787b1f7
+1e7701f955f76215f8740afbbaaa15f8750af716f85315f8970a0eb7fb83b4f74ecb
+4baaf81ea8d89ce2d612f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0a
+fb5ff79415f7ee0afb63fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612
+f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0afb6cf79415f7ef0afb56
+fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612f822d363ac80a413bd00
+f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbc0f79415f7f00af36315139c80
+f7f10a139e00f7f20afb6afd7115f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d6
+12f826d35fac84a313bd00f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbb5f7
+9215f7f30aec6315139c80c0fb1b05139d008c898c89908b08139c80f7f40a139e00
+f7f50afb6efd6f15f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d512f842ac139e
+f7d3f94d15f7f60af73e9215f7f70a50fc8615766d0513bef7f80aac9915f7ec0a13
+def7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d612f842ac13
+bef842f76215f7eb0aac9915f7ec0a13def7ed0afbaff79215f7f90af7428f15f7fa
+0afbc1fd9b15f8980a0eb7fb8bb4f756cb4baaf81ea8b29de2d6a5b58bb812f842ac
+139c80f73a3815793a057f51ab72bc8ba48bbc9aa8d0087493057f707673798b778b
+82a297c20896bf779205f733f96e15678b7c79887b877a8b73b48b928b8d82898186
+7571655f83088c7905e790aad790a593af7db0658b08139e80dbcf15139d80f7fb0a
+139e80a08705139d809ca89c98a08b08139e80f7fc0a139d80f7fd0a6efc9f15766d
+0513bc80f7f80aac9915f7ec0a13dc80f7ed0a0eb7fb83b4f74ecb4baaf81ea8b59c
+e2d6a2b68bb812f842ac13bc80f842f76215f7eb0aac9915f7ec0a13dc80f7ed0a13
+9e80fb1ff7b315139d80f7fe0a139e80a08705139d80f7ff0a139e80f8000a139d80
+f8010a3f4915f8020afb57fd7615f8980a0ef7d58aa8f76cb2f79a9ceb7796d612f9
+fba313f4f72ed315f8030af734f76715f8040a13ecfb5df84d15f8050af874fc3415
+5ffb79058051a871b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2
+f761839c050ef7cb89b166a8f76cb2f79a9ceb7796d612f9f1a3137af72ed315f803
+0af734f76715f8040a1336fb60f84d15f8060af86efc32155efb780513b2f8990a0e
+f80389b166a8f76cb2f7979cee7793d612f79ad27da31378f758d315f8070af734f7
+6715f8080a1334fc0cf84a15f8090af463151331f80a0a1332f80b0af8c0fc07155e
+fb780513b0f89a0a0ef7ec89b166a8f76cb2f7959cf07790d612f78bd17da31379f7
+3dd315f80c0af734f76715f80d0a1334fbf9f84715f80e0aed64151331f80f0a1332
+f8100af8b8fc05155efb780513b0f89b0a0ef7ea89b166a8f76cb2f7969cef7792d5
+121378f735d315f8110af734f76715f8120a1334fbe3f84815f8130af73e9215f814
+0af85ffc34155ffb780513b0f89c0a0ef7e389b166a8f76cb2f7969cef7792d612fa
+0aa3137af735d315f8110af734f76715f8120a1336fbd3f84915f8150af7428f15f8
+160af845fc32155efb780513b28050a872b88bb68bad99a6d108738f0580697f7b71
+8b778b869f97c808b2f761839d050ef7f189b166a8f76cb2f7259ce2d6a5b67977b1
+b812137af742d315eaf72f0592969491a38b08f7678ba9fb40058c858b858a86887b
+79806c8b086f06868b87888a860888788c89058bed8dafb2d7898b1e8e8d8f9e058c
+90868e878b088006638b7b9e84b20828f8b205879f83957a8b818b82847d7408fbe8
+fcb70576697678628b087f06868b87888a860888788c89058bcc8da4a4ed898b1e8e
+8d8e9e058c90888e878b086e066d8b7c948f9b088b918e918f9208f734f76715788b
+858e8d918b8e8c8d8d8f08f72cf78dbafb9f05fbd7f7d815678b7d79887b887b8b72
+b48b928b8d838981877471666082088c7a05e790a8d690a593af7cb0648b08133cdb
+d015133b628b7fb8548b638b706f735408133ca086051339f83a0a133cf8570a1339
+f88d0af8a7fc02155efb780513b8f89d0a0ef7f989b166a8f76cb2f7289ce2d6a1b7
+7977b1b812137af745d315f8180af734f76715f8190a133cfb72f81d151339f81a0a
+133ca086051339f81b0a133cf81c0a1339f81d0a404915f81e0af8e3fbc0155ffb78
+0513b87f50a972b78bb78bac99a6d108748f057f697f7b728b768b869f97c808b3f7
+61839d050e72fb657694b4f8d2bbd89ce2d512f7f2de13bcf7a7f84e15f82b0af76c
+f7ec15f82c0afc0afd86157a3a05137cf89e0a0e72fb657694b4f8d2bbd89ce2d612
+f7f2de13bcf7a7f84e15f82b0af74ef7ed15f82d0afbecfd87157a3a05137cf89e0a
+0e72fb657694b4f8d2bbd69ce2d512f7f2dec6d27aa313bcf7a7f84e15f82b0af71c
+f7ea15f82e0af36415133df82f0a133ef8300afc22fd5d157a3a05137cf89e0a0e72
+fb657694b4f8d2bbd29ce2d6927712f7f2decbd213b3f7a7f84e15f82b0a133bf728
+f7e715f8310aec6315f8320a1337f8330afc27fd59157a3a051373f89e0a0e72fb65
+7694b4f8d2bbd59ce2d612f7f2de13bcf7a7f84e15f82b0af724f7ea15f8340af73f
+9115f8350afc6dfd8a157a3a05137cf89e0a0e72fb657694b4f8d2bbd49ce1d612f7
+f2de13bcf7a7f84e15f82b0af72af7e815f8360af7428f15f8370afc76fd86157a3a
+05137cf89e0a0e72fb7db3f8dfbbb29de1d6a5b68bb812f7f2de13f2e94615793905
+7f51ac73bb8ba48bbc99a9d0087393057e707773798b778b83a296c20896bf779205
+f713f88615f82b0af757f7c715f8380a13fadbd01513f6f8390a13faa0860513f6f8
+3a0a13faf83b0a13f6f83c0a0e72fb657694b4f8d2bbb59ce2d6a2b68bb812f7f2de
+13b9f7a7f84e15f82b0a133df7a4f80c15133bf83d0a133da08705133bf7ff0a133d
+f83e0a133bf83f0a3f4915f8400afbf6fd64157a3a051379f89e0a0ef84283b16ca8
+f7bcb2f74a9cc3a78ed612fa67a3137ef8fed315866f7a7b628b087106868b87888a
+860888788c89058be98daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e98
+91aa08ecf88a0591a79b9bb48b08a606908b8f8e8c90088e9e898c058b2e8a676435
+8c8b1e888a8878058a868e888f8b08a506b38b987d856d0862fb67fbdb8bb4f76705
+91a79b9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+05868d88901ea506b38b977d866d0829fc8a05866f7a7b628b087106868b87888a86
+0887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891
+aa08bcf790f7da8b05fc8ef82415678b7c79887b887b8b72b48b928b8d8389818774
+72665f82088c7a05e790a9d690a591b07daf658b08f964fc37155efb790513be8051
+a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c808b3f761839d050e
+f84589b166a8f7bcb2f74a9cc3a78ed612137cf8fed315f8410afc8ff82415f8420a
+f969fc32155efb780513bcf89d0a0ef8e389b166a8f7bcb2f7449cc9a788d612f7d2
+a3137af9a5d315866f7a7b628b087106868b87888a860888788c89058be98daeb3e1
+898b1e8d8d8f9e058c90888e868b087106648b7e9891aa08ecf88a0591a79b9bb48b
+08a606908f8e901f8f9e898c058b2e8a6764358c8b1e888a8878058a868e888f8b08
+a506b38b987d856d0862fb67fbdb8bb4f7670591a79b9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a877805868d88901ea506b38b977d866d08
+29fc8a05866f7a7b628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9890aa08bdf790f7da8b051336fd39f81e
+15678b7d79887b887b8b72b48b918b8e838981867472666082088c7a05e690a9d690
+a50892af7cb0658b08f56315c2fb1b058c898c89908b958b91918c90088b9082f72c
+058a9682927a8b738b7a79877b8b878b868d8708f9a0fc04155ffb780513b2f89c0a
+0ef8da89b166a8f7bcb2f7449cc9a787d612f78cd2137af99ad315f8440a1336fd34
+f81d15f8450aed6415f8460af9a5fc04155ffb780513b28050a872b78bb78bac99a6
+d108748f057f697f7b728b768b869f97c808b3f761839d050ef8e889b166a8f7bcb2
+f7449cc9a788d6121378f99dd315f8470a1334fd3af81e15f8480af73e9115f8490a
+f96efc32155efb780513b0f89a0a0ef8db89b166a8f7bcb2f7479cc6a78bd6121c04
+6da3137af994d315f84a0a1336898c058b2e8a671e133af84b0a1336f84c0a137af8
+4d0a1336fd30f82115f84e0af7428f15f84f0af95cfc33155efb780513b2f8990a0e
+f8d289b166a8f7bcb2cc9ce2d597a77db78bb812137cf983d315f8500afce4f7ae15
+f8510a133adad1151339f8520a133aa086051339f8530a133af8540a1339f8550af9
+77fc02155efb780513b8f89b0a0ef8da89b166a8f7bcb2d09ce1d693a77eb68bb812
+1c046da2137c80f98ed315856f7b7b628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e878b087106638b7e9891aa08edf88a0590a7
+9c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a8778058a
+868e88908b08a506b38b977d856d0862fb67fbda8bb4f7670590a79c9bb48b08a506
+908b8f8e8c90088e9e8a8c058b2d8a6764358c8b1e888a8878058a868e888f8b08a6
+06b28b987d856d0829fc8a05866f7b7b628b087006868b87888a860888788c89058b
+e98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08bcf790f7db
+8b05133a80fca8f7f415133980638b7fb8538b638b706f745408133a80a086051339
+80f8170a133a80f8570a133980f88d0a404915648b6f66846886718b3fe48708939c
+05639380b090a28d969092928bb48b94a48f9c8e9b839c688b08f9d2fbc0155ffb78
+0513b8808050a872b78bb78bac99a6d108748f0580697e7b728b768b869f97c808b3
+f761839d050ef723fb83b4f74eaef787b1f71e77f29ce2d601f955f76215f8740afb
+baaa15f8750adbf86715f8760afb5afd9f15f89f0a0ef723fb83b4f74eaef787b1f7
+1e77e29ce2d601f955f76215f8740afbbaaa15f8750ae0f85715f8770afb5ffd8f15
+f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d6927712f892d379a313f800f9
+55f76215f8780afbbaaa15f8750a13fc0087f85515f8790af3631513fa80f87a0a13
+fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d69277
+12f892d379a313f800f955f76215f8780afbbaaa15f8750a13fc008ef85515f87c0a
+ec631513fa80f87a0a13fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787
+b1f71e77dd9ce2d691771213f8f955f76215f8780afbbaaa15f8750a13fc87f85215
+f87d0a13faf73e9115f87e0afbb0fd9015f89f0a0ef723fb83b4f74eaef787b1f71e
+77e09ce1d78e771213f8f955f76215f8780afbbaaa15f8750a13fc8df85515f87f0a
+13faf7428e15f8800afbbafd9015f89f0a0ef723fb83b4f74eaef787b1f71e77c19c
+e2d6a5b68bb81213fcf955f76215f8780afbbaaa15f8750acff83615f8810a13fedb
+d01513fdf7fb0a13fea0860513fd9ca89d99a08b0813fef8720a13fdf8820afb9ffd
+b3157a3a057f51ac72bb8ba48bbb99a9d1087493057f707673798b778b83a296c108
+96c07791050ef723fb83b4f74eaef787b1f71e77c59de1d7a1b78bb81213fcf955f7
+6215f8780afbbaaa15f8750a13fef72bf87d1513fdf8830a13fea0860513fdf85a0a
+13fef85b0a13fdf8840a3f4915f8850afb55fd7315f89f0a0ef80e8bc650b1f88f9c
+c9ad82d612dfa5f8c3a513b6f888f70915f8a00a1376f8a10a13b6f8a20a132efbee
+f92d15678b7d79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9
+d690a50892b07caf658b08f94afc30155ffb78051366f8a30a0ef8158bc650b1f88f
+9cc9ad82d612dea5f8c3a513b6f887f70915f70ab0f0f2a2f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008718b05
+1376f8a10a13b6f8a20a132efbfdf92d15648b6e66846787718b40e48608939c0563
+9480b08fa28e969092928bb38b95a48f9b088e9c839c688b08f961fc30155efb7805
+13668051a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761
+839c050ef8a18bc650b1f8899ccfad7cd612f78fd269a486a3f8b0a5f746a313b2c0
+f953f70915f8a40a1372c0f8a50a13b2c07a5275885a8b082a061328c0fcb0f92715
+f8860af463151321c0f8870a1324c0f8430af96afc02155efb78051360c08051a871
+b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2f761839c050ef89b
+8bc650b1f8899ccfad7bd612f783d263a58aa3f8aba5f752a313b2c0f941f70915f7
+0ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf06608
+8351268b05578b799291c008718b051372c07bfb0bf7688b05968b92918c95089cf7
+13053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb005542255608
+69fb130589818f85978b08f7638ba9f70b718b0513b2c07a5275885b8b0829061328
+c0fca3f92615f8880a1330c0639380b090a2081328c0f8890aed64151321c0f80f0a
+1324c0f88a0af970fc02155efb78051360c0f8a60a0ef88c8bc650b1f88b9ccdad7e
+d612f77aa5f8c3a513b6f91af70915f8a00a1376f8a10a13b6f8a20a132efc70f929
+15f88b0af73e9115f88c0af90efc32155ffb78051366f8a30a0ef89b8bc650b1f88c
+9cccad7ed612f77ea5f8c3a5f775a313b7f91df70915f70bb0f0f2a2f70ca8f72840
+f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05568b799291c0
+08718b0513777cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714
+eaf70af71f8bf7168bc9216ffb2176fb0055422556086afb130588818f85978b08f7
+638baaf70b718b0513b7f8a20a132ffc75f92915f86c0af7428f15f86d0af91afc30
+155efb78051367f8a60a0ef8818bc650b1f81b9ce2d59cad72b78bb812f760a4f8c3
+a5f77aa213b9c0f8fff70915f8a40a1379c0f8a50a13b9c07a5275885a8b082a06fc
+3cf8b815678b7d79877c897b8b72b48b918b8e828982867472665f82088d7a05e690
+a9d690a592af7caf658b081335c0dad1151333c0f8610a1335c0a086051333c0f81b
+0a1335c0f81c0a1333c075920578697b80778b08f943fc01155ffb78051371c08051
+a871b78bb78bad9aa5d00874900580687f7b718b778b869f96c908b3f761839c050e
+f8948bc650b1f81f9ce1d698ad73b68bb812f77aa5f8c3a5f772a313b9c0f91af709
+15f8a00a1379c0f8a10a13b9c0f8a20a1335c0fbfaf8fe151333c0638b7eb8548b63
+8b706f7454081335c0a086051333c0f8170a1335c0b28ba060b58bb68baba5a2c308
+1333c075910578697c80768b08404915648b6f66846886718b3fe58708929c056393
+80b090a28d969092928bb48b94a48f9c8e9b839c688b08f995fbbf155efb78051371
+c08051a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c908b3f76183
+9c050eb77fcb4baaf81ea8c5c5e67712f781a9f737aca0a2137ff842f76215f7eb0a
+ac9915f7ec0a13bff7ed0afbdcf763156d7e05823db251d88bbd8bddaeaaf0087498
+057b4d496e5d8b4f8b65b394be080eb77fcb4baaf81ea8efb612f842ac1378f842f7
+6215f7eb0aac9915f7ec0a13b8f7ed0afb07ef15988b999c8e978c928992828b08fb
+89067f8b7d7a897f89848d84948b080eb7fb83b4f74ecb4baaf81ea812f7c2d0c6ac
+13bcf842f76215f7eb0aac9915f7ec0a13dcf7ed0afb9ff77b15f88e0afb23fd8015
+f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8f842f76215f7eb0aac9915f7
+ec0a13d8f7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8
+f842f76215f7eb0aac9915f7ec0a13d8f7ed0afb2ef78415f88f0afb94fd8915f898
+0a0eb77fcb4baaf81ea8f704b68bb812f842ac1364f842f76215f7eb0aac9915f7ec
+0a13a4f7ed0a1334fb36f72f15132cf8a70a1334a08605132cf7ff0a1334f8a80a13
+2cf8820a0eb7fb83b4f74ecb4baaf81ea8f704b68bb812f842ac13b2f842f76215f7
+eb0aac9915f7ec0a13d2f7ed0a139afb36f72f151396f8a70a139aa086051396f7ff
+0a139af8a80a1396f8820afb8cfd3415f8980a0ef71a8aa8f76cb2f80b77c1bf01f8
+0da703f72ed315f8a90af734f76715f8040af72ff89e1570067c6453755a8b568b61
+a18ab2086f068345bb60d58bcd8bd2b59fd2080ef71a8aa8f76cb2f80b77e2b701f7
+2ed315f8a90af734f76715f8040af709f84e15988b999d8d968c928993818b08fb89
+06808b7d7988808a848d83948b080ef71a8aa8f76cb2f80b7701f759d003f72ed315
+f8a90af734f76715f8040afba2f84815f8aa0a0ef71a8aa8f76cb2f80b7701f72ed3
+15f8a90af734f76715f8040afb50f84d15808b7d858580083bfb2305898889868b8a
+8a849185938b908b8f8e8f8f08f707f70e0590908d918c8f8fa0799c778b080ef7ea
+8aa8f76cb2f80b7701f72ed315f8a90af734f76715f8040af7c1a4155ffb79057f51
+a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761839c050e
+fc10f86d9ce2d601f71af71403f76ef92015f7f00a0efb7afb92b101e8f73a03f722
+c6155afb79057f51a771b78bb78bad9aa7d0087490057f687e7b728b778b869f98c9
+08b6f761839c050efc0ff86d9ce2d601f71af71403f76ef92015f7f00a0efb20f8dc
+b68bb812f766f7a913a0f82df907151360f7fb0a13a0a0860513609da99c98a08b08
+13a0f8720a1360f8820a0efb55f8a4e6c4b68bb812f749e5d1e61398f749f8d11585
+729b77a48ba48ba49f90a490a47ba0728b08728b7376867208f73416f8ab0a13d8c2
+f7261513b8f7fb0a13d8a0860513b8f83a0a13d8b28ba060b58bb68baba5a3c30813
+b8f8820a0e72fb657694b4f8d2bb12f7f2de3fd013b0f7a7f84e15f82b0af716f7d9
+151328f8900a1330f8910a1328f8920afbb4fd73157a3a051360f89e0a0e72fb6576
+94b4f8d2bb12f7f2de13b0f7a7f84e15f82b0afb32fc2e157a3a051370f89e0a0e72
+fb657694b4f8d2bb12f7f2de13b0f7a7f84e15f82b0af776f7dc15f8930afc14fd76
+157a3a051370f89e0a0e72fb6576f904bbf702b68bb812f7f2de13c8f7a7f84e15f8
+2b0a13e8f771f7861513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a13d8f8820a
+0e72fb657698b4f8cebbf702b68bb812f7f2de13a4f7a7f84e15f82b0a1334f771f7
+8615132cf7fb0a1334a08605132cf8ac0a1334f8720a132cf8820afc0efd1c157a3a
+0513647e51ac72bb8ba48bbc99a8d1087593057e707673798b778b83a297c10895c0
+7791050ef7188bb265a6f7bfaddd77f74bb36fa712f6d0f805acf3a6133780f967f9
+1a15133b80f8280a137780f8290a13bb80f82a0afcd4f764157c82827f897f8a868b
+868e8708d8fb0f058d898d8b8f8b8e8b8f8c8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b858b84898588080ef7078bb265a6f7bfaddd77
+f74bb36fa712f8a3adf3a61337f955f91a15133bfb948b3d8a051377f8250a13bbf8
+260afc7ff76e15808b7d848481083cfb2305898889868b8a89839185938b908b8f8f
+8f8f08f708f70d058f918d908c908f9f7a9d778b080ef7878aa8f7bcb2f793a701f2
+d003f90bd315f8470afcbcf820157d818280897f8a868c868c8708d9fb0f058c898e
+8a8e8b8f8b8e8d8f8d8e8e8d8e8c8e088c8a8c8b1e6af726058a91888f868e868e86
+8c868b858b84898488080ef77e8aa8f7bcb2f793a701f903d315856f7a7b628b0871
+06868b87888a860888788c89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2e8a6764348c8b1e8a8a8778058a868e888f8b08a606b28b987d856d0862fb67fb
+da8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8778058a868f888f8b08a606b28b987d846d082afc8a05856f7b7b628b08
+7006878b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b
+087106638b7f9891aa08bcf790f7da8b05fc7af82615808b7d858480083bfb23058a
+8889868b8a89849184938b8f8b908f8f8f08f707f70e0590908d918c8f8f9f7a9d77
+8b080ef7e18ab165a8f7bcb2f793a712fa08a31378f8a4d315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e700664
+8b7e9891aa08edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda8bb3
+f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6863358c8b1e89
+8a8778058a868e88908b08a506b28b987d856d082afc8a05856f7a7b628b08710686
+8b87888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b087106
+648b7e9891aa08bcf790f7db8b05f7657f155efb790513b88051a871b88bb68bac9a
+a7d00873900580687f7b718b778b869f96c908b3f761849c050efb73f86c9ce2d592
+7712f7d8d379a313c0f771f91e15678b7c79887c877b8b72b48b928b8d8289828674
+71665f82088c7a05e790aad690a50893af7daf658b08f3641513a8f8ad0a13b0f8ae
+0a0efb73f8699ce2d5927712f71cf7b013d0f770f91b15678b7c79887c887b8a72b4
+8b928b8d828982867471665f82088c7a05e790aad691a50892af7daf658b0813b0f7
+3e9215818b7987837b084afb2f8a8a05888b81971e8e8b8f8c8e8f08f4f71f058d8f
+8d8f8c8f088d9688a16e8b080efb85f8269ce2d6a5b68bb812f73ef7a913c8f7b5f8
+d915678b7c79887b877b8b72b48b928b8d838981867471666082087a07e790aad690
+a50893af7db0658b0813e8dbd01513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a
+13d8f8820a0efba67fc0f82577d9c5e67701f720a9f76da203f79af84e157c067e8b
+7b80687f778565857c89088a6f059d8f978c988b998b928484650854fb95057e50a4
+6ac38bb28bbfafabb9087d9e0573736c736b8b788b8a9d90a0087bf8cd15f8af0a0e
+fba67fc0f82577f709b701f700f7b903f797f84e15f8580af751f85f15988b999d8d
+968d928993818b08fb8906808b7d7988808a848d83938b080efba67fc0f82577f708
+e512f71ce667d0b0e613e4f797f84e15f8580a13f45cf88b1586729b77a48ba48ba4
+9f90a40813ec90a47b9f728b08738b7277857208f7351686729b77a48ba38ba49f91
+a490a47b9f728b728b72778672083bf764157c828280897e8a868b878d8708d7fb0f
+058c898d8a8f8b8e8b8f8c8f8e8e8d8d8e8c8e8b8c8a8c8b8c086cf726058b90878f
+868e878e868c868b848b85898488080efba67fc0f82577f5e601f717e6d1e603f797
+f84e15f8580a57f8821586729b76a48ba48ba4a090a491a47a9f738b728b72778572
+08f73516f8b00ad5f76915808b7d8484810839fb2305898889868b8a8a839085938b
+908b908f8e8f08f70af70d0590918d908c908f9f7a9d778b080efba67fc0f82577f7
+18b68bb812f700f7b313c8f797f84e15f8580a13e8f71af8991513d8f8a70a13e8a0
+860513d8f7ff0a13e8f8720a13d8f8730a0efb917fc0f82577f5e6c4b78bb812f727
+e6d1e513e6f7a8f84e157c067e8b7b80687f778566857c89088a6f059d8f968c998b
+988b938483650854fb95057e50a46ac38bb28bbfafabb9087d9e0573736c736b8b78
+8b8a9d90a00856f88215f8b00af7351685729b76a48ba48ba4a090a491a47b9f728b
+728b727786720813f6c1f7261513eef8830a13f6a0860513eef85a0a13f6b18ba05f
+b58bb68baca5a2c30813eef8840a0efb958aa8f8e2a7b9bf01f742a703f7c3f8d215
+f85f0af782f9721570067d6453755a8b085660a1b21f6f068345bb60d58bcc8bd2b5
+9fd2080efba08aa8f8e2a7ddb701f7bef8d21591a79c9bb48b08a506908b8e8e8c90
+088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506b28b987d85
+6d0829fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9891a908f760f92515988b999d8d96
+8d928893818b08fb88067f8b7d7989808a848d83948b080efb3a8aa8f8e2a601f825
+f8d21590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e89
+8a8778058a868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b08700686
+8b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106
+638b7e9891a908fb44f91d157c818280897f8a868c868d8708d8fb0f058c898e8a8f
+8b8e8b8e8d8f8d8e8e8d8e8c8e8b8c8b8c8a8c086af725058a91888f868e868e868c
+868b858b84898588080efb438aa8f8e2a701f81cf8d215f85d0a2bf92215808b7c85
+8680083afb23058a8889868b8a89849184938b908b8f8f8f8f08f707f70e0591908c
+918c8f8fa07a9c778b080efb76f86c9ce1d6927712f7d8d379a313c0f778f91e1564
+8b6e66836886718a3fe48708939c05649380b090a28d969192928bb38b96a48e9c08
+8e9b859c678b08ec641513a8f8ad0a13b0f8ae0a0efb7af86b9ce2d601f72bf7ac03
+f777f91e15648b6e66836786718a40e48608939c05639481b090a28d959093928bb4
+8b95a48f9b8e9b849d688b08f7418f15828b7887847b0849fb2f8a8a05888b81981e
+8d8b8f8c8e8f08f4f71f058e8f8d8f8c8f8d9687a16e8b080efb61f8859ce2d6a1b7
+8bb812f75cf7a813e8f822f97a1513d8f8830a13e8a0860513d8f85a0a13e8f85b0a
+13d876920577687b81768b083f4915658b6d66846785718a3fe58708929c05649381
+b18fa28e959093928bb48b95a38f9c8e9b849d678b080e4c7fbaf7e1d557bfc5c5e6
+7712f78ea9f76da213def893f78d15f86e0a13bef86f0afb7bf82415f8af0a0e4c7f
+baf7e1d557bfecb71213d0f893f78d15f86e0a13b0f86f0a79f7b615978b999d8e96
+8c928993828b08fb89067f8b7d79898089848d83948b080e4c7fbaf7e1d557bfd6e5
+12f78ce667d0b0e613d2f893f78d15f86e0a13b2f86f0a139afb9bf7cd1586729b77
+a48ba48ba39f91a408139690a47b9f728b08728b7277867208f7351685729b77a48b
+a48ba49f91a48fa47b9f728b728b73778672083bf764157c828280897e8a868b878d
+8708d6fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e6cf726058b9087
+8f868e868e878c868b848b84898588080e4c7fbaf7e1d557bfe1e612f798e6d0e613
+dcf893f78d15f86e0a13bcf86f0afb8ff7d81585739c76a38ba48ba4a091a390a57b
+9f728b728b7277867108f7341686739b76a48ba48ba4a090a391a57a9f738b728b72
+77857108d6f76915808b7c8585810838fb23058a8789868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080e6a80a9f815b1de9ce2d601
+f3fb6815f8b10af846f84e15f8b20a6af88d15678b7c79887b877b8b72b48b928b8d
+838981867471665f82088c7a05e790aad690a593b07daf658b080e6a80a9f815b1ce
+9ce2d601f3fb6815f8b10af846f84e15f8b20a6ff87d15f8590a0e4c7fbaf7e1d557
+bff703b78bb81213c0f893f78d15f86e0a13a0f86f0a139055f7f0151388638b7fb8
+548b628b706e7354081390a086051388f85a0a1390b18ba05fb58bb78baaa5a3c308
+1388f8620a0e4c7fbaf7e1d557bfd2e6c4b68bb812f78ee6d1e613d3f893f78d15f8
+6e0a13b3f86f0afb99f7c91586729b77a48ba48ba49f90a491a47ba0728b728b7276
+857208f7351686729b77a48ba48ba49f90a490a47ba0728b728b7376857208139bc2
+f726151397f8390a139ba086051397f7ff0a139bf83b0a1397f83c0a0e848aa8f8e2
+a7b9bf01f7cba703f7a0d315f8b30af7a5f8a01570067c6453755a8b085660a1b21f
+6f068345bb60d58bcc8bd3b59fd2080e848aa8f8e2a7d4b701f7a0d315f8b30af785
+f84a15988b999d8e978c918993818b08fb89067f8b7e7a887f8a848d83948b080ef7
+0e8aa8f8e2a701edd003f821d315856f7b7b618b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b6f771
+f75ff7ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b
+1e8a8a8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df7
+7f05869988948d918d94918f9f8b08a7068f8b8e8f8c8f088f9e898c058bfb008a85
+7e2e8c8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f706
+fbb905fbcef847157b828380897f8a858b878e8708d8fb0f058c898e8a8f8b8e8b8e
+8c8f8e8e8d8d8e8b8e8c8c8a8c8b8d086af725058a90888f868f868d868d868b848b
+85898587080ef48aa8f8e2a701f810d315866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+b6f771f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e
+3c8c8b1e898a8777058a888c87908b08a806a08b8f8889808a868682807d08fb40fb
+7f2cf77f05869989948c918d94928f9e8b08a706908e8f8f1f8f9e898c058bfb008a
+857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f8897839280927708f7
+05fbb905fb7df85015818b7d848581083bfb2305898889868b8a89839285928b908b
+8f8f8f8f08f707f70d0590918e908b908f9f799d778b080eaf8aa8f792acf7789dc5
+a473ad84d61213e8f75ed215856f7b7c628b087006868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891a908b6f77105a1
+849c88af8bf74a8bd6f70b9be097c67cf701fb4d8b718b4f8957880813f05a895088
+7c8b08877705888b87921e8f8ba38d948b9c8ba585846508e1aa1513e8a092b8929e
+8bd18bcf7272fb1376fb004b5e298b728b688d818e0813e4fb36f82615658b6f6684
+6785728c3fe48608939d05639380b090a28d969092928bb48b94a48e9b088e9c849c
+678b080efb4ef8a4e601f745e6d0e603f745f8d115f8b40af73416f8ab0a3cf76415
+7c828280887f8a858c878d8708d6fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c
+8e088b8f6cf725058a90888f868f868d868d868b858b84898587080efb55f8a4e601
+f745e6d0e603f745f8d115f8b40af73416f8ab0ad5f76915808b7d8585800838fb23
+05898889868b8a8a849185938b8f8b8f8e8f8f08f70af70e0590908d918c8f90a079
+9c778b080efbd6f8bcf74501f75eed03f777f968157b828380887e8a868c878d8708
+d5fb0f058d898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c8e8b8c8a8c8b8c086df726058a
+90888f868f868d868c868b858b848a8587080ef723fb83b4f74eaef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960afb0afd7815f89f0a0e
+f723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f8750afb0afbcc
+15f89f0a0ef723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f875
+0af716f85315f8970afb8cfd8b15f89f0a0ef7237faef787b1f71e77f704b68bb812
+13e0f955f76215f8780afbbaaa15f8750a13f0f710f7e81513e8f8b50a13f0a08605
+13e8f7ff0a13f0f8b60a13e8f8b70a0ef723fb83b4f74eaef787b1f71e77f704b68b
+b81213f0f955f76215f8780afbbaaa15f8750a13f8f710f7e81513f4f8b50a13f8a0
+860513f4f7ff0a13f8f8b60a13f4f8b70afb86fd2015f89f0a0ef7627fadf8eead01
+f9aef7dd15b2f75afb0ff717fb3b8bfb478bfb34fb2c64fb5865fb59f707fb11f740
+8bf7538bf72af721b2f75c08fba2f7bb15f86b0afc21ea157c828380887f8a858c87
+8d8708d8fb0f058d898e8a8e8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e69f726058a90
+898f858f868d868d868b858b84898587080ef7377fadf8eead01f984f7dd15b2f75a
+fb10f717fb3a8bfb478bfb35fb2c65fb5864fb59f707fb11f7418bf7528bf72bf721
+b2f75c08fba3f7bb15f7138be42162fb6469fb47fb01fb01fb078bfb178b35f705b0
+f754b4f766f712e2eb8b08fbb6f015808b7d858580083bfb2305898889868b8a8984
+9284928b908b908f8e8f08f707f70e0591908d918b8f90a0799c778b080ef7658bc6
+f8c9ad12e7d078a5f8c3a413d8f8c1f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb5a8bfb16fb2971fb1872fb14cb2cf066088351268b05578b799291c008718b7b
+fb0bf7688b05968b92918c95089df713053ac970c8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb00554225560869fb130589818f85978b08f7638ba9f70b728b
+05795275885b8b082906fc3bf9281513e8f8aa0a0ef72e8bc6f8c9ad01e2a5f8c2a5
+03f88af70915f70ab0f0f2a3f70ca7f72841f719fb5b8bfb5a8bfb17fb2972fb1872
+fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c95
+089cf713053bc970c8a0f704a5f714eaf70af71f8bf7158bc92170fb2176fb005542
+25560869fb130589818e85978b08f7648ba9f70b718b057a5275885a8b082a06fbb4
+f92e15818b7c848581083bfb23058a8889868a8a8a839185938b908b8f8f8f8f08f7
+07f70d0590918d908c908f9f799d778b080ef7d98bc650b1f8dead12cba5f8c3a513
+b8f873f70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb2971fb1872
+fb14cc2cef66088451268b05578b789291c008718b0513787cfb0bf7678b05968b93
+918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb2176fb
+00564225560869fb130588818f85978b08f7648ba9f70b718b0513b8f8a20af7cff7
+91155ffb780513788051a871b78bb78bac9aa6d0087490057f68807b718b778b859f
+97c908b3f761839c050efbfef861f74b01f720f72b03f796f91815808b7d85858008
+38fb2305898889868b8a8a849184928b908b908f8e8f08f70af70e0590908d918c8f
+8f9f7a9d778b080efc1df8659ce1d701f72af70703f776f91815658b6d6583688671
+8a3fe48708939c05649380b090a28d969192928bb38b96a48e9c8f9b849d678b080e
+4d0ef84a0e4d0ef84a0efb790efbcc0efc1f0e4e0efc1f0efc620efcbc0e0efb75f7
+80c101def7a303f7d4f78015f8b80a0efb78f780c101def7a303f7d4f78015f8b80a
+0efb0ff7b3bb01f846f7b315978b9da08d978d948991818b08fbe0067f8b7a7a887b
+89828f85958b080e70f782bc01eaf7b315825af85c8b94bc050ef749f782bc01e0f7
+b315825af93f8b95bc050ef7fdf782bc01e0f7b315825af9f48b95bc050efbaff73a
+fb5115f75ffaaa638bfb5ffeaa054c16f760faaa638bfb5ffeaa050e40fb2eb7c9b7
+01f861fb0215fc728b835ff8728b05a7f72a15fc718b835ff8718b050efbb9f887e6
+01f764bb03f7d5f8b915f8b90a0efbb9f8f3e601f7a0bb03f75ff91c15f8ba0a0efb
+b98fe601f72cbb03e2b8158b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdcccc82ff0002e667fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efbb9f8f1e801ff00bf999aaf03f7acf94e15f8bb0a0efb4ef8
+87e6f705a201ff00a68000bbf712bb03ff01c58000f8b915f8b90afb4216f8b90a0e
+fb4ef86ba2f705e601ff00fbcccdff002ffffff712bb03ff00bacccdf91c15ff0000
+0001739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e666
+fffff84cccff0007cccdfffff9b334ff0073ffffa0a7e58bbf08b374a3ffffe10001
+6d6e786c1eff00adffff168b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdccce82ff0002e666fffff84cccff0007ccccfffff9b334f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efb4efb19a2f705e601ff0075e666bbf712bb03ff0034e666b7
+15f8bc0af74216f8bc0a0efb50f86aa4f702e801ff00a8999aaff70caf03f795f94e
+15f8bb0af73016ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd9
+4cccff00334cccfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff
+0027ccce8bff001666648bff0013999cff000f3332ff000d3330ff001b3334ff0002
+e668bcff0007b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6
+669b701e0ea6f81beff7627701f7909df712f503f8e7f87f15498b517d5970aebca5
+c99dd78c928c908b918b9489938793869682917f8b7f8b7f858080087f7e837d877b
+815f86648b678b728d7591766aa35799458e7c8b7d867f817d81847f877d088a878b
+878b888b818e849184938297869a8bcf8bc598baa576326e4d65698d7c8c7a8b7808
+8b3276fb1962fb47089d06bbf765bdf72bbfe77fa085a68bad8ba890ae95b2b071bf
+7ecd8b9a8b99909794989493978e99088c8f8c8f8b8e8b948794859284957f907c8b
+080ea68beef7b8eff7627701f778f4caf503f88dee154a8b517e58719fdea8c9b3b3
+7fa085a68bad8ba890ae95b2b071bf7ecd8b9a8b9990979408989493978e998c8f8c
+8f8b8e8b9487948592839480907c8c498b517d5970aebca5c99dd7088c928c908b91
+8b9489938793869682917f8b7f8b7f8580807f7e837d877b815f86648b67088b728d
+7591766aa35799458e7c8b7d867f817d81847f877d8a878b878b888b818e84918408
+938297869a8bcf8bc598baa576326e4d6569967891718b6b8b6d866781616ba25797
+448f087d8b7d867e827e82837f887d8a878b878b878b828e83918593819786998bce
+8bc598bca6086758714d7a418a858a858b858b838d828f84917f9485978b978b9791
+9597979793988e9c0896b78fb38baf8ba38aa2869fb170bf7ecc8b9a8b9890989598
+9493978e998c8f8b8e8b8f088b9488938592839480907c8b080efb66f74df79101f7
+0af79703f7a8f84a157a8b7a887a847b847c827d807c807f7d817c807d847b877a89
+818a818b828b838b858d84088d7b917e947f947f9782988499849a889d8b9c8b9d8e
+9c919c929a94999799969799969a08959b929b8f9c8d958c958b948b928b92899188
+9a8599829683977f947e927d927b8e798b080efb4ef72df7bc01f700f7be03f700f7
+2d15f7bef728fb79f728050efbea80f501caf70003f711ea152b0a0efb1d80f501ca
+f700ecf70003f711ea152b0af761162b0a0ef75080f501caf700f731f700f730f700
+03f922ea152b0afb9c162b0afb9d162b0a0efc1ff7a8ee01f6f103f701f7d9158a87
+8a878b888b759c7ba18ba78ba6a192a68b8f8c8f8b8e8ba17b9c738b708b7075856f
+080efc290ef7e378a8f764abbaa8f72cb09dab8f7712f717bef71caab2bef71ca9ca
+bff71ca913f3f0f964d815f8bd0a579915f8be0afb797d15f8bf0a589915250abbf8
+3c15260a13fbf0270a13f7f0280afb92fb0f1513fbf0290a0ef8ed78a8f764abbaa8
+f72cb09dab8f7712f717bef71caab2bef71ca9cabff71ca9b1bff71ca913f3fcfa64
+d815f8bd0a579915f8be0afb607d15f8c00a579915f8be0afb797d15f8bf0a589915
+250abbf83c15260a13fbfc270a13f7fc280afb92fb0f1513fbfc290a0efbccf898f7
+4b01f73df72903f7b0f94f15f8c10a0efb80f89bf74a01f71bf7ae03f813f9511580
+8b7d858580083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e05
+90908d918c8f8ea07a9c778b08fb198915f8c20a0e61f898f74b01f8b4f94f15f8c2
+0afb1616f8c10afb1616f8c10a0efbd1f8a6f74601f750ef03f768f95315f8c30a0e
+fb57f89cf74b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb
+0f058c898e8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a9188
+8e868f081360868d878d858b08858b8489858708f70d90157c828280897f89858c87
+8d8708d9fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90
+888f858f0813a0878d868d868b848b85898587080e4ef8a4f74601f7cbcf03f86ff9
+50157c828380887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d
+8e8c8e8b8c8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb
+1f8e157c818380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e
+8d8e8b8d088b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f8
+c30a0efb62a176f8417701f5f79d03f807f84215303a354a3b5a08836405c667c84a
+c92d0895c10569d167c165afc2b4c3c1c7cd080efb62a076f8417701cff79d03cf16
+e6dce1ccdcbc0892b20551b04ecb4de908805505ae45af55b167546252565048080e
+985bf6f702f6f0f501c5f6f7bbf503f76e9015856e9f73a88ba98ba7a391a891a977
+a36e8b6d8b6f73856d08f786f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e
+8b6f73856e08fc268c15856d9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e
+08f785f76315856e9e73a98ba88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea7
+15ff0086199affff106666ffff1fe666ffff13999aa078ff00d96666ff00e5cccdff
+008e999affff013333a79dffff6d8000ff01063334ff00fb8000ff0109cccc769dff
+ff0b3334fffefdccccffff7dccccff00e93333050efb2a81f6f8c57712cef689f703
+6bf689f70313c4f83df92815758b677980547e4594698332843d7f3189778a858c84
+968b958b90938f978e9999c7acf608a6e1a3b598cc0895bd72a2708b0813c8fb42fc
+fd15866e9e73a88ba98ba8a390a891a977a36e8b086e8b6e73856d0881f8fb1513d0
+758b677880557e4594688333843d7f3189768a858c84968b958b90948e968f9999c7
+acf70008a6e1a3b598cc94bd73a2708b0813e0fb42fcfd15866e9e73a88ba98ba7a3
+91a891a878a36d8b086e8b6e73856e080efb0e7ff5f81876f7597712f720d95af568
+a913f4f76af8ae15ff0003cccdff00109998a3ff0011199cff001f9999ff000a1998
+fffff2e666ffffbc199cff0008999affffdab332fffff8199affffa86666843e7f30
+89778a858c84968b958b90938f97ff0001b334ff0008199aff00058000ff00176666
+ff000a9998b208ff00048000ff00086666ff00054cceff00088000ff00066666ff00
+08999a9799a29aa59ac0aac7b699d3ff000c199aff003f1998ffffd7199aff002de6
+68ffffb2ccccff000b4cccfffffd3334ff001dccccffffecccccff000de668768bff
+ffed199a8bffffe43332fffff31998fffff13334ffffdd4cd008ffffe2cccd85ffff
+e5800081ffffec3333fffff29998697571738568846ba3849b8b9e8ba1968fa08e97
+8990888f0888908a908d990813e85efc8515866e9e73a88ba88ba8a390a891a878a3
+6e8b086e8b6e73856e08ff00d5199aff0216800015a6ffffece668ff000de666ffff
+de199885ffffdf80008261786c5d6afffff38000fffff7199afffff53334fffff733
+32fffff6b332fffff733348e95ff00033334ff000a8000ff0003666696ff0019b334
+ff0051b334ff0017ccccff002cccccff000c999ac7080efb1ef918b701f89ef94415
+fbf48b825ff7f48b050eb6f2c4f7bbc401f767c4f701c4f3c403f8adef15696b5e84
+85678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853ac8b978b9a958e9b0891
+078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b8c8b948698778b6e8b79
+70617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b7d7c88798b888a888b88
+8b7a93788b73088b888b878a89689a81a76e8b768b817e897f08860775a486b11e98
+8b978a968908fbda16686b5f848467088707809381981eab8b9abea8b19a6a8753ad
+8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b8b08a98ba99190a5088e
+07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d8b9b81927d8b7c8b7e7c
+87798b888a888b88088b7a93788b73088207689a80a76e8b778b807e897f08860775
+a486b21e988b978a968908f73af7f415686b5f858466088707809381981eab8b9abe
+a8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8669475a89b8e9a8c9b8b08a9
+8ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8e8b9a81
+927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b778b80
+7e897f08860775a486b21e988b978a9689080efc99f774f8ed15fc5efd23b48bf85f
+f923050ef77080f5f8aaa912f731d455f700f71bd9afd455f700f71bd913e9f731f8
+9c153c0adcfc3d1513d92b0a13cdf7bbf83d153c0adcfc3d1513cb2b0a0eac80f5f8
+aaa912f726d455f700f71bd96bf70165a981f70bfb0af70a13e800f726f89c153c0a
+dcfc3d1513d0002b0af778561513c400f8c40af738f90515200a13c100210a13c080
+220a13c200230a13c100240a0ea57ef5f8aaa912e2f70165a981f70bfb0af70aaad4
+55f700f71bd913c280f7dcf89a153c0adcfc3d1513c1802b0afbd5561513e080f8c4
+0af738f90515200a13c880210a13c480220a13d080230a13c880240a0efb0ff7d8e0
+a77701f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb542dfba68b8a088d
+85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c728b1e6785658765
+8b4f8b4f94549e080eb4fb7ea7f839f8436da412f7faf7ce13b0f726fb6315838c84
+8d898e859289938e978c948d958d9508f736f951058d968e958d929097919492918f
+8e918c938c948b92888e878f848d818a818a858a81887e08fb35fd4c05887e898189
+85867f858283850883858588858c08487115f70a8bf68a90a0058c908a8d878b086d
+067e8c828d888f869289948d968d948d958c9508e1f8060513d09884a986ab8bc68b
+c0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e4e8b08718b4a8a65
+880813b0808a7f8b7f8b0868698e8b1f13d0fb018d86760589878d888e8b08a90699
+8b93898e8691848c828a808a868981887e08fb35fd5005887e88818985877f858383
+848687828a7d8a086d06888b88888a87088676050efc22fb08a0eaebf76fed01a6ab
+cef003df3915858f85948597879589968a978a958c928c918c8f8c8e8d8f95849488
+938b998b968d9592089a9593998f9b8e978894869484977e907b8b818b8188838681
+86818183807e7c8479867808898089808b818b888c888b878c798f7e9180927e9382
+958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108f71bf87315839681
+907d8b7e8b7f857e817f818480887e8a878b878b888b828d84918492819587998b08
+998b97909794979592968e988c8f8c8f8b8f8b9388938691080efb92f7fba3f7ada3
+01f7bdf92c15f8c50a44fbc515f8c60a0efc03f801a2f767a0c8c501ff00e4b333ff
+003b999903ff00ffb333f8d415ff000bb332ff0034e66894ff00081998fffff2ccce
+8bffffee666684ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b333
+8a8d8b08ff0014cccd8a05ff00084cccff0004cccdfffffd3334fffff319981f8bff
+fff8999cfffffe6667fffff56664fffffc9999fffff0b334086efb1705fffffb1999
+75fffff9999985ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc
+88088779058bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd
+66668d898b08ffffee33338c05fffff1ffffff0000ccccfffff8cccdff000333348b
+ff000c80008bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff
+011dcccc15fffffffffffffff38000ff0008b333fffff5b334ff000e999a8b08ff00
+118000ff0012ccccff000f9998a0ff000b4cd0fffff9b334ff000a1998ffffeecccc
+ffffe3199afffff8cccdffffe59998fffff733341f0efb92f801a8d1adf7527701ff
+0079cccdff00fc333303f7bdf91215b00a5ffb5a15f8c70a0efb92f7fba6f739a6d1
+ae01ff0126e666ff0039199a03ff0126e666ff01f16666158bffffdf999afffff699
+9affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b8292
+8494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff0035b3
+337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4ff00
+188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffffbe80
+008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff
+0030999a8bff000b4cccffffe519988bffffe54cce080efb92f7fba3f729a3f7059e
+01ff00903333ff00336667ff0077e666ff0038999a03ff013b8000ff01e34ccc158b
+ffffe1999afffff73334ffffe4199afffff2b332ffffed999afffff5b334fffff1b3
+32fffff0e666fffff6b334748bffffe980008bffffe5199aff000ecccc8bff003133
+348bff00104ccc8fff001dccceff00066666ff000fe666a49ca291998bff0026cccc
+8bff0008b334ffffe680008bffffe8cccc08ff000b4cccffffa44cce15ff001e199a
+ff001a6666ff000f3334ff001a4ccc8bff0023ccce8bff001d4cccfffff36666ff00
+2e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6
+b3343dffffb59998ffffdfcccdffffb7b334fffff5cccd74fffff81999ffffe36666
+8bffffe3199a8bffffb8b334c0ffffeaccccff002acccd8bff0024999a8bff001ce6
+6699ff00154cccff0012999a080efb92f919b18b9012f73df78a13a0f78cf91915f8
+c80a1360f8c90a13a0fb42061360f8ca0a0efb92f7fba5f7a9a512ff007ecccdff00
+3280008fbeff004b9999ff0039e666ffffdd3334ff002f333413f4f7b6f92a15ff00
+16199aff0012e66680ffffeae6681f8bffffde4cccffffdd199affffdee664ffffed
+e666fffff6e66808799505ffffe88000ff000e3334fffffbcccdff0010cccc8bff00
+0d4ccc08ff00274cccff001ae667ff000e6668ff001ecccc1e93fb0b15ff0046e666
+afff00094cceff001999988bff001b4cd008ff0021e664ffffda9998ff00163334ff
+ffd73334ffffc78000ffffc1cccdffffdfccccffffc64ccc1e8bffffe96668ff000b
+666677ff001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffff
+dbe6688bffffcb800008ffffcd4cccff003899997eff0027999a1e13f8eaff002fcc
+ccff003accccff002e4cce1f8bff0017999afffff44cceff00156666ffffe9e666ff
+000de666083b16a57d05ff001780007eff00066666fffff066668bffffefccce08ff
+ffc8e666ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999a
+ff002133321e8bff002b199aff00366666ff002ae666ff00144ccdff000a3334080e
+fb92f7fb9ef705a4f728a301ff00a2cccdff0037e666ff00774ccdff0037999a03ff
+00dab333ff0234e66815ffffffffffff00324cccff0014e667ff0030ccccff003166
+668bff0016999a8bff001a66667c8bffffcecccc8bffffef3334fffffa8000ffffe4
+9998fffffc8000ffffee6668717a74867d8b08ffffd94ccdfffff76666ff0019b334
+ff001733341fff004b4ccdff007b199815ffffaae666ffffd1e667ffffba4cccffff
+cbb334ffffe29998ff000c8000ffffd26668ff0049b3331fa48baa9c9d9972515a48
+fb057808877805ff0059199aff0006e666ff00413332ff00248000b6ff002d4cceff
+00284cceff002a8000a3ff002bcccc8bff003ccccc08ff00486668ffffc78000ff00
+14ccccffffd4e6661e0efb92f87cb201ff00883333ff0104999803ff0122ccccf8a3
+15ff0017cccef6648bffffe8333320208bfffff7666664f68bffffe8800021ff0027
+00018bff00178000f5f58bff00089998b2050efb92f87cb201ff008f3333ff00f699
+9903ff0185ccccf8a315ffff1200018bfffff7666664ff00ee00018b050efb92f86e
+adb2ad01ff0090199aff00fdb33203ff017d999af89015fb7a8bfffff8800069f77a
+8b05ff0017b332f615ffff1a00018bfffff8800069ff00e5ffff8b050efc00ff0091
+cccdff0032666603ff0091cccdff01d9199a15ff00000001ffffcab332ff00178000
+ffffcf4ccec7ffffd2e66608ff001133339505ffffdc199aff0031b334fffff19999
+ac8bff00284ccc8bff0012199aff0002e667ff0013999aff00053333ff00174cccff
+00106666d5ff001ce667b8ff004ee666ce08fffff380009605ffff9e999affffc9b3
+34ffffb733332f8bffff9e6666080efc00ff00e74ccdff0032cccd03ff011a199af8
+c6158bff003ab334ffffe41999ff003a6664ffffca3333ff0027e66808ffffee999a
+8005ff0021cccd5cff000e8000ffffdbcccc8bffffd5199c8bffffedb330fffffd4c
+cdffffec8000fffffb1999ffffe9e668ffffef666740ffffe9cccc66374308ff000c
+cccc8105ff006f4cccff003eccccff0039199aff00534cce8bff0057e666080efb7c
+f800a2f768a07aad12ff015d3334ff0033199813b0ff00f4e666f8de15ff0009e667
+ff002cccccff00079999ff00063334fffff3cccd8b0813d0ffffee666784ffffd04c
+cc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014cccd8a05
+ff00084cccff0004cccdfffffd3334fffff319981f8bfffff8999cfffffe6667ffff
+f56664fffffc9999fffff0b33408ffffe24ccdfb1a05fffffb4ccd76fffffe666688
+ffffe74ccd88fffff6cccdfffffeb33488ff00006666fffffee666fffffae6660887
+7905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff0000e666
+8ffffffd33338c898b08fffff533338c05fffff34ccdff0000ccccfffff84ccdff00
+02b3348bff000c80008b8eff00006666ff0003b3348cff00044ccc08ff001fb333f7
+230513b0ff00181998a2ff0019e668a1a08bff00184ccc8bff000f3334fffff59998
+8bffffe2e6688b83fffffeccccfffff68000fffffd999a8008ffffe56666fb0c05ff
+fffae66674fffffa800089ffffea999a8908fffff4cccc8a05888bfffffe4cce88ff
+ffff999a89088779058bff002733328ca4a3ff0025ccce8a8b1e8f9d05ff00024ccc
+ff000a6666ffffde8000fffff633348bff001566668b8eff00008000ff0003999a8c
+ff0004666608ff001cccccf716058eff000d9998ff00018000ff000bb3348bff000a
+4ccc8bff00286668ffffe9999a9bffffdb4cce8b678bffffd74ccc68ffffee33337a
+080efb92fb09a3f7ada301f758f75015f8c50a44fbc515f8c60a0efb92fb03a801c0
+f75903f73bf72515978b8b82846b086efb160580586b8863898483887c8e85a98cab
+8bae8bac8b9f8ba98a91928e998993698d778e96be08c0f783058790838985885970
+6f7f587a887f8b829285a6949f91988b080efb92fb04abce77f76ba901d8bf03edf7
+0315f8cb0a0efb92fb0aa9f71ca6f6a912dabfff0051199aff003f6666ffffc88000
+ff003c4ccc13f4f770ff009c999a158bffffe7e666fffff0e666ffffeb8000fffff1
+6667fffff38000fffff0cccd7effffec1999fffff7999affffe8cccdfffffce66686
+82887f8f85938c908c928b0813f8ff00156666ff002ab334fffffce666ffffd7199a
+1f8bffffe26666fffff09999ffffe63334fffff3199a7effffebcccdffffebb333ff
+ffe5e666fffffab333ffffed80008b6b8b84928896889782907d8b7f8b7d82887eff
+ffffb333fffffe6666ffffffcccdfffffe999a8bfffffe800008ffffe38000ff003e
+cccd81ff0018b3331eff002cb3338bff00294ccdff000e6666ff001e4ccdff0018b3
+34ff001b4ccdff00163333ff0016e666ab8bff002acccd8bff002b8000ffffdd4ccd
+ff0014ccccffffe43333ff0002999a0813f4ff00233333ff0011199aff00201999ff
+001880008bff002666668bff001db333ffffe4ccceff00114ccdffffd1e6668b348b
+665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08ff000e199aff0011e666ff
+fff9cccdffffeccccd1f0efb92fb03a8d1ad01ff0028ccccff00fc333303f76cf736
+15b00a5ffb5a1582627d8863898483887c8e85a98c998bae8ba98b9c8ba98a91928e
+998993ffffda199aff00023333fffff51999ff00086667ff0007cccdff0023666608
+90a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a827d7f80815f625357
+5e55868687858785fffffe199afffffc3333fffffcb332fffff980008bfffffa3333
+08fffff9999a8ffffffa8000ff000e33341ef70a060efb92fb09a6f739a6d1ae01ff
+00cce666ff0039199a03ff00cce666ff00156666158bffffdf999afffff6999affff
+e4999afffff1cccd77fffff2800078ffffec3333fffff36666708b758b8292849485
+9384927e8b08fffff64cccffffee6667fffff7199a7cffffe9e666ff0035b3337fff
+0020999a1fff0020e6668baa97ff0018e667ff0013199aff0020b333a4ff00188000
+ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024b333ffffbe80008b7d
+8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff003099
+9a8bff000b4cccffffe5199a8bffffe54ccc080efb92fb09a3f729a3f7059e01ff00
+253333ff00336666ff0077e667ff0038999a03ff00d08000ff00074ccd158bffffe1
+999afffff73333ffffe4199afffff2b333ffffed999afffff5b334fffff1b333ffff
+f0e666fffff6b333748bffffe980008bffffe5199aff000ecccd8bff003133338bff
+00104ccd8fff001dcccdff00066666ff000fe666a49ca291998bff0026cccd8bff00
+08b333ffffe680008bffffe8cccd08ff000b4ccdffffa44ccc15ff001e199aff001a
+6666ff000f3334ff001a4ccd8bff0023cccd8bff001d4cccfffff36666ff002e999a
+ffffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6b3333d
+ffffb5999affffdfccccffffb7b333fffff5ccce74fffff81999ffffe366668bffff
+e3199a8bffffb8b333c0ffffeacccdff002acccd8bff0024999a8bff001ce66699ff
+00154ccdff0012999a080efb92f73db18b9012d0f78a13a0f728f73d15f8c80a1360
+f8c90a13a0fb42061360f8ca0a0efb92fb09a5f7a9a512ff001ecccdff003280008f
+beff004b9999ff0039e666ffffdd3334ff002f333413f4f756f74e15ff0016199aff
+0012e66680ffffeae6661f8bffffde4ccdffffdd199affffdee667ffffede666ffff
+f6e66608799505ffffe88000ff000e3333fffffbcccdff0010cccd8bff000d4ccd08
+ff00274ccdff001ae666ff000e6666ff001ecccd1e93fb0b15ff0046e666afff0009
+4cceff0019999a8bff001b4ccc08ff0021e667ffffda9999ff00163333ffffd73333
+ffffc78000ffffc1cccdffffdfcccdffffc64ccd1e8bffffe96666ff000b666677ff
+001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffffdbe6678b
+ffffcb800108ffffcd4cccff003899997eff0027999a1e13f8eaff002fccccff003a
+cccdff002e4ccd1f8bff00179999fffff44cceff00156667ffffe9e666ff000de666
+083b16a57d05ff001780007eff00066666fffff066668bffffefcccd08ffffc8e667
+ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999aff002133
+331e8bff002b1999ff00366666ff002ae666ff00144ccdff000a3334080efb92fb09
+9ef705a4f728a301ff0037ccccff0037e666ff00774cceff0037999a03ff006fb333
+ff0058e66615ffffffffffff00324ccdff0014e667ff0030cccdff003166668bff00
+16999a8bff001a66667c8bffffcecccd8bffffef3333fffffa8000ffffe4999affff
+fc8000ffffee6666717a74867d8b08ffffd96666fffff74ccdff0019b333ff001733
+331fff004b4ccdff007b199a15ffffaae666ffffd1e666ffffba4ccdffffcbb333ff
+ffe2999aff000c8001ffffd26666ff0049b3331fa48baa9c9d9972515a48fb057808
+877805ff0059199aff0006e666ff00413333ff00248000b6ff002d4ccdff00284ccd
+ff002a8000a3ff002bcccd8bff003ccccd08ff00486666ffffc78000ff0014cccdff
+ffd4e6661e0efb9296b201ff001e6666ff0104999a03ff00b8199abd15ff0017b333
+f6648bffffe84ccd20218bfffff74ccd64f58bffffe8800021b28bff00178000f5f6
+8bff0008999ab2050efb9296b201ff00256666ff00f6999a03f7b0bd15ffff12199a
+8bfffff74ccd64f7828b050efb9288adb1ae01ff00264cccff00fdb33303ff0113e6
+66aa15fb7a8bfffff8666669ff00e5ffff8b05ff0017b334f615ffff1a199a8bffff
+f8333368ff00e5ffff8b050efc00ff0028e666ff0032666603ff0028e666ff000019
+9a158bffffcab333ff00178000ffffcf4ccdc7ffffd2e66608ff001133349505ffff
+dc1999ff0031b333fffff1999aff002100018bff00284ccc8bff0012199aff0002e6
+66ff00139999ff00053333ff00174ccdff00106667d5a8b8ff004ee666ce08fffff3
+66679605ffff9e9999ffffc9b333ffffb733332f8bffff9e6667080efc00ff007de6
+66ff0032cccc03ff00b0b333e215ffffffffffff003ab333ffffe43333ff003a6667
+ffffca3334ff0027e66608ffffee999a8005ff0021cccc5cff000e6666ffffdbcccd
+8bffffd519998bffffedb334fffffd6667ffffec8000fffffb1999ffffe9e666ffff
+ef666740ffffe9cccd66374308ff000ccccd8105ff006f4ccdff003ecccdc4ff0053
+4ccc8bff0057e667080efb92fb09aaf773a312ff0016999aff00353334ffffef1998
+ff0034999aff0066199aff0033800013d8ff003ae666ff0052333315fffff3ffffff
+00084ccdfffff8cccdff000ccccd1eff001a4ccd8b95ff00173333fffffb3333ff00
+0acccdfffff9e666ff0015cccdff001b3334ff00123333ff0028cccc8bff0011999a
+8bff0016999afffffa4ccd8bffffd799998bfffff5cccdfffffe9999fffff38000ff
+fffc999afffff0cccd08ffffc299997c0513e8ffffcc8000fffff3999affffb6b334
+ffffe3e6668bffffc34ccd8bffffdecccdff001ae666ffffeb6666ff0025999a8bac
+8bff0013e66694ff0027b333a9fffffecccd78ff0009999a77a58b9d8bff00159999
+97ff000b00019408fffff999989b05fffffc4cce88fffffa999989878bfffffb3333
+8bfffffd4ccdff0004e6668bff000ab3348bff00094ccc8dff000d8000ff0004199a
+ff0012999a08ff00109999d605ff00033334ff000e8000ff00018000ff000ccccd8b
+ff000b333308ff003d33335fff000e4ccdffffd699991effffd54ccdffffb1e666ff
+ffdb199affffd619991fff0090199affffc8cccd15ffffee80003c05ffffdfb33373
+ffffecb33381768bffffe4b3348bfffff63333ff000d999a8bff0010999a8bff0031
+b332ff00424ccdff0011b334ff003ce666ff000f6666080efb92fb09aaf714a7cda4
+01ff0021199aff0036e666ff0084cccdff0033cccd03ff00d98000d115fb0206ff00
+0b6666a8ff00214ccdb0aa8bff001366678bff00123333fffff766668bffffe0b334
+8bfffff89999fffffee666fffff76667fffffdcccdfffff5e66608ffff7e8000ffff
+a9199a158bff00178000ff0007e666ff001e4cccff00026667ff0005199a08ff00a9
+ffff06ff00028000ff000e999aff0001ccceff000e4ccc8bff000d666708ff002b66
+66ffffee1999ff00214ccd4affffad8000ffffb5e667ffffa1999a32ffffc98000ff
+001e8000ffffd7e666ff004580001eb98baea2ff0021ccccae08ffffef999a9b05ff
+ffe8199a75ffffe74ccc76658bffffec4ccd8bffffdacccd9d8bff0033199a080efb
+92fb09a4f778a401ff0019e666ff003bccccff008bb334ff003db33403ff008d999a
+2f15ffffdf9999ffffe88000ff0019999aff00311999ff00341999ff001ccccdff00
+653334ff003db333ff001f33339dffffdfe666ffffcf199affffb06666ffffd98000
+ffffbc999affffd2b3341fffff8c4cccff004be66615ffffcae667ff001f4ccdffff
+d03333ff0043e667ff00573333ff004acccdff004ecccdff00647fffff0030199aff
+ffebccccff0032999affffb0cccdffff87e667ffffd64cccffff82199affffcccccc
+1e0efb92fb04a3f772a101fffff6b3332b15fffffd199a7eff000066668805ff0012
+33328cff001233348ca28b9b8b9b8bff0013cccc8a08ff0001b3338eff0002999a97
+05ff0001199990ffffffb3338e838bffffee999a8bfffffab333ff00004ccdff000f
+b333ff0011b33308ff00386666c305ff0003333483ff001a33335a8b8bff00046666
+fffff44ccd8bfffffab333ffffeecccd8b828bfffffc999a85fffffeb3338508ffff
+fdcccd81ff000099998905ff000e33328cff002233348ca28b9e8b9d8bff0012999a
+8908ff000199988eff0002e6689805ff0000e6668fffffffe6668f7f8b758bfffff7
+199a99fffff919999908ffffd4199ae1ff0048ffffd805ff0019cccea5ff0006199a
+90a08b978bff000080008dff00014ccc9108ff0002666696ffffffb3348e05ffffea
+cccc8afffff1b3348a778b7a8bfffff04ccc8cffffee33348c08fffffe800089ffff
+fd33337e05fffffeb33485ff0003b3338a918bff001333338bff0000e667fffff7e6
+66fffff66666fffff8199a08ffffc24ccd49ffffe63333c205fffffe7fffff000780
+00fffff8999aff00138000ff0011e6668b948bff000580008dff0001199a9008ff00
+02999997ffffffb3348e05ffffe7cccc8a768b778b738b7b8bffffec33348c08ffff
+fe800089fffffd33337e05fffffee66786ff0001800089978b978bff00094ccd83ff
+00064ccd7f08ff003099992605fffffc4ccd88ffffb41999438b8bffffe6e66774ff
+fff84ccd88788b848bfffffbcccd8afffffe666684080efb92fb09a4cda7f714aa01
+ff00283333ff0033ccccff0084ccceff0036e66703ff005f33337115f70206fffff4
+99996effffdecccd666c8bffffec99998bffffedcccdff0008999a8bff001f4ccc8b
+ff000766678cff00089999ff00023333ff000a199a08ff0081999aff0056cccd15ff
+00000001ffffe8800083ffffe1cccefffffd9999fffffae66608fb3e06fffffd8000
+fffff16666fffffe4ccdfffff1b3348bfffff2999a08ffffd49999ff0011e667ffff
+deb333ccff00528000ff004a199aff005e6666e4ff00368000ffffe17fffff002819
+9affffba80001e5d8bffffdce66774ffffde33336808ff001080007b05ff0017e667
+a1ff0018999aa0b18bff0013b3338bff00254ccdffffede6668bffffcce666080efb
+92fb04a2f766add1a001ffffff199aff011eb33203ff0092199af75015f8cc0a0efb
+87fb04a2f771a1cca10189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2
+f7cea001fffff1199aff00a2e66603ff00506666f74315f8ce0a0e3ffb04a2f76cad
+01f786ff0031e666ff0063199abd03c7f71f15f8cf0a0efb6ffb04a2f768a07aad12
+ff01053334ff0033199813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0e
+fb94fb87a2f700a5f75fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815
+a5f7050513d8f8d50a0efbc8fb0aa4f779a401ff000e3333a1ff00a38000ff001733
+3303ff000e33337915f8d60a0efbf7fb0aaef765a801b0bd03f715f71215f8d70a0e
+fb0ff7a8baf777ae12cde0f7b6a580a513f0f7827b15d38bccc3abce08749205715b
+6771668108a6f72e0591aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c
+8d8b8d8b8d8b9e7c99708b08658b6254716e08898b9cde7c8b05848b848881876f7f
+80866382088c72058f8c8f8b8f8b978b95868b798b878a868a870869fb59055e9b74
+ba8bdb8bac8fb393b8a3f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513
+e89af7307189058b888b898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb
+4d856d896f8b7108fb14c838f7031e0efb0f8aa8f762b2bab2f742b271a712f871a6
+13f4f804f7fb15fb078ba4f722058fa59b91a18b08d106cd8b9e568d4308a68f94f7
+34fb4d8b3d8b0513ec7efb068d8b1f13f4898987790513ec8a868e88908b08a806ae
+9685761f8b868b8589840872fb22358b8464e18b835c358b8464e18b6ffb3605856c
+7a7e638b087106868b87888a860888788c89058be28db2afe8898b1e8d8d8f9e058c
+90888e868b087106687e97a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7
+078b050efb0f7fbd93b2f725b2bab2f746b5019dcf03f737e015888b878b888a0890
+8f05aea2a9b3a0da08f70d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059add
+bdcab78ba08b9780958094819383998ba18b9f998fa3089007a85c95761e588b5d79
+6469525b6d5b7b43082f8b8564e68b835c2f8b8564e58b057e5476515f6384858586
+86876e7d71788775088807809581981e9c8ba3968fa58d95989bab8ba58ba07fa27d
+a47ba67bb08bd18bbdaea5bc088691056d6a52846f8b718b7d937d9678997399518b
+080ef7dd81be59a47aa5f778a9d0ae7da5f731a276a912f830d169d39ec596a096c7
+f700cc87a013387cf5cb1587727c7d678b087306868b89888a8708887a8c89058bdf
+8dabaeda898b1e8d8d8d9c058c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08ae
+f75b0596859487a38bea8bc7b9acc008c18b5bfba405887f8a808b810813903c639e
+7aad1e13303caa8baa97aba208877205958d928b908b918b918b90890813543ca185
+a788aa8bbe8be8a19be58c928c928b918bc557a54ea8639e77958ba78b8f8b8f8c90
+0894beb59bae8b0813543a9f8bbf80952b08a08c93f700057c955d995e8b438b485d
+814e89828a838b848b5bad7bc1730813507cc66fa0748b6b8b878a858a87835d5976
+688b6a8b729c83947c9d87a98ba18b928b918c8f08768a824505139978767e7b8777
+8b7b8b85958ba18b978d9c8fa008b3f779e08b05948b988e8d93088e9d058f898d87
+1e278ba4f71e547a887905814f79685d84929c909c8d9b081311b88d938c958b948b
+c16fd0fb128b768b6b8a5c8808133a7c5f8956887e8b08877a05888b88911e8f8ba1
+8c938b988ba0878b728b888a878b8708d8a8151311b89c919e919b8bbb8bbb7a8b3f
+8b7e8a7d887a792a57623c8b778b818e818d080ef77482a475a378a5f77aaedea5f7
+38a512f827d99ea196c6f700cc88a0133f80f873f844158c968c968b958baa83a57a
+a16bb45390588b2c8b4285788608887a058a878d89908b08a78d058c8c8d8b8e8b9b
+8b90838b7d8b858b858a84083afc580587727c7c668b087406135f80868b89888a87
+08887a05133f808c89058bdf8dabaeda898b1e8c8d05135f808e9c05133f808c8f88
+8e878b0874066c7e949f1f8b8e8c8f8b8f08adf75205c88b8b868d8508c1fb410513
+5f809760aa69ba8b988b9a8e948e089e07898a898b898b6d8b7aac81b00854f74c05
+b199dfbd9deb083b891585657a6c7772726c707c4e8b08738bbaf79e05a1908f8da8
+8bb48bb4788b458b7e8a7c887b08f0fbc2157bfb1405948d938b908b918b908b9189
+08139fc0a185a688ab8bbe8be8a19ae58c928c928b918bc557a54ea8649e76958ba7
+8b8f8b8f8c900895beb59bae8b08139fa09e8bc080952b08a08c93f700057b955e99
+5d8b438b495e804d8a828a838b848b5bad7bc07308139fc0c66fa0748b6b8b878b85
+8a87825d5976698b698b729c83947d9d87a88ba18b928b918c90080e482cb9b0b588
+a7f7f4aee6b2d1a9a57712ccdcf7bad113df80f7f2e4155c646c776a8b5d8b5cb68b
+e78b9c8c9d8fa098d3a3b69da0b3bab58e9f8bba8ba1769e6508f753f774153e8ba1
+f712758b0576827b877987798865857c8b08887205888d898e1eab8f05999382731f
+8b81897d897b088a8afb238b8464f7248b77fb050575986194778b498b5b755c6559
+606c4d7e4187788a798b7a8b2cbc49e78bbe8bb7a9b8b2087c46a38b0513bf80a39d
+c196c795088ca7057c88748b7f8b838b81918a948b8c8a8d8b8d8b948d9a8fa308d4
+f831d98b05fcc4fcda15845df85b8b93b9050efb0f7fb5f755adbeadf764ae12f1ff
+0051b333ffffc63333ff00508000ff0107999aaa13fad5f7c815ff002a666606ffff
+fdb334fffff68000fffffdccccfffff66666fffffe199afffff6199afffffe999aff
+fff8999afffffeb333fffff8999afffffee666fffff8cccc08ffffdacccd8b737289
+82c68b05fffff3999affff70b333ff003a3333ffffa44ccdff007633338bbf8bb69c
+a78999b3aecc9db9086e92056849674a438bffffaecccd8bffffde9999c9ff000e4c
+cdf71708ff00a74ccd8ba4adffff4433338b05ff0001b332ff000a999aff0001e667
+96ff00023333ff000b6666ff0001333391ff00014ccd91ff00014ccd9108ff00cd33
+338ba3ad0513f6ffff23666606ff00206667ff0072999aff003db333ff005d6666ff
+004d80008bd48b9b4b8e4808aa90058bb98dc592b56e89619c578bffff8e4ccc8bff
+ff9b80012dffffd11999fb2908ffffe7199a8b7373050ef8898aa9f7e8adf729a901
+f8c3d7f7eadc03f827f8da15a5ada6a1afa30888980556755c6f5f5a428144723960
+08917705cfa8caa5cb97675b694a69300823fba805816e7a7f698b087006878b8787
+8a8708847af7098d05ac8b9c89de8bf75b8bf723f730aaf7438e9b8c9b8b9a8bf70b
+38e1fb108b08fb1ffb8415b0efa8cba7b9089006f70ebc3d2d1f8b7a8979887972fb
+1e3cfb34fb618b548b818e8b968b8d8c8e8b8e8c918c8e8d8f08f80dfb9315a7b4ae
+e9a8d3a17ea185b28bf7418bf713f7399ef48c948c948b948bcc5eb7398b618b4d7d
+5565086a73636c58fb110844fb46055dfb036b55736c088e7b05f883f8771578fb00
+38fb18fb048b718b7a9477a383847577828908d7f74d05c1f718c8a3b98bbb8bad79
+8b528b838a808980080efb0f8aa5f778a9d2b2b9b3d8a276a912f829d013f2f810f7
+f615715a6075518b788b808e818d0897cd05f748e0158a868a858a848a8188828982
+08fb388b93b905f73ab315fb338b97ce0513f69b919f919b8bb88bb87c904b08f702
+16630686be6ac5fb088b768b6c8a5c880813fa5f8960887e8b08877a05888b88911e
+8f8b978c928b998b9f878b728b888b878a870884654d8b8463c98b835d4d8b8464c9
+8b58fbb60587727c7d668b087e06868b88888a8708897a8c89058bd58dabaed9898b
+1e8d8d8e9c058c8f888e878b0873066d7e949e1f8b8f8b8e8c8f08aef75b05958595
+87a28bec8bc7baacc108bf8b92b2638b05929a8f9a8d9a088cae070ef7247facf783
+a4f713abf784a401f9bcf96a15f8d80af74bf8ca15f8d90a622415f8da0af76efc5b
+15c68bb4a8b0ab0876a1056b6e60767c8b7a8b6f989ad59deac9c4b58b918b998788
+778778898c887f89808f7fa88b08948bac938fa392ac7ab0438b3b8b203976fb0183
+62a94acc8b080ef7247da3f78ea2f715abf784a401f842ae03f9bcf96a15f8d80af7
+4bf8ca15f8d90a622415f8da0af76ffc5d15d28bcaac96c793af63a95ba57b93869a
+8f9f8fa2a0a2a98ba78b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f
+9879b172a37ba876856d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b
+080ede7fb4f8e4b001f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bff
+ffd6199a8bffffde3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f
+333405ff00273334ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a
+943508ab8f058bbf8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb
+3af76c8b08ffffdf999aff023ccccc15ffffa48000fffe27800005ffffd04cccff00
+3b8001fffff53334ff005f9999ff00116666ff005a999aff0015199aff006ae666ff
+0035ccccff0049e666ff0039b334b9080ef7827bb5f844a7c7adbda701f9b0a903f8
+b07b15eb8bd4bcd9e308779a0538385670368bfb148b51f711a6f71db4f768f718b9
+da8bf7008bb54a922e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565
+fb556ffb25dffb25f74f8b08fb72f8d115f8db0afb3a8c15f8dc0a0ef7567ea7f786
+a6f70facf783a401f9bcf96a15f8d80ae8f83f15f8dd0af7abfbc01596c4b5e8cb8b
+b18b8a5d8363836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e1
+9ff294ba80c8318bfb098b35237c3d080ef7567cb2f764bef710acf783a401f9bcf9
+6a15f8d80ae8f83f15f8dd0af7defb6415949f93a08d968d978d9f6a8b698b68785b
+62089b79059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e
+846a967cba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05
+797a7d81838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b
+8b66364965788b808b8a938f9d8d95919c919a080ef7858aa8f78aadf72aa7beb170
+a8c0a712f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a9
+8f0513ef8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513
+ef898b86911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a86
+0887788d89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa
+08b2f75ef7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad
+98b192a28c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb
+6ef78d15f8db0afb3a8c15f8dc0a0e9c46c2a976f886c001f8d6f73d15a2f70d46dd
+25ad5966536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e
+8f0577716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c8670747574
+7d0854bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8b
+affb127b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58b
+ba8bae66a16bbcdcf752b1b0f750080ef7538aa8f7bcb2f793a701f8d8d315856f7a
+7b628b087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90
+888e868b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c9008
+8f9e898c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d
+0862fb67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6764fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334
+ff00076667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199affff
+f87fffffffff999afffff933348b087106868b87888a860888788d89058bf7258dae
+b2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05ff
+fdfe6668fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015
+999afffff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666ff
+fff3999a6efffff8b334080e757fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3
+cff78405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a7589
+6da07ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08
+bdf7350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a
+877887798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b08
+0e757fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff
+008d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b91
+818a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff00
+663333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b
+9c7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d108
+779c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec7
+6e9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db3
+050e797fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080efb847db2f8ada301f76df7d915a3f7100594b9a1
+ceb38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cc
+cc9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e05
+6ffb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef740987692a8f8e2a7
+121360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a6468
+408c8b1e868a8878058a869288908b08a606b48b916986700841fc0f877405898089
+87878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b08
+9006ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999a
+fffdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e
+8d8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b94
+80987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a
+15ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff00
+00999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764
+fffffe8000080ef8007fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f1583
+5ff77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b798186
+72856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745
+fc4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f
+907a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f
+858b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8b
+a0618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08
+aefb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080eea8aa8f7
+94b1f7baa57ba71213d0f8cef87215f8de0afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f8df0a0ef72bfb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef727acd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080eea8aa86f
+a0f79bb1f7baa57ba7121328f8cef87215f8de0add8c1595bd81b46ead64b845904c
+8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668fb
+07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e1898b
+1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408cd
+fb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b999
+f4c4a0f40813a0fffdece668fc5715f8df0a0ef751f7afa37da0f782d98d9f12f0a9
+f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d8159
+83606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b8d
+8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891aba7
+a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b08
+7d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc8d
+9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b089a
+06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a88
+9089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d06
+13bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d9305
+137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb23
+8b8b8d849388908b948b918f8f91088b8becf736bbdc080ef77ef7b9a0f7ae76bea5
+01f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a2
+908ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b
+08bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a
+058bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e
+158b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b7
+898b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f90
+918b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a
+83058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b84
+8b087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d
+848b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d849388
+908b948b908f8f91088b8becf736bcdc080ef7168bb264a8f8d5b39777121340f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513a0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc240613105c8b9094678e7c5573437c6208a786051360aed0a6bed78b08
+f75b06938b8e898a858a868684848408fc81fcb105838387838a8489818f86998b08
+0ef48bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef4b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8db
+1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca61
+ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f705
+bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf8b
+08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf75c
+8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080e5b83a8f74ea7f746a801f7
+33f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f72927
+e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f5e53
+73518b398b58c08fa2080e3ba07601f829c903f8aef84e1594b7689772923ca5b397
+799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd36668
+78ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f727b
+708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000ffff
+b19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608f006
+a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332ff00
+226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa91aa
+84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104cccff00
+036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199affff
+15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff000080
+00ffffffb334ff00008000080e2e8beff7d9f700b87701f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080efb769a7691ef12
+a3f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e47
+8056c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208
+f70f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080efb
+0f9f76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968a
+a28b8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a81
+7f988bca809eec99d18dce99d0080efb9b8aadf872f70c01f763f70b03f763f8cf15
+846aa170ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b
+055d7c6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b
+088306868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e86
+8b0883066a8b849a90a7080eee36a9f71ca6f6a9d2a512f849bfff00511998ff003f
+6668ffffc88000ff003c4ccc13f8f782f8d115ae0af8196b15af0a13fa31fffea899
+9a15f8e00a13fcf8e10a13faf8e20a0eee34a9f71ca6f6a9d4abf79aa912f744bff7
+5fbfff00511998ff003f6668ffffc88000ff003c4ccc13fe00f907f8b115af0a13fe
+802bfffea6999a15f8e00a13ff00f8e10a13fe80f8e20afc0bff015f666615f8cb0a
+0eee35a6f739a6d1aed9a501ff0235e668ff0039199803f782f8d115ae0af8196b15
+af0affff99e668fffe1f666615f8e30a0eee36a6f739a6d1aed8abf7a0a301f7d7c6
+ff00aee668ff0039199803f907f8b115af0afc739115aa0aff016fe668fffe1a6666
+15f8e30a0eee36a6f739a6d1aed1a9f71ca6f6a912f746bfff0051199aff003f6666
+ffffc88000ff003c4cccff00b6999cff0039199813fe40f907f8b115af0affff95e6
+68fffe20666615f8e30a13fec0ffff0d1998ff02123330158bffffe7e668fffff0e6
+66ffffeb8000fffff16666fffff38000fffff0ccce7effffec1999fffff7999affff
+e8cccdfffffce6668682887f8f85938c908c928b0813ff40ff00156666ff002ab334
+fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987eff
+ffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b84928896889782
+907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe80
+0008ffffe38000ff003ecccd81ff0018b3331eff002cb3338bff00294ccdff000e66
+66ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce8b
+ff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fec0f8e40a0eee
+36a6f739a6d1aed9a8d1ad01ff022de668ff0039199803f907f8b115af0affff91e6
+68fffe20666615f8e30afffefc1998ff0218999815b00a5ffb5a15f8c70a0eee35a3
+f729a3f7059ed4a501ff01853334ff00336666ff0077e666ff0038999803f782f8d1
+15ae0af8196b15af0affff948000fffe114ccc15f8e50aff000b4cccffffa44cce15
+ff001e199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccffff
+f36668ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d
+8000fffff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199a
+ffffe366668bffffe3199a8bffffb8b333c0ffffeacccdff002acccc8bff00249998
+8bff001ce66899ff00154cccff0012999a080eee36a3f729a3f7059ecea6f739a6d1
+ae01ff0125e666ff0039199aff00253334ff00336666ff0077e666ff0038999803f9
+07f8b115af0affff938000fffe124ccc15f8e50aff000b4cccffffa44cce15ff001e
+199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccfffff36668
+ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000ff
+fff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199affffe3
+66668bffffe3199a8bffffb8b334c0ffffeaccccff002acccc8bff002499988bff00
+1ce66899ff00154cccff0012999a08fffeeb199aff01f5cccc158bffffdf999affff
+f6999affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff00
+35b3337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4
+ff00188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffff
+be80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a1
+8bff0030999a8bff000b4cccffffe5199a8bffffe54ccc080eee34a5f7a9a5d5a512
+ff0180ccccff003280008fbeff004b999cff0039e664ffffdd3334ff002f333413f8
+f782f8d115ae0af8196b15af0afb0cfbd11513faf8e60a93fb0b15f8e70a13fcf8e8
+0a3b16f8e90a0eee36a5f7a9a5cba9f71ca6f6a912f753bfff0051199aff003f6666
+ffffc88000ff003c4cccfffff78000ff003280008fbeff004b999cff0039e664ffff
+dd3334ff002f333413fc40f907f8b115af0afb0dfbcf1513fc50f8e60a93fb0b15ff
+0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda9998ff00
+163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bffffe966
+66ff000b666877ff001d4cccfffff080000896850513fce0ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999aea
+ff002fccccff003acccdff002e4ccd1e8bff00179999fffff44cccff00156667ffff
+e9e668ff000de666083b16f8e90a13fd40fb45ff01f79998158bffffe7e668fffff0
+e666ffffeb8000fffff16666fffff38000fffff0ccce7effffec199afffff7999aff
+ffe8ccccfffffce6668682887f8f85938c908c928b0813fe40ff00156666ff002ab3
+34fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987e
+ffffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b849288968897
+82907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe
+800008ffffe38000ff003ecccd81ff0018b3331eff002cb3348bff00294cccff000e
+6666ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce
+8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fd40f8e40a0e
+ee35a5f7a9a5cfa6f739a6d1ae12ff0122e666ff0039199aff001eccccff00328000
+8fbeff004b999cff0039e664ffffdd3334ff002f333413ff00f907f8b115af0afb12
+fbd01513ff40f8e60a93fb0b15f8e70a13ff80f8e80a3b16f8e90affff2ae666ff01
+736666158bffffdf999afffff6999affffe4999afffff1cccc77fffff2800178ffff
+ec3333fffff36666708b758b82928494859384927e8b08fffff64ccdffffee6666ff
+fff7199a7cffffe9e666ff0035b3337fff0020999a1fff0020e6668baa97ff0018e6
+66ff0013199aff0020b334a4ff00188000ff0022b3328bff002fccce8bff002bb332
+ffffe48000ff0024b334ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb37
+8b55fb239188059b92a192a18bff0030999a8bff000b4cccffffe5199a8bffffe54c
+cc080eee36a5f7a9a5f7f5b18b9012ff0184ccccff003280008fbeff004b999cff00
+39e664ffffdd3334ff002f333413ccf8f3f8b115af0a2bfbcf1513cdf8e60a93fb0b
+15f8e70a13cef8e80a3b16f8e90a13ecfb7ff89a15f8c80a13dcf8c90a13ecfb4206
+13dcf8ca0a0efb65f7d0a501f907f8b115af0afc42b315ae0a0efbae87a5f8a5a601
+f75ff8a3158b878a8589800836fc4a0589828a848885898487848386878983897d8b
+086d8a05888b878b8984088778058bcb8eb3b9d2888b1e8e9e058c8e8a8f858b086d
+8c057e8b848c878e869089918b938c928c928d9308e0f84a058c938c928d928e928f
+9194908e8e938d998b08a906928c8d908b8e088f9dfb0988238e8778058b868d8990
+8a08a806998b93898e8890878d858b82080e4087a5f8a5a301f836f8a3158b878a84
+89810836fc4b0589838a838886898386858586868883897d8b08468c057e8b838c88
+8e859089918b938c928d928c9308e0f84a058c938d928d928d928f9194908e8e948d
+988b08d106988b92898f8890878d858b8208fb6a168a878b8589800835fc4a058a82
+89848985888487848386878983897d8b086d8a05888b878b8984088778058bc88eb7
+1ef7738a05b9c8898b1f8f9d058c8f8b8e848c086e067e8b838d878e869088918c92
+8c928c928d9308e0f84b058c928d928d928d928f9193918f8e948d988b08a906918b
+8d908c8e088f9dfb0189fb738b238e8778058b868d89908a08a806998b93898e8890
+878e858b82080ef7208aa3f8a4a301f90df8a3158b878b8588800836fc4b0589838a
+8389868883878583868888838a7d8a08438c057e8b848c878e859089918c938c928c
+928c9308e1f84a058c938d928d928c92909193908f8e938d988b08d306998b92898e
+8890878e858a8208fb6c168b878a8589800835fc4a058a8289848985888487848486
+878982897d8b0847067e8b848c878e869089918b938c928c928d9308e0f84a058c93
+8c928d928e928f9194908e8e938d998b08cf06988b94898e8890878d858b8208fb6a
+168b878a8589800836fc4a0589828a848885898487848386878983897d8b086d8a05
+888b878b8984088778058bc78eb71ef84b8a05b9c9898b1f8f9d058f8b8f851e6d06
+7e8c838c888e859089918b938c918d928c9308e0f84b058d928c928d928d928f9294
+908e8e948d998b08a806928c8d8f8c8e088e9efb0088fc4b8b238e8778058b868d89
+908a08a806998b93898e8890878d858b82080ef77b87a5f8a5a601f89ff8bb15b28c
+05928c8c918b8c088f9d888b057f8bfb0189868bfb438df74d8dfb608608fb048e87
+78058b868d89908a08a806a29487771f8b878a8589800836fc4a05846280886f8a08
+6d8a05888b878b8984088778058bd08eb7b9c9888b1e8e9e058c8e8a8f858b086d8c
+057b8c7c8b8ba18c928c928d9308e0f84a0590ae9595a98b08bc069e8b998a917408
+d3fc91058d7b9184958b968b9592939b08f7a3f87b0598a48e9fb78c089e8c05928b
+8e8e8c90088e9d898b05838b4689898b808b2f8d878b08898b8a89887a058a888c88
+908a08a88a05ab8b9389877b8b8b897a858208fb68fc0758f807058a938b918a9308
+a19d8b991e0e9f9b76f8c1a501f7cd9d15f7a3f87b0590958f928e918d9091929892
+908e938c998b089d8c058e8b8d8b8c8c8e8d8d8c8c8f088d9b8c8d888b05848b4689
+888b808b2f8d888b08888906887a058a888b88908a088c8ba88a05a08b95898d898e
+878c878a858b8a8a898b8a89868c84858108fb68fc0758f807058a938a918b938b8d
+8b8c8c8d8c908c8f908f8e8e928c998b08b28c058e8b8e8d8c8f8b8b8b8a8c8e088e
+9b8b8d898b057e8bfb0189878b818b328d888b08888906887a058a888c898e8a8c8a
+8d8b8d8b089f8a05978b948a908893868e858e82088e75cffc7b058e7b9084968b96
+8b9592939b080ef78687a5f8a5a501f970f8a3158b878a8489810836fc4b0589838a
+8389868883878584868788828a7d8a086d06888b878a8985088778058bc88db7b8d2
+898b1e8f9d058b8f8b8e848c086e067d8c848c888e859089918b928c928c928d9308
+e0f84b058c928d928d928d928f9193918f8e938d998b08a906928b8d908c8e088e9d
+fb0989fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b9489
+8e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b
+920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b8d898b057e8b
+fb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05
+978b948a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3
+f87b058f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d
+858b82080ef85c89a3f8a5a301f970f8a3158b878a8489810836fc4b0589838a8389
+868883878584868788828a7d8a086d06888b878a8985088778058bc88db71ef77306
+b8c9898b1f8f9e058c8e8a8f858b086d8c057d8b858c878e869088918c938b928d92
+8c9308e1f84a058c938c918e938c928f9194908f8e938d998b08a806928c8e908b8e
+088f9dfb0188fb738bfb458b05808b2f8d888b08888906877a058b888b88908a08a9
+8a05a08b94898e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f807
+0589938b928b920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b
+8d898b057e8bfb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b
+8d8b089f8a05978b948a908892868f858e82088e75cffc7b058e7b9084968b958b95
+92949b08f7a3f87b058f9590928e918d9091929792908e948c998b08c48c05988b93
+898e8890878d858b8208f76b168a878a8489810836fc4b0589838a83898689838685
+84868788838a7c8a0847067d8c848c888e859089918b928c928c928d9308e0f84b05
+8c928d928d928d928f9193918f8e938d998b08d006998b92898e8891878c858c8208
+0ef91d89a3f8a5a3011c0474f8a3158a878a8489810836fc4b05898389838a868883
+878583868888828a7d8a0853067e8c848c878e869088918c928b928d928c9308e0f8
+4b058d928c928e928d928f9193918f8e938d998b08c206998b93898e8891878c858c
+8208fc2c168b878a8489810836fc4b0589838a8389868883878584868788828a7d8a
+086d06888b878a8985088778058bc88db71ef7618bf75d8b05b9d2898b1f8f9d058b
+8f8b8e848c086d067e8c848c878e869089918c928b928d928c9308e0f84b058c928d
+928d928d928f9193918f8e938d998b08a906928d908e1f8f9dfb0989fb5d8bfb628b
+fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b94898e898e
+878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b920890
+078c908d8f908f8d8e938c998b08b18c05908e938b1f8f9b8b8d898b057e8bfb0189
+878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05978b94
+8a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3f87b05
+8f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d858b82
+08f762168b878a8489810836fc4b058983898389868983868584868788828a7d8a08
+50067d8c848c888e859089918b928c928c928d9308e0f84b058c928d928d928d928f
+9193918f8e938d998b08c706998b92898f8890878d858b82080ef7ac88a5f8a6a501
+f8b7f7ac15fb4ffb6605828184838787848381858086848883897d8b708a7b89718d
+7e8b848c878e869089918b93088c928c928d9308e0f84a058c938c928d928e928f91
+94908e8e938d998bb48b818e988a08938a05988a958a90889487928491828f858e84
+90830877fc4b15f72ff743e4fb430591828e838d878d878b878a878b898a898a898b
+8a8a8b8b8b8989848a808b08658a05898b8a8a898a8b898a8a8b8908887b8b888d8b
+05988cf7038d8f8b948bdd888f8b088d8b8c8e8e9b058c8e8a8d898b898c898b868c
+08858c057b8c828c878d81918591869386958792889008fb0ff784f742f758059292
+91939291939394929790918e958d988b08a58c058e8b8e8b8d8c8e8c8d8d8b8e088e
+9b8b8e898b05828a3689888b818b358e888b08898b8a88887b8b8705898c8a8d1eac
+8a05998b90898c89088c068c898b8a8a888a888a87878689888684818008fb24fb35
+39f73505869687918a8f8a8f8a8f8c8f8c8d8b8d8d8d088c078e8c918d978b08b38c
+058d8b8d8c8c8d8c8c8b8c8b8d088f9b8b8e898b057e8afb0089868bfb4b8df74c8d
+fb6d8608238e8778058b868d89908a08a806998b93898e8890878d858b828b878a85
+89800836fc4a0589828a848885898487848386878983897d8b086d8a05888b878b89
+84088778058bc78eb7f750978c8b1e968beb888e8b088e8e068e9b058c8d8b8d8a8c
+8b8c8b8b888c08698c057d848d8d1f8a8c8a8d8c8e8c8e8d8f8e9090929293919108
+0ec788a6f8a5a501f74ece15ff009a999aff00ae8000ff00596666ffff5180000590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8b958bdd888e8b088e8e068f
+9b058e8a8d891e898c898b878c08848c057c8c818c878d8291849186938695879288
+9008ffff85ccccff00ef6666ff00ae3334ff00c4999a059192929392919293949297
+90918e958d998b08a58c058e8b8d8b8e8c8d8c8d8d8c8e088e9b8b8e898b05818a37
+89878b818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a05998b
+90898c898c898b8a8b888a888987888689888584818008ffff713334ffff5ee666ff
+ffadccccff00a1199a05859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c
+8d8c918d988b08b38c058d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb01
+89878b818b328e888b08888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a
+958a908894879184918290858e848f8308ff0073e666ffff1dccccffff46199affff
+2e333405818185838787838382857f86858882897d8b08738a05888b898b8a8a878a
+8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b088d8b8c8e8e9b058b8d
+8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d8b8e8c8e8d8f8e909192
+91939291080ef79888a6f8a5a501f89fd115f8ea0afbe58815f72ef743e5fb430590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8bf74489428dd68b08b8d289
+8b1f8e9d058c8f8a8e858c086e067e8c838c878e869089918b928c928c928d9308e0
+f84b058c928d918d938d92909192918f8e948d988b08a906928d908e1f8f9dfb0989
+fb588a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a0599
+8b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f735058596
+88918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c058d8b
+8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b088888
+06887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a90889487918491829085
+8e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b0873
+8a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b
+088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d
+8b8e8c8e8d8f8e90919291939291080ef8708ba3f8a5a501fa5bf8a5158b878a8489
+810836fc4b05898389838a868883868584868788838a7d8a0845067e8c838c878e86
+9089918b928c928c928d9308e0f84b058c928d918d938d92909192918f8e948d988b
+08d106998b93898e8890868d868b8208fda1fc6215f72ef743e5fb430590828e838d
+878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a898a8b89
+8b8a8a8908897b8a888e8b05978cf7038d8f8bf744894b8dd68b08f76306b8d2898b
+1f8e9d058c8f8a8e858c086e067d8c848c878e869089918b928c928c928d9308e0f8
+4b058c928d918d938c92909193918f8e938d998b08a906928d908e1f8f9dfb0989fb
+638bfb618a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a
+05998b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f73505
+859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c05
+8d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b08
+888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a9088948791849182
+90858e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b
+08738a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb88
+8f8b088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c
+8b8d8b8e8c8e8d8f8e9091929193929108f7e58e15f8ea0a0e6589b660a4f8a5a512
+f88fa21370f759f88e1536fc49058983898389868983868583868888838a7d8a086d
+8a898b05878b89898a8708877a8b898d8bf8568b8d8b8c8dbef73a8c8e888b798b89
+8b8b89057c6f796e736c7f7c7f807b840813b08387818a808b08fb568be5f865058c
+938d928d928d92909193908f8e938d988b08a98c8e8b058e8c8d8d8c8e088b8c8c8c
+1f8e9a8b8e898b057f8a2789888b7f8b2d8e878b08898b8a88887b058a868e898e8b
+088d8ba88a05988b93898e8890878e858b82088a878b858980080ea67fb4f896b001
+f8e7aa03f7d77f15e78be2bbe1e408779a05343d4b6a358bfb248b6af72da4f713af
+f74bf716bed68bf7108bb43a953508aa90058bbe8bbb93c2528f72b4fb058bfb258b
+fb3ffb0768fb436dfb31c7fb25f7618b080eea89a8f89cac71a51213c0f7acf8b315
+a58da98dac8bd58ab677b45dc44c995973fb0f7a31635f475d65705e813f8b5e8b67
+8f709208fb337615887a8b898d8bf7b88b05f18bd0a8d8c5c0b3b6cc9ad99ad884b6
+68c353e239bcfb378b0813a0fb668b898b8a88887b058a878d88908b08a98a05988b
+93898e8890868d858b838b878a8589800836fc4b05898389838a8688838685848687
+88838a7d8a086d8a05868b898a8986080ef79288a5f8a5a601f7cef8d715fb278b88
+7805888b87911ea78a059a8b9c8a8a748b838a838a8608fb0efc4a05867488827d82
+888983897d8b086c8a05878b888a8985088778058bc58eb0b0c2888b1e8f9e058c8e
+8a8e848c086e8c057e8b838c888e81958f918fa408f6f818f709fc58058c858e8692
+8b918b928e909308f7bef86266fc22058b878a828982888488848486878983897d8b
+086d8a05878b88898986088878058bcb8eb4b9d2888b1e8f9e058b8e8b8e848c086e
+8c057e8b828d888d859089918b938b8f8a928d9608b7f84a058fab9997a88c08a606
+8e8b8f8c8d92088f9efb138bfbc1fc66050efbbd8aa8f80aa8e7eb01f75bea03f75b
+f8cf15f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d89
+058bcf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b2
+0591a7989bab8b089f068f8b8f8e8c90088f9e898d058b47896467478d8b1e898987
+78058a868e88908b089e06ad8b917b856f080efb108aa8f80aa8e7eb01f75beae6eb
+03f815f8cf15f8ec0afb4e16f8eb0a33fc8715856e7f7c698b087806868b88888a86
+0887788d89058bcf8dae1eff0017cccd8bff0022e666ffffff4ccdff0017999affff
+ff666608ff0000b333ffffff4ccd058b8bff0004cccdff0000199aff00079999ff00
+003333ff0007cccdffffffcccdff0004cccdffffffe6668b8b08ff0000b333ff0000
+b33305ff00171998ff00009999ff00216668ff0000b333ff0015cccc8b08b2cf898b
+1f8d8d8f9e05ff0000199aff0000999aff0000199aff000099998bff0000999a08ff
+0003e666fffffd3332ff00024ccdfffffb999a1e7806ffffe66666fffff5ccceff00
+09999aff0012b3321f8bff0004b334ff00009998ff00053333ff00013334ff0005cc
+cd08c2f7b20591a7989bac8b089e068f8b908e8c90088f9e898d058b4689641effff
+ea80008bffffde3334ff0000b33474ff0000999808ffffff4cccff0000b334058b8b
+fffffb8000ffffffe666fffff88000ffffffcccefffff8999aff00003332fffffb66
+66ff0000199a8b8b08ffffff4cccffffff4ccc05ffffe8999affffff6668ffffdd19
+9affffff4ccc738b0867478d8b1f8989877805ffffffe666ffffff6666ffffffe667
+ffffff66668bffffff666808fffffc1998ff0002cccdfffffdb334ff000466661e9e
+06ff001a999aff00096666fffff63334ffffee66661f8bfffffb199affffff4ccdff
+fffa6666fffffeb333fffff9e66608c1fbde15ffffe5e666fffff63334ff00096666
+ff00124ccd1f8bff0004cccdff00009999ff00056666ff00014ccdff0006199a08c2
+f7b20591a7989bab8b08928b988b918b05ff001b4cccff00093334fffff5b334ffff
+ed66661f8bfffffb6666ffffff8000868afffffa80000853fbb205866e7e7c6a8b08
+848b7f8b050ed68aa8f80aa8e7eb01f75beae9ebf0eb03f8ddf8cf1586709c76a68b
+a58ba5a090a690a579a1718b718b71758671086afb691554fbb205856e7f7c698b08
+7a8b898b7a8b056a8b849a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b
+917b856f08fb38f76915f8ec0a6afb691554fbb205856e7f7c6a8b08818b818b828b
+056a8b849a91a808c2f7b20591a7989bab8b08958b958b948b05ad8b917b856f08fb
+30f76915f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d
+89058bcf8dae1eff0018cccd8bb0ffffff3333ff00179999ffffff666708ff000099
+9affffff6666058b8bff0004199aff0000199aff0006ccccff00003333ff0006e667
+ffffffcccdff00043333ffffffe6668b8b08ff0000999aff0000999a05ff0017199a
+ff00009999ff00238000ff0000cccdff0016cccc8bff001be6668bff002a999a8aff
+0016199affffff666608ff00006666ffffff999a058b8bff0002999aff0000199aff
+00046666ff00001999ff00046666ffffffe667ff0002999affffffe6668b8b08ff00
+006666ff0000666605ff0015e666ff0000999ab58cff0019b3348b08b2cf898b1f8d
+8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f
+8b908e8c90088e9e898d058b4789641effffe666688bffffd6b3308cffffea4cd0ff
+0000999a08ffffff9998ff00006666058b8bfffffd6666ffffffe666fffffb8000ff
+ffffe666fffffb999aff0000199afffffd8000ff0000199a8b8b08ffffff999affff
+ff999a05ffffe9b332ffffff6666ffffd4999a8affffe4199a8bffffe9999a8b67ff
+0000cccc74ff0000999a08ffffff6666ff0000999a058b8bfffffc199affffffe666
+fffff96666ffffffcccefffff98000ff0000333287ff0000199a8b8b08ffffff6666
+ffffff666605ffffe8b334ffffff666666ffffff3334ffffe6e6668b0867478d8b1f
+89898778058a868e88908b089e06ad8b917b856f080ef721947696a8f80aa8e7eb12
+f75bea1338f75bf8cf1586709c76a58ba68ba5a08fa691a579a1718b08708b727586
+71086afb691554fbb2051378856e7f7c698b087806868b88888a860887788d89058b
+cf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591
+a7989bab8b089f8bff000066668bff0000999a8b05a88b9e7f92670813b8d0fbed05
+8e7c9085988b958b9491949c08f760f7e705a3b2a598a88b918b918f8c90088e9d89
+8d058b61897166528d8b1e8789877705888d87901e8f06ad8b9585897c8984868284
+8008fb17fb6f716083b95ff76e05889989938c928d959591a08c089c068d8b928c8c
+92088e9e888d058b4e89631effffe7e6668bffffdeb3348cffffeeccccff0000999a
+08ffffff999aff00006666058b8bfffffdb334ffffffe666fffffc1998ffffffe666
+88ff0000199afffffe3334ff0000199a8b8b08ffffff8000ffffffb33405ffffeae6
+66ffffff6666ffffd2b334fffffee666ffffe2e6668b0867478d8b1f89898778058a
+868e88908b089e06ad8b917b856f080e4c9476f832a801f82cf82615ad8b9585887c
+8a848682848008fb17fb6f716083b95ff76e05889989938c928d9595919f8c089c06
+8e8b918c8c92088f9e878d058b4e896469568d8b1e88898777058a869089908ba88b
+9e7f926708d0fbed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b92
+8b908f8c90088f9d888d058b62897166528d8b1e87898777058a888d87908b080ef7
+00947696a8f80aa6e9eb12f8feea1338f8fef8cf15f8ed0a6afb691554fbb2051378
+856e7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e
+058c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e
+8c90088f9e898d058b4789641effffed66688bffffe4e664ff00008000ffffea199c
+ff0000800008fffffe99988c058b8bfffffab334ffffffb33483ffffffb332fffff3
+1998ff00004ccefffff73334ff00004ccc8b8b08fffffe9998fffffe999a05fffff5
+999cffffffb332fffff4e666ffffffb334fffff6e6668b0866528d8b1f8789877705
+8a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083b95ff76e05
+889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e896469568d
+8b1e88898777058a869089908ba88b9e7f92670813b8d0fbed058e7c9085978b968b
+9391959c08f760f7e705ff0017e666ff0026ccccff0018ccceff000d199aff001ccc
+ccff0000199aff00209998ffffffccccff0006e668fffff0199a85ffffe4199a080e
+f7d5947696a8f80aa8e7eb12f910ebedea133cf9d2f8cf15f8ed0a6afb691554fbb2
+05137c856e7f7c698b087d8b868b7d8b056b8b839a91a808c2f7b20591a7989bac8b
+08998b908b998b05ac8b927b856f08fb35f76915f8ec0a6bfb691553fbb205856e7f
+7c6a8b087806868b87888a860887788d89058bcf8daf1eff001a99988bff0028199c
+ffffff199aff0016ccccffffff666608ff00008000ffffff8000058b8bff00033334
+ff0000199aff00054cccff00001999ff00056668ffffffe667ff00031998ffffffe6
+668b8b08ff00008000ff0000800005ff00168000ff0000999aff00273334ff0000e6
+66ff0017cccc8b08b2d0898b1f8d8d8e9e058c90888e878b0878066a8b849a90a808
+c3f7b20590a7999bab8b089e06908b8f8e8c90088f9e898d058b4789641effffe7cc
+cc8bffffd98000ff0000e666ffffe93334ff0000999a08ffffff8000ff0000800005
+8b8bfffffc9998ffffffe666fffffa4cd0ffffffcccefffffa6664ff00003332ffff
+fcb334ff0000199a8b8b08ffffff8000ffffff800005ffffe8ccccffffff666663ff
+ffff199affffe5b3348bffffe7e6688bffffd83330ff0000e666ffffe9999cff0000
+999a08ffffff4cccff00008000058b8bfffffdb334ffffffe666fffffc3334ffffff
+cccefffff9ccccff00003332fffffc4cccff0000199a8b8b08ffffff4cccffffff4c
+cc05fffff1b334ffffff6668ffffeb6668ffffff4cccfffff099988b0866528d8b1f
+87898777058a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083
+b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e
+896469568d8b1e88898777058a869089908ba88b9e7f92670813bcd0fbed058e7c90
+85978b968b9391959c08f760f7e705a3b2a498a88b089c06ad8b917b866f080ef89c
+947696a8f80aa8e7eb12f90eeae9ebf0eb133efa90f8cf1586709c76a68ba58ba5a0
+90a690a57aa1708b08718b71758671086afb691554fbb205137e856e7f7c698b087a
+8b898b7a8b056b8b839a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b91
+7b856f08fb38f76915f8ec0a6bfb691553fbb205856e7f7c6a8b08818b828b818b05
+6a8b849a91a808c2f7b20591a7989bac8b08948b958b948b05ad8b917b866f08fb31
+f7691586709c76a58ba68ba5a08fa691a579a1718b718b71758671086afb691554fb
+b205856e7f7c698b087806868b88888a860887788d89058bcf8dae1eff0018cccc8b
+b0ffffff3333ff0017999cffffff666708ff00009998ffffff6666058b8bff000419
+98ff0000199aff0006ccd0ff00003333ff0006e664ffffffcccdff00043334ffffff
+e6668b8b08ff00009998ff0000999a05ff0017199cff00009999ff00238000ff0000
+cccdff0016cccc8bff001be6688bff002a99988aff00161998ffffff666608ff0000
+6668ffffff999a058b8bff00029998ff0000199aff00046668ff00001999ff000466
+68ffffffe667ff00029998ffffffe6668b8b08ff00006668ff0000666605ff0015e6
+64ff0000999ab58cff0019b3348b08b2cf898b1f8d8d8f9e058c90878e878b087806
+6a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e8a8d058b46
+89641effffe666688bffffd6b3308cffffea4cd0ff0000999a08ffffff9998ff0000
+6666058b8bfffffd6668ffffffe666fffffb8000ffffffe666fffffb9998ff000019
+9afffffd8000ff0000199a8b8b08ffffff9998ffffff999a05ffffe9b334ffffff66
+66ffffd4999c8affffe419988bffffe999988b67ff0000cccc74ff0000999a08ffff
+ff6668ff0000999a058b8bfffffc1998ffffffe666fffff96668ffffffcccefffff9
+8000ff0000333287ff0000199a8b8b08ffffff6668ffffff666605ffffe8b330ffff
+ff666666ffffff3334ffffe6e6688bffffe84ccc8bffffda6668ff0000e666ffffe9
+1998ff0000999a08ffffff3334ff00008000058b8bfffffd4cccffffffe666fffffb
+8000ffffffcccefffff8b334ff00003332fffffb8000ff0000199a8b8b08ffffff19
+98ffffff199a05fffff1e668ffffff8000ffffed4cccffffff6666fffff1b3348b08
+66528d8b1f87898777058a888d87908b089006ad8b9585887c8a848682848008fb17
+fb6f716083b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e
+878d058b4e896469568d8b1e88898777058a869089908ba88b9e7f92670813bed0fb
+ed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b089a06ad8b917b85
+6f080ef7058aa8f80aa8e7eb01f75bea03f86bf826159b068f8b8f8e8c90088e9d89
+8efb0389ffffc16666ff0001999affffff999aff00006666058b8bfffffd3334ffff
+ffe666fffffb3332ffffffe66608fffff7999aff00003334ffffffb334ffffff999a
+05ffffe96666ffffff6666628affffe4e6668b0867478d8b1f89898778058a868e88
+908b089e06ad8b917b856f0854fbb205856e7f7c698b087806868b88888a86088778
+8d89058bcf8dae1eff0019cccd8bb2ffffff199aff00176666ffffff666608ff0000
+cccdffffff8000058b8bff0002cccdff0000199aff0004b333ff00003333ff000719
+9affffffcccdff00046666ffffffe6668b8b08ff0000cccdff0000cccd05ff000fb3
+34ff0000999aff0015e666ff0000999aff0010999a8b08acbe898b1f8d8d8f9e058c
+90898e868b087e06698b9d9ea0a308dbe60596978d8b918108b63b059f659479678b
+087f06868b88888a860887788d89058bca8db4aec0898b1e8d8d8f9e058c91868d82
+8b6b8b7e8c69cc084bf7130588918a8e919108f4f605b9ba9c97b08b928b918c8c92
+088f9e8a8d058b59896b6d5b8d8b1e88888878058a868c89908b089b06a78b847b71
+6e083830058181868d87950860e505839c89958c908d928f909f8b08fba4f73d15f8
+eb0ab1fcb3157a066a8b849a91a808c2f7b20591a7989bab8b089f8bff000066668b
+ff0000999a8b05af8b98739f6208c9fb13058e868b8686860822fb00055755738673
+8b080e528aa8f80aa801f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d88
+888878058a879188928bae8b99739f6208c9fb13058d868b8687860822fb00055655
+7386748b828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e
+868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06
+858b89888a860887788d89058bca8db4adc1898b1e8c8d8f9e058c91878d828b6a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b918b928c8c92088f9e
+898d058b5a896b6c5c8d8b1e88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b080ef70a8aa8f80aa8e7
+eb01f8ffea03f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d8888887805
+8a879188928bae8b99739f6208c9fb13058d868b8687860822fb000556557386748b
+828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e868b087d
+066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06858b8988
+8a860887788d89058bca8db41eff0011199a8bff0016199affffff8000ff0011cccc
+ffffff8000088c8a058b8bff00068000ff00003333ff000a199aff00004ccdff0008
+3332ffffffb333ff00053334ffffffcccd8b8b08ff00006666ff0000cccd05ff0016
+999aff0000999aff001e4cccff0000999aff0013b3348b08b2d0898b1f8d8d8f9e05
+8c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e8c
+90088f9e898d058b4789641effffe899988b66ff0000cccc74ff0000999a08ffffff
+6668ff0000999a058b8bfffffce668ffffffe666fffffab330ffffffcccefffff8cc
+d0ff00003332fffffb9998ff0000199a8b8b08ffffff3334ffffff333405ffffeee6
+64ffffff6666ffffe7999cffffff6666ffffed4ccc8b086c5c8d8b1f88888778058a
+868d89908b089a06a88b847b716e083730058281868d87950860e505839c89958c90
+8c9290909f8b08f7ecf73d15f8ee0a6afb691554fbb205856e7f7c698b0884066a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b089b06ac8b927b856f
+080ef7cb8aa8f80aa8e7eb01f901eaebeb03f7a7f826159b068e8b8f8e8c90088f9d
+888efb02893c8d88888878058a879188928bae8b99739f6208c9fb13058d868b8687
+860822fb000556557386748b828b8687898508887a8d89058bb98da8acbe898b1e8d
+8d8e9e058c908a8e868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0
+659479678b087f06858b89888a860887788d89058bca8db41eff0011b3348bff0017
+4cccffffff6666ff0012199affffff800008ff0000e666ffffff199a058b8bff0006
+199aff0000199aff00096666ff00004cccff0007b334ffffffb334ff0004ccccffff
+ffe6668b8b08ff00006666ff0000cccd05ff0016ccceff0000999aff001f8000ff00
+00999aff00144ccc8bff001999988bff00266668ffffff199aff00178000ffffff66
+6608ff00008000ffffff8000058b8bff0003b334ff0000199aff00063334ff000033
+33ff00064cccffffffcccdff0003ccccffffffe6668b8b08ff00009998ff0000999a
+05a2ff00009999b0ff0000cccdff001766688b08b2cf898b1f8d8d8f9e058c90878e
+878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e
+8a8d058b4689641effffe84ccc8bffffdaccccff0000e666ffffe96668ff0000999a
+08ffffff8000ff00008000058b8bfffffc6668ffffffe66685ffffffcccefffffa19
+98ff00003332fffffc8000ff0000199a8b8b08ffffff8000ffffff800005ffffe8e6
+68ffffff6666ffffd96664ffffff199affffe633348bffffe7cccc8bffffd98000ff
+0000e666ffffe93334ff0000999a08ffffff8000ff00008000058b8bfffffd3334ff
+ffffe666fffffb3334ffffffcccefffff98000ff00003332fffffc1998ff0000199a
+8b8b08ffffff4cccffffff4ccc05ffffeeccccffffff6668ffffe64cceffffff4ccc
+ffffec999a8b086c5c8d8b1f88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b08f7eef73d15f8ee0a6a
+fb691554fbb205856e7f7c698b0882066a8b7e8c6acc084bf7130588918a8e919108
+f4f605b9ba9c97b08b089d06ac8b927b856f08f774f7691586709c76a68ba58ba5a0
+90a690a57aa1708b718b71758671086afb691554fbb205856e7f7c698b08808b838b
+808b056a8b849a90a808c3f7b20590a7999bab8b08978b928b978b05ad8b917b856f
+080efbb58aa8f8faa9a57701a1f7af03f701d315856e7f7c698b087406868b87888a
+860888788c89058bd48daeb2d4898b1e8d8d8f9e058c90888e868b0874066a8b849a
+91a808f70df906758b0575827c877887798866857b8b08887205888d898e1e958ca1
+8e059f8b927b8052080efb217fb7f80cad01f7fee003f825e6157d9905635e606f60
+8b3e8b5bdca2f709a0f700c9d1cd8bc68b8960886a89729d80a18b9f8ba09a91a808
+95c062bc2b8bfb008bfb002f70fb2272fb15c530f70c8bc78bc0a6c5d7080e647fb5
+88a7f7f4aef75ca9a5771213b8f7f4e4155b646c776a8b558b52c7a5f71799d3a4b6
+9da0b4bab58e9f8bba8ba2769c650854fbb7157b46a28b051378a49dc296c795088c
+a7057b88758b7f8b838b81918a948a928d9b91a908f704f8d6758b0575827c877887
+798866857b8b08887205888d898d1eac8f059f8b927a8053086dfb2d057698619477
+8b498b5b755b6558606b4d7d410813b873fb0fba2ff7018bbd8bb8a9b9b2080ef76f
+8aa8f802bb01f8fdd315856e7f7c698b087806868b88888a860887788d89058bcf8d
+aeb2d0898b1e8d8d8e9e058c90888e878b0878066a8b849a90a808b3f764059de48b
+d4338b558b5571464f8db871b4548b4d8b5a66525908888b9fe27c8b05838b84887f
+866d7d7d874a80088a6f059d8f978c988b998b93878052085afb8d05866e7e7c6a8b
+087806868b87888a860887788d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e86
+8b0878066b8b839a91a808bbf78c05c4bcb1a4ae8bb08ba0707e48085ffb7805856e
+7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e058c
+90878e878b0878066a8b849a91a808b3f765058e998d998c97c6c0ae9fb38bb18b9f
+727e48080ef8ce89a8f8deac01f9baf91a15fb7906fbc68bfb13fb5e70fb1e65fb5b
+f700fb01f75a8b08f7fd06f7598bf72cf701b1f75ba2f70975f76cfbdc9208fb4ffc
+f51588918c978e9908edf88d058e9c90979191a38ea68ca88bf70b8bf7314a58fb9e
+64fb5efb1756fb268b618b698f7191082f166e856987618bfb278bfb01c0b2f75ebc
+f792f741d8f7178ba88ba68aa2898e848b7f887a0829fc8d05887d877f8685080ef7
+3c8aadf8d8ac01f7e1f89b1583ff00064cccffffef199aff00064cccffffee4cccff
+0002e66808ff0007999aff002780000592aeaf8fbd8bf76b8bb4fb436efb2e64fb5e
+fb1c5afb208b298b809292ab08ff0008999aff002c6666ff00046666fffff8999a05
+b79aafa2b0b1b2b2a2bb92c296dd79c74fbd08fbccfc88158777f7148d05af8bb689
+f28bf7218bf75bcabaf78aaff74efb0ff72cfb558b698b4c8b488a08fb138c877705
+8a868e88908b08a706b58b93818467082afc8605856b7a7d668b086d06868b88878a
+8608ff00becccdf70115ff003c7ffff7cd05ff00076668fffff6199aff00071998ff
+fff76666ff00053334fffffa8000a96b9a658457876d81707a71ffffe98000ffffe0
+199affffe180006cffffddcccdffffeae666080ef8ce89a8f8deac01f9baf91a15fb
+7906fbdb84fb01fb6673fb0f65fb5bf700fb01f75a8b08f7fd06f7598bf72cf701b1
+f75ba2f70975f76cfbdc9208fb44fc9d15c9f7d505a765be6a79307c3f494f617408
+79f7d5154dfbd5056aa260c79ad79ce6cbacb5b1083efbe5159999815505887d877f
+86856e856887618bfb248bfb04beb2f75dbcf794f742d8f7168ca98ba68aa2888e85
+8b7f887a08836505778875847f8463713a5273fb1174fb0dd94dbd7808f772f82e15
+83927792788e0893b1058e9c90979191a38ea68ca88bf70c8af7304757fb9d64fb5d
+fb1858fb248b618b698f719188918c978e990895c1937d05c59ef2c9a2f70da3f711
+51c46ca5080ea67fb4f896b001f7957f15f7618bf709f725a9f731abf73721f713fb
+378bfb058b626251877d54785b785808a88605b6e1d3dcf7108bd68bf7035867fb4b
+72fb1330fb2dfb238b348b57ac53d908717c05be32d05be68b080efb2082b7f80bad
+01b098b2dc03b0eb159e41c26cd18bf7198be5f5a2f707a3f7104bf700fb0b8b208b
+4c52825c8467a586948ba38ba198929f0897ad9eb7cd8bd38baf4776fb0073fb0e40
+3e328b598b61a473b7080ef8cdf783bf01f80ef85415595d5b665e6e5e6f66776d81
+08867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f9ee
+8b97bffdee8b05acaba3a4999ba7aca1a79aa2080efb0cf8a3f8a91567b36fb277b1
+77b17fac88a708740671626e696b6f434c5d64797f08816305af9aac9ba89baa9da7
+9da39e08fb5bfdefbf8bf75af9ef05a671a0799881a776a47ca081080ef8cdf783bf
+01f9ffdd15bdb8bbb1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b08
+6306926a956e9572966f9874997808fdee8b7f57f9ee8b056a6b73727d7b6f6a766f
+7b74080e28bb8815af63a7639f659f65976a8e6f08a206a5b4a8adaba7d3cbb9b19e
+970894b305677c6a7b6e7b6c7a7079737808f75af9ee578bfb5afdee0571a4769d7d
+966f9f739a7695080ef8adf783bf01fa56f7b715fd4706adaba3a4989ba7aca1a79a
+a2086506585d5b665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3
+067bcf76bf6eb008f947065e675d565c4808b4069b9bb9b0d8c4ada4b2a0b79c0891
+a20571956f9e6ba86ca86cb06eb80864068f74946f986b927b97729d6a080e29fb6a
+7601f7eff8f715fb33fd470570a5779d7d956fa0739a769508826405af63a7649f64
+9f65976a8f7008a206a4b3a8adaba8d3cab9b19e970894b305406c4f6a5e6608f733
+f94705a766b86ac76b0895b3057d986fb161ca78a77dae84b30874067b6f706b6564
+65655d64556308826405a495aa9ab1a09d95a99db1a5080ef7a9f8d0a701f870f8ec
+157589768b778b678b6b8d6d8f5e926894739808777b058f758d778b768b79897988
+797c358056837708a16e059fad9cab98a899ab96a891a608f867fcf3b8b0fc67f8f3
+05b690aa909f8eb294ac94a494080ef7acf8a8d101f9baac03f9dbf7e91595c799c2
+9dba9cba9eb09da6087f9b055e7a628265895688638a6f8b798b7e8b848c08686f05
+aa7fa881a784a985a787a78b08fd7ffcf3a766f97ff8f4058661896c8b798b658d6d
+8f74080ef7a945a701f8794515a18da18b9f8bae8bac89a886b985ae82a27e08a09b
+0587a1899f8ba08b9d8c9d8f9d9ae196c0939f0875a705776a7a6b7d6e7d6b816e85
+7008fc67f8f35e66f867fcf30560866c86778763836b827182080ef7ac43d101f711
+ad03f711f75115814e7d55795c7a5c7965787108987b05b79cb494b28dbf8eb38ca7
+8b9d8b988b938a08aea7056c976d946f926d926f8f708b08f97ff8f36fb0fd7ffcf4
+0590b58da98b9e8bb189a987a2080ef8cd338df7d9bf01f9e6f8fd15618b8a89fb4d
+fbd8fbe98b05acaba3a4999ba7aca1a79aa2086406595d5b665e6e5e6f66776d8108
+867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f7d78b
+fb4dfbd889888f8bb78b8d8b848df74ef7d9f8818b97bffc708bf74df7d6050ef8cd
+338df7d9bf01f9e6f8fd15618b8a89fb4dfbd8fc848b7f57f8728bfb4dfbd889888f
+8bb78b8d8b848df74ef7d9f7e68b056a6b73727d7b6f6a766f7b7408b206bdb8bbb1
+b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b086306926a956e957296
+6f9874997808fbd48bf74cf7d6050e29fb7abc01f85ffb4915fc208b775af8208b05
+fb11f9dd15fb04fd0c056bad64ad47ab08846405dd36b439945a08a106cbf700f728
+f7008b8c0892b305426b516a5f6608f704f90c05a966b96ac96b0892b3058b8bfb01
+f70071f701087506715a4539fb043608846405d4a9ceb8aea4080ef8adf783bf01f9
+d6f8fd15618b8a89fb4dfbd8fbe38b05adaba3a4989ba7aca1a79aa2086506585d5b
+665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3067bcf76bf6eb0
+08f7d18bfb4dfbd889888f8bb78b868df74ef7d9f7e08b055e675d565c4808b4069b
+9bb9b0d8c4ada4b2a0b79c0891a20571956f9e6ba86ca86cb06eb80864068f74946f
+986b927b97729d6a08fbcf8bf74df7d6050ef8a2f822be01f72af82215fa5d8a97bf
+fdc68b05b7b0b9c0bbcf086306535a5d66657266716576667b080ef8a2f783be01f7
+14f7b615f8ef0a0ef8a2f821bf01faf3f82215f8f00a0ef8a2f783bf01fadcf7b615
+fe5c8c7f57f9c68b0560665d565a4708b306c2bcbab0b1a4b0a5b1a0b09b080ef8a2
+f783bff6be01f72df82215fa5c8a97bffdc68b05b7b0b9c0bbcf086306545a5c6665
+7266716576667b08fa39fb2315fe5d8c8057f9c68b055f665d565b4708b206c3bcba
+b0b0a4b1a5b1a0b09b080ef8a2f783bef6bf01f714f7b615f8ef0aa2f615f8f00a0e
+f895338df77dc0f714bf01f8fbf7dc1542fb14fb868b057ea77ba1789ca6a2a19f9d
+9d08f88bf7b515618b8a89fb1afb7ffbac8b05adb79da28b8c086406595d5b665e6e
+5e6f66776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f753
+8bfb18fb7c89888e8bb78b8d8b848df71af77df8868b97c0fc748bd5f714f8478c97
+befc368b05f71af77d050ef93e348df77fbff715f709fb09bd1213d0f97bf7df1513
+e0f7e006957998759c73717a7275717108fc050613d0abf7151541fb15fbdb8b057e
+a67ba1789ca7a3a2a09d9d08f8def7b215618b8a8afb1afb7ffc018b05aeb89ca18b
+8c086406595d5b665e6e5e6f66786d8008867405af7ba976a272bc51a966937b08b3
+0687a386a2859f08f7ab8bfb1afb7e89888f8bb78b8d8b848df71af77ff7f78b057c
+767b757c7208b3069a9bbab0d8c5aea4b2a0b79b0890a20571966f9e6ca70813e06b
+a86cb06eb908640613d08b8a9275995f08fbaf8bf719f77d050ef895338df77fc0f7
+14c001f8c6f75e15d4f714f7848b05986f9b759e7a70747576797a0852f83315618b
+8a89fb18fb7cfc878a7e57f8758b42fb14fc498a7f57f8378bfb1afb7e89888f8bb7
+8b8d8b05848df71bf77ff7aa8b05695f79758b8a08b206bdb8bbb1b8a7b8a8b09fa9
+940891a205669c6ea074a459c56db0839b0863068f738f76917708fb528bf718f77a
+050ef895f727c0f714bf01f801f81015adb79da28b8c086406595d5b665e6e5e6f66
+776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f96f8b97c0
+fd8f8b057ea77ba1789ca6a2a19f9d9d08f9998c97be050e28f869f8a215b1729e7f
+8c8b0895b20566b36fb277b277b17fab88a708740671636e686b6f434c5d65787e08
+826305a595a394a19608fb3cfd6fc08bf744f98f05ab9ea6a1a1a19d769b799a7e08
+fb46fd9abf8b050ef895f729bff715bf01f9bef72915695f79758b8a08b206bdb8bb
+b1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b0863068f738f769177
+08fd6e8a7e57f98f8b05986f9b759e7a70747576797a08fd998a7f57050e28f7098f
+1565a477978a8b08826405af63a8649f659f65976a8e6f08a206a5b4a8adaba7d3cb
+b8b19e970894b30572827381748008f73df96f568bfb44fd8f056b787076757479a1
+7b9c7c9908f746f999578b050ef93ef72abff715f709fb09bd1213a0f7d5f7df1513
+c0f98606957998759c73717a7275717108fd76067ea67ba1789c08a7a3a2a09d9d08
+13a0b7bd15aeb89ca18b8c086406595d5b665e6e5e6f66786d8008867405af7ba976
+a272bc51a966937b08b30687a386a2859f08f937067c767b757c7208b3069a9bbab0
+d8c5aea4b2a0b79b0890a20571966f9e6ca70813c06ba86cb06eb908640613a08b8a
+9275995f080e29f8e57601f852f91715fb42fd8605767d71796d7480a17aa0749e08
+f73ff97605aa9fa6a0a2a19d759c799a7d08b66b15b2739f7e8b8b0894b20567b36f
+b277b177b27fab88a708740671636e696b6e434c5d65787e08826305a595a495a296
+08fb30fd370579967795759508816305987fa865b64b9d6e9869926308a2069ca7a6
+acb0b1b1b1b9b2c2b30894b2058a8b727f5a73080ef7c1f8bca701f832f8a715be99
+a6928c8b0876a7057589758b778b688b6a8d6e8f5d926894749808777b058e758d77
+8b768b798a7988787b368056837708a16e059ba398a197a108f821fc99b9b0fc33f8
+b00599ac93a98da7ab8da68da28d08f839fcb6b8b0050ef7c5f88fd66ca812f9cfac
+13a0f9d7f89115856b8670897608fd34fcb8a767f918f89f058d5a8d738c8a08aca6
+0595c899c19dba9dbb9cb09ea5087f9b055e7b62816589568963896f8b081360798b
+7e8c848c08686e05a0819f839f8408fd10fc99a866f92cf8b00513a09e879c8a9d8b
+08988b978c978c080ef7c159a7f9597701f8cf8a15587d71848a8b08a06f05a18da0
+8b9f8baf8bac89a886b985ad82a37e089f9b0587a1899f8ba08b9d8d9d8e9d9ae197
+c0929f0876a7057b747e757f7508fc22f8995d65f833fcaf057e6a836c89706b896f
+89758908fc3af8b65e66050ef7c557d642a812f716ad13a0f72fa01591ab90a68da0
+08f934f8b76fb0fd18fc9f0589bb89a48b8b08697005814f7d55795b7a5c79667871
+08977a05b89cb494b18ec08db38da78b0813609d8b988a928a08aea8057695779377
+9108f910f89a6eb0fd2cfcb00513a0788e798d7a8b087e8b7f8a7f8a080e42a076f7
+fdcbf7277701f7b016f7c8f8d0418b40fb27fb7c8b79f727428be0fcd005c1d71564
+f7b1f7528b050efb0780c8f86bc801f825d103f7738015e98bcaceb5f00845067251
+685a518b358b8bf706a3f70ea2f70cb7f707e28bc58b9b5a8c5008d10689f166ce2d
+8b448bfb07635afb9459fb95ed63d38b080e2880acf7c9b1f76bab01f7ccf7df15b7
+8ba469977869fb024afb26398b548b6cca95c09eeadcedd78b087cb1152d8bfb0a3c
+74fb107620ce45eb8bf72f8beef748aaf732abf7344df715fb108b428b4770856a87
+7a95809e8b089d8b9e9d999d92949996bc8be28b95fb297c3a877a887e878173b167
+9c5b8b080efb358bccf763ccf73ecc01f872f8d015fbda8b7e4af7958b69fb3efb89
+8b7e4af78a8b63fb63fb9b8b7f4af7df8b050efb358bccf763ccf73eccd77701f872
+f8d015ffffbee6668bff0024199acc6996ffffd5cccc3fffff2333348b7e4aff00c5
+999a8bffffa18000fb3effff82e6668b7e4af18bffff8ce666fb63ffffd4199a8b7f
+4aff0013cccd8b05ffffda333447ad7fff002c6666dbff010e999a8b05ff000acccc
+f88f15ff001333348b69fb3effffb080008b05ffffdbe6664a15ff0067999a8b63fb
+63ffff4d80008b050edc82bef87cbe01f83cf8a615ff0029999a8bff0024e666ffff
+f5ccccff001e99987908fffebae668fffe58ccce05ffffc2cccdff002b0002ffffe0
+b333ff004cb333ff00118000ff0057b333a5f71bf717f701f71a8b08ffff05cccdff
+fe10199a15ffffc03333fffface666a979cbff0053666605ff00216666ffffefb334
+ff0026e666fffff6e666ff002ab3348bf7388bf731f719abf736ff00136668ff0063
+199affffe03330ff0057999affffbf6668ff0035800008bfff0043cccc6d9c59ffff
+bee66805ffffdab334ff00166664ffffd2ccccff000cb334ffffcd80008bfb378bfb
+32fb186cfb37ffffeb199affff954ccdff00261999ffffa29999ff004a999affffcc
+333408ff00408000ff001b199915ff0142b334ff01a4999805beffffd3999aff0018
+8000ffffb8e666fffff08000ffffafb33471fb1afb16fb02fb1b8bffffde33348b6c
+ff0006ccccffffe51999ff000c6667080ea28ba501f80af8ac15f706fc92fc368b05
+f7caf8e215fb22fb7efb71fc038b8b878589888b898a88908a968b08f8a98b978b05
+8e8c8d8c8b8d8b8d8b8e89918b8b38f80356f77e080ea29376f8e2a501f7afce1521
+f892f8378b05fbe6fce215c406f724f77ef777f8038b8b8e918d8e8b8d8c8d8a8c88
+8c087f8bfca88b057f858a881f8b898b888d858b8bdafc03befb7e080e548bc4f75d
+c3f75dc40114e0f8621697c4fb308b05238b43e292f70608f7f68b96c3fbf68b05ad
+f700ece8f7088b08f72f8b97c4fb2b8b05fb318bfb2bfb176dfb2f6dfb2eedfb18f7
+338b080e548bc4f75dc3f75dc4d77701f8621697c4fb308b05ffffef4ccc8bfffff0
+199aff00023333fffff1199aff00044ccd08ff006b999aff00c28000ff007ce6668b
+96c3ffff9733348bff006f3334f75dff002999988b97c4758bafcc6996ffffd5e666
+3fffffa7199a8b05fb318bfb2bfb176dfb2fffffe96666ffff8bcccdff00323334ff
+ff984ccdff005e6666ffffd419990859ffffa5cccdad7fff0031b333ff0059b33305
+a1fffff9b332ff0017e666fffffc999aff001966668b08ffffb56666ff004d199a15
+ffffc5b334ff0020199bffffdce666ff0043800090ff00514ccd08ff00bccccc06aa
+c315ffff2f333406adf700ece8f7088b08ff00494ccc060efb4ec7c1f4c1f3c201f7
+8ac715ed8b95c1298b05fb128b86c48abb08f78f8b95c1fb8f8b05a0c0acbdf70b8c
+08ed8b96c2298b05fb288b444075fb0372fb14c951f7188b080e548bc4f75cc4f75d
+c401f72ff8d0158052f72f8b05f48bd33483fb0608fbf68b8052f7f68b056a202a2e
+fb098b08fb2f8b8052f72b8b05f7318bf72af716aaf730a8f72d29f719fb328b080e
+4f8bc4f75cc4f75dc4db7701f72bf8d0158052f72f8b05ff0010b3348bff000fe666
+fffffdb334ff000eccccfffffbcccc08fb00ffff3d8000ffff83999a8b8052ff0067
+b3338bfb03fb5cffffd74ccd8b8052ff0014199a8bffffdbe6664aae7fff002ab333
+d8ff00584ccd8b05f7318bf72bf716a9f730ff00169998ff00734cccffffcde668f3
+ffffa24cccff002c333408ff00323334ff005a80006897ffffce4cccffffa6666805
+ffffea4cceff00063330ffffe86666ff00036668728b08ff004a3334ffffb2800015
+ff0039e666ffffdfccccff0022e666ffffbc999a86ffffaf199a08fb5006ffffe066
+665215ff00d0999a0669202a2efb088b08ffffb76666060efb4ec7c1f3c1f4c201f7
+67f84415298b8154ed8b05f7118b91528c5b08fb8f8b8055f78f8b0576566b59fb0c
+8a08298b8155ed8b05f7278bd3d5a0f704a4f7134dc6fb178b080ef71bfb02a7f908
+b273a51213a0f87e651586707a7a628b087106868b87898a850888798c89058be98d
+afb2e1898b1e8d8d8f9d058c91888d878b087006648b7e9991a908f6f8be0592a9a5
+99a78c08a806908b8f8f8c8f088f9d0513c0898bfb1189858b448a528b4d8b448b53
+8b4d8c0813a07d8b228d848b088778058a888c87918b08a906ab8b9d8383660820fc
+be0585707b7a628b087006878b87898a850887798d89058be98daeb2e2898b1e8d8d
+8f9d0591898d861e7106638b7f9990a908f4f8af0513c092ad9396a98b08f77606ab
+8b8d7b856f080ef57fb363a6f8e1a81213a0f8e6f8c5152dfc7d05856f837b6b8b08
+fb71066c8b889792ac08e9f87c0591a99d98b38b08a006908b8f8e8c91088e9d8a8d
+058b388964682e8d8b1e89898779058a858e888f8b08a606b48b957b86700829fc8a
+051360846576856b8b086e06848b89868a880888788c8a05928bf38c998bc98bc28d
+d18bca8bc089d38b908bf70e898d8b088e8d8f9d058f8990861e6e066f8b759891aa
+08edf88a0591a99d98b28b08a6068f8b8f8e8c91088f9d898d058b34896467338d8b
+1e89898879058a858d88908b08a006b48b967b8570080eaa4dc551a1f88a76efb574
+a212f8cda1136cf8f0f8db15fc668b877405998ba4819f6708f70afb9efb93fba105
+7a7a80897f8b088775f8758bc9f743768d0513b4898655fb06458b08fbac8bf795f7
+a48c8cfb0bf7a4f7788b05c48b9a3a8d7808a18e050e69f763bc01f893f79415fc1f
+8b815af81f8b050e69f754bcf775bd01f7daf75415f7418b94bcfb418badf7415a8b
+69fb41fb418b815af7418b6afb42bc8b05f798f8541595bdfc208b8259050e69f74a
+bcf789ec01f7d9ec03f7d9f8a01585719a75a98ba88ba3a190a591a777a0728b718b
+70758670089dfbb915adf7415a8b68fb41fb418b825af7418b69fb41bd8bacf741f7
+418b95bc050e69a076f8d17701cd16f8c5f8d15a8bfcc5fcd1050e69a076f8d17701
+f86616bd8bfbe7f8d15a8b050efb70f781cf12f761cb53e113a0f75df77e15626556
+848360887c957d9c8bb08b9ec7adb89c63864ab28b998b9c978f9d93b35b9570af08
+9e8e9d8d9e8bad8baf9191a98d96889e708b6a8b746b59780813c094a9a4b390a68f
+a37e957a8b798b7a7a8875867199718763629e80ac698b748b7d7b897d08856caa84
+bc8b089a8b998a9889080efb70d3a7f724a701f4f75b03f7a3f73f1584696b66618b
+618b7aaf92ae92aea9b1b68bb88b9962856b08fb3a8c158054af5ec28bc28bc0b896
+c295c268b8548b548b555e8154080efbc8f74df70001f70bf70103f737f74d15a98b
+a8a391a890aa75a3718b6d8b6d71856e866f9b72ac8b080e8ff971b201f90bf97115
+f8f10a0e8cf7faa4f724a3f705a3b8b201f739bd03f90bf97115f8f10a8df9041583
+6268715e8508887305948c908c928ba38bc08480527d46507e788b6b8b8293859586
+9286927e8b808b7c818981088676bd7bb08bda8bd7b998d096c561a66b8eab9ba5a2
+91a892b06fa1578b348b6356897a088a888c7c9e8ba28b909c8e9792a4af959e8b9f
+8b9e82856c080e8ff800a4d5aef75777c7b201f90bf97115f8f10aa6f8ef158c9385
+8d858b848b7d7f8282888885838a84087c3f308b05a8add6ddc5d1086f9405575335
+2b5149088d7ff7248b81590587768688798b087c068889888a1f8776058bb08ca3a7
+b58a8b1e8e9f058c8d8a8e888b087b06788b88918f9e0895bcbe8b95ae548b050ef7
+74d9c453b9f796c061b5121390f829f785156a62344a598b438b76dd98cd97cab4bb
+cb8b08c88bc3259b5808f7dc841513607f4e635b4c8b518b55f273b9adb4e1cfbd8b
+d58b9e327f4f08d0b6159de467d12f8b3c8b303f52520813906fcd4ace3c8b228b35
+24782c76fb02c959d38bd58befd9bfc5081360ac49c246e08bf28be1f19deb080e77
+8bb5f8247701f729f84e1534fc4ef8388b93b5fc058bd8f824050efbf8fb6876fa37
+7701aff77503dbfb7d15f8f20a0efbf8fb6876fa377701dbfb7d15ff0056b333ff01
+be3334ff00b84ccdff015acccc618bffff89cccdffff20e666ff00463333ff016919
+9a5f8bffffa04ccdfffe13b334ffff46b333fffea24cccb48bff00784ccdff00e280
+00ffffc2b333fffec48000050efb2afb6876fa377701f7b2fb7d15f8f20afb3616f8
+f20a0e57fb6876f9b977f7267701f8c3f8d015ffff9c3334ffff883334ff002fcccc
+ff00f5cccc5f8bffffc2ccccfffec54cccffff2cb334ffff026667ff006e8000ff02
+384ccc5f8bffff84199afffd82ccccffff7ae666ffff603333b480ff004ccccdff00
+5c3333ffffd63333ffff28cccdb78bff00373333ff011c199aff00d36667ff00fdb3
+3205ffff976666fffde63334b78bff0075e666ff025eb334ff009c199aff00bb4ccc
+050ef70aa076f84f7701f82bf81715edfc17bb8bfb06f84f618bfbb1fc4fbb8b050e
+f70a9976f8507701f7eabd152af8175b8bf705fc50b58bf7b2f8505a8b050e3ea076
+f827af01f70916b4f76805a1f703acdbf7098bf38b8a3278250861fb68bc8bb4f768
+05a4f71487eefb278bfb2f8b5c2373fb0f0861fb68050e358bb0f8267701f855f84b
+1562fb670575fb036b3bfb0a8b248b8be39ff108b4f7685b8b61fb680572fb148f28
+f7278bf72f8bbbf3a3f70f08b4f768050efb4afb41c2f9e2bc01f73ab61574fb1572
+6b738b798b81ae6e8b768b7178867486709f76af8bf7018bdef5c1f7c508c4f7d405
+a4f71ea3aba18ba28b876aab8ba38ba29c8fa190a4779d6e8b218b392160fb81080e
+69d3f6f730f501f77ff73203f7b2f81815856e9e73a98ba88ba8a391a890a878a36e
+8b6d8b6f73856e0858fb9b15856e9f73a88ba88ba7a391a891a978a36d8b6e8b6f73
+856d080e69f769c691c601ecf76515978805acb7c2a7ae8ba58ba07ca07aa07aa17b
+a58ba38bce98bff6087c91056b59567a6f8b758b759c749b759b749b758b4e8b484c
+724a080e69f769c691c6f77a7701ecf76515978805acb7c2a7ae8bff00144ccd8bff
+00114ccdfffff6ccccff0010999afffff3e66808ffff61ccccfffed64cccaf7fff00
+97ccccff011ecccc05ff00104ccefffff44cceff00114cccfffff6e666ff0013999a
+8ba38bce98bff6087c91056b59567a6f8bfffff2b3348bfffff2b332ff00063334ff
+fff28000ff0008800008ff008f199aff010e4ccc6795ffff764cccfffefcb33405ff
+ffeb199a9affffea6666ff000e4cccffffeb33348b4e8b484c724a080e69f725bcd8
+bcbcc691c601f720f80115978705acb8c2a7ae8ba58b9f7ba17aa07ba17ba58ba38b
+ce97bff6087c92056b58567b6f8b758b759b749b759c749b748b4f8b484b724b08f8
+145e153b0a7c3e15fc208b825af81f8b050e69e2c691c6a1c691c601d1de15978705
+abb8c3a7ae8ba48ba07ba17ba07aa17ba58ba38bcf98bef5087c92056b59567a6f8b
+758b759b759b749c759b748b4e8b484b724b08b9f72315abb8c3a6ae8ba48ba07ca0
+7aa07ba17aa58ba38bcf98bef6087c91056b59567a6f8b758b759c759b749b759b74
+8b4e8b484c734a080e69e2c691c6a1c691c6f7667701d1de15978705abb8c3a7ae8b
+ff000be6668bff000ae667fffffc6666ff000a9999fffffa800008ffff9e999affff
+48199aae7fff005d199aff00afcccd05ff00014cccffffff199aff00014cce8aff00
+014cccffffff199aa07aa17ba58ba38bcf98bef5087c92056b59567a6f8bffffebcc
+cc8bffffebb334ff000d999affffebccccff000e999908b1ff0047cccd05ff000cb3
+34fffff86666ff000d4cccfffffa999aff000eb3348ba38bcf98bef6087c91056b59
+567a6f8bfffff6e6668bfffff6ccceff0002e666fffff6e666ff0004999a08ff0088
+6666ff010180006795ffff7cccccffff084ccc05fffffd6668ff0001e668fffffd66
+66ff0001e666fffffd6666ff0001e666749b759b748b4e8b484c734a08978805abb8
+c3a6ae8bff00184ccc8bff0014999afffff1ccccff00146666ffffef999a08ffffd9
+e6684305fffff1b332ff0009199afffff1b334ff00068000fffff166668b4e8b484b
+724b080e69f724bcd7bc01f817f8b6155906655d5d606063089c7d05b6a6b0a4b7b1
+a667a872ac6e08a2990570b36eb577ba08f71cfb7815fc1f8b815af8208b057c3f15
+fc1f8b815af81f8b050e69f724bcd7bcf78d7701f89ff7d215ffff6966668bff007e
+999af7836795ffff7c199afb8dffff34e6668b815aff00bb33348bffffd7b3323fff
+ff5f199a8b815af7258b29fb4dae7fff00684cccf759ff00d0b3348b0595bcffff3f
+4ccc8bff00283334d7ff00a780008b050e69f4b7cab7cbb701f8a8f80015fc1f8b82
+5ff81f8b057f4b15fc1f8b825ff8208b057e4c15fc1f8b825ff8208b050e69f4b7ca
+b7cbb7f75f7701f8a8f80015ffff78cccc8bff00663334f7556795ffff948000fb5f
+ffff2580008b825fff00cc33348bffffde19984bffff49b3348b825ff73c8bffffde
+999a4cffff6d66668b825fff00844ccd8b05ffffb2b333fb26ae7fff0053b334f732
+ff00de4ccc8b93b7fb638bff00214ccccaff00bab3348b93b7ffff54999a8bff0021
+e666cbff009580008b050e6996ba01d19615f81a8b95bafc1a8b05f702f75615f7e8
+f70895bcfc36fb21825cf7fefb2395bd050e6996ba01d19615f81a8b95bafc1a8b05
+f7f6f75515fbe7fb078159f836f72294bafbfff7228259050ef773f864f77f15f7e8
+f70894bcfc35fb21825bf7fffb2294bd05fce3f70c15f7e8f70795bdfc36fb21825b
+f7fefb2295bd050ef773f828f75a15fbe7fb088159f836f72294bafbfef722815905
+f8e2fb0b15fbe7fb088159f836f72294bafbfef722815a050e69f8cb7701ff0197b3
+34ff0139800015ff00774cccff0028800095bdffff9ce666ffffde8000ff0063199a
+ff00ba80006695ffff8eccccffff2a3334fffef53334ffffa5cccc815bff00a8999a
+49ffff9b6666fb52ae7fff0064199aff00bc8000ff009fe666ffffc1800094bdffff
+6ee666ff00394ccd05ff0013b334ff0073e66815ffffc9ccccffff99b332ffff8d99
+9aff002d199a050e69f8cb7701ff0124199aff00bce66615ff002c999aff00544cce
+ff005e4cccffffdacccc05ffff41e666ffffbf800015ffff6b199affffcd80008159
+ff00808000ff002b6666ffffad8000ffff64999aaf7fff0061ccccff00b8999aff00
+ee3334ff0050666694bbffff6b8000ff003a199aff007e8000ff00eee6666795ffff
+82e666ffff14999affff4c199aff004666668259ff00a53334ffffbecccc050e6996
+baf8917701d19615ff007380008bffffe4800057ae7fadcbf77d8b95bafb6e8bff00
+32e666ebff00ac199a4795bdffff618000ff003e4ccdccff007a7fffff008a8000ff
+002f333495bcffff8966666305ff005f999af7486695ffff923334ffff30b334ffff
+07ccccffffac4ccc825cff009b8000ffffc2999affffc5e666ffff926666ffff7d99
+9a8b05ff01044cccff00f54ccc15ffffcf999affffa4999affff9a199aff0028199a
+050e6996baf8917701d19615ff004c80008bffffe4800057ae7fadcbf7a48b95bafb
+958bff002e4cccff00573333ff00f3b334ff0052cccd94baffff67ccccff003b8000
+ff00763334ff00de80006695ffff8c199affff25199affff4fe666ff0044e6660582
+59ff00a16666ffffc04cccffffc1199affff896667ffff708000ffffcf4ccd8159ff
+007b8000ff0029e666ffffdae666ffffba199affffa4999a8b05ff00d16666f72415
+ff002e999aff0057b334edffffd94ccc050e64b6b5f7a1b501f888e015fb6806fb03
+8b45a4a1f709a0f3e8a2ec8b08f7688b94b5fb698b05fb148bfb03746ffb276cfb2f
+f56ff70f8b08f769060e64b6b5f7a1b501f700f7f615f76806f7038bd17375fb0a76
+242e732a8b08fb688b8261f7698b05f7148bf703a3a7f727aaf72f21a6fb0f8b08fb
+69060e64b6b5f7a1b501f888e015ffff4580008bff008fe666f7a1ff005e999a8b94
+b5ffffaecccc8bff00303334e567965526318b05fb148bfb03746ffb27ffffe38000
+ffff716666ff00576666ffffdce666ff006de667fffffb4cce08ffffc93333ffff99
+6666ae7fc8f706f75d8b05fb70ff002a333315ffff9a6666ff00027fffffffc1b334
+a7ff0014e666ff006f4ccda0f3e8a2ec8b08ff004b999a060e64b6b5f7a1b501f700
+f7f615ff00c8999a8bffff704cccfba1ffff93199a8b8261ff005f80008bffffc980
+0025ae7fc8f706d78b05f7148bf703a3a7f727ff001b4cccff008880003cff00254c
+ccffff98ccceff0006e66808ff0030e666ff005b4ccc67965526898bfb698b05f77e
+ffffd54ccc15ff005d4cccfffffb6668ff0037999affffe24cccffffec199a207624
+2e732a8b08ffffc28000060e8e83ff00278000ff00a28000b2ff00a2999aff002866
+6601f7ad8315f8f30aff0067e666ff0193333415dcfffff44cccff0033e666ffffbd
+b33483ffffabcccc08ffff63800006ffffd8ccceffff36cccd15ff001f999aff00a2
+3333ff009c80008b05ffffe7333237ffffb18000ffffbd6666ffffab3334fffff466
+6708ffffcee666ffffffb33315ffffade666ff000ab333ffffcb999aff0043b333ff
+0006cccdff0054199a08ff009f666706ff00274cccff00c9999a15ffffe04cccffff
+5d6666ffff6066678b05ff00196666ff0054b334ff004f1999ff00438000ff0056cc
+cdff000a6666080e8e83b1f738b2f738b201f7ad8315f8f30affff77b333f78515ff
+001b9999ff005c199aff005b3333ff0047e666ff005f80008bff005f999a8bff003f
+fffeffffb8e666fffff73334ffffa3199a08fffe8b80006415ff016ce66806ffffe4
+b332ffffa38000ffffa36666ffffb88000ffffa1b3348bffffa0cccd8bffffc11999
+ff00484ccdff00076667ff005bb333080e8ef856c415f8f40affff2f4ccdff012fb3
+3415ff004d3334ff00331998ff005d999afffffeb334ff00376666ffffca333408fb
+19ffff907fff05ff00724cccffff724ccc15ffffa3ccceff00723333f719ff006f19
+9905ff0027e666ffffbe6668ffffeeccccffffa31999ffffc08000ffffbd333308ff
+ffd6ccceffffdd199a15ffffb2ccccffffcbe668ffffa26667ff00016666ffffc833
+33ff0035199a08ff00863334ff0070199a05ffff8c9999f72315ff005d4ccdffff8c
+6666ffff79e666ffff8f999a05ffffd6cccdff004233359cff005e7fffccff00434c
+ce080e8ef856c415f8f40afb7bf7b315ff0050999aff00438000ff006b199aff0004
+4cccff003cccccffffc4e66808fffecb8000fffefd6666055eff00484cceff001866
+66ff006a199aff0050999aff004380000865fba515ff0134999aff0101cccc05ff00
+2bfffeffffb7b334ffffe6999cffff96999affffafccccffffbce666ffffaf999aff
+ffbcb333ffff963333fffffc6667ffffc33333ff0039e666080efbc8f760f70001f7
+0df70003f739f76015a98ba8a490a891a975a3718b6d8b6c71866f866f9b71ac8b08
+0ef2f760f70001ff0078199aff006de666ebf701e9f70003f8d1f76015a98ba7a491
+a891a975a3708b6d8b6d71866f856f9c71ac8b08fb5f16a98ba8a491a890a975a371
+8b6d8b6d71856f866f9b71ac8b08fb21c115ff0000b333ff00036666ff00004ccdff
+00034cce8bff000333328bff00193334ffffec199aff0012e666ffffe8e6668b6d8b
+6c71866fffffff6666fffffc999affffffb334fffffcb3338bfffffcb3338bffffe8
+199aff000fe666ffffebe666a88ba98ba8a490a8080ef7c48badf8f87701f758f82b
+15f7fbf74df7a5fb4d42fc09fd0b8b05acf8201537fc42f9638bdff842fbcbf76c05
+0ef70af85ef91a15f709fbb0bb8bfb19f7e8618bfb9efbe8bb8b050e8af7f9b701f3
+f71915b6f774f85f8b94b7fc948b56fba0050efb4aa076f829bd01f3f7bb03f316db
+8bb5f77f05a3f71fa3aaa18ba28b876bac8ba28ba39c8fa18fa4779d6f8b218b3921
+60fb81080efb4af75fc1f84d7701c6f7cb03f806f94e153b8b58fbab0574fb15716a
+748b788b82ae6e8b758b7279877385709f77af8bf7018bdef5c1f7c4080efb66f7b5
+a403f74bf79f15f8f50a0efb66f71fa403f7a2f79615f8f60a0e69f705bdbec801f7
+12a703f881f73715fc1f8b8159f81f8b05b5f7881571067c644160278bfb008b5cb6
+8ab2086f068345b442f71e8bf7198bd7d39ed2080e9aa076f8427701d4f84203d4f8
+4215fc42f842f842070e9a8badf7fead01d4b2f7f4b203f704f82015f7f4fbfefbf4
+0664f82015fc42f842f842070e77f8427701f886b015fb77f81dfb77fc1d050e77b0
+a4f8047701f886b015fb77f81dfb77fc1d05f82da415fc008bf74af7cf050e589776
+01d48215f81ef778fc1ef776050e58977601d4a503d48215f81ef778fc1ef77605a5
+fc2c158bf7fff7cffb49050e77f8417701b7f84115f777fc1ef777f81e050e77f828
+a501b7f84215f777fc1df777f81d05fc2d7115f8008bfb4afbce050e58987601f84a
+f85215fc1efb77f81efb77050e58987601f830a503f84af85215fc1efb77f81efb77
+0571f82d158bfbfffbcff749050ef4a8f76b15f7c4fbc4f7c4f7c4fbc4f7c4050ef4
+ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199cff
+ff07199905fffecc6666ff00fc7fff15f7c4fffecfe666ff0130199aff0130199aff
+fecfe666f7c4050e8e7ca5f6f761f2a501bca5f2f761f6a503d6f76f15f8f70a7116
+f8f80af7158c1553b95dc3c4b9b9c3c45db952535d5d521e0ef5cdf76415f797fbed
+f796f7edfb96f7ee05fb5cfbee15f75cf79ef75bfb9efb5bfb9d050e8e7ca5f833a5
+01bca5f833a503d6f76f15f8f70a7116f8f80a0e8e7cf86701bcf86703bcf76f15f8
+f80a0e8e7ca5f833a501bcf77df764a503f7aef83e15c58bc073b165af66a2578b53
+8b527457666665655773518b08f7cf07fb7d2015f8f80a0e8e7ca5f833a501bca5f7
+63f77e03f7ae9615518b56a366b166b175be8bc48bc4a2beafb1b1b1c0a2c48b08fb
+cf07f77ef700158bcb71c560b661b551a54a8b4a8b51716060626171518b4b8b4ba4
+52b460b660c670cc8b08cb8bc4a5b6b4b6b5a6c68bcd080e8e83a5f764f77d01bca5
+f833a503f87ef776158b507357656565675874528b528b58a265b065b174bf8bc508
+f7cf06fb00f77d154b8b51716061616071518b4b8b4aa550b661b561c571cb8bcb8b
+c4a5b6b4b6b5a6c68bcd088bca71c562b561b650a6498b080e8e76f77df763a501bc
+a5f833a503d6f768158bc5a3c0b1b0b0b0bfa1c38bc48bbf74b067b165a3578b5108
+fbcf06f6fb7d15cc8bc5a4b5b6b6b5a5c58bcc8bcc70c560b661b451a54b8b4c8b51
+726162606070508b4a088b4ba452b460b660c671cc8b080e8e7ca5f833a501bca5f8
+33a503d6f76f158bc5a3c0b1b0b0b0bfa1c38b08fb63f764078b5274576666656557
+73518b528b57a265b166b174bf8bc4087116f8f80a0e8e7ca5f833a501bca5f833a5
+03d6f76f15cc8bd68ace8b08f76407c58bc073b165af66a2578b538b527457666665
+655773518b528b57a265b166b174bf8bc4087116f8f80a0efb62bcf77d03f7aef858
+154a8b50706060626172518b4c8b4ba551b461b660c570cc8b080efb62d4f77e03d4
+7c15cd8bc6a6b5b6b4b6a5c48bcb8bcb71c561b561b650a54a8b080ebc9a7601f756
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0ef8c22bcf8cad79aaa4cc5dcc5aa496bd8db079a592ac76a094a77ab19cbe88ca4c
+a585a7aca48eae77cf12f7e4b69fac96ff0038e666ff0094199a9fbbc35ec58da3d3
+abf2a71380204f78fa07f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff4
+4cccfffffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08b
+ac8ba87b8d818b828b8189838808ff000cb334a2928dff00204ccc8b089473ba868b
+3b08fbeaf7081513a70ccf78c85fb170c18b9d8b9b8f9790848185808b7b8b56a559
+957affffb8e6688bffffe81998ff005180008bff002580008b908c918c8f087b7b57
+6a6e8b848b829181939389948a948b089f919398a278917f1f688bffffeae666ff00
+094ccdffffd9199aff001db3337a98fffff2800097fffff9800091988ea3a59c9f08
+8bbab6ab9a9d91a2978595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b
+908b9108cab19bb61e9589057c7075608b5c8b7b927e93817a93788d828b578b6572
+4e5c08f7afc6158bac60a08bb38b9e929f929eff001eb334fffff6999aff00361998
+ffffe480008bffffc3999a081380204f388bffffc64cccffffd0199cffffe38000ff
+fffb1998fffff28000ffffdd80008bfffffc8000ff000080007cff00118000928993
+89928b978b9b8d8ba808fccf52151380904f389a999d92a28ba08b9d839e7d7a7b76
+80748b798b78967b9c08f7d5fb8c159968af4a9b74b451b66fb6718dc1a1ada7a798
+98ff0029b334ff0017b333ff00234cccff000d4ccdd9ff001d4ccdc6ff0016b3338b
+f7030813c0206f388bcb5dbe60a908b385f71f5e8baf52a1c3a08baefb1e6362868a
+8b059d98979492939d9cb1ff002580008bff003e80008bff0056999affffbab334ff
+0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff000fcccc73ff000e
+cccc67a05ed287b543524f3f64360875ff0009800064ff000d8000618b328bffffa3
+6666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605ff0028199affff
+da199aff0059e666ffffcee666e28bae8bb4989b92081381084f38f709f7ac15b2a1
+7185827570661f678b729771a108a69f9e99b28b08138000dfb8bff77715969d91a4
+1f920792838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b3
+34828b3c8b7b5987747a95728e798b788b76827d7f081380014fb86f8a058c918b8f
+8b90081380024fb89d7f8f818073846e1e1380044fb88b7f91839287081380024fb8
+8f88968b998b081388d14fb8a106fffff48000ffffe73334ffffee8000ffffddcccc
+83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e8b878b88
+8a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba08ba85e8f
+8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006dffffff80
+00ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6cccd71a5
+72ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff00373334ffff
+e63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e8baa8b9d
+7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000ff000133
+3487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8199affff
+ff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000ccccff0006
+3333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd087b0674
+7788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff0004b333
+ffffffe666ff0004b333ffffff3334ff0004cccd08a58a0513a4004fb8967f99829b
+8ba98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf
+999ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a5
+78918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccff
+fff0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333
+ff001f4cccff00364ccd0813d0206fb8977eaa7d948b08a1989fa6997f9f741f7b8b
+ff0005b3347afffff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08
+a106c176db5f8b3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3
+e666ffffd9e668fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffff
+dab334b1fffff24ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366
+808d7a488b3e8bffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72f
+f72e05ff004cb334ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2ca
+f2c4ba9cffffdb80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff
+0025199cfffff19998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999a
+ffffd2ccccffffcc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a
+91ff001e80008bfffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e
+7f7c9f6ba759978e958c938b9408138000dfb8c06596701e6f8bfffff24cccffffef
+b334fffff7b334fffff24ccc08a58d05fffffeb334fffffb4cccffffff4cccfffffc
+b3348b87087e937c9e1e0ef84894f830fc129b849990a9f7a39a12d7b188a5132af7
+1df76115a99cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb
+2e808b82f71291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7d05134af72782908b
+059a8b95909297888a868b858b086875bdef1ff895eb15f7199ef7526d8bc58bb4fb
+298f27900813803290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d0813209888e4849a84081380d75ec183a48bc08bcd93c1a3a19396
+9a8b9e8ba17a858596a49397988b9f8ba1719f8b8b08aa9b999c8b9f8b9c7d9d669f
+081314fcd2fb6f158393849695949293938292811e808384831f0ef7e193a58ba4b3
+a58fa6a5a587a5afa3a3a8ada581a412a3a8f706abf73ba1aba5f09ea2a58ba680a5
+f749ab13373f20f847f778159e8ba5739f8baf8ba9998ba88b908a9089909c809482
+8b810865fb0e6561737e96a31e9ca49fa11ef827ed156b3b87481e688b051333bea0
+7d06708b668d6d8d79a372a66ca9aa8bb88da58b08f737ee796a1f13b33e60fbcbfb
+b8157174959c1f8b9aad86cba3a29498908b8b089891837c1f7052725c1e133b3ea0
+e3f70f1563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f1337
+3e20fb05d4155f8b34d58492088381bb5505137b7e2070716f7e6e8b7a8b73906e94
+088107a576a382a18b978b998d9d8f088707669e79af1e8f06888389848b888b7297
+7ea58908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f1f776786
+821efc55f70715f706918bfb99fb068a05f720f792151373be6087adfb39878bfbe6
+05b290d191c790088fbb058c8b8d8b8d8cd68b8f49f71d8b908b988b9f8d8b8a8d8b
+908c0813b7be6098789e82a68bc88bd5a88bbd8b9c83997a95081337bea092968e96
+8b968ba0809a7495081337bf608f948e938b918b9785977f9708b58b9f8b05eaf708
+8dc4d2fb4292fb141ffb0d0613337e607596788f7a8b428b6240398b080ea48c9ff7
+b1a1a0a9f781aa6ca112f78ad3f73ad013f6f7d2f8f0159b929e909a8b08c3c783fb
+062a5d793c1f788b808d808d08fb173e1590908e8e1f8b99878d3189498d88898b7d
+05889388951e8c06908b9d7da77608f71ffb0405ff00016666ffffff199a8c8aff00
+00999affffff333308fffffae66607ffffff8000ffffff6666ffffff4ccdffffff33
+33ffffff3333ffffff333308fb0e2f056b74797e848b0889067f8489861f8b7e8f8a
+058bae8ca0a3b18a8b1e8c8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08
+dbff003d4ccd8bffffcbb3330572807d721e8806878888871f8b7a8d89058bbc8dac
+aeb1898b1e8d8d8b9c058f878e881e8706778197a61f8bff0028e666c2ffffd7199a
+05aa7192858b8808858989821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e
+8e8c8b990590858c7d1e8a06868b8a8d5fad08fb1ff605888e8b91918f08f711e905
+b1a696939c8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d0587
+8f8991918f88861e8b868985767b082f4605fffffc3334fffffd4ccdfffffcccccff
+fffdcccd88fffffe4ccc08ff00a2999a0797869587a38b08f727b5e0d7c06edffb29
+1f768b6b8a5c880813ee608956887e8b087907898c87911e8f8ba08d938b089ba385
+691f8bfffea7e66659ff0028199a057b9985928b8f08908c8f971e0edd7bf730efd8
+87f0f716a412e5f708d8ecefd9ec9f13bff762f7a715a09d9c9fa19c7a76767a7975
+1e77799da01ff7a68f1513df769d79a0a09d9da0a0799c7676797a761eb1fb1f155a
+32a7f7011f13bfea41b54d1e3d8b5e5c7f2f94f734f701f701f72f8b08f727f712fb
+06fb2b3e544d391ffb1cfb3015f73ff70ef717f734f73dfb18f711fb35fb31fb1bfb
+10fb3efb33f70ffb18f73d1f0e8e83a8c8f55ca47790f703bdeaa7f7247712c8a7ed
+bd97a595a992bdf2a8139ff8f7a8f727158f8a906081890513cff886e215139ff86c
+8b66688389088d860599909f8d9c8c088d610513cff87a987e9f1ea18b95998c9f08
+8ca70513aff89589948a938b938b978f929508879205818c818e888b7c8b729c798f
+08868c868b868b08bfee15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeee
+f70f1f8bf147e02da59ea4c6b0ac9d088b76a47f1e8a067b8a4c516d64878b878c86
+8b0874f70e71759f278a8b057ac668ba58b108648605bc60b75e9e54267640328b20
+08fb0eed27f70f1e0e8e83a8e6a4f711bdeaa6f7257701c8a7edbd97a591ad92bdf2
+a803f7a8f704158c8b8f8b8f648189058dcd15618b78a479ab08767f059b6e9f70ad
+81088d6a0579987e9f1ea18b95998c9f088dac05b197a0a99399087798056e5e6685
+768b08b8f72a15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeeef70f1f8b
+f245e12ca49ec3b7b9beb7086390055865685b7a50088a8b9ff071a174fb0d05868a
+878b868b6db24dc47b8c088a068076728b1faa79c369a072287542328b2208fb0eed
+27f70f1e0e8e83c7e0f710f7d27712c8f70ebfe45a95828febf71413f9f7d8f7b315
+9997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697999a977f7d7d7f7f7c7d
+8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005586568
+5b7a50088a8b9ff071a10513f374fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e86f72515a08bb091a8b808
+9f7e05837d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba8
+08a097059d6b9e72b58b088a701513f58a64958d0513f386af050ef7189376dbbcf7
+29b4f72cbc01f747bdf7f4be03f851f85e15dfbf51411f8b7e897e887e762f313c28
+8b368b57c48bd68b978d988e99a1e9e8d8eb8b0832fc6b159edb05b98fb89db3a708
+b852ada760c505aeaba6b49bb908db8b94b23b8b058d968c968b958bac83aa7ca608
+d0c374a748540571a7669e5c8f089dd9638b793d055a875c79646f0860c2696eb554
+0567696f617d5d083c8b8162db8b0589828b818b828b6a936b9b70084653a16fd1c2
+05a570b07ab98608783b050e553fabf90fac01f7f6bfe8bf03f73df8f715ef70e022
+8bfb188b748973857262fb40fb3cfb18fb176da180a485bd8bf7618bf754f73db4f7
+4792a98ea98ba608f72a2bf707fb4a1e738b55847185084efd2315f721c9f704f5ae
+f72d92a68ea68ba48bf457de43baf7008bf701fb018bfb218b768976867566fb34fb
+37fb35fb4c8b080e553facf90fab01debfe8be03f8644c1528a635f38bf7198ba28e
+a391a3b3f741f73df718f716a975967391598bfb618bfb54fb3d62fb48846e886d8b
+6f08fb29ebfb07f7491ea48bc192a49108c8f92315fb204dfb042167fb2d85708870
+8b728b22be38d45cfb008bfb01f7008bf7228ba08da090a1b0f734f737f735f74b8b
+080e875db9f703baf7eabef7257701f714bec5bef786bf92bd03f7a7f7031573fb03
+218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda4f48f9b8d
+9c8b9b8bc870c455a9d8b1bcdc97bd0859068059462c248b408b60c68bc78b948c94
+8d9308590688818a7f8b7d8b5e9a52bb6c3a664a3f7737877a897b8b7a8b3db83ff1
+7c08f70cf81915f8fc0a0e875db9f703baf7eabd01f714bef7f3bf03f81ff88815f8
+fc0afb0cfc191573fb03218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305
+f70d9beceda4f48f9b8d9b8b9c8be54fdcfb078bfb158bfb08266ffb0b877a897b8b
+7a8b3db83ff17c080e8775bcf7ebbaf703b9f70f7701ebbef7f4bd03f7afa6153757
+c5d61f8b978d988e98a0e8e5daee8be08bbf518b418b7e897e887d752d2e3e2b8b08
+f70cf81a15a3f703f58b96b9208ba4f70f5d8b6bfb0f208b815df58b6efb0305fb0c
+7b2a297222877b897b8b7a8b31c63af7088bf7148bf709f0a6f70b8f9b8d9c8b9c8b
+d95ed6269b080ef575b9f7ebbcba76f709adf37701ecbef7f4bfdeb903f8b4f75715
+90a08e9f8b9d8bc771ba5ca608f733f76c0589768a788b798b6b8f6e946408b68705
+85bd87b18bb28bae8eb090b90878950523535577246f08a06905d29ab49ccaab08fb
+3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38bf70d8b
+f710eda6f70b08fb49f74015dfc050411f8b7f897d887e762f303c288b378b57c58b
+d58b988d988e98a1e9e8d9ea8b080edfe0ba65b9f817b412f72ddbf71dd313b8f7cb
+f8a315b69b544f1f8b6d876d857178375b454c7379846082768b088a06848b7a8389
+830886768b8705888c888c1e1378f80294058f8b8c898a890860fb519279ceaab5f7
+4ac88d05908e8f928d948e948995878e08508cebf835768d57802efc260588888887
+1efb5706bca9cbdfa1e990a38ea48ba38bda6acf3c8b2f8b45597e508a878a888b88
+8b79987f9f8b08a78b9b9f8e988c928c93898e8b8f8a908e970892a9a291b98b080e
+58f7e5baecba01f7c7cee5d203f79bf8f6157839518b057f8b7b7e877b89828e8295
+8b08cf8bfb03fc789179ceaac5f79105b5b9bca7ca8ba88ba76e8b658b858b858985
+805a6a4e716672695f4c805a877d8a7e8b7f088b6b9771a17308c9839696056fa77f
+a38ba98b968c978e9896b7a8cba5afa9b2b9cd96bb8d978d958b958bcb57ab4e8b08
+5a8b4269696708b1f73bdf8b05978b9ea18d978d938990808b082c8ba0e6748c050e
+c330abf737a5f73fbaf747a901f763bff700be03f76cf8771544fbc90584707a7a62
+8b088806868b87888a860887798c89058bd18daf1ea78bb8f759f28b58fb6f056381
+6870805c8a858a848b858b5eb672b58bbb8bc9a99ac88c918b918b918bab75a16c94
+08bef770ec8b5dfb59a78c05afd0888b1f8d8d8f9e058c90898e878b088806697e96
+9e1f8b8f8c8f8c9108d3f7c80591a89c9ab48b088e06908b8f8e8c91088f9e8a8d05
+8b4488681e6f8c5bfb632a8bb4f7427b9a6b8b757c62fb42258bbbf7636f8a056845
+8e8b1f89898778058a858d888f8b088e06ad9881771f8b878a868a8608b8fc761591
+a4a6a7ab8ba78b98778b768b878b878a8782666f746f8b718b7b9b8ba58b918c918c
+91080ef78d5db9f91b7712f75bcc5bcc13e0f83a5d15f68b96b9218b9ed605f74f9d
+f4f71db4f74590a09293938b978b9979927d08af8efb03f743058a8a888b8a8b8b8b
+66fb32887b68fb2a43fb0ffb287f08ecf8120591a49197938b938b957d9b7108ae8e
+2ff723fb37fb23ac8805a6a59d99948b908b8d878b828b858a838981083afc120524
+9365c78be40813d08bb092b595b88b8cb3f7418b8e08848afb53fb44ab88059b9ba1
+9b988b918b8f878b818b878a868a850813e0816186648b688bfb0cc63df71e7d088a
+8a7b41218b805df7008b70fb0fbb8b050e494bbbf7b6bcf70377f718bc01f86ad503
+f867f852157d4d5853548208a4f703788f547a752a398ebdf76bf71a93928b05b4b7
+76561f8b838a83898108fb18fb4515ea8ee2d3a2f28e988c988b9608d353b2391e81
+8bfb6783fb1cfcdfa17dbda0c9f79fdd883efbe3f784909daf8a98fb4385050ef7df
+f8cdbf12f721d4f73bd970c1f828d613e8f811fb0d159379d1aa05d3f7c8f73cf80a
+f7198bb08ba0718b5e8b7f897d887c8161735e645908bd82a49405b2bda3ba95b78e
+988d988b978bcf5ebd468b0813d8fb458bfb13fbbf4efb3e08820690c18fc28bc08b
+f73868f722fb088b3d8b324a752f887b89798b7a8b6e906e946d08bf83a3930580a8
+85a88ba78b9b8d9b8f9b9accb5b8bb8bd68babfb0b8bfb35088bfb1078fb286bfb1e
+080ef777fb04c4f802baf767ba01f743c5f811c503f802f7eb1539633c437424877a
+88798b7b8b21db38f7058bf7198bf71bf704a9f7148f9e8d9d8b9b8bd663c157ac08
+c5a1a9a5bdcb08abb305b2bcb0a4ae8b08958b95ba708b05598b56635346085f5605
+6f676f72717d717d6d84678b668b7092789978997ba47eaf0879c00573d167b25a8b
+086f8b805c958b05ae8ba4729c5a08986305a2449f76b677089afc22153052c8da1f
+8b998c998f99a3f5f2d9f08be68bc44e8b3b8b7d897d887c74282938208b080ef731
+65ba82baf86ab97fbb121360f7a2b515f702f87205a689ac8ab28bb18bac8ca78d08
+fb02fc72056e8e6a8d678b08678b69896d88083f861513805f855c82577e08805c05
+1340f1a4f698f7028b081390f7038bef7ee6720895ba055d986094639108f703f879
+05ba91bb96bc970896bb0513203173217ffb0f8b081390fb0e8b26973ca308805b05
+b67fb681b886080ef7a7a8c3f724b3e0b4e576d4c301f719bbf76cbde3bbf76dbd03
+f96bf81f15398b354d7737887f8a808b818b57ac6daf7759784e81438b228b25a426
+bc08716a877605ef59ee71ef8bf7088bf0a0e0b5e1b4c8bd9acd8d968d968b968bce
+57b9448b08816215bcad695b1f8b838a8289837d4c5061538b578b6aaf8bb98b928c
+938d9398c4c3bdc98b08fc5efb1115df8bdcd39edd8d948d948b948bae79ad56a8bd
+9ec995d38bf38bf173f05a08a5ad919e0528bd26a5278bfb078b2677346135615161
+7c4988808a808b808b45c25ad28b0890b3155a69acbb1f8b938c948d9498c5c2b9c7
+8bbc8baf698b5b8b848a838a837d52535a4e8b080ef738fb39c2ecbdf767bcf7a2ba
+12cfbef72fd17eca8ed7f76ad513fd80f8716b1598c6b4c9dad2d3ccbfdba2ee8e98
+8c988b988be24adffb228bfb088bfb193a71fb04887e897f8b7e088b70936f9e687b
+8f818b7c8b378b37467736887e8a7e8b7f8b44bf5cd28be28be9d79ddd0813fb808e
+958c968b968ba583a57ba80813fd8079aa83a78bac8ba28fa592aa9edce1c3e48bdc
+8bc44a8b3d8b7f897e887e74296b5b4d5508474f3f3c763089818a828b828b54b465
+cc8bb68bbfa7c7c508799e0558646d80628b718b789d8bad088b938c938e9508fb78
+f7ac1513fb80bfa9685d1f8b838a8389827d4f525e538b598b6baa8bbb8b948c938d
+9599c6c3b9c48b080ef75ff8d27701f74fd8f704d7f706d8c8da03f7f49815d6f7db
+05b0d9b9c8beb58e7f8d7d8b7a8b74886f846b083cfbeb05857286738a7364755b76
+567c088c6a05bf93ba99b39f9454a461b66e08a0990576ac80a48bb08b988c9a8e9c
+e4c7f70beeaaf71891a48ea58ba48bb483b37bb108447a0574737269716008a4f700
+058e948c958b948bb378b17aad085280056165686375628c918b908b908bb976b27b
+a8086c927079056c706a666e5c089d078bb085ab7fa30873895c7c0593748f728b72
+8b7688768675082cfc2d9379d1aadaf7e905aecdb7c3bdb88f818d7e8b7a8b708668
+81600834fc0c927905f799ac15bff77305aac5afb9afad90778d768b758b75897585
+737325493f4b57080ef744c4c0f70ac1f77bbc01f79fcaf794cc03dac415f8e50698
+8b9fa48d968d948a93808b08fce7067f8b7976877c088607848e86931eb3f73f15f7
+7e8b9cbd056e9d80a58ba98b958c968d969bd0d2c7cf8bc48bb45e8b538b8289828a
+81805f70625a76087a59f77e8b05988b9ea48e97089107918890831efb3c06b1aaaa
+ae94b28e988c988b968bdc4cc4358b248b2039752c89838a848b848b6d98719e7208
+fb32067f8b7976887b8a8a8b898b8908848f86931e0ef709fb3c9cf96a7712f740ca
+55d9f702d99bd0a4d9639f13dcf73ef8b61593778e748b730813ee8b738872856f08
+2efc269279d2aad9f7e805adceb6c4bdb88f818e7d8b798b71856982620834fc0f92
+79d1aad7f7db05add5b6c7c0bb90808d7d8b798b758871836b0841fbd50585728874
+8b778b5e996b9f7108a7670590868d878b878b8380897f8b878b878b888c08777af7
+08840513cda0f70c777b05897c8579828b888b868d87910877a4058297869c8ba18b
+a390ab95b508dcf7f30513de90a08da08b9e8baa85a77ea5083f7f0562656c657363
+8d988c988b978bb083a97da208407f056a6e6c666f5f8b908c908b908bae84ab7fa7
+087489050ee09376f889b701f909bb03f95ef8b1156a8569886c8b588b5e926c9608
+796105ac7eb184b18b978b978c978c08fbcafb8d30f70c5a63e6fb0bfb6cfb43a863
+f76df743e6fb0dbdb32ff70cf7c9f78e05816f85698b698b788c798f7a08b895058a
+988a988b998bc297c9a8cd080ef798fb05bacdb5f75fbaf78da19a7712f776c369c1
+f732c26ec4f768d913e8c0f876f8a1158e828c7f8b7d8b628351833f0813e940844e
+88678b728b669180956f34fb2b736b278b08728b805cbf8b05c08bd98df1f73aa962
+bb7dc18bd88be0c89fdf8e9a8d988b998bc965b6478b4b8b2b55574508970713eac0
+8bd7a7f71c8bf7008ba889a586a20813f2403d7c054c50563e602c8dac8caa8ba58b
+b488ab84a183a6629d5e8c087d7505ae7a9584985f8f7e8d6a8b600813ecc08b4d85
+387b4308967fb89705b4f748f4f714c1bd08f7a1fc14157e4f5d64658b628b59926d
+b8bee1c3ccc28bb38b9f6b8b638b818a808880080ef7a1e1e0159a5cf729f1058e8d
+8d8c8d8b8d8b8c898c8808ba2c058c888c8a8d8b8b8b8d8c8e8d08f721ec058e8e8e
+8c8d8b8e8b8b888d8708b92e058c898c898d8b8b8b8d8c8e8d08f720ea058e8e8f8e
+8d8b8d8b8d898d8708bb28bea650f7290588908a8d898b888b8789868708fb23295b
+ee05888f8a8d888b898b8889888808fb262759ef05898e8a8d888b898b8989878908
+fb1af733159a5cf729f1058f8d8d8c8d8b8d8b8c8a8c8708b92c058d898c8a8c8b8d
+8b8c8b8e8d08f720ed058f8d8e8c8d8b8d8b8d898c8608b82e058c898d8a8c8b8d8b
+8c8b8e8d08f71feb058f8e8f8d8d8b8d8b8d898d8708bb28bea650f729058990898d
+888b898b8789868708fb23295aee05898f898d898b898b8889878808fb26275aef05
+898f898c898b898b88898789080edff7a3b912f790d651d3e9d555d51390f8857d15
+b184b592055eca74ce8bd38ba68ea692a808f70c8b95b90513a8fb0c06a6e5c7e1ed
+e0086391658505333e4e366b2808fb09068d9d8c9e8b9d8bd775cf60c908618e6888
+05b948a3478b468b788978877808fb0b8b805d0513d0f70b0674234c2d2334089a86
+cd9005eee5ccf7019fe108f70906857088718b72088b39a841ac58080ef7358ba001
+f7dbcf03f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb0ff70b4dd432
+f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b968b9c7a8b5e8b
+557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef76c8ba0d0f7a8fb4d
+f71b12f78af7c6fb58e042c813a4f841f71015be9292961eb08baa30f28b08d9bac1
+d8b37bf4fb061f4a8b51586d8b0813a8818293951f13b08bacf7039b8bf308c85ac6
+24fb046149551e13a88b24f7027d8b668b7d8188838b0813c4698b57bd498b082271
+30563dbd55d61f13a4f28baae6b08b9a8b8d768b668b57836164830876f72fa00769
+937ebf8bb6080ef738f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff71ffb298b518b346b
+8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706f70c8bf7108bf704
+3bb0488b080edff7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706eaf5f0ee
+fb06ed32f70139f703080efb6380f739f8a97701f797ba03f7c6f943155cfcb3067d
+907190638b748b70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac
+9f08b0a29ea58bab080e7080f739f74c9bf7e17701f797baf723c403f80ff7f61595
+7b05c99ab1ab98bc8e928c938b938b9a879b839c7ea877a0709a48af61b278b5085c
+fcb3067a916f8f688b748b70836c7d647877738b6c8b739979a67ea082a286a58bad
+8bac95ac9f08b0a29ea58bab08f87407987da07da87fa57fa1789d72947d907c8b7a
+8b818980877f8272767a6982080ef736fb51f73a97f73901f797baf7d6ba03f908f8
+3815fc5a077a926f8f678b758b70836c7c647977728b6c8b739979a67fa081a286a5
+8bad8bac95ac9f08b0a29ea68baa088bf8d7fc34f7618bfcc6057a916f8f688b748b
+70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9f08b0a29ea58b
+ab08f878070ef736fb51f73a97f73901f797b9f7d7ba03f908f7d815fbfa077a9271
+8e678c088906758b70836c7c647977728b6c8b739979a67fa081a286a58bad8bac95
+ac9fb0a29ea68baa088bf8d7fc34f7618bfcc6057a91718f688b088906748b70836c
+7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9fb0a29da58bab088bf8
+13f7d4fb36058ef70e158b41fbd7f7398bd4050e2dfb49c9f712b375abd5bbd7b767
+b8e3bd94969c7692f70612edbf69c6f709d658b0a6c0139302f852f857158d8e8d8d
+8e8c89891e8a888989888b08898b898d8c8e08fb8cfc9a15b59bb4f74459880577fb
+7415d7a3c2ad94b30813b2068c908c908b8f8baa719b6e8b848b7f89828808836a05
+928d968f948b918ba0898b798b898a898b89856e4b7071827583707c73796f767489
+8b8208888f89911e968b9a8f948fa9989a98a593089e8a1578837f89808508826205
+887e9083978b968b979690a20813924af726f8fc158d93919f8f9f8e998d978b9508
+1392469f8295751e708b786e86740813928a8881855b8a8008a48fa48ea48b081396
+12fb09fb621593b805139b127b876e86888b758b7e948b9c8b8f8c8f8c8f98c3f718
+99b28bc08b8b80ae8b988b988d999208868e9189928897818b949290868b818b848c
+818d8a8a8391a287058d8d8f8f8b908b957b95828e7d8e939d768b788b51845d884d
+87fb1471773489838a838b82086d9a6ec01e9c8ba18da69108833e15988b988c978b
+089b8bbff76705748a748774860843fc091513d2228fab05618c78978b9f8b8d8b8d
+8c8e94b3cb8fb08bc18bed9e9bd18e958c948b938bbf5a94588f08805e05ad8aa386
+8b758b888a888a878059518b618b5e8b268776308a858a858b858b6ba170b08b0898
+8b9c8e9f90080efb2ef7aaa9f710ac12f754b071a1f711b013d8f775f7201588da73
+d32b8c888b8688878589858b868b868b67a8729182ad56b98b8b438b798874846d08
+887c90868f8b938b8f918f99b0f729b278dfcab2a9a6a692ab8993868d8b8b428a43
+455a3908aaf71e05b890bcad97c18d928c938b928bb769a7618b558b58607f580813
+e889838b838b848b64a56fb28808b9f72e15a79e7c6e1f8b868a8489858264667470
+8b728b77a18ba68b8f8c908c8f93acada8a98b080ef7a85db9f703baf7eabd01f714
+bef76ebeddbff76dbe03f864f77315819e85a28ba48b988d988e9994b2a1b0a9a996
+7790748b728b7e8a7f887e826375656c6e08a76915b5b2a9bd97bf8f9b8d9b8b9c8b
+ac83aa7ba6ab9eb096af8bdf8bbf518b418b7e897f887e08762e313c288b658b6c97
+749e082af7cb15b08ba980a27863656d597f57877a897b8b7a8b6b936b9b706b7867
+7f658b378b57c58bd5088b988d988e99a1e8e8d8eb8b08fb0cfc191573fb03218b80
+5df68b71fb0fba8baaf70ff68b96b9218ba7f70305b590b29baea1a276aa7bb38508
+74fb03208b805df7008b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda3
+f48f9b8d9b8b9c8be550dcfb088b578b597b606f6ea6629c568bfb158bfb08266ffb
+0b08877a897b8b7a8b3db83ff17c080ef7fffb38b9ebb9f75dbce8bcf723adf37701
+ecbef87bb9b1bfdfb903f91af85c157987a06805d39bb49bcaab08fb3bfb6b057393
+7b8b758b7c8b7c8a7c8887c072b360a408f733f76c0589768a788b798b6e8e709369
+08fba7fc30158b8e8c8f8c8e9acbbbc4c7a88b888a888b887c4b5b514e6e08895d15
+dfadd2d79fe28e948c948c94968d978c968bdf8bbf518b418b7e897e887e762e313c
+288b083d8b59bc84ce08f81fc31590a08d9e8b9d8bc872b95ca608f733f76d058975
+8a788b798b6b8e6e956508b6870584bd88b18bb28bae8daf91b908789605395e5875
+467786b089aa8bab8bae8eb090b90878950523535577246f08a06905d29ab49ccaab
+08fb3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38b9a
+8b9b8c9a8e9535cf4feb8b08f70c8bf711eda6f70c08fc25f7cd15d78bbd5b944b35
+69473e7631898289828a828089808a7f8b378b57c58bd58b988d988e9808a1e9e8d9
+ea8b080ef5fb2dbaeabbf7ebbef722ae01f3bff7f3c1dbb903f807f81015dfbf5242
+1f8b7e8a7f887d752f3139288b378b57c78bd58b998d988e98a1e9e7d6eb8b08fb0c
+fc1b15772c218b805cf68b7930ba8ba2e6f68b96ba218ba4e905f70399f6eda5f702
+8f9e8e9e8b9d8bc96fba5ba608f733f76d0589758a798b798b6a8f6f946408b68705
+84bd88b18bb28bae8daf91b90878960523525578236f08a16805d29bb49bcaab08fb
+3bfb6b0573937b8c758bfb158bfb08286ffb0e877a8a7b8b7c8b32c644e37e080ef8
+c22ccf77ae8ea49dca5ba785a588be9cb17aa794ac6aa09ea579b08dbd7ecc5dcc4f
+a4cd769aaa79ad8ccf12f739adedff00243334ff0048cccca48cc659c3bb9ff724c4
+9aae9eb51320200f3cf7def7f2158b988d979095a7baff00244cccff000ab334ff00
+0bb334ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b626076
+8b6a8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b0882a35c90
+8bdb08f7eafb0815132b0cafbc4eb765a6558b798b7b877f86929591968b9b8bc071
+bd819cff004719988bff0017e668ffffae80008bffffda80008b868a858a87089b9b
+bfaca88b928b94859583838d828c828b087785837e749e85971fae8bff00151998ff
+fff6b334ff0026e668ffffe24ccc9c7eff000d80007fff00068000857e8873717a77
+088b5c606b7c7985747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c86
+8b868b85084c657b601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1
+a4c8ba08fbaf50158b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e6
+68ff001b80008bff003c6667081320200fbc8bff0039b333ff002fe666ff001c8000
+ff0004e666ff000d8000ff002280008bff00038000ffffff80009affffee8000848d
+838d848b7f8b7b898b6e08f8cfc4151320900f3c7c7d7984748b768b799378999c9b
+a096a28b9d8b9e809b7a08fbd5f78c157dae67cc7ba262c560a760a5895575696f6f
+7e7effffd64cccffffe84cccffffdcb334fffff2b3343dffffe2b33450ffffe94ccc
+8bfb03081360201f3c8b4bb958b66d086391fb1fb88b67c47553768b68f71eb3b490
+8c8b05797e7f828483797a65ffffda80008bffffc180008bffffa96666ff00454ccd
+62ff00376667ffffef3334ff001db33282ff0023999afffff03333a3fffff13333af
+76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58be48bff005c9998ff
+00464ccdff001f6668ff001eb33308f74df749fb50f74605ffffd7e668ff0025e666
+ffffa61998ff0031199a348b688b627e7b84081321080f3cfb09fbac156475a59194
+a1a6b01faf8ba47fa575087077787d648b0813a8000f7c57fb7715807985721f8407
+849388958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948b
+da8b9bbd8fa29c81a4889d8b9e8ba0949997081324000fbca78c058a858b878b8608
+1330000fbc7997879596a392a81e1322000fbc8b978593848f081330000fbc878e80
+8b7d8b081324d20fbc7506ff000b8000ff0018cccdff00118000ff0022333393969c
+a6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f8b8e8c90ff
+fffc3334ff00008000fffffbccccff00008000888b878b76858b768b6eb8878b738b
+82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00008000ff00
+29cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334a571a46ba8
+668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8ccccff0019cccc
+ff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c8b799d8490
+8bff0004cccc8bff00026668ff00008000ff0004ccccff00018000fffffecccc8fff
+ffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668ff00009998
+fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334fffff9cccc7e
+887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b06a29f8ea4
+a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb4cccff0000
+199cfffffb4cccff0000ccccfffffb333408718c05132000afbc80977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b334081360215f7c7f986c99828b08757e77707d9777a21f9b8bfffffa
+4ccc9cff000db3348b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655
+a03bb78bdb8bae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff
+00261998ff000d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc
+65ff000db3347508acffffcaccccff001f4cccffffca3334ff0009b33463b096899c
+ce8bd88bff00479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05
+ffffb34cccffffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c
+7aff0024800078ff002080006fa271ff00148000ffffcb6666ff0016199affffdae6
+66ff000e6666ffffbcb334a56cff002c33338bff002ecccd088bff00386666ff002d
+3333ff0033b334ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffff
+e180008bff000e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77
+ab6fbd7f88818a838b820813a8000f7c56b180a61ea78bff000db334ff00104ccdff
+00084cccff000db33308718905ff00014cccff0004b334ff0000b334ff00034ccc8b
+8f0898839a781e0efb1cfb5cb7f9b6b601f748fb3015528bf73ef9b6c48b05f76ab6
+15fbd48bfb51fe0df7d48b95b7fb278bf73ff9b6f7268b050efb1cfb5cb7f9b6b601
+f747fb3015f73ff9b6c38bfb3efdb60539f9e1158260f7268bfb3efdb6fb278b825f
+f7d48bf751fa0d050efb66f7b5a403f74bf79f15f8f50a0efb66f71fa403f7a2f796
+15f8f60a0e6889a870b2f78cb2cbb2f751a81213b8f837f84115ffff63999a8bff00
+1b6666f72005ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffe4b333fb20ffffad4c
+cd8b8464ff0052199a8bfffff399994bffffad4ccd8b8464ff0052199a8bffffd6e6
+66fb6705fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c8805
+8787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4ccd428b08fb02
+06ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666
+ff0000e666ff0004cccd08ff0026cccdf75aff009d33338b92b2ffff6366668bff00
+0c8000cbff009d199a8b050efbac81c7f781b2cbb2f76aa8a57701e8da03f7e5f841
+15ffffaa80008bff00228000f72e05ff000e8000ff0040e668ff000a8000ff002819
+988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80
+fffffde666ffffeeccccfffffb199affffea333408ffffe2199afb1affffb9e6668b
+8464ff004466668bfffff1cccd4bffffbccccd8b8464ff004180008bffffda8000fb
+3c05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33
+338bff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b
+838b87918b93088b938e9a94b308ff0023cccdf734ff005a33338b92b2ffffa78000
+8bff000e4ccdcbff005733338b050e6889a870b2f786c691c6f769a81213b895f7a9
+15978805aab7c3a7ae8bff0008b3338bff0008199afffffe3334ff0007cccd8808ff
+ffcc6666fffef6cccc05fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc
+199a086c88058787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4c
+cd428b08fb0206ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff000080
+00ff00046666ff0000e666ff0004cccd08ff0028999aff00cf4ccc0599fffff7199a
+ff000eb332fffff9999aff0010b3348ba38bce98bdf6087b91056c59577a6f8bffff
+f04ccc8bfffff0333493fffff03333ff000a4ccc08ff00294ccdff00d2b33405ff00
+058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f8d9b87945e8a678a
+648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc9998ff000ae667ff
+fff33334fffffa3333ffffe2333408ffffdf4ccdffff58333405fffff93334ff0002
+6666fffff94ccdff00016666fffff933338b084f8b494c734a080e4d89a8f793adf7
+1cb2f713a870ad12ff01e8999aff0055999a13ecf81df87f15ffff89e6668bff0010
+199ade0590a8989cd08bff0038b3348bff0035e666ffffee19988bffffad66688bff
+fff1199afffffe3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a
+8d818e08ff00196666f717ff0076999a8b05ffff3b333316ffffb5cccdfc1105866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b728b4d
+82648b0813f4658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdff
+ffff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffc
+ccd0ffffff6666fffffc999808ffffefcccd38ffffae33338b8464050e93fb70aaf7
+4aa6779ff79bb1f7bba475ac12f2d1f705bef73fdc13d380f757d315b5f76705cf8b
+a7868e8408ccfb54059c5bb065c68b0813b3809a8b9d8e978f089f0713d780830667
+8b76af7db40849f76105a293a397a59dc2b1acb995c28e988c978b968bad81a875a4
+63b946904c8b6c8b658a5f8a08139b80618948857f88088779058a878d88918b0813
+d780aa8e918b059d91837c1f8b858a848982082efc73058156855c8b638b828c838b
+838e609767a06fa071a97aa88ba28b9f8f9d929f93989395950892948f968d958d94
+8a9486908590838d848b818b8187858582848480857c857b7f84788b087a8b809081
+93819585a38bb0088bb592c59ad808f794f7c1156d68587a408b08588bc5f7bc05a4
+91a78daf8bc78ba57092839c7792728b708b7e8a7d887e83607769726f080e4081c7
+f7faaa01d9dbf739d903ff01f06666f85a15ffffe83334ffffe8e66605ffffea199a
+ffffff999affffe94ccc8979ff00048000708e7e8e638b208bfb25fb318bfb318bff
+ffea6666ff0001e666ffffe7199aff00073334ffffe9666608ffffc48000ffffc619
+9a05fffffee6667cff0009cccc809b8b08ff0033999aff00324ccc05ff000e999aff
+ffecb334ff001666667eff0022199a8bc08bc3c2c7e4088d897e6105847488778b7f
+8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b
+7066787b818b888b828d8b97088b9491a78f9e08ff00393334ff0101ccccff003680
+00ff0035333405fffffe999898fffff8199c95ffffeefffe8b08fffeb3ccccfffe8b
+333415ff00d81999ff00d2e66705fffffaccceffffe6999afffff94cccffffe5cccc
+fffff7999affffea80005a313e376b8bffffec199a8bfffff46666ff000db333ffff
+f9b333ff0016800008fffffa199aff002be66615ffffffccceff0005199bffffffe6
+66ff000566678bff000566668bf5def735e78ba08ba1849e7f8b8bfffffe8000ffff
+f0999afffffcccccffffe94ccc080efb3781c7f7e8b201f722da03f776f841155688
+05788a848389838a88887f8b8908898e8b8e1ed18bffffcccccdffff1b999affff57
+cccdffff5c666605fffffee6667cff0009cccd809b8b08ff00814ccdff007e333305
+fffffa9999ffffe73332fffffbcccdffffe9b3348bfffff0e6668b679d81aa8bff00
+2c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b94ff
+00036666ff0014199aff0007999aff0021e66608ff000e4ccdff003f8000ff00f666
+67ff00f0800005fffffe999898fffff8199a957a8b08fb62ffff37b333ff001e999a
+ff00884ccded8b05979094a5809308288b95b805ff00043334ff0012b334ff0008cc
+ccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080ef71a8aa8
+f7c1b2f78ea701f9019f03f8978915c48bba338d72089f8ba2f70a058d987f92838b
+087b067583929b1f8b928d948d9508ecf88a0590a79c9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9a81761f
+8b878a878a860864fb62fbdb8bb2f7620591a79c9bb48b08a506908b8f8e8c90088e
+9e8a8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b87
+8b878a86082afc8a05856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8c8d8f9e058c90888e878b0870066a7d94a01f8b8f8b908c9008bdf795
+f7db8b59fb9505856f7a7b628b087106868b88888a860887788d89058bc48aaf1e0e
+5f8ca6f801baf75ea9a57712f844da5a9f13f4f80f8c15ba8bae308c72089f8ba6f7
+0a058c8c8b8c8b8d08958191841e7b067583919a1f8b938d948e9608bbf7660513f8
+92aa8fa58ba28bbe76a6588b648b437b384808daf7e9758b0575827b877887798865
+857c8b088772058a888d898e8b08ac8f05989282781f8b80897e877b08fb09fc8e05
+856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d8f9e
+058d90878e878b0878067281949c1f8b918c908c9208c4f78c05d4c3b99ca88bac8b
+9a798b648b7a88778672085cfb5e05846f7e7b6a8b087806868b87888a860887788c
+89058bc78da61e0ef7018ca6f8e2a701f90f9f03f8b88c15ba8bb1318d71089f8ba2
+f70a058b8c8c8d8b8c08978195841e83067a8b808e858f8291849079a508fb61f7ca
+f799f75205afa596909890938f998f9c8b089806918b908d8d91088fa0058b558a64
+675d8c8b1e8776058a868e88908b089b06998b8d888a8689837f80737a08fbeffb8f
+bbf7900591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e
+898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b
+628b087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c9088
+8e878b0870066a7d94a01f8b8f8b908c9008b3f75fd8c4f73cfb9705957c91848b82
+0885078a888687798b087606868b89888a86088775058bcd8db51e0e698aa8f809a9
+f767a9a57701f8759f03f8228c15c98b9f308c72089f8ba6f70a058c8c8b8d8b8c08
+978295851e7b067d8b808f868e839187907fa50830f765f702d605b0a49691979195
+8e988f9c8b08a8068f8b928e8c900890a1058b548964684c8d8b1e867505878a8790
+1e9e069b8b8e888a88887f6d78818408fb59fb1df703f872758b0575827b87788779
+8865857c8b088772058a888d898e8b08ac8f05989282771f8b81897e877b08fb09fc
+8e05856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d
+8f9e058d90878e878b0878067281949d1f8b908c908c9208a4f6ddc4d0fb3705927c
+8c838b858b888b898a888a868589798b087806878b8a898a85088675058bc58dac1e
+0ec48bb2f85976f71bb301f71aa5aca5f7f79f03f87716ba8bb5418d72089f8ba2f7
+0a058e987e92848b087a8bfc168b057a8b838f8d948c908f91939408f86bf89b05a5
+a78f928c93088e0791858e7b1efc3d0679848d921f8b8d8b8c8c8c8b8d8c8c8b8d08
+718e50fb56a5890597b8bae5d58b08f79506928b8e898a858a868784838408fc7dfc
+b105838387838984088707849087971e0efb2a8bb2f7f4b201f7f09f03f7a216b98b
+aa418c72089f8ba7f70a058d987f92848b08fb8a8bf7caf7f005989995968c928c8c
+8b8c8b8c0891858d831efb8d067f868c921f8b8d8b8e8d8f08748f49fb2ca48605b1
+dfab98aa8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1f0e3e9576
+f831a881a512f733cf50d5dda913b4f7b6f83915a098807d1f8b8a8b898a89846b53
+656b738a938b918b918b958c968f9f0894b1a5a4a28b0894a5154b8b4f618059887c
+897d8b7d8b7c8d7b8e797077747f727d0893790513cca097a59aa39a8b87973d8c86
+08a3fb25058d7f9183978b968b9693949908f771f7ed05a5b59a8ea78d089206918b
+908e8c9008909f058b5f896f6a578d8b1e8675058a888b87908b089b069b8a948a8b
+838b8a8b8a8a8a8a848581817b08fb22fb716d5988c079ed058b8c83b28c8eb1a5d0
+b996bc8c8e8b8e8b8e8b9f799d668b080e2b8aa8f7c4adf790a701f841ba03f7b9f8
+d21591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a
+8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b628b
+087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e87
+8b0870066a7d94a01f8b8f8b908c9008bef798f7208b05ad937b6f1f6c07878c8891
+1eb08b8e8e058eab8ca892ae91ac96a994ab8c8d8a8d888b086706878b8887898708
+7f6d057f6f7f7b688b08fb21060efb228aa8f74dadf72fa801f803ba03f749f7fa15
+49fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2d0898b1e
+8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208acf721f58b05aa94
+7e721f8b85896c05888d87901eb08b8e8e058fac8ea893ad94b49fbc8b92088c8b8d
+891e6706878b87878a86087d6e057e6f7f7a678b08218ba5f7030592a7989bac8b08
+9e06908b8f8e8c9008909e898d058b46896468478d8b1e898987780589868e888f8b
+089e06a595827a1f8b868a858984080ec476a7f828a601dcdaf82ad703e4f7781585
+7189738b768bfb20f70f65f08be48bf756bebbf75f8f9e8d9e8b9d8bdd5dce2d8b71
+8b6e847076085c647a617a420852fb8d055c906b9a79a77ba582a98bb28b9f8ea290
+a5a9f715c3b0a49c087da0055d7427606dfb1508f78ffb7015c2f77f05a5f706afc1
+b18bb78ba6718b488b71876a81637d4b6e615d5d6566617b6085080ed9f821f7befb
+6376121380f743f94b15805885705cfb70d68bb6f75ff71c6b0513407626d58b9edf
+f78553a8d7050ecefb79f7bf4577121380d4fb1915b6f75f418b5cfb7085708157f8
+ddf7118dd7fb9d520513409de0418b7525050ef75bfb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392b277b79ab192a5f7151299ff00098000ff0004
+8000948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321fc
+c9f8f803f88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366
+661e8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8b
+fffffee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff0000
+8000ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b89
+9105ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c8608850689
+948991868b081321fcccf8306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b
+8c8a1e888188841f7016888984878b8b081321fceaf8819886978b9508a092a59fa3
+917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00003334
+ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000
+fffff8cccc081325fcc8f8f7f8fc2815888b8cff000d6666fffff18000ff000a6667
+081331fcc8f8fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bffff
+f3b3348bfffff89998fffffa3333fffff8b334fffff8999a081327fcc8f884fffff8
+e666fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba9
+7bbd6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd
+3333ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989
+891efb9af833158a8c848e8a8b081321fccaf88596899b8b93089d989aa19d9e7d68
+1e8b7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d
+8708ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321fcd8f8878f898d8b
+8f8ba4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d
+8b728bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caa
+a108cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b93
+8a948a93088bad8b94051323fcc8f8a38fa09d1e8f8b8f8992858d7f8e8091830813
+31fcc8f8937c9e87988b0813a7fcc8f8af8b9eb99b8bff0006b3348b8cfffff08000
+ff0001cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7
+cccdff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74c
+ccffffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffff
+ee6668fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a
+9a819c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a3333
+081369fdc8f88ba1ff00148000ff000533338bac081369fec8f88b9c849c8b998b95
+8eff000b333393ff0006cccdff00074cccff00063333ff000bb334fffffdcccd978b
+ff000a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff00
+0be666fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b333
+7799ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e666
+fffff00001ff000d8000ffffe79999ff00043334ffffedcccd8bfffff266668b838a
+858985817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08ffff
+f08000ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196
+838a928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff
+001c1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e666
+ff0009e668ff0007199aff000c8000ff0003800095ff0001999aff00048000ff0000
+199aff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666ff
+fff18000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff00
+12199afffff2b334ff000f199affffe6ccccff000d6664ffffe9999aff000c6668ff
+ffe033338bffffbe33338b778a788878081323fcc8f8858f858d868b7c8b7f7b8b64
+8b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e
+8bff00064ccdfffffb4cccff00089999fffff6b334ff000a999afffff5999aff000b
+e666ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffff
+e69999ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff
+000a999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58b
+b685a0880813a9fce8f8ff0009999affffe76666ff0016e666fffff3999aff001f80
+008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998ff000eb333
+ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff001699
+98fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed33
+34ff000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff2
+99988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b
+48081369fed8f88b4394678b708bffffe3e666ffffec199affffde999affffe2b333
+ffffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcc
+ccfffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffb
+b333fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666ffff
+f1199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff00
+028000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000
+ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999affff
+f8199985fffff8b334fffff480008bffffed8000081361fde8f88b8092688b838bff
+ffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff00
+14e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cc
+cd8b9f8ba192999f08a396ae8ea78b080ef8e867aeaef70380b29fade4f7023cf71b
+dcd512eebcf864b4f73ae795f70d13d7e0f8786715c2f706b5f0bb65d3231f4a8b31
+6a7c8592d6c2b3ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b08
+6d8b80a3749e867c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b08b
+ba8bcb9abf9f49d857bf35aed89fa4c58bb68bbc5ec04f8b08628b656d7657989097
+8e978b08a5a07b68695f7a691f808b728d6d905a924892598b478b467961716472fb
+003b8bfb310813bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f75
+8b5758786a796b866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884
+ae15648b61a171a676a183b48ba98b908b908c8fbc9dc39fbc8b08e3a764515b505a
+3f1f0ef8e8ff0365ccccff0208999815ffffce3334ff00174cd0ffff86e668ff000a
+3330ffffd53330ffffa48002ffffebb334ffffd480008fffffaeb332ff005e33345f
+ff003ae668ffffe48000ff005f8000fffff7b334ff00101998ffffff199affffd9e6
+684affffbd3330fffff31999ffffdae668fffffe999affffe93334fffffe8000ffff
+cdb334ff0005cccdffffbde664ff001ee666ffffae8000ff0026199affffd96668ff
+0038ccccffffee6666ff0028333408ffffed6666ff002ae666fffff9199aff002c19
+9aff000b6666ff00188000ff00088000ff0012199aff0018199a99ff00187ffeffff
+f49998ff001b3334fffff34cceffffffccccffffe5999aff000cccd070ff000ae664
+ff000b8000ff0006cccc95ff0004b33495ff00276668ff00543334ffffcde664ff00
+30e664ffffdbccd0ff0010e6686eff000d9998ffffb4ccccffffffb334ffffe26666
+ffffc0999808fffff4199affffe6999cfffff4e666ffffdc6666ffffffccccffffe5
+999afffff98000ff00076666ffffde6666ff00166666ffffde8000ff000fb334ffff
+d56668ff0013e664ffffbfb332ff000d8000ffffc86667ff0003e668ff001b3333ff
+ff9e4ccca4ffffbae668ff003f199affffbbe666ffffb1ccccff000e8000ffffd0cc
+cdffffd6199affffedcccdffffd8ffffffffeb3333ffffd3999aff00124ccdffffbc
+e666ff00366666ffffe6999a08ff0025199affffee9999ff002f3334ff000b199ab4
+ff00263333fffff219988cfffff3e668ff00026667fffff51998ff00051999ffffe8
+666796fffff3cccdff00176667ff000ecccdff001fb333ff000e6667ff001ecccdff
+002f1998fffffcb333ff001ecccefffff1999995fffffb4ccdff0015b332fffff399
+9aff0019199affffeecccdff00296666ffffe4e666ff0039ccceffffdd4ccdff002d
+4cceffffeacccd08ff003d9998ffffe33333ff00461998fffff31999ff0031199cff
+0005cccdff002de664ff0006199aff0083b334ff001acccdff00428000ff008e3333
+ff0008199cfffffe6666ff00088000fffffd199aff00091998fffffbcccdff002d4c
+d0ffffeaccccff00306660ffffd9e667ffffe54cd0ffffc6e666ffffef8000ffffdc
+b333ffffdb3334fffff34ccdffffd39998ff0014cccdffffede668ff00088000ffff
+f18000ff00048000fffff0ccccffffdf666608fffff2e668ffffe3e666fffffc3330
+ffffd4999aff001b3334fffff34ccdff0013e668fffff6b333ff0044b334ff001833
+34ff001f3330ff0015ccccff001de668ff00156666ff00114cd0ff00190001ff000f
+3330ff00209999ff00254cd0ff004fb334ffffbc4cc8ff0037e666ffffc26668ff00
+1cccccfffff51998ff0005199afffff6e668ff00043334fffff44cccff00034cccff
+00178000ff003bb3347dff007dccccfb08ff0036333208fffff78000ffffdd4cce15
+ff00234cccffffef8000ff001cccd0ffffda4cceff000c1998ffffdc8000ff0009b3
+34ffffe33332fffff5e664ffffd78000fffff34cd0ffffe4cccefffffde664fffffb
+8000fffffdccccfffffb6666fffffd6668fffffccccc57ff00046666ffffc4ccccff
+0005999affffd3999cff0014ccceffffb04cccff00254cccfffff71998ff002f3334
+ff0018999cff00348000ff00144cccff002b8000ff004a4cccff00136664ff0044cc
+ccffffdfccce080ef8e868aeaef70380b29fade4f7023cf71bdcd512f766f70e94e7
+f73bb3f7a3c2f71ebd13bbf0f9946815f7148bcef7008ecb9889958b968bcf8be1a1
+8be38baf86a978ab78ac57be768b086c7d626c679a899fbca670634d4f7d5a1f818b
+828c828d8bf73120db63a40813d7f062a5459d488b598b488459846d867389808b08
+68609cadae9f9ba51f978b9888988676bf64a9638b4f8b5d568b5a8b60a551d77736
+6856574a3ebf77cb7cb98b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997879974797f736d8b718b7aa28b9e8ba7a4b0afaaaba7c6afe58bd58bba7b
+a08008ac7ac26392407b9132ac4a8b082266435b1f26f70661c11e93ae153e50bcbb
+c5a7b2e31fbd8bc377bc79087d078b6d83627675716f6276648b080ef785e2b2f2b2
+f1b301f9e8f82e15fc258b8263f8268b05452515fd068b8364f9068b05a52415fc25
+8b8264f8268b050ef785e2b2f2b2f1b301f711f82e158363f8258b94b305fc14fb22
+158364f9068b93b205fd54fb22158264f8268b93b2050e1c06f4f75af540b3749112
+faf8f70013501c076ff7a115fb80061330f8fd0a1350f8fe0a1330f8ff0a13501cfb
+3416fb80061330f8fd0a1350f8fe0a1330f8ff0a1390f893ae153a0a0e1c0f14f75a
+f53dba7092121c087bf70013501c0e39f7a515fc6b061330fb238bfc7c77fb2a8b08
+84071350f71c8bf89677f7178b08f86b061330ee8bf88a9ff7488b089207fb5b8cfc
+6f9e208b0813501cf6ab16fc6b061330fb228bfc7d77fb2a8b0884071350f71d8bf8
+9577f7178b08f86b061330ef8bf88a9ff7478b089207fb5b8cfc6f9e208b081390fa
+69aa153a0a0e1c164ffb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c08cc1
+74c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a18bf7
+d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78be2e6
+f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d1ffb
+ed8bfb9920fbb08bfb768bfb81f705fbd18bfbbc8bfb022ffbe48bfbc18bfb3ae1fb
+bc8b081380a0fbe18bfbd625fbc68bfb318b3ad2fbda8bfb9d8b6844fc618bfc208b
+fb44f70b718b087d7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e8bf7
+7a8bf87ad8c58b08138400f78e8bf75645f7b78bf7858bf7a3d6f72f8b08139000f7
+6f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31e7fb
+7f8b08138500fb378bfb9e40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb8c43
+fbdc8b08138200fb8d8bfb44bafb928bfb818bfb164efbb78b087c7f7f7c7c977f9a
+1ff7ba8bf714c9f77d8b08f90dfbc615fb578bfbc0a87d8b7d8b7e7f8b7d8b7d957f
+9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f8108b08
+13c000f7a48bf71fd2f77f8bf71c8bc27abf678f889189908b9a8b97988b998b9487
+93839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb4e8b
+fb9029fc0e8b080ec2fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f713
+15f9000a13baf9010a13dc688282611e6d06878788861f8b788d89058bf7078d971e
+13bcf9020a0ef9defb67c296a9729cf714a3c49c84a879a089a86fb293c4f71ca96e
+a0b477f6a3c49b7eaf78a7b2c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55e
+b86abab7b8a7b8bbbba2b796b890b8f70ebb1390ccf207f0f869f71315f9000a1390
+ccf107f0f9010a13914c7207f0688282611e6d06878788861f13924c7207f08b7805
+13914c7207f08d890513924c7207f08bf7078d971e1390ccf207f0f9020af959e815
+13924c7007f095d4b890988b08a1a87d53868888851fbbfb021513d24c7007f07674
+76806a8b608b60ba8bc88b908b8f8c8e08f7320691908f92bd78c93c524f54304aad
+4dde1fb68baea2a2aa08fbd7851513b44c7007f07a8582771e8206888a89881f8b80
+8c8a058bb18ca0a2b48a8b1e8d8c8b96058e888d891e7f067785949c1ff71307c180
+b4551e6c8b6e83655e08898b8dc0828b05868b878a84870813b84c7007f079827987
+7187088f7b05958d928c938b089390866b1ffb2a077a8582771e8006888989881f8b
+808c8a058bb48ca0a3b18a8b1e8c8c8b96058e898d881e83067785949c1ff7280713
+b44c7007f0aaaea195a68b08aa9378601f13904c7027f0fbf5f73c157c987e9b9b98
+989a9b7e987b1e7b7e7e7b1f13944c7017f0c5fbbf15f7728207868b878985880813
+b84c7017f07a8383886585088e7a05968d928c928b089490866b1ffb29077a858277
+1e8006888989881f8b7f8c8a058bb48ca0a3b48a8b1e8c8c8b97058e898d881e8006
+7785949c1ff7f2f8941513905d7007f07a8682771e7f06888a89881f8b7f8c8a058b
+b38ca1a2ba8a8b1e8d8c8b97058e888d891e79067785949c1ff719078b938f938e90
+9aa09896928b8f8b8f898f8790859287978b089b95949a9b8297721f6f8b716c7b74
+088a8b8cc1828b05878b868985887983858865850813904e7007f08e7a0513905d70
+07f0958d928c938b08948f856c1ffb88741595d4b790998b08a1a77d53858989851f
+bbfb031513906c7007f0767576806a8b5f8b61ba8bc80897f73207928f8f91be78c9
+3d524f54304aad4dde1fb58bafa1a2aa0813905c704ff0fc4a7f15f74907a3a4aa8c
+918b08b0aa5f4e466e57521f798b7e8f7f9a08f816047e067f858289808981897587
+828b0813905c7087f08c7c05898c8a8d1e9e8d0513905c704ff0979182691ffbc007
+8b738b81897d089888059091939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b
+748076750813904c7807f0fb62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13
+904e7407f0c4fbc015f772820713904e7207f0878b868985887a8384886585088e7b
+05958d928b938b0813904e7407f09390876b1ffb2a077a8682771e7f06888a89881f
+8b808c8a058bb38ca1a2b48a8b1e8c8c8b96058e898d881e80067785949c1f0efb00
+9476f81ac801f83ac903f752f7b015a4fba4058c7d9081978b968b9495979b08f730
+f77005c0d695b68ba708ae76a37178797d761e8b69a1808b708b74806b78710832fb
+116d658abe7bf74c0588ac8ab6859d869884947c8b628b4f726a2c91839685958b9e
+afa4b0978b9b8bfffffecccdfffff03334ff00073333ffffb1cccc080ef7069476f8
+1bc701f919c703f750f7b015a0fba3058c7e967f938b958b9793969d08f722f78bc7
+fb90058d7f9382948b958b9793949908f718f77205b5d29cbd8ba708ad76a36e767c
+7f751e8b67a57c8b758b7c856e75640825fb3e82bd5df7550589988197778b838b82
+8084800820fb50726089b97bf74b05fffffce666ff0022e666ffffff199aff002919
+9a859d869884947c8b628b4f726a2c91839685958b9eafa4b1978b9b8bffffffe666
+ffffef199aff0006199affffb1e666080e35ffff1c8000cdff02218000bf01f84dcf
+03f75cf7f915879d79947e8bffffeb80008bffffe98000fffff0cccc858bfffff8b3
+338bfffff9999aff000b33348b928b91ff0001b333919091afa0b695ae8ba48b9679
+995608a4249439912e088f8af0f74105a0af8d9c8b9c8bff0015cccc75ff000d3334
+8bae08a19c9da0a4a673681e8b6f7d675f4108fb52fbcc05ffffc26666ffff9ae666
+ffffb6199affffc7999a578b087a6093ab9b94a8bb1f938b9387928591869287958b
+998bff00378000ff00208000b4ce08acc1057af72382d569f728080e329476f805dd
+01f853ff0048666803ff0130999ad715950a0e2b81aef8baae01f7fcf8d3159b8b9a
+859480ff0005999afffffa1998ff0004e666fffff7999cff0003e666fffff4e66408
+ffff1acccdfffe80999c05ff0000b332ff002ee66693ff0032b333ff0007199aff00
+243333bbf78acfb9b68b08ff003f6666ffffa5800015ff0002e666ffffd8999affff
+fc3334ffffca3332fffff28000ffffbab334792f7c4c745866395a827a8bffffdc33
+338bffffee4ccdff001bb333fffff8cccdff0026cccd08f7a8ff01cf800015ff0029
+b334d16e99ffffdd8000ffffc64ccc05ffffed199aff0011199cffffe6b332ff000b
+9998ffffdfb3348b2c8bfb06fb0a65fb5affffee999affffa74ccdff0005333337ff
+001a4ccdffffc6999908ffffcae666ffffa7199aa97cff002a8000ff0047666605a1
+ffffe46667ff001dcccdfffff23333ff0024b3338bd58bf713d9b9f77f9eee85e06c
+c5fffffe4cccff0003666889ff00034ccc89ff00034ccc080e2b81aef8baae01f7fc
+f8d3152c0afb0afcdd152d0a0efb5a89ac01e0f7b403f7a8f70e152e0a0efb198bcc
+f892ae01f722f868152f0a0efb1381aef7b3abf77bae01f723d403f7d6f8d315300a
+0efb0389acf721ba01f801f88f15310aecfbb415320a0efb1f80aef7d1bdf722ce4e
+d31213e0f7e9f75115792c4d45518b678b84a4809f829c7d9a778b798b757a877783
+62d669c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682788408bef73b05ae87
+a986b98b0813d0a88bac8db38f08a7cf858f0513e053855786588b678b698d6a8e08
+32fbb405c29fb08fae8b08c98bb46076fb01080efb0680aef7c6ae01ff00c8e666ff
+0133333415330aff000fcccdff0024666615ff002b9998ff005accccff0050b334ff
+0064e666f71dff0031b3348d978a948490246d4761494a41435b307c3c64fb5ff263
+d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cccc8bffffd93334fffff83334
+ffffe0b333fffff26666080efb399376f8b8cc01f7a6f8ab15340a0efb0981aef8ba
+ae01f7e9f8d315350af71c3115360afb8efc6015370a0efb0f9476f78aaef7c6ae01
+ff017e199aff0123cccc15380afffff06666ffffdc000115390a0ec181aef760b8c4
+b7f75cae12ff00ad199aff0058b332ffffac3334ff00566666ff0170999aab13f6e4
+f7df15ff0065800006fffffc4ccd7efffffccccdfffff2b334fffffd6666fffff24c
+ccfffffee666fffffa4ccc8afffffa4cceffffff199afffffa6666082b8b6a5e0513
+faff007c199a06fffff86666ffff753333ff0043999affff9bcccdff00a0e6668bc0
+8bcb95aa90a6baa0bc9fc48590838f7d8b67465d42218bffffa9b3348bffffd23332
+ebffffffe666f70008ff00bc33348ba9b80513f6ffff28666606ff0001333495ff00
+01800095ff0001e66695ff0001ccccff00094ccc8d94ff00023334ff0008b33408f7
+828ba9b7fb938b05ff0034199aff00959998ff0068999aff00326668ff003c4ccc8b
+db8bb14995309888958d949291c18fbe8ac26292669e2c8bffff8733348bffff8933
+32ffffa49998ffffc7cccdffff70666808ffffaccccd060e5c89acf2b4ceb5f7b7a7
+01f7d2f70e15ff00024ccc97ff0076b3348b05968b998f8d95088fa0058c8f888d86
+8b08ffff7966668bff000d199aceff007680008b05968b998f8d95088fa1058c8f88
+8d868b08ffff8433348bff00acccccf77b05a9b4999eaf8b958b8a8f8c8f088f9d8a
+8d057689648a838b7e8b528d848c0889898778058a888b87908b0899069e8b928589
+8189838580817e08fb36fb6735f7670587958a988d938d9693909b8b089806908b8e
+908c8f088e9d8a8d057c89498a858b7e8b488c808d088a898778058a8592898e8ba4
+8b97729a6708e1fb68917afb098b05798b847e898308887c058a868c8a8f8b08ff00
+8866668bfffff2e66748ffff89b3338b05798b847e898308887e058a868c898f8b08
+ff00884ccd8bfffffdb3337f057b387a864788848586769085ba8ca88cbc8bbb8ba6
+8abb8a92918fa08691488e7c909bde080efbc6fb40b8f979ac01f7d2f89f159cde9c
+90c38e92918fa087915d8a758a5f8b598b6a8c5d8c848587768f85d5889a867a3808
+31fc4e0566fb48566f6c8b7e8b8093869585988ba06e8b7e8b6a7687758467b9799f
+8bb58ba993b8ae08bbb0ccbfa8f723080efbad78a8f764ab01bdbff71ca903f1d815
+f8c00a579915f8be0a0e5e81b3f805b301f7e4f82315e78ba43a782875fb04513e31
+8b3b8b65dea0f59ff1c7d9e48b0893b315fb1f8b282075fb0574fb0ac6fb03f71c8b
+f71c8bf1f4a3f710a2f70b59f0fb278b080efb8289acf7e6aab57701c8f78c03f73d
+f70e157b387a864788848586769085ba8ca88cbb8bb98ba28abb8a929190a0869148
+8e7c909bde08b1f75b0597c798be8b8b8d93868d828b597b618337798a7f8d819082
+a78ea58ea08b9a8b8d808157080efb0c8bc2f7e8b701f7b9c215f9030a0efb19fb49
+aef7b3abf77bae01f5d503f7b2f82815f9040a0e26fb42acf721baf81b7701f7d9f7
+e31553fbb4fb4c8b05ccdde5f704e0e908ebfbb4153c8bc3f7b80595bd93b28e9308
+8a8d6c8b05848b848587863f3dfb23fb38fb08fb23087c8c70a81ef7588b792f0582
+5d668b6188848587769085aa8cb28cb78bb18bae8aaa8a92918fa086915d8f778994
+ba089de7cd8b05988b9e9e8d978d958891808b080efb2ffb4baef7d1bdf722ce4ed3
+1213e0f7ad9c15f9050a13d0f9060a13e0f9070a0efb0180aef7c6ae01ff00bfcccd
+ff0132800015f9080a9bff0024cccc15f9090a0efb22f800cc9677121380f777f800
+15f90a0a13407e97051380f90b0a1340f90c0a0efb0581aef8baae01f7e5f8d31535
+0af71c3115f90d0afb8efc6015370a0efb05caaef7c6ae01ff0150199aff0078cccd
+15f90e0afffff03332ffffdb800015f90f0a0ef589a8f76ab5f80b77cbe501f7e5e8
+ece703f7e6f97f15c50af7528c15c40afb71fc65153d0afbcdfb6015b30a0ef681ad
+f8ecadb2e501ff00576666ff005ae666ff009ab334e8ece7ff00024ccce403f7e2f9
+7a15c50af7528c15c40a33fb0b15580af79bfbbb15590a0ed481b4f8dfa8bde501ff
+007bcccdff004ecccdff008f6666e8ece703f7eff97a15c50af7528c15c40afb7bfd
+8515660a0ef796fb82ac92acf8bfb29277f77eac7aac12f972ff00568000ffffb880
+00e513e2f90cf81a159e8bff002819988bff000fe668fffffd8000ff00106668ffff
+fd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666ff00008000fffff366
+66fffffa8000ffffe3b334086ffb2505ffffec9998ffff9b8000fffffab3344fffff
+edb334ffffb8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08ff
+fff2ccccfffff03334fffff6199affffeae6666bb17bb71fff0030b3348bff002880
+00ff001c199aff001f3334ff0030e666ff0030ccccff004c6666ff001d1998ff007f
+3334ff0018b334ff0095666608ff000e4cccff0056333405ff00066668ff00269998
+ff000accccb28bff0011199a0813d17f0a13e5718b4884498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813eaffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666fffff4e666ffffee999affffeb6666fffff2b3337c8b
+fffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff76668ff000d
+cccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9b333ff00
+186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007ccceff0011
+e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff00f66666
+088e9c05ffffea3334ff00bc800015ffffe9b332ffffd59998fffff06666ffffcce6
+68fffff4b3345308558b858bfb0a8b99cb05ff001eb334ff008c4cccff00444cccff
+0010b334a38bff0024199a8bff00103332ffffe9b334ff000e8000ffffea199892ff
+fff56668ff00073334fffff61998ff00093334fffff93334080ea2fb82ac94aff8ba
+b29277f78eac12f872ff00568000ffffb88000e513dcf86df7d5156ffb2505ffffec
+999affff9b8000fffffab3324fffffedb334ffffb8800075356979798bffffe4cccc
+8bff00058000b6ffffceb3348b08fffff2cccdfffff03333fffff6199affffeae666
+6bb17bb71fff0030b3348bff00288000ff001c199aff001f3332ff0030e666ff0030
+ccceff004c6666ff001d1998ff007f3334ff0018b334ff0095666608ff000e4cccff
+0056333405ff00066668ff00269998ff000accccb28bff0011199a8bff000db334ff
+fff8b334ff00076666fffff2cccc8b0813ea718b4884498b08fb01068e9995e5b2d0
+adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effff
+c8cccc8bffffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668
+ffffe0e666ffffafb33478ffffa21998084f880579ffffff199a82fffff7e6668983
+8a88887f8b8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a6667
+60ffffbd6666fffff4e667ffffee999affffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0028199a8bff000fe666fffffd80000813dcff00106666fffffd66
+66ff000a999afffffcccce8bfffff54ccc088bfffff6e666ff00008000fffff36666
+fffffa8000ffffe3b334080ef780fb82acf757bfff00c34ccdff0022b333ebd25ab2
+f780ac1213f4f895f8d315ffff8eccccfc8b05fffffb8000ffffebe666fffff7ccce
+ffffe7199a8bfffff633338bffffef4ccdff0009199afffff58000ff001fcccc8bb1
+8b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766688bff00
+0799988b92fffff8b33390829d6b96ffffcd3333ff00146668ffffd2cccdff002099
+9843a46cb48bad8baeaaabc384938790808b08776e7678808bffffece6688bfffff9
+8000ff0011999afffff59998ff001466666fc27eb27da7fffff04cccff001f6666ff
+fff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b0899ab9eaa
+a77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08d3f7cb05
+9acc95b38b8b8b92888e828bffffece668fffff8e668ffffee1998fffff81998ffff
+e480007cffffef80009affffce999a9affffdd66668b528bffffd46666ffffef9998
+ffffdb8000ffffe266680813ecffffc96667ffffd3b334ffffde666640fffff14ccd
+ffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd0677fb06804f
+81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee99
+9affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff89999ff000bb3
+33fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ffffe46666ff
+fff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666
+ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff
+0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d
+861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666a8ff001a99
+9aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff36668ff000d19
+9afffff0199808ff000e6666ffffee9998ff0010199affffe46668ff00008000ffff
+ef8000080ebdfb82acf757c7f7e8b2f784a801f82ada03ff004e999afb4315fffff4
+e668ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff00074c
+cdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea
+00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb4
+8bb79faab6ff001b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104c
+cdff0050e667ff000ecccdff0053e666088e9cf7688b4efba405fffff8b334ffffdf
+999afffff94cccffffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9
+889884917f8b5d5779817b8b888b818d8b97088b94ff00036666ff0014199aff0007
+999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff0012
+b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff000199985efffff6666866
+087e59fb6a8b96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff00
+1bb334ff00118000ff00084cccff000c80008bff000e80008bff00128000868e7bff
+0003e66676ff0008199a71ab8b08a1999c9db15ba34f1fffffeae6668bffffe0199a
+80777bffffdfb334ffffe61998ffffd64cccffffd9666865ffff4e80000849880579
+ffffff333483fffff7cccc89838a88887f8b8908898d8b8e1edf0673fb06fffffb99
+9affffc4199afffff36666ffffb4e6667b2cffffef4ccdffff5c6666ffffdb4ccdff
+ffc6999a080ef7a781c650bfff00c34ccdff0022b333ebd26caaf760a8a57712dedd
+f751d0137780ff01b6ccccd315fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff0009199afffff58000ff001fcccc8bb18b8bb8ff0007e668b008ff002419
+98f73605938e92ff00004ccdff000766688bff000799988b92fffff8b33390829d6b
+96ffffcd3333ff00146668ffffd2cccdff0020999843a46cb48bad8baeaaabc38493
+8790808b08776e7678808bffffece6688bfffff98000ff0011999afffff59998ff00
+1466666fc27eb27da7fffff04cccff001f6666fffff9b334ff000d999a6a94088b8f
+bfb905bcb7a69d9f8ba58b877dad8b0899ab9eaaa77592701f6b8b4e65434b0863ff
+ffddb334057afffff14ccc767b768b08d3f7cb059acc95b38b8b8b92888e828b7081
+437e628808887305888c898f1eaa8905989385751f8b80897a86750813af80fbe8fc
+d115f7010a0ef7c281c6f7dec76caaf760a8a57712deddf751d0f7a1dd7ada13de80
+ff0207e668d315ff00261998f73a05caddccc6af8ba08b99858b6c8b7d8978836908
+65fb340513df00f9100a13de8093ae90a28b9d8bc7709f648bffffcc33348bffffcb
+4cccffffeb3334ffffa4ccccffff954ccc08ff003cb334ff010f800005ff000e8000
+ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62880888730588
+8c898f1eaa8905989385751f8b80fffffde668ffffeeccccfffffb1998ffffea3334
+08ffff92ccccfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff
+0009199afffff58000ff001fcccc8b08b18b8ab7ff0008e668b108fffec919983915
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c66660813be00f729d1e3d899a7866a1e8b8589838886fffffd66
+66fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4
+ffff9380001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccff
+ffcbccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00
+178000ffffdf199aff0014999affffe3199aff0022ccccffffece666ff0028999a8b
+080eb881c3f7ecb201f4daf767d803f8bef8411595b8058f9d94a98b978b9c83956b
+8b678b8d5f8165087e59fb6f8b95b805ff0004199aff0011ccccff0008e666ff001e
+33348b978b9c83956b8b678b8d5f8165087e59568805788a848389838a88887f8b89
+08898e8b8e1ed18b47fbc105887c89818b7f8b60a278b08bb68bc4a9b0bbfffffc99
+9aff0008b333fffffae666ff0006e667fffff78000ff0003666670756878778b7b8b
+88ff000de6668bff0011199a088b998fa091a308c6f792f76e8b4cfba605846b856e
+8b788b67a381a48bb48bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b
+9490a392ab08c9f79ded8b05979094a58093080ef71981c6f7e9b2f785a701deddff
+0075ccccff00238000ff0023b334d0d2da03f8ecf8a015ffffff8000fffffde668ff
+ffffb334fffffe3330ffffffccccfffffe4cd0fffffd4cccfffff36664fffffe199c
+fffff2199afffffc9998fffff3199a087e59568805788a848389838a88887f8b8908
+898e8b8e1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b
+679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b81
+8d8b97088b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b0597
+9094a5809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b9708
+ff00004ccc07ff000e9998ff0065b334ffffd1b334c9ffff87cccc8bffff8c33348b
+ffff838000ffffb419988bffff87199c8b7291ffffed3332ff000fccceffffed6666
+ffffd7ccccfffffd6668ffffc3e667ffffe64cccffffd8cccd61ffffcf4cccffffcb
+ccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff001780
+00ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8bd3
+8bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffffed
+1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff00
+1366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666fffffb
+b334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff001d800089ff0027
+b334ffffd03334ff0011b332ffffd73332ff0019999afffff1e666ff001666668bff
+002500028bff00733330f71bff0027e668ff003566688bf28bff000acccc52ffffeb
+800032080ef71d82b464bcf755b2f720a9121370f89ab5153f8b5dd2a4f608909af7
+b68b05a1eb83f705fb1d8b528b5772595e75ce408e728b398b335d7d5187778d72ab
+8ba48b9e9c8e9b0890a2828091a592aabd9cb28ba08b9e81977ca06f7e518572082b
+7405fb0271465e783b0813b07b47b35eda8bae8bb493ab9f081370b1a205a69e8f8c
+92909574ae58f18be28bc7c5adae087c95055f655c7b558b08f714f77c15fb64069f
+c4c0dad48bb08bbc6e732008fbbc711564fb3e0513b05e6c6a7c738b3e8b89bb91a8
+98c3afb8f739b1080ef911fb78c8bfb7c8c7f7ddc7f74dad01ff00576666ff005ae6
+66f84be4ff005ab334daf736d903f8a2fb0e15fb17bc318d708bfffff5cccc8bffff
+f63334ffffff4ccdfffff6999afffffeb333ff00038000ff00026666ff00036666ff
+00024ccdff00038000ff00024ccdff002c4cccff001d8000b9a0ff00224cceff0009
+6666ff009eb332ff0017cccdff00798000ff0082cccdff00233334ff00b4800090ff
+0019ccccff00024cccff0018b3348bff0017666608ff009c0002ffff96ccccff0063
+1998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ff
+ffe6ccce8bffffe833328bffff766667ff00524ccdffffa7b333ff00790001fffff0
+199affffedb332fffff6ccccffffede667fffff54ccdffffeeb333fffff44ccd5969
+5a66686308af7405ff000b4ccdff000d3333ff000be666ff000cb333ff000c3333ff
+000c199aff00158000ff000f3333ff00153334ff0004cccdff0008e6668bcb8bc77a
+ef5bca6cd87ad98bec8bf1b2d1c6087f9d0546663d795d8b448b539b3ca808f925f8
+6e15ff00039998ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f
+8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98
+b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f08
+8b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e898064
+05826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88
+908b97088b9490a191a508fd47f88815580a0ef82481c757a8f7f4c7f73bb2987712
+f9aadd7ada1332f779f91915132a620a1372a8ff00418000a49fc08b08d006ff0027
+66668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c7d6287
+086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffff
+d9199aff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad
+8b08f724069893fffff74cccfffff4b3341f8bffffec4cccfffffde668fffff78000
+fffffb1998ffffea333408ffff99ccccfc6405fffffb333477fffff81998728bffff
+f633330813b2ffffef4ccdff0009199cfffff58000ff001fcccc1eb18b8ab7ff0008
+e668b108ff00261998f73a05caddccc6af8ba08b99858b6c8b7d897883690865fb34
+0513b4f9100a133293ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4ccccffff954ccc08ff0035b334ff00f4800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437b628b080e4bfb88aef759aaf7
+17a1f77dc001f726fb65158b8a8a891f8a85887a90829b8bf797c8b9f7689ee765d5
+3b8fd7b6c4d098c598c773a8538b6a8b697ffb127908adf7304e778678057b3f7058
+4681888b8a8a8a8808856d058a888d8a8e8b08ce944dfbb8057c449f6fba8b958b9e
+8f938e088ca3858b057c8b8499a1f108c2f79305b091d294a08bb78b8e61856d7b43
+4e602d5d089575059d90968b9a8bb48bc960742074fb01fb36225a8b080e5f9476f8
+2bbaf760a5a57701f853dd03f842f84e15ffffc2199a8b4dffffca999affffd5199a
+4908ff0056ccccff01756666758d055a7d60816889088b86758a898d8a8d1fca8b88
+7c7f5608fb1afcd68f7fd4a3ff00388000ff00f2e66605ff0045199aff0069999aff
+003be666ff00228000ff001880008bab8b99768b4d8bfb0164fba2fb83fb11089173
+05f7bef70ac3f7a88bf71c8bd07ec6358b080e83fb88a3f764aaf808b2f781aa122c
+bff7c9c2a0d1d5ce65cc13fe806cfb3d158a997c937f8b087a787a717a9766cb1fc8
+8bb8abaac6a0b3b2f728acf72108d3f7dc059ee5c5d4e18bb28ba96c8b608b506171
+6574375882518b718b58b06daf6e0813ff00ae6faf6e8b5a08324671686871a19f1e
+8b938e938b91089884957c8072846b6ba65cd9f4d8ead91e8bec3fbc68a183907599
+8ba88bb8b0abb6a70813fe80b6a8b8ab8bc58bc552b2498b478bfb24735efb638677
+717a6a8b088264c28b57fb89057c457f2e73377130656f6e8b808b79928b928b958d
+8f8e8f088f8e8e8f8b97080ef7537fa77df721f7a1a912c6a8abcdf704d68ba8aea8
+aacdf705d58ba913bd80f7587f15ecdbbce61f8bc651b53eb1689c7aa48ba808b1ac
+afc91e13bb80c4ae56481fa8f7000666aa6996608b318b3d5d8b378b5da270c66908
+13bd80bb6fbb678b5e08535a73591e137d80396ebdd81f6e8a8bfb2205958c998c90
+8b08a28b997dd28b0813b9c0f80d16ecdbbce61f8bc651b53eb1699c79a48ba808b1
+adafc91e13b9a0c3ae56481fa9f7000666aa6896608b318b3d5d8b378b5da370c669
+0813b9c0ba6fbc678b5e085359735a1e1379c0386fbdd81f6e8a8afb2205958c998c
+908b08a38b987dd28b080ef81681aff8eaad12cba9ff002fcccdff00483333ff009d
+e666ff0053e666fffffe3334aabea9ff002fccccff00483334ff009de668ff0053e6
+64fffffe3334aa13fb00f881f90615600a13f700610af86c16589391a3328b378bfb
+01527621fffffdccccfffff44ccc8a808bfffff5999a8bffffa76666ff004d4cccff
+ffd0b334ff0045e668680813f380b974ff0024e668ffffe033338bffffc3e6678bff
+fff4e666fffffeb330fffff3b333fffffd6668fffff24ccd7b3a5a6b428b368b59b5
+8aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff000d66
+66ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c800048
+aaffffdee668ff000f4cccffffb71998ff00294cce8bff0044e666088bff00068000
+ff00009998ff0006ccccff00016668ff0007333497c8bfb4ca8b0813f340610a0ef7
+297dd2f7b6ba83be72b2f74aaf12ceccf78ea195d83ebfa4b6f739cf13df20d1f745
+1589808a808b808b31cd47e68bf7338bf748f723c1f77899839d899d8ba38bc9a898
+d68c8f8b8e8b8d089f7d947c1e798b7b7f86720885078b7c937b8b800888078a8687
+89838b6f8b5ec43f8b3c8b625a82538a858a868b868b709c839b8b9d8ba19f8e9f08
+8c8e8b8e8b8e08139ee08ba3728a8ba18b8d8b8d8c8d8d9799909c8bb68ba477a077
+6ffb1826fb4bfb548b548b6aa177a808f7e6f859059a9f9eaa8d96089307a07c9c6b
+4e5f634b1ea18d058db0a0a8ab8b9d8b997e8b7c8b8a8b898a8a887b807b7c770834
+fb090513af20848e828d858b082c8bfb2d4769fb5408d95b157fa687a98ba18b968b
+948d9197d0cbdece8ba18b987e937d080e6189a8f728a8f7a27701f754f73815f911
+0af795f72515f9120a0e3c8aa3f76fa4f73ea412f82cdb44d313e8f799f82f1590a3
+8d8dcb8bb28bb9818b578b848a8389827e4f64734a8b084806867215ce0613f0dab0
+69591f8b838a828982815f684afb0a8b5b8b81928b988b908c908c9108fb2c661586
+74ef8d05a38bbb89c38bf7308bc5cb98c98e968c968b958bbc6eaf4a9ab79db3b193
+b20813e88c938d938b938bb66eb6fb0e8b708b5189718b738b628c688c088773058a
+898c898f8b08a306a594857d1f8b878a878a860843fbe805857280836c8b08740687
+8b89888a88080e487fadf83ba801dadbf7e1a503f7a77f15f9130a0e818aa7f82ba7
+01f889da03ada015f9140af72ebd15f9150a0e238ba7f75eabf740a701f7eaa5eba5
+03f889f86215f9160a0efb108aa8f75eabf73fa701f7eba5e9a603f798f82e158f9c
+96919e8b08f70106bb9756671f8b87a68d058db18db293b508fb618b458a2a8d888a
+8775058a8a8b87908b08a306a594847e1f8b878a888a860842fbeb0587777e806b8b
+087706878b88888a880886768d89058bd48da6aadb898b1e8c8d90a0058c8e888e87
+8b0877067180919a1f8b8e8b8e8c8f08aff73fe48b05a49280771f7507888c88901e
+9c8b8e8e058da28c9f90a490a395a792a2088d8b8c891e7a06878b89898a87088176
+05827782806f8b0833060e757fa6f746a5f778a601d9def7eea603f840f73615f917
+0a0ea88aa8f75dabf741a701f842c61586777e806b8b087606878988881f86768c89
+058bd48da7a9db898b1e8c8d90a0058e898e881e76067180919a1f8b8e8b8e8c8f08
+d4f7ec058f9f9896ab8b08a0068f8b8d8d8c8f088f9f8a8d058b36896f6d488d8b1e
+89898777058a878d898f8b089f06a597847c1f8b888a888a88086efb22fb888ba9f7
+2205909f9896ab8b089f068f8b8e8d8c8f088f9f8a8d058b368a706c478c8b1e8989
+8777058a878e898e8b08a006a596847c1f8b898a878b880842fbec0586777e806b8b
+087706878888881f86768c89058bd48da7aada898b1e8c8d90a0058c8e888e888b08
+76067180919a1f8b8e8c8e8c8f08aff73ef7878b050efbb08aa8f82aa801f79af826
+15f9180a0efb9dfb5ca6f8f3a70157ce03affb4115f9190a0e928ba7ff00bbe666ff
+00203334ff00b9e666a701ff00ea199aff00f8199a15ff0020e666ff0099e666058f
+9f9897ab8b0896068f8b8d8d8c8e088fa08a8d058b4c896f6c3c8d8b1e8989877505
+8a888e8a8f8b089f06a596847c1f8b888b888a870843fbe50587787d796b8b087606
+878889871f86768d89058bdf8da7aac4898b1e8d8d90a0058f898d871e8006728196
+9b1f8b8e8b8f8c8e08ff00203333ff0096e66605ff001a4cccffffff6667ff000c66
+66fffffa6666ff000e199affffec4ccd08f0fb1e0591828d848b848b858a878a8508
+887e8d8bc78bdd8b8d8b90a1058c8e878e888b088606768b7c8f7d9f08fb18f74a05
+869288918c918c919594a49f08f70fee05c1b69e8fb28b088f8f8d8e1f90a1888c05
+8b5f8a726f438c8b1e898a867505888d898e989c8a831e8b8687867c7e08fb35fb15
+05ffffe63334ffffebb333fffff06666fffffbe667ffffec8000ffffff8000080efb
+198ba8f829a701f7168c15f91a0a0ee28aa8f82aa701f8b6f812158a8767fbd18b8b
+89738182768b087706878b87898a870886768d89058bcf8da7a9c4898b1e8d8d90a0
+058f868d886c7b8ca81e8b8e8c8f8b8f08b2f7e3058ea48f90bd8b908b8f8d8c9108
+8e9d8a8dfb1289fb67fbf843f7f8fb168d8888877605898d8990ac9a897d1e8b898b
+888a880828fbe4057f637e85648b878b87898a870887768c89058bb58da7aab9898b
+1e8d8d90a0058f878d886d7e8c9c1e8b918d928d9508e6f7c6d7fc08058d868f8990
+8b908b8f8d8f90080ea9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a0e
+827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f91e0a0efb128aa8
+f734a6f76fa701f830d703f79df841159b8fad8c9a8bb88bb07d8b548b80897f887d
+7b3e60674f8b778b6e8c799308fb02fb391587787e7f6b8b087706878b88898a8708
+86768d89058bd48da6aadb898b1e8c8d90a0058c8f888d878b0877067180919a1f8b
+8e8b8f8c8e08a9f720059b83a288a48bf7228bbee797c78d938c948b958bb96fbcfb
+0b8b668b60896f8b6e8b4c8d7f8b08867305898b8990b39c8b781e8b878a888b8608
+0e7cfb2bb6b9af99abf83aab01cfdcf7e0dc03f7eff84e15f91d0af765fb63158f9e
+8d9c8b9c8bf70436d5fb058bfb208bfb0cfb046dfb20877789798b798bffffa26666
+ff0039999affffbfcccdff00591999ffffefcccd08ffffe54ccd77056c8660756e6e
+958795829284a2a8b498978bb58ba176a176a374a473c08bc28bb7a7aaab08799805
+7c7c697c758b5f8b779e779e76a074a0568d08ff00113333ff000e199a05ff000299
+99ffffffe666ff000299998bff0002999a8bf7298bf708f3a9f723080e2883ab72a8
+f754a9f74aa912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bc
+f9210a0efb467fa88e76f851a912caa79ad2f714db81a513bcf831f85415f9220a13
+7cf9230a13bcf9240a13baf9250a0e468aa8f828a901f85ef84415f9260a0e927fa8
+f835a701f70ed503f7a77f15f9270a0e6b9476f852a701f87cf82315fb55fbc553f7
+c88b93059a9594ab1e96068f8e8d8e1f90a1898c058b4389706c4c8d8b1e8a8a8675
+058890898e1eb78b8f778f7608ccfc01058d7a93749e8b9c8b99989ba608f779f7ff
+0599a2989fb78b088e918d8e1f90a08a8d058b5f896f6d4c8d8b1e8989867605888e
+898e1e9406a39685801f8b8689858684080ef7639476f852a701f7817f15a68b969f
+979f08f71af7810592968f918f8b8e8b8c848d7e08aefb7e058d7c8f72a98ba68b9c
+a7929708f76af807059ca8a391a28b8c8b938b8c900890a1898c058b638a726a508c
+8b1e89898776058a898d888f8b08a0069c9186821f87078a868885888508fb4ffbd1
+5af7c7058a938b938c928e9893949a8b08a2068e8b8f8c8c8f0890a0898d058b4589
+656c608d8b1e8989867605888e89901ea28b9f868f70088f64058c848b8589848982
+8782878208fb1afb7b59f7d1058a928b918c908d95928f9a8b089c068e8b908c8c90
+088f9f8a8d058b4889636e638d8b1e8889877605888e89911e9506a18b94768e7908
+c4fc04058c81906e9d8b080e7e8aa8f82aa701f745f81e15e4fb280590838e848a85
+8a868684858608fb24fb230578776f7a6f8b088206868b878a8a870887758c89058b
+c88d8e97e3898b1e8d8d90a0058b8e8b8d888c087c067c8b848f8d948c9092949292
+08f70ff70f05909090908f8b8d8b8e888e8508cffb1205918090838a868a85838979
+8b087806898b88898a880886758e89058be58d901e948bd08aa18a088c8d90a0058c
+90878c868b678b848f78ab0833f73305869488928c938d918f92949308f718f71505
+adac9d8fa78b08928c8e8d1f90a1898c057e8a558a888b828b4c8d7a8b0889898675
+058a888e8a8e8b08a306968b8f878a858a868584818108fb0cfb0a0585858788898b
+888b898e8891084af70405869484978b91088f8e929b1ea9068f8b8d8d8c8e088fa0
+058a898d8b1f738a388a868b838b568c788c0886898775058a88908a8f8ba78b9288
+a366080e348aa8f82aa701f76bc615f9280a0e308baef81aae01f781f83d15f9290a
+0efb78f76dc101d5f7a403f7ccf76d15988b9da48e97089007928890821efb78067f
+8b7a76897b8a8a8b898b8a08848f85931e0e6189a8f728a8f7a27701f848f93415ce
+0afffedf999afc1215f9110af795f72515f9120a0e6189a8f728a8f7a27701f854f9
+2e15ec0afb94fc8a15f9110af795f72515f9120a0e6189a8f728a8f7a277f7597701
+ff01a3e666f91f155906ffffd9999a5dffffd14ccc60ffffd3e6676308ff00111999
+7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33267ff001be66872ff00
+2119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba08ffff1c
+199afc7b15f9110af795f72515f9120a0e6189a8f728a8f7a277d4b78fb901ff01b3
+b334f8cf15e30affff0c4cccfc2b15f9110af795f72515f9120a0e6189a8f728a8f7
+a277d2e601f79ae7d0e703f7d0f8fc15a00af7358c15a10afbb1fc5915f9110af795
+f72515f9120a0e6189a8f728a8f7a277b7a6f704a601ff0182e666f91115f7240aff
+ff9d999a5315f7250affff9f8000fc3515f9110af795f72515f9120a0ecf8bad69a6
+f751aaf747ad71a712f89da4efa413b6f87cad1547067d828f971f8b8e8c8d8b8f08
+b0f730c48b05a48b91818a76088a7505898c88901e9c8b8d8d058ea38d9f91a490a3
+95a793a2088d8b8c891e7b06878b89898987088176058277827f718b08518baff730
+058f9c95919d8b08cf06c88b91568c6608a48f058eb18db294b608fb7a06136e4232
+8d8b1f88888676058a8b88919e9487821e8b8a8b8a8a898a858988878508fb7ffbe5
+05817d7473718b878b88888a880886768d8a058bad8c9e9dd98a8b1e8c8c90a0058c
+8e898e888b088106778090951f8b8c8b8c8c8c8c8f8d908e9008ebf7240591939090
+9f8b08f7058b67fb31058677807f6d8b087b06868b8a888a890886758c89058bc58d
+b11ef77a0693ab9cb3a2bc08738e0571596b63518b08fb21f7fb15a0ab968f988b95
+8b90898b7f8b858a848880086afb24288b057d8b868c8c8f8b8c8c8d8c8d080e48fb
+5ca8ff009f6666ff0021999af83ba801dadbff007f8000ff003f3334ff008e4ccca5
+03ff010380002b15ff0012ccccff00083334fffff6999afffff11999ffffe1999aff
+ffe7e666ffffebb333ffffdbcccd1f778bfffff5e6678f7295fffff7999984fffffb
+800084fffffd999a7fff0016cccd80ff000fb33385ab8b08ff003c4ccdff003f199a
+ff0020e666c1ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc
+8afffff7999a8908ff0020199aff0037b33305ff00443334ff0004b332ff00319998
+ff001d3334ff0036b334ff00396666087b9b0551556377498b2c8b69d18bd98ba08e
+a18fa0aff73cebb6d78bd98bb35c8b48088b85a58e058eb48eb594b8088306688b61
+9d408bfb188bfb12236cfb26887a897b8b7b8bffffa1999aff003b666635ff007a66
+66fffff9cccc08ffffcbb334ffffab999aff0004b3338505ff0010ffff90ff000a4c
+cd8c9e8b080e238ba7f75eabf740a701f7eaa5eba503f809f93e15ce0aff0053999a
+2d15f9160a0e238ba7f75eabf740a701f7eaa5eba503f827f92b15ec0aedfb5d15f9
+160a0e238ba7f75eabf740a7f7507701f7eaa5eba503ff0195e666f91e15ed0aff00
+5f199afb5015f9160a0e238ba7f75eabf740a7cbe612f770e7a9a598e782a513fcf7
+a6f8fd15f7be0af7358c1513fea10acdfb3015fb5c8b4289288d89898775058a8a8b
+88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b087406868b8a
+888a890886758d89ee8dd38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829
+067c818e981f8b8d8c8e8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e
+8e058da28ca090a490a395a692a2088d8b8c891e7a06878b89898a87088176058277
+82806f8b08348babf728058e9c96929e8b08ed0613fdca8b91508e6708a58e058db1
+8cb193b7080efbb08aa8f82aa701adf7c803f794f92d15fffffc33338cfffffa4ccd
+8c868b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff00
+0ce6667c9186918b938bff00083334918c90ff0001666692ff0000800092889508ff
+ffd9999afb1d15f9180a0efbb08aa8f82aa701f7d1f92b15e50a54fb9915f9180a0e
+fbb08aa8f82aa7f7517701ff012de666f91f15e60affffd8199afb8d15f9180a0efb
+b08aa8f82aa7cbe601f702e7d0e703f738f8fd15a00af7358c15a10a4cfb6c15f918
+0a0e818aa7f749b2f74fa701f889da03f7b8f78b15f92a0afb8dfb4f15f92b0a0ea9
+947696a8f82aa7ccb78fb9121378f8ddf81a15f91b0a13b8f91c0afffffab334f8c0
+15b60a0e827fabf83aab01d9dcf7e0dc03f82df93015ce0affff9f999a2715f91d0a
+f765fb6315f91e0a0e827fabf83aab01d9dcf7e0dc03f859f92b15ec0a2bfb7115f9
+1d0af765fb6315f91e0a0e827fabf83aabf7417701d9dcf7e0dc03ff01bce666f91b
+15f7280affffa8199afb6115f91d0af765fb6315f91e0a0e827fabf83aabc0b78fb9
+01d9dcf7e0dc03ff01d0b334f8cf15f7e00affff944cccfb1515f91d0af765fb6315
+f91e0a0e827fabf83aabbee612d9dcece7d0e779dc13f8f7caf8fc15f7be0af7358c
+1513fca10afb06fb431513faf91d0af765fb6315f91e0a0ef7138ba7f75eabf740a6
+01f8cda5eca503f7b3a515258b52d1a8f71eabf72adfbed68bb68ba689856d0842fb
+ec0586748081678b08f84df84715fb5c8b438b4c8c6e8b05fb208bfb0a276efb206c
+fb20e039f71c8b08a78bc98bd48bf7688bb8f707728e0574576b65588b08fb0d067a
+8b818f8f9e08b1f747e28b05a49280771f7507888c88901e9c8b8e8e058da28ca091
+a48fa395a692a2088d8b8c891e7a06888b88898a8708817605827782806f8b08358b
+aaf728058f9c95929e8b08f70506bd8b945b8a6308a58e050e827fabf83aab01d9dc
+f7e0dc03f7f9f84e15ff002d66668bff0025199afffff0999aff00178000ffffe0b3
+3208fffee1199afffec8800005fffff4e666ff0015999a85ff001ae6678bff001fb3
+338ba08ea390a4abf72adec5d68b08f765fb63158f9e8d9c8b9c8bff00334cccffff
+ee3334ff002b4cceffffe1ccccff001fe66608c2ff003b8000719effffcb199affff
+c6800005ffffde3332ff0018b334ffffd48000ff000dccccffffcf33348bfb208bfb
+0cfb046dfb20877789798b798bffffc94ccdff0013b333ffffd34ccdff0022199aff
+ffe1199908ffffc63333ffffc14ccda478ff003a199aff003ee66605ff001ee666ff
+ffed4ccdff0026cccdfffff5cccdff002c33338bf7298bf708f3a9f72308ffffa933
+34ff0082e66615ff0007b332ffffec8000ff0004199affffe8b3348bffffe4e6668b
+758872856f71fb134241318bffffd64ccd8bffffde4ccdff000ce666ffffe8e666ff
+0018999a080e927fa8f835a701f70ed503f830f93015ce0affff4a999afcbe15f927
+0a0e927fa8f835a701f70ed503f87bf92b15ec0afb68fd3715f9270a0e927fa8f835
+a7f74c7701f70ed503ff01cae666f91a15f7280affff48199afd2615f9270a0e927f
+a8f835a7cae601f70ed5dce7d0e703f7dff8fc15a00af7358c15a10afb6dfd0915f9
+270a0e348aa8f82aa701f76bc615f9280af75af86815ec0a0efb038aa8d3a6f76fa6
+c8a701f789f8071591a90591a9998e9c8b08a306918b8c8f8c8c088fa08a8d058b4d
+896667508d8b1e89898776058a888d898f8b08a306a68b8e8485710843fbe8058571
+87856f8a087306868b89888a880886768d8905978bd98d908b988bd789958b088d8d
+8fa0058c8f888d888b087306738c858d91a90895b7059787a08aa88bf7258bcbde97
+c296bf7fdefb2c8b7d8b6e8a6d8a088368159d8fb4919b8bca8bad6a7b417a3b5a6b
+3f8b6c8b788c838e080e348aa8f82aa7cae601f77de7d0e703f76bc615f9280ab4f8
+3315a00af7358c15a10a0e76fb5ca6f740a8f82aa701f754ce03f799f82615f9180a
+e6fb8215f9190a0ef7647fa88e76f851a912caa79ad2f714db81a5bba79ad2f714db
+81a513bd80f831f85415f9220a137d80f9230a13bd80f9240a13bb80f9250af822f7
+0015f92c0a13b9c0f92d0a1379c0f9230a13b9c0f9240a13b9a0f9250a0e7882a877
+a7f768a1f74aa912f795a51378e7d21587787c736d8b087a06878989871f86758c8b
+f7008bde8b8c8b90a1058f898d881e7f066f8b85a090a108b2f74d05a7f71ccfbfe0
+8baa8bbe7e8980877a2f285d5b088c7905908c8e8c908bf7068b8e3485710813b879
+375b74678b5a8b7dac89c50871890587528767877a938b968f918ba28bb07fa38be9
+8bcdd09ad199d06bc6328f888b8a8d8b8d088c8d8c8c8c8d08f726f7368f9b056499
+3a965f8bfb458b422b6dfb20080e818aa7f749b2f74fa701f889da03f7b8f78b15f9
+2a0afb8dfb4f15f92b0a0e6189a8f728a8f7a277c6c401ff010c199aff001d666603
+f754f73815f9110af795f72515f9120affffcd8000f79f15ffffe2999a7f05fffffc
+b33236ff0028ccce59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea3334
+51ffffcb80006b578b558bffffdc8000b0ffffffccccc0080e61fb74b2f74ba8f728
+a8f7a27701f7c9c703f826fb7415ae8bbe9fa2ba087c93057876777c6d8b678b75a6
+8bab8bff002f8000ff002ee666ff00446666ff00473334ff0009199aff000fccccff
+ffff8000ff000c199affffff80008b8b088e8d8fa0058c8e8b8e858b6c8b809484b3
+0850f8090588a27b8d7f8b858b79877e7608fb94fc0f0573677584728b888b88888a
+880886768c89058bb78d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e9095
+1f8b8c8b8d8c8c8b8e8e908e9008d2f40590919290978b08f73a8b9efb08058c878a
+878b88877e7c83728b087a06878888881f86768c89058b8bff002cb334ff0001199a
+ff00221998ff00009999ffffc46668ffffde999affffd8cccc518bffffd0b3338b55
+b26cc18b0873f84015f9120a0e487fadf83ba801dadbf7e1a503f7a77f15f9130af7
+2cf94215ec0a0e487fadf83ba8f74a7701dadbf7e1a503f7a77f15f9130aff004b66
+66f8a115f7160a0e818aa7f82ba7f7567701f889da03ada015f9140af72ebd15f915
+0aff00a36666f84e15f7160a0e23fb74b2f74da7f75eabf740a701f763c7d6a5eba5
+03f7c0fb7415ae8bbe9fa2ba087c93057876767c6e8b086775a6abbec1d6db1f8e06
+93ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e8b8d08b1f747
+e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a395a692a2088d
+8b8c891e7a06878b89898a8708817605827782806f8b08348babf728058e9c96929e
+8b08ed06ca8b91508e6708a58e058db18cb193b708fb5c8b4289288d89898775058a
+8a8b88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b08740686
+8b8a888a890886758d89ee8dd38aff006866668b05ffffc4199affffde999affffd8
+8000ffffc5e6668bffffd080008b55b26cc18b080e238ba7f75eabf740a7f7527701
+f7eaa5eba503f889f86215f9160affff356666ba15f7040a0e757fa6f746a5f778a6
+b2c401d9deff007f199aff001d6666ff00bd8000a603f840f73615f9170affff9180
+00f88615ffffe2999a7f05fffffcb33236ff0028ccce59d18bc68bff0049fffebcff
+001d8000e108ffffe766689705ffffea333451ffffcb80006b578b558bffffdc8000
+b0ffffffccccc0080efb198ba8f829a701f7168c15f91a0af772f93115ffff9c4ccd
+fb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe9999
+84ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff
+4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccc
+cc8a080efb198ba8f829a701f7cef7e1153dffffd73334a2ff006dcccc05909f9897
+ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c488d8b1e89898777058a878e
+898e8b08a006a596847c1f8b888a888b8708ffffdf3333ffff668000ffff97cccdff
+ffc98000966dff0054999ab7ffffe06666fb280585728384698b087506878b88898a
+870886768d8905da8c968c948b08d48af7588bacf70e718e0575536c635b8b082a06
+7d818f981f8b8d8c8e8c8e08ff00298000ff00c5b333ff00628000ff00334ccd050e
+a9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a31f92415ec0a0ea99476
+96a8f82aa7f75277121370f8ddf81a15f91b0a13b0f91c0affff886666f88215f74c
+0a0ebffb36a1f71fa7f82ca601f7a3c003f852a6156afb256d75678b08758a959394
+899f751f7f8b7d8788798265c782a68ba28bac97a49dbfb6a7ce9cde088c8cd1f7dd
+0590a19ba1a98b08a0068e8b8f8d8c8e088fa08a8c058b52896d6f488d8b1e858a87
+76058a8891898f8b089f06ab8b917386770853fb9c887b0589838988888b858b8e9f
+7ca540f712fb17f7528b8b08fb118b88888980058a8790888f8b088f06a48b9c6e8c
+790847fbd80586787c736b8b087606888b84898a87088676918a058bc38ca7a9cf8a
+8b1e8d8c8fa0058c8f888d888b0876066d8b83a090a108bff7880590a38f96918b90
+8b9283947b080e827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f9
+1e0aff00099998f82c15f7260affff7d33349115f7270a0e2883ab72a8f754a9f74a
+a912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bcf9210af76a
+f79f15ec0a0e2883ab72a8f754a9f74aa9f7527712f7d8d797d3133ef82cf7f615f9
+1f0afbbdfbba15137ef9200a13bef9210aff007f6666f515f7040a0efb467fa88e76
+f851a912caa79ad2f714db81a513bcf831f85415f9220a137cf9230a13bcf9240a13
+baf9250a71f7de15ec0a0efb46fb53a4d7aabaa88e76f851a912caa79ad2c1c0a0db
+81a513ef80f7523115a29d7d76706d7d6d1f788b808f709508807505a57f9c86ab8b
+08c8b8a7b5b26da2631f818b838a838908ff00146666bd05e2ff0001e666ff0044e6
+66ff003a6666ff0011b334ff0050b3348d948c938b938bd244ae609a759343a68bbb
+8b8e8b8f8c8f94b6b5abbe8b0813ef40b9bc6b4d1f8b7fa58d97f7008a8b05708b77
+a53b8b458b31627a398a848a848b858b4bd26daf7d0813ef80f92d0a13df80844785
+5f856e9a8d928f988bff000f80008bff00184ccdfffff36666ff00378000fffffc80
+0008ffffdbb333ffffb1199a9284059b91958c9e8b080efb467fa88e76f851a9f745
+7712caa79ad2f714db81a513bef831f85415f9220a137ef9230a13bef9240a13bdf9
+250affff706666f73c15f7040a0e46fb4aa4d7abbba8f828a901f798c2f75ba703f8
+5ef84415b68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc067b
+8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b88
+8a878a870843fbe80587777d806c8b087606878888881f86768d89058b8bff003299
+9aff00016666ff0020e666ff0000800008ffffc88000ffffae199a9085059c8f948d
+9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab
+709a6b1f828b828a838908ff0021b334ff0034e66605ff0023ccccffffff8000ff00
+388000fffffe999a8b8b088d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08d3f7e6058fa39796a78b080e468aa8f754b2f741a901f896a703f848f79715ffff
+a3999a8bff001d6666f71e058fa39796a78b08b406b68b94718f4308a78e058dbb94
+b894b7087306888580857b8b08fbdc067b8b83918a91087206825f815d7a5c08a488
+05afd39ca5b88b08be06a294847c1f8b888a878a8708ffffe26666fb20ffffaa999a
+8b8364ff0055199a8bffffdde666fb350587777d806c8b087606878888881f86768d
+89058bd38da7a9db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08ff00224cccf735ff005cb3348b050e927fa8f835a7baa6f704a601f70ed503f7a7
+7f15f9270aff00903334f92815d50affff9db3325315d60a0e927fa8f835a701f70e
+d503f7a77f15f9270aff01559998f92315f7260affff7d33349115f7270a0e308bae
+f81aae01f781f83d15f9290af734f78d15ec0a0e308baef81aaeb8eb01ff013f3334
+eb03f781f83d15f9290aff00523334f71415f7290a0e308baef81aaef7587701f781
+f83d15f9290aff00536666e315f7040a0efb198ba8f7ea9cb9a79bd301f7168c15f9
+1a0aff0155b334f8b9156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cccaf
+fffff1999cb0658b080e468aa8f828a9f7517701f896a703f85ef84415f9260affff
+a06666d715f7040a0e46fb8ba3daddc8a8f828a901f896a703f85ef84415f9260aff
+ff4fb333fc8215f75a0a0efb46fb8ba3daddbda88e76f851a912caa79ad2f714db81
+a513ce00ff00b1b3334d15f7140aff00eb4ccdf89215f92c0a13ef00f92d0a13df00
+f9230a13ef00f9240a13ee80f9250a0efbb08aa8f82aa7c7eb01f75deb03f79af826
+15f9180a96f88d15b70a0e3f89a8f73fabf75baa12f7ffd24cd513f0f75cf7511592
+94998ba68b08e106a58b93898c810885fb05058b858a858a8686787f816c8b088506
+878b88888a880887768b89058bca8da6a8cb898b1e8c8d90a0058c8e898e878b6d8b
+7c938bb0088b920513e896f7d8058c8e8b8e8b8d8f9b9992af8b8e8b8e8e8c8e0890
+9f8a8d05578a428a608b5f8b6e8c6c8c0887898777058a878d89918ba68a96888b7e
+8b898b898a88846bfb2ffb996c587a6f7980718b878b86868a880887788c89058bc1
+8da6a9ba898b1e8c8d90a0058c8e898e888b087f06778191951f8f078d92bbe9a3b4
+08f71ef784159d9d87641f88fb14058a767b84798b083c0673828d911f8e078b8bc7
+f707a0b397a09797948b080efbb1f7faabf772a412f70dbd7ebcc6c278bb13e0f7b7
+f88a15a40a91fb2415a50a13c8a60a13d4a70a13c88e9ba196ab8b0813e4a80a13c8
+a90a0efba8f7faa5f76caacba101f7dec003f761f93515f92e0aa32c15f92f0a0efb
+b7f7faabb677f759a601f71ac0f71bc103f7bdf91115f9300a0efb9ef7fea484a1f7
+5fa5cba112f71cbf13b8f7bcf83615f9310a63fb4315836a988b051378f9320a13b8
+f9330a0efb92f7fbaab677f4a7cda401ff0092199aff0036e666ff0084ccccff0033
+ccce03ff014a8000f8b615fb0206ff000b6666a8ff00214cceb0aa8bff001366668b
+ff00123332fffff766688bffffe0b3308bfffff8999cfffffee668fffff76664ffff
+fdccccfffff5e66808ffff7e8000ffffa93334158bff00178000ff0007e666ff001e
+3334ff00026667ff0005199808ff00a9ffff06ff00028000ff000e9998ff0001ccce
+ff000e4cd08bff000d666408ff002b6668ffffee199aff00214ccc4affffad7fffff
+ffb5e667ffffa19998ffffa70002ffffc98000ff001e8000ffffd7e666ff00458000
+1eb98baea2ff0021ccccae08ffffef999a9b05ffffe8199a75ffffe74ccc76658bff
+ffec4ccd8bffffdacccdff0012199a8bff0033199a080efbd3f800a2f74aa8f708a4
+01f7f3bc03f739f83315f9340a0efb97f77aa9f0b6bba1f721a17ba712deb58fb37d
+bbf5b168bb13ed00f81ef8ec15f9350a13f500f9360a13ee80f9370a13ed40f9380a
+fb7efb7f15f9390a13e480f93a0af728f744157c4d6f86778b0813f540f93b0a0ef8
+4b0ef84b0ef84b0efb94f800a2f771a1cca101f0f7d503ff00d58000ff01ee666615
+8dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008a74b05937a
+8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a5
+87950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e
+088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a87
+87848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff4199808ff0033
+999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b87
+8a858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b
+1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080e2af800a2f76cad01
+f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b938b8d878b85
+8b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2a4b1
+8a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5
+a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a888a
+89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c
+9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000e666ff0005
+b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba18b99818b6f
+8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3a3af
+8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d
+988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee6666ffffeeb3
+34fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a0897bf7e8b
+05707f75856b87080ef84b0efb92f7fba4f778a401ff0083e666ff003bcccdff008b
+b333ff003db33403ff00f7999af81415ffffdf9999ffffe88000ff0019999aff0031
+199aff00341998ff001ccccdff00653334ff003db334ff001f33329dffffdfe668ff
+ffcf1998ffffb06666ffffd98000ffffbc999affffd2b3341fffff8c4cccff004be6
+6615ffffcae666ff001f4ccdffffd03334ff0043e667ff00573332ff004accceff00
+4eccccff00648000ff0030199cffffebccccff00329998ffffb0ccceffff87e666ff
+ffd64cccffff82199affffcccccc1e0efba2f77da2f700a5f75fa17caa12f7e2c013
+d8f74ef8cf15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a0efb9ff77da2f7
+00a5f76ba501f71cc003f7bcf83615f93c0ab7ca15f93d0a0ef80e0efc00f7faaef7
+65a801f729bd03f785f8ee15f8d70a0efb93f7faae7ea1f762a212f72bbd13b0f788
+f90a15f93e0a1370f93f0a13b0f9400a0efb98f8f4a201f72df7ae03f76df80715f9
+410a0ef80e0ef80e0ef80e0efbbff800a9f764a801f7469f03f768f90b15f9420a0e
+fb82fb82acf8e7b2f784a801f81bdb03ff004e999afb4315fffff4e668ffffee999a
+ffffec8000fffff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff
+00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe4
+6666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff00
+1b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104ccdff0050e667ff
+000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d861ffb028b
+96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff001bb334ff000c
+8000ff00084cccff000c80008bff000e80008bff00028000828f788f769371ab8b08
+a892a294b16aad4f1fffffeae6668bffffe5199a80777bffffdfb334ffffe61998ff
+ffd64cccffffd9666865ffff4e80000849880579ffffff333483fffff7cccc89838a
+88887f8b8908898d8b8e1edf0673fb06fffffb999affffc4199afffff36666ffffb4
+e6667b2cffffef4ccdffff5c6666ffffdb4ccdffffc6999a080ebefb82b086b0f8c3
+b2f779a487a812f92fdb1334ff01ed8000f8ce15ffffff8000064d8bb0e3498b738b
+ffffc0b334ffffeaccccffffde4cccffff703334087c4bf74e8b05ff000e4cccff00
+3d6666ff000dccceff002d6666ff000d6666ff0022333408ff002a800037157e52f7
+028b05908d89888a86768b1f89837c87818b082e8b877a05ffffceb334ffff2e4ccd
+ffffe04cccffff36b3335c3a081364674f62705f8b084680a89f9090a3a81f9c8b93
+809381938093829b8b988b958e9a9aa7a7a1f7039df70aff0009199ac7ff0010b332
+d8ff00073334ae08a2f704fb4e8b877a05ffffcb999affff214ccdffffe16666ffff
+34b3335d350813b46547616c5d8b084580a99f9090a2a81f9c8b9481928193819380
+9c8b988b948e9b9ba7a7a6f7179ff71bff00094ccdca99ff0037e666ff0009b333ff
+002f199a08a2f704448b0588898b8d1f8b8d8e978c8e8d9393979d8b08be0693b2af
+f76bf7458bff001c80008bff003a6666ffffea4cccff00144cce69ff000d1998ff00
+15199cff0018999cff0016e664ff000c1998ff0009b33408136c9f9bff0029e66896
+ff001519988b08c7ac69658284746e1f6b8b83a587a0879e9194748bffffed66688b
+ffffc799986268fb2c080e99997691a86f9ff79bb1f7c4a8121318f847f90515ae8b
+a789a285084cfbbc588b05408b5f9c7aae7ea785ad94b608a4f70ae3a8c88b089ca8
+154c8b4386525d6069716381597e549a5db2659d79c273af873e746a5d6e60081338
+4a295743559308827705139894879d889a8be68bcae1b7d6c4e9b9aee98b085efb67
+051358856c797e638b0871061338878b86888a860887780513588d89058be28db2ae
+e9898b1e8d8d0513388f9e0513588c90898e868b087006628b819b91a708f6f88a05
+91a7929ca58b08928ba88805918b8e8e8c8f088f9d05838d4696fb2c8b080ef7e096
+76f906a901f7e79715f75bf82ccbfc2c058d7d9283998b998b9093929808f7b5f8c8
+059dac9296a88b089f068b8b958b8c93088f9e058b568a6a614d8c8b1e867705888b
+87901eb2069f8b9388887d8a85887f868108fb4afbf6582881e149f801058a988994
+8c918e9a938da08b08a8068f8b8e8d8c900890a1058b468a5b63438c8b1e8676058a
+868d88928b089f06b18b9b798e70089b31fb1ffbb464387cee4df7fe058a9688938d
+928e9894909e8b08b1068e8b8f8d8d92088fa0058b3b8a5865508c8b1e8675058a86
+8d88928b08a006ac8b927e8e6a08ebfcc2058d7c91849a8b998b96949298080eb694
+76f908a801f8f6f8d215fb56fbfd59337ee64af7f8058a948a928d918e9a9792ad8b
+08a606908b8f8e8c91088f9d898d058b328867643e8e8b1e89898779058a858e888f
+8b089706b38b977c8f6e08f2fcc5058d7d9282968b958b9694929908f7c4f8c7059e
+ab9c97ab8b089b06908b8e8e8c90088f9e8a8d058b51886864598e8b1e8889877805
+8a868e88908b089306a88b9b8a87798a8587838580080ecb60a49ca8f7bab4f793a7
+01f812f72915d6fb24b75ef703880899a4055aa34add6dc808fb07f76cf781f75405
+aea6b8adb48b089e06908b8e8e8c90088f9e898c058b478a67643c8c8b1e898a8678
+058a868f888f8b08ab06b78b615b6b7208fb4dfb260574786b7a6c8b08b8f7670591
+a79c9bb48b08a506908b8f8e8c90088f9e898c058b2e8a6764348c8b1e898a877805
+8a868e88908b08a506b38b977d856d0820fc8a05856f7a7b628b087006868b88888a
+860887788d89058be88daeb3e1898b1e8d8d909e058c90878e878b087106638b7f98
+91aa08c0f78e05ae8b977f9277080e988ba7f794b1f7baa57ba71213d0f863f80915
+6c69577a418b08588bcaf7bc05a490a78eaf8bc78ba5709282a46f8d628260088261
+7768716f08fbeafbc115856f7a7b628b087106868b87888a860888788c8a058be98c
+aeb3e18a8b1e8d8c8f9e058c90888e868b087106648b7e9992a908b8f76805ce8ba8
+858e8408cdfb6305cefb66f6a9bc9d088c9f055c8153ae61f71c0848f77005a392a3
+97a69dc2b2acb897c295bd83b46fad64b846904c8b6c8b658b60890813e0608a4885
+7e88088878058a878d88908b08aa8e058d8c8d8b8e8ba58b8b7a856e080efb8afb40
+b8f97da801f7daf89f15ff0010999aff0053e668ff00116666ff00081998c38eff00
+053334ff00046668ff000280009bfffffa4cccff000899985d8affffe9b3348affff
+d44ccc8bffffcdb3338bffffdf4ccd8c5d8cfffffacccdfffffb9998fffffd80007b
+ff0005b333fffff76668ff00384ccdfffffdb334ff0015cccdfffff8b3348bffffd9
+e664088b7ffffffdccccfffff08000fffffc199affffec33340834fc4e05ffffdc4c
+cdffff4a999affffc9b333ffffe566666c8b7e8b809386958598809c6e8b08fffff1
+e666ffffe08000ffffedb33370ffffe0199aff002bcccefffff03333ff0012cccc1f
+b58bad92b8aebbb0ff00404ccdff0032e666ff001cb333ff0091199a080efb04fb76
+b1f7b0b7f777b866cc12d5c66fa6f75fd413eaf73df719156057a27d05a6a1c092a0
+8b9e8b9d87998308fb073505435563548b640855bd75baf717f5f714f51e8bab7eab
+75a408d2bf77a63f520577987b93708b748b6d847682d2dad2e1c6d4a4a99da0959b
+08709a0574717d857b8b768b6d905d980813d67092738e688b688b5e4a7a5008a683
+05a0ba9c9fb98b0813eaaf8bb783a88b9c8b9a8a9789083e3350434b4408f7314415
+91818e818b8008fb012efb024c7f699aa41e8bbea2aae4ce080efb1dfb32abf882b7
+6ac912d3b87fa613d0f7d0b01580383d3b5b8b778b618c8ba28b9f9f958ba5089884
+917b826a82561e8b67ac69cd8cf7088dedf70593e990cd70ca4ba37a917387798708
+f754f776719c0574707d857b8b758b86915d970813a87092738f688b688b5e597a50
+08a68205a0ba9c94b98b0813d0af8bae80a78b9d8b888a97883f33897b434d086b6f
+997205a6a0be8d9e8308b67a955a8352080e59fb7faff761c2f7cdcc12f723d672e1
+13e8f84af7f91558fb87057e7d4d54598b748b738b8bc08b978e998e9b08b2f74205
+ff00073334abff000bccccb48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9
+ab9a958b928b8e868b7f088b82fffffb6666ffffeee666fffffa999affffe6199a08
+66fb4705887b887a8b7c8b599965d48bb28bb999ccc774fb426132348b4d8ba1c059
+8b0880707d7261da83b01faf8bb896b9bcff0039199aff003ccccdff0015e666ff00
+263333b2f74508c2f78f058f9d94a98b978b9c81956b8b08658b8b5f8365080ec9f8
+6aa4f702e801ff00bf999aaff72cafff0099fffeaf03f7acf94e15f8bb0af7509015
+ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd94cccff00334ccc
+fffff64ccc93918e948a95ffffd26666ff000c1998ffffe73334ff0027ccd08bff00
+1666648bff0013999cff000f3332ff000d3330ff001b3334ff0002e668bcff0007b3
+34ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701ef75288
+15ffffc899986a41ffffcfb3341f8bffffc6b334ff002d199cffffd94cccff00334c
+ccfffff64ccc93918e948a95ffffd26668ff000c199affffe73330ff0027ccce8bff
+001666648bff0013999cff000f3334ff000d3330ff001b3334ff0002e668bcff0007
+b334ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701e0eda
+f86ba2f705e601f7a0bbf720bbf720bb031438f75ff91c15f8ba0af75016f9430af7
+5016f9430a0ed3a2abf88aaa01adaaf88baa03f7d1a215a20af8aa04a30a0efb0981
+aef80fae01f7bff82815dc8b974375fb0575fb05663a358b3c8b80dca1f705a2f70a
+bdced08b0891ae15228b253272fb176efb27cd39f7008bf7038becdea7f726a6f71e
+54ddfb0d8b080efb0989acf7e6aab57701f702f79503f777f70e157b387086478884
+8587769085ba8cae8cbf8bb98ba18abb8a929190a08691488e7c909bde08b2f75b05
+97c797be8b8b8d93878d828b597b608337798a7f8d819082a78ea58ea08b9a8b8d80
+8157080efb098bc2f7e8b701f7b8c215f9030a0efb09fb49aef7b3abf77bae01f5d5
+03f7b2f82815f9040a0efb09fb42acf721baf81b7701f7d4f7e31553fbb4fb428b05
+bae0edf701e0e908e2fbb415458bc4f7b80595bd92b28e93088a8d6c8b05848b8684
+86873b3efb33fb3634fb26087c8b70a81ef74f8b792f05825d678b61888485867690
+85aa8cb28cb78bb18ba48aaa8a929190a086915d8f808994ba089de7c38b05988b9e
+9e8d978d958991808b080efb09fb4baef7d1bdf722ce4ed31213e0f7c99c15f9050a
+13d0f9060a13e0f9070a0efb0980aef7c6ae01ff00bfcccdff0132800015f9080a9b
+ff0024cccc15f9090a0efb09f800cc9677121380f785f80015f90a0a13407e970513
+80f90b0a1340f90c0a0efb0981aef8baae01f7e3f8d315350af71c3115f90d0afb8e
+fc6015370a0efb09caaef7c6ae01ff014e199aff0078cccd15f90e0afffff03332ff
+ffdb800015f90f0a0efc1ff773c701d8f7a403f7cef773152a0a0ef8595fa0ff00a4
+b333ff00154ccdf738a0f7b5a001f799a0f787a003b393158b78968b9687db72ce87
+cb8bac8bab8eac90ff00d96668ff00238000ff00bc4cccff008ae666ff00614cccff
+00c56666ff003c8000ff007ab334ff00098000ff007966688bff001a19988b9c808c
+808f083ea34191598bffff27b3348bffff331998ffff973334ffff803334ffff534c
+ccffffa6199affff868000ffffd5e666ffff68b3338bffff9c4ccd08a198159df771
+f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00138000ff000e6666ff00a019
+9aff006e3334ff00146666ff000d199908f83dff00004ccd05373ffb2e32fb5c8b08
+9ff75915f7b807949bf5e1f714b208fb9c07f759fb4815fc358bf77ff738f7c58b05
+ffffd38000ffffaa3333ffffc16668ffffbc6667fffff01998fffff56666088af86e
+15cb8bca82c87808fbfffb8f8bf79305be98c196d18b08fb2bfbb515f7f4f7880584
+417b396033080ef84b0efba8fb0aa5f76caacba101f770c003eaf75915f92e0aa32c
+15f92f0a0efbb7fb0aabf770a601a1c0f71bc103f74df73515f9300a0efb9efb06a4
+84a1f75fa5cba112a8bf13b8f7515115f9310a63fb4315836a988b051378f9320a13
+b8f9330a0efbd3fb04a2f74aa8f708a401f77ebc03bb4e15f9340a0efb8afb88a9f0
+b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bcf71215f9350a13f500f9
+360a13ee80f9370a13ed40f9380afb7efb7f15f9390a13e480f93a0af728f744157c
+4d6f86778b0813f540f93b0a0efb92fb04a2f766add1a001ffffff199aff011eb332
+03ff0092199af75015f8cc0a0efc03fb03a2f767a0c8c501ff0074b333ff003b999a
+03ff008fb333ef15ff000bb332ff0034e66694ff0008199afffff2cccd8bffffee66
+6784ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3328a8d8b08ff
+0014cccd8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999ff
+fffe6667fffff56667fffffc9999fffff0b333086efb1705fffffb199875fffff999
+9a85ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc8808877905
+8bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd66668d898b
+08ffffee33338c05fffff1ffffff0000cccdfffff8cccdff000333338bff000c8000
+8bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff011dcccc15
+fffffffffffffff38001ff0008b333fffff5b333ff000e999a8b08ff00118000ff00
+12cccdff000f999aa0ff000b4cccfffff9b333ff000a199affffeecccdffffe31999
+fffff8cccdffffe5999afffff733331f0efbf6fb699ef7d1a0c9c401ffffdf3334ff
+002f3333ff007c1999c703ff00ae6666f79b15788bfffff266677efffffcb3337bff
+fffce6667cff000a66677e9c8b9c8bff000f999998ff0003199a9aff0002cccd99ff
+fffb19999a758b08ffffc44ccdfb5215ffffe3b334fb1f05ffffed199a2effffefe6
+66686e8b868bfffffccccd8fff0000333391fffffecccd99fffffb199a9a7c8b7f8b
+fffff5333382fffffcb3347bfffffbe66677ff001f66667ea68b9b8bff0015666692
+ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccde008ff001db333f72605
+ff00057fffa6ff00078000a68b8b8c90fffffe66678d858bffffee999984ffffd04c
+cd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc8a8d8b08ff0014
+cccc8a05ff000cffff8bff0004800084fffff7800061080efb94fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2f7cea001fffff1199a
+ff00a2e66603ff00506666f74315f8ce0a0e2afb04a2f76cad01f786ff0031e666ff
+0063199abd03c7f71f15f8cf0a0efb7cfb04a2f768a07aad12ff01053334ff003319
+9813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0efb94fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a
+0efb91fb87a2f700a5f76ba501a8c003f7515115f93c0ab7ca15f93d0a0efbcffb03
+a2f765b365a012fffff84ccdf79913d0ff0087999af115fffffe33338c05ff000580
+01ff001b3333ff0006e666ff0017cccd8b8b8c90fffffe66678d858b0813b0ffffee
+999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc
+8a8d8b08ff0014cccc8a05ff000cffff8bff0004800084fffff780006108ffffe480
+00fb1b05fffffc199878fffffd3334fffffb4ccdffffe8999afffffeb33308ffffed
+cccd8a05868bfffffe999a89ffffff66668808fffffc66667905ff000000018bff00
+2d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8efffffd6666
+8d898b08ffffee33348c05ffffed3335ff0001199afffff9cccdff0003e666ff0004
+19999f08ff0019b334f71205ff0001999a93ff0005cccd9490900813d0ff0014b333
+a2ff0011800097928b8f8bff0004800089ff0003333387ff0004999a84ff00073333
+87978b9d8bff000ccccd94ff000380009cff0003b3339dfffff8999a98708b086c8b
+ffffde199969ffffe9e66772080efbc8fb0aa4f779a401ff000e3333a1ff00a38000
+ff0017333303ff000e33337915f8d60a0efc00fb0aaef765a801b0bd03f715f71215
+f8d70a0efb93fb0aae7ea1f762a212bbbd13b0f721f72e15f93e0a1370f93f0a13b0
+f9400a0efb98f718a201b4f7ae03f42215f9410a0efb08f718a201ff00a5b333f71d
+15ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533338c8b1efffffe
+cccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007666788ff00
+0519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938bff0009b333
+8eff000633339608ff0054e667f727ff0019e666fb2805ff0001666683ff0003e666
+86908b928bff0009b3348eff000733349608ff0077b332f75c05ff0010e666a8ff00
+0e666892998b8e8bff000433328cff0000ccce8f08ff000380009cffffff33328c05
+8bffffe9ccce8a7876ffffd833328c8b1efffffeccce8afffffc80007a05ffffff99
+9889ff00016668888d8b0894069d8bff0008199887fffffdccce808a86fffffccccc
+85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94ffffff8000
+92ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff0000999a8e08ff00
+0380009cfffffe33328cffffc8ccce8a05ffffecffffffffda33338c8b1ffffffecc
+cd8afffffc80007a05ffffff333287ff0001cccd8a8e8b9d8b9186ff000480007008
+ff00044ccd74ffffb6cccdfb15ffffe51999f72d058995ffffff8000928c90ff0001
+666792ff000666668d968b089406ff0001ffff8bff000266678dff000099998e080e
+fb73fb82b4f7dda301ff00a3e666f71e15ff00034ccd9bffffff66678d058bffffd5
+9999896e78ffffdc66678d8b1efffffd999a89fffffc80007a05ffffff999889ff00
+026667888e8ba68bff0001999afffff66666ff00064ccdffffe6999a08ff0029999a
+fb3d05ff000266667eff0001b3337bfffffe999984fffffecccd85fffffde66786ff
+fffb666683ffffe84ccd65ffffe67fff6b828b858b8790fffffb3334918890fffffa
+999a8e828b818bffffeb333382fffffc4ccd7908fffffb4ccc74a881978bb78bff00
+1eb334b1a7b7ff004a9999f70dff00274ccdc7ff00303334d1ff000bb3329dff000f
+ccce9ea38b908bff000266668dff0000cccc8f08ff00034cce9bfffffe66668d058b
+ffffe5999a897a75ffffd666668d8b1efffffe999989fffffc80007a05ffffff9999
+89ff00026666888e8b088e06998bff000a999889fffffe333482ffffff666688ffff
+fd800084fffffd33348708ffff9db333fb29ffffdcb333f72b058aff0004199aff00
+00199aff0005e666ff000066668dff0001999a93ff000899998e9d8b8e8bff000466
+678dff0000cccc8f080efbbffb04a9f764a801d29f03f4f72f15f9420a0efb41f801
+a7c576e1aaf70da801f724a8f70eaaf70ea703f7daf8b715e26c34346ce235aae1e1
+aa07fba07b15f9440aa816f9450a0efb41f801a7f70faaf70da801f724a8f7a7a703
+f830f89815aafb606c074b9a15f9440aa816f9450a0e7685bff7e0be957712f72bda
+b4d5f744bd13dcf89df7be152efb02fb33421e618b7b8f7c98759e7ea68bab8bc693
+c0b3c1bed39b9a8ba0089385917e1efb24067b8b84888383727177667f5b91849485
+989197b19d9f939195929d929e8b08a306aa9483821f8b8384807f7d35fb077c5d8b
+588b629b69aa76a678ad84ae8bb28baf96a79ff729f6a4f7388bc40813bccd689f75
+76797b771e8b6bac7c9372088e828d7f8b7f080ef8cff70c01fb25f75c03c2f8e215
+b20a0ef8cff70c01fb36f77703fb2af8cf15b40a0ef8a0f70701fb13f78703b0f913
+15b50a0ef8a0f70701fb37f7880337f8a015f7030a0ef8b4bfc87701fb26a7f76ca6
+036df8b415f40a0ef8ecf72701fb69f7a70329f97f15f7180af7274c15f7190a0ef8
+eaf72901fb56f78003a3f8ee15f7530afb6ee915f7540a0ef8f1c001d2a90380f926
+15f7570a0ef949b101fb39d403cdf99d15f78d0a0ef888b201fb5cd003a8f8dd15f7
+9d0a0ef954e501fb7de8ece703fb7cf98115c50af7528c15c40a0ef96476c5a301fb
+0bbb8da6abbf038cf93d15f7db0a0e4ffb88a295a1f746a2f754a2f754a2f753a3a5
+a282a2dba2b8a21213fdc0f72df94d15ff00e2e66606ffffe8999affff87b334ffff
+ddccccffff4f8000ffffde4cceffff52cccc08ffffeb66668b8674ff0015199a8b05
+fffff33332ffffbe199afffff34cceffffbee666fffff419994e08ffff7b4ccd8b86
+74ff00854ccd8b05fffff3199affffbd8000fffff4199affffc33333fffff63333ff
+ffcd4ccd08ffff624ccd8b8775ff009d66668b05fffffdb334fffff44ccdfffffde6
+668089fffff5b33308968b978bf76a8b8fa2ffff2a80008b05ff000ae666ff003833
+33ff000e199aff0048b333ff000fccccff0051199a08ff008bb3348b90a2ffff73b3
+348b05ff000be666c8ff000cb332ff0041199aff000cccceff0041e66608ff00b5e6
+668b8fa2ffff4a999a8b05ff000c999aff0040999aff000c9998ccff000c199aff00
+3e666608ff00d5199a8b90a2ffff2a66668b05ff000d6666ff0044ccccff000c999a
+ff0041199cff000b199aff0039199808ff00d580008b8fa3ffff2b33348b0513fec0
+ff0001b332ff0008e668ff0001b334ff0008b330ff0001999aff0008666808ff00d2
+cccc8b90a2ffffc299988b0513fdc0ff0002666899ffff6a66668b05ff00024cce97
+ff00023332ff000b6668ff0002199aff000a9998ff00038000ff00119998ff0002e6
+66ff000eb334ff0002b334ff000db33408ff00d4e6668b8fa2ffff2b999a8b05ff00
+02ccccff000e3334ff0002b334ff000e3334ff00034cccff0010999808ff00d2999a
+8b90a2fb678b7d8b828b05805486708054fffffde666fffff56668fffffdccceffff
+f49998fffffdb3327f08ffff1c999a060efb0981aef8baae01f7ecf8d3159b8b9a85
+9480ff0005ccccfffff9e668ff0005199afffff74cccff0003e666fffff4666408ff
+ff1a4ccefffe7fe66805ff00008000ff002f6666ff00083333ff00338000ff000733
+33ff0024999abbf78acfb9b68b08ff003f80002f15ff0002b334ffffd8ccccfffffc
+1998ffffcab334fffff2b334ffffbb8000792f7c4c745866395a827a8bffffdc999a
+8bffffee4cccff001b199afffff8999aff0026199908ff01144cccf86415ff002a33
+34ff0046cccc6e99ffffdd3334ffffc5b3340578ff00118000ffffe66666ff000bcc
+ccffffdf66668b2c8bfb06fb0a65fb5affffee8000ffffa6cccdff00056666ffffab
+9999ff001ab334ffffc6800008ffffcb6666ffffa8199aa97cff002a199aff0046b3
+3305ff0015e666ffffe4e666ff001d999afffff26666ff002466668bd58bf713d9b9
+f77f9eee85e06cc5fffffe6666ff00031998fffffe4cceff0003199cfffffe19988e
+080efb9ef6f7d915846468fb5af746fb2e08a099056fab2cf70bb7f776b7f776f723
+f70bb1aa087d9a05fb1c34fb0efb236cfb35080efb9ef7cff7d91593b2adf75afb46
+f72f08777d05a66aebfb0a5efb7760fb75fb24fb0c656c089a7c05f71ce2f70df724
+aaf734080efb974bb0f946b001f84bf95015fb6b8bfb29fd90f76b8b92b0fb268bf7
+1af946f7278b050efb974bb0f946b0019e4b15f76a8bf729f990fb6b8b8466f7278b
+fb1bfd46fb268b050efbb43c98f8139001f0f7af03f7bbf8e71592af95a5989a9c9e
+9e979f8f088e980557896281747774777b6a825d086bfb37058360785c507d088a86
+05bf818f618155086efb2a0581578d6799779877b180c18a088d9805828d798e7da8
+839d8ba691ae08a7f7220599d388af55a1c09da3a39ad8080efbb4f7d38ff8149801
+99f7af03f2b815846881717e7c7a78787f778708887e05bf8cb496a29fa29e9aac95
+ba08aaf7370594b69ebac699088c8f05579687b595c008a8f72b0595be89af7da07e
+9f6595558d08897e0594899d88996d937a8b7084670870fb21057d428e67c1765679
+73737c3d080efbe29476f8c7f612d1f70389f613e0f7047f15a18baf9d96c298d182
+ad93e492d997e58d9f8c918a92808b818b8683887f877d7d4f6a2008703573607e4b
+088259a374a68b0813d0f742f8fc1590a978a36e8b6d8b6f73856d856e9e73a98b08
+a88ba8a391a8080efb307fa8f85c77eef612f7b6f540d913e8f7d8d615856d5d6f52
+8b528b6bc898cb94baa5a9bbafd7c698c793b60894b8058d92868f848b838b85878a
+8408825f058774817279727f7b747a707a5569485f7c3c7931bf4ff18bbf8bb898ad
+a4aea4a5a692b20892ae74937b8b788b747e8775887d8c868e86088e858d85887d08
+13f0d3f8a61591a978a36e8b6d8b6f73856d856e9f73a88b08a88ba8a390a8080e72
+f8caf88c15313a354a3b5a08836505c566c74aca2e0895bd056ad466c161b0c6b5c6
+c2c4cd08fb3ebe15303a354a3a5a08846505c566c84ac92e0895bd056ad466c161b0
+c6b5c6c2c4cd080e72f73bf88b15815805aa49b154b661526651554e4208815905ee
+e8e1ccd3b00893b1054dbc4fcc50dc08f74816815805ac49b054b661536650554e42
+08815905eee8e1ccd3b00893b1054dbc4fcc4fdc080efb62f70df79c03f815f88b15
+303a354a3b5a08846505c566c84ac92e0895c00569d267c066b0c1b3c3c1c7cd080e
+fb62def79c03ded315e5dbe1ccdbbd0893b10551b04ecc4de808805505ae45af56b0
+66556352555048080efb78f7afc701f1f7a403f7e7f7af15ff000f199aff0013e666
+ff0020b334ff000f4ccc928890831ffb7906fffff6199affffe9e666ffffe5999aff
+ffef6666838e82921f0efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4c
+cdff0140333415810a13d0820a0efbb981c7f7eda79877f70eb712f6ff00ed999a13
+98ff013a8000f8ae15988bff000eb3349dff0002666697ff0001333291fffffd999a
+93818b08fb4d06808bfffff180007afffffd999a7ffffffe999a84ff000266668394
+8b08ff0072cccdffff263334157e0a13b87f0a13d8800a0e2e81aef8e2cb60c71213
+80f790a415428b67e7a3f705a3f703d1bcbc9fe058a25176270871fb0c4d53528b08
+7a6815f28bf704deabf72da7f71957c724cb55ad6cb792ae0813a08f9e9ea0af8b08
+13c0b38bac76bd8bbe8bb2a5a2b18b8f8893848b7f827c876e8c0813a05f8c739b5e
+8b3d8b43517c44815d9457c661085d7205315a5c5c793571fb0fbd20f7128b080e4d
+fb7faff751c2f7ffaa01e2db03f7f1cb15ffffd44cccfb3effffccb3342e348b4d8b
+a1c0598b0880707d7261da83b01faf8bcc96b9bcff0039199aff003ccccdff001fcc
+ccff00263333ff0027199af74508d4f7de05738b71887790708e7e8e638b0820fb33
+fb24fb3953a137df1fc08bc8c2c7e4089ae0155a313a376b8b086978b8c3f5ecf730
+e71fa08ba1849e7f8b8b77fb007b4d080e6381c7f7ddc7eeb701f70cdaf736d903ff
+01ee8000f8ae15f20aff00ff8000fb4e15940a0ef77b81bcf82477f70bb712f71dd7
+78e1f0dbf735d913e6ff02de8000f8ae15988bff000eb3349dff0002666497ff0001
+333491fffffd999c93818b08fffe1afffe06808bfffff180007afffffd999a7fffff
+fe999a84ff0002666683948b08ff00828000fc681552a874b11ee48bb2c9d2f3088e
+89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b
+848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff00096668ff
+001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b809c
+8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e83660869fb
+320536fb0b66626b8b0813f678799caf1f8b968ea392a908b0f7310513eef7a30a13
+f6f7a40a0e92fb82b086b0f8c3b2f779a484a812f93edb1334f882f8ce157a677c5c
+7f5108fb498b99cb05ff001f3334ff008eb334ff003fccccff00164ccca38bff001f
+b3348bff0007e666ffffebccccff0006999affffeae668ff0004b332fffff0b334ff
+0004199afffff04cccff000bb334fffff74cccff0005ccccfffffb9998ff0007cccc
+fffffd6668ff000ab3348b08a6fb4815e806958b9a8f8d93088b90a08c8e898d861f
+fb028b9acb05ff0008b334ff00251998ff000a4cccff0022e66896a608132ca5c9ae
+a19c8ba28b8e83907790769271ac8b08a792a294b05cae531f708b528058430813b4
+7ab04ca36d8bffffb666668bffffcee666ffffdae6686affffd1ccccffffd1999a4a
+fffff1cccdffffad1998fffffb4ccdffffe93334085806798b837f89838a88887f8b
+8908898d8b8e1ed08b76fb0405fffff7199affffd0cccdfffff0e666ffffc8333382
+4c77fb1b70fb176f6f7b7b82887e8b7a8b83968395849582957a8b086e8674867796
+6dd11fb98bb5aab1cfb9e1ff002f4ccdff00c9199aff0027b333ff00e0e666088e9c
+f74b8b74fb0405fffff8cccc68ffffef33343e824f79fb0a75fb036f6f08136c7c7c
+81887e8b7b8b83948396839583967a8b086e86738677966ed01fb78bb4a6afc7badc
+b1f75dbbf766080e8efb82acf757ccf7e3b29277f78eac12f881e513ecff004fb333
+ffff51b33315fffff4e666ffffee9999ffffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0014199a8bff000fe666fffffd8000ff00106666fffffd6666ff00
+0a999afffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3199afffff94c
+cc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+7c818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00116666ff0005e6
+66ff0019999a08ff002d4cccff00c433340594ff00271998ff000b3334ff00268000
+8bff0011199a0813dc7f0a13ec718b5c84498b08fb01068e9995e5b2d0adc7b68f9f
+8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effffc8cccc8bff
+ffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668ffffe0e666
+ffffafb33478ffffa21998084f880579ffffff199a82fffff7e66689838a88887f8b
+8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a666760ffffbd66
+66080e94fb82acf757c7f7e8b2f780ac01f820da03f8e2f8db15ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828bffffece668fffff8e668ffffee19
+98fffff81998ffffe480007cffffef80009affffce999a9affffdd66668b528bffff
+d46666ffffef9998ffffdb8000ffffe26668ffffc96667ffffd3b334ffffde666640
+fffff14ccdffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd06
+77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ff
+ffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6
+ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff
+00104ccdff0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90
+a08c8e898d861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666
+a8ff001a999aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff366
+68ff000d199afffff01998ff000e6666ffffee9998ff0010199affffe46668ff0000
+8000ffffef80000825fc5c05fffff8e6666bfffff8199a698b788b78ff0005800072
+ff002580008bff002d33348bff00364cccff00198000ff002d8000ff004b80008795
+86927e8b6d676a757f8b838b87918b93088b938f9a94b3080ef796fb82ac92acf72f
+ccf7e3b29277f77eac7aac12f981e513f5ff01f73334ff0242800015ffffe9b332ff
+ffd59998fffff06666ffffcce668fffff4b3345308558b858bfb0a8b99cb05ff001e
+b334ff008c4cccff00444cccff0010b334a38bff0024199a8bff00103332ffffe9b3
+34ff000e8000ffffea19980892fffff56668ff00073334fffff61998ff00093334ff
+fff9333408ffff628000fffd37333415fffff4e666ffffee9999ffffeb6666fffff2
+b3337c8bfffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff766
+68ff000dcccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9
+b333ff00186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cc
+ceff0011e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff
+00f66666088e9cf68b059e8bff001419988bff000fe668fffffd8000ff00106668ff
+fffd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3
+199afffff94ccc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485
+937d8b716d6e7c818bfffff8e6688bfffffd1998908b97088b94ff00051998ff0011
+6666ff0005e668ff0019999a08ff002d4cccff00c433340594ff00271998ff000b33
+34ff002680008bff0011199a0813e97f0a13f3718b5c84498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813f5ffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666080ef7a1fb87b086b0f738c7f7e8b2f779a484a88477
+12f91ada1339f883f8ce157a677c5c7f5108fb498b9acb05ff0021b334ff008fcccc
+ff003c4cccff00153334a38bff002180008bff0007e666ffffe96668ff0005999aff
+ffe99998ff0005800075ff0006e66676ff001e999a8b081335f741f515ac8bff0013
+e668ffffe86668ff000d1998fffff01998ff000e6668ffffee9998ff00101998ffff
+e46668ff00008000ffffef80000825fc5c05fffff8e6686bfffff81998698b788b78
+ff0005800072ff002580008bff002d33348bff00364cccff00198000ff002d8000ff
+004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308f1f85c05
+ff000e8000ff0040e668ff000a8000ff002819988b8b08133392888e821effffece6
+68fffff8e668ffffee1998fffff81998ffffe480007c081335ffffef80009affffc1
+9998a1ffffdd66688b708b438058430813b97ab04ca36c8bfb448bffffdab333ffff
+28ccccfffff94ccdffffd93334084d8805ffffef33338afffff88000fffff5999aff
+fffd4ccdfffff866668afffffd333488fffff5cccc8b8908898d8b8e1edc8b74fb04
+05ffffe2199affff6e8000ffffcbe666fffeea800061617b7b82887e8b7a8b839684
+95839582957a8b086f85748677996dd11fba8bb4aab1cfb9e1ff002b8000ff00d219
+9aff00378000ff00dde666088f9bf74b8b75fb0405ffffe26666ffff69199affffd1
+999affff0ee66661610813757c7c82887d8b7b8b83948396839583967a8b086e8673
+8677966ed01fb78bb7a6aec7bbdcff00378000ff00c93333ff00288000ff00d7cccd
+088e9be78b05958bff000f6668ff0003999aff00019998ff00086666088b8fa08c8e
+898d871ffb008b9acb05ff0008b334ff00251998ff00094cccff0022e66897a608a5
+c9c0a19b8b080eb8fb7daff74fc3f7ecb2f77fad01f87ff873157e59568805788a84
+8389838a88887f8b8908898e8b8e1ed18b4bfba405836b856c8b788b67a381a48bb4
+8bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b94ff00058000ff001a
+199aff00078000ff001fe66608c9f79be08b05958b9a8f8c940890a0058e898d871e
+268b95b805ff00224cccff009a4cccffffd4b334ff0045b334fb0c8bfb168b4d256b
+fb1bfffff8999affffe0ccccffffe16666ffffff3334668780838c84917c08afffff
+fd999a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee
+199a2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff2
+4ccdffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199a
+ff0014199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff
+00264ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cc
+cdff0021cccdff00a8333308c5f7b505ff0018ccccff007b6668ff00323334ff0038
+9998c78bff006133348bfffff88000ffff9e3334ffffe94cccffffa8cccc080ee281
+c74facf803b2f785a712c6df77cba6ff0022999aff00166666d658ddcddaff001f99
+98ff0046e66813b760f8a3f84115568805788a848389838a88887f8b8908898e8b8e
+1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b679d81aa
+8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b9708
+8b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b05979094a580
+9308288b95b80591a6ff00078000ff002280008bff0018e66808ff0056e6644eff00
+32b334ffff91999affff943332ffff7cb334ffffc44cccffff8366681e8bffffe499
+98ff00086666ffffe7ccceff00156667ffffe7ccccffffb46666fffff76666ffffd2
+cccdffffc5199a8bffffc7999a8b63a160cc5fc067936a8b7608137b605463785e1e
+13bb60718b7d9088a188a27da96d8b6e8b83738b80081377608b66b966d087089a06
+edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813b6e0a48b9c838e768e
+739c6fa58ba78b939d8b9b8bff001a66666fff001eb334ffffd8b334ff000e8000ff
+ffd3e666ff001be6667aff002066668bff0025333208ff0067199cff00793332ff00
+26ccccff0042e668ff00536664ff00218000ffffd9e668ffffc166641e8bffffe3e6
+68fffffa199cffffdf9998fffff84cccffffe23334080ef886f858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050eff01f47020ff00c3235401fffed48000
+f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053ce98
+8bff001a80c4fb7cff0054d3f88bffffdaae98050e8b14f8c5157f98f840989d99e8
+96ce98a99506fb8296077f97f841989d99e896ce98a99508fb7f93091e0a0366667f
+0c09910c0ab20ab20c0cd70bd70c0d1c004213031d02000100090011001f0041004f
+0062006a009e00a900bb00f10103012c015701aa022402a302b30319036703b303d1
+04120430047e04dd04f004fa0551058805c006240673070807a7085508c308d308db
+08e1092e093909490a060a950b340c3e0d9f0e420ff9101f102a105110e9126c127a
+12e0134e1393143e149014d5159d15fa16e816fa172e17c617d617ee193c1a091b87
+1dab1ed21f2f1f401f911ff82017209420cb21b821d5227322a722df246d248c24be
+24db2518252b253e255a257025ee261c26b227d22871292c299129f52a242a952ac1
+2af62b572ba12c632ca82cc32ce52d0c2db92e6d2fee324732b5333c33d8356c357a
+359435dc3607363b364d365f368136a336c136d336e3371f3748375637c338463878
+388a38dc38e838f6398d39aa3ac53ae33b073b7d3b8f3c253cab3ce13cf23d763d9e
+3dca3dd33f333f393f443f613f873fad408e41314198426442c8431443b043c24411
+448044dc45524565458545cd4603463d4666466e469646c4477e4930497f49db4a0e
+4a5d4acd4adf4b554ba44c134c6f4c8d4cd24d974de94e3f4eae4f0a4f924f9a4fb3
+4fc05001503f505d50a250b750f151df521a523e529a52e9532f536d53e65406543f
+54f8556e55a055da56dc570a5787588858bb5938598b59e75a585a885ab35b2b5b9b
+5c4b5c6f5ce85d015d275da55de75f345f6e5fa86020609060ec6126621c623f6253
+626862ba62cc631a632e634e638f63bd63d563e5642a643a65236554658265d46655
+6661666c66bc670d67af67f7682268566872687d6913696f6a106aa26afe6be36cc2
+6cf06d0a6dcb6e3a6e626e8c6f106f846fab6ff4703e70bf70ec7141718a72607276
+72ae72c272ed72fe7389739d73b773d173f7744074d3752f758e75cb75fb77cd781b
+782b7887789e7902792a799379ae79d479f37a187a557a7d7ad07b027b557b877c02
+7d267d997e0b7e237e797e8a7ea47f127fb880af815c818781f68260832a83a88472
+84e78560858285e285fc860b8661874e8788879d87c8882f884888d9892b8959899a
+89c089dd8a0f8a298a4a8ad68af08b0a8b248b958bf58c4f8cad8cc08cdd8d128d45
+8d758dd68e038e168e608e8e8ea48eb38f158f289021903b908a90b090d790fd9123
+916591a391e8921b9255929a92d59310936c93c8944a94c49513956495c89671970b
+9721977a9815987198b698c6997699d29aa49b229b309b5c9c1a9caf9d359d499df9
+9e099e179eff9f1d9f3d9f6d9f969fc09feaa002a01aa044a04fa067a092a0bea0d9
+a103a12fa13da14ba156a164a16ca17aa185a1afa24ba261a28ca2b7a353a369a394
+a3a9a3c0a45ca472a49da4b2a4c9a565a57ba5a6a5d3a5fea62aa632a6cea6e3a6f1
+a6f9a707a712a73ca7b2a829a853a868a892a8bda8eca962a98ca993a9c4aa3aaa9e
+aac8aaf2ab1cab31ab48ab73ab8bab9eabc8abf4ac1eac4bac75ac83ac8bac99aca4
+acb2acc0accbacf5addbae05ae1caf00af2baf5ab040b06bb097b0e2b11ab123b17a
+b1a5b1d1b2b7b2e1b2efb2f7b305b310b31eb32cb36db397b39fb3adb3b8b423b438
+b4a3b4b1b4bfb4cab4e7b509b527b53eb555b582b5a7b5d2b5f7b622b64db67bb6ad
+b6c9b6ddb6ebb6f6b76ab784b7aeb7d8b84db878b88db8a5b8d0b8fbb928b953b980
+b9a9b9b4b9c2b9cdb9f7ba22ba37ba48ba5dba75baa0bacdbad8bb16bb47bb55bb73
+bb8bbbbcbbd9bbfbbc39bc6abc90bcb4bcd8bcfcbd20bd44bd67bd8dbdc0be07be11
+be35be68beafbed3bee1beefbf8abfccbfe6bfeec003c01bc03cc056c091c0b9c17b
+c195c1a3c1b1c1bcc1dac21cc25ec2e4c326c339c34cc35ec370c3a1c3d2c414c43a
+c454c470c507c515c51ec539c596c746c84ec94fcabbcad7cbd2ccc9cd2bcd4acd70
+ce64cec4cececeeecf3acf54cf6ecfb8cfdbd009d04bd11ad179d248d2a7d321d381
+d408d435d494d4f0d50ad524d53fd559d579d599d5b7d5c3d5e7d605d63ed677d6aa
+d6ddd6efd701d713d738d743d74fd762d771d7b9d7ded841d8bfd900d90dd92ed97c
+d9dbd9fbda0dda28da69dab7db16db4fdbe3dbf5dc4bdca7dcd4dd91de2bdea0df13
+df90e03fe04de074e0a5e0c7e10de15ce196e1a4e1d1e1dce265e314e3d6e455e49a
+e50fe52be54ae5a1e5c7e62ae64ae6a1e6aee744e75ae77ae7dee7ffe819e83fe85e
+e87ee8eae92de978e98cea0aea69eaabeabdeacf758b68788155080b856a8a738b72
+080b8b7d8c7d8b7b8b788a758970080b853e81308977088907858d86951e958b9094
+8e968e9998c7aaf6a5e1a2b696cc080b8d928b918b918baf759d748b080b57a851c8
+deb7f702cfd35e9e634151383f1e0b798b688b55a4080b81976f986f8b084250383f
+57a752cadfb6f704cc1f8b938a9489939e80b181a38ba88bae8eb29b08fc40fc8ab0
+82f874f8c6050b6aa005625f4881618b080bc5b6debb9da6805a51673255787099bf
+1e0bff000f199aff0013e666ff0020b333ff000f4ccd928890831ffb7906fffff619
+9affffe9e666ffffe5999affffef6666838e82921f0b67716a70719f77a5aea6aba9
+a4779e711f0b9b8b9a859480a471953f71fb1a792f7c4c745866395a827a8b328ba2
+f73f9ce2bbf78acfb9b68b080bd58bf713d9b9f77f9eee85e06cc579ae69a9578b2c
+8bfb06fb0a65fb5a76209727b554a16fa97db08b080bcff7ef0597c798c88f988c90
+888b888b4f6953722f628a808f819285ba9ea2919d8b9b8b8a738469084bfbda057b
+3871864788848586769085ba8cae8cbf8bb98ba28abb8a92918fa08691488e7c909b
+de080b87769a799f8b9b8bac9d8fa18d938a918a928a9287948d9390a4abafd18bae
+8bb772782b087f4b6a57474f08364205fb0627725b8050088bbd8daa1ef73c06aab6
+898b1fa2c0a3d692a986907f8d81896d447672688b08fb3f0694bbdbcf919008f708
+ec05ccc2bdb79ad7a0f7003fb73d8b208b39397f4f080bb48bae717e4b8159443e29
+7d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b87a2839d849981
+97788b778b7278887b088363d770c58bf7068bf708d8a5f718a0f70145b25495088a
+8d05e2b2a9b495c091a989a378a47aa16d9c598bfb218b502b856a887d9177a28bad
+8b94ac8f9e0897cbd097a48b080b53fbb4fb4b8b05ccdde4f704e0e9080b3b8bc4f7
+b80595bd93b28e9308898d6c8b05848b858587863f3dfb23fb38fb08fb23087c8b70
+a81ef7588b792f05825d678b6188848586769085aa8cb28cb78bb18bae8aaa8a9291
+90a086915d8f768994ba089de7cd8b05988b9e9e8d978d958991808b080bff0023e6
+67ff00158000ff001f9999ff00014cccff0010999a8be98b8d2b815976fb0259595c
+8b4f8b5badacf73fff00044ccdff0016999aff00076666ff001accccff000b3333ff
+001cccce080bf74006fb05fb56fb05fb572cfb2c089184cd8e05e3f73edff73af735
+f7a5087e97057a867485678b08fb59066a8b8f957a8f888b8b8b8a88815b754f7957
+9588948a968cb0dbab92aa8b080bc98b9b60825d81554f5e6d7708719e0556b48bac
+91aa94b9b0b1c58b080b99d35fc02d8b298b404e7c3e80539d62be6508a17b056c7b
+6e7a6f755d67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab0850b605bd
+a2debf97cb080b608b50aa9ce591a9a4d1e9c408b36f05bf659a5c825b78273f7a60
+8b080bffffdc199affffea8000ffffe06666fffffeb334ffffef66668b2d8b88eb95
+bda0f702bebdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe533
+34fffff4ccceffffe33332080bffffd48000ffffa5199affffaf3333ffff9ae666ff
+ff76cccdffffce3334897f8c829286f2a9cfb5cdccd5d3bae69adab2f75f25b3418b
+fb128b3ffb137a35087a35a83ef7178bff001966668bff0026e66693ff001f3334ff
+000dcccd080b67716a70719f77a5aea6aba91fa4779e711e0bfc208b825af8208b05
+0b709f8599aa9ba49f1e8b908a90898f889089918b9108a9aeafd0bdae5e551e8bfb
+20fb21a868fb5108835d058a849088928b938b918e8c920892b70590a394a39da4b0
+c1f734b68bf72108d451ba311efb174e305b1f0bfffff0199afffff8b332ff0001b3
+34ff000533321f8bff0001b334ff0000b3348dff00018000ff0002666608f725f792
+8d8bb4fb9f050b91ac8d95df8bff002f33348bff00388000748b418bfffff56666ff
+fffeccccfffff46666fffffd8000fffff333347a364b6d3b8b0844060bff0070cccc
+ff002eccceffffc6e666ffffb6b3341f8bfffff43333fffffeccccfffff3b333ffff
+fd999afffff380007c42634ffb268bffffc780008b7bff00094ccc8bff0016b3348b
+ff00043333ff0000999aff0004999aff0000e666ff00053333080b87788d8905b88c
+b28cb18bb18b9889e18bf7538bd1ef9ce1ff0002666898ff00013330ff000c4ccd8b
+ff000b99998bff00498000ffffd0b334b7ffffbbb334ff0015999a088d07c0a4bfbf
+95c1080bff00024cccff000be666ff0001999cff000c80028bff000c80008bff003a
+3330ffffde9998ff003ae668ffff6d80008b698b5f89648b668b648c5e8c08888987
+7705878c88901ea78905ff00208000fffffd9998ff000bcccdfffffc66688bffffed
+b3348bfffffb3334ffffff3333fffffa3330fffffe8000fffff8e6680829fc8b0584
+6881876288086e8905868b89888a86080be88beab9dde488948691808b383d436c32
+8bffff87b3338bffffce199aff006666668bff00744ccd8bff001bb333ff0002cccd
+ff001c8000ff00056666ff001c199ab3f75ff72cdfd78b08f7198bb33a933508a88f
+058cbf8dbc91c1558e6eb5fb0a8bfb338bfb44fb2665fb59fffffb3333ffffe74ccc
+fffffd999affffe74cce8bffffe7cccc8bffff7a3334ff004acccdffff8a6666ff00
+ae66668b080b88798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00
+049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff0075
+8000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e88908b08
+a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb33
+34ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e
+8905878b87878a86080bedf8890592aead8fba8bff00a719988bff0038e668fb068b
+ffff83199a8bffffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5e
+fb1659fb1b8b3b8bffffed8000ff000680008bff0015b3338bff0003cccdff000099
+9aff00043333ff0000e666ff0004cccd080b8d8a8c881e7a88858a748b08fb87060b
+668b648c5e8c080b89898777050b8a888b87928b08a78905ff001de666fffffd8000
+ff000c999a838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334
+082afc8705856f7d7f6588086e8905858b89878a88080bb88cb38cb08b08f762060b
+b9d7898b1fa0bfa4caa1bf086e90050b6a435a50428b08fb160679fffff3e666ff00
+046666ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e6
+6608bcf78ff70e8b05ff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd
+6666ffffffccccfffffd3334ffffffb33488088972058a888c86908b08a08b908e05
+8fb390a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b
+08fb0e8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308
+0bff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd6666ffffffccccff
+fffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390a68f9f8e9f
+92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e8bb3f76605
+90a39995a28b08ef06d38b9563934608a790058eb490eb8b938b8d8a8c898b798886
+8a748b08fb88060b8a888b87928b08a78905ff001e8000fffffd8000ff000c199aff
+fff819988b778bfffffbb334ffffff8000fffffb3334fffffee666fffffa8000082a
+fc8505866f7d7d628808718905868b88888a860887788d8905b88cb28cb08bb28bb2
+8ab88a088d8d8f9e058c90888e868b08738d05ffffe0199aff00028000fffff26666
+ff0008199a8bff0014e6668b8fff00008000ff000480008c9008bbf78d050bfb398b
+fb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb66678b
+ffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d9608a2f7
+080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e8c0889
+898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0fffff9e666
+8bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb3333086d
+fb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc8bff00
+14199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7168bf7
+1f8bae39933508a991058bb58db392d3518b71b8fb098b080bffffd78000fb62fbcd
+8bff00288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e
+8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199a
+ffffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e668fffffc999896fffff33334fffffa1998ffffe2
+3334080b2afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdff
+fffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ecf8810591
+a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608
+ad8805ff0026e666fffffc999896fffff33334fffffa199affffe23334080b2afc81
+05fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdfffffc199a086c88
+058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199a
+ff00036666fffff4e666ff000c199a91ff001e800008ff00304ccdff00f58000ffff
+fdb333fffff3800005ad8ba4809a7008f70afb5a05ff00076666fffff2ccccff0002
+66667e8bfffff4199a8bfffff56667fffffe199afffff63333fffffe199afffff780
+00088a858c89059f8c9e8ca88bb08b9c8ab88a088f8d8e9e058c90878d878c08858c
+05708f769579aa08fb34f7980584958a928c938d929092b1ae08f738f72b05c1bcb1
+91b390908b918e8c90088f9e888d055e8a808a658b648b708c5e8c0888898878058a
+868e888f8b089e8905ff00101998fffffe3334ff0007199cfffffb33348bfffff880
+008bfffff6b330fffff51998fffff2999cffffedb334ffffeecccc08fb58fb4405ff
+ffe8199affffea199a737cffffdb3333fffffde66608ff002bb333f7720591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e666fffffc999896fffff33334fffffa199affffe23334080bfffffa999a6f
+fffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82080bb88c
+af8cb28b08f75f060ba5e3898b1f9ac3a1c4a0bf85ff0005b333fffff3b334ff0003
+999afffff64cccfffffdb333080b6fffffc2b3335dffffba4ccd428b08fb0206ffff
+e84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000
+e666ff0004cccd08e9f87405ff00058000ff001c1998ff000f8000ff000de668b48f
+08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc9998ff000ae667fffff33334fffffa3333ffffe23334080b91a99ea5
+b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004cccc088d
+9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb8000ff00
+07e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd9998ff00
+0a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffaccccffffff19
+98fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb188b888989
+7805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ffffed8000
+ffffe33333ffffd88000fffffccccd08728905fffff7199affffff4ccdfffffb6666
+fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38bae8ab88a08
+8d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb8000ff000066
+6608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff0004e666ff
+00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a928b918b9380
+987508f78dfc4d050b927c96829b8b988b94978f9e080bf700ff00494ccc43ffff72
+199a1f8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bff
+ff9ecccc8bffffae8001ff004f4ccd8bff008c66668bff0019cccdff0002cccdff00
+1bb334ff0005e666ff001dccccb3f766f70ee2e28b080b90ff0019ccccff00024ccc
+ff0018b3348bff001766668bff009c0002ffff96ccccff00631998ffff6de6688bfb
+3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ffffe6ccce8bffffe833
+328bffff67999aff0064e6672fff008eb3338bf74c8bf725f71fb2f75c080b90a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a8d818e080b866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b080b72
+8b4d82648b658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdffff
+ff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffccc
+d0ffffff6666fffffc9998080bff0032e666ff0039b334ffffee1998ffffaf33341f
+8bfffff33334fffffe8000fffff1999afffffce666ffffefe66673fb113d6f2e8b08
+5b8bbcf78d0590a89c9ccf8b080b738b4f82658b658b658c5e8c0888898776058a87
+8d898f8b08b08905ff000e4ccdffffff1998ff00149999fffff8b3348bffffe7b334
+8bfffffd1998ffffffb334fffffcccd0ffffff6666fffffc99980829fc8a05866f7c
+7f628808728905868b88888a860887788d8905b88cb28cb18bb18bb28ab88a088e8d
+8e9e058c90888e878b08728d05ffffe0199aff00028000fffff26666ff000766668b
+ff0014199a8bff0003ccccff00008000ff000466678cff0004cccd08b6f76f05db8b
+9c7c957408cffb42050b9e5cac61c58b998b9c8d9690088ea305608b7aad7ab6083b
+f76605b799ebbfa0f4ff00029998ff000d3334ff00016668ff000c80008bff000be6
+648bff00218000fffff59998ff001cccd0ffffeb6668ff0019199866b850904f8b08
+0b589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bff
+ffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ffffe033338bff
+ffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd087b3a5a
+6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00
+028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb33
+34ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666
+088bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b08
+0be78b9850914908aa89058bbb90a68ec1080bffffe5e6668bffffea999a94ffffe8
+80008f7e5a7fffffe380007556ff0007999afffffb3334ff000d6666fffffdcccc94
+8b080ba8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ffff
+fb3334ffffe31998082cfc7f05856f7c7d6287086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff
+0005e666ff001e666608eaf87c0592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b334080b80c4fffffd8000b6ff00028000b308
+0b6afffffa8000fffff2ccccfffff88000ffffdc33348b080bf7598bd0f713adf746
+08c1f7a70590a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b75
+8b658c5e8c0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000c
+e668fffff74ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacc
+cc0852fbb90575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff9
+4ccdaa8bff002099998babff00068000ff00216667ff0005e666ff0020333308c6f7
+c30591a79b98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c
+5e8c0888898878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999ff
+fff866688b768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849
+fbe405fffffb199affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff7019
+9aff006b1999ffffdfe666ff004b199a8b080bfbc3fcb205fffff7b334fffff13333
+fffff74cccfffff7cccd818b818bfffffa333493fffffdcccc9a083af8b505fffff7
+b333c3ffffe84ccdff0000800061ff0005800085918b9c9191b38aa58ab38bb28bbc
+8cac8c91858b7a85856889ffffd63334fffff53334ff0004ccccffffdecccc08cbfc
+51058efffffc80008dff000180008d8d08f77df84605ff00151998ff00273334ffff
+e53334ff000dccccffffcdb3348f85918b9c9191b38ab78aa58ba58baa8cb08c9185
+8b7a85855685ffffdf800071ffffed80006a080bc7fcaa05ff0001e666ffffef4ccd
+ff0001999afffffab333ff000a80008b938bff00033334ff00043333ff0009ccccff
+0011cccd08f758f7fa05ff000ee668ff001b3334ff000f6664ff001c8000ff000633
+34ff000b4ccc8c8bff00038000ffffffccccff00008000fffffdb334ff0002800075
+ff0002e66880ff00041998ffffdd800008b5fbf705ff00021998ffffee6666ff0005
+b334fffffb999aff000933348bff000780008bff00038000ff0002e66695ff001219
+9a08f7c1f8b205ff00128000ff00214cccff00188000ff0019b334c09191918b9c85
+916a8a648a718b718b5c8c638c85858b7a9185ff00324ccc87ff00233334fffff1e6
+68ffffea8000ffffd9199808fb4ffbee664684c86bf7ab05fffffc1998adfffff8e6
+68ff003fb3348b8b0860ffffffccccfb59fffe908000654b84cd69f7f605fffffc99
+9aff00216668ff00276666ff000a9998ae8d91918b9c85916a8a598a668b6a8b648c
+678c85858b7a9185ff0030333383ff0017999a81ff0006333355080b8a87918a9489
+9b88a783a75108edfb6105ff0005999afffff733348efffff880008bfffff84ccc8b
+89ffffffcccc89ffffff999a898a858582848308fb3cfb4f05706d615f5388858b86
+898a860887778b8905a88ca38ca78bb18ba48ab88a088e8d8f9f058b8e8b8e868c08
+798d05ffffeee666ff0001e666fffff98000ff000580008bff0007cccd8bff0008b3
+33ff0008199aff000b8000ff000a8000ff000c999a08f736f74905939392918d8b8f
+8b8f888f8308e5fb5005ff0006e666fffff23333ff00044ccefffff6b3338bfffff9
+b3348bfffff6ccccfffff6e66688ffffe8e666fffffd999a08778905878b89888a87
+0887778e8905b88cc08ca18ba18bb38ab28a088d8d8f9f058e8a8f861e618e71ac78
+b20820f76605fffffa3334ff000ab334fffffc4cccff0008cccc8bff00084ccc8bff
+0001ccceff00003334ff0001b332ff00004cccff0001b3348d949194969708f734f7
+4505acafa6a7c58d08938d8f8e1f8f9f898d05648a6a8a758b758b698c648c088989
+8777058a868e898f8b08a78905ff000c8000ffffff1998ff00054cccfffffc4cd08b
+fffff9e6648bfffff86668fffff7e668fffff4b334fffff34cccfffff1999808fb32
+fb430584838687888b898b888f8792083bf74405fffffa199aff000c3334fffffbcc
+ccff0009cccc8bff000733348bff0008b334ff0006199a909cff0001199808ab8d05
+8d8b8e8d8c90088e9e058a8b8e8b1f5e8a5a8a748b748b658c658c088888050bb1f7
+5405ff00036666ff0011199aff0003999aff000de666929608f743f79305a0a9989d
+ae8e08a58d058e908f9f888f6e8a6e8a758b758b6c8c658c88878a768d8708ab8805
+a3fffffdcccc8cfffff83334776e08fb32fb85878b36f78505fffff6e666ff001a66
+68fffffc3334ff00098000ff0021e666ff0003199808ac8e058e908c9f898f648a6d
+8a658b668b648c6f8c88868d788e86089a8905ff0021e666fffffb8000ff0007199a
+fffff480009f5608e7fb8905ff00026666fffff98000ff0000e666fffff880008b87
+8bfffffae666fffffeb334fffff64cce89fffff5cccc0868fb4b05866f7b7d628708
+6c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9
+199aff00036666fffff4e666ff000c999a91a9080b9ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d99
+98ff0007ccccff0011b3348bff0008cccc8bff00058000fffffbccccff000266687b
+8b7f8b76846d8808fbc8060b5e8b9095688e7c5574437b6208a786050badd0a6bdd3
+8b08f77106928b8e8989858a868785858408fc72fcb105fffff8ccccfffff8cccd85
+fffff4e6668bfffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7
+f206a4eb898b1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e408
+8d897e6105847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000ff
+fffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb
+05738b71887790080b5a313e376b8b086981b3c3f5def735e71fa08ba1849e7f8b8b
+8121724b080bff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b
+7081437e628808887305888c898f1eaa8905989385751f8b80897a86750824fc5d05
+7d4da555e58bff001f33338bff0026cccd98aea3ff005b6666ff003eb333ff005b99
+9aff008033338bff0066199a8bcf7dbe308b468b584c686208898c050bfb25ffff83
+4cccfb17ffffb3b3341effffdbe6668b85ff0026b333ff0010199aff00444ccd08ad
+f72405bac2b8c8bb8b08a9a274471f0bd38bccff00338000bbce88958192828b645f
+63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff1999aff0012999a
+fffff1199aff00133333fffff5e666ff001366678bff003c666608f729d1e3d899a7
+866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54ccc8b85087b95
+7b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffffe5e666ffffd6
+999affffd3999affffcf4cccffffcbccccffffde999affffb280018bffffa633338b
+ffffdee666ff000680005eff00178000ffffdf199aff0014999affffe3199aff0022
+ccccffffece666ff0028999a8b080b5a315247648b086b84c5c3f5d6f727e7b1a457
+681f8b747a5d6e56080b847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffa
+ccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b94
+91a78f9e08f5f863059acc95b38b8b8b92888e828b7081437e628808887305888c89
+8f1eaa8905989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866
+fb478a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080b8bff
+ffa64cccffff96cccdffffdee6673ffffff63333ff00234ccdff008d199ac2ff001d
+8000ff0029e6668baf8b98828b6e080bf799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1ece8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba0
+8c93080b77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999a
+fffff4e666ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff
+00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333
+ffffea00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccd
+cf1fb48bb79faab6ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7
+529bff004e3333ff00104ccdff0050e667ff000ecccdff0053e666088e9ce88b0594
+8b9a8f8d93088b90a08c8e898d861ffb028b96c405ff00076666ff00264cccff000a
+999aff0021b33497a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffff
+ebe668ff00043332ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb3
+34ff00078000ff00186668ff00098000ff00284cccffffd39998ff00223334441fff
+ffe466668bffffc2199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879
+ffffa9666808498805788a848389838a88887f8b8908898e8b8e1e0b9d87d175ac7c
+c371a3758b680865696333fb0455b0c21e8bbbc9b7a49d080b8ba685af7d9f9a99a4
+96928b948b8e868e869083ff0006e66682ff0010199a8b089d98999e9d7b9b741f71
+8b6581686b080b75a5ffffe04ccc9bffffd3b3348bfb048b5f3f8b3b8b5f9e61a66b
+080b72716e5b8b688b818b74a57c566e39548b4f083af70376dcf71de6b2ee1e8bcc
+5bac559b3ba3428d8bbb8b9f99a3949c9b81a384a78b08e2ccc7ee1f0b4d7e484f4e
+82d3bbd397c2cd1eb6a159471f0b71a175a5a5a1a1a5a575a1711e717575711f0bff
+00090001ff00271998ff000b3333ff002680008bff0011199a080bff000db334ffff
+f8b334ff00076666fffff2cccc1e0b6b8b5e845c85fffff94ccd83ff0001b3338091
+8208b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f08
+5cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e77818b
+fffff8e6668bfffffd199a908b97088b94ff0005199aff00166666ff0005e666ff00
+19999a080bff0008b334ff0027ccccff000a8000b58bff000ce6668bff000db334ff
+fff8b334ff00076666fffff2cccc8b080b6b8b5e855c84fffff94ccd83ff0001b333
+80918208b38805978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffff
+ea8000ffff9e8000fffff6cccd4cffffedb333ffffb8800075356979798bffffe4cc
+cd8bff00058000b6ffffceb3338b08fffff2cccdfffff03333fffff6199affffeae6
+666bb17bb71ff7118bff00348000ff00bae666ff00338000ff00f3199a080bfffffb
+333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001f
+cccd8bb18b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766
+668bff0007999a8b92fffff8b33390829d6b96ffffcd3333ff00146666ffffd2cccd
+ff0020999a43a46cb48bad8baeaaabc384938790808b08776e7678808bffffece666
+8bfffff98000ff0011999afffff5999aff001466666fc27eb27da7fffff04cccff00
+1f6666fffff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b08
+99ab9eaaa77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08
+d3f7cb059acc95b38b8b8b92888e828b7081437e628808887305888c898f1eaa8905
+989385751f8b80897a8675080bff000e8000ff0040e668ff000a8000ff002819988b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff9199a
+698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000ff
+002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94b3
+080bffffc6cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff00091999fffff58000ff001fcccd8bb18b89b7ff0009e666b108ff0028199af735
+05d9f705c3acab8b9f8b91848b6d8b7f8a73846c08ffffcfccccfb5f05fffffb3334
+ffffebe666fffff8199affffe7199a8bfffff633338bffffef4ccdff0009199affff
+f58000ff001fcccc8bb18b8ab7ff0008e666b108ff0026199af73105e0f70bb2aaab
+8b9e8b95848b6d8b808a6e836c0864fb31050bfffff5ccccffffd6cccdfffff88000
+ffffd733338bfffff766668b77ff0011b334fffff2999a998bc68bc2a8addd899484
+907e8b73656f70798bfffffa99988bfffffe4cd0918b90088bff0003999aff000219
+98ff001919998eff000b4ccd08baf746050b91a28faa8b9e8bca6da36c8b448b544e
+51428e9b8c9d8b988bd16d9c6f8b438b4a56503f08898cff00024ccdff0009333405
+ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b080b6b8b5e845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b81088bfffff6e66688fffff2199a856f080b6b8b5c855c
+84fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff7e66688ffff
+f1199a856f08ffffc7cccdfb8d05fffffb333477fffff8199a728bfffff633338bff
+ffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026
+199af73a050bcaddc2c6af8ba08b99868b6c8bfffff3b334fffff9b334ffffe46666
+fffff94cccffffe3e6660865fb34050b836b82628b788b78967da98bbb8bbbadb9c6
+889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490a191a508
+0be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666ff000ccccc
+ffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff98000ffff
+a9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0b5698fb0b
+f7131eff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c
+1e0bff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f
+8365087e50055967666d6f68ff0003e666fffff1cccdff0009199afffff933339d8b
+a1a8a19da7a20824fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058b
+cf90afb2cf898b1e8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c05
+9a7bff001c80007aff001d80008bff004733348bff003a3332ff0027b333ff002b99
+9aff00354ccdc1cda6cf8bd38bdf6fcd278b588b6678707b080b8bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdffffe56666ffffd6b333ffffd86666ffffe1cccd
+658b718b709876a808cdf7b805a49ba89db18bcf8b95448b5a080b9a06edc6c1d51f
+8bba70b92fc86d9f819d8ba48bae9fafb68b080ba48b9c838e768e739c6fa58b08a7
+939d9baf57b74d34564b4e1f8b63a160cc5f080bc067936a8b768b5463785e8b718b
+7d9088a188a27da96d8b6e8b83738b80088b66b966d087080b568805788a84838983
+8a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94ccdff
+ffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d57
+79817b8b888b818d8b97088b94ff00036666ff0014199aff0007999aff0021e66608
+c6f79bed8b05979094a5809308288b95b805ff00043334ff0012b334ff0008ccccff
+001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080bff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541
+fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d
+8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085f
+fb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e89806405826b83628b788b
+78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a1
+91a5080bffffde6666f77d057de87fb0668bffffde80008bffffc63333ffffc5199a
+68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b3333fffffe
+8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff0007999aff
+ffd3b33408b5fb8805ff0007999affffd3e666ff000accccffffec199aff000d999a
+8bff000a80008bff000dccccff000f8000ff0012e668a0ff001ee666ff00226666b1
+ff00303334ff000e6666ff00146666ff0015ccccff001ee666ff002dccceff003c80
+00ff001c3332ff0042199aff000ee668ff0022ccccff000c3334ff0024999a8bff00
+23333408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34c
+ccffffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff
+000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffdb
+3334ffffb26666ffffd96666ffffcc6666fffff36666ffffef199affffdbe666ffff
+d13333fffff2199afffff4b333080bff0007b3348bff00123332ff000e4ccdff000f
+b334ff0018b333ff00253332ff003a8000ff0037199aff00606666ff0022999aff00
+4b199a08918c05ff000e80004bff000f4cccffffaf199aff0009b334ffffbd333292
+ffffcfb334ff00074ccc81ff0008b3348bff000b80008bff000e8000979fa4ff001c
+e668ff0024199aff001fb330b8ff000e6668ff00146666ff0015ccccff001ee666ff
+00234cccff003d8000ff001c3334ff0042199aff000ee668ff0022ccccff000c3334
+ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ffffe2b334ff
+ffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6999aff0003
+4cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8b
+5effffe61998ffffb3666665ffffcc999afffff08000ffffeb199affffefe668ffff
+ecccccfffff2e668fffff1999a08fffff866648d05fffff78000ff00346666fffff2
+999cff00428000fffff2fffeff0036199afffff6ccceff0026199afffff74cccff00
+21666684ff00118000ffffef8000ffffff8000ffffef8000fffffc80007b83ffffd6
+6666ffff9f8000ffffbe999afb0bffffe880006708fffffd8000ff0001800069f769
+05fffff13334ff005ce666fffff4ccccff0025199a668bffffde80008bffffc63333
+ffffc5199a68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b
+3333fffffe8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff
+0007999affffd3b33408b5fb8805ff0008b333ffffcd999aff00094ccdfffff26666
+948b080bff00238000ffff9d8000ffffa28000ffff76800005fffff5999afffff0cc
+ccfffff56666fffffc3334848b838b808d838f828f818d818b08757b7b7571ae7fa2
+1fad8bff00183333ff000f3333ff002bcccdff003ecccd08ff00458000ff00638000
+ff00268000ffff868000050bff000cb33463ff000a4ccc7bad8bae8bb79eaabfffff
+fc3334ff00093333fffff6cccc9380ff0001cccd716a7e83808b828bfffff93334ff
+000cb333fffff7ccccff00184ccd0855f735d7f70405ff000fb334ff00173334ff00
+184cccff0003cccc928b938b98889484ff00076666fffffa3334ff000f999afffffb
+cccc958b08999d9fa21f0ba4709a741e598bffffdf3334ffffeeccccffffceccccff
+ffb933340859436fe305ffffef6666ff00343334fffff4999aff0013cccc728bffff
+e880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999afffff3
+e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7800008ff
+00048000fffff84cccff0006b333ffffef3334ff00064ccdffffee8000080bff0013
+999aff00206666f70eff00ba8000ff001c3332ff0042199aff000ee668ff0022cccc
+ff000c3334ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ff
+ffe2b334ffffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6
+999aff00034cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bff
+ffef999a8bffffd43334ffffd73334ffffb51999ffffdd6666ffffc9b3338b8bffff
+cc999affffac999affffe64cccffffda666608fffff980008e0585ff0074800084ff
+005e66666dff007b999a7dc07ea0728bffffe880008bffffb68000ffffd680006871
+ff00016666fffff5199aff0003999afffff3e66693fffff84ccc97ff0005b334ac9b
+ff001480008b988b958890fffff7800008ff00048000fffff84cccff0005999affff
+efccceff00056666ffffede666ff001e8000ffff9a3333ff001e6666ffff0c4ccdff
+fff4199affffe680006248615f7d8b818b7898859084917793838b087672776c6ab7
+829c1fc08bff004f8000ff0040cccdff00408000ff00633333080b74717c857b8b79
+8b7d8f5c95080b5b936d906f8b688b5e4a7a509284948a968ba0b99c95b98b080bb8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff0f8000ff
+fef73334057774655c877d8e849086918a93889289938aa1b0a49b958b9c8ba685ab
+77080ba47cac81a78bb68baca4baf700fffffa199aff0006b333fffff8e666ff0003
+4ccd7f8b654e6e866f8b080bffffcd66668bff00058000ae2f8bff0045cccdff004d
+e666ff006dcccdff00703334ff00388000ff0045e666a4a99fa0959b080b726e756c
+759b7ba1a3a9a1aba07b9b751f0b726e756b769b7ba1a4a8a1aaa07b9c751f0bf730
+f712f713f730f730fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71f
+f704fb04fb1ffb1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b783c
+056d747981788b728b82978b9b8b8f8b8f8c900893aaa59de0a1080b9c8ba0979595
+08869b0587888689888b080b86898f941f8b948d9990a0089cd6050b8f9b8c988b97
+8bc66399658b648b4a6a82638b898a888b898b809384978b9c8b95988d93088c8e8b
+8d8b8e8b8d8b8c8a8c088e078b8d8c8f8c8f080b9b9f86651f8b808a7e877b08517c
+054d7b5f6f81618a858a858b868b6aa377ad8ba98b9e94b2a9080b8a8a8b8a8b898b
+7a9479a18b080b948b9e938e9b8d9388928d948d98999bb68b9b8ba6818b688b868a
+868a868155717456670855665761825b08f7620694a898ae99a9087490057c6f7364
+6c8b083a0691aaa8a8bba9cbb3b3ac93b98d928b908b918bbc5b9b5e8b3c8b655886
+718a8a8b898b8a08809682971e0b836268715e8508887305938c918c928ba18bb885
+8b608b878b868a857d464f7e788b6c8b82938595869286927e8b088178827e77ba7c
+af1fda8bd7b998d08c918c928b908bb967a06e8eab9ba5a291a88c8f8b8e8b8f8ba9
+709d5c8b08348b6356887a8b888c7c9e8ba18b919c8e9791a4af959f8b9c8b9c848b
+758b878a888b87080b25fb1205838189828b868b859086928b928b92909d9a08f71a
+f7018b9605898c898d898d859280966f8b868b848a888a080ba7a5a5a7a771a56f6f
+71716f6fa571a71f0b978b8b81856b086efb2c0586757a7c7b8b086706878b88888a
+89088776058bc78cb1adbf8a8b1e8fa0058c8f888c888b086f067d8b829a90a108be
+f7997b8b055a706f7f597a088f70059b92aa94988b080bfca5fcd3b583f8a4f8d305
+0b6cfb20298b05959cd0d5bdbc080b82627d8863898483887c8e85a98c998bae8ba9
+8b9c8ba98a91928e998993ffffda1998ff00023334fffff5199cff00086666ff0007
+ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a82
+7d7f80815f6253575e55868687858785fffffe199afffffc3333fffffcb332fffff9
+80008bfffffa333308fffff9999a8ffffffa8000ff000e33341ef70a060b8b908791
+84910825df345ef7214c059b849986958b9a8b8f988b91080bdff725059298928fa2
+8b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6678bfffffd19
+998bffffea9999ffffefb334fffff64cceffffdf6666fffffd6666086f8905878bff
+fffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc18cb08bb28bb2
+8aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c05658f7b9a85b208
+2ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f816188868bfffffccc
+cdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a
+088e8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199a
+fffff48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd
+080b948b9b90a09208f73dca4ab8fb2137057d8284848b828b838f88938b080b6006
+6569636b606f08947605b59caf9db6a6a672a978ae7908a0a0056ca670aa76af080b
+788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6
+666d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff00
+1233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffffe933349105
+ffffe9800061ffffefe66881758b080b71a175a5a5a1a1a5a575a171717575711e0b
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b2050b889e88967d8b7d8b82827b7008fbcffc9c05664d
+6f816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c
+9b8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05
+ffffe74ccdff0002199afffff48000958bff000ecccc8bff0006cccdff0002666693
+ff0004cccdff00084ccd080ba98b9a72fffff9b3346cfffffa4ccc6fffffe74ccc6f
+6c8b6c8bfffff2b334a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bf760
+f7b9058f898a82897f0856fba2050bf7d90699c3a1c6a0bf086f90056a43624e428b
+08fb1106768b7f9390a608bcf793ed8b05ac8b927b8c6f088a6c05878c88911ea18b
+8d8e058d9c8eb891ad92ac97b093a4088d8a8d891e7606878b88878987087f6d057f
+6f807b698b08298bb2f75a058fa29ba0a28b08eb06d48b9159934608a890058cb48e
+c690c108fb698b418b050b8a878c88918b08a889059e8a9c7d7b7308fbecfc80056c
+5e8383668808758905858a87898a86080b8d8a8f871e708d05698d898ca4af08f71e
+f75af73f8b65fb5405866f7b7d638808718905868b88878a86080b8d89058be58dad
+1e0bff0012ccccff00083334fffff6999afffff11999ffffe1999affffe7e666ffff
+ebb333ffffdbccce1f778bfffff5e6668f7295fffff7999984fffffb800084fffffd
+999a7fff0016cccd80ff000fb33285ab8b08ff003c4cceff003f199aff0020e666c1
+ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc8afffff7999a
+8908ff0021e666ff003acccc05ff00528000ff00096667ff0052b334ff002d1999ff
+00488000ff004eb33488948691808b383d436c328bffff87b3338bffffce199aff00
+6666668bff00744ccd8bff001bb333ff0002cccdff001c8000ff00056666ff001c19
+9ab3f75ff72cdfd78b08f7198bb33a933508a88f058cbf8dbc91c1558e6eb5fb0a8b
+fb338bfb44fb2665fb59fffffb3333ffffe74cccfffffd999affffe74cce8bffffe7
+cccc8bfb19ff0049e666fb09ff00ac1999fffffe999a08ffffcab33435ff0004b334
+85059c90ff000a4ccc8c9e8b080b8d8a8c881e0b7a88858a748b08fb87060b948b9b
+90a09208f73dca4ab8fb2137057d8284848b8208838f88931e0b8a888b888b898b75
+9b7ba18ba48ba3a08fa48c8d8b8f8b8e8b9f7c9b758b728b73768673080b8b888a88
+8b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b728b72778672080b
+91a99ea5b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004
+cccc088d9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb
+8000ff0007e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd
+9998ff000a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffacccc
+ffffff1998fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb18
+8b8889897805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ff
+ffed8000ffffe33333ffffd88000fffffccccd080b728905fffff7199affffff4ccd
+fffffb6666fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38b
+ae8ab88a088d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb80
+00ff0000666608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff
+0004e666ff00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a92
+8b918b9380987508f78dfc4d050bf700ff00494ccc43ffff72199a1f8bffffe1cccc
+fffffcb334ffffde999a84ffffdb800068fb472220fb028bffff9ecccc8bffffae80
+01ff004f4ccd8bff008c66668bff0019cccdff0002cccdff001bb334ff0005e666ff
+001dcccc08b3f766f70ee2e28b080bffffab9998ffffa7999805ffffd3199cff0030
+e668ffffbe4cccff001b80003e8bfb3f8bfb2bfb2c65fb58fffffae666ffffe56666
+fffffd8000ffffe6ccce8bffffe833328bffffb8b334ff0016199affffc5ccccff00
+263333ffffd6666608ffffb24ccdffffaeb333a572ff004e3333dd05ff00294cccff
+ffe03333ff0035ccccffffeecccdff003db3348bf74c8bf725f71fb2f75c90ff0019
+ccccff00024cccff0018b3348bff001766668bc67cff00330002ffffe54cccff0028
+666408ff00576668ff005bb334050bff004766668bff00383332ffffe08000ff001d
+e668ffffc1b33408fffe7a8000fffe68333205ffffefb333ff0020e667fffff6999a
+ff0028b3338bff002fb3338bff0019cccdff0002cccdff001bb334ff0005e666ff00
+1dccccb3f766f70ee2e28b080bff00069998ffffe7b332ff00038000ffffe433348b
+6c8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bffffcb
+66668bffffd0199aff001733336aff002b8000080bf75a8bd0f713adf74608bdf796
+0591a79dadb48e9b8c938c8d92088e9d8a8d05678a648a758b758b7c8c738c7f8b86
+828a8489848f879589ab848a63856c0858fb9b0575fb0461fb1afb358b5d8b67a075
+a862c098d197cc08c3f7b20590a796a5af94938d908d8d958c918a94838b738a7a8a
+648b668b638c688c0889898779058a868e87908bab88ab7e8464084bfbdb0563fb60
+f71561e08b080b71a076a5a5a0a0a5a576a071717676711e0bfffffc33348cfffffa
+4ccc8c868b698bffffe580007afffff6cccc8508fffffbb33480ff005be666fb0105
+ff000ce6667c9186918b938bff00083334918c90ff0001666692ff00008000928895
+080bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4
+ccccfffffe999984ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089
+199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9
+b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6676308ff00
+1119997d05ff002b8000a6ff00251998a4ff002cb334b1ff001ab33467ff001be666
+72ff0021199a6e08ff0017e6669905ffffe4199ab3ffffe48000b5ffffec9998ba08
+0b788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2
+e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff
+001233327dff001280007fa18bb98bff0023199aa9ff00183334c708ffffe9333291
+05ffffe9800061ffffefe66881758b080b72a076a4a4a0a0a4a476a0721e72767672
+1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e4088d897e61050b
+847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff
+000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb05738b7188
+7790080ba98b9a72fffff9b3326cfffffa4cce6fffffe74ccc6f6c8b6c8bfffff2b3
+34a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bfffff6999a5dff002180
+0066b98bbb8bff002eb334b1ff00093332b8ff0009999abaffffde3334af5d8b5d8b
+ffffcf999866fffff6999a5d080ba6e0c4cecf8bb68ba46e8b6e088bffffb26666ff
+ff924cccfffff5e666ffff91b334fffff9b334080b7f597d5d8179080b6f59647866
+8b568b76a38bac8bff00666666ff009f3334ff00134ccdff0036ccccff00044ccd08
+0b8b7587738365ffff8acccdfffff7e666ffff4d3333ffffe64ccd8bffff78cccd8b
+54b867e78bc28bc9a7b2b4080b9a72ab5fe68bcd8bc9b3b4c1087d95056468677755
+8b4d8b63bb8bd78b9c8d9e8f9eff00939998ff0007e666ff00a06668ff001280008b
+ff0069999a8baf69c0248b528b5172605e0875ce3f8e738b08ffffa5e666ffffa019
+9affffcab334ffffc04ccc7c937ca3ff001a6666ff001666679eff001880001f8bff
+0004b334fffffe9999ff0002e6668bff0006333208ff002fccceff003f6666ff000b
+e666ff00213334ff0013999aff002e6666fffff58000ffffbf80001e0bff0012cccd
+ff00083333fffff6999afffff11999ffffe1999affffe7e666ffffebb333ffffdbcc
+cd1f778bfffff5e6678f7295fffff7999984fffffb800084fffffd999a7fff0016cc
+cd80ff000fb33385ab8b08ff003c4ccdff003f199aff0020e666c1ff001e8000ffff
+e79998ff0012999affffdcb3341f828bfffff6cccd8afffff799998908ff0021999a
+ff003a4ccc05c3ff000eb334ff0032199aff002c199aff0026e666ff003666668895
+8192828b645f63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff199
+9aff0012999afffff1199aff00133333fffff5e666ff001366678bff003c666608f7
+29d1e3d899a7866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54c
+cc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffff
+e5e666ffffd6999affffd3999affffcf4cccffffcbccccffffde999affffb280018b
+ffffa633338bffffdee666ff000680005eff00178000ffffdf199aff0014999affff
+e3199aff0022ccccffffece666ff0028999a8b08ff00024ccd8bffffcd333339ff00
+04b3338505ff0010ffff90ff000a4ccd8c9e8b080bfffffc33348cfffffa4ccc8c86
+8b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff000ce6
+667c9186918b938bff00083334918c90ff0001666692ff00008000928895080b5906
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b7fffa6ff00
+251999a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba080b8bffffa64cccffff96cccdff
+ffdee6673ffffff63333ff00234ccdff008d199ac2ff001d8000ff0029e6668b08af
+98826e1f0bfffffc33338cfffffa4ccd8c868b698bffffe580007afffff6cccd8508
+fffffbb33380ff005be666fb0105ff000ce6677c9186918b938bff00083333918c90
+ff0001666692ff00008000928895080bffff9c4ccdfb0b05fffff53334fffff33334
+fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85928b928bff00
+08cccd8fff001219999a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6
+999a8cfffff9999a8b08868bfffff9b3348afffffccccc8a080b72a076a4a4a0a0a4
+a476a072727676721e0b788bfffff1199895fffff2666897ffffeecccc99ffffece6
+66996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cc
+cc80ff000fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff001833
+32c708ffffe933349105ffffe9800061ffffefe66881758b080b93ae90a28b9d8bc7
+709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024cc
+ccff0008199ab68bff000ee6668bff000db334fffff8b333ff00076666fffff2cccd
+8b080bffff9c4ccdfb0b05fffff53334fffff33334fffffbe66687fffffdb334ffff
+f4ccccfffffe999984ff0005cccd85928b928bff0008cccd8fff001219999a08ff00
+89199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bffff
+f9b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6666308ff
+0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001ab33267ff001be6
+6872ff002119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba
+080be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666080bff00
+0cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff980
+00ffffa9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0bff
+ffcab334ffffbecccc0576ff0010b334ffffe24cccff000a8000618bfb3b8b3cfb31
+8bfb0c8b6cff00046666ffffca6666ff001d199affffd8e66608ffffcf8000ffffc4
+b334ac70ff002e999aff0039666605ff001319997fff0018999afffff8999aff001f
+b3338bff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff007633338bff0022199afffffbe666ff00
+26199affffeeb334ff001eb33208ff003b6666ff0049199a050bff0000e668fffff4
+e666ff00004ccc808bfffff5999a8bffffd86666fffff98000ffffa9999affffdb80
+00536f60ffffd7800079ffffda80008b7c8bffffed6666ff000a199afffff16667ff
+00183332080bffff358000ffff0833330587ff00119999fffffd999aa08bff0018b3
+338be5b2f726f58ba98bff00104cccfffff0199aff000e3334ffffe3e666ff000133
+34fffffd999aff00013332fffffd80008cfffffd6666080bffff9c4cccfb0b05ffff
+f53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999a84ff0005cc
+cc85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff4ccc9605ff
+ffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccccc8a080b59
+06ffffd9999a5dffffd14ccc60ffffd3e6676308ff0011199a7d05ff002b8000a6ff
+0025199aa4ff002cb334b1ff001ab33267ff001be66872ff002119986e08ff0017e6
+689905ffffe41998b3ffffe48000b5ffffec999aba080bff0003999aff0011e666ff
+00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a4459
+8b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b5269
+5d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c058471
+88758b788b52ab74ae8bd98bbdc9d2f3088e898064050b826b83628b78080b78927d
+a91ebb8bb8adb9c6889485937d8b716d6e77818b080b848890971f8b9490a191a508
+0b988bff000eb3349dff0002666497ff0001333491fffffd999c93818b08ffff0aff
+fe06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080b988b
+ff000eb3349dff0002666697ff0001333291fffffd999a93818b08fb8906808bffff
+f180007afffffd999a7ffffffe999a84ff0002666683948b080bc88bd8b19cd60870
+067d665573588b082c89c48f1f6f800652af5edb1e0bffffe2999a7f05fffffcb333
+36ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea333451ff
+ffcb80006b578b558bffffdc7fffb0ffffffcccdc0080b7a848f901f8b8e8c8d8d8f
+08f728f78dbefb9f050bfffffab33271ff0011800075a58ba58bff001a8002a1ff00
+054ccca5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33471080b
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666ffff
+fbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff93
+80001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccffffcbcc
+ccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00178000
+ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8b080b
+fffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccea5ff00054ccca5
+ffffee8000a1718b08718bffffe5800075fffffab33471080bb606b1adb3abb7a808
+819f05617b667861716fa46e9e679c08777705a96fa76da066080bbd06ff00266666
+b9ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ff
+ffd34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b
+4cce65ff001be6665eff001366665c080b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866fb478a8b
+057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080bffffe2999a7f
+05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ff
+ffea333451ffffcb80006b578b08558bffffdc7fffb0ffffffcccdc0080bfffffab3
+3271ff0011800075a58bff001a00028bff001a8000a1ff00054ccca5ff00054ccca5
+ffffee8000a1718b718bffffe5800075fffffab33471080b6e8bffffe7199878ffff
+fb199a73fffffa800070ff0017333482ff0010666688ff0011999a89ff000c333287
+fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff000019
+9a82ff0004cccc85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfff
+ffeee668ad658b080bff0026199af73a05caddccc6af8ba08b99858b6c8b7d897883
+690865fb34050b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+77818bfffff8e6668bfffffd199a908b97088b9490a191a508b1f733050b93ae90a2
+8b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc
+08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff002819988b8b
+8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffd
+e666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477ffff
+f8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b08b1
+8b8ab7ff0008e666b1080b788bfffff1199895fffff2666897ffffeecccc99ffffec
+e666996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010
+cccd80ff000fcccd80ff001233327dff001280007fa18bb98bff0023199aa9ff0018
+3334c708ffffe933329105ffffe9800061ffffefe66881758b080bff00090001ff00
+271998ff000b3333ff002680008bff0011199a8bff000db334fffff8b334ff000766
+66fffff2cccc8b080bfffffab33271ff0011800075a58ba58bff001a8000a1ff0005
+4ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33371080bff
+00109998ff0053e668ff00116668ff00081998c38eff00053334ff00046668ff0002
+80009bfffffa4cccff000899985d8affffe9b3348affffd44ccc8bffffcdb3348bff
+ffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff0005b334fffff76668ff
+00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664088b7ffffffdccd0ff
+fff08000fffffc1998ffffec33340834fc4e05ffffdc4cccffff4a8000ffffc9b334
+ffffe580006c8b7e8b809386958598809c6e8b08fffff1e666ffffe08000ffffedb3
+3370ffffe0199aff002bcccefffff03333ff0012cccc1fb58bad92b8aebbb0ff0040
+4cccff0032e666ff001cb334ff0091199a080b6b8b5e845c85fffff94ccd83ff0001
+b33380918208b38805978a91828b818bfffff6e66688fffff2199a856f080bffffe2
+ffff8bffffe7199a78fffffb199973fffffa800070ff0017333482ff0010666688ff
+0011999a89ff000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc
+80fffffe333482ff0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c
+3334c708ff000a9998bfffffeee668ad658b080bffffc7e667fb8e05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab8ff0008e666b008ff001a199af707059295ff00008000ff00084ccdff000d
+e6668bff0008e6678bff0008b333fffff8cccd8dfffffae66608d7fb1405ad529479
+ab8bba8bafa7a2b784938491808b7b72737c808b7d8b8d9678ac0828f740bec105ba
+bd9e979f8ba58b877dad8b0899ab9eaaa77592701f6b8b51654a4b0849ffffbeb334
+057dfffff04ccc7d7c768b08ff00124ccdff004f333405ff0008b334ff0026ccccff
+000d8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b080b6b8b5c845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+81088bfffff6e66688fffff3199afffff9e6666f080bffffe2ffff8bffffe7199a78
+fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c33
+3387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff00
+00199982ff0004cccd85ff003acccd94ff00373333a9ff000c3333c708ff000a999a
+bfffffeee666ad658b080bb1f7330593ae90a28b9d8bc7709f648b578b60762ffb00
+088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008199ab68bff000e
+e6668bff000db334fffff8b333ff00076666fffff2cccd8b080bbd06ff00266666b9
+ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4c
+ce65ff001be6665eff001366665c080b6b8b5c845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b818bfffff6e66688fffff2199a856f08ffffc7cccdfb8d
+05fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff580
+00ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a050b7d8b8287858308
+37fb07058a8a8a888b888b859086918b8d8b8e8c8e8c08f706e10594928f978b938b
+9d7a977d8b080b94908f978b958b9b829a738b818b838784830832fb06058a8a8a87
+8b888b859187908b8d8b8e8b8e8d080bff0003ccccff00129998fffff2999aff0012
+6668ffffeb199a8b7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffe
+ccce8affffff999889ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff
+000266668d08ff00886668f70205ff0007333291ff0002800092ff0001333491080b
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+667e08ffffa24ccefb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023332918c90080bff00084ccdff0023333405ff0008b334ff0026ccccff0008
+8000ff0022cccc8bff0011199a8bff000f6666fffff7b333ff0009b334fffff2cccd
+8b6b8b62845c85fffff94ccd83ff0001b33380918208b38805978a91828b818bffff
+f6e6668bfffff2199a846f08ffffc8cccdfb8d05fffffb3334ffffea8000fffff819
+9affffee80008bfffff033338bffffef4ccdff0008e666fffff58000a88bae8b8cb6
+ff0009e666b208ff001d199af709050bbbe2c3e8a28b958b908691849283987e998b
+08a69da8a6a07ca5661f598b514d5f2e080b6e8bffffe7199878fffffb199a73ffff
+fa800070ff0017333482ff0010666688ff0011999a89ff000c333287fffffbe66877
+fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff0000199982ff0004cc
+cd85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfffffeee668ad65
+8b080bedc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b080bc067936a8b76
+8b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b66b966d087080b788b
+fffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666d
+ffffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff00
+0fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff00183332c708ff
+ffe933349105ffffe9800061ffffefe66881758b080b988bff000eb3349dff000266
+6497ff0001333491fffffd999c93fffff5fffe8b08fb8906808bfffff180007affff
+fd999a7ffffffe999a84ff0002666683948b080bf7598bd0f713adf74608c1f7a705
+90a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c
+0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff7
+4ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb9
+0575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff
+002099998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b
+98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c088889
+8878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b
+768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405ffff
+fb199affffe6199afffffdb333ffffe8cccc8bffffeb199a08ffff70199aff006b19
+99ffffdfe666ff004b199a1e0ba98bff000ee66672fffff9b3346cfffffa4ccc6fff
+ffe74cce6f6c8b6c8bfffff2b332a7ff0005b334a7ff0006199aa9ff00184ccca5aa
+8b080bfffff6999a5dff0021800066b98bbb8bff002eb332b1ff00093334b8ff0009
+999abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080bff0003ccd0ff00
+129998fffff29998ff00126668ffffeb19988b7f8bfffff8666888fffff933348208
+ffff95b332fb1f05fffffeccce8affffff999889ffffffccce8afffffe666683ff00
+07e66686908b8d8b8d8bff000266668d08ff00886668f70205ff0007333491ff0002
+800092ff0001333091080bff00043334ff001480007dff000f8000ffffeb199a8b87
+8bffffefcccc8afffff766667e08ffffa24ccefb2605fffffecccc8affffffccce8a
+ffffffcccc8afffffe666683ff0006e66686918b8e8bff000333348cff000266668d
+08ff007eb334f70d059090ff00023332918c90080b5906ffffd9999a5dffffd14ccc
+60ffffd3e6686308ff001119987d05ff002b8000a6ff0025199aa4ff002cb334b1ff
+001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffffe4
+8000b5ffffec999aba080bfffffab33271ff0011800075a58ba58bff001a8000a1ff
+00054ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab3347108
+0b7c797c7572b276ad1fff003433338bff00264ccdff00113333ff00178000ff001f
+999abaff003f3333ff001d3333ff0093cccdff0021cccdff00a8333308c5f7b505a2
+f706b0cdb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae541f518b5b6e
+6b55796d78617839836c6d8a668780838c84917c08affffffd999a059dfffffecccc
+ff00056666fffffbe666fffffd199afffff0b33408ffffee199a2b05ffffc96666fb
+b7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccdffffe1999afffff3
+1999fffff96666ffffec199a8b7b8b878f8596fffff5199aff0014199affffefe666
+ff000be666798b080bf70406eda54d551f8b7d897d88807e4d5632fb2b8b528b7d93
+8ba08b918c928c93080b8e978d998b9a08d05fd6fb581e3f8bb6f75d050b90a39992
+a28b08f71d06cf9b494b1f8b85a990050b8fc390c194c808fbe48bfb0b8c878a8777
+058a898b86928b08a806ab95817a1f8b868a858a850820fc8a05856f7a7a648b0872
+06868788861f87788c89058be58dad1ef70389db8c05f7068cefdda1f5080bf82d06
+62272b2d218b2a8b48cb89f716080bcdbfd2bce98bf7008bcd318bfb188b6a876882
+66887d887f878008fc8606897789788b788bfb0ac72bf73a8bf7558bf724f723b8f7
+5792a88faa8ba88bf71445f707fb438bfb028b4a662b41080b8fa28da08ba08bdd6d
+ce5bb8c68daaaf95c0080b8c928b918b918bb375ab6a8b6e8b787c87738a888b898b
+888b799679a888080b988a98828b7f08880785695e82808b7a8b7f8d7a9164a15c97
+598bfb478bfb32fb2c68fb58877489748b768bfb32f7012af72c8b08f7538bf728f7
+21aef75c080bf700dc3efb291f8b70886d866c6bfb4720fb01fb068bfb058b3bdd8b
+f7248ba48da590a7b0f766f711e2eb8b080be5b8f728f706d89a414b4a69fb4bfb0e
+1e6d4a9ff7141f0b56a6fb0ef713f714f71af718f7321e0b8baf83b473abc18bb3ab
+97c18e948c958b938bae7aa56d8b6e8b777c85738a888b878b88088b7a957ca78897
+8996858b808b8a8b898a8a83696188808b788b7e8d7493080b779572906e8b08fb3b
+2dfb33fb0c1f0bf7618bcff713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b
+05bd8fadaa93bb8d948c958b948bad7ea56c8b6e8b737987748a878b888b888b7a94
+7ba78b08958b918d918e8f878b7c8982877273827a89088a068b418a6764448c8b1e
+898a8778058a868f888f8b08a606ac9981751f8b888b878a860857fbbf0577fb0464
+fb1afb3d8b5c8b65a072a874a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b
+08a606908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f
+8b08a606ac9981751f8b888b878a86084ffbe80587748a768b788bfb2af7076ada8b
+080b8b5dc8a28b708b7d7d84758876886086808b085dfb58057e55fb11fb20678b6a
+8b83998ba88b9a8ea791a208b7f73e050b93ad92ac8b9e8ba38598688b658b4d5a69
+5b08a07c05a9af9c9e998b8d8b95888b808b81887a836a085efb44050b877b85628b
+778b5a9c76c18bc78bceb6daf70f7c52845e8b788b789371ad8bba8bb2b0afca0878
+9b0570647b757d8b888b818e8b968b958fa592ab08cef7b105c690a4af8bbd08ae7b
+a46d1e617d6e771f0b738b6b9c758f0853fb56a5890597b8b8e4d58c08f78d8bfb96
+fbf6059a8e968b9b8bc88be4618bfb0c8b7b8a7a87797b2cfb0afb0d338b548b5faa
+74bb81a07199718b08698b7b7087748a888b898b888b4ff71d6ad88bf7348bf72ef7
+0fa3f71f8e9b8d9b8b9c8be559d6fb02a208f770f7c305999e959a8b940892849078
+1e0bf72af91f638bfb29fd1f050b9ac3a1c6a0bf086e90050b6a436450428b08fb74
+067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccc8
+ff0011b3348bff0008cccc8bff00058000fffffbccd0ff000266687b8b7f8b76846d
+88080badd0a6bdd38b08f77106928b8e8989858a868785858408fc72fcb105fffff8
+ccccfffff8cccd85fffff4e6668bfffff8199a08fffff81999ff0003ccccfffffc19
+9aff000c66681ef7f206a4eb898b1f0bb08bb089ee8bf71c8bf753cbbaf78aff0004
+9998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff007580
+00ffff5ecccc8b4e8b5289648b668b648c5e8c0888898878058a868e88908b08a589
+05ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ff
+ffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e8905
+878b87878a86080bb88bb182a88bff000d99988b93ff00006666ff0009e668ff0001
+666608ffff0f8000fffef73334057774655c877d8e849086918a93889289938aa1b0
+a49b958b9c8ba685ab77080ba47cac81a78bb68baca4baf700fffffa1998ff0006b3
+33fffff8e668ff00034ccd7f8b654e6e866f8b080bffffcd66688bff00058000ae2f
+8bff0045ccccff004de666ff006dccccff00703334ff00388000ff0045e666a4a99f
+a0959b080bfffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a080b6c
+88058787897b8f82080b6b8b5e855c84fffff94ccc83ff0001b33480918208b38805
+978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffffea8000ffff9e80
+00fffff6cccc4cffffedb334ffffb8800075356979798bffffe4cccc8bff00058000
+b6ffffceb3348b08fffff2ccccfffff03334fffff6199affffeae6666bb17bb71ff7
+118bff00348000ff00bae666ff00338000ff00f3199a080bbd06ff00266666b9ff00
+2f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34c
+cd65ffffe54ccdafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4cce65
+ff001be6665eff001366665c080bffffb03332ffff94e66405fffff76668fffff480
+00fffffcb332fffffc6668fffffe3334fffff5e668fffffee666fffff9b330ff0004
+999afffffa999cff0005999a8bff000599988bff0007199aff00039998ff000e6666
+ff000d800008ff006db334ff0062199cffffff6666ff0009e66405fffff13334ff00
+13ccccffffebb332ff0000e668fffffae6688b878b86ffffff1998fffffd6666ffff
+ff199c080b88ff0000e664fffffb6666ff0000e668878bffffe4ccce8bffffeacccc
+fffff0b334fffff8999afffffa999808fffffc999afffff6199cff00498000ffff9d
+e66405ff000a6666fffff28000ff0004b334fffffb8000ff0004cccc8bff00066666
+8bff0006999aff00056668ff0000ccccff00048000ff0001199aff00064cccff0000
+6666ff00064cccfffffd999a94080bbd06ff00266666b9ff002f199cb8ff002ae664
+b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafff
+ffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4cce65ff001be6665eff0013
+66665c080b7c920575757b7d6d8b678b73a58ba58bc1ff001cccccff0025e666ff00
+2bccceff0024999aff007f4cceff002ce666ff005eb330ff0076cccdff001e6668ff
+009bcccd90ff0019ccccff00024cccff0018b3348bff001766668bff009c0002ffff
+96ccccff00631998ffff6de6688b08fb3f8bfb2bfb2c65fb58fffffae666ffffe566
+66fffffd8000ffffe6ccce8bffffe833328bffff67999aff0064e6672fff008eb333
+8bff001133348bff0010e666ff00013333ff00106666ff00026667ffffda8000ffff
+dd4ccc6effffd633348bffffd5e6668b54b56ec18b08b48bafa1a8b8080b5698fb0b
+f7131eff000580008bff00056666ff0000199aff00056667ff00004cccffffd29999
+ffffdf999affffdfb334ffffde4ccdfffff8ccccffffdcb3338055ff0021e66777bd
+8bff0028ffff8bff002c199a9fff00263334b8fffffd666692fffffacccc8f828bff
+ffe5800075ffffecb3347b6e8b08668bfffff74ccda0ff00054ccda5ff0007e666ff
+0026b334ff001de666ff001ce666ff00346666ff00268000ff0002199aff0000e666
+ff0002199a8c8d8cff0057199aff002be666ff0043e666ff0069e6678bff00763333
+08d379e5fb0ffb3b3cfb31fb0c1e0bc2cfc3d5bbc8ff0018199aff001eb334ff000d
+e666ff000f4ccc99a0086e9a0574717c857b8b798b7d8f5c95080b5b9381906f8b68
+8b5e4a7a509284948a968ba0b99c95b98b080bb88b9d82a88bff000d999a8b93ff00
+006666ff0009e666ff0001666608ffff7f4ccdffff55333405fffff53334fffff1b3
+3378ffffec4ccd767708947b059c9092909d8bce8ba54e8b4a8bffffcfe666fffff1
+ccccffffc84ccdffffe13334ffffd8cccdffffe24ccdffffda3333ffffd24ccdffff
+edcccdffffdd66668b718b819e83a284a07c91768b08ffffe5e666fffff8199affff
+e33333fffff8cccd6cff001dcccc68ff004b3334f724f703ff0083e666ff0078199a
+1fcc69d6fb071e0bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687ffff
+fdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cccc8fff001219
+9a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999c8cfffff99998
+8b868bfffff9b3348afffffccccc8a080b919791941f8b8e70e90584a287957a8b70
+8b76708b788b878c878d8808d635058d8a8e8a8d8b080b8b868d878e8808da37058c
+898e8b8d8b08949494921f8b8d66f706058894848e7e8b798b6d778b71080bffffe8
+999a8bffffedb334ffffede668fffffc6666ffffee1998fffffecccd85ff00008000
+84ff0003cccd8508ff005b999afb0205ff0001999889ff0001ccce8a8e8bff000299
+9a8bff000b4cccff00044ccc8dff0009b334ff000033348cff000066668dffffff33
+328c08ffffce4ccef71f05fffffccccc94fffff966678d7f8b080bffffe080008b7c
+ffffe9ccccfffffd3334fffff233348a86ffffffb332858f8608ff004d6666fb0d05
+ff0001999a89ff0001ccce8a8e8bff000b33328b90ff000a6666ff00008000ff0002
+999aff000033348cff000066668dffffff4ccc8e08ffffde6668f72305fffffdcccc
+948490808b080b508b3b65763f08a5069bb1c2a2be8bc08bb4748b680888a8078c91
+8b908b918bb374c4328b080bff001d66689705ff00034ccce0ffffd73334bd458b50
+8bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00348000abbf
+8bc18bff0023800066ff0000333256080bff001d66689705ff00034ccce0ffffd733
+34bd458b508bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00
+348000abbf8b08c18bff0023800066ff0000333256080bffffe2ffff8bffffe7199a
+78fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c
+333387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff
+0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c3334c708ff000a99
+98bfffffeee668adffffd9ffff8b080b6d70697e678b638b6ea276b3839a879f8ba2
+8ba08ea492a69acea7b59ea0b5bab68ea08b08b98ba8789863080bb88cb38cb08b08
+ff00744ccd8bffffc9b3333b9085059c8f948d9f8b089f9a817b6b6679691f748b84
+8c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff002080
+00beff003780008b050b968bff000c66649dff0002199c978c91fffffe199893ffff
+f780008b08ffff2fb33406fffff699988bfffff3ccce7afffffde6667ffffffecccc
+84ff0002199a83ff0007999a8b080bffffefcccc8bfffff34cce96fffff48000ff00
+0d3334fffff16666ff000f6668ffffefccccff000f6664ffffe680008bffffdb6668
+8bffffe74ccc6affffe9e666ffffbf199c08ff00138000fffffa800005ff000e3334
+ff00244cccff000db332ff00108000ff0016199a8bff000e66668bff000e4cceffff
+f3e664ff000d6666fffff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff
+0012b3328bff0027199a8bff001dccccacff0014999ccd08ffffec9998ff00069998
+05ffffecccccffffd1ccccfffff2666880ffffed4ccc8b080b8beaf709b6d89168fb
+2b506c5b8b678b7b948ba8080bfb9958843a8b6508689d68dcf73fddf73ef713e06f
+ce251e3a8b5362533e90809086978bc1c5aca7bb8bb88bb1678b308b868b768a8308
+0b8d938c928b938bb071a6599dc3a0abab96b8080bbca178651f8b828a80887f7f58
+6c603d8b528b6b966ab3087b7b05aa5faa75cc8b08f7288bc4d696bd080ba099856c
+1f8b7d897883690865fb34050bfffff93333fffffd3333ff0004199aff0008e6661f
+8bff000ab3338fff0011800091ff0019cccd08ff0033999af771a0eb057b85778779
+8b808b778c878c088889058d818c818b818b6ffffff9b333ffffe3199afffffb4ccd
+ffffebe666085afb630583ffffde333383ffffd8cccd8b788b78967da98bbb8bb8ad
+b9c6889485937d8b716d6f7c808b080b8a878b878b888b759c809c8b9b8ba89292aa
+080b95b4a3a8a1a19b9ba494a08bac8ba27d997591838d838b83080b8b757d778b7a
+8b878c868e8794819586978b9f8ba59b92a7080b606961746f8b5b8b5eb28bdf8b9f
+8da191a59cd3a6b39ea0b5bab68ea08bb98ba8789863080bffffe2999a7f05fffffc
+b33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea3334
+51ffffcb80006b578bffffc9ffff8bffffdc8000b0ffffffcccdc0080bffffdcffff
+8bffffeae66772fffffcb3337bfffffc80007aff0005333373b38bff001833338bff
+00061999ff0006999887ffffec6668fffffb4cce74ffffe580006bffffc4999a7fff
+fffe999984ffffff199982ff0003333487b290ff001f9999ff0010e666ff00153333
+ff0015199a08ff0014199a9fff000b6666a1ff0004e667a3ff00074ccdaffffff099
+99b0648b080ba556c26dce8bcb8bc69fbbb3bdb3acbd9fe28e998d9b8b9b8bb282b4
+78a26cb357a6448b08478b4f6d585608a27d05bebda89acd8bae8bb1739976997990
+758b728b6d84698162805a754e5e6774786d7e648b08488b6e9e6ebd080b74990557
+596678478b658b73987c9e7c9e86a58ba78ba38fa590a29cd69bc2bab3a4a0bba3ae
+8b08ce8ba17ca65908a9990570c05da9478b448b4a705b63616964487f5b846d8871
+8b758b61976c9f71a963bc77cb8b08ce8bd0a9bec0080b808b7d8584800836fb2305
+898889868b8a8a8a8b8a8b8a8b859186928b8f8b908f8f8f08f70bf70e0591908d90
+8c908c8d8b8d8b8e8b9c7c99798b080b7e8b808587800857fb23058a888a878b888b
+849185938b8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080b8871ffff
+f2b334ffffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386ff
+fffd4ccdffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05
+ff00008000ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe833
+34ff0001cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff
+000780008cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff000066
+68ff00068000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc9105
+85818887898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbcccc
+ff00016666fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bff
+fff166688bfffffa9998fffffecccdfffff98000fffffdcccdfffff8333408fb21fc
+7c0584707e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae666
+0889788d8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199a
+fffffcb333ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c
+8b93ff0001999aff0008e667ff00028000ff0009333308f712f84a8d8becfc9b058d
+849087918b908b908e909308f7d3f8a58d8b050b866f7a7b628b087106868b87888a
+860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a1
+1f8b8e8b8f8c9008e4f88a0590a9a599a78c08a80690908f8f1f8f9e050b898bfb11
+88858b08fb5c8bfb5b8b050b7d8b228e848b08877705888b87921ea906a69c85711f
+8b878b878a860833fc8a05866f7a7b628b087106868788861f87788d89058be88daf
+b2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e1f87c
+050b91ac9296aa8b08f78a06a391827b1f8b858b858a84080b758a76857a7d676e80
+62825b856767fb42fb196908c7f7e90590a79b9bb48b08a6068f8b8f8e8c90088e9e
+8a8d058b2d886764358e8b1e88898878058a868e88908b08a506ad9981751f8b888b
+878a86084ffbec05549653b38bf7038ba18da390a7080b8fa18d9f8b9c8bc673aa5b
+8c086c06837d8b7e1f8b86908a92899b86a5848b4b8b798974866f080b877489778b
+788bfb15e35de4820874fb1905866f7a7b628b087106868b88888a860887788d8a05
+8be88dafb2e2898b1e8d8c8e9e058c90888e878b0870066a7c95a11f8b8f8b8f8c8f
+08a3f71a05ee99f707cdadf7509df1b396a192938d948d8b940893828d7f1e0bf73c
+f789057f8b7b867d8b7d8b7b907d8b083afb228b8c8b94050be375bf471e368bfb12
+4d60fb4c846e87708b728b3db15ae58bcb8bbfb4d0ee088a648b83050b4c9c6dad1e
+b38ba8a5afca08749405746d7f84738b778b7ea78bbe088e070bc0964d351f8b858a
+858b84088b76736205552b564e618b085d79b1c51ff71edaf72cea1e0b938baa8593
+8b08a88e9e929483907d1f858b61868a8b086b7196b4cdb8c3be1fcc8b6a3bba8b08
+a39ea2a2ac5fa949fb054f354d1f8b6b9d77ab7c080b326d704e8b568b5da55af18b
+c58bc4a8b1aa08819e0560706379608b085d72a9b41fb9abd2d61e0b93ae8fa28b9d
+8bc7709f648b578b60762ffb00088a8cff00024ccdff0009333405ff0009b334ff00
+26ccccff000c8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff000766
+66fffff2cccd8b080bcaddc2c7af8ba08b99858b6c8b7d88778369084cfbaa0572fb
+077a4a7769089279daad05939b909f91a394b294bb97be080bfffff9199affffe199
+9afffffe6666ffffe966668b73084bb564eaf725e0f76af722c876ae657e71826c1e
+8b61bf9a8b3f082b3cfb422a517ca6b81e8ba491a5ff0008199aac08ff001f3333ff
+00873334050bff0008b334ff0026ccccff000b8000ff0026cccc8bff0011199a8bff
+000db334fffff8b333ff00076666fffff2cccd8b080b8bf7062dc46f9a08797805c3
+4d99538b608b78887a887d752a6a2e348b568b7ab284d1a0adaad58ba60897869179
+6974454c1e8b838b848c835f446768638b598b73a58bc48ba08ea692aaabf71bf4e1
+ac9c08849f052555fb23fb088bfb398b32c36dcf8bc08bb8a9bbd6943cba71bb8bf7
+2f8bc6f7548bd7080b856efffff1199a7fffffd6e66687086c88058787897b8f82b8
+8caf8cb28bb18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091
+a608ff002e6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff0020
+19989dff00124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffff
+deb3348bffffd99998fffff13334ffffe3b334ffffe6ccccffffbe199affffc54ccc
+ffffd34cccfb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334ff
+fff5b334ff00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7
+b3348b638b61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd99
+98a49d9c95b18b08ff0024199aff0034e66655201f8b5d844d7f4f080b9882ac6b8f
+7c08ada305879b6aa87a9757af5a8d688b3b8b416d4245484964447928867089728b
+748b52995ca55b08b83dcf69e88bb08bad93ab98bfa1bfb6b1be087d9c056a633246
+208b558b5d9b70be75b580b68bc08ba58da691a9a3f71cb2c4a8adbdc5bea2c38b08
+d28ba47ea27b080ba89ba998d18bc48bb574a8519774986b8b4f8b6d8767845d7a2d
+6a4a554d5e58567b568b08208b4ad078b308787a059f58b060b775a67eaa83b08be8
+8bdcadd3d9c8cfafcf9be690a68da48ba28bc97bbe6bbb085bd14ba93b8b688b5a89
+4a67767f5f6e827b08a47305949ab7ab9c94080bd78b9258944608a990058bb48ec7
+91c108fb8a8b3d8b050b8a878e888f8b08a906ad9685771f8b858a858a84082afc89
+05846c7a7e638b087106868b87888a860887788d89058be28db2afe8898b1e8d8d8f
+9e058c90888e878b087006697e969f1f8b8f8b8f8c9008ecf889050bfb068b52f722
+9bf715a996a58eb38b080bc38ba06bcb8bc48bcda891a48d93868f878b848b787b66
+8b080b8c8d8f9e058c90888e878b088006678b61d66bf7197cc77fba468be1a4b0f1
+a2ca95a8a6a7a18b988b9784948091829a87988b08a08ba59c90a48b8d8c8e8b8e8b
+a07ba05c8b458b4d5a7851775371404a6b707dffffd2e666ffffff199a67ffffffe6
+6608ff0028199af764050b91a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff0030999aff00fbe6
+6605ff006ee666fffffe3334ff0009e666ffffd6b332ff0013999affff9c3334a1fb
+029d46db8a080b91a79c9bb28b08a406908b8f8e8c90088e9e8a8d058b3188696538
+8d8b1e898a8778058a868e888f8b08a506aa9982771f8b868a878a8508887efc28fc
+3fe8f84d0591a79c9ab28b08a406908b8e8e8c90088f9e8a8c058b31896966388d8b
+1e888a8778058a868e888f8b08a506ab9882771f8b878a868a860820fc8b05856f7a
+7a648b087206868788861f87788c89058be58dadb1dd898b1e8e8d8f9e058c90888e
+878b0871066c7e94a01f8b8f8b908c91088d91f828f83f2ffc4605856f7a7b648b08
+7206868b88888a860886788d89058be58dadb1de898b1e8d8d8f9e058c90888e878b
+0871066c7e949f1f8b908b908c90080b7c8b7f968594859775927d8b6b8b7979866f
+8a898b898b898b6eb177b38be58bd1d5caf70108f77ff82905a3b39797b98b8f8b92
+8d8c91088f9e8a8c058b5a8a6c604a8c8b1e898a8777058a878d888f8b08a806a497
+89801f87078a858783847f08fb5afbee31f7ee0589968b948c928d959391a08b08b2
+068f8b8e8e8c90088f9e898c058b3a8a59624d8c8b1e898a8877058a878e88918bbc
+8b9764917708f705fc3b055d406e766b8b080b799b0571676171708b6e8b7b998b9e
+8b948e8c8b9508987e93777c6f846663b96fc61ebb8bbcaca8be080b8c8d8f9e058c
+90888e878b0882066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca96a8a3a79f8b97
+8b9584928091829887978b089e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b4c8b525a
+795178537240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44c
+cc050b90a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e89
+8a8778058a868e88908b08a506ac9a81761f8b878a878a8608ffffd78000fb64056a
+8bffffd36666ff0000199affffeb199aff000ee66669a284b88bb78b9d8c9c8c9b8b
+8e8c8e8b8d080bc265b74f1e5b8b757087748a888b888b888b779a7e9c8b978b9a8f
+949497969892968b9f8b98728b6f0887078a7e8b7d8b7c8b509346c0774d8b705c67
+4f3efb1949406a8b088206878b87888a860887788c89cd8c05d38cb5d0c7f702c3f1
+a3b4f58b08ff00016666ff0006b334ffffcd999afffefd4ccc05866f7a7c628b0871
+06868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e7006
+6a7d94a01f8b8f8b908c8f08ff00311998f79005ff0069e6688b94629b259cfb029a
+46d38a080b428b74ad84c888ab8398708b758b7c76867185709a70a076a473b36cd9
+8bf7058bf720c0abf72b08a2f641b44c9fd5a6bfbd9cda9fea2aba328b518b687f37
+8b0853fb43a78905b2dcb2d5f70a8bc68bbe587d487f545b3dfb078b085f06808b83
+83888089809084968b08d106f7048b9afb01805874fb002e60478b080b6406878b8a
+898a88088775f7118df706898ea0058c8e898e888b086e067282919c1f8b918d938c
+9508eef88c0592b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a
+888c898f8b08a806a594877b1f8b868a8389820860fb720542604b876e8b4d8b689f
+8bc28b958c978e9708aaf7350591aa8f96b58b089d068f8b8d8c8c8f088fa0fb018a
+208c87768b8905898d8a8e1e9d06a894877a1f8b868a848982086efb2a0587778978
+8b798b44ad59e68bc48bd39bddbe085cfb88058569847e678b080b90a79b9bb58b08
+a506908b8f8e8c90088e9e8a8d058b2d896764358d8b1e88898878058a868e888f8b
+08a606ac9982751f8b878b878a860829fc8a05866f7a7b628b087106868b87888a86
+0888788c89058be98dafb2e1898b1e8e8d8e9e058c90888e878b0870066a7d94a11f
+8b8f8b8f8c90080b2afc8a05856f7b7b628b087006868b88888a860887788d89058b
+f08da71ea88baa89af8bf70d8bf7349cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8b
+b2f75d0591a99d99b28b08a6068f8b8f8e8c90088f9e898c058b348a64682e8c8b1e
+898a8778058a868d88908b08a506ae987f771f8b878a878a87080be306f4a74f531f
+8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d93080b6cfb1e34fb28fb
+0e8b468b5ca683d388ab83986f8b7a8b7b7a86718570986ca176a473ba6cde8b08f7
+378bf71ef711baf770b9f76d31f700fb328b268b596153887d54795c755608a78705
+b6e1dedce68bd98be54469fb6276827385718b080b538b75aa4b8b538b486f867289
+8290888e8b938b9e9baf8b080bc48bac65c78b08978bb68bc7ad080ba3a4b3a4ae8b
+a98b9c768b6f8b646c74596d08516805576b61638b518b5fac56d58bc68bcfb2afb6
+087aa2056b6c6476688b628b73a88bb18bb2acafbca908baa805b9a8c1ad8bc18bb8
+68b1548b4b8b535c6e6c080b70fb01468b0590a48fa48bad8bc573be5f8b628b5460
+5c5a08977205a2a1b5b0a48b08a6996658fb1a44fb085f1f6b8b7aa67e8b08738073
+777aa174a31fcb8bf704e0b3f72008d28affffdeccccfb2005fffffb333477fffff8
+199a728bfffff633338bffffef4ccdff000b199afffff58000ff001fcccc8bb08b8a
+b7ff0008e666b108ff0022199af721d18b057e5d86608b6e8b54a357b88bb08bcdb5
+b7c00880a3057473606a728b086d7ebdbbf710cdf702b41f998b8d8a9c789284928a
+978b08999a97ac9f76a1771f588b27405efb0a08408ba4f3058f9d94a98b978b9c82
+956c8b658b8c5f8265080ba793d0b58bd08bcd479e578b458ba27f308b7f587e647b
+6108a38605a8cfb3bcd48b08abb37761616253451f66068381817e858e85921fc706
+0baf9c6d673e4c57515f769fa91f8b908c8e8b90080b799b0571676171708b6e8b79
+998b9e8b948e8d8b9408988199767c717e6663b76ec61ebb8bbcaca8bf080b9ea99f
+ac9d80986b1f5a8b5f556e5cffffde999a55ffffd8e666ffffd96666ffffbf3333ff
+fffe999a08ff0011999aff004c333405ff0008b334ff0026ccccff000b8000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b080b6b8b
+5e845c85fffff94ccd83ff0001b33380918208b388050b978a91828b818bfffff6e6
+6689fffff2199a846f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff6
+33338bffffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b1
+08ff001fcccdff0089cccd05ff00469998fffff94cceff000bccceffffda3333ff00
+09e666ffffcbb3339362ff0014ccccffffb94ccdff002d3334fffffeb333080bd089
+8d8d909e058b91fffffb4cccff00013333fffffab334ff0000cccd08848c05ffffda
+e666ff00054cccffffed199aff0055b33484b181bc69a0558bb992abb5a4b69daa9f
+a1958b08a28b837aaa8b080b6b8b5e845c85fffff94ccd83ff0001b33380918208b3
+8805978a91828b818bfffff6e66689fffff2199a846f080b93ab97b48b9e8b9e8599
+6d8b5b8b52695d508e829183998ba5a9ab9a958b928b8e868b7f088b82fffffb6666
+ffffefb334fffff9999affffe54ccc0866fb2f050b867487718b788b48b072aa8bd2
+8bc0c7c5d5088d8905857989ffffe5b3338bfffff84ccd080b6a73a5b51f8bd6b6b3
+9695b2aea5979e8b08a3a0745e1f264544531e0bff0009b334ff0026ccccff000a80
+00ff0026cccc8bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc8b
+080b978a91828b818bfffff6e66688fffff2199a856f0860fb5a050b877a88788b7c
+0854b56ebcf70bf712f0f713c16eb85c1e648b526d4f520889060bfffff93334ffff
+fd3334ff0004199aff0008e6661f8bff000ab3338fff0011800091ff0019cccd08ff
+00339998f771a0eb057b857787798b808b778c878c088889058d818c818b818b6fff
+fff9b334ffffe3199afffffb4cccffffebe666085afb630583ffffde333383ffffd8
+cccd8b788b78967da98bbb8bb8adb9c6889485937d8b08716d6f7c808b080b678b80
+9e618b638b5d79877c8a878a82918b928b9690968b080bac8b9f70b48ba88bae9ba2
+97793d5020348b658b749e8baa080bae8b9778b48bb48bb99d8f998b8f8c95858b84
+8b81867f8b080b9c99807e1f8b7e79758b7208759978a9bc95c79fb66ab049fb3afb
+35fb6afb85fb06b626f7221eed8bb7b3b3bc0891069f5aa563ee8bf7548be6f74fab
+f72c92aa8eaa8ba808f71e43f1fb02384f524977927aa6adada5ba1e8b908a8f8b8f
+08acac9196c6b14a21fb3d2afb98fb251e0b3c76bab41f8b948c938d930896bf0591
+a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e8889877805
+8a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b083c6bd9
+ef1ff75df703f771f7031e0bac696e757d94819aa29ea2a8a57ba45dfb1b30fb35fb
+1638ad3bdf1fd38bb0b2a2b2088e0691649e64d38b08f709f701f737f724e45ec53c
+4a6f5a707b94809a1fab8b97b0869789988c989f8b08bb9e66523456fb6dfb011f0b
+6080a7a91f8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a
+8d058b4b89686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85
+898408846c058366754b4a8b08577cbbc01fdeb8f76af7031e0b3e655d5a7a6f87a6
+6fbe4fae08f738f772050be9f70c059396908c8f7f08b9fb1105526a72687c7388a4
+81b25cac080b89818980898168fb47fb00fb01fb078bfb028b3cdb8bf720089707b0
+b6cba5b48baa8ba47ca67aa57ba57aab8ba48bcb95c2d4080b90a48da28ba28bf732
+fb04eefb268bfb478bfb35fb2b65fb58867288728b748bfb2ef62cf72a8bf7538bf7
+2af721b2f75c080bf4da42fb251f760766594d7a6a8b708b709b709c6f9b709b6f8b
+4f8b4d6167598d978c978e98b4f766f712e1ec8b080bfb39fbbe5c377de253f7f805
+8a938b918c918e9b9993af8b08a606908b8e8e8d91088e9d8a8d058b318868643d8e
+8b1e89898879058b8a8a8a8b8a08878e898f1e9706b38b937c8f6e08e3fcc5058e7c
+9083968b958b9593949a08f7abf888050babc4a3a1a48b958b968891849185968995
+8b9a8ba39b90a48c8e8b8e8b8e8ba3759a6f8b08408b4d3d6243080b29fb336c5988
+c067f76e0588998a938c92080b8e9595919f8b089c068e8b908d8d9108909f878d05
+8b4e896469568d8b1e88898677058a868f88918b089606a88b937e906908c3fbed05
+8d7f9183978b968b9593949908f742f7ac050bafc3a2b1a58b948b96889284908596
+85958b9a8b9e9791a38c8e8b8d8b8e8ba36c967a8b085a8b5b6944fb06080bfc168b
+748b05afefe5e9f58b08ed8bd24a93fb15080bfb0642f0f7231f8ba58da790a8080b
+8e988d988e9608ab8bf8668b058d988b988b988bf7124cf6fb438bfb2e8bfb0a2f4f
+fb1c0881064c5994af1f930790a7aaa0a28b9f8b9c9d8e9b8c8d8b8d8b8d8b9a7f93
+7e8b5e8b4e52804b8a848a858b860854be7cd11ea906847586758774080b726e756c
+759b7ba1a3a9a1ab1fa07b9b751e0b90a79c9bb48b08a506908b8e8e8c90088f9e89
+8d058b2e886764348d8b1e898a8878058a868e88908b08a506ad9981751f8b888b87
+8a8608897efc27fc3fdaf84d0590a79b9ab48b08a506908b8e8e8c90088f9e898c05
+8b2d896864348d8b1e898a8878058a868e888f8b08a606ad9982751f8b878b878a87
+0832fc8b05866f7b7b628b087006868b88888a860888788d89058be98daeb2e1898b
+1e8d8d8e9e058c90888e878b087106687e95a11f8b8e8b8f8c90088c91f826f83f3e
+fc4605866f7b7c628b087106868b87888a860888788d89058be98daeb2e2898b1e8d
+8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f080b678b7b9f628b638b
+4976887c8a878a82918b928ba992968b080bab8ba46fb48b9e8bff00156666ff0006
+cccdff00134cceff00084ccdfffffa1998ffffdbe666fffff5199affffd88000ffff
+ec199affffe180006f60ffffd7800079ffffda80008b086e60b1f41f0b8a888b888b
+898b7c967f9b8b9e8b9e9b909e8b8d8c8e8b8e8b9a80967a8b788b787c8778080b8a
+888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80977a8b08788b787b
+8778080b8a888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a8b
+788b787c8778080b8a888b898b888b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a
+80977a8b788b787b8778080b8e06968bb48e96c108d6f7f70591a28d9d8b998bb971
+906292788f6a918ba6088e078b8b55827f5389858b868b868b69a473b584b384a383
+8b6a8b838a82887f080bd6aeaae694b591a48e9f8b9a08b37695586f698bac1e9007
+8b8b61867b488a848a858b858b6ba477b98ab589a57c8b718b878a888a87805d7864
+6271080b8c8b8d8b05978bb38e97c108d6f7f70590a28e9d8b998bb970906392778f
+6a918ba6088e078b8b56827e538a858a868b868b69a573b484b484a3838b6a8b8389
+82887f080b6c8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b9899c7
+cfb6bcabb191a3088b8d8c8d8b8d8ba07190808b080bfffffab33271ff0011800075
+a58ba58bff001a8000a1ff00054ccda5ff00054ccda5ffffee8000a1718b718bffff
+e5800075fffffab33371080b988bff000dccce9dff0002666697ff0001666692ffff
+fd666692828b08ffff33000106fffff400018bfffff280007afffffd99997ffffffe
+999a84ff00024ccd83938b080bfffffab33271ff0011800075a58ba58bff001a8000
+a1ff00054ccea5ff00054ccca5ffffee8000a1718b08718bffffe5800075fffffab3
+3371080bfffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccda5ff00
+054ccda5ffffee8000a1718b08718bffffe5800075fffffab33371080b5906ffffd9
+999a5dffffd14ccd60ffffd3e6666308ff0011199a7d05ff002b8001a6ff00251999
+a4ff002cb334b1ff001ab33367ff001be66672ff002119996e08ff0017e6689905ff
+ffe41998b3ffffe48001b5ffffec9999ba080b5906ffffd9999a5dffffd14ccd60ff
+ffd3e6666308ff0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001a
+b33367ff001be66772ff002119986e08ff0017e6689905ffffe41998b3ffffe48000
+b5ffffec999aba080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ff
+ffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b334ac9b9aa5
+8b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18bff002dffff
+8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe6688175
+8b080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d
+8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff
+000fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708
+ffffe933339105ffffe9800161ffffefe66681758b080bff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc50050b
+fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33338b
+ff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b838b
+87918b93088b938e9a94b3080bff0006e6688bff000c4cccff00044cccff00103334
+ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff936668ffffb6
+199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff8199c8b848effff
+fd4cccff000633348b080bffffb33334ffff974ccc05fffff7b332fffff4b334ffff
+fce668fffffc9998fffffe3332fffff6199cfffffee666fffff9ccccff00046668ff
+fffab334ff000566668bff000566668bff0006ccccff00039998ff000de668ff000d
+333408ff00699998ff005fe668ffffff6668ff0009b33005fffff1b332ff00136668
+ffffec8000ff0000ccccfffffb199a8bfffffc199a8bfffffb4cccffffff199cffff
+fd8000ffffff1998080bfffffd199aff0000e668fffffb8000ff0000e664fffffc33
+348bffffe5cccc8bffffeb999afffff1199cfffff8e666fffffab33008fffffcb334
+fffff64cd0ff0046b332ffffa019980595fffff2ccccff0004999afffffb999cff00
+04999a8bff000633348bff00064cccff00053330ff0000ccccff00046668ff000119
+9aff00063334ff00006666ff00063334fffffdb334ff0008cccc080bff00238000ff
+ff9d8000ffffa28000ffff768000050bfffff5999afffff0ccccfffff56666fffffc
+3334848b838b808d838f828f818d818b08757b7b7571ae7fa21fad8bff00183333ff
+000f3333ff002bcccdff003ecccd08ff00458000ff00638000ff00268000ffff8680
+00050ba4709a741e598bffffdf3334ffffeeccccffffceccccffffb933340859436f
+e305ffffef6666ff00343334fffff4999aff0013cccc728bffffe880008bffffb680
+00ffffd680006871ff00016666fffff5199aff0003999afffff3e66693fffff84ccc
+97ff0005b334ac9bff001480008b988b958890fffff78000ff00048000fffff84ccc
+ff0006b333ffffef3334ff00064ccdffffee8000080b5906ffffd9999a5dffffd14c
+cd60ffffd3e6666308ff0011199a7d05ff002b8000a6ff0025199aa4ff002cb334b1
+ff001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffff
+e48000b5ffffec999aba080b9992a69a8ba7089d7fab52536767728190809c9b9a95
+991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d
+846a08a60690a49d989f96080bff000380009cfffff84cccb4548b080b618bffffd7
+e66668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002
+333496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff
+0000ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987fffff
+f880007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff0007
+4ccca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f08
+0b8b8ffffffd3334ff0004ccccfffffb1998ff0004cccc08ffffb8999aff00433334
+ffffc3199a67ff0062b334ffffcd999c05ff000b3332fffffa6664ff0009ccce8792
+8bff000a80008bff0002ccccff000a66688bff0004cccc080bffffeb19988bffffef
+8000ff00098000fffff1199cff000b6668ffffed1998ff000d4ccc76ff000d4ccc6a
+8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff0012
+6666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff00128000
+fffff59998ff00114cccfffff580009ffffff2b334ff00146668fffff49998ff0018
+33308bff0032999c8bff00269998ff001c8000ff001a999cc408ffffe6e664ff0005
+b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b080b788bff
+fff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666dff
+ffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000f
+ccce80ff001233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffff
+e933349105ffffe9800061ffffefe66881758b080bf799be87d88bb108a474bc431e
+0bfb4243fb3efb1336b348de1fce8bc8aec6d7869685907f8b525174825b8b5e8b6c
+a38be68b908ba08c93080bff000380009cfffff84cccb4548b618bffffd7e66668ff
+fffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff
+0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff0000ccce
+8f088c90ff00063332919e8ba08b9181fffffb4cce74fffffd99987ffffff880007f
+fffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff
+000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f080bffffba
+3334ffffa0cccc05fffff88000fffff5b334fffffd199afffffce664fffffe666682
+8afffffa66688ffffffb3334ff0004e6668bff0004e6668bff00063334ff00033330
+ff000c999a9708ff00601998ff00573334ffffff6668ff0008cccc057eff0011999c
+ffffee4cccff0000ccccfffffb80008bfffffc80008bfffffb999affffff3334ffff
+fdccccffffff3334080bfffffd4cccff0000cccc87ff0000ccccfffffc80008bffff
+e833348bffffed8000fffff26668fffff98000fffffb333008fffffd199afffff733
+34ff00404ccdffffa8cccc05ff0009199a7fff0004199987ff000433338bff000599
+9a8bff0005cccdff0004ccd0ff0000b3338f8cff00059998ff00004ccdff00059998
+fffffde66693080bff000380009cfffff84cd0b4ffffc8fffe8b080b618bffffd7e6
+6668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff000233
+3496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff00
+00ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987ffffff8
+80007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074c
+cca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff000419989f080b
+8b90879184910825df345ef7214c050b9b849986958b9a8b8f988b91080bf7618bcf
+f713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b05bd8fadaa93bb8d948c95
+8b948bad7ea56c8b6e8b737987748a878b888b888b7a947ba78b08958b918d918e8f
+878b7c8982877273827a89088a068b418a6764448c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b888b878a860857fbbf0577fb0464fb1afb3d8b5c8b65a072a8
+74a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b08a606908b8e8e8c90088f
+9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b88
+8b878a86084ffbe80587748a768b7808fb2af7076ada1e0b766d054d315e485c8b2e
+8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0bb10788e871c3278b308bfb135263
+fb4c71fb10bf32f71d8bd18bcaacc8d7080b89419c68b18bb78baba7b8dc08739405
+6d5e7582718b728b7aa88fca08f769f7be057c897c8a7c8b7c8b818c7c8d080b678b
+7c79887b887b8a72b48b928b8d838981867472665f82087a07e790aad691a592af7d
+b0658b080b648b6e66836786718a3fe48708939c05639381b190a18d969093938bb3
+8b96a38e9c8e9b859d678b080b678b7c79887b877b8b72b48b928b8d838981867471
+665f82088c7a05e790aad690a593af7db0658b080bc0fb1b058c898d898f8b958b91
+918c908c8c8b8e8b8c080b84f72c058a9682927a8b738b7a79877b8a878b868d8708
+0b658b6d66836786718a3fe48708939c05639381b190a28d959193928bb48b95a48e
+9b8f9b849d678b080b958b91918c90088b90050b85f72c058a9682927a8b738b7a7a
+877a8a878c868c87080b678b7c79887c877a8b73b48b928b8d828981867571655f83
+088c7a05e78faad790a50893af7daf658b080b818b7887847b0849fb308b8a058a88
+8b82988b8d8b908c8d8f08f4f71f058e8f8d8f8c8e8d9788a16e8b080b4d315e485c
+8b2e8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0b648b6e66846785718a3fe587
+08929c05649380b190a28e959093928bb48b95a48f9b8e9b849d678b080b818b7987
+847b0848fb308b8a058a898c81978b8e8b8f8c8d8f08f5f71f058e8f8c8f8c8f8e96
+87a16e8b080b638b80b8548b628b706f7254080bb28ba061b58bb68baba4a3c4080b
+76900576697b80778b080b638b7fb8548b638b706f7253080b9ca89c99a08b080bb2
+8ba060b58bb68baba4a3c4080b75910577697c80768b080b648b6e66836786718a40
+e48608939c05639481b090a28d969192928bb38b96a48e9b8f9c849c678b080beaf7
+2f0592969391a48b08f7668baafb40058c858b858a86877b7a806c8b086f06868b87
+888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c90868e878b087f06648b
+7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb70576697578628b08
+8006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f9e058c90888e868b
+086f066d8b7c948e9b088c918e918f92080b788b858e8c918c8e8c8d8d8f08f72cf7
+8dbafb9f050b678b7d79887b887b8b72b48b928b8d838981877471666082088c7a05
+e790a8d690a50893b07caf648b080b648b6f66846786718b40e58608929c0564947f
+b090a28d969192918bb48b95a48e9b088e9c849c678b080be9f72f0592969491a38b
+08f7678ba9fb40058c858b858a86887b79806c8b086f06868b88888a860887788d89
+058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b9e84b20828f8b2
+05879f8495798b818b82847d7408fbe8fcb70576697678628b087f06868b88888a86
+0887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e
+9b088b918e919092080b788b858e8c918b8e8c8d8d8f08f72cf78dbafb9f050b678b
+7d79877b897b8b72b48b918b8e838981867472666082088c7a05e690a9d690a50892
+af7cb0658b080bc3fb1b058c888c8a908b958b91918c90088b90050b81f72b059782
+927a1e728b7a79887b8a878c868c87080be9f72f0593969391a38b08f7678ba9fb40
+058c858b858a86887b79806c8b086f06868b88888a860887788d89058bec8dafb2d7
+898b1e8f8d8e9e058c90878e868b088006638b7b9e84b20828f8b205879f84957a8b
+808b82847d7408fbe8fcb70576697678628b087f06868b88888a860887788d89058b
+cb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e9b088c918e918f
+92080b788b858e8c918b8e8c8d8e8f08f72bf78dbafb9f050b648b6f66846886718b
+3fe58708929c05639380b090a28d969092928bb48b95a48e9c088e9b849c678b080b
+c2fb1c058c898d898f8b958b91928c90088b8f050b81f72c059682927a1e738b7a7a
+887b8a878b868d87080be9f72f0593969391a38b08f7678baafb40058c858b858a86
+877b7a806b8b087006868b87888a860887788d89058bec8dafb2d7898b1e8f8d8f9e
+058c90868e868b088006648b7a9e84b20828f8b205889f83957a8b808b83847d7408
+fbe8fcb70576697578628b087f06878b87888a860887788d89058bcb8da5a3ee898b
+1e8d8d8f9e058c90888e868b086e066e8b7c948e9b088c918e918f92080b788b858e
+8c918b8e8c8d8e8f08f72cf78dbafb9f050b678b7d79887c877a8c73b48b928b8d82
+8981867572655f83088c7a05e78fa9d790a40892b07caf658b080b818b7987847b08
+4cfb30058a8b8b8a888b82981f8d8b8f8c8e8f08f1f71f058e8f8d8e8c8f8d9787a1
+6e8b080b658b6e66846786718b3fe48708939c05639381b08fa28d969093928bb48b
+94a38f9c088e9b849d678b080b818b7887847b084cfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8d8f8b8e8e9786a16f8b080b9ba99c98a08b080be9f72f
+0592969491a38b08f7668baafb40058c858b858a86887b79806c8b086f06868b8888
+8a860887788d89058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b
+9e84b20828f8b205879f8495798b818b82847d7408fbe8fcb70576697678628b087f
+06868b88888a860887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b08
+6e066d8b7d948d9b088c918e919092080b78858e911f8c8e8c8d8d8f08f72cf78dba
+fb9f050b638b7fb8548b628b716e7354080b9ca99b99a08b080bb18ba15fb58bb78b
+aaa5a2c3080b76920577697b80778b080b658b6e66846786718b40e58608929c0563
+9481b08fa28d959093938bb38b95a48e9b8e9b849d678b080b97c3b4aec38b948bac
+86938ba18b94938e978d978291798b868b5d868a8b608b6a9c9ad00899cdbda2aa8b
+b28b93729275917a927ba18b978ba49391a893af58af3e8bfb0b8b593b8263088059
+a071b7782a6d7c5185748157963ff71e8bca8bc7a8b3aa087f9e055e7061785c8b50
+8b6eb797c1080b97c3b4aec38b948bac86938ba18b94938e978d978291798b868b5d
+868a8b608b6a9c9ad00899cdbda2aa8bb28b93729275917a927ba18b978ba49391a8
+93af58af3e8bfb0b8b593b8263088059a071b7782a6d7c5185748157963ff71e8bca
+8bc7a8b3aa087f9e055e7061785c8b08508b6eb797c1080b678b7d79877b887b8a72
+b48b928b8d838981867471665f82088c7a05e790aad691a593af7cb0658b080bc1fb
+1b058c898c898f8b958b92918c90088b90050b658b6d66846885718a3fe58708929c
+05639381b090a28d969192928bb48b95a48e9c8f9b849c678b080b818b7887847c08
+49fb308b8a05888b82971e8e8b8f8c8d8f08f4f71e058e8f8d8f8c8f8d9688a16e8b
+080bfb168c877605888b87921ea806b28b957d856c082afc8905856f7d7b638b086d
+06858b89878a88088775f7158d050bd98af7b98bc4f7347190056e4264564a8b08fb
+4c06758b7e9190a608bcf793f71d8b05ad937c6e1f8a6c05888d87901ea28b8f8e05
+8b9c8eb892ad92ac96b094a4088d8a8d891e7506878b87878a87087e6d057f6f807b
+688b08fb1d8bb4f7690590a39993a28b08f72d06bf8ba14f8a6008a68e050b678b7d
+79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9d690a592b07c
+af658b080bfb958b3e8a050bfb168c8776058a888b87928b08a906b18b967d856c08
+2afc8905856f7c7b638b086d06858b89878a88088775f7168d050bd88af7ba8bc3f7
+347290056d426556498b08fb4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c
+07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a8d888b087506878b
+88878a87087e6d057f6f7f7b688b08fb1c8bb4f769058fa39993a38b08f72c06bf8b
+a14f8a6008a68e050b7c067e8b7b80687f778566857c89088a6f059d8f968c998b98
+8b938483650841fbeb937ad1a9cdf7ca05b4bbb4a8c38bc88b8f567d4a0850fbab05
+79367e498d6108cf699a9d0585ad8cbea5f71008c7f7b305a4f70866b5478b2c8b4c
+4978740887060b678b7c79887c887a8a73b48b928b8d828981867571655f83088c7a
+05e78faad791a592af7daf658b080b648b6e66836786718a3fe48708939c05639381
+b190a18d969193928bb38b96a38e9c8e9b859d678b080b678b7c79877c887b8b72b4
+8b918b8e828882877471655f83088c7a05e68fabd790a593af7daf658b080bc0fb1b
+058c888c89908b958b91928c90088b8f050b84f72c059682927a1e738b7a7a877b8a
+878b868d87080b648b6e66846785718a40e48608939c05639481b090a28e95909392
+8bb38b96a48e9b088f9b849d678b080bc0fb1b058c898d898f8b958b91928c8f088b
+9084f72c050b9682927a1e738b7a7a877b8a868c868c87080b678b7d79887b877b8b
+72b48b928b8d838981867471665f82088c7a05e790aad690a593af7db0648b080b81
+8b7887847c0849fb308b8a058a888b82988b8d8b8f8c8e8f08f4f71e058e8f8d8f8c
+8f8d9688a16e8b080b658b6d66846885718a3fe58708929c05639382b090a28c9691
+92928bb48b95a48e9c8f9b849c678b080b818b7887857c0849fb30058a8b8a8b888b
+82971f8e8b8f8c8e8f08f4f71e058d8f8d8f8c8f8d9688a16e8b080b678b7c79887b
+887b8a72b48b928b8d838981867471665f83088c7905e790aad791a492b07daf658b
+080b638b80b8538b638b706f7354080b9ca99c98a08b080bb18ba060b58bb68baba5
+a2c3080b76910577697c80768b080b638b7fb8548b628b716f7253080bb18ba060b5
+8bb78baba4a3c4080b75910577697b80778b080b648b6e66836786718a40e4860893
+9c05639481b090a28d969192928bb38b95a48f9b8e9c849c688b080b856f7b7b628b
+087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e87
+8b087106638b7e9892aa08ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e89
+8c058b2e8a6764348c8b1e898a8778058a868f888f8b08a506b38b987d846d0863fb
+67fbdb8bb4f7670590a79c9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868e88908b08a506b38b977d856d082afc8a05856f7a7b62
+8b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e
+878b087006648b7e9892aa08bbf790f7db8b050b658b6e66846786718c40e4860892
+9c0564947fb090a28d969192918bb48b95a48e9b8e9c849c678b080b81f72c059682
+927a1e728b7a79887b8a878c868c87080b866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a877805868e888f1ea606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb4
+8b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f88
+8f8b08a506b38b987d846d082afc8a05856f7b7b628b087006868b88888a86088778
+8d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bc
+f790f7da8b050b658b6e66846886718b3fe58708929c05639381b08fa28d96909293
+8bb38b95a48e9c088e9b849c678b080bc3fb1c058c898c898f8b958b91928c908c8c
+8b8e8b8b0881f72c058a968392798b738b7a7a887b8a878c868c87080b856f7b7b62
+8b087106868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e
+868b087106638b7f9891aa08ecf88a0590a79d9bb48b08a506908b8e8e8c90088f9e
+898c058b2e8a6764348c8b1e898a8778058a868f888f8b08a606b28b987d856d0862
+fb67fbdb8bb4f7670590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a67
+64348c8b1e898a8778058a868f888f8b08a506b38b987d846d082afc8a05856f7b7b
+628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c9087
+8e878b087106638b7e9892aa08bcf790f7da8b050b678b7d79877b887b8b72b48b92
+8b8e838981867472665f82088c7a05e790a8d691a50892af7cb0658b080b818b7887
+857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f8d8f8c8f8d96
+87a16e8b080b856f7b7b628b087006868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e058c90878e878b087106638b7e9892aa08ecf88a0590a79c9bb48b08
+a606908b8e8e8c90088f9e050b64348c8b1f898a8778058a868f888f8b08a506b38b
+987d846d0863fb67fbdb8bb4f7670590a79c9bb48b08a506908b8f8e8c90088f9e05
+0b898c058b2d8a681e0b64348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d082afc8a05856f7a7b628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891aa08bcf790f7db8b050b658b6e6684
+6786718c3fe48708929c05639381b08fa28d969093938bb38b95a38e9c088e9b849d
+678b080b818b7987847b084cfb308b8a058a888b82988b8d8b908c8d8f08f2f71f05
+8d8f8d8f8c8e8d9787a16e8b080b866f7a7b628b087106868b87888a860887788d89
+058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08ecf88a
+0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb48b
+08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f888f
+8b08a606b28b987d846d082afc8a05856f7b7b628b087006878b87888a860887788d
+89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bcf7
+90f7da8b050b668b7d79887c887b8b72b48b928b8d828982877472665f82088c7a05
+e790a9d68fa593af7caf658b080b638b7eb8548b638b706e7454080b9ba99c99a08b
+080bb18ba15fb58bb78baaa5a1c3080b76920577697c80778b080b638b7fb8548b62
+8b716f7454080bb18ba160b58bb68baba5a1c3080b7c067e8b7b80687f778566857b
+89088a6f059e8f968c988b998b928484650854fb95057e50a46ac38bb28bbfafabb9
+087d9e0573736c736b8b788b8a9d90a0080b648b6e66846785718a40e58608929c05
+639481b090a28d959193928bb48b95a48e9b8f9b839d688b080b9ca99c99a08b080b
+b18ba05fb58bb68baba5a3c3080b76910576697c81768b080b90a79c9bb48b08a506
+908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a5
+06b38b977d856d0829fc8b05866f7a7c628b087106868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891a9080bc3fb1c05
+8c898c89908b958b91928c90088b8f050b91a79c9bb48b08a506908b8e8e8c90088f
+9e898c058b2e8a6764348c8b1e898a8878058a868e888f8b08a606b28b987d856d08
+29fc8b05866f7a7c628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9891a9080bb18ba160b58bb68baaa5a2c3
+080b638b7fb8538b638b706e7454080b76920576687c81778b080bdc8bb23b6cfb27
+6ffb1842705e8b298b7bf7149bd89de2c4e9db8b080b7625b9fb07f71a8bf7228be6
+f712a1efa1f36cf710fb288bfb188b2b276efb1d080bdc8bb23b6cfb276ffb184270
+5e8b298b7bf7149bd8089de2c4e9db8b080bc0fb1b05898d898f1e968b90928c908c
+8c8b8d8b8c080b84f72c059682927a1e728b7a7a887b8a868b868d87080b818b7888
+847b0849fb308b8a058a888b82988b8e8b8e8c8e8f08f4f71f058e8e8d8f8c8f088d
+9687a16f8b080bf7138be42162fb6468fb47fb00fb01fb078bfb178b35f705b0f754
+b4f766f712e2eb8b080bb2f75afb0ff717fb3b8bfb478bfb35fb2c65fb5865fb59f7
+06fb11f7418b08f7538bf72af721b2f75c080bf7128be42163fb6468fb47fb01fb01
+fb078bfb178b35f705b0f754b4f766f713e2eb8b080b658b6e66846786728b3fe587
+08929c05639381b08fa28d969092938bb38b95a48e9c088e9b849c678b080b818b78
+87857c084cfb308a8a05888b82981e8d8b908c8d8f08f2f71e058d8f8d8f8c8f8d96
+87a16e8b080ba5f70c7dd4468b708b79788779856ca886968aa786a46d772b76293e
+23338b348b77cd9ad008a0ecabbf9bd6080b92aa7d9c748b648b4e72737a088e7805
+8bad94981e9c8b9283877680596f527a3a762ba532f7288b08e68bf6e2b0f742080b
+bffb1b058c898d898f8b958b91928c908c8c8b8d8b8c0884f72c050b8a968392798b
+738b7a7a887b8a868b868d87080bb18ba060b58bb68baba5a3c3080b76910577697b
+80768b080babf727fb18d3699c08787805e432883f815d762a622f2d8b538b74b286
+d0a9bf9db890a392aa85a06d8b6b8b7d6f856d0887778662945567436467558b418b
+67afa5f711a8f71bf701e1af9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2
+acb4d0973cb874bf8bf70e8bd9e6a6f713080b8779816f775e8ba48aa692ad90a192
+97948b988b88798880080b678b7c79887b887b8a72b48b928b8d838981867471665f
+82088c7a05e790aad691a592b07daf658b080b648b6e66836786718a40e48608939c
+05639481b090a28d959193928bb38b96a48e9b8f9b839d688b080babf727fb18d369
+9c08787805e432883f815d762a622f2d8b538b74b286d0a9bf9db890a392aa85a06d
+8b6b8b7d6f856d0887778662945567436467558b418b67afa5f711a8f71bf701e1af
+9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2acb4d0973cb874bf8b08f70e
+8bd9e6a6f713080b678b7c79887b877b8b72b48b918b8e838881877471665f82088c
+7a05e790aad690a50893af7db0658b080bc0fb1b058c898c89908b958b91928c9008
+8b8f050b85f72c058a9682927a8b738b7a7a877b8a868b868d87080b648b6e668367
+86718a40e48608939c05639481b090a28d969192928bb38b96a48e9b088e9b859d67
+8b080b678b7c79887b887b8a72b48b928b8d838981867471665f82088c7a05e790aa
+d691a50892af7db0658b080b818b7888857b0848fb308b8a058a888c82978b8e8b8f
+8c8d8f08f5f71f058d8e8d8f8c8f088d9687a16f8b080b658b6d65846885718b3fe4
+8708929c05649380b090a28e969092928bb48b95a48f9c088e9b849d678b080b818b
+7988847b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f8c8f
+088e9687a16e8b080b678b7c79887b877b8b72b48b928b8d83898186747166608208
+7a07e790aad690a593af7db0658b080b76910576697c80768b080b638b80b8548b62
+8b706e7354080b76920576687c81768b080b658b6d65846885718a3fe58608929d05
+649381b090a28c969192928bb48b95a48e9c8f9b849d678b080b678b7d79887b887b
+8b72b48b928b8d838981877471665f82088d7a05e790a8d690a50892af7db0648b08
+0bc3fb1b058c898d898f8b958b91918c90088b90050b658b6e66846885718c3fe487
+08939c050b8d969092928bb48b95a48e9c088e9b849c678b080b82f72c058a968292
+7a8b738b7a7a887b8a878b868d87080b678b7d79887b887b8b72b48b928b8c838a81
+867472665f82088c7a05e790a9d690a50892af7cb0658b080b818b7887857c084cfb
+30058a8b8a8b888b82971f8e8b8f8c8e8e08f1f71f058e8f8d8f8c8f8d9687a16e8b
+080b76910577697c80778b080b7c82827f897f89868c868d8708d6fb0f058c898e8a
+8f8b8e8b8f8d8e8d8e8e8d8e8c8e088b8e6cf726058a90888f868e868e878c858b85
+8b84898588080b818b7c8585800838fb23058a8889868a8a8a849185928b908b908e
+8f8f08f709f70e0590908d918c8f90a0799c778b080b7c818280897f89868c868d87
+080bd6fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8e8c8c8a8c8b8c080b6cf7
+26058a90888f868e878e868c858b858b85898488080b818b7d8484810839fb230589
+8889868b8a89839185938b8f8b908f8f8f08f709f70d0590918e908c908f9f7a9d76
+8b080bdd8bb13b6cfb276ffb1843705e8b288b7bf7149bd89ee2c3e9db8b080b7525
+bafb07f71a8bf7218be7f712a0efa1f36df710fb298bfb188b2c276efb1d080b7b82
+8380887e8a868b878d8708d6fb0f058d898d8a8f8b8e8b8f8c8f8e8d8d8e8e8b8e08
+8b8e6df726058a90888f858f868d878c868b848b85898588080b808b7c8585800838
+fb23058a8889868a8a8a849184938b8f8b908f8f8f08f709f70e0590908d918c8f90
+a07a9c778b080b793a057f51ac72bb8ba48bbc99a8d1087493057f707673798b778b
+83a296c10896c07791050b8050a872b88bb68bad99a6d108738f0580697f7b718b77
+8b869f97c808b2f761849d050b8050a872b88bb68bad99a6d108738f0580697f7b72
+8b768b869f97c808b3f761839d050b8050a972b78bb68bad99a6d108748f057f697f
+7b728b768b869f97c808b3f761839d050b7f50a972b78bb68bad99a6d108748f057f
+697f7b728b768b869f97c808b3f761839d050b8050a872b88bb68bad99a6d108738f
+0580697f7b728b768b869f97c808b2f761849d050b7f51ac72bb8ba38bbc99a9d108
+7493057e707773798b778b82a297c10896c07792050b7a3a057f51ab72bc8ba48bbb
+99a9d1087493057e707773798b778b82a296c10897c07791050bf70ab0f0f2a2f70c
+a8f72840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b
+789291c008718b050b7cfb0bf7678b05978b92918c95089cf713053bc96fc8a1f704
+a4f714ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130588818f8597
+8b08f7648ba9f70b718b050b7a5274885b8b0829060b7f51a971b78bb78bac9aa6d0
+087490057f687f7b728b768b869f97c908b3f761839c050bf70ab0f0f2a2f70ca8f7
+2840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b7992
+90c008728b050b7bfb0bf7678b05978b92918c95089cf713053bc970c8a0f704a4f7
+14ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130589818e85978b08
+f7648ba9f70b718b050b8051a871b88bb68bad9aa6d00873900580687f7b718b778b
+869f97c908b2f761849c050b638b80b8548b628b706f7354080bb18ba060b58bb78b
+aaa5a3c3080beaf72f0592969391a48b08f7668baafb40058c858b858a86877b7a80
+6c8b086f06868b87888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c9086
+8e878b087f06648b7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb7
+0576697578628b088006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f
+9e058c90888e868b086f066d8b7c948e9b8c918e918f92080b7c818280897f8a868b
+868e8708d8fb0f058c898e8a8f8b8e8b8f8d8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b848b85898588080b86729b77a48ba48ba49f90
+a490a47ba0728b728b72768672080b9ca99d98a08b080bc0fb1b058c888d898f8b95
+8b91928c90088b8f050b85f72c058a9682927a8b738b7a7a877b8a878c868c87080b
+6d7e05823db151d98bbd8bddaeaaf0087498057b4d496e5d8b4f8b65b394be080b86
+729b76a48ba48ba3a091a490a47b9f728b728b72778672080ba1b89ced9cdba67da5
+83b68bf71a8bf711edabf72ea3f70648e2fb0c8b5c8b4a7b58606b7065696efb1e08
+62fb530571fb10734f776808927a050b74fb004643378b6e8b76966fa58583777581
+8808b8f76405aaf726c9a6be8bdb8bc15c6afb32080b856f7b7b628b087006868b88
+888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b
+7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c90088f9f8a8c05
+8b3c8a827f3c8c8b1e898a8777058a888c87908b08a8069f8b908889808a86858281
+7d08fb41fb7f2df77f05869988948d918d94928f9e8b08a7068f8b8e8f8c8f088f9e
+898c058bfb008a857e2e8c8b1e898a8877058985928a8e8b089806998b94898f8897
+839180927708f706fbb9050b85729c77a38ba48ba49f91a48fa47ba0728b738b7276
+8672080b638b7fb8548b638b6f6f7354080bb18ba060b58bb78baba5a2c3080b7691
+0577697b80778b080b988b9ea48d968c948a94808b08fb7906808b7976897b89828e
+83958b080b8ba37c9778907b8f7c8f8b9d8ba7ff00338000bac097ff0002333494ff
+fffd1998ff0007b334fffff83334ff00064cccfb08766f318b570863a273aaa9a89e
+aa1e0b8b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002
+e666fffff84cccff0007cccdfffff9b334f708a0a7e58bbf08b374a36c6d6e786c1e
+0bffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d1999ffffd94cccff00334c
+cdfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff0027ccce8bff
+001666648bff0013999cff000f3333ff000d3330ff001b3333ff0002e668bcff0007
+b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6669b701e0b8b
+739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e667ffff
+f84ccdff0007ccccfffff9b333f708a0a7e58bbf08b374a36c6d6e786c1e0bc4b5df
+bc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151383f1e
+0bc4b5dfbc99aa825754682f5379709abf1e0bc4b5dfbc99aa825754672f5379719a
+bf1e0b808b7d848581083bfb2305898889868b8a8a839185938b8f8b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b808b7d848581083bfb2305898889868b
+8a8a839185928b908b908f8f8f08f707f70e0590908d908c908f9f799d778b080b7c
+818280897f8a868c868d8708d8fb0f058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d
+8b8c8b8c8a8d086af725058a91888f868e868e868c868b858b84898588080b8b888a
+888b888b729e78a58ba98ba7a390a88b8e8c8e8b8e8ba4789e718b6e8b6f73856e08
+0bbb8b8a427f557a3e733e508b558b95d997c397c0a2e9c98b080bce8bd0bca5f70b
+a6f70d5ab34b8b458b4643762d7424b14fd08b080b82627d8863898483887c8e85a9
+8c998bae8ba98b9c8ba98a91928e998993ffffda199aff00023334fffff5199aff00
+086666ff0007ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b
+818b8a8a7a827d7f80815f6253575e55868687858785fffffe199afffffc3334ffff
+fcb333fffff980008bfffffa333208fffff9999a8ffffffa8000ff000e33331ef70a
+060bef06675e38fb104ffb0308ad060bc1f4e0f70ed4e6080b7b8b868c8c8f087906
+84717b63806f089f8805a2bb9391a78b080b958b998e929d8e938c98909393979894
+aa8b9d8ba984815c7f556e74566753665c61805b08f7620699a699aa97af868f848c
+808b7a6f74646c8b0838069baca0a6bca9ccb3b4ac95b999cb559e598b3c8b645885
+71887e9780978b080bff00088000b5ff00074ccca58b8b8c90fffffe80008d858bff
+ffee999a84ffffd04ccd83ffffe599998908fffffd4ccd7905ffffff999889ff0001
+ccce8a8d8b08ff0014cccd8a05988bff0004800084fffff7800061085bfb8005ffff
+fbb334768988ffffe7cccc8808fffff7cccd8a05fffffbffff8bffffff666788ffff
+ff99998908fffffc666679058bff002533328ca3ff001a0001ff0027cccd8a8b1eff
+0003999a9d05ff0000cccc8ffffffd33338c898b08fffff533348c05ffffee8000ff
+0001999afffff9b334ff00046666ff00044ccca008ff001be666f71d05ff0017b334
+a2ff00198000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605ffff
+fbb3347684fffffbb333ffffecccccfffffe4ccd08fffff4cccd8a05fffffbffff8b
+fffffe666788ffffff99998908fffffc666779058bff002833338ca4a3ff0025cccd
+8a8b1eff0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa3332
+8c05ffffece666ff00034ccdfffffab334ff0004b333ff0003e6669e08ff00194cce
+f71005ff000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080b8d
+ff00006667ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c
+878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587
+950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e08
+8f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787
+848283ffffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff003399
+9aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a
+858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e
+8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080b5bfb8005fffffbb334
+76fffffeb33388ffffe719998808fffff7cccd8a05fffffbe666ffffff8000ffffff
+8000fffffd8000ffffff99998908fffffc666679058bff002566668cff0017ccccff
+0018999aff002633348a8b1eff0003999a9d05ff0000cccc8ffffffd199aff0000cc
+cdfffffe1999ff0000333308fffff833348c05ffffef199aff00023333fffff93333
+ff00044ccdff00043333ff0014800008ff0032b334f78d05ff00088000b5ff000766
+66a58b8b8c90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908ff
+fffd4ccd7905ffffff999889ff0001ccce8a8d8b08ff0014cccd8a05988bff000480
+0084fffff7800061080b887505958e958c928b938b8d878b858b878a858a850866fb
+310587768986738a088406878a88891f8679058baf8ca2a4b18a8b1e909d058c8f88
+8c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5a19f8ba18b9a818b6f
+8b838981887f086ffb0d0586738589788a088006888b8a888a89088779058bb18ca3
+a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c9208aaf71705ff0001
+4cccff00064ccdff0001199aff00061999ff0000e666ff0005b334ff00168000ff00
+151999ff0017b334ff0012cccdff001280008ba18b99818b6f8b828a818880086ffb
+0d0586738589788a088006878a88891f8679058bb18ca3a3af8a8b1e8f9d058c8d8b
+8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d988b958bb3759a698b
+ffffde999a8bffffd5e666ffffde3333ffffee6666ffffeeb333fffffe999aff0025
+199affffea666699ffffdf199a8b688b61687a7a0897bf7e8b05707f75856b87080b
+ff0009e667ff002ccccdff00079999ff00063333fffff3cccd8b080bffffee666784
+ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014
+cccc8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999fffffe
+6667fffff56667fffffc9999fffff0b33308ffffe24ccdfb1a05fffffb4ccd76ffff
+fe666688ffffe74ccd88fffff6cccdfffffeb33388ff00006667fffffee666fffffa
+e66608877905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff
+0000e6668ffffffd33338c898b08fffff533338c05fffff34ccdff0000cccdfffff8
+4ccdff0002b3338bff000c80008b8eff00006666ff0003b3338cff00044ccd08ff00
+1fb333f723050bff00181999a2ff0019e666a1a08bff00184ccd8bff000f3334ffff
+f5999a8bffffe2e6668b83fffffeccccfffff68000fffffd999a8008ffffe56666fb
+0c05fffffae66674fffffa800089ffffea999a8908fffff4cccd8a05fffffd00018b
+fffffe4ccd88ffffff99998908877905ffffffffff8bff002733338ca48b08a3ff00
+25ccce8a8b1f8f9d05ff00024cccff000a6666ffffde8000fffff633348bff001566
+668b8eff00008000ff0003999a8cff0004666608ff001cccccf716058eff000d999a
+ff00018000ff000bb3338bff000a4ccd8bff00286666ffffe9999a9bffffdb4ccd8b
+678bffffd74ccd68ffffee33337a080b48fbb40586778a85738a088406878b8a898a
+89088778058baf8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c
+8f8c9008a2f005967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b70
+7c737c0893aa8c907d8b050b717f75856a8708887505968e958c918b938b8e878b85
+088b878a858a85080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a
+8b74948bac8b928c928d94080bfffffc7fff6bfffffb80006bfffffb199a73ff0006
+33338cff000a33338c8e8b9f8bff001319997dff001e00018bad8bff00454ccd9bff
+000c6666c8ff000a3333bdffffd5cccd9effffd14ccda0ffffe0cccd99fffff7e666
+94ff0004e666a308ff00058000a6ff0017999a98a48b9e8bab81ff000233335108ff
+001733338cff00063334d605fffff6666692ffffdb199a956c8b5a8bffffcc66666b
+fffff7800061fffff6cccc5eff001be6677bff002a199a78ff002db333768f77ffff
+fbb33376fffffa800070ffffe5b33380738b748bffffef800097fffffa33349108ff
+fff34ccc9bffffff8000a6ff0001cccd99080bc206918b948d8c90088f9d058c8d89
+8d888b084b8ba1ea637e8980057f5c7c73648b08898a8a891f857305898c8b8d1eb1
+8b61fb4b0589838a838b848b709a80a18ba68ba393aaa608809c05797f80867b8b82
+8b87908b978b948e988f9c080b5792fd27fd7dbf83050b6b565a5a798b6a8b92b291
+ae99cdd0efbf8b9e8b937385718a827b5f7768080b89808977ac8bad8bad9ebcb408
+7a9c057a7a7c81848b888b898e8c928c918f94919808e5f7655a8b6d6905889e809a
+698b408bfb1025772684669452cf8ba18bad98aea78a888a878b88080b85686b6761
+8b618b7aaf92ae91aeaab1b68bb88b9962846b080b8154af5ec28bc28bc0b896c295
+c267b8548b548b565e8054080bc68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989a
+d59deac9c4b58b918b998787778878898d887e89808f7fa78b08958bab9390a492ab
+7ab0438b3b8b203975fb008362aa49cc8b080b83617868726f6c69587a408b08598b
+c4f7bc05a490a78eaf8b08c88bd66d74fb0a080bff00733334ff024e8000ff000ee6
+66ff00008000058d8c8d8b8e8ba58b8c7a856e082afc8a05856f867b628b080b8bff
+ffe7e666fffff0e668ffffeb8000fffff16664fffff38000fffff0cccc7effffec19
+9cfffff7999affffe8ccccfffffce6668682887f8f85938c908c928b080bff001566
+68ff002ab330fffffce666ffffd7199a1f8bffffe26666fffff0999cffffe63334ff
+fff319987effffebccccffffebb333ffffe5e668fffffab333ffffed80008b6b8b84
+928896889782907d8b7f8b7d82887effffffb334fffffe6666ffffffccccfffffe99
+9a8bfffffe800008ffffe38000ff003ecccc81ff0018b3341eff002cb3348bff0029
+4cccff000e6666ff001e4cccff0018b334ff001b4cccff00163333ff0016e668ab8b
+ff002acccd8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a080bff
+00233334ff0011199aff00201998ff001880008bff002666668bff001db333ffffe4
+ccccff00114ccdffffd1e6688b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8
+939c8b08ff000e1998ff0011e668fffff9cccdffffeccccd1f0b8bffffdf999affff
+f69998ffffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64cccffffee6668fffff7199a7cffffe9e666ff00
+35b3327fff0020999a1fff0020e6668bff001f000297ff0018e664ff0013199aff00
+20b334a4ff00188000ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024
+b333ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b
+92a192a18bff003099988bff000b4cd0ffffe5199a8bffffe54ccc080bff00233334
+ff00111998ff00201998ff001880008bff002666688bff001db334ffffe4ccceff00
+114cccffffd1e6668b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08
+ff000e199aff0011e666fffff9ccccffffeccccc1f0b8bffffe1999afffff73334ff
+ffe4199afffff2b334ffffed999afffff5b330fffff1b333fffff0e668fffff6b333
+748bffffe980008bffffe5199aff000ecccd8bff003133338bff00104ccd8fff001d
+cccdff00066666ff000fe666a49ca291998bff0026cccc8bff0008b334ffffe68000
+8bffffe8cccc080bff00161998ff0012e66880ffffeae6661f8bffffde4ccdffffdd
+1998ffffdee667ffffede668fffff6e66608799505ffffe88000ff000e3333fffffb
+ccccff0010cccd8bff000d4ccd08ff00274ccdff001ae668ff000e6666ff001ecccc
+1e0bff0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda99
+98ff00163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bff
+ffe96666ff000b666877ff001d4cccfffff0800008968505ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999a1e
+0beaff002fccccff003acccdff002e4ccd1f8bff00179999fffff44cccff00156667
+ffffe9e668ff000de666080ba57d05ff001780007eff00066668fffff066668bffff
+efcccd08ffffc8e667ffffde9998ffffe7e666ffffd38000ffffeaccccffffe08000
+ff0008999aff002133331e8bff002b1999ff00366668ff002ae667ff00144cccff00
+0a3333080bfb0ff784f743f75805919292939291929394929790918e958d998b08ce
+8c05988b93898e8890868d868b828b878a8489810836fc4b0589838a838986888386
+8584868788838a7d8a738b708a8190829184918693869587928890080b86709c76a5
+8ba68ba5a08fa691a579a1718b708b72758671080b86709c76a68ba58ba5a090a690
+a57aa1708b718b72758571080b86709c76a58ba68ba4a090a691a579a1718b08708b
+72758671080b86709c76a58ba68ba4a090a691a579a1718b708b72758671080b8368
+05a97ba776a571a472a966ac5a08b2067bcf75c071b008f9c58b97bf050b93ae056d
+9b6fa071a571a46eb06abc0864069b47a156a56608fdc68b7f57050bd88b93b2fb02
+8b8a86fbc0fd3e3df75efb1a509668d1a9e6fb85b69d050bf749fa375f8bfb49fe37
+050bf70e8bf70aeea3f70fa3f70e3beffb0e8bfb0f8bfb0a2773fb0e74fb0eda27f7
+0f8b080bf3e2a6f72045e245e2fb208b2434233470fb20d134d035f7208af3e2080b
+d9e7f71bf746d6f7168995838d818b2efb1efb1efb2d2f34086265a56505c534dafb
+2db2fb1e948b958d919572f71649f74661e708898f050b3d2ffb1bfb4640fb168d81
+9389958be8f71ef71ef72de7e208b4b171b10551e23cf72d64f71e828b81898581a4
+fb16cdfb46b52f088d87050b8bc5a3c0b1b0b0b0bfa1c38bc58bc073b165af66a257
+8b538b527457666665655773518b08528b57a265b166b174bf8bc4080b8b4aa551b5
+61b660c571cb8bcc8bc6a6b5b6b5b5a5c58bcb8bca71c562b561b650a6498b084c8b
+51726162606070508b4a080b7d96809998979699997f967e7d80807d1e0b7d968099
+999696999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bdfbe
+51411f8b7e8a7f887e752e323c278b378b57c58bd58b988d988e99a1e8e8d8eb8b08
+0b448bfb887a408b0885070bcf8bf7957acc8b08f780060bbd8bf78f9ce48b089107
+288cfb819c558a080bea0695988f941f9f078f888d871e0bfb03f7140652778b7805
+4b6f72511e2f066e799eaa1ff7fa07a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc0b070bd98af73f8b8b
+fb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0bfb188b
+f731f71905cec4aab394b997c86dba2a8b308b46587157908396879988a9c0bea0ba
+8bb78ba06f81560880517370fb102408fb1322917405958cbf8ca38b08f72206b18b
+ac8a9b8a96aa9ebca8c58491828b828c08796e056a568485548b080bb48bad717e4b
+8159453e297d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b86a2
+839d84998197788b778b7378887b088363d670c58bf7068bf709d8a5f718a0f70144
+b25495088d07e2b2a9b495c091a989a378a47aa16d9c598bfb218b4f2b856a887d91
+77a28bad8b95ac8f9e0897cbd097a48b080b792c4e45518b678b83a4809f829c7d9a
+778b798b767a87778362d569c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682
+788408bff73b05ae87a886b98b080ba88bac8db38f08a8cf858f050b53855686588b
+678b698d6a8e0833fbb405c29faf8fae8b08c98bb46076fb01080bff0024199aff00
+16199aff001f6666ff00016666ff0010b3348be98b8e2b815976fb0259595c8b4f8b
+5aadacf73fff00044ccdff00166666ff00076666ff001a8000ff000b199aff001c99
+9a080bff002bccceff005ae668ff00514cccf0ff0089199aff0031cccc8d97899484
+90246d4861494a41435b307c3c64fb5ff163d58bf7128bd7f7139ce1089ce16ed8fb
+178bffffe6b3348bffffd94cccfffff8199affffe0cccdfffff23332080bf74006fb
+05fb56fb05fb572cfb2c089184cd8e05e3f73ee0f73af735f7a5080b7a867385678b
+08fb59066a8b8f957a8f080b888b8b8b8a88815b754f79579588948a968c08b0dbab
+92aa8b080b99d35fc02d8b298b404e7c3e80539d62be6508a07b056c7b6f7a6f755d
+67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab084fb605bda2dfbf97cb
+080bffffdc199affffea8001ffffe06666fffffeb333ffffef66668b2d8b89eb95bd
+a0f702bdbdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe53334
+fffff4ccceffffe33333080bffffd46668ffffa53334ffffaf3332ffff9b3333ffff
+77199affffce4ccd897f8c829286f2a9cfb5cdccd5d3bbe69adab2f75f24b3418bfb
+128b3ffb137a35087a35a93ef7178bff0019199a8bff00263332ff0007cccdaaff00
+0d8000080b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e7781
+8bfffff8e6688bfffffd1998908b97088b9490a191a508b1f733050b90919290978b
+08f73a8b9efb08058c878a878b88877e7c83728b087a06878888881f86768c89058b
+dc8da6a8bc898b1e8e8d8fa0058c8e8b8e858b6c8b809484b30850f8090588a27b8d
+7f8b858b79877e7608fb94fc0f0573677584728b888b88888a880886768c89058bb7
+8d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e90951f8b8c8b8d8c8c8b8e
+8e908e90080bfb1906788b8d948c9008f70af7438c8b050bda8bc1a8c7ca087b9b05
+51556377498b2c8b69d18bd98ba08ea18fa0aff73cebb6d78bd98bb35c8b48088b85
+a58e058eb48eb594b8088306688b619d408bfb188bfb12236cfb26887a897b8b7b8b
+29cb32f7188b080b86778d89ed8d05a78bb989db8bf7028bf724b9b0f7438f9c8d9c
+8b9b8bf70139defb178b708b4f8a568a08298d89898776058a888e898e8b08a206a4
+95867d1f8b878a868a850845fbdb05846c7e7d6d8b087406878b89888a87080bd3f7
+e30590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c8b7c968b
+9e8b8f8b908c90080bfb5c8b4289288d89898775058a8a8b88908b08a306a395847b
+1f8b888b888a870842fbe9058777807f6b8b087406868b8a888a890886758d89ee8d
+d38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e
+8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a3
+95a692a2088d8b8c891e7a06878b89898a8708817605827782806f8b08348babf728
+058e9c96929e8b08ed06ca8b91508e6708a58e058db18cb193b7080b7422056c7263
+7a688b258b67e68bda8b9c8c9c8f99a5f712d7e3f48bf18bab568b49088b88a68e05
+8db38fb493ba898a898b888b678b4e9e578bfb278bfb123168fb38877889798b798b
+22d543f7108b08cf8bdaaad2b6869286948c92089cd8058f9f9596a68b088c068f8b
+8d8d8c8f088f9e8a8c058b5e8a6f6d3b8c8b1e8a8a8778058a878d898f8b089f06a5
+97857b1f8b888a888b88080b8f9f9897ab8b08a0068e8b8e8d8c8e088fa08a8d058b
+42896f6c3c8d8b1e89898775058a888e8a8f8b089f06a596847c1f8b888b888a8708
+43fbe50587787d796b8b087606888b88898a870886768d89058bdf8da7aace898b1e
+8d8d8fa0058c8f898d878b0877067181969b1f8b8e8b8f8c8e080b798892911f8b90
+8b91059a849f751e7a8b7c7e86748a888b888b888b6eb07fb68ba68bab99a5a0b6ae
+adc8a0ed08dbf80a058f9f9896ab8b0898068f8e8d8e1f90a0898d058b43896f6c3b
+8d8b1e8989877605888d898e1ea806a596857b1f8b888b898a870838fc19056bfb2b
+69676c8b080bd48af7588bacf70e718e0575536c635b8b082a067d818f981f8b8d8c
+8e8c8e08d4f7f005909f9897ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c
+488d8b1e89898777058a878e898e8b08a006a596847c1f8b888a888b870842fbea05
+85728384698b087506878b88898a870886768d8905da8c968c948b080b90a19ba1aa
+8b08a0068e8f8d8e1f90a1888c058b54896d6f468d8b1e86898776058890898f1ea0
+06a5937b7a1f8b878b878a880858fb8505877a8882868b878b8492819b08fb50f7ce
+fb1a8d88888778058a8790898f8bb08b957891790846fbda0587787b736b8b087606
+888b84898a870886768e89058bcd8da6aac8898b1e8d8d90a0058f888d881e760672
+82999c1f8b8f8b8f8c8f08bff7870590a38f96918b908b9283947b08f755fbcf050b
+967b93859a8b978b9592909f080bdbc15b291f8b758872856f71fb134241318b388b
+58be8be88ba08ea390a4abf72adec5d68b080b8f9e8d9c8b9c8bf70436d5fb058bfb
+208bfb0cfb046dfb20877789798b798bfb01d946f7078bf7298bf708f3a9f723080b
+7a385976408b08648bb0f746059e8ea28ca78bbf8ba57f8b65088b8289828981080b
+87777e7f6b8b087706878b88898a870886768d89058bd48da6aad1898b1e8e8d90a0
+058c8f888d878b087f067180929a1f8b8e8b8e8c8f08adf7349d8b05d09c67681f49
+070b6a8c51d81e988ba18da0910888a3055689b4a51f8adb058bae71a86a8d088c8c
+05c692cfbc98c88d948c928b938bc84da1358b738b5d89698b6a8b638c6d8c088673
+05898d898fa9a489761e83070b8a06708b77a53b8b458b31627a398a848a848b858b
+4bd26daf7dbe78b4758b598b838b838982087e51646b508b558b5cac8bde088b946f
+89050b8447855f856e9a8d928f988b080b9d8ba97ad88be48bd2c69ddd8d948c938b
+938bd244ae609a759343a68bbb8b8e8b8f8c8f0894b6b5abbe8b080bb9bc6b4d1f8b
+7fa58d050bb68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc06
+7b8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b
+888a878a870843fbe80587777d806c8b087606878888881f86768d89058bd38da7a9
+db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e08d3f7e6058fa3
+9796a78b080bf7358bc5e7a6f71308b4f75705909f9497ab8b089d068e8b8e8d8c8e
+088fa08a8d058b5789706c4b8d8b1e8989877605888d898e1ea006a596847c1f8b88
+8b888a87085ffb64057a3b702afb188b668b739879a07a9f85a28ba38ba190a290a2
+08b8f76c05909f9897ab8b08a0068f8b8d8d8c8e088fa08a8d058b36896f6d4a8d8b
+1e89898776058a888e898e8b089d06a596847c1f8b888b888a870859fb810587798a
+7b8b7d8b22e773c88b080b87777e806b8b087706878b88888a880886768d89058bd4
+8da7a9db898b1e8c8d90a0058c8e888e888b0876067180919a1f8b8e8b8e8c8f08aa
+f726f732f75a059ea29793a28b089c06928c8e8d1f8fa08b8d057b8a5d8a848b818b
+4f8d858b08898a8675058a898c888e8b08a2069b8b8f8989838a878786838008fb13
+fb3445f73405879689908c8f8c92918e9a8b08a1068e8b8d8e8c8d088fa18a8c0580
+8a368a868b818b4d8d828b0888898776058a878f8a8f8ba88b9881947608e0fb5e05
+0bf74306918b8d898a878a888886858508fc03fc0e05858686838b8508868e88951e
+f7fe0696aaa0baa8c5087292786e0568567571518b08fb24067e8b858e8c918c8f8e
+90919108f7f1f7fe059f9f8f938d93088d0790868e7d1e7f8b7a89728608fb95067b
+8b83928a91087306805e7c5f785a08a58805aed3b2a0a98b080bffffbdcccd8bff00
+223333f7330590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c
+8b7c968b9e8b8f8b908c9008ff001d6666f71dff0041999a8b050b86778d89ed8d05
+a78bb989db8bf7028bf724b9b0f7438f9c8d9c8b9b8bf70139defb178b708b4f8a56
+8a08298d89898776058a888e898e8b08a206a495867d1f8b878a868a8508ffffdf33
+33fb2dffffbbcccd8b8364ff0043e6668bffffe3199afb1b05846c7e7d6d8b087406
+878b89888a87080b8a06708b77a53b8b458b31627a398a848a848b858b4bd26daf7d
+080bbe78b4758b598b838b8389827e51646b508b558b5cac8bde088b946f89050b4f
+fb970585718880867c08978705929295949393967da281a78bc98bd0d09cd58e998d
+998b998bbc74b25b8b738b7282707b08aaf7197d8b05717f75856a8708887505968e
+958c918b948b8d878b858b878a858a85080ba39b9891a48ba18b9c768b628b7d897b
+8678762e607f758b7a8b74948bac8b928c938d93080b398b50437a42877d8a7d8b7e
+8b56a763cd8bb68bafa3abae087c9b0573757376678b768b789a82a288938a958b96
+8b978d998e989ddcbbaca98ba78b917d8b7b088b868a868b850888077d9585971e98
+8b9994909f8b8f8c8f8b8f8ba871a5568b080b72767981768b728b789a8bb78b9b8d
+9e91a29cd5aca6ab8ba48b9b779678080ba598a290ab8f088ea1058088818a858b83
+8b888f8b918b908c908d9108d4f7cf7d8b05717f74856c8708877505968e958c918b
+938b8e878b858b878a858985087d4c0580997592728b418b563d7c4b887d8a7f8b7f
+080b54ab69bf1ea28ba498a19b080b87798381778b088006888b898a8a8708877a8c
+8a058bb38ca0a2bf8a8b1e8c8c8f9c058f898c891e77067d8591961f8b8e8c8f8b8f
+08aff72ec38b05918b938d8d91088f9d058d8a8c881e4a8b8d9505a1eaa4969f8b9c
+8b93848e778e809283978b968b98968e978b8d8c8d8b8d8b9486948392087f967d91
+758b598b4e5e752b086c06818b87848a8608877d05898b8a8d1eb4060b968b98958e
+99088f07968295761e758b79827779080b83917b946f8b598b50687e528a848a858b
+858b74947d957e787c77728676080b8b878a888b888b7a957f96856977727185718a
+858a858b868b63b580b18bd78be6aa9ace088c908c908b8f8b998696819678a1658f
+768b828b7b897e8a838a838a888b7e8b7c8f8b9c088b8e8b8e8c8f8e988f96949597
+839b87a28bbc8bc5aa98c7080b8d938c928b918b9c859782998f919393928b938b90
+888c85088c849086958b080b90889388938b918b948c948b938c928b908ba78b9d85
+9982080b9c8192858b818b888b898a88815e4e84598b788b608e8bae8b8f8c8f8c8f
+90a0919ba19d080b6a82a0a41f8b958c968e9596bb9f9bab8ba68b9a7d8b6d8b8289
+818980080b72767d84768b728b75998bba8b998d9d90a09cd5aca6ab8ba48b9b7796
+78080b6d7305809c74946f8b418b563d7c4b887e8a7f8b808b54ae69c18ba18ba096
+a19b0872fb0005857582867b8b088106888b888a8a87088779058bb28ca4a2ae8a8b
+1e909e058d8b8d871e84067b8c878e8b928b8f8c908d9208daf7ed8b8f058e8a8d89
+1e888b83868888080b8a8c058b7e8a8374678c8b1e8a8a877a058a898b88908b0891
+0699918a801f8b888b868985086dfb1805877d8a7e8b818b64a07bae8bad8bb5ae9c
+9c088057988b050ba598a290ab8f088ea1058088818a858b838b888f8b918b908c90
+8d9108baf7628a8c058b7e8a8273658c8b1e8a8a877a058a878e8a8d8b0895069892
+887f1f8b888a878a87086afb25050b73757275768b758b7d948ba78b938c958e9708
+0b8c848f85908b918b958e929608f715f75c05a0ab968f988b8e8b8f8c8c8f088f9c
+8a8c058b768a79766a8c8b1e8a8a877a05898c888d9d9489821e8807898688858582
+0829fb2a6ff72d058a928b908c908d95938f938b0895068e8e8d8e1f8f9c8a8c558a
+0579668c8b1f8a8a877a058a878d8a8e8b9d8b8f869168080b82868f8e1f7706846f
+82707e6d08a08a05a1b7a0919d8b08d58bfb52fb6e05898984858b8508888f88931e
+f75106929e98a89eaf08778f7f7a05766a7f83698b08448bf74df766059b9e8d8f8b
+8d088c078c8e878b888b898b6f89798b080b8b739a7f9e869b879a878b798b6fffff
+cc80005c567ffffffdcccc82ff0002e668fffff84cccff0007ccccfffff9b334f708
+a0a7e58bbf08b374a36c6d6e786c1e0b2fd641e6e7d5d5e7e641d62f304040301e0b
+d7c8c8d7d8c84e3f3f4e4d3e3f4ec9d71e0b>
+%%EndResource
+%%BeginResource: font LinLibertineMO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineMO 124544 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654d4f000102000100411c04a300
+1c04a4011c04a5021c04a603f81504290c03b30c04fd12fbb41c0544fa46051d0000
+20cf0f1d00000000101d000028c4111d0000003d1d00019729120320020001000800
+0f001b00290030003c0043004a00500056005d0064006a0070007b00860090009a00
+a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106011101
+1c012201280132013c01480154015f016a016e01720178017e0185018c0192019801
+9f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e022202
+26022c0232023e024a02500256026102640267026e0275027b0281028e029b02a102
+a702b302bf02c502cb02d102d702e202ed02f502fd03090315031b03210325032903
+2f0335033c03430349034f0354035903660373037a0381038c039703a203ad03b303
+b903c303cd03d203db03e403eb03f403fb040204090415041c042904300437043e04
+45044c0453045a04610468046f0476047d0484048b0492049904a004a704ae04b504
+bc04c304ca04d104d804e404eb04f204f905000507050e0515051c0523052a053105
+38053f0546054d0554055b0562056905700577057e0585058c0593059a05a105a805
+af05b605bd05c405cb05d205d905e005e705ee05f505fc0603060a06110618061f06
+26062d0634063b0642064906500657065e0665066c0673067a06810688068f069606
+9d06a406ab06b206b906c006c706ce06d506dc06e306ea06f106f806ff0706070d07
+14071b0722072907300737073e0745074c0753075a07610768076f0776077d078407
+8b0792079907a007a707ae07b507bc07c307ca07d107d807df07e607ed07f407fb08
+02080908100817081e0825082c0833083a08410848084f0856085d0864086b087208
+7908800887088e0895089c08a308aa08b108b808bf08c608cd08d408db08e208e908
+f008f708fe0905090c0913091a09210928092f0936093d0944094b09520959096009
+67096e0975097c0983098a09910998099f09a609ad09b409bb09c209c909d009d709
+de09e509ec09f309fa0a010a080a0f0a160a1d0a240a2b0a320a390a400a470a4e0a
+550a5c0a630a6a0a710a780a7e0a840a8a0a900a990aa20aa90ab00ab70abe0ac50a
+cc0ad30ada0ae10ae80aef0af60afd0b040b0b0b120b190b200b270b2e0b350b3c0b
+430b4a0b540b5b0b620b690b700b770b7e0b850b8c0b930b9a0ba10ba80baf0bb60b
+bd0bc40bcb0bd20bd90be00be70bee0bf50bfc0c030c0a0c110c180c1f0c260c2d0c
+340c3b0c420c490c500c570c5e0c650c6c0c730c7a0c810c880c8f0c960c9d0ca40c
+ab0cb20cb90cc00cc70cce0cd50cdc0ce30cea0cf10cf80cff0d060d0d0d140d1b0d
+220d290d300d370d3e0d450d4c0d530d5a0d610d680d6f0d760d7d0d840d8b0d920d
+990d9f0da50dac0db30dba0dc10dc80dcf0dd50ddb0de20de90df80e060e130e1e0e
+2e0e370e400e4e0e570e640e710e780e850e920e9d0eab0eb40ebb0ec20ec80ece0e
+d90ee60eed0ef40efb0f040f0f0f160f1d0f2e0f3d0f4c0f530f5a0f610f6e0f780f
+850f920f9e0fac0fba0fc70fd40fe20ff010021015101f102c103810441052105f10
+6c10781086109410a110ae10bc10ca10dc10ef10f91103110d1117111e1125112c11
+33113a11411148114f1156115d11621166116c11731177117b118211891190119711
+9e11a811b111b811c211c911d011d711de11e611ef11f611ff1206120d1215121c12
+23122a1231123812411246124d1254125b1262126a1273127e12881290129a12a612
+af12b612c012c912d212db12e212e912f012f712fe1305130e13151320132b133213
+3a134113491350135a1361136913701377137e1385138e1395139c13a813af13b613
+bd13c413cb13d713df13e913f013f713ff1406140e1416141e1426142e1436143e14
+46144e1456145e1466146e1476147e1486148e1496149e14a614ae14b614be14c614
+ce14d614de14e614ee14f614fe1506150e1516151e1526152e1536153d1544154915
+501557155e1563156a15711578157f1586158d1594159b15a215a915b415c215c915
+d015d715de15e115e815ef15f6160616151622162f163c16461650165a1664166e16
+78168216891690169716a116ab16b216bc16c616d016d716e116eb16f516fc170317
+0a1714171b17221727172e1735173f17491753175d17671771177b1785178f179917
+a317ad17b717c117cb17d517df17e917f317fd18071811181a18231831183a184318
+53186418781884188d189918aa18b718be18c818d018d718de18e319ff1a151a2b75
+6e6930304130756e693030414474776f2e7375706572696f7274687265652e737570
+6572696f72756e69303042356f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636f6d6d61616363656e7474636f6d6d6161
+6363656e74546361726f6e746361726f6e54626172746261725574696c6465757469
+6c6465556d6163726f6e756d6163726f6e5562726576657562726576655572696e67
+7572696e675568756e676172756d6c6175747568756e676172756d6c617574556f67
+6f6e656b756f676f6e656b5763697263756d666c65787763697263756d666c657859
+63697263756d666c65787963697263756d666c65785a61637574657a61637574655a
+646f74616363656e747a646f74616363656e746c6f6e67736772617665636f6d6261
+63757465636f6d62756e693033303274696c6465636f6d62756e6930333034756e69
+30333035756e6930333036646f74616363656e74636d62756e6930333038686f6f6b
+61626f7665636f6d62756e6930333041756e6930333042756e6930333043756e6930
+333044756e6930333045756e6930333046756e6930333130756e6930333131756e69
+30333132756e6930333133756e6930333134756e6930333135756e6930333136756e
+6930333137756e6930333138756e6930333139756e6930333141756e693033314275
+6e6930333143756e6930333144756e6930333145756e6930333146756e6930333230
+756e6930333231756e6930333232646f7462656c6f77636f6d62756e693033323475
+6e6930333235756e6930333236756e6930333237756e6930333238756e6930333239
+756e6930333241756e6930333242756e6930333243756e6930333244756e69303332
+45756e6930333246756e6930333330756e6930333331756e6930333332756e693033
+3333756e6930333334756e6930333335756e6930333336756e6930333337756e6930
+333338756e6930333339756e6930333341756e6930333342756e6930333343756e69
+30333344756e6930333345756e6930333346756e6930333430756e6930333431756e
+6930333432756e6930333433756e6930333434756e6930333435756e693033343675
+6e6930333437756e6930333438756e6930333439756e6930333441756e6930333442
+756e6930333443756e6930333444756e6930333445756e6930333446756e69303335
+30756e6930333531756e6930333532756e6930333533756e6930333534756e693033
+3535756e6930333536756e6930333537756e6930333538756e6930333539756e6930
+333541756e6930333542756e6930333543756e6930333544756e6930333545756e69
+30333546756e6930333630756e6930333631756e6930333632756e6930333633756e
+6930333634756e6930333635756e6930333636756e6930333637756e693033363875
+6e6930333639756e6930333641756e6930333642756e6930333643756e6930333644
+756e6930333645756e6930333646756e6931453030756e6931453031756e69314530
+32756e6931453033756e6931453034756e6931453035756e6931453036756e693145
+3037756e6931453038756e6931453039756e6931453041756e6931453042756e6931
+453043756e6931453044756e6931453045756e6931453046756e6931453130756e69
+31453131756e6931453132756e6931453133756e6931453134756e6931453135756e
+6931453136756e6931453137756e6931453138756e6931453139756e693145314175
+6e6931453142756e6931453143756e6931453144756e6931453145756e6931453146
+756e6931453230756e6931453231756e6931453232756e6931453233756e69314532
+34756e6931453235756e6931453236756e6931453237756e6931453238756e693145
+3239756e6931453241756e6931453242756e6931453243756e6931453244756e6931
+453245756e6931453246756e6931453330756e6931453331756e6931453332756e69
+31453333756e6931453334756e6931453335756e6931453336756e6931453337756e
+6931453338756e6931453339756e6931453341756e6931453342756e693145334375
+6e6931453344756e6931453345756e6931453346756e6931453430756e6931453431
+756e6931453432756e6931453433756e6931453434756e6931453435756e69314534
+36756e6931453437756e6931453438756e6931453439756e6931453441756e693145
+3442756e6931453443756e6931453444756e6931453445756e6931453446756e6931
+453530756e6931453531756e6931453532756e6931453533756e6931453534756e69
+31453535756e6931453536756e6931453537756e6931453538756e6931453539756e
+6931453541756e6931453542756e6931453543756e6931453544756e693145354575
+6e6931453546756e6931453630756e6931453631756e6931453632756e6931453633
+756e6931453634756e6931453635756e6931453636756e6931453637756e69314536
+38756e6931453639756e6931453641756e6931453642756e6931453643756e693145
+3644756e6931453645756e6931453646756e6931453730756e6931453731756e6931
+453732756e6931453733756e6931453734756e6931453735756e6931453736756e69
+31453737756e6931453738756e6931453739756e6931453741756e6931453742756e
+6931453743756e6931453744756e6931453745756e69314537465767726176657767
+72617665576163757465776163757465576469657265736973776469657265736973
+756e6931453836756e6931453837756e6931453838756e6931453839756e69314538
+41756e6931453842756e6931453843756e6931453844756e6931453845756e693145
+3846756e6931453930756e6931453931756e6931453932756e6931453933756e6931
+453934756e6931453935756e6931453936756e6931453937756e6931453938756e69
+31453939756e6931453941756e6931453942756e6931453943756e69314539444765
+726d616e64626c73756e6931453946756e6931454130756e6931454131756e693145
+4132756e6931454133756e6931454134756e6931454135756e6931454136756e6931
+454137756e6931454138756e6931454139756e6931454141756e6931454142756e69
+31454143756e6931454144756e6931454145756e6931454146756e6931454230756e
+6931454231756e6931454232756e6931454233756e6931454234756e693145423575
+6e6931454236756e6931454237756e6931454238756e6931454239756e6931454241
+756e6931454242756e6931454243756e6931454244756e6931454245756e69314542
+46756e6931454330756e6931454331756e6931454332756e6931454333756e693145
+4334756e6931454335756e6931454336756e6931454337756e6931454338756e6931
+454339756e6931454341756e6931454342756e6931454343756e6931454344756e69
+31454345756e6931454346756e6931454430756e6931454431756e6931454432756e
+6931454433756e6931454434756e6931454435756e6931454436756e693145443775
+6e6931454438756e6931454439756e6931454441756e6931454442756e6931454443
+756e6931454444756e6931454445756e6931454446756e6931454530756e69314545
+31756e6931454532756e6931454533756e6931454534756e6931454535756e693145
+4536756e6931454537756e6931454538756e6931454539756e6931454541756e6931
+454542756e6931454543756e6931454544756e6931454545756e6931454546756e69
+31454630756e6931454631596772617665796772617665756e6931454634756e6931
+454635756e6931454636756e6931454637756e6931454638756e6931454639656e71
+756164656d71756164656e7370616365656d73706163657468726565706572656d73
+70616365666f7572706572656d7370616365736978706572656d7370616365666967
+757265737061636570756e6374756174696f6e73706163657468696e737061636568
+61697273706163657a65726f7769647468737061636568797068656e74776f687970
+68656e6e6f627265616b686f72697a6f6e74616c626172756e6932303136756e6465
+7273636f726564626c71756f7465726576657273656471756f746564626c72657674
+7269616e676c6562756c6c657468797068656e646f74756e6932303246756e693230
+33316d696e7574657365636f6e647072696d65747269706c657072696d6572657665
+72736564756e6932303336756e6932303337756e69323033426578636c616d64626c
+696e746572726f62616e67756e6932303345756e69323034327175657374696f6e5f
+7175657374696f6e7175657374696f6e5f6578636c616d6578636c616d5f71756573
+74696f6e756e6932303441756e6932303442756e69323034467a65726f2e73757065
+72696f72692e7375706572696f72666f75722e7375706572696f72666976652e7375
+706572696f727369782e7375706572696f72736576656e2e7375706572696f726569
+6768742e7375706572696f726e696e652e7375706572696f72706c75732e73757065
+72696f726d696e75732e7375706572696f72657175616c2e7375706572696f727061
+72656e6c6566742e7375706572696f72706172656e72696768742e7375706572696f
+726e2e7375706572696f727a65726f2e696e666572696f726f6e652e696e66657269
+6f7274776f2e696e666572696f7274687265652e696e666572696f72666f75722e69
+6e666572696f72666976652e696e666572696f727369782e696e666572696f727365
+76656e2e696e666572696f7265696768742e696e666572696f726e696e652e696e66
+6572696f72706c75732e696e666572696f726d696e75732e696e666572696f726571
+75616c2e696e666572696f72706172656e6c6566742e696e666572696f7270617265
+6e72696768742e696e666572696f72612e696e666572696f72652e696e666572696f
+726f2e696e666572696f72782e696e666572696f72756e6932303934756e69323039
+35756e6932303936756e6932303937756e6932303938756e6932303939756e693230
+3941756e6932303942756e6932303943756e69323041326672616e636c6972617065
+73657461756e6932304138646f6e674575726f756e6932304146756e693230423175
+6e6932313030756e6932313031756e693231303263656e7469677261646561666969
+3631323438756e693231303666616872656e68656974756e6932313043756e693231
+3044756e6932313045756e6932313046496672616b74757261666969363132383975
+6e6932313135616669693631333532756e6932313139756e6932313141526672616b
+747572756e6932313144756e6932313230756e6932313234756e6932313236756e69
+32313237657374696d61746564616c657068756e6932313336756e6932313337756e
+6932313338756e69323133396f6e65666966746874776f6669667468737468726565
+666966746873666f75726669667468736f6e65736978746866697665736978746873
+6f6e656e756d657261746f726172726f776c6566746172726f7775706172726f7772
+696768746172726f77646f776e6172726f77626f74686172726f777570646e756e69
+32313936756e6932313937756e6932313938756e6932313939756e6932313941756e
+6932313942756e6976657273616c756e69323230317061727469616c646966666578
+697374656e7469616c756e6932323034656d707479736574756e6932323036677261
+6469656e74656c656d656e746e6f74656c656d656e74756e69323230417375636874
+686174756e6932323043756e693232304470726f64756374756e693232313073756d
+6d6174696f6e756e6932323133756e6932323134617374657269736b6d617468756e
+6932323138756e69323231397261646963616c756e6932323142756e693232314370
+726f706f7274696f6e616c696e66696e6974796f7274686f676f6e616c646f746d61
+7468756e69323245465346313030303030756e693235303353463031303030305346
+30333030303053463032303030305346303430303030534630383030303053463039
+30303030534630363030303053463037303030305346303530303030534634333030
+30305346323430303030534635313030303053463532303030305346333930303030
+53463232303030305346323130303030534632353030303053463530303030305346
+34393030303053463338303030305346323830303030534632373030303053463236
+30303030534633363030303053463337303030305346343230303030534631393030
+30305346323030303030534632333030303053463437303030305346343830303030
+53463431303030305346343530303030534634363030303053463430303030305346
+353430303030534635333030303053463434303030307570626c6f636b646e626c6f
+636b626c6f636b6c66626c6f636b7274626c6f636b6c747368616465736861646564
+6b7368616465756e6932363035756e6932363339756e6932363341756e6932363342
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646547578756e6945303031756e6945
+303039756e69453030417a65726f2e736c61736866697474656470657274686f7573
+616e647a65726f4164696572657369732e616c744f64696572657369732e616c7455
+64696572657369732e616c74612e7375706572696f72622e7375706572696f72632e
+7375706572696f72642e7375706572696f72652e7375706572696f72662e73757065
+72696f72672e7375706572696f72756e6945304337756e6945304338756e69453043
+396b2e7375706572696f726d2e7375706572696f72756e69453043446f2e73757065
+72696f72702e7375706572696f72712e7375706572696f72756e6945304431742e73
+75706572696f72752e7375706572696f72762e7375706572696f72756e6945304436
+756e6945304437756e69453044387a2e7375706572696f72756e6945304639756e69
+453046426b72656973756e6945313338756e6945313438622e696e666572696f7263
+2e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e66
+6572696f72682e696e666572696f72692e696e666572696f726a2e696e666572696f
+726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e69
+6e666572696f72702e696e666572696f72712e696e666572696f72722e696e666572
+696f72732e696e666572696f72742e696e666572696f72752e696e666572696f7276
+2e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e66
+6572696f7267726176652e63617061637574652e63617063697263756d666c65782e
+6361706361726f6e2e63617062726576652e63617068756e676172756d6c6175742e
+63617073706163655f756e69303330462e6361706272657665696e76657274656463
+6d622e63617062726576652e63797263617062726576652e63797264696572657369
+732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e6361
+70756e69453432307a65726f2e736c617368646f746c6573736a756e694646464475
+6e6930333530352e312e374c696e7578204c6962657274696e65206279205068696c
+69707020482e20506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73
+206f6620666f6c6c6f77696e67204672656520536f667477617265204c6963656e73
+65733a0a47504c202847656e6572616c205075626c6963204c6963656e7365292077
+69746820666f6e742d657863657074696f6e20616e64204f464c20284f70656e2046
+6f6e74204c6963656e7365292e0a43726561746564207769746820466f6e74466f72
+67652028687474703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420
+323030332c20323030342c20323030352c20323030362c20323030372c2032303038
+2c20323030392c20323031302c20323031312c323031324c696e7578204c69626572
+74696e65204d6f6e6f204f4c696e7578204c6962657274696e65204d6f6e6f204f00
+0000000100020003000400050006000700680009000a000b000c000d000e000f0010
+001100120013001400150016001700180019001a001b001c001d001e001f00200021
+00220023002400250026002700280029002a002b002c002d002e002f003000310032
+0033003400350036003700380039003a003b003c003d003e003f0040007c00420043
+004400450046004700480049004a004b004c004d004e004f00500051005200530054
+00550056005700580059005a005b005c005d005e005f018700600061006200670064
+00a00066008300aa008b006a0097018800a5008000a1009c0189018a007d018b0073
+00720085018c008f0078009e009b00a3007b00ae00ab00ac00b000ad00af008a00b1
+00b500b200b300b400b900b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d
+00c400c100c200c300c5009d009500cb00c800c900cd00ca00cc009000ce00d200cf
+00d000d100d600d300d400d500a700d700db00d800d900dc00da009f009300e100de
+00df00e000e200a200e3018d018e018f019001910192019301940195019601970198
+0199019a019b019c019d019e019f01a001a101a201a301a401a501a601a701a801a9
+01aa01ab01ac01ad01ae01af01b001b101b201b301b401b501b601b701b801b901ba
+01bb01bc01bd009101be01bf01c001c101c201c301c401c501c601c701c801c901ca
+01cb01cc008c009201cd01ce01cf01d001d101d201d301d401d501d601d701d801d9
+01da01db008e009401dc01dd01de01df01e001e101e201e301e401e501e601e700c0
+00dd01e801e901ea01eb01ec01ed01ee01ef01f001f101f201f301f401f501f601f7
+01f801f901fa01fb01fc01fd00c601fe01ff0200020100c700e40202020302040205
+0206020702080209020a020b020c020d020e020f0210021102120213021402150216
+021702180219021a021b021c021d021e021f02200221022202230224022502260227
+02280229022a022b022c022d022e022f023002310232023302340235023602370238
+0239023a023b023c023d023e023f0240024102420243024402450246024702480249
+024a024b024c024d024e024f0250025102520253025402550256025702580259025a
+025b025c025d025e025f0260026102620263026402650266026702680269026a026b
+026c026d026e026f0270027102720273027402750276027702780279027a027b027c
+027d027e027f0280028102820283028402850286028702880289028a028b028c028d
+028e028f0290029102920293029402950296029702980299029a029b029c029d029e
+029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af
+02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c0
+02c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d1
+02d202d302d402d502d602d702d802d902da02db02dc02dd02de02df02e002e102e2
+02e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f3
+02f402f502f602f702f802f902fa02fb02fc02fd02fe02ff03000301030203030304
+03050306030703080309030a030b030c030d030e030f031003110312031303140315
+0316031703180319031a031b031c031d031e031f0320032103220323032403250326
+032703280329032a032b032c032d032e032f03300331033203330334033503360337
+03380339033a033b033c033d033e033f034003410342034303440345034603470348
+0349034a034b034c034d034e034f0350035103520353035403550356035703580359
+035a035b035c035d035e035f0360036103620363036403650366036703680369036a
+036b036c036d036e036f0370037103720373037403750376037703780379037a013a
+006f0089037b037c037d004100080075037e006900770076037f0070007100740380
+00ee00ed007903810382007a0383038403850386038703880389006b006c038a038b
+038c038d038e0063038f0390039103920393039403950396039703980399039a039b
+039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa03ab03ac
+03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb03bc03bd
+03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc03cd03ce
+03cf03d003d103d203d303d403d503d603d703d803d903da03db009903dc03dd03de
+03df03e003e103e203e303e40144014503e503e603e703e803e903ea014001410142
+014303eb03ec03ed03ee03ef03f003f103f203f303f403f503f603f703f803f903fa
+03fb03fc03fd03fe03ff04000401040204030404040504060407040800a60409040a
+040b040c040d040e040f0410041104120413041404150416041704180419041a041b
+041c041d041e041f0420042104220423042404250426042704280429042a042b042c
+042d042e042f0430043104320433043404350436043704380439043a043b043c043d
+043e043f0440044104420443044404450446044704480449044a044b044c044d044e
+044f0450045104520453045404550456045704580459045a045b045c045d045e045f
+0460046104620463046404650466046704680469046a046b046c046d046e046f0470
+047104720473047404750476047704780479047a047b047c047d047e047f04800481
+04820483048404850486048704880489048a048b048c048d048e048f049004910492
+0493049404950496049704980499049a049b049c049d049e049f04a004a104a203fb
+0300000100004e00004f00006c0000870001010001bd0001fd00044000045200049a
+0004e20005520005640005780005840005940005a500060d00069100071f0007af00
+085d0008e10009630009cb000ace000b50000b69000b9d000bc7000bdd000c07000c
+2b000cfe000d16000d43000d56000d6f000d8b000da5000dc3000dda000dec000dfe
+000e13000e36000e5b000e76000e91000eba000feb00101900103a00106500107900
+10870010950010a60010b800111300114900115b0011910011ae0011cc0012370012
+5d00127b00128f0012b90012d60012ee00134b00136800138a00145900147000148a
+0014aa0014c60014e00015450016670016870016ad0016be0016e30016f100185500
+1863001872001981001a2f001a46001b00001b47001b48001b94001d47001e10001e
+8a0020350020520021bd0021d40022ad0022c900232200236500237100242e002451
+00246d00248500256800259500260000269c0027960027a70027ba00283d00287600
+28cf0029ec002b18002c60002ce0002d02002d24002d45002d75002da2002ea20030
+1600303900305d0030810030a50030da0030f500310f00312900314f0031ef0032e9
+00330d0033310033550033850033b60033eb00353300354f00356c00358900362b00
+36450036f20037dc0038080038340038640038a80038e9003924003a3c003a57003a
+7b003a9f003ac3003afe003b16003b2e003b46003b6d003c78003cad003ccf003cf1
+003d13003d44003d70003dfb003f4c003f7b003faa003fd900401d00403200411100
+41350041550041880041b00041eb0042f20043fa00441500443000444b0044660044
+850044a50044c00044db0044fc00461a0046fc0047f7004813004838004921004955
+00497a0049a2004ada004bbe004be2004c06004c2c004c97004cc7004d34004dd200
+4e43004e70004f23004f430050320051710052ef00531600533e00535000536c0053
+8a0053aa00548a0055f60056150056270056e400584d0058670058800058a40058c9
+0059c40059ef005a10005a40005a6e005a91005aab005add005b11005bbb005ccf00
+5cf3005d1a005d43005d6d005d91005db7005de2005eb0005fd7005ffb00601f0060
+4700606f0060980060c000618d00622c00626300628d0062cd00632400635a006384
+0063ae0063de00640800643800655400666200668b0066bb0067a80068e800691b00
+69380069e7006acd006af9006b3d006b5a006b8b006bac006be9006c0f006c66006c
+89006cae006de4006fa4006fba006fd2006fec00700100710f00713900715a007186
+0071af0071d40071f400720a00721400721e00723200724b00725e00727c00729100
+72a50072be0072d10072ea0072f700730100734200736200741100742c00743e0074
+980074a800750200755b0075a40075df0076210076620076980076cb007711007751
+0077930077e300781200784300787100788300789d0078b50078c60078db00791800
+79470079620079bc0079ef007a21007a33007a45007a9a007aab007ab6007acf007b
+3b007b4b007b56007b73007ba3007be9007c31007c54007caf007d38007e45007e58
+007e6a007e7c007e97007ea7007ebe007eef007f0a007f1d007f35007f7100808600
+81480081d800822c0082610082620082a90082ef0083180083a90083f00084370084
+a10084e60084f400857b0086370086a50086af0086b90086c50086d1008718008749
+0087790087ff0088510088c00088f800899d008a40008af8008bad008d0f008d9400
+8df3008e7f008f83008f9b008fc1008fee00900c00903900905700908e0090b60090
+d90090fe00911700914100915a0091840091a70091da0092d0009310009329009353
+00938200943b00946a00952e00954a0095670095830095a00095b30095b40095ce00
+95e60096040096610096780096950096ac0096c90097b000991a009a0d009bae009b
+c5009be2009bf4009c16009ce2009d94009db2009fb1009fc6009fdd009ffc00a01d
+00a04000a05a00a07d00a09700a0c400a0e800a10b00a12500a15200a17c00a1a100
+a1c100a1e600a20600a22100a23d00a25800a27400a29800a2be00a2d900a2f500a3
+a300a48300a4af00a52700a55500a61100a64500a71000a74200a77400a79d00a7c6
+00a7f400a81400a84200a86200a89000a8b000a8e800a91100a93200a95800a97900
+a99f00a9d800aa4f00aa8c00aabc00aadd00ab0300ab2e00ab3f00ab6a00ab7b00ab
+af00abd000abfb00ac0c00ac3100ac8200ac9600acbb00accf00acf400aec600afb1
+00aff500b04d00b05b00b06900b07700b08500b0cf00b0ed00b13b00b15900b17b00
+b1a300b1b100b1c200b1d000b1e100b1f200b20000b37000b39200b3a400b3b300b3
+d800b3f000b40b00b42300b44800b46a00b49100b4c200b4ff00b62e00b65400b66a
+00b71900b7cd00b8b300b93500b94d00b97300b99d00ba2500ba5300ba8600bb2700
+bb6400bb9600bcf600bd1500bd4500bd6600bd8c00be6800bf7800c03b00c11700c2
+1500c36500c38d00c3c800c3f000c41600c43200c44f00c47900c4fd00c51900c536
+00c5e100c70700c7ab00c7dc00c91200ca4800ca6a00ca8e00cab200cacf00caf000
+cb1400cb2600cb4800cb6300cb7d00cbaa00cc0800cc3900cc6000cd0400cd3300cd
+c900cf0a00cf2c00cf4e00cf7200cf8c00cfa000cfb200cfc600cfd700cfed00d004
+00d00700d00900d00c00d00e00d02200d04700d06a00d0b600d0ca00d0dd00d0f100
+d10300d11900d13100d13400d13700d13a00d13d00d15800d17100d18300d19200d1
+b100d1d300d1e500d1f400d1f600d1f900d1fb00d1fe00d20000d20300d20600d208
+00d20b00d20e00d21100d21400d22400d23400d25b00d26c00d27d00d28e00d2ac00
+d2ce00d2e800d30200d31c00d33000d35200d37400d39600d3d900d45400d51100d5
+3200d54900d55900d57700d59600d5a800d5ab00d60700d67500d68a00d6d200d6ee
+00d70200d79e00d83600d86500d89100d97300da3600dbef00dc0300ddc700ddda00
+df2a00df6700e07900e0c800e1e500e2b600e32000e35200e47400e4e500e50500e5
+2000e59c00e60e00e63a00e64f00e67100e67e00e68b00e77b00e7e400e86700e98f
+00ea1700eb1200eb8c00ebab00ebc600ec7d00ecfd00ed2700ed3a00ed6300ed6f00
+ed7b00ee2500ef1900ef1b00f05e00f14700f14900f16600f16900f18700f1b000f1
+db00f1de00f1f300f2ce00f38d00f45800f62200f7c200f8a200f9f900fb1e00fc20
+00fc9500fd1d00fdf900fe6a00fec700ff7701005f01010b01027d01031d01040d01
+04c401053401067601077b01081301098c010a8a010b4c010cc7010e35010ef0010f
+8401103a0110950111eb01123b0112a60112f901137d0113c70114f6011523011628
+0116800117bd0117ee0118900118d50119460119fb011a72011a88011abf011afa01
+1b30011b68011be0011c5d011d23011de9011e26011eea011f4a011fca011ff80120
+4201211a0121470121e10123430123900123dc01242701252d0125690125b60126b7
+0126f40127b701287b0128e00128ec0129510129b6012a35012a57012a69012a7601
+2ab3012be2012c6c012cee012d0b012d1d012e87012e95012ea4012ebb012ed1012e
+e8012eff012f19012f34012f4e012f68012f89012fa4012fc1012fe0013000013022
+01303f01305e0130870130a70130c60130e801310701312701314901316b01318f01
+31b20131d60131ff01322a0132500132730132a40132ca0132ec0133200133500133
+810133b00133c40133d40133e40133f40134070134ad0136020136c30136eb0137d1
+0138950139730139d3013a6a013aa8013ad2013b36013bb5013c83013d6e013dce01
+3e2a013ed50147b9014b80014bc1014fb201511401512f01515a0151860151aa0151
+c60151e40151fd01522a01530e01532701537d0153800153830153860154a701562e
+01563101563301566001567e0156810156970156b90156cc0156cf0156d20156d501
+56eb01571301573f0157570158b90158bc0158d90158f101591c0159330159890159
+8b0159bd0159c00159dd0159e00159fe015a26015a51015a6d015a70015a73015a88
+015aa9015ab9015abb015abd015ad1015b19015b65015bca015bde015bf2015cb101
+5d76015da7015deb015e3b015e54015e6b015e7b015fce01612a01613d0162260162
+6ff68bbdf8ecbd018bbdf824bd03bdf8f115f73efb93fb3efb9305a95e15f73ef793
+f73efb9305fb20f7c015f73ef7938bfc9205fb5cf7c015fb3ef793f7e88b05fc38fd
+1e15f888f950fc88060e0e81f70c12f78af70efb06f513a0f7c7f92615200a13c04e
+fcf415210a0ef7fff7c401f731f70ce1f70c03f75af7ff15220af7628c15220a0eff
+0099999acaf746cb01f817ff00d8999a15fb428ba3f746f7418b05bb16ea8b93cb2d
+8ba5ff00c966665b8b72ffff36999afb428ba6ff00c966665b8b71ffff36999a2c8b
+834be88b74fb462d8b05834ce88b71ffff446666ba8ba6ff00bb999af7408b72ffff
+446666bb8ba6ff00bb999aea8b92ca2c8b050e84b0f8e1ad12f71eab82d3f77fde4b
+ad13c0f7c6f81d1556a358af8bc48bc2c1c0cb8c08a2fbe015c675c56c8b378b3c5c
+61358a08f73ff8ea155392879a428f0890e6057c8b798980870887370520882f4b8b
+248b2ed45be06a928991889289087afba4053c9558b676e07e8f7f8980868f3e9073
+985ac78baa79d38708852b05978ba28c94900890e505b98cb795ae9fcaaeb2c98bca
+8bea43ba3daa7e90789175930899f78305d57da5569e53988b9a8a959288bb85a77f
+bf080e7fb2f752b2bab2f722b096b201c4c6f70fb1f0c7f70eb103f84ae115c0b1d9
+b898a5835b576d39587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0e81
+c155acf806acf750ac12b3ff00564ccdff00264ccdff0050ccccff006b4cceff004a
+3332ff00aeccceff00138000137fff00e88000f7e615ff000a333376ff004a6667fb
+08c040ffffd2666648ffffde999a67498bffffc566668bffffd7cccdae8bed088bd2
+ff000a6666c1ff005fcccdc408f733fb8815a6660513bfff002bb3344aff00226666
+89ff001cccce8bff002080008bff0029e664a7ff00156668d1fffffb3334ff000566
+66fffffb8000ff0004999afffff5cccc8bffffed666464ffffea999c7cffffe14ccc
+8bfffff119988bffffeae668ff0013e666ffffe36666ff002b199a08ffffd98000c5
+05ff0024cccec4ff0012e666abff0019199abbff002accccddff00064cccff000533
+34ff0038e668ff0003ccccff00059998918ba0fffffa666891ffffed66648affffe4
+199c8affffe066648bffffe066688bffffd9e6668cffffed66668cfffffa6668858b
+76ff000599988508ff00324ccefffffd4cccff000de666fffffab3346845fffff019
+9affffe0199affffeb6666ffffdd3333ffffde8000ffffcab333ffffd53334c95ad6
+ffffef4cccaa08fffffc4ccc9305ff004d3334bbff00366666cc8bc208ca55b8ffff
+bee666ffffa30001ffffcdcccd44501e8b659864ff002266664bffff85333341ffff
+cecccd488b3c08137ffb0eff004f199a5fff006380001eda8bff0033199ab4ff002a
+ccccca08ffff8c4cccf7cf15ffffe7cccebcfffff9ccccb18ba208cdff0021999aa8
+ff00183334ff00261998ff000b66686d5e1e8b67ffffee999857ffffc4800061080e
+f7fff7c401f798f70c03f7c1f7ff15220a0ef759ec03f759f790158b5e96ffff0be6
+66f7a8ffff59199a998d97928f935db1fb42f7298bf7908bff0102e666f743ff008e
+199ab8af869582927b8cfb3b25fb0cfb3b8bfb4e080ef7eeec03f84ff790158bb880
+ff00f41998fba8ff00a6e6687d897f848783b965f742fb298bfb908bfffefd199afb
+43ffff71e6665e67908194849b8af73bf1f70cf73b8bf74e080ef7a9f8b6156a6559
+908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe588969af08
+9d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e788da9a2b18ba608a375967979
+7779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8bb8939a8d98869889
+080e9f76f772c701f7b4cb03f7b4f86c15260a0efb38aff71af70801f7d3c503f7bc
+f70e15270a0ef76bd701f877f76b15280a0e81f71a01f783f71c03f783c415290a0e
+f87ef96b15fc2cfdccc98bf82cf9cc050e81b0f8e6b001e5eaf7a2ea03f7d6f90115
+a28ba2859b7fb66fa73a8bfb258b28884677546d325081728b08fb1587f74ee9f79e
+d6bbc91f86fd0b15e7f721dff7921f8bf66ee756ca6cb159a94a8bfb0b8bfb05fb11
+8bfb6a8bfb08b2fb00cd50ad6db57bb98b080e89b0f86b7601f7c0e003f815f71a15
+f809078bcc8ccc8d998b90898c878b50ffffdc800025ffffc98000335f8d7f947894
+84b9a0c9a59e8b089b8f72661ffbe4078b5d84747a7e7b7f5787688a85858b729185
+bc8cc68cd08bff00334ccc8bff0032b3348abd8a91918ba4859108ffffdf80008cff
+ffcc80008f7e967c9786a28bbb080e8bd1f8b9b112f70fdcf772ee6cac13f0f70ff8
+8d15749c78a39f9f9fa31e8b948990899389938c948b9408a6abb0dfb4d172231e8b
+466653474a08363c05fb05fb0079588b4b088bcd8db01ef75e06b0bf898b1f13e89a
+c497dc8cab84907d8e7f89773e7770628b08fb67068bb2aab5c2bd08f708f40513f0
+cdc6c2bf8bd908f7092db8fb011efb1444344a1f0e81b1f7caaef71876f71cb112f1
+e3f769e952f013fcf7bcf90015c7ba71461f8b555038fb0b7c089168059f8d938b9d
+8b0813fad9e07afb0efb24fb086e5b1f458b94a47d9e7f9a7b98738b087272777a60
+ef6dd3f723f713def7231f8bf70a29b54496088a8d0513fceeb5a6b78bc48bab83a6
+6ea671a3619b4c8b08fb445825677c9776a8b590aea01fd0d196af1e0e89b0f72bbe
+01f7f6df03f7f6f8b815fbcbfb7a07bee4ecf70fddee08f75afbcb15fb06f7cf068b
+c18bb38d9308898f648b05858b82828787433cfb24fb492ffb2eff00014ccdffffef
+b333ff0006b333ffffe34ccda98b08f78829068bffffcfb333ffffbcb33488ffffd5
+4cccfffffe4ccd85858b729185ab8cd18cb98bb28bd68aab8a91918ba48591ffffce
+b3348effffcd4cccff00034ccc8bff002eb33408edef0799999f98968892801f0e7f
+b0f7ebc1f72ed301f848eb03f848f7601524473f381e568b8ba779a17b9d779b728b
+08747579755ff166cff729f4eff71cf43be8fb1a1f578b5982758308a3f74805b5ff
+fff9ccccb9fffffd3334c58baf8bb48dbc8f089fd5828f0549fffff9cccc48fffffa
+33344b8b5f8b608d618e0862fbcb05cba1a88fbc8b08e5d15dfb0a1f0e7fb1f7deb1
+f780a901e1e3f7aeeb03f748f7e015b8a3be8ba38b08f71c9f2455fb0b4555505528
+aff74d1f8ba48bff0022cccc91ff001933340896b115a7ff005dccccbbf70bf769ff
+002f33348b9889978190fb8cffffe3ccccfb1affff4866688bffff3acccc08fb6ff7
+2d5fe0f731d2f71de8e84edefb371e6c8b4a82627c080ef8d0d701f3abc7df03f772
+f8d015f77a0627fb6733fb5f47fb38089383d78e05c4f74cd4f74af710f7b8087b98
+057a866e84658b08fb9406698b8d96798f888b8a8b8b88fffffa8000ffffcb800083
+44fffff98000ffffc880009688958a968ca1e1ab93ab8b080e80b3f8e0b312e3d563
+dbf77fda5ddd13d8f7d7f8fd15e2a652591f8b584fffffc8333462fffff0cccc0867
+9a05ffffb9199aff001d8000ffffe4e666ff0024999a8bff002de66608bdb3bfdc1e
+f755fb0015d945d1fb0afb0e373c381e8b4fff002c8000ffffc3199aff00418000ff
+ffe3e66608a77f0513e4ffffaccccdffffe1199affffa73333518bffffa8e66608fb
+02ea50f713f731e0f3dd1e8bcaffffe2e668ff00428000ffffbc1998ff001d800008
+36af05c2ff000e3334e6ff0037cccc8bd008fb61fc74154f32abec1f8babadff0051
+3334f0ff002fcccc08c27505ff0052ccccffffdee666ff00233334ffffd44ccd8bff
+ffbccccd08fb00287b4f1e0e7da9f780b1f7deb101e3ebf7aee303f860f7ce155e73
+588b738b08fb1c77f2c1f70bd1c1c6c1ee67fb4d1f8b728bffffdd333485ffffe6cc
+cc088065156fffffa233335bfb0bfb69ffffd0cccd8b7e8d7f9586f78cff001c3333
+f71aff00b7999a8bff00c5333308f76ffb2db736fb3144fb1d2e2ec838f7371eaa8b
+cc94b49a080ea8f71af733f71a01f790f71c03f790eb15290af7b904290a0efb38af
+f71af708f75cf71a12f790f71c59c513e8f7cff70e15270a13f04cf79f1567aa6cb0
+b0aaaaafaf6caa661e666c6c671f0ef74cf78315f7f0f72a05999d8cb27c9308fc40
+fb4c0581758b77957708f840fb4d059a938ab27d9d080ef723bdf71cbd01f89ff7dd
+152a0af836fb4e152a0a0ef85cf78015fbf0fb2a057d798a649a8308f840f74c0595
+a18b9f819f08fc40f74d057c838c649979080e81f70cf894b012f70ed7bbf70e3aac
+f708ec13ecf75af8b2152b0a13f4bbfc8015210a0e3bb3f705a67caef773a7f723ae
+12abcff7c2c4d7cf13bff813f7be158d728166847579566962738b658b87a688b288
+b891baacaf9fa1a892978b08a48b977a8d6f08b4fb47158b908ca48f9f08a9f75280
+8f5f85897905839f7197738b2d8b363693fb008e5f9d5adb8ba48bbaa1a7c3088e8a
+058678877a8c7f0813df8c7f8f6eac8b08f729baf70fe8f734fb13effb1efb3ffb1b
+fb23fb43fb51f1fb0ef74b1fdc8bc19ce5c2879288928290526c3e774e8b08fb4656
+f70bf733f74af70de9f701e9f70340fb2ffb1a5a595f7d8797921f0e89b0f756b3f7
+f87701f787f7a1152c0afb8ffb52152d0a0e89b0f7acacf77ab112f70ee8f776dc69
+e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b4f8c0b1
+01aeecf83fab03f7f68115320a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8
+a415340a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e89
+b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e81b1f766aff7d0ae12
+aeecf7e8e967ae13f8f7fbf90515370a13f4380a0e89b0f7a2b3f77db001e7e5f7a8
+e503f8b8f70e15390a0e89b0f8b3b101f7ade803f80af70e153a0a0e81b6f8b5b001
+f7d7e803f834f87b153b0a0e89b0f79ba7f790b001f700e803f75df70e153c0a0e89
+b068bdf8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e
+89b0f8b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8
+430a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470a0e89b0f773b172aaf7a9b312
+f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a0efb5bc2af
+b5f91fb301adecf80eec03f7c7f8dd15460af7bffba415f756fb11f70afb371e318b
+3c635944635272528b218bffff504ccdff0069cccdffff953333ff00871999ffffed
+6666ffffc86667ffffe18000ffffcd4ccdffffd3cccdffffde8000ffffd83333ffff
+f8e666fffff8e667fffff9e666fffff83333fffffb199afffff7800008b07805ff00
+0b6666ff00103333ff000c4ccdff000ee667ff000ccccdff000d8000ff000d199aff
+00086666ff000c66668e928be38bc730f7108bc78bb3a4b0c0087b9705767169826f
+8b378b3ed9238bfffffa80008bfffff9e666ffffff999afffff98000ffffff1999ff
+002e999aff00220001ff002e199aff00139999ff001eb332ff00089999d6ff000d99
+9aff003c3334ff0029999aff00288000ff003be666afc1a0c48be7080e967692a671
+b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e
+4f0a133e500a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e852
+0a13d4530a0e89b0f851f7205fb0129badf774e8f773ad13bcf803f70e15540a13dc
+550a13bc560a13dc570a13bc580a0e81b4f8b9ae01dbe8f7dcc003f741f88115590a
+0e9576f8e1b001f84af8d6155a0a0e9576f8e1b001f7fbf841155b0a0e89b0f8b3b0
+01f7a8e803f8a4ee155c0a0e89b0f8b3b001f7b0e803f80df70e155d0a0e8baff8ac
+b4947612c8a913d0f8bb89155e0a13b05c8b2a8f668e87588155836495889489968b
+a0cdb1abd68c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb248583
+89848b8408819087991ef80006a6ef898b1f0efb55a9f9d8a901f778d803f778fb55
+15f79a0691918b9d8591fb1e965c9a8be208f8f7078be2bb9af71d9591918b9d8591
+08fb9a060ef72aff02d76668154d8bf82cfdccc98b050efb54a9f9d8a901f7e3d803
+f830f95415fb9a0685858b799185f71e80ba7c8b3408fcf7078b345b7cfb1d818585
+8b79918508f79a060ef8fc7701f7d4f8b215f726fbd6c88bfb44f8204e8bfb46fc20
+c98b050efb2eb701f8dbfb0215fca20683838b6f938308f8a20693938ba78393080e
+ff012bccccf94215fffff9999a8dfffff333348cfffff666668bffffb4cccd8bffff
+ef999978ffffe9999a84088380ff00c66666fb0c05ff001b33347bff0011cccc85ff
+000e66668bff001133348b91908b968b8fffffff6666ff0005ccccfffffa3334ff00
+063334080e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb4015
+13ac600a1374610a0e81b3f832b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79
+ad15630a0e81c1f829b401d7e6f7bcec03f8d7f70015640a0e80bf80a6f81cb3f72c
+a9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a137e670a13be680a0e81
+bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e89b0f7fdb7f7
+70b101f75fe2f760e903f7b6f712156b0a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f823c3f72ba9a67701f706e2f789e203f75dff013ce666
+15750a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13e8f5fc98
+15770a0efb30b5f8b4acf713f70712f7e0f70438e213e8f854f74215f75a078bcf99
+9b8ba38b918492848b0813f0808b3d8570865d8337835f8888838c7a8f83eb89ff00
+50b334fffff8b334ff00094cccfffff54ccc0813e8987c8d818b7108fb6d07fb6d55
+644d1effffda80008bfffff24ccdff000b999affffe0b333ff0020e666ffffec8000
+ff00148000ffffe6999aff00028000ffffeae6667effffec80007ffffff93333ffff
+d5cccdff00234ccdffffeab333ff001a80007bc286bb8b08f707edbef7ab1f13f0fb
+08f87015760a0e89b0f82eb0f733a9a67701f70de203f70df71815780a0e89b0f8ef
+aca67701ff011e8000e203ff011e8000f71515790a0e89b0f824c255a712cfddf71c
+ddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f825a771bf12f708e2f784e2
+13d8f768f819157c0a13b87d0a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785
+f76f157f0a0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72
+b215810a13ec820a13dcff00888000ffffb8999aff005a8000ffff7566661effffb3
+999a8bffffd1e666ffffdb8000ffffd48000ffffc78000fffffce66687fffffa199a
+8b8b93080efb7eb0f74fbef829b701c7e7f7b9e203ff01a18000f82915a172ff0005
+8000758b7008fb6807ffffd0cccdffffa88000ffffe13333ffffce8000ffffc3e666
+ffffa0199ab8f73cf708b6d7f51eae8bff003980007da37008ff001b8000fc94158b
+388186398985858b729185b58cb48cc08bff002ce6688bff001b19988ab68a91918b
+a485914e8e808f8bde08f877078bff002cb33498ae95ff00164ccc88ff00084cccff
+fff4b334ff00056668fffff94cccff00024cccfffff44ccc877efffff2b334827e7d
+77fffff2b334fffffb4ccc7e9468a2449e5a8b08fb2123ffff9f8000ffff5e8000fb
+18d6fb02f7251fff003f80008bff00344cccff00176666ff00133334ff000a999aff
+00188000ff000d8000ff00058000ff000180008b76080e89b0ff018c8000ff003a80
+0055a712f76ae213b0f7c1f82a15830a13d0840a0e81b08676f858b012e3b671d6f7
+b7dd42af1374e3f72415850a13ac860a13aa870a13b4880a0e81c6f7efb701f750e2
+03e4f84c15890a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f680008115
+8a0a13788b0a13b88c0a0e9476f85db001f83cf851158d0a0e9476f85db001ff0166
+8000f7f915ffffcd80008343fb4005ffffef8000ffffd8b333fffffd4ccdffffff80
+00fffff61999ff0025cccd0855f763057dff0035b334ff000c199aff00064cccbb8e
+91918ba48591ffffde4ccd8affffddb3338a678b658b6e8c768c85858b729185ad86
+ff00043333fffffd199aff000ee667ffffc8e66608ff0064e666fc0a05ff0003999a
+fffff13333ff00096666fffffacccd958b948bff00063333ff0005e666ff0006cccd
+ff0010199a08f6f790ff0004b33485ff00684cccfb8c05ff0005e6667dff0007199a
+85958b948bff0009199aff00054ccdff0003e666ff000fb33308ff00649998f80405
+ff000c999cb9ff0006cccc9cb99091918ba48591fffff04ccc8affffedb3348a678b
+658b698c6b8c85858b729185d687ff00004cccffffe8999afffff64cccffffdb6666
+08ffffc06668fb8305fffff9b334ffffe84ccdfffffce666fffff9cccdfffff63332
+ff0019e666080e89b0f82eb001f775f82d158e0a0efb7cdbf8e9b001f7a6fb34158f
+0a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0a3ff00408000bcff0021b3
+34bfff0000cccc08f75c8e052cffff8e8000ffff7a4ccdffff7c4ccdffffa7e666ff
+ff936666ffffeb8000ffffe6cccdfffff0cccdfffff18000ffffe78000fffff18000
+89fffff2cccd8ffffff1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3
+348aafcb98b396ff0034800085ff000680007e907bff00018000086affffc6800005
+ffffe5199affffd1333364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73c
+ff00b9e666f0ff00768000ff00133334ff00168000ff0008ccccff000e80008b8f8b
+8f868e848b868b65896e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f08
+0efb68a3f83ba3f83ca301f7fcf8bc1586ff0066e668f71dff00111998b19691918b
+978591318bfb30638ffb050891fb4c058b595f55418482828c849383ff0049800082
+ff002e80005f894e0885fb3e0586fb16f7266af08b91918b9785915f8bffff7d8000
+bdff00048000df0893f72905ff00046666ff00524ccdffffc26666ff00278000ffff
+bc3334ff001c3333088f07ff00433334ff00133334ff003e1998ff001cccccfffffb
+b334e4080efb6776fa367701f7beb703f7eafb7c15fa365ffe36070efb69a3f83ca3
+f83ba312f7a4d549d313e8f7ac511590ffff99199afb1dffffeee666658085858b7f
+9185e58bf730b387f7050813f085f74c058bbdb7c1d59294948a928393ffffb68000
+94ffffd18000b78dc80813e891f73e0590f716fb26ac268b85858b7f9185b78bff00
+82800059fffffb8000370813f083fb2905fffffb999affffadb334ff003d999affff
+d88000ff0043ccccffffe3cccc088707ffffbcccccffffeccccdffffc1e668ffffe3
+3333ff00044ccc32080ef78ece9dce01f8a4a203e3f79815a38805a2b7bfadb18bad
+8baa7fa76fa86dae7cab8ba58bdda6a8f60874910575595a746c8b6c8b699a6ba66b
+a6789b648b498b413e804a080e0ef804f70c12f783f70efb06f513a0f7c0fb4815a3
+a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d8b4f7efb
+0081357d618b4a0855a878a31e13c0c8f8f415910a0eff003eccccbeff017f6668ff
+0026e664ff0054e6687701ff00564ccdff00568000ff00813333b9ff006a3334ff00
+5c333403f7c2f90115ffffab199807ffff87e666fffff1ccd0ffffa06667ffff9e66
+648bffff7d33348bffff87e666ff004d4ccdffff9e8000ff008a6666fffff3e66608
+ffffa93333b9ff0055cccd07ff003fe666ff0002999aff0049e666ff0014199aff00
+4eb334ff00593333fffffc3334ff00098000fffff2b334ff000d4ccdfffff580008c
+ffffc41998ffffc23333ffffb6ccccffffe9199affffcf80008bfffffd80008bffff
+fd999aff00001999fffffd999aff0000199a08ff017f999a07ff0038999afffff8e6
+66ff002bb332ffffdd199aff0005e668ffffd4ccccff0003e666ffffe3999aff0014
+ccccffffeeb334ff0016ccce8bff001c80008bff00103334ff001280008bff0023b3
+328bff00144ccefffff44cccff00169998ffffea66649dffffdae668ff001ee668ff
+ffc0999aff0015b334ffffbf6666ff0003199808ff00538000075dfffe0cb33415ff
+ffb24ccdff0017e666ffffcc8000d78bff005eb3328bff00656668ff002f6666ff00
+443332ff0051cccdff000b4cce080e7fd090b8f767b7f793b401f75be603eff7d215
+ee77068b2a81412b5d6e7b6f708b778b7aa07e9f8ba28bfffffe999aff0012199aff
+000f6666ff0017e6669499ad9db08bf70c8b9c41eb8b08d08bc4c6a5c28792818f82
+8c6f6559786b8b418b6dbdfb188bafadb6bd8cf71308f71c06979990941fa2078f87
+8e861efb2df006f705bbb4d41ea28ba575997e987f94839b8b08a59d9ba6b13b9a72
+1f418b587f646cffffbf3333ffffcc8000ffffe8cccdffffc080008b30085c3b0778
+857d821f7d07868c89901e0ef6bbf7bfba01f70ad0f79acf03f74ff7c515dbc1d0da
+d0c749373b57463c3b58cfdd1ef717fb5a15b98bb598b0a708be53b3b551bc05a6ae
+99b48bb88bba7db46fad08c9bd5fb9574d0567a762985d8b5f8b637f66700858c462
+5fc55c056e697b618b5b8b5d9b61a868084e5bb95dbbc705af70b47eb88b080e89b0
+eeb4ceb5f7dab001f7b0e803f72cf78615f71848fb050678867e831f7e07868c898f
+1ef71883068b387a863b8885858b729185bc8cff0026cccc8cff003833348bff0037
+cccc8bff002533348abd8a91918ba485913b8e7a908bde0893f7100796998f951fa0
+078f888d861efb21cef7100696998f951fa1078f888d861effff73b33406ff00014c
+ccff00104cccff0003ccccff000e4cceff000bb334ff0013666608ff00818000f76c
+05ff001d3334ff0030ccccff00111998ff0006e668ff002cb334ff00044ccc91918b
+a485916d8a6d8a748b748b6f8c638c85858b729185ff002c4ccc88ff00113334ffff
+f96668ffffe94cccffffd8999808ffff873334fb6505fffff76666fffff1199affff
+fc6666ff00014cccfffff66668ff000f999a08ffff81ffffff00cccccc05ffffe6e6
+66ff0028b334ff0004e666ff00078000c38e91918ba48591638a698a638b648b6a8c
+6d8c85858c729185b588ff000b999afffffc8000ff00241999ffffc7800008ff008d
+4ccdfb710596ffffeeccccff00056666fffff5199aff00028000fffff2199a08ffff
+91199a0678867e831f7c07868c8a8f1e0eff01278000bc03ff01588000f936155afb
+febc06fb2b045afbfebc060efb40aaf994aa12f720c173d058d8f70fd858d073c113
+e2ff00d6cccdff019f199a15ffffd3999affffdc199affffe1999affffd033328bff
+ffbf999a8bfb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e
+81a1718b0870827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd19
+9aff00234ccc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266
+668bf70f21b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a5
+8b08a6949ca0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffff
+dcb33408ff00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffff
+e06666ff001233330813e143b540b38be78bff00226666ff00106666ff00173334ff
+0019b334ff00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedcc
+ccd361d6638b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a08
+0ef8d5ea01f751e9d6e903f751f90415920af73d16920a0ea2abeca8f791a2efaa01
+b0aaeccef7469ff721aa03f84bf76c15fffffc8000ff00068000fffffa4cccff0005
+cccdfffff63334ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d
+938b928c908e8ca38bff001780008aff00238000778d7a98458b5b8bffffd2e666ff
+ffecccccffffe3199affffdfb33473ffffe5199a7fffffdb999a8bffffd9cccc088b
+ffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e6
+66ff00249999fffff3199aff0026b3348bc28bb6ac9faa08fb0bfb5515930af8aa04
+940a0ef7f3adf77da501f75ac5f70cc603f80cf88a15950abafb2b15960a0ef74ef7
+8915b7bab7c1c7e288967e957f8c2d2c51544a55087f07cc55c554e92c978c98958e
+964fe25fc15fba08f76816b7bab9c1c7e288967d957f8c2d2c51544a55087f07cc55
+c554e92c978c99958e964fe25dc15fba080ef7d7b701f887c103f887ee159e82ff00
+126668ff0002999aff00109998ff0006666608f7a0fc9507fffff94ccc798efffff2
+ccccff0003b334fffff3333408f85f060ef76bd701f877f76b15280a0ea2abf704a3
+eca3f701a3f704aa01b0aaf73fbae5c1f721aa03f80cf806155d797f6d1e61d6069d
+9a9ba4ad9b7a691efb05d4157b8b6d8c798c87878b7b8f87ab8893858b6b08fb2807
+8b6b83856b8887878b7b8f879d8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e8391
+8bab08c307908ba78a8f8808bb3b059c6ea3829f8b978b978d97908c918a92878f7b
+887bff0008333380ff0012cccd085bdd05aa95a5a48bb28ba977b8408b778b67897b
+8b08c4fc3815930af8aa04940a0ef8a5b701c6f7ac03f7cff8a51598969d97918793
+811ffb88067f817a7f848e83941f0ef81dbbf73dbb01f750c0f731c003f822f8a015
+970afb668c15980a0eabc7f7bac701f7b4cb03f8cfe715990afbaff8b515260a0ef8
+00abf79aa912f725ff00394ccdff006bb333cc82a313f0ff00abb333ff0248b33415
+ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff0007e668fffffae666ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bb5848b5c8b5dffffde80006c
+ffffcfcccd685affffdc6666ffffc5b333ffffd3999a8b5b08f78e0613e89a0a13f0
+806ffffff04ccc64ffffe2b3348b08fb0506ff0002b333acff0021cccda4ff0029cc
+ccff001e4cccff00354cceff0026b334ff002e6666af8bb908cb449e593c6dffffce
+b334ffffe34ccc1efffff1b334ff000eb33380971e0ef7faa9f719a6f702a912ff00
+7d3333ff0036cccd5cbdf702c66ac913e4f7b9f901159b0a13f29c0a13ec9d0a0eff
+011e3334f94215ff000666668dff000ccccc8cff0009999a8bff004b33348bff0010
+666678ff0016666684089380ffff39999afb0c05ffffe4cccc7bffffee333483ffff
+f199998bfffff3cccd8b828f8b948bff00068000ff0002cccd93ff00049999ff0005
+8000080efb6976f774b812dbef2eda45bdf78ada13d4f81adb158d068e519b6bc88b
+08bfafb390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbc2
+07746a4050548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb
+500713cc8b5194588b6a0813e48b4c7b5c8b580862b3739ca39e9eb41e13cc8bb669
+d18bcc8b90928f918b977ea581a68b08cb8bcab9b2b7080efb7cacf9bfac01f7d1bd
+dcbd03f803f8d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba1570
+8b508d408b08fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff399
+9afffff5199affffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86
+088b788d8905bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b90
+87ff0002b33387ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008
+e6668ba908f973078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d05
+8fff00004ccc8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b
+080ef760f70001d2f70003f711f760159e0a0efb5ca8d6abcb7701f744c903f7232b
+159f0a0ef800a801f779c103f76bf90015978d826b1ffb16078b586c88638986838c
+7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8b
+be08f78307fffffab33490fffff89998fffffde668fffffab334fffffd19985f7071
+7f5c7a8b7fff0002199afffff71998ff0007e666fffff9e668a4949e91988b080ef7
+c3a5f767a501b2c5f730c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef7
+18f70315bdab623b436079704f71c8bcc1a3babd1f0ef85af784155f5c5f554f348e
+809881978ae9eac5c2ccc10897074ac151c22dea7f8a7e818880c734b755b75c08fb
+68165f5c5d554f348e809981978ae9eac5c2ccc10897074ac151c22dea7f8a7d8188
+80c734b955b75c080e3aa8d1adf79ba801f71cc1ff012a8000ff0034199803f8a6f8
+ed15a00afc567515a10aff016e8000fffe84b33415a20affff3a4ccd048b627e8863
+8986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba9
+8a8f928b998793698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8b
+f74805ff0008e666fffff38000ff0001199afffff9b3341efffffcb3348bfffff6b3
+34ffffff8000fffffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4
+cccd82fffff58000ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333
+fffffc999afffffa8000fffffccccc86fffffd199afffff9b333fffffd666683ffff
+fae668ffffebcccdff001a99988b08ff0076b334060e3cabf79aa9d1a812f714c1f7
+5dff00394cccff006bb334cc82a313f8f8a6f8ed15a00afc5e7515a10aff0127b334
+fffe52b3341595ffffffffffff00119998ff00054ccd8e9dff00014cceff0007e666
+fffffae666ff000ccccdff00038000ff00084ccd90979794aa8b0813fc9db5845c1f
+8b5dffffde80006cffffcfcccc685affffdc6666ffffc5b334ffffd3999a8b5b08f7
+8e0613faff00088000ff001ab334ff00063334ff001f9999ff00044cccff0023b333
+fffffab334ff0003b33383ff0001999afffff54cccffffffb3330813fc806ffffff0
+4ccc64ffffe2b3348b08fb0506ff0002b334acff0021cccca4ff0029ccccff001e4c
+ccff00354cccff0026b334ff002e6668af8bb908cb449e593c6dffffceb333ffffe3
+4ccdfffff1b333ff000eb33480971e0e3ca8d1adf791a9f719a6f702a912ff002133
+33ff0036ccccffffd10001bdf702c66ac9ff00ad8000ff0034199813f840f89ef8ed
+15a00affff9a8000fffe70b33415a20affff3a4ccd048b627e88638986838c7c8f85
+a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f928b998793
+698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8bf74805ff0008e6
+66fffff38002ff0001199afffff9b3321efffffcb3348bfffff6b334ffffff8000ff
+fffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4cccd82fffff580
+00ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333fffffc999affff
+fa8000fffffccccc86fffffd199afffff9b333fffffd666683fffffae668ffffebcc
+cdff001a99988b08ff0076b3340613f940fffefa8000f8ba15a30a13fcc09c0a13fb
+409d0a0efb47b0f894f70c12f1eccff70e41ace4d713ecf8494d156d5e593d3d66cb
+d51e8bba99aac2b0d7be8fbf8bb608b20792858e81818488841e66078b7387827b72
+807a757a6e7b546d3f598b3c8b29d042f70e8bcb8bc7a5aea4afa3a4af8bb108ae6d
+9d7874787f741e8b7e8e8590860890868d858b7c0813f45bf88015910a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af71ff97715a40a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af7a4f97915a50a0e89b0f756
+b3f7f877f57601f787f7a1152c0afb8ffb52152d0af75ef96d15a60a0e89b0f756b3
+f7f877cbc089c212f852a613f4f823f96615a70a13eca80a13f4a90afb30fc59152c
+0afb8ffb52152d0a0e89b0f756b3f7f877c0eb01f72debf721eb03f72df95615aa0a
+f78116aa0afb27fc49152c0afb8ffb52152d0a0e89b0f756b3f7f1abf5ab01f77cb3
+ebb303f7d4f98815ab0a3356155db564b91eff000a999a8bff000a33328dff000980
+00ff00038000ffffefcccefffff76668ffffe03332fffff71998fffff3b3348b08fb
+59fc8d05745178865f8885858b729185a78cff00224ccd8cff001ab3338bb28bb58a
+b08a91918ba48591658d5fff00034ccc98ff0026b33408b8f71a059099918da38b08
+f74e8bc6fb3105966f60855b8885858b729185b08cc28cb28bb48bff00214ccc8aff
+001db3348a91918ba48591648e828d79b908ffff323334ff021a999805ff001fe666
+ff000d3334ff0016e666ff001f199c8bff0022199808ba61b15d5d61645d1e96fc46
+152c0a0e89b068b6f766b09caff77ab312f7c9dff704acb2ac7dae133e00f746f7b6
+15cff78d0597b7be838b5e08fb8407fb420413be808bffffb44ccc84fffffdb33445
+8885858b72918508137e80ff002ab3348cb68cff00224ccc8b08f7060613be80bbdb
+898b1f99bb9aca93bb81917f8d7e8808137f00774768583f8b086706757d9aa51ff7
+73a007e08b8e758e609185a08b9191fffffeb334ff00204cccffffff4cccab8bff00
+13b3348bff00134ccc8cff0022b3348ca78591768b85858857887e368b0876f75006
+a2979ea31eae06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a8883
+8a738b08218bfb488b058b8b4a8c598c85858b729185d188fffffd6666ffffecb334
+fffff7999affffe04ccc08fb04fc390513be80ffffefcccdffffc2199afffff23333
+fffffce6665f8885858b72918508137e80a48cff001be6668cff001a199a8b0813be
+80ff001bb3338bac8aff001b4ccd8a91918ba48591658d758e95b408b7f740f7218b
+050efb5ca8d6abff00363333ff0028ccccf8c0b101aeecf78ac9f70bab03f7ed2b15
+ac0a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7f7eb15350a3df8
+6e15a40a0e8bb2f7a0aff77ab3f57601f70ee8f75bace4ac91ae03f7d7f7eb15350a
+a6f87115a50a0e8bb2f7a0aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15
+350a83f86515a60a0e8bb2f7a0aff77ab3ebeb12f70ee85debe8eb63ace4ac91ae13
+f2c0f7faf98915ad0a13f4c0fb5116ad0af72efc321513f9c0350a0e89b0f8b3b1f1
+7601f7ade803f80af70e153a0afb07f94b15a40a0e89b0f8b3b1f17601f7ade803f8
+0af70e153a0a73f94d15a50a0e89b0f8b3b1ea7601f7ade803f80af70e153a0a64f9
+4215a60a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f478f90f
+15ad0afb5116aa0a0e89b0f790b2f790b101e4e8f7d2ec03f74ae015f75eec079794
+9a96908893821f21f76006acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61
+f8a415ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffb394d0782
+817c81858e83931fd1fb39063c81834f1e85858b729185b98cff001c66668cff002f
+999a8bad8bc389e18b08f70af736c8f77ef770fb0bf2fb441f548b4488678b080e96
+7693b0f8b3b0c1c089c212e7bcf7b1a6bfbc1337f80ff96615a70a132fa80a1337a9
+0af712fb8515fbc207798680851e888b7c9b72af08fbbaf82ffb178d0586858b7290
+85b288a16a907208fc150713678b3681864c8486858b729085ff00224ccc8cff0028
+b3348ca48bff00144ccd8bff002b66668aff00244ccd8a90918ba486914c927c8f8b
+e108f7b107ab8b9a921e908b94829c7408f7c5fc370513a7ff000e199affffec999a
+ff000fe666fffffc6666998b089898979d1ff861078be09190ca9290918ba4869167
+8affffdbb3348affffeb4ccc8bffffea4ccc8bffffd166688cffffd84ccc8c86858b
+729085ca849f878b35080e81b3f8bfb3ea7601adecf80eec03f7c7f8dd15460af7bf
+fba415470afbc2f88e15af0a0e81b3f8bfb3e97601adecf80eec03f7c7f8dd15460a
+f7bffba415470afb6ff88f15a50a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15
+460af7bffba415470afba2f88315a60a0e81b3f8bfb3b7c089c212adecf7bba6c3ec
+13eef80ff96615a70a13dea80a13eea90a43fb1d15460af7bffba415470a0e81b3f8
+bfb3aceb12adec4bebf7cfeb4aec13e8cef95615ad0a13e4f82f16ad0afb3ffb0d15
+13f2460af7bffba415470a0ef72df7cf01f737f7cf03f7f7f7ca15f70ff70f68aefb
+0efb0ffb0ef70f6768f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050e81b3f8
+bfb301adecf80eec03cf7f15ff003c999aff0047199a05ff00328000ffffd2ccccff
+00429999ffffe8199aff00484ccd8bf08bdbb9bdd5afc1a0c48be78bff005b6666ff
+ffe43334ff004a8000ffffd19998ff00354cce08ff00373334ff0040cccc0589997c
+99788b08ffffcbe6664e05ffffcf199aff00279998ffffc16666ff00156668ffffba
+999a8b318b3c635944635272528b218bffffad3333ff00178000ffffbc8000b2ffff
+cdcccd08ffffbf8000ffffb48000058e7d997b9e8b08f783f8e915ff0039b3348bff
+00329998ffffe59998ff00243334ffffce199c08fffeda999afffea8cccc05ffffee
+e666ff0028999a81bc8bff0037e6668bf752ebdfdb8b08ff00a8e666ffff89b33415
+a0ffffd28000ff000c199a518bffffbacccc8bfb384227278bffffc4b3348bffffc7
+7fffff00208000ffffd96667ff003acccd080e81b4f8b9aef37601dbe8f7dcc003f7
+41f88115590af2f8c615a40a0e81b4f8b9aef27601dbe8f7dcc003f741f88115590a
+f77cf8c715a50a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af757f8bc15
+a60a0e81b4f8b7b0b8e901e4e0c5e9bde9b2bc03f7ce8115f751c2f70df73d1ff76b
+078bda988cc88e91918ba485916d8a5f8a748b748bffffee199a8dffffe5e6668b78
+8b88709a81ae84987e8b4c08fb7c072177fb12fb2d1e5b8b6b9d6ea756bd8bce8bc9
+08f783078bc79b9daa90948d8cae7d8b728a788a628b648b5f8c668c85858b729185
+c7889c8a8b3c08fba307fb56f71c63e41e39f96115b00af72416b00a0e89b0f8b3b0
+f37601f7b0e803f80df70e155d0aa2f94e15a50a0e89aaf705ab74a7f7a8b170aae1
+ab12f71ee0f795e81397f773f85b1513cfa091da909e8b08c6da71fb06fb0f376e43
+1f13b7658b558d828e084c04ae0713cf9a86c387ae8b08f746cdf705d2ce5ef3fb4d
+1f1397788b4a8967890813af8f078bda9c8fd18e91918b9f85915a8a6d8a588b598b
+6e8c598c85858b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8c
+a98cbe8bbd8ba88abd8a91918b9e8591458e7a908bda080e81b06eb0f82cb0f749b0
+12f70fe3e4becde676e8137ef70ff712158b387f86528885858b729185b58ca98cb9
+8bff0021e6668bff000a199a8ab68a91918ba4859167907f8e8bde08f7da07f700ab
+f0f3c09c6a551e8bffffc780006effffc880004760087e0713bddf4bde2e8b2e0830
+56656d746dff00013333ff0018cccd1e8b9793948b9c089f8395777b7c787b5f9f57
+dfe7dfd9f41e8bf708fb0aff0050333439ff0031cccc088d07137eff00478000ff00
+2c8000ff00388000ff004380008bc108bb5bca233cfb2e5dfb3986fffff4199a89ff
+ffdbe6661e7e8b836c918508be06948e87831f0e81c353b8f833b312cbee4fe9f76f
+e01374f832f78e155f0af705fb401513ac600a1374610a26f93615b10a0e81c353b8
+f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a53
+f93615b20a0e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15
+b40a1374b50af705fb401513ac600a1374610a0e81c353b8f833b3eec089c212cbee
+4fe9f76fe03da6133080f80cf91615a70a132880a80a133080a90ab1fc1c15b40a13
+6400b50af705fb401513a300600a136500610a0e81c353b8f833b3f6ea12cbee4fe9
+74e9e0e96ce0133200f742f91815b60a133100f74716b60ac8fc1e15b40a137800b5
+0af705fb401513b480600a137880610a0e81c353b8f833b3c6abf5ab12cbee4fe99a
+b3ebb3a7e0137dc0f832f78e155f0af705fb401513bbc0600a137dc0610a23f90c15
+ab0a335615b70a0e81c155baf760acf747b012a4de51d8f732d8f739e0137bf792f8
+4015a17093648c333984ffffbcb333fffff8e666ffffd84ccdffffe2199affffd233
+33ffffdd8000ffffe6cccdffffdc80008b5e8b5da766ac75a07db685ad8bae8bb69c
+b7bf089699ff0005b334ff00053333ff00064cccfffff4cccd0813b7a262ae67d68b
+ca8bc7b7a7c788918395838c6f64646f588b448b60ef8beff7648eb5be8bdc08b16b
+d4fb001e558b596f6c5968d6478e748b083d385b4a75946fa8a3a09d9d1f8b938a93
+898f898e8a948b968babb09ab08b089f8b9e83997a08aafb4f158b538a6687760813
+7b7d5e625e6d8b568b69ae8bbb8ba49ca4a29fa8a4b59fcd9108d9af1593eaaedccc
+8bb98b955c8b6d8b57785efb2589080efb5ca8d6abc1c1f829b401d7e6f735c9d4ec
+03f8d7f70015b80a0e81bdf76bb4f72eb301d9ebf7bfef03f7c3f96d15b10afb56fb
+c715690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7f0f96d15b20afb
+3dfc4515690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0a0e81bdf76bb4f72eb3f6ea12d9eba9e9e0e987ef
+13fcf760f91815b60a13fef74716b60afb60fbf015a2f70cdaadcb8b0813fdb90aed
+fb53156a0a0e89b0f81fac01f7b9e203f810f71a15ba0a3ef8e715b10a0e89b0f81f
+ac01f7b9e203f7f0f96d15b20aabfce715ba0a0e89b0f81fac01f7b9e203f7e5f966
+15b30ab6fce015ba0a0e89b0f81facf71aea12f760e986e28ee913f4f760f91815b6
+0af74716920a13ec88fc9215770a0e81b3f839b2f74fa001cfeaf7c0e803f85df94f
+15ffffa5b334ffffca800005ffffddccccff0013cccc5fff0012999cffffc68000ff
+000e1998087b7605ff002c3334ffffedb334ff0021e666ffffec4cccff001ae666ff
+ffeacccc08ffffac4ccdffffce6668ff001fffff75ff004f199aff002f199805ff00
+228000ffffdce668ff00143334ffffd8e664ff0011e666ffffd3e6686f96658f6e8b
+0830fb3a4bfb55fb08effb13f71ef710f712e2f7501f8bf7375aff005a33344eff00
+40ccccfffff3cccc98fffff0ccceff000e1998ffffecb332ff000e199c08ff0058b3
+34ff0034cccc05fb37fd1b153c38eaf713e0bbf706f7041fbb8bbb76a56b985b905a
+8b5808fb493564571e0e89b0f825a771bfeec089c212f708e2f782a672e21396f81e
+f91615a70a138ea80a1396a90afb4afb9115bb0a13c5bc0a13a5bd0a0e81b4f836b4
+01c7ebf7dceb03f7c3f96d15b10afbcdfc09157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7f0f96d15b20afbb4fc87157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b4f836b4
+eec089c212c7ebf7b1a69beb13eef81ef91615a70a13dea80a13eea90afbe2fc3015
+7e0af785f76f157f0a0e81b4f836b4f6ea01c7ebb1e9e0e99ceb03f756f91815920a
+f74716920afbcdfc32157e0af785f76f157f0a0eff003e999aff00704cccff002e19
+9ac7ff003b999aff00704ccc01ff01164cccf70603f8cff7ad15990afffedb4cccff
+ff5dcccd15ffffe1cccea571aaaaa5a5ff001e3333ff001e333371ff0019e6666c6c
+71ffffe6199affffe1cccd1ef7aa04ffffe1cccea571aaaaa5a5ff001e3332ff001e
+333471ff0019e6666c6c71ffffe6199affffe1cccc1e0e81b4f836b401c7ebf7dceb
+03f893f88c15ffffd5b334ffffcccccc05ffffda1998ff0017199affffcf4cceff00
+0e199affffc2e6668b3a8b496d5e5b5f5b724b8b458bffffc0e666ff0019cccdffff
+bd3334ff0034b333ffffd0e66608ffffd2800054058d7a937f9d8b08ff00318000ff
+003c199a05ff0026e666ffffe7ccccff00316666fffff1199aff003c33348bda8bc7
+a4b5b0c3bca3d28bcf8bceffffe86668ff0048e666ffffc7ccccff0031b33408ff00
+27ccccff003066660587998597788b08fb665415be8bff002a199affffef8000ff00
+1eccccffffdf333408ffff163334fbaf05ffffe6e666ff002bcccc81ff0034b3338b
+ff0029cccd8beeff001ce666eaff0074199a8b08ff0093b334ffffae199a15ff0016
+e66663ff000c6666ffffc94ccc8bffffba999a8bfb23376e4c8bffffc9e6668bffff
+d84ccdff00154cccffffe3e667ff001f199a080e81ba84a6f818b012ff006f8000e2
+f784e21338f7c3f96d15b10a13b8ffff818000fcf9158a0a13788b0a13b88c0a0e81
+ba84a6f818b012ff006f8000e2f784e21338f7f0f96d15be0a13b8ffff9a8000fd77
+158a0a13788b0a13b88c0a0e81ba84a6f818b012ff006f8000e2f784e21338f7e5f9
+6615b30a13b8ffffa58000fd70158a0a13788b0a13b88c0a0e81ba84a6f818b0f707
+ea12ff006f8000e2ffffea8000e9e0e9fffff48000e21334f745f91815b60a1332f7
+4716b60a13b9ffff928000fd22158a0a13798b0a13b98c0a0efb7cdbf8e9b001f7f0
+f96d15b20a41fe0d158f0a0efb7eacf753b1f82fbef72ba9a67701f706daf79eea03
+f753f7d615d9e8b2b01ea78ba8819c7abb5b9b4b8b488b2a5ffb00fb0a8b7b8b638c
+6ca67e9785928bae083ef85515fd31078b3880864e8885858b769185b58cff001a4c
+cd8cff002bb3338bff002f33338bff001ecccd8ab68a91918ba08591448f80ff0003
+999a8bff0053666608ef078baa947f9786a282af86a98bc68bcaa1b6b6bdbdafcf8b
+e58bf7092af702fb008b528b576d6f6e087a7a898a8ba408f72507ff004180008fff
+002780008b1e92878e821e7281407d638889838d7b9185bf8897908b37080efb7cdb
+f8e9b0f707ea01f760e9e0e903f760f91815920af74716920afb01fdb8158f0a0e89
+b0f756b3f7f877eebd01f846f95415bf0aacfc47152c0afb8ffb52152d0a0e81c353
+b8f833b3ebbd12cbee4fe9f76fe01332f83ef8de15bf0af768fbe415b40a137ab50a
+f705fb401513b6600a137a610a0e89b0f756b3f7f877e1bf01f74aa7f76ca703f787
+f7a1152c0afb8ffb52152d0af7c9f96915c00a0e81c353b8f833b3e5c412cbee4fe9
+75a6f76ae038a6133280f75ef96b15c10af768fc7115b40a137800b50af705fb4015
+13b500600a137900610a0efb5cb1f734b0f756b3f7f87701f813c903f8d9fb1b1587
+92858f828b75757b7b6e8b08667ea0a5b9bcced21ffffffeb334ff0001999a05ff00
+169998ffffff99999fffffff6667ff0012b334ffffff666691918ba48591648e828d
+79b908fb62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78c
+ff00224ccd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff
+0026b33408b8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b7291
+85ff0018e666ff0000b333acff0000999aff001eccceff00006666ffffc3cccc70ff
+ffdc8000ffffc6b3338bffffd6999a8b55b177bd8bb48bb39fa8b808fbe6f828152c
+0a0efb55b1f725b8f833b312cbee4fe9f76fe039c913f0f832f78e155f0af705fb40
+1590ffffde199a976cff0044b334ffffffe6660813e2ffffd3e666ffffdd4ccdffff
+e26666ffffdbcccd8bffffd9e6668b55b177bd8bb48bb39fa8b88792858f828b7575
+7b7b6e8b668b7ea08ba5088bff00273333ff0018b334ff001d0001ff002d9998ff00
+274cccff0026e668ff000d8000ff0014cccca38b938b938096858b838b8779708b59
+8bfffff2ccccb8ff00023334bd0813ec92f73505ff0009ccccff009d8000ffff9c33
+34ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e8a928b
+9708aec897bcc1c26ffb0e1e8b838486888a08fb16750513f2610a0e81b4f8c0b1e8
+7601aeecf83fab03f7f68115320ab1f9d115a50a0e81c1f829b401d7e6f7bcec03f7
+f0f96d15b20af77bfd0115640a0e81b4f8c0b1e27601aeecf83fab03f7f68115320a
+a1f9c715a60a0e81c1f829b401d7e6f7bcec03f7e5f96615b30af786fcfa15640a0e
+81b4f8c0b1d7f301aeecf740f3f72bab03f7c4f98515c20abdfd8f15320a0e81c1f8
+29b4eff70701d7e6f0f704deec03f7a0f91e15c30af7cbfcb215640a0e81b4f8c0b1
+e87601aeecf83fab03f7f68115320a76f95715c40a0e81c1f829b401d7e6f7bcec03
+f7bbf8dc15c50af7b0fc7015640a0e89b0f8b3b1f17601e4e8f7d2ec03f74ae01533
+0a61f8a415340af72bdf15c40a0e80bf80a6f81cb3a69fdbdd52a912c7e5f7b8e2f7
+14ad133b80f909f94e15687b727b7a9573b3ff00183334ff0004ccccff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c1998ff0010e668ff0010e668
+ff001519989b9f92a18ba308af74b0641efb4ffcc4158b7689837b7d0813b3806267
+57796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea28bb58bc07ea1719b798e848b
+68087ffbba15660a137b80a19db5ff0010199ad6ff0005e66691918b9a859140ff00
+09199a83ff000ee6668bbc08f85907cc8fb38b1e92878e821e13b7807281247d6388
+89838d7b9185d3fffffd199897868bffffb5e668083d07838989831e878b449d648b
+3d8b58735b61585b6d498b388bfb1dde27f7138bb98bc6a1c2b8080e89b0f790b3f7
+8fb101e4e8f7d2ec03f74ae015f75ef70d07ff000c4ccc8dff000ab334ff000fcccc
+8bff0009999a8bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc08fb
+17f75f06acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61f8a415ffffd0cc
+cd8bffffe433338c5d8c85858b72918508c795833c1ffb3856077ffffffdb33482ff
+fff14ccc8bfffff666668bfffffa66668efffffa3334948908c9fb39063c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080e80bf80a6f81cb3c1b3c5a9a67712c7e5f7b8
+e213bff84ef71e15650a7ffbba15660a137fa19db5ff0010199ad6ff0005e6669191
+8b9a859140ff0009199a83ff000ee6668bbc08f831c107ff000c4ccc8dff000ab334
+ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff00
+014ccc084b06cc8fb38b1e92878e821e7281247d638889838d7b9185ff003f4cccff
+fffd8000ff0010e668fffffbccccff00033332ffffccb33408ffff82999a067fffff
+fdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f71b4d06
+838989831e878b449d648b3d8b58735b61585b6d498b380813bf680a0e8bb2f7a0af
+f77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb3ebbd01
+d9ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0a0e8bb2f7a0aff77ab3
+d8bf12f70ee844a7f76ca789ace4ac91ae13f9c0f7d7f7eb15fb00f75006a2979ea3
+1ef74006d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b
+08fbe8068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a8645888585
+8b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768
+543f8b08fb5506757d9aa51ff777f70007e08b8e758e609185a08b919189ab8bff00
+1333348bff0020cccc8babff0000b334ff0016b334ff00014cccff001b4ccc859176
+8b8585088857887e368b0813f6c0e8f86015c60a0e81bdf76bb4f72eb3e5c412d9eb
+aaa6f76ca689ef13fef77cf96b15c10a56fc4315a2f70cdaadcb8b0813fdb90aedfb
+53156a0a0e8bb2f7a0aff77ab3e3f301f70ee88ef3e7ace4ac91ae03f76ef98515c2
+0af4fc2e15350a0e81bdf76bb4f72eb3eff70701d9ebeff704e2ef03f7a6f91e15c3
+0a2cfbf615690aedfb53156a0a0efb5cb1f736b2f7a0aff77ab301f70ee8e0c9bfac
+e4ac91ae03f886fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+fe999aff0001b33305ff002c199affffff7fffff00304cccfffffecccd8b8b99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f70007e08b8e758e
+609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016b334ff
+00014cccff001b4ccc8591768b85858857887e368b08fb00f75006a2979ea31ef740
+06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8
+068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a86458885858b7291
+85bc8cd28c8b8b08ff00f1666606ffffc36666ffffe5199affffdc3334ffffc68000
+8bffffd666668b55b177bd8bb48bb39fa8b8080efb5cb1f72cbdf76bb4f72eb301d9
+ebf71bc9f1ef03f88ffb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002b
+999aff001d4cccff001de666ff003fb334ff0034e666ff002c4cccff0011199aff00
+25e668ff001a4cccff001bccccff00203334889686957c8c085c605771408bffffbf
+cccc8bffffc33334a162c572b17faa8bcd08f80b0699959c97e953f704fb3efb1efb
+172cfb3d1f8b4da04eb461b55ed871e38b9c8bff0010999aff00014ccdff00103332
+ff00026666ffffcc3334ffffda199a67ffffd833338b618b55b177bd8bb48bb39fa8
+b808fbdcf84315690a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7
+f7eb15350a7cf7f615c40a0e81bdf76bb4f72eb301d9ebf7bfef03f7cff8dc15c50a
+fb1cfbb415690aedfb53156a0a0e81b1f766aff7d0aee17612aeecf7e8e967ae13fc
+f7fbf90515370a13fa380a99f74b15a60a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139060f7c7f96615b30aeafc2e15235579591e139960c7
+0afb6ffbd61513d2606d0a13b2606e0af7faf84f15a09f9fa11f1395606f0a13b960
+700a13b0e0710a13b260720a13d4e0730a139960740a0e81b1f766aff7d0aecfbf12
+aeecdfa7f76ca77be967ae13fd00f7fbf90515370a13fc80380a13fe00f715f74915
+c60a0efb81b0f74ccb4fcfecb0f79bb073bdcbc412cbd85be643c671a6f76ca67ee4
+a6cb139234f740f96b15c10a139a8cf77afc33156c0afb6ffbd61513d3046d0a13b3
+046e0af7faf84f15a09f9fa11f1396846f0a13ba84700a13b244710a13b304720a13
+d64c730a139a84740a0e81b1f766aff7d0aee1f312aeecf740f3cbe967ae13fcf7c4
+f98f15c80ac2fb1e15fb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb70813fe
+819486928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86
+858b739085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7
+081f13fdf7168ba941a239978a988c959183b386bb85cf558b74a8fb028b080efb81
+b0f74ccb4fcfecb0f79bb073bdd5f70712cbd85be643c6caf704c3e4a6cb139238f7
+7ef91e15760af73cfbe615235579591e139ab8c70afb6ffbd61513d3386d0a13b338
+6e0af7faf84f15a09f9fa11f1396b86f0a13bab8700a13b278710a13b338720a13d6
+78730a139ab8740a0efb76a3daddaab1f766aff7d0ae12aeecf79eb2aee967ae13ff
+00f7fbf90515370a13fe80380a9bfd2e15c90a0efb81b0f74ccb4fcfecb0f79bb073
+bdb9dddb9f12cbd85be643c6c1adf723e4a6cb139b5cf826f7cc156c0afb6ffbd615
+13d39c6d0a13b39c6e0af7faf84f15a09f9fa11f13975c6f0a13bb5c700a13b33c71
+0a13b39c720a13d73c730a139b5c740afb92f71515ae9ba49b9c81a363ffffe7cccc
+fffffb3334fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3e6
+66ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0e89b0f7a2b3
+f77db0e97601e7e5f7a8e503f7e6f9ba15a60af766fd4015390a0e89b0f823c3f72b
+a9a67701f706e2f789e203ff01854cccff02dde66815fffff66668ff00033330ffff
+f66666ffffff3334fffff66666fffffd999cffffe5e666ffffcfb330ffffd6999aff
+ffc74cd0ffffdf999a61ff00056666fffff68000ff00084cccfffff9ccccff000819
+9afffffde664ff0023199aff0017199cff001bb334ff001c6664ff001cccccff0021
+999ca6ffffdf8000ff001d8000ffffe49998ff00223334ffffe6ccccff000866668d
+ff0009ccccff00088000ff00048000ff00074cd008ffffdf999ab5ffffd86666ff00
+37b330ffffe5e666ff00314cd008ffff43b334fffe5efffe15750a0e89b0f7a2b3f7
+21acc6b001e7e5f7a8e503f8b8f70e15f800e3acffffa8333407ff00018000ff0033
+3334ff0009ccccff00044cccff003d8000ff0003800091918ba48591608a568a738b
+738b5d8c5f8c85858b729185ff003db334fffffd6668ff00081998fffffc80008cff
+ffcb199808fffeed666806ff00016666ff00343334ff00098000ff00043334ff003b
+e666ff0002999891918ba48591608a5d8a718b6b8b5f8c608c85858b729185ff003f
+6666fffffd6668ff00088000fffffbcccc8cffffcbcccc08ffffa4199a6ae7068afc
+0005ffffffcccd3cfffffe333387448785858b729185b68cb98caa8ba78bb78ab58a
+91918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b729185b48c
+b78ca98ba88bb98ab78a91918ba48591458e88908bda0831f80015fb21fba807ff00
+00e666f721050e89b0f823c3afbdcca9a67701f706e2f789e203f75dff013ce66615
+8bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00
+1466668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d
+08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88a
+b68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b3
+34ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc
+3334fffff99999fffffccccc8b9908ff0000999af712ff004133338b059896a09791
+8796811f409206ff00004ccdccff0003b333b38b8b8b92878e828b72812a7d638889
+838d7b9185ff00413333fffffe3334ff000b3333fffffb9998ff00016667ffffc533
+3408ffffad3333068080777f848f80941fe7fc28068b387e89ffffbd33338985858b
+729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff001e19998a91918b
+a48591ffffcd33348f828c8bdd080e89b0f8b3b1dec089c212f7ade8bfa613ecf80f
+f98415a70a13dca80a13eca90a86fd0a153a0a0e89b0f81facf712c089c212f7b9e2
+c8a613ecf81ef91615a70a13dca80a13eca90a7dfc9015ba0a0e89b0f8b3b101f7ad
+e803f80af70e153a0a0e89b0f81facf70fbd01f7b9e203f83ef8de15bf0af746fc58
+15ba0a0e89b0f8b3b1d7bf01f755a7c7e8caa703f80af70e153a0ae6f93f15c00a0e
+89b0f81facf709c401f74da6dce2bba603f768f96b15ca0af73cfce515ba0a0efb5c
+b1f734b0f8b3b112f787c973e813f0f84dfb1b158792858f828b75757b7b6e8b0866
+7ea0a5b9bcced21ffffffeb334ff0001800005ff00278000ffffff999aff00236666
+ffffff8000ff001c6666ffffff666691918ba485910813e8fb268f84918bd808f805
+078bd89091f7288f91918ba585915a8affff97800089ffffd180008b5f8b228d598c
+85858b719185f7278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48c
+d98b08ff000b66660613f0ffffc36666ffffe5199affffdc3334ffffc680008bffff
+d666668b55b177bd8b08b48bb39fa8b8080efb5cb1f734b0f81facf713f70712f771
+c982f7042ee213faf837fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced2
+1ffffffe999aff0001b33305c5ffffff9999ff004afffeffffff6666ff001d6668ff
+ffff4ccd91918ba48591558d269780937c95889e8bbb08f782078bff0043cccc99ff
+0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348bffff
+f4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7ccce
+ffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef80008f83
+ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff000980007fff
+000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185ff0024e6
+66ff0000e666ff0079ccceff0000e667ff003b9998ff00003333ffffc38000ffffe5
+199affffdc3334ffffc666668bffffd680008b55b177bd8b08b48bb39fa8b80813f4
+fb25f9a515760a0e89b0f8b3b1e0f312f7a6f32ae813f0f7a6f98515c80a13e8effd
+0b15ae0a0e89b0f81fac01f7b9e203f810f71a15ba0a0efb37b5f70baaf8beab01f7
+0ee8f775e803f8a9f885158bda9c8fc78e91918b9f85915a8a708a5b8b538b668c59
+8c85858b779185db889c878b3c08fc3807fb3f5b706a1e7d8b7d9284958198879f6c
+8b087d6d777669c07aa11fb88baa92b4acb7aec9bd8bf71c08fbd29d15f811078bda
+9c8fd18e91918b9f85915a8a6a8a578b578b6c8c598c85858b779185d1889c878b3c
+08fc11078b3c7a86458885858b789185bc8cac8cbf8bbf8baa8abd8a91918b9e8591
+458e7a908bda080efb74b3f74ab0f81facf713f70712f72ef7042ee274dbf711f704
+2ee213f100f84ef91e15760a13f280f5fcca15f7b4078bcf939b8ba38b918492848b
+808bffffcfe666fffff74cccffffe5199afffffab3345d826f875f8888838c7a8f83
+d589a289948008957f907e8b7108fbcc07fb4887534d1e618b75a67db583a1809576
+8b7a8b74768b738b779677a078a575bf7cb18b08f707bbc7f78c1f13f400fbb4bd15
+f782078bff0043cccc95ff0010b3348bff001780008bff00068000fffff8ccccff00
+068000fffff933348bfffff4cccd8bffffe7cccdfffffbccccffffe59999fffff919
+9affffddcccdfffff7199a6a865c8688fffff780008cffffef80008f83cb88ff0007
+3333ffffff199aff0008cccdfffff4e66608ff000980007fff000180007e8b7108fb
+7a078b5c87787d808083677f5a8985858b729185b58cd38cb88bb58bc88ab68a9191
+8ba4859108558d76978093087c95889e8bbb0813f80021f89815760a0e81b6f8b5b0
+eb7601f7d7e803f834f87b153b0a6ef8a415a60a0efb30b5f8b4ac01f7fde203f82e
+f96615b30ab1fcb815cb0a0efb76a3daddb2b0f79ba7f790b001f700e8f742b203f7
+5df70e153c0af72bfb3715c90a0efb76a3daddb2b0f82eb0f733a9a67701f70de2dc
+b203f70df71815780af725fcec15c90a0e89acf826a77caf937712f71ce213a8f773
+f70e15f70407a28a9b8a968797839681987908ddfb0205ac5f95798f7a8c888c898e
+8ba18c988cad8bae8ba28aad8a92928ba28492658f6f906db108fb28f74e05879087
+8f8b918b8f8b8f8f8f08eef005adafb295b88f92928ba18492628a7a8a638b608b71
+8c628c84848b759284ca877063817e08716b68646e7671786c7d768908f607bd8fcb
+8b1e13d88f868e831e6f803d82468289858d7b8d85ac88ba88937c90818d7c8b7508
+fb87078b678976837e817b5b89698885858b769185b58cff002c999a8cff00376666
+8bff0026999a8bff001166668ab68a91918ba08591086190818e8bde080e89b068bd
+f8a4b0f27612f72ee8f7c8ae137cf75916f78c0613bc3d0a137c3e0a13bc3f0af4f9
+c715a50a0e89b0f8efaca67701ff011e8000e203f7f5f9e315a50affffbd8000fd62
+15790a0efb76a3daddb2b068bdf8a4b012f72ee8f2b2f73aae13dff75916f78c0613
+ef3d0a13df3e0a13ef3f0af7166215c90a0efb76a3daddb2b0f8efaca67712ff011e
+8000e2ffffe38000b213faf7d66215c90a13fcffffdc8000f73e15790a0e89b068bd
+f8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8
+efaca67701ff011e8000e203ff011e8000f71515790a0e89b068bdf77df3f753b012
+f72ee8f1f3f1ae133ef7f1f7e315c80a137efb2cfbe315f78c0613be3d0a137e3e0a
+13be3f0a0e89b0f7aaebf779aca67701f2eaff00588000e203f2f7fc15739d74a9a6
+9fa1a4a673a174707673721eff00b78000fb7b15790a0e89b068bdf8a4b012f72ee8
+f7c8ae13b8f7e8f83f152effffcd66668bff0072999a058bda9c90d18e91918ba485
+91638affffd780008affffcc80008bffffcb4ccd8bffffd6b3338c628c85858b7291
+85d1889c868b3c088bffff5accccfb0bffffbf33349d6ef0c28bfb39058b3c7a8645
+8885858b729185081378bc8cdc8c8b8b08f78c0613b83d0a13786ffb1f77632e8b08
+fb0c066e799ca81f8bff00f1999af703ff003c6666050e89b0f8efaca67701ff011e
+8000e203f845f84a15ffffc48000ffffdd199a8bff00b3e66605cc8fb38b1e92878e
+821e6681fb0b7d638889838b789185ff002880008bff00254ccdffffff4cccff0016
+b333ffffed3334ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc08
+8bffff46199affffa58000ffffcae6669c6eff00498000ff002acccc8bffff483334
+058bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333fffff84cccffffe5
+cccdfffffeb33485858b729185b58cff006866668cff005d999a8bff005a199a8bff
+0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff0008cccd80927b95
+fffffc80009d8bbc088bff00ea8000ff004c8000ff002c8000050e967693b0f8b3b0
+f37612e7bcf800bc137cf88df87515440a13bc450afb0ef7e715a50a0e89b0f825a7
+71bf12f708e2f784e21398f7f0f96d15be0afb1cfbe815bb0a13d8bc0a13b8bd0a0e
+fb76a3daddbf7693b0f8b3b012e7bcf784b2e0bc13dff88df87515440a13ef450afb
+27fc9e15c90a0efb76a3daddb2b0f825a771bf12f708e2f72bb2bde213f7f768f819
+157c0a13ef7d0af70bfc4215c90a0e967693b0f8b3b0f27612e7bcf800bc137cf88d
+f87515440a13bc450afb42f76c15c40a0e89b0f825a771bf12f708e2f784e21398f7
+c5f8dc15c50a2efb5715bb0a13d8bc0a13b8bd0a0e89b0f825a771bfa59fdbdd12b0
+adc5e2f784e2139f94f94e15cc0af76cfbc915bb0a13dfbc0a13bfbd0a0efb37b5f7
+0baaf8b3c061ab12f5e0f7bde013dcf74af8fb15828a7f8a7e8b598b6e8c598c8585
+8b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8ca98cbe8bbd8b
+a88abd8a91918b9e8591458e7a908bda08f7c8078e9b939792930813ecc0c7cdbfae
+8bb58bad81a466a3688b438b2b08fb8907fb3f57706a1e7d8b7d928495819787a06c
+8b087d6d777669c07aa11fb88baa92b4acb7aec5c68bf71c08f762078bf71283dc65
+ba6bb2619e528b4b8b3f545340088b8584881e9c07c98fb18b1e92878e821e0efb73
+b7f745acf829a771bf12f708e2f78fe213ecf75ff82d158bb3fffffcb333ff0019b3
+34fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f
+806682468289858d7b8d85c18696868b5108fb8a078b3981874f8685858b769185b4
+8ca58cb68bb28ba58ab58a91918ba085915890828f8bdd08f76b078ba09497939408
+13dcb1b0d7a1b28bff002680008bff00073334fffff6ccccff00134cccffffe53334
+99ffffec80008dffffe480008b6d08fb8d07fb188ffb0f591e808b7e8f849281957f
+9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf75108f768078bc8ffff
+fd8000ff00278000ffffe38000ff00218000ffffe8e666ff001b3334ffffdc199aff
+0006cccc638b5a8b327e4e4708888785818b99080e81b3f8bfb3f713bd01adecf80e
+ec03f83ef98415bf0af4fb3b15460af7bffba415470a0e81b4f836b4ebbd01c7ebf7
+dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0a0e81b3f8bfb3cebf01ad
+ecc4a7f76ca7bcec03f7c7f8dd15460af7bffba415470afb26f88015c00a0e81b4f8
+36b4e5c401c7eba8a6f76ca6a8eb03f768f96b15ca0afb2cfc85157e0af785f76f15
+7f0a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415470a24f873
+15cd0afb179015ce0a0e81b4f836b401c7ebf7dceb03f87ff97a15cf0afb189115d0
+0afbbffc9a157e0af785f76f157f0a0e89ab6db0f7aaacf777b112a1e9f74de0f727
+a4a4a684a613be00f78ca915246edff759f75fa9cdec1f9406b196856e1ffc710770
+8280631e7f6b15137e808bcb8db41ef7ab8b91f72c7090057c4682584a8b082f0675
+7d90a51ff78be907ad8b927d917008916d05878e89901ea28b8d8d0588a986a88bac
+8baa91a88da9088d8a8d891e7506878887871f846f058470877c678b082df75806a2
+9793a31ee30613bf00bf8b9953926208a68e91f718fb458b2e8b0560498c8b1ffb4e
+6efb21fb3f1f8bfb3fa9fb18f7508a080e81bf57b2f78bb7f71aaf12a3dff751def7
+2ede137ef7e7f8181576c071bc2e8b082e3934fb41fb1dd124f11fcd8bb5b2a9c708
+13bea357b35cd88bdb8bb2c59dac87948592828c716658786b8b6a8b44bf8bf7298b
+968b978c9508f78006f7165fdf281e528b5862704e08fb7bfb1015d896f705dab0c9
+4ffb3f1e137efb315966643d75f704f70f1ef83ec315fb2b068d9da6f707c78bc18b
+92348c5d080e967692a671b0f785acf7a1b4ef7612efe8f78aef131ff7bcf8d6154c
+0a24fc5c154d0a139f4e0a135f4f0a133f500af71ff94e15a50a0e89b0ff018c8000
+ff003a800055a712f76ae21390f804f96d15be0a48fbd715d10a13b0d20a13d0d30a
+0efb76a3daddbf7692a671b0f785acf7a1b412efe8f720b2ceef13c7c0f7bcf8d615
+4c0a24fc5c154d0a13e7c04e0a13d7c04f0a13cfc0500af709fb3715c90a0efb76a3
+daddb2b0ff018c8000ff003a800055a712f76ae280b213ecf7c1f82a15830a13f484
+0a69fc53156e7678731f8b70a4829c880813e29d8998878b778b7971735a808b828d
+829185c494bca98bc708bf73ad651e0e967692a671b0f785acf7a1b4ee7612efe8f7
+8aef131ff7bcf8d6154c0a24fc5c154d0a139f4e0a135f4f0a133f500abef8d315c4
+0a0e89b0ff018c8000ff003a800055a712f76ae21390f7bbf8dc15c50a91fb4615d1
+0a13b0d20a13d0d30a0e81b1f8c4b0e97612c8b380dff7bdef3db313ecf893f8eb15
+510a13f4520a13ea530afb25f77115a50a0e81b08676f858b012e3b671d6f7b7dd42
+af1320f7f0f96d15be0a1374fb98fcdd15850a13ac860a13aa870a13b4880a0e81b1
+f8c4b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb47
+f76c15a60a0e81b08676f858b012e3b671d6f7b7dd42af1320f7e5f96615b30a1374
+fb8dfcd615850a13ac860a13aa870a13b4880a0efb5ca8d6abff00366666ff002599
+9af8c4b012c8b380dff72ec9dcef3db313f700f7bb2b15a2957d7671767d6d1f778b
+808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff
+00154cccff0039199a05ff0033e668ff00013333ff00333332ff000ae666ff002799
+9aff0013cccdd0adb8bf8bce8bf70635befb0797ffffb3800093ffff888000af8bdb
+8bd1ceb5d28b0813f680f70a8bb255a34c998b9a8a969287b985a57fbd45938b9dfb
+0a8bfb0f8bfb025c8bfb138b26ff006a199a4fff006ce666800813fb00ee81ce718b
+268b3e50662a8bfb058b41b070ea7c8f7d89808690429072995cff0045cccd8bff00
+241999ffffed6666ff0059199a880867ffffa9999a9185059b90958c9e8b080efb5c
+a8d6abe176f858b012e3b671d6f728c9dcdd42af13f700f7bb2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccc405ff0085e668ff0000199aff0068ccccff002880008bff0072
+66668bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff00118000
+ffffbb8000ff001280008bc38bb6bdace78b0813f680870a13fb00ff008e800073ff
+002a8000768b5b8b545065278b528b5d96799a6ea473bd84a77d8d778682828f5498
+5c9d6208978d9b8d918b938b99ffffff333393fffffdcccdff000eb33387affffffa
+cccdff002a80018908ffffdbccccffffa933339185059b90958c9e8b080e81b1f8c4
+b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb62ed15
+c40a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63fc
+4c15850a13ac860a13aa870a13b4880a0efb5ca8d6abc9b0f851f7205fb0129badf7
+74e864c9f75cad13ed80f7bb2b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce8e8b05ff00476666
+8bff003d999a8abd8a91918ba485910813ee80fb0c8d7a918bda08f7f907c895afaf
+1ea706d68bc4729c42968b998c948f84b786bb8ab60813f680550a13ee80560a13f6
+80570a13ee809fd7c3a4cd8b08ae06b09567511ffbfc078b3c7a86fb0c8885858b72
+9185ff00286666ff0000cccdff0032199aff0000cccdff00388000ff00004ccc0863
+ffffa0199a9185059b90958c9e8b080efb5ca8d6abc1c6f7efb701f750e2ff003d80
+00c903ff012f80002b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff0039999a05ff0006
+3334ffffff9999ff00064cccffffffcccdff000680008bff003a80008bff00438000
+aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd480008b085858
+9ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb38b1eff000666
+6888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668fffff04ccd
+fffff966647afffff8e66872898b818bfffff466688effffd499988bffff91199a08
+28ffffffe666057d877f831f7907868c8a8f1ef704fb95068bffffa73333ff002980
+00ffffd66667c8fffff280000865ffffa4e6669185059b90958c9e8b080e89b0f851
+f7205fb0f476129badf774e8f773ad13bef803f70e15540a13de550a13be560a13de
+570a13be580a59f8d315c40a0e81c6f7efb7d79fdbdd01b0adf709e20394f94e15cc
+0adbfb9615890a0e89b0f7a8b2f716f7205fb0129badf774e8f773ad13def803f70e
+15f751f7140797949a96908893821ffb1df71506c895afaf1ea706d68bc4729c4296
+8b998c948f84b786bb8ab60813ee550a13de560a13ee570a13de9fd7c3a4cd8b08ae
+06b09567511ffb18200782817c81858e83931ff707fb51068b3c7a86fb0c8885858b
+729185bc8cff003f33338cff0047cccd8bff004766668bff003d999a8abd8a91918b
+a4859108fb0c8d7a918bda080e81c6f758b2f704b701f750e203e4f84c157d877f83
+1f7907868c8a8f1ef704fb04ffffc280000682817c81858e83931fff004580002106
+fb04cd66e31eff003a80008bff00438000aadcb889ff000a4ccd85ff0010b333818c
+ffffc98000745375ffffd480008b0858589ff70a1fc5ff008480000797949a969088
+93821fffff728000f704f7600695998f941fa4078f888d861efb70e406cc8fb38b1e
+ff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668ff
+fff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988bffff
+91199a080e81b4f8b9aeedc089c212dbe8f7b3a699c013cef741f88115590a13eef7
+84f89215a70a13dea80a13eea90a0e81ba84a6f818b0f6c089c212ff006f8000e2ff
+00d68000a6fffffe8000e21336f802f91615a70a132ea80a1336a90a13a5ffff8880
+00fd20158a0a13658b0a13a58c0a0e81b4f8b9aef71dbd01dbe8f7dcc003f83ef984
+15bf0a6efb9715590a0e81ba84a6f818b0f3bd12ff006f8000e2f784e2133cf83ef8
+de15bf0a13bcff002c8000fce8158a0a137c8b0a13bc8c0a0e81b4f8b9aed7bf01db
+e8b2a7f76ca79cc003f741f88115590af7cbf8b815c00a0e81ba84a6f818b0edc412
+ff006f8000e2fffff28000a6f76ca6ffffef8000e21336f768f96b15c10a13b9ff00
+228000fd75158a0a13798b0a13b98c0a0e81b4f8b9aeccabf5ab01dbe8d4b3ebb3da
+c003f7e2f9c615ab0a335615b70a42fba415590a0e81ba84a6f818b0ceabf5ab12ff
+006f8000e2ff00218000b3ebb3ff001e8000e2133f80f7d4f94315a99d756c6f7a72
+6c6c7aa4a71fa99ca2aa1e335615b70a13bf80ff000e8000fd18158a0a137f808b0a
+13bf808c0a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af7e9f8ac15cd0a
+fb179015ce0a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a
+0a13788b0a13b88c0a0efb5cb1f72cb4f8b9ae01dbe8f713c9f71fc003f886fb1b15
+8792858f828b75757b7b6e8b668b7ea08ba58bff0033199aff00283334ff00203333
+ff0058ccccff0048b33308fffff980009205ff0034ccccff00336666ff0010b334ff
+005233348bff0062666608f769078bda998ec59091918ba28591678affffd980008a
+ffffe880008bffffeb80008bffffcd80008c5f8c85858b749185d3859b878b3e08fb
+7a072180fb12fb361e5d8b649e70a863b688d38bc908f781078bda9190d58e91918b
+a28591638affffd480008affffd280008bffffd880008b658cffffdb80008c85858b
+749185c58897868b3c08fba107fb56f72263e11eff0021e6668bff001d8000ff0003
+999aff0019b334ff0006ccccffffc74cccffffd8199affffd7999a618bffffd38000
+8b55b177bd8bb48bb39fa8b8080efb5cb1f72cba84a6f818b012ff006f8000e2ff00
+ae8000c9ff00038000e213bef8cffb1b158792858f828b75757b7b6e8b668b7ea08b
+a58bff0023999aff000dccccff00333333ff0028199aff001e1999ff0019e666ff00
+0c999aff0027ccccff000a199aff002ee668ff0005666691918b9a8591084b907f9e
+8bbc08f78307a98fd88b1e8e888e861e868a748a7c8b6b8b658c668c85858b729185
+ff0015e666fffffeb334ff0013b334fffffce666ff0009999a82ff000bccccfffff4
+e6668f778bffffdb800008fb76078b78fffffee666fffff6e666fffff1199afffff5
+199a0813deffffc5800060ffffc3800078728b086d5999e41ff77907a98fd88b1e8e
+888e861e868a7a8a7c8b6b8b5a8c668c85858b729185a1fffffe3334ff0018e666ff
+fffcb332ff0009999afffff6b334ff000b666680ff0004199affffec999a8bffffdc
+cccc08fb830746af48ee1eb28bff004a8000ff0013199aff00438000ff0032e666ff
+0005199aff0003e666ff0006e666ff0002199a8b848bffffe9e666ff0002b334ffff
+ee999aff0002ccccfffff44ccdffffcc8000ffffdb4ccdffffeb8000ffffc799998b
+ffffd74ccd8b55b177bd8b08b48bb39fa8b8080e9576f8e1b0eb7601f7fbf841155b
+0a31f90315a60a0e9476f85db001f7e5f96615b30aff00158000fc0115d40a0e89b0
+f8b3b0eb7601f7b0e803f80df70e155d0a7cf94215a60a0efb7cdbf8e9b001f7e5f9
+6615b30a4cfe06158f0a0e89b0f8b3b0e9eb12f75beb80e896eb13e4f818f98915ad
+0a13f4fb5116ad0a13ecf746fd0f15f70f078ba7ff00006666ff00106666ff001199
+9aff001b999a08f715f75f05a8b99c93b88f91918ba485916d8a6d8a748b748bffff
+dd80008cffffde80008c85858b729185b7889d84746608fb0dfb5905fffff74cccff
+fff1ccccfffffc999aff0001199afffff6199aff000f199a08fb12f7550572b29092
+c38e91918ba48591678a658a638b648b6a8c6d8c85858c729185b5889788af5508f7
+21fb6405ff00123334ffffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a86
+3b8885858b729185bc8cff003380008cff002b80008bb68bbd8abd8a91918ba48591
+083b8e7a908bda080e8bb1f8a8b69277f70b7612c8a91398f804f9c815a50af74bfd
+ca15d50a13d8d60a13b8d70a13d8d80a0e8bb0f827b3957712d9af1390f7f0f96d15
+be0a13b0fb77fb8315900a13d0d90a0e8bb1f8a8b69277edf312c8a9f73bf3139cf7
+96f98215c80af7b9fd8415d50a13dcd60a13bcd70a13dcd80a0e8bb0f827b39577f7
+0cf70712d9aff72af704139cf79cf91e15760a13bcfb23fb3415900a13dcd90a0e8b
+b1f8a8b69277f70a7612c8a913d8f8bb89155e0a13b8d70a13d8d80afb8ff94f15c4
+0a0e8bb0f827b3957712d9af1390f7bbf8dc15c50a13b0fb422d15900a13d0d90a0e
+89acf800adf77fad01e8daf3dc03f740f70e15da0a0efc1dfbe5f96d15b10a0efc1d
+fbb8f96d15b20a0efc1df8f1f73101fb9ef79003fbc3f96615b30a0ef8e1c089c212
+66a613a037f91615db0a1360a80a13a0a90a0efc1df8debd01fc57f79903fb6af8de
+15bf0a0ef920b70164f9201598959d97918793821ffbe90680807a7f848f83941f0e
+fc1df8d8c401fc5ba6f76ca603fc40f96b15ca0a0efc1df8e2f70701fc0cf70403fc
+0cf91e15c30a0efc1df8e9ea01fc52e9e0e903fc52f91815920af74716920a0ef9b9
+a601fb7eb69aa795bd0333f99a15dc0a0ef8b9abf5ab01fba2b3ebb303fb4af94315
+ab0a335615b70a0e64f97a15cf0afb189115d00a0efc1dfbedf8dc15c50a0ef8ebf7
+3601fb48bf03fb13f986158390838d848b858b7c8681858c718b6e8b738b768b728a
+7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8e2f74801fb
+d3b8c7b703fb3ef8e215f7485ffb48074f8c15f7475efb47070efb98f9b615ffffe8
+999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d8a
+8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df71f
+058694848d7f8b08f71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b
+868c85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff
+000299988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8d8c4
+cfe601fcb5a6cce5c8a603fc59f98215dd0a4a7415ca0a0ef8adc401fb4ca6f76ca6
+03c6f85315de0a0ef89bdddb9f01fb32ad032bf89b15ae9ba49b9c81a363ffffe7cc
+cdfffffb3333fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3
+e666ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0ef8379fdb
+dd0154ad0338f8ed15df0a0ef8a29fdbdd01fb15ad0348f95815647466671f8b7392
+759b77ff0010e666ffffeae668ff001c199affffef1998b1868f8f8c948b92529777
+ab8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0e
+f82b9fdbdd014cad0330f8e115687b727b7a9573b3ff00183333ff0004cccdff0006
+9998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff00
+10e666ff0015199a9b9f92a18ba308af74b0641e0efb6ff72101fbe7f74a03fbe7fb
+0b158b81f71e3d05ff000fb333fffff73333ff00084ccdfffffccccd918b928b9293
+8b918b92889183940829f2058a8c868c878b6e8b74748079080efb6af72601fbcaf7
+3f03fbbcfb6a15908b928c938f08f717c3058e8e8e988b938ba7819e839508818ffb
+0c24057f8080828b828b888c80988b080efb6d76d1b601fb68b703fb3cfb7915f73c
+07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508f7034a
+0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c079088
+9189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc06848e
+858d848b848b83888285080ef8bfb401f712b703f73ef849158bf7278097fb268b05
+7d8386848b868b868d80958608f70cfb0e069483958a918b908b948f9094080ef7e0
+a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a98838b7e08
+696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb2915a89ba6
+b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f908b908b908c
+088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb7815f73c068e
+908d918b928b9289948695084df700068592838e838b848b8388858708fb034a0788
+8489858b848b848e839182080efb6376f70ab701fba3b603fb3b4915fb3c06888689
+858b848b848d82908108c9fb000691849388938b928b938e918f08f703cc078e928d
+918b928b9288938594080efb6d76d2b601fba5b703fb79fb7815c8ce0791948e928b
+918b92889286920847cb068390858d848b858b84888185084d4807848588838b848b
+848e838f8408d14a0692879289928b918b938e9492080efb3bb601fbf2f75903fb35
+fb1015fb4706848588838b848b848e838f8408f7490691948e928b918b9288928692
+080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e7e62bf5fc4c9
+9bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb8104c1c2b5b698
+81987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e0efb3bf70001
+fba2f70003fba2fb0515e00a0efb3bf70001fc06f700e5f70003fc06fb0515e00af7
+5a16e00a0efb71abf5ab01fbc5b3ebb303fb6d3815ab0a335615b70a0efb76a3dadd
+01fb77b203fb8e6215c90a0efc1dfb5ca8d6abcb7701fbccc903fbed2b159f0a0efb
+5cb101fbecc903fb26fb1b158792858f828b75757b7b6e8b668b7ea08ba58bb9adab
+c9be087d9c053b5a4b578b538b55b177bd8bb48bb39fa8b8080efb81f74501fbafc1
+03fb79fb7915f737077f8f828d828b848b8489818708fb390797879389938b928b93
+8d9691080efb63f70b5fb712fc0bb7f72cb71370fbdffb5915e10a13b0e20a0efb75
+cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b888b88
+8b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac96a5d1
+a344ae81998bae8ba9c29cd787907c95868e080efb70f72301fbdef79103fb79fb70
+15bd06a8b9b1b8aeb20878980566706972666569af6aa564a708777e05ae63b060a8
+5c080efb75f72301fbd6f79203fb3d391559066d5e655e6864089f7d05b0a6aca4b0
+b1ac67ad72b26e08a0990568b365b66fb9080efb47c401fcb6a6f76ca603fc9b6b15
+ca0a0efb4fc401fb77a6f76ca6039bfba915de0a0e20c089c2122ea613a0fb205515
+db0a1360ffffed8000ff000fe666ffffe88000ff0012199a6d8b608b74647d509185
+958a968d95ac959aa58b9c8bff00148000fffffa3334ff00108000fffff2cccc0813
+a0a90a0efb17b701fbfcf78403fb23fb1715e30a0efb17b70142fb1715e40a0efb67
+b7b9b701fc06f79803fb19fb0d15e50af7753115e50a0ef74ec089c2122ea613a0fb
+20f78315788bffffed4ccdff0006b333fffff1b333ff000c4ccd081360ffffed8000
+ff000fe666ffffe88000ff0012199a6d8b608b74647d509185958a968d95ac959aa5
+8b9c8bff00148000fffffa3333ff00108000fffff2cccd0813a0a90a0ef75db701fb
+cff7840329f75d15e30a0ef75db70142f75d15e40a0e3ff85a15fc0cfc5c058d7c97
+809b8b08f80df85f05879881957a8b080e937601fcee7e15f89bf91505fffffdb333
+ff000ee668fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4
+f704b201fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b
+08c2b7b5c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb
+65f70bfb0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b8487
+818308340713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b848883
+84080efb82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74a
+f73a070efb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a
+8f8b8f8b8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a
+8b7d8b6a80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00
+cb199a01fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049
+ccccffffe3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffff
+e34ccc6fff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff004933
+32ff00491998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff
+00133334f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ff
+ff0c8000f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334ff
+fff3b3327bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff
+0033e667fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff00
+0a66668bff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e66
+68ff000c4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ff
+ffe5999aff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff0025
+0001fffff4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd
+15e40af7ed3115e40a0ef8b7f73501fb82f73203fb30f95815b10a0ef8b8f73401fb
+83f73003fb2cf95815e60a0ef89bc089c212fb1ba613a0fb4af8d015db0a1360a80a
+13a0a90a0ef8379fdbdd0154ad0338f8ed15df0a0ef8d5ea01f751e9d6e903f751f9
+0415920af73d16920a0efb82b301fb72d6d4a403fb724115390751b273bb1ea48bb9
+999ad00872930584707b73798b08777fa2c21f8bbf7592050ef877f70b5fb712fc0b
+b7f72cb71370fbdff88115e10a13b0e20a0efb67b7b9b70142fb0d15e40af7ed3115
+e40a0efb75f74501fba2b3d1b303fb7afb6d15e70af70216e70a0effff978000b201
+ffff638000b303ffff068000ffffbe800015828687828b868b858c86938208ec4506
+90819289908b908b95909399088be67f96050ef8b9c089c21222a613a0ffff296666
+ff0200666815ff000ce667ff0030e66405ff000c0001fffff8b334ff000c666686ff
+000c4ccd8bb98ba8b297c7858f818e808a7d618081758bfffff333338bfffff38000
+8efffff4b333ff0005b33408ff000f999aff003b4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff319
+99ffffcee668051360fffff04cccff000b9998ffffed4ccd95ffffe9b3338b608b74
+647d509185958a968d95ac959aa58bff000fcccc8bff0012e667fffffae668ff000f
+cccdfffff4b330087bffffc3666805ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006668080eff01ebe666ff00423332
+ff0000e668c089c2fffffae668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01ebe666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd0
+199815db0a13aea80a13cea90a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080e0eff01f46666ff00c3199a
+01fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f7
+7cff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01
+fb70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7
+aaaca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef873e6bac4
+01fb77a6cce5c8a6035ef8a115a4779f7272777772729f76a4a49fa0a41ec88d15de
+0a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff7e3333
+15ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334ffffb6
+ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb6199affff
+b6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6cccdff
+00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ffff1933
+33fb1615ff00a34ccdff003c4ccd8bff00254cccfb7cffffac33348bffffe46666f7
+7cffffac33338bff00254ccd050effff1c6666ff00c3199a01fffed48000f77c03ff
+ff77cccdfb1615ffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a
+8000fb7cff0054cccd8bffffdacccd050effff1c4ccdff00c3666601fffeec8000fb
+1615fb24ffffc3b3338bffffda999af768df8bff001a6666fb68e08bffffda999a05
+ff01318000ffffe0000115ff003c6666ffff833333ff002566668bffffabcccdf755
+ffffe6cccd8bffffa9b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8
+f715bd61b4581e828b838a848908936c05908d908b918b08ada2716a6c756f681f82
+8b848c848e087f6d0596869689988b08beb5b4be1f0ef8e0f30149f30349f91415c2
+0a0efb0eb012fb49c275b676c313c0fb1bfb121579766f8f8b6d8b829284948b0813
+90ac8b84aa98a398758a6aa58b938b95918b958ba87089789f958d948a968b089f9c
+919b918898791f798b847873800813a08c9b98a18b9a08987f9181818081801e8b7d
+997c8d757396829d788b087e8681837a9586981f978b918e918b08928b9288918a08
+0efb6aa6f704a601fbd8b0efb0efb0031438fb2afb1715a99ea5aaa99f726c6f786f
+6c6c78a7a71efb42165db466b91eff001be6668bff0018cccdff000ce666ff000fe6
+67ff00138000ff00104cccffffec4ccdff00193334fffff34ccdff001ae6668b08bb
+b2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff36666ffffefb333ffffec4ccd
+ffffefb333ff0013cccdffffe6b334ff000c8000ffffe4e6668b085d62665d1fe2c3
+15a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef89276e8b701fbacf7670341f8f415
+8e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d6058f858d801e
+868b848a8989083ffb090588878a888b8908879088961ef30693908a891f8b898a88
+8a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81c001fb8104
+e80a0ef86fc001f86f04e80a0ef8a6bc01fc0ef8a615e90a0efb1abc01fc0efb1a15
+e90a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd8bc68bcc7dc479c379c57cc1
+8bc38bf72b98d4f6086e91055859227a498b588b4b984c9f529d5499558bfb238bfb
+124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e089c7905c9c9e8dbf7588bf7
+548bed40c848089c9d0537f70efb1ac7fb2a8b080efb29a901fba0fb0b156df86107
+797775777d6b08ae06a7aab1abb19f089607599d62ba7e9b0869069968a971947f08
+0ef8919ef7099a01fb7dadb9af03fb2df8df1562077c7e8986808b7d8b87958b968b
+96919bb39608a53d15958b958f949308869605898a888a898b08868994a11fb007be
+6b9671746a7a75839585939592928f1e8b8e8b8e8a8c8a8c8b8d8b8f08948f8f9d97
+9688631e7283056982767c8b748b749d7ca28b9d8b8f909d9b8d8191809c8b080ef8
+91a1c59db19c01fbd6b2c1b503fb89f8a71578789cb41feb06ac7fb3575e7164681e
+8b718f7a977f977f9e7fa68ba78b9d98979b08809705807f7f84768b089bd7155806
+8c9d949f9c8b089896826e1f0ef89399f70399bab712fba3c767af13e8fb67f8b215
+f70c800713f07e85798779898b858c878c870813e89b89918a8b7e083d078b7e828a
+80888a878b858c87958c9d8c948b968b9d8a938a8c8f8b918a8f08818e838e8b9608
+78f72f15979595979781957f7f81817f7f9581971f0ef8919bf70a9b01fb83b4cbb5
+03fb3af92715537a5b6c68a167bebea2b1aea87cbb501fab3315697e7f7d757c9fb5
+b898969ba2976e601e0ef891a3f7019a12fb82bd6da9b3c06cc155aa13e0fb50f924
+1513d08c078b818a841e13e07e778c8b1f8b8a8b7f058a8c8a8d1e8e0613d2958a8f
+8c8b7d084607679b7da31e9e8ba29e9394088f8a8970978b0513c49992968e9c8d08
+9a0713c27e8f81ff000466688bff000d99980813c88bed0513c28c078b838a867c73
+8c8b1e13c88a8a8b7f05898d8b8c1e910613d2948f897f1f4207817f7681838b087f
+8091a71f0ef891a1f7069c01fb81b1c4ae03fb3af92a15606f626464a269b91fa38b
+9f98999efffffde666ff0005b334fffffc8000ff0004b334fffff8999aff00019998
+817f8581768b08806f90bbb39ea09c1f9a8bff0004b333fffff61998ff00014ccdff
+fff3e6688c829484948b938b93918b988b95fffff8e666ff000c1998fffff3199aff
+0006e668fffff5cccdff00058000fffff1cccdff00018000fffff166668b080ef892
+9cf7069bab9912fba0b2aec767af13f4fb3ef8b41582818184838b08787e97bcb396
+989d1f998b92839481088a2b158d8a8a7a988b0598929b8e9d8d08899a057e8d82ff
+0004cccc8bff000f333408f731800713f87e8579877989088c7d0513f49a8893ff00
+0199988bfffff26668086e0783937d8f7d8b618b77618b688bffffe94cccff000666
+66ffffeab334ff000c999a7fff000acccdfffff5b334ff000d9999fffffc4cccff00
+10999a8b978b9a939594080ef89499f704a3a99912fbd8c867afc9af13ecfb9bf936
+15a38c998b1e8e898c881e13f482876a867c8a087e078a8c8b8c1e978a0513ec928f
+87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989da78a8b1e9607
+8d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e1f4c078b7f88
+89808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b8c898c08878c
+05808d888d8b9608cf07b17199721e778b78788382080ef895997ff725719980a212
+fbd8c767afbfaebfaf1387fb68f8b4158b7e848a80888a878b858c87081347958c9a
+8c948b081397968b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccff
+ffffcccdff0003999cffffff9999ff00036664ff0009999aff000a3334ff000c3333
+93ff0009cccd8b089b90846f1f51078b80838881888a878b858c87081347938c9d8c
+968b081387948b9d8a958a8c8f8b918a8f808e828c8b9808cb071347af779b731eff
+ffed4ccd8bffffeb6666ffffedb334fffff7b333fffff6ccccfffff9999aff0012e6
+68fffff16666ff00089998ffffed999a8b081327788b7b7a838208898c0513178ca4
+05134b800613ab7e85798779898b85ff0000999afffffbccccff00016666fffffc33
+340813879b89918a8b7e0841078b7e828a80888a878b858c87081347958c9d8c948b
+081397968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a6719912fba3c767af13c8fb68f90e158d8a059599989a9e8b08
+9b928380808485801f838b868e888f898d878b898b878b8587827e898888868b8708
+4b078b80938895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e
+948c8b9808d90713b08b98858c7b8d8a8f8a8f8b910813c89d8d9d8f98910896060e
+f891a0f7009e01fb77af03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d
+848b850572837e758a8b8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a
+8aff00054ccc888f86ff0002b33482858687828b08828995a01f0ef9169a01fbd5f7
+3803fb94f898158d8792888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b
+8d1f8b978a8c058b7a8a8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a88
+8986086dffffba80006cff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d
+1f8b97898c648a0581708c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919a
+f70f9801fbcdf73b03fbcdf89c158007958c918c988b948b9a8a968a0896078d8a8d
+871e818bfffffd199aff0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b70
+8b8b8d8790857f8b08868988871f8307938ca38c988b968b9b8a968a0896078d8b8d
+841e7f8bfffffacccdff0006ccccfffff83333ff000933340863baaab705969a8e8c
+978b08928b8d8e1f93077f8a828b808b818b828b818c088207888d8a8e1e928bff00
+063333fffffe3334fffffacccdfffff8cccc0871677baa0589908894918b08908e8c
+8e1f94077d8a7a8b808b7d8b7d8b808c088207888c8a921e928b9188908408b75205
+89896a648b8b807e8789808b0887898b871f0e89b0f756b3f7f87701f787f7a1152c
+0afb8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af7
+05fb401513ac600a1374610a0e89b0f7acacf77ab112f70ee8f776dc69e813f8f76b
+f8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f832b9f72ba9a677
+01f2e2f7b9eb03f774f82a15620a79ad15630a0e89b0f7acacf77ab112f70ee8f776
+dc69e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f8
+32b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79ad15630a0efb17b7e0b0f7ac
+acf77ab112f70ee8f776dc69e813fcf76bf8ac152e0a6a04e40613fa2f0a60f89a15
+300a13fc310af749fd7c15e30a0efb17b7d8b3f832b9f72ba9a67701f2e2f7b9eb03
+f774f82a15620a79ad15630af71dfccf15e30a0efb5ca8d6abff00363333ff0028cc
+ccf8c0b101aeecf78ac9f70bab03f7ed2b15ac0a0efb5ca8d6abc1c1f829b4f76077
+01d7e6f735c9d4ec03f8d7f70015b80afc81f8dc15e60a0e89b0f8b3b101e4e8f7d2
+ec03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213
+bef84ef71e15650a7ffbba15660a137e670a13be680a0e89b0f8b3b101e4e8f7d2ec
+03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213be
+f84ef71e15650a7ffbba15660a137e670a13be680a0efb17b7e0b0f8b3b101e4e8f7
+d2ec03f74ae015330a61f8a415340af784fd7c15e30a0efb17b7d7bf80a6f81cb3f7
+2ca9a67712c7e5f7b8e213dff84ef71e15650a7ffbba15660a13bf670a13df680a28
+fb4f15e30a0efb5ca8d6abc9b0f8b3b112c5c96ce8f7d2ec13f6f74ae015f85107ac
+bb9ab4f75aaafb0cfb50fb543060fb0a1e39709fa91f61f8a415ffffd0cccd8bffff
+e433338c5d8c85858b72918508c795833c1ffc05073c81834f1efffffa8000fffffa
+8000ffffff999affffeacccdff00048000fffff7b33308fffffc66668b632b918505
+9b90958c9e8b0813faa2957d7671767d6d1f778b808f7095848488848b7fa4809c85
+ab8b08c8b9aab6b16ca3631f828b828a838908ff00188000ff0041b33305ff001f19
+9aff0000b332ff00196666ff0000999ab08bad8bc389e18b08f70af736c8f77ef770
+fb0bf2fb441f548b4488678b080efb5ca8d6abcb7794bf80a6f81cb3f72ca9a67712
+c7e537c9f7cee213d7a0f84ef71e15650a7ffbba15660a13cfa0670a13d7a0680afc
+21fb2c1513e7609f0a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8a415340a
+0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a
+137e670a13be680a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff0014e666
+ff033f199815ea0aff00d0e666fffe61cccc15350a0e81bdf76bb4f72eb3ebbd01d9
+ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0afffe1c6666ff02a31998
+15fffffccccdff0000e668fffffb3333ff0000e668878bffffe4cccd8bffffed999a
+fffff0b330fffff99999fffffa999c08fffffe6666fffff61998ff005b3333ffff9d
+e66805ff000ccccdfffff28000ff00059999fffffb8000ff0004cccd8bff00066667
+8bff00059999ff000566648bff000480008bff00064cd0ffffff3333ff00064ccc87
+94080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff02171998ff033fe66815
+eb0affff2be668fffe17199815350a0e81bdf76bb4f72eb3ebbd01d9ebf7bfef03f8
+3ef8de15bf0a74fbb615690aedfb53156a0afffe716666ff029d199815ffffc3999a
+ffff94e66805fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6648bff
+fff9b334ff00059999fffffa9998ff0005999a8bff0005999a8bff00066666ff0003
+999c97ff000d800008e7ff00621998fffffd999aff0009e66805ffffed9999ff0013
+ccccffffeb8000ff0000e668fffffae6678b878bfffffb3333ffffff1998fffffd99
+99ffffff1998080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb1535
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7
+a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb301
+d9ebf7bfef03f747f7bc15690aedfb53156a0a0ef948bf01f71aa7f76ca703f82af9
+b915c00a0e0e89b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e89b0
+f7fdb7f770b101f75fe2f760e903f7b6f712156b0a0e81b1f766aff7d0ae12aeecf7
+e8e967ae13f8f7fbf90515370a13f4380a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0
+f823c3f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f7a2b3f77d
+b001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3f72ba9a67701f706e2f789e203
+f75dff013ce66615750a0e89b0f7a2b3f77db0e9eb12e7e553ebe8ebbae513f3f7cf
+f98915ad0a13f7fb5116ad0af83afd0f15f809078bd58e90d18f91918ba48591608a
+568a738b738b5d8c5f8c85858b729185d1888c878b3f08fb2a0713fbfba88b8cf72a
+058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85858b729185d388ff
+0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe333387448785858b72
+9185b68cb98caa8ba78bb78ab58a91918ba48591478e88908bda08f74bf7a8fb4b07
+8b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91918ba48591458e8890
+8bda080e89b0f823c3b0e6a2a9a67712f706e2f713e5a7e247e613fe80f865f8d015
+729f77a4a4a09fa4a476a0721e727776721ffb1d16dd0afb13ffff00e666158bff00
+15199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00146666
+8ba0fffff2e666ff000b999affffe9199a0813ff0095ffffec33348dffffe4cccc8b
+6d08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb8
+8ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8
+b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999affff
+fc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b3
+33b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b38
+7e89ffffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3
+338aff001e19998a91918ba48591ffffcd33348f828c8bdd080efb5ca8d6abcb779d
+b0f7a2b3f77db0129dc997e5f7a8e513ef807c2b159f0af8c7f76e15f809078bd58e
+90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f08
+fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85
+858b729185d388ff0001333386ffffffcccd40088afc090513df80ffffffcccd3cff
+fffe333387448785858b7291850813ef80b68cb98caa8b0813df80a78bb78ab58a91
+918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b7291850813ef
+80b48cb78ca98b0813df80a88bb98ab78a91918ba48591458e88908bda080efb5ca8
+d6abcb779db0f823c3f72ba9a6771282c9c8e2f789e213dfc0f75dff013ce666158b
+ff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff0014
+66668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08
+fb5b078b3a818a578686858b7290850813efc0ff00234ccc8cff0024b3348cad8b08
+13dfc0ab8bb88ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00
+308000ffffe8b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47ff
+fffc999afffffc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004c
+cdccff0003b333b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b40
+08fc49078b387e89ffffbd33338985858b7291850813efc0ff0027199a8cff0029b3
+338cb68b0813dfc0b28bff0021b3338aff001e19998a91918ba48591ffffcd33348f
+828c8bdd08fb87fb6e15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a83890813efc0a4ce698b632b9185059b90
+958c9e8b080e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3
+f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f8b3b101f7ade803
+f80af70e153a0a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13
+e8f5fc9815770a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f4
+78f90f15ad0affffac199aff0084e66815ffffa08000ffffb44ccc0581fffff81998
+fffffe8000fffffb999c8bfffff9cccc8bfffff99998ff0003ccccfffffa4cccff00
+05cccd8afffffb3333fffff88000fffffd199afffff733348bfffff6b3340871a175
+a5a5a1a1a51e8bff0014e668fffff1cccdff00124cccffffece666ff0006666408ff
+005a3333ff0029800005fffff63334ff0012ccd0fffff0199aff000f4cccffffe9e6
+66ff000bb334080e89b0f81facf71aeaffffcab3347612f760e986e28ee913eaf760
+f91815b60af74716920a13c688fc9215770afffee73334ff0270800015ec0a13d2ff
+fff9ccccff00056667fffffab334ff000566661eff000566668bff0006199aff0003
+8000ff000b8000ff000d333408ff0058999aebfffffdb333ff0009999805ffffee4c
+ceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080e89b0f79ba7f790b0f27601f700e803f75df7
+0e153c0af764f94d15a50a0e89b0f82eb0f733a9a27701f70de203f73bf94815ffff
+fe6666fffffd800005ffffd68000fffff7e668ffffc08000fffff7ccccffffe2999a
+fffffdcccc89838d7b9185bdfffffde668ff0014e666fffffe8000ff00083334ffff
+e6800008ffffe74ccdffffd9199805fffff7e667fffff33334fffffcb333878bffff
+f4cccc8b849285928bff000680008bff00076666ff00038000ff000d199aff000c99
+9808fffe5fe668078b388081538785858b729185b58cff001c199a8cff002ce6668b
+ff002380008bff000c80008ab68a91918ba48591628f80958bde08f107a28a958a96
+879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba18c8f8cac8bae8bab8a
+ac8a92928ba28492658f6f916db008fb27f74d05879087938b918b8f8b8e8f8f08ea
+ee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92928ba28492628a7389
+638b618b758d628c84848b749284c9877163817e08716b69646e7671786d7e768908
+f7d5078bff00123334ff00004ccdff00103334ff00008000ff000de66408ff001e33
+33ff001cb33488960583ff0007b334fffff7999aff00051998fffff84cccff000366
+688bff00008000ff0000199aff00004ccc8b8b8b92878e828bfffffcb333fffffeb3
+34fffffb4ccdfffffe9998fffffa4ccdfffffe999cfffffe3333ff00001998fffffe
+80008b8a8b868b858a888a080e89b0f79ba7f790b001f700e803f75df70e153c0a0e
+89b0f82eb0f733a9a67701f70de203f70df71815780a0efb17b7e0b0f79ba7f790b0
+01f700e803f75df70e153c0af77ffb9115e30a0efb17b7e0b0f82eb0f733a9a67701
+f70de203f70df71815780af783fd4615e30a0e89b068bdf8a4b012f72ee8f7c8ae13
+78f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e2
+03ff011e8000f71515790a0e89b068bdf8a4b012f72ee8f7c8ae1378f75916f78c06
+13b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203ff011e8000f7
+1515790a0efb17b7e0b068bdf8a4b012f72ee8f7c8ae13bcf75916f78c0613dc3d0a
+13bc3e0a13dc3f0af73ffb1715e30a0efb17b7e0b0f8efaca67701ff011e8000e203
+ff01658000fb1715e30af71af79815790a0e89b068bdf8a4b012f72ee8f7c8ae1378
+f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203
+ff011e8000f71515790a0e89b0f8b3b0f27612dfb274b2f7e8d943db13e2f879f708
+15400a13ec410a13f0420a13ec430a7cf7c215a50a0e89b0f824c255a7f77a7712cf
+ddf71cddf71cdd140e13def72af718157a0a13be7b0af707f8c415e60a0e89b0f8b3
+b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e89
+b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f8
+b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e
+89b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e9676
+93b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e89b0f825a771bf12f7
+08e2f784e213d8f768f819157c0a13b87d0a0e967693b0f8b3b012e7bcf800bc1378
+f88df87515440a13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c
+0a13b87d0a0efb17b7ed7693b0f8b3b012e7bcf800bc13bcf88df87515440a13dc45
+0a57fcf815e30a0efb17b7e0b0f825a771bf12f708e2f784e213ecf768f819157c0a
+13dc7d0af727fc9c15e30a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a
+13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c0a13b87d0a0e81
+b3f8bfb3ff005d80007601adecf80eec03ff02601998ff0324e66815ffffa08000ff
+ffb44ccc05fffff60002fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff
+0004999afffff9ccccff0006e6648bff0006e6688bff00094cccff00029998ff0010
+3334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0fffff0199c
+ff000f4cccffffe9e664ff000bb33408fffed2e668ffff24199815460af7bffba415
+470a0e81b4f836b4a8c089c212c7ebf757a6f5eb13ceff00e93333ff0300800015ff
+ffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99988bfffff6
+199c8bfffff9ccccff00056667fffffab334ff000566668bff000566668bff000619
+9aff00038000ff000b8000ff000d333408ff0058999aebfffffdb332ff0009999805
+ffffee4cceff00136668ffffec3333ff0000e664fffffb19998b08fffffc199a8bff
+fffb8000ffffff199cfffffdb333ffffff199808ffff52cccdfffde58000157e0af7
+85f76f157f0a13ee8ef70f15a70a13dea80a13eea90a0e81b3f8bfb3dce701adeceb
+e7f752ecaae703f911f98415ed0afc2e16ed0adbfb3b15460af7bffba415470a0e81
+b4f836b4a8c089c2c6ea129febf72de939a6f716e933eb13ce00f7a1f96f15b60a13
+cc80f73d16b60afc36fc8915fb06dffb12f7431eda8bc7a4b5b00813cd40c3bca3d2
+8bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b4508f785f76f157f0a13ed00
+70f70f15db0a13dd00a80a13ed00a90a0e81b3f8bfb301adecf80eec03ff005fe666
+ff0325199815ea0aff0075e666ffff6dcccc15460af7bffba415470a0e81b4f836b4
+ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff1d80
+00ff0147800015fffffce666ff0000e668fffffb6667ff0000e664fffffc33338bff
+ffe5cccc8bffffee4cce7cfffff9ccccfffffab33408fffffe8000fffff66668ff00
+57cccc2b05ff000c4cccfffff2ccccff00056666fffffb9998ff0004999a8bff0006
+33338bff00054ccdff00054ccc8bff000466688bff00063334ffffff3333ff000619
+98fffffc3333ff0008cccc080e81b3f8bfb3ff005d80007601adecf80eec03ff025b
+1998ff0324e66815eb0afffed7e668ffff24199815460af7bffba415470a0e81b4f8
+36b4ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff
+783333ff0150800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd80
+00fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668b
+ff000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebff
+fffdb333ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb19
+998bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e89b0f773
+b172aaf7a9b3ee7612f726e8f78cf013def783f89c15480a13be490a2ef751154a0a
+13de4b0af75af7dc15a50a0efb7eb0f74fb5f822aa75bef7607712f700e2f7b5eb13
+def770f7fe15800a72b215810a13ee820a13deee0a75f7b715e60a0e89b0f773b172
+aaf7a9b312f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a
+0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72b215810a13
+ec820a13dcee0a0e967692a671b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c
+0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff018c8000ff003a800055a7
+12f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0f785acf7a1b412efe8f7
+8aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff01
+8c8000ff003a800055a712f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0
+f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f
+0a133e500a0e89b0ff018c8000ff003a800055a712f76ae213b0f7c1f82a15830a13
+d0840a0efb17b7ed7692a671b0f785acf7a1b412efe8f78aef138ff7bcf8d6154c0a
+24fc5c154d0a13cf4e0a13af4f0a139f500af770fb9115e30a0efb17b7e0b0ff018c
+8000ff003a800055a712f76ae213d8f7c1f82a15830a13e8840a7afcad15e30a0e81
+b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a0e81b0
+8676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a13b488
+0a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a
+0e81b08676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a
+13b4880a0e81b1f8c4b0e876c7f707123ff704a4b380dff7bdef3db313fb00f893f8
+eb15510a13fd00520a13fa80530afb46f77015a50afc2d8915c30a0e81b08676f858
+b0f7607712e3b671d6f7b7dd42af1330eff94815ffffb46666fb0b05fffff7e667ff
+fff33334fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188
+960574a1ffffe666668cfffff9999a8b08868b858a888a08137a7ffcb815850a13b6
+860a13b5870a13ba880a0e81b1f8c4b0e876f71af70712b5f7042eb380dff7bdef3d
+b313f300f893f8eb15510a13f500520a13f280530afb62ed15c40a13f800fb9bf756
+15760a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63
+fc4c15850a13ac860a13aa870a13b4880a0e81b1f8c4b012c8b380dff7bdef3db313
+d8f893f8eb15510a13e8520a13d4530a0e81b08676f858b012e3b671d6f7b7dd42af
+1374e3f72415850a13ac860a13aa870a13b4880a0e89b0f851f7205fb0129badf774
+e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7ef
+b701f750e203e4f84c15890a0e89b0f851f7205fb0129badf774e8f773ad13bcf803
+f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7efb701f750e203e4f8
+4c15890a0efb17b7e0b0f851f7205fb0129badf774e8f773ad13def803f70e15540a
+13ee550a13de560a13ee570a13de580aa9fb9115e30a0efb17b7d8c6f7efb701f750
+e203e4f84c15890aff00518000fffdc4e66815e30a0e89b0f851f7205fb0129badf7
+74e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7
+efb701f750e203e4f84c15890a0efb01ea8fb4f8b9ae01dbe8a6e9d6e9b1c003f741
+f88115590aa6fbd215920af73d16920a0efb01ea8fba84a6f818b012ff006f199ae9
+d6e9ff00406666e213deff00f6800081158a0a13be8b0a13de8c0affff78999a5715
+ff0000000271a076a58b08a5a0a0a5a576a171717675711ff73d16920a0e81b4f8b9
+ae01dbe8f7dcc003f741f88115590a0e81ba84a6f818b012ff006f8000e2f784e213
+b8ff00f6800081158a0a13788b0a13b88c0a0e81b4f8b9ae01dbe8f7dcc003f741f8
+8115590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a13
+788b0a13b88c0a0e81b4f8b9aeff005ee668ff003a4cccfffffdccccff003c800012
+dbe8ff003b3333a2ff00be4ccdff0017199aff00206666c013cfff02701998ff033f
+e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9
+cccc8b84ff0004999cfffff9ccccff0006e6648bff0006e6688bff00094cccff0002
+9998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0
+fffff0199cff000f4cccffffe9e664ff000bb33408fffe3ce668fffead199815590a
+13efff00e8999aff0200333415ffffefe6668bfffff0199aff00074cccfffff3cccc
+ff000d99980813dffffff04cceff0011800077ff0013e668ffffe680008bffffdb80
+008bffffec6666ffffd51998fffff41999ffffbf199cff0005199afffff96664ff00
+088000fffffee668ff00096666ff00023334ff00088001ff00244cccff00086666ff
+00108000ff0016199a8bff000e80008bff00118000fffff9999899fffff180000813
+ef9cffffee6668ff00129998ffffee6668ff0012b3348bff0027199a8bff0018cccc
+ff002ae664ff000a3334cdfffffae666ff00046668fffff76666ff00034cccfffff6
+999afffffee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b080e81ba
+84a6f818b0f6c089c212ff006f8000e2ff00d68000a6fffffe8000e21336f802f916
+15a70a132ea80a1336a90a13a5ffff888000fd20158a0a13658b0a13a58c0affffd5
+b333ff0326800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000
+fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668bff
+000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebffff
+fdb332ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb1999
+8bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e81b4f8b9ae
+efde01dbe8bdddf758c0c0dd03f91cf95f159ea19ba4a5769b7774797b716ea37f9c
+1ffc148e15a39c9fa0a1799e74727b7776749c79a31f30fb7515590a0e81ba84a6f8
+18b0f3bdbdea12ff006f8000e2ff00708000e9ff00218000e2ffffd28000e9133e00
+f83ef8de15bf0a13bf00ff002c8000fce8158a0a137f008b0a13bf008c0aff004080
+00f97b15920a133e80f73d16b60a0e9576f8e1b001f84af8d6155a0a0e9476f85db0
+01f83cf851158d0a0e9576f8e1b001f84af8d6155a0a0e9476f85db001f83cf85115
+8d0a0e9576f8e1b0f37601f7fbf841155b0a46f90d15ffffddccccfffff46668ffff
+e88000fffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b
+938b9287918093080e9476f85db0f7687701ff01668000f7f915d40afffed13334f8
+be15b10a0e9576f8e1b0f27601f7fbf841155b0ad5f90e15fb1035057e8289868b84
+8b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cccff00
+116668ffffe36668ff000d4ccc080e9476f85db0f7687701ff01668000f7f915d40a
+ffff163334f8be15e60a0e9576f8e1b0f725ea01f894e9d6e903f7fbf841155b0ad7
+f90215920af73d16920a0e9476f85db0e8ea01f80de9d6e903ff01668000f7f915d4
+0affffbf3334f87815920af73d16920a0e9576f8e1b001f7fbf841155b0a0e9476f8
+5db001ff01668000f7f915d40a0e9576f8e1b001f7fbf841155b0a0e9476f85db001
+ff01668000f7f915d40a0e89b0f8b3b001f7a8e803f8a4ee155c0a0e89b0f82eb001
+f775f82d158e0a0e89b0f8b3b0ebeb12f717ebbce85aeb13f8f8a4ee15fb23f75905
+fffff73334ff000c199afffff8ccccff000ce6668b928b948c93949608ff00848000
+f73705aeb6ff0023800097b88f91918ba485916d8a668a748b748b618c638c85858b
+729185ab89ff0019800085746b08ffff898000fb3505fffffa199afffff7e666ffff
+f9e666fffffd199a878b0813f4888b878e869208fb02f730056fb18690c38e91918b
+a48591638a628a6a8b648b6a8c6d8c85858c729185b588a1fffffcb334b1ffffcc4c
+cc08f722fb550513f8938091838b818b85fffffc3334fffff7ccccfffff9ccccffff
+f8333408fb28fb4e05695f6b845e8785858b729185a98cb08ca28ba28bb58ab38a91
+918ba48591668d718da3ab08f718f74205919391908e8b8f8bff0004999afffffdcc
+cdff00056666fffff8333308f706fb3905a56488845c8985858b729185af8cb18cb3
+8bb28bac8aa98a91918aa4859108618e789063c30813f4fb64f92815ad0afb5116aa
+0a0e89b0f82eb0e8ea01f799e9d6e903f799f90215920af73d16920afb61fb69158e
+0a0e89b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a
+0e8bb1f8a8b69277f7037612c8a913d8f8bb89155e0a13b8d70a13d8d80afb63f9be
+15a60a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0d90a0e8bb1f8a8b692
+7712c8a913d0f8bb89155e0a13b0d70a13d0d80a0e8bb0f827b3957712d9af13b0f7
+0df87e15900a13d0d90a0efb17b7e2b1f8a8b6927712c8a913e8f8bb89155e0a13d8
+d70a13e8d80afb25fb1515e30a0efb17b7e2b0f827b3957712d9af13d8f70df87e15
+900a13e8d90af762fd0115e30a0efb17b7e0b0f823c3f72ba9a67701f706e2f789e2
+03f75dff013ce66615750af733fb9115e30a0e81c6f7efb7f77bea12f750e2ffffc6
+8000e9d6e913f4e4f84c15890a13ecff001d8000ff0115e66615b60af73d16920a0e
+9476f85db088abf5ab12f768b3ebb313dcff01668000f7f915d40affff723334f873
+15a99d756c1f13bc6f7a726c6c7aa4a7a99ca2aa1e335615b70a0efb7cdbf8e9b0f7
+1aab01f717b3ebb303f7a6fb34159ca799a798a9e1f755d2f72ec4f7049aa8a0a7c0
+8e91918ba48591708a688a6d8b658b6c8c6d8c0885858b729185af8ab5867b6808fb
+15fbac05fffff2199affffe1b333fffffc199aff0000cccdfffff1ccccff001e8000
+08fb0df7970578b58699c290ff0005b333ff0005b334ff00004ccdff00171998ffff
+facccdff00074cceff00253333ff000a3332a7ff0022199c8bff0025999808ba61b1
+5d5d61645d1e8bffffd98000ff001d6666ffffde6666ff0024999afffff6199affff
+e5999affffff6666ffffe56666ffffff999a728b668b6c8c758c85858b729185bc87
+9488a94b08f727fbce059c679b6583777e6a7e6f7b6c7f776782708b7c8b868e7f8b
+086c7b6d7e76a07ba81fa28bd093b2cb0854f99c15ab0a0e81c353b8f833b312cbee
+4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a0e89acf800adf7
+7fad01e8daf3dc03f740f70e15da0a0e89acf800adf77fad01e8daf3dc03f7d7f84a
+15fb2bffffa766668bff007c999a05f70c9bd1c01ea38b92788f779070997da68ba5
+8b94a08b9c8b9c809b7c98779d7597628b0848334cfb327081766c79867f831f8207
+878c8a8f1eb706998c877f1f8bffffb4199a84fffffbe66692fffff4199a8bffff5a
+e666058b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba0859147
+8e80908bde088bff00bc3334f73cff0061cccc050e89acf800adf3b2e7ad01e8daf3
+dc03f80df8d015ffff38666606ff00084ccdff003b33349eff0020ccccff00244ccd
+8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4
+078bff00154cccff00008000ff0013b334ff0001199a9d08ff00cb6666060e81b16d
+b0f7a6a8f790ae12d5e0f70fa8f755e513bef733f70e15f74a07f75bcfe2f70bb5bd
+7d7e1e8b752efb255b4a08917405928c908b918b08f732a4fb0069fb02636e591fff
+ffc480008bffffe78000b578d7818d828a818788448f749071a9ffffed8000ff001e
+8000fffff18000ff003880008b08f718c4e4e8e533d72687898d8f1f8b8d8b8d8d8e
+08f727f7748ba205519d4b944d8b08fb9a6ffb2efb531ffb3207137e8b3c88fffffa
+800055fffffd800085858b729185ff001d80008cff001f80008cb28bff002a80008b
+ff002280008aab8a91918ba48591084d8e86908bda080ed07faef912b001f726f757
+15a5f705b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294
+fb11f72d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba2
+7d976f08986d957c958b978baf9492aa8e97809d74a173a06496558b528b41757735
+7e53a965c84c08fb245647fb007735080e89b0f756b3f7f87701f787f7a1152c0afb
+8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb
+401513ac600a1374610a0e89b0f756b3f7f877f74ea301f7abb8a1a59bbf03f787f7
+a1152c0afb8ffb52152d0af7bbf93c15ef0a0e81c353b8f833b3f72f76c4a612cbee
+4fe94eb69aa795bdf71ae0137c60f832f78e155f0af705fb401513ba60600a137c60
+610afb0ef8e7159c7bb4541e133960616a68751f133c607f937c9e949895961e8b93
+88918a8e081339e08a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e75
+8a6908a7068da5959c9c9b9b9b9a9b8b9f080e89b0f756b3f7f877f57601f787f7a1
+152c0afb8ffb52152d0af75ef96d15a60aff00d11998ff0037666815f00a0e81c353
+b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a
+ffff88999aff02a3333415f10a0e89b0f756b3f7f877f57601f787f7a1152c0afb8f
+fb52152d0af75ef96d15a60affff4c199aff0036cccc15ffffe81999fffff6b334ff
+ffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c05ff000e
+b332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff0004e666
+ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff84ccdff00
+066664080e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15b4
+0a1374b50af705fb401513ac600a1374610afffe49199aff02a3333415f20a0e89b0
+f756b3f7f877f576f731a301f84bb8a1a59bbf03f787f7a1152c0afb8ffb52152d0a
+f75ef96d15a60af7919215ef0a0e81c353b8f833b3f7b4a612cbee4fe9cfbcbabd90
+e0137b80f832f78e155f0af705fb401513b780600a137b80610a92f948159c7bb454
+616a68757f937c9e1eff0000cccc8bff0000ccce8bff0000e666ff000033346effff
+d23334ffffd24ccdffffca6664ffffdc3333ffffd83334918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff00081998909208ffffe866
+66ff001a333470ff001fcccc73abff0004b334ff00084cccff00063332ff00078000
+ff0007b334ff000733349b9b9a9b8b9f08ffff908000ffffe7e66815ff00074cccff
+00036664ff00073334ff0007999c8bff000819988b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8b7f867f837f89fffffce668fffffde666fffffccccc89fffffc
+8000fffffab334ff0007b33486ff00079998fffffb6666ff00078000fffff6ccccff
+00029998fffff6ccceffffffccd0fffff6e666fffffe8000080e89b0f756b3f7f877
+01f787f7a1152c0afb8ffb52152d0af77cf95315a60a0e81c353b8f833b312cbee4f
+e9f76fe01324f7dbf96615b30ae2fc6c15b40a1374b50af705fb401513ac600a1374
+610a0e89b0f756b3f7f877f47601f787f7a1152c0afb8ffb52152d0af77cf96c15a6
+0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac60
+0a1374610a0e89b0f756b3f7f877e1bf01f74aa703f787f7a1152c0afb8ffb52152d
+0af7c9f96915fffff6999a8bff00594cceff0029199805fffff63330ff0012ccd0ff
+fff0199cff000f4cccffffe9e666ff000bb33408ffffa08000ffffb44ccc0581ffff
+f81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006
+e6668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff000019
+9aff0000199805fffff2b332ffffdf3334ffffd0e668ffffedb334ffffd34ccc8b56
+8b5ca183b2086f069045c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0001
+b3347612cbee4fe9f76fe038a6136400f832f78e155f0af705fb401513a300600a13
+6500610affff193333ff02bf800015ec0a132880fffff9ccccff00056667fffffab3
+34ff000566661eff000566668bff0006199aff00038000ff000b8000ff000d333408
+ff002b199aff002eb33005133080ff0014b333ffffbfccd0ff002e1999ffffdb1998
+ff003c199a8bc68bcbbc97e10870970581515d6b578bffffd0cccc8bffffd94cceff
+001c3334ffffef9999ff002a800008ff0014e667ff0016b334fffffdb333ff000999
+9805ffffee4cceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8b
+fffffb8000ffffff199cfffffdb333ffffff1998080e89b0f756b3f7f877e1bf01f7
+4aa703f787f7a1152c0afb8ffb52152d0af7c9f96915ffffe8666606fffffe3334ff
+0003333488ff00033334fffffb8000ff0003cccc08ffffa2ccccff0049e66405ffff
+e5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff0076999a
+ffffc880000598fffff99998ff00098000fffffd199cff00066666ffffff1998ffff
+ed999affffe64cccffffd6ccccfffff1e668ffffd8b3348b568b5ca183b2086f0690
+45c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0009cccc7612cbee4fe975
+a6f76ae038a6133140f75ef96b15c10af768fc7115b40a136400b50af705fb401513
+a280600a136480610afffeb08000ff02c8800015fffffce666ff0000e668fffffb66
+66ff0000e664fffffc33348bffffe5cccd8bffffee4ccd7cfffff9ccccfffffab334
+08fffffe8000fffff66668ff0057cccc2b05132800ff000c4cccfffff2ccccff0005
+6666fffffb9998ff0004999a8bff000633338bff00054ccdff00054ccc8bff000466
+688bff00063334ffffff3333ff00061998fffffc3333ff0008cccc080e89b0f756b3
+f7f877e1bff712a301f74aa7e3b8cbbf03f787f7a1152c0afb8ffb52152d0af7c9f9
+6915fffff3999a0695ff00083334ff00076666ff0009e6648bff000ee668089b7cb3
+4b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f
+741e8b7d83838282fffff4b334fffff4b334fffff3cccc7efffffe999affffe31998
+fffff1199afffffb8000ffffefb332fffffdb334fffff0199a8b568b5ca183b2086f
+069045c560d48bcd8bcbb591d208ffffc64cccffffd7cccc15ff00056668ff000ae6
+6894ff0007b334ff000a6666ff00074cccfffffab332fffff5ccccfffff74cceffff
+f74cccfffff5333284080e81c353b8f833b3e5c4f71da612cbee4fe94bb68aa6a6bd
+f71de038a6137c40f832f78e155f0af705fb401513ba60600a137c60610afb11f944
+159c7bb4541e133940616a68757f937c9e949895961f8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e8b7f867f837ffffffe999afffffde668fffffe9999fffffd
+b330fffffe999afffffdb334081338d0fffffbb333ff0008e668fffffc999aff0009
+9998fffffde666ff000a333408707f05ff0003b333ffffe96668ff00066667ffffeb
+e664ff00089999ffffee999cfffffe8000848afffff86664ffffffcccdfffff7b334
+08ff0010800006ff00188000ffffde8000ff00238000ffffed8000ff002a80008bc6
+8bcbbc97e10870970581515d6b578bffffe080008bffffe43333ff000c9998ffffec
+3333a0ff00048000ff00074cd0ff0005b334ff00069998ff0006e666ff000680009b
+9b9a9b8b9f080e89b0f756b3f7f877cebf01f772a7f76ca703f787f7a1152c0afb8f
+fb52152d0af7f1f95615c00a0e81c353b8f833b3e5c412cbee4fe975a6f76ae038a6
+133280f75ef96b15c10af768fc7115b40a137800b50af705fb401513b500600a1379
+00610a0e89b0f756b3f7f877e1bf01f76fa7f76ca703f787f7a1152c0afb8ffb5215
+2d0af7eef96915c00a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0a
+f705fb401513ac600a1374610a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03
+f7d7f7eb15350a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb5315
+6a0a0e8bb2f7a0aff77ab3f746a301f70ee88cb8a1a59bbfb0ace4ac91ae03f7d7f7
+eb15350ac1f83415ef0a0e81bdf76bb4f72eb3f72f76c4a612d9eb4db69aa795bdf7
+6bef13f8c0f747f7bc15690aedfb53155c605771408bffffbfcccc8bffffc33334a1
+62c50813fcc072b17faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f
+8b4da04eb461b55ed871e38be98bdeb2bdc5889686957c8c08fbb9f8b1159c7bb454
+1e13fbc0f30a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a
+0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7a0
+aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15350a83f86515a60aff00b4
+199aff0035666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe9998
+878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064cce
+8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405ff
+fff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab334080e81bdf7
+6bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0affff01999aff026d33
+3415ffffd2ccccffffaeb33405ffffec999affffe81998ffffebcccdffffe8ccccff
+ffee3333ffffec3334918292859489b2a1aca8ababa96cae6fb173ff00096666ff00
+01e668ff0008999aff000819989092ffffdfb334ff0023e668ffffd93332ff002e66
+64ffffe36666ff002b199c08fffffe999a9105fffffde666ff00024cccfffffde668
+8dfffffde666ff0001b334ffffff8000ff0000e664ffffff6666ff0000ccccffffff
+8000ff0000e668ffffff199aff00004ccc8aff00003334ffffff199aff00003334ff
+fff36666ff00089998fffff44cccff00008000fffffc80008bfffffc80008bfffffb
+ccceffffff3334fffffde666ffffff3334080e8bb2f7a0aff77ab3ed7601f70ee8f7
+5bace4ac91ae03f7d7f7eb15350a83f86515a60affff2d199aff0036cccc15ffffe8
+199bfffff6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccff
+ffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff0005
+99998bff0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004cc
+ccfffff84ccdff00066664080e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0afffdaf1998ff026d333415f20a0e8bb2f7a0aff7
+7ab3ed76f734a312f70ee8f70fb8a1a57aac8bbfb0ac91ae13ff70f887f9c6159b7c
+b34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea199
+7f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba108fb44
+fc6f15fb00f75006a2979ea31ef74006d68b9b67a1499789968e958f86b27ce68993
+8b8d8a8c888b7a88838a738b08fbe8068b8b468c598c85858b729185d1889c868b3c
+08fc05078b3c7a86458885858b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f7000713feb0e08b
+8e758e609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016
+b334ff00014cccff001b4ccc8591768b85858857887e368b085ff86515a60a0e81bd
+f76bb4f72eb3f7b4a601d9ebcfb6c0bde0ef03f747f7bc15690aedfb53156a0afb37
+f912159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8bfffff8b334fffffe199afffff89998fffffcb332fffff8b334
+fffff6b334ff0001ccccfffff6ccccffffff3334fffff6b334896e5d5d5567639182
+92859489ff0022199aff00133334ff001d8000ff00189998ff001c3332ff001b3334
+08ff001433348bff00004cccff0003999805ff001c199affffe44cd0ff0020199aff
+ffe6e664ff00228000ffffea3334ff00096666ff0001e668ff0008999aff00081998
+9092ffffe3199aff00201998ffffdde666ff00288000ffffe4b334ff0027199cff00
+006666ff00006664ff00008000ff00008000ff00006666ff000066689b9b9a9b8b9f
+080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a83f84515a6
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b30afb32fc3e15690aedfb53
+156a0a0e8bb2f7a0aff77ab3ee7601f70ee8f75bace4ac91ae03f7d7f7eb15350a72
+f86615a60a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a
+0e89b0f8b3b1f743a301d0b8a1a59bbfbee803f80af70e153a0afb24f91115ef0a0e
+89b0f81facf74a76c4a601abb69aa795bdf707e203f810f71a15ba0afb5ef89815dc
+0a0e89b0f8b3b101f7ade803f80af70e153a0a0e89b0f81facf713f70712f7a6f704
+2ee213f0f7a6f91e15760a13e8f5fc9815770a0e81b3f8bfb301adecf80eec03f7c7
+f8dd15460af7bffba415470a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785f7
+6f157f0a0e81b3f8bfb3e176f711a301adecf718b8a1a59bbfe0ec03f7c7f8dd1546
+0af7bffba415470afb4af86a15ef0a0e81b4f836b4f72f76c4a612c7eb60b69aa795
+bdf775eb13fb80c7f77a15fb06dffb12f7431eda8bc7a4b5b0c3bca3d28bcf8bf708
+44f71afb508b3a8b496d5e5b085f5b724b8b4508f785f76f157f0a61f75d159c7bb4
+541e13f780f30a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415
+470afba2f88315a60aff00cd1998ff0030666815f00a0e81b4f836b401c7ebf7dceb
+03c7f77a157e0af785f76f157f0aff0003999aff0119333415f10a0e81b3f8bfb3e1
+7601adecf80eec03f7c7f8dd15460af7bffba415470afba2f88315a60affff4e199a
+ff0038cccc15ffffe81999fffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff00066664080e81b4f836b401c7ebf7dceb03
+f7eff96615b30afbb3fc80157e0af785f76f157f0afffea9199aff0119333415f20a
+0e81b3f8bfb3e176f735a312adecf7b2b8a1a58aec3bbf13fd00f7c7f8dd15f707e2
+22fb4efb384227272029f5f7431ff752ebdfdb1ef7bffba415470afba2f88315a60a
+13fc80f78696159b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e
+8b8e089094949ea1997f741e13fd008b7d838382820813fe807f7f7e7d8b6a08a506
+8da49a979d97089c969b968ba1080e81b4f836b4f7b4a601c7ebedb6c0bddfeb03c7
+f77a157e0af785f76f157f0aeef7be159c7bb454616a68757f937c9e949895961e8b
+9388918a8e8a8d8a8d8b8f089090919ea09381741e8bfffff88000fffffe199affff
+f89998fffffc999afffff88000fffff61998ff00024cd0fffff6199affffff3330ff
+fff6199afffffde6686e5d5d556763918292859489ff0022199aff00133334ff001d
+8000ff00189998ff001c3332ff001b333408ff00163334068bff00009998ff000019
+9aff0000999cff0000199aff00009998ff001b999870ff001f6668ffffe78000ff00
+21ccccffffeab334ff00096666ff0001e668ff0008999aff000819989092ffffe366
+66ff001fccccffffde4cceff0028199cffffe4ccccff0026b330ff0000ccccff0000
+ccd0ff0000ccceff0000ccccff0000e666ff0000cccc9b9b9a9b8b9f080e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470afb84f86715a60a0e81b4f836
+b401c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b3f8bf
+b3e27601adecf80eec03f7c7f8dd15460af7bffba415470afb83f88415a60a0e81b4
+f836b401c7ebf7dceb03c7f77a157e0af785f76f157f0a0ef7c5f94ef70e01f796f7
+5d03f821f9c815a50a0eeef8a8f73401bdf73003f71df94815b20a0ef7c5f94df70c
+01f76bf76803f7b7f9c515af0a0eeef8a7f7350151f73203a3f94815b10a0ef7c5f9
+aba301f7a9b8a1a59bbf03f84af98b15ef0a0eeef91976c4a601f700b69aa795bd03
+f792f91e15dc0a0ef7c50eee0ef7c50eee0e81b4f8b9ae01dbe8f7dcc003f741f881
+15590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a1378
+8b0a13b88c0a0e81b4f8b9aef744a301dbe8e5b8a1a59bbfd8c003f741f88115590a
+f78ff88b15ef0a0e81ba84a6f818b0f73776c4a612ff006f8000e2ffffcb8000b69a
+a795bdff00928000e213bdc0ff00f6800081158a0a137dc08b0a13bdc08c0aff002d
+8000f928159c7bb4541e133bc0f30a0ef7c6f94ef70e01f7a0f75d03f82bf9c815a5
+0a0ef730f8a8f73401bbf73003f71bf94815b20a0ef7c6f94ef70c01f768f76803f7
+b4f9c615a40a0ef730f8a7f735015af73203acf94815b10a0ef7c6f9aba301f79db8
+a1a59bbf03f83ef98b15ef0a0ef730f91976c4a601f730b69aa795bd03f7c2f91e15
+dc0a0ef7c60ef7300ef7c60ef7300e89b0f8b3b0f27601f7b0e803f80df70e155d0a
+fb2af94b15a40a0efb7cdbf8e9b0f7687701f7a6fb34158f0afb8cf9e815b10a0e89
+b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0e89b0
+f8b3b0f744a301f771b8a1a59bbf03f80df70e155d0a90f91115ef0a0efb7cdbf8e9
+b0f73776c4a601f71bb69aa795bd03f7a6fb34158f0a92f9be15dc0a0e89b0f8b3b0
+01f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0ef50ef8f20ef5
+0ef8f20e4e0efb240efb770ef60efb770efbba0efc140efc1d0ef780c101def7a303
+f7d4f78015f40a0ef780c101def7a303f7d4f78015f40a0ef7b3bb01f846f7b31597
+8b9da08d978d948991818b08fbe0067f8b7a7a887b89828f85958b080ef782bc01ea
+f7b315825af85c8b94bc050ef782bc01e0f7b315825af93f8b95bc050ef782bc01e0
+f7b315825af9f48b95bc050ef73afb5115f75ffaaa638bfb5ffeaa054c16f760faaa
+638bfb5ffeaa050efb2eb7c9b701f861fb0215fc728b835ff8728b05a7f72a15fc71
+8b835ff8718b050ef858f708f71aaf01ff00db8000c503ff012c8000f85815f50a0e
+f837aff71af70801ff016a8000c503ff01538000f95515270a0efb38aff71af70801
+ff016a8000c503ff01538000f70e15270a0ef837aff71af70801f784c503f7d4f955
+15f60a0ef858f708f71aaf01ff008e8000c5f72fc503ff01b48000f85815f50afb69
+16f50a0ef837aff71af70801ff00e28000c5f72fc503ff00cb8000f95515270af769
+16270a0efb39aff71af70801ff00e28000c5f72fc503ff00cb8000f70d15270af769
+16270a0ef84baff71af70801f708c5f730c503f75af969155b6958431f8b37e549c9
+7e9393939b8b974d9b5bc38ba48ba79692a28da18fab968bb108ad70a8661ef76816
+f60a0ef81beff7627712f788e4569c13e0f7b5f94d1571786e6c1f13d08b40974da3
+5964a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b
+8bfb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a2
+6d1f498b537d60700813e0a3bc97c98bd708ab77a7731e0e8beef7b8eff7627712f7
+88e4569c13e8f898f84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77
+a77371786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc2
+98b4a58b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc2
+98b6a60813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27e
+cc8b08a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37e
+cd8b08a9a3a0a71f0ef708f77801f762f77803f762f77a154cbe58cacabebecaca58
+be4c4c58584c1e0edff7bc01f750f79c03f750df15f79cf728fb9cf728050e81f71a
+01f783f71c03f783c415290a0e81f71a01ff00a98000f71cd0f71c03ff00a98000c4
+15290af76116290a0e81f71a01bbf71ce4f71ce3f71c03f885c415290afb7416290a
+fb7516290a0ef769f71a01f783f71c03f783f7ac15290a0efb810ef88b78a875b2f7
+52b2bab2f722b096b212c4c6f70fb1f0c7f70eb1d1bff71ca913bff0f964d815f700
+0a579915f7010afb7a8615c0b1d9b898a5835b1e137ff0576d39587a7396bb1e4f97
+15230a7df83b15240afb8cfb0c15250a0ef99578a875b2f753abc0b2f722b096b212
+c4c6f70fb1f0c7f70eb1d1bff71ca9b1bff71ca913bffcfa64d815f7000a579915f7
+010afb607d15f7020a579915f7010afb7a8615c0b1d9b898a5835b1e137ffc576d39
+587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0efb24f898f74b01f73d
+f72903f7b0f94f15f7030a0e47f89bf74a01f71bf7ae03f813f95115808b7d858580
+083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e0590908d918c
+8f8ea07a9c778b08fb198915f7040a0ef712f898f74b01f8b4f94f15f7040afb1616
+f7030afb1616f7030a0efb29f8a6f74601f750ef03f768f95315f7050a0e70f89cf7
+4b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb0f058c898e
+8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a91888e868f0813
+60868d878d858b08858b8489858708f70d90157c828280897f89858c878d8708d9fb
+0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90888f858f08
+13a0878d868d868b848b85898587080ef6f8a4f74601f7cbcf03f86ff950157c8283
+80887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c
+8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb1f8e157c81
+8380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8d08
+8b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f7050a0e65a1
+7601f5f79d03f807f84215303a354a3b5a08836405c667c84ac92d0895c10569d167
+c165afc2b4c3c1c7cd080e65a07601cff79d03cf16e6dce1ccdcbc0892b20551b04e
+cb4de908805505ae45af55b167546252565048080ef7495bf6f702f6f0f501c5f6f7
+bbf503f76e9015856e9f73a88ba98ba7a391a891a977a36e8b6d8b6f73856d08f786
+f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e8b6f73856e08fc268c15856d
+9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e08f785f76315856e9e73a98b
+a88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea715ff0086199affff106666ff
+ff1fe666ffff13999aa078ff00d96666ff00e5cccdff008e999affff013333a79dff
+ff6d8000ff01063334ff00fb8000ff0109cccc769dffff0b3334fffefdccccffff7d
+ccccff00e93333050e9d81f612cef689f7036bf668a91388f83df92815758b677980
+547e4594698332843d7f3189778a858c84968b958b90938f978e9999c7acf608a6e1
+a3b598cc0895bd72a2708b081390fb42fcfd15866e9e73a88ba98ba8a390a891a977
+a36e8b086e8b6e73856d0881f8fb1513a0758b677880557e4594688333843d7f3189
+768a858c84968b958b90948e968f9999c7acf70008a6e1a3b598cc94bd73a2708b08
+13c0fb42fcfd15866e9e73a88ba98ba7a391a891a878a36d8b086e8b6e73856e080e
+b97ff512f720d95af568a913d0f76af8ae15ff0003cccdff00109998a3ff0011199c
+ff001f9999ff000a1998fffff2e666ffffbc199cff0008999affffdab332fffff819
+9affffa86666843e7f3089778a858c84968b958b90938f97ff0001b334ff0008199a
+ff00058000ff00176666ff000a9998b208ff00048000ff00086666ff00054cceff00
+088000ff00066666ff0008999a9799a29aa59ac0aac7b699d3ff000c199aff003f19
+98ffffd7199aff002de668ffffb2ccccff000b4cccfffffd3334ff001dccccffffec
+ccccff000de668768bffffed199a8bffffe43332fffff31998fffff13334ffffdd4c
+d008ffffe2cccd85ffffe5800081ffffec3333fffff29998697571738568846ba384
+9b8b9e8ba1968fa08e978990888f0888908a908d990813a05efc8515866e9e73a88b
+a88ba8a390a891a878a36e8b086e8b6e73856e08ff00d5199aff0216800015a6ffff
+ece668ff000de666ffffde199885ffffdf80008261786c5d6afffff38000fffff719
+9afffff53334fffff73332fffff6b332fffff733348e95ff00033334ff000a8000ff
+0003666696ff0019b334ff0051b334ff0017ccccff002cccccff000c999ac7080ea9
+f918b701f89ef94415fbf48b825ff7f48b050ef767f2c4f7bbc401f767c4f701c4f3
+c403f8adef15696b5e8485678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853
+ac8b978b9a958e9b0891078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b
+8c8b948698778b6e8b7970617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b
+7d7c88798b888a888b888b7a93788b73088b888b878a89689a81a76e8b768b817e89
+7f08860775a486b11e988b978a968908fbda16686b5f848467088707809381981eab
+8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b
+8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d
+8b9b81927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b
+778b807e897f08860775a486b21e988b978a968908f73af7f415686b5f8584660887
+07809381981eab8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba86694
+75a89b8e9a8c9b8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8f
+a28c8d8b8d8b8e8b9a81927d8b7c8b7e7c87798b888a888b88088b7a93788b730882
+07689a80a76e8b778b807e897f08860775a486b21e988b978a9689080efbf1f774f8
+ed15fc5efd23b48bf85ff923050ef81881f70cf894b012f719d7bbf70e3aacf708f7
+2dfb2df71ebbf70e3aacf708ec13ec40f765f8b215a9b8bdd9d9b04b411e8b5c7d6c
+54663f5887578b600864078491889595928e921eb0078ba38f949ba4969ca19ca89b
+ff00306666ff001a6666ff0040b332b5ff000eccd0ff003f999a91fffffd6666ff00
+05e664fffffe999aff000533348ba28b9e978ba28b98889186900813e2c086908991
+8b9a08a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+72ffffee8000fffff46668fffff13334fffff18000fffff54cccffffefe66408ffff
+e48000ff00386668ffffc4199aff0024ccccffffa966668b4b8b4f71687267737267
+8b650868a9799ea29e97a21e8b988891869008869089918b9a0813f040bbfc801521
+0a13e140f80c16210a0ef75d81f70cf894b012f70ed7bbf70e3aacf708ecdbf70efb
+06f513ecf75af8b2152b0a13f4bbfc8015210af840f8f61513e5200a13e64efcf415
+210a0ef7567ff70cf894b012f78af70efb06f71234a7f6f70e3aacf708ec13d3f810
+f8b015a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+7289fffffe999889fffffe999c89fffffe999808fffffa999aff00293334ffffe6b3
+329affffeab3348b738b6e788b558b45996894330813c9933d91318d768c858e8495
+8b958b8e948c968d998bc798f700ff0002ccccff00184cccff0003199aff0014ccce
+ff0003199aff0012ccccff0002ccccffffff6666ff0002b334ffffffb334ff000280
+008b08a29e97a21f8b988891869008869089918b9a0813c5bbfc8015210a13e1fb4a
+8d15210a0eb8f7d8e001f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb54
+2dfba68b8a088d85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c72
+8b1e67856587658b4f8b4f94549e080ef765fb7ea7f839f8436da412f7faf7ce13b0
+f726fb6315838c848d898e859289938e978c948d958d9508f736f951058d968e958d
+929097919492918f8e918c938c948b92888e878f848d818a818a858a81887e08fb35
+fd4c05887e89818985867f858283850883858588858c08487115f70a8bf68a90a005
+8c908a8d878b086d067e8c828d888f869289948d968d948d958c9508e1f8060513d0
+9884a986ab8bc68bc0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e
+4e8b08718b4a8a65880813b0808a7f8b7f8b0868698e8b1f13d0fb018d8676058987
+8d888e8b08a906998b93898e8691848c828a808a868981887e08fb35fd5005887e88
+818985877f858383848687828a7d8a086d06888b88888a87088676050efb7afb08a0
+eaebf76fed01a6abcef003df3915858f85948597879589968a978a958c928c918c8f
+8c8e8d8f95849488938b998b968d9592089a9593998f9b8e978894869484977e907b
+8b818b818883868186818183807e7c8479867808898089808b818b888c888b878c79
+8f7e9180927e9382958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108
+f71bf87315839681907d8b7e8b7f857e817f818480887e8a878b878b888b828d8491
+8492819587998b08998b97909794979592968e988c8f8c8f8b8f8b9388938691080e
+f7fba3f7ada301ff00e84ccdff003afffff713c603ff01634cccf92c15bb9a42553e
+853e505583d9c3c08de9c91f88fbc515ff00434cceff0039b332bcf70bf70dffffc6
+4cceb3ffffbfb332ffffba4cceffffcab333432dffff99199aff0032ffffffffc3e6
+66d01f0ef801a8f761a0d7c512ff00d0e666c559bb13f0ff00ede666f98615f7060a
+13e8a6fbce15f71c0713f0f7070a13e8f7080a0ef801a8d1adf7527701ff0169199a
+bf03ff0169199aff027db33415ffff744ccc2907ff00068000ff00118000ff00344c
+ccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e88638986838c7c8f
+85a98cff000cb3328bff00234cce8bff001d999a8bff001266668ba98a8f928b9987
+93698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff3999aff00011998
+fffff9b3321efffffcb3348bfffff6b332ffffff8000fffffee668ffffff4cccffff
+f0b332fffff6e668fffff4999afffff4cccc82fffff58000ffffdce66662ffffd433
+34ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffccccd86ffff
+fd1999fffff9b334fffffd666783fffffae666ffffebccccff001a999a8b08ff0076
+cccd060ef7fba6f739a6d1ae01ff01884cccc403ff01884cccf86215627a685e1e75
+8b80928294839383927e8b08fffff600017f837e73ff003bffff7eadd0bcc0c7c167
+bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378bffffea0001fb23ff0005ffff
+88059992a092a18b08d38e506d1f0ef7fba3f729a3f7059e01f780c0f70bc403f82c
+f85b15f7090ac49015f70a0a0ef919b112f77da0839d9fad13b0f7c1f91915f70b0a
+13d0f70c0a0ef7fba5f7a9a512ff00e64ccdff0031ffffffffdd0001ff0030ffffec
+ba6ac513d8ff01564cccf92a15f70d0aeb6215b35ca65e56ffffd000016e5e1e8b6e
+ff000fffff71b3780897850513e46577ffffd30001668b670849ff0043ffff7bb7e5
+aac4ab1e8baa79a46c9c0864a005c6ad8fa98b9a08242915f70e0a0ef7fb9ef705a4
+f728a301ff00efb333ff00380001f70bc303ff0127b334f8e415b192adb7a7b37438
+1e7707757a75867d8b085386c1a11fffffc7ffff8615ffffffffff7a943cff006100
+018ba48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593cffffe3
+ffff4a671e0ef87cb201ff00ec4ccdff0026ffff03ff01134cccf8a315f6ffffd900
+01202064f621ff0026fffff5f5b2070ef87cb201f71af78203f808f8a315fb8264f7
+82060ef86eadb2ad01ff0088b333ff00e6000103ff016eb334f8d915f70f0a6404f7
+0f0a0ef7c0c003f7c0f89c15f7100a0ef81cc103f852f89e15f7110a0ef801a8f75d
+a17dad12ff009ecccdbbff0080ffffbb13b8ff00d7cccdf8c615ff00130001a2ff00
+21ffff9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733348b
+ff0017cccc8bff00234cce8bff0005b3328ba98a8f918c9a8693638d838e8bb408f4
+07ce73a45d1e678bffffd74cceffffec4cccffffe7b333ffffdcb33486fffff8b334
+8bff00054ccc8b8e8ba7899888928a8e8a8e868b0813d87a83768560858a878d7d8c
+87ac8894868b63082007ff00000001627e88638986838c7c8f85a98ca28ba28ba48b
+928ba98a8f928b998793698d888e8bb408ef07ff000000019390948f90080efb09a3
+f7ada301ff0083b333c6ff007f0001c603ff00feb333f75015bb9a42553e853effff
+c4ffff5583d9c3c08de9c91f88fbc515ff00434cccff0039b334bcf70bf70dffffc6
+4cccb3ffffbfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0e
+fb03a801f77ac103f76cf72515978d826b1ffb16078b586c88638986838c7c8f85a9
+8cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8bbe08f783
+07fffffab33490fffff89998fffffde666fffffab334fffffd199a5f70717f5c7a8b
+7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b080efb04abf79a
+a912ff008a4ccdff00396666ff006b9999cc82a313f0f739ff006cb3331595ffffff
+ffffff0011b333ff00054ccd8e9dff00014ccdff0007e666fffffacccdff000ccccd
+ff00038000ff00084ccd90979794aa8bff0011ffff8bb5848b5c8b5dffffde999a6c
+ffffcfcccd685affffdc6666ffffc5999affffd3999a8b5b08ff00f9ffff0613e8ff
+00088000ff001ab333ff00063334ff001f999aff00044cccff0023b333fffffab334
+ff0003b33383ff0001999afffff54cccffffffb3330813f0806ffffff04cce64ffff
+e2b3328b08ffff8f000106ff0002b334acff0021e666a4ff0029ccceff001e4ccdff
+00354cccff0026b333ff002e4cccaf8bb908cb449effffce00013c6dffffceb333ff
+ffe34ccd1efffff1b333ff000eb33380971e0efb0aa9f719a6f702a912ff0072b333
+ff0036cccd5cbdf702c66ac913e4ff011a8000f72515a30a13f2a3be87525455786e
+1f6b8bffffedb333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b3
+33fffff38000fffff7199afffff2b333ffffe08000ff0050999afffff4b333ff001a
+3333dbd0b6d01f8bc55ca36a8e0813ec9d0a0efb03a8d1ad01ff010e999abf03ff01
+0e999aff00a1b33315a20affff3a4ccd048b627e88638986838c7c8f85a98cff000c
+b3328bff00234cce8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8b
+b408a3bd0791ad538b8bf74805ff0008e666fffff38000ff0001199afffff9b3321e
+fffffcb3348bfffff6b334ffffff8000fffffee666ffffff4ccdfffff0b332fffff6
+e666fffff4999afffff4cccd82fffff58000ffffdce66762ffffd44ccdffffcbcccd
+ffffdeccccffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9
+b333fffffd666783fffffae666ffffebcccdff001a999a8b08ff0076cccd060efb09
+a6f739a6d1ae01ff0129b334c403ff0129b3347d15627a68ffffd2ffff1e758b8092
+8294839383927e8b08817f837e73c77eadff00450001bcc0c7c167bfffffb1ffff1f
+7d8b728682850897dcff008700018b8b8c90adffff5cffff8b75fb23918805ff000d
+ffff92a092a18b08ff004800018e506d1f0efb09a3f729a3f7059e01f71dc0f70bc4
+03f7c97615f7090ac49015f70a0a0ef73db112f71ea0839d9fad13b0f762f73d15f7
+0b0a13d0f70c0a0efb09a5f7a9a512ff0087b333bd68bcff00610001ba6ac513d8ff
+00f7b333f74e15a4a37d701f8b6e766f7b8208ffffebffff9505ffffdaffff9f88a2
+8b9a08a9a394a31eff006000016215b35ca6ffffd2ffff565b6e5e1e8b6e9b71b378
+0897850513e4ffffd9ffff775e668b670849cf7bb7ff005a0001aac4ab1e8baa79a4
+6c9c0864a005c6ad8fa98b9a08ffff98ffff2915ff001d00017d05b3778c718b7208
+62717fffffdbffff736496b81e8badb2b29b94080efb099ef705a4f728a301ff0088
+4ccdc3ff0076ffffc303ff00c04ccdf70815ff00000001b192adb78bff001bffff8b
+b3748b38087707757a7586fffff200018b085386c1a11f538615ff000000017a943c
+ec8bff0018ffff8ba69c9a997f516948ffff93000178087807f72d97c7f28bdd08f3
+41a7ffffce00013c6f4a671e0e96b201ff00eb4ccdff0026ffff03ff01124cccbd15
+f6ffffd90001202164f521ff0026fffff5f6b2070e96b201f71af78203f808bd15fb
+8264f782060e88adb1ae01ff0088b333ff00e6000103ff016eb334f315ffff19ffff
+68ff00e60001066504f70f0a0ef73cc003f73cba15f7100a0ef78ec103f7c4ba15f7
+110a0efb11adf77da501ff0078e666ff003a199aff0077e666ff003b199a03ff012a
+e666a51538076e737881748b668bfffff4199aa08ba18bacff0019e6669de9a208ba
+fb2b15a08ba09895958c938791838e88888489878b0881fffffb199a9cb61fd907ee
+ffffc0e666a0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92089c
+a297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a75a7
+8b080efb09aef704aad6a401ff00864ccdc1ff007bffffc403ff01084ccc3915ffff
+e700018b77977ca17f9e87a48ba48b8d8b908c8f08ff00b3ffff8905ffffff4cceff
+00478000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012ccccffffef6666ff00
+1be667fffff7199aff002280008bff002dffff8bb9a2a5aefffffc4cceff0009b334
+fffff86666ff00064cccfffff74ccc8b0878756d7a658b08bbf72315ffff8800018a
+05ff0004ccceb3a9afff001c33338bff0017ffff8bff00214ccefffff58000ffffff
+b332ffffbf8000080e350efb04a1f775a101f70ff7a603ff01503334e815a7ff0023
+e666ff0004b332ff00044ccdff001c199aff0001cccd8f8f8b99878f798a848a748b
+738b7c8c798c87878b7d8f87a88afffffe3334fffff7cccdfffff2ccccffffed3333
+088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a738b748b818c79
+8c87878b7d8f87ff001c199afffffe3333ff00011999fffffd999aff001a999affff
+da333308ff003833333b058888ffffcecccd518b8bffffe19999ffffdc8000fffffd
+b334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928ca28ba38b9b8a9d
+8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97788e836e8a8787
+8b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e666ff0001cccdff
+fff9999aff0002e666ffffe5b334ff00254ccd08ffffcbccccd5050efb09a4d6aaf7
+04ae01ff00884ccdc4ff007bffffc103ff00f14ccdf71215a48b9f7f9a7597788f72
+8b728b898b868a8708ffff4c00018d05ff0000b334ffffb88000ff00134ccdffffc4
+8000e08bff0055b3338bff002c4cccd28bd58bff002b6666fffff5ccceff0027cccd
+ffffe46666ff00184ccdffffed3334ff0010999affffe41998ff0008e666ffffdd80
+018b5d8b5d747168ff0003b333fffff64ccdff0007999afffff9b333ff0008b3338b
+089ea1a99cb18b085bfb2315ff0077ffff8c05fffffb3334636d67ffffe3cccd8b73
+8bffffdeb333ff000a8000ff00004ccdff00408000080e350e40fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f7120a0efb7c0ee7fb04a2f76cad01f786ff
+0031e666ff0063199abd03c7f71f15f7130a0e58fb03a8f75da17dad12ff0046cccd
+bbf715ff002fffff13b8ff007fcccde115f7140a13d8f7150a0e33fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a
+0efb200efb4ffb0aaef765a801b0bd03f715f71215f7190a0eb8f7a8baf777ae12cd
+e0f7b6a580a513f0f7827b15d38bccc3abce08749205715b6771668108a6f72e0591
+aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c8d8b8d8b8d8b9e7c9970
+8b08658b6254716e08898b9cde7c8b05848b848881876f7f80866382088c72058f8c
+8f8b8f8b978b95868b798b878a868a870869fb59055e9b74ba8bdb8bac8fb393b8a3
+f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513e89af7307189058b888b
+898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb4d856d896f8b7108fb14
+c838f7031e0eb88aa8f762b2bab2f742b271a712f871a613f4f804f7fb15fb078ba4
+f722058fa59b91a18b08d106cd8b9e568d4308a68f94f734fb4d8b3d8b0513ec7efb
+068d8b1f13f4898987790513ec8a868e88908b08a806ae9685761f8b868b85898408
+72fb22358b8464e18b835c358b8464e18b6ffb3605856c7a7e638b087106868b8788
+8a860888788c89058be28db2afe8898b1e8d8d8f9e058c90888e868b087106687e97
+a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7078b050eb87fbd93b2f725
+b2bab2f746b5019dcfe2d203f737e015888b878b888a08908f05aea2a9b3a0da08f7
+0d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059addbdcab78ba08b97809580
+94819383998ba18b9f998fa3089007a85c95761e588b5d796469525b6d5b7b43082f
+8b8564e68b835c2f8b8564e58b057e5476515f638485858686876e7d717887750888
+07809581981e9c8ba3968fa58d95989bab8ba58ba07fa27da47ba67bb08bd18bbdae
+a5bc088691056d6a52846f8b718b7d937d9678997399518b080ef88581be59a47aa5
+f778a9d0ae7da5f731a276a912f830d169d3e3a096c7f700cc87a0133878f5cb1587
+727c7d678b087306868b89888a8708887a8c89058bdf8dabaeda898b1e8d8d8d9c05
+8c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08aef75b0596859487a38bea8bc7
+b9acc008c18b5bfba405887f8a808b8108139038639e7aad1e133038aa8baa97aba2
+08877205958d928b908b918b918b908908135438a185a788aa8bbe8be8a19be58c92
+8c928b918bc557a54ea8639e77958ba78b8f8b8f8c900894beb59bae8b081354349f
+8bbf80952b08a08c93f700057c955d995e8b438b485d814e89828a838b848b5bad7b
+c17308135078c66fa0748b6b8b878a858a87835d5976688b6a8b729c83947c9d87a9
+8ba18b928b918c8f08768a824505139970767e7b87778b7b8b85958ba18b978d9c8f
+a008b3f779e08b05948b988e8d93088e9d058f898d871e278ba4f71e547a88790581
+4f79685d84929c909c8d9b081311b08d938c958b948bc16fd0fb128b768b6b8a5c88
+08133a785f8956887e8b08877a05888b88911e8f8ba18c938b988ba0878b728b888a
+878b8708d8a8151311b09c919e919b8bbb8bbb7a8b3f8b7e8a7d887a792a57623c8b
+778b818e818d080ef81c82a475a378a5f77aaedea5f738a512f827d99ea196c6f700
+cc88a0133f80f873f844158c968c968b958baa83a57aa16bb45390588b2c8b428578
+8608887a058a878d89908b08a78d058c8c8d8b8e8b9b8b90838b7d8b858b858a8408
+3afc580587727c7c668b087406135f80868b89888a8708887a05133f808c89058bdf
+8dabaeda898b1e8c8d05135f808e9c05133f808c8f888e878b0874066c7e949f1f8b
+8e8c8f8b8f08adf75205c88b8b868d8508c1fb4105135f809760aa69ba8b988b9a8e
+948e089e07898a898b898b6d8b7aac81b00854f74c05b199dfbd9deb083b89158565
+7a6c7772726c707c4e8b08738bbaf79e05a1908f8da88bb48bb4788b458b7e8a7c88
+7b08f0fbc2157bfb1405948d938b908b918b908b918908139fc0a185a688ab8bbe8b
+e8a19ae58c928c928b918bc557a54ea8649e76958ba78b8f8b8f8c900895beb59bae
+8b08139fa09e8bc080952b08a08c93f700057b955e995d8b438b495e804d8a828a83
+8b848b5bad7bc07308139fc0c66fa0748b6b8b878b858a87825d5976698b698b729c
+83947d9d87a88ba18b928b918c90080ef02cb9b0b588a7f7f4aee6b2d1a9a57712cc
+dc13dff7f2e4155c646c776a8b5d8b5cb68be78b9c8c9d8fa098d3a3b69da0b3bab5
+8e9f8bba8ba1769e6508f753f774153e8ba1f712758b0576827b877987798865857c
+8b08887205888d898e1eab8f05999382731f8b81897d897b088a8afb238b8464f724
+8b77fb050575986194778b498b5b755c6559606c4d7e4187788a798b7a8b2cbc49e7
+8bbe8bb7a9b8b2087c46a38b0513bfa39dc196c795088ca7057c88748b7f8b838b81
+918a948b8c8a8d8b8d8b948d9a8fa308d4f831d98b05fcc4fcda15845df85b8b93b9
+050eb87fb5f755adbeadf764ae12f1ff0051b333ffffc63333ff00508000ff010799
+9aaa13fad5f7c815ff002a666606fffffdb334fffff68000fffffdccccfffff66666
+fffffe199afffff6199afffffe999afffff8999afffffeb333fffff8999afffffee6
+66fffff8cccc08ffffdacccd8b73728982c68b05fffff3999affff70b333ff003a33
+33ffffa44ccdff007633338bbf8bb69ca78999b3aecc9db9086e92056849674a438b
+ffffaecccd8bffffde9999c9ff000e4ccdf71708ff00a74ccd8ba4adffff4433338b
+05ff0001b332ff000a999aff0001e66796ff00023333ff000b6666ff0001333391ff
+00014ccd91ff00014ccd9108ff00cd33338ba3ad0513f6ffff23666606ff00206667
+ff0072999aff003db333ff005d6666ff004d80008bd48b9b4b8e4808aa90058bb98d
+c592b56e89619c578bffff8e4ccc8bffff9b80012dffffd11999fb2908ffffe7199a
+8b7373050ef9318aa9f7e8adf729a901f8c3d7f7eadc03f827f8da15a5ada6a1afa3
+0888980556755c6f5f5a42814472396008917705cfa8caa5cb97675b694a69300823
+fba805816e7a7f698b087006878b87878a8708847af7098d05ac8b9c89de8bf75b8b
+f723f730aaf7438e9b8c9b8b9a8bf70b38e1fb108b08fb1ffb8415b0efa8cba7b908
+9006f70ebc3d2d1f8b7a8979887972fb1e3cfb34fb618b548b818e8b968b8d8c8e8b
+8e8c918c8e8d8f08f80dfb9315a7b4aee9a8d3a17ea185b28bf7418bf713f7399ef4
+8c948c948b948bcc5eb7398b618b4d7d5565086a73636c58fb110844fb46055dfb03
+6b55736c088e7b05f883f8771578fb0038fb18fb048b718b7a9477a3838475778289
+08d7f74d05c1f718c8a3b98bbb8bad798b528b838a808980080eb88aa5f778a9d2b2
+b9b3d8a276a912f74ad8f726d013f3f810f7f615715a6075518b788b808e818d0897
+cd05f748e0158a868a858a848a818882898208fb388b93b905f73ab315fb338b97ce
+0513f79b919f919b8bb88bb87c904b08f70216630686be6ac5fb088b768b6c8a5c88
+0813fb5f8960887e8b08877a05888b88911e8f8b978c928b998b9f878b728b888b87
+8a870884654d8b8463c98b835d4d8b8464c98b58fbb60587727c7d668b087e06868b
+88888a8708897a8c89058bd58dabaed9898b1e8d8d8e9c058c8f888e878b0873066d
+7e949e1f8b8f8b8e8c8f08aef75b0595859587a28bec8bc7baacc108bf8b92b2638b
+05929a8f9a8d9a088cae070ef7cc7facf783a4f713abb877f76ba401f9bcf96a15f7
+1a0af74bf8ca15f71b0a622415f71c0af76efc5b15c68bb4a8b0ab0876a1056b6e60
+767c8b7a8b6f989ad59deac9c4b58b918b998788778778898c887f89808f7fa88b08
+948bac938fa392ac7ab0438b3b8b203976fb018362a94acc8b080ef7cc7da3f78ea2
+f715abb877f76ba401f842aef74caf03f9bcf96a15f71a0af74bf8ca15f71b0a6224
+15f71c0af76ffc5d15d28bcaac96c793af63a95ba57b93869a8f9f8fa2a0a2a98ba7
+8b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f9879b172a37ba87685
+6d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b080ef78f7fb4f8e4b0
+01f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bffffd6199a8bffffde
+3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f333405ff00273334
+ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a943508ab8f058bbf
+8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb3af76c8b08ffffdf
+999aff023ccccc15ffffa48000fffe27800005ffffd04cccff003b8001fffff53334
+ff005f9999ff00116666ff005a999aff0015199aff006ae666ff0035ccccff0049e6
+66ff0039b334b9080ef82a7bb5f844a7c7adbda701f9b0a903f8b07b15eb8bd4bcd9
+e308779a0538385670368bfb148b51f711a6f71db4f768f718b9da8bf7008bb54a92
+2e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565fb556ffb25dffb25
+f74f8b08fb72f8d115f71d0afb3a8c15f71e0a0ef7fe7ea7f786a6f70facbd77f765
+a401f9bcf96a15f71a0ae8f83f15f71f0af7abfbc01596c4b5e8cb8bb18b8a5d8363
+836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e19ff294ba80c8
+318bfb098b35237c3d080ef7fe7cb2f764bef710acbd77f765a401f9bcf96a15f71a
+0ae8f83f15f71f0af7defb6415949f93a08d968d978d9f6a8b698b68785b62089b79
+059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e846a967c
+ba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05797a7d81
+838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b8b663649
+65788b808b8a938f9d8d95919c919a080ef82d8aa8f78aadf72aa7beb170a8c0a712
+f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a98f0513ef
+8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513ef898b86
+911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a860887788d
+89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa08b2f75e
+f7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad98b192a2
+8c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb6ef78d15
+f71d0afb3a8c15f71e0a0ef74d46c2a976f886c001f8d6f73d15a2f70d46dd25ad59
+66536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e8f0577
+716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c86707475747d0854
+bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8baffb12
+7b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58bba8bae
+66a16bbcdcf752b1b0f750080ef7fb8aa8f7bcb2f793a701f8d8d315856f7a7b628b
+087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90888e86
+8b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d0862fb
+67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764
+fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334ff0007
+6667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199afffff87fff
+ffffff999afffff933348b087106868b87888a860888788d89058bf7258daeb2e289
+8b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05fffdfe66
+68fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015999aff
+fff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666fffff399
+9a6efffff8b334080ef7267fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3cff7
+8405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a75896da0
+7ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08bdf7
+350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a8778
+87798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b080ef7
+267fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff00
+8d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b9181
+8a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff0066
+3333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b9c
+7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d10877
+9c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec76e
+9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db305
+0ef72a7fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080e437db2f8ada301f76df7d915a3f7100594b9a1ce
+b38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cccc
+9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e056f
+fb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef7e8987692a8f8e2a712
+1360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a646840
+8c8b1e868a8878058a869288908b08a606b48b916986700841fc0f87740589808987
+878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b0890
+06ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999aff
+fdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e8d
+8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b9480
+987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a15
+ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff0000
+999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764ff
+fffe8000080ef8a87fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f15835f
+f77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b79818672
+856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745fc
+4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f90
+7a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f85
+8b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8ba0
+618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08ae
+fb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080ef79b8aa8f7
+94b1f7baa57ba71213d0f8cef87215f7200afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f7210a0ef7d3fb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef7cfacd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080ef79b8aa8
+6fa0f79bb1f7baa57ba7121328f8cef87215f7200add8c1595bd81b46ead64b84590
+4c8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668
+fb07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408
+cdfb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b9
+99f4c4a0f40813a0fffdece668fc5715f7210a0ef7f9f7afa37da0f782d98d9f12f0
+a9f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d81
+5983606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b
+8d8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891ab
+a7a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b
+087d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc
+8d9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b08
+9a06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a
+889089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d
+0613bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d93
+05137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb
+238b8b8d849388908b948b918f8f91088b8becf736bbdc080ef826f7b9a0f7cca501
+f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a290
+8ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b08
+bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a05
+8bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e15
+8b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b789
+8b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f9091
+8b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a83
+058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b848b
+087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d84
+8b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d84938890
+8b948b908f8f91088b8becf736bcdc080ef7be8bb264a8f87276f70cb3121370f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513b0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc24065c8b9094678e7c5573437c6208a78605aed0a6bed78b08f75b0693
+8b8e898a858a868684848408fc81fcb105838387838a8408137089818f86998b080e
+f7a58bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef7a5b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8
+db1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca
+61ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f7
+05bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf
+8b08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf7
+5c8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080ef70c83a8f74ea7f746a8
+01f733f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f7
+2927e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f
+5e5373518b398b58c08fa2080ee3a07601f829c903f8aef84e1594b7689772923ca5
+b397799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd3
+666878ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f
+727b708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000
+ffffb19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608
+f006a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332
+ff00226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa
+91aa84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104ccc
+ff00036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199a
+ffff15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff00
+008000ffffffb334ff00008000080ed68beff7d9f70001f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080e519a7691ef12a3
+f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e4780
+56c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208f7
+0f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080eb89f
+76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968aa28b
+8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a817f98
+8bca809eec99d18dce99d0080e2c8aadf872f70c01f763f70b03f763f8cf15846aa1
+70ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b055d7c
+6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b088306
+868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e868b0883
+066a8b849a90a7080e36a9f719a6f702a9d1a812f725c1ff00a3b334ff0036cccc5c
+bdf702c66ac913f800f8a8f8ed15a00afc4f7515a10a13f900ff018f8000fc1d15f7
+220a13fc80f7230a13fb00f7240a0e34a9f719a6f702a9d4abf79aa912ff00304ccc
+ff00396666ff006b999bff0040ffff82a3ff00536668ff0036cccc5cbdf702c66ac9
+13fc00f8a8f8ed15a00a13fc20ffffe28000fc3515f7220a13fc90f7230a13fc60f7
+240afffe2a8000ff0168b33415958bff0011b333ff00054ccc8e9dff00014ccdff00
+07e668fffffacccdff000cccccff00038000ff00084ccc90979794aa8b0813fe009d
+b5845c1f8b5dffffde99996cffffcfcccd685affffdc6666ffffc5999affffd3999a
+8b5b08ff00f9ffff0613fd009a0a13fe00806ffffff04cce64ffffe2b3338b08fb05
+06ff0002b334acff0021e666a4ff0029cccdff001e4cccff00354ccdff0026b334ff
+002e4cccaf8bb908cbffffb900019e593cffffe1ffffffffceb334ffffe34cccffff
+f1b334ff000eb33480971e0e35a6f739a6d1aed9a801f722c1ff0156b334c403f8a8
+f8ed15a00afc527615a10aff019ab334fcbf15f7250a0e36a6f739a6d1aed8abf79a
+a912c3ff00394ccdff006bb333cc82a3ff00f8b334c413fc80f8a8f8ed15a00afffe
+14b334ffffc7b33415ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff00
+07e668fffffae666ff000cccccff00038000ff00084ccc90979794aa8b0813fe809d
+b5845c1f8b5dffffde80006cffffcfcccd685affffdc6666ffffc5b333ffffd3999a
+8b5b08f78e0613fd809a0a13fe80806ffffff04ccd64ffffe2b3338b08fb0506ff00
+02b333acff0021cccda4ff0029cccdff001e4cccff00354ccdff0026b334ff002e66
+66af8bb908cb449e593c6dffffceb334ffffe34cccfffff1b334ff000eb33380971e
+f867fffdf94ccc15f7250a0e36a6f739a6d1aed1a9f719a6f702a912ff0017b333ff
+0036ccccffffd10001bdf702c66ac9ff01013334c413fc20f8a8f8ed15a00affffda
+b334fcd315f7250a13fca0fffea6ccccf8be15a30a13fe609c0a13fda09d0a0e36a6
+f739a6d1aed9a8d1ad01ff00ca199abfff00f6999ac403f8a8f8ed15a00affffb6b3
+34fcd315f7250afffed56666ff023bb33415ffff744ccc2907ff00068002ff001180
+00ff00344cccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e886389
+86838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff001266668ba98a
+8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff39999
+ff00011998fffff9b3331efffffcb3348bfffff6b333ffffff8000fffffee666ffff
+ff4cccfffff0b333fffff6e668fffff4999afffff4cccc82fffff58000ffffdce666
+62ffffd43334ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffc
+cccd86fffffd1999fffff9b334fffffd666683fffffae667ffffebccccff001a999a
+8b08ff0076cccd060e35a3f729a3f7059ed4a801f727c1f746c0f70bc403f8a8f8ed
+15a00afc4d7615a10af836fcc615f7090ac49015f70a0a0e36a3f729a3f7059ecea6
+f7407699a6d1ae12ff00e74ccdff0038ffffff0027b334c0f70bc413f3c0f8a8f8ed
+15a00a41fcda15f7090ac49015f70a0afffeba4cccf82215ff00000001627a685e8b
+758b80928294839383927e8b08817f837e73c77eadd0ff0030ffffc0c71f13f7c0c1
+ffffdc0001bf3d1e7d8b728682850897dcff0086ffff8b8b8c90adffff5d00018b75
+fb230513fbc091880513f7c0f7260a0e34a5f7a9a5d4a812f722c1ff00b7b334bd68
+bcecba6ac513f0f8a8f8ed15a00afc527515a10aff016bb334fbf71513f6f70d0aeb
+6215f7270a13f9f7280a242915f70e0a0e36a5f7a9a5cba9f719a6f702a912ff0024
+b333ff0036ccccffffd10001bdf702c66ac9ff00563334bd68bcecba6ac513f800f8
+a8f8ed15a00affffacb334fc0b1513f830f70d0aeb6215f7270a13f848f7280a2429
+15f70e0a13f900fffee8ccccf88015a30a13fc809c0a13fb009d0a0e35a5f7a9a5cf
+a6f7407699a6d1ae12ff00f84ccdff0038ffffff00266668bd68bcecba6ac513e600
+f8a8f8ed15a00affff89b334fc0c1513e6c0f70d0aeb6215f7270a13e720f7280a24
+2915f70e0affff379999f7e415ff00000001627a685e8b758b80928294839383927e
+8b08817f837e73c77eadff0044ffffbcc0c71f13ee00c167bfffffb200011e7d8b72
+8682850897dcff0086ffff8b8b8c90adffff5d00018b75fb230513f60091880513ee
+00f7260a0e36a5f7a9a5f7f5b112f70ea0839d9fadff00aeb334bd68bcecba6ac513
+e400f8a8f8ed15a00affffafb334fc0b1513e580f70d0aeb6215f7270a13e640f728
+0a242915f70e0afffed74cccf89a15ef06715e53fb1068fb0308ad06aaf4c4f70ec0
+e608fb420613ec007b868c8f1f790613f400f70c0a0ef7d0a801f729c103f8a8f8ed
+15a00afc4b7615a10a0ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f864bffc6406abaabcc1a9d3080ebbf849
+b3f76c7701f758bf03f829f871152ae153dc7abc0874065ffb00fb14fb008a8b0863
+07dfb2b9b4a6ac08fd3cbff93c07aa6bc15ad36d080ef783bf01f9f0b303fa18dd15
+e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac7008fc6457f86406
+6b6c5a556d43080ed0ecb3f8c17701f762bf03bcec15ec35c33a9c5a08a206b7f700
+f714f7008c8b08b30737645d62706a08f93257fd32076cab55bc43a9080ef783bf01
+f86af7b715fbc006a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f
+81087407b37bae76a771ca52b166987b08b3066bcf6abf66b008f7c00666676a566b
+4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b8086406
+95749a6fa06b957b9d72a56a080ed1f94c7701f762bf03f762f8b115fc89076ba572
+9d7b956aa06f9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4
+cab0b19b9808b307476b576a666608f88907af66c06ace6b08b3077b9866b152ca72
+a876ad7ab3087406816f786b6e656e6466645e63086407a295a79aaba09b95a49dac
+a5080e9476ff02239998ff001accd001ff00304cccff001c4ccd03ff0133199aff02
+32666815ffff7e9999fffff83330ffff9f3333ff0011ccd0ffffd14ccdff00169998
+08ffffefb333ffffefb33405ff002d4ccdffff948000fffff1cccdffff591998ffff
+ff4cccffffff4cce08ff001c4ccdffffe3cccc05ff001fcccee2ff00038000ff003d
+8000fffffbcccdff002a666608ff01de4cccfffe21b334b0b0fffe218000f87205ff
+002c8000ffffff4cccff0048e666ff0003999aff0048199aff001db332080e9876ff
+02226668ff001c4ccc01ff022e9998ff001accd003ff02496668ff0133e66615ffff
+f83330ff00816666ff0011ccd0ff0060ccccff00169998ff002eb33408ffffefb334
+ff00104ccc05ffff948000ffffd2b334ffff591998ff000e3334ffffff4cceff0000
+b33408ffffe3ccccffffe3b33405e2ffffe03332ff003d8000fffffc8000ff002a66
+66ff0004333208fffe21b334fffe21b334b066f872ff01de800005ffffff4cccffff
+d38000ff0003999cffffb7199aff001db330ffffb7e666080eb1a5f8b877013ea803
+fbc7b115f71593ec79ba74089b9b055ef699f73b8c8c086ea8056b34884d8f6108fc
+72f8726666f873fc72055e8c4287436d080eff00214cccff001c4ccd01fffdb69998
+ff001accd003fffdb69998ff0124199a15ff0007ccd0ffff7e9999ffffee3330ffff
+9f3333ffffe96668ffffd14ccd08ff00104cccffffefb33305ff006b8000ff002d4c
+cdff00a6e668fffff1cccdff0000b332ffffff4ccc08ff001c3334ff001c4ccd0534
+ff001fccccffffc28000ff00038000ffffd5999afffffbcccd08ff01de4cccff01de
+4ccc66b0fc72fffe21800005ff0000b334ff002c8000fffffc6664ff0048e666ffff
+e24cd0ff0048199a080ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f7618bfb5bfc26c98bf75bf826f7598b8b
+bfffff54cccc8bff00b73334f8064d8bffff48ccccfc06ffff1933348b05abaabcc1
+a9d3080ef783bf01f82edd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c08ffffe0
+80008bff00698000f7694d8bffff48cccdfc06ffff2433338b8b57f7568bfb5bfc26
+c98bf75bf826f7648b056b6c5a556d4308ffffb8ccccf76515ff00496668ff009433
+3405ff0025b332ffffb19998ff00274cceffffd43334ff001fcccc71080e9e76f7fd
+cb01ff016780008915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d715
+2af7b1f7528b050e81c8f866c801f728d0f761d103f7da8115e98bbecda0f0084506
+7e51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e
+8b08432165fb94fb95f566d31f0e81acf7c9b1f72ed87aac12f703dcf796da13dcff
+01beb334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cc
+cc8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d85
+6b85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b2708
+8bffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215
+fffff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff00
+2de6668bff0029e666ffffea3334ff0024e668ffffe31998080e8bccf763ccf73ecc
+01ff01a08000d003ff01e58000f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7
+df060e8bccf763ccf73ecc01ff01a2ccccd003ff01e7ccccf8d015fffff2199a8bff
+00174ccecc6796ffffe499983ffba38b8b4aff00f766678bffffc29998fb3effff50
+00018b8b4aff009866678bffffb53332fb63ffffa266678b8b4ad18b05ffffe76666
+47b07fff001ccccddbff00dbcccc8b0546ff01a2cccc15ffffae3334ffffe2800007
+ffffe8999a4a15ff0034e666fb63ffff80999a060e82b6f88cb601a5bef87cbe03f7
+d5f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff08
+6666fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd
+8bf71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff00
+53800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf7
+17f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff
+0027199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffff
+d08000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff003899
+9affffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff
+01ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1a
+fb00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de66708
+0e8ba5f8e27701ff012b8000f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc
+038b8b88858a888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b
+8bfb2ef80328f77e080ea076f8e2a501ff01588000db15fb69f892f8368b05fb57fc
+e215ebf77ef72af8038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b
+898b898c888e858b8bf72efc03eefb7e080e8bc4f75dc3f75dc401ff00608000d103
+14e0ff0211800016c4fb2f07238b32e27cf70608f7f6c3fbf60698f700dae8f7088b
+08f72fc4fb2a06fb31fb12fb17fb2ffb2ef710fb18f7331f0e8bc4f75dc3f75dc401
+ff00608000d10314e0ff0211800016c4fb2f07ffffd980008bffffdb800097ffffe0
+999aff0014cccd08ff003c8000ff00a83333ff00bfe6668b8bc3ffff544ccc8bff00
+484ccef75dff006c66668b8bc4ffffa8199a8bff00176666cc6696ffffe4999a3fff
+ffeae6668b05fb31fb12fb17fb2f1f8bffffa26666ff002dcccdffffaa6667ff0047
+b333ffffcb6666085fffff85cccdb07fff0028b333f70505ff0027199876ff002ccc
+ce7fff002fe6668b08ffff70b333ff0073b33315ffffdb6666ff0023e666ffffe64c
+ccff0031e666fffff8999aff0038800008f70d06ff0014199ac315ffff72e6660698
+f700dae8f7088b08ff0005999a060ec7c1f4c1f3c201f726f7c303f7f3c715edc129
+06fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb
+14d551f7171f0e8bc4f75dc3f75dc401ff01d58000d10314e0ff006a8000f8d01552
+f72f07f38be4349afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731
+f712f717f72ff72efb10f718fb331f0e8bc4f75dc3f75dc401f867d10314e0f3f8d0
+1552f72f07ff002680008bff002480007fff001f6666ffffeb333408ffffc38000ff
+ff57ccccffff40199a8b8b53ff00abb3348bffffb7b332fb5dffff93999a8b8b52ff
+0057e6668bffffe8999a4ab080ff001b6666d7ff0015199a8b05f731f712f717f72f
+1f8bff005d999affffd23334ff0055999affffb84cccff0034999808b7ff007a3334
+6697ffffd74cccfb0505ffffd8e668a0ffffd3333297ffffd0199a8b08ff008f4ccc
+ffff8c4ccc15ff0024999affffdc199aff0019b334ffffce199aff00076666ffffc7
+800008fb0d06ffffebe6665315ff008d199a067efb003c2efb088b08fffffa666606
+0ec6c2f3c1f4c101f73af7c303f79cf843152955ed06f7128b9b52965b08fb8f55f7
+8f0680567559fb0c8a082954ed06f728c4d6f703f71441c5fb171f0efb02acf903b1
+6faa12f70fe0f771e013b8f8416a15707c7a601e8406868789851f8b748e89058bd9
+8db1b4e7898b1e8c8d8ba20591878d861e7006617b99a91ff8b9078ba9a494a98c08
+a906908f8f8f1fa2078a8bfb1989858b0813d8408a858b4a8b408b798b4a8c0813b8
+7c8bfb038d838b087307888d87911eab06ad9e88661ffcb907707c7a601e70068688
+89851f8b748d89058bee8db0b4d2898b1e8d8d8ba20591868d871e8306627b99a91f
+f8aa0713d8ad9096ac1ef72406ad907b6f1f0efb02aa6fb1f903ac12f710e0f771e0
+13b8f765f89215a69a9cb61e9206908f8d911f8ba2888d058b3d8965622f8d8b1e8a
+898b7405858f89901ea606b59b7d6d1ffcb9078b6d72826d8a086d06868787871f74
+078c8bf7198d918b081378d68c918bcc8bd68b9d8bcc8a0813b89a8bf70389938b08
+a3078e898f851e6b0669788eb01ff8b907a69a9cb61ea606908e8d911f8ba2898d05
+8b28896662448d8b1e89898b74058590898f1e9306b49b7d6d1ffcaa071378698680
+6a1efb240669869ba71f0e4dc551a1f8d9b574a212ff01f48000a11358ff01fc8000
+f8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a81897f8b0875f87507
+a7f743758d0513a88a866cfb06458b08fbac8bf760f7a48c8cfb40f7a4f7788b05c4
+8baa3a907808a18e050ef771c701f8cff7ad15990a0ef757c7f7bac701f7b4cb03d0
+f8b915f87c069b9ca29d9583947f1ffc78067a78707f819180981ff7affcb515f753
+f761079b9ca29d9583947f1ffb6ef760069681928177737b7d1efb54fb5e077a7870
+7f819180981ff76ffb62067f97869598a89b9b1e0ef74fc7f7acec12f7a3ec3bcb13
+e0f7a3f8d315719e75a9a79fa1a5a773a0731e707575701f13d09cfb1d15fb53fb61
+077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e079c9ea69795
+85967e1ffb6ff76206977f90811e7e6e7b7b1f0ef778d012f766ee63d913c0f7b9f7
+73156a6559908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe
+588969af089d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e780813a08da9a2b1
+8ba608a3759679797779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8b
+b893089a8d98869889080ef711bbf73dbb01ff00bc8000c0f731c003ff018e8000f7
+9415970afb668c15980a0ef75ff70001f79ef70003f7d4f75f159e0a0ef971b201f8
+61f97115f7290a0ef7faa9f719a6f702a9b8b212ff0072b333ff0036cccd5cbdf702
+c66ac913f2ff011a8000f901159b0a13f99c0a13f69d0aff010c8000f70415f7290a
+0ef801a8d1adf75277ccb201ff01058000bf03ff01058000ff027db33415ffff744c
+cc2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff0030800008
+ffff3a4ccc048b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff00
+1d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf7
+4805ff0008e668fffff3999aff00011998fffff9b3321efffffcb3348bfffff6b334
+ffffff8000fffffee666ffffff4cccfffff0b332fffff6e668fffff4999afffff4cc
+cc82fffff58000ffffdce66762ffffd44ccdffffcbccccffffdeccccffffca3334ff
+fffc999afffffa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffa
+e666ffffebccccff001a999a8b08ff0076b33306ff01218000f7a115f7290a0ed9c4
+53b9f78ec856c061b512ff002f8000ca138cff01708000f785157262414a588b0844
+66ddcdcaabbbcb1fc88bd625a558081324f792f71a15c886073c8b403f5c5208138c
+62cd3dce3c8b082249242cfb02d259d41fd58be0d9b4c5081354b849d046e08b968b
+968c958d08b707858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080e
+d9c453b9f796c061b512a9c6f85fc5139cf7b4f785157862514a648b08546fddcdca
+a3bbbc1fba8bc6259f5808f7988415136c4e735b5a1e5e8b54f271b99fb4c3cfb28b
+08c3a7324f1fc5b615e463d1401e4b8b4e3f655208139c6acd4cce4b8b083656242c
+fb02c459c61fc78bd0d9acc508136caf49c346d08b08dec1f1eb1f0e8bb801ff003c
+8000be03ff003c8000f84e15fc4ef838b8fc05f821070ef760f70001f7a3f70003f7
+d9f760159e0a0ef7a3f760f70001ff0078199aff006de666ff005f199aff006e999a
+ff005c1998ff006e333403f8d1f76015a98ba7a491a8ff0000b334ff00036666ff00
+004cccff00034cce8bff000333328bff0019333477ff0012e666738b6d8b6d71866f
+ffffff3334fffffc4ccdffffff9998fffffc4ccd8bfffffc66668bffffe8999aff00
+10999cffffec6666ff001c99988b08fb5f16a98ba8a491a8ff00008000ff0002e666
+ff00003334ff0002ccce8bff0002cccc8bff0019e666ffffebccccff0013999affff
+e880008b6d8b6d71856fffffff6666fffffc999affffffb334fffffcb3338bfffffc
+b3338bffffe8199aff000fe666ffffebe666a88b08fb21c115ff0000b333ff000366
+66ff00004ccdff00034cce8bff000333328bff00193334ffffec199aff0012e666ff
+ffe8e6668b6d8b6c71866fffffff6666fffffc999affffffb334fffffcb3338bffff
+fcb3338bffffe8199aff000fe666ffffebe666a88ba98ba8a490a8080ef76cd301f7
+6c04f914d3fd14060ef7b0d303f7b0fbb415d3facc43060ef76cd301f7b0d303f7f8
+f76c15f7b0d3fbf8fcd4d3060ef76cd301f7b0d303f76c04f7b0fc8cd3f8d4fbf806
+0ef76cd301f7b0d303f7f8f7b415f88c43fcd4f7f8d3070ef76cd301f7b0d303f7b0
+f7b415fbb043f7f8f8d443060ef76cd301f7b0d303f7b0fbb415d3f88cf7b0d3fbb0
+f88c43060ef76cd301f7b0d303f7f8fbb415facc43fc8cfbb043f7b0fc8c070ef76c
+d301f7b0d303f7f8f76c15f7b0d3fd1443f7b0fc8cd3060ef76cd301f7b0d303f7f8
+f7b415f88c43fc8cfbb043f914d3070ef76cd301f7b0d303f7f8f7b415f88c43fc8c
+fbb043f7b0fc8cd3f88cf7b0d3070ef724d3d3d301f914f76c15fd1443f91406f76c
+04fd1443f914060ef768d3d3d303f768fb8a15f72a0af76c1cfb8c151c0474431cfb
+8c070ef724d3d3d301f7b0d303f7f8f76c15d3f7b0d3fbf8fcf2d3f81af7b0d3070e
+f76cd301f768d3d3d303f7f8f76c15fc62d3f862f768d3fc40fcaad3f862070ef724
+d3d3d301f768d3d3d303f7b0f7b415f7f8d3fc40fcf2d306d3f86215f72b0a0ef724
+d3d3d301f7b0d303f76c0443f7b0fc1ad3f8f2fbf843f7b043070ef76cd301f768d3
+d3d303f7b0f76c15d3fc62d3f8aafc4043f768fc62d3060ef724d3d3d301f768d3d3
+d303f7f8fb8a15d3f8f2fc4043f7f806fb24fb2415fc1ad3f862fbb043070ef724d3
+d3d301f7b0d303f7b0fa1215fd82f7f8d3fbb0d3f7b0d3fbb0f8aa070ef76cd301f7
+68d3d3d303f7f8f7b41543f8f243fd3af840d3fb68f8f243060ef724d3d3d301f768
+d3d3d303f7b0f76c15f93a43fd82f840d307fbb0d315f72c0a0ef724d3d3d301f7b0
+d303f7f8fa121543fcaafbb043f7b043fbb043f7f8060ef76cd301f768d3d3d303f7
+b0f7b415f8f243fcf2fb6843f840f93a43fcf2070ef724d3d3d301f768d3d3d303f7
+f8f76c15fbf843f840f982430643fcf215f72d0a0ef724d3d3d301f7b0d303f7b0fb
+8a15d3f81af7b0d3fbb0d3f7b0d3fbb0f8aa43060ef76cd301f768d3d3d303f768fb
+8a15f72a0af724161cfb8cd3f862f768d3fb68f8f2070ef724d3d3d301f768d3d3d3
+03f7f8f7b415f72c0afd3a04f72b0afc40fc6215f72a0a0ef724d3d3d301f7b0d303
+f7f8fb8a151c047443fcaafbb043f7b043fbb043f7b0fc1a070ef76cd301f768d3d3
+d303f840fb8a151c0474431cfb8c07431c04741543fcf2fb6843f768fc62d3060ef7
+24d3d3d301f768d3d3d303f7b0f7b415f72d0af768fb2415fc1ad3f862fbb04307f7
+f8fc1a15f72a0a0ef724d3d3d301f7b0d303f914f7b415d3fd144307f7f8fb2415f7
+b0d3fd1443f7b0fc1ad3060ef76cd301f768d3d3d303f7f8f76c15fc62d3f862f768
+d3fd1443f768fc62d3f862070ef724d3d3d301f768d3d3d303f914f7b415d3fd1443
+07430443f768fc1ad3f86207f724fc6215f81af768d3fbb0fc62070ef724d3d3d301
+f7b0d303f914f72415d3fd144307f7f8f76c15f8aa43fcaafbb043f914d3070ef76c
+d301f768d3d3d303f7f8f7b41543f8f243fcf2fb6843f914d3fb68f8f243060ef724
+d3d3d301f768d3d3d303f914f76c15fd1443f91406fd14f72415f7b0f8f243fcaafb
+6806f9144315d3fb68f8aa43fcf2070ef724d3d3d301f7b0d303f7f8f7fc15f8aa43
+fcaafbb043f7b043fbb043f7b0fc1ad3f81af7b0d307fbb0d3f7b0d3060ef76cd301
+f768d3d3d303f7b0f7b415f8f243fcf2fb6843f768fc62d3f862d3fc62d3f862f768
+d307fb68f8f243fcf2060ef724d3d3d301f768d3d3d303f7f8f7b415f72c0afd3a04
+f72b0afbf8d315f72d0af7b04315fbb043f768fc1ad3060ef790f917018bf91403f7
+9004f914f917fd14060efb8af88601fb8a04f914f886fd14060e8bf91403fb8a04f9
+141c0473fd14060e8bf7d403fb8a04f7d41c0473fbd4060ef7d4f7d403f7d4fb8a15
+f7d41c0474fbd4060ef763fb76efefefefefefefefefefef018befefefefef031403
+80effb12152727ef06f7c0042727ef06f7c0042727ef06f7c0042727ef06f75cfc88
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06fb5cf7c0
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06f8880427
+27ef06fb5cef152727ef06fb5cef152727ef0627271527efef07ef1627efef07ef16
+27efef070ef763fb9fef8bef8bef8bef8bef8bef8bef8bef8bef8bef128bef8bef8b
+ef8bef8bef8bef138001f889fb3b158a8a8b28ef8b8bef05fbbf16138004f72e0afb
+be16138010f72e0a134002f75dee15f72f0a134008fb5d8a15f72f0a134020fb5d16
+f7300a132001f826ef15f7310a132004fbc08a15f72f0a132010fb5d8a15f72f0a13
+1002f7bfee15f72f0a131008fb5d8a15f72f0a131020fb5d16f7300a130801f826ef
+15f7310a130804fbc08a15f72f0a130810fb5d8a15f72f0a130402f7bfee15f72f0a
+130408fb5d8a15f72f0a130420fb5d16f7300a130201f826ef15f7310a130204fbc0
+8a15f72f0a130210fb5d8a15f72f0a130102f7bfee15f72f0a130108fb5d8a15f72f
+0a130120fb5d16f7300a130081f826ef15f7310a130084fbc08a15f72f0a130090fb
+5d8a15f72f0a130042f7bfef15f7320a130048fbc016f7320a130060fbc01627ee07
+8c8c8bee050ef763fb9fefefefefefefefefef128bf8ecfc88efefefefef13fb00f7
+c0fb3b1527efef0613f980f75c271527efef06fb5cf8881513fb0027efef0613f980
+f75c271527efef06fb5cfc881513fb0027efef0613f980f75c271527efef06fb5cef
+1513fb0027efef0613f980f75c271527efef0613fc00effcec1513fb80fa7c272727
+ef272727ef27270713fc0027270613fa00ef270613fc0027270613fa00ef270613fc
+0027270613fa00ef270613fc0027270613fa00ef270613fc002727060e9a7601f764
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0e83a8c8f55ca47790f703bdeaa712c8a7edbd97a595a992bdf2a8139ff0f7a8f727
+158f8a906081890513cff086e215139ff06c8b66688389088d860599909f8d9c8c08
+8d610513cff07a987e9f1ea18b95998c9f088ca70513aff09589948a938b938b978f
+929508879205818c818e888b7c8b729c798f08868c868b868b08bfee15f7330afb1b
+16f7340aeaf70c15f7350afc3304f70feeeef70f1f8bf147e02da59ea4c6b0ac9d08
+8b76a47f1e8a067b8a4c516d64878b878c868b0874f70e71759f278a8b057ac668ba
+58b108648605bc60b75e9e54267640328b2008fb0eed27f70f1e0e83a8e6a4f711bd
+eaa601c8a7edbd97a591ad92bdf2a803f7a8f704158c8b8f8b8f648189058dcd1561
+8b78a479ab08767f059b6e9f70ad81088d6a0579987e9f1ea18b95998c9f088dac05
+b197a0a99399087798056e5e6685768b08b8f72a15f7330afb1b16f7340aeaf70c15
+f7350afc3304f70feeeef70f1f8bf245e12ca49ec3b7b9beb7086390055865685b7a
+50088a8b9ff071a174fb0d05868a878b868b6db24dc47b8c088a068076728b1faa79
+c369a072287542328b2208fb0eed27f70f1e0e83c7e0f71012c8f70ebfe45a95828f
+ebf71413f2f7d8f7b3159997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697
+999a977f7d7d7f7f7c7d8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7
+b9beb7086390055865685b7a50088a8b9ff071a10513e674fb0d05868b878a868b6d
+b24dc47b8c088a068076728b1faa79c269a172287542328b2208fb0eed27f70f1e86
+f72515a08bb091a8b8089f7e05837d766d647f088a6a058a77817d758b08777e989d
+1f89ac05699577a67ba808a097059d6b9e72b58b088a701513ea8a64958d0513e686
+af050e8ba001f7b6c703f80df74a15ac8b8b2ae78bbd8bc1b78bdc8bb37db76ab0fb
+00f70b54d43df7023bfb04463831206d677d6c8b58082dc869b41ee98b88ecb08b95
+8b9a7a8b5e8b557e646b850876f728a0076a9181bd8bb58bbf9b96968b080e8ba0d0
+f7a8fb4df71b129cf8f2fc4af7a2fb41d64bc113a2f7eff71015be9092951eac8ba6
+30e68b0813b0d0b4c1d8b37cf4271f528b5858718b0813a4828393951f13a88baced
+9b8bf308c860c630286649551e13a48b24ec7d8b668b7d8288848b0813d06d8b5ebd
+518b082f7330563db755cd1f13a2e68ba6e6ac8b988b8d768b668b57836169830876
+f71da0076d9380bf8bb6080ef86ff8e815fb1c8b84fb1f7c8b7e8b80f71ffb178b58
+8b3e6b8bfb088bfb11f706fb18d23408eefb0df5f71105dbeaf0f70c8bf7108bf704
+44b0508b080ef9007701f7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706ea
+f5f0eefb06ed32f70139f703080e81f75101ff01c38000f94e1589fcd505ffffffcc
+cc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e666ff004d
+8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000ff001480
+00fffff680000888f8a0050e81f751f6a0f81b7701f7cbb3f724c403e3bf1564af74
+cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cccca67eaf79
+baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8bc38bff0031
+4ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f698b0859345a
+3d1f0efb28f75158f751f89b7712f78eaef78cae13b8f8a6f863158efc4805ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fbaff72263828efca0051378ffffeb8000ff00098000ff
+ffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffff
+d9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc08
+8df869050efb2bf7515bf751f89b7712f781b3f794b01338f7a9ff021b1998158bff
+0048e668f794fb178bffffb666660588ffffd5999a158efbe90513b8ffffeb8000ff
+00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffff
+b28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccccdff00
+003334cc088df8d1fbb9f72563828efca0051378ffffeb8000ff00098000ffffdd80
+00ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd9199a
+ff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df80a
+050ef7afbd01ff00c68000aef71dd203ff00e98000f76915aec1ab9ba78ba48b9c70
+8b718bffffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f7
+1eafe3ff0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060eff00e180
+00aef70bae03ff017b8000ff011ab33415fb0bffffd3e6668bff00624cccf70bff00
+2b666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8b
+ff0185999afb2effffbf4ccc8bff0095199a050ef8767701f77aaef701ae03f80af8
+ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4dc1
+ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b8b
+ff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ffff
+e980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffec3
+199a15fb01ffffd366668bff00654cccf701b7050efb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392ca9ab192a5f7151253ff00098000ff00048000
+948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321f993f0
+f7bdf88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366661e
+8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8bffff
+fee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff00008000
+ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b899105
+ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c86088506899489
+91868b081321f999f0306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b8c8a
+1e888188841f7016888984878b8b081321f9d5f0819886978b9508a092a59fa39170
+80fffff1e66889fffffb19988b1e868905ff0000cccdff0001e666ff00003333ff00
+02199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000ffff
+f8cccc081325f991f0f7f8fc2815888b8cff000d6666fffff18000ff000a66670813
+31f991f0fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3
+348bfffff89998fffffa3333fffff8b334fffff8999a081327f991f084fffff8e666
+fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba97bbd
+6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd3333
+ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989891e
+fb9af833158a8c848e8a8b081321f995f08596899b8b93089d989aa19d9e7d681e8b
+7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d8708
+ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321f9b1f0878f898d8b8f8b
+a4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d8b72
+8bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caaa108
+cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b938a94
+8a93088bad8b94051323f991f0a38fa09d1e8f8b8f8992858d7f8e809183081331f9
+91f0937c9e87988b0813a7f991f0af8b9eb99b8bff0006b3348b8cfffff08000ff00
+01cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd
+ff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccff
+ffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee66
+68fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a81
+9c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33330813
+69fb91f08ba1ff00148000ff000533338bac081369fd91f08b9c849c8b998b958eff
+000b333393ff0006cccdff00074ccdff00063333ff000bb333fffffdcccd978bff00
+0a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff000be6
+66fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b3337799
+ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e667ffff
+f00001ff000d8000ffffe79999ff00043333ffffedcccd8bfffff266668b838a8589
+85817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08fffff080
+00ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196838a
+928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff001c
+1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e667ff00
+09e668ff00071999ff000c8000ff0003800095ff0001999aff00048000ff0000199a
+ff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666fffff1
+8000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff001219
+9afffff2b334ff000f199affffe6ccccff000d6666ffffe9999aff000c6666ffffe0
+33338bffffbe33338b778a788878081323f991f0858f858d868b7c8b7f7b8b648b7c
+8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e8bff
+00064ccdfffffb4ccdff00089999fffff6b333ff000a999afffff5999aff000be666
+ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffffe699
+99ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff000a
+999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58bb685
+a0880813a9f9d1f0ff0009999affffe76666ff0016e666fffff3999aff001f80008b
+ff001e999a8bff00176666ff0016999aa2ff0013b333ff00111998ff000eb333ff00
+178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff00169998ff
+fffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed3334ff
+000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff29998
+8b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b4808
+1369fdb1f08b4394678b708bffffe3e666ffffec199affffde999affffe2b333ffff
+deb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddccccff
+fff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb333
+fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff119
+9afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff000280
+00fffffacccd8381ff0003cccc8cfffff700017682fffffb8000fffffae666ffffff
+8000ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999a
+fffff8199a85fffff8b333fffff480008bffffed8000081361fbd1f08b8092688b83
+8bffffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333
+ff0014e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff00
+19cccd8b9f8ba192999f08a396ae8ea78b080effff4d6666ff00234ccdfffff1199a
+ff0023999aff009d7fffff0024ccccfffff36668ff003ae666ff012d6666ff005233
+3412ff0006199aff00316666ff0046cccdff003c1999ff00c5999aff0048199affff
+d1b332ff0024ccceff0027ccccff00576666136ec0ff012d4cccffff61cccd15d2ff
+00000001ff004a4cceff003899998bdf8bff002ee667ffffdcb332ff002a6666ffff
+cb33348bffffe9b3348bffffe6b332fffff7b333ffffe6199affffe9999a666b694d
+8580ffffefb333ff0016b334fffffab333ff00174ccc8bff001f4ccd08ff0060e666
+ff0065999aff0054cccdf702ff0029b334ff002eb332fffff68000ffffdccccdffff
+ece666ffffeee6667cffffece6681e139f40fffff619988bfffff5199aff00024ccd
+fffff4999affffff80009b61ff00224cccffffef199aff001ce6688bff002c66648b
+ff00203334ff001fcccc8bff002f66678bff0028b333ffffd6b334ff0024e666ffff
+e28000ff000d199a928da59ca09da6a2a7b39fb008ffffdd6668ff0005199affffe1
+9998ff00034cccffffe2e6688bffffddfffe8bffffdfb334fffffb8000ffffdc6666
+fffff4199aff000e8000ff0014e666ff0005999aff001466668bff00124cce08ff00
+306666ffffde999aff0023999affffd1ccccffffd56666ffffdf3334ffffe08000ff
+ffd366661e8bfffff3e666ff000233327eff0004b334fffff2999aff0008199aff00
+0e8000ff000bccccff0011e666ff00144cce8bff000e33328bff0015999afffff133
+348bffffec80008bffffdde666ffffdde666ffffe9ccccffffdf199affffec33346d
+79ffffcfb333ffffe04cccffffe44ccdffffe6b334696cffffcd4ccdffffc04ccd8b
+ffffa63333088bffffd4b333ff000b9999ffffc9cccdff002c199a58ffffefe666ff
+ffebe666ffffe14ccdffffe7cccdffffe3b3338bffffe8b3348bffffe3e666ff0017
+4ccd8bff001b4ccd8bff000eb333ff00078000ff000f4ccd9bff000db333ff00064c
+cdff0005b334ff00054ccdff000580008bff00074ccc08a0ffffdc3332ff00186666
+ffffed6667ffffe4e66788ffffda6667ffffdbcccdffffc7ccccff0025e666ffffc0
+8000ff003566661eb28bff002acccdff001ee667ff0016cccdff001ab33308ff0013
+6666ffffec999aff0025999affffee3333ff002a4ccc8b08136ec0ff006c8000ff00
+85e66615ffffcf6666ffffcfccceffffce4cccffffc74ccc1effffe580008bffffdb
+4ccdff0014999afffff84ccda29caa9eada4a1ff0015b334ff0012cccdff0012b332
+ff00081999ff001066668b08ff001b4cceff001eb332ffffe63334ffffde99991f0e
+fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f71315f7360a13baf7370a
+13dc688282611e6d06878788861f8b788d89058bf7078d971e13bcf7380a0efb67c2
+96a9729cf714a3c49c84a879a089a86fb293c4f71ca96ea0f714a3c49b7eaf78a7b2
+c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55eb86abab7b8a7b8bbbba2b796
+b890b8f70ebb1390c9e40fe0f869f71315f7360a1390c9e20fe0f7370a139148e40f
+e0688282611e6d06878788861f139248e40fe08b7805139148e40fe08d8905139248
+e40fe08bf7078d971e1390c9e40fe0f7380af959e815139248e00fe095d4b890988b
+08a1a87d53868888851fbbfb021513d248e00fe0767476806a8b608b60ba8bc88b90
+8b8f8c8e08f7320691908f92bd78c93c524f54304aad4dde1fb68baea2a2aa08fbd7
+851513b448e00fe07a8582771e8206888a89881f8b808c8a058bb18ca0a2b48a8b1e
+8d8c8b96058e888d891e7f067785949c1ff71307c180b4551e6c8b6e83655e08898b
+8dc0828b05868b878a84870813b848e00fe0798279877187088f7b05958d928c938b
+089390866b1ffb2a077a8582771e8006888989881f8b808c8a058bb48ca0a3b18a8b
+1e8c8c8b96058e898d881e83067785949c1ff7280713b448e00fe0aaaea195a68b08
+aa9378601f139048e04fe0fbf5f73c157c987e9b9b98989a9b7e987b1e7b7e7e7b1f
+139448e02fe0c5fbbf15f7728207868b878985880813b848e02fe07a838388658508
+8e7a05968d928c928b089490866b1ffb29077a8582771e8006888989881f8b7f8c8a
+058bb48ca0a3b48a8b1e8c8c8b97058e898d881e80067785949c1ff7f2f894151390
+5ae00fe07a8682771e7f06888a89881f8b7f8c8a058bb38ca1a2ba8a8b1e8d8c8b97
+058e888d891e79067785949c1ff719078b938f938e909aa09896928b8f8b8f898f87
+90859287978b089b95949a9b8297721f6f8b716c7b74088a8b8cc1828b05878b8689
+85887983858865850813904ce00fe08e7a0513905ae00fe0958d928c938b08948f85
+6c1ffb88741595d4b790998b08a1a77d53858989851fbbfb0315139068e00fe07675
+76806a8b5f8b61ba8bc80897f73207928f8f91be78c93d524f54304aad4dde1fb58b
+afa1a2aa08139058e09fe0fc4a7f15f74907a3a4aa8c918b08b0aa5f4e466e57521f
+798b7e8f7f9a08f816047e067f858289808981897587828b08139058e10fe08c7c05
+898c8a8d1e9e8d05139058e09fe0979182691ffbc0078b738b81897d089888059091
+939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b7480767508139048f00fe0fb
+62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13904ce80fe0c4fbc015f77282
+0713904ce40fe0878b868985887a8384886585088e7b05958d928b938b0813904ce8
+0fe09390876b1ffb2a077a8682771e7f06888a89881f8b808c8a058bb38ca1a2b48a
+8b1e8c8c8b96058e898d881e80067785949c1f0e81b0f8e6b001e5eaf7a2ea03f7d6
+f90115a28ba2859b7fff00134cccfffff36668ff00103334ffffe8ccccff000c199a
+ffffdd199808ffff143333fffe8d666805fffff5e667ff0032ffffffffff4ccdff00
+3719998bff002733348bf79ed6bbc98b0886fd0b15e7f721dff7921f8bff005b3334
+76ff00506666ffffd8e666ff003cb33208ff00438002ff0069e6686c9affffc5cccc
+ffffa4999805ffffffe666ff0000199c8b8bffffffe666ff000019986cb159a94a8b
+fb0b8bfb05fb118bfb6a8bffffa98000ff0015b333ffffade666ff00266667ffffc3
+666708ffffb6e666ffff8d3333a97cff00403333ff0064b33305ff00077ffffffff6
+ffffff0007e667fffff7cccdff00086666fffff88000ad6db57bb98b08ff007e8000
+ff01f1999a15ff00076666ffffdab332ff0004199a5d8bffffc8b3348b2888467754
+6d325081728bffffc4b3348bffffdf1999ff00274ccdffffedcccdff00338000080e
+fb0578a8f764ab01bdbff71ca903f1d815f7020a579915f7010a0e89b0f756b3f7f8
+77f1eb01f751ebe8eb03f80ef98715aa0afb5116aa0ac1fc7a152c0afb8ffb52152d
+0a0e81b3f8bfb3d8eb01adecb7ebe8ebbcec03f800f98215aa0afb5116aa0af718fb
+3915460af7bffba415470a0e81b4f8b9aee2eb01dbe89aebe8eba7c003f80df98215
+aa0afb5116aa0a7cfb9515590a0ef7f3adf77da501f759c5f70cc603f80bf88a1595
+0abafb2b15960a0efb00f7faa5f76caacba101f7dec003f761f93515f7390aa32c15
+f73a0a0efb0ff7faabf770a601f71ac0f71bc103f7bdf91115f73b0a0e29f7fea484
+a1f75fa5cba112f71cbf13b8f7bcf83615f73c0a63fb4315836a988b051378f73d0a
+13b8f73e0a0ef7fbaef704aad6a401ff00f74ccdff0035fffff710c403ff01794ccc
+f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cceff0047
+8000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4999a
+ff000a3333ffffd83332ff001b999affffe7b334ff0012ccccffffef6666ff001be6
+66fffff7199aff002280008bb98bb9a2a5aefffffc4cceff0009b334fffff86666ff
+00064cccfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004ccceb3a9af
+ff001c33328ba38bff00214ccefffff58000ffffffb332ffffbf8000080efb2bf800
+a2f74aa8f708a401f7f3bc03f739f83315f73f0a0e30f77aa9f0b6bba1f721a17ba7
+12deb58fb37dbbf5b168bb13ed00f81ef8ec15f7400a13f500f7410a13ee80f7420a
+13ed40f7430afb7efb7f15f7440a13e480f7450af728f744157c4d6f86778b0813f5
+40f7460a0ef8f30ef8f30ef8f30e33f800a2f771a1cca101f0f7d503ff00d58000ff
+01ee6666158dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008
+a74b05937a8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d87
+8b6b8b81a587950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d
+8b8f8d8c8e088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b95
+8a89838a8787848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff419
+9808ff0033999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d
+878b858b878a858a85084ffb970586768986748a088406868a88891f8779058baf8c
+a2a3af8a8b1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080ed2f800
+a2f76cad01f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b93
+8b8d878b858b878a858a850866fb310587768986738a088406878a88891f8679058b
+af8ca2a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf7
+2405a2a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006
+888b8a888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f
+8b8e8c908c9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000
+e666ff0005b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba1
+8b99818b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058b
+b18ca3a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f7
+17058e998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee66
+66ffffeeb334fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a
+0897bf7e8b05707f75856b87080ef8f30e350e25f77da2f700a5f75fa17caa12f7e2
+c013d8f74ef8cf15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a0e28f77da2
+f700a5f76ba501f71cc003f7bcf83615f7470ab7ca15f7480a0ef8b60efb58f7faae
+f765a801f729bd03f785f8ee15f7190a0e34f7faae7ea1f762a212f72bbd13b0f788
+f90a15f7490a1370f74a0a13b0f74b0a0e2ff8f4a201f72df7ae03f76df80715f74c
+0a0ef8b60ef8b60ef8b60efb17f800a9f764a801f7469f03f768f90b15f74d0a0ef7
+7af837aff71af70801f784c5f716c5f718c503f7d4f95515f60af7509015f60af752
+8815f60a0ef837aff71af70801ff016a8000c5f716c5f716c5031438ff01538000f9
+5515270af75016270af75016270a0ea2abf88aaa01b0aaf88baa03f7d4a215930af8
+aa04940a0ef9015fa0ff00a4b333ff00154ccdf738a0f7b5a001f799a0f787a003b3
+93158b78968b9687db72ce87cb8bac8bab8eac90ff00d96668ff00238000ff00bc4c
+ccff008ae666ff00614cccff00c56666ff003c8000ff007ab334ff00098000ff0079
+66688bff001a19988b9c808c808f083ea34191598bffff27b3348bffff331998ffff
+973334ffff803334ffff534cccffffa6199affff868000ffffd5e666ffff68b3338b
+ffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00
+138000ff000e6666ff00a0199aff006e3334ff00146666ff000d199908f83dff0000
+4ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f714b208fb9c07f759fb48
+15fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffffc16668ffffbc6667ffff
+f01998fffff56666088af86e15cb8bca82c87808fbfffb8f8bf79305be98c196d18b
+08fb2bfbb515f7f4f7880584417b396033080ef8f30efb00fb0aa5f76caacba101f7
+70c003eaf75915f7390aa32c15f73a0a0efb0ffb0aabf770a601a1c0f71bc103f74d
+f73515f73b0a0e29fb06a484a1f75fa5cba112a8bf13b8f7515115f73c0a63fb4315
+836a988b051378f73d0a13b8f73e0a0efb2bfb04a2f74aa8f708a401f77ebc03bb4e
+15f73f0a0e3dfb88a9f0b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bc
+f71215f7400a13f500f7410a13ee80f7420a13ed40f7430afb7efb7f15f7440a13e4
+80f7450af728f744157c4d6f86778b0813f540f7460a0e350efb03a8f761a0d7c512
+ff0060e666c559bb13f0ff007de666f7aa15f7060a13e8a6fbce15f71c0713f0f707
+0a13e8f7080a0efb4e0e33fb04a2f771a1cca10189f7d503ff006e8000ff00126666
+15f7120a0efb7c0ed2fb04a2f76cad01f786ff0031e666ff0063199abd03c7f71f15
+f7130a0efb03a8f75da17dad12ff0046cccdbbf715ff002fffff13b8ff007fcccde1
+15f7140a13d8f7150a0e33fb87a2f700a5f75fa17caa12f77bc013d8deea15f7160a
+13e8f7170a9ffb0815a5f7050513d8f7180a0e36fb87a2f700a5f76ba501a8c003f7
+515115f7470ab7ca15f7480a0efb270efb200efb58fb0aaef765a801b0bd03f715f7
+1215f7190a0e34fb0aae7ea1f762a212bbbd13b0f721f72e15f7490a1370f74a0a13
+b0f74b0a0e2ff718a201b4f7ae03f42215f74c0a0ebf0e540efb17fb04a9f764a801
+d29f03f4f72f15f74d0a0efc1df8cff70c01fbb9f76803fb6df94715ffffddcccdff
+fff46668ffffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a082998893
+8b938b92928b938b9287918093080efc1df8cff70e01fbbcf75d03fb31f94915fb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34ccdff00154c
+ccffffeb4ccdff00116668ffffe36666ff000d4ccc080efc1dfb91f78703fb05f916
+15fffff0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d
+828e859485b19cab9cb0a6ac72ad79b279ff0009199aff0003ccccff00041999ff00
+08199cff0002cccdff000919980867a666ad6daf080efc1df8a0f70701fbc6f78803
+fb61f8a015c40a0efc1df8b4bf01fbbda7f76ca70372f92515c00a0efc1df8ecf727
+01fbf6f7910326f95415ff001033347fff0015cccc6e1e808b8487868308ffffc4b3
+33fb0105fffffd7ffffffffb6668fffffecccdfffffc99988b888b839386908b8e8b
+8e8c8d8d08eedf058f8f8e928b9408fb179015ff00174cccffffe9b333ff000eb334
+fffff04ccd1e7c8b8487868308ffffc98000fb0205fffffe199afffffc3334ffffff
+6666fffffacccc8b898b849186928bff0005999a8b8fff00038000ff000466668f08
+e3ff0050800005908f8d928b93080efc1df8e9f72a01fbf6ff00fa800003fbf6f954
+158b828e848f8708ee37058d898e8a8e8b908b93908b938b8efffffecccdff000366
+68fffffd8000ff0004999808ffffc4b333f701058693848f808b6e8b7fffffea3334
+8bffffefcccc08f71790158b838d84908708e3ffffaf800005ff00046666878fffff
+fc8000ff0005999a8b928b91908b928b8dffffff6666ff00053334fffffe199aff00
+03cccc08ffffc98000f702058693848f7c8bfffff04ccd8bffffe9b333fffff14ccc
+8bffffe8b334080efc1df8f1bf01fbbea7f76ca703fbbef8b415a70692b2bfa1bc8b
+c08bba75936408a70686d151b6428b498b4b618544080efc1df94eaa01fbcfd1f703
+d003fb52f96d156a749c9c1f8b908c918b8d089a819a7470817d7857c674cdcdc6a2
+bf9e81997074817c7c1e8b898c858b86087a747a6a1e0efc1df88baae47701fbe1d4
+ebd40330f8e2159e7d9973797a7d7a1e8b888b898c898c888b888b88087576776e6d
+77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c7955c26acccbc5abc21e
+0efc1df959eb01fc4debe8eb03fb90f98915aa0afb5116aa0a0efc1df96476c5a301
+fb8bb8a1a59bbf0335f96915ef0a0efc1df8e0f301e9f303e9f91415c20a0ef790fb
+8aa37ba2f75fa3f829a3f754a3a8a39fa3989a9c9aa29a9da312cac3539dc99dbf9d
+99a2f752a2133ff780caf9d9158b748b7c8b7a8b7c05133fef809d8b05133ff780b1
+9a06133fef80659c06133ff780b19a06133fef8065a206133ff780b19a06133fef80
+658b05133ff7807906db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b0513bfe780fb
+66fb4673f74607137fe78093a207f769a2fb69f75ff75297a27ff738a3fb38f83574
+97fb5206f754f80da3fc0da8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050e81b0f8e6
+b001e5eaf7a2ea03f7d6f90115a28ba2859b7fff0017999afffff09998ff0013199a
+ffffe0b334ff000c6666ffffceccce08ffff181999fc1805ffffeaffffff003c8002
+fffffecccdff004ce6668bff003280008bf79ed6bbc98b08ff007e4cccffff5e3334
+15ff00046668ffffe08000ff00024cccffffdb4ccc8b618b28884677546d32508172
+8bffffd34ccc8bffffe24cceff00164cccffffec4cccff0021199a08ff01134cceff
+01ce666615ff002fccccff005033346e99ffffd9b3344b05fffffc3332ff00053334
+fffffc333490fffffbe666ff0004cccc6cb159a94a8bfb0b8bfb05fb118bfb6a8bff
+ff9a4ccdff001de666ffffa08000ff0033e667ffffc2333308ffffcd333336a97cff
+002ccccdff004b4ccd05ff0021e667ffffe28001ff0029b333fffff03333ff002d99
+9a8be78bf721df8bf7928bff0053b334ffffee4cccff004a8000ffffdee668ff003a
+9998080efb30b5f8b4ac01f7fde203f854f74215cb0a0ef92ef858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050efc1dff01f47020ff00c3235401fffed4
+8000f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053
+ce988bff001a80c4fb7cff0054d3f88bffffdaae98050ef91414f81d157f97f87495
+f70f98c99506fb8296077f97f87495f70f98c99508fb7f93091e0a039625ff0c0992
+0c0ab00ab00c0ce20be20c0d1c003d13012502000100320045006b007e00c100d301
+0c0136014c015e017401d501e6026c027c028c02db02f0033e035803ac046a051b05
+780595065106b6071b07f8080c0858086d089b08e1090b092a099f09f90a100a3d0a
+4d0a550a910ac60adb0aeb0af30b470b810bad0bde0c080c260c2c0c370c520c9c0d
+320dc00e700fb7109e10f2113011a911d0120512c4134c137a138e13f41403142014
+6a151a152d1535155a1567157c158a15b115e015ee1717172a17ff18e419a21b361b
+8f1c131c8e1cb91cd81d301d3e1da81e571ea31ebf1f101f5d1f862031207320ed21
+5a21ed23712423245e2471248324a524c724dd253b254d255f257825b225e6264126
+9026a226df26eb2761278827bc27f3282e2887289f28df28fa290c291e29e229f52a
+5b2a922aa42acc2b142b652b812ba52bb82bca2ccc2ce12db52ded2e3b2eb52efe2f
+142f332f552f672f792f9d2fc12fe12fef3002302c304d30f63142318c31ee322632
+65327b3316336134b73502350d35213556365036bd36d53719372b374c379837aa37
+bf37dd37f33809381f3867388838b238cb393539ae39d539e73a1e3a623adf3be63c
+6c3cac3cca3cf43d1e3d313d443d563d873db83dfa3e0d3e253e5e3e7a3ea13ec13e
+d33eef3f0a3f173f393f5b406341cf425742bb431d433c436243c243cc43ec443844
+52446c44b644d94507453b459645e5462e463f465346754697469e46a846b246bc46
+c846d846e346ef46fb470d471f47314740478847ad4804482a488d48ad4904491149
+a749bd49dd4a414a624a7c4aa24ac14ae14b4d4b904bdb4bef4c6d4ccc736e78551f
+8b4599689433933d91318d768c858e84958b958b8e948c968d998bc798f70095e199
+b58bcc08c16e9e731e0b6ba76facaca7a7abab6fa76a1e6a6f6f6b1f0bb1068bb4f7
+79a0ff001a8000ffffef8000ff001b8000ffffd580006178716e7fb4fb818b1f0b56
+ab52c8deb7f702ced45d9d63414f3f391e0b798b688b55a481976e986f8b08434e44
+3358a951c9dfb7f705cb1f8b948a9489929e80b181a28ba98bb28fb19a08fbfbfc88
+b77cf82ef8cf619b056c613e7f618b080bc0b1d9b89ca2815d566c3a587a7396bb1e
+0bfb53fb61077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e07
+9c9ea6979585967e1ffb6ff76206977f90817e6e7b7b1e0b66706e691f8b65aa80a1
+87a28996848b6f8b725b534d7b8b7f937b9383c998e5cd8bdf08d36abe5b1e0b9b9c
+af9896869b7f1ffbed067d7b6d7780927c961f0b67aa6cb0b0aaaaafaf6caa66666c
+6c671e0b9899a295938794811ffc39067f7e787c839183941f0ba9b8bdd9d9b04b41
+1e8b5c7d6c54663f5887578b600864078491889595928e921eb0078ba38f949ba496
+9ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f716872677372678b650868a979
+9ea29e97a21e8b988891869008869089918b9a080b758b858e8e9508ddf7898d8be9
+fb96050bb8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b729185
+b08cc28cb28bb48bff00214ccc8aff001db3348a91918ba48591648e828d79b908fb
+62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78cff00224c
+cd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff0026b334
+080baa9f96e2c3ca732a3a5a6f381e2d060bf71dba4335467956fb2c456a8fc31f0b
+ffffcdb3338b638cffffd94ccd8c85858b729185d18894868b3c08fc09078b3c828a
+458885858b729185bc8cff001e4ccd8cff0032b3338bb68bad89e48bf75b8bb6ea8b
+dd8be648bf34a3088d070bbda3b8bb8bbf8bcb78dffb4e8b688b4888608b080be28b
+f0b5c8e087947e95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108b
+c740a2399687968e959187bc83b983bf5d9057b1fb038b08fb4ffb20fb2ffb48fb36
+f70bfb1ef75c1f0bf85107acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e0b
+ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffc05073c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080bfb00f75006a2979ea31ef74006d68b9b67a1
+499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8068b8b468c59
+8c85858b729185d1889c868b3c08fc05078b3c7a86458885858b729185bc8cd28c8b
+8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768543f8b08fb5506757d
+9aa51ff777f70007e08b8e758e609185a08b919189ab8bff001333348bff0020cccc
+8babff0000b334ff0016b334ff00014cccff001b4ccc8591768b85858857887e368b
+080bdf8b85768e609185a08b919189a48bff0019999a8bff002066668bab8ba28da6
+8591768b85858857907e388b0824f74706c39d90bb1ee006f58ba839a149978b978d
+938e86b276f71e8a928b8d898c898b7988878a728b08fbcf068b8b208c598c85858b
+729185ef859c878b5108fc18078b3c5c86458885858b729185bc8cff003580008cff
+004180008bc98bff00314ccc8aff002fb3348a91918ba485916a8c578d7e95087d96
+86a18bb408f743070bfb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb7819486
+928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86858b73
+9085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7081f0b
+f7168ba941a239978a988c959183b386bb85cf08558b74a8fb028b080bf809078bd5
+8e90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f
+08fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c
+85858b729185d388ff0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe
+333387448785858b729185b68cb98caa8ba78bb78ab58a91918ba48591478e88908b
+da08f74bf7a8fb4b078b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91
+918ba48591458e88908bda080bf805078bd89091f7288f91918ba585915a8affff97
+800089ffffd180008b5f8b228d598c85858b719185f7278691868b3e08fc05078b3d
+8686fb288785858b729185bc8cd48cd98bff004d999a8bff004766668abd8a91918b
+a48591fb268f84918bd8080b8bde8f8ff70f8f91918ba485915a8affffc94ccc8aff
+ffbdb3348bffffae80008bffffb280008c598c85858b729185f730888e868b3808fb
+7807fb36674b5e1e678b66a48597849a78976f8b087374757560ce77b71fcd8bc199
+c6b8bbb09bbe8bf723080bf74407b78b9e84a46908f722fb50059e729a728d7c8b88
+8c888f8b9f8ca18c978b9d8bb18aae8a91918ba48591688d848c71aa08fb60f78b05
+839486928b938b928c92adac08f722f71f05b9ba938eb58d91918ba485916b8a698a
+738b718b618c638c85858b729185b188ff0027199afffffb4cccffffd8e666ffffd7
+b33408fb34fb39057574737d658908f739078bda9c90d18e91918ba485915a8a598a
+6c8b6f8b5c8c5f8c85858b729185c68795878b3c08fc05078b3c86874b8785858b72
+9185b88cbb8ca68ba88bb98ab78a91918ba48591458e84908bda080ba6e7898b1f95
+bb98f7128ec0818f7e8d7f89080b6ffb1f77632e8b08fb0c066e799ca81ff81f078b
+da9c90d18e91918ba48591638affffd780008affffcc80008bffffcb4ccd8bffffd6
+b3338c628c85858b729185d1889c868b3c08fc05070b8b3c7a86458885858b729185
+08bc8cdc8c8b8b080b8c438687458685858b729185b48cb48ca98ba98bb98aac8a91
+918ba485914d8efffffc99988ffffffe6668da080b83f81c05fffffeccccc4ff0001
+333490bf8e91918ba4859108fb1d89fb1bfbd4058172888c82a208fb08f7d5fb3b8d
+0585858b729185d087ff0001b33387fffffd4ccd4b080b7bfc1505883c8787478885
+858b729185a98cab8ca38ba38bb88aa98a91918ba48591438e898f8edc080b9bf814
+928bf71efc22058e848e88918b918b8e8d8e9308f73af82c908b050bfbc207798680
+851e888b7c9b72af08fbbaf82ffb178d0586858b729085b288a16a907208fc15078b
+3681864c8486858b729085ff00224ccc8cff0028b3348ca48bff00144ccd8bff002b
+66668aff00244ccd8a90918ba486914c927c8f8be108f7b107ab8b9a921e908b9482
+9c7408f7c5fc37050bff000e199affffec999aff000fe666fffffc6666998b089898
+979d1ff861078be09190ca9290918ba48691678affffdbb3348affffeb4ccc8bffff
+ea4ccc8bffffd166688cffffd84ccc8c86858b72908508ca849f878b35080bf707e2
+22fb4efb384227272029f5f743f752ebdfdb1f0bf756fb11f70afb371e318b3c6359
+44635272528b218bfb56f715fb02f72f8bf08bdbb9bdd5afc1a0c48be7080baea8a3
+dbd3ce7bfb0d246460fb001e0b6f8b4d8e808e080bfc05078b3c7086458885858b72
+9185bc8cff003480008cff002e80008bff0027199a8bff004ae6668abd8a91918ba4
+85913d8f5f8f8bda08f729070ba184b885b28b08f75eb4f707e1c367f3fb581f6e8b
+3085638bffffd580008b5b8cffffd180008c85858b729185d1889c868b3c080bc8dd
+7ffb04fb0b3a712a1f47f76706a7aba9d21e0bf72e07df8bb17d9a7508f709fb3905
+0ba85fb662c78b080b9a8b9c8d95908e928b978793648e74a471b408fb1cf75c05b6
+98efbc8bef8bbb7bb467ab5bb63a8b4c8b728b3585658bffffdbb3338bffffcecccd
+8cffffd480008c85858b72918508d18898868b3c08fc05070b8b3c7e86458885858b
+729185ff002c80008cff003066668cff0025199a8bff0026999a8bff003066668ab9
+8a91918ba48591458e7a908bda080b45938b9dfb0a8bfb0f8bfb025c8bfb138b26ff
+006a199a4fff006ce66680ee81ce718b268b3e50662a8b080bfb058b41b070ea7c8f
+7d89808690429072995cd78baf75f7008bc28bc296b5a0d0adb8bf8bce088bf70635
+befb0797080bffffb3800093ffff888000af8bdb8bd1ceb5d28bf70a8bb255a34c99
+8b9a8a96920887b985a57fbd080bf7f907c895afaf1ea706d68bc4729c42968b998c
+948f84b786bb8ab6080b8c898c8a1e0b6988fb0d873c8b0835060b3e8bfb148f658e
+898b898a8b8a8760815a805d9587978a978b080b9fd7c3a4cd8b08ae06b09567511f
+fbfc078b3c7a86fb0c8885858b729185bc8cff003f33338cff0047cccd8bff004766
+668bff003d999a8abd8a91918ba4859108fb0c8d7a918bda080b8bda9190d58e9191
+8ba28591638affffd480008affffd280008bffffd880008b658cffffdb80008c8585
+8b749185c58897868b3c08fba107fb56f72263e1f759bcf70df73d1ef769078bda99
+8ec59091918ba28591678affffd980008affffe880008bffffeb80008bffffcd8000
+8c5f8c85858b749185d3859b878b3e08fb7a072180fb12fb361e5d8b649e70a863b6
+88d38bc9080bd5868a77775808fb28fc11868bfb33f8160574c39193cf9291918ba4
+8591658a5f8a648bffffda80008b688cffffe080008c85858c729185bafffffa8000
+8ffffff98000a74608f75afc7b05917c9c85958b968b9692919908f759f879059db7
+ff00128000abff003980009291918ba48591ffffe180008affffdd80008a748b748b
+5e8c628c85858b729185080b4b7c59fb51057b4e878b7fc50854f79c057bd98e95c9
+8f91938ba08593668a628a678b658b738c718c85838b769183b287ff00034cccffff
+fa1998ff0011b334ffffade66808f1fc6c058f789785958b948b979190a008e6f7ca
+f6fbcc0591798f84958b948b95918f9f08f5f86505ff00139998ff0055e668ff0005
+6668ff00061998b69191938ba08593728a828a678b658b648c668c85838b769183e2
+858e817a3e0849fbbb05836a898180b1080bfb23f75905fffff73334ff000c199aff
+fff8ccccff000ce6668b928b948c93949608ff00848000f73705aeb6ff0023800097
+b88f91918ba485916d8a668a748b748b618c638c85858b729185ab89ff0019800085
+746b08ffff898000fb3505fffffa199afffff7e666fffff9e666fffffd199a878b88
+8b878e869208fb02f730056fb18690c38e91918ba48591638a628a6a8b648b6a8c6d
+8c85858c729185b588a1fffffcb334b1ffffcc4ccc08f722fb5505938091838b818b
+85fffffc3334fffff7ccccfffff9ccccfffff8333408fb28fb4e05695f6b845e8785
+858b729185a98cb08ca28ba28bb58ab38a91918ba48591668d718da3ab08f718f742
+05919391908e8b8f8bff0004999afffffdcccdff00056666fffff8333308f706fb39
+05a56488845c8985858b729185af8cb18cb38bb28bac8aa98a91918aa48591618e78
+9063c3080bf70f078ba7ff00006666ff00106666ff0011999aff001b999a08f715f7
+5f05a8b99c93b88f91918ba485916d8a6d8a748b748bffffdd80008cffffde80008c
+85858b729185b7889d84746608fb0dfb5905fffff74cccfffff1ccccfffffc999aff
+0001199afffff6199aff000f199a08fb12f7550572b29092c38e91918ba48591678a
+658a638b648b6a8c6d8c85858c729185b5889788af5508f721fb6405ff00123334ff
+ffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a863b8885858b729185bc8c
+ff003380008cff002b80008bb68bbd8abd8a91918ba485913b8e7a908bda080b90c0
+95c497bc848d808e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199a
+ff0006199aff0005e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b9286
+8f838b7f8b6c896d8b08fb71060b84fb1a05ffffff3334fffff0e666fffff6ccccff
+fff7199a818469754e6f668b488b72b68bad8bc3ff002e3333ff002acccdff0054cc
+cdff00103333080b9069976cd08b08d7b5ff002b999aff000b6666938096851f838b
+8779708b598bfffff2ccccb8ff00023334bd0892f73505ff0009ccccff009d8000ff
+ff9c3334ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e
+8a928b9708aec897bcc1c26ffb0e1e8b838486888a08fb1675050bffff71b333ffff
+e7e666ffffba4ccdffffc5199a8b418b36d06be78bc88baa94c6b008a79e050baaff
+0015cccca5ff00103334bb8b08d6da36fb00fb135e2dfb091f658b429b77a408f7b4
+078ba2ff0012666698ff000f999a96080bfffff8b333fffffa6666fffff74ccdff00
+01999a8b9f08f71307cb8fb48b1e92878e821e7281247d638889838d7b9185d28898
+8a8b3d08fc5e078bffffc88000fffff8800072fffff08000ffffeb80009083ff0006
+4ccdfffff8800095ffffff8000ff00094ccd91ff000b6666939899ff00134ccdff00
+14ccccff0005cccdff00003334ff001933337cff001ecccdffffedb333ff0045e666
+fffff64ccdb68b08f711f711f3f745f71cfb0bde201f4b8b60ffffeccccc63ffffe1
+3334080b87957d99808c4c4a3e73588b08fb043be7f70df709c7d6f11fd18bc46392
+58ff0004199affffe2199aff0015e666ffffede666a38ba98b9cff001366668bff00
+25999a8bff00156666fffff3b334ff0017b334ffffe94cccff0012e666ffffd5e666
+aeffffb58000a3ffffb6999a8b08fb21fb0afb00fb29fb1be8fb00f7391fd28bdf9b
+e5f1080b8b7689837b7d626757796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea2
+8bb58bc07ea171089b798e848b68080b908f938e8b838b7096658b8b93888e8c938d
+080ba19db5ff0010199ad6ff0005e66691918b9a859140ff0009199a83ff000ee666
+8bbc08f85907cc8fb38b1e92878e821e7281247d638889838d7b9185d3fffffd1998
+97868bffffb5e668083d07838989831e878b449d648b3d8b58735b61585b6d498b38
+080bfb1dde27f7131eb98bc6a1c2b8080ba2f70cdaadcb8bbb8bdb6f8b2b8b8185ff
+fff033347dffffffcccc080b5c605771408bffffbfcccc8bffffc33334a162c572b1
+7faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f8b4da04eb461b55e
+d871e38be98bdeb2bdc5889686957c8c080bf7a2f74b07949a8f941fa4078f888d86
+1efb5bd106f713e1a2ac1eb58ba173a057ff00088000ffffeaccccff00128000ffff
+f93334a28b9e8ba49a8ba98b9f7da5779864ff001966685bff000c99985b8b0831fb
+1263fb391f56310779857f831f7907868d8a8f1ef700fba2068b5b88787d8181836c
+873f8985858b729185b58cff0042999a8cff004566668bff005e66668bff0068999a
+8ab68a91918ba4859108218f4e8e7f927a95889e8bbb080b235579592d77d8d2d9a8
+b0d11edcb15b2e1f0b97889f889a8b080bb08baa8f9c8bc68bc08ead79b872977f8b
+710843fb1165224c37a8cf1e8bad959fabb2080ba2769d6d1e6e8b55786e65080b7e
+9466a13f8bfb018b30498b248b4fab68aa6d080b6c707e5c8b658b63a16ba87d080b
+4f6764618b600834ef70e5f733f73dccf7001e8bab78a369a65eaf388c608b768b6e
+886f88080b798a7f8a858b698b649a8bbb8ba18da3989ea67baf84b68bf7008be6c8
+8bf7018bbf7baa6bac089396a19b998b080b938b938892818f829a80978b080b8bff
+0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88ab68a
+90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b334ff
+001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc3334
+fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b333b38b
+8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b387e89ff
+ffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff
+001e19998a91918ba48591ffffcd33348f828c8bdd080b6da66da6aaa6aaa3a773ab
+6d1e706c706f1f0bf782078bff0043cccc99ff0010b3348bff001780008bff000680
+00fffff8ccccff00068000fffff933348bfffff4cccc8bffffe43334fffff9b334ff
+ffe53334fffffb3332ffffd26666fffff7ccceffffab3333fffff81998ffffd43333
+fffffd333488fffff780008cffffef80008f83ff005f800089ff0023b334fffffe19
+9aff0008ccccfffff4e66608ff000980007fff000180007e8b7108fb7a078b5c8778
+7d808083fb087f5a8985858b729185b58cf72c8cb88bb58bf7218ab68a91918ba485
+9108558d26978093087c95889e8bbb080b8b388081538785858b729185b58cff001c
+199a8cff002ce6668bff002380008bff000c80008ab68a91918ba48591628f80958b
+de08f107a28a958a96879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba1
+8c8f8cac8bae8bab8aac8a92928ba28492658f6f916db008fb27f74d05879087938b
+918b8f8b8e8f8f08eaee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92
+928ba28492628a7389638b618b758d628c84848b749284c9877163817e08716b6964
+6e7671786d7e768908f7d507cc8fb38b1e92878e821e7281247d638889838d7b9185
+d48896898b3e080b8bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333ff
+fff84cccffffe5cccdfffffeb33485858b729185b58cff006866668cff005d999a8b
+ff005a199a8bff0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff00
+08cccd80927b95fffffc80009d8bbc08f85a07cc8fb38b1e92878e821e6681fb0b7d
+638889838b789185ff002880008bff00254ccdffffff4cccff0016b333ffffed3334
+ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc080bf761078ba0ff
+000a999aa0ff0006666695a8ff002d4ccca3ff0000b3349b8b08b19773481ffb6807
+8b32ffffff80006cfffffe80007dff000ab3348cff00184ccc8c958bff000b4ccc8b
+9c8aff000cb3348affffff33349cfffffeccccff0020199a8bff0054e66608f78f07
+aeff002f8000ff0017999aff00048000ff001566668b08b19d75481ffb56078bfb00
+ff0001b334ffffe14ccdff00064cccfffff0b333968cff00114ccc8cff0007b3348b
+b48b8e8ab68a90918ba48691ffffcf4cccff00034cccffffffb334ff000366678bff
+006e4ccd08f74707ff0058cccc7dff00463334331effffddb3348bffffdd8000ffff
+f9e666ffffd3ccccffffc8199afffffa4cccfffff8ccccfffffc4ccefffffdb334ff
+fffd6666ff0009e666fffff58000ff0028199affffe38000ff00158000578b658bff
+ffdccccdffffedccccffffdc3333ffffcb3334fffff9b333fffff6999afffffd4ccd
+ffffffb3328bff0009b3348bb3fffffcb333ff000fb334fffffb4ccdff000a4ccc08
+fffffde666ff0004999afffffe199aff00036666838b080b6f807082468289858d7b
+8d85c18691868b5108fb80078b32ffffff80006cfffffe80007dff000ab3338cff00
+184ccd8c958bff000b4ccd8b9c8aff000cb3338a08ffffff33339cfffffecccdff00
+20199a8bff0054e666080b888785818b998bff003d199afffffcb333ff0018999aff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8066
+82468289858d7b8d85c18696868b5108fb86078b3981fffffd199a45fffff9e66685
+858b729185b48cb28cb68bb28ba28ab58a91918ba485915890828f8bdd08f753078b
+a094979394080bb1b0c3b5c88b9f8bff0013199afffff1e666ff000de666ffffea19
+9a97788e6f8b6d08fb5b078b398187578686858b729085b58ca28cb38bb48bb08ab6
+8a90918ba4869149ff0004199a80ff0004e6668bdd08f758078bc287bd71a8ffffed
+6666ff0014b334ffffe2999aff000d4ccc688b083b8b4b6a4e47080bfb06dffb12f7
+431eda8bc7a4b5b0c3bca3d28bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b
+45080bf706d039fb38fb23376e4cfb1d5ff71ce3eeff001ce666eaff0074199a1f0b
+ff001c8000ff00278000ff002a8000ff00258000b88b08ff006d999aff002666663b
+fb12fb134e41271fffffd1b3348bffffb6ccccbefffff78000c508f732078ba2ff00
+0ce666ff00174cccff000c199aff0010b334080b8bac8ab286978990898f828b080b
+6c7f5e803e8189848e7a8d84c785a1868b4a08fc60078b3876864e8885858b729185
+b58cff0022e6668cff0031199a8bff0038999a8bff002d66668ab68a91918ba48591
+308f80ff000466668bff0052999a08f72e07ab68b774c68bc98bc59eb9b6bfbeabd1
+8be5080b8bff0036800088ff000e800086958990898e838b5ffffff880003dfffff3
+8000468289858d7b8d85ff001780008bff0048800083958598838e7e8b6a08fb8607
+8b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000fffff98000ffff
+ae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e8ab68a91918ba4
+859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff00158000ff000e
+ccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff380009283967f9a7c9f
+8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb9800008fffff76666ffff
+f6e666fffffe999aff0008199a8bac080b8f54985c9d62978d9b8d918b938b99ffff
+ff333393fffffdcccd080bff0012800086bf84ff003880008bf71a8bf4ff00288000
+8bff007280008bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff
+00118000ffffbb8000ff001280008bc38bb6bdace78b080bff004e80008bff002580
+0058b5439b8a9891929285ba85b183abffffdd8000ff000b8000ffffbb8000ff0013
+8000448bfb018bfb005a8b3b8bffffa78000bbffffdae666f719ffffe9999a080bff
+008e800073ff002a8000768b5b8b545065278b528b5d96799a6ea473bd84a7087d8d
+77868282080b7d877f831f7907868c8a8f1ef704fb9506fb04cd66e31eff003a8000
+8bff00438000aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd4
+80008b0858589ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb3
+8b1eff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e6
+68fffff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988b
+ffff91199a080bb28bff004a8000ff0013199aff00438000ff0032e666ff0005199a
+ff0003e666ff0006e666ff0002199a8b848bffffd3e66696ffffe7199a8b8b93888e
+8c938d080ba19dbc9ac89291918b9a85914b907f9e8bbc08f78307a98fd88b1e8e88
+8e861e868a748a7c8b6b8b658c668c85858b729185ff0015e666fffffeb334ff0013
+b334fffffce666ff0009999a82ff000bccccfffff4e6668f778bffffdb800008fb76
+078b78fffffee666fffff6e666fffff1199afffff5199a080bffffc5800060ffffc3
+800078728b086d5999e41ff77907a98fd88b1e8e888e861e868a7a8a7c8b6b8b5a8c
+668c85858b729185a1fffffe3334ff0018e666fffffcb332ff0009999afffff6b334
+ff000b666680ff0004199affffec999a8bffffdccccc08fb830746af48ee1e0bc687
+9d83745808fb06fb8b057964858b7ab50825f78805ffffeb8000bcfffffd800095bf
+8f92918ba48491628affffe1999a8affffd266668b658b738c628c84858b729285ca
+849680a15808f736fc0305927c9585998b968b9491939c08f741f80005ff00151998
+ff002c8000ff0009e668ff00138000c69192918ba48491738a6f8a6e8b628b748c62
+8c84858b729285080b78a49990ba9191918ba48591ffffe2b3338affffc64ccd8a6b
+8b6b8bffffd64ccd8cffffe2b3338c85858b729185b088a97ea96208f708fb2d058e
+878e86868508fb05fb1905ffffd7199affffcfe666ffffe4e666fffffe199a658985
+858d729185ff0017b3338cff00184ccd8cb28bb48bff0023b3338aff00184ccd8a91
+918aa485916e8fffffe63333ff0003e666ff0015cccdff001c199a08e5f708059395
+8e8e938008e02205ff0022199affffd5ccccffffe9999afffffc3334ffffda4ccc88
+85858d729185ae8cbb8cb28bb48baa8aa88a919189a48591ffffdd4cccff0001b333
+ffffe1ccccff0004cccdffffd6e668ff0034800008fb0bf72c05fffffb3334ff0006
+199aff00008000ff0003b333ff00044cccff0005333308f704f71905ff00236666b5
+ff001e999a91b28e91918ba48591708a688a708b758bffffd2b3348cffffde4ccc8c
+85858b729185af87ff0018199afffffc199affffe8e666ffffe2e666082efb090587
+86fffff83334fffffc3334fffff7ccccff000acccc080b9ca799a798a9e1f755d2f7
+2ec4f7049aa8a0a7c08e91918ba48591708a688a6d8b658b6c8c6d8c0885858b7291
+85af8ab5867b6808fb15fbac05fffff2199affffe1b333fffffc199aff0000cccdff
+fff1ccccff001e800008fb0df7970578b58699c29091918ba48591638a608a648b66
+8b6c8c758c85858b729185bc879488a94b08f727fbce059c679b6583777e6a7e6f7b
+6c7f776782708b7c8b868e7f8b086c7b6d7e76a07ba81fa28bd093b2cb080bfffffd
+999afffffc6666fffffc6666fffffd999a1f7c5b83ffffe480007d5194fffff78000
+ff000f6666fffffc6666ff000b999aff0002999a080bab6fa76a6a6f6f6b6ba76fac
+1eaca7a7ab1f0b71a076a5a5a0a0a5a576a171717675711e0bf730f712f713f730f7
+30fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71ff704fb04fb1ffb
+1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b38076e737881748b66
+8b7fa08ba18baca59de9a2080ba08ba09895958c938791838e88888489878b088186
+9cb61fd907ee4ca0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92
+089ca297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a
+75a78b080b626e615a596eb4b5b6a6b6bfc1a35d631e0b42c650d4d4c5c6d4d551c6
+42425050411e0bfc7c067b7a7479819382971ff878069c9ea6979585967e1f0bff00
+088000ff001ab334ff00063334ff001f9998ff00044cccff0023b334fffffab334ff
+0003b33483ff00019998fffff54cccffffffb334080b8b6270715f85fffffd4ccdff
+fff6e668ffffff4ccdfffff49998ff00056666fffff9800093ff0001800090ff0000
+8000928b080ba3be87525455786e1f6b8bffffedb333ff00068000fffffa4ccdff00
+0b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2b332ffffe080
+00ff0050999afffff4b334ff001a3333dbd0b6d01f8bc55ca36a8e080ba89ba19b8b
+b108ff002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bff
+ffff33339dff0004cccd96ff00088000ff00138000ff00208000ff000480009c8b08
+b29880711f0ba7a5a5a7a771a56f6f71716f6fa571a71f0ba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+a4ce698b632b9185059b90958c9e8b080bfc5efd23b483f85ff923050b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffff744ccd2907ff00068000ff00118000ff00344cccff
+0049b333ff00273334ff00308000080b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff9800093ff0001800090ff00008000928b080b
+ffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4ccc08f72e4c
+05a0829988938b938b92928b938b9287918093080bfb1035057e8289868b848b8391
+84948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cceff00116668
+ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff0000b3347dff
+fff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff0009199aff
+0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad6daf080b78
+8bffffed4cccff0006b334fffff1b334ff000c4ccc080bffffed8000ff000fe668ff
+ffe88000ff001219986d8b608b74647d509185958a968d95ac959aa58b9c8bff0014
+8000fffffa3334ff00108000fffff2cccc080b9f7ba17ba18bb98ba8b297c7858f81
+8e808a087d618081758b080b71a175a5a5a1a1a5a575a171717575711e0ba99d756c
+6f7a726c6c7aa4a7a99ca2aa1f0ba2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00154cccff00393333
+05ff0054999aff00033332ff005f8002ff0029e666ff003a9998ff0051b33487947e
+95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108bc740a239968796
+8e959187bc83b983bf5d9057b1fb038bfb4f8bfb20fb2f8bfb488bffff64999aff00
+6d8000ffff7a9999ff00b9999afffff5800008ffffdbe666ffffa94ccd9185059b90
+958c9e8b080b71a175a5a5a1a1a5a575a1711e717575711f0bf805078bd89091f728
+8f91918ba585915a8affff97800089ffffd180008b5f8b228d598c85858b719185f7
+278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48cd98bff004d999a
+8bff004766668abd8a91918ba4859108fb268f84918bd8080bffffddccccfffff466
+68ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988938b938b
+92928b938b9287918093080b71a076a5a5a0a0a5a576a071717676711e0b878c858c
+868b698b747a8385088980f706fb01059b7c9286918b938b92918b908b928a928695
+080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc8b84
+9285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b868b
+858a888a080bfffff54ccc8efffff56668ffffff4cccfffff54cccfffffdb3346e5d
+5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668ff00
+08999aff0008199890920867b35fc06eba080b84fb1a05ffffff3334fffff0e666ff
+fff6ccccfffff7199a8184080b69754e6f668b488b72b68bad8bc3ff002e3333ff00
+2acccdff0054cccdff00103333080b71a076a5a5a0a0a5a576a1711e717675711f0b
+5db564b9bbb3b3b8ba61b15d5d61645d1e0b87957d99808c4c4a3e73588b08fb043b
+e7f70df709c7d6f11fd18bc4639258ff0004199affffe2199aff0015e666ffffede6
+66a38ba98b9cff001366668bff0025999a8bff00156666fffff3b334ff0017b334ff
+ffe94cccff0012e666ffffd5e666aeffffb58000a3ffffb6999a8bfb218bfb0afb00
+8bfb29088bffff88199aff00496666ffff9d4cccff0084199affffeb800008ffffda
+8000ffffa6199a9185059b90958c9e8b08a2957d7671767d6d1f778b808f70958484
+88848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff00
+39800005ff00066666ffffffb333ff00068000ffffffcccdff0006999a8bd28bdf9b
+e5f1080bbbdb6f2b1f8b8185fffff033347dffffffcccc080bf782078bff0043cccc
+99ff0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348b
+fffff4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7
+ccceffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef8000
+8f83ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff00098000
+7fff000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185b58c
+f72c8cb88bb58bf7218ab68a91918ba4859108558d269780937c95889e8bbb080b88
+8785818b998bff003d199afffffcb333ff0018999afffffb4ccdff000a4cccfffffd
+e666ff0004999afffffe199aff00036666838b080b6f806682468289858d7b8d85c1
+8696868b5108fb86078b3981fffffd199a45fffff9e66685858b729185b48cb28cb6
+8bb28ba28ab58a91918ba485915890828f8bdd08f753078ba094979394080bb1b0c3
+b5c88b9f8bff0013199afffff1e666ff000de666ffffea199a97788e6f8b6d08fb5b
+078b398187578686858b729085b58ca28cb38bb48bb08ab68a90918ba4869149ff00
+04199a80ff0004e6668bdd08f758078bc287bd71a8ffffed6666ff0014b334ffffe2
+999aff000d4ccc688b3b8b4b6a4e47080bffffb46666fb0b05fffff7e666fffff333
+34fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574
+a1ffffe666668cfffff9999a8b08868b858a888a080b9896a097918796811ffb7506
+8080777f848f80941f0b6f06846457755a8b568b5ca183b2086f069045c560d48bcd
+8bcbb591d2080b707f059936be59d18bc68bcbbc97e10870970581515d6b578b0855
+8b60b080c0080b6fa373a7a7a3a3a7a773a36f6f73736f1e0b6da66da6aaa6aaa3a7
+73ab6d706c706f1e0bb606a9adababb1a8087c9f05657b6b7866716aa4699e649c08
+7b7705af6fae6da966080bbd06a8b9b1b8aeb20878980566706972666569af6aa464
+a808777e05ae65b05ea85c080b6f06846457755a8b568b5ca183b2086f069045c560
+d48b08cd8bcbb591d2080b2d77d8d2d9a8b0d1dcb15b2e1f0b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b6e7678731f8b70a4829c889d8998878b778b7971735a808b
+828d829185c494bca98bc708bf73ad651e0b707f059936be59d18bc68bcbbc97e108
+70970581515d6b578b558b60b080c0080bf75a078bcf999b8ba38b918492848b808b
+3d8570865d8337835f8888838c7a8f83eb89ff0050b334fffff8b334ff00094cccff
+fff54ccc08987c8d818b7108fb6d07fb6d55644d1effffda80008bfffff24ccdff00
+0b999affffe0b333ff0020e666ffffec8000ff00148000ffffe6999aff00028000ff
+ffeae6667effffec80007ffffff93333ffffd5cccdff00234ccdffffeab333ff001a
+80007bc286bb8b08f707edbef7ab1f0b687b727b7a9573b3ff00183333ff0004cccd
+ff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e6
+68ff0010e666ff001519989b9f92a18ba308af74b0641e0bff001033347fff0015cc
+cc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668fffffeccccff
+fffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b94080bff00174c
+ccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000fb0205ffff
+fe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005999a8b8fff
+00038000ff000466668f08e3ff0050800005908f8d928b93080bff001299987aff00
+126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d8b8d8b8d8d
+08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000ffffeb199a
+1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d8d08f1f70d
+058f908c918b90080b8bff0036800088ff000e800086958990898e838b080b5fffff
+f880003dfffff38000468289858d7b8d85ff001780008bff0048800083958598838e
+7e8b6a08fb86078b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000
+fffff98000ffffae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e
+8ab68a91918ba4859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff
+00158000ff000eccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff38000
+9283967f9a7c9f8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb98000ff
+fff76666fffff6e666fffffe999aff0008199a8bac080bffffcd80008343fb4005ff
+ffef8000ffffd8b333fffffd4ccdffffff8000fffff61999ff0025cccd0855f76305
+7dff0035b334ff000c199aff00064cccbb8e91918ba48591ffffde4ccd8affffddb3
+338a678b658b6e8c768c85858b729185ad86ff00043333fffffd199aff000ee667ff
+ffc8e66608ff0064e666fc0a05ff0003999afffff13333ff00096666fffffacccd95
+8b948bff00063333ff0005e666ff0006cccdff0010199a08f6f790ff0004b33485ff
+00684cccfb8c05ff0005e6667dff0007199a85958b948bff0009199aff00054ccdff
+0003e666ff000fb33308ff00648000f80405ff000c9998b9ff0006e6689cb9909191
+8ba48591fffff04ccc8affffedb3348a678b658b698c6b8c85858b729185d687ff00
+004cccffffe8999afffff64cccffffdb666608ffffc06668fb8305fffff9b334ffff
+e84ccdfffffce666fffff9cccdfffff63332ff0019e666080b90c095c497bc848d80
+8e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199aff0006199aff00
+05e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b92868f838b080b7f8b
+6c896d8b08fb71060b5c8b2a8f668e87588155836495889489968b080ba0cdb1abd6
+8c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb24858389848b8408
+819087991ef80006a6ef898b1f0ba3ff00408000bcff0021b334bfff0000cccc08f7
+5c8e052cffff8e8000ffff7a6666ffff7c4ccdffffa7cccdffff936666ffffeb8000
+ffffe6cccdfffff0cccdfffff18000ffffe78000fffff1800089fffff2cccd8fffff
+f1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3348aafcb98b396ff00
+34800085ff000680007e907bff00018000086affffc6800005ffffe5199affffd133
+3364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73cff00b9e666f0ff0076
+8000ff00133334ff00168000ff0008ccccff000e80008b8f8b8f868e848b868b6589
+6e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f080bf7f407f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde080b78
+8bffffed4ccdff0006b334fffff1b333ff000c4ccc080b9c7bb454616a68757f937c
+9e949895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f
+807a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a0
+72727776721e0ba697057de058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18b
+b6669656080b687b727b7a9573b3ff00183334ff0004ccccff00069998ffffec6668
+1f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff001519
+9a9b9f92a18ba308af74b0641e0b6ca274aaaaa2a2aaaa74a26c6c74746c1e0bccf7
+2c470792859288918b928b928f959308e2070b998793771efb4d067b7c7e801f3307
+92889287938b08928b928e9392080b98959d97928792821ffb61067f817a7f848f83
+931f0b98959d97928792821ffbed067f817a7f848f83931f0b98959d97928792821f
+fb75067f817a7f848f83931f0bffffb46666fb0b05fffff7e667fffff33334fffffc
+b333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffffe6
+66668cfffff9999a8b868b858a888a080bf737077f8f8b8d828b848b8989818708fb
+390797878e89938b928b8a8d9691080bf71c8bf71cb0ebf707087a9d053e4e3d53fb
+588bfb548b31c346c8087a7905e5fb05f71464f72a8b080bf9730698989f97948893
+801ffd73067f7d777f838e82961f0bffffe5b334fffff5ccd0ffffede666fffff233
+30fffff1e666fffff0666808ff0076999affffc8800005ff00103333fffff81998ff
+000ab333fffffd6668ff000633348bff000633338bff00054ccdff000633348b928b
+ff0006333488ff00054cccfffff7800092080bffffa08002ffffb44ccc0581fffff8
+1998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006e6
+668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff006ee668
+ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664ff000b
+b334080bffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99
+988bfffff6199c080b72a076a4a4a0a0a4a476a072727676721e0bff00888000ffff
+b8999aff005a8000ffff7566661effffb3999a8bffffd1e666ffffdb8000ffffd480
+00ffffc780008887858b8b93080b9b7cb34b556f69767f927c9f9b9694971e8b9287
+90898e898d8a8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a506
+8da49a979d979c969b968ba1080bffffa93334ffffbb333005fffff6e668fffff8cc
+d0fffffe9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc
+8bff00064cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff
+002e666405fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab3
+34080bffffce99993205ffffee7fffffffeaccccffffee3333ffffeb9998fffff019
+9affffee6668918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668
+ff0008999aff000819989092ffffde8000ff00254cccffffd78000ff00306668ffff
+e33334ff002c800008ffffffb332ff0001333405ffffff8000ff00008000ffffff80
+00ff00009998ffffff8000ff00008000fffffe8000ff00026668fffffe8000ff0002
+4cccfffffe999aff00024cccfffffe199aff00008000fffffe3332ff00006668ffff
+fe199aff00004cccfffff3b334ff00081998fffff4b332ff00008000fffffc999a8b
+fffffc80008bfffffbccceffffff3334fffffde666ffffff3334080bfffffd3333ff
+0000ccccfffffbcccdff0000ccccfffffc80008bffffe833338bffffefe666fffff2
+6668fffffa6667fffffb333408fffffe999afffff73330ff004fcccdffffa8ccd005
+ff000b33337fff0004e66787ff000433338bff000599998bff0004e667ff0004cccc
+8b8f8bff00059998ffffff4ccdff0005999cfffffc800093080b616a68757f937c9e
+949895961f8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f80
+7a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b988b9ea48d968c948a94808b
+08fb7906808b7976897b89828e83958b080bb0a6a8ad1f8bb16c96758f748d80928b
+a78ba4bbc3c99b8b97839b83934d7e31498b370843ac58bb1e0b5b6b58431f8b37e5
+49c97e9393939b8b974d9b5bc38ba48ba79692a28da18fa9968bb108ad70a8661e0b
+c4b5dfbc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151
+383f1e0bc4b5dfbc99aa825754672f5379719abf1e0b808b7d848581083bfb230589
+8889868b8a8a839185938b8f8b908f8f8f08f707f70e0590908d908c908f9f799d77
+8b080b808b7d848581083bfb2305898889868b8a8a839185928b908b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b7c818280897f8a868c868d8708d8fb0f
+058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d8b8c8b8c8a8d086af725058a91888f
+868e868e868c868b858b84898588080b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e
+0ba68da68b1e90898d851e7b845c8371898a838c848f85080bab8996908b5608fb01
+078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8ba98a8f
+928b99879308698d7a8e8bb4080b6584695f6f63a2df1e8b918b938c90a09ca19199
+8b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e07fb2d805124
+8b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4c4f70ec0e608
+fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b080ba4a37d701f
+8b6e766f7b8208779505669f88a28b9a08a9a394a31e0ba87d05b3778c718b720862
+717f67736496b81e8badb2b29b94080bffff19ffff69ff00e60001060b8b43aa4be5
+51089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b44080b8bd25fd83e
+bc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8bd3080b8dff000066
+67ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c878a8508
+877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587950864e8
+05898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e088f9c898c
+058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787848283ff
+ffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff0033999aff00df
+80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a858a8508
+4ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e8f9d058c
+8f898c888b0884067e848e961f8b8f8c8f8c90080b887505958e958c928b938b8d87
+8b858b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2
+a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2
+a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a
+888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c
+908c9208aaf71705ff00014cccff00064ccdff0001199aff00061999ff0000e666ff
+0005b334ff00168000ff00151999ff0017b334ff0012cccdff001280008ba18b9981
+8b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3
+a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e
+998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3333ffffee6666ffff
+eeb333fffffe999aff0025199affffea666699ffffdf199a8b688b61687a7a0897bf
+7e8b05707f75856b87080bff00130001a2ad9da08b08aa9a7a581f2c07ff00000001
+628988698987838b7d8f84a98cff000733338bff0017cccc8bff00234cce8bff0005
+b3328ba98a8f918c9a8693638d838e8bb408f407ce73a4ffffd200011e678bffffd7
+4ccdffffec4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba789
+9888928a8e8a8e868b080b7a83768560858a878d7d8c87ff0020ffff88ff00090001
+868b63082007ff0000000162fffff2ffff88ffffd800018986838c7c8f85ff001dff
+ff8cff001700018ba28ba48b928ba98a8f928b998793698d888e8bb408ef07ff0000
+00019390948f90080b48fbb40586778a85738a088406878b8a898a89088778058baf
+8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c8f8c9008a2f005
+967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b707c737c0893aa8c
+907d8b050b717f75856a8708887505968e958c918b938b8e878b85088b878a858a85
+080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a8b74948bac8b92
+8c928d94080bc206918b948d8c90088f9d058c8d898d888b084b8ba1ea637e898005
+7f5c7c73648b08898a8a891f857305898c8b8d1eb18b61fb4b0589838a838b848b70
+9a80a18ba68ba393aaa608809c05797f80867b8b828b87908b978b948e988f9c080b
+5792fd27fd7dbf83050b6b565a5a798b6a8b92b291ae99cdd0efbf8b9e8b93738571
+8a827b5f7768080b89808977ac8bad8bad9ebcb4087a9c057a7a7c81848b888b898e
+8c928c918f94919808e5f7655a8b6d6905889e809a698b408bfb1025772684669452
+cf8ba18bad98aea78a888a878b88080b85686b67618b618b7aaf92ae91aeaab1b68b
+b88b9962846b080b8154af5ec28bc28bc0b896c295c267b8548b548b565e8054080b
+c68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989ad59deac9c4b58b918b99878777
+8878898d887e89808f7fa78b08958bab9390a492ab7ab0438b3b8b203975fb008362
+aa49cc8b080b83617868726f6c69587a408b08598bc4f7bc05a490a78eaf8b08c88b
+d66d74fb0a080bff00733334ff024e8000ff000ee666ff00008000058d8c8d8b8e8b
+a58b8c7a856e082afc8a05856f867b628b080b8b6270715f85fffffd4cccfffff6e6
+66ffffff4ccefffff4999aff00056666fffff9800093ff0001800090ff0000800092
+8b080ba3be87525455786e1f6b8bffffedb334ff00068000fffffa4cccff000b8000
+859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe08000ff00
+509998fffff4b333ff001a3334dbd0b6d01f8bc55ca36a8e080ba89ba19b8bb108ff
+002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bffffff33
+349dff0004cccc96ff00088000ff00138000ff00208000ff000480009c8b08b29880
+711f0b627a685e1e758b80928294839383927e8b08817f837e73c77eadd0bcc0c7c1
+67bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378b75fb239188059992a092a1
+8b08d38e506d1f0bff000e000192a092a18b08d38e506d1f0bb35ca65e565b6e5e1e
+8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79a46c9c08
+64a005c6ad8fa98b9a080bd9b2fb058606fb39fd40fb0ef767056971617166780898
+6fcba5f720fb85b19f050bd31c047443060bfc62d3f81af768d3070bf7b0d3fb68f8
+aa43060bf8f243fcaafb6843070b8a8a8b28ef8b8bee8a8c050b8b298c8aed8b8c8c
+8bed8a8c298b050b27ee078c8c8bed8a8c050b8a8a8b298c8aee8b8bef050b8b288c
+8aed8b8c8c8bee050b7d96809998979699997f967e7d80807d1e0b7d968099999696
+999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bea0695988f
+941f9f078f888d871e0bfb03f7140652778b78054b6f72511e2f066e799eaa1ff7fa
+07a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f
+888f1ea606b29a7d6d1ffc0b070bd98af73f8b8bfb830543a570ba1eb88bb4a1b1b6
+08799d0571777883718b087084a9c91f0b4ffb970585718880867c08978705929295
+949393967da281a78bc98bd0d09cd58e998d998b998bbc74b25b8b738b7282707b08
+aaf7197d8b05717f75856a8708887505968e958c918b948b8d878b858b878a858a85
+080ba39b9891a48ba18b9c768b628b7d897b8678762e607f758b7a8b74948bac8b92
+8c938d93080b398b50437a42877d8a7d8b7e8b56a763cd8bb68bafa3abae087c9b05
+73757376678b768b789a82a288938a958b968b978d998e989ddcbbaca98ba78b917d
+8b7b088b868a868b850888077d9585971e988b9994909f8b8f8c8f8b8f8ba871a556
+8b080b72767981768b728b789a8bb78b9b8d9e91a29cd5aca6ab8ba48b9b77967808
+0ba598a290ab8f088ea1058088818a858b838b888f8b918b908c908d9108d4f7cf7d
+8b05717f74856c8708877505968e958c918b938b8e878b858b878a858985087d4c05
+80997592728b418b563d7c4b887d8a7f8b7f080b54ab69bf1ea28ba498a19b080b87
+798381778b088006888b898a8a8708877a8c8a058bb38ca0a2bf8a8b1e8c8c8f9c05
+8f898c891e77067d8591961f8b8e8c8f8b8f08aff72ec38b05918b938d8d91088f9d
+058d8a8c881e4a8b8d9505a1eaa4969f8b9c8b93848e778e809283978b968b98968e
+978b8d8c8d8b8d8b9486948392087f967d91758b598b4e5e752b086c06818b87848a
+8608877d05898b8a8d1eb4060b968b98958e99088f07968295761e758b7982777908
+0b83917b946f8b598b50687e528a848a858b858b74947d957e787c77728676080b8b
+878a888b888b7a957f96856977727185718a858a858b868b63b580b18bd78be6aa9a
+ce088c908c908b8f8b998696819678a1658f768b828b7b897e8a838a838a888b7e8b
+7c8f8b9c088b8e8b8e8c8f8e988f96949597839b87a28bbc8bc5aa98c7080b8d938c
+928b918b9c859782998f919393928b938b90888c85088c849086958b080b90889388
+938b918b948c948b938c928b908ba78b9d859982080b9c8192858b818b888b898a88
+815e4e84598b788b608e8bae8b8f8c8f8c8f90a0919ba19d080b6a82a0a41f8b958c
+968e9596bb9f9bab8ba68b9a7d8b6d8b8289818980080b72767d84768b728b75998b
+ba8b998d9d90a09cd5aca6ab8ba48b9b779678080b6d7305809c74946f8b418b563d
+7c4b887e8a7f8b808b54ae69c18ba18ba096a19b0872fb0005857582867b8b088106
+888b888a8a87088779058bb28ca4a2ae8a8b1e909e058d8b8d871e84067b8c878e8b
+928b8f8c908d9208daf7ed8b8f058e8a8d891e888b83868888080b8a8c058b7e8a83
+74678c8b1e8a8a877a058a898b88908b08910699918a801f8b888b868985086dfb18
+05877d8a7e8b818b64a07bae8bad8bb5ae9c9c088057988b050ba598a290ab8f088e
+a1058088818a858b838b888f8b918b908c908d9108baf7628a8c058b7e8a8273658c
+8b1e8a8a877a058a878e8a8d8b0895069892887f1f8b888a878a87086afb25050b73
+757275768b758b7d948ba78b938c958e97080b8c848f85908b918b958e929608f715
+f75c05a0ab968f988b8e8b8f8c8c8f088f9c8a8c058b768a79766a8c8b1e8a8a877a
+05898c888d9d9489821e88078986888585820829fb2a6ff72d058a928b908c908d95
+938f938b0895068e8e8d8e1f8f9c8a8c558a0579668c8b1f8a8a877a058a878d8a8e
+8b9d8b8f869168080b82868f8e1f7706846f82707e6d08a08a05a1b7a0919d8b08d5
+8bfb52fb6e05898984858b8508888f88931ef75106929e98a89eaf08778f7f7a0576
+6a7f83698b08448bf74df766059b9e8d8f8b8d088c078c8e878b888b898b6f89798b
+080b>
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+ /Author (Gunnar Ritter)
+ /Title (Justification in Heirloom Troff)
+/DOCINFO pdfmark
+[ /Title (Title)
+ /Dest /Bookmark$0
+/OUT pdfmark
+[ /Title (Line-by-line adjustment)
+ /Dest /Bookmark$1
+/OUT pdfmark
+[ /Title (Shrinking interword spaces)
+ /Dest /Bookmark$2
+/OUT pdfmark
+[ /Title (Paragraph-at-once adjustment)
+ /Dest /Bookmark$3
+/OUT pdfmark
+[ /Title (Microtypography)
+ /Dest /Bookmark$4
+/OUT pdfmark
+[ /Title (Penalties for line breaks and hyphenation)
+ /Dest /Bookmark$5
+/OUT pdfmark
+[ /Title (Paragraph shapes)
+ /Dest /Bookmark$6
+/OUT pdfmark
+[ /Title (Notes)
+ /Dest /Bookmark$7
+/OUT pdfmark
+[ /Title (References)
+ /Dest /Bookmark$8
+/OUT pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /pilcrow /periodcentered
+/cedilla /one.superior /ordmasculine /guillemotright /questiondown
+/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex
+/Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde
+/Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis
+/Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde
+/adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex
+/edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde
+/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash
+/ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+/Amacron /amacron /Abreve /abreve /Aogonek /aogonek /Cacute /cacute
+/Ccircumflex /ccircumflex /Cdotaccent /cdotaccent /Ccaron /ccaron
+/Dcaron /dcaron /Dcroat /dcroat /Emacron /emacron /Ebreve /ebreve
+/Edotaccent /edotaccent /Eogonek /eogonek /Ecaron /ecaron /Gcircumflex
+/gcircumflex /Gbreve /gbreve /Gdotaccent /gdotaccent /Gcommaaccent
+/gcommaaccent /Hcircumflex /hcircumflex /Hbar ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/LinLibertineO-@11 exch definefont pop
+/@11 /LinLibertineO-@11 def
+/&11 {@11 F} bind def
+/Encoding-@11@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /eturned /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@1 def
+ currentdict
+end
+/LinLibertineO-@11@1 exch definefont pop
+/@11@1 /LinLibertineO-@11@1 def
+/&11@1 {@11@1 F} bind def
+/Encoding-@11@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /dotlessj /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0242
+/uni0243 /uni0244 /uni0245 /uni0246 /uni0247 /uni0248 /uni0249
+/uni024A /uni024B /uni024C /uni024D /uni024E /uni024F /aturned
+/uni0251 /uni0252 /uni0253 /cturned /uni0255 /uni0256 /uni0257
+/uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D /uni025E
+/uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264 /uni0265
+/hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B /uni026C
+/uni026D /uni026E /mturned /uni0270 /uni0271 /uni0272 /uni0273
+/uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned /uni027A
+/rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap /Rsmallinverted
+/uni0282 /uni0283 /uni0284 /uni0285 /uni0286 /uni0287 /uni0288
+/uni0289 /uni028A /uni028B /uni028C /uni028D /uni028E /uni028F
+/uni0290 /uni0291 /uni0292 /uni0293 /uni0294 /glottalstopreversed
+/uni0296 /uni0297 /uni0298 /uni0299 /uni029A /uni029B /uni029C
+/uni029D /uni029E /uni029F /uni02A0 /uni02A1 /uni02A2 /uni02A3
+/uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8 /uni02A9 /uni02AA
+/uni02AB /uni02AC /uni02AD /uni02AE /uni02AF /h.superior /hhook.superior
+/j.superior /r.superior /rturned.superior /rhookturned.superior
+/Rsmallinverted.superior /w.superior /y.superior /uni02B9 /uni02BA
+/uni02BB /afii57929 /afii64937 /uni02BE /uni02BF /uni02C0 /uni02C1
+/uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron /uni02C8 /uni02C9
+/uni02CA /uni02CB /uni02CC /uni02CD /uni02CE /uni02CF /uni02D0
+/uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5 /uni02D6 /uni02D7
+/breve /dotaccent /ogonek /hungarumlaut /uni02DE /uni02DF /gammalatin.superior
+/l.superior /s.superior /x.superior /glottalstopreversed.superior
+/uni02E5 /uni02E6 /uni02E7 /uni02E8 /uni02E9 /uni02EA /uni02EB
+/uni02EC /uni02ED /uni02EE /uni02EF /uni02F0 /uni02F1 /uni02F2
+/uni02F3 /uni02F4 /uni02F5 /uni02F6 /uni02F7 /uni02F8 /uni02F9
+/uni02FA /uni02FB /uni02FC /uni02FD /uni02FE /uni02FF /gravecomb
+/acutecomb /circumflexcomb /tildecomb /macroncomb /uni0305 /brevecomb
+/uni0307 /uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D
+/uni030E /uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314
+/uni0315 /uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B
+/uni031C /uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322
+/dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329
+] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@2 def
+ currentdict
+end
+/LinLibertineO-@11@2 exch definefont pop
+/@11@2 /LinLibertineO-@11@2 def
+/&11@2 {@11@2 F} bind def
+/Encoding-@11@3 [
+/uni032A /uni032B /uni032C /uni032D /uni032E /uni032F /uni0330
+/uni0331 /uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337
+/uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E
+/uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345
+/uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C
+/uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni0374
+/uni0375 /uni037A /uni037B /uni037C /uni037D /uni037E /tonos
+/dieresistonos /Alphatonos /anoteleia /Epsilontonos /Etatonos
+/Iotatonos /Omicrontonos /Upsilontonos /Omegatonos /iotadieresistonos
+/Alpha /Beta /Gamma /Delta /Epsilon /Zeta /Eta /Theta /Iota /Kappa
+/Lambda /Mu /Nu /Xi /Omicron /Pi /Rho /Sigma /Tau /Upsilon /Phi
+/Chi /Psi /Omega /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos
+/etatonos /iotatonos /upsilondieresistonos /alpha /beta /gamma
+/delta /epsilon /zeta /eta /theta /iota /kappa /lambda /mu /nu
+/xi /omicron /pi /rho /sigma1 /sigma /tau /upsilon /phi /chi
+/psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos
+/omegatonos /uni03D0 /theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1
+/omega1 /uni03D7 /uni03D8 /uni03D9 /uni03DA /uni03DB /uni03DC
+/uni03DD /uni03DE /uni03DF /uni03E0 /uni03E1 /uni03F0 /uni03F1
+/uni03F2 /uni03F3 /uni03F4 /uni03F5 /uni03F6 /uni03F8 /uni03F9
+/uni03FB /uni03FD /uni03FE /uni03FF /uni0400 /afii10023 /afii10051
+/afii10052 /afii10053 /afii10054 /afii10055 /afii10056 /afii10057
+/afii10058 /afii10059 /afii10060 /afii10061 /uni040D /afii10062
+/afii10145 /afii10017 /afii10018 /afii10019 /afii10020 /afii10021
+/afii10022 /afii10024 /afii10025 /afii10026 /afii10027 /afii10028
+/afii10029 /afii10030 /afii10031 /afii10032 /afii10033 /afii10034
+/afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040
+/afii10041 /afii10042 /afii10043 /afii10044 /afii10045 /afii10046
+/afii10047 /afii10048 /afii10049 /afii10065 /afii10066 /afii10067
+/afii10068 /afii10069 /afii10070 /afii10072 /afii10073 /afii10074
+/afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
+/afii10081 /afii10082 /afii10083 /afii10084 /afii10085 /afii10086
+/afii10087 /afii10088 /afii10089 /afii10090 /afii10091 /afii10092
+/afii10093 /afii10094 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@3 def
+ currentdict
+end
+/LinLibertineO-@11@3 exch definefont pop
+/@11@3 /LinLibertineO-@11@3 def
+/&11@3 {@11@3 F} bind def
+/Encoding-@11@4 [
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 /afii10107 /afii10108 /afii10109 /uni045D /afii10110
+/afii10193 /uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465
+/uni0466 /uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C
+/uni046D /uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195
+/afii10148 /afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E
+/uni047F /uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050
+/afii10098 /uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497
+/uni0498 /uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E
+/uni049F /uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5
+/uni04A6 /uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC
+/uni04AD /uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3
+/uni04B4 /uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA
+/uni04BB /uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1
+/uni04C2 /uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA
+/uni04CB /uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4
+/uni04D5 /uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB
+/uni04DC /uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2
+/uni04E3 /uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9
+/uni04EA /uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0
+/uni04F1 /uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7
+/uni04F8 /uni04F9 /afii57799 /afii57801 /afii57800 /afii57802
+/afii57793 /afii57794 /afii57795 /afii57798 /afii57797 /afii57806
+/uni05BA /afii57796 /afii57807 /afii57839 /afii57645 /afii57841
+/afii57842 /afii57804 /afii57803 /afii57658 /uni05C6 /afii57664
+/afii57665 /afii57666 /afii57667 /afii57668 /afii57669 /afii57670
+/afii57671 /afii57672 /afii57673 /afii57674 /afii57675 /afii57676
+/afii57677 /afii57678 /afii57679 /afii57680 /afii57681 /afii57682
+/afii57683 /afii57684 /afii57685 /afii57686 /afii57687 /afii57688
+/afii57689 /afii57690 /afii57716 /afii57717 /afii57718 /uni05F3
+/uni05F4 /uni1D15 /a.superior /aturned.superior /uni1D45 /uni1D46
+/b.superior /d.superior /e.superior /eturned.superior /uni1D4B
+/uni1D4C /g.superior /iturned.superior /k.superior /m.superior
+/eng.superior /o.superior /cturned.superior /uni1D54 /uni1D55
+/p.superior /t.superior /u.superior /uni1D59 /mturned.superior
+/v.superior /uni1D5C /uni1D5D /uni1D5E /uni1D5F /uni1D62 /uni1D63
+/uni1D64 /uni1D65 /uni1D66 /uni1D67 /c.superior /f.superior /z.superior
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@4 def
+ currentdict
+end
+/LinLibertineO-@11@4 exch definefont pop
+/@11@4 /LinLibertineO-@11@4 def
+/&11@4 {@11@4 F} bind def
+/Encoding-@11@5 [
+/uni1E0B /uni1E0C /uni1E0D /uni1E0E /uni1E0F /uni1E10 /uni1E11
+/uni1E12 /uni1E13 /uni1E14 /uni1E15 /uni1E16 /uni1E17 /uni1E18
+/uni1E19 /uni1E1A /uni1E1B /uni1E1C /uni1E1D /uni1E1E /uni1E1F
+/uni1E20 /uni1E21 /uni1E22 /uni1E23 /uni1E24 /uni1E25 /uni1E26
+/uni1E27 /uni1E28 /uni1E29 /uni1E2A /uni1E2B /uni1E2C /uni1E2D
+/uni1E2E /uni1E2F /uni1E30 /uni1E31 /uni1E32 /uni1E33 /uni1E34
+/uni1E35 /uni1E36 /uni1E37 /uni1E38 /uni1E39 /uni1E3A /uni1E3B
+/uni1E3C /uni1E3D /uni1E3E /uni1E3F /uni1E40 /uni1E41 /uni1E42
+/uni1E43 /uni1E44 /uni1E45 /uni1E46 /uni1E47 /uni1E48 /uni1E49
+/uni1E4A /uni1E4B /uni1E4C /uni1E4D /uni1E4E /uni1E4F /uni1E50
+/uni1E51 /uni1E52 /uni1E53 /uni1E54 /uni1E55 /uni1E56 /uni1E57
+/uni1E58 /uni1E59 /uni1E5A /uni1E5B /uni1E5C /uni1E5D /uni1E5E
+/uni1E5F /uni1E60 /uni1E61 /uni1E62 /uni1E63 /uni1E64 /uni1E65
+/uni1E66 /uni1E67 /uni1E68 /uni1E69 /uni1E6A /uni1E6B /uni1E6C
+/uni1E6D /uni1E6E /uni1E6F /uni1E70 /uni1E71 /uni1E72 /uni1E73
+/uni1E74 /uni1E75 /uni1E76 /uni1E77 /uni1E78 /uni1E79 /uni1E7A
+/uni1E7B /uni1E7C /uni1E7D /uni1E7E /uni1E7F /Wgrave /wgrave
+/Wacute /wacute /Wdieresis /wdieresis /uni1E86 /uni1E87 /uni1E88
+/uni1E89 /uni1E8A /uni1E8B /uni1E8C /uni1E8D /uni1E8E /uni1E8F
+/uni1E90 /uni1E91 /uni1E92 /uni1E93 /uni1E94 /uni1E95 /uni1E96
+/uni1E97 /uni1E98 /uni1E99 /uni1E9A /uni1E9B /uni1E9C /uni1E9D
+/Germandbls /uni1E9F /uni1EA0 /uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4
+/uni1EA5 /uni1EA6 /uni1EA7 /uni1EA8 /uni1EA9 /uni1EAA /uni1EAB
+/uni1EAC /uni1EAD /uni1EAE /uni1EAF /uni1EB0 /uni1EB1 /uni1EB2
+/uni1EB3 /uni1EB4 /uni1EB5 /uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9
+/uni1EBA /uni1EBB /uni1EBC /uni1EBD /uni1EBE /uni1EBF /uni1EC0
+/uni1EC1 /uni1EC2 /uni1EC3 /uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7
+/uni1EC8 /uni1EC9 /uni1ECA /uni1ECB /uni1ECC /uni1ECD /uni1ECE
+/uni1ECF /uni1ED0 /uni1ED1 /uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5
+/uni1ED6 /uni1ED7 /uni1ED8 /uni1ED9 /uni1EDA /uni1EDB /uni1EDC
+/uni1EDD /uni1EDE /uni1EDF /uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3
+/uni1EE4 /uni1EE5 /uni1EE6 /uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA
+/uni1EEB /uni1EEC /uni1EED /uni1EEE /uni1EEF /uni1EF0 /uni1EF1
+/Ygrave /ygrave /uni1EF4 /uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8
+/uni1EF9 /uni1EFA /uni1EFB /uni1EFC /uni1EFD /uni1EFE /uni1EFF
+/uni1F00 /uni1F01 /uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06
+/uni1F07 /uni1F08 /uni1F09 /uni1F0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@5 def
+ currentdict
+end
+/LinLibertineO-@11@5 exch definefont pop
+/@11@5 /LinLibertineO-@11@5 def
+/&11@5 {@11@5 F} bind def
+/Encoding-@11@6 [
+/uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F /uni1F10 /uni1F11
+/uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18 /uni1F19 /uni1F1A
+/uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21 /uni1F22 /uni1F23
+/uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28 /uni1F29 /uni1F2A
+/uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F /uni1F30 /uni1F31
+/uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36 /uni1F37 /uni1F38
+/uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D /uni1F3E /uni1F3F
+/uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44 /uni1F45 /uni1F48
+/uni1F49 /uni1F4A /uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51
+/uni1F52 /uni1F53 /uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59
+/uni1F5B /uni1F5D /uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63
+/uni1F64 /uni1F65 /uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A
+/uni1F6B /uni1F6C /uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71
+/uni1F72 /uni1F73 /uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78
+/uni1F79 /uni1F7A /uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81
+/uni1F82 /uni1F83 /uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88
+/uni1F89 /uni1F8A /uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F
+/uni1F90 /uni1F91 /uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96
+/uni1F97 /uni1F98 /uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D
+/uni1F9E /uni1F9F /uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4
+/uni1FA5 /uni1FA6 /uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB
+/uni1FAC /uni1FAD /uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2
+/uni1FB3 /uni1FB4 /uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA
+/uni1FBB /uni1FBC /uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1
+/uni1FC2 /uni1FC3 /uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9
+/uni1FCA /uni1FCB /uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0
+/uni1FD1 /uni1FD2 /uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9
+/uni1FDA /uni1FDB /uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1
+/uni1FE2 /uni1FE3 /uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8
+/uni1FE9 /uni1FEA /uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF
+/uni1FF2 /uni1FF3 /uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9
+/uni1FFA /uni1FFB /uni1FFC /uni1FFD /uni1FFE /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /pertenthousand /minute /second /primetriple
+/primereversed ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@6 def
+ currentdict
+end
+/LinLibertineO-@11@6 exch definefont pop
+/@11@6 /LinLibertineO-@11@6 def
+/&11@6 {@11@6 F} bind def
+/Encoding-@11@7 [
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C /uni20A2 /franc /lira /peseta /uni20A8 /dong
+/Euro /uni20AF /peso /uni2100 /uni2101 /uni2102 /centigrade /afii61248
+/uni2106 /fahrenheit /uni210C /uni210D /uni210E /uni210F /Ifraktur
+/afii61289 /uni2115 /numero /uni2119 /uni211A /Rfraktur /uni211D
+/uni2120 /trademark /uni2124 /uni2126 /Omegainv /estimated /aleph
+/uni2136 /uni2137 /uni2138 /uni2139 /uni214F /onethird /twothirds
+/onefifth /twofifths /threefifths /fourfifths /onesixth /fivesixths
+/oneeighth /threeeighths /fiveeighths /seveneighths /onenumerator
+/Oneroman /Tworoman /Threeroman /Fourroman /Fiveroman /Sixroman
+/Sevenroman /Eightroman /Nineroman /Tenroman /Elevenroman /Twelveroman
+/uni216C /uni216D /uni216E /uni216F /oneroman /tworoman /threeroman
+/fourroman /fiveroman /sixroman /sevenroman /eightroman /nineroman
+/tenroman /elevenroman /twelveroman /uni217C /uni217D /uni217E
+/uni217F /uni2180 /uni2181 /uni2182 /uni2183 /uni2184 /arrowleft
+/arrowup /arrowright /arrowdown /arrowboth /arrowupdn /uni2196
+/uni2197 /uni2198 /uni2199 /uni219A /uni219B /uni21A6 /arrowupdnbse
+/uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1 /uni21CB /uni21CC
+/uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup /arrowdblright
+/arrowdbldown /arrowdblboth /uni21D5 /Nwarrow /Nearrow /Searrow
+/Swarrow /universal /uni2201 /partialdiff /existential /uni2204
+/emptyset /uni2206 /gradient /element /notelement /uni220A /suchthat
+/uni220C /uni220D /product /uni2210 /summation /minus /uni2213
+/uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219 /radical
+/uni221B /uni221C /proportional /infinity /uni221F /angle /uni2221
+/uni2222 /uni2223 /uni2224 /uni2225 /uni2226 /logicaland /logicalor
+/intersection /union /integral /uni222C /uni222D /uni222E /uni2236
+/similar /uni2241 /congruent /approxequal /uni2249 /uni2259 /notequal
+/equivalence /uni2262 /lessequal /greaterequal /uni226A /uni226B
+/uni226E /uni226F /uni2270 /uni2271 /propersubset /propersuperset
+/notsubset /uni2285 /circleplus /uni2296 /circlemultiply /uni2298
+/uni22A2 /uni22A3 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@7 def
+ currentdict
+end
+/LinLibertineO-@11@7 exch definefont pop
+/@11@7 /LinLibertineO-@11@7 def
+/&11@7 {@11@7 F} bind def
+/Encoding-@11@8 [
+/uni22A4 /perpendicular /uni22A6 /uni22B6 /uni22B7 /dotmath /uni22EE
+/uni22EF /uni2300 /uni2302 /uni2303 /uni2310 /integraltop /integralbottom
+/uni2326 /uni2327 /uni2329 /uni232A /uni232B /uni237D /uni2380
+/uni239B /uni239C /uni239D /uni239E /uni239F /uni23A0 /uni23A1
+/uni23A2 /uni23A3 /uni23A4 /uni23A5 /uni23A6 /uni23A7 /uni23A8
+/uni23A9 /uni23AA /uni23AB /uni23AC /uni23AD /integralextension
+/uni23D3 /uni2423 /uni2460 /uni2461 /uni2462 /uni2463 /uni2464
+/uni2465 /uni2466 /uni2467 /uni2468 /uni2469 /uni246A /uni246B
+/uni246C /uni246D /uni246E /uni246F /uni2470 /uni2471 /uni2472
+/uni2473 /uni2474 /uni2475 /uni2476 /uni2477 /uni2478 /uni2479
+/uni247A /uni247B /uni247C /uni247D /uni247E /uni247F /uni2480
+/uni2481 /uni2482 /uni2483 /uni2484 /uni2485 /uni2486 /uni2487
+/uni24B6 /uni24B7 /uni24B8 /uni24B9 /uni24BA /uni24BB /uni24BC
+/uni24BD /uni24BE /uni24BF /uni24C0 /uni24C1 /uni24C2 /uni24C3
+/uni24C4 /uni24C5 /uni24C6 /uni24C7 /uni24C8 /uni24C9 /uni24CA
+/uni24CB /uni24CC /uni24CD /uni24CE /uni24CF /uni24D0 /uni24D1
+/uni24D2 /uni24D3 /uni24D4 /uni24D5 /uni24D6 /uni24D7 /uni24D8
+/uni24D9 /uni24DA /uni24DB /uni24DC /uni24DD /uni24DE /uni24DF
+/uni24E0 /uni24E1 /uni24E2 /uni24E3 /uni24E4 /uni24E5 /uni24E6
+/uni24E7 /uni24E8 /uni24E9 /uni24EA /uni24EB /uni24EC /uni24ED
+/uni24EE /uni24EF /uni24F0 /uni24F1 /uni24F2 /uni24F3 /uni24F4
+/uni24F5 /uni24F6 /uni24F7 /uni24F8 /uni24F9 /uni24FA /uni24FB
+/uni24FC /uni24FD /uni24FE /uni24FF /filledbox /H22073 /triagup
+/uni25B3 /uni25B6 /uni25B7 /triagdn /uni25BD /uni25C0 /uni25C1
+/uni25C6 /uni25C7 /uni25C9 /lozenge /bigcircle /uni25CE /H18533
+/uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4 /uni25D5 /uni25D6
+/uni25D7 /openbullet /uni2605 /uni2609 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /uni263C /uni263D
+/uni263E /uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645
+/uni2646 /uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C
+/uni264D /uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /uni2695 /uni2698 /uni26A2
+/uni26A3 /uni26A4 /uni26A5 /uni26A6 /uni26A7 /uni26AC /married
+/divorced /uni26AF /uni2714 /uni2718 /died /uni2767 /uni2776
+/uni2777 /uni2778 /uni2779 /uni277A /uni277B /uni277C /uni277D
+/uni277E /uni277F /uni27C2 /uni27E6 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@8 def
+ currentdict
+end
+/LinLibertineO-@11@8 exch definefont pop
+/@11@8 /LinLibertineO-@11@8 def
+/&11@8 {@11@8 F} bind def
+/Encoding-@11@9 [
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C6E /uni2C6F /uni2C74 /uni2C75 /uni2C76
+/uni2C77 /uni2E02 /uni2E03 /uni2E04 /uni2E05 /uni2E08 /uni2E09
+/uni2E0A /uni2E17 /uni2E18 /uniA656 /uniA657 /uniA71D /uniA720
+/uniA721 /uniA765 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005
+/uniE006 /uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /copyleft
+/publicdomain /creativecommons /zero.slashfitted /zero.fitted
+/one.fitted /two.fitted /three.fitted /four.fitted /five.fitted
+/six.fitted /seven.fitted /eight.fitted /nine.fitted /Euro.fitted
+/Yen.fitted /uniE01C /a.alt /uniE01E /perthousandzero /zero.oldstyle
+/one.oldstyle /two.oldstyle /three.oldstyle /four.oldstyle /five.oldstyle
+/six.oldstyle /seven.oldstyle /eight.oldstyle /nine.oldstyle
+/uniE02A /Adieresis.alt /Odieresis.alt /Udieresis.alt /W.alt
+/f_b /f_f_h /f_f_j /f_f_k /f_f_t /f_h /f_j /f_k /f_t /c_k /c_h
+/t_t /c_t /longs_i /longs_longs /uniE040 /uniE041 /uniE042 /longs_l
+/longs_longs_i /longs_s /ae.alt /longs_h /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /Germandbls.alt /uniE04F /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /uniE06B /hyphen.sc /agrave.sc /aacute.sc
+/acircumflex.sc /atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc
+/egrave.sc /eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc
+/iacute.sc /icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc
+/oacute.sc /ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc
+/ugrave.sc /uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc
+/thorn.sc /ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc
+/Q_u.sc /q.sc_u.sc /dcroat.sc /abreve.sc /aogonek.sc /cacute.sc
+/ccaron.sc /dcaron.sc /eogonek.sc /ecaron.sc /gbreve.sc /lacute.sc
+/lslash.sc /nacute.sc /ncaron.sc /eng.sc /ohungarumlaut.sc /racute.sc
+/rcaron.sc /sacute.sc /scedilla.sc /scaron.sc /tcedilla.sc /tbar.sc
+/uring.sc /uhungarumlaut.sc /zacute.sc /zdotaccent.sc /zcaron.sc
+/lcaron.sc /tcaron.sc /tcommaaccent.sc /scommaaccent.sc /idotaccent.sc
+/ampersand.sc /a.scalt /q.superior /gravecomb.sups /acutecomb.sups
+/circumflexcomb.sups /tildecomb.sups /macroncomb.sups /f.short
+/f_f.short /uniE0E2 /uniE0E3 /uniE0E4 /uniE0E5 /uniE0E6 /uniE0E7
+/uniE0E8 /uniE0E9 /uniE0EA /K.alt /R.alt /J.alt /uniE0EE /uniE0EF
+/uniE0F0 /w.alt /uniE0F2 /uniE0F3 /uniE0F4 /uniE0F5 /y.alt /A.alt
+/uniE0F9 /uniE0FB /kreis /uniE101 /uniE104 /uniE105 /uniE106
+/uniE107 /zero.cap /one.cap /two.cap ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@9 def
+ currentdict
+end
+/LinLibertineO-@11@9 exch definefont pop
+/@11@9 /LinLibertineO-@11@9 def
+/&11@9 {@11@9 F} bind def
+/Encoding-@11@10 [
+/three.cap /four.cap /five.cap /six.cap /seven.cap /eight.cap
+/nine.cap /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE128
+/uniE129 /uniE12A /uniE130 /leaf /uniE13B /uniE13C /uniE13D /b.inferior
+/c.inferior /d.inferior /f.inferior /g.inferior /h.inferior /i.inferior
+/j.inferior /k.inferior /l.inferior /m.inferior /n.inferior /p.inferior
+/q.inferior /r.inferior /s.inferior /t.inferior /u.inferior /v.inferior
+/w.inferior /y.inferior /z.inferior /uniE188 /uniE189 /afii10086.alt
+/uniE19D /grave.cap /acute.cap /circumflex.cap /caron.cap /breve.cap
+/hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap /breve.cyrcap
+/breve.cyr /dieresis.cap /hookabovecomb.cap /dotaccent.cap /uniE3E0
+/uniE3E1 /uniE3E2 /uniE3E3 /uniE3E4 /uniE3E5 /uniE3E6 /uniE3E7
+/uniE3E8 /uniE3E9 /uniE3EA /uniE3EB /uniE3EC /uniE3ED /uniE3F0
+/uniE3F1 /uniE3F2 /uniE3F3 /metric /zero.slash /parenleft.sc
+/parenright.sc /bracketleft.sc /bracketright.sc /braceleft.sc
+/braceright.sc /exclamdown.sc /questiondown.sc /guillemotleft.sc
+/guillemotright.sc /guilsinglleft.sc /guilsinglright.sc /hyphen.cap
+/uniF6BE /afii10066.ital /longs_t /s_t /uniFFFD /u1D538 /u1D539
+/u1D53B /u1D53C /u1D53D /u1D53E /u1D540 /u1D541 /u1D542 /u1D543
+/u1D544 /u1D546 /u1D547 /u1D54A /u1D54B /u1D54C /u1D54D /u1D54E
+/u1D54F /u1D550 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@10 def
+ currentdict
+end
+/LinLibertineO-@11@10 exch definefont pop
+/@11@10 /LinLibertineO-@11@10 def
+/&11@10 {@11@10 F} bind def
+/Encoding-@22@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /uni00A0 /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /exclamdown /sterling
+/currency /yen /brokenbar /dieresis /copyright /ordfeminine /guillemotleft
+/logicalnot /uni00AD /registered /macron /degree /plusminus /two.superior
+/three.superior /uni00B5 /pilcrow /periodcentered /cedilla /one.superior
+/ordmasculine /guillemotright /questiondown /Agrave /Aacute /Acircumflex
+/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
+/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
+/Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar /hbar ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@0 def
+ currentdict
+end
+/LinLibertineDisplayO-@22 exch definefont pop
+/@22 /LinLibertineDisplayO-@22 def
+/&22 {@22 F} bind def
+/Encoding-@22@1 [
+/Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek /iogonek
+/Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex /Kcommaaccent
+/kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent /lcommaaccent
+/Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute /nacute /Ncommaaccent
+/ncommaaccent /Ncaron /ncaron /napostrophe /Eng /eng /Omacron
+/omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut /OE /oe
+/Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron /Sacute
+/sacute /Scircumflex /scircumflex /Scedilla /scedilla /Scaron
+/scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar /Utilde
+/utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring /Uhungarumlaut
+/uhungarumlaut /Uogonek /uogonek /Wcircumflex /wcircumflex /Ycircumflex
+/ycircumflex /Ydieresis /Zacute /zacute /Zdotaccent /zdotaccent
+/Zcaron /zcaron /longs /Ohorn /ohorn /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /eturned /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01F0 /uni01F1 /uni01F2 /uni01F3 /uni01F4 /uni01F5
+/uni01F8 /uni01F9 /Aringacute /aringacute /AEacute /aeacute /Oslashacute
+/oslashacute /uni0200 /uni0201 /uni0202 /uni0203 /uni0204 /uni0205
+/uni0206 /uni0207 /uni0208 /uni0209 /uni020A /uni020B /uni020C
+/uni020D /uni020E /uni020F /uni0210 /uni0211 /uni0212 /uni0213
+/uni0214 /uni0215 /uni0216 /uni0217 /Scommaaccent /scommaaccent
+/Tcommaaccent /tcommaaccent /uni021E /uni021F /uni0226 /uni0227
+/uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D /uni022E
+/uni022F /uni0230 /uni0231 /uni0232 /uni0233 /dotlessj /uni026A
+/h.superior /hhook.superior /j.superior /r.superior /rturned.superior
+/rhookturned.superior /Rsmallinverted.superior /w.superior /y.superior
+/uni02B9 /uni02BA /uni02BB /afii57929 /afii64937 /uni02BE /uni02BF
+/uni02C0 /uni02C1 /uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron
+/uni02C8 /uni02C9 /uni02CA /uni02CB /uni02CC /uni02CD /uni02CE
+/uni02CF /uni02D0 /uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5
+/uni02D6 /uni02D7 /breve /dotaccent /ogonek /hungarumlaut /uni02DE
+/uni02DF /gammalatin.superior /l.superior /s.superior /x.superior
+/glottalstopreversed.superior /uni02E5 /uni02E6 /uni02E7 /uni02E8
+/uni02E9 /uni02EA /uni02EB /uni02EC /uni02ED /uni02EE ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@1 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@1 exch definefont pop
+/@22@1 /LinLibertineDisplayO-@22@1 def
+/&22@1 {@22@1 F} bind def
+/Encoding-@22@2 [
+/uni02EF /uni02F0 /uni02F1 /uni02F2 /uni02F3 /uni02F4 /uni02F5
+/uni02F6 /uni02F7 /uni02F8 /uni02F9 /uni02FA /uni02FB /uni02FC
+/uni02FD /uni02FE /uni02FF /gravecomb /acutecomb /circumflexcomb
+/tildecomb /macroncomb /uni0305 /brevecomb /uni0307 /uni0308
+/hookabovecomb /uni030A /uni030B /uni030C /uni030D /uni030E /uni030F
+/uni0310 /uni0311 /uni0312 /uni0313 /uni0314 /uni0315 /uni0316
+/uni0317 /uni0318 /uni0319 /uni031A /uni031B /uni031C /uni031D
+/uni031E /uni031F /uni0320 /uni0321 /uni0322 /dotbelowcomb /uni0324
+/uni0325 /uni0326 /uni0327 /uni0328 /uni0329 /uni032A /uni032B
+/uni032C /uni032D /uni032E /uni032F /uni0330 /uni0331 /uni0332
+/uni0333 /uni0334 /uni0335 /uni0336 /uni0337 /uni0338 /uni0339
+/uni033A /uni033B /uni033C /uni033D /uni033E /uni033F /uni0340
+/uni0341 /uni0342 /uni0343 /uni0344 /uni0345 /uni0346 /uni0347
+/uni0348 /uni0349 /uni034A /uni034B /uni034C /uni034D /uni034E
+/uni0350 /uni0351 /uni0352 /uni0353 /uni0354 /uni0355 /uni0356
+/uni0357 /uni0358 /uni0359 /uni035A /uni035B /uni035C /uni035D
+/uni035E /uni035F /uni0360 /uni0361 /uni0362 /uni0363 /uni0364
+/uni0365 /uni0366 /uni0367 /uni0368 /uni0369 /uni036A /uni036B
+/uni036C /uni036D /uni036E /uni036F /uni0374 /uni0375 /uni037A
+/uni037B /uni037C /uni037D /uni037E /tonos /dieresistonos /Alphatonos
+/anoteleia /Epsilontonos /Etatonos /Iotatonos /Omicrontonos /Upsilontonos
+/Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon
+/Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi
+/Rho /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis
+/Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
+/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta
+/eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho
+/sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis
+/upsilondieresis /omicrontonos /upsilontonos /omegatonos /uni03D0
+/theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1 /omega1 /uni03D7 /uni03D8
+/uni03D9 /uni03DA /uni03DB /uni03DC /uni03DD /uni03DE /uni03DF
+/uni03E0 /uni03E1 /uni03F0 /uni03F1 /uni03F2 /uni03F3 /uni03F4
+/uni03F5 /uni03F6 /uni03F8 /uni03F9 /uni03FB /uni03FD /uni03FE
+/uni03FF /uni0400 /afii10023 /afii10051 /afii10052 /afii10053
+/afii10054 /afii10055 /afii10056 /afii10057 /afii10058 /afii10059
+/afii10060 /afii10061 /uni040D /afii10062 /afii10145 /afii10017
+/afii10018 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@2 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@2 exch definefont pop
+/@22@2 /LinLibertineDisplayO-@22@2 def
+/&22@2 {@22@2 F} bind def
+/Encoding-@22@3 [
+/afii10019 /afii10020 /afii10021 /afii10022 /afii10024 /afii10025
+/afii10026 /afii10027 /afii10028 /afii10029 /afii10030 /afii10031
+/afii10032 /afii10033 /afii10034 /afii10035 /afii10036 /afii10037
+/afii10038 /afii10039 /afii10040 /afii10041 /afii10042 /afii10043
+/afii10044 /afii10045 /afii10046 /afii10047 /afii10048 /afii10049
+/afii10065 /afii10066 /afii10067 /afii10068 /afii10069 /afii10070
+/afii10072 /afii10073 /afii10074 /afii10075 /afii10076 /afii10077
+/afii10078 /afii10079 /afii10080 /afii10081 /afii10082 /afii10083
+/afii10084 /afii10085 /afii10086 /afii10087 /afii10088 /afii10089
+/afii10090 /afii10091 /afii10092 /afii10093 /afii10094 /afii10095
+/afii10096 /afii10097 /uni0450 /afii10071 /afii10099 /afii10100
+/afii10101 /afii10102 /afii10103 /afii10104 /afii10105 /afii10106
+/afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
+/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466
+/uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D
+/uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195 /afii10148
+/afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E /uni047F
+/uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050 /afii10098
+/uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497 /uni0498
+/uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
+/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6
+/uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD
+/uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4
+/uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA /uni04BB
+/uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1 /uni04C2
+/uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA /uni04CB
+/uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5
+/uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC
+/uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2 /uni04E3
+/uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9 /uni04EA
+/uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0 /uni04F1
+/uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7 /uni04F8
+/uni04F9 /afii57799 /afii57801 /afii57800 /afii57802 /afii57793
+/afii57794 /afii57795 /afii57798 /afii57797 /afii57806 /uni05BA
+/afii57796 /afii57807 /afii57839 /afii57645 /afii57841 /afii57842
+/afii57804 /afii57803 /afii57658 /uni05C6 /afii57664 /afii57665
+/afii57666 /afii57667 /afii57668 /afii57669 /afii57670 /afii57671
+/afii57672 /afii57673 /afii57674 /afii57675 /afii57676 /afii57677
+/afii57678 /afii57679 /afii57680 /afii57681 /afii57682 /afii57683
+/afii57684 /afii57685 /afii57686 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@3 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@3 exch definefont pop
+/@22@3 /LinLibertineDisplayO-@22@3 def
+/&22@3 {@22@3 F} bind def
+/Encoding-@22@4 [
+/afii57687 /afii57688 /afii57689 /afii57690 /afii57716 /afii57717
+/afii57718 /uni05F3 /uni05F4 /a.superior /aturned.superior /b.superior
+/d.superior /e.superior /eturned.superior /g.superior /iturned.superior
+/k.superior /m.superior /o.superior /cturned.superior /p.superior
+/t.superior /u.superior /mturned.superior /v.superior /c.superior
+/f.superior /z.superior /uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04
+/uni1E05 /uni1E06 /uni1E07 /uni1E08 /uni1E09 /uni1E0A /uni1E0B
+/uni1E0C /uni1E0D /uni1E0E /uni1E0F /uni1E10 /uni1E11 /uni1E12
+/uni1E13 /uni1E14 /uni1E15 /uni1E16 /uni1E17 /uni1E18 /uni1E19
+/uni1E1A /uni1E1B /uni1E1C /uni1E1D /uni1E1E /uni1E1F /uni1E20
+/uni1E21 /uni1E22 /uni1E23 /uni1E24 /uni1E25 /uni1E26 /uni1E27
+/uni1E28 /uni1E29 /uni1E2A /uni1E2B /uni1E2C /uni1E2D /uni1E2E
+/uni1E2F /uni1E30 /uni1E31 /uni1E32 /uni1E33 /uni1E34 /uni1E35
+/uni1E36 /uni1E37 /uni1E38 /uni1E39 /uni1E3A /uni1E3B /uni1E3C
+/uni1E3D /uni1E3E /uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43
+/uni1E44 /uni1E45 /uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A
+/uni1E4B /uni1E4C /uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51
+/uni1E52 /uni1E53 /uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58
+/uni1E59 /uni1E5A /uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F
+/uni1E60 /uni1E61 /uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66
+/uni1E67 /uni1E68 /uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D
+/uni1E6E /uni1E6F /uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74
+/uni1E75 /uni1E76 /uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B
+/uni1E7C /uni1E7D /uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute
+/Wdieresis /wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A
+/uni1E8B /uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91
+/uni1E92 /uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98
+/uni1E99 /uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F
+/uni1EA0 /uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6
+/uni1EA7 /uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD
+/uni1EAE /uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4
+/uni1EB5 /uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB
+/uni1EBC /uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2
+/uni1EC3 /uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9
+/uni1ECA /uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0
+/uni1ED1 /uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7
+/uni1ED8 /uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE
+/uni1EDF /uni1EE0 /uni1EE1 /uni1EE2 ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@4 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@4 exch definefont pop
+/@22@4 /LinLibertineDisplayO-@22@4 def
+/&22@4 {@22@4 F} bind def
+/Encoding-@22@5 [
+/uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6 /uni1EE7 /Ygrave /ygrave
+/uni1EF4 /uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /uni1EFA
+/uni1EFB /uni1EFC /uni1EFD /uni1EFE /uni1EFF /uni1F00 /uni1F01
+/uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06 /uni1F07 /uni1F08
+/uni1F09 /uni1F0A /uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F
+/uni1F10 /uni1F11 /uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18
+/uni1F19 /uni1F1A /uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21
+/uni1F22 /uni1F23 /uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28
+/uni1F29 /uni1F2A /uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F
+/uni1F30 /uni1F31 /uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36
+/uni1F37 /uni1F38 /uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D
+/uni1F3E /uni1F3F /uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44
+/uni1F45 /uni1F48 /uni1F49 /uni1F4A /uni1F4B /uni1F4C /uni1F4D
+/uni1F50 /uni1F51 /uni1F52 /uni1F53 /uni1F54 /uni1F55 /uni1F56
+/uni1F57 /uni1F59 /uni1F5B /uni1F5D /uni1F5F /uni1F60 /uni1F61
+/uni1F62 /uni1F63 /uni1F64 /uni1F65 /uni1F66 /uni1F67 /uni1F68
+/uni1F69 /uni1F6A /uni1F6B /uni1F6C /uni1F6D /uni1F6E /uni1F6F
+/uni1F70 /uni1F71 /uni1F72 /uni1F73 /uni1F74 /uni1F75 /uni1F76
+/uni1F77 /uni1F78 /uni1F79 /uni1F7A /uni1F7B /uni1F7C /uni1F7D
+/uni1F80 /uni1F81 /uni1F82 /uni1F83 /uni1F84 /uni1F85 /uni1F86
+/uni1F87 /uni1F88 /uni1F89 /uni1F8A /uni1F8B /uni1F8C /uni1F8D
+/uni1F8E /uni1F8F /uni1F90 /uni1F91 /uni1F92 /uni1F93 /uni1F94
+/uni1F95 /uni1F96 /uni1F97 /uni1F98 /uni1F99 /uni1F9A /uni1F9B
+/uni1F9C /uni1F9D /uni1F9E /uni1F9F /uni1FA0 /uni1FA1 /uni1FA2
+/uni1FA3 /uni1FA4 /uni1FA5 /uni1FA6 /uni1FA7 /uni1FA8 /uni1FA9
+/uni1FAA /uni1FAB /uni1FAC /uni1FAD /uni1FAE /uni1FAF /uni1FB0
+/uni1FB1 /uni1FB2 /uni1FB3 /uni1FB4 /uni1FB6 /uni1FB7 /uni1FB8
+/uni1FB9 /uni1FBA /uni1FBB /uni1FBC /uni1FBD /uni1FBE /uni1FBF
+/uni1FC0 /uni1FC1 /uni1FC2 /uni1FC3 /uni1FC4 /uni1FC6 /uni1FC7
+/uni1FC8 /uni1FC9 /uni1FCA /uni1FCB /uni1FCC /uni1FCD /uni1FCE
+/uni1FCF /uni1FD0 /uni1FD1 /uni1FD2 /uni1FD3 /uni1FD6 /uni1FD7
+/uni1FD8 /uni1FD9 /uni1FDA /uni1FDB /uni1FDD /uni1FDE /uni1FDF
+/uni1FE0 /uni1FE1 /uni1FE2 /uni1FE3 /uni1FE4 /uni1FE5 /uni1FE6
+/uni1FE7 /uni1FE8 /uni1FE9 /uni1FEA /uni1FEB /uni1FEC /uni1FED
+/uni1FEE /uni1FEF /uni1FF2 /uni1FF3 /uni1FF4 /uni1FF6 /uni1FF7
+/uni1FF8 /uni1FF9 /uni1FFA /uni1FFB /uni1FFC /uni1FFD /uni1FFE
+/enquad /emquad /enspace /emspace ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@5 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@5 exch definefont pop
+/@22@5 /LinLibertineDisplayO-@22@5 def
+/&22@5 {@22@5 F} bind def
+/Encoding-@22@6 [
+/threeperemspace /fourperemspace /sixperemspace /figurespace
+/punctuationspace /thinspace /hairspace /zerowidthspace /hyphentwo
+/hyphennobreak /figuredash /horizontalbar /uni2016 /underscoredbl
+/quotesinglbase /quotereversed /quotedblbase /quotedblrev /trianglebullet
+/onedotenleader /twodotenleader /ellipsis /hyphendot /uni202F
+/perthousand /pertenthousand /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2098 /uni2099 /uni20A2 /franc /lira /peseta /uni20A8
+/dong /Euro /uni20AF /peso /uni2100 /uni2101 /uni2102 /centigrade
+/afii61248 /uni2106 /fahrenheit /uni210C /uni210D /uni210E /uni210F
+/Ifraktur /afii61289 /uni2115 /numero /uni2119 /uni211A /Rfraktur
+/uni211D /uni2120 /trademark /uni2124 /uni2126 /Omegainv /estimated
+/aleph /uni2136 /uni2137 /uni2138 /uni2139 /uni214F /onethird
+/twothirds /onefifth /twofifths /threefifths /fourfifths /onesixth
+/fivesixths /oneeighth /threeeighths /fiveeighths /seveneighths
+/onenumerator /Oneroman /Tworoman /Threeroman /Fourroman /Fiveroman
+/Sixroman /Sevenroman /Eightroman /Nineroman /Tenroman /Elevenroman
+/Twelveroman /uni216C /uni216D /uni216E /uni216F /oneroman /tworoman
+/threeroman /fourroman /fiveroman /sixroman /sevenroman /eightroman
+/nineroman /tenroman /elevenroman /twelveroman /uni217C /uni217D
+/uni217E /uni217F /uni2180 /uni2181 /uni2182 /uni2183 /uni2184
+/arrowleft /arrowup /arrowright /arrowdown /arrowboth /arrowupdn
+/uni2196 /uni2197 /uni2198 /uni2199 /uni219A /uni219B /uni21A6
+/arrowupdnbse /uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1 /uni21CB
+/uni21CC /uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /Nwarrow
+/Nearrow /Searrow /Swarrow /universal /uni2201 /partialdiff /existential
+/uni2204 /emptyset /uni2206 /gradient /element /notelement /uni220A
+/suchthat /uni220C /uni220D /product /uni2210 /summation /minus
+/uni2213 /uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219
+/radical /uni221B /uni221C /proportional /infinity /uni221F /angle
+/uni2221 /uni2222 /uni2223 /uni2224 /uni2225 /uni2226 /logicaland
+/logicalor /intersection /union /integral /uni222C /uni222D /uni222E
+/uni2236 /similar /uni2241 /congruent ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@6 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@6 exch definefont pop
+/@22@6 /LinLibertineDisplayO-@22@6 def
+/&22@6 {@22@6 F} bind def
+/Encoding-@22@7 [
+/approxequal /uni2249 /uni2259 /notequal /equivalence /uni2262
+/lessequal /greaterequal /uni226A /uni226B /uni226E /uni226F
+/uni2270 /uni2271 /propersubset /propersuperset /notsubset /uni2285
+/circleplus /uni2296 /circlemultiply /uni2298 /uni22A2 /uni22A3
+/uni22A4 /perpendicular /uni22A6 /uni22B6 /uni22B7 /dotmath /uni22EE
+/uni22EF /uni2300 /uni2302 /uni2303 /uni2310 /uni2320 /uni2321
+/uni2326 /uni2327 /uni2329 /uni232A /uni232B /uni237D /uni2380
+/uni23D3 /uni2423 /uni2460 /uni2461 /uni2462 /uni2463 /uni2464
+/uni2465 /uni2466 /uni2467 /uni2468 /uni2469 /uni246A /uni246B
+/uni246C /uni246D /uni246E /uni246F /uni2470 /uni2471 /uni2472
+/uni2473 /uni2474 /uni2475 /uni2476 /uni2477 /uni2478 /uni2479
+/uni247A /uni247B /uni247C /uni247D /uni247E /uni247F /uni2480
+/uni2481 /uni2482 /uni2483 /uni2484 /uni2485 /uni2486 /uni2487
+/uni24B6 /uni24B7 /uni24B8 /uni24B9 /uni24BA /uni24BB /uni24BC
+/uni24BD /uni24BE /uni24BF /uni24C0 /uni24C1 /uni24C2 /uni24C3
+/uni24C4 /uni24C5 /uni24C6 /uni24C7 /uni24C8 /uni24C9 /uni24CA
+/uni24CB /uni24CC /uni24CD /uni24CE /uni24CF /uni24D0 /uni24D1
+/uni24D2 /uni24D3 /uni24D4 /uni24D5 /uni24D6 /uni24D7 /uni24D8
+/uni24D9 /uni24DA /uni24DB /uni24DC /uni24DD /uni24DE /uni24DF
+/uni24E0 /uni24E1 /uni24E2 /uni24E3 /uni24E4 /uni24E5 /uni24E6
+/uni24E7 /uni24E8 /uni24E9 /uni24EA /uni24EB /uni24EC /uni24ED
+/uni24EE /uni24EF /uni24F0 /uni24F1 /uni24F2 /uni24F3 /uni24F4
+/uni24F5 /uni24F6 /uni24F7 /uni24F8 /uni24F9 /uni24FA /uni24FB
+/uni24FC /uni24FD /uni24FE /uni24FF /filledbox /H22073 /triagup
+/uni25B3 /uni25B6 /uni25B7 /triagdn /uni25BD /uni25C0 /uni25C1
+/uni25C6 /uni25C7 /uni25C9 /lozenge /bigcircle /uni25CE /H18533
+/uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4 /uni25D5 /uni25D6
+/uni25D7 /openbullet /uni2605 /uni2609 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /uni263C /uni263D
+/uni263E /uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645
+/uni2646 /uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C
+/uni264D /uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /uni2695 /uni2698 /uni26A2
+/uni26A3 /uni26A4 /uni26A5 /uni26AC /married /divorced /uni26AF
+/uni2714 /uni2718 /died /uni2767 /uni2776 /uni2777 /uni2778 /uni2779
+/uni277A /uni277B /uni277C /uni277D /uni277E /uni277F ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@7 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@7 exch definefont pop
+/@22@7 /LinLibertineDisplayO-@22@7 def
+/&22@7 {@22@7 F} bind def
+/Encoding-@22@8 [
+/uni27C2 /uni27E6 /uni27E7 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C74 /uni2C75 /uni2C76 /uni2C77 /uni2E02
+/uni2E03 /uni2E04 /uni2E05 /uni2E08 /uni2E09 /uni2E0A /uni2E17
+/uni2E18 /uniA71D /uniA720 /uniA721 /uniA765 /Tux /uniE001 /uniE002
+/uniE003 /uniE004 /uniE005 /uniE006 /uniE007 /uniE008 /uniE009
+/uniE00A /uniE00B /copyleft /publicdomain /creativecommons /zero.slashfitted
+/zero.fitted /one.fitted /two.fitted /three.fitted /four.fitted
+/five.fitted /six.fitted /seven.fitted /eight.fitted /nine.fitted
+/Euro.fitted /Yen.fitted /uniE01C /a.alt /uniE01E /perthousandzero
+/zero.oldstyle /one.oldstyle /two.oldstyle /three.oldstyle /four.oldstyle
+/five.oldstyle /six.oldstyle /seven.oldstyle /eight.oldstyle
+/nine.oldstyle /Adieresis.alt /Odieresis.alt /Udieresis.alt /W.alt
+/f_j /t_t /c_t /longs_i /uniE040 /uniE041 /uniE042 /Q_u /T_h
+/q.superior /uniE0F9 /uniE0FB /uniE0FC /uniE0FD /uniE0FE /uniE0FF
+/kreis /uniE101 /uniE104 /uniE105 /uniE106 /uniE107 /zero.cap
+/one.cap /two.cap /three.cap /four.cap /five.cap /six.cap /seven.cap
+/eight.cap /nine.cap /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE128
+/uniE129 /uniE12A /uniE130 /leaf /b.inferior /c.inferior /d.inferior
+/f.inferior /g.inferior /h.inferior /i.inferior /j.inferior /k.inferior
+/l.inferior /m.inferior /n.inferior /p.inferior /q.inferior /r.inferior
+/s.inferior /t.inferior /u.inferior /v.inferior /w.inferior /y.inferior
+/z.inferior /grave.cap /acute.cap /circumflex.cap /caron.cap
+/breve.cap /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /dotaccent.cap
+/metric /zero.slash /parenleft.sc /parenright.sc /bracketleft.sc
+/bracketright.sc /braceleft.sc /braceright.sc /exclamdown.sc
+/questiondown.sc /guillemotleft.sc /guillemotright.sc /guilsinglleft.sc
+/guilsinglright.sc /hyphen.cap /uniF6BE /longs_t /s_t /uniFFFD
+/u1D538 /u1D539 /u1D53B /u1D53C /u1D53D /u1D53E /u1D540 /u1D541
+/u1D542 /u1D543 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineDisplayO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@22@8 def
+ currentdict
+end
+/LinLibertineDisplayO-@22@8 exch definefont pop
+/@22@8 /LinLibertineDisplayO-@22@8 def
+/&22@8 {@22@8 F} bind def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /paragraph
+/periodcentered /cedilla /one.superior /ordmasculine /guillemotright
+/questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis
+/Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis
+/Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve
+/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave
+/Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave
+/aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/LinLibertineOI-@12 exch definefont pop
+/@12 /LinLibertineOI-@12 def
+/&12 {@12 F} bind def
+/Encoding-@12@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /uni01DD /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@1 def
+ currentdict
+end
+/LinLibertineOI-@12@1 exch definefont pop
+/@12@1 /LinLibertineOI-@12@1 def
+/&12@1 {@12@1 F} bind def
+/Encoding-@12@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /uni0237 /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0243
+/uni0250 /uni0251 /uni0252 /uni0253 /uni0254 /uni0255 /uni0256
+/uni0257 /uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D
+/uni025E /uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264
+/uni0265 /hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B
+/uni026C /uni026D /uni026E /uni026F /uni0270 /uni0271 /uni0272
+/uni0273 /uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned
+/uni027A /rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap
+/Rsmallinverted /uni0282 /uni0283 /uni0284 /uni0285 /uni0286
+/uni0287 /uni0288 /uni0289 /uni028A /uni028B /uni028C /uni028D
+/uni028E /uni028F /uni0290 /uni0291 /uni0292 /uni0293 /uni0294
+/glottalstopreversed /uni0296 /uni0297 /uni0298 /uni0299 /uni029A
+/uni029B /uni029C /uni029D /uni029E /uni029F /uni02A0 /uni02A1
+/uni02A2 /uni02A3 /uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8
+/uni02A9 /uni02AA /uni02AB /uni02AC /uni02AD /uni02AE /uni02AF
+/h.superior /hhook.superior /j.superior /r.superior /rturned.superior
+/rhookturned.superior /Rsmallinverted.superior /w.superior /y.superior
+/uni02B9 /uni02BA /uni02BB /afii57929 /afii64937 /uni02BE /uni02BF
+/uni02C0 /uni02C1 /uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron
+/uni02C8 /uni02C9 /uni02CA /uni02CB /uni02CC /uni02CD /uni02CE
+/uni02CF /uni02D0 /uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5
+/uni02D6 /uni02D7 /breve /dotaccent /ogonek /hungarumlaut /uni02DE
+/uni02DF /gammalatin.superior /l.superior /s.superior /x.superior
+/glottalstopreversed.superior /uni02E5 /uni02E6 /uni02E7 /uni02E8
+/uni02E9 /uni02EA /uni02EB /uni02EC /uni02ED /uni02EE /uni02EF
+/uni02F0 /uni02F1 /uni02F2 /uni02F3 /uni02F4 /uni02F5 /uni02F6
+/uni02F7 /uni02F8 /uni02F9 /uni02FA /uni02FB /uni02FC /uni02FD
+/uni02FE /uni02FF /gravecomb /acutecomb /uni0302 /tildecomb /uni0304
+/uni0305 /uni0306 /uni0307 /uni0308 /hookabovecomb /uni030A /uni030B
+/uni030C /uni030D /uni030E /uni030F /uni0310 /uni0311 /uni0312
+/uni0313 /uni0314 /uni0315 /uni0316 /uni0317 /uni0318 /uni0319
+/uni031A /uni031B /uni031C /uni031D /uni031E /uni031F /uni0320
+/uni0321 /uni0322 /dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327
+/uni0328 /uni0329 /uni032A /uni032B /uni032C /uni032D /uni032E
+/uni032F /uni0330 /uni0331 /uni0332 /uni0333 /uni0334 /uni0335
+/uni0336 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@2 def
+ currentdict
+end
+/LinLibertineOI-@12@2 exch definefont pop
+/@12@2 /LinLibertineOI-@12@2 def
+/&12@2 {@12@2 F} bind def
+/Encoding-@12@3 [
+/uni0337 /uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D
+/uni033E /uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344
+/uni0345 /uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B
+/uni034C /uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353
+/uni0354 /uni0355 /uni0356 /uni0357 /uni0358 /acute.cap /circumflex.cap
+/caron.cap /uni035C /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uni0364
+/uni0365 /uni0366 /uni0367 /uni0368 /uni0369 /uni036A /uni036B
+/uni036C /uni036D /uni036E /uni036F /uni0374 /uni0375 /uni037A
+/uni037B /uni037C /uni037D /uni037E /tonos /dieresistonos /Alphatonos
+/anoteleia /Epsilontonos /Etatonos /Iotatonos /Omicrontonos /Upsilontonos
+/Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon
+/Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi
+/Rho /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis
+/Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
+/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta
+/eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho
+/sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis
+/upsilondieresis /omicrontonos /upsilontonos /omegatonos /uni03D0
+/theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1 /omega1 /uni03D7 /uni03D8
+/uni03D9 /uni03DA /uni03DB /uni03DC /uni03DD /uni03DE /uni03DF
+/uni03E0 /uni03E1 /uni03F0 /uni03F1 /uni03F2 /uni03F3 /uni03F4
+/uni03F5 /uni03F6 /uni03F8 /uni03F9 /uni03FB /uni03FD /uni03FE
+/uni03FF /uni0400 /afii10023 /afii10051 /afii10052 /afii10053
+/afii10054 /afii10055 /afii10056 /afii10057 /afii10058 /afii10059
+/afii10060 /afii10061 /uni040D /afii10062 /afii10145 /afii10017
+/afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024
+/afii10025 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030
+/afii10031 /afii10032 /afii10033 /afii10034 /afii10035 /afii10036
+/afii10037 /afii10038 /afii10039 /afii10040 /afii10041 /afii10042
+/afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048
+/afii10049 /afii10065 /afii10066 /afii10067 /afii10068 /afii10069
+/afii10070 /afii10072 /afii10073 /afii10074 /afii10075 /afii10076
+/afii10077 /afii10078 /afii10079 /afii10080 /afii10081 /afii10082
+/afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088
+/afii10089 /afii10090 /afii10091 /afii10092 /afii10093 /afii10094
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@3 def
+ currentdict
+end
+/LinLibertineOI-@12@3 exch definefont pop
+/@12@3 /LinLibertineOI-@12@3 def
+/&12@3 {@12@3 F} bind def
+/Encoding-@12@4 [
+/afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
+/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466
+/uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D
+/uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195 /afii10148
+/afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E /uni047F
+/uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050 /afii10098
+/uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497 /uni0498
+/uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
+/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6
+/uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD
+/uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4
+/uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA /uni04BB
+/uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1 /uni04C2
+/uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA /uni04CB
+/uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5
+/uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC
+/uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2 /uni04E3
+/uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9 /uni04EA
+/uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0 /uni04F1
+/uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7 /uni04F8
+/uni04F9 /afii57799 /afii57801 /afii57800 /afii57802 /afii57793
+/afii57794 /afii57795 /afii57798 /afii57797 /afii57806 /uni05BA
+/afii57796 /afii57807 /afii57839 /afii57645 /afii57841 /afii57842
+/afii57804 /afii57803 /afii57658 /uni05C6 /afii57664 /afii57665
+/afii57666 /afii57667 /afii57668 /afii57669 /afii57670 /afii57671
+/afii57672 /afii57673 /afii57674 /afii57675 /afii57676 /afii57677
+/afii57678 /afii57679 /afii57680 /afii57681 /afii57682 /afii57683
+/afii57684 /afii57685 /afii57686 /afii57687 /afii57688 /afii57689
+/afii57690 /afii57716 /afii57717 /afii57718 /uni05F3 /uni05F4
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D
+/uni1E0E /uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14
+/uni1E15 /uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B
+/uni1E1C /uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22
+/uni1E23 /uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29
+/uni1E2A /uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30
+/uni1E31 /uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37
+/uni1E38 /uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E
+] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@4 def
+ currentdict
+end
+/LinLibertineOI-@12@4 exch definefont pop
+/@12@4 /LinLibertineOI-@12@4 def
+/&12@4 {@12@4 F} bind def
+/Encoding-@12@5 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /uni1F00 /uni1F01
+/uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06 /uni1F07 /uni1F08
+/uni1F09 /uni1F0A /uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F
+/uni1F10 /uni1F11 /uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18
+/uni1F19 /uni1F1A /uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21
+/uni1F22 /uni1F23 /uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28
+/uni1F29 /uni1F2A /uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F
+/uni1F30 /uni1F31 /uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36
+/uni1F37 /uni1F38 /uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D
+/uni1F3E /uni1F3F /uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44
+/uni1F45 /uni1F48 /uni1F49 /uni1F4A ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@5 def
+ currentdict
+end
+/LinLibertineOI-@12@5 exch definefont pop
+/@12@5 /LinLibertineOI-@12@5 def
+/&12@5 {@12@5 F} bind def
+/Encoding-@12@6 [
+/uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51 /uni1F52 /uni1F53
+/uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59 /uni1F5B /uni1F5D
+/uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63 /uni1F64 /uni1F65
+/uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A /uni1F6B /uni1F6C
+/uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71 /uni1F72 /uni1F73
+/uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78 /uni1F79 /uni1F7A
+/uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81 /uni1F82 /uni1F83
+/uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88 /uni1F89 /uni1F8A
+/uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F /uni1F90 /uni1F91
+/uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96 /uni1F97 /uni1F98
+/uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D /uni1F9E /uni1F9F
+/uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4 /uni1FA5 /uni1FA6
+/uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB /uni1FAC /uni1FAD
+/uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2 /uni1FB3 /uni1FB4
+/uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA /uni1FBB /uni1FBC
+/uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1 /uni1FC2 /uni1FC3
+/uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9 /uni1FCA /uni1FCB
+/uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0 /uni1FD1 /uni1FD2
+/uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9 /uni1FDA /uni1FDB
+/uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1 /uni1FE2 /uni1FE3
+/uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8 /uni1FE9 /uni1FEA
+/uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF /uni1FF2 /uni1FF3
+/uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9 /uni1FFA /uni1FFB
+/uni1FFC /uni1FFD /uni1FFE /enquad /emquad /enspace /emspace
+/threeperemspace /fourperemspace /sixperemspace /figurespace
+/punctuationspace /thinspace /hairspace /zerowidthspace /hyphentwo
+/hyphennobreak /figuredash /horizontalbar /uni2016 /underscoredbl
+/quotesinglbase /quotereversed /quotedblbase /quotedblrev /trianglebullet
+/onedotenleader /twodotenleader /ellipsis /hyphendot /uni202F
+/perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@6 def
+ currentdict
+end
+/LinLibertineOI-@12@6 exch definefont pop
+/@12@6 /LinLibertineOI-@12@6 def
+/&12@6 {@12@6 F} bind def
+/Encoding-@12@7 [
+/uni20A2 /franc /lira /peseta /uni20A8 /dong /Euro /uni20AF /uni20B1
+/uni2100 /uni2101 /uni2102 /centigrade /afii61248 /uni2106 /fahrenheit
+/uni210C /uni210D /uni210E /uni210F /Ifraktur /afii61289 /uni2115
+/afii61352 /uni2119 /uni211A /Rfraktur /uni211D /uni2120 /trademark
+/uni2124 /uni2126 /uni2127 /estimated /aleph /uni2136 /uni2137
+/uni2138 /uni2139 /onethird /twothirds /onefifth /twofifths /threefifths
+/fourfifths /onesixth /fivesixths /oneeighth /threeeighths /fiveeighths
+/seveneighths /onenumerator /Oneroman /Tworoman /Threeroman /Fourroman
+/Fiveroman /Sixroman /Sevenroman /Eightroman /Nineroman /Tenroman
+/Elevenroman /Twelveroman /uni216C /uni216D /uni216E /uni216F
+/oneroman /tworoman /threeroman /fourroman /fiveroman /sixroman
+/sevenroman /eightroman /nineroman /tenroman /elevenroman /twelveroman
+/uni217C /uni217D /uni217E /uni217F /uni2180 /uni2181 /uni2182
+/uni2183 /uni2184 /arrowleft /arrowup /arrowright /arrowdown
+/arrowboth /arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A
+/uni219B /arrowupdnbse /uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1
+/uni21CB /uni21CC /uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /Nwarrow
+/Nearrow /Searrow /Swarrow /universal /uni2201 /partialdiff /existential
+/uni2204 /emptyset /uni2206 /gradient /element /notelement /uni220A
+/suchthat /uni220C /uni220D /product /uni2210 /summation /minus
+/uni2213 /uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219
+/radical /uni221B /uni221C /infinity /orthogonal /uni2223 /uni2224
+/uni2225 /uni2226 /logicaland /logicalor /intersection /union
+/integral /uni2236 /similar /uni2241 /congruent /approxequal
+/uni2249 /uni2259 /notequal /equivalence /uni2262 /lessequal
+/greaterequal /uni226A /uni226B /uni226E /uni226F /uni2270 /uni2271
+/propersubset /propersuperset /notsubset /uni2285 /circleplus
+/uni2296 /circlemultiply /uni2298 /dotmath /uni22EF /uni2302
+/uni2303 /uni2310 /uni2320 /uni2321 /uni2329 /uni232A /uni23D3
+/filledbox /H22073 /triagup /uni25B3 /uni25B6 /uni25B7 /triagdn
+/uni25BD /uni25C0 /uni25C1 /uni25C6 /uni25C7 /uni25C9 /lozenge
+/circle /H18533 /uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4
+/uni25D5 /uni25D6 /uni25D7 /uni2605 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /sun /uni263D /uni263E
+/uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645 /uni2646
+/uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C /uni264D
+/uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653 /uni2660
+/uni2663 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@7 def
+ currentdict
+end
+/LinLibertineOI-@12@7 exch definefont pop
+/@12@7 /LinLibertineOI-@12@7 def
+/&12@7 {@12@7 F} bind def
+/Encoding-@12@8 [
+/uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl /uni266C
+/uni2695 /uni2698 /uni26A2 /uni26A3 /uni26A4 /uni2767 /uni27E6
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C74 /uni2C75 /uni2C76 /uni2C77 /uniA720
+/uniA721 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005 /uniE006
+/uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /uniE00C /uniE00D
+/uniE00E /zero.slashfitted /zero.fitted /one.fitted /two.fitted
+/three.fitted /four.fitted /five.fitted /six.fitted /seven.fitted
+/eight.fitted /nine.fitted /Euro.fitted /Yen.fitted /uniE01C
+/perthousandzero /zero.oldstyle /one.oldstyle /two.oldstyle /three.oldstyle
+/four.oldstyle /five.oldstyle /six.oldstyle /seven.oldstyle /eight.oldstyle
+/nine.oldstyle /Adieresis.alt /Odieresis.alt /Udieresis.alt /f_f_j
+/f_j /f_k /f_t /c_k /c_h /t_t /c_t /ae.alt /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /uni1E9C.alt /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /hyphen.sc /agrave.sc /aacute.sc /acircumflex.sc
+/atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc /egrave.sc
+/eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc /iacute.sc
+/icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc /oacute.sc
+/ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc /ugrave.sc
+/uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc /thorn.sc
+/ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc /dcroat.sc
+/abreve.sc /aogonek.sc /cacute.sc /ccaron.sc /dcaron.sc /eogonek.sc
+/ecaron.sc /gbreve.sc /lacute.sc /lslash.sc /nacute.sc /ncaron.sc
+/eng.sc /ohungarumlaut.sc /racute.sc /rcaron.sc /sacute.sc /scedilla.sc
+/scaron.sc /tcedilla.sc /tbar.sc /uring.sc /uhungarumlaut.sc
+/zacute.sc /zdotaccent.sc /zcaron.sc /lcaron.sc /tcaron.sc /tcommaaccent.sc
+/scommaaccent.sc /idotaccent.sc /a.scalt /a.superior /b.superior
+/c.superior /d.superior /e.superior /f.superior /g.superior /uniE0C7
+/uniE0C8 /uniE0C9 /k.superior /m.superior /uniE0CD /o.superior
+/p.superior /q.superior /uniE0D1 /t.superior /u.superior /v.superior
+/uniE0D6 /uniE0D7 /uniE0D8 /z.superior /f.short /f_f.short /uniE0E8
+/W.alt /V.alt /K.alt /R.alt /J.alt /z.alt /uniE0F4 /y.alt /uniE0F9
+/uniE0FB /kreis /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE130
+/uniE138 /uniE148 /b.inferior /c.inferior /d.inferior /f.inferior
+/g.inferior /h.inferior /i.inferior /j.inferior /k.inferior /l.inferior
+/m.inferior /n.inferior /p.inferior /q.inferior /r.inferior ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@8 def
+ currentdict
+end
+/LinLibertineOI-@12@8 exch definefont pop
+/@12@8 /LinLibertineOI-@12@8 def
+/&12@8 {@12@8 F} bind def
+/Encoding-@12@9 [
+/s.inferior /t.inferior /u.inferior /v.inferior /w.inferior /y.inferior
+/z.inferior /uniE188 /uniE189 /v.alt /grave.cap /acute.cap /circumflex.cap
+/caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uniE420
+/zero.slash /parenleft.sc /parenright.sc /bracketleft.sc /bracketright.sc
+/braceleft.sc /braceright.sc /exclamdown.sc /questiondown.sc
+/guillemotleft.sc /guillemotright.sc /guilsinglleft.sc /guilsinglright.sc
+/hyphen.cap /dotlessj /afii10068.ital /afii10066.ital /afii10069.ital
+/afii10081.ital /uniF6C8 /longs_t /s_t /uniFFFD /uni0350 /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@9 def
+ currentdict
+end
+/LinLibertineOI-@12@9 exch definefont pop
+/@12@9 /LinLibertineOI-@12@9 def
+/&12@9 {@12@9 F} bind def
+/Encoding-@21@0 [
+/.notdef /hyphen /cent /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /.notdef /space /asciicircum /asciitilde
+/uni00A0 /exclamdown /sterling /currency /yen /brokenbar /space
+/exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period
+/slash /zero /one /two /three /four /five /six /seven /eight
+/nine /colon /semicolon /less /equal /greater /question /at /A
+/B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
+/W /X /Y /Z /bracketleft /backslash /bracketright /dieresis /underscore
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q
+/r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /copyright
+/ordfeminine /guillemotleft /logicalnot /uni00AD /registered
+/macron /degree /plusminus /two.superior /three.superior /uni00B5
+/paragraph /periodcentered /cedilla /one.superior /ordmasculine
+/guillemotright /questiondown /Agrave /Aacute /Acircumflex /Atilde
+/Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
+/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
+/Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar /hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve
+/Iogonek ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@0 def
+ currentdict
+end
+/LinLibertineMO-@21 exch definefont pop
+/@21 /LinLibertineMO-@21 def
+/&21 {@21 F} bind def
+/Encoding-@21@1 [
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcommaaccent /tcommaaccent /Tcaron /tcaron /Tbar
+/tbar /Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring
+/uring /Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /gravecomb /acutecomb
+/uni0302 /tildecomb /uni0304 /uni0305 /uni0306 /dotaccentcmb
+/uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D /uni030E
+/uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314 /uni0315
+/uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B /uni031C
+/uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322 /dotbelowcomb
+/uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329 /uni032A
+/uni032B /uni032C /uni032D /uni032E /uni032F /uni0330 /uni0331
+/uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337 /uni0338
+/uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E /uni033F
+/uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345 /uni0346
+/uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C /uni034D
+/uni034E /uni034F /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni1E00
+/uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06 /uni1E07
+/uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D /uni1E0E
+/uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14 /uni1E15
+/uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B /uni1E1C
+/uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22 /uni1E23
+/uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29 /uni1E2A
+/uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30 /uni1E31
+/uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37 /uni1E38
+/uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@1 def
+ currentdict
+end
+/LinLibertineMO-@21@1 exch definefont pop
+/@21@1 /LinLibertineMO-@21@1 def
+/&21@1 {@21@1 F} bind def
+/Encoding-@21@2 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@2 def
+ currentdict
+end
+/LinLibertineMO-@21@2 exch definefont pop
+/@21@2 /LinLibertineMO-@21@2 def
+/&21@2 {@21@2 F} bind def
+/Encoding-@21@3 [
+/five.inferior /six.inferior /seven.inferior /eight.inferior
+/nine.inferior /plus.inferior /minus.inferior /equal.inferior
+/parenleft.inferior /parenright.inferior /a.inferior /e.inferior
+/o.inferior /x.inferior /uni2094 /uni2095 /uni2096 /uni2097 /uni2098
+/uni2099 /uni209A /uni209B /uni209C /uni20A2 /franc /lira /peseta
+/uni20A8 /dong /Euro /uni20AF /uni20B1 /uni2100 /uni2101 /uni2102
+/centigrade /afii61248 /uni2106 /fahrenheit /uni210C /uni210D
+/uni210E /uni210F /Ifraktur /afii61289 /uni2115 /afii61352 /uni2119
+/uni211A /Rfraktur /uni211D /uni2120 /trademark /uni2124 /uni2126
+/uni2127 /estimated /aleph /uni2136 /uni2137 /uni2138 /uni2139
+/onethird /twothirds /onefifth /twofifths /threefifths /fourfifths
+/onesixth /fivesixths /oneeighth /threeeighths /fiveeighths /seveneighths
+/onenumerator /arrowleft /arrowup /arrowright /arrowdown /arrowboth
+/arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A /uni219B
+/universal /uni2201 /partialdiff /existential /uni2204 /emptyset
+/uni2206 /gradient /element /notelement /uni220A /suchthat /uni220C
+/uni220D /product /uni2210 /summation /minus /uni2213 /uni2214
+/asteriskmath /uni2218 /uni2219 /radical /uni221B /uni221C /proportional
+/infinity /orthogonal /dotmath /uni22EF /SF100000 /uni2503 /SF010000
+/SF030000 /SF020000 /SF040000 /SF080000 /SF090000 /SF060000 /SF070000
+/SF050000 /SF430000 /SF240000 /SF510000 /SF520000 /SF390000 /SF220000
+/SF210000 /SF250000 /SF500000 /SF490000 /SF380000 /SF280000 /SF270000
+/SF260000 /SF360000 /SF370000 /SF420000 /SF190000 /SF200000 /SF230000
+/SF470000 /SF480000 /SF410000 /SF450000 /SF460000 /SF400000 /SF540000
+/SF530000 /SF440000 /upblock /dnblock /block /lfblock /rtblock
+/ltshade /shade /dkshade /uni2605 /uni2639 /uni263A /uni263B
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /Tux /uniE001 /uniE009 /uniE00A
+/zero.slashfitted /perthousandzero /Adieresis.alt /Odieresis.alt
+/Udieresis.alt /a.superior /b.superior /c.superior /d.superior
+/e.superior /f.superior /g.superior /uniE0C7 /uniE0C8 /uniE0C9
+/k.superior /m.superior /uniE0CD /o.superior /p.superior /q.superior
+/uniE0D1 /t.superior /u.superior /v.superior /uniE0D6 /uniE0D7
+/uniE0D8 /z.superior /uniE0F9 /uniE0FB /kreis /uniE138 /uniE148
+/b.inferior /c.inferior /d.inferior /f.inferior /g.inferior /h.inferior
+/i.inferior /j.inferior /k.inferior /l.inferior /m.inferior /n.inferior
+/p.inferior /q.inferior /r.inferior /s.inferior /t.inferior /u.inferior
+/v.inferior /w.inferior /y.inferior /z.inferior /grave.cap /acute.cap
+/circumflex.cap /caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap
+/breveinvertedcmb.cap /breve.cyrcap /breve.cyr /dieresis.cap
+/hookabovecomb.cap /dotaccent.cap /uniE420 /zero.slash ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@3 def
+ currentdict
+end
+/LinLibertineMO-@21@3 exch definefont pop
+/@21@3 /LinLibertineMO-@21@3 def
+/&21@3 {@21@3 F} bind def
+/Encoding-@21@4 [
+/dotlessj /uniFFFD /uni0350 /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@21@4 def
+ currentdict
+end
+/LinLibertineMO-@21@4 exch definefont pop
+/@21@4 /LinLibertineMO-@21@4 def
+/&21@4 {@21@4 F} bind def
+/pagebbox [0 0 420 595] def
+userdict /gotpagebbox true put
+/setpagedevice where {pop 1 dict dup /PageSize [420 595] put setpagedevice} if
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+ [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark
+ [ /PageMode /UseOutlines /DOCVIEW pdfmark
+ [ {Catalog} << /PageLayout /TwoPageRight >> /PUT pdfmark
+ [ /Label (I) /PAGELABEL pdfmark
+10 @11 f
+(Justi\003cation in Heirlo)3330 1 132409 73606 t
+(om T)3330 1 222229 u
+(r)244269 v
+(o\005)247909 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+ [ /Label (II) /PAGELABEL pdfmark
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Page: 3 3
+save
+mark
+3 pagesetup
+ [ /Label (III) /PAGELABEL pdfmark
+[ /Dest /Bookmark$0
+ /View [/XYZ -4 599 0]
+/DEST pdfmark
+18 @22 f
+3000 T
+(JUST)114178 77692 w
+(I)164356 v
+(F)173242 v
+(ICA)185710 v
+(T)223312 v
+(ION)237490 v
+(I)183373 105692 w
+(N)192259 v
+(H)99898 133692 w
+(EI)116452 v
+(RLO)138544 v
+(OM T)8994 1 180610 u
+(ROF)237106 v
+(F)279334 v
+10 @11 f
+923 T
+(G)155545 205692 w
+&11@9
+(\210\201\201\164\205)163318 v
+&11
+(R)200656 v
+&11@9
+(\174\207\207\170\205)207449 v
+&11
+0 T
+&11@9
+(\106\106)180534 229692 w
+&11
+(/)187294 v
+&11@9
+(\106\106)190524 v
+&11
+(/)197284 v
+&11@9
+(\105\113)200514 v
+9 s
+(\047)190383 263192 w
+&11
+(Heirlo)136576 481133 w
+(om Do)2997 1 159931 u
+(cumentation T)2997 1 185482 u
+(o)239581 v
+(ols)244180 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 3
+%%Page: 4 4
+save
+mark
+4 pagesetup
+ [ /Label (IV) /PAGELABEL pdfmark
+9 @11 f
+(<h)75118 481133 w
+&11@9
+(\137)84910 v
+&11
+(p://n\001t\001r)90436 v
+(o\005)120127 v
+(.github.io/heirlo)130081 v
+(om/do)189391 v
+(cto)213097 v
+(ols)224392 v
+(.html>)234994 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 4
+%%Page: 1 5
+save
+mark
+5 pagesetup
+ [ /Label (1) /PAGELABEL pdfmark
+[ /Dest /Bookmark$1
+ /View [/XYZ -4 599 0]
+/DEST pdfmark
+9 @12 f
+(Line\001by\001line adjustment)2997 1 48188 73606 t
+9 @11 0.994 h
+-22 T
+(When determining line br)2264 1 57188 97606 t
+(eaks)151738 v
+(,)167984 v
+9 @12 0.994 h
+-22 T
+(tr)172194 v
+(o\005)178017 v
+9 @11 0.994 h
+-22 T
+(traditionally uses a simple metho)2265 1 189317 u
+(d)310019 v
+(: W)2265 1 315117 u
+(or)327236 v
+(ds)334955 v
+9 s
+0 T
+(ar)48188 109606 w
+(e accumulate)2606 1 55577 u
+(d fr)2606 1 104110 u
+( the)2605(om input as long as)2606 2 117336 u
+(y)204804 v
+(\003t on the curr)2605 1 212044 u
+(ent output line)2605 1 264121 u
+(. Once)2605 1 319335 u
+9 @11 1.003 h
+13 T
+(a w)4121 1 48188 121606 t
+(or)63131 v
+(d consumes mor)4121 1 70992 u
+( than available)4122(e space)4121 2 135226 u
+(, it is hyphenate)4122 1 221474 u
+(d)286318 v
+(. If a feasible)4122 1 291078 u
+9 s
+0 T
+(br)48188 133606 w
+(eakp)55901 v
+(oint r)2502 1 73379 u
+(esults)93854 v
+(, it is chosen)2502 1 115076 u
+(; other)2502 1 162029 u
+(wise the curr)2502 1 186383 u
+( the)2501(ent output line ends with)2502 2 235046 u
+(pr)48188 145606 w
+(e)56135 v
+(vious w)2997 1 60095 u
+(or)89480 v
+(d)97292 v
+(.)102026 v
+(If the adjustment mo)3259 1 57188 157606 t
+(de is)3259 1 136949 u
+(\027)157993 v
+(b)162268 v
+(\030 \()3259 1 167425 u
+(adjust b)3259 1 177227 u
+( the line is shorter)3260(oth margins\) and)3259 2 207261 u
+(than the desir)2685 1 48188 169606 t
+(e)99746 v
+(d line length)2685 1 103832 u
+(, inter)2685 1 151115 u
+(w)173447 v
+(or)180098 v
+(d spaces ar)2685 1 187910 u
+(e widene)2685 1 228902 u
+( make the line)2684(d to)2685 2 262313 u
+(\003t)332947 v
+(.)341011 v
+9 @11 0.996 h
+-18 T
+(The line is then printe)2268 1 48188 181606 t
+(d either to interme)2268 1 129372 u
+(diate output or to the curr)2269 1 197810 u
+(ent div)2269 1 293059 u
+(ersion)318263 v
+(,)340974 v
+9 s
+0 T
+(if any)2997 1 48188 193606 t
+(. A)2997 1 69689 u
+&11@9
+(\134)80921 v
+&11
+(er)86285 v
+(war)93791 v
+(ds)107903 v
+(, the pr)2997 1 116147 u
+(o)143777 v
+(cess starts again)2997 1 148376 u
+(.)209657 v
+9 @11 0.993 h
+-31 T
+(This metho)4197 1 57188 205606 t
+(d w)4197 1 100408 u
+(orks r)4197 1 115668 u
+(easonably w)4197 1 138850 u
+( tw)4198(ell but has)4197 2 185700 u
+(o shortcomings)4198 1 240441 u
+(: First)4198 1 298885 u
+(, it is)4198 1 321574 u
+9 s
+0 T
+(not p)3052 1 48188 217606 t
+(ossible to compr)3052 1 68232 u
+(ess inter)3052 1 129992 u
+(w)161754 v
+(or)168405 v
+( amount e)3051(d spaces by the slightest)3052 2 176217 u
+(v)306649 v
+(en if the)3051 1 311050 u
+9 @11 0.991 h
+-31 T
+(br)48188 229606 w
+(eakp)55768 v
+(oint obtainable by widening is inacceptable)4212 1 72962 u
+(. Se)4212 1 239557 u
+(cond)254012 v
+(, if a line that)4212 1 271727 u
+(\003ts)331734 v
+9 @11 0.993 h
+(p)48188 241606 w
+(erfe)52858 v
+(ctly is follo)2291 1 66879 u
+(w)107069 v
+(e)113641 v
+(d by a line with v)2291 1 117667 u
+(er)181046 v
+(y lo)2290 1 188437 u
+(ose spacing)2290 1 202162 u
+(, it might b)2290 1 244069 u
+(e b)2290 1 283947 u
+(e)294664 v
+9 @11@9 0.993 h
+(\137)298627 v
+9 @11 0.993 h
+(er to mo)2290 1 304083 u
+(v)334624 v
+(e)338962 v
+9 s
+0 T
+(the last w)3081 1 48188 253606 t
+(or)85553 v
+(d of the)3082 1 93365 u
+(\003rst line to the ne)3082 1 126200 u
+(xt one)3082 1 194913 u
+(; then b)3082 1 219280 u
+(oth lines might hav)3082 1 248682 u
+(e less)3082 1 322467 u
+(than p)2324 1 48188 265606 t
+(erfe)71923 v
+(ct spacing)2324 1 86170 u
+( ne)2323(, but it might)2324 2 123333 u
+(v)182524 v
+(ertheless b)2323 1 186925 u
+(e mor)2323 1 226274 u
+(e acceptable than one line)2323 1 247542 u
+(with v)2997 1 48188 277606 t
+(er)72434 v
+(y wide spaces)2997 1 79940 u
+(.)132167 v
+(Both pr)2588 1 57188 289606 t
+(oblems ar)2588 1 85237 u
+(e addr)2588 1 121206 u
+(esse)144314 v
+(d in)2588 1 159443 u
+&12
+(Heirlo)176491 v
+(om tr)2589 1 198334 u
+(o\005)217897 v
+(.)227212 v
+&11
+(A)231772 v
+(s usual)2589 1 237919 u
+(, the default b)2589 1 263755 u
+(ehavior)315217 v
+(has not change)2730 1 48188 301606 t
+(d)104642 v
+(, though)2730 1 109376 u
+(, so identical output will b)2730 1 140609 u
+(e pr)2730 1 238697 u
+(o)253397 v
+(duce)257996 v
+(d for e)2730 1 275267 u
+(xisting do)2729 1 299915 u
+(c\001)336817 v
+(uments unless the)2997 1 48188 313606 t
+(y ar)2997 1 116048 u
+(e mo)2997 1 131069 u
+(di\003e)149798 v
+(d accor)2997 1 165917 u
+(dingly)193097 v
+(.)216128 v
+[ /Dest /Bookmark$2
+ /View [/XYZ -4 257.394 0]
+/DEST pdfmark
+&12
+(Shrinking inter)2997 1 48188 349606 t
+(w)102980 v
+(or)109100 v
+(d spaces)2997 1 116264 u
+&11
+(The)57188 373606 w
+(\027)73843 v
+(.minss)77857 v
+(\030 r)2418 1 102184 u
+(e)111253 v
+(quest allo)2418 1 115339 u
+(ws to sp)2418 1 150778 u
+(e)181471 v
+(cify a minimum inter)2418 1 185557 u
+(w)264172 v
+(or)270823 v
+(d space)2418 1 278635 u
+(. It is only)2418 1 305866 u
+(e\005e)48188 385606 w
+(ctiv)61535 v
+(e when adjusting b)3298 1 75071 u
+(oth margins)3298 1 148046 u
+(. It accepts an argument with the same)3298 1 193644 u
+(semantics as the)3228 1 48188 397606 t
+(\027)113483 v
+(.ss)117497 v
+(\030 r)3228 1 127397 u
+(e)137276 v
+(quest)141362 v
+(, i)3228 1 161225 u
+(.e)169052 v
+(. a numeric value that is multiplie)3228 1 175145 u
+(d by)3229 1 304511 u
+&11@9
+(\106\107)324595 v
+&11
+(/)331795 v
+&11@9
+(\110\113)334702 v
+&11
+(of the standar)3063 1 48188 409606 t
+(d inter)3063 1 100637 u
+(w)125921 v
+(or)132572 v
+(d space)3063 1 140384 u
+(. The space size con\003gur)3063 1 168260 u
+(e)261548 v
+(d with)3063 1 265634 u
+(\027)293162 v
+(.ss)297176 v
+( taken)3062(\030 is)3063 2 307076 u
+(as the optimum se)2584 1 48188 421606 t
+&11@9
+(\137)116294 v
+&11
+(ing)121820 v
+( the default)2585(. Thus with)2584 2 133817 u
+(\027)221260 v
+(.ss)225274 v
+&11@9
+(\106\107)237271 v
+&11
+(\030)245371 v
+(,)248485 v
+(\027)253050 v
+(.minss)257064 v
+&11@9
+(\116)283488 v
+&11
+(\030 sp)2585 1 288609 u
+(e)302813 v
+(ci\003es that)2585 1 306899 u
+(spaces may b)2997 1 48188 433606 t
+(e shrunk to)2997 1 98246 u
+&11@9
+(\114\112)144605 v
+&11
+(p)155369 v
+(er)160103 v
+(cent)167402 v
+(.)183179 v
+(The line br)2348 1 57188 445606 t
+(eaking pr)2348 1 97551 u
+(o)132407 v
+(cess is then change)2348 1 137006 u
+(d such that when the)2348 1 207752 u
+(\003rst w)2349 1 287848 u
+(or)311590 v
+(d do)2349 1 319402 u
+(es)335458 v
+(not)48188 457606 w
+(\003t on the curr)2802 1 63248 u
+(ent output line anymor)2802 1 115916 u
+(e)202784 v
+(,)206897 v
+&12
+(tr)211679 v
+(o\005)217583 v
+&11
+(is allo)2801 1 229520 u
+(w)251608 v
+(e)258259 v
+(d to shrink inter)2801 1 262345 u
+(w)323974 v
+(or)330625 v
+(d)338437 v
+9 @11 0.995 h
+-18 T
+( make it)2270(spaces to)2269 2 48188 469606 t
+(\003t instead of deferring the w)2270 1 112921 u
+(or)217190 v
+(d to the ne)2270 1 224926 u
+(xt line and e)2270 1 263905 u
+(xpanding)308811 v
+9 @11 0.99 h
+-81 T
+(the inter)2334 1 48188 481606 t
+(w)78953 v
+(or)85455 v
+(d spaces on the curr)2334 1 93025 u
+(ent one)2334 1 165020 u
+(.)191885 v
+9 @12 0.99 h
+-81 T
+(tr)196098 v
+(o\005)201779 v
+9 @11 0.99 h
+-81 T
+(has a slight pr)2334 1 212993 u
+(efer)263601 v
+(ence for shrinking)2333 1 277245 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 5
+%%Page: 2 6
+save
+mark
+6 pagesetup
+10 @11 f
+0 T
+&11@9
+(\107)75118 517133 w
+ [ /Label (2) /PAGELABEL pdfmark
+9 @11 f
+(built\001in)75118 73606 w
+( if shrinking and e)2628(, so)2627 2 102532 u
+(xpanding ar)2628 1 183873 u
+(e e)2628 1 228333 u
+(qually far away fr)2628 1 239070 u
+(om the optimum)2628 1 305661 u
+(,)367941 v
+( chosen)2615(shrinking is)2616 2 75118 85606 t
+(. If a line can b)2615 1 147561 u
+(e set with the optimum se)2615 1 203278 u
+&11@9
+(\137)300332 v
+&11
+(ing)305858 v
+(, no shrinking)2615 1 317855 u
+(is p)2997 1 75118 97606 t
+(erforme)88798 v
+(d)118039 v
+(.)122773 v
+10 s
+(Harmony)159999 133606 w
+(, lib)6115 1 198709 u
+(eral inter)6115 1 217404 u
+(course)258319 v
+(with all nations)5798 1 159999 145606 t
+(, ar)5797 1 230585 u
+(e r)5797 1 246792 u
+(e)260699 v
+(com\001)265239 v
+(mende)159999 157606 w
+( p)4737(d by)4736 2 187389 u
+(olicy)217262 v
+(, humanity)4737 1 236692 u
+(,)282839 v
+(and inter)7265 1 159999 169606 t
+(est)201714 v
+(. But e)7265 1 213444 u
+(v)248924 v
+(en our)7265 1 253814 u
+(commercial p)12600 1 159999 181606 t
+(olicy should)12600 1 225369 u
+(hold an e)5655 1 159999 193606 t
+(qual and impartial)5655 1 203959 u
+(hand)159999 205606 w
+(; neither se)8973 1 181089 u
+(eking nor)8974 1 239165 u
+(granting e)6187 1 159999 217606 t
+(xclusiv)205586 v
+(e fav)6187 1 234216 u
+(ors or)6186 1 257433 u
+(pr)159999 229606 w
+(efer)168829 v
+(ences)184509 v
+(; consulting the)9540 1 207709 u
+( things)4687(natural course of)4688 2 159999 241606 t
+(; dif\001)4687 1 264542 u
+(fusing and div)8543 1 159999 253606 t
+(ersifying by)8544 1 230235 u
+( str)5232(gentle means the)5233 2 159999 265606 t
+(eams of)5232 1 250827 u
+&12
+(Standar)83409 145606 w
+(d adjust\001)3330 1 114299 u
+(ment se)3330 1 96739 157606 t
+&12@8
+(\124)127699 v
+&12
+(ings)133759 v
+&11
+(Harmony)159999 301606 w
+(, lib)6115 1 198709 u
+(eral inter)6115 1 217404 u
+(course)258319 v
+(with all nations)5798 1 159999 313606 t
+(, ar)5797 1 230585 u
+(e r)5797 1 246792 u
+(e)260699 v
+(com\001)265239 v
+(mende)159999 325606 w
+( p)4737(d by)4736 2 187389 u
+(olicy)217262 v
+(, humanity)4737 1 236692 u
+(,)282839 v
+(and inter)7265 1 159999 337606 t
+(est)201714 v
+(. But e)7265 1 213444 u
+(v)248924 v
+(en our)7265 1 253814 u
+(commercial p)2360 1 159999 349606 t
+(olicy should hold)2360 1 215129 u
+(an e)4323 1 159999 361606 t
+( impartial hand)4322(qual and)4323 2 178852 u
+(;)282679 v
+(neither se)5123 1 159999 373606 t
+( granting)5124(eking nor)5123 2 202892 u
+(e)159999 385606 w
+(xclusiv)164399 v
+(e fav)8797 1 193029 u
+( pr)8796(ors or)8797 2 218856 u
+(efer\001)266699 v
+(ences)159999 397606 w
+( natural)4734(; consulting the)4733 2 183199 u
+(course of things)2653 1 159999 409606 t
+(; di\005using and)2652 1 226395 u
+(div)159999 421606 w
+(ersifying by gentle means)4900 1 172659 u
+(the str)3668 1 159999 433606 t
+( commer)3667(eams of)3668 2 187377 u
+(ce)256922 v
+(, but)3667 1 265772 u
+&12
+(Shrink to)3330 1 92953 313606 t
+&12@8
+(\107\110)133253 v
+&12
+(%)143629 v
+(\()110819 325606 w
+(.minss)114079 v
+&12@8
+(\354)142429 v
+&12
+(\))146869 v
+9 @11 f
+(While the se)2544 1 75118 469606 t
+(cond se)2544 1 121750 u
+&11@9
+(\137)149647 v
+&11
+(ing is certainly not p)2544 1 155173 u
+(erfe)232615 v
+(ct)246862 v
+( much b)2545(, it is)2544 2 253738 u
+(e)302238 v
+&11@9
+(\137)306261 v
+&11
+(er than the)2545 1 311787 u
+(\003rst)355179 v
+(one)75118 481606 w
+(.)88645 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 6
+%%Page: 3 7
+save
+mark
+7 pagesetup
+10 @11 f
+&11@9
+(\110)338511 517133 w
+ [ /Label (3) /PAGELABEL pdfmark
+[ /Dest /Bookmark$3
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+(Paragraph\001at\001once adjustment)2997 1 48188 73606 t
+&11
+(A)57188 97606 w
+(djusting paragraph\001at\001once distributes the w)2997 1 63335 u
+(or)230411 v
+(d spaces mor)2997 1 238223 u
+(e e)2997 1 287372 u
+(v)298352 v
+(enly)302753 v
+(:)319259 v
+10 s
+(Harmony)133069 133606 w
+(, lib)6115 1 171779 u
+(eral inter)6115 1 190474 u
+(course)231389 v
+(with all nations)5798 1 133069 145606 t
+(, ar)5797 1 203655 u
+(e r)5797 1 219862 u
+(e)233769 v
+(com\001)238309 v
+(mende)133069 157606 w
+( p)4737(d by)4736 2 160459 u
+(olicy)190332 v
+(, humanity)4737 1 209762 u
+(,)255909 v
+(and inter)7265 1 133069 169606 t
+(est)174784 v
+(. But e)7265 1 186514 u
+(v)221994 v
+(en our)7265 1 226884 u
+(commercial p)12600 1 133069 181606 t
+(olicy should)12600 1 198439 u
+(hold an e)5655 1 133069 193606 t
+(qual and impartial)5655 1 177029 u
+(hand)133069 205606 w
+(; neither se)8973 1 154159 u
+(eking nor)8974 1 212235 u
+(granting e)6187 1 133069 217606 t
+(xclusiv)178656 v
+(e fav)6187 1 207286 u
+(ors or)6186 1 230503 u
+(pr)133069 229606 w
+(efer)141899 v
+(ences)157579 v
+(; consulting the)9540 1 180779 u
+( things)4687(natural course of)4688 2 133069 241606 t
+(; dif\001)4687 1 237612 u
+(fusing and div)8543 1 133069 253606 t
+(ersifying by)8544 1 203305 u
+( str)5232(gentle means the)5233 2 133069 265606 t
+(eams of)5232 1 223897 u
+&12
+(Line\001by\001line)74849 145606 w
+(adjustment)78829 157606 w
+(\()96629 169606 w
+(.ad)99889 v
+(b\))115159 v
+&11
+(Harmony)133069 301606 w
+(, lib)6115 1 171779 u
+(eral inter)6115 1 190474 u
+(course)231389 v
+(with all nations)5798 1 133069 313606 t
+(, ar)5797 1 203655 u
+(e r)5797 1 219862 u
+(e)233769 v
+(com\001)238309 v
+(mende)133069 325606 w
+(d by p)8153 1 160459 u
+(olicy)197165 v
+(, human\001)8154 1 216595 u
+(ity)133069 337606 w
+(, and inter)7575 1 143699 u
+(est)195499 v
+(. But e)7575 1 207229 u
+(v)243329 v
+(en)248219 v
+(our commer)3710 1 133069 349606 t
+(cial p)3710 1 184079 u
+(olicy should)3710 1 207249 u
+(hold an e)8280 1 133069 361606 t
+(qual and impar\001)8280 1 182279 u
+(tial hand)9340 1 133069 373606 t
+(; neither se)9340 1 176579 u
+(eking)235389 v
+(nor granting e)4380 1 133069 385606 t
+(xclusiv)195409 v
+(e fav)4380 1 224039 u
+(ors)245449 v
+(or pr)3440 1 133069 397606 t
+(efer)154099 v
+(ences)169779 v
+(; consulting the)3440 1 192979 u
+( things)4687(natural course of)4688 2 133069 409606 t
+(; dif\001)4687 1 237612 u
+(fusing and div)8543 1 133069 421606 t
+(ersifying by)8544 1 203305 u
+( str)5232(gentle means the)5233 2 133069 433606 t
+(eams of)5232 1 223897 u
+&12
+(Paragraph\001at\001)66919 313606 w
+(once adjustment)3330 1 57949 325606 t
+(\()96519 337606 w
+(.ad)99779 v
+(p\))115049 v
+9 @11 f
+-40 T
+(T)57188 469606 w
+(o a)2244 1 61900 u
+(d)72671 v
+(d)77139 v
+(r)81607 v
+(e)84809 v
+(s)88751 v
+(s t)2254 1 92185 u
+(h)100684 v
+(e p)2249 1 105437 u
+(r)116253 v
+(o)119455 v
+(b)123905 v
+(l)128257 v
+(e)130569 v
+(m o)2218 1 134511 u
+(f a)2262 1 148249 u
+(n u)2241 1 157292 u
+(n)169062 v
+(n)173851 v
+(e)178640 v
+(c)182645 v
+(e)186418 v
+(s)190360 v
+(s)193794 v
+(a)197228 v
+(r)201259 v
+(i)204533 v
+(l)206907 v
+(y l)2243 1 209219 u
+(o)218369 v
+(o)222882 v
+(s)227332 v
+(e l)2250 1 230766 u
+(i)239311 v
+(n)241685 v
+(e)246474 v
+(, i)2271 1 250506 u
+(t i)2262 1 257091 u
+(s o)2255 1 264531 u
+(b)274706 v
+(v)279058 v
+(i)283446 v
+(o)285820 v
+(u)290270 v
+(s)294961 v
+(l)298395 v
+(y n)2244 1 300707 u
+(e)312335 v
+(c)316340 v
+(e)320113 v
+(s)324055 v
+(s)327489 v
+(a)330923 v
+(r)334954 v
+(y)338363 v
+0 T
+(to lo)2484 1 48188 481606 t
+(ok ahead to follo)2484 1 65027 u
+(wing te)2484 1 127199 u
+(xt)155027 v
+(. A)2484 1 162461 u
+(ctually the b)2484 1 173072 u
+(est solution may inv)2484 1 219251 u
+(olv)294554 v
+(e multiple)2483 1 305867 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 7
+%%Page: 4 8
+save
+mark
+8 pagesetup
+10 @11 f
+&11@9
+(\111)75118 517133 w
+ [ /Label (4) /PAGELABEL pdfmark
+9 @11 0.999 h
+-4 T
+(lines)75118 73606 w
+(: the line with su\006ciently tight spacing might o)2241 1 92898 u
+(ccur se)2241 1 267452 u
+(v)292944 v
+( b)2242(eral lines)2241 2 297336 u
+(efor)337350 v
+(e the)2242 1 351942 u
+9 s
+0 T
+(lo)75118 85606 w
+(ose one)2590 1 82093 u
+(, and each line in b)2590 1 110279 u
+(etw)181144 v
+(e)194662 v
+(en simply starts one w)2590 1 198748 u
+(or)283007 v
+( but contains)2589(d earlier)2590 2 290819 u
+(the same numb)2997 1 75118 97606 t
+(er of w)2997 1 132871 u
+(or)160213 v
+(ds)168025 v
+(.)176269 v
+( r)2694(For this)2693 2 84118 109606 t
+(eason)118665 v
+(,)139905 v
+&12
+(tr)144579 v
+(o\005)150483 v
+&11
+(colle)162312 v
+(cts the w)2694 1 179538 u
+(or)213492 v
+(ds of an entir)2694 1 221304 u
+(e paragraph and computes)2694 1 271227 u
+(optimal br)3642 1 75118 121606 t
+(eakp)114562 v
+( it is ende)3641(oints when)3642 2 132040 u
+(d with the ne)3641 1 214051 u
+(xt r)3641 1 266923 u
+(e)281094 v
+(quest causing a)3641 1 285180 u
+&12
+(br)347970 v
+(eak)355413 v
+(.)367950 v
+&11
+(Br)75118 133606 w
+(eakp)83686 v
+(oints ar)2611 1 101164 u
+(e consider)2611 1 129371 u
+(e)167073 v
+( inter)2612(d optimal if all)2611 2 171159 u
+(w)246008 v
+(or)252659 v
+(d spaces in the paragraph ar)2612 1 260471 u
+(e)365898 v
+(as close to the optimum se)2997 1 75118 145606 t
+&11@9
+(\137)176134 v
+&11
+(ing as p)2997 1 181660 u
+(ossible)211828 v
+(.)236749 v
+( optimal br)3708(Once the)3707 2 84118 157606 t
+(eakp)161823 v
+(oints hav)3708 1 179301 u
+(e b)3708 1 214572 u
+(e)226830 v
+(en compute)3708 1 230916 u
+(d)275403 v
+(, the r)3708 1 280137 u
+(esulting lines ar)3708 1 304518 u
+(e)365898 v
+9 @11 0.996 h
+-22 T
+(output)75118 169606 w
+(. At this time)2273 1 99517 u
+(,)147143 v
+9 @12 0.996 h
+-22 T
+(traps)151366 v
+9 @11 0.996 h
+-22 T
+(b)171383 v
+(e)175870 v
+(come e\005e)2272 1 179917 u
+(ctiv)214767 v
+(e)228159 v
+(. When the entir)2272 1 232233 u
+(e parag)2272 1 291992 u
+(raph has b)2272 1 318797 u
+(e)356991 v
+(en)361038 v
+9 s
+0 T
+(printe)75118 181606 w
+(d)97384 v
+(, e)2923 1 102118 u
+(xe)110981 v
+(cution continues with the r)2923 1 119477 u
+(e)222069 v
+(quest that initially cause)2923 1 226155 u
+(d the)2924 1 318129 u
+&12
+(br)340240 v
+(eak)347683 v
+&11
+(at)362964 v
+(the end of the paragraph)2997 1 75118 193606 t
+(.)169204 v
+9 @11 0.99 h
+-76 T
+(Paragraph\001at\001once adjustment is enable)2327 1 84118 205606 t
+(d p)2327 1 226239 u
+( with)2328(er paragraph)2327 2 237609 u
+(\027)304762 v
+(.ad)308666 v
+-76 T
+(p)321974 v
+(\030)327206 v
+(; the forms)2328 1 331065 u
+9 @11 0.997 h
+-13 T
+(\027)75118 217606 w
+(.ad)79108 v
+-13 T
+(p)92680 v
+(c)97386 v
+(\030)102113 v
+(,)105203 v
+(\027)111326 v
+(.ad)115316 v
+-13 T
+(pl)128888 v
+(\030)136786 v
+(, and)4162 1 139876 u
+(\027)163625 v
+(.ad)167615 v
+-13 T
+(pr)181187 v
+(\030 ar)4162 1 190054 u
+(e also supp)4162 1 204906 u
+(orte)249250 v
+( the metho)4161(d and apply)4162 2 263965 u
+(d to)4161 1 353851 u
+9 s
+0 T
+(center)75118 229606 w
+(e)98014 v
+(d)102100 v
+(, le)2997 1 106834 u
+&11@9
+(\134)118210 v
+&11
+(\001adjuste)123574 v
+(d)152950 v
+(, and right\001adjuste)2997 1 157684 u
+(d te)2997 1 226552 u
+(xt)240907 v
+(, r)2997 1 248341 u
+(esp)256594 v
+(e)268861 v
+(ctiv)272947 v
+(ely)286483 v
+(.)297166 v
+(The r)2617 1 84118 241606 t
+(e)104249 v
+(quest)108335 v
+(\027)130635 v
+(.padj)134649 v
+(\030 globally enables paragraph\001at\001once adjustment acr)2618 1 153315 u
+(oss all)2618 1 346882 u
+(envir)75118 253606 w
+(onments)94207 v
+(; it is esp)3231 1 126580 u
+(e)161896 v
+(cially useful to change e)3231 1 165982 u
+(xisting do)3231 1 258502 u
+( this)3230(cuments to use)3231 2 295906 u
+(mo)75118 265606 w
+(de)86827 v
+(.)95494 v
+9 @11 0.993 h
+-27 T
+(Paragraph\001at\001once adjustment is compatible with almost all e)2278 1 84118 277606 t
+(xisting)307003 v
+9 @12 0.993 h
+-27 T
+(tr)333933 v
+(o\005)339740 v
+9 @11 0.993 h
+-27 T
+(co)351035 v
+(de)359373 v
+(.)367925 v
+9 s
+0 T
+(Most imp)2943 1 75118 289606 t
+(ortantly)110785 v
+(, it w)2943 1 140008 u
+(orks in combination with the)2942 1 159808 u
+&12
+(tbl)272456 v
+(, e)2942 1 282095 u
+(qn)290680 v
+(, r)2942 1 299941 u
+(efer)307995 v
+(,)320901 v
+&11
+(and)325814 v
+&12
+(pic)342301 v
+&11
+(pr)355629 v
+(e\001)363576 v
+(pr)75118 301606 w
+(o)83065 v
+( w)2286(cessors as)2285 2 87664 u
+(ell with the standar)2286 1 132798 u
+(d)204276 v
+(\027)211116 v
+(\015mm)215391 v
+(\030)235443 v
+(,)238557 v
+(\027)242823 v
+(\015ms)247098 v
+(\030)263550 v
+(,)266664 v
+(\027)270930 v
+(\015me)275205 v
+(\030)291954 v
+(, and)2286 1 295068 u
+(\027)315165 v
+(\015man)319440 v
+(\030 macr)2286 1 341373 u
+(o)365385 v
+(sets)75118 313606 w
+(.)89185 v
+9 @11 0.994 h
+-22 T
+(The)84118 325606 w
+(\027)100480 v
+(.in)104451 v
+(\030)114525 v
+(,)117596 v
+(\027)121821 v
+(.ti)125792 v
+(\030)133844 v
+(, and)2279 1 136915 u
+(\027)156815 v
+(.ll)160786 v
+(\030 r)2279 1 168310 u
+(e)177154 v
+(quests should only b)2279 1 181193 u
+(e use)2279 1 255974 u
+(d to set indenting and line)2279 1 274462 u
+9 s
+0 T
+(length for an entir)2390 1 75118 337606 t
+(e paragraph)2390 1 142876 u
+( the)2389(. If)2390 2 187188 u
+(y ar)2389 1 211056 u
+(e use)2389 1 225469 u
+(d within a paragraph)2389 1 244256 u
+(, br)2389 1 322154 u
+(eakp)334236 v
+(oints)351714 v
+(must b)2493 1 75118 349606 t
+(e r)2494 1 100381 u
+(e)110174 v
+(compute)114260 v
+(d)146138 v
+(, and pr)2494 1 150872 u
+(e)179332 v
+(vious br)2494 1 183292 u
+(eakp)213236 v
+(oints ar)2494 1 230714 u
+(e sub)2494 1 258804 u
+(optimal)278137 v
+(. Do)2494 1 306406 u
+(cuments that)2494 1 321788 u
+(use such metho)2466 1 75118 361606 t
+(ds e)2466 1 132763 u
+(.g)147406 v
+(. for inline pictur)2466 1 154066 u
+(es should b)2466 1 217012 u
+(e adapte)2466 1 258601 u
+(d to achie)2466 1 289471 u
+(v)325543 v
+(e optimum)2465 1 329944 u
+(r)75118 373606 w
+(esults with paragraph\001at\001once adjustment)2997 1 78394 u
+(.)234607 v
+9 @11 0.996 h
+-13 T
+(Since p)2257 1 84118 385606 t
+(ositions on the output line ar)2257 1 110488 u
+(e not compute)2257 1 216423 u
+( entir)2258(d until the)2257 2 268753 u
+(e parag)2258 1 326169 u
+(raph)353014 v
+9 @11 0.992 h
+-36 T
+(has b)2295 1 75118 397606 t
+(e)94124 v
+(en colle)2295 1 98141 u
+(cte)126097 v
+(d)136684 v
+(, the)2295 1 141345 u
+(\027)159369 v
+(.k)163319 v
+(\030 and)2294 1 170682 u
+(\027)191909 v
+(.x)195859 v
+(\030 numb)2293 1 203025 u
+(er r)2294 1 229608 u
+(eg)242354 v
+(isters cannot contain meaning)2294 1 250735 u
+(ful)360088 v
+9 @11 0.994 h
+-22 T
+( paragraph\001at\001once adjustment mo)4223(values in)4222 2 75118 409606 t
+(de)241715 v
+(. Macr)4223 1 250285 u
+(os that test)4223 1 275042 u
+(\027)323177 v
+(.k)327148 v
+(\030 only to)4223 1 334552 u
+9 s
+0 T
+(determine if ther)2416 1 75118 421606 t
+(e is te)2415 1 137406 u
+(xt pr)2415 1 159012 u
+(esent will w)2415 1 176628 u
+(ork)221301 v
+(, though)2415 1 233973 u
+(, since it is ensur)2415 1 264891 u
+(e)326931 v
+(d that)2415 1 331017 u
+(\027)355044 v
+(.k)359058 v
+(\030)366546 v
+(is ne)2997 1 75118 433606 t
+(v)92902 v
+(er zer)2997 1 97303 u
+(o in this case)2997 1 118786 u
+(.)168853 v
+(The numb)3402 1 84118 445606 t
+(er of the curr)3402 1 123052 u
+( the)3403(ent page in)3402 2 174919 u
+(\027)236607 v
+(%)240882 v
+(\030 r)3403 1 247515 u
+(egister can b)3403 1 257569 u
+(e lo)3403 1 306432 u
+(w)320707 v
+(er than the)3403 1 327358 u
+(numb)75118 457606 w
+(er of the page on which the curr)2476 1 96412 u
+( w)2475(ent input)2476 2 216533 u
+(or)259491 v
+(d will actually b)2475 1 267303 u
+(e printe)2475 1 326811 u
+(d in)2475 1 355575 u
+( mo)3243(paragraph\001at\001once adjustment)3242 2 75118 469606 t
+(de)202464 v
+(. Thus e)3243 1 211131 u
+(.g)242214 v
+(. to pr)3243 1 248874 u
+(epar)272667 v
+(e w)3243 1 288750 u
+(or)302667 v
+(ds for inde)3243 1 310479 u
+(xing)351534 v
+(,)367941 v
+(it is not p)2883 1 75118 481606 t
+(ossible to asso)2883 1 111991 u
+( page numb)2882(ciate them with)2883 2 165700 u
+(ers when the input is r)2882 1 268769 u
+(ead)355071 v
+(.)367941 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 8
+%%Page: 5 9
+save
+mark
+9 pagesetup
+10 @11 f
+&11@9
+(\112)338741 517133 w
+ [ /Label (5) /PAGELABEL pdfmark
+&11
+(Harmony)60469 73606 w
+(, lib)3672 1 99179 u
+(eral inter)3673 1 115431 u
+(course with all nations)3673 1 153904 u
+(, ar)3673 1 250633 u
+(e r)3673 1 264716 u
+(e)276499 v
+(commende)281039 v
+(d)325649 v
+(by p)3659 1 60469 85606 t
+(olicy)79468 v
+(, humanity)3659 1 98898 u
+(, and inter)3659 1 143967 u
+(est)187935 v
+(. But e)3659 1 199665 u
+(v)227933 v
+(en our commer)3659 1 232823 u
+(cial p)3658 1 297331 u
+(ol\001)320449 v
+(icy should hold an e)4934 1 60469 97606 t
+( impartial hand)4935(qual and)4934 2 152325 u
+(; neither se)4935 1 257989 u
+(eking)307989 v
+(nor granting e)3487 1 60469 109606 t
+(xclusiv)121023 v
+(e fav)3486 1 149653 u
+(ors or pr)3486 1 170169 u
+(efer)207391 v
+(ences)223071 v
+(; consulting the nat\001)3486 1 246271 u
+(ural course of things)6936 1 60469 121606 t
+(; di\005using and div)6936 1 158607 u
+(ersifying by gentle)6937 1 245415 u
+(means the str)3879 1 60469 133606 t
+(eams of commer)3879 1 118197 u
+(ce)188165 v
+(, but for)3879 1 197015 u
+(cing nothing)3878 1 232153 u
+(; establish\001)3878 1 286231 u
+(ing with p)4093 1 60469 145606 t
+(o)105765 v
+(w)110735 v
+(ers so disp)4093 1 118125 u
+(ose)164271 v
+(d)177751 v
+(, in or)4093 1 183011 u
+(der to giv)4093 1 210207 u
+(e to trade a stable)4094 1 252443 u
+(course)60469 157606 w
+(, to de\003ne the rights of our mer)3730 1 87289 u
+(chants)223919 v
+(, and to enable the)3730 1 250829 u
+9 @12 f
+(Standar)48188 181606 w
+(d adjustment se)2997 1 75989 u
+&12@8
+(\124)132986 v
+&12
+(ings)138440 v
+10 @11 f
+(Harmony)60469 217606 w
+(, lib)3672 1 99179 u
+(eral inter)3673 1 115431 u
+(course with all nations)3673 1 153904 u
+(, ar)3673 1 250633 u
+(e r)3673 1 264716 u
+(e)276499 v
+(commende)281039 v
+(d)325649 v
+(by p)3358 1 60469 229606 t
+(olicy)79167 v
+(, humanity)3358 1 98597 u
+(, and inter)3358 1 143365 u
+(est)186731 v
+(. But e)3358 1 198461 u
+(v)226127 v
+( commer)3357(en our)3358 2 231017 u
+(cial p)3357 1 294922 u
+(oli\001)317739 v
+(cy should hold an e)3294 1 60469 241606 t
+(qual and impartial hand)3294 1 143055 u
+(; neither se)3294 1 243797 u
+(eking nor)3294 1 290515 u
+(granting e)4059 1 60469 253606 t
+(xclusiv)103928 v
+(e fav)4059 1 132558 u
+(ors or pr)4059 1 153647 u
+(efer)192015 v
+(ences)207695 v
+(; consulting the natural)4058 1 230895 u
+(course of things)3606 1 60469 265606 t
+( and div)3607(; di\005using)3606 2 128771 u
+(ersifying by gentle means the)3607 1 205591 u
+(str)60469 277606 w
+(eams of commer)5862 1 71169 u
+(ce)145103 v
+( for)5861(, but)5862 2 153953 u
+(cing nothing)5861 1 193056 u
+(; establishing with)5861 1 249117 u
+(p)60469 289606 w
+(o)65729 v
+(wers so disp)3645 1 70699 u
+(ose)123419 v
+(d)136899 v
+(, in or)3646 1 142159 u
+(der to giv)3646 1 168461 u
+(e to trade a stable course)3646 1 209803 u
+(, to)3646 1 316743 u
+(de\003ne the rights of our mer)2883 1 60469 301606 t
+(chants)175004 v
+(, and to enable the go)2883 1 201914 u
+(vernment)291259 v
+9 @12 f
+(Allo)48188 325606 w
+(w w)2997 1 62939 u
+(or)78248 v
+(d spaces to b)2997 1 85412 u
+(e shrunk to)2997 1 132221 u
+&12@8
+(\354\104)176393 v
+&12
+(%)185741 v
+10 @11 f
+(Harmony)60469 361606 w
+(, lib)4675 1 99179 u
+(eral inter)4675 1 116434 u
+(course with all nations)4676 1 155909 u
+(, ar)4676 1 255647 u
+(e r)4676 1 270733 u
+(e)283519 v
+(commend\001)288059 v
+(e)60469 373606 w
+(d by p)4317 1 65009 u
+(olicy)94043 v
+(, humanity)4317 1 113473 u
+(, and inter)4317 1 159200 u
+(est)204484 v
+( e)4316(. But)4317 2 216214 u
+(v)245797 v
+(en our commer)4316 1 250687 u
+(cial)316509 v
+(p)60469 385606 w
+( e)3497(olicy should hold an)3496 2 65729 u
+(qual and impartial hand)3497 1 159514 u
+(; neither se)3497 1 260865 u
+(eking)307989 v
+(nor granting e)3487 1 60469 397606 t
+(xclusiv)121023 v
+(e fav)3486 1 149653 u
+(ors or pr)3486 1 170169 u
+(efer)207391 v
+(ences)223071 v
+(; consulting the nat\001)3486 1 246271 u
+( things)3248(ural course of)3247 2 60469 409606 t
+(; di\005using and div)3248 1 147541 u
+(ersifying by gentle means)3248 1 223285 u
+(the str)3503 1 60469 421606 t
+(eams of commer)3503 1 87682 u
+(ce)156898 v
+( for)3502(, but)3503 2 165748 u
+(cing nothing)3502 1 200133 u
+(; establishing with)3502 1 253835 u
+(p)60469 433606 w
+(o)65729 v
+(w)70699 v
+(ers so disp)3645 1 78089 u
+(ose)123339 v
+(d)136819 v
+(, in or)3646 1 142079 u
+(der to giv)3646 1 168381 u
+(e to trade a stable course)3646 1 209723 u
+(, to)3646 1 316663 u
+(de\003ne the rights of our mer)2883 1 60469 445606 t
+(chants)175004 v
+(, and to enable the go)2883 1 201914 u
+(v)291259 v
+(ernment)296149 v
+9 @12 f
+(A)48188 469606 w
+(djust paragraph\001at\001once and allo)2997 1 54083 u
+(w w)2997 1 173234 u
+(or)188543 v
+(d spaces to b)2997 1 195707 u
+(e shrunk to)2997 1 242516 u
+&12@8
+(\354\104)286688 v
+&12
+(%)296036 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 5 9
+%%Page: 6 10
+save
+mark
+10 pagesetup
+10 @11 f
+&11@9
+(\113)75118 517133 w
+ [ /Label (6) /PAGELABEL pdfmark
+9 @12 f
+-4 T
+(Output\001line traps)2241 1 75118 73606 t
+&11
+-4 T
+(hav)138927 v
+(e b)2241 1 152271 u
+(e)163054 v
+(en intr)2241 1 167136 u
+(o)191691 v
+(duce)196286 v
+(d to addr)2241 1 213541 u
+(ess this issue)2241 1 246426 u
+(: A)2241 1 294393 u
+(\027)307246 v
+(\022P[x)311517 v
+(x])326657 v
+( input)2242(\030 in)2241 2 335163 u
+0 T
+(is passe)2889 1 75118 85606 t
+(d thr)2889 1 103846 u
+(ough all forma)2889 1 122251 u
+&11@9
+(\137)177448 v
+&11
+(ing and div)2889 1 182974 u
+(ersion pr)2889 1 225508 u
+(o)259078 v
+( w)2888(cessing along with the)2889 2 263677 u
+(or)357555 v
+(d)365367 v
+(it has b)2968 1 75118 97606 t
+(e)103329 v
+(en a)2968 1 107415 u
+&11@9
+(\137)123397 v
+&11
+(ache)128923 v
+(d to)2968 1 145816 u
+( line containing it has b)2969(. When the)2968 2 160808 u
+(e)292928 v
+(en actually printe)2969 1 297014 u
+(d)363207 v
+(,)367941 v
+9 @11 0.999 h
+-9 T
+(the macr)2258 1 75118 109606 t
+(o)107339 v
+(\027)114119 v
+(x)118381 v
+(x)122867 v
+(\030 is e)2258 1 128163 u
+(xe)145911 v
+(cute)154379 v
+(d)169887 v
+(. The b)2258 1 174607 u
+( to a page trap)2257(ehavior is then similar)2258 2 199800 u
+(. Multiple)2257 1 334697 u
+9 s
+0 T
+(output\001line traps may o)2997 1 75118 121606 t
+(ccur on a single line)2997 1 164263 u
+(.)241141 v
+(An inde)2859 1 84118 133606 t
+(x macr)2859 1 113941 u
+(o can use this me)2859 1 139561 u
+(chanism to defer the pr)2859 1 205519 u
+(o)293473 v
+( an inde)2860(cessing of)2859 2 298072 u
+(x)365511 v
+(term until a)2997 1 75118 145606 t
+&11@9
+(\134)119866 v
+&11
+(er the p)2997 1 125230 u
+(osition of the w)2997 1 155038 u
+(or)214897 v
+(d it r)2997 1 222709 u
+(efers to has b)2997 1 241816 u
+(e)292873 v
+(en determine)2997 1 296959 u
+(d)346162 v
+(:)351310 v
+7.2 @21 f
+-79 T
+(.nr IXcount 0 1)2918 1 93118 169606 t
+(.de IX)2918 1 93118 181606 t
+(.)93118 193606 w
+(de IX\001\015\015n+[IXcount])2918 1 129118 u
+(.)93118 205606 w
+(write index)2918 1 129118 u
+(\015\015\015\015n%)180244 v
+(\015\015$1)210336 v
+(\015\015..)93118 217606 w
+(\015\015P[IX\001\015\015n[IXcount]]\015c)93118 229606 w
+(..)93118 241606 w
+(An)93118 253606 w
+(.IX)93118 265606 w
+(\016index term\016)2918 1 109623 u
+(index term is contained in this sample text.)2918 1 93118 277606 t
+9 @11 f
+-31 T
+(T)75118 301606 w
+(h)80422 v
+(i)85199 v
+(s e)4113 1 87589 u
+(x)99081 v
+(a)103429 v
+(m)107482 v
+(p)114511 v
+(l)119118 v
+(e m)4109 1 121446 u
+(a)136576 v
+(c)140629 v
+(r)144423 v
+(o t)4106 1 147644 u
+(a)159048 v
+(k)163101 v
+(e)167645 v
+(s t)4113 1 171608 u
+(h)181993 v
+(e i)4109 1 186770 u
+(n)197261 v
+(d)202073 v
+(e)206564 v
+(x t)4107 1 210464 u
+(e)221743 v
+(r)225706 v
+(m a)4088 1 228999 u
+( s)4110(s a)4114 2 244219 u
+(i)263458 v
+(n)265848 v
+(g)270660 v
+(l)275097 v
+(e a)4110 1 277425 u
+(r)289580 v
+(g)292873 v
+(u)297310 v
+(m)302024 v
+(e)309053 v
+(n)313016 v
+(t)317828 v
+(. I)4125 1 320801 u
+(t c)4119 1 329498 u
+(r)340224 v
+(e)343445 v
+(a)347408 v
+(t)351461 v
+(e)354254 v
+(s a)4114 1 358217 u
+0 T
+(separate macr)3077 1 75118 313606 t
+( inv)3076(o on each)3077 2 127191 u
+(o)178919 v
+(cation and pr)3076 1 183518 u
+(ep)233824 v
+(ends an output\001line trap calling it)3076 1 242581 u
+( follo)2718(to the)2717 2 75118 325606 t
+(wing w)2718 1 116193 u
+(or)144102 v
+(d)151914 v
+(. The cr)2718 1 156648 u
+(eate)185430 v
+(d macr)2718 1 200496 u
+(o then prints the curr)2718 1 226119 u
+(ent page numb)2718 1 306768 u
+(er)362550 v
+9 @11 0.998 h
+-9 T
+(\()75118 337606 w
+(pr)78379 v
+(o)86291 v
+(cesse)90871 v
+(d in this macr)4169 1 109765 u
+(o)165937 v
+(, thus pr)4169 1 170544 u
+(e)204666 v
+(ce)208734 v
+(de)216637 v
+( the inde)4168(d by four backslashes\) and)4169 2 225240 u
+(x)365482 v
+( \()4187(term argument)4186 2 75118 349606 t
+(pr)139452 v
+(o)147364 v
+(cesse)151944 v
+(d in the surr)4187 1 170838 u
+(ounding macr)4187 1 221720 u
+(o)274620 v
+(, thus pr)4187 1 279227 u
+(e)313385 v
+(ce)317453 v
+(de)325356 v
+(d by tw)4187 1 333959 u
+(o)365360 v
+9 s
+0 T
+(backslashes\))75118 361606 w
+(.)120874 v
+[ /Dest /Bookmark$4
+ /View [/XYZ -4 221.394 0]
+/DEST pdfmark
+&12
+(Micr)75118 385606 w
+(otyp)91480 v
+(ography)107257 v
+9 @11 0.996 h
+-18 T
+(T)75118 409606 w
+(o further enlarg)2270 1 79884 u
+(e the rang)2270 1 137695 u
+( adjustment while r)2271(e available for)2270 2 174526 u
+(e)296834 v
+( amount)2271(ducing the)2270 2 300885 u
+9 s
+0 T
+(by which inter)2903 1 75118 421606 t
+(w)130361 v
+(or)137012 v
+(d spaces ar)2903 1 144824 u
+(e a\005e)2903 1 186252 u
+(cte)206615 v
+(d)217397 v
+(,)222131 v
+&12
+(tr)227014 v
+(o\005)232918 v
+&11
+(also allo)2902 1 244955 u
+(ws to var)2902 1 275730 u
+(y the size of in\001)2902 1 311216 u
+(terle)75118 433606 w
+&11@9
+(\137)91732 v
+&11
+( and the shap)2607(er spaces)2606 2 97258 u
+(e of glyphs with the)2607 1 181188 u
+(\027)258663 v
+(.letadj)262677 v
+(\030 r)2607 1 285915 u
+(e)295173 v
+(quest)299259 v
+(. This pr)2607 1 319122 u
+(o)350427 v
+(cess)355026 v
+(is calle)2997 1 75118 445606 t
+(d)100867 v
+(\027)108418 v
+(micr)112693 v
+(otyp)129370 v
+(ography)146119 v
+(\030)177664 v
+(.)180778 v
+9 @11 0.991 h
+-40 T
+(Micr)84118 457606 w
+(otyp)100920 v
+(ography must b)4231 1 117357 u
+(e applie)4232 1 178268 u
+(d with car)4232 1 208357 u
+(e)248846 v
+(. While the e)4232 1 252882 u
+(y)304701 v
+(e is accustome)4232 1 309182 u
+(d)365377 v
+9 s
+0 T
+(to var)3398 1 75118 469606 t
+(ying inter)3398 1 97965 u
+(w)135482 v
+(or)142133 v
+( leav)3397(d spaces which)3398 2 149945 u
+(e the individual w)3397 1 225982 u
+(or)295600 v
+(ds intact)3397 1 303412 u
+(, var)3397 1 336023 u
+(ying)353469 v
+(interle)75118 481606 w
+&11@9
+(\137)99049 v
+&11
+(er spaces and le)2728 1 104575 u
+&11@9
+(\137)163753 v
+&11
+(er shap)2728 1 169279 u
+(es distort the typ)2728 1 196577 u
+(eface as so)2729 1 260291 u
+(on as the)2729 1 300282 u
+(y b)2729 1 334423 u
+(e)346314 v
+(come)350400 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 6 10
+%%Page: 7 11
+save
+mark
+11 pagesetup
+10 @11 f
+&11@9
+(\114)338611 517133 w
+ [ /Label (7) /PAGELABEL pdfmark
+9 @11 f
+(noticable)48188 73606 w
+(. This is b)2941 1 81776 u
+(est demonstrate)2941 1 119219 u
+( an e)2942(d by using them as)2941 2 178383 u
+(xclusiv)269156 v
+(e adjustment)2942 1 294923 u
+(me)48188 85606 w
+(chanism)59384 v
+(:)90722 v
+10 s
+230 T
+(Harmony)133069 121606 w
+(, lib)3240 1 173389 u
+(eral inter)3240 1 190129 u
+(course)230239 v
+475 T
+(with all nations)3066 1 133069 133606 t
+(, ar)3066 1 204841 u
+(e r)3067 1 219742 u
+(e)231869 v
+(com\001)236884 v
+500 T
+(mende)133069 145606 w
+(d by p)3750 1 162959 u
+(olicy)192859 v
+(, humani\001)3750 1 214789 u
+105 T
+(ty)133069 157606 w
+(, and inter)3284 1 141199 u
+(est)185362 v
+(. But e)3284 1 197407 u
+(v)225450 v
+(en our)3284 1 230445 u
+-120 T
+(commer)133069 169606 w
+(cial p)3360 1 165579 u
+(olicy should hold)3360 1 187799 u
+190 T
+(an e)3230 1 133069 181606 t
+(qual and impartial hand)3230 1 151399 u
+(;)255749 v
+500 T
+(neither se)4973 1 133069 193606 t
+( grant\001)4974(eking nor)4973 2 180312 u
+375 T
+(ing e)3112 1 133069 205606 t
+(xclusiv)155211 v
+(e fav)3112 1 186466 u
+(ors or pr)3113 1 208108 u
+(ef\001)247209 v
+190 T
+(er)133069 217606 w
+(ences)141559 v
+(; consulting the natu\001)3230 1 165709 u
+500 T
+(ral course of things)3445 1 133069 229606 t
+(; di\005us\001)3445 1 223924 u
+345 T
+( div)3134(ing and)3133 2 133069 241606 t
+(ersifying by gen\001)3134 1 183281 u
+-30 T
+(tle means the str)3342 1 133069 253606 t
+(eams of com\001)3342 1 202915 u
+&12
+0 T
+(A)54979 133606 w
+(djusting by let\001)3330 1 61529 u
+(ter spacing only)3330 1 58539 145606 t
+(\()55359 157606 w
+(.letadj)58619 v
+&12@8
+(\112\107)86219 v
+(\102\101\101)98549 v
+(\102\103)115429 v
+(\102\102\101)91439 169606 w
+(\102\101\101)106389 v
+&12
+(\))119939 v
+10 @11 1.049 h
+(Harmony)133069 289606 w
+(, lib)3342 1 173691 u
+(eral inter)3343 1 190222 u
+(course)230070 v
+10 @11 1.096 h
+(with all nations)3337 1 133069 301606 t
+(, ar)3337 1 204371 u
+(e r)3336 1 219124 u
+(e)231356 v
+(com\001)236325 v
+10 @11 1.112 h
+(mende)133069 313606 w
+( p)3355(d by)3354 2 163516 u
+(olicy)192900 v
+(, humani\001)3355 1 214547 u
+10 @11 1.021 h
+(ty)133069 325606 w
+(, and inter)3341 1 141163 u
+(est)185261 v
+(. But e)3341 1 197231 u
+(v)225302 v
+(en our)3340 1 230296 u
+10 @11 0.976 h
+(commer)133069 337606 w
+(cial p)3303 1 165497 u
+(olicy should hold)3304 1 187792 u
+10 @11 1.037 h
+(an e)3333 1 133069 349606 t
+( hand)3332(qual and impartial)3333 2 151466 u
+(;)255655 v
+10 @11 1.159 h
+(neither se)3348 1 133069 361606 t
+(eking nor grant\001)3348 1 180176 u
+10 @11 1.077 h
+(ing e)3348 1 133069 373606 t
+(xclusiv)155301 v
+(e fav)3347 1 186138 u
+(ors or pr)3347 1 207830 u
+(ef\001)247107 v
+10 @11 1.04 h
+(er)133069 385606 w
+(ences)141505 v
+( natu\001)3336( the)3335(; consulting)3336 3 165603 u
+10 @11 1.119 h
+(ral course of thing)3348 1 133069 397606 t
+(s)218591 v
+(; di\005us\001)3348 1 223615 u
+10 @11 1.067 h
+(ing and div)3351 1 133069 409606 t
+( gen\001)3352(ersifying by)3351 2 183350 u
+10 @11 0.995 h
+( the str)3314(tle means)3313 2 133069 421606 t
+(eams of com\001)3314 1 202942 u
+&12
+(A)71379 301606 w
+(djusting by)3330 1 77929 u
+(glyph r)3330 1 58519 313606 t
+(eshaping)87879 v
+(only \()3330 1 57989 325606 t
+(.letadj)81919 v
+&12@8
+(\102\101\101)109519 v
+(\112\107)79109 337606 w
+(\102\101\101)91439 v
+(\102\102\101)108319 v
+&12
+(\))119939 v
+9 @11 f
+(In combination with adjustment of inter)2576 1 48188 457606 t
+(w)197625 v
+(or)204276 v
+(d spaces)2576 1 212088 u
+( if applie)2577(, and)2576 2 243077 u
+(d with rather)2577 1 293917 u
+9 @11 0.99 h
+-40 T
+(strict limits)2305 1 48188 469606 t
+(, micr)2305 1 89345 u
+(otyp)109917 v
+( hav)2304(ography can)2305 2 126337 u
+(e p)2304 1 186694 u
+(ositiv)197587 v
+(e e\005e)2304 1 217310 u
+(cts)236648 v
+(, though)2304 1 246810 u
+(. This is esp)2304 1 277051 u
+(e)319554 v
+(cially)323559 v
+9 s
+0 T
+(true when lines ar)2784 1 48188 481606 t
+(e short)2784 1 116615 u
+(; the sample te)2784 1 143096 u
+(xt use)2784 1 197888 u
+(d so far can b)2784 1 220301 u
+(e forma)2785 1 271658 u
+&11@9
+(\137)300363 v
+&11
+(e)305889 v
+(d accept\001)2785 1 309975 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 7 11
+%%Page: 8 12
+save
+mark
+12 pagesetup
+10 @11 f
+&11@10
+(\017)75118 517133 w
+ [ /Label (8) /PAGELABEL pdfmark
+9 @11 f
+( if shrinking of inter)3049(ably only)3048 2 75118 73606 t
+(w)188012 v
+(or)194663 v
+(d spaces)3049 1 202475 u
+(, paragraph\001at\001once adjustment)3049 1 233937 u
+(, and)3049 1 351347 u
+(micr)75118 85606 w
+(otyp)91795 v
+(ography ar)2997 1 108544 u
+(e all combine)2997 1 149575 u
+(d)199795 v
+(:)204943 v
+10 s
+105 T
+(Harmony)159999 121606 w
+(, lib)4802 1 199444 u
+(eral inter)4803 1 217246 u
+(course)257794 v
+220 T
+(with all nations)4533 1 159999 133606 t
+(, ar)4532 1 231135 u
+(e r)4532 1 246737 u
+(e)259819 v
+(com\001)264579 v
+0 T
+(mende)159999 145606 w
+( p)4737(d by)4736 2 187389 u
+(olicy)217262 v
+(, humanity)4737 1 236692 u
+(,)282839 v
+-145 T
+(and inter)2577 1 159999 157606 t
+(est)195866 v
+(. But e)2577 1 207161 u
+(v)232540 v
+(en our com\001)2577 1 237285 u
+0 T
+(mer)159999 169606 w
+(cial p)3577 1 176009 u
+( hold an)3578(olicy should)3577 2 199046 u
+(e)159999 181606 w
+(qual and impartial hand)3025 1 164539 u
+(; nei\001)3025 1 264474 u
+(ther se)4022 1 159999 193606 t
+( granting e)4023(eking nor)4022 2 189191 u
+(x\001)277559 v
+10 @11 0.993 h
+-30 T
+(clusiv)159999 205606 w
+(e fav)4785 1 183380 u
+(ors or pr)4784 1 204954 u
+(efer)244344 v
+(ences)259791 v
+(;)282681 v
+10 @11 0.995 h
+-25 T
+( natural course)4742(consulting the)4741 2 159999 217606 t
+10 s
+0 T
+(of things)3475 1 159999 229606 t
+(; di\005using and div)3475 1 197844 u
+(er\001)274269 v
+205 T
+( means the)4508(sifying by gentle)4507 2 159999 241606 t
+-40 T
+(str)159999 253606 w
+(eams of commer)2510 1 170579 u
+(ce)237329 v
+(, but for)2510 1 246099 u
+(c\001)278219 v
+&12
+0 T
+(Paragraph\001at\001)93849 133606 w
+(once adjustment)3330 1 82489 145606 t
+(,)147809 v
+(w)97139 157606 w
+(or)103939 v
+(d spacing)3330 1 111899 u
+&12@8
+(\110\106)96637 169606 w
+&12
+(% to)3330 1 106553 u
+&12@8
+(\102\106\101)127123 v
+&12
+(%)141239 v
+(,)147809 v
+(le)96479 181606 w
+&12@8
+(\124)103149 v
+&12
+(er spacing)3330 1 109209 u
+&12@8
+(\112\106)83367 193606 w
+&12
+(% to)3330 1 93573 u
+&12@8
+(\102\101\106)114143 v
+&12
+(%)128259 v
+(, no)3330 1 134829 u
+(glyph r)3330 1 85449 205606 t
+(eshaping)114809 v
+(\()93719 217606 w
+(.letadj)96979 v
+&12@8
+(\112\106)124579 v
+(\102\101\101)136449 v
+(\102\354)106539 229606 w
+(\102\101\106)117539 v
+(\102\101\101)133319 v
+&12
+(\))146869 v
+10 @11 1.012 h
+50 T
+(Harmony)159999 289606 w
+(, lib)4811 1 199524 u
+(eral inter)4811 1 217263 u
+(course)257737 v
+10 @11 1.02 h
+135 T
+(with all nations)4509 1 159999 301606 t
+(, ar)4508 1 231066 u
+(e r)4508 1 246598 u
+(e)259649 v
+(com)264413 v
+(\001)282380 v
+10 s
+0 T
+(mende)159999 313606 w
+( p)4737(d by)4736 2 187389 u
+(olicy)217262 v
+(, humanity)4737 1 236692 u
+(,)282839 v
+10 @11 0.984 h
+-75 T
+(and inter)2600 1 159999 325606 t
+(est)195893 v
+(. But e)2600 1 207212 u
+(v)232648 v
+(en our com\001)2600 1 237383 u
+10 s
+0 T
+(mer)159999 337606 w
+(cial p)3577 1 176009 u
+( hold an)3578(olicy should)3577 2 199046 u
+(e)159999 349606 w
+(qual and impartial hand)3025 1 164539 u
+(; nei\001)3025 1 264474 u
+(ther se)4022 1 159999 361606 t
+( granting e)4023(eking nor)4022 2 189191 u
+(x\001)277559 v
+10 @11 0.993 h
+-30 T
+(clusiv)159999 373606 w
+(e fav)4785 1 183380 u
+(ors or pr)4784 1 204954 u
+(efer)244344 v
+(ences)259791 v
+(;)282681 v
+10 @11 0.98 h
+-120 T
+( course of)2636(consulting the natural)2635 2 159999 385606 t
+10 @11 0.999 h
+-5 T
+(things)159999 397606 w
+( and div)2478(; di\005using)2477 2 186171 u
+(ersify\001)259456 v
+10 @11 0.98 h
+-210 T
+(ing by gentle means the str)2699 1 159999 409606 t
+(eams)265236 v
+10 @11 0.993 h
+-35 T
+(of commer)2537 1 159999 421606 t
+(ce)203331 v
+(, but for)2537 1 212049 u
+(cing noth\001)2535 1 244061 u
+&12
+0 T
+(Paragraph\001at\001once)76299 301606 w
+(adjustment)80389 313606 w
+(, w)3330 1 124829 u
+(or)137149 v
+(d)145109 v
+(spacing)89633 325606 w
+&12@8
+(\110\106)122843 v
+&12
+(% to)3330 1 132759 u
+&12@8
+(\102\106\101)79653 337606 w
+&12
+(%)93769 v
+(, le)3330 1 100339 u
+&12@8
+(\124)112529 v
+&12
+(er spac\001)3330 1 118589 u
+(ing)80307 349606 w
+&12@8
+(\112\106)96347 v
+&12
+(% to)3330 1 106553 u
+&12@8
+(\102\101\106)127123 v
+&12
+(%)141239 v
+(,)147809 v
+(glyph r)3330 1 94829 361606 t
+(eshap\001)124189 v
+(ing)81967 373606 w
+&12@8
+(\112\354)98007 v
+&12
+(% to)3330 1 108593 u
+&12@8
+(\102\101\103)129163 v
+&12
+(%)143629 v
+(\()98349 385606 w
+(.letadj)101609 v
+&12@8
+(\112\106)129209 v
+(\112\354)141079 v
+(\102\354)107289 397606 w
+(\102\101\106)118289 v
+(\102\101\103)134069 v
+&12
+(\))146869 v
+9 @11 f
+(For lay)3644 1 75118 457606 t
+(outs with longer lines than in this e)3644 1 102063 u
+(xample)242564 v
+(, b)3644 1 269357 u
+(est r)3644 1 279508 u
+(esults ar)3645 1 296805 u
+(e normally)3645 1 328881 u
+(achie)75118 469606 w
+(v)94324 v
+(e)98725 v
+(d with e)2997 1 102811 u
+(v)134167 v
+(en smaller ranges for le)2997 1 138568 u
+&11@9
+(\137)227758 v
+&11
+(er spacing and glyph r)2997 1 233284 u
+(eshaping)318451 v
+(.)351607 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 8 12
+%%Page: 9 13
+save
+mark
+13 pagesetup
+10 @11 f
+&11@9
+(\116)338301 517133 w
+ [ /Label (9) /PAGELABEL pdfmark
+[ /Dest /Bookmark$5
+ /View [/XYZ -4 537.394 0]
+/DEST pdfmark
+9 @12 f
+(Penalties for line br)2997 1 48188 73606 t
+(eaks and hyphenation)2997 1 119396 u
+&11
+(It is p)2522 1 57188 97606 t
+(ossible to tell)2522 1 78432 u
+&12
+(tr)129828 v
+(o\005)135732 v
+&11
+(that a line br)2522 1 147389 u
+(eak a)2522 1 195140 u
+&11@9
+(\134)214519 v
+&11
+(er a certain w)2523 1 219883 u
+(or)271084 v
+(d \()2523 1 278896 u
+(or hyphenate)2523 1 289096 u
+(d)338437 v
+(w)48188 109606 w
+(or)54839 v
+(d part\) is pr)2690 1 62651 u
+(eferr)106829 v
+(e)124289 v
+(d or discourage)2690 1 128375 u
+(d by writing)2690 1 185910 u
+(\027)234776 v
+(\022j)239051 v
+&12
+(\033N\033)244082 v
+&11
+(\030)255800 v
+(. A p)2689 1 258914 u
+(ositiv)277261 v
+(e)297430 v
+&12
+(N)304142 v
+&11
+(makes a)2689 1 312825 u
+(br)48188 121606 w
+(eakp)55901 v
+(oint less likely)2997 1 73379 u
+(, a negativ)2997 1 127595 u
+(e)166880 v
+&12
+(N)173900 v
+&11
+(makes it mor)2997 1 182891 u
+(e likely)2997 1 232454 u
+(.)259580 v
+(By default)2579 1 57188 133606 t
+(,)95353 v
+&12
+(tr)99912 v
+(o\005)105816 v
+&11
+(hyphenates w)2579 1 117530 u
+(or)169141 v
+(ds whene)2580 1 176953 u
+(v)212023 v
+(er ne)2580 1 216424 u
+(cessar)235339 v
+(y in paragraph\001at\001once)2580 1 257830 u
+(mo)48188 145606 w
+(de to minimize the adjustment)2885 1 59897 u
+(. T)2885 1 174640 u
+(o r)2885 1 184311 u
+(e)195008 v
+(duce the numb)2885 1 199094 u
+( hyphenations)2884(er of)2885 2 255075 u
+(,)325932 v
+&12
+(hy\001)330796 v
+(phenation p)3057 1 48188 157606 t
+(enalties)91358 v
+&11
+(can b)3057 1 121487 u
+(e con\003gur)3057 1 141914 u
+(e)179855 v
+(d)183941 v
+(. Then whene)3057 1 188675 u
+(v)240311 v
+(er a br)3057 1 244712 u
+(eakp)270023 v
+(oint inv)3058 1 287501 u
+(olv)316974 v
+(es a)3058 1 328287 u
+(hyphenation)48188 169606 w
+(, it is tr)2673 1 95069 u
+(eate)122420 v
+(d as less optimal)2673 1 137486 u
+(, and another br)2673 1 199370 u
+(eakp)259211 v
+(oint that do)2673 1 276689 u
+(es not)2672 1 320528 u
+9 @11 0.998 h
+-4 T
+(r)48188 181606 w
+(e)51453 v
+(quir)55526 v
+(e a hyphenate)2236 1 70499 u
+(d w)2236 1 121896 u
+(or)135305 v
+( b)2237(d may)2236 2 143092 u
+(e pr)2237 1 172431 u
+(eferr)186600 v
+(e)204002 v
+(d e)2237 1 208075 u
+(v)218799 v
+(en though mor)2237 1 223187 u
+(e adjustment may)2237 1 277677 u
+9 s
+0 T
+(b)48188 193606 w
+(e)52715 v
+(come ne)2997 1 56801 u
+(cessar)88283 v
+(y)110774 v
+(.)115058 v
+(A)57188 205606 w
+(dditional p)2882 1 63335 u
+(enalties can b)2882 1 103684 u
+(e con\003gur)2882 1 155024 u
+(e)192790 v
+(d for br)2883 1 196876 u
+(eakp)225583 v
+(oints that inv)2883 1 243061 u
+(olv)293395 v
+(e tw)2883 1 304708 u
+(o suc\001)2883 1 321109 u
+(cessiv)48188 217606 w
+(e hyphens)2997 1 69923 u
+(, and for hyphenating the last w)2997 1 108524 u
+(or)230573 v
+(d of a paragraph)2997 1 238385 u
+(.)301268 v
+(The)57188 229606 w
+(\027)73675 v
+(.hypp)77689 v
+(\030 r)2250 1 99172 u
+(e)108073 v
+(quest takes the single hyphen p)2250 1 112159 u
+(enalty as its)2250 1 228250 u
+(\003rst argument)2250 1 274285 u
+(, the)2250 1 327052 u
+(p)48188 241606 w
+(enalty for conse)2257 1 52922 u
+(cutiv)111841 v
+(e hyphens as se)2257 1 130156 u
+(cond)187570 v
+(, and the p)2256 1 205570 u
+(enalty for hyphenating the)2256 1 244306 u
+(last w)2997 1 48188 253606 t
+(or)70679 v
+(d as thir)2997 1 78491 u
+(d)110063 v
+(. E\005e)2997 1 114797 u
+(ctiv)134111 v
+(e p)2997 1 147647 u
+(enalties ar)2997 1 159401 u
+(e b)2997 1 197993 u
+(etw)209540 v
+(e)223058 v
+(en)227144 v
+&11@9
+(\106\105)239042 v
+&11
+(and)249941 v
+&11@9
+(\107\105\105)266483 v
+&11
+(.)280541 v
+(Hyphenation p)3040 1 57188 265606 t
+( not limit them)3041(enalties only make hyphens less likely but do)3040 2 113391 u
+(for)48188 277606 w
+(cibly)58790 v
+(. The)2385 1 76178 u
+(\027)97166 v
+(.hlm)101180 v
+(\030 r)2385 1 118388 u
+(e)127424 v
+(quest imp)2385 1 131510 u
+(oses a strict limit on the numb)2385 1 167861 u
+( conse)2384(er of)2385 2 280325 u
+(cutiv)320653 v
+(e)338968 v
+(hyphens)48188 289606 w
+( br)2803(. It causes a certain)2802 2 79769 u
+(eakp)162387 v
+(oint to b)2803 1 179865 u
+(e disable)2803 1 212075 u
+(d completely and can thus)2803 1 244416 u
+(r)48188 301606 w
+( non\001optimal adjustment)2666(esult in a)2667 2 51464 u
+(. It is r)2666 1 177798 u
+(e)202518 v
+(commende)206604 v
+(d to use it in combination)2666 1 246753 u
+(with)48188 313606 w
+(\027)68033 v
+(.spr)72047 v
+(eadwarn)85484 v
+(\030 to dete)2997 1 118136 u
+(ct such pr)2997 1 150392 u
+(oblems)188012 v
+(.)214184 v
+[ /Dest /Bookmark$6
+ /View [/XYZ -4 257.394 0]
+/DEST pdfmark
+&12
+(Paragraph shap)2997 1 48188 349606 t
+(es)105275 v
+&11
+(The standar)2237 1 57188 373606 t
+(d r)2238 1 100951 u
+(e)111019 v
+(quests for se)2238 1 115105 u
+&11@9
+(\137)160981 v
+&11
+(ing indent and line length cannot b)2238 1 166507 u
+(e use)2238 1 295720 u
+(d inside)2238 1 314356 u
+( mo)2864(a paragraph in paragraph\001at\001once adjustment)2865 2 48188 385606 t
+(de)232522 v
+(. It is p)2864 1 241189 u
+(ossible to de\003ne the)2864 1 267961 u
+(shap)48188 397606 w
+(e of an entir)3377 1 65387 u
+(e paragraph line\001by\001line with the)3377 1 113318 u
+(\027)243091 v
+(.pshap)247105 v
+(e)270955 v
+(\030 r)3378 1 275662 u
+(e)285691 v
+(quest)289777 v
+(. It takes)3378 1 309640 u
+(a list of indent and line length pairs as arguments)2961 1 48188 409606 t
+(; the)2961 1 237188 u
+( the)2960(\003rst pair applies to)2961 2 256943 u
+(\003rst line of the paragraph)3191 1 48188 421606 t
+(, the se)3191 1 146344 u
+(cond pair to the se)3191 1 174011 u
+(cond line)3192 1 245851 u
+(, and so forth)3192 1 280669 u
+(. If)3192 1 332356 u
+(the paragraph has mor)2264 1 48188 433606 t
+(e lines than pairs ar)2264 1 131795 u
+(e giv)2264 1 204247 u
+(en)221874 v
+( is use)2263(, the last pair)2264 2 230955 u
+(d for them)2263 1 301700 u
+(;)340867 v
+(it it has less lines)2810 1 48188 445606 t
+(, the e)2810 1 113284 u
+( ar)2811(xcess pairs)2810 2 136553 u
+(e discar)2811 1 186949 u
+(de)215527 v
+(d)224167 v
+(. A paragraph shap)2811 1 228901 u
+(e is applie)2811 1 300487 u
+(d)338437 v
+(to a single paragraph only)2854 1 48188 457606 t
+(; it o)2854 1 147561 u
+(v)165149 v
+(errides the standar)2854 1 169550 u
+(d indent)2853 1 239500 u
+(, temp)2853 1 270703 u
+(orar)294247 v
+(y indent)2853 1 309727 u
+(,)341011 v
+( length se)3288(and line)3287 2 48188 469606 t
+&11@9
+(\137)116308 v
+&11
+(ings)121834 v
+(, of which indent and line length b)3288 1 137341 u
+(e)271228 v
+(come e\005e)3288 1 275314 u
+(ctiv)311470 v
+(e for)3288 1 325006 u
+(the ne)2997 1 48188 481606 t
+(xt paragraph again)2997 1 71732 u
+(.)142922 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 9 13
+%%Page: 10 14
+save
+mark
+14 pagesetup
+10 @11 f
+&11@9
+(\106\105)75118 517133 w
+ [ /Label (10) /PAGELABEL pdfmark
+9 @11 f
+(For e)2649 1 174330 73606 t
+(xample)193188 v
+(, it is p)2650 1 219981 u
+(ossible)245877 v
+(to cr)3406 1 154488 85606 t
+( shap)3405(eate a paragraph whose)3406 2 172402 u
+(e)283693 v
+(forms a cir)3314 1 140314 97606 t
+(cle)181916 v
+(. T)3314 1 192257 u
+(o cr)3314 1 202357 u
+(eate a hole)3314 1 217335 u
+(y shap)3314 1 258793 u
+(e like)3314 1 283941 u
+(this)131810 109606 w
+( line pair for each con\001)3156(, de\003ne an indent and)3157 2 145625 u
+9 @11 0.99 h
+-67 T
+(tiguous part and use traps to mo)2320 1 123306 121606 t
+(v)240081 v
+( r)2321(e the)2320 2 244370 u
+(esulting lines in)2321 1 267490 u
+9 @11 0.999 h
+-9 T
+(v)117637 133606 w
+(ertical dir)2260 1 122024 u
+(e)157419 v
+(ction to the desir)2260 1 161491 u
+(e)223514 v
+(d p)2259 1 227586 u
+(osition)239105 v
+(. This is b)2259 1 264376 u
+(est done)2259 1 299669 u
+9 @11 0.99 h
+-63 T
+(in a div)2326 1 111968 145606 t
+(ersion so that the whole structur)2326 1 138834 u
+( kept together)2327(e is)2326 2 256458 u
+(; di\001)2327 1 319585 u
+9 @11 0.992 h
+-31 T
+(v)109133 157606 w
+(ersion traps ar)2278 1 113467 u
+(e the me)2278 1 165833 u
+(chanism of choice then)2278 1 196913 u
+(.)280904 v
+(\222 A)2997 1 285115 u
+(dmi)299520 v
+9 @11@9 0.992 h
+(\137)313416 v
+9 @11 0.992 h
+(e)318866 v
+(dly)322888 v
+(,)333914 v
+-27 T
+(cr)106299 169606 w
+( cir)2276(eating a)2275 2 113315 u
+( a hole)2277(cle with)2276 2 153777 u
+9 @11 0.994 h
+-22 T
+(is har)4184 1 242362 u
+(dly a serious appli\001)4183 1 264503 u
+9 s
+0 T
+( the)2633(cation of)2632 2 106299 181606 t
+(\027)155894 v
+(.pshap)159908 v
+(e)183758 v
+(\030 r)2633 1 188465 u
+(e\001)197749 v
+9 @11 0.99 h
+-76 T
+(quest)243779 v
+(. Complicate)2295 1 263062 u
+(d shap)2294 1 307898 u
+(es)331345 v
+-58 T
+(almost always r)2299 1 106299 193606 t
+(e)162836 v
+(quir)166823 v
+(e a car)2300 1 181459 u
+(e\001)204948 v
+-103 T
+(fully w)2334 1 239527 u
+(or)264611 v
+(ding of content)2334 1 272137 u
+(, so)2334 1 326677 u
+9 s
+0 T
+(paragraph\001at\001once forma)2762 1 109133 205606 t
+&11@9
+(\137)201841 v
+&11
+(ing is only a limite)2763 1 207367 u
+(d aid when cr)2763 1 278017 u
+(e\001)329560 v
+9 @11 0.999 h
+-4 T
+(ating them)2252 1 111968 217606 t
+(. But)2252 1 151915 u
+(\027)171282 v
+(.pshap)175288 v
+(e)199088 v
+(\030 is also ne)2252 1 203786 u
+(e)243291 v
+(de)247368 v
+(d to)2252 1 255990 u
+(\004o)272403 v
+(w te)2252 1 281718 u
+(xt ar)2251 1 297470 u
+(ound)314331 v
+9 s
+0 T
+(an image)3375 1 114803 229606 t
+(, e)3376 1 149444 u
+(v)158760 v
+(en if it has simply a r)3376 1 163161 u
+(e)247425 v
+(ctangular shap)3376 1 251511 u
+(e)306889 v
+(.)311002 v
+(\222 If)2997 1 316358 u
+9 @11 0.994 h
+-31 T
+(y)120472 241606 w
+(ou kno)4201 1 124976 u
+(w the)4201 1 152153 u
+(\027)178749 v
+(\022parshap)182972 v
+(e)214441 v
+( fr)4200(\030 command)4201 2 219092 u
+(om)272497 v
+9 @12 0.994 h
+-31 T
+(T)288210 v
+(E)291830 242704 w
+(X)296549 241606 w
+9 @11 0.994 h
+-31 T
+(, note)4200 1 302316 u
+9 @11 0.998 h
+-9 T
+(that the indent is include)2250 1 128976 253606 t
+( the line length in)2251(d in)2250 2 220483 u
+9 @12 0.998 h
+-9 T
+(tr)301759 v
+(o\005)307632 v
+(,)316909 v
+&11
+0 T
+(so y)3032 1 137480 265606 t
+(ou hav)3032 1 153121 u
+(e to add e)3032 1 178824 u
+(v)216504 v
+(er)220905 v
+(y)228411 v
+(\003rst value to e)3031 1 236077 u
+(v)291016 v
+(er)295417 v
+(y)302923 v
+9 @11 1.01 h
+67 T
+(se)151653 277606 w
+(cond one for r)4122 1 159458 u
+( shap)4123(eusing such)4122 2 218215 u
+(es)286286 v
+(.)294208 v
+[ /Dest /Bookmark$7
+ /View [/XYZ -4 293.394 0]
+/DEST pdfmark
+&12
+0 T
+(Notes)75118 313606 w
+9 @11 0.999 h
+-4 T
+( adjustment)2233(For paragraph\001at\001once)2232 2 84118 337606 t
+(,)209906 v
+9 @12 0.999 h
+-4 T
+(tr)214113 v
+(o\005)220002 v
+9 @11 0.999 h
+-4 T
+(uses a variation of the algorithm orig\001)2233 1 231351 u
+9 s
+0 T
+(inally de)2997 1 75118 349606 t
+(v)107446 v
+(elop)111847 v
+(e)127516 v
+(d by Donald Knuth and Michael P)2997 1 131602 u
+(lass for the)2997 1 260770 u
+&12
+(T)305653 v
+(E)309334 350704 w
+(X)314113 349606 w
+&11
+(system\217)322762 v
+(.)351337 v
+(The criteria for the quality of a line di\005er)2863 1 84118 361606 t
+(: Ther)2863 1 241113 u
+(e is no e)2864 1 263614 u
+(xplicit str)2864 1 295552 u
+(etchability)331077 v
+(se)75118 373606 w
+&11@9
+(\137)82651 v
+&11
+(ing)88177 v
+( use)2566(, and the total shrinkability is)2567 2 100174 u
+(d to determine whether a br)2566 1 224754 u
+(eakp)329231 v
+(oint is)2566 1 346709 u
+(feasible)75118 385606 w
+( not for computing its optimality)3231(, but)3230 2 102919 u
+(.)245334 v
+&12
+(tr)250545 v
+(o\005)256449 v
+&11
+(curr)268815 v
+(ently has a slight pr)3231 1 284070 u
+(ef\001)360786 v
+9 @11 0.998 h
+-13 T
+(er)75118 397606 w
+(ence for tight lines)2259 1 82375 u
+( hav)2258(. It might make sense to)2259 2 151124 u
+(e this con\003gurable)2258 1 253965 u
+(, but it se)2258 1 321768 u
+(ems)355300 v
+9 s
+0 T
+(that the fact that a line may b)3282 1 75118 409606 t
+(e str)3283 1 190900 u
+(etche)207836 v
+(d or shrinke)3283 1 227483 u
+(d by a high amount do)3283 1 274198 u
+(es)362388 v
+(not ne)2997 1 75118 421606 t
+(cessarily indicate the optimality of doing so)2997 1 99337 u
+(.)264352 v
+&12
+(tr)84118 433606 w
+(o\005)90022 v
+&11
+(do)102311 v
+(es not generate)3154 1 111464 u
+(\027)172469 v
+(o)176528 v
+(v)181001 v
+(erfull b)3154 1 185402 u
+(o)212775 v
+(xes)217248 v
+(\030)230091 v
+(, i)3154 1 233205 u
+(.e)240958 v
+(. unadjustable te)3155 1 247051 u
+(xt e)3155 1 308999 u
+(xtending b)3155 1 323368 u
+(e\001)363576 v
+(y)75118 445606 w
+(ond the margin)2714 1 79681 u
+(, unless the width of a single w)2713 1 137354 u
+(or)254328 v
+(d e)2713 1 262140 u
+(xce)273367 v
+(e)285715 v
+(ds that of the line)2713 1 289801 u
+(. Its)2713 1 356201 u
+(warning me)2997 1 75118 457606 t
+(chanism can inform ab)2997 1 120190 u
+(out unacceptable adjustments)2997 1 206509 u
+(.)317416 v
+9 @12 0.99 h
+-49 T
+(tr)84118 469606 w
+(o\005)89863 v
+9 @11 0.99 h
+-49 T
+(makes no use of)2305 1 101112 u
+9 @12 0.99 h
+-49 T
+(\003tness classes)2305 1 161628 u
+9 @11 0.99 h
+-49 T
+(and do)2305 1 211010 u
+(es not pr)2306 1 235539 u
+(efer to gr)2306 1 267264 u
+(oup lines of similar)2306 1 300526 u
+9 s
+0 T
+(non\001optimal spacing)2566 1 75118 481606 t
+(. This is b)2566 1 151250 u
+(e)187568 v
+( to a mor)2565(cause doing so may lead)2566 2 191654 u
+(e e)2565 1 316182 u
+(v)326730 v
+(en app)2565 1 331131 u
+(ear\001)356115 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 10 14
+%%Page: 11 15
+save
+mark
+15 pagesetup
+10 @11 f
+&11@9
+(\106\106)336231 517133 w
+ [ /Label (11) /PAGELABEL pdfmark
+9 @11 f
+(ance of the lines of a paragraph)2424 1 48188 73606 t
+(, but at the e)2424 1 165197 u
+(xp)211559 v
+( a less e)2425(ense of)2424 2 220703 u
+(v)275654 v
+(en app)2425 1 280055 u
+(earance in)2425 1 304899 u
+(the conte)2847 1 48188 85606 t
+(xt of the whole do)2847 1 82814 u
+(cument)152144 v
+(. For e)2847 1 179810 u
+(xample)203693 v
+( multiple)2846(, consider the case of)2847 2 230486 u
+(conse)48188 97606 w
+(cutiv)69050 v
+(e lines with lo)2778 1 87365 u
+(ose spacing)2778 1 140771 u
+(: If these lines ar)2779 1 184175 u
+(e vie)2779 1 246735 u
+(wn in isolation)2779 1 264409 u
+(, their)2779 1 320736 u
+(spacing lo)2777 1 48188 109606 t
+(oks harmonically)2777 1 85903 u
+(. If the)2777 1 149601 u
+(y ar)2777 1 174244 u
+(e vie)2777 1 189045 u
+( do)2776(wn as part of a)2777 2 206717 u
+(cument)275393 v
+(, the)2776 1 303059 u
+(y lo)2776 1 319461 u
+(ok)333847 v
+(mor)48188 121606 w
+(e bright than the r)3088 1 63110 u
+(est)133557 v
+(. It is not clear ho)3088 1 144114 u
+(w to solv)3088 1 212285 u
+(e this without optimizing)3089 1 247387 u
+(the spacing globally for a do)2997 1 48188 133606 t
+(cument)156134 v
+(, which is not a r)2997 1 183800 u
+(ealistic option)2997 1 249059 u
+(.)301736 v
+(Br)57188 145606 w
+(eakp)65756 v
+(oints that might o)3630 1 83234 u
+(ccur at di\005er)3630 1 153308 u
+(ent lines ar)3631 1 202886 u
+(e curr)3631 1 246508 u
+(ently not e)3631 1 269417 u
+(valuate)311653 v
+(d)338437 v
+(separately for each such line)3313 1 48188 157606 t
+(. Futur)3313 1 157389 u
+(e e)3313 1 182725 u
+( that doing so is)3312(valuation may indicate)3313 2 194021 u
+(ne)48188 169606 w
+(cessar)57152 v
+(y in practice)2997 1 79643 u
+(.)126821 v
+9 @12 0.994 h
+-22 T
+(tr)57188 181606 w
+(o\005)63011 v
+9 @11 0.994 h
+-22 T
+(implements)74308 v
+(\027)119069 v
+(micr)123301 v
+(otyp)139787 v
+(ography)156345 v
+( describ)2263(\030 similarly as)2262 2 187548 u
+(e)263085 v
+(d by H\271n Th)2263 1 267124 u
+9 @11@5 0.994 h
+(\264)312898 v
+9 @11 0.994 h
+(Th\271nh)319137 v
+9 @11 0.99 h
+-72 T
+(for)48188 193606 w
+9 @12 0.99 h
+-72 T
+(T)60856 v
+(E)64416 194704 w
+(X)69075 193606 w
+9 @11 0.99 h
+-72 T
+(\220)76098 v
+(. In particular)2318 1 78941 u
+(, it p)2318 1 127244 u
+( like)2317(erforms a function)2318 2 143468 u
+(\027)227735 v
+(le)231904 v
+(v)238031 v
+(el)242315 v
+9 @11@9 0.99 h
+(\107)250822 v
+9 @11 0.99 h
+(font e)2317 1 257183 u
+(xpansion)277955 v
+(\030 \()2317 1 311375 u
+(p)320138 v
+(.)324780 v
+-72 T
+9 @11@9 0.99 h
+(\114\105)329665 v
+9 @11 0.99 h
+(\))338234 v
+(,)340997 v
+9 s
+0 T
+(i)48188 205606 w
+(.e)50807 v
+( the p)2768(. it considers)2767 2 56900 u
+(ossibility to shrink interle)2768 1 126326 u
+&11@9
+(\137)222731 v
+&11
+(er spaces and character shap)2768 1 228257 u
+(es)335458 v
+9 @11 0.992 h
+-31 T
+( br)2283(when computing)2284 2 48188 217606 t
+(eakp)119528 v
+(oints)136741 v
+(. Both str)2284 1 154824 u
+( shrinkability ar)2283(etchability and)2284 2 188031 u
+(e taken into)2283 1 299800 u
+9 s
+0 T
+( the optimality of a br)3598(account for computing)3597 2 48188 229606 t
+(eakp)221377 v
+(oint)238855 v
+(, but only as far as the)3598 1 253732 u
+(width of the p)2553 1 48188 241606 t
+(ossible line is concerne)2553 1 101018 u
+(d)186626 v
+(; the p)2553 1 191774 u
+(er)215447 v
+( not)2552(centual adjustment limits do)2553 2 222746 u
+(in\004uence optimality)2997 1 48188 253606 t
+(.)122573 v
+(The sample te)2626 1 57188 265606 t
+(xt is an e)2626 1 109285 u
+(xcerpt of Ge)2626 1 143317 u
+(orge W)2626 1 189294 u
+(ashington\033s)216346 v
+&11@9
+(\106\114\116\113)261435 v
+&11
+(Far)279524 v
+(e)291278 v
+(w)295238 v
+(ell addr)2627 1 301889 u
+(ess)329788 v
+(.)341011 v
+(Its choice for this purp)2459 1 48188 277606 t
+(ose is due to e)2458 1 132436 u
+(xamples in James Felici\033s)2458 1 184982 u
+&12
+(Complete Manual)2458 1 279414 u
+(of T)2997 1 48188 289606 t
+(yp)62489 v
+(ography)71480 v
+&11
+(\225)100982 v
+(.)103925 v
+[ /Dest /Bookmark$8
+ /View [/XYZ -4 281.394 0]
+/DEST pdfmark
+&12
+(Refer)48188 325606 w
+(ences)66368 v
+&11
+([)48188 349606 w
+7.2 @21 f
+-79 T
+(1)51392 v
+9 @11 f
+0 T
+(] J)2997 1 55921 u
+(. Felici)2997 1 65200 u
+(,)89851 v
+&12
+(The Complete Manual of T)2997 1 94828 u
+(yp)192415 v
+(ography)201406 v
+(,)230557 v
+&11
+(Berkele)235525 v
+(y)263155 v
+(,)267439 v
+&11
+(CA)272416 v
+&11
+(,)284665 v
+&11@9
+(\107\105\105\110)289642 v
+&11
+(,)307732 v
+(pp)63447 361606 w
+(.)72879 v
+&11@9
+(\106\111\114)77856 v
+&11
+(\015)89169 v
+&11@9
+(\106\111\116)94101 v
+&11
+(.)105873 v
+([)48188 385606 w
+7.2 @21 f
+-79 T
+(2)51392 v
+9 @11 f
+0 T
+(] D)2997 1 55921 u
+(. E)2997 1 68350 u
+(. Knuth)2997 1 78520 u
+(, M)2997 1 106753 u
+(. F)2997 1 119461 u
+(. P)2997 1 128767 u
+(lass)138721 v
+(,)152410 v
+(\027)157387 v
+(Br)161662 v
+(eaking paragraphs into lines)2997 1 170230 u
+(\030)277834 v
+(,)280948 v
+&12
+(So)63447 397606 w
+&12@8
+(\121)71556 v
+&12
+(war)77055 v
+(e\011Practice and Exp)2997 1 90762 u
+(erience)161889 v
+&11
+(, V)2997 1 186756 u
+(ol)196881 v
+(.)203973 v
+&11@9
+(\106\106)208950 v
+&11
+(, Issue)2997 1 215214 u
+&11@9
+(\106\107)241683 v
+&11
+(\()251880 v
+&11@9
+(\106\116)255156 v
+&11@10
+(\017)262419 v
+&11@9
+(\106)266604 v
+&11
+(\))269646 v
+(, pp)2997 1 272508 u
+(.)286917 v
+&11@9
+(\106\106\106\116)291894 v
+&11
+(\015)305241 v
+&11@9
+(\106\106)310173 v
+&11@10
+(\017)316257 v
+&11@9
+(\111)320442 v
+&11
+(;)325365 v
+(also in D)2997 1 63447 409606 t
+(.)97521 v
+(E)102498 v
+(.)107691 v
+(Knuth)112668 v
+(,)135924 v
+&12
+(Digital T)2997 1 140901 u
+(yp)173148 v
+(ography)182139 v
+&11
+(, Stanfor)2997 1 211821 u
+(d)243600 v
+(,)248334 v
+&11@9
+(\106\116\116\116)253311 v
+&11
+(\()272013 v
+&11
+(CSLI)275289 v
+&11
+(le)295890 v
+(ctur)302352 v
+(e)317103 v
+(notes no)2997 1 63447 421606 t
+(.)95739 v
+&11@9
+(\114)100716 v
+&11@10
+(\017)104658 v
+&11
+(\))108843 v
+(, pp)2997 1 111705 u
+(.)126114 v
+&11@9
+(\113\114)131091 v
+&11
+(\015)139290 v
+&11@9
+(\106\112\112)144222 v
+&11
+(.)155094 v
+([)48188 445606 w
+7.2 @21 f
+-79 T
+(3)51392 v
+9 @11 f
+0 T
+(] H\271n Th)2997 1 55921 u
+&11@5
+(\264)90895 v
+&11
+(Th\271nh)97915 v
+(,)122143 v
+&12
+(Micr)127120 v
+(o\001typ)143482 v
+(ographic e)2997 1 162256 u
+(xtensions to the T)2997 1 199759 u
+(E)263092 446704 w
+(X typ)2997 1 267871 445606 t
+(ese)288274 v
+&12@8
+(\124)298669 v
+&12
+(ing)304123 v
+(system)63447 457606 w
+&11
+(, Masar)2997 1 87927 u
+(yk Univ)2997 1 115674 u
+(ersity Brno)2997 1 145581 u
+(,)187521 v
+&11@9
+(\107\105\105\105)192498 v
+&11
+(.)211416 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 11 15
+%%Trailer
+done
+%%EOF
diff --git a/doc/just/doc.tr b/doc/just/doc.tr
new file mode 100644
index 0000000000000..b3a2a23eb6b50
--- /dev/null
+++ b/doc/just/doc.tr
@@ -0,0 +1,889 @@
+.\" Sccsid @(#)doc.tr 1.20 (gritter) 11/11/06
+.do xflag 3
+.mediasize a5
+.warn
+.hylang en_US
+.lc_ctype en_US.UTF-8
+.if t .so fonts.tmac
+.ie r AGaramondPro \{\
+. \" Use Adobe Garamond Pro font
+. fp 1 R AGaramondPro-Regular otf
+. rhang R f -80
+. feature R +onum +pnum
+. ds Ornament \v'-.25m'\s(12\[orn.003]\s0
+. char ế \ze\h'.05m'\v'.04m'\z^\h'.12m'\v'-.12m'\[Acutesmall]
+. fp 2 I AGaramondPro-Italic otf
+. feature I +onum +pnum
+. fp \n[.fp] N AGaramondPro-Regular otf
+. flig N 0
+. fp \n[.fp] SC AGaramondPro-Regular otf
+. feature SC +onum +pnum +smcp
+. track SC 1 1.2 20 1
+. fp \n[.fp] V AGaramondPro-Regular otf
+. flig V 0
+. track V 1 1.2 20 1
+. fzoom V .92
+. fp \n[.fp] T AGaramondPro-Regular otf
+. flig T 0
+. track T 18 3 18 3
+. feature T +titl
+. \"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+. kernafter R ‹« 66
+. kernbefore R ›» 66
+. kernbefore R :;!? 66
+. kernbefore R ,. 20
+. kernafter R £¥$€#§ 66
+. kernafter I ‹« 66
+. kernbefore I ›» 66
+. kernbefore I :;!? 66
+. kernbefore I ,. 20
+. \"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+. kernpair R f\(ff R ? 30
+. kernpair R f\(ff R T 120
+. kernpair R f\(ff R ä 60
+. kernpair R f\(ff R khb 100
+. kernpair R f\(ff R l 100
+. kernpair R f\(ff R i 30
+. kernpair R f\(ff R ö 20
+. kernpair I g I f\(ff\(fi\(fl\(Fi\(Fl 130
+. kernpair R k R y 10
+. kernpair R a R x 30
+. kernpair R v R w 40
+. kernpair R VW R öäü -10
+. kernpair R VW R uy -50
+. kernpair R VW R r -60
+. kernpair R e R a 10
+. kernpair R Y R e -70
+. kernpair R Y R o -60
+. kernpair R Y R b 20
+. kernpair R Y R g -50
+. kernpair R Y R p -60
+. kernpair R Y R u -50
+. kernpair R V R I 40
+. kernpair R W R L 40
+. kernpair R Y R N 60
+. kernpair R T R V 30
+. kernpair R \(ff R ) 120
+. kernpair R f\(ff R “‘ 120
+. kernpair R f\(ff R * 120
+. kernpair R f\(ff R ' 100
+. kernpair R ›» R T -40
+. kernpair R ›» R VW -90
+. kernpair R ›» R Y -80
+. kernpair R ‹« R VW -130
+. kernpair R ‹« R T -50
+. kernpair R ‹« R Y -90
+. kernpair R T R ‹« -50
+. kernpair R VW R ‹« -70
+. kernpair R Y R ‹« -50
+. kernpair R T R ›» -10
+. kernpair R VW R ›» -60
+. kernpair R Y R ›» -50
+. kernpair R J R „‚ 20
+. kernpair R g R „‚ 40
+. kernpair R „‚ R T -45
+. kernpair R „‚ R VW -90
+. kernpair R ›» R \-\(en\(em 40
+. kernpair R \-\(en\(em R ‹« 40
+. kernpair R ( R !? -66
+. kernpair R !? R ) 20
+. kernpair R \[ellipsis] R , 66
+. kernpair R ( I f\(ff\(fl\(fi\(Fl\(Fi 170
+. kernpair I f\(ff R ) 280
+. kernpair I ( I f\(ff\(fl\(fi\(Fl\(Fi 60
+. kernpair I f\(ff I ) 280
+. kernpair I d R ) 120
+.\}
+.el \{\
+. \" Use libertine font
+. fp 1 R LinLibertine_R otf
+. fp 2 I LinLibertine_RI otf
+. fp 0 N LinLibertine_M otf
+. fp 0 V LinLibertine_R otf
+. fp 0 C LinLibertine_R otf
+. fp 0 SC LinLibertine_R otf
+. fp 0 T LinLibertine_DR otf
+. fzoom N .8
+. fzoom C .9
+. track T 10 3 10 3
+. flig N 0
+. flig C 0
+. flig R `` \[quotedblleft]
+. flig R '' \[quotedblright]
+. flig R fb \[f_b] ff \[f_f]
+. flig R fh \[f_h] ffh \[f_f_h]
+. flig R fi \[fi] ffi \[f_f_i]
+. flig R fj \[f_j] ffj \[f_f_j]
+. flig R fk \[f_k] ffk \[f_f_k]
+. flig R fl \[fl] ffl \[f_f_l]
+. flig R ft \[f_t] fft \[f_f_t]
+. flig R tt \[t_t]
+. flig I `` \[quotedblleft]
+. flig I '' \[quotedblright]
+. flig I fb \[f_b] ff \[f_f]
+. flig I fh \[f_h] ffh \[f_f_h]
+. flig I fi \[fi] ffi \[f_f_i]
+. flig I fj \[f_j] ffj \[f_f_j]
+. flig I fk \[f_k] ffk \[f_f_k]
+. flig I fl \[fl] ffl \[f_f_l]
+. flig I ft \[f_t] fft \[f_f_t]
+. flig I tt \[t_t]
+. flig C 0
+. flig T fb \[f_b] ff \[f_f]
+. flig T fh \[f_h] ffh \[f_f_h]
+. flig T fi \[fi] ffi \[f_f_i]
+. flig T fj \[f_j] ffj \[f_f_j]
+. flig T fk \[f_k] ffk \[f_f_k]
+. flig T fl \[fl] ffl \[f_f_l]
+. flig T ft \[f_t] fft \[f_f_t]
+. flig T tt \[t_t]
+. kernafter R ‹ 66 « 66
+. kernbefore R › 66 » 66
+. kernbefore R :;!? 66
+. kernbefore R ,. 20
+. kernafter R £¥$€#§ 66
+. kernafter R ( 66
+. kernbefore R ( 66
+. kernafter R \[quotedblleft] 100
+. kernbefore R \[quotedblright] 100
+. kernafter N \[longs] -190
+. kernbefore N \[backslash] -100
+. kernafter N \[backslash] -100
+. kernafter I ‹« 66
+. kernbefore I ›» 66
+. kernbefore I :;!? 66
+. kernbefore I ,. 20
+. kernafter I \[quotedblleft] 100
+. kernbefore I \[quotedblright] 100
+. feature R +pnum +onum
+. feature I +pnum +onum
+. feature SC +smcp +pnum +onum
+. track SC 1 1.2 40 0
+. track C 1 1.2 40 0
+. track N 1 -.1 40 -0
+. rhang R \(hy 80
+. char \(ff \[f_f]
+. char \(Fi \[fi]
+. char \(Fl \[fl]
+. char \[s_p] sp
+. ds Ornament \v'-.25m'\s9\[uniE002]
+. \"char ế \ze\h'.05m'\v'.04m'\z^\h'.12m'\v'-.12m'\[Acutesmall]
+.\}
+. warn w
+. spreadwarn 1m
+.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.ds - \(en
+.nr TM 1.75c+1v
+.nr EM 2.65c
+.nr OM 1.7c
+.nr AH 14.8c
+.nr PE \n(TMu+\n(AHu
+.nr LL 10.4c
+.nr PS 10p
+.nr VS 12p
+.ll \n(LLu
+.de Breakpage
+. ch Breakpage
+' bp
+. Newpage
+..
+.nr print-pageno 0
+.ds pageno-style I
+.ev pageno
+. evc 0
+.ev
+.nr Pagemacro 0
+.de Newpage
+. ie e .po \\n(EMu
+. el .po \\n(OMu
+. nr pageno \\n%
+. af pageno \\*[pageno-style]
+. if \\n[print-pageno]>0 \{\
+. ev pageno
+. sp |\\n(PEu+2v
+. ie o .ad r
+. el .ad l
+\\n[pageno]
+. br
+. ev
+. \}
+. ev pagelabel
+\\X'PS: [ /Label (\\n[pageno]) /PAGELABEL pdfmark'
+. br
+. ev
+. wh \\n(PEu Breakpage
+' sp |\\n(TMu
+. ns
+. if \\n[Pagemacro] .Pagemacro
+..
+.de Bookmark
+. mk Btmp
+. ev bookmarks
+. ie \\n[Btmp]<=\\n(TM \{\
+. sp |0c
+. nr bmove 1v+4p
+. \}
+. el .nr bmove 1v
+\v'-\\n[bmove]u'\\X'PDFMark: Bookmark 0 \\$1'
+. sp |\\n[Btmp]u
+. ev
+..
+.nr space 0
+.de S
+. br
+. ne 4+\\n[space]
+. sp 1+\\n[space]
+. Bookmark "\\$1"
+. ft I
+\\$1
+. ft R
+. sp
+..
+.de P
+. ti +1m
+. nr space 1
+..
+.de EX
+. sp
+. in +2m
+. lg 0
+. nf
+. ft N
+. tr &.
+..
+.de EE
+. in -2m
+. lg
+. fi
+. tr &&
+. sp
+. ft R
+. nr space 0
+..
+.de SS
+. ss 12 0
+. minss 9
+. letadj 98 99 18 102 101
+. hypp 20 50 100
+..
+.SS
+.de TS
+..
+.de TE
+..
+.de co
+. sp
+. ft I
+..
+.ev xx
+. evc 0
+.ev
+.ev zz
+. evc 0
+.ev
+.de xx
+. br
+. ev xx
+. ft R
+. ad p
+. minss \\$1
+. letadj \\$2 \\$3 \\$4 \\$5 \\$6
+. ad \\$7
+. hypp 0 0 0
+. nr XL \\$8
+. ie 1:((\\n(LLu-\\n(XLu)>5m) .nr XI ((\\n(LLu-\\n(XLu)/2u)
+. el .nr XI ((\\n(LLu-\\n(XLu))
+. in \\n(XIu
+. ll \\n(.iu+\\n(XLu
+. di ww
+. dt \\$9 yy
+Harmony, liberal intercourse with all nations,
+are recommended by policy, humanity, and interest.
+But even our commercial policy
+should hold an equal and impartial hand;
+neither seeking nor granting exclusive favors or preferences;
+consulting the natural course of things;
+diffusing and diversifying by gentle means
+the streams of commerce, but forcing nothing;
+establishing with powers so disposed,
+in order to give to trade a stable course,
+to define the rights of our merchants,
+and to enable the government to support them,
+conventional roules of intercourse,
+the best that present circumstances
+and mutual opinion will permit,
+but temporary and liable to be from time to time abandoned or varied,
+as experience and circumstances shall dictate;
+constantly keeping in view,
+that it is folly in one nation
+to look for disinterested favor from another;
+that it must pay with a portion of its independence
+for whatever it may accept under that character;
+that by such acceptance,
+. zz "\\$(10"
+..
+.de yy
+. di waste
+..
+.de zz
+. br
+. di
+. br
+. di
+. ne \\n(dnu
+. mk T
+. nf
+. in 0
+. ww
+. fi
+. in
+. ev
+. ev zz
+. if !\\$1 \{\
+. mk B
+. sp |\\nTu+1v
+. ll \\n(XIu-1m
+. ad pr
+. ft I
+\&\\$*
+. sp |\\nBu
+. \}
+. ev
+..
+.ds TR \fItroff\fR
+.ds TR, \fItroff,\fR
+.ds TR. \fItroff.\fR
+.ds TR; \fItroff;\fR
+.ds TR: \fItroff:\fR
+.ds PS PostScript
+.ds TEX "\fIT\h'-.135m'\v'.122m'E\v'-.122m'\h'.005m'X\fR
+\X'PDFMark: Author Gunnar Ritter'
+\X'PDFMark: Title Justification in Heirloom Troff'
+\X'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark'
+\X'PS: [ /PageMode /UseOutlines /DOCVIEW pdfmark'
+\X'PS: [ {Catalog} << /PageLayout /TwoPageRight >> /PUT pdfmark'
+.br
+.Newpage
+.ps \n(PSu
+.vs \n(VSu
+.ad c
+Justification in Heirloom Troff
+.bp
+\&
+.bp
+.Bookmark Title
+.sp |2c
+.ft T
+.ps 18
+.vs 28
+.sp -7p
+JUSTIFICATION
+.br
+IN
+.br
+HEIRLOOM TROFF
+.sp 60p
+.ps \n(PSu
+.vs \n(VSu
+.ft SC
+Gunnar Ritter
+.ft R
+.sp
+11/11/06
+.sp 24p
+\*[Ornament]
+.sp |\n(PEu-1v
+Heirloom Documentation Tools
+.bp
+.ad l
+.di Impression
+\[less]http\&:/\&/\&n-t-roff.github.io\&/\&heirloom\&/\&doctools.html\[greater]
+.br
+.di
+\&
+.pn 1
+.ds pageno-style 1
+.sp |\n(PEu-\n(dnu
+.nf
+.Impression
+.fi
+.bp
+.ad p
+.S "Line-by-line adjustment"
+.nr print-pageno 1
+.P
+When determining line breaks,
+\*(TR traditionally uses a simple method:
+Words are accumulated from input
+as long as they fit on the current output line.
+Once a word consumes more space
+than available,
+it is hyphenated.
+If a feasible breakpoint results,
+it is chosen;
+otherwise the current output line ends with the previous word.
+.P
+If the adjustment mode is ``b''
+(adjust both margins)
+and the line is shorter than the desired line length,
+interword spaces are widened
+to make the line fit.
+The line is then printed
+either to intermediate output
+or to the current diversion, if any.
+Afterwards, the process starts again.
+.P
+This method works reasonably well
+but has two shortcomings:
+First, it is not possible to compress interword spaces
+by the slightest amount
+even if the breakpoint obtainable by widening is inacceptable.
+Second, if a line that fits perfectly
+is followed by a line with very loose spacing,
+it might be better to move the last word
+of the first line to the next one;
+then both lines might have less than perfect spacing,
+but it might nevertheless be more acceptable
+than one line with very wide spaces.
+.P
+Both problems are addressed in \fIHeirloom \*[TR.]
+As usual, the default behavior has not changed, though,
+so identical output will be produced for existing documents
+unless they are modified accordingly.
+.S "Shrinking interword spaces"
+.P
+The ``.minss'' request allows to specify a minimum interword space.
+It is only effective when adjusting both margins.
+It accepts an argument with the same semantics as the ``.ss'' request,
+i.e. a numeric value that is multiplied by 12/36
+of the standard interword space.
+The space size configured with ``.ss''
+is taken as the optimum setting.
+Thus with the default ``.ss\ 12'',
+``.minss\ 9'' specifies that spaces
+may be shrunk to 75 percent.
+.P
+The line breaking process is then changed
+such that when the first word does not fit
+on the current output line anymore,
+\*(TR is allowed to shrink interword spaces
+to make it fit
+instead of deferring the word to the next line
+and expanding the interword spaces on the current one.
+\*(TR has a slight preference for shrinking built-in,
+so if shrinking and expanding are equally far away
+from the optimum,
+shrinking is chosen.
+If a line can be set with the optimum setting,
+no shrinking is performed.
+.sp 2
+.xx 12 100 100 12 100 100 b 10.42P 12 "Standard adjustment settings"
+.sp 2
+.ie r AGaramondPro \
+.xx 9 100 100 19 100 100 b 10.42P 12 "Shrink to 75\|% (.minss 9)"
+.el \
+.xx 8 100 100 12 100 100 b 10.42P 12 "Shrink to 67\|% (.minss 8)"
+.sp 2
+While the second setting is certainly not perfect,
+it is much better than the first one.
+.S "Paragraph-at-once adjustment"
+.P
+Adjusting paragraph-at-once distributes the word spaces more evenly:
+.sp 2
+.xx 12 100 100 12 100 100 b 10.42P 12 "Line-by-line adjustment\p (.ad\ b)"
+.sp 2
+.xx 12 100 100 12 100 100 p 10.42P 12 "Paragraph-at-once adjustment\p (.ad\ p)"
+.sp 2
+.P
+To address the problem of an unnecessarily loose line,
+it is obviously necessary to look ahead
+to following text.
+Actually the best solution may involve multiple lines:
+the line with sufficiently tight spacing
+might occur several lines before the loose one,
+and each line in between simply starts one word earlier
+but contains the same number of words.
+.P
+For this reason, \*(TR collects the words of an entire paragraph
+and computes optimal breakpoints when it is ended
+with the next request causing a \fIbreak.\fR
+Breakpoints are considered optimal
+if all interword spaces in the paragraph
+are as close to the optimum setting as possible.
+.P
+Once the optimal breakpoints have been computed,
+the resulting lines are output.
+At this time, \fItraps\fR become effective.
+When the entire paragraph has been printed,
+execution continues with the request
+that initially caused the \fIbreak\fR
+at the end of the paragraph.
+.P
+Paragraph-at-once adjustment is enabled per paragraph
+with ``.ad\ p'';
+the forms ``.ad\ pc'', ``.ad\ pl'', and ``.ad\ pr''
+are also supported
+and apply the method to centered, left-adjusted,
+and right-adjusted text, respectively.
+.P
+The request ``.padj'' globally enables paragraph-at-once adjustment
+across all environments;
+it is especially useful to change existing documents
+to use this mode.
+.P
+Paragraph-at-once adjustment
+is compatible with almost all existing \*(TR code.
+Most importantly, it works in combination
+with the \fItbl, eqn, refer,\fR and \fIpic\fR
+preprocessors as well with the standard
+``\(enmm'', ``\(enms'', ``\(enme'',
+and ``\(enman'' macro sets.
+.P
+The ``.in'', ``.ti'', and ``.ll'' requests
+should only be used to set
+indenting and line length
+for an entire paragraph.
+If they are used within a paragraph,
+breakpoints must be recomputed,
+and previous breakpoints are suboptimal.
+Documents that use such methods
+e.g. for inline pictures
+should be adapted to achieve optimum results
+with paragraph-at-once adjustment.
+.nr Pagemacro 1
+.de Pagemacro
+.nr Pagemacro 0
+.ev pagemac
+.evc 0
+.xx 12 100 100 19 100 100 b 22.52P 8
+.sp
+\fIStandard adjustment settings\fR
+.sp 2
+.xx 10 100 100 19 100 100 b 22.52P 8
+.sp
+\fIAllow word spaces to be shrunk to 83\|%\fR
+.sp 2
+.xx 10 100 100 19 100 100 p 22.52P 8
+.sp
+\fIAdjust paragraph-at-once and allow word spaces to be shrunk to 83\|%\fR
+.bp
+.ev
+..
+.P
+Since positions on the output line
+are not computed until the entire paragraph has been collected,
+the ``.k'' and ``.x'' number registers
+cannot contain meaningful values in paragraph-at-once adjustment mode.
+Macros that test ``.k'' only to determine if there is text present
+will work, though, since it is ensured that ``.k''
+is never zero in this case.
+.P
+The number of the current page in the ``%'' register
+can be lower than the number of the page
+on which the current input word
+will actually be printed
+in paragraph-at-once adjustment mode.
+Thus e.g. to prepare words for indexing,
+it is not possible to associate them with page numbers
+when the input is read.
+\fIOutput-line traps\fR have been introduced to address this issue:
+A ``\(rsP[xx]'' in input is passed through
+all formatting and diversion processing
+along with the word it has been attached to.
+When the line containing it has been actually printed,
+the macro ``xx'' is executed.
+The behavior is then similar to a page trap.
+Multiple output-line traps may occur on a single line.
+.P
+An index macro can use this mechanism
+to defer the processing of an index term
+until after the position of the word it refers to
+has been determined:
+.EX
+&nr IXcount 0 1
+&de IX
+& de IX-\(rs\(rsn+[IXcount]
+& write index \(rs\(rs\(rs\(rsn% \(rs\(rs$1
+\(rs\(rs..
+\(rs\(rsP[IX-\(rs\(rsn[IXcount]]\(rsc
+&.
+An
+&IX \(dqindex term\(dq
+index term is contained in this sample text.
+.EE
+This example macro takes the index term as a single argument.
+It creates a separate macro on each invocation
+and prepends an output-line trap calling it
+to the following word.
+The created macro then prints the current page number
+(processed in this macro, thus preceded by four backslashes)
+and the index term argument
+(processed in the surrounding macro, thus preceded
+by two backslashes).
+.S Microtypography
+To further enlarge the range available for adjustment
+while reducing the amount by which interword spaces are affected,
+\*(TR also allows to vary the size of interletter spaces
+and the shape of glyphs with the ``.letadj'' request.
+This process is called ``microtypography''.
+.P
+Microtypography must be applied with care.
+While the eye is accustomed to varying interword spaces
+which leave the individual words intact,
+varying interletter spaces and letter shapes
+distort the typeface as soon as they become noticable.
+This is best demonstrated
+by using them as an exclusive adjustment mechanism:
+.sp 2
+.ie r AGaramondPro \
+.xx 12 96 100 12 1000 100 p 10.42P 12 "Adjusting by letter spacing only"
+.el \
+.xx 12 96 100 12 110 100 p 10.42P 12 \
+"Adjusting by letter spacing only (.letadj 96 100 12 110 100)"
+.sp 2
+.ie r AGaramondPro \
+.xx 12 100 96.0 12 100 1000 p 10.42P 12 "Adjusting by glyph reshaping only"
+.el \
+.xx 12 100 96 12 100 110 p 10.42P 12 \
+"Adjusting by glyph reshaping only (.letadj 100 96 100 110)"
+.sp 2
+In combination with adjustment of interword spaces,
+and if applied with rather strict limits,
+microtypography can have positive effects, though.
+This is especially true when lines are short;
+the sample text used so far can be formatted acceptably
+only if shrinking of interword spaces,
+paragraph-at-once adjustment,
+and microtypography are all combined:
+.sp 2
+.xx 9 95 100 18 105 100 p 10.42P 12 "Paragraph-at-once adjustment, \
+word spacing 75\|% to 150\|%, \
+letter spacing 95\|% to 105\|%, no glyph reshaping\p \
+(.letadj\ 95\ 100 18\ 105\ 100)"
+.sp 2
+.xx 9 95 98 18 105 102 p 10.42P 12 "Paragraph-at-once adjustment, \
+word spacing 75\|% to 150\|%, \
+letter spacing 95\|% to 105\|%, glyph reshaping 98\|% to 102\|%\p \
+(.letadj\ 95\ 98 18\ 105\ 102)"
+.sp 2
+For layouts with longer lines than in this example,
+best results are normally achieved
+with even smaller ranges for letter spacing and glyph reshaping.
+.S "Penalties for line breaks and hyphenation"
+.P
+It is possible to tell \*(TR
+that a line break after a certain word
+(or hyphenated word part)
+is preferred or discouraged by writing ``\(rsj\fI'N'\fR''.
+A positive \fIN\fR makes a breakpoint less likely,
+a negative \fIN\fR makes it more likely.
+.P
+By default,
+\*(TR hyphenates words whenever necessary
+in paragraph-at-once mode
+to minimize the adjustment.
+To reduce the number of hyphenations,
+\fIhyphenation penalties\fR can be configured.
+Then whenever a breakpoint involves a hyphenation,
+it is treated as less optimal,
+and another breakpoint that does not require
+a hyphenated word may be preferred
+even though more adjustment may become necessary.
+.P
+Additional penalties can be configured
+for breakpoints that involve two successive hyphens,
+and for hyphenating the last word of a paragraph.
+.P
+The ``.hypp'' request takes the single hyphen penalty
+as its first argument,
+the penalty for consecutive hyphens as second,
+and the penalty for hyphenating the last word as third.
+Effective penalties are between 10 and 200.
+.P
+Hyphenation penalties only make hyphens less likely
+but do not limit them forcibly.
+The ``.hlm'' request imposes a strict limit
+on the number of consecutive hyphens.
+It causes a certain breakpoint to be disabled completely
+and can thus result in a non-optimal adjustment.
+It is recommended to use it in combination with ``.spreadwarn''
+to detect such problems.
+.S "Paragraph shapes"
+.P
+The standard requests
+for setting indent and line length
+cannot be used inside a paragraph
+in paragraph-at-once adjustment mode.
+It is possible to define the shape of an entire paragraph
+line-by-line with the ``.pshape'' request.
+It takes a list of indent and line length pairs
+as arguments;
+the first pair applies to the first line of the paragraph,
+the second pair to the second line, and so forth.
+If the paragraph has more lines than pairs are given,
+the last pair is used for them;
+it it has less lines, the excess pairs are discarded.
+A paragraph shape is applied to a single paragraph only;
+it overrides the standard indent, temporary indent,
+and line length settings,
+of which indent and line length become effective
+for the next paragraph again.
+.sp 2
+.de C1
+'sp -1
+.dt 10 C2
+..
+.de C2
+'sp -1
+.dt 11 C3
+..
+.de C3
+'sp -1
+..
+.di circle
+.dt 9 C1
+.pshape \
+3.5c 6.9c \
+2.8c 7.5c \
+2.3c 8.1c \
+2.0c 8.5c \
+1.7c 8.8c \
+1.5c 9.0c \
+1.3c 9.1c \
+1.2c 9.2c \
+1.1c 4.65c \
+5.9c 9.3c \
+1.1c 4.55c \
+5.95c 9.3c \
+1.1c 4.8c \
+5.8c 9.3c \
+1.2c 9.2c \
+1.3c 9.1c \
+1.4c 9.0c \
+1.6c 8.8c \
+1.9c 8.6c \
+2.2c 8.2c \
+2.7c 7.8c \
+3.3c 7.1c \
+4.5c 6.0c
+For example, it is possible to create
+a paragraph whose shape forms a circle.
+To create a holey shape like this,
+define an indent and line pair
+for each contiguous part
+and use traps to move the resulting lines
+in vertical direction to the desired position.
+This is best done in a diversion
+so that the whole structure is kept together;
+diversion traps are the mechanism of choice then.
+¶\ Admittedly, creating a circle with a hole
+is hardly a serious application of the
+``.pshape'' request.
+Complicated shapes almost always require
+a carefully wording of content,
+so paragraph-at-once formatting
+is only a limited aid when creating them.
+But ``.pshape'' is also needed
+to flow text around an image,
+even if it has simply a rectangular shape.
+¶\ If you know the ``\(rsparshape'' command from \*[TEX],
+note that the indent
+is included in the line length in \*[TR,]
+so you have to add every first value to every second one
+for reusing such shapes.
+.brp
+.di
+.ne \n(dnu
+.nf
+.circle
+.fi
+.SS
+.S Notes
+.P
+For paragraph-at-once adjustment,
+\*(TR uses a variation of the algorithm
+originally developed by Donald Knuth
+and Michael Plass for the \*[TEX] system².
+.P
+The criteria for the quality of a line differ:
+There is no explicit stretchability setting,
+and the total shrinkability is used to determine
+whether a breakpoint is feasible,
+but not for computing its optimality.
+\*(TR currently has a slight preference for tight lines.
+It might make sense to have this configurable,
+but it seems
+that the fact that a line may be stretched or shrinked by a high amount
+does not necessarily indicate the optimality of doing so.
+.P
+\*(TR does not generate ``overfull boxes'',
+i.e. unadjustable text extending beyond the margin,
+unless the width of a single word exceeds that of the line.
+Its warning mechanism can inform about unacceptable adjustments.
+.P
+\*(TR makes no use of \fIfitness classes\fR
+and does not prefer to group lines of similar non-optimal spacing.
+This is because doing so may lead to a more even appearance
+of the lines of a paragraph,
+but at the expense of a less even appearance
+in the context of the whole document.
+For example, consider the case of
+multiple consecutive lines with loose spacing:
+If these lines are viewn in isolation,
+their spacing looks harmonically.
+If they are viewn as part of a document,
+they look more bright than the rest.
+It is not clear how to solve this
+without optimizing the spacing globally for a document,
+which is not a realistic option.
+.P
+Breakpoints that might occur at different lines
+are currently not evaluated separately for each such line.
+Future evaluation may indicate that doing so is necessary in practice.
+.P
+\*(TR implements ``microtypography''
+similarly as described
+by Hàn Thế Thành for \*[TEX]\|³.
+In particular, it performs a function like
+``level 2 font expansion'' (p.\ 70),
+i.e. it considers the possibility to shrink interletter spaces
+and character shapes
+when computing breakpoints.
+Both stretchability and shrinkability
+are taken into account for computing the optimality of a breakpoint,
+but only as far as the width of the possible line is concerned;
+the percentual adjustment limits do not influence optimality.
+.P
+The sample text is an excerpt of George Washington's
+1796 Farewell address.
+Its choice for this purpose is due to
+examples in James Felici's
+\fIComplete Manual of Typography\fR¹.
+.S References
+.ad l
+.if r AGaramondPro .feature N +onum +tnum
+.nr w \w'[\fN0]\fR '
+.de RF
+. in \nwu
+. ti -\nwu
+. nr space 1
+[\fN\\$1\fR] \c
+..
+.RF 1
+J. Felici,
+\fIThe Complete Manual of Typography,\fR
+Berkeley, \fVCA\fR, 2003, pp.\ 147\(en149.
+.sp
+.RF 2
+D. E. Knuth, M. F. Plass,
+``Breaking paragraphs into lines'',
+\fI\%Software\(emPractice and Experience\fR,
+Vol.\ 11, \%Issue\ 12 (1981), pp.\ 1119\(en1184;
+also in D.\ E.\ Knuth, \fIDigital Typography\fR,
+Stanford, 1999 (\fVCSLI\fR\ lecture notes no.\ 78),
+pp.\ 67\(en155.
+.sp
+.RF 3
+Hàn Thế Thành, \fIMicro-typographic extensions to the \*[TEX]\fI
+typesetting \%system\fR,
+Masaryk University Brno, 2000.
diff --git a/doc/just/makefile b/doc/just/makefile
new file mode 100644
index 0000000000000..d03d432fa2b27
--- /dev/null
+++ b/doc/just/makefile
@@ -0,0 +1,65 @@
+DISTFLAGS = -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
+ -sProcessColorModel=DeviceGray -dPDFSETTINGS=/prepress
+CRYPT = -sOwnerPassword="`dd if=/dev/random bs=12 count=1 2>/dev/null | \
+ md5sum | awk '{ print $$1 }'` " -dEncryptionR=3 \
+ -dKeyLength=128 -dPermissions=-300
+
+.SUFFIXES: .tr .ps .pdf .more
+
+.tr.ps:
+ rm -f $@; trap "rm -f $$$$.ps" 0 2 3; \
+ tbl $< | eqn | troff | dpost >$$$$.ps && mv $$$$.ps $@
+
+.ps.pdf:
+ gs -sOutputFile=$@ $(DISTFLAGS) -f $<
+
+.tr.more:
+ tbl -Tlocale $< | nroff -Tlocale | col -x > $@
+
+all: doc.ps
+
+print.ps: doc.pdf
+ pdftops -paper match doc.pdf $@
+
+book.ps: print.ps
+ psbook print.ps | psnup -2 -pa4 -Pa5 | \
+ sed 's/^\(%%DocumentMedia:\).*/\1 x595y842 595 842 0 () ()/' >$@
+
+odd.ps: book.ps
+ psselect -o book.ps $@
+
+even.ps: book.ps
+ psselect -e book.ps $@
+
+test:
+ [ -e doc.more ] && mv doc.more doc.more.orig
+ make doc.more
+ diff -d doc.more.orig doc.more
+ mv doc.more.orig doc.more
+ [ -e doc.ps ] && mv doc.ps doc.ps.orig
+ make doc.ps
+ rm fonts.tmac
+ sed 's/.CreationDate.*/%/' doc.ps >doc.ps.sed
+ diff -d doc.ps.orig doc.ps.sed
+ rm doc.ps.sed
+ mv doc.ps.orig doc.ps
+
+clean:
+ rm -f book.ps book.pdf doc.ps doc.pdf print.ps doc.more \
+ odd.ps odd.pdf even.ps even.pdf core log *~ \
+ fonts.tmac
+
+fonts.tmac:
+ @[ -n "$$TROFFONTS" ] || \
+ (echo "Error: Environment variable TROFFONTS not set" && false)
+ @for F in LinLibertine AGaramondPro ; do \
+ find $$(echo $$TROFFONTS | sed -e 's/:/ /g') -name "$$F*" | \
+ grep $$F > /dev/null && echo ".nr $$F 1" >> $@ || true; \
+ done
+ @grep nr $@ > /dev/null || \
+ (echo 'Error: None of the fonts "LinLibertine" and ' \
+ '"AGaramondPro" found' && false)
+
+mrproper: clean
+
+doc.ps: fonts.tmac
diff --git a/doc/quickstart/README b/doc/quickstart/README
new file mode 100644
index 0000000000000..3723ef14894c1
--- /dev/null
+++ b/doc/quickstart/README
@@ -0,0 +1,25 @@
+README for the Heirloom Troff Quickstart Guide
+==============================================
+
+To build this document, you need the Myriad Pro fonts
+from Adobe, and need to set the TROFFONTS variable
+accordingly. Myriad Pro is available as part of the
+"Adobe Type Basics OpenType Edition" package.
+
+Note that as of autumn 2005, it was not possible to
+download fonts bought directly from Adobe using a Linux
+system. There are many other shops that sell Adobe fonts,
+though, and these usually allow downloads for Linux users.
+
+Gunnar Ritter 01/08/07
+
+
+Update for the revised Heirloom Troff edition
+=============================================
+
+2014/09/05
+The files contained in this directory have been modified to
+use the Linux Libertine fonts if the fonts choosen by Gunnar
+Ritter are not present in your system. The Linux Libertine
+can be downloaded from <http://linuxlibertine.org>. You
+still need to set the TROFFONTS variable accordingly.
diff --git a/doc/quickstart/doc.more b/doc/quickstart/doc.more
new file mode 100644
index 0000000000000..0c2a0f7a1a177
--- /dev/null
+++ b/doc/quickstart/doc.more
@@ -0,0 +1,132 @@
+
+
+
+
+
+ Heirloom Documentation Tools: Quickstart Guide
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Gunnar Ritter 11/5/06
+ So you want to explore Heirloom _t_r_o_f_f and know _t_r_o_f_f to some exâ€
+ tent since you have used _g_r_o_f_f or traditional _t_r_o_f_f before? Getâ€
+ ting started is easy then:
+
+ Heirloom _t_r_o_f_f supports names with more than two characters for
+ requests, strings, number registers, and fonts like _g_r_o_f_f does.
+ However, it operates in a compatibility mode by default and needs
+ to be explicitly told to activate extensions. Thus unless you are
+ processing legacy documents, the first line in a Heirloom _t_r_o_f_f
+ document should read
+
+ ....ddddoooo xxxxffffllllaaaagggg 3333
+
+ _t_r_o_f_f produces an intermediate language that needs further proâ€
+ cessing in order to produce PostScript output. With preprocessors
+ and -_m_m macros, a typical command line is
+
+ ppppiiiicccc iiiinnnnppppuuuutttt....ttttrrrr |||| ttttbbbbllll |||| eeeeqqqqnnnn |||| ttttrrrrooooffffffff ----mmmmmmmm |||| ddddppppoooosssstttt >>>> oooouuuuttttppppuuuutttt....ppppssss
+
+ It is most convenient to have the _m_a_k_e utility let this exeâ€
+ cute for you. See the source directory for this quickstart guide
+ (“doc/quickstart†in the distribution) for an example.
+
+ You can adapt _t_r_o_f_f to local language conventions by setting the
+ paper size, the hyphenation language, and the input locale. For
+ example, a document in German that is using _UUUU_TTTT_FFFF_â€_8888 as input characâ€
+ ter encoding would usually configure these as
+
+ ....mmmmeeeeddddiiiiaaaassssiiiizzzzeeee aaaa4444
+ ....hhhhyyyyllllaaaannnngggg ddddeeee____DDDDEEEE
+ ....llllcccc____ccccttttyyyyppppeeee ddddeeee____DDDDEEEE....uuuuttttffff8888
+
+ Fonts are “plugâ€andâ€playâ€: _t_r_o_f_f can directly access PostScript
+ Type 1, TrueType, and OpenType fonts without any need for converâ€
+ sion. The font of this document is mounted by
+
+ ....ffffpppp 1111 RRRR LLLLiiiinnnnLLLLiiiibbbbeeeerrrrttttiiiinnnneeee____RRRR oooottttffff
+
+ The document _F_o_n_t _H_a_n_d_l_i_n_g _i_n _T_r_o_f_f _W_i_t_h _P_o_s_t_S_c_r_i_p_t _D_e_v_i_c_e_s exâ€
+ plains additional features.
+
+ Further extensions you might like to explore are paragraphâ€based
+ justification, “microtypographyâ€, hanging punctuation, _PPPP_DDDD_FFFF bookâ€
+ marks and links, floatingâ€point registers, and local variables per
+ macro instance. These are documented in _J_u_s_t_i_f_i_c_a_t_i_o_n _i_n _H_e_i_r_l_o_o_m
+ _T_r_o_f_f and in the _N_r_o_f_f/_T_r_o_f_f _U_s_e_r’_s _M_a_n_u_a_l.
+
+ Heirloom _t_r_o_f_f provides a _g_r_o_f_f compatibility mode and macro set.
+ A command line like
+
+ ggggttttbbbbllll iiiinnnnppppuuuutttt....ttttrrrr |||| ttttrrrrooooffffffff ----mmmmgggg ////uuuussssrrrr////sssshhhhaaaarrrreeee////ggggrrrrooooffffffff////ccccuuuurrrrrrrreeeennnntttt////ttttmmmmaaaacccc////ssss....ttttmmmmaaaacccc \\\\
+ |||| ddddppppoooosssstttt >>>> oooouuuuttttppppuuuutttt....ppppssss
+
+ lets you process _g_r_o_f_f macro sets and preprocessor output.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/doc/quickstart/doc.ps b/doc/quickstart/doc.ps
new file mode 100644
index 0000000000000..30dfd80a45e9f
--- /dev/null
+++ b/doc/quickstart/doc.ps
@@ -0,0 +1,31998 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%LanguageLevel: 3
+%%DocumentFonts: LinLibertineO LinLibertineOI LinLibertineMO
+%%Pages: 1
+%%DocumentMedia: x595y842 595 842 0 () ()
+%%DocumentNeededResources: procset FontSetInit 0 0
+%%DocumentSuppliedResources: font LinLibertineO
+%%+ font LinLibertineOI
+%%+ font LinLibertineMO
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%IncludeResource: procset FontSetInit 0 0
+%%BeginResource: font LinLibertineO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineO 483417 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010e4c696e4c6962657274696e654f000102000100411c0b11001c
+0b12011c0b13021c0b1403f81504290c03b30c04fecefb941c181bfaf9051d00005e
+9d0f1d00000000101d00007380111d000000441d00067eb012098e0200010008000f
+001b0029003000370043004a00510057005d0064006b007100770082008d009700a1
+00a700ad00b300b900bf00c500cc00d300d900df00e900f300fa01010107010d0118
+01230129012f01390143014f015b0166017101750179017f0185018c01930199019f
+01a601ad01b701b901bb01c601d101dd01e901f501fb0201020d0219021f02250229
+022d02330239024502510257025d0268026b026e0275027c02820288029502a202a8
+02ae02ba02c602cc02d202d802de02e902f402fc0304030c0314031a032003240328
+032e0334033b03420348034e035303580365037203790380038b039603a103ac03b2
+03b803c203cc03d103d803df03e603ed03f403fb0402040904100417041e0425042c
+0433043a04410448044f0456045d0464046b0472047904800487048e0495049c04a3
+04aa04af04b404bb04c204c904d004d704de04e504ec04f304fa05010508050f0514
+051905200527052e0535053c0543054a05510558055f0566056d0574057b05820589
+05900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f205f90600
+0607060e0615061c0623062a06310638063f0646064d0654065b0662066906700677
+067e0685068c06920698069f06a606ad06b406bb06c206c906d006d706de06e506ec
+06f306fa07010708070f07160720072a073107380743074e0755075c0763076a0771
+0778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da07e107e8
+07ef07f60802080e081a0826082d0834083b0842084908500857085e0865086c0873
+087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc08e308eb
+08f208f909000907090e0915091c0923092a09310938093f0946094d0954095b0962
+096909700977097e0985098c0993099a09a109a809af09b609bd09c409cb09d209d9
+09e009e709ee09f509fc0a030a0a0a110a180a220a290a300a350a3c0a430a4a0a51
+0a580a5f0a660a6d0a740a7b0a820a890a900a970a9e0aa50aac0ab30aba0ac10acc
+0ad30ada0ae10ae80af10aff0b060b0d0b140b1b0b220b290b300b370b3e0b450b4c
+0b530b5a0b610b680b6f0b760b7d0b840b970b9e0ba50bac0bb30bba0bc10bc80bcf
+0bd60bdd0be40beb0bf20bf90c000c070c0e0c150c1c0c230c2a0c310c380c3f0c46
+0c4d0c570c650c6f0c790c890c9d0cb40cbe0cc80ccf0cd60cdd0ce60cef0cf60cfd
+0d040d0b0d120d190d200d270d2e0d350d3c0d430d4a0d510d580d5f0d660d6d0d74
+0d7b0d820d890d900d970d9e0da50db80dc20dcc0dd60df20df90e000e070e0e0e15
+0e1c0e230e2a0e310e380e3f0e460e4d0e540e5b0e620e690e700e770e7e0e850e8c
+0e930e9a0ea10ea80eaf0eb80ec10ecf0ed80ee20ee90ef20ef90f000f0d0f140f1b
+0f220f290f300f370f3e0f450f4c0f530f5a0f610f680f6f0f760f7d0f840f8b0f92
+0f990fa00fa70fae0fb50fbc0fc80fcf0fd60fdd0fe40feb0ff20ff910001007100e
+1015101c1023102a10311038103f1046104d1054105b1062106910701077107e1085
+108c1093109a10a110a810af10b610bd10c410cb10d210d910e010e710ee10f510fc
+1103110a11111118111f1126112d1134113b1142114911501157115e1165116c1173
+117a11811188118f1196119d11a411ab11b211b911c011c711ce11d511dc11e311ea
+11f111f811ff1206120b12181222122b1237123f124812541260126a127b12801284
+1289128e12951299129c12a112a512aa12b012b212b412b612bd12bf12c212c712ca
+12d112d412d712da12df12eb12fa13041310131813211335133a133e13431348134f
+13531356135b135f1364136a136c136e13751377137a138013851388138f13921395
+1398139d13a913b813c413d013da13e113e713ef13f613fd14011407140e1415141c
+1423142a14311438143f1446144d1454145b1462146914701477147e1485148c1493
+149a14a114a814af14b614bf14c814d114da14e314ec14f514fe1507151015191522
+15291532153b1544154d1556155f15681571157a1583158c1595159e15a715b015b9
+15c215cb15d415dd15e615ef15f81601160a1613161c1625162e1637164016491652
+165b1664166d1676167f16881691169a16a316ac16b516be16c716d016d916e216eb
+16f416fd1706170f17181721172a1733173c1745174e1757176017691772177b1782
+178b1794179d17a617af17b817c117ca17d317dc17e517ee17f517fe1807180e1815
+181e1827182e1835183c1843184a18511858185f1866186d1874187b188218891892
+189b18a418ad18b418bb18c218c918d018d718de18e518ec18f318fa1903190c1913
+191a19211928192f1936193d1944194b1952195919601967196e1975197c1983198a
+19911998199f19a619ad19b419bb19c219c919d019d719de19e519ec19f319fa1a01
+1a081a0f1a161a1d1a241a2b1a321a391a401a471a4e1a551a5c1a631a6a1a711a78
+1a7f1a861a8d1a941a9b1aa21aa91ab01ab71abe1ac51acc1ad31ada1ae31aea1af1
+1af81aff1b061b0d1b141b1b1b221b291b301b371b3e1b451b4c1b531b5a1b611b68
+1b6f1b761b7d1b841b8b1b921b991ba01ba71bae1bb51bbc1bc31bcc1bd51bde1be7
+1bf01bf91c021c0b1c141c1d1c241c2d1c361c3f1c481c511c5a1c631c6c1c751c7c
+1c851c8e1c971ca01ca91cb21cbb1cc41ccd1cd61cdf1ce81cf11cfa1d031d0c1d15
+1d1e1d271d301d391d421d4b1d541d5d1d661d6f1d781d811d8a1d911d981d9f1da9
+1db91dc01dc71dd11ddb1de51df51dfc1e031e0d1e1d1e271e311e3d1e471e571e5e
+1e651e6f1e791e831e8a1e9a1ea41eab1eb21eb91ec01ec71ece1ed51edc1ee31eea
+1ef41efe1f081f0f1f161f1d1f241f2b1f321f391f401f471f4e1f551f5c1f631f6a
+1f711f781f7f1f861f8d1f941f9b1fa21fa91fb01fb71fbe1fc51fcc1fd31fda1fe1
+1fe81fef1ff61ffd2004200b2012201920202027202e2035203c2043204a20512058
+205f2066206d2074207b2082208920902097209e20a520ac20b320ba20c120c820cf
+20d620dd20e420eb20f220f921002107210e2115211c2123212a21312138213f2146
+214d2154215b2162216921702177217e2185218c2193219a21a121a821af21b621bd
+21c421cb21d221d921e021e721ee21f521fc2203220a22112218221f2226222d2234
+223b2242224922502257225e2265226c2273227a22812288228e2294229a22a022a9
+22b222b922c022c722ce22d522dc22e322ea22f122f822ff2306230d2314231b2322
+232923302337233e2345234c2353235a2364236b2372237923802387238e2395239c
+23a323aa23b123b823bf23c623cd23d423db23e223e923f023f723fe2405240c2413
+241a24212428242f2436243d2444244b2452245924602467246e2475247c2483248a
+24912498249f24a624ad24b424bb24c224c924d024d724de24e524ec24f324fa2501
+2508250f2516251d2524252b2532253925402547254e2555255c2563256a25712578
+257f2586258d2594259b25a225a925af25b525bc25c325ca25d125d825df25e625ed
+25f425fb2602260926102617261e2625262c2633263a26412648264f2656265d2664
+266b2672267926802687268e2695269c26a326aa26b126b826bf26c626cd26d426db
+26e226e926f026f726fe2705270c2713271a27212728272f2736273d2744274b2752
+275927602767276e2775277c2783278a27912798279f27a627ad27b427bb27c227c9
+27d027d727de27e527ec27f327fa28012808280f2816281d2824282b283228392840
+2847284e2855285c2863286a28712878287f2886288d2894289b28a228a928b028b7
+28be28c528cc28d328da28e128e828ef28f628fd2904290b2912291929202927292e
+2935293c2943294a29512958295f2966296d2974297b2982298929902997299e29a5
+29ac29b329ba29c129c829cf29d629dd29e429eb29f229f92a002a072a0e2a152a1c
+2a232a2a2a312a382a3f2a462a4d2a542a5b2a622a692a702a772a7e2a852a8c2a93
+2a9a2aa12aa82aaf2ab62abd2ac42acb2ad22ad92ae02ae72aee2af52afc2b032b0a
+2b112b182b1f2b262b2d2b342b3b2b422b492b502b572b5e2b652b6c2b732b7a2b81
+2b882b8f2b962b9d2ba42bab2bb22bb92bc02bc72bce2bd52bdc2be32bea2bf12bf8
+2bff2c062c0d2c142c1b2c222c292c302c372c3e2c452c4c2c532c5a2c612c682c6e
+2c742c7b2c822c912c9f2cac2cb72cc72cd02cd92ce72cf02cfd2d0a2d112d1e2d2b
+2d362d442d4d2d542d622d682d6e2d792d862d8d2d942d9b2da42daf2db62dbd2dce
+2ddd2dec2df32dfa2e012e0e2e182e252e322e3e2e4c2e5a2e672e742e822e902ea2
+2eb52ebf2ecc2ed82ee42ef22eff2f0c2f182f262f342f412f4e2f5c2f6a2f7c2f8f
+2f992fa32fad2fb72fbe2fc52fcc2fd32fda2fe12fe82fef2ff62ffd30023006300c
+30133017301b30223026302d3034303b3045304e3055305f3066306d3074307b3083
+308c3093309930a030a730af30b630bd30c430cb30d330dc30e130e830ef30f630fd
+3104310c31153120312a3132313c3148315031583162316b3174317c318631903199
+31a131ac31b731be31c531cc31d331db31e331ed31f631ff32073211321b3224322c
+32373242324932503257325e3265326c3273327a3281328a3291329b32a432ad32b6
+32bd32c432cb32d232d932e032e732f332fa33013308330f3316331d3324332b3332
+33393345334f335c33683374337b338233893390339733a033a733b233bd33c433cc
+33d333db33e233ec33f333fb340234093410341734203427342e3435343c3448344f
+3456345d3464346b3477347f3486348b3492349934a034a734ae34b534bf34c834d4
+34d934e134e834ef34f634fd3504350b3514351f3526352d3535354035473550355c
+3563356a35713578357f3586359235a035a935b035ba35c135cf35d635dd35e435eb
+35f835ff3606360d3614361b3622362936303637363e36493657365e3665366c3673
+367a36813688368f3696369d36a436ab36b236b936c036c736ce36d536dc36e336ea
+36f136f836ff3706370d371e3725372c3733373a37413748374f3756375d3764376b
+3772377937803787378e3795379c37a337aa37b137b837bf37c637cd37d437db37e2
+37e937f037f737fe3805380c3813381a38213828382f3836383d3844384b38523859
+38603867386e3875387c3883388a38913898389f38a638ad38b438bb38c238c938d0
+38d738de38e538ec38f338fa39013908390f3916391d3924392b3932393939403947
+394e3955395c3963396a39713978397f3986398d3994399b39a239a939b039b739be
+39c539cc39d339da39e139e839ef39f639fd3a043a0b3a123a193a203a273a2e3a35
+3a3c3a433a4a3a533a593a603a673a6e3a753a7c3a833a8a3a913a983a9f3aa63aad
+3ab63abd3ac33aca3ad13ad83adf3ae63aed3af43afb3b053b0c3b133b1a3b213b28
+3b2f3b363b3d3b443b4b3b523b593b603b673b6d3b743b783b7f3b863b8d3b943b9b
+3ba23ba93bb03bb73bbe3bc53bcc3bd33bda3be13be83bef3bf63bfd3c043c0b3c12
+3c1d3c2b3c323c393c403c473c4e3c553c5c3c633c6a3c713c783c7f3c863c8d3c95
+3c9c3ca33caa3cae3cb53cbc3cc33cca3cd13cd83cdf3ce63ced3cf43cfb3d023d09
+3d103d173d1e3d253d2c3d333d3a3d413d483d4f3d563d5d3d643d6b3d723d793d80
+3d873d8e3d953d9c3da33daa3db13db83dbf3dc63dcd3dd43ddb3de23de93df03df7
+3dfe3e053e0c3e0f3e163e1d3e243e2b3e323e393e403e473e4e3e553e5c3e643e70
+3e7f3e8f3e9a3ea43eae3eba3ec53ed03eda3ee63ef23efd3f083f123f193f1e3f25
+3f343f413f4d3f593f673f743f813f8d3f9b3fa93fb63fbd3fca3fd73fe43fe93fec
+3ff13ff63ffb4000400340064009400c400f401240154018401f402a40314038403f
+40464053405a40604067406a406d407040754083409240a040a740b440b840bc40c0
+40c440c840cc40d040d440d840dc40e040e440e840ec40f040f440f840fc41004104
+4108410c411041144118411c4123412c4135413e414c415541614169416e41794182
+418b419941a541ae41b741c541d141d741e041e941f2420042094215421a4223422c
+42354243424f42584260426c42714281428e4294429d42a642af42b942c242cb42d4
+42de42e742f042f94302430b4314431a432a4333433c4345435043594364436b4373
+4383438c439943a243ab43b443c343d243df43eb43f243fc440a4418442b44394448
+444f4458445f4466446d4474447b4482448944904497449c44a144a644ad44b444bb
+44c044c744ce44d544dc44e144e644ed44f444f945004507450e4515451c4524452b
+4532453b4543454b4552455b4564456c457c458b459a45ab45bb45cb45da45eb45fc
+460c4613461a46214628462c4633463a4641464b4655465f46694673467d46874691
+469b46a546af46b946c346cd46d746e146eb46f546ff47094713471d4724472b4738
+473f47484751475f476847714781479247a647b247bb47c747d847e547ec47f347fa
+48014808480f4816481d4824482b4832483948404847484e4855485c486348694873
+487f488c489a48a948b548c248cf48de48ee48ff490f4920492a4931493f49424945
+4948494d49524959495c49634969496f4975497b49814987498d49934999499f49a5
+49ab49b149b749bd49c349c949cf49d549db49e04afc4b0d4b1e756e693030413075
+6e693030414474776f2e7375706572696f7274687265652e7375706572696f72756e
+693030423570696c63726f776f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636564696c6c6174636564696c6c61546361
+726f6e746361726f6e54626172746261725574696c64657574696c6465556d616372
+6f6e756d6163726f6e5562726576657562726576655572696e677572696e67556875
+6e676172756d6c6175747568756e676172756d6c617574556f676f6e656b756f676f
+6e656b5763697263756d666c65787763697263756d666c65785963697263756d666c
+65787963697263756d666c65785a61637574657a61637574655a646f74616363656e
+747a646f74616363656e746c6f6e6773756e6930313830756e6930313831756e6930
+313832756e6930313833756e6930313834756e6930313835756e6930313836756e69
+30313837756e6930313838756e6930313839756e6930313841756e6930313842756e
+6930313843756e6930313844756e6930313845756e6930313846756e693031393075
+6e6930313931756e6930313933756e6930313934756e6930313935756e6930313936
+756e6930313937756e6930313938756e6930313939756e6930313941756e69303139
+42756e6930313943756e6930313944756e6930313945756e69303139464f686f726e
+6f686f726e756e6930314132756e6930314133756e6930314134756e693031413575
+6e6930314136756e6930314137756e6930314138756e6930314139756e6930314141
+756e6930314142756e6930314143756e6930314144756e693031414555686f726e75
+686f726e756e6930314231756e6930314232756e6930314233756e6930314234756e
+6930314235756e6930314236756e6930314237756e6930314238756e693031423975
+6e6930314241756e6930314242756e6930314243756e6930314244756e6930314245
+756e6930314246756e6930314330756e6930314331756e6930314332756e69303143
+33756e6930314334756e6930314335756e6930314336756e6930314337756e693031
+4338756e6930314339756e6930314341756e6930314342756e6930314343756e6930
+314344756e6930314345756e6930314346756e6930314430756e6930314431756e69
+30314432756e6930314433756e6930314434756e6930314435756e6930314436756e
+6930314437756e6930314438756e6930314439756e6930314441756e693031444275
+6e6930314443657475726e6564756e6930314445756e6930314446756e6930314530
+756e6930314531756e6930314532756e6930314533756e6930314534756e69303145
+35476361726f6e676361726f6e756e6930314538756e6930314539756e6930314541
+756e6930314542756e6930314543756e6930314544756e6930314545756e69303145
+46756e6930314630756e6930314631756e6930314632756e6930314633756e693031
+4634756e6930314635756e6930314636756e6930314637756e6930314638756e6930
+3146394172696e6761637574656172696e6761637574654145616375746561656163
+7574654f736c61736861637574656f736c6173686163757465756e6930323030756e
+6930323031756e6930323032756e6930323033756e6930323034756e693032303575
+6e6930323036756e6930323037756e6930323038756e6930323039756e6930323041
+756e6930323042756e6930323043756e6930323044756e6930323045756e69303230
+46756e6930323130756e6930323131756e6930323132756e6930323133756e693032
+3134756e6930323135756e6930323136756e693032313753636f6d6d61616363656e
+7473636f6d6d61616363656e7454636f6d6d61616363656e7474636f6d6d61616363
+656e74756e6930323143756e6930323144756e6930323145756e6930323146756e69
+30323230756e6930323231756e6930323232756e6930323233756e6930323234756e
+6930323235756e6930323236756e6930323237756e6930323238756e693032323975
+6e6930323241756e6930323242756e6930323243756e6930323244756e6930323245
+756e6930323246756e6930323330756e6930323331756e6930323332756e69303233
+33756e6930323334756e6930323335756e6930323336646f746c6573736a756e6930
+323338756e6930323339756e6930323341756e6930323342756e6930323343756e69
+30323344756e6930323345756e6930323346756e6930323430756e6930323431756e
+6930323432756e6930323433756e6930323434756e6930323435756e693032343675
+6e6930323437756e6930323438756e6930323439756e6930323441756e6930323442
+756e6930323443756e6930323444756e6930323445756e6930323446617475726e65
+64756e6930323531756e6930323532756e6930323533637475726e6564756e693032
+3535756e6930323536756e6930323537756e6930323538756e6930323539756e6930
+323541756e6930323542756e6930323543756e6930323544756e6930323545756e69
+30323546756e6930323630756e6930323631756e693032363267616d6d616c617469
+6e756e6930323634756e693032363568686f6f6b756e6930323637756e6930323638
+756e6930323639756e6930323641756e6930323642756e6930323643756e69303236
+44756e69303236456d7475726e6564756e6930323730756e6930323731756e693032
+3732756e6930323733756e6930323734756e6930323735756e6930323736756e6930
+323737756e6930323738727475726e6564756e693032374172686f6f6b7475726e65
+64756e6930323743756e6930323744756e6930323745756e693032374652736d616c
+6c63617052736d616c6c696e766572746564756e6930323832756e6930323833756e
+6930323834756e6930323835756e6930323836756e6930323837756e693032383875
+6e6930323839756e6930323841756e6930323842756e6930323843756e6930323844
+756e6930323845756e6930323846756e6930323930756e6930323931756e69303239
+32756e6930323933756e6930323934676c6f7474616c73746f707265766572736564
+756e6930323936756e6930323937756e6930323938756e6930323939756e69303239
+41756e6930323942756e6930323943756e6930323944756e6930323945756e693032
+3946756e6930324130756e6930324131756e6930324132756e6930324133756e6930
+324134756e6930324135756e6930324136756e6930324137756e6930324138756e69
+30324139756e6930324141756e6930324142756e6930324143756e6930324144756e
+6930324145756e6930324146682e7375706572696f7268686f6f6b2e737570657269
+6f726a2e7375706572696f72722e7375706572696f72727475726e65642e73757065
+72696f7272686f6f6b7475726e65642e7375706572696f7252736d616c6c696e7665
+727465642e7375706572696f72772e7375706572696f72792e7375706572696f7275
+6e6930324239756e6930324241756e69303242426166696935373932396166696936
+34393337756e6930324245756e6930324246756e6930324330756e6930324331756e
+6930324332756e6930324333756e6930324334756e6930324335756e693032433875
+6e6930324339756e6930324341756e6930324342756e6930324343756e6930324344
+756e6930324345756e6930324346756e6930324430756e6930324431756e69303244
+32756e6930324433756e6930324434756e6930324435756e6930324436756e693032
+4437756e6930324445756e693032444667616d6d616c6174696e2e7375706572696f
+726c2e7375706572696f72732e7375706572696f72782e7375706572696f72676c6f
+7474616c73746f7072657665727365642e7375706572696f72756e6930324535756e
+6930324536756e6930324537756e6930324538756e6930324539756e693032454175
+6e6930324542756e6930324543756e6930324544756e6930324545756e6930324546
+756e6930324630756e6930324631756e6930324632756e6930324633756e69303246
+34756e6930324635756e6930324636756e6930324637756e6930324638756e693032
+4639756e6930324641756e6930324642756e6930324643756e6930324644756e6930
+324645756e69303246466772617665636f6d626163757465636f6d6263697263756d
+666c6578636f6d6274696c6465636f6d626d6163726f6e636f6d62756e6930333035
+6272657665636f6d62756e6930333037756e6930333038686f6f6b61626f7665636f
+6d62756e6930333041756e6930333042756e6930333043756e6930333044756e6930
+333045756e6930333046756e6930333130756e6930333131756e6930333132756e69
+30333133756e6930333134756e6930333135756e6930333136756e6930333137756e
+6930333138756e6930333139756e6930333141756e6930333142756e693033314375
+6e6930333144756e6930333145756e6930333146756e6930333230756e6930333231
+756e6930333232646f7462656c6f77636f6d62756e6930333234756e693033323575
+6e6930333236756e6930333237756e6930333238756e6930333239756e6930333241
+756e6930333242756e6930333243756e6930333244756e6930333245756e69303332
+46756e6930333330756e6930333331756e6930333332756e6930333333756e693033
+3334756e6930333335756e6930333336756e6930333337756e6930333338756e6930
+333339756e6930333341756e6930333342756e6930333343756e6930333344756e69
+30333345756e6930333346756e6930333430756e6930333431756e6930333432756e
+6930333433756e6930333434756e6930333435756e6930333436756e693033343775
+6e6930333438756e6930333439756e6930333441756e6930333442756e6930333443
+756e6930333444756e6930333445756e6930333530756e6930333531756e69303335
+32756e6930333533756e6930333534756e6930333535756e6930333536756e693033
+3537756e6930333538756e6930333539756e6930333541756e6930333542756e6930
+333543756e6930333544756e6930333545756e6930333546756e6930333630756e69
+30333631756e6930333632756e6930333633756e6930333634756e6930333635756e
+6930333636756e6930333637756e6930333638756e6930333639756e693033364175
+6e6930333642756e6930333643756e6930333644756e6930333645756e6930333646
+756e6930333734756e6930333735756e6930333741756e6930333742756e69303337
+43756e6930333744756e6930333745746f6e6f736469657265736973746f6e6f7341
+6c706861746f6e6f73616e6f74656c656961457073696c6f6e746f6e6f7345746174
+6f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f73557073696c6f6e746f
+6e6f734f6d656761746f6e6f73696f74616469657265736973746f6e6f73416c7068
+614265746147616d6d6144656c7461457073696c6f6e5a6574614574615468657461
+496f74614b617070614c616d6264614d754e7558694f6d6963726f6e506952686f53
+69676d61546175557073696c6f6e5068694368695073694f6d656761496f74616469
+657265736973557073696c6f6e6469657265736973616c706861746f6e6f73657073
+696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73757073696c6f6e64
+69657265736973746f6e6f73616c7068616265746167616d6d6164656c7461657073
+696c6f6e7a6574616574617468657461696f74616b617070616c616d6264616e7578
+696f6d6963726f6e706972686f7369676d61317369676d61746175757073696c6f6e
+7068696368697073696f6d656761696f74616469657265736973757073696c6f6e64
+696572657369736f6d6963726f6e746f6e6f73757073696c6f6e746f6e6f736f6d65
+6761746f6e6f73756e6930334430746865746131557073696c6f6e31756e69303344
+33756e6930334434706869316f6d65676131756e6930334437756e6930334438756e
+6930334439756e6930334441756e6930334442756e6930334443756e693033444475
+6e6930334445756e6930334446756e6930334530756e6930334531756e6930334630
+756e6930334631756e6930334632756e6930334633756e6930334634756e69303346
+35756e6930334636756e6930334638756e6930334639756e6930334642756e693033
+4644756e6930334645756e6930334646756e69303430306166696931303032336166
+69693130303531616669693130303532616669693130303533616669693130303534
+61666969313030353561666969313030353661666969313030353761666969313030
+3538616669693130303539616669693130303630616669693130303631756e693034
+30446166696931303036326166696931303134356166696931303031376166696931
+30303138616669693130303139616669693130303230616669693130303231616669
+69313030323261666969313030323461666969313030323561666969313030323661
+66696931303032376166696931303032386166696931303032396166696931303033
+30616669693130303331616669693130303332616669693130303333616669693130
+30333461666969313030333561666969313030333661666969313030333761666969
+31303033386166696931303033396166696931303034306166696931303034316166
+69693130303432616669693130303433616669693130303434616669693130303435
+61666969313030343661666969313030343761666969313030343861666969313030
+34396166696931303036356166696931303036366166696931303036376166696931
+30303638616669693130303639616669693130303730616669693130303732616669
+69313030373361666969313030373461666969313030373561666969313030373661
+66696931303037376166696931303037386166696931303037396166696931303038
+30616669693130303831616669693130303832616669693130303833616669693130
+30383461666969313030383561666969313030383661666969313030383761666969
+31303038386166696931303038396166696931303039306166696931303039316166
+69693130303932616669693130303933616669693130303934616669693130303935
+616669693130303936616669693130303937756e6930343530616669693130303731
+61666969313030393961666969313031303061666969313031303161666969313031
+30326166696931303130336166696931303130346166696931303130356166696931
+30313036616669693130313037616669693130313038616669693130313039756e69
+30343544616669693130313130616669693130313933756e6930343630756e693034
+3631616669693130313436616669693130313934756e6930343634756e6930343635
+756e6930343636756e6930343637756e6930343638756e6930343639756e69303436
+41756e6930343642756e6930343643756e6930343644756e6930343645756e693034
+3646756e6930343730756e6930343731616669693130313437616669693130313935
+616669693130313438616669693130313936756e6930343736756e6930343737756e
+6930343743756e6930343744756e6930343745756e6930343746756e693034383375
+6e6930343843756e6930343844756e6930343845756e693034384661666969313030
+3530616669693130303938756e6930343932756e6930343933756e6930343934756e
+6930343935756e6930343936756e6930343937756e6930343938756e693034393975
+6e6930343941756e6930343942756e6930343943756e6930343944756e6930343945
+756e6930343946756e6930344130756e6930344131756e6930344132756e69303441
+33756e6930344134756e6930344135756e6930344136756e6930344137756e693034
+4138756e6930344139756e6930344141756e6930344142756e6930344143756e6930
+344144756e6930344145756e6930344146756e6930344230756e6930344231756e69
+30344232756e6930344233756e6930344234756e6930344235756e6930344236756e
+6930344237756e6930344238756e6930344239756e6930344241756e693034424275
+6e6930344243756e6930344244756e6930344245756e6930344246756e6930344330
+756e6930344331756e6930344332756e6930344333756e6930344334756e69303443
+37756e6930344338756e6930344339756e6930344341756e6930344342756e693034
+4343756e6930344430756e6930344431756e6930344432756e6930344433756e6930
+344434756e6930344435756e6930344436756e6930344437756e6930344438616669
+693130383436756e6930344441756e6930344442756e6930344443756e6930344444
+756e6930344445756e6930344446756e6930344530756e6930344531756e69303445
+32756e6930344533756e6930344534756e6930344535756e6930344536756e693034
+4537756e6930344538756e6930344539756e6930344541756e6930344542756e6930
+344543756e6930344544756e6930344545756e6930344546756e6930344630756e69
+30344631756e6930344632756e6930344633756e6930344634756e6930344635756e
+6930344636756e6930344637756e6930344638756e69303446396166696935373739
+39616669693537383031616669693537383030616669693537383032616669693537
+37393361666969353737393461666969353737393561666969353737393861666969
+3537373937616669693537383036756e693035424161666969353737393661666969
+35373830376166696935373833396166696935373634356166696935373834316166
+69693537383432616669693537383034616669693537383033616669693537363538
+756e6930354336616669693537363634616669693537363635616669693537363636
+61666969353736363761666969353736363861666969353736363961666969353736
+37306166696935373637316166696935373637326166696935373637336166696935
+37363734616669693537363735616669693537363736616669693537363737616669
+69353736373861666969353736373961666969353736383061666969353736383161
+66696935373638326166696935373638336166696935373638346166696935373638
+35616669693537363836616669693537363837616669693537363838616669693537
+36383961666969353736393061666969353737313661666969353737313761666969
+3537373138756e6930354633756e6930354634756e6931443135612e737570657269
+6f72617475726e65642e7375706572696f72756e6931443435756e6931443436622e
+7375706572696f72642e7375706572696f72652e7375706572696f72657475726e65
+642e7375706572696f72756e6931443442756e6931443443672e7375706572696f72
+697475726e65642e7375706572696f726b2e7375706572696f726d2e737570657269
+6f72656e672e7375706572696f726f2e7375706572696f72637475726e65642e7375
+706572696f72756e6931443534756e6931443535702e7375706572696f72742e7375
+706572696f72752e7375706572696f72756e69314435396d7475726e65642e737570
+6572696f72762e7375706572696f72756e6931443543756e6931443544756e693144
+3545756e6931443546756e6931443632756e6931443633756e6931443634756e6931
+443635756e6931443636756e6931443637632e7375706572696f72662e7375706572
+696f727a2e7375706572696f72756e6931453030756e6931453031756e6931453032
+756e6931453033756e6931453034756e6931453035756e6931453036756e69314530
+37756e6931453038756e6931453039756e6931453041756e6931453042756e693145
+3043756e6931453044756e6931453045756e6931453046756e6931453130756e6931
+453131756e6931453132756e6931453133756e6931453134756e6931453135756e69
+31453136756e6931453137756e6931453138756e6931453139756e6931453141756e
+6931453142756e6931453143756e6931453144756e6931453145756e693145314675
+6e6931453230756e6931453231756e6931453232756e6931453233756e6931453234
+756e6931453235756e6931453236756e6931453237756e6931453238756e69314532
+39756e6931453241756e6931453242756e6931453243756e6931453244756e693145
+3245756e6931453246756e6931453330756e6931453331756e6931453332756e6931
+453333756e6931453334756e6931453335756e6931453336756e6931453337756e69
+31453338756e6931453339756e6931453341756e6931453342756e6931453343756e
+6931453344756e6931453345756e6931453346756e6931453430756e693145343175
+6e6931453432756e6931453433756e6931453434756e6931453435756e6931453436
+756e6931453437756e6931453438756e6931453439756e6931453441756e69314534
+42756e6931453443756e6931453444756e6931453445756e6931453446756e693145
+3530756e6931453531756e6931453532756e6931453533756e6931453534756e6931
+453535756e6931453536756e6931453537756e6931453538756e6931453539756e69
+31453541756e6931453542756e6931453543756e6931453544756e6931453545756e
+6931453546756e6931453630756e6931453631756e6931453632756e693145363375
+6e6931453634756e6931453635756e6931453636756e6931453637756e6931453638
+756e6931453639756e6931453641756e6931453642756e6931453643756e69314536
+44756e6931453645756e6931453646756e6931453730756e6931453731756e693145
+3732756e6931453733756e6931453734756e6931453735756e6931453736756e6931
+453737756e6931453738756e6931453739756e6931453741756e6931453742756e69
+31453743756e6931453744756e6931453745756e6931453746576772617665776772
+61766557616375746577616375746557646965726573697377646965726573697375
+6e6931453836756e6931453837756e6931453838756e6931453839756e6931453841
+756e6931453842756e6931453843756e6931453844756e6931453845756e69314538
+46756e6931453930756e6931453931756e6931453932756e6931453933756e693145
+3934756e6931453935756e6931453936756e6931453937756e6931453938756e6931
+453939756e6931453941756e6931453942756e6931453943756e6931453944476572
+6d616e64626c73756e6931453946756e6931454130756e6931454131756e69314541
+32756e6931454133756e6931454134756e6931454135756e6931454136756e693145
+4137756e6931454138756e6931454139756e6931454141756e6931454142756e6931
+454143756e6931454144756e6931454145756e6931454146756e6931454230756e69
+31454231756e6931454232756e6931454233756e6931454234756e6931454235756e
+6931454236756e6931454237756e6931454238756e6931454239756e693145424175
+6e6931454242756e6931454243756e6931454244756e6931454245756e6931454246
+756e6931454330756e6931454331756e6931454332756e6931454333756e69314543
+34756e6931454335756e6931454336756e6931454337756e6931454338756e693145
+4339756e6931454341756e6931454342756e6931454343756e6931454344756e6931
+454345756e6931454346756e6931454430756e6931454431756e6931454432756e69
+31454433756e6931454434756e6931454435756e6931454436756e6931454437756e
+6931454438756e6931454439756e6931454441756e6931454442756e693145444375
+6e6931454444756e6931454445756e6931454446756e6931454530756e6931454531
+756e6931454532756e6931454533756e6931454534756e6931454535756e69314545
+36756e6931454537756e6931454538756e6931454539756e6931454541756e693145
+4542756e6931454543756e6931454544756e6931454545756e6931454546756e6931
+454630756e6931454631596772617665796772617665756e6931454634756e693145
+4635756e6931454636756e6931454637756e6931454638756e6931454639756e6931
+454641756e6931454642756e6931454643756e6931454644756e6931454645756e69
+31454646756e6931463030756e6931463031756e6931463032756e6931463033756e
+6931463034756e6931463035756e6931463036756e6931463037756e693146303875
+6e6931463039756e6931463041756e6931463042756e6931463043756e6931463044
+756e6931463045756e6931463046756e6931463130756e6931463131756e69314631
+32756e6931463133756e6931463134756e6931463135756e6931463138756e693146
+3139756e6931463141756e6931463142756e6931463143756e6931463144756e6931
+463230756e6931463231756e6931463232756e6931463233756e6931463234756e69
+31463235756e6931463236756e6931463237756e6931463238756e6931463239756e
+6931463241756e6931463242756e6931463243756e6931463244756e693146324575
+6e6931463246756e6931463330756e6931463331756e6931463332756e6931463333
+756e6931463334756e6931463335756e6931463336756e6931463337756e69314633
+38756e6931463339756e6931463341756e6931463342756e6931463343756e693146
+3344756e6931463345756e6931463346756e6931463430756e6931463431756e6931
+463432756e6931463433756e6931463434756e6931463435756e6931463438756e69
+31463439756e6931463441756e6931463442756e6931463443756e6931463444756e
+6931463530756e6931463531756e6931463532756e6931463533756e693146353475
+6e6931463535756e6931463536756e6931463537756e6931463539756e6931463542
+756e6931463544756e6931463546756e6931463630756e6931463631756e69314636
+32756e6931463633756e6931463634756e6931463635756e6931463636756e693146
+3637756e6931463638756e6931463639756e6931463641756e6931463642756e6931
+463643756e6931463644756e6931463645756e6931463646756e6931463730756e69
+31463731756e6931463732756e6931463733756e6931463734756e6931463735756e
+6931463736756e6931463737756e6931463738756e6931463739756e693146374175
+6e6931463742756e6931463743756e6931463744756e6931463830756e6931463831
+756e6931463832756e6931463833756e6931463834756e6931463835756e69314638
+36756e6931463837756e6931463838756e6931463839756e6931463841756e693146
+3842756e6931463843756e6931463844756e6931463845756e6931463846756e6931
+463930756e6931463931756e6931463932756e6931463933756e6931463934756e69
+31463935756e6931463936756e6931463937756e6931463938756e6931463939756e
+6931463941756e6931463942756e6931463943756e6931463944756e693146394575
+6e6931463946756e6931464130756e6931464131756e6931464132756e6931464133
+756e6931464134756e6931464135756e6931464136756e6931464137756e69314641
+38756e6931464139756e6931464141756e6931464142756e6931464143756e693146
+4144756e6931464145756e6931464146756e6931464230756e6931464231756e6931
+464232756e6931464233756e6931464234756e6931464236756e6931464237756e69
+31464238756e6931464239756e6931464241756e6931464242756e6931464243756e
+6931464244756e6931464245756e6931464246756e6931464330756e693146433175
+6e6931464332756e6931464333756e6931464334756e6931464336756e6931464337
+756e6931464338756e6931464339756e6931464341756e6931464342756e69314643
+43756e6931464344756e6931464345756e6931464346756e6931464430756e693146
+4431756e6931464432756e6931464433756e6931464436756e6931464437756e6931
+464438756e6931464439756e6931464441756e6931464442756e6931464444756e69
+31464445756e6931464446756e6931464530756e6931464531756e6931464532756e
+6931464533756e6931464534756e6931464535756e6931464536756e693146453775
+6e6931464538756e6931464539756e6931464541756e6931464542756e6931464543
+756e6931464544756e6931464545756e6931464546756e6931464632756e69314646
+33756e6931464634756e6931464636756e6931464637756e6931464638756e693146
+4639756e6931464641756e6931464642756e6931464643756e6931464644756e6931
+464645656e71756164656d71756164656e7370616365656d73706163657468726565
+706572656d7370616365666f7572706572656d7370616365736978706572656d7370
+616365666967757265737061636570756e6374756174696f6e73706163657468696e
+73706163656861697273706163657a65726f7769647468737061636568797068656e
+74776f68797068656e6e6f627265616b686f72697a6f6e74616c626172756e693230
+3136756e64657273636f726564626c71756f7465726576657273656471756f746564
+626c726576747269616e676c6562756c6c657468797068656e646f74756e69323032
+4670657274656e74686f7573616e646d696e7574657365636f6e647072696d657472
+69706c657072696d657265766572736564756e6932303336756e6932303337756e69
+323033426578636c616d64626c696e746572726f62616e67756e6932303345756e69
+323034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c
+616d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e69
+323034467a65726f2e7375706572696f72692e7375706572696f72666f75722e7375
+706572696f72666976652e7375706572696f727369782e7375706572696f72736576
+656e2e7375706572696f7265696768742e7375706572696f726e696e652e73757065
+72696f72706c75732e7375706572696f726d696e75732e7375706572696f72657175
+616c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e
+72696768742e7375706572696f726e2e7375706572696f727a65726f2e696e666572
+696f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e69
+6e666572696f72666f75722e696e666572696f72666976652e696e666572696f7273
+69782e696e666572696f72736576656e2e696e666572696f7265696768742e696e66
+6572696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e
+75732e696e666572696f72657175616c2e696e666572696f72706172656e6c656674
+2e696e666572696f72706172656e72696768742e696e666572696f72612e696e6665
+72696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f72
+756e6932303934756e6932303935756e6932303936756e6932303937756e69323039
+38756e6932303939756e6932303941756e6932303942756e6932303943756e693230
+41326672616e636c697261706573657461756e6932304138646f6e674575726f756e
+69323041467065736f756e6932313030756e6932313031756e693231303263656e74
+696772616465616669693631323438756e693231303666616872656e68656974756e
+6932313043756e6932313044756e6932313045756e6932313046496672616b747572
+616669693631323839756e69323131356e756d65726f756e6932313139756e693231
+3141526672616b747572756e6932313144756e6932313230756e6932313234756e69
+323132364f6d656761696e76657374696d61746564616c657068756e693231333675
+6e6932313337756e6932313338756e6932313339756e69323134466f6e6566696674
+6874776f6669667468737468726565666966746873666f75726669667468736f6e65
+7369787468666976657369787468736f6e656e756d657261746f724f6e65726f6d61
+6e54776f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f
+6d616e536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e
+65726f6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d
+616e756e6932313643756e6932313644756e6932313645756e69323136466f6e6572
+6f6d616e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e666976
+65726f6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e
+6e696e65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665
+726f6d616e756e6932313743756e6932313744756e6932313745756e693231374675
+6e6932313830756e6932313831756e6932313832756e6932313833756e6932313834
+6172726f776c6566746172726f7775706172726f7772696768746172726f77646f77
+6e6172726f77626f74686172726f777570646e756e6932313936756e693231393775
+6e6932313938756e6932313939756e6932313941756e6932313942756e6932314136
+6172726f777570646e627365756e6932314145756e6932314243756e693231424475
+6e6932314330756e6932314331756e6932314342756e6932314343756e6932314344
+756e6932314345756e69323143466172726f7764626c6c6566746172726f7764626c
+75706172726f7764626c72696768746172726f7764626c646f776e6172726f776462
+6c626f7468756e69323144354e776172726f774e656172726f7753656172726f7753
+776172726f77756e6976657273616c756e69323230317061727469616c6469666665
+78697374656e7469616c756e6932323034656d707479736574756e69323230366772
+616469656e74656c656d656e746e6f74656c656d656e74756e693232304173756368
+74686174756e6932323043756e693232304470726f64756374756e69323231307375
+6d6d6174696f6e756e6932323133756e6932323134756e6932323135756e69323231
+36617374657269736b6d617468756e6932323138756e69323231397261646963616c
+756e6932323142756e693232314370726f706f7274696f6e616c696e66696e697479
+756e6932323146616e676c65756e6932323231756e6932323232756e693232323375
+6e6932323234756e6932323235756e69323232366c6f676963616c616e646c6f6769
+63616c6f72696e74657273656374696f6e756e696f6e696e74656772616c756e6932
+323243756e6932323244756e6932323245756e693232333673696d696c6172756e69
+32323431636f6e677275656e74617070726f78657175616c756e6932323439756e69
+323235396e6f74657175616c6571756976616c656e6365756e69323236326c657373
+657175616c67726561746572657175616c756e6932323641756e6932323642756e69
+32323645756e6932323646756e6932323730756e693232373170726f706572737562
+73657470726f70657273757065727365746e6f74737562736574756e693232383563
+6972636c65706c7573756e6932323936636972636c656d756c7469706c79756e6932
+323938756e6932324132756e6932324133756e693232413470657270656e64696375
+6c6172756e6932324136756e6932324236756e6932324237646f746d617468756e69
+32324545756e6932324546756e6932333030756e6932333032756e6932333033756e
+6932333130696e74656772616c746f70696e74656772616c626f74746f6d756e6932
+333236756e6932333237756e6932333239756e6932333241756e6932333242756e69
+32333744756e6932333830756e6932333942756e6932333943756e6932333944756e
+6932333945756e6932333946756e6932334130756e6932334131756e693233413275
+6e6932334133756e6932334134756e6932334135756e6932334136756e6932334137
+756e6932334138756e6932334139756e6932334141756e6932334142756e69323341
+43756e6932334144696e74656772616c657874656e73696f6e756e6932334433756e
+6932343233756e6932343630756e6932343631756e6932343632756e693234363375
+6e6932343634756e6932343635756e6932343636756e6932343637756e6932343638
+756e6932343639756e6932343641756e6932343642756e6932343643756e69323436
+44756e6932343645756e6932343646756e6932343730756e6932343731756e693234
+3732756e6932343733756e6932343734756e6932343735756e6932343736756e6932
+343737756e6932343738756e6932343739756e6932343741756e6932343742756e69
+32343743756e6932343744756e6932343745756e6932343746756e6932343830756e
+6932343831756e6932343832756e6932343833756e6932343834756e693234383575
+6e6932343836756e6932343837756e6932344236756e6932344237756e6932344238
+756e6932344239756e6932344241756e6932344242756e6932344243756e69323442
+44756e6932344245756e6932344246756e6932344330756e6932344331756e693234
+4332756e6932344333756e6932344334756e6932344335756e6932344336756e6932
+344337756e6932344338756e6932344339756e6932344341756e6932344342756e69
+32344343756e6932344344756e6932344345756e6932344346756e6932344430756e
+6932344431756e6932344432756e6932344433756e6932344434756e693234443575
+6e6932344436756e6932344437756e6932344438756e6932344439756e6932344441
+756e6932344442756e6932344443756e6932344444756e6932344445756e69323444
+46756e6932344530756e6932344531756e6932344532756e6932344533756e693234
+4534756e6932344535756e6932344536756e6932344537756e6932344538756e6932
+344539756e6932344541756e6932344542756e6932344543756e6932344544756e69
+32344545756e6932344546756e6932344630756e6932344631756e6932344632756e
+6932344633756e6932344634756e6932344635756e6932344636756e693234463775
+6e6932344638756e6932344639756e6932344641756e6932344642756e6932344643
+756e6932344644756e6932344645756e693234464666696c6c6564626f7848323230
+373374726961677570756e6932354233756e6932354236756e693235423774726961
+67646e756e6932354244756e6932354330756e6932354331756e6932354336756e69
+32354337756e69323543396c6f7a656e6765626967636972636c65756e6932354345
+483138353333756e6932354430756e6932354431756e6932354432756e6932354433
+756e6932354434756e6932354435756e6932354436756e69323544376f70656e6275
+6c6c6574756e6932363035756e6932363039756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e6932363342756e6932363343756e6932363344756e6932363345756e6932363346
+66656d616c65756e69323634316d616c65756e6932363433756e6932363434756e69
+32363435756e6932363436756e6932363437756e6932363438756e6932363439756e
+6932363441756e6932363442756e6932363443756e6932363444756e693236344575
+6e6932363446756e6932363530756e6932363531756e6932363532756e6932363533
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646756e6932363935756e6932363938
+756e6932364132756e6932364133756e6932364134756e6932364135756e69323641
+36756e6932364137756e69323641436d6172726965646469766f72636564756e6932
+364146756e6932373134756e693237313864696564756e6932373637756e69323737
+36756e6932373737756e6932373738756e6932373739756e6932373741756e693237
+3742756e6932373743756e6932373744756e6932373745756e6932373746756e6932
+374332756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433645756e6932433646
+756e6932433734756e6932433735756e6932433736756e6932433737756e69324530
+32756e6932453033756e6932453034756e6932453035756e6932453038756e693245
+3039756e6932453041756e6932453137756e6932453138756e6941363536756e6941
+363537756e6941373144756e6941373230756e6941373231756e6941373635547578
+756e6945303031756e6945303032756e6945303033756e6945303034756e69453030
+35756e6945303036756e6945303037756e6945303038756e6945303039756e694530
+3041756e6945303042636f70796c6566747075626c6963646f6d61696e6372656174
+697665636f6d6d6f6e737a65726f2e736c6173686669747465647a65726f2e666974
+7465646f6e652e66697474656474776f2e66697474656474687265652e6669747465
+64666f75722e666974746564666976652e6669747465647369782e66697474656473
+6576656e2e66697474656465696768742e6669747465646e696e652e666974746564
+4575726f2e66697474656459656e2e666974746564756e6945303143612e616c7475
+6e694530314570657274686f7573616e647a65726f7a65726f2e6f6c647374796c65
+6f6e652e6f6c647374796c6574776f2e6f6c647374796c6574687265652e6f6c6473
+74796c65666f75722e6f6c647374796c65666976652e6f6c647374796c657369782e
+6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f6c64737479
+6c656e696e652e6f6c647374796c65756e69453032414164696572657369732e616c
+744f64696572657369732e616c745564696572657369732e616c74572e616c74665f
+62665f665f68665f665f6a665f665f6b665f665f74665f68665f6a665f6b665f7463
+5f6b635f68745f74635f746c6f6e67735f696c6f6e67735f6c6f6e6773756e694530
+3430756e6945303431756e69453034326c6f6e67735f6c6c6f6e67735f6c6f6e6773
+5f696c6f6e67735f7361652e616c746c6f6e67735f68515f75545f68745f7a682e61
+6c746765726d616e64626c732e616c746765726d616e64626c732e73733033476572
+6d616e64626c732e616c74756e6945303446616d70657273616e642e616c74612e73
+63622e7363632e7363642e7363652e7363662e7363672e7363682e7363692e73636a
+2e73636b2e73636c2e73636d2e73636e2e73636f2e7363702e7363712e7363722e73
+63732e7363742e7363752e7363762e7363772e7363782e7363792e73637a2e736375
+6e694530364268797068656e2e73636167726176652e73636161637574652e736361
+63697263756d666c65782e73636174696c64652e73636164696572657369732e7363
+6172696e672e736361652e736363636564696c6c612e73636567726176652e736365
+61637574652e73636563697263756d666c65782e73636564696572657369732e7363
+6967726176652e73636961637574652e73636963697263756d666c65782e73636964
+696572657369732e73636574682e73636e74696c64652e73636f67726176652e7363
+6f61637574652e73636f63697263756d666c65782e73636f74696c64652e73636f64
+696572657369732e73636f652e73636f736c6173682e73637567726176652e736375
+61637574652e73637563697263756d666c65782e73637564696572657369732e7363
+7961637574652e736374686f726e2e73637964696572657369732e7363696a2e7363
+6765726d616e64626c732e7363616c746765726d616e64626c732e7363515f752e73
+63712e73635f752e73636463726f61742e73636162726576652e7363616f676f6e65
+6b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363656f67
+6f6e656b2e7363656361726f6e2e73636762726576652e73636c61637574652e7363
+6c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e73636f
+68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e736373
+61637574652e736373636564696c6c612e7363736361726f6e2e736374636564696c
+6c612e7363746261722e73637572696e672e73637568756e676172756d6c6175742e
+73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e73636c
+6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73637363
+6f6d6d61616363656e742e736369646f74616363656e742e7363616d70657273616e
+642e7363612e7363616c74712e7375706572696f726772617665636f6d622e737570
+736163757465636f6d622e7375707363697263756d666c6578636f6d622e73757073
+74696c6465636f6d622e737570736d6163726f6e636f6d622e73757073662e73686f
+7274665f662e73686f7274756e6945304532756e6945304533756e6945304534756e
+6945304535756e6945304536756e6945304537756e6945304538756e694530453975
+6e69453045414b2e616c74522e616c744a2e616c74756e6945304545756e69453045
+46756e6945304630772e616c74756e6945304632756e6945304633756e6945304634
+756e6945304635792e616c74412e616c74756e6945304639756e69453046426b7265
+6973756e6945313031756e6945313034756e6945313035756e6945313036756e6945
+3130377a65726f2e6361706f6e652e63617074776f2e63617074687265652e636170
+666f75722e636170666976652e6361707369782e636170736576656e2e6361706569
+6768742e6361706e696e652e6361707a65726f2e7461626f6c647374796c656f6e65
+2e7461626f6c647374796c6574776f2e7461626f6c647374796c6574687265652e74
+61626f6c647374796c65666f75722e7461626f6c647374796c65666976652e746162
+6f6c647374796c657369782e7461626f6c647374796c65736576656e2e7461626f6c
+647374796c6565696768742e7461626f6c647374796c656e696e652e7461626f6c64
+7374796c65756e6945313238756e6945313239756e6945313241756e69453133306c
+656166756e6945313342756e6945313343756e6945313344622e696e666572696f72
+632e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e
+666572696f72682e696e666572696f72692e696e666572696f726a2e696e66657269
+6f726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e
+696e666572696f72702e696e666572696f72712e696e666572696f72722e696e6665
+72696f72732e696e666572696f72742e696e666572696f72752e696e666572696f72
+762e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e
+666572696f72756e6945313838756e69453138396166696931303038362e616c7475
+6e694531394467726176652e63617061637574652e63617063697263756d666c6578
+2e6361706361726f6e2e63617062726576652e63617068756e676172756d6c617574
+2e63617073706163655f756e69303330462e6361706272657665696e766572746564
+636d622e63617062726576652e63797263617062726576652e637972646965726573
+69732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e63
+6170756e6945334530756e6945334531756e6945334532756e6945334533756e6945
+334534756e6945334535756e6945334536756e6945334537756e6945334538756e69
+45334539756e6945334541756e6945334542756e6945334543756e6945334544756e
+6945334630756e6945334631756e6945334632756e69453346336d65747269637a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170756e6946364245616669693130
+3036362e6974616c665f66665f69665f6c665f665f69665f665f6c6c6f6e67735f74
+735f74756e6946464644753144353338753144353339753144353342753144353343
+75314435334475314435334575314435343075314435343175314435343275314435
+34337531443534347531443534367531443534377531443534417531443534427531
+44353443753144353444753144353445753144353446753144353530352e332e304c
+696e7578204c6962657274696e65206279205068696c69707020482e20506f6c6c2c
+0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c6c6f77696e
+67204672656520536f667477617265204c6963656e7365733a0a47504c202847656e
+6572616c205075626c6963204c6963656e736529207769746820666f6e742d657863
+657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963656e736529
+2e0a43726561746564207769746820466f6e74466f7267652028687474703a2f2f66
+6f6e74666f7267652e73662e6e6574290a5365707420323030332c20323030342c20
+323030352c20323030362c20323030372c20323030382c20323030392c2032303130
+2c20323031312c323031324c696e7578204c6962657274696e65204f4c696e757820
+4c6962657274696e65204f000000000100020003000400050006000700680009000a
+000b000c000d000e000f0010001100120013001400150016001700180019001a001b
+001c001d001e001f0020002100220023002400250026002700280029002a002b002c
+002d002e002f0030003100320033003400350036003700380039003a003b003c003d
+003e003f0040007c00420043004400450046004700480049004a004b004c004d004e
+004f0050005100520053005400550056005700580059005a005b005c005d005e005f
+01870060006100620067006400a00066008300aa008b006a0097018800a5008000a1
+009c0189018a007d018b018c00720085018d008f0078009e009b00a3007b00ae00ab
+00ac00b000ad00af008a00b100b500b200b300b400b900b600b700b8009a00ba00be
+00bb00bc00bf00bd00a8008d00c400c100c200c300c5009d009500cb00c800c900cd
+00ca00cc009000ce00d200cf00d000d100d600d300d400d500a700d700db00d800d9
+00dc00da009f009300e100de00df00e000e200a200e3018e018f0190019101920193
+019401950196019701980199019a019b019c019d019e019f01a001a101a201a301a4
+01a501a601a701a801a901aa01ab01ac01ad01ae01af01b001b101b201b301b401b5
+01b601b701b801b901ba01bb01bc01bd01be009101bf01c001c101c201c301c401c5
+01c601c701c801c901ca01cb01cc01cd008c009201ce01cf01d001d101d201d301d4
+01d501d601d701d801d901da01db01dc008e009401dd01de01df01e001e101e201e3
+01e401e501e601e701e800c000dd01e901ea01eb01ec01ed01ee01ef01f001f101f2
+01f301f401f501f601f701f801f901fa01fb01fc01fd01fe00c601ff020002010202
+00c700e40203020402050206020702080209020a020b020c020d020e020f02100211
+021202130214021500650216021702180219021a021b021c021d021e021f02200221
+02220223022402250226022702280229022a022b022c022d022e022f023002310232
+0233023402350236023702380239023a023b023c023d023e023f0240024102420243
+024402450246024702480249024a024b024c024d024e024f02500251025202530254
+02550256025702580259025a025b025c025d025e025f026002610262026302640265
+0266026702680269026a026b026c026d026e026f0270027102720273027402750276
+027702780279027a027b027c027d027e027f02800281028202830284028502860287
+02880289028a028b028c028d028e028f029002910292029302940295029602970298
+0299029a029b029c029d029e029f02a002a102a202a302a402a502a602a702a802a9
+02aa02ab02ac02ad02ae02af02b002b102b202b302b402b502b602b702b802b902ba
+02bb02bc02bd02be02bf02c002c102c202c302c402c502c602c702c802c902ca02cb
+02cc02cd02ce02cf02d002d102d202d302d402d502d602d702d802d902da02db02dc
+02dd02de02df02e002e102e202e302e402e502e602e702e802e902ea02eb02ec02ed
+02ee02ef02f002f102f202f302f402f502f602f702f802f902fa02fb02fc02fd02fe
+02ff0300030103020303030403050306030703080309030a030b030c030d030e030f
+0310031103120313031403150316031703180319031a031b031c031d031e031f0320
+032103220323032403250326032703280329032a032b032c032d032e032f03300331
+03320333033403350336033703380339033a033b033c033d033e033f034003410342
+034303440345034603470348007e00880349034a034b034c034d034e034f03500351
+03520353035403550356035703580081008200840087007f00860359035a035b035c
+035d035e035f0360036103620363036403650366036703680369036a036b036c036d
+036e036f0370037103720373037403750376037703780379037a037b037c037d037e
+037f0380038103820383038403850386038703880389038a038b038c038d038e038f
+0390039103920393039403950396039703980399039a039b039c039d039e039f03a0
+03a103a203a303a403a503a603a703a803a903aa03ab03ac03ad03ae03af03b003b1
+03b203b303b403b503b603b703b803b903ba03bb03bc03bd03be03bf03c003c103c2
+03c303c403c503c603c703c803c903ca03cb03cc03cd03ce03cf03d003d103d203d3
+03d403d503d603d703d803d903da03db03dc03dd03de03df03e003e103e203e303e4
+03e503e603e703e803e903ea03eb03ec03ed03ee03ef03f003f103f203f303f403f5
+03f603f703f803f903fa03fb03fc03fd03fe03ff0400040104020403040404050406
+040704080409040a040b040c040d040e040f04100411041204130414041504160417
+04180419041a041b041c041d041e041f042004210422042304240425009804260427
+04280429042a042b042c042d042e042f043004310432043304340435043604370438
+0439043a043b043c043d043e043f0440044104420443044404450446044704480449
+044a044b044c044d044e044f0450045104520453045404550456045704580459045a
+045b045c045d045e045f0460046104620463046404650466046704680469046a046b
+046c046d046e046f0470047104720473047404750476047704780479047a047b047c
+047d047e047f0480048104820483048404850486048704880489048a048b048c048d
+048e048f0490049104920493049404950496049704980499049a049b049c049d049e
+049f04a004a104a204a304a404a504a604a704a804a904aa04ab04ac04ad04ae04af
+04b004b104b204b304b404b504b604b704b804b904ba04bb04bc04bd04be04bf04c0
+04c104c204c304c404c504c604c704c804c904ca04cb04cc04cd04ce04cf04d004d1
+04d204d304d404d504d604d704d804d904da04db04dc04dd04de04df04e004e104e2
+04e304e404e504e604e704e804e904ea04eb04ec04ed04ee04ef04f004f104f204f3
+04f404f504f604f704f804f904fa04fb04fc04fd04fe04ff05000501050205030504
+05050506050705080509050a050b050c050d050e050f051005110512051305140515
+0516051705180519051a051b051c051d051e051f0520052105220523052405250526
+052705280529052a052b052c052d052e052f05300531053205330534053505360537
+05380539053a053b053c053d053e053f054005410542054305440545054605470548
+0549054a054b054c054d054e054f0550055105520553055405550556055705580559
+055a055b055c055d055e055f0560056105620563056405650566056705680569056a
+056b056c056d056e056f0570057105720573057405750576057705780579057a057b
+057c057d057e057f0580058105820583058405850586058705880589058a058b058c
+058d058e058f0590059105920593059405950596059705980599059a059b059c059d
+059e059f05a005a105a205a305a405a505a605a705a805a905aa05ab05ac05ad05ae
+05af05b005b105b205b305b405b505b605b705b805b905ba05bb05bc05bd05be05bf
+05c005c105c205c305c405c505c605c705c805c905ca05cb05cc05cd05ce05cf05d0
+05d105d205d305d405d505d605d705d805d905da05db05dc05dd05de05df05e005e1
+05e205e305e405e505e605e705e805e905ea05eb05ec05ed05ee05ef05f005f105f2
+05f305f405f505f605f705f805f905fa05fb05fc05fd05fe05ff0600060106020603
+060406050606060706080609060a060b060c060d060e060f06100611061206130614
+06150616061706180619061a061b061c061d061e061f062006210622062306240625
+0626062706280629062a062b062c062d062e062f0630063106320633063406350636
+063706380639063a063b063c063d063e063f06400641064206430644064506460647
+06480649064a064b064c064d064e064f065006510652065306540655065606570658
+0659065a065b065c065d065e065f0660066106620663066406650666066706680669
+066a066b066c066d066e066f0670067106720673067406750676067706780679067a
+067b067c067d067e067f0680068106820683068406850686068706880689068a068b
+068c068d068e068f0690069106920693069406950696069706980699069a069b069c
+069d069e069f06a006a106a206a306a406a506a606a706a806a906aa06ab06ac06ad
+06ae06af06b006b106b206b306b406b506b606b706b806b906ba06bb06bc06bd06be
+06bf06c006c106c206c306c406c506c606c706c806c906ca06cb06cc06cd06ce06cf
+06d006d106d206d306d406d506d606d706d806d906da06db06dc06dd06de06df06e0
+06e106e206e306e406e506e606e706e806e906ea06eb06ec06ed06ee06ef06f006f1
+06f206f306f406f506f606f706f806f906fa06fb06fc06fd06fe06ff070007010702
+0703070407050706070707080709070a070b070c070d070e070f0710071107120713
+071407150716071707180719071a071b071c071d071e071f07200721072207230724
+07250726072707280729072a072b072c072d072e072f073007310732073307340735
+0736073707380739073a073b073c073d073e073f0740074107420743074407450746
+074707480749074a074b074c074d074e074f07500751075207530754075507560757
+07580759075a075b075c075d075e075f076007610762076307640765076607670768
+0769076a076b076c076d076e076f0770077107720773077407750776077707780779
+077a077b077c077d077e077f0780078107820783078407850786078707880789078a
+078b078c078d078e078f013a006f0089079007910792004100080075079300690077
+00760794007000710074079500ee00ed007907960797007a07980799079a079b079c
+079d079e006b006c079f07a007a107a207a3006307a407a507a607a707a807a907aa
+07ab07ac07ad07ae07af07b007b107b207b307b407b507b607b707b807b907ba07bb
+07bc07bd07be07bf07c007c107c207c307c407c507c607c707c807c907ca07cb07cc
+07cd07ce07cf07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd
+07de07df07e007e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee
+07ef07f0009907f107f207f307f407f507f607f707f807f907fa0144014507fb07fc
+07fd07fe07ff08000140014101420143080108020803080408050806080708080809
+080a080b080c080d080e080f0810081108120813081408150816081708180819081a
+081b081c081d081e081f0820082108220823082408250826082708280829082a082b
+082c082d082e082f0830083108320833083408350836083708380839083a083b083c
+083d083e083f0840084108420843084408450846084708480849084a084b084c084d
+084e084f085008510852085308540855085608570858085900a6085a085b085c085d
+085e085f0860086108620863086408650866086708680869086a086b086c086d086e
+086f0870087108720873087408750876087708780879087a087b087c087d087e087f
+0880088108820883088408850886088708880889088a088b088c088d088e088f0890
+089108920893089408950896089708980899089a089b089c089d089e089f08a008a1
+08a208a308a408a508a608a708a808a908aa08ab08ac08ad08ae08af08b008b108b2
+08b308b408b508b608b708b808b908ba08bb08bc08bd08be08bf08c008c108c208c3
+08c408c508c608c708c808c908ca08cb08cc08cd08ce08cf08d008d108d208d308d4
+08d508d608d708d808d908da08db08dc08dd08de08df08e008e108e208e308e408e5
+08e608e708e808e908ea08eb08ec08ed08ee08ef08f008f108f208f308f408f508f6
+08f708f808f908fa08fb08fc08fd08fe08ff09000901090209030904090509060907
+09080909090a090b090c090d090e090f091009110912091309140915091609170918
+0919091a091b091c091d091e091f0920092109220923092409250926092709280929
+092a092b092c092d092e092f0930093109320933093409350936093709380939093a
+093b093c093d093e093f0940094109420943094409450946094709480949094a094b
+094c094d094e094f0950095109520953095409550956095709580959095a095b095c
+095d095e095f0960096109620963096409650966096709680969096a096b096c096d
+096e096f0970097109720973097409750976097709780979097a097b097c097d097e
+097f0980098109820983098409850986098709880989098a098b098c098d098e098f
+0990099109920993099409950996099709980999099a099b099c099d099e099f09a0
+09a109a209a309a409a509a609a709a809a909aa09ab09ac09ad09ae09af09b009b1
+09b209b309b409b509b609b709b809b909ba09bb09bc09bd09be09bf09c009c109c2
+09c309c409c509c609c709c809c909ca09cb09cc09cd09ce09cf09d009d109d209d3
+09d409d509d609d709d809d909da09db09dc09dd09de09df09e009e109e209e309e4
+09e509e609e709e809e909ea09eb09ec09ed09ee09ef09f009f109f209f309f409f5
+09f609f709f809f909fa09fb09fc09fd09fe09ff0a000a010a020a030a040a050a06
+0a070a080a090a0a0a0b0a0c0a0d0a0e0a0f0a100a110a120a130a140a150a160a17
+0a180a190a1a0a1b0a1c0a1d0a1e0a1f0a200a210a220a230a240a250a260a270a28
+0a290a2a0a2b0a2c0a2d0a2e0a2f0a300a310a320a330a340a350a360a370a380a39
+0a3a0a3b0a3c0a3d0a3e0a3f0a400a410a420a430a440a450a460a470a480a490a4a
+0a4b0a4c0a4d0a4e0a4f0a500a510a520a530a540a550a560a570a580a590a5a0a5b
+0a5c0a5d0a5e0a5f0a600a610a620a630a640a650a660a670a680a690a6a0a6b0a6c
+0a6d0a6e0a6f0a700a710a720a730a740a750a760a770a780a790a7a0a7b0a7c0a7d
+0a7e0a7f0a800a810a820a830a840a850a860a870a880a890a8a0a8b0a8c0a8d0a8e
+0a8f0a900a910a920a930a940a950a960a970a980a990a9a0a9b0a9c0a9d0a9e0a9f
+0aa00aa10aa20aa30aa40aa50aa60aa70aa80aa90aaa0aab0aac0aad0aae0aaf0ab0
+0ab10ab20ab30ab40ab50ab60ab70ab80ab90aba0abb0abc0abd0abe0abf0ac00ac1
+0ac20ac30ac40ac50ac60ac70ac80ac90aca0acb0acc0acd0ace0acf0ad00ad10ad2
+0ad30ad40ad50ad60ad70ad80ad90ada0adb0adc0add0ade0adf0ae00ae10ae20ae3
+0ae40ae50ae60ae70ae80ae90aea0aeb0aec0aed0aee0aef0af00af10af20af30af4
+0af50af60af70af80af90afa0afb0afc0afd0afe0aff0b000b010b020b030b040b05
+0b060b070b080b090b0a0b0b0b0c0b0d0b0e0b0f0b100a720300000100004e000051
+00006a0000840000e20002fb00032d00046f0004800004d300052800053200054600
+055900056b0005790005920005ae00066b00068e0006bd0006db0006fd0007260007
+4900077500079e0007b50007d80007e50007fc00080900082b00090700092000094d
+00096100097b0009d9000a9a000b78000b91000ba4000bb9000bd8000bfa000c1500
+0c31000c4d000cf4000d15000d3e000e9d000f3e000f53000f62000f72000f80000f
+93000fb2000fea000ffe00103600104900106900107c0010a30010c20010d7001105
+00112400113d00122400124100126300128600129f0012b300144000153600155100
+16530017040017de0018910018a3001972001981001acc001adb001aeb001bf2001c
+ab001cc3001d7a001d8f001d92001dac001f3d001fe200205e00214d0021650022d1
+0022e80023b70023d40023e20024260024380024f600251b0025380025520025b000
+25d30025e200267c00277700278a00279e0027b30027ee0027fc00290b0029b4002a
+d5002af8002b1a002b3c002b5e002b8f002bc2002ceb002d37002d52002d97002ddc
+002e21002e89002ea3002ebe002ed9002f00002f1d002f52002f76002f9a002fbe00
+2fef00302000305600307b0030990030b70030d50030f90031140031b300326b0032
+9c0032cd0032fe0033410033800033c00033f300341c00344200346800348e0034c8
+0034e20034fd0035180035420035c80035fd00362000364300366600369c0036ce00
+37ba0037de00380600382e00385600388a0038a10039b70039da0039fb003a2f003a
+58003a93003bbd003d0b003d28003d45003d62003d7f003da0003dc2003de0003e01
+003e25003ec4003fab003fdb00402100404800408f0040c800410f00413900420d00
+42e500432b0043540043820043ee0044250044a80044d900454900457f0045f20046
+140047030048540049b60049de004ab5004ad1004b27004b46004bd2004ccf004dcb
+004dec004dff004e1f004e5f004e7c004e9a004ec8004eee0050860050b50050d100
+51050051510051850051ad0051df00520f0052b700534400536d0053940053c30053
+f000541a0054440054c80055f70056e200570600572a0057530057800057ac0057da
+0058a700595c00598d0059b40059ed005a1b005a4c005a77005ac1005b3c005b8600
+5bb9005d8e005e80005eca005f01005ff600613f00617e0061a000625200633a0063
+6500639b0063b80063e200640400643800646200649a0064c00064f300663a00676a
+0067d90067f200680d00682400684c0068710068960068c60068ef00691c00694400
+69c6006aa6006bd3006c10006ca9006d60006e08006eb3006faf00707100708e0071
+7b00721b0072dd0073620074160074330074b40075f30076870077ea0078e3007a02
+007a86007b26007c73007df6007e6e007f730081360081e50082ab00834400836b00
+839600848000851f00862c00875a00882d0088a80089340089590089de008b29008c
+25008ca9008d2f008d4c008e6f008f07008f8c0090440090ef0092380093990093ae
+00942d0094a800953c0096260096810096de00977900982800983e00985e00989600
+98af0098f500992f0099910099c2009a09009a46009b00009b41009c60009c82009c
+b7009cd3009cee009d12009d39009d58009d84009daf009df2009e24009f0c009fc2
+00a0a000a0d200a1a200a1c300a1ff00a24900a29900a2dd00a33300a37900a4b800
+a67f00a6ad00a71e00a74700a8c700a8eb00a90e00a93b00a96700a98700aa0800aa
+2a00aa8000aab100aafe00ab2c00ab9800ad1300adbc00ade500ae0c00af9800b077
+00b0ce00b11000b13f00b16a00b19100b1cc00b1f700b23200b27d00b2ac00b33b00
+b37200b3da00b44f00b47100b4f100b51b00b54900b57400b5a200b5da00b60b00b6
+4900b67a00b69e00b6d100b6f500b72600b77700b7b800b7fe00b81f00b8a200b92c
+00b94f00b97c00baf400bbdf00bc7000bd0300bd7600bded00be1300be4900beb500
+bee900bf2700bf6200bff500c03500c05d00c08400c0d500c10500c12100c13900c1
+f300c2d700c3a700c3bd00c4a400c5d100c78200c91c00ca6000caea00cc2000cd2f
+00ceb100cf5400d00100d0a800d18e00d19d00d3e000d59300d65900d6e500d7a600
+d8d300d97d00da9500dc2c00ddd600debd00df7f00e0a200e18000e1d300e2a900e3
+b500e46b00e4ec00e50d00e6ee00e71500e7c600e9c400ea3e00eb3b00ec4800ecf5
+00edca00eef500f03900f17300f2a900f3ad00f49000f4a300f4b700f5b200f65e00
+f6e000f7a500f94000fb1400fcc200fdd400fef400ff890100250101120101ac0102
+cc0103ad01049e01052f01061f01069b0107010107640108b20109fe010b1c010b84
+010c0b010c77010d01010dcd010e37010f21010fae010fc90110b801120a01134701
+141e0116040116920117150118140118fa011981011a09011b1b011b45011b78011b
+f2011d37011d50011ddd011f5e01202a01212901226601236b0125410126300127b6
+01285a0129cc012bac012d94012ed101306201325501328a0133370133e60134d101
+35870135b10135ce0136500136e101377d01378c0138940138e30138fe0139310139
+4401395701399f0139ec013a3e013a8f013aad013acb013ade013b01013b10013b1b
+013b5c013b6e013b82013b95013ba3013bb6013bc9013bdc013bfa013c08013c5001
+3c96013ca8013cbd013d0d013d3c013d50013d61013d7b013d8d013daa013dc5013e
+13013e61013f13013f27013f4c01409101411101412c01414b01416c01418b0141a6
+0141bb0141d50141f401421101422f0142770142bf0142dc0142f901431201437801
+43e101449d0144e901450101453301456a01459e0145d101461a0146610146930146
+9b0146a30146b601470401471401473201474601475701476e0147800147990147a8
+0147b10147f20148120148750148940148a70148b90148ca01492401493501494801
+495b01499d0149de014a16014a49014a8f014aa0014ab3014b01014b2b014b5c014b
+8a014b9d014bb9014bd1014be3014bf4014c05014c17014c34014c8e014cb7014ce4
+014cf7014d0d014d26014d38014d44014d5f014d79014d8a014d96014db3014de601
+4e2c014e74014e97014ef2014f7b01508801509d0150af0150c10150dc0150ed0151
+3c01514e01516b01518001519a0151d60152ef0153b10154410154950154ca015511
+0155570155840156150156340156530156bd0156d00156e101576801582401588b01
+58960158a40158b10158be0159050159360159660159ec015a3e015aad015ae5015b
+70015c13015cc4015d72015eac015f27015f860160120161160161630161960161a8
+0161bc0161de01620101622401623301625801627801628c0162d30162f501631001
+633301634e0163820163b70163d00163fd01642701646501649b0164b70164d00165
+4301655601657501658401659f0165bb01670c01672801675001677d0167a20167d3
+0167e601688c01689e0169be016a85016aac016ad7016b0a016b3b016b6a016b8501
+6bc3016be9016cd3016d7d016e14016e3b016ee6016f08016f62016f750170970171
+2d0171ed0172b90173910173ac0174510174730174ec0175470175ca0175e501766a
+01775f01783501784e01787d0178ac0178d00178f301791401799b017a3f017a5301
+7a6e017b25017cf3017d84017e80017f5b0180590180ed0181770182810183070183
+8d0183b301843d01849601852a0185a20185b60185d901867a0186d901873c0187c4
+0187d701884801885b01887e0188a20188e7018934018a3b018a70018b33018b6f01
+8b82018ba9018c64018d60018e57018f5801901901903901905d0191480191610191
+9e0191cb0191f50193820193b80193e701940c01942301944801956801964b019666
+01967f01969b0196c30196f001970401973501974801987c01988e019962019a5b01
+9b59019caf019dd0019e04019e2d019eb5019f24019ffd01a02401a0e501a11801a1
+4101a26201a28101a2a401a2c901a2df01a30601a36f01a42901a55601a56f01a58a
+01a5f901a62501a63a01a6c001a6d001a79501a7a401a83101a84901a92501a9ed01
+aaa401aacf01aaf101ab2701abd001ad3601ad5c01ad9601aef001af2101b03501b0
+6101b08301b0ad01b0d001b1b101b2c701b46b01b4df01b4fd01b51d01b5e101b5fe
+01b61e01b70301b7b101b92e01baf001bc9f01bddc01c02001c1e001c2dd01c3d601
+c56901c6f701c7e901c8bb01c9db01cb4101cb7801cca201ccc301ccdf01cd1301cd
+4301cdbb01cedc01cefd01cf1d01cf7001d00b01d09501d18c01d30401d3c601d48d
+01d50f01d60701d74301d88701d9e501dbaa01dc8c01ddad01df2001dfea01e19b01
+e2c401e41401e55d01e6ba01e80b01e8e501e9b201eb5001ec8801ed7f01ee6b01ef
+d001f11601f23301f30401f38301f40101f41401f4d501f62f01f71501f86201f990
+01fa7501fb4601fbf501fca801fe0201ff1b01ffd60200b90201610201f802032702
+04420204550204930205b4020734020857020939020a04020b29020c4e020cfb020d
+ae020dd7020e10020e3d020e7c020ec9020efc020f42020f77020f94020fb5020fe4
+02101902105d0210930210cb0211090211200211970211b70211dc02120402123602
+12630212950212cc02130b02138c0213e90214890214db0214fa02151302153a0215
+5d0215810215a30216b00216e90217c40218460218c602190902192102195702197d
+0219a50219b60219ce0219f5021a08021a16021a25021a34021a61021a72021a8602
+1a9e021ab1021ac4021ad5021ae4021b28021b7d021ba6021bbb021bde021bfb021c
+98021cb3021d10021d99021e35021e48021e94021edb021f6a021fd902206d0220cc
+0221290221830223ce0224710225280225bf02269602270e02274e0228230228bc02
+28ec022917022933022947022964022a01022a1e022ad3022c25022d3e022d5d022d
+8b022e40022ef502308602322702327e02331802347e0235c902365b0236980236ee
+02378b0238040238770238980239010239d9023b65023c8c023e78023e9f02403502
+41b80241e40242010242240242370242610243f70244110244d60245850245b30245
+f302463202470302474302476d0247ac0247d50247f902482b0248510248940248bb
+0248ff02492402496302498d0249d30249f4024a2f024a82024b43024b97024c6302
+4ca6024ccc024d20024d5a024dd8024e21024ef1024f14024f42024fb1024fd60250
+0302502a02505202507c0251db02533c0254e802551102566302568c0256cc02577c
+0257b70257df0257fe02582902584d0258760258970258c90258ec02592702595302
+59830259a20259ce0259e9025a0f025a40025a6a025b90025bbc025bf0025c1d025c
+47025c76025ca1025ccc025cf6025d1d025d43025e38025f18025f9e025fef026025
+0260ec02612c0261f40262320262670262a60262de02631102633d02637102639d02
+63dc0264140264470264730264c00264ff02654d0265880265da02667d0266d60267
+8a0267ea0268320268700268940268d30268f902693a0269570269930269ad0269d4
+026a08026a34026a6a026a86026aad026c09026ce6026d3f026e00026e26026e4b02
+6e6a026e89026ed6026eee026f08026f21026f45026f6a026f88026fa8026fc8026f
+e902701102702e02705e0270810270a30270c10270ed02711202714402716f02719d
+0271c50271ec02721802723e0272630272a002732f0273de0274e20275b602764202
+76690276a00276cc02770a02774002781b0278c302798a0279be027a01027a4a027a
+93027ac2027aff027b3c027b8c027bc9027cb5027cec027d39027d8b027dff027e33
+027e79027ec1027eeb027f37027f66027fb9027ff20280c40280fe0281c902820302
+825c0282990283700283af0283ff02842f02845602847e0284a00284cd0284f60285
+1e02854d0285790285b10285e80286920286c90287020287820288340288720288a3
+0288d102890202893902896a0289a10289dd028a20028a62028bc2028bf8028c3402
+8c57028c84028ca9028cde028d0a028d37028d63028d90028dbc028df5028e31028e
+72028e9d028ed3028eee028f04028f270290760291d30291f602921e02924602933a
+0293ef0294410294a302956702962c02966602969f0296df02971e02975902979802
+97fa02985f02988d0298ba0298f00299230299550299870299e1029a3a029a73029a
+ac029aed029b2e029b6f029bb4029c01029c4e029ca3029d00029d90029dee029e26
+029e5d029e9b029ed6029f25029f69029fcb02a02902a05102a07902a0ae02a0e202
+a11702a16802a1c002a21802a23c02a26002a28a02a2b002a2db02a30302a35302a3
+a002a3c102a3e202a41002a44402a4d902a50702a55a02a5ac02a5d602a60002a631
+02a66402a69a02a6d202a6fe02a72a02a75f02a79302a7c802a7fd02a82402a84c02
+a87b02a8ac02a8e302a92002a97402a9c502a9e702ab1a02ac5a02adb202addf02ae
+0c02ae4002ae6c02aef902af2d02af8502afda02b01902b05802b09f02b0f502b142
+02b18902b1f202b25a02b28d02b2c002b2f002b32102b34f02b37e02b39802b3b302
+b3d702b3fb02b41d02b44002b46102b48202b4d302b52102b57902b5cd02b65002b6
+a402b71e02b79102b7d602b81a02b91202b95c02b9a602b9f002ba5c02bac902bb08
+02bb4a02bb9502bbd902bc3502bc7f02bce902bd5202bd9202bdd202be1c02be6502
+beaf02bf1902bf8102bfeb02c02a02c06102c0a202c0d902c19e02c1e002c24702c2
+a802c2f902c34a02c3a302c40b02c46a02c4c302c53b02c5b402c5ef02c62302c664
+02c69e02c6df02c73002c79802c7c102c7e202c80202c82202c85202c85c02c86e02
+c88102c8ad02c8ec02c92002c94d02c98302c9d702ca3502ca7c02cac302cae502cb
+0702cba402cbbf02cbda02cc1e02cc4002cc5d02cc8d02ccc202ccfb02cd5b02cd7a
+02cd9602cdb102cdcc02cde602ce0102ce3c02ce6a02ce8d02ced902cf1702cf4702
+cf7702cfb802d01802d03702d05302d06f02d08a02d10802d12b02d15002d16302d1
+8f02d1b402d21102d24f02d2a002d2c302d2e502d31a02d34e02d38e02d3a202d3ac
+02d3ae02d3b102d3b302d3b602d3b902d3bc02d3bf02d3c202d3c502d3c802d3cb02
+d3cc02d3de02d3f002d41102d43302d45602d47902d49402d4b102d4c602d4db02d4
+ef02d50b02d52902d54502d56002d5e102d65502d71302d73402d74b02d75902d76f
+02d78d02d79d02d7a002d7e802d86302d87702d89102d8ac02d8bf02d8d802d8f302
+d8fe02d90902d99e02d9c602db7202db8402e09502e0ac02e0ef02e12502e15b02e1
+ab02e25802e28902e2a802e2d402e2f802e31002e33102e34d02e37a02e39a02e3b6
+02e3cc02e3ec02e3f902e40802e4a002e4bf02e54402e5e802e66302e77e02e79502
+e7b502e7f102e81e02e83e02e85802e86c02e88a02e89602e8a402e92f02e9e302ea
+0202eb4602ebfb02ec1402ec2902ec3c02ec6002ec7f02ecaa02ecce02ecef02edc4
+02ee6002efd002f1b502f2ef02f33302f3cd02f56402f6e502f75202f7e202f8e402
+f9bb02fa1002facd02fbe602fc9802fd9902fe1302fefd02ffbb03006303018a0302
+9503031e0303b40304b40305660306d40308170308b20308dc0309ae030a02030a2b
+030a40030a63030a80030b5f030c5f030c9f030cf4030d1f030d61030da2030ddd03
+0e12030e64030eaa030f04030f65030fb8030fd30310540310e50311b60312a20313
+370314250315230316700317db031907031a6e031be0031c74031d35031dbd031e94
+031eb4031fbd0320e103226f03227e03242603252003263503288b03289a032ae403
+2d70032d84032d99032dc7032f5b032faf0330b70332090332650332cd0333060333
+4203337a0333b403342e0334ac03357d03364e0337230337f40338610338cd03390d
+0339b1033a5f033a70033a7e033a90033a9f033abb033ad5033b72033c3f033cdd03
+3d25033d6d033db5033e00033e79033f0303401b03413d0342550343690343950343
+e00344b80344e103457c0346e10347290347730347b80348ca03490703494e034a62
+034aa0034b64034c24034c86034c93034cf6034d5e034d73034d87034d99034db603
+4dc9034dd7034e07034e34034e8f034eea034f03034f290350440351a20351b50351
+fa0352170352880352ad0352d103531a03536503537a0353970353be0355af0355c7
+0355db0356b4035761035865035a1a035a38035abb035adf035b79035bc3035c0e03
+5c51035c62035d15035dcc035eaf035f8e035fc2035ff703609903614603621d0362
+a10363f60364a60364c30364e00364fd03650e03652c0365920365f903660c03662e
+0366500367aa0367dd0367f703680e0368ee0369cc036a37036a89036a94036aa303
+6b14036b3b036bc9036c57036c6a036cf6036d84036d98036e28036e43036e51036e
+76036e92036e9f036ec3036ee4036f66036f8b036fa3036fd003704f03707c037094
+0370d20370f003723e0373fa0375a603772a0378960379e6037af0037b86037cd303
+7d13037f910381570383110384a00386700387ca038a65038b05038c60038ea2038e
+c5038ee8038fcd038ff803901b0390dd03915a0391f40392740392a50393760393a1
+03948e0394c00394ea0395ba03963f0396e00397b40397e5039b0d039ccb039df103
+9f5403a1b003a3d503a57503a81503a96b03a9e303accf03ae3d03afad03b1a103b2
+1603b3af03b48103b6b803b85703ba1703bbc103bd8903bf0703c24503c4ae03c699
+03c7c003c7e803c80a03c8c603c9a903ca7903cb9203cc8603cd0a03cd8d03ceff03
+cf2103d0ad03d18a03d1b303d28403d2ac03d34303d3c403d44803d51c03d65203d8
+5203d9a303da6303db2003dc5a03dcb103dd1903ddce03de4103dea103def903df3d
+03df8f03e02403e0b303e21403e3ee03e5b403e76a03e8f803ea4e03eb7b03ec2003
+ed8603f00d03f04303f05003f06903f07803f09403f0a203f0bd03f0cc03f0e803f0
+f803f11503f12503f15c03f18103f1a703f1c203f20f03f21803f23303f26503f296
+03f2c803f2ec03f31403f32b03f34203f37903f39f03f3f203faf803fbd103fd4103
+ff2c03ffc004015b0402f80403ba04042c04048b0404eb04057b0405e204064c0406
+b70407560407da0408ad0409720409d7040a4f040af1040b7f040c3e040ce8040dbf
+040e43040eff040f7104101a0411460411b704121204128a0412cd0412f404135704
+13d70414a404158c0415e70416460416f304185a0418ce041b05041d9f041feb0420
+7a04212904229d0422cd0424cf0425a00426490426d004276c0427e2042ee4042f35
+042f960430050430700430c704311a0431570431a10431f004322f04324004326b04
+32980432a70432b60433460433b80434e404356904366e04383e043988043a5d043b
+0b043c38043d54043dd3043e4b043f9e04409704414e0441fd0442af044326044338
+04434c0443680443840443dd04441c0444780444d904468504479204495f0449b104
+49dc044a06044c2f0454650455890456a50457cc0457f304581a04585a0458a3045a
+a3045ba8045f490461260461b50463f504667d04679e0467b90468760468990468c8
+0468e60469080469310469540469800469a9046af6046c58046dfc046ea704708b04
+70c304710404717a0471900471c10471fe04722004724904726304728f0472bb0473
+5204737e0473ab0473d00475810476dc047976047b17047dc6047f8804815204825d
+0484290485620486f40488960489c3048aeb048bba048d3b0495230495ed049c2a04
+9d75049f6b04a0ae04a17e04a34504a57a04a74604a81704a92404aa0604ab0c04ac
+b104ad8b04ae8d04aea904af6204af7704af9404afb904b08804b0b504b19d04b1b2
+04b1c804b2fc04b30f04b45104b50c04b52a04b5c504b6cf04b72604b75304b78304
+b79904b89e04ba8d04bbab04bbc204bbe004bbe204bbf404bc1604bc3804bc5b04bc
+9104bcc204bcf404be9604bfb104bfdc04c00704c03204c06f04c08a04c0a504c0c0
+04c0e904c10a04c14304c16804c18d04c1b304c1fc04c22b04c31304c44504c46204
+c47f04c49c04c54a04c56804c68304c7cc04c7ed04c88304c96304cb5704cd8d04cd
+ae04cddd04cf3904cf5504cf7504cf9d04d10d04d1f204d23204d24e04d2f204d31e
+04d34d04d45604d48204d4b704d4f104d52e04d66c04d6ac04d7b604d87304d89c04
+d8c004d8e604d91104d93a04d95d04da0804da4d04da8c04daac04db4404dca104dd
+4904ddfc04deb704df9d04e0ba04e12804e1f604e33004e47504e49904e4bd04e4f2
+04e65804e78504e85204e93004e9c904eaa004ebc104ec6b04ed0004ee3f04ef2204
+efd604f0a504f12004f1b004f2f604f40304f41e04f4df04f50504f51e04f57604f6
+1b04f85404f91504fa2204faa304fb1404fba104fc2604fca704fd2604fde904fe4c
+04ff0404ffc905000d0500930500a90500da05018c0501ae0501d70501f105021d05
+024905026f0502ac0502fe050310050472051202051fa40566ea0567090567210567
+4e0568120568690568820568ae0568d80568ed05690005692405694305696e05698e
+0569ab0569cf0569f0056a13056a26056c10056d17056dc6056df9056e21056edf05
+6f8a056f9c056faf0570120570250570390570f605717a05718e0571a20571b40571
+cb0571e10571f205775005783a057924057c04057de30583ff058752058888058bac
+058e9c059495059f6805a3bd05bf3805c03805c12905c38005c39705c4a105c5b405
+c62f05c6af05c72005c79c05c8bc05c9d705c9ef05ca1205ca2005ca2e05ca3d05ca
+4c05ca5e05ca7405cb4705cc8e05cda805ce9705d00405d16d05d23805d37c05d408
+05d55605d64005d6ee05d85c05d9ca05dae205db4a05dc3e05ddaf05de4a05df6305
+e02005e18305e37905e4b105e5b705e6b205e81b05ea9205ebd52c8bbdf8e9be018b
+bdf824bd03bdf8ef15f73efb92fb3efb9205a95e15f73ef792f73efb9205fb20f7bf
+15f73ef7928bfc9005fb5cf7bf15fb3ef791f7e88b05fc38fd1b15f888f94efc8806
+0efbed0efbc781f5f8c67701e6f503f724f92615200a56fcfb15210a0efb97f83ff7
+6e01cae1b3e103f76bf83f15220afb128a15220a0efb16f754c0f707c001f7abf789
+15fb068b9ef707f7058b05b116ea8b93c02b8ba8f747658b6ffb47fb068ba9f74765
+8b6efb472e8b8356e88b79fb072d8b058356e88b6ffb46b08ba8f746f7048b70fb46
+b18ba9f746e98b92c02c8b050efb16fffff7e666ff00226666ff0227b334ff001fe6
+6601becef771d903ff00cf199aff016eb33415ffffd2ccccff00164cccffffd4199a
+ff00214ccc8bff0035b3348bff00339998ff002e4ccdff0031999cff00366666ff00
+00cccc08ff0013999afffec9999a15ff00323334ffffeb9999ff00328000ffffe233
+338bffffb1999a8bffffb5b333ffffd6b33463ffffb73332ffffff4ccd08ff009219
+9af8c515ffffd08000ff00063334fffffbe666ff000eb334ffffc1b334ff00036664
+08ff0004b332ff0055333405fffff333348b7cfffffe8000fffff6cccdfffffc8000
+08fffffb9999ffffb0666805ffffa53334fffffce664ffffb16666ffffc480008bff
+ff9fb3348b34ca5ed36cff00053333fffffdccccff00058000fffffdccceff0005b3
+33fffffdcccc087dffff00e66705ffffbcb334ff0009999a5fff0028199affffede6
+66db808f818982868f438f74965dff0033b3338bff00198000ffffefe666ff003d4c
+cd8708fffffb199affffa5cccc0595ffffffffffff00139999ff0000e667ff00074c
+cdff0004333308ff0004999aff00544ccc05ff0027199aff00013333ff0025e66695
+ff001de666ff0012b333c0acadc58bc68be44eb748a8fffff4b334ff0004e666ffff
+ef8000ff0005b334ffffedb332ff00074ccc08ff000c4ccdff00dfb33205ff003eb3
+32fffff2b334ff0016ccceffffcde668ff00104cccffffcbcccc968b978a939288b8
+87a581bc080eb57faaf762aabaaaf72ab09eaa01c4c1f719acf0c2f718ac03f845de
+15230a549a15240a7df83b15250afb91fb0f15260a0ef70281c155acf806acf750ac
+12b6ddbfd5f71fd0f750a0137ff78ef7e6159676dbfb08c4405a486767448b4c8b55
+ae8bed088bd2a1c1f2c408f73ffb8815a8660513bfba4ab089aa8bae8bb8a7a2d1ff
+fffaccccff00056666fffffb3334ff0004999a808b7764747c6a8b7b8b6d9f6cb608
+67bd05ff0027999ac4ff00167ffeb3ff001ae668bbb9ddff0006ccccff00053334ff
+003d3334ff0003cccc91918ba08591778a6d8a698b698b628c778c85858b76918508
+ff00361998fffffd4cccff000ee668fffffab334ffffda666845ffffeee664ffffe0
+199affffe7ccceffffd53333ffffdbe666ffffcab3335dc951de79aa08879305debb
+cdcc8bc208ca51b845275544501e8b659964b04bfb184156488b3c08137ffb0ee05f
+f61ee08bc2b4b9ca08fb18f7cf1571bc7fb18ba208cdbca8a5b4a26d5e1e8b676657
+4b61080efc29f83ef76e01c0e103daf83e15220a0efbbdb7de03b7f790158b5e8ffb
+7bf764fb48958d93928e936ab1fb09f71e8bf79b8bf79bf70af71eabaffffffc999a
+ff000a4cccfffff9ccccff0006e668fffff4999aff0000ccccfb0b252efb3b8bfb4e
+080efbbdf73fde03f792f790158bb887f77bfb64f748818983848883ac65f709fb1e
+8bfb9b8bfb9bfb0afb1e6b67ff00036666fffff5b333ff00063334fffff9199aff00
+0b6666ffffff3333f70bf1e8f73b8bf74e080efb76f73cf8b715270a0e5ef776bdf7
+4e7701f78ebd03f78ef84715280a0efc0bfb19a3f703e801f717b203f3ea15290a0e
+fb95f773c701b3f79603f7a3f773152a0a0efc0b81f501c4f503c4b615210a0efba4
+f91a77019af7aa03f7b9f91a15628bfb81fd55b48b050efb1681aef8baae01b2e2f7
+65e203f77cf8d3152b0a87fcdd152c0a0efb1689acf8d57701f767d803f7b4f70e15
+f7ef078bc7ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334ff
+fffc80008bffffc8b333ffffddb334ffffcb4ccdffffe74ccc3362ff0001999affff
+f4999aff00046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08
+ff00108000ff0003800073691ffbda078b387086458885858b769185bc8cff0023cc
+cd8cff003633338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde
+080efb168bccf81576f726ae12c8d6f74ee370a813f8c8f868152d0a13f42e0a13f8
+2f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff004e3332ffffccb334e313f8
+f76bf8d315300a13f4310a13f8320a0efb1689acf721baf81b7701f7a3d703f7a3f8
+8f15330af733fbb415340a0efb1680aef7d1bdf722ce4ed312f7d3e413e8f7d3f751
+15350a13d8360a13e8370a0efb1680aef7c6aef770a501b7def767de03ff00873333
+f7c715380aff0009199aff00244ccc15390a0efb169376f8b8cc967712beab13d0f7
+3ef8ab153a0a13b07b970513d03b0a13b03c0a0efb1681aef8baae12b9ce61d2f749
+d15cd413d8f77ef8d3153d0af73331153e0a13e43f0afb3bfc6015400a0efb167fa5
+f770aef7c6ae01bddef767de03ff014fccccf7b815410afffff6e668ffffdbb33315
+420a0efbfb9ef5f745f501d1f503d1f7f715210afbaf04210a0efbfbfb19a3f703e8
+f763f512d1f571b213f0d1f7f715430ac0fb9815440a13e8450a0e5ed4f7df01f71e
+f78315460a0e5ef723bdf708bd01f864f7c915470af819fb3a15470a0e5ed2f7df01
+f830f78015480a0efb3481f5f8a6ac12b9cfa9f546ace7de13ecf706f8d015490a13
+f4a9fca515430a0ef7c0fb32acf72cb6f7c9aaf73eaa01c6dbf71ad4f73dcff744db
+03f8cdf7d0158b697a587e6c6c425a52688b4c8b7cb78bbb8bc99ccbbebea9aab694
+9c8baf8ba8728b650899fb86158bff0006800092ff0021800091a608c7f7967c9056
+7e86730581a5699c6a8b0821fb13fb06fb2363a137ef1fae8bc1a8b7d5088d8a0583
+7284748b7c087b9272a8f76ed1f721f706f74ffb2ff722fb6bfb75fb4dfb41fb6bfb
+69f730fb3cf7831ef7058bc7aec7b9087e9d0555604d74368b08fb963ff76cf72af7
+81f73cf1f72cf711f74328fb62fb3a4c5c2589828d951f0eef89acf766b5f80b7701
+f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf78bad12f5e0f76cdc69e813f8
+f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0ebe81b4f8e2b001b0
+e6f84aac03f7f98115500a0ef589adf8d9ad01f5e0f807eb03f753df15510a60f8c5
+15520a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd
+15530a13af80540a136780550a13a780bbdb898b1f99bd9acd93befffff59998ff00
+05e666fffff48002ff00024ccdfffff2e666fffffccccd08137780560a0efb0289ac
+f7b8b1f788b36cac12f4e0f74cacb0aa13eef7aff7d715e08b8e748e5e9185a08b91
+918aa48aff001cb3348bff00224ccc8bff002180008cff001a80008ca58591768b85
+858854887e368b082ef74806c19795b71eb806f58ba463a146978b968d938efffffa
+ccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999aff00024cccff
+fffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ffffff66
+68ffffe74ccc8b08ffff00b3340613de570a0ee581aff783aff7d5af01b0ebf821e0
+03f80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8be8a4
+cfc5809486938b9608f708078bff002333339cff0009cccda88e91918ba38591738a
+728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666fffffbcccc
+ff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237f73df718
+f743ff00718000f70cff007480001ff7258bb438a535ff000b4cccffffff4cccff00
+0a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f9566aefb03
+8b080ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15580a0efbbe89acf8db
+ac01f5e003f753f70e15590a0efba5fb40b8f979ac01f721e003f776f89f155a0a0e
+b589acff0115e666ff00266666ff010ab334ac01f5e003f753f70e155b0a0e4889ac
+6cb2f8d3ac12f5e0f7afac1378f729165c0a13b85d0a13785e0a13b85f0a0ef78896
+7693acf8dbac121360ff0296b334f70815600a13a0610a0ef3967693acf8dbac12f1
+bcf829bc1378f8c0f89415620a13b8630a0ef681aff8e8af01b0ebf849eb03f7dff9
+0215640af7e3fbb915650a0e5589acf78fadf7c2ad01f3e0f775e803f751f8be15a8
+9aaed3d0d074fb13fb00575f2a1e728b638d808e0836f75e15fc25078b387a864588
+85858b769185b88cff00314ccd8cff0023b3338bff002366668bff003a999a8abd8a
+91918ba085913d8f738f8bde08f73e07a184a388ae8b08f74ac2f70be0c664f6fb4d
+1fffffd9b3338bffffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b7691
+85d1889c868b38080ef6fb65c4b1b7c7adf8ecad01b0ebf849eb03f7dff90215640a
+f7e3fbb915660a0e8381aa74acf798adf7b9ad12f3e0f76ce7133cf7a4f8fe15670a
+38fc8415680a13bc690a137c6a0a0efb0281aff8eaad01beff00476666ff00ed999a
+df03ff018a999af90b15ffffc6333293ff000233349effff9e66668bffff9a999a8b
+32488b218bffff96999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8
+e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ffffb033348bffff
+a2999a8bffffc3e666ff002a800075ff0063800008fffff3b3338ffffff56667ffff
+fe199afffff66666fffffae6668f3e8f71975aca8bff001be66674ff0058b3348bff
+002d80008bff002b199aff000b199aff0022ccccff0015b333ff00398000ff0023ff
+ffff00248000ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999aff
+ffad999aff001ee66608ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054
+199a8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe
+333498ff0000cccc9492fffffc8000bb87a7fffff5999ac0080e8d89acf8d3b2018e
+adf778e0f763ad03f7f2f70e15f81207cb95b1af1ea106d68bba719c3e968b998c94
+8f84b986be8ab88b8c898d8a8b6988fb03863c8b0835063e8bfb0a90658e898b8989
+8b8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a
+863b8885858b769185bc8cff0032e6668cff0028199a8bff002666668bff0032999a
+8abd8a91918ba085913b8e7a908bde080ecd81b4f8dbac01e2e0f7f6bc03f740f89f
+156b0a0ec49476f906ac01f854f8fa156c0a0ef7f89476f906ac01f9bef8c9156d0a
+0ecc89acf8dbac01f8aef1156e0a0e7789acf8dbac01f790e003f7e5f70e156f0a0e
+948bb1f8c8b6937712c8a9f85caa13d8f8bb8915700a13b8710a13d8720a0efb83fb
+55a9f9d8a901f700ce03f700fb5515f7680691918b9d8591fb1e96849a8be208f8f7
+078be2939af71d9591918b9d859108fb68060efbc8f9597601c2f94e155f8bf77afd
+7eb78b050efb83fb54a9f9d8a901f749ce03f78cf95415fb680685858b799185f71e
+80927c8b3408fcf7078b34837cfb1d8185858b79918508f768060e3ef7eef7c401f7
+04f7bb03f797f8e515730a0efb01fb2eb701f870fb0215fc660683838b6f938308f8
+660693938ba78393080efb5ff8aef73501ebf73203f746f94f15740a0efb1e81bb5b
+b4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a0e
+2581adf807b7f75ea9a67701d9daf769e103f742f7ff15780a84aa15790a0efb3b81
+bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a67712b2e1
+f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0efb2881bc
+f765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0efbb189acf7fbb2
+f77fad01ebdaf71fdc03f743f70e15810a0e2cfb82b0f751c8e2aaf785aa12abd062
+dd41c0f75adb9dc213f580f7d3f7ab15820afb4ffbb51596889b89988baa8ba78e99
+8bbd8bb58aa87bb275977d8b7108432165311e13f9806737a8cf1f8bad8da4a8ae08
+f7ccf821159e9d9d9fa0789b701f718b5b7a71697f936a9f508b0813f58032394f2f
+1f8b55a36ca7700813f380830a13f980556b6f5d8b600834dd70d8f71bf726ccf700
+1e8bab7ca46ea364ab458c668b798b728973887c8a818a868b0813f3806e6899b61f
+8b9f91a0979ca37da784b28be38bdcc28bed8bba7da66ea992959f99988b928b9288
+9182088f839881968b080e5289acf7f8bff75ea9a67701e3daf766da03f73bff011d
+e66615840a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb15850a13f4e6
+fc7115860a0efbd7fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f4
+99fbae15870a0e3889acf746a4f738acf766a9a67701e1da03e1f70e15880a0efbdf
+89acf8f6a9a67701eada03eaf70e15890a0ef75789acf7f8bf01e9daf753daf753da
+031438f73ef7fa15fffffeb333ff001db33489affffffb4ccdff000a4cccfffffde6
+66ff0004999afffffe199aff00036666838b6f807182468289858d7b8d85c1869686
+8b5108fb57078b397e86548785858b769185a98cb18cb38bb38bff001ecccd8aa98a
+91918ba08591ffffcd333390808f8bdd08f738078ba094ff000c4ccc93ff0008b334
+ff0027999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42
+078b398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82
+908bdd08f733078b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080e5689acf7f8bf01ebdaf760da03f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba094979394b1b0b8a1b28b9f
+8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab8cb38bb3
+8baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c97688b5a
+8bffffc84ccd7effffc4b33347080e3081aef80fae01b4e1f78ee103b4f761158a0a
+f759f75b158b0a0e3ffb7eacf753adf805b901dbdaf780e103f743f7df158c0a78b0
+15fffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a4cccfffffde666ff00
+04999afffffe199aff00036666838b6f807182468289858d7b8d85c18696868b5108
+fc3f078b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba0859144
+8f808f8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff0018
+8000fffff6199aff001ee666fffffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98b
+dc8bf540ed258bffffd180008b58ffffe18000ffffd88000ffffd3800008fffffa66
+66fffff9b334fffffb199aff0000b332ffffff8000ff0009999a080e2ffb7eacf753
+b7f807ad01aee1f775da03f7d6ff01706666158d0aa3fffe20999a158b3880874e88
+85858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e808f8bde08f8a407
+998796801e848bfffffa199afffff84cccfffff7e666fffff4b3347e7987887fff00
+07ccccffffe06666ff0014800064ff0008b334ffffd5999a8b08fb0e3127fb182eca
+fb10f7241fa68bff0020e666ff0005999aff0011199a95a2ff000d66668f8d8b7608
+0efb7389acf7eec901efda03f744f7fa15fffffe4ccdb3fffffe6666ff0019b334ff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8071
+82468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb2
+8cb38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2
+ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ffff
+f2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f746485
+80fffffb333393ffffffcccd90080efb6181acf813ac01c9d2f721d703bbf71e158f
+5a8e5c8b61958d958c908b928b918b9289a684a687b08bc38bf2a68bee8bff00444c
+cd5aff0027b33347ff0019333308ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8ba18bc583983691859f8c91918eaf8db08cac6c905b99578b0841
+485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffffea4ccdff000d4ccc
+fffff5b333ff000ab33475a280b785a48591788a8585080efbab81c2f7edb201e4da
+03b6f841158e0a0e4b81baf7fdac01e3daf758da03f76d8115b28bba9fbcb3908fff
+00094ccc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b93
+88ff00048000ff00008000ff00068000ff00028000a19dae9ac89291918b9a859108
+4b90829e8bbc08f75407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c8585
+8b769185bc88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a
+07a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b
+4a08fb540746a948ee1e0e299476f82eac01f7d9f822158f0a0ef72c9476f82eac01
+f75ff8221591918ba085916d8a688a678b658bffffe533338cffffe5cccd8c85858b
+769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082e6
+66fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b9391
+919a08ff00829998f7d105ff00106668ff0028e6669cff001c199abe8e91918ba085
+91778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3199afffff1
+e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7ccccff0014cccd
+08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a6d8b728b6a
+8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e666ffffd333
+3408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199aff00208000
+083bf76205ffffed199abb8c9bbb8e080e2289acf803ac01f74af7fa15900a0e3bfb
+7cdbf8baac01f760fb3415910a0efb3f8badf7fab001d2f84b15fffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a9fd4aaff00114ccca9ff0000b33408f7148e05
+47fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b8608849386
+9a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd7f8b
+087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb1906
+d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e84
+8b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00
+056666080efbd2fb68a3f83ba3f83ca312f5d349d513f0f746f8bc1586ff0066e668
+baff00111998b19691918b978591318b49638ffb050813e891fb4c058b5973554184
+82828c849383ff0049800082ff001a80005f894e0813f085fb3e0586fb16c36af08b
+91918b9785915f8bffffd78000bdff00048000df0813e893f72905ff00046666ff00
+524ccdffffd66667ff00278000ffffbc3333ff001c3333088f07ff00433333ff0013
+3334ff002a199aff001cccccfffffbb333e4080efc1afb6776fa367701dcb703f711
+fb7c15fa365ffe36070efbd2fb69a3f83ca3f83ba312e2d549d313e8ea511590ffff
+99199a5cffffeee666658085858b7f9185e58bcdb387f7050813f085f74c058bbda3
+c1d59294948a928393ffffb6800094ffffe58000b78dc80813e891f73e0590f71653
+ac268b85858b7f9185b78bff0028800059fffffb8000370813f083fb2905fffffb99
+9affffadb334ff00299999ffffd88000ff0043cccdffffe3cccc088707ffffbccccd
+ffffeccccdffffd5e666ffffe33333ff00044ccd32080efb26f769c691c601a59cf7
+f99c03a5f76515920a0efbed0efbc7fb6476f8c6f501e6f503f724fb7915930ac0f8
+fb15940a0efb169376ff0064b333ff002e6667ff015c999aff001fb334ff00609998
+7701ff00453333ff0051cccddcafff003accccff0052b33403f77cf8f715ffff9c33
+3407ffffac6666ffffef6666ffffb0cccdffffafe6668bffff884ccc8bffff8e4cce
+ff003acccdffffaee666f3fffff4cccd08ffff9a3333afff0064b33307ff0034b334
+ff00024cccff002f1998ff00146666ff002c999aff0049199afffffc3334ff000899
+9afffff86666ff0003b333fffff766668cffffdfb334ffffd63333ffffd7199affff
+eb199affffd719988bfffffc80008bfffffc999aff00003333fffffc999aff00004c
+cd08ff015c199a07ff00303334fffffcb33292ffffe0999aff00039998ffffe08000
+ff0002e668ffffe64cccff000d4cccfffff766689f8b9f8bff001a8000ff000c6666
+8bff001d80008bff00338000ffffcb6666ff0025b332ffffa7199aff0001199c08ff
+006099980767fffe2e4ccc15ffffd0e666ff00180001ffffde199aff003d33338bff
+005533348bff0058b332ff0020cccdff003a8000ff00303333ff000fccce080efb16
+80c290b5f765b2f774bb019bd7b8e003d5f7c015ca78068b30803b5060707c737b8b
+78087b9c7f9ea19d97a2969099ae1ee38b8c4fe58bcc8bbdafa3bf8792858e838c71
+675c836d8b468b96bafb108badabb3c58cf70b08f70006969890931f9f078f888d86
+1efb10d206e2b0cdb91ea18b9a80987f978094839a8b08a39c9ba4af5298741f568b
+5e746867545570558b3608775e0779857e831f8007868c89901e0efb16f70bb8f7ad
+b701b7cbf78acb03f700f7c515d6beccd5ccc34d3c405a4a41405bcbd81ef70ffb4e
+15b68bb298aea508bb56b1b354b905a4ac99b18bb58bb77db171ab08c5ba62b65a51
+0569a56598608b628b667f6872085bc16461c25f05706b7c648b5e8b609a64a66a08
+525eb660b8c305ad72b17eb58b080efb1689acf2b2d3b2f7b1ac01f753e003f753f7
+13158b337a86368885858b769185bf8cff0025199a8cff0038e6668bff0037cccc8b
+ff002233348ac08a91918ba08591368e7a908be30892f70e0796998f951f9e078f87
+8d871efb1fd3f70e0696998f951f9e078f878d871efb158be7f75f05acd48b8fc090
+91918da085916b8a798a7a8b7a8b6d8c6b8c85858b769185bd8788866b42083efb44
+898b20f770057aae968eaf8b91918ba085916b8a588a858b7d8b5f8c6b8c85858b76
+9185b487a0739d6508f6fb6ffb0b8b0579857e831f7f07868c8a901ef72143fb0f06
+798580831f7e07868c89901ef721060efc14dcbc03f716f936155afbfebc06fb2b04
+5afbfebc060efb0efb40aaf994aa12bdc173d058d8f70fd858d073c113e2ff007ccc
+cdff019f199a15ffffd3999affffdc199affffe1999affffd033328bffffbf999a8b
+fb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e81a1718b08
+70827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd199aff00234c
+cc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266668bf70f21
+b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a58b08a6949c
+a0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffffdcb33408ff
+00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffffe06666ff00
+1233330813e143b540b38be78bff00226666ff00106666ff00173334ff0019b334ff
+00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedccccd361d663
+8b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a080efb6cf8a4
+ea01bde9d6e903bdf8d315950af73d16950a0eefa2abeca8f791a2eeab01adb3e6c9
+f7e9b303f84bf76c15fffffb6666ff0006199afffffb6666ff00063333fffff63334
+ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d938b928c908e8c
+a38ca189b0778d7a98458b5b8bffffd2e666ffffecccccffffe3199affffdfb33473
+ffffe5199a7fffffdb999a8bffffd9cccc088bffffd36666ff00136666ffffd44ccd
+ff0022999affffe34ccdff001ab333ffffe9e666ff00249999fffff3199aff0026b3
+348bc28bb6ac9faa08fb0afb5515960af8a904970a0efbb4f7faabf772a401aabff7
+01c103f754f88a15980ab6fb2415990a0e57f730f76b159a0af748169a0a0e8ff7d7
+b701f887c103f887ee159e82ff00126668ff0002999aff00109998ff0006666608f7
+a0fc9507fffff94ccc798efffff2ccccff0003b334fffff3333408f85f060efb95f7
+73c701b3f79603f7a3f773152a0a0eefa2abf704a3eca3f701a3f703ab01adb3f739
+bae5c1f71eb303f80cf806155d797f6d1e61d6069d9a9ba4ad9b7a691efb05d4157b
+8b6d8c798c87878b7b8f87ab8893858b6b08fb28078b6b83856b8887878b7b8f879d
+8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e83918bab08c307908ba78a8f8808bb
+3b059c6ea3829f8b978b978d97908c918a92878f7b887bff0008333380ff0012cccd
+085bdd05aa95a5a48bb28ba977b8408b778b67897b8b08c5fc3815960af8a904970a
+0efb5af8a5b701c6f7ac03f7cff8a51598969d97918793811ffb88067f817a7f848e
+83941f0efbdcf82da9f721a901adadf717ad03f75bf890159b0afb398c159c0a0e5e
+b0bdf774bd01f78ebd03f78ef89c15280af769fc77159d0a0efbb4f800abf79aa912
+bac0efc97ba313f0d4f8df15958b998e8e9dff00014ccdff0007e668fffffd3333ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bab848b5c8b5573745e675b66
+65618b5b08f7620613e89e0a13f09f0a0efbb4f7faa9f71ca6f6a912b9bde5c66ac9
+13f8f74ef90415a00a13f4a10a13f8a20a0efb92f8b2f73401f743f95315a30a0e3b
+fb6976f774b8f8287712bdef2edaf762da13ecf7e8c7158d068e6f9b61c88b08bfaf
+b390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbd607746a
+5464548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb50078b
+5194588b6a0813f48b4c7b5c8b580862b3739ca39e9eb41e8bb669d18bcc8b90928f
+918b977ea581a68b08cb8bb6a5b2b7080e92fb7cacf9bfac01f7d1bddcbd03f803f8
+d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba15708b508d408b08
+fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff3999afffff5199a
+ffffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86088b788d8905
+bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b9087ff0002b333
+87ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008e6668ba908f9
+73078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d058fff00004ccc
+8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b080efbedf75b
+f70001d2f70003f711f75b15a40a0e55fb5ca8d6abcb7701f7e3c903f7c22b15a50a
+0efbb4f800a8f77d7601f729c103f71bf90015a60a0efb8af7c3a5f767a501b2c5f7
+30c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef718f70315bdab623b43
+6079704f71c8bcc1a3babd1f0e57f817f76b15a70afb4816a70a0ecc3aa8d1adf79b
+a8f7957701f726c1f7dcbf03f8c1f8ed15a80a45fffe6eb33415a90affff3a4ccd04
+8b627e88638986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff00
+1266688ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+66fffff39998ff0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000ff
+fffee664ffffff4ccdfffff0b334fffff6e666fffff4999cfffff4cccdfffff6fffe
+fffff58000ffffdce66662ffffd43334ffffcbcccdffffdeccccffffca3333fffffc
+999afffffa8000fffffcccce86fffffd1998fffff9b333fffffd666883fffffae666
+ffffebcccdff001a999a8b08ff0076cccc06fc20f8bd15a60a0ecc3cabf79aa9d1a8
+f7957712f728c1f75fc0efc97ba313fcf8a8f8ed15aa0afb23fc5515958b998e8e9d
+ff00014cccff0007e666fffffd3334ff000ccccdff00038000ff00084ccd90979794
+aa8b0813feab0a13fdff00088000ff001ab334ff00063334ff001f9999ff00044ccc
+ff0023b333fffffab334ff0003b33383ff0001999afffff54cccffffffb333806f7d
+646c8b08380694ac9aa6b5a90813feac0afbbdf83f15a60a0ecc3ca8d1adf791a9f7
+1ca6f077a5a912b7bde5c66ac9f798bf13fe40f8c6f8ed15a80a13ff40fc377715ad
+0a13fec0a10a13ff40a20af7f0fffe84b33415a90affff3a4ccd048b627e88638986
+838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f
+928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e666fffff39998ff
+0001199afffff9b3341efffffcb3348bfffff6b334ffffff8000fffffee664ffffff
+4ccdfffff0b334fffff6e666fffff4999cfffff4cccd82fffff58000ffffdce66462
+ffffd43334ffffcbcccdffffdeccccffffca3333fffffc999afffffa8000fffffccc
+ce86fffffd1998fffff9b333fffffd666883fffffae666ffffebcccdff001a999a8b
+08ff0076cccc060efb34fb7aacf8a6f512b9dec3f545accecf13ecf7d5fb2315ae0a
+13f46df8a515af0a0eef89acf766b5f80b77dc7601f7b0f9c615b00afb22fc57154a
+0afbb1fb60154b0a0eef89acf766b5f80b77dc7601f835f9c815b10afb2efcad154a
+0afbb1fb60154b0a0eef89acf766b5f80b77d47601f80df9bc15b20afb06fca1154a
+0afbb1fb60154b0a0eef89acf766b5f80b77c3c089c212f869a613f4f83af97f15b3
+0a13ecb40a13f4b50afb33fc64154a0afbb1fb60154b0a0eef89acf766b5f80b779f
+eb12f755ebf721eb13dcf755f95615b60af78116b70afb3bfc3b154a0afbb1fb6015
+b80a13ecb90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001db334ff000e1998ff0014e666ff001de6688b
+ff0020800008ba61b15d5d61645d1e8bffffdb3334ff001accccffffdfccccff0022
+4ccefffff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885
+858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda
+6666ff0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0ef7a2
+89ac6cb2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb
+0afb4b0413b3c0bc0a1373c0bd0a13b3c0be0a137bc0bf0a13b7c0c00a1373c0c10a
+13b3c0c20a0ebefb5ca8d6abc1b4f8e2b001b0e6f7a4c9f3ac03f8032b15c30a0e65
+89ac6cb2f7b0b1f788b36cacd27612f4e0f74aacb2ac9bae1327c0f789f9c515b00a
+36fc081530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+6589ac6cb2f7b0b1f788b36cacd37612f4e0f74aacb2ac9bae1327c0f7f2f9c815b1
+0a46fc5f1530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0f7cff9bc15
+b20a69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12f4e054ebe8eb5bacb2ac9bae1324b0f7
+d8f9891513247071a175a51e1324b0a5a1a1a51f132470a575a1711e717575711f13
+2530fb5116b60af726fc2015133670530a13ae70540a136670550a13a670c50a1376
+70c60a0efbbe89acf8dbacd27601f5e003eef9c515c70a6efcf715590a0efbbe89ac
+f8dbacd27601f5e003f766f9c715b10a78fd4d15590a0efbbe89acf8dbaccb7601f5
+e003f739f9bc15b20aa5fd4215590a0efbbe89acf8dbacc9eb0191eb8fe08feb0314
+1cf757f98915b70afb5116b70af74dfd0f15590a0ef589adf793b2f7b3ad01f5e0f8
+07eb03f753df15c80a60f8c515c90a0ef3967693acf8dbacb8c089c212f1bcf7cda6
+ccbc1337f835f97d15b30a132fb40a1337b50af71ffb7d15ca0a1367cb0a13a7cc0a
+0ef681aff8e8afc97601b0ebf849eb03f7c4f9c715cd0a2dfb0515640af7e3fbb915
+650a0ef681aff8e8afc87601b0ebf849eb03f817f9c815b10a53fb5a15640af7e3fb
+b915650a0ef681aff8e8afc07601b0ebf849eb03f802f9bc15b20a68fb4e15640af7
+e3fbb915650a0ef681aff8e8afadc089c212b0ebf7d8a6e1eb13eef82ef97d15b30a
+13deb40a13eeb50a3cfb0f15640af7e3fbb915650a0ef681aff8e8af8beb12b0eb67
+ebf7cdeb6beb13a8ecf95615b60a13a4f82d16b60a13d2fb433715ce0af7e3fbb915
+650a0e5ef719f7cf01f708f7cf03f7c8f7b615f70ff70f68aefb0efb0ffb0ef70f67
+68f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050ef681aff8e8af01b0ebf849
+eb03f7007e15cf0af773f90f15d00af757ffff894ccc15d10a0ecd81b4f8dbacd376
+01e2e0f7f6bc03f7a8f9c615b00afb75fb67156b0a0ecd81b4f8dbacd27601e2e0f7
+f6bc03f829f9c715b10afb7dfbbc156b0a0ecd81b4f8dbaccb7601e2e0f7f6bc03f8
+04f9bc15b20afb58fbb1156b0a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d7
+8115d20a30f96115d30af72416d30a0e7789acf8dbacd37601f790e003f7fcf9c815
+b10a74fd4e156f0a0e4789acf70bacf7c7ace6ac01ede0f76de803f74bf87315a091
+bc909e8b08c6d070fb0cfb15416c431f658b738d828e084904b0079a86a587ae8b08
+f746c3f70ad6d268f701fb4d1f788b68896789088f078bde9c90d18e91918ba08591
+5a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080e5581
+ac72acf803acf77eac12e7daf756de6ae0137ce7f70e158b387f86528885858b7691
+85a98cb28cb38bad8ba98aa28a91918ba0859167907f8e8bde08f7d407f70097f707
+f3c0a466551e8b4265634857087e0713badf4bd2388b2e083062616d746d8ba91e8b
+9793948b9c089f8395777b7c787b5f9f57dfe7cbd9f41e8bf70826cf3cbf088d0713
+7cd1c0c5b98bd808bb5bca233cfb1153fb3962fffff4199a86ffffdbe6661e7e8b83
+70918508be06948e87831f0efb1e81bb5bb4f80bac12afde4bd8f735d91324f758f9
+3315740aa6fbcc15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f8
+0bac12afde4bd8f735d91324f788f93315d60abcfc4a15d40a1374d50adafb381513
+ac760a1374770a0efb1e81bb5bb4f80bac12afde4bd8f735d91324f77bf92815d70a
+c9fc3f15d40a1374d50adafb381513ac760a1374770a0efb1e81bb5bb4f80bacdcc0
+89c212afde4bd8f735d962a6133080f7aff8d115b30a132880b40a133080b50a1365
+0095fbe815750adafb381513a300760a136500770a0efb1e81bb5bb4f80bace4ea12
+afde4bd85ae9d6e956d9133200def8d315d80a133100f73d16d80a137880b4fbea15
+750adafb381513b480760a137880770a0efb1e81bb5bb4f80bacc5abf5ab12afde4b
+d881b3ebb386d9133980f766f90f15d90a335615da0a137c40f73ffbf115750adafb
+381513ba40760a137d40770a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75d
+d7137bf79df81415db0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0efb3bfb5c
+a8d6abff00364ccdff0030b333f803ac12b0e1f71ec97ce213fcf7782b15e00a13fa
+e10a0efb2881bcf765adf70eac01b0dff75be103f766f93315740afb30fb9b157f0a
+dcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f7a2f93315a30afb26fc
+19157f0adcfb5415800a0efb2881bcf765adf70eac01b0dff75be103f78df92815d7
+0afb11fc0e157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df75e9d6e9
+61e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb5415e40a
+13f9e50a0efbd889acf7f6a7a87701f1da03eef93315740a97fc3b15e60a0efbd889
+acf7f6a7a87701f1da03f737f93315a30a9dfcb915e60a0efbd889acf7f6a7a87701
+f1da03f721f92815d70ab3fcae15e60a0efbd889acf7f6a7a877f5ea1287e997da7b
+e913f887f8d315d80a13faf73d16d80a13fc9bfc5915860a0efb0181aff80eaef797
+7701ade1f787df03f78ca5154452e0f706d7a4f2f01fb68bae78a26e97608f5f8b5d
+08fb3647685c1efb6af74a1523d4fb06f710f704f3d9f73d1e8bf7264af70635e108
+799deccc75ab21440568a767a3689e087b7605a37aa277a075089b7b2244a16bf701
+d405b05da95ba1567295728f718b0839fb1851fb411f0e5689acf7f6a771bfdcc089
+c212ebdaf760da4aa61395f7eef8d115b30a138db40a1395b50afb36fb6b15e70a13
+c6e80a13a6e90a0e3081aef80fae01b4e1f78ee103f774f93315740afb91fbe8158a
+0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a2f93315a30afb79fc6615
+8a0af759f75b158b0a0e3081aef80fae01b4e1f78ee103f7a0f92815ea0afb77fc5b
+158a0af759f75b158b0a0e3081aef80faedcc089c212b4e1f774a68ae113ecf7c4f8
+d115b30a13dcb40a13ecb50afb9bfc0415eb0a13caec0af759f75b158b0a0e3081ae
+f80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a13e4f73d16d80a13f2fb8d
+fc0615ed0af759f75b158b0a0e5eff004a999aff0058ccccff003e999abdff004299
+9aff0058cccc01ff00e1cccdff0058cccd03ff00e1cccdf81715ff00000001ffffe7
+b334ff00141999ffffebe666ff00184cce8b08ff00184cccff0014199aff0014199a
+ff00184cccff00184cccffffebe666ff0014199affffe7b334ffffe7b332ffffebe6
+67ffffebe666ffffe7b3341ffba004ff00000001ffffe7b333ff00141999ffffebe6
+67ff00184cce8b08ff00184cccff0014199aff00141999ff00184ccdff00184ccdff
+ffebe666ff00141999ffffe7b334ffffe7b332ffffebe667ffffebe667ffffe7b333
+1fff00ed3333f6159d0a0e3081aef80fae01b4e1f78ee103f832f85a15ee0afb4459
+15ef0aff0073cccc3715f00a0e4b81ba84a6f7e9ac12e3daf758da1338f76ff93315
+740a13b843fcbf15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12e3daf758da13
+38f7bdf93315d60a13b83bfd3d15f10a1378f20a13b8f30a0e4b81ba84a6f7e9ac12
+e3daf758da1338f79bf92815d70a13b85dfd3215f10a1378f20a13b8f30a0e4b81ba
+84a6f7e9acecea12e3da5fe9d6e974da1334f70ff8d315d80a1332f73d16d80a13b5
+40fcdd15f10a1379f20a13b8f30a0e3bfb7cdbf8baac01f7cff93315a30afb03fdd3
+15910a0e2efb7eacf753adf805b9f75ea9a67701dfdaf76ce103f735f7b415d1ff00
+4a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218bfffff1cccd8b
+ffffe48000ff00013333ffffe3b333ff001866677fff000a666686ff000633338bff
+001fcccd083ef86115fd31078b3880864e8885858b769185b58ca58cb78bba8baa8a
+b68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb999aff0014
+cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8b8a6c88b
+dc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affffe6199808
+7cfffff0b334898b8ba108f75307cc8fb38b1e92878e821e7281407d638889838d7b
+9185bf8897908b37080e3bfb7cdbf8baacecea01f720e9d6e903f720f8d315950af7
+3d16950a22fd7315910a0eef89acf766b5f80b77efbd01f862f97615f40aa4fc5b15
+4a0afbb1fb60154b0a0efb1e81bb5bb4f80bacdabd12afde4bd8f735d91332f7d6f8
+9a15f40af757fbb115d40a137ad50adafb381513b6760a137a770a0eef89acf766b5
+f80b77c0bf01f772a7f76ca703f882f9b815f50afb7bfc9d154a0afbb1fb60154b0a
+0efb1e81bb5bb4f80bacc8c4e57712afde4bd84ea6f757d952a6133940edf91b15f6
+0a137c80f757fc3215750adafb381513ba80760a137c80770a0eeffb5cb1f734acf7
+66b5f80b7701f88bc903f951fb1b158792858f828b75757b7b6e8b08667ea0a5b9bc
+ced21f91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08c2f725059098
+918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bff000980008bff00094ccc8bff00
+093334ffffffe666ffffc3999870ffffdc6668ffffc6999a8bffffd680008b55b177
+bd8b08b48bb39fa8b808fc4af836154a0a0efb1efb5cb1f72cb4f80bac12afde4bd8
+f716c96cd913e4f860fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff0028
+199aff0019e666ff001d8000ff002fb334ff0028b333ff00174cccff00069999ff00
+146666ff000be667ff000db334ff000d3333fffffe4cccff000c4ccc87ff00086667
+fffff4b334ff00064ccd08fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b0813ea6e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b92
+8a92898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a0835760513f22b
+7346568b478b39c371d18bff0022cccd8bff001e333393b7ad089f9b8d8b05ff0005
+6666ffffe4199aff0009199affffe76666ff00266666fffffb4ccd0813e4ffffce4c
+ceffffdae667ffffddccccffffd933328bffffd7199a8b55b177bd8b08b48bb39fa8
+b80813f2fb3bf80415750a0ebe81b4f8e2b0c77601b0e6f84aac03f81cf9c715b10a
+68fdd115500a0efb3b81bcf803ac01b0e1f74de203f792f93315a30af724fcd8157a
+0a0ebe81b4f8e2b0c17601b0e6f84aac03f80cf9bd15b20a78fdc715500a0efb3b81
+bcf803ac01b0e1f74de203f783f92815d70af733fccd157a0a0ebe81b4f8e2b0b6f3
+01b0e6f744f3f732ac03f7c4f98515f7000ac0fd8f15500a0efb3b81bcf803acf701
+ef01b0e1c3efa8e203f747f8ec15f7010af76ffc91157a0a0ebe81b4f8e2b0c77601
+b0e6f84aac03f7e1f94d15f7020aa3fd5715500a0efb3b81bcf803acf7627701b0e1
+f74de203f75ef88a15f7030af758fc2f157a0a0ef589adf8d9add27601f5e0f807eb
+03f7b7f94d15f7020a27fcf915510a60f8c515520a0e4881ba84a6f7efaedb9ce5d3
+52a912b2e1f770daeab7133b80f88bf94e15f7040afb32fcd215f7050a13b380f706
+0a80fffef84ccc157c0a137b80a19dae9ac89291918b9a85914b90829e8bbc08f859
+07cc8fb38b1e92878e821e13b7807281407d638889838d7b9185bf8897908b3708fb
+1407848989841e878b629c6a8b498b5f756365606071508b418bfb0fc931f7008bb2
+8bb09fbcff00284ccc080ef589adf793b3f7b2ad01f5e0f807eb03f753df15f75ff7
+0407ff000c4ccc8dff000ab334ff000fcccc8bff0009999a8bff0004cccefffffc4c
+ccff00068000fffff6b334ff00014ccc08fb0ef78106aeae99bcf76cd2fb43fb2efb
+5efb0d59fb2129809fab1e60f8c515ffffdc4ccd8bffffcab3338c638c85858b7691
+85d1889c868b3808fb5845077ffffffdb33482fffff14ccc8bfffff666668bfffffa
+66668efffffa3334948908dafb39068b387a86458885858b769185b28cff00354ccd
+8cff0025b3338bb08bb589f28b08f721f74ecbf78af74efb2df72dfb541f448b5489
+648b080e3281ba84a6f7efaee9b3cfa9a67712b2e1f770da13bff7edf710157b0a80
+fffef84ccc157c0a137ff7070a13bf7e0a0e6589ac6cb2f7b0b1f788b36cacedbd12
+f4e0f74aacb2ac9bae1327c0f80bf97d15f40af716fc141530f748061337c0c40a13
+afc0540a1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacdcbd01b0
+dff75be103f7e5f89a15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f7
+88b36cacb6bf12f4e05da7f75cac7aa7a7ac9bae132570f834f9b715f7080afb1bfc
+4e151336b0530a13aeb0540a1366b0550a13a6b0c50a1376b0c60a0efb2881bcf765
+adf70eaccbc4e57712b0df6fa6f75ce145a613fa80f70cf91c15f60a8ffc0215e20a
+13f900e30adcfb5415e40a13fd00e50a0e6589ac6cb2f7b0b1f788b36cacc1f312f4
+e0a7f3bdacb2ac9bae1327e0f76ef98515f7090acafc1c1530f748061337e0c40a13
+afe0540a1367e0550a13a7e0c50a1377e0c60a0efb2881bcf765adf70eacf702ef01
+b0dfc6efb3e103f748f8eb15f7010a53fbd1157f0adcfb5415800a0e65fb5cb1f734
+ac6cb2f7b0b1f788b36cac12f4e0f702c995acb2ac9bae13d3e0f886fb1b15879285
+8f828b75757b7b6e8b08667ea0a5b9bcced21fffffffccccff0000333305ff0005cc
+ceffffffe666ff00036666ffffffe6668b8b99bd9acd93befffff5999891fffff480
+02ff00023333fffff2e666fffffccccd0813bbe0f70a0a13d7e0540a13b3e0b08cc7
+8cac8b08f76b06ff0009e6668bff000b4cceffffffe666ff000bb332ffffffe667ff
+ffc3b33470ffffdc6666ffffc699998bffffd6999a8b55b177bd8b08b48bb39fa8b8
+080efb28fb5cb1f72cbcf765adf70eac01b0dfc1c9dee103f809fb1b158792858f82
+8b75757b7b6e8b668b7ea08ba58bff002b6666a8ff001dccceff003f199aff00347f
+ffff001eccccff000f4ccdff0019999aa2ff00158000a7889585907f8c0866656e7b
+518b678b61a06cbe77ac7fb98bc508f79e890597929196df6de5fb1f34fb0538fb2c
+1f8b539955ac65ad63ba73d38bff0007999a8bff00076666ff00004ccdff00073334
+ff0000b333ffffce3332ffffdae666ffffdd999affffd9199a8b628b55b177bd8bb4
+8bb39fa8b808fb8df835157f0a0e6589ac6cb2f7b0b1f788b36cacd27612f4e0f74a
+acb2ac9bae1327c0f7a0f94d15f7020a98fbe41530f748061337c0c40a13afc0540a
+1367c0550a13a7c0c50a1377c0c60a0efb2881bcf765adf70eacf7637701b0dff75b
+e103f75bf88915f7030a40fb6f157f0adcfb5415800a0ee581aff783aff7d5afc076
+12b0ebf821e063ac13f8f813f9bc15b20a85fb2a15f70b0a13fcf70c0a13faf70d0a
+0e2cfb82b0f74ec455c8e2aaf785aa75b812abd062dd41c0f75adb9dc2139060f78a
+f92715d70ad4fc10152e5c78661e139960f70e0afb4ffbb51513d260f70f0a13b260
+f7100af7ccf82115f7110a139560f7120a13b960f7130a13b0e0830a13b260f7140a
+13d4e0f7150a0ee581aff783aff7d5afaebf12b0ebdea7f76ca7b5e063ac13fe00f8
+7cf9ba15f7080afb03fb2815f70b0a13ff00f70c0a13fe80f70d0a0e2cfb82b0f74e
+c455c8e2aaf785aa75b8aec4e57712abd062dd41c067a6f763db44a6c9c2139316f7
+04f91815f60a139b4af763fc0115820afb4ffbb51513d382f70f0a13b382f7100af7
+ccf82115f7110a139742f7120a13bb427f936a9f508b328b394f8b2f0813b3128b55
+a36ca7700813b322830a13b382f7140a13d72af7150a0ee581aff783aff7d5afb6f3
+12b0ebf73ff3f70ee063ac13fcf7c4f98515f7090ad42c15f70b0a13fef70c0a13fd
+f70d0a0e2cfb82b0f74ec455c8e2aaf785aa75b8e0ef12abd062dd41c0c6efb2db9d
+c2139238f748f8eb15850af71ffbd4152e5c78661e139ab8f70e0afb4ffbb51513d3
+38f70f0a13b338f7100af7ccf82115f7110a1396b8f7120a13bab8f7130a13b27883
+0a13b338f7140a13d678f7150a0ee5fb76a3daddaaaff783aff7d5af12b0ebf79db2
+e8e063ac13fe00f80b6215f7160a8df94f15f70b0a13ff00f70c0a13fe80f70d0a0e
+2cfb82b0f74ec455c8e2aaf785aa75b8bcdddb9f12abd062dd41c0b8adf70bdb9dc2
+13931cf778f89315f7170ae6fb7c152e5c78661e139b5cf70e0afb4ffbb51513d39c
+f70f0a13b39cf7100af7ccf82115f7110a13975cf7120a13bb5cf7130a13b33c830a
+13b39cf7140a13d73cf7150a0ef71b89acf7b6b5f78facc97601f5e0f7eae003f8fe
+f70e15580afb7cf94015b20a0e5289acf7f8bff75ea9a67701e3daf766da03ff0153
+4cccff0297e66815fffff66668ff00033330fffff66666ffffff3334fffff66666ff
+fffd999cffffe5e666ffffcfb330ffffd6999affffc74cd0ffffdf999a61ff000566
+66fffff69998ff00084ccdfffff9b334ff00081999fffffde666ff0023199aff0017
+199aff001bb334ff001c6664ff001cccccff0021999ca6ffffdf8000ff001d8000ff
+ffe49998ff00223334ffffe6ccceff000866668dff0009ccccff00088000ff000480
+00ff00074cce08ffffdf999ab5ffffd86666ff0037b330ffffe5e666ff00314cd008
+ffff53b334fffe85fffe15840a0ef71b89acf7b6b5f729adcfac01f5e0f7eae003f8
+fef70e15f81ac5adffffc6999807ff00036668c8ff00141998ff00044cccff003ee6
+68ff0002b33491918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c8585
+8b769185ff003ee666fffffd4cccff0014199afffffbb334ff000366684e08fffeab
+333206ff00036666c8ff0014199aff00044cccff003ee666ff0002b33491918ba085
+91658a628a588b598b628c658c85858b769185ff003ee666fffffd4cccff0014199a
+fffffbb334ff000366664e08ffffbf999a69ccfc1a068b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde0836
+f81a15fb29fbeaf729070e5289acf7f8bfe6b2d3a9a67701e3daf766da03f73bff01
+1de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff0032999aff
+0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a95ff
+ffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8cb38b
+b38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff00308000
+ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffffc419
+9a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000999af740
+ff00ae33338b8bb2fb428b8b9905cc8fb38b1e92878e821e7281407d638889838d7b
+9185ff0031cccdfffffd1998ff000d1999ff000480008cffffb6666808ffffc2199a
+64c9fc2c068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff
+0020cccd8aa78a91918ba08591ffffcd33338f828f8bde080efbbe89acf8dbacb7c0
+89c212f5e0d0a613ecf769f97c15b30a13dcb40a13ecb50a75fd0215590a0efbd889
+acf7f6a7a877edc089c212f1daff002d6666ff00184ccd13f6ff00b8199af8d115ff
+ffeee6668bfffff0b33392fffff1999a970813ee7999ffffec33339f708bffffd94c
+cc8bffffeb4cce64fffff3666650ff0005666685948aff0009e6678dff0008ffffac
+949aff001766678bff000f4ccd8bff0011199a83ff00103333800813f6ff0012e666
+7dff0012e66779ff0013cccc8bff002966678bff001a1999b2ff000acccdc7fffffa
+999a8f828efffff619998a08fffff3666761fffff6199981ffffec33348b08fffffc
+e666fc5715e60a0efbbe89acf8dbacedbd01f5e003f793f97d15f40af734fd031559
+0a0efbd889acf7f6a7a877ebbd01f1da03ff00dbe666f89a15ff000bb334ff0009e6
+66a09791fffffc666696821fffff35800006fffff6199afffff6199a777f84ff0003
+999980ff0008199a1fff00a2b333fc2015e60a0efbbe89acf8dbacb8bf0198a7cce0
+cda703f7b1f9b915f50a2dfd3f15590a0efbd889acf7f6a7a877dcc4e57701ff0003
+e666ff00184ccdff0049cccddaff0029999aff00184ccc03ff001c3333f91e15ffff
+e7b3337f05ff000c999a36ff002de66659ca8bff0035199a8bff0039999abcff000a
+cccce108ffffe7b33497058251ffffd699996bffffd133338bffffcf66678bffffd9
+4ccdb0fffff61999c008ff0098cccdfca415e60a0efbbefb5cb1f734acf8dbac12d4
+c96ee013f0f7a3fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+ff999aff0000800005ff0007e666ffffffcccdff0007ccccffffffe666ff0007b334
+ffffffcccd91918ba085910813e8458e7a908bde08f825078bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338cff00
+244ccd8bff00064ccd8bff0006cccd8bff00071999ffffffe6660813f0ffffc3999a
+ffffe5199affffdc3333ffffc680008bffffd680008b55b177bd8b08b48bb39fa8b8
+080efbd8fb5cb1f734acf7f6a7a877f711ef12c8c96aef33da13fcf797fb1b158792
+858f828b75757b7b6e8b08667ea0a5b9bcced21fffffffb333ff00004ccd05ff0003
+7fffffffffe667ff00036667ffffffe667ff00036666ffffffe66691918ba0859108
+13f94e8f808f8bde08ff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe38000
+80ffffd8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa19
+9a8b5208fb57078b3880884e8685858b769185ac8cb28cb38b08ff000f4ccd0613fc
+ffffc38001ffffe5199affffdc3333ffffc666668bffffd680008b55b177bd8b08b4
+8bb39fa8b80813fafb3df97215850a0efbbe89acf8dbacc1f312ecf32ce013f0ecf9
+8515f7090a13e8e9fd0b15f7180a0efbd889acf82f7701f1da03f749f70e15e60a0e
+8efb40b8f711acf8dbac01f5e0f77de003f891f89f15f7190afbd29e15590a0e56fb
+73b7f745acf7f6a7a877f711ef12e5ef33daf750ef35da13f900f805f8eb15850a13
+f88099fbae15870a13fc00fbb9f7ae15850a13fa00e6fc7115860a0efba5fb40b8f9
+79accb7601f721e003f759f9bc15b20aa8fbb1155a0a0efbd7fb73b7f8c8a7a87701
+f705da03f705f7d115f71a0ac1f7e915d70a0eb5fb76a3daddb2acff0115e666ff00
+266666ff010ab334ac01f5e0f74cb203f7f46215f7160afb35f737155b0a0e38fb76
+a3daddb2acf803acf766a9a67701e1daf710b203f79e6215f7160afb48f73715880a
+0e3f89acf746a4f738ac967712ebda869013e8f743f70e15ff0056e66607ff0011b3
+33ffffff6667ff000d199afffffe6666ff00093333fffffccccd96fffff88000ff00
+09199a82ff000be6667b08d42905ff001d6666ffffd88000ff0008999afffff08000
+8f7cff0000ccccfffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08a
+a98a91918ba08591698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f7
+3a05fffffc6666ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605
+a9abae93b38f91918ba08591668a7d8a678b658b748c668c85858b769185c387ffff
+e84cccffffdcb334fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ff
+ffeae666fffff06666ffffe6cccdfffff4999affffed4ccdfffffcb33308ff005699
+9907ff0031b3348fcb8b1e13d88f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185b58ca58cb78bae8b988ab68a91918ba08591086190818e8bde08
+0e4889ac6cb2f8d3acd27612f5e0f7afac133cf754f9c715f71b0a137c60fdc7155c
+0a13bc5d0a137c5e0a13bc5f0a0efbdf89acf8f6a9a67701eada03eaf70e15890af7
+00f7b415f71b0a0e48fb76a3daddb2ac6cb2f8d3ac12f5e0f701b2f71bac13cff7a9
+6215f7160a13dffb14b4155c0a13ef5d0a13df5e0a13ef5f0a0efbdffb76a3daddb2
+acf8f6a9a67712eada78b213fceaf70e15890ab0fcec156e7678731f8b70a4829c88
+0813fa9d8998878b778b7971735a808b828d829185c494bca98bc708bf73ad651e0e
+4889ac6cb2f8749cd9ac76d312f5e0f775b799ac132ff824f94e15f7040a1367fb8f
+fd4e155c0a13a75d0a13775e0a13a75f0a0efbc589acf87c9ce5d352a912eadaf6b7
+13ecf79df94e15f7040afb3efcd415f71c0a13dcf71d0a0e4889ac6cb2f788f3f777
+ac12f5e0edf3dcac133ef7b5f7e315f7090a137efb20fbe3155c0a13be5d0a137e5e
+0a13be5f0a0efbdf89acf7aeebf77ca9a67701eadab2ea03f769f7fc15739d74a9a6
+9fa1a4a673a174707673721efb0afb8215890a0e4889ac6cb2f8d3ac12f5e0f7afac
+13b8f7caf85515fb0bffffbc199a8bff008de666058bde9c90d18e91918ba085915e
+8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1
+889c868b38088bffff41999a26ffffc666669d6cdeff002f999a8bffff566666058b
+387a86458885858b769185081378f71e0a13b85d0a137877436650218b084c066479
+9ebe1f8bff00e76666f71dff004e999a050efbdf89acf82b77f773a9a67701eada03
+f787f84a1546ffffd780008bff00b9800005cc8fb38b1e92878e821e7281407d6388
+89838d7b9185c58791888b40088bffff30333432ffffcbcccc9c6ed3ff0029e6668b
+ffff42199a058b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba0
+85914e8e80908bde088bff00ebe666e1ff0032199a050ef3967693acf8dbacd37612
+f1bcf829bc133cf813f9c815b10af741fbc815ca0a137ccb0a13bccc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7cef93315d60afb16fbcd15e70a13d8e80a13b8e90a
+0ef3fb76a3daddbf7693acf8dbac12f1bcf77ab2f71cbc13cff7fa6215f7160af75a
+f8bd15ca0a13dfcb0a13efcc0a0e56fb76a3daddb2acf7f6a771bf12ebdaf701b2c3
+da13e7f7996215f7160a3ef82315e70a13f7e80a13efe90a0ef3967693acf8dbacd2
+7612f1bcf829bc133cf7dff94d15f7020af775fb4d15ca0a137ccb0a13bccc0a0e56
+89acf7f6a771bff7637712ebdaf760da139cf78af88b15f7030a4dfb2515e70a13dc
+e80a13bce90a0e5689acf7f6a771bfdb9ce5d312e3b774daf760da139dd3f94e15f7
+040af711fbe815e70a13dbe80a13bbb1b0b8a1b28b9f8ba07e977495778d708b6d08
+fb2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba0869153
+90808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccc7effffc4b334
+47080ef716fb40b8f711acf8cfc35fac12f5e0f7e5e513dcf74af91b15828a7f8a7e
+8b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde08ff0144800007ff00
+02b333ff0010ccccff00084ccdff000c666892ff00084ccc0813ecc0cacbc2bd8bb9
+8bb081a664ff0019ccccffffdaccccff00103334ffffb433348b2608fb9607fb4857
+6f6a1e7d8b7d938495819887a06c8b087d6d767567c079a11fb88bff001ee666ff00
+083333ff0029199aff0022cccdff002be668ff00253333ff003f1998ff003dcccd8b
+f72308f76c078bf719ffffe99998ff00564cccffffd66668ff0030b33468b45e9f4d
+8b318b4951533c088b85fffff88000881eff0012800007cc8fb38b1e92878e821e0e
+48fb73b7f745acf7f6a771bf12ebdaf760da13ecf743f7fa158bb3fffffcb333ff00
+19b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff0003666683
+8b6f806e82468289858d7b8d85c18696868b5108fb57078b3981874f8685858b7691
+85b48ca58cb68bb28b9d8ab58a91918ba085915890828f8bdd08f738078ba0949793
+940813dcb1b0b8a1b28b9f8ba07e977495778d708b6d08fb5a07fb1887fb0f591e80
+8b7e8f849281957f9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf751
+08f735078bc287bb74aa7aa16c97688b5a8b557e4e4708888785818b99080ef681af
+f8e8afe2bd01b0ebf849eb03f85ef97d15f40aecfb0f15640af7e3fbb915650a0e30
+81aef80faedabd01b4e1f78ee103f7fcf89a15f40a2cfbcd158a0af759f75b158b0a
+0ef681aff8e8afadbf01b0ebe0a7f76ca7dbeb03f87ef9b915f50afb33fb4b15640a
+f7e3fbb915650a0e3081aef80faec6c4e57712b4e174a6f76ca68ee113f7f717f919
+15f60a13fb31fc4c15ed0af759f75b158b0a0ef681aff8e8afc07601b0ebf849eb03
+f88bf9ac15f71f0afb179015f7200a62fb4315640af7e3fbb915650a0e3081aef80f
+aef7667601b4e1f78ee103f821f8f715f7210afb189115f7220afb74fc30158a0af7
+59f75b158b0a0ef7a689ad6bb2f7b9adf783b312b5e9f7aee0f734a4eaa613bff7f8
+ab1524fb09e3f763f76af0d1ec1fae06b196856c1ffc8a076f827f631e806915137f
+8bc98db31ef7ec8ba5f7347090057c426e564a8b08fb2f06757d91a61ff798f207ad
+8b967b916f08916c05878e88901ea28b8d8e0588ab86a88bae8bac91a98dab088d8a
+8d891e7506878887871f846d05846f837b678b0824f76306a39793a31ef72b06bf8b
+ad50926008a68e7df71ffb958b3d8b055f458c8b1ffb4efb0bfb28fb481f8bfb48f7
+14fb1ff7508a080ef74b81ba5caef773b2f70bac12ade1f78bdef761e1137ef82df7
+f1156fba66b6268b08fb03293efb30fb0fde2ef70e1fd98bbdaeafc10813bea75cbb
+61e78bea8bb9bfa1a9fffffacccc93fffff9b334ff00066666fffff58000ff000099
+9a6c6a4e7a658b648b2eba8bf71a8b958b968c9408f7b606f70956d5fb0a1e478b50
+63695908fbb5fb0415d09eeff2b7dc57fb2e1e137efb2148695c2e63f0f7031ef8ab
+bd15fb5d068d9ba5f1e18bd78b953e8c62080e8381aa74acf798adf7b9adce7612f3
+e0f76ce7133ef7ccf9c815b10a63fb5e15670a38fc8415680a13be690a137e6a0a0e
+fb7389acf7eec955a712efda1390f785f93315d60a4afbcd15f7230a13b0f7240a13
+d0f7250a0e83fb76a3daddaaaa74acf798adf7b9ad12f3e0f724b2ace713cf80f7ca
+6215f7160a65f92715670a38fc8415680a13ef80690a13df806a0a0efb73fb76a3da
+ddb2acf7eec955a712efda78b213e2f71d6215f7160ab2f82315f7230a13ecf7240a
+13f4f7250a0e8381aa74acf798adf7b9adcd7612f3e0f76ce7133ef788f94d15f702
+0aa73c15670a38fc8415680a13be690a137e6a0a0efb7389acf7eec955a7f77d7712
+efda1398f743f88b15f7030a8cfb2515f7230a13b8f7240a13d8f7250a0efb0281af
+f8eaadc87612a6ff00208000fffff78000ff00476666ff00ed999adf4bff00208000
+13e0f7aef9c815b10aff0070b334fb5115f7260a13ecf7270a13f4f7280a13eaf729
+0a0efb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b
+0a13aaf72c0a13b4f72d0af747f8a915ffffb46666fb0b05fffff7e667fffff33334
+fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f7010513228896
+0574a1ffffe666668cfffff9999a8b868b858a888a080efb0281aff8eaadc77612a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff0020800013e0f78cf9c315
+b20aff0092b334fb4c15f7260a13ecf7270a13f4f7280a13eaf7290a0efb6181ac89
+76f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13aaf72c0a13
+b4f72d0af737f89e15d70a0efb02fb5ca8d6abff00368000ff00238000f8eaad12a6
+ff00208000fffff78000ff00476666ff0082999ac9b8df4bff0020800013f700f770
+2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908ff00156666ff00394ccc05ff0028ccceff0001e667ff
+00264cccff000ae667ff001f8000ff0013b333ff00398000ff0023ffffff00248000
+ff003d999a8bff003f999a8bff006a6666ffffafe666ff002e999affffad999aff00
+1ee666ffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a8bc3ff0032
+999ac3ff003ae6668b0813f680ff0061199a8baa4d9f49ff000a8000fffffe333498
+ff0000cccc9492fffffc8000bb87a7fffff5b334c0ffffc6333293ff0002199a9eff
+ff9e4ccd8bffff9ab3338b32488b218bffff96999aff00568000ffffcfe666e3ffff
+de80000813fb00ff003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b
+3affffd2cccc61ffffb033348bffffa280008b4fff002a800075ff00638000fffff3
+b3338ffffff56667fffffe199afffff66666fffffae6668f3e8f71975aff0039999a
+8bff001c3333ffffeccccdff00483333fffffcb3330867ffffa980009185059b9095
+8c9e8b080efb61fb5ca8d6abe076f82aac12bbaa7ad2dfc986d755ab13f800bbf71e
+158f5a8e5c8b61958d958c908b928b918b9289ff00156666fffffa8000ff00154ccd
+fffffc4ccdff001a4ccdfffffeb3330813f60067ffffa980009185059b90958c9e8b
+08a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b1
+6ca3631f828b828a838908ff00156666ff003966660513f500ff00398000ff0003b3
+34ff0059199aff001dcccc8bff005c199a8bff00444ccd5aff0027b33347ff001933
+33ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b0813f480f7
+2c0a13f900f72d0a0efb0281aff8eaadc77612a6ff00208000fffff78000ff004766
+66ff00ed999adf4bff0020800013e0f76bf94d15f7020aff00b3b3344915f7260a13
+ecf7270a13f4f7280a13eaf7290a0efb6181ac8976f82aacf7627712bbaa7ad2f721
+d755ab137abbf71e15f72a0a13b6f72b0a13b5f72c0a13baf72d0af70df80015f703
+0a0e8dfb5ca8d6abc9acf86ef7285cb2128eadf778e083c9f72dad13ed80f7c92b15
+a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16c
+a3631f828b828a838908a4ff0042e66605ff00224cccffffffb334ff00288000ffff
+ff3333ff00283334ffffff333391918ba085910813ee803b8e7a908bde08f81207cb
+95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813f680f72e0a13ee80
+f72f0a13f680f7300a13ee809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b
+8885858b769185b8ff0000e666ff002e999a8cff00266666ff0000199a08632b9185
+059b90958c9e8b080efbabfb5ca8d6abf85ab201e4daacc903f73c2b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff0015e666ff003a999a05ff00278000ff0005ccccff0028b334ff0015
+8000ff0020e666ff0025199a89ff000a4ccd85ff0005b333818c71776d83718b0870
+85a9c91ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff00066668
+88ff00026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333ff
+fffae664fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc8000
+7ffffffc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91
+199a085dffffffe666057d877f831f7e07868c8a8f1ec6fbc1068bffffbfcccdff00
+1966666eff0026cccd8608ffffdbcccdffffa933339185059b90958c9e8b080e8d89
+acf86ef7285cb2d476128eadf778e0f763ad139ef7a9f94d15f7020ad4fcd315f812
+0713bef7310a13def72e0a13bef72f0a13def7300a13bef7320a0efb7181c2f7edb2
+e59ce5d301e4daf706b703f79ef94e15f7040afb73fba1158e0a0e8d89acf7b6b2f7
+25f7285cb2128eadf778e0f763ad13def7f2f70e15f75bf7130797949a9690889382
+1ffb1cf72406cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813ee
+f72e0a13def72f0a13eef7300a13de9fdbb9a5cd8b08bc06b095654e1ffb27fb0807
+82817c81858e83931ff710fb5b068b387a863b8885858b769185bc8cff0032e6668c
+ff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e7a908bde08
+0efbab81c2f75cb2f5b201e4da03b6f841157d877f831f7e07868c8a8f1ec6215806
+82817c81858e83931fc6fb300644aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff700e60797949a96908893821f27f5f30695
+998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb
+4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333
+fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881ffff
+fc999c8bfffff919988bfffff466688eff000699988bffff91199a080ecd81b4f8db
+acb8c089c212e2e0f7b4a6b2bc13eef831f97d15b30a13deb40a13eeb50afb85fb72
+156b0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61335f7d8f8d115b30a13
+2db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbacecbd01e2
+e0f7f6bc03f859f97c15f40a52fb71156b0a0e4b81ba84a6f7e9ace2bd12e3daf758
+da133cf7fff89a15f40a13bcd9fca415f10a137cf20a13bcf30a0ecd81b4f8dbacb7
+bf01e2e0b3a7f76ca7b5bc03f878f9b815f50afbccfbad156b0a0e4b81ba84a6f7e9
+accfc4e57712e3da56a6f76ca676da133b00f721f91a15f60a13bc80d7fd2415f10a
+137c80f20a13bc80f30a0ecd81b4f8dbac82abf5ab12e2e0e2b3ebb3e6bc13bff7ef
+f99c15d90a335615da0a34fb5c1513df6b0a0e4b81ba84a6f7e9acceabf5ab12e3da
+7eb3ebb3acda133b80f786f91015d90a335615da0a13bd80cafce515f10a137d80f2
+0a13bd80f30a0ecd81b4f8dbaccb7601e2e0f7f6bc03f896f9ac15f71f0afb179015
+f7200afb67fba6156b0a0e4b81ba84a6f7e9acf76e7612e3daf758da133cf83bf8f7
+15f7210afb189115f7220a13bc41fd0715f10a137cf20a13bcf30a0ecdfb5cb1f72c
+b4f8dbac01e2e0f714c9f738bc03f886fb1b158792858f828b75757b7b6e8b668b7e
+a08ba58bff002f8000ff0022ccccff001f3334ff004c4cceff003e9999ff004f3332
+ff0031e666ff0016b334ff0061999a8bff0079333308f778078bff00504ccc9cff00
+03b334c79291918ba08591658affffd733348affffe8cccc8bffffea80008bffffcf
+80008c5d8c85858b769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0012199affffe1e666ff001ce6665aba89d78bcc08f795078bde9a90d88e91
+918ba085915c8affffcf66668affffd8999a8b648b628c648c85858b769185c7889c
+868b3808fbb607fb60ff0083800064ff006680001eff0019999a8bff0017199a8dff
+0014e666ff0003cccdffffcab332ffffd96667ffffdab334ffffd799998bffffd533
+338b55b177bd8bb48bb39fa8b8080e4bfb5cb1f72cba84a6f7e9ac12e3daf71cc989
+da13bcf889fb1b158792858f828b75757b7b6e8b668b7ea08ba58bff00274ccdff00
+10ccccff003a4ccdff00326668a7ff00148000ff00088000ff001ab332ff0006cccc
+ff0023999aff0004199a91918b9a85910813da4b90829e8bbc08f75407a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b
+7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a
+7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1eb28bba9fbc
+b3908fff00094ccc8dff0000b33484ff00016666fffff233338effffefcccdff0002
+999afffff4199a0813bcffffcd4cccffffdb4cccffffebb334538bffffd7999a8b55
+b177bd8b08b48bb39fa8b8080ef7f89476f906accb7601f870f9bc15fffff0999aff
+0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d828e859485b19c
+ab9cb0a6ac72ad79b279ff00091998ff0003ccccff0004199cff0008199cff0002cc
+ccff000919980867a666ad6daf08f7e2fb87156d0a0ef72c9476f82eac01f813f927
+15f7330afb48fb9915f7340a0e7789acf8dbaccb7601f790e003f7ccf9bc15b20aa4
+fd42156f0a0e3bfb7cdbf8baac01f7b7f92815f7330a34fdc815910a0e7789acf8db
+acc4ea12f743e97ae092e913f4f743f98315d80af73d16950a13ec84fd0915f7350a
+0e948bb1f8c8b69377e17612c8a913d8f8bb8915700a13b8710a13d8720afb5ff9ca
+15b10a0efb3f8badf7fab0957712bdac1390f794f93315d60a13b0fb4dfb7c15f736
+0a13d0f7370a0e948bb1f8c8b69377ccf312c8a9f73bf3139cf796f98215f7090af7
+b9fd8415f7380a13dcf7390a13bc710a13dc720a0efb3f8badf7fab09577f714ef12
+bdacddef139cf739f8eb15850a13bc2dfb3415f7360a13dcf7370a0e948bb1f8c8b6
+9377e07612c8a91398f7acf94d15f7020af7a3fd4f15f7380a13d8f7390a13b8710a
+13d8720a0efb3f8badf7fab09577f7757712bdac1398f750f88915f7030a13b8fb09
+4d15f7360a13d8f7370a0efbc489acf800adf77fad01e8daf3dc03f740f70e15f7f4
+07f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d75
+97628b0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95
+078b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80
+908bde080e2581adf807b7d7b2e2a9a67701d9daf769e103f742f7ff15780a84aa15
+fffff9b333fffffa4cccfffffc4ccdff0001b3348b9408f708e40797949a96908893
+821f29a806cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b3708
+86560782817c81858e83931fc8fc50068b648a79887d90839087978bff0006199aff
+0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96ff
+fff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70b
+e8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080eba89adf7c0adf71476
+ff008e4cccff001fb3341290cbecdcf76ed86de413fdff007b999aff02674ccc15ff
+00176668ffffffb3349efffff64ccc8bffffe0b33408fc8b078b68fffff5b333ffff
+fbcccdffffd64ccdfffffd3333086d890586ffffffb33389fffffd4ccd8b86088b78
+8d8905ba8cb48cb28bb38b9989e48bf75b8bc0ef8be18beb4ac234a4088d0713feff
+0032199aff00196666ff002ae666ff00334cce8bff00364ccc8bce6ee2fb4e8b688b
+5d89638b648bff00064ccd8dffffeeb3338b0829563a53779a7aa09b9e95a51f8bff
+0010b33484978bff00104ccc088bff001d4ccca2ff001fb334ff001f999aff00004c
+cc08ff007b6666fffee4b33415d00613fdf71dc63e31426d4ffb2c457e98ac1ff880
+04ac8b95e21e13fec3d66d25364e6d381f41060e7f89acf7c2b3f77cb36cac12f1e0
+f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf73c0a13dc898d0513ec8b
+3a89771efb7d0613dcf73d0a0e2381adf807b7f76bad12d5daf76bdd43aa13f8f72d
+c115f7bf07b2b3bf8d968b08c8bf4525fb065b362c1f6c8b769077a408b4f90e153a
+8b4f835b83088d7405878d8a8e1eab89059ffffffeb33495fffffa4ccc8b5208fc8f
+078b648b7b887408a0860594959c999498a872ab81b68b08f1f709e2f733f70e33dc
+341f5b8b6379696608f7a2f71b0713f4c08ba44c975d08aa8e7df720050e7489acf7
+c2b3f7b17701f5dcf798e503f74ff7e115f73a0a3af81a15fc1d078b6ffffff34ccd
+fffff2199affffd6b333fffffce6660870890587ffffffb33388fffffd4ccd8b8608
+8b748d89058be88dae1ea98baa89b88bdc8bcd90c4b1ff00298000ff001b999aff00
+258000ff003699998bff0040cccd08d766f701fb601efb01f73e06cc8eb38b1e9280
+8e821e56676e7f5780fffff54ccdfffff4b3348bfffff49998ff000ab333fffff4b3
+34bb7da1798b4d080efb0281adf808b6f7977701ddd5f76cd803f730cc15f7b507b3
+b4bf8c958b08c9bf4625fb065a342d1f6c8b759c77a30881f90d1556676e7f5780ff
+fff54ccdfffff4b3348bfffff49998ff000ab333fffff4b334bb7da1798b4d08fc4a
+078b648a7b8973ff0006b333fffffc4ccdff00064ccdfffffeb333928b9495999a93
+97a972aa80b68b08f1f705e4f733f70e38da341f5a8b637a696608f75a07cc8eb38b
+1e92878e821e0ebe81b0f8e2b401baacf84ae603f7b5f926152a8b325d4732908292
+85968bd2d9cfaae88bff0086999a8bff005d6666fb2c8bfb268bffffa9b333ffffe9
+199affffb83333ffffdb8000ffffd3199affffce66664e516f578b08fb1e8b54dd71
+e17f8ffffff64ccc88fffff4b334859057925b9554be86b863f70f8be08bd2aac6c1
+ff00426668ff003ccccdff00279998ff0061e6668bff00684ccd08ff00adcccc22ff
+00923334fb6b1e0ebe7fb5f8c476bfb099d201b0e2f841a503f92df97b15ffffdb66
+688bffffba1998ffffd88000fffff76668ffffab1998ffffd59998ff000c6668ffff
+cf999aa6ffff9ae6668b368b446c5055ffffbd999affffc33334ffffd86666ffff9e
+19988bffff97b3348bffff523333f4ffff6dcccdf76b8bec8be4b9cfe40886948491
+808b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e6
+66ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8bf71e8bc239a53508
+9787ff0009b3348eff000b4ccc9186bf84bb81c208ffffffe66806ff000633308bff
+0025b334c6ff001e33348b08a2a68faa9783a36f1f0e2581bcf803ac89c912b0e1f7
+4de213b8f85cf84015a09899a09983a1691fffffdd80008bffffcb3334ffffea8000
+6fffffc9e6660813d8ffffe7e66695ffffe18000ff0005999affffdbe6668b082821
+32fb22fb15d332f7121fc78bc09ebddd8794838f828c695f6075608b08424ed5f709
+f702bbcdcd1fc68b93688f688e709982a08ba08ba7988baa8ba5fffff33334ff0016
+999affffe88000ff0010b3320813b8ff000a19989bff000eccceff000bb334ff0014
+66668b089c8b9e829b8b080ef589adf793b2f7b3ad01f5e0f807eb03f753df15c80a
+60f8c515c90a0ef74b89adf8d9ad018dcaf70edcf80be703f7a0d815f88107aeae93
+bcf76cd6fb43fb2efb5efb1159fb21298098ab1efb3e54158b758d8905ba8cb38cb3
+8bb28bb289f28b08f721f74ecbf78af74efb2df72dfb541f4b8b5089638b678bffff
+ea66668dfffff1999a8bffff8e199affffffb334ffffd8e666ffffa84ccc8b60086a
+a0839b9f9998a01e8bff0013999883ff0009ccd08bff001399988bff00234cccabff
+0010b334ff00216666ff00024cccff001b999aff0002b334a8828b6508fc7e078b6b
+ffffeee666fffff54cccffffdd199afffffdb334086d890587ffffffb33388fffffc
+4ccd8b86080e6b89adf7cfadf776b170a8967712b5e45ba5f7abdc13c5f818d9156a
+7e7e452147bef707d4a9d7f71e1ee40613e534f79815e28b876a1ffb514d07fb4924
+5afb30fb0ff70054f7011fcd8bb18dcd8bb78ba58ab78a08a3078e8a8d881e6d8e05
+6f8e7f978bab08f884078bb0948daa8e0813d3a98e058e8c8c8e1f8ba40513e3fb07
+89fb6e8b0513cb5e8b66906c93087dfb2da5880513e5a5e4b09bbb8b080e3781ba84
+a6f7efaef76bad957712b7e15ea5f783da13a5f7f2f710157b0a132bd1f814151333
+7582748b808a08fb3306132b4f8b788f7091087dfb2aa5880513b597b9a9cabf8b08
+f70e069d9086781ffb5b07848989841e878b629c6a8b498b5f756365606071508b41
+8bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00073334ff
+0001cccd8b84087396688b1e93888e8c938d081373a19db19ac89291918b9a85914b
+90829e8bbc08f85907cc8fb38b1e92878e821e0e22fb7facf8f3ad01addaf762bf94
+d803f77ca3156da40554b769d48bbe08f737dca4bee8b5fb023a1e8bfb06435a4873
+08937b05968215e4aaf700cb8bf71a08f7093de6fb0f21fb0845fb371e8b34bc57dc
+4c08d25305af6fbb638b758b606b7a578b718b6e9977b178af7593818b087d73836e
+6acb50eed1cea6d71f8bb554ba65a9080e6889a870b2f7b4adf788b271a812f71dad
+f754dc1376d0f919157dfb20a6880592b6adc7bf8b08f72c06a39783731ffb68fb1c
+07678b839b84a70884a9058f888f871e7506898a89891f8e7290668b6a8b69855e89
+7a088d88a28b05908e8f8e1f91aa0591a8969aad8b08f71cfb9306707d85751efb38
+06498b6fc07bd4087186a4fb34f7a68bd98b0513aef715898ba1058e8a8f841e6e06
+637f9ca71ff88807aa999ab11ea806928c8f8e1f8ba0fb168a050ebc7fadf756b7f8
+00ad01f89de503ecf89f15f73e0abbfbdf15f73f0a0e3d7fadf7c4b2f797ad12b1e0
+5bd213e8f7bbf9261522fb0756fb051f8b31d863a9800813f047783f518bfb008bfb
+25f71c6af28bdb8bb8a5c394089cf7246d8e0573fb013764468b083d49b7f70ccca9
+d6f61fec0696919198968594801f470613e8fb076ee0bddec8b4db1fee8ba24b9d3b
+08aa9078f72305589075a4448b080efb0afb40b8f856b1d677f751b370a812f0dcf7
+48acb6a813f7f0dc15fb48586f6a1e7d8bfffff94ccd93fffff8b33395fffff64ccd
+ff000d3333fffff4b333ff000dcccd6c8b087d737d7567b579a11fa48bb78cb8b1c5
+b9bac98bf71408f770f71307ad8b98828e6e088e7205888d86901ea18b8f8e0588b3
+8aa68b9f8b9f8ca98eb308878f758b05878887871f887205886f7f7d688b08fb13f7
+6606a39795a31ef406d68b9d63a14608a89005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd
+99988bffffee8000fffffc9998fffffab334ffffff6668ffffe7cccc8b08ffff02b3
+340613ef648b628c5c8c0813f789898b770513ef8b888cfffffc800092ffffff8000
+08a98905ff00266666fffffd6668ff000c999afffff499988b6c080efb2ffb7caff8
+deb2f784a8016dcef7d8d203f741f81a157ffb040577fb4e91fbb4338b758b929f84
+9785998093798b08777f787c78a966c31ff70c8b9bf764bdf822088d9bf18b059499
+8f941f9f078f888d861efb038b99f7040598f5a9a19d8ba28b95688e7b8e789b859f
+8b089f979c9fa871b23b1f518b4d4878fb28876e7c72678b08670679867f831f7e07
+868c8a8f1e0ef71281aff783aff7d5af99d212b0ebf821e063ac13fcf932f97b15ff
+ffdbb3348bffffbab334ffffd8e668fffff6b330ffffac4cccffffd2b33499ffffd6
+b334ff0017ccccffffa480008b08fb3bfb41fb17fb70ffff4c3333f710ffff76cccd
+f7531ff70a8be8a4cfc5809486938b9608f708078bff002333339cff0009cccda88e
+91918ba38591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff00
+36e666fffffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b
+08fb3237f73df718f743ff00718000f70cff007480001f13faf7258bb438a535ff00
+0b4cccffffff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb80
+00b37bd3ffffff1998ff00003334ffffff199cff00001998ffffff1998ff00003334
+ff0003e668ff001b6668ff000d3334ff001a3330ff001c9998ff0004e6688d8c8e8b
+8e8b08908b938a928b08a2a68faa1f9783a36f1e0ea1fb7cb6f9bba801f754bbcdd4
+03f7b777159a648b608b75086c7c6974798197a61e8b9ba0d0a9b808f759f8e415fb
+39fc4f888bfb2ef84d0588938a918b918b9bff000d6666ff0005e668ff0022999aff
+00041998089c8d05908c8e8d8b90088b9e898d058b32896864478d8b1e89898b7805
+8b868ffffffd66688fffffff9998ad88a486996308f751fcaa055c336c518b59086a
+a064c1cdb9c1d01e8bb281c472d508f754f8930598ae9c93b68e90ff00004ccc8eff
+0002b3348b90088b9e898d058b57896864428d8b1e89898b7805868f888f1e9d8905
+ff00318000fffffa8000ff000a4cccfffff8e668fffff43334ffffe09998080ef70b
+81ba64acf7e2d557bff75ea9a67712e1daf756daf75bb1139f80f7bef81715b49f7f
+3b1ffb34078c2fba56f38b08dbdfd7f74b1f13af80f70c6ed146707d78791e8b6ca9
+86978aa886a9708b2b08295825405c71a8cd1ef72c07135f80f265bf441effffcee6
+668bffffd3199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff
+0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fc49078b38fffff4333387518785858b769185ff002933338cff0019999a8cb6
+8bb28bff0011b3338aff002a199a8a91918ba08591ffffcd33338f828f8bde08ff00
+a3e666078bff0015199a94ff000c4ccc93ff0008b33408b1ff00254cccff0026999a
+ff0015b334ff002766668b080efbc581c2f8eaa8a57701e5d603e5f8c715fc6e0744
+a66fb91eb88bafa1b2b7fffffcb3349485ff0005999afffff74cccff000266667177
+7c83718b087085a9c91ff85207cc8eb38b1e92878e821effffe6e66681ffffba999a
+7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08
+ab89059f957e4a1f0efbbe89acf7b6b2f792ac01f5e003f753f70e15f75bce079794
+9a96908893821f3ff737068bde9c90d18e91918ba085915f8affffd080008affffd9
+80008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fb374607
+82817c81858e83931fd8fb5b068b387a86458885858b769185b88cff0030b3338cff
+00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080eb5
+8aa8f7aeadf7a6a874ad12f5dc13d8f822f87315ff0036199aff00459998ff0038e6
+66ff00486668a78bc28b7d3cb98b089f9f9ca1af5bb4481f418bffffd9666644ffff
+c3999a420821fb1405ffffea4ccdffffe5ccccffffe9cccdfffff6199affffdce666
+fffffd666608ff00afb334078bde9c90d18e0813e891918ba085915f8affffd08000
+8affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808
+fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a
+8bff003066668ab88a91918ba08591458e7a908bde08ff00bae66607ff0021e6668a
+ff001d199afffff4ccce9fffffe64ccc08f731fb5a059f7199708d7b8b888c888f8b
+9f8c8f8ca98bb28b9a8aba8a91918ba08591798e678869b508fb6ff7980583948693
+8b938b92ff0004ccccff00033334ff001e3334ff0026cccc080e3889acf803acf77d
+ad01e1daf3dc03e1f87015fbf6078b388086558885858b769185b58ca18cb48bb98b
+a88ab68a91918ba08591478e80908bde08ff0056e66607ff00133333ffffff8000ff
+000e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000b
+e6667b08d42905ff001d6666ffffd88000ff0008999afffff080008f7cff0000cccc
+fffffd199aff00003334fffffde6668e8b9f8c978ca98baa8ba08aa98a91918ba085
+91698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666
+ff00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91
+918ba08591668a7d8a678b658b748c668c85858b769185c387ffffe84cccffffdcb3
+34fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef
+999affffe51999fffff43333ffffed199afffffd666608ff00efcccd07f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4bfb321f0efbdf89acf7b6b2f7ada9a67701eada03f742f7d515ce0697949a969088
+93821f3ff77306cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b
+4008fb5b400782817c81858e83931fdefb5b068b3880864e8885858b769185ae8cb0
+8cb38bb38bb18aac8a91918ba085914e8e80908bde080e4b80c8f8dfc801f7f0f8fc
+15ffffa26666ffffc91998fffffd999aff0007e6680568f70a53966d8b648b6b6c71
+65ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa5
+95a48bff001780008bff001f6666fffff11998ff0021b334ffffa94cd008ffff9c66
+66ffffc599989c6dff005e6666ff0037666605ff00028000fffff84cceff0002999a
+fffff7e666ff00028000fffff76666089860fb71fc47a47f05a291a48fa68d08f723
+f7ffd2fb8105a72ea35fbd8ba88bb2b09db2fffffcb33494fffffa9998ff0004999a
+fffff4b334ff0002666676717786768b6b8b7fab64f71808ffffa1999aff01391998
+ff00646666ff003ae668050ef7a97fbb85a2f8c9a812f0dcf767dcf767dc141c13bc
+f992f70815f85e078ba7ff000f3334ff000ae668ff0027ccccff0003199808a58d05
+90ff000066688eff000299988b90088b9e898d055a8a6e8a598b5b8b738c598c0889
+898b78058b868ffffffd4ccc8fffffffb33408a18905ff0027e668fffffc6668ff00
+0e1998fffff799988b6d08fc6407585a5a72658b08626ba6cd1ff851078ba7ff000f
+199aff000a3334ff0027e666ff0003cccc08a08d0590ff000066688eff000299988b
+90088b9e898d055a8a718a5b8b5b8b738c598c0889898b78058b868ffffffd4ccc8f
+ffffffb33408a18905ff0025e666fffffc9998ff0010199afffff766688b6d08fc3d
+078b7c8b7f8c7d57575f77608b08626ba4cd1ff853078ba799ff000a1998b4ff0003
+e66808a08d0590ff000066688eff000299988b90088b9e898d055a8a718a5b8b598b
+708c598c0889898b78058b868ffffffd4ccc8fffffffb33408a68905ff00274ccdff
+fffd1998ff000eb333fffff6e6688b6d08fc3c0732a042e91ec68bcaa5c9c7955cb2
+64c68bce8bc6b0bebc088d8a8936a28b05137ca19dbd98c9960888a25b9005ffffea
+9998ff00023333fffffc6668ff0005cccd8bbd080eeffb4fa9f73e76f906a7015fcd
+ddb8f82db803f3e3154f8bfb4d4d1e808b858f8895869f7c9f7d8b088373886b77ab
+6ebaf7048df722f71a1ff7f207ad8d9a931e918b96809c7508f7f1fc4d05967c9885
+9b8a089992959e1ff8ac07a99aaab21ea6068f8f8e901f8b9e898c058b438a646741
+8c8b1e868a8b7805869488901ea506b49869701ffc0f07788b78861e828b7da76eb0
+08fbf1f84dfb168b88898b7905869288901ebc8ba1538d7f080e5ffb7ea8f75fa8f7
+fca377bb12ebdaf765da13dcf743f84b158d8a8c881e13ec6d8061824180088d73b9
+87059a8993818b5908fb8d078b6e8180688808778905868a87898b86088b788d8905
+8bce8db6b5cd898b1e8d8d8b9e058b90878d868c087c8d05689081948ba808f78607
+13dcc1c7b39cb98b08c3986a451ffc54078b6e80826986087c8905868a87898b8608
+8b788e89058bca8db3b7d1898b1e8d8d8b9e058b90878d868c08768d056a8e80968b
+a808f84d07e476d02c1e558b597d47400888060ef681aff7afb2f7a6af01b0ff0060
+4ccdff01b4b334eb03f92ef7dd15650affff9eb3349e15fffe4c999806ff00066667
+ff00c2b334ff005fb333ff004f4cccff005f999a8bff007b80008bff00659998ffff
+9fccccff000c999cffff4e333408ff00014ccc6415ffffffb334ffff4d999affffaa
+1998ffff976666ffff8e33348bffff89e6668bffff906667ff0066333384ff00b4cc
+cd080ef681aff8e8afa5e112b0ebf849eb40b013f8f7dff90215ce0af7e3fbb915f7
+400a13f4f7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f8b4f76115f7420a13
+f4f7430a13f8f7440af759f75b158b0a0ef7befb48acf71dadf8d6b07cad12afebf7
+ede0f737e013def7e6f90415c08bb978b36708fc90076c72697f628b08fb17fb00f7
+03f7541ff766f702e2eb1ef86cfd3c15f8f407bb8ebb8b1e92fffff980008efffff7
+80001e13ee647a6d894d8b608b55ff0001800080ff000580000813deff0009800084
+ff000280007f1e808179787a8560a25997598b08fb47fb1cfb2cfb58fb59f724fb0f
+f7401fdd8bd6a3c0b908f87e0713eeff00318000ff00098000ff00028000ff005480
+00c99289481efce1078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91
+918ba08591458e7a908bde080ef707fb7eacf753b7f7e5ac8cad01afe1f77cdaf70c
+da03f7f6f7e415fbac0771776289788b085133b5f72bf3b6d5db1fb58bb373a65e08
+f7aafc5315f8bd7a07758b6565438b6d8b3a8c6e9a6f9a6b8f698b08fb0e3027fb18
+2ecbfb10f7241fc48be2a9b8aa08f7c8079e93a38f958b08acad8b5f1ffc4b078b38
+80884e8885858b769185b58ca58cb78bb68ba48ab68a91918ba085914e8e808f8bde
+080ec689acf78fad73a8ff00a5cccc76ff008c3334b270ad1291ff004ccccdff0090
+3333e0f775e813d780f7ccf8be15f7450a13b780f7460a13bb80ffff6f8000f7d815
+ffff8d80005cffffb2ccccffffcc6668ffffd86666ff001a6666fffff53332ff0013
+3334a3ff00146666ff0010ccceff001933321f8bff0009999cfffffb3333ff000999
+98fffffd999aff00099998fffffc6666ff000accd0fffffd999a918bff000acccc08
+ff0021ccccff002f333393ff00248000ff002880009f8b381efc25078b387a864588
+85858b769185bc8ca98cbe8bc38bb18abd8a91918ba085913d8f738f8bde08f73e07
+13d780a184a388ae8b08f74ac2f70be0c664f6fb4d1f13bb80718b4484638b080e3f
+fb7eacf753adf805b9f775ad01dbdaeedcc3e103f743f7e315aaabff0028cccda5ff
+001d33338b08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dff
+fffc199aff0005cccc8bff0024199a08f74e078ba0ff00033333ff0009ccccff000c
+cccdff000d3334087bf72b15f72e9ba3ac1ea98b917f99689379967da08b9c8ba3a0
+8b9f8b9c809d769b719d718e658b08375643fb2f1ffcd9078b3880864e8885858b76
+9185b58ca58cb78bba8baa8ab68a91918ba08591448f808f8bde08f700078b98ff00
+03cccdfffffeb333ff000a3333fffffbcccdff00188000fffff6199aff001ee666ff
+fffa6666ff001f999a8bc38bbd9cb4b2bab9a6c98bdc8bf540ed258b668b54725e5d
+08fffffce666fffffcccccfffffb199affffff199a8bff0007199a080e6c24a6d5a8
+f761aef784b569aecfa712f5dcf779dc13eff885f81815f712fb06affb0c1e13f76b
+8b748b768a08a407a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e
+898a8b7805868f888f1ea606b29a7d6d1ffc8c076f7e7c621e7006878888861f8b78
+8d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98a91ff73607e58b
+9089917d08f2fb7d05a55cb764c78b9a8b9c8e958f08889f05638b6cad74b60823f7
+8305ba96e3bf8be0083a8a152539792a1e59f7840613efa390a68eaf8b08c7dd7026
+1f0efb087fb0f8ebad01b7dcf781d003ecf90b1587568359825a08a986059ecda7df
+ee8bcd8bb7588b4e8b382865617c376d2e628bfb0d8b25de2df7078bed8b9b9ca38b
+089f8b94869c8b8dbe92bb95d7086d8e0577305c4c328b3f8b51b78bdc8be6bda6c8
+a3d3a6f70fbd8bf7098bf526ce348b2e8b8d785483080efb7481a78e76f82da912b0
+ce58a3f748c87ea213b2f7dcf72015748c058975825d727180806e79658b688b57a5
+8bbc8bb6a3a8dbad0813acd3abb1a08bd68bce50b83c8b598b68826b7b866b87698a
+6708a38a05a0ddc89ba08bb18bb27f8b548b63787755770813b23a6d49678b3b8b28
+f470ba8b081372ae8ba88ea592928d908b928b908b948b9489080e8889ac6cb6f8c4
+b56cab12f878ac7dac1328f808f8ef15f7470a1394f7480a1364f7490a0efbb6fb68
+a8f944a6f71fa6128db3f3d65cbaddc913fa8df8ed1553b363cd1e998ba294969285
+75875f8b7108fc15078b278b3ebc5ea276b27e9e8b08c2ada6a1a879917e1f7a8b83
+7b857e867e857e7e8b7e8b7d93819d809b81aa8bf70f08f88907f72462b3441e4f5c
+664f1f13f6f74016687269626173acafaea2aeb61eb8a0656b1f0efbab7fc3f7efb2
+01e4d5d7a703f738fb2515a8d5b8e51f8bff000acccdffffff3334ff000acccdffff
+fe1998ff000b6666ff000ce668ff0009199aff000c666696ff000b6666ff000ce666
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1e
+fffffb80008bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9
+b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c
+8bfffff919988bfffff466688eff000699988bffff91199a085dffffffe666057d87
+7f831f7e07868c8a8f1ec6fbc10644aa6fb91eff0017cccd8bff0018e666ff0005e6
+66ff0017e667ff000bcccdff00004cccfffffc3333ff0000199a878bfffffc199a8b
+7383737880717b519c8b5e08779979a11e0ea189acff01c7cccc76ff008c3334b293
+77128eff004ccccdff00ceb333e0f763ad13eeff00ef8000f8f215b095654e1ffc15
+078b387a863b8885858b769185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a
+908bde08f81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab80813
+def72e0a13ee6988fb03863c8b08fb6406fb07ffffd18000ffffb2ccccffffcc6668
+ffffd86666ff001a6666fffff53332ff00133334a3ff00146666ff0010ccceff0019
+33321f8bff0009999cfffffb3333ff00099998fffffd999aff00099998fffffc6666
+ff000accd0fffffd999a918bff000acccc08ff0021ccccff002db33393b11e0efb84
+81c2f7edb2f77fad01e4daeedc03e4f86b15615d077d877f831f7e07868c8a8f1ec6
+fbc10644aa6fb91eb98bbda1b2b789958591818c71776d83718b087085a9c91ff791
+f30795998f941f9f078f888d861efb0cc406f72e9ba3ac1ea98b917f99689379967d
+a08b9c8ba3a08b9f8b9c809d769b719d718e658b08375643fb2f1f0e8dfb44b0f918
+f7285cb2128eadf778e0f701e296ad13bef7f2bf15f85807cb95b1af1ea106d68bba
+719c3e968b998c948f84b986be8ab80813def72e0a13bef72f0a13def7300a13be9f
+dbb9a5cd8b08bc06b095654e1ffc4807fb3cbb3ce71eb48bb18fa79ea29c969f8b9d
+8ba171a1798b748b807b82787c65847f6b8b086c73bff71f1f0eea81b4f8dbacb6db
+01e2e0f7f6bcd4bb03f8fcff0260cccc15f74a0a0e4b7fb885a6f7f0a8bbde12e3d6
+f753d6b5ae133ef76d8115b28bba9fbcb3908fff00094ccc8dff0000b33484ff0002
+8000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff0006
+8000ff00028000a19dae9ac89291918b9a8591084b90829e8bbc08f754078bff0013
+ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000ff00
+11b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b808b80
+757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b769185bc
+88987f8b4908fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b
+1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb5407
+46a948ee1e0ed27fadf8c9c512a3a579e3bcbaf769c4bae37ea513def712f8df15ab
+96837d1f8b5dfb1dfb098bfb1908fb29eafb18f75cf759ecf728f7191e8bf71bfb1b
+f7078bb98b999893ac8b0813cdbf8b9f838f5708a58b84f70a458b052a6c78691f13
+de8b4cf3fb078bfb2608fb1547fb09fb1efb163ef4f7221e8bebebf71e8bdb08b175
+a3481e2b8b0513ec84fb0aa58b0591c3a18fbb8b080ec781aff8e4a776ac12e4e0f7
+4bd3f71bbc13bce4f77015fb50f661f714f72cf71dbff7def72d63f719fb0269437e
+5671a084971eaa8b92ad8c938e9c97929d8b08ea92fb7158fb6c2dfb03fb26fb1677
+f0f70e1ff7d90713dca7999bb41ea506908e8e901f8b9e898c058b2e8a6764308c8b
+1e898a8b7805868f888f1ea606b29a7d6d1f0eb989a8f8e3a775ae128bc6f79adb13
+d8f77bf84715e5fb2e8bfb66056f7d7b621e7106868888861f8b788d89058be88daf
+b2e2898b1e8d8d8b9e0590878e861e7106647b98aa1f8bf772f729f7ad059cab9997
+a98b08a006928e8d901f8b9f898c058b3d8a827e3c8c8b1e898a8b7705888c87901e
+a9069f9088801f8b868882837d08fb13fb7f41f7110513b83bf71956c7508b08455d
+586a7d9478a1a3919e9c1f8b9589938b928b9c9f8f938b08ae8bba3ac9fb00080eaa
+fb7ac2f8d5a8c8cc01f836f7e215a7ccb3e8ab8b938b97898f8695819c87998b08a0
+9d9e9fa37ba2541f4b8b563756fb0c8b8b29fb747e6d08fb02f79605879489938b91
+089b9891a990918e901e8b9d898e058b43895c6d5f8d8b1e89898b7705878f88911e
+ad8b96809b6508f712fbb905937794708b818b828981857f724e68357c8b818b8492
+8195859381917c8b087b75826d67b2809e1fd28bafdfa9d3dbf755ecf76b8b8b080e
+948bb1f79fb2f796b6937712c8a913e8f8bb891590c395c697bf848d808e7e8b6c44
+7254fb018908fb5587057affffff999a83ff000566668b948b908e919094ff00234c
+cdff00334ccdff003d6667ff0057b333ff00434ccce908f7410697949a9690889382
+1ffb2e06ff003f999aff00586666ff00426666ff005a4ccec0ff00444cccff001519
+98ff001b3334ff0002e668ff0006cccc8b968b92868f838b7f8b6c896d8b08fb7106
+13d8710a13e8a0d0b1ff00239998d6ff0001666808f7678f05ff0005e666ff000019
+98ff0004199afffffce6688b858b8688858684ffffd38000ffffc78000ffffbfcccc
+ffffa96666ffffbdccceffffa4199a08ffff6ee6660682817c81858e83931fff007d
+199a0646ffff9fb333ffffbb8000ffff9db333ffffcf6666ffffb7999a858389838b
+8408819086991eff016c4ccc06a6ff0063b334898b1f0efb3f8badf737b2f730b095
+7712bdac13d8d2f84b15f7360a13e89fd4aaff00114ccca9ff0000b33408f7148e05
+ffffe2999affffceb334ffffdcb333ffffc9333266ffffc9199a08ffff96b3330682
+817c81858e83931fff0056cccd06ffffd7999affffc53333ffffd6e667ffffc6b333
+ffffdbb333ffffcf199afffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906aeff002c6666ff0029999aff003a8000ff0028ccccff003c199a08ff004f999a
+0697949a96908893821fffffc1999a06afff00363334adff00356666ff001a6666ff
+002b6666ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b
+6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000ff00056666
+080e98fb67b0f99fb201f86fe403f73bf91915f74b0a0e98fb67b0f99fb301b9e5f8
+15a503f84ff91915fbf706778485831f8b81937a937d08f73bfbc205fb1b704c288b
+fb0308fb1ff719fb0ff734dbf72aaecda281a6681e718b6f7d7e766b5a596d548b08
+332bf70deaf733f706c1d01f9a8b978b998808fb57f7f5f78d8b05d58aa8388f5e08
+a58e76f750057386697a728b080efb27fb79a8f8e2b201a2d6f784a190a603f7d1f8
+4115fb7a06798587821f8b858f81917e08f717fb7f05fb0a814c458b21082bd828f7
+24e6c9b3ab9b839a761e748b7b847e767f746f74628b085a33baf70ae0cecad91f9d
+8b9e89a18608fb31f7b0f7228b05a98ba97f9d3708a6906bf72c7587057b82897f1e
+0efb27fb6676f833acf73eb5977712b79fd3cdf70ed913eef798f76d15f70bf73e05
+13de94988e948b970813ee90868e821efb9a0613de6c8b96926890087bfb0f9f8905
+13ee97cb9692b58b08f7468bfb2dfb6d05a190a9949d8be08b9a3f8b578bfb0d559e
+63715266666e8b5308729e7f9c9aa19ca51e8b9684968b9a8b908c9fb1a3b1a4f70f
+8b8bf721088be953c2358f080efb318bccf748b2f73a76f726ae12c8d6f74ee370a8
+13fcc8f86815769e79a09ca9ff0011e666ff0016199a1e8b9389918992899285948b
+9308a4a5afd4afbe722b1e8bffffc2199affffea8000ffffcd6666ffffc94ccdffff
+c6800008ffff8033330682817c81858e83931fff006080008bffffd7800063052927
+7b5b8b50088bbe8dab1ef74306abb9898b1f13fa98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008ff003d6666c6ff0044999a8b0597949a969088
+93821f660613fcff00388000ff00368000ff002a8000b78bff004b800008f70033b7
+3a1efb0346394f1f0efb3a7fadf7ccb9f713c701f7c5d103f7c5f748152d5a4b3f1e
+6b8b7ca1819e829b7f97778b08797b7e7864d96bc4f1e5d3f71ce54be9fb1a1f5889
+9bf715f7588b8b8d93c5fbd88bd95575fb5205a695a18ca78b08cbe14f2d1f0efb3a
+7fadf78ab7c4c701f7bdd103f7bdf71e15395c69501e6b8b719e809f829b8099778b
+08797b7e7864e46bc4f716b6e5d7d753dd281f758b58877d8a089cc9f7588b8b8d93
+c5fbc58bc65469fb0c05a994c990a78b08cbba454f1f0efb777fa78e76f81cb212ac
+a699d555c4f70dcf13bad5f81a154c078b40b976d36bdb698b6e8b608b5a4f6f688b
+668b699d819671a582bb8aa108708a05137a92fb2205948d948c908b928b908a928a
+0813baa484b187ad8bbb8bf705a88bee8bdb60af3aa9559f7d9f8bb308bbed079499
+8f941f9f078f888d861e13b6fb02f72f0652778b78058b3f7d64528a08898a8a881f
+6c07888c8a8e1e0e40fb6476f905b68e7712dad6f78dde13d8f7c5f82015d4a45431
+1f8bfb072524fb273708f80207d5c7b1a0b28b08fb764015fc57078b6a81796d8208
+7a8605868a8a888c86088f72f719af8bf505f761f704f713f7068bf7288bd36cdbfb
+118b578b4d6a4d5308888b8ee40513b8ff00026666fffffe6666ff0000999afffffd
+999a1effffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff
+0007999afffff5b3348b59080efc2e9676f9587701d4b203f7048115f95864fd5807
+0efbc89676f9587701d4b2cab203f76a8115f95864fd58074c16f95864fd58070efb
+9b9676f7bfadd3adf7a17701f71cb203f7b7f7d715fb08d3f708adfb08f7a164fba1
+fb0369f70343fb0369f70306fbbfb2f7bff708070efbc781f5f8c67701e6f503f724
+f92615200a56fcfb15210a0ef93489adf8ceb66bad9177e07612f5e0f807ebcda913
+aff753df15f74c0a13cf60f8c51513af520af9afbf15f7020af7a3fd4f15f7380a13
+cff7390a139f710a13cff74d0a0ef88389adf7fcb09577f756ad12f5e0f807ebbfac
+139ef753df15f74c0a60f8c515520af950fb2415f7030a13befb094d15f74e0a13de
+f74f0a0ef7d581ba66ad87a6f7e3b072aef761779ca9a67712b2e1f770daf704ac13
+89e0f7edf710157b0a80fffef84ccc157c0a132be07d0a1381e07e0af7e8ff01c2b3
+3415bd06a8b9b1b8aeb2081305e0f7500a1309e0fb094d15f74e0a1351e0f7510a0e
+f741fb40b8f711ac6cb2f8d3ac12f5e0f7aface1e013bef729165c0a13de5d0a13be
+5e0a13de5f0af8a5f89f15f7190a0ef744fb6eb7f740ac6cb2f7f3a7f71aef65ac12
+f5e0f7aface1ef35da13b300f729165c0a13d3005d0a13b7005e0a13d3005f0a139b
+80f850f8f015850a13934099fbae15870a0e3bfb73b7f745acf7f6a7a877f711ef85
+a9a67712eadaf737ef35da13fb80f7e5f8eb15850a13f34099fbae15870afb94fb57
+15f71c0a13f700f71d0a0ef83bfb40b8f71e7693acf8dbac12f1bcf829bcf782e013
+bef8c0f89415620a13de630af80896158bde9c90c78e91918ba08591658affffd4b3
+348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6688bfffff1ccccff000bcccd84ff000eb33385ff
+000cb333fffff73334ff000ccccdffffe719988b087d6d767567c079a11fb88baa93
+b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723080ef80bfb73b7f752
+7693acf7f6a7a877f711ef6aac12f1bcf829bcf74fef35da13bb80f8c0f89415620a
+13db80630a139dc0f780e215850a1399a099fbae15870a0ef76ffb73b7f745acf7f6
+a771bff700ef12ebdaf760daf746ef35da13ee00f74cf7fa15fffff9e66684fffffa
+6667fffffd999affffffb333ff000966668aa6fffffdb333ff0026b334fffffb4ccd
+ff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f807182468289
+858d7b8d85c18696868b5108fb57078b3981874f8685858b769185a98cb38cb38bb3
+8ba98aa98a91918ba085915890818f8bdd08f738078ba0949793940813de00b1b0b8
+a1b28b9f8ba07e977495778d708b6d08fb2c078b398187578686858b769085a98cab
+8cb38bb38baf8aa98a90918ba086915390808f8bdd08f729078bc287bb74aa7aa16c
+97688b085a8bffffc84ccd7effffc4b333470813cf00f858f78515850a13ee8099fb
+ae15870a0eef89acf766b5f80b77db7601f7e4f94d15f7020a42fc32154a0afbb1fb
+60154b0a0efb1e81bb5bb4f80bacf7637712afde4bd8f735d91332f751f88b15f703
+0af3fba215d40a137ad50adafb381513b6760a137a770a0efbbe89acf8dbacd27601
+f5e003f70ef94d15f7020ad0fcd315590a0efbd889acf7f6a7a87701f1da03f4f888
+15f7030ad7fc0e15e60a0ef681aff8e8afc77601b0ebf849eb03f7daf94d15f7020a
+904015640af7e3fbb915650a0e3081aef80faef7627701b4e1f78ee103f76af88a15
+f7030afb41fbbd158a0af759f75b158b0a0ecd81b4f8dbacd27601e2e0f7f6bc03f7
+daf94d15f7020afb2efb42156b0a0e4b81ba84a6f7e9acf76a7712e3daf758da133c
+f778f88a15f7030a13bc80fc9415f10a137cf20a13bcf30a0ed381b4f8dbac98e9b9
+bd01e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30ae0e815f40a0e
+4b81ba84a6f7e9aceceab5bd12e3da5fe9d6e974da133900f7fef92d15f40a133a00
+7c3115d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13bc00f30a0ed3
+81b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d30af72416d30a
+ff003a199aff008ee66815f7520a0e4b81ba84a6f7e9aceceaff000133347612e3da
+5fe9d6e974da132800ff01396666ff02eb333415ffffc3999affff94e66405fffff9
+8000fffff48000fffffd4ccdfffffc66688bfffff5e6688bfffff9b330ff00059999
+fffffa999cff0005999a8bff0005999a8bff00066666ff0003999897ff000d800008
+e7ff0062199cfffffd999aff0009e66405ffffed999aff0013ccccffffeb8000ff00
+00e668fffffae6668b08878bfffffb3332ffffff1998fffffd999affffff199c0813
+3200ffff41999affff53cccc15d80a133100f73d16d80a13a28040fcdd15f10a1364
+80f20a13a400f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30
+f96115d30af72416d30affffd73334ff0029199815ff0021199806ff0017199aff00
+1de668ff0018999aff001c3334ff001d4cccff0019800008fffff46668ff00119998
+05ffffe2b332fffff1e668ffffe76666ffffef4cccffffe38000ffffe91998ffffe6
+999aa1ffffe5ccceff0010b3346d9a08fffff3b332ffffee666805ff001bb334ffff
+e76664a6ffffe5999cff0017199affffdf6664080e4b81ba84a6f7e9aceceaff002a
+33347612e3da5fe9d6e974da133800ff00e73333ff0284333415ff0028000106ff00
+173332ff00296664ff001e6666ff00288000a7ff0023199c08fffff0ccceff000bb3
+3405ffffe26666ffffe7b330ffffe4ccccffffe98000ffffe26667ffffddccd0ffff
+e4cccdff00206664ffffe5999aff00168000ffffe0ccccff001a199c087bfffff44c
+cc05a7ffffddccccff001d999affffd78000ff00173333ffffd5b33408133a00ffff
+93cccdffffbacccc15d80a133900f73d16d80a13ba8040fcdd15f10a137c80f20a13
+bc00f30a0ed381b4f8dbac98e901e4e0c5e9bde9c6bc03f7d78115d20a30f96115d3
+0af72416d30affff90e666ff008e199815f7530a0e4b81ba84a6f7e9acecea12e3da
+5fe9d6e974da1330ff00cd3333ff02f8333415fffffcccccff0000e664fffffb3333
+ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999fffffa999808
+fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff28000ff0005
+9999fffffb8000ff0004cccd8bff000666668bff0005999aff000566688bff000480
+008bff00064cccffffff3334ff00064ccc8794081334ffff75ccccffffb8333415d8
+0a1332f73d16d80a13b540fcdd15f10a1379f20a13b8f30a0efb2883acf70eadf765
+bc01a1e1f758e203f7c4f72715f7540a3af75415f7550a0eef89acf766b5f80b779f
+ebb9bd12f755ebf721eb13def755f95615b60af78116b70afb3bfc3b154a0afbb1fb
+6015b80a13eeb90af7d1f96515f40a0efb1e81bb5bb4f80bace4eab6bd12afde4bd8
+5ae9d6e956d9133800f7d5f92e15f40a1339007d3015d80a133880f73d16d80a137c
+40b4fbea15750adafb381513ba40760a137c40770a0eef89acf766b5f80b77cbf346
+b712f7c6f313ecf84df9a115835fde8b0597969c97928793811ffb8f5f1594b7378b
+057f817980848e83941fd5fc5a154a0afbb1fb60154b0af72bf9371513f4f7000a0e
+fb1e81bb5bb4f80bacf700ef9dbd12afde4bd8adefa6d9133980f7d6f92d15f40af7
+57fc4415d40a137d80d50adafb381513bb80760a137d80770afb11f8bb15f7010a0e
+f7a289ac6cb2f777b29db1f788b36cacedbd12f841dff74aacb2ac9bae1333e0f92d
+f97d15f40afb3efc4c15bb0afb4b0413b3e0bc0a1373e0bd0a13b3e0f7560a137be0
+bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee781bc5ab5f74baef730acdabd12b2d3
+4ed4f743d4f75dd7133980f85cf89a15f40aacfb1a15f7570a137d80f7580a13bb80
+f7590aacfb3d15dd0a137d80de0ad5b115df0a0ee581aff713b3d3aff7d5af12b0eb
+f821e063ac13fcf80df92615fb3bfb41fb17fb70ffff4c3333f710ffff76cccdf753
+1ff70a8be8a4cfc5809486938b9608bfc407ff000c4ccc8dff000ab334ff000fcccd
+8bff000999998bff0004cccdfffffc4cccff00068000fffff6b334ff00014ccd0848
+a3068bff002333339cff0009cccda88e91918ba38591738a728a638bffffde80008b
+ffffd180008c5f8c85858b739185ff0036e666fffffbccccff001b199afffffc4cce
+8bffffd7e666087323077ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908f7053206696b4885558b08fb3237f73df718f743ff00718000
+f70cff007480001f13faf7258bb438a535ff000b4cccffffff4cccff000a66688dff
+000b4cccff0004b334fffffd8000b5fffffb8000b37bd3084f9566aefb038b080e2c
+fb82b0d5b3d3c455c8e2aaf785aa75b812c7dd41c0f75adbff0011e666ff0037199a
+13cd60f7d3f7ab15820af711f70015f7110a13cb60f7120a13dd60f7130a13d8e06f
+737b608b698b679f6fa57effffd94ccdffffe9199affffe6b333ffffe1e666fffff4
+b3336c08ffffe94ccd067ffffffdb33382fffff14ccd8bfffff666668bfffffa6667
+8efffffa3333948908a406ff0001e666ffffab6666dcffffe5999aff004c199a8bff
+006ab3348bff00719998ff0028999aff002ae668ff0046666608ff0026cccc06ff00
+0c4ccc8dff000ab334ff000fcccd8bff000999998bff0004cccdfffffc4cccff0006
+8000fffff6b334ff00014ccd08ffffdee66606ff00016666ff0007199aff0000b334
+ff000766668bff000780008bab7ca46ea364ab458c668b798b728973880813eae0f7
+150affffe4e666fc6e15fffec4666806ff00013334a5ff00058000ff0016199aa3ff
+001ce66696889b89988b0813d860aa8ba78e998bbd8bb58aa87bb0ffffeb3334ff00
+0cb334fffff24cccff00013332ffffe8800008fffff633346315ffffe3b332ffffcf
+6666ffffabccceffffe6999affffb666668bffffe066668bffffbb4ccdff00166666
+ffffefcccdff0033999a080ee581aff783aff7d5afc77612b0ebf821e063ac13f8f7
+eaf94d15f7020aae6415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2
+aaf785aa75b8f7517712abd062dd41c0f75adb9dc2139230f757f89015f7030af710
+fb79152e5c78661e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf8
+2115f7110a1396b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a
+0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f7d9f94d15f7020a
+fb1afcd3155b0a0e3889acf803acf766a98576c17712e1da13dcf7b2f91815f7030a
+fb5cfc9e158b388087538785858b769185ac8cad8cb38bae8bac8aa28a91918ba085
+91628f808f8bde08ff0056e66607ff00133333ffffff8000ff000e199afffffe8000
+ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6667b08d42905ff00
+1d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff44ccdff00004ccc88
+ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591698fffffe6b334ff
+00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff00048000fffffc99
+9aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f91918ba08591748a6f8a
+678b658b668c748c85858b769185c387ffffe84cccffffdcb334fffff6b334fffff4
+4ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef999affffe51999ffff
+f43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92878e821e13ec7281
+407d638889838d7b9185bf8897908b37080ef6fb5cb1f72caff8e8af01b0ebf75dc9
+f742eb03f8a8fb1b15f75a0afb5df98915640a0e30fb5cb1f72caef80fae01b4e1c4
+c9f717e103f812fb1b15f75b0afb24f8af158b0a0ef6fb5cb1f72caff8e8afc2bd01
+b0ebf75dc9f742eb03f85cf95d15f40af7c0fde415f75a0afb5df98915640a0e30fb
+5cb1f72caef80faedabd01b4e1c4c9f717e103f7fbf89a15f40af78bfd2115f75b0a
+fb24f8af158b0a0e98fb67b0f99fb3d47601cba5f815e403f7a7f94d15f7020afb00
+5715f74b0a0efb47fb7faef7c3adf796ad12b3a573d7f756dc13e4f740f88815f703
+0a5efc1d159c7c059d8fa992968b08d9aa6326fb004655591f13ec638b70b183a183
+a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba69196
+8b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108720613f4f75c0a0efb
+d7fb73b7f8c8a7a877f77a7701f705da03f705f7d115f71a0a92f75415f7030a0ef9
+4a89adf8ceb66bad917712f5e0f807ebe3a913ae1c04d48915f7380a13cef7390a13
+9e710a13cef74d0afea9e115f8740713aeaeae99bcf76cd2fb43fb2efb5efb0d59fb
+2129809fab1e13ce60f8c51513ae520a0ef89489adf7fcb09577f756ad12f5e0f807
+ebd6ac13bef986f84b15f74e0a13def74f0afcc7fbf715510a60f8c515520a0ef7be
+81ba66ad87a6f7e3b072aef75ea9a67712b2e1f770daf6ac130fc0f8bcf84b15f74e
+0a1357c0f7510afb63fbcf15f7050a138fc0f7060a80fffef84ccc157c0a132fc07d
+0a1387c07e0a0ee581aff783aff7d5afc87612b0ebf821e063ac13f8f841f9c815b1
+0a57fb3615f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b812abd062dd41c0f75adb9dc2139060f7aff93315d60aaffc1c152e5c78661e1399
+60f70e0afb4ffbb51513d260f70f0a13b260f7100af7ccf82115f7110a139560f712
+0a13b960f7130a13b0e0830a13b260f7140a13d4e0f7150a0ef7c581ba64a8f7bab5
+90d5f744a812f5dcf7dadcf772b013bff895f7181530ca58f3dbe8d7f74bf70c6dd4
+46707d78791e8b6caa86968aa886ab6d8b2b08294e25405c64a6cc1ef851078ba7ff
+000eb334ff000ae668ff00284cccff0003199808a58d0590ff000066688eff000299
+988b90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd666890ffff
+ff999808a58905ff00274ccc88ff000eb334828b6d08fb67fbdaf767078ba7ff000e
+cccdff000ae668ff00283333ff0003199808a58d0590ff000066688eff000299988b
+90088b9e898d058b2e896764348d8b1e89898b78058b868ffffffd4ccc8fffffffb3
+3408a68905ff0025cccdfffffd3334ff00103333fffff6cccc8b6d08fc8a078b6fff
+fff2cccd7fffffd733338808137f70890587ffffffb33388fffffd4ccd8b86088b78
+8d89058be88daeb3e1898b1e8d8d8b9e058b9087ff0002b33387ff00004ccd08718d
+05ffffd84ccdff0003199afffff0b333ff0008e6668baa08f78df7da070e54fb6176
+f9d7bc01dadcf792e503f7d6f8f515d0a248fb111f8bfb18fb16fb07fb102308f84a
+07d5d5b6aab88b08fb364d15cc8eaf8b1e92878e821effffe6e66681ffffb4999a7e
+ffffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc08ab
+89059f957e4a1ffd1d078b6a81796d8208778505868a8a888c86089272f71fb08bf7
+6605f744f71bf73cf7218bf7348bf70165e7fb0d8b4b8b4b535254080ef3967693ac
+f8dbacd27612f1bcf829bc133cf7b9f9c515cd0af722fb7115ca0a137ccb0a13bccc
+0a0e5689acf7f6a771bf12ebdaf760da1398f7a3f93315740afb31fb4f15e70a13d8
+e80a13b8e90a0eef89acf766b5f878ab01f7a3b3ebb303f79bf7af154a0afbb1fb60
+15c2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000ffffd9ccce
+fffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91
+918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998ff003033
+3408ffff396666ff0227800005ff001d199aff000dccccff0014b334ff001ce668ff
+0000ccccff001fccccff00068000ff0001e668ff0007ccccff0002e664ff0009b334
+ff0004333408f724c505fffff34cccff00154cccffffeb4cccff00116668ffffe366
+68ff000d4ccc08ffff8cccccffffb0199805fffff1199aff001c6668ffffe1199aff
+001380006a8b5d8b61648b5d8bffffdb3334ff001accccffffdfccccff00224cceff
+fff4800008ffff1ee666fffdec800005714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff
+0002999a5cff00044cccff000f999aff0029199a08f760f94415ba0a0efb1e81bb5b
+b4f80bacc5abf5ab12afde4bd881b3ebb386d9133980f766f90f15d90a335615da0a
+137c40f73ffbf115750adafb381513ba40760a137d40770affffc36666ff030e3334
+15ffffc3999affff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bff
+fff5e6688bfffff9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00
+066666ff0003999897ff000d800008e7ff0062199cfffffd999aff0009e66405ffff
+ed999aff0013ccccffffeb7fffff0000e668fffffae6678b878bfffffb3333ffffff
+1998fffffd9999ffffff199c080ef7a289ac6cb2f777b29db1f788b36cacd47612f8
+41dff74aacb2ac9bae1333e0f8fef9c915f75d0afbeffc9815bb0afb4b0413b3e0bc
+0a1373e0bd0a13b3e0f7560a137be0bf0a13b7e0c00a1373e0c10a13b3e0c20a0ee7
+81bc5ab5f74baef730ac12b2d34ed4f743d4f75dd71333f82bf93315f75e0afb22fb
+b315f7570a137bf7580a13b7f7590aacfb3d15dd0a137bde0ad5b115df0a0ef681af
+f8e8afc87601b0ebf849eb03f81cf9c815b10afbb0fdd515cf0af773f90f15d00af7
+57ffff894ccc15d10a0e3081aef80fae01b4e1f78ee103f7b5f93315a30af711fb6d
+15ee0afb445915ef0aff0073cccc3715f00a0eef89acf766b5f80b7701f756f9a315
+f75f0af7179015f7600a4dfc8d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+627712afde4bd8f735d91336e1f91915f7610af71c9115f7620ad2fc3615d40a137a
+d50adafb381513b6760a137a770a0eef89acf766b5f80b77d576c8bf01f775a7f76c
+a703f775f94715f7630ab1fc2c154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7
+29c412afde4bd85aa6f74bd95ea6133280f7daf88615f7640a1379006afb9d15750a
+dafb381513b500760a137900770a0e6589ac6cb2f7b0b1f788b36cac12f4e0f74aac
+b2ac9bae132780f727f9a715f7650af7179015f7600a8efc431530f74806133780c4
+0a13af80540a136780550a13a780c50a137780c60a0efb2881bcf765adf70eacf76b
+7701b0dff75be103e8f92015f7610af71c9115f7620a22fc0c157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccc76c8bf12f4e060a7f759ac7da7a4ac9bae1326
+b8f727f94715f7660af71afbde1513371830f74806b7979fc11ed606d68b9b63a146
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47ceb
+89938b8d8a8c888b7a88838a738b08133698fb930613af58540a136758550a13a758
+c50a137758c60a0efb2881bcf765adf70eacf72cc412b0df6da6f75ee143a613f5f7
+e2f88715f7640afb66fb6d15e20a13f2e30adcfb5415e40a13fae50a0efbbe89acf8
+dbacc87601f5e003f9ae048b828e848f8708ee37058d898e8a8e8b908b93908b938b
+8efffffecccdff00036668fffffd8000ff0004999808ffffc4b333f701058693848f
+808b6e8b7fffffea33348bffffefcccc08f7179015f7670ac7fd3915590a0efbd889
+acf7f6a7a87701f1da0378f93b15f7610af71c9115ffffe08000fffff58000ffffe9
+ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338bff0002
+cccdff000a66688bff000299988b8c8b8dfffffeb3338e08ffffc14ccdf723058794
+8390808b08cbfcc715e60a0efbbe89acf8dbaccb76c8bf0197a7cde0cca70397f946
+15f7630af747fccc15590a0efbd889acf7f6a7a877f73ac401ff00064ccdff00184c
+cdff00476666dab7ff00184ccd03f775f88615ff00184ccd9705fffff36667e0ffff
+d2199abd4c8bffffcae6668bffffc666675afffff533333508ff00184ccd7f0594c5
+ff00296666abff002ecccd8bff003099998bff0026b33466ff0009e66656085ffc0c
+15e60a0ef681aff8e8af01b0ebf849eb03f74af9a715f75f0af7179015f7600a9dfb
+3e15640af7e3fbb915650a0e3081aef80faef7697701b4e1f78ee103f708f92015f7
+610af71c9115f7620afb67fc59158a0af759f75b158b0a0ef681aff8e8afc176c8bf
+01b0ebdaa7f76ca7e1eb03f768f94715f7630af70b4615640af7e3fbb915650a0e30
+81aef80faef729c412b4e175a6f76ca68de113eef7f0f88615f7640a13f6fbc7fbb9
+15ed0af759f75b158b0a0e8381aa74acf798adf7b9adc67612f3e0f76ce7133eeff9
+ac15f7680af7179015f7670ab4fb4715670a38fc8415680a13be690a137e6a0a0efb
+7389acf7eec955a7f7847712efda1398d2f92115f7610af71c9115f7620a6cfbc115
+f7230a13b8f7240a13d8f7250a0e8381aa74acf798adf7b9adc776c8bf12f3e062a7
+f76ca77ce7133d80f728f94715f7660af7104215133e40670a38fc8415680a13be40
+690a137e406a0a0efb7389acf7eec955a7f743c412cda692daf716a6139ef7c9f886
+15f7640afb19fb2015f7230a13bef7240a13def7250a0ecd81b4f8dbac01e2e0f7f6
+bc03f750f99d15f75f0af7179015f7600afb27fb97156b0a0e4b81ba84a6f7e9acf7
+717712e3daf758da133cf705f92015f7610af71c9115f7620a13bc6bfd3015f10a13
+7cf20a13bcf30a0ecd81b4f8dbaccc76c8bf01e2e0b4a7f76ca7b4bc03f769f94715
+f7630a62fb3c156b0a0e4b81ba84a6f7e9acf731c412e3da58a6f76ca674da1336f7
+fbf88615f7640a13b9fb22fc9015f10a1379f20a13b9f30a0efb02fb76a3daddaaaf
+f8eaad12a6ff00208000fffff78000ff00476666ff0085999ab2ccdf4bff00208000
+13f700ff018ab334f90b15f7690a13fb00f7280a13f680f76a0affff5e4cccfd3415
+f7160a0efb61fb76a3daddaaac8976f82aac12bbaa7ad2d7b2a5d755ab13c900f74e
+6215f7160a13dd80fb1ef74715f72a0a13eb80f72b0a13eb40f72c0a13ed80f72d0a
+0e8dfb76a3daddb2acf86ef7285cb2128eadf778e06bb2f75cad13e580f7bb6215f7
+160a13ee80c2f73715f76b0a13f680f72e0a13ee80f72f0a13f680f7300a13ee80f7
+6c0a0efbabfb76a3daddaac2f7edb201e4daa5b203f73f6215f7160afb14f86a158e
+0a0efb08f803a9f777ad12d6a386dbf717cf74e413d4f718fb25159da39ca21f8b91
+869a8b988baea3a4c09af706acdada8be68bf70654cefb009e0813e8a898cfb68bd5
+8be631a95c8b458b547f6f8b0883fb14a3890594cdbab5c18b08b3c3773e52404245
+1f906d0513d4ebe464fb0c1f8b445e444571256564478b6608709e7c9e1e0efb68fb
+6476f82aa4f762ad12ada08dcff705ca6fd513fae4fb79159f9b9ca21f8b9289948b
+988baea89fbf9dbc9ce9b98bf68bcf60c3409c0813fc9d96c1b48bc78bd03ab05c8b
+458b697f708b0883fb09a0890594cda5aacb8bb28bb8738b518b5d5c4a3d7e087207
+978d958d958b0813fabbdb80261f8b4c6a655c783c6b52408b67086fa184951e0ef7
+1b89acf7b6b5f78facd27601f5e0f7eae003f8fef70e15580afbbcf8d315f7020a0e
+5289acf7f8bff75ea98576c17712e3daf766da13def7a5f91815f7030a21fffe99e6
+6615f76d0a13eef76e0a0e93fb7ea8f75fa8f8d2c454a812eadcf7a4db13ecf8a4f8
+4215ea89f719fb1e1effffcccccc8bffffbce668ffffde8000ffffa24cccffffa880
+00089107cc8eb38b1e92878e821e13dcffffe6e66681ffffb4999a7effffd7800088
+088d73058b88ff0002cccdfffffe3334ff00033333ffffffcccc0813ecab89059f95
+7e4a1ffc57078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ff
+ffff999a89fffffd66668b86088b788c89058bd78daeb2d7898b1e8d8d8b9e058b90
+87ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccdff000b
+33338ba808ff01a4333407ff0057999aff00523334ff00344cccff001a9998ff002e
+199a8b08cba157fb341ffcb7078b6efffff56666fffff5199affffdf999afffffbe6
+660873880586ffffff666689fffffd999a8b86088b788c89058bd18dafb2dc898b1e
+8d8d8b9e058b9087ff0002800087ff0000800008738e05ffffe16668ff0003cccdff
+fff39998ff000b33338ba8080eb472b86db5f4a5f785aef7977712add9f778d6f746
+a3137ff782f82815ba8bac78a16308fba00773706c79678b085a33b8f72c1fd9a4ec
+f01e13bff793fc14157f8b808c808da8c3abc5b08b08a2987e761f594b6a671e3df8
+c715cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d7305
+8b88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb2b07
+67a35f8e778b0839fb1054fb411f137f23ccfb09f7101eba8bb19fabac9662a680aa
+82776b7a6b786908a482c6f10513bf928a968a8f8b08ded6b9e3ab79a15e1f568b57
+217c7008788bbfb21f0e627fadf8f6a593a412bad154dcf797d557dd13f2f709f72a
+158bd3d9c2c0aee065e6618b32085a7743fb191e5ffb02a3f31f13ecf7b1f812158b
+416970435940ae3db88bc508c0b8c7c71ea5072438482f1f8b39d55dd6640813f264
+80fb114f8b2008fb15f70b66eff743ccecdf1e8bf702fb00be47a90813ec978ff71a
+c38bf70808c065f1fb381e7207cec8513f1f0efb137fa5f9127712b4cb5dcef766c7
+67cf13e4f77d99153e58c7db1f8bb2a1b6b9b808b3b105df4cca5b8b48084b714c26
+1e13d8f2f898158b3c3f5184878b8bfb13dd8bce8b9a8db1b4ac0876a405697c5465
+8b3c8b32d35cbf600813e44a6e3e388b3a085ba6fb01f737f70fd5d1f7091e8be738
+c54cb60813d89b91edc48bee8bd55bad6899087b7005b1668c5d8b7f080ea28bb8f8
+c4b201b9a9f86ec503f753f8f115f7968bfc24fccc05858388848b8508848e829c1e
+f80c06d5b3773b1f8b7b81737974089f8205aea8aaa88bc908b170c62a1efbdd8bf8
+16f8b605989e949a8b960891888e761efc19065b8b8e95668e87558143836208a986
+05a1d09cbdd78b080efb1f8bb2f7f3b201b3a6f7d3c403f72af81a15f7148bfb80fb
+fa05858289858b8508809b8b9d1ef75f06b2d7763b1f8b7b806f807908a08105aaa3
+a6ad8bc008bd55be461efb588bf77af7ef05949993978b910893858e801efb8c067c
+8b829289910872068a5e855f835a08a588059fd4ad9ba98b080eef89acf766b5f80b
+77cbf301f7c6f303f7c6f98615f7000a60fc6b154a0afbb1fb60154b0a0efb1e81bb
+5bb4f80bacf700ef12afde4bd8adefa6d91333f73af8eb15850af713fc0215d40a13
+7bd50adafb381513b7760a137b770a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cac
+12f4e0eec9a0acb2ac9bae13d9f0f7942b15a2957d7671767d6d1f778b808f709584
+8488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4cedf8b0513
+e9f0c50a13ddf0f70a0a13ebf0540a13d9f0f76f0a0efb28fb5ca8d6abff00364ccd
+ff0030b333f765adf70eac12b0dff721c987e113fef7792b15f7700a13fdf7710a22
+f80e157f0a0ef681aff8e8af8bebb9bd12b0eb67ebf7cdeb6beb13b4ecf95615b60a
+13b2f82d16b60a13d9fb433715ce0af7e3fbb915650affff1e4cccf86b15f7720a0e
+3081aef80faee4eab5bd12b4e185e9d6e984e113f8f7f3f92d15f40a13f4853115d8
+0a13f2f73d16d80a13f9fb8dfc0615ed0af759f75b158b0a0ef681aff8e8afff001c
+ccccff003a4cccfffff2e668b7ffffdee668ff003c800012b0ebff005e3333a2ff00
+be6667ff0016e666ff006a8000eb13d780f898f99c15825fc78b0598959d96928893
+811ffc1b5f1593b74e8b057f817980848f83941f13e780ff0114b334ff000d199815
+f7730a13cf80f7740a13e780f7750affffba4cccffff84e66815640af7e3fbb91565
+0a0e3081aef80faedcc089c2b2bd12b4e1f774a68ae113ccf7ecf92d15f40a13eef7
+4c2f15b30a13deb40a13eeb50afb9bfc0415eb0a13cdec0af759f75b158b0a0ef681
+aff8e8afb4f301b0ebf732f3f743eb03f7b7f98315f7000ab3fb1515640af7e3fbb9
+15650a0e3081aef80faef6ef01b4e1c8efe4e103f750f8ea15f7010afb27fc1d158a
+0af759f75b158b0a0ef681aff8e8afb4f340b612b0ebf732f3f743eb13def848f997
+158260dc8b0598959c96928793821ffbaa601594b6378b057f817980848e84941ff7
+1ca21513eef7000ab3fb1515640af7e3fbb915650a0e3081aef80faeceefb5bd01b4
+e1d1efdbe103f759f8c215f7010afb30fbf5158a0af759f75b158b0af70bf78815f4
+0a0e7789acf8dbacc4bd01f790e003f831f95415f40af728fcda156f0a0e3bfb7cdb
+f8baace2bd01f813f89a15f40ab8fd3a15910a0efb9772b7f70aa6f871a9a67701ea
+daf713a403f7c1ed156363646b1e7d8b838e8292ff002a8000deff000f8000a49c8b
+089a98846b1ffb62a3158b33ff002480006ea27d085dffffab8000ff001a8000ffff
+f180000596ff001c8000ff000c8000ff001c8000ff000f8000ac978698899b8b08bb
+cac2d3b5759f731fffffd380008bffffe180004affffe88000568594fffffe800097
+8be608f83d07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+080ec67fb769acf70ba6f764a771bf12ebdaf756daf739aa13aff805f7a615fb3807
+8b4baf6da87c085b369e82bae3059a869b899f8b08c5dec0d4a57cb05e1f598b6549
+6b537b9c8bab8bce08ef078bc287bb74aa7aa16c97688b5a8bffffd24ccd7effffc4
+b33347fffff9e66684fffffa6667fffffd999affffffb333ff000966668aa6fffffd
+b333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00
+036666838b081377e80a13afb1b0aea1b28b9f8ba07e97740895778d708b6d08f6fb
+7b15badca1a5a78b08a29c7d765f5464641f788b7e8f8092080efb717fb7f70aa6f7
+69b201e2daf743a703f79bf7171597979892988b08a29c7d76605563631f788b7e8f
+8092a4b6a0ab989808fb4480158b4cb061ae7d085b369e82bae3059a869b899f8b08
+c5dec0d4a47cb15f1f768b767e7b7b7778776b74617b9c84ab8bce08f76ff3079599
+8f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585ffff
+fc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666fffff6cc
+cc8bffffad199a085dffffffe666057d877f831f7e07868c8a8f1ec6060efbd7fb73
+b7f9017701f705da03f705f7d115f71a0a0ef72e81b561a7f80db768aef7977712ad
+d9f778d6f771d8139ff7e8f7ed15fba40773706c7d678b085a33b8f72cd9a4ecf01f
+ba8bac78a16308d6fbb515f7bb07136fbab1bc91958b08c8c14625fb06592f2c1f6c
+8b729877a40840f88f15fb2b07139f67a35f8e778b0839fb1054fb4123ccfb09f710
+1fba8bb19babac08589d079696969c949608136fa872af7fb68b08eef709def738f7
+0e36db351f5a8b5f76696608f75e07cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffffffcc
+cc08ab89059f957e4a1f0ef72dfb7ea8f757b75fadf805b968ae12afd7f776d666b0
+f770d913b680f89df81d15ceb842fb02357027211f7a8b678d69b408f78807a1c0be
+a8ae8b08fb00fcbe15f74107a47daa83af8b08e8f705d8f73ef647ea2b1f6c8b5181
+5e450813cd80c30797899a801e818bfffff6b334fffff4ccccfffffb4cccfffff633
+34087f72056aa960985a8b08fb0e3a28fb182fc1fb12f7241f13b680c48bab9f9a98
+08fb4c078b6ffffff4999afffff54ccdffffe06666fffffcb3330878890586ffffff
+800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087ff
+0002800086ff0000800008788d05ffffe0e666ff00034ccdfffff5199aff000ab333
+8ba70813ce80fb46f8c915b58bad72a65d08fba90771776889788b085133b5f72d1f
+f3b6d2db1e0eee89acf766b5f80b77c77701ff01968000ff017c199a15ff00218000
+ffff9ee666ffff9ecccc8b05ff002e199af72815ffff9ee666fb28ffffe333348b05
+758b848eff0003cccdff000a4ccc08ff00663333ff0102b334918b05ffffe13334fb
+ce15ff008ccccc8bc5fb3d05ff000bccccffffdd8000ffffd9cccefffffce666ffff
+d06666fffffc999a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffff
+d93334ff00038000ffffde3334ff00034cccffffee9998ff0030333408ffff78cccc
+ff01776666ff009b3334ff00ec999a588bffff85b334ffff45999affffcb4cccff00
+926666057c8270807e8b08fb77fcac05714dffffe1800085ffffd480008885858b76
+9185a58cff0020b3338cff001e4ccd8b08ff000a199a8bffffb7e666fb02be8bff00
+47cccdff006d800005ff0017e667ffffff999aff00178000ffffff6666ff0013cccd
+ffffff800091918ba08591fffff1cccd8cfffff04ccdff000133337eff0003666708
+ff0053199aff00cc666615ffff906666ffff55cccd05ff00008000ff0002999aff00
+00ccccff0002b334ff0001199aff0002e66608c2f725059098918fa38b080ebe81b4
+f8e2b0b37701b0e6f84aac03f76bff0060999a15ff011a199aff01d9e66605ff0023
+199affffe09998ff00149998ffffd58002ff000d3334ffffd466669787ff0009b334
+8eff000b4ccc9186bf84bb81c2fffff08000ff000180007cff0004ccccffffef3334
+ff0005e66808ff002b4cccff0048cccc588bffffdd4cccffffc5999805ffffe0199a
+ff0009b334ffffd7b334ff0008b334ffffc6e6668b368b446c5055ffffbd999affff
+c33334ffffd86666ffff9e19988bffff97b3348bffff9bcccdff0022e666ffffa4e6
+66ff0046cccdffffc4e66708ffff9b4ccdffff566666bd8bff0056199aff0090999a
+05ff002f8000ffffe3ccccff003b8000ffffef999aff0047e6668bec8be4b9cfe486
+948491808b443d476c2e8bffffc8e6668bffffcfcccdff00198000ffffda4ccdff00
+28199a08ffffe34ccdff00244ccc15ffffdb199aff00374ccdffffea999aff004700
+018bff0045cccc8bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff
+0031999ac8c5a7bf8bba8bff00254cccfffff68000ff001de668fffff01998080efb
+3b81bcf803ac01b0e103f818f85a15ffffddccccffffd6999a05ffffe5ccceff0010
+999a65ff0009ccccffffd066668b288b21328bfb228bffffca999aff000c6666ffff
+d14cccff00176667ffffdbcccd08ffffc33333ffffb64ccd058d7c97809b8b08ff00
+384ccdff0044999a05ff00214cceffffdfccccff002e1999ffffed999aff00394ccd
+8bc78bc09ebddd8794838f828c695f6075608bffffd6199a8b65ff00186666ffffe7
+4cccb608ff00a68000ff00cab33405ff0006999afffff98000ff00094cccfffffd66
+66ff000b33348ba08ba7988baa8bff000f6666fffffb999aff000e199afffff78000
+ff000c800008ff0024e666b805879881957a8b08ffff02cccdfbc715fffff86667ff
+00184ccdfffffbcccdff001bcccd8bff001ee6668bf702bbcdcd8bff0030e6668bff
+000de66673ff0005999affffe3cccc080e4889ac6cb2f7cfb7f76cac12f5e0f7afac
+137cf729165c0a13bc5d0a137c77436650218b084c0664799ebe1ff789f72a079895
+9d97918793821ffb34f711068bde9c90d18e91918ba085915e8affffd1199a8affff
+d9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808fb112b
+0780807a7f848f83941ff4fb7c0613bc5f0a0e8d89acf8d3b29377128eadf778e0f7
+63ad13bcf7f2f70e158bff00f1b334f71dff00e7666405ff00238000fffff2199cff
+00178000ffffe3999896ffffce3334968b998c948f84b986be8ab88b8c898d8a8bff
+fff499988affffec199cfffffeccccffffe78000fffffecccc08ff003dccccff0068
+6668588bffffc0e666ffff9566680513dcffffd98000fffffe9998ffffd6199a8aff
+ffdc80008b08350613bcf7300a13dc9fdbb9a5cd8b08bc06b095654e1f8bffff374c
+ccfb6bfffe94b334be8bf738ff0115199a8bffff9de666058b387a863b8885858b76
+9185bc8cff0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba0
+8591083b8e7a908bde08ff0147e66604ff0036199a07cb95b1af1ea106ff00084ccc
+8bff0007e668ffffffb334ff00079998ffffff4ccc080efb61fb41a6f71cac8976f8
+2aac12bbaa7ad2f721d740ce5dab13b900bbf71e158f5a8e5c8b61958d958c908b92
+8b918b9289ff0001199affffffb3338cffffffcccdff00011999ffffffb33308ffff
+ffcccdfffffecccd05ab86926ea055a058ae6ab68ba38b9d919f97969392968b958b
+928995869186918191848b08848b8288868584848580877e87818686818b738b7998
+70d1fffff8999aff0011cccdfffffaccccff0012cccdfffff5999aff001133330813
+d600ff00086666ffffff800094ffffffb333ff0009999a8bc38bf2a68bee8bff0044
+4ccd5aff0027b33347ff00193333ffffc3cccdff00164ccdffffd83333ff000f8000
+8bc28bb4afa2ad8b0813d480f72c0a13da00f72d0a0efb3ffb64b1f75376f81fad95
+7712bdac13e8c7168b8bff0019e666ff00006666ff00126667ff0000199a08ffffff
+b333ffffff80008e8bff00004ccdff0000800005ff000f999aff0000199a93ffffff
+e666ffffe8199affffff8000089306a18ba0799e6808b243059a6f9b77997f9e7ca1
+83a78b08c1a79db0a28097761f7e8b7f827f7a7f798083818b768b75a074b60864d3
+0574ff002a199affffe64ccdff00151999ffffe2b333ff0001b333ff0000b3338cff
+0000999aff0001199aff0000b3338cd5e9f3f731c9f1ff000f4cccff00193334ff00
+02b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613d8ffffdfe6668b
+fffff6999aff0006999affffee8000ff00036666fffffd999a8bfffffc6666fffffc
+66668bfffffd999a8a5e8568835aff0008ccccfffffc4cccff000c999afffffe199a
+ff000b999aff0002999a9fd4aaff00114ccca9ff0000b3340813e8f7148e0547fb06
+27fb243d22fffff76666fffff46666ffffff999afffffc999a8b86088493869a1e0e
+fb1e89acf85776f733b10195e7d3e0e0da03f797f70e15db078bff00456666ff002b
+4cccff0024e666ff002a199aff0026b334ff0027ccceff0024b334ff0026ccccff00
+264ccc8bd008e83fd5fb162afb025c236fa379a0b09da4a31e8b98839d8b9c8b968e
+969695a5a1b193b48b08f29f435d527623fb291ffb70078b397a86458885858b7691
+85bc8ca98cbe8bbd8ba88abd8a91918ba08591458e7a908bde080efb3689aaf80cad
+01a6e1bcdad0d403f785f7051597078ba0ff0024e666ff00186666ff00206666ff00
+12999aff0029b334a3aaff002b66668bff0038999a08e134b32d37305c55739f7ba3
+a49d9ca11e8b918a918b9208b4b993b7dca55b601e8b5e6a4bfb07850834078b3f7b
+874a88888889858b858b858d848e88b98cff001bcccd8cff002f33338bff002ecccd
+8bff001b33338ab98a8e8e8c928b91088b918a91888e4a8e7b8f8bd8080e8489acf7
+16b7f713adf78bad12f5e0f76cdc69e813fcf753f8ba154c0a60f7ab15ffffdc4ccd
+8bffffc9b3338c648c85858b769185d1889c868b3808fbd2fb0d0780807a7f848f83
+941ff71664068b387a86458885858b769185b28cff0035e6668cff0025199a8bff00
+23b3338bff001a4ccd89df8b0813faf75bc0efe11f8beb48c234a4088d0713fc4f0a
+b6fc7815f7110698959d97918793821ffb1bf713d00613fa4d0a0ecd81b4f7b7b7f7
+8cac01e2e0f7f6bc03e2f7d6153207fb60ff0083800064ff00668000f761bcf713f7
+461ea6be0798959d97918793821f4ef731068bff00504ccc9cff0003b334c7929191
+8ba08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c8585
+8b769185d6849c888b3a08fb31fbf6f731078bde9a90d88e91918ba085915c8affff
+cf66668affffd8999a8b648b628c648c85858b769185c7889c868b3808fb31570780
+807a7f848f83941ff888165e07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc08c3070eca89acf9067701f761aa15f7760a0e
+65937698b2f7b0b1f788b36cac967712f4e0f74aacb2ac9bae13a3c0937e15ff0009
+6666ff000b999aff0000999affffff6666051367c0b08cc78cac8b08f76b06bbdb89
+8b1f99bd9acd93befffff5999891fffff48002ff00023333fffff2e666fffffccccd
+774368503f8b08fb0806617d9bba1f8bff006dcccde5ff006f33338c8b05e08b8e74
+8e5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b8585
+fffffd6666ffffd08000fffffd8000ffffefccccffffc8999afffffc800008ff007d
+999aff009b333405ff00024cccfffff94cccff00024cce84ff00024cccfffff8b334
+ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b334fffffe4c
+cc99fffffd199aff00148000fffffce666ff0015333408ff0039b334ff00474ccc05
+fffffdb334ff000ee668fffff14cccff000f1998788b08ffffe0999affffd9666805
+fffffdb332ff000e1998fffffe4cceff000a1998ffffff6666ff000266688b8d8a8c
+888b081333c07a88838a738b08fb930613abc0ffffe180008bffffc580008c638c85
+858b769185d1889c868b38088bfffeabccccfb19ffff5c3333058e7c997a9e8b08b0
+ff002d999a15ff003bcccdff0049e66605fffffe199affffc64ccc7dfffff3e667ff
+ffd4199afffffbe66708ff00ade666ff0122666615ffffe3199affffdc66668bff00
+23999a05ff00e1b334ff00f2333415ffff5a1999ffff33ccccffffc433338b8bf748
+051333c0b7979fc11ed606ff002c66668bff0017ccce7dff00108000ffffe6333408
+0efb2881bcff00cfe666b1ff0077199aac01b0df03f818f85a15ffffd8b334ffffd0
+4ccc05ffffe680009e67ff000bb334ffffcdcccc8b348bfb05388bfb2c8bffffcf99
+9aff000a6666ffffd11999ff00183334ffffdb999a08ffffc46666ffffb7b333058d
+7c97809b8b08ff00378000ff0043999a05ff0020b333ffffe0b333ff002be667ffff
+edb333ff003ee6668bd78bc1aeb3bf889585907f8c66656e7b518bffffdc80008bff
+ffd6cccdff00146666ffffe11999ff0031666708ff00716666ff008a1999ff007733
+34ffffff199a05979291961f8bff0028b334fffff8e666ff002a3332ffffe8e666ff
+0020999a08ff002b3334ff0034800005879881957a8b08ffffbbb334ffff70199a15
+ff00003332fffffc6666ff0000199afffffc4ccc8bfffffc33348b8287fffffb3334
+80ffffffcccc0885ffffffe66605ff000a4cccff0049b33415ffffc2999affffb580
+00ffff84199afffffde666059ef705d194a38bff001a999a8bff001e199afffff5b3
+34ff000f9998ffffdce66608ffff528001ffff2d999915fffff68001ff001bb332ff
+fffab333ff002166678bff0026b33308ff00608000ffffff4ccd050efb53fb40b8f7
+f9b7f7e8ac01f753e003f753f77a15fb2907fb48576f6a1effffece6668bfffff1cc
+cdff000bcccd84ff000eb33385ff000cb333fffff73333ff000ccccdffffe7199a8b
+087d6d767567c079a11fb88baa93b4aeff002bb333ff00254ccdff003a4ccdff0033
+b3338bf72308f713e50798959d97918793821f27f78d068bde9c90c78e91918ba085
+91658affffd4b3348affffd94ccc8bffffdbb3338bffffcb4ccd8c598c85858b7691
+85db889c868b3808fb8d2b0780807a7f848f83941f0efbd7fb73b7f806b2f72fa7a8
+77f711ef12eeef35da13fceef8eb15850a13fa99fbae15343f0782817c81858e8393
+1fdffb0706fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108dccd0797949a96908893821f40e606bd8fcb8b1e
+8f868e831e6f806382468289858d7b8d8508c18696858b52080ed4fb54acf729adf8
+ecad01afe7f7eddce4dd03f7e2f90415c08bb978b367088bfc488b43056c72697f62
+8b08fb17fb00f703f754f766f702e2eb1fff008b8000fcf815ff00068000ffff604c
+cdff00431998ffffd3b333ff003ae6688b08e2abb9aba27e99751f6f8b7d79867585
+7586776c8b086d7aa7f7341f8baa8bd48bf8940595888e7f1e808176787a8560a259
+97598b08fb47fb18fb2cfb58fb59f720fb0ff7401fff002db3348bff002a3332ff00
+078000ff0025999aff000e8000080e37fb50abf726b7f807ad01aee1f775dae2db03
+f7d6ff01706666159fffffe9999a8ffffff1199a8bffffe7e666088bfb468b57058b
+798a867efffff93333ffffe8999afffff3e667ffffe53332fffffee666fffff03334
+8b085134b5f72bf3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ff
+ffe7800008ff00183334fffea3b33415ff00041998ffff5c1999ff00438000ffffd3
+cccdff003a33348b08e0aab8aaa17e99761f708b7d798676857686776d8b086e7aa7
+f7301f8be88b938bf7b405998796801e848bfffffa199afffff84cccfffff7e666ff
+fff4b3347e7987887fff0007ccccffffe06666ff0014800064ff0008b334ffffd599
+9a8b08fb0e3127fb182ecafb10f7241fff002ce6668bff001fccceff000ccccdff00
+1b8000ff00114ccd080e8381aa74acf798b2f7b4ad12f3e0f76ce7133cf7a4f8fe15
+670a38fc8415680a13bcff001cb334ffffd16666ff002b4cccffffd5999ac78b9a8b
+9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff0021999a
+71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b6184
+678b688b5c8c5c8c85858b76918508d1889c868b3808fb55480782817c81858e8393
+1fd6fb3d06137c6a0a0efb7389acf75cb2f6c955a712efda13d8f744f7fa15fffffe
+4ccdb3fffffe6666ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999aff
+fffe199aff00036666838b6f807182468289858d7b8d85c18696868b51085c4c0782
+817c81858e83931fd2fb01068b387f874d8785858b769185ae8cb28cb38bb38bb98a
+ae8a91918ba0859145907f8e8bde08f701ee0797949a96908893821fffff94800006
+ff00024ccdff00164cccff000a9999ff0013ccceff000a999aff000fe6660813e896
+9ba2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334
+fffff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f74
+64088580fffffb333393ffffffcccd90080e7789acf856b7e4ac01f790e003f7e5f7
+0e15ff0087b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a
+08ff00514cccf727ff003233348b0598959d97918793821fffffdc33348bff000dcc
+cca405a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b
+8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea
+9998ffffd7999808ffffece66867ffff2db3328bffffeccccdff0021cccc05ffffe7
+ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a8c6d8c85
+858c769185b588ff00113333fffffa1998ff00228000ffffc5e668089875ffffe44c
+cd8b0580807a7f848f83941fff003ee6668bff005c199afb2f05ff00118000ffffe2
+8000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff00
+3466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a90
+8bde08ff00366666f7fb15ffffbb999afb150583fffff0ccccfffffb3334ff00014c
+ce82ff000fe66608ffffb81999f713050e3bfb7cdbf813b2f714ac01f760fb3415ff
+000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999aff0037999a
+ff0086199aff0026999aff005a8000ff0023e666ff0050666608ff0052e666069794
+9a96908893821fffffb5999a06ff0009b332ff00156666ff0009b334ff0015199a95
+ff00158000ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba0859177
+8a748a6f8b6d8b6c8c6d8c85858b76918508ff001f999a88ff00206666857b6708ff
+ffdc199a38fb298bffffe51999ca05ffffedffffff002a3334fffffacccdff001280
+00c3ff00044ccc91918ba08591668a638a678b698b708c778c85858b769185ff0027
+b333869882ff001a33334e08ff0016cccc56ffffb94ccd8b0582817c81858e83931f
+ff005f80008bff00498000fb3f05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb08ff00843334f81b15ffffd199982005
+84ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffd2cccdf505
+0efb1e81acf804bb62b412e6d9f735d84bde13b4f73df75815f718078b9891929391
+a5a0ada2a78bbd8ba1638b6c8b5e765d4178083cf7381513d885aafffff56666a6ff
+ffcd999a8bffffd9b3338b677affffeb4ccd77ff0001b333fffff3b3348ffffff799
+98ff000b4ccdfffff9b334ff00078000ff00063334ff0010ccccff0009ccccff000c
+b3348b08a88c645d1ffb2707fb22d970d4dddec1c4a37f97746e79767e1e8b848c84
+8d878c888c858b80086c618065695c9cf7051e8b928e8f8e8c08e1a00513b4eba3d0
+c08bcf8bdd53a5458bffffdd33348bffffe1cccc835f6908777b050e3781b7f807ad
+01aee1f775da03f7d6ff01706666158d0aadfffeaa199a15ff000a999affffedcccd
+ff0013ccccffffedb333ff0025999a8b08bcafb390928295871ffffffa33348bffff
+f619987bfffff0b3348b08648ab3b81ff7bc07998796801e848bfffffa199afffff8
+4cccfffff7e666fffff4b3347e7987887fff0007ccccffffe06666ff0014800064ff
+0008b334ffffd5999a8b08fb0e3127fb182ecafb10f7241fff00324ccc8bff0021e6
+68ff0010199aff001dccccff00146666080e4782adf807b701e9daf775e103f759ff
+003d999a1577ff0016666687ff000ee6668bff0018199a08f77a078b9d8c9098ff00
+06ccccff00176666ff000c199aff0024cccdff0001199aff000fcccd8b08c5d859fb
+192361373b1fffffe1999a8bffffe54cccff000c199affffea199aff001880000869
+ff0155e66615fffff56666ff00123334ffffec3334ff00124cccffffda66668b085a
+6763868494818f1fff0005cccd8bff000433339ba08b08b28c635e1ffbbc077d8f80
+961e928bff0005e666ff0007b333ff0008199aff000b4ccd989d8f8e97fffff83333
+ff001f999affffeb8000bcfffff74ccdff002a66668b08f70edbff007ae666ff0077
+199af7134cdbfb241fffffcdb3338bffffde199affffefe666ffffe23333ffffeb99
+9a080e2581adf807b7f775ad01d9daf769e103f742f7ff15780a7af71015f72db9a3
+ac1ea98b9b7f99689379997fa08b9f8b9b9c8ba18b9c829d769b719d718e658b0837
+2e42fb311ffc21078b64ff00003333fffff5cccdfffffbcccdffffea333390839087
+978bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff00
+0a4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff00
+234ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6ffffff9
+b333fffffa4cccfffffc4ccdff0001b3348b94080efb3681acf803bc01b1e2f74de1
+03aef7e6158f829387948aadb7b6a1b68b08d4c841fb09fb025b49491f508b83ae87
+ae88a67d94768b08766f7e6c54c463ebeef5e4f722f71543e4fb121f4f8b56785939
+080efb3f81bcf711a4f76dac12b0e1f74ee572ac13f4f80af71515f7770aac98158b
+ff0011b333fffff96666ff000de667fffff4999aff00076666fffff58000ff0006cc
+cdfffff16666ff00013333fffff2199a8bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce8bd6b8dfd28b0813f8c18b986f8e6dff0002b3
+34ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f
+8b33ae3bd962776a786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788
+a88b988bd38becc18bed080e2ffb50abf726baf803aef760a8a57701b2e0f76fd6e6
+db03ff0158b334fffff6e6661596fb20ff003eccccffffd9199aff003680008b08e0
+aab8aaa17e99761f708b7d798676857686776d8b086e76a9f72e1f8be38b988bf85a
+05cc8eb38b1e92878e821effffe6e66681ffffba999a7effffd7800088088d73058b
+88ff0002ccccfffffe3334ff00033334ffffffcccc08ab89059f957e4a1ffb260774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0087407
+8bfffff68000ff00003334fffff6e666ff00006666fffff74ccd08ffffff6666ffff
+eb4ccd05f7210468075e676476718b558b54c68bf7118bd398b39aa0aabab58e9f8b
+ba8ba676a365080e5481baf803aef775ad01b2e0f76fd6f5dc03f7ebf871154f0774
+985f94778b498b5f756365606073508b418bfb0fc731f7008bb38bbdabb9b0088d8a
+8945a28b05a19db798c9960888a25b9005ffffea999aff00023333fffffc6666ff00
+05cccd8bbd08f7fa07f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b
+9c809b7c98779d7597628b0848354cfb321ffc13045e676476718b558b54c68bf711
+8bd398b39aa0aabab58e9f8bba8ba676a365080efb3c7fbcf767b2f709ac01b0e1f7
+59e203f7d1f7b315fb47890581869094dfc3a0b11fa38bc4879efb0508fb98fb5315
+7f8a83838881b357b066d78b08ff006d3334ff006eccccff00644ccdff007bb333f7
+323bce27fb1f583137809285971ff79c8d05ffff66cccdffffb6b333ffffc63333ff
+ffc94ccd1e518b63a066b1080efb2883acf70eadf765bc01bbe1f758e203f7def727
+15f7540a3af75415f7550a0e8781acf807bb01bbd8f752df03ff011ee666ff014b66
+6615ffff93999affffc9199affff7d8000ffffb666668bffff9d199a085aa54af704
+f73db7f71df7011e8bff0024b334fffff88000ff00224cccfffff1ccccff001db334
+ff00186668ff00114cccff00219998ff0014199aff0014999aff00073332fffffc66
+66fffff66668ffffff4cceffffefb332ff0002199afffff23334ff00069998ffffd3
+8000ff0017e668fffff54cccff000fccccff00026666ff0019b334ff0003ccce9fff
+000f199aff002b3334ff002acccc08fffff23330ff001233340577fffff0e666ffff
+f5e668fffff96666ffffea3334fffffcccccffffed3332fffffd3334fffff8999a9a
+fffffcccccff0015ccccfffffab334ff0023999aff000bb334a3ff000d1998ff001b
+333408fffff08000ff0008e66605ffffdb6668ffffd74ccc57ffffdd8000ffffcc66
+666effffde999aff002c999affffcbe666ff001c199affffbde6668b498b3a546858
+ff00024ccdfffff74cccff0004b333fffffab3349689b3b2beaebb8bff00184ccd8b
+bdfffff6199aff001f9999ffffcb4ccc08ff0010999affffda333415ff0007333474
+ff00044cccffffe3cccc8bffffdd999a08fb2c486a5c5c6eabc21e8bff0048999aff
+00538000ff00388000eaff00368000080efb5a81b1f74aacf737ac12b7da4fd2f723
+d513f4f70ff70d15f7780a13ecf7790a13f4f77a0a0efb5b81b0f745b2f73ba812f7
+9bd250d913e8f7a7f7041556656b501e5c8b659b64a6fffff8800087fffff96666ff
+fff94cccfffffe199afffff6b334ac6cc16eca8bf71e8ba6d58bc40813f08ba28bc0
+31a9088d07ff002e4cccff00134ccdff0018b334ff00237fff8bff002b333408b36a
+d3fb0b3e4967676e9e83971ea18b969b949c97a1a4a4b28b08abb66e4b4e6779601f
+8a8b5f90858b087980857f7f9382a11f938bae90938b08c3ad62531f0efb2981b0f7
+45b2f73ba8ff00a919987712f79bd250d9ffffc4e666ff0011ccce13f8ff00cf999a
+ff01b6333415ff0000b333ffffff800005fffff7b334ff0000ccccfffff74ccdff00
+008000fffff6b3338b083e4967676e9e83971fa18b969b949c97a1a4a4b28b08abb6
+6e4b4e6779601f8a8b5f90858b087980857f7f9382a11f938bae90938b0813f4c3ad
+625356656b501f5c8b659b64a6fffff8800087fffff96666fffff94cccfffffe199a
+fffff6b334ac6cc16eca8bf71e8ba6d58bc40813f88ba28bc031a9088d07ff002e4c
+ccff00134ccdff0018b334ff00237fff8bff002b33348bff001f4cccffffebccccff
+0032ccceffffbe4cceff0014b332ff000dccccff001accceff00156666ff00224ccc
+ff000f4cceff0010199aff00013332fffff5ccccff0006cccefffff13334ff000819
+9afffff4999aff001a3332ffffdb6666ff001a199aff0001666698ff00094cceff00
+153334ff000f1998ff000ae666ff0016999aff0012e666ff0039ccce08ffffeb6666
+ff0009cccc05fffff5199affffe96668fffff9e666fffff59998ffffee199afffff3
+3334fffff0800080fffff2b334ff000a1998fffff33332ff0011e6680813f2ffffeb
+199aff001d4cccffffff6666ff001a9998ffffff4cceff001e333408ffffee3332ff
+0000cccc05fffff0b334ffffc64cd068ffffc4999867ffffcb3334080e2081caf71a
+c2f71aca01adb2f7e0b70314e0f79af84b15fb01fb0b46fb38fb1df70e3cf703f722
+b3cbc01f8bbb66b44d9ed2a1a7af8bb108c16bd5fb2f1efc1604fb1953c7ecbaadf7
+0bf729f6b574531f8b646e754c7e64966193758b086d7b8278789c83ad1fb58bab94
+a492cb7ca66f8b6708474e88391e0efbb0fb62b5ff01656666ff002be667ff00a0b3
+33ac01f715da03f715f7c715ffffba4ccdffffa8cccd07fffff43334ffffffb334ff
+fff5cccdfffff2999a8bfffff066668bfffff73333ff00053333fffff9cccdff0009
+8000ff0000666608ff005e8000ffff6a999a06fb48696f6c1e7e8b85928495829780
+986f8b087e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208ff00806666ca07
+98ffffff999aff000a80009d8bff000bb3338b94fffffc8000ff00054ccdfffff54c
+ccff00004ccd08ffffb7b334ff0045b333068bde968ec89091918ba08591678affff
+d4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b878b38080e54fb82ac
+f757b7f807adf775ad12afe146d8f767daf3dc13fbf7ebf87115ffffc4333407ffff
+e3999aff000f9998ffffde6666ff00063334668b08fb0e3527fb182ec6fb10f7241f
+c48ba99f9a98087307fb205c4b411e13f75c8b68b2839ffffff84ccdff0013199aff
+fff7b333ff000fe666708b08767e7c7657f064c31fc08bff002a199aff00086666ff
+0027e666ff001c999ac0b1a1d48bf108f829078bff00058000ffffff6666ff0004e6
+66fffffe999aff0004199a08ff002a800007f70c9dd1c01ea38b92788f779070997d
+a68ba58b94a08b9c8b9c809b7c98779d7597628b0848354cfb321f89fb2115fbac07
+71776a89788b0813fb5138b5f72bf3b1d5db1fb58bab73a65e080e2afb82aaf759b7
+f807ad01afe0f770da03f8389715f82907998796801e848b8484847f087c73056aa8
+60965a8b08fb0e3527fb182ec6fb10f7241fc48ba99f9a98087307fb205c4b411e5c
+8b68b2839ffffff84ccdff0013199afffff7b333ff000fe666708b08767e7c7657f0
+64c31fc08bff002a199aff00086666ff0027e666ff001c999ac0b1a1d48bf1083cf7
+d815fbac0771776a89788b085138b5f72bf3b1d5db1fb58bab73a65e080e4181acf7
+29acf75dac12addef78fd567a713f8f804e615650776ffffecb33370fffff54ccd69
+8b08fb0d5beef6f706d4cad31f13f4e28bb2789d31ff00094cccfffffc3334ff0009
+66688dff00094cccff0003ccccfffffee666b7fffffe3334b7fffff7e666b7638b4a
+935d8b08fb20292cfb1d25d4fb07f72e1f13f8d88bff0034b3349eff00334cccb108
+b7078bff0038199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14c
+cc8bffffe1b3348bffffd74ccc8c6e8c85858b76918508c88790ffffee199a8bffff
+c4e666080e43fb5eaff8c8ac01f73ebad0c603ff017db334f7df15ffff939998ffff
+0d4ccdfffff0b334ff0022b333ffffaae666f76405ffffec999aff002f6666fffffd
+3333ff000c999aff00354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b
+769185bffffff9b334ff00073333ffffef9998ff00153333ffffcdb33408ff008999
+9afbda623905fffff76666ffffeecccdfffff7999affffec33338b780865ac72b8c5
+b2afb41e8baffffff94cccff00344ccd62ff004fffff08ff007a199aff0118b33405
+ff0013199aff002bccccff000b8000ff00193334c29091918ba08591778a738a718b
+6a8b698c728c85858b769185c187ff0007199afffff3199affffe9999affffcde666
+08ffff5b4cccfc60158b9b9ba9a2b4a6468e808b7f08797b7d79757e98a31e0efb33
+7faeff0178ccccff0027333401f70dbad5d003f7657f15ff00558000ff00108000c5
+9f1f8ba989a554ed08cbf305ff0022199aff00376666ff00156666ff0016999aff00
+1e80008bff000c80008bff000a199a86ff000066668cff0005800091ff0004e666ff
+000b4cccfffffe999aff0009b3348493fffff4e66691ffffed999a8b5a8bffffe5b3
+34ffffdee666ffffdaccccffffc5199a085434ffffc18000f70405ffffde3333ff00
+3c999afffffacccdff00066666ffffc680008bffffeae6668bffffdb999a7e8388ff
+fffc8000fffff4ccccff0002999afffff6ccceff00066666fffff7e66694ff000380
+00ff000f8000ff0001cccc8f8ba88bff0007e666ffffee8000ff001c999affffccb3
+3408dafb22786905654983858b6c0865b571b91e62d4158b9b9ba9a3b4089180059c
+6f96648b7e08797c7b79757899a31e0e54fb6b76a6a9f73dbff7f8ac01e1daf766da
+03f80bff008f199a158bffffeae66682fffff3b33383fffff74ccd65ffffdab333ff
+ffcd6666ffffea4ccdffffd8999a8bffffeb999a8b76ff000d199afffff46666ff00
+16e66681ff0013cccd89ff001b33338ba908f72c078bdd958fbf9090918ba086916f
+8a698a638b638b6a8c6a8c86858b769085c38696878b3908fb29078b54ff0003b333
+ffffcf8000ff00174ccdffffe18000ff0010cccd75ff001f33337fae8bff0031199a
+8bff003be66698c8cfff00036666ff0003cccdff00066666ff000a33338b7d08ffff
+ff3334fb54054a87638b1e848f88941ea495d699b38e8d93899b8591578e7f868bdf
+08f828078bdeff000bcccc8fc58f91918ba085916a8affffdb33348a638b658bffff
+df33348c6f8c85858b769185ff0032cccc8794878b38080e4089a8f801baf775ad12
+e3d6f723d677d613f4e3f86715fc1f078b6efffff7199afffff5999affffdde666ff
+fffc66660878890586ffffff800089fffffd80008b86088b788d89058bce8dafb2cf
+898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4ccdff0003
+6666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b08c3a17b3a1ffb73078b
+6efffff6e666fffff5999affffde199afffffc66660878890586ffffff800088ffff
+fd80008b86088b788d89058bcf8daeb3cf898b1e8d8d8b9e058b9087ff0002999a87
+ff0000666608788d05ffffdf6666ff00036666fffff5999aff000a999a8ba808f768
+07f267bf431e648b507b484808f71407f730bba3ac1e13f8a98b9e7e986a937a9880
+9f8b9e8b9a9a8ba08b9b829c779a729c7192658b08373042fb321f0e40fb71aff74b
+a8f801baf775ad12e3d6f723d677d613faf848f70115f74307f267bf431e648b507b
+484808f71407f730bba3ac1e13fca98b9e7e986a937a98809f8b9e8b9a9a8ba08b9b
+829c779a729c7192658b08373042fb321ffc1f078b6efffff7199afffff5999affff
+dde666fffffc66660878890586ffffff800089fffffd80008b86088b788d89058bce
+8dafb2cf898b1e8d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdf4c
+cdff00036666fffff5b333ff000a999a8ba808f78b07bbbab6a5a88b0813fac3a17b
+3a1ffb7007fb0095fb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f
+9f8bad8bb0aa08bab19bef8bf735080efbc189acf75bb3f72c9ff4ed12f4ed34da13
+f0f3f8eb15850a13f4e6fc7115f700c407ff000c4ccc8dff000ab334ff000fcccd8b
+ff000999998bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc0848ff
+00334ccc06ff0031b3348fcb8b1e8f868e831effffe3800080ffffd8800082468289
+858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52085c44077fffff
+fdb33482fffff14ccc8bfffff666668bfffffa66678efffffa3333948908dbfb0006
+8b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f80
+8f8bde080efbce80c2f8177701dfda03dff7d615f77b0a0efbd689acf803ac01ecda
+03f744f7c715f77c0a0efbc889a8f78ab78fb9f7cb9f01f6d603f765f7d415838bff
+fff86666ff00014cccfffff8999aff00024cce08ff0103666607cc8fb38b1e92878e
+821e7281407d638889838d7b9185c58791888b4008ffff42666607fffff9199aff00
+024ccefffff8b333ff00014cccfffff833338b608b74647d509185958a968d95ac95
+9aa58bff000933338bff0009e667fffffd999aff0009e666fffffc199a08ffff424c
+cc078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e
+80908bde08ff0092333407ff00034ccdffffff3332ff00034ccdffffff999aff0003
+66668bb98ba8b297c7858f818e808a7d618081758b080efb818aa8f791addca9f76c
+a99b95129da9f71dd66ca713fef7eef7cf1539f7a006cc8fb38b1e92878e821e7281
+407d638889838d7b9185c58791888b4008ffff41e66607ffffeb4ccdff001f6666ff
+ffe24ccdff0019b334ffffce66668b08755e77614db176e51fb2fb33068b3880864e
+8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f733
+dd07fb35ad1550065b6d9ea8a39f94a31fc28ba359996c080efbf2fb7cabf9d2a9bc
+7601fb46d603f73dd3158bc48bf85a05cc8eb38b1e92878e821effffe6e66681ffff
+ba999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffff
+cccc08ab89059f957e4a1f8bfc468b528b6705fb45d15cc7e0aab8aaa17e99761e70
+8b7d798676857686776d8b086e76a9f72e1f0e3cfb7faef75aacd3adf796adf768a9
+a67712eada61d7f756dc13fe80eaf70e158b3880864e8885858b769185ae8cb08cb3
+8bb38bb18aac8a91918ba085914e8e80908bde08ff00e1b33407ff00134ccdff0023
+b332ff00188000ff000b999aff001633338b08f7258bfb3cfbb49c7c059d8fa99296
+8b08d9aa6326fb004655591f13fd80f77d0a13fe80fffff5cccd8bfffff88000ff00
+033334fffffbb3338f08ff0092cccc07cc8fb38b1e92878e821e7281407d63888983
+8d7b9185c58791888b40080ef75781bf71a7f7f6ac12dadaf753daf753da141c137c
+f902d215ff00014cccffffe24ccc8dffffdc0001ff0004b334fffff5b333ff000219
+98fffffb6666ff0001e668fffffc999a938ba796a594d0948d91899b899155908090
+8bc508f757078bdd9890c28f91918ba085916d8a658a638b638bffffe133348c6d8c
+85858b769185ff0032cccc8696878b3908fb38078b7682fffff3b33383fffff74ccd
+0813bcffffd86668ffffd94cccffffda8000ffffebb334ffffe119988b08656fa3ce
+1ff742078bdd9390c18f90918ba08691728a668a638b638b6a8c728c86858b769085
+bd8794868b3908fb33078b7d8b7d8c7f5b565e7e648b086575a1ce1ff744078bdd95
+90bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c28794868b3908
+fb3207329a45e31eff003333338bff003db333ff0012cccdff0034199aff0036ffff
+8eff0003333491908dfffff76666ff0009800062ff00268000ffffdf999abf8bc58b
+ff00344cccff00226666ff0029b334ff002e999a08ff00049998ff0005199aff0006
+e668ff0006e666ff000080007f080ef73981bbf800a801dfd6f749d6f747d603f8e6
+fb33158a3ca28b05a19db798c9960888a25b9005ffffea9998ff00023333fffffd66
+68ff0005cccd8bbd08f865078ba7ff00099998ff000ae666ff00206668ff0005199a
+089e8e05ff0004e668ff0000ccccff00031998ff000233348b90088b9e898d058b47
+896864468d8b1e89898b78058b86ff00041998fffffdccccff0004e668ffffff3334
+089e8805ff001f999886ff000b6668808b6f08fb89075b5a6b74688b086571a4cd1f
+f776078ba7ff000a999aff000ae666ff00206666ff0005199a089e8e05ff0004e666
+ff0000ccccff0003199aff000233348b90088b9e898d058b47896764478d8b1e8989
+8b78058b868ffffffd999a8fffffff6666089e8805ff0020ccccfffffaccccff000a
+3334fffff533348b6f08fb62078b7c8b7e8d7e5b576b79648b086571a2cd1ff77807
+8ba7ff000a4ccdff000accccff0020b333ff00053334089e8e05ff0004e666ff0000
+ccccff0003199aff000233348b90088b9e898d058b47896863478d8b1e89898b7805
+8b868ffffffd999a8fffffff6666089f8805ff001eb333fffffb6666ff000b4ccdff
+fff4999a8b6f08fb6107329a44e31ec18bbca5c4c7925dac63c28bc98bb5aebbbc08
+8e8b88fb05050ef74ffb71aff74ba8f7fca377bb12f1d6f74dd6f74fd613def94ff7
+0115f73f07e47ad1331e558b5674524f84b868b1538b4d8b5d695c5908888b8edf05
+ff00026666fffffe6666ff0000999afffffd999a1e13eeffffe38000806482ffffb9
+800080088d73b68705ff000e6666fffffe4cccff0007999afffff5b3348b5908fb8d
+078b6efffff7199afffff5999affffdde666fffffc66660878890586ffffff800088
+fffffd80008b86088b788d8905b38ca48cb28bb48ba08ab38a088d8d8b9e058b9087
+ff0002666687ff0000999a087d8d05ffffe3999aff0004199afffff16666ff0009e6
+668ba808f78c0713debabcb0a1ae8b08b1a773481ffb78078b6e7efffff5e6666eff
+fffc199a087c890586ffffff4ccd88fffffdb3338b86088b788d8905b38c9f8cb28b
+b48ba08ab38a088d8d8b9e058b90fffffbe666ff00023333fffffb199aff0000cccd
+087f8d05ffffe3199aff0004ccccfffff0e666ff000933348ba808f765078b998b99
+8a97bbc0ae9cb28b08b1a775481ffb77078cfb0094fb2c5f8b808b85928594839581
+97718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bee8bf736080e43fb71aff7
+4ba8f7fca377bb12e6d6f75ad613dcf73af70115f76107bec7b19cb78b08c0976a45
+1ffb6c078b6e80fffff6999a6bfffffb6666087d890586ffffff4ccd88fffffdb333
+8b86088b788d8905b38c9f8cb28bb48ba58ab38a088d8d8b9e058b9087ff00028000
+86ff0000800008788d05ffffe0b334ff00034cccfffff54cccff000ab3348ba808f7
+6507e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999a
+fffffd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666ff
+fffe4cccff0007999afffff5b3348b5908fb8a07fb0095fb2c5f1e808b8592859483
+958197718b0880787f796dad7d9d1f9f8bad8bb0aa08bab19bef8bf735080e43fb71
+aff74ba8f7fca377bb12e6d6f75ad613dcf800f701158bfb359327ba65b06cb28ba2
+8b089dad99a99d7897801f718b817f838185828584808b085f95f72af7021ff76207
+e477d0311e588b5b7d4b4008888b8ee405ff00026666fffffe6666ff0000999affff
+fd999a1e13ecffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe
+4cccff0007999afffff5b3348b5908fb8d078b6efffff6199afffff58000ffffdee6
+66fffffc80000878890586ffffff800088fffffd80008b86088b788d8905b38ca48c
+b28bb48ba08ab38a088d8d8b9e058b90fffffce666ff00024ccdfffffb199aff0000
+b333087d8d05ffffdf3333ff0004b333fffff5cccdff00094ccd8ba808f7860713dc
+bec7b19cb78b08c0976a451f0e6a947697a6f80ba812f3b8f797b81378cfa6156d06
+858988871f75078bc68db0b2c5898b1ea00791868d881e6e066c8594b01f8bf795f7
+87fbd10513b8967d96809b8b089796989f1ff7e307b09094ab1ea806918b8c8f8c8e
+08a1078b50896565508d8b1e7507888c87921ea906ac8f7d6b1f8bfb93fb93f7defb
+0f8b8b7505878e888f1eaa06ac8e82681ffbb1076a8b7e671e0e3081aef73fb2f73d
+ae01b4ff0057cccdff00f83333e103b4f761158a0aff014fcccc8215ff0000199aff
+fffb6666ff0000199afffffb4ccd8bfffffb4ccd8bfb124a6c5c8bffffa580008bff
+ffda8000ff005f8000fffff7cccdff004b800008ff00f57fffb215ffff08b33406ff
+0001199aff0054b334ff00164cccff00544cccff0057999a8bff004acccc8bff0031
+ccce50ff000bb332fb02080edf89a870adf739abf738ad70a812a8e0f765d6f70da8
+caa77ca713af00f7aea615244abbf71ef72aceb2d6b6a3896d1ffbca07748581681e
+133780f77ff80415cb8b9e56966608a78f0513374084b184b28ab608132f40898d05
+1337408b44896d1efb330613af40668b548d878b08fb212b31fb20fb20f24cf71b1f
+136740f77e0a13a740a9c6898b1f1377408d8d9ff7076f8e057f57746b588b08fb01
+067a7d909e1ff721d807a58b94808f77088f75058c898d888f8b08a08b8d8d0588a3
+889f8ba48ba38fa78da2088d8a8c891e7706888b89888a88088676058677847f708b
+083ef721069c97919e1e0ef70a7faef787b1f4ac01add8f761a6a6a6f75ddd03f93c
+f75615f038f727fb8bfb4dfb17fb15fb11fb24e653e51ecc8bc0aca5d0a83cc274be
+8b08e0f0b5f7381ffccd8c15f722ead3f72accf7456cfb45fb0b67503a1e538b67b2
+78d09ebf93b88ba308ac7f9e6e717d77651e8b778f62a05576436767568b082975dc
+e61ff797b5158b79876f805e8b8f7fb08bb808a2909693968e7e7b1e0e71fb7ea8f7
+5aaaf812acf7977701abd7f720d6f720d703f78ca315629228aa8bf72d8bf71bd7ba
+cb9608d6fc1415f81207e478be588bfb0b8b6581fb19fb16750840f8af15fb0f074f
+88fb304d8bfb328b50a9fb2bf74e7d08fb2b078b6ffffff5cccdfffff53333ffffdf
+3333fffffacccd08788805fffffb199affffff3333fffffce666fffffdcccd8b8608
+8b788d89058bcf8dafb2cf898b1e8d8d8b9e058b9087ff0002666687ff0000999a08
+788e05ffffe0ccccff0004e666fffff43334ff000b199a8ba708f72b07f7129ae5eb
+8bf7038bf719fb03dc229508f72407cc8eb38b1e92878e821effffe6e66681ffffba
+999a7effffd7800088088d73058b88ff0002cccdfffffe3334ff00033333ffffffcc
+cc08ab89059f957e4a1f0efb7381c967a7f7f6ac12f750da1370f753d215ff0001b3
+3363ff0001999affffe64ccdff0004b333fffff5b333ff0002199afffffb6666ff00
+01e666fffffc999a938ba796a594d0948d91899b8991559080908bc508f757078bde
+978fc98f91918ba08591688a648a638b638b5d8c688c85858b769185d18697888b38
+08fb1f078b717f747f790813b0807b746a7f8b828b82ff00026666fffff83333ff00
+0a4ccdfffff8666795fffff4ccccff000d4ccdffffee999a8b0873747272ffffece6
+669dffffe3199ab51fba8bb4b7a2b2089196ff0004cccd83ff0000333386080efb84
+81c86aa3f8d4a812f756d613b0f7a1f8d1158ba8ff000a6666ff000a9998ff002099
+9aff00036668089e8d0590ff000080008dff000280008b90088b9e8a8d05668a6c8a
+678b658b608c668c0889898b78058b868ffffffd4ccc90ffffffb33408a88905ff00
+1fcccdfffffdccccff000b3333fffff433348b6e08fc47078b7e867e848273697579
+808b848b848e859181958093778b08717a7b71719a77b41fba8bb7bea5b2088e8b88
+3105fffffd999aff0001999affffff6666ff000266661e1370ff001c800096b294ff
+00468000960889a3608f05fffff1999aff0001b333fffff86666ff000a4ccd8bbd08
+0efb56fb42b2f70faff80ea801f765d8d8d903f7d8f826159c06928c8f8d1fa2078b
+4f8964624c8d8b1e7507868e89901e9b06b08d7c6b1ffb86077860635d738b808b83
+91889587947aad6e8b086e7c7c6f76986ccb1fad8ba297a2a19996a1a4929b088c77
+05fb42c555c3c5c59ab8977aa1731e758b817b867b8980817f7b8b608b869e8af731
+08f7ce07a58ba0b11e0efb84fb7ea8f8dbc857a312ecd613d0ecfb34158b6efffff5
+999afffff56666ffffdf6666fffffc999a0878890586ffffff800089fffffd80008b
+86088b788c8905b08caa8caf8bb18bb68ab08a088d8d8b9e058b9087ff0002b33386
+ff00004ccd086e8d05ffffe03333ff00023333fffff4cccdff000bcccd8ba808f857
+078b9890989294a3ada19d968b928b92889185958196839f8b08a59c9ba5a57c9f62
+1f5c8b5f58716408888b8ee505ff00026666fffffe6666ff0000999afffffd999a1e
+13b0ffffe38000806482ffffb9800080088d73b68705ff000e6666fffffe4cccff00
+07999afffff5b3348b59080efb79fb7cb3f8cba98caf01e0d6ebd303caf811159d8f
+7a771ffbdc078efb1ba2fb05f7048b08aad5a2b89b8298741f738b817a857888807f
+81798b085a7dbbf7241ff7d3079aaeb5bfa58b948b94888f7f907e9a69a48b08a79e
+9ea7ad6b9c5f1f408b5f38898808e17607767e707d4081086d07958e9d8e9e8b080e
+fb8b89a8f80faf01e3d6e4d903f737d415f73107f732a49dad1e9d8b95768d7f9177
+977ea38b089aa094a9b553a0571f6f8b767f72795a6380468b3308fb22077488746c
+1e6f06858a86881f76078bcd8db5b4ca898b1ea1078e8a8f851e70066c889aaa1f0e
+fb8b89a8f80faf019ad9e4d603f74ad4156c887c6c1e7006858987881f75078bcb8d
+b4b5cd898b1ea0078e8a90841e70066c88a2a21ff722078be380d059b3739d759770
+8b08565476616da082991fa48b9798919f8d9795a09d8b08aca579fb321f0efb0e81
+b06eacf72facf74ba812ecdaf727e0133cf7d7f7d415ffffb5e666ffffd54cccffff
+e5199affffb9b3341e69f72c069e9897bf1eff00344cccff001db334ffffe4e666ff
+ffc9199a1ffb27fb5a15cb9307cf8bff0013999affffda199aff000b6666ffffe1e6
+660896640513bc9bffffc76666b2ffffdf999abb8b9a8ba98d9892ff00028000ff00
+0a4ccdff00004cccff00076666fffff73334ff000a4ccd678bffffefccccff000599
+9affffee3334ff003566660879c105fffff36666ff001ecccdffffe4999aff002133
+336a8e088c07ce91c0ff0029e6668bff0040199a8bd467b1fb1b8b728bffffdb6666
+89ffffd8999a8bffffd4b3338bffffe74ccd8c608c85858b769185c88796878b3808
+fb4d07137c8b3880884e8685858b769185b58cff001a4ccd8cff002bb3338bff0025
+66668bff000f999a8ab68a91918ba085915b90828e8bde080efb0e89a8f74bacf72f
+ac6eb012ecdaf727e013ccf7d7f70115ffffc9199affffe24cccffffe4e666ffffcb
+b334577e979e1ef72cad07ff00464cccff002ab334ffffe5199affffb5e6661ffb27
+f75a1513ec8bde948ebb9091918ba08591608afffff066668affffda999a8bffffd4
+4ccd8bffffe5b3338c618c85858b769185c88696888b3808fb4d078b3880874e8785
+858b769185b68cff0018b3338cff002b4ccd8bff002766668bff0024999a89a48bf7
+1b8bafb18bd48bff0040199a56ff0029e6664891088c07ac8eff001b6666ff002133
+34ff000c999aff001ecccc089dc10513dcff0011ccccff00356666ff00103334ff00
+05999aaf8bff0008ccccff000a4cccffffffb334ff00076668fffffd8000ff000a4c
+cc7e926d8d7c8b5b8b64ffffdf999a7bffffc7666608806405fffff4999affffe1e6
+66ffffec6666ffffda199a478b0883060efb61fb44aff716acf813ac12bbb264aa7a
+d2b8c4b2d755ab13f300f712fb4415c1c2b5b69881987b7d7a7e79777873726582bb
+c71fff0022e66607ff00044ccdffffffcccdff00041999ffffff999aff0004999aff
+fffeb333a684a687b08bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333
+0813e680ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8ba18b
+c583983691859f8c91918eaf8db08cac6c905b99578b0841485b4b1f8b42ac6cd86b
+0813eb00de699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b333ff
+000ab33475a280b785a48591788a8585ff0001ccccffffe9cccdff0001999affffea
+4ccdff00013334ffffeae66608fffffb66660613f300fb1607479b58c91e0efbb7fb
+6ab1f9dcad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7bc8cdc8bf6
+08f83907ea95eac51e9c8b9b7e9572907b927ea18b089d99999fa66ab3401f6f8b71
+8170764f5b883c8b2408fc4807fb2a6a70751e748b869a859a869c859a738b080efb
+b7fb6ab1f832b7f812ad01e7d6036bfb0615787f7a7b62c171b51f9a8ba28caea8c7
+bc8cdc8bf608f74dd20797969f9794888e801f3bf75406ea95eac51e9c8b9b7e9572
+907b927ea18b089d99999fa66ab3401f6f8b718170764f5b883c8b2408fb2f42077f
+817e7b829085941fdcfb8106fb2a6a70751e748b869a859a869c859a738b080efb8f
+fb6ab1f948ad01f724d5e4ce03f7ebfb0615738b857c857a867c867c748b087569a6
+f72a1ff7b4078bf289da4ebb71a070956f8b08416a637077997d9c1fa28b9198919b
+95a49b989c8b08c5952c2c1ffba5078b208c3ac75aad6ea38a9a8b08b5c1a5b49b7f
+9c781f0efbc3fb75a4f9f4ad015ea4f704d603f7ecf90b15a66ab3401e6f8b718170
+764f5b883d8b23088bfc598b7c05fb0f4f7d588b718b61b17cab8bc48bd8b393f736
+b5a27981ae9b0883a2057a847e85768108f868078bd690b9939c9cae9d9c9f8b9c8b
+9b7e9572907b927ea18b089d99999f1ffc00fdaf158bb6d2b3b7a3087d0727626e70
+826592a81e0efbab8bb2f7edc201f725da03f7a216998f97931f9807908a8c871e50
+f7c106d26ca75d1e5d8b5975645f8dfffff5b33491fffffa4ccc958aa59fa993a58b
+08a6916d4d1ffb912307817d87821f7707878e89901ef70c64064a87638b1efffff9
+999a8efffffd9999ff0004b3331eff000480008bff00088000ff0003e667ff00094c
+cdff00051999ff000b4ccdff00064ccdff000a3333ff00044ccdff000c8000ff0003
+800097ff0003666695ff000366678bff0006e6668bff000b999a88fffff966668bff
+006ee666080efbb9fb71aff8d3b201e4d603f738d615f7cfe90795998f941f9f078f
+888d861efb02f72f0651778b78053f7b6348898a8a881e6c07888c8a8e1eccfbae06
+8bfb359328ba65b06cb28ba28b089dad99a99d7897801f718b817f83818582858480
+8b085f95f72af7021f0e4b81ba84a6f749b2f70dac12e3daf758da13bcf883f7a915
+56b806a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc8898
+7f8b490863fb58b807a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b
+769185bb8799808b4a08624964cdfb040746a948ee1eb28bba9fbcb3908fff00094c
+cc8dff0000b33484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00
+048000ff00008000ff00068000ff0002800008137ca19dae9ac89291918b9a85914b
+90829e8bbc08f700c007fb1816fb06078b7889837d7f0813bc666b657b728b086d59
+99e41fed070e4a81acf7ffb81295a487d8f7b7d887a413d0f791a215374eded41f8b
+e3b6aeb59f0888dc058aa4858e7c8b08fb228b0513e07b2fa4890593b79190b08b08
+d38b905f0513d83c6556518b3c0835d430f72bf72ad2e6e11e8bda56c53cb10890b7
+d38b0513c4b08b9186935f08a48d7be7fb228b057c8b85888a7208883a0513d8b577
+b6688b3308424e38361e0e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15
+f77f0a0e298aacf82e7701f73cab15558ffffffa6666ff000c3333ff0014e667ff00
+32cccd08ff0050b333f75805ff00103333ff00278000ff00053333ffffff4cccff00
+0f999affffd6333408ff0048199afb5505ff0011e6665bff00044ccc7fffffcab334
+8485858b769185ac8cae8cac8bac8ba98aa98a91918ba0859156ff00064ccc84ff00
+10199affffeb999aff0032999a08ffff806666f7d005859a85917e8b818bfffff919
+9afffff9999afffff8e666ffffef666608ffff7a999afbcd05ffffed4cceffffd419
+9afffff5199affffe6e666538685858b7691859f8ca38ca58bac8bad8aa48a91918b
+a08591080ef72c8aacf82e7701f8adab1585858b769185a98cae8caf8bb18bff001a
+cccc8aff001a33348a91918ba08591ffffd0e668ff0004ccccfffff51998ff000a33
+34ffffeae668bf08ffff7d1998f7d70585998391818b828b8385847b0826fb8a24f7
+8c0585998391818b828b8385857c08ffff7d8000fbd105ffffef999affffd7199aff
+ffeee666ffffe3e666588885858b7691859f8ca18ca98ba98bb58aa98a91918ba085
+91408fff000a4ccdff001ce666ff000e1999ff0023199a08ff0053999af7640595a4
+8fffffffccccff00083333ffffeb333408ff00564ccdfb6f05ff001280005c898156
+8785858b769185a98cb38ca98ba48bac8aa98a91918ba085915cff00048000fffff4
+4cccff001cb333ffffee199aff002ccccd08fffff9999a9bd1f7450598acff000233
+34ff00018000ff000ce666ffffdf800008ff004ffffefb6205ff0012e6685b8a7b5b
+88080e3b89acf8badb01f7c3f8e115fffff06666ffffe43334fffff2e666ffffe366
+64fffff3b334ffffe266683bfb55ffffd33333ffff996666ffffcbcccdffff8f999a
+ffffec4ccdffffd5b333fffff1b3337b5cfffffa4ccd85858b7691859f8ca28ca78b
+a98baa8aa98a0891918ba08591ffffe066668effffdf999a919baf08ff00633333f7
+7905ff0006ffffff0010199aff00086667ff0002b332ff00088000ffffec333408ff
+0058b332fb64059dffffd5ccccff00053334ffffed800053fffffbb33485858b7691
+85b08cb38caf8bad8ba68a9f8a91918ba08591ffffd84ccc907e94ffffe5cccec808
+ffff8ee666f79b05fffff74cccff0014199afffff0b334ff002de66695a7ff000be6
+66ff00216666ff000c199aff001b999a9aaa969f9994a48b998b8f88968b08a89aa9
+98a0779b701f768b6383674b080efb0f89acf803ac01f75fda03ff00706666f7d915
+ff005a999afb3a8b66058b3880884e8685858b769185b58ca58cb78bb68ba48ab68a
+91918ba085914e8f808f8bde088bbcff004b6666f72d05ff0014999ab698a5c39091
+918ba08591758a798a718b668b758c668c85858b769185c1878f7effffe8b3345908
+ffffc24cccfb12ffffc0e666f71205ffffe9199ab9ffffefcccdff000f999aff003e
+3333ff0005666691918ba08591668a6f8a628b688b7b8c668c85858b769185ff0039
+8000fffff93334ff00048000ffffedccccff001a66665b080efb3ffffffd6666ff00
+24999af7fdad957712bdacff015b999aff00384ccc13d8ff01674cccffff4a800015
+ff0034199afffff1b333ff0040199aff0019e667ff000b6666ff00298000ff000366
+66ff000c8000fffff9ccceff000f3333fffff0999aff00043333fffff28000ff0003
+b333ffffec333283fffffb3334ffffee999afffffab332ffffecb333ffffe74cce79
+ffffe7e666ff0006999affffdb6666ff000a19998fff00308000ff000fe666ff0039
+e6670893ff001d6666ff000433348b0597ad98bf92bdfffff98000ff0003b333ffff
+f48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe6
+66fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff00
+07cccc8b8f8b8f868e848b868b6f896e8b08fb4b0613b8ffffdfe6668bfffff3999a
+ff0004999afffff18000ff00056666fffffd999a8bfffffc6666fffffc66668bffff
+fd999a8a5e8668825aff0008ccccfffffc4cccff000c999afffffe199aff000b999a
+ff0002999a9fd4aaff00114ccca9ff0000b3340813d8f7148e0547fb0627fb243d22
+fffff76666fffff46666ffffff999afffffc999a8b86088493869a1eff010b8000ff
+fffd66667fffffd480000579ffffbe66678dffffca9999ff003bccccffffef999a08
+0efb3a8bb2e5acf779b201f720aaf75ea903f809e815f7800afb3c2e15c706e2beb1
+c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f005949993968b920893
+858e801efb83066e8b89958a8f08768f6dfb29a6860590ad9cb49594969399909f8b
+08f7228bfb80fbfb05858288878b8508809b899e1ef5067c657f63846608aa840590
+af98b79bb5080efb47fb7faef7c3adf796ad01b3a6f789dc03f713f6159c7c059d8f
+a992968b08d9aa6326fb004655591f638b70b183a183a37e95748b08758179796bc5
+4ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b8f858d848b898b6785
+6e8b08fb5f067c8b829289910872068a5e855f835a08a588059fd4ada0a98b08f725
+060efb34ffff27333376ff000bcccda3f746a2f70fb2f777b5977712c3a3f78bd113
+73f7ccfb09157653566e4e8b085b5ab2bdbcb3b3bb1fcb8bba61ac580892a91567b9
+54b34f8b084d59594d4bc95ac71fc48bc3a1b5b20813bbff000a8000ffffe98000ff
+000a4cccffffe6e666ff0009199affffe6cccd08ff001733349105fffff5999aff00
+1de666fffff3ccccff001dccccfffff38000ff001a199aa4a8a0bb8bc38bf72027ab
+578d08f6f777051337969590978b9708133b90878e811efb8306748b818e88910813
+37798e79fb11a0890592b295a4989008137b948e968c9a8b08f72b8bfb1bfba9059c
+92a58f9c8bde8bb2568b318b7288758678080efb3a89a8f8ecaa01a7d4d2d6cfda03
+f78bd315f73c078bd0ff00146666ff0019999aff002f999aff00296666b9b3acb68b
+d308dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08
+b3c8b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda80004b507d
+688b3508fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586
+ffffff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d
+8b9e058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff7
+4ccdff000b33338ba8080efb3a89a8f8eaaa01b1dacfd6d2d403f74dd3158b6e8280
+6a8808738905878788861f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e05
+90898e861e738d056a8e81968ba808f72b078be17dae4bc662b073a18bc608d5bda9
+c1bcc866631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60
+b963bb629f718b46080efb3a80aaf8eaa801a4d4d2d6cfda03f788f8d1158ba89496
+ac8e08a38d058f8f8e901f8b9e898d05598a778a628b648b778c598c088a898b7805
+868d88901ea38905ac8895808b6e08fb2b078b359968cb50b466a3758b500841596d
+555a4eb0b31e8b9d928f8ba5089d7b967477767a6b42ed4cecf2cfb6dd1e8bd36ab6
+5db35bb477a58bd0080efb30fb71bdf8d5ac01afe1f759e203f78cf82a15c68b9368
+8f688e709982a08b08a0a798aac252b32b1fffffc9b3338bffffd6cccd8bffffd080
+0053ffffd53333ffffcd8000ffffe0cccdffffa433338bffff6b4ccd8bffff814ccd
+ff00124cccffffac6666ff0024b334ffffd74ccdff0024b333ffffd6b333ff003199
+9affffeb4ccdff003eb3338bff003f4ccc8bff0033b334ff00194ccdb3ff0032b333
+0878a0878b05ffffdcb334ffffe0b333ffffdb4cccfffff04ccd658b638b6a9b71ab
+ffffe4b333ff00214ccdfffff24ccdff004966668bff00714ccd8bff0088b333ff00
+0d4ccdff00550001ff001ab333ff00214cccff0018b333ff001f4cccff001a999aff
+0016b334ff0022b3338b080ef681aff785f700f78baf01b5ebf737f700f73aeb03f7
+f7f79f15a40a78f7f715640af7e3fbb915650a0efb0889acf74ea8f72cac12f6daf7
+2edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f7830a13f8f7
+840a0efb0b82caf71ac2f71aca01a9b7f7e0b20314e0f76d8215f701f70bd0f738f7
+1dfb0edafb03fb22634b561f8b5bb062c97844756f678b650855ab41f72f1ef81604
+f719c34f2a5c69fb0bfb292061a2c31f8bb2a8a1ca98b280b583a18b08a99b949e9e
+7a93691f618b6b8272844b9a70a78baf08cfc88edd1e0e357faef72da6f761add3ca
+12add8f796c062a613f8f89af8d515ffffcb4ccc8bffffb2999affffd61998fffff9
+8000ffff99999cffffdc4cceff00026666ffffd68000ff0003e666ffffdfcccc8b08
+fb20292cfb1d25d4fb07f72e1fd88bff0034b3349eff00334cccb108b7078bff0038
+199a91ff0013e666aa9091918ba08591798affffe3b3348affffe14ccc8bffffe1b3
+348bffffd74ccc8c6e8c85858b769185c88790ffffee199a8bffffc4e66608650776
+ffffecb33370fffff54ccd698b08fb0d5beef6f706d4cad31fe28bb2789d31ff0009
+4cccfffffc3334ff000966688dff00094cccff0003ccccfffffee666b7fffffe3334
+b7fffff7e666b7fffffb66668b86ff0000199afffffaccceff00003332ff0001e666
+ff001accce99ff0037e666ff002ee6668b938b958a9488089288948b928b08a0979c
+9b1fa17b9a771e0e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0efb
+b3fb45a8f8a9a7a877f711ef1279a8e0ef42da13f8c5fb2815727596a51f8bb3b4a7
+d4b20874072e636f701e13faccf86515fb8507708c758b1efb104f795f8b638b61ad
+79b38bc48bdbb793f736b6a28386ad9c0884a6057a84747f7682088bba8bf76705bd
+8fcb8b1e8f868e831e6f806382468289858d7b8d8508c18696858b520813fc70f7ae
+15850a0e52fb6d76a6a9f747acf803ac01f800da03f84ff7c7158bde968fc38f9191
+8ba08591618affffe8b3348affffd64ccc8bffffdc80008bfffff380008c608c8585
+8b769185b48796878b38083407ffffecccccff00008000fffff1e668ff0001999aff
+fff64cccff0003666680ff00078000fffff6e66694fffff4199a9b0842ed05ffffe2
+999aff00278000fffff76666ff000f8000879affffff3333ff0002e666ffffffcccd
+ff0002199a888b778a7f8a6d8b6c8b768c6d8c85858b769185ad87ff00194ccdffff
+fb999aff001ab333ffffde666608f718fb3a05ff0003999afffffb8000ff00036666
+fffffb80008b868b878b898787083330056d6b6883638785858b769185b08c998caf
+8bb18ba28ab08a91918ba08591538fff0017b333ff00234ccdff00094ccdff000bb3
+3308a2a8ff001f4cccadff0019b3349eff00163334ff00106666ff001ae666ff000b
+cccdff0012e666ff0002999a08fffec23334074a87638b1e848f88941ea495d699b3
+8e8d93899b8591578e7f868bdf080efb3489a870b5f7fca812edd6f753a613b8edf7
+f815fbaf078b6c8afffff5666667fffffd999a086d8905878789851f13788b780513
+b88d89051378a98cba8ca98b08f7310613b8a98bac8aa98a0894f71f708d0513787f
+3f7c765b8b08fb08f7ce068ba7ff000b8000ff000cccccff001e8000ff0003333408
+9e8d0590ff000080008fff000280008b90088b9e898d05668a6b8a658b678b6c8c66
+8c0889898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc80
+00ff000a199afffff380008b6f080e2afb7ea8f757b7f807adf775ad01afe0f772d6
+f5dc03f7ebf7e415fbac0771776889788b085137b5f72bf3b2d5db1fb58bad73a65e
+08fc85048b6ffffff5ccccfffff44ccdffffdf3334fffffdb333086e890586ffffff
+b33388fffffd4ccd8b86088b788d8905b08cb48caf8bb18bab8ab08a088d8d8b9e05
+8b9087ff0002999a87ff0000666608788d056aff0003800081ff000a80008ba7088b
+f8b08bb18bc405f70c9dd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c80
+9b7c98779d7597628b0848354cfb321fffffc4333407ffffe3999aff000f9998ffff
+de6666ff00063334668b08fb0e3527fb182ec6fb10f7241fc48bab9f9a98080efb3a
+89a8f767b2f76b76f72eaa01a7d4d2d6cfda03f78bd315f73af700078e928d908b92
+8b918a92879208ffff96999a06ff0006ccccb6ff0014999aa2b1acb9b3acb68bd308
+dd47b6242a294c426ba07a9fa29b969d1e8bff001a666884ff000399988b9d08b3c8
+b0bcc1bd6d411e8b50ffffe7b334ffffea8000ffffd74cccffffda8000ffffcf4ccd
+ffffd3199affffec4ccd6cfffff94cccffffcde66608ffff89199a06878589858b83
+8b858c858f8408ff0075333306ffffffe666fffffb3333ffffffe666868bfffffacc
+cd08fb2b078b6efffff63333fffff4cccdffffdecccdfffffd33330873890586ffff
+ff999a89fffffd66668b86088b788c8905bd8c9f8cb28bb48b9f8abd8a088d8d8b9e
+058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002cccdfffff74ccd
+ff000b33338ba8080efb3a89a8f767b2f76b76f72eaa01b1dacfd6d2d403ff0103cc
+ccf78215ff006e3334068e928d908b928b918a92879208ffff8f199a06fffff94ccc
+ff0032199affffec4ccdaaffffcf4ccdff002ce66662b073a18bc608d5bda9c1bcc8
+66631e8b7984878b7108799b80a29fa09cabd429ca2a244760391e8b43ac60b963ff
+00264ccdffffdf4cccff00148000ffffe8ccceff0006b333ffffd4e66608ffff9080
+0006878589858b838b858c858f8408f707fb3a068b6e82806a880873890587878886
+1f8b788d8905bd8c9f8cb48bb28b9f8abd8a088c8d8b9e0590898e861e738d056a8e
+81968ba808f72b078bff00053333ffffffe66690ffffffe666ff0004cccd080ef763
+81ba66adf7fab072aef75ea9a67712b0e1f770da9eac131f80f862f84b15f7360a13
+2f809fd4aaff00114ccca9ff0000b33408f7148e05ffffc26668ffff98ccccffffa8
+3330ffff80199affffb60002ffff9acccdffffdfccccff00096667fffffa999aff00
+13e6668bb108f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fb1407848989841e139f80878b629c6a8b498b5f756365606071508b418b
+fb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e667ff00098000ff00
+01cccdff0000b3348408ff00028000ffffe78000ff00088000ffffdd80008b8b9388
+90ff0000800091ff00028000ff000c4cccff000a199aff00106668ff00091999ff00
+16b332ff00074ccdffffffb334fffffe8000ffffffe666fffffe999a8bfffffe6666
+08136f808493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000
+ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668ffff
+fecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc
+8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999a
+fffff18000ff0005666608fb0bfbcf15f7050a139f80f7060a0ef734fb7faef752ba
+84a6b9adf796ad72aef75ea9a67712b2e1f770da57d7f756dc13d7d0f7edf710157b
+0a80fffef84ccc157c0a13bbd0a19dae9ac89291918b9a85914b90829e8bbc08ff00
+e9999a07ff00116666ff001766669f93ff0012999a8b08f7258bfb3cfbb49c7c059d
+8fa992968b08d9aa6326fb004655591f139bb0f77d0a13d7d0fffffb66668b87ff00
+00999afffffc999aff0001199a08ff00984ccc07cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fb1407848989841e878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284ccc080ef77281ba66b2e5
+acf779b271aef75ea9a67712b2e1f770da8ea6f7cea91367e0f994e815f7800afb3c
+2e15c706e2beb1c3c15c99731f668b6c7c76777a7b78697a6508498bf77af7f00594
+9993968b92081337e093858e801efb83066e8b89958a8f08768f6dfb29a6860590ad
+9cb49594969399909f8b08f7228bffff28e666fffeb8cccc05ffffe3199aff0009cc
+ce86ff0013e6668bff0024800008f85907cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fb1407848989841e13afe0878b629c6a8b498b5f7563
+65606071508b418bfb0fc931f7008bb28bb09fbcff00284cccff0004ccccff0003e6
+67ff00098000ff0001cccdff0000b3348408ff00028000ffffe78000ff00088000ff
+ffdd80008b8b938890ff0000800091ff00028000ff000be666ff0009b333ff000fb3
+34ff0008e667ff0015999aff00073333ffffffccccffffff19998bffffff199a8b8a
+081377e0809b899e1ef5067c657f63846608aa840590af98b79bb508fb93f71015f7
+050a13afe0f7060a0e8f7fa9f809b279a912e4d651c5f4c9f738ce6a9f13b6e4e215
+2bb288f7271eb18bf7228bb9a4b4a19fab8bba8bb57dba3ea72baf5fb28ba78bc6b9
+9eb28b0813a5a18bc880a9fb00089f8c7ff70d057896579b598b3a8b49588b468b43
+b876bf770813d6cd71ca6d8b4e8b595773658bfb058b239379b286998aa18bac08f7
+95f703b20713ccfb03f72e0651778b78058b5f876f837c7d756a85708b08640713d6
+d0060efb19fb73b1f743c2f7edb2f776ad12e4da5bcde4d613f6f72bfb0f15787f7a
+7b62c171b51f9a8ba28caea8c7bc8cdc8bf608f83907ea95eac51e9c8b9b7e957290
+7b927ea18b089d99999fa66ab3401f6f8b71817076ffffc43334ffffd03334fffffc
+ccccffffb14ccc8bffff9980000813fa20b206cc8fb38b1eff0006666888ff000266
+64fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae664ff
+fff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007ffffffc99
+9881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a085dff
+ffffe666057d877f831f7e07868c8a8f1ec6fbc10644aa6fb91eff00244ccd8bff00
+26cccdff000db333ff0021e666ff001b666708ffffd8e66607fb2a6a70751e13f674
+8b869a859a08869c859a738b08f710ff00be4ccd1573fffff03334ffffe56666ffff
+f98000ffffe8999a8b0813fa7085a9c91ff791f3078c8b8c8b8cff0000199a080eb6
+81c2f70ba4f75db274ac12e4dad8e1f74ee572ac13cdf8daf71515f7770aac98158b
+ff0011b333fffff96668ff000de667fffff49998ff00076666fffff58000ff0006cc
+cdfffff16668ff00013333fffff219988bffffb080008bffffbe199affffa03333ff
+fff06666ffffe0cccd55ad7fdf8bce0813ded6b8dfd21ec18b986f8e6dff0002b334
+ffffe56666ff00064cccffffe9999aae8b08a2a29ca3ce40ab46fb1a3723fb101f8b
+58ff000bb334ffffcfb333ff00191998ffffd86667ffffe64cceffffecb332ffffe2
+8000fffff83334ffffe666668b087085a9c91f13edf791f30795998f941f9f078f88
+8d861efb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb8000
+8bfffff78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5
+cccdfffffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919
+988bfffff466688eff000699988bffff91199a085dffffffe666057d877f831f7e07
+868c8a8f1ec6fbc10644aa6fb91eff002c66668bbbff00148000ff00266666ff0028
+e666ff00104cceffffec4ccdff00144cccffffef3333ff0018999afffff3199a776a
+786e776a9184ff000e666686ff000b999a8a9daaa2af9fab9788a88b988b08d3ecc1
+ed1f0ef776fb71aff74ba8f7ffb265bbf776ac12ebd6f741ee4dd6f75ed613ed80f7
+f4f81a15a58e7f521ffb8d078b6efffff46666fffff54cccffffe0999afffffcb334
+0878890586ffffff800088fffffd80008b86088b788d8905af8cab8cb18bb08bab8a
+af8a088d8d8b9e058b9087ff0002999a87ff0000666608788d05ffffdd999aff0003
+999afffff76666ff000a66668ba808ff00fd4ccc0713de80ff002ee666ff0031999a
+ff00333332ff0010199aff0025e6688b08b1a775481ffb77078cfb0094fb2c5f8b80
+8b8592859483958197718b0880787f796dad7d9d1f9f8bad8bb0aabab19bee8bf736
+08f73f07e57ad0331effffcd4ccc8bffffbe199affffeb999a54ffffcbccccff0000
+ccceff0023199aff0001ccccff002580008b8b8bff0001e6668aff0001199a888b08
+13ee806d7f6d8a688b08fb51c406f72ecfa4ac1eab8baa7f946096559c73aa8b9f8b
+9f9d8b9f8bb06ab266a4729c7195658b08372353fb5a1f7c580779867f831f7e0786
+8c8a8f1ed0fbd2068b6efffff56666fffff56666ffffdf999afffffc999a08788905
+86ffffff800088fffffd80008b86088b788d8905af8cac8cb08baf8bba8aaf8a088d
+8d8b9e058b9087ff0002cccd87ff00003333086a8d05ffffdc4ccdff00023333ffff
+f8b333ff000bcccd8ba808f7d2070e4681ac72acf80bacf75ea9a67712eadaa2aa7a
+d2f721d755ab137d80eaf70e158b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8aff0000cccdff0000cccdff0000b333ff00011999ff0000999aff00014ccdff
+00004cccffffffe667ff00004ccd8bff00004ccdffffffe6660813bd80a684a687b0
+8bc38bf2a68bee8bff00444ccd5aff0027b33347ff00193333ffffc3ccccff00164c
+cdffffd83334ff000f80008bc28bb4afa2ad8b0813bd40f72c0a13be80de699e768b
+608b5a5b76668b648bffffea4cccff000d4cccfffff5b334ff000ab33475a280b785
+a48591788a8585ff0002e666ffffdcb333ff00024ccdffffddcccdff0001199affff
+dfe6660873ff0007cccdfffffab333ff0013e6678bff0039e66608f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080e87ffffffe666ff00
+22199af7fab09577f772a9a67712eadac3ac13bef78ff84b15fffffd999afffffc66
+66fffffc6666fffffd999a1f8a5e8668825aff0008cccdfffffc4cccff000c9999ff
+fffe199aff000b999aff0002999a0813de9fd4aaff00114ccca9ff0000b33408f714
+8e05ffffbc199affff8e199affff9c199affff703333ffffb1ffffffff96ffffffff
+d44ccd8ffffff78000ff000c999a8bff0049199a08f86107cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fc49078b3880864e8885858b769185
+ae8cb08cb38bb38bb18aac8aff00008000ff00008000ff0000999aff0000b333ff00
+006666ff0000b33308ff01308000fffffd199a0597ad98bf92bdfffff98000ff0003
+b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75
+ffffcbe666fffffecccd08fb1906d5e9f3f731c9f1ff000f4cccff00193334ff0002
+b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3
+999aff0004999afffff18000ff00056666080efb2af7a3a2f7cfa201f7eff7a315ac
+88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ff
+fff3e666ffffe54ccefffffc4cccffffffe667fffff5ccceff001ce66608ffffdae6
+66ff00694ccd05fffff48000ff0020b33489ff000b4cccff002080008e8f8f8b9a87
+8f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333ffff
+fb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc66
+67ffffae666605fffff3e666ffffe54ccefffffd8000ff00004ccdfffff4999aff00
+1c800008ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c66
+66ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c87
+878b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ff
+ff46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff0006
+33348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff6
+0001ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff00051999
+909608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666
+ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87
+08f7e604f7860a0efb5af73ec1f7b0c101bca7f787a803f7f1f7fe15f75cfbc0fb5c
+a7f726f787fb2607a8fbe715f75dfbc0fb5da7f727f787fb27070e72fb6476a5a6f7
+38baf803a879a8129ccdc6d5f75ad613eff76cf73b15f74388ef206e4f7c696ba488
+8e1ea28b96a38f9b8f959090968b08ae8f4afb2bfb018f27f31fb28bc59acece08fb
+bfa1079f949a909d8e9c8faf909b8b0889a4058b8e898e888a086b880577819fba1f
+f8670713f7a7949bad1e9e06908e8e901f8b9e898d058b47896764478d8b1e89898b
+7805868f888f1e9e06ac957c6e1ffb8e075b5c60716e8b084d7bc9d11f0e88fb79a8
+f750baf803a879a812acceb5d5f75ad6cece13eff87d9415f7f107a7949bad1e9e06
+908e8e901f8b9e898d058b47896764478d8b1e89898b7805868f888f1e9e06ac957c
+6e1ffb8e075b5c60716e8b084d7bc7d01f13dff73e87f700326e4e7c696ba5888e1e
+a28b95a3909b8f959090958b08a18c46fb2a368bfb0df7001fb28bc59acece086c07
+fb329ffb02eea8c89aacab728e871e748b8174867a88828586818b086c7acff7211f
+0efbb4f800a2f766adcba101c2bcf703bc03f3f92c15b58da58b1e90898d851e7b84
+5d837189088c7905898d8a8d1ea08a05989184611ffb80078b76fffffe999a88ffff
+e866668808838a05878b88891f79078bb08ca3a5b38a8b1e9d078f888c891e808c05
+ffffee199aff0001999afffff8e666ff000466668ba008f71d079ea2a0a1a08b08a9
+9f7a581ffb06078b76fffff9cccdfffffbb334ffffed3333fffffe4ccc08808a0587
+8a88891f79078bb38ca4a3b18a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00
+034cccfffff9ccccff0004b3348b9e08f71007ce6da45e1e678b68687d7b080efbb4
+f7faa2f771a8e0a101b9bccfb78cbb03b9f828157c8783791e8106888a89881f8b7a
+8c8a058bae8c9e9fb98a8b1e8c8c8b9c058e898d881e82067a85939a1ff73307a4a4
+ab999a8b08a39c77611ffb1c077c8683791e8106888a89881f8b7a8c8a058baf8c9d
+a0b88a8b1e8c8c8b9c058e898d891e81067a85939a1ff72407c170a8641e778b6383
+686808b7078b9f8c968e9990a79a96998b968b9887917c8f818f809a8b0896959595
+9f78a1516f537a2b1f0efc18f79b9ef7d1a0c9c4128bbbb2c758bc13f8f709f97715
+f7870a13f476fb5215f7880a13f8f7890a0efbf1f801a8f75bb761a112d5bb13d0f7
+3ef8e515f78a0a13b0f78b0a0efbf1f7fab37c9ff75fa312f712bd13b0f712f85c15
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d8b89509a8b051370a396a391b29308899f057f8780887e8b0880
+8898991ff732079f8c90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d
+069c938a731f0efbe7f78e9ee4b3f764a301f712bdbcbb03f744f82115f74c079f8c
+90a31e9d06908c8d8e1f8b9e428a418c8b7805888e898d1e9d069c938a731ffb1107
+8b82888287867b747c7f848b878b868d878f859283907f8b087980817a7a957da61f
+aa8ba7ad9ca4088d068b369071a66c9b799f849b8b08a6ad999e9c82947f1f7c8b83
+7b877e8a848787868b086e81aee81f0efbd3f800a1f7059ee5a27f9e12c4bce5c113
+eca7f8f415a78c85761ffb47077f8a857d1e7c8a05898a8b891f7af71307b3c69dc9
+1f8bad74a66b9008a2c90513dc95a79b9e9d8b089d07848c858b848b6a8b77757e67
+08744d5c8b8bca0513ec9f8d92a18d8c8c8e1e8b9c8a8d058b6c8a7774688c8b1e8a
+8a8b7805898f8a8d1ef73cfb3a1573836b541e828b828c828d08f702ad07b7976a73
+1f0efb1df8f5a201f7eff8f515f7860a0efb95f782b4f7dea201a2f7bc03f785f8c6
+15ffffc94ccdfb13fffffbb3338a52f71405fffff2199aff001f1998ff00006666ff
+000ce668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c
+748c87878b7c8f87ac87ff0001999a7fff000f66666808cffb2e05ff0005999affff
+f34cccff00046666ffffeeb3348b848b858a8688837b65786c828b858b8690859187
+90858e828b088178827974aa81971fb78ba2b19eb7ff00344ccdf70dff0014b333ff
+002e4cccff001dccccff0046e66898aaff0004b334ff00104cccff001f8000ff0003
+80008f8f8b9a878f7d8a808a7b8b748b7d8c748c0887878b7c8f87ac888ffffff480
+007dffffdf8000080efc29f8b4f744019bf71503f714f95d158490858d838b088706
+7f8a84878882084bfb26058a8a8b8a8b8a8b878e878e888e8a8e8a8d8b8e8b8e8c8d
+8d08f1f70d058f908c918b908b9785968091080efb89f8c4f74101c1f79903f7cff9
+4715f7210afb189115f7220a0efc3ff86bd3e59c01a8b703e4f86b15a9999d9b9b86
+a162838593981f8ba2a0b0b59408869c0545836b4d8b670867a166b11e0efc38f86d
+9ce5d301eab703daf92015f7040a0efc3ff8749ce1d701a6bd03e2f92715f78c0a0e
+fbf4f82fb6f72eb601f732b703f75ef8a215d65abd481e828b788882890894620591
+8c9b8d918b08b6a86b595572795c1f828b828c838e08866205928894889a8b08c6c4
+b1d81f0efbf4f82fb6f73f768fb612b9b213b0b9f8ac1540b859ce1e948b9e8e948d
+0882b405858a7b89858b08606dabbdc1a59dba1f13d0948b948a9388088fb40513b0
+858e818e7d8b085056653e1f0efbb8f90a76c6a401c5b4a4b2abb303c5f90a157b9b
+86921e938b94908c948d9e94a5b88ba68b98768b718b787c7d7b7e777b77798b6d08
+68b2a7078ba69c9b9e9a9e999c9a8ba508ba67a85e4b6b6a6d1e0efbb8f930a301c5
+b3abb2a4b403f77ff90a15a86bad4b5e676e5c1e8b719c7c9e7d9e7c9c7b8b70086f
+b2ae078ba9779d779b7b987c998b9e8ba598a0a68bb88b94718d778c829487938b08
+929b8f9c1f0e3ef7f3f7bb01f738f88615f78bf28bb8fbc4fb128b61f7c4fb138bb8
+050e3ef7f3f7ba01f7f6f88715fb8b248b5ef7c4f7128bb5fbc4f7138b5e050e3ef7
+eef7c401f704f7bb03f797f8e515730a0e3ef7eef7c401f703f7bb03f797f8271524
+f78b5e8bf712fbc4b58bf713f7c45e8b050efb8abef79103f756f93e15f78d0a0efb
+8af729f89a15f7030a0efc65f8aef74c01b4bb03e5f95f158390858d848b858b7e86
+81858c718b628b738b768b688a7792879289928b918b998e9492088aa88bb38ba28b
+a28bae8c9c080efb3ef89abd01d5f79903f7cbf89a15f40a0efbd5f8b8f73401b7f7
+3003f717f95815f78e0a0efbd5f8b7f73501daf73203f735f95815740a0efc1ad0c1
+03f70ffb7815f78f0a0efb61fb17b701d5f78403f7b7fb1715f7900a0efbe6fb6ff7
+2101aff74a03affb0b15f7910a0efbdafb6af72601b8f73f03c6fb6a15f7920a0efc
+16aff71f03aff82915d0fb0dd1f70d05fb1ffc0415f71f8b45f70d050efc1baff828
+15d0fb0dd1f70d050efc27fb77abf70aac01f711ad03f711fb1c156971726a1e868b
+868c868c08826c059389938a938b08bfb4b4bdbe62b4571f7f8b7f89818708976c05
+928e928c938b08afa26f6c1f0efc27fb6cabf70aac01adac03adfb111558b563bd1e
+948b938c928d0883aa058689868b858b086972a5acaaa4a7ad1f948b928a92880897
+a9058090808d7e8b08586261591f0efbe4fb78b701f701b603bbfb7815f7930a0efb
+e4fb6376f70ab701f700b603f7684915f7940a0efbd5fb29b701f708b703f734fb65
+15c7ce0791948e928b928b92889186930847cb06838f858e858b848b84888184084e
+4807848489848b838b848d848f8308d14a0693879189928b928b928e9493080efbd5
+fb11b701adf75903f7733a15fb4706848488848b838b848e848f8308f7490691948e
+928b918b9388918693080efbaaf8a5c401a0a6f76ca603bbf93815f7950a0efbc4f8
+b7ed01eced03ebf8eb15f7010a0efb7ef8deabf5ab01e8b3ebb303f749f96815ba0a
+335615da0a0efb99fb5cb101cbc903f79afb1b15f7960a0efbc3f8ccc089c212f794
+a613a0f765f90115b30a1360b40a13a0b50a0efb89f8c4f74101c1f79903f7cff947
+15f7210afb189115f7220a0efba9f7b2bef7187701f725b803b2f81115996505a59a
+bba0a5908682887b8b7d8b5ea17d9b8ba58ba197bcaf08809f05757f8086758b788b
+869b8ba18baf9aa19ca4087d96055d654c6f4f75080efb80f774f8f615e1d4058794
+8b8b869386938b8b869008fb0243fb05d30586868b8b868285828b8b888408e34134
+42957b058f848b8b918508f703d2f703440592918b8b8f9290928b8b8e94080efbb6
+f7faa3f7a9a301e2aec7b303f727f7fa15c59cb59b1f8b948ba562ca088d91d7f711
+059296998e9a8b088ba18a8d058b6b897a1e7c8b748c7a8c088a898b7505a0988a81
+1f8b898a898a8708502855ef05898f898e8b8e0890928ea11e8ba18a8d056e89708b
+7c8b798b7f8c7c8c088a898b7805888d8b8d1e9b8b9e86937b08d6fb1f6a5905847f
+81798b7b086ea47bae1e72c0158b9798a19eaa089083059f6e8e7d8b820878807c77
+7a7f959e1e0efc46f7ffa1f7d0a001c2bc03c2f84c15f7970a0efbeaf7faa4f779a4
+12a7a17cbbe2c16fa213e8a7f85e15f7980a13d4f7990a13e8f79a0a0efbb4f800a1
+f775a101a0f7a603ff00ea3333f8cd15a7ff0023e668ff0004b332ff00044cccff00
+1c199aff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88a
+fffffe3333fffff7ccccfffff2cccdffffed3334088b8b8a8a63530867c4057f9f8b
+92a88c8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199affff
+fe3334ff00011999fffffd9998ff001a999affffda333408ff003833333b058888ff
+ffcecccd518b8bffffe19999ffffdc8000fffffdb334fffffb4cccffffe3e666ffff
+fe333487878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d
+8b8ba3a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a
+8a9d8a8f8f8b99878fffffe3e666ff0001ccccfffff9999aff0002e668ffffe5b333
+ff00254ccc08ffffcbcccdd5050efbf0f800a2f7dea101a5bbb2bc9dc303f74df817
+15748b949d1fd0078bb972a773a477a078a18bab08a99ba9b0a9a57a721e8b878a87
+8a888b888a888b8708789c8795979c959cbf51a8564c676b591e8b5da277a177a079
+a0798b64083b078b798a81748a088006878a89881f79078bb28ca4a4b28a8b1e9d07
+8f888c891e0efb32a076f8e1c301f7c9ca03f808f91915fbee53f7affce1ca060efb
+32a076f89bc3d17701f7c9ca03f808f919154c45fbaf53f7affc9bca060efb32a076
+f7cec3f7a77701f7c9ca03f808f919154cfba7fbaf53f7affbceca060efb32a076d0
+c3f89c7701f7c9ca03f808f919154cfc9cfbaf53f7af46ca060efb328bc3f8e17701
+f7c9ca03f808f919154cfce1fbaf53f7ee060efb7ad5b801bdbe03bdd515f79db8fb
+6af78d58060efb73f762b901bdbf03f1be15f72ff770b9fb70f72b57fbf4070efbaf
+fb15f7940198f71315f713fb94aa8bf70ef7945e8b33fb4a2df74a050efb01f8dbb6
+e8b701f876f8db15b6fc716007f871f71c15b7fc715f070efb6df8579fdbdd01f716
+adf70dad03f1f90d15f79b0af72f8d15f79c0a0efc10ffff1d8000f7550195ff00c3
+b33303ff006be666ffff61b33315ffffc38000ff007ccccdffffda999a8bff005633
+33fb55ff00194ccd8bff00543333f755ffffda999a8b050efc10ffff1d8000f75501
+95ff00c3b33303ff006be666ffff9a4ccd15ff003c6666ffff833333ff002566668b
+ffffabcccdf755ffffe6b3338bffffa9cccdfb55ff002566668b050efbcdffff1c66
+66ff00c33334019ff77c03ff0058b333fb1615f79d0a0efbd7ffff1c6666ff00c319
+9a019ff77c03ff00b74ccdfb1615f79e0a0efbfdfb5eabf5ab01a8b3ebb303f7094b
+15ba0a335615da0a0efc2af785f74401a9f71503d3f83515ffffe08000fffff58000
+ffffe9ccccfffff233341f8b868c85908608f1fb0d058d898d8a8e8bff000b33338b
+ff0002cccdff000a66668bff0002999a8b8c8b8dfffffeb3338e08ffffc14ccdf723
+0587948390808b080efba6f787f74201a9ff0103b33403cff82f15ffffe8999affff
+f16666ffffede666ffffee199a1f8b858d84908508f706fb02058d898d8a8e8bff00
+02999a8bff000a6666ff00044ccd8bff0009b3338b8c8b8d8a8c083df71f05869484
+8d7f8b08f71c9115f7620a0efba6f787f74201a9f79903f791f82f157f8b84898682
+083dfb1f058a8a8b898b8a8bfffff64ccdff000a6666fffffbb333ff0002999a8b8e
+8b8d8c8d8d08f706f7020590918d928b918bff0011e666fffff16666ff0012199aff
+ffe8999a8b08fb1c9115808b8386878208ffffc14ccdfb2305fffffeb334888b898b
+8a8bfffffd6666ff0002ccccfffff5999aff000b33348b8e8b8d8c8d8d08f1f70d05
+90908c918b908bff000dccccfffff58000ff00163334ffffe080008b080efba9fb0e
+b78fb9019fa3f77aa303f7743d15788b7a957b97779975996d8b608b746d7d5008a3
+860595ac989aa58b9c8b9e809d80a07da07fa18bb98ba8a997c7087391057d617d81
+758b080efbfaf7ddf5f731f501cbf503cbf91915210afb9b04210a0efc0ff92db401
+a9b703a9f8a31590829487908b918b958c949308f722e50795908d968b908b908692
+7d9308fb088b807f050efc0ff92db401f718b703f744f8a3158bf73b8097fb088b05
+7d8386848b868b868d80958608e5fb22069483958a918b908b948f9094080efc0f99
+b401a9b703a9f755158bfb3b967ff7088b05999390928b908b90899681900831f722
+068293818c858b868b82878682080efc0f99b401f718b703f744f755158694828f86
+8b858b818a828308fb223107818689808b868b869084998308f7088b9697050efb89
+fb0bf70bfb0bb712a9b7f75eb71370f7a881154afb5ecf078491848e858b848b8487
+818308340713b07d8f839f1ef77f069b9a98961fe307848e848f838b08848b848883
+84080efba7fb0bb701a9b703f7b24015ffffed8000ff0007e666ffff3e8000fffff8
+199a8b8b08cf078491848e858b848b848781830834077d8f839f1ef761069b9a9896
+9387978b1f0efb3d82a901f820a015fbb7069395a8a59bb0086a067d7b625c597908
+8007c76ba57b9e6808ad067cab76a0799e08f7b7060efb30f95815740a0efb2cf958
+15a30a0ef8bef73101fb9ef79003fb0ff95b15f78d0a0ef8d2b78fb9849512138037
+f90115788b7a927b977799759f6d8b608b74647d509185958a968d95ac959aa58b9c
+8b9e839d8008a07da079a18bb98ba8b297c7858f818e808a087d618081758b080ef8
+abbd01fbeaf7990322f8ab15f40a0ef8edb70164f8ed1598959d97918793821ffbe9
+0680807a7f848f83941f0ef8a5c401fbbca6f76ca603fba1f93815f7950a0ef8a0ef
+01fb7aef03fb7af8d415f7010a0ef8a2ea01fbe9e9d6e903fbe9f8d115950af73d16
+950a0ef986a601fb7cbdb7bd0333f96715f79f0a0ef8ccabf5ab01fba2b3ebb303fb
+4af95615ba0a335615da0a0e64f94715f7210afb189115f7220a0efb79f8a915f703
+0a0ef8b8f73601fb48bf03fb13f953158390838d848b858b7c8681858c718b6e8b73
+8b768b728a7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8
+aff74801fbd3b8c7b703fb3ef8af15f7485ffb48074f8c15f7475efb47070efb98f9
+8315f7610af71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b868c85
+908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff000299
+988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8a5c4cfe601
+fc16a6cae5caa6031438fbbcf94f15f7a00a4c7415f7950a0ef8e0c401fbeba6f76c
+a60327f88615f7a10a0ef868dddb9f01fb32ad032bf86815f7170a0ef86a9fdbdd01
+54ad0338f92015f79c0a0ef86f9fdbdd01fb15ad0348f92515647466671f8b739275
+9b77ff0010e666ffffeae666ff001c199affffef199ab1868f8f8c948b92529777ab
+8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0ef8
+5e9fdbdd014cad0330f91415f79b0a0efb6ff72101fbe7f74a03fbe7fb0b15f7910a
+0efb6af72601fbcaf73f03fbbcfb6a15f7920a0efb6d76d1b601fb68b703fb3cfb79
+15f73c07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508
+f7034a0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c
+0790889189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc
+06848e858d848b848b83888285080efc26f8bfb401f712b703f73ef849158bf72780
+97fb268b057d8386848b868b868d80958608f70cfb0e069483958a918b908b948f90
+94080ef7e0a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a
+98838b7e08696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb
+2915a89ba6b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f90
+8b908b908c088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb78
+15f7930a0efb6376f70ab701fba3b603fb3b4915f7940a0efb3bb601fba5b703fb79
+fb7815c8ce0791948e928b918b92889286920847cb068390858d848b858b84888185
+084d4807848588838b848b848e838f8408d14a0692879289928b918b938e9492080e
+fb3bb601fb35fb1015fb4706848588838b848b848e838f8408f7490691948e928b91
+8b9288928692080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e
+7e62bf5fc4c99bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb81
+04c1c2b5b69881987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e
+0efb3bf70001fba2f70003fba2fb0515f7a20a0efb3bf70001fc06f700e5f70003fb
+40fb0515f7a20afb5a16f7a20a0efb5eabf5ab01fbc5b3ebb303fb6d4b15ba0a3356
+15da0a0efb76a3dadd01fb77b203fb8e6215f7160a0efb5ca8d6ab01fb2dc903fb4e
+2b15a50a0efb5cb101fbecc903fb26fb1b15f7960a0efb81f74501fbafc103fb79fb
+7915f78f0a0efb63f70b5fb712fc0bb7f72cb71370fbdffb5915f7a30a13b0f7a40a
+0efb75cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b
+888b888b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac
+96a5d1a344ae81998bae8ba9c29cd787907c95868e080efb79fb7015bd06a8b9b1b8
+aeb20878980566706972666569af6aa564a708777e05ae63b060a85c080efbd6f791
+03fb3d391559066d5e655e6864089f7d05b0a6aca4b0b1ac67ad72b26e08a0990568
+b365b66fb9080efb7ac401fc17a6f76ca603fbfc3815f7950a0efb6176e5c401fc16
+a6f76ca603fb23fb7615f7a10a0efb14c089c2122ea613a0fb204015b30a1360b40a
+13a0b50a0efb17b701fbfcf78403fb23fb1715f7900a0efb17b70142fb1715f7a50a
+0efb67b7b9b701fc06f79803fb19fb0d15f7a60af7753115f7a60a0ef739c089c212
+2ea613a0fb20f76e15b30a1360b40a13a0b50a0ef75db701fbcff7840329f75d15f7
+900a0ef75db70142f75d15f7a50a0e3ff85a15fc0cfc5c058d7c97809b8b08f80df8
+5f05879881957a8b080e9376f9337701fcee7e15f89bf91505fffffdb333ff000ee6
+68fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4f704b201
+fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b08c2b7b5
+c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb65f70bfb
+0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b848781830834
+0713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b84888384080efb
+82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74af73a070e
+fb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a8f8b8f8b
+8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a8b7d8b6a
+80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00cb199a01
+fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049ccccffff
+e3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffffe34ccc6f
+ff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff00493332ff0049
+1998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff00133334
+f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ffff0c8000
+f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334fffff3b332
+7bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff0033e667
+fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff000a66668b
+ff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e6668ff000c
+4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ffffe5999a
+ff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff00250001ffff
+f4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd15f7a50a
+f7ed3115f7a50a0ef8b7f73501fb82f73203fb30f95815740a0ef8b8f73401fb83f7
+3003fb2cf95815a30a0ef886c089c212fb1ba613a0fb4af8bb15b30a1360b40a13a0
+b50a0ef86a9fdbdd0154ad0338f92015f79c0a0efb77f8a4ea8c7612bde9d6e913b0
+bdf8d315d80af73d16950aa4f767157e8b808587800857fb23058a888a878b880813
+70849185931e8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080efb82b3
+01fb72d6d4a403fb724115f7a70a0ef877f70b5fb712fc0bb7f72cb71370fbdff881
+15f7a30a13b0f7a40a0efb67b7b9b70142fb0d15f7a50af7ed3115f7a50a0efb75f7
+4501fba2b3d1b303fb7afb6d15f7a80af70216f7a80a0effff978000b201ffff6380
+00b303ffff068000ffffbe800015828687828b868b858c86938208ec450690819289
+908b908b95909399088be67f96050ef8a4c089c21222a613a0ffff296666ff01ef66
+6615ff000c4ccdff002e666605ff000c3332fffff83334ff000c666785ff000cb333
+8bb98ba8b297c7858f818e808a7d618081758bfffff2999a8bfffff3b333ff000380
+00fffff44ccdff0006333408ff00106666ff003e4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff1e6
+66ffffca8000051360fffff03333ff000b4cccffffee4ccdff000ab334758b608b74
+647d509185958a968d95ac959aa58bff000f999a8bff00114cccfffff94cccff0010
+999afffff66668087cffffc74ccc05ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006666080eff01d3e666ff00423332
+ff0003e668c089c2fffff7e668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01d3e666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd3
+199815b30a13aeb40a13ceb50a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080eff01f46666ff00c3199a01
+fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f77c
+ff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01fb
+70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7aa
+aca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef891e6cfc401
+fc16a6cae5caa6031438fb62f8bf15a4779f7272777772729f76a4a49fa0a41ecaa2
+15f7a10a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff
+7e333315ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334
+ffffb6ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb619
+9affffb6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6
+cccdff00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ff
+ff193333fb1615f79d0a0effff1c6666ff00c3199a01fffed48000f77c03ffff77cc
+cdfb1615f79e0a0effff1c4ccdff00c3666601fffeec8000fb1615fb24ffffc3b333
+8bffffda999af768df8bff001a6666fb68e08bffffda999a05ff01318000ffffe000
+0115ff003c6666ffff833333ff002566668bffffabcccdf755ffffe6cccd8bffffa9
+b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8f715f7a90a0efc98f8
+e0f30149f30349f91415f7000a0efb0eb012fb49c275b676c313c0fb1bfb12157976
+6f8f8b6d8b829284948b081390ac8b84aa98a398758a6aa58b938b95918b958ba870
+89789f958d948a968b089f9c919b918898791f798b847873800813a08c9b98a18b9a
+08987f9181818081801e8b7d997c8d757396829d788b087e8681837a9586981f978b
+918e918b08928b9288918a080efb6aa6f704a601fbd8b0efb0efb0031438fb2afb17
+15a99ea5aaa99f726c6f786f6c6c78a7a71efb42165db466b91eff001be6668bff00
+18cccdff000ce666ff000fe667ff00138000ff00104cccffffec4ccdff00193334ff
+fff34ccdff001ae6668b08bbb2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff3
+6666ffffefb333ffffec4ccdffffefb333ff0013cccdffffe6b334ff000c8000ffff
+e4e6668b085d62665d1fe2c315a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef8dab7
+0141f8f4158e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d605
+8f858d801e868b848a8989083ffb090588878a888b8908879088961ef30693908a89
+1f8b898a888a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81
+c001fb8104f7aa0a0ef86fc0f7097701f86f04f7aa0a0ef8a6bc01fc0ef8a615f7ab
+0a0efb1abc01fc0efb1a15f7ab0a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd
+8bc68bcc7dc479c379c57cc18bc38bf72b98d4f6086e91055859227a498b588b4b98
+4c9f529d5499558bfb238bfb124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e
+089c7905c9c9e8dbf7588bf7548bed40c848089c9d0537f70efb1ac7fb2a8b080efb
+29a901fba0fb0b156df86107797775777d6b08ae06a7aab1abb19f089607599d62ba
+7e9b0869069968a971947f080ef8919ef7099a01fb7dadb9af03fb2df8df1562077c
+7e8986808b7d8b87958b968b96919bb39608a53d15958b958f949308869605898a88
+8a898b08868994a11fb007be6b9671746a7a75839585939592928f1e8b8e8b8e8a8c
+8a8c8b8d8b8f08948f8f9d979688631e7283056982767c8b748b749d7ca28b9d8b8f
+909d9b8d8191809c8b080ef891a1c59db19c01fbd6b2c1b503fb89f8a71578789cb4
+1feb06ac7fb3575e7164681e8b718f7a977f977f9e7fa68ba78b9d98979b08809705
+807f7f84768b089bd71558068c9d949f9c8b089896826e1f0ef89399f70399bab712
+fba3c767af13e8fb67f8b215f70c800713f07e85798779898b858c878c870813e89b
+89918a8b7e083d078b7e828a80888a878b858c87958c9d8c948b968b9d8a938a8c8f
+8b918a8f08818e838e8b960878f72f15979595979781957f7f81817f7f9581971f0e
+f8919bf70a9b01fb83b4cbb503fb3af92715537a5b6c68a167bebea2b1aea87cbb50
+1fab3315697e7f7d757c9fb5b898969ba2976e601e0ef891a0f7049a01fb6ea9c9aa
+03fb50f924158c078b818a847e778c8b1e8b8a8b7f058a8c8a8d1e8e06958a8f8c8b
+7d084607679b7da31e9e8ba29e9394088f8a8970978b059992968e9c8d089a077e8f
+81ff000466688bff000d9998088bed8b8c058b838a867c738c8b1e8a8a8b7f05898d
+8b8c1e9106948f897f1f4207817f7681838b087f8091a71f0ef891a1f7069c01fb81
+b1c4ae03fb3af92a15606f626464a269b91fa38b9f98999efffffde666ff0005b334
+fffffc8000ff0004b334fffff8999aff00019998817f8581768b08806f90bbb39ea0
+9c1f9a8bff0004b333fffff61998ff00014ccdfffff3e6688c829484948b938b9391
+8b988b95fffff8e666ff000c1998fffff3199aff0006e668fffff5cccdff00058000
+fffff1cccdff00018000fffff166668b080ef8929cf7069bab9901fba0b2c6af03fb
+3ef8b41582818184838b08787e97bcb396989d1f998b92839481088a2b158d8a8a7a
+988b0598929b8e9d8d08899a057e8d82ff0004cccc8bff000f333408f73180077e85
+79877989088c7d059a8893ff000199988bfffff26668086e0783937d8f7d8b618b77
+618b688bffffe94cccff00066666ffffeab334ff000c999a7fff000acccdfffff5b3
+34ff000d9999fffffc4cccff0010999a8b978b9a939594080ef89499f704a3b09901
+fbbfafc9af03fb9bf93615a38c998b1e8e898c881e82876a867c8a087e078a8c8b8c
+1e978a05928f87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989d
+a78a8b1e96078d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e
+1f4c078b7f8889808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b
+8c898c08878c05808d888d8b9608cf07b17199721e778b78788382080ef89599f702
+a201fbc0afbfaebfaf03fb68f8b4158b7e848a80888a878b858c87958c9a8c948b96
+8b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccffffffcccdff0003
+999cffffff9999ff00036664ff0009999aff000a3334ff000c333393ff0009cccd8b
+089b90846f1f51078b80838881888a878b858c87938c9d8c968b948b9d8a958a8c8f
+8b918a8f808e828c8b9808cb07af779b731effffed4ccd8bffffeb6666ffffedb334
+fffff7b333fffff6ccccfffff9999aff0012e668fffff16666ff00089998ffffed99
+9a8b788b7b7a838208898c8ca4808b057e85798779898b85ff0000999afffffbcccc
+ff00016666fffffc33349b89918a8b7e0841078b7e828a80888a878b858c87958c9d
+8c948b968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a601fb8baf03fb68f90e158d8a059599989a9e8b089b92838080
+8485801f838b868e888f898d878b898b878b8587827e898888868b87084b078b8093
+8895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e948c8b9808
+d9078b98858c7b8d8a8f8a8f8b919d8d9d8f98910896060ef891a0f7009e01fb77af
+03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d848b850572837e758a8b
+8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a8aff00054ccc888f86ff
+0002b33482858687828b08828995a01f0ef9169a01fbd5f73803fb94f898158d8792
+888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b8d1f8b978a8c058b7a8a
+8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a888986086dffffba80006c
+ff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d1f8b97898c648a058170
+8c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919af70f9801fbcdf73b03fb
+cdf89c158007958c918c988b948b9a8a968a0896078d8a8d871e818bfffffd199aff
+0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b708b8b8d8790857f8b0886
+8988871f8307938ca38c988b968b9b8a968a0896078d8b8d841e7f8bfffffacccdff
+0006ccccfffff83333ff000933340863baaab705969a8e8c978b08928b8d8e1f9307
+7f8a828b808b818b828b818c088207888d8a8e1e928bff00063333fffffe3334ffff
+facccdfffff8cccc0871677baa0589908894918b08908e8c8e1f94077d8a7a8b808b
+7d8b7d8b808c088207888c8a921e928b9188908408b7520589896a648b8b807e8789
+808b0887898b871f0efc09f8aef77a01f702e703f736f994156b8bfffff4999affff
+dfccccfffff76666ffffe833340851fb350592839188968908f704f72f05ff0008b3
+3397ff00054ccd988b9a8b9f779a778b080efc27fb17f77a01a3e703cbfb1715ab8b
+96ab94a308c5f735058493858e808d08fb04fb2f05827f867e8b7c8b779f7c9f8b08
+0efb9cfb82b301f714d603f7144115f7a70a0efb2981abf815ab01f7d3e603f752a1
+15f7ac0a0efb2a81a8f71cf708f71cab01b2e6e6f70803f7abf72f15f7ad0afb29b8
+15f7ae0a0efb2981abf71ff708f716ab01e8f708f702e603f72bf73515f7ad0ab2fb
+1f15f7ac0a0efbfbfb19a3f703e8f763f512d1f571b213f0d1f7f715430ac0fb9815
+440a13e8450a0efc0cf9609a01f711f96f15f7af0a0efb77f8a4ea8c7612bde9d6e9
+1370f788f9a615f7b00afb56fb671513b0950af73d16950a0eef89acf766b5f80b77
+01f79bf7af154a0afbb1fb60154b0ab1f91a15f7af0a0efbeaf782f70801d0f70803
+f713f78215f7ad0a0ec989ac6cb2f7b0b1f788b36cac12f755e0f74aacb2ac9bae13
+2780b8f96915f7b00af7d8fc001530f74806133780f7b10a13af80540a136780550a
+13a780f7560a137780c60a0ef75c89acf7b6b5f78fac01f75de0f7eae003c5f96915
+f7af0af923fcef15f7b20a0efb6f89acf8dbac01f751e003b9f96915f7af0af778fc
+ef15590a0ef71281aff8e8af01c6ebf849eb03cef96915f7af0af7b22415640af7e3
+fbb915650a0ee789acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0ef7
+0c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b00af839fcf41513d8f7b4
+0a13e0f7b50a13d8f7b60a13c4f7b70a0efbce80c2f81777f707ea8c761286e986da
+8ce913d2f751f9a415f7b00a13eafb56fb6715d80af73d16950a13c63bfb8f15f77b
+0a0eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e8489acf7c1adf7
+8bad12f5e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13
+f84f0a0e2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b9
+0a13b8f7ba0a13d8f7bb0a0eb48badf9047701f7c0f8c1158d8bf75afc9ffc278b05
+f793f904154d8bfb93fd120587818a8b8b880885938a981ef8a4069c8f8d8f1f8b8d
+8a8e8894080e6589ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7ad
+f7fd15530a13af80540a136780550a13a780c50a137780560a0e948bb1f8c8b69377
+12c8a913d0f8bb8915700a13b0710a13d0720a0ef71b89acf7b6b5f78fac01f5e0f7
+eae003f8fef70e15580a0ef681aff79ec3f7a6af01b0ebc9acf786acceeb03f7d3f7
+f015368b88a388ad8591768b85858c688c788b698b6a8a768a6d9185a08b91918db7
+8f99e08b08c706e08b8e738e699185a08b91918aae8a9e8bad8bac8ca08ca9859176
+8b8585895f877d368b085bf7a615640af7e3fbb915650a0efbbe89acf8dbac01f5e0
+03f753f70e15590a0eb589acff0115e666ff00266666ff010ab334ac01f5e003f753
+f70e155b0a0eca89acf9067701f761aa15f7760a0ef788967693acf8dbac121360ff
+0296b334f70815600a13a0610a0ef3967693acf8dbac12f1bcf829bc1378f8c0f894
+15620a13b8630a0ec08bcaf779c3f77eca01b8accbacf7baaccbac03f79ef7f01536
+8b88a388ad8591768b85858c688cffffed4ccc8bffffddb3348bffffdf33348affff
+eacccc8a6d9185a08b91918db78f99e08b08f70406e08b8e738e699185a08b91918a
+ae8aff0012b3348bff00224ccc8bff0020cccc8cff001533348ca98591768b858589
+5f877d368b08fba0f7bd15738b838c7a8e888b8a8a8b898983812b8b629685ff0009
+999affffff3334ff000c6666ff0001cccca1d0919cd68b08f7ae06d68b917aa146ff
+000c6668fffffe3334ff00099998ff0000cccc96918bb681e989938b8d8a8c888b7a
+88838a738b08fd1904a38b938a9c888e8b8c8c8b8d8d9395eb8bb48091fffff66668
+ff0000cccdfffff39998fffffe33337546857a408b08fbae06408b859c75d0fffff3
+999aff0001cccdfffff66666ffffff333380858b60952d8d838b898c8a8e8b9c8e93
+8ca38b080ef681aff8e8af01b0ebf849eb03f7dff90215640af7e3fbb915650a0ed3
+89acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8f7bc0a13d8f7bd0a13
+b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf751f8be15f7450a13bc
+f7460a36f75e15f7bf0a13dcf7c00a0e7689ac6cb6f8c4b56cab12f878ac7dac1328
+f808f8ef15f7470a1394f7480a1364f7490a0e8d89acf86ef7285cb2128eadf778e0
+f763ad13bcf7f2f70e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e
+7789acf8dbac01f790e003f7e5f70e156f0a0ebb89acdca8f801a8daac01a3e5f739
+e0f73ae403f7abf721152c9745c18bf7108bf718dbb0e09108e0a9158dd29e8fcd8e
+91918ba085915a8a6d8a588b598b6e8c598c85858b769185ce889d878d4308fb517a
+49fb078b3c8b569ffb22f77f7a8a417887488885858b769185bc8ca98cbe8bbd8ba8
+8abd8a0891918ba08591488e788f8ad5f7339aebf28bf08bf628e1fb3097086c04ec
+81d05f8bfb138b45832afb327b080ecc89acf8dbac01f7a8e803f8aef1156e0a0edf
+89acf774acf7c7a089ac12e2d4f71de0f71ed413eef812f70e15f71907ff00628000
+ff00004ccdff00708000ff0019ffff8bff00bfb3348be6aea1a492ff0007e668ff00
+023334ff00061998ff0001cccc8b920895818d7f1e6e0655614e3d1f8bfb16ffffc9
+e666ffffc5e666ffffac199affffff199a08f77f0713de8bde9c90d18e91918ba085
+915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb7f07ffffbce666
+ff00014cccffffba199aff002e999a8bff0082199a0813eeed5bbf5a1e6c0680828a
+801f8b8690899389a185b3648b278bffff53ccccff00738000ffffe9b334ff005e80
+00ffffff800008fb19078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba0859108458e7a908bde080ef18bd0f8bfad01bde7f837e603f85df70915f7
+03b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22cf70066088f5b
+248b05568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334
+fffffbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191
+941f83f714052fc964c88bf70408f714d1f70af71ff716db21fb211e8bfb0063422f
+560883fb1505829086971ef764068fad8eb88bb3fffff8b3348ffffff74ccc8b8187
+855276925a8b082a060efbbe89acf8dbacc9eb0191eb8fe08feb03141cf757f98915
+b70afb5116b70af74dfd0f15590a0e7789acf8dbacc9eb12f730eb8be093eb13e4f7
+edf98915b60a13f4fb5116b60a13ecf749fd0f15f7350a0e6e81c84eadf811ad12ad
+df1330f7aef93e15f7b00af713fc7f15f7c10a1370f7c20a13b0f7c30a4be4157b62
+051370f7c40a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b0
+0a13f4fb09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf
+12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ecf7c60a13dcf7c70a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e2281b2f7f8a7
+a877f3ea8c7612e7da5be9d6e99eb413e980f7d1f9a415f7b00a13f380fb56fb6715
+d80af73d16950a13e580fb0dffff044ccc15f77f0a0e6e81c84eadf811ad12addf13
+70f82df75315f7c80a13b0f7c30a4be4157b62051370f7c40a0e3dfb6d76f778a8f7
+f3c5f781ac12d4daf75ad963e113fcf72cff004b4ccd15ff019eb33407f72bcca3b2
+c1b35b441e8b617444637c6f957a8b7c8b087c7d837a749e819e1f9c8b968e9f9508
+13fad476aa338b418b4963fb073d8b084e8bffffda6666ff001c199affffec999aff
+001c333308ffff77b33304ff00524ccd07ff001d8000ffffe94cceff0027999affff
+f76666ff0036e6668bf7068bdff08bf7058bff008ee666ffff91999aff00268000ff
+ffd16666ff000f999a088d0713fccfa2b6c48bd408e93fbb35fb1a5029fb2b1efc5f
+078bfb1080577e69089779ddaa0593b38cba8bc6080e31fb7fb2f8ceaa6dce12f753
+b3b5c01398f7916e15f7c90a4d2115619e51b8c697becb1e8ba481cb7bce89958895
+8995949f95a0959f08f700f76105a1b49aa8a7ad08868d057484808b7d8b838b678c
+808f88707f627e6970426f3c714a6bf55ef460f00813b887938690828b0813d87380
+597e597efffffbb33381ff0001999a80ff0007b333810813b89c8b948c968b9c8b9b
+8d9a6ab630c4fb0dab2208704c057e6c84678b6b080e2381acf916ac12b0db7bbef7
+74db13e8f77cf842153665fb02398bfb0908fb03d92ff710f5f703d2f7371e8bb17f
+b474b376ae6dad64a70844c00513d83fc66baa8baa8ba598a4be8ba58ba97ba4679f
+6ea47ca48b998ba9928ba88b9d5ca26d9a08699b5ba05f8b4f8b5c678b4d8b57ad64
+dd4808b76815ab7105be61ab408b5708fb374071581e13e82e63f6dc1f8beecec6d8
+b1080efb5a81b1f74aacf737ac12b7da4fd2f723d513f4f70ff70d15f7780a13ecf7
+790a13f4f77a0a0efb2efb79b4f975acf7087701b1e1f78bb103f798fb7915f1bae0
+c31f8bdfffffd4ccccff00373333ffffa73334ff0005cccdfb1d947bc98bd58bd5a8
+f70cf720f747d5a4b69c8ba48b9d809a718b738b686e6461086c7e6882748b6f8b62
+ab8bcb8b928b928c9108820674817d8577739847bb62c58b9f8bab93a394fb1dfb2d
+43fb128b2b0824bd2df75dcf9960634f6b64661e7b8b758c819780997697718b087b
+78807572b375c61f0e48fb6d76f78d76f81fa771bf12eadaf755da13ecf742f7fa15
+f7ca0a13dcf7cb0a0e2181adf7c1aff7c3ad01b2ddf78cdd03f805f7fd15fb8c068c
+f715aff742df8bd58bbffb278cfb300867048afb255ffb303e8b3e8b5bf7318af724
+08399e15fba4f70939e1dbf715dbf7a6f79dfb0fe43b29fb03fb06fb841e0efbce80
+c2f8177701dfda03dff7d615f77b0a0e3281bcf745a8f71dc455a712ecda13e8ecf7
+d115fb89078b7989708d818f7a9981ab8b08b182b7b11ff72407a28b917b977708d4
+fb0905ff0022ccccffffc83333ff00123334ffffeecccda38bb18ba79aacb5fffffd
+3334ff0008199afffffa9998ff00064cccfffff53334ff0002999a7c7983847d8b75
+8b82a06dba0843f708058397809c8b948b908b8f8e8f08aeb605b1bb979c9a8b918b
+94899284948396849c8b089e9c9c9cae76976c1f5e8bffffde199affffe08000ffff
+bae666ffffaa800008655c05ffffed199affffe8999afffff6e666fffff966667d8b
+08ff004c4ccc07ff0031b3348fcb8b1e8f868e831e13d8ffffe3800080ffffd88000
+82468289858d7b8d8508ff00368000fffffae666ff000a8000fffffa199a8b52080e
+4b80c8f8dfc801f8a0cc15fffffcb33494fffffa9998ff0004999afffff4b334ff00
+02666676717786768b6b8b7fab64f7180820f7f70568f70a53966d8b648b6b6c7165
+ff0002199afffff33334ff00079999fffffe3334ff00074ccdfffffd99989f9aa595
+a48ba78bb276b4fb1e089860fb71fc47a47f05a291a48fa68d08f723f7ffd2fb8105
+a72ea35fbd8ba88bb2b09db2080e22fb6d76f778b8f8207712c1da3cdaf753da13f4
+f7d6c7158d068e6f9a61c58b08bcb1b390928493871ffffffa33348b887bffffe7cc
+cc8b08648ab4b91ff77207ab8ecb8b1e7c857887788b7e8b7b8c858c916b8b5a8b6f
+08fb7107756a596a558b08567fbccc1ff75607ab89cb8b1e7c857887788b7e8b7b8c
+858c956b8c5a8b6f08fb66078b788f748b808b7687798b708bfb108a547e69089679
+daaa058fa08da48ba48bc083c68b9e8b8f8c8d8b8c97849f869d8b08c88bb5a5b3b7
+080efb0df810a6ae7701f7f1e603f1f7e915f703fbf105ff0009b333fffffc4ccdff
+0009999affffff6666ff0009b333ff00044ccdf71df751c8f7188bd508a77da66d6c
+7b737a1e8b589e8d8b498bffffde800073ffffcd800043fb00fffff98000fffff64c
+cd87ff0004cccdfffffd6666ff0008e66608ffffa0199af7df058896fffffd80008d
+fffff980008bffffe180007e61fffff78000ffffc48000fffff28000fffffe333383
+ff0000cccd808f8308b08905ff00173333fffffeb334ff000acccdfffff94ccc946e
+080efb3dfb78b3f74acdf79baef75fa9f67712b2d36dd2f76cab13fbf761f8cc155b
+683f528b548b56a67ab97c0813fd34636f488b500837b62ff744ccb87559536c5568
+1e778b778e799477947a93788b0813fb767c80796aae84b5f5ccd5d7e74bb9351f13
+fdfb0773cac31f8bd1acb7af9da592a790ab8b998b9c869a8b08a4a19aa69c7e967a
+1f6d8b6a6d558b0813fb6d6da1c21f8bb2b7bfccc0c89ebe9d8ba48b9d8396788b73
+8b6c75565f6c7e7b8b748b708b66a28bcb088b928c928b9108820674817c777f7598
+48af79c58b089f8b958ca191080e3081aef80fae01b4e1f78ee103b4f761158a0af7
+59f75b158b0a0e6e81d73fc2f7d0cf12a3a3f706bff70cca13bcf8a7f84115fc0506
+2d8b673c834fff00016666fffff7ccccff000b999afffffc3334968f9dc4a7a1bd8b
+089d068bfba4657e6181ffffe63333fffff9e666fffff0cccdffffee199a8b790873
+9c81a1edaff715f7861ef7100688fb078a2b8b5108137c3f9c71cb1eba8bbfbca2aa
+88958690818c656564887e8b748b829e8bb58bf71e8bdc8eaf08bd06b68bab9f9caf
+080e45fb6d76f778acf80eb101d9daf787e103f729fb6315f7cc0af7e3f83f15f7cd
+0a0efb2efb7db4f74adaf7d0c401abc0f7b3ad03abf750158b2cc429f70486f70286
+c87b8b518b43596c748b7b8b758c819780997697718b087b78807572b375c6e4c7d3
+d51f8bb88ab369ad789e689d668b08fb184ca3f708d8c4eee51fb48b9e7b9a7c9a7c
+9c819c8b08a79ca4a5a66bae27fb333dfb28211f0e7281acf7e6cf01b0def79bde03
+f874f7fd15b08b9ba19dad088097fb858b05308b446f6868616174508b4e08fb12e3
+33f71df733b8f711c41e8be44dd04faa0840fbe615245deccfeab8d9f7151fc459ab
+5e8b30082d59514b1e0efb2e81c0f7d2cf12a6a2f70acb61c513e8f72ef841152e8b
+703684568f859489958ba2c8979cbc8b08c30613f07efb0082fb068b558b42a775c2
+8bb78bb4b0adb7fffffc999aff0009b333fffff9199aff00053333fffff74cccff00
+03199a62616e877a8b768b809f8bb80813e88bc291e395f70208f106b48ba2a19dad
+088097050e2281b2f7f8a7a87701e7daf77eb403f73fff01414ccc15f77f0a0e85fb
+6d76f77aa8f80fb201b2dbf71fc5f72adb03f866f76e158b275a38267e08f79207f0
+a5a2b1c8a43c241efb29fb7615cd91f737b78bf7578bf157effb068b718b6e847576
+656484648b4208fb8307fb069572df8bf28bf702b9c5aea70878a0055d752b388b24
+8bfb1dce32f72c828bfb1080567468089779d0ad0596b58cd08be0080e31fb7cc6f8
+bdc601f742f79315bafb21fb5afbd6887ba58ac181c4f701def74bb2fb0005bbfb18
+a05ace8bff000fcccc8bff0012999aff00074ccdff000f999aff000eb333ff000d19
+9aff000c4ccdff000ab332ff0011e666ff00083334ff0011cccdfffffe6666ff0008
+6666fffff9999aff0006999a808c7e7c797f798b638b7f9363f708084ef747f721f7
+5ed4f6058b5b857384778e8b1efb16fb996ee105ffffda3333ff0070199affffdacc
+cdff0041e666498b6a8b736c736bff0001e666fffff38000ff0006b334fffffc8000
+ff00076666899b9b9e91968bba8bff00178000ffffe18000ff001f8000ffffa18000
+080eacfb6d76f778acf7f4a9ab76f77b7701f7d2b203f883f7c4157b360576fb0271
+4b467588af88c78bc98bf7078df70e95dc089df73005858972837b8b7b8b818c858c
+92fb4490fb338bfb1c8b668b4a8958289574f083f71d0881f73205ffffff666695ff
+fffd999a8e808b71805b7f4e7d8881ff0001b33381ff00064ccd8108ae069b8ba286
+8d690890420595fb29adfb0df73188872179457e69089679cdaa0593b38cab8bc68b
+9a8aad899cee9ec5df9ad908a9f7350594bb94a29ca7088892057484838b7d8b838b
+788c808f887081458468080eca81b0f8337701adddf745cef74add03f904f75115f7
+ce0a0efbce80c2f81777f70aea1283e989da89e913f083f8d415d80a13e4f73d16d8
+0a13e83efb9215f7cf0a13e4f7d00a0e2281b2f7f8a7a877f4ea12e7da52e9d6e9a7
+b413f7f706f8d215d80af73d16950a13fbfb04ffff034ccc15f77f0a0e3081aef80f
+ae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281b2
+f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e357fad
+f916ad12ace1f786e14fd913f0f7fdf8ea158b595e433f635f75657f6977a1f70cb1
+f736f70f8b08b597775d1f6cef15fb48fb09fb76fb54fb2ed4fb1ef7281f13e8f713
+dfeef7161f8bf70147e6fb06920813f0e9b9d1c88bd208c658b0491efb67fc45158b
+ab8bac8e9bc1b1b892aa8b0813e8d0cd57fb07255c273c4444e9f7291f0e5b7faaf7
+f8b2f78ead12e2d14bd6f777d513f4f81ff83215228b58a071a161ae7db58baa08d1
+aea8ca1ebbe741fb441f13ecfbc2fb9a15fb05bf58f705f729c9f73af7711ea08b9b
+8496849197909c97977b94778e688b08f71744f72dfb3a1e13f43f4659461f8b4f9b
+64b860b760cd78f71d8b08fb0772fb852a1e13ec4964b2ea1ff7397c07848b848881
+877a826f7f4f8208906e059c8e978d988b08989484651f0e6089acf8ddb501f77ae0
+03f7cff70e15f7d10a0ec689acf8ddb501f7e0e003c0f96815f7af0af800fcee15f7
+d10a0e6089acf8ddb5c0eb12f71feb86e098eb13e4f7dcf98b15b60a13f4fb5116b6
+0a13ecf744fd1115f76507f724cff723c61e9d8b957d927891789c86988b08a0999d
+9fae6ba35a1ffb0c8b5afb48825008880680f71250f705218b618b6378746eff0002
+b333fffff88000ff00064ccdfffffb199893fffffc6668a19d9b8fb28ba88bab7aa9
+52a45a9a2e8b2708fb46078b387a863b8885858b769185bc8caf8cc28bc18bae8abd
+8a91918ba08591083b8e7a908bde080e7bfb6d76ff00e48000a9ff0185199aff001c
+ccccff00fb999a7701aedaf733adf733da03140ef7c9fb6315ff000bccccc3fffffe
+999aff00454ccdfffffc199ad4ff00ac6666ff000e4ccdff0039199aff00834ccc8b
+ff0054199a8bff008a6666ffffa6b334ff0048e666fb23ff00064cceff0001e666ff
+00288000ff00026666ff0023fffe8eff001ae668089df7305c816b8d05ff0003b334
+ffffaeb334ff00034cccffffa91998ff00026666ffffac999affff5ccccdfffff733
+34ffffb9cccdffff9ab3328bffff85b3348bffff803333ff005cb333ffffaf8000ff
+00881999fffff8cccdfffff9ccceffffad6666fffff61999ffffa84ccdfffff04ccd
+ffffd7cccd08967905ff0046ccccff0101cccc15fffffcccceff0035b334fffffc66
+66c28bff003480008bff0043999aff00016666ff0054e6668ed6ff007580007eff00
+25199affffa14ccc8bffffa133348bffffb1199a78ffff9e3333ffff7accccfffff6
+800008ffffd36668ff0185cccc15ff00026666ffffa9999aff00016666ffffaeb332
+8bffffbe199a8b8bfffffe6666ffffb88000fffffa800037ffff8f199a9864ff0061
+b3338bff0054cccd8bff0048999aff0014999aff0071ccccff0086999aff00073334
+080eec7fadf822bc01afdaf758cff75dda03f8d8f76d15fb226d563a1e5c8b64b46e
+cf9bb094c28ba308a3879870727f686c1e8b778d66986a6d4462686c8b408b69bd8b
+f7048bf71bd7b9ab9c087e9f05306138398b268bfb24dd5ee58bc48bb4a9acd6a93c
+c471be8b08f70fc6f71cf0f712fb0af70afb3e1ffb798b8080059d699c87b08b08f7
+2706f704f70a52fb261f0e2afb4cadf71ec0f7eac601f71ab7f710b703f7c2de155e
+9b59c21eff000e999a8bff000e199aff0004199aff000dcccc9208fffff08000ffff
+e7e6660548227677738b728b7f8b81997ca18196708b7b8b837c8b818b7f927e9783
+a07fae80ac8b08bf8baaacb5ce08e9f72d789efffffe199afffffd199a0563ffffd7
+ccceffffe3999afffffc199affffef4ccc8b768b78ae8ba98bc18fc596c7d5cca2ab
+8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8be270ba5d8b66
+8b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d6b72788b718b
+779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080ef6fb1ef738ffffdf80
+00ff00208000f8e8af12b0ebff00b48000ff0056e666ff00a9999aeb13bcf7dff902
+15ce0af7e3fbb915f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff494ccdf70fffff88e666ff00998000ffffefb333fffffeb334ffffcf
+666788ffffd33333fffffaccccffffdb8000088c88058b9c8eaead9c888b1e8d8e05
+137cfffffab334ff0026cccd88ff002c4ccdfffffeb332ff00306666ff00574cceff
+000c4ccdff00463334ff002c3333ff002e4ccccdff0027ccccff0038b333a1ff0048
+4ccd8bdf080e30fb10f729ffffdf4ccdff0020b333f80fae12b4e1ff0059999aff00
+4c199aff00544ccce1137cb4f761158bffffa2999ac4ffff996666ff0076999affff
+ef4ccd0813bcfffffee666ffffd49999fffffdcccdffffd7b334fffffab333ffffdf
+6666088c88058b968eaead96888b1e8d8e05fffffb199aff00234ccd88ff00274ccd
+fffffe999aff002accccff002c1998ff00078000ff0022ccceff00136667ff001a4c
+ccff0019b333ff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd8bf3
+52f70dfb2d8bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd566
+6678ffffc5ccce8bffffc0cccc08f759f75b158b0a0e35fb50c1f940e03edd129bb9
+f802b613b89bf803158b4e97fb09ca49f709fb0ef770f7098bfb268b4c4d604f8b5a
+8b5cb15a8b087872847167a374e6f710f707cbf7121f8ba087a284a383a480957c99
+3cd6fb2e433be465b57ecc8bc08bc19ec8acaca8a6a697be8b0813d8af8bb183b18b
+df8b98b898c2087e9505807d75806f8b0813b8548b5290638b08fb3563fb3f251f0e
+fb4dfb79b4f74ad7f7c0ca947712aeb7f7a5ad13ecf74e8515f701c4765143596c74
+1f7b8b758c819780997697718b087b78807572b375c6e4c7d3d51f8bb88ab069ad78
+9e689d668b085efb1c8cf72ae9c1c2eb1fa88b9285a18bc38ba0a19bba0813dc7d94
+05807f7b8a798b0813ec608b898f608b6c8b5a7e67724d5f77308b4108fb2de264cb
+1e0e2a89acf7b8b1f71276f71fb36cac12ece0f74cacb0aa13f7f7a7f7d715e08b8e
+608e5e9185a08b91918aae8aff001ee6668bff002a199a08ff0022ccccfffff36666
+ffffef3334ffff92999a1e2ef76606a39795a31ecc06f58ba445a146978b968d938e
+fffffaccccb4fffff0e668ff007e6668fffffe9998ff00079998ffffff999aff0002
+4cccfffffeccceff0000b334fffffd99988bffffee8000fffffc9998fffffb3334ff
+ffff6668ffffe74ccc8b08ffff00b3340613ef8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff
+00324ccd8bff001cb3338abd8a91918ba08591458e7a908bde08f75d070efb2bfb63
+76f7e7cef747d901c1ac03f82df8511580910581787888738b608b60915f8b08fb0f
+65fb0d261ffbfc078b788b64997d91859488958b978b928f929194958f978ba58bc9
+5edd8bbc8bb8a0b6bd8b08a68ba685a68bbd8baeb297c1088090057e7b7482778b08
+24065d8b6e687e6493f70595f720f7108b08e606c28ba5ae9cc0080e51fb26b4f81c
+bbf81bb412f76ac481c313f0f7b9fb2615b38bb19da29708849e0578857b897d8b76
+8b5d918bac8b978f9a969f08f75ff7f6fbf88bf734f7a90513e89ca892a48ba18bbc
+64a9628b628b6378787f089279059d919b8d998ba98bb2828b688b7c8778827a08fb
+5bfbecf7f88bfb38fbb30513f07a6e81758b760861af6bb61e0e51f7b3bb01f861f7
+b315a7bbfbf88bf755f7e3548cfb56fbe46f5bf7f88bfb66fbfec389050ef763f91b
+be01f778c6dbd2f75ef403f8b6fb0b158ac7678b1ee0edc1f7298bf7178bf72661f5
+2ceb33e63db0fb198bfb088b2a63353408bd6905b2bbccafcb9c08fbbfc6f7c89907
+df8bcd72cb4baf66a5659e626281576e6c756c756c687c647756834a8b4108d2068b
+c190d093b194bcb2ada4a19493be9caa949e4e91488b408bfb2a66305247080e27f8
+a39a01f82fb303f79df84815fb1624ab66f719f4059e769c75997608fb1823ab66f7
+10ed059e629d508b498b6686668165089c06a4c998c88bc78bf762fb32f71efb768b
+838b818b838a08857c05f70983d658b16b080e2a7fc0f7eac601f71ab7f710b703f7
+c2de155e9b59c21eb78bb4b0adb708789d0562616e877a8b768b78ae8ba98bc18fc5
+96c7d5cca2ab8ba88ba58397708b6e8b6760744608584a625c404693c38dd08bad8b
+e270ba5d8b668b7169796e089c79059b9b9d91968ba48ba2698b628b5e882c7d4b5d
+6b72788b718b779578a88ba48bb1b49bc708f72cf72f058458845a8b4e080efb0efb
+6a76adcff70facf813ac12add9f78dda44a113fcf84cf76a15f71c37e4fb1530254b
+fb64fba6ba2df73e1e13fae08ba47c937808a1920583b470c12c8bfb2d8b74c67ef7
+24088f8d05b356b86ed98b08f713d5f715ea1ffb5ffb53155b3eaef726f732d0b7bd
+1f13fce8b0fb0642fb255458461f0efb2a81a8f818ab01b2e603f716f75c15f7ae0a
+0efbe4fb73b7f8c8a7a877f711ef12eeef35da13f8eef8eb15850a13f499fbae1587
+0a0ef681aff7a8b2f7adaf01b0ff0060b333ff01b43334ff0060199803f92ef7dd15
+650affff9f19989715fffe4c000206ff00044cccff00c7ccccff0060cccdff005133
+34ff0060cccd8bff007d199a8bff0066999affff9d3334ff000a6664ffff49cccc08
+ff0000ccd06415fffffd8000ffff51e666ffffaae664ffff9a199affff8fb3348bff
+ff8b66668bffff91cccdff0063999afffff68000ff00b06666080efb427fb7f73fb2
+f730b701b0d903f707f7861593f72ae891ac8b9d8bba89b76c089ba00567b15f9d56
+8b083dfb1248fb38fb08ce20f71b1fe58bb8c19aa1087a9d056f6f67755e8b328b58
+d283ef08f7320695988f941f9f078f888d871e0efb427fb7f73fb2f730b701f7cbd9
+03f7c7f78615fb2d067a857f831f7d07878c8a901ef74206fb3a27865f1e618b7096
+6ca1087c7605a56db771ca8b08d7f714bcf74af70745f700fb191f318b5f557c7408
+9c7a05a3a2afa6bb8be48bbb3e933c080e4dfb6d76f778a9f811b1f7977701dedaf7
+91e103f72dfb631593a58cb78bbb08f007aa7da783b58b08f71bf2ecf72ef70636df
+fb0d1f638b5782626c08d3078bf71096be98ad08809d3a690581618a498b3608fc6d
+078bfb10804f7e6808967a05f7edf84915fb005444381e6e8b74966aa586837c7581
+8808f76307f726c4a3bedbcc5ffb321e0e8f81b7f8ddb201b2e603f8ccf70d15f7d2
+0a0e89fb6876f78e76f8527701c9aef7f3d003f85416967fc59d8bf83d75963b80fb
+12fbe9fb1cf7e9649657808bfd269485a5918bf8e38d8cf729fbfb05ff0002cccdff
+fff94ccdff00043333fffffcb3338f8b918bff00184cccff00033333ff0002b334ff
+0006cccd08f72ef81c8d8a050e8f81b8f8e1ad01f86ae603ddf8af15f7d30a0e8f81
+b7f77ff708f77eb201b2e6f73bf70803f7f7f7a115f7ad0af769fb2815f7d20a0e8f
+81b8f779f708f788ad01f738f708f752e603f772f79c15f7ad0afb20f7a715f7d30a
+0e6589ac6cb2f7b0b1f788b36cacd37612efe0f74aacb2ac9bae1327c0f782f9c615
+b00a38fc091530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c6
+0a0e6589ac6cb2f7b0b1f788b36cacc9eb12efe05eebe8eb51acb2ac9bae1324b0f7
+ddf98915b60a132530fb5116b60af71cfc2015133670530a13ae70540a136670550a
+13a670c50a137670c60a0ef715fb40d3edacf7e1ff00378000ff00558000f7285cb2
+128eadf778e0f763ad90de13ef80f7f2f70e15f75807ff00308000b2b492ff002180
+008ba78bff001c8000fffff680009dffffef8000ff002f8000ffffd466668cffffb5
+199a8bffffb280008b6497fb5f5c8b7f8b7f90828f81907f8e7e8b08777a777571a9
+76b01fa18ba4979d9dbdbcb4f7128bf71b8bff005cb334fffff58000ff0051ccccff
+ffcb8000b6ffffe94cccff0012999affffd93334ff000f6666ffffd980008bffffc3
+80008bffffc88000ffffea8000596008f72907cb95b1af1ea106d68bba719c3e968b
+998c948f84b986be8ab80813f780f72e0a13ef80f72f0a13f780f7300a13ef80f76c
+0a0e2989acf8d2b36cacd37612f4e0f7a0a8139cf7edf9c815b10a13dcfb5afb4315
+13bcf7b80a13dcf7b90a13bcf7ba0a13dcf7bb0a0ea481aef79ebd79c3f786b012ad
+e6f7fce666a913bcadf7cf15fb4df1fb20f76becf714c7d59f82a0721e6e8b7c6e7e
+667d6363693f8bffff7580008bffffaf8000f70a81f732ac9aa792b18b0813daf7d4
+0a13ba508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5da1ef71e8bb73aa535ff
+00099998fffffd6666ff00098000ff00018000ff000ae668ff0005199afffffa6668
+bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067ff00238000ffff898000
+8b08fb3afb1cfb1afb651f0efb0281aff8eaad12a6ff00208000fffff78000ff0047
+6666ff00ed999adf4bff0020800013d8ff018ab334f90b15f7690a13e8f7280a13d4
+f76a0a0efbbe89acf8dbac01f5e003f753f70e15590a0efbbe89acf8dbacc9eb0191
+eb8fe08feb03141cf757f98915b70afb5116b70af74dfd0f15590a0efb67fffff8b3
+33ff00284cccf8d9ac01f766e003f7bbf89f158bde9c90c78e91918ba08591658a5f
+8a658b658b588c598c85858b769185db889c868b3808fbd407fb355a826a1e7d8bff
+fff6e666ff0012999afffffb199aff000b6666fffffa4ccdff000d3333fffff0b333
+ff000dcccd6c8b087d737d75ffffce8000ff0056e666fffff43333ff0019b3341fff
+001b19998bff0020e66793ff00206666ff00174ccdff0030199aff0022b333ff001f
+e666ff00424ccd8bef080ef7ba7fc759acf7c2b3f785aa12f76db7f744e0f78ae413
+7ef89ef7e115e206f715a9314f4d7231fb2c557c9cc11f369f158b387a8645888585
+8b769185b28cff00354ccc8cff0025b3348ba88bb789af8b08f70df727a8f73bd5ff
+ffeab334f4ffff2a4ccc1f27f72a068bde9c90d18e91918ba085915a8a3a8a8b8b08
+fb81064a658d8b1ffffff9cccd81ff00008000fffff18000ff0005b333fffff78000
+ff003fcccdfffffe4cccff000e3333fffffd33348bffff9180008bfb5f78fb0c784d
+0813be7f627972768b7f8b808e83a2859d7e9a718b087078776b56c27db01fc58baf
+afa0bfb0e796f7538bf73808d6919bb61ed606b69476461f0ef7dc89acf7c9b5f77c
+ac01f4e0f7ade0f785e503f8c0f7e815de06f714a92a4f4d6931fb2c548b93de1ff8
+25048bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c
+85858b769185d1889c868b3808fb21fbadf721078bde9c90d18e91918ba08591658a
+628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a8645888585
+8b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a9191
+8ba08591458e7a908bde08f76ef7adfb6e078b387a86458885858b769185b88cff00
+2fe6668cff0025199a8ba88ba989af8b08f70df7319df73be46df702fb891f53060e
+f73489acf7eabaf74eb201f79de0f77de003f930f70f15f71f07f2ffffd3ccccc2ff
+ffa733341e648b3c7b484808f73b07cb95b1af1eb506d68bba719c3e968b998c948f
+84b986be8ab88b8c898d8a8b6988fb17863c8b0835063e8bfb0a90658e898b89898b
+8a875e8157805b9587978a978b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a86
+458885858b769185b28cff0032e6668cff0028199a8bff002666668bff0032999a8a
+a98a91918ba085914f8e7a908bde08f74607c6c3ca9ca88b08b9af653a1ffb17078b
+3780864e8885858b769185ab8cff003480008cff001e80008bff002380008bff002d
+80008aac8a91918ba085914e8e80908bdf080e9689acf7b9b5f774c866acd37612f5
+e013ccf83ff9c815b10afb80fd4e15f75e07f7068b9d6ab227b6fb02b03ad98a08da
+8a05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff
+0002e666ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194
+c90813ecff00043334ff001d1998ff0005ccccff0020e668a98b988b938696809581
+9986988b08a0a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7
+310713dcf7d50a0ef70789acf8dbacd37601f5e0f7d6e003f7bff9c615cd0af746fc
+f815f7d60a0e8675c9f8d2acbdaa01f74fd1f703d003f7ccf96c15f7d70affff3080
+00fb6115f7d80a0ef489ac6cb2f8d3ac12f5e0f721b1f720e0137cf72816f606c78b
+9463932608b10693ef91b4ca8b08f50613bcff002399988bff003066688ab88a9191
+8ba08591458e7a908bde08f825078bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+2507137c47857c6d1efb8a066e8394d51ff825078bde9c90d18e91918ba085915c8a
+ffffcf80008affffde80008bffffd980008bffffd080008c5f8c85858b769185d188
+9c868b3808fc250713bc8b387a86458885858b76918508b88cff003066668cff0023
+999a8b080eef89acf766b5f80b7701f79bf7af154a0afbb1fb60154b0a0e7f89acf7
+c2b3f77cb36cac12f1e0f798e542ae13ccf74ff7e115f73a0a613a15f73b0a13eaf7
+3c0a13dc898d0513ec8b3a89771efb7d0613dcf73d0a0e8489acf7c1adf78bad12f5
+e0f76cdc69e813f8f753f8ba154c0a6904d00613f44d0a60f8a3154e0a13f84f0a0e
+2989acf8d2b36cac12f4e0f7a0a813d8f727f9191513b8f7b80a13d8f7b90a13b8f7
+ba0a13d8f7bb0a0ecb8bb2f8cab36cac12ada6f827e0bda613bcf704ba15fffff580
+00807787ffffec80008a81ffffff800081fffff980008a7f87ffffcdb334fffffd99
+9affffcd9999ffffff6666ffffcdb33392fffffc4ccdff000a3333ffffff3333ff00
+09cccdff0002800096bfa5e4de8b08f7b606db8baf35975393fffffb4ccdff000b4c
+ccff00016666ff0007b334ff00054ccdffffff8000ff0031e666fffffe8000ff0031
+800086ff0030999afffffeccccff000be666fffff8e668ff00036667ffffea4cccff
+0003b333ffffee80008effffe98000968bb008f871078bff0034ccccff00074cccff
+00013334ff0042b334909196ffffffb33497fffffa4ccc950813dc8b3a896d1efb99
+0613bc6d438d8b1ffffffa8000828cfffff0b334ff00048000fffff74cccff003bcc
+cdfffffaccccff000d3333fffff733348b6e8b4c7f2e75fb06086bfb30ffffed8000
+ffffb8b333ffffe68000ffffe54ccd0813dcf7cff8c215aa91836c1ffc7b07667f88
+731efb6f067d7e90971f8ba0a4eea1f70997cf9bf393f08da49599a68b080e6589ac
+6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae133780f7adf7fd15530a13af8054
+0a136780550a13a780c50a137780560a0ef7ba89acff0124ccccff002a4cceff00df
+e666c866ac12f826e013e8f87bf70e15f7d90a13d8f7da0a13e8f7db0a0e6681aff7
+bcbcf791ad12cfaaf7c2e34be813f4b7f70715f7dc0a13f8f7dd0a13f4f7de0a0ef7
+0789acf8dbac01f5e0f7d6e003f8eaf70e15f7d60a0ef70789acf8dbacbdaa01f5e0
+aed1f703d0b0e003f7f3f96c15f7d70af78bfcf215f7d60a0e9689acf7b9b5f774c8
+66ac12f5e013e8f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f7310713d88bde
+9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf80
+008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+ff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba085910845
+8e7a908bde080eb17fc759acf8dbaa12f76db7f744e013b8f89ef70e15f824078bde
+9c91d18e91918ba085915a8a3a8a8b8b08fb81064a658d8b1ffffff9cccd81ff0000
+8000fffff18000ff0005b333fffff78000ff003fcccdfffffe4cccff000e3333ffff
+fd33348bffff9180008afb5f79fb0c784d7f627972768b7f8b808e83a2859d7e9a71
+8b087078776b56c27db01fc58bafafa0bfb0e796f7568bf73808d69198b61ed606b6
+9476461ffc260713788b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba0859108458e7a908bde080ef7889676
+93acf8dbac121360ff0296b334f70815600a13a0610a0ef71b89acf7b6b5f78fac01
+f5e0f7eae003f8fef70e15580a0ef681aff8e8af01b0ebf849eb03f7dff90215640a
+f7e3fbb915650a0ed389acf8d2b36cac12f3e0f7b5e013d8f89df91915fc0b0613b8
+f7bc0a13d8f7bd0a13b8f7be0a0e5589acf78fad73a8f7bdad12f3e0f775e813dcf7
+51f8be15f7450a13bcf7460a36f75e15f7bf0a13dcf7c00a0ebe81b4f8e2b001b0e6
+f84aac03f7f98115500a0e8d89acf86ef7285cb2128eadf778e0f763ad13bcf7f2f7
+0e15f76b0a13dcf72e0a13bcf72f0a13dcf7300a13bcf76c0a0e8675c9f8d2ac01ff
+00688000f89f15f7d80a0eda89ace3a8f7fba8d9ac01b0dbf745e0f745db03140ef7
+638915b28cc28caf8bff00244ccc8bff0035b3348ab28a91ff00084ccd8bff0011b3
+338592ffffbae6668effffee8000ff0004e666ffffff999aff0050199af71692f713
+b98bf7338bff0094e666ffff901998ff0030199affff6f199c9308ff0001e666ff00
+469998ff0012b332ff0004999cff00423334ff0002cccc91918ba08591658a628a58
+8b598b628c658c85858b769185ff00423334fffffd3334ff0012b332fffffb6664ff
+0001e666ffffb9666808ffff85000184ffff7a3333ffffd6e6668bffff5d199a8bfb
+3ef7296cf70086ffffff999affffafe666ffffee8000fffffb199affffbae6668885
+858b76918508f740f72a15f7fb07ee84d96a8bfb228bfb202e6c3785083616319134
+aa8bf7268bf71ee0aae792080ecc89acf8dbac01f7a8e803f8aef1156e0a0eda89ac
+6cb2f8d3ac12f0e0f7b3e0beac137cf8c2f89f158bde9c90d18e91918ba08591648a
+578a648b678b568c638c85858b769185d1889c868b3808fc25078b3d86fffffab333
+6bff00004ccd08fb5f066e799eaa1ff846078bde9c90d18e91918ba08591648a548a
+678bffffdd80008bffffc980008c638c85858b769185d1889c868b3808fc250713bc
+bc0a137cbc8cc88c9f8b08f7da06d88bbb44994494849aff0000e66694ff0007199a
+8bbe89c087bb0813bc8a94fffffbccccff0007e666ffffe73334ff0003199a738e73
+908bde080ec289acf76fc5f7c6ac01f1e0f79ee003f1f89f152c0728b43cf7061eff
+003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f199a078b38
+7a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035e6
+688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591658a
+ffffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d188
+9c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe380008b084363a6
+dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b678b568c
+638c85858b769185d1889c868b38080ef80a8bb0f8d5ac01f5e0f78de0f791e003f9
+c816ff002580008bff003580008ab28a91918ba08591458e7a908bde08f825078bde
+9c90d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b76
+9185d1889c868b3808fc2507397e88531efb1506657a8edd1ff825078bde9c90d18e
+91918ba08591648a558a668bffffdc4ccc8bffffcab3348c638c85858b769185d188
+9c868b3808fc2507397d88661efb1f06617a8edd1ff825078bde9c90d18e91918ba0
+8591648affffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b76
+9185d1889c868b3808fc25078b387a86458885858b769185b28cc48cad8b080ef80f
+8bb0f8d5ac01f5e0f78de0f791e0beac03f9f3f89f15ff00003334deff0010cccc90
+d18e91918ba08591638a568a678bffffdbb3348bffffc94ccc8c648c85858b769185
+d188ff0011333486ffffffcccc3808fc2507397e88531efb1506657a8edd1ff82507
+ff00003334deff0010cccc90d18e91918ba08591648a558a668bffffdc4ccc8bffff
+cab3348c638c85858b769185d188ff0011333486ffffffcccc3808fc2507397d8866
+1efb1f06617a8edd1ff82507ff00003333deff0010cccd90d18e91918ba08591648a
+ffffcab3338affffda4ccd8bffffdcb3338bffffca4ccd8c638c85858b769185d188
+ff0011333386ffffffcccd3808fc25078b387a86458885858b769185b28cff003980
+008cff002180008b08f90606d88bbb44994494849aff0000e66694ff0007199a8bbe
+89c087bb8a94fffffbccccff0007e666ffffe73334ff0003199a738e73908bde080e
+f71489acff013ae666ff0028e666ff00da3334b36cac12a5a9f765e0f784e813cef8
+3faa154782adac1ff78907ff00158000ff0001e666ff0013e6668cff00124cce8b08
+ff00809998ff0033b334ffffcfccceffff974ccc1f386c3cfb181efb36f88015fc25
+078b387a86458885858b769185b28cff00354ccc8cff0025b3348ba88bbf89af8b08
+ff00ab8000ff00568000ff00458000ff007d8000ff007f199affffbc9998ff0042b3
+32ffff48b3341fffffe6ccce8bffffe4999afffffeb334ffffe24cccfffffd800008
+f7200713def7df0a13ee648a628a598b08ffff70b3330613deffffceffff8bffffda
+4ccd8c688c844c86558753ff0007b333fffffa8000ff00084ccdfffffd8000998e08
+13ee93b6ade8cd8b08b506ba9784401f0ef75f89acff013ae666ff0028e666ff00e4
+3334ac01f4e0f784e8e0e003f949f70f15f7e00afc3e2f15f7e10afb36e615f7e20a
+0e6789acff013ae666ff0028e666ff00e33334ac01f4e0f784e803f79faa15f7e10a
+fb36e615f7e20a0ea681aef79ebd79c3f786b012b9e637a9f833e213b6f7a38115f7
+6beef72af74df765fb0cf710fb3a1ffb138b636152888755835a815708a98705a5e1
+c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813daf7e30a13bace8ba8ab
+c58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca66e8b0872827877
+1f41f7144fec1e0ef7ca81b16dacf7a6b2f7a2ac6fb212f5e0e9e8f81fe813aff8c6
+f8ff15f711e126fb64fb473d2424fb0021f6f7541ff766efdddf1efc07fc8515f74b
+e9078dfb56f715fb0df7328b08f746f706f71ff75cf75afb11f717fb3c1ffb308bfb
+0afb1b7efb47082cf747061377f7d50a0e7c89acf7beacf78dae01d8e7f773e103f7
+3df88a15e8d79bc3e28f886a1efb693d07384dadf51ff774fb4715fb5d078b387387
+3d8785858b769185bd8cff0025cccc8cff003833348bff0032b3348bff001e4ccc8a
+bc8a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba08591598affff
+e34ccc8affffcdb3348b698b508c688bfb4e8b5e358b468b25e459cf81088807707b
+6a72724affffcc999affff7a6666ffffd46666ffffc9999a6b8708828a0587888886
+1f8b788c89cd8c05d28cb0ff00508000b6ff006c8000b5f59fa8f68a080efb1e81bb
+5bb4f80bac12afde4bd8f735d91374f7b9f77d15750adafb381513ac760a1374770a
+0e2181aef80fae12ade1f78ee163a113f0f70cf77b15ff00384ccc9fff0074b334f3
+d9bb31fb0cfb125160551e424aeaf7031f35a515ffff42b333f701ffffb24ccdecff
+00894cccff004eb334f1f712f7004ff705fb211e2c8b5153755b08898d05ff00044c
+cdff00344cccff000fb333ff003fb3349aa5abc2b18ee7950813e8e595cba894f704
+fffff9199aff00033334fffff8b332ff0000b334fffff83334fffffc1998835b567e
+377e3a7e476f613c674781ffffabb3348bffffa14ccc080efb0889acf74ea8f72cac
+12f6daf72edb44e113f8f74ef78a15f7810a496e15d70613f4f7820a63f7eb15f783
+0a13f8f7840a0efb4789acf7fbb26cac12f6daf74ca813d8f74ef7c715f7e40a13b8
+898d0513d8f7e50a13b8f7e60a0e528bb2f7f4b16cac12a5a6f7bfdabba713dcf735
+be158b9ca6ff00424ccd9aff00e4b3338cff000f4cccff0006b333ff000cb334ff00
+1b4ccd8b08d006b3906f691ffb85076a897b631efb150680828c961fa7f80e1513bc
+6a8b648c6d8c85858b769185c886ff0011e666fffffbe666fffffc199affffad199a
+fffffbb333ffffa3b333ffffefe667ffffb6b333ffffef6666ffffb9999a85706e82
+6f887c897d858a790885fb1905ff00076666fffffc999aff0007cccdffffff3333ff
+000bcccdff0003333394b0a6e7e58b08f74106e48ba8319463ff0008b334fffffdb3
+33ff0009b332ff0000199aff0009999aff000433330885f71a058b998393788e798e
+72928bb008f779078bdd9890c28f91918ba085910813dc6d8a658a638b080efb2881
+bcf765adf70eac01b0dff75be103f710f7ae157f0adcfb5415800a0ef70389acf746
+aef710d163ac12f7d0d413e8f70116f7e70a13d8f7e80a13e8f7e90a0efb3381aef7
+48b6f730ae12c7a6f75ddb4de113f4b6de15f7ea0a13f8f7eb0a13f4f7ec0a0e8289
+acf803ac01f704daf760da03f75aca15f7ed0a0e8289acf803acd3aa12f704da77d4
+ebd479da13ecf831f8e215f7ee0afb6bfca31513f2f7ed0a0e2e89acf746aef710d1
+63ac12f6da13e8f816168b8bd98a9f8a91918ba08591648d83937aab085ee00572ba
+68a3528b088e07b2969cae9ab397aa979ea08b948b9388918791879688988b08a19d
+9e9fa173a26a1f518b7055785c75547065448b08ca0713d8f7ef0a0e477fb46cacf7
+fbb26cac128fd7e3b1f719da131ef836f70e15f74d078bdd9890c28f91918ba08591
+08132e6d8a658a638b08fb5106139e6a8b648c6d8c85858b769185ff0046b33386ff
+000a4ccd858bfb008b2283547d627e677a7e7a8b7e8b8793899808889e859e6f8b08
+727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08136ed98ea5b31eb806b19273
+691ffb66078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086
+91084a8f82908bdd080ee089acf803ac12f703b16bb2f7e5db13d8f709f7c61513e8
+85fb4e05fffffd4ccd37fffff0b33389518885858b7691859f8cbd8c9b8b9f8bba8a
+9f8a91918ba08591528f87958dd60813d892f78905ff00004ccd94ff00041999ffff
+ffccccff0003999afffff7333408f725fbf6058f88ff0003b3348bff00034ccc8e08
+ff00a43334ff0161333405ff00048000ff000a4cccff00053332ff0001199a8bffff
+f4333208ffffff199affff0e3334058b3884884e8685858b769185af8cb08cae8ba9
+8bb68ab28a91918ba085914e8f808f8bde0889f74d058ade978ec89091918ba08591
+68892a8b6a8b08ffff7accccfffee1ccccfffffb3334fffff5e666fffffc666695ff
+ff8a999aff011e4ccc056a8b218b688d85858b76918508c886ff000db33387fffffd
+4ccd38080e8289acf746acf730ac01f6daf76ada03f873f7c715f7850a0e3081aef8
+0fae01b4e1f78ee103b4f761158a0af759f75b158b0a0e8289acf7fbb26cac12f705
+daf762da13d8f849f84115fbb00613b8f7f00a13d8aa8e9fb21ef70d06b09180631f
+fb6d078b398186578786858b769085a48cb08cb38bb38bb88aa78a90918ba086914a
+8f82908bdd08f74d0713b88bdd9890c28f91918ba08591086d8a658a638b080e3ffb
+7eacf753adf7fda777b912dbdaf780e113dcf743f7df158c0a78b015f7f10a13ecf7
+f20a13dcf7f30a0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0efb2a89acf7
+fdb001a5a6f715daf717a503f74af70e158b3880864e8885858b769185b28cff0027
+b3338cff00214ccd8bff00224ccc8bff0026b3348ab18a91918ba085914e8e80908b
+de08f7a29c07dc8b9b6f9c3a988b988f8b8b85b987b78ac574894087598b08400659
+8b538e638e8a51875f845d8b8b9987988b9cdc9aa7dd8b089a060e3bfb7cdbf8baac
+01f760fb3415910a0ec9fb7eacf753b3f805b3f75ea9a67701b2ddf73cdaf73cdd03
+1407f771a9153979f700dfe29de5e21fa18b9e81a17008fbb407786d757d708b08f7
+6cf80515f7f40a46f74c15cc8fb38b1e92878e821e7281407d638889838d7b9185c5
+8791888b4008fb2e0778a073986c8b08303635fb34fb00c12cef1fb38ba997a5a708
+fb20078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f71507a175a184aa8b08f3d2f701f71bf70356e9271f5c8b6f797570
+080e2289acf803ac01f74af7fa15900a0e7989ac6cb2f7fbac12f2daf767dabca513
+7cf775b215668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b68
+8c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08f7
+9006df8ba83b985aff00091998fffffdb333ff0008999cff0000b333ff00084cccff
+0002999a0885f7190513bcf7f60a137c6c8877641e0e5389acf1b8f770ac01dfd9f7
+52db03f736f7c715f7f70a0ef79289ac6cb2f7fbac12f6daf75bdaf75fda137cf97e
+f70e15f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c85858b76
+9185be8695878b3908fb6d076c8877641efb0a066d7e94b51ff76d078cdd9290c18f
+90918ba08691728a668a638b638b6a8c728c86858b769085bd8795868a3908fb6e07
+66867e661efb0606668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b
+638b688c6f8c86858b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb3
+8b08f8c30613bcb38bb18aa98a91918ba0859108548f7e908bdd080ef79289ac6cb2
+f7fbac12f6daf75bdaf75fdabca5137ef93116df8ba83b985aff00091998fffffdb3
+33ff0008999cff0000b333ff00084cccff0002999a0885f7190513bef7f60a137e6c
+8877641efb0a066d7e94b51ff76d078cdd9290c18f90918ba08691728a668a638b63
+8b6a8c728c86858b769085bd8795868a3908fb6e0766867e661efb0606668596b31f
+f76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c86858b769085c2
+8794868b3908fb4d0713bef7f50a137ea98cb18cb38b080e6d89acf755acf71bb001
+a6a8f72bdaf73de103f85bf71215f7f80afb8cf74915fb4d078b3880884e8685858b
+769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016cccc89ff0028999a
+8b08f70fceaaf6e939a6261f43bc068bdf968ec89091918ba08591698affffddb334
+8affffd44ccc8bffffafb3338bffff824ccd8d8b8b8a51865c845dff0007b333ffff
+fc8000ff000a1999fffffde666ff000b3334ff0000999a089ddd99aed88b08a29e7f
+421f0ef71589acf755acf721ac01f6daf73de1ecda03f8fdf7c715f77c0afb9a8f15
+f7f80afb3df74815f7f90a0efb1689acf755acf721ac01f6daf73de103f7f7f71215
+f7f80afb3df74815f7f90a0efb2181aef737b379b9f728ae12badb42a5f790e113da
+badd15f7fa0a13d6f7fb0a13baf7fc0a13daf7fd0a13baf7fe0a13d6f7ff0a0ef71c
+81ae70acf73bb2f735ac70ae12f6daf2e1f77ae11377f74ef78115d1078bde968ec8
+9091918ba08591698a698a5f8b608b688c6a8c85858b769185c88796878b3808fb4d
+078b3880884e8685858b769185ac8cae8cb78bb68baf8aab8a91918ba085914e8f80
+8f8bde08d7f20713af8d26ca20f71b8b08f727c2f713eff35af70afb2c1ffb0d8b47
+3880fb0b08f752f73b15ddb642fb26fb18546f60286af710d8e2a6e6d91f0efb0689
+acf734adffffeb6666ff0014999af741ac12c3e1f72dda13dcf722f7d515ba9aa9dc
+b49bffffee4cccffffd9b3341efb0945074f74b9bd1f6ffbd515ff001bb333ff0000
+cccdff0009cccdff0019cccd97ff00246666a5ff004e8000ff001d199aff00318000
+ff003266668b08a546068b3880884e8685858b769185ac8cff00234ccc8cff002bb3
+348bff002b4ccc8bff0023b3348aab8a91918ba085914e8f808f8bde08f74d078bde
+968ec89091918ba08591698affffddb3348affffd44ccc8bffffddb3348b6e8dffff
+e74ccc8bfb438b7c438b550813bc8bffffbf4ccdff0031999affffde4ccdff004ab3
+33fffffdccccff0002e666ffffffcccdff0000199afffffc4ccdfffffe6666ffffff
+4ccd65fffff53333ffffef8000ffffea8000ffffeecccdffffdb800080ffffe8b333
+fffff6cccdffffea199afffffb3333fffff33333fffff34ccd69ffffeeb333856489
+85858b769185089f8cd98c8b8b080efb2881bcf765adf70eac01b0dff75be103f766
+f93315740afb30fb9b157f0adcfb5415800a0efb2881bcf765adf70eace6ea12b0df
+75e9d6e961e113f4eef8d315d80a13f2f73d16d80afb24fbb915e20a13f1e30adcfb
+5415e40a13f9e50a0e6189acf7fcbbc9b3efa9a67701f707daf76bda03f756f7d015
+c3c4c19da68bff0017e6668bff000d199afffff6999aff000e4cccffffe9e666ff00
+0f3334ffffe88000ff000b8000ffffc3b3348bffffb34ccc8bfb8d3f314c5dff0002
+b334fffff93333ff0003cccc86ff00058000fffffccccdf70cbce1f72b8bf75f088b
+ff00558000fffff4b334ff00468000ffffed4cccff00228000ffffec3334ff002480
+00ffffd9800095ffffd54ccc8b588b5170555708f721f71507ff000c4ccc8dff000a
+b334ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334
+ff00014ccc08fb1fb506cc8fb38b1e92878e821e7281407d638889838d7b9185c587
+91888b40087950077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648eff
+fffa3334948908cffc0f068b3880864e8885858b769185ae8cb08cb38bb38bb18aac
+8a91918ba085914e8e80908bde080efb4789acf7fbb26cac12f6daf74ca81398f798
+f93315d60a41fc001513d8f7e40a13b8898d0513d8f7e50a13b8f7e60a0efb2f81ac
+f739b379b9f72caa12b2e1f783a413bcb2f76715fb35f44feee6d2b2c09b8099791e
+7a8b7d857d6b7f707273638b378b5ec68bf70b9790988f988bff00124ccd8b99ffff
+fbb33399fffff9e6670813dcff000f4ccdfffff94cccff00101999fffffb199aff00
+174ccd8b08b6b99d998f8995851f848b7f857e8bffffef66668bfffff13334ff0005
+4ccdfffff06666ff000799990813bcffffef3333ff00083334ffffed6667ff0006e6
+66ffffe966668b0813dc6e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008
+cccc8bff00084cceff0000ccccff0007e666ff00033334fffffd4cccff0030999aff
+fffe3334ff001de666fffffc8000ff002980005a8f689a5c8b08fb193d20fb0d1f0e
+fb6181ac8976f82aac12bbaa7ad2f721d755ab1374bbf71e15f72a0a13acf72b0a13
+aaf72c0a13b4f72d0a0efbd889acf7f6a7a877f711ef12e5ef33da13f8e5f8eb1585
+0a13f4e6fc7115860a0efbd889acf7f6a7a877f3ea128ce992da80e913f88cf8d115
+d80a13faf73d16d80a13fc96fc5715860a0efbd7fb73b7f8c8a7a877f711ef12eeef
+35da13f8eef8eb15850a13f499fbae15870a0ede7fb46cacf755acf71bb0128fd7e3
+b1f70bdaf738e1137ff8ccf7121539597e565a7f95ae1ef728cd07d6a25e561ffbd3
+f79e15ad06a29e7f421ffb4d078b3880884e8685858b769185ac8cff00234ccc8cff
+002bb3348bff0026999a8bff0013cccc89ff0028999a8b08f70fceaaf6e939a6261f
+48bc068bdf968ec89091918ba08591698a3d8a8b8b08fb43066a8b648c6d8c85858b
+769185ff0046b33386ff000a4ccd858bfb008b2283547d620813bf7e677a7e7a8b7e
+8b87938998889e859e6f8b08727d77756ca770b91fbe8ba7a5a2c19fbb91f18bcf08
+d98ea7b31e0ef72a89acf74facf727ac01f6daf75ddaf73de103f866f7c6158bdf96
+8ec89091918ba08591698affffddb3348affffd44ccc8bffffd8999a8bffffd96666
+8c748c85858b769185be8796878b380853fb5dc3078bde968ebe9091918ba0859173
+8affffd9cccd8affffd833338bffffd4b3338bffffdd4ccd8c6a8c85858b769185c8
+8796878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb333
+8bff002766668bff0027999a8aa18a91918ba08591588f808f8bde08ebf75d2b078b
+388088588685858b769185a28cff002733348cff0027cccc8bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a0261f4306f73dfb111539597e565a7a95
+ae1ef722d207d6a264561f0e6589acf7f8bfc9b3efa9a67701f700daf766da03f74f
+ff011de666158bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff00008000
+f723ff00884ccd8b05ff000c4ccc8dff000ab334ff000fcccc8bff0009999c8bff00
+04ccccfffffc4cccff00068000fffff6b334ff00014ccc08ffff6de6668bff000019
+9ab505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37087957
+077ffffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908
+c8fc0f068b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff00
+20cccd8aa78a91918ba08591ffffcd33338f828f8bde080e2e89acf746aef710d163
+ac12f6da13c8f7c0f93315d60ae1fd33158b8bd98a9f8a91918ba08591648d83937a
+ab085ee00572ba68a3528b088e07b2969cae9ab30813e897aa979ea08b948b938891
+8791879688988b08a19d9e9fa173a26a1f518b7055785c75547065448b08ca0713d8
+f7ef0a0e8289acf803ac01f704daf760da03f7a0f93315740afb20fc7615f7ed0a0e
+3bfb7cdbf8baacc8aa01f72bd4ebd403f81df8d715f8000afb51fd7715910a0e7289
+ac6cb2f7fbac12f2dae1ade1da141c137cf83f1613bcb38bb18aa98a91918ba08591
+548ffffff3666690ffffff999add08f74d078bdd9890c28f91918ba085916d8a658a
+638b638b6d8c6d8c85858b769185be8695878b3908fb6d07137c6c8877641efb0d06
+668596b31ff76d078bdd9590bf8f90918ba08691728a668a638b638b688c6f8c8685
+8b769085c28794868b3908fb4d0713bcf7f50a137ca98cb18cb38b08d206af8b9854
+9042ff000ab33487ff000b4ccc8b978f90d3a1c3a68b080ef7fb7faef765a8f7feae
+01c0e7f7b9dcf7bbe703f84af75015f8010a0ed97fa7f744a8f755a701addaf70fc8
+8dd68dc8f70fda03f7bff72815f8020a0ef70789adf7c6aef71eb2cfa71295a983a5
+f735dcf789a583a979e513f600f89ff8ba15fb73a406a7989ab41ea606908e8e901f
+8b9e898c058b2d8a6864348c8b1e898a8b7805868f888f1ea606b29a7d6d1f73fb1f
+07768a9c921f718f0513fa4087598458805508a986059fdb9898c28b08e6fc490668
+7f7f631e6e06858988861f8b788d89058bd88dbd1ec58b8c89e48bf75b8bc6e58be1
+8be858c125b16a974b8d678b083cf71ef7430613f280c28b987e9f3b08a9900513f7
+0080c184be87bd08718705848a7a761efb73fb6815e90613f240f70aca4c314e692f
+fb2c398492ac1f0e4e89aaf752abf721b0129aa6f724d5f734a876d613fcf798f78f
+15f721ba07dc8b9a779c3908a88f0584b987aa8ac508fb45d6068bbf9dc7d0b6087c
+a005416574627f6f81a772b841ad087c7605d1609c4f8b570840fb34078a51876585
+5d08a687059cdc9aa7dc8b08aafbd4066e817b6a1e7806868888861f8b788d89058b
+ca8db31eb58ba289b48b0813faf704cbbedfea36a22c1ff4fb131539597e5a5c7595
+ae1ef725d407d2a360571f0ef79081ae70acf797b265bd79c3f77fac71b012f5e0ff
+0055999aff005b6666f7fbe666a913a1c0f753f70e15f73cff0055999a07ff0008e6
+66ffff538000ff00664cccffff808000ff00cd33348b08ecf714c7d59f82a0721f6e
+8b7c6e7e667d6363693f8bffff7580008bffffaf8000f70a81f732081309a0ac9aa7
+92b18b081311a0f7d40a130ba0508b60b14c8b7e8b4a7f4e69088a8c05f769f713d5
+da1ef71e8bb73aa535ff00099998fffffd6666ff00098000ff00018000ff000ae668
+ff0005199afffffa6668bffffffa4cccbcfffff54cccc1ffffc78000ff0009800067
+ff00238000ffff8980008b081365c0ffff5db3348bffff7a6666fb14fffffa199afb
+5d08ffffaaccccf756068bde9c90d18e91918ba085915f8affffd080008affffd980
+008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080ed781ac72acf731b372ad70b9f722ac
+74aa12f1daff0062199aff0055e666f783a41391c0ff0117199af75f15ff00036666
+fb2fff0067333451ff00614ccc8b08e6d2b2c09b8099791f7a8b7d857d6b7f707273
+638b378b5ec68bf70b081309c09790988f988bff00124ccc8b99fffffbb33399ffff
+f9e667081321c0ff000f4ccefffff94cccff0010199afffffb199aff00174ccc8b08
+b6b99d998f8995851f848b7f857e8bffffef66688bfffff13330ff00054ccdfffff0
+6668ff00079999081309c0ffffef3334ff00083334ffffed6666ff0006e666ffffe9
+66668b081323c06e8b707f717b08888d05e7a9e1e41ed58baa5b9c4bff0008cccc8b
+ff00084cccff0000ccccff0007e668ff00033334fffffd4cccff0030999afffffe33
+34ff001de666fffffc8000ff002980005a8f689a5c8b081355c0ffff84999a8b3fff
+ffa3e666fffff5999affff92199a08ffff9cccccf70906a7979bad1e9f06908f8e90
+1f8ba2898d058b42896266438d8b1e88898b7405868f88901e9f06ae957b6f1ffbaa
+076e817b681e77061381c0868788861f8b74051341c08e89058bd38db0b4d4898b1e
+8d8d051381c0a2071351c090878e861e7706697f9ba81ff713070ef78a89acf90777
+01f7ffd603f89ef7de15f8030aaffc6c15cd078bbfabcbcdb608f70ffb750590828d
+858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd0879890586ffffff66
+6688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d8ba2058b90fffffa
+e668ff00024ccdfffffc1998ff0000b333087f8d0576ff0003800079ff000d800074
+b508fbb8f8ac05fffff4b334ff0014ccccfffff84cccff000933347f8b818bfffff6
+b334fffff91998fffff34cccffffe8e66808fbbefcb1057a6bffffef6666fffff099
+9affffd8999afffff96666087f8905fffffb199affffff3333fffffce666fffffdcc
+cd8b86088b748d89058bcb8da5a3e5898b1e8c8d8ba2058b9088ff0002800086ff00
+00800008788d05ffffe2cccdff0003199affffee3333ff0008e6668b9b8b918d908e
+9108f710f77305cc60ab4c8b580849078b6efffff6b334fffff38000ffffde4cccff
+fffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf
+898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999aff0003
+6666fffff56666ff000c999a8ba8080eca89acf82f7701f7a8d603f775f78515d2f7
+0c059195918c928008dcfb1105566a7869807282a476b251ac08befb8515d6d6068b
+b898bebab408eafb2705957b86fffff5199a6afffffae666087e890587ffffff6666
+88fffffd999a8b88088b728d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff0002
+4ccd85ff0000b333ffffe780008effffed80009875ae08fb6df7e305fffff2999aff
+0014b334fffff36666ff00044ccc7f8b848bfffff2e666fffffc8000fffff3199aff
+ffea800008fb5afffeb6800005786bffffe28000ffffea8000ffffe680008888ffff
+ff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e8c8d8ba4058b8eff
+fffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7199aff00063333ff
+ffefe666ff000a4ccd9ba608deff008b800005c06198578b5c080ef8ef89acf79fb2
+f7a9ac967712f5e0f8a0d613ccf9fef7de15f8030aaffc6c15cd078bbfabcbcdb608
+f70ffb750590828d858b858b79ffffeab334fffffd3333ffffe34cccfffffccccd08
+79890586ffffff666688fffffd999a8b86088b748d89058be28dafb2d7898b1e8e8d
+8ba2058b90fffffae668ff00024ccdfffffc1998ff0000b333087f8d0576ff000380
+0079ff000d800074b508fbb8f8ac0513dcfffff4b334ff0014ccccfffff84cccff00
+0933347f8b818bfffff6b334fffff91998fffff34cccffffe8e66808ffff5fb334fb
+b7fffe744ccc8b8bf74e0513ec8bde9c90d18e91918ba085915f8affffd080008aff
+ffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25
+078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff
+003066668ab88a91918ba08591458e7a908bde08f744ff0176333407ffff8bccccfb
+67057a6bffffef6666fffff0999affffd8999afffff96666087f8905fffffb199aff
+ffff3333fffffce666fffffdcccd8b86088b748d89058bcb8da5a3e5898b1e8c8d8b
+a2058b9088ff0002800086ff0000800008788d05ffffe2ccccff0003199affffee33
+34ff0008e6668b9b8b918d908e9108f710f77305cc60ab4c8b580849078b6efffff6
+b334fffff38000ffffde4cccfffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff000066
+6608788d05ffffdf9998ff00036666fffff56668ff000c999a8ba8080ef7f889acf7
+40adf735ac967712ecdaf81dd613ccf89af78515d2f70c059195918c928008dcfb11
+05566a786980720882a476b251ac08befb8515d6d6068bb898bebab408eafb270595
+7b86fffff5199a6afffffae666087e890587ffffff666688fffffd999a8b88088b72
+8d89058bd38da7a9c3898b1e8e8d8ba4058b8e8aff00024ccd85ff0000b333ffffe7
+80008effffed80009875ae08fb6df7e30513dcfffff29998ff0014b334fffff36668
+ff00044ccc7f8b848bfffff2e668fffffc8000fffff31998ffffea800008ffff93cc
+ccfb48fffed633348b8bf7090513eca7969bab1e9e06908f8e901f8ba2898d058b44
+896468448d8b1e89898b7405868e88901e9e06ac957b6f1ffbaa076e817b6a1e7806
+868888861f8b748d89058bd28daeb2d2898b1e8d8d8ba20590878e861e78066b809b
+a81ff713ff0115666607ffffba999affff8c800005786bffffe28000ffffea8000ff
+ffe680008888ffffff999a88fffffd66668b88088b728d89058bba8d9e9ece898b1e
+8c8d8ba4058b8efffffce666ff00024ccdfffffd199aff0000b33308838d05ffffe7
+199aff00063333ffffefe666ff000a4ccd9ba608deff008b800005c06198578b5c08
+0ef7da89a8f7bcb2f78cae01f835dc03f806f7d715bafb90066f7d7b621e7b068688
+88861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a06647c99a91f
+f790c107bb8bae7dab4a08ddfb41059b697a81628b087506868888861f8b788d8905
+8be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea70838f7410563df
+5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b08f772fb9b68
+8b05328b5d6963370839fb41057d6f757b6c8b087f06878788861f8b788d89058bd3
+8db2afe3898b1e8d8d8b9e0590888e861e7606628b79959bad08def74105aaccaf99
+bb8b08f706b515fb64f789f81d8b050ef76389a8f744adf732ad01f800d503f7d2f7
+5f15b9fb18066f7d7b621e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d
+8b9e0590878e871e8406647b99a91ff718b507bb8ba274b75108b15805a16f7e7b62
+8b087a06868888861f8b788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f
+066c8b799f79a30864be055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19
+067a8b7f85977d08f72efb406c8b05328b6c66573d086a58057b7477766c8b087f06
+878788861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b80
+9a9ea808adbe05b3c7a6a0bb8b08f701b115fb1ef72ef78f8b050ef91c89a8f7bcb2
+f78cae01f5e0f8b8dc03f9baf80115fb64f789f81d8b05fdb4fc7c15f75dff016780
+0007ffffeb1998ffffed4cccffffeeb33471ffffefb334ffffddb3340839fb41057d
+6f757b6c8b087f06878788861f8b788d89058bd38db2afe3898b1e8d8d8b9e059088
+8e861e7606628b79959bad08def74105aaccaf99bb8b08b88b8d8b8bfb90056f7d7b
+621e7b06868888861f8b788d89058bde8dafb2d8898b1e8d8d8b9e0590878e871e7a
+06647c99a91ff790c107bb8bae7dab4a08ddfb41059b697a81628b08750686888886
+1f8b788d89058be48daeb2d4898b1e8d8d8b9e0590878e861e7f066d8b749b7ea708
+38f7410563df5dad338b085e8bf75af79b05979b7b8f7e8b08fca6067a8b7d87997b
+08f772fb9b688bfc748b8bf735058bde9c90d18e91918ba085915f8affffd080008a
+ffffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8b
+ff003066668ab88a91918ba08591458e7a908bde080ef86689a8f744adf732ad70a8
+12ecd5f858d513ecf942f78515fb1ef72ef78f8b05fb66fb5415adfb18066f7d7b62
+1e8406868888861f8b788d89058bd28dafb2cb898b1e8d8d8b9e0590878e871e8406
+647b99a91ff718b507bb8ba274b75108b15805a16f7e7b628b087a06868888861f8b
+788d89058bd38dafb2d2898b1e8d8d8b9e0590878e871e7f066c8b799f79a30864be
+055bcb60be3b8b086e8bf710f74005979a80907a8b08fc19067a8b7f85977d08f72e
+fb406c8bfc158b8bf70d0513dca7969bab1e9e06908f8e901f13ec8b9e0513dc898d
+0513ec8b4689641e13dc68478d8b1f13ec89898b780513dc868e88901e9e06ac957b
+6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d8d8b
+9e0590878e861e78066b809ba81ff717ff0115e66607ffffe9ccceffffed199affff
+ecccccffffe53333ffffe88000ffffdcb333086a58057b7477766c8b087f06878788
+861f8b788d89058bd28db2aed4898b1e8d8d8b9e0590888e861e7a06628b809a9ea8
+08adbe05b3c7a6a0bb8b080e56fb7cadf8a2a9f826ad12c1a972bdf793b670e351e7
+13f2c1f85a15a98905a3dca6e6f70b8b08c9cb633d416a41fb0b685d7f6677997f9e
+1fb28b91bec78b0813e9dab95f3c1f8b2137643d77257134678b330825f377d7f3d5
+adb399859b731e758b7a7d7a7b7173697b588b4f8b58978bc18bd3f5a7bd95f711a3
+f704d28bf70e8bf638ad409c08900713e2d0a6c2b28bdb8bf323b6339108bddf0592
+979392948b0813f4948b8e858d84ff0003199a80ff0004e66686968b089b9396999f
+7b9d711f718bffffed6666fffff2b334ffffee999affffe44ccc0866503ae8858d43
+8b8884f703fb12056488627a4e84080efb51fb5ab3f80bacf7bcab12b3a674abf762
+d548dc13f4b3f7b615a6860599cfaac7da8b08b2bf77503f4e836070627d6e749981
+9d1fa48b8ab6b78b0813eac79e6c571f8b4743776481387658688b47083fcb69f5b6
+ae92ab9d7b97771e648b716e648b6c8b5e918bb88bb7b5a2ca9bf722aebabd8bce8b
+da45a16f90088f0713f4b696b4b18bb88bd83ea64f9008b7df0591979294958b928b
+8f888e838f809285958b089b9096999b7f9e6d1f748b7a807c70086a4d43e7858d4f
+8b8981ebfb0d05628880834a83088a5887648561080ee789a8ff00606666ff001f99
+9af7fba0dea701ebd0f71cdbf722cf03f8faf8ab1542794e3d1f8bffffda3334ffff
+f78000ffff4e6666ffff7a8000ffffe4e66608ff01a4800007a7999bb41ea506908e
+8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1f
+fc3707ffffbecccdff000f4ccdffffb93333ff003733338bff009f800008ed6cbf4e
+1e6c0680828a801f8b8690899389a185b2808bfb148bffff51b333ff0066e666ffff
+c4b333ff0066199a7f08ffffcb999a076f7d7b621e7106868888861f8b788d89058b
+e88dafb2e2898b1e8d8d8b9e0590878e861e7106637c99a91fbf07ff0066b334ff00
+0b999aff006b4cccff003fe6668bff00c180008bf1b196a192938d928d8b92089580
+8d7f1e0eb6fb5ca8ff00a08000ff001e8000f819a0f77ca712d2d155cef714ff004a
+ccccff007f3334cf55d013fa00f7ae9f15ffffad8000ff000a3333ffffc58000ff00
+334ccd8bff00a080000813f6008bb298b78bb108af7faa601e5e0680828a801f8b86
+91899289a88596788b700813fa808b697b5c8b598bffff5a3333ff005e6666ffffc3
+4ccdff0074999a8108ffff8b8000076f827b691e7806868888861f8b788d89058bcf
+8dafb2cf898b1e8d8d8b9e0590878e861e79066a819ba71fffffffe666ff0074999a
+05ff0074e666ff000a1999ff005d3334ff003ccccd8bff00a580000813f3008bbd7c
+ba8bad8ba6959ea891938d908d8b900896838c801e5e06607e6c671f13fa808b6599
+5f8b648bffff5fb333ffffc98000ffffccb333ffffa94cccfffff5b334ffffffb334
+ff00de9999ffffffccccff00deb333ffffffb334ff00de999a088a8d058b74897d67
+478d8b1e89898b7905868e88901e9e06ad947b6f1f0ef681aff784c480c5f790af12
+b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24ccc15
+f8060a13dcf8070a0efb207faef731bc75b4f735ac12b0dbf774d9139cb0f75f1524
+c8fb04f715f71fc0f715eff35cf70dfb231efb134a24fb1c1fff012de666ff002233
+331513dcfffff2e666fffffb1999fffff0e668fffffcb333ffffee4ccc8b0813bc64
+8b7a9e5f8bffffe1e6668bffffe16667fffff78000ffffefb333fffff5e666ff0000
+cccdff0056199aff001d3333ff005d8000d38bd08bff002a4cccffffc48000ff0009
+999affff8fb33308ffff22199affffdd666715ff00068000ff00014cccff00084ccd
+ff0003199aff000a33338b0813dcae8ba870b68bff002266668bff0023ccceff0012
+4ccdff00154cccff000bcccdff00004cccfffff7e666ff00003334fffff7999a8bff
+fff766668bfb18536d628b368bffffdc199aff0066e666fffff9e666ff004cb33408
+0ed99476f90aa773af12f8eece13b0f8dff92615f8080a13d0f8090a13b0f80a0a0e
+519476f832b363a812f855d313d0f843f82615f80b0a13b0f80c0a0ed99476f90aa7
+73afbd7612f8eece1398f752f9a915f7650af7179015f7600a13b8f79efb1c15f808
+0a13d8f8090a13b8f80a0a0e519476f832b363a8f7727712f855d31398f710f92115
+f7610af71c9115f7620a13d8f73ffb9515f80b0a13b8f80c0a0ef7fb7faef765a8f7
+feaebba0b2a012c0e7f74af171bd7cdc95ebbab2f2e713fef0f84af75015f8010ac5
+f8eb1513fd7056635b671f13fcf0729e7e9b9a9b959c1e13fd708b9c7b948b9c8b97
+949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f81
+7c8b678b53c7528b080ed97fa7f744a8f755a7daa0b2a0b77712addaddbd82c88dd6
+8dc8a6b2c4da13ff78f7b4f8ee1556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b
+97949eae8bbe8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f
+817c8b08678b53c7528b0896fc5a156c0766844b452e7bf717d4f700a7e1d81e13fe
+f8998f86831f8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb0144
+2efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f716
+44e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f9099
+d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d05
+8b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0ef7fb7faef765a8
+f7feae01c0e7f74af194dc95ebf751e703f84af75015f8010a0ed97fa7f744a8f755
+a701addaf70fc88dd68dc8f70fda03f7bff72815f8020a0ef886a0b2a001fc25bdf7
+6fb203fbc8f8d71556635b67729e7e9b9a9b959c1f8b9c7b948b9c8b97949eae8bbe
+8bb54fbf8b08b5a6b1afa87ba173777e7c811f8b69ad908b708b7e7f817c8b678b53
+c7528b080eef89adf7c6aef71fadd3a701f760e0f7b6ea03f7b5f7e615ee06f710ce
+4c314e672ffb34348492ac1ff84c04f7aaadfbaaa806a79a9ab61ea706908e8e901f
+8b9e898c058b298a65622f8c8b1e898a8b7805868f888f1ea806b49b7d6d1f6ffb50
+69f750fc4a07687e7f621e6b06858988861f8b788d89058bdc8dc01ec88b8c89e98b
+f7678bc8e58be18be856c1fb00b16997468d658b0838060e5089aaf752abf724adf7
+6aa8a57701f715daf76eda03f83ef7101539477e57595b95ae1ef725f007d7b46057
+1ffb6ef8d215730676827c877887798864867a8a088d7305888e898e1ead8905a096
+80521ffb242069f6fbd7076e817b671e7206868888861f8b788d89058bd38db61ec1
+8ba889c18b08f70adebedfea22a2271f2ff724f766adfb66060e5589acf78fad73a8
+f70a77f75bad12f3e0f775e813def751f8be15a89aaed3d0d074fb131e8bffffc2b3
+34ffffef4cccffffd74cccffffdfccceffffe84ccc08ffffabe666ff0060b3346c74
+daffffa4800005ffffed8000fffffa3334ffffeab334fffffd4cccffffe7cccc8b08
+13bef7460a36f75e15f7bf0a13dea184a388ae8bff0020cccc8bff001cb334ff0003
+e666a4ff0006ccce08ff00598000ffff984ccca8a6ffffb0b334ff005b333405deff
+00278000ff001c4cccff004e66668bff003ce6668bc664f6fb4d8bffffd9b3338bff
+ffc54ccd84638bffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b3808
+0e3ffb7eacf753adf7fda777b912dbdaf780e113dcf743f7df15a5abff002dcccda9
+ff001d33338bcb8bc2438bfb058bffffd4e666fffff7e666ffffcf3334ffffe8199a
+ffffdb9999082fff006a4ccd6c73ff0060b334ffff90800005ffffeb8000ffffef99
+9a70fffff5e666ffffdccccc8b798b689079ff0010199affffebe6669dfffffc199a
+ff0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff00
+0e4ccc0878b015f7f10a13ec6f807182468289858d7b8d85c18696868b5108fc3f07
+8b3880864e8885858b769185ae8cb08cb38bb38bbb8aac8a91918ba08591448f808f
+8bde08f700078b98ff0003cccdfffffeb333ff000a3333fffffbcccdff00188000ff
+fff6199aff001ee666fffffa6666ff001f999a8bff0026b3348bff0023e666ff0008
+199aabff0011e66608ff004566663ba8a5ffffbdb334ff004c800005ff0002ccccff
+00026666ff0002ccccff00028000ff0002b334ff0002999abab9a6c98bdc0813dcf7
+f30a0e2989acf8d2b36cac12f4e0f791a87da813d4f727f9191513b4f7b80a13d4a3
+9795a31ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff
+0009b334ff00044cccfffffcb334ff00443334fffffbe666ff00266664fffffb999a
+ff001e199c0813d8fffffcccccff008b4ccc0581ff0003b334fffff6b334ffffff19
+98fffff64cccfffffc3334fffffa3334ffffca6668ffffe53332ffffc0e664ffffcf
+8000fffffcccccfffff9ccceffffffe668fffffc4ccc8b8b8b080efb4789acf7fbb2
+6cac12f6daf735ac81a813d4f74ef7c715c492a5ae1ea106dd8ba3529951ff000b19
+9afffffe8000ff00096666ff0001e666ff00088000ff0003999afffffcccccff002a
+e66688ff0024b334fffffc199aff0028cccc0813d8fffff7199aff0084999a05ffff
+f46666ff00049998fffff4e666ffffff3334fffff5b334fffffa3334fffffd6666ff
+ffb633347fffffe9e666ffffd78000fffffb199afffff86666ffffffe666fffff933
+34ffffffe666fffffa80008b08fb120613b4f7e60a0e2989acf794b2f7abb36cac12
+f4e0f7a0a813ecf727f9191513dc8b8b3c8c598c85858b769185d1889c868b3808fb
+593564e1fb39078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f739eeb228f78907
+13ecf7b90a13dcf7ba0a13ecf7bb0a0efb4789acf746b2f722b26cac12f6daf74ca8
+13ecf6f78c153506857e8bfffff2b33391fffff34ccd08e134068b3880884e868585
+8b769185ac8cff00234ccd8cff002bb3338bff002b4ccd8bff0023b3338aab8a9191
+8ba085914e8f808f8bde08e2e307ff00064cccff000d4ccdff00006668ff000e6666
+fffff94cccff000b4ccd0833c606c492a5ae1ea106dd8ba3529951ff000b199affff
+fe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc8000ff002b80
+00fffffa8000ff003580000813dc898d0513ecf7e50a13dcffffd4b333ff00006666
+ffffdd4ccdff0000999a6a8c85858b769185c88796878b38080e89fb40a8f721acf7
+ccaaf77bb36cac12f4e079a2f79ba87ada13f480f8b9e8158bff00edccccffff2eb3
+34ff002a199affff6a4cccff0001199a08f75907a39795a31ef70c0613ed00d68b9b
+59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b334ff00044cccff
+fffbe666ff00544cccfffffa999aff0026e668fffffa8000ff0021cccc0813f48064
+8a3a8a8b8b08fb610613ec808b8b3c8c598c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b28cff003533338cff0025cccd8bff0025cccd8bff00
+3333338ab38a91918ba08591458e7a908bde08f77107ff00968000fffffeb334ff00
+818000ffffcc99988bffff30b3348bfb3d4752408b5b8b6c99769e799c7ea38ba608
+13f28073fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af727
+1f0e37fb7eadf75aacff00a4cccdff00221999ff00a0199ab26cac12f6da40ddf745
+a874d913f500f74eff00e5e66615ff004d199a07c492a5ae1ea106dd8ba3529951ff
+000b199afffffe8000ff00096666ff0001e666ff00088000ff0003999a87c0fffffc
+8000ff002b8000fffffa8000ff003580000813ec80898d0513f480f7e50a13ec80ff
+ffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c88796878b3808
+fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff002b4ccd
+8bff0023b3338aab8a91918ba085914e8f808f8bde08ff0049cccd07ff005c999aff
+fffcccceff00616666ffffd5cccc8bffff51999a8bfb006f47428b0813f280498b81
+b685ac87a37a97748b08747c7c6e60bf50f5f70cccf700f7101f8bff00c5999affff
+604cccff00203333ffff93b334ff00021999080ef7c289acff0124ccccff002a4cce
+ff00dfe666c866ac12f826e0f811a613ecf87bf70e15ff00c9cccc07ff00666668ff
+fffd8000ff00121998ffffddccceff00258000ffff9fe666ff00216668ffffaa999a
+ff001dccccffffbc1999ff00301998ffffe56667a1fffff0b333ff0019199cfffff2
+b333ff00109998ffffec8000a96899618f72ff000b4cccfffffcb33394ff00014ccd
+ff0006b3348f0885f72d05ffffff4ccc9cfffff3b334907a8bfffff94ccc8bfffff7
+8000ff0001ccccfffff63334ff0004b334ffffd93334ff0017199affffe18000ff00
+379999ffffd54cccff006ecccd70d165b6468b089007d7a7a2e194c9ff00043334ff
+001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0a296a8a2
+79a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc199cfffffd
+ccccffffdf1998ffffff999a08ff009ce6660713dcf7da0a13ecf7db0a0ef70389ac
+f746aef710d163ac12f7d0d4f7b3a613ecff029eccccff0024cccc15fffff58000ff
+00014ccefffff38000ff00054cccfffff3e668ff000a3334fffffc3334ff00053332
+fffffc3330ff00066667fffffbe668ff0007cccd085ee00572ba6aa3528b088e07b2
+969cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f51
+8b7055785c75546d65448b08ca0713dcf7e80a13ec78ba70c1518b086a737475779d
+78a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a73
+725c085e36057a6b8183648985858b7691859f8cd58c8b8b9f8c9ca298a608b6e505
+9db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff0027cccc
+8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207cf87a770
+9d6608b63105ff000b199874ff000de668ffffebe666ff00104cccfffff9e667ff00
+0e3334fffff76666ff00156668fffff2cccdff00124cccffffe93334ff0010199877
+ff000b3334ffffe36666ff00078000ffffdc6666ff0009ccccfffffe6666ff0009e6
+68ff0001999aff00074ccc8f0885f72205ffffff800097fffff71998ff0003ccccff
+ffef33348d080e66fb7db1f74daff7bcbcf791ad12cfaaf73ac6d8e34be813fdf70d
+fb3a15a85eb075b48bc08bb6a88bc28bbeffffe2ccccff0037cccdffffce199aff00
+211999ff000a8000ffffff666796ffffffb333ff000b999a8bf7138bf705cb8bf717
+8be0ffffc28000ff004a3334ffff9d8000ff0007cccc08900713fef7dd0a13fdff00
+718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b778b7e7b8b738b
+6a9e78a673ff00106666fffff13333ff0018e667fffff2b333ff002380008208ffff
+fe3333fffffe199a05ca78b0518b488b727271678b6e8b7a9876a2080efb41fb6cb1
+ff00a83333ff0022ccccff00b40001b6f730ae12c7a6f74ad257db4de113fcf710fb
+2f15a95eff002780007bff001c80008bc18bcba48bd48bff002db333ffffe23334ff
+00298000ffffd1b332ff0017b3330813f9ff004ae666ff0009999aff00353334ff00
+22b3338bff0051cccd8bc7ffffe18000b3ffffb9800097088e0713faf7eb0a13f9d5
+99585f50ffffe980006bffffb980001f528bfffff58000a0ffffef8000affffff799
+9aff00126666fffff56666ff000d999a718b798b747c8b7b8b75987ba07bff001780
+00ffffef199aff001e8000ffffec6666d0fffffdb3330813fcbcffffece6679fffff
+ceb3338bffffd033338b727d70668b6e8b749b75a20883fffffe4ccdfffff6b333ff
+fff8b333fffffd4ccd84080ead89acff012be666ff0027199af76fd05fac12f5e0f8
+23a713ecff02484cccff0021b333155aff0003ffffffffefe668ff00186667ffffb9
+ccccff0070e6660841f70b057ba76fa4718bd4a3aee8a1c69bb8a4a0958ba68ba572
+a58b08a0a29da3a27ba8571f2e8bffffd5ccccffffa16668fffff83334ffffe29998
+7d566c4a546cffffe73334fffff2999affffd14cccfffffe8000ffffdc8000ffffff
+e66608f72d0713dc8bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde08ff00d0e66607c0fffffe8000ff00206666ffff
+e53334ff002c999affffb4666608d7fb0c05ff00273334ffffc2199aff0023ccccff
+ffe3e666ab73b36daa729a3c08a78b84f72c05ffffff666899fffffacccc92ffffeb
+1998ff0001b333080e2a89a8f74badf70bd16ca812e5d6f7bfa213ece5d3156e827b
+691e8406868888861f8b788d89058bc38dafb2c5898b1e8d8d8b9e0590878e861e83
+066a819ba81ff71e07ea8b9b65a3509c62ab44bb7db57f9e50915f08a28b86f71a05
+8a9e768d808b668b63e77bb178bc58a0638baf90b1b0a6be96a197a0988b948b9f83
+9f8b08a39b9e9fa17d9c651f698b6c706b4e5d34677d528b0878f7080613dca89598
+ac1e9306908f8e901f8b9e898d058b51896467538d8b1e89898b7805868e88901e92
+06ad947e6e1f0e9689acf7b9b5f774c866ac12f5e0d7b713ecf7cbf70d15ff00a7e6
+66079f76ff000d4cccffffe06667ff0011b334ffffd2b333b6fb02b03ad98a08da8a
+05ff00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff00
+02e666ffffdc6666bbffffc56666ff0098199affffe5ccccff0043e666ffffdb6668
+ff002a999affffbeccccff0002666608ff0007800007ff00473334ff001e3334a1ff
+0053199aff0008ccccff003c4cccff00043334ff001d1998ff0005ccccff0020e668
+a98b988b9386968095819986988b08a0a296a8a279a8561f3c8b6d53814dfffff7e6
+66ffffcdcccc7fffffc76668ffffd3199affffddcccc08f7325fffff4d66660774ff
+fffb199affffe3cccdffffff8000ffffe733338b08f7310713dc8bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+5e07ff0020199a8bff00186666fffffd6666ff001380008508ffff3d999a070e6589
+a8f74badf715d063a812f3d6ceb713ecf7b6d315f71007ff002e3334ffffefe666ff
+000c8000ffffe2cccdff000f4cccffffda4ccd9c62a843bd8a08d48a8d8d8b9e0592
+848c871e8306668b63e77bb177bc64a0558bbe93a5bd9bb195a198a7968b928b958a
+908793879786958b08a09b9d9fa47a9f651f5b8b7254765effffee6666ffffd8cccc
+ffffeb3334ffffd8ccceffffcf6666fffff1e66608ff006880005ffb0248f7060713
+dcb4a18ea68f8f8e901e8b9e898d058b54896467478d8b1e89898b7805868e88901e
+9e06ad947b6f1ffbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c489
+8b1e8d8d8b9e0590878e87786b8eb21ef72107ff001a4ccdffffffcccdff00161999
+fffffe9999ff0012999afffffd800008ffff7a199a070e9689acf7b9b5f70db2cbc8
+66ac12f5e013f4f753f70e15f75e07f7068b9d6ab227b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6666bbffffc56666ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506b737d608a678b08f70decb22a0713
+ecff00006666ff00501998ff00118000ff0004e668ff0045199a8e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185ff
+0045199a88ff00118000fffffb1998ff00006666ffffafe668083264e4fc01068b38
+7a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066
+668ab88a91918ba0859108458e7a908bde080efb0889a8ff00b64ccdff0022b333f7
+15d0afad01f3ff004a666603f746d015ff00004ccdff008c4ccd05ff004b199affff
+fa6667ff00138000ffffdb8000ff0015199affffc9cccd9c62a843bd8a08d48a8d8d
+8b9e0592848c871e8306668b63e77cb176bc64a0558bbe93a5bd9bb195a198a7968b
+938b948a918792879786958b08a09c9d9fa4799f651f5b8b7254775e75ffffcf199a
+ffffe4199affffcf1999ffffb04cccffffffcccd08ff00008000f77eff009c199a8b
+8badffff64199a8b05ff0001b333ff00321998ff0012b333ff0038199cff00418000
+ff0028cccc087ca005416574627f6f81a772b841ad087c7605ff00426666ffffd733
+34ff0012cccdffffc7e664ff0001b333ffffcde66808ffffb4199a69d7fc2a066d82
+7c691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e
+83066a8098a81f0ef73189a8ff0136e666ff002b199af764ca5fb16fa712f795db13
+e4f97989158d8d8b9e0590878e861e8106678b53d850f71870c76fc9468bd8a4aee6
+a0c595a7a5a8978b998b9886988498849885988b08a0a29da3a27ba2571f358b6d57
+73517658724c526bffffe7999afffff2e666ffffd2999afffffe4cceffffdcccccff
+ffffcccc08f7550713cca7999bb41ea506908e8e901f8b9e898c058b2e8a671effff
+ef199a8bffffe63333ff00003334ffffe83333ff000033340813d4ffffff8000ff00
+009998518b0513ccfb1d8b79fb3b9c8b0595a898a99da90813d4959e9fa0ac8b08ff
+006b999a06ff00096666fffff8cccc8ffffff4b3348bfffff0800008fc8b076f7d7b
+621e7106868888861f8b788d89058be88dafb2e2898b1e8d8d8b9e0590878e861e71
+06647b99a91fff010ae66607ff0076b334fffffde666ff00111998ffffc74cceff00
+293334ffff9ce666b7fb00a943db8a080e7089a8ff00b6199aff0022e666f715d062
+a912a39cf724d613ecf798d015ff008c199a07ff004a8000fffffa1999ff0012999a
+ffffdb999aff0015e666ffffca33339c62a843bd8a08d38a8e8d8b9e0592848c871e
+8306668b63e77bb177bc64a0558bbe93a5bd9bb194a199a7958b938b948a91879387
+9786958b08a09b9d9fa47a9f651f5b8b7254765effffea3334ffffcf6666ffffe533
+32ffffcf6667ffffb0999affffff333308f70807a89598ac1e93068f8f8e901f8b9e
+0513dc898d058b5289641efffff14ccd8bffffebcccdff00004cccffffed6666ff00
+00666808ffffe38000ff00014ccc758b408b79fb1a9c8b05a5f0a98cc18d08ff0003
+999aff0000199a05ff0017b333fffffc4cccff0006b333fffff0ccce8bffffe7cccc
+08fbb5076f827d691e7806868888861f8b788d89058bcf8dafb2c4898b1e8d8d8b9e
+0590878e871e83066a8199a71f0ef489a8f7bdb2f793a701f5dcf7dbdbbfa703f894
+16e98baa29946008a78b84f72605987d92841e7b066c8696af1ff88a07a7999bb41e
+a506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901ea506b3
+9a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e8a676434
+8c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e700687888886
+1f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c99aa1ff790
+f7dbfb90076f7d7a621e7106868888861f8b788d89058bbf8dac1e0e6989a8f74dad
+f730a801f3d5f761d6c59f03f85ed515f7ac07b49192ad1ea4068f8d8d8e1f8ba18a
+8dfb0589298d8a898b7505878d8a8e1ea006af9082641ffb00fb61f70107b49291ad
+1e9f068f8d8d8f1f8ba08a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651f
+fbac078b658682678a087106888989881f8b758c89f28df700898c8d8ba0058f898d
+871e7706698c84928bb308f71df761fb1e07648783661e7606888989871f8b768d89
+cd8c05f38ba1259172089f8b86f71b059784937d1e7b066b8797ae1f0ef7b489acf7
+b6b5f787b46aac12f5e0f7eae0f77ba813eef8fef70e15f825078bff001a4cccff00
+01b334ff00126668ff00049998ff000d1998ff0008199c9fff000eb330ff00053334
+ff0019e6688bff00634ccc8bff0037999cffffe21998ff00151998ffffa0e66895ff
+fffe4cccff00094cccff00014cceff0009b334ff000466660813defffffbe668ff00
+364cccfffff99998ff00364cccfffff78000ff003566680813eefb2e06fffff03334
+8bffffef6664ffffff6668ffffef3334ffffff8000ffffe3b334ffffff8000ffffe3
+3334ffffff9998ffffe84ccc8b0813deffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00254ccc8bff002fb3348ab78a91918ba0859108458e7a908bde08
+0ef71589acf746acf729b36aac12f6daf76adaf764a513def885f8421589ffffff4c
+cc05ffffec33348bffffec8000ffffffb334ffffef4ccc8b6f8b638c648c85858b76
+9185c88792878b38084afb6acc078bde928ec89091918ba08591658affffd9cccd8a
+ffffe033338bffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb
+4d078b3880884e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8b
+ff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34078b3884884e868585
+8b769185af8cff002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a9191
+8ba085914e8f808f8bde08f74d0713ee8bff00383334ff0005199aff00138000ff00
+16199aff00084ccc08ff0046cccc06cd8ba7569b4308a58f0513de77f7350513ee28
+8b608b858b050ef806fb40a8f721acf7ccaaf77bb36cac12f3e0f7b5e078a2f7a7da
+13ee80fa2de8158bff00ed4cccffff308000ff002a8000ffff698000ff0001333408
+f729078bde9c90d18e91918ba085910813f680598a578a708b08fc0b0613ee80f7bc
+0a13f680c9a197a31ef75906a3a17f4d1ffc2d078b387a86458885858b769185b18c
+ff0036999a8cff002466668bff0026b3348bff00354ccc8ab18a91918ba08591458e
+7a908bde08f77107f72afffffe8000f715ffffcc4ccc8bffff3133348bfb3d475240
+8b5b8b6c99769e799c7ea38ba60813ed8073fb2ca2068b908ca88d908c8e9191958b
+9a8ba271dd8b08f711e4f70af7271f0ef754fb7eadf75aacff00a3cccdff00229999
+ff00a0999ab26cac12f705daf756de44daf743d813f580f849f84115fbb00613ed80
+f7f00a13f580aa8e9fb21ef70d06b09180631ffb6d078b398186578786858b769085
+a48cb08cb38bb38bb88aa78a90918ba086914a8f82908bdd08ff0048cccd07ff0057
+b334fffff88001ff00574cccffffd119998bffff5b999a8bfb006e47428b0813ee80
+498b82b685ac87a37a97738b08747c7c6e60bf50f5f70cccf700f7101f13ed808bff
+00bb999affff6e9998ff0026ccccffff9566689008ff004d999a078bdd9890c28f91
+918ba08591086d8a658a638b080edcfb28b3f894b1f746b201ade7f722e0f758d89d
+a203f8bafb0015ffffbb33348bffffd23332ff002ae666ffffe2199aff0037199aff
+007d1998ff000db333ff005f6668ff0052e6678bff008a666608f362f705fb1dfb15
+58fb02fb1c1e8bffffd46666ff0008e666ffffc18000ff00183334ffffc43334ffff
+7eb333ff00208000ffffd23333ff007e19998bff008b4ccd8bf712dcf73af70a8bb0
+8bad88a7579b6e997ca58ba18b979f8b9f088ba17aa0759c729f619d4c8bfb338bfb
+2cfb298bfb498bffff3ee666ff00623333ffff80999aff00bbb333ffffedcccdff00
+296666ffffb44ccdff00463334ffffc16666ff007180008b08cc069d9b797a1fa28d
+05899e89a98b9e8ba68da68da708768d05647f63371effff5f999aff0083b33315ff
+ffe38000ff0045b332fffff7e666ff004e33348bff0023666608f713add1c8dc9f42
+fb0f1e8bffff89999affff9c199affffc84cccffffc48000fffff5cccd080e65fb08
+a7f7fba5f710a701aedaebd5f732d19ba103f84f3315ffffc5e6668bffffda999aff
+001de666ffffe84cccff00266667ff0068999aff00093333ff0053999aff003a199a
+8bff0066666608df57ca292a5444261e8bffffe1cccdff0006b333ffffd51999ff00
+12e667ffffd6b334ffff9d6666ff001b999974ff0061999a8bff005833338bd6c1f7
+0eea8bab8ba889a46799779781a18b9f8b95988b99088b9a7c9a799775996598558b
+fb1b8bfb02268bfb138bfb1cff004ae666ffffa6b333ff008d999afffff16667ff00
+21999affffcaccccff0039e666ffffd4199aea8b08c4069b9c6c7f1fa88d05899886
+b28b998b9d8cad8d9e08708c05708161421effff7c6666ff005b999a15ffffe9999a
+ff0030e66686c28bff0018800008daa6c7becc9a563c1e8bfffface666ffffc4b334
+ffffd18000ffffb8b332fffffa3334080ebefb7db1f74db4f8e2b001b0e6f77ec6f7
+25ac03f76ffb3a15a85eaf75b48bc18bb5a88bc28bff0032b333ffffe33334ff0037
+4ccdffffceb332ff00213333ff0004999affffffe667ff0004ccccffffffe666ff00
+04b3348bec8be4b9cfe486948491808b08443d476c2e8bffff7966668bffffa2999a
+f72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff002ce666ff0031
+999ac8c5a7bf8bf71e8bc239a5359787ff0009b3348eff000b4ccc910886bf84bb81
+c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd86666ffff9e1998
+8bffff97b3348bffff6d999aff004a8000ffff814cccff0097e666ffffdb999a08ff
+ffff999affffff800005c978b0518b488b727371678b6d8b7b9875a2080efb3bfb79
+b2f8e8ac12b0e1f73cc661e213f0f728fb3515a85eb074b48bc18bb4aa8bcb8bff00
+404ccdffffe6b334ff002a3333ffffd3b332ff0016199aff0029e666ff00098000ff
+0026b334ff001a3333b0ff003cb3338794838f828c695f6075608b08424ed5f709f7
+02bbcdcd1f13e8c68b93688f688e709982a08b08a0a798aac252b32b282132fb221f
+8bffff83e666ff0042b333ffffa8e667ff00753333fffff999990813f0ff0031999a
+fffff2cccdff00148000ffffdf4ccd8bffffb880008b727465668b6d8b7c9974a208
+0e6a89a8f8d0b201f786dcc0a603f7d6d615f87607ac9794af1eda06c28b9c80a03b
+08a2906af72f7185057b8a837c1efc40067b8a939b1f71916afb2fa386059fdb9c96
+c28b08e606af98826c1ffc7b076f7d7a621e7106868888861f8b788d89d68b05ec8b
+ae47994408a68b84f725058a977e93848b087a066a889faa1f0efb2989a8f7ffb298
+7712a69ff71dd6c2a1ca9f13bef797d715f7cdd207c68b85829b40089ff71d067188
+0513de8685867d1efbc0067c8690901f13be728e8afb1d9f8b0513de9fd78294bc8b
+08d8fbd0068b648684688a086206878989871f74e307ee8ba339917108a18b88f708
+058a998192818b087a066c8698af1f0e7789acf8dbac01f790e003f7e5f70e156f0a
+0e76fb7aa8f8efa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89
+058bce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81f8bf731f729f7fa
+0597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e3c8d8b1e8a898b7705
+888c87901ea806a08f88811f8b85887d878208fb13fbccfb16f7cc05869587988b91
+0894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d8b1e8a898b77058592
+8a8e1e9706998b9589908898839579917e08f734fc06050e7789acf747b3f800ac01
+f790e003f7e5f70e15e3f72fb3fb2fff0007b334078bff001dccccff0001199aff00
+10e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff00164ccc94
+ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b769185
+ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb65
+0583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00cccccc
+05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b648b6a
+8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5e66808ff00
+834ccdfb7105ff00116666ffffe2ccccff00038000fffff56668ff0000199affffdb
+cccc08fb3663f73633068b387a863b8885858b769185bc8cff003466668cff002699
+9a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080e76fb7aa8
+f75db2f7ffa801f78ed603f78efb31156e827c6a1e7706878888861f8b788d89058b
+ce8dafb2d0898b1e8d8d8b9e0590878e861e78066a819aa81ff731f744b2ffff6033
+3407ff0084ccccf7d30597a79a9ba98b08a106918e8d911f8b9e8a8d058b3c89827e
+3c8d8b1e8a898b7705888c87901ea806a08f88811f8b85887d878208fb13fbccfb16
+f7cc05869587988b910894918f9e1ea8068f8d8f8f1f8b9e8a8d058b2489857e2e8d
+8b1e8a898b770585928a8e1e9706998b9589908898839579917e08ff0089e666fbd3
+ffff60199a8b8b64ff00b0cccd8bff000533337f050ebd89a8f8e3a601f7a8e8f792
+a603f89d8c15cf8ba526936208a68b86f72805968794741e7d8b7a9e72ad08fb45f7
+7c05819885958b958b948f94949708f720f75205acb8a293a78b089c06938c8f8e1f
+8b9f888c057a8b408a868b808b488c768b08898a8b7705868e898f1ea90699928882
+1f8b84867e817d08fb15fb430585838787888b888b878f869208fb11f74405819983
+988b930892918f9c1eb3068e8d8d901f9f078a878c8b1f6d8b2f8a868b808b4b8c71
+8b08868a8b770585928a901e8d06ab8b9a79a26c08f73ffb7505948090828b818b85
+8883848208fb2efb6605746b7075678b087f06858689861f8b778c89058bda8d909a
+ec898b1e8e8d8b9f058b8e8a8e868c087806788193961f8b939095949808f718f749
+05929490908e8b8f8b8f88918308f71cfb5005967c937f8b8408838387731e730688
+8888871f8b778e89058bcd8eae1e0efb0889a8f80ba801f7ea8a15e08b9d44975308
+9f8b86f71b058a9985917d8b087a06798b858e6cb70823f727058a8e8a8d8b8d8b8c
+8b8d8d8d08e8f70e05a6b09b95ab8b088f0692908c921f8b9e8a8d058b5a896b6d5b
+8d8b1e88888b7805868e898f1e9a069d8e89831f8b8589827d7708482f0588868888
+898b898b898e8791084ee7057f9c87958b9008928e909f1e9b068f8e8e901f8b9d88
+8efb0289378d89888b7805879188911e8e06ad8b9c7a9f6d08effb26058d888c898b
+898b898a898989082ffb0e05746d7b7a6d8b088206828787851f8b7a8d89058bba8d
+a8acbf898b1e8c8d8b9e0590898e861e7e067a848d941f8b908f93989f08cce7058e
+8f8e8f8d8b8d8b8d898e8608c63b05a16890828b8708848689791e8006858988861f
+8b788d89058bb38ca51e0ef7a08aa871aef8d5b268a71295a294a6f749dcf73da595
+a2f70bdcbea5138fe0f78ef8d015fc85078b6385856a8a087106868786861f8b7a8d
+8905134fe0f7008ec78b05f723f7468a8b1ff08ba6449a4408a58b87f72905139fe0
+997d91841e7a066a899daa1ff883078bac8d97af8c08a9068f8d8d8e1f8ba1888cfb
+088afb008c898a8b7505878d8a8e1ea906b18a8c7e8b6b08fc7d07136fe06b887d67
+1efba1066c8390b41ff87d07ac9794af1ecb06c38b9c809f3b08a2906af730718405
+838b7b7b1efc23067b8b9a941f70926bfb30a286059fdb9c96c28b08d806af97806c
+1f0ef7128bb264a7f80ab264a812ad9f78a5f713d6f723a0f70bd6c4a01367c0f7c1
+f82515af06c68b85829b4008a0f71f067087058585867d1efbbf067b8790911f718f
+05136bc08afb1f9f8b059fd78294bd8b08ab06af9082651ffbb007648687671e7b06
+888989871f8b768d89e88cf7da8b05f5a424721fa08b87f71b058a998192818b087a
+066c8697af1ff7aa071397c0b49292ad1ea4068f8d8d8e1f8ba1898dfb0489298d89
+898b7505878d8a8f1ea006ae9082641ffb9e0769887c661efb5f06688697b01ff79f
+07b49390a91e0eb28aa6f76bc5f7d4a601ecdcf7a3dbc1a603f8a5d515f88b07b091
+90ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1ea906af8f84681ffb
+72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d8c8f1f8ba0fb008a
+fb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf7061ec58bc893dbdc08
+fb950769877e671e6406878a89881f75d307e78bb651963908a68b84f726058a9a7e
+90848b087a066a889daa1f0e3c8aa8f702aff778a801e1d6f752d5c59f03f83dd715
+f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b7505878d8a8e1e
+9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad1e9a068f8d8d
+8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a073da141ef1e
+c08bc199afbe08fb1307648682671e7b06878989871f8b768d89c98b05eb8ba53d94
+5a089f8b87f71b05998092811e7a066c8697af1f0eb289acf76fff003ab334ffffcc
+ccccff0033999aff0130e666ac12f1e0e8b8f714e013bef7d9f71315ff0082800007
+ff0027e666ff0008e666ff002b199aff0011999ab8ff001ee66608ffff3f199a078b
+387a86458885858b769185b28cff00374ccc8cff0023b3348bff002419988bff0035
+e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918ba0859165
+8affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b769185d1
+889c868b3808fb3e07ffffd0199affffe0ccccffffd08000fffff63334ffffdf6666
+fffffd199a08ff00cde6665e0713deffff31b334074fff0004b3326aff001d199a8b
+ff004a800008f5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb3338b
+678b568c638c85858b769185d1889c868b38082c0728b43cf7061eff000780008bff
+0007b334ff00003333ff0007ccccff0000999a08ffff843333070e3c89acf1b8f770
+ac01dfd9d3b7d5db03f7aade15ff0045333307ff001b999aff000cffffff00188000
+ff0011cccdff0015e6669b083e078b3880884e8685858b769185ac8cae8cb78bb68b
+b08aab8a91918ba085914e8f808f8bde08f74d078bde968ec89091918ba08591698a
+698a5f8b648b638c748c85858b769185be8796878b38084307ffffe98000ffffec33
+33ffffe8b334ffffed8000ffffe3ccccfffff5b33308ff0081999a5fffff76199a07
+fffffeb3338bfffffe999affffffe666fffffeb3338b084a88add91f9c078bde968e
+be9091918ba08591738a658a638b608b698c6a8c85858b769185c88796878b380860
+072da066e81eff000c80008b97ff00016666ff000b8000ff0002800008ffffca199a
+070eca8aa8f803b9f745a701f5dcf7bddc03f74ff7d415d1bdd6a4aa8b08d7b8633a
+1ffb5e076e827c661e7e06868888861f8b788d89058bcc8db2b5d5898b1e8e8d8b9e
+0590868e861e760668809aa81ff76607f25cc3271e4c8b41742d5408f76707a7999b
+b41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea6
+06b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3da898b
+1e8d8d8b9e0590878e871e7806637c98a91f0e578aa8f7a5bac1a801f1d6f764d603
+f745d315f73107ff002f999aff002e6666ff002a999aff0019999aff001ccccc8b08
+c3ac783a1ffb15076e827c691e7806868888861f8b788d89058bcf8dafb2cf898b1e
+8d8d8b9e0590878e871e78066a819aa81ff70a07f25cc2421effffd933348bffffc6
+6666fffff13334ffffbd6666ffffbdcccc08e607a7949bad1e9a06908e8e901f8b9e
+898d058b4b896764478d8b1e89898b7805868f888f1e9e06ac957b6f1ffbb2076e82
+7c691e7806868888861f8b788d89058bcf8dafb2cc898b1e8d8d8b9e0590878e861e
+7c066a819aa81f0ef7687fadf800b7ffffdfe666ff002bb334ff0065e666ff003fe6
+68ff00109998ad12ff000a999aff00284ccdff00761999e5ffffb6999aff0056b332
+13def953f70e1556584e5a2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7
+223af716fb548b0813bdf80d0a13defffffbb333ffffe6e666fffffdcccdffffe599
+9a8bffffe4999a8bfb32ebfb41f76b8bf7028bc4b0dad4085bf7e015fffe7db33406
+13bdf80e0a0e4e81bcf766ff00273334ff005accccc46bac12a5afdcdfffffb9999a
+ff004a8000ff00c2e666e113ddf880e81566656e7b518b678b61a06cbe77ac7fb98b
+c508f79e890597929196df6de5fb1f1f13ebf80f0a13ddfffffd8001fffff13333ff
+fffeb333fffff04ccd8bffffef80008b539955ac65ad63ba73d38bd78bc1aeb3bf08
+889585907f8c0813dbfffefb199af75715f8100a0ef768fb65b1f733adf800b7ffff
+dfe666ff002bb334ff0065e666ff003fe668ff00109998ad12ff000a999aff00284c
+cdff00761999e5ffffb6999aff0056b332ff00d0b334c713ef40f940fb22157b9205
+75757b7d6e8b668b74a58ba58bff003d4ccdff00243334ff00289999c1ff00298000
+ff001f80009dff001d9998ff00188000ff0021b334ff001f199a0874a30556584e5a
+2e8bfb1b8b25f7218bf74e8b988b988c9608f8860680f7223af716fb548b0813dec0
+f80d0a13ef40fffffbb333ffffe6e666fffffdcccdffffe5999a8bffffe4999a8bfb
+32ebfb41f76b8bff0019199a8bff00164cce8dff00148000ff0003cccdffffda3332
+ffffdd4ccdffffe2e666ffffd619998bffffd5cccd8b54b56ec18b08b48bb0a1a8b8
+0885f8d015fffe7db3340613dec0f80e0a0e55fb4db1f71dbcf766ff00273334ff00
+5accccc46bac12a5afdcdfffffb9999aff004a8000ff0040e666c9cfe113eec0f882
+fb0c158792858f828b75757b7b6e8b668b7ea08ba58bff00273334ff0018b334ff00
+1cffffff002d9998ff00273333ff0021e668ff000f3334ff001bb332ff00186666ff
+0017199aa9889585907f8c0866656e7b518b678b61a06cbe77ac7fb98bc508f79e89
+0597929196df6de5fb1f1f13f5c0f80f0a13eec0fffffd8001fffff13333fffffeb3
+33fffff04ccd8bffffef80008b539955ac65ad63ba73d38b918bff0005e666ff0000
+3333ff0005b334ff0000666764ffffdf8000ffffe66666ffffde4ccc8bffffdc999a
+8b55b177bd8b08b48bb39fa8b80813edc0fffef9199af82c15f8100a0efbbe89acf8
+dbac01f5e003f753f70e15590a0ef7ba89acff0124ccccff002a4cceff00dfe666c8
+66acbeaa12f7c4d1a7e089d013cdf841f96d15f7d70a13eec5fcf315f7d90a13def7
+da0a13eef7db0a0ef70389acf746aef710d163acc9aa12f76dd4abd482d413cdf85f
+f8d815f7ee0afbecfcd8159f8c9ca298a608b6e50513ee9db0a7a6cf8f0834078b38
+7f88588685858b769185a28cff002533348cff0027cccc8bff002766668bff002599
+9a8aa18a91918ba08591588f7f8f8bde08e207cf87a7709d6608b6310598709c749f
+8a8b8bd58a9f8a91918ba08591648d81937aab085ee00572ba6aa3528b088e07b296
+9cae9ab397aa979ea08b948b9388918791879688988b08a19d9e9fa173a26a1f518b
+7055785c75546d65448b08ca0713def7e80a13ee78ba70c1518b086a737475779d78
+a11f988b968e918f918f938e948ba08b9778976c9a639c68b280088807528b6a7372
+5c085e36057a6b8183648985858b7691859f8cd58c8b8b080e94fb40a8f722a8f7ca
+b6f764ca69a712f5dc7ca2f7b0da13f5f8c2e8158bff00ac3334ffff8d999aff0043
+1998fb0cff00183334ffffff3332ff00003334ffffff199aff00001998fffffee666
+ff00003334fffffa999aff0001199afffffa999a8cfffffa999aff0000e666ff0049
+199aff001b8000ff0020ccccff0057e666ff00158000ff0038999a95a7a5a8978b98
+8b998698840897849885998b08a0a29da3a27ba2561f368b6d5773517658724c526b
+ffffe7cccc7effffd3199afffffe3334ffffdc199affffffcccc08f7550713eda799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f888f1e
+a606b29a7d6d1ffc8b076f7e7c621e7006878888861f8b788d89058be88daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c98a91ff79f07ff0097e666ffffff6666ff00
+8c199affffd233348bffff2f66668bfb3d3e52408b5b8b6c99769e799c7ea38ba608
+13f373fb2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712edf70af7271f
+0e49fb7eadf75ba8f73bbcf70bd16ca812f3d64bddf75dd813f3ff00f8b333f77515
+ff0003e666ff0000cccdff0003ccccff00009999ff0003999aff0000999aae91b2af
+a6be96a196a0988b948ba0839e8b08a39b9e9fa17e9c651f698b6c706a4e5e34677d
+518b0813ed79f70806a89598ac1e93068f8f8e901f8b9e898d058b52896467478d8b
+1e89898b7805868e88901e9e06ad947b6f1ffbb5076f827e691e7806868888861f8b
+788d89058bcf8dafb2c4898b1e8d8d8b9e0590878e871e83066a8198a71ff71207ff
+005ee666ffffffb333ff007c199affffdab3338bffff4a999a8bfb005d47428b0813
+f3498b81b685ac87a37a97748b08747c7c6e60bf50f5f70cddf700f7101f8bff00a4
+199affff85e666ff0031e666ffff97cccd98080ef70afb55a8f737a8f7bcb2f793a7
+01f5dca9a2f7a6db03f896d215fb3d4849401e5b8b6b99779e799c7ea38ba60873fb
+2ca2068b908ca88d908c8e9191958b9a8ba171dd8b08f712e4f70af7271ff88a07a7
+999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f8890
+1ea506b39a7d6d1ffb67fbdbf76707a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7b621e7006
+878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e7106637c98
+aa1ff790f7db070e69fb59adf736a8f74cadf730a812f3d545def754d613f6f813d5
+15fb086cfb0d3b1e4a8b81b585ad87a37a96738b08757b7d6e5fbf51f6f722bcf70d
+f72a1ff7ac07b49192ad1ea4068f8d8d8e1f8ba18a8dfb0589298d8a898b7505878d
+8a8e1ea006af9082641ffb000713fafb61f70106b49291ad1e9f068f8d8d8f1f8ba0
+8a8dfb0088248e8a898b7505878d8a8e1ea506ae9182651ffbac078b658683678a08
+7106888989881f8b758c89f28df700898c8d8ba0058f898d871e7706698c84918bb3
+08f71df761070ef71b89acf7b6b5f78fac01f5e0f7eae003f8fef70e15f825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918ba08591
+458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe6688c
+ff002519988bff00134ccc8ba1ffffffb333ff0016e668ffffff999a08ffffc8cccc
+ffff84b333b68bff0036ccccff007a800005ff00078000ffffffcccdff00076668ff
+ffffe666ff00074cccffffffcccd91918ba08591458e7a908bde080e6689acf746ac
+f730ac01f6daf76ada03f873f7c7158bde968ec89091918ba0859168895f8b6a8b6f
+8b638c648c85858b769185c88792878b38084afb6acc078bde928ec89091918ba085
+91658affffd9cccd8affffe033338bffffe266668bffffd6999a8c638c85858b7691
+85c88796878b3808fb4d078b3880884e8685858b769185b38cff002833338cff001f
+cccd8bff001fcccd8bff002733338aaf8a91918ba085914e8f848f8bde08e2f76a34
+078b3884884e8685858b769185af8cff002533348cff0022cccc8bff000e199a8bff
+00108000ffffffcccdff0011999affffffb33308ffffc8ccccffff848000b78bc1ff
+007a800005ff0006b334ffffffcccdff0006b334ffffffe666ff00069998ffffffcc
+cd91918ba085914e8f808f8bde080eb28aa6f76bc5f7d4a601ecdcf753a6c0db03f8
+a5d415f88c07b09190ad1ea8068f8d8d8f1f8ba0fb0789fb068d8b7505888c898e1e
+a906af8f84681ffb72074e5548896e8b084361a6dd1ff73e07aa8d96b51e9c068f8d
+8c8f1f8ba0fb008afb008c8b7605888d89901e9c06b29084681ffb3a0730b23bf706
+1ec58bc893dbdc08fb94076f86766c1e7a06857d867c1f84fb26a68b0597ddb5c5e6
+8b08d3a1068e8a8d871e6406678798ad1f0e3c8aa8f702aff778a801e1d6f703a1c4
+d503f83dd715f7aa07b49292ad1ea4068f8d8d8e1f8ba18a8dfb05892f8d89898b75
+05878d8a8e1e9b06af9082641ffb11076c676878548b084e83b7cf1fd507ab9295ad
+1e9a068f8d8d8f1f8ba0898d2588368e8a898b7505878d8a8e1e9306ae9082651f4a
+073da141ef1ec08bc199afbe08fb130767867f6b1e7b068180847d1f86fb1ba18b05
+94c69fcff08b08c98b8d8d8ba0058f898d871e7b06678694b21f0eef89acf766b5f8
+0b77c7aa01f77ed1f703d003f7fbf96d15f7d70a2bfc52154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80baccbaa12afde4bd85fd4ebd466d9133300f7def8e215f7ee0a13
+788066fbf915750adafb381513b480760a137880770a0eef89acf766b5f80b77d4ea
+01f777e9d6e903f777f98a15950af73d16950afb19fc6f154a0afbb1fb60154b0a0e
+fb1e81bb5bb4f80bace4ea12afde4bd85ae9d6e956d9133200def8d315d80a133100
+f73d16d80a137880b4fbea15750adafb381513b480760a137880770a0ef7a289ac6c
+b2f777b29db1f788b36cac12f841dff74aacb2ac9bae1333c0f7a3f7c515bb0afb4b
+0413b3c0bc0a1373c0bd0a13b3c0f7560a137bc0bf0a13b7c0c00a1373c0c10a13b3
+c0c20a0ee781bc5ab5f74baef730ac12b2d34ed4f743d4f75dd7137bf79df81415db
+0a13b7dc0aacfb3d15dd0a137bde0ad5b115df0a0e6589ac6cb2f7b0b1f788b36cac
+beaa12f4e062d1f703d070acb2ac9bae1325b0f7a6f96d15f7d70a92fc0415133670
+530a13ae70540a136670550a13a670c50a137670c60a0efb2881bcf765adf70eaccd
+aa12b0df79d4ebd472e113f6f7edf8e215f7ee0afb71fbc815e20a13f1e30adcfb54
+15e40a13f9e50a0ebc7fadf756b7f800ad01f89de503ecf89f15f73e0abbfbdf15f7
+3f0a0efb2882acf70eadf765bc01a1e1f758e203f7c4f72615f7540a3af75415f755
+0a0ebc7fadf756b7f800adc0eb01f74bebe8ebc0e503f808f98b15b70afb5116b70a
+35fb8015f73e0abbfbdf15f73f0a0efb2882acf70eadf765bce3ea12a1e172e9d6e9
+61e213f4def8d115d80a13f2f73d16d80a13f9bffc3f15f7540a3af75415f7550a0e
+f7ba89acff0124ccccff002a4cceff00dfe666c866acc4ea12f7bee995e077e913cc
+f7bef98315d80a13cdf73d16d80a13ee9ffd0915f7d90a13def7da0a13eef7db0a0e
+f70389acf746aef710d163acebea12f75be9a2d476e913eef70116f7e70a13def7e8
+0a13eef7e90ae5f8d215950a13cdf73d16d80a0e6681aff7bcbcf791adbeea12cfaa
+afe9d6e98ee34be813fe80b7f70715f7dc0a13ff00f7dd0a13fe80f7de0ae6f91515
+950af73d16950a0efb3381aef748b6f730aee2ea12c7a67ae9d6e95edb4de113f080
+b6de15f7ea0a13f900f7eb0a13f080f7ec0a13f400a6f87e15d80a13f200f73d16d8
+0a0e98fb67b0f99fb301cba5f815e403f73bf91915f74b0a0efb47fb7faef7c3adf7
+96ad12b3a573d7f756dc13ecf713f6159c7c059d8fa992968b08d9aa6326fb004655
+591f638b70b183a183a37e95748b08758179796bc54ee0f70fe0e9f70bf53ac02b1f
+f72bf78e059ba691968b8f8b8f858d848b898b67856e8b08fb5f067c8b8292899108
+720613f4f75c0a0ef70789acf8dbaccdbd01f5e0f7d6e003f8eaf70e15f7d60afb21
+f8e315f40a0e8289acf803ace2bd01f704daf760da03f75aca15f7ed0aff002be666
+ff008f800015f40a0ef70789acf8dbaccceb01f5e09aebe8eba1e003f81ff98c15b7
+0afb5116b70af81cfd1215f7d60a0e8289acf803acebea12f704da72e9d6e969da13
+f2f75aca15f7ed0a13e8ffff43e666ff00c7800015d80a13e4f73d16d80a0ef681af
+f8e8afc0eb01b0ebd2ebe8ebdceb03f81df98b15b70afb5116b70af713fb1d15640a
+f7e3fbb915650a0e3081aef80faee4ea12b4e185e9d6e984e113e8f70df8d315d80a
+13e4f73d16d80a13f2fb8dfc0615ed0af759f75b158b0a0ef681aff784c480c5f790
+af12b0ebf849eb13dcf7dff90215f8040a13bcf8050af7e3fbb915650a2bfffff24c
+cc15f8060a13dcf8070a0e3081aef72ebd75b5f72fae12b4e1f78ee1139cb4f76115
+ed0af759f75b15f8110a13dcf8120a13bcf8130aff008a4cccffff3e333315f8140a
+13dcf8150a0ef681aff784c480c5f790afc2eb12b0ebcfebe8ebdfeb139f80f81af9
+8d15b60afb5116b70af716fb1f15ff007933348bff00641998ffffa34cccff000f99
+9cffff5466680813df80ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cc
+cc8b0813bf80f8050af7e3fbb915650a2bfffff24ccc15f8060a13df80f8070a0e30
+81aef72ebd75b5f72faee2ea12b4e180e9d6e989e1139c80b4f76115ed0af759f75b
+15f8110a13dc00f8120a13bc00f8130a139a00fb0ef73d15d80a139900f73d16d80a
+ff005b4cccfffe9533341513b880f8140a13d880f8150a0ea681aef79ebd79c3f786
+b0c0eb12b9e637a9c2ebe8ebd6e21399c0f7dbf98b15b60afb5116b70af719fd9515
+f76beef72af74df765fb0cf710fb3a1ffb138b636152880813bbc08755835a815708
+a98705a5e1c4dcf71e8b08daf70741fb691f8a8a054ead49977e8b0813ddc0f7e30a
+13bdc0ce8ba8abc58bb18ba884ac7c81fb3243fb0afb288b3f8b63ad7db37eb07ca6
+6e8b087282787741f7144fec1f0efb2181aef737b379b9f728aee2ea12badb42a58e
+e9d6e97de113dc40badd15f7fa0a13da40f7fb0a13bc40f7fc0a13dc40f7fd0a13bc
+40f7fe0a13da00f7ff0a139900aff87f15d80a139880f73d16d80a0e8675c9f8d2ac
+cdbd01ff00688000f89f15f7d80aff01358000f75215f40a0e3bfb7cdbf8baace2bd
+01f760fb3415910af73ff93a15f40a0e8675c9f8d2accceb01f741ebe8eb03f7fef9
+8c15b70afb5116b70affffbb8000fb8115f7d80a0e3bfb7cdbf8baaceaea01f729e9
+d6e903f760fb3415910a54f97115950af73d16950a0e8675c9f8d2acce7601f86bf9
+af15f71f0afb179015f7200affff148000fba915f7d80a0e3bfb7cdbf8baacf77276
+01f760fb3415910af796f99b15f7210afb189115f7220a0ec289acf76fc5f7c6accc
+eb12f1e08debe8eb76e013fef80ef98c15b60afb5116b70a34fb81152c0728b43cf7
+061e13fdff003933348bff0042e666ff000f8000ff0047e666ff0031666608ffff3f
+199a078b387a86458885858b769185b28cff00374ccc8cff0023b3348bff00241998
+8bff0035e6688ab28a91918ba08591458e7a908bde08f825078bde9c90d18e91918b
+a08591658affffc8b3348affffdb4ccc8bffffdc4ccc8bffffc8b3348c658c85858b
+769185d1889c868b3808fb3e074cffffd6e666ffffc18000fffffc199affffe38000
+8b084363a6dd1ff5078bde9c90d18e91918ba08591648affffc94ccd8affffdbb333
+8b678b568c638c85858b769185d1889c868b38080e5389acf1b8f770aceaea12dfd9
+ffffd48000e9d6e9ffffe28000db13f9f736f7c715f7f70a13f4ffffd48000f7af15
+d80a13f2f73d16d80a0e4689acf8d2b36cab12f703e0c1a9f75cab13dced8915f28b
+b354943708a98b84f728058a99fffff7b334ff0008999afffff34cccff0001666608
+798d05ffffdce666ff0003e666fffffe199aff0009199a8baa08f88507a59a90a21e
+f71706d18ba8569b4308ab8f76f735fbe68b0513bc7dfb0c8c8b1f13dc898a8b7305
+13bc8b878efffffd66688fffffff999808ab8805ff002c199afffffbe668ff000ae6
+66fffffb19988b6808fc7b078b6cffffefe666fffff58000ffffd6199afffffb8000
+086f880587ffffff999a87fffffd66668b86088b748d89050efb2e89acf7f6b76cac
+12f702dac2a6f70aa813dcf70216f18a9d4c994b08a68b87f71b058a977d96848c08
+798d056b8f85908baf08f7c7f70407c68b9b56985108a88b7ff72ffb958b0513bcfb
+0a8d0513dc88898b710513bc888e898e1eab8805b18791858b6508fba0078b6e7e7f
+6a8708728805868a88898b86088b748d89050ef75f89acff013ae666ff0028e666ff
+00e43334accaeb12f4e0caebdce83aebd1e013fd80f84ef98b15b60afb5116b70af8
+4cfd1015f7e00afc3e2f154782adac1ff78907ff00158000ff0001e666ff0013e666
+8cff00124ccd8b0813fe80ff00809999ff0033b334ffffcfccceffff974ccc386c3c
+fb181ffb36e615f7e20a0ef71589acf755acf721aceaea12f6dab9e9a8e163e9b6da
+13fc80f8fdf7c715f77c0a13fe80fb9a8f15f7f80afb3df74815f7f90ab9f7d01595
+0a13fd80f73d16d80a0efb6dd0b1d001f706d103f706fb4a15f8160af604f8160a0e
+fb6cd0b0d012b9d17cd17ed1ded113c4f7cbfb4a15f8170af604f8160a13e4fb9d16
+f8170a13ccf70416f8170a13d4522115f8170a0efb6dd0b1d054b412f7a3d113b0b0
+2b15f71db4fb1d06f77efb1315f8160af60413d0f8160a0efb6dd0b1d053b512e4ae
+f72ad11398f7a6fb4a15f8170af60413d8f8160a13b8fb8e7515f8180a0efb27d001
+f717d103f717fb0415f8160a0efb27d001d6d1b6d103f750fb0415f8160afb0516f8
+160a0efb6cd0b0d012d7d17cd17ed113d0f717fb4915f8170a13c8c4f515f8170a13
+e0fb0416f8170a0efb15b501e0f73803e0fb1515f738b5fb38060e21b501f72aae03
+e02115f8180a0ef8e7d001b3d103b3f90a15f8160a0ef8e7d001b3d103b3f90a15f8
+160a0efb6dd07bd07cd012aed1b5d1b5d1141c139cf797fb4a15f8170afb04c01513
+5cf8160afb04c115133cf8160a0ef76ed001f717d103f717f79115f8160a0efb5ff7
+1e01f725b003f7254a15fb1eb0f71e070efb70f836e201c9f78f03c9f83615f77b8b
+9fe2fb7a8b050ef8edb501dff73803dff8ed15f738b5fb38060efbc4997601f706c4
+03f7068415c4f8d752060ef8e5d001f7d1d103f7d1f90815f8160a0ef8e5d00159d1
+0359f90815f8160a0efb879d7601e3f74403f79cf83d155a9f7e8c71ce745078805d
+79c375918da5469bb599a2c5a308fbe90453a27ca17ab782757c614b72b57ba183a3
+4ca5ce998bbb9f080efba18bef01cda603cdf7a4158b316d488b578b6f8c768f7d08
+f7918b6beffb3e8b0590a78fa38ba88bbe83dc8bc38ba49f98a68dd28fb7a88bb38b
+d35f8b8b8b856a68896e8a085d895c838b4f8b529d4e8b51080efb06a07612acbd63
+ba77f704f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb
+138beff7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350
+f77ef7bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce
+13e0f7dff7b715f8210a13d0f8220a0efb099376f839f70012c3cef777bd60cc13e0
+f70bf733158bab93a99b95089807868e858c858b5a8b73618b478b788e4f8b798b7b
+8679838208928005bc8ea3a88bb2088b9e87ca8b9e0813f0f7adf71d158befaf898b
+b308a307b1819f561efb8a06728b78a086a2088b5e844162a86dbd1ff7bb06655e78
+4d8b3d0813e88b6192318b618b77877a837d08938105b992a2ab8bc5088bcd75da8b
+cd080efbca9a7612f747c060b013c0f74785158bc091be1f13a0f8230a0efbc69e76
+01f709ca03f709be158b75867a817d8b8bd98d8be98bd36cd68bd98ba08eb197b199
+84a481a08b918b928c908d08939691a18b948bc87199fb0c8f7a8f8096879e088b63
+85415dad73cf1f71547e4f8b4d8b519b4c8b51080efb089e76f833f612c6bd5ecbf7
+70bb63ca13e8f820f7bf158becb8798bd708b875a05e1efb8406708b7b9c86a2088b
+588a4a5daa68ca1f51537f4e8b3a0813d08b5190508b6d8b6f88737f798b8bda8d8b
+e80813e88bc978d88bc98bc19cb4aba308f78d06665e75498b3c0813c48b6193318b
+618b76877a827e8b8bd78d8be0088bc874ea8bc5080efb018beff7cbf70225f70012
+a7f729fb04abf7d8aa13acebf82e157a5f7d5a8b618b35b3fb0a8c4408f7ab06b5f7
+09a4f48be38bf74d49ab628b6e8b6f787773716e74566b4108a37f05bcdfaa9eb88b
+c18baa658b448b3b79436f5108fb73066ad775d08bca8ba596b496b00813d4918b91
+8a918b978b978d958e8f998d998b998bb478a0648c6a8c7a9888a38b8b658a8b3e08
+8b5aa67cb484080efbd9f833f501f753b003f72cf78715f8240a0efb0cf82cf70012
+f7efc857af13a0f81cf7fd1513c08ba7929a948e9a90999e8ba608a582ab501efb86
+066e8b7a9685a2088b60894462a36fba1f13a0f7918b0513c082fcd50597bc91d81f
+0efb188beff7cdf601f807b103f807f78c152a6e583d1efb668b7127f7518b05f73a
+a5dff749f73d60e1241ffb1806708b7b9786a2088b60824462a276b91ff73a06e294
+442d1f0efb0b9576f83cf601f754d1f3bb03ddf8c2158b978f9d90998e949bcb8b8e
+8ba576957990838d7792899d8b8a6d898b5e8b75a18297870898869e848b798b8285
+7a86817f6b7f658b5b085eac76bd1ef72806dd966b5a1f8b4b827a5a596969393b8b
+5208709b7da1a19c97a31e8b9684958b9a8bada9b0b6bdd2da93988be208f70182bd
+331efb3e06666f90ac1f0e478beff7cdf612beba64b7f7dcb565bc13c8f74cf83115
+f72606d78b9f6990fb280813e48ffb17fbe58b0513d890f726058cc1a7bfbfc80813
+e4fb19fc3115f8458b0513d880f7e90586f7246faefb268b08fb3006718b7c9785a2
+088b5f8b4662a46bbb1faa066260594a8a61080e408bef12b0ae69f723f795ad13b0
+f7b7f8a91586596668546d8191859b8b988b988e8d8b9c8bb06d8f728d0813d0778d
+718f83aa0813b08b69864c1f8b68a06db482b78296848b710813d03f3861fb0c8bfb
+1c086f8e7899949494901e8bf71aa2e9b7ccb6cccab3be8bdf8bc5418b2f8b597c53
+806808fb638b6727f7888ba8de0592a0a2dc8bce088bf7174ef716fb0c9f080efbcd
+f82ef70212f727d34eb813c0f727fb5f15908dce7d8bf71d0813a07bf7ce0513c08b
+b88eb998b198b192a48b968bd6568e5b8e758c668d84ae8b8b64868b428b60ae73cb
+8808b289a3828b7a8b82877f857f0813a0796c826c8b74080efbaa8bef01f764af03
+f788f7a4158bc59dc88bc48bc75c935d8d6e8c688d85ac8b8b5f8b8b438b63b76ed2
+87a6899f7e8b72088b5a824b8b578b838b838c848d6e8d73906f08fb3e8b6b27f792
+8b058e998ca08ba78bbf6dce8be5080e3680f0f7d7f601beb3f7d3af03f7b5f83115
+eba45121fb214279374a2a8ff7371f8bc399c0a7ba08f709fc3c15eceeabf789f75a
+44c3231ffb1a06708b7b9986a2088b5d8946769958ba1f685579488b3d08fb5bf71a
+70cc1e0e2bff019bb334ff006ce66412ff0037e666ff00a0b334ffffa59999ff001f
+6667ff005ce666ff002a3334ff00744cccc413b8ff00834ccdf82e15fffffc4cceff
+fff4199afffffe9999fffff84ccc8bfffff233348bffffe3333291ffffe2ccceff00
+03999a7eff000c9999ffffd2b332ff0012cccdffffece667ff0023cccd70ff001b80
+00ffffeb33339fffffe466678bffffe980008bfffff46666fffffab333fffff5cccd
+fffff3999afffff8cccd08ffff4c3333ffffe2b3337728f769ad05e595b9b88bda8b
+f70ddff70a8bd28ba97a9d68905c927f9685a58b8b66868b428b68a374bb80089b87
+94828b788b81826f7965ffffb8199affff664ccdff000e3332ffffe99999ffffd599
+9afffff86667ff0007ccceff00054ccd8eff000d4ccc8bff000fe6678bff0015e666
+fffffa4cccff001ab333fffff93334ff00116667fffff13332ff0025ffffffffe199
+9aff00123334ffffe0199aff000fcccc08ffffede666947bff001c3334fffffa3333
+ff0018e666fffffd8000ff000ae666fffffce667ff000e80008b9c8bff00043334ff
+00003333ff0004199aff00006666ff0003999aff0005e667ff00004cccff00058000
+ff00003334ff0005b3338bff0009b3338bff000a6666ffffff4ccc99fffffd800008
+13d8ff00036667ff0008b334ff0003cccdff001519988bff000b999a8bff0045199a
+ffffd1e666ff0000e668ffffe4e666ff0000b33080ff00008000ffffdce667ff0001
+999cfffff68000ff002199988b8bffffe01999fffffae6688bffffc23332088b60ab
+ffffe3999aff002b666783080efb0bf758f1f707f6ba7701aacaf79fce03f73ef758
+159d90ff0013cccdff001833331f8ba375a56893ffffdb199aff00086666fffffae6
+66ff0009999a8ba98b9e949ea1a808f71806b98bad7f97739774975a8b4f087ffc5a
+059fba91ca1f8bca89f70a87e60882f7750584f71a72a8fb308b083406718b7aa386
+a28b8b507b8b538b689769c17e645670608b4a8b6698789b8b9c8b949fa78b08a58b
+9a779a8b080efb188befebf1f707f601abcaf7a8b103f807f78c152a6e583d1efb66
+8b7127f7518b05f73aa5dff749f73d60e1241ffb1806708b7b9786a28b8b60828b44
+8bffffda4cccff00138000ffffeb3334ff0026e666fffffce66608ffffff999affff
+ff999a05645670608b4a8b6698789b8b9c8b949fa78ba58b9a779a8b9d8b90ff0013
+cccd8bff001833338ba375a5689308ffffdb199aff00086666fffffae666ff000999
+9a8ba98b9e949ea1a808f72906e294442d1f0efb05acf74333b36dc7e4f73f1350f7
+44dc158bccb4dfd5db9d9eb0b1b4ab9d8b99879d8294968fb68b958bc36695618e72
+8c6f9587ab088b68853b1f8b64a573be834653423d5d2f08838b89e30513908bc8bd
+db8bb38bc15e966391788d6d9985a68b8b687c8b440813308b5ea57dd27d9a89907f
+8b7d0813508b646d508b61088b8905133095fc470592c08ee31f8bc57ddb8bc1080e
+fb078bef12a1f73364aaf4f73a13b0ff0157e666ff00bd4ccd15ffffea8000ff0015
+3334fffff9999aff0017999a8bff001ae6668bb6abd4acaba58b95889a8494988eb2
+8b968bbe6b90688e7b8c668f87ac088b618a421f8b69a86eb482ffffe2199affffd8
+199a68ffffc0199a74ffffc2199908ffffc3e666ff0029b33305799a82a78ba50813
+d08ba293bd8ba28bc577915b8e7e8c6d8e85ad088b61874561ac70bdaa9472691f13
+b08843058b749475a07b08f7262505928593838b8308fb9e8b6c27f7ea8b05a090b1
+bd8bb58b9b849b7c96080e29f831f601c3bad7c9f73ab703cdfb7015a1989a978b96
+08f890820774777c728b6f08fc6707f74df792158bbeb1a3c6aed1b6b6a58bf71308
+d189f5fb0c1efb4e066f8b7b9786a2088b588a4962ab69ba1ff75f06da8e505f1f8b
+4541577e83687321448b3e0871947f9fa29696a11e8b998a998b92080e219476f83d
+f612f811c15eb813e0f8117f158bc18eb51f13d0f7cb07f72364acfb261efb120670
+8b7b9985a2088b5a844c62a96aba1ff74306e3a35efb1a1f0e9c8bef12acf724fb00
+abf71df726f71ec513b8f8d8f858158bc45f947c907b91778d87a78b8b62888b3b8b
+6f9c78ab809488a3878b6e8b7a82757a7308472c6a407b5a08fb3406b9e7aef6a4f7
+04a18b96889982909692a88b988bc7649072917b8f768a84ac8b8b65868b44088b6b
+9f73b47c69fb0f64205f3908770666d473cd8bc08bb592b294ad9c8b968da68b0813
+d88d918e9d8b968bb67ba56a926193829284a38b8b66828b428b6a9f75b47f0813b8
+7e647f5d8b5a8b4f9e5ba0399172876f926a08f7b9069ef771f72af70c8bf703080e
+3b947697eff7cdf612e5b6f7aec15eb813b8f8337f158bc18eb51f1374f7cb07f723
+64acfb261efb1206708b7b9985a2088b5a844c62a96aba1fff0015b33306ffffdd66
+66ffffc9999affffdde666ffffc54ccc8bffffa8199a8b8191488d68084e8b7a27f7
+1b8b91c5058bb66fd38bde8bff0032199aff0020cccdff00448000ff00151999ff00
+26666608ff007d199a06e3a35efb1a1f0e659a7612f743c060b0f774c060b01390f8
+5285158bc091be1f1388f8230a13c0fbadfbea158bc091be1f13a0f8230a0e599a76
+f839f512f753b0f76ec060b013e0f72cf78715f8240a13f0f7c0fb94158bc091be1f
+13e8f8230a0e4df833f501f753b0f779b003f836f78715f8240afb988415f8240a0e
+fc0cf7e5f77501d4f70303f721f8c615f8250a0efb66f7e5f77501d4f703c4f70303
+f7c9f8c615f8250afb3c16f8250a0efb7481a9f8337712abd255caf727ca55d113d8
+f797f7e8158bffffd966666bffffe4999a7b815b9f589a8bd28bb1a1938b938a9386
+8e818b628b6f5c8b608b3ee06890850813e4697e425f8b4b084cc656e7e2cfc5d31e
+8bff0053e6662fff0022199a87930813d8b69fb0af8bb908a07fcd517a8487821e8b
+76aa7e8b5b0813e4fb30fb7515bfc9b4911ed063a7708b5508696d6a621e4e6ac0b5
+1f0efbb4f7faabf772a401aabff701c103f754f88a15980ab6fb2415990a0efbb4f7
+faa4f771ac01ff0043199ac1f700bb03ff0079199af88115da07ff001a0002a29c95
+a08bad8b96778b768b6c737936750860f72415ffffed00028b787f8281ffffff6666
+83ff00034cccfffffab334ff00074ccefffffd4ccc8e8e908d8f8b0894907b621f40
+07ff000000022dc477bc8b08b5c9acb39a80957c78847e831f8b868c868c898c898c
+878b84087b76806a746c93d61ec59a05ca9bb3a78bb58bb668a6618b6a8b7982696d
+889d7da0728b080efb90f7f8acf764ac01b3c5f71abb03f77cf81915ff0001800078
+967dff001280008bff0016b3348b9fff0006b334ff00114cccff000d4cccffffff4c
+cc9189ff00044cccfffffcb334ff0002b3347d8bfffff6b334ff00014cccfffffb4c
+ccff0002b33485ff0002b33488918bff00094ccc08f76107ff000ab334fffffb4ccc
+ff00054cccfffff6b3341efffff74ccc8bfffff9666787fffffb4ccd8308827c05ff
+ffed4ccdff0010b334ffffef3333ff00084cccffffe880008bffffd94ccd8bffffe2
+b333806f6effffe2ccccffffe1ccccfffff33334ffffd580008bffffd8b3348bffff
+b58000b7ffffd08000d38bff001680008bac97ff00148000a008f73904fb19077d78
+6a7e7d8b08ffffcf4ccdffffe7b333ff0025b334ff00474cccff0040b334ff001fb3
+33ff00224cccff00274ccd1fff000e80008bff001fcccdfffff1b334ff0010b333ff
+ffe34ccc080efb05f7faa4e7a2eab76da912b8c5f5d2e3c555cb13ccf731f8131569
+77b0b01f9799ff00318000ff00028000ff002b8000ff0001800008855a7e606b8b08
+f714f7531513dd99a3a3949a8b978b9984907e8d858c818b838b6f697251848ba9ff
+00018000aeff00038000910813eefb229e15b0a86a4d1f498b4489727b8afffff780
+008afffff780008b7e8b6e984ce78bae8ba593a4ae9b6ab281ac8b08b7c5a7b09b84
+9b756f857b821f8b8490838b7f087d7785746e7baacc1e13ddf294c0ab8bbe8ba17e
+9f7b967b96788d728b7a8b5b7e7069849afffff1e666ff000a9998fffff3999aff00
+08e6680813eefffff3800094ffffe08000ff00038000ffffe780008b6c8b5d766c5e
+8b839084918b08a4a5b296a28b080efbbef7faa5f76caad1a001bebcf70bc103bef9
+1f15f8260abc4215f8270a0efbacf7feaf77a1f761a5d1a012a3c1f717bb13bcf765
+f86315f8280a86fb2d15f8290a137cf82a0a13bcf82b0a0efbaaf7fbaef704aad6a4
+01a6c1f710c403f731f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f74889
+05ffffff4cccff00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333
+448b418bffffd4999aff000a3333ffffd83332ff001b999affffe7b334ff0012cccd
+ffffef6666ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff00
+09b334fffff86667ff00064cccfffff74ccd8b0878756d7a658b08bbf72315f82c0a
+0efbaaf7fba4d6aaf704ae019ec4f710c103f710f8ee15a48b9f7f9a7597788f728b
+728b898b868a8708fb488d05ff0000b333ffffb88000ff00134ccdffffc48000e08b
+ff0055b3338bff002c4ccdd28bd58bff002b6668fffff5cccdff0027ccccffffe466
+66ff00184cccffffed3333ff00109998ffffe4199aff0008e668ffffdd80008b5d8b
+5d747168ff0003b333fffff64cccff0007999afffff9b334ff0008b3338b089ea1a9
+9cb18b085bfb2315f82d0a0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ca
+55c1edff0038333413f6f73af8f315ab8bff0018b3337aff00114ccd69089b8b97b9
+898e05719c719a5d8bffffce199a8bffffcae666ffffeccccc8bffffd233348bffff
+e2b334ff00104ccdffffea9998ff0020b333fffff6b33408ffffff8000fffffd8000
+0513faffffdd4ccdfffffbccccffffe93333ffffe633348bffffdd80008bffffc799
+9aff00348000ffffe16666ff003c80008bff001b4ccd8ba38fff0014b33395ff000d
+199aff00074cccff0013199aff0012999a8bff00134cce8bff00109998fffff16666
+ff0008999afffff2b3338bffffee99998bfffffa4ccd82fffffacccdffffee999a08
+86ffffe88000fffff33333fffff78000ffffe8cccd8b08ffffda6666ffffec999aff
+0014999aff00266666ff00218000ff0011999aff00138000ff002266661fa406ff00
+074ccdff0003b333ff00024cccff0004b3341f940791fffffc4ccd8efffff8b3331e
+730613f6ffffe3cccdffffe733339fa81fff00196668ff00158000ff000b9998ff00
+1980001e0efbaaf7faa5ff003a666677ff0049999aa4e1a912c3ff00383333edff00
+3f0001ffffc0ffffff0036000113faff00a03333f8f315ff00197fffff00188000ff
+fff56668ffffe699986effffe7333376ffffe3cccd1f7306fffff8b332fffffc4ccd
+88851f8207fffffffffffffffb4cccff0003b333fffffdb334ff00074ccd8b08a406
+13fcff00226666ff00119999ffffed8000ffffde8000ffffd9999afffff0999affff
+ea6666ffffda66661fffffe8cccd8bffffef3333ff0008800086ff00178000fffffa
+cccdff00116666fffffa4ccd94ffffee99998bfffff2b3348bfffff16666fffff766
+668bffffef66688bffffecb332ff0013199affffed6666ff000d1999fffff8b334ff
+0014b333819f87ff001b4ccd8bff003c80008bff00388001ff001b999a8bff003866
+66088bff00228000ffffe91999ff001cccccffffdd4ccdff0004333408ffffff9999
+ff000280000513faff0020b332ff00094cccff00104cceff001266688bff001d4ccc
+8bff002dccccffffcdffffff00163334598b5d8b6e7c717a088988975d9b8b05ff00
+114cccadff0015b3339cab8b080efbacf77fa9ebb3c0a1f71fa17ba7129ab672be58
+b4f708bf8bb213ea00f79ef8ec15f82e0a13f200f82f0a13e900f8300a13ec40f831
+0a13e980f8320afb4ffb7e15f8330a13e440f8340a13f280f703f74415f8350a0efc
+25f786c5d7a0f761a812ff004b999ac553bb13f0ff0068999af78615ff0010000298
+989b9b7e987b7b7e7e7b1f7b987e9b1e13e870f7ce15fb1c0713f0ff000000027089
+708b8b8b868d89918b9b92ba93a58d8c938a9287910813e86b8d80868bc008f70107
+ff00000002b4988eb38d90938a9a87916d8a748b748bffffe74ccc8bffffeab3348b
+6d8c87848b7d8f8308ad899c888b62080efba4f800a8f768a5d1a001c3bb03c3f84b
+158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b998793698d84
+8e8bb408ff0036199a07ff0003cccdff00013332ff00034ccdff0000b334ff0002e6
+668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1a3b08a8b1e8d
+8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380009c8495084c
+e805898d8a8e8b8e8b8dff0000199aff0003e668ff0001e666ff0002199808b1b405
+ff0016199aff0017e668ff00156666ff00051998ff001880008e8dff000033348fff
+0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b898dfffffd4ccc
+8effffffb334ab88fffff0b333fffff14cccfffff84ccdfffff7b3340872ffffe680
+0005ffffeacccdffffea666879fffff66664ffffea3333fffff7333408ff00968000
+07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989284611f
+0e27f801a8f75da17dad12cdbbf705bbf705bb141c13bcf70ff8c6159ea29d9da08b
+08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733338bff0017cccd8b
+ff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000ff00028000fffff880
+00ff000280008bb408f4078b91ffffffccccff0005b334ffffff999aff00056664ff
+0012199aff00156668ff0013ccccff00138000ff0013b3348b08aaa47a581f2c078b
+628988698987838b7d8f84a98cff000733348bff0017cccc8bff00234ccc8bff0005
+b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1effffdccccc8bffffdc
+b334ffffde8000fffff16666ffffee9998fffff76666ff00246668ffffe9b334ff00
+0e8000688b678bffffe74ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348b
+ff00054ccc8b8e8ba7899888928a8e8a8e868b0813dcf8360a0efb7df7919ee8a8f7
+5da17dad12d1bbabbbbcbb13def78bf8ab15fb1b072e81686e1e868b878f8a918799
+839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f71107ce69a45d
+1e678bffffe14ccdffffec4cccffffe7b333ffffdcb33486fffff8b3348bff00054c
+cc8b8e8ba7899888928a8e8a8e868b0813eef8360a13de9ea2a39da08b08aaa47a58
+1f0efbb4f7fba4f778a401a2c6f720c603f72cf91115326340444bba47dcff005319
+9aff002ee666d1ccff0048199866ff0046e6682f1fd1fb3615f8370a0efbcdf7faa6
+f770ab01a6c1f70ac103f70ff7fa15e1b7d3d4d463c8361f5e8b6c737268089e7b05
+9fa19ea0b18ba18ba37c997497788f738b728b3a616a6c8b658b86a389a1899b7e92
+7d8b087d80827769ac6aca1f0efbb4f8f8a401ff0017199aff003ae666ff008b3333
+ff003bcccd03ff00dd3333f88415ff003bcccd06ffffff4cccff00476668ffffdacc
+ceff00459998ffffa4e6668bffffa9199a8bffffd7ccccffffb88000fffffe3334ff
+ffba800008c606ff00000002ffffffe666ff0004999aff00026666daff001dcccda9
+ff002233331fff002633338bff001f999affffd01998ff00056666ffffbbe668080e
+fbb4f7fba401a2ff003b199aff008be666c603f7adf88415ffffc4333306ff00007f
+fffffff93334ff00004ccd848bfffff8cccc8b4e6c6d6e8bffffd833338bffffda33
+33ff00268000fffffdb334ff004980000850068bffffffe666fffffcb334fffffe4c
+cc4bba47dcff0053199aff002ee666d1cc1f0efbacf782a8f1a5f75ca17aaa12c3bb
+f716c113dcf3f7cd15d707997faf839f8b08ccbcdbd5cf68b3511f6e8bffffd98000
+ffffe68000ffffed8000ffffe88000fffffab333fffff93334ff00004ccdff0004cc
+cc8b8e8ba7899888928a8e8a8e868b0813ecf8380af71304ed0713dcf8390a0efc0f
+f7fab3f760a812c5bb65b113e0f5f8ee15f83a0a13d0f83b0a13e0f83c0a0efba8f7
+faae7ca1f765a212c2bbf705bb13b8c2f8bc15250748a872b81eb08bff00204ccdff
+001b6666ff000cb333ff0011999aff00034ccdff00048000ff0001b333fffffd8000
+8b888bffffedcccc8dfffff333348e848c888c88908b081378f83d0a13b8f83e0a0e
+fb7df816bbf715bb12b7a8f75da17dad13e8f785f8be15a2789d698b76086c7a7c58
+1e2c06628b888d89ad838f7d8b84878c6d8bfffff8cccc8bffffe833348bffffdcb3
+348bfffffa4ccc8a6d91879a8a93908db38e93b48b08f406cea4a3b91f8bafffffec
+4cccff0028b334ffffdcb334ff00184cccfffff8b33390ff00054ccd8b8e8ba78b98
+8d928e8e8c8e8c8b900813f0839c85a085b6878c7d89878a886a8682638b08200662
+8b889889b383907c8a85878c6d8b748b748b728b848a6d9287998b938f8dad8e8eb4
+8b08ef06938b94869087080efb02f800ad7da1f75da812c0bbf705bbf705bb141c13
+bcf802f84b1578747979768b086c7c9cbe1fea078bb48d8ead8d8f938b9987926d8a
+fffff8cccc8bffffe833348bffffdcb3338bff00044ccd8b6d8c87858a7c9083ff00
+1e8000fffffd8000ff00078000fffffd80008b620822078b85ff00003333fffffa4c
+ccff00006667fffffa999affffede666ffffea999affffec3333ffffec8000ffffec
+4ccd8b086c729cbe1fea078bb48d8ead8d8f938b9987926d8afffff8cccd8bffffe8
+33338bffffdcb3338bfffffa4ccd8b6d8c87858a7c9083b38993888b6208220748ad
+72b91eff002333338bff00234ccdff00218000ff000e999aff00116666ff00089999
+ffffdb999aff00164ccdfffff18000ae8baf8bff0018b334ff0013b334ff00184ccc
+ff00234ccc90ff00074ccc8bfffffab3348b888b6f8d7e8e848c888c88908b08137c
+9c93a091b6918c8f89998a8f6a8e82908bb308f6078bb4988eb38d90938a9a87916d
+8a748b748b728b848b6d8c87848b7d8f83ad898e888b620827078b8386828786080e
+fbadf8f5a20194f7bc03f760f8f515ac88ff00033333fffff46668fffff1cccdffff
+df999808ffffd1199affff94999a05fffff3e666ffffe54cccfffffd8000ff00004c
+cefffff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ff
+ffff3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe63333
+8b758b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce6
+6808ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff
+000819998bff000633348bff0003b333ff0005199a909608ff00533333ff00b6cccc
+05ff000de666ff001e9998ff0007999aff0011e668ff001f8000ff000380008f8f8b
+9a878f7d8a808a7b8b748b7d8c748c87878b7c8f87080e34f7f9abc17701f75ff85b
+15ff000cb333fffff94cccff00044ccd8387fffff6b334fffffb4ccdfffff4b334ff
+fff7b333fffff699987ffffff8b334fffff34ccdfffff6b334fffff1b333fffffb4c
+cc7b8bffffeb4ccd8bfffff0b333ff00044ccc81ff0008b334fffff94ccd91fffff6
+b333ff000db3347fff00154ccc087c8a7e5b8d8805a5ffffe94cccacfffff4b334b3
+8bff00294ccd8badff0008b334ff001ab333ff00114ccc8dff00014cccff0001b333
+8cff00014ccdff0000b334ff00014ccdffffff4cccff0001b3338a8dfffffeb334ff
+001ab334ffffeeb334adfffff74cccff00294ccc8bb38bacff000b4ccca5ff0016b3
+34088d8e7ebb7c8c057fffffeab33482fffff24ccc8585fffff54cccfffff74cccff
+fff06668fffffbb334ffffeb4ccc8b7b8bfffff1b334ff0004b334fffff34cccff00
+094ccc7fff00074ccc82ff0009666885ff000b4cccfffffb4cccff00094ccc8f93ff
+000cb334ff0006b334958fff000bb334ff00044cccff000d4cccff0004b33408ff00
+24b3349bff00124ccca28ba98bff001d4cccffffedb334a2ffffdb4cccff0010b334
+6b996fff00074ccc73ff0000b33473ffffff4ccc6ffffff8b3346b7dffffdb4ccdff
+ffef4cccffffedb333748bffffe2b3348b6dff00124ccd74ff0024b3337b089e848b
+8b9a85080efbaff7faa4f74ba6f70ca512bbbbf706c16ac513f8ebf90615f83f0a13
+f4f8400a13f8f8410a0efb7bf8e6b601ff00878000e1ff00358000be03f7daf8ed15
+ff00183334ffffe94cccff000bccccffffe7b334ffffe8199afffff2e666fffff5e6
+68ffffee19981e8bfffff06668ff000a199afffff8b330ff000ee666fffff8e6688f
+898ffffff7b3348bfffff54ccc8bffffe4b334ffffe54ccdffffb29998ffffd8b333
+ffffbcb334fffff6cccdff00378000ffffec6666ff006a1998ffffe2cccdff003a66
+68fffff4b333ff0014b334fffff3cccdff000a4cccffffec80008b6f8b69ffffee80
+00ffffe980005e0891fffff98000ff00066666fffffce668ff000a199afffffd9998
+939a97ff001080009b8bff000680008b93fffff9cccc91fffff6b334ff00214ccdff
+ffc74cccff0013e666ffffb98000ff00134ccdffffa8b33408ff000180008305ffff
+e14ccd61fffff66666ffffe94cccffffff4ccdffffe6b33408ffffdf199aff000a80
+00fffff2e666ff00188000ff001c8000ff00168000b1a51e8bff00134cccffffff33
+33b5fffffb4ccdff000eb3349fa3a1ff001f4ccc9bff001cb334afcd9bff00344ccc
+8bff0026b334080efb86f7faa8f7d6a912b8c577c0f705ff0039b33413e8f731f8e5
+15ffffb3b333ffffe69998ffffdc4ccdffffd84cd08bffffc819988b7192ffffe733
+34ff000fb333ffffebccccff0017b333ffffe18000ff001f999afffff38000bb8baa
+8bff0012b33390a498ff002b0001a29dac8bbc8b9ffffff98000a97c9e087aa2ffff
+de4cccff00168000ffffcb8000ff002280000813d8ffffe3b333ff00129998ffffee
+4ccdff001866688b978bff00121998ff000d999aff0005e668ff001666668b998bff
+000c8000fffff88000ff00078000fffff58000ff000acccdfffff0ccccff00123333
+fffff73334998b9b8b98938f988a928993809308749e6b94638bffffcc999a8bffff
+d96666ffffec66688bffffd79998088b70ff001fe666ffffdf4cccff002a199affff
+e5b33408a27a15ff0021b333ffffe78000ff00234ccd6e8bffffd580008b72fffffe
+3333ffffe64ccc81fffff1b3347b74ffffe5cccd867a8b0813e8ffffce4ccdffffe6
+b333ff002c199aff0030e6661f8bb8a9abba9e080efc25fb03a8f761a0d7c512d3c5
+59bb13f0f0f7aa15f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbf1fb
+03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0efba8fb0aae7ca1f7
+65a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e0a0efbadf719a20194
+f7bc03f760f71915f8460a0efbaffb6776f706a4f74ba6f70ca512bbbbf706c16ac5
+13fcebf72a15f83f0a13faf8400a13fcf8410a0efb7bf70ab601ff00878000e1ff00
+358000be03f7daf71115ff00183333ffffe94cccff000bcccdffffe7b334ffffe819
+9afffff2e666fffff5e666ffffee199a1e8bfffff06666ff000a199afffff8b334ff
+000ee666fffff8e6668f898ffffff7b3338bfffff54ccd8bffffe4b333ffffe54ccd
+ffffb2999affffd8b333ffffbcb333fffff6cccdff00378000ffffec6666ff006a19
+9affffe2cccdff003a6666fffff4b333ff0014b333fffff3cccdff000a4ccdffffec
+80008b6f8b69ffffee8000ffffe980005e0891fffff98000ff00066666fffffce666
+ff000a199afffffd999a939a97ff001080009b8bff000680008b93fffff9cccd91ff
+fff6b333ff00214ccdffffc74cccff0013e666ffffb98001ff00134ccdffffa8b333
+08ff000180008305ffffe14ccd61fffff66666ffffe94ccdffffff4ccdffffe6b333
+08ffffdf199aff000a8000fffff2e666ff00188000ff001c8000ff00168000b1a51e
+8bff00134ccdffffff3333b5fffffb4ccdff000eb3339fa3a1ff001f4ccd9bff001c
+b333afcd9bff00344ccd8bff0026b333080efbcdf7faabb677f759a601a6c1f70ac1
+03f731f91115f8470a0efbeaf800a2f74aa8f708a401d3bc03d3f835158b79fffffa
+cccdfffff98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b
+87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccc89ff000033
+3408768d05ffffeccccdff0001ccccfffff93333ff000833348b9d08f72cc6079193
+8d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b9696
+8b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1e
+b5060efbd5f800a9f764a801a2a103d1f90b15818bffffeecccc8efffffb33349008
+858a058b6f8772866dff00063333fffffd4cccff00088000fffffeccccff00074ccd
+ff0000e66897b7a0919e8b08d78bfb26fb6e0586838b8a8b8708878f88951ef75906
+8e9e91a896affffff8e666ff0002ccccfffff8b334ff00018000fffff86666ffffff
+b33408847a057c6a8183678b08418bf722f76605989e8b8f8b8d088c078e878b871e
+898b6f89798b080eeffb6dabf5abb8acf766b5f80b7701f78cb3ebb303f7e43c15ba
+0a335615da0a9af833154a0afbb1fb60154b0a0efb1efb6eabf5abb1bb5bb4f80bac
+12afde4bd88fb3ebb378d913c980f7743b15d90a335615da0a13dd40f731f8021575
+0adafb381513eb40760a13dd40770a0e8489acf7c1adf78badc2f312f5e0acf3dadc
+69e813fcf774f98615f7090a6afb6015c08b95e21e13fef8480a6904d00613fd4d0a
+60f8a3154e0a13fe4f0a0e2581adf807b7f700ef85a9a67712d9dac8efbfe113eff7
+6ef8eb15850a5ffb8015780a84aa15fffff9b333fffffa4cccfffffc4ccdff0001b3
+348b9408f74c07cc8fb38b1e92878e821e13df7281407d638889838d7b9185bf8897
+908b3708fc7c078b648a79887d90839087978bff0006199aff0005cccdff0009e666
+ff00094ccdff0007b333ff0008e666ff000a4ccd97918b96fffff6cccdff0016e666
+ffffecb333ff001dcccdfffffa8000ff00234ccd8b08f1f70be8f733f70e31d6341f
+ffffd5199a8bffffd9e6667a6c6f080e84fb64eff5acf7c1adf78bad12f5e0a8efe2
+dc69e813fcf770fb3015f8490a6ef95615c08b95e21e13fef8480a6904d00613fd4d
+0a60f8a3154e0a13fe4f0a0e25fb64efedadf807b7f75ea9a67701d9da9defeae103
+f743fb3015f84a0a8af89b15780a84aa15790a0e84fb17b7e0acf7c1adf78bad12f5
+e0f76cdc69e813f8f809fb1715f7900aa2f93d15c08b95e21e13fcf8480a6904d006
+13fa4d0a60f8a3154e0a13fc4f0a0e25fb17b7d8adf807b7f75ea9a67701d9daf769
+e103f7ebfb1715f7900aaff88215780a84aa15790a0ebefb5ca8d6abc1b4f8e2b0c7
+7601b0e6f7a4c9f3ac03f82cf9c715b10a62fe2715c30a0efb3bfb5ca8d6abff0036
+4ccdff0030b333f803ac12b0e1f71ec97ce213f8f7b2f93315d60a51fd931513fce0
+0a13fae10a0ef589adf8d9adc2f301f5e0c0f3f76aeb03f788f98615f7000a56fd32
+15510a60f8c515520a0e3281ba84a6f7efaef700ef85a9a67712b2e18eeff709da13
+3780f714f8eb15850af76dfc6f15f7050a13a780f7060a80fffef84ccc157c0a136f
+807d0a13a7807e0a0ef5fb64eff5adf8d9ad01f5e0bceff772eb03f784fb3015f84a
+0a5af78415510a60f8c515520a0e32fb64efedba84a6f7efaef75ea9a67712b2e1c7
+efc7da139f80f74dfb3015f8490af734f7ac15f7050a13df80f7060a80fffef84ccc
+157c0a13bf807d0a13df807e0a0ef5fb17b7e0adf8d9ad01f5e0f807eb03f810fb17
+15f7900a9bf76b15510a60f8c515520a0e32fb17b7d8ba84a6f7efaef75ea9a67712
+b2e1f770da139ff7dffb1715f7900af76ff79315f7050a13dff7060a80fffef84ccc
+157c0a13bf7d0a13df7e0a0ef5fb76a3daddb2adf8d9ad01f5e0f72cb2f748eb03f7
+d46215f7160afb15f71115510a60f8c515520a0e32fb76a3daddaaba84a6f7efaef7
+5ea9a67712b2e1f714b2c0da13cfc0f77a6215f7160af707f73915f7050a13efc0f7
+060a80fffef84ccc157c0a13dfc07d0a13efc07e0a0ef589adf8d9ad01f5e0f807eb
+03f7af6015f84b0a2ff71315510a60f8c515520a0e3281ba84a6f7efaef75ea9a677
+12b2e1f770da133ef77c6015f84c0af705f73b15f7050a13bef7060a80fffef84ccc
+157c0a137e7d0a13be7e0a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0f74aacb2
+ac9bae1327c0f82ef95d15f40aeafbf41530f748061337c0c40a13afc0540a1367c0
+550a13a7c0c50a1377c0c60afffefbe666ff01d6199815f84d0a0efb2881bcf765ad
+f70eacdcbd01b0dff75be103ff00d43333ff02fd333415fffffcccccff0000e664ff
+fffb3333ff0000e668878bffffe4cccd8bffffed999afffff0b334fffff99999ffff
+fa999808fffffe6667fffff6199cff005b3333ffff9de66405ff000ccccefffff280
+00ff0005999afffffb8000ff0004cccc8bff000666668bff0005999aff000566688b
+ff000480008bff00064cccffffff3334ff00064ccc879408ff0044ccccffff7a3334
+15f40a96fb80157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36caccdbd12f4e0
+f74aacb2ac9bae1327c0f7f5f95d15f40af72cfbf41530f748061337c0c40a13afc0
+540a1367c0550a13a7c0c50a1377c0c60aff00fe1998ff01d6e66815f84e0a0efb28
+81bcf765adf70eacdcbd01b0dff75be103ff01086666ff02f7333415ffffc3999aff
+ff94e66405fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6688bffff
+f9b330ff00059999fffffa999cff0005999a8bff0005999a8bff00066666ff000399
+9897ff000d800008e7ff0062199cfffffd999aff0009e66405ffffed999aff0013cc
+ccffffeb8000ff0000e668fffffae6668b878bfffffb3332ffffff1998fffffd999a
+ffffff199c08ff0048999affff0ecccc15f40a96fb80157f0adcfb5415800a0e6589
+ac6cb2f7b0b1f788b36cac12f4e0f74aacb2ac9bae132780f7b76015f84b0a81f828
+1530f74806133780c40a13af80540a136780550a13a780c50a137780c60a0efb2881
+bcf765adf70eac01b0dff75be103f7826015f84c0afb06f7d9157f0adcfb5415800a
+0e65fb3ec089c2c9ac6cb2f7b0b1f788b36cac12f4e0f74aac75a6adac9bae138970
+f7e4fb0915b30a134970b40a138970b50a54f8721530f74806130db0c40a132bb054
+0a1319b0550a1329b0c50a131db0c60a0efb28fb3cc089c2bfbcf765adf70eac12b0
+dff75be144a613bdf7b4fb0715b30a137db40a13bdb50afb38f82115e20a133ee30a
+dcfb5415800a0e65fb5ca8d6abc9ac6cb2f7b0b1f788b36cacb8bf12f4e071a7ecc9
+a0ac8ea793ac9bae13c97ef848f9b915f7080afb48fe1915a2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+13d9bea4cedf8b0513e9bec50a13ddbef70a0a13ebbe540a13d9bef76f0a0efb28fb
+5ca8d6abff00364ccdff0030b333f765adf70eaccbc4e57712b0df67a6f72ac987e1
+3da613fe90f704f91c15f60af709fd7c1513ff40f7700a13ff20f7710a22f80e157f
+0a0efb0289acf7b8b1f788b36cacc2f312f4e097f3cfacb0aa13cf80f75ef98615f7
+090adcfc4315e08b8e748e5e9185a08b91918aa48aff001cb3348bff00224ccc8bff
+002180008cff001a80008ca58591768b85858854887e368b082ef7480613ef80c197
+95b71eb806f58ba463a146978b968d938efffffaccccb4fffff0e668ff00606668ff
+fffe9998ff00079998ffffff999aff00024cccfffffeccceff0000b334fffffd9998
+8bffffee8000fffffc9998fffffb3334ffffff6668ffffe74ccc8b08ffff00b33406
+13df80570a0efbb189acf7fbb2f77fadc4ef01ebdaa8ef95dc03f760f9bb15f7010a
+6efd4115810a0ee581aff783aff7d5afe2bd12b0ebf821e063ac13f8f86df97d15f4
+0af7143415f70b0a13fcf70c0a13faf70d0a0e2cfb82b0f74ec455c8e2aaf785aa75
+b8c3bd12abd062dd41c0f75adb9dc2139230f7f0f89a15f40af757fb83152e5c7866
+1e139ab0f70e0afb4ffbb51513d330f70f0a13b330f7100af7ccf82115f7110a1396
+b0f7120a13bab0f7130a13b270830a13b330f7140a13d670f7150a0ef71b89acf7b6
+b5f78facc1f301f5e0f719f3f4e003f7d8f98515f7000af7bafd0b15580a0e5289ac
+f7f8bff700ef85a9a67712e3dad2efb2da13eff782f8eb15850a44fffec6e66615f7
+6d0a13dff76e0a0ef71bfb64eff5acf7b6b5f78fac01f5e0f719eff701e003f8fef7
+0e15580afbbafbaa15f84a0a0e52fb65eff6acf7f8bff75ea9a67701e3dab6efceda
+03f766fb3115f84a0a60ff01bae66615840a0ef71b89acf7b6b5f78facc9eb01f5e0
+a8ebe8eba7e003f8fef70e15580afb65f90f15b70afb5116b70a0e5289acf7f8bfe3
+e6a2a9a67712e3dab4e5bae650da13ff00f7edf8d015729f77a4a4a09fa4a476a072
+1e727776721ffb1d16f7a00a62fffee1e666158bff0015199a94ff000c4ccc93ff00
+08b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ffff
+f2e666ff000b999affffe9199a0813fe8095ffffec33348dffffe4cccc8b6d08fb2c
+078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba08691539080
+8f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334
+a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334ff
+fff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b769185
+ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f828f
+8bde080ef71bfb5ba8d6abc8acf7b6b5f78fac12f5e07dc9f7bae013fdf8fef70e15
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ff0025ccccff0000e666ff0029199aff0000cccdff0022b334ff000033
+3308ffffd86666ffffa1199a9185059b90958c9e8b0813fba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+ff0018999aff0041e66605ff00219999ffffffcccdff0028999affffff199aff0025
+3333ffffff333391918ba085910813fd458e7a908bde08f75bf7eafb5b078b387a86
+458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff002fb3348a
+b78a91918ba0859108458e7a908bde080e52fb5ca8d6abc9acf7f8bff75ea9a67712
+e3da7ac9f739da13fd80f7092b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce05ff0020e666ffff
+ffcccdff001ce667ffffff1999a4ffffff199a91918ba085910813fe80ffffcd3333
+8f828f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff0025
+4cccff0032999aff0015b334ff002766668bff001466668ba0fffff2e666ff000b99
+9affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b76
+9085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2ffff
+fc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffff
+cee6668bffffc4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b99
+08ff0000cccdf77505cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897
+908b3708fc49078b38fffff4333387518785858b769185ff001acccdff0000cccdff
+001d8000ff0000cccdff001f8000ff00004ccc0863ffffa0199a9185059b90958c9e
+8b080ef71bfb5bc4f720acf7b6b5f78fac01f5e0b1a6f76ca6ade003f8fef70e1558
+0afbfefb4215f7950a0e52fb65c4f72aacf7f8bff75ea9a67712e3da74a6f762da46
+a613fa80f73f4d15f60a13fd0087ff015be666158bff0015199a94ff000c4ccc93ff
+0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466668ba0ff
+fff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39
+8187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390808f8bdd
+08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef3334a1ffff
+e0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334fffff999
+99fffff5cccc8b9908ff0000cccdf7750513fa00cc8fb38b1e92878e821e7281407d
+638889838d7b91850813fd00bf8897908b3708fc49078b38fffff433338751878585
+8b769185ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33
+338f828f8bde080efbbefb3ec089c2c9acf8dbac12f5e0d3a613bcf76cfb0915b30a
+137cb40a13bcb50a72f78315590a0efbd8fb3ec089c2c9acf7f6a7a877f711ef12e5
+ef33dacfa613bc80f75efb0915b30a137c80b40a13bc80b50a133e80fb04f9601585
+0a133d80e6fc7115860a0efbbe89acf8dbacc9eb0191eb8fe08feb03141cff00e119
+9aff0379e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c
+8bfffff9cccc8b84ff00049999fffff9ccccff0006e6678bff0006e6668bff00094c
+cdff00029998ff00103333ff0007e66808ff006ee666ff0033199805fffff63334ff
+0012ccd0fffff01999ff000f4cccffffe9e667ff000bb33408ffffe1e666ffff7b19
+9815b70afb5116b70af74dfd0f15590a0efbd889acf7f6a7a877f5eafffffd333476
+1287e997da7be913ecf745f97815f84f0afb49fb391513f4950a13f5f73d16d80a13
+e69bfc5915860a0eb589acff0115e666ff00266666ff010ab334acd27601f5e003f8
+2df9c715b10afb6efd4d155b0a0e3889acf803acf766a9a67701e1da03f7eff93315
+f78e0afb99fcb915880a0eb5fb64eff5acff0115e666ff00266666ff010ab334ac01
+f5e0e0ef03f7a8fb3015f84a0a36f7aa155b0a0e38fb64eff5acf803acf766a9a677
+01e1dab0ef03f75efb3015f84a0afb08f7aa15880a0eb5fb17b7e0acff0115e666ff
+00266666ff010ab334ac01f5e003f848fb1715f7900a63f791155b0a0e38fb17b7e0
+acf803acf766a9a67701e1da03f7fcfb1715f7900a46f79115880a0e48fb64eff5ac
+6cb2f8d3ac12f5e0afeff727ac139ef777fb3015f8490a13be3df730155c0a13de5d
+0a13be5e0a13de5f0a0efbdffb64eff5acf8f6a9a67712ddef34da13f4eaf70e1589
+0a13f87efd5f15f8490a0e48fb64eff5ac6cb2f8d3accdbd12f5e0afeff727ac139f
+f795f95d15f40af756fdf915f84a0a13bf3df730155c0a13df5d0a13bf5e0a13df5f
+0a0efbdffb64eff5acf8f6a9a677c5bd12ddef34da13faeaf70e15890a13fc7efd5f
+15f8490af729fa1015f40a0e48fb17b7e0ac6cb2f8d3ac12f5e0f7afac139cf804fb
+1715f7900a13bc7df717155c0a13dc5d0a13bc5e0a13dc5f0a0efbdffb17b7e0acf8
+f6a9a67701eada03eaf70e15890af718fd4615f7900a0e4889ac6cb2f8d3ac12f5e0
+f7afac1338f7be6015f84b0a1378fb29b6155c0a13b85d0a13785e0a13b85f0a0efb
+df89acf8f6a9a67701eada03eaf70e15890ac1fcee15f84c0a0ef788967693acf8db
+acd276121330f864f9c715b10aff00c6b334fd53151370600a13b0610a0ef75789ac
+f7f6a771bf12e9daf753daf753da141c139cf829f93315f75e0afb7ffbcd15f8500a
+13dcf8510a13bcf8520a0ef788967693acf8dbacc2f312f807f31338f807f98615f7
+090aff0123b334fd12151378600a13b8610a0ef75789acf7f6a771bff700ef12e9da
+f73def3ddaf753da139df7eaf8eb15850afb40fb8515f8500a13dbf8510a13bbff00
+27999aff0026b334ff00258000ff00144cccff001ee6668b08b1a773481ffb42078b
+398386558786858b769085a48cb08cb38bb38bac8aa48a90918ba08691598f82908b
+dd08f7330713bd8b998b998a97bbc0b898b28b08b1a175481ffb44078b3981865787
+86858b769085a48cb08cb38bb38bae8aa78a90918ba08691548f82908bdd08f73207
+e47cd1331effffcccccc8bffffc24cceffffed3334ffffcbe6665488fffffccccc85
+8689ff0008999afffff68000b4ffffd98000ff00206666578b518bffffcbb333ffff
+dd999affffd64ccdffffd16666fffffb6666fffffae666fffff9199afffff9199aff
+ffff800097080ef788fb64eff70b7693acf8dbac12f7eeef1398f7eefb3015f8490a
+ff013cb334f7a41513b8600a13d8610a0ef757fb64eff5acf7f6a771bf12e9daf745
+ef35daf753da13cdf7f2fb3015f8490afb48f89615f8500a13ebf8510a13dbf8520a
+0ef3967693acf8dbacc2f312f1bcf72df3f728bc133ef7c4f98615f7090af790fb86
+15ca0a137ecb0a13becc0a0e5689acf7f6a771bff700ef12ebdacaefb4da139ef782
+f8eb15850a55fb8515e70a13dee80a13bee90a0ef3fb64eff70b7693acf8dbac12f1
+bcf729eff730bc139ef7c0fb3015f8490af794f93015ca0a13becb0a13decc0a0e56
+fb64eff5acf7f6a771bf12ebdab3efcbda13cef76bfb3015f8490a6cf89615e70a13
+eee80a13dee90a0ef3fb17b7ed7693acf8dbac12f1bcf829bc139cf859fb1715f790
+0af7c8f91715ca0a13bccb0a13dccc0a0e56fb17b7e0acf7f6a771bf12ebdaf760da
+13ccf7fbfb1715f7900aa9f87d15e70a13ece80a13dce90a0ef3967693acf8dbac12
+f1bcf829bc1338f8036015f84b0af751f8bf15ca0a1378cb0a13b8cc0a0e5689acf7
+f6a771bf12ebdaf760da1398f7b16015f84b0a26f82515e70a13d8e80a13b8e90a0e
+f681aff8e8afff001fccccff003a4cccffffe2666876ff00306668ff003c800012b0
+ebff005e3333a2ff00be6667ff0016e666ff006a8000eb13e780ff0190b334ff02ec
+199815f7730a13cf80f7740a13e780f7750affffba4cccffff81e66815640af7e3fb
+b915650affffc61998ff01dbe66815ffffa08000ffffb44ccc05fffff60002fffff8
+1998fffffe8000fffffb999c8bfffff9cccc0813d78084ff0004999afffff9ccccff
+0006e6641eff0006e6688bff00094cccff00029998ff00103334ff0007e66808ff00
+6ee668ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664
+ff000bb334080e3081aef80faec6c089c2ff001a33347612b4e1f774a68ae113eef7
+c4f8bb15b30a13deb40a13eeb50afb9bfbee15eb0a13cdec0af759f75b158b0af2f7
+ee15ffffc5ccccffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988b
+fffff6199c8bfffff9ccccff00056666fffffab334ff000566668bff000566688bff
+00061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb3
+34ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff1998080ef681aff8e8afff
+001fccccff003a4cccffffd5e668e7ffffcbe668ff003c800012b0eb6be7ff002233
+33a2ff00be6667ff0016e666ff002f8000e76aeb13d1c0f893f98415f8530a13d380
+fc2e16f8530a13e180ff012bb334fffffc199815f7730a13c980f7740a13e180f775
+0affffba4cccffff81e6681513c5a0640af7e3fbb915650a0e3081aef80faec6c089
+c2aaea12b4e17ae9d6e975a68ae113ec80f7c4f8bb15b30a13dc80b40a13ec80b50a
+fb9bfbee15eb0a13cc40ec0af759f75b158b0a13ca00fb14f7aa15d80a13c900f73d
+16d80a0ef681aff8e8afe2bd01b0ebf849eb03ff01ba4cccf97d15f7720adafb0f15
+640af7e3fbb915650afffdc5e668ff01dc199815f84d0a0e3081aef80faedabd01b4
+e1f78ee103ff00d5e666f98a15fffffce667ff0000e668fffffb4ccdff0000e664ff
+fffc33338bffffe5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008ffff
+fe6666fffff64cd0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056667
+fffffb999cff000499988bff000633348bff00056666ff000533308bff000466688b
+ff00063334ffffff3334ff00063334fffffc3332ff0008cccc08ff005c3334ffff7e
+cccc15f40a2cfbcd158a0af759f75b158b0a0ef681aff8e8afff003c800076ff002f
+8000bd01b0ebf849eb03ff01a44cccf97d15f7720af0fb0f15640af7e3fbb915650a
+ffffc11998ff01dbe66815f84e0a0e3081aef80faedabd01b4e1f78ee103f7a5f993
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566668bff00
+06199aff00039998ff000b8000ff000d333408ff00589999ff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8bffff
+fc19988bfffffb8000ffffff199cfffffdb334ffffff199808e2fb8d15f40a2cfbcd
+158a0af759f75b158b0a0e5589acf78fad73a8f7bdadcd7612f3e0f775e8139ef7ec
+f9c715b10afb2ffb9d15f8540a13defb00575f2a1e13bef7460a36f75e15f7bf0a13
+def7c00a0e3ffb7eacf753adf7fda777b912dbdaf780e113ccf7cdf93315d60afb1e
+fbe81513dc8c0a78b015f7f10a13ecf7f20a13dcf7f30a0e5589acf78fad73a8f7bd
+adbdf312f3e0b8f3d7e8139ff77ef98615f7090a5efb5c15f8540a13dffb00575f2a
+1e13bff7460a36f75e15f7bf0a13dff7c00a0e3ffb7eacf753adf7fda777b9f700ef
+12dbdac6efd8e113cff76ef8eb15850a60fba01513df8c0a78b015f7f10a13eff7f2
+0a13dff7f30a0e8381aa74acf798adf7b9adbdf312f3e0aef3d8e7133ff774f98615
+f7090abbfb1c15670a38fc8415680a13bf690a137f6a0a0efb7389acf7eec955a7f7
+1aef12efda75ef1394f731f8eb15850a9efb8515f7230a13b8f7240a13d8f7250a0e
+83fb64efedaa74acf798adf7b9ad12f3e0c1efc9e7139ff787fb3015f8490aa8f99a
+15670a38fc8415680a13df690a13bf6a0a0efb73fb64eff5acf7eec955a712d7ef3f
+da13c8d7fb3015f8490aeff89615f7230a13d4f7240a13e8f7250a0e83fb64efedaa
+74acf798adf7b9adc8bd12f3e0c1efc9e7139f80f80df95d15f40ae5fdf915f84a0a
+a8f99a15670a38fc8415680a13df80690a13bf806a0a0efb73fb64eff5acf7eec955
+a7f700bd12d7ef3fda13c8f7bdf89d15f40a13cc8efd3915f8490aeff89615f7230a
+13daf7240a13ecf7250a0e83fb17b7d8aa74acf798adf7b9ad12f3e0f76ce7139ef8
+31fb1715f7900acbf98115670a38fc8415680a13de690a13be6a0a0efb73fb17b7e0
+acf7eec955a712efda13c8f792fb1715f7900af713f87d15f7230a13d8f7240a13e8
+f7250a0efb0281aff8eaadb7f312a6ff00208000fffff78000ff00476666ff003399
+9af3dddf4bff0020800013e4f742f98615f7090aff00dcb334fb0f15f7260a13eef7
+270a13f6f7280a13edf7290a0efb6181ac8976f82aacf700ef12bbaa7ad2a5ef9ad7
+55ab133200f733f8eb15850a137b00fb03fc6115f72a0a13b700f72b0a13b680f72c
+0a13bb00f72d0a0efb02fb64efedaff8eaad12a6ff00208000fffff78000ff004766
+66ff0037999aefdddf4bff0020800013e4f746fb3015f8490aff00d8b334f9a715f7
+260a13eef7270a13f6f7280a13edf7290a0efb61fb64efedac8976f82aac12bbaa7a
+d292efadd755ab13bb00bbf71e15f72a0a13d700f72b0a13d680f72c0a13db00f72d
+0ae7fbba15f84a0a0efb0281aff8eaadacef12a6ff00208000fffff78000ff004766
+66ffffcb999aeff752df4bff0020800013e4d1f97b15850af79bd715b10aff003db3
+34fb5015f7260a13eaf7270a13f2f7280a13e9f7290a0efb6181ac8976f82aacff00
+6b4ccce512bbaaffffe56666e5ffffaf999ad2f721d755ab137900bbf71e15f72a0a
+13b300f72b0a13b280f72c0a13b900f72d0af754f8a915a30a133400ffff446666ff
+ffb2199815ffffe8999cff0015999affffe89998ff0015999aff00193333ff001599
+99ff001833349eff00159998ffffed199aff00193334ffffe7b3331effffea6667ff
+ffe6ccccffffea6668ffffea66641f0efb0281aff8eaadc776e8f312a6ff00208000
+fffff78000ff00476666ff0041999af3cfdf4bff0020800013f200f750f9de15f709
+0aa6fb2515f7020aff00b3b3344915f7260a13f700f7270a13fb00f7280a13f680f7
+290a0efb6181ac8976f82aacff00a24ccce5ffffd1b3347712bbaa7ad2ff00116666
+e5ff0021999ad755ab136580bbf71e15f72a0a13a380f72b0a13a340f72c0a13a580
+f72d0af70df80015bd06a8b9b1b8aeb208132900f7500affffed6666ff0092199815
+133100ffffe8999cff0015999affffe89998ff0015999aff00193333ff00159999ff
+001833349eff00159998ffffed199aff00193334ffffe7b333ffffea6667ffffe6cc
+ccffffea6668ffffea66641e0efb02fb64efedaff8eaadb7f312a6ff00208000ffff
+f78000ff00476666ff0037999aef2df3d3df4bff0020800013f100f74cf98615f709
+0a13f20085fe2215f8490aff00d8b334f9a715f7260a13f480f7270a13f880f7280a
+13f440f7290a0efb61fb64efedac8976f82aacf700ef12bbaa7ad292efadd755ab13
+9900f71ef8eb15850a13bd8031fc6115f72a0a13db80f72b0a13db40f72c0a13dd80
+f72d0ae7fbba15f84a0a0e8d89acf86ef7285cb2c4f3128eadf76ef32de0f763ad13
+9df793f98615f7090a13bbeafd0c15f76b0a13dbf72e0a13bbf72f0a13dbf7300a13
+bbf76c0a0efbab81c2f7edb2f78def12dfef2cda13f0dff96e15850a62fbc115f855
+0a13e8f8560a0e8dfb64eff5acf86ef7285cb2128eadf769ef36e0f763ad13cdf78e
+fb3015f8490a13dbeff7aa15f76b0a13ebf72e0a13dbf72f0a13ebf7300a13dbf76c
+0a0efbabfb64efedc2f7edb212e4da67ef13e8f718fb3015f8490a32f8dd15f8550a
+13f0f8560a0e8dfb17b7e0acf86ef7285cb2128eadf778e0f763ad13cef821fb1715
+f7900af732f79115f8120713def7310a13eef72e0a13def72f0a13eef7300a13def7
+320a0efbabfb17b7d8c2f7edb201e4da03f799fb1715f7900a7ef8c4158e0a0e8d89
+acf86ef7285cb2128eadf778e0f763ad139cf7d75f15f84b0aa6f73a15f8120713bc
+f7310a13dcf72e0a13bcf72f0a13dcf7300a13bcf7320a0efbab81c2f7edb201e4da
+03f7516015f84c0afb26f86c158e0a0ecdfb34eac2b4f8dbac01e2e0a8e9d6e9c9bc
+03f75dfb0515950af73d16950afb5af910156b0a0e4bfb34eac2ba84a6f7e9ac12e3
+da54e9d6e97fda1394f704fb0515d80a1392f73d16d80a13d94bf215f10a13b9f20a
+13d9f30a0ecdfb3ec089c2c1b4f8dbac12e2e0f7a9a6bdbc13bef826fb0915b30a13
+7eb40a13beb50afb7af914156b0a0e4bfb3ec089c2c1ba84a6f7e9ac12e3daf754a6
+74da138ef7ccfb0915b30a134eb40a138eb50a132d2cf615f10a131df20a132df30a
+0ecd81b4f8dbac01e2e0f7f6bc03f7f25f15f84b0afb46f8cb156b0a0e4b81ba84a6
+f7e9ac12e3daf758da1338f7966015f84c0a13b862ac15f10a1378f20a13b8f30a0e
+cd81b4f8dbacff0027ccccff003a4cccfffffdccd0ff003c800012e2e0ff003c3333
+a2ff00be4ccda2ff00398000bc13efff0195999aff02e9199815ffffefe6668bffff
+f18000ff0007b334fffff26666ff000d33340813df7aff000f6668ffffed4ccea1ff
+ffe680008bffffdb80008bffffec6666ffffd51998fffff41999ffffbf1998ff0005
+199afffff96668ff00088000fffffee668ff00096666ff00023330ff00088001ff00
+244cd0ff00086666ff00108000ff0016199a8bff000e80008bff00103332fffff733
+30ff000f4ccefffff3e6680813efff0011ccccfffff09998ff0011ccccffffec3334
+ff0012b3348bff0027199a8bff0018b332ff002ae668ff000a3334cdfffffae666ff
+00046664fffff78000ff00034cd0fffff6999afffffee66408fffff4199affffd1cc
+ccfffff6b33280ffffed4cce8b08ffff166666ffff21e668156b0aff01a61998ff02
+35e66815f84e0a0e4b81ba84a6f7e9ace4c089c212e3daf758da44a61324f7ccf99e
+15ffffc5cccdffff974ccc05fffff9b334fffff4b334fffffd8000fffffc99988bff
+fff6199c8bfffff9ccccff00056666fffffab334ff000566678bff000566678bff00
+061998ff00039998ff000b8000ff000d333408ff0058999aff005fe668fffffdb334
+ff0009b33005ffffee4cccff00136668ffffec3334ff0000ccccfffffb199a8b08ff
+fffc19988bfffffb8000ffffff199cfffffdb334ffffff199808133597fb6115b30a
+132db40a1335b50a13a620fcdb15f10a1366f20a13a6f30a0ecd81b4f8dbaccfde54
+bd12e2e050ddf7c2dd56bc13e2f8aef95f159ea19ba4a5769b7774797b711f6ea37f
+9c1efc148e1513c4a39c9fa0a1799e74727b7776749c79a31f13d0ff01174ccca415
+f7720a13c944fb70156b0a0e4b81ba84a6f7e9ace2bdd0ea12e3da68e9d6e96bda13
+3a00f718f94015d80a133900f73d16d80a133880c9fb3a15f40a13b880d9fca415f1
+0a137880a19dae9ac89291918b9a85914b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b0813b9006b8b678c698c85858b7691850813bc80bc88987f8b49
+08fb55078b7889837d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e86
+1e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e
+0ec49476f906acbac089c212f845a613e8f816f97f15b30a13d8b40a13e8b50ac9fb
+19156c0a0e299476f82eace4c089c212f808a613e8f7d9f8d115b30a13d8b40a13e8
+b50afb43048f0a0ec4fb64eff70976f906ac01f791ef03f791fb3015f84a0af757f9
+96156c0a0e29fb64eff70976f82eac01f754ef03f754fb3015f84a0af719f8be158f
+0a0ef7f89476f906acd37601f803f9c615ffffddccccfffff46668ffffe88000ffff
+f04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b938b928791
+809308f7d6fb3d156d0a0ef72c9476f82eac01f7d4f93315740afb4ffb2715f7340a
+0ef7f89476f906acd27601f892f9c715f75d0af7c0fb92156d0a0ef72c9476f82eac
+01f836f93315f78e0afb6bfba515f7340a0ef7f89476f906accbea01f7d7e9d6e903
+f7d7f98a15950af73d16950af7d2fb55156d0a0ef72c9476f82eaceaea01f782e9d6
+e903f782f8d115950af73d16950afb60fb4315f7340a0ef7f89476f906acc2f301f8
+14f303f814f98615f7000af83efb51156d0a0ef72c9476f82eacf708ef01f7d2ef03
+f7d2f8eb15f7010afb07fb5d15f7340a0ef7f8fb64eff70976f906ac01f828ef03f8
+28fb3015f84a0af82af965156d0a0ef72cfb64eff70976f82eac01f7d2ef03f7d2fb
+3015f84a0afb07f8be15f7340a0ecc89acf8dbacc2f312f7a8e82ff313e8f7a9f986
+15f7090af799fd2015fb2df7660513f0f8570a0e2289acf803acf708ef01f75eef03
+f75ef8eb15f7010a77fb8515900a0ecc89acf8dbaccbeb12f753eb80e896eb13e4f8
+10f98b15b60a13f4fb5116b60af7effd2515fb2df7660513ecf8570a0e2289acf803
+aceaea01f70ee9d6e903f74af7fa15900afb0df7c515950af73d16950a0e7789acf8
+dbacc2f312f77ff334e013f0f77ff98615f7090a13e8f1fd0c15f7350a0e3bfb7cdb
+f8baacf708ef01f76eef03f76ef8eb15f7010a7dfd8b15910a0e948bb1f8c8b69377
+d97612c8a91398f7ecf9bc15b20af763fdbe15f7380a13d8f7390a13b8710a13d872
+0a0efb3f8badf7fab0957712bdac1390f77df92815d70a13b0fb36fb7115f7360a13
+d0f7370a0e94fb64eff700b1f8c8b6937712c8a9f742ef13ccf79dfb3015f8490af7
+b2f72e15f7380a13ecf7390a13dc710a13ec720a0efb3ffb64eff700adf7fab09577
+12bdacd6ef13ccf732fb3015f8490a13dc34f8e715f7360a13ecf7370a0e94fb17b7
+e2b1f8c8b6937712c8a913c8f82afb1715f7900af7f2f71515f7380a13e8f7390a13
+d8710a13e8720a0efb3ffb17b7e2adf7fab0957712bdac13c8f7bdfb1715f7900a13
+d876f8ce15f7360a13e8f7370a0e52fb17b7e0acf7f8bff75ea9a67701e3daf766da
+03f7fcfb1715f7900a97ff01a0e66615840a0efbab81c2f7edb2f755ea1295e97cda
+96e913f495f93115d80af73d16950afb1cfb8415f8550a13ecf8560a0ef72c9476f8
+2eacceabf5ab01f7aeb3ebb303f806f91015ba0a335615da0a3cfb4d15f7340a0e3b
+fb7cdbf8baaccdabf5ab01f749b3ebb303f7a1f90f15ba0a335615da0aa2fd7a1591
+0a0efb1e81bb5bb4f80bacdbacf70aab1295af81de4bd8f735d9133c80b9f8f715f7
+a90af78bfc0e15d40a137a80d50adafb381513b980760a137a80770a0efbc489acf8
+00adf77fadd7ef12e8da9fef7bdc13fcf754f9ce15850a77fd5415f7f407f70c9bd1
+c01e13faa38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+0848334cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38
+8086558885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde
+080efbc489acf800ad9477f78aad12e8daf3dc13bcf787f84a1544ffffd666668bff
+004d999a05f70c9bd1c01ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c
+98779d7597628b0848334cfb321f13dc7081766c79867f831e8207878c8a8f1eb706
+998c877f1f8b6e34589c6ed1ff0028cccc8bffff433334058b388086558885858b76
+9185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde088bff00eacccce3
+ff00333334050efbc489acf800adf3b2e7ad12e8daffffbdcccdff00479999ff0062
+999adc13f6f79ff8d015ffffa6666606ff00084ccdff003b33349eff0020ccccff00
+244ccd8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+08ffffcc80008bffffc0199affffdaccccffffe53333ffffa7333408ffffae333364
+ff0049199a0613fafffffd6668ffffeeccccfffffe8000ffffed66688bffffebcccc
+087081766c79867f831e8207878c8a8f1eb706998c877f1ffb95078b388086558885
+858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4078b
+ff00154cccff00008000ff0013b334ff0001199a9d08ff005d6666060ef70b81b26c
+acf7baaaf79db012f3e0f70fa8f773e513bef751f70e15f75a07f765ede7f70bb5bd
+7d7d1e8b742efb2e5b4708917305928c908b918b08f732a4fb0567fb084f6c591f48
+8b70b878dbfffff64cccff00028000fffff66668fffffe8000fffff64ccc8788408f
+6c9070b882ff000f800078ff004280008b08f718d8e8edea33db2687898d8f1f8b8d
+8b8d8d8e08f727f7808ba305519e4b954d8b08fb9a51fb36fb5d1ffb4107137e8b38
+7a86458885858b769185bc8ca98cbe8bbd8ba88abd8a91918ba0859108458e7a908b
+de080e3b81aef910b012b0dc7eaff792df13e8f70af758158bf704a7bcf706c3ea4c
+b32d8b5208337635fb061efb0a73ead71f3a811542b5fb0ff73ff6f70eb5f7461e8b
+d759f1fb09cb0813d8fb09cb55af8bb18bc4c699b88bb08ba97d9f6fa16d9b7c958b
+998bb1948baa8b977b9d6aa1086ba05d964f8b4b8b3f758b358b53b564df4dfb2756
+5cfb008b35080eeffb64eff5acf766b5f80b7701f7b4ef03f7b4fb3015f84a0a72f8
+4b154a0afbb1fb60154b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d913
+93f739fb3015f8490af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef
+89acf766b5f80b77f72da301f7abb8a1a59bbf03f84cf98b15f8580afb45fc70154a
+0afbb1fb60154b0a0efb1e81bb5bb4f80bacf753a612afde4bd88fb69aa795bd96d9
+1333c0f7aef8eb15f8590a96fc0215d40a137bc0d50adafb381513b7c0760a137bc0
+770a0eef89acf766b5f80b77d47601ff022c1998ff035f666815f85a0affff4ce668
+ffffc8999815b20afb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bac12af
+de4bd8f735d91324ff017e999aff02c9666815ffffcb199affffa0cccc05fffffa4c
+ccfffff5b334fffffdb334fffffce6648b828bfffffa6668ff0004e666fffffb3334
+ff0004e6668bff0004e6668bff0005999aff00033330ff000a80009708ff00508000
+ff00573334fffffde666ff0008cccc05ffffefe666ff0011999cffffee199aff0000
+ccccfffffb80008b08fffffc80008bfffffbccceffffff3334fffffde666ffffff33
+3408ffff686666ffffca999815d70ac9fc3f15d40a1374d50adafb381513ac760a13
+74770a0eef89acf766b5f80b77d47601ff00a7199aff035ecccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e666ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff8
+4ccdff0006666408ff007d3333ff000c666815b20afb06fca1154a0afbb1fb60154b
+0a0efb1e81bb5bb4f80bac12afde4bd8f735d91324ff003dccccff02c9666815ffff
+fd3334ff0000ccccfffffbccccff0000ccccfffffc80008bffffe833348bffffefe6
+66fffff26668fffffa6667fffffb333008fffffe999afffff73334ff004fccccffff
+a8cccc05ff000b33327fff0004e66787ff000433338bff0005999a8bff0004e666ff
+0004ccd08b8f8bff00059998ffffff4ccdff00059998fffffc80009308ff00783333
+ff002f666815d70ac9fc3f15d40a1374d50adafb381513ac760a1374770a0eef89ac
+f766b5f80b77d476f731a301f84bb8a1a59bbf03f8ecf9c315f8580afb738415b20a
+fb06fca1154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacf7b4a612afde4bd8f719
+b67cd95ba795bd1332c0f82ff94c15f8590afb486715d70a137900c9fc3f15750ada
+fb381513b500760a137900770a0eef89acf766b5f80b77ff009b9998ff0032666889
+ff00344ccc1213e0f80df9a215b20afb06fc87154a0afbb1fb60154b0a13f0ff0116
+e666f99115f85b0a13e8f85c0a13f0f85d0a0efb1e81bb5bb4f80bacf790c089c212
+afde4bd8f735d962a6133080f7aff97c15b30a132880b40a133080b50a573715d70a
+136500c9fc3f15750adafb381513a300760a136500770a0eeffb64eff5acf766b5f8
+0b77d37601f7b4ef03f80df9bb15b20a32fe5715f84a0a72f84b154a0afbb1fb6015
+4b0a0efb1efb64efedbb5bb4f80bac12afde4bd8acefa7d91393f783f92715d70a41
+fdc315f84a0af714f81915d40a13bbd50adafb381513d7760a13bb770a0eef89acf7
+66b5f80b77c0bf01f772a7f76ca703ff01a0199aff037ae66815f7520aff004de666
+ffffa9199815f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4
+ff003f333476ff002fcccc7712afde4bd84ea6f757d952a6133c00f785f97815f84f
+0a133ca0fb232e15f60a137e40f757fc3215750adafb381513bd40760a137e40770a
+0eef89acf766b5f80b77c0bf01f772a7f76ca703ff0133e666ff0378199815f7530a
+ff005ce666fffff5cccc15f50afb7bfc9d154a0afbb1fb60154b0a0efb1e81bb5bb4
+f80bacc8c4ff0047666876ff002799987712afde4bd84ea6f757d952a6133800ff00
+b1e666f98115fffffce667ff0000e668fffffb4ccdff0000e664fffffc33338bffff
+e5cccd8bffffee6666fffff1199cfffff9cccdfffffab33008fffffe6666fffff64c
+d0ff0057cccdffffa0199805ff000c4ccdfffff2ccccff00056666fffffb999cff00
+04999a8bff000633338bff00056666ff000533308bff000466688bff00063334ffff
+ff3334ff00063334fffffc3333ff0008cccc081334a0ffff7a3333ff0008cccc15f6
+0a137240f757fc3215750adafb381513b140760a137240770a0eef89acf766b5f80b
+77c0bff712a301f772a7a7b8a1a59bbfa6a703f84bf9d915f8580ac26a15f50afb7b
+fc9d154a0afbb1fb60154b0a0efb1e81bb5bb4f80bacc8c4e577eba612afde4bd84e
+a6aeb69aa795bd99d952a6133c70f7abf94815f8590a133cf4fb495e15f60a137e78
+f757fc3215750adafb381513bd78760a137e78770a0eef89acf766b5f80b77adbfff
+00459998ff0032666889ff00344ccc12f772a7f76ca713f3f882f9a515f7080afb7b
+fc8a154a0afbb1fb60154b0a13fbff0111e666f99115f85b0a13f7f85c0a13fbf85d
+0a0efb1e81bb5bb4f80bacc8c4e577cac089c212afde4bd84ea6f757d952a678a613
+3c48f7a7f97b15b30a133a48b40a133c48b50afb452b15707f059936be59d18b0813
+3850c68bcbbc97e10870970581515d6b578b558b60b080c008137920f757fc321575
+0adafb381513b8a0760a137920770a0eeffb64eff5acf766b5f80b77c0bf01f76fa7
+b4efd6a703f87ff9b815f50afb5ffe5415f84a0a72f84b154a0afbb1fb60154b0a0e
+fb1efb64efedbb5bb4f80bacc7c4e57712afde4bd856a6c6efa7d95aa6139cd0f5f9
+1a15f60ac6fdb615f84a0a13be60f714f81915750adafb381513dd60760a13be6077
+0a0e65fb64eff5ac6cb2f7b0b1f788b36cac12f4e0beefaaacb2ac9bae1393e0f785
+fb3015f8490ab3f8991530f74806139be0c40a13d7e0540a13b3e0550a13d3e0c50a
+13bbe0c60a0efb28fb64efedbcf765adf70eac01b0dfc4efb5e103f746fb3015f84a
+0a55f84a157f0adcfb5415800a0e6589ac6cb2f7b0b1f788b36cacf724a312f4e0a5
+b8a1a59bbf86acb2ac9bae1327d8f80df98b15f85e0a2bfc221530f748061337b8c4
+0a13afb8540a1367b8550a13a7b8c50a1377b8c60a0efb2881bcf765adf70eacf755
+a601b0dfaab69aa795bda1e103f7bef8eb15f79f0afb42fbd1157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36cacafc089c212f4e0f74aaca1a681ac9bae1325d0f8
+10f97415b30a1323d0b40a1325d0b50a28fc0b1530f748061331b0c40a13a9b0540a
+1361b0550a13a1b0c50a1371b0c60a0efb2881bcf765adf70eacdec089c212b0dff7
+5be145a613f5f7b5f8d115b30a13edb40a13f5b50afb39fbb715e20a13e6e30adcfb
+5415800a0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff
+01ef199aff035d666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe
+9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff0006
+4cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e6664
+05fffff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab33408ffff
+4be666ffffca999815b20a69fc531530f748061337c0c40a13afc0540a1367c0550a
+13a7c0c50a1377c0c60a0efb2881bcf765adf70eac01b0dff75be103ff018a999aff
+02c9666815f85f0affff6e6666ffffca999815d70afb11fc0e157f0adcfb5415800a
+0e6589ac6cb2f7b0b1f788b36caccb7612f4e0f74aacb2ac9bae1327c0ff0068199a
+ff035ecccc15ffffe8199bfffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff0006666408ff007e3333ff000c666815b20a
+69fc531530f748061337c0c40a13afc0540a1367c0550a13a7c0c50a1377c0c60a0e
+fb2881bcf765adf70eac01b0dff75be103ff0054cccdff02c9666815f8600aff0073
+3333ff002f666815d70afb11fc0e157f0adcfb5415800a0e6589ac6cb2f7b0b1f788
+b36caccb76f734a312f4e0f728b880ac8ba598ac6dbf85ae132700f7abf9bc15b20a
+8dfc531530f74806133754c40a13af54540a136754550a13a754c50a137754c60a13
+27a8f76ef85d15f85e0a0efb2881bcf765adf70eacf7b6a612b0dff735b686e149a7
+95bd13fd80f840f94c15f8590afb476715d70afb11fc0e15e20a13fa00e30adcfb54
+15800a0e6589ac6cb2f7b0b1f788b36cacab76ff00869998ff0032666889ff00344c
+cc12f4e0f74aacb2ac9bae1324f0f7cff99c15b20a69fc331530f748061334f0c40a
+13acf0540a1364f0550a13a4f0c50a1374f0c60a1326f0ff0056e666f87615f85b0a
+1325f075ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668ff
+fff0999a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff00
+1f4ccc96ff000e3334ff001c999a8bff0012b3338bff0014e666fffff88000ff0013
+cccefffff58000081326f0f85d0a0efb2881bcf765adf70eacf78ec089c212b0dff7
+5be153a613f5f7c3f97815b30a13edb40a13f5b50a553b15d70afb11fc0e15e20a13
+e6e30adcfb5415800a0e65fb64eff5ac6cb2f7b0b1f788b36caccc7612f4e0beefaa
+acb2ac9bae1393f0f7bef9bd15b20a52fe5915f84a0ab3f8991530f74806139bf0c4
+0a13d7f0540a13b3f0550a13d3f0c50a13bbf0c60a0efb28fb64efedbcf765adf70e
+ac01b0dfc4efb5e103f788f92815d70a49fdc415f84a0a55f84a157f0adcfb541580
+0a0efbbe89acf8dbacf724a312d0b883e054a59bbf13f6f77af98b15f85e0a13e864
+fd1115f7180a0efbd889acf7f6a7a877f764a612c9b688da4ea795bd13fbf764f8eb
+15f8590a13f470fc7115860a0efbbefb64eff5acf8dbac12f0ef2ce013f0f0fb3015
+f8490a13e8e5f7aa15f7180a0efbd8fb64eff5acf7f6a7a877f711ef12e2ef36da13
+fce2fb3015f8490a8ef98715f7010a13fae6fc7115860a0ef6fb64efedaff8e8af01
+b0ebf740eff739eb03f7c5fb3015f84a0aa5f99e15640af7e3fbb915650a0e30fb64
+efedaef80fae01b4e1ceefdee103f756fb3015f84a0afb2df7fd158a0af759f75b15
+8b0a0ef681aff8e8afc076f711a301b0ebf716b8a1a59bbff726eb03f83cf9a315f8
+580a2efb3515640af7e3fbb915650a0e3081aef80faef753a601b4e1afb69aa795bd
+cfe103f7c9f8eb15f79f0afba0fc1e158a0af759f75b158b0a0ef681aff8e8afc076
+01b0ebf849eb03ff021d1998ff0358666815f85a0affff50e668ffffcf999815b20a
+68fb4e15640af7e3fbb915650a0e3081aef80fae01b4e1f78ee103ff0192999aff02
+c9666815f85f0affff796666ffffca999815ea0afb77fc5b158a0af759f75b158b0a
+0ef681aff8e8afc07601b0ebf849eb03ff009e199aff0360cccc15ffffe81999ffff
+f6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c
+05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff
+0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004ccccfffff8
+4ccdff0006666408ff007b3333ff000a666815b20a68fb4e15640af7e3fbb915650a
+0e3081aef80fae01b4e1f78ee103ff0054cccdff02c9666815f8600aff00863333ff
+002f666815ea0afb77fc5b158a0af759f75b158b0a0ef681aff8e8afc076f735a312
+b0ebf7b0b8a1a59bbf83eb13ff00f8d6f9c715f85e0afb688015b20a68fb4e1513fe
+80640af7e3fbb915650a0e3081aef80faef7b4a612b4e1f73bb69aa788e142bd13f9
+f84cf94c159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e13fa8b7f867f837f0813fd807a7e758a6908a7068da5959c
+9c9b089b9b9a9b8b9f08fb406715f8610a13faf8620afb77fc5b158a0af759f75b15
+8b0a0ef681aff8e8afff00869998ff0032666889ff00344ccc12b0ebf849eb13ccf8
+02f9a015b20a68fb3215640af7e3fbb915650a13ecffff0de666f89615f85b0a13dc
+75ff000d4cccffffe7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff099
+9a53ff0006999afffffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4ccc
+96ff000e3334ff001c99998bff0012b3348bff0014e666fffff88000ff0013ccceff
+fff580000813ecf85d0a0e3081aef80faef791c089c212b4e1f77fa67fe113ecf7cf
+f97d15b30a13dcb40a13ecb50a5c3615f8610a13caf8620afb77fc5b158a0af759f7
+5b158b0a0ef6fb64efedaff8e8afc17601b0ebf740eff739eb03f803f9bd15b20a4d
+fe5915f84a0aa5f99e15640af7e3fbb915650a0e30fb64efedaef80fae01b4e1ceef
+dee103f799f92915d70a48fdc515f84a0afb2df7fd158a0af759f75b158b0a0ef681
+aff8e8afa5e1587612b0ebf849eb40b013d8f821f9c815b10a49fb5a1513cc640af7
+e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7a9f9
+3315d60afb80fc6615eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b0a0e
+f681aff8e8afa5e1577612b0ebf849eb40b013d8f7b7f9c515cd0a3afb031513cc64
+0af7e3fbb915f7400a13eaf7410a0e2d81aef80faeb1df12b4e1f78ee16aad13f0f7
+61f93315740afb7efbe815eb0a13f8f8630a13f4f7430a13f8f8640af759f75b158b
+0a0ef681aff8e8afa5e1a0a312b0ebf724b8a1a59bbff718eb40b013ff00f84af98b
+15f85e0a20fb1d1513ff80640af7e3fbb915f7400a13ff40f7410a0e2d81aef80fae
+b1dfd0a612b4e1b2b69aa795bdcce16aad13ff00f7ccf8eb15f8590afba3fc1e15eb
+0a13ff80f8630a13ff40f7430a13ff80f8640af759f75b158b0a0ef681aff8e8afa5
+e13bc089c212b0ebf7d3a6e6eb40b013d600f829f97b15b30a13ce00b40a13d600b5
+0a41fb0d1513c700640af7e3fbb915f7400a13e680f7410a0e2d81aef80faeb1dfff
+ffd2ccccff003a4cccfffffdccd0ff003c800012b4e1ffffe38000ff00184ccdff00
+c99999ff00184cceff001c4ccce16aad13d300ff011a199aff023e199815ffffeee6
+668bfffff0b333ff0007b334fffff1999aff000d33340813cb0079ff000f6668ffff
+ec3333a1708bffffd94ccd8bffffeb4ccdffffd51998fffff36666ffffbf1998ff00
+056666fffff9666894fffffee668ff0009e667ff0002333094ff00244cd094ff0010
+8000ff001766668bff000f4ccd8bff0011199afffff73330ff00103333fffff3e668
+0813d300ff0012e666fffff09998ff0012e667ffffec3334ff0013cccc8bff002966
+668bff001a199aff002ae668ff000acccecdfffffa9998ff0004666482ff00034cd0
+fffff6199afffffee66408fffff36666ffffd1ccccfffff6199a80ffffec33348b08
+13e580ffff0ee666fffe8ee66815f7420a13e140f7430a13e580f7440af759f75b15
+8b0a0ef6fb64efedaff8e8afa5e112b0ebf740eff739eb40b013fcf7c5fb3015f849
+0aa5f99e1513fe640af7e3fbb915f7400a13fdf7410a0e2dfb64efedaef80faeb1df
+12b4e1ccefe0e16aad13fcf754fb3015f8490afb2bf7fd15eb0a13fef8630a13fdf7
+430a13fef8640af759f75b158b0a0ecdfb64efedb4f8dbac01e2e0f70deff719bc03
+f7b9fb3015f84a0afb0df93b156b0a0e4bfb64efedba84a6f7e9ac12e3daa8efceda
+139ef758fb3015f8490a13dea0f72615f10a13bef20a13def30a0ecd81b4f8dbacf7
+24a301e2e0e6b8a1a59bbff1bc03f83cf98b15f8580afb90fb80156b0a0e4b81ba84
+a6f7e9acf75ba612e3da94b69aa795bdb4da133f80f7d6f8eb15f8590a13bf8022fc
+f515f10a137f80f20a13bf80f30a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13
+def82bf9c815b10af765ffff2ccccc15f8650a13eef8660a0e4b81ba84a6f7e9acbb
+dd12e3daf758daa8ad133ef7a7f93315d60a13be51fd3d15f10a137ef8670a13bef3
+0a0eea81b4f8dbacb6db587612e2e0f7f6bcd4bb13def7b4f9c615b00af763ffff82
+cccc15f8650a13eef8660a0e4b81ba84a6f7e9acbbdd12e3daf758daa8ad133ef76a
+f93315740a13be48fcbf15f10a137ef8670a13bef30a0eea81b4f8dbacb6dba0a301
+e2e0e8b8a1a59bbfefbcd4bb03f83ef98b15f8580af752ffff69cccc15f74a0a0e4b
+81ba84a6f7e9acbbddd0a612e3da94b69aa795bdb4daa8ad133fe0f7d6f8eb15f859
+0a13bfe022fcf515f10a137fe0f8670a13bfe0f30a0eea81b4f8dbacb6db3ec089c2
+12e2e0f7c1a6a5bcd4bb13d780f83ef97e15b30a13cf80b40a13d780b50af752ffff
+76cccc15f8650a13e780f8660a0e4b81ba84a6f7e9acbbdd62c089c212e3daf745a6
+83daa8ad132b40f7bdf8d115b30a132740b40a132b40b50a13a2c03bfcdb15f10a13
+72c0f8670a13a2c0f30a0eeafb64efedb4f8dbacb6db01e2e0f705eff721bcd4bb03
+f7b1fb3015f84a0af7dfff02fccccc15f74a0a0e4bfb64efedba84a6f7e9acbbdd12
+e3daa5efd1daa8ad139f80f755fb3015f8490a13df80a3f72615f10a13bf80f8670a
+13df80f30a0e7789acf8dbacd27601f790e003f777f9c515b00a80fcf7156f0a0e3b
+fb7cdbf8baac01f777f93315740a2efd5515910a0e77fb64eff5acf8dbac12f789ef
+2ee013f0f789fb3015f8490a13e8e7f7aa15f7350a0e3bfb7cdb53eff88eac12f7d0
+ef1370f7d0fb3015f8490afb048715ff000f999aff001bcccdff000d1999ff001c99
+99ff000c4ccdff001d999adbf755ff002cccccff0066999aff00343334ff00706666
+ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591778a748a6f8b
+6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708ffff9cccccfb
+790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd08ffffa74ccd
+f76405ffffedffffff002a3334fffffacccdff00128000c3ff00044ccc91918ba085
+91668a638a678b698b708c778c85858b769185ff0027b333869882ff001a33334e08
+ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a816ffffff419
+9affffde999afffff3e666ffffe466667c6c80777d82728b0813b07d8b878e808b08
+6e7c6d7e769f7ba61fa08bb393afcb080e7789acf8dbacf724a312f771b87de05aa5
+9bbf13f6f812f98b15f85e0a13e85efd1115ff0087b334078bff001dccccff000119
+9aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b334ff0016
+4ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c85858b
+769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ffff9133
+34fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8bffffff00
+cccccc0513f0ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a
+638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ffffc5
+e66808ff00834ccdfb710513e8ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080e3bfb7cdbf8baacf7
+5ba601f757b69aa795bd03f7e9f8eb15f79f0afb1dfd8b15910a0e7789acf8dbacb9
+c089c212f790e0d0a613ecf7fbf97e15b30a13dcb40a13ecb50a75fd04156f0a0e3b
+fb7cdbf8baace4c089c212f819a613e8f7eaf8d115b30a13d8b40a13e8b50afb1efd
+7115910a0ef74d8bb264a8f8dfa812f5dcf741dc1378f74ff8d015a7999bb41ecb06
+b29a7d6d1ffc8607688281611e4806637c99a91f13b8f8346915fb07066e799eaa1f
+f877078ba7ff000f666698ff0027999a8e08a58d0590ff000066688eff000299988b
+90088b9e898d058b2e89671efb91065a8b6e8c5a8c0889898b78058b868ffffffd4c
+cc8fffffffb33408a68905ff0024e666fffffd4cccff0011199afffff4b3348b6d08
+fc870713788b6ffffff2999a7effffd76666880870890587ffffffb33388fffffd4c
+cd8b86088b788d8905bc8ca88cbc8b0813b8f85e068b8bd88abd8a90c396c696bf08
+6d900576436e503f8b080e4e89acf875adeaa9a67701f4daf743da03f84af8b615b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087efb43b0
+07cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40087e4b69cb
+fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e
+8e80908bde08f81af743fc1a078b3880864e8885858b769185ae8cb08cb38bb38bb1
+8aac8a91918ba085914e8e80908bde08f81acdad070e5a81b6f7e0bcf7887701b8e2
+f7b6df03f7d8f83215945a05c3ac4143fb21485e3b582fc8f73b1f8bf72bf3f71ef7
+2fdc087ba605fb3a4bfb38fb418bfb3a08fb4bed39f70cf738daeff720e645e8fb04
+1e0e2081b5f92e7701b5dcf794d903f7eef82d15667205ba69a23e8b4608fb1f426a
+595c35c0f7271e8bf74bf0f735f720f0087ba005fb2b3cfb2ffb3e8bfb7308fb3fff
+006d66664aff005b999af717deff0060e666ff007c199a1e8bf553c554ad080e7c7f
+b6f8dfa701f1be03ff010c4cccff00a7e66615ffffceccce7fffff8ae666ffffdf99
+9a8bffffb680008b63ae75aa8bdd8bbccbb6f70108f731f829059ab39597b98b088f
+928d911f8b9e898c058b5b8a6b61498c8b1e8a8a8b7705878d888f1ea806a698887d
+1f8b858983867f08fb16fbeefb32f7ee05879689948b9208959291a01eb106908d8e
+901f8b9e898c058b3b8a59624c8c8b1e8a8a8b7705878f88911ebc8b9f64947708f7
+57fc3b156c40656d6c8b788b80968b9b8baecba4cd9d080e35fb7da7f728a5f845a8
+01b2ad03d4fb4315bee6ceb81e612b057f6f7073738b087b7c969e1ff719a515b7ed
+05daf745b1f0bef699a89eb2b18b08928f8e901f8b9e888d058b62896f68508d8b1e
+89888b7805889087901e8f06a19f86761f8b858983868208fb03fb92fb02f7960587
+9489938b91089b9891a990918e901e8b9d898e056689688b5c8b086e5e8d8b1f8989
+8b7705878f88911ead8b96809b6508f712fbb905937794708b818b86897388860842
+fb003f4b66a772ac1fb38bb2a1a6c9080e6e81c84eadf811addb9ce5d312addff722
+b7133ef788f94e15f7040af739fc8f15f7c10a137ef7c20a13bef7c30a4be4157b62
+05137ef7c40a0e6e81c84eadf811addc9ce1d712addfbfbd133ef77af94f15f8680a
+f747fc9015f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84e
+adf811addb9ce5d312addfb7b7133ef726f94e15f7040af7056315f8690af72afc67
+15f7c10a137ef7c20a13bef7c30a4be4157b6205137ef7c40a0e6e81c84eadf811ad
+d99ce1d712addf76bd133af731f94c15f8680af56315f8690af726fc6515f86a0a13
+7cf86b0a13bcf7c30a4be4157b6205137cf7c40a0e6e81c84eadf811addb9ce5d312
+addfcfb7137ef82df75315f7c80a13bef7c30a4be4157b6205137ef7c40afb4cf85b
+15f7040af73d9115f86c0a0e6e81c84eadf811add99ce1d712addf7dbd133af738f9
+4c15f8680af7428f15f86d0ad2fc9115f86a0a137cf86b0a13bcf7c30a4be4157b62
+05137cf7c40a0e6e81c84eadf811adb59ce5d3a2b98bba12addff71cb7c0a11379c0
+f82df75315f7c80a13b9c0f7c30a4be4157b62051379c0f7c40afb08f83515f7040a
+133dc0cdd015133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8
+710a0e6e81c84eadf811adb89ce1d79eb98bba12addfc8bdf70ca1133dc0f7c2f96c
+15133bc0f86e0a133dc0a18605133bc0f86f0a133dc0f8700a133bc0f8710a4c4a15
+f78c0af73efc6c15f7c10a1379c0f7c20a13b9c0f7c30a4be4157b62051379c0f7c4
+0a0eef89acf766b5f79a9ceb7799d312f73cb713ecf72cf96815f7040af703fc4d15
+4a0afbb1fb6015b80a13f4b90a0eef89acf766b5f79b9cea7796d712e3bd13ecf728
+f96915f8680af707fc4e154a0afbb1fb6015b80a13f4b90a0ef72189acf766b5f797
+9cee7796d312adb713ec9df96515f7040af7056315f8690af742fc2215f8720afbb1
+fb6015f8730a13f4b90a0ef70689acf766b5f7959cf07790d71258bd13ec94f96315
+f8680af56315f8690af737fc20154a0afbb1fb6015b80a13f4b90a0ef689acf766b5
+f7969cef7795d312b4b713eca4f96415f7040af73d9115f86c0ad7fc4f154a0afbb1
+fb6015b80a13f4b90a0ef689acf766b5f7969cef7791d71278bd13ecb4f96415f868
+0af7428f15f86d0ac2fc4d154a0afbb1fb6015b80a13f4b90a0ef70c89acf766b5f7
+259ce5d3a2b97977b1ba12e3b7c0a113f180d3f8f315f7040a13f980cdd01513f380
+f86e0a13f980a1860513f380f86f0a13f980f8700a13f380f8710af726fc1d15f872
+0afbb1fb6015b80a13f580b90a0ef70e89acf766b5f7289ce1d79eb97a77b0ba12b2
+bdf70ca113f980f736f9371513f380f86e0a13f980a1860513f380f86f0a13f980f8
+700a13f380f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015b80a13f580b90a
+0efb5a81b1f74aacf737acdb9ce5d312b7da4fd2e1b798d513f980f760f94e15f704
+0a13fd803afcd515f7780a13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737ac
+dc9ce1d712b7da4fd29dbdd6d513f980f768f94f15f8680a13fd8032fcd615f7780a
+13fb80f7790a13fd80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd292b7
+e7d513f980f711f94b15f7040af7056315f8690a13fd80fb07fcaa15f7780a13fb80
+f7790a13fd80f77a0a0efb5a81b1f74aacf737acd79ce1d712b7da4fd24bbdf731d5
+13f980f716f94a15f8680af56315f8690a13fc80fb05fca915f7780a13fa80f7790a
+13fc80f77a0a0efb5a81b1f74aacf737acd89ce5d312b7da4fd291b7e8d513f980f7
+10f94b15f7040af73d9115f86c0a13fd80fb3efcd815f7780a13fb80f7790a13fd80
+f77a0a0efb5a81b1f74aacf737acd89ce1d712b7da4fd24fbdf72dd513fa80f71af9
+4b1513f980f8680af7428f15f86d0a13fc80fb4dfcd615f7780a13fa80f7790a13fc
+80f77a0a0ed889ac6cb2f7b0b1f74c9cb6b36cac90d312adb7f716e0f74aacb2ac9b
+ae1333f09df96815f7040af802fbff1530f74806133bf0f7b10a13b7f0540a1373f0
+550a13b3f0f7560a137bf0c60a0ebe89ac6cb2f7b0b1f74c9cb6b36cac8cd71256bd
+f74de0f74aacb2ac9bae1333f092f96815f8680af7f3fbff1530f74806133bf0f7b1
+0a13b7f0540a1373f0550a13b3f0f7560a137bf0c60a0ef78189ac6cb2f7b0b1f748
+9cbab36cac8cd312aab7f7b9e0f74aacb2ac9bae1337f09af96415f7040af7056315
+f8690af834fbd31530f74806133bf0f7b10a13b7f0540a1373f0550a13b3f0f7560a
+137bf0c60a0ef77089ac6cb2f7b0b1f7469cbcb36cac86d71258bdf7f4e0f74aacb2
+ac9bae1333f094f962151339f0f8740a1333f0f8750af56315f8690af830fbd11530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0ef77289
+ac6cb2f7b0b1f7469cbcb36cac8ad312a9b7f7abe0f74aacb2ac9bae133bf099f962
+15f7040af73d9115f86c0af7eefbff1530f74806b7979fc11ed606d68b9b63a146ff
+000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b33486b47ceb89
+938b8d8a8c888b7a88838a738b08fb930613b5f0540a1371f0550a13b1f0f7560a13
+7bf0c60a0ef76889ac6cb2f7b0b1f7489cbab36cac88d71252bdf7f1e0f74aacb2ac
+9bae1333f08ef964151335f0f8740a1333f0f8750af7428f15f86d0af7e9fbff1530
+f748061339f0f7b10a13b5f0540a1371f0550a13b1f0f7560a1379f0c60a0e48fb6d
+76f78d76f81fa771bfda9ce5d312eadaf728b78cda13cf80f7c6f94d15f7040afb18
+fbe715f7c50a13ef80f7c60a13df80f7c70a0e48fb6d76f78d76f81fa771bfdc9ce1
+d712eadac3bde2da13cf80f7b6f94f15f8680afb08fbe915f7c50a13ef80f7c60a13
+df80f7c70a0e48fb6d76f78d76f81fa771bfd99ce5d312eadacfb7dcda13cf80f776
+f94c15f7040af7056315f8690afb39fbbe15f7c50a13ef80f7c60a13df80f7c70a0e
+48fb6d76f78d76f81fa771bfd69ce1d712eada8bbdf723da13cd80f77ef94915f868
+0af56315f8690a13ee80fb3afbbb15f7ca0a13de80f7cb0a0e48fb6d76f78d76f81f
+a771bfd89ce5d312eadaddb7ceda47cf13cf00f784f94b15f7040af73d911513cf40
+f8760a13cf80f8770a13cf40f8780afb7ffbeb15f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfd69ce1d712eada8dbdf721da47cf13cf00f780f9
+4915f8680af7428f1513cf40f86d0afb80fbe715f7c50a13ef80f7c60a13df80f7c7
+0a0e48fb6d76f78d76f81fa771bfb59ce5d3a2b98bba12eadaf729b78bda71a113cc
+c0f7c7f92815f7040a13ce90cdd01513cd90f86e0a13ce90a1860513cd90f86f0a13
+ce90f8700a13cd90f8710afb5bfc0715f7c50a13eca0f7c60a13dca0f7c70a0e48fb
+6d76f78d76f81fa771bfb89ce1d79eb98bba12eadad4bdd1da6ea113ced0f806f96c
+1513cdd0f86e0a13ced0a1860513cdd0f86f0a13ced0f8700a13cdd0f8710a4c4a15
+f78c0afb19fbc515f7c50a13ece0f7c60a13dce0f7c70a0ef77589acf7b6b5f74a9c
+bfac90d301aeb7f709e0f7eae0039ef96815f7040af945fcee15f7b20a0ef77589ac
+f7b6b5f74b9cbeac8dd7015fbdf752e0f7eae0039bf96915f78c0af948fcef15f7b2
+0a0ef81c89acf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae013ef9cf96215f7040a
+f7056315f8690af97dfcc015f8250713f7f8790a0ef81289acf7b6b5f7449cc5ac86
+d7125abdf7f4e0f7eae013ef96f96215f8680af56315f8690af980fcc015f8250713
+f7f8790a0ef81589acf7b6b5f7449cc5ac8ad312a3b7f7b4e0f7eae013ef93f96215
+f7040af73d9115f86c0af947fcee15f8250713f7f8790a0ef80b89acf7b6b5f7479c
+c2ac89d71258bdf7efe0f7eae013ef94f96515f8680af7428f15f86d0af937fcef15
+f8250713f7f7df0a13ef628a588a658b0813f7f87a0a13ef658a628a588b0813f7f8
+7b0a0ef7fb89acf7b6b5cb9ce5d393ac79b98bba12f4b7c0a1f5e0f7eae013f1e0e4
+f8f215f7040a13f5e0cdd01513f3e0f86e0a13f5e0a1860513f3e0f86f0a13f5e0f8
+700a13f3e0f8710af943fcbd15f8250713f9e0f8790a0ef80589acf7b6b5d09ce1d7
+8eac7ab98bba12a3bdf70ca1f710e0f7eae013f5e0f727f9381513f3e0f86e0a13f5
+e0a1860513f3e0f86f0a13f5e0f8700a13f3e0f8710a4c4a15f78c0af994fc7d15f8
+250713f9e0f8790a0efbce80c2f81777ed9ce5d312dfda74b713f4f710f94415f704
+0a13f863fc0215f77b0a0efbce80c2f81777ee9ce1d712d3bd65da13f8f718f94515
+f8680a13f45bfc0315f77b0a0efbce80c2f81777f59ce5d312c8b776da13f8b8f94c
+15f7040af7056315f8690a13f441fbe215f77b0a0efbce80c2f81777f39ce1d70181
+bdb7da03bdf94a15f78c0af56315f8690a43fbe015f77b0a0efbce80c2f81777f49c
+e5d312c6b778da13f8b6f94b15f7040af73d9115f86c0a13f4fb14fc0f15f77b0a0e
+fbce80c2f81777f49ce1d70182bdb6da03bef94b15f78c0af7428f15f86d0afb21fc
+0d15f77b0a0efbce80c2f81777d09ce5d3a2b98bba12dfda75b7c0a113f180f711f9
+2715f7040a13f880cdd01513f480f86e0a13f880a1860513f480f86f0a13f880f870
+0a13f480f8710a13f28020fc2a15f77b0a0efbce80c2f81777d49ce1d79eb98bba12
+d0bd68dad7a113fa80f754f96c1513f680f86e0a13fa80a1860513f680f86f0a13fa
+80f8700a13f680f8710a4c4a15f78c0a13f1805efbe915f77b0a0efb6889acf8979c
+beac91d301a8b7f70fe00398f96915f7040af7a0fcef15590a0efb7a89acf8979cbe
+ac8dd7015abdf745e00396f96915f78c0af790fcef15590a0e5f89acf8919cc4ac8b
+d312a8b7f7b7e013dc98f96315f7040af7056315f8690af7d7fcc115f8250713ecf8
+7c0a0e4389acf8929cc3ac88d71251bdf7ece013dc8df9641513ecf8740a13dcf875
+0af56315f8690af7cdfcc215f8250713ecf87c0a0e4d89acf8939cc2ac8dd3019eb7
+f7afe0038ef96515f7040af73d9115f86c0af797fcf115f825078bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde080e
+4c89acf8949cc1ac8ad71257bdf7efe013dc93f96615f8680af7428f15f86d0af78c
+fcf015f8250713ecf87c0a0e3389acf8269ce5d38dac7fb98bba12e1b7c0a1f707e0
+13e380d1f8f815f7040a13eb80cdd01513e780f86e0a13eb80a1860513e780f86f0a
+13eb80f8700a13e780f8710af7a1fcc315f8250713f380f87c0a0e4a89acf8269ce1
+d78dac7bb98bba12a1bdf70ca1f715e013eb80f725f9391513e780f86e0a13eb80a1
+860513e780f86f0a13eb80f8700a13e780f8710a4c4a15f78c0af7eefc7e15f82507
+13f380f87c0a0e3081aef80faed19ce5d301b4e1f710b7dde103f77ff94415f7040a
+fb56fc77158a0af759f75b158b0a0e3081aef80faed29ce1d701b4e1c3bdf724e103
+f787f94515f78c0afb5efc78158a0af759f75b158b0a0e3081aef80faed09ce5d301
+b4e1b6b7f737e103f72ef94315f7040af7056315f8690afb76fc4e158a0af759f75b
+158b0a0e3081aef80faed09ce1d712b4e171bdf776e113f6f735f94315f8680af563
+15f8690a13fafb76fc4e15ed0af759f75b158b0a0e3081aef80faecd9ce5d3917712
+b4e1b7b7f736e113f7f72ff94015f7040a13eff73d9115f87d0afbaffc79158a0af7
+59f75b158b0a0e3081aef80faecf9ce1d78f7712b4e171bdf776e113f3f735f94215
+f8680a13e9f7428f15f87e0a13e5fbbafc7915ed0af759f75b158b0a0ef71f81aff8
+9b9cc7af85d312acb787ebf849eb13da9cf96815f7040a13e6f7f22515ce0af7e3fb
+b915650a0ef72c81aff89c9cc6af82d71257bde3ebf849eb13de93f96915f8680a13
+eef8082415ce0af7e3fbb915650a0ef7bf81aff8959ccdaf7fd312a1b7f73bebf849
+eb13de91f96215f7040af7056315f8690a13eef82c5315ce0af7e3fbb915f87f0a0e
+f7c781aff8959ccdaf7bd71254bdf78aebf849eb13de90f96215f8680af56315f869
+0a13eef83c5315ce0af7e3fbb915f87f0a0ef7ae81aff8979ccbaf81d312aab7f721
+ebf849eb13de9af96415f7040af73d9115f86c0a13eef7da2315ce0af7e3fbb915f8
+7f0a0ef79c81aff8979ccbaf7dd71257bdf75cebf849eb13de93f96415f8680af742
+8f15f86d0a13eef7ca2515ce0af7e3fbb915f87f0a0e2281b2f7f8a7a877e29ce5d3
+01e7dae5b7efb403f789f94415f7040a41fffe914ccc15f77f0a0e2281b2f7f8a7a8
+77e39ce1d701e7daa1bdf736b403f791f94515f78c0a39fffe904ccc15f77f0a0e22
+81b2f7f8a7a877e19ce5d301e7da8fb7f74eb403f733f94315f7040af7056315f869
+0a26fffeba4ccc15f77f0a0e2281b2f7f8a7a877e19ce1d712e7da4cbdf78bb413fb
+f73cf94315f8680af56315f8690a13fd24fffeba4ccc15f77f0a0e2281b2f7f8a7a8
+77de9ce5d3917712e7da95b7f748b413fb80f739f94015f7040a13f780f73d9115f8
+7d0afb37fffe8f4ccc15f77f0a0e2281b2f7f8a7a877e09ce1d78f7712e7da4fbdf7
+88b413fa80f73ff9421513f980f8680a13f480f7428f15f87e0a13f280fb42fffe8f
+4ccc15f77f0a0e2281b2f7f8a7a877c79ce5d3a2b98bba12e7daeeb7c0a19bb413f9
+e0f792f92915f7040a13fde0cdd01513fbe0f86e0a13fde0a1860513fbe0f86f0a13
+fde0f8700a13fbe0f8710afb29fffe674ccc15f77f0a0e2281b2f7f8a7a877c69ce1
+d79eb98bba12e7da97bdf70ca1a9b413fde0f7c6f9691513fbe0f86e0a13fde0a186
+0513fbe0f86f0a13fde0f8700a13fbe0f8710a4c4a15f78c0a43fffead4ccc15f77f
+0a0ef70389acf8979cbeac8dd7015fbdf80ee0039bf96915f78c0af859fcef15f7b3
+0a0ef7a289acf8919cc4ac87d7125abdf8b2e013dc96f96315f8680af56315f8690a
+f893fcc115f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc9191
+8ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668ff
+fff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334
+ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff0009
+9998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff001133
+34fffffa1998ff00228000ffffc5e66808ff00834cccfb7105ff00118000ffffe280
+00ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff0034
+66688cff002699988bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908b
+de080ef7a289acf8939cc2ac89d71259bdf8b3e013dc95f96515f8680af7428f15f8
+6d0af850fcef15f8800a13eca7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085910813dc6f8a6b8a748b0813ec748b678c6b8c85858b769185ff002c4c
+cc88ff000fe668fffff66668ffffea9998ffffd7999808ffff913334fb650583ffff
+f0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff
+002a999c8fff00099998c38e91918ba085910813dc678a658a638b0813ec648b6a8c
+6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e66808ff0083
+4cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13078b387a
+863b8885858b769185bc8cff003466688cff002699988bff0026b3348bff00324ccc
+8abd8a91918ba085913b8e7a908bde080ef76989acf8259ce1d78eac7ab98bba12a5
+bdf70ca1f7a0e013eb80f729f9381513e780f86e0a13eb80a1860513e780f86f0a13
+eb80f8700a13e780f8710a4c4a15f78c0af879fc7d15f8800a13f380a7ff0032b334
+ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b8c
+85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808ff
+ff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608fb08ff00
+cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a658a638b
+648b6a8c6d8c85858c769185b588ff00113334fffffa1998ff00228000ffffc5e668
+08ff00834cccfb7105ff00118000ffffe28000ff00038000fffff580008b6608fb13
+078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026b3348bff
+00324ccc8abd8a91918ba085913b8e7a908bde080eca81b0f83377f29ce5d312addd
+f745ce88b7f721dd13fbf7e9f95415f7040af7affc9715f8810a13fdf8820a0eca81
+b0f83377e39ce1d712adddf741bd5dcef74add13fdf7f1f94515f8680af7a7fc8815
+f8810a13fbf8820a0eca81b0f83377e19ce5d312adddf734b770cef74add13fdf798
+f94315f7040af7056315f8690af78ffc5e15f8810a13fbf8820a0eca81b0f83377e1
+9ce1d701addddcbdb9cef74add03f795f94315f78c0af56315f8690af799fc5e15f7
+ce0a0eca81b0f83377de9ce5d3917712adddf735b76fcef74add13f680f799f94015
+f7040a13ec80f73d9115f87d0af756fc8915f8810a13e5809ab094c28ba308a38898
+707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff
+00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb17db42e5
+1e13e680f8830a0eca81b0f83377e09ce1d78f7712addde6bdafcef74add13f780f7
+9ff94215f8680a13ef80f7428f15f87e0af74bfc8915f7ce0a0eca81b0f83377c19c
+e5d3a2b98bba12adddf745ce86b7c0a1cfdd13f2e0f7e7f92315f7040a13fa60cdd0
+1513f660f86e0a13fa60a1860513f660f86f0a13fa60f8700a13f660f8710af76ffc
+ab15f8810a13f360f8820a0eca81b0f83377c59ce1d79eb98bba12adddf73dbd61ce
+eaa1ccdd13fb60f82cf9681513f760f86e0a13fb60a1860513f760f86f0a13fb60f8
+700a13f760f8710a4c4a15f78c0af7abfc6a15f8810a13f2e0f8820a0ef73f8bd0f8
+709cc9ad85d312cdb792a478e7f837e672a513d800bdf96815f7040af874fcf31513
+eb00f7b40a13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7598bd0f8719cc8ad82
+d7128bbde8a478e7f837e672a513d800c7f96915f8680af884fcf41513eb00f7b40a
+13ec00f7b50a13eb00f7b60a13e880f7b70a0ef7d58bd0f86a9ccfad7fd312a2b7f7
+5ca478e7f837e672a513d80092f96215f7040af7056315f8690af8c4fcc51513eb00
+f7b40a13ec00f8840a13eb00f7b60a13e880f7b70a0ef7c38bd0f86a9ccfad7bd712
+51bdf796a478e7f837e672a513d8008df96215f8850a13e800619379b08ba20813d8
+00f8750af56315f8690af8bffcc51513eb00f7b40a13ec00f8860a13eb00f7b60a13
+e880f7b70a0ef79c8bd0f86c9ccdad81d312a8b7f71da478e7f837e672a513d80098
+f96415f7040af73d9115f8870a13ca00f8880af84dfcf51513eb00f7b40a13ec00f7
+b50a13eb00f7b60a13e880f7b70a0ef7a08bd0f86c9ccdad7dd7125bbdf768a478e7
+f837e672a513d80097f96415f8680af7428f15f86d0af84dfcf31513eb00f7b40a13
+ec00f7b50a13eb00f7b60a13e880f7b70a0ef7938bd0f7fb9ce5d39cad6fb98bba12
+e9b7c0a17fa478e7f837e672a513e200d9f8f315f7040a13eb00cdd01513e700f86e
+0a13eb00a1860513e700f86f0a13eb00f8700a13e700f8710af86afcc31513f260f7
+b40a13f280f7b50a13f260f7b60a13f210f7b70a0ef7ad8bd0f8009ce1d797ad70b9
+8bba12adbdf70ca18da478e7f837e672a513eb00f731f9391513e700f86e0a13eb00
+a1860513e700f86f0a13eb00f8700a13e700f8710a4c4a15f78c0af8b7fc831513f3
+60f7b40a13f380f7b50a13f360f7b60a13f310f7b70a0e6e81c84eadf811ad12addf
+1330f74df93515f8890af774fc7615f7c10a1370f7c20a13b0f7c30a4be4157b6205
+1370f7c40a0e6e81c84eadf811ad12addf1330f7aef93e15f7b00af713fc7f15f7c1
+0a1370f7c20a13b0f7c30a4be4157b62051370f7c40a0efb5a81b1f74aacf737ac12
+b7da4fd2f723d513e4f733f93515f8890a13f467fcbc15f7780a13ecf7790a13f4f7
+7a0a0efb5a81b1f74aacf737ac12b7da4fd2f723d513e4f784f93c15f7b00a13f4fb
+09fcc315f7780a13ecf7790a13f4f77a0a0e48fb6d76f78d76f81fa771bf12eadaf7
+55da13ccf784f93a15f8890a49fbd415f7c50a13ecf7c60a13dcf7c70a0e48fb6d76
+f78d76f81fa771bf12eadaf755da13ccf7def93d15f7b00afb30fbd715f7c50a13ec
+f7c60a13dcf7c70a0efbce80c2f8177701dfda03cdf93715f88a0a9dfbf515f77b0a
+0efbce80c2f8177701dfda03f733f93f15f7af0a40fbfd15f77b0a0e3081aef80fae
+01b4e1f78ee103f745f93115f88a0afb1cfc64158a0af759f75b158b0a0e3081aef8
+0fae01b4e1f78ee103f7a3f93e15f7af0afb7afc71158a0af759f75b158b0a0e2281
+b2f7f8a7a87701e7daf77eb403f74af92f15f88a0a80fffea64ccc15f77f0a0e2281
+b2f7f8a7a87701e7daf77eb403f7baf93e15f7af0afb0ffffe974ccc15f77f0a0eca
+81b0f8337701adddf745cef74add03f78df92d15f88a0af80bfc7015f7ce0a0eca81
+b0f8337701adddf745cef74add03f80bf94015f7af0af78dfc8315f7ce0a0e6efb70
+b3f73ec84eadf811addb9ce5d312addfddd67cb7b7a4139f40f75c5315f7a70a82f9
+7915f88b0a139ec0f88c0af739fc8f15f7c10a13be40f7c20a13de40f7c30a4be415
+7b620513be40f7c40a0e6efb70b3f73ec84eadf811addc9ce1d712addfbfbd77d6d4
+a4139ec0f75c5315f7a70a74f97a15139f40f78c0af747fc9015f7c10a13be40f7c2
+0a13de40f7c30a4be4157b620513be40f7c40a0e6efb70b3f73ec84eadf811addb9c
+e5d312addfb7b785d6d4a4139ec0f75c5315f7a70a20f97915f88b0a139f40f88c0a
+f7056315f8690af72afc6715f7c10a13be40f7c20a13de40f7c30a4be4157b620513
+be40f7c40a0e6efb70b3f73ec84eadf811add99ce1d712addf76bdc0d6d4a4139cc0
+f75c5315f7a70a2bf97715139dc0f78c0af56315f8690af726fc6515f86a0a13bec0
+f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6efb70b3f73ec84eadf811ad
+db9ce5d312addfcfb76dd6d4a4139ec0f75c5315f7a70af730f77e15f7c10a13be40
+f7c20a13de40f7c30a4be4157b620513be40f7c40afb4cf85b15f88b0a139f40f88c
+0af73d9115818b7a87877b08139ec06afb2f8b8a05888d81971e8e8b8f8c8c8f08d7
+f71f058d8f8c8f8b8f8b9683a16e8b080e6efb70b3f73ec84eadf811add99ce1d712
+addf7dbdb9d6d4a4139cc0f75c5315f7a70a32f97715139dc0f78c0af7428f15f86d
+0ad2fc9115f86a0a13bec0f86b0a13dec0f7c30a4be4157b620513bec0f7c40a0e6e
+fb78b3f746c84eadf811adb59ce5d3a2b98bba12addfcbd688b7aba487a113bc80f8
+2df75315f7c80a13dc80f7c30a4be4157b620513bc80f7c40afb08f83515f88b0a13
+9ca0f88c0a139e88cdd015139d88f86e0a139e88a18605139d88f86f0a139e88f870
+0a139d88f8710a139cd0fb0efdad15f7a70a0e6efb70b3f73ec84eadf811adb89ce1
+d79eb98bba12addfc8bd6ed6d4a4139cb0f75c5315f7a70a139ed0bcf99715139dd0
+f86e0a139ed0a18605139dd0f86f0a139ed0f8700a139dd0f8710a4c4a15f78c0af7
+3efc6c15f7c10a13bc90f7c20a13dc90f7c30a4be4157b620513bc90f7c40a0ef7b3
+81b16dacf766b5f79a9ceb7799d312f73cb7f889d4d0a313b380f95df7c315f88d0a
+133780fd03f81c15f7040af703fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+a981b16dacf766b5f79b9cea7796d712e3bdf8c9d4d0a313b380f953f7c315f88d0a
+133780fcfdf81d15f8680af707fc4e154a0afbb1fb6015f88e0a137b80f88f0a0ef7
+e189ac79b1f752b5f7979cee7796d312adb7f93dd4d0a3137380f98bf7da15f88d0a
+133780fdb7f80215f7040af7056315f8690af742fc2215f8720afbb1fb6015f88e0a
+13bb80ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc999a85
+858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff00038000ff
+ffde3334ff00034cccffffee9998ff0030333408fb62f8d0057c8270807e8b08fb77
+fcac05714dffffe1800085ffffd480008885858b769185a58cff0020b3338cff001e
+4ccd8bb48bbd8ab08a91918ba08591ffffda6666ff0002999a5cff00044cccff000f
+999aff0029199a080ef7ca81b16dacf766b5f7959cf07790d71258bdf975d4d0a313
+b380f974f7c315f88d0a133780fda9f81715f8680af56315f8690af737fc20154a0a
+fbb1fb6015f88e0a137b80f88f0a0ef7c881b16dacf766b5f7969cef7795d312b4b7
+f91dd4d0a313b380f972f7c315f88d0a133780fd97f81815f7040af73d9115f86c0a
+d7fc4f154a0afbb1fb6015f88e0a137b80f88f0a0ef7c181b16dacf766b5f7969cef
+7791d71278bdf94dd4d0a313b380f96cf7c315f88d0a133780fd81f81815f8680af7
+428f15f86d0ac2fc4d154a0afbb1fb6015f88e0a137b80f88f0a0ef7cf81b16dacf7
+66b5f7259ce5d3a2b97977b1ba12e3b7c0a1f8aad4d0a313b8f0f979f7c315f88d0a
+fd6ff7a715f7040a133cf0cdd0151339f0f86e0a133cf0a186051339f0f86f0a133c
+f0f8700a1339f0f8710af726fc1d15f8720afbb1fb6015f88e0a137af0f88f0a0ef7
+d781b16dacf766b5f7289ce1d79eb97a77b0ba12b2bdf70ca1f89ad4d0a313b8f0f9
+81f7c315f88d0a133cf0fd1df7eb151339f0f86e0a133cf0a186051339f0f86f0a13
+3cf0f8700a1339f0f8710a4c4a15f78c0af74efbdb15f8720afbb1fb6015f88e0a13
+7af0f88f0a0e48fb82b3f76576f81fa771bfda9ce5d312eadad3a4beb78cda13cfc0
+ed4115f7a70af72ff98a15f7040afb18fbe715f7c50a13efc0f7c60a13dfc0f7c70a
+0e48fb82b3f76576f81fa771bfdc9ce1d712eadac3bd69a4ebda13cec0ed4115f7a7
+0af71ff98c1513cf40f78c0afb08fbe915f7c50a13ee40f7c60a13de40f7c70a0e48
+fb82b3f76576f81fa771bfd99ce5d312eadacfb763a4ebda13cec0ed4115f7a70ad6
+f98915f88b0a13cf40f88c0af7056315f8690afb39fbbe15f7c50a13ee40f7c60a13
+de40f7c70a0e48fb82b3f76576f81fa771bfd69ce1d712eada8bbda1a4ebda13ccc0
+ed4115f7a70adef9861513cdc0f78c0af56315f8690a13eec0fb3afbbb15f7ca0a13
+dec0f7cb0a0e48fb82b3f76576f81fa771bfd89ce5d312eadad3a47cb7ceda47cf13
+cf00ed4115f7a70ae4f98815f88b0a13ce80f88c0af73d911513ce20f8760a13ce40
+f8770a13ce20f8780afb7ffbeb15f7c50a13eec0f7c60a13dec0f7c70a0e48fb82b3
+f76576f81fa771bfd69ce1d712eada8dbd9fa4ebda47cf13cf80ed4115f7a70ae0f9
+8615f78c0af7428f1513cfa0f86d0afb80fbe715f7c50a13efc0f7c60a13dfc0f7c7
+0a0e48fb82b3f76576f81fa771bfb59ce5d3a2b98bba12eadad3a4bfb78bda71a113
+cce0f7c7f92815f7040a13cec8cdd01513cdc8f86e0a13cec8a1860513cdc8f86f0a
+13cec8f8700a13cdc8f8710afb5bfc0715f7c50a13ecd0f7c60a13dcd0f7c70a3ffc
+4415f7a70a0e48fb82b3f76576f81fa771bfb89ce1d79eb98bba12eadad3a473bdd1
+da6ea113ccc0ed4115f7a70a13cea8f76ff9a91513cda8f86e0a13cea8a1860513cd
+a8f86f0a13cea8f8700a13cda8f8710a4c4a15f78c0afb19fbc515f7c50a13ec90f7
+c60a13dc90f7c70a0ef82081b16dacf7b6b5f74a9cbfac90d312aeb7f709e0f7eae0
+f706d4d0a313bfe0f9caf7c315f88d0afdf5f81c15f7040af945fcee15f8900a137f
+e0f8910a0ef82381b16dacf7b6b5f74b9cbeac8dd7125fbdf752e0f7eae0f709d4d0
+a313bfe0f9cdf7c315f88d0afdfbf81d15f78c0af948fcef15f8900a137fe0f8910a
+0ef8c181b16dacf7b6b5f7449cc5ac8ad312acb7f7b2e0f7eae0f700d4d0a313b3e0
+fa6bf7c315f88d0a1337e0fe98f81615f7040af7056315f8690af97dfcc015f82507
+137be0f8790a0ef8b881b16dacf7b6b5f7449cc5ac86d7125abdf7f4e0f7eae0f701
+d4d0a313b3e0fa62f7c315f88d0a1337e0fe95f81615f8680af56315f8690af980fc
+c015f82507137be0f8790a0ef8c681b16dacf7b6b5f7449cc5ac8ad312a3b7f7b4e0
+f7eae0f70cd4d0a313b3e0fa70f7c315f88d0a1337e0fea6f81615f7040af73d9115
+f86c0af947fcee15f82507137be0f8790a0ef8b981b16dacf7b6b5f7479cc2ac89d7
+1258bdf7efe0f7eae0f709d4d0a313b3e0fa63f7c315f88d0a1337e0fe98f81915f8
+680af7428f15f86d0af937fcef15f82507133be0f7df0a1337e0628a588a658b0813
+3be0f87a0a1337e0658a628a588b08137be0f87b0a0ef8b081b16dacf7b6b5cb9ce5
+d393ac79b98bba12f4b7c0a1f5e0f7eae0f710d4d0a313b8fcfa5af7c315f88d0afe
+3ff7a615f7040a133afccdd0151339fcf86e0a133afca186051339fcf86f0a133afc
+f8700a1339fcf8710af943fcbd15f82507137cfcf8790a0ef8b881b16dacf7b6b5d0
+9ce1d78eac7ab98bba12a3bdf70ca1f710e0f7eae0f70ed4d0a313b8fcfa62f7c315
+f88d0a133afcfe0df7ec151339fcf86e0a133afca186051339fcf86f0a133afcf870
+0a1339fcf8710a4c4a15f78c0af994fc7d15f82507137cfcf8790a0ecafb70b3f73e
+b0f83377f29ce5d312adddf745ce88b7aea4dcdd13fcc0f7b45315f7a70af97f04f8
+8b0a13fdc0f88c0af7affc9715f8810a13fec0f8820a0ecafb70b3f73eb0f83377e3
+9ce1d712adddf740d641bdeca4dcdd13fec0f7b45315f7a70a93f9701513fdc0f78c
+0af7a7fc8815f7ce0a0ecafb70b3f73eb0f83377e19ce5d312adddf734b76bd6d4a4
+dcdd13fdc0f7b45315f7a70a3af96e15f88b0a13fec0f88c0af7056315f8690af78f
+fc5e15f7ce0a0ecafb70b3f73eb0f83377e19ce1d701addddcbdb4d6d4a4dcdd03f7
+b45315f7a70a37f96e15f78c0af56315f8690af799fc5e15f7ce0a0ecafb70b3f73e
+b0f83377de9ce5d3917712adddf735b76ad6d4a4dcdd13f2e0f7b45315f7a70a13fb
+603bf96b15f7040a13f660f73d9115f87d0af756fc89158bf7082de72db8fffff2e6
+66fffffd199affffff199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68
+ae6dd09ab094c28ba308a38898707180686c1e8b778d66986a6c44746d668b418b70
+d18bf7048bf70ebcbaccb48aff00094cccfffffb999aff0009b334fffff866668ffb
+055b45398bfb0a08fb17db42e51e13f360f8830a0ecafb70b3f73eb0f83377e09ce1
+d78f7712addde6bdaad6d4a4dcdd13f3e0f7b45315f7a70a13fbe041f96d15f8680a
+13f7e0f7428f15f87e0af74bfc8915f7ce0a0ecafb70b3f73eb0f83377c19ce5d3a2
+b98bba12adddf740d683b7b0a482a1cfdd13f9a8f7b45315f7a70a89f94e15f88b0a
+13f948f88c0a13fd18cdd01513fb18f86e0a13fd18a1860513fb18f86f0a13fd18f8
+700a13fb18f8710af76ffcab1513f928f7ce0a0ecafb70b3f73eb0f83377c59ce1d7
+9eb98bba12adddf73dbd5cd6d4a485a1ccdd13f968f7b45315f7a70a13fd98cef993
+1513fb98f86e0a13fd98a1860513fb98f86f0a13fd98f8700a13fb98f8710a4c4a15
+f78c0af7abfc6a1513f928f7ce0a0ef7ec81b16fd0f8709cc9ad85d31298b792a478
+e7f837e672a5edd4d0a313a430f997f7c315f88d0a132c30fdd8f81c15f7040af874
+fcf3151375b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef7f381b16fd0
+f8719cc8ad82d7123bbde8a478e7f837e672a5f4d4d0a313a430f99df7c315f88d0a
+132c30fdeff81d15f8680af884fcf4151375b0f7b40a137630f7b50a1375b0f7b60a
+137470f7b70a0ef87f82b16ed0f86a9ccfad7fd312a2b7f75ca478e7f837e672a5b4
+d4d0a313a430fa29f7c415f88d0a132c30fe60f81515f7040af7056315f8690af8c4
+fcc5151375b0f7b40a137630f8840a1375b0f7b60a137470f7b70a0ef87981b16fd0
+f86a9ccfad7bd71251bdf796a478e7f837e672a5bfd4d0a313a430fa23f7c315f88d
+0a132c30fe5ff81615f8850a133430619379b08ba208132c30f8750af56315f8690a
+f8bffcc5151375b0f7b40a137630f8860a1375b0f7b60a137470f7b70a0ef86a81b1
+6fd0f86c9ccdad81d312a8b7f71da478e7f837e672a5d9d4d0a313a430fa15f7c315
+f88d0a132c30fe46f81815f7040af73d9115f8870a132530f8880af84dfcf5151375
+b0f7b40a137630f7b50a1375b0f7b60a137470f7b70a0ef87981b16fd0f86c9ccdad
+7dd7125bbdf768a478e7f837e672a5e3d4d0a313a430fa23f7c315f88d0a132c30fe
+55f81815f8680af7428f15f86d0af84dfcf3151375b0f7b40a137630f7b50a1375b0
+f7b60a137470f7b70a0ef85f81b16fd0f7fb9ce5d39cad6fb98bba12d7b7c0a17fa4
+78e7f837e672a5e8d4d0a313b106fa09f7c315f88d0afe0bf7a715f7040a133586cd
+d015133386f86e0a133586a18605133386f86f0a133586f8700a133386f8710af86a
+fcc315137936f7b40a137946f7b50a137936f7b60a13790ef7b70a0ef87281b16fd0
+f8009ce1d797ad70b98bba129bbdf70ca18da478e7f837e672a5e0d4d0a313b186fa
+1cf7c315f88d0a133586fdcff7ed15133386f86e0a133586a18605133386f86f0a13
+3586f8700a133386f8710a4c4a15f78c0af8b7fc83151379b6f7b40a1379c6f7b50a
+1379b6f7b60a13798ef7b70a0e6e81c84eadf811adc9c4e57712addf7ba6f76ca613
+3bf715f91c15f60af7acfc5d15f86a0a137df86b0a13bdf7c30a4be4157b6205137d
+f7c40a0e6e81c84eadf811addabd12addf1338f7f7f89a15f40af7aafbdb15f7c10a
+1378f7c20a13b8f7c30a4be4157b62051378f7c40a0e6efb70b3f73ec84eadf811ad
+12addfddd6d4a4139ef75c5315f7a70a47f96015f88a0af774fc7615f7c10a13bef7
+c20a13def7c30a4be4157b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addf
+ddd6d4a4139ef75c5315f7a70af730f77e15f7c10a13bef7c20a13def7c30a4be415
+7b620513bef7c40a0e6efb70b3f73ec84eadf811ad12addfddd6d4a4139ef75c5315
+f7a70aa8f96915f7af0af713fc7f15f7c10a13bef7c20a13def7c30a4be4157b6205
+13bef7c40a0e6e81c84eadf811adf704b98bba12addff77aa11336f7c1f8e915132e
+f86e0a1336a18605132ef86f0a1336f8700a132ef8710af700fc2a15f7c10a1366f7
+c20a13a6f7c30a4be4157b62051366f7c40a0e6efb70b3f73ec84eadf811adf704b9
+8bba12addfddd6d4a4139380f75c5315f7a70a139b80bbf91415139780f86e0a139b
+80a18605139780f86f0a139b80f8700a139780f8710af700fc2a15f7c10a13b380f7
+c20a13d380f7c30a4be4157b620513b380f7c40a0eef89acf766b5f80b77c1bf01f7
+71a7f76ca703f881f9b915f50afb7afc9e154a0afbb1fb60154b0a0eef89acf766b5
+f80b77cebd01f85ef95515f40aa8fc3a154a0afbb1fb60154b0a0eef89acf766b5f8
+0b7701def96315f88a0af748fc48154a0afbb1fb60154b0a0eef89acf766b5f80b77
+01f738f96815f7af0aeefc4d154a0afbb1fb60154b0a0ef7c881b16dacf766b5f80b
+7712f972d4d0a313bcf972f7c315f88d0afca95a154a0afbb1fb6015f88e0a137cf8
+8f0a0efc32daf92015f7040a0efb9c81b101f715d403f715f7c315f88d0a0efc31f8
+6d9ce5d301eab703daf92015f7040a0efb42f8d9b98bba12f7d7a113a0f7a8f90715
+1360f86e0a13a0a186051360f86f0a13a0f8700a1360f8710a0efb77f8a4eabdb98b
+ba12c1e9d6e970a113d4f787f9631513b4f86e0a13d4a1860513b4f86f0a13d4f870
+0a13b4f8710afb51fb2415950a1398f73d16d80a0e48fb82b3f76576f81fa771bf12
+eadad3a4ebda13ceed4115f7a70ae4f97715f88a0a49fbd415f7c50a13eef7c60a13
+def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4ebda13ceed4115f7a70aa2f8
+3715f7c50a13eef7c60a13def7c70a0e48fb82b3f76576f81fa771bf12eadad3a4eb
+da13ceed4115f7a70af747f97a15f7af0afb30fbd715f7c50a13eef7c60a13def7c7
+0a0e48fb6d76f78d76f81fa771bff702b98bba12eadaf755da58a113ca80f7f0f8e7
+1513c680f86e0a13ca80a1860513c680f86f0a13ca80f8700a13c680f8710afb42fb
+8115f7c50a13e300f7c60a13d300f7c70a0e48fb82b3f76576f81fa771bff702b98b
+ba12eadad3a4ebda58a113c300ed4115f7a70a13cb40f759f9241513c740f86e0a13
+cb40a1860513c740f86f0a13cb40f8700a13c740f8710afb42fb8115f7c50a13e380
+f7c60a13d380f7c70a0eea89ac6cb2f7b0b1f788b36cac12f776e0f74aacb2ac9bae
+13278085f95e15f8890af82cfbf51530f74806133780f7b10a13af80540a13678055
+0a13a780f7560a137780c60a0ed989ac6cb2f7b0b1f788b36cac12f765e0f74aacb2
+ac9bae132780c7f96815f7b00af7d9fbff1530f74806133780f7b10a13af80540a13
+6780550a13a780f7560a137780c60a0ef78389acf7b6b5f78fac01f766e0f7eae003
+80f96315f88a0af971fce915f7b20a0ef77a89acf7b6b5f78fac01f75de0f7eae003
+b6f96a15f7af0af932fcf015f7b20a0ef7d381b16dacf7b6b5f78fac12f5e0f7eae0
+f713d4d0a313bff97df7c315f88d0afb51fb6615f8900a137f8b387a86458885858b
+769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91918b
+a08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002f
+e6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908b
+de080efb95f86c9ce5d301edb703f757f8f715f8690afb05b315f7040a0efb95f869
+9ce5d301edb703f78ff92215f86c0afb3d8515f7040a0efba7f8269ce5d3a2b97276
+b9ba12f749b7c0a113e6f77bf91e1513de638b76ba548b628b766a7e5408a1860596
+a9999ba08b0813e6f8700a13cef8710a494615f7040a0efbce80c2f81777e5c4e577
+017fa6d0dacfa6039af91c15f7950ad0fbda15f77b0a0efbce80c2f81777f700bd01
+dfda03f77cf89b15f40ad7fb5915f77b0a0efbce80c2f81777f713ea1289e983da8f
+e913f489f8dd15d80af73d16950afb13f76215f88a0a13ecb7fc6915f77b0a0efbce
+80c2f81777f707ea8c761286e986da8ce913d2f751f9a415f7b00a13eafb56fb6715
+d80af73d16950a13c63bfb8f15f77b0a0efbce80c2f81777f720b98bba12dfdacca1
+13ecf749f8e91513dcf86e0a13eca1860513dcf86f0a13ecf8700a13dcf8710a2afb
+a715f77b0a0efbce80c2f81777f709eabdb98bba1283e989da89e970a113f080f749
+f9631513e880f86e0a13f080a1860513e880f86f0a13f080f8700a13e880f8710a13
+e400fb51fb2415d80a13e100f73d16d80a13e2003efb9115f7cf0a13e100f7d00a0e
+fbb789acf8dbacb8bf019ca7cde0cca703f7b5f9b915f50a2efd3f15590a0efbbe89
+acf8dbacc8bd01f5e003f791f95815f40af736fcde15590a0efb5c89acf8dbac01f7
+65e0037ef96415f88a0af7c7fcea15590a0efb6589acf8dbac01f75be003c4f96915
+f7af0af777fcef15590a0efb98f86c9ce1d701a8bd03f757f8f715f8690a21b315f7
+8c0a0efb9cf86b9ce1d701a7bd03f79af92215f86d0afb428715f78c0a0efb83f885
+9ce1d79eb98bba12f70abdf70ca113ccf746f93815f8680a13eccacc1513dcf86e0a
+13eca1860513dcf86f0a13ecf8700a13dcf8710a0e2281b2f7f8a7a877dac4e57712
+e7da53a6f76ca69fb413fb80f722f91c15f60a13fd80a8fffeb94ccc15f77f0a0e22
+81b2f7f8a7a877ecbd01e7daf77eb403f804f89b15f40aa6ffff3a4ccc15f77f0a0e
+2281b2f7f8a7a877eaea12e7da5ce9d6e99db413f7f710f8c81513fb71a076a51e13
+f7a5a0a0a51f13fba576a1711e717675711ff73d16950afb13f76215f88a0a90fffe
+3f4ccc15f77f0a0e2281b2f7f8a7a877f3ea8c7612e7da5be9d6e99eb413e980f7d1
+f9a415f7b00a13f380fb56fb6715d80af73d16950a13e580fb0dffff044ccc15f77f
+0a0e45fb6d76f778acf80eb1e19ce5d301d9daf714b7d2e103f7a1f95415f7040afb
+0cfe2315f7cc0af7e3f83f15f7cd0a0e45fb6d76f778acf80eb1d29ce1d701d9dac7
+bdf719e103f7a9f94515f78c0afb14fe1415f7cc0af7e3f83f15f7cd0a0e2281b2f7
+f8a7a877f714b98bba12e7daf753a1a0b413f7f7cff8e81513eff86e0a13f7a18605
+13eff86f0a13f7f8700a13eff8710afb24fffeed4ccc15f77f0a0e2281b2f7f8a7a8
+77e6eabdb98bba12e7da5ae9d6e970a1a4b413f860f7cbf9541513f460f86e0a13f8
+60a1860513f460f86f0a13f860f8700a13f460f8710a13f120fb51fb2415d80a13f0
+a0f73d16d80a13f220fb0cffff114ccc15f77f0a0e7789acf8dbacb8bf01f736a7c9
+e0d0a703f846f9b915f50a2afd3f156f0a0e7789acf8dbacbfbd01f790e003f824f9
+4f15f40af735fcd5156f0a0ef70389acf8dbac01f811e0037cf96015f88a0af875fc
+e615f7b30a0ee989acf8dbac01f800e003bbf96915f7af0af825fcef15f7b30a0e8d
+89acf78fad73a8f7739cc4ad86d7126cbdf73be0f775e8139780a8f96715f8680af7
+86fb3d1513db80f7450a13bb80f7460a36f75e15f7bf0a13db80a184a388ae8b08f7
+4ac2f70be0c664f6fb4d1fffffd9b3348bffffc54ccc84638b0813b780ffffdb4ccd
+8bffffcbb3338c638c85858b769185d1889c868b38080efb70f8a4ea927612bde9d6
+e91370e7f9a115f8890a61fb621513b0950af73d16950a0efb77f8a4ea8c7612bde9
+d6e91370f788f9a615f7b00afb56fb671513b0950af73d16950a0efbf8f8bcf74501
+c0f71403d4f96815f88a0a0ecafb70b3f73eb0f8337701adddf745ced7a4dcdd03f7
+b45315f7a70a2ff95815f88a0af80bfc7015f7ce0a0ecafb70b3f73eb0f8337701ad
+ddf740d6d4a4dcdd03f7b45315f7a70af7aff77c15f7ce0a0ecafb70b3f73eb0f833
+7712adddf745ce55d6d4a4cadd13f7f7c65315f7a70a9bf96b157e8b808587800857
+fb230513fb8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90
+8b9f759a778b08f78dfc8315f7ce0a0eca81b0f83377f701b98bba12adddf745ced5
+a1e1dd13eff817f8d51513dff86e0a13efa1860513dff86f0a13eff8700a13dff871
+0af781fc1815f7ce0a0ecafb70b3f73eb0f83377f701b98bba12adddf740d6d4a4dc
+dd13e780f7b45315f7a70a13f780b9f9001513ef80f86e0a13f780a1860513ef80f8
+6f0a13f780f8700a13ef80f8710af781fc1815f7ce0a0ef74081aff8e8af01f4ebf8
+49eb037ff96315f88a0af82f2a15640af7e3fbb915650a0ef681aff8e8af01b0ebf8
+49eb03bdf96915f7af0af7ad2415640af7e3fbb915650a0ef7438bd0f8bfad12f70e
+a478e7f837e672a513c075f96315f8890af8c1fcee1513d8f7b40a13e0f7b50a13d8
+f7b60a13c4f7b70a0ef70c8bd0f8bfad12cda478e7f837e672a513c0c5f96915f7b0
+0af839fcf41513d8f7b40a13e0f7b50a13d8f7b60a13c4f7b70a0ef7b781b16fd0f8
+bfad12b7a478e7f837e672a5ccd4d0a313a180f962f7c315f88d0afbd7fb6b15136d
+80f7b40a137180f8920a136d80f7b60a136380f7b70a0efc20f861f74b01b2f71003
+f70df91815f7af0a0efc3fe4f91815f78c0a0e2b0ef8280e3e0ef7350efb9b0efbee
+0efc410efb310efc0c0efc6a0efccd0e0efb95f773c701b3f79603f7a3f773152a0a
+0efb95f773c701b3f79603f7a3f773152a0a0efb31f7b3bb01f80ef7b3159898a097
+948891801ffbe0067f7e7a7b829185941f0e5cf782bc01cdf78215f8280698989f97
+948893801ffc28067f7d777f838e82961f0ef727f782bc01bcf78215f9040698989f
+97948893801ffd04067f7d777f838e82961f0ef7dbf782bc01bcf78215f9c2069898
+9f97948893801ffdc2067f7d777f838e82961f0efbd1c7b2cab203f75dfb6015faba
+64feba074c16faba64feba070efb01fb2eb7c9b701f876fb0215fc715ff87106f72a
+04fc715ff871060efbdbf88fe8f703a301d4b203f71ff88f15f8930a0efbdbf86aa3
+f703e801f730b203f715f94e15290a0efbdbfb19a3f703e801f730b203f715ea1529
+0a0efbdbf86aa4f702e801ff00484ccdb203ff008a4ccdf94e15f8940a0efb70f890
+e8f703a301bbb2f70ab203f7a3f89015f8930afb3116f8930a0efb70f86aa3f703e8
+01f718b2f70ab203f4f94e15290af73116290a0efb70fb1aa3f703e801f718b2f70a
+b203f4e915290af73116290a0efb72f86aa4f702e801ff00314cccb2ff00750001b2
+03ff010f4cccf94e15ffffd8000171644f1f8b45ff003bffff5bc780ff0006ccceff
+0005e666ff0001999aff00093334fffffc9998ff0009e6665798ffffde0001b88ba0
+8ba2ff0010ffff919e8d9d8ea5ff000980008bff001f800008a775a06c1effff6400
+0116f8950a0e84f81beff76e7601f7c09d03f7c9f94d1571786e6c1f8b40974da359
+64a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b8b
+fb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a26d
+1f498b537d6070a3bc97c98bd708ab77a7731e0e848beef7b8eff7627712f79ce456
+9c13e8f8acf84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77a77371
+786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc298b4a5
+8b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc298b6a6
+0813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27ecc8b08
+a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37ecd8b08
+a9a3a0a71f0efb88f708f77801c9f77803c9f77a154cbe58cacabebecaca58be4c4c
+58584c1e0efb70dff7bc01d4f79c03d4df15f79cf728fb9cf728050efc0b81f501c4
+f503c4b615210a0efb3f81f501c4f5eef503f79ab615210afb6116210a0ef72e81f5
+01c4f5f733f5f732f503c4b615210af79d16210af79c16210a0efc0bf769f501c4f5
+03c4f79e15210a0efc6a0ef7d07fa8f764aabaaaf72ab09eaa01c4c1f719acf0c2f7
+18acc3bef71da903f9fcf73815f8960afb0ffb2715f8970afbd0cd15230a549a1524
+0a7df83b15250afb91fb0f15260a0ef8f27fa8f764aabaaaf72ab09eaa01c4c1f719
+acf0c2f718acc3bef71da9b7bef71da9031c046ef73815d55b9d644053373f4daf5d
+c1dfb7f704cb1efb0ffb2715707aa5b3cbbad9b89da67c5c57672d521ffb1ff72715
+f8960afb0ffb2715f8970afbd0cd15230a549a15240a7df83b15250afb91fb0f1526
+0a0efbeef86ff74b01d4f71003f72ff92615f7af0a0efb6af86ff74b01d4f79403f7
+b3f92615f7af0afb1816f7af0a0e35f86ff74b01f833f92615f7af0afb1616f7af0a
+fb1616f7af0a0efbf3f874f74501c2f71403d6f92015f88a0a0efb79f874f74501b9
+f78a03cdf92015f88a0af70b16f88a0a0e2cf874f74501f7e7f92015f88a0afb1f16
+f88a0afb1116f88a0a0efb7cf730f76b15f8980a0efb7cf763f76b15f8990a0e765d
+f5f704f5f0f5019af5ecf5e8f503f76e9215210af75bf76d15210afc268c15210af7
+5df76315210affff706666a415f748ffff113333ffff4e199afb80ff0018999affff
+ed6666ff00ac999af779ff00c08000ffff008000ff00189998ff0012999affff3a19
+9aff01068000f75cff01096668ffffe76666ff00128000ffff3d6668fffefdb334ff
+ff514cccff00e7cccd050efb0f83f5f8c47701e6f5d9f503f7dcf92815200a56fcfb
+15210afb17f8f915200a56fcfb15210a0efb2981f5f81676f7597712b9cfbef549a7
+e7d613f6f706f8ae158bff00109998ff00146666ff0011199cff001d999aff000a19
+98ff00008000ffffbc199cff000fb333ffffdab332ff0009cccdffffa86666923e91
+308d778b858d84978b958b8e938c97ff0000999aff0008199aff0000e666ff001780
+00ff00033333ff0027333208ff0002cccdff00084cceff0003b333ff00086666ff00
+04cccdff0008800094999f9aa29abaaabfb68bd38bff003ee668ffffce3334ff002d
+e664ffffb0e666ff000b6668fffff73332ff001dccccffffe9b33499768b788b72ff
+fff31998fffff7cccdffffdd4cd008ffffe4333385ffffe7666681ffffee999affff
+f299986d7576738b68086ba4849b9f9f96a01e8b978890878f08879089908b990813
+fabefc8315430aff006de666f8a815ff001e3334ffffecccccff0013e666ffffde80
+008bffffdfb3348b617e6c636afffff5999afffff78000fffff74cccfffff78000ff
+fff8999afffff7999aff0001199aff0009b332ff00011999ff000a199aff00014ccd
+ff000a999aff00098000ff00518000ff000ee666ff002cb334ff00018000ff003bcc
+cc080efb40f918b701f818f94415fbf45ff7f4060e94ff0056199aff00394cccff01
+26b334ff00394ccc01ff0055199aff0035e666ff0070199aff0035e666ff006a199a
+ff0035e66603ff01a9999aff0052b33315ffffe3ccccffffe06666ffffd46666ffff
+f919998bffffdb33338bfffff33334ff000a4ccefffff4e666ff000e80008bff0020
+80008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ffffc866
+66ff00214cce8b978bff000cccccff000966668bff000f66678bff00223333ffffd6
+199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f6666ff
+0000cccdff001033348b08ff001d1998ff001de668ff0005e666ff0019b333ff0008
+8000fffffa1998ff00113333ffffe8e6681fffffe3cccc8bfffff23334ffffe4999a
+ffffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff002233338bff0017
+199908ff00148000fffff33334ff00096667fffff09998fffff0999afffff5b334ff
+fff09999791e8bffffe9cccdff00104cccffffe8e667ff00036666ffffdeb333ffff
+da6668ff000f6666fffff09998ff001c3333ffffe2e6688b08ffffeb8000fffff84c
+ccfffff24ccd7fffffe64ccdff001b4cccfffffa199aff0029e6681fff000ccccc8b
+97ffffff3333ff000b199afffffd666608fbda16ffffe3ccceffffe06666ffffd466
+67fffff919998bffffdb33338bfffff33334ff000a4ccdfffff4e666ff000e80008b
+ff002080008b91ff00326666ff00156666ff00268000ff00156666ffffdeb33491ff
+ffc86666ff00214ccd8b978bff000ccccdff000966668bff000f66678bff00223333
+ffffd6199aff0008999affffe2e666ff001f999908ff000f6666ff0002999aff000f
+6667ff0000cccdff001033338b08ff001d199aff001de666ff0005e666ff0019b333
+ff00088000fffffa199aff00113333ffffe8e6661fffffe3cccd8bfffff23333ffff
+e4999affffd8b333ffffeee666ff0001b333ff0019b334ff000e999aff002233338b
+ff0017199908ff00148000fffff33333ff00096667fffff0999afffff09999fffff5
+b334fffff09999791e8bffffe9cccdff00104cccffffe8e667ff00036667ffffdeb3
+33ffffda6666ff000f6666fffff09999ff001c3333ffffe2e6678b08ffffeb8000ff
+fff84ccdfffff24ccd7fffffe64ccdff001b4ccdfffffa199aff0029e6661fff000c
+cccd8b97ffffff3333ff000b199afffffd666608f73af7f415ffffe3ccccffffe066
+66ffffd46667fffff9199a8bffffdb33328bfffff33334ff000a4ccdfffff4e666ff
+000e80008bff002080008b91ff00326666ff00156666ff00268000ff00156666ffff
+deb33491ffffc86666ff00214cce8b978bff000cccccff000966668bff000f66668b
+ff00223334ffffd6199aff0008999affffe2e666ff001f999a08ff000f6666ff0002
+9998ff000f6666ff0000ccceff001033348b08ff001d199aff001de666ff0005e666
+ff0019b334ff00088000fffffa199aff00113332ffffe8e6661fffffe3cccc8bffff
+f23334ffffe4999affffd8b334ffffeee666ff0001b332ff0019b334ff000e999aff
+002233328bff0017199c08ff00148000fffff33334ff00096664fffff09998fffff0
+999afffff5b334fffff0999c791e8bffffe9ccccff00104cccffffe8e666ff000366
+66ffffdeb332ffffda6667ff000f6668fffff0999aff001c3332ffffe2e6668b08ff
+ffeb8000fffff84ccdfffff24cce7fffffe64cccff001b4ccdfffffa199aff0029e6
+661fff000ccccd8b97ffffff3332ff000b199afffffd6668080efcbbf8ed7701f774
+f8ed15fc5efd23b48bf85ff923050ef76c81f5f8a6ac12b9cfa9f546ace7deaccfa9
+f546ace7de13e6c0f87ef8d015490a13e740a9fca515430afc2af8a515f89a0a13ee
+40f89b0a13f640a9fca515430a0edb83f5f8a4ac12b9cfa9f546ace7dee4f513e6f8
+a7f92815200a56fcfb15210afc00f8a315f89a0a13eef89b0a13f6a9fca515430a0e
+b581f5f8a4ac12e6f5becfa9f546ace7de13f2f724f92615200a56fcfb15210af775
+f8a315f89a0a13f6f89b0a13faa9fca515430a0efb31f7d8e0a77701f796b103cef7
+e515b283b786ba8bbc8bbe91be9854fb5468fba68b8a088e85ae8c058b8ba5f7a0d6
+f7918e958f9a8b9708948891867671728b1e68856687658b4f8b4d94519e080e92fb
+7cacf875f80168ac12f3bddcf7cafbcabd13b4f77ff8d215fd7307707a8074747992
+aa1ef97307aa9d92a21ea29c80701f62d21513d4468b4e8b5c8d0813b489898b7805
+868f888f1ea58905b3889a828b6d08fd73078b6d7c82638808718905878788861f8b
+788d8905ba8dc88bd08bd08bc68bbc89088d8d8b9e0590888e871e708d05618e7f96
+8ba708f8520713d89489938a9a8b08f726ddccf71ada51e2fb181f408b5089708b08
+0efc0cfb19a4f702e8f763f512ff002a4cccb2ffffe5b334f513f0ff006c4ccdea15
+f8950a13e8ffffcab333f79815430a0efbb4f7fba3f7ada301aac6f713c603f72ef9
+2c15f89c0a88fbc515f89d0a0efc25f801a8f761a0d7c512d3c559bb13f0f0f98615
+f8420a13e8a6fbce15f71c0713f0f8430a13e8f8440a0efbb4f801a8d1adf7527701
+f748bf03f748ff027db33415f89e0affff3a4ccc04f89f0a0efbb4f7fba6f739a6d1
+ae01f75fc403f75ff86215f8a00a0efbb4f7fba3f729a3f7059e01b8c0f70bc403f7
+6df85b15f8a10ac49015f8a20a0efbb4f919b112b6a0839d9fad13b0f703f91915f8
+a30a13d0f8a40a0efbb4f7fba5f7a9a512babd68bcecba6ac513d8f733f92a15f8a5
+0aeb6215f8a60a13e4f8a70a242915f8a80a0efbb4f7fb9ef705a4f728a301b3c3f7
+0bc303ebf8e415f8a90a538615f8aa0a0efbb4f87cb201f71bb203f742f8a315f664
+202064f621b2f5f5b2070efbb4f87cb201aef78203f7a5f8a315fb8264f782060efb
+b4f86eadb2ad01b2f77a03f7a1f8d915fb7a69f77a066404fb7a69f77a060efc22af
+c003aff89c15f8ab0a0efc22f700c103f736f89e15f8ac0a0efb7df801a8f75da17d
+ad12d1bbf715bb13b8f713f8c6159ea2ad9da08b08aa9a7a581f2c078b6289886989
+87838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a
+8f918c9a8693638d838e8bb408f407ce73a45d1e678bffffd74ccdffffec4cccffff
+e7b333ffffdcb33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b
+0813d8f8360a0efbb4fb09a3f7ada301aac6f713c603f72ef75015f89c0a88fbc515
+f89d0a0efbb4fb03a801f729c103f71bf72515978d826b1ffb16078b586c88638986
+838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d76
+8e8bbe08f78307fffffab33390fffff8999afffffde666fffffab333fffffd199a5f
+70717f5c7a8b7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b08
+0efbb4fb04abf79aa912bac0efc97ba313f0d4f70315958b998e8e9dff00014ccdff
+0007e666fffffd3333ff000ccccdff00038000ff00084ccd90979794aa8b9d8bab84
+8b5c8b5573745e675b6665618b5b08f7620613e8ff00088000ff001ab333ff000633
+34ff001f999aff00044cccff0023b333fffffab334ff0003b33383ff0001999affff
+f54cccffffffb333806f7d646c8b08380694ac9aa6b5a90813f09f0a0efbb4fb0aa9
+f71ca6f6a912b9bde5c66ac913f8f74ef72815ad0a13f4a3be87524b5f7e6e1f6b8b
+fffff7b333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b333ffff
+f38000fffff7199afffff2b333ffffe08000ff0046999afffff4b333ff001a3333db
+c6b9d01f8bc55ca66a8e0813f8a20a0efbb4fb03a8d1ad01f748bf03f748ff00a1b3
+3315ffff744ccd2907ff00068000ff00118000ff00344ccdff0049b333ff00273333
+ff0030800008ffff3a4ccd048b627e88638986838c7c8f85a98cff000cb3338bff00
+234ccd8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd07
+91ad538b8bf74805ff0008e666fffff3999aff0001199afffff9b3331efffffcb333
+8bfffff6b333ffffff8000fffffee667ffffff4ccdfffff0b333fffff6e666fffff4
+9999fffff4cccd82fffff58000ffffdce66762ffffd43333ffffcbcccdffffdecccc
+ffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9b333fffffd
+666783fffffae667ffffebcccdff001a99998b08ff0076cccd060efbb4fb09a6f739
+a6d1ae01f75fc403f75f7d15f8a00a0efbb4fb09a3f729a3f7059e01b1c0f70bc403
+f7667615f8a10ac49015f8a20a0efbb4f73db001f703f73d15ef06715e53fb1068fb
+0308ad06aaf4c4f70ec0e608fb42067b868c8f1f79068a718463866f08a0880597bb
+9291a78b080efbb4fb09a5f7a9a512b4bd68bcecba6ac513d8f72df74e15f8a50aeb
+6215f8a60a13e4f8a70a242915f8a80a0efbb4fb099ef705a4f728a301acc3f70bc3
+03e4f70815f8a90a538615f8aa0a0efbb496b201f71ab203f741bd15f664202164f5
+21b2f5f6b2070efbb496b201aef78203f7a5bd15fb8264f782060efbb488adb1ae01
+b2f77a03f7a1f315fb7a68f77a066504fb7a69f77a060efc22afc003afba15f8ab0a
+0efc22f700c103f736ba15f8ac0a0efbb4fb0aabf772a401aabff701c103f754a515
+980ab6fb24159e8b9e979495ff0000999a93fffffcb332ff00054ccdfffff8b334ff
+0002b33388888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080efbaafb09aef704aad6a401adc1f710c4
+03f7383915728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cccff
+00478000ffffecb334ff003b8000368bffffaa4ccd8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012cccdffffef6666ff00
+1be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b334fffff866
+68ff00064cccfffff74ccc8b0878756d7a658b08bbf72315f82c0a0efbb4fb09a4f7
+78a401a2c6f720c603f72cf73515f8ad0ad1fb3615f8370a0efbb4fb04a1f775a101
+9ef7a603ff00e83333e815a7ff0023e666ff0004b332ff00044ccdff001c199aff00
+01cccd8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe3333
+fffff7cccdfffff2cccdffffed3333088b8b8a8a63530867c4057f9f8b92a88c8f8f
+8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3333ff00
+011999fffffd999aff001a999affffda333308ff003833333b058888ffffcecccd51
+8b8bffffe19999ffffdc8000fffffdb334fffffb4ccdffffe3e666fffffe33338787
+8b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3a89b
+a09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f
+8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b333ff00254ccd
+08ffffcbcccdd5050efbb4fb09a4d6aaf704ae01adc4f710c103f71ff71215a48b9f
+7f9a7597788f728b728b898b868a8708fb488d05ff0000b333ffffb88000ff00134c
+cdffffc48000e08bff0055b3338bff002c4ccdd28bd58bff002b6666fffff5ccccff
+0027cccdffffe46667ff00184ccdffffed3333ff0010999affffe4199aff0008e666
+ffffdd80008b5d8b5d747168ff0003b333fffff64ccdff00079999fffff9b333ff00
+08b3348b089ea1a99cb18b085bfb2315f82d0a0efbb4fb04a2f766add1a001c2bcf7
+03bc03f3f75015f8ae0a0efba9fb04a8f768a5d1a001c3bb03c36615f8af0a0efc46
+fb05a1f7d0a001c2bc03c26715f7970a0efb02fb03a8f75da17dad12cdbbf705bbf7
+05bb141c13bcf70fe115f8b00a13dcf8360a0efb91fb03a8f75da17dad12d1bbf715
+bb13b8f713e115f8b10a13d8f8360a0efbb6fb82a8f1a5f75ca17aaa12c3bbf716c1
+13dcf3fb3715f8b20a13ecf8380af71304ed0713dcf8390a0efbeafb0aa4f779a412
+a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a0a0efc19fb0ab3f760
+a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a0efb16f7b8bcf784b0
+12a4e7f700d2d9a57ea613f4f7937a15d78bc5c6a0d20872920579ffffcde666ffff
+de999affffe48000ffffda6666fffff6800008ff00a1199a07acb8cc971e918b938a
+9080917c99849d8b089f98a29ea2779d6c1f638b6951766c08898b8de37b8b05858b
+84888187707e80866281089071058f8c8f8b8f8b089b98836d1fffff30cccd0743a2
+67ff005be6678bff00a04ccd8bf725c1f712e98bbc8bcd61923208a68d0513f87df7
+3971898b8205808889861e7c8b6aa4588b08fb1b20fb14fb571ffb4de4fb13f7211e
+0efb168aaaf76db4bdb4d476f718b470a812f707e0f778a713fbf7d6f80f15fb0ef7
+2a06a69b92a21ed506d08ba9539b3f08a78f76f73dfb578b388b0513f77dfb0d8d8b
+1f13fb8a898b780513f7868f888f1eaa06b89580661ffb2a2f62e7592f62e7fb3f07
+6a7b7e611e7006868787861f8b778c89058be78db4b1ee898b1e8d8d8b9f0590878f
+871e6f06607c9ba91ff73ff70eb4fb0ebdf70e070efb167ec094b4f72db4bdb4f750
+b7019dd1c0d803f72fe515fffffd66668b88ffffffcccdfffffcb334ffffffb333ff
+00019999ff0001199aff0001b333ff00013333ff0001999aff00013333ff0020199a
+ff0018b333ff00188000ff002a3333ff0007ccccff0053199a08ff007e999ab4ffff
+83cccd06ff00003334ff0006199a8bff000666668bff0006800008aaf710b4fb10ae
+07e2b4cdb91ea18b9a80987f978094839a8b08a39c9aa4ae5296741f568b5e786867
+ffffcc8000ffffcd8000ffffe8999affffcd6666fffffd3333ffffb4199a08ffff9e
+b33362ec592a62ff0060199a0688ffffc5999afffff43333ffffc23333ffffd8b333
+ffffd63333fffffa199afffff98000fffffb8000fffffb999afffffb4cccfffffc19
+99ffffe33334fffff19999ffffe7e666ffffeb999a8bffffe7999a087e987f999ea3
+97a696949cae1ea68ba47ea57ca97aab7ab28bd58bb9b09ebf08849105726850846d
+8b708b7a937997759a6f9a4d8b080ef7e380c156a679a6f785abd4b07ca7f739a474
+ab12efd7f744d5b0d056c0e1a17bc5f72fcb6aa21311c0f744f8d5159c919f919c8b
+08c6ca73fb0c255b5f381f768b7f8e7f8d083ffb80151338e6717f7b641e71068789
+88871f8b798c89058be48dadb0de898b1e8c8d8b9d058f888e871e7106667b98a81f
+f7660798859686a48bff006580008bff00368000ff0030b334ff0019b334ff00384c
+cc08ff00384cccfbb3061390c647a36fb71eff002099988bff001e4cd0ff000d3333
+ff001ce664ff00184ccd08ff00013334ffffe5800005958d948b908b918b918b9189
+081354c6a385a887ad8bc18be9a38bea8bd849a83ead57a173978bb38bc1b79cb08b
+081354c59f8bc37fa82608a28c7ff706057996599a5a8b3f8b4d5a8b4a8b44b37ad2
+6d081350ead869a4708b628b5a5975668b688b6e9c819572a382b989a108758aff00
+034cccffffb5b333051399e0ffffec6668fffff33332ffffef6664fffffb199affff
+ebe6688b087184a7c61ff786e50795978e931f9e078f898e871e1319d021f7260656
+798b78058bffffc0b334fffff2e666ffffdbb3325dfffff83334ff00044cce9dff00
+01ccccff0011e6668bff001080008bc26cf2fb328b758b698a5a8808133ae65d8953
+887e8b087907888b87911e8f8ba38c928b089ca486661f0efb1781aaf790b3f2b3f7
+03b301ff00df3333ff005a999903f826f8f315fbcb8b468b058b76967f948408bd06
+ff003b999a8bff004619998aff00033333fb0208ffff35199a068b76967f948408ff
+00b5333306fffff46666ffffa13334ffffbd6666fffff7cccc338b08838b708b058b
+76967f9484089206a58aff0024e666fffff4e666ff000e199affffe9199a08f6fb33
+05aa5db460c78b9a8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87
+935e8b73ae70b508fb12f75705ff0026199aff000c6666ff004b3332ff001e8000ff
+00108000ff0050199a08ff006c333406829280978ba008ffffaae66606fffffe8000
+ff002d8000ffffeee666ff00191998ffffddb334ff0020666888ff0002ccccfffffc
+e666ff0002b334fffffce667ff0002800008ff00a7333306829280978ba0080e322c
+b9b2ba84a6f7efaee9b3cfa9a67712b2e1f770da139f80a95a155df85cb907fb21f7
+4115f7050a13df80f7060a80fffef84ccc157c0a13bf80f7070a13df807e0a0efb16
+80aef764afc1aff76eae01c7e1f79ead039af7d615b8068a808b828b808b848b828c
+8408648b76718b81c98b059bfb2cdb30f7128bc18bb59ba98d9bb496bb94bf81907f
+8d7f8c7544754e418b3d8b53d17ff71e08f7458b9eaffb5a8b8bae8b9ef76c8b9eaf
+fb7d8b0596f70cb8eddd8bd88baa459c45968a958c969087c285be80bb688d5f9954
+8bfb0b8b342b78fb3108708b7771050ef86788a6f7edadf729a901f884d8f7f6dc03
+fa33f79c15fb0050fb18fb041e708b799473a384847977828908b6f74d05aaf718c4
+a3b98b08c3b4723b1ffbe0fc5b15a1b49ce99cd3a37ea385b18b08f742ecf739f4db
+53c32f1f608b507d5c656f73686c6efb110863fb460571fb037455786c08927b05fb
+b5f8c515ff0013999aff00643334ff0011199aff00403332ff00143332ff002d999a
+08ff0005199a06f724c8fb01fb08fb1e58fb34fb62498a909c1f8b918b8e8c8f08ff
+0046e666ff0200666815ffffb83334fffff5b330ffffbd666672ffffb58000ffffd4
+e66808957705caff001ce666c5ff001ab332c9ff000be668ffffe48000ffffcf999a
+ffffe94ccdffffbeccccffffee3333ffffa5199a0854fba805856e7d7f698b087006
+878b88878a8708887af7088d05ab8b9e89de8b08f75bf707f730f743f722fb00f702
+fb1f1ffffff780008bfffff7999affffffccccfffff7b332ffffffb334ff0013e668
+ff00224cccff00176666ff00168000ff001ee666ff0017b334088698055a75ffffd6
+199a6fffffdcccccffffcf6668080efb168aa6f785abd5b5bcb5dca474ab12ead7f7
+43d413f7f85cf88e15ffffd5199a06fffff14cccff00356668ffffd1ccceff003d99
+98ffff85cccc8b768b6a8a5a880813fb5d895d887e8b087907888c87911e8f8b978c
+938b089ca486661f6349078b75967e958408b85a49068b75967e958408b8fbc50671
+7e7b641e7d06878888871f8b798c89058bd98dadb0de898b1e8d8d8b9d058f868e87
+1e7306657c98a81ff7660797859786a48bff006566668bc1ff00314cccff0019199a
+ff0038b33408ff004c800006819280988ba1086106ff00038000ff00108000ff0001
+8000ff001066668bff000f199a088cc507819280988ba108fbb116d20713f79c919f
+919b8bbb8bff00314cccfffff09998ff0011ccceffffbc666808ffff57e6666115ff
+00ae666606ff0000666685ff00003334fffff9999a8bfffff966668bfffff56666ff
+ffff8000818afffff6999a08ffff528000066104ff00a44ccc06ffffedb334ffffcc
+e666ffffd6e666ffffe9199affffc4199a8b768b7e8e808d080ef7027facf783a4f7
+13abf784a401addaf7b6dcf703d603f92ff96a15f8b30ad3f8ca15f8b40a772415f8
+b50af7c6fc6515c78baea8aaab0871a105716e64767c8b087a6d98d5eabec4b5919a
+87771f8b78888c8b7f0880927fa795a993a3ac74b0433b2f39fb0162b64acc1e0ef7
+027da3f78ea2f715abf784a412addaf7bfae89d2bbd770b013f880f92ff96a15f8b3
+0ad3f8ca15f8b40a772415f8b50af7c8fc671513fb00d1c4acc71f8baf5ea956a579
+93839a8b9f08a29ba2aa1e13fa80a6a26b5f1fb0888ed2056fa272936a8b498b536d
+8b538b6f9b79b7720813fd00a67bab768b6d0868737d726072adbc1e68898f2a05a9
+8bac83ad8b080ebe81b4f8e2b001b0e6dfadf7d4ac03f768ff005c333315ffffc74c
+cdff003b1999ffffe4b333ff005d66668bff00594ccd8bff00564cccff0016e666ff
+0042ccceff00248000ff002ce66693ff0009ccccff00083334ff0009199cff000866
+66ff0008199808f725fccd15ec8be4b9cfe486948491808b443d476c2e8bffffd519
+9a8bffffdb666697ffffe18000ff0014800008ff020b800007ff0021b334ff001719
+98ff0022ccccff000ae668ff002080008bf71e8bc239a5359787ff0009b3348eff00
+0b4ccc9186bf83bb82c258905eb3fb0f8b368b446c505508ffffbd999affffc33334
+ffffd86666ffffa319988bffff97b3348bfb35f4fb38f76b8b080ef76581b6f80ca9
+f721a901b7adf717ad95e5f812a803f8b48115ec8bcdb8c7e387ff0007999a82ff00
+0599997fff0001cccd49386375368b08fb1138f714f71df768f709cdda1ff7008bbf
+4aa52e9689ff000a1998ff00008000ff0007e668ff00058000fffffd6668ff0030e6
+66fffffbe664ff00314ccefffff2b334ff0033cccc6e916dabfb1e8bfb338bfb11fb
+198bfb558bffffb1cccdff001c199affffb2b333ff0037e666ffffc7800008ff002f
+ccccffffcfb333ff00498000ffffde4ccdff0055b3348b08fbe3f89a159b0afb398c
+159c0a0ef7347ea7f786a6f70facf783a401c2dbf704d6ebddf71adb03f92ff96a15
+f8b30a95f83f15f8b60af7e5fbc015c4a3e8cbb1935d636278fb07487b6b97db1e39
+8615689f3be8e5e8e1f2ba73c832fb0a4a233d1e0ef7347cb2f764bef710acf783a4
+12c2dbf704d6edda65dc13fcf92ff96a15f8b30a95f83f15f8b60af806fb641513fd
+909f8fa08b968b97899f698b6a8b6c786262089f79059a9d9794938b8d8b8e888b84
+8b868981887f086efb030513fe898086708b7e8b6a997cb98bad8baf9cb0b5867c89
+828b898b7f8e76ac8bac8baa9fb4b408779c057d7a7e81848b888b888e8b928b918d
+948e9708bdf7660577885f857f8b816277358b8b77365065788b808b89938b9d8b95
+8d9c8f9a080ef76389acf78bb1e8a9f70db36cac75a912b7adf717adf729e0f74cac
+b0aa13f3e0f8cef7aa15e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca9
+8591768b85858854887e368b082ef76606a39795a31ecc06f58ba463a146978b968d
+938efffffaccccb4fffff0e668ff00606668fffffe9998ff00079998ffffff999cff
+00024cccfffffeccccff0000b334fffffd99988bffffee8000fffffc9998fffffb33
+34ffffff6668ffffe74ccc8b08ffff00b3340613ebe08b8b3c8c598c85858b769185
+d1889c868b3808fbf8078b387a86458885858b769185bc8ca98cbe8bbd8ba88abd8a
+91918ba08591458e7a908bde08f73007fba0f77a15697368626173adae1e13e7e0af
+a2afb6b89f646a1efb398c159c0a0e7a46c2a976f886c001e9c7d0c4f755d303f8b5
+f73d158bf70d36ddfb01ad6066596e596f6baa75b78bb88bbaa7aeb0a5aa74ac73b3
+8bc38bb3b9a7b7087e8f057c716e7c6e8b648b67a170a84d4a245e8b228bfb07f715
+588b2c8b707875777d084abd2c409680aaa3cc5805bfbeecb88bde8bba6bb66eada5
+9cb1a3ab8bec8bc8fb128b358b396848465d70a565a7648b08548b615e6a66089583
+059c9fa29aa58bba8bb666a76bacdcf74bb18bf750080ef73189acf7b6b5f78fac01
+f5ff00504ccdff0041b333a8f7eae003f958f70e15f825078bde9c90d18e91918ba0
+85915a8a6d8a588b598b6e8c598c85858b769185d1889c868b3808fb34fbeaf73407
+8bde9c90d18e91918ba085915a8a488a588b598b398c598c85858b769185d1889c86
+8b3808fc25078b387a86458885858b769185bc8cdb8cbe8bbd8bd08abd8a91918ba0
+8591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185bc8ca98cbe8b
+bd8ba88abd8a91918ba08591458e7a908bde08fffdf64ccc3515ff00000001ff0015
+6666ff0000b333ff01ae999affffffcccdf70c08ff004033338b8cfcd0054f8cff00
+364ccd894f8c080e537fc0f7f4bcf75ca9a57712f7d1db80d913f4b4168f7fd4a3c3
+f78405d9eec7b5ae8ba08b9d7d8b6c8b798673836c0861fb350513f8f8b70a13f493
+a891aa8ba08bc76d9d658b578b4a7430fb0008e4f817758b0575827c8777877a8865
+857b8b08877205888d898e1eac8f05989281781f8b81897e877b080e537fc0f7f4bc
+f75ca9a57712f7d1db80d913f4ff00f48000ff022c999815ff00208000ff008d6668
+758b0575827c8777877a8865857b8b08877205888d898e1eac8f05989281781f8b81
+897e877b08fffff7199affffd9ccccffff90e666ffffe833348b63ff00656666ff00
+15b334ffff8c999afffe0e4ccc8f7fd4a3c3f78405d9eec7b5ae8ba08b9d7d8b6c8b
+798673836c0861fb350513f8f8b70a13f493a891aa8ba08bc76d9d658b578b4a7430
+fb0008ff002ecccdff00cb8000ff00803333ff001b80008bb305ffffd88000fffff7
+8000ffffd88000fffff79998ffffd88000fffff78000080e577fd3a9caf73a9ff786
+d801bdadf789c8bccd03bdf876158bfb18eb77d880088c9f0550967f8e6ca86fa581
+a98ba88bd2c9b6d88bcc8be165b079084d41057b7a87778b758b739270987508d6fb
+06058f85966f8b708b483d7a778b7b8b7d91799308fb0ecd057e927e917f8b7f8b7c
+86767f083e5c997b05a4969991998b988b98879f7f08f71d400599839888958b998b
+9a949892f73aee8dc18bb08bcafb07f7178bbd8b99919e9a9c08dee90532bd2ea55a
+8bfb148b363e8b28080efb9281bff8a8af01e4daeab603f73cf7ea15f70a07e5ff00
+143333a3ff001ecccdff00183333ff0013cccd73691e8b526657585308acfbc91564
+8ab7d71f8bf722979605d7d1bdca8bda08b1fffff93334b8ffffb7ccccffffbf199a
+ffffb6e66665fb331efb1f0772756f737277089875ccc18bfb050520a46dc91eb48b
+bfa6b2c5fffffc199aff0008199afffffa3332ff00066666fffff6b334ff00038000
+6a616a827c8b080ef82989ac6cb2f8cab36cac12f1dbff0040e666ff001e199af829
+bc132ef93ef89415fbe207788b80841e838b809d6eb008fbebf84e05139efb998d05
+85858b769185b688a968917108fc35078b327a85458485858b76918508134ebc8cde
+8cb78b08139eb68bdb8abd8a91918ba0859145927a8f8be608f7cb078bb3fffffe80
+00ff0012b334ff00068000ff00034ccc8f8dff000fb334ffffe9ccccff00114cccff
+ffea333408f7f2fc4c05ff000b8000fffff16666ff000b8000fffff4999a9b8b0899
+94979e1ff877078be49c91d19291918ba0859108132efb048905131e608b798c598c
+85858b76918508d1849c878b3008136efffe4ce666fc6d15ffffbf199af8cacc06ff
+ffffcccdffffc71998ffffff8000fffe978002ff00009999ffff6b6666080ef7de81
+abb0b7d6a4f778a4f736a777ab128fd7d4b8f7d6b8d4d74cc6f720c613f7d0f75af7
+3c15f7a307a48c978f1e8e8b9083937e08f79afc4d059877a2859b8b08999d999e1f
+f87407f092a3b21e998b9176927e9479977ea18b089d9a97a5ab63a658337c60fb1b
+1ffbc2076e897f851e848b7f9e6ebc0813fbd0fb9bf84dfb188b898a0513f7d07807
+13fbd0869388901e9006ac8ba861917108fc2707268473641e7d8b85a08498829d7f
+98758b08797c7f716bb370be1fe39ab6f71b1ff93cfb011598999f94938792811ffb
+65067f7e7a7e849184941ff700f8211513f3b0326340444bba47dcff00531998ff00
+2ee668d1ccff0048199a66ff0046e6662f1fd1fb3615f8b80a0ec88aa8f794b1f7ba
+a57ba712dcadbfdcf77adc13def872f87215f8b90afb7afb5615cd8bd18db09cb59d
+ebc08bf48bbd7ab467ad5bb844904c8b0813eefb098bfb2f847686087807878e8890
+1eb5ff000166688bfffdb29998538b05868888861f8b788d89058bf72f8daeb3e189
+8b1e8d8d8b9e0590878e871e7106637c99a91ffb195f15f8ba0a0ef709fb65c4b1b7
+f948af01b0ebd1adf7e1eb03f92ef7dd15660afc63ffff22cccd15ffffd5999aff00
+333334ffffe46666d58be98bff00708000ff001c6666ff004c9998ff0029999aff00
+2ee66808adfffe17199a15f89b07a8ff0013b334ff00208000ff00093334ff002080
+008b08f718f6fb02fb5efb473522fb061fffffd080008bffffd18000ff0010999a64
+ff001f8000080ef705acd9f86bd657c012a2abf716b7d8e013bca2f86f158bfb1af7
+368b8b5d8b807e838785089f7cabba0590928f938b958b9e80a16b9b0835b6057397
+76ab8bab08a19fdbeaf702a528fb411e8bfb058639543a0844bd05878e888c868b81
+8b8280797b084b559d7d0599959a92988b9c8b96839a8008ad6f05a096d9c7b5c1bc
+cb8dc18bec8bc387d47fda08c3af0513dc96929790958b9a8b9c849c7a08d348fb41
+fb0c95798f8b05a48b9781966cb9fb1762fb23f25708edda7ea00581877f847e8b4e
+8bc0f753fb03f72208f737f707fb25f712058591848d868b7f8b8084838408fb0936
+0573b087a160a10813bc71987091708b08fb073f41fb011f0ec885a675a8f794b1f7
+baa57ba712dcadbfdcf77adc132ff872f87215f8b90adc8c158bbd7ab467ad5bb844
+904c8b081377fb098bfb2f847686087807878e88901eb5ff000166688bfffdb29998
+538b05868888861f8b788d89058bf72f8daeb3e1898b1e8d8d8b9e0590878e871e71
+06637c99a91ff76807cf8ba885908408f2fb540513afa45cb865c68b9a8b9d8d958f
+0887a005668b6aac74b70820f76105b799e9c48bf4081367fc50fc5715f8ba0a0ef7
+2ff7afa37da0f7d29f12a1c94fa977a9f711d05ba813b2f779f91015728c909b478b
+568b49668b508b4cd46eb57ba880a27d8b598b607173688b688b6ab586b30813a88a
+936d880513a68f66917f8b5408a98c058c908b8e8a8d8d8a8c8a8e8a95859b82b58b
+d08bbebf8bc58bcc54a3599d0813b176925b9d8bba8baba2a5a88bb78ba06a945e08
+a88f05f81ffb68158c898b888b8908136080897f861e7d0613a0828389861f8b8305
+13609185058bb98d9fa0b7898b1e91910513a09307136090858d7e1e7d06838b8999
+899b0874f79e8b9105968e90911e9a0690978c901f8b938891398b056935652f6834
+08fb04f79d328b86858b83058b889089978a089b06918e867f1f8b898b8805853583
+2c85368a7d887b848b087d0613a07f8589861f8b830513609085058ba88d9ea0b289
+8b1e8e910513a09307136090818d841e7c06868a94991f91078fcb90cb90ccb22cc7
+fb238b8b8f8494888f8b958b8f8f8e918b8bccf736acdc080ef75cf7b9a0f7cca501
+f71fcf03f763f7e915f79c079c8e8f961eb606a18b9185975e08a29078e67283058c
+888c838c8b08fb7d068c8b8c938c8e0873937831a1850596b89291a08b08be06958f
+877b1ffb9d07798285751e7d06888989881f8b7e8c8a058bc88ca09fca8a8b1e8c8c
+8b98058e898d881e7d067484949a1ff8678e158407808a7f861e7d06828389861f8b
+839185058bb98d9fa0b7898b1e91918b930590848d7f1e7d06838b8999899b0874f7
+9e8b9105968e90911e9a0690978c901f8b938891398b056935652f683408fb04f79d
+328b86858b83058b889089978a089b06918e867f1f8b898b88058535832c8536897d
+897b848b087d067f8589861f8b839085058ba78d9ea1b2898b1e8e918b930590818d
+841e7c06868994991f910791cb8fcb8fccb32cc7fb238b8b8f8494888f8b958b8f8f
+8d9108eef787050ee48bb2f8cbb3977712cda9f8d3a91398f77db1153d8bf826f8cb
+dc8b05b0fcf1158fc396c496bf086d900577436e503e8b08fb7d067b828f941f8b90
+8e91919408f80af89b059fa78f958b968b92888e788b0813d87e8b788a6c8808fc4c
+0613b85c8b8e94668e87558143836208a9860513d8a0d09dbed68b08f77306928e89
+851f8b868884868408fc19fcb105868388838b8408819086991e0ef18bd0f8bfad12
+b7a478e7f837e672a513d8f85df70915f7b40a13e0f8920a13d8f7b60a13c4f7b70a
+0ef184adf8bfd012b7a572e6f837e778a413d8f784f8aa15fb036637248bfb0c08fb
+28f1fb19f75bf759f3f729f7181e8bf71434eafb00b00887bbf28b0513c4c08b9e8e
+9056ff00084cccfffffc6668ff00086668ffffff4cccff00084cccff00044ccc8bb4
+fffffdb334ff0027ccccfffffb4cccff0026333408fb6906808585821f93fb140513
+d8e74db24e8bfb0408fb1445fb0afb1ffb163bf5f7211e8bf700b3d4e7c00893f715
+059486907f1efb640613e08769885e8b63ff00074ccc87ff0008b3348b958f91c4a0
+84bc8b08ec060e3981a8f74ea7f746a801a9def7b0de03f705f77d15ef079ec8c6dd
+dbc852791e2407fbb06f15f80306f729fb09e1fb00fb102626fb10fb11f027f7101e
+d48bccaeb4bf08699605685e5873518b08394ec8a21f0efb06a07612acbd63ba77f7
+04f775ba13a8f859f84e15f8190a13c8f81a0a1398f81b0a13c8f81c0a0efb138bef
+f7cdf601f806b103f782f89c15f81d0a0efb989a7691ef12bcf7556ba31350f77ef7
+bc151360f81e0a1350f81f0a1390f8200a0efb319f76f832f612f7a3c753ce13e0f7
+dff7b715f8210a13d0f8220a0efbc989adf7f7a9e9f70c01f0f70203f767ff01414c
+cc15bd8eff0048b3348b1eff00026666fffffb6666ff0000999afffffd999a1effff
+e080008145fffff58000ffffba8000fffff68000088d6db48705998a93808b5908fb
+88078b6f7bfffff633336cfffffacccd087f8905fffffc199affffff4ccdfffffce6
+66fffffdb3338b85088b748d89058bdc8dafb2dc898b1e8d8d8ba2058b91fffffbe6
+66ff0002199afffffc199aff0000e66608818d05ffffe26666ff0005e666ffffee99
+9aff0009199a8ba708fb08f882156aa670acaca6a6acac70a66a6a70706a1e0ef864
+81d3f7c0d801f72aacf5acf708adf4adf713acf5ac03f9cff7fe15b197587c1f8b56
+6f58776d72a56ab78bc1089c97c6b71efcdf16aa9d656f1f8b5064586f6b79ab76b7
+8bbe089e97c9b81ef7b416ac9b65701f8b506c54726874a971bc8bc0089f97c9b71e
+63fb8d15706f5f745e8b7a8b578f5db8a9afaedb8be108c479d048487742521e8b41
+9c4aa25e60694e74418a089441059d8bec8fe1dac73cc884af8bab8bc192c7d2ab65
+c163d18bb48bc197c4dbb95dd162e4890894d5054f8d4a9a51b7a2b7a2d08bd508af
+80e3433d802b6a1e8b3fa746aa5e726f606d528b578b61a171a3a5b4acdb8be108ad
+7fe542487640531e8b3fa245a65a080ecc36a9f71ca6f6a9d1a8f7957712f71bc1f7
+6bbde5c66ac913fe00f8a8f8ed15aa0a13ff006dfc3015f8bb0a13fe80f8bc0a13ff
+00f8bd0afc3bf81a15a60a0ecc34a9f71ca6f6a9d4abf79177a8a912bac0efc97ba3
+f714bde5c66ac913fe40f8a8f8ed15aa0afc895515f8be0a13ff40ab0a13fec09e0a
+13ff40ac0a13fe60f865fbfc15f8bb0a13fe50f8bc0a13fe60f8bd0a0ecc35a6f739
+a6d1aed9a8f7947701f722c1f7fac403f8a8f8ed15aa0a77fcd415f8a00afc3ef8bf
+15a60a0ecc36a6f739a6d1aed8abf79177a8a912bbc0efc97ba3f7b0c413fe40f8a8
+f8ed15aa0a78fcd315f8a00afc75f89d15f8be0a13ff40ab0a13fec09e0a13ff40ac
+0a0ecc36a6f739a6d1aed1a9f71ca6ee77a7a912b8bde5c66ac9f7abc413ff20f8a8
+f8ed15aa0a13ffa0fc197915ad0a13ff60a10a13ffa0a20af803fcc115f8a00a0ecc
+36a6f739a6d1aed9a8d1adf72b7701f73fbff7e1c403f8a8f8ed15aa0afc27fffffc
+b33415f89e0affff3a4ccc04f89f0af815fc2215f8a00a0ecc35a3f729a3f7059ed4
+a8f7947701f727c1f751c0f70bc403f8a8f8ed15aa0a7ffcdb15f8a10ac49015f8a2
+0afc7af8c115a60a0ecc36a3f729a3f7059ecea6f739a6d2779eae12f75ec4f716c0
+f70bc413fdc0f8a8f8ed15aa0afc08fb4715f8bf0a13fbc097dcf71b8b0513fdc08b
+8c0513fbc0f8c00af7fbfc2715f8a10ac49015f8a20a0ecc34a5f7a9a5d4a8f79577
+12f722c1f75bbd68bcecba6ac513f800f8a8f8ed15aa0a48fc0d1513fb00f8a50aeb
+6215f8a60a13fc80f8a70a242915f8a80afc08f88215a60a0ecc36a5f7a9a5cba9f7
+1ca6ef77a6a912bbbde5c66ac9f70abd68bcecba6ac513fe00f8a8f8ed15aa0a13ff
+00fc167815ad0a13fe80a10a13ff00a20af7d2fbf81513fe30f8a50aeb6215f8a60a
+13fe48f8a70a242915f8a80a0ecc35a5f7a9a5cfa6f739a6d2779eae12f75bc4f719
+bd68bcecba6ac513fa00f8a8f8ed15aa0afc0bfb4715f8bf0a13f60097dcf71b8b05
+13fa008b8c0513f600f8c00af7c2fb591513f2c0f8a50aeb6215f8a60a13f320f8a7
+0a242915f8a80a0ecc36a5f7a9a5f7f9779bb112b7a0839d9fadf7a2bd68bcecba6a
+c513e220f8a8f8ed15aa0a13d600fc628f15f8a30a13da00f8a40af823fc0f1513c2
+c0f8a50aeb6215f8a60a13c320f8a70a242915f8a80a0efb87f7d0a8f7947701f71f
+c103f8a8f8ed15aa0afc557615a60a0efbc089aaf8b3a901f702d703f74ed915f851
+078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e8989
+8b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084087e890586
+8a88888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d
+05649179938bac080e3d8baaf8aeaa01f700d7f72ad703f74cd915f8c10af77616f8
+51078ba89995b69208988e05908c8e8c8b91088b9f898d058b3e89661efb77066242
+8d8b1f89898b77058b858f8a8f8a08988805b2859e838b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f8d8d8b9f05
+8b90878e878c087e8d0563927a928bac080ef72d8baaf8aeaa01f702d7f72ad7f72b
+d703f74ed915f85107a8999cb61eaf06b49b7d6b1ffc51076d7d7a601e6706627b99
+ac1ff77616f85107a89a9cb61eae06b59b7d6b1ffc51076d7c7a601e6806617b99ac
+1ff77716f851078ba89a95b59208988e05908c8e8c8b91088b9f898d058b3e89651e
+fc580662418d8b1f89898b77058b858f8a908a08978805b5839b858b6b08fc51078b
+6d7b816184087e8905868a88888b86088b778d89058bd88db11ef85906b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0562927b928bac080ef778937696aaf8b0aa12f7
+02d71370f7f5f8ec15fb610662418d8b1f89898b77058b858f8a908a08978805b483
+9c858b6b08fc51078b6d7d815f84087e8905868a88888b86088b778d89058bd88db1
+b4d5898b1e8c8d8b9f058b90888e868c087e8d0562927b928bac08f85107a8999cb6
+1eaa069c8ba288917808f748fcab0513b0907b9382968b978b8f93919c08f74bf88c
+0598ad9099b390089d8e05908c918c8b90088b9f888e058b49897a7c288d8b1e8988
+8b7705878c88901eab8805a8899c867e6708fb1efc1a898bfb14f81a0582a88997ae
+8d08b38e05908e8f901f8b9d898e058b25896b1e0e8d9376f8dda901f70bf8ec1574
+3c8d8b1f89898b76058b878c89908a08a08805af8790879d5608f73afc8405907b94
+82968b978b9393919c08f74af88a0599b29196b190089d8e058f928d901f8ba0898d
+058b4089837b218d8b1e89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f778937696aaf8b3a912f912d713b0f70bf8ec15743c8d8b1f89898b76058b878c89
+908a08a08805af8790879d5608f73afc8405907b9482968b978b9393919c08f74af8
+8a0599b2909bb28b08a106b49c7d6b1ffc51078b6d7c8160840813707e8905868a88
+888b86088b778d89058bd88db1b4d5898b1e8c8d8b9f058b90888e868c087e8d0564
+9179938bac08f851078ba89995b69208998e05908c8d8c8b91088b9f8a8d058b3d89
+661efb42067b218d8b1f89898b7605878d88901eaa8805a589a5867e6708fb1ffc1a
+898bfb16f81a0583a88797ae8d08b38e05918f8f901f8b9e898d058bfb0589741e0e
+f858937698aaf8aeaa12f910d7f72ad71378f95cd915f8c10afce5f89e15743c8d8b
+1f89898b76058b878c89908a08a08805af8790879d5608f73afc840513b8907b9482
+968b978b9393919c08f74af88a0599b2919bb18b089f06b19f7d6b1ffc510713788b
+6d7c816084087e8905868a88888b86088b778d89058bd88db11ef77606b4d4898b1f
+8d8d8b9f058b90878e878c087e8d0563927a928bac08f851078ba89995b69208988e
+05908c8e8c8b91088b9f898d058b3e89661efc22067b218d8b1f89898b7605878d88
+901eaa8805a589a5867e6708fb1ffc1a898bfb16f81a0583a88797ae8d08b38e0591
+8f8f901f8b9e898d058bfb0589741e0ef955937696aaf8b3a812f928d7f72bd7f72a
+d8137cf9aea815617b99ac1ff85507a89a9db61eae06b59b7c6b1ffc55076d7c7a60
+1ef74a6c158bf28db0b4d6898b1e8d8d8b9f0590868f861e8006617b99ac1ff85507
+a89a9db61e9706908f8d911f8b9e898d058b3c8966622c8d8b8b56896562448d8b8b
+3f896562448d8b1e7a8b5089838b7b8b308d838b088a888b7805878c88901eab06a6
+8ba4817e6708fb29fc1afb16f81a0583a8869caf8b08b306918f8f901f8b9c898e05
+7b8bfb0589848b7c8b3a8d848b088a888b7805878c88901ea0069c8ba285917808f7
+47fcab0513bc907b9482968b978b9393919c08f74ef8940597ad8f99af8b08ba06b4
+9b7c6b1ffc5507137c6d7d7a601e7f06868787861f8b778d89058bd88db1b4cf898b
+8bda8db1b4b8898b1eb8aa156706627b99ac1ff85507a8999db61eaf06b49b7c6b1f
+fc55076d7d7a601e0ef7a489aaf8b0aa01f702d7f7c7e303f7f1f8ec15fb5d066241
+8d8b1f89898b77058b858f8a908a08978805b3849d848b6b08fc51078b6d7c816084
+087e8905868a88888b86088b778d89058bd88db11ef73d069ae6898b1f8d8d8ba105
+8d8a90861e798d05668e939b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+0ffb4405a26b8e88668808788905878a87881f8b758d89058bf7048d901e978bc98a
+a48a088d8d8ba1058d8990861e628e6aa672b008fb25f75905829885938b958b9391
+94929608f70bf73505a4ada1a3c48c928c8c8e8b8e088ba0888d058b34898780398d
+8b1e89898b76058b868e8a8e8a08a88905a689877e797308fb09fb32058684868688
+8b888b8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b
+8bfb0089871ffb37fc9e15f85107a8999cb61ea0069b89a889b25408f719fb4f0592
+8090848b818b868882858408fb14fb450577706c6a5785088106647999ac1f0eb989
+aaf8b3a901f7a3e303a6f8d7158b87908a95899b89a886b25408f719fb4f05928090
+848b818b868882858408fb14fb450576706a65548808868788871f8b758c89058bd5
+8d8f9ae6898b1e8d8d8ba1058d8b90861e798d05668e929b9ba108f70ff73e059192
+91928e8b8e8b9087908408f710fb4405a26b8d88668808788905878a87881f8b758d
+89058bf7048d901e978bc98aa48a088d8d8ba1058d8990861e628e6aa672b008fb25
+f75905819886938b958b939194929608f70bf73505a4ada1a3c48c928c8c8e8b8e08
+8ba0888d058b34898780398d8b1e89898b76058b868e8a8e8a08a88905a689877e79
+7308fb09fb320586848686888b888b8790879108fb01f7330578a58396aa8d08aa8d
+058d8d8d901f9f078a888e8b8bfb00898780368d8b1f8788050ef7a38baaf8aeaa01
+f7a3e3f7d5d703f8e7f8cd15a606b3849d848b6b08fc51076d7c7a601e8206648f6c
+a573ae08fb25f75905829885938b958b939194929608f70bf73505a4ada1a0c48c08
+fccc95158b87908a95899b89a886b25408f719fb4f05928090848b818b8688828584
+08fb14fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d
+8ba1058d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b908790
+8408f710fb4405a26b8d88668808788905878a87881f8b758d89058bf7048d901ef7
+5606b4d6898b1f8c8d8b9f058b90878e868c087e8d05649179938bac08f851078ba8
+9995b69208998e05908c8e8c8b91088b9f8a8d058b3c89661efb650680398d8b1f89
+898b76058b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b
+8790879108fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb00
+898780368d8b1f8788050ef8838baaf8aeaa01f7a3e3f7d3d7f72ad703f8e7f8cd15
+a406b2859e838b6b08fc51076d7c7a601e830665906ca473ae08fb25f75905829885
+938b958b939194929608f70bf73505a4ada1a0c48c08f733fc7f15f8c10afd6bf889
+158b87908a95899b89a886b25408f719fb4f05928090848b818b868882858408fb14
+fb450576706a65548808868788871f8b758c89058bd58d8f9ae6898b1e8d8d8ba105
+8d8b90861e798d05668e929b9ba108f70ff73e05919291928e8b8e8b9087908408f7
+10fb4405a26b8d88668808788905878a87881f8b758d89058be78da41ef83606b4d4
+898b1f8e8d8b9f058b90868e878c087e8d0563927a928bac08f851078ba89995b692
+08988e05908c8f8c8b91088b9f888d058b3e89661efc450680398d8b1f89898b7605
+8b868e8a8e8a08a88905a689877e797308fb09fb320586848686888b888b87908791
+08fb01f7330578a58396aa8d08aa8d058d8d8d901f9f078a888e8b8bfb0089878036
+8d8b1f8788050e3089aa6eb4f8a7a912f705d7f7a3a313b8f705f89f15fc57078b68
+86876589086a8905878888861f13788b760513b88d890513788bda8db21ef7670613
+b8abd1898b1fa0f747738f0513785ffb1d5d887a8b08fb1306727f8faa1ff853078b
+a89995b69208998e05908c8d8c8b91088b9f8a8d058b3d896662418d8b1e89898b77
+058b858f8a908a08978805b3849d848b6b080e8481b6f8b3ad01ade5f812a803f7d9
+8115ec8bcdb8c7e387ff0007999a82ff000599997fff0001cccd49386375368b08fb
+1138f714f71df768f709cdda1ff7008bbf4aa52e9689ff000a1998ff00008000ff00
+07e668ff00058000fffffd6668ff0030e666fffffbe664ff00314ccefffff2b334ff
+0033cccc6e916dabfb1e8bfb338bfb11fb198bfb558bffffb1cccdff001c199affff
+b2b333ff0037e666ffffc7800008ff002fcccdffffcfb333ff00498000ffffde4ccd
+ff0055b3338b080ee789aff8a8af01eed7f807e603f743f8a115b19d8ee0f70df727
+52fb8ffb0062fb08fb60fb017a93af1e65f89e1562418d8b1f89898b77058b85908a
+908a08968805b3849d848b6b08fc51078b6d7c816084087f8905868a87888b86088b
+778d89058bd88db11eb18bf70c89b18b08f74bf70df706f73ff754fb2cf713fb491f
+558b5289538b080ef7a0957694aaf8b3a9121360f769f8ec15fb2d8d89898b750588
+8d86921ea88a05a78a96888b630865fc5605886685866b89086b8905878789851f8b
+768d89058bc68db1b0c6898b1e8d8d8ba0058e8990851e6c8d05688d86948eac08ad
+f821f76cfc690513a08e858f83918b928b918f8f9308f773f876b3fc2e058b6e8a80
+68890813606d8905868b88888a86088b768d89058bce8db5bbd6898b1e8d8d8ba005
+8b8d8890848c086d8d05708d7f8c87b2085ff857058bac9595a98d08a98e058e8b8f
+8c8c92088b9f898dfb1889fb73fc78888b050efbd689acf803acc6ef12e0ef33da13
+f0e0f8b215850a13e8e6fb7f15f77c0a0efb1f8ba8f807a8c8ef12dfef34d6f702ef
+34d613eaf7bbf7f815f8c20afb5a16fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffff
+e0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000c
+ccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e89
+8d058b4589671efb5a0667468d8b1f89898b78058b868efffffd800090ffffff8000
+089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813e4f74df74e15
+850a13f0fb5a16850a0ed18ba8f807a8c8ef12dfef34d6f702ef34d6f703ef33d613
+e280f881f7f815f8c20a13e880fc2016fbae078b6efffff53333fffff36666ffffdf
+cccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18d
+af1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ff
+ffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff00
+0cccccff001e8000ff00033334089e8d0590ff000080008fff000280008b90088b9e
+898d058b4589671efc200667468d8b1f89898b78058b868efffffd800090ffffff80
+00089e8905ff0020e666fffffc8000ff000a199afffff380008b6f0813ea00f75a16
+f8c20a13e100f74ef74e15850a13f000fc2116850a13e400f75a16850a0ef70a9476
+95a8f80ba8c6ef12e0ef33d61374ecf7f815fbae078b6efffff53333fffff36666ff
+ffdfcccdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058b
+d18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0
+cccdff00034cccfffff53333ff000cb3348ba808f7ae07a7969baa1e9d06a887ff00
+14e666fffff9b334ff000e199affffdc4ccc0813b4f71cfbed05917c9185988b958b
+9291929c08f71ef7e7059bb2a295a88e91ff0000999a90ff000366668b90088b9d89
+8d058b62897066528d8b1e87898b77058b888efffffc4ccc90ffffffb334be88ff00
+086668fffff94cccffffee9998ffffd9b3340832fb6f7a607ab935f76e05fffff5e6
+66ff0017999afffffd8000ff0010b332ff001f999aff0003b334089c8d058eff0000
+666691ff0001199a8bff00068000088b9e878d058b4e89641efb460667468d8b1f89
+898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc8000ff00
+0a199afffff380008b6f0813387ff74e15850a0e299476f82eac01f7d9f822158f0a
+0ef707947695a8f809a8c8ef12f8a0ef33d61374f8acf7f815fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86
+088b788d89058bd18dafafd0898b1e8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efb2c0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb334be88ff00086666fffff94cccffffee999affffd9b3340832fb6f7a60
+7ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff001f999aff0003
+b334089c8d058eff0000666691ff0001199a8bff00068000088b9e878d058b4e8964
+69568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c8000fffffc8000
+ff00154ccdfffff76666ff000e3333ffffdc199a0813b4f71cfbed05917c9185988b
+958b9291929c08f71ef7e705ff000f8000ff0025b334ff00158000ff00084ccca78f
+089b06ac957b6f1f13387ff74e15850a0ef7ca947697a8f807a8c8ef12f89cef34d6
+f702ef34d61375f96ff7f815f8c20afc2db915f8c30a13b5f8c40a13758b6efffff5
+3334fffff36666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b
+86088b788d89058bd18daf1ef75a06afd0898b1f8d8d8b9e058b9087ff0002800086
+ff0000800008788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae
+078ba7ff000b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008f
+ff000280008b90088b9e898d058b4589671efbf80666528d8b1f87898b77058b888e
+fffffc4ccc90ffffffb334081338f75af72015850a1332f75a16850a0ef890947697
+a8f807a8c8ef12f89cef34d6f702ef34d6f703ef33d6137500f96ff7f815f8c20a13
+7140f75a16f8c20afcf3b915f8c30a13b440f8c40a1374408b6efffff53334fffff3
+6666ffffdfccccfffffc999a0878890586ffffff800088fffffd80008b86088b788d
+89058bd18daf1ef82006afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efcbe0666528d8b1f87898b77058b888efffffc4ccc
+90ffffffb33408133200f820f72015850a133800fb5a16850a133080f82116850a0e
+ee8ba8f807a8c8ef12e0ef33d6f77cd313ecf77ba8157a066c809ba81ff7ae07a796
+9baa1e9e06ad88ff0012e66678ff001c199a6208e2fb13058d888c898b888b888a89
+8a890837fb0005ffffd7199affffcb6666ffffe8e666fffffd999a748808f734f807
+159a8d058fff000080008fff000280008b90088b9d888e058b3a896d1efb3a066746
+8d8b1f89898b78058b868efffffd800090ffffff8000089e8905ff0020e666fffffc
+8000ff000a199afffff380008b6f08fbae078b6efffff53333fffff36666ffffdfcc
+cdfffffc999a0878890586ffffff800088fffffd80008b86088b788d89058bd18daf
+1ef73206acbe898b1f8d8d8b9e058b9089ff00024ccd86ff0000b333087d8d056f8f
+ff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d89
+8f8608c53b05ff0016e6686dff000d4cccffffec6666ffffdfccccfffffa999a087f
+8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d89058bca8db4
+adc0898b1e8d8d8b9e058b9187ff0001199a81ff0000e666ffffe080008efffff04c
+ccff00023333ffffd43334ff003dcccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08
+dff605b0baff000f800094ff002480008e91ff0000800091ff000080008b92088b9e
+8a8d058b5a896b6c5c8d8b1e88888b78058b868efffffe66668effffff999a089b89
+05ff00216668fffffbccccfffff2e664ffffede668ffffefb334ffffeb4ccc084a30
+0587868989888b878b888e8891084ee505ffffedccccff001c199afffffa3334ff00
+098000acff000466660813f4fbc6f72215850a0e3089acf803ac01f74af7fa15900a
+0eec89a8f80ba8c6ef12f764d3f776ef33d613f4f757f824159a8d058fff00008000
+8fff000280008b90088b9d888e058b3a896d6d5a8d8b1e89888b78058b8792fffffd
+999a92ffffff6666ad88ff0012e66676ff001c199a6208e2fb13058d888c898b888b
+888a898a890837fb00056155ffffe8800088ffffe8800088fffff7199afffffee666
+fffffbe666fffffd199a8b85088b7a8d89058bb98da8acbe898b1e8d8d8b9e058b90
+fffffde666ff00024ccdfffffb199aff0000b333087d8d056f8fff000c999aff0014
+199aff000c6666ff0011e66608cae6058f918e8e8d8b8e8b8d898f8608c53b05ff00
+16e6666dff000d4cceffffec6666ffffdfccccfffffa999a087f8905fffffb199aff
+ffff3333fffffde666fffffdcccd8b86088b788d89058bca8db41ef73b06afd0898b
+1f8d8d8b9e058b9087ff0002800086ff0000800008788d05ffffe0ccccff00034ccc
+fffff53334ff000cb3348ba808f7ae078ba7ff000b8000ff000cccccff001e8000ff
+00033334089e8d0590ff000080008fff000280008b90088b9e898d058b4589671efb
+3d066c5c8d8b1f88888b78058b868efffffe66668effffff999a089b8905ff002166
+66fffffbccccfffff2e666ffffede668ffffefb334ffffeb4ccc084a300587868989
+888b878b888e8891084ee505ffffedcccdff001c199afffffa3333ff00098000acff
+0004666608f7d75f15fbae076e807b6b1e7c066e8effffefcccc8effffd63334c608
+31f71305898e8a8e8b8d8b8d8c8d8d8e08dff605b0ba9a92b08e089e06ac957b6f1f
+13f87ff74e15850a0ef7a789a8f80ba8c6ef12f764d3f761ef34d6f702ef34d613f1
+f757f824159a8d058fff000080008fff000280008b90088b9d888e058b3a896d6d5a
+8d8b1e89888b78058b8792fffffd999a92ffffff6666ad88ff0012e66676ff001c19
+9a6208e2fb13058d888c898b888b888a898a890837fb00056155ffffe8800088ffff
+e8800088fffff7199afffffee666fffffbe666fffffd199a8b85088b7a8d89058bb9
+8da8acbe898b1e8d8d8b9e058b90fffffde666ff00024ccdfffffb199aff0000b333
+087d8d056f8fff000c999aff0014199aff000c6666ff0011e66608cae6058f918e8e
+8d8b8e8b8d898f8608c53b05ff0016e6666dff000d4cceffffec6666ffffdfccccff
+fffa999a087f8905fffffb199affffff3333fffffde666fffffdcccd8b86088b788d
+89058bca8db41ef7ed06afd0898b1f8d8d8b9e058b9087ff0002800086ff00008000
+08788d05ffffe0ccccff00034cccfffff53334ff000cb3348ba808f7ae078ba7ff00
+0b8000ff000cccccff001e8000ff00033334089e8d0590ff000080008fff00028000
+8b90088b9e898d058b4589671efbef066c5c8d8b1f88888b78058b868efffffe6666
+8effffff999a089b8905ff00216666fffffbccccfffff2e666ffffede668ffffefb3
+34ffffeb4ccc084a300587868989888b878b888e8891084ee505ffffedcccdff001c
+199afffffa3333ff00098000acff000466660813f4f7c35f15fbae078b6efffff533
+34fffff36666ffffdfccccfffffc999a088706738effffef199aff0009b333ffffda
+e666ff00344ccd0831f71305898e8a8e8b8d8b8d8c8d8d8e08dff605ff00218000ff
+002a8000ff000f8000ff000a8000a98f089406ac957b6f1f13f5f75a16f8c20a13f8
+fb67f74e15850a13f2f75a16850a0efbdf89acf8f6a9a67701eada03eaf70e15890a
+0efb3b81bcf803ac01b0e1f74de203f822e6157a0a0e3281ba84a6f7efaef75ea9a6
+7712b2e1f770da13bef7edf710157b0a80fffef84ccc157c0a137e7d0a13be7e0a0e
+f75789acf7f6a771bf12e9daf753daf753da141c13dcf73ef7fa15fffffeb333ff00
+1db33489affffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff000366
+66838b6f807182468289858d7b8d85c18696868b5108fb57078b397e86548785858b
+769185a98cb18cb38bb38bff001ecccd8aa98a91918ba08591ffffcd333390808f8b
+dd08f738078ba094ff000c4ccc93ff0008b3340813bcff0027999aff0026b334ff00
+258000ff00144cccff001ee6668b08b1a773481ffb42078b398386558786858b7690
+85a48cb08cb38bb38bac8aa48a90918ba08691598f82908bdd08f733078b998b998a
+97bbc0b898b28b08b1a175481ffb44078b398186578786858b769085a48cb08cb38b
+b38bae8aa78a90918ba08691548f82908bdd08f73207e47cd1331effffcccccc8bff
+ffc24cceffffed3334ffffcbe6665488fffffccccc858689ff0008999afffff68000
+b4ffffd98000ff00206666578b518bffffcbb333ffffdd999affffd64ccdffffd166
+6608fffffb6666fffffae666fffff9199afffff9199affffff800097080ef86989aa
+f8b3a901c2e2f7f3d7f7f5e203f912f8ee15f8c50aadfcd115288794ae1ff84b07b4
+949ed4f704f73351fb8dfb52fb055dfb1d1efb47b7156a8b8026fb1dfb05cef752f7
+82f727bbf70fd3947a601e0ed589adf8acad01eed7ddc7f766e2039b9f158b778d89
+05b48daa8bb98bce8b9289ec8b08f718f743c7f77bf742fb23f71ffb481f4f8b6889
+4f8b5d8b718c5d8c0889898b76058b878f898f8a08a68905b18895868b6908fc5b07
+8b6c7c826a89086e8905888886871ff733be158bff0027333392fffff7cccd05be9e
+dfc18bf7058bf70a6ea645bc83ff0005199affffee6666ff0006199affffee999a8e
+08ff0022cccc07acad8fb9f75fd0fb31fb25fb51fb095efb182f8093aa1eff003066
+6604ff0122b33407ff0009199afffff64cccff00089999fffff7b334ff00064ccdff
+fffae666ad6ca3678b528bffffbc4ccdffffd0b333ffffccb333ffffdd4ccdffffe7
+6666080ef86989aaf8b3a901c2e2f762c7e0d7e1c7f763e203f912f8ee15f8c50aad
+fcd115288794ae1f8bff0029cccd96fffff3333305be9edfc58bf7058bf70a4cc068
+a3fffff66668ff0005999affffecb330ff0006e666ffffece668ff00028000089507
+b4949ed4f704f73351fb8dfb52fb055dfb1d1e24ff0057999a15ff012f800007ff00
+0ab334fffff43332ff000a4cccfffff5b3349285ad6ca3658b528bffffb9b333ffff
+cde668ffffc84ccdffffdc1998ffffe8999a083ffffffe199915ffffd64ccd076a8b
+8026fb1dfb05cef752f782f727bbf70fd3947a601efffff5cccc07ffffed999affff
+fd4cceffffecccccfffff96666fffff6999afffffa800068734c568bfb0a8bfb05de
+51bf780895f7d115fffed1b3340768ff0017666659ff003799998bff00464ccd8bc4
+a2b1aeaaff0006ccccff0005ccccff0009e668ff0009ccceff000a4cccff000b6666
+080ea880b7f8afb201afabf83ce703f7a38015f76debf73bf735f748fb12f706fb40
+1ffb0b8b5b614f8788518158815508ab8605a6e6bcdff7188b08f710e737fb4bfb34
+51fb04fb2b1f2f8b47ac40dd7e8b83848782d32dda5aec8b080efb4281b7f807ad01
+a2ddf75fd8039deb15ad41c06bd18b08f719d8f701f714f7093ceafb0c2152525c67
+a686941fa38b9f988d9f91ad90b7cd8b08d4c03bfb08fb04584c311f598b59a76bb7
+fffff76666ffffff333386fffffc199afffffc999afffffab333080ef8abf783bf01
+f7a7b303f7a7f85415352a3a535a7a087407f7005ff700fb148b8a08b30664df62b9
+6aa608f9fabffdfa06abaabcc1a9d3080efb2efb6576f989b301f758bf03f829f8cb
+152ae153dc7abc0874065ffb00fb14fb008a8b086307dfb2b9b4a6ac08fdfabff9fa
+07aa6bc15ad36d080ef8abf783bf01f9c4b303f9ecdd15e1ecdcc3bc9c08a207fb00
+b7fb00f7148b8c086306b237b45dac7008fdfa57f9fa066b6c5a556d43080efb19fb
+6476f76cb301f762bf03bc7e15ec35c33a9c5a08a206b7f700f714f7008c8b08b307
+37645d62706a08f9fa57fdfa076cab55bc43a9080ef88bf783bf01fa13f7b715fd47
+06a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae
+76a771ca52b166987b08b3066bcf6abf66b008f9470666676a566b4808b306989bb1
+b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b808640695749a6fa06b95
+7b9d72a56a080efb18fb6a7601f762bf03f762f8f715fd47076ba5729d7b956aa06f
+9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4cab0b19b9808
+b307476b576a666608f94707af66c06ace6b08b3077b9866b152ca72a876ad7ab308
+7406816f786b6e656e6466645e63086407a295a79aaba09b95a49daca5080ef787ff
+023d8000ff001acccc01ff004f6666ff001c4ccc03ff01523334ff02584ccc15ffff
+7e9999fffff83334ffff9f3333ff0011ccccffffd14ccdff0016999c08ffffefb333
+ffffefb33005ff002d4ccdffff948002fffff1cccdffff59199affffff4cccffffff
+4ccc08ff001c4cccffffe3b33405ff001fcccce2ff00038000ff003d9998fffffbcc
+cdff002a666808ff02673334fffd98ccccff0024ccccff0024b333fffd98ccd0ff02
+67333405ff002c8000ffffff4cccff0048e666ff00039998ff0048199aff001db334
+080ef78aff023b4cccff001c4ccc01ff02dd8000ff001acccc03ff02f84cccff0154
+cccc15fffff83334ff00816668ff0011ccccff0060ccccff0016999cff002eb33408
+ffffefb330ff00104ccc05ffff948000ffffd2b334ffff59199cff000e3334ffffff
+4cccff0000b33008ffffe3b334ffffe3b33405e2ffffe03334ff003d9998fffffc80
+00ff002a6668ff0004333408fffd98ccccfffd98ccccff0024b333ffffdb3333ff02
+673334ff0267333405ffffff4cccffffd38000ff00039998ffffb7199aff001db334
+ffffb7e666080ef787ffffb9b333ff001acccd01ff02dc4cccff001c4ccc03ff01f5
+ccccffffb9b33315ff00816668ff0007ccccff0060ccccffffee3333ff002eb334ff
+ffe9666708ff00104cccff00104ccd05ffffd2b334ff006b7ffeff000e3334ff00a6
+e667ff0000b330ff0000b33308ffffe3b334ff001c4ccd05ffffe03334ffffa90001
+fffffc8000ffffc26666ff00043334ffffd5999a08fffd98ccccff02673334ffffdb
+3334ffffdb4cccff02673334fffd98cccc05ffffd38000ff0000b333ffffb71998ff
+fffc6666ffffb7e666ffffe24ccd080ef78affffba6666ff001c4ccd01ff0051b333
+ff001acccd03ff0051b333ff00bd333315ff0007ccccffff7e9998ffffee3333ffff
+9f3334ffffe96667ffffd14ccd08ff00104ccdffffefb33305ff006b8000ff002d4c
+cdff00a6e666fffff1cccdff0000b334ffffff4ccc08ff001c4cccff001c4ccd0534
+ff001fccccffffc26667ff00038000ffffd5999afffffbcccd08ff02673334ff0267
+3334ffffdb4cccff0024ccccfffd98ccd0fffd98cccc05ff0000b333ff002c8000ff
+fffc6666ff0048e666ffffe24ccdff0048199a080ef8abf783bff7ce9501f7a7f854
+15352a3a535a7a087407f7005ff700fb148b8a08b30664df62b96aa608ff01656668
+8bffff859998fc00b48bff007a6668f800ff01d799988b8bbffffe39cccc8bff0061
+3334f7b5628bffff9eccccfbb5fffe8933348b05abaabcc1a9d3080ef8abf783bff7
+ce9501f9ecdd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac70
+08fffec8cccc8bff00613334f7b5628bffff9eccccfbb5fffdfa33348b8b57ff01f4
+66688bffff859998fc00b48bff007a6668f800ff014899988b056b6c5a556d43080e
+f8abf783bf01f6bd03f6f85415fc02bdf731f998076a6c5b556c4308b206e0ecddc2
+bc9c08a207fb00b7fb01f7168b8b086306b237b55dac7008fd98f731060efb18fb68
+bd01f762bf03f762f8f715fd0c0765ad5ead41ab086407ff00584ccdffffb2999aff
+00364ccdffffb53333ff0015e666ffffce333308ffff618000067f7e787c83918394
+1ff818069899a295938794811fffff3a333306ff0030b332ff0067199aff0076199a
+ff0062e6668b8c08b307476b576a666608f90c07af66c06acf6b08b3078b8bfb15f7
+005ef7010874067a5a54392a36086407cfa9c6b8a9a4080ef88bf783bf01fa13f7b7
+15fffedacccc8bff00613334f7b5628bffff9eccccfbb5fffe9b33348b05a5ab9da4
+959ba0ac9aa795a2086406635d6466646e656f6b776f81087407b37bae76a771ca52
+b166987b08b3066bcf6abf66b008ff015366688bffff859998fc00b48bff007a6668
+f800ff013699988b0566676a566b4808b306989bb1b0cac4a8a4ada0b39c08a2076f
+956b9e65a864a864b063b808640695749a6fa06b957b9d72a56a080ef880f821bff7
+327701c6f82115f8c60a0ef880f783bf01c8f7b715f8c70a0ef880f821bff7327701
+fa97f82115f8c80a0ef880f783bf01fa99f7b715f8c90a0ef880f783bff5bff73277
+01fa99f7b715f8c90afe5ef72215f8c60a0ef880f783bff5bff7327701fa97f82115
+f8c80a8d2115f8c70a0ef873f730bcf70fbc01ff02208000f73015ff01d88000bcff
+fe37e66806ff00296664f70fff019eb3348b8bbcfffe71cccc8bff00443334f75f62
+8bffffbbccccfb5ffffed333348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff00e180008bffffa18000fbadb48b05ff0045
+e668f7de15fffeec19980679a276a0729da29da09f9da208ff013f4ccc060ef91cf7
+30bcf70fbc01f786f7dc15ff01944ccc8bffffd6999cfb0ffffe9719988b0579a276
+a0729da29da09f9da208ff01bd4ccc16ff013eb334069d74a077a279727976767974
+08fffe99e66806ffffef99985a15ff01548000067e757f737f7108b306c7d2e1d6d1
+a408a20748a34cbd35ec08650696719773987508fffef4cccc8bff00443334f75f62
+8bffffbbccccfb5ffffe7e33348b0598a197a396a5086506352a4c594873087407d1
+72e140c74408b3067fa57fa37ea108ff013680008bffffa18000fbadb48b050ef873
+f72dbcf70fbc01ff0252b334f80a15ff00454cccf762628bffffbab334fb62fffdfa
+4ccc8b8b5aff01f54ccc8bffffd6999afb0ffffe34199a8b8b5aff01bb80008bffff
+a28000fbaab48bff005d8000f7aaff00ff80008b057e757f73807108b106e1eccabd
+cea308a20745a435d64fd208630697719773987508ffff3b4ccc5a15ff00e6b33406
+9d74a076a47974797677797408fffeede668060ef873f730bcf70fbc01f7a9f80d15
+98a197a396a5086506352a4c594873087407d172e140c74408b3067fa57fa37ea108
+f977bcfd990679a276a0729da29da09f9da208f99bbc060efb19f70fbcf70fbc03f7
+ecf8a215a17ea37fa58008b1072ae159ca73ce08740672454035444f086307a597a3
+97a19808fd77bcf99907a29da0a09da49d749f76a27908fd9bbc070ef873f72dbcf7
+0fbc01f99cf72d157e757f73807108b106e1eccabdcea308a20745a435d64fd20863
+0697719773987508fd775af999069d74a076a47974797677797408fd9b5a060efb19
+fb677601f70cbcf70fbc03f70c7d15759873977196086507ec35bd4ca34808a206a4
+d1d6e1d2c708b307717f737f757e08f9775afd990774797676797279a277a0749d08
+f99b5a070ef921f730bcf70fbc01f786f7dc15f990069d74a077a279727976767974
+08fd8c0679a276a0729da29da09f9da208aebc1598a197a396a5086506352a4c5948
+73087407d172e140c74408b3067fa57fa37ea108f948067e757f737f7108b306c7d2
+e1d6d1a408a20748a34cbd35ec086506967197739875080efb18fb6776f9617612be
+f70d5abcf70fbc13d8f7bbf8ad15fcde0774797776797479a476a0749d08f8da07a2
+9da0a09da4089d749f76a27908bc6815a17ea37fa58008b1072ae159ca73ce087406
+13e872454035444f08630713d8a597a397a19808fc960713e8759873977197086307
+d24fd635a44508a206a3cebdcaece108b1077180737f757e080ef79fff022a3334ff
+001acccc01ff0050e666ff001c333303ff01216666ff0210b33415ff0018b334ff00
+066664ff00198000ff00088000ff001a3332ff000a999c08ffffe5199aff001acccc
+05ffff7e999afffff83334ffffb0199aff00094cccffffbfb333ff001e666808ffff
+efb333ffffefb33005ff001fcccdffffbcccd0ff0007e666ffff8e1998fffff83333
+ffffa3666608ff001c3333ffffe3ccce05ff0009e668ff001ae666ff00088000ff00
+196666ff00066666ff0018b33408ff020a8000fffdf58000ff0022b330ff0022999a
+fffddd6668ff0222999805ff00038000a88bff001db334fffffb199aff001e6666a8
+fffffc8000a8ffffff4ccca8ff0003800008f8b8fcb8ff0022999cff0022b333050e
+f7a3ff0226e668ff001c3330ff001fe6687701ff02f83334ff001acccc03ff02deb3
+34ff0172999a15ff00066664ffffe74cccff00088000ffffe68000ff000a999cffff
+e5ccce08ff001accccff001ae66605fffff83334ff00816666ff00094cccff004fe6
+68ff001e6668ff00404ccc08ffffefb330ff00104ccc05ffffbcccd0ffffe03334ff
+ff8e1998fffff81998ffffa36668ff0007cccc08ffffe3ccccffffe3ccd005ff001a
+e664fffff61998ff00196668fffff78000ff0018b334fffff9999808fffdf58000ff
+fdf58000ff0022999affffdd4ccdff0222999cff0222999805a8fffffc8000ff001d
+b3308bff001e6668ff0004e668fffffc8000ffffe2fffeffffff4ccc6eff00038000
+6e08fcb8fcb8ff0022b333ffffdd6666050ef79f58ff001acccd01ff02f2e668ff00
+1c333003ff023e9998ff00014ccd15ffffe74cd0fffff9999affffe68000fffff780
+00ffffe5ccccfffff5666708ff001ae664ffffe5333305ff00816668ff0007cccdff
+004fe668fffff6b333ff00404cccffffe1999a08ff00104cccff00104ccd05ffffe0
+3334ff00433331fffff81998ff0071e667ff0007ccccff005c999a08ffffe3ccd0ff
+001c333305fffff61998ffffe5199afffff78000ffffe6999afffff99998ffffe74c
+cd08fffdf58000ff020a8000ffffdd4cccffffdd6668ff02229998fffddd666405ff
+fffc8000ffffe300028bffffe24cccff0004e668ffffe1999a6eff000380006eff00
+00b3336efffffc800008fcb8f8b8ffffdd6666ffffdd4ccc050ef7a3ffffcee666ff
+001c333301dcff001acccd03ff00854ccdff009f666615fffff9999aff0018b334ff
+fff78000ff00198000fffff56667ff001a333308ffffe53333ffffe5199905ff0007
+cccdffff7e999afffff6b333ffffb0199affffe1999affffbfb33308ff00104ccdff
+ffefb33305ff00433334ff001fcccdff0071e666ff0007e667ff005c999afffff833
+3208ff001c3332ff001c333305ffffe5199aff0009e666ffffe6999aff00088000ff
+ffe74cccff0006666608ff020a8000ff020a8000ffffdd6668ff0022b330fffddd66
+68fffddd6668056eff00038000ffffe24ccc8bffffe1999afffffb199aff00038000
+a8ff0000b333a8fffffc8000a808f8b8f8b8ffffdd4cccff0022999c050e209e76f7
+fdcb01f7b08915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d7152af7
+b1f7528b050efb2981c8f866c801bad0f761d103f7758115e98bbecda0f00845067e
+51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e8b
+08432165fb94fb95f566d31f0e2e81acf7c9b1f72ed87aac12afdcf796da13dcff01
+73b334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cccc
+8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d856b
+85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b27088b
+ffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215ff
+fff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff002d
+e6668bff0029e666ffffea3334ff0024e668ffffe31998080efb578bccf763ccf73e
+cc01f7bdd003f802f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7df060efb57
+8bccf763ccf73eccd77701f7bdd003f802f8d015ffffbf999a8bff00176666cc6796
+ffffe480003fffff2380008b8b4af7598bffffc28000fb3effff8280008b8b4af18b
+ffffb5199afb63ffffd4e6668b8b4aff0013999a8b05ffffe7666647b07fff001ccc
+cddbff010e33348b05ffffa83334f88f15ff0012ccccfb3effffb0199a06ffffe899
+994a15ff00674ccdfb63ffff4e3333060eba82b6f88cb6a97701a5bef87cbe03f7d5
+f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff0866
+66fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd8b
+f71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff0053
+800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf717
+f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff00
+27199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffffd0
+8000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff0038999a
+ffffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff01
+ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1afb
+00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de667080e
+808ba501f7a2f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc038b8b88858a
+888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b8bfb2ef80328
+f77e080e80a076f8e2a501f7d1db15fb69f892f8368b05fb57fce215ebf77ef72af8
+038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b898b898c888e858b
+8bf72efc03eefb7e080e328bc4f75dc3f75dc401a8d10314e0f86216c4fb2f07238b
+32e27cf70608f7f6c3fbf60698f700dae8f7088b08f72fc4fb2a06fb31fb12fb17fb
+2ffb2ef710fb18f7331f0e328bc4f75dc3f75dc4d77701a8d103f86216c4fb2f07ff
+ffef66668bffffefccceff00023333fffff06666ff0004333308d1ff00c2999aff00
+7c66668b8bc3ffff97cccc8bff00484ccef75dff0028e6668b8bc4ffffeb999a8bff
+00176666cc6696ffffe4999a3fffffa766668b05fb31fb12fb17fb2f1f8bffff8bcc
+cdff0046999affff984ccdff0066e666ffffd4199908ffffdf8000ffffa5cccdb07f
+ff00203333ff0059999a05ff00171998fffff9ccccff00186668fffffc999aff0019
+4ccc8b08ffffa64ccdff004d333315ffffbf999aff00201999ffffcfcccdff004380
+00fffff54ccdff0051333308ff00bc800006ff0014199ac315ffff2f66660698f700
+dae8f7088b08ff0049199a060efb70c7c1f4c1f3c201a8f7c303f77ec715edc12906
+fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb14
+d551f7171f0e328bc4f75dc3f75dc401f82bd10314e0b7f8d01552f72f07f38be434
+9afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731f712f717f72ff7
+2efb10f718fb331f0e2d8bc4f75dc3f75dc4db7701f827d103b3f8d01552f72f07ff
+0010999a8bff00103333fffffdccccff000f9999fffffbccce0845ffff3d6666ffff
+83999a8b8b53ff006833338bffffb7b334fb5dffffd7199a8b8b52ff001466668bff
+ffe8999a4ab080ff001b6666d7ff0058999a8b05f731f712f717f72f1f8bff007433
+34ffffb96666ff0067b332ffff99199aff002be66608ff00208000ff005a33346697
+ffffdfccccffffa6666805ffffe8e667ff00063330ffffe7999aff00036668ffffe6
+b3338b08ff0059b334ffffb2cccc15ff00406666ffffdfe668ff00303332ffffbc80
+00ff000ab334ffffaecccc08ffff43800006ffffebe6665315ff00d0999a067efb00
+3c2efb088b08ffffb6e666060efb70c6c2f3c1f4c101a8f7c303f713f843152955ed
+06f7128b9b52965b08fb8f55f78f0680567559fb0c8a082954ed06f728c4d6f703f7
+1441c5fb171f0ef71efb02acf903b26eaa12f710e0f7d0e013b8f8a16a15707c7a60
+1e7006868789851f8b748e89058bed8db1b4e7898b1e8c8d8ba20591878d861e7006
+617b99a91ff8b9078ba9a494a98c08a906908f8f8f1fa20713d88a8bfb1989858b40
+8a4f8b4a8b408b508b4a8c0813b87c8bfb038d838b087307888d87911eab06ad9e88
+661ffcb907707c7a601e7006868889851f8b748d89058bee8db0b4e6898b1e8d8d8b
+a20591868d871e6f06627b99a91ff8aa0713d8ad9096ac1ef78306ad907b6f1f0ed3
+8aac6cb3f8d2ac12f3e0f7b5e01378f7268c15f80b0613b8a28bc38abd8a91918ba0
+8591458e7a908bde08f825078bde9c90d18e91918ba08591648affffccb3348affff
+d84ccc8b658b588c638c85858b769185d1889c868b3808fc2d0713784d757f731efb
+5906737597c91ff82d078bde9c90d18e91918ba08591658affffc966668affffdb99
+9a8bffffd94ccd8bffffcab3338c658c85858b769185d1889c868b3808fc250713b8
+8b387a86458885858b76918508bd8cbf8ca68b080e884dc551a1f88a76efb574a212
+f877a1136cf87ff8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a8189
+7f8b0875f87507a7f743758d0513b48a866cfb06458b08fbac8bf760f7a48c8cfb40
+f7a4f7788b05c48baa3a907808a18e050e5ef776bd01f863f776159d0a0e5ef752bd
+f774bd01f78ebd03f7c0aa15f733f7390797989e9a938593821ffb43f73e06948391
+837c787e7f1efb34fb37077e7d7481838f82951ff744fb40068194879395a299981e
+fb69f877157e7d7481838f82951ff81b0697989e9a938593821f0e5ef754bdf74e77
+d0ec12f776ec42bd13f0f776f8a115719e75a9a79fa1a5a773a0731e707575701f13
+e8a3fb1015fb33fb39077f7e787c839183941ff743fb3e06829385939a9e98971ef7
+34f737079899a295938794811ffb44f7400695828f831e81747d7e1f0e47a076f8dc
+7601cd16f856f8d1598bfc55fcd1050e47a076f8dc7601f86616bd8bfc56f8d15a8b
+050efb92f76ece01f700ca03f711f76a15270a0efb92f721a9f721a901d2adf717ad
+03f780f784159b0afb398c159c0a0efbeaf75af70001d4f70003f713f75a15a40a0e
+6df971b201f87cf97115f8ca0a0e6df7faa9f71ca6d676c0a9b8b212b9bde5c66ac9
+13fcf87cf97115f8ca0a13fefb0ef90415a00a13fda10a13fea20a0e6df801a8d1ad
+f75277ccb201f73fbf03f87cf97115f8ca0afb1dff027db33415f89e0affff3a4ccc
+04f89f0a0ed6d9c453b9f78ec856c061b512b0ca138cf7faf78515f8cb0a1324f792
+f71a15c886073c8b403f5c5208138cf8cc0a1354b849d046e08b968b968c958d08b7
+07858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080ef752d9c453b9
+f796c061b512b0caf8e0c8139cf7faf78515f8cb0af7de8415136c4e6c5b4b1e518b
+42f26ab9a5b4d3cfbe8b08d4b0324f1fc8b615e459d12f1e3c8b403f5c5208139cf8
+cc0a136cb849d046e08b08f2cdf1eb1f0e558bb8f8217701c9be03c9f84e15fc4ef8
+38b8fc05f821070ed2e9b701a9e915f8cfb7fffe2a666606ff0158999aff0195b334
+ffffda999aff001fb334050ed29676f3b701f804b903ff01604ccc8115ff002eccce
+06ff00098000acff00053332ff0022e666ff00003334ff0024199a08f74fb7ffff42
+b3340682ff00528000ffffdcb332ff004a999affffcae666ff003a333208ff00a1b3
+34ff00be6668ffffda999aff001fb334ffff606666ffff43e6640570ff0016e668ff
+ffe1cccdff00133332ffffdf6666ff000eccce08ffffe03333ffffd8199805ff0020
+e667fffff2999aff001e4ccdffffed999aff001accccffffe9999a08ffff26999aff
+feffe666f7e68b8b89058bffffdc8000fffffa8000ffffddb333fffff5ccccffffdf
+cccd08ff000c999af72815ffff1680008bff00973334f74605ff002b8000ffffcf33
+34ff001d8000ffffc29999ff00094cccffffbc3333080ed2ff0014cccd7601ff016d
+999aff002b4ccc03ff0129cccc8915ff002b4cceffffee333305ff00156666ff001a
+ffff9dff001e4ccdff000de666ff00214ccd08ff00ad000244ff0010b330ff0028cc
+ccffff50ccceff0047cccd05ff0016e666ff004fcccdfffffb999aff00524ccd70d5
+08ff00dde666ff0072ccccffffe96668ff002b999afb6fffff8e800005ffffefb332
+ff001f6666ffffeb6666ff001d4cceffffe76668a508ffffd36666ffffe7199a05ff
+00196666ffffe73332ff0015199affffe36666ff00104cccffffe1199a08fffed5b3
+34ffff658000ff0138b332ffff7fcccd05ffffffccceffffff6666ffffffccccffff
+ff6666ffffffb334ffffff6666fffff28000ffffdf199affffede666ffffe26666ff
+ffea4cccffffe6199a08ff0043ccceff0084199a15fb6cff00589999ff00cf6666ff
+006b4ccd05ff0015ccccffffc26666ff0003e66847ffffeee666ffffbdb334080efc
+1b947601dbb703f7107f15f8e25ffce2070efbe7947601f0b703f768f8321548ffff
+bc4ccc8bff00e7b3345f8b8bfffeebe66638ffffac199aa373c6ff003b4ccd8bfffe
+f6b334b78b8bff01358000e6ff005b8000050efb97947601dbb7e3b703f7947f15f8
+e25ffce2073316f8e25ffce2070efb8a9476f84c7701dbb7e3b703f7c5f840155aff
+ffce4ccc8bff00c7b3345f8b8bffff0bb33433ffffa6cccc8bff014d80005f8b8bff
+fe85cccc4fffffc33333a373afff002466668bffff5c999ab78b8bff00cfcccde3ff
+0058ffff05fffed73334b7ff0155333407d4ff0049cccc050efb069e76f8507701f7
+86f81615f73ffc18c08bfb5bf850578bfb5cfc50c08bf740f818050efb069676f850
+7701f783b915fb3ff818568bf75bfc50bf8bf75cf850568bfb40fc18050e21a076f8
+20b601cebef791be03f70a16f76807f1ff00168000ddff006f8000ee9f39251efb68
+bef76807f714ffffe18000eeffff728000fb2969ffff9a8000ffff8280001efb6807
+0e2181b6f8207701cebef791be03f807f84115fb680725ffffe9800039ffff908000
+2877ddf11ef76858fb6807fb14ff001e800028ff008d8000f729adff00658000ff00
+7d80001ef768070efb7afb71bcf9c9bc01f71ed903f720a215f8cd0a0e8bfb71bcf9
+c9bc01f71ed9f72cd903f806a215f8cd0afb7a16f8cd0a0ef7acfb71bcf9c9bc01f7
+1ed9f740d9f74ad903f91ea215f8cd0afb9816f8cd0afb8e16f8cd0a0e4cfb71bcff
+00a4cccdff00278000ff016c3334ff0027e666ff00d4999abc01b3b7f724d9f722b7
+03ff00e54ccdfffff8cccd15fffffcccceffffb5cccefffff16666ffffa56666ffff
+e780008b7a8b7daa708b0878777a7772a179ab1fff004ab3338bff0036e667ff0034
+cccdff0015e666ff00a03333ff006de666ff000ecccdff0056999aff005d80008bff
+0071b3338bff006e4cccffffad3334ff005d6668ffff958000ff00121998ffffff99
+98ff000f8000ffffffb334ff000e999a8bff000d199a8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e1f308bffffc86666ffffad6668fffff2199affff4cfffeff
+ff948000ffffef800037ffffa1b3348bffff9066668bfb03ff005233332eff006b19
+9affffeecccd08ff0046cccdff0027800015ff0003e666ff00294cce8dff002f4ccc
+8bff0036199a08f70b078bacfffffee666ff002366668aff00218000ff0053999aff
+ffee3334ff003c8000ffffb580008bffffa666668bffffa533334cffffb56667ffff
+ab199affffefb3320844ff016c333415ffffff4ccc79ffffff999affffed33348bff
+ffec4ccc08fb17078bffffb33333ff0001e66670ff0000199affffb71999ffffaacc
+cdff00106667ffffc33333ff004b33338bff005a199a8bff0059ccccff003c6666ff
+004bccceff0054b334ff0010e666080e47c1f5f745f501f76cf503f76cf81a15210a
+fbaf04210a0e47f769c691c601c39cf7f99c03c3f76515920a0e47f769c691c601c3
+9cf7f99c03c3f76515ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0013cccd
+8b9efffff74cccff00131999fffff3666808ffff9c199afffed64cccb17fff005fb3
+34ff011e4ccc05ff00136666fffff43334ff0014999afffff78000ff00114ccc8ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff2199a8bfffff1b332ff0005199afffff0999aff0008e66608ff005a999af7a365
+95ffffa96666fb9605ffffe8e667ff0010333472ff000bccccffffeab3338b4e8b55
+4c7e4a080e47f724bdf708bd93c691c601f84f9c03d0f80015ff0005b33388ff0005
+4ccd8a918b088a067f7e787c839183941ff819069899a295938794811ffc1b06a2b7
+baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28ba38b
+cc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8b0875
+8b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e4a08
+f81ffb7015470a0e47e2c691c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff
+00054ccd8a918ba2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede6
+66a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b0875595a7a6f8b758b7498709fffffe78000ff00123333ffffe48000ff000dcccd
+748b4e8b554c7e4a08a0f72215a2b7baa8ae8ba48bff0017cccdfffff2199aff0018
+3333ffffede666a379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4ccc
+ff0001e666838b75595a7a6f8b08758b7498709fffffe78000ff00123334ffffe480
+00ff000dcccc748b4e8b554c7e4aff0005b33388ff00054ccd8a918b080e47e2c691
+c6a1c691c601c19cf7f99c03c1de15ff0005b33388ff00054ccd8a918ba2b7baa8ae
+8bff000bb3338bff000b666788ff000b4cccfffffae66608ffffc1999affff47199a
+b17fff003b199aff00afe66605ff00014cccffffff199aff00014ccd8aff00014ccd
+8aa379a87ca28ba38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e66683
+8b75595a7a6f8bffffeb80008bffffeab334ff000b3333ffffe76666ff0011b33308
+ff0017999aff00464ccd05ff000ee666fffff89999ff000ee666fffffb3333988ba3
+8bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b75595a7a6f8bff
+fff6999a8bfffff68000ff00026666fffff6199aff0004333408ff0056ccccff0102
+66666595ffffac6666ffff07e66605fffffd4cceff0001e666fffffd1998ff000219
+9afffffd3334ff0002199affffe78000ff00123334ffffe48000ff000dcccc748b4e
+8b554c7e4aff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0018999a8bff0017
+6666fffff2999aff0017cccdffffee4ccc08ffffe88000ffffba4ccd05fffff00001
+ff000866667bff00056666fffff1b3338b4e8b554c7e4a080e47f723bdf708bd01f7
+a5f8c415ea0af753fb8f15470af819fb3a15470a0e47f723bdf708bd01ff01448000
+f7fb15ff00428000f75a6595ffffb9e666fb64ffff3a199a8b057f7e787c83918394
+1ff7538bffffd8e666fb08ffff72199a8b057f7e787c839183941ff71b8b4dfb4cb1
+7fff0041e666f758ff00d4199a8b059899a295938794811fffff2fb3348bb2f708ff
+009c4ccc8b059899a295938794811f0e47f4b7cab7cbb701f861f80015fc1f5ff81f
+064b04fc1f5ff81f064c04fc1f5ff81f060e47f4b7cab7cbb701f861f80015ffff79
+199a8bff0040e666f7556595ffffbb999afb5fffff2566668b8b5fff00cbb3348bff
+ffea66664bffff49e6668b8b5fff00a74ccd8bffffeacccd4cffff6de6668b8b5fff
+008333338b05ffffcecccdfb26b17fff0035199af732ff00dde6668b8bb7ffff30e6
+668bff00153334caff00b9e6668b8bb7ffff54cccc8bff0015999acbff0095999a8b
+050e4796ba01cf9615f81abafc1a06e5f75615f7d1f7070598998ca97d9108fc1afb
+2105fffff6b333ffffeeb3348bffffefffffff00094ccdfffff14ccd08f81afb2205
+99918aa97e99080e4796ba01cf9615f81abafc1a06f800f75515fbd1fb07057e7d8a
+6d998508f81af72105ff00094cccff00114ccd8bff000ffffffffff6b334ff000eb3
+3408fc1af722057d858c6d987d080ef751f847f77f15f7d1f7070598998ca97d9108
+fc1afb2105fffff6b334ffffeeb3338b7bff00094cccfffff14ccd08f81afb220599
+918aa97e9908fcfaf70c15460a0ef751f7f2f75a15480af8fafb0c15480a0e47ff01
+583334ff0132999a15ff0082ccccff002f66660598998ca97d9108ffff904cccffff
+d7999aff0040b334ff00c16666659541ffff238000fb7bffffac800005fffff6b333
+ffffeeb3338b7bff00094ccdfffff14ccd08ff00a68000ffffc36666ffffbe8000ff
+ff3c999ab17fff0040ccccff00c1cccdff00ba3334ffffbc33330599918aa97e9908
+ffff54ccccff003e999a0584ff0067cccc15ffffe1ccceffffa5e667ffff936666ff
+0027b333050e47ff00f86666ff00a9666615ff0027ccceff00773334ff008fccccff
+ffcb666605ffff18cccdffffac199a15ffffaa3333ffffe0e666057e7d8a6d998508
+ff0042b333ff0018199affffd24ccdffff77e666b17fff00374ccdff00a54ccdff01
+13b334ff0063b33305ff00094cccff00114ccd8b9bfffff6b334ff000eb33308ffff
+363334ff00498000ff004accccff00df80006595ffffb63334fb70ffff68ccccc205
+7d858c6d987d08ff0088199affffce3334050e4796ba01cf9615ff0073e6668bffff
+e0199a2cb17fff0023cccdf6ff00e833338b8bbaffff2780008bff0021b334ff0064
+b333ff00c7ccccffffb74ccd0599918aa97e9908ffff473334ff0043999aff0024b3
+32ff006db332ff0094199aff0035b3340598998ca97d9108fb15ffffd14cccbbff00
+8fb3346595ffffc6b334ffff554cccffff2a4cccffffb2b33405fffff6b333ffffee
+b3348bffffefffffff00094ccdfffff14ccd08f72dffffc84ccdffffd9999affff8d
+b333ffff7c66668b05ff00d38000ff00ee199a15ffffe5999affffb11999ffffa0e6
+66ff0022cccd050e4796ba01cf9615ff004be6668bffffe2199a32b17fff0021cccd
+f0ff011033348b8bbafffeff80008bff00168000ff00436666f7adff0065999a05ff
+00094cccff00114ccd8bff000ffffffffff6b334ff000eb33408ffff32199ad6ff00
+38e666f73e6595ffffc8199affff596666ffff6ce666ff0035999a057d858c6d987d
+08ff0084199affffcfb334ffffcc8000ffff667fffffffaf6666ffffe2cccd057e7d
+8a6d998508ff003d8000ff00163333ffffef199affffcdcccdffffa466668b05ff00
+af199aff007c800015b4ff007a999aff0093e666ffffc9e666050e42b6b5f7a1b501
+b0bb03f877e015fb68062438a4f709f3e4a2ec1ff768b5fb6806fb05fb0d74fb27fb
+2ff7096ff7091ff768060e42b6b5f7a1b501f849bb03b2f7f615f76806f2de72fb09
+2332742a1ffb6861f76806f705f70da2f727f72ffb09a7fb091ffb68060e42b6b5f7
+a1b501b0bb03f877e015ffff4633348bff005bccccf7a1e98b8bb5ffffb04ccc8bff
+001eb334e56596ffffdd800026ffffa580008b05fb05fb0d74fb271f8bffff723333
+ff0061e666ffffdc8000ff006a33348608ffffdce666ffff994ccdb17fff0026e666
+f706ff00c8199a8b05ffff1c4ccdff002a333315ffffa06667ff00029999ffffb54c
+cdff001c33338bf70308f3e4a2ec1eff004c199a060e42b6b5f7a1b501f849bb03b2
+f7f615ff00c9199a8bffffa41999fba1ffff92cccd8b8b61ff005ee6668bffffdd19
+9a25b17fff0026e666f706ff004b199a8b05f705f70da2f7271f8bff0087199affff
+a7199aff0026999affff9bb332ff0007b33208ff001f3334ff005b999a6596ffffdd
+800026fffffc80008bfb688b05ff00f2b334ffffd5333415ff00584cccfffffacccc
+ceffffe1199a8bffff96e666082332742a1effffc33333060e6c81ff0028199aff00
+a3e666b2ff00a5e666ff0028199a01c3b8f734b8f731b803f7ad8115f8ce0aa4ff01
+984ccc15ff00548000fffff4b334ff00404cccffffbbb334ff00084cceffffaa4ccc
+08ffff62e66606ffff35b33304ff00a34ccdf73107fffff73334ffffaae666ffffbf
+4cccffffbd199affffac8000fffff4b333085effffff666715ffffa9b333ff000933
+32ffffbf199aff0044999afffff73333ff0056199a08f73406ff00cce66604ffff5a
+199affff5fe66607ff00086667ff0056b334ccff0045ccccff0056b333ff00096666
+080e6c81b2f739b2f73bb201c3b8f7feb803f7ad8115f8ce0affff4be666f7871594
+ff005d3334ff004a999aff0049ccccff006080008bff0060999a8bff004c666642ff
+0009199a2d08fffe95e6666415f7fe06fffff64cccffffa2999a3effffb86666ffff
+a0b3348bffff9fcccd8bffffb59999ff00486666fffff6999aff005c999a080e6c81
+b2f807b201c3b7f800b703f7ad8115f8ce0aff0090b334ff0152b33415ff00181998
+ffffe06666ff000e3334ffffd84ccc8bffffd4999a8bffffd78000fffff36666ffff
+dab333ffffea999affffe1b33308fb06ff0071199a05ff004ab334ff0090999a15ff
+ff934cccffff926666ffff92e666f70205ff001dcccdff0016999aff00253333ff00
+0d6666ff0029199a8bff0029999a8bff0025ccccfffff28000ff001e4cceffffe919
+9a08ffff02e666ffffdccccc15ff006d6666ffff92999affff8e3333ffff8f199a05
+ffffeaffffff001e6668fffff3cccdff00254ccd8bff002833338bb6ff000de666ff
+0027b334ff0017b334ff001fb33208ff001d9999fffefccccc15ff0072cccdff0072
+cccdff00724cccffff8db33305ffffe0b334ffffe67fffffffd7e666fffff0cccdff
+ffd4199a8bffffd433338bffffd8b333ff000f199affffe14ccdff00191999080e6c
+81b2f807b201c3b7f800b703f7ad8115f8ce0af82e04ff002c66668bff0028199aff
+fff0999aff001f4cccffffe6333208fffefce668fffefce66805ffffe83332ff001f
+7ffffffff2199aff0027b3338bff002b199a8bf1d9dff28b08ffff8d999afffeb599
+9a15ff0103199aff0103199a05ff00181998ffffe06666ff000e3334ffffd84ccc8b
+ffffd4999a8b243a39258bffffd3e6668bffffd88000ff000f3333ffffe13334ff00
+196667080ecf9576f7a4b801c7be03f912f7c615fca3f7a458fce1bef7a4f8a3060e
+cf9576f7a4b801f8bcbe03a4f79915f8a3fba4bef8e158fba4fca3060ead9676f8a9
+b801f7b5be03f7e88115f8a9f7a1b8fce15ef7a1fca9070ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb4a9676f7a5b801c7be03f818f7c815fba9f7a258fce0bef7a5f7
+a9060ef72ff717f765fb65c1a2c1a3c112b7c11358f75cf77f156e7376706f74a0a9
+a5a0a3a81ea9a173701f1378f7bea615fb8d0680bb65a9578b08535b604d4db961c5
+1fc78ba9aa96b908f78d061388975fa96ac78b08c8b8bac4c75ab8521f4f8b6f677d
+61080ef72ff717f765fb65c1a3c1a2c112f920c11358f8baf78015a8a3a0a6a7a276
+6d7176736e1e6d75a3a61f1378fbbe7015f78d06965bb16dbf8b08c3bbb6c9c95db5
+511f4f8b6d6c805d08fb8d0613887fb76dac4f8b084e5e5c524fbc5ec41fc78ba7af
+99b5080efbedf75bf70001d2f70003f711f75b15a40a0efc1bb0f5f732f5f733f501
+bef503f3f93415f8d00afb9d04f8d00afb9c04f8d00a0ec9f75bf70001d2f700ecf7
+00eaf70003f8a9f75b15a40afb5f16a40afb6116a40a0e6e7fb1f80db201c3b2f80d
+b103f7aff82715ff002833348bff00259998fffff36666ff001ee668ffffea800008
+ffff106666fffee1199a0568ff00233333ffffe9e666ff0030999a8bff003433338b
+f1e1def18b08ffff643333fffea14ccc15ffffb8cccdffffaab333a772ff0048199a
+ff0056800005ff00246666ffffe6999aff002bb333fffff0e666ff002ecccd8bf711
+8bf1f58bf7108bff003cb334ffffe6e666ff00374cccffffd7b334ff0028800008ff
+00416666ff004e80006fa3ffffbe8000ffffb1999a05ffffda6666ff001b4cccffff
+d1b334ff0010199affffce66668bfb108b24268bfb0f8bffffbfe666ff001b8000ff
+ffc4b334ff002bb333ffffd5b33208ff0035999aff0005ccce15ff00ef1999ff011e
+cccc05ff00203334ffffdeccceff0013e666ffffd366668bffffcee6668b25363123
+8bffffda999a8bffffdcccccff000be666ffffe26667ff00143334080ef7a28badf8
+f87701d4b7f90cb603f709f82b15f7d7f74df7c9fb4d8bfc09fd0c8b055ff82015fc
+42f963f84207fbf4f76c050edff7e0f91a15f741fbb0bb8bfb5bf7e8618bfb5cfbe8
+bb8b050e68f7f9b701a3c103d9f71915f774f85fb7fc95fba0070efb58f9e0bc01f7
+1adb03f71a16dbf7e3068bd48be38df721ff0000e666ff0041ccccff00043334ff00
+386668ff0004e666ff002acccc8ea5ff0010199a9bff000ce6668ba28bff0007e666
+fffff91998ff0007199afffff6666892fffff68000ff0009999a84ff001066668b08
+a39b9ca1a4739d6f1fffffe380008bffffd63333fffff88000ffffeacccdfffff080
+00ffffed199afffff23334fffff8b333fffff8ccccfffff0b33370fffff3e666ffff
+ea9998ffffee3334ffffc4199cfffff9e666ffffa14cccfffff46666ffff4c199aff
+fffd999affff4ee6668b3e080efb58f71adb03f76afa11153bfbe3068b428b3389fb
+21ffffff199affffbe3333fffffbccccffffc7999afffffb199affffd533338871ff
+ffefe6667bfffff3199a8b748bfffff8199aff0006e666fffff8e666ff0009999a84
+ff00098000fffff6666692ffffef999a8b08737b7a7572a379a71fff001c80008bff
+0029cccdff00078000ff00153333ff000f8000ff0012e666ff000dccccff00074ccd
+ff00073334ff000f4ccda6ff000c199aff00156666ff0011ccccff003be667ff0006
+199aff005eb333ff000b999aff00b3e666ff00026666ff00b1199a8bd8080ef7ab8b
+adf7fdad01d4b303f8b3f81f15cd06c548ba60dd453b475c5d504808478bfb2bf748
+05fb2bfb4815f713f72cf713fb2c05fbc2163cf7fdd806f72dfb4905f72cf74915fb
+14fb2cfb15f72c05f818ad15fcbdfc41f8bd06d8dddad1cab708b10744bd42cc40db
+080ef7148badf7fead01d4b2f887b203f77fad15f713f72cf713fb2c05fbc21640f7
+fed506f72cfb4a05f72cf74a15fb14fb2dfb15f72d05f835ad15fcd5fc42f8d50664
+ad15418bfb2bf748f72cf74ad48b050efb88f717f79f15f8d10a0efb8895f7c503f7
+70f79615f8d20a0ef7ab8badf7fead01f98eb203f7e0f82015f72cfb4afb2bfb4847
+8b054fce5db93bcfddd1b9b7c5ce08f806fbfe15fb928bf713f72c05f743fb2c15fb
+2bf748f72cf74ad98b8bfbfe05fc13f7fe15f7958bfb14fb2d05fb98f74f15403b42
+494459086507ca5fda45d83908f8bdf842060efbedfb5fc6d9b7017aadf76cad03f7
+f67515fb0dfb0efb6cf70efb0d5fe2fb1df7b0f71de2060e719476f7f4b9e3b7c8b7
+01f73dbbf708bb03f7a4f90315688b617a798208976005a89d9b92ad8b08b1a67366
+1f56064e596c4f54ab6bbf1faf8ba5939d9a0878bbf73007da6ab73f1e82fb811571
+779aa8acae96b71fb006405f7e711ea3fbf51562e333f7193df108677b05ddfb05d9
+fb0ac9fb0d08b506c1f703ddf711dcf702086ba1053f2731fb1e6336080efba8a076
+01b7de03b7f72815fb28def71c078bf70fff00094ccdff0090999aff000db333ff00
+586666b1f789ff00436666ff0044b334ff0033999aff00454cccfffffc999aff000a
+4cccfffff9ccccff0006e668fffff4999aff0000ccccffff96cccdffff961998ffff
+bd3333ffffa6e66865fb5effffef199affffa63334fffff0e666ffff7fcccc8bfb16
+080efba8a07601b7de03f713fa111538fe11de060efba8a07601b7de03b7f97d158b
+fb16ff000f199affff7fccccff0010e666ffffa63334b1fb5eff0042cccdffffa6e6
+66ff00693333ffff96199aff000b6666ff0000cccdff00063334ff0006e666ff0003
+6666ff000a4ccdffffcc6666ff00454ccdffffbc999aff0044b33365f789fffff24c
+cdff00586666fffff6b333ff0090999a8bf70f08f71c38070efba8a07601f754de03
+f7a7f728158bf716fffff0e666ff00803334ffffef199aff0059cccc65f75effffbd
+3333ff00591998ffff96cccdff0069e668fffff4999affffff3334fffff9ccccffff
+f91998fffffc999afffff5b334ff0033999affffbab334ff00436666ffffbb4cccb1
+fb89ff000db333ffffa7999aff00094ccdffff6f66668bfb0f08fb1cde070efba8a0
+7601f754de03f7a7fa111538fe11de060efba8a07601f754de03f7a7f97d15f72838
+fb1c078bfb0ffffff6b333ffff6f6666fffff24ccdffffa7999a65fb89ffffbc999a
+ffffbb4ccdffffcc6666ffffbab333ff00036666fffff5b333ff00063334fffff919
+9aff000b6666ffffff3333ff00693333ff0069e666ff0042cccdff0059199ab1f75e
+ff0010e666ff0059ccccff000f199aff008033348bf716080efb83f70016cef98306
+8be2939af71d9591918b9d859108fb68060efb83f700fa1115fe11cefa11070efb83
+8ba901f700ce03f700fa1115fe11f7680791918b9d8591fb1d95839a8be208f98307
+0efb83f78c16fa11fb680785858b799185f71d81937c8b3408fd83070efb83f78cfa
+111548fe11ce060efb838ba901f749ce03f78cfa111548fd83068b34837cfb1d8185
+858b79918508f768060efb57f70116dbf726068bf730f707e0df9f91918b978591fb
+4d842d268bfb4d080efb57a076f84b9a12f701db54de13d0f709f850159007bca0be
+c28be60813e08bff005819986fff0015e6688bf70108c53b470713d08b2ca4ffffca
+19988bffffb3e6688b5974322884087c07ee84a2328b590813e08bffffb3e66672ff
+ffca199a8b2c0847dbc50713d08bf701a7ff0015e6668bff0058199a088be658c25a
+a0080efb57f701f84315fb1e078bfb4de926f74d8491918b978591379ffb07e08bf7
+3008f726070efb57a076f8437701f701db03f701f84315fc43dbf843070efb57a076
+f82ba301f767db03f7b716f71e078bf74d2df0fb4d9285858b7f9185df77f707368b
+fb3008fb26070efb57a076f84b9a12f74bde54db13e0f7aff850155a7658548b3008
+13d08bffffa7e666a7ffffea199a8bfb010851dbcf0713e08bea72ff0035e6668bff
+004c199a8bbda2e4ee92089a07289274e48bbd0813d08bff004c1998a4ff0035e668
+8bea08cf3b510713e08bfb016fffffea19988bffffa7e6688b30be54bc76080efb57
+8ba3f82b7701f767db03f7b7f843153bfb26068bfb30fb0736377785858b7f9185f7
+4d92e9f08bf74d080efb58a076f8437701f766db03f766f84315fc43dbf843070e47
+f705bdbec801c4a6f7eda603f861f73715fc1f59f81f0686f7881570068464496028
+8bfb018b54b682b20870069045c242f71f8bf7198bc8d391d2080efbedfb5fc6017a
+adf76cad037a7515fb49f7b0f74969fb0efb6cf70e070ef738ff017a3334fffff0cc
+cd15f8d30aff026fb33404f8d40ab1fffe6dcccc15ff00e17fff078bb2ff0000e666
+ff0027b334ff0001199aff000880008bff00031998fffffe4cccff0000199cfffffd
+b3348b67ffffe9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899
+988efffff9e668ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff
+000c66688b08ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078b
+ffffca0001ffffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc19
+9a8bfffff24ccdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff00
+00b333ff002333348bff001ee6668bff000fe666ffffff4ccdff00208000ffffff66
+66ff0003e668ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff00
+01e667fffff4e668ff000333338bc1080ef738ff017a3334fffff0cccd15f8d30aff
+026fb33404f8d40affff948000ffff4db33415fffff24cccff000c4cccfffff44ccc
+ff000db33496ff00138000ff000b999aff000e66661e8bff00053334fffffeb3328f
+fffffeb334ff00048000fffffeb332ff00048000fffffc199aff0005e6668bff0005
+333408ff00103332ff0010e666ff00178000ff002f8000ff00176668ff00211998ff
+ffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcfe666
+ffffd0800005ffffc04cceffffbefffffffff59998ffffe0cccd8bffffd9b333088b
+ff00213334ff00014ccdff0014cccc1eff0071b33406ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccc068bff001f3332ff00
+2cccceff002c4ccdff00033332ff0003333308ff0041b334ff003f199a05b0ff0023
+cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999affffcb66
+68ffffb7ccccffffd33334ffffcab334641e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40afffffd9998ffff9a4ccc15ff001c199aff0019e6667affff
+d633341f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff0003
+3332ffffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbff
+fff5999affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecc
+cc8bfffffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff
+0007cccd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999aff
+ffee8000b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194ccc
+ffffd99998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff00
+0ee666ff001b199a8bff00224ccc8bff00138000fffffb6666ff000fe668fffff033
+349bfffff1ccccff000e6664ffffe96666ff000ae668698b08ffffa06666ffffe4b3
+34ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff0016
+ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff00
+10e6661f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a9affff68
+199a15f8d50aff00674cccffff44b3321555ff00bde668068bff00208000ff000033
+34ff00196664ff00011998ff0005199c08fffffeb334ff00014cccffffeb4ccc8b05
+fffffb80008bfffffc6668fffffbb334fffffd9998fffffd1998ffffd7199affffcd
+999affffb44cceffff953334ffffc47fff2e8dfffff63332ff0003cccdffffee8001
+ff001380008b08ff0084b334ffffc43333068bffffe2199affffe74ccc8b6ffffffe
+1999fffffc199afffffc199a8bfffff24ccdff0003e666fffffc1999ff0014ccccff
+0000999aa5ff0000b333ff001de6688bff001999988bff00186668ffffff4ccdff00
+14ccccffffff6666ff0003e666ff0003e6678bff000db333fffffc199aff0003e666
+ffffe03334ff0002999afffff24cccfffffeb3338bff001e800008ff003bcccdff00
+2ce66607ff0009199aff00000001ff0009b334ff000c66668bff0007cccd08ff0006
+8000fffffd8000ff0003ccccfffff8cccc1e0ef738ff017a3334fffff0cccd15f8d3
+0aff026fb33404f8d40aff00411998fffe9b4ccc15ffffc23334ffffdf8000ffffd2
+999a641effffe74cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b
+199980ff0009cccdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe5
+6666ff00373332ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff00
+51e666caffffd46666ff0038b334ffffb733321fffffe4199a8b73fffffa1998ffff
+f44ccefffffb80000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff00
+1f33348bff001380008bff00161998ff00013334ff001ab334ff0002999808ff000a
+4cccff002c3334fffffb8000ff0002b3340566fffffc1998ffffdce668fffffcb334
+ffffdd80008b738bffffe89998ff00013334ffffe933348d08ffffe9e666ffff44cc
+cc05ff0022666698ff0018ccceff0002b334ff001766668b08ff002a3334ff002119
+986fffffb919991f0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a
+ffffb7b332fffee5199a15ff0015666699ff0015199aff0000e666ff000b4cce8b08
+ff003fb332ff000e4cceffffc1999affffdf8000ffffb88000ffffe4b332ffffdf80
+00ffffe0199a6266ff00161999ff006f19991f8bff000e999aff0001999aff001180
+00ff0003ccccff0012b33408ff0005e666ff0017999a15ff0011999aff003b1998ff
+00294cceff00418000ff00568000ff002066688bff0007ccccfffffd666691fffffa
+ccccff00033334ffffbe4cceffffec8000ffffd7b332ffffe49998ffffdb999affff
+d5ccceffffd7b334ffffd13332ffffebe666ffffc4e6688bffffcc999808ffff7c00
+01ff004ab33271ff0032199aff0055199aff00233334ff00529999ff0037e666ff00
+37e6686dbdffffa799981effffef199a8bffffe6cccefffffae666ffffec9998ffff
+f7199a080ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40affffe64c
+ccffff7d4ccc15ff00744ccc06ffffcd4cceffff81e668ffffccb332ffff813332ff
+ffd3ccceffff9d333408ff00053332fffffb6666ff002c33348d05b0ff006e8000ff
+0023ccccff006be666ff0048ccccff00b1666608fffff5999cff0007e6680580ffff
+fcccccfffff1b33287ffffe74cce8b08fb1a06ffffe9e6668bff00016666ff000680
+00fffff44cccff00029998898bffffff66688b8bfffffe199cffffff4cccffffe0cc
+ccfffff8e66664fffffaccceffffde3334ff0007199889ff00068000ffffff1998ff
+00073334ff0000e668ff000e4cccbfff00156668ff00049998ff0014cccc8b080ef7
+38f80ff87b15b3a06b6e1f8b6a656d7a7f0879970564a481a18b9e08a8a3a8b01eee
+4d15b768ac4e4d60665b1e8b699d72b172089585057c7f7d817c7d7275816f8b7208
+4cb869ccdbb1c7bb1e8bae7ba76ba00866a505a69db7aa8bb20824fbb4156f5da4c1
+1f8b9e97b6c0ae08a97a05b2739b6e8b6e084d5b7c6f1eff00033334ffff67cccd15
+f8d30aff026fb33404f8d40a0ef738ff017a3334fffff0cccd15f8d30aff026fb334
+04f8d40aff005a1998fffeda4ccc15ffffea999a7dffffeae6668afffff4b3348b08
+ffffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff002080
+00ff001fccceb4b0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ffffee99
+9afffffc3332ffffed4ccc08fffffa199affffe8666815ffffee6666ffffc4e666ff
+ffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999afffffa19
+99ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccdff0024
+6666ff002a3333ff00284cccff002ecccdff0014199aff003b33348bff00334ccc08
+f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affffc8199a
+ff001de66659ff005866661eff0010e6688bff00194cccff00053332ff00136666ff
+0008e668080ef738ff01333334ff00ce4ccd15f8d60ad2ffff22800015f8d30aff02
+6fb33404f8d40aff006e9998ffff9a4ccc15f8d70afffffd6668fffe83b33415f8d8
+0a0ef738ff02013334ff00ce4ccd15ff00e17fff078bb2ff0000e664ff0027b334ff
+0001199cff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffff
+e9b332ffffddccccffffefe666ffffc6ccccffffe566688cfffff899988efffff9e6
+68ff0005ccce87ff001d999aff000c4cccff000e9998ff0003e666ff000c66688b08
+ff000ab332ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ff
+ffee6666fffffccccdffffd28000fffffe1999fffffc199afffffc199a8bfffff24c
+cdff0003e666fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff0023
+33348bff001ee6688bff000fe664ffffff4ccdff00208000ffffff6666ff0003e668
+ff0003e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4
+e668ff000333338bc108fb5a16ff00e17fff078bb2ff0000e666ff0027b334ff0001
+199aff000880008bff00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b3
+32ffffddccccffffefe666ffffc6cccdffffe566688cfffff899988efffff9e668ff
+0005cccd87ff001d9999ff000c4cccff000e999aff0003e666ff000c66668b08ff00
+0ab333ff00024ccefffff06666ffffe9e6681fffff2c1999078bffffca0001ffffee
+6666fffffccccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff
+0003e667fffffc1999ff001fe666ff0000999aff00174cccff0000b333ff00233334
+8bff001ee6668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff00
+03e6678bff000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668
+ff000333338bc108caffff22800015f8d30aff026fb33404f8d40a0ef738ff013833
+34ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404f8d40aff00058000
+ffff4cb33415fffff24cccff000c4cccfffff44cccff000db33496ff00138000ff00
+0b999aff000e66661e8bff00053334fffffeb3328ffffffeb334ff00048000fffffe
+b332ff00048000fffffc199aff0005e6668bff0005333408ff00103332ff0010e666
+ff00178000ff002f8000ff00176668ff00211998ffffefb334ffffc1999a1e8bffff
+d666667cffffde3334ffffd9b3346408ffffcfe666ffffd0800005ffffc04cceffff
+befffffffff59998ffffe0cccd8bffffd9b333088bff00213334ff00014ccdff0014
+cccc1eff0071b33406ff0014ccccff001de668fffffeb3338b1fff00088000ff0022
+8000ff00068000ff0030b333ff00009998ff00138000fffffc199cff00033334ffff
+f79998ff00016666fffff98000fffffeb33380ffffd1cccdfffff4e668ffffefb333
+ffffe899988b08ffff8c4ccc068bff001f3332ff002cccceff002c4ccdff00033332
+ff0003333308ff0041b334ff003f199a05b0ff0023cccca7ff001c80008bff003166
+6808ff00463332ffffc6ccccff001c999affffcb6668ffffb7ccccffffd33334ffff
+cab334641e0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40aff00739998ffff964ccc15ff001c199cff0019e6647affffd63334
+1f8bffffdf6666ffffda4cceffffce6666ffffbf999afffff6ccce08ff00033332ff
+ffeb33320596ff00014cceff000bccce8bff000866668b08ff0025199abbfffff599
+9affffb67fffffffa98000ffffc64cccffffee8000ffffe933341fffffdecccc8bff
+fffa199a9afffff83332ff000bb333fffff98000ff0009199afffff7999aff0007cc
+cd7e8b08fffff24ccefffff26666fffff39999fffff5999a71ff0036999affffee80
+00b2ff004d4cccd0bdff0055cccc1f8bff0046e668ffffcab334ff00194cccffffd9
+9998ff0006800008ffffff6668ff00014ccc05ff00358000ff0019199aff000ee664
+ff001b199a8bff00224ccc8bff00138000fffffb6668ff000fe668fffff033349bff
+fff1ccccff000e6664ffffe96668ff000ae668ffffddfffe8b08ffffa06666ffffe4
+b334ffffc1999affffea999afffff6e666ff0006999afffff2e666ff000f999aff00
+16ccccff00028000ff00158000ff000c4cccff0029999aff002ce666ff0007e666ff
+0010e6661f0ef738ff01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff02
+6fb33404f8d40af70cffff68199a15f8d50aff00674cccffff44b3321555ff00bde6
+68068bff00208000ff00003334ff00196664ff00011998ff0005199c08fffffeb334
+ff00014cccffffeb4ccc8b05fffffb80008bfffffc6668fffffbb334fffffd9998ff
+fffd1998ffffd7199affffcd999affffb44cceffff953334ffffc480002e8dfffff6
+3332ff0003ccccffffee8001ff001380008b08ff0084b334ffffc43333068bffffe2
+199affffe74ccc8b6ffffffe1999fffffc199afffffc199a8bfffff24ccdff0003e6
+66fffffc1999ff0014ccccff0000999aa5ff0000b333ff001de6688bff001999988b
+ff00186668ffffff4ccdff0014ccccffffff6666ff0003e668ff0003e6678bff000d
+b333fffffc1998ff0003e666ffffe03334ff0002999afffff24cccfffffeb3338bff
+001e800008ff003bcccdff002ce66807ff00091998ff00000001ff0009b334ff000c
+66668bff0007cccd08ff00068000fffffd8000ff0003ccccfffff8cccc1e0ef738ff
+01383334ff00ce4ccd15f8d60acdffff22800015f8d30aff026fb33404ff004fe666
+8bff00486666ffffe06668ff0034e668ffffccb330ffffdcccccfffffc4cd0ffffde
+6664fffffd1998ffffdf199c8b738bffffe89998ff00013334ffffe933348d08ffff
+e9e666ffff44cccc05ff0022666698ff0018ccceff0002b334ff001766668b08ff00
+2a3334ff002119986fffffb91999ffffc23333ffffdf8000ffffd2999a641fffffe7
+4cce8bfffff7b332ff00103333fffff6333498fffff78000ff000b199980ff0009cc
+cdfffff24ccc8b08fffff3b334fffff3999afffff4e6677effffe56666ff00373332
+ffffe9cccdff0025199aff0050999aff00393334ff003bcccdff0051e666caffffd4
+6664ff0038b334ffffb733341fffffe4199a8b73fffffa1998fffff44ccefffffb80
+000898ff006c800005a3fffffd6668ff0014ccccfffffcccccff001f33348bff0013
+80008bff00161998ff00013334ff001ab334ff0002999808ff0008e668ff00263334
+05ff0031e664ffffcb999aff001e999cffffb9199a8bffffb1800008ffff5d6666ff
+ff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a1
+3332ff0081e667ff0083999aff00a266671e0ef738ff01383334ff00ce4ccd15f8d6
+0acdffff22800015f8d30aff026fb33404f8d40aff0020b332fffee4199a15ff0015
+666699ff0015199aff0000e666ff000b4cce8b08ff003fb334ff000e4cccffffc199
+9affffdf8000ffffb88000ffffe4b334ffffdf8000ffffe019986266ff00161999ff
+006f19991f8bff000e999aff0001999aff00118000ff0003ccccff0012b33408ff00
+05e666ff0017999a15ff0011999aff003b1998ff00294cceff00418000ff00568000
+ff002066688bff0007ccccfffffd666491fffffaccd0ff00033334ffffbe4cccffff
+ec8000ffffd7b332ffffe49998ffffdb999affffd5ccceffffd7b334ffffd13332ff
+ffebe666ffffc4e6688bffffcc999808ffff7c0001ff004ab33271ff0032199aff00
+55199aff00233334ff00529999ff0037e666ff0037e6686dbdffffa799981effffef
+199a8bffffe6cccefffffae666ffffec9998fffff7199a080ef738ff012c3334ff00
+ce4ccd15ff00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff
+00031998fffffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffef
+e666ffffc6cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d99
+99ff000c4cccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccdff
+fff06666ffffe9e6681fffff2c199907ffffffffffffffca0001ffffee6667fffffc
+cccdffffd28000fffffe1999fffffc1999fffffc199a8bfffff24ccdff0003e667ff
+fffc1999ff001fe666ff0000999aff00174ccdff0000b333ff002333338bff001ee6
+668bff000fe666ffffff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff
+000db333fffffc1998ff0003e666ffffd28000ff0001e667fffff4e668ff00033333
+8bc108d9ffff22800015f8d30aff026fb33404ff0050cccc8bd4ffffdfccccff0035
+1998ffffcb999cfffff6999cfffffdccccfffff43334fffffe4cccffffef4ccc8b08
+fb1a06ffffe9e6668bff00016666ff00068000fffff44cccff00029998898bffffff
+66688b8bfffffe199cffffff4cccffffe0ccccfffff8e66664fffffaccceffffde33
+34ff0007199889ff00068000ffffff1998ff00073334ff0000e668ff000e4cccbfff
+00156668ff00049998ff0014cccc8b08ff00744ccc06ffffcd4cceffff81e668ffff
+ccb332ffff813332ffffd3ccceffff9d333408ff00053332fffffb6666ff002c3334
+8d05ff0024199aff006bb333ff0022ccceff00693333ff00451998ff00a96666ff00
+2b999858ff001a4cd0ffffbdb3348bffffb7333408ffff5d6666ffff7b4cccffff7c
+8000fb35ffff5d9999ffff7e1999ff00838000ff00a2999aff00a13332ff0081e667
+ff0083999aff00a266671e0ef738f883f87b15b4a06b6e1f8b6a646d7a7f08799705
+64a481a18b9e08a8a3a8b01eee4d15b768ac4f4c60665b1e8b699e72b07208958505
+7c7f7e817b7d7275816f8b72084cb869ccdbb1c7bb1e8bae7ba76ca00865a505a69d
+b7aa8bb20824fbb4156f5da4c11f8b9e98b6bfae08a97a05b2739b6e8b6e084d5b7c
+6f1effff4d3334ff00454ccd15f8d60acdffff22800015f8d30aff026fb33404f8d4
+0a0ef738ff017a3334fffff0cccd15f8d30aff026fb33404f8d40a49fffe6dcccc15
+f8d60aff01081998ff00707fff15ffffea999c7dffffeae6648afffff4b3348b08ff
+ffc04cccfffff1b334ff003e8000ff00208000ff00478000ff001b4cccff00208000
+ff001fccceff0028fffeb0ffffe9e668ffff90cccc1f8bfffff16666fffffe8000ff
+ffee999afffffc3334ffffed4ccc08fffffa199cffffe8666815ffffee6664ffffc4
+e666ffffd6b334ffffbe6666ffffa98000ffffdf999a8bfffff83333ff0002999aff
+fffa1999ff00053332fffffccccdff0041b334ff00138000ff00283334ff001b4ccd
+ff00246664ff002a3333ff00284cd0ff002ecccdff00141998ff003b33348bff0033
+4ccc08f718ffffb54ccca559ffffaaccceffffdce666ffffad6666ffffc8199affff
+c8199aff001de66659ff005866661eff0010e6688bff00194cccff00053332ff0013
+6668ff0008e668080ef738ff017a3334fffff0cccd15f8d30aff026fb33404ff00a2
+6664ff00834cd0ffff7dccccffff5d6668ffff5d6666ffff7b4cccffff7c8000fb35
+1fffffa5e6668bffffafe666ff00288000ffffca8000ff003fccccff0009e666ff00
+006667ff00176667ff0000b3339b8b08ff0071b33306ff0014ccccff001de668ffff
+feb3338b1fff00088000ff00228000ff00068000ff0030b333ff00009998ff001380
+00fffffc199aff00033334fffff7999aff00016666fffff98000fffffeb33380ffff
+d1cccdfffff4e666ffffefb333ffffe8999a8b08ffff8c4ccd06ff00000001ff001f
+3332ff002ccccdff002c4ccdff00033333ff0003333308ff0041b333ff003f199a05
+b0ff0023cccca7ff001c80008bff0031666808ff00463332ffffc6ccccff001c999a
+ffffcb6668ffffb7ccccffffd33333ffffcab33464fffff24cccff000c4ccdfffff4
+4cccff000db33396ff00138000ff000b999aff000e66661e8bff00053334fffffeb3
+338ffffffeb334ff00048000fffffeb333ff00048000fffffc1999ff0005e6668bff
+0005333408ff00103332ff0010e667ff00178000ff002f7fffff00176668ff002119
+98ffffefb334ffffc1999a1e8bffffd666667cffffde3334ffffd9b3346408ffffcf
+e666ffffd0800005ffffc3999affffc26666fffff38000ffffe0ccccfffffee666ff
+ffdc3334ffffd7e667ff00326666ffffe81999cb8bff0045b33408ff00a13332ff00
+81e667ff0083999aff00a266671eff00839998ffff9a4ccc15f8d70afffffd6668ff
+fe83b33415f8d80a0ef78df86ff70e15f8d90afffe5db334ff0095cccc15f8da0aff
+02cd99988915f8db0a0ef78df78bf86815f8dc0affff3bb333ffff3bcccc15f8da0a
+ff02cf99988915f8db0a0ef78df830f8d315ff002b3334ff0027e66671ffffbfb334
+1f8bffffcdcccc51ffffb3999affff9ce666fffff1e66608906b059c8d9d8b988b08
+c4d57bfb05fb193270681f588b82a27f9d81997e97778b087676787b63df70c7f70b
+f5d8f7181f8bf70139b25095088a8d05ff00524cccff0026999aff0017199cff0029
+999a8bff0034b3328bff001e0002fffff8e664ff00188000ffffe7b334ff00189998
+ffffea3334ff00161998ffffdd1998ff0010e668ffffcbb3348b08fb27612b6a7d95
+77a3ae8fac9ecbd097a51ffffe9eb334fffed0cccc15f8da0aff02ce99988915f8db
+0a0ef78df868f88f15f8dd0af733fbb415f8de0afffdcfb334ff0034cccc15f8da0a
+ff02d099988915f8db0a0ef78df89ef75115f8df0afffe30b334ff0052cccc15f8da
+0aff02d699988915f8db0a0ef78dff014a3334f7c715ff0020ccccff0015999aff00
+20999aff00016666ff001166668b08eda12b59fb0261595a4c52adf73f1f8bff0016
+8000ff00024cccff001ab334ff0005e668ff001ccccc08ff00091998ff00244ccc15
+ff001b199aff005ae668ff003f999af0f719ff0031cccc8b9787948390266d4d6153
+4a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffffd9199a83
+ffffe23332fffff24ccc08fffee66668ffffb8800015f8da0aff02cf99988915f8db
+0a0ef78df806f8ab15f747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af7
+04f7a5087b97057a867585658b08fb6206698b8d95798f888b8a8b8b888a5b804f83
+57ff000ae666fffffce666ff000a199afffffeccce96ff00014ccca1dbac92ab8b08
+fffebbb334fffef8cccc15f8da0aff02f699988915f8db0a0ef78df83ff8be15c9ab
+595f1f8b58505d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2a
+4a51421e8b56a765c465089c8005737a777a737664697c608b66082acf56eff710c6
+e8d31e8bc271b65bab0851b305b5a7d0ba8bc808fb34fc4f156046b0e01f8ba79dcd
+dcc208b87005c767a55e8b5e082c4074601efffe9db334ff00ffcccc15f8da0aff02
+cf99988915f8db0a0ef78dff0225ccccf7b815410afffff6e668ffffdbb33315ffff
+e4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9c9
+b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e6
+6693ff001dccceff000db33308fc75ff0010199915f8da0aff02d799988915f8db0a
+0ef914f9aef8d3152b0a87fcdd15f8e00afbd4f71815f8d90afffe6ab334ff0095cc
+cc15f8da0aff044b99a08915f8e10a0ef914f9ddf70e15f7ef078bc7ff00014cccc8
+ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008bffffc8b334ff
+ffddb334ffffcb4cccffffe74ccc3362ff00019998fffff4999aff00046668fffff6
+800094fffff9e666ff002d80009eff00168000919e8b08ff00108000ff0003800073
+691ffbda078b387086458885858b769185bc8cff0023cccc8cff003633348bff002f
+99988bff001866688abd8a91918ba08591458e7a908bde08fbf516f8d90afffe5eb3
+34ff0095cccc15f8da0aff044799a08915f8e10a0ef914f90ff86815f8dc0afb27fb
+ee15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9b8
+f8d315ff002b3334ff0027e66471ffffbfb3341f8bffffcdcccc51ffffb3999affff
+9ce668fffff1e66608906b059c8d9d8b988b08c4d57bfb05fb193270681f588b82a2
+7f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095088a8d
+05ff00524cccff0026999aff0017199cff0029999a8bff0034b3328bff001e0002ff
+fff8e664ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998
+ff0010e668ffffcbb3348b08fb27612b6a7d9577a3ae8fac9ecbd097a51ffbd0fc59
+15f8d90afffe5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9d4f8
+8f15f8dd0af733fbb415f8de0afc8b2a15f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914fa21f75115f8df0afc384815f8d90afffe5db334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914ff02b43334f7c715ff0020cccc
+ff0015999aff00209998ff00016666ff001166688b08eda12b59fb0261595a4c52ad
+f73f1f8bff00168000ff00024cccff001ab334ff0005e668ff001ccccc08ff000919
+98ff00244ccc15ff001b199cff005ae668ff003f9998f0f719ff0031cccc8b978794
+8390266d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e71
+8bffffd9199883ffffe23334fffff24ccc08ffff2ab334ffff22b33415f8d90afffe
+5eb334ff0095cccc15f8da0aff044799a08915f8e10a0ef914f963f8ab15f747063d
+fb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a867585658b
+08fb6206698b8d95798f888b8a8b8b888a5b804f8357ff000ae668fffffce666ff00
+0a1998fffffeccce96ff00014ccca1dbac92ab8b08fb85fc3115f8d90afffe5eb334
+ff0095cccc15f8da0aff044799a08915f8e10a0ef914f9abf8be15c9ac595f1f8b58
+4f5d7178086f9e054fb27cad8ba808b7b0b8c41ef72d2c15cf54be2e2b4951421e8b
+56a765c565089b8005737a777a737664697c608b66082ad056eff70fc6e8d31e8bc2
+71b65cab0850b305b5a7d0ba8bc808fb33fc4f155f46b0e01f8ba79dcddcc208b870
+05c767a55e8b5e082c4174601efbbdf515f8d90afffe5eb334ff0095cccc15f8da0a
+ff044799a08915f8e10a0ef914ff0396ccccf7b815ffffdf3334ffffea6666ffffdf
+6668fffffe999affffee99988b082975ebbdf702b5bdbccac469fb3f1f8bffffe980
+00fffffdb334ffffe54cccfffffa1998ffffe3333408fffff6e668ffffdbb33315ff
+ffe4e664ffffa51999ffffc06668ffff9afffffb19ffffce33348b7f8f829386f0a9
+c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026
+e66893ff001dccccff000db33308fffe554cccffff7a4ccd15f8d90afffe5eb334ff
+0095cccc15f8da0aff044799a08915f8e10a0ef914f9d7f8d3152b0a87fcdd15f8e0
+0afcd0f87215f8dc0affff41b333ffff3bcccc15f8da0aff044799a08915f8e10a0e
+f738ff011f6666ff01183334158fff00073332978bff0015999a8b08d306ff001599
+9a8b93fffffe6666ff0001999a83089bffffa5999a05ff00043332ffffe68000ffff
+fde666fffffa4ccdffffdeb334fffffb333308fffffa6666ffffff333405fffffccc
+ceffffff3333fffffe6666fffffe66668bfffffd999a088bffffef3333ff0001999a
+fffffe6666058bff00333332ff0001999aff00166666a3ff0035999cfffffe66668b
+1eff00019998ff0001999a8bff0010cccd058bff00026667fffffd9998ff0002199a
+fffffcccd0ff00004ccd6fff00026666fffff33332ff0004cccdfffff8ccccff0022
+666608ffffc9999aff0103333405fffffcccccff000f3334fffffe3334ff0006199a
+b8ff00038000ff00026666ff00003332ff0001999aff000233348bff00026666088b
+9bffffff3334ff0001999a05ffffd59998ffffff3332ffffc4ccceffffff3334678b
+ffffdb33328bffffe73334ff0000ccccffffe66666ff0000ccce08fffffd999affff
+fe66668b7b05fffffcccccff00026666fffffe6668ff0004ccce1eff001a6666ffff
+ff3332ff00073332fffffcccce8bfffff0cccc8bffffe66666ffffb33334ffff2f33
+347bffffd73333fffff73333ffffe99999fffff33333fffff9999affffea6667ffff
+fd999afffffccccdffffff999987fffffc66678bfffffd9999088bfffff0cccdff00
+019999fffffe666605ffffffffff8bff002ccccdff0001999aff001666668b08ff00
+18ccceff00273332fffffe66668b1fff0001999aff0001999a8bff0010cccd058bff
+00026667fffffd999aff0001999afffffcccccff0000cccd08fffff66666ff000199
+990573ff0003fffffffffa3334ff0003999a8eff000d33338b8bff00156666ff004f
+199a96ff001c199a08ff0048cccef75415ff001199988bff000d3334fffff9199891
+ffffe4800008ff00133334ffff99999a05ff00033332ffffef33347ffffffa6666ff
+fff1999a8b08ffffbd999a06ffffe9999afffff99998ff0001999aff000733321f8b
+8bff001b3334e7ff000a6666abff0005999aff0010ccceff0004ccccff0009999aff
+000e66688b089dfffe18999815f8d30aff026fb33404f8d40a0ef738ff015c6666ff
+01b3666615ff0018ccceff0005999a93ff00373334ff00233332ff0029999afffff7
+3332ffffca66665bffffe8ccccffffeb3334571effffc1999a06ffffe5999a04ff00
+3e666606ff0048ccceff00126666ffffdb4cccffffd4b334ffffdcccccfffff33334
+ffffd26667ffffae6666ffffcbe666fffff8e666ff000b3333ff001d999a1fffffe0
+ccceffffbe666615a38bff00299998fffffe6666ff002cccce8bff006a66668bff00
+259998ff002bb3348bff0039e6668bbfffffe5999cff0023333453ff000cccccabff
+000e6666ff00199998af8bff001f33348bff002cccccffffeb3334ff002b3334fb08
+8bffffd5999a8bffffe44cccfffffe6666ffffe880008b08ffffe8ccce8b67ff0000
+ccccffffe26666ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdff
+fffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53
+3334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33
+338bffffef3333ff0004cccdfffffb3333ff0021999aff0000cccdff0021ccccff00
+00cccdff001633348b08c8ffff73cccd15f8d30aff026fb33404f8d40a0ef738ff01
+7dccccf70615ff003e66688bff00266666ff00173333ff0025999aff00326667ffff
+fe6664ff00059999fffff80002ff00088000fffff9999aff0001e667ffffdb3332ff
+ffd4cccc6f7bffffca66668b08ffffb0ccceffffd1999aff0055999aff004f3334ff
+00866666ff003e6666a7c71fcb8bff0025999affffdcccccff000999985393fffffd
+999a93ffffffb33493ff00051998ffffffccccff0020e668fffffe6668ff00216666
+fffff83334ff0024199affffe199988b67ff000ccccc4b8bffff9666688bffffae66
+663b8bffff8b33348bffffcd3332ff000fe666ffffc96667ff00274ccdffffdbcccd
+08ff001fe667ffffe29999ff002ce666ffffefcccdff003b33328b08fffffc6668ff
+ff7ecccd15f8d30aff026fb33404f8d40a0ef738ff01416666ff00b6cccd15ff0101
+9998079f9fff0004ccceff001f3334ff00866666ff00126668ffffa26666ffffaccc
+ccfb04ffffce6664ffffe2666733ffffc33334fffffa6666ff000d9999ff00166667
+1e6bff0133333415ffffea199a8bffffdc4ccdff0000ccccffffe0cccdff0000ccce
+fffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffc
+ccccff0008cccefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffff7
+3332fffffd999affffcf333487fffffb3333fffffb33338bffffef3333ff0004cccd
+fffffb3333ff001e6666ff0000cccdff00244cccff0000cccdff0016e6688bff0015
+19988bff001fb334fffffe6666cb8b08ff0058ccccff00633334ff0029999af720ff
+006a6666ffffbe6668ff00533334ffff7a66641fffffc9e6688bffffe33332fffffe
+6666ffffe880008b08ff0058cccefffe06cccc15f8d30aff026fb33404f8d40a0ef7
+38ff018d6666f7c215ff0034999a8b8cfffff0ccccff0001999affffe266688fffff
+fbffffff000e66668b8fff00040001ffffff3334ff00126666ffffff3332ff001b4c
+cc8bff000cb3348bff000accccff0000cccea5ff0000cccc9f878ffffff1999a8b87
+87fffffe666667fffffe3334fffff73334ffffcc33328b08ffffd26666ff0071999a
+06ff000d9998ff000a6668ff0008ccceff000f33321eff002d999a06ff0041999a8b
+ff000a6666ffffe5999aff000e6668ffffd2666693ffffff3332ff00073330ff0001
+999aff00066668ff00033334fffffcccccff001b3332fffff66668ff003e6668ffff
+fe6664ff000599988bff0001999affffff3334ff0000cccefffffe66688b80fffffd
+9998fffff79998ffffff3334fffff2999a8b08ffff5a666606748b66ff0000ccccff
+ffe33334ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb33
+34ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff53333407
+8bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb33338bff
+ffef3333ff0004cccdfffffb3333ff001cccccff0000cccdff00233334ff0000cccd
+ff0019999a8b08ff007b333206abff0034ccccfffffe66668b1fff0009999cff0020
+cccdff0008ccccb7ff00059998ff0021999afffff8ccd08ffffff99998ff00019999
+fffff73334fffffd999afffff33334ffffd0cccdffffe8cccc63ffffbd99988b08ff
+ffdd999a06ffffde3334ff00000001fffff83332ff000899998bff001a999a08f70c
+07ff001a6668fffec2cccc15f8d30aff026fb33404f8d40a0ef738f7b4ff00db999a
+158bffffbd9999fffff73334fffffd999affffcf333287fffffb3334fffffb33338b
+ffffef3333ff0004ccccfffffb3333ff001e6666ff0000cccdff0020999aff0000cc
+cdff001a999a8ba78bff001f3334ffffff3333ff001d9998ffffff3333ff0004ccce
+ff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff00033333fffff7
+33348f8bff0041999a08ff00466666ff002d999807ff0033ccce8bff0001ccccffff
+ee3334ff0001999affffe4ffff8f87ff000e66668b8f8fffffff3334ff0010cccdff
+ffff3332ff0012cccc8bff0016ccce8bff00163332ff0000ccceff0012999aff0000
+cccc9b878ffffff1999a8b8787fffffe666667ffffff3334fffff73334ffffcb3332
+8b08ffffd26668ff007d999a06ff000d9998ff000a6666ff0008ccceff000f33321e
+ff003d999a06ff0031999a8bff000a6666ffffe5999aff000e6666ffffd2666693ff
+ffff3332ff00073334ff0001999aff00066668ff00033334fffffcccccff001b3332
+fffff66664ff003e6668fffffe6668ff000599988bff0001999affffff3334ff0000
+cccefffffe66648bfffff4cccefffffe6666fffffa6666fffffe66667b8b08ffff5a
+666806738bffffdf3332ff0000cccc6bff0000cccefffffb3334fffffb33328bffff
+ef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc8b
+ffffbd999a08ff005a3334fffe68666615f8d30aff026fb33404f8d40a0ef738ff02
+189998f757158bff00423334ff0004ccd0ff00026666ff0018cccc8fff0004ccccff
+0004cccc8bff0010cccefffffb3334ff0004ccccfffff19998ffffff3334ffffe94c
+ccffffff3332ffffe780028bffffe7b3328bffffdb8000ff0000ccceffffe8ccceff
+0000ccccfffffb3332fffffb33348bffffef3332ff0004cccefffffb3334ff0030cc
+ccfffffccccc8ffffffcccce8bffffbd999908ffffd4cccd07ffffe66666fffff8cc
+ccffffe5999a876f8b0827ffffdf3334ff00666667ff00419999ff0060ccceff002e
+6666ff00426666ff004ccccc1fff004f33348bff0021999a6397ffffccccccff0007
+fffefffffd800093ffffffb33493ff00053332ffffff199cff0020ccce89ff00214c
+ccfffff88000ff00244cce738bffffc4ccccff000cccccffffd333348b08ffff8d99
+98ffffa4ccceffffb66666ffff81999affff9a6666d7ffffad999aff007266661fff
+003666668bff003accce93ff00353334ff001ccccdfffffa6664ff00059999fffffc
+ccccff000733348bff0005999908ffff61999cffff47999a15f8d30aff026fb33404
+f8d40a0ef738f8b3ff018d6666158bff00426666ff0008ccccff00026668ff0030cc
+cc8fff0004ccd0ff0004cccc8bff0010ccccfffffb3330ff0004ccce6ffffffe6666
+ffffdcccd08bffffe599988bffffe9999a8bffffdcccccff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffffbb3334ffff473334ff
+0044cccc078bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffde3332
+ffffff3334ffffe6999a8bffffe84ccd8bffffdee666ff0000cccc6bff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030cccdfffffccc
+ccff0008cccdfffffccccc8bffffbd999a08ffff53333407ff00000001ffffbd9999
+fffff73333fffffd999affffcf333387fffffb3333fffffb33338bffffef3333ff00
+04cccdfffffb3333abff0000cccdff0020199aff0000cccdff00197fff8bff001966
+688bff00203332ffffff3333ff001f3334ffffff3333ff0004ccccff0004cccd8bff
+0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff00033333
+8bff0042666708ff004d999aff00b8ccccffffb26666078bffffbd9999fffff73334
+fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff0004ccceffff
+fb3333ff001d9998ff0000cccdff00203334ff0000cccdff001bcccc8bff00184ccc
+8bff00214cd0ffffff3333ff001f3330ffffff3333ff0004ccd0ff0004cccd8bff00
+10cccdfffffb3330ff0004cccdffffcf3334ff00033333fffff73334ff000333338b
+ff0042666708ffff5b3334ffff10333315f8d30aff026fb33404f8d40a0ef738f833
+ff01886666158bff00426666ff0008ccccff00026668ff0030ccce8fff0004ccccff
+0004cccc8bff0010ccccfffffb3334ff0004ccceffffe1999affffff3332ffffdd4c
+ccffffff3334ffffe780008bffffe7b3348bffffdeb332ff0000ccccffffe0ccceff
+0000cccefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff0030cc
+ccfffffcccccff0008ccccfffffccccc8bffffbd999a08ffff533334078bffffbd99
+99fffff73334fffffd999affffcf333487fffffb3332fffffb33338bffffef3333ff
+0004cccefffffb3333ff001d9998ff0000cccdff0021199aff0000cccdff001ae666
+8bff0019e6688bff0022e666ffffff3333a7ffffff3333ff0004ccccff0004cccd8b
+ff0010cccdfffffb3334ff0004cccdffffcf3332ff00033333fffff73334ff000333
+338bff0042666708ffffdb3334ffff15333315f8d30aff026fb33404f8d40a0ef738
+f7d9ea157a8b8a938a928a98819f788b087d8180786fad7fb11fa18ba2979c9ca8a7
+9cbb8bda08f763079b9394a51e95068e8d8c8e1f8b9c898d058b528974734b8d8b1e
+8a898b7a05888d8a8e1ea106a49584791ffb6f07fb0d766e711eff00353334ffff91
+cccd15f8d30aff026fb33404f8d40a0ef738ff00f8999aff0188666615ffff533334
+078bffffbd9999fffff73333fffffd999affffcf333387fffffb3333fffffb33338b
+ffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0023b334ff0000cc
+cdff001780008bff0016e6668bff001b8000ffffff3333ff001a6666ffffff3333ff
+0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffd9999a8ffffff8
+ccccff000266668bff0042666708ff004a666607ff0011999a8b9f87977b08ff0058
+ccceffff91999a05ff000b3332fffff33333ff0000cccefffff733338bfffff5999a
+08fffff4cccc07ff0008ccccff0000cccd9fff0000cccdff0014cccc8bff00166668
+8bff00273334fffffe66668b8bff0004ccccff0004cccd8bff0010cccdfffffb3334
+ff0004cccdffffea6664ff00026666ffffecccccff0008999afffff5999cff000c33
+3308ffff899998ff008b33340587ff0004ccccfffffcccce8f8bff0004cccc8bff00
+066668ff0004ccccff0008ccccff000d999aff000e666608ff0044ccccff004f3334
+05ff00183334ff001be666ff001d6668ff0004199aabff0001999aff0004ccccff00
+04cccc8bff0010ccccfffffb3334ff0004ccceffffe7b330ffffff3332ffffe5e668
+ffffff3334ffffeb33348bffffe8cccc8bffffe5e666ff0000ccccffffe88000ff00
+00cccefffffb3334fffffb33328bffffef3334ff0004ccccfffffb3334b3fffffd99
+9883ffffeb3334ffffc26666ffffba666608ffffdde668ffffd96666ffffe88000ff
+fff36668ffffe599988b08ff00473332078bff00426666ff00073334ff00026668ff
+002666668fff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe6
+6666ffffff3332ffffe5e668ffffff3334ffffe6e6668b748bffffdc9999ff0000cc
+ccffffe0cccdff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdffff
+fb3334ff0030cccd87ff0008cccdfffffd99988bffffbd999a08ff0081999afffe68
+666615f8d30aff026fb33404f8d40a0ef738ff01fa3334f70e158b8bff00126664ff
+004ccccdff0005999cff00219999fffff8cccc8ffffff99998ff0001999afffff733
+34fffffd999afffff33334ffffd0ccccffffe8ccccffffd8cccdffffcd999a8b0867
+06ffffed999afffffffffffffff4ccccff000ccccd8bff000f333308ff00d7333307
+8bff00426666ff0008ccceff00026668ff0030cccc8fff0004ccceff0004cccc8bff
+0010ccccfffffb3332ff0004ccceffffe26666ffffff3332ffffdf8000ffffff3334
+ffffe480008b728bffffddccceff0000ccccffffe26666ff0000cccefffffb3333ff
+fffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff533334078bffffbd9999fffffe66668753ffff
+fd999afffffb3333fffffb33338bffffef3333ff0004cccdfffffb3333ff00273334
+ff0000cccdff0034ccccff0000cccd8b8b08ff00333334ffff76cccd15f8d30aff02
+6fb33404f8d40a0ef738f87ef840158791fb928b1e7887857a1e7a06888989881f8b
+7a8c89058bc18da21eff001519988bff00253334fffffe8000ff0008ccccffffff99
+9a55ffffc2e666ffffb13334ffffd9999affffa8e6688bffffa833328bffffb1999a
+ff00266666ffffca999aff003d199a92ff00006666ff001c4cccff00018000ff0013
+199a8b08a3b1898b1f8c8d8b9c058e878d896b858da91e88f789f711fbbd058d878f
+898f8b8f8b8e8c8d9008ff00053334ffff73cccd15f8d30aff026fb33404ff00a266
+64ff00834cd0ffff7dccccffff5d66681f8bffffb77fffffffe59998ffffbdb333ff
+ffd48000ffffccb33408ff000e6666078e878d881e6f8b7c8c8aab0884f79f059e8c
+90b2908d8d901e8b99898d2789fb01fbb1fb09f7b1238d89898b7a05898d898faa96
+887b1efba1076d7f856c888889881efffff0333307ffffd43333ff00336666ffffe5
+b333ff0042e6668bff0049333408ff00a13332ff0081e667ff0083999aff00a26667
+1e0ef738f7a5ff00db999a15f72c078bff00276666ff000a199afffff86666ff0012
+b3327408f750ffff05999a0597fffff33333ff000cccccfffffb3333978b08ff0009
+999c93ff0005999a9b1fff01026666078bff00426666ff0008ccccff00026668ff00
+30cccc8fff0004ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff
+3332ffffe33334ffffff3334738b738b6fff0000cccc73ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff0030ccccfffffcccccff0008cc
+cefffffccccc8bffffbd999a08ffff6a6667078bffffea6667fffffd999afffff266
+67ffffe73332ff0021999908ffff48ccceff00f8cccdffff8e6666ff0001999affff
+fe6666fffffd999a8bffffeccccc05fffffcccccff0004cccdfffffe6668ff000266
+661eff001e6667fffffd9998ff0008ccccfffff6666893fffff1999808ffff24ccce
+078bffffbd9999fffff73334fffffccccdffffcf3333fffffccccdfffffb3333ffff
+fb33338bffffef3333ff0004cccdfffffb3333a3ff0000cccda7ff0000cccda38bff
+0017ffff8bff001cccceffffff3333a3ffffff3333ff0004ccccff0004cccd8bff00
+10cccdfffffb3334ff0004cccdffffcf33328ffffff73334ff000266668bff004266
+6708ff00693334ffff15333315f8d30aff026fb33404f8d40a0ef738ff017a3334ff
+01dc999a15f8e20aff00ca6664ffff5e666615ff0071999affffa4ccceff004a6666
+23ffff90ccceffffaa6666ffffaf3334ffff8a6666ffff933333ff00526666ffffb3
+3333f700ff00833334ff00466664e7f31effff35999cfffeb5cccc15f8d30aff026f
+b33404f8d40a0ef738ff01683334ff01ad333415ff00199998ff00099998ff000a66
+68ff00266668ff002f3332ff0019999affffe74cccffffc7e666ffffc64cceffffeb
+3334ffffe0e6665b1e7b8b77ff000266667bff0006666608ffffab333404ff003b33
+3207ff000e6666fffff9999a9bfffffcccce9f8b08ff006b3332ff0020ccccff004c
+ccccbbff0029999a73c3ffff8e66681fffffe266668bffffde6666fffffe6666ffff
+ea66688b748bffffde3332ff0000cccc6bff0000cccefffffb3334fffffb33328bff
+ffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccfffffccccc
+8bffffbd999a08ffff533334078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001a6666ff00
+00cccda7ff0000cccdff002333348bff002266668ba7ffffff3333ff001a6666ffff
+ff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334
+ff00033333fffff73334ff000333338bff00426667089dffff15333315f8d30aff02
+6fb33404f8d40a0ef738ff017a3334ff01dc999a15f8e20afffe14333204f8d30aff
+026fb33404f8d40aff005c9998fffe28999a15d3ff001fccccff0025ccccff0045cc
+cd8bff004c4ccd08ff0071999affffa4ccceff004a666623ffff90ccceffffaa6666
+ffffaf3334ffff8a6666ffff933333ff00526666ffffb33333f7001eff000e80008b
+ff000de666ff0001199a98ff00023333ff0010999affffeab333ff001b199a73ff00
+24e6668b9e8b9b919e980882970584878289828bffffe2b3348bfffff68000ff000f
+3333fffff49998ff0013e667080ef738ff01d2999aff018fcccc15ffffc0ccceffff
+ed3332ffffe8ccccffffb933341effffdcccccf306ff002a6666ff0008333493ff00
+2c999aff0037999aff00106666775b1effff833332ffff4cccce15ff0045999ab707
+a98bff000b3334ffffe58000ff000accccffffe27fff08ff0011999a5b05ff00124c
+ceffffcdffffff001b4cccffffed3333ff002266688b978bff00188000ff0002199a
+ff000de664ff000380008dff00084ccdfffffe6668ff0007cccdfffffaccccff0006
+4cccffffe333348bfffff0e664ff0004cccdffffefe668ff0029999a08ffffe8cccc
+c705fffff66668ff0018ccce81ff000d999a81ff000a666608ff0001999a07ff001b
+3332ff00094cccff0028ccceff0021199a8bff003733328bff00426668ffffd61998
+a7ffffa1199a8b778bffffd2b334fffffcccccffffe7b3328bffffe8ccce8bffffde
+6666ff0000cccc6bff0000cccefffffb3333fffffb33328bffffef3334ff0004cccd
+fffffb3334ff0030ccccfffffcccccff0008cccefffffccccc8bffffbd999a08ffff
+533334078bffffbd9999fffff73332fffffd999affffcf333487fffffb3333fffffb
+33338bffffef3333ff0004cccdfffffb3333ff001e6666ff0000cccdff0020ccceff
+0000cccdff001a66668bff001880008bff001ab332ffffff3333ff0019999affffff
+3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccd65ff00026666
+fffff866668f8bff0042666708ff00246668ffff14333315f8d30aff026fb33404f8
+d40a0ef738ff01f13334ff01e3666615778bffffeb3332ff0011999affffbf33348b
+538bffffc1999a6b8bffffbe66668bffffc5999aff003e6666ffffe0ccccff0020cc
+ccfffff0cccebf73ff00226666ffffed999a8bffffd266668bffffd19999ffffea66
+68ffffe9999affffd0cccc8bffffd333348b67ff00199999fffff19998ff00473334
+08fffff5999a8dfffff8b334ffffff8000fffff8199afffffce666ff0001ccccffff
+c7999aff00016666ffffe13333ff0005999affffe66666ff0008ccccff0003333393
+ff0001999aff0009999a8bff000f33348bff00173332fffff26666ff003d999a8bff
+004733348bff002d999ab78bff0044cccd8bff003e6667ffffb73332ff0023e666ff
+ffd9999aff001280000863ff00133334ffffda6666ff001399988bad8bff00226668
+ff00166666ff00166666ff0029999a8bff002733348bff00233332ffffe5999a97ff
+ffccccccff00073334fffffd999aff000733348bff000733328fff0001999aff0017
+3332ffffff999aff001f3334fffffb999aff001e666608fb0bfffe0d666615f8d30a
+ff026fb33404f8d40a0ef738ff01a23334ff00db999a15ff00c9999a07ff001d9998
+9397ff001999981eff0014ccce06ff003266668bff000a66687b9bffffc66668ff00
+083330fffffe4cccff00074cd0ff00006666ff00061998ff0003b33487ff0026cccc
+fffffeccccff001d999afffffeccccb1ffffe44cd0fffffc8000ffffcc7ffefffffb
+8000ffffbcccce8b08ffffc0cccc06ffffb1999a8bffffd19999ff00044cccffffea
+6667ff0003b334ffffff9999ffffda6666ffffff3333ffffe0cccefffffb999affff
+da6666ff00073333fffffd6666ff00073333ffffff8000ff00073334ff0000b3349b
+ff00399998ff0008cccc9bbf8b08ff0013333406ff0018ccccff0009999afffff666
+68ffffe0cccc1fffff35999a078bffffbd9999fffff73334fffffd999affffcf3332
+87fffffb3334fffffb33338bffffef3333ff0004ccccfffffb3333ff001d999aff00
+00cccdff00206666ff0000cccdff001b999a8bff001b999a8bff001f999affffff33
+33ff001d9998ffffff3333ff0004ccceff0004cccd8bff0010cccdfffffb3332ff00
+04cccdffffcf3334ff00033333fffff73334ff000333338bff004266670863ffff15
+333315f8d30aff026fb33404f8d40a0ef738f88eff0184666615ffff9a666607ffff
+bb33348bffffb4cccdffff966666ffffb0ccceffffef3332ff003e6666ff004a6667
+1eff006ccccc078bff00426666ff0008ccceff00026668ff0030cccc8fff0004cccc
+ff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe0ccccffffff3332ffffdf
+999affffff3334718bffffe380008bffffe08000ff0000ccccffffe33334ff0000cc
+cefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff0030ccccffff
+fcccccff0008cccdfffffccccc8bffffbd999a08ffff82666607ffffffffffffff88
+0001ff003a0001ffffdf3333ff005799988b08f710ff0020ccccff00466666ff0074
+ccce1fff005b3332078bff00426666ff0008ccd0ff00026668ff0030cccc8fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccce73ffffff3332ffffe33334
+ffffff3334738bffffe7fffe8b6fff0000cccc73ff0000cccefffffb3334fffffb33
+328bffffef3334ff0004ccccfffffb3334ff0030cccefffffcccccff0008ccccffff
+fccccc8bffffbd999a08ffff803334fffe6c666615f8d30aff026fb33404f8d40a0e
+f738ff013a4cccff0195999a1578ff002d4ccc8cff00044cceff002ae6688fff0004
+ccccff0004cccc8bff0010ccccfffffb3334ff0004ccceffffe73332ffffff3332ff
+ffe5199affffff3334ffffdee6668bffffe6199a8bffffe84ccdff0000ccccffffeb
+3333ff0000cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff
+00273333fffffc4cccff0005666782ff0013b333ffffd24ccc08ff00714ccdfffef9
+999a05ff000a199affffe8999a8ffffff76666ff000919988bff0005999a8bff0003
+199aff0006b334ff000b4cccff00194ccc08ff0075199cff0105999a05ff00106664
+ff0024b334ff0008e668ff00134cccff002b3334ff00033334ff0004ccccff0004cc
+cc8bff0010ccccfffffb3334ff0004ccceffffee6664ffffff3332ffffecccccffff
+ff3334ffffeb33348bffffe266688bffffe99998ff0000ccccffffea6668ff0000cc
+cefffffb3332fffffb33328bffffef3334ff0004cccefffffb3334ff002b3332ffff
+fccccc8ffffff66666ffffefb334ffffd7333408ffffa93332ffff38800005fffffd
+cccefffffd9999fffffe80008bfffffe3332ff0002666708ffffec6668ffff22b333
+15f8d30aff026fb33404f8d40a0ef738f835f82915859e89927c8b798b85797f5c08
+5dfb4d48f79205998c969d1e93068d8f8c8f1f8b9b8a8d058b56896b1effffec8000
+8bffffe53333ff00018000fffff86667ff00006666ff00349999ff004bccceff0057
+9999ff0031ccccff0063e6688bff00644ccc8bff00586668ffffce6668c0ffffb3b3
+32fffff4b330ffffffb332fffff0b334ffffffb334fffff4b3348b08715c8c8b1f8a
+898b7a05898d898e1e9c069c8c807b1f4ffb9205ffff923334ffff3dcccd15f8d30a
+ff00ff4cccff01dc4ccc15ff00188000ffffd54cccff000de668ffffce4cce8b5608
+ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff00838000ff00
+a2999a1e8bff003c1998ff0012199aff0037e668aaff002e999808fffff2b3340788
+8e89901e92069d8b987b8f7c08dcfbba058d8294759a8ba08b939c8f9a08b9f75105
+8e948d908e8b8e8b8f858d8108bffb4f058e809476a38ba08b95a18e9508d4f7bd05
+91a1a0909e8b8b8bff000280008b8dff0001199a080ef738ff01413334ff01ad3334
+1577ff001cccccff00066666ff00033334ff002666668fff0004ccccff0004cccc8b
+ff0010ccccfffffb3334ff0004ccceffffe8ccccffffff3332ffffd9999affffff33
+34ffffe666668bffffe666678bffffe66667ff0000ccccffffe99999ff0000ccceff
+fffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff001ccccdfffffd99
+98ff00166666ffffef3334a3ffffdccccc08ff004cccceffff93333405ff00046666
+fffff9ccccffffff999afffffd6668fffffccccc870843ffffa3333205ffffde6666
+5fffffeccccd87ffffe1999afffffe6667fffffb3333fffffb33338bffffef3333ff
+0004cccdfffffb3333ff0010cccdff0000cccdff00133333ff0000cccdff00199999
+8bff0019999a8ba3ffffff3333ff00166666ffffff3333ff0004ccceff0004cccd8b
+ff0010cccdfffffb3332ff0004cccdffffe0ccceff0003333383ff0004cccdff0013
+3332a708ff00373334ff004e666705ff00074cccff000a4cccff0002999afffffeb3
+34ff00054cccfffff8999808ff0030ccceffffbb333405ff001d999affffd73333ff
+fff26666fffffccccdffffe4ccccfffffccccdfffffb3334fffffb33338bffffef33
+33ff0004ccccfffffb3333ff0019999aff0000cccdff001cccccff0000cccdff001f
+33348bff0020cccc8bff00173334ffffff3333ff0014ccccffffff3333ff0004cccc
+ff0004cccd8bff0010cccdfffffb3334ff0004cccdffffd8ccccff00026666fffff5
+999cff0004cccdffffdd9998ff0030cccd08ffffb0ccceff006ccccd05fffffc4ccc
+ff0005199affffffb334ff0002e6668fff0004cccc08d3e705abb3ff0013fffeff00
+066666ff001f3334ff00026668ff0004ccccff0004cccc8bff0010ccccfffffb3334
+ff0004ccceffffef3334ffffff333277ffffff3334ffffe666668bffffe666668bff
+ffe73334ff0000ccccffffe9999aff0000cccefffffb3332fffffb33328bffffef33
+34ff0004cccefffffb3334ff001f3332fffffcccccff000a6668fffffb3334ffffeb
+3332ffffe3333208ffffc8ccceffffb1999a05fffff9b332fffff7199afffffcb334
+ff0000e666fffff9999aff0009999a0890fffe91333215f8d30aff026fb33404f8d4
+0a0ef738ff01c94cccff019b999a15ffffc6b334ffff9b3332fffffe66668bffffc3
+199aff0064ccce05ffffeb3334ff00234cccfffff81998ff000f8000bbff0002ccce
+ff0004ccceff0004cccc8bff0010ccccfffffb3332ff0004ccceffffe4ccceffffff
+33326fffffff3334ffffe266668bffffe8cccd8b73ff0000ccccffffe8cccdff0000
+cccefffffb3333fffffb33328bffffef3334ff0004cccdfffffb3334ff00253333ff
+fffb9998ff000a4ccdffffef8000ff00166666ffffda800008ff0044e666ffff8f33
+3405ff0005cccefffff6999aff0006199880ffffffb334fffff1999a08ffffff3334
+ffffd86666058bffffbd999983fffffd999affffcf333287fffffb3334fffffb3333
+8bffffef3333ff0004ccccfffffb3333ff001d999aff0000cccdff001f3334ff0000
+cccdff001ccccc8bff001d199a8bff001ee666ffffff3333ff001cccccffffff3333
+ff0004ccceff0004cccd8bff0010cccdfffffb3332ff0004cccdffffcf3334ff0003
+333383ff000333338bff0042666708ffffff3334ff0029333205ffffffb332ff000e
+ccceff00024cceff000ae66691ff00084ccc08ff00404cccff006f3334059eff0020
+cccc99ff0016199aff00251998ff00044cceff0004ccd0ff0004cccc8bff0010cccc
+fffffb3330ff0004ccceffffee6668ffffff3332ffffed9998ffffff3334ffffeb33
+348bffffe266688bffffe99998ff0000ccccffffeb3334ff0000cccefffffb3334ff
+fffb33328bffffef3334ff0004ccccfffffb3334ff00333334fffffb3332ffffffe6
+66fffff5999affffea3332ffffd9999a08ffffb0e668fffe55333215f8d30aff026f
+b33404f8d40a0ef738ff01393334f87e15ffffe64ccc8bffffe2199aff000533347d
+ff0002ccccfffffe19998bfffffeb333ffffff80008bfffffe199affffff33346787
+ffffe1999afffff8ccccffffd8ccccff0006e667fffffd999a92ffffff199aff0006
+e666ff0000e666ff0010cccdff0039999aff001b3334ff000f4cccff00173332ff00
+00b33408ff0070ccceff0003333205ff000cb332ff00003334fffff88000fffff233
+32fffffc6666fffffb3334ffffb44cceffff9a199affffbee666ffff9be666ffffbf
+3333ffff9b999afffffccccdfffffb3333fffffd999a878bfffffb333308fffffb33
+33ff00033333fffffccccdff0008cccd1eff0111999a06ff00033332ff0018cccdff
+0008ccceff00259999ff000d9998ff002e6667fffff9cccc8ffffff8e668ff000219
+99fffff7b334ffffff8000ffffea9998ffffd04ccdffffee6668ffffdbcccdffffce
+3332fffffe4ccd08ffffa0cccefffffccccd05ffffecb332ffffffb333ff0000999a
+ff000ab333ff00078000ff000b3333cbff00621999ff003f3334ff005e4cceff0047
+3334ff0061333297ff0010ccceff00033330ff0005999a8bff000666668b8efffffe
+ccd08cfffffc66648bfffff733348bffffe4ccccfffffe6666ffffed999a8b08ffff
+a5cccefffe06cccc15f8d30aff026fb33404f8d40a0ef737fffff0cccdff0024cccc
+ff00986667abf772a4ff009b8000ff0024cccc01ff00313333ff0024b333ff00b119
+9abff701c1ff00c1e668ff0024b33003f83cf7d215980ab6fb24159e8b9e979495ff
+0000999893fffffcb334ff00054ccdfffff8b334ff0002b33388888689878b088286
+9bb41fd607e9529f5a614d6a637c96819a9e9298931e8b908a908a8d8a8d8a8f8b92
+089ba096aca2aa83401e517c054c7b636f8b618b60ae70b58bac8b9d94ada98e7999
+76a48b08ffffa73334ffff42cccd15ff00b63334ff00000001ff00943330ff009480
+008bff00b6666708ff00b66666ffff6bccd0ff00933332ffff49ccccffff49ccccff
+ff6d3333ffff6cccceffff49999affff499999ff0092cccdffff6b8000ff00b63334
+1eff026fb33404f8d40a0ef738f7bef84a15f8260abc4215f8270aff001f3334ffff
+04cccd15f8d30aff026fb33404f8d40a0ef738f813f84915f8470afffffb3334fffe
+3bcccc15f8d30aff026fb33404f8d40a0ef738f82df79115fffff7b33473ffffd84c
+cc62758b08ffffe28000ffffe080009bdbd5acb0ad1fa48ba2779b780886fb2d15ff
+0004199aff0007b333ff0000e666fffffa4ccd8b888b6f8d7e8e848c888c88908b9c
+939f91b6918c8f89998a8f6a8e82908bb308f76c07b58da58b1e90898d851e7b845d
+837189088c7905898d8a8d1ea08a05989284611f5d077b9a7a96678b083e64433b48
+af59ca1fa38bb39e9cab08ffffe63334ffff25cccd15f8d30aff026fb33404f8d40a
+0ef738f819f75a15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff
+4cccff00478000ffffecb334ff003b8000368bffffaa4ccc8bffffd3b334448b418b
+ffffd4999aff000a3334ffffd83333ff001b9998ffffe7b333ff0012ccceffffef66
+66ff001be666fffff7199aff002280008bb98bb9a2a5aefffffc4cccff0009b333ff
+fff86668ff00064ccdfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004
+ccccb3a9afff001c33348ba38bff00214cccfffff58000ffffffb334ffffbf800008
+ffffc53334fffe9bcccc15f8d30aff026fb33404f8d40a0ef738f7c9f74c158b79ff
+fffaccccfffff98000ffffeb3334fffffc8000087f890588ffffff800089ffffff80
+008b87088b7a8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff00
+00333308768d05ffffecccccff0001cccdfffff93334ff000833338b9d08f72cc607
+91938d911f9d078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b
+96968b978b9684967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a
+8e1eb506ff00453334fffea0cccc15f8d30aff026fb33404f8d40a0ef738f88af84f
+1597969599977e98721f758b79827b79829178946e8b578b56698b528b6a9c789c7b
+ffffe780007bfffff68000738b768b7598ffffed80009efffffb8000086c7778748b
+710855c27db8dae2a7ce1e8b9f829a7a9a73a1628f758b818b7c897d8a828a848a88
+8b7a8b78908ba58b988d9692950899839d87a28bbe8bc0a98bc78ba8809a7a9e8e91
+9193928b948b91888e858d849186958b08fb4ffb7e1591889589928b928b948c948b
+938c938b948ba98bff000f3334fffffa6666ff0010ccccfffff6999a9cfffff68000
+96fffff780008b7b085e4e875a76568fb91e8ba08d979e9d08f703f744154d708775
+5a83b7abbb9c9aabb09f74591effffd03334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738f7e1f85715b58da58b1e90898d851e7b845d837189088c7905898d8a8d
+1ea08a05989184611ffb80078b76fffffe999a88ffffe866668808838a05878b8889
+1f79078bb08ca3a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999affff
+f8e666ff000466668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9
+ccccfffffbb333ffffed3334fffffe4ccd08808a05878a88891f79078bb38ca4a3b1
+8a8b1e9d078b8d8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3
+338b9e08f71007ce6da45e1e678b68687d7b08ff002d3334fffe81cccc15f8d30aff
+026fb33404f8d40a0ef738f810f89b157b7e7e7b7b987e9b9b98989b9b7e987b1fa6
+fbce15f71c07a68da68b1e90898d851e7b845c8371898a838c848f85ab8996908b56
+08fb01078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8b
+a98a8f928b998793698d7a8e8bb408ffffe33334ffff23cccd15f8d30aff026fb334
+04f8d40a0ef738f827f8a41578807e7b7c987e9c9c98989a99839a751f76fb5215fb
+1f072e82686e1e868b878f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b
+9da6a990a68be008f72607a68da68b1e90898d851e7b845d837189088c7905898d8a
+8d1ea08a05989184611ffffffc3334fffe9ecccc15f8d30aff026fb33404f8d40a0e
+f738f7aff76b158b627e88638986838c7c8f85a98ca28ba28ba48b968ba98a8f928b
+998793698d848e8bb408ff0036199a07ff0003ccccff00013332ff00034cceff0000
+b334ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d89058b9b8ca1
+a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80008efffff380
+009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff0001e666ff0002
+199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff001880008e8dff
+000033348fff0001cccc8b8e088b9f898c058b638a73756d8c8b1e8a8a8b77058b89
+8dfffffd4ccc8effffffb334ab88fffff0b334fffff14cccfffff84cccfffff7b334
+0872ffffe6800005ffffeaccccffffea666679fffff66666ffffea3334fffff73334
+08ff0096800007b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a
+05989284611fff005f3334fffe45cccc15f8d30aff026fb33404f8d40a0ef738f7f6
+f77115f7970aff00183334fffe40cccc15f8d30aff026fb33404f8d40a0ef738f795
+f80e159ea29d9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff0007
+33348bff0017cccc8bff00234ccc8bfffffbb3348ba98a8f918c9a8693ffffe18000
+ff00028000fffff88000ff000280008bb408f4078b91ffffffccccff0005b334ffff
+ff999aff00056666ff0012199aff00156666ff0013ccccff00138000ff0013b3348b
+08aaa47a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8b
+ff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce69a45d1e
+ffffdccccc8bffffdcb334ffffde8000fffff16666ffffee999afffff76666ff0024
+6666ffffe9b334ff000e8000688b678bffffe74cccffffec4cccffffe7b334ffffdc
+b33486fffff8b3348bff00054ccc8b8e8ba7899888928a8e8a8e868b087a83768560
+858a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28b
+a48b928ba98a8f928b998793698d888e8bb408ef078b9390948f9008ff00793334ff
+fe76cccc15f8d30aff026fb33404f8d40a0ef738f7e8f803159ea2ad9da08b08aa9a
+7a581f2c078b628988698987838b7d8f84a98cff000733348bff0017cccc8bff0023
+4ccc8bff0005b3348ba98a8f918c9a8693638d838e8bb408f407ce73a45d1e678bff
+ffd74cccffffec4cccffffe7b334ffffdcb33486fffff8b3348bff00054ccc8b8e8b
+a7899888928a8e8a8e868b7a83768560858a878d7d8c8708ac8894868b630820078b
+627e88638986838c7c8f85a98ca28ba28ba48b928ba98a8f928b998793698d888e8b
+b408ef078b9390948f9008ff00263334fffe81cccc15f8d30aff026fb33404f8d40a
+0ef738f80cf84f15f8ad0ad1fb3615f8b80affffbc3334fffed7cccc15f8d30aff02
+6fb33404f8d40a0ef738f7eef73115d707997faf839f8b08ccbcdbd5cf68b3511f6e
+8bffffd98000ffffe68000ffffed8000ffffe88000fffffab334fffff93334ff0000
+4cccff0004cccc8b8e8ba7899888928a8e8a8e868b7a83778560858a878d7d8c8708
+ac8894868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a
+8f928b998793698d7a8e8bb408f71304ed07ff00068000a6ff002f8000aea48b08a7
+a27b422e6774741f758bffffdb800090fffff38000b308ff00203334fffed4cccc15
+f8d30aff026fb33404f8d40a0ef738f82ef79d15f8e30aa9ca15f8e40affffc23334
+fffe19cccc15f8d30aff026fb33404f8d40a0ef738f836f81d158f8b908b8f879184
+927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a918b8e8ba7899888928a8e
+8a8e868b7a83778560858a878d7d8c8708ac8894868b630820078b627e8863898683
+8c7c8f85a98ca28ba28ba48ba08ba98a8f928b998793698d7a8e8bb408ef078b9390
+948f909ba29b93928b08ffffd83334fffe67cccc15f8d30aff026fb33404f8d40a0e
+f738f7aaf79b158e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc88bbd5d
+9e58a0699981948ba308a6a098a41e9e8bad81995108a28c82d605809264956c8b5a
+8b5e6b8b618b5eaa7bb978bd7693778b768b707380738b748b78978491087b9b85a6
+8a9908ff004e3334fffee9cccc15f8d30aff026fb33404f8d40a0ef738f810f80215
+d006908bff00084ccc8cff0000b33491088d9d05ff00004ccc8efffffdb3348c888b
+083bea06657e8b80055c807366898a8a891e897305ffffffcccc89ff000133348b8d
+8b08b3fb4b065fa07aa81ea78bac93a5a6087b9c057b7f778b7b8b087c859db11fff
+fffe3334ffff16cccd15f8d30aff026fb33404f8d40a0ef738f7a1f7f615250748a8
+72b81eb08bff00204cccff001b6666ff000cb334ff0011999aff00034cccff000480
+00ff0001b334fffffd80008b888bffffedcccd8dfffff333338e848c888c88908b9c
+939f91b6918c8f89998a8f086a8e82908bb308f70007a08dbe8b1e8d8a8d881e888a
+818a828b778b788c748c87878b7c8f87a98993828b5d08fb090778757477768b086d
+779bbe1feb07a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b7c8f87
+a98993828b5d08ff006d3334fffe8ecccc15f8d30aff026fb33404f8d40a0ef738f8
+34f81f15ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff
+94999a05fffff3e666ffffe54cccfffffd8000ff00004ccdfffff4999aff001c8000
+08ffffd5e666ff00694ccd05fffff34cccff001f999affffff3334ff000c6666ff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b818c748c87878b7c
+8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff46cc
+cd05ff00044ccefffff6199aff00031998fffffb3334ff0008199a8bff000633348b
+ff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de666ff001e999a
+ff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b
+7d8c748c87878b7c8f8708ffffda3334fffe65cccc15f8d30aff026fb33404f8d40a
+0ef738f892f81515ac88ff00033334fffff46666fffff1ccccffffdf999a08ffffd1
+199affff94999a05fffff3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff
+001ce66608ffffdae666ff00694ccd05fffff48000ff0020b33489ff000b4cccff00
+2080008e8f8f8b9a878f748affffeecccc8affffe633348b758b868c748c87878b7c
+8f87ff001c3334fffffb8000ff0002999880ff000e3334ffffdc800008ff0008b334
+ffffea3334ffffdc6666ffffae666605fffff3e666ffffe54cccfffffd8000ff0000
+4ccdfffff4999aff001c800008ffffd5e666ff00694ccd05fffff34cccff001f999a
+ffffff3334ff000c6666ff002080008e8f8f8b9a878f748affffeecccd8affffe633
+338b758b818c748c87878b7c8f87ac87ff0001e666fffff4199aff000f199affffdc
+e66608ff004f6666ffff46cccd05ff00044ccefffff6199aff00031998fffffb3334
+ff0008199a8bff000633348bff0003b332ff00051999909608c6ff00819999ff0034
+999affff7d0001058ffffff60001ff00036666fffffb4ccdff0008199a8bff000633
+348bff0003b332ff00051999909608ff00533334ff00b6cccd05ff000de668ff001e
+999aff00079998ff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f8708ffff7c3334fffe6fcccc15f8d30aff026fb33404f8
+d40a0ef738ff01c63334f80515a7ff0023e666ff0004b332ff00044cceff001c199a
+ff0001cccc8f8f8b99878f798a848a748b738b7c8c798c87878b7d8f87a88afffffe
+3334fffff7ccccfffff2ccccffffed3334088b8b8a8a63530867c4057f9f8b92a88c
+8f8f8b99878f798a6e8a738b748b818c798c87878b7d8f87ff001c199afffffe3334
+ff0001199afffffd9998ff001a9998ffffda333408ff003833343b058888ffffcecc
+cc518b8bffffe1999affffdc8000fffffdb334fffffb4ccdffffe3e666fffffe3333
+87878b7d8f879d8c928ca28ba38b9b8a9d8a8f8f8b99878f086e8c8c94999d8b8ba3
+a89ba09083a6618b8b97788e836e8a87878b7d8f879d8ca58ca38b08a28b9a8a9d8a
+8f8f8b99878fffffe3e666ff0001cccdfffff9999aff0002e666ffffe5b334ff0025
+4ccd08ffffcbccccd505ffffe83334fffec2cccc15f8d30aff026fb33404f8d40a0e
+f738f7fff845158b9b8a8d058b59896e786f8d8b1e89898b7b05888e898f1ea68b8f
+81967108d6fb4205917e907a8b868b85898588837c65847b838b858b869086918690
+868e818b088178827974ab81961fb78b94a19eb7bef70da6ccacd1949d979fa38b08
+8f8d8d8e1f8b9b8a8d058b71897a74628d8b1e8a898b7b05898d888e1e8e069a9689
+811f8b888a8489860846fb2d49f730058a8f8a918b8e0892928f9d8e8f8d8e1eff00
+0f3334fffe3fcccc15f8d30aff026fb33404f8d40a0ef738f7c8f84315818bffffee
+cccc8efffffb33349008858a058b6f8772866dff00063334fffffd4cccff00088000
+fffffeccceff00074cccff0000e66697b7a0919e8b08d78bfb26fb6e0586838b8a8b
+8708878f88951ef759068e9e91a896affffff8e666ff0002cccdfffff8b334ff0001
+8000fffff86666ffffffb33308847a057c6a8183678b08418bf722f76605989e8b8f
+8b8d088c078e878b871e898b6f89798b08ffffd03334fffe41cccc15f8d30aff026f
+b33404f8d40a0ef738ff0181ccccff01facccc15968bff000a666887ff0007ccccff
+fff8e668ff00143334ffffef1998ff00119998ffffce999a8bffffa8e6668bffffc4
+33348962fffff6e668ffffdee666fffff1b332ffffcab334ffffe0199afffffa1999
+fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff00388000ff009fe666ff00
+27b334ff001de666ff001d33321ffffffd6668fffe83b33415bdff004c1998ff0032
+b333ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36666ff0025b334
+7aff00168000ffffe4ccccff0013ccccffffdce6668bffffbfb3348bffffc2ccccff
+ffb34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc
+999aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b0886ffff724c
+cd15f8d30aff026fb33404f8d40a0ef738f80ef91a15f8e50ad3fb7d157e8b6d827d
+840881a605ba9ca597b7a6089bfb990675967c991ea7068e8e8a871f76078b568c6a
+654f8a8b1ea0078d8f8e8e1eaf069b999aa11ff72c07ab89957f1efb6a16f8e60a0e
+f738f80ef91a15f8e50aa7fba2157f7d9698a6a7bedabdc5774c1f8b5d6a69536361
+6d736e8b6d08dc06aa8b9bb196a808a38505826d8468886e08fb62068bbbb6b5bbb1
+b8aea1a28bc108ba68987960807c7d1e8b8390838b83087b7983811efb47b015f8e7
+0a0ef738f80ef91a15f8e50af722fb7d15aa7694771e778b69818a728a7f897a748b
+0878879a8e9ca8c0e2bfac75661f8b6e75746e7bac88ba708b510846495d3b66579b
+a0959895961e998b9184918493819583ab8b089ec498d0c45592731f848b868a838a
+0889a305b791a9a58bb408fbbf167e8b6e827c840881a605ba9ca697b6a6089bfb99
+0675977c981ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8f1eae069c
+989aa11ff72c07ab89957f1e0ef738f80ef91a15f8e50af72cfb911522c107896857
+8b8b5a05788f859d1e9b068f8c88891f77078b608c7073668a8b1ea0078c8c8e8f1e
+99069d908ea01fbdfb2407879705b8cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e92949797928b08909389831ffbba9f15f8e60a0ef738f80ef91a15f8
+e50af72efc2015a888c6431e768b76857c8308868fa0f722f72d8b866a8b8afb118b
+7f3a059490a4909a8b08d8af5755505b5545694f99a3979794951f998b9284938394
+829681a18b08b89cb0b51ffbc5f73715f8e70a0ef738f80ef91a15f8e50af730fc26
+15a186c2521e7d8b7685757a08780737b274a7b793aeb01ec39015676f4a3b5a43a8
+f31e8bddc5f2f72d97087707fb017868498050999aa69ba48b08ec953c7a1ffbf6f7
+3815f8e60a0ef738f80ef91a15f8e50acafb6715708b8384805b08758e0590a792b3
+8ca6089d0686908a9b1ef74206563052fb0e6c22086906aef703c3f710a5b908fbc1
+7515f8e60a0ef738f80ef91a15f8e50af3fb53156e747d6e1f8b7b9375af77089f80
+059b95a2a68ba908a67c9d671eea5e15f8e80a2529157b8263638b69085fb47ba2b0
+a89cb41e8ba486a4639f08fba0f70815f8e60a0ef738f80ef91a15f8e50ac7fb9d15
+758f54c41e998ba191a19c089e07df64a26e5f8468661e538615afa7ccdabdd56e23
+1e8b394f24fb2e7f089f07f7029eadcd97c67c7c707b728b082b81da9c1ffb28b015
+7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068d8e8a871f76
+078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89957e1e0ef7
+38f80ef91a15f8e50af710fb56154c8a2d5653933dc1c691d8d8c17cd45b1f88fbc5
+154658dae0e8c2d4cfc5cb62fb0dfb0b495a501ffbe7f779157e7e9698a6a7bedabd
+c5774c1f8b5d69695463616d736e8b6d08db06ab8b9bb196a808a28505836d846888
+6e08fb62068bbbb6b5bbb1b8aea1a28bc108ba68987960807c7d1e8b8390838b8308
+7b7883821e0ef74aff01a18000ff00eb666615f75f078bff0023199aff0000b334ff
+0023b3348cff000799988bff0002ccccfffffe8000ff0000199c898bffffdf9998ff
+ffebe666ffffe14ccefffff1999affffcc800073ff0000e666fffff94cccff000299
+9afffffa8000ff00053332fffffc6666ff001a999aff000b199aff000d3334ff0003
+8000ff000b199a8b08ff0009b3328d7dffffec199a1fffff414ccc078bffffcf6667
+fffff03334fffffd1999ffffd7199afffffe3334fffffc8000fffffc80008bfffff3
+b333ff00038000fffffc8000ff001cb332ff00009999ff0014e666ff0000999aff00
+1fb3348bff001bcccc8bff000e6668ffffff6666ff001d3332ffffff6667ff000380
+00ff000380008bff000c4ccdfffffc8000ff0003800062ff0001ccccfffff6199aff
+0002e6678bff0030999908ffffe1e666ffff05999a15f8e90aff0296e66804f8ea0a
+fffdab199804f8eb0aff02144ccc04f8ec0a0ef74cff0122b334ff01b4cccc15ffff
+f3b334ff000b1998fffff58000ff000c4cceff0009e666ff0011999aff000a8000ff
+000ce6661e8bff0004b334fffffeccccff00038000fffffeccceff0004199afffffe
+ccccff00041998fffffc999aff000533348bff0004b33408ff000e9998ff000f3332
+ff0015199aff002ab334ff0015199aff001dccccfffff16666ffffc7ccce1e8bffff
+da999afffff28000ffffe18000ffffdd8000ffffdce66608ffffd4b334ffffd54ccc
+05ffffc6b332ffffc58000fffff6999affffe3e6678bffffdd8000088bff001de666
+ff00013333ff0012b3341eff00664ccc06ff0012b334a6fffffecccd8b1fff000799
+9aaaff0005ccccb7ff0000999aff00118000fffffc8000ff0002e667fffff88000ff
+00013332fffffa199afffffecccefffff6199affffd67fff81fffff14ccdffffeae6
+668b08ffff97e666068bff001c199aff00286666ff0027ccccff0002e666ff0002e6
+6608c6ff0038ccce05ff00214cceff00203332ff00193332ff0019999a8bff002c80
+0008ff003f3334ffffcc999aff0019b332ffffd0999affffbf199affffd7999affff
+d0199affffdce6661eff0060b332fffe3c333415f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff0180ccccff01f6666615ff00194c
+ceff00174cccfffff0b334ffffda66661f8bffffe2999affffde199affffd34ccc51
+fffff7ccce08ff0002e666ffffed4ccc05ff0009e666ff00013334ff000a999a8bff
+0007999a8b08ff00214cccff002b4ccefffff69998ffffbde668ffffb2333257ffff
+f03334ffffeb80001fffffe233328bfffffab334ff000d800084ff000a8000fffffa
+3334ff00083333fffff84ccc92fffff44ccc8b08fffff3b334fffff3b334fffff4e6
+66fffff6999affffe89999ff00313332fffff04ccdff0023199aff0045999ac9b8ff
+004d33331f8bff003fccce5bff0016ccccffffdd8000ff0005cccc08ffffff6666ff
+0001333405ff00303334ff0016999aff000d8000ff001866668bff001ecccc8bff00
+11999afffffbccccff000e4ccefffff1ccccff000e6666fffff33334ff000ce666ff
+ffebb334ff0009ccccffffe166668b0835ffffe76666ffffc7e668ffffecb332ffff
+f7ccceff0005e666fffff44ccc99ff00148000ff00024cceff00134cccff000b199a
+ff00256666ff00286666ff0007199aff000f33321fff0002999afffdfa999815f8e9
+0aff0296e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff0190
+8000ff01cc999a15ffff578000ffff904ccc07a9ff0030199aff00296668ff00414c
+ccff00284cccff0037199a08e8ffff57800015ffffcf8000ff00aacccc068bff001d
+3334ff00003334ff0016fffe8cff0004999c08fffffeccccff00011998ffffed4ccc
+8b05fffffbe6688bfffffce666fffffc3334fffffdccccfffffd6668ffffdb199aff
+ffd2b332ffffbbe666ffff9fccccffffca8000ffffac4cceff0001cccefffff73332
+ff00036666fffff03334ff0011999a8b08ff00774cccffffca3333068bffffe5199a
+ffffe9e6668bffffe6cccefffffe3334fffffc8000fffffc80008bfffff3b333ff00
+038000fffffc8000ff0012b332ff00009999ff00176666ff0000999aff001ae6688b
+a28ba1ffffff6666ff0012b332ffffff6667ff00038000ff000380008bff000c4ccd
+fffffc8000ff00038000ffffe34cceff00024cccfffff3ccccfffffee6678bff001b
+800008ff0035cccdff0028666607ff00083334ff0008b332ff000b333292ff0005e6
+68fffffd999aff00036666fffff9999a1fffff95e666fffecce66615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef74aff01c0999aff01
+13999a15ffffc86666ffffe2cccc62ffffdce6661effffe9ccce8bfffff86666ff00
+0eb333fffff73334ff000bb333fffff86666ff0009e66781ff0008cccdfffff3b332
+8b08fffff4e668fffff4e66681fffff44ccc73ff0031ccccffffec3334ff00214cce
+ff00488000ff00338000ff0035ccccff0049b334ff0038b332ffffd8ccccff0032e6
+68ffffbe80001fffffe6cccc8bffffea4ccefffffaccccfffff58000fffffbe66608
+ff000bb332ff0061b33405ff0015999afffffdb332ff0012ccce88ff001c19988bff
+001180008bff0013e668ff00013334a3ff00024ccc08ff00096666ff0027ccccffff
+fbe666ff00024cd005ffffdeb334fffffc8000ffffe04cccfffffd19986c8bffffea
+66668bffffeae666ff00011998ffffeb8000ff0001ccd008ffffec3334ffff577ffe
+05aaff000bb334ff00163334ff00026666ff001519988b08b1ff001dccceffffe6e6
+66ffffc033341fffffc2ccccfffedd666615f8e90aff0296e66804f8ea0afffdab19
+9804f8eb0aff02144ccc04f8ec0a0ef74aff0143199aff0156999a15ff00133332ff
+000c999a9eff0000ccccff000a33348b08ff00394cccff000ce668ffffc7ccccffff
+e2ccceffffbfb333ffffe78000ffffe2b333ffffe34cccffffdb199affffdeb3329f
+ef1f8bff000d3334ff00016668ff000f9998ff00036666ff0010ccce08ff00054ccc
+ff00154ccc15ff000fccceff00353334ff00254cccc6ff004dccccff001d199a8b92
+fffffdb334ff00054cccfffffb4cccff0002e668ffffc4e668ffffee7ffeffffdbb3
+32ffffe76666ffffdf333465ffffdbb332ffffd5e668ffffede668ffffcab3328bff
+ffd1ccce08ffff893332ff00436666ffffe8b334b8ff004c999aff001f9998ff004a
+4cccff00324cceff00324cccffffe5199ab8ffffb066661efffff0ccce8bffffe933
+32fffffb6666ffffee999a8308c6fffe85199a15f8e90aff0296e66804f8ea0afffd
+ab199804f8eb0aff02144ccc04f8ec0a0ef74aff01708000f87315ff0068b33406ff
+ffd26666ffff8e8000ffffd1b332ffff8de666ffffd83334ffffa7199a08ff0004b3
+34fffffbe666ff0027ccccff0001cccd05ff00214cccff00636666ff00203334ff00
+61199aff00418000ff009fb33408fffff6b3349205fffff61998fffffd19987effff
+fc8000ffffe9ccce8b08ffff87800006ffffec199a8bff00013332ff0005e668ffff
+f58000ff00024cccfffffe33348bffffff66668b8bfffffe3334ffffff6666ffffe3
+e664fffff9999affffdce668fffffb4cccffffe19998ff00066668fffffe333491ff
+ffff4cccff00066666ff0000ccceff000ce666ff002eccccff00134cccff0004199a
+ff0012b3348b08ff0012e666fc8215f8e90aff0296e66804f8ea0afffdab199804f8
+eb0aff02144ccc04f8ec0a0ef74af818f87e15af9e6e711f8b6d68717c80087a9505
+68a2839f8b9c08a5a0a5ad1ee45415b36ba855526569611e8b6b9b76ad7408948505
+7d8080827c7f757782728b750852b36cc6d3adc1b61e8bab7da46e9e086aa205a39b
+b3a78baf082efb98157163a1bd1f8b9b96b2baab08a57b05af769a718b7108535f7d
+721eff00036666fb5215f8e90aff0296e66804f8ea0afffdab199804f8eb0aff0214
+4ccc04f8ec0a0ef74aff01db8000ff0151cccc15ffffecccccfffff36668ffffece6
+68ffffff3332fffff5cccc8b08ffffc6b334fffff31998ff00383334ff001d3332ff
+00404cceff00188000ff001d4cccff001cb334ff0024e666ff00214cceffffec199a
+271f8bfffff2ccccfffffeb332fffff04ccefffffc999affffef333208fffffa999a
+ffffeaccce15fffff03332ffffcaccccffffdaccceffffc4e667ffffb23332ffffe2
+e6668b84ff00024ccefffffab333ff0004b332fffffd199aff003b199aff00118000
+ff00243334ff0018999aff0020ccccb1ff00244cceff002a199aff00121998ff0035
+4ccc8bff002e333408ff0076ccccffffbcb334ff00174ccc5effffb36666ffffe04c
+ceffffb5b334ffffcdb334ffffcdb332ff001ae6665eff004f999a1eff000f33328b
+ff0016b334ff0004b334ff001180009308ffffad4cccfffeb4666615f8e90aff0296
+e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef754ff014a8000ff00
+eb666615f75f078bff0023199aff0000b334ff0023b3348cff000799988bff0002cc
+ccfffffe8000ff0000199c898bffffdf9998ffffebe666ffffe14ccefffff1999aff
+ffcc800073ff0000e666fffff94cccff0002999afffffa8000ff00053333fffffc66
+66ff001a9999ff000b199aff000d3334ff00038000ff000b199a8b08ff0009b3328d
+7dffffec199a1fffff414ccc078bffffcf6667fffff03334fffffd1999ffffd71999
+fffffe3334fffffc8000fffffc80008bfffff3b333ff00038000fffffc8000ff001c
+b333ff00009999ff0014e666ff0000999aff001fb3348bff001bcccc8bff000e6668
+ffffff6666ff001d3332ffffff6667ff00038000ff000380008bff000c4ccdfffffc
+8000ff0003800062ff0001ccccfffff6199aff0002e6678bff0030999908ff00a333
+34f7a215ff0009e6668bff00096666fffffc666692fffff9999aff00121998fffff0
+ccceff000fe668ffffd399988bffffb1999a8bffffca3334fffffe3334ffffdb199a
+fffff7ccccffffe23332fffff319985bffffe36668fffffab334fffff580008b08ff
+ffc9999afffffa199aff0064199aff0032e666ff008fe666ff0023b332ff001ae666
+ff001a4cce1ffffffdb332fffea9cccc15ff002d0002ffffffffffff00448000ff00
+2d999a8bff00897fff8bff0039e668fffff1e664ff0031b332ffffe64cccff0021e6
+66fffff0b334ff00144cceffffe78000ff0011b332ffffe066688bffffc619988b54
+468bffff8c33348bffffc1b334ff00133334ffffc4e666abffffe01999ff0010999a
+ffffef6667ff00143332fffff81999ff0016999a8b0823ffff4dcccd15f8e90aff02
+96e66804f8ea0afffdab199804f8eb0aff02144ccc04f8ec0a0ef738f80ef91a15f8
+e50afb56044c892d5653943dc1c691d8d8c17cd45b1f88fbc6154559dae0e9c1d3d0
+c5cb63fb0dfb0b4959501f0e78d4f84215fc42f842f842070e78f704f82015f7f4fb
+fefbf40664f82015fc42f842f842070e55f886af15fb78f81efb76fc1e050e55f859
+c915fc008bf74af7cf05f777fbe815fb77f81dfb77fc1d050e36d48215f81ef778fc
+1ef776050e36eeaf158bf800f7cffb4a05fbe8fb7715f81df777fc1df777050e55b7
+f84115f778fc1ef776f81e050e55e4f82915f8008bfb4afbcf05fb77f7e815f777fc
+1df777f81d050e36f84af85315fc1efb78f81efb76050e36f830f826158bfc00fbcf
+f74a05f7e8f77715fc1dfb77f81dfb77050ed2ff001c999aff00d6b33315f8ed0a0e
+d2ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199c
+ffff07199905fffecc6666ff00fc7fff15f8ed0a0e6cf746f7701553b95dc3c4b9b9
+c3c45db952535d5d521ef3fb7f15f8ee0af84d04f8ef0a0ed3f711f76415f75cf79e
+f75bfb9efb5bfb9d05fb97f79d15f797fbedf796f7edfb96f7ee050e6c7ca5f833a5
+01bca5f833a503f7ae7c15f8ee0af84d04f8ef0a0e6cf7ae7c15f8ee0af85804f70d
+ec2afb0dfb0d292afb0cfb0d2aedf70cf70cecedf70d1ffc2b04f4e1e0f5f433da24
+24343c2222e035f41ff7ff04ebda3d2b2a3c3d2b2a3edaebebd9d9eb1f0e6cf7ae7c
+15f8ee0a0e6cf7ae7c15f8ee0aa504f83307f707e82ffb07fb072d2efb061f0e6cf7
+aef85915fb152222fb15fb15f423f715f715f3f3f715f71523f4fb151f7104fc3307
+fb072ee7f707f707e9e8f7061f0e6cbbf77615fb15f422f715f715f3f4f715f71523
+f3fb15fb152223fb151ea516f83306fb072f2efb07fb072ee9f7061e0e6cf898f768
+15f71522f4fb15fb152322fb15fb15f323f715f715f4f3f7151e7116fc3306f707e7
+e8f707f707e82dfb061e0e6cf7ae7c15f8ee0af84d04fb63f76407fb072d2efb06fb
+072fe8f707f706e7e8f7071e0e6cf7ae7c15f8ee0aa504fb072fe8f7071fccf7228a
+8b1ff76407f707e82ffb07fb072d2efb061f0efb84f7ae7c15f86707fb152323fb15
+fb15f322f7151f0efb84d4f85915fc6707f715f3f3f715f71523f4fb151f0efb88f4
+aaf755a901bca9f755a903bcf77e1543c452d0d9bccbc9d34fc3484a4e53461ea916
+bfbab6bcbeb960545c655b50575fb6c21e0e9af756f7561543fb5cf746f710f73efb
+0f4af758f73bf708fb618b4cf75545fb55fb578b050eeccdbdf70eedf70ebd01f711
+bdf70eedf70ebd0314fcf711f7b315fb06e420f71af709f1ecf710f70038f705fb1d
+fb142d25fb0b1ef771f73f15f8f00a5afb3f1570a175a6a6a1a1a6a675a170707575
+701e0ef893f9d2f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff44cccff
+fffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08bac8ba8
+7b8d818b828b8189838808ff000cb334a2928dff00204ccc8b9473ba868b3b08fbea
+f70815c85fb170c18b9d8b9b8f9790848185808b7b8b56a559957affffb8e6688bff
+ffe81998ff005180008bff002580008b908c918c8f087b7b576a6e8b848b82918193
+9389948a948b089f919398a278917f1f688bffffeae666ff00094ccdffffd9199aff
+001db3337a98fffff2800097fffff9800091988ea3a59c9f088bbab6ab9a9d91a297
+8595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b908b9108cab19bb61e
+9589057c7075608b5c8b7b927e93817a93788d828b578b65724e5c08f7afc6158bac
+60a08bb38b9e929f929eff001eb334fffff6999aff00361998ffffe480008bffffc3
+999a8bffffc64cccffffd0199cffffe38000fffffb1998fffff28000ffffdd80008b
+fffffc8000ff000080007cff0011800092899389928b08979b8da81ffccf52159a99
+9d92a28ba08b9d839e7d7a7b7680748b798b78967b9c08f7d5fb8c159968af4a9b74
+b451b66fb6718dc1a1ada7a79898ff0029b334ff0017b333ff00234cccff000d4ccd
+d9ff001d4ccdc6ff0016b3338bf7038bcb5dbe60a908b385f71f5e8baf52a1c3a08b
+aefb1e6362868a8b059d98979492939d9cb1ff002580008bff003e80008bff005699
+9affffbab334ff0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff00
+0fcccc73ff000ecccc67a05ed287b543524f3f64360875ff0009800064ff000d8000
+618b328bffffa36666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605
+ff0028199affffda199aff0059e666ffffcee666e28bae8bb4989b9208f709f7ac15
+b2a17185827570661f678b729771a1a69f9e99b28b08bff77715969d91a41f920792
+838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b334828b3c
+8b7b5987747a95728e798b788b76827d7f086f8a058c918b8f8b90089d7f8f818073
+846e1e8b7f918392878f88968b998b08a106fffff48000ffffe73334ffffee8000ff
+ffddcccc83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e
+8b878b888a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba0
+8ba85e8f8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006d
+ffffff8000ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6
+cccd71a572ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff0037
+3334ffffe63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e
+8baa8b9d7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000
+ff0001333487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8
+199affffff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000cc
+ccff00063333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd
+087b06747788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff
+0004b333ffffffe666ff0004b333ffffff3334ff0004cccd08a58a05967f99829b8b
+a98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf99
+9ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a578
+918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccffff
+f0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333ff
+001f4cccff00364ccd977eaa7d948b08a1989fa6997f9f741f7b8bff0005b3347aff
+fff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08a106c176db5f8b
+3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3e666ffffd9e668
+fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffffdab334b1fffff2
+4ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366808d7a488b3e8b
+ffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72ff72e05ff004cb3
+34ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2caf2c4ba9cffffdb
+80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff0025199cfffff1
+9998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999affffd2ccccffff
+cc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a91ff001e80008b
+fffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e7f7c9f6ba75997
+8e958c938b948bc06596708b6f8bfffff24cccffffefb334fffff7b334fffff24ccc
+08a58d05fffffeb334fffffb4cccffffff4cccfffffcb3348b87087e937c9e1e0ef8
+26d7dd15839384969594929393829281808384831ef8d2f76f15f7199ef7526d8bc5
+8bb4fb298f27903290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d9888e4849a84d75ec183a48bc08bcd93c1a3a193969a8b9e088ba1
+7a858596a49397988b9f8ba1719f8b8baa9b999c8b9f8b9c7d9d669f08fc952b15a9
+9cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb2e808b82f7
+1291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7df72782908b059a8b9590929788
+8a868b858b086875bdef1f0ef7bff755f7eb1587b0fb39848bfbe4f73d9994bc05d6
+8b8f49f71d8b908b988b9f8d8b8a8d8b908c98789e82a68bc88bd5a88bbd8b9c8399
+7a950892968e968b968ba0809a74958f948e938b918b9785977f9708c906eaf7088d
+c4d2fb4292fb141ffb0d067596788f7a8b428b6240398b08fb208d15f706918bfb99
+fb068205f855f729155f8b34d58492088381bb550570716f7e6e8b7a8b73906e9408
+8107a576a382a18b978b998d9d8f8b639c78b18b088f06888389848b888b72977ea5
+8908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f776786821ff7
+05421563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f33fb0f
+157174959c1f8b9aad85cba4a29498908b8b089891837c7052725c1ff7cbf7b81568
+fb018a421e768b678c588e79a372a66ca9ab8cb78ca58b08f737ee796a1ffc272915
+9e8ba5739f8baf8ba9998ba88b908a9089909c8094828b810865fb0e6561737e96a3
+9ca49fa11e0e82f7d2f8f0159b929e909a8b08c3c783fb062a5d793c1f788b808d80
+8d08fb173e1590908e8e1f8b99878d3189498d88898b7d05889388951e8c06908b9d
+7da77608f71ffb0405ff00016666ffffff199a8c8aff0000999affffff333308ffff
+fae66607ffffff8000ffffff6666ffffff4ccdffffff3333ffffff3333ffffff3333
+08fb0e2f056b74797e848b0889067f8489861f8b7e8f8a058bae8ca0a3b18a8b1e8c
+8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08dbff003d4ccd8bffffcbb3
+330572807d721e8806878888871f8b7a8d89058bbc8dacaeb1898b1e8d8d8b9c058f
+878e881e8706778197a61f8bff0028e666c2ffffd7199a05aa7192858b8808858989
+821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e8e8c8b990590858c7d1e8a
+06868b8a8d5fad08fb1ff6058a8c8a8d8b8c8b8e8c8f8f8d08f711e905b1a696939c
+8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d05878f8991918f
+88861e8b868985767b082f4605fffffc199afffffd3333fffffcccccfffffd999aff
+fffd199afffffe333308f7370797869587a38b08f727b5e0d7c06edffb291f768b6b
+8a5c88608956887e8b087907898c87911e8f8ba08d938b089ba385691f8bfffea7e6
+6659ff0028199a057b9985928b8f08908c8f971e0ebbf7d67b15f73ff70df717f734
+f73dfb17f711fb35fb32fb1bfb10fb3efb33f70ffb18f73e1ff71bf730155a32a7f7
+01ea41b54e1fffffb3199a8bffffd79999ffffce6666fffff44ccdffffa6999a088a
+0694f734f2f701f7308b08f727f70dfb06fb2b3e584d391f66f71f15769d799fa09e
+9da0a0789c7677797a761efba68715a09c9ca0a09d7a7676797976767a9da01e0e6c
+f7ae8315f70feeeef70f1f8bff00653334ffffbbccccff00561998ffffa2999aff00
+1a6668ff0013999aff00189998ff003a199aafff0020e666ff0012b334088b76a47f
+1e8a06ffffef4cccffffff1998ffffc1ccceffffc6ccceffffe23332ffffd84cceff
+fffb999aff00009998fffffb8000ff00006668fffffb8000ff00004ccc08ffffe919
+9aff007980007175ff0013b334ffff9c80008a8b05ffffeeffffff003a6666ffffdd
+999aff002f999affffccb333ff0025800008648605ff0031333360ff002b999affff
+d2999aff00136666ffffc9ccccffff9b6667ffffeb199affffb46666ffffa633348b
+ffff954ccc08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8f30a5728
+156c8b66688389088d8605ff000d800090ff0015199aff0001e666ff0010ccccff00
+00b33408ff0001999affffd66666057a987e9f1ea18b95998c9f08ff00016666ff00
+1c333305ff00093334fffffe1999ff0008b332fffffeb333ff0008b3348b938b978f
+929508879205818c818e888b7c8b729c798f868c868b868b089162158f8a90608189
+050e6cf7ae8315f70feeeef70f1f8bff00668000ffffba199ae2ffffa0b332ff0019
+3334ff0012e668ff00378000ff002c4cccff002e1998beff002bb33408639005ffff
+cc6666ffffda3334ffffdd6666ffffd01998ffffef199a50ffffffb3348bffffffb3
+32ff0000199affffffb3348b089fff0064999a71a1ffffe93334fb0d05fffffb3332
+8bfffffb3334ffffffb334fffffb3332ffffffb332ffffe1e667ff0027999affffc2
+cccdff00381998ffffef8000ff0000e668088a068076728b1fff001ee66679ff0037
+199affffddccccff00156666ffffe78000ffff9de667ffffe93334ffffb6b333ffff
+a766668bffff97199a08fb0eed27f70f1ef83304f8f10a2cfb0c15f8f20af71b16f8
+f30a5efb2a15618b78a479ab08767f05ff0010b333ffffe36666ff0013e667ffffe4
+999aff002219998108ff00014ccd6a0579987e9f1ea18b95998c9f08ff0001b334ff
+0020333305ff0026e666ff000cffffff0014b332ff001de667ff0007b334ff000de6
+66087798056e5e6685768b08fffffee6667215ff0001199a8bff0003999a8bff0004
+6666648189050e6cf7a8f702158a64958d86af0588a715a08bb091a8b8089f7e0583
+7d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba808a09705
+9d6b9e72b58b0890fb2515f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005
+5865685b7a50088a8b9ff071a174fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e28f7bb15999697999a977f
+7d7d7f7f7c7d8097991ef721169997979999977f7d7d7f7f7d7d7f97991e0eedf7e7
+f85e15f8f00a9ffc6b15db07b88fb59daca708c552a7a752c505a7ab9db490b908db
+b23b0687b77bb76eae08c3c36ea75454056ba7629e5a8f08d9633d075b8761796a6f
+0854c2706ec0550570697960875d083c62da06905f9d61a669085353a86fc4c205ab
+70b47aba86083b070e33f70a5f15f712c9e3f58bf72d8bf72337f70525c508f710f7
+31fb23fb3ffb34fb11fb35fb4c1f31f92315f7106bf716fb1e8bfb398bfb41fb1efb
+18fb106da380a585bd8b08f761f72df73df748f751fb1af736fb6b1f728b57847385
+080e33f819f8e415fb124d33218bfb2d8bfb23dffb05f15108fb10fb31f723f73ff7
+34f711f735f74c1fe5fd2315fb10abfb16f71e8bf7398bf741f71ef718f710a97396
+7191598b08fb61fb2dfb3dfb48fb51f71afb36f76b1fa48bbf92a391080e655db9f7
+00bdf7eabdf7327612c5bd6fbdf70ebff711bd6ebd13fa80f7abf88815edd43c302e
+433c282843dae81fe8d6d8eb1e6dfc19158dfb03218b8b5df68b8dfb0fba8b8ef70f
+f68b8bb9218b8ef70305f7099bd6ed8bf48bd95fdc3fb10813f700ceb1abdc8bbd08
+5906595c2c24344ddacd1e59068b60a535d4630813fa8041665c3f8b378b2ccc21f7
+1279080e655eb9f702baf7eabd01c5bdf723c1f725bd03f78df703158dfb02218b8b
+5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf408f70038f704
+fb1dfb152e26fb0b1e8b2ccc21f7127908a9f81915edd43c302e433c282843dae8e8
+d6d8eb1f0e6575bdf7eabaf702b9f70e7701c3bdf725c1f723bd03f7c7f8351589f7
+02f58b8bb9208b89f70e5c8b88fb0e208b8b5df58b88fb0205fb097b40298b2208fb
+00defb04f71df715e8f0f70b1e8bea4af5fb129d086dfc19152942dae6e8d3daeeee
+d33c2e2e403e2b1f0ed375b9f7ebbc01c5bdf7eabd03f7abf80315f8f40af771fb40
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb0e
+fb0eee2cf70cf70df1edf70b1f0ebde0ba65b9f817b412bcd4f737d0f706d213bcf7
+51f8a315ccaafb0f3d1f8b376c4551737a846382768b088a06837c83831f7607868e
+868c1e137cf80094058f8d89891f8bfb519679c7aa8bf74ac88d058f8e8d928b948b
+948895868e08508c8bf835758d5a808bfc2605888988871efb5706b4a9b9df8be908
+f457f707232f525950739b7ba3a8959f981e8b928a93898e8a8f89908b9708a9a191
+b81e0e36f7e5baecba01f70ed2f714ce9bcf03f70ef8f615395007807e7e7b829082
+951fcffc78069679c6aa8bf79105abb9b5a7ca8bad8bb4648b5d8b5a784e79667b69
+6d4c8b5a8b569f68b06a08cb839396055eb17aa88bbe8bb799cb9eafa0b2a9cd8bbb
+8be047b6458b598b4b69706708f73bde079899a197938790801f2ce606748c050ea1
+30abf735a7f73fbaf747a901f3d1aebf9ad19fbea5d103f7998c15a4a0a7abad9d6e
+73667374706c74a2b01efb31f87615fbc9076f7e7b621e8806868888861f8b798d89
+058bd08daf1ea7f759f1fb6f0665816e708b5c0852c36bbabcc3a9c81e8bb56ca763
+9608f770ecfb5907a78c05afd0888b1f8d8d8b9e0590888e861e8806627e9ba71ff7
+c807a8989ab41e8e06908e8e911f8b9e898d058b4588681e6f8c8bfb632a8b8bf742
+789a6b8b787c8bfb42258b8bf7636f8a0568458e8b1f89898b7805858e88901e8e06
+b4987c6e1f0ef76b5db9d6baf8a17712f70dcef74ad64ac0f754ce13f6f8455d15f6
+b921068cd605f74b9dd5f71d8bf7458ba09193938b978b9c79967d08ae8efb2cf743
+058a8a898b8a8b08fb42078bfb2a60fb0ffb267f0813fa94f81205a48e97931e938b
+997da07108ae8efb11f723fb16fb23ac8805a0a59a99948b0893907f721f92fc1205
+fb299663f7078bf72f08f745078a838b8b1efb2bfb44ac8805999b9d9b978b948b91
+838b768bfb4bd5fb13f74b79088b8a8c41218b8b5d0513f6f68b8dfb0fbb8b050e27
+4bbbf7b6bcf70377f718bc01bcd2ddd2e6d403f7a5f7a115e98ed1d38bf208ed3ebd
+251efb65838bfcdfa47db9a08bf79fdd888bfbe3f7849094af8798fb428505e6f862
+158b4d66535582088bf703778f587a8b2a398e8bf76bf7189305b8ce733f1f0ef7bd
+f8cdbf01b2d6f7bbd6f7bad603f82dfb0d159779caaa05f7c8def80af718bbaa6046
+1e8b617e5e6f5908bf82a29405a6bd99ba8bb78be24bd0398bfb448b50fbbf76fb3e
+08810671f77045f78cfb2e8b3d8b414a8b2f8b60995da65908c183a193056fb97db8
+8bb608ccabb8baf719defc08fbd21e0ef755fb04c4f802baf767ba01f72cc3f808c3
+03f81e5415203cdeeef5e0d9f0f5db3925283c38201f20f8221542634d438b2408fb
+15f703fb03f717f719f701f704f7141e8bf24dd342b3c0a1a3a5aecb08a1b305a7bc
+aaa4ae8b0895ba6f065a8b5f646345086b560577677572757d747d6e84678b678b6e
+927499759976a476af086cc00563d15eb25a8b086f5c9506ae8baa72a75a08a16305
+b244a476bb77080ef70f65ba82baf86ab97fbb12f74ed5f75ad6138cf74eb0156085
+5e825a7e085c07134ceba4f398f7028b08139cf7038bf27eeb7208ba075a985e9461
+9108f87907b891b996b89708bb07132c3773247ffb0f8b08139cfb0e8b239737a308
+5b07b97fb881b98608d5fc7615f87207136ca789ac8ab18bb28bac8ca68d08fc7207
+6e8e6a8d668b678b6a896d88080ef785a8c3f724b3e0b4e576d4c301bcbbf767baf7
+12bbf767bb03f75ef7a115525bb8c9c5b7b9c7c4bd5e4f525e5a4e1f8f6315e0cbd3
+dd1f8bb775b841afb99ec695d38bf38bf70073f7045a089dad8d9e05fb03bd20a527
+8bfb078b2a773f613e615b618b490834d74adc1ef841f71115c4bb5d4e4c5a61544e
+5dbcc3c4b8bdc81f8cb41538434d371f8b42bc65bb735d785181428b228bfb00a4fb
+03bc08786a8c7605f70359f471ef8bf7088beba0d7b5d8b4bbbd8bcd08df45c9391e
+0ef716fb39c2ecbdf767bcf7a2ba01b2bde8d5b2c9c1d4f701d203f753f78c15c9b5
+5b514f5d5e52525db7c9c6b9b9c31ff7b9fbac158bc6a5c9cad2c4ccaddb8bee08ed
+34f704fb38fb09fb063afb041e8b639667b3577a8f828b7b8b083747463630d24adf
+e2d7d7dd1f8bb07daf6ab35fc181b98bd308dcd5c3e3e9dc342d1e8b29765b595555
+4f523c8b308b46c157d88bb58bb8a7bac508759e0561646f80628b6b8b70a78bbd08
+0ef73dfb04ac01dfd6f707d6f707d6f0d703f8af9a15f773079dc5a4b9a7ad9f6195
+608b5d8b255a3f575708fb528915f7db079ed9abc8b3b59b6f93618b5308fbeb078b
+728d738f7369756076597c08946a05bd93b799ae9fa154ad61be6e089c990563b87b
+ab87cad6c7ebee8bf7188bcf77cc63c908487a057a7379697c6008f700078bbe69ba
+6db5085480056a6571637f6284c169b772ab086a9275790572707266785c83b97db0
+76a70874895f7c05a261975d8b5a088bfc2d9779caaa8bf7e9059fcdaac3b3b89b70
+935b8b45088bfc0c9679050ef722c4c0f70ac1f77bbc01f749cbf78dcb03cdf77815
+f77e8b91bd055fa47ab08bb708d0c4c7cfcec44f461e8b5f7a625e76088659f77d8b
+059899a497938794801ffb3c06aaaaa2ae8bb208ee34d7282532392c1e8b64a26aa9
+6c08fb32067f7e767b829183941ffb3f04f8e5069899a496948793801ffce7067f7e
+767c829183941f0edefb3c9c01dad6f705d5f705d6de9a03b7f8b615a265975b8b51
+088bfc269679cbaa8bf7e8059dcea8c4b4b89b71945b8b46088bfc0f9679caaa8bf7
+db059cd5a8c7b5bb9c7393628b5108fbd5078b39a557b26608af670592858d868b87
+8b858289808b888b878b878c087b7af70a8483f70c7c7b8b82057f897f831e888b86
+8d85910872a40570a584b58bdc08f7f3078bc37cbc6cb408427f056b6574657d6384
+c27bb671a908437f05716e74667a5f83b47db075ab087489050ebe9376f889b701f8
+afb903f8e1f8b1156c856a886c8b588b5c92699608836105af7eb384b08b978b978c
+968c08fb90fb8dfb0bf70c6363f70bfb0bfb44fb43b263f745f743f70bfb0db3b3fb
+0bf70cf78ff78e058a828a818b808b66935f9d6408b595057eb382b78bba8ba98fa9
+91ab080ef776fb05bacdb5f75fba01f74fc3f870d603f963f721154f6764651e618b
+589262b8abe1b3ccc38b08bda959551ffbfaf814159c67914398259efb2b918ba65c
+57fb2b7a6b278b08725cbf06c08bd88dcbf73ab362be7dc18b08d8d2c8dfdf58ca37
+1f4b8b3855674572e88ef75f58f70608417c055950683e752c7de17bca78af7ca65e
+9d5e8c08827505b27a9684a25f9c6bb1fb2c8bfb0e089a7fb497058bf748d6f714b6
+bd080ef77fcdf80d15a55cf712f1058e8d8c8c8d8b8d8b8d8a8d8708cf2c058d898c
+8a8d8b8c8b8d8b8d8d08f70aed058e8d8d8c8d8b8e8b8d898d8608ce2e058d898c8a
+8d8b8c8b8d8b8d8d08f709eb058e8e8f8d8d8b8d8b8c898e8708d328b7a62ef72905
+8790898d898b898b8789878708fb0c2943ee05888f898d898b888b8989878808fb0e
+2742ef05898f898c898b888b8989888908fb3ffc3d15a55cf712f1058d8d8d8c8d8b
+8d8b8c898d8808d02c058d888c8a8d8b8c8b8c8c8e8d08f70aec058e8e8d8c8d8b8e
+8b8c888d8708cf2e058d898c898d8b8c8b8c8c8e8d08f709ea058e8e8f8e8c8b8e8b
+8c898e8708d328b7a62df729058890898d898b888b8889868708fb0c2944ee05878f
+8a8d888b898b8989878808fb0e2742ef05898e898d888b898b89898789080ebdf7a3
+b901f752d6f708d603f8887d15b384b4920538e261e98bf308f70cb9fb0c0690e5b4
+e1dae0086291668505443e6236812808fb080680ee63e044d808608e698805d936b4
+35903108fb0c5df70c068b23612d3934089a86cc9005dae5b3f7018be108f708068b
+fb05c821c549080ef713f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb
+0ff70b4dd432f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b96
+8b9c7a8b5e8b557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef74af8
+41f71015be9292961eb08baa30f28b08d9bac1d8b37bf4fb061f4a8b51586d8b818b
+82938b958bacf7039b8bf308c85ac624fb046149551e8b24f7027d8b668b7d818883
+8b698b57bd498b08227130563dbd55d61ff28baae6b08b9a8b8d768b668b57836164
+830876f72fa00769937ebf8bb6080ef716f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff7
+1ffb298b518b346b8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706
+f70c8bf7108bf7043bb0488b080ebdf7daf900152ffb0c2a22242ef70125ed21e0fb
+03e4f706eaf5f0eefb06ed32f70139f703080efb5781f75101f7c7f94e1589fcd505
+ffffffcccc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e6
+66ff004d8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000
+ff00148000fffff680000888f8a0050e4e81f751f6a0f81b7701f79fb3f724c403b7
+bf1564af74cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cc
+cca67eaf79baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8b
+c38bff00314ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f69
+8b0859345a3d1f0ef77ffb67f75197f751f89b7701f7a2aef804ae03f932f824158e
+fc4805ffffeb8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa8
+8000ffffce8000ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe7
+8bff0044cccccdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00
+098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb2
+8000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff0000
+4ccccc088df869050ef77bfb67f75197f751f89b7701f79fb3f802b003f7c7ff021b
+1998158bff0048e668f802fb538bffffb666660588ffffd5999a158efbe905ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fc27f76163828efca005ffffeb8000ff00098000ffffdd
+8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd919
+9aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df8
+0a050e2cf7afbd01f713aef71dd203f736f76915aec1ab9ba78ba48b9c708b718bff
+ffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f71eafe3ff
+0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060efb2fff01cf999a77
+01f70daef70bae03f7a7ff011ab33415fb0bffffd3e6668bff00624cccf70bff002b
+666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8bff
+0185999afb2effffbf4ccc8bff0095199a050efb2ff8ec7701f70caef701ae03f79c
+f8ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4d
+c1ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b
+8bff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ff
+ffe980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffe
+c3199a15fb01ffffd366668bff00654cccf701b7050efb14f75f9a1589ab055b8c75
+998ba408b3ca8fb0c1e89ed11e8bd75297508f088a5e05b28aa5858b6c0859518b61
+5e27873063aa66b71e978b9c8e9d900887f73f15998ba08c9e8b088ef76705748a75
+87758608fb110489b8057c876f86888b086f7d98a4c3f71599b21fbf8b8f80ad8b99
+8b978d989208858e91899388998189949090878b828b828c828d8a8a8191a387058d
+8d8d8d8b908b957797808e7d8e8e9d778b778b54845c884e87fb0d718b348b679c5b
+ce8b089c8ba18da49108d0f762158c938c9f8b9f08b683a269707f6e741e8b81905b
+8d80a28fa48ea38b0887fcd015798480868187088c62057e918397969596a01e8d07
+77b815d1a3baad8bb38bb368a06b8b848b7f898388088a6a05928d958f948b928ba4
+898b738b6e527073827783747c7679787a73848b848b879089918b08958b9b8f928f
+a6989798a4930876ae15b19b8bf7445a8805f71ff7dd158d8d8d8d8e8d8989888989
+8889898d8e1e0efb50f760f84415aca47563646b74716d6fa8acaca6a8aa1f80fbb8
+1575da63d32b8c878b878888858b5eb76d9580c548c39c8cfb26087c92868f928e91
+991e8ef729b778d0caaba9a0a68bab8793868d8a8b428a54456c3908f71e07b790b3
+ad8bc108c35db15b556260581e8b57b065ba88080ef7865eb9f702baf7eabd01c5bd
+f723c1a1bdd4bd9fc1f725bd03f78df703158dfb02218b8b5df68b8dfb0eba8b8ef7
+0ef68b8bb9218b8ef70205ff0028999aff00058000ff00238000ff000f8000ff001d
+199aff0016199aff001c3332ffffea6666aefffff06666ff0029999afffffa199a08
+8dfb02218b8b5df68b8dfb0eba8b8ef70ef68b8bb9218b8ef70205f7099bd6ed8bf4
+8bf70038f704fb1d8bffffcbcccc8bffffd1999affffef8000ffffdb6666ffffe466
+66ffffdcb334ff001b199affffd2e6669cffffca999a8bfb158b2e268bfb0b8b2ccc
+21f7127908a9f81915ff0024e6668bff00216666fffff4ccccff001b3334ffffed33
+34ffffe0999affffd9999affffede6665a8bffffcb66668bffffcf4cccff0011199a
+ffffcc6667ff0021999affffd6e667ffffe4b332ffffecccccffffde3334fffff499
+9affffda66668b082843dae8e8d6d8eb1fff00aa3334fffec8b33415ff00208000ff
+00276666ff00124cccff0032199a8bff0033cccc8bff00318000ffffee999aff0032
+6666ffffdfe666b3ff001b80009eff00216666ff000b199aff0024999a8b08edd43c
+302e433c281fffffda4ccc8bffffde4cceff000b6666ffffe4999aff00134ccd08ff
+ffdc4cccff00f6800115ff0017199affffe2b332ff000d6666ffffdb199a8b648bff
+ffd7e666fffff2999affffda999affffe8e666ffffe24ccdffffe8e666ff001db333
+fffff2999aff002566668bff0028199a8bff00278000ff000d999aff0024999aff00
+16e666ff001d199a080ef7ddfb38b9ebb9f75dbce8bcf723adf37701c5bdf73ebdf7
+0ebdf73ebd03f964c0158be561cf47ae08f701f76c05944e9466a74f08b7870569e9
+7ebf7fee08769505ffffc39998ffffdaccccffffd5b334ffffeab33459ffffedb334
+ffffe73334ff0048ccccfffff4e668ff00326668fffff59998ff0055999808769505
+305359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b08fb152e28fb
+0efb0eee2cf70c1fff0004b3348bff0004b332ff0000199aff0004b334ff00004ccc
+ff001eb33237ff0051199affffc5999aff005e199a8bf70d8bf1ed8bf70b08fc4df7
+ce15ff0047b3348bff003a6666ffffd5199aff001a199a50ffffa1ccccffffe51999
+4cffffab33338bffff9b999a8bfffff6199aff0000999afffff66666ff00014cccff
+fff6800008ffffff199a062843dae7e9d6d9eb1fff00a98000ffff6a8000158cffff
+f8999aff00008000fffff880008bfffff866668bffffb48000ffffcf8000ffffbd33
+33ffffb7e666ffffea8000ffffff199aff00073333ffffff8000ff000733348bff00
+0766668bff004cb333ff0031e666ff0042199aff0046999aff0015b33308ff00274c
+ccff0038333415ffffeee668ff00331998ffffddb332ff00274cceffffd1999aff00
+17e66608f701f76c0593ffffc99998ff00081998ffffdcb334ff00158000ffffce66
+68fffff1e668fffffb8000fffff0e666fffffb8000ffffef999afffffb4ccc08a969
+05cf9ab09cc3ab08fb0afb6b0572937a8b758bfffffbe6668bfffffbe666ffffffe6
+6687ffffffccce08ff000a999affffcf4ccc15ff0000999a06edd43b2f2f433c281f
+ffffb5cccc8b50ff002c4ccdffffe7199ac8e6ff001b1999ff0044199aff00534ccd
+8bff00614ccd8bff000a4ccdffffff800095fffffee666ff0009b333080ef763fb6d
+76f70eb9f703b9f7eabdf723ad12c5bdf712bd6ac1f725bdf712bd13fdc0f938f796
+158be561cf47ae08f701f76c05944e9466a74f08b7870569e97ebf7fee0876950530
+5359772a6f08a96905cf9ab09cc3ab08fb0afb6b0572937a8b758b6b8bffffe23334
+fffff9e666ffffe54ccc80ffffe6199aff000ae666ffffe2b332ff00063334ffffdf
+b3348bfb158b2e268bfb0b8b2ccc21f71279088dfb02218b8b5df68b8dfb0eba8b8e
+f70ef68b8bb9218b8ef70205a18eff0014999aff0005e666ff0012ccccff00084ccd
+ff0019cccefffff58000ff001c4cccfffffa4ccdff001d80008b08f70df1edf70b1f
+fc21f73f15ff000a80008bff000a3334ffffff199aff0009e666fffffe4ccc0813fe
+c0ffffd0ccccffffd78000ffffe3999affffc380008bffffbc999a8bffffbb999aff
+001f199affffc41999ff00306666ffffd8999afffff4e666fffffdcccdfffff48000
+fffffee666fffff4199a8b082843dae8e8d6d8eb1fff008ee666fffead199a15ff00
+318000ff0029ccceff001c999aff003e33348bff0040e6668bc9ffffe4999aff003f
+6666ffffceb332ff002ab334ff000a3334ff0001e666ff000a999a8cff000ae6668b
+08edd43b2f2f433c281ffffff4999a8bfffff4e666ff0001199afffff566668d08ff
+ffc8999aff013b4ccc15ff0032e666ffffe1e666ff0020999affffc880008bffffc3
+33348bffffc1e666ffffdfe66653ffffcd199affffe1cccdffffcd3334ff001e3333
+ffffdfccccff0037999a8bff003d80008bc9ff0020b334ff0037199aff0031ccccff
+001e4ccc080ed3fb6d76e3bae7bbf7ecbdf722ae01c8bef724c0f725be03f7918015
+8d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f70099e0ed8bf7028be45f
+cf47ae08f700f76d05944e9566a64f08b8870568e97ebf80ed0875960530525a782a
+6f08a86805cf9bb09bc3ab08fb0afb6b0572937a8c758bfb148b2e288bfb0e8bfb03
+e12cf57c08a9f81c15f8f50a0ed375b9f7ebbcba76f709adf37701c5bdf7eabd03f7
+abf80315f8f40af771fb40158be561cf47ae08ff00184cccff0030199aff005cb334
+ffffd2e6669fb5ffffa43334ff002c999aff003fccccff007e666605944e9466a74f
+08b7870569e97ebf7fee08769505305359772a6f08a96905cf9ab09cc3ab08ffffbb
+6666fb11ffffa7999ab67761e1ffffd6333470ffffcecccc0572937a8b758b08fb15
+2e28fb0efb0eee2cf70cf70df1edf70b1f0ef74ffb6d76e3bae7bbf7ecbdf714b401
+a5b6f6bef724c0f725bee9b503f900f766158bff0041999affffe6e668ff0039b332
+ffffd51998ff0027e66808f732ff00b2cccc05844e8b65964a08b57b0582ef8bc09a
+ed08799b05246b57862689089e6205d189b391c99b08ffff586666ffff4f999a05ff
+ffdf6666ff0012199affffd94cceff000a4cccffffd4e6668bffffd280008bffffd6
+e666fffff36666ffffdde666ffffea666608ffffd8e667ff0029199aff004acccdff
+0043199affffe0999aff0022e668ffffb43333ffffbc1998ffff9a3333f605c97bb3
+85d18d089eb405268d589124ab08787a059a298b56822708b69b0596cc8ab184c808
+ff0062199affff90e666ffffb6800049ff001f6666ffffdd199aff00494ccdff0041
+b334afffffd74ccc05ffffd98001ffffd8199affffe93333ffffc94ccc8bffffc399
+9a8bfb03e12cf57c088d2f218b8b5cf68b8e33ba8b8ee3f68b8bba218b8de605f700
+99e0ed8bf70208fb72f73f15f8f50a0e4081bdf7f0bd01afbdf7f0bd03e1f76a15f8
+f60a5916fb0ff026f70ff70ff0f0f70ff70f26f0fb0ffb0f2626fb0f1e0ef73781bd
+f7f0bd01afbdf750bdf702bdf750bd03e1f76a15eadadaea1eff001b999a8bff001a
+4cccfffff94cccff00176666fffff43334ffffd8e668ffffd7999affffe7ccccffff
+c9199a8bffffc3cccc8bffffc3cccdff00183334ffffc91999ff00271998ffffd799
+9affffe8999afffff43333ffffe5b334fffff94ccdffffe466668b082c3cdaea1f59
+16fb0ff026f70f1eff002b999a8bff0028ccccff000cb333ff0022999aff0015e667
+ff0022999affffea1999ff0028ccccfffff34ccdff002b999a8b08f70ff0f0f70ff7
+0f26f0fb0f1fffffd466668bffffd73334fffff34cccffffdd6666ffffea199affff
+dd6666ff0015e666ffffd73334ff000cb334ffffd466668b08fb0f2626fb0f1ff7eb
+ff007e199a15ff0021b334ffffe0199aff00154cccffffd319988bffffceb3348bff
+ffceb333ffffeab334ffffd3199affffde4cccffffe01999ffffde4cccff001fe667
+ffffeab334ff002ce6668bff00314ccd8bff00314cccff00154cccff002ce668ff00
+21b334ff001fe66608ff0029b334fffee6666615ff00271998ff00286666ff001833
+34ff0036e6678bff003c33338bff003c3334ffffe7ccccff0036e666ffffd8e668ff
+00286666ff00176666ff000bccccff001a4cccff0006b334ff001b999a8b08eada3c
+2c2c3c3c2c1fffffe466668bffffe5b334ff0006b333ffffe8999aff000bcccd080e
+f7f781bdf7f0bdaa7712afbdf7f0dd48bdf801bd13f6f855f86915ffff78b33407ff
+ffd8199aff003e800045ff0029ccccffffb0e6668b08fb0f2626fb0ffb0ff026f70f
+1fff004f199a8bd1ff0029cccdff0027e666ff003e800008ffff6fb333bdff009380
+0007ff00278000ffffbfb333ff00471998ffffd4cccdff005066688b08f70ff0f0f7
+0ff70f26f0fb0f1fffffaf99988bffffb8e668ffffd4ccccffffd88000ffffbfb334
+08ff008a800007fc31fb9315eadadaea1e13faeada3c2c2c3c3c2c2c3cdaea1ff842
+16f8f60a0ef8e581bdf724bdf72ebd01afbdf7f0bbf774bbf7f0bd03e1f76a15f8f6
+0a5916fb0ff026f70f1eff0070cccc8bff005e6668e0ff000eccccf70108f77406ff
+000eccccfb01ff005e666836ff0070cccc8b08f70ff0f0f70ff70f26f0fb0f1fffff
+8bb3348bffff9f6664ffffa5ccccfffff5ccd0ffff8e333408ffff22333206fffff5
+ccccff0071ccccffff9f6666ff005a3334ffff8bb3348b08fb0f2626fb0f1ff96216
+f8f60a0e8781f71b01f71bf77215838b8478837e81928297848b08817b70798bff00
+113333fb42ff0050cccd1fa08b99909297f760ff01626666f713ff00b500028bff00
+1399988bff00069998fffffc4cccff00046668ffffebb3348b628b69fffff733347d
+ffffe4cccc39fb33ffff713333fb91fffff0cccd8bfffff066668bfffff4999aec7b
+8b080ea69c7601f771f8b415838b8478837e7e948595848b818b7b708b798b61b4fb
+13a54c7576fb1d218b758b8292848f81088682817e8b858b84986d9a8b8f8b918d8f
+8d8b87916c958b988b9ab4f70ff70db22a9957a18b08968b9397979294869383928b
+9a8b96a88f96ac8b8ea58b968ba06e9948f720f73df74fb77e8baf088b978099788d
+8b8b8bbb728b808bfb07fb043b3d3df7259bbc6f8b080e339676f81dc6f78c7701f7
+79da03f7c897158bab80e78af790f38bbf869c8b089b90909fa085987b1f758b5c87
+248a8bf71a97d58ba2089b8991771e68067a86847c1f8b7196428cfb18238c588f7a
+8b087b857d777591889c1fa08bba90f38b89fb7a80fb068b6b08798e879e1eae069c
+908f9d1f0ef893f7a8f7f2158b988d979095a7baff00244cccff000ab334ff000bb3
+34ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b6260768b6a
+8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b82a35c908bdb08
+f7eafb08154eb765a6558b798b7b877f86929591968b9b8bc071bd819cff0047199a
+8bff0017e666ffffae80008bffffda80008b868a858a87089b9bbfaca88b928b9485
+9583838d828c828b087785837e749e85971fae8bff00151998fffff6b334ff0026e6
+68ffffe24ccc9c7eff000d80007fff00068000857e8873717a77088b5c606b7c7985
+747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c868b868b85084c657b
+601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1a4c8ba08fbaf5015
+8b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e668ff001b80008bff
+003c66678bff0039b333ff002fe666ff001c8000ff0004e666ff000d8000ff002280
+008bff00038000ffffff80009affffee8000848d838d848b087f7b896e1ff8cfc415
+7c7d7984748b768b799378999c9ba096a28b9d8b9e809b7a08fbd5f78c157dae67cc
+7ba262c560a760a5895575696f6f7e7effffd64cccffffe84cccffffdcb334fffff2
+b3343dffffe2b33450ffffe94ccc8bfb038b4bb958b66d086391fb1fb88b67c47553
+768b68f71eb3b4908c8b05797e7f828483797a65ffffda80008bffffc180008bffff
+a96666ff00454ccd62ff00376666ffffef3334ff001db33382ff0023999afffff033
+33a3fffff13333af76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58b
+e48bff005c9998ff00464ccdff001f6668ff001eb33308f74df749fb50f74605ffff
+d7e668ff0025e666ffffa61998ff0031199a348b688b627e7b8408fb09fbac156475
+a59194a1a6b01faf8ba47fa5757077787d648b0857fb7715807985721f8407849388
+958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948bda8b9b
+bd8fa29c81a4889d8b9e8ba094999708a78c058a858b878b86087997879596a392a8
+1e8b978593848f878e808b7d8b087506ff000b8000ff0018cccdff00118000ff0022
+333393969ca6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f
+8b8e8c90fffffc3334ff00008000fffffbccccff00008000888b878b76858b768b6e
+b8878b738b82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00
+008000ff0029cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334
+a571a46ba8668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8cccc
+ff0019ccccff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c
+8b799d84908bff0004cccc8bff00026668ff00008000ff0004ccccff00018000ffff
+fecccc8fffffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668
+ff00009998fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334ff
+fff9cccc7e887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b
+06a29f8ea4a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb
+4cccff0000199cfffffb4cccff0000ccccfffffb333408718c0580977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b3347f986c99828b08757e77707d9777a21f9b8bfffffa4ccd9cff000d
+b3338b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655a03bb78bdb8b
+ae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff00261998ff00
+0d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc65ff000db334
+7508acffffcaccccff001f4cccffffca3334ff0009b33463b096899cce8bd88bff00
+479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05ffffb34cccff
+ffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c7aff00248000
+78ff002080006fa271ff00148000ffffcb6666ff0016199affffdae667ff000e6666
+ffffbcb333a56cff002c33338bff002ecccd088bff00386666ff002d3333ff0033b3
+34ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffffe180008bff00
+0e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77ab6fbd7f8881
+8a838b828b56b180a68ba78bff000db334ff00104ccdff00084cccff000db3330871
+8905ff00014cccff0004b334ff0000b334ff00034ccc8b8f0898839a781e0ef738f8
+0ef91a15f8e50a6cfb81157e8b6d817d860881a505ba9da595b6a7089cfb99067496
+7d991ea7068e8e8a871f76078b568c6a654f8a8b1ea0078d8f8e8e1eaf069b9999a2
+1ff72b07ac89957f1e0ef738f80ef91a15f8e50a3ffba2157e7d9698a6a8bedabdc4
+774c1f8b5d6a695363616d736e8b6c08dc06ab8b9bb295a808a38505836d8468876e
+08fb62068bbbb7b5bab1b9aea1a28bc108ba67987960817c7d1e8b838f838b83087b
+7983821e0ef738f80ef91a15f8e50ab1fb7d15aa7794771e778b69818a728a7f887a
+758b0877879a8e9ca9c0e2beac75661f8b6e75746f7bac88ba708b510846495d3b65
+589ba0959895961e988b9284908494819583ab8b089ec498d0c45592721f848b878a
+838a0889a305b791a8a58bb4080ef738f80ef91a15f8e50ab7fb911522c207886857
+8b8b5a05788f859d1e9b068f8c88891f77078b618c7073658a8b1ea0078c8c8e8f1e
+9a069d8f8ea01fbdfb2407889705b7cdcfebb4c308a982055e455039746908e6d706
+8b9290938d8e93949697928b08919289831f0ef738f80ef91a15f8e50abafc2015a8
+89c6431e758b76857d8308858fa1f722f72d8b866a8b8afb118b7f3a059390a4909a
+8b08d8af5755505b5545695099a3979694961f988b9284938394829781a08b08b89c
+b0b51f0ef738f80ef91a15f8e50ac2fc2615a186c2521e7d8b7585767a8a868b838b
+850837b374a7b793aeb01ec39015676e4a3c5a43a8f31e8bddc5f2f72d97087707fb
+017868498050999aa69ba48b08ec953c7a1f0ef738f80ef91a15f8e50a65fb67156f
+8b84847f5b08768e0590a792b38ca6089d0686908a9b1ef74206563052fb0e6c2208
+6906aef703c3f710a5b9080ef738f80ef91a15f8e50a8cfb53156e747d6e1f8b7b92
+75b077089f80059b95a2a68ba908a67b9d681eea5e15f8e80a2529157b8262638b69
+085fb47ba3b0a89cb41e8ba486a4639f080ef738f80ef91a15f8e50a50fb9d157590
+54c31e998ba191a19c089e07df63a26f5f8468661e538615afa7ccdabdd56e231e8b
+394f24fb2d7f089f07f7019eadcd97c67c7c707b728b082a82da9c1f0ef738f80ef9
+1a15f8e50afb22fb7d15f8e60af78fb7154c892d5652943ec1c592d7d9c17cd45b1f
+88fbc6154559dae0e9c1d3d0c4cb62fb0cfb0b4959511f0ead8bb801f7b5be03f7b5
+f8d615f8cf0a0efb3efb5cb7f9b6b601edc5c4c503f769fb301552f9b6c406f761b6
+15fbd4fe0df7d4b7fb27f9b6f727060efb3efb5cb7f9b6b601f72ec5c4c603f768fb
+3015f9b6c4fdb607fb9af9e11560f727fdb6fb275ff7d5fa0d070efb88aff7c503f7
+17f79f15f8d10a0efb8895f7c503f770f79615f8d20a0e4889ac6cb2f78cb2cbb2f7
+4dac12f5e0f7afac13bef7e4f84115fb25e9068bde9c90d18e91918ba085915e8aff
+ffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c
+868b38082d3564e14b3564e1fb39078b387a86458885858b76918508137ef71e0a13
+be5d0a137e77436650218b084c0664799ebe1ff746f725b2fb25cbf725070efbce89
+acf794b2cbb2f768a9a67701eada03f78af8411543f72e06cc8fb38b1e92878e821e
+7281407d638889838d7b9185c58791888b4008fb163b64db4b3b64dbfb39078b3880
+864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08
+f739d3b243cbd3070e4889ac6cb2f786c691c6f765ac12669cf712e0f7269cf70cac
+13bf8066f7a915ff0005b33388ff00054ccd8a918ba2b7baa8ae8bff0007199a8b92
+fffffee666ff0006e6668908ffff23199a078b387a86458885858b76918508137f80
+f71e0a13bf805d0a137f8077436650218b084c0664799ebe1fff00b84ccc07ff000e
+e666fffff880009afffffb3334ff000d199a8ba38bcc98aaf6fffffcb334ff000419
+9afffffa4cccff0001e666838b75595a7a6f8bfffff1199a8bfffff09999ff0005e6
+66ffffef4ccdff000a199a08f73b078bde9c90d18e91918ba085915e8affffd1199a
+8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85858b769185d1889c868b3808
+ffff884ccc07fffffacccdff0001199a86ff0000999afffffb33338b084e8b554c7e
+4a080e5589acf78fad73a8f717b2f713ad12f3e0f775e813def7bef87f15fb01ca06
+a89aaed3d0d074fb13fb00575f2a1e13be728b638d808e08f717f70107fb56d2156b
+3764dffbde078b387a86458885858b769185b88cff00314ccd8cff0023b3338bff00
+2366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e0713def7c00a0e
+83fb40b8f709aaf7a2adf7b9ad01f3e0f76ce703f7a4f8fe15670a38fcad15f76607
+df8bff0012b334fffff14cccff000e4cccffffe8b33408f6fb4205ff001cb334ffff
+d16666ff002b4cccffffd5999ac78b9a8b9c8d9590ff00038000ff0006e666ffffff
+8000ff0009199a87935e8b72ff0021999a71ff002b666608fb12f76605b699e5bf8b
+f48bbd7ab467ad5bb84d8e4c8b5c8b6184678b688b5c8c5c8c85858b76918508d188
+9c868b3808fc38078bfb23ff000bcccdffffc0e666ff002b3333ffffda199aac6ea5
+89b88b08a1d49dafa1799e7d1f6c8bffffefb334ffffed3333fffff64cccfffff2cc
+cdfffff8b33481fffff24ccc837d8b086a7fa7f7481f0efb1e81bb5bb4f80bac12af
+de4bd8f735d913acf7b9bb15916cff000a999a70ff003266668bff00264ccc8baf9c
+ff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccdffff
+f88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727078b
+ff0029999afffff94cccff001fb332fffff4b334ff0018199a08c9ff006c999a628b
+ffffd4e666ffffb4333405ffffe2b334ff001eb332ffffd66666ff0008199a638b08
+3938555273977fa2a89da0981f8b928a92898f8a8e8a918b968baab596b18bff001c
+199a8bb0fffff44ccc97ffffbc4cce08ffffd6e666ffffb7e6665cfffff480000513
+742b7346568b478bffffc76666ff001ab3336dff0027999afffff2e66708ffffddb3
+33ffffc3b334b38bff001e4ccdff0035199a05ff0007b334ffffff4cccff0007e666
+ffffff999aff0008199a8bff0022cccd8bff001e333393b7ad089f9b05ffff80b333
+fffff3999a15ff006db333ff00c03334ff0013999aff000533338bfb18058b7e8584
+8385717669746f8bfffff5b3338b82ff0001b33383ff0002e66708ffffe38000ff00
+14800015fffff4ffffff000db333fffffacccdff001133338b9a8bb8a0b9d59e08ff
+000b999aff0003199a050efb9581c2f7edb201e4da03b6f841157d877f831f7e0786
+8c8a8f1ec6ffff07e66606fb08ffff34199ab48bff004bb333ff0085199a05ff0004
+e666ffffc6199bff001d8000ffffe8cccdff0029e6668bb98bbda1b2b789ff000a4c
+cd85ff0005b333818c71776d83718b087085a9c91f8bff0047cccdff0067199aff00
+b53333ff0000e6668b0595998f941f9f078bff00028000fffffee666ff0001b334ff
+fffde666ff0000e66608ff001b3334ff002fe666628bffffe54ccd5cffffabb3338b
+8bb205cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bfffff7
+8000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdffff
+fbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bffff
+f466688eff000699988bffff91199a08daffff6bb33215ff006d3334ff003e199a07
+0eef8aa8f7c1b2f78ea701f1dbf7dbdbbda603f88c16d88bb745994408a68b85f729
+058a948796728b08727ba3a41ff88507a7999bb41ea506908e8e901f8b9e898c058b
+2e8a6764348c8b1e898a8b7805868f88901ea506b39a7d6d1ffb62fbdbf76207a799
+9bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f88901e
+a506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d89058be88dafb2e289
+8b1e8c8d8b9e0590888e861e7106637c98aa1ff795f7dbfb95076f7d7b621e710686
+8888861f8b788d8a050e3e8aa8f803baf75ca9a57701e3d6f75ad6b8a403f848d715
+f76407f267c2431e648b507b484808f7e7750777827c8779877a8867857b8b088d72
+05898d888e1eac8f059f947b521ffc89076e827c691e7806868988861f8b788d8905
+8bce8dafb2cf898b1e8d8d8b9e0590878e871e78066a819aa81ff78e07bbbab6a5a8
+8b08c3a1783a1ffb73076e827c691e7806868888861f77d207d98ba93c965a08a48b
+85f71b059c808f7a787a9da91e0ec68aa8f7aeadf7a6a701f5dcf838a603f74fd315
+ff00ec999a07ff001acccdfffffc4cccff0010e66680ff00154ccdffffe9199a08f7
+4afb5a059f758b718b79088c84a38b05dc8baf36965308a68b85f729058a97849375
+8b7a8b7a9b72a808fb83f79805839485938b938b949497a9a708f734f72b05bcb9af
+94b3900891908e901f8b9e868c058b4e8a68633f8c8b1e898a8b7805868f888f1ea0
+069c9981851f8b82837f787808fb4ffb4405ffffe8cccdffffea4cccffffee1999ff
+fff3b334ffffec199afffffae66608ff00e3199a07a7999bb41ea506908e8e901f8b
+9e898c058b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f
+7e7b621e7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e87
+1e7106637c98aa1f0e3489acf807a8f766a9a67701eadaf7bfa603f7cfd4159d728d
+748c790884a407db8b9f42975408a68b85f71c058a978493748b7a8b779875ab08fb
+09f74105888f89908b8f8b8f8c8f8e8e08d7df05a4a5b7a1a68b08920690918e901f
+8b9e878d058b558964685b8d8b1e88898b7805878e87901e8f06a39083831f8b8187
+7e7b7bffffc6999affffc1199affffddccccffffe19999ffffcf999affffea666708
+ff015ee66607cc8fb38b1e92878e821e7281407d638889838d7b9185c58791888b40
+08fc49078b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08ff0056666607ff00073333ff00024ccdff0006999aff00014ccdff
+000533338bff001480008bff000e80007a9978080ea28bb2f85976f71bb301b5a5f8
+8fa603f71af91a155c8ba69a57910877fb56a589058fb8a8e5d58b08f79506928f89
+851f8b868884858408fc15fcb105858389838b8408819086991ef80f06d98bb74599
+4408a68b84f729059488a1721efc0e067a838f941f8b908e91909408f807f89b059f
+a78e928b930894858e791e0efb4c8bb2f7f4b201aba5f7baa603f7e8b215fb6c8bf7
+79f7f005949993998b918b8f8b8e898d878e898b838b888b758a728908fb58067b8b
+878d8a9a08738f6cfb2ca586059edfa898a98b08f7228bfb80fbfb05858288858b86
+08849386a61ef74006dc8b9e42975408a68b85f71c058a97819e758b080ef788fb40
+b8f71e7693acf8dbac1213b0ff02e21998f70d15ffffe23334f83905fffffc3334c1
+ff0004800099cf8f91918ba0859108fb1789fb68fc8f0587818887898b898bfffffd
+199aff00056666fffffce666ff0007999a08fb61f890fb258d0585858b769185d087
+9189844008ffffd7e666fc3005fffffa199affffc4199a7fffffe6e666528685858b
+769185a98cab8ca38ba38bb38aa98a91918ba085914990fffffa999aff001eb333ff
+00056666ff00384ccd08b1f8258d8bf763fc9b0513d0ff0002ccccfffff8e666ff00
+063334fffff8199a918b918b8f928f9308f775f8a58d8bff0019b334fc3605ff0006
+999820ff0007b334fb1c518b7d8bfffff24ccc93fffff8b33495fffff64cccff000d
+3333fffffbb334ff0014cccd6c8b087d6d767567c079a11fb88baa93b4ae08ff002b
+b334ff00254ccdff00118000ff00461999fffff5e664ff008e999a080eef9e76f80b
+b5f766ac01f841f80915a18b9288fffffc3334fffff5b33408ffff99ccccfffefd4c
+cc858b2df7a405f7b1f7601554fb2505867e8587738b08fb678b51f73d05fffff433
+33ff00228000ff00263333ff00031998ff002f999aff0003666891918ba08591668a
+548a648b628b658c688c85858b769185ff0026ccccfffffc8000ff0021cccefffffc
+b334ff00116666ffffcfcccc08f762fcd0059a94a696988b08f777f8ac05a5c9ff00
+1e800091ff002b80008e91918ba08591718affffdf4ccc8affffe1b3348b628b598c
+668c85858b769185ff0025999afffffd6668ff002efffefffffbb330fffff06668ff
+ffd6e668080efb039576f831a881a512ddcfdea713b8f758f853154b5961591f8b6b
+937199697477777f757d089779059d97a29a9f9a8d87a93d8d8608c4fb2505907f92
+83988b958b9593909908f721f7ed059cb5998ea78d089106928f8e901f13d89f078b
+60896f6a568d8b1e7507888c87901e9b069e8a938a8b808b848881857b0830fb7179
+597bc062ed058b8c7ab28b8eaca5c5b98bbc08a374a2611e13b8877115a39c7d7b1f
+8b6b5c657173849d88938bae08b19fa4a11e0efb168aa8f7c4adf790a701f1dbf759
+b303f74af8d215a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e89
+8a8b7805868f88901ea506b29b7d6d1ffc8a076f7d7b621e7106868888861f8b788d
+89058be88dafb2e2898b1e8c8d8b9e0590888e861e7106637c98aa1ff798f72107ac
+8b977b906f08916c05878e88901eb08b8e8e0587ab87a88bae8bac90a98eab088d8a
+8d881e6706878887871f846d05856f827b688b08fb21060efb448aa8f74dadf72fa8
+01eed5f737ba03eef7fa15fbb2076e817c6a1e7806868888861f8b788d89058bcf8d
+aeb2d0898b1e8d8d8b9e0590878e861e78066b809aa81ff721f507ad8b967c916e08
+906c058c888d87918b08b08b8d8e0588ac86a88bad8bad91a88dab088d8a8e891e67
+06878b88878a8608856e05846f827a688b0821f70306a7969bab1e9e06908f8e901f
+8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac957b6f1f0ea276
+a7f828a601b0dcf736c5f738db03f7e69315f77f07f706a3c1b1c8b458fb211e8b4b
+7861675d6e66657b618508fbc1f77015fb5bf73059f709e3f74cbef75ff449effb07
+1e718b6f847676646484618b4208fb8d075b90679a73a76bb275be8bd58bf715bab0
+a19c0877a005627432608bfb15080efbd5f84bf7af01b9b603b9f85915f8f70a0efb
+d5f84bf7af01f74db603f778f85915f8f80a0efbd5f86076c6df01b9b6c6df03f728
+f8b015f8f90a253415f8f70a0efbd5f86076c6df01addfceb603adf8b015f8f90af7
+563415f8f80a0efb8ef858b193dfebb112f704b77ab7b8df13e4f778f8b015749e78
+a2a29e9ea2a2789e741e747878741f6af7441513f4586b67651f13ecf8fa0a13f48b
+b470af8bb18baa9c909f8bb18b8f6f9d8b089b909695a9689a5f1f0efbc1f858b1f7
+50b112f704b77ab713e0f757f96015586b67651f13d0f8fa0a13e08bb470af8bb18b
+aa9c909f8bb18b8f6f9d8b089b9096951fa9689a5f1e0efbc1f858b1f750b112f703
+b77ab713d0eef960155f687c6d8190809b1f9d8b8fa7b18b9f8b9c868b6c0813e08b
+6570678b62085dac6ebbbbada59e9981937c1e7e8b7b6e6b8b738b82988b9e0813d0
+8baca6bd8bb008b16baf581e0efb72f722f77001a6f7d303f7b4f7b615aa8e99a498
+b3087c8f0580747f89788a08fb5f7f05728879777b5d0898850598a09b909e8d08f7
+5c2c15aa8f9aa497b2087b8f0581768088778a08fb5f7e05728979767b5d08988605
+949d9d92a08d080efb309676f86a77f704f512b5d6c1f547a7e6cf13f6f7dcf70215
+8bffffef6666ffffeb999affffeee667ffffe26666fffff5e666ffffff8000ff0043
+e667fffff04cccff00254cccfffff63334ff0057999a84d885e6899f8b9189927f8b
+818b88838a7fffffff6666fffff7e666ffffff199affffe88000fffffccccdffffd8
+ccce08fffffd3333fffff7b332fffffc4ccdfffff7999afffffb3333fffff7800082
+7d777c747c5c6c57608b438bffffc1199aff0031cccdffffd21999ff004f1999ffff
+f49999ff0008cccdffffe23334ff00164ccd7da08b9e8ba4ff000ce666ff00083334
+ff0022b33408ff001bcccc91ff0018999a95ff00116666ff000d6666a9a1a0a38bae
+08ab72927b777780761e8b7f8e868f87088f868d868b7d0813fa58f88315af0affff
+92199afca815ffffe1ccccff00133333ffffec199aff002180008bff00204ccd8bb5
+98aab3acff000a6666ff00088000ff0008b334ff00088000ff00076666ff00086666
+fffffee666fffff64ccefffffee667fffff5e666fffffeb333fffff56666fffff680
+00ffffae8000fffff1199affffd34ccdfffffe8000ffffc43333080ef84c89acf76c
+b2f7dcac967712f5e013c8f8eff7af15f8720afbb1fb6015f8730a13d8fb62f8d005
+7c8270807e8b08ffff6ae668fbf4fffeb219988b8bf7810513e88bde9c90d18e9191
+8ba085915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c8585
+8b769185d1889c868b3808fc25078b387a86458885858b769185b88cff0030b3338c
+ff00244ccd8bff0023999a8bff003066668ab88a91918ba08591458e7a908bde08f7
+11ff013d666607ffffc2999afb2505714dffffe1800085ffffd480008885858b7691
+85a58cff0020b3348cff001e4ccc8bb48bbd8ab08a91918ba08591ffffda6668ff00
+02999affffd0fffeff00044cccff000f999aff0029199a080ef72e81bb5bb46aa8f7
+44adf739a872ac12ecd5f731de4bd8f735d9135340f8ddf77d15fb18078b7e858483
+85717669746f8b598b75b38baa8bb2ff000fccccff0027b333ff00344cceff00164c
+cd08ff0001e666ff0000cccd06ff0007999aff0003199aff00084cccff0002cccdff
+0009199aff00024ccd08dafb38151392c0916cff000a999870ff003266688b081332
+c0ff00264ccc8baf9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4
+b334ff00064ccd081396c0fffff88000fffff9ccccffffef3334fffff63334fffff3
+4ccc8b086e8ab2b91ff72707f7223da6423938555273977fa2a89da0981e8b928a92
+898f8a8e8a918b9608aab596b1adba7afb051e8b848887888a08357605fffff8b334
+fffffe3333fffff8cccc8984fffffdcccd08fffed38000f70d06133b40a7969bab1e
+9e06908f8e901f8b9e898d058b46896468478d8b1e89898b7805868e88901e9e06ac
+957b6f1ffbb2076e817b6a1e7806868888861f8b788d89058bcf8daeb2d0898b1e8d
+8d8b9e0590878e861e78066b809ba81ff717ff00e1333407ffffd5b332ffffe4cccd
+ffffe6199affffdbe6668bffffd64ccd081352c039c371d11eff0022cccc8bff001e
+333493b7ad089f9b050efc46f80fdb01b4db03b4f83715759d79a1a19d9da1a1799d
+75757979751eb3f82b1579757e681f8b5d9575925191588f508d7d8c878d86938b93
+8b8c918c928d948bb395d293c395a68bb608ae7598791e0eb7f821f7befb637612a6
+d6f723d513b0a6f94b15fbbed6f75f07f7236b05137026d5df07f7915399d7050eac
+fb79f7bf457712a6d6f723d513b0f1fb1915f75f40fbbf07f8c3f7117dd7fb915205
+1370e04125070e4bfb7eacf753adf805b9a176f75da9a67701f706daf76ce103f753
+f7b415d1ff004a8000aeff002180001ea48b9d829a7cb66094518b4f8b34722a218b
+fffff1cccc8bffffe48001ff00013333ffffe3b333ff001866677fff000a666686ff
+000633338bff001fcccd083ef861158bffffe4800047ffffdf800005fffffc199a89
+fffffc4cccffffff3334fffffc66668bffffefe6678bfffff36667ff00106664818b
+fffff9e6668b87fffff9b3348bfffff94cce8bfffff6ccccff0006199afffff56666
+ff0002e666fffffa3334089a69059b95ff0012ccccff000a4cccff00123334ff0008
+b33408beff00184ccc8bfffda4b334058b3880864e8885858b769185b58ca58cb78b
+ba8baa8ab68a91918ba08591448f808f8bde08ef078ba793fffff5666696fffffb99
+9aff0014cccdfffff7999aff0016cccdfffffb6666ff001b66668bc08bbb9eb2b2b8
+b8a6c88bdc8bf442ee2a8bffffcc80008bffffd9e666ffffe43334ffffe6999affff
+e61998087cfffff0b334898b8ba1088bff008ae668ddff0027199805ff0003ccccff
+0001ccccff0003b334ff0000b334ff000380008bff000fb3348bff000c6666fffff1
+4cccff000980008bff000580008bff0005199aff0006199c8bff000766648bff0008
+ccccfffffa6666ff000a8000fffffc6666ff00066668087bac057c8179fffff51998
+78fffff6e668084bffffe166688bff000d999805cc8fb38b1e92878e821e7281407d
+638889838d7b9185bf8897908b37080ef739f803f88115ff00064ccc82ff0005b334
+898a8a8a8981ff0005999a89ff000366668d8d8c8d1e59a7158506ffffff6666ff00
+07800089ff00081998fffffa199a8bfffffee6668b8affffffccd0ffffff999affff
+ff999808899105ff0001199aff00008000ff0001e666ff000080008c8b08978effff
+ef9998fffffa66681fef9a15898b899105ff00018000ff0000ccccff00018000ff00
+0033348c8b978b8d7a8c8608850689948991868b08306015888c8a8d1e8c8b8e8b8c
+8c8f908d908b8c088c8b8c8a888188841e7016888984878b8b819886978b9508a092
+a59fa3917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00
+003334ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff00
+0b8000fffff8cccc08f7f8fc2815888b8cff000d6666fffff18000ff000a6667ffff
+f6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3348bfffff899
+98fffffa3333fffff8b334fffff8999a84fffff8e666fffffb8000fffff9199a898b
+8a8b898c8b8e8e90989f9c910899b68c998b9a8ba97bbd6995088f91059e86af6f8b
+4e8b768775816fff000999988bff00114cd0fffffd3333ff000a999888ff001e8000
+fffff7666793ffffec80008bfffff8e6668b898989898b08fb9af833158a8c848e8a
+8b8596899b8b93089d989aa19d9e7d681e8b7f897d867b7d918c89838f968e93948b
+990898819f7b7e8080741e8b868d868d8708ad5e15898d8b8f898c5f6b72847a8b76
+8b7b937c9a878f898d8b8f8ba4c4a49a8ba28bd46b9284088c898b898b898b848783
+8386087278056a7374857d8b728bffffdf999aff001b6666fffff76666ff0015999a
+987f9d7ea58ba88ba79caaa108cdfcd515ff00068000ff0023cccdff00058000ff00
+3919998bff0008199a8b938a948a93088bad8b9405a38fa09d1e8f8b8f8992858d7f
+8e809183937c9e87988baf8b9eb99b8bff0006b3348b8cfffff08000ff0001cccc81
+ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd08ff0010
+ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccffffffcc
+cdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee6668ffff
+f13333ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a819c08fc32
+9a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33338ba1ff001480
+00ff000533338bac8b9c849c8b998b958eff000b333393ff0006cccdff00074cccff
+00063333ff000bb334fffffdcccd978bff000a999a8bff000b3333ff00016666ff00
+073333ff0003999a0898947aa4b493ff000be666fffffd199aff00093334fffffa80
+00ff0007b333fffff8e666ff0015b3337799ffffdc6666ff0012cccdffffe64ccdff
+000de66678ff0012333373ff0008e666fffff00001ff000d8000ffffe79999ff0004
+3334ffffedcccd8bfffff266668b838a85898508817f7a7e748bfffff0b3338bffff
+dde66798ffffed3333ff0007999afffff08000ff00064cccffffd9b333ff000bb334
+6aff0004666608eaf798158b78938196838a928a928b918bff00188000ff000e3333
+ff0033cccdff0019999aff0030e667ff001c1999ff0035b332ffffee4ccdfffff399
+9aff001eb333ff003d4cccff0004e666ff0009e668ff0007199aff000c8000ff0003
+800095ff0001999aff00048000ff0000199aff0003ccccff0000e666ff0006800008
+ff000e8000fffff18000ff000e6666fffff18000ff001d199a8b998ba492aaa208a5
+9e059c698c84a0618bffffdb8000ff0012199afffff2b334ff000f199affffe6cccc
+ff000d6664ffffe9999aff000c6668ffffe033338bffffbe33338b778a788878858f
+858d868b7c8b7f7b8b64088b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b
+8d088c8b8c8c989e9c961e8bff00064ccdfffffb4cccff00089999fffff6b334ff00
+0a999afffff5999aff000be666ffffea8000ff0012e666ffffedb333ff000c3334ff
+ffed8000ff000c4ccdffffe69999ff00141999fffff66667ff000a4ccdfffff09999
+ff0010b333ffffff199aff000a999a8bff000e80008bb3afd19799089287057a776e
+4f8b6008f761fba215b58bb685a088ff0009999affffe76666ff0016e666fffff399
+9aff001f80008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998
+ff000eb333ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b3
+33ff00169998fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef8000
+9408ffffed3334ff000a33338592fffffbcccca186ff001a8000fffffcb334ff000e
+8000fffff299988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b
+08297251481f8b4394678b708bffffe3e666ffffec199affffde999affffe2b333ff
+ffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcccc
+fffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb3
+33fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff1
+199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff0002
+8000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000ff
+ffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999afffff8
+199985fffff8b334fffff480008bffffed80008b8092688b83088bffffeb4ccd76ff
+fff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff0014e667fffffa
+cccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cccd8b9f8ba192
+999fa396ae8ea78b080ef8c667aeaef70380b29fade4f7023cf71bdcd512c2bcf864
+b4f73ae795f70d13d7e0f84c6715c2f706b5f0bb65d3231f4a8b316a7c8592d6c2b3
+ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b086d8b80a3749e86
+7c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b18bb98bcb9abf9f49
+d857bf35aed89fa4c58bb68bbc5ec04f8b08638b646d76579890978e978b08a5a07b
+68695f7a691f808b728d6d905a924892598b488b457961716472fb003b8bfb310813
+bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f758b5758786a796b
+866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884ae15648b62a170
+a676a183b48ba98b908b908c8fbc9dc39fbc8b08e4a664515b505a3f1f0ef8c66aeb
+7df701c3d7f744f70a26ae12d1f70ef82fb2f793b8d6bd136f80f97ef89a15335455
+471f8b62a05acd6cc76fe9839c8a6347427f698b728b5c934da7fb15c86ef7048bb7
+08137780bbac92971eb48b915c9674aaab91b38b9c8bbd62bc508b698b617d775f7f
+72816a8b6e83936aa1699b08619f4b98538fa629a546c947808e818b828b08445856
+5456b356c41fa88bab98a7a6698c6d9b8baa8b9a91aeb98b9b8b9c879985ca6df721
+fb11f72d8bc28bf724a7d1f729089e87dc698b530813af806f7562601e6c8b7c9b7c
+8b08767b616f789374a31fa78bc09fa69eb4a8abc28bb28bdb22b66e95919b8e9e8b
+a108ee42effb0f1ef72bfb3a158b697d67827d579050915e9f54a576a98bad08ad9f
+c7e0edbf385b1e0ef8c667aeaef70380b29fade4f7023cf71bdcd512f730f70d95e7
+f73ab4f7a3c2f71ebd13bbf0f95e6715f7148bcef7008ecb9789968b968bcf8be1a1
+8be38baf86a978ab78ac57be758b086d7c626c679b899fbba770644c4f7d591f828b
+818c838d8bf73120db63a40813d7f062a5459d478b5a8b488459846d8673897f8b08
+695f9cadaea09ba51f978b9888978676bf65a9638b4f8b5d568b5a8b60a551d77735
+6857574a3ebe77cb7cba8b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997869a747880736d8b718b7aa28b9f8ba6a4b0aeaaaca8c6aee58bd48bbb7b
+a08008ab7ac36391407c9131ac4b8b082265435b1f26f70761c11e93ae153e50bcbb
+c5a7b2e31fbc8bc477bb798c878b868b868b6d8362767571706275648b080ef763e2
+b2f2b2f1b301f991f82e15fc2563f825065b2515fd0664f90606bb2415fc2564f825
+060ef763e2b2f2b2f1b301b1f82e1563f825b307fbf5fb221564f906b207fd36fb22
+1564f825b2070ef86af782b37491121380f91ef7aa15fb7f061340448bfb887a3f8b
+0885071380d08bf7957acc8b08f77f061340bd8bf78f9ce58b089107278cfb819b55
+8b080e1c05cff780ba70921213801c04fcf7af15fc6a061340fb238bfc7c77fb2b8b
+0884071380f71d8bf89677f7178b08f86a061340ef8bf88a9ff7488b089207fb5c8c
+fc6e9efb008b080e1c162dfb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c0
+8cc174c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a1
+8bf7d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78b
+e2e6f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d
+1ffbed8bfb9920fbb08bfb778bfb80f705fbd18bfbbb8bfb032ffbe48bfbc18bfb3a
+e1fbbc8b081380a0fbe18bfbd725fbc58bfb318b3ad2fbda8bfb9d8b6844fc618bfc
+208bfb44f70b708b087e7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e
+8bf77a8bf87ad8c58b08138400f78e8bf75745f7b68bf7858bf7a3d6f72f8b081390
+00f76f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31
+e7fb7f8b08138500fb388bfb9d40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb
+8c43fbdc8b08138200fb8e8bfb43bafb928bfb818bfb164efbb78b087c7f7f7c7c97
+7f9a1ff7ba8bf714c9f77d8b08f90efbc615fb588bfbc0a87d8b7d8b7e7f8b7c8b7e
+957f9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f810
+8b0813c000f7a58bf71ed2f77f8bf71c8bc27abf6790889089908b9a8b97988b998b
+948793839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb
+4e8bfb9129fc0c8b080ea0fb67c2f7aea86fb2f858a712f5dcf764d513bcf869f713
+15ea0695988f941f9f078f888d871efb03f7140652778b78054b6f72511e2f066e79
+9eaa1ff7f8078ba7ff000e3333ff000ce668ff0028cccdff0003199808a58d0590ff
+000066688eff000299988b90088b9e898c058b2e8a6764348c8b1e898a8b78058b86
+8ffffffd4ccc8fffffffb33408a68905ff0025999afffffd3334ff00106666fffff4
+cccc8b6d08fc07078b68fffff66666fffff9cccdffffd6999afffffd33330813dc6d
+890587ffffffb33387fffffd4ccd8b86088b788d89058bf7078d971e13bcd98af73f
+8b8bfb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0ef9
+bcfb82c196a7729bf714a2c4a67a9e8cb092c1f717a7709ff712a2bcae75a478a6f7
+019b12f71bd8f73fc25db671d2c0b6f1c25db66abcafb9a3b6bbb89eb69ab68ab9f7
+07b813972731e4f874df15e50694988f931f9f078e888d871e22f70e0655788b7905
+4e7073541e34066f7a9da91ff7e807a5989bb21ea4068f8e8d901f8b9d898d058b33
+896966388d8b1e89898b7905868f898f1ea406b1997e6e1ffbf9076a8283631e6f06
+878788861f8b798d89058bf7018d971ed58af7368b8bfb770547a570b71eb58bb2a1
+b0b4087a9c0572787984728b087185a7c51ff937ea15f8fb0ab8fb021513d72311ec
+f8fc0a139b2311e4fc3af75f1513b72311e48d8a8b891e7b8575866384088c7ea388
+05948a8f858b6f08fb22078b7b858578890881890588898a881f8b808c8a058baf8c
+a2a2af8a8b1e8c8c8b96058e898c881e838d05788d86918b9b08f71e0713bb2311e4
+a8ada095a48b08aa9178631ffb0f078b7b858579890883890588898a881f8b808d8a
+058bad8ca0a3b18a8b1e8c8c8b96058e898c881e808d05798c85928b9b08f70b07be
+80b2581e6d8b7083676008890613932319e4fb6bf71115f8fd0ac140158d8a8b891e
+13b72315e47b8573866384088c7ea48805938a8f858b6f08fb22078b7b8685788908
+80890588898a881f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d
+05798c85928b9b08f72207a88db18b1e13937311f4f7e1f7aa158b7b8584798a0880
+8905888a8a881f8b808c8a058bb18ca01e13937311eca1b88a8b1f8c8c8b96058e89
+8c881e7b8d0513933311f4788c85928b9b08f711078b928e938f90999e9795918b8f
+8b8f8a8f8790869286968b089a95949a9a8296741f708b726e7c7508898b8dbe058d
+8a8b8a1e13936711f47b8574866384088c7ea48805938a8f858b6f08fb7f7a15f8fb
+0ab8fb02151393a311e4f8fc0afc348715f7350713936b13e4a1a2a98c918b08aea7
+61544a715a551f7a8b7f977f990860f7ad15fbad078b758b81897f081393a313e48e
+898e8a918b9090939590920813936b13e49c7d9d84a48b08c5cec0e6d058b65a1f6f
+8b7581777608f70507b08da28b1e8f898d861e7c8564847489088c7d058a8c8a8d1e
+9d8905979084661f13932391e4fb2a16f8fd0ac140158d8a8b891e7b857386638408
+8c7ea4880513932351e4938a8f858b6f08fb22078b7b868578890880890588898a88
+1f8b808c8a058bb08ca2a3b08a8b1e8c8c8b96058e888c891e808d05798c85928b9b
+08f72207a88db18b1e0efb50f758f82815a6069c8e97901f8b968491858c878c7e8c
+808b838b848a868b878a7f898b7c8b8b8c7e93888e8a908a988b08fb1573157f9585
+921e918b8f8c8f8f93929391938f908e908f8b938b9c808e858b858b8689767c7e81
+88878b8308f782811594848f89908b918b978e8b9a8b91898e869084927c96829088
+8c888c888b828b82848b80088b868e858f88948594858f8708fba63515848c7e9b1e
+928b928f8e928c8d8c8d8b9b8b9b8c928b8e8b958290858b848b7f8a897b8a848b81
+8b7908f7ca95157c8c7a9d9b8c9b9da488987a828384811e8b888c7b8b8708fbcafb
+121585938494969294901eb10790889a7b818580841ef7cb5f158c8a8e81978b0897
+9290941fb0078f8a9c7a808481851e8b758b788c8708fbb72d1597798e8b918b958b
+948e8b998b918a8d869286928792889188928792808b7d8b877e8b86088b85917e93
+8008f79c16819181971e918b8f8e90908d8e9ea38b998b9188977d8b808b87848784
+88838784868586868a888b87082d5715809483931e938b978e9a909d928c918b938b
+948493808b898b878a86898289858982898489888a888808888789878b87082b8415
+9387a683938b968b91958b948b8e8a977a8e838d848d848d848e898b898b7b8b8781
+8b84088b8192868f89080eefa2abeca8f791a2eeab01adb3f7189ff74fc9e8b303f7
+5df76c159f6cb66ac28b08e4cedbdadf45c9331f458b807e7789fffff5999affffe0
+b334ffffff6666ffffe94ccc8c739088928a938b9cb9a0a7c48b08b3bf682942685c
+471f588b6fad809bfffff63333fffffd4ccdfffffb6667fffff9cccdfffffb6666ff
+fff9e66608f70cfb5515960af8a904970a0eefa2abeca8f791a2eeab01adb3f0cef7
+469ff714b303f7d5a215960aff0069e666ff00a74ccd15ff000d6666ff000b0001ff
+000accce97ff0006e666ff000ab333fffffb6666ff0006199afffffb6666ff000633
+33fffff63334ff0002b333fffffb8000fffff98000fffff73334fffff5199afffff3
+9998fffff5666608ffff78b334ff00cd800005ff000f8000ff000ce666ff00126666
+ff0004999aff0011199a8bc48b9c6a9c5d938b928c908e8ca38ca189b0778d7a9845
+8bffffe6999a8bffffe78000fffffa999affffea3332fffff6333208ffffc78001ff
+0055e66805ff00224cceff00121998ff00276666ff000a3334ff002a80008bf71f8b
+f700fb038bfb1f8bffffb1b333ffffdd6668ffffba3333ffffc919985d08ffffabcc
+ccff0038cccd15ff00343334ffffb0999a05ffffdb6666ffffea3334ffffd53334ff
+fff38000ffffd1e6668bfb208b20f7058bf71e8bff0052ccccff0025e666ff0048cc
+ceff003c4ccdff002d666608c3ffffaab33405fffff9cccc86fffffa3333fffffab3
+32fffffacccdfffffa199a73ffffe5199a7fffffdb999a8bffffd9cccc8bffffd366
+66ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e666ff0024
+9999fffff3199aff0026b3348bff001633348bff0015ccccff0006b333ff00134ccc
+9508ffff73999aff00d5cccd15ff007e8000ffff3f666605fffff3e666fffffa999a
+fffff26668fffffc8000fffff14ccc8b538b61c48bd48bff001e6666ff00048000ff
+00174cceff00076666ff0011cccc080eefa2abff0083199aff001eccccff00abb334
+ff00193332ff008e3334ab01adb3ff00246666ff00446666ff006ee66899ff0015b3
+32ff00446666ff006ee66899ff00314cccb303ff020a3334ff00e9199a15fffffccc
+ccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff16666ff
+fff08000ffffdc4ccc8b08ffffd8199affffeeccccff001d3334ff0036ccccff0043
+999aff001a199aff0014199aff00174cce1fff00214ccc8bff000a8000fffff3e666
+ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000ff0002
+3334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1ccccff
+00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8bffffe1
+3334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccc76ff00224cce
+fffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408fb6b16ff
+fffcccccff00049999fffffcb334ff0004b333fffff933328dfffff84cce7ffffff1
+6666fffff08000ffffdc4ccc8b08ffffd8199affffeecccdff001d3334ff0036cccc
+ff0043999aff001a1999ff0014199aff00174ccd1fff00214ccd8bff000a8000ffff
+f3e666ff0011b334ffffdc999aff000599988bff0004e668ff0000ccccff00038000
+ff00023334ffffff4cccff0011666689ff000d8000fffffbb334ff0017999afffff1
+ccccff00046666fffff38000ff000acccc5a8bffffc266668b5affffce999a8b4c8b
+ffffe13334ff000ab334ffffe31999ff0014e666ffffe94ccd08ff00134ccd76ff00
+224ccdfffff4199aa98bff002680008bff001d199aff0017cccc99ff0017333408ff
+000dccccffff2de66615960af8a904970a0e2381aef8baae01c1e2f765e203f78bf8
+d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05fc5fffffc999aff00046668ffff
+fc8000ff00046664fffffc199aff0004333408ff001cccccd16c96ffffe83334ffff
+c6800005ffffe8cccc9cffffe34cccff000b8000ffffdeb3348b288b2dfb0a8bfb5a
+8bffffa6999aff0017199affffaa8000ff0027ccccffffc6999908ffffdc199affff
+a94ccdab7fff001c8000ff0045199aff0000199affffffe66605ff001c6666ffffe3
+999aff00224ccdfffff26666ff0026b3338b08ffffb3999aff0067333315ff00a366
+66ff018c666805ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b
+2f884c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b33308
+0e2381aef8baae01c1e2f765e203f78bf8d3152b0a87fcdd152c0a0efb7f89acf8d5
+7701f736d803f783f70e15f7ef078bc7ff00014ccdc8ff0001b333988bff0004cccc
+fffffd8000ff00003334fffffc80008bffffc8b333ffffddb334ffffcb4ccdffffe7
+4ccc3362ff0001999afffff4999aff00046666fffff6800094fffff9e666ff002d80
+009eff00168000919e8b08ff00108000ff0003800073691ffbda078b387086458885
+858b769185bc8cff0023cccd8cff003633338bff002f999a8bff001866668abd8a91
+918ba08591458e7a908bde080efb098bccf81576f726ae12c8d6f74ee370a813f8c8
+f868152d0a13f42e0a13f82f0a0efb1681aef7b3abf77bae12bad4ff00b2199aff00
+4e3332ffffccb334e313f8f76bf8d315300a13f4310a13f8320a0efb0389acf721ba
+f81b7701f7a9d703f7a9f88f15330af733fbb415340a0efb2180aef7d1bdf722ce4e
+d312f7cfe413e8f7cff75115350a13d8360a13e8370a0efb0e80aef7c6aef770a501
+bbdef767de03ff008b3333f7c715380aff0009199aff00244ccc15390a0efb319376
+f8b8cc967712b2ab13d0f732f8ab153a0a13b07b970513d03b0a13b03c0a0efb1281
+aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af73331153e0a13e43f0afb
+3bfc6015400a0efb0d7fa5f770aef7c6ae01badef767de03ff014cccccf7b815410a
+fffff6e668ffffdbb33315420a0eba81aef760b8c4b7f75cae12f716e4ffffab4ccd
+ff005c4ccdff015a6666aa13faa5f7df15ff0069cccd06fffffeccce7effffff6666
+fffff2b3348bfffff24ccc8bfffffa4cccff0000199afffffa4cceff00003333ffff
+fa666608ffff9bb3338b725e0513f6ff00814ccd06ff0014199affff753333ff005a
+b334ffff9bcccdff00a7e6668bc28bcc95aa909eba97bc94c48490828f7c8b734669
+42fb028bffffa680008bffffbce666ebffffea3334f70008ff00c366668ba2b8ffff
+1f33338b0513faffffff333295ffffff999a958b958bff00094cccff0000333394ff
+00008000ff0008b33408ff00f74ccd8ba2b7fffef64ccc8b05ff0017e667ff009599
+98ff0062e667ff00326668ff003ee6668bde8bc049a8309988958d939286c185be7f
+c25f92609e288bffff82199a8bffff978000ffffa49998ffffe29999ffff70666808
+ffffa8cccd060e5089acf2b4ceb5f7b2ac01f773df03f7c7f70e1597f70f0796998f
+951fa0078f888d861efb20cef70f0696998f951fa1078f888d861effff7f199a8bff
+0084e666f77705ff00176666ff00289998ff000a999aff00136668b08b08958a8f8f
+1f8ba18a8d057689628a838b7d8b508d838c0889898b7405888c87901e99069f9385
+811f8b83fffffb999afffff4ccccfffff86666fffff3333408fb12fb63fb18f76305
+fffff9cccdff0009e668fffffc3333ff000d19988b93089692909c1e9906908d908f
+1f8ba1898d057c89468a858b7d8b468c7f8d088a898b74058593898e1ea58bff0011
+199affffe78000ff0016e666ffffdb800008f719fb64ff000966667affff86999a8b
+0578867e831f7c07868c8a8f1ef72248fb0f0678867e831f7e07868c898f1ef7227f
+068b387a86458885858b769185bc8cff001e4ccd8cff0032b3338bff0031e6668bff
+001c199a8abd8a91918ba08591458e7a908bde080e3cfb7cdbf8baac01f764fb3415
+ff000f999aff001bcccdff000d1999ff001c9999ff000c4ccdff001d999adbf755b7
+f2c0f70499a8a4abb08e8e8eff00018000ff0006b3348bff0006cccc8bff0006cccc
+fffffe8000ff0006b334888e728a7e8a6f8b08688b788c668c8888fffffe8000ffff
+f94ccc8bfffff933348bfffff93334ff00018000fffff94ccc8e88ff001f999a88ff
+00206666857b6708ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdffff
+f78000ff0013cccd08ffffa74ccdf76405ffffedffffff002a3334fffff580009dff
+003d4ccdff0004cccc8e8eff00018000ff0006b3348bff0006cccc8bff0006ccccff
+fffe8000ff0006b334888e668a638a678b698b708c778c8888fffffe8000fffff94c
+cc8bfffff93334088bfffff93334ff00018000fffff94ccc8e88ff002b999a87ff00
+07e666fffff8b334ff001b6666ffffc04ccc08ff0071199afb9b05ff0008b333ffff
+ebe666ff000f4ccdffffd2199a816ffffff4199affffde999afffff3e666ffffe466
+667c6c80777d82728b7d8b878e808b086c7e737b769f78a61fa08bb393afcb080efb
+2481bb5bb4f80ea912afda4dd5f738d5c0a41376f7b7f77d15fb19078b7e85848385
+717669756f8b598b73b88baa8bb8a2b4d59e0813aef723fb7215be8baa9f91d40872
+90058a75856f758b08748aa5c81ff72507f72241a64239385255739780a2a89a9f98
+1e8b928a92898f8a8e8a918b9608aab899b1adba77fb051e8b848887888a08357605
+13762b73485b8b478b40c165d18bb98b9e93b7ad089f9b8d8b058f72a16ab18b080e
+8181c7f7ddc75fa712ff0086b333ff004c199aff00a63333ff004ce66613d8ff01c5
+e666f71015ff00014ccef73305ffffffe666aeffffffb332a2fffffbccce9dfffff2
+199ac7ffffe080009f648b578bffffd9cccc76ffffbce666fb0008fffffecccd8cff
+00003333ff0009333405ff0000cccdff0026ccccff00036667ff0026ccccfffffc19
+99ff0011199afffffccccdff000db334fffff7199aff00076666fffff2cccc8b0813
+b86b8bffffd2999a84ffffd2666685fffffb333483ff0004199980ff0008199a8208
+ff0028b3338805ff000c33338aff0008199a82ff00024ccd81ff00021999fffff6e6
+66ff00003333fffff2199aff000080006f08ff00014ccdfb8d05ff0000199979ffff
+fd999970ff00024ccdfffff63333ff0003e667ffffef4ccdff000d6666fffff58000
+ff001fcccd8b08b180b7b11fffffffcccdf73a0513d8ff002c1999ddff00294ccdc6
+af8ba08bff000f199a86ff000733326cff000333347dffffffb33477ffffffcccc69
+088afb3405ffffff66666bff0000666662ff0004666878ff0004666678ff000e3332
+7da98bbb8bff00283334adff00206668c6fffffae66494fffff8199c937d8bffffec
+e6646dffffe7b33477818bfffff8e6668b8790fffffd33349708fffffde66694ffff
+ffe666a18ba5080efbd87fa8f764aa019abef71ca903cdde15c5b5dfbc99aa825753
+683053797099bf1e589a1556a852c8deb7f702ced45e9d62425138401e0e5481b3f8
+05b301b7e2f7aae203f7a2f82315ebb63a28fb045e3e2d3853def5f1b9d9e81fb304
+fb253a20fb05fb0adffb03f722f722dff4f710f70b42f0fb2d1f0efb9589acf7e6aa
+b57701f72cd803f72cf70e158b387a86458885858b769185bc8ca98cbd8bbb8ba38a
+bd8a91918ba08591458e7a908bde08f75b07c78ebe8b1e93868d821e5a7b61833779
+ff00014cccfffff46666ff0003999afffff58000ff0007199afffff7199aa88ea58e
+a18b089b8f80571f0efb198bc2f7e8b701c9adf754e403f7bbc215f8ff0a0efb27fb
+49aef7b3abf77bae12bcd4ff00b2199aff004e3332ffffccb334e313f8f76df82815
+300a13f4310a13f8f9000a0efb06fb42acf721baf81b7701f7a3d703f7a3f7e315fb
+b4fb5307ff00334ccdff00523333ff0046b333ff006f999ad0ff005e333308f733fb
+b415340a0efb3efb4baef7d1bdf722ce4ed312f7b6e413e8f7b69c15350a13d8360a
+13e8370a0efb0e80aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff00
+09199aff00244ccc15390a0efb31f800cc997712b8ab13a0f738f80015f9010a1360
+f9020a0efb1281aef8baae12bbce61d2f749d15cd413d8f780f8d3153d0af7333115
+3e0a13e43f0afb3bfc6015400a0efb12fb4ba5f770aef7c6ae01b4def767de03ff01
+46ccccf70d15f9030afffff6e668ffffdbb33315f9040a0efb7389acf7eec955a712
+efda13d0eff7d115fb57078b387f874d8785858b769185b58cab8cb38bb48bb08ab6
+8a91918ba0859145907f8e8bde08f71f078ba597a2979d969ba2ac978b928b938a91
+8595819578a08b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464858088
+918b908bab8dba8b8b8b8f868e838b0813b06f806682468289858b7b8f8508c18696
+838b54080eef89acf766b5f80b77d2eb01f769ebe8eb03f826f98915b70afb5116b7
+0abdfc6e154a0afbb1fb60154b0a0ef681aff8e8afbfeb01b0ebd2ebe8ebdceb03f8
+1df98a15b70afb5116b70af713fb1c15640af7e3fbb915650a0ecd81b4f8dbaccaeb
+01e2e0aaebe8ebb1bc03f81cf98a15b70afb5116b70a6cfb7f156b0a0ef83a9476f9
+06ac01f8d5f8fa15b68587756c510856ffff9c8000fffffb9998ff00048000ffffce
+cccef005ffffe4999ac4879cb59191918ba085916e8affffe1b3348affffe04ccc8b
+ffffe2b3348bffffe14ccc8c6e8c85858c769185b685937dff002180004408ff0054
+4cccffff4d3334ffff904cceffff1cccccfffffb66668bffff48e666f83505ffffe6
+999ac48e9bca9291918ba08591638affffd74ccd8affffe1b3338bffffdeb3338bff
+ffdc4ccd8c688c85858c769185ff0033b333fffffc4cccff00074ccdffffefb334ff
+001e80004408ff00d98000fc9405917c9283958b968b9293919a08ff00938000ff01
+224cccff00868000fffeddb33405ff00054cccfffff1199aff0007b334fffff7e666
+958b968b9193929a08ff00ecb334f89205ff00163334ff002fe668ff00131998ff00
+271998c49191918ba085916b8a6a8a748b748b648c668c85858b769185cc86ff0001
+b334ffffe51998ffffe84cccffffc9e66808ffff421998fc2ffffffb66688bffff80
+1998ff0108e666ff0049199cff008b199a05ff00184cccbaa1b1bf9391918ba08591
+728a728a748b748b6e8c708c85858b769185080ef74b81ad71acf7fbb269b7f777ad
+897712e9daf752daf769e1136b80e9f70e158b388087558785858b769185b58ca18c
+b48bb98ba88ab68a91918ba08591478f808f8bde08f7a0e80794998f941f9f078f88
+8d861efb00c706f72ecfa2ac1eff003f33348bfffff13332ffffc23334ff0027999a
+fffff2cccc8c878b748b8608fc7c078b64ff00003334fffff5cccdfffffbccccffff
+ea333390839087978bff0006199aff0005cccdff0009e666ff00094ccdff0007b334
+ff0008e666ff000a4ccc97918b96fffff6cccd08139780ff0016e666ffffecb333ff
+001dcccefffffa8000ff00234ccc8b08f1f70be8f733f70e31d6341fffffd519988b
+ffffd9e6687a6c6ffffff9b334fffffa4cccfffffc4cccff0001b3348b9408f74c07
+cc8eb38b1e92878e831e7b806f827e8808136b80759a7195688b0837fb0743fb301f
+605a0779867f831f7e07868c8a8f1ece06f8017015139380780a0ef85d89acf7fbba
+5cb2f777a77bae867712e7d6f753d6f752d6f75ad513b3c0f804f8cb15f9050aff01
+053334ff006ab33415138bc0fffff9ccccff0006ccccffffe59998ff00188000ffff
+bb66688b678b4e7369550813b3c07ea460ad3b8b708b7484767f466271428bfb0e08
+580679867f831f7e07868c8a8f1ed0fbce068b6efffff76666fffff5999affffdd99
+9afffffc66660878890586ffffff800088fffffd80008b86088b748d89058bcf8daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffde999aff
+00038000fffff66666ff000a80008ba808f7cef753fbce078b6efffff56666fffff5
+6666ffffdf999afffffc999a0878890586ffffff800088fffffd80008b86088b748d
+89058bcf8dafb2cf898b1e8d8d8ba2058b9088ff0002800086ff0000800008788d05
+ffffdc999aff0003b333fffff86666ff000a4ccd8ba808f7cee90795998f941f9f07
+8f888d861efb02c3068b9f8cb891ad0813cbc099d4ad96a18ba38ba57b9577957694
+75a78b08918006fc8a078b6efffff96668fffff8999affffdb9998fffff966660880
+8905fffffb1998ffffff199afffffde668fffffde6668b86088b748c89058bc78daf
+b2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffe18000ff
+00033333fffff38000ff000acccd8ba808f78507c6c3b69ca88b08b9a0683a1ffb5a
+078b6efffff5ccccfffff54cccffffdf3334fffffcb3340877890587ffffff999a88
+fffffd66668b86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff000280
+0086ff0000800008788d05ffffdfb334ff00036666fffff54cccff000a999a8ba808
+f76207f272bf431e648b467b484808f77e07cc8eae8b1e1387c092878e831e7b80ff
+ffde3334fffff3b3347e88080ef75bfb71aff74bacf7fbb29877f77ea77aac12e7d6
+f753d6f740ef4dd613eb00f804f8cb15f9050a13d340f7f5fc5c15f7e17b0713e780
+7e8b6b7e688b08fb51c706f72ecea3ac1eac8baa7f936197549b73ab8b9f8b9f9d8b
+a08bb069b266a3729c7095668b498b516370680813eb407ea460ad3b8b708b748476
+7f466371418bfb0e08580679867f831f7e07868c8a8f1ed0fbcf068b6efffff76666
+fffff6999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608
+788d05ffffde999aff00038000fffff66666ff000980008ba808f7cff753fbcf078b
+6efffff56666fffff66666ffffdf999afffffc999a0878890586ffffff800088ffff
+fd80008b86088b748d89058bcf8dafb2dc898b1e8d8d8ba2058b9087ff0002cccd87
+ff00003333086b8d05ffffe23334ff0001e666fffff2ccccff000b199a8ba808f7cf
+f74907a58e7f631ffb9b07fb008bfb2c5f1e808b8592859483958197718b0880787f
+796dad7d9d1f9f8bad8bb0aa08bab1a5ef8bf735080ef83b89acf7fbb270a6f774a7
+79ae12e7d6f753d6f752d513d7f804f8cb1582678b648a770860fb5396078bcf90af
+919ea0dbb5959a8b968b93899b81ae758055bd8b08f7e0fffe9de66615ff00038000
+ff0000b334ff00034cccff00006666ff000333348ba28b977a997808d428059f6e8e
+7e8b7f088b768e87058ba58dafb2bd898b1e8d8e8ba10590858e851e8806718b6d9e
+78a608fb0af73d05888f89908b8f8b8f8d8f8e8e08d7df0513afa3a5b8a1a68b0892
+068f928e901f8b9e878d058b558964675c8d8b1e88898b7805878e87901e8f06a390
+83831f8b81867e7c7bffffca8000ffffc54cccffffde9998ffffe1b334ffffd3e668
+ffffea999a08ff01ca6666750777827d87788777976d936b8b528b4d7770540813d7
+7ea360ad3b8b708b7484767f466271458bfb0e08580679867f831f7e07868c8a8f1e
+d0fbce068b6efffff96666fffff5ccccffffdb999afffffc33340878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdc999aff0003b333fffff86666ff000a4ccd
+8ba808f7cef753fbce078b6efffff76666fffff5999affffdd999afffffc66660878
+890586ffffff800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8b
+a2058b9087ff0002999a87ff0000666608788d05ffffde999aff00038000fffff666
+66ff000a80008ba808f7cee90795998f941f9f078f888d861efb02c3068b9f8cb591
+ad0813af99d4b994a18ba38ba17d957795779476a589088b808bfc87058b6efffff6
+6668fffff58000ffffde9998fffffc80000878890586ffffff800088fffffd80008b
+86088b748d89058bcf8daeb2d0898b1e8d8d8ba2058b9087ff0002800086ff000080
+0008788d05ffffe09998ff00034cccfffff46668ff000ab3348ba8080ef79c81c25c
+acf7fbb2f76fac7cab12e5daf74fdaf6dc94da133780f804f8c8158c8a05806c8965
+8b7a085bfb4f97078bcf8eab919ea0dbb5939a8bff002bcccc8bff000f4cceffffd9
+3334ff0002e666fffff8cccc94769478a48b088e8b8e8c8c8c08fbaafc4e15136780
+8b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f7e8f
+8bde08f7a0f74ffba0078b3880875f8785858b769185b58c9b8cb08bb98ba88ab68a
+91918ba08591478f808f8bde08f7a0f759fbc10713af8044aa6fb91eb98bbda1b2b7
+89ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f30795998f94
+1f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4c
+ccfffff7666889ff0000999884ff00021998ffffe93334ffffffe668fffff6cccc8b
+ffffad199a08fb59ffffffe6668bb805f70c9bd3c01ea38b95768f779070997da68b
+a58b94a08b9c8b9c809b7c98779d7297628bffffd8199a8bffffd16666ffffe9b334
+ffffe0ccccffffcc999808137780fffff23334ff0017e668ffffd5199aff0020cccc
+ffffb166668b708b7484767f46636f448bfb0e085a0679867f831f7e07868c8a8f1e
+ce060ef75789acf7fbb266baf775ad12e7d6f756d6f759d613def848f7f815f7e775
+077d827d857d86759a7193688b0837fb0545fb301f60580779867f831f7e07868c8a
+8f1ed0fbce068b6efffff76666fffff5999affffdd999afffffc66660878890586ff
+ffff800088fffffd80008b86088b748d89058bcf8dafb2ce898b1e8d8d8ba2058b90
+87ff0002999a87ff0000666608798d05ffffdcb333ff0003e666fffff84ccdff000a
+199a8ba808f7ceea0794998f941f9f078f888d861efb02c706f72ed1a0ac1ea98b9e
+7b986a917e958197878c878b878b8708fc88078b6efffff66666fffff58000ffffde
+999afffffc80000878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+aeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff0000666608788d05ffffdf999a
+ff00036666fffff56666ff000a999a8ba808f7870713bec6c3b69ca78b08ba9f683a
+1ffb5c078b6efffff86668fffff5b333ffffdc9998fffffc4ccd0878890586ffffff
+800088fffffd80008b86088b748d89058bcf8dafb2cf898b1e8d8d8ba2058b9087ff
+0002999a87ff0000666608788d05ffffdd9998ff0003999afffff76668ff000a6666
+8ba808f76407f272bf431e648b457b4948080e49fb71aff74bacf7fbb2f780ac12e7
+d6f741ee4dd613faf858f515f7e67c077d8b6b7c688b08fb51c706f72ecfa1ac1e13
+fcab8baa7f946096559c73aa8b9f8b9f9d8b9f8bb06ab266a4729c7195658b083723
+55fb591f79580779867f831f7e07868c8a8f1ed0fbce068b6efffff38000fffff533
+33ffffe18000fffffccccd0878890586ffffff800088fffffd80008b86088b748d89
+058bcf8dafb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff00003333086a8d05ff
+ffda4ccdff00024cccfffffab333ff000bb3348ba808f7cef7490713faa58e80631f
+fb9c07fb008bfb2c5f1e808b8592859483958197718b0880787f796dad7d9d1f9f8b
+ad8bb0aa08bab1a5eb8bf736080ef73a89acf7fbb270a6f77fad12e7d6f756d613bc
+f848f766158f8c908c8f8ba28b977a997808d428059f6e8e7e8b7f088b748e89059a
+8ca38ca28bae8ba78ba589088d8d8ba20590858e841e8806728b6c9e79a608fb0af7
+3d05888f89908b908b8f8d8e8d8e08d8df05a3a5b8a1a58b0893068f918e901f8b9e
+888d058b548964685b8d8b1e88898b7805878f87901e8f06a29183831f8b81867e7c
+7b534f6a6d5e7508f86075077a8480837d86759a7193688b0837fb0542fb311f13dc
+64580779867f831f7e07868c8a8f1ed0fbce068b6efffff56666fffff56666ffffdf
+999afffffc999a0878890586ffffff800088fffffd80008b86088b748d89058bcf8d
+afb2ce898b1e8d8d8ba2058b9087ff0002999a87ff0000666608798d05ffffdab333
+ff0004199afffffa4ccdff0009e6668ba808f7ceea0794998f941f9f078f888d861e
+fb02c406f72ed1a3ac1ea98b9e7b986a917e958197878c878b878b8708fc88078b6e
+fffffa6666fffff5e666ffffda999afffffc199a0878890586ffffff800088fffffd
+80008b86088b748d89058bcf8daeb3cf898b1e8d8d8ba2058b9087ff0002999a87ff
+0000666608788d05ffffdf999aff00036666fffff56666ff000a999a8ba8080e8c81
+c25cacf7fbb2f77fad12ebdaf756da13bcf743f81a15f756fbc10644aa6fb91eb98b
+bda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c91ff791f307
+95998f941f9f078f888d861efb0cb206cc8fb38b1e92878e821e51ffffe5b3340585
+fffffc4cccfffff7666689ff0000999a84ff0002199affffe93334ffffffe666ffff
+f6cccc8bffffad199a08fb56ffffffe6668bc4058bcefffffc8000ff00328000ff00
+078000ff0016800093a3ff0015800099ff000f80008ba78b997a976eff00073334ff
+ffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a08779a6d9465
+8b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f1ed0fba00613
+7c8b388087558785858b769185ad8caf8cae8bae8bb68ab38a91918ba08591478f80
+8f8bde080ef79481b866acf803ac71adf75ea9a67712b0e1f741dedada139f80f812
+e615fffffd3334ff00093333fffff5ccccff0005cccd828c6c5e6a70608b08484cdd
+f704f700b1cfcd1fc68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21
+fb16cb33f7161fc68bbba4b7d708d7aa15136f808b387f88688685858b769185ac8c
+9f8cad8bae8b988ab68a91918ba08591628f808f8bde08e507ff0017ccccffffff99
+9aff000db334fffff89999ff00138000ffffe3cccd08d424059f6e8e7f8b7e087b07
+888c898e1e9f8c9e8ca98baa8ba08aa98a91918ba08591698fffffe2ccccff000433
+33ffffe93334ff0021cccd08fb09f74105888f89908b908b8f8c8e8e8e08d7df05ff
+001db334ff001eb334ff001e4cccff000b4cccbd8d91918ba08591668a7d8a678b65
+8b7a8c668c85858b769185ff003c8000886bffffda8000fffff58000fffff5800008
+ffffcb6668ffffc68000ffffce3330ffffd3b333ffffe56668fffff84ccd08ff0159
+800007cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b37080ef7
+b37fb868a8f801ba69adf7977712b0e0f7ded6f75ad6131ff812e615fffffd3334ff
+00093333fffff5ccccff0004cccd828c6c5e6a71608b08484cddf704f700b1cfcd1f
+c68b92638e6a8e729580a18b089fa79aa8c058b92b203331fb21fb16cb33f7161fc6
+8bbba4b7d708f724ff00c2e666158bff0015199a94ff000c4ccc93ff0008b334b1ff
+00254cccff00269998ff0015b334ff002766688bff001466688ba0fffff2e666ff00
+0b9998ffffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b39818757860813
+5f86858b769085b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729
+078bc2fffffc4cccff00308000ffffe8b334ff001e800008136fffffef3334a1ffff
+e0cccc97688bffffcee6688bffffd019987e4e47fffffc9998fffffc3334fffff999
+9cfffff5cccc8b9908ff0000ccccf77505cc8fb38b1e92878e821e7281407d638889
+838d7b9185bf8897908b3708fc49078b387f86ffffda33348885858b769185ff0029
+33328cff0005999a8cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd
+33348f828f8bde080e9e81c2f7edb201e5daf767da03e5f81a15fbc10744a96fba1e
+bd8bb9a8a5b2fffffd4cccff0009999afffffbb334ff00046666828c7c7e6f7c6f8b
+087085a9c91ff791f767fbc10744aa6fb91eb98bbda1b2b789ff000a4ccd85ff0005
+b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861efb0c
+b206cc8fb38b1e92878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000
+999a84ff0002199affffe93334ffffffe666fffff6cccc8bffffad199affffd5cccc
+ffffffccccffffc0b334ff0000199affff9680008b08a807cc8fb38b1e92878e821e
+51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199affffe933
+34ffffffe666ff0000cccc8bffffad199a085dffffffe666057d877f831f7e07868c
+8a8f1e0ef70c7fb860c2f7edb273adf77ba712b0e0d1acd2def70fd557ba139f40f8
+12e6157999056c5e6670608b08484bdff704f700b2cfcd1fc68b92638e6a8e729f80
+a18b9f8b9d9a8ba88bff0025999affffe64cccff00223332ffffceb334ff0010999a
+ffffc3e666ff00244cceffffed199aff003033348bff0032199808c3cbbedef2bc52
+321e136f8063765448888a8a881e6c07888d8a8e1eccfbc10644a66fb91eb88bb4a1
+b1b788ff00063333fffffbe66891fffff51998ff0004cccd71777883718b087084a9
+c91ff791ea0795998f941f9f078f888d861efb038b05139f4086ea0586f70150ccfb
+118bfb0c8b45478b438bffffd39998ff0009cccdffffd9ccceff00231999ffffdb99
+9a08fffffb199a06203331fb21fb16cb31f7161fc68bbba6b7d7080e4f89acf7f6a7
+79ad9877f787ac12e7d6f739ee51da13aee8f871158a7081766c8b0879867f831f82
+07878c8a8f1eb706998c877f1ffbc3078b6efffffb666681ffffd9999a8708788905
+86ffffff800088fffffd80008b86088b748d89058bcf8dafb2d5898b1e8d8d8ba205
+8b9087ff0002b33387ff00004ccd08728d05ffffde6666ff0002b333fffff6999aff
+000b4ccd8ba808f82e07f72ecba4ac1eab8ba67f946096559c73ab8b9e8b9f9d8b9f
+8bb06ab266a4729c7595658b083c8b2d5981fb3f0813ddf7fbfbf715860a0e6789a8
+f804adf77fad01e7d6f74ad603f815f903156dae62a24e8b718b7585767e50667254
+852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc3078b6eff
+fff38000fffff53333ffffe18000fffffccccd0878890586ffffff800088fffffd80
+008b86088b748d89058bcf8dafb2ca898b1e8d8d8ba2058b90fffffce666ff00024c
+cdfffffb199aff0000b333087d8d05ffffe0e666ff00046666fffff4199aff000999
+9a8ba808f7f507f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89
+698b75087080766c7a857f831e8207878c8a901eb6069a8c877f1ffbc3078b6effff
+f66666fffff58000ffffde999afffffc80000878890586ffffff800088fffffd8000
+8b86088b748d89058bcf8daeb2dd898b1e8d8d8ba2058b9087ff0002cccd87ff0000
+3333086a8d05ffffe03334ff0001e666fffff4ccccff000c199a8ba808f82207f70c
+9dd1c11ea38b91788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b
+488b62578374080ef8dcfb7b929d92f705adf7419d7aa3f7a99df7de929c9212d492
+9d92f809bcf714b8f80a929d9213f7fcf912f8ff15fffffa99988bffffefccd08fff
+ffdf99988b838b838b848a969b83a6af9b8391828f7f8b788b7d7c8b798b7d98868b
+86088b838487858968866b816d7d8b8e8c8e8b8e8b928a8c8b948ba695949393868c
+868d838b08767c7b781f8b6fa28f8b818b84fffffbb334fffffb9998fffffc4cccff
+fffd66688184ffffe78000fffff48000ffffda8000ffffda8000899e77988ba68b93
+8c8f8d92688389758b8308829073a3ff0005ccccff000833348b7f1e8b878a878988
+7572786e7d6b819f699089b68889767e8b748b779d7c998b938b92908f8b08938d80
+801f806e856a896a8790838e818d68938199849a858287818b7f8b749d7d9f8b9b8b
+919a918b08978b907d8c848b6b8f728f79868d868c838b668b7e988197898588838b
+828b749c7aa08b08a88b8ba1928b918b90898f878f7d8e828b840879077f8e84921e
+918b918e948b968ba5879a8b918b8f8c8b8e8b9c42a3859b859b859b879d8e95928f
+8d8b08908b9283968b998ba0988ba38b9d7f97829384616b887d7c899789988b998b
+a18d9f8fa0088e909091948b918b8e79a08ba28b9a9b8b9f8b968792889372666f9a
+778094ab98aa9da6088e8d8f8d908b998b846fab8b9e8b9b9b8ba38b908a8f8b8e85
+868282758bffffeeb3348bfffffd99988fffffefb3348b089ca19fa0a19d8e8c8e8c
+8f8ba08b7677a47d9187918a918b998b9c9490a98388878a828b08768b7e977c8fa3
+9ba498a795ff001180008bff00008000fffffa99988bfffffc66688b8887848b848b
+8098799e8ba18b969e8e9008ffffd966688bffffff9998ff0016999876ff000e6668
+a693a88ea98b98888b848b8a8b8781838b818b7b987b9e8b978b94909594086a958a
+a58199a48a9e8799889988877c978490889188928b918b8f8d918b8e8b8e8a8e8a08
+829c91938292888e8291828b848b8787848b898b898d7a8f999690a5af8e888f809c
+778b08787e797f1f8b8391858b88088987837f1efb88fce315898d888d1e8f8b8991
+918b8d8b8e898b878b7a6f94827f08a07b9292898e0588898a8a8a8b8a8bffffffb3
+34ff00008000ffffff4cccff00008000088192059192a8848b9c8bff00034ccdffff
+fde666ff0004b333fffffc8000ff0002e666fffffd199aff00024ccdfffffc199aff
+0000cccdfffffc66668b08878788891fc56c15827f76848a898c8e9397a191ff0002
+6666ff0001999a8a881e7b691598949d9693879083817f7d7d809288901fc8981581
+837684fffffe199afffffee6668d909393a1918e8c88881e7d691598939c9797848e
+867f837b7f828f84921fc8a315858488861e888e07ff00046668ff00039998898584
+8785861f858b8d91858b08898a8a8a88918793959192931f8b91878f878c8d8c928e
+8b910890868f838188848a898d8a8d1e918b8693948b088e8c88881fb272158b908b
+908e898e888b868a86888d898e1ff77ef8da158df5ffffb4ccccffff523334fb1344
+4c798a8b8b8c8c8b8c8c1fb499b7de8be58bf74521c98b93088c8c8c8c1ee8ba158a
+8a8b891f8b868f838b8a898b869b878b8a8b8a8a8b8a8b878f848b888b8a8b8a8a8b
+888b8898878b088a8a8a8a1f8b858f858e838a8b8595888b8a8b8b8a8b898b879083
+938398828a869080877e838e847f087a99728e88a08a94879485907a9b579a878b80
+8b88848b858b8392819180917e956fa08408a2839879917d7a898b777d8b898b8093
+849c86998691878b8a8b8b8b8b8a8b8890848b89088a8a05898c8199878b8a8b8a8a
+8b8a8b8793848b88858efffffacccc90fffffc33348b8a8b8b8b8b8a8b8797818b8a
+088a8b8293878b8a8b8a8b8b8a8b879b828b8a8a8b8290888b8a8b8a8a8b8a8b8896
+829f87089b6c8c8b8d8b8b8ba08da39e8b64977197727c968990868b808b846b8b8b
+088b8c918e91898c89878a808b8b8a97878a898b87888d868b1f8b8795878a8a8a89
+878f858b1e8b858f898a8a8b898892828b1e8b878f888a8a8a8989996c9f9b8e9895
+1e8e0795849a769c868b868c868b868b566e2c5978898a8b8a8b8b8b8a8b8b8c8bc5
+8bc5d392dc088c9a8d998c98ff000b8000ff0005b334ff00043334ff00088000ff00
+164cccff0023cccc088b8d779ca293ae908d8b8d898987858b1e8b8f948e8d8a8d88
+1f8a8b89898a8a08938a8c898789858b8b8a9088888a87881e8a8d898d898b8a8b89
+8a8b888b888d868d868791849f7f8b828b908876750899078bbb80a773a893969394
+8e978c8f8e918b8d8b8ffffffeb334ff0002ccccfffffe4cccff00023334087e9c05
+8c8f8b8f8b8f08968896898a8a89891e81078a8b899e868b08fb1dfc4c15970713ef
+fc8e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713f7fcf9060a13effcf9070af7c1f73015fb9ffb6efb6efb9ffb9ffb6ef76e
+f79ff79ff76ef76ef79ff79ff76efb6efb9f1efc79f87f15fba4fb6ffb6ffba4fba4
+f76ffb70f7a4f7a4f770f770f7a4f7a4fb70f76ffba41ff892fc7f15fbadfb79fb79
+fbadfbadfb78f779f7adf7adf778f778f7adf7adf779fb78fbad1efc92f89815fbb2
+fb7afb7afbb2fbb2f77afb7bf7b2f7b2f77bf77bf7b2f7b2fb7bf77afbb21ffb76fd
+9315ff0002b334ff00024cccff0001e666ff0003199aff0003cccc88ff0002333488
+fffffdb334fffffd4ccc8987fffffd33338efffffdcccd8e1f0ef8dcfb7b92f71ead
+f7419d7aa3f7a99cf7f79212d492f822bcf714b868aef8239213df60f999f7161597
+078e898c881e47da06687e8b7f056c8174601e53067980969f1ff76f07a199909f1e
+9b068e8d8d8e1f8b97898c3c8a5d8b6c8c898a8b7f05888d898f1e9b06a09885761f
+fb7a0713efa0f9060a13dfa0f9070af7daf73015fbaefb78fb78fbaefbadfb78f778
+f7aef7adf778f778f7adf7aef778fb78fbad1efc92f89815fbb1fb7bfb7bfbb1fbb2
+f77bfb7bf7b1f7b2f77bf77bf7b2f7b1fb7bf77bfbb21f0efb6292fa5e9201fece92
+fa5e920322f7b215fba0fb6dfb6dfba0fb9ffb6ef76df7a0f79ff76ef76ef79ff7a0
+f76dfb6efb9f1efc79f87f15fba3fb71fb70fba3fba4f771fb70f7a3f7a4f770f770
+f7a4f7a3fb70f770fba41fbcfb3215878b898c888b7c8d7b8c7d8b838b838b838a97
+9b83a6af9b8391828f7f8b788b7d7c8b79088b7d98868b868b838487858968866b81
+6d7d8b8e8c8e8b8e8b928a8c8b948ba69594939308858c878d838b768b7c7b8b788b
+6fa28f8b818b848786878908838605737d767977788a9e76988ba68b938c8f8e9268
+8388758b838b829173a38b089006938c82881f8b878a8789887472796e7d6b809f6a
+9089b68889757e8b748b779d7c9a8b938b92908f8b088e92867f1f8607806e856a89
+6a8690848e808d69938199849a858286818b7f8b749d7d9f8b9c8b919a918b08978b
+8f7d8c848c6b8f728f79868d858c848b658b7f988197898588838b828b749c7aa08b
+08a88b8ba1918b928b90898e878f7d8f828b848b858a858b858b7f8f84928b918b91
+8e948b08958ba687998b928b8f8c8b8e8b9c41a3859b869b859b879d8d95938f8d8b
+8f8b9283978b0899a098a31f8b9d7f97829384616b887c7c8a9789988b998ba18d9f
+8fa08e909091948b918b8e79a08b08a2999b9f1f8b968892889372666f9a778094ab
+98aa9da68e8d8f8d908b998b836fac8b9e8b9b9b8ba3088b908a8f8b8e8586828275
+8b7c8b838f818b0888069ca19fa0a19d8e8c8d8c8f8ba18b7677a47d9187918a908b
+9a8b9c9490a98388878a828b08768b7d977d8fa39ba498a695088f06949185881f8b
+8887848b848b8098799e8ba18b959e8f900887066c8b81a57c96a693a78eaa8b9788
+8c838b8b8b8781838b818b7b987b9e8b978b949095940869958ba58199a48a9e8799
+889a828682978490889188928b918b8f8d918b8e8b8d8a8f8a08829c91938292888e
+8191838b848b8787838b8a8b898d7a8f999690a5af8e888f809c778b08777f797f1f
+8b8391858b888b8987837f8b08fb89fce315898e888d1e8f8b8991918b8d8b8e898b
+878b7a6f94817f08a17b9292898e0588898a8a8a8b8a8b8a8b8a8c088292059092a9
+848b9c0891829384878688891ec56c15828076838a898c8e9398a1911e8c068d8b8a
+881f7b691599949d969386908480807d7d809188901fc99815818376848a898d9093
+93a1918e8c88881e7e691597939b9797848f8580827b7f829184921fc7a315858488
+861e888e078e908985848685861f868b8d91858b08898a8a8a88918793959192931f
+8b91878f878c8d8c928e8b910890868f838188848a898d8a8d1e908b8793948b088e
+8c88881fb272158b908b908e898e888a878a86888d898e1ff77df8da158d06f22a8f
+2f8b4f08fb13444c798a8b8b8c8c8b8c8c1eb499b7de8be58bf74b21c08b968b8c8b
+8c8c8b08e9ba158a8a8b891f8b868e838b8a8a8b869b878b8b8b8a8b8b898b878e83
+8b888b8b8b8a8a8b888b8798878b088b8a8a8a1f8b86927f8b89088a078a8b859588
+8b8a8b8b8a8b898b878f83948397828b868f80887e838e847f7a99728e88a0088994
+879486907a9b579a868b818b88848b858b8392819080927e956fa084a2839879917d
+087a898a777e8b898b8093849c86998591888b8b8b8a8b8b8a8b888f848b89088a07
+898c8199878b8a8b8a8a8b8a8b8793848b88088a06898b8293888b8a8b8b8b8b8a8b
+8796818b8a8a8b8393878b8a8b8a8b8b8a8b879b828b8a08898b8390888b8a8b8b8a
+8b8a8b889482a0879b6c8c8b8d8b8b8ba08da29e8b6498719672087d968990868b80
+8b846b8b8b088b8c918e91888c89878b808b8b8a97878a898b87888d868b1f8b8795
+87898a8a898790858b1e8b858f898a8a8b898892828b1e8b868f898a8a8a8989996c
+9f9b8e98951e8e0795849a769c868b868c868b868b566d2c5a78898a8b8a8b8b8b8a
+8b8b8c8bc58bc5d392dc088c9a8d998c988f8d918f9092949999a28b8b088b8d779c
+a293ae908d8b8d898887858b1e8b90948e8d8a8d881f8a8b8a898a8b0893888b8986
+8b858b8b8a9088888a87881e8a8d8a8d888b8a8b888a8b888b888e868c868891849f
+7e8b838b908876750899078bbb80a773a8939693948d978c8f8f918b8d8b8f898f8a
+8c087e9c058c8f8b8f8b8f08968796898a8a89891e8b878c878b898a8b889e878b08
+fcb8fcab158b908c8f8e898e8989878987898d888e1f0e3d89a8f804adf77fad01e7
+d6f74cd603f73bf87a15f72ec8a3ab1ea98b9e7b986a927e94819887088b7f8bfc8c
+058b6efffff64cccfffff4b333ffffdeb334fffffc4ccd08828a0586ffffff666689
+fffffd999a8b86088b788c89058bc58dafb2d4898b1e8c8d8b9e058b9088ff000299
+9a86ff0000666608748d05ffffe06666ff0002b333fffff4999aff000b4ccd8ba808
+ff0203b33407cc8eff00234ccc8b1e92fffffbb3348efffff84ccc1e7b80ffffe5b3
+3482fffff34ccc88759a7193688b398b264587fb2a087081756c79867f831e820787
+8c8a8f1eb706998c877f1ffbc7078b6efffff7b333fffff5b333ffffdd4ccdfffffc
+4ccd0878890586ffffff800088fffffd80008b86088b788d89058bcf8fafb2ce878b
+1e8d8d8b9e058b9087ff0002999a87ff0000666608798d05ffffdd3333ff0003e666
+fffff7cccdff000a199a8ba8080ef75889a8f804ad849ff767a77bac12e7d6f74ad5
+f75fd6138ff8a8f94e15488b617565560813d76dae62a24e8b718b7585767e506672
+54852e897081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7078b6e
+fffff96666fffff5ccccffffdb999afffffc33340878890586ffffff800088fffffd
+80008b86088b788d89058bcf8dafb2ca898b1e8d8d8b9e058b90fffffce666ff0002
+4ccdfffffb199aff0000b333087d8d056aff0004b33381ff00094ccd8ba808f7f907
+f751beaead1eb08b9a6c907790769878a58b8d8b8d8c8d8c836c89698b7508708076
+6c7a857f831e8207878c8a901eb6069a8c877f1ffbc7078b6efffff66666fffff580
+00ffffde999afffffc80000878890586ffffff800088fffffd80008b86088b788d89
+058bcf8daeb2dd898b1e8d8d8b9e058b9087ff0002cccd87ff00003333086a8d05ff
+ffe03334ff0001e666fffff4ccccff000c199a8ba808f83207138ff72ecba4ac1eac
+8ba67f936097559b73ab8b9e8ba09d8b9f8bb069b266a408729c7595658b08f744fc
+d415ff00c74ccc07ff0031b3348fcb8b1e13a78f868e831effffe3800080ffffd880
+0082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb
+57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba085914e8f
+808f8bde080e857fa779a8f804ad7aa9f773ac12e7d6f706c94da699e6d4ce62a613
+6c80e8f871158a7081766c8b0879867f831f8207878c8a8f1eb706998c877f1ffbc7
+078b6efffff56666fffff56666ffffdf999afffffc999a0878890586ffffff800088
+fffffd80008b86088b788d89058bcf8dafb2d5898b1e8d8d8b9e058b9087ff0002b3
+3387ff00004ccd08728d05ffffda66668efffffa999a968ba808f83207f72ec1a4ac
+1eac8ba5809473966b9c66ab8b089e9798a0ba50c3331f3c8b375981fb3f08134d40
+f750fbe5158f5a8e588b61958d938c918b918b918a928a08139e40a4849f87ae8bb8
+8becac8bea8bdb4eb03aa9559f7d9e8bb38bbcada0b18b08139e20a08bc27ba03908
+a68c0589af88ad85ab6c9b6a945a8b3c8b54578b4c8b40ac75d46b08138d40db699e
+6f8b608b5d5e6c6a8b668b7a9d819676a37fba88a4080ef282b464bcf755b2f720a9
+12b2d34ed4f73ed9f767db1377f890b515404dd2f61f8b948b888c9408f7b606eb68
+f705fb1d1e528b5d72645e66ce3e8e738b08393d5d51779472aaa4999c9b1f8ba285
+808ba58baab89cb28ba08ba1819a7ca76f8b518b720830740513bb2371505e8b3b8b
+47bd5ed98baf8bb293a79f081377aba205a29e8f8c90909b74b958f18be38bb9c5a5
+ae087a950568655f7b558b08d5f77c15fb630692c4aedad38b08b0c36e201ffbb571
+15fb3e0713bb656c6e7c738b3e8b7dbb8ba88bc3a4b8f731b1080ef74d89a8f804ba
+5cadf77fad12e7d6f74cd6f75ad513bef7fef93715759b7192688b398b264587fb2a
+087081756c79867f831e8207878c8a8f1eb706998c877f1ffbc7078b6efffff76666
+fffff5999affffdd999afffffc66660878890586ffffff800088fffffd80008b8608
+8b788d89058bcf8dafb2ce898b1e8d8d8b9e058b9087ff0002999a87ff0000666608
+798d05ffffdab333ff0004199afffffa4ccdff0009e6668ba808f83207f72ec8a3ab
+1ea98b9e7b986a927e94819887088b7f8bfc8c058b6e80fffff9199a6bfffff8e666
+08828905fffffb199afffffee666fffffde666fffffe199a8b86088b788c89058bc5
+8dafb2d4898b1e8c8d8b9e058b9088ff0002999a86ff0000666608748d05ffffe166
+66ff0002b333fffff3999aff000b4ccd8ba808f78e0713debbbab6a5a88b08c3a178
+3a1ffb73078b6efffff76668fffff5999affffdd9998fffffc66660878890586ffff
+ff800088fffffd80008b86088b788d89058bcf8daeb2d0898b1e8d8d8b9e058b9087
+ff0002800086ff0000800008788d05ffffdf9998ff00036666fffff56668ff000a99
+9a8ba808f76807f268c2421e648b517b484808f77907cc8eae8b1e92878e831e7b80
+71827e88080ef924fb76c2c5b5c6ad6bb8f803a8f755ad12b0e6f84ee7f72cd6f752
+d613cfc0f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333ff
+fff64ccefffffeb333ff00033332ff00026667ff00034cceff00026666ff00034ccc
+ff00024ccdff0029999aff001d999aff002d199aff00151999ff00223332ff00094c
+cdff0055b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff00
+38b333a1ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e6
+66ffff3e199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ff
+ffee3332fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e
+6308b37705ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff0013
+3333ff000ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37c
+df8bf38bf0b0cac6087a9d0549663b75598b083f8b589931ae08fb85f97c15640a13
+dfc0f8f3fd0c15b28bba9fbcb3908fff00094cd08dff0000b33084ff00028000ffff
+e68000ff00088000ffffde80008b8b9388ff00048000ff00008000ff00068000ff00
+028000a19dae9ac89291918b9a8591084b90829e8bbc08f75407a98fd48b1e8e888e
+861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f8b4908fb55078b788983
+7d7f666b657b728b086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b
+8b678c698c85858b769185bb8799808b4a08fb540746a948ee1e0ef85989acf7f8bf
+f73bb29377c277128eadf778e0f78cdaf766da13ef80f7f2f70e15f81207cb95b1af
+1ea106d6f4983f1ffc39078b38fffff4333487518785858b769185ff002933348cff
+001999988cb68bb28bff0011b3348aff002a19988a91918ba08591ffffcd33348f82
+8f8bde08ff00a3e666078bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccc
+ff00329998ff0015b334ff002766688bff001466688ba0fffff2e666ff000b9998ff
+ffe9199a95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085
+b58c9f8cb38bb48ba18ab68a90918ba086915390808f8bdd08f729078bc2fffffc4c
+ccff00308000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6
+688bffffc419987e4e4708fffff633348bff0000ccccf76b05ff00003334ccff0003
+ccccb38b8b8b92878e828bffffe9b334fffff71998ffffd86664ffffe4ccd0ffffc5
+999cfffffd9998ffffc29998fffffd8000ffffac999a89ffffcc199a8b08350613df
+80f7300a13ef809fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b76
+9185bc8cff002466668cff0036999a8bff003633348bff0022cccc8abd8a91918ba0
+8591083b8e7a908bde080e4cfb7caef74faa789ef704adf773b212e4d651c589d8f7
+4cdb13dc80f738f71d158bf791f77f8cfb2afb919c7b059d8fa992968b08ccac452b
+24494e601f13d980628b70ae84a183a37d95748b08768079796bc651dff709dcf1f7
+05ef40df311ff71bf770059ca590978b8f8b8f858d848b888b68856e8b0813da80fb
+8ff72f0651778b78053f7b6348898a8a881e6c07888c8a8e1e13dc80ccfbc10613d9
+8044a56fba1e13bc80968ba194938e0813dc808b95fffffc8000ff00033333fffffa
+8000ff0005cccd0885067c8299f11f0e42fb6d76f780acf803b7f75da8a57701f701
+d6f768d903f701d7158b6efffff63333fffff4ccccffffdecccdfffffd3334087389
+0586ffffff999a89fffffd66668b86088b748c8905bd8c9f8cb28bb48b9f8abd8a08
+8d8d8ba2058b9087ff0002b33387ff00004ccd08738d05ffffdeb333ff0002ccccff
+fff74ccdff000b33348ba808f79507bfc1ac96a58bb88bc3578bfb198bfb8e472422
+41ff00004ccdfffff54ccdff0003b3338392fffffab333f70dc0f70bf7148bf7a58b
+f7443bbd3e8b085d8b6778585d08f76207cc8eb38b1e92878e821effffe6e66681ff
+ffba999a7effffd7800088088d73058b88ff0002ccccfffffe3334ff00033334ffff
+ffcccc08ab89059f957e4a1f0e7e7faa76acf7fbb2f785a712ecdaeccfc8cd9acc13
+7fecf87115707f766178867f831e7e07868c8a8f1ed4fbce068b6e83806688087189
+05878888861f8b748d89058bd78db0b5d3898b1e8d8d8ba20590878e871e758d056b
+8e7f968ba808f840078bac90aa9baaa3b9afa4bf8bbc8bb7668b558b657b755a6462
+6b74668b618b56b566cc6108c069bd698b460813bf49577c6a1e728b7295799d8790
+88928b95089f819c767a7e807c66b754e3ecc4d0d21e8be251b059ab38bf7ba48ba9
+8bb1a29fa7a3aca5b6b28bbd8bbb5ec9fb038b6a8b6a866b7b08fb075189278b6108
+0ee97fa7f820a912bba67ac9f71dceb8c94da6f746ce13cbf805f720158f5a8e588b
+61958d938c908b928b918a918aa5849f87ae8bb78bedac8bea8bdb4eb03aa90813cd
+559f7d9e8bb38bbcada0b18ba08bc27ba03908a58c058aaf88ad85ab6b9b6b94598b
+3d8b54578b4c8b40ac75d46bdb699e6f8b608b5d5e6c6a8b08668b7a9d81960813cb
+76a37fba88a40813e9fbf08a158f5a8e588b61948d948c908b928b908a928aa584a3
+87ae8bba8bebac8bea8bdb53b03aa908549f7d9e8bb38bc1ad9bb18ba08bbe7b9f39
+08a68c058aaf87ad85ab6c9b7094598b0813d94150574c1f8b40ac75d46bda69996f
+8b608b5c616d688b668b759d81960813e974a281bb88a4080ef7f481aff8eaad12a6
+ff00208000fffff78000ff00476666ff00ed999adf4bff00208000ff00568000ff00
+208000fffff78000ff00476668ff00ed9998df4bff0020800013c180ff0362b334f9
+0b15ffffc6333493ff000219989effff9e4ccc8bffff9ab3348b32488b218bffff96
+999aff00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ff
+ffe3e6678bffff9e33338b3affffd2cccc61ffffb033348b0813c280ffffa280008b
+4fff002a800075ff00638000fffff3b3348ffffff56666fffffe199afffff66666ff
+fffae6668f3e8f71975aca8ba774ff0058b3348bff002d80008bb6ff000b199aff00
+22ccccff0015b333ff00398000ff0023ffffff00248000ff003d999a8bff003f999a
+088bff006a6666ffffafe668ff002e999affffad9998ff001ee6660813c140ffffc4
+ccccff00163334ffff9c199cff0025cccc8bff0054199a8bc3ff00329998c3ff003a
+e6688bff006119988baa4d9f49ff000a8000fffffe333498ff0000cccc949208ffff
+fc8000bb87a7fffff5b334c008fc6c16f7260a13d800f7270a13e800f7280a13d400
+f7290a0e46fb4cb3f72f76f824b201e4daf788db03f73cf84115b207cc8fb38b1e92
+878e821e51ffffe5b3340585fffffc4cccfffff7666689ff0000999a84ff0002199a
+ffffe93334ffffffe666fffff6cccc8bffffad199a085dffffffe666057d877f831f
+7e07868c8a8f1ec6fbd2068b7989708d818f7a9a81ab8b08b181b7b11ff7d2f76007
+fb25fb689282059b8e9c8c988b08dac049402f493759745d83ac1f8b9895958b9e08
+a18196757a7a76794cac65dee7f705daf72a1e8bd864defb109308f70cf7410598a4
+92988b8f8b90838c868b888b6a866e8b080ef7137fd2f7b5ba83be72b2f74ab012b2
+c0f750a2beb67eb3f768be13ae40f711f7171572b283b98b9f8bd0bdddce8ba18b9b
+7f947d08fb6dfb4a1521e036f21ef7328bf72ff72299f7790813df409a829e899d8b
+08a3c4a8d7a57997797a7d7e721f8b818f8090818f848e848b868b868888838b808b
+7d9379956d9d64a05c8b083c6a5a5363a1809e9d9d9fa01f8b9d8292839282918391
+8b9a8b98988f9c8bb68ba977a37885fb1847fb4bfb558b568b66a171a708f796f859
+0513aec0969f99aa8b9708a377a16855686c571e8b858c838c8408a18d058b8f8a90
+8b8f08a99ba1a79f9c7c7a1e8b7b827b81780847fb0a05848e838d838b082dfb2148
+fb541f0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090a0e3389
+acf75dacf738ac12f701daf740d753e213f8f750f81815aa9295d0b7bf80484f6e71
+4a1e3d066a04d90613f4e6a2ffffd2199affffc9e6665f7b5225ffffbee666fffff7
+199a99b01f643915a98bbf89c38bf7198bbaff0036999a8bff004866668bcc6ab745
+9b0813f8b39dabb88bb28bc371c1fb258b568bffffdd4ccd89ffffe2b3338b6e8b5e
+8c668c85858b769185c88796878b3808fb6c078b3880884e8685858b769185b58cff
+002a4ccd8cff001bb3338b080e2481b1f82dac01b0e2f7b8a903f7a88115f90a0a0e
+6d89acf822ac01f701daf793e203f750d715f90b0a63f81415f90c0a0efb0a8baaf7
+56abf73eac12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0a0efb1d
+89acf747abf74dac01f702daf712a7bba603f702f70e158b3880884e8685858b7691
+85b18cff0028cccd8cff002133338bae8bb28ab08a91918ba085914e8f80908bdd08
+e3c407ff0040cccc8bff00023334ffffe9cccd8dffffde333390869d8b90908aa08a
+ff001780008bff001c80008bff001bb3338cff00174ccd8c9f8690798b8686895e8a
+80498b0852f731069c98969e1ed806c98b986a9d52958a948d938f87ad7fd989928b
+8d8a8c898b7d898489778b08fb63066d8b628c638c85858b769185c88796878b3808
+0e5581acf733acf772ac12b0e5f79eda68a913f8f86cff005b333315f90f0a13f4f9
+100a13f8849287948b92080e9b89acf750acf745ac01f703daf77bda03f888f7e615
+8bde968ec89091918ba0859168895f8b6a8b6f8b5f8c648c85858b769185c8879687
+8b380835fb7be1078bde968ec89091918ba08591658affffd5cccd8affffe033338b
+ffffe266668bffffd6999a8c638c85858b769185c88796878b3808fb6c078b388088
+4e8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002833338a
+b28a91918ba085914e8f808f8bde08ecf77b2a078b3880884e8685858b769185b08c
+ff002833348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f
+808f8bde080efbb089acf822ac01f708da03f757f7e615f9110a0efbb0fb43b5f8c6
+ac01f715da03f715f7e615f9120a0e6289acf74cadf748ac01f704da03f704f7e615
+fb6c078b3880884e8685858b769185b18cff002c999a8cff001d66668bff001cb333
+8bff00224ccd8aac8a91918ba085915b90828e8bde08e807a18ba4869a7708f703fb
+1e05997b8c808b7e087d07968ca48ca58ba78bbc898b8b91918ba08591708effffe8
+199aff000accccfffff2e666ff000f333408fb28f74205869187908b918b9391969c
+9d08e1ee05ff001e4cccff0022e666ff0024b334ff0005199ab38d91918ba08591ff
+ffe1b3348affffdf4ccc8a718b6e8bffffdf4ccc8cffffe2b3348c85858b769185bd
+8881713e3408ffffd54ccdffffcfccccffffe2b333fffff033346a8b08e4078bde94
+8ebb9091918ba085916b8affffdf66668affffe0999a8bffffe333338bffffd3cccd
+8c648c85858b769185c88696888b38080efb388badf81fac01f704da03f80f16f913
+0a0ed3947695acf822ac121360f877f81215928bff000d4cccfb9705ff0003999a38
+ffffff8000fffffc3333ffffc9999afffffacccd85858b769185ae8cb08ca78ba98b
+a88aa68a91918ba0859158ff00053333ffffff1998ff0005cccdfffff9ccd0dc08ff
+ffec1998f79605fffffd4cccff00283334ff0008b334ff0003ccccbd8f91918ba085
+9108fb1b89fb2afbfafb14f7fafb1f8d0585858b769185ff0030cccd8894fffffacc
+cc897808ffffe08000fffee7333405fffff6b334ffffac999afffff2cccdfffffc66
+66ffffda33338885858b7691859f8cff001d999a8cff001066668bff0013cccd8bff
+002533338a9f8a91918ba08591ffffc74ccdff00043333ff00003333ff000bb333ff
+00088000ff004a199a08a8f7928d8bf722fc0f0513a0ff0001e66686ff0005199a88
+908b8f8bff0004e6668eff0002199a90080e92947695acf822ac12f700baf7b8ba13
+b8f72ff70e15f752078bff00313334ff000cb333fffff68000ff00174ccdffffe34c
+cc08f77ffbcd059a7b9b859a8b089795929f1ff7d7078bde968ec89091918ba08591
+6d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb4f078b70887a6cb5
+08fb79f7cbfb228d89888b73058791898e1eb188967f957908fba60713788b388087
+4e8785858b769185a98cae8ca98ba98baf8aa98a91918ba08591084e90808e8bde08
+0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150a0efb1a89
+acf72dacf768ac01f702daf72be203f751f81415ab9798bbc6abffffe1199affffb9
+e666ffffb7e66671ffffd9199a4f1e778b728e7793082104d5079d839f87a48b08f7
+1ab4ebc7bf6dd1fb221f668b6189708bffffe34ccd8bffffd5b3338c638c85858b76
+9185c88796878b3808fb6c078b3880884e8685858b769185ac8cae8cb78bb68bae8a
+ac8a91918ba085914e8f808f8bde080e6bfb37baa9aef87cac01b0e2f7d0e203f7a6
+f84915f9140affffdfcccdfffe17999a15ff0025ccceff00189999ff00258000ff00
+0f199aff0019cccc94ff00784cceff001b3333ff003fccccff0063cccd8bff006eb3
+3308f722fb06e8fb16fb1f2026fb271e8bffff7fe666ff005b6666ffffa36667ff00
+7b6667fffff5b333ffffc8b333ffffe1cccdffffcd8000ffffd4e66672ffffdc4ccd
+08ac7b05ff000ab333ff000f199aff000bcccdff000d8000ff000c6666ff000c1999
+ff0009cccdff0005666794ff0001e666ff00054ccd8bd58bb83ef28bbe8bada0aab8
+087d95057a766e83748b448b51cc328bfffffd66668bfffffd4ccdffffffcccdffff
+fd199affffffcccd080e3784ae6dacf746a8f755ac12f704daf730e2133cf7eff7ee
+153cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b3331eff0045
+8000ff00148000724f1ffb30fb7415f9160a13bcf9170a137cf9180a0efb4b7fac8a
+76f84aac12bcab75d0f732d95ba613acf7e7f85415f9190a1374f91a0a13acf91b0a
+13aaf91c0a0e4989acf81fad957712aea6f737daf738a613dcf7c4f70e15f91d0a13
+bcf91e0a13dcf91f0a13bcf9200a13dcf9210a0e7881b4f822ac01f3daf790ba03f8
+47f7e615f9220a0e5c9476f84dac01ff00b6e666f7fe15ffffe84ccdff0038999aff
+0001199aff00056666ff0035b3339091918ba085916c8affffde4ccd8affffd6b333
+8bffffdfb3338bffffe24ccd8c718c85858b769185bcfffffb4cccff0006b333ffff
+f4e668ff0018b333ffffc6cccc08ff008d999afbdc05ff000c999affffe2b33390ff
+fff54ccdff000b66668b928bff0003ccccff00084ccdff000e3334ff001fb33308ff
+00926666f7db05ff00148000ff002dccccff000b199aff00183334c18f91918ba085
+91758a738a718b668b6f8c708c85858b769185c187907fffffebb3345808ffff9366
+66ffff06b33305fffffd3332fffffcfffffffffe33348bfffffdb3348e080ef75d94
+76f84dac01ff028b9998f7fd15ffff9c199cffff0b800005fffffd8000fffff84ccd
+fffffd6664ff0000cccdfffffd199cff0006e66608ffff9dccccff00fb800005ffff
+ed8000ff002f4ccc8dff0009b334c08f91918ba085916b8a6a8a688b688b6f8c728c
+85858b769185bafffffc8000927dff001d999affffb5800008ff0002e666fffff8b3
+34fffffe80007f7dffffe04ccc08ffffb38000fb410588fffff9199afffffbb334ff
+ffffccccfffffd8000ff0009999a08ffff9f3332ff00f6800005ffffed199aff0030
+4ccc8cff000fb334bb8e91918ba085916c8a6a8a678b658bffffe433338cffffe5cc
+cd8c85858b769185ff002f199afffffb3334ff00054cccfffff5ccccff0015b33457
+08ff0087e666fbd9059affffdc199aff0007e666fffff2e666ff0009199a8b968bff
+0005999a92ff00126666b608ff005c8000f76c05ff0006b334ff000f999aff000419
+98ff0000e666ff00053334fffff3800008ff005a8000fb7005ff000bb334ffffe24c
+cdff000a3334ffffebb333ff000d19988bff000b19988bff000a199cff0013b333ff
+000bccccff001e4ccd08ff00809998f7d305ff00103334ff00284cccff00103334ff
+001cb334be8e91918ba08591768a758a678b658b6e8c6f8c85858b769185d587ffff
+f59998ffffe266667dffffdd999a080e4c89acf822ac01f75bf8141572af938fbb90
+91918ba085916e8a5b8a6b8b6b8b6b8c6f8c85858b769185af88a776a95f08ebfb1c
+05ff00056666fffff84ccdffffff999afffffcb33387860831fb0805615473866589
+85858b769185a08ca38cab8bab8ba98aa78a91918ba08591648f8191a3ae08d0ed05
+ff0009199aff000ce666ff00034cccfffffe6667ff0006999afffff6b33308c83505
+b0587a87698785858b769185ab8caf8cb28bb48ba88aa58a91918ba085915a8e7e91
+60c80828f71c05fffffb6666ff00064ccdffffff999aff0003b333909108e5f70705
+b3bda493b28e91918ba08591768a728a6b8b6b8b6c8c6f8c85858b769185b2879885
+716708462905fffff83334fffff4e666fffffbccccff0001199a8397080e2189acf8
+22ac01f765dc03ff0155b334f7fe15f9230a0efb228babf81caf957712bba513d0f7
+2ef8601513b0f9240a13d0f9250a0e3c0efb95f760c701b3f79603f7a3f760152a0a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aa1f7af15740a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a915a30a
+0e6489acf70dad01eaf415f9080aff005c3334fffeec333415f9090aadf7a815f733
+0a0e6489acf70dadf7e3c089c212f826a613c8eaf415f9080aff005c3334fffeec33
+3415f9090a13e8e0f74d15b30a13d8b40a13e8b50a0e6489acf70dadf7e8ea01f731
+e9d6e903eaf415f9080aff005c3334fffeec333415f9090afb05f74c15950af73d16
+950a0e6489acf70dadf7caabf5ab01f75bb3ebb303eaf415f9080aff005c3334fffe
+ec333415f9090a9cf78915ba0a335615da0a0ece89a870adf74aaaf747ad70a612f7
+e0d4f4a5c9a478a5137700f88dad1544067a7f919e1ff730c807a58b93819076088f
+75058c898d888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06
+888b89898a87088676058677847f708b084ef730069c95919e1ed106cb8b9e569666
+08a48f05132e8084b184b28ab608898d051336808b44896d1e13ae80fb1d063f338d
+8b1f89898b74058b8a8bfffffdb33491ffffff4cccff001a800088ff00068000858b
+7f8b6f52fb067b6b6c4f5d36776b837dffffed80007affffde80008887ffffff999a
+89fffffd66668b88081366808b760513a6808c89051366808bb48d9e1e13a6809edd
+898b1f1366808c8d8ba00513a6808b8e888d888c08818d056d947f8e949d08d3f724
+058f9391909e8b08f704fb2f068b77fffff6999afffff7b333ffffe06666fffffc4c
+cd087a890587ffffff80008afffffd80008b89081366808b750513a6808c89051376
+808bc78db21ef784068cab93b397bc08718e057c5974634e8b08fb79f7fb15132e00
+96a3989b958b089894806c1ffb242a077d858c8f1f8b8c8c8d8c8d080e24fb5ca8d6
+abff0036199aff0025e666f82dac01b0e2f740c9c5a903f79b2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccff0039199a05ff004a4cceff00018000ff002eb332ff001d1999
+ff002db334ff003d4ccd899281ff000ab33383ff00024ccd5d556877488b082851f6
+eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ffffffb334ff00
+29199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b8bfb188b2527
+8bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cccd08ff0022b3
+336bff002f199affffec8000ff003c8000fffffb800008ffffdbb333349185059b90
+958c9e8b080efb0a8baaf756abf73eac12f704daf712a7bba685a713fcf78cf77515
+f90d0a13faf90e0ab1f85d15740a0efb0a8baaf756abf73eac12f704daf712a7bba6
+85a713fcf78cf77515f90d0a13faf90e0acff84a15a30a0efb0a8baaf756abf73eac
+12f704daf712a7bba685a713fcf78cf77515f90d0a13faf90e0ad1f84b15d70a0efb
+0a8baaf756abf73eacceea12f704da3fe9d6e94ea7bba685a713f980f78cf77515f9
+0d0a13f940f90e0a13f4003ff7f115d80a13f200f73d16d80a0efbb089acf822ac01
+f708da03f757f7e615f9110a38f8b315740a0efbb089acf822ac01f708da03f757f7
+e615f9110a75f8b115a30a0efbb089acf822ac01f708da03f757f7e615f9110a6ff8
+b315d70a0efbb089acf822acccea129be991da81e913f8f757f7e615f9110afb47f8
+5815950a13f4f73d16d80a0e6d89acf745b2f74aac01f701daf793e203f783f78b15
+f9260a30f79015f9270a0e92947695acf822acc6c089c212f700baf79fa689ba1336
+f80bf8d215b30a132eb40a1336b50afb70fc5815f9280a13a5f9290a1365f92a0a0e
+6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb9af84515
+740a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f9150afb6e
+f84015a30a0e6b81acf832ac01b0e2f7d0e203f7a6f84915f9140af791fb5e15f915
+0afb78f83e15f7330a0e6b81acf832acbec089c212b0e2f79aa6a6e213cef7a6f849
+15e4d839fb1afb0f4e40322a46e3f70f1ff71bd6cfd61ef791fb5e15f9150a13eefb
+50f7e715b30a13deb40a13eeb50a0e6b81acf832acc3ea01b0e2a6e9d6e9a5e203f7
+a6f84915f9140af791fb5e15f9150afc0cf7e615950af73d16950a0edf89a870adf7
+4eabf742ad70a812a8e0f765d6f710a5daa413af80f7aea615244ad0f71ef72acebc
+d6b6a3896d1ffbe907748581681e133780f78cf82315cb8b9e56966608a48f0584b1
+84b28ab608132f80898d051337808b44896d1efb3d0613af80668b548d878b08fb21
+2b27fb20fb20f237f71b1f136780f77e0a13a780a9c6898b1f1377808d8d9ff70772
+8e057f57746b588b08fb04067a7d909e1ff736db07a58b94808f77088f75058c898d
+888f8b089d8b8d8d0588a3889f8ba48ba38fa78da2088d8a8c891e7a06888b89888a
+88088676058677847f708b083bf72b069c97919e1e0e6b81acf832ac01b0e2f7d0e2
+03f7a6f84915ff0026b3348bff00248000fffff08000ff001cccccffffe3666608fb
+6afffed2800005ffffe6b333ff0024999afffff14ccdff00314ccd8bff0038b3338b
+f71bd6cfd68b08f791fb5e158bff004eb33468ff003fb332ffffca999aff0029199a
+08ff00276666ff003780006e9effffd8b334ffffc8999a05ffffda9998a0ffffd44c
+ceff000b6666ffffd266668bfb1f8b20268bfb278bffffb1b333ff0022199a4aff00
+36b333ffffd6e66708ffffd23333ffffbf6666a878ff002e199acc05ff0022e666ff
+ffed6666ff0028cccdfffff5999aff002c33338bf7388be3f7078bf71608ffff81cc
+ccff0082333415ff00184cceffffdbb332ff000ee666ffffcf199a8b508bfb0f4e40
+328b638bffffdccccd9affffe46666ff001a3333080e7881b4f822ac01f3daf790ba
+03f847f7e615f9220afb3bf7de15740a0e7881b4f822ac01f3daf790ba03f847f7e6
+15f9220a2ff7d915f78e0a0e7881b4f822ac01f3daf790ba03f847f7e615f9220a21
+f7d615f7330a0e7881b4f822accbea12f3da80e9d6e98bba13f2f847f7e615fb1307
+358b2dfb182876d9e81ef71c078bde968ec89091918ba08591648affffd780008aff
+ffdf80008bffffdc66668bffffd8999a8c678c85858b769185c88796878b3808fb31
+07fb2aff0048800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba0
+85916d8a678a6d8b6d8b688c6d8c85858b76918508c88796878b380813e8fb9bf77f
+15d80a13e4f73d16d80a0e2189acf822ac01f766da03f7c0f93115a30aff0029b334
+fbc715f9230a0efb1189acd3acf75aff001f199aff003fe666ac01f702daf73bdf03
+ff00bd199aff006bb33315ff000d1999fffffc4cccff0014999a8aff001c33338b08
+f725b7dbc2bf70d8fb2b1ffffff14ccd8b6bffffff199affffe64ccd8aff0002e666
+ff0038b3329aff0002ccceff00358000ff0004666691918ba08591618a718a5f8b60
+8b728c608c85858b76918508c88796878b3808fb6c078b3880884e8685858b769185
+b58ca58cb78bb68ba48ab68a91918ba08591ffffc6b333ff0003ccccfffff2cccdff
+0003b334fffffe999aff0045333308ffffffe666ff00da800115ff00126666ff0003
+e666ff0025e667ff0003e666ff000fb3338b08caab76413b6974401fffffe14ccd8b
+ffffed33338cfffff78000ff0002b333080e2189acf822accbea12f712e980dc90e9
+13f4f712f8d115d80af73d16950aff002eb334fb6715ffffb84cccfb12898bffffb3
+e666f7120571ff002c3334fffff6199aff00134cccc7ff0003800091918ba0859169
+8a688a668b6e8b6d8c6e8c85858b769185ff002e8000fffffa8000ff000ce666ffff
+eb6666a7ffffd1199a08ff00563334fb2105ff00074cccfffff44ccdff00078000ff
+fff23333ffffff999a790813ec8affffce8000058b3881884e8685858b769185b08c
+b28caf8bff00244ccc8bff0026b3348aaf8a91918ba085914e8f818f8bde088aff00
+33800005ffffff999aff00128000ff0002e666ff000d999aff00078000ff000a6666
+08ff00506666f71f05ff0017b334ff0028e666ff0011999aff001bccceff002e4ccc
+ff00054ccc91918ba08591758a748a718b668b6f8c718c85858b769185cb858b7eff
+ffe4b3345b080e82fb43b5f717acf822ac01f708daf765da03f828f7e615f9120afb
+6516f9110a0ef7427fac8a76f7ebf580ac12bcab75d0f732d95ba6e7ab75d0f732d9
+5ba6132060f969f85415139060f9190a1340a0f91a0a1390609e8ba87ad88be48bc4
+ff0036e6668bff0056199a8bd9ffffa51998ff002ce666ffffcfe668ff0017199a59
+a35cff001880008bff002a80008bb6a7a7bf8b08132050f91c0afc1616139600f919
+0a134a00f91a0a139600f91b0a132500f92b0a0e6a81ac72acf76ba1f73dac12e8da
+e7a5f72de013bef740f70e15f71a07f71cc3b8e0aabc7d801e8b7a4936675bffffff
+199a85ffffffe6668590858f8c908c8f8b08f706a03171376074671f638b76a67ec5
+8190fffff7ccccfffffe6666fffff83334fffffa999a886a8e6c9475a777ff0026b3
+3481ff00234ccc8bea8bc5d48bd18bd057c9328f08fffff880008bff00038000938d
+8e08f6f72a8b9b0562993b965f8b08fb45522ffb201ffb0807137e8b3880884e8685
+858b769185b18cb28cae8bff001f80008bff002080008aab8a91918ba08591085b90
+828e8bde080ef94afb76c2c5b5c8b4f822acf734af01b0ebf849ebf723daf790ba03
+f8d0fb0e15fb14bdfb028c6d8bfffff5199a8bfffff5ccccffffff3333fffff64cce
+fffffeb333ff00033332ff00026667ff00034cceff00026666ff00034cccff00024c
+cdff0029999aff001d999aff002d199aff00151999ff00223332ff00094ccdff0055
+b334ff000ce666ff0044e666b7ff002db334ff0041199aff0027ccccff0038b333a1
+ff00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e
+199a1e8bffff4c999aff0076999affff89e666ff0095999affffec6666ffffee3332
+fffff6b334ffffeeb334fffff53333ffffefe666fffff433335c6963636e6308b377
+05ff0009999aff000dcccdff000a3333ff000d4ccd96ff000c9999ff00133333ff00
+0ee667ff0014b333ff00056666ff00094ccd8bd08bc578f70a5bd66cd37cdf8bf38b
+f0b0cac6087a9d0549663b75598b3f8b589931ae08f8ccf86015fb1307358b2dfb18
+2876d9e81ef71c078bde968ec89091918ba08591648affffd780008affffdf80008b
+ffffdc66688bffffd899988c678c85858b769185c88796878b3808fb3107fb2aff00
+48800062ff006d8000f72fb4e3f7261ef706078bde968ec89091918ba085916d8a67
+8a6d8b6d8b688c6d8c85858b769185c88796878b3808fdbdf7b015640a0ef88efb33
+ff00214ccdff0027b333ff0022b333ff00294ccdacf82aac72ac12afe2f7d0e2eeda
+f790ba13f780fa50f7e615fb1307358b25fb18207ee1e81ef71c078bde968ec8908e
+8eff00018000ff0006b3348bff0006cccc8bff0006ccccfffffe8000ff0006b33488
+8e618a718a5f8b608b728c608c8888fffffe8000fffff94ccc8bfffff93334088bff
+fff93334ff00018000fffff94ccc8e88c88796878b3808fb3107fb2ad162e0f72fcf
+e3f7261ef706078bde968ec8908e8eff00018000ff0006b3348bff0006cccc8bff00
+06ccccfffffe8000ff0006b334888e6d8a678a6d8b6d8b688c6d8c8888fffffe8000
+fffff94ccc8bfffff93334088bfffff93334ff00018000fffff94ccc8e8808c88796
+878b3808fd7cfc3c15ff005133348bff004db33242ff0088ccce8bff007ce6648bff
+008b4cd0c5ff00259998ff0027800008fffff38000ff0009800005ffffda3334ffff
+e5cccdffff85e664ffffd08000ffffa5b3348b228bff000a199aff001cb333ffff67
+199ab3fffff04cccff0004199affffe24cceff0001999afffff14ccc8bfffffc199a
+8bfffffd3333ffffffe666fffffeb333ffffffccccb0ff0018cccdff002c199aff00
+0f199aff001a8000ff00083333ff007a8000a5ccff0064b3338bff006fcccd0813ef
+80f722fb06e8fb16fb1f2026fb271e8bffff7f4ccdff005c3333ffffa31999ff007c
+4ccdfffff66667ffffc8e666ffffe21999ffffcdcccd60ffffe6cccdffffdc199a08
+aa7c059bb0aa95978b08c8f89f15f9140a0e6d89acf745b2f74aac01f701daf793e2
+03f783f78b15f9260a30f79015f9270a0e6489acf70dadf7dbc401f72da6f76ca603
+f748f92815f7950a36fcbf15f9080aff005c3334fffeec333415f9090a0e64fb74b2
+f74bacf70dad01f7c9c703f826fb7415af8bbd9fa3ba087b93057876777c6d8b678b
+75a68bab8bff0030cccdff00318000ff0046cccdff004a666691ff0011ccceffffff
+9999ff0011b334ffffff6667ff00119998ffffff666691918ba085915692fffffc99
+9a93ffffe86666c508ffff663334ff0179333405fffff0e666fffff7e666ffffed33
+32fffff78000ffffeb8000fffffd333208ffff5d3334fffe9b333405775f7f725686
+85858b7691859d8ca18ca58bff001acccd8bff002633338aaa8a91918ba08591558f
+8498a2bd08ff00134ccdff002ab33305ff00036667ff00077fff8dff0003cccdff00
+104ccd8b08f74f8ba05505ff00158000ffffc9e666ff00018000fffff8199a558685
+858b769185ff0011e666ff00008000ff0012e666ff00008000ff00128000ff000066
+66ffffc4b334ffffde999a64ffffc633338bffffd0cccd8b55b26cc18b0857f82e15
+f9090a0e2481b1f82dac01b0e2f7b8a903f7aff93615a30a84fd4015f90a0a0e2481
+b1f82dacf74e7701b0e2f7b8a903f789f89515f7030aaafc9f15f90a0a0e6d89acf8
+22acf7567701f701daf793e203f78af89515f7030a51fc4915f90b0a63f81415f90c
+0a0efb0afb74b2f74daaf756abf73eac12f704da91c7c7a7bba685a713fe80f7b6fb
+7415af8bbd9fa2ba087d93057776777c6d8b678b75a68bab8bff002f8000ff002fb3
+34ff00444ccdff00471998ff00093333ff0014999affffff8000ff000f999affffff
+80008b8b97b496c292b58290838d8088087b506e59388b086006ffffd5cccdfffff6
+3333ff000accccff002133341ff72ac407ff0041cccc8bff00013334788d6690869d
+8b90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca4869079
+8b8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec40613ff00dd8b
+986a9d52958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988a
+ffffef33348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c8879687
+8b3808fb6c078b3880884e8685858b769185af8cb78cab8b08ff0090cccc06ffffc3
+b334ffffde999affffd88000ffffc5e6668bffffd080000855b26cc11e0efb0a8baa
+f756abf73eacf7547712f704daf712a7bba685a713fcf772f89115f7030aa5fbb015
+ff0041cccc8bff00013334788d6690869d8b90908aa28aff0022199a8bff000fe666
+8bff000d80008cff002080008ca48690798b8686895efffffdcccc80ffffbf33348b
+0852f722069c98969e1ec40613fedd8b986a9d52958a948d938f87ad7fd989928b8d
+8a8c898bfffff2333488fffff599988affffef33348b08fb6306ffffe333338bffff
+d1cccd8c678c85858b769185c88796878b3808fb6c078b3880884e8685858b769185
+af8cb78cab8b08f72e06b3cd898b1f13fdf90e0a0e5581acf733acf772acb6c412b0
+e5a5a6f769da3fa699a913fd00f748f92815f60a13fe00f7b8fffdc7333415f90f0a
+13fc80f9100a13fe00849287948b92080efb388badf81fac01f704da03f764f93215
+a30af73ffd3215f9130a0efb388badf81fac01f704da03f791f7e1154dffffdb8000
+8bff00298000058bde968ec89091918ba08591668affffd74ccd8affffddb3338bff
+ffe0b3338bffffd54ccd8c668c85858b769185c88796878b38088b332c539c6dd9ff
+002db3338bffffa84ccd058b388986458885858b769185bc8ccd8c8b8b08f774068b
+8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1f8bff00bb199adbff00
+2ee666050e92947695acf822ac12f700baf7b8ba1338f80ef93315f75e0afb73fcb9
+15f9280a13b8f9290a1378f92a0a0e92947695acf822acf7527712f700baf7b8ba13
+3cf7a8f89115f7030afb0dfc1715f9280a13bcf9290a137cf92a0a0e92fb43b5f717
+acf822ac01f700baf7b8ba03f72ff70e15f752078bff00313334ff000cb333fffff6
+8000ff00174ccdffffe34ccc08f77ffbcd05ff00028000fffffd6666ff00028000ff
+fffd999aff00028000fffffde666fffff36666ffff8c3334ffffd46666ffffebe666
+ffffe5b3348b7e8b85928495829780986f8b087e747e766ab27aa01fa28bb48cb5ae
+c1b6accd8bf71208f786078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d
+8c85858b769185c88796878b3808fb4f078b70887a6cb508fb79f7cbfb228d89888b
+73058791898e1eb188967f957908fba6078b3880874e8785858b769185a98cae8ca9
+8ba98baf8aa98a91918ba085914e90808e8bde080e6b81acf832ac01b0e2f7d0e203
+f848f91715f7210afb189115f7220a6dfb6815f9140af791fb5e15f9150a0e3784ae
+6dacf746a8f755ac12f704daf730e2133cf795f93215d60ae5fbd815f92c0afb30fb
+7415f9160a13bcf9170a137cf9180a0e3784ae6dacf746a8f755acf7507712f704da
+f730e2133ef763f89115f7030af720fb3715f92c0afb30fb7415f9160a13bef9170a
+137ef9180a0efb4b7fac8a76f84aac12bcab75d0f732d95ba61320f77bf93215d60a
+f700fb7215728b71a13a8b0813acf92d0a1374f91a0a13acf91b0a13aaf92b0a0efb
+4bfb5ca8d6abdf76f84aac12bcab75d0f1c985d95ba613f200f7592b15a2957d7671
+767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b
+828a838908ff00148000c2ff000280008b0513f500e4c4ff0036e666ff0056199a1f
+8bd9ffffa5199aff002ce666ffffcfe666ff0017199a59a35cff001880008bff002a
+80008bb6a7a7bf8b0813f480bc8bb76a9a4b9488948b94908da8ffffff8000b2ffff
+fa8000b1728b71a13a8b458b3d638b398b42d964b4780813f900cc6db6748b528b51
+706f508b538b5eab79e47eff00028000fffff6e666ffffff4ccdfffff6199afffffc
+3333ff00024cccffffb98000ff0001b334ffffd98000926b968f958d978b08ff000f
+b3338bff00166667fffff48000ff00328000fffffbe66608ffffdc6666ffffaa999a
+9185059b90958c9e8b080efb4b7fac8a76f84aacf7497712bcab75d0f732d95ba613
+30f73df89015f7030af73e4f15728b71a13a8b0813b6f92d0a137af91a0a13b6f91b
+0a13b5f92b0a0e49fb5ca8d6abc9acf81fad957712aea6f737da83c9f702a613f580
+f79b2b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908a4ff0042e66605a8ffffffb334ff001f4cccffff
+ff3333ff001db334ffffff333391918ba085910813f6804e8f808f8bde08f79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b3340813ee80f91e0a13f680f91f0a13ee80f9200a13f6809fd3969f
+cc8b08a306aa977f641ffb91078b3880884e8685858b769185ff00206666ff0000e6
+66ff00233334ff0000e667ff001f6666ff0000333308632b9185059b90958c9e8b08
+0e4989acf756b2f736ad957712aea6f737daf738a613eef7c4f70e15f2d60797949a
+96908893821f37f70206b0959aab1ea506ca8b98779f43ff000a3334fffffde666ff
+00093332ff00006666ff0007999aff0004b3340813def91e0a13eef91f0a13def920
+0a13ee9fd3969fcc8b08a306aa977f641ffb03480782817c81858e83931fd624068b
+3880884e8685858b769185b08cff002880008cff002280008bff002280008bff0027
+80008ab08a91918ba08591084e8f808f8bde080e7881b4f822acb8abf5ab01f3da9c
+b3ebb3c6ba03f7b4f91915ba0a335615da0af77ffb9215f9220a0e7881b4f822ac01
+f3daf790ba03f870f91715f7210afb189115f7220ae6fbcb15f9220a0efb228babf8
+1caf957712bba51390f791f93615d60a13d028fb6a1513b0f9240a13d0f9250a0efb
+228babf81caf9577ecef12bba5f705ef139cf74ff8eb15850a13dc6afb1f1513bcf9
+240a13dcf9250a0efb228babf81caf9577f7627712bba51398f767f89515f7030a13
+d852561513b8f9240a13d8f9250a0efb388badf7e59cb4ac9bd301f704daf738b703
+f7e7f8ba15f7040ab3fcba15f9130a0e4989acf81fad9577f75d7712aea6f737daf7
+38a6139ef78bf89015f7030ac4fc1615f7900713deb0959aab1ea506ca8b98779f43
+ff000a3334fffffde666ff00093332ff00006666ff0007999aff0004b3340813bef9
+1e0a13def91f0a13bef9200a13de9fd3969fcc8b08a306aa977f641ffb91078b3880
+884e8685858b769185b08cff002880008cff002280008bff002280008bff00278000
+8ab08a91918ba085914e8f808f8bde080e49fb76a3daddb2acf81fad957712aea6f7
+37da75b2f727a613e580f7976215f7160a13f680b8f73715f91d0a13ee80f91e0a13
+f680f91f0a13ee80f9200a13f680f9210a0efb4bfb76a3dadda8ac8a76f84aac12bc
+ab75d0e5b2a8d95ba613eb80f7e7f85415f9190a13dd80f91a0a13eb80f91b0a13eb
+40f91c0afb24fc7d15f7160a0efbb089acf822ace0ef12f4ef32da13f0f4f8eb1585
+0a13e8e5fb9915f9110a0e957fc1f7acb6e476f0b201b5d192c2f764a6c0b303f83c
+f7d615a19b7c73434afb3dfb19fb1776f4cabfb7c7bb1ff6069a989b999287917f1f
+2d066679a8bda9a1c7d41fc98bb159985808a6900585ad84bf8ba7728b6ca0618bfb
+098b4d3c8b4a8b6f9272a26d566355468b428bfb00dc47f70f8b08f7158bf704dc9a
+f79108ca069a989b999287917f1ffb21067c7e7b7e838f85971f0e3289a8f73fabf7
+5baa01f737f7511590949a8ba68b08e506a68b95898d81089ffb0505ff00054cccff
+ffe03333fffffd6668fffff8cccdffffd64ccc8508848a05878a89898b88088b768d
+89058bcb8da7a9ce898b1e8d8d8ba0058b8e88ff0002b33387ff00004ccd688e7b91
+82b60847f7d805879efffffdccccff0007b334ff00383334ff00044ccc8eff000033
+348dff0002cccc8b8e088b9f8a8d05568a418a5e8b5d8b6c8c6b8c0888898b770587
+8e89911eac8a94878b788b6b2bfb997758806f7b83708887ffffff999a86fffffb66
+668b88088b788d89058bc38da7aabc898b1e8d8d8ba0058b8e888d878c087f8d056d
+90fffff8b333ff00048000ff0003cccdff001080008b8bff001acccdff0062e666ff
+000db333ff0023199a08e6f78415a18bff00108000fffff76666ff00078000ffffdd
+999a08a3fb14058f767c84798b0838066f838d941f8b8badf70798b392a091979d8b
+080efbb3f782a2f700a5f766a501a8c1f711bc03f764f83b15f8e30aa9ca15727305
+7c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75fffff56666ffff
+fc4cccfffff1999afffffeb33408808a0588ffffffb33489ffffff4ccc8b87087907
+8bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05ffffe7e666
+ff00038000ffffff199aff000380008b9f08f7e70791898e881e878b85868788080e
+ff017ee666ff0070b33401ffff596666ff006e999a03ffff92cccdff01ef999a15ff
+fffd3334ff0000b332fffffbcccdff0000b334fffffc80008bffffe833338bffffef
+e666fffff4199afffffa6667fffffbcccc08fffffe9999fffff84cceff004fcccdff
+ffb3b33205ff000b3332fffff58000ff0004e667fffffc8000ff000433338bff0005
+999a8bff0004e666ff000433348bff000380008bff0004e666ffffff4ccdff0004e6
+66fffffc800092080eff017f999af70401ffff58b333ff006d333403ffff95999aff
+01ef999a15ffffcb199affffacb33205fffffa4ccc82fffffdb333fffffd33348bff
+fff833348bfffffb1998ff0004e667fffffbccceff0004e6668bff0004e6668bff00
+05999aff0002ccccff000a8000ff000a800008ff00508000ff004c4ccefffffde666
+ff0007b33205ffffefe667ff000f6666ffffee1999ff0000b334fffffb80008bffff
+fc80008bfffffbcccdffffff4cccfffffde667ffffff4cce080eff0183ccccff006d
+e66801ffff45cccdff00b0666603ffffa9e666ff01f1b33415fffff87ffeff000219
+98fffff8999affffff8000fffff88000fffffe6668ffffebb333ffffdfccccffffdf
+cccdffffda3334ffffe6cccd6fff00043333fffff9b332ff0004e666fffffbccceff
+00064ccdfffffe9998ff001b4ccdff000f6668ff0017199aff00144cccff00166666
+ff00166666a0ffffea4cceff00188000ffffec6666ff001a999affffef3332ff0006
+9999ff00014cce91ff0005b332ff00038000ff0004e66808ffffe6cccda7ffffe133
+33ff00251998ffffebb333ff0020e668080eff018d999aff0025199afffffe9998ff
+0026800012ffffe6199aff0012e66613a0ffffc53334ff01b2b33415fffff2b3328b
+fffff4199aff0004e666fffff4cccdff000866660813607dff0009ccccfffff09999
+99768bffffe1e6678bffffefe666ffffe4b334fffff63333ffffd6b334ff00043334
+fffffbcccc92ffffff4cccff0007b333ff0001666892ff0017199892ff000a8000ff
+001233338bff000be6668bff000d4ccdfffffa6668ff000c999afffff84ccc0813a0
+ff000eb333fffff63334ff000eb333fffff36666ff000f66678bff002033338bff00
+144ccdff001b4cccff00086666b5fffffbcccdff0002ccce84ff00021998fffff84c
+cdffffff4cce08fffff63333ffffe2999afffff84ccd84fffff0999a8b080eff0176
+8000ae01ffff10999aff00b6b33303ffffb68000ff0176800015ff0009199aff0007
+b333ff000eb334ff00086666ff00043332fffffd3333ff0007b334841fffff628000
+06fffff84ccdfffff84ccd7dfffff7999afffffb199aff0002ccccfffff84cccff00
+064ccd1f0efb9f89acf7fbb2f77fad01ebda03f743f84115c4078bcefffffc8000ff
+00328000ff00078000ff0016800093a3ff0015800099ff000f80008ba78b997a976e
+ff00073334ffffee9998ff000bccccfffff566689f8b9e8b999a8ba08b9b829c779a
+08779a6d94658b6e8b5d7b736b6d6383568b330863580779867f831f7e07868c8a8f
+1ed0fba0068b388087558785858b769185ac8cff002380008cff002480008bff0024
+999a8bff002b66668ab18a91918ba08591478f808f8bde08f7a0e80794998f941f9f
+078f888d861e0e8b89acf7fbb2f774a77aad12e5daf75edaf703d713eef811f8c815
+82678affffd94ccc8bffffebb3340863fb5e94078bcf91ae919ea1dbb7989b8b978b
+93899c819a82927b917d94779677a38b088e8b8f8c8d8c08d0fc4e15f7a0ee079699
+8f941f9f078f888d861efb08c4068bce8ebd93a20813de93a39e999b8ba98b997a98
+6e937a9780a08b9f8b9a9a8ba08b9b819c769a769a6b94638b086c8b657b726b8685
+868487840813ee7ca15ea83b8b6f8b7284757f426370448bfb0e085b0678867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ac8cff0023b3338cff0024
+4ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d8f7e8f8bde08f7a0f75e
+fba0078b3880875f8785858b769185a88cff001fb3348cff00224ccc8bab8bb68ab6
+8a91918ba08591478f808f8bde080ef489acf766b5f80b779feb12f760ebf72beb13
+dcf760f95615b60af78b16b70afb55fc3b15f92e0afbb3fb6015c4f72505ff000566
+66ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffffd7999aff
+00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8b20513ec
+fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0e668
+ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc80008389
+8b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05704e
+ffffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a91918ba0
+8591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334080e
+ef89acf766b5f80b77dc7601f791f7af15f92f0afbadfb6015f9300af799f97915b1
+0a0eef89acf766b5f80b77d47601f791f7af15f92f0afbadfb6015f9300af771f96d
+15b20a0eef89acf766b5f80b77c3c089c212f869a613e4f791f7af15f92f0afbadfb
+6015f9300a13f4f79ef93015b30a13ecb40a13f4b50a0ef489acf766b5f80b779feb
+12f750ebf721eb13dcf750f95615b60af78116b70afb40fc3b15f92f0afbadfb6015
+c4f72505ff00056666ff000dcccdff0003999aff000333339b8b08f76b8bc8fb3d05
+ff000ee668ffffd6cccdffffd6b332ff00039999ffffd06666fffffc999a85858b76
+9185b08cc28cb28bb48bb48ab08a91918ba08591ffffd93334ff00038000ffffdf4c
+cc8bffffed8000ff0033800008fb61f8b20513ecfffff8b334ff00134cccfffffe4c
+ccff000ab334858b858a7d7e7d86fffff2999afffffb3334fffff8b332ffffff3334
+ffffeeb334fffffc9998898a8b898b899284927c907dffffe5ccccffffcae668ff00
+0c6668ff001ae664ffff921999ffff0d333408ffffa1b333fb6e05ffffe54ccdffff
+c24cccffffe23333fffff9b334ffffd480008885858b769185b08c988cb28bb48bbd
+8ab08a91918ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666
+ff00273334080ef489acf766b5f80b7701f796f7af15f92e0afbb3fb6015c4f72505
+ff00056666ff000dcccdff0003999aff000333339b8b08f7718bc2fb3d059961ffff
+d7999aff00046666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48a
+b08a91918ba08591ffffd93334ff00038000ffffdeccccffffff800079bf08fb4df8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b818bfffff8ccccfffff0
+e668ffffdf3334ffffea19987f83fffff9e666fffffd8000fffff2199afffffc8000
+83898b8290859085ff00004cccfffff94cccfffff8b334ffffefb33408fb62fc5f05
+704effffe2800084ffffd480008885858b769185b08c988cb28bb48bbd8ab08a9191
+8ba08591ffffda6666ff0002999affffd23334ff00063332ff000f6666ff00273334
+080e7784a676a8f793b1f7c4a812dadcf779dc133cf7c2f90515ae8ba789a38508fb
+bc5807418b5b9c73ae77a77fad8bb608f70adca8c81e96a8154c8b45865a5d68697a
+638b598b54a35db965a279c673b1874274745d77600813bc5f29664b538b08877705
+95879d889a8be68bb8e1a8d6afe9b2aee98b08fb6707137c6c7c7e631e710613bc87
+8788861f8b7805137c8d89058be28db2aee9898b1e8d8d0513bc9e07137c90888e86
+1e7006627e9ba71ff88a07a78f9ca51e918baa8805908d8e8f1f9d07838d4496fb2c
+8b080ef7be9676f906a901f7e59715f703f82cf72bfc2c05907d9483998b998b8e93
+8f9808f73ef8c80596ac8f96a88b089f068c948b931f9e078b558a6b614d8c8b1e77
+07888c87901eb2069f93887d1f8b858b7f87810821fbf66d286fe1fb23f801058698
+88948b91089a928da01ea8068f8e8d901fa1078b468a5a63448c8b1e7607868d8892
+1e9f06b18b9f79937008af313cfbb4763867eefb1ff7fe05889687938b9208989390
+9e1eb1068e8f8d921fa0078b3b8a58654f8c8b1e7507868e88921ea006ac8b957e95
+6a08f76afcc205907c93849a8b998b95948f98080e949476f908a801f87cf8d215fb
+0afbfd6c336be6fb21f7f805889489928b91089a9692ae1ea506908e8e911f8b9d89
+8d058b328868643d8e8b1e89898b7905858f888f1e9806b28b9a7c956e08f772fcc5
+05917d9382968b958b9594909908f74bf8c70597ab9997ac8b089a06908e8e901f8b
+9e898d058b53886764588e8b1e89898b7805868f888f1e9406a89b8a791f8b858983
+8780080ea960a49ba8f7bbb4f793a701f5dc03f7f2f72915f5fb24c15ef703880894
+a40555a339dd5fc808fb35f76cf759f75405a8a6b1adb48b089d06908e8e901f8b9e
+898c058b468a68643c8c8b1e898a8b7805868e88901eab069b9185821f8b7b787279
+7a08fb2efb260578786f7a6c8b08f76707a7999bb41ea506908e8e901f8b9e898c05
+8b2e8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc8a076f7e7a621e
+7006878888861f8b788d89058be88daeb3e1898b1e8d8d8b9e0590878e871e710663
+7c99aa1ff78e07ae8b997f9677080e8d20b5caacf798adf7b9ad01f3e0f776e703f7
+a9f8fe15c8d875fb0afb113a6f2a1f5bf77906a89caed21e33fc8415f73d07df8bff
+0022999afffff2199aff00086666ffffe7e66608ff00298000ffff89800005ff0049
+999affff2db333ff00606666ffffe0cccdff003e80008ba58bbaff00048000a8ff00
+0d8000ff00038000ff0006e666ffffff8000ff0009199a8793ffff988000ff000280
+00ffffbbb334ffffffcccdffffab4cccff00d8333308ffffc38000ff009a800005b6
+99e5bf8bf48bbd7ab467ad5bb8488e4c8b5c8b5c84678b688b5c8c5c8c85858b7691
+8508d1889c868b3808fc25078b387a86458885858b769185b88cff002e80008cff00
+2680008bff0025999a8bff002f66668ab78a91918ba08591458e7a908bde080efb49
+fb5caef86da4f7b0b401f7a3d603f7f4f926156a7e64711f5da053b75f8b08336e56
+63779468ae9d95929b1f8bad63948b9b8b979798a08bbf8bcd46c18b928b908c8f8e
+088c8705754388728a26088b7ffb13848d77f70f828b29058b6f8d398b758d318051
+75657564757f6e8b628ba3cb4a8b087383787c66c16fbff702d8edf7841f8bf739bf
+908aa4056a8e7e8d88a188a089dd8bc808af07a29da7a38ba20898839f691e0e5efb
+82d0f8b8ca01f764bdaab2f70dbc03f886f81715aa70a36a72777e6e1e8b729f7898
+86988495838b768b514d3243fb0779f71e6fd468ed7aba7bac4b8b4c8b6848795808
+a782059bae9fa8a48b9c8b9983957ac52cb730acfb25574571518b5c086e9652b3c7
+94f716ae1e8ba78aa885a9f70df73ec3f7108bda08fb65fc32157707277e75838785
+909e1e8ba492bfa3b4080e5efb7fb2f8c6d74dc912f75bb2b6c01398ff00ffcccd83
+159dffffbbcccdff00073334ffffd1b3338bffffe28000087185797d827da7b31e8b
+ff0034b3338bff000f4ccdff0011cccdbf08ff00164ccdf72915ffffe08000ff0061
+6666ffffd71999ff00613334ffffd84ccdff005d66660813b887938690808b6b8b84
+753f7c08906d059c8f948c968b9b8b9b889b6aff00288000ffffa9999aff002f3333
+ffff8f4cccff00203333ffff9a8000ffffda8000ffff9a4ccefffffb999affffdf4c
+cc8b5f086d9a45b3c79fbecb1e8ba480cb7ccefffffb6666ff0012e666fffffae666
+9efffffa80009eff0020199ae1b3ff0065ccceff0025199aff00364ccc999f999a9f
+8b0813d8978b90879f8b089d9a9e9ca3779b6f1f738b70816142ffffdb8000ffffc0
+ccccffffdb199affffaa4cceffffe48000ffffbae666080ef09476f832a801f820f8
+0f15859d84947b8b808bffffe78000ffffeee666fffff48000ffffdf199a082efb9f
+3ff79f05889589948b92089798939e1e9a06908f8e901f8b9d898e058b52895c5f61
+8d8b1e89898b7705869289901ea98b9c73976408f3fbdf05ff0004b333fffff0e666
+ff000a4ccdfffffb199a948b958b9291919b08f706f7ccf6fbce05907c9586958b94
+8bff0005b334ff0003cccdff00054cccff0011333308f1f7e00599baaa99a48b0891
+928d911f8b9e8a8d058b638968664e8d8b1e88898b7705888f87901e9806ab977f79
+1f8b84898489840840fb97050ef09476f832a801f820f7d81583a17f9c7b8b808b7e
+807e690834fb7936f79f05889589948b92089798939e1e9a06908f8e901f8b9d898e
+058b52895c5f618d8b1e89898b7705869289901ea98b9882986408f709fbee05907c
+9586948b958b9191929b08f1f7a0eefba205917d9585948b948b938f919c08f706f7
+e6059bbaa693a48b0891928d911f8b9e8a8d058b638968664e8d8b1e88898b770588
+8f87901e9806ab977f791f8b84898489840836fb97050ef7bb9476f90aa701f868f8
+bb15718b78717a5608fb03fbfdfb1bf86105889688938b92089893929d1ea106918d
+8e901f8b9d898d058b498a5965578c8b1e89898b7805879088921e9806a78b9e6d93
+7108f739fcba05907b9883988b998b96958f9908f70bf817058f9890978f8b8f8b91
+7e8f7c08f0fc1405907a9784998b988b9593909a08f74ff8c10598b2b196a88b088c
+068c968b931f8b9e898c058b4d8a6b62528c8b1e88898b7805888f878f1ea506a292
+807c1f8b848a83888308fb2dfc6020f8290584a78294818b080e2cfb6a76f902a3a0
+7701f778dff713bc03f87cf81c15aa70a36a72777e6e1e8b719f799885988595838b
+768b704afb2b412483dc75ed70d166ee73b84a8b728b7582727f088f7305a392a78a
+9b849f829882af30aa3aa9fb10963a766082518b6e08618e55a3b09fe6af1e8ba68a
+b287b5f725f75caff18be5080e26fb7fb2f8d4c901f74cb3b5c003f78a6e15f7c90a
+4d2115619e51b8c697becb1e8ba481cb7bce899588958995949f95a0959f08f3f761
+05a1b49da8a7ad08868d0574847e897d8b838b6d8e808f88707f627e6970426c3c71
+4a6bf55ef460f0879387907f8b086c8b84753e7c08906d059c8f948c968b9c8b9b88
+9a6ab630bdfb0dab2208704c057e6c84678b6b080e5efb7fadf8d0c8957712f755b3
+c0bbdac313bcff01053334ff0005333315ffffc0ffffffffa2ccccfffffacccdffff
+d9999a8bffffd46666086ea067b3c2a4bbce1e8bff001d6666fffff5e666ff003266
+67fffff38000ff003bcccdff00694cceff009ae666ff00344cccff0085cccc8bff00
+49b33408ac72a663737b80761e8b79957a9f809b828e788b768bffffcc3334ffffd1
+ccccffff9c4cccffffbe8000ffff9c3333ffffe06668ff0078199affffc31999ff00
+744ccdffffbc3333ff0076e6660813dc87938790808b708b84753e7c08906e059c8e
+948d968b9c8b9b859f6cc633c9fb05aafb0808ff0001199a87ff0001199afffffc19
+9a8cfffffc199908ff000a9998ffffd4666615ff000b6668ffffcbccccff0002cccc
+ffffdb999a8b72087180747d7486a19b1e8bff00216666ff0009999ab6ff001d3332
+ff00303334080e3afb7faff751baf7fdac01e3daf758da03f8049c158b45fffffb80
+004a7264ffffee999affffe4e666ffffdbe666fffff1199a638b6f8bfffff080009d
+fffff080009bfffff1b333ff000ecccdfffffa4ccdff000d3333718b08807374795f
+e97eb41fdf8bff001c8000ff001c8000ff001d8000ff00228000ff001bccccff0020
+8000ff002033349a8bff00e1800008f77107a98fd48b1e8e888e861e868a7c8a7c8b
+6b8b6a8c668c85858b769185bc88987f8b4908fb55078b7889837d7f666b657b728b
+086d5999e41ff74a07a98fd48b1e8e888e861e868a7c8a7c8b6b8b6a8c668c85858b
+769185bb8799808b4a08fb540746a948ee1eb28bba9fbcb3908f908d8d848e828c7f
+8b80080ef489acf766b5f80b7701f791f7af15f92f0afbadfb6015f9300a0ea7f86c
+a4f702e801ff00484ccdb2ff0094ffffb2f72bb203ff02044cccf950156371644f1f
+8b45c75bc780ff0006ccccff0005e666ff0001999cff00093334fffffc9998ff0009
+e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e
+fb528e156371644f1f8b45c75bc780ff0006ccceff0005e666ff0001999aff000933
+34fffffc9998ff0009e666579869b88ba08ba29c919e8d9d8ea5ff000980008bff00
+1f800008a775a06c1effff4400018615f8940a0eb8f86aa3f703e801f730b2f729b2
+f729b2031438f88df94e15290afb5016290afb5016290a0eefa2abf889ab01adb3f8
+82b303f7d5a215960af8a904970a0ef7387db0f8dfaf01bdb0f8deaf03f8107d15f7
+4af727f728f74af74bfb27f727fb4afb4afb28fb27fb4bfb49f727fb29f74b1ff904
+04f736f717fb17fb37fb37fb17fb16fb36fb37fb16f718f735f737f716f717f7371f
+0e9b7fa6a8a6a5a6a6a6a5a6a6a6aba6aaa6d2a6b5a6bda601d4abf713abf786ab03
+f4f86d15f733f726f786fcf0fc2506f713f8d9152b2207f734cf1571f742a507fb4b
+fc851570bfa60785c015f9310afbd516f9310ab6c115f9310afbd516f9310ab6c015
+f9310afbd516f9310ab6c115f9310afbd516f9310ab6c615f9310afbd516f9310ab6
+c515f9310afbd516f9310a70f78815fb49fb348bfc86f8658b8bf926050ef7847fa6
+f7c7a6f70ba601d4abf713abf867ab03f700f7d615f730f71d069494f85e8b8bfc59
+fd068b8bf7c405f713f70515382e079a5215807297068c06978a927c93818e878f88
+908b088c068c8c918d8c8c8d8d9492949208a28c89a4708905888b898a8989087d7f
+0581998497738e08f7445d1591a38a066dae8b8c8b9a088f078c91a4aeae8e088c06
+928b9f84958592889185a38b9f8b8995a18b089006b689a5758c74856f636f6a8b08
+868b8973058d8b8d8a8e8bb48bc1ad94b6088e078bb561a7578d088506708b898280
+8b7a8b878e878e809174947c8b0888065d876a60877c088b868b86058b748d87b15f
+8d888e8a8f8b08f7c8f73415969495969695818080818280808294961e7616759e78
+a1a29d9ea1a2799d74757879741efc50fbd6155b978673bb7f8e8b05908b958a8f8a
+8c8b8d8a8e8a08a906918baa95959c9194a3a0bc8b978b988a9a889389948a978a08
+87078b828b82898208a487058c968c958b95088e07908c8c8b8f8c908d8d8c958f8c
+8cac989999aaa8a1a3be8b8f8c9d90a48b08b38490a36293888b8a8b057076858b1f
+508a706f6a6c8485767f7e868287888a878908888b8a8b0588a585a482a4089ab605
+8f948c8d94968e8f969da89b8c8b8c8c8c8c088f8e799d8988056a787b748b8a7f7c
+8988878008867b057dab7caa7ea908748105a456b0449446828b848c848d7b8e7c8d
+7e8b518b6c70817c868375838b8b0883067e8b8a8c868b8a8b898c8a8b878c868b7e
+8c08e3f82f15fb52fb3d8bfbe6f9468b8bf88f050ef71b8babf707a6efab7ba6cda6
+a2aa12b0a5efa585a5dba5efa5efa5efa513de78f84df74215f708effb0807fb1216
+27f708ef06f790fb081527f708ef0627fb9615f707effb0707fb7616f707effb0707
+fb121627f707ef0613cf78fb76fb0715f707effb0707fb121627f707ef0613eef89f
+f79c15222a07f7f7f315fb0f70f70f0613ef78fbaafb1d154327ef0713eef8f726f7
+33f85e0613df78fb0827a9716d27a9716d27ab716b5a7007bcfb0827d306fb2cb115
+fbb0f924f864fc85070ef71b8bab989cd49d819cc09d8c9da3aba8a6d2aa12b0a5a3
+a9b69e8fa59faab59ec0a6a8a6a8a6a8a6a9a5b5a513cffff8f74bf82f15222a07aa
+fb1015a096a89c929388791e13dffff8767c6d7b858593991ee9bc15848b7d8b7596
+888f7f8f808b086a756a6d769974a3ad9fb0ac1f8b8f8b8d8a8e93879786958b968b
+9b8f9a9108fb0bfb3d9f80f720f7577798057b7a70887a8b089dfb2215769a74a3ac
+9faeaf1e13effff8a977927b67776a6c1eaa8715a098a89a9094897877816b768586
+94991ef716f7a915fb0f70f70f067bfb1915fb3efbcbf786f726f733f85efc2561f7
+5e71fb5e6df7b570fbb5076ef7cf70fbcf6ef78570fb856ef73e06fc00dd15fbb0f9
+24f864fc85070e4281b0f8e4b201c5e5f776e503f79bf8ff159d8b9d859780ab6faa
+3c8bfb228b2a873c7c5573345782788b08287ef754e7f799cebabb1f87fd0915ddf7
+0fe8f78d1f8bf472e55cc96bb75aa45b8b228b27fb138bfb658bfb02ff00228000ff
+ff8a999aff0037e666ffffc5b332aaffffdfb334ff0024cccd7dff002acccd8b080e
+fb5989acf9077701f751e003f7a6f71915f806078bce8ccf8d9a8b90888b878b4d65
+536f285d8d7e8f819584bea0a592a08b089d8f70651ffbee078b2e78853d8884848b
+789284c28cff0020cccd8cff003833338bff003566668bff001b999a8ac38a92928b
+9e84923d8e76918be8080efb028bcef83876f72fb012c6d8f75de66fa913f8c6f88f
+15759f78a49da296a81e8b9488938993899389938b9408a69eb1d8b1ce71251e8b47
+73544c4b083c3d052321784e8b4c088bc28dad1ef74c06adbc898b1f13f498c397dc
+8caa84917e8b81897940786f658b08fb50068bbdd3e0919108f5f20513f8c7c5baba
+8bdc08f70624ba351efb0a4d344b1f0e2481b0f7c9adf78fb012bbd8f755db56e713
+f8f776f90115bab872491f8b574b2e2c7c089069059d8d998b988b0813f4c7d778fb
+0cfb212b6c661f558b81a37f9e819a7c97768b087574777a60e470cbf713f704dff7
+201f8bf70839b74c95088a8d0513f8f0cb91c68baf08b863cffb01fb305e25687c95
+76a5a996ae9f1ecfd498a71e0e4589acf72fbdf83a7701f7b8dd03f7b8f8b715fbcb
+fb6207c2e4d8f70cd5f108f740fbcb1531f7cf068bc18cb68d9308888d698b05838b
+868487864737fb12fb4528fb2e8e7b926eab8b08f77025068b59628b5d8885858b76
+9185ae8cb58cbd8bb68bb38aae8a91918ba08591568f74898bbe08f1d6079a9b9f98
+9687917f1f0efb0981b0f7eebff72cd14ece12f7e4e713d8f7e4f767152654384b1e
+638b7da57ba07e9d789c758b08777778765fe668c7f717e8f700f719f245e6fb0b1f
+5d8b6383788308a1f7450513e8b287ae86bd8baa8baf8cb78f089cd4848e054f8450
+87538b0813d8648b678e668e0867fbc605c3a0b290b18b08d0c35cfb071f0e2781b0
+f7dcb0f783a601b7e0f780e003ff0088999aff0140cccc15ff00271999ff00208000
+ff002a999aff0001b334ff0014b3338b08f3a12056fb085d57574844aef7491f8bff
+00164cccff00023333ff001a999aff00056667ff001ce66608ff0009ccccff0029b3
+3415ff001c4ccdff0064b334cfff00728000ff008f4ccdff00354ccc8b9788948291
+fb006c4a5e5046493f6b208b3708fb6bf71562ddf71fc3f719e6e65ee2fb241effff
+df80008bffffce6666fffff58000ffffdf800078080efb159376f8e3d0967712b3ad
+bcdc13d8f73bf8d615f7570638fb6237fb6e43fb35089385d48e05c7f748c0f74ff7
+0bf7b50813b87a970513d879857386638b08fb6e06678b8e96778f0813b8888a8a88
+1f8a597f4b825408ad8805a3e0ae92ad8b080e3081aaf8f6a612bed064d4f75dcd60
+d513e4f78aa0155b3db5ea1f8baaa0dce5c908be6d05ce63a8508b59082137715b1e
+92f8f61513d8d0ac535a1f8b524f586e76086b9f0547b77fb28bab08bcaebdcb1ef7
+3c2115d752c423fb01454b391e8b50ff001b3333ffffcfe666ff0042cccdffffdb19
+9a08a87b057077697c6f730813e4606576538b6208fb01dc50f704f71fd0f2dc1e8b
+c9ffffe56666ff003a999affffc8999aff002366660843b905b9aad8bd8bcf080e27
+80a6f78db0f7d3b001b7e0f780e003ff01676666f7e615ffffd86666ffffdde666ff
+ffd43334fffffe199a768b082375f6c0f708b9b6bfced267fb491f8bffffecccccff
+fffe4cccffffe9999afffffc199affffe7999a08fffff76666ffffd6800015ffffe5
+ccceffff98999affffbc4cccffff864cccffff6b199affffc8999a8b7f8e829485f7
+00aaccb7c6d0cdd7abf7008bdf08f76bfb15b539fb1f53fb103030b834f7241eff00
+21999a8bff0033ccccff000b4cccff00206666ff00143334080efb1681aef80fae01
+abe3f772e203f77af82815dfa743fb05fb05753a31396fdcf705f70ab1ced31fae04
+fb013232fb17fb27e139f704f708dedef726f71e42ddfb121f0efb1689acf7e6aab5
+7701f76ad803f76af70e158b387086458885858b769185bc8cff0023cccd8cff0036
+33338bff002f999a8bff001866668abd8a91918ba08591458e7a908bde08f75b07c7
+8ebe8b1e93868d821e5a7b61833779ff00014ccdfffff46666ff00039999fffff580
+00ff0007199afffff7199aa88ea58ea18b089b8f80571f0efb168bc2f7e8b701c8ad
+f754e403f7bac215f8ff0a0efb16fb49aef7b3abf77bae12bcd4ff00b2199aff004e
+3332ffffccb334e313f8f76df82815300a13f4310a13f8f9000a0efb16fb42acf721
+baf81b7701f79ed703f79ef7e315fbb4fb4907abe0dbff006ccccdd0ff005e333308
+f729fbb41542f7b8068bbdff00004cccff00273334ff0001b334ff0007cccc08898d
+6b8b05848bfffffae666fffff96666fffffc199afffffb999a473efb18fb364efb26
+8e7c9170a98b08f7562f068b5d658b608885858b769185ab8cb38cb98bff00276666
+8bff001b999a8aab8a91918ba085915a8f80898bba08e7c607999a9e97958791801f
+0efb16fb4baef7d1bdf722ce4ed312f7d2e413e8f7d29c15350a13d8360a13e8370a
+0efb1680aef7c6aef770a501bbdef767de03ff008b3333f7c715380aff0009199aff
+00244ccc15390a0efb16f800cc997712c6ab13a0f746f80015f9010a1360f9020a0e
+fb1681aef8baae12b9ce61d2f749d15cd413d8f77ef8d3153d0af73331153e0a13e4
+3f0afb3bfc6015400a0efb16fb4ba5f770aef7c6ae01b2def767de03ff0144ccccf7
+0d15f9030afffff6e668ffffdbb33315f9040a0efc3322b6f954b701f4b7fa40b703
+f729f91615fa40fd54fe40065ff98015fdabfa98f9ab070efc3322b6f954b701f4b7
+fa40b703fa6ef91615c4b95c531ffcedfe40f8ed07c3babac31ef972b715fd72063a
+49493a1ffd18fa98f91807dc49cd3a1e0efc3322b6f954b701f4b7fa40b703fa6e4d
+15fd7206535cbac41ff88507c3babac31ef97206c4b95c531ffc8507525d5c521e60
+04dccdccdd1ff88507dc49cd3a1efd72063a49493a1ffc850739cd4adc1e0efc41f7
+73c701b3f79603f7a3f773152a0a0ef8375fa0ff00a4b333ff00154ccdf738a0f7b5
+a001f799a0f787a003b393158b78968b9687db72ce87cb8bac8bab8eac90ff00d966
+68ff00238000ff00bc4cccff008ae666ff00614cccff00c56666ff003c8000ff007a
+b334ff00098000ff007966688bff001a19988b9c808c808f083ea34191598bffff27
+b3348bffff331998ffff973334ffff803334ffff534cccffffa6199affff868000ff
+ffd5e666ffff68b3338bffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb
+4a154c8b4c944e9dff00138000ff000e6666ff00a0199aff006e3334ff00146666ff
+000d199908f83dff00004ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f7
+14b208fb9c07f759fb4815fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffff
+c16668ffffbc6667fffff01998fffff56666088af86e15cb8bca82c87808fbfffb8f
+8bf79305be98c196d18b08fb2bfbb515f7f4f7880584417b396033080e1c057eff07
+059998ff025b4ccc15ff00013338ff00064cccff0004e66091ff000a99a0fffffd33
+34ff0006e660fffffe3334ff000819a0fffff6b334ff00023330fffffa333408ffff
+cb9998ff004ae66415ffffe21998fffff780007bffffefe668fffff04cd0ffffe7cc
+ccfffff94cd0fffff599986fffffefb334ffffe4e660fffff1ccccffffccccd07084
+ffffbdccceff00048000ffffdc999aff00064cd0ffffceccccffffee1998ffffdc19
+9affffe919987dffffec8000fffff4199affffe31998fffffbb334fffffa1998ff00
+00b332ff000ce668ff001f4cce8fa9fffffd6668ff00254ccc087eff00623334ffff
+d08000ff003ae6644aff002de668fffff54cd0ff00079998fffff066608ffffff3cc
+d0fffffcccd0ff000bccd0fffff41998ff00048000fffff9ccccff00021998fffff7
+e6688b8bffffd53330ff00106664ffff946668fffffa3334ffff86b330fffff96668
+fffedfe66866ffff634cd0ffffc31998ff00431998ff00014cccff003c9998fffff1
+4cd087ffffe34ccc08ff0028999cff00021998ff00054cccfffff7cccefffffd8000
+fffffc4cccff00273334ff0009ccceff0047ccccff000e3332ff0051199895ff0050
+4cd0ff0009e666ff005c6668ff0002199cff004a1998fffffb3330fffff98000ff00
+07e668ff00128000ff000db334b1fffffb8000ff001b6668fffffcccccff00289998
+ffffe36666ff001a3330ffffd6999aff0014e668ffffdf199aff001b4cd0ffffae99
+9aff0004e660ffffd9199808ffffe719a0fffff6e66805fffffce660ff00038000ff
+fffe3338ff00038000ffffff3330ff00041998ffffff1998ff0004b334ff000e8000
+ff0001e666fffffee668ff00063334fffff81998ff002cb332ffffeae668ff003619
+9affffedb338ff001d6666fffff21998ff00164cce77ff0019999affffe59998ff00
+0d99987cff0007b334fffff63330ff00046668ffffe6b338fffffa8000ff000ee668
+fffffa9998ff00094cc8fffff9999aff0003ccd0fffff8b33208fffefbe668ff0019
+e668fffef7ccc8ffffc06666ffff4c4cd04dff0058ccccff0007ccccff004db334ff
+fff66666ffffe98000ffffc6b334deff001b199aff003ab330fffff8199affffff80
+00ffffbe6666ff00544cd0ff00183332ff003e3330fffff83334ff0015b338ffffd5
+b334ff00221998ff000b6666ff0011999889ff000a9998fffffb199affffd51998ff
+fff33332ffffc799a0ffffdc199affffdb1998ffffe6e66608ffffdb1998ffffe6e6
+67ffffd54ccc57ffffb13334fffff84ccdffffcd4cccfffffb1999ffffe1999cff00
+246667ffffd16664fffffbe666ffffd16668fffffbe666ffffcfe664ffffcfb3345f
+fffffb99995ffffffb999afffff7b334ff001eb3334efffffb33334efffffb3333ff
+ffc6b334ffffd0199a54825482ffffe1e666ff00126666ffffd8cccdff001bb33408
+ff00098000ff000ae666ff000a999aff00063333ff000ab333ff0005b333ffffcab3
+33ff00068000ffffd6199aff001e4ccdffffd63333ff001eb333ff0020b333ffffd5
+999aff001bcccdffffd0cccdff00178000ffffcc6666ff00026666ff000a4ccd8eff
+000a4cccff0008cccdff000b8000b8ffffdd4cceff002f4ccdffffe01999ff003519
+9aff0004b333ff0035199aff0004b334ff00189998ff00241999ff00314cceff0001
+199908ff00314cccff0001199aff0036b332ffffd0cccdff00343334ff00028000ff
+00343334ff00028000ff00109998ff00304ccdc1ff00018000c1ff00018000ff0037
+4cd0ffffca3333ff00491998ff0001b333ff00491998ff0001b334f70fff00466666
+ff001f1998ff0012999aff001f19a0ff00129999ff001d800093ff00159998ff0007
+199a08ff00344cc84ffffff533386805ffffe59998fffffb4cceffffe8ccd0fffff8
+9999fffff13330fffff18000ff00163330fffff96667ff0023b3388dff001fccc8ff
+ffff6666ff001a19a0fffffa999aff0015e660fffff5b333ff00164cd0fffff61999
+ff0002b330fffffb3334ffffff3338fffffb199affffff8000fffffb3332ff000666
+68ff00026667ff00061998ff00031999ff0003ccc8ff0006e667ffffefe668ff000d
+4ccdfffff18000ff000e1999ffffe88000ff0009999a08ff0027e668ffffffb333ff
+00063330ff00038000ff000219a0fffff380000593ff0005199aff00063330ff0005
+e666ff0004199892fffff99998ff0003e666fffff73338ff0002199afffff64cc8ff
+00014ccd08ffffdb4cd0ff00038000ff000d3330ff0007e66605ff0023b338ff0003
+e666ff001f4cc8fffffde666ff001e8000fffffccccc08ff0008b338fffff8199a05
+8eff0008199aff0001ccc8ff0008199afffffbe668ff0008b33208ffffc86668ff00
+063333ff002d9998ff0008999a95fffff7666605fffffe6668ff0008cccdff000333
+30ff0006e666fffff6ccd0ff000bb333fffff29998ffffff800071fffff8e667ffff
+f7ccd0fffffc199908ff000f6668ff0014199a05fffffc1998ff000ae666ffffd7e6
+68ff0023e667ffffef4cc8ff000a6666ff002de668a3ff0051e668ffffc4b333ff00
+418000ffffff8000ff00136668ffffffe667ff00189998ff0004e666ff000d666890
+ff00084cc8ffffed999aff00051998ffffea999992ffffdb4ccdfffff46668ffffed
+b333fffff5ccd0ffffec666782ffffebb333ff00009998fffff7cccdff00044cd0ff
+fffc8000ff0004ccc8fffffdcccd08ff00091998fffffeccccff0008b338ffffffcc
+cdff00083330ff0008666708fffff38000ff00084ccdff001a4cd0a5ff00333330ff
+fff2cccd05ff00039998fffff89999ff00024cd0fffff8b333ff00006668fffff899
+9aff00086668ff0003b333ff00079998ff00053333ffffff33309c08ffffe78000ff
+001cb333ff001d4cd0ff0009b33305ff00063330fffffcb334ff0003ccd0fffffb4c
+ccff0003e668fffffb3334ff00039998ff000a9999ff00021998ff000be667fffffe
+6668ff000f333308ffffca6668fffffa199aff0000b330ff0051666605ff0013e668
+ff0009ccceff000dccc8ff000c999993ff000d999aff002880008dff002719a0ff00
+15e666ff00149998ff0012666708ff0013b330fffff43333ffffe7ccd0ffffd7cccd
+0595fffff2e666ff000b4cc8fffff6999a95fffff9e66608fffff73338ff001ae666
+ff00298000ff0027cccdff00278000ff00014ccdff0005e668ff00053333ff0004cc
+c8ffffeb999a05ff000c1998ff0005ccce94ff0009b333fffffde668ff0018999908
+ffffc1e668fffffae66705ff0010e668ff00070001ff00154cc8ffffffb333ff000d
+e668ff0010800008ff00094cd0fffff5999a05ff00058000ff0008ccccff00026668
+ff000e8000fffff7e660998bffffff199a54ffffe1b333fffff46668ffffffcccdff
+fff88000ffffffe666fffff8b338ffffff66678b8bffffee8000ff000ecccdffffe6
+e660ff0014666678fffffe999a78fffffe999afffff9b338ffffdde666ffffdc3330
+fffff5e666ff0009ccd0ff0015199aff0000e668ff003c6666fffff2ccc8ff001ae6
+6608ffffed6668ff0025e666fffff23330ff004a6668ff000519a0ff001c4cccff00
+041998a2ff00129998ff00081998ff00124cd08dff000c1998ff00014cd0ff000e66
+68ff000099989bfffff233349afffff31998ff0018ccc8ffffe7ccceff000d4cd0ff
+fff1999a85ffffee9998ff0003e66876ff00116660fffff64cce8bff00006666ffff
+fde668a0ff00041998ff000a333408ff000cb338ff0002b33205ff00021998fffffa
+ccceff0003b330fffffbe666ff00036668fffffbccccff00059998fffffae666ff00
+01e668ff00006668fffffeb338ff0006ccccfffffeccc8ff0007e666fffffe9998ff
+0003b334ff000019a0ff00088000ff0009ccc8ff000a199aff00096668ff00091998
+ff00053330ff000accce08fffff999a0ff0005e66605fffffa1998ff00006666ffff
+fae6688886fffffccccefffff04cc8ff000b4ccc7aff000be666fffff89998ff000d
+199aff0006e668ff0004ccccff000c6668ff00028000ff000b3330fffffd3334ff00
+0b3338fffffd3334ff00153330ffffe53332ff000a6668fffff9999aff0005ccd0ff
+fffc6666ff00093330ffffff66668b8b08fffff9b330fffff54cce05ff001719a0ff
+0000999aff0011e660ff00076666ff000e19a0ff000b6666fffff0b330fffffd4ccc
+fffff24cd090fffff36660ff000a333408fffffbb3387f05fffffbe668ff00013334
+fffff9e660ff0000ccccfffffb6668ff0003999afffff0e668ff000be666fffff466
+68ff0013ccccffffef9998ff00054cccfffff26668ff00046668fffff0ccc8fffffd
+80008b8b08ff00043338ff00084ccc05ff000c19988e97ff0001199cff000a8000ff
+fffd4cccff000a8000fffffd4cccff0013b330fffffbcccc8b8bff00024cd0fffff5
+4ccc8efffffb6668ff0002e668fffffa3334ff000c8000ff00018000ff001c1998b8
+fffff0b330ff00093334fffff933388fffffb74cc8ff00069998fffff8ccd0ff000b
+e668fffffab330ff0008ccccfffff499a0ff00118000fffff01998ff0003b33408ff
+ffeb9998ff0004ccccfffff89998fffff43334fffff7e668ff00036664ff0003b330
+ff000d4cccff000519a0ff0004ccd0ff000d1998ff000b99988b8b81ff0000b33481
+fffffb800081fffffb8000ffffef6668ffffeecccc8b8b08fffffab330068b8bff00
+068000ff001b3334ff00141998ff0010999808ff00901998fffe7b999a158b070e1c
+056cff00c9e666ff025b4ccc15ffffde199afffff8999c05ff0002199aff0005cccc
+ff00083333ff00094cccff0006e666ff0001ccccff000a999aff0002ccccff0004cc
+cd85ff00014cccfffff9b33408ff00128000ff0043800015ff0014199affffef6668
+ff00068000ffffe4cccc8b8b08fffffab33306ffffffffff8bffffef6667ff001133
+3481ff0004800081ff0004800081ffffff4ccc8b8bff000d1999fffff46668ff0005
+199afffffb3330ff0003b333fffff2b334fffff7e666fffffc999cfffff8999aff00
+0bccccffffeb999afffffb3334fffff01999fffffc4cccfffff4b333ffffee8000ff
+fffa999afffff73334fffff8cccdfffff41998ffffb74ccdfffff96668fffff93332
+8708fffff0b334fffff6ccccff001c33335eff000c6667fffffe8000ff0002e666ff
+0005cccc8eff00049998ff00024ccdff000ab3348b8bff0013b333ff00043334ff00
+0a8000ff0002b334ff000a8000ff0002b33497fffffee664ff000c199a8808ff0004
+4cccfffff7b334058b8bfffff0b334ff00028000fffff26666fffffb9998ffffef99
+9afffffab334fffff46666ffffec3334fffff0e666fffff4199afffffb6667fffffc
+6666fffff9e666ffffff3334fffffbe667fffffecccc08fffffbb3349705fffff366
+67fffff5ccccfffff24ccd86fffff0b333ff0002b334ff000e1999fffff4999aff00
+11e667fffff8999aff0017199affffff666608fffff9b333ff000ab332058b8bff00
+093333ff0000999aff0005cccdff0003999aff000a6666ff00066666ff00153334ff
+001accceff000b3333ff0002ccccff000b3333ff0002ccccff000c6666fffffd8000
+ff0006e667fffffb3334fffff89999fffff2e666ffffeee667fffff4199afffff04c
+cdfffff4b33486ff00033332868efffffa1999ffffff999a08fffff9999afffffa19
+9a05ff00054ccefffff53332ff00094cccfffff6e668ff0009cccdfffff5e666ff00
+00199afffff78000fffffe9999fffffc4cccfffffecccdfffff8199afffffeb333ff
+fff93334ff0001e667ffffff9998ff00059999ff0005199aff00036667ff00043334
+ff0003b333ff0004199aff0002199aff0005333208ff000cb333fffffd4cce05ff00
+04199afffff5ccccfffffde667ffffea999a8b8bff00116666ff0009b332ff0003e6
+67a085ff00116668ff000d4cccff000e6666ff0018cccdff001833329aff000ce668
+9bff000dccccff000e6667ffffff6668ff000c199afffffeb330ff00124ccc89ff00
+128000fffff7e668ff0004333474ff00051998ffffe3b334fffff23334ffffb59998
+ffffed6666ffffda199a08fffff2ccceffffe5199aff0000e666ffffc3999aff0009
+ccccffffeae666ffffdc3334ff000a199afffff9b333ff0022199a78ff0001666678
+ff00016666ffffe6e666ffffeb999affffee8000fffff133338b8bfffff8b333ff00
+009999fffff88000ff0000199afffff46667ff00003333ffffc89999ff001e8001ff
+00006667ff0000b332fffff7e6667dff00026667fffff18000ff00058000fffff733
+3408ff00094ccdff000a666605ff000de667ffffef8000ff00154ccdff00004ccdff
+0010e6668408ffffc1e666ff0005199905fffffde667ffffe7666794fffff64ccdff
+000c1999fffffa333308ff0004ccccff00146666ff0005e666fffffacccdff002780
+00fffffeb333ff00298000ffffd83333fffff73333ffffe5199a05ff000a0001ff00
+06199aff000b4ccdff0009666695ff000d199a08ffffe7ccccff00283333ff0013b3
+34ff000bcccd05ff00149999ffffed9999ff00271999ffffea199aff002880008993
+fffff26666ff000dcccefffff36667ff0013e666fffff6333308ff0000b334ffffae
+999affffca6666ff0005e66605fffffe6666fffff0ccceff0002199afffff41999ff
+0003999afffff56667ff0003e666ff0004ccccff0003b332ff0004b334ff00063334
+ff00034ccc08ff001d6666fffff64ccdffffe78000ffffe34ccd05ffffff33347aff
+0007999afffffacccdff00086666fffffc4ccdff00006666ff00076666ff00024ccc
+ff00074ccdff0003999aff0007666608ff00333334ff000d3333ff001a4ccc71ffff
+f38000fffff7b33305ff00083334fffff79999ff0008b332ff00003333ff0009199a
+ff00013334ff0004ccceff00023333ff00044cccff00038000ff0000999aff000833
+3382ff00144ccdfffff5ccccff00139999fffff46666ff00124ccd92ff0024b33390
+ff00156667ff00086668ff00126666ff000d666686ff0018999afffffb199aff0013
+6666ff00001999ff00417ffeff00008000ff0051e668ff003b4ccdff002de6687308
+ffffef4cccfffff5999affffd7e664ffffdc1999fffffc199cfffff5199a08ff000f
+6664ffffebe66605fffff7ccd0ff0003e66771ff00071999fffff29998ff00008000
+fffff6ccccfffff44ccdff00033334fffff9199afffffe6668fffff7333308ff000a
+1998ff0008999aff002d8000fffff76666ffffc86668fffff9cccd05fffffbe664ff
+fff74cceff0001ccccfffff7e6668efffff7e66608ff0008b334ff0007e66605ff00
+1e8000ff00033334ff001f4cccff0002199aff0023b334fffffc199908ff000d3334
+fffff8199affffdb4cccfffffc800005fffff64cccfffffeb334fffff73334fffffd
+e666fffff9999cfffffc199aff0004199884ff00063334fffffa199a93fffffae666
+08ff00021998ff000c8000ff00063334fffffc8000ff0027e668ff00004ccd05ffff
+e88000fffff66667fffff18000fffff1e667ffffefe664fffff2b333ff0003ccccff
+fff91999ff0006199cfffffce667ff00066664fffffd9999ffffff8000ff0004ccce
+ffffff3334ff0004e666ff0002b334ff0004ccccff00164cccff0009e667ff0015e6
+68ff000a4ccdff001a1998ff00056666ff001fccccff0000999aff0023b33489ff00
+163334ff00069999fffff13334ff000e8000ffffe8ccccff00076667ffffe59998ff
+0004b33308fffff53334aeff00344cccc705ff0015999cfffff8e667ff001d800083
+ff001f1998ffffed6667ff001f199cffffed6666f70fffffb9999aff00491998ffff
+fe4cccff00491998fffffe4ccdff00374cd0ff0035cccdc1fffffe8000ff0035e668
+fffffe8000ff0010b330ffffcfb333ff00343330fffffd8000ff00343338fffffd80
+00ff0036b330ff002f3333ff00314cd0fffffee666ff00314cc8fffffee667ff0018
+99a0ffffdbe667ff00351998fffffb4ccc08ff00351998fffffb4ccdff002f4cd0ff
+001fe667b8ff0022b332ff0008ccc8fffff480008efffff5b334ff00026668fffff5
+b333ff00179998ff0033999aff001bb338ff002f3333ff0020b330ff002a6666ffff
+d63330ffffe14ccdffffd619a0ffffe1b333ffffcab330fffff98000ff000ab330ff
+fffa4ccdff000ab338fffff9cccdff00096668fffff5199affffd8ccc8ffffe44ccc
+6dffffed999affffc8e66894085494ffffc6b330ff002fe6664eff0004cccd4eff00
+04cccdfffff7b338ffffe14ccd5fff000466665fff00046667ffffcfe668ff00304c
+ccffffd16660ff0004199affffd16668ff0004199affffe19998ffffdb9999ffffcd
+4cd0ff0004e667ffffb13330ff0007b333ffffd53338bfffffdb1998ff00191999ff
+ffdb3334ff0019199affffc79998ff0023e666ffffd5199cff000cccce08ff000a99
+98ff0004e666ff001199988dff0022199cfffff4999aff00159998ff002a4cccff00
+3e4cccff0007ccccff00544cd0ffffe7ccceffffff8000ff0041999aff003ab330ff
+0007e666deffffe4e666ffffe98000ff00394cccff004db338ff0009999aff0058cc
+c8fffff83334ffff4c4cd0c9fffef7ccccff003f999afffefbe664ffffe61998ff00
+03e668ff00074cceff00093334ff00066666ff000ee664ff0005666808ffffe6b334
+ff00058000fffff63334fffffb99987cfffff84cccffffe59998fffff2666877ffff
+e66666fffff2199cffffe9b332ffffedb334ffffe2999affffeae664ffffc9e666ff
+fff8199cffffd34ccefffffee664fffff9ccccff000e8000fffffe199affffff199c
+fffffb4cccffffff3330fffffbe668fffffe3334fffffc8000fffffce668fffffc80
+0008ffffe71998ff0009199805ff0004e668ff0026e668ff001b4cccff00516666ff
+0014e668ff0020e666ff001a3330ff00296666ff0028999cff001c999aff001b6664
+ff00033334b1ff00048000ff00128000fffff24cccfffff98000fffff81998ff004a
+199cff0004ccd0ff005c4cccfffffde664ff00504cccfffff6199aff0051199c81ff
+0047e668fffff1ccceff00273330fffff63332fffffd6668ff0003b334ff00056668
+ff00083332ff00289998fffffde6680887ff001cb334ff003c9998ff000eb330ff00
+431998fffffeb334ffff634cd0ff003ce668fffedfe664b0ffff86b334ff00069998
+ffff946668ff0005ccccffffd53330ffffef999c8b8bff0002199cff00081998ff00
+048000ff00063334ff000bccccff000be668fffff3ccccff00033330fffff0666887
+fffff54cccfffff866684affffd21998ffffd08000ffffc5199c7effff9dcccc08ff
+fffd6666ffffdab3348f6dff000ce666ffffe0b332fffffa199affffff4cceffffe3
+199aff00044cccffffec8000ff000be666ffffe9199a99ffffee199aff0023e666ff
+00064cccff00313334ff00048000ff0023666684ff00423332ffffcccccca6ffffe4
+e668ff000e33346fff00104cccfffff94cccff000a6668fffff04cccff00183334ff
+fff00001ff00101998ffffe21999ff00088000080ef9ebff050a8000ffff8c999a15
+fffffe6668ff0007ccccfffff6b330ff000a4ccdfffff98000ff00044ccdfffff980
+00ff00044ccdfffff4ccd0ff00036666fffff64cc88bfffff366688bfffff19998ff
+fffa199a8b8b8b8b88ff00163333fffff6ccd0ff00063334fffff79998ff0005b332
+7fff0003cccefffff5e6688bfffffe4cd08bfffffe6660ffffffccccfffffe6668ff
+ffffb33408fffffeccd0ff00071999fffffae668ff000b8000fffffb8000ff000580
+0085ff00074ccdfffff59998ff0004e666fffff11998ffffff8000ff00033330ff00
+02cccdff00013338ff0003cccd8bff000419998bff00086667fffffe4cc8ff000a33
+33fffff8ccd0ff00093333fffff71998ff000b6666ffffeb4cd0ff0004e666fffff4
+80008bffffff4cc88bffffff66688bffffff6668ffffffe66708ff00034cd0ff0007
+33338dff0008999a8bff000866668bff0015cccdfffff2e660ff000cb333fffff199
+a0ff00088000ff00068000ff0006199aff00066660ff000acccd8bff000a80008bff
+00106666ffffee8000ff000d8000fffff14cd0ff00033333ff0007b330ff0004cccd
+ff00008000ff0009b3338bff0007e6678bff0009b333ffffef4cd0ff0017e666778b
+08fffff480008b7efffffb999afffff69998fffff8e6668492fffff3999cff0003e6
+67fffff4e6648bffffeee6688bffffed8000ffffef1999ff00013334fffff3199aff
+fffdccccff0000e666fffff79998ff00014ccdfffffd199c8bfffff580008bfffff7
+b334fffffd6667fffff71998fffff8b33382fffff89999fffffcccccfffff13334ff
+fffee668fffff7666608fffff9b334ff0013cccdffffef1998ff00339999fffff2e6
+68a3fffff48000a0fffff63330ff0016cccefffff4999cff0013b332ff00076664ff
+00033334ff000a6668ff0000b332ff000a8000fffffeccce08ff000019988bff0000
+199c8b05ff00081998ffffff8000ff0007e668ffffff999aff00063334fffffe1998
+ff00063330fffffe199aff00044cd0fffffd199aff00024cccfffffa666608ff0000
+1998ffffffb334ff00003334ffffffb33205ff0003e668fffffa3334ff00063330ff
+fffdccccff0005e668fffffeccceff0005ccccfffffeccccff0005e668ffffffb334
+90fffffeb332ff0006b334fffffbb33490fffffc3334ff0005e664fffffd6666ff00
+05e668fffffd6666ff0006ccccfffffeccccff00093334ff0000b33408ffffffe666
+07ff000019988b8bff0000199aff0000199c8bff0007b3308bff0006199cff0002cc
+ccff00054cccff0003199aff00021998ff000133348dff000133328dff0001199aff
+00016668ffffff999aff00019998ffffff6666ff00013334ffffffccce08ff000019
+9c8b06ff00026664ffffffb332ff0002999cff0000199aff00028000ff00003334ff
+0001b330fffffe4ccc8dfffffe8000ff00024cd0fffffee666ff00053330fffffd66
+66ff00063334fffffee668ff0005ccccff0000b332ff00038000fffffd199aff0010
+333489ff00054cccff0001ccccff00036668ff00013334ff00024cccff00028000ff
+0001ccccff0002ccccff00028000fffffee668ff00028000ffffff4cccff0002b338
+8b08ff000399988bff00039998ff000133348eff00029998ff0000ccd0ffffff199a
+ff00009998fffffee6668cffffff4cceff00033330fffffde666ff0003e668ffffff
+33348fffffffe6668fffffffe666ff00041998ff0000b334ff00039998ff00013332
+ff000019a08bff00003330ff0000199aff000019988bffffff6668fffffcccccffff
+ffe668fffffc999aff0000b330fffffcccce08ff0000b338fffffcccccff0001b330
+fffffcccccff00031998fffffe6668ff00038000fffffe3332ff000380008cff0004
+ccd0ff00013334ff000b8000ff00034cccff000accc8ff0005b334ff000b8000ff00
+00666608ff000019a006ff000a4cc88bff000ce668ff00033334ff000ae668ff0000
+8000ff00058000ff00003332ff0004ccc8ffffff999aff0003b338fffffe4cccff00
+03b330fffffe4cceff00029998fffffd6666ff000180008608ff00003338ffffff33
+34ff00009998ffffff800005ff00053330fffffae666ff000199a0fffff93333ff00
+016660fffff88000ff00013338fffff96666ff00013330fffff8cccdff0003e668ff
+fff9b33385fffffb8000fffff4ccd088fffff53330fffffd6667fffffc1998ff0000
+1999fffffd1998ffffffcccdfffffd99a0ffffffcccdfffffd8000ffffffcccdffff
+fde660ffffffe666fffffce668ff0000800008ffffff1998fffffa333305ff000399
+a0ffffff7fffff0002ccc88bff00029998ff00003333ff000299a0ff00003334ff00
+028000ff00003333ff0003e660ffffffe66608ff000080008bff00004cd0ff000019
+9a05ff000be668ff0002e667ff000d9998ff0002b333ff00078000ff0007666708ff
+0001ccd0ff0001cccdfffffe6660ff0002199905fffffbccd0ff00056666fffffee6
+68ff00071999fffffe9998ff0007b333fffffe9998ff00078000fffffe333893ffff
+f9ccc8ff0006666689ff0006199a878ffffffb3338ff0002333486ff00024cccffff
+fa4cc8ff0000666685ffffffcccefffff41998ffffff8000fffff2e668fffffcb332
+fffff719988b08ffffffe6688b06fffff29998ffffff8000fffff499a0fffff9ccce
+fffff4e660fffffce666fffffc3338fffffee666fffffe3330ffffffe666fffffecc
+d0ff0000999afffffeccc8ff0000999affffff19a0ff00016666ffffff8000ff0002
+199affffff1998ff00044cccff00018000ff0006ccce8dff0002e666088b8b07ffff
+fd9998ff0001b334fffffd9998ff0001b3328b8b05ffffff33388afffffdccc8ffff
+fe8000fffffd33388afffffd19988afffffc6668ffffff6666fffffcccc8ff000019
+9afffffcccd0ff0000199a88ff0000b334fffffe3330ff00013332ffffff8000ff00
+006666ffffffccd0ff00008000ffffff9998ff00006668ff00023330ff00014cccff
+0001b338ff00016666ff0000ccc8ff0001ccceff00013338ff0002b332fffffeccc8
+8efffffe19a0ff0001666608fffffe1998ff00016668fffffd3330ff00008000ffff
+fdb338fffffe9998fffffdb330fffffe999a8afffffd199aff00003330fffffc999a
+08ffffffe668ffffffcccc06ffffffccceff00001998078bffffff66668bffffff80
+00ff000019a0ffffff6666fffffde660fffffd6666fffffd80008afffffd19a08bff
+fffe4cc88bfffffe3334ff00006666fffffe4cccff0000b334ff00034cd0ff000780
+00ff00063330ff0007b334ff0001ccd0ff00063332ff00006668ff00016666ff0000
+1998ff00016668ffffffb330ff00016666ffffffb338ff00016666ffffff1998ff00
+014cccfffffeb330ff0000b33408fffffd6668ff00016666fffffd4cd0ffffff6666
+fffffd1998fffffeb334fffffd3330fffffeb334fffffce668fffffdccccfffffcb3
+34fffffcccccfffffe1998fffffe4ccefffffeccccfffffe4ccc8afffffe33348aff
+0003199afffffe6668ff0002e666fffffd1998ff00014cccfffffe3334ff0000ccce
+fffffdb334ff0000199889ffffff199afffffe1998ffffff3334fffffe8000fffffe
+8000fffffe8000fffffde66608ffffffccd0ffffffe666ffffffccccffffffccceff
+ffffccccffffffccccffffffe668ff00068000fffffeb330ff0005e66685ff000019
+9afffff7b334ff00003334fffff6e668fffff69998fffffb4cccfffffb199affffff
+6668ffffff4cceffffff9998ffffff3332ffffff8000ffffff3334fffffeb334ff00
+04199afffffe66648ffffffd8000ff0003666689ff0002b332fffffd4cd0ff00024c
+cefffffc8000ff0000cccc08fffffc8000ff0000ccce87ffffff3332fffffbccccff
+fffdb334088b8b07fffffa8000fffffcb332fffffcccccfffffc4cceffffffb334ff
+fffbccccffffffb334fffffbccceff00029998fffffc8000ff00033334fffffd6666
+ff00033334fffffd6666ff00043330fffffdccccff00043334fffffe4cceffffff99
+9cffffffccccffffff9998ffffffccceffffff9998ffffffccccfffffae668fffffd
+199afffffb1998fffffdb332fffff9999c8b08ffffffe6648bffffffe6688b05ffff
+f76668ffffff4ccefffffa8000ff0001199afffffaccccff00024cccfffffaccccff
+00024cccfffffb1998ff0003b334fffff8e668ff0004800008ffffff9998ff000033
+34ffffff999cff000033320585ff0001999afffff9b334ff00003334fffffab330ff
+00011998fffffab334ff0001199afffffbccccff0001999afffffd3334ff0004199a
+fffffce668ff0007199afffff9cccc8f84ff00021998fffff8ccccff00023334ffff
+f7ccccff00008000fffff7e668ff0000800008ffffffe66607fffffc3334ff000066
+66fffffc3334ff00004ccefffffc4ccc8bfffff88000ffffffe666fffff8e664ffff
+feccccfffffa199cfffffd333487ff0006999afffffbb334ff0006199afffffb6664
+ff00059998ffffecccccff00174ccefffff46668ff00153332ffffde8000ff000999
+9afffff0ccccff00044ccefffff2b334ff00004cccfffff133348b8e918dff00064c
+cc8b8b08ff000c4cccff00183334ff00198000a5ff00221998ff0018cccc058b8bff
+0006199cff0004199aff00058000fffffde666ff00058000fffffde668ff00119998
+ffffdd33328b8b08ff0001ccccffffcb6666ff000c3334fffff0199aff0005999cff
+ffffb334ff0004b330fffffce666ff0000ccd0fffffaccccff0004b330ff00006668
+ff00003334fffff1e666ff000a8000ffffe84cccff0002ccccff0010333491ff0008
+8000ff000d3334ffffe13332ff00066668ff0011199aff000a3334fffff44cce058b
+8bff0004800094ff00028000fffffae666ff00028000fffffae666ff001fccccffff
+f166668b8b08fffff61998ff000bb334fffffd800098058b8bfffffc199cff000a99
+9aff000380008eff000380008eff0015b330fffffb33328b8b08ff0000b334ff0005
+6666ff001d8000fffffc199affffebccccff00104cce058b8bfffff7199cff000680
+00ff00003334ff00018000ff00003330ff00018000ff0010b334fffffd33328b8b08
+ff00098000ffffff6666fffff8999cff00078000ff00139998ff00014ccefffffc4c
+ccff00074cccff001be668ff0007199afffffcccccff0005e666ff000fb334ff0002
+199afffffc3334ff0006199a9cff00003332fffff99998ff00083334ff0015e668ff
+0002199aff00119998ff00016666ff0017e668ff0008666696ff00016666fffffe4c
+c8ff0005666805ffffd999a0ff00078000ffffeee664ff0006b332ff00044cccff00
+014cceffffe84cccff00076666ff0000b334ff0005199afffff28000ff0008b332ff
+00056668ff0007999affffe6b330ff0006b334878f058b8bfffff9b334ff00041998
+fffff53334ff0002333489ff0000666689ff00003334fffffde6688bfffff666648b
+fffff53334fffffc999afffff99998ffffff6666fffff8199cffffff3332fffffb80
+00ff0004e668ffffff4cccff0003ccccffffff4cccff0003ccccff000466688eff00
+07ccccff0001999cff0007ccccff00019998ff00104cccfffff94ccc8b8b08ff0010
+199cfffffe199aff0012cccc8efffffe9998ff00056666ff000b3334ff0002999cff
+0004999cff00048000ff00178000ff000a3330fffff34cccff0003ccd0ff00093334
+ff00054cccfffffd8000ff00043334ff0014ccccff00131998fffff5ccccff000280
+00ff00019998ff0004e668ff00169998ff000d1998fffff7b338ff00098000ff0014
+4cc8ff000c800005fffff43338ff00063334ff0017b330ff0014e664fffff83338ff
+0003e668ff000d8000ff00134cccff0010e660ff000ab334ff001a6668ff00143334
+ffffe1ccd0ff0003e664ffffdc6668fffff03334fffff76660ff0006e668ffffe619
+9cfffff33334fffffcb334ff000d8000fffff11998fffff81998fffff7199cfffff7
+ccccfffffe8000ff0006999cfffff3b334fffff6999805ff00036664ff001333347b
+fffff83334fffff3199cfffff89998fffff3e664fffff4ccccfffff8b334ff0013e6
+68fffffce66896ffffed8000ffffed1998fffff63330ffffeb4cccfffffaccd0ff00
+056668fffff8e664fffff4666882fffff58000fffffb999cfffff66664fffff76664
+fffffcccccfffff7800075058b8bff0000199cfffff73334fffffe4cccfffffbb334
+fffffe4cccfffffbb334fffff7ccccfffff91998fffffc3334ffffffe668fffffc33
+34ffffffe664ffffff4cccff0004199cfffffeccccff00031998fffffeccccff0003
+199cff000ee668ff000b66648b8b08ff0006e668ff00078000ff00079998ff001399
+9c92ff0002b330ff00046668ff0009ccd0ff0004cccc8d95ff0012e664ffffff8000
+ff0004b334ff0007e664ff000a1998ff0002b334ff0014e668fffffaccccfffffee6
+68ff0000999cff00098000ff00069998ff000e3330ffffff999cff0004199cfffff9
+99988aff0002b334ff0005999805ffffff4cccff0010ccccff0002ccccff000db334
+fffff76668fffffdb334ff00074cccff0018e668fffffb3334ff00224cccfffff599
+98ffffeb4cccfffff6ccccffffeee668fffff04cd0ffffee4cccfffffc4cccff0005
+8000fffffa6664fffff99998fffff8e668fffff46668fffffa6668ff00084cccffff
+fc3330ffffff9998fffff88000fffff5999cfffff9199cfffff2199805fffffc3334
+ff000bb33489ffffffccccfffff79998fffff4e668fffff7b3347cfffff86664ff00
+0bb334fffff6199cfffff34cccfffff84cccfffff44cccfffffc6668ff00129998ff
+fffe1998ff00138000fffff46668fffff2ccd0fffffc3330ffffec8000fffffc6668
+fffffe800089ffffec1998fffff79998fffffe9998fffff9199cffffec800005ffff
+fb6664ff00043334fffff98000ff00004cccfffff6ccd0ff000d3334fffff5ccccff
+000accccfffffab334ff00126668fffffb33307afffffc999cfffff4ccccfffffc19
+98ffffe8b3348b7eff0001e6687bfffff71998fffffd6668fffffce668ffffef8000
+fffffe4ccc87ff00043334fffff31998fffff99998fffffb999805ff00066668ffff
+f4ccd0fffffc6664fffffa9998ff0005199cfffff63334ff001a9998ffffec333405
+8b8bff000fe66875ff001b3334fffffc1998ff001b3330fffffc199afffff2b334ff
+fff83332ff0001b334fffffae668ff0001b334fffffae6667dfffff8199a8b8b8b8b
+ffffe38000ffffe9cccc85898589ffffc9ccccffffbf80008b8b6186ffffbd1998ff
+ffcc3334ffffe5199cffffe8e6660889ff0006999affffebccccff001e99988b8b8b
+8bfffffe4cccff0030b334fffffd3334ff0004ccccfffffd3334ff0004cccefffff9
+6666ff001f66668b8b8b8bfffffb199aff000d4cccff0003ccccff0002999aff0002
+199aff00016666ff0003999aff0002999aff000619988bff0005199a8bff0006b334
+fffffe4cceff0008e666fffffa333208ff0009e666fffff9999aff000a8002fffffe
+4ccc938b08ff0007ccccff00054cccff0001999a8b1fff001bb334fffffe999aff00
+086664ff0003e666ff00008000ff0005b33495ff00043332fffffe4cd0ff0006999a
+ff00098000ff000680008cff0003b334ff0006b330ff000d3332fffffbb334ff0006
+ccceff0009999c95ff0006e664ff0008fffeff0009b334ff00124cd0ff0003ccccff
+0009b330ff0005e668ff000e6668fffff2e664fffff6666805fffff3b334fffffe33
+30fffff3199cfffffc199cfffffb9998ff00038000fffffaccccffffff9998ff0005
+e668ff00116668fffffb4cccff0005b334ff00093334ff000ee664fffffe8000ff00
+03199cff0007e664ff000f9998ffffff6668ff000fccccfffff48000fffff38000ff
+fff3e668fffff53334ff00013330ff000c6668ff00004cd0ff000e8000fffff4e664
+fffffc333005ff0002999c9aff00006664ff000c6668fffffeccccff00014cccffff
+f76668fffffa199cff0002e668ff000d8000ff00009998ff000b6664fffffdccccff
+00026668fffff8199cfffffd6664ff0001800097ffffffccccff0007999cfffffa99
+98fffffe6664ffffff3334a0ff00031998ff0011199cff00044cd0ff00143334ffff
+eacccc7605fffff79998ffffeab330fffffb999cff00068000fffffa8000fffff4cc
+d0fffff6ccccfffff4e664fffffeb332fffffa999cfffffc6666ff00043330fffffd
+999afffffd6668fffffccccefffff28000fffffb4cccfffff91998fffffd3334ff00
+03ccd0fffff6cccc7bffffff999afffff48000fffffd4ccc88fffffc6666ffffed4c
+ccff0002199a8705fffffd999afffff6b334ff00033334fffffa1998fffffa8000ff
+ffee3334ff00008000fffff6e664058b8bff00038000ffffefccd0fffffd9998ffff
+fe8000fffffd999afffffe8000fffffd6666fffffd9998fffffd999aff00023334ff
+fffd999aff00023334fffffe6666ff00096664ff00013334ff0003e668ff00013332
+ff0003e664ff0004999aff0006199c8b8b08ff00063334ff00141998fffffc333292
+ff0002333494ffffffccccff000c8000ff0001800097fffff9b334ffffff3334ff00
+04999aff0013ccccfffffe199aff00178000fffff83332fffffa4cccfffff0ccceff
+fff64cd0fffffe1998ff000e9998fffffb999aff000c6668fffff9b334ff000e6664
+fffff83332fffff0cccc88ff000d800005fffffb8000fffffc4cd0fffffe999aff00
+0ab330fffffa999aff000de668fffff6b334fffff8800081ff00178000fffff6e666
+ff00001998fffff14cccff001f199cffffea999aff000e4cccff00064cccffffe333
+34ff000533347afffffe8000ffffeb199884ff0001999cff00043334ffffe43330ff
+fff51998ff00026668ff00068000ffffebe66805fffff5999afffffe1998ff0007b3
+34ffffea3334fffffe6666fffffbb334fffff8199a8fff00034cccffffe71998ffff
+fc3334fffffe8000ff00033332fffff71998fffff5b334ff0004999cff0009ccccff
+ffebb334ff0000999afffffa3330ff0005e666fffff7e668fffffc3334fffffd1998
+ff000a999afffff33334ff000b6666fffff84ccc058b8b99fffffb6668ff00043334
+fffffa8000ff00043332fffffa8000ff0001199afffffb4cccfffffd999afffffdcc
+ccfffffd999afffffdccd0fffffa8000ffffff3330fffffb4ccc90fffffb4ccc90ff
+fff96668ff000b6668fffff7e666ff00049998fffff7e666ff0004999cfffff9b334
+ff0000b3348b8b08fffffb4cccffffff6664ffffec3334ff0009ccccffffff8000ff
+fff7999cfffff29998ff0001b334fffffdcccefffffc1998ffffecccccff00083334
+ff0002199afffffcb334fffff18000ff00051998ffffe33333ff0010999887fffffd
+3334ff00068000fffff8ccccff000ae667ffffec999cff000a999afffff5199898ff
+fff23334fffff78000fffffde66805ff000ae666fffff63330fffffa66668994ffff
+f5b334fffffaccccfffffdb334ff000e4cceffffeb6666fffff9b33288977ffffff7
+33348aff0006666686058b8bff000c4ccefffff88000ffffff4cccfffffee666ffff
+ff4cccfffffee668fffff6e668ff000080008b8b08ffffea6666ff00001998ff0015
+199a7dfffffd9998fffffbe668058b8bff000e800083ff00024ccefffffbb33287ff
+0001800087ff0002199afffffbcccc8dfffff94cceff00033334fffff89998ff0002
+cccc82ffffff3334fffff7ccceff00039998fffff6ccccffffffe668fffff78000ff
+00004cccfffff78000ff00004cccfffff88000ff0000cccefffffa999aff0003cccc
+ffffff3333ff00044ccefffffe199aff00039998fffffd3333ff00024cce08fffffc
+cccdff0002999a87ff0001333287ff00006666fffffbb333ff00006668fffffb999a
+ffffff9998fffffc19998affffff999aff00016668ffffff8000ff00016666ffffff
+6666ff00013332fffffeb333ff0002e668fffffe8000ff00028000fffffe80008dff
+fffeb334ff0001ccccfffffee666ff00013334fffffe999a8c08ff00001999ff0000
+199805ffffffe666ff0000199affffffccccff0000199affffffe667ff0000199aff
+fffd8000ff0002199afffffc9999ff0000e666fffffc8000ff00008000ffffff8000
+8ffffffe8000ff0003e666fffffce667ff0003333408ffffff9999ff00006666ffff
+ff999aff0000333205fffffab333ff0002999afffff7b333ff0000b334fffff83334
+ffffff8000ff00003333ff00033332ffffff8000ff00034ccefffffe3333ff000299
+9afffffe199aff0002ccccfffffc3333ff0001999a878afffffd6666ff00008000ff
+fffd4ccdffffff999afffffd3333ffffff4ccc8bff00014cccffffffcccdff000166
+68ffffff999aff00013334fffffee6668efffffd999aff0002b330fffffc9999ff00
+01333408fffffce667ff0001199cfffffc1999ffffffccccfffffb999afffffe9998
+ffffffb333ff0000199cffffffcccd8bffffffb333ff00001998ff0000199aff0001
+b334ffffffccccff0001ccccffffffb3348d088bff00006668ffffffcccdff00004c
+cc05fffffd6667ff0005e664fffffb4ccd8efffffb3333ff00008000ff0000b333ff
+00054cd0ffffff4ccdff00054cccfffffd1999ff00048000ffffffe667ff00003334
+ffffffe666ff00003330ffffffe667ff00003334088b07fffffdb335ff00053334ff
+fffc66668ffffffb3333ff00023334fffffd8000ff00011998fffffd6667ff0000b3
+34fffffd1999ff00001998fffffd199aff0000199c88ffffff9998fffffccccdffff
+ff199c08ffffffe6668b06fffff11998fffffb6664fffff2199afffff1199cff0000
+b3347808ff0005e666ff0000333005ffffff66669bff000c199aff000cccd0ff000c
+6666ff0003e664088b07ff00053334ff00018000ff00046666ffffffb334ff000380
+00fffffe6668ff00038000fffffe6664ff0002b33388ff0001cccdfffffbb33408ff
+0000199affffffccccff00003334ffffffb33405ff00026667fffffc6668ff000080
+00fffffb6664ffffff199afffffb4ccc88ffffff3334fffffd3333fffffeb334ffff
+fd999afffffe4cccfffffc1999fffffd666888fffffce664fffffee667fffffc4cd0
+ffffff8000fffffe3330ff00001999fffffd8000ff0001999afffffe6668ff000199
+99fffffe6668ff0002199affffff8000ff0002999a8b088c8bff0000b334ff000080
+0005ff00058001ff0003cccc8fff00059998ff0002199991ff000033348bff000033
+33ff0000199cff000033338b8effffffccccff00026666fffffeb3348dfffffbb330
+ff00003334fffffe8000ff00001999fffffe999cffffffe667fffffeccccfffffe80
+00ffffffb334fffffe6666ffffffccccfffffe999affffff6668fffffc4cccfffffe
+6664fffffccccdfffffd8000fffffdb333fffffd199a08fffffdb334fffffd199aff
+fffe4cccfffffc8000ff00014ccdfffffc6666ff0000999afffffe3334ff00018000
+fffffe6666ff0001cccdffffff199aff0001ccccffffff199aff00024ccdffffff80
+00ff0002b333ffffffe66608ff00026666ffffffe666ff0000999aff00024ccc05ff
+0000cccdff0002e668ff00026667ff00033332ff00023333ff00043334ff0000cccd
+ff0001999aff000099998dff0000999a8dff00003333ffffffe664ff00006666ff00
+00199cff00003334ffffffe66408ff0001199affffff999c8cff0000666405ff0003
+e666ff00018000ff0002ccccffffffccd0ff0001cccdffffff6664ff0001cccdffff
+ff66688cfffffeccccff0000999afffffe8000ff00006666fffffecccc8bfffffe80
+00ffffffb333fffffe999afffffd999a8afffffd4ccd8afffffe1999fffffee666ff
+fffe8000ffffff199afffffecccdffffff4cce8affffff3332ffffff8000ffffff99
+9affffff6666ffffff8000ffffff999affffff800008ffffff999affffff8000ffff
+ff6666ffffff6666ff0000199afffffe6666ff00001999ffffff3334ff00006667ff
+ffff199aff00009999ffffff8000ff0000999affffff8000ff00008000ffffffcccc
+ff00006666ffffffe666ff0000e667ffffffccceff0000b333ff0000199aff0000b3
+33ff00001998ff00018000ff00003334ff0001cccdff00006666ff00028000ff0000
+ccce08ff00003333ff00001998ff00003333ff0000199a05ff00031999ff00018000
+ff00023333ff00026666ff00014ccdff0002b334ff00004ccdff0000199aff00004c
+ccff00003332ff00004ccdff0000199aff00036667ff0001199aff00034cccff0000
+4cccff00018000ffffff999a08ff0000cccdffffffccceff0000cccdff0000333205
+ff00024ccdff0000b334ff00009999ffffff8000ff0000cccdfffffeccccff0000cc
+cdfffffeccceff0000999afffffd9998ffffffb333fffffd999a8bffffffe666ffff
+ffe666ffffffccce8bffffffe666fffffdb333ffffff999afffffdb334ffffff8000
+fffffe1999ffffff3332fffffe8000ffffff6668fffffe999affffff3332fffffee6
+66fffffecccefffffee667fffffeccccffffff1999fffffe66668bfffffe3334088b
+fffffde666ff0001e667ffffff4ccc05ff00049999fffffe4cceff00046667ff0000
+e666ff0002ccccff00028000ff00018000ff00014ccc8cff0001b334ff0000cccdff
+0001b334ff000033338bff0000199aff00001998ff000033338bff0007199aff0000
+999aff00086666fffffee666ff0003b333fffffe6668ff0001999afffffe3332ff00
+01199afffffdccceff00008000fffffdb332fffffbe666ffffffe666fffffbe666ff
+ffff8000fffffc8000fffffeb33408fffffde667ffffff3334fffffe1999ffffff19
+98fffffe6667fffffeb334fffffe6666fffffeb334fffffecccdfffffe4cccffffff
+b333fffffdccccffffffb333fffffdccce8cfffffdccccff0001999afffffe3334ff
+0001999afffffe3332ff00026666fffffe8000ff00033333fffffe666808ff0000cc
+cdffffff9998ff0000cccdff0000199a05ff0007b334ff0001199aff00054ccdff00
+05999aff0001cccdff00066666ff00003333ff0000b334ffffffe666ff0000b332ff
+0000199aff0000b334ff00028000ffffff8000ff00026666ffffff4cccff0001199a
+8a08ff00001999ffffffe666ff00004ccdffffffe66805ffffffffff8bff00014ccd
+fffffeccccff00013333fffffe4cccff00013333fffffe4cceff00016667fffffdb3
+32ff00011999fffffd999aff00008000fffffee6668bfffffeccceff00006667ffff
+fecccc8affffff999a8affffff999affffff3333ffffff800008ffffffe666ffffff
+e66605fffffb999affffff199afffffccccdfffffe4cccfffffe6666fffffd6666ff
+fffe3333fffffd3334ff00006667fffffc8000ff00019999fffffd999aff0001999a
+fffffd999aff0002e666fffffe6666ff000333348bff000333338bff00036666ff00
+01e666ff0002999aff0003800008ff00001999ff00003334ff0000199aff00003332
+05ff0001b333ff0003199aff00006667ff00033334ffffffccccff00033332ff0003
+8000ff0000e666ff0003cccdff0000999aff00038000ffffff999aff00033333ffff
+ffb334ff0002cccdffffff19988dfffffe4cce8dfffffe4cccff00018000fffffdb3
+34ff000066678708ff00001999fffffecccc8cffffff333405ff00073332fffffa66
+66ff00096667ffffff8000ff0008e666ffffffb334ff0008e667ffffffb332ff0008
+cccc8bff0006999afffffcccce08ff0000ccccffffff9998ff0000ccceff0000199a
+05ff0007b332ff0000e666ff00066668fffffd8000ff0006b332fffffce668ff0004
+199afffffe1998ff00043334fffffdb334ff00049998fffffe6666fffffdccceffff
+fd999a88898b8b08fffff78000fffff86666fffff36666fffffd999a058ba1fffff9
+e666ff0008199a1eff0001199a8bff0000ccccff0000199aff00008000ff00003334
+ff00044cccff00021998fffffe199afffff733348b8b08ff000cccceff00024cccff
+fffb1998fffff0999aff0018ccceff000dccceffffff6666fffff6ccccfffff93334
+fffff33334ff00136666ff000a666691ff0007b33205ff00046666fffffe3334ff00
+04999afffffe199aff0005b332fffffccccc08ff00006668ffffffccceff00004ccc
+ffffffe66605ff0008b334fffffdb332ff00046666fffffb199aff00034cccfffff9
+999aff00033334fffff9999aff0001b332fffff83332ff0002999afffff8ccce08ff
+0000199affffffe66605ff00004cccfffff6b334ff0004b334fffff899988ffffff9
+199aff0004199afffff8ccceff00036666fffff98000fffffe6666fffff7199808ff
+ffffe666ffffff6668ff0000199affffff800005ff0001b334fffff7b332fffffc66
+66858bfffff880008bfffff9e666ff00104cccffffe7e6678bfffffb4ccdfffff566
+68fffff4199afffff41998fffff28000fffff2e668fffff0e666ffffce1998ffffc6
+8000ffff518001ffff1e33338b8b08ff00101999ff00078000fffff3999affffea19
+9aff0018b333ff001066666664ff002b999aff0016999affffece666ffffef8000ff
+0005e667fffffe999aff001266669a6dffffdfccccff0022e666ff001c199affffea
+8000ffffd93333fffff0199affffde4ccdff0027b333ff002e999affffeb6667ffff
+d43334ff0054e666ff008e333305ff0050b334ff00654ccdff004fb332ff00678000
+ff0006999afffffcb333058bff00000001ff00073334fffffde666ff00003332ffff
+fce667ff00003334fffffce666fffff4b332fffff633338b8b08ff0002b334fffffd
+8000fffff1ccccfffff1999a9cff00044ccd058b8bff0007199aff00021999ff0000
+b334ffffff4ccdff0000b332ffffff4ccdfffff7b334fffff819998b8b08fffffbe6
+66fffffb3334ff0007199aff0000e666fffff8b33480ff000566668afffff8999aff
+ffee199aff00046666ffffff4ccdfffffaccccfffff6b333ff0004ccceffffff999a
+fffff93332fffff6b33492ff0000199afffff84ccefffff36666fffff9999881ffff
+faccceffffefb333fffffc4cccfffff98000ff0003999afffffeb33305ff0013999a
+ff0011999aff000a8000ff0006999a8afffffd199aff000d999aff0009cccdff0002
+8000fffffd8000ff000a1998ff0003ccccff0001cccefffffa4ccd05fffffeccccff
+fffe8000fffffe3334fffffeb33389fffffee667fffffe6666ffffff1999fffffecc
+ccffffffcccdfffffeb334ffffff999a088aff0000999afffffeb334ffffff800005
+ffffff4cccffffffb332ffffff8000ffffffcccdffffff8000ffffffb333ffffffcc
+ccffffffe666ffffffb334ffffffccceffffffb334ffffffccccffffffb332ffffff
+cccdffffff999affffffcccdffffff999a8affffffccccffffff8000ffffffe666ff
+ffff199aff00004cceffffff3332ff00004cccffffff3334ff00008000ffffff8000
+ff00006666ffffffccccff0000ccceffffff8000ff000066668bff00004ccc8b08ff
+0000999a8bff000080008bff00006666ff0000199a8bffffffcccd8bffffffcccdff
+ffffccceffffff8000ffffff4cccfffffe8000fffffde666fffffd999afffffdb334
+fffffde666fffffdb334fffffde666fffffdb332fffffe3334fffffe6666fffffe4c
+ccffffff999affffff999affffff999affffff8000ffffffb334ffffff8000ffffff
+b332ffffff8000ffffff8000ffffff4cccff0000199afffffeccce08fffffe199aff
+fffe6666fffffde666fffffe6666ffffff6666ffffff999a08ffffffe666ffffffe6
+6605ffffff999affffffcccdffffffb334ffffffe667ffffffb332ffffffccccffff
+ffb334ffffffcccdffffffb334ffffffe667ffffff9998ffffff8000ffffffe668ff
+ffffe666ffffffe666ffffffcccdffffffccccffffff9999ffffffccceffffff999a
+ffffff8000ffffff3333ff00009998fffffeb333ff0000999afffffeb334ff00014c
+ceffffff8000ff000099988bff0000999a8bff00003334ff00001999ff000033328b
+08ff0000ccceff00003333ff0000199aff00003334ff00006666ff00003333ff0000
+199a8bff00004cccff00006666ff0000199a8bff00006666ff00003333ff00008000
+ff0000199aff0000199affffffe666ff0000199affffffe667ff0000e666fffffecc
+cdff0000199afffffc8000fffffb199882fffff4999afffffae666fffff58000ffff
+fd666608ffffff999a8b06ffffffe6668bffffffccceffffffe667ffffffe6668b08
+ffffffcccc06ff00000001ffffffe666ffffffe666ffffffe668ffffffe666ffffff
+3332ffffff999a8b1eff00004ccefffffb3333058bff0000e666ffffff999aff0000
+33341eff00004ccc8bff0000199affffffe666ff0000199a8bff000033328b8bff00
+00199aff0000199a8b08ff00004ccc068bff00003334ff00001999ff00004ccc1eff
+000033348bff000033348b05ff00016666ff00001999ff000233328bff0001e668ff
+ffffb333ff0000e666ffffffcccdff0000e666ffffffb333ff00008000ffffffcccd
+ff00008000ffffffcccd8bffffffcccc8b8b8b8bff0000199affffffcccdffffffb3
+32ffffff3333ffffffb334ffffff3334ffffff199afffffeb333fffffe8000fffffe
+4ccd08ffffffb332ffffff999affffffccceffffff999a05ffffff8000fffffeccce
+fffffe3332fffffd9999fffffdb334fffffdcccdfffffe4cccfffffe4ccd89fffffe
+800089fffffe9999ffffff3334ff0000999a8aff00008000fffffee666ff00003333
+88ff00006667fffffcb334fffffee66687fffffd666608fffffe999affffff199a8b
+fffffe6666058bfffffe4ccdff0000ccccfffffe199aff00016666fffffee666ff00
+016666fffffee667ff0001b334ffffffccccff00018000ff00003334ff00016666ff
+00003333ff00018000ff00006666ff00016666ff0000999affffffe668ffffffcccd
+ff000019988bffffffe668ffffffccccffffff8000fffffeb334ffffff1998ffffff
+1999ffffff3334ffffff4ccdfffffbccccff0000b333fffffc999a8bfffffd8000ff
+fffeb33308fffffd199afffffe999afffffe999afffffd3334ffffff4cccfffffd99
+99fffffe8000fffffb33338bfffffbcccdfffffccccefffffdcccd08ffffffb332ff
+ffffcccdffffffccceffffffb33305ffffff1998fffffee666ffffff4cceffffff33
+34ffffff8000fffffee666ffffffccccffffff6666ffffffb334ffffff8000ff0000
+199affffff199aff00001998ffffff199aff00008000fffffee666ff0000b334ffff
+ff6666ff00018000fffffecccdff00013334ff00004ccdff00011998ff00003333ff
+0001199aff00003333ff0001199aff00004ccdff00013334ff0000800008fffffe80
+00ff0003b3330590ff0004199aff00004cccff000633338cff00034ccdff00008000
+ff0001b333ff00008000ff0000e667ff0001199aff00008000ff0001199aff000080
+00ff00024cccff00004cccff00046666ffffff199a08ff0001199affffffcccd8cff
+0000999a05ff00026666ff00016666ff0001b334ff00024ccd8cff00026667ff0000
+e666ff00021999ff00004cccff00024ccdffffffccceff00024ccdff00028000ff00
+01b333ff00026666ff0001cccdff0002199a8dff00024cccff00024ccdff0001e666
+ff00024cccff00013334ff00024ccdff0000199aff0000199a8bff00003333ff0000
+199aff0000199aff00001998ff00001999ff0000199aff00003333ff0000199aff00
+00199a08ff00016666ff0001b333ff00013334ff0001999aff0000999aff00018000
+ff0000b332ff0001cccdff00003334ff0001e666ffffff4cccff0001999affffff80
+00ff00014ccc8aff0000e6678aff0000b333ff0008199aff00036666ff0007b33490
+ff00041998ff0008333408ff00004cceff0000999a8bff0000999a058bff00048001
+ffffff3332ff00031999fffffe199aff0001e666ff000133348cff0000199affffff
+e667ff0001ccccff00018000089291fffffc6666ffffffb33305ff0000ccceff0000
+b334ff00006666ff00006666ff0000e666ff0000ccccff00028000ff00024cceff00
+028000ff00026666ff00016666ff0003199aff0000b334ff00018000ff00004cccff
+0001ccccffffff999aff0001cccdff0000e666ff00006667ff0000e666ff00004ccc
+8cff00008000ff00033334ff0001b334ff00038000ff00028000ff0001ccccff0003
+ccccff0000e668ff0001e667ff00004cccff00023333ffffffccccff00024ccd08ff
+0005b334ff0004800005ff0000e666ff00004cceff0000ccceff00004cccff0000cc
+ccff0000666708ff00024cccff00004ccc058bff00000002ff0004ccccff0001b333
+ff0005999cff0004e666ff00059998ff0004e667ff0003199cff0009ccccff0002cc
+ccff00048000ff0002ccccff00048000ff00048000ff00008000ff00024cccfffffe
+cccdff00024cccfffffecccdffffffe668fffffc8000fffffdb334fffffb199affff
+fdb334fffffb1999fffff5b330858b8b08fffff86668fffff8199a85fffff4b333ff
+00038000fffffe8000fffffcccccfffff8e666ff0000999cfffffbb33387ffffef33
+33ff00073330ff00054ccdffffff199c84ff00034cccffffff999aff0001cccc78ff
+00058000ff000480008dfffffd3333fffffde668ffffee8000ff00086664ff000099
+9afffffe999c7b05ff00081998ff0003cccdff0001999cffffeacccdff00054cccff
+0002999aff0004e664fffff0e666fffffee668fffff2999aff00003334ffffe9999a
+ff000e4cccff000e999a91ff0019999aff00071998ff0001e666ff0003999cff0013
+199aff0008b334fffffc4ccdff0001b330ff000b3333ffffff3334ff0008199aff00
+043334fffffe33338bff000a666605ff0008e668fffff66666ff00026664ff000bcc
+cdff0001199cff0009e6668aff000b199aff000d9998fffffbb333ff00073334ffff
+fd4ccdfffffd4cccff0011999afffff8e668ff000db33390ff0000999afffffcb330
+ff00088000fffffde668ff00093333fffffc9998ff00063333ff0001ccd0ff0005e6
+66fffff79998ff000d8000058bff00000002fffffb3334ff0003b333fffffe6664ff
+00029999fffffe6668ff0002999affffff8000ff00073333ff00018000ff0002199a
+ff00018000ff00021999ff00028000fffffe999aff00023334ffffff6666ff000233
+34ffffff6667ff00001998fffff366668b8b08ff00013334fffff94ccdff00076664
+fffff3e666fffffe999cfffffb199aff00039998fffff9b333ffffff199cfffffc99
+9aff000619987eff0002b334fffffe4ccdff00024cccfffff7999aff000a1998ffff
+f6199aff00018000ff00033333ff0004e668fffffbe66690fffff6b333ff00024ccc
+fffffe999aff0002199cff0003cccd8dfffffc4ccd05ff00093330fffff9999aff00
+064cd0fffff8e666ff00024cccff00058000ff000a66647dff00146668fffff4999a
+84ff000e199afffffa9998ff000be666fffffce668ff000f999aff00048000ffffff
+b333fffffeb334ff0005b333fffffcb334ff00088000ff0006b330ffffff999aff00
+016668ff00023333fffffd6668ff00084ccdfffffb4cccff0009666605ff0007cccc
+fffffd3333ff0000b334ff00013333fffffd800094fffffb4cccff000a999aff0009
+4cccffffff4cccfffffd3334ff000a8000fffffce668ff0008e666ff000b6664ffff
+fa6666ff000b4cccfffff9199afffffd999cff000b999a82ff0009e666ff0000b334
+ff0002b334fffff61998ff0009199aff00029998ff0005199afffff84cd0ff000b99
+9a05ff00043330ff0000b333ff0002ccd0ff00036666ff000ae664ffffff999aff00
+09e668ff0001199997fffffb6667fffff8ccccff00098000fffffb6668ff00064ccd
+80ff000bb33384ff00053333fffff69998ff00058000ff00023334ff0005cccdffff
+f86664ff00086666fffffe999cff00028000fffff74ccc8eff00003334ff00053333
+05fffff76664ff0001199afffffe999cff0004199afffff89998ff00014cccffffea
+999cfffff9b334058b8bffffedb330ff00006666fffff2e668fffff2e666fffffb33
+34fffffb4ccdfffffeb334fffffe4ccdffffffccccffffff999aff00001998ff0000
+9999ff000033348dfffff94cccffffff6667fffffc6668ffffffb333ff00019998ff
+000c33338b8bff00004cccff0001199aff0007b334ff001bcccc8bff000533348bff
+000a8000fffffbccccff0022e6668b8b088b8bffffeb199cff001ab33485ff000480
+00fffffeb334ff0000e666fffffc3330ff00023332fffffbccd0fffffe6668ff000f
+4cccff000d9998ff00113334ff000b999aff0012ccccff0009ccce8b8bff00139998
+ff0006ccccff001633348bff001480008bff0026ccccfffff8e666ff001f8000ffff
+d43334ff001f8000ffffd43333ff00173334ffffd7b333ff00078000ffffeccccd08
+ff0005e668fffff0e666ff0006ccccffffdeb333ff00029998fffff28000fffff499
+9cffffffcccdfffff0ccccfffffde667fffff2ccccfffff3e666fffff59998fffff6
+800086808b7c8bfffff94ccdff00038000fffff24ccdff0002199cfffffbccccffff
+f566648afffff1b334fffff6cccdfffff9b334fffff6cccdfffff99998fffff6999a
+ffffffe668fffff14cccff0001e668fffff6cccd08ffffed8000fffffae667ffffee
+b330ffffe94ccc8bffffe966678bfffff3e667ff00016668fffff1ffff91fffff580
+00ff0004ccccfffff78000ff000e199cfffff38000ff000c1998fffff94ccd9486ff
+0005ccccfffffe8000ff001333348bff0006cccc8bff001db33493ff00173334ff00
+10e666ffffff8000fffffe33348bfffffa99998bfffffe4ccd08ffffeccccdff0016
+99987bff001966681eff0013b3348bff00144cccff000e9999ff000a3334ff000a33
+34ff00046664ffffee6666ff0015199cfffff33333ff0013e6648bff0010999c8bff
+00164cccff00078000ff0008999cff000db3338cfffff24ccdff000f3330ffffe84c
+cda58bff000ce6688bff000e1998ff00098000ff00044cd0ff0007199aff0004ccc8
+fffffab333ff00098000fffff99999ff000880008b08ff000966688bff000d1998ff
+0004cccdff0002e668ff0005cccdff00064cd0fffff16666ff0018ccc8fffff26667
+ff001499988bff0012b3388bff001b1998ff0007e666ff000b8000ff0006cccdff00
+0b800078ff001b1998fffff2b333ff000f99988ba28b99ff001480008bff000b199a
+8bff000b199982ff000ecccdfffff1e6689208fffff2e668ff00068000fffff48000
+ff00018000fffff28000fffffd666708fdcaff013fb33415ff0004e666fffff88000
+fffff58000ffffff3333058b8bff0003199afffff9e666fffffc3334ff0000b3348a
+ff00003333fffffde666ffffff6666fffffd66668a08ff0009b334ff000c999a05ff
+000d4cccff000e199a1592fffff88000ff00023334fffff94ccdffffedb332ff0004
+800005ff002f3332ff0032199815ff00073334ff00016668ff00068000ff00006666
+ff0006b334ffffff3332ff000a9998fffffeccceff000a6668fffff4ccccff0001cc
+ccfffff5cccd8cfffffa199aff0000999cffffea8000fffffcccccfffff96666ffff
+ff1998fffffe199afffffe999cfffffecccdfffffde664ffffff19998affffff999a
+fffffee668ffffff9999fffffeccccffffffcccd08ffffe88000ff00108000fffff2
+8000ffffffe667fffffd8000fffffd1999fffffc8000fffffeb333fffffcccccff00
+01b334fffffe6668fffffd4cccfffff84cccff0005b334ffffefccccff0003b33305
+d5ff004e666815ff00098000fffffc8000ff000b4cccfffffb99988affffff6668ff
+0009e668fffff7e666ff00061998fffff7999aff00053334fffff44cccff0001e668
+fffff9b333ff00001998fffff080008b8b08fffffbe66860058bffffffffffffffff
+b33486fffffc9998fffffde667ffffff4cccffffff9999fffffe999cffffffcccd89
+8bfffff880008bfffff18000ff0002cccdfffffab330ff00033333ff0002e668ff00
+016666ff00028000ff00023334ff00018000ff00031999ff0003cccc93ffffffb334
+ff00156667fffffe9998ff00081999fffffdccd0ff000c8000fffff34cccff000d66
+677eff0001800008fffffab334ff0000999afffffa9998ffffff6666868a08ff01dc
+8000ff0027999a15ff000166688bff0001b330fffffd8000ff0000999cfffffd1998
+ff00009998fffffd3334ffffff999cfffffcccccfffffe9998fffffd999afffffe19
+98fffffce666fffff83334fffffd4ccefffffbb334fffffeb332ffffffb3348cffff
+ffe664ff00013334ff0000199cff00016666ff00004cccff0002999aff00011998ff
+0003199aff00018000ff0002999aff0001e668ff00034ccc8fff0005b3348e8b08ff
+001a3330ff0005199815ff0000b338068bffffffccceff00011998ff0003999affff
+feccd0fffffbccccfffffeb330fffffb8000fffff89998fffff5cccc89fffffb199a
+fffffe3334ff0001cccefffffeb334ff00021998ffffffb3348dffffffb334ff0002
+8000ff0000b330ff0002b334ff00036668ff0002e66608ff00001998ff0000199aff
+0000199c8b05ff0002e664ff0002e666ff0002b334ff0001e6668dff0000e668ff00
+00e664ff00006666ff000099a0ff00003332ff000066608b08ffffd5b338ff0001cc
+ce15ff000133308bff0000b334fffffce666ffffffe668fffffab334fffffde664ff
+fffb9998fffffbb334fffffc8000fffffab334fffffdb334fffffd6668fffffee666
+fffffd1998ffffff3334fffffd1998ffffff999afffffe4cd0ff00028000ffffff4c
+ccff000233328eff0003ccceff00056664ff00041998ff00064cd0ff0005e668ff00
+03e664ff0001cccc8cff00008000ff0000b334ff0000199aff000066688b08ffffd8
+3330ff00014ccc15ff0002e6688bff0001b334fffffe999aff0001b334fffffdb334
+ff00029998fffffc8000ff0001e668fffffa4cccff00018000fffffab334fffffde6
+64ffffff3332fffffde668ffffff4ccefffffe33348afffffa8000ff0001b332ffff
+fa1998ff00024ccefffffc6668ff0002e666fffffd80008d8aff0001ccccff000019
+98ff00018000ff00001998ff00016666ff00016668ff00026668ff00049998ff0002
+cccc08ff0002199cff00014cccff00014cccff0000999aff000299988b08fffe1299
+9cff008d666615ff000033328bff000033348bff0000199affffffe668ff0004b332
+fffffe6666ff0001b334fffff9999a8b8b08ff0008e666ffffdb9998ff0002b334ff
+ffdf999aff00001998ffffebb334058b8bff0005b334ffffe7199aff0002b334ffff
+f9ccccff00033332fffff88000ff0006e666fffff5e666ff0002199afffffd6666ff
+fffb6666fffffbcccefffff48000fffff56666ffffe3199affffdfcccdff00006666
+ff00019999ffffede668ff001633348bff00024ccc8bff00073334ff0003b332ff00
+06ccccfffffe4cceff00094cceff0001b332ff000a9998fffffbe666ff00084cceff
+fffbccceff00074ccc08fffffbb332ff00076666fffffbe668ff000680008bff0007
+b334088bff00008000ffffffccccff0000800005fffffd999aff0006b334fffffe33
+32ff00083332fffffc4cceff00074ccefffffc6666ff0007199885ff00064cceffff
+f63334ff0002e66608ffffffe66606ffffff999aff00003334ffffffccccff000033
+32ffffff999aff0000333408ff000fcccc8fff001ce666ff00234ccc058b8bff000f
+3334ff00133334ff00053334ffffffb33208fffeebccccff00194cce15ffffffe666
+ffffffb332ff0000199affffff999affffffe666ffffffb334fffffecccdfffffbb3
+32fffffce667fffffcb334fffffb4ccc8afffffde667ff0001199afffffe3333ff00
+01199affffff4ccdff0000ccccffffff1999ff0000e666ff0000199aff000080008b
+ff000033348bff00003332ff00003333ff00006668ff0000cccdff0000b332ff0000
+cccdff0000b334ff00016666ff0000ccccff0001b333ff0000999a08ff0002b3348c
+ff00038000ff00008000ff00036666ff0000199a08ff03a09998fc9d15ff00009998
+ffffea1999ffffe64cd0fffff2cccd7e8bfffff299988bfffff13338ff000b4ccdff
+00023330ff00143333ff00051998fffff53334ff000be668fffff84cccff000d8000
+8b988bff000bb330ff0009b334ff0008e668ff000c666608ffffb31998ff00504ccc
+15ff0003e668ffffea8000ffffec4cd0fffff0199afffff3199889fffff2cccc8975
+ff000c6666ffffff199cff00146667ff0006b330fffff63333ff00128000fffff666
+66ff000d6668ff0002199aff000ce6688dff00066664ff000a4ccdff0006e664ff00
+0d999908ffffad00044415ff0003b334ffffea6667ffffe86664ffffef3333fffff3
+199cfffffe3333fffff2b330fffffe199afffff2199cff000b6666ffffff6664ff00
+146667ff0006999cfffff6199aff000a6664fffff79999ff000d6668ff0001e667ff
+000ce668ff0001ccccff000a4cccff000b666692ff000d8000086bff0061800015ff
+0003b334ffffea6666ffffe98000fffff00001fffff31998fffffe3333fffff2b334
+fffffe199affffeb8000ff0009e666ffffff6664ff00146666ff0006999cfffff619
+9a9cfffff9199aff000d6664ff0001e666ff000ce668ff0001ccccff00093334ff00
+0a999a92ff000d800008ffffa96664ffffac4ccd15ff00056668ffffeaccccffffe6
+8000ffffe9cccdfffff34cccfffffd3333fffff2e668fffffd199affffec8000ff00
+0b3333fffffdccccff00144ccdff00074cccfffff6999aff000fe668fffff79999ff
+000d3334ff0002e667ff000cb330ff0002ccccff000c8000ff000fb33491ff000dff
+ff08ff00a68000ff0098e66715ff0000999cffffea1999ffffe94cccfffff24ccd7e
+8bfffff299988bffffecb334ff000dcccdff00023334ff00143333ff00051998ffff
+f53333ff00106668fffff5cccdff000d80008b988bff0008b334ff000a3333ff0008
+e664ff000c6667080efbbefb0aa5f76caad1a001bebcf70bc103bef74315f8260abc
+4215f8270a0efbcdfb0aabf770a601a6c1f70ac103f731f73515f8470a0efbacfb06
+af77a1f761a5d1a012a3c1f717bb13bcf7657e15f8280a86fb2d15f8290a137cf82a
+0a13bcf82b0a0efbeafb04a2f74aa8f708a401d3bc03d350158b79fffffacccdffff
+f98000ffffeb3333fffffc8000087f890588ffffff800089ffffff80008b87088b7a
+8d8a058bb48ca1a3c18a8b1e8c8c8b9c058b8f88ff0000cccd89ff0000333308768d
+05ffffeccccdff0001cccdfffff93333ff000833338b9d08f72cc60791938d911f9d
+078d898c881e479506eaa3969f1e9d8b9584937790809583978b978b96968b978b96
+84967e947c967b91748b0857565e2b1f6c06808884861f7d07898b8a8e1eb5060efb
+acfb82a9ebb3c0a1f71fa17ba7129ab672be58b4f708bf8bb213ea00f79ef71315f8
+2e0a13f200f82f0a13e900f8300a13ec40f8310a13e980f8320afb4ffb7e15f8330a
+13e440f8340a13f280f703f74415f8350a0efbb4fb04a2f766add1a001c2bcf703bc
+03f3f75015f8ae0a0efc25fb03a8f761a0d7c512d3c559bb13f0f0f7aa15f8420a13
+e8a6fbce15f71c0713f0f8430a13e8f8440a0efc18fb699ef7d1a0c9c4128bbbb2c7
+58bc13f8f709f79b15f7870a13f476fb5215f7880a13f8f7890a0efba9fb04a8f768
+a5d1a001c3bb03c36615f8af0a0efc46fb05a1f7d0a001c2bc03c26715f7970a0efb
+02fb03a8f75da17dad12cdbbf705bbf705bb141c13bcf70fe115f8b00a13dcf8360a
+0efb7dfb03a8f75da17dad12d1bbf715bb13b8f713e115f8b10a13d8f8360a0efbb6
+fb82a8f1a5f75ca17aaa12c3bbf716c113dcf3fb3715f8b20a13ecf8380af71304ed
+0713dcf8390a0efbb3fb82a2f700a5f766a501a8c1f711bc03f7645615f8e30aa9ca
+15f8e40a0efbf1fb03a8f75bb761a112d5bb13d0f73ef70915f78a0a13b0f78b0a0e
+fbeafb0aa4f779a412a7a17cbbe2c16fa213e8a77915f7980a13d4f7990a13e8f79a
+0a0efc19fb0ab3f760a812c5bb65b113e0f5f71215f83a0a13d0f83b0a13e0f83c0a
+0efba8fb0aae7ca1f765a212c2bbf705bb13b8c2d715f8450a1378f83d0a13b8f83e
+0a0efbadf719a20194f7bc03f760f71915f8460a0efb1df719a201f7eff71915ac88
+ff00033334fffff46666fffff1ccccffffdf999a08ffffd1199affff94999a05ffff
+f3e666ffffe54cccfffffc4cccffffffe667fffff5ccceff001ce66608ffffdae666
+ff00694ccd05fffff48000ff0020b33389ff000b4ccdff002080008e8f8f8b9a878f
+748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff001c3333fffffb
+8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea3333ffffdc6667
+ffffae666605fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608c6ff0081999aff00349999fb17058ffffff600
+01ff00036666fffffb4ccdff0008199a8bff000633348bff0003b332ff0005199990
+9608ff00533334ff00b6cccd05ff000de666ff001e999aff0007999aff0011e666ff
+001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c8f8708
+0efb95fb82b4f7dea201a2f7bc03f785e115ffffc94ccdfb13fffffbb3338a52f714
+05fffff2199aff001f199aff00006666ff000ce666ff002080008e8f8f8b9a878f74
+8affffeecccd8affffe633338b758b818c748c87878b7c8f87ac87ff0001999a7fff
+000f66666808cffb2e05ff0005999afffff34ccdff00046666ffffeeb3338b848b85
+8a8688837b65786c828b858b869085918790858e828b088178827974aa81971fb78b
+a2b19eb7ff00344ccdf70dff0014b333ff002e4ccdff001dccccff0046e66698aaff
+0004b334ff00104ccdff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d
+8c748c0887878b7c8f87ac888ffffff480007dffffdf8000080efbd5fb04a9f764a8
+01a2a103d1f72f15818bffffeecccc8efffffb33349008858a058b6f8772866dff00
+063333fffffd4ccdff00088000fffffecccdff00074ccdff0000e66697b7a0919e8b
+08d78bfb26fb6e0586838b8a8b8708878f88951ef759068e9e91a896affffff8e666
+ff0002cccdfffff8b334ff00018000fffff86666ffffffb33308847a057c6a818367
+8b08418bf722f76605989e8b8f8b8d088c078e878b871e898b6f89798b080efb63f8
+01a7c576e1aaf70da801a7a8f70eaaf70ea703c4f8a715f9320a6e16f9330af74a9b
+15e26c34346ce235aae1e1aa070efb63f801a7f70faaf70da801a7a8f7a7a703c4f8
+a715f9320a6e16f9330af7a07c15aafb606c070eccfb6d76f778b3f805b301b4ddf7
+3ddaf73cdd03f773a9153979f700dfe29de5e21fa18b9f81a17008fbb407786d747d
+708b08f76df80515f7f40a46fc6215dd07a175a184aa8b08f3d2f701f71bf70356e9
+271f5c8b6f79757008f702078bbf9ec7d3b6087ba0053e6573627d6f80a772b83dad
+087a7605d5609d4f8b5708280778a072986c8b08303635fb34fb00c12cef1fb38baa
+97a5a7082e078b577950415f089c7705d9ada4b896a6996fa363d865089b9f0543b6
+78c78bbf080e5c89acf7aeb7b8ae01f707daf77cda03f7ebf84915fb29ce068bbf9e
+c7d3b6087ba0053e6573627d6f80a772b83dad087a7605d5609d4f8b5708483e68d8
+fbd8078b6e807e698808778905868a87898b86088b748d89058bd38db1b4d3898b1e
+8d8d8ba20590878e871e768d05698e80988ba808f73a07c3c4c197a68bbd8bb8668b
+fb278bfb8d2e774c5d08977c05f70cbcf2dc8bf75f8bf74440bc388b588b5b7a5557
+08f706f729070ef8cff70c01fbb9f76803fb6df94715c70a0ef8cff70e01fbbcf75d
+03fb31f94915f71b0a0efb91f78703fb05f91615fffff0999aff0007b334fffff666
+66ff0000b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79
+b279ff0009199aff0003ccccff00041999ff0008199cff0002cccdff000919980867
+a666ad6daf080ef8a0f70701fbc6f78803fb61f8a015f7020a0ef8b4bfc87701fbbd
+a7f76ca70372f92515f50a0ef8ecf72701fbf6f7910326f95415ff001033347fff00
+15cccc6e1e808b8487868308ffffc4b333fb0105fffffd7ffffffffb6668fffffecc
+cdfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408fb1790
+15ff00174cccffffe9b333ff000eb334fffff04ccd1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080ef8e9f7
+2afb107612fbf6ff00fa800013a0fbf6f95415f7680af71790158b838d84908708e3
+ffffaf8000051360ff00046666878ffffffc8000ff0005999a8b928b91908b928b8d
+ffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7020513a0869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080ef8f1bf01fbbea7
+f76ca703fbbef8b415f7630a0ef94eaa01fbcfd1f703d003fb52f96d15f7d70a0ef8
+8baa01fbe1d4ebd40330f8e215f8000a0ef959eb01fc11ebe8eb03fb54f98915b70a
+fb5116b70a0ef96476c5a301fb8bb8a1a59bbf0335f96915f8580a0efbc4f8e0f301
+e9f303e9f91415f7000a0ef8d1ffff2ee666ff0016199aefadff033e8000ff0016e6
+68018bff001a8000ff04478000ff001e333003f8d6f703158c8bda4a8d8b8e8b9290
+8b8e8b8c32d88a8cffffff1998ff0000e666ff00078000ff007380008bff0023999a
+8bff00056666ffffffccd0ff0003999affffff99988c87958692828f08848efb018c
+8b8b0861468a709c7c058c959d8b1fa279058c91968d1f8b8c779d8b8d8b8f9eb18e
+8cff00024cccff0000999aff000a999aff0000999a948bff0006199a8bff0007199a
+ffffffb3328bfffffee6668bfffffb6668ffffcde666ffff9fcccc8b8a8c89c36d8d
+8b088cacc78b1fff00014cccff00014ccdff00013334ffffe999998bfffff033348b
+fffff76666ffffff9998fffff96666ffffff199c8bfffffb19988bfffff6b334ff00
+12333483ffffefe666ffffff3334fffffe6666ffffff9998fffffe66678bfffffe66
+668bfffff3e667ff00153334fffff5cccc8bffffff199a8a838d848c88088d86977c
+918b928b8c9a8d8b088dfb2c1587858b85938b08f7c906ff00004cccff00003334ff
+00003334ff000066661f8bff000a3333ffff97e668ff0084e666fffff19998ff0011
+4ccdfffffb6668ff0005999afffff63330ff00039999fffff4e6688bfffff333348b
+fffff18000fffffb199afffff5ccccfffff3b3336a637f78798584895046888608fb
+78af15ffffdab334ff000d3334fffffa3332ff00026666ff00003332ff000033348b
+ff0000199a1e99a1d9f71f939908ff0001999aff002966664d8b1f932905937f9283
+9f8b0885f71a65c605869154a789898a8a2cffff53cccd8bfffffc333308f775f8fa
+158cf823fd4c8b1ffdb48d058bf823f94a8c1efca2fdb015ff0000999affffffcccd
+b5ffffffe666ff0042cccc8bff010b66668bff02990004ff00014ccdff000333308b
+ff001180008bff00088000ff000bb3338bff000fb3338bff0009666788ff000ab333
+85ff000a8000898efc8dfa06899087ff00081998fffff4e668ff00076668fffff44c
+cc8b08fffff780008bfffff71998fffffc1998fffff93334fffff566688684fc9afe
+0f89858afffffc999affffff8000fffffc80008bfffffc80008bffffeee666ff000b
+3333ffffef3333ff000d4ccdfffffe4ccd08f8d1fa5015f88dfdfd05ff000f1998ff
+ffe7b333ff00081998ffffeae6678b7a8bfffff19999fffffa3338fffff4999affff
+f39998fffff83333fffff44cd084ffffeeccc887ffffe880008bfffff94cd08bffff
+f8ccc8ff00004ccdfffff84cd0ff0000b33308fe698c05fffffe4ccdffffffe666ff
+fffe4ccd8bfffffe4ccc8bffffee999a8bfffff14cccff0002b334fffff48001ff00
+051999ffffed333393fffff5199aff000de667ffffff6666ff001266668b988f9a96
+9c8d8ff88ef9fd9093ff000b1998ff0014b334ff00123334ff000ab334ff00128000
+8b08ff000833348bff00084cccfffffde664ff0007b334fffffbb334948694829180
+08ffffe11998fffe37b33415ff00068000fffff98000ff0008e668fffffc8000ff00
+0933348bff000519988bff00053334ff0001199890ff00023334ff000d4cccff0005
+e666ff0007cccc988bff000d999a8bff0004e6668aff0004e666fffffde668ff0004
+b334fffffa1998ff000c8000fffff33334ff0007999afffff266688bfffffb19988b
+868afffffb3334fffffde66608fffff2b334fffffa199afffff833347e8bfffff266
+668bfffffb199a8cfffffb199aff00021998fffffb4cccff0001b334fffffc199aff
+00028000fffffc8000ff0002e664fffffd199a08fffdb63334fffe41b33215ff0002
+4cceff00054ccdff0002ccccff0005999aff0003999aff0005b333fffffc3333ffff
+fa199afffffd3333fffffa8000fffffde667fffffacccc080ef8c3fb65a0f92977f7
+cba101f86ac0e0bd03f84cf77615967f9a8f9a9408c0d88b36d78b8bf5a9718b3f05
+9c8b9596929a088bc5839a41c8056e927a84807c088afb31158b8325fb4e05968795
+84a59c08e8f73aecfb46059694979689a3083bf7298b9205f74dfb9e15de8b39f71c
+4d8a053ffb1a15df8a5cf71c828a059771976f5e720876b2898d05fb0b2b15e08b7e
+f71a4e8b05fb27fb1b15de8b98d005707b79907a9508b0ce718b05fb48fb1a15df8b
+c6f71a4c8b05f797f7f715a07a9c76767a7a76769c7aa0a09c9ca01efc39fc9e15f8
+1ff940f81efd4005fe1d2615f9340a7604f9350a0ef829f716a0f85a77b776db77f8
+47a101f854f8b3159f7b9a77777c7c77779a7b9f9f9b9b9f1ea8791593819281a18e
+08e0b994326afb50b19fadf739ab41058e868d85908a08f063058d9891947a9e0846
+a96dd582e3b07e9e6605987f998999920867d247a105767e758171998b8bfb014780
+88083efb8e15938d948f9296088adaa3929a76df8c0588958a977d8d08579177dba1
+8a996f059d7d9092938d0871c25396057b837b8a7a90083e40059183968b968a08bc
+b305f7a5f75815a1799d7575797975759d79a1a19d9da11efc83fc2015f81ff940f8
+1efd4005fe1d2615f9340a7604f9350a0ef8d5fb77f2c5a1c5ff0014cccdff004d33
+33a1af9f9e9f8aa012f7e0a2f72ea1f70bff00168000ff00978000a113f9e0f939f7
+3615ff00066668fffff1e666ff00064ccc7dff00066664fffff1e667ffffe34cd0ff
+ffee9999ffffece664ffffe06667ffffffb334ffffdbffff0878ff0000333305fb23
+f71b15f73e8b5afb190513fbe052f76815438a9792ffffd9199affff833333fffff9
+ccccff00013333fffff9999aff0000999afffff980008b08545e5f5454b85fc2c2b7
+b7c21f8bff00293333ffffe74cccaeffffdc66689aff00023332ff0007199aff0002
+8000ff00079999ff0002999aff0008199af726fb2e55a3d988088d06ff00091998ff
+ffd2b333ff0027ccd0ffffde4ccdff003019988b08c2b7b7c2c25fb8541f808bffff
+f56668fffffe3333fffff61998fffffcb333fffff83334ff00114ccdfffff6e664ff
+0014199afffff56668ff0017b3330813fde0919ea28c8b9e348b058381958bb28208
+8677fb438b0513fbe097b48588c08b08fb0afb0a15ff000433348bff00041998ffff
+ffb3338fffffff6667ffffe7199affffb28000ff0002999aff0008e6668bfffff980
+008b858e87918bff000a6666ff0000e666fffffdb334fffffe999aa4ff004fb333ff
+001ab3327fff00123334ffffe54ccd8bffffe0800008606969606069adb6b6adadb6
+1efb8cfb7e15f82af953f82afd5305fe382415faaf06988b9692919591958b9a8595
+08fca1fa2105859580927e8b7e8b8084858108fca2fe210585818b7c918191819684
+988b08ff02608000ff00f1199a15ff0050cccc8bff0006ccccfffffc3333ff0000e6
+68ff000db3338bff0003e666fffffeccccff0002b334ffffdcccccff004e1999ff00
+07199cff00023333ff00078000ff0001199aff0007cccc8b08b6ad6860606969601f
+ffffdbe6688bffffe23330a3fffff76668ff0021199a08fffffd8000ff0014800015
+ff00003334ff001b4cccff000dcccca3ff00153334ff000dcccd08ff001dccccffff
+be4ccd050ef829ff003f6666ff02904ccc01ff00226666ff0023333303ff0195999a
+ff0260e66815ff00704cceff001eb330ff002c3330ffffe6999cffffadccceffffe8
+199805ff0050199affffcf8000ff0040e668ffff9c999affffd48000ffff7d999a08
+ffffd8e664ff000e666605ff001d199cff0047ccceffffe31998ff006e9998ffffac
+6666ff002d333408ff0015999affffade666ffffd53334ff0017ccce05ff005c8000
+ffff05199915ffffe21998ffff8f6666ffffd3e668ffffe6999aff00149998de05ff
+ffadccceffffd3199affff89999afffff9cccdffffa4ffffff0067199a08abff001a
+999905ff002f8000ffffc2cccdff006e3332ffffe18000dcff0031999a08ffffae19
+9aff00168000ff002a3334ff0018ffff05fffef79998b915ffffadccccff00528000
+ff00004ccdff0032e668ff003d4cccffffc4666605ff00029999ff005d999aff0036
+4ccdff00698000ff0086e666ff001ab33408ff0006ccccffffd6e66405ffffb33334
+fffff5b334ffffae3333ffffb04ccc8d2c08ff003cb333ff003b6668ff000066675a
+05ff01c84cccfffff3cccc15ff00b51998fb27ff0093199cffff4ae668ffff4ae666
+fb27ffff6ce664ffff4ae668ffff4ae666f727fb27ff00b5199aff00b51998f727f7
+27ff00b5199a1e0e1c053d1c04a6f79c159ff506ff0006cccc94ff00036668ff0009
+3330ff00098000ff000999a0fffffc4cccfffff880001e8bfffffc8000fffffde660
+fffffbb334fffffaccd0fffffacccc087d779b068d8f87881f6707878786881e7e77
+9f06909a98901fc1078f8391898d93948e1ea307ff000db334ffffebccd0ff00074c
+ccffffec3330ffffece668ffffed1998fffff93334fffff1cccc1ef74e5115fffff9
+4cd0ff001ae666ffffeeccc8ff00093334ffffef19988bffffeb33388bffffedccc8
+ffffefb332fffffdccd0fffff33334086407ff0008ccd0ffffe9b3349afffff93332
+ff000eccc88b9e8b9bff000ab334ff0003e668ff0003e66608fffff28000ff000e80
+0005fffffa6668fffffb4cccfffff84cc8fffffce668fffff880008bfffff5e6688b
+fffff64cd0ff00058000fffffc9998ff000e4ccc08c906ffffe880009f15ffffdb80
+0006ffffff6668ff000a8000ff00099998ff0007b334ff000999988bff0007ccd08b
+ff0007e668fffffaccccff000233307e08fffed38000b215838b8388838508937529
+a1ca07ff00053330ff00088000ff000699a0ff0005e666ff000780008b8f8bff0004
+3330fffffe6666ff00048000fffffc3334089a9e05888f828f808b0837a615756f81
+79954f068b829881908a089d9f8106888b8b8c8a8d08c4999d7d07fb0947157e7f05
+928292849b89ff00038000ffffff8000ff00034cccffffffb334ff000333348bff00
+0333348bff00034cccff00004cccff00038000ff000080009c8c97938f988c908b91
+8a9087978192828e087206858a869a968f908c908b908a94899088908808989a0583
+957f8e7f8d858c868b868a79888483888389848d848b848d80948695889589958a95
+8b08938b897d85890885890584897f8c898c858f868e858e08fb06cf1529a2cc078d
+ff00094cccff0008cccc90ff0008b3348bff000919988bff0008e668fffffa8000ff
+00008000fffff43334084d9ed80789958192818e848d858b848a868a858987880891
+07fb16b115fb1ca1cc078dff00094cccff0008cccc90ff0008b3348bff000919988b
+ff0008e668fffffa8000ff00008000fffff43334084d9fd80789958192818e848d84
+8b848a868a8589878808b707f8612d15a77c068a888787888b087706808b8ca1958b
+089cc5157b06807d83851f987d8e8b058e908e8d1ea0068f8f88881f7f6907ffffee
+e668fffff88000fffff1b334fffff16666fffff0b332ff00084cc8fffff03334ff00
+0e4cd01fa6068e8b908e8c8f0884a1d707997a957b1efcd45115a77c068a88878788
+8b087706fffffa9998fffffd8000ff00053334ff00056666ff0005999aff0002ccd0
+ff0005ccccff000519981f9cc5157b06807d83851f987d8e8b058e908e8d1ea0068f
+8f88881f7f6907ffffeee668fffff88000fffff1b334fffff16666fffff0b332ff00
+084cccfffff03334ff000e4ccc1fa6068e8b908e8c8f0884a1d707997a957b1efb27
+af15fb1ca194078c869784918b089506989c9d951fba07997d97801e7906fffffbe6
+668bfffff7199afffffc999a88fffffb666608b907fb14651529a1ce07ff0003999a
+ff00043334ff00066666ff00059998938bff000566668bff00063334fffffd6668ff
+00066666fffff8cccc0848a1d0079a7d99801e7706858b8785888808940744b11576
+a0a007776515299fed07fac9f78215908bff000a3330ffffff4cccff0005ccd0ffff
+fcb33408f865fb9dfc65fb9e05fffff79998fffffb3333fffff81998fffffde66784
+8bffffed33388bfffff34cc8ff000f33338bff001319998bff0004199aff000099a0
+ff00043333ff00013330ff00044ccd08a8f31cfb128b8bf7871c04ee8b6ef305ffff
+ff1998ff00034cccffffff8000ff000380008bff000366688bff0010cccc969cff00
+1666688b081cfb02c315726e706f1ffcb1076fa871a41e1c06e006a1ae9eb11ff8ab
+07b1679f751e1cf9bcfb941533fb1ce3a149afc39f53afcd06f75effffadcccc15ff
+0021333407ff00058000ff00094cccff00063334ff00036668ff0005cccc8bff0007
+e6668bff0007199afffff9b332ff00038000fffff9999a086a07fffffa999afffff7
+8000fffffa3332fffffc8000fffffa4cce8bfffff94ccc8bfffff96666ff0004cccc
+fffffa333492080ef84afb6776f7a2e4f7a7ff003be666ffffc5199aa912b5d0aef3
+f7d8a9f745eeadce13cf80ff011c199aff0113b33415fffffa199aff0000e66685ff
+00006666fffff9cccc8b084856554848c055cecec1c1ce1f8bff0030cccdffffe366
+66ff0029cccdffffd6999aff00133332ffffeeb334ffffca3334fffff14cccffffd1
+b3338b8bfffff9e666ffffed199afffffd199afffffb3333818bfffff6e6668bffff
+f9199a928b948bff00064ccdff0000999aff0004b333ff0005ccccff0012800008ff
+01a66666ff0067e66615ffffe23334ff0041999a40fb5aa98b058bff0037cccdff00
+1e1998ff00314ccdff002cb334ff001b4ccc08ff000e4cccffffe0800015ffffdecc
+d0ffffeacccdffffea1998668bffffd54ccd08f0069ff70c15fffff3b3348bfffff4
+3334fffffe3334fffff4ccccfffffcb332ff001c66644cff00113334ffffda199a8b
+8bff000ab334ffffe866668cfffffc199a8bfffff980008b82fffffa1998fffffd19
+9affffdd6668ff0000199908ffff9db334ffffffcccd0599ffffcc999aff002ee664
+ffffda6666ff0037e6688b08cec1c1cece55c0481ffbc9f76a158b6c0513ef8062ff
+ffffe66605ffffe5ccccffffff3334fffff8e668fffffbe666fffff99998ffffed80
+0008fffff5b334ffffdb80000513df80f7a48c96a905ffffd1b334ff0008b334ffff
+ea8000ff00054cccfffffe8000ff0006800008ff00004cccff00098000f7208b8b6c
+678b0513ef80806d05ff000fe668ffffdcb334ff000e8000ffffdf9998ff000ce664
+ffffe36668ff000f999cff00056666ff0010ccccff0002e666ff00114ccc8b08e0d1
+4536364544361f418bffffc14cccff0035ccccfffff1199cff0046199a08ffffde19
+9806ffffdb3334ffffffe667fffff79998ff00021999ffffec3334ff0013cccd8b8b
+ffffc46666ff0045999affff92199aff0073b333fffffc3334fffff46666fffffc19
+98fffff3e666fffffc199afffff3e668ff0037333473ff00276666ffffc919998bff
+ffc0b33308364445363645d1e0e0d1d1e01eff0009b3348bff00098000ffffff199a
+ff00093332fffffe4ccc08b5ff0085999a05ff000e3334ff002d3334ff000fccccff
+0004ccccff002b199aff0000cccc08ff00658000ff00d7333415f9360afb34fbe615
+f752fb63d7f763050ef8428b77f398e1a6f794a9f700f112b7f786b899ad9cac9389
+f72bb7a513ff20f7dff81d157f358ab598370899988bf7040529fbb71595ba92b5bc
+c37e9189a1859d8a8f86a68b9e8b9b8ea28d8f99ab93aac19f08ac06c9809761a25f
+a756ab5b6b79ae759d64bf85a3899a929d8d08e5fb01058f6f81878187084fd49f20
+6e8b9efb05058b8066898b960879f3718b80fb0b0513ff608b7f6a8d8b95089af791
+22ec057fa094938e950813ffa07db771b178b408838b8cfb0705df438d57965208fb
+187e1513ff60b3fb56068b74648c8ba10852f75615b3fb33068b7c648d8b9808f78c
+f7e215a79ca0aba89e757069717c757174a1a61efb91f7b715aca2a0aaaaa2746c6c
+72746e6d73a2aa1ef91afbcc15f797fb66f765fb97fb97fb65fb65fb97fb97f765fb
+66f797f797f766f766f7971e0ef829fb13d246c6f70df72933b2649f9fbb6ea8f73b
+95b69cf72a9dccae12f7a3cfb7ba7e93a095ec9fa49ad8cc1303f3c0e7f77415f9d9
+77fdd906f8aef79e157b7e7e7b7b7e989b9b98999b9b987d7b1efb26f74015797c7c
+79797c9a9d9d9a999d9d9a7d791efb0afb9915ff0005ccccff001c6666ff00048000
+ff0014b334ff001c999aff001f999a84ff00049998fffffee666ff000c3334fffffc
+3334ff000a80000886a990a105949e909eab97089e06b084927199719b6ba0747880
+a07e9771aa889a8a938f968c08c14a058d7b858785890866b79851798b9751058dff
+fff6199affffe99998ff0000199afffffe6668ff0007cccc0880c17c8c834b058aff
+fff7b333ffffec9998ff00024ccdff00006668910894f71d4cc5058398918e8d9282
+a57d9f7fa408864906be5f8c749269083c8215a325068b7d738c8b980869f115a33a
+068b81748d8b9308f8c15915f797ffff423334f766fffee8ccccfbadfb50fb66fb97
+fb97f748fb67f7b5f7aff74ef767f7971efcfefb6415878c878b878b085f68675f1f
+1381fbc05fae67b7b7afafb71e8bab77a670988067816d8b8b877f8a88848b858b86
+8f8b918b8f8b8f8f9708f7abcf1578b759fb179f8b058bb09eaba99d08957715757d
+7c728b6f08ce0698da15838b838a84899e6196728b8b927b8c898b87081341f3c085
+8789741e4a069469aa72b08b08b7afafb7b767ae5f1f1313f3c0fb60f72115777007
+7a8afffffab334fffffd199afffffc4cccfffff3e66608134df3c08474f7488b929f
+056c917d8e8a8f0892e8767307847705957494769478958f978c968b08c3b95d5353
+5d5c531f5a8b62af81b9087506738b858c7e988b8b64b942d7898388848883af7ba6
+678b6108535c5d53535db9c31e1321f3c0c3b9b9c31e918b928b918a08a6e3051313
+f3c094a9978da78c08643a15f711fb1cbdf71c051301f7c0fb38ff017c4ccc15ffff
+feb33407878787878887ffffff999aff00003334ffffffb332ff00004cccffffff99
+9aff0000333408ff0003999a8f8fff00043332ff00048000ff00046666088b04ff00
+028000ff00028000ff0002b334ff0002999aff0002ccccff0002999a088bca838d05
+0ef866fb7eb4f7eb9483c751bdf72e9c879b12b7a59ec6b0b2f49c9ec3a3c29ea2a1
+f487929f949f8f8ae1a5991383fd20f8b2fb5515f9d7a1fdd707f7c4f850157c7d7f
+7c7c7f979a9a97989a9a997e7c1efb20f73b151387f9207a7d7c7a7a7d9a9c9c9998
+9c9c997e7a1efb03fb961590ff001ab333ff00039998ff0017cccdff001b3334ff00
+1f999afffff93334ff000433338bff000ccccd87ff0009e6660886a78fa405939c90
+9faa96089d06af85927198739b6d9e6f79819f7e9574a988998a9290968c08bf4c05
+8d7b858985890869b4974e7a8b964a058b8575898b920881c67d8b84480513c7f960
+8b84788c8b910894f7254ec2058497908e8d910813c7f9a083a57da280a208874906
+bb618d6f916a083e821513c3f960a3fb03068b7e748b8b980813c3fd206bf70315a2
+31068b82758c8b9308f7eff74315f797fb6ff765fba0fba0fb6efb65fb97fb97f76e
+fb66f7a0f7a0f76ff766f7971efde6be15888b868c888b08656e6d651f13a3f92065
+a86db1b1a9a9b11e8ba67ba37496816d83708b8b88808989858b868b888f8b908b8f
+8b8e8e9508f781c5157ab061fb039c8b058baa9ca7a49a08937915787f7f778b7308
+c30697ce15848b848a85899b6894768b8b917e8c898b87081393f920868789781e54
+06936ea676aa8b08b1a8a9b1b16ea8651ffb41f70c157974077c8b8788878108138b
+f9208677f72c8b919c051387f92071907f8e8a8f0890da07139bf9207a7707847a05
+94779479927b948e948d958b08bbb1645b5b65635b1f628b67aa83b2087806768b86
+8c80968b8b6ab24dcc898489858984aa7ea16b8b68085b63645b5b65b2bbbbb1b2bb
+1e908b918a908a08a3d60593a4948fa38b086a4615f5fb08b6f708051383fb20f7cc
+ffffac4ccd15fffffeb33307878786878887ffffffe6688b8bff0000199affffffe6
+648b08ff0003999cff00043333ff00041998ff00048000ff00048000ff0004800008
+8b04ff00023334ff00023334ff00024cccff00023334ff00028000ff00024ccc088b
+cb848d050ef829ff000a4ccd9cff00251999ff0010199aa99aa8ff00116666ff00c2
+e666ff00078000ff0029e668ff000e3332ff00800002ff000e9998ff00369998ff00
+39199cff0023e6649c12ff0010e6669cff006acccdff00809999ffffc1199aff0043
+333499ff00113332fffff06668ff0006e666ff0011199aff00088000ff0010b332ff
+0003999affffff4cccff004bb334ffffb94cccff00114cceff0014199a9cff002680
+00ff000cb332fffffa999aff00113334ff0016ccccd046ff00113334ff00deb3349c
+13ffca41ff0130999aff008a666615f9370aff00faccccff004acccd1513ffc205f9
+380a13ffc203f9390a13ffc205bf06fb40ff00114ccd1513ffc229ff00003334ffff
+94999a9c8b8bff00499999ff002e6666ffffb66667ff0010999a8bffffffe666ff00
+6b80007affffffcccdffffffe666ffffb4ccccffffd18000ff004b333405ffff8f80
+00ffffe480001513ffca41f93a0a13ffd201ffffaee666ff001b4ccc158b7bff002d
+999aff0000199affffd0999affffb3999affffffe666fffff14ccdff0045199a8b8b
+ff0010199a5b8bbbd8ff0000199aff000dcccd05ff01b26664ff0225800015ff0003
+199c8b90fffffe6668ff0003ccccfffffc8000ff0003ccccfffffc8000ff0002b334
+fffffb3334ffffffe668fffff89998088bffffffe6688bfffd711998058bfffffccc
+ccfffffde664fffffb3334fffffc6668fffffc4cccfffffc6664fffffc4ccefffffb
+666889fffffdcccc8b08fffd6e999cffffffb3330587ff00000001fffffa999aff00
+01b333fffffc4cccff0002cccdfffffc4cceff0002cccdfffffdccccff00034ccc8b
+ff0005199a08ff02926668078b90ff0001b334ff0004e6648eff000366688eff0003
+6664ff00046666ff00028000ff0007cccc8b08ff028e4cccff0011333415f93b0aff
+ff0eb334fffee4e66815fffff29998fffff5199afffff5199afffff2999afffff299
+9afffff5199aff000ae666ff000d6668ff000d6666ff000ae666ff000ae666ff000d
+6666ff000d6666ff000ae666fffff5199afffff2999a1effff866668ff0091999815
+f93c0affff9dccccfb7615ff0004e666ff0017ccceff0003b334ff00156666a4ff00
+1c8000ffffffccccffffffb334ffffffb334ffffffccccffffffccccffffffb33408
+13ffe291fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00093332
+08ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff000a4cd0
+08ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b8000ff
+ffea3334ff000de666ffffe5999aff00108000ffffe8999afffff03334fffff6cccc
+ff00118000fffff4999aff00093332ffffec4cceff0019e66688ff000c6668fffffe
+b332ff00068000ff0003b334ff00096666ff0001333208ff002ce666ffffc9800005
+ff000219987dfffffacccefffffe4ccefffffb199afffffdcccc08ffffe1b334ff00
+243334ff000a9998ffffca999afffff1199a8bff00098000ffffc78000058bfffffa
+9998ffffedb334fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cce
+ff0000199afffffa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b90
+08ff00073334ff007eccccffffcb9998ff00304ccc0585ff000ab334ff00046668ff
+00034cccff00019998ff00054cce0813ffe311fffff8999aa1fffff38000ff001366
+66fffff6199aff0014b33408fffffc66668bff00004cce5105b5ffffdbb332ff0001
+8000ffffe6ccceff00058000ffffe3666608ffffbd4cccfffff933321513ffc281ff
+00144cccffff9eb334068bfffff43334ffffec6668ff000066668bff000b666608ff
+ffe33332ff00614ccc15ff00144cceffffb0199a068bfffff8199affffec6666ff00
+01199a8bff0006cccc08ff0145b332ff009e666615ff0084199cffff94ccccff006b
+4cccffff7be6681e13ffe201ffff7be666ffff94cccdffff94b334ffff7be664ffff
+7be668ff006b3333ffff94ccccff0084199aff00841998ff006b3334ff006b3334ff
+008419981ffffead4cceff0002b33415f93d0aff0004ccccff00054ccc1513ffc601
+f93e0a0ef829ff000a4ccdff0011199aff0024ffffff0010199aa99aa8ff00116666
+ff00c2e666ff00073334ff00b86668ff000e9998ff00369998ff0039199cff0023e6
+649c12ff0010e6669cff006acccdff00809999ff00124cceff00113332fffff06668
+ff0006e666ff0011199aff00081998ff0011199aff0003999aff00044cccff00114c
+ceff0014199a9cff00268000ff000cb332fffffa999aff00113334ff000fb332ff00
+8be666ffff7b3334d046ff00113334ff00deb3349c13ffef04ff0130999aff008a66
+6615f9370aff00faccccff004acccd1513ffcf14f9380a13ffcf0cf9390a13ffcf14
+bf06fb40ff00114ccd15ff00003334ffff94999a9c8b8bff00499999ff002e6666ff
+ffb666670513ffcf44ff0010999a8bffffffe666ff006b80007affffffcccdffffff
+e666ffffb4ccccffffd18000ff004b333405ffff8f8000ffffe480001513ffef04f9
+3a0aff01a49998ff0251b33015f93b0afffe95199cffff76800015f93c0a13ffcf24
+ff01121998fb2f158bff0019999a87ff0018cccefffff88000ff0017333408ff0076
+999cff007680008bfffdaf9998058bfffffcccccfffffde664fffffb3334fffffc66
+68fffffc4cccfffffc6664fffffc4ccefffffb666889fffffdcccc8b08fffdad999c
+ffffffcccdff00803334ff0080199aff0007e6668bffffd0999affffb3999affffff
+e666fffff14ccdff0045199a8b8bff0010199a5b8bbbd8ff0000199aff000dcccdff
+fff24ccc8bff002e4cccff002e4ccd05ff00173334fffff88000ff0018cccc87ff00
+19b3348b08ff00841998ff006b3334ff006b199aff008419981ffffe63199afbb515
+8bffffff1999ff0014b334ff0000199affff7fe666ffff7fe666ffffeab3338b05ff
+00a56666f72415ffffea66668bff0039199aff003933340590fffffdb33390fffffd
+cccdff000533328908ff01a5e668ff01f07ffe15ffff75e664ffff75b33405fffffd
+4cd08ffffffd3330ff0003e66888ff0003cccc08ff0080e668ff0080ccccff000a19
+988b058d8bff0002ccd0ffffff4cccff0002ccccfffffe800008ff00088000fffff7
+999c15ff00016664fffffd4cccff0000ccd0fffffc99988bfffffbe668088bffffff
+e6688bfffffa3330ffff788000ffff784cd005fffffde664ff0003e664fffffdcccc
+ff0003e668fffffdb334ff0003cccc08ff008e199cff0054999815fffffd8000ffff
+fd4cd0ffffffe664ffffffccccffff878000ffff87b33405fffffde668ff00054ccc
+fffffdccccff00054cccfffffd9998ff0005199808ff0081ccd0f71605fffd664ccc
+fffd76333415fffff8333306fffffd8000ff0000000188ff0000b333fffffd199aff
+0001333308ff00d33333ff00d3b33305ff0003ccccfffffdb334ff0003e666fffffd
+b333ff0003e666fffffde66608ffff180001ffff3acccd15ffffff199aff0001b333
+ffffff8000ff0001e6678bff00026666088bff000e3333ff00c76666ff00c7333305
+ff00040001fffffce667ff0003e66688ff00043333fffffd333308ffff2c8000ffff
+52999a158bff0013199af748ff00b3e66705ff00034ccdfffffce666ff00034ccd88
+ff000366668808fb52ffff66199a15ff024f4cd0078b90ff0001b334ff0004e6648e
+ff000366688eff00036664ff00046666ff00028000ff0007cccc8b08ff024eccccff
+00003334ffff9b199cffff9b199c05ffffd53332ff00283330ffffc66666ff001899
+9cffffc0b3348bffff7be6668bffff94cccdffff94b3348bffff7be6648bffffc0b3
+34ff0018999affffc68000ff00283333ffffd5333408ff01db8000ff01b7199815ff
+ff888000ffff8880000588ff00038000fffffce668ff00034cccfffffcccccff0003
+4cd008f701f701ffffff8000ff0000666405ffff284cccfffeddb33415ff0015b334
+ff0015b33405fffffee666fffff48000fffff6e66682fffff48000fffffecccc08ff
+fff1e666ff0002cccc15fffffbb334ff00026668fffffc6666ff0003b332fffffdcc
+ccff0004666608ff0020b334ff0020999a05ff00046666fffffdccceff0003999aff
+fffc8000ff00026666fffffbb33208ffffe6e666ff000c666615ffffebb334ffffeb
+999a05ff0001999aff000a8000ff00083332ff00084cceff000a8000ff0001999808
+ffff61ccceffffe1333415ffffffccccffffffb334ffffffb334ffffffccccffffff
+ccccffffffb334fffff96666ff00034cccffffff4cceff000a199afffffcb332ff00
+09333208ffffffccceff002e80000592ff000f999cff00043332ff00103330a6ff00
+0a4cd008ff00103334ff00004ccc05ff001f199afffffa999891ffffe9ccccff000b
+8000ffffea3334ff0008199afffff0999aff00091998fffff1b334ff0002e668ffff
+f4cccc08ffffe93332ffffe9333405fffffde666ff0006b332ff000333348eff0001
+4cccff00044ccefffff8999aa1fffff38000ff00136666fffff6199aff0014b33408
+fffffc66668bff00004cce5105ff000a3332fffff73332ff0007cccefffff7ccceff
+00061998fffff84ccc08ffffbf199a4affffcd199aff00004ccc05ff0004e666ff00
+17ccceff0003b334ff00156666a4ff001c8000088b04f93d0aff0004ccccff00054c
+cc1513ffdf04f93e0aff0092b334ffffdc333415ff00024cccffffff6666ff00024c
+ceffffff999aff00029998ffffffb334ff0003999affffff9998ff000333348bff00
+02ccccff00004cce08ffffe73334ffffe73332ff0000199aff0000b334fffff6cccc
+ff0008800005ff0005199aa115fffff2199afffff2199afffff54cccff0009e666ff
+000ce666ff000ce66605ff0003999afffffcb334ff0003ccccfffffce666ff00044c
+cefffffd800008ffffeb999aff0011199a157e7efffff5e666ff00094cccff000cb3
+32ff000c999a05ff0003b334fffffd4cccff00036666fffffce668ff00034cceffff
+fce66608ff00566666ffffd5b33215ff001a66666b05ff000219987dfffffaccceff
+fffe4ccefffffb199afffffdcccc08ffffe1b334ff00243334ff000a9998ffffca99
+9afffff1199a8b0513ffcfa4ff00098000ffffc78000058bfffffa9998ffffedb334
+fffffe80008bff0005ccce08fffff6ccccff00343332fffff34cceff0000199affff
+fa3332ffffc44cce058bfffff9e666ffffef999aff0001199a8b9008ff0003ccccff
+0042cccc05ff0039b334ff004a999a15ffffc74cccffffc76666ff00014cceff0017
+4cccff002d4cccff002d666805ffffacb334ffffe0b33215fffff23332fffff23334
+ffffeb6668ff00003332ff001e6666ff001e4cce05ff0001b332fffffa6666ff0001
+3334fffffa8000ff0001199afffffa666608fffff76666ff001d199a15ffffd56666
+ffffd56666ffffecccceff0000199aff00371998c205ff0002b334fffffbb334ff00
+023334fffffbe666ff0001ccccfffffbe66608ffffce4cccffffce4ccc15fffffa33
+34fffffa3334ffffffe666ff0005cccc05ff00146666ffff9eccce15fffff74cceff
+fff7333205fffffaccccffffff999afffffa4cce8e8bff0006199a088bff00023334
+ff00139998ff0013b332059c04ffffec4cceffffec3334ffffffccccff0012199aff
+0013e666ff0013e666059c0477ffffebe666ffffffe668ff0014b334ff00141998ff
+0014333205ffffde4cceff0002666615ff0005999afffff26668067777ffffffcccc
+ff0013199805ff00143334ffffca333415fffff46666078bfffffa4ccefffff5e666
+8afffffa4cccff0002666608ff000fccceff0020cccc15ffffec6666ffffec4cceff
+ffffccccff0014b332ff0013ccceff0013e666050ef829fb70a1fa1aa101a7a1fa18
+a103f7fcf7ed15888b888c878b08626a6a6262ac6ab4b4acacb41f8ba979a4729781
+6b84758b8b8577878a858b868b888f8b908b8e8c8f8e9608f7697a158bae9ea9a79c
+0878b45cfb0f05d5ca15767e7e748b7008ca8a0596d615838b848a84899b67996d8b
+8b90808c898b898a82888a718b8b8b6c8c728b936ba974ad8b08b4acacb4b46aac62
+1ffb51f717158a7805748b808a848685868882867a08f73a8c929d056d917f8d8b90
+8b8c8c8d8c8d08de8b8c79758a84790595749478937a958e948d968b08bfb6605757
+6060571f5d8b65ac82b6087406738b838d79a08b8b63bb57c2898488838984ad7ca3
+6a8b6408576060575760b6bfbfb6b6bf1e918b918a908a089dc60594a79199939292
+91958bb18b08f7f1fb2815f740fb1ff71ffb40fb40fb1ffb1ffb40fb40f71ffb1ff7
+40f740f71ff71ff7401ef706f81f15fde6066f7776711ffdec0772a279a31ef9ea8c
+05a1a0a0a21ff9e807a776a0721e750498967f7c1ffdd6078a6d86817c8b08fdea8a
+05807d94971ff9ec079a94959c1ef87efbc0155bfb14fb09f71405fb65fc69158106
+848085871f94828d8b058d8e8d8d1e99068e8d89891f837507748b8f639d8b089d06
+8d8b8d8c8c8e08879abd07958092801e7f6415f93f0af796b1158106848086871f94
+828d8b058d8e8d8d1e99068e8d88891f847507748b8f639d8b089d068d8b8d8c8c8e
+08879abd07958091801e7f6515f93f0af7cdb2158106848085871f94828d8b058d8e
+8d8d1e99068e8d89891f837507748b8f639d8b089d068d8b8e8c8c8e088799bd0795
+8092801e8064159d81068a898988898b087e06848b8b9a928b08f739821582847b8a
+879b08b498068e0781b35e758b7c0870079869af9f909008fb10811599d2068b97b1
+88797908827d96068d8d89891f7207888888891e827e99068e95948e1faf078e868f
+8a8c90918d1e9b078b9d578c8b7808fb78511582830590858f85968a908a908c8f8b
+978c92908e948c8e8b908a8e88938692848b087a0689888d8e8f8f8f911f938b9186
+8f89089495058492828f808a7d8a838689858a888c888b880886078c839088928992
+8a928a928b908b8a81878a08878a05868a838b8a8c878e878d878d08dacb157c7884
+7f9263068b8594848e8a0897998406898b8c8c1fb194978107fcab48159a8c8bb1b1
+8b8b9a658b8ba4b88b8b984f8b05f8e47315868b8589868708907c499ab607919492
+8f938408959705898e858e848b08fc5da315309ab6078c91918f918b918b90878c83
+086298be078a9580907f8b858b8789878908a807e27215868b8489868708907c4a9a
+b5078f918f8f908b8e8b8d898e8908959805898e868d848b08c116868b8589868708
+907c4a9ab5078f918f8f908b8e8b8d8a8e8808959805898e858d848b08f714a5156a
+078d8591861e8206828082821f6a07839881911e94068f948f8e1f8697e707634415
+a1078e91918e1e9206909083881f7a07878485871e830688878f8e1ff8269e157206
+8a97a2938e77080ef829fffffd4ccd98ff00433333ff000a8000ff000a6666ff000a
+4cccfffffe4cceff000b4ccdfffffc9999ff000d999aff00093333ff000a6667ff00
+2eccccff0079e666ff00103334ff002a199aff0041800077ff0018999aff000f8000
+ff000c199877ff001ce66876ff002c4cccff001c3334f71077ff00646664ff000d19
+9c12ff0003cccdff000d3333bfff000b8000ff003d3333ff0031999affffd58000ff
+000b4ccdff000ce666ff000b999aff00136666ff000a199afffff96666ff00314ccc
+ffffe26667ff000b6667ff001eccccff000b6666fffffd199aff000f4cceff002ccc
+ccff000b4cccff000bb33495ff0014ccccff000a199aff0044199aff00126666ffff
+ed999aff000b4cccff00136668ff000b6664fffffb3334ff002eb334ff000f9998ff
+000b4cd0fffff54cccff00321998ffffe76668ff000ab334ff00093330ff0014999c
+fffff5e664ff000a199cff000d3334ff000b333017ff0013ccd0ff000b3330ff0033
+ccd0ff000e333013e78fc07007ff028cb334ff02d8e66815ffff8d9998ffff8d9998
+05ffffd5e668ff0024b33454ff00164cccffffc3cccc8bffff7be6668bffff94cccd
+ffff94cccc8bffff7be6688bffffc3ccccff00164ccd54ff0024b333ffffd5e66608
+ffff7f3334ffff7f199afffffd33338b8bfffffd4ccdffffd38000ffffd38000ff00
+088000fffff78000afafffffffe666ffffece666ffffd4199a5fff00086666fffff7
+999aff00238000ff002366668bfffff0e666ff00068000ff00003334ffffd4b334ff
+ffd4999aff00088000fffff78000ff0059199aff00594ccc05ff00004ccd068bff00
+001999ff00001999ff000033338bff0000199a08ff00024ccdff00024ccd05ff0000
+999aff00004ccdff00008000ff00003333ff000066668b08ff000ab333ffffffe666
+05ff0001e666ff00000001ff00018000fffffee666ff00008000fffffeb33308ffff
+f94cccfffff94cccfffff54ccd8b05fffff47ffffffffffffffffffd199afffff333
+33ff00033333fffff6cccd08ffffc13334ffffc1199aff00088000fffff78000ff00
+3e8000ff003eb33305ff0000b332ffffffcccdff0000cccdffffffe666ff0000cccd
+8b08ff000de6660613e78fb87047ff0001999affffffffffff00023333ff00016667
+ff0000999aff0002199908fffffc8000ff0000800007ffffcc8000ffffcc8000ff00
+086666fffff78000ff0042cccdff0042cccd8bfffff96666ff000b999a8b8bff0012
+199aff00123333ff0012333305ff0000b334fffffeccccff00006666fffffe6666ff
+0000199afffffe333408ffffe04ccdff000a199aff0027800007ffffff99998dffff
+ff199aff0001cccdfffffe9999ff0001999a08ff0056e666ff0056cccd05ff0019cc
+cefffff68000ff001bccccfffffaccccff001d199a8bff008419988bff006b3334ff
+006b33348bff0084199a8ba8fffffae668ff001bccccfffff68000ff0019b33408ff
+007eb334ff007eb334ff00001998ff00001998ff00001998ff00001998ff0005199c
+ff00058000fffff73334ff0008199c86fffffab334ffffffe664ffffffccccfb0fff
+ff85333405fffffdccccff00053330fffffd999c90fffffd66649008f729ff009519
+9cfffff78000ff00089998ffff6d8000ffff6d333405fffffdccd0ff0003ccccffff
+fd8000ff0003ccccfffffd9998ff0003b33408ff00906668ff0090999cfffff79998
+ff00088000fb23ffff70cccc05fffffd1998ff0003e664fffffd3334ff0003b334ff
+fffce668ff0003b33408ff00863334ff00863334fffff78000ff00088000ffff7a4c
+ccffff7a666405fffffce664ff00036668fffffcccd0ff00033334fffffcb330ff00
+03333408ff0072199cf70605fffeddccccfffd8de66415ff0010999a07ff0002b334
+ff00048000ff0003e666ff0002199a1eff0005666606ff0004199a8bff00038000ff
+fffa6666ffffffe666fffffdb33408fffff2999a07fffffcccccfffffab334fffffb
+3333fffffd4ccc1efffff9e6660689fffffffffffffffc999aff0003b3338bff0002
+666708ff0014999aff0036199915ff00003332ffffe6e66705ff00014ccefffffb33
+34ff00048000871efffff9666606fffff93334fffff76666fffff99999841fffffe6
+800007fffffa199995fffff7cccdff0004b3341eff0006cccc06ff00036666ff0000
+199b91ff000366678bff0002666608fffffb800095ff0046e6660713cf8f817007ff
+ff938000ffffec199a15fffffbe6668bfffffb6668fffffecccdfffffc1998fffffc
+cccd08ff0004199afffff4800007ff0000199affffcd6666ff000b66668b8bff0020
+b33405ff00043334ff0006b334ff0005b334ff00036666ff00066666fffffa800008
+ff0007b332ff0009999a05fffffeb334ff0002199afffffb4cccff0001e666fffffa
+999a8b08ffffd5cccd1613cf8f827007fffffbe6668bfffffb6666fffffecccdffff
+fc199afffffccccd08ff0004199afffff49999ffffcd6666ff000b6667ff0020b334
+07ff00043333ff0006b334ff0005b333ff00036666ff00066666fffffa800008ff00
+07ccceff0009999a05fffffeb332ff0002199afffffb3334ff0001e666fffffa9999
+8b08ff01118000ff000080001513c78f807207fffffbe6648bfffffb6668fffffecc
+cdfffffc1998fffffccccd08ff00043334fffff4800207ff0000199affffcd6666ff
+000b66648b8bff0020b33405ff00043334ff0006b334ff0005b334ff00036666ff00
+066668fffffa800008ff0007b330ff0009999a05fffffeb334ff0002199bfffffb4c
+ccff0001cccdfffffa999c8b08ffffd48000ff000e199a1513c78f807407fffff4cc
+cc0613c78f807807fffff18000fffffab33407ffffffe66682ff000566668b0513c7
+8f8074076c078bfffffb3335ff0006999a86ff00026666ffffff66660813c78f8078
+07ff00096666ffffffe6668bff000a4ccd86ff000033330513c78f807407fffffe99
+9affffffccceffffff999aff0000b334ffffffb332ff0000e66608ff001d800092ff
+0009333307fffff8ccceff0000199a05ffffc3e666ffffdd199a15fffff93334ffff
+f9cccc05ff0003b332fffffb7fffff00034cce87ff000866668aff0003999affffff
+999aff00036666ff00001999ff00036666ff00004ccd94ff00006667ff0005e666ff
+00046666ff00023334ff0006cccdff0000b332ff00029999ffffffccceff0002b334
+ffffff999aff00029999fffffde666ff00063333fffffae666ff0003e667fffffb19
+9aff00016666087eff0000199a0513d78f807007fffffcccccffffffb334fffffd4c
+ceff00073333ff0005e666ff0002199aff00028000ff00009999ff0002999affffff
+e667ff00029998ffffff8000ff00048000fffffee666ff0002cccefffffe8000ff00
+028000fffffe80000892ff0007cccd05fffffbcccc9085ff00018000fffff9999aff
+0001199afffffce666ff00006666fffffd8000ff0000199afffffd6666ffffffb333
+fffff6cccefffffe3333fffffcb332fffffc4ccdfffffe3334fffffbcccdffffff33
+34fffffc3333ff00008000fffffc6666ff00003332fffffc4ccdff0001199afffffa
+3333ff00044cccfffffd6667ff00053334fffffe8000ff00053334ffffff3333ff00
+051998ffffff6666ff000533348b088fffffffb333ffffff199afffff94ccd888a08
+fffffce6668a05fffffc8000ffffff1999fffff9e666ff00003333fffffee666ff00
+00999afffffd199aff0002199988ff00018000fffffd199aff0001b3330813c78f80
+702fff00aeb334ffffefb33415ff000ab334ff0000199aff00001998ff0036999a05
+8bff00090001ff001d8000fffffe4ccdfffff1ccccfffff1cccc08fffff8ccccffff
+ffe6668bfffff5b333ff00088000ff0000199a05ff00013334ff00000002ff000180
+00fffffdcccc8bfffffe800008ff00004cccffffed333305fffffdb335fffffde668
+fffffdb333fffffe99981e13c78f80703784fffff5999aff000a4cd006ff00024ccc
+ff0000000293928bff0002800008ff00001998ff001be66605ff00024ccd87ff0003
+19998a8c8fff0004999aff000166661eff000c3334078b99ffffd7b334ff00013333
+8bfffff1199908ff00561998ffffd166671513e78f807007fffff93334fffffa6667
+fffff36668ffffff199a88ff000c999908ff001fcccc8bff00003334ff000a3333ff
+ffffe6648b6cff0000199a05ffffff8000ff00097fffff0011ccd0ff00056667ff00
+0280007c08ff000b33308bffffffe668ff0002333405fffff84cccff001e999affff
+dd999cffffef4ccd8bfffff4cccd08ff00001998ffffeab33305ff000a3334ffffe5
+9999ff001b3334ff000fcccdff0003ccccff0003999908ffff784cccff000e333415
+13c78f807087ff000e9998fffff84ccc06ffffff6668fffffe4cccfffffdccccffff
+fe3333fffffe80008b08fffff5b33406fffffa3334ffffffffffff00008000ff000b
+3333ff00054ccc8b08ff00091998ff001db33415fffffd80008bfffffcccd0ffffff
+e666fffffd80008b08fffffa9998fffff83334fffffbcccdfffffce6661fff0006b3
+3484ff000199988b05ff00016666ff00029998ff0001ccccff000133341eff000ab3
+34ffffffe66605ff00024cccff0000199aff0001ccccfffffe33348bfffffe666608
+13e78f807087fffffa3333ffffee666807ffffee1998ffffffffff8e6cff000e3334
+8b08ff000de66806ff00019998ffffffffffff00023334ff00016667ff00009998ff
+0002199908fffffc8000ff000b4cd0ff0026e66607ff00074ccefffff76664ff0005
+3334fffff7cccc1effff0f4cceffffe2199915ff000e999afffff84ccd06ffffff66
+66fffffe4ccdfffffdcccefffffe3333fffffe80008b08fffff5b33206fffffa3334
+8bff00008000ff000b3333ff00054ccc8b08ff0009199aff001db33315fffff7cccc
+06fffffa999afffff83334fffffbcccdfffffce6671fff0006b332fffff8e666ff00
+01999a8b05ff00016666ff0002999aff0001cccdff000133341eff000ab332ffffff
+e66605ff00024cceff0000199bff0001ccccfffffe4ccd8bfffffe666608fffffa19
+9affffee666607ffffee199a8b8e6cff000e33348b08ff000de66606ff0001999a8b
+ff00023332ff00016666ff0000999aff0002199a08fffffc8000ff000b4cccff0026
+e66607ff00074ccdfffff76668ff00053333fffff7cccc1eff0012ccccff01a30002
+15ffffff999afffff14ccc05ffffd9199aff00001998ff0004e666ff0001e668ffff
+f76666ffffe1cccc08ff0078ccceff00003334ffffefe6667bffff94b334ffffffcc
+ccff00334cccffffc83334fffff46666fffff466660513c7afc4f007fffff4999aff
+000d199afffff0e666ff0010b332ffffebb334ff00156666fffffe199a85fffffe33
+32fffffa8000fffffe4ccefffffaccceff00139998fffff7999aff000f3334ffffef
+6666ff00066666ffffeb800008fffff28000fffff2800005fffffd3334ff00136666
+fffff36666ff00103334ffffeeccccff0007e666ffffed800050ff0001b334ff0001
+3332fffff8999affffff4ccefffffbe666ff00004cccfffffcb334ff00033334ff00
+0019988f0813c7cfc4f007ff0000199aff0004ccccfffffde667fffff98000ff0012
+3333ff00394ccefffffd4cccff00006666fffffd199aff00003332fffffd199a8bff
+ffe066668bffffe6999affffe6999a8bffffe066668bffffe34cceff0015199affff
+e84cccff001b999a8708fffff29999fffff2800005ffffe24cceff00094cceffffea
+3333ff001be6668bff0020b3328bff00284cceff0020e666ff0020e666ff00284ccd
+8bff0004999a8bff00048000ffffff8000ff00044cccffffff333408ff0000199807
+ff001cccceff005cb33482fffff9e668ff00359998ff0000800008ff0164ccccff00
+bde66415fffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0fffff9
+cccc84fffff9cccd84fffffd4ccdfffff719988bfffff7666808fffd6d9998078bff
+fff54cccff0005999afffff7333492fffffab33392fffffab333ff00084cccfffffd
+6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00063333
+91ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c05ff00
+00199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00066664
+fffff7999cff00033334fffff7e6648b08fffd69b334ff000ce66815ff029b800006
+ff00114ccca6ffffe69998ffffeccccc1ffffd68e66807ffffee6666ffffe5e668ff
+ffe3e667ffffeb33341efffd69b33406ffffef199aff00000001ffffe44ccdff0019
+66668bff000c999908ff02a0666807ff00000001ff00131998ff0016b333ff0017e6
+68ff00134ccc8b0813c78fb07007ff007f3334fffd76b33415fffff3199a7e8bff00
+156666ff000ce6669805ff00110001047bffffefe6660588ff00033332fffffb199a
+8dfffffb1999ff0000333408ff0069199aff00694ccc05ff0003b334fffffd999aff
+0003b334fffffd999aff0003ccccfffffdcccc08ffffb08000ffffb06667838b059a
+ffffe0999a15fffffe199a8905ff00009999ff0000cccdff00008000ff0000999aff
+0000cccdff000099990813cf8f907007ff000c199aff000c199a15fffffd6666ff00
+004ccdfffffd4ccdffffffe666fffffd6666ffffff8000fffffd4ccdffffff8000ff
+fffd4ccd8afffffdcccdfffffe999a088bff00091999ff0056e666e205ff0004cccc
+fffffd8000ff0004e668fffffdb33490fffffdcccc08ffff324cccffff914ccd1513
+d78f807007ff00034ccdff00034ccdff001566668bffffe74ccdffffe7333305ff00
+0e999aff0024199915ff00134ccdff00134ccdff0000b3338b8bff0000b333ff0070
+6666ff00704ccd05ff0003cccdfffffccccc8f888f8808ffff7eccccffff7e80008b
+ff0006666605ffffe26668ff00024cce15ffffffe666ff0011199aff0011199affff
+ffe66705ff000a8000ff000a999915ffffece666ffffffe667ff0077e666f70c05ff
+0003199afffffcccccff00034ccdfffffcccceff00034ccdfffffce6660813c78fa0
+7007ffffba4ccdffff5fe66615fffff9333307ffffff6667fffffe4cccfffffdcccd
+fffffe3333fffffe80008b088506ff012e199aff01ac999815ff0000e666ff000299
+9c05ffffe34cccff0006666483ffffffe668ff0005b334ff0007cccc08ff002ecccc
+069c16ff000066688bff0000b332fffff19998fffff0199affffffb33405fffffdcc
+ccfffffdb33415fffffbcccefffff4800005ff00014cccfffffd3334ff00013334ff
+fffd3332ff00013332fffffd4cce08ffffd8b334ffffd8b332ff000b6666ff001eb3
+3405ff002cccceffffe3199a158dfffffb8000ff0001e666fffffbccccff0001cccc
+fffffc199a08fffffc3334fffffc4ccc05fffffc6666fffffe999afffffc999affff
+fe199afffffcccccfffffde66608fffffbe666ff00094ccc05ff000c6668ff000c66
+6815ff00003332ff0000333205ff0006e666ff00024cceff00076668ff00016666ff
+0007b332ff0000199a08ffffef8000ffffef666605ff00004cceffffff4cccff0000
+4cccffffff6666ff00004cccffffff4ccefffffe6668ffffff8000fffffe6666ffff
+ff6666fffffe8000ffffff666608fffff76666fffff74ccefffffe6666ff00034ccc
+05fffff68000fffff9b334fffff88000fffff6e666fffffbb334fffff5333208ffff
+ebb332ffffebb33405ff0000199aff0007b334ff00014cceff00076666ff00024ccc
+ff0006e66608ff0021ccccff0021ccccfffffd8000ff0005999a05ff0004999aff00
+02e66690ff00024cceff00053334ff0001cccc08fffffaccccff000b800015fffff3
+999afffff3999afffff9999aff000e199aff000c8000ff000c666605ff00023332ff
+fffb199aff0002199afffffb4ccc8dfffffb800008ff001c6666ffffc1199a1513c7
+8f807107ff0009ccceffffea3334ff0000999afffffe4cccff00001998fffffde666
+ffffff4ccefffff73334878cffffd94cccff0000800008ff000f8000ff000f8000ff
+000733348bfffffdcccc9005ff00073334ff0018199a15fffff38000fffff39998ff
+fff9199aff000f3334ff000c8000ff000c666605ff00029998fffffa4cceff00024c
+ce868dfffffb800008ffffd38000ffffd3999815fffffacccc06ff00006666fffffe
+999aff00004ccefffffeb334ff00008000fffffeb33208fffff3b332fffff3999a05
+fffffd999aff0005199afffffe199aff00058000fffffeccccff0005b33408ffffff
+b3348bff00004cccff00004ccc058aff0004b334ffffff8000ff0004cccc8b90088b
+ff0000ccccff00103334ffffffe6688bffffff8000ff00008000ff00008000a18b05
+ffffc9ccccfffff0b33215fffff7ccceffffffe666fffffab332ffffffcccefffffb
+ccceff0000e66608ff0016b332ff0016b33488fffff81998ff000d4cce8b05ffffd4
+4cccfffff7666815fffffd4cceff00028000fffffce666ff00039998fffffbe666ff
+0004b33408ff000c6666ff000c6666ff0009e666fffff54cce05ffffe1ccceff0007
+666615fffffd6666ff0003199afffffd199aff00038000fffffcb332ff0003cccc08
+ff000bccceff000bccccff000933328105ff00318000ff000be66815ffffe36668ff
+ffe36666ff000c3332ff0020cccca8a805ff0003999affffbaccce15ffffffcccc07
+8bfffffae666ff0000b334fffffb199aff00013332fffffb4cccfffffae6668bffff
+fa66688bfffffa1998ffffffe66808ff00004ccc07ff00476668ff0047800015ff00
+0eb332ff000eb33405ff0005cccefffffeccccff00059998fffffe3334ff00054ccc
+fffffd800008fffff3b334fffff3b33205fffffa199a8dfffff9b334ff0001199aff
+fff966668b08ffffcf999affffa8cccc1595ffffefe668ff0011e666fffff54cccff
+001480008bff001f99988bff00196668ff001966668bff001f999a8bff00148000ff
+fff54cccff0011ccccffffefe668ff000a199a08ff000b9998ff000b999a0513c78f
+807147ff0012e668fffff2ccccff000c8000758bffffe733348bffffd7b334ffffdf
+1998ffffdf1998ffffd7b3348bffffe733348b75ff000c8000fffff2ccccff0012e6
+6808ffff8be666ff001fe66615ff00106666ff0010666605ff00004ccefffffd8000
+ff0000199afffffd66668bfffffd66668bfffffbe668ffffffb332fffffbe666ffff
+ff4ccefffffc199a08ffffc3e666ffffc3e66605fffffc199affffff4cccfffffbe6
+66ffffffb334fffffbe6668b0813c78f847007fffffd66668bfffffd6666ff000019
+9afffffd8000ff00004ccc08ff00106668ff0010666605ff00189998ff0003b334ff
+00136668ff00136666ff0003b332ff0018999a0813c7cf80f007ffffd0199aff0041
+199a15ff00018000ff0004b332ff0001999aff0005199aff0001ccccff0005b334ff
+00054cce8aff00051998fffffe8000ff0004e668fffffde666fffffe3332fffffa66
+66fffffe6666fffffae666fffffe8000fffffb333408fffffb3334ff00023332ffff
+fae666ff0001999afffffa999aff0000ccce08ff001f6666ffff8a4ccc15ff001566
+66ff0015666605fffffa6668fffff78000fffff8b332fffff8b334fffff78000ffff
+fa6666080ef86ff95ff73c15fbde8bc0b25c8c4854cb52b98c5ab5f7de8b05fce0f8
+5715f9400af9c4a315fdc4067275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8
+d407a879a36e1efcbbfb5515f9410af7989515f9420aa84b15f9430ab69715f9440a
+fb60f7211571066f8a7f89826d08703305858c848b858b08535d5d5353b95dc3c3ba
+b9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e918aa38b08a106955db467
+bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081a208929fa38b8ba02e8b8b
+84058c879988aa85088477fb488b92a2058f97908e9c8c08a6064a4e15f9450afb6d
+fbd515f7de8b5664ba8acec24bc45d8abc61fbde8b050ef86ff93a88158bf735bd55
+8bb04ace484b8b67c0bd89fb3505fb6cf75c156b8a8dfb3457bd8b67cd4bcccd8bb1
+595505fbc3f8be15f9400af9c4a315f9460afcbbfb5515f9410af7989515f9420aa8
+4b15f9430ab69715f9440afb60f7211571066f8a7f89826d08703305858c848b858b
+08535d5d5353b95dc3c3bab9c31f8bb570af679b8e938e928d93d43fb25d8b8b987e
+918aa38b08a106955db467bc8b08c3b9bac3c35db9531f808b7f8a8187829e82a081
+a208929fa38b8ba02e8b8b84058c879988aa85088477fb488b92a205ff0003b334ff
+000c1998ff00054cccff0002e6689c8c08a6064a4e15f9450a0ef86f47a3be9ea49c
+a59ba19ebca1c8a0d9a1b2a19ea08a9fcda312dba3f742a2e8bf64a0ad9fbda0b69f
+80a2969ff712a1f733a313ff9ccef913f716159fa07706fb23049ff17706356115ff
+000e199aff00091998ff0009e666ff000ce6681e13ff9ceeff000c6668ff00089998
+fffff5999afffff266661f9f7a159c07ff00184ccdffffee6668ff0012b333ffffe8
+99986f7cffffeb8000ffffdf8000ffffddb333ff00111998ffffef4ccdff001ce668
+1eff000f66688bff000cb330ff00068000ff0007e668ff00098000087d9805858482
+88838b08fffff11998fffff6e668ff00098000ff000f80001f3060159fc8068b928d
+918f8e8f8e8f8d908b908b8e898f88089a9d058490858e848b808b83878583088a96
+770613ff9dce542515a0e10613ff9ece9d9b0613ff9dce799806918e8e911ea09e74
+06ffffeee666fffff5199afffff5b333ffffee4ccd1f7e0713ff9ece7e7b0613ff9d
+ce9806fbacf88415f9400af9c4a315f9460afcbbfb7d15f9410af7989515f9420aa8
+4b15f9430ab69715b7af685f5f67675f1f13ff9cde668b6ca482ad08cc06a28f8d91
+1f8b8f8a8d849b8b8b80a478b5928d938c938b0813ffbddefb60f7211571066f8a7f
+89826d08703305858c848b858b08535d5d5353b95dc3c3bab9c31f8bb570af679b8e
+938e928d93d43fb25d8b8b987e918aa38b08a106955db467bc8b08c3b9bac3c35db9
+531f808b7f8a8187829e82a081a20813ffddde929fa38b8ba02e8b8b84058c879988
+aa85088477fb488b92a20513ffbddeff0003b334ff000c199aff00054cccff0002e6
+669c8c08a6064a4e15f9450a0ef84af893f95815f9360afbfbfc2015f963fb2afd63
+060ebdcaf9d9158b748b7c8b7a8b7c9d8bb18b8b9a658b8b9cb18b8b9a658b8ba2b1
+8b8b9a05658b798b05db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b8bfb66fb468b
+8b73f7468b8b93a28bf7698b8ba2fb698b8bf75f05f75297a27ff738a3fb38f83574
+97fb52f754f80da3fc0d06a8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050efb1681ae
+f8baae01b2e2f765e203f77cf8d315f8fe0a87fcdd15d8f709d9f77f1f8bee73e05f
+c5fffffc999aff00046668fffffc8000ff00046664fffffc199aff0004333408ff00
+1cccccd16c96ffffe83334ffffc6800005ffffe8cccc9cffffe34cccff000b8000ff
+ffdeb3348b288b2dfb0a8bfb5a8bffffa6999aff0017199affffaa8000ff0027cccc
+ffffc6999908ffffdc199affffa94ccdab7fff001c8000ff0045199aff0000199aff
+ffffe66605ff001c6668ffffe3999aff00224ccdfffff26666ff0026b3338b08e2ff
+01f3999a15ff000c199affffd83332ff0007e666ffffc8999a8bffffb7999a8b2f88
+4c7d5875395a82798b658bffffe7e666ff001c8000fffff0b334ff0027b333080efb
+bdb7de03b7ff0144b334158bffffd94ccc8fffff396666f764ffff65333495ff0001
+b33393918eff0006e6676aff0020b332fb09ff0076999a8bff00e233348bff00e233
+34f70aff00769998abaafffffc999aff0008ccccfffff9cccc91fffff4999aff0000
+b334fb0bffffa84ccc2effff7066688bfb34080efbbdf73fde03f792ff0144b33415
+8bff0026b33287ff00c6b332fb64ff009accd081fffffe4ccc838588fffff91998ac
+ffffdf4cccf709ffff894cd08bffff1dcccc8bffff1dccccfb0affff8966666b6cff
+00036666fffff73334ff0006333485ff000b6666ffffff4cccf70bff0057b334e8ff
+008f99998bff00a00001080efb8350ff0019cccdf963ff0019cccc01f700ce03f700
+5015f7680691ff000533348bff000f666685ff00053333fb1eff0009800084ff000c
+e6668bff004acccd08ff020d8000078bff004acccc93ff000ce668f71dff00089998
+91ff000533348bff000f666885ff0005333008fb68060efb83ffffc5e666ff0019cc
+cdff02cee664ff0019ccd001f749ce03f78cff02c8666815fb680685fffffacccc8b
+fffff0999891fffffaccccf71efffff6800092fffff333348bffffb5333408fffdf2
+8000078bffffb5333383fffff3199afb1dfffff7666785fffffacccc8bfffff0999a
+91fffffacccc08f768060efbd2ffffb4b333ff0014999aff016bccccff0014999aff
+016cb334ff0014999801f746ff0245b3341586ff00588000baff000eb334b1ff0009
+800091ff000533308bff000a333485ff00053334318b49ffffdd99988fffff9eccd0
+0891ffff61cccc058b6073ffffd18000418582fffff84ccc8c8593fffff9199aff00
+498000fffff84cccff001a8000ffffda333489ffffcb80000885ffff6dcccc0586ff
+ff903334c3ffffe39999f08b91ff000533338bff000a333485ff000533335f8bffff
+d78000ff002b1999ff00048000ff004833340893ff0080199a05ff00046666ff0046
+ccccffffd66667ff0021e666ffffbc3333ff00184cce08ff0003666607ff00433333
+ff0010999aff002a199aff0018ccccfffffbb333ff004c8000080efbd2ffffb3cccd
+ff0014999aff016cb334ff0014999aff016bccccff0014999801eaff0039199a1590
+ffffa780005cfffff14ccc65fffff6800085fffffaccce8bfffff5cccc91fffffacc
+cde58bcdff0022666787ff006133320885ff009e3334058bb6a3ff002e8000d59194
+ff0007b3328a9183ff0006e668ffffb68000ff0007b332ffffe58000ff0025e6668d
+ff003480000891ff009233340590ff006fcccc53ff001c4ccc268b85fffffaccd08b
+fffff5cccc91fffffaccccb78bff0028800060fffffb8000ffffb7cccc0883ffff7f
+ccce05fffffb999affffb93332ff00299999ffffde199aff0043cccdffffe7b33408
+fffffc999a07ffffbccccdffffef6666ffffd5e666ffffe74cccff00044ccdffffb3
+8000080efbc79376f8c6f501e6f503f7247e15930ac0f8fb15940a0efb347eacf858
+77edf512b9dec3f545accecf13f6f7d5d515ae0a13fa6df8a515af0a0e57f730f781
+159a0af748169a0a0e57f7c8f78115a70afb4816a70a0efb7cd5f76503f730f78115
+f8980a0efb7c9cf76503f724f78115f8990a0efb95f7afc701b3f79603f7a3f7af15
+2a0a0efbd7fb71aff9077701f707d603f705f7d115f71a0a0e3181aef8e2cb60c712
+b5e180b9f76fe11394f79ea415ffffb1199affffc4e666ff005c3333ff0070cccd1f
+8bf703ccbcbb9ff258b1518b2708fb0c54534e1e816815f703f0ff00536666ff0098
+999a1f8bf71944c7fb11cb0813acffffbdb333ff0021e668ffffd54ccdff002c1998
+8bae8b9e9aa0b28b0813ccb68bb376c18bc28bafa59bb18aff0003b33485ff00084c
+cc848b80827c876c8c0813ac5b8c6d9b5b8b378b4c518b448b5da057d461085f7205
+13b4355a64ffffd1199a8bffffa9e66608ffff858000daffff948000f71b1e0e7e89
+acf7fbb2f772a979ae12e5daf75bda13dcf853f70e15f7a0e70795998f941f9f078f
+888d861efb00c0068b9f8cb891ad99d4a594a18ba38ba07d947795769578a68b089f
+9a9a9fb45dac411f668b527569560813ec7ea35ead3b8b708b7184767f46636a448b
+fb0e085a0679867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ac
+8cff0023b3338cff00244ccd8bff00204ccd8bff0021b3338aab8a91918ba085915d
+8f7e8f8bde08f7a0f75bfba0078b3880875f8785858b769185a88cff001fb3348cff
+00224ccc8bab8bb68ab68a91918ba0859108478f808f8bde0846f84e1582678affff
+d8b3348bffffec4ccc0863fb5b94078bcf93ae919ea0dbb8969a8bff0022b3348bff
+00129998ffffe7e668ff000ab334ffffe7199894779477a58bff000233348bff0002
+4cccff0000ccccff00018000ff00013334080e6889acf7fbb29877f786ad12e9daf7
+4ff441da13baf86af70e15f76707b28fcb8b1e8f858d871e13dc6d7f6e8a688b08fb
+59c406ff005e8000adff00538000cf1eff002a80008bff00228000809362ff0009b3
+34ffffce4cccff00154cccfffff0b334aa8b08a1a09fa0ff003e666836ff002f9998
+2e1fffffd233338bffffc8cccdffffedcccc62ffffd03334615a824e8b3d087c5a07
+79867f831f7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0023cc
+cd8cff002333338bae8bb88aac8a91918ba085914b8f818f8bde08f7a0f7470713ba
+aa9377581ffb59078b387f87548785858b769185ae8cff0023e6668cff0024199a8b
+ff0022cccc8bff002733348ab08a91918ba08591084e8f808f8bde080e5489acf7fb
+b2f77fad01e9daf75cda03f858f70e15f86107cc8cb38b1e92878e821efffff2b334
+83ffffe7999880ffffefb33487759a5d93688b08372442fb3a1f6d580779867f831f
+7e07868c8a8f1ecefba0068b388087558785858b769185ad8cff0024b3338cff0022
+4ccd8bff00244ccd8bff0024b3338aae8a91918ba0859153907e8e8bde08f7a0e807
+94998f941f9f078f888d861efb02ba06f72ecaadac1ea98baf7b986a917e95819787
+ffffffb334fffffab334ffffff4ccc808bfffff74ccc08fc4d078b38828659888585
+8b769185a98ca98cb28bb68bad8aab8a91918ba08591538f7d8f8bde080ef77e89ac
+f7fbb29877f77ba77bac12e5daf75cdaf746f048da13d600f810f8c915826789ffff
+da4ccc8bffffe9b3340863fb5e97078bcf90ac919ea0dbc1979a8ba48ba47b976893
+769479a58b088d8b8e8b8d8d0813a680f7acfc4f158b388286598885858b769185ab
+8cac8cad8bad8bb28aaf8a91918ba08591538f7d8f8bde08f77807a98dc68b1eff00
+01e6668aff0001199a881e13cf006d7f6d8a688b08fb56c406f72ecba4ac1eac8bff
+0028ccccfffff41998ff00073334ffffd4e66894559d72ab8ba08ba09d8ba08bb068
+b266a4729c6795668b498b516370680813d6807ea460ac3b8b708b6885767e466371
+448bfb0e08580679867f831f7e07868c8a8f1ecefba0068b388087558785858b7691
+85af8caf8cac8bff0021b3338bff00214ccd8aaa8a91918ba085915d8f7e8f8bde08
+f7a0f75cfba0078b3880875f8785858b769185a88cab8cad8bac8baf8aad8a91918b
+a08591548f828f8bde08f7a0f74c07a58d80631f0ef77089acf7fbb2f76dae7aad12
+e5daf75cdaf75cda140e13eef810f8c615836789668a770863fb5c94078bcf8eae91
+9e9bc7aba5aa8bb38ba86e9671917d957ca48b08f7f1fc4c15f86107cc8cb38b1e13
+de92878e821efffff43334fffffb4cccffffed8000fffff26668ffffe84cccfffffb
+4ccc759a4c93688b538b4a647a6c0813ee7e9e59ad3c8b488bffffca6666ffffcf4c
+ccffffe7999affffd1b334786784648b39085a0679867f831f7e07868c8a8f1ecefb
+a0068b388087558785858b769185b58ca18cb48bb18b9c8ab68a91918ba085915d8f
+7e8f8bde08f7a0f75cfba0078b3880875f8785858b769185b58c9b8cb08bb38b9f8a
+b68a91918ba08591548f828f8bde08f7a0e70795998f941f9f078f888d861efb00c0
+068b9f8db891ad0813de95c3b9a6a58ba98bb37b986a917e958197878c87897a8b87
+08fc4d078b388286598885858b769185b58c9d8cb28bb68ba28ab68a91918ba08591
+538f7d8f8bde080e6981c25cacf7fbb2f780ac12e5daf747d651c513baf73df70e15
+f80007f722ccb0acd0a8623c26867c701e5d06888a8a881f6c07888d8a8e1e13bcc7
+fbc10644a66fb91eb88bb4a1b1b789ff000a4ccd85ff0005b333818c71777883718b
+087085a9c91ff791e90795998f941f9f078f888d861e137afb02f70d06eb5ebf221e
+418b295981fb3f8a7083766c8b0879867f831f8207878c8a8f1eb706998a877f1ffb
+95078b3880864e8885858b769185b58ca58cb78bb68ba48ab68a91918ba08591084e
+8e80908bde080ee07fc256ac8976f81ab274acf77ba712bbaa7ad2a3abe0d755abf7
+1fd656bb134dc0f731f8c2158bffffd14cccff000acccdffffdbb334ff0027cccd67
+08fffffb66660641485b4b1f8b42ac6cd86bde699e768b608b5a5b76668b648bffff
+ea4ccdff000d4cccfffff5b333ff000ab334081326c075a280b785a48591788a8585
+8f5a8e5c8b61958d958c908b928b918b928908134dc0f72b0a1394a8a18bc5839836
+91859f8c91918eaf8db08cac7bff0002999affffeb800090ffffe8b334ff00043332
+ffffbfe666ff0024199affffeae666ff002b66668bff0033b33408c3ccbedef1bd52
+3263765448888a8a881e6c07888d8a8e1e139490ccfbc30644a56fba1eb88bb3a1b2
+b708799c0571777883718b087085a9c91ff793e90795988f941f9f078f888d861efb
+018b05134dc886ea0586f7014fccfb118b08fb0c4547431f0ef819a1f7b915f86afc
+6af86af86afc6af86a0533fb97158b7c8e858f868f858e858b7e0874767d757a7196
+aec6c9d3f707f4ca4c311e8b485e53465fffffea3334fffff2199affffd6ccccffff
+e1e6668b43085f078484878384858f921eb9078bb68cc6ccc6b3b09fab8bbb08c662
+cb525462706e1eabfca815a5a1a1a6a6a17571707575707075a1a61e0ef76689acf7
+66b5f7f6ff0014e66801f79dda15c2f725059098918fa38b08f7648bc8fb3d05ff00
+0ee668ffffd6cccdffffd6b330ff00039999ffffd06668fffffc999a85858b769185
+b08cc28cb28bb48baf8ab08a91918ba08591ffffd93334ff00038000ffffdf4ccc8b
+ffffed8000ff0033800008fb61f8b2058595899284ff000ce66856fffffe1998ffff
+b6199aff0000b334fffff6e666ff00014ccc8583fffffdb334ffffff1998fffff499
+98ffffe5333408ffff21b334fffdf7b33405ffffe5999affffc23333ffffe1e666ff
+fff9cccdffffd480008885858b769185b08c988cb28bb48bf7348ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a08f700f76015ff
+ffe9cccc8bfffff8ccceff00028000ff00043332ff000acccc08ff00643334ff00fd
+b3348d8becfb9f05fb1df7f615bb8bfb86fcf3578b050ee089ac6cb7f7b4adf781b5
+6bad12f5ff00574ccdff003fb333a5f76cdc69e8133680f728f9191513ae80598b6e
+8c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185081366
+80bc8ca98cbe8b0813ae80b68bf589e48bf75b8bc0ef8be18beb48c234a4088d0713
+2f00ff00321998ff00196666ff002ce668ff00334cce8bff00364ccc8bce6ee2fb4e
+8b08688bfb1f89608b08f71bfbcd15d00613a680f71dc43e31426f4efb2c457eadac
+1ff86c04132f00ac8b95e2c3d46d2536506d381e410613760070f781158cfcc3054f
+8cbc8bffffcb4ccd8a08ff00008000f8c3050ef72989ad6bb5f8c7b36bad12f5dcce
+a9f7d0eb136ef792b51548068bff001566668cff01a5999affffffcccdf70c08ff00
+403333068c258bfbcd8cfb280851f8ef15139e608b348b5c8d85858b769185d1889c
+868b3808fc25078b387a86458885858b76918508134ebc8cd48cbe8b08139eb08bd1
+89f28b08f721f72dcbf78af74efb0cf72dfb541f4b8b3689648b08e3fcc615f87507
+ae9c99bcf76cadfb43fb2efb5e3759fb2129929eab1e0eb189ac6cb2f7b0b1f788b3
+6cac12ecdcc9a7f74aacb2ac9bae1337c0f7fbf7fd1530f75c06a3979fa31ef406d6
+8b9b63a146ff000c6668fffffe3334ff000accccff00021998ff0009ccccff0004b3
+3486b47ceb89938b8d8a8c888b7a88838a738b08fb850613afc0ffffa2cccd8bffff
+aa33338c598c85858b769185d1889c868b3808fc25078b387a86458885858b769185
+081367c0bc8cff00616666ff0000999aff005d999aff00006666ff004a8000ff0000
+4ccdff00748000ffffffb3338b8b0813a7c0be0a1377c0774368503f8b08fb1c0675
+7d9ba61ff785e607e08b8e748e5e9185a08b91918aae8a9e8bad8bad8ca18ca98591
+768b8585088854887e368b08fb0bf75d158b87ffffff199afffef78000ff0000e666
+ffff588000ff0000199affffe2e666ffffffe666ffffde199a8c7608ffffc14ccd06
+ffffffb334da8bffffedb3338bff00164ccd08f82c078bff001566688bffffba9998
+ffffffcccdf70c08ff003e3333060e7789ac6cb5f7adb1f788b36cac12ecdbcaa8f7
+4cacb0aa137780f784f8c615fc4807ff0000199affffe2e666ffffffe666ffffde19
+9a8c7608ffffc04ccd06ffffffb334da8bffffedb3338bff00164ccd08f82c078bff
+001566688bffffba9998ffffffcccdf70c08ff003f333306f70efbae15e08b8e748e
+5e9185a08b91918aae8a9e8bad8bad8ca18ca98591768b85858854887e368b082ef7
+6606a39795a31ef406d68b9b63a14608aa9005fffffaccccb4fffff0e668ff006066
+68fffffe9998ff00079998ffffff999cff00024cccfffffeccccff0000b334fffffd
+99988bffffee8000fffffc9998fffffa3334ffffff6668ffffe84ccc8b8b8bffff4b
+e668ffffff8000ffff8cccccff000080000813af80ffffbb6666ff00004cccffffc6
+999aff0000b334598c85858b769185d1889c868b3808fc25078b387a86458885858b
+76918508136780bc8ca98cbe8b0813b780bd8bf7088abd8a91918ba08591458e7a90
+8bde08f75d070eef81aff789aff7ceb012abe6d6abf7cae061ad13f8f75aff007819
+9a15ffffcf199aff003a999bffffe5e666ff005019998bff004433348bff005a999a
+ff001d199aff004d999aff002de666ff0032cccc08abfffe35199a15ff01e8ccce07
+ff0025cccca9ff002d999aff000f1998ff0031999a8b0813faf7258bbc39a53508ad
+910582b585b384d34f8b67b8fb0e8b08fb40fb41fb17fb70fb41f71ffb24f75d1ff7
+0a8bdeaecfc50813fc809486938b9608f704078bff002333349cff0009cccca88e91
+918ba385916d8a788a638b648b658c5c8c85858b739185ff0036e668fffffbccccff
+001b1998fffffc4cce8bffffd7e66608fb2907696b527b558bffffbce6668bffffc8
+ccceff0017199affffd54cccb1080efb6389acf8dbac01f5dbcda803f7adf70e15f8
+25078bde9c90d18e91918ba0859108fb358905598b338c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185bc8ce48cbe8b08f734890591918ba0
+8591458e7a908bde086df87a15f9470a0efb42fb40b8f96db66cac12f721ff004c4c
+cdff003f6667ff00204ccc13b8f7cdf89f158bde9c90c78e91918ba085910813d85a
+8a4c8a5c8b0813b8558b388c598c85858b769185db889c868b3808fc4e07fb48576f
+6a1e7d8bfffff24ccd93fffff8b33395fffff64ccdff000d3333fffffbb333ff0014
+cccd6c8b087d6d767567c079a11ff7018bd09fa5a2b6ff0026199ac6ff0032e6668b
+f72308ffffa04ccd921513d88af880ff00404ccd8b05ffffffcccc25fffffd8000ff
+fefde666ff0002ccceffff726667fffff54cccffff69b3334655ffffc0b333ffffe8
+4ccdff00364ccdff001cb333ff00194ccdda8bf716080ef72289acff0115e666ff00
+266666ff010ab334ac01f5dbcda803f7adf70e15ff00bae66607ff0021999a8aff00
+1a6666fffff4ccce9fffffe64ccc08f737fb5a05ff0013e668ffffe7ccccff000019
+98ffffe566678bffffedcccd8b888c888f8b9f8c9c8ca98bb28b9a8aba8a91918ba0
+8591ffffee1998ff0002999affffdb8000fffffdccccffffde6668ff0029999a08fb
+6ff79805829588928b938b92ff00044cccff0006b334ff0020b334ff00234ccc08f7
+20f72b05b9bcb78db39091918ba085915c8a838a638b638b718c5c8c85858b769185
+ff00241998fffffc9998b3ff0004ccd0ffffcfe668ffffca999808fb3cfb4405ffff
+ebe66676ffffeb199afffff14ccc688808ff00afb334078bde9c90d18e91918ba085
+915a8afb0c8a588b598b6e8c598c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185bc8ca98cbe8bbd8bf70b8abd8a91918ba08591458e7a908bde08
+6df87a158cfcd0498bff0000cccdf8d0050e9a89acf8dbac01f3ddcda6f7afac03f7
+2716ff012eb33406ff001b4ccce7898b1f95bd95cc91bffffff63334ff0004b333ff
+fff53334ff0002199afffff39998fffffe3333774370503f8b08fb05066e799eaa1f
+f846078bde9c90d18e91918ba085915a8afb0c8a588b598b6e8c598c85858b769185
+d1889c868b3808fc25078b387a86458885858b769185bc8cdc8c8b8b08f3f8f415f9
+470a0ef81489acf8dbac01ff031db334f70815903afffffc4ccc8a4a8885858b7691
+85ba8ca98ca98ba98bff002dcccc8aff002133348a91918ba08591478e88ff000433
+33fffffa1998ff0052cccd08ffffe23334f83905fffffc3334c1ff0004800099cf8f
+91918ba0859108fb1789fb68fc8f0587818887898b888b8a8f879408fb61f890fbac
+8d0585858b769185d0879189844008ffffd7e666fc3005fffffa199affffc4199a7f
+ffffe6e666528685858b769185a98cec8ca38ba38bf7068aa98a919187a085914990
+fffffab334ff001eb333ff00054cccff00384ccd08b1f8258d8bf763fc9b05ff0002
+ccccfffff8e666ff00063334fffffc199a918b918b8f8e8f9308f775f8a58d8b05fc
+bedb15cf8b51fcdb478b050ef70081adf8ecad01b0ebd4aaf7e1eb03f92ef7dd15f7
+5afb27f717fb43fb47fb14fb2cfb58fb59f721fb0ff740f753f711f71ff75c1efc60
+ffff18b33315ffffd5b333ff00339999ffffe14ccdff00544ccd8bff005d66668bff
+006d999aff00203333ff00513332ff0028cccdff002fb33408aafc8015ff02069998
+07ff001de666ff0015ccd0acff000a1998ff001f199a8b08f71cf221fb64fb473520
+fb061fffffd0e6668bffffd16666ff0011199affffd8b334ff00206666080e7e89ff
+00214cccff0101b334aff7b5ac01dcd6caa9f76ce703f83af7c115ff0047b334ff00
+14e666ff003f4cccff0034199a8bf48bbd7ab467ad5bb84d8f4c8b728b4dfffff5e6
+6865ff00021998598b448c598c85858b769185089bffffffe66805ff001e199affff
+ffccccffffffe666ffffca66648bffffe1e66808fc2b07fffffe8000ffffc76666ff
+fff28000ffffe6800076fffff74ccdfffff8199afffffd8000fffff69999ff000280
+00fffff4cccdffffff199afffffa8000fffff9b3338b769185bc8ca98cbe8bbd8be4
+8abd8a91918ba0859108458e7a908bde08f73b07ff00054ccdffffffe666ff0004ff
+ffffffff8000ff0004b334ff00006666ff0049e666ffffff4cceff0024199afffffe
+e666bb990831f7d115670afb058715ff0000199affffe2e668fffffee666fffdeb19
+988c76ffffe5199aff0004999aff001ae666fffffb66664c8c8bff001566668bff01
+b8999affffffcccdf70c080efb0d81aff8eaad12a6ff00208000fffff78000ff0047
+6666ff0046999aff001fb333ff00254ccdff001dccccff00443334df4bff00208000
+13dcf755ff0197800015ffffde199aa2ffffdb4cccff0026199a8bff002b66668bff
+00326668ff000c999aff00299998c5ff0012999808ff0062ccccfffdb34cd015ffff
+ffe668ff0031199affffffe666ff007966668bff0040ccce0813ceb0ffffe97fffff
+001f6666ffffdc199a8bffffc233338bffffc5b333ffffe6999a63ffffd53332ffff
+ef333308ffffe23334fffffa800015fffff64ccdfffffe6667fffff9b333ffffff33
+33808b0813eeffffa2999a8bffffc3e666ff002a800075ff00638000fffff3b3338f
+fffff56667fffffe199afffff66666fffffae6668f3e8f71975aca8bff001be66674
+ff0058b3348bff0078cccc8bff0060999ae78bf18bff005f33344abbffffb7e666ff
+001ecccc087694ffffe6199aff0008999affffdcb3339d08ff00004ccdff00e66666
+0513ddd28aff0040199affffc2ccccff0013e666ffffbe3334ff000b8000ff000033
+3497fffffecccc9492fffffc8000bb87a7fffff5999ac0ffffc6333293ff00023334
+9effff9e66668bffffa4999a8b28488b218bffffa2e666ff0042e666ffffcfccceff
+004d8000ffffde4ccc08a0fffff6e666ff00153334fffff7ccceff00186666fffff4
+e666080ee28baff876f72057b21292ad7faaf761ff00514cccff003fb334aaf750a9
+76ad138600f82df8ef158cfccb054f8cbc8bffffcb4ccc8a8bff00156666ff0000b3
+34ff01a9999affffffccccf70c08ff005e3334fc7515f83a0713a680ad9fa7af1ec9
+06c28b927b9c3e0813c680ff000b4cccff00004cccff000b4cccffffff199cff000b
+6668ff000599980813cf0083be86b38bbc81ffffffe66881ffffff199881880813ae
+00858a88761efca206768b8e911f13ce00fffff83333ff0002ccccfffff86667ff00
+02ccccfffff06666fffffe66680813d680875a85657f56ff0009e666fffffbe668ff
+000b999afffffee664ff000c8000ff000033340813a6809fdb9898c28b08da06b09f
+6f6c1ffc3d078b387a863b8885858b769185bc8ce48cc28bc18bd48abd8a91918ba0
+85913b8e7a908bde080ef73180b5f8cdb86cac12e2ff004fb333ff003f4ccdabf7f6
+bc13bcf79af89f158bde9a90d88e91918ba085910813dc5a8afb0f8a568b0813bc5d
+8b748c598c85858b769185c7889c868b3808fbb3078bfb60f70861f74f8af77f89b3
+f7168bf74608f778078bde9c8cc79291918ba085910813dc5a8a7e8a638b0813bc5e
+8b768c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1afb3d1e5b8bffffd7
+199aff0015199affffe1e666ff001ce6665aba89d78bcc086b82158bfb16a64bff00
+53b334ffffdf4cccffffc54cccff0008b334fb07b6ffffffb333ff00a54ccd0813dc
+ffffffb333ff008db333ff0000999af5ffffffcccdf18b8bfffff533338cd68a080e
+f7339476f906ac01f8b8f8fa15d586ff00006668ffffe56668ffffea9998ffffc999
+9808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8ccceff003b8000ff
+0005ccccff000d8000cf9291918ba085915c8a428a648b638b3c8c5c8c85858c7691
+85c486ff0003e6667eff001c999a4208ff00c08000fc8005ff00154cccffffca199a
+ff0002b334ff000ce666c189c58dfffff9e666fffff9199aff0016199aff0033e666
+08ff00ceb334f87a059fbaff000c4cccb1cd9391918ba08591638a728a748b748b64
+8c5c8c85858b76918508fc208715ca8bf762fc9b73490564e5ffff35cccdff01ecb3
+34fffffc3333ff00024ccc080ef8779476f906ac01fa22f8c915fb33fc5c898bfb24
+f85105ffffee9998ff0035e668ff00236668ff00031998ad8e91918ba085915c8a68
+8a638b648b768c638c85858b769185c088ff00199998ffffe0e668ff00086668ffff
+e61998089a5d05ff0003e6687fff00011998848b828b7efffffdccccfffff3b334ff
+fffb3334fffff34ccc08fb0dfbd7898bfb2ff859057faea690ae8d91918ba085916a
+8afb1c8a648b638b7e8c638c85858b769185b88896fffffeb3349dffffca4ccc08f7
+4afcb405907b8a83ec8bdd8b6995909908f71ff7fa058f979098908b8f8bff000566
+68fffff1ccccff00049998fffff2333408f709fbf705917a9784988b998b9393909a
+08f759f8b20597aebca2c28e91918ba08591668a558a718b718b5f8c638c85858b76
+9185b488ff0027e668fffffcb334fffff11998ffffd54ccc08fd86b615ca068b8bf7
+04fbfccafb34086e410564e5ffff59cccdff01f5b334fffffc3333ff00024ccc080e
+f75f89a870b2f8ccb170a812139098f905158b87ff0006199afffffeb334ff0009e6
+66fffffe4cccff0011800088ff001f3333fffff88000ff00284ccdffffc5800008f7
+38fb8205948090828b818b858782858308fb31fb2e05ffffe56666ffffe5e666ffff
+e1999affffd0199a518885ffffffb33386fffffe4ccd8b860813408b770513808c89
+051340a98ca38ca98b081380f704890513408e8d8b9f0513808b8effffff199aff00
+038000fffffae666ff0000800008788d05ffffd8e666ff0004199aff00033334ff00
+178000ff0014e666ff0014666608f72cf72805919391918e8b8f8b8f88918308f704
+fb2f05ff0018b334ffffddccccff00026666fffffa3334ffffd7e666870877890587
+ffffff999a89fffffd66668b870813408b770513808e89051340ba8cc28ca28b0813
+80a28bf7468ab38a0813408d8d8b9f0513908b8e89ff0003b33386ff00004ccdffff
+d380008effffdd8000ac70b208fb45f78605819885958b958b94ff0004199aff0008
+e666ff0008e666ff000c199a08f72ef72505ff0020ccccff001ee668ff0010b334ff
+00211998ff003c80008d93ff00004ccc8cff0003b3348b8e0813208b9f051310888d
+051320638a698a748b081310748b678c638c08132089898b770513108b868efffffe
+4ccc8fffffffb33408a98905ff001d666889ffffff8000ffffeb9998ffffe91998ff
+ffea666808fb2cfb230585838787888b888b878f8692082bf72405ffffed8000ff00
+1bb33482ff000e4cccff002080008d08ab8d05ff0002b334ff00003334ff00024ccc
+ff0001cccc8b90089e078a8a8e8b1f13205c8afb4f8a738b081390738b648c638c08
+8888051360f73c6615da8bf827fccc3c8b050edc89acf8d3b26cac12f790ecbbac13
+b8f842f70e15ff0091b334078bff0027ccccfffffd4ccc81ff00143334ff00248000
+08ff007fb334f77b05a7ff0032b334ff000e199885ff002cb334ff00044ccc91918b
+9f85910813d86d8a6d8b748b748b6f8b638c0813b885858b779185ff002c4ccc88a4
+ff00071998ffffe9b334ffffd5e66808fb0bfb7405827a878efffff733349b08ffff
+81ccccf77205ffffe7cccdff002a9998ff000e3333fffff86668c38e91918ba08591
+0813d8fb37890513b8648b3e8c6d8c85858c769185b588ff000b199aff00046668ff
+00289999ffffbb999808ff00834ccdfb7105ff00118000ffffe28000ff00038000ff
+ffff80008b6608fb1d078b387a863b8885858b769185bc8cee8cc28b08f73e890591
+918aa08591083b8e7a908bde0813d8fbaef87815cb8bf74dfbca8bfb9e5b8c8bf78c
+050e8b14f8e7157f97f841989d97f71495ae98a99506fb8296077f97f841989d97f7
+1495ae98a99508fb8296091e0a0396ff0c09910c0aaf0aaf0c0cda0bda920c0d1c00
+4413031f02000100320044005b006d008000cb00dd0146017f01b101c701ed024e02
+9402b502c902fc032f038a03ab043d0476048304a204e8053805560568059605b205
+ed0620063c068206d606e906fe071d07520768079d07fd081d08df08ef08ff095609
+7f0a180a330a8a0ad00afc0b070b490b880c590cca0d5d0ed00ed70f060f500f6d10
+55107a10eb1131114d11a013131328134713bd13f314a11577172919111a461aa31a
+b71b0c1b1f1b471b641bf11c101c431cec1d2d1d6b1dab1dfa1e0d1e2a1e6b1ee31e
+f61f042023203e20a720f72256229c2309231e237423d524922576271b284c28c328
+f429062918293a295a297029e22a6b2a7d2a8f2aa52aee2b042b302b8b2bba2c022c
+142c512cc72d502d5c2d832d8f2da52dba2de62e462e592e902ecb2f242f2c2f4c2f
+672f7a2f8c2ff4304f30613071307f308a30b531473191319931cc32cd330f333633
+7733ae33d7343c346434ae34f3352a35473632367b36b9374c375e3769377d37c638
+17382a383d384f38d43969397139af39c43a2e3a753a7e3a933aa13ad63b3e3b863b
+cc3c263c773c9a3ce63d543e3d3e853eba3efc3f403f7b3f913fb03fd23fe43ffe40
+224046406a408240a9416d418d41a04226424642ba42f243004308432c4332433f43
+53437a43b343dd4429449b452e457d45b845eb45ff4615465f46c146f94738476a47
+b04806481a486348ec49404954499049b649e749ed49f84a134a2e4a754ac64c084d
+3e4d794e3b4e8f4e9a4eac4ee04f284f524f8d4f9f4fbb506950c050f25152516251
+6a51aa520f5261532e539753b3540854435505552055e2565b56c556e25723574a57
+7057d05864591c59ef5a045a3f5a885ad35b365b865bdd5bfc5c1e5c685c885ceb5d
+355d915de65e045e4c5f205f6c5f825fed60376070608c610c61736249628562a262
+e46322638263d0640c6417647f649364ac64c26508652d65ff67da67ed681c683e68
+6e68b968dd692e6976699769ad69e76a136a466a796a9a6aca6b106b306b5c6b766b
+c26c0e6c3a6c666caa6cbc6cdd6cef6d046d226d386d4e6d716d926dc86df26e0b6e
+466e586ea56ed56f046f4670177149717071b871e372017250727e729e72a672ed73
+36734b738773c4741374257445745f748d74bc752c758b75a375fe766f76a976c477
+58779c77b97848788c78ca78e279507ae17b137bb47c847ce57dc17df07e6c7e907e
+9e7f0f7f497fe77ffe8041804a80a68151819081da81fe827382af83b183f0845184
+9084c2853e8579859485a285eb867c868f87018720876c878e87d487ff880c884a88
+fc89ae89c189f78a258a658a838aa28aea8b0d8b3f8b8c8c198c478c988cd68cee8d
+0a8d378d8e8db08dc28dd58e228e8a8ea68ec78f3e8f7c8f9c8fc68fe2900d902990
+4d907a90a090ee910b91339157919d91aa91d491fe920f92239241926b929d92c792
+e792fa933e9358939593bd93e1940594259462949594b394df95019514952c956595
+ae96c697089714972f9749979a97eb985598ce9970999e99f49ae99afc9b079b149b
+c59da89dec9e319eae9eca9f3a9f9d9fe2a07ba101a135a153a189a1e8a200a2b6a3
+47a36ca398a3e0a3f8a423a44ea45ca464a472a47da49da505a51ca52ba53ea54aa5
+58a626a656a6dea74ca776a7a0a7f3a81da84fa8b3a8c8a910a920a968a982a994a9
+d7aa19aa23aa3faa64aa77ab27ab87abf9ac41ac73acc1ad17ad2aad3cad65ad8ead
+9fadefae01ae35ae5caf37af80af9cafc3afe3aff5b011b025b047b062b07ab0a1b0
+c3b0e5b107b1ddb331b45cb4d8b524b52eb54ab58cb5c8b5f6b610b62fb651b67db6
+d8b707b733b75eb776b795b7b4b84cb875b8afb8ccb8e9b906b923b945b95db976b9
+c2b9dcb9eab9fcba35ba6ebac7bb16bb3dbc6bbceebd7bbe27bec5bf63bfdbbffcc0
+8ec0f0c151c1efc232c24ac2d5c2f7c33ac37dc3b2c3f8c447c48ac4dcc4f6c510c5
+2ac53cc54ec560c572c584c596c5a8c5d0c5fbc60dc62ec63fc667c67ac6bec764c7
+bbc7e6c81bc861c8b1c8d7c8ebc918c9e5ca06ca9ecab7cb1ccbd4cc02cc51cca8cd
+16cd74cdddcdf3ce0fce2dced7cf15cf35cf73cfb3cfd0d000d018d032d062d0aad1
+2fd250d2a6d39bd3b9d421d445d49fd4c5d4e1d50cd525d54dd57ad6b1d6b7d6c9d6
+dbd710d742d764d7d0d7ead818d87dd957d989d9c7da1dda31da52da89da97daa4da
+cfdad7db08db23736e78551f8b4599689433933d91318d768c858e84958b958b8e94
+8c968d998bc798f70095e199b58bcc08c16e9e731e0b6ea373a8a8a3a3a8a873a36e
+6e73736e1e0ba68f058bacf7399b9b829c716d766f7582a5fb338b1f0bc5b4dfbc99
+a78257536a3254787297bf1e0b56ab52c8deb7f702ced45d9d63414f3f391e0b798b
+688b55a481976e986f8b08434effffb9199affffa7e66658a951c9dfb7f705cb1f8b
+948a9489929e80b181a28ba98bb28fb19a08fbfbfc88ad7cf82ef8cf6b9b056c613e
+7f618b080bc5b4dfbc9da4805951693454797197bf1e0b6a6658838b608b7c977e9c
+8bb18b92c6a4b8a464924ab28b998b9a968b9d8bb35a9569b0089d8e9d8c9e8b08ad
+ae92a995849f701f6a8b7b6b5d778da99cb38ba608a37c9679797f79761e8b719e70
+8f645f9d79ac698b0873827b7d6dab84bc1f9a8b998a9888080bfb33fb39077f7e78
+7c839183941ff743fb3e06829385939a9e98971ef734f737079899a295938794811f
+fb44f7400695828f8381747d7e1e0b6c75766f1f8bffffe08000a5fffff680009d88
+9e899c858b748b76675d577e8b818d849284c796c5bb8bd108c771b2631e0b9899a7
+97958795811ffb6f067f7e7479819182941f0b9c8b9b859780aa71a63f8bfb1a8b2f
+884c7d5875395a82798b082e81f73fe2f78ac8b9b81f0bd8f709d9f77f1f8bee73e0
+5fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2dfb0a8bfb5a8bff
+ff956666ff0020e666ffff9b199aff0036b334ffffc98000ff001c6666ffffe3999a
+ff00224ccdfffff26666ff0026b3338b080b769e79a09ca9ff0011e666ff0016199a
+1e8b9389918992899285948b9308a4a5afd4afbe722b1e8b4b7457504f0841420529
+277b5b8b50088bbe8dab1ef74306abb9898b1f0b98c095d68ca985907e8d81897a44
+7a72678b08fb46068bbbd0cf909008f0ec050bc4c2b6b78bd708f70033b73a1efb03
+46394f1f0bff002b3334ff0027e66671ffffbfb3341f8bffffcdcccc51ffffb3999a
+ffff9ce666fffff1e66608906b059c8d9d8b988b080bc4d57bfb05fb193270681f58
+8b82a27f9d81997e97778b087676787b63df70c7f70bf5d8f7181f8bf70139b25095
+088a8d050bff00524cccff0026999aa2ff0029999a8bff0034b3328bff001e000284
+ff00188000ffffe7b334ff00189998ffffea3334ff00161998ffffdd1998ff0010e6
+68ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e0bfbb4fb5307ff
+00334ccdff00523334ff0046b333ff006f9998d0ff005e3334080b38f7b8068bbdff
+00004cccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334ffff
+f98000fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000
+fb238e7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff0027
+66668bff0025999a8aab8a91918ba085915a8f76898bba08e7d007999a9e97958791
+801f0b2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f7
+12ec48e2fb041f608b66827984089ff73b05b087ab86bb8b080ba98bad8db48f089b
+cf848f050b52855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb01
+1f0bff0020ccccff0015999aff0020999aff00016666ff001166668b08eda12b59fb
+0261595a4c52adf73f1f8bff00168000ff00024ccdff001ab334ff0005e666ff001c
+cccc080bff001b199aff005ae668ff003f999af0f719ff0031cccc8b978794839026
+6d4d61534a4d436c308b3c08fb5ff70763d8f717c1f713e1e15dd8fb1c1e718bffff
+d9199a83ffffe23333fffff24ccc080bf747063dfb563cfb5747fb2c089384cf8e05
+c4f73ec2f73af704f7a5080b7a867585658b08fb6206698b8d95798f080b888a8b88
+1f8a5b804f8357ff000ae666fffffce666ff000a199afffffeccce96ff00014ccc08
+a1dbac92ab8b080bcca3605d1f8b55565e7077086c9e054cb484ac8baa08b9abb1c7
+1e0bd353c02925494e3e1e8b53ff001b199affffd73334ff003ce666ffffd9cccc08
+ff001980007b056efffff08000ffffe58000ffffee80007275080b62677a5e8b6408
+25d355f5f717cbebd71e8bc5ffffe7199aff0032ccccffffcae666ff002033340844
+b605baa2d7bf8bcb080b5e47aae51f8ba998d1e1c408ba6f05c965a45c8b5b082740
+7a5e1e0bffffdf3334ffffea6666ffffdf6666fffffe999affffee999a8b082975eb
+bdf702b5bdbccac469fb3f1f8bffffe98000fffffdb334ffffe54cccfffffa1998ff
+ffe33334080bffffe4e666ffffa51999ffffc06666ffff9afffffb19ffffce33348b
+7f8f829386f0a9c9b5c3ccc9d3aae68bda08f75ffb07b33efb1755fb133535b93ef7
+1c1ea58bff0026e66693ff001dccceff000db333080b6ea373a8a8a3a3a8a873a36e
+1e6e73736e1f0b6c75766f1f8bffffe08000a5fffff680009d88080b9e899c858b74
+8b76675d577e8b818d849284c796c5bb8bd108c771b2631e0bf7d1f7070598998ca9
+7d9108fc1afb2105fffff6b333ffffeeb3338b7bff00094ccdfffff14ccd08f81afb
+220599918aa97e99080b9899a295938794811ffc1c067f7e787c839183941f0bfbd1
+fb07057e7d8a6d998508f81af72105ff00094cccff00114ccd8b9bfffff6b334ff00
+0eb33308fc1af722057d858c6d987d080ba9b3a3c4c4b1524a1e8b5c7c6e63664a50
+86508b60085d078493889393948e921eb7078ba38ca398a4949c9f9ba29cbaadc9b7
+8bda8be649c7258b568b617d6e726d73766f8b650868a4839b9e9f97a21e8b988991
+879008879089918b9a080b758b848eff0003cccdff000a4ccc08ff00663333ff0102
+b334918be9fba4050bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffff
+dd8000ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb2
+8bb48bb18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccff
+ffee9998ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe18000
+85ffffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91
+918ba08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bc0
+8b95e2c3d46d2536506d381e41060bf71dc43e31426f4efb2c457ea5c81f0bffffdc
+4ccd8bffffc9b3338c648c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b28cff0035e6668cff0025199a8bff0023b3338bff001a4ccd89df8bf7
+5b8bc0ef8be18beb48c234a4088d070bff0032199aff00196666ff002ce666ff0033
+4cce8bff00364ccc8bce6ee2fb4e8b688b5589678b080bec8be4b9cfe48694849180
+8b443d476c2e8bffff7966668bffffa2999af72c8bf7268bff00564cccff0016e666
+ff0047ccceff00248000ff002ce666ff0031999ac8c5a7bf8b08f71e8bc239a53597
+87ff0009b3348eff000b4ccc9186bf84bb81c258905eb3fb0f8b368b446c5055ffff
+bd999affffc33334ffffd86666ffff9e19988bffff97b33408ffff523333f4ffff6d
+cccdf76b1e0bf87407aeae99bcf76cd2fb43fb2efb5efb0d59fb2129809fab1e0bff
+ffdc4ccd8bffffcab3338c638c85858b769185d1889c868b3808fc25078b387a8645
+8885858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf7
+8af74efb2df72dfb541f448b5489648b080b30f74806b7979fc11ed606d68b9b63a1
+46ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b47c
+eb89938b8d8a8c888b7a88838a738b08fb93060bffffe180008bffffc580008c638c
+85858b769185d1889c868b3808fc25078b387a86458885858b769185080bb08cc78c
+ac8b08f76b060b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e5e9185
+a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858508885488
+7e368b080b6b8b528c638c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185ae8cbd8cb88bb88bbc8aae8a91918ba08591458e7a908bde08f75d070b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccd8bff0030b3338ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bf825078bde9c90d18e91918ba085915f8affffd080008affffd980008b
+ffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc25078b387a86
+458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff003066668a
+b88a91918ba08591458e7a908bde080b8bde9c90c78e91918ba08591658affffd4b3
+338affffd94ccd8bffffdbb3338bffffcb4ccd8c598c85858b769185db889c868b38
+08fc4e07fb48576f6a1effffece6668bfffff1cccdff000bcccd84ff000eb33385ff
+000cb333fffff73333ff000ccccdffffe7199a8b087d6d767567c079a11fb88baa93
+b4aeff002bb333ff00254ccdff003a4ccdff0033b3338bf723080bff00bae66607ff
+0021cccd8aff001ce666fffff4b334ff00144ccdffffe6666608f731fb5a05ff0014
+4cccffffe66666ff000db334ffffe4999a8d7bff0000666688ff0000999a888f8b9f
+8cff000ce6668cff0015199a8bad8bad8aac8a91918ba08591ffffe31998ff000299
+9affffe38000ff00031999ffffe16668ff00244ccd08fb6ff79805fffff84cccff00
+09199afffffab334ff0007e6668b938b928c92adae08f727f72b05b9bcb38fb38e91
+918ba085916c8affffe033348affffdfcccc8b668b648c668c85858b769185ff0024
+199afffffc9998adfffffc4cd0ffffd5e666ffffd3199808fb39fb4405ffffeab333
+ffffe94cccffffe96667fffff2e668ffffdce666fffffd199808ff00afb334078bde
+9c90d18e91918ba085915d8affffd080008affffdb80008bffffd980008bffffd280
+008c5e8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b88c
+b98cb28bb18bb98ab88a91918ba08591458e7a908bde080bff00d4b334060bff001b
+4ccce7898b1f95bd95cc91bffffff63334ff0004b333fffff53332ff0002199affff
+f3999afffffe3333080b77436650218b084c0664799ebe1ff832078bde9c90d18e91
+918ba085915e8affffd1199a8affffd9e6668bffffdbe6668bffffd1199a8c5d8c85
+858b769185d1889c868b3808fc25070b8b387a86458885858b76918508b28cff0039
+4ccd8cff0021b3338b080b903afffffc4ccc8a4a8885858b769185b08cb38ca98ba9
+8bff002dcccc8aff002133348a91918ba08591478efffffce668ff00043333fffffa
+3330ff0052cccd08ffffe23334f83905fffffbb334c19099cf8f91918ba0859108fb
+1789fb68fc8f0587818887898b898bfffffd199aff00056666fffffce666ff000799
+9a08fb61f890fb258d0585858b769185d0879189844008ffffd7e666fc3005fffffa
+199affffc4199a7fffffe6e666528685858b769185a98cab8ca38ba38bb38aa98a91
+918ba085914990fffffa999aff001eb333ff00056666ff00384ccd08b1f8258d8bf7
+63fc9b050bff0002ccccfffff8e666ff00063334fffff8199a918b918b8f928f9308
+f775f8a58d8b050bfbdb07788b80841e878b7c9d6eb008fbebf847fb1b8d0585858b
+769185b688a968917108fc35078b327a85458485858b769185b68cff002d66668cff
+0017999a8bff0017199a8bff002de6668ab58a91918ba0859145927a8f8be608f7c6
+07ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b089994979e1ff87f07
+8be49c91d19291918ba08591628affffd0b3348affffe84ccc8bffffeab3348bffff
+d24ccc8c5f8c85858b76918508d1849c878b30080bf718f6fb02fb5efb473522fb06
+fb0efb07f701f754f766eee0ee1f0bf763fb23f70efb47ffff3e4ccdffff8eb333ff
+ff65e666ffff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333
+ff0036e668ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bf763fb23
+f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e199a1e8bfb49ff0078b333ff
+ff898000ff00976667ffffede666ffffc31999ffffe0199affffc84ccdffffd0b333
+ffffdc199affffd4e667fffff93333fffff8e66685fffff84ccdfffffb3333fffff7
+b33308b27705ff000bcccdff0010cccdff000cb333ff000f6666ff000d3333ff000e
+199aff000e199aff00096666ff000d9999ff00034ccdff0007999a8bff002a80008b
+ff0024999affffeccccdff0026e666ffffe9cccdff002e999affffe56666ff0032cc
+cc70ff0046999a8bca8bb5a5b2c3087a9705757067816e8bffffd633348bffffd7cc
+ccff00118000ffffd58000ff00146666ffffd16666ff00166667ffffcde666ff0015
+b333ffffc633348b858bfffff94cccffffff8000fffff8ccce8aff0031999aff0024
+4ccdbcff0014cccdff00209998ff00093333ff0053333499ceff002b7fffff002cb3
+34ff003fb33408ff0027ccccff0038b333a1ff00484ccd8bdf080bc8d375fb0afb11
+446f2a1f5bf77906a897aed21e0bf73d07df8bff0012b334fffff14cccff000e4ccc
+ffffe8b33408f6fb42050bff001cb334ffffd16666ff002b4cccffffd5999ac78b9a
+8b9c8d9590ff00038000ff0006e666ffffff8000ff0009199a87935e8b72ff002199
+9a71ff002b666608fb12f76605b699e5bf8bf48bbd7ab467ad5bb84d8e4c8b5c8b61
+84678b688b5c8c5c8c85858b76918508d1889c868b3808fc25070b8b387a86458885
+858b769185b88cff002e80008cff002680008bff0025999a8bff002f66668ab78a91
+918ba08591458e7a908bde080b8bde9a90d88e91918ba085915c8affffcf66668aff
+ffd8999a8b648b628c648c85858b769185c7889c868b3808fbb607fb60ff00838000
+64ff00668000f761bcf713f7461ef778078bff00504ccc9cff0003b334c79291918b
+a08591658affffd733348affffe8cccc8bffffea80008bffffcf80008c5d8c85858b
+769185d6849c888b3a08fb8a07fb047cfb1afb3d1e5b8bffffd7199aff0012199aff
+ffe1e666ff001ce6665aba89d78bcc080bd586ff00006668ffffe56668ffffea9998
+ffffc9999808ffff62199afc25fffffb66668bffff60e666f82b05ffffe8cccdff00
+3b8000ff0005cccdff000d8000cf9291918ba08591638a5e8a678bffffdbb3338bff
+ffdd4ccd8c6a8c85858c769185c286ff0007e6667aff001a999a4608ff00c58000fc
+940591fffff0666692fffff8999a958b968bff00073334ff0008b333ff0005ccccff
+000e4ccd08ff00ceb334f89205ff00133334ff002f4cccff00101998ff0026b334ca
+9291918ba085916d8a688a748b748b5e8c628c85858b769185080bffff63b334fffe
+4db334fffffcccccff00014ccdffff768000f83a05ffffee8000ff0035ccccff0023
+8000ff00033334ad8e91918ba08591628a5f8a638b6a8b688c6b8c85858b769185c0
+88a1ffffe0b33494ffffe64ccc08a24905ff0003e6667fff0003199a818b828bffff
+f5b334fffffe8000fffff83332fffff88000ffffef199a08ffff7e8000fffedab334
+fffffbb3348cffff6dccccff01ba4ccc05fffff46666ff00231998ff001a999aff00
+04e668ae8d91918ba085916a8a5f8a648bffffdd4ccd8bffffe2b3338c6e8c85858b
+769185b888ff00076666fffffe8000ff0012999affffca800008f750fcb105ff0005
+6666fffff0199aff0005199afffff4e666ff000b80008b988bff0005999aff000a66
+66ff00076666ff0010999a08f729f7e305ff0008e6669fff0003199a90908b8f8bff
+0004199afffff5199aff0005e666ffffeee66608f707fbe005ff0005e6687aff0005
+199881978b968b9296909a08f75df8af05ff000ce668ff0022b334ff00121998ff00
+174cccc28e91918ba085916e8a6b8a718b718b5f8c638c85858b769185b488ff0028
+4cccfffffc9998fffff0b334ffffd56668080bfb2df76605fffff63334ff000d6666
+fffff9ccccff0009999a8b958b94ff0000e666ff00093334ff0009199aff000bcccc
+08f71df74505ff0022b334ff002ce668ff001f9998ff000cccccff002cb334ff0004
+4ccc91918ba085916d8a668a748b748b618c638c85858b769185ff002c4ccc88ff00
+123334fffffa6668ffffe88000ffffde999808fb0ffb430585fffff7800085fffffc
+8000878b888bfffffbcccc8ffffffb33349208ffff918000ff00a3cccc05ffffe3cc
+cdb3fffffbb333ff000b3334c38e91918ba08591668a668a638b648b6a8c6d8c8585
+8c769185b588ff00128000fffffab334ff00293333ffffc54ccc08ff008e4ccdfb5f
+05ff00083334fffff44cccff0005ccccfffff7b3348b818b85fffffbe666fffff6e6
+66fffffa199afffff8199a08fb28fb5a05ffffddb333ffffd2199a6bfffff43332ff
+ffd34ccdfffffbb33485858b769185a98cb08ca28ba28bb58ab38a91918ba08591ff
+ffd3b3338effffed199a90ff00183333ad08f718f74d05ff0005b33493ff00064ccc
+918e8b8f8bff0004666688ff0005999a8308ff007b8000ffff50333305ff001c4ccc
+ffffd7b332ff00043334fffff5199a538885858b769185b08cb08cb38bb28bac8aa9
+8a91918aa08591618effffef6668ff0009b333ffffd59998ff003a4ccd080bff0087
+b334078bff001dccccff0001199aff0010e666ff00106666ff001d999a08ff007780
+00f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a
+6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe668fffff66668ffff
+ea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb3334ff00014cce82
+ff000fe66608ffff8bffffff00cccccc05ffffe7ccccff002a999c8fff00099998c3
+8e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00113333ffff
+fa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00
+038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff003466668c
+ff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a908bde080b
+90c395c697bf848d808e7e8b6c447254fb018908fb5587057affffff999a83ff0005
+66668b948b908e919094d4f5f74cf799f70af72cff00151998ff001b3334ff0002e6
+68ff0006cccc8b968b92868f838b7f8b6c896d8b08fb71060b5c8b2a90668e875581
+52836295889489968b080ba0d0b1ff00239998d6ff0001666808f7678f05ff0005e6
+66ff00001998ff0004199afffffce6688b858b86888586842afb0ffb52fb9e25fb2c
+858389838b8408819086991eff016c4ccc06a6ff0063b334898b1f0bf2fb8bb88bfb
+12f7c4618bfb13fbc4b88b050b878c858c868b698b747a8385088980f706fb01059b
+7c9286918b938b92918b908b928a928695080bfb18078b7e85848385717669746f8b
+598b75b38baa8bb8a0b9d59e080b916cff000a999a70ff003266668bff00264ccc8b
+af9cff0014b3349ffffffe4cccff000c4ccc87ff00086667fffff4b334ff00064ccd
+fffff88000fffff9ccccffffef3334fffff63334fffff34ccc8b086e8ab2b91ff727
+07f7223da6423938555273977fa2a89da0981e8b928a92898f8a8e8a918b9608aab5
+96b1adba7afb051e8b848887888a083576050b2b7346568b478b39c371d18bff0022
+cccd8bff001e333393b7ad089f9b050ba5a2a994a88b08c8bd412afb065d352c1f6c
+8b76a177a408f78e078ba0ff0004199aff0009999aff000ce666ff000b6666080bff
+fff9b333fffffa4cccfffffc4ccdff0001b3348b9408f74c07cc8fb38b1e92878e82
+1e7281407d638889838d7b9185bf8897908b3708fc7c078b648a79887d9083908797
+8bff0006199aff0005cccdff0009e666ff00094ccdff0007b333ff0008e666ff000a
+4ccd97918b96fffff6cccdff0016e666ffffecb333ff001dcccdfffffa8000ff0023
+4ccd8b08f1f70be8f733f70e31d6341fffffd5199a8bffffd9e6667a6c6f080b8794
+838f828c695f6075608b08424ed5f709f702bbcdcd1fc68b93688f688e709982a08b
+08a0a798aac252b32b282132fb22fb15d332f7121fc78bc09ebddd080b8b78fffffe
+199afffff83333fffff1e666fffff3cccd666b6b7b728b558b53c68bf7118bd399b3
+9aa0aabab58e9f8baf8ba47e9f7408997b8e848b6c080bff0004ccccff0003e667ff
+00098000ff0001cccdff0000b33484ff00028000ffffe78000ff00088000ffffdd80
+008b8b938890ff0000800091ff00028000080ba19dae9ac89291918b9a85914b9082
+9e8bbc08f85907cc8fb38b1e92878e821e7281407d638889838d7b9185bf8897908b
+3708fb1407848989841e878b629c6a8b498b5f756365606071508b41080bfb0fc931
+f7001eb28bb09fbcff00284ccc080b9ef705d194a38bb18bb8768b378b8287fffffb
+333480ffffffcccc080b66656e7b518b678b61a06cbe77ac7fb98bc508f79e890597
+929196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf88
+9585907f8c080bf7a0e80794998f941f9f078f888d861efb00c406f72eb9a3ac1ea9
+8b9b7f99689379967da08b9c8ba3a08b9f8b9c809d769b719d718e658b08372e42fb
+301f63580779867f831f7e07868c8a8f1ed0fba0068b387b87558785858b769185ae
+8cae8cb38bb38bbb8aae8a91918ba085913d8f858f8bde080b2e5c78663782d2cbd1
+a4afc21ecaad5d381f0b6f737b608b698b679f6fa57e080b8bff0015199a94ff000c
+4ccc93ff0008b334b1ff00254cccff0032999aff0015b334ff002766668bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+2c078b398187578686858b769085a78cad8cb38bb38bac8aac8a90918ba086915390
+808f8bdd08f729078bc2fffffc4cccff00308000ffffe8b334ff001e8000ffffef33
+34a1ffffe0cccc97688bffffcee6668bffffc4199a7e4e47fffffc999afffffc3334
+fffff99999fffff5cccc8b9908ff0000cccdf77505cc8fb38b1e92878e821e728140
+7d638889838d7b9185bf8897908b3708fc49078b38fffff4333387518785858b7691
+85ac8cff0024cccd8cb38bb18bff0020cccd8aa78a91918ba08591ffffcd33338f82
+8f8bde080b71a371a3a7a3ff001ae668ff00151998a376a7701e736f73731f0bff00
+c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffffd880008246828985
+8d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b5208fb57078b388088
+4e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591084e8f808f8bde08
+0bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1fa0
+8bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f80638246828985
+8d7b8d8508c18696858b52080b8b388087538785858b769185ac8cad8cb38bae8bac
+8aa28a91918ba08591628f808f8bde08ff0056e66607ff00133333ffffff8000ff00
+0e199afffffe8000ff0009b333fffffc999a96fffff88000ff0009199a82ff000be6
+667b08d42905ff001d6666ffffd88000ff000b4cceffffed3333ff00014cccfffff4
+4ccdff00004ccc88ff0000b334898e8b9f8ca18c9f8baa8baa8a9f8a91918ba08591
+698fffffe6b334ff00046666ffffe54cccff0021999a08fb18f73a05fffffc6666ff
+00048000fffffc999aff000480008b908b8f8b8d8f8f08e3e605a9abae93b38f9191
+8ba08591748a6f8a678b658b668c748c85858b769185c387ffffe84cccffffdcb334
+fffff6b334fffff44ccc08746effffe0b33469ffffe64ccc78ffffe9cccdffffef99
+9affffe51999fffff43333ffffed199afffffd666608ff015ccccc07cc8fb38b1e92
+878e821e7281407d638889838d7b9185bf8897908b37080b8b3880864e8885858b76
+9185ae8cb08cb38bb38bb18aac8a91918ba085914e8e80908bde08f86107cc8fb38b
+1e92878e821e7281407d638889838d7b9185c58791888b40080b25cffb05f7221eff
+004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcc
+cdff00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9
+b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080be1
+c03dfb24fb124a6c5c2369f712d8e2a0e4e51f0ba5abff002dcccda9ff001d33338b
+08cbc243fb05396e25fb041f798b689079ff0010199affffebe6669dfffffc199aff
+0005cccc8bff0024199a08f74a078ba0ff00046666ff0008b334ff000b999aff000e
+4ccc080b9fffffe9999a8ffffff1199a8bffffe7e66608fb7a078b798a867efffff9
+3333ffffe8999afffff3e667ffffe53332fffffee666fffff033348b085134b5f72b
+f3b5d5db1fff001e66668bff001ab334fffff3e666ff0015e666ffffe78000080b7d
+877f831f7e07868c8a8f1ec6fbc10644aa6fb91eb98bbda1b2b789ff000a4ccd85ff
+0005b333818c71776d83718b087085a9c91ff791f30795998f941f9f078f888d861e
+fb0cb206cc8fb38b1eff0006666888ff00026664fffffb4ccd1efffffb80008bffff
+f78000fffffc199cfffff6b333fffffae664fffff4b333fffff9b334fffff5cccdff
+fffbb334fffff38000fffffc80007ffffffc999881fffffc999c8bfffff919988bff
+fff466688eff000699988bffff91199a080bc187ff0005999afffff3ccccffffeb19
+9affffcd333408ffffaf4cccfb5805ffffefccccffffd88000fffffaccceff0000b3
+33fffff06666ff0029cccd08ffffb7e666f75505ffffee199abbfffffbb33397ff00
+354ccd9291918ba085916a8a688a6a8b6a8b6d8c6d8c85858b769185c0fffff9b334
+92ffffefe666ff00146666ffffcd666608ff007f999afbd005917c9185988b958bff
+0006e666ff00066666ff0007199aff0010999a08ff00856666f7cd05ff0012b334ff
+002be666ff000ae666ff0019199ac39091918ba08591778a738a718b6a8b698c728c
+85858b769185080bffffe9199aff0021ccccff00073333ff00018000ff002cb333ff
+0004b33491918ba08591708a5f8a6d8b6d8b6d8c718c85858b769185ad88a77aa762
+08e2fb1305ff0004e666fffff8cccdffffffb334fffffccccdfffffc6666fffffb66
+660837fb0005ffffd86666ffffcd199affffe9999afffffce666688985858b769185
+9f8ca18ca98ba98ba78aa58a91918ba0859167ff0003b333fffff78000ff0003cccd
+ff00168000ff0020800008cae605ff00084ccdff000be666ff00036666fffffeb334
+ff00064ccdfffff7666608c53b05ff0022ccccffffd0199affffefe668fffffe3332
+ffffe04cccfffffcb33485858b769185a98cac8caf8bb18ba68aa38a91918ba08591
+ffffd2b3348efffff19998ff0003199affffd7b334ff0038e6660831f71305fffffb
+ccccff0005e666ffffff8000ff0003199aff0004b3349108dff605b0baff00178000
+90ff002480008e91918ba08591778a748a6d8b6d8b6f8c718c85858b769185ff0024
+b33487ff000b8000fffffce666ffffe7ccccffffde199a084a3005fffff8cccd81ff
+fffbcccdff0000ccccfffff86666ff000b3334080bff000f999aff001bcccdff000d
+1999ff001c9999ff000c4ccdff001d999adbf755ff002cccccff0066999aff003433
+34ff00706666ff0013b334ff002a4cccff000e4ccc9bbaff0005b33491918ba08591
+778a748a6f8b6d8b6c8c6d8c0885858b769185ff001f999a88ff00206666857b6708
+ffff9cccccfb790584ffffefe666fffff7999afffffd4ccdfffff78000ff0013cccd
+08ffffa74ccdf76405ffffedffffff002a3334fffffacccdff00128000c3ff00044c
+cc91918ba08591668a638a678b698b708c778c85858b769185ff0027b333869882ff
+001a33334e08ff0071199afb9b05ff0008b333ffffebe666ff000f4ccdffffd2199a
+816ffffff4199affffde999afffff3e666ffffe466667c6c80777d82728b7d8b878e
+808b086e7c6d7e769f7ba61fa08bb393afcb080bff0005b33388ff00054ccd8a918b
+a2b7baa8ae8ba48bff0017cccdfffff2199aff00183333ffffede666a379a87ca28b
+a38bcc98aaf6fffffcb334ff0004199afffffa4cccff0001e666838b0875595a7a6f
+8b758b7498709fffffe78000ff00123334ffffe48000ff000dcccc748b4e8b554c7e
+4a080ba3a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d
+8b4f7efb0081357d618b4a0855a878a31e0ba873a36e6e73736e6ea373a8a8a3a3a8
+1e0b71a076a5a5a0a0a5a576a171717675711e0bf730f717f713f730f730fb17f712
+fb30fb30fb17fb12fb30fb2ff716fb14f7311f0bf71ff700fb03fb1ffb1ffb01fb04
+fb1efb2020f705f71ef71ff6f703f7201f0b3c0771747a81768b698b809f8ba08baa
+a39de0a1080b9e8b9e979495ff0000999a93fffffcb332ff00054cccfffff8b334ff
+0002b33488888689878b0882869bb41fd607e9529f5a614d6a637c96819a9e929893
+1e8b908a908a8d8a8d8a8f8b92089ba096aca2aa83401e517c054c7b636f8b618b60
+ae70b58bac8b9d94ada98e799976a48b080bff00258000ff002a8000ff00258000ff
+00308000bfdafffffd80009580ff0007ccccfffff58000ff00013334ffffb08000ff
+ffaa800059ffffcf8000ffffc880005a087f07ff003780005abdffffcf8000ff004f
+8000ffffaa8000ff000a8000ff0001333396ff0007cccdff000280009557daffffda
+8000ff00308000ffffda8000ff002a8000080b697368626173adaeafa2afb6b89f64
+6a1e0b54b85ec2c2b7b8c2c35fb854545e5e531e0b9899a295938794811ffc1b067f
+7e787c839183941f0bff00088000ff001ab334ff00063334ff001f9998ff00044ccc
+ff0023b334fffffab334ff0003b33483ff00019998fffff54cccffffffb334806f7d
+646c8b08380694ac9aa6b5a9080bc3b3acac8bb908cb519e593c6f58711e7e998097
+1e0b8b6270715f85fffffd4ccdfffff6e668ffffff4ccdfffff49998ff00056666ff
+fff98000938c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b333ff00068000ff
+fffa4ccdff000b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2
+b332ffffe08000ff0046999afffff4b334ff001a3333dbc6b9d01f8bc55ca66a8e08
+0ba89ba1a28ba808b06aa15734705b7a888f7c9e1ea28bffffff33339dff0004cccd
+96929ba7939c8b089ba183711f0bffffb46666fb0b05fffff7e667fffff33334ffff
+fcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffff
+e666668cfffff9999a8b868b858a888a080ba7a5a5a7a771a56f6f71716f6fa571a7
+1f0ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6
+b16ca3631f828b828a838908a4ce698b632b9185059b90958c9e8b080b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffffda8000ffffd58000ffffda8000ffffcf8000573cff
+000280008196fffff83333ff000a8000fffffecccdff004f8000ff00558000bdff00
+308000ff00378000bc089707ffffc88000bc59ff00308000ffffb08000ff00558000
+fffff58000fffffecccc80fffff83334fffffd800081bf3cff00258000ffffcf8000
+ff00258000ffffd58000080bfc5ffd23b583f85ef923050bffff744ccd2907ff0006
+8000ff00118000ff00344cccff0049b333ff00273334ff00308000080bfc5efd23b4
+83f85ff923050b9dab845c1f8b5573745e675b6665618b5b08f762060bc3b3acac8b
+b908cb519e593c6f58717e9980971e0b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff98000938c908c928b080b6d6373525265c4cc
+1e8bba9aa8b3b0ccc690c68bb608b90792838e83838288841e5f078b738a737e7282
+7a777b747a5c694d5f8b3c8b30cd4ff18bc08bb599a8a4a9a3a0a78bb108ae72937b
+78777f741e8b7e8d858f86088f868d858b7c080ba873a36e6e73736e6ea373a81ea8
+a3a3a81f0bffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4c
+cc08f72e4c05a0829988938b938b92928b938b9287918093080bfb1035057e828986
+8b848b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cce
+ff00116668ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff00
+00b3347dfffff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff
+0009199aff0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad
+6daf080b788b7a927b97080b7799759f6d8b608b74647d509185958a968d95ac959a
+a58b9c8b9e839d80080ba07da079a18bb98ba8b297c7858f818e808a087d61808175
+8b080b71a175a5a5a1a1a5a575a1711e717575711f0b71a175a5a5a1a1a5a575a171
+717575711e0bc2f725059098918fa38b08f7678bc5fb3d05ff000bccccffffdd8000
+ffffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48b
+b18aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee99
+98ff00303334080bfb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ff
+ffd480008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918b
+a08591ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080ba99d75
+6c6f7a726c6c7aa4a7a99ca2aa1f0bf72df7b9058f898c828b7f08fba2070b8b387a
+86458885858b769185080bbc8cdc8c8b8b08f76a060bbbdb898b1f99bd9acd93beff
+fff59998ff0005e666fffff48000ff00024ccdfffff2e668fffffccccd080b774368
+503f8b08fb1c06757d9ba61ff785e607e08b8e748e5e9185a08b91918aae8aff0012
+b3348bff00224ccc8bff002180008cff001680008ca98591768b85858854887e368b
+0830f75c06a3979fa31ef406d68b9b63a146ff000c6668fffffe3334ff000accccff
+00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb
+448bfb208b050b8b8b4a8c598c85858b769185d188ff00063334ffffe8b334ffffef
+ccccffffe14ccc08fb87fc5b05ffffe04ccdffffc4b333ffffe33333fffff74ccdff
+ffd480008885858b769185080bb08c988cb28b080bb48bbd8ab08a91918ba08591ff
+ffda6666ff0002999affffcb4ccdff00064cccff00144ccdff0027199a08ecf74ff7
+468b050ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff0015ccccff003a800005ff00556668ff000880
+00ff004dccccff002d3333c8ff004fcccd86948491808b443d476c2e8bffff796666
+8bffffa2999af72c8bf7268bff00564cccff0016e666ff0047ccceff00248000ff00
+2ce666ff0031999ac8c5a7bf8b08f71e8bc239a5359787ff0009b3348eff000b4ccc
+9186bf84bb81c258905eb3fb0f8b368b446c5055ffffbd999affffc33334ffffd866
+66ffff9e19988bffff97b334088bffff53999aff00674ccdffff6eb333ff00d37fff
+fffffdb33308ffffdc3334359185059b90958c9e8b080bb7979fc11ed606d68b9b63
+a146ff000c6666fffffe3334ff000accceff00021998ff0009ccccff0004b33486b4
+7ceb89938b8d8a8c888b7a88838a738b08fb93060bbbdb898b1f99bd9acd93beffff
+f5999891fffff48002ff00023333fffff2e666fffffccccd080b774368503f8b08fb
+0806617d9bba1ff771e607e08b8e748e5e9185a08b91918aa58aff001bb3348bff00
+224ccc8ba78cad8ca38591768b85858854887e368b080bffffddcccdfffff46668ff
+ffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b9292
+8b938b9287918093080bf75fe30797949a96908893821f2af78206aeae99bcf76cd2
+fb43fb2efb5efb0d59fb2129809fab1e0bffffdc4ccd8bffffcab3338c638c85858b
+769185d1889c868b3808fb593c0782817c81858e83931fe2fb39068b387a86458885
+858b769185b28cff00354ccd8cff0025b3338bb08bb589f28b08f721f74ecbf78af7
+4efb2df72dfb541f448b5489648b080bfbdb07788b80841e878b7c9d6eb008fbebf8
+47fb1b8d0585858b769185b688a968917108fc35070b8b327a85458485858b769185
+b68cff002d66668cff0017999a8bff0017199a8bff002de6668ab58a91918ba08591
+45927a8f8be608f7c607ad8b9a931e918b96809c7508f7f1fc4d050b967c98829b8b
+089994979e1ff87f078be49c91d19291918ba08591628affffd0b3348affffe84ccc
+8bffffeab3348bffffd24ccc8c5f8c85858b769185d1849c878b30080bffffddcccc
+fffff46668ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988
+938b938b92928b938b9287918093080bf718f6fb02fb5efb473522fb06fb0efb07f7
+01f7541ff766eee0ee1e0bff0033999aff003fcccc05ff00351999ffffd8b334ff00
+424ccdffffea8000d28bff006ecccc8bff00588000ff002fb333ff0036e668ff004e
+4ccdff0027ccccff0038b333a1ff00484ccd8bdf8bff0064999affffde3334ff0050
+8000ffffc8ccccff0038333208bdff003db33405fffffdb334ff000ee668fffff14c
+ccff000f1998788b08ffffce80004e05ffffc9999aff0027ccccffffbb999aff0015
+3334ffffb54ccc8bffff3e4ccd8bffff8eb333ffff65e6668bffff3e199a8bffffa1
+3333ff00213333ffffb24ccdff00354ccdffffc8e66608ffffcc8000ffffc0999a05
+8e7c997a9e8b080bff0041199a8bff003b199affffe53334ff002b1998ffffcc9998
+08fffebdb334fffe734cce05ffffe53333ff002f4cccffffefcccdff003c66678bff
+004833338bf766eee0ee8b080bff001bb334ffffce4cceff00104cccffffbf33328b
+ffffb133348bfb473522fb068bffffc266668bffffc4199aff001bccccffffd3e666
+ff00344cce080bf762bcf713f7461ff778078bde9890c88e91918ba085916d8a5f8a
+748b748b798d718bffffed4ccc8b8875ff000eb33480ae8498798b4908fb8a07fb04
+7bfb1afb3c1e5b8b61a06ea856c08cd18bcc08f792078bca9ba2aa90948dff0000e6
+66aafffff2199a8b728a788a628b648b5f8c668c85858b769185ff003c800088ff00
+108000868b3808fbb307fb60f72561e41e0b71a076a5a5a0a0a5a576a07171767671
+1e0bfb18078b7e85848385080b717669746f8b598b75b38baa8bb8a0b9d59e080bff
+ffb46666fb0b05fffff7e667fffff33334fffffcb333878bfffff4cccc8b84928592
+8b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b08868b858a
+888a080bfffff54ccd8efffff56666ffffff4cccfffff54ccdfffffdb3346e5d5d55
+6763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff000899
+9aff0008199a90920867b35fc06eba080b71a076a5a5a0a0a5a576a1711e71767571
+1f0ba99d756c6f7a726c6c7aa4a71fa99ca2aa1e0b5db564b9bbb3b3b8ba61b15d5d
+61645d1e0ba273946c8c3cffffa93333fffff9e666ffffbde667fffff2b334ffffd4
+e666ffffe6999967ffffeacccd70618b638bffffd66666ff000e8000ffffdf3334ff
+00228000ffffec6666ff0015e666fffff38000ff0024199afffffa8000af8bff0025
+199a8bff0032e6669ab9ba08ff000be666ff000c199aff0004199aff0003e6669382
+080bff00154cccffffe8199aff0026b334ffffd2e666e68bcd8bc5b2a8c1fffffcb3
+34ff00054ccd83ff0009e666fffff74cccff0000cccd6d686872558b408b50e48be5
+f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e738b08393d5f51779472
+aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b08a08bff001d4ccdffff
+f94cccff000eb333fffff0b334080b8b598a6a8778080b7c6357626b8b538b70ab8b
+b68bff0016b333ff000c4ccda1ff0018b333ff00123333ff001eb333ff0016b334bd
+ff0010e666ff00454ccdff00058000080b93e0b4cfcf8bbb8bae658b6b8b4e5c77fb
+2d89080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9
+aab6b16ca3631f828b828a838908ff00156666ff00394ccc05c2ff0002999aff0031
+199aff0015cccdff002e8000ff004c4ccd8794838f828c695f6075608b08424ed5f7
+09f702bbcdcd1f0bc68b93688f688e709982a08b08a0a798aac252b32b282132fb22
+1f8bffff86999aff003fb33335ff00708000fffff64ccc08ffffdbcccdffffa9199a
+9185059b90958c9e8b080b9ef705d194a38b080bb1b876371f8b8287fffffb333480
+ffffffcccc080b66656e7b518b678b61a06cbe080b77ac7fb98bc508f79e89059792
+9196df6de5fb1f34fb0538fb2c1f8b539955ac65ad63ba73d38bd78bc1aeb3bf8895
+85907f8c080bff00c74ccc07ff0031b3348fcb8b1e8f868e831effffe3800080ffff
+d8800082468289858d7b8d85ff00368000fffffae666ff000a8000fffffa199a8b52
+08fb57078b3880884e8685858b769185ac8cb28cb38bb38bb18aac8a91918ba08591
+4e8f808f8bde080bfffff9e66684fffffa6667fffffd999affffffb333ff00096666
+8aa6fffffdb333ff0026b334fffffb4ccdff000a4cccfffffde666ff0004999affff
+fe199aff00036666838b080b6f807182468289858d7b8d85c18696868b5108fb5707
+8b3981874f8685858b769185a98cb38cb38bb38ba98aa98a91918ba085915890818f
+8bdd08f738078ba094979394080bb1b0b8a1b28b9f8ba07e977495778d708b6d08fb
+2c078b398187578686858b769085a98cab8cb38bb38baf8aa98a90918ba086915390
+808f8bdd08f729078bc287bb74aa7aa16c97688b5a8bffffc84ccd7effffc4b33347
+080bfffff54ccc8efffff56667ffffff4cccfffff54ccdfffffdb3346e5d5d556763
+918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e666ff0008999aff
+0008199a90920867b35fc06eba080b25cffb05f7221eff004066668bff00306666ff
+0016b333ff0022199aff00214ccd080bff002cccceff002bcccdff00144cccff003e
+e6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b33370ffffdb666760
+ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080b25cffb05f7221eff0040
+66668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff
+00144cccff003ee6668bff003d4ccd8bf352f70dfb2d8bffffbe33338bffffc9b333
+70ffffdb66676008ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc080bffff
+d7999a5a05ffffe1199aa0ffffd84ccc98598bffffbe33338bffffc9b33370ffffdb
+666760ffffdbb333ffffd5666678ffffc5ccce8bffffc0cccc8bffffce199aff0010
+4cccffffcb6666ff00214cceffffd74ccc08ffffcb6666ffffc03334058d7c97809b
+8b08ff0032cccdff003dcccc05ff00213334ffffe53334ff002be6667aff0037199a
+8bff004066668bff00306666ff0016b333ff0022199aff00214ccdff002cccceff00
+2bcccdff00144cccff003ee6668bff003d4ccd8bc5ffffee4cccff003f4cccffffd5
+ccceff002c999a08ff0029e666ff0033199a05879881957a8b080bff00274ccc8bff
+00208000ffffefb334ff0017999affffe0800008ffff42e667ffff1ab33205fffff3
+ccceff00224ccdfffffae666ff0025199a8bff001db3338be2a0e4e58b080b9affff
+dc999aff00083334ffffd1cccc8bffffc7999a8bfb124a6c5c8bffffd066668bffff
+df199aff001a6666ffffea4ccdaf080bb28bba9fbcb3908fff00094ccc8dff0000b3
+3484ff00028000ffffe68000ff00088000ffffde80008b8b9388ff00048000ff0000
+8000ff00068000ff00028000080ba19dae9ac89291918b9a85914b90829e8bbc08f7
+5407a98fd48b1e8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bc88987f
+8b4908fb55078b7889837d7f080b666b657b728b086d5999e41ff74a07a98fd48b1e
+8e888e861e868a7c8a7c8b6b8b678c698c85858b769185bb8799808b4a08fb540746
+a948ee1e0b9896a097918796811ffb75068080777f848f80941f0b6f06846457755a
+8b568b5ca183b2086f069045c560d48bcd8bcbb591d2080b707f059936be59d18bc6
+8bcbbc97e10870970581515d6b578b08558b60b080c0080b6fa373a7a7a3a3a7a773
+a36f6f73736f1e0b71a371a3a7a3ff001ae668ff00151998a376a770736f73731e0b
+b606a9adababb1a8087c9f05657b6b7866716aa4699e649c087b7705af6fae6da966
+080bbd06a8b9b1b8aeb20878980566706972666569af6aa464a808777e05ae65b05e
+a85c080b6d7d797b7b9075b49391837e1f8b747666618208907a05d193abc98baf08
+af75b0651e0b8b78fffffe199afffff83333fffff1e666fffff3cccd080b666b6b7b
+728b558b53c68bf7118bd399b39aa0aabab58e9f8baf8ba47e9f74997b8e848b6c08
+0ba19dae9ac89291918b9a85914b90829e8bbc08f827bc07ff000c4ccc8dff000ab3
+34ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff
+00014ccc08509506cc8fb38b1e92878e821e7281407d638889838d7b9185ff0030e6
+66fffffd3334ff000d999aff00043334ff00016666ffffba999808ffff75199a067f
+fffffdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f728
+2506848989841e878b629c6a8b498b5f756365606071508b41080b6f06846457755a
+8b568b5ca183b2086f069045c560d48b08cd8bcbb591d2080b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b774368503f8b08fb0806617d9bba1ff771e607e08b8e748e
+5e9185a08b91918aa58aff001bb3348bff00224ccc8ba78cad8ca38591768b858588
+54887e368b0830f74806b7979fc11ed606d68b9b63a146ff000c6666fffffe3334ff
+000accceff00021998ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a8883
+8a738b08fb93060bfb3bfb41fb17fb70ffff4c3333f710ffff76cccdf7531ff70a8b
+e8a4cfc5080b809486938b9608f708078bff002333339cff0009cccda88e91918ba3
+8591738a728a638bffffde80008bffffd180008c5f8c85858b739185ff0036e666ff
+fffbccccff001b199afffffc4cce8bffffd7e66608fb2d07696b4885558b08fb3237
+f73df718f743ff00718000f70cff007480001f0bf7258bb438a535ff000b4cccffff
+ff4cccff000a66688dff000b4cccff0004b334fffffd8000b5fffffb8000b37bd34f
+9566aefb038b080b3782d2cbd1a4afc2caad5d381f0b96889b89988b080baa8ba78e
+998bbd8bb58aa87bb275977d8b7108432165316737a8cf1e8bad8da4a8ae080b9e9d
+9d9f1f0ba0789b701e718b5b7a7169080b7f936a9f508b328b394f8b2f8b55a36ca7
+70080b556b6f5d8b600834dd70d8f71bf726ccf7001e8bab7ca46ea364ab458c668b
+798b72897388080b7c8a818a868b6e8b68998bb68b9f91a0979ca37da784b28be38b
+dcc28bed8bba7da66ea90892959f99988b928b928891828f839881968b080b6e7678
+731f8b70a4829c889d8998878b778b7971735a808b828d829185c494bca98bc708bf
+73ad651e0bae9ba49b9c81a363ffffe7cccdfffffb3333fffff96668ff001399981f
+8ba29fabc4978b928a94878f6586ffffe3e666ffffef1998ffffef199affffeae668
+7b7784758b730867a266b21e0bf825078bde9c90d18e91918ba085915f8affffd080
+008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b38
+08fc25078b387a86458885858b769185b88cff0030b3338cff00244ccd8bff002399
+9a8bff003066668ab88a91918ba0859108458e7a908bde080b8bde9c90c78e91918b
+a08591658affffd4b3348affffd94ccc8bffffdbb3348bffffcb4ccc8c598c85858b
+769185db889c868b3808fc4e07fb48576f6a1effffece6668bfffff1ccceff000bcc
+cd84ff000eb33385ff000cb333fffff73332ff000ccccdffffe7199a8b087d6d7675
+67c079a11fb88baa93b4aeff002bb334ff00254ccdff003a4cccff0033b3338bf723
+080bfb8507fb1887fb0f591e808b7e8f849281957f9b758b08807677796eaf7d9e1f
+a08bbf8eb0aabab1a7d38bf75108f76707bd8fcb8b1e8f868e831e6f806382468289
+858d7b8d85c18696858b52080bfb1035057e8289868b848b839184948b948b978ea0
+9408f724c505fffff34ccdff00154cccffffeb4ccdff00116668ffffe36666ff000d
+4ccc080b8b3880864e8885858b769185ae8cb08cb38bb38bb18aac8a91918ba08591
+4e8e80908bde08f86107cc8fb38b1e92878e821e0b7281407d638889838d7b9185c5
+8791888b40080bb28cff00394ccd8cff0021b3338b08ff00d4b334060bff00103334
+7fff0015cccc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668ff
+fffeccccfffffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b9408
+0bff00174cccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000
+fb0205fffffe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005
+999a8b8fff00038000ff000466668f08e3ff0050800005908f8d928b93080bff0012
+99987aff00126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d
+8b8d8b8d8d08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000
+ffffeb199a1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d
+8d08f1f70d058f908c918b90080bfffffe4ccdb3fffffe6666ff0019b334fffffb4c
+cdff000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f807182
+468289858d7b8d85c18696868b5108fb57078b387f874d8785858b769185ae8cb28c
+b38bb38bb98aae8a91918ba0859145907f8e8bde08f71f078ba597a2979d080b969b
+a2ac978b948b94fffffd999aff0007ccccfffff5b332ff0007999a81ff000b3334ff
+fff2b334ff001166668b08a3a2a4a4ff0013199a79ff001ce666611f5c8b625f7464
+8580fffffb333393ffffffcccd90080bffffc6333293ff0002199a9effff9e4ccd8b
+080bffff9ab3333248211f8bffff96999aff00568000ffffcfe666e3ffffde8000ff
+003cccccffffe8e666ff0049b334ffffe3e6678bffff9e33338b3affffd2cccc61ff
+ffb033348b080bffffa280008b4fff002a800075ff00638000fffff3b3338ffffff5
+6667fffffe199afffff66666fffffae6668f3e8f71975aca8ba774ff0058b3338bff
+002d80018bb6ff000b199aff0022ccccff0015b333ff00398000ff0023ffffff0024
+8000ff003d999a8bff003f999a088bff006a6666ffffafe666ff002e999affffad99
+9aff001ee666080bffffc4cccdff00163334ffff9c1999ff0025cccc8bff0054199a
+8bc3ff0032999ac3ff003ae6668bff0061199a8baa4d9f49ff000a8000fffffe3334
+98ff0000cccc9492fffffc8000bb87a7fffff5b334c0080b8f5a8e5c8b61958d958c
+908b928b918b9289080ba684a687b08bc38bf2a68bee8bff00444ccd5aff0027b333
+47ff00193333ffffc3cccdff00164ccdffffd83333ff000f80008bc28bb4afa2ad8b
+080ba18bc583983691859f8c91918eaf8db08cac6c905b99578b418b485b8b4b8b42
+ac6cd86b080bde699e768b608b5a5b76668b648bffffea4ccdff000d4cccfffff5b3
+33ff000ab33475a280b785a4088591788a8585080b8c898d8a1e0b6988fb03863c8b
+0835060b3e8bfb0a90658e898b89898b8a875e8157805b9587978a978b080bcb95b1
+af1ea106d68bba719c3e968b998c948f84b986be8ab8080b9fdbb9a5cd8b08bc06b0
+95654e1ffc15078b387a863b8885858b769185bc8cff0032e6668cff0028199a8bff
+002666668bff0032999a8abd8a91918ba085913b8e7a908bde080bfffff54ccc8eff
+fff56668ffffff4cccfffff54cccfffffdb3346e5d5d556763918292859489b2a1ac
+a8ababa96cae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b3
+5fc06eba080b91918ba085916d8a688a678b658bffffe533338cffffe5cccd8c8585
+8b769185ff002f199afffffb3334ff000ae666fffff5ccccff0015199a5708ff0082
+e666fbd705917d9385958b948b9391929b08f0f78af2fb8c05917d9385958b948b93
+91919a08ff00828000f7d105ff00106668ff0028e666ff00111998ff001c199abe8e
+91918ba08591778a758a6d8b6d8b618c6d8c85858b769185d687fffff5b334ffffe3
+199afffff1e664ffffdce66608ffffac6668fb6405817287ff00003333fffff7cccc
+ff0014cccd08ffffa9b334f76f05ffffed8000ba8d95c08f91918ba085916d8a638a
+6d8b728b6a8c6d8c85858b769185bafffffb8000ff000bb334ffffe34cccff0011e6
+66ffffd3333408ff000666667b45fb45057e6afffffdccccfffffe8000fffff3199a
+ff00208000083bf76205ffffed199abb8c9bbb8e080bff0087b334078bff001dcccc
+ff0001199aff0010e666ff00106666ff001d999a08ff00778000f76c05a7ff0032b3
+34ff00164ccc94ff002cb334ff00044ccc91918ba085916f8a6b8a748b748b678c6b
+8c85858b769185ff002c4ccc88ff000fe668fffff66668ffffea9998ffffd7999808
+ffff913334fb650583fffff0ccccfffffb3334ff00014cce82ff000fe66608ffff8b
+ffffff00cccccc05ffffe7ccccff002a999c8fff00099998c38e91918ba08591678a
+658a638b648b6a8c6d8c85858c769185b588ff00113333fffffa1998ff00228000ff
+ffc5e66808ff00834ccdfb7105ff00118000ffffe28000ff00038000fffff580008b
+6608fb13078b387a863b8885858b769185bc8cff003466668cff0026999a8bff0026
+b3348bff00324ccc8abd8a91918ba08591083b8e7a908bde080bfffffd999afffffc
+6666fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff000c999a
+fffffe199aff000b999aff0002999a080b9fd4aaff00114ccca9ff0000b33408f714
+8e0547fb0627fb243d22fffff76666fffff46666ffffff999afffffc999a8b860884
+93869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff00024ccd
+7f8b087d6e05ffffe68000ffffcb3333ffffeb999a75ffffcbe666fffffecccd08fb
+1906d5e9f3f731c9f1ff000f4cccff00193334ff0002b334ff0007cccc8b8f8b8f86
+8e848b868b6f896e8b08fb4b06ffffdfe6668bfffff3999aff0004999afffff18000
+ff00056666080b90c395c697bf848d808e7e8b6c447254fb018908fb5587057affff
+ff999a83ff000566668b948b908e919094d4f5f74cf799f70af72cff00151998ff00
+1b3334ff0002e668ff0006cccc8b968b92868f838b080b7f8b6c896d8b08fb71060b
+ec06f71ba729524d6c36fb31507e99af1f0bac8baa89b88bdc8bcd90c4b1ff002980
+00ff001b999aff00258000ff003699998bff0040cccd08d766f701fb601efb01f75d
+060ba39792a31ef71106d48ba157a037ff000d8000fffffe8000ff000d4cccff0001
+3334ff00083334ff00054cccfffffe6666ff00369998fffffaccceff00386668ffff
+f3ccccc7080b598b6e8c598c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185bc8ca98cbe8b080bc0bfbebce88bf71b8be7fb218bfb4e8b7d8b7f8a
+8008fc720696fb22d2fb16f7548b08f755f1f723f757f73335f741fb6b1ffb028b5c
+663c41080bf8190679274b2d218b298b43cb6cf716080b8bff0072ccccffffd41998
+ff0058999cffffba4cd0ff00383330080bff00354ccc90ff00164cccff002366688b
+bd08bb6cb6656d7b7c731e8b779874ad87998a9c808b7e8b695f83808bfffff4b334
+8bfffff69998ff0000b334fffff54cceff00024cccffffd0ccccff0018e668ffffc9
+4cceff000d1998ffffc54ccc8b08ffff3e4ccdffff8eb333ffff65e666ffff3e199a
+fb59f723fb0ff73e1fff006ecccc8bff00588000ff002fb333ff0036e668ff004e4c
+cdff0027ccccff0038b333a1ff00484ccd8bdf080b25cffb05f7221eff004066668b
+ff00306666ff0016b333ff0022199aff00214ccdff002cccceff002bcccdff00144c
+ccff003ee6668bff003d4ccd8bff003c999affffecb334ff00426666ffffd19998ff
+002ccccc080bff0029e668ff0007999aff0018ccccff001fe6668bff002fb33408ba
+71b4656e7a7c731e8b779975ad88998999838b7e080b696185801efffff8cccc8bff
+fff9999aff00004cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e6
+66ffffd680008bffffbe33338bffffc9b33370ffffdb66676008ffffdbb333ffffd5
+666678ffffc5ccce8bffffc0cccc080ba89aaed3d0d074fb13fb00575f2a1e0b728b
+638d808e080bd68b9a5aa146ff000d4ccc89ff000b999aff00034cccff0008199aff
+0003b334fffffbb334ff00301998fffffbe666ff002fe668fffff36666c608fc098b
+050b268c05fffffc6666fffffa1998ff0000199affffebe668ff0003800085a387ff
+000eccccfffff56668ff00113334ffffe8999808f757fb9e898afb71fb9505828082
+848088fffffccccdfffff96666ffffff6666ffffec199aff0003cccdfffff9800008
+0b8bb68da71ef83606ff000f3334ff0035e666ff00059998ff00378000ff00053334
+ff0037999afffff74ccc907eff0001999afffff4b334fffffe6666774371543e8b08
+fba98bf798f7ac8c90fb6ef7a7050bff002accccff00046668ff00253334ff001dcc
+cc8bb608ba7cb0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668
+fffff933348b828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a
+07fb047cfb1afb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89
+d78bcc08f792078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b
+769185c7889c868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f
+333494ff0013ccccabff0002cccc080b738b689c74900876fb50a589058fb7a8ded5
+8c08f78d8bfb58fbf505998e968b9b8b08d0f70755fb332c2afb0d341f548b59a96b
+bc7ea06f99708b086981707449f72a68dbf734f718f70ff71f1f8bf7034ceefb1aa6
+08f73cf7c205949a919b8b9508938491761e0bf87407aeae99bcf76cd2fb43fb2efb
+5efb0d59fb211e29809fab1f0ba0d0b1ff00239998d6ff0001666808f7678f05ff00
+05e668ff00001998ff00041998fffffce6688b858b86888586842afb0ffb52fb9e25
+fb2c858389838b8408819086991eff016c4cd006a6ff0063b330898b1f0bfffffd99
+98fffffc6668fffffc6666fffffd999a1f8a5e8668825aff0008ccccfffffc4cccff
+000c999cfffffe199aff000b9998ff0002999a080b9fd4aaff00114ccca9ff0000b3
+3408f7148e0547fb0627fb243d22fffff76668fffff46666ffffff9998fffffc999a
+8b86088493869a1ef7cc880597ad98bf92bdfffff98000ff0003b333fffff48000ff
+00024ccd7f8b087d6e05ffffe68000ffffcb3333ffffeb999875ffffcbe668fffffe
+cccd08fb1906d5e9f3f731c9f1ff000f4cd0ff00193334ff0002b330ff0007cccc8b
+8f8b8f868e848b868b6f896e8b08fb4b06ffffdfe6688bfffff39998ff0004999aff
+fff18000ff00056666080b78980566706972666569af6aa464a808777e05ae65b05e
+a85c080b9fd4aaff00114ccca9ff0000b33408f7148e0547fb0627fb243d22fffff7
+6668fffff46666ffffff9998fffffc999a8b86088493869a1ef7cc880597ad98bf92
+bdfffff98000ff0003b333fffff48000ff00024ccd7f8b087d6e05ffffe68000ffff
+cb3333ffffeb999875ffffcbe668fffffecccd08fb1906d5e9f3f731c9f1ff000f4c
+ccff00193334ff0002b334ff0007cccc8b8f8b8f868e848b868b6f896e8b08fb4b06
+ffffdfe6688bfffff39998ff0004999afffff18000ff00056666080bffffa08000ff
+ffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999a
+fffff9ccccff0006e6668bff0006e6668bff00094cccff00029998ff00103334ff00
+07e66808ff006ee666ff0033199805fffff63334ff0012ccd0fffff0199aff000f4c
+ccffffe9e666ff000bb334080bffffe5b334fffff5ccd0ffffede666fffff23330ff
+fff1e666fffff0666808ff0076999affffc8800005ff00103334fffff81998ff000a
+b332fffffd6668ff000633348bff000633328bff00054cceff000633348b928bff00
+06333488ff00054cccfffff7800092080b78fb054582738b658b5ea08bdf8b948fff
+0004cccd96ff00003333080bb0b1a89bc58baf8bb576aa589f6a975d8b5108fb9e8d
+057f84858037a931f71fe2f705def72c1f8bc37dc16ab169b35ca3438b3f8b556863
+578e819186978a080bbbdb898b1f99bd9acd93befffff5999891fffff48000ff0002
+3333fffff2e668fffffccccd080ba273946c8c3cffffa93333fffff9e666ffffbde6
+67fffff2b334ffffd4e666ffffe69999080b67ffffeacccd70618b638bffffd66666
+ff000e8000ffffdf3334ff00228000ffffec6666ff0015e666fffff38000ff002419
+9afffffa8000af8bff0025199a8bff0032e6669ab9baff000be666ff000c199aff00
+04199aff0003e6669382080bff00154cccffffe8199aff0026b334ffffd2e666e68b
+cd8bc5b2a8c1fffffcb334ff00054ccd83ff0009e666fffff74cccff0000cccd6d68
+6872558b408b50e48be5f77b8eb9b08bdc08ad5fcdfb061e528b57726a5e66ce3e8e
+738b08393d5f51779472aaa4999c9b1f8b928a92898f898e8a928b958ba8b199b28b
+a08bff001d4ccdfffff94cccff000eb333fffff0b334080b8792858f828b75757b7b
+6e8b668b7ea08ba58bff00314ccdff00256666ff001fb333ff00524cceff00436666
+ff00231998a0ff001dcccca7ff0017999cff0021999aff0027ccccff0038b333a1ff
+00484ccd8bdf08f763fb23f70efb47ffff3e4ccdffff8eb333ffff65e666ffff3e19
+9afb59f723fb0ff73e1eff001bb3348bff001a4ccc8eff0018b334ff0005b333ffff
+c89998ffffd8999affffd8b334ffffd680008bffffd433338b55b177bd8bb48bb39f
+a8b8080b8792858f828b75757b7b6e8b668b7ea08ba58bff00293333ff001a199aff
+001ce667ff0038999aff002fb333ff001b8000ff0009e666a29aff0012b332ff0012
+4ccdff002cccceff002bcccdff00144cccff003ee6668bff003d4ccd08f352f70dfb
+2d1effffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5
+ccce8bffffc0cccc8b25cffb05f7228bff0005999a8bff00058000ff00003333ff00
+056666ff00004ccdffffce999a66ffffdde666ffffd94ccd8bffffd733338b55b177
+bd8b08b48bb39fa8b8080b8a5e855f835a08a588059fd4ada0a98b08f725060bfb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34cccff00154c
+ccffffeb4cccff00116668ffffe36668ff000d4ccc080bffffb46666fb0b05fffff7
+e666fffff33334fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707
+f70188960574a1ffffe666668cfffff9999a8b08868b858a888a080b8b828e848f87
+08ee37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff
+0004999808ffffc4b334f701058693848f808b6e8b7fffffea33348bffffefcccc08
+0b8b838d84908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b92
+8b91908b928b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f7
+02058693848f7c8bfffff04ccc8bffffe9b334fffff14ccc8bffffe8b334080bffff
+e8999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d
+8a8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df7
+1f058694848d7f8b080bffffe08000fffff58000ffffe9ccccfffff233341f8b868c
+85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66668bff0002
+999a8b8c8b8dfffffeb3348e08ffffc14cccf7230587948390808b080ba70692b2bf
+a1bc8bc08bba75936408a70686d151b6428b498b4b618544080ba697057de058bd45
+8b508b4b5a7f3508a67f0595c5b9abbf8b08c18bb6669656080b8b828e848f8708ee
+37058d898e8a8e8b908b93908b938b8efffffeccccff00036668fffffd8000ff0004
+999808ffffc4b334f701058693848f808b086e7fffffea3334ffffefcccc1f0ba706
+92b2bfa1bc8bc08bba75936408a70686d151b6428b08498b4b618544080b8b838d84
+908708e3ffffaf800005ff00046666878ffffffc8000ff0005999a8b928b91908b92
+8b8dffffff6666ff00053334fffffe199aff0003cccc08ffffc98000f70205869384
+8f7c8bfffff04ccd8bffffe9b333fffff14ccc8bffffe8b334080b8b828e848f8708
+ee37058d898e8a8e8b908b93908b938b8efffffecccdff00036668fffffd8000ff00
+04999808ffffc4b333f701058693848f808b086e7fffffea3334ffffefcccc1f0bff
+ffc6333293ff0002199a9effff9e4ccd8bffff9ab3338b32488b218bffff96999aff
+00568000ffffcfe666e3ffffde8000ff003cccccffffe8e666ff0049b334ffffe3e6
+678bffff9e33338b3affffd2cccc61ffffb033348b080bffffc4cccdff00163334ff
+ff9c1999ff0025cccc8bff0054199a8bc3ff0032999ac3ff003ae6668bff0061199a
+8baa4d9f49ff000a8000fffffe333498ff0000cccc949208fffffc8000bb87a7ffff
+f5b334c0080bf81207cb95b1af1ea106d68bba719c3e968b998c948f84b986be8ab8
+080b9fdbb9a5cd8b08bc06b095654e1ffc15078b387a863b8885858b769185bc8cff
+0032e6668cff0028199a8bff002666668bff0032999a8abd8a91918ba08591083b8e
+7a908bde080b8bff0015199a94ff000c4ccc93ff0008b334b1ff00254cccff003299
+9aff0015b334ff002766668bff001466668ba0fffff2e666ff000b999affffe9199a
+95ffffec33348dffffe4cccc8b6d08fb2c078b398187578686858b769085a78cad8c
+b38bb38bac8aac8a90918ba086915390808f8bdd08f729078bc2fffffc4cccff0030
+8000ffffe8b334ff001e8000ffffef3334a1ffffe0cccc97688bffffcee6668bffff
+c4199a7e4e47fffffc999afffffc3334fffff99999fffff5cccc8b9908ff0000cccd
+f77505cc8fb38b1e92878e821e0b7281407d638889838d7b9185bf8897908b3708fc
+49078b38fffff4333387518785858b769185ac8cff0024cccd8cb38bb18bff0020cc
+cd8aa78a91918ba08591ffffcd33338f828f8bde080bb08cc78cac8b08ec8b632b91
+85059b90958c9e8b080ba2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00156666ff00394ccc05ff0046
+199aff00034cceff00328000adb1ff00316666889585907f8c66656e7b518b678b61
+a06cbe77ac7fb98bc508f79e89050b97929196df6de5fb1f34fb0538fb2c1f8b5399
+55ac65ff001e4ccdffffdc6666ff00289999ffffe9199aff003b4ccdfffffb666608
+ffffdbcccdffffa9199a9185059b90958c9e8b080bff000b199aff00094ccea09791
+fffffc999896fffff780001fffff40ccce06fffff6b333fffff69999777f84ff0003
+666780ff0007b3331f0bffffefcccc8bfffff1999aff0007b334fffff26666ff000d
+3334080b7aff000f6668ffffed3334a1ffffe680008bffffdb80008bffffec6666ff
+ffd51998fffff41999ffffbf1998ff0005199afffff96668ff00088000fffffee668
+ff00096666ff00023330ff00088001ff00244cd0ff00088000ff00108000ff001619
+988bff000e80008bff0010199afffff73330ff000f4ccefffff3e668080bff0011cc
+ccfffff09998ff0011e666ffffec3334ff0012b3348bff0027199a8bff00189998ff
+002ae668ff000a3334cdfffffae666ff00046664fffff7999aff00034cd0fffff699
+9afffffee66408fffff4199affffd1ccccfffff6b33280ffffed4cce8b080b4190ff
+ffff999aff001a999aff00156666ff0036666608ff009de666f825ff0004999a8bff
+009f199afc2b05ff00173332ffffc48000fffffa3334fffff28000478485858b7691
+85b38cb88caf8bff00244ccc8bff0022b3348aac8a91918aa085915490fffff81998
+9cffffe56668d008ffff3a8000f8940585ff000f999884ff00076668818b808bffff
+f8ccccfffff74cccfffffa3334fffff1b33408ffff314ccdfc9205ffffecccceffff
+d0b333ffffefe666ffffd94ccd4c8485858b769185a98cae8ca28ba28bb88ab48a91
+918ba08591080b5b4061621e7d8bfffff0199aff0003199afffff5e666ff0004e666
+ff0003199aff00094cccff0042199aff006bb334ff0036cccc8b089c9a81721f0bc3
+acacc31e948bad85938b08a2929697978194781f868b5e868a8b080b6067a1d0cdb8
+91aa1fb28b9c769675957a957ba18b08989e93a8af51af3efb0a6843631f8bffffcf
+b334ff001a3333ffffe39999ff002dcccdffffecb3330889070b437278568b658b51
+ac4af7188bca8bc1a8acaaffffff999aff000accccfffffa199aff00076667fffff7
+4cccff0002cccd6470657b5c8b085461b3c01f0bfb8507ffffc48000a6ffffdf8000
+c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667fffff56666ff
+00023333787377786f8b087c8399b41ff78807ab89c98b1e7c857b89788b7f8b728c
+858c088989059c688c5f8b6f080b8bde968ec89091918ba08591698a698a5f8b608b
+688c6a8c85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8c
+ae8cb78bb68baf8aab8a91918ba085914e8f808f8bde080b638b70b183a183a37e95
+748b08758179796bc54ee0f70fe0e9f70bf53ac02b1ff72bf78e059ba691968b8f8b
+8f858d848b898b67856e8b08fb5f060b9d8bb58db18b08f744060bff0031b3348fcb
+8b1e8f868e831effffe3800080ffffd8800082468289858d7b8d85ff00368000ffff
+fae666ff000a8000fffffa199a8b5208fb160720a231f71aedeee0f742f70c64d44c
+7a7a7e7a1e8b74997d9f80a87bab7c8b2b082954fb022f407fd4f01e0b6b6975561e
+4a0697a7a4c9ca8b08b595757d1f0bf70807a9a291bbbfaafffff18000ffffc48000
+6371654d1e0bc8a5ffffd78000ffffc4800048657855577894b91f0b608b688c6a8c
+85858b769185c88796878b3808fb4d078b3880884e8685858b769185ac8cae8cb78b
+b08bac89ce8be18bcca38bee8bc368ff002680004eff000b8000088e070bb9ff0008
+8000aeff002080008bc78bd160a9fb0d8b628bffffe5e66689ffffd5199a8b080b8b
+de968ec89091918ba0859168895f8b6a8b6f8b638c648c85858b769185c88792878b
+38084afb6acc078bde928ec89091918ba08591658affffd9cccd8affffe033338bff
+ffe266668bffffd6999a8c638c85858b769185c88796878b3808fb4d078b3880884e
+8685858b769185b38cff002833338cff001fcccd8bff001fcccd8bff002733338aaf
+8a91918ba085914e8f848f8bde08e2f76a34078b3884884e8685858b769185af8cff
+002533348cff0022cccc8bff001e4ccc8bff0029b3348ab28a91918ba085914e8f80
+8f8bde080bac88ff00033334fffff46668fffff1ccccffffdf999808ffffd1199aff
+ff94999a05fffff3e666ffffe54cccfffffc4cccffffffe666fffff5ccceff001ce6
+6808ffffdae666ff00694ccc05fffff48000ff0020b33489ff000b4cccff00208000
+8e8f8f8b9a878f748affffeecccd8affffe633338b758b868c748c87878b7c8f87ff
+001c3333fffffb8000ff0002999a80ff000e3333ffffdc800008ff0008b333ffffea
+3334ffffdc6667ffffae666605fffff3e666ffffe54cccfffffd8000ff00004cceff
+fff4999aff001c800008ffffd5e666ff00694ccc05fffff34ccdff001f9998ffffff
+3333ff000c6668ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b75
+8b818c748c87878b7c8f87ac87ff0001e666fffff41998ff000f199affffdce66808
+ff004f6666ffff46cccc05ff00044ccdfffff6199aff0003199afffffb3334ff0008
+19998bff000633348bff0003b333ff0005199a909608c6ff00819998ff00349999fb
+17058f81ff00036666fffffb4cceff0008199a8bff000633348bff0003b332ff0005
+199a909608ff00533334ff00b6cccc05ff000de666ff001e9998ff0007999aff0011
+e668ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b748b7d8c748c87878b7c
+8f87080b78807e7b7c987e9c9c98989a1f99839a751e0bfb1f072e82686e1e868b87
+8f8a918799839a7c8b087f82827b77ad7ea61f9b8b9f929b9da6a990a68be008f726
+070ba68da68b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598918461
+1f0b8f8b908b8f879184927d988b089a999d9c9880a0711f6b8b6f6f7d7087838a91
+8b8e8ba7899888928a8e8a8e868b080b7a83778560858a878d7d8c87ac8894868b63
+0820078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f928b99879369
+8d7a8e8bb408ef078b9390948f90089ba29b93928b080b657565681f8b719a3fe687
+088f9c05619379b08ba208968f9292b490a49c9b809d671e0bfffff54ccd8efffff5
+6666ffffff4cccfffff54ccdfffffdb3346e5d5d556763918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff0008199890920867b35fc0
+6eba080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc
+8b849285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b
+868b858a888a080bf737077f8f828d828b848b8489818708fb390797879389938b92
+8b938d9691080b98959d97928792821ffb61067f817a7f848f83931f0b8b81f71e3d
+05ff000fb333fffff73333ff00084ccdfffffccccd918b928b92938b918b92889183
+940829f2058a8c868c878b6e8b74748079080b908b928c938f08f717c3058e8e8e98
+8b938ba7819e839508818ffb0c24057f8080828b828b888c80988b080bf73c068e90
+8d918b928b9289948695084df700068592838e838b848b8388858708fb034a078884
+89858b848b848e839182080bfb3c06888689858b848b848d82908108c9fb00069184
+9388938b928b938e918f08f703cc078e928d918b928b9288938594080b707f059936
+be59d18bc68bcbbc97e10870970581515d6b578b558b60b080c0080b8792858f828b
+75757b7b6e8b668b7ea08ba58bb9adabc9be087d9c053b5a4b578b538b55b177bd8b
+b48bb39fa8b8080b8b5884876a8987878b7f8f87a08c9e8ba48ba48b9c8ba18a8f8f
+8b99878f6a8d848d8bbe08f77707b38da58b1e8f898d851e7b855e8272898a868b7f
+8f87ab89938f8b57080b8e6b8d6b8b73918c958c8e8b9f8ba17da98bad8bcd9b8bc8
+8bbd5d9e58a0080b699981948ba38ba6a098a48b9e8bad81995108a28c82d6058092
+64956c8b5a8b5e6b8b618b5eaa7bb978080bbd7693778b768b707380738b748b7897
+84917b9b85a68a99080b687b727b7a9573b3ff00183333ff0004cccdff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666
+ff0015199a9b9f92a18ba308af74b0641e0b687b727b7a9573b3ff00183334ff0004
+ccccff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff00
+10e666ff0010e666ff0015199a9b9f92a18ba308af74b0641e0bff00a34ccdff003c
+4ccd8bff00254cccfb7cffffac33348bffffe46666f77cffffac33338bff00254ccd
+050bffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a8000fb7cff
+0054cccd8bffffdacccd050b9c7bb454616a68757f937c9e949895961e8b9388918a
+8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5
+959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a072727776721e0ba697057d
+e058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18bb6669656080b6ca274aaaa
+a2a2aaaa74a26c6c74746c1e0bccf72c470792859288918b928b928f959308e2070b
+998793771efb4d067b7c7e801f330792889287938b08928b928e9392080b98959d97
+928792821ffbed067f817a7f848f83931f0b98959d97928792821ffb75067f817a7f
+848f83931f0b390751b273bb1ea48bb9999ad00872930584707b73798b08777fa2c2
+1f8bbf7592050bf737077f8f8b8d828b848b8989818708fb390797878e89938b928b
+8a8d9691080bbd61b4581e828b838a848908936c05908d908b918b08ada2716a6c75
+6f681f828b848c848e087f6d0596869689988b08beb5b4be1f0bf71c8bf71cb0ebf7
+07087a9d053e4e3d53fb588bfb548b31c346c8087a7905e5fb05f71464f72a8b080b
+f9730698989f97948893801ffd73067f7d777f838e82961f0b478b6a9a63bd08717d
+05b256c86dce8b08eff70cbaf74df71241e6fb2d1f478b566d645608a57d05b2bda5
+9acd8b08f3ae34fb0bfb1e5462411f0baca4a6a9ac6ea56e6b716f6c6ea26fae1f0b
+8bd58ebeb1b39ea0b5a0af8bcd8ba47cb35908a5990564c055a9488b448b51736463
+686974478b5c8b34a158b463b263c179cb8bcd8bc9a9b2c00871990562586a7a488b
+578b3ea48bf730080b7e8b808587800857fb23058a888a878b888b849185938b8f8b
+908f8e8f08e7f70e058f908d938b908b9f759a778b080b7e8b808587800857fb2305
+8a888a878b888b849185938b8f8b908f8e8f08e7f70e058f908d938b90089f759a77
+1e0bb7979fc11ed606d68b9b63a146ff000c6668fffffe3334ff000accccff000219
+98ff0009ccccff0004b33486b47ceb89938b8d8a8c888b7a88838a738b08fb93060b
+f825078bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f
+8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba0859165
+8a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a86458885
+858b769185b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91
+918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff
+002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a
+908bde080bff0087b334078bff001dccccff0001199aff0010e666ff00106666ff00
+1d999a08ff00778000f76c05a7ff0032b334ff00164ccc94ff002cb334ff00044ccc
+91918ba085916f8a6b8a748b748b678c6b8c85858b769185ff002c4ccc88ff000fe6
+68fffff66668ffffea9998ffffd7999808ffff913334fb650583fffff0ccccfffffb
+3334ff00014cce82ff000fe66608fb08ff00cccccc05ffffe7ccccff002a999c8fff
+00099998c38e91918ba08591678a658a638b648b6a8c6d8c85858c769185b588ff00
+113333fffffa1998ff00228000ffffc5e66808ff00834ccdfb7105ff00118000ffff
+e28000ff00038000fffff580008b6608fb13078b387a863b8885858b769185bc8cff
+003466668cff0026999a8bff0026b3348bff00324ccc8abd8a91918ba085913b8e7a
+908bde080bf703b0dff28bf70c08f72825f719fb5bfb5923fb29fb181e8bfb14e22c
+f70066088f5b248b050b568b788886c0fffff7b333ff0003999afffff7999aff0000
+b333fffff7b333fffffbb3338b62ff00024ccdffffd83333ff0004b333ffffd9cccd
+08f76906969191941f83f714050b2fc964c88bf70408f714d1f70af71ff716db21fb
+211e8bfb0063422f560883fb1505829086971ef764060b8fad8eb88bb3fffff8b334
+8ffffff74ccc8b8187855276925a8b082a060b8b8b3c8c598c85858b769185d1889c
+868b3808fc25078b387a86458885858b769185b28cff003533338cff0025cccd8bff
+0025cccd8bff003333338ab38a91918ba08591458e7a908bde08f855070ba39795a3
+1ef70c06d68b9b59a046ff0009b334fffffeccccff00099998ff0000e668ff0009b3
+34ff00044ccc080bfffffbe666ff00544cccfffffa999aff0026e668fffffa8000ff
+0021cccc080b648a3a8a8b8b080b748b538c598c85858b769185d1889c868b3808fc
+25078b387a86458885858b769185b28cff00334ccd8cff0027b3338bb18bbe8ab38a
+91918ba08591458e7a908bde08f82d070bc9a197a31ef75906a3a17f4d1ffc2d078b
+387a86458885858b769185b18cff0036999a8cff002466668bff0026b3348bff0035
+4ccc8ab18a91918ba08591458e7a908bde08f825070b8bde9c90d18e91918ba08591
+08598a578a708b080bfc25078b387a86458885858b769185b88cff00314ccd8cff00
+23b3338bff002366668bff003a999a8abd8a91918ba085913d8f738f8bde08f73e07
+0ba184a388ae8b08f74ac2f70be0c664f6fb4d1fffffd9b3338bffffc54ccd84638b
+ffffdb4ccd8bffffcbb3338c638c85858b769185d1889c868b38080bf711f787057e
+8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000fffffe66
+66fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b0830fb11
+50fb4c1f0bfb10c139f7141ecf8bb9b4bdee089464050b9b47a56ab08bb78ba4a3a1
+ca8592848f7f8b7a6d7e84728b748b77a87ec0080b692c614d5d8b08416ee2f700f7
+07c7d2ce1fc78ba549a22b080b8bb3fffffcb333ff0019b334fffffb4ccdff000a4c
+ccfffffde666ff0004999afffffe199aff00036666838b080b6f806e82468289858d
+7b8d85c18696868b5108fb89078b7989708d818f7a9981ab8b08b182b7b11fff00ee
+8000070bff002f8000ff002f8000b7a8ff002280008b08c891564a1ffba7078bfb06
+8a497e69089679dbad058f9b8c9f8ba38bb288bb8bbe08f7b307f70762b6471effff
+b580008bffffd78000ffffd98000ffffd26666ffffcf999afffffe6667fffffdb332
+ffffff3333ff000333348b90080bf711f787057e8b76867c8b7c8b79907c8b08ffff
+d08000fb1405fffffd3334fffff88000fffffe6666fffffb8000fffffdb33295ffff
+ec3334e2ffffd88000bbffffb680008b0830fb1150fb4cfb10c139f7141fcf8bb9b4
+bdee089464050b9a5290648b70087186797d7c83a7b31e8ba293ae99b4080b8bb3ff
+fffcb333ff0019b334fffffb4ccdff000a4cccfffffde666ff0004999afffffe199a
+ff00036666838b6f806e82468289858d7b8d85c18696868b5108fb89078b7989708d
+818f7a9981ab8b08b182b7b11fff00ee8000070bff002f8000ff002f8000b7a8ff00
+2280008b08c891564a1ffba7078bfb068a497e69089679dbad058f9b8c9f8ba38bb2
+88bb8bbe08f7b307f70762b6471effffb580008bffffd78000ffffd98000ffffd266
+66ffffcf999a08fffffe6667fffffdb332ffffff3333ff000333348b90080b93b38b
+bb8bc508d907a77aa581b68b08f71aede3f72df70631e9fb0c1f5c8b5a7e61607070
+6a698bfb1e08fb56078bfb1080577e69089679050b205a50381e5e8b68a16ca908f7
+2d07f726c3a6b6dbcb55fb321e0b8bf7082de72db8fffff2e666fffffd199affffff
+199a7f8afffff7e666f33c9c2e8b428bfb026e66438b638b68ae6dd09ab094c28ba3
+08a38898707180686c1e8b778d66986a6c44746d668b418b70d18bf7048bf70ebcba
+ccb48aff00094cccfffffb999aff0009b334fffff866668ffb055b45398bfb0a08fb
+17db42e51ec48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080bfb8507ffffc48000
+a6ffffdf8000c31eb68bb6b7a0b0fffffd6666ff0009e666fffff83334ff0004e667
+fffff56666ff00023333787377786f8b087c8399b41ff788070bab89c98b1e7c857b
+89788b7f8b728c858c088989059c688c5f8b6f080bf76507f724cff723c61e9d8b95
+7d927891789c86988b08a0999d9fae6ba35a1ffb0c8b5afb48825008880680f71250
+f705218b618b6378746eff0002b333fffff88000ff00064ccdfffffb199893fffffc
+6668a19d9b8fb28ba88bab7aa952a45a9a2e8b2708fb46078b387a863b8885858b76
+9185bc8caf8cc28bc18bae8abd8a91918ba085913b8e7a908bde080b799c0570633f
+4b208b08fb1e43f716f72df793f712bad91ff18bd452947508a8a305899049e4fb1e
+8b08fb35fb21fb1efb59fb47f70bfb2ef7501ff7048bd6cfaeca080b8bb7e0f720d9
+f71257fb93fb035afb3ffb371e208b3ece71b3087b7a05ae4cd343f7048b08f74af7
+14f725f74ff7592ef71ffb651ffb058b38468171080bc58ba86bce8b08c6caa8a493
+868f871f838b7b7b658b080b8bde9c90d18e91918ba085915f8affffd080008affff
+d980008bffffde80008bffffcf80008c5c8c85858b769185d1889c868b3808fc2507
+8b387a86458885858b769185b88cff0030b3338cff00244ccd8bff0023999a8bff00
+3066668ab88a91918ba08591458e7a908bde080bf825078bde9c90d18e91918ba085
+915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b7691
+85c1fffffdb334ff00168000fffffc6664ff00076666ffffd8666808fffffa3334ff
+ffefccccfffff6b332ffffede668fffff4b334fffff1cccc08fffeed3334fbea05ff
+fff8b332fffff8b333fffffa3334fffffc999afffffb6666ffffffb33308f7f8078b
+de9c90d18e91918ba085915f8affffd080008affffd980008bffffde80008bffffcf
+80008c5c8c85858b769185d1889c868b3808fc25078b387a86458885858b769185b8
+8cff0030b3338cff00244ccd8bff0023999a8bff003066668ab88a91918ba08591ff
+ffc93333ff00024cccffffe9b333ff0003b334fffff8e667ff00294ccd08ff0006e6
+66ff0017b33395ff0008199aff000bb333ff000ee66608ff0111199af7e805ff0004
+e66691ff0005199aff00048000ff00078000ff0002800008fbf8078b387a86458885
+858b769185b88cff0030b3348cff00244ccc8bff002399988bff003066688ab88a91
+918ba08591458e7a908bde080b6a749c9c1f8b908c918b8d089a819a7470817d7857
+c674cdcdc6a2bf9e81997074817c7c1e8b898c858b86087a747a6a1e0bff00b28000
+fc17056c4072766b8b7d8b7c988494819775927d8b086d78776f6bbb74b51fe58bc2
+d5b6f70108ff008db334f7fc05ff00124cccbb9bb0cd9391918ba085916d8a688a74
+8b748b5a8c668c85858b769185d5868872775308fb01fbbf898bffff756666f7c505
+ffffe5999ac48a9bcf9291918ba08591668affffcf33338affffdccccd8b6b8b658c
+698c85858c769185c486957cff0020800044080bff00c9cccc07ff00666668fffffd
+8000ff00121998ffffddccceff00258000ffff9fe666b6fb02b03ad98a08da8a05ff
+00058000ff000a3333ff00004ccc98fffffa3334ff0009cccdffffbe3334ff0002e6
+66ffffdc6664bbffffc56668ff0098199a70d165b6468b089007d7a7a2e194c9ff00
+043334ff001d1998ff0005ccccff0020e668a98b988b9386968095819986988b08a0
+a296a8a279a8561f3c8b6d53814d82537d4b506bffffeaccccfffff3b334ffffdc19
+9cfffffdccccffffdf1998ffffff999a08ff009ce666070b8bde9c90d18e91918ba0
+85915f8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b76
+9185d1889c868b3808ffff63199a07ffffdf199aff00006666ffffdc199aff000233
+34ffffeaccccff000c4ccc50ab7dcb82c3080b81c96dc33c8b0856796e746ea280a0
+1f988b9990959596969390988ba98bff0005cccdffffdf1998ff00043333ffffe2e6
+68944da235d76f088607468b65607045ffffc56666ffff67e666ffffdc66675bffff
+be3333fffffd199afffffa3333fffff63333ff00004ccd7eff00058000fffff5cccd
+08da8c05d98cb0dcb6f702ff00258000ff0060199aff0012199aff00223332ff0066
+6666ff0002800008ffff363334078b387a86458885858b769185b88cff0030b3348c
+ff00244ccc8bff0023999a8bff003066668ab88a91918ba0859108458e7a908bde08
+0b8b6a9e78a673a970c575ef8bf7138bf705cb8bf7178be0ffffc28000ff004a3334
+ffff9d8000ff0007cccc0890070bd19fc8bc8bdf8bdd53cdfb1f8b408b54ffffea80
+0043fffff58000fffff4999affffc9cccc84ffffcb199cfffffa6666ffffcb199894
+fffffbb334ff000a4ccd8aff000bb333ff00024ccca5e3bad4f7068b08e1a8584546
+ffffd4800046ffffa680001f708b7b91708b087f7a8777779c86971fa68b9491ac8b
+080bff00718000ff002c80004142305a4b281f3d8b62a972ba7ea57ca56f8b08777e
+7b731f0b8bde9c90d18e91918ba08591080bf825078bde9c90d18e91918ba085915f
+8affffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d1
+889c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc
+8bff002399988bff003066688ab88a91918ba08591458e7a908bde080b4782adac1f
+f78907ff00158000ff0001e666ff0013e6668cff00124ccd8b08ff00809999ff0033
+b334ffffcfccceffff974ccc386c3cfb181f0b8b387a86458885858b769185b28cff
+00354ccd8cff0025b3338ba88bbf89af8b08ff00ab8000ff00568000ff00458000ff
+007d8000ff007f199affffbc999aff0042b332ffff48b3321fffffe6ccce8bffffe4
+9999fffffeb334ffffe24ccdfffffd800008f720078bde9c90d18e91918ba0859164
+8affffcb4ccd8affffd9b3338bffffdcb3338bffffca4ccd8c638c85858b769185d1
+889c868b38080b4c8b6065508b658b7b9b838b088786878372ca6ec61f0bc492a5ae
+1ea106dd8ba3529951ff000b199afffffe8000ff00096666ff0001e666ff00088000
+ff0003999a87c0fffffc8000ff002b8000fffffa8000ff00358000080b8b3b896b1e
+fb12060bffffd4b333ff00006666ffffdd4ccdff0000999a6a8c85858b769185c887
+96878b3808fb4d078b3880884e8685858b769185ac8cff00234ccd8cff002bb3338b
+ff002b4ccd8bff0023b3338aab8a91918ba085914e8f808f8bde080b9f8c9ca298a6
+08b6e5059db0a7a6cf8f0834078b387f88588685858b769185a28cff002533348cff
+0027cccc8bff002766668bff0025999a8aa18a91918ba08591588f7f8f8bde08e207
+cf87a7709d6608b6310598709c749f8a8b8bd58a9f8a91918ba08591648d81937aab
+085ee00572ba6aa3528b088e07b2969cae9ab397aa979ea08b948b93889187918796
+88988b08a19d9e9fa173a26a1f518b7055785c75546d65448b08ca070b8bde978ebe
+9091918ba08591738affffdbcccc8affffd833348bffffd8999a8bffffdb66668c74
+8c85858b769185be8797878b38084c07448b6db175c2080b78ba70c1518b086a7374
+75779d78a11f988b968e918f918f938e948ba08b9778976c9a639c68b28008880752
+8b6a73725c085e36057a6b8183648985858b769185089f8cd58c8b8b080b8b75987b
+a07ba479ac76da8bef8bd9a98bee8bc7ffffe18000b3ffffb9800097088e070bff00
+3c8000a2ff00108000a78bbf8bc563b7268bffffca80008bffffd18000785582087e
+fb0b05ff0008199afffffc6666ff00098000fffffe199aff00096666ff000180009e
+c5a4c5df8b08c29d6a63ffffd6800084ffffd080004b1f788b7a91788b088281857b
+7b9686941f9e8b9691a48b080bd599585f50ffffe980006bffffb980001f528bffff
+f58000a0ffffef8000affffff7999aff00126666fffff56666ff000d999a718b0879
+747c7b1f0b88878d951ff778078bdea094be8e91918ba08591748a528a668bffffdf
+66668bffffd7999a8c658c85858b769185c8889b828b3808fb45078b387b824e8885
+858b769185b28cb38cab8bff0016999a8bff001b66668a968a90ff000dcccdff0009
+4ccdff0013e666ff000a4ccdff0014800008ff009c6666ff0138cccc058e8f89811f
+fb77078b387682588885858b769185a28cff003633348cff0027cccc8bff001ecccc
+8bff002933348ab28a91918ba085914e8e7b948bde08f745078bde9b94c88e91918b
+a08591638affffd7cccc8affffe133348bffffe9cccc8bffffe433348c818cfffff8
+3334ffffed8000fffff6e666ffffebe66682ffffee199a080b9e7d9973797a7d7a1e
+8b888b898c898c888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e
+089b7f9975747b7c7955c26acc1ecbc5abc21f0b8bde968ebe9091918ba08591738a
+658a638b608b688c6a8c85858b769185c88796878b3808fb4d078b3880884e868585
+8b769185ac8cae8cb78bb28bb38aa18a91918ba08591588f808f8bde08e207cf879d
+709d6608b6310598709f749f8a080b638b658c6d8c85858b769185c28798868b3908
+fb4d078b397e864a8785858b769185a98cbb8cb38bb38ba98aa98a91918ba0859158
+90818f8bdd08f76d070bfffffe8000a9fffffe3333ff0019b334fffffb4ccdff000a
+4cccfffffde666ff0004999afffffe199aff00036666838b080b6f80718246828985
+8d7b8d85c18696868b5108fc3f078b3880864e8885858b769185ae8cb08cb38bb38b
+bb8aac8a91918ba08591448f808f8bde08f700078b98ff0003cccdfffffeb333ff00
+0a3333fffffbcccdff00188000fffff6199aff001ee666fffffa6666ff001f999a8b
+c38bbd9cb4b2bab9a6c98bdc080bf540ed251effffd180008b58ffffe18000ffffd8
+8000ffffd38000fffffa6666fffff9b334fffffb199aff0000b332ffffff8000ff00
+09999a080bde9b2037347b30341f768b759175ab08f7b507a1aba495a18b080b8b39
+7e86548785858b769185080b8a9dfffff0cccc90fffff233348effffe94ccc90ffff
+efb334918bdb08f74d078bdd9890c28f91918ba085916d8a658a638b638b6d8c6d8c
+85858b769185be8695878b3908fb6d070b8bde968ebe9091918ba08591738a658a63
+8b608b698c6a8c85858b769185c88796878b380860072da066e81eca8bbdafb4a908
+3e078b3880884e8685858b769185ac8cae8cb78bb68bb08aab8a91918ba085914e8f
+808f8bde08f74d078bde968ec89091918ba08591698a698a5f8b648b638c748c8585
+8b769185be8796878b38084307696d6770578b084a88add91f0b39597e565a7a95ae
+1ef728d207d6a25e561f0b8bdf968ec89091918ba08591698affffddb3338affffd4
+4ccd8bffffd4b3338bffffdd4ccd8c6a8c85858b769185c88796878b3808fb4d078b
+3880884e8685858b769185ac8cff00234ccd8cff002bb3338bff0028999a8bff0016
+cccc89ff0028999a8b08f70fceaaf6e939a6261f43060b56d664ebf3ebd1f735f70d
+ffffc88000ecffff6e80001e598b577c5787080bfffffab333ffffd9b3348962ffff
+fe4ccdffffd74cccff00084cccfffffb4cccff00078001ffffff199aff000a3333ff
+0001999a9dcbacb7d98b08ff00538000ff00298000392f1f8889050b709b6f976c8b
+ffffe880008bffffece666fffff96666ffffedcccdfffff7b334080bffffefb333ff
+fff88000ffffefcccdfffffa6666ffffee4ccd8b7d8b7e91848b08858981877dbc79
+b81fff001866668bff00114ccdff0005199aff000fcccdff00069999080bff000ee6
+66ff00064ccdff000e66668fff001333348b998b988798868bfb0b6652328b618b73
+a17ea6080b7cab7d90798b08787d7e7b1f0b9e7d9973797a7d7a1e8b888b898c898c
+888b888b88087576776e6d77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b
+7c7955c26acccbc5abc21e0b570760724527fb0958f72ff72bf744cef70ade9f9d7d
+7e1e8b7c85848b7308719f71afb292aca8bd5ebb3cfb20fb04fb2afb49fb2cbffb4f
+f75c1ef28bb0b3aabc089106aa5ab063f28b08f75cc0f74ff72cf749fb05f72afb20
+3c5e5b596e926ab2afa0a5a51f8ba384928b9a08989d999fdecffb0afb44fb2b57fb
+2ffb092771d1b61ebf07a7999bb41ea506908e8e901f8b9e898d058b2e896764348d
+8b1e89898b7805868f888f1ea606b29a7f6b1f0b6c0766844b452e7bf717d4f700a7
+e1d8998f86831e8b868a86898888888a858b840878997d9e9f9a9ba0a974af4ffb01
+442efb1626c9fb16f7071ed98ba9b29bb2088e069b64a964d98b08f708c8f716f0f7
+1644e8fb014f74676d769a7b9f9f99999e1f8b928991898e898e89908b9008938f90
+99d9a635fb00427bfb172e4584cbb01eaa07a8959aac1e9e068f8f8e901f8b9e898d
+058b47896467478d8b1e89898b7805868e88901e9e06ad947b6f1f0b4365665a7f6f
+81a663be45ae08f70df772050bff007933348bff00641998ffffa34cccff000f999c
+ffff546668ffffdf9998ffffe96666ffffd2b334fffff3e666ffffe0cccc8b080b4c
+8b6dba298bffffdbb3338bffffc4999afffff26666ffffd8b333ffffe2666608ff00
+00333407f766eee0ee1e0bfffffab33407fb473522fb061effff8f199a8bffff9519
+99ff005d6666fffff0b333f73aff0022cccdff0015ccceff0033999aff0004ccccff
+001cb3338b080bd68ba35de78bff0025999a8bff0031999aff000b4cccff0029cccc
+b1080b3a8b71464afb4f8b8b4ffb3a68fb00086ee3fb11f7f805899389918b91080b
+9b9795af1ea606908e8e901f8b9e898c058b328a68643d8c8b1e898a8b7805868f88
+8f1e9106b28b9d7a956e08f759fcc505907c9483968b958b9693919accf768caf73c
+8b8b080bd7f7719b95a38ba28b90808b828b7c78808b7b0875997ba4a69fafa31eb3
+62af621e0b998f87821f8b7c808a8b7a08759e7da3a797a4a3b36aac631e478b6966
+6bfb030851fb597fb435f76e05859987938b92080b8b9594919f8c089c068e918c92
+1f8b9e878d058b4e896469568d8b1e88898b7705879088901e9606a98b957d986908
+f71cfbed05907f9282988b958b9394919908e0f7ab059ecca8baa98b080bffff6a4c
+cc8bffff9b199affffa96668ffffda3334ffff7e333208fffff2333306ffffbde667
+ffffc9333395ff002a999aa7ff001ae667ff00154cccff00166666ff00143333ff00
+0e80009eff000fb334ff0011e664fffff18000ff000b4cd0fffff16667ffffd21999
+ffffceb334ffffc5b330ffffc03334ffffba999ac479ff004c33331fff001fb33306
+0bff000b999affffec999807ff00156668ff005f7ffeff00476666ff0056e668ff00
+65e6668bed8bdd4aaafb15080bffffbb33348bffffaaffffffffcc199affffdf6667
+ffff9f199affffcb3333ff00016666ffffd63333ff000a4ccc8bff0023199a08a4a3
+9e9f9d989c999b7e957e625f57524dbe7bcf1eff0001cccd060bff00146666ff006b
+4cccff0043e666ff0008b334ff0017999a8bb18bb8768b378b8287fffffb333480ff
+ffffcccc08fb1afffffdcccc8bff00053334050bd58bff00318000ffffc64cccff00
+0c6666ffff943334080bfffff2999afffffae666ffffefccccfffffb999affffefb3
+348b080b658b759f5e8bffffe0cccd8bffffd49999fffff4e666ffffea999afffff4
+333408ff0001e66607e2a0e4e51e0bff00008000fffff6e666ff00003334fffff699
+998bfffff64ccd8bfb124a6c5c8bffffa3999a8bffffdaccccff00638000fffff8e6
+67ff004c3333ff000bcccdff0001b333ff00163333ff0004999aff0009b3338b080b
+ae8bad6fb68bff0021199a8bff00246666ff0011999aff0016ccccff000d9999080b
+789b7b9e9e9b9b9e9e7b9a78787b7c781e0b789b7b9e9e9b9b9e9e7b9a781e787b7c
+781f0bccffffd2b33306fffff54ccdfffffa3332fffff8b333808bfffff3199a0878
+9b7b9e9e9b9b9e1e8bff000c8000fffff9199aff000ab333fffff5e666ff0005e667
+08ff002de666cbb5fb38070b8bb76597719237a5b097769b8b8b6a838b468b64a372
+bb7fffffe24cccffffda6666ffffee199affffd3999afffff5e666ffffd1999a08ff
+fffeb334ff00016666fb4ef762057c9c82a28aa8087e06747280708b708b6c986da4
+6e08ff001e8000ffffde6666050bffffc4e666ffffd9199affffec999affffb16666
+8bffffce199a080b8b60b04b8b6d8b7b797d7c89878a88878b878b898c898c8908f0
+06a3a4a9ab1f0b8bc828c88bc78bff001a3334ff0008cccdff00303332ff001eb333
+ff0014ccce08ff01028000fffee2cccc059a7a94768d72ab8b9ab68baa8baa7ea972
+a808ffffbe999aff0046800005fffff7b332ff000f4ccdfffffbb334ff001099998b
+ff0010999a8bad9bb5b1bda3899265968b088f9abeaa1f0b2006708b7ca186a2088b
+5a824362a86dbc1ff72e06dca17dfb301f8b4d8064826108fbc68b7327f8288ba2ef
+398b05b2c38fd98bc208f72989ddfb3c1e0b8bb193d88bb08bc86196618b728b6a8b
+84ad8b8b5f818b478b56c6819e88080bbe84ab818b2a8bfb1d5c6321787586837586
+718a858b868b868b7d8e808b8508f70e8fd5f72e928b050ba95a89fb07b98b91948d
+998b988b9789988995087bdf54cf8bda080b8bf700e0738bde08b7729d5e1efb7206
+708b7b9685a2088b61854162a477bd1ff78c06525e6f448b31080b8b5b8f5c8b4c8b
+76877a837f089606a3b792da1f8bd180ce8bd0080b85f7f7058bed6c915494768f67
+9186a98b8b58828b538b62ae6bbc83c083a47f8b52080bcdae95e68bb58be6799e45
+8b6c8b688b86b18b8b61868b488b5faa71c189bc89a9788b6a088b5d81646871080b
+6c8b716d80537d4a82688b798b7a9787908b938b9599b7cfabbca2b18ba38ba56c91
+7f8b080bfb81078b718b80897c089987059192939491939b7da481a98b08ccc1d0d5
+cf66c94d1f718b7482727b08c507b58da58b1e90898d851e7b845d837189088c7905
+898d8a8d1ea08a05989184611f0ba09b9791a58b08a9a965422effffd780007fffff
+e88000756a98bf1f0bfffff7b33373ffffd84ccd62758b08ffffe28000ffffe08000
+9bdbd5acb0ad1fa48ba2779b78080bff0004199aff0007b334ff0000e666fffffa4c
+cc8b888b6f8d7e8e848c888c88908b080b9c939f91b6918c8f89998a8f6a8e82908b
+b308f76c07b58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a0598
+9284611f5d077b9a7a96678b083e64433b1f0b48af59ca1ea38bb39e9cab080bfb0c
+8a05ff0004cccdb3a9afff001c33338ba38bff00214ccdfffff58000ffffffb333ff
+ffbf8000080bf70c8c05fffffb3333636d67ffffe3cccd8b738bffffdeb333ff000a
+8000ff00004ccdff00408000080b97969599977e98721f758b79827b79080b829178
+946e8b578b56698b528b6a9c789c7b080bffffe780007bfffff68000738b768b7598
+ffffed80009efffffb8000080b6c7778748b710855c27db8dae2a7ce1e8b9f829a7a
+9a73a1628f758b818b7c897d8a828a848a888b080b7a7890a51f8b988d9692959983
+9d87a28bbe8bc0a98bc78ba8809a7a9e8e919193928b948b91888e85088d84918695
+8b080b91889589928b928b948c948b938c938b948ba98bff000f3333fffffa6666ff
+0010cccdfffff6999a080b9cfffff6800096fffff780008b7b085e4e875a76568fb9
+1e8ba08d979e9d080b4d7087755a83b7abbb9c9aab1eb09f74591f0b7a8376856085
+8a878d7d8c87ac8894868b630820078b627e88638986838c7c8f85a98ca28ba28ba4
+8b928ba98a8f928b998793698d888e8bb408ef078b9390948f90080b4e6c6d6e6264
+b4d9daff001dcccda9ff00223333b5ad513c1e0b7a83778560858a878d7d8c87ac88
+94868b6308fb7e078b627e88638986838c7c8f85a98ca28ba28ba48ba08ba98a8f92
+8b99879308698d7a8e8bb4080bff00068000a6ff002f8000aea48b08a7a27b422e67
+74741f758bffffdb800090fffff38000b3080bd006908bff00084ccd8cff0000b333
+91088d9d05ff00004ccd8efffffdb3338c888b080b3bea06657e8b80055c80736689
+8a8a891e897305ffffffcccd89ff000133338b8d8b080bb3fb4b065fa07aa81ea78b
+ac93a5a6087b9c057b7f778b7b8b087c859db11f0b9c939f91b6918c8f89998a8f6a
+8e82908bb308f70007a08dbe8b1e8d8a8d881e888a818a828b778b788c748c87878b
+7c8f87a98993828b5d08fb09070b78757477768b086d779bbe1feb07a08dbe8b1e8d
+8a8d881e888a818a828b778b788c748c87878b7c8f8708a98993828b5d080bc9a7a4
+afaa9e77661e8b7782676b840873067a8389808093889c1fab060bae869e618b5c8b
+517d6c678b798b7a8e7ba00874808b87059873a881a68bd48bb3bd8bcd8bc577af46
+98080bbf9e97a68bad8bbc64a8508b5f8b6f7b756a787086718b62088bfbe6927db4
+9f050b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e0ba68da68b1e90898d851e7b84
+5c8371898a838c848f85080bab8996908b5608fb01078b627e88638986838c7c8f85
+a98ca28ba28bff0018b3338bff00154ccd8ba98a8f928b99879308698d7a8e8bb408
+0b250748a872b81eb08bff00204ccdff001b6666ff000cb333ff0011999aff00034c
+cdff00048000ff0001b333fffffd80008b888bffffedcccd8dfffff333338e848c88
+8c88908b080bac88ff00033333fffff46666fffff1cccdffffdf999a08ffffd1199a
+ffff94999a05fffff3e666ffffe54cccfffffd8000ff00004ccefffff4999aff001c
+7fff08ffffd5e666ff00694ccd05fffff34ccdff001f999affffff3333ff000c6666
+ff002080008e8f8f8b9a878f748affffeecccd8affffe633338b758b818c748c8787
+8b7c8f87ac87ff0001e666fffff4199aff000f199affffdce66608ff004f6666ffff
+46cccd05ff00044ccdfffff6199aff0003199afffffb3334ff000819998bff000633
+348bff0003b333ff00051999909608ff00533333ff00b6cccd05ff000de666ff001e
+999aff0007999aff0011e666ff001f8000ff000380008f8f8b9a878f7d8a808a7b8b
+748b7d8c748c87878b7c8f87080b355f434242b34ee01fb88baaa3a4ae08789b0577
+757876658b758b739a7da27f9e87a38ba48bdcb5acaa8bb18b90738d758d7b988499
+8b089996949fad6aac4c1f0bc3d46d2536506d381f41060b71a371a3a7a3ff001ae6
+66ff0015199aa376a7701e736f73731f0b71a371a3a7a3ff001ae666ff0015199aa3
+76a770736f73731e0bfffff54ccc8efffff56668ffffff4ccdfffff54cccfffffdb3
+336e5d5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e6
+66ff0008999aff0008199a90920867b35fc06eba080bfffff54ccd8efffff56666ff
+ffff4ccdfffff54ccdfffffdb3336e5d5d556763918292859489b2a1aca8ababa96c
+ae6fb173ff00096666ff0001e666ff0008999aff0008199a90920867b35fc06eba08
+0bffffe5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff00
+76999affffc8800005ff00103333fffff81998ff000ab333fffffd6668ff00063334
+8bff000633338bff00054ccdff000633348b928bff0006333488ff00054cccfffff7
+800092080bffffa08002ffffb44ccc0581fffff81998fffffe8000fffffb999c8bff
+fff9cccc8b84ff0004999afffff9ccccff0006e6668bff0006e6668bff00094cccff
+00029998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012
+ccd0fffff0199cff000f4cccffffe9e664ff000bb334080bffffc5cccdffff974ccc
+05fffff9b334fffff4b334fffffd8000fffffc99988bfffff6199c8bfffff9ccccff
+00056666fffffab334ff000566678bff000566668bff0006199aff00039998ff000b
+8000ff000d333408ff00589999ff005fe668fffffdb334ff0009b33005ffffee4ccc
+ff00136668ffffec3334ff0000ccccfffffb19998b08fffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080bfffffeb333ff001db33489affffffb4ccdff
+000a4cccfffffde666ff0004999afffffe199aff00036666838b080b6f8071824682
+89858d7b8d85c18696868b5108fb57078b397e86548785858b769185a98cb18cb38b
+b38bff001ecccd8aa98a91918ba08591ffffcd333390808f8bdd08f738078ba094ff
+000c4ccc93ff0008b334080bff0027999aff0026b334ff00258000ff00144cccff00
+1ee6668b08b1a773481ffb42078b398386558786858b769085a48cb08cb38bb38bac
+8aa48a90918ba08691598f82908bdd08f733078b998b998a97bbc0b898b28b08b1a1
+75481ffb44078b398186578786858b769085a48cb08cb38bb38bae8aa78a90918ba0
+8691548f82908bdd08f73207e47cd1331effffcccccc8bffffc24cceffffed3334ff
+ffcbe6665488fffffccccc858689ff0008999afffff68000b4ffffd98000ff002066
+66578b518bffffcbb333ffffdd999affffd64ccdffffd16666fffffb6666fffffae6
+66fffff9199afffff9199affffff800097080b72a076a4a4a0a0a4a476a0721e7276
+76721f0ba89aaed3d0d074fb131e0b7d877f831f7e07868c8a8f1e0bc6fbc10644aa
+6fb91eb98bbda1b2b789ff000a4ccd85ff0005b333818c71776d83718b087085a9c9
+1ff791f30795998f941f9f078f888d861efb0cb206cc8fb38b1eff0006666888ff00
+026664fffffb4ccd1efffffb80008bfffff78000fffffc199cfffff6b333fffffae6
+64fffff4b333fffff9b334fffff5cccdfffffbb334fffff38000fffffc80007fffff
+fc999881fffffc999c8bfffff919988bfffff466688eff000699988bffff91199a08
+0bfffff63334ff000d6666fffff9ccccff0009999a8b958b94ff0000e666ff000933
+34ff0009199aff000bcccc08f71df74505ff0022b334ff002ce668ff001f9998ff00
+0cccccff002cb334ff00044ccc91918ba085916d8a668a748b748b618c638c85858b
+769185ff002c4ccc88ff00123334fffffa6668ffffe88000ffffde999808fb0ffb43
+0585fffff7800085fffffc8000878b888bfffffbcccc8ffffffb33349208ffff9180
+00ff00a3cccc05ffffe3cccdb3fffffbb333ff000b3334c38e91918ba08591668a66
+8a638b648b6a8c6d8c85858c769185b588ff00128000fffffab334ff00293333ffff
+c54ccc08ff008e4ccdfb5f05ff00083334fffff44cccff0005ccccfffff7b3348b81
+8b85fffffbe666fffff6e666fffffa199afffff8199a08fb28fb5a05ffffddb333ff
+ffd2199a6bfffff43332ffffd34ccdfffffbb33485858b769185a98cb08ca28ba28b
+b58ab38a91918ba08591ffffd3b3338effffed199a90ff00183333ad08f718f74d05
+ff0005b33493ff00064ccc918e8b8f8bff0004666688ff0005999a8308ff007b8000
+ffff50333305ff001c4cccffffd7b332ff00043334fffff5199a538885858b769185
+b08cb08cb38bb28bac8aa98a91918aa08591618effffef6668ff0009b333ffffd599
+98ff003a4ccd080b9b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a
+8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97
+9c969b968ba1080b9c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a
+8d8b8f089090919ea09381741e8b7f867f837f807a7e758a6908a7068da5959c9c9b
+089b9b9a9b8b9f080bffffa93334ffffbb333005fffff6e668fffff8ccd0fffffe99
+98878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064c
+ce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405
+fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab334080bffff
+eb199a8bffffed4cccff00069998ffffee6668ff000b6668080b75ff000d4cccffff
+e7cccc9e6a8bffffd0b3338bffffe6b333ffffdae668fffff0999a53ff0006999aff
+fffa4ccc96ffffff1998ff000c1999ff0001e66896ff001f4cccff000b0001ff000e
+3334ff001c99988bff0012b3348bff0014e666fffff88000ff0013cccefffff58000
+080bff00171998fffff2b334ff0017199affffeee664ff001833348bff0032999a8b
+ff001fe666ff0025199cff000d3332c4fffff96668ff0003cccc80ff0002ccccffff
+f3e6668a08fffff0999affffd8199cfffff3e666fffff69998ffffe7cccc8b080b9b
+7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1
+997f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba1080b
+ffffcb199affffa0cccc05fffffa4cccfffff5b334fffffdb334fffffce6648b828b
+fffffa6668ff0004e666fffffb3334ff0004e6668bff0004e6668bff0005999aff00
+033330ff000a80009708ff00508000ff00573334fffffde666ff0008cccc05ffffef
+e666ff0011999cffffee199aff0000ccccfffffb80008bfffffc80008bfffffbccce
+ffffff3334fffffde666ffffff3334080bfffffd3334ff0000ccccfffffbcccdff00
+00ccccfffffc80008bffffe833338bffffefe666fffff26668fffffa6667fffffb33
+3008fffffe999afffff73334ff004fccccffffa8cccc05ff000b33327fff0004e667
+87ff000433338bff0005999a8bff0004e666ff0004ccd08b8f8bff00059998ffffff
+4ccdff00059998fffffc800093080bfffff54ccc8efffff56667ffffff4cccfffff5
+4ccdfffffdb3346e5d5d556763918292859489b2a1aca8ababa96cae6fb173080bff
+00096666ff0001e666ff0008999aff0008199a909267b35fc06eba080bff002cccce
+ff002bcccdff00144cccff003ee6668bff003d4ccd8bff003c999affffecb334ff00
+426666ffffd19998ff002ccccc080b696185801efffff8cccc8bfffff9999aff0000
+4cccfffff9999aff0000ccceffffe3e6669affffdd999aff0008e666ffffd680008b
+ffffbe33338bffffc9b33370ffffdb666760ffffdbb333ffffd5666678ffffc5ccce
+8bffffc0cccc080bff002accccff00046668ff00253334ff001dcccc8bb6080bba7c
+b0656e777c731e8b77987ba086ff000d9998fffffcccccff00066668fffff933348b
+828b767b86388b5e8b778c598c85858b769185d6849c8a8b3808fb8a07fb047cfb1a
+fb3d1e5b8bffffd7199aff0015199affffe1e666ff001ce6665aba89d78bcc08f792
+078bde9a90d88e91918ba085915a8a6a8a568b5d8b748c598c85858b769185c7889c
+868b3808fbb307fb60f72461e5f761bcf713f7461ef778078bff003f333494ff0013
+ccccabff0002cccc080ba19dae9ac89291918b9a85914b90829e8bbc08f754078bff
+0013ccccff0001b334ff0026999aff00013332ff0017e666ff002a6666ff00098000
+ff0011b334ff002133348ba508ba72b4656e7a7c731e8b779975ad8a9e8a93828b80
+8b80757d7889088a0784ffffff666681ffffff999a818b6b8b678c698c85858b7691
+85bc88987f8b4908fb55078b7889837d7f080b657565681f8b719a3fe687088f9c05
+619379b08ba208968f9292b490a49c1e9b809d671e0bddfb1b058d888c89908b0895
+9092908c8a8e8b1f64f72c0588968192798b748b7d7a8b7b8b878c868d87080bf711
+f787057e8b76867c8b7c8b79907c8b08ffffd08000fb1405fffffd3334fffff88000
+fffffe6666fffffb8000fffffdb33295ffffec3334e2ffffd88000bbffffb680008b
+080b30fb1150fb4cfb10c139f7141fcf8bb9b4bdee089464050b818b7a87877b086a
+fb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f8b9683a16e8b08
+0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c8f
+8b8f8b9683a16f8b080b638b76ba548b628b766a7e54080b96a9999ba08b080bb18b
+aa5db58bb68ba5a997c3080b7592057e697d7e778b080b758b848eff0003ccccff00
+0a4ccc08ff00663334ff0102b334918be9fba4050bc2f725059098918fa38b08f767
+8bc5fb3d05ff000bccccffffdd8000ffffd9ccccfffffce666ffffd06668fffffc99
+9a85858b769185b08cc28cb28bb48bb18aae8a91918ba08591ffffd93334ff000380
+00ffffde3334ff00034cccffffee9998ff00303334080b657565681f8b719a3fe687
+088f9c05619379b08ba2080b968f9292b490a49c1e9b809d671e0b818b7a87877b08
+6afb2f8b8a05888d81971e0b8e8b8f8c8c8f08d7f71f050b8d8f8c8f8b8f8b9683a1
+6e8b080b8bde9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c
+5f8c85858b769185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591
+658a628a588b598b628c658c85858b769185d1889c868b3808fc25078b387a864588
+85858b769185b78cff00304ccc8cff0025b3348bff00244ccc8bff0030b3348ab78a
+91918ba08591458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88c
+ff002fe6688cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e
+7a908bde080bffffdab3348bffffd04ccc8c5f8c85858b769185d1889c868b3808fb
+34fbeaf734078bde9c90d18e91918ba08591080b598b628c658c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b78cff00304ccc8cff0025b3348b
+ff00244ccc8bff0030b3348ab78a91918ba08591458e7a908bde08f75bf7eafb5b07
+8b387a86458885858b769185b88cff002fe6688cff002519988bff00254ccc8bff00
+2fb3348ab78a91918ba08591458e7a908bde080b8bde9c90d18e91918ba085915f8a
+ffffd080008affffd980008bffffde80008bffffcf80008c5c8c85858b769185d188
+9c868b3808fc25078b387a86458885858b769185b88cff0030b3348cff00244ccc8b
+ff0023999a8bff003066668ab88a91918ba08591458e7a908bde080b818b7a87877b
+086afb2f8b8a05888d81971e8e8b8f8c8c8f08d7f71f058d8f8c8f8b8f089683a16e
+1e0b808b7a87877b086afb2f8b8a05888d81971e8e8b8f8c8d8f08d6f71f058d8f8c
+8f8b8f089683a16f1e0bf763fb23f70efb47ffff3e4cccffff8eb334ffff65e666ff
+ff3e199afb59f723fb0ff73e1eff006ecccc8bff00588000ff002fb333ff0036e668
+ff004e4ccdff0027ccccff0038b333a1ff00484ccd8bdf080bff0087b334078bff00
+1dccccff00011998ff0010e666ff00106668ff001d999a08ff00778000f76c050b8b
+f7082de72db8fffff2e666fffffd199affffff199a7f8afffff7e666f33c9c2e8b42
+8bfb026e66438b638b68ae6dd0080b9ab094c28ba308a38898707180686c1e8b778d
+66986a6c44746d668b418b70d18bf7048bf70ebcbaccb48aff00094cccfffffb999a
+ff0009b334fffff866668ffb055b45398bfb0a08fb17db42e51ec48bacaaa6d3a143
+b36cbe8bf70e8bcfea8bf3080bc48bacaaa6d3a143b36cbe8bf70e8bcfea8bf3080b
+568b788886c0fffff7b334ff0003999afffff79998ff0000b333fffff7b334fffffb
+b3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f83
+f714050b657565681f8b719a3fe687088f9c050b568b788886c0fffff7b334ff0003
+999afffff79998ff0000b333fffff7b334fffffbb3338b62ff00024ccdffffd83333
+ff0004b333ffffd9cccd08f76906969191941f83f714050b818b7a87877b086afb2f
+8b8a05888d81971e8e8b8f8c8c8f080bd7f71f058d8f8c8f8b8f8b9683a16e8b080b
+7e8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b
+8e8b8c8a8c8b8c084df726058990878f858f868d868c868b08848b858a8687080b7e
+8284808b7e8b868d878e8708f0fb0f058d898e8a8e8b8e8b8f8c8e8e8d8d8d8e8b8e
+8b8c8a8c8b8c084df726058990878f858f868d868c868b848b858a8687080b6d7d79
+7b7b9075b41f0b9391837e1f8b747666618208907a05d193abc98baf08af75b0651e
+0bfb790751ad71b81eb68baa9a98d0087390058668827b728b0876829fc91f8bf761
+809c050bc2f725059098918fa38b08f7678bc5fb3d050bff000bccccffffdd8000ff
+ffd9cccefffffce666ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb1
+8aae8a91918ba08591ffffd93334ff00038000ffffde3334ff00034cccffffee9998
+ff0030333408fb62f8d0057c8270807e8b08fb77fcac05714dffffe1800085ffffd4
+80008885858b769185a58cff0020b3338cff001e4ccd8bb48bbd8ab08a91918ba085
+91ffffda6666ff0002999a5cff00044cccff000f999aff0029199a080bf825078bde
+9c90d18e91918ba08591628a588a658bffffdab3348bffffd04ccc8c5f8c85858b76
+9185d1889c868b3808fb34fbeaf734078bde9c90d18e91918ba08591658a628a588b
+598b628c658c85858b769185d1889c868b3808fc25070b8b387a86458885858b7691
+85b78cff00304ccd8cff0025b3338bff00244ccc8bff0030b3348ab78a91918ba085
+91458e7a908bde08f75bf7eafb5b078b387a86458885858b769185b88cff002fe668
+8cff002519988bff00254ccc8bff002fb3348ab78a91918ba08591458e7a908bde08
+0b568b788886c0fffff7b333ff0003999afffff79999ff0000b333fffff7b334ffff
+fbb3338b62ff00024cccffffd83333ff0004b334ffffd9cccd08f76906969191941f
+83f714050baaa1a0a71f8bff001f800071ff00098000798e788d7a918ba28ba0afb9
+bf988b95899284924f80515b8b45084fa564b31e0bffffd8000171644f1f8b45c75b
+c780ff0006cccdff0005e666ff00019999ff00093334fffffc999aff0009e6665798
+69b88ba08ba29c919e8d9d8ea5ff000980008bff001f800008a775a06c1e0bffffd8
+0001ffffe5ffff644f1f8b45ff003c00015bc780ff0006cccdff0005e666ff000199
+99ff00093334fffffc999aff0009e666579869b88ba08ba29c919e8d9d8ea5ff0009
+80008bff001f800008a775a06c1e0bd55b9d653f53373f4daf5dc1dfb7f704cb1e0b
+7179a5b3cbbad9b89da67c5c57682d511f0bb1b6b0bbbfda88958193808c3c35595b
+535a087f07c35abd5bda35968c95938e9557da66bb65b6080b6560665b573c8e8195
+83968adae1bdbbc3bc08970753bc59bb3ce1808a81838881bf3cb05bb160080ba9b3
+a3c4c4b1524a1e8b5c7c6e6366080b4a5086508b60085d078493889393948e921eb7
+078ba38ca398a4949c9f9ba29cbaadc9b78bda8be649c7258b568b617d6e726d7376
+6f8b650868a4839b9e9f97a21e8b9889918790879089918b9a080bbb9a42553e853e
+505583d9c3c08de9c91f0bff00434ccdff0039b333bcf70bf70dffffc64ccdb3ffff
+bfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0bffff744ccc
+2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff00308000080b
+8b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff00
+1266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e6
+68fffff3999aff00011998fffff9b3331efffffcb3338bfffff6b333ffffff8000ff
+fffee667ffffff4cccfffff0b333fffff6e668fffff49999fffff4cccc82fffff580
+00ffffdce66762ffffd43333ffffcbccccffffdeccccffffca3334fffffc999affff
+fa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffae667ffffebcc
+ccff001a99998b08ff0076cccd060b627a685e1e758b80928294839383927e8b0881
+7f837e73c77eadd0bcc0c7c167bf3d1f7d8b728682850897dcf71b8b8b8c90adfb37
+8b75fb239188059992a092a18b08d38e506d1f0b6584695f6f63a2df1e8b918b938c
+90a09ca191998b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e
+07fb2d8051248b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4
+c4f70ec0e608fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b08
+0ba4a37d701f8b6e766f7b8208779505669f88a28b9a08a9a394a31e0bb35ca65e56
+5b6e5e1e8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79
+a46c9c0864a005c6ad8fa98b9a080ba87d05b3778c718b720862717f67736496b81e
+8badb2b29b94080bb192adb7a7b374381e7707757a75867d8b085386c1a11f0b7a94
+3cec1ea48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593c6f4a
+671e0b8b43aa4be551089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b
+44080b8bd25fd83ebc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8b
+d3080b326340444bba47dcff0053199aff002ee666d1ccff0048199a66ff0046e666
+2f1f0bb58da58b1e90898d851e7b845d837189088c7905898d8a8d1ea08a05989184
+611ffb80078b76fffffe999a88ffffe866668808838a05878b88891f79078bb08ca3
+a5b38a8b1e9d078f888c891e808c05ffffee199aff0001999afffff8e666ff000466
+668ba008f71d079ea2a0a1a08b08a99f7a581ffb06078b76fffff9cccdfffffbb333
+ffffed3333fffffe4ccd08808a05878a88891f79078bb38ca4a3b18a8b1e9d078b8d
+8a8d878c08858c05ffffec3334ff00034ccdfffff9ccccff0004b3338b9e08f71007
+ce6da45e1e678b68687d7b080b8b627e88638986838c7c8f85a98ca28ba28ba48b96
+8ba98a8f928b998793698d848e8bb408ff0036199a07ff0003cccdff00013333ff00
+034ccdff0000b333ff0002e6668b9a8b9280948008b84b05977a8d878b85088b7b8d
+89058b9b8ca1a3b08a8b1e8d8d8ba1058b8e87ff0001999a87ff00006666ffffdf80
+008efffff380009c8495084ce805898d8a8e8b8e8b8dff0000199aff0003e666ff00
+01e666ff0002199a08b1b405ff0016199aff0017e666ff00156666ff0005199aff00
+1880008e8dff000033338fff0001cccd8b8e088b9f898c058b638a73756d8c8b1e8a
+8a8b77058b898dfffffd4ccd8effffffb333ab88fffff0b333fffff14ccdfffff84c
+cdfffff7b3330872ffffe6800005ffffeacccdffffea666679fffff66666ffffea33
+33fffff7333408ff0096800007b58da58b1e90898d851e7b845d837189088c790589
+8d8a8d1ea08a05989284611f0b9ea29d9da08b08aa9a7a581f2c078b628988698987
+838b7d8f84a98cff000733338bff0017cccd8bff00234ccc8bfffffbb3348ba98a8f
+918c9a8693ffffe18000ff00028000fffff88000ff000280008bb408f4078b91ffff
+ffccccff0005b333ffffff999aff00056667ff0012199aff00156666ff0013ccccff
+00138000ff0013b3348b08aaa47a581f2c078b628988698987838b7d8f84a98cff00
+0733348bff0017cccc8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d838e
+8bb408f407ce69a45d1effffdccccc8bffffdcb334ffffde8000fffff16666ffffee
+999afffff76666ff00246666ffffe9b334ff000e8000688b678bffffe74ccdffffec
+4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba7899888928a8e
+8a8e868b080b9ea2ad9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98c
+ff000733338bff0017cccd8bff00234ccc8bff0005b3348ba98a8f918c9a8693638d
+838e8bb408f407ce73a45d1e678bffffd74ccdffffec4ccdffffe7b333ffffdcb333
+86fffff8b3338bff00054ccd8b8e8ba7899888928a8e8a8e868b080bd707997faf83
+9f8b08ccbcdbd5cf68b3511f6e8bffffd98000ffffe68000ffffed8000ffffe88000
+fffffab333fffff93333ff00004ccdff0004cccd8b8e8ba7899888928a8e8a8e868b
+080b5592fc95fd7dc083050b7656645a788b086a8bb2aecdbdefbf9e9773711f8b82
+845f7d68080b808d77ac1ead8baa9eb3b408779c057d7a7e81848b888b898e8b928b
+918d948e9808bcf7655b8b736905849e7d9a698b0840232526669f52cf1fa18bab98
+a8a7080bc68baea9abaa0870a105716e64767c8b087b6c98d5eabec4b6909a87771f
+8b78898d8b7e0880917fa795aa93a4ab73b0443a3039fb0062b649cc1e0b82668675
+8b758b6da17ca18bb08bb4a4c6d108769c05696377787b8b848b88938b958b958d9c
+94af08b5f735050b4e6c6d6e6264b4d9daff001dcccca9ff00223334b5ad513c1e0b
+8b617e68776f73695c7a408b0858f7bc06a390a78eae8b08c8dd6dfb0a1f0b8bff02
+4e80009bff00008000058d8c8d8b8e8b08a58e7a6e1ffc8a076f8a7b621e0b8b6270
+715f85fffffd4cccfffff6e666ffffff4ccefffff4999aff00056666fffff9800093
+8c908c928b080ba3be87524b5f7e6e1f6b8bfffff7b334ff00068000fffffa4cccff
+000b8000859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe0
+8000ff00469998fffff4b333ff001a3334dbc6b9d01f8bc55ca66a8e080ba89ba1a2
+8ba808b06aa15734705b7a888f7c9e1ea28bffffff33349dff0004cccc96929ba793
+9c8b089ba183711f0b958b998e8e9dff00014ccdff0007e668fffffd3333ff000ccc
+ccff00038000ff00084ccc90979794aa8b080b627a685e1e758b8092829483938392
+7e8b08817f837e73c77eadd0bcc0c7c167bf3d1f7d8b72868285080b90adfb378b75
+fb239188059992a092a18b08d38e506d1f0bf85107a8999cb61eae06b59b7d6b1ffc
+51076d7c7a601e6806617c99ac1f0bfbae076e807b6b1e65066c809ba81ff7ae07a7
+969baa1eb106ac957b6f1f0bbe88ff00086666fffff94cccffffee999affffd9b334
+0832fb6f7a607ab935f76e05fffff5e666ff0017999afffffd8000ff0010b332ff00
+1f999aff0003b334089c8d058eff0000666691ff0001199a8bff00068000088b9e87
+8d058b4e896469568d8b1e88898b77058b8690fffffe999a90ffffff6666ff001c80
+00fffffc8000ff00154ccdfffff76666ff000e3333ffffdc199a080bf71cfbed0591
+7c9185988b958b9291929c08f71ef7e7059bb2a293a88e089e06ac957b6f1ffbae07
+0b6b8b60896b8b6b8b608d6b8b08fbb339fb57fb16fb4ff70c2ff74e1fab8bf7038d
+a58bab8bf589ab8b08f74ef70ff1f74ff70267f761fbe31f0bfa5cbffdc606aeb0ad
+c0abcf0864065f5a65666b726b716a766a7b080b6707ac7bad76aa71ab72b166b75a
+08b3066acf6ac068b008f9c5bf060baf076a9b69a06ca56ba465b05fbc086306ac47
+ac56ae6608fdc557060bfe5c57f9c606686669566b4708b206b7bcb1b0aba4aba5ac
+a0ac9b080bd9b2fb058606fb39fd40fb0ef7670569716171667808986fcba5f720fb
+85b19f050b7262414a588b084466ddcdcaabbbcb1fc88bd625a558080b62cd3dce3c
+8b082249242cfb02d259d41fd58be0d9b4c5080b3e7cfb0a6f1e7a8b7daa708b0878
+777a7772a179abedcbe6f7c51ff70b078bca87d38bbd8bf7199fb0a08ba38b8d6aab
+8b08a39f9ca1a4739d6e2151fb04fb8a1ffb17078b3b8d718b3b080bf710f2eff710
+f70f24f1fb10fb0f2525fb0ffb0ff026f7101f0bfca9fba15ef8e1b8fba1f8a9070b
+6e73736e6ea373a8a8a3a3a8a873a36e1f0bc7e7eff746bdf7168795838d818b49fb
+1efb01fb2d4034086a65ac6505d634f701fb2dcdfb1e948b948d8f9559f71627f746
+4fe708888f050b4f2f27fb4659fb168f819389958bcdf71ef701f72dd6e208acb16a
+b10540e2fb01f72d49f71e828b82898781bdfb16effb46c72f088e87050bff00b633
+34ff00000001ff00944cccff009480008bff00b6666708ff00b66666ffff6bb334ff
+0093199affff49ccccffff49ccccffff6d3333ffff6ce666ffff49999affff499999
+ff0092cccdffff6b8000ff00b633341e0bff00a26664ff00834cd0ffff7dccccffff
+5d6668ffff5d6666ffff7b4cccffff7c8000fb35ffff5d9999ffff7e1999ff008380
+00ff00a2999aff00a13332ff0081e667ff0083999aff00a266671f0bffff44b332ff
+ff83cccc07ff00216666ff00356668b9ff0048b332ff002cccceff003d3334080bff
+00e17fff078bb2ff0000e666ff0027b334ff0001199aff000880008bff00031998ff
+fffe4cccff0000199cfffffdb3348b67ffffe9b332ffffddccccffffefe666ffffc6
+cccdffffe566688cfffff899988efffff9e668ff0005cccd87ff001d9999ff000c4c
+ccff000e999aff0003e666ff000c66668b08ff000ab333ff00024ccefffff06666ff
+ffe9e6681fffff2c1999078bffffca0001ffffee6666fffffccccdffffd28000ffff
+fe1999fffffc1999fffffc199a8bfffff24ccdff0003e667fffffc1999ff001fe666
+ff0000999aff00174ccdff0000b333ff002333338bff001ee6668bff000fe666ffff
+ff4ccdff00208000ffffff6666ff0003e668ff0003e6678bff000db333fffffc1998
+ff0003e666ffffd28000ff0001e667fffff4e668ff000333338bc1080b968bff000a
+666887ff0007ccccfffff8e668ff00143334ffffef1998ff00119998ffffce999a8b
+ffffa8e6668bffffc433348962fffff6e668ffffdee666fffff1b334ffffcab334ff
+ffe01998fffffa1999fffff44ccc8b08ffffc3999afffff98000ff006f4ccdff0038
+8000ff009fe666ff0027b334ff001de666ff001d33321f0bbdff004c1998ff0032b3
+33ff0098cccd1f8bff00404cccfffff06668ff00373334ffffe36664ff0025b3347a
+ff00168000ffffe4ccd0ff0013ccccffffdce6648bffffbfb3348bffffc2ccccffff
+b34ccc8bffff7f4cce8bffffbab333ff00158000ffffbe6666ff00238000ffffdc99
+9aff00128000ffffed9999ff00164ccefffff7199aff0019199a8b080bf7ef078bc7
+ff00014cccc8ff0001b334988bff0004ccccfffffd8000ff00003334fffffc80008b
+ffffc8b334ffffddb334ffffcb4cccffffe74ccc3362ff0001999afffff4999aff00
+046666fffff6800094fffff9e666ff002d80009eff00168000919e8b08ff00108000
+ff0003800073691ffbda078b387086458885858b769185bc8cff0023cccc8cff0036
+33348bff002f999a8bff001866668abd8a91918ba08591458e7a908bde080bffffff
+ffffffffdd999a8effff4f3334ff009f199affff764cccff0007b333ff00018000ff
+0006199aff00056667ff00024cccff00061999ffffe6cccdff001d199affffa68000
+ff0069999a8bff00c933328bff00c93334ff005a3333ff00699998ff00188000ff00
+1b8000fffffd6667ff0007ccd0fffffb3333ff00056664fffff74ccdff0000999c30
+3dffffb8e666ffff8033328bffff71b332080b8bff00226668fffffce668ff00b0b3
+32ffff60e664ff0089b332fffff86668fffffe8000fffff9e668fffffa999cfffffd
+b330fffff9e664ff00193334ffffe2e668ff00598000ffff9680008bffff36cccc8b
+ffff36ccceffffa5ccccffff966666ffffe78000ffffe48000ff0002999cfffff833
+33ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473334ff007fcccd8b
+ff008e4ccc080b769e79a09ca9ff0011e666ff0016199a1e8b938991899289928594
+8b9308a4a5afd4afbe722b1e8b4b7457504f0841420529277b5b8b50088bbe8dab1e
+f74306abb9898b1f98c095d68ca985907e8d81897a447a72678b08fb46068bbbd0cf
+909008f0ec05c4c2b6b78bd708f70033b73afb0346394f1e0bfbb4fb5307ff00334c
+ccff00523334ff0046b334ff006f9998d0ff005e3334080b38f7b8068bbdff00004c
+ccff00273334ff0001b334ff0007cccc08898d6b8b05848bfffffab334fffff98000
+fffffc4cccfffffb80004cffffb28000ffff8b8000ffff5b8000ffffa48000fb238e
+7c9170a98b08f7602f068b5d658b608885858b769185ab8cb38cb98bff002766688b
+ff002599988aab8a91918ba085915a8f76898bba08e7d007999a9e97958791801f0b
+2c59454f1e658b7ea47c9f7e9c7a9a768b0878787a7762e069c4f710e3e7f712ec48
+e2fb041f608b66827984089ff73b05b087ab86bb8ba98bad8db48f089bcf848f0552
+855586568b668b678d688e0869fbb405c09fb18faf8b08ccbe60fb011f0bd8f709d9
+f77f1f8bee73e05fc5ffffe5ccccff0022b334ffffd63334ff001e4ccc558b288b2d
+fb0a8bfb5a8bffff956666ff0020e668ffff9b199aff0036b330ffffc98000ff001c
+6668ffffe3999aff00224cccfffff26666ff0026b3348b080b8bff00226668fffffc
+e660ff00b0b332ffff60e668ff0089b332fffff86668fffffe8000fffff9e668ffff
+fa999cfffffdb330fffff9e664ff00193334ffffe2e668ff00598004ffff9680008b
+ffff36cccc8bffff36ccceffffa5ccc8ffff966666ffffe78000ffffe48000ff0002
+999cfffff83333ff0004b334fffffa999aff0008b330ffffff6666e6d9ff00473338
+ff007fcccd8bff008e4ccc080bff00473332ff003d999affffbe6666ffff94ccccff
+ff9d999affffcf33344fffffb8ccccffffb26666ffffc8ccceff00466667ff006266
+67f700c7ff00366666c71f0b77767e84758b086967a0e5d5a7a4ad1fa48ba1779b78
+080b7273057c9c71946e8b083e663f4b3ebf5ecd1fa28b9e969e9b0820078b75ffff
+f56666fffffc4ccdfffff1999afffffeb33308808a0588ffffffb33389ffffff4ccd
+8b870879078bb38ca5a3b08a8b1e9e078b8d8aff0001666687ff0000999a08848c05
+ffffe7ccccff00038000ffffff3334ff000380008b9f08f7e70791898e881e878b85
+868788080bfb4afb27fb27fb4cfb4af727fb28f74af74af727f728f74af74afb26f7
+29fb4b1f0b7f8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea6068e
+8e8a871f76078b578c6965508a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab89
+957e1e0b7e8b6d827c840882a605ba9ca597b6a6089bfb990675977c991ea7068e8e
+8a871f76078b568c6a654f8a8b1ea0078d8e8e8f1eaf069b999aa11ff72c07ab8995
+7f1e0b8b7c886d506908b27605aa7a9d728b6c086b6c51315f489ccc1e8bb0b7afb1
+a0087f9105639e7ca58ba808b8bba8bfb8b96f641e0bff00be8002f72ff72eff00bd
+3334ff00bd3334fb2fff00988000ffff417ffeffff418000ffff668000ffff678000
+ffff42ccccffff42ccccff00998000fb2eff00be80001f0bff00b2b332ff008f3334
+ffff71ccccffff4e8000ffff4e7fffffff6f4cccffff71cccdffff4eccceffff4d4c
+cdffff70cccdff008fb333ff00b00001f744ff008f3333ff008fb334ff00b2b3331f
+0bff009b0002ff007f1998ff007c999aff009b8000f72efb16ff0073ccceffff67e6
+66ffff67e667ffff7f9999ffff8c3332fb2efb2eff007d8000ffff81e666f72f1f0b
+ff008dccceff00749998ffff8db334ffff733334ffff71b332ffff8b6668ffff8d99
+9affff723332ffff70cccdffff8e4ccdff0073e666ff008cccceff008cccccff0073
+199aff00724cccff008dcccc1f0bf7c4fffecfe666ff0130199aff0130199afffecf
+e666f7c4050bf715f4f4f715f71522f3fb15fb152323fb15fb15f322f7151f0bf707
+e82ffb07fb072d2efb06fb072fe8f707f706e7e8f7071f0bedd43b302f433c282843
+dae7e9d6d8eb1f0bf6e13520203435212035e2f5f5e1e2f61f0b7d96809999969699
+9980967d7d80807d1e0b7d96809998979699997f967e7d80807d1e0bedd43b2f2f43
+3c282843dae7e9d6d9eb1f0bedd43d2f2f4339282843dde7e9d7d7ea1f0beadadaea
+eada3c2c2c3c3c2c2c3cdaea1e0b91819587908b928b908c9593088bf739f724cb05
+90948b8e8b918b90859c7d9008fb3e408987050b8bf752898ffb3ed6057d86857a8b
+868b858b88908208f7244b8bfb39059583908a928b908b958f9195080b749e78a2a2
+9e9ea2a2789e74747878741e0b8b66a6598b6a8b78827e738b6b8b7ba87e8b087c81
+837d78ad71bbbbaca8b91f0b95cbb58e988b08a0a67f5c858889861f0b777577816c
+8b086b5aade01ff72a06918f8f91bb79be40555059344aae55d91fb48bada0a1a908
+0b7c977f9a9a98979a9a7e977c1e7c7f7f7c1f0b9c8b9b85978092fffffa3334ff00
+06b334fffff79998ff00064ccc8008fb34fffe7d999a05fffff6cccdff002fb334ff
+fffe3333bf8bff0024e6668bf78ac8b9b88b080bfb1d8bf71cf71905ff003a3334ff
+0038e666ff0018ccccff0028199a8bb98bc862ba268b2c8b4e587a57ff0006e666ff
+fff8199aff000c4ccdfffffb999aff000ecccdfffffd4ccca0c0bca0bc8bb98ba66f
+8b56088b51ffffed6666ffffe48000ffff93999affff99800008fb0322967405958c
+c18ca48b08f72806b38bad8a9c8a90aa95bc9dc582ff0006333382ff0000199a82ff
+0000b333087e6e0573568585528b080bff00524cccff0026999aa2ff0029999a8bff
+0034b3328ba984ff00188000ffffe7b334ff0018999affffea3334ff0016199affff
+dd1998ff0010e666ffffcbb3348b08fb27612b6a7d9577a3ae8fac9e1fcbd097a51e
+0bf747063dfb563cfb5747fb2c089384cf8e05c4f73ec2f73af704f7a5087b97057a
+867585658b08fb62060b698b8d95798f888b8a8b8b888a5b804f8357ff000ae666ff
+fffce666ff000a199afffffeccce96ff00014ccc08a1dbac92ab8b080bffffdf3334
+ffffea6666ffffdf6666fffffe999affffee999a8b082975ebbdf702b5bdbccac469
+fb3f1f8bffffe98000fffffdb334ffffe54ccdfffffa1998ffffe33333080bffffe4
+e666ffffa51999ffffc0666626fb19ffffce33338b7f8f829386f0a9c9b5c3ccc9d3
+aae68bda08f75ffb07b33efb1755fb133535b93ef71c1ea58bff0026e66693ff001d
+ccceff000db333080b82678b648a770860fb5396078bcf90af919ea0dbb5989a8b96
+8b93899b81ae758052bd8b080b768485721e7806888989881f8b808d89d98d050bbb
+8af48b8bfb2705669673ac1ea68ba598a3a7088095057c807d857c8b087b869db11f
+f70ac50792938d911f0b775f7f72568685858b7691859d8ca18ca58bff001acccd8b
+ff002633338aaa8a91918ba08591558f8498a2bd08ff00134ccdff002ab33305ff00
+036667ff00077fff8dff0003cccdff00104ccd8b08f74f8ba05505ff00158000ffff
+c9e666ff00018000fffff8199a558685858b769185ae8cff002680008cff00208000
+8bff001dcccc8bff001d33348aa88a91918ba085915692fffffc999a93ffffe86666
+c508ffff663334ff0179333405fffff0e666fffff7e666ffffed3332fffff78000ff
+ffeb8000fffffd3332080bfb2b06778bff00018000ff000d8000ff00088000ff0013
+800008d5f73d928c050bd98bbba8baca899281ff000ab33383ff00024ccd5d556877
+488b082851f6eef73cd9aed61fdb8bba5f9745958895ffffff999a95ff00066666ff
+ffffb334ff0029199afffffe1998ff0029ccccfffff63334ff002d199a658b5e9b3b
+8bfb188b25278bfb268bffffc08000ff0013e666ffffbbb333ff0031199affffd2cc
+cd08ff0027e666ffffdb4ccdff0038199affffebb333d58b080bf7d607a4a491b2f7
+3ca2fb0923fb204d66fb023f849ca71e0bffffe4999a8bffffd366668c648c85858b
+769185c88796878b3808fb6c078b3880884e8685858b769185b18cff002d4ccd8cff
+001cb3338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1f
+ffffbc4ccd8b6789ffffe2b3338b080bff0041cccc8bff00013334788d6690869d8b
+90908aa28aff0022199a8bff000fe6668bff000d80008cff002080008ca48690798b
+8686895efffffdcccc80ffffbf33348b0852f722069c98969e1ec406dd8b986a9d52
+958a948d938f87ad7fd989928b8d8a8c898bfffff2333488fffff599988affffef33
+348b08fb6306ffffe333338bffffd1cccd8c678c85858b769185c88796878b3808fb
+6c078b3880884e8685858b769185af8cb78cab8b08f72e06b3cd898b1f0b97b496c2
+92b58290838d80887b506e59388b086006ffffd5cccdfffff63333ff000accccff00
+2133341ff72a070b8bff0052cccc918eaa9091918ba08591798affffe3b3348affff
+e14ccc8bffffe1b3348bffffd24ccc8c6e8c85858b769185c88790878b380855076b
+826a86688b08fb1162f714ddf70dc5deeb1f0bee8bb5599a4b95fffffce66695ffff
+ff999a95ff00068000fffffee666b4fffffd8000ff0029b334fffff6999aff002d4c
+cc6d8b419b538b08fb23fb062ffb32fb13ea24f7231fcf8bff0049800095ff004280
+00af080b8bde968ec89091918ba08591658affffd4b3338affffe14ccd8bffffe1b3
+338bffffd64ccd8c648c85858b769185c88796878b3808fb6c078b3880884e868585
+8b769185b08cff00294ccd8cff0021b3338bff002066668bff002b999a8aae8a9191
+8ba085914e8f808f8bde080bfb9b07fb48696f6c1e7e8b85928495829780986f8b08
+7e747e766ab27aa01fa28bb48cb5aec1b6adcd8bf71208f786078bde968ec8909191
+8ba08591678affffd4999a8affffdf66668b6e8b5b8c648c85858b769185c8879b87
+8b38080b8b8ba2eb92b58290838d80887b506e5a4c8b085e06747d9b9e1ff7a1078b
+de968ec89091918ba08591668affffd74ccd8affffddb3338bffffe0b3338bffffd5
+4ccd8c668c85858b769185c88796878b3808fb6c078b388986458885858b769185bc
+8ccd8c8b8b080be4d839fb1afb0f4e40322a46e3f70ff71bd6cfd61f0bf722fb06e8
+fb16fb1f2026fb27fb1cf22bf71bf738e3f707f7161e0be2c207ff002580008b99ff
+ffdee666ff000d8000ffffdb199a08a14f050bff0016e666ffffc18000ff0022199a
+ffffe88000b68b9a8bff001eb334ff0002b333ff00114cccff00044ccdff00028000
+ff000a4ccd89ff0009e666fffff98000ff0007cccd678bffffed199a91ffffebe666
+bf086ed6057faafffff380009cfffff3800098088d07adff000bb333beff00294ccd
+8bd08bdeffffcbb334aeffff894ccc8b728bffffc74ccd87ffffe1b3338b6e8b618c
+638c85858b769185c88796878b3808fb6c070b8b3880884e8685858b769185b18cff
+0028e6668cff0021199a8bff001eb3338bff00214ccd8aab8a91918ba08591ffffd0
+80008efffff68000908bde080b728b71a13a8b458b3d638b398b42d964b478cc6db6
+748b528b51706f508b080b538b5eab79e47eff00028000fffff6e666ffffff4ccdff
+fff6199afffffc3333ff00024cccffffb98000ff0001b334ffffd98000926b968f95
+8d978b080b9e8ba87ad88be48bc4ff0036e6668bff0056199a8bd9ffffa5199aff00
+2ce666ffffcfe666ff0017199a59a35cff001880008bff002a80008bb6a7a7bf8b08
+0bbc8bb76a9a4b9488948b9490088da8ffffff8000b2fffffa8000b1080bf79007b0
+959aab1ea506ca8b98779f43ff000a3334fffffde666ff00093332ff00006666ff00
+07999aff0004b334080b86ff00308000fffffe8000b0fffffe8000ff002f8000080b
+ffffdd4cccfffffbb334ffffbfb334fffffa4ccc378b083c060b298b51ff00054ccc
+70ff0004b334ffffff80005c8a64fffffa80005c94fffffccccc94ffffff4cce94ff
+0000e666080b9fd3969fcc8b08a306aa977f641ffb91078b3880884e8685858b7691
+85b08cff002880008cff002280008bff002280008bff002780008ab08a91918ba085
+91084e8f808f8bde080bfb1307358b2dfb182876d9e81ef71c078bde968ec8909191
+8ba08591648affffd780008affffdf80008bffffdc66668bffffd8999a8c678c8585
+8b769185c88796878b3808fb3107fb2aff0048800062ff006d8000f72fb4e3f7261e
+f706078bde968ec89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c8
+8796878b38080bffffb84cccfb12898bffffb3e666f7120571ff002c3334fffff619
+9aff00134cccc7ff0003800091918ba08591698a688a668b6e8b6d8c6e8c85858b76
+9185ff002e8000fffffa8000ff000ce666ffffeb6666a7ffffd1199a08ff00563334
+fb2105ff00074cccfffff44ccdff00078000fffff23333ffffff999a79088affffce
+8000058b3881884e8685858b769185b08cb28caf8bff00244ccc8bff0026b3348aaf
+8a91918ba085914e8f818f8bde088aff0033800005ffffff999aff00128000ff0002
+e666ff000d999aff00078000ff000a666608ff00506666f71f05ff0017b334ff0028
+e666ff0011999aff001bccceff002e4cccff00054ccc91918ba08591758a748a718b
+668b6f8c718c85858b769185cb858b7effffe4b3345b080bffffdfe6668bffffda99
+9aff0006999affffee8000ff00036666fffffd999a8bfffffe6666ffffff66668bff
+fffd999a8a5e8665825aff0008b333fffffd199aff0008999afffffeccccff0008b3
+33ff0001199a080ba0d3adff00133334a8ff0000cccc08f7218f05ff000fe666ff00
+003334fffff68000ffffeeccccfffffb999a85ffffa14ccdffff80b334ffffaeb333
+ffff82cccc3affff828000878588868b8508858f87961ef7ea068faa96ba9cc5ffff
+f84cccff0005199afffff7199aff00028000fffff5999affffff6666ffffe54cccff
+ffc46666ffffe9e668ffffd2b334ffffc1ccccfffffde66608fb0b8705ffffe7e666
+ffffff999aff0000b334ff000d6666ff0009666699ff004fe666ff007a999aff004f
+199aff0075e666e4ff007980009aa08f928b938bff0003ccccfffffe8000ff000133
+34fffffb80008b808b6989748b080b58f72b06a4a491b2f73ca2fb0923fb204d66fb
+023f849ca71ef718be070bffffe4999a8bffffd366668c648c85858b769185c88796
+878b3808303c64da35078b3880884e8685858b769185b18cff002d4ccd8cff001cb3
+338bff001a4ccd8bff0027b33389db8b08f703f710bff743f71939f3fb3b1fffffbc
+4ccd8b6789ffffe2b3338b080bf752078bff00313334ff000cb333fffff68000ff00
+174ccdffffe34ccc08f77ffbcd050b9a7b9b859a8b089795929f1ff7d7078bde968e
+c89091918ba085916d8a678a6d8b6d8b688c6d8c85858b769185c88796878b3808fb
+4f078b70887a6cb508fb79f7cbfb228d89888b73058791898e1eb188967f957908fb
+a6070b8b3880874e8785858b769185a98cae8ca98ba98baf8aa98a91918ba085914e
+90808e8bde080bbc8bb76a9a4b9488948b94908da8ffffff8000b2fffffa8000b108
+0b3cffffe880006effffa780001e5ff71606c0ff000a4ccd95ff0037b333ff004580
+00ff00148000724f1e0b453d63391f8b42d964b478cc6db6748b528b51706f508b08
+0b7f8b8892ffffffcccdff00064ccc08ff00683333ff0103b334ff000766668bff00
+58999afba5050b7f8b8892ffffffcccdff00064cccff00263333ff0061b33499aebd
+f70008ff000466668bff005c999afb92050bc4f72505ff00056666ff000dcccdff00
+03999aff000333339b8b08f76b8bc8fb3d05ff000ee668ffffd6cccdffffd6b332ff
+00039999ffffd06666fffffc999a85858b769185b08cc28cb28bb48bb48ab08a9191
+8ba08591ffffd93334ff00038000ffffdf4ccc8bffffed8000ff0033800008fb61f8
+b205fffff8b334ff00134cccfffffe4cccff000ab334858b858a7d7e7d86fffff299
+9afffffb3334fffff8b332ffffff3334ffffeeb334fffffc9998898a8b898b899284
+927c907dffffe5ccccffffcae668ff000c6668ff001ae664ffff921999ffff0d3334
+08ffffa1b333fb6e05ffffe54ccdffffc24cccffffe23333fffff9b334ffffd48000
+8885858b769185b08c988cb28bb48bbd8ab08a91918ba08591ffffda6666ff000299
+9affffd23334ff00063332ff000f6666ff00273334080b70f71fa6070bd7c8c8d7d8
+c84e3f3f4e4d3e3f4ec9d71e0b2fd641e6e7d5d5e7e641d62f304040301e0bfa9206
+978b9692919591958b99859508fc93fa0905859580917f8b7f8b8085858108fc93fe
+090585818b7d918191819684978b080b778b7995819c819c8ba1959c08f893fa0805
+959c9d969f8b9f8b9d80957a08f893fe0805957a8b75817a817a7981778b080bfb97
+fb66fb67fb97fb97f766fb67f797f797f767f767f797f797fb67f767fb971f0bffff
+ffb332ff0009e667ff0009999aff00063333ff000ae6668b08ff000be668ff0009b3
+32fffff88000fffff766661fffffffe666ffffd64ccd05fffff4fffffffff73334ff
+fffa6667fffff34ccc1efffff53334ffffffb333fffff6b334ff0005e666ff000019
+9896080bffffbae668ffffffe6668bffff94e667d08b8bff00104ccc050bffffcc33
+348bffffffccccff001de666b7ffffffe6668bff000f199affffd433348bffffffcc
+ccff001ce666050bff0000199affffcbe66605fffff36666ff0010e666ffffeee666
+ff00143334ff00148000ff00126666ff00104cceff000d80001effffffccccff0033
+e66605ff000ecccdffffece666ff000d1999ffffec8000ffffe8999afffff2199a7d
+fffff233341e0bfffd71b334ffffffcccc05fffff4199a8bfffff63334fffffb4cd0
+fffff9cccc84fffff9cccd84fffffd3333fffff719988bfffff7666808fffd6d9998
+078bfffff54cccff0005b334fffff7333492fffffab33392fffffab333ff00084ccc
+fffffd6667938b08ff02916664ff00004ccd05948bff0007999cff0004b33391ff00
+06333391ff00063333ff00048000938bff00094ccd088bff028ecccc8bff0000199c
+05ff0000199897fffffae668ff0009e664fffff91998ff00066668fffff91998ff00
+066664fffff7999cff00033334fffff7e6648b080b7cfffff3ccccfffff3b3347c7c
+fffff3b334ff000c4ccc9a9aff000c4cccff000c4ccc9a9aff000c3334fffff3b334
+7c1e0bff00018000ff0001b334ff0001999aff0001ccccff0001b332ff0001ccccff
+fffe6666fffffe3334fffffe6668fffffe4cccfffffe6666fffffe3334080bff0003
+3334ff00036668ff0003999aff00039998ff0003e666ff0003999a088bff00380002
+84ff0001ccccff0000199affffbf999805fffffeb332fffffeb334fffffeb334ffff
+fe999afffffeccccfffffeb332080b9e81068a898988898b087d06848b8b9a928b08
+0bf9c406949981781ffcd407797d80821efdc406827d969d1ff8d4079d9996941e0b
+785105877f8b878b878b859087918b928b8c8e8f978b8b95a996afa67e9f708b6b08
+5f67675f5f68afb7b7aeafb71e8f8b8f8b8f8a080b6d79786b8b6608778bbdf71705
+0ba948488b058ba79aa4a199080bb7af685f5f67675f1f668b6ca482ad08cc06a28f
+8d911f8b8f8a8d849b8b8b80a478b5928d938c938b080bf7438b59fb1c050bfdc406
+7275746d1ffcd4076da174a41ef9c406a4a1a2a91ff8d407ff001ce668ffffee6668
+ff00181998ffffe299981e0b8cfcd0498b058bff001566668cff01ae999affffffcc
+cdf70c080b>
+%%EndResource
+%%BeginResource: font LinLibertineOI
+/FontSetInit /ProcSet findresource begin
+/LinLibertineOI 413118 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654f49000102000100441c09c500
+1c09c6011c09c7021c09c803f815047f0c02290c03b30c04fd0ffbcc1c181bfa1105
+1d000052b50f1d00000000101d00006502111d000000421d00055c6f120842020001
+0008000f001b00290030003c0043004a00500056005d0064006a0070007b00860090
+009a00a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106
+0111011c012201280132013c01480154015f016a016e01720178017e0185018c0192
+0198019f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e
+02220226022c0232023e024a02500256026102640267026e0275027b0281028e029b
+02a102a702b302bf02c502cb02d102d702e202ed02f502fd0305030d03130319031d
+03210327032d0334033b03410347034c0351035e036b037203790384038f039a03a5
+03ab03b103bb03c503ca03d103d803df03e603ed03f403fb0402040904100417041e
+0425042c0433043a04410448044f0456045d0464046b0472047904800487048e0495
+049c04a304a804ad04b404bb04c204c904d004d704de04e504ec04f304fa05010508
+050d0512051905200527052e0535053c0543054a05510558055f0566056d0574057b
+0582058905900597059e05a505ac05b305ba05c105c805cf05d605dd05e405eb05f2
+05f906000607060e0615061c0623062a06310638063f0646064d0654065b06620669
+06700677067e0685068b06910698069f06a606ad06b406bb06c206c906d006d706de
+06e506ec06f306fa07010708070f07190723072a0731073c0747074e0755075c0763
+076a07710778077f0786078d0794079b07a207a907b007b707be07c507cc07d307da
+07e107e807ef07fb08070813081f0826082d0834083b0842084908500857085e0865
+086c0873087a08810888088f0896089d08a408ab08b208b908c008c708ce08d508dc
+08e308ea08f108f808ff0906090d0914091b0922092909300937093e0945094c0953
+095a09610968096f0976097d0984098b0992099909a009a709ae09b509bf09c609cd
+09d209d909e009e709ee09f509fc0a030a0a0a110a180a1f0a260a2d0a340a3b0a42
+0a490a500a570a5e0a690a700a770a7e0a850a8e0a9c0aa30aaa0ab10ab80abf0ac6
+0acd0ad40adb0ae20ae90af00af70afe0b050b0c0b130b1a0b210b340b3b0b420b49
+0b500b570b5e0b650b6c0b730b7a0b810b880b8f0b960b9d0ba40bab0bb20bb90bc0
+0bc70bce0bd50bdc0be30bea0bf40c020c0c0c160c260c3a0c510c5b0c650c6c0c73
+0c7a0c830c8c0c930c9a0ca10ca80caf0cb60cbd0cc40ccb0cd20cd90ce00ce70cee
+0cf50cfc0d030d0a0d110d180d1f0d260d2d0d340d3b0d420d550d5f0d690d730d8f
+0d960d9d0da40dab0db20db90dc00dc70dce0dd50ddc0de30dea0df10df80dff0e06
+0e0d0e140e1b0e220e290e300e370e3e0e450e4c0e550e5e0e650e6e0e750e7c0e83
+0e8a0e910e9e0ea50eac0eb30eba0ec10ec80ecf0ed60edd0ee40eeb0ef20ef90f00
+0f070f0e0f150f1c0f230f2a0f310f380f3f0f460f4d0f590f600f670f6e0f750f7c
+0f830f8a0f910f980f9f0fa60fad0fb40fbb0fc20fc90fd00fd70fde0fe50fec0ff3
+0ffa10011008100f1016101d1024102b1032103910401047104e1055105c1063106a
+10711078107f1086108d1094109b10a210a910b010b710be10c510ce10dc10e510ec
+10fc110d1121112d113611421153115a11611168116f1176117d1184118b11921199
+11a011a711ae11b511bc11c311ca11d111d811dd11ea11f411fd12091211121a1226
+1232123c124d12521256125b12601267126b126e12731277127c1282128412861288
+128f129112941299129c12a312a612a912ac12b112bd12cc12d612e212ea12f31307
+130c13101315131a132113251328132d13311336133c133e134013471349134c1352
+1357135a136113641367136a136f137b138a139613a213ac13b313b913c113c813cf
+13d313d913e013e713ee13f513fc1403140a14111418141f1426142d1434143b1442
+144914501457145e1465146c1473147a148114881491149a14a314ac14b514be14c7
+14d014d914e214eb14f414fb1504150d1516151f15281531153a1543154c1555155e
+1567157015791582158b1594159d15a615af15b815c115ca15d315dc15e515ee15f7
+160016091612161b1624162d1636163f16481651165a1663166c1675167e16871690
+169916a216ab16b416bd16c616cf16d816e116ea16f316fc1705170e171717201729
+1732173b1744174d1754175d1766176f17781781178a1793179c17a517ae17b717c0
+17c717d017d917e017e717f017f918001807180e1815181c1823182a18311838183f
+1846184d1854185b1864186d1876187f1886188d1894189b18a218a918b018b718be
+18c518cc18d518de18e518ec18f318fa19011908190f1916191d1924192b19321939
+19401947194e1955195c1963196a19711978197f1986198d1994199b19a219a919b0
+19b719be19c519cc19d319da19e119e819ef19f619fd1a041a0b1a121a191a201a27
+1a2e1a351a3c1a431a4a1a511a581a5f1a661a6d1a741a7b1a821a891a901a971a9e
+1aa51aac1ab51abc1ac31aca1ad11ad81adf1ae61aed1af41afb1b021b091b101b17
+1b1e1b251b2c1b331b3a1b411b481b4f1b561b5d1b641b6b1b721b791b801b871b8e
+1b951b9e1ba71bb01bb91bc21bcb1bd41bdd1be61bef1bf61bff1c081c111c1a1c23
+1c2c1c351c3e1c471c4e1c571c601c691c721c7b1c841c8d1c961c9f1ca81cb11cba
+1cc31ccc1cd51cde1ce71cf01cf91d021d0b1d141d1d1d261d2f1d381d411d4a1d53
+1d5c1d631d6a1d711d781d7f1d861d8d1d941d9b1da21da91db01db71dbe1dc51dcc
+1dd31dda1de11de81def1df61dfd1e041e0b1e121e191e201e271e2e1e351e3c1e43
+1e4a1e511e581e5f1e661e6d1e741e7b1e821e891e901e971e9e1ea51eac1eb31eba
+1ec11ec81ecf1ed61edd1ee41eeb1ef21ef91f001f071f0e1f151f1c1f231f2a1f31
+1f381f3f1f461f4d1f541f5b1f621f691f701f771f7e1f851f8c1f931f9a1fa11fa8
+1faf1fb61fbd1fc41fcb1fd21fd91fe01fe71fee1ff51ffc2003200a20112018201f
+2026202d2034203b2042204920502057205e2065206c2073207a20812088208f2096
+209d20a420ab20b220b920c020c720ce20d520dc20e320ea20f020f620fc2102210b
+2114211b2122212921302137213e2145214c2153215a21612168216f2176217d2184
+218b2192219921a021a721ae21b521bc21c621cd21d421db21e221e921f021f721fe
+2205220c2213221a22212228222f2236223d2244224b2252225922602267226e2275
+227c2283228a22912298229f22a622ad22b422bb22c222c922d022d722de22e522ec
+22f322fa23012308230f2316231d2324232b2332233923402347234e2355235c2363
+236a23712378237f2386238d2394239b23a223a923b023b723be23c523cc23d323da
+23e123e823ef23f623fd2404240b24112417241e2425242c2433243a24412448244f
+2456245d2464246b2472247924802487248e2495249c24a324aa24b124b824bf24c6
+24cd24d424db24e224e924f024f724fe2505250c2513251a25212528252f2536253d
+2544254b2552255925602567256e2575257c2583258a25912598259f25a625ad25b4
+25bb25c225c925d025d725de25e525ec25f325fa26012608260f2616261d2624262b
+2632263926402647264e2655265c2663266a26712678267f2686268d2694269b26a2
+26a926b026b726be26c526cc26d326da26e126e826ef26f626fd2704270b27122719
+27202727272e2735273c2743274a27512758275f2766276d2774277b278227892790
+2797279e27a527ac27b327ba27c127c827cf27d627dd27e427eb27f227f928002807
+280e2815281c2823282a28312838283f2846284d2854285b2862286928702877287e
+2885288c2893289a28a128a828af28b628bd28c428cb28d228d928e028e728ee28f5
+28fc2903290a29112918291f2926292d2934293b2942294929502957295e2965296c
+2973297a29812988298f2996299d29a429ab29b229b929c029c729ce29d529dc29e3
+29ea29f129f829ff2a062a0d2a142a1b2a222a292a302a372a3e2a452a4c2a532a5a
+2a612a682a6f2a762a7d2a842a8b2a922a992aa02aa62aac2ab32aba2ac92ad72ae4
+2aef2aff2b082b112b1f2b282b352b422b492b562b632b6e2b7c2b852b8c2b932b99
+2b9f2baa2bb72bbe2bc52bcc2bd52be02be72bee2bff2c0e2c1d2c242c2b2c322c3f
+2c492c562c632c6f2c7d2c8b2c982ca52cb32cc12cd32ce62cf02cfd2d092d152d23
+2d302d3d2d492d572d652d722d7f2d8d2d9b2dad2dc02dca2dd42dde2de82def2df6
+2dfd2e042e0b2e122e192e202e272e2e2e332e372e3d2e442e482e4c2e532e5a2e61
+2e682e6f2e792e822e892e932e9a2ea12ea82eaf2eb72ec02ec72ed02ed72ede2ee6
+2eed2ef42efb2f022f092f122f172f1e2f252f2c2f332f3b2f442f4f2f592f612f6b
+2f772f7f2f872f912f9a2fa32fab2fb52fbf2fc82fd02fdb2fe62fed2ff42ffb3002
+300a3012301c3025302e30363040304a3053305b306630713078307f3086308d3094
+309b30a230a930b030b930c030ca30d330dc30e530ec30f330fa31013108310f311b
+3122312931303137313e3145314c3153315a3161316d317731843190319c31a331aa
+31b131b831bf31c831cf31da31e531ec31f431fb3203320a3214321b3223322a3231
+3238323f3248324f3256325d326432703277327e3285328c3293329b32a532ac32b3
+32ba32c132cb32d432e032e532ed32f432fb3302330b3316331d3324332c3337333e
+33473353335a33613368336f3376337d3389339733a033a733b133b833c633cd33d4
+33db33e233e933f033f733fe3405340c3413341c3422342934303437343e3445344c
+3453345a34613468346f3476347c3482348934903497349e34a534ac34b334ba34c1
+34c834cf34d634dd34e434eb34f234f934fc3503350a35113517351e352235293530
+3537353e3545354c3553355a35613568356f3576357d3584358b3592359935a035a7
+35ae35b535bc35c735d535dc35e335ea35f135f835ff3606360d3614361b36223629
+36303637363e3645364c3653365a36613668366f3676367d3684368b3692369936a0
+36a736aa36b136b836bf36c636cd36d436db36e236e936f036f736fe3705370c371c
+37273731373b37473752375d37673773377f378a3795379f37a637b537c237ce37da
+37e837f53802380e381c382a383738443851385e386338663869386c386f38723875
+3878387e388138843887388c389a38a938b438c138c538c938cd38d138d538d938dd
+38e138e538e938ed38f138f538f938fd390139053909390d391139153919391d3921
+392539293932393b39443952395b3967396f3974397f39883991399f39ab39b439bd
+39cb39d739dd39e639ef39f83a063a0f3a1b3a203a293a323a3b3a493a553a5e3a66
+3a723a773a873a943a9d3aa63ab03ab93ac23acb3ad53ade3ae73af03af93b023b0b
+3b113b213b2a3b333b3c3b473b503b5b3b623b6a3b7a3b833b903b993ba23bab3bba
+3bc93bd63bdd3be73bf13bfb3c053c0f3c193c233c2a3c313c383c423c4c3c533c5d
+3c673c713c783c823c8c3c963c9d3ca43cab3cb53cbc3cc53ccc3cd13cd63cdb3ce0
+3ce53cea3cf13cf63cfd3d043d093d193d283d373d483d583d683d773d883d993da9
+3db03db73dbe3dc83dd23ddc3de63df03dfa3e043e0e3e183e223e2c3e363e403e4a
+3e543e5e3e683e723e7c3e863e903e9a3ea13ea83ead3eb63ebf3ecd3ed63edf3eef
+3f003f143f203f293f353f463f4d3f573f633f703f7e3f8d3f993fa63fb33fc23fd2
+3fe33ff34004400e4016402440324040404e40554058405b405e40634068406f4072
+40794080408541a141b941ca756e6930304130756e693030414474776f2e73757065
+72696f7274687265652e7375706572696f72756e69303042356f6e652e7375706572
+696f72416d6163726f6e616d6163726f6e416272657665616272657665416f676f6e
+656b616f676f6e656b4361637574656361637574654363697263756d666c65786363
+697263756d666c657843646f74616363656e7463646f74616363656e74436361726f
+6e636361726f6e446361726f6e646361726f6e4463726f61746463726f6174456d61
+63726f6e656d6163726f6e45627265766565627265766545646f74616363656e7465
+646f74616363656e74456f676f6e656b656f676f6e656b456361726f6e656361726f
+6e4763697263756d666c65786763697263756d666c65784762726576656762726576
+6547646f74616363656e7467646f74616363656e7447636f6d6d61616363656e7467
+636f6d6d61616363656e744863697263756d666c65786863697263756d666c657848
+626172686261724974696c64656974696c6465496d6163726f6e696d6163726f6e49
+6272657665696272657665496f676f6e656b696f676f6e656b49646f74616363656e
+74494a696a4a63697263756d666c65786a63697263756d666c65784b636f6d6d6161
+6363656e746b636f6d6d61616363656e746b677265656e6c616e6469634c61637574
+656c61637574654c636f6d6d61616363656e746c636f6d6d61616363656e744c6361
+726f6e6c6361726f6e4c646f746c646f744e61637574656e61637574654e636f6d6d
+61616363656e746e636f6d6d61616363656e744e6361726f6e6e6361726f6e6e6170
+6f7374726f706865456e67656e674f6d6163726f6e6f6d6163726f6e4f6272657665
+6f62726576654f68756e676172756d6c6175746f68756e676172756d6c6175745261
+6375746572616375746552636f6d6d61616363656e7472636f6d6d61616363656e74
+526361726f6e726361726f6e5361637574657361637574655363697263756d666c65
+787363697263756d666c657853636564696c6c6173636564696c6c6154636564696c
+6c6174636564696c6c61546361726f6e746361726f6e54626172746261725574696c
+64657574696c6465556d6163726f6e756d6163726f6e556272657665756272657665
+5572696e677572696e675568756e676172756d6c6175747568756e676172756d6c61
+7574556f676f6e656b756f676f6e656b5763697263756d666c65787763697263756d
+666c65785963697263756d666c65787963697263756d666c65785a61637574657a61
+637574655a646f74616363656e747a646f74616363656e746c6f6e6773756e693031
+3830756e6930313831756e6930313832756e6930313833756e6930313834756e6930
+313835756e6930313836756e6930313837756e6930313838756e6930313839756e69
+30313841756e6930313842756e6930313843756e6930313844756e6930313845756e
+6930313846756e6930313930756e6930313931756e6930313933756e693031393475
+6e6930313935756e6930313936756e6930313937756e6930313938756e6930313939
+756e6930313941756e6930313942756e6930313943756e6930313944756e69303139
+45756e69303139464f686f726e6f686f726e756e6930314132756e6930314133756e
+6930314134756e6930314135756e6930314136756e6930314137756e693031413875
+6e6930314139756e6930314141756e6930314142756e6930314143756e6930314144
+756e693031414555686f726e75686f726e756e6930314231756e6930314232756e69
+30314233756e6930314234756e6930314235756e6930314236756e6930314237756e
+6930314238756e6930314239756e6930314241756e6930314242756e693031424375
+6e6930314244756e6930314245756e6930314246756e6930314330756e6930314331
+756e6930314332756e6930314333756e6930314334756e6930314335756e69303143
+36756e6930314337756e6930314338756e6930314339756e6930314341756e693031
+4342756e6930314343756e6930314344756e6930314345756e6930314346756e6930
+314430756e6930314431756e6930314432756e6930314433756e6930314434756e69
+30314435756e6930314436756e6930314437756e6930314438756e6930314439756e
+6930314441756e6930314442756e6930314443756e6930314444756e693031444575
+6e6930314446756e6930314530756e6930314531756e6930314532756e6930314533
+756e6930314534756e6930314535476361726f6e676361726f6e756e693031453875
+6e6930314539756e6930314541756e6930314542756e6930314543756e6930314544
+756e6930314545756e6930314546756e6930314630756e6930314631756e69303146
+32756e6930314633756e6930314634756e6930314635756e6930314636756e693031
+4637756e6930314638756e69303146394172696e6761637574656172696e67616375
+746541456163757465616561637574654f736c61736861637574656f736c61736861
+63757465756e6930323030756e6930323031756e6930323032756e6930323033756e
+6930323034756e6930323035756e6930323036756e6930323037756e693032303875
+6e6930323039756e6930323041756e6930323042756e6930323043756e6930323044
+756e6930323045756e6930323046756e6930323130756e6930323131756e69303231
+32756e6930323133756e6930323134756e6930323135756e6930323136756e693032
+313753636f6d6d61616363656e7473636f6d6d61616363656e7454636f6d6d616163
+63656e7474636f6d6d61616363656e74756e6930323143756e6930323144756e6930
+323145756e6930323146756e6930323230756e6930323231756e6930323232756e69
+30323233756e6930323234756e6930323235756e6930323236756e6930323237756e
+6930323238756e6930323239756e6930323241756e6930323242756e693032324375
+6e6930323244756e6930323245756e6930323246756e6930323330756e6930323331
+756e6930323332756e6930323333756e6930323334756e6930323335756e69303233
+36756e6930323337756e6930323338756e6930323339756e6930323341756e693032
+3342756e6930323343756e6930323344756e6930323345756e6930323346756e6930
+323430756e6930323431756e6930323433756e6930323530756e6930323531756e69
+30323532756e6930323533756e6930323534756e6930323535756e6930323536756e
+6930323537756e6930323538756e6930323539756e6930323541756e693032354275
+6e6930323543756e6930323544756e6930323545756e6930323546756e6930323630
+756e6930323631756e693032363267616d6d616c6174696e756e6930323634756e69
+3032363568686f6f6b756e6930323637756e6930323638756e6930323639756e6930
+323641756e6930323642756e6930323643756e6930323644756e6930323645756e69
+30323646756e6930323730756e6930323731756e6930323732756e6930323733756e
+6930323734756e6930323735756e6930323736756e6930323737756e693032373872
+7475726e6564756e693032374172686f6f6b7475726e6564756e6930323743756e69
+30323744756e6930323745756e693032374652736d616c6c63617052736d616c6c69
+6e766572746564756e6930323832756e6930323833756e6930323834756e69303238
+35756e6930323836756e6930323837756e6930323838756e6930323839756e693032
+3841756e6930323842756e6930323843756e6930323844756e6930323845756e6930
+323846756e6930323930756e6930323931756e6930323932756e6930323933756e69
+30323934676c6f7474616c73746f707265766572736564756e6930323936756e6930
+323937756e6930323938756e6930323939756e6930323941756e6930323942756e69
+30323943756e6930323944756e6930323945756e6930323946756e6930324130756e
+6930324131756e6930324132756e6930324133756e6930324134756e693032413575
+6e6930324136756e6930324137756e6930324138756e6930324139756e6930324141
+756e6930324142756e6930324143756e6930324144756e6930324145756e69303241
+46682e7375706572696f7268686f6f6b2e7375706572696f726a2e7375706572696f
+72722e7375706572696f72727475726e65642e7375706572696f7272686f6f6b7475
+726e65642e7375706572696f7252736d616c6c696e7665727465642e737570657269
+6f72772e7375706572696f72792e7375706572696f72756e6930324239756e693032
+4241756e6930324242616669693537393239616669693634393337756e6930324245
+756e6930324246756e6930324330756e6930324331756e6930324332756e69303243
+33756e6930324334756e6930324335756e6930324338756e6930324339756e693032
+4341756e6930324342756e6930324343756e6930324344756e6930324345756e6930
+324346756e6930324430756e6930324431756e6930324432756e6930324433756e69
+30324434756e6930324435756e6930324436756e6930324437756e6930324445756e
+693032444667616d6d616c6174696e2e7375706572696f726c2e7375706572696f72
+732e7375706572696f72782e7375706572696f72676c6f7474616c73746f70726576
+65727365642e7375706572696f72756e6930324535756e6930324536756e69303245
+37756e6930324538756e6930324539756e6930324541756e6930324542756e693032
+4543756e6930324544756e6930324545756e6930324546756e6930324630756e6930
+324631756e6930324632756e6930324633756e6930324634756e6930324635756e69
+30324636756e6930324637756e6930324638756e6930324639756e6930324641756e
+6930324642756e6930324643756e6930324644756e6930324645756e693032464667
+72617665636f6d626163757465636f6d62756e693033303274696c6465636f6d6275
+6e6930333034756e6930333035756e6930333036756e6930333037756e6930333038
+686f6f6b61626f7665636f6d62756e6930333041756e6930333042756e6930333043
+756e6930333044756e6930333045756e6930333046756e6930333130756e69303331
+31756e6930333132756e6930333133756e6930333134756e6930333135756e693033
+3136756e6930333137756e6930333138756e6930333139756e6930333141756e6930
+333142756e6930333143756e6930333144756e6930333145756e6930333146756e69
+30333230756e6930333231756e6930333232646f7462656c6f77636f6d62756e6930
+333234756e6930333235756e6930333236756e6930333237756e6930333238756e69
+30333239756e6930333241756e6930333242756e6930333243756e6930333244756e
+6930333245756e6930333246756e6930333330756e6930333331756e693033333275
+6e6930333333756e6930333334756e6930333335756e6930333336756e6930333337
+756e6930333338756e6930333339756e6930333341756e6930333342756e69303333
+43756e6930333344756e6930333345756e6930333346756e6930333430756e693033
+3431756e6930333432756e6930333433756e6930333434756e6930333435756e6930
+333436756e6930333437756e6930333438756e6930333439756e6930333441756e69
+30333442756e6930333443756e6930333444756e6930333445756e6930333530756e
+6930333531756e6930333532756e6930333533756e6930333534756e693033353575
+6e6930333536756e6930333537756e693033353861637574652e6361706369726375
+6d666c65782e6361706361726f6e2e636170756e693033354368756e676172756d6c
+6175742e63617073706163655f756e69303330462e6361706272657665696e766572
+746564636d622e63617062726576652e63797263617062726576652e637972646965
+72657369732e636170686f6f6b61626f7665636f6d622e636170756e693033363475
+6e6930333635756e6930333636756e6930333637756e6930333638756e6930333639
+756e6930333641756e6930333642756e6930333643756e6930333644756e69303336
+45756e6930333646756e6930333734756e6930333735756e6930333741756e693033
+3742756e6930333743756e6930333744756e6930333745746f6e6f73646965726573
+6973746f6e6f73416c706861746f6e6f73616e6f74656c656961457073696c6f6e74
+6f6e6f73457461746f6e6f73496f7461746f6e6f734f6d6963726f6e746f6e6f7355
+7073696c6f6e746f6e6f734f6d656761746f6e6f73696f7461646965726573697374
+6f6e6f73416c7068614265746147616d6d6144656c7461457073696c6f6e5a657461
+4574615468657461496f74614b617070614c616d6264614d754e7558694f6d696372
+6f6e506952686f5369676d61546175557073696c6f6e5068694368695073694f6d65
+6761496f74616469657265736973557073696c6f6e6469657265736973616c706861
+746f6e6f73657073696c6f6e746f6e6f73657461746f6e6f73696f7461746f6e6f73
+757073696c6f6e6469657265736973746f6e6f73616c7068616265746167616d6d61
+64656c7461657073696c6f6e7a6574616574617468657461696f74616b617070616c
+616d6264616e7578696f6d6963726f6e706972686f7369676d61317369676d617461
+75757073696c6f6e7068696368697073696f6d656761696f74616469657265736973
+757073696c6f6e64696572657369736f6d6963726f6e746f6e6f73757073696c6f6e
+746f6e6f736f6d656761746f6e6f73756e6930334430746865746131557073696c6f
+6e31756e6930334433756e6930334434706869316f6d65676131756e693033443775
+6e6930334438756e6930334439756e6930334441756e6930334442756e6930334443
+756e6930334444756e6930334445756e6930334446756e6930334530756e69303345
+31756e6930334630756e6930334631756e6930334632756e6930334633756e693033
+4634756e6930334635756e6930334636756e6930334638756e6930334639756e6930
+334642756e6930334644756e6930334645756e6930334646756e6930343030616669
+69313030323361666969313030353161666969313030353261666969313030353361
+66696931303035346166696931303035356166696931303035366166696931303035
+37616669693130303538616669693130303539616669693130303630616669693130
+303631756e6930343044616669693130303632616669693130313435616669693130
+30313761666969313030313861666969313030313961666969313030323061666969
+31303032316166696931303032326166696931303032346166696931303032356166
+69693130303236616669693130303237616669693130303238616669693130303239
+61666969313030333061666969313030333161666969313030333261666969313030
+33336166696931303033346166696931303033356166696931303033366166696931
+30303337616669693130303338616669693130303339616669693130303430616669
+69313030343161666969313030343261666969313030343361666969313030343461
+66696931303034356166696931303034366166696931303034376166696931303034
+38616669693130303439616669693130303635616669693130303636616669693130
+30363761666969313030363861666969313030363961666969313030373061666969
+31303037326166696931303037336166696931303037346166696931303037356166
+69693130303736616669693130303737616669693130303738616669693130303739
+61666969313030383061666969313030383161666969313030383261666969313030
+38336166696931303038346166696931303038356166696931303038366166696931
+30303837616669693130303838616669693130303839616669693130303930616669
+69313030393161666969313030393261666969313030393361666969313030393461
+6669693130303935616669693130303936616669693130303937756e693034353061
+66696931303037316166696931303039396166696931303130306166696931303130
+31616669693130313032616669693130313033616669693130313034616669693130
+31303561666969313031303661666969313031303761666969313031303861666969
+3130313039756e6930343544616669693130313130616669693130313933756e6930
+343630756e6930343631616669693130313436616669693130313934756e69303436
+34756e6930343635756e6930343636756e6930343637756e6930343638756e693034
+3639756e6930343641756e6930343642756e6930343643756e6930343644756e6930
+343645756e6930343646756e6930343730756e693034373161666969313031343761
+6669693130313935616669693130313438616669693130313936756e693034373675
+6e6930343737756e6930343743756e6930343744756e6930343745756e6930343746
+756e6930343833756e6930343843756e6930343844756e6930343845756e69303438
+46616669693130303530616669693130303938756e6930343932756e693034393375
+6e6930343934756e6930343935756e6930343936756e6930343937756e6930343938
+756e6930343939756e6930343941756e6930343942756e6930343943756e69303439
+44756e6930343945756e6930343946756e6930344130756e6930344131756e693034
+4132756e6930344133756e6930344134756e6930344135756e6930344136756e6930
+344137756e6930344138756e6930344139756e6930344141756e6930344142756e69
+30344143756e6930344144756e6930344145756e6930344146756e6930344230756e
+6930344231756e6930344232756e6930344233756e6930344234756e693034423575
+6e6930344236756e6930344237756e6930344238756e6930344239756e6930344241
+756e6930344242756e6930344243756e6930344244756e6930344245756e69303442
+46756e6930344330756e6930344331756e6930344332756e6930344333756e693034
+4334756e6930344337756e6930344338756e6930344339756e6930344341756e6930
+344342756e6930344343756e6930344430756e6930344431756e6930344432756e69
+30344433756e6930344434756e6930344435756e6930344436756e6930344437756e
+6930344438616669693130383436756e6930344441756e6930344442756e69303444
+43756e6930344444756e6930344445756e6930344446756e6930344530756e693034
+4531756e6930344532756e6930344533756e6930344534756e6930344535756e6930
+344536756e6930344537756e6930344538756e6930344539756e6930344541756e69
+30344542756e6930344543756e6930344544756e6930344545756e6930344546756e
+6930344630756e6930344631756e6930344632756e6930344633756e693034463475
+6e6930344635756e6930344636756e6930344637756e6930344638756e6930344639
+61666969353737393961666969353738303161666969353738303061666969353738
+30326166696935373739336166696935373739346166696935373739356166696935
+37373938616669693537373937616669693537383036756e69303542416166696935
+37373936616669693537383037616669693537383339616669693537363435616669
+69353738343161666969353738343261666969353738303461666969353738303361
+6669693537363538756e693035433661666969353736363461666969353736363561
+66696935373636366166696935373636376166696935373636386166696935373636
+39616669693537363730616669693537363731616669693537363732616669693537
+36373361666969353736373461666969353736373561666969353736373661666969
+35373637376166696935373637386166696935373637396166696935373638306166
+69693537363831616669693537363832616669693537363833616669693537363834
+61666969353736383561666969353736383661666969353736383761666969353736
+38386166696935373638396166696935373639306166696935373731366166696935
+37373137616669693537373138756e6930354633756e6930354634756e6931453030
+756e6931453031756e6931453032756e6931453033756e6931453034756e69314530
+35756e6931453036756e6931453037756e6931453038756e6931453039756e693145
+3041756e6931453042756e6931453043756e6931453044756e6931453045756e6931
+453046756e6931453130756e6931453131756e6931453132756e6931453133756e69
+31453134756e6931453135756e6931453136756e6931453137756e6931453138756e
+6931453139756e6931453141756e6931453142756e6931453143756e693145314475
+6e6931453145756e6931453146756e6931453230756e6931453231756e6931453232
+756e6931453233756e6931453234756e6931453235756e6931453236756e69314532
+37756e6931453238756e6931453239756e6931453241756e6931453242756e693145
+3243756e6931453244756e6931453245756e6931453246756e6931453330756e6931
+453331756e6931453332756e6931453333756e6931453334756e6931453335756e69
+31453336756e6931453337756e6931453338756e6931453339756e6931453341756e
+6931453342756e6931453343756e6931453344756e6931453345756e693145334675
+6e6931453430756e6931453431756e6931453432756e6931453433756e6931453434
+756e6931453435756e6931453436756e6931453437756e6931453438756e69314534
+39756e6931453441756e6931453442756e6931453443756e6931453444756e693145
+3445756e6931453446756e6931453530756e6931453531756e6931453532756e6931
+453533756e6931453534756e6931453535756e6931453536756e6931453537756e69
+31453538756e6931453539756e6931453541756e6931453542756e6931453543756e
+6931453544756e6931453545756e6931453546756e6931453630756e693145363175
+6e6931453632756e6931453633756e6931453634756e6931453635756e6931453636
+756e6931453637756e6931453638756e6931453639756e6931453641756e69314536
+42756e6931453643756e6931453644756e6931453645756e6931453646756e693145
+3730756e6931453731756e6931453732756e6931453733756e6931453734756e6931
+453735756e6931453736756e6931453737756e6931453738756e6931453739756e69
+31453741756e6931453742756e6931453743756e6931453744756e6931453745756e
+69314537465767726176657767726176655761637574657761637574655764696572
+65736973776469657265736973756e6931453836756e6931453837756e6931453838
+756e6931453839756e6931453841756e6931453842756e6931453843756e69314538
+44756e6931453845756e6931453846756e6931453930756e6931453931756e693145
+3932756e6931453933756e6931453934756e6931453935756e6931453936756e6931
+453937756e6931453938756e6931453939756e6931453941756e6931453942756e69
+31453943756e69314539444765726d616e64626c73756e6931453946756e69314541
+30756e6931454131756e6931454132756e6931454133756e6931454134756e693145
+4135756e6931454136756e6931454137756e6931454138756e6931454139756e6931
+454141756e6931454142756e6931454143756e6931454144756e6931454145756e69
+31454146756e6931454230756e6931454231756e6931454232756e6931454233756e
+6931454234756e6931454235756e6931454236756e6931454237756e693145423875
+6e6931454239756e6931454241756e6931454242756e6931454243756e6931454244
+756e6931454245756e6931454246756e6931454330756e6931454331756e69314543
+32756e6931454333756e6931454334756e6931454335756e6931454336756e693145
+4337756e6931454338756e6931454339756e6931454341756e6931454342756e6931
+454343756e6931454344756e6931454345756e6931454346756e6931454430756e69
+31454431756e6931454432756e6931454433756e6931454434756e6931454435756e
+6931454436756e6931454437756e6931454438756e6931454439756e693145444175
+6e6931454442756e6931454443756e6931454444756e6931454445756e6931454446
+756e6931454530756e6931454531756e6931454532756e6931454533756e69314545
+34756e6931454535756e6931454536756e6931454537756e6931454538756e693145
+4539756e6931454541756e6931454542756e6931454543756e6931454544756e6931
+454545756e6931454546756e6931454630756e693145463159677261766579677261
+7665756e6931454634756e6931454635756e6931454636756e6931454637756e6931
+454638756e6931454639756e6931463030756e6931463031756e6931463032756e69
+31463033756e6931463034756e6931463035756e6931463036756e6931463037756e
+6931463038756e6931463039756e6931463041756e6931463042756e693146304375
+6e6931463044756e6931463045756e6931463046756e6931463130756e6931463131
+756e6931463132756e6931463133756e6931463134756e6931463135756e69314631
+38756e6931463139756e6931463141756e6931463142756e6931463143756e693146
+3144756e6931463230756e6931463231756e6931463232756e6931463233756e6931
+463234756e6931463235756e6931463236756e6931463237756e6931463238756e69
+31463239756e6931463241756e6931463242756e6931463243756e6931463244756e
+6931463245756e6931463246756e6931463330756e6931463331756e693146333275
+6e6931463333756e6931463334756e6931463335756e6931463336756e6931463337
+756e6931463338756e6931463339756e6931463341756e6931463342756e69314633
+43756e6931463344756e6931463345756e6931463346756e6931463430756e693146
+3431756e6931463432756e6931463433756e6931463434756e6931463435756e6931
+463438756e6931463439756e6931463441756e6931463442756e6931463443756e69
+31463444756e6931463530756e6931463531756e6931463532756e6931463533756e
+6931463534756e6931463535756e6931463536756e6931463537756e693146353975
+6e6931463542756e6931463544756e6931463546756e6931463630756e6931463631
+756e6931463632756e6931463633756e6931463634756e6931463635756e69314636
+36756e6931463637756e6931463638756e6931463639756e6931463641756e693146
+3642756e6931463643756e6931463644756e6931463645756e6931463646756e6931
+463730756e6931463731756e6931463732756e6931463733756e6931463734756e69
+31463735756e6931463736756e6931463737756e6931463738756e6931463739756e
+6931463741756e6931463742756e6931463743756e6931463744756e693146383075
+6e6931463831756e6931463832756e6931463833756e6931463834756e6931463835
+756e6931463836756e6931463837756e6931463838756e6931463839756e69314638
+41756e6931463842756e6931463843756e6931463844756e6931463845756e693146
+3846756e6931463930756e6931463931756e6931463932756e6931463933756e6931
+463934756e6931463935756e6931463936756e6931463937756e6931463938756e69
+31463939756e6931463941756e6931463942756e6931463943756e6931463944756e
+6931463945756e6931463946756e6931464130756e6931464131756e693146413275
+6e6931464133756e6931464134756e6931464135756e6931464136756e6931464137
+756e6931464138756e6931464139756e6931464141756e6931464142756e69314641
+43756e6931464144756e6931464145756e6931464146756e6931464230756e693146
+4231756e6931464232756e6931464233756e6931464234756e6931464236756e6931
+464237756e6931464238756e6931464239756e6931464241756e6931464242756e69
+31464243756e6931464244756e6931464245756e6931464246756e6931464330756e
+6931464331756e6931464332756e6931464333756e6931464334756e693146433675
+6e6931464337756e6931464338756e6931464339756e6931464341756e6931464342
+756e6931464343756e6931464344756e6931464345756e6931464346756e69314644
+30756e6931464431756e6931464432756e6931464433756e6931464436756e693146
+4437756e6931464438756e6931464439756e6931464441756e6931464442756e6931
+464444756e6931464445756e6931464446756e6931464530756e6931464531756e69
+31464532756e6931464533756e6931464534756e6931464535756e6931464536756e
+6931464537756e6931464538756e6931464539756e6931464541756e693146454275
+6e6931464543756e6931464544756e6931464545756e6931464546756e6931464632
+756e6931464633756e6931464634756e6931464636756e6931464637756e69314646
+38756e6931464639756e6931464641756e6931464642756e6931464643756e693146
+4644756e6931464645656e71756164656d71756164656e7370616365656d73706163
+657468726565706572656d7370616365666f7572706572656d737061636573697870
+6572656d7370616365666967757265737061636570756e6374756174696f6e737061
+63657468696e73706163656861697273706163657a65726f77696474687370616365
+68797068656e74776f68797068656e6e6f627265616b686f72697a6f6e74616c6261
+72756e6932303136756e64657273636f726564626c71756f74657265766572736564
+71756f746564626c726576747269616e676c6562756c6c657468797068656e646f74
+756e6932303246756e69323033316d696e7574657365636f6e647072696d65747269
+706c657072696d657265766572736564756e6932303336756e6932303337756e6932
+3033426578636c616d64626c696e746572726f62616e67756e6932303345756e6932
+3034327175657374696f6e5f7175657374696f6e7175657374696f6e5f6578636c61
+6d6578636c616d5f7175657374696f6e756e6932303441756e6932303442756e6932
+3034467a65726f2e7375706572696f72692e7375706572696f72666f75722e737570
+6572696f72666976652e7375706572696f727369782e7375706572696f7273657665
+6e2e7375706572696f7265696768742e7375706572696f726e696e652e7375706572
+696f72706c75732e7375706572696f726d696e75732e7375706572696f7265717561
+6c2e7375706572696f72706172656e6c6566742e7375706572696f72706172656e72
+696768742e7375706572696f726e2e7375706572696f727a65726f2e696e66657269
+6f726f6e652e696e666572696f7274776f2e696e666572696f7274687265652e696e
+666572696f72666f75722e696e666572696f72666976652e696e666572696f727369
+782e696e666572696f72736576656e2e696e666572696f7265696768742e696e6665
+72696f726e696e652e696e666572696f72706c75732e696e666572696f726d696e75
+732e696e666572696f72657175616c2e696e666572696f72706172656e6c6566742e
+696e666572696f72706172656e72696768742e696e666572696f72612e696e666572
+696f72652e696e666572696f726f2e696e666572696f72782e696e666572696f7275
+6e6932303934756e6932303935756e6932303936756e6932303937756e6932303938
+756e6932303939756e6932303941756e6932303942756e6932303943756e69323041
+326672616e636c697261706573657461756e6932304138646f6e674575726f756e69
+32304146756e6932304231756e6932313030756e6932313031756e69323130326365
+6e74696772616465616669693631323438756e693231303666616872656e68656974
+756e6932313043756e6932313044756e6932313045756e6932313046496672616b74
+7572616669693631323839756e6932313135616669693631333532756e6932313139
+756e6932313141526672616b747572756e6932313144756e6932313230756e693231
+3234756e6932313236756e6932313237657374696d61746564616c657068756e6932
+313336756e6932313337756e6932313338756e69323133396f6e6566696674687477
+6f6669667468737468726565666966746873666f75726669667468736f6e65736978
+7468666976657369787468736f6e656e756d657261746f724f6e65726f6d616e5477
+6f726f6d616e5468726565726f6d616e466f7572726f6d616e46697665726f6d616e
+536978726f6d616e536576656e726f6d616e4569676874726f6d616e4e696e65726f
+6d616e54656e726f6d616e456c6576656e726f6d616e5477656c7665726f6d616e75
+6e6932313643756e6932313644756e6932313645756e69323136466f6e65726f6d61
+6e74776f726f6d616e7468726565726f6d616e666f7572726f6d616e66697665726f
+6d616e736978726f6d616e736576656e726f6d616e6569676874726f6d616e6e696e
+65726f6d616e74656e726f6d616e656c6576656e726f6d616e7477656c7665726f6d
+616e756e6932313743756e6932313744756e6932313745756e6932313746756e6932
+313830756e6932313831756e6932313832756e6932313833756e6932313834617272
+6f776c6566746172726f7775706172726f7772696768746172726f77646f776e6172
+726f77626f74686172726f777570646e756e6932313936756e6932313937756e6932
+313938756e6932313939756e6932313941756e69323139426172726f777570646e62
+7365756e6932314145756e6932314243756e6932314244756e6932314330756e6932
+314331756e6932314342756e6932314343756e6932314344756e6932314345756e69
+323143466172726f7764626c6c6566746172726f7764626c75706172726f7764626c
+72696768746172726f7764626c646f776e6172726f7764626c626f7468756e693231
+44354e776172726f774e656172726f7753656172726f7753776172726f77756e6976
+657273616c756e69323230317061727469616c646966666578697374656e7469616c
+756e6932323034656d707479736574756e69323230366772616469656e74656c656d
+656e746e6f74656c656d656e74756e69323230417375636874686174756e69323230
+43756e693232304470726f64756374756e693232313073756d6d6174696f6e756e69
+32323133756e6932323134756e6932323135756e6932323136617374657269736b6d
+617468756e6932323138756e69323231397261646963616c756e6932323142756e69
+32323143696e66696e6974796f7274686f676f6e616c756e6932323233756e693232
+3234756e6932323235756e69323232366c6f676963616c616e646c6f676963616c6f
+72696e74657273656374696f6e756e696f6e696e74656772616c756e693232333673
+696d696c6172756e6932323431636f6e677275656e74617070726f78657175616c75
+6e6932323439756e69323235396e6f74657175616c6571756976616c656e6365756e
+69323236326c657373657175616c67726561746572657175616c756e693232364175
+6e6932323642756e6932323645756e6932323646756e6932323730756e6932323731
+70726f70657273756273657470726f70657273757065727365746e6f747375627365
+74756e6932323835636972636c65706c7573756e6932323936636972636c656d756c
+7469706c79756e6932323938646f746d617468756e6932324546756e693233303275
+6e6932333033756e6932333130756e6932333230756e6932333231756e6932333239
+756e6932333241756e693233443366696c6c6564626f784832323037337472696167
+7570756e6932354233756e6932354236756e69323542377472696167646e756e6932
+354244756e6932354330756e6932354331756e6932354336756e6932354337756e69
+323543396c6f7a656e6765636972636c65483138353333756e6932354430756e6932
+354431756e6932354432756e6932354433756e6932354434756e6932354435756e69
+32354436756e6932354437756e6932363035756e6932363139756e6932363142756e
+6932363145756e6932363237756e6932363246756e6932363339756e693236334175
+6e693236334273756e756e6932363344756e6932363345756e693236334666656d61
+6c65756e69323634316d616c65756e6932363433756e6932363434756e6932363435
+756e6932363436756e6932363437756e6932363438756e6932363439756e69323634
+41756e6932363442756e6932363443756e6932363444756e6932363445756e693236
+3446756e6932363530756e6932363531756e6932363532756e6932363533756e6932
+363630756e6932363633756e6932363635756e6932363636756e69323636396d7573
+6963616c6e6f74656d75736963616c6e6f746564626c756e6932363643756e693236
+3935756e6932363938756e6932364132756e6932364133756e6932364134756e6932
+373637756e6932374536756e6932374537756e6932374538756e6932374539756e69
+32433630756e6932433631756e6932433632756e6932433633756e6932433634756e
+6932433635756e6932433636756e6932433637756e6932433638756e693243363975
+6e6932433641756e6932433642756e6932433643756e6932433734756e6932433735
+756e6932433736756e6932433737756e6941373230756e6941373231547578756e69
+45303031756e6945303032756e6945303033756e6945303034756e6945303035756e
+6945303036756e6945303037756e6945303038756e6945303039756e694530304175
+6e6945303042756e6945303043756e6945303044756e69453030457a65726f2e736c
+6173686669747465647a65726f2e6669747465646f6e652e66697474656474776f2e
+66697474656474687265652e666974746564666f75722e666974746564666976652e
+6669747465647369782e666974746564736576656e2e66697474656465696768742e
+6669747465646e696e652e6669747465644575726f2e66697474656459656e2e6669
+74746564756e694530314370657274686f7573616e647a65726f7a65726f2e6f6c64
+7374796c656f6e652e6f6c647374796c6574776f2e6f6c647374796c657468726565
+2e6f6c647374796c65666f75722e6f6c647374796c65666976652e6f6c647374796c
+657369782e6f6c647374796c65736576656e2e6f6c647374796c6565696768742e6f
+6c647374796c656e696e652e6f6c647374796c654164696572657369732e616c744f
+64696572657369732e616c745564696572657369732e616c74665f665f6a665f6a66
+5f6b665f74635f6b635f68745f74635f7461652e616c74515f75545f68745f7a682e
+616c746765726d616e64626c732e616c746765726d616e64626c732e73733033756e
+69314539432e616c74616d70657273616e642e616c74612e7363622e7363632e7363
+642e7363652e7363662e7363672e7363682e7363692e73636a2e73636b2e73636c2e
+73636d2e73636e2e73636f2e7363702e7363712e7363722e7363732e7363742e7363
+752e7363762e7363772e7363782e7363792e73637a2e736368797068656e2e736361
+67726176652e73636161637574652e73636163697263756d666c65782e7363617469
+6c64652e73636164696572657369732e73636172696e672e736361652e7363636365
+64696c6c612e73636567726176652e73636561637574652e73636563697263756d66
+6c65782e73636564696572657369732e73636967726176652e73636961637574652e
+73636963697263756d666c65782e73636964696572657369732e73636574682e7363
+6e74696c64652e73636f67726176652e73636f61637574652e73636f63697263756d
+666c65782e73636f74696c64652e73636f64696572657369732e73636f652e73636f
+736c6173682e73637567726176652e73637561637574652e73637563697263756d66
+6c65782e73637564696572657369732e73637961637574652e736374686f726e2e73
+637964696572657369732e7363696a2e73636765726d616e64626c732e7363616c74
+6765726d616e64626c732e73636463726f61742e73636162726576652e7363616f67
+6f6e656b2e73636361637574652e7363636361726f6e2e7363646361726f6e2e7363
+656f676f6e656b2e7363656361726f6e2e73636762726576652e73636c6163757465
+2e73636c736c6173682e73636e61637574652e73636e6361726f6e2e7363656e672e
+73636f68756e676172756d6c6175742e73637261637574652e7363726361726f6e2e
+73637361637574652e736373636564696c6c612e7363736361726f6e2e7363746365
+64696c6c612e7363746261722e73637572696e672e73637568756e676172756d6c61
+75742e73637a61637574652e73637a646f74616363656e742e73637a6361726f6e2e
+73636c6361726f6e2e7363746361726f6e2e736374636f6d6d61616363656e742e73
+6373636f6d6d61616363656e742e736369646f74616363656e742e7363612e736361
+6c74612e7375706572696f72622e7375706572696f72632e7375706572696f72642e
+7375706572696f72652e7375706572696f72662e7375706572696f72672e73757065
+72696f72756e6945304337756e6945304338756e69453043396b2e7375706572696f
+726d2e7375706572696f72756e69453043446f2e7375706572696f72702e73757065
+72696f72712e7375706572696f72756e6945304431742e7375706572696f72752e73
+75706572696f72762e7375706572696f72756e6945304436756e6945304437756e69
+453044387a2e7375706572696f72662e73686f7274665f662e73686f7274756e6945
+304538572e616c74562e616c744b2e616c74522e616c744a2e616c747a2e616c7475
+6e6945304634792e616c74756e6945304639756e69453046426b726569737a65726f
+2e7461626f6c647374796c656f6e652e7461626f6c647374796c6574776f2e746162
+6f6c647374796c6574687265652e7461626f6c647374796c65666f75722e7461626f
+6c647374796c65666976652e7461626f6c647374796c657369782e7461626f6c6473
+74796c65736576656e2e7461626f6c647374796c6565696768742e7461626f6c6473
+74796c656e696e652e7461626f6c647374796c65756e6945313330756e6945313338
+756e6945313438622e696e666572696f72632e696e666572696f72642e696e666572
+696f72662e696e666572696f72672e696e666572696f72682e696e666572696f7269
+2e696e666572696f726a2e696e666572696f726b2e696e666572696f726c2e696e66
+6572696f726d2e696e666572696f726e2e696e666572696f72702e696e666572696f
+72712e696e666572696f72722e696e666572696f72732e696e666572696f72742e69
+6e666572696f72752e696e666572696f72762e696e666572696f72772e696e666572
+696f72792e696e666572696f727a2e696e666572696f72756e6945313838756e6945
+313839762e616c7467726176652e63617061637574652e63617063697263756d666c
+65782e6361706361726f6e2e63617062726576652e63617068756e676172756d6c61
+75742e63617073706163655f756e69303330462e6361706272657665696e76657274
+6564636d622e63617062726576652e63797263617062726576652e63797264696572
+657369732e636170686f6f6b61626f7665636f6d622e636170756e69453432307a65
+726f2e736c617368706172656e6c6566742e7363706172656e72696768742e736362
+7261636b65746c6566742e7363627261636b657472696768742e736362726163656c
+6566742e7363627261636572696768742e73636578636c616d646f776e2e73637175
+657374696f6e646f776e2e73636775696c6c656d6f746c6566742e73636775696c6c
+656d6f7472696768742e73636775696c73696e676c6c6566742e73636775696c7369
+6e676c72696768742e736368797068656e2e636170646f746c6573736a6166696931
+303036382e6974616c6166696931303036362e6974616c6166696931303036392e69
+74616c6166696931303038312e6974616c756e6946364338665f66665f69665f6c66
+5f665f69665f665f6c6c6f6e67735f74735f74756e6946464644756e693033353035
+2e312e364c696e7578204c6962657274696e65206279205068696c69707020482e20
+506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73206f6620666f6c
+6c6f77696e67204672656520536f667477617265204c6963656e7365733a0a47504c
+202847656e6572616c205075626c6963204c6963656e736529207769746820666f6e
+742d657863657074696f6e20616e64204f464c20284f70656e20466f6e74204c6963
+656e7365292e0a43726561746564207769746820466f6e74466f7267652028687474
+703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420323030332c2032
+3030342c20323030352c20323030362c20323030372c20323030382c20323030392c
+20323031302c20323031312c323031324c696e7578204c6962657274696e65204f20
+4974616c69634c696e7578204c6962657274696e65204f0000000001000200030004
+00050006000700680009000a000b000c000d000e000f001000110012001300140015
+0016001700180019001a001b001c001d001e001f0020002100220023002400250026
+002700280029002a002b002c002d002e002f00300031003200330034003500360037
+00380039003a003b003c003d003e003f0040007c0042004300440045004600470048
+0049004a004b004c004d004e004f0050005100520053005400550056005700580059
+005a005b005c005d005e005f01870060006100620067006400a00066008300aa008b
+006a0097018800a5008000a1009c0189018a007d018b007300720085018c008f0078
+009e009b00a3007b00ae00ab00ac00b000ad00af008a00b100b500b200b300b400b9
+00b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d00c400c100c200c300c5
+009d009500cb00c800c900cd00ca00cc009000ce00d200cf00d000d100d600d300d4
+00d500a700d700db00d800d900dc00da009f009300e100de00df00e000e200a200e3
+018d018e018f0190019101920193019401950196019701980199019a019b019c019d
+019e019f01a001a101a201a301a401a501a601a701a801a901aa01ab01ac01ad01ae
+01af01b001b101b201b301b401b501b601b701b801b901ba01bb01bc01bd009101be
+01bf01c001c101c201c301c401c501c601c701c801c901ca01cb01cc008c009201cd
+01ce01cf01d001d101d201d301d401d501d601d701d801d901da01db008e009401dc
+01dd01de01df01e001e101e201e301e401e501e601e700c000dd01e801e901ea01eb
+01ec01ed01ee01ef01f001f101f201f301f401f501f601f701f801f901fa01fb01fc
+01fd00c601fe01ff0200020100c700e402020203020402050206020702080209020a
+020b020c020d020e020f02100211021202130214006502150216021702180219021a
+021b021c021d021e021f0220022102220223022402250226022702280229022a022b
+022c022d022e022f0230023102320233023402350236023702380239023a023b023c
+023d023e023f0240024102420243024402450246024702480249024a024b024c024d
+024e024f0250025102520253025402550256025702580259025a025b025c025d025e
+025f0260026102620263026402650266026702680269026a026b026c026d026e026f
+0270027102720273027402750276027702780279027a027b027c027d027e027f0280
+028102820283028402850286028702880289028a028b028c028d028e028f02900291
+02920293029402950296029702980299029a029b029c029d029e029f02a002a102a2
+02a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af02b002b102b202b3
+02b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c002c102c202c302c4
+02c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d102d202d302d402d5
+02d602d702d802d902da02db02dc02dd02de02df02e002e102e202e302e402e502e6
+02e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f302f402f502f602f7
+02f802f902fa02fb02fc02fd02fe02ff030003010302030303040305030603070308
+0309030a030b030c030d030e030f0310031103120313031403150316031703180319
+031a031b031c031d031e031f0320032103220323032403250326032703280329032a
+032b032c032d032e032f0330033103320333033403350336033703380339033a007e
+0088033b033c033d033e033f0340034103420343034403450346034703480349034a
+0081008200840087007f0086034b034c034d034e034f035003510352035303540355
+0356035703580359035a035b035c035d035e035f0360036103620363036403650366
+036703680369036a036b036c036d036e036f03700371037203730374037503760377
+03780379037a037b037c037d037e037f038003810382038303840385038603870388
+0389038a038b038c038d038e038f0390039103920393039403950396039703980399
+039a039b039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa
+03ab03ac03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb
+03bc03bd03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc
+03cd03ce03cf03d003d103d203d303d403d503d603d703d803d903da03db03dc03dd
+03de03df03e003e103e203e303e403e503e603e703e803e903ea03eb03ec03ed03ee
+03ef03f003f103f203f303f403f503f603f703f803f903fa03fb03fc03fd03fe03ff
+0400040104020403040404050406040704080409040a040b040c040d040e040f0410
+0411041204130414041504160417009804180419041a041b041c041d041e041f0420
+042104220423042404250426042704280429042a042b042c042d042e042f04300431
+04320433043404350436043704380439043a043b043c043d043e043f044004410442
+0443044404450446044704480449044a044b044c044d044e044f0450045104520453
+045404550456045704580459045a045b045c045d045e045f04600461046204630464
+04650466046704680469046a046b046c046d046e046f047004710472047304740475
+0476047704780479047a047b047c047d047e047f0480048104820483048404850486
+048704880489048a048b048c048d048e048f04900491049204930494049504960497
+04980499049a049b049c049d049e049f04a004a104a204a304a404a504a604a704a8
+04a904aa04ab04ac04ad04ae04af04b004b104b204b304b404b504b604b704b804b9
+04ba04bb04bc04bd04be04bf04c004c104c204c304c404c504c604c704c804c904ca
+04cb04cc04cd04ce04cf04d004d104d204d304d404d504d604d704d804d904da04db
+04dc04dd04de04df04e004e104e204e304e404e504e604e704e804e904ea04eb04ec
+04ed04ee04ef04f004f104f204f304f404f504f604f704f804f904fa04fb04fc04fd
+04fe04ff0500050105020503050405050506050705080509050a050b050c050d050e
+050f0510051105120513051405150516051705180519051a051b051c051d051e051f
+0520052105220523052405250526052705280529052a052b052c052d052e052f0530
+053105320533053405350536053705380539053a053b053c053d053e053f05400541
+05420543054405450546054705480549054a054b054c054d054e054f055005510552
+0553055405550556055705580559055a055b055c055d055e055f0560056105620563
+056405650566056705680569056a056b056c056d056e056f05700571057205730574
+05750576057705780579057a057b057c057d057e057f058005810582058305840585
+0586058705880589058a058b058c058d058e058f0590059105920593059405950596
+059705980599059a059b059c059d059e059f05a005a105a205a305a405a505a605a7
+05a805a905aa05ab05ac05ad05ae05af05b005b105b205b305b405b505b605b705b8
+05b905ba05bb05bc05bd05be05bf05c005c105c205c305c405c505c605c705c805c9
+05ca05cb05cc05cd05ce05cf05d005d105d205d305d405d505d605d705d805d905da
+05db05dc05dd05de05df05e005e105e205e305e405e505e605e705e805e905ea05eb
+05ec05ed05ee05ef05f005f105f205f305f405f505f605f705f805f905fa05fb05fc
+05fd05fe05ff0600060106020603060406050606060706080609060a060b060c060d
+060e060f0610061106120613061406150616061706180619061a061b061c061d061e
+061f0620062106220623062406250626062706280629062a062b062c062d062e062f
+0630063106320633063406350636063706380639063a063b063c063d063e063f0640
+064106420643064406450646064706480649064a064b064c064d064e064f06500651
+06520653065406550656065706580659065a065b065c065d065e065f066006610662
+0663066406650666066706680669066a066b066c066d066e066f0670067106720673
+067406750676067706780679067a067b067c067d067e067f06800681068206830684
+06850686068706880689068a068b068c068d068e068f069006910692069306940695
+0696069706980699069a069b069c069d069e069f06a006a106a206a306a406a506a6
+06a706a806a906aa06ab06ac06ad06ae06af06b006b106b206b306b406b506b606b7
+06b806b906ba06bb06bc06bd06be06bf06c006c106c206c306c406c506c606c706c8
+06c906ca06cb06cc06cd06ce06cf06d006d106d206d306d406d506d606d706d806d9
+06da06db06dc06dd06de06df06e006e106e206e306e406e506e606e706e806e906ea
+06eb06ec06ed06ee06ef06f006f106f206f306f406f506f606f706f806f906fa06fb
+06fc06fd06fe06ff0700070107020703070407050706070707080709070a070b070c
+070d070e070f0710071107120713071407150716071707180719071a071b071c071d
+071e071f0720072107220723072407250726072707280729072a072b072c072d072e
+072f0730073107320733073407350736073707380739073a073b073c073d073e073f
+0740074107420743074407450746074707480749074a074b074c074d074e074f0750
+0751075207530754013a006f00890755075607570041000800750758006900770076
+0759007000710074075a00ee00ed0079075b075c007a075d075e075f076007610762
+0763006b006c0764076507660767076800630769076a076b076c076d076e076f0770
+077107720773077407750776077707780779077a077b077c077d077e077f07800781
+07820783078407850786078707880789078a078b078c078d078e078f079007910792
+0793079407950796079707980799079a079b079c079d079e079f07a007a107a207a3
+07a407a507a607a707a807a907aa07ab07ac07ad07ae07af07b007b107b207b307b4
+07b5009907b607b707b807b907ba07bb07bc07bd07be0144014507bf07c007c107c2
+07c307c4014001410142014307c507c607c707c807c907ca07cb07cc07cd07ce07cf
+07d007d107d207d307d407d507d607d707d807d907da07db07dc07dd07de07df07e0
+07e107e207e307e407e507e607e707e807e907ea07eb07ec07ed07ee07ef07f007f1
+07f207f307f407f507f607f707f807f907fa07fb07fc07fd07fe07ff080008010802
+0803080408050806080708080809080a080b080c080d080e080f0810081108120813
+081408150816081708180819081a081b081c00a6081d081e081f0820082108220823
+082408250826082708280829082a082b082c082d082e082f08300831083208330834
+08350836083708380839083a083b083c083d083e083f084008410842084308440845
+0846084708480849084a084b084c084d084e084f0850085108520853085408550856
+085708580859085a085b085c085d085e085f08600861086208630864086508660867
+08680869086a086b086c086d086e086f087008710872087308740875087608770878
+0879087a087b087c087d087e087f0880088108820883088408850886088708880889
+088a088b088c088d088e088f0890089108920893089408950896089708980899089a
+089b089c089d089e089f08a008a108a208a308a408a508a608a708a808a908aa08ab
+08ac08ad08ae08af08b008b108b208b308b408b508b608b708b808b908ba08bb08bc
+08bd08be08bf08c008c108c208c308c408c508c608c708c808c908ca08cb08cc08cd
+08ce08cf08d008d108d208d308d408d508d608d708d808d908da08db08dc08dd08de
+08df08e008e108e208e308e408e508e608e708e808e908ea08eb08ec08ed08ee08ef
+08f008f108f208f308f408f508f608f708f808f908fa08fb08fc08fd08fe08ff0900
+090109020903090409050906090709080909090a090b090c090d090e090f09100911
+09120913091409150916091709180919091a091b091c091d091e091f092009210922
+0923092409250926092709280929092a092b092c092d092e092f0930093109320933
+093409350936093709380939093a093b093c093d093e093f09400941094209430944
+09450946094709480949094a094b094c094d094e094f095009510952095309540955
+0956095709580959095a095b095c095d095e095f0960096109620963096409650966
+096709680969096a096b096c096d096e096f09700971097209730974097509760977
+09780979097a097b097c097d097e097f098009810982098309840985098609870988
+0989098a098b098c098d098e098f0990099109920993099409950996099709980999
+099a099b099c099d099e099f09a009a109a209a309a409a509a609a709a809a909aa
+09ab09ac09ad09ae09af09b009b109b209b309b409b509b609b709b809b909ba09bb
+09bc09bd09be09bf09c009c109c209c309c409270300000100004e0000510000a500
+010000015e0003780003cc0004b90004ea00053800058900061e0006470006990006
+a70006b70006cc0006e30006f500070500071c0007320007a400082400082e00084b
+0008710008a800090b00092500093a000954000977000a5a000b8b000bc6000be100
+0bfc000c3d000c66000c89000c9c000cac000d5f000d6e000d8c000f6a000f81000f
+a5000fd000113e00116b00119c0011c00011d90011e60011f600121000121e001238
+00125e00127800129d0012b50012c90012fd00131800133600134b00136900138600
+13a50013e200150400153200156800158700159c0015d900165b0016760016940017
+a10018870018a80018b80018c70018e00018f700191b00193b0019610019e50019fe
+001a7f001ab8001abb001b4b001cd1001dfb001e96001fbc001fdd00221e00223800
+22930022ce00233a0023530023860024350024690024cd00250500251c0025360025
+4a00264700270700271b00276500277b0027c60028320028560028780028a900296b
+00298b0029aa0029ca0029f4002a27002bf0002c55002c81002cf0002d47002d9f00
+2ee3002efc002f14002f2c002f510030b70030e300310e00313900316500319a0031
+df00320c00323c00325f0032810032a40032c50032dc00339d0034ee003513003534
+00355f00358b0035bd0035f300362800364e0036750036980036c50036f700372300
+37520037e500381b0038bb00390000392200394400396c0039950039c8003a14003a
+44003a60003a7c003a9f003ad5003afc003c39003e04003e2a003e51003e7a003eb0
+003f880040420040650040810040a50040c70040f500412400414900416c00419100
+42750043db0044c30045180045410045950045cd0046e900474a00493a004a47004a
+9a004ac5004af0004b3a004c74004cd0004d05004d4e004d81004e58004e73004ea5
+00505c00515000516f00523e00525b0052d30052f200537d00550300563400565100
+571e0057380058c100599b0059ce0059ed005a1c005a42005a68005a83005ab1005a
+d8005b6a005c91005cbe005ced005e0e005f13005f33005f68005f8e005fcd005fee
+00602b00611e00620e0063960063c60063ee00642a0064600064950064c80065a400
+66ac0066e00067080067450067760067ab0067da00681300684200687b0068b3006a
+3a006b07006b41006b7a006c9b006dcb006df8006e7c006f7b0070820070a90070ce
+0070f40071180071430071b60072660072960072c00072ee00750000764300765c00
+76810076980076c50076e70077680077960077c30077fe00782200785700786b0079
+1d0079d8007a07007aa8007b32007bbc007c24007cad007d57007e0b007eae007f55
+00800b0080c500819e0081be00825d0084610085000085e400872300890000891500
+8a2a008b31008c49008d69008de3008f2b008ffd0090ca00914c0091810091ae0092
+7f00932f00940b0094e00095db00967800971300978000983a0098e500999d009a3f
+009bac009bc5009bec009ca4009d59009e2e009fdd00a10e00a22300a23e00a2df00
+a37100a42300a4bc00a52d00a5a500a62200a6bc00a6d000a6e900a72b00a7fa00a8
+5800a9b300aabe00aaef00ab4d00ac2700ad4d00af1c00b03e00b06100b08a00b12b
+00b15b00b18900b1b200b1d500b1f900b22a00b26c00b30200b34600b40800b4de00
+b57800b5bc00b63d00b68000b6be00b7ce00b81300b97a00ba2a00baf200bc5100bd
+3100bd7c00bebe00bee700bf1800bf3800bf7500bfa200bfc600bffb00c02f00c080
+00c0c800c11500c13f00c1f200c31f00c3c300c3e200c41700c62a00c67100c6ec00
+c72900c76000c79600c7be00c7f000c81900c84c00c89a00c96300c9b900c9f100ca
+1200cb4000cb5f00cbed00cc2000cc5d00cc9600cccc00cd0800cd4b00cdad00cde6
+00ce0e00cecc00cef700cf2500d05500d08500d12e00d15100d20000d2ab00d2c800
+d2fb00d3e200d4f100d60f00d74f00d7ff00d8b700d8e400d91800d96a00da3800da
+8e00dacd00db4e00db8300dbbd00dbee00dc5100dc8e00dca800dcd500de3500dfaa
+00e06a00e09000e19800e2ed00e3d400e46b00e4fa00e64100e75100e88300e8f300
+e9ce00eacb00eba900ec1c00ec8f00ed4100ee4100ef3400effd00f0a900f1e100f1
+ff00f2d500f38800f40200f4d500f58d00f63b00f71a00f7c100f86500f94e00f9ed
+00fb3900fc6e00fe9100ff9d00ffb101003b0101c00103060103f30104fa01064001
+07910108d50109b8010bab010c67010d0a010dcb010edd010fc30110b30111580112
+190112be0113680113df01146401152c0115f20116db01175a0117f20118e501198d
+0119f4011a5d011b33011bdb011c7d011d20011e26011ee8011f9d01207e01213301
+215d01224b0122e90123820124460124a701254e0126090126dd0127b70128ac0129
+b7012af5012b68012c4c012d18012ddf012f05013035013188013253013338013453
+0135bb0136c001379e013b67013ba4013c8e013d86013f5701410b0142480143d101
+44eb01463a01479d014982014b28014bd1014bf6014c7b014d00014d7d014e14014e
+a7014f6e01503501506801509e0150d10151050151160151240151b50151d1015257
+0152710152d60153340153b301542c01546401548e0155340155ca01565a0156e801
+57aa01581301583001584d0158740159010159200159380159e9015aae015c41015d
+65015e770160b00161ef01621601624701627a0162a70162ce0162ff01633f016370
+0163ab0164ee01653601657e0165dc01663a0166d401676201687e0169a2016a3601
+6acd016b35016ba0016c06016c6d016d0e016d9e016e08016e0f016e82016eeb016f
+7e016fd30170250170850170930170aa01718101721e017310017374017403017445
+01754b0175de01763e0176f201770f0177bb0178670178e401795e0179f2017a8201
+7af1017b70017c00017c8e017d1a017dd9017e41017eb5017f35017f7e0180060180
+a101813601820401828b0182eb0183870184400184b801852801858b0185eb01867d
+0186d90187270187c501885c0188b50188ff018936018977018a0b018aa4018ae701
+8ba1018c26018d3d018dcd018de4018e67018efe018f1b01900d0190750191150191
+a901925d0192c701941401957b01968801974b0197ca0198260198ba0199650199f3
+019a4f019aab019b27019bb7019c02019d4b019e94019f88019fe301a03e01a08b01
+a0d801a16401a1c001a22e01a37601a41f01a52a01a5bb01a6f501a7e601a91501aa
+d801ad5901ae8f01af6e01b09701b28c01b2c201b2f601b33401b34701b38a01b3ce
+01b44b01b45601b47601b55b01b59201b69c01b7e001b89701b94501ba5801bb4401
+bb6f01bb8801bbc301bc5201bcba01bcfb01bd1501bd2801bdc901bdd901bde801be
+8301be9301beaa01bfb801bfdc01bfff01c02a01c0a501c0c901c0d701c1cc01c1e6
+01c20d01c2c301c2e801c30c01c34201c36901c39f01c3bb01c40d01c43b01c51201
+c5a701c63301c65201c6ed01c70f01c78701c79b01c7c801c83101c8ec01c95b01ca
+3701ca5201cae501cb5a01cbcc01cc2301cc8201ccb201cd4d01cdd101ce8701cea0
+01cec401cf1101cf3401cf6c01cf8d01d01101d0ce01d0e101d21c01d24501d43301
+d4cb01d65101d75701d83401d8eb01d99401da4001dada01db5601db7c01dc1601dc
+7a01dd5301de1a01de2d01de6301dee501df7901e00f01e0a401e0b701e10301e117
+01e15c01e1a101e1f201e25101e36401e39f01e42201e45301e46301e48801e50301
+e60e01e74101e86101e88101e89a01e8b701e9b501e9ce01e9fd01ea3801ea6c01eb
+4601eb8701ebab01ebc301ebd401ebf201ec0a01ece001ecf001ed0301ed2701ed4a
+01ed7501ed9001edb401edc301efa301efbd01f0a801f0be01f20601f34701f40c01
+f43301f45101f47401f5a701f68a01f6a501f71c01f79e01f7b501f83401f85101f8
+6c01f8a801f8be01f8de01f91401f9fe01fad501fbd201fbed01fc1c01fc3a01fc4f
+01fc8c01fcac01fdd201fdf601ff450200770201490202a602033c02038b02042102
+04ac0206690207200207470207790207f60208140208a80208c90208f702092d0209
+63020a5c020bb7020cf7020d33020d4f020d7c020ec0020ee7020f0c02103a021137
+0212970214240215120215b70217720218ad0219d5021adc021ce0021ea9021f5f02
+205502207c0221c70221f102231d0223370223550223eb0224930225950226660226
+8d0226b20227080227d3022871022a0a022b8d022c29022cb2022d56022def022ef1
+022fd20231500232a90233c002348002357002366702377d02388202398a023a7502
+3b80023c74023d88023e89023fb80240c40241b90242ef0243e90244d00245670246
+030246a802473f02487602494b024a3a024b24024c8d024dd8024ee6024fe30250c9
+0251ad0252a302539f02548f0255820255cd0256960257290258310258d402597d02
+59b1025aeb025c0a025d19025e0a025f10025ffc0260e10261c40261eb0262100262
+3e0262700262d502630a02635f0263870263a70263c50263f80264730264ab0265c7
+0265f302664d0266680266fe02673c0267a002680c0268930268d402690902693302
+69c30269ff026a91026ac8026b71026b91026bbd026be1026c16026c36026ce4026d
+0c026e69026efc026f8502705c0270ca0271090271830271b202720e02724102727b
+0272e50272fb02733a02734b02735c0273ec0273fd02741402742c02744202745b02
+748e0274c10275050275610276700276d202775a0277be02785a02786b0278df0279
+69027a25027a38027a87027ae6027bb2027c1c027cd1027d31027d9a027e17027f04
+027fad0280560281050281e602827b0282cd0283dd02845b0284760284950284eb02
+84ff0285440285ae02865002869e0286d402872702875c0287a50287d10287fd0288
+2d02885e0288980288ce02890602892f02895b028a31028a5f028a84028aad028b80
+028bb7028c86028cbd028d09028d31028d8b028e3a028e96028fcb02901102904302
+90710290bb0290e50291250291500291930291ba0292e00294cf02961b02964a0296
+d30296f30297310297c40298aa0298c20298e80299100299480299650299920299c8
+0299ff029a42029a88029ab4029b1c029b44029bbe029bd7029c1c029c40029cd202
+9cf7029d4c029d76029dba029de5029e2e029e53029e90029eb0029ee9029f50029f
+87029ffd02a04402a0ed02a12002a16f02a1a202a1d602a1fa02a23802a32f02a36e
+02a3a202a3e702a42202a47702a4bf02a4fa02a56602a5ac02a5f202a63d02a67f02
+a6c702a78202a7cb02a8e902a94902a9a102a9da02aa0502aa4402aa7202aaa402ab
+0702ab3502abab02abde02ac1c02ac4502ac6b02ac8d02acae02adda02ae0a02ae6a
+02aea802aec302aeed02af1302af4602af5f02af7d02af9602afb502afda02b00402
+b05e02b08b02b0b002b0dd02b10c02b14d02b18002b1c002b1e202b21802b23a02b2
+7002b2a202b2e202b30a02b34002b37602b39f02b40502b43d02b45802b48002b5c4
+02b74a02b81602b89a02b8cc02b90102b92d02b96b02ba3902bb7502bba002bc5b02
+bc8e02bd9202bdda02be1402be5202be9502bf2c02bf6c02c00702c04702c10702c1
+5b02c1ac02c1ef02c23602c28902c2ee02c32b02c3c902c40302c45b02c48602c548
+02c58302c63e02c67902c6df02c72b02c87802c8b302c92402c96f02c99102ca8402
+caa902caee02cb2902cb5e02cb9c02cbd402cc6b02cca102ccd802cd0e02cd5d02cd
+a102cec202cef702cf3e02cf8002cfe202d01602d05e02d09202d0d902d1df02d229
+02d34c02d39c02d3e702d41702d44702d47502d4a802d4cc02d4f902d52202d55002
+d57a02d5c002d5e502d61902d64c02d69102d6a802d6ce02d6f502d72a02d74b02d7
+8802d7a402d7d202d80002d82e02d86d02d8bb02d8f402d92902d9a802d9f802da23
+02da4e02da8b02dac802dafa02db2c02dbb802dc0302dc4902dc8f02dceb02dd5c02
+ddd302ddfa02de3a02df3b02e08302e12202e22a02e36502e38602e3a702e3da02e4
+0d02e43502e45d02e4a102e4e502e50402e52302e67202e69e02e6c802e70b02e74d
+02e89702e8de02e8ff02e97802e9e202ea3502ea5d02ead102eb4602ebf002ec3302
+eca102ed8a02ee6602eed702ef4702f01202f05c02f0a602f10902f16c02f1ef02f2
+4902f2b202f32802f3a702f42502f4eb02f51a02f56502f5b002f60e02f66c02f6c5
+02f74702f7be02f84502f94502fa7502fbb502fcd902fcff02fd2502fd6302fda102
+fdd602fe0b02fe5902fea402ff480300130300c803018b0302360302e10303e60304
+da03050603053003058a0305d30305ff03061c0306720306bd0307170307640307c2
+03080f0308340308570308910308cb03091a03097a0309bf030a00030ab4030b1803
+0b72030bb0030bfd030c4a030c8c030cf1030e26030ea1030ed2030f03030f45030f
+87030fbf030ff70310630310b60312100312410313a903140503143f0314960314e8
+0316780316aa0316dc03172a0317780317b90317fa0318760318cd0319340319ea03
+1a6c031b50031b98031c55031d16031de5031e35031e7a031eb2031ee0031f16031f
+5d031fb0031ff403203303205a0320aa0320f003210603213c0321520321830321e3
+03221e0322430322700322ab03231403238d0323f203244d03257703269e0326ec03
+275d0327bc03281c0328570328f80329680329a4032a4b032a84032b20032bde032c
+23032c71032cdb032d3f032d6a032da6032e49032ed7032f1f032f41032f9203300f
+03304603307903319003329003336a0333c60334150334670334980334bf0334ee03
+353003357e0335fe0336920337330337fc0338c003390203393e0339400339430339
+4503394803394b03394e03395103395303395603395903395c03395d033970033983
+0339ac0339be0339d10339e4033a04033a27033a3a033a4d033a9b033ab1033ad603
+3b89033bad033c51033d1a033e64033ee5033f00033f10033f28033f4a033f7e033f
+81033fd90340430340580340a10340bc0340d003416d034205034238034268034349
+0344110345d10345e60347a90347bc0347f803484d0348a10348f3034a0f034ae003
+4af9034c74034c99034d85034ed0034ef603509e0351b80352050352320352750353
+110353aa0355ce0355e703564403565a0357f70358ac035998035ae3035b08035cb0
+035dca035e11035e36035e7a035f12035faa0361940362ad03637c0365b10366cb03
+66ed03670b03672b0367490367760367a20367c70367dc0368b8036978036a42036c
+0e036dae036e93036feb0371100372100372830373060373e10374520374ad03755b
+0376430376ee0378600378ff0379ee037aa4037b15037c57037d5c037df3037f6c03
+806a03812b0382a60384160384d10385640386190386730387c903881b0388870388
+db0389600389a80389ff038a31038a69038bd9038c1b038cfd038ebd038f1103914c
+0392810392ea0392fe0393a00394a50396050397080397f7039949039aff039d1603
+9f3f03a14203a30603a52f03a5fd03a65a03a70303a7f203a87b03ab1603adf003af
+8203b01b03b1b403b45a03b83903ba5903bb5e03bd8803c0fc03c16a03c1c303c26e
+03c38503c42903c54e03c65003c6a903c6ff03c74d03c79903c7e603c82f03c8ab03
+c92c03c98903c9e403ca3f03ca9903cb1003cb8703cbf903cc9a03ccc503ccd403cc
+e303cd0e03cd5f03cd7603ce0903cee403cf7603cfd003d02603d08003d0d503d178
+03d20f03d27703d2f103d35a03d3d203d3ff03d44e03d4c903d4f903d59903d6f503
+d73e03d78903d7d603d8d803d91e03d96a03da7003dab703db9103dc6d03dcd203dc
+e603dd1f03dd6c03dd8103dd9503de1b03de6303de8e03de9c03df2703dfa703e02f
+03e04b03e06003e0c503e0dd03e18603e1a603e1c503e20103e23f03e29403e2dc03
+e32003e3e303e43e03e4bd03e62e03e67803e6e503e71403e7ab03e7d403e7fd03e8
+3003e86303e8fc03e99c03ea4a03eb0403eb4003eb7d03ec1b03ecb803eda203ee33
+03ef1303efb203efdd03f09c03f0cb03f0e603f0ff03f13503f17003f17f03f18e03
+f1cd03f1e403f20903f21c03f23d03f24e03f26e03f28103f2a003f2b303f2d603f2
+e903f33603f36903f38e03f3a803f3b903f3f003f45603f4bd03f52203f56403f5aa
+03f5cf03f5f203f61b03fdb703feb504009404029004032b0404150404dd0405bf04
+067c0407000407820408130408770408fd0409af040a6c040b16040c29040d03040d
+78040e26040eee040f8004107b04117f04128f0413460414450414b30415a90416d4
+04176b0417cd0418650418a80418cf04191204199e041a1e041ab4041ca5041d5d04
+1e8a041ff40420bb0428560428890428bd0428cc0428db042a14042b27042ca9042e
+43042f7704312104324004335404344a04356e04368504371d04379104387104393a
+043a08043a9c043acb043af90443dd0445010449ce044af2044b22044b53044b9d04
+4c30044e30044e720452660452eb0453ab04548204549b0455f504560b04561c0456
+2c0456430456590456de04575e04576e04578b0457b1045902045a4f045ab5045ad0
+045b1c045b7e045b8e045ba6045c2f045c51045c72045c94045cb2045cd7045d0504
+5d42045d730461400463b804669d0468be046a12046c0c046d0c046f830470530472
+9f04741c0474ca04756904765004773d0478850479a70479c2047a8b047aa0047ab9
+047ad2047b9f047bb8047cba047ccb047cdf047e3b047e4b047f11047f2a047f4804
+7ff70480bd0480e80481150481250481380481c20482cc0484180484270484370484
+6a04848f0484b10485350485610485910485c904872004887c04889e0488bd0488e6
+0489d0048a3b048a52048a73048a98048ab7048ade048b05048b29048b58048b8804
+8bbe048c8b048dee048e0c048e27048e4c048e73048e89048f46048f69048f88048f
+e204909e0490bd0491310492570492730492960492bd0493d50493fb0494730494f6
+0495be0495dd0496040496f704972a04975c0497940497c70498c10498fc049a0b04
+9ada049b05049b2d049b44049b68049b85049c06049c27049c4b049c94049cb1049d
+c2049dfd049e1b049e36049e64049f87049fa0049ff7049ffa049ffd04a00004a122
+04a2a904a2ac04a37c04a3aa04a3c904a3cc04a3e204a40504a41904a41c04a41f04
+a42204a43804a5c804a79504a87504a96404aa0504aaeb04abc604acd604ad9e04ae
+4004af1a04b04d04b07604b08f04b0dd04b14004b15004b16804b1f104b21304b234
+04b25604b27404b29904b2ab04b40d04b41004b42d04b44504b47104b48804b4df04
+b50104b67b04b7b404b7d204b7f204b81004b83d04b86904b88604ba0e04ba3304ba
+4804ba6a04ba7b04bc6404be0604be1a04be4f04be7804bf2004bf3104bf4304bf54
+04bf6604bf7a04bf9304bfac04bfbb04bfcb04bfdb04bff304c00904c26f04c3d604
+c40a04c43f04c46404c48704c4fd04c57204c5da04c67b04c6c804c71a04c74804c7
+7304c7b804c7de04c84e04c8df04c97904c99e04cac104cca004cebb04d0f104d47c
+04d71d04d8ce04dac304dbac04dbf34e8bbdf8ecbd018bbdf824bd03bdf8f115f73e
+fb93fb3efb9305a95e15f73ef793f73efb9305fb20f7c015f73ef7938bfc9205fb5c
+f7c015fb3ef793f7e88b05fc38fd1e15f888f950fc88060efbcb0efbe27ef512e2f7
+0165a981f70bfb0af70a13c0e3b3158b888a888b888b729e78a58ba98ba7a390a88b
+8e8c8e8b8e8ba4789e718b086e8b6f73856e08f738f90515200a1390210a1388220a
+13a0230a1390240a0efb75f83ff76e01f73be5b0e403f7b7f83f15a68f058b8bc9f7
+398e9b089207988498751e6d8b706f887589828afb338b8b08fb138a15a68f058b8b
+c9f7398e9b8c8d8b8d8b8e8b988498758b6c8b716f87758a8289fb338b8b080efb0f
+f74bbcf701bc01f80cf7e915e58b9bbc318bc4f73e6a8b52fb3efb028bc4f73e698b
+53fb3e308b7b5ae58b67fb02308b057b5be58b53fb3eac8bc4f73ef7028b52fb3eac
+8bc5f73ee58b9abb318b056b16fb038bb0f702f7028b050efb0ffffff46666ff0021
+8000fffffe199a76ff021d9998ff001e800012d0a6f7daa613b8e79515ff00143333
+8bff001c8000ffffed8000ff0035cccdfffffce66608fffff28000ffffba999aad8b
+ff000d8000ff0045800005ff00a1e666ff0008e666ff0020e666ff007dcccdff0006
+b334ff0020cccdff00133334ff0065999a25ff00303332ffffcb6666ff0015800008
+ff0029b332ff00d5e66805ff00363334fffffa8000ff0017199affffdd1998ff0006
+6666ffffbe3334088d79a68f058cbc8bbc92b871fffffc6668ffffd84cccff000966
+64ffffcee668ff0001e66808ff000accccff00374ccc698bfffff5199affffc81998
+05ffffbcb333fffff98000ffffa0cccdffffd3e668ffffef6666ffffa98000ffffed
+8000ffff9de666ff00538000ffffd2b334ff00364ccdffffe5b33208ffffd0cccdff
+ff0d999a05ffffbcb333ff0007e667ffffdecccdff0039e666fffffb6666ff003d4c
+cd08708805137888538855846608a08b8b969a8b08ff008f3333ff000c666615ff00
+2c8001ff00e4800005ff00258000fffff03334ff00326666ffffe3b333fffff06666
+ffffb03333fffff16666ffffb7199affffc26666ffffe63333ffffd76667fffffa19
+9908ff00430001ff0206333015ffffd91998ffff38b33405ffffdce667ff0012199a
+ffffd5199aff001fccceff0008b333ff002eccccff000b999aff003accccff003019
+99ff00248000ff00308001ff00074ccc080ed778a8f764abbaa8f72cb09dab8f7712
+f717bef71caab2bef71ca913f3c0f84bd815c4b5dfbc99aa825754682f531e79709a
+bf1f589915250abbf83c15260a13fbc0270a13f7c0280afb92fb0f1513fbc0290a0e
+f72482c155adf807a5f750ad12d0daf70bd4f728cd133ef846f8f615ae9e786a1f8b
+7a8b56fb143f7eb384a98ba108c8c2b8b21ef70c5515c05eae4b2f354d2d1e8b6d93
+699e5cfb333949438b2508137e2ed166ea1edf8bcab7c4ca08a2650513beae4bb086
+a98bae8bb9abaed2087e93056f63717a6a8b7a8b72a174b70871b805f71af738a4d7
+bf8b08a7068f8b908d8c91088e9b8a8d058b55896969578d8b1e8989887a058a888b
+878f8b08a806948e87841f8b71584437293bf72386a0829dd9b4f0d08bd508fb87fb
+6c159176c6fb04b64008137e4e476364448b548b5fa68bd18bf717f0c3c9aa080efc
+07f83ef76e01f732e403f72ef83e15a78f058b8bc9f7398e9b089207988498751e6d
+8b706f8875898289fb338b8b080efb93e1d403f70016a13bb24ac45008a09c0553da
+7bd784b685ac88ae8baf8bb790b993ba9ae1a6dab2d6a0b4b6d8e0da087c9d052640
+50386d5d563d69397b30866a886b8b6a8b5792579a59080efb8cf799d403f7ccf88c
+1575da64cd52c608767a05c33c9b3f926091698e698b678b5f865d835c7c35703c64
+407662603e363b089a7a05f0d6c6dea9b8c0daacdd9ce690ac8eab8bac8bbf84bf7c
+bd080efb14f8cfce01f7c0cc03f7bef8cb156366578383600887077e95809a1eb08b
+9dc6acb89d64874ab28b998b9c968e9d8c8e8b8d8b8e8bac5f9773ad9d8e9c8c9f8b
+08ad8baf9290a9088f0796869a741e698b756b5a7793a9a3b390a60893079d80947b
+1e798b7b7987768b878a888b878b7794758b6f088007629d7eac698b748b7f7b887d
+08850772a885b81e9a8b9a8a9788080e69f763bc01f7e2f79415a9f7425a8b6dfb42
+fb428b835af7418b6cfb41bc8baaf741f7418b94bc050efbeafb18a2f705e601f713
+bb03c9b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff
+0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a36c6d6e78
+6c1e0efb78f773c701f7cef773152a0a0efbea80f501caf70003f711ea152b0a0efb
+a2f9497601f826f93e15628bfbfdfd53b58b050efb0981aef8baae01f7ecf8d3152c
+0afb0afcdd152d0a0efb0989ac01f713f7b403f7d2f70e152e0a0efb098bccf892ae
+01f728f868152f0a0efb0981aef7b3abf77bae01f728d403f7dbf8d315300a0efb09
+89acf721ba01f7fff88f15310aecfbb415320a0efb09f7edf75115792c4d45518b67
+8b84a4809f829c7d9a778b798b757a87778362d669c28bf70b8bf2e7a3f712089eec
+5ce2fb008b628b6682788408bef73b05ae87a986b98ba88bac8db38f08a7cf858f05
+53855786588b678b698d6a8e0832fbb405c29fb08fae8bc98bb46076fb01080efb09
+80aef7c6ae01ff00c1e666ff0133333415330aff000fcccdff0024666615ff002b99
+99ff005accccff0050b333ff0064e666f71dff0031b3348d978a948490246d476149
+4a41435b307c3c64fb5ff263d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cc
+cc8bffffd93334fffff83334ffffe0b333fffff26666080efb09f7b2f8ab15340a0e
+fb0981aef8baae01f7e9f8d315350af71c3115360afb8efc6015370a0efb099476f7
+8aaef7c6ae01ff0180199aff0123cccc15380afffff06666ffffdc000115390a0efb
+eab2f5f730f512dbf7004df70013e0f750f82b1513d03a0a5dfb9a1513e067716a70
+1f13d0719f77a51e13e0aea6aba9a4779e711f0efbeafb18a2f705e6f762f512f711
+f7002abb13e8d2b8158b739a7f9e869b879a878b798b6fffffcc80005c567ffffffd
+cccd82ff0002e666fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b374a3
+6c1e6d6e786c1ff708f7fe1513f02b0a0e41f738f78315f7e5f70794bdfc33fb2183
+5bf801fb2293bd050e69f724bcd7bc01f884f755153b0aaaf742153b0a0e41f82bf7
+8015fbe5fb078359f833f72193bbfc01f7228259050efb3080f5f8aaa912f726d455
+f700f71bd913e8f726f89c153c0adcfc3d1513d82b0a0ef7a0fb32acf72cae6ab4f7
+c9aaf73fa91213b8f8e8f7d01583697158776c604250526b8b518b86b795bb98c9a8
+cbc6beaeaab4949b8b08ac8ba27283650864fb86158d9498aa96a608f702f7967f90
+577e81730587a56f9c6d8b288bfb23fb066dfb2383638e37e88bab8bc3a8c4d5088d
+8a057e728074887c0813d8877b8d72a58bf75e8beaf721a4f706b3f74ffb06f722fb
+5c8bfb668bfb65fb415efb6b5dfb69f703fb3cf7718bf48bcbaecdb908829d055060
+4c743c8bfb848b72f76cabf72abef781f746f2f7218bf7098bf722275ffb6268fb3a
+465c2b8b898b848d8d95080ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f
+816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b
+8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05ff
+ffe76666ff0002199afffff46667958bff000ecccc8bff0006cccdff0002666693ff
+0004cccdff00084ccd080e8789adf7c0adf78bad12ff01d5999aff0058fffeffffb7
+199cff004c333413e8f7b6f8ce153e0a856915cd0613f03f0afb425015400a13e841
+0a0ec281b4f8e2b001ff0058cccde1ff01c93334a803f7e68115420a0ef589adf8d9
+ad01f8efff005ab334039e9d15430af742c215440a0e6889a870b2f7b0b1d677f751
+b370a812f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a13738777
+0513b38d89051373490a13b34a0a137b4b0a0e2389a8f7bcb1d677f751b370a812f8
+22aae3a713f6f7fbf7d7154c0a13ee460a13f6470a13ee4d0a0ef281aff789aff7ce
+b001ff0053999aff0057e666ff01dd8000a903f87bf926154e0a0ef70489a8f7bab5
+f793a801f8eff8cd154f0a0efbad89a8f8e3a801f769f8cd15500a0efb27fb5caef8
+709ff7b7b401aae091b1f787e803f847f8d815a69dada68ba38ba07b92768b6a8b78
+648772609f4ea95f8b082a674a63719779a4a09795a01f8ba46b998b958b989a9aa1
+8bb68bab73b8799985a1859c8b918b918c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056efb425a2a4a8b7b8b8fa17e9e7f9c7e91758b087080727c
+67bd74b91ff7028be6e4b3f78308a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080ed789a8f8e3a801f769f8cd15510a0e6189a870b2f8d7a81213a0f709d71552
+0a1360530a13a0540a1360550a0ef78789a8f8e3a801f923e2158871fffff2b334ff
+ffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386fffffd4ccd
+ffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05ff000080
+00ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe83334ff0001
+cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff00078000
+8cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff00006668ff0006
+8000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc910585818887
+898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbccccff000166
+66fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bfffff16668
+8bfffffa9998fffffeb334fffff98000fffffde666fffff8333408fb21fc7c058470
+7e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae6660889788d
+8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199afffffcb3
+33ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c8b93ff00
+018000ff0008e667ff0002999aff0009333308f712f84a8d8becfc9b058d84908791
+8b908b908e909308f7d3f8a58d8b050ef4967693a8f8e3a8121360f943f8c115560a
+13a0570a0ef681adf8ecad01ff00576666ff005ae666f84be403f848f90415580af7
+9bfbbb15590a0e4d89a8f793adf7c4ad69a412ff01e8999aff0055999a13e8f7b7f8
+d2155a0afb13fb8e155b0a13d85c0a0ef6fb65c4b1b7f94aad01ff00576666ff005a
+e666f84be403f848f90415580afffecae666fffd0f999815fffff78000fffff88000
+fffff83334fffff7ccccfffff96666fffff7199a08ac7705ff000ee6669cff000f66
+67ff000f999aff000f9999ff000e3333ff000f199a94ff000d8000ff00033333ff00
+0780008be48bb52cf7118bc78bb9a5bbc3087d9705717066816f8b378b4ddd218bff
+fffa66668bfffff9ccceffffff8000fffff93332ffffff199ac5ff00268000c1ff00
+151999ff0020999aff00083333ff00979998ff001d4ccdff00734cd0ff00804ccdff
+00221998f74390ff0019ccccff00024cccff0018b3348bff0017666608ff009c0002
+ffff96ccccff00631998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe5
+6666fffffd8000ffffe6ccce8bffffe833328bffff74e667ff0053e667ffffa74ccd
+ff007b3333fffff18000ffffc06666ffffe06666ffffc2999affffd1999affffd566
+66ffffd58000080e8581aa74a8f79cadf7bbad69a412ff01e9999aff005466661334
+f811f900155d0a91ad15136c5e0a13b45f0a0e2081aff8eaad12cba9ff002fcccdff
+00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4610a0e
+7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a13b0640a13d065
+0a0ed481b4f8dfa801ff007bcccdff004ecccd03f7c68115660a0eaff8fea801f8fd
+f8bd15670a0ef7f09676f908a801f76df8b615680a0ece89a8f8e3a801ff0146999a
+ff005de66603f71af90515690a0e8289a8f8e3a801f7e4d7156a0a0e9c8bb2f8cab3
+98771213c0f8a489156b0a13a06c0a13c06d0a0efb77fb5cb7f9b6b701f83cf94515
+fb6b8bfb30fe0df76b8b92b7fb268bf721f9b6f7278b050efb84f94e7701f71af745
+03f746f94e155f8bf719fd7eb78b050efb77fb5cb7f9b6b70188fb5c15f76a8bf731
+fa0dfb6b8b8460f7268bfb21fdb6fb278b050e60f7fff8e515c7fb8ab78b43f7c361
+8bfb48fbc3b78b050e40fb2eb701f863fb0215fc728b845ff8718b050efb3df7c1f9
+4e15888d858c868b678b75798085088781eafb0105987c9186928b928b93918c908c
+8e8b8e8b8e8b8f8a908991080e4081c2f7ffaa01d9dbf739d903f82ef845156e0a59
+fb6a156f0a0e3881aef803baf760a8a57701f82edd03f7b1f8db15700af748681571
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0e4381b9f803aff760a8a577
+01dcdbf73bd903f7edf75615730a3d04740a0efb3481c7f7faaa01dedef751d003f7
+f7f80615750afb50fb3f15760a0efb8bfb82acf8e7b2f780ac01ff01b6999aff0054
+cccd03f750f81a15770a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5f723d556
+cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a13db0041
+167c0a0e6181c7f7dec6f760a8a57701ff00afe666d315ff0026199af73a05caddcc
+c6af8ba08b99858b6c8b7d897883690865fb3405836b82628b788b78967da98bbb8b
+b8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490
+a191a508b1f7330593ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa
+8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cc
+cdfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ff
+fff58000ff001fcccd8bb18b8ab7ff0008e666b1080efbb181c7f7eda79877f5eb12
+f75deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0e
+fbc2fb58aff8bfa79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff
+0140333415810a13d8820a139470f7e4157d0a0e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830a0efbbb81c7f8e5a8a57701e8da03f7b2f8db
+15840a0ef77281c7f7ddc75fa712f753ff00558000ff009a8000d8ff00624cccff00
+50999cfffff11998d813daf74af7d515850a13dc860a13da870a13ba880a0e6081c7
+f7ddc75fa712f73bff00578000ff00528000e07ada13d4f845f71015b1f7330593ae
+90a28b9d8bc7709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d
+199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8b333
+ff00076666fffff2cccd8b0813b4890a13d48a0a13d88b0a0efb0681b0f80fac01d9
+def771de03f735f73e158c0a3883158d0a0e43fb7fa9f757aef804b901f83fdd03f7
+9ef828158e0af735fb17158f0a0e45fb7fa9f757b5f807af01dcdff784f103f829f7
+de158b7b783d7853744a3338668b08ffffd8b333fffff14ccdd1c3f70cd8f711f1af
+a46b621ffb02fc7f1584ffffe43333fffff24cccfffff3e667ffffdfb334fffffae6
+6608788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058b
+d090afb2cf898b1e8d8d8b9f058b9089ff0002666687ff0000999a08788e05fffff0
+ccccff00026666ffffe66668ff0004999aff0007ccccad08f71af8da05ff0001199a
+ff0004e666ff0000e666ff0005199a8b908b93838d888b848bfffff3199afffffcb3
+34fffff4e666fffff04ccc086e620574ab6ba0628b0821fb2dfb0cfb4040a239e91f
+bc8bbca3c9e1088e8a050efb609676f812ce5fa71213a0f771f7b115ff00084ccdff
+0023333405ff0008b334ff0026ccccff00088000ff0022cccc8bff0011199a8bff00
+0f6666fffff7b333ff0009b334fffff2cccd8b6b8b62845c85fffff94ccd83ff0001
+b33380918208b3880513c0978a91828b818bfffff6e6668bfffff2199a846f08ffff
+c8cccdfb8d05fffffb3334ffffea8000fffff8199affffee80008bfffff033338bff
+ffef4ccdff0008e666fffff58000a88bae8b8cb6ff0009e666b208ff001d199af709
+05bbe2c3e8a28b958b908691849283987e998b08a69da8a6a07ca5661f598b514d5f
+2e080efb6481acf813ac12c6df77cbdfd658dd13d8f7428115900a13d4910a13e892
+0a0efb9281c7f7e8b201f74ef84115930a0e6381c7f7ddc701f88ef7f415940a0e32
+9476f805dd01f853ff0048666803ff0130999ad715950a0ef7139476f805dd01f92b
+ff0048666803f79d7f15960a0e3581cb4bbcff01438000ff004c80004cca121380f7
+6bf7c915970a1350980a13a0990a0e51fb7ec8ff02178000ff004c800001f871ff00
+48666803ff01608000169a0a0efb1181d871c8f790c55ad7121320f84af850159b0a
+13109c0a13609d0a13809e0a13609f0a0efbb4f7abf8cb1593b495a9999d9ba19e98
+a091088e9905568a627f747474747b6482550869fb510582597754507b088a8605b1
+81976f8b658b7c897c887a086cfb4305877088758b778b728f78937d9874b17fc18a
+088d9905828e798f7dad889589998b9b8b9a8d9d8e9f08a8f7380590a78ea28b9e8b
+b37ea4679cc0a0a2a69be6080efbf8fb6876fa147601dffb7d15f730fa095f8bfb30
+fe09050efbb4dd42158362806d7e797b75787e768508887d05bf8cb497a3a2a1a29b
+b295c108acf7520594bca0c2c69b08900766957fa78bb18b998c9b8e9d08aaf74205
+90a68da18b9f8ba4879e84997ea26497568c08887d0595889d8798698f818d7e8b7b
+8b7c89798776086ffb3805867088748b778b639772b07b5676736f7b30080efb04f7
+69c691c601caf76515978805aab7c3a7ae8bbf8bac4ac08ba38bce98bdf6087b9105
+6c59577a6f8b5e8b5ecc5d8b4f8b494c734a080efbcb0efbe2fb6676f8cff612a9f7
+0b7af70027a813d0f783f81e158c8d8b8e8b8e8ba5799e708b6e8b6f73866e8a878b
+888b888b729e78a58b08a88ba7a390a908fb38fd0515a28bae9e95c10813e090ac8c
+a28ba408b8078b9d8ba18da60813c891d996e58ca0088d07908a90811e818b868388
+7f877e7f4f6bfb00723574617f4a0813e08a848a858b848b67a17aa28b080efb0f94
+76d8ff0037e66601e8ddf751d003f7d5f8dc15fffff166664005ffffd83334fffffa
+ccccffffc9199972ffffdb6667ffffd8b334ffffcf4cccffffcbccccffffde999aff
+ffb280008bffffa633348bffffdee666ff000680005eff00178000ffffdf199aff00
+14999affffe3199aff0022ccccffffece666ff0028999a8b08ff000033338bfffff1
+cccd42ad8b9ad805c5ff000d6666ff0033e666ff002d199aff0028199ac388958192
+828bffffdcb334ffffd8333367ffffe1999affffd23332fffffa999908ff00456666
+ff0164ccce05ff000dcccefffffd1998ff000fe666828bffffe733348b8589838886
+fffffd6666fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff
+0024800088ff00344cccffffa68000ff0006800008ff000e8000ff004ab33405ffff
+84199afffe3233341580ff0002e66680ff00061999fffff6e666ff000bcccdfffff1
+199aff00133333fffff5e666ff001366678bff003c66668bff0086b334ff00393333
+ff0054e666ff0043e6679a080efb0f7fbd93b2f763b3f75db5019ecf03f738e015ff
+fffd33338bfffffc999affffffcccdfffffc6666ffffff9999ff0001e667ff000133
+348dff00011999ff0001e666ff00014ccdb5a7b0c1a1f709088c90f7178b92b3ffff
+7de6668bff000b199ac3059bddbfcab78ba08b9680968093819383988ba28b9f998f
+a392ac5796758b598b5d796369084d586b577b3b08fffffe800083ffffbe80008b83
+63ff0041e6668bfffffb199a71057e4b763e545bfffff86666fffff9199afffffa4c
+cdfffffb6666fffff9999afffffb999affffe37ffffffff28000ffffe76667ffffed
+8000fffffbcccdffffe9e666887f967f988b9c8ba49690a58d95979bac8b08a58ba0
+7fa17da47ba67bb08bd18bbeaea6bc087b98056c6a5c7d6f8b718b7e937d96789974
+99508b080efb0ff710b5f79eb501e5c8f782c803f784f71015b48bb197b0a408b057
+b6b15fb705a9ab9daf92b38d968c968b968ba784a47da108cab76bb45354056fa369
+98638b648b657f66740867bd5f64b762056c6c7766836189808a808b828b6e93719a
+73084e60ad63bfc105a773ad7fb38b0835f7441598d2c7c8d08bc28bb15e8b4e8b82
+8a828a827e44524d468b4d8b68b98bc68b958c948d95080efb0f8aa8eeb2cab3f7ab
+a601f849f73a15ffff7066668bff000c4ccecaff008f4ccc8b93b3ffff7ce6668bff
+0094199af77c059da8a19da88b089206948b8c8f8c8f088e9c898d0578895f8a828b
+7e8b528d838c088a898779058a888c87908b089a069d8b918789828a848480837d08
+fb1bfb694ff76905889888958c938d9392909d8b089806908b8e908c8f088e9c8a8d
+057c89498a858b7e8b488c808d0889898879058a85918a8e8a089206a68b947a936e
+08ff0042999afb7cffff8266668b8363ff0083999a8bfffff3b3334cffff7cb3338b
+8364ff0083b3338bfffff54ccd5405866f7a7b628b087106868b87888a860888788c
+89058be98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08ff00
+0ab334c2ff008f4ccc8b050efbf8b8f76003f732f735155a8b4bfbfebc8b05f72ff9
+ff155a8b4bfbfebc8b050e33fb40aaf994aa01ff0051b333ff004d4ccdff001c8000
+ff004acccdff00336668ff004acccdff001c8000ff004d4ccd03ff00d7999af83415
+ffff9db333ffffbc8000fffff16666ffffaf999a8bffffd7e6668b2ddeffffd94ccd
+ff003c4ccdffffdbb333ff002fb334ffffe333339fffffe1e6678b678bffffc44ccc
+ffffcf8000ffffd2999affffc9cccc8b608b84a889b18a9e86a1718b08ffffdbcccd
+fffff6e666ffffe14ccdffffeb9999ffffd9999aff0022999affffce8000ff0056b3
+33ff0067999aff0051e666ff0045b333f01f8bff00194ccdfffff8e666a2ffffedcc
+ceff0017cccdff00618000ff0042cccdff000d9998ff004fcccc8bff0028999a8be9
+38ff0026b334ffffc3b334ff00244ccc5ba8ffffeb4cccff00284ccc8bff00244ccc
+8bff003b6668ff002eb334aec18bb68b946e8d65088c789375a58b08ff00243334ff
+00061998ff001eb334ff00146664ff00266668ffffd76668ff00318000ffffa94ccc
+fb0affffc28000ffffb3ccccffffab80001f8bffffe56668ff0007cccd70ff00144c
+cdffffe44ccc08ff00803332fffebc666615fffff03334ff000f4ccdffffeb8000ff
+000fe667ffffe58000ff00116666ffffc8b333ff0024cccdffffc5b333ff00236666
+8bff004633338bff003ab334ff001f8000ff0019ccccff00234ccdff001a199aff00
+0f80007bff00140001ffffef999aff00194cccffffef6666ff00374cccffffdb3334
+ff003a4cceffffdc99988bffffb9ccce8bffffc86666ffffe3199affffe2b333ffff
+dc1998ffffe6b333080efb4ef8a3e601f72fe7d0e703f765f8fe15a00af7358c15a1
+0a0ed3a2abeda6f793a0f0aa01adaaf2c3f7ecaa03f849f76d15769905807b6e6858
+8b08476ac5cef4c6a4b01fd48b916c935f08a68f7fd905698b8c99458b082d523f42
+3bc541eb1fc28bb3ac9faa08fb0cfb5615a20af8aa04a30a0efbb1f7faabf772a412
+f70ebd7ebcc6c278bb13e0f7b8f88a15a40a91fb2415a50a13c8a60a13d4a70a13c8
+8e9ba196ab8b0813e4a80a13c8a90a0e2af741f76b15beb4b9bbd0da0874a3053c3f
+5a60445a8b8b7b80838608887b05918696808b8bbe5aa860ba3f08ada30568da70bb
+6ab408f73716beb4b9bbd0da0875a3053c3f5a60445a8b8b7b80838608887b059186
+96808b8bbe5aa860ba3f08aca30568da70bb6ab4080e8af7f9b701f88ff71915c08b
+baf7a0fc948b835ff85f8b050efb67f780c101d8f7a403f7d0f78015988b9da48d96
+089107928890831efb7906808b7a76887b8b8a8a898b8b08839085921e0ed3a2abf7
+049cf2a0f70e9cf702aa01adaaf740bedabdf72baa03f835f80815a978b83f1e428b
+768976880880078b888e89928a089b8c058e8c86851ffb730784898a851e7f068488
+8a871f8b7fc28d0599b5898b1f960790888c831e7f06848b8e901fea07908b9d8a8f
+8808bb3c059771a07fa88b908b938c958e0898077c8b7f947ea1085bdd058bc4a3bf
+1f59164d5b896c1ef70b07908c978d968b08ad9c73691f59fbf115a20af8aa04a30a
+0efb38f8a5b701f72ef7b003f82df8a515978b9a9d8d97088e07908891821efb8806
+7f8b7e7a897f8a898b8a8b8a08858e86921e0efbbaf881a7f724a601f71dacf71cac
+03f71ff8e5158a858a858b858b5cad68bd8bc28bbfb895c28c918b908b918bba69ae
+5a8b548b565f825408f73a8a1584686c67628b668b78a68ba98b908c8f8c9091aea9
+b1b68bb28b9b6c8b6e8b878a868b87080e699dbcf775bc01f86dce15fc1f8b825af8
+1f8b05fb07f7d715a9f7425a8b6cfb42fb418b825af7428b6cfb41bd8ba9f741f741
+8b93bc050efb92f800abce77f771a301f7d6c603f750f8df15aa0a0efb92f7faa4f7
+24a3f705a301f738bee7c803f7caf90415ab0a0efb70f8b2f73501f74ff74603f7bf
+f95315ac0a0e3ffb6976f774bdf823770192ecf781d903f71bf7f91559fb73057e51
+8858846afffff04cccffffbe199affffd8b334ffffb833338bffffdab333086aa579
+98ff0017999aff00236666ff0011199aff0055e6661e8b9e8a9f8ba08ba48ca491a4
+8c90928f918b937e9b819d8bd98bbdc9d2f3088e89806405826b83628b788b78927d
+a98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a191a508
+c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b
+8d5f8165086efb020541fb12543a5c8bffffc580008bff00038000c297bf08baf761
+058f9d94a98b978b9c81956b8b658b8c5f8265080eb4fb7ea7f839f8436da41213a0
+f806fb63157b869a9d1f8b958c968d9508f70ff94c0590aa91abac8b978a958a8b72
+8b838a80897d08fb10fd5105836184776e8b08f2ca15f70ff9500593b9929bae8b08
+a9068f8b8d8e8c8f0813c08fa0fb03890513a08b6888681e13c0708b4f90408bfb19
+8b363775fb0f88788a798b7a8bfb1af567d48bab8bab909a92084afc060582578381
+6a8a086e06878b89898a86088776f7dc8b8fa0058c8f8a8e878b086d06758c818e8b
+a28b938c978e9a080efbcbf75bf70001f710f70003f746f75b15ad0a0e77fb49a4d7
+ab01f7cac203f7a73b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa
+8b08cec5aebeab709a6b1f828b828a838908b0c5698b50349085059c8f948d9f8b08
+0efb92f800a5f7be7701f71ff75003f78cf90115ae0a0efb68f7c3a7f766a401f70f
+f7a503f70ff841157c43bc55d58be98bc4cb99cf98ce73cb298b358b4d577b3608f7
+2df70415bd8ba4617c3b7d435c7b6f8b4f8b7cc695bc95c1adbbbd8b080e2af81af7
+6b1558625d5b463c08a27305dad7bcb6d2bc8b8b9b969390088e9b05859080968b8b
+58bc6eb65cd708697305ae3ca65bac6208fb371658625d5b463c08a17305dad7bcb6
+d2bc8b8b9b969390088e9b05859080968b8b58bc6eb65cd7086a7305ae3ca65bac62
+080eee3aa8d1adf79ba501f907f8b115af0afc3bb215ae0af7d3fc1015b00a5ffb5a
+15b10a0eee3cabf7a0a3d1a501f8ecc603f8f3f8b115af0afc25b215ae0af76ffc40
+15aa0a0eee3ca8d1adf791a4f724a3f705a301f736bee7c803f907f8b115af0afb16
+fbe715b00a5ffb5a15b10afb53f8bd15ab0a0efb30fb73a9f8adf512a0d7f724f701
+46db13f0f7f1f821158b8e8c8e8b8f8ba3789e718b6e8b6f73856e8b888a888b888b
+729e78a58b08a88ba8a390a8084bfca915866d5e70528b598b6cb88bc18b948c938c
+9493baa6abb9b0d7c696c692b60893b9058d92878e848b838b86888a8408835f0587
+73817379727f7a747b717a5667485e7d3c8a8089818b818b42bf5ce58bc08bb799ad
+a408ada3a4a792b10813e88b8f8c8f8b8e8ba577917d8b788b747f8774897e8c868e
+858e868d85887c080ef589a8f76ab5f80b7701f8eaf96415b20afbb7fc49153d0afb
+cdfb6015b30a0ef589a8f76ab5f80b7701f820f95115b40a32fc36153d0afbcdfb60
+15b30a0ef589a8f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b3
+0a0ef589a8f76ab5f80b77cbb78fb901ff0221b334f97e15b60affff114cccfc6315
+3d0afbcdfb6015b30a0ef589a8f76ab5f80b779feb12f7cdebf721eb13dcf7cdf956
+157d0af78116b70afb87fc3b153d0afbcdfb6015b80a13ecb90a0ef589a8f76ab5f8
+7ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff001899
+98ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334fffffb
+8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdfffffd
+6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e8d8d
+9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199afffff480
+00958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08dff725
+059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6
+678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd666608
+6f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc1
+8cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c0565
+8f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffffff33
+32ff00036668ff00234cceff000c1998ff001d9998ff001e999cff0007199cff0022
+ccccff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d08ffffab
+199afc46153d0a0ef7a089a870b2f777b2a3adf786b370a712f949aaf2a81333f7d3
+f7c515bb0a137b78fbc515bc0a1337fb3c8c05133b898a87770513b7bd0a13738778
+0513b38c890513738bc18dac1e13b3b1cc898b1f13738c8d8fa00513b3be0a137387
+790513b3bf0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334
+ff00d14ccca803ff014c80002b15c00a0e6889a870b2f7b0b1d677f751b370a8d376
+12f822aae3a7133380f871f961158b90879184910825df345ef7214c059b84998695
+8b089a8f98911fd74415c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a870b2f7b0b1
+d677f751b370a8d17612f822aae3a7133380f7a7f94c15c30af7aa5915c10a133b80
+c20a133780460a133b80470a13b780480a13738087770513b3808d8905137380490a
+13b3804a0a137b804b0a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7
+133380f850f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a0e6889a8
+70b2f7b0b1d677f751b370a8bde512f7a5e8abaaade765a7133380f7a6f97a158b88
+8a888b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b08728b727786
+7208f7528c151333c0c40ae42a15c10a133bc0c20a1337c0460a133bc0470a13b7c0
+480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc06a435a50428b08
+fb160679fffff3e666ff00046666ff001233341f8bff00031999ff00006667ff0003
+6667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666fffff8cc
+ccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb33488088972058a
+888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b05878b87878a
+8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06133ba0d38b95
+63934608a790058fb48feb8b93080efbad89a8f8e3a8d17601f7dff95f15b20afb0a
+fb2615500a0efbad89a8f8e3a8d17601f765f94c15b40a8ffb1315500a0efbad89a8
+f8e3a8d17601f7d3f9bf15b50a21fb8615500a0efbad89a8f8e3a8bde501f726e8ec
+e703f727f97a15c50af7528c15c40afb10fb4215500a0ef589adf793b2f7b3ad01f8
+efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbba
+f78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff9180
+00ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e
+88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308b
+fffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd0199afb8aff
+ffa5e6668b8364ff005a80008bffffd68000fb6905856b78806989086e8905878b87
+878a8608f742c215ff0029e666f76aff0067199a8b93b2ffff9880008bff00308000
+f78c0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bffffe2199a
+fffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b8bffffed
+8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff0000e666
+ff0004cccd080ef4967693a8f8e3a8bdb78fb9121338ff0216b334f97915b60aff00
+984cccfb4c15c60a1378c70a13b8570a0ef681adf8ecadc67601ff00576666ff005a
+e666f84be403f88cf95f15b20a473015580af79bfbbb15590a0ef681adf8ecadc676
+01ff00576666ff005ae666f84be403f811f94c15b40ac24315580af79bfbbb15590a
+0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15b50a4afb4f
+15580af79bfbbb15590a0ef681adf8ecadb2b78fb901ff00576666ff005ae666f84b
+e403ff0213b334f97915b60affffa04cccfb0915580af79bfbbb15590a0ef681adf8
+ecad8beb12ff00576666ff005ae666ff001eb334ebff01384ccce4ffffa7b334eb13
+b8f765f956157d0a13baf82d167d0a13dcfb4a3915c80af79bfbbb15590a0e69d4f7
+cf01f7e7f77a15f724f70f6faefb25fb0f26f70f6268f0fb0ffb24fb0ea868f724f7
+0eeffb0eb4ae050ef681adf8ecad01ff00576666ff005ae666f84be403f96bf93215
+c90afbd07615ca0aff00ab3334ffff7d333415cb0a0ed481b4f8dfa8d17601ff007b
+cccdff004ecccd03f8dff95f15b20afbadfd6915660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f815f94c15b40a3cfd5615660a0ed481b4f8dfa8d17601ff00
+7bcccdff004ecccd03f8a1f9bf15b50afb6ffdc915660a0ed481b4f8dfa898e901f7
+eee9bde903f7c58115cc0ab4f96115cd0af72416cd0a0e8289a8f8e3a8d17601f82a
+f94c15b40a45fd00156a0a0e4f89a8f711aaf7c7aaeca701f79df87315a091bb909d
+8bc48bcd7073fb0c72fb153a6c458b678b748d838e0889f8171529fc8b05856f7c7f
+638808718905878b87888a860887788d89058be58dadb1de898b1e8d8d8f9e058c90
+878e888b08718d05678e7e9491aa089ce2059886a489ac8bf73f8bd7f7089ad699d2
+7ef6fb468b798b698b69890895c30591a79a95b28e08a68d058f8b8f8e8c90088e9e
+8a8c058b308a6a65388c8b1e898a8778058a868e888f8b08a48905b0889983856d08
+0e79fb82acf757acf803b2f781ab12f794baf728e757db13faf795f80a159acf05a3
+f700a9f708f38bb58b9e748b668b27fb033b717a08887e0513fcc556b5488b41083a
+54295b77728ba11e8b9ca1908bae08977f937b78757f55689d6ccdf70dddf717ea1e
+8be644c452b8088d0713fad5bbddcc8bdd8bb769bb308b228b30505ffb3683707d76
+6c8b0873857383fffffae6668efffffe199a901fb406958d8b801fffffed33332fff
+fff2cccd3c7f48fffff0b333ffffaab333ffffe7cccdffff63999affffe3b333ffff
+c3b333fffff43333ffffe6b333ffffebb334ffffed4ccdffffede6668b7e8bfffffa
+199aff0009cccdfffff81999ff000cb333fffff7e66798fffff1ccccff000b6666ff
+ffebe6678b08ffffe79999fffff566677afffff13334ffffece666ff000f33336ed0
+1fb18bae9ba8b308d3f2ff001ccccdff00d86666ff00343333ff00ec999a080e4081
+c7f7faaa01d9dbf739d903f809f93315ce0afffff8999afb04156e0a59fb6a156f0a
+0e4081c7f7faaa01d9dbf739d903f804f92e15cf0ab5fb7d156e0a59fb6a156f0a0e
+4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff001c3334fb7015
+6e0a59fb6a156f0a0e4081c7f7faaaddb78fb901d9dbf739d903ff018bb334f8c915
+d10aff000e4cccfb18156e0a59fb6a156f0a0e4081c7f7faaae3e712d9dbd2e78dd9
+7fe713f8f779f8d115d20a13faf73416d20aa0fb2015d30a13fcd40a59fb6a156f0a
+0e4081c7f7faaad2a6f704a601d9dbf739d903ff01613334f91d15d50affff9db332
+5315d60aff009b199afb34156e0a59fb6a156f0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0efb40fb58a8f8d3aa01deddff00498000ff003f3334ff00344cccd003
+ff00d380002f15dc0a0efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6
+999afb4315750afb50fb3f15760a0efb3481c7f7faaa01dedef751d003f809f92e15
+cf0a79fbbc15750afb50fb3f15760a0efb3481c7f7faaaf76a7701dedef751d003ff
+015dccccf92115de0aff00053334fbaf15750afb50fb3f15760a0efb3481c7f7faaa
+e3e712dedea7e7cfe730d013f8f756f8d115d20a13fcf73416d20a13fa8cfb5f15df
+0afb50fb3f15760a0efbb181c7f7eda7987712f6f7481390f769f93315e00afffff3
+e667ffff1f3334157e0a13b07f0a13d0800a0efbb181c7f7eda7987712f6ff0106cc
+cc1390f7c5f93c15e10affffc44ccdfffe983334157e0a13b07f0a13d0800a0efbb1
+81c7f7eda79877f7817712ff0065999af7921398ff0118ccccf92115ffffce000106
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff002b7fffa6ff00
+25199aa4ff002cb333b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba08ffffdc8001fffeb33334157e0a
+13b87f0a13d8800a0efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115
+d20af73416e20affffe24ccdffff033334157e0a13bc7f0a13dc800a0e387fb2f810
+ae01d6dbf7a1de03ddf76415877788778b788b36b73ff08bf7058bf70edbb2f73d94
+b08faf8bac8bee69dd5acc087d9cf704cd7dabfb0f44056fa76ca26c9e087776059e
+7a9d789c7508977afb0d45996bf712d405a65d9e5895567595718f718b398bfb1e4e
+63fb4108f738fb49155467bfd91f8ba08ea291a39cd7bdf5f18bb58bab789b6e8b86
+8c868b858b648662826366fb363b695c8b080e6081c7f7ddc75fa7f2b78fb912f73b
+ff00578000ff00528000e07ada139cff01b4b334f8ce15e30afffffc4cccfc5215b1
+f7330513dde40a13bd890a13dd8a0a13de8b0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af7aaf89115ce0a0efb0681b0f80fac01d9def771de03
+f735f73e158c0a3883158d0af79cf88c15e50a0efb0681b0f80facf76a7701d9def7
+71de03f735f73e158c0a3883158d0aff011be666f87f15e60a0efb0681b0f80face2
+b78fb901d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10a0efb
+0681b0f80face3e712d9dea8e7cfe74fde13f8f752f8d115d20a13fcf73416d20afb
+51fc2715e70a13fae80a3883158d0a0e69adede2bce6ee12f77af06ef013f0f77ad3
+15759b7ba2a8aca5ada17b9b741e6a6e6d6d1f13e8d3f7d915759a7ba3a8aca6aca1
+7b9c741e6a6e6d6c1ff771fb1515fc1f8b7f5af8208b050efb0681b0f80fac01d9de
+f771de03f86af87115e90affff85ccccffff69800015ea0aff00b91999ff01253334
+15eb0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a34f8b715ce0a0e6381
+c7f7ddc701f70cdaf736d903f88ef7f415940a72f8b215ec0a0e6381c7f7ddc7f76a
+7701f70cdaf736d903f88ef7f415940affffd7e666f8a515ed0a0e6381c7f7ddc7e3
+e712f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a
+13fcef0a13faf00a13fcf10a0e51fb7ec8ff02178000ff004c800001f871ff004866
+6803ff01608000169a0af70df97515ec0a0e4efb83a8f75caef803baf760a8a57701
+f84edd03c0fb3515fffff9999affffe4199afffff1b3327effffdfb334fffffae666
+08788805fffffb199affffff3333fffffae666fffffecccd8b85088b788d89058bcf
+91afb2cf898b1e8d8d8b9f058b90fffffde666ff00026666fffffc199aff0000999a
+08788e05fffff0cccdff00026666ffffe61999ff0004b334ff0008199aff0021e666
+08b7f74c059086a86fbd8b08f735f6f74ff704e456c83a1f5c8b6380617308b3f747
+05ff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62
+8808887305888c898f1eaa8905989385751f8b80fffffe199affffeeccccfffffae6
+66ffffea3334085afb6305616a62657464089e7e059fa7a5a5aaa408f7ac64153d5c
+fb3efb1d1e6a8b71997aa708d0f7be05a297b49ab58b08cf9c455a1f0e51fb7ec8ff
+02178000ff004c8000e3e712f781e7cfe77fff0048666813f0f781f8d115d20a13f8
+f73416d20affffd38000fcd115ff0013999aff00206666f70eff00ba8000ff001c33
+32ff0042199a0813f4ff000ee668ff0022ccccff000c3334ff0024999a8bff002333
+3408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34cccff
+ffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff000f
+3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffd73334
+ffffb51999ffffdd6666ffffc9b3338b8bffffcc999affffac999affffe64cccffff
+da666608fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea072
+8bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999a
+fffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff780
+0008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff00
+1e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d8b
+818b7898859084917793838b087672776c6ab7829c1fc08bff004f8000ff0040cccd
+ff00408000ff00633333080ef589a8f76ab5f80b77f70cb701f7c7f7af153d0afbcd
+fb6015b30aff01a48000f93b15f20a0e4081c7f7faaaefb701d9dbf739d903f82ef8
+45156e0a59fb6a156f0aff00658000f7d415f30a0ef589a8f76ab5f80b77c0bf01f8
+09a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40a0e4081c7f7faaa
+c8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50a0ef71afb6bb2f743a8f76cb201f86cca03f7c9f7af
+15f60af75bfbb0158c8b8e8d8e9e058f878f871e8006638b7b9e83b208fb01f8b205
+86a584937b8b828b81827c7208fbdefcb70577697678628b087f06868b88888a8608
+87788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e06707c92991f8b928f
+948f9208e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e
+6f06868b88888a860888788c89058bed8daf1ea006456a584e8b558b5fab73bb8bae
+8bc29faaba087e92057477747c6d8b086b7a9fa6c0ced6df1f0e40fb62b2f72fc2f8
+04aa01d9dbf703c803f7e1e3158577897b8b788b7c90779e846267645d8b5c8b5fae
+73bb8bb48bb3a2b0b8087d92057175797d6d8b6a8b78a18ba18bbde3d69c9aa29f99
+9da3ab0878960578747c7a7f8308838605898a888a898b898b808d8b978b9492ac90
+9e08cff7cd05728b728b7790708e7b8e638b0820fb25fb34fb3153983adf1fc08bc6
+cec7e4088d890596d8155a313e356b8b086981b5c3f5def738e71fa08ba4849e7f8b
+8b7efb01724b080ec281b4f8e2b0c77601ff0058cccde1ff01c93334a803f7e68115
+420ac8f95715b40a0efb4081c6f7fbaa01deddf751d003f7658115720af743f93d15
+ec0a0ec281b4f8e2b0c17601ff0058cccde1ff01c93334a803f7e68115420af750f9
+c415b50a0efb4081c6f7fbaaf7637701deddf751d003f7658115720aff008ce666f9
+2415e60a0ec281b4f8e2b0b6eb01ff0058cccde1ff01086668ebff0060cccca803f7
+e68115420aff00653334f98b15f7000a0efb4081c6f7fbaadfeb12deddff00663334
+ebfffff6ccccd013f4f7658115f7010a13f8ff003a3334f8d915f7020a0ec281b4f8
+e2b0c77601ff0058cccde1ff01c93334a803f7e68115420af708f95715f7030a0efb
+4081c6f7fbaaf7627701deddf751d003f7658115720aff00446666f89415f7040a0e
+f589adf8d9add27601f8efff005ab334039e9d15430af742c215440af76ff90415f7
+030a0e6a81b9f803afdb9ce5d354a812dcdbf73bd913e6f7edf75615730a3d048471
+05857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334
+ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08f5f863059acc95
+b38b8b0813f692888e821e13eef7050a13f6ff0125b334f8d8156d8bffffee4ccc79
+fffffcb3347bfffffcb3347bff0000999875b48b938bff00044ccc83fffffd66687e
+fffffb4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff00
+2cb334c9ff00074cccaf08ff00074cccaffffff1999cb0658b080ef589adf793b3f7
+b2ad01f8efff005ab334039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8b
+f753cbbaf78aff00049998a2ff0002199cff001680008bff0015cccc8bff009a3334
+ffff918000ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878
+058a868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffff
+ebb3308bfffffb3334ffffff3333fffffa199cfffffeb333fffff9199808ffffd04c
+cdfb89ffffb0b3338b8363ff004f80008bffffd68000fb6905856b78806989086e89
+05878b87878a8608f742c215ff0029e666f76aff009d199a8b93b3ffff62b3338bff
+00304ccdf78b0592aead8fba8bff00a719988bff0038e668fb068bffff83199a8bff
+ffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5efb1659fb1b8b3b
+8bffffed8000ff000680008bff0015b3338bff0003cccdff0000999aff00043333ff
+0000e666ff0004cccd080e4381b9f803afe9b2d2a8a57701dcdbf73bd903f8ddf8d0
+15ffffbe80008bff0002800096059acc95b38b8b8b92888e828b7081437e62880888
+7305888c898f1eaa8905989385751f8bfffff69998fffffe33347dfffffc9998ffff
+ee666808ffff7b33348b8264ff0085cccc8bffffe13334fb298a8b057fa96ea4658b
+0820fb1dfb28fb31549932e31fbf8bbab3c7e3088e89847105857387788b7f8b7892
+71ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b706678
+7b818b888b828d8b97088b9491a78f9e08ff005e999af831ff004166668b05fb7bfb
+e715730a0e6889a870b2f7b0b1d677f751b370a8e1b712f822aae3a7133b80f8bdf9
+1a15450a133780460a133b80470a13b780480a13738087770513b3808d8905137380
+490a13b3804a0a137b804b0affffde8000e215f20a0efb3481c7f7faaaefb701dede
+f751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a0e6889a870b2
+f7b0b1d677f751b370a8b6bf12f7bba7d6aae3a7133bc0f8bdf91a15450a1337c046
+0a133bc0470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a13
+7bc04b0afb22b715f40a0efb3481c7f7faaac9c4e57701dedeff0032199aff001d66
+66ff006d8000d003f7f7f80615750afb50fb3f15760aff004e8000f85515f50a0e68
+89a870b2f7b0b1d677f751b370a8b8eb12ff016a3334ebffffc3ccccaae3a7133ac0
+f8bdf91a15450a1336c0460a133ac0470a13b6c0480a1372c087770513b2c08d8905
+1372c0490a13b2c04a0a137ac06a435a50428b08fb160679fffff3e666ff00046666
+ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e66608bc
+f78ff70e8b05ff001d999aff000bccccfffff8ccccffffe9999a1f8bfffffd6666ff
+ffffe666fffffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390
+a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e
+8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308133340
+ffff413334e915f7020a0efb3481c7f7faaae3eb12dedef717eb65d013f8f7bdf8d3
+157d0a13f4c5fb6115df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1e13f8ce8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b90
+8ba08c93080e68fb74b2f74db264a4f7beb1d677f751b370a812f7cbc7a6aae3a713
+b9c0f828fb7415af8bbd9fa3ba087c93057776777c6d8b086775a6abbec2d6db1f76
+a40587ffffff6666fffffbe666ffffff4ccdfffffc199affffff3333ff0012999aff
+002e6667ff0014ccceff0033cccdff00129998ff002be666086e900513ddc06a435a
+50428b08fb160679fffff3e666ff00046666ff001233341f8bff00031999ff000066
+67ff00036667ff0000b333ff0003e66608bcf78ff70e8b05ff001d999aff000be666
+fffff8ccccffffe9999a1f8bfffffd6666ffffffccccfffffd3334ffffffb3348808
+8972058a888c86908b08a08b908e058fb390a68f9f8e9f92a996b308888f768b0587
+8b87878a8708847205826f7d7d6a8b08fb0e8bb3f7660590a39995a28b08ef06d38b
+9563934608a790058fb48feb8b938b8d8a8c888b7a88858a748b08fb8706139bc046
+0a139dc0470a13bbc08a888b87928b08a78905ff001de666fffffd8000ff000c999a
+838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334082afc8705
+856f7d7f6588086e8905858b89878a880887778d8905b88cb38cb08b0813d9c0f762
+06ff0014199a8bff0019e666ffffff999aff0016b334ffffff9999ffffc49998ffff
+de8001ffffd8b334ffffc666668bffffd0e6660855b36cc01e0efb34ffff52b333b1
+ff007d4ccdc7f7faaa01dedef751d003ff01533334ffff93b33315fffffd6666ff00
+06fffffffffacccc8f828bffffe5800075ffffecccce7bffffe2ffff8b668bfffff7
+3333a0ff00054ccda5ff0007199aff0022e667ff00191999ff001ae666ff002b4cce
+ff00213333ff00261998ff00114ccdff00248000aaff0023b334b9869685907f8b08
+525174825b8b5e8b6ca38be68b908ba08c93f799be87d88bb108a474bc43fb4243fb
+3efb1336b348de1eff0001e6668b8d8bff0001e667ff0000199affffdb1999ffffe3
+4cccffffe66667ffffe24ccdfffff9b3336c8055ff0021e66677bd8bb48bff002c19
+9a9fff00263334b808ff000fccccff01de4ccc15750a0e6889a870b2f7b0b1d677f7
+51b370a8d27612f822aae3a7133b80f8bdf91a15450a133780460a133b80470a13b7
+80480a13738087770513b3808d8905137380490a13b3804a0a137b804b0afb38be15
+f7030a0efb3481c7f7faaaf7617701dedef751d003f7f7f80615750afb50fb3f1576
+0aff00786666f7c215f7040a0ef281aff789aff7ceb0c07601ff0053999aff0057e6
+66ff01dd8000a903f87bf926154e0ab9f72715b50a0e37fb82acf7e5a9f781b36da9
+f762771292ceb5c35bd5f723d556cc13cc40f7358815780a13ed80f792f7ba15790a
+13dd007a0a13ee407b0a13dd8041167c0aff0013e666f7f615e60a0ef281aff789af
+f7ceb0aebf12ff0053999aff0057e666ff00d78000a7f76ca682a913fdf87bf92615
+fb398bfb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb
+66678bffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d96
+08a2f7080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e
+8c0889898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0ffff
+f9e6668bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb33
+33086dfb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc
+8bff0014199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7
+168bf71f8bae39933508a991058bb58db392d308518b71b8fb098b089bae1513fef4
+0a0e37fb82acf7e5a9f781b36da9c5c4e5771292ceb5c35bd5fffffe199aff001d66
+66ff00738000d556cc13ce10f7358815780a13eea0f792f7ba15790a13de807a0a13
+ef107b0a13dea041167c0a13ce40ffff8c8000f7f515f7060a0ef281aff789aff7ce
+b0baeb01ff0053999aff0057e666ff011db334ebff005fcccca903f87bf926154e0a
+ffffe23334ea15f7070a0e37fb82acf7e5a9f781b36da9deeb1292ceb5c35bd5daeb
+6bd556cc13cc20f7358815780a13ed40f792f7ba15790a13dd007a0a13ee207b0a13
+dd4041167c0a13cc804bf7ab157d0a0ef2fb8ba3daddbfaff789aff7ceb001ff0053
+999aff0057e666ff01dd8000a903f87bf926154e0affff87b334fd6415f7080a0e37
+fb82acf7e5a9f781b36da9d3dddb9f1292ceb5c35bd5f723d556cc13ce20f7358815
+780a13eec0f792f7ba15790a13de807a0a13ef207b0a13dec041167c0affffe03334
+f77015ae8bff00151998a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+ccce8bfffff9ccccfffff966688fff00139998ff0004b334a2ff001a9998abff003b
+666897ff0001666692ff0000e66694fffffccccc8f6486ffffe06668ffffef1998ff
+ffeaccccffffeae66808ffffebe66677fffff4999a75fffffb199a73fffff8b33367
+ff000f666766b28b080ef70489a8f7bab5f793a8c97601f8adf9b715b50acdfb7e15
+4f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13f4ff00afe666d315f7090a13f8
+f70a0a13f4f70b0aff00ff199af98c15b50a0ef70489a8f7bab5f729add3a801f8ef
+f8cd15fffffb800074fbcd8bff00048000a20591a79a99b48f08aa8e058f8f8d9b87
+945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896
+fffff33334fffffa199affffe2333408fffffb800074ffffdc80008b8469ff0023cc
+cd8bffffaa3333fc4805fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ff0055ccccf848ff005733348b92adffffa880008bff00048000a20591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e668fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62
+15fbcd8bff001d4cccf729f7cd8b050e6181c7f7ddc7e6b2d5a8a57712f7f0dd7ada
+13faff00afe666d315f7090a13fcf70a0a13fa93ae90a28b9d8bc7709f648bffffcc
+33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc08ff0030cccdff00da8000
+ff009ce6668b94b2ffff62e6668bff0003199a9905ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b81fffffe4ccd7c877808ffffc3b3338b8264ff003cb3338bffff9a199a
+fc5e05fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8b08b18b8ab7ff0008e666b1080efbad89a8f8e3a8bdb78fb901
+f769f8cd15500aff007db334f74015f70c0a0efbb181c7f7eda79877f702b78fb912
+f6ff01094ccc13bcff00f54ccdff0140333415f70d0a13dc800aff00614cccf85215
+ffffeee6688bfffff2800095fffff3cccc97fffff0999a99ffffeeb33399708bffff
+d94ccd8bffffe5cccc6dffffe8999a5008ff0014b3338605ff000effffacff000e80
+009aff001766678bff000f4ccc8bff000f199a80ff000e333380ff00104ccd7dff00
+10b3347fff0013cccc8bff002966668bff001f999aa9ff0015ccccc708ffffeb8000
+9105ffffebb33461fffff1999a81ffffec33328b080efbad89a8f8e3a8f70ab701f7
+69f8cd15500aff00c88000f75815f30a0efbb181c7f7eda79877f72eb712f6ff010b
+800013b8ff00f54ccdff0140333415f70d0a13d8800aff00936666f85215ff000bb3
+348bff000d33329dff0002333497ff0001199a91fffffde66693828b08ffff238000
+06fffff6199a8b7e7afffffdcccc7ffffffeb33484ff0002199983ff0008199a8b08
+0efbad89a8f8e3a8b8bf01f74ba7f76ca603f769f8cd15500ae1f70f15f40a0efbb1
+81c7f7eda79877e2c4e57712ff00878000ff001a8000ff00c26666ff0016199a13be
+ff00f54ccdff0140333415f70d0a13de800a65f8a215ffffe580007f058836ff0024
+cccd59ca8bff003519998bff0042999abcff001a8000e108ffffe9e6669705ffffec
+666651ffffd0b3346bffffd133338bffffcf66678bffffe01999b0ffffffcccdc008
+0efbadfb75b2f74ca8f8e3a801dac703f740fb7515af8bbd9fa3ba087c9305787676
+7c6d8b678b75a68bab8bff002fe666ff00308000ff0045199aff00483334ff000833
+33ff0002ccccffffffe667ff0002b3348bff0002ccccffffffe666ff00003334ff00
+003333ff00001998ff00006667ff00003334ff00004cccff0001ccccff0000199aff
+0001e6688bff0001cccc8b08fffffc3334ff0004999a058dff000799998cff000c19
+9afffffdccccff0003b33308698e05ffffd9199aff00036666fffff4e666ff000c19
+9a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b
+658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334ffff
+fa199affffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199aff
+ffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bff000c80008bff000d
+4ccdffffffe666ff000db333ffffffcccdffffc3199affffdecccdffffd76666ffff
+c54ccd8bffffd033338b55b36cc08b080efbb1fb62b2f8c6a79877f5eb12cbc8d7eb
+139cf75df8ce157d0aff002c4ccdffff063334157e0a13bc7f0a13dc6b8b5e845c85
+fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e666fffffdb3
+33fffff2199afffff94ccd6f085cfb6205846b81628b788bffffee199aff0009e666
+fffff26666ff001a4ccdfffffe999affffd74ccdffffd64cccffffd98000ffffd84c
+cd8bffffd14ccd8b5fae73ba8bb58bb3a2b0b8087d92057175797d6d8b6a8b78a18b
+a18bbde3d69c9aff0008e666ff0007b333ff0000cccdff00033333fffffd6667ff00
+013334ff00109999ff000e6666ff00109999ff0012199aff0010b334ff0015666688
+9485937d8b08716d6e77818bfffff8e6668bfffffd199a908b978b94ff0005199aff
+00166666ff0005e666ff0019999a080efbad89a8f8e3a8c2eb01f769f8cd15500aff
+00193333f74915f70e0a0efbb181ccf7e8a701f6f74803ff00f54ccdff0140333415
+ff00090001ff00271998ff000b3333ff002680008bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b6b8b5e845c85fffff94ccd83ff0001b333809182
+08b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f085c
+fb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716dffffe3199a
+77fffff5e6668bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a080eb3fb40b8f711a8f8e3a801f769f8cd15500af82f5d15
+f70f0a0e52fb58aff72abff7f5a79877f5eb12ff00cbe666ebf72eeb13def70ff707
+15762fff002566666aff0033999a8bff004f4ccc8bff0033e668ff0046ccccff0046
+1998ff0066999affffec6668ffffa58000fffff6ccccffffc36667ffffee8000ffff
+bbb33375356979798bffffe4cccd8bff00058000b6ffffceb3338b08fffff2cccdff
+fff03333fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a08ff00124cccff0056333405ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b0813ee6b
+8b5e855c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e6
+6689fffff2199a856f08fffff24cccffffc1cccc05ffffbc4cceffff8e8001ffffc1
+3332ffff98b333ffffce33348b6c8bffffee999aff0011e666ff000eb333ff004019
+9a08b8ff00c4333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff001119
+9a0813de7f0a13eef7100aaef78d15b70af78f16b70a0efb56fb3aaff84d9ff7b7b4
+bb7601d6b1f787e803f7e5f9b91560066569636b606f08947605b59cb09db5a6a772
+a878af79089fa0056da66faa76af08befb7515a79daca68ba38ba07c92768b698b78
+648772609f4ea95f8b082a674a63719779a4a09895a01f8ba46a998b958b989a9aa1
+8bb68bab73b8799985a1859c8b928b908c8f8d088c87056a437f5f7a2608897ffb15
+848b77f70f826afb58056cfb4a5a55518b7f8b80948597829d7b97758b087b807c7d
+6ab672b91fc38bf71fb9b4f78c08a8f743c0908ea4056a8e7e8d8ba18ba5a0f72d92
+b4080efbc2fb58aff8bfa79877f7787712f74dff0055800013b8ff00fb4ccdff0140
+333415810a13d8820aff0026e666f82e15e60a0ed7fb74a3daddb0a8f8e3a801f769
+f8cd15510aff0085b334fcf415f7080a0e40fb71a3dadda5bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830aff003fb334fceb15f7110a0e5481b9ff
+00a94ccdff0023b333f713d25fa71213e0ff009ee666f7d615f7120a13d0f7130a0e
+6189a870b2f8d7a8d2761213b0f709d715520a1370530a13b0540a1370550a7df714
+15b40a0efbbb81c7f8e5a8a57701e8da03f760f96915b40addfb2215840a0e61fb78
+a3daddb4a870b2f8d7a81213e8f709d715520a13d8530a13e8540a13d8550aff002d
+b334fcf815f7110a0efbbbfb7fa3daddb3c7f8e5a8a57701e8da03ff0092b3335915
+f7140aff008b4ccdf90d15840a0e6189a870b2f8749cdda876d31213a0f709d71552
+0a1360530a13a0540a1370550a1328ff013fb334f715156d8bffffee4ccc79fffffc
+b3347bfffffcb3327bff0000999a75b48b938bff00044ccc83fffffd66687efffffb
+4ccc74ffffe3800066ffffd433348208ff000180007a05ff0047999893ff002cb334
+c9ff00074cccaf08ff00074cccaffffff1999cb0658b080efba381c7f8699ce5d354
+a812e8da13e8f7b2f8db15ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b0813d87081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff919
+9a698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000
+ff002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94
+b30813e8ff00d5b334f8cf156d8bffffee4ccc79fffffcb3347bfffffcb3327bff00
+00999a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffff
+d433348208ff000180007a05ff0047999893ff002cb334c9ff00074cccaf08ff0007
+4cceaffffff1999ab0658b080e6189a870b2f782f700f77da812f7e8f70013b8f709
+d715520a1378530a13b8540a1378550af749fbb815ad0a0efb8681c7f79bebf77ea8
+a57701e8daeeeb03f7a3f7fc15739e74a8a6a0a1a4a673a173717573721e9af77315
+840a0e6189a870b2f8d7a81213a0f81df85515ffff72e666ffffb5999aff0026199a
+ff00c2666605ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffd16666ffff108000ff
+ff98999affffc98000966cff00546666ff002cccccffffd6999affff2b333405ffff
+fa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82
+081360530a13a0540a13606fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccd
+fffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff
+0004cccd08bbff00f53334f734ff0054cccc050efbbb81c7f81877f775a8a57701e8
+da03f7d5f84a15ffffb3199affffd5999aff0029e666ff00bb666605ff000e8000ff
+0040e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c
+898f1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408
+ffffd0199affff29199affffa6e666ffffcee666946eff00476666ff0027199affff
+d5999affff41e66605fffff8e6666bfffff9199a698b788b78ff0004800072ff0025
+80008bff002d33338bff00364ccdff00198000ff002d8000ff004b8000879586927e
+8b6d676b757f8b838b87918b93088b938e9a94b308ff00333333ff00e5199aff005e
+cccdff0033e666050ef4967693a8f8e3a8d376121370f943f8c115560a13b0570afb
+3df93915b40a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada13d4f8
+45f71015f7150a13b4890a13d48a0a13d88b0a91f8b715ec0a0ef4fb73a3daddbc76
+93a8f8e3a81213d8f943f8c115560a13e8570affff49b3345015f7080a0e60fb76a3
+daddaac7f7ddc75fa712f73bff00578000ff00528000e07ada13f5f845f71015f715
+0a13ed890a13f58a0a13f68b0affff50b334fb3915f7110a0ef4967693a8f8e3a8d2
+76121370f943f8c115560a13b0570afb0df93815f7030a0e6081c7f7ddc75fa7f773
+7712f73bff00578000ff00528000e07ada13daf845f71015f7150a13ba890a13da8a
+0a13dc8b0affff9a6666f80f15f7160a0e7c81c7f7ddc75fa7eb9ce5d312f748ff00
+578000ff00528000e07ada13ddf852f71015b1f7330593ae90a28b9d8bc7709f648b
+578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008
+199ab68bff000ee6668bff000db334fffff8b334ff00076666fffff2cccc8b0813bd
+890a13dd8a0a13de8b0affff0eb333f8d215ffffe1ffff8bffffee4ccd79fffffcb3
+337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667efffffb4c
+cd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb333c9
+ff00074ccdafff00074ccdaffffff19999b0658b080ef4fb46b8f717a8f8e3a701f8
+eaec15e4f8600591a99ea5b18e08a68d058e8b908e8c90088e9e8a8c058b458a6668
+448c8b1e878a8778058a869388908b08a38905b388916e86700841fc0f0587788980
+858b848b819d76b008fb87f84ffb178b88898879058a869389928aaa88a0648c7108
+31fc62058570796e638808728905818a88888a860887798d89058bd58dadb1cf898b
+1e8d8d8f9e058c90888e878b08728d05668e81a591a908cff7f30592ad909a928b91
+8b9380987508f77efc330568fb2969736e8b7d8b86938695859882996e8b7d8b727d
+86758467b079a08ba38bb68cbdb108ccb9b4c9a5f714080e60fb7dacf76776f81ac6
+5fa712f73bff00578000ff00a0199aff004ee66613ecff0130999afb3e15fffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6668b08ff
+ffe46667fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bff0032cc
+ccff001d8000ff00183334ff00218000ff0020999aff002d199aff00224ccccfff00
+19999aff0054e666abff006a4ccd98ff00724ccd8bff0037199a8bff005d9998ffff
+e06666ff0029b334ffffd4199a8b578b60762ffb00088a8cff00024ccdff00093334
+05ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ff
+fff8b333ff00076666fffff2cccd8b0813dcf7170a13eccaddc2c7af8bff00184ccc
+8bff00144cceffffe9cccc8bffffb9999a8bffffbd199afffff04cccffff983333ff
+ffe8e666ffffa54ccd08ffffe98000ffffa7b334ffffe16668ffffb0b332ffffede6
+66ffffe3999a080ef681adf8ecadf6b701ff00576666ff005ae666f84be403f848f9
+0415580af79bfbbb15590affff868000f84815f20a0efb0681b0f80facf717b701d9
+def771de03f735f73e158c0a3883158d0aff01698000f82c15f30a0ef681adf8ecad
+adbf12ff00576666ff005ae666ff00afb334a7f76ca6fffff84ccce413faf848f904
+15c80af79bfbbb15590afb79f7ff1513fcf40a0efb0681b0f80facc6c4e57701d9de
+ff0031199aff001d6666ff008e8000de03f735f73e158c0a3883158d0aff00a18000
+f87715f50a0ef681adf8ecadc07601ff00576666ff005ae666f84be403f848f90415
+580af79bfbbb15590afb55f88e15f7180af7274c15f7190a0efb0681b0f80facf766
+7601d9def771de03f735f73e158c0a3883158d0aff019f999af85515f71a0affff7d
+33329115f71b0a0ef7908bb264abf7c0adf783b312f92eaaf718a6137cf7dcab1528
+8b3ce3b3f763b5f76ae9d1e88b08ad06af8b9785856c0829fc8a05866f7e7f648b08
+7a69158bc88db11ef7de8bc3f73472900513bc6e4265564d8b08fb2b06768b7f9190
+a608bdf798f08b05ac8b927b8c6f088a6c05878d88901ea18b8d8e058fab8ba892ae
+92ac96a993ab8c8d8a8d898b087606878b88878a87087e6d057f6f807b698b08268b
+b3f7630590a39893a28b08f72706bd8ba050896008a68e98f71ffb8a8b408b056049
+8c8b1ffb478bfb10fb2868fb4868fb48d8fb1ff7488a080ef72481c74faef80fae12
+d9dff87dd01378f736f73f15e5a5f723f707d28e434e4a72fb49fb051e6d5c9df714
+1f37831556acfb0cf7051eff003fe6668bff003a8000ff00206666ff002a8000ff00
+3433340813b8ff00108000ffffcd8000ff00254cceffffdde666ff003b4ccc8bce8b
+c8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba08c9308f799be87d8
+8bb18ba474bc438bffffb14ccc8bffffc63334ffffdd4cccffffd84cccffffce3334
+7dff002e800069b1ffffb033348b08fb3b3ffb30fb0c1ff8d1f763158bffffa64ccc
+ffff96ccccffffdee6673ffffff63333ff00234cceff008d199aff0036fffeff001d
+8000ff0029e6688baf8b98828b6e080e8581aa74a8f79cadf7bbad69a4d57612ff01
+e9999aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a47b715b40a0e
+fb609676f80fd15fa712f738ff0052800013b0f771f7b115f71c0a13d0f71d0af734
+f81715ec0a0e85fb78a3daddacaa74a8f79cadf7bbad69a412ff01e9999aff005466
+6613cdf811f900155d0a91ad1513db5e0a13ed5f0affffd2b334fd4d15f71e0a0efb
+60fb76a3daddbf76f80fd15fa712f738ff0052800013ecf771f7b115f71c0a13f4f7
+1d0affff95b333fbd915f7140a0e8581aa74a8f79cadf7bbad69a4d47612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0a75b615f7030a0efb
+609676f80fd15fa7f7737712f738ff0052800013b8f771f7b115f71c0a13d8f71d0a
+ff00376666f76f15f7040a0e2081aff8eaadc87612cba9ff002fcccdff00483333ff
+009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb60d315b40a
+0efb6481acf813ac12c6df77cbdfd658dd13c0f7d7f93315e10afb29fd3d159a0613
+d8f71f0a13d4910a13e8f7200a0e2081aff8eaadc77612cba9ff002fcccdff004833
+33ff009de666ff0053e666fffffe3334aa13fcf881f90615600a13fa610a2cf74e15
+b50a0efb6481acf813acf7637712c6df77cbdfd658dd13e0ff0141e666f91a15e60a
+ffff6c199afd24159a0613ecf71f0a13ea910a13f4f7200a0e20fb56a4d7abbeaff8
+eaad12cba9ff002fcccdff00483333aec2ff0043e666ff0053e666fffffe3334aa13
+ff00f881f90615589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bff
+fff5999a8bffffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ff
+ffe033338bffffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff2
+4ccd087b3a5a6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8b08ff00
+044ccd8bffffc7b333389085059c8f948d9f8b089f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff0024cccdff
+0039999a05ff005f199aff0010e666ff0053999aff004a199aff00118000ff005966
+66ff00028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ff
+ffbb3334ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff00
+44e6668bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca
+8b0813fe80610a0efb64fb53a4d7abf864ac12c6df77cb9ac299d658dd13eef73b31
+159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a
+6b1f828b828a838908ff0020cccdff0033800005ff00588000ff00058000ff0034b3
+34ff0034199a8bff0045e6668bba70b92fc86d9f819d8ba48bae9fafb68b0813ed91
+0a13f6c067936a8b768b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b
+ffffdb999aff002c6666ffffdbb333cefffffae66608ffffc9999affffafcccd9085
+059c8f948d9f8b080e2081aff8eaadc77612cba9ff002fcccdff00483333ff009de6
+66ff0053e666fffffe3334aa13fcf881f90615600a13fa610afb31d215f7030a0efb
+6481acf813acf7627712c6df77cbdfd658dd13e0ff00f96666f88a15f7040affffb4
+999afc94159a0613ecf71f0a13ea910a13f4f7200a0e7afb45a4d7abb5a8f8d7b298
+7712f7d7c2f78ca913f6f779f9191513ee620a13f6a8ff00418000a49fc08b08d006
+ff002766668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c
+7d6287086c88058787897b8f82b88caf8cb28b08ff000180008bffffcc80003f9085
+059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08
+cec5aebeab709a6b1f828b828a838908ff001dccccff002ecccc05a8ffffff999aff
+001f6668ffffff4ccdff001eccccffffff4ccd8e8f8e9f889008698e05ffffd9199a
+ff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad8b08c1
+06bf8b9a719c48958bff00084cccff00004cccff000bb334ff0004b3340813ee640a
+13f6650a0efb92fb53a4d7abf854b212f1da86c213f0f74ef84115568805788a8483
+89838a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94c
+cdffffe166668b788bffffdeb333ff000f8000fffff4e667ff001ae666fffffe9999
+08ffffc9999affffafcccd9085059c8f948d9f8b0813e89f9a817b6b6679691f748b
+848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908afff00
+38666605ff00284ccdff000d199aff002e9999ff0023ccccff001b199aff0030b334
+889884917f8b5d5779817b8b0813f088818d971f8b94ff00036666ff0014199aff00
+07999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff00
+12b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff66666
+66080e7a89a8f8d7b29877db7612f906a913d8f779f9191513b8620a13d8630a13b8
+640a13d8650afb3bbf15f7030a0efb8c81c7f7e8b2e59ce5d301f1da03f74ef84115
+930aff00c6b334f76f156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cceaf
+fffff1999ab0658b080e7a89a8f7c2b2f782b2987712f906a913e8f779f9191513d8
+620a13e8a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ff
+fffb3334ffffe3199808ffffd98000fb5bffff8580008b05828b7e7c89818a858c83
+938b08f7178b5afb9105856f7c7d6287086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff0005e6
+66ff001e666608ff00314cccf791ff007fb3348b05978b979a8d968c908a93828b08
+ffff76cccc8bff00263334f7580592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b3340813d8640a13e8650a0efb9281c7f757b2
+f5b201f1da03f74ef84115568805788a848389838a88887f8b8908898e8b8e1ed18b
+ffffe8333321ffffc8cccd8b05828b7e7c89818a858c83938b08ff003e80008bffff
+e38000fb1305fffff8b333ffffdf999afffff94ccdffffe166668b788b679d81aa8b
+ff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b
+94ff00036666ff0014199aff0007999aff0021e66608ff001a8000f70aff005c8000
+8b05978b989a8d968c908993828b08ffff9b33338bff0017cccdf5ed8b05979094a5
+809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b978b9c8395
+6b8b678bff0001999a5efffff6666666080ed481b4f8dfa8beb78fb901ff007bcccd
+ff004ecccd03f7c68115660aff00e8b334f98415b60a0e6381c7f7ddc7e2b78fb901
+f70cdaf736d903f88ef7f415940affffffb334f85215f7210a0ed481b4f8dfa8f709
+b701ff007bcccdff004ecccd03f7c68115660aff01228000f99a15f20a0e6381c7f7
+ddc7f717b701f70cdaf736d903f88ef7f415940aff00238000f85215f7220a0ed481
+b4f8dfa8b7bf01ff007bcccdff004ecccdff00a06666a7f76ca603f7c68115660af7
+41f95115f40a0e6381c7f7ddc7c7c4e57701f70cdaff0032199aff001d6666ff0052
+8000d903f88ef7f415940affff548000f89e15ffffe2999a7f05fffffcb33336ff00
+28cccd59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea333451ffffcb80
+006b578b558bffffdc8000b0ffffffccccc0080ed481b4f8dfa884a6f704a612ff00
+7bcccdff004ecccd13d8f7c68115f7230aff00bce666f9a915ff001e00028bff000e
+e66472fffff9b3346c0813b8fffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b332a7
+ff0005b334a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315fffff6999a5d
+ff0021800066b98bff002ffffe8bff002eb334b1ff00093334b8ff00099998baffff
+de4cd0afffffd1fffe8b5d8bffffcf800066fffff6999a5d080e6381c7f7ddc7c8a6
+f704a601f70cdaf736d903f88ef7f415940affffb4e666f89715f7240affff9d999a
+5315f7250a0ed481b4f8dfa8cb7601ff007bcccdff004ecccd03f7c68115660af767
+f9e115f7180af7274c15f7190a0e6381c7f7ddc7f7667601f70cdaf736d903f88ef7
+f415940aff00719998f87b15f7260affff7d33349115f7270a0ed4fb4ab1f71ab4f8
+dfa801ff007bcccdff004ecccd03f7c68115ff0020199a8bff001c999aff00036666
+ff0019b332ff00066667ffffcdccceffffddb333ffffdbe666ffffdc199afffff84c
+ccffffda66668055ff0021e66677bd8bb48bff002c199a9fff00263334b8fffffd66
+6692fffffacccc8f828bffffe5800075ffffecb3347b6e8b08668bfffff74ccca0ff
+00054ccea5ff00096666b9ff00286666abff00486666be08fffffaccceff00086666
+05ff0046999ac0ff0022b334ff005ae667ff00151998ff006eb33308c1f7a70590a7
+9b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c0889
+898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff74ccc
+8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb90575
+fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff0020
+99998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b98b3
+8e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c0888898878
+058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b768b
+fffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405fffffb19
+9affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff70199aff006b1999ff
+ffdfe666ff004b199a8b080e63fb62b2f731c7f7ddc701f70cdaf4c803f88ef7f415
+ff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165
+086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b
+9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b82
+85758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980640582
+6b83628b788bfffff04ccdff0004b334fffff3b333ff00128000fffffc3333ffffff
+e666ffffffe6678b8bffffffe666ffffffe666616165638b5c8b5fad73bb8bb48bb4
+a2afb8087e92057175787d6e8b6a8b78a18ba18bff002ccccdff0045b334ff0040b3
+33ff001b8000ff0017e666ff00191998ff000fe667ff0018b334ff00189999a4ff00
+20199a889485937d8b716d6e77818b08848890971f8b9490a191a5080ef7f09676f9
+08a8cb7601f76df8b615680af834f79715b50a0ef7139476f805ddf7627701f92bff
+0048666803f79d7f15960aff00dfe666f92515f7280a0e8289a8f8e3a8cb7601f7e4
+d7156a0af712f96d15b50a0e51fb7ec8ff02178000ff004c8000f7637701f871ff00
+48666803ff01608000169a0aff0059e666f96015ed0a0e8289a8f8e3a8c3e601f7c5
+e7d0e703f7e4d7156a0aa2f96215a00af7358c15a10a0e9c8bb2f8cab39877dc7612
+1390f7f7f94e15c30af741fd50159ac3a1c6a0bf086e90056a436450428b08fb7406
+7b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccccff
+0011b3348bff0008cccc8bff00058000fffffbccccff000266687b8b0813d07f8b76
+846d8808fbc80613b06c0a13d06d0a0efb1181d871c8f790c55ad712f1a61328f84a
+f850159b0a13189c0a13689d0a13889e0a13689f0a2ff78615ec0a0e9c8bb2f8cab3
+9877cbeb12ff01883334eb13d8f8a489156b0a13b86c0a13d86d0affff783334f984
+15f7290a0efb1181d871c8f790c55ad7dfeb12f1a6ff00863334eb132ef84af85015
+9b0a131e9c0a136e9d0a138e9e0a136e9f0affff343334f72215f7290a0e9c8bb2f8
+cab39877db761213d0f8a489156b0a13b06c0a13d06d0afb13f94f15f7030a0efb11
+81d871c8f790c55ad7f7617712f1a6132cf84af850159b0a131c9c0a136c9d0a138c
+9e0a136c9f0affff4d6666d315f7040a0efb9afb7daff8dcaaf787b0016afb2a15f7
+2a0a0e387fadf80cb7d2b2e7a6a47701f83bdb03f735c115d1f7c205bcb3bf8d968b
+bb8bab5e8b468b788977867571fb0646342c8b6c8b78927ca408f77bf88615fb088b
+adf724758b0575837b867888798765867c8b088772058a878d898e8c08ac8e059892
+85781f8b80897c8777088676498b8164ce8b25fc4e058264877b8374089e86059795
+9b999798a272a87fb68bf18bf719e4b0f7338f9f8e9e8b9c8be652c6438b5a8b5f79
+606608a8f712f7078b050ec189adf7c0adf71476f722ab01f782f8fb15a28b9b8185
+6c0829fc8b05846881876288086e8905868888861f87788c8905b98cb28cb18bb18b
+9889e18bf7538bd1ef9ce19deb58c23ca4088d07c0a4bebf96c198ce80e2fb468b69
+8b5e89658b668b918d7a8b2d8b493a80538777967a9f8b089b8b9f9590a58e9c8797
+8e9b91a8a7aba98b08cbfbaf15cd06f7178bb53e79317d42634ffb268b488b819891
+ac08ebf8801591ac8d95df8bc08bce6d77257a364b6d3b8b0844060e9289a8f7c6b3
+f70976f71cb370a612f87ae313e4f78ef7e115f72b0af80af70315f72c0a13f4f72d
+0a13ecf72e0a0efb0581adf807b7f761a779ad12f868a413c8f72ac115cbf7bf05b7
+b3bc8d958bc48bad45752573fb064c36338b086e8b78907ea40813d8f741f90e1513
+e8408b55835d83088874058a878c8a8e8b08a889059e8a93857f5208fb00fc8f0583
+64877b8474089d860596959a999698a072a781b38bea8bf70fe2acf733a5f70e4fdc
+3a8b5f8b627963660813d8c5f7a2f7118b05bc8b9a4c8c5d08a48e9cf720050e7e89
+a8f7c6b3f7b17701f788f7e115e806f7168b922980527f4d5c32fb2a8b528b819992
+af088af81e153efc2105856f7c7d638808718905878b88888a860887788c89058be5
+8dad1ea88ba889b68bd98bcb90c9b1b8a7bac198cc99d77df701fb588b08238bacf7
+3e0597cc96b38b8b8c92818e838b51676d7f57807e80897f9380b67d9d797f4d080e
+fb0281adf808b6f7977701f733cc15c8f7b505b9b4bc8c948bc58bad46752573fb06
+4b34338b6e8b7a9c7ea308f711f90d1552676e7f58807f80887f9380b47d9c797e4d
+082efc4a058364867b84739187908a928b95959b9a9597a272a680b38be98bf710e4
+adf733a5f70e4fda3a8b085d8b627a646608b5f75a0599cc96b38b8b8d92888e828b
+080edf80aff8e4b501e9aaf874e503f84ef927152b8b275a3232089f7d05e4d8d6ac
+e88bf70d8bbd2a8bfb048b6b886b836b5cfb5ffb35373c8bfb268b69da89ed086c88
+7bfb3905c78aa65ff70e8bf73a8bf74ff726b9f75991a68ea88ba68bf71640f706fb
+468b080ede7fb4f8e4b099d201efe4f874b903f9daf97b15668b3b6270345d9568ac
+228bfb3a8bfb4ffb265dfb59856f886e8b708bfb16d5fb05f7478beb8befbbe4e408
+779a05323d406a2e8bfb0d8b58ec8bf7058baa8fab93abbaf75ff735dfda8bf7268b
+ac3d8d2808ab8f99f7258b8d059dd8b58bac8ba28ba78f92aa8b8d8c8e8b8f8b9885
+99748b080e477fb7f80cad86c912d8ddf76de013b8f8bff840159f8b9c9990a08b8e
+8c8e8b8e8b9884996e8b698b4f7463520813d876996c94638b208bfb032f6afb2286
+7488758b768b2ec14eed8bc78bc1a6c9d7087d9905615e5f6f608b4d8b62bf8bdc8b
+9f8ea190a2a4f700ccd1cd8bb78b94738b708b838a828b83088b898a898b898b769c
+829f8b9f8ba19a91a88d918b918b918b9b879981980813b8999f9f9ba38b089c8b9c
+829b8b080ef7268aadf792b2f7b3ac01f914e903f75fd315bdf76bf08b94b2268bc4
+f78c0593aeaf8fbd8bf73d8bc5fb008bfb0d8b6a8769836a5cfb5efb1d5afb208b38
+8b77908b9f8b8f8c8f8c9108fb4a56158777f7148d05af8bb689f28bf7218bf75dcb
+c4f78990a48ea58ba38bf72afb02f705fb3a8b698b4c8b478a08fb128c8677058a86
+8d88908b08a806ab9785781f8b858a8489830852fb8a328b8264e48b5afb6905846b
+797d668b086d06868b87878a86080ef74c89adf86476f71ead01f7a3d415edf88905
+92aead8fba8bf7638bb1fb436dfb2e64fb5efb1659fb1b8b2d8b829491ab08fb4154
+1587798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78ab0f74efb0af72d
+fb4c8b4e8b5289648b698b768d7e8b08fb028b55338260856a9d839b8b9e8b9b988f
+a08f9f85948f9f92aeada2ac8ba58ba6858465082afc8605856b78806989086e8905
+878b88878a86080e7589adf7cfadf776b170a896771213c0f817d915846a7c7e488b
+258b54bea1f7079ad4b6d7f7198b08e00613e06af79815df8b8a87846a0867fb514f
+8b05fb428bfb005a6dfb3073fb0fe854f38bcb8bb08dca8bb58ba48ab58a0890a305
+8e8b8d881e6f8e05708e829791ab08ecf8840592b0948da98e0813d0a98e058e8c8c
+8e1f90a40513e0fb0389fb658b0513c8608b68906f930860fb2da3880513e0b6e4b1
+9bb98b080e2e81ba84a2f7f3aef76bad95771213a0f7e7e9155a676276738b598b64
+c6a6f7119ad3a0b39da0b2bab38e9d8bb78b9f769a6508c7f7b1155efb6905789864
+94798b4d8b5e755e65596069507b4171fb0faf31f08bb08bc0abbeb0088d8a7a45a0
+8b051368a49db698c796088da2609005778d899196bd08f703f8a0058e9692a79595
+0883940513307482728b818a08fb28061328538b7a8f7391085efb2aa3880513b0a0
+b9b4cabc8b08f705069c8b8e868778080e44fba0acf91ba912bce24fdff71fc3dddb
+13dcf7988d15ebaaf70fcbaaf71a8f9f8e9e8b9c8be453cd248b218bfb194266fb37
+877a897c8b7d8b34c84add4008b466b2678b728b898b8a8a8981606675588b0813ec
+718b709880b280af7792818b7d8b7284846e8b888a898b898b69be58e78bd08bd5aa
+9dd8088d938c928b928bb36fad57be0866b01572a40513dc68ad79c18bb98b978c97
+8e95b0f737e3abbe8bd28ba5478b468b768876877870fb06375a4473088e7b050e93
+8aa86fb2f7b4addd77f74bb36fa712f796ab1336f782f91a155cfb20a68805137a9c
+b6bbc7be8b08f72d069e96867b1f8b888a878a87085afb69fb1c8b0569859aa51f8b
+8e8ba9058f898f871e7506898989891f88728766846a82697c5e847a088d88a28b05
+918b8e8f8c8e0898aa0597a89a9aac8b08f71d8b50fb930585707b85758b08fb4c06
+4c7abdd01f8b9270867ffb34f7ba8bd88c0513b6f7168990a1058c8e8a8f848b086d
+066b80959e1f8b8f8c908c9108f708f8890592aa9c99b18b08a906918b8d8f8c8e08
+90a0fb168a05133a3d8c050ef67fadf756b7f800ad01f1d5f857e903f744f76c15f7
+2f0ab9f7c715f7300a0e5f7fadf7c4b2f797ad01cbe393d3f7abab03f830f9261521
+8bfb105677fb058a828a838b828b43c66aa4814378355178fb00897e8a7f8b808bfb
+07f70970e98b08db8bbda5c49408b5f7246f8e055ffb013064458b498b56ac8be18b
+988c9a8e9c97ccb7d6f58b08ed06968b91928d978e9687947f8b0847062b71c7bd1f
+8b938c948c939adeceb4db8bef8b974b8e3b08ab9092f72305599079a4458b080e37
+fb40b8f856b1d677f751b370a812ff01a14cccff001fe668ff005e3334ff001e1998
+13f6ff00763333dc15ffffd9b332fb48ffffc7199a6f6a8b7d8b8693fffffacccd95
+fffff91999ff000d3333fffff7b334ff000dcccd6c8b7d8b707dfffffb4ccc75ffff
+f84ccd67ff0026333379a18ba48bff002c33348cff00351999b108ff0043cccdb9ff
+003c3333c9ff001b3333f71408ff002ecccdf770ff007f00018b05ad8bff000b1998
+82fffffcccce6e08fffffdb3327205ffffff666888ff0000e66686908b08a18bff00
+04999a8e05ff00058000b3ff0004b332a6ff00044cce9fff00044ccc9fff00074ccc
+a9ff000b8000b308fffffce6688f758b05878bfffffc199887ffffff33348708ffff
+f7b3347205826f7c7d688b08fb138bff002cb332f76605ff0005199aa3ff000e199a
+95a38b08f406ff004afffe8bff0009800063ff00074cd04608ff001e19989005ff00
+038000b4ff00056668ff00606668ff00003330ff00079998ff0000199cff00024ccc
+8aff0000b334fffffd99988bffffedccccfffffc9998fffffa8000ffffff6668ffff
+e7ccd08b08ffff02b3320613ee648bffffd733338cffffd133338c0813f6fffffd99
+9a89fffffbb333770513eeffffff666788ff00004ccdfffffc8000ff0006e666ffff
+ff800008ff001d80008905ff0025e667fffffd6668ff000a3333fffff49998fffff9
+66666c080efb03fb40b0f8a2b2f783a80160cff872d603f87bf94e15518b3e4855fb
+28806e7773678b08678b7d64dd8b66fb05054dfb4a62fb7b378b7f8b89918b918b8f
+8c908b908b8d8b8d8a8c889883937a8b788b7b79877c088b888a898b888b78996ebc
+8bf70b8bbff727f71ef82308909cf58b9ab2218bb3f70305b3f5aca19d8ba28b8767
+8f7c8f7b95829f8b9f8b9b9c909f8c8e8b8f8b8f8ba675a9458b080ef7347faff78b
+aff7ceb099d201dce6f82dc6a0aa03f9c1f97b15668b3d6274345e9569ac228bfb40
+8bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5088492
+87928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c900890a5898d058b51
+896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a870870
+fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf743f714f70bf71b8b
+f7268bb13d922808aa8f92f7290591ac9dafae918e8c8d8b8f8b908b928a938ba28b
+a68f90aa8c8c8b8e8b8e8b98859b738b080e8cfb68cff990a501f734c503f7a18a15
+8a848a848a858360836b837683778584868b8a8b8a8c8a8c878e8a928d978c8d8b8c
+8b8d0897bc9dafa0a8088cbd154b456751835c8a878b878a86087d07659676a51ea8
+8ba3a89fc195a692a790a991a69bc68ba908f7bbf8890590958f928d918e90919297
+92908e938c998b089d8c058d8b8e8b8c8c8e8d8d8c8c8e088d9c8b8d898b05838b46
+89898b808b2f8d878b08898b8a89887a058b888b88908a088c8ba88a05a08b95898d
+898e878c878a858b8a8b898a8a8a868784868108fb57fbe25e367ee245f7e0058993
+8b918a938b8d8c8c8b8d8c908d8f8f8f8d8e938c998b08b28c058e8b8e8d8c8e088c
+8c8c8b1e8d9c8c8d888b057f8bfb0189868b818b338d878b08898b8a89887a058b88
+8c898e8a8c8a8d8b8d8b08a08a05968b948a9088928690858d82088f75050ef281ba
+f7dcd54fc7f760a8a57712ff0167b334ff0045e666ffffe76666d7ff00ab6668ff00
+28b33013bbf875f7fb15c7739f641effffcc33348bffffcb4cccffffeb3334ffffa4
+cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000
+ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385
+751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6af8ba08b9985
+8b6c0813dd8bffffd1199affffd2b334ffff6499998bffffcc66678bffffc13333ae
+ffffdcb333ff004e4ccc8bd68be9d7b2f74bff0007e668ff0026199aff00043330ac
+8bff001b666608ff003ae666ffffec999cff0020999affffd44cccffffe4199878ff
+ffee4cccffffea199a1e8bffffe8b334a1fffff5ccccff0009e668ffffff199aff00
+134cccfffffc4cccff0012199cfffff033348bffffd1199a8bffffef999afffffdcc
+ccffffebb332fffffaccccffffe7199a76294425458bffffde33348bffffec6666ff
+0011e6668bff0027cccd088bff002c6667ff00336666f7328bff003de666080efbbb
+81c7f8e5a8a57701e8da03f7b2f8db15840a0efbad89a8f7c5b2f78ba801f769f8cd
+1564fb5affffb2e6668b05828bfffff2b3347cfffffde66681fffffeb33385ff0001
+666783938b08ff0055cccc8bffffcd999afb9405fffffa6666ffffe3ccccfffff04c
+cdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18b
+b88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a
+91ff001e800008ff00326666f794ff004233348b05978bff000c33329aff00024cce
+96ff0001199a90fffffeb33293828b08ffffb4199a8bb2f75a0591a79a99b48f08aa
+8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e6
+66fffffc999896fffff33334fffffa199affffe23334080ed78aa8f8e2a775ad1213
+a0f75cd315b4f78105a68799809c7408f727fb5a05957e8d7e8b7e8b818a828a8308
+89858d89058ba38dafb2d6898b1e8e8d8f9e058c90868e868b0885066e8b769b76a8
+08fb54f79805849486938d938fa2c2b6cbcbcccdbbd1b18bbd8b7143b68b9d8ba09b
+8e9f8c8d8b8d8b8d08aa64ac521e478b5f41454556566a6d555e7175777f768608b3
+f7770513c090a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b
+1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b0870
+06868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08
+7106697d95a11f8b8e8b8f8c90080e398aa8f80aa8f781a801f827d503f75ff88415
+29fc3c05846e7e7c6a8b087806868b87888a860887788d89058bce8dafb2be898b1e
+8d8d909e058c90888e868b0889067281949d1f8b908c908d9208a9f7198d91058f8c
+8e8b8e8ba28b937a957808bc240594778e808b818b868b878a8808877a8d87058ba6
+8daeb2be898b1e8d8e8f9d058c90868e848b088806728b709d7fa6083df741058893
+8b94939208ebdf05aaa5bca1a68b0892068f8b928e8d90088f9e888d058b54896468
+5b8d8b1e88898778058a878d87908b088f069f9185841f8b8a8b8a8a8a8981837e79
+7b4751636c5a7508cef7b605a0e7b4bdb88b928b8f858b818c769374a28b9c8b9d99
+91a38c8d8b8d8b8d8ba65f9d658b08218b4d287325080efb9381c7f7aeb2f7a4a8a5
+7701f704da03ff00ae8000f7e015ffffd08000fb6905fffff8e6666bfffff8199a69
+8b788b78ff0005800072ff002580008bff002d33338bff00364ccdff00198000ff00
+2d8000ff004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308
+ff002de666f761ff004fb3348b05978bff000c33329aff00024cce96ff0001199a90
+fffffeb33293828b08ffffa7b3348bff002f6666f76805ff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd53333
+fb54ffffbdb3348b05828bfffff2b3347cfffffde66681fffffeb33385ff00016667
+83938b080e6d7fcdf8dbc801f7e1be03f87ef8fc1521548b930582f704539c758b6b
+8b5c74696508937205a39aa495a78ba28ba678993808fb0451956df6c2058c848c83
+8c82088e5bfbe1fc479d83dfa1f783f7f598fb8005922e9d5ebd8bb08bb7bcacc808
+7898056c5d7380768b6a8b82bf7ff7360879f797f705c6050ef7bb7fbbf8daa701f7
+0ddcf768db03f7aff8d21590a7989baf8b089f06918b8e8e8c90088f9e898c058b41
+8a6561418c8b1e898a8878058a868e88908b08a006a89680771f8b878a878a860840
+fc3c05887588768b778b51a262d18bc68bcea5d5c70888075fad64c51ece8bc9b0c7
+bc088e8b79359b8b05938b938e9890aa999a8fd296088aa60578877e8a7d8b818b83
+8d8ba08b958d978e9c08ddf8650590a7979baf8b08a006908b8f8e8c90088f9e888c
+058b428a6561418c8b1e898a8778058a868f88908b08a006a89680771f8b878a878a
+86083afc64054f5a5872658b698b729e8bba8b938b948d9508d9f8510590a7989baf
+8b08a006908b8f8e8c90088f9e888c058b428a6560428c8b1e898a8778058a868f88
+908b08a006a79680771f8b878b878a860840fc3d05887c897e8b7e4e575a77618b68
+8b729d8bb98b938b948d95080ef71afb4fa9f73e76f906a70146cd03f70ce315835c
+6ffb5a458b808b878f8995899f809f7d8b838b7288856b08880777a671b71ef7048b
+a6f722a3f71a08c9f7f20591ad8f9a938b918b9480987508f7a3fc4d05947c96859b
+8a998b94958e9e08eaf8ac0590a9a0aab28b08a506908b8f8e8c90088f9e898c058b
+438a6467418c8b1e868a8878058a8693888f8b08a606ac9774731f8b868a878a8608
+48fc0f88740589808887888b828b81a776b027f744fb40f79d8b8b08fb178b888788
+7b058a869288908b089006ac8ba1618d71080e57fb6876f78876f819c75fa712f73b
+ff00578000ff00968000da13ecf7c5fb2b15fffffbb334ffffeb199afffff79998ff
+ffe7e6668bfffff633338bffffef4ccd96fffff58000ff001fccce8bb18bffffffcc
+ccb6ff0008199ab208e5f8460592ae91a28b9d8bc7709f648b578b60762ffb00088a
+8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dcf7170a13ec
+caddc2c6af8ba08b99868b6c8b7d85778469080ef67fadf7b3b7f7a3ad01e0e9f85a
+e803f905f7c9156bfb4720fb00fb068bfb058b3bdd8bf7258b9d8ca08ea008f854b7
+15fc4c06b5f753f70bdbe78bf7008bdc3e8bfb2a8b7d8a7c8a7c08e473158fa28da0
+8ba08bf735fb07f2fb288bfb478bfb32fb2c68fb58877489748b768bfb32f7012af7
+2c8bf7538bf728f721aef75c080ef71d7fadf8caa793ada5e112e0e9f85ae836f700
+61b513fcf964f7dd15f7310a13faf7320a13f9f7330afba8f7bb1513fcf7340a0e46
+7faef800a983acaedf12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13
+def7370a13bef7380a0ef7d5fb23a8f1adf8d9b675ad1213e0f8c5c71595c297cfd6
+f83d8b8bb987a88aa48ab48c8b8b9f8b937e81520820fcef05866f7f7b6a8b087306
+868b88888a860888788c89058bd48dafb2d3898b1e8d8d8f9e0590888e871e73066b
+8b839b90a70813d0f714f96c758b0576827b8779870813e03987628f5b900874067c
+857d7c7e890813d064a25b97598bfb478bfb33fb2c69fb5868fb59f70afb11f7408b
+08dd8bd3a5c8b908fb09f8c815c08bb978ac670831fc90056872647d628bfb178b33
+f705adf754b0f766f711e2eb8b080ef715fb7ba8f752b7f7e7ac8fad01f8d1fb3215
+f71ff8ec7c8b05758b5c65438b6d8b458c719b72996d92698bfb0e8b22246cfb1876
+2ea4fb12f7258bc38bdfa9bfaa08d3f7ca059f93a58f948bac8bb08b815f08fb04fc
+7905846e7e7c6a8b087706878b87888a860886788d89058bcf8dafb2cf898b1e8d8d
+909e058c90888e868b0878066a8b859a91a808fb31f882154afbae056c776789798b
+508b3db7aef72ba3f3c9d8da8bb58ba7709c5e080ea28aa8f792acf74876f724a771
+ad12f8cce113ecf750d215866f7b7c618b087106868b88888a860887788d89058be9
+8daeb2e2898b1e8d8d8f9e058c90878e878b0870066a7d94a11f8b8f8b8f8c8f08b1
+f77105a1849d88ae8bf74a8bd4f70b9ae08c938c958b958bc769dbfb338b718b4f89
+57880813f45588888b05fb06895636835f8a878b878b888b739b85998b9f8b9c998f
+9f8c948b928a948a938b938c940893b6c29baf8c988b91898b7a8b858b83898108e1
+aa1513ec9f92b8929e8bc78bc8788b338b7e897c887a78fb004b5e2a8b728b688d80
+8e080e39fb7ba8f752adf80ab9f776a812f81ad462dc13f8f7a3f8a215a0e7b4bdb8
+8b0892908581769374a21f9c8b9e9990a38c8d8b8d8b8d8ba65f9d658b218b4d2873
+2508fb2bfd2205856f7e7b698b087806868b888889860887788d89058bcf8dafb2cf
+898b1e8d8d8f9e058c90888e878b0878067181949d1f8b908c908d9208b2f73c05a1
+7da583af8bc08bb89ebcb2c2b9b3c99edc0813f48f9f8d9f8b9e8bdc61ce3d8b6b8b
+53814d4508888b9fd2056ffb0b15adc0c3a8ad8bb98ba9648b448b758870856e7635
+5c27218b7a8b6a8d73b4080e8e24a6779fd6a8f75db1f792a8cfa712f87bdc13bef8
+c9f818158d968c968b948bf028a9fb018b6b8b738c778c088fa10590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b7f32fc8b05866f7b7c628b087006868b88888a860888788d89
+058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d94a11f8b8f8b8f8c
+8f08a6f73205cf8aa7868e8408c9fb7d059c5cb164c68b08137e9b8b9d8e958f089f
+0713be8506668b75af7db4084df78305bc96ebbf9ae0083a8a15792536792a8b0859
+8bb6f78a05a491a78daf8bc18bce718b3b8b828a828981080e39a076a28cf8ecad01
+d5d6f78daaa4cc03f764f90b155ffb23a98605abdbb0c8ee8bc58bad638b588b848b
+8489847d3821655e7c326d276276fb0d89808a808b810832cb40f11eed8ba1aea38b
+978b8e858a7b08aa8a0590aa91a28e9993ac98ab99be086f8e878205743f393d3e8b
+478b5cae8bcb8b938c948d949be6c1a6cda3d7a6f718bda0f7098c958c938b9508e5
+3ac23c1e2e8b8a785283080efb527fa78e76f832a912c7cbf76ac513b8f7fcf72015
+748c058575765b6c717e806979668b6c8b63a28bb38b8f8c908b9095b6aaa8e2addb
+abb6a09dd6088c938c938b938bc15eb0468b598b6682687b7d6b8069816708a38a05
+b3ddcc9ba08bac8ba9808b658b858b848983826373775077336d4167783b89808a82
+8b82083fdf74b51eae8ba98fa692938c908c928b081378908b948a9489080eaa8ab7
+5fa8f8d3b66fa712f8e5a51358f909f91a15fc1c8bfb048b8a8a86728d8905998ba3
+85a06708f71dfb9efb9dfba105807f7f8a7e8b08888887738d89f89b8cb7f734718d
+0513a86c40755f468b08fbd18bf7aef7b38d8cfb20f7a4f79d8b05c38b955f945308
+a58e050efb94fb68a8f944a4f723a412f718d04cb3f71db113ecf7cdf8ed1583686a
+67618b688b7aa48ba78b918c918c9193aeabb0b68bb08b9a708b6f088b858a858a86
+08fb401689838a838b848b5faa6ec38b998ba494979280757e5f85710832fc150513
+f47e517f598b638b6d91729b789d76af7e9e8bc28bb3a691a18c8f8b8e8b8f8b9e7b
+90818b086a8b86546f8b7e8b7f93859d889189938b9a8ba391b49cd708f708f88905
+94b28faa8ba48bce6ca1578b4f8b54667d4f080efb97fb25ddbec2f7f0b201f3dc03
+f716fb2515a98bdfb8a0e58e988d988b99959294939594087d9c056c777683728b7b
+8b84958ba08b998ea092a508c6f794ea8b05948b9a8f8d94088f9f058c8f898d868b
+08fb028baef72e4e778678057a3f7164498b888b8a8a8a8808846c058a888d8a8e8b
+08cc8b44fbc405887b897c8b7f8b639f7bae8ba68ba693a79a08887c0586737d7376
+806c7b559c815e8b888a888b888b7b957e9d8b080ec08aa8f85f76f71ab212e4d2f8
+94a778a313f4f734f888158c948b938a938a938b938d9492b6c091b08c08e606a997
+84771f8b878b878a860835fc7c05866f7a7b628b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8e9e058c90888e878b087006697d95a11f8b8e8b8f8c
+9008e1f87a0591ac9894af8b08da06c38b9a80913b08a3900513f886f72f6f850584
+867a7c1efc1706fb05885536835f8a878b888b878b749b84998b089f8b9c998f9f08
+0efb957fc2f7f0b2f782a801f3dcf76ed503f792f81b15ea06948b9a8f8d94088f9f
+058c8f898d868b08fb028ba5f70405a1ddb2b7b58b928b8f858b818c769374a28b9c
+8b9d9991a38c8d8b8d8b8d8ba65f9d658b08218b4d287325877a815a498b888b8a8a
+8a8808846c058a888d8a8e8b08cc8b44fbc405887b897c8b7f8b639f7bae8bb98bb8
+a1bcb7087d9c056c777683728b7b8b84958ba08b998ea092a5080e7affff428000ff
+00208000f98fb2987712ff00f74ccdff004ae667ff012fcccca913d8f79ad71582ff
+ffd1999afffffa4ccdffffd580008bffffdb333308ffffaa8000ff001ee667ffffc9
+b333ff005c4cccc9cc9cc29d7bff000980007e1e6f8bffffef800071867f867f837a
+738bffffd1999a8bfffff2999aff002c999a8bff0035cccc8bff002d4ccdff000980
+00ff0033cccdff00074cccff0025800008eaf87c05ff0006999aff00221998ff000d
+6666ff0007e668ad8b08c106bf8b9a719c48958bff00084cccff00004cccff000bb3
+34ff0004b334fffff78000ff002bccccfffffc9998ff002380008bff00204ccc0813
+b88bff0009b334ff00004cd0ff00096668ff00009998ff00094ccc0813d86afffffa
+8000fffff2ccccfffff88000ffffdc33348b08fbe20613b8620a13d8a8ff00418000
+a49fc08b08d006ff001f8000ff000a4cccfffff96668ffffeeb3301f8bfffffbb334
+ffffff4cce86fffffee666fffffa3334080ef71e7fb4f8e1a7c6df01f711ddf8bbf1
+03f7d37f15f7390a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415
+f73a0a13dcf73b0a13ecf73c0a0ef47fadf8c9c612d5e35ea5f713bdf768c08be1a9
+a513ebf779f8df15a897857f1f8b5ffb3afb0b72fb1d887789788b788bfb0fd827f7
+428bf7598bf70ff728a2f7198d978c988b970813cd8bf70635ea8bb8089c9895b1ba
+9e85641e8b868b868a8608a58b99f70b448b05fb006d73611f13eb8b52c0338bfb03
+8b798978887874fb1533fb09fb1e8bfb028b50d78bf7028b9e8ca08fa09ef1f71af7
+298bd708a9769f511e2b8b0513d96ffb0ba58b059bc3a18fbb8b080ee57faff8e6a7
+78aa12f70eddf845bc13b8f714f77015877189748b778bfb16e16af7028bef8bf75a
+c1c5f7de93b48fb38baf8bed6cd23c8b688b437e8156088307789b87951eab8b97ae
+8e93909c99919d8bc18b99438b428b558356877565fb6cfb1ffb05fb0f8b2d8b70c0
+8bd6088ba98fac91ad08c4f7d90513d890a79b9bb48b08a606908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b878b
+878a87080edb8aa8f8e2a775ae1213c0f7c8f84715cafb2e65fb6505876f7a7b628b
+087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e86
+8b087106697d95a11f8b8e8b8f8c9008b2f771f75af7ad05a2ab9b97a98b08a00692
+8b8e8d8c90088e9f8a8c058b3c8a837e3c8c8b1e898a8877058a888b87908b08a906
+9c9189831f8b8a8b8a8a898a868782807d08fb3cfb7f57f7110513a052f71961c750
+8b468b5358866a8a898b898b898b7e927d9e8ba38b949e8e9c8d958a938c92088e9c
+9f8f948b08ad8bac3ab7fb00080ec7fb7ec8ff02178000ff004c8000ff001d999aff
+00477ffe01ff01e4999aff0166999a15ffffc46666ffff7c66666c4cffffba8000ff
+ff77800008fffff980008e0585ff0074800084ff005e66666dff007b999a7dc07ea0
+728bffffe880008bffffb68000ffffd680006871ff00016666fffff5199aff000399
+9afffff3e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7
+800008ff00048000fffff84cccff0005999affffefccceff00056666ffffede666ff
+001e8000ffff9a3333ff001e6666ffff0c4ccdfffff4199affffe680006248615f7d
+8b818b7898859084917793838b087672776c6ab7829c1fc08bff004e8000ff004166
+66ff00418000ff0062999a08ff002e8000d105ff00216666ff00324cccff004a199a
+ff0089b334d2ff00a98000ff00191998c7ff0014e668ff0033199a978bff0008cccc
+8bff000d3334fffffdccccff00046668fffffa80009680ff00129998fffffb999aff
+000f66688b08ff00171998ff0013e668ff0014e666a1ff001a6666ffffee4cccff00
+194cccffffc380001fffffb3b3348bffffe6e664ffffa33334ffffd7ccceffffa74c
+ce080e9c8bb2f79ab7f798b398771213e0f8a489159ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408ff00cb6666f779ff009780028b05
+988bff000db3309dff0002666897ff0001666892fffffd666492828b08ffff7cb334
+8bff00da8000f78a05ff001a6668ff001d9998ff0007ccccff0011b3348bff0008cc
+cc8bff00058000fffffbccccff000266687b8b7f8b76846d8808fbc80613d06c0a13
+e0add0a6bdd38b08f77106928b8e8989858a868785858408ffff313334fb7effff89
+99998b05fffff400018bfffff280007afffffd99997ffffffe999a84ff0002666683
+938b08ff006280008bffff17999afb9b05fffff8ccccfffff8cccd85fffff4e6668b
+fffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7f206a4eb898b
+1f0efb2a81d871c8eeb7f701c55ad712f1a61334f84af850159b0a132c9c0a1374b8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff9b6666ff
+ff913334ffffa0e6678b05fffff400018bfffff280007afffffd99997ffffffe999a
+84ff0002666683938b08d58bffff9c199afb02057774655c877d8e849086918a9388
+9289938aa1b0a49b958b9c8ba685ab770813a49e0a1374ffffcd66668bff00058000
+ae2f8bff001a6667ff001d8000ff00203333ff00226666ff0020ccccff0023199a08
+ff004f999a06988bff000db3349dff0002666697ff0001666692fffffd666692828b
+08ffffc6666806ff0027ccccb6ff0025ccccff00298000ff001a3334ff00208000a4
+a99fa0959b080ebafb67b0f92e76f71bb301f727a5f7cee603f7adf91a15f73d0a0e
+bafb67b0f92e76f71bb301bfe4f863a503f8c1f91a15fbf706778b82858a838a898b
+8a8b898b82917d8f7e08f705fbc305fb1f703b2877fb03897e8a7e8b7f8bfb0ff426
+f7258bdb8bf731ae96cd8c8f8b8f8b8f8b9f829d6f8b08708b6d7d7a76625a546d54
+8b3c8b46ee8be58b948c948c94a7f733f70fc1d18b9a8b978b998808fb1af7f6f78e
+8b05cd8a9c438b5b088b7da58d99f756057287667a728b080efb05fb79a8f8e3b201
+96d4f7f1a603f835f84215fb7a06788b8587898289858d818e7e08d7fb8005fb0c81
+3c457321877d8a7d8b7d8b3ac443f70f8be68bd2b393ab8b8e8c8e8b8e8b9784957a
+8b08748b7a847a7679746974638b608b4dad8bdf8b9a8d9a8f9c9fe0dccada8b9c8b
+9e899f860830f7b1f7228b05a9a57e3c1f8b86a6908ff72c748705887b818a808b08
+0efb05f74cacf73fb5977712ded7f74ada13d8f7caf76d15f733f73f0513b8989593
+978e97088d0713d88f878d831efb9f0613b86d8b97926990085ffb0f9f890513d8a5
+cb9892b58b08f7468bfb5ffb6e05a190ac949c8bc78b9a618b608b798878887b6ffb
+0d548a5e7149665f6e7e538a888b888b88087899829a1e9a8ba59c91a68c8d8b8e8b
+8d8b908a918b928b8e8b8f8c8f8d91909eb6a4b7a3f714a0acf720088f9c8c9a8b9a
+088bcf63b8458e080efb0f8bc5f74eb2f79caa01f817d803f82ff7af155506c1b8b1
+b197cf8d968c968b958be441a2458b228b463d81528a898b898b898b79987e9e8b08
+9c8ba1958fa58c938b928a928a928a938d938fa3a4afd08baa8bbb768b488b838a80
+89810881537162555908fb1f8b8464f18b525905fb022c7a60825308f7c98bb5f712
+738f057354767a698b08fb3d0693bad9cd919008ddcfe98b050efb187fadf7ccb7f7
+1bc701f7e7d503f7e5f748157a2d4f4b3f8b6b8b80a1849e849b8297778b798b797e
+877808860766cf6ec21ef18bf1d3a4f71c8d968c968b9608da57d3fb091e5889b2f7
+1bf7598b8b8d9dc5fbd88bcf5453fb5705a895a28ca68bc58bce5a8b3c8b828a828a
+83080efb187fadf78ab7c5c701f7e1d503f7ddf71e1579395369508b6b8b759e859f
+869b8399778b798b787e87788a898b898b898b66d76fc18b08f7168bcbe59dd78e97
+8c978b978bca63c6388b758b57877d8a08abcaf7588b8b8da0c5fbc58bba544dfb0d
+05ab94ca90a78bc18baa598b588b818a818882080efb187fadf7ccb5cdb2e77701f7
+f3d503f7eff7481577334a453e8b6c8b809e859e859b839a778b798b787e87788a89
+8b888b898b67cd6fc08b08f18bf702e3a7f70c8f998c9a8b9808d65bccfb021e5589
+a3cddd8b94b23f8baae16491692f328b8164e08b5ffb0d05aa95a18ea68bc38bca62
+8b3e8b808a7e887f080e62fb6476f908b601f86ae303f77ff7f515a3e4798b057e8b
+7a80687f768569857989088a6f059d8f978c988b958b91888b7c8b848a83887f08fb
+00fc6705836a7d796b8208798605858a8a888b86088972f721afa4f505f77bf704f7
+2df706adf7288f9b8d9b8b9b8bc46fbd298b578b456a405308f736b915bfa06e591f
+8b778874857170fb07fb1124fb3b3708e1f80505e2c7b6a0b28b080efbf8a176f91f
+7701ddf75103f70d8c15f73e0a0efbf8a176f91f7701ddf7b703f7738c15f73e0a4c
+16f73e0a0efb79a176f793b2cab2f7937701f1f7ac03f74d8c15c5f793f58b94b221
+8b9acaf58b94b2218bc5f793648b50fb93258b8264f18b7d4c05258b8264f18b50fb
+93050efc1682edf8eb7701bbf093f71803d3d4157f828480887e8a868a878b878b84
+8e839084928295869a8b988b97909794979592968e99088c8e8c8f8b8f8b93889286
+93839482917d8b7e8b7e867f8008c6f710158c8b8c8b05938b908f8e948f97abf58d
+8f8f9c95a69ab593a3929f929c929a9199919b90979099909b0890998f9b909e8d93
+8c938b928b9688968693839780937b8b7b8b7d847d7e7d7e827a857408877a887b89
+7b897d897d8a7d8a7e8b7c8a7a8b7b89778872865e886e897f7c3586688a8a088807
+858e87921e0ef94089ad6bb2f8cab36bab9877db7612f8efff005ab33413861c04ab
+8915f73f0a1356f7400a1326fbc806130e6c0a1366f7410afb13f94f15f7030afead
+fd3b1588790513868d89051346b88cb18cb28b081396f7420af742c215440a0ef8b2
+81d846ad94c8f790c55ad7f742ad12f8efff005ab334ff004b4ccca61317fae5f850
+159b0a130f9c0a1337f7430a1387f7440a1337f7450affff4d6668d315bd06ff0026
+6668b9ff002f1998b8ff002ae668b208ffffefb3309805ffffd5800070ffffd8e668
+72ffffd34ccc65ffffe54cccafffffe41998a4ffffdee668a808ffffe94ccc7e05ff
+001b4ccc65ff001be6685eff001366685c08fffc579998fc771588790513478d8905
+b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00049998a2ff0002199cff00
+1680008bff0015cccc8bff009a3334ffff918000ff00758000ffff5ecccc8b4e8b52
+89648b08668b648c5e8c0888898878058a868e88908b08a58905ff001f8000fffffd
+9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ffffff3333fffffa199c
+fffffeb333fffff91998082afc8605856b78806989086e8905878b87878a8608f742
+c215440a0ef80081d83eb990c8f790c55ad767aff761779ea8a57712dcdbf73bd9f7
+4da61310f0fa33f850159b0a1308f09c0a1330f0f7430a1380f0f7440a1330f0f745
+0affff4d6668d315bd06ff00266664b9ff002f199cb8ff002ae664b2081302f0ffff
+efb3349805ffffd5800070ffffd8e66872ffffd34ccc65ffffe54cccafffffe41998
+a4ffffdee668a808ffffe94ccc7e05ff001b4ccc65ff001be6685eff001366685c08
+fffe4f9998fbc7151344f0730a3d04847105857387788b7f8b789271ad8bc98bb3b3
+a5c4fffffaccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d
+8b97088b9491a78f9e08f5f863059acc95b38b8b8b92888e828b081345f0f7050a0e
+f737fb40b8f711a870b2f8d7a8121390f98df89f15f70f0afcc57015f7460a13d0f7
+470a13b0530a13d0540a13b0550a0ef75dfb58aff732a870b2f7f8a79877f5eb8ba8
+12f944ff00558000ffffbf8000eb138900ff02f24cccff0140333415810a139100f7
+480a13848070f7e4157d0afce4fc8215f7460a13c000f7470a13a000530a13c00054
+0a13a200550a0e61fb58aff72ac7f7eda79877f5eba4a8a57712e8daf7a5ff005580
+00ffffbf8000eb13df80ff01ff4cccff0140333415810a13ef806b8b5e855c84ffff
+f94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689fffff2199a
+856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffffb8800075
+356979798bffffe4cccd8bff00057fffb6ffffceb3348b08fffff2cccdfffff03333
+fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00338000ff
+00f3199a0813cf4070f7e4157d0afb489815840a0ef863fb40b8f71e7693a8f8e3a8
+121390faa0f89f15ff00109998ff0053e668ff00116668ff00081998c38eff000533
+30ff00046668ff000280009bfffffa4cd0ff000899985d8affffe9b3308affffd44c
+d08bffffcdb3348bffffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff00
+05b334fffff76668ff00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664
+088b7ffffffdccd0fffff08000fffffc1998ffffec33340834fc4e05ffffdc4cccff
+ff4a8000ffffc9b334ffffe580006c8b7e8b809386958598809c6e8b08fffff1e668
+ffffe08000ffffedb33370ffffe0199aff002bccccfffff03333ff0012cccc1fb58b
+ad92b8aebbb0ff00404cccff0032e666ff001cb334ff0091199a08fb9ef85a15c60a
+13b0c70a13d0570a0ef843fb58aff73f7693a8f804a79877f5eb8ba812fa2aff0055
+8000ffffbf8000eb138900ff03d84cccff0140333415810a139100f7480a13848070
+f7e4157d0afb907e1591a99ea5b18e0813a200a68d05ff0002ccccff00003334ff00
+05b3348eff00008000ff0004cccc088d9e898d055e8a678a748b738b628c5e8c0889
+89887805ffffff4cccfffffb8000ff0007e668fffffce668ff0004ccccffffff9998
+08a38905ff00206668fffffd9998ff000a1998ffffec80008bffffea4cd08bfffffa
+e664ffffff6668fffffaccccffffff1998fffffae6680841fc0f0587788980858b83
+8b829d76b008fb87f850fb188b8889897805ffffff800086ff0007800089928aaa88
+a0648c710831fc62058570ffffed8000ffffe33333ffffd88000fffffccccd087289
+05fffff7199affffff4ccdfffffb6666fffffc9999ffffff8000fffffb199a088979
+8d8905b88cb48ca38ba38bae8ab88a088d8d8d9e05ff0000999aff00058000fffffd
+e666ff0002199afffffb8000ff0000666608728d05ffffe18000ff00026666fffff3
+e666ff001233348ba28bff0004e666ff00008000ff00053333ff0001199aff00054c
+cd08cff7f30592ad909a928b918b9380987508f78dfc4d0513c200570a0ef776fb58
+aff72ac7f7ddc75fa7eeeb12f73bff00578000ff00528000e07adaf779ff00558000
+ffffbf8000eb13dc80ff030b4cccff0140333415ff0008b334ff0027ccccff000a80
+00b58bff000ce6668bff000db334fffff8b334ff00076666fffff2cccc8b6b8b5e85
+5c84fffff94ccc83ff0001b33480918208b38805978a91828b818bfffff6e66689ff
+fff2199a856f086bfb2505ffffea8000ffff9e8000fffff6cccc4cffffedb334ffff
+b8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08fffff2ccccff
+fff03334fffff6199affffeae6666bb17bb71ff7118bff00348000ff00bae666ff00
+338000ff00f3199a0813cc4070f7e4157d0afbc1fc5215b1f7330513ed00e40a13dd
+00890a13ed008a0a13ee008b0a0ef589a8f76ab5f80b77db7601f7c7f7af153d0afb
+cdfb6015b30af7bcf8fe15f7030a0e4081c7f7faaaf7637701d9dbf739d903f82ef8
+45156e0a59fb6a156f0affffbe6666f7b015f7040a0efba08aa8f8e2a7d47601f787
+f94e15b606b1acb2acb7a708819f05617b6779607070a46d9e689c08777705a970a6
+6ca16708b8fb101590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc8b05866f7b7c62
+8b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e
+878b087106638b7e9891a9080efbb181c7f7eda7987712f6ff0119cccc13b0ff00f5
+4ccdff0140333415f70d0a13d0800aff000a6666f80c15f7490a0ef681adf8ecadc7
+7601ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb90f804
+15f7030a0efb0681b0f80facf7627701d9def771de03f735f73e158c0a3883158d0a
+ff00d36666f7e815f7040a0ed481b4f8dfa8d27601ff007bcccdff004ecccd03f7c6
+8115660af721f95715f7030a0e6381c7f7ddc7f7627701f70cdaf736d903f88ef7f4
+15940affff8b6666f80e15f7160a0ed481b4f8dfa898e9bfb701f7eee9bde903ff02
+4a8000f9ba15f20affffda8000fdc415cc0ab4f96115cd0af72416cd0a0e6381c7f7
+ddc7e3e7cdb712f70cdab2e7aad962e713fcf782f8d115d20a13fdf73416d20af700
+fb7115ee0a13feef0a13fdf00a13fef10aff001f8000f8c515f30a0ed481b4f8dfa8
+98e901f7eee9bde903ff01c88000ff02e8800015ff0006e6668bff000c4cceff0004
+4cccff00103332ff0006333408ff00823332ff00378000ffffcde668ff00279998ff
+ff936666ffffb6199c05fffff53334fffff81998fffffab332fffff9cccc8bfffff8
+199c8b848efffffd4cccff000633348b08ffff688000fffd0d800015cc0ab4f96115
+cd0af72416cd0a0e6381c7f7ddc7e3e712f70cdab2e7aad962e713f8f782f8d115d2
+0a13faf73416d20af700fb7115ee0a13fcef0a13faf00a13fcf10aff0008999aff02
+6f333415f74a0a0ed481b4f8dfa898e901f7eee9bde903ff01bf4cccff02ec199815
+ff0021199a06ff001d4cceff001de668ff001eccccff001c3334ff0021e668ff0019
+800008fffff84cccff0011999805ffffdfb334fffff1e668ffffe36664ffffef4ccc
+ffffdfb334ffffe91998ffffea6666a1ffffe9b334ff0010b334ffffe44ccc9a08ff
+fff0999affffee666805ff0017199affffe76664ff00158000ffffe5999cff001033
+32ffffdf666408ffff71b334fffd09e66815cc0ab4f96115cd0af72416cd0a0e6381
+c7f7ddc7e3e7ff002e33347612f70cdab2e7aad962e713fcf782f8d115d20a13fdf7
+3416d20af700fb7115ee0a13feef0a13fdf00a13fef10affffa18000ff0208333415
+b306ff001eb334ff00296664ff0025ccccff00288000ff00224cccff0023199c08ff
+fff2e668ff000bb3340569ffffe7b330ffffe0b332ffffe98000ffffdc3334ffffdd
+ccd0ffffeab332ff00206664ffffe9b334ff00168000ffffe58000ff001a199c08ff
+ffede666fffff44ccc05ff0015ccceffffddccccff00163332ffffd78000ff000f99
+9affffd5b334080ed481b4f8dfa898e901f7eee9bde903ff01e76666ff02f9333415
+8bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ffffb16666ff00
+49e66448ffffd86668ff006c999affffc8800005ff000c4ccefffff9ccccff000acc
+ccfffffbb334ff0007b3348bff000b80008bff00033332ff000b66688bff00054ccc
+08ffff49999afffcfccccc15cc0ab4f96115cd0af72416cd0a0e6381c7f7ddc7e3e7
+12f70cdab2e7aad962e713f8f782f8d115d20a13faf73416d20af700fb7115ee0a13
+fcef0a13faf00a13fcf10affff946666ff027c333415f74b0a0efb3481aaf7fac701
+8fd0f751de03d4c6158bff0059b333ff00693333ff0021199ad7ff0009cccdffffdc
+b333ffff72e66654ffffe28000ffffd6199a8b678b7e948ba808f750f73f15fb9958
+8f3e8b650872a25ad3f742d3f73ef713e063ce381e488b4e68503f90809186978bc4
+c5a294bb8bb88baa738b308b868b768a83080ef589a8f76ab5f80b779febbfb712f7
+cdebf721eb13ceff02688000f9ba15f20affffc48000271513deb70af78116b70afb
+87fc3b153d0afbcdfb6015b80a13eeb90a0e4081c7f7faaae3e7ceb712d9dbd2e78d
+d97fe713fcf779f8d115d20a13fdf73416d20aa0fb2015d30a13fed40a59fb6a156f
+0aff008c8000f86715f20a0ef71a8aa8f76cb2f832eb4ab312f84aec13c8f72dd315
+e7f72f0591969491a48b08f7668bacfb40058c878b888b87087475816d1e6f06868b
+88888a860887788d89058bed8dafb2d6898b1e8f8d8e9e058f878f871e8006638b7b
+9e83b208fb01f8b20585a585937b8b828b81827c7208fbdefcb70577697678628b08
+7f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e871e6e
+06707b92991f8b928f94909208f730f7671579858f901f8b8e8c8d8d8f08f728f78d
+befb9f0513e892f892156b73706f749c79a4a8a5a4a91fa4789b751e13d8384a159c
+b3378b057f8b7e7b887f8a8a8b8a8b8a08858e88921ef786b2157a64de8b05978b9a
+9a8d96088f0790888f841e0e4081c7f7faaadeebceb712d9dbff008c3334ebffffb8
+ccccd913fcff012a3334f8ce15f7020aff006fccccfb1d15d30a13fad40a59fb6a15
+6f0aff008d8000f86615f20a0ef7cc8bb265a6f782b2a6adf784b36ea8d8b712f95c
+acf710a6133380fa0ef96715978b9a9d8e96088f07918890841efb89067f8b7d7a88
+7f088607868d86921e137380fb42fd661513bb80d68af79a8bc1f7347190056f4265
+564a8b08fb2d06787f909d1f8b8e8b8e8c8f08b9f798f08b05ad937b6f1f8c6c0587
+8c88911ea28b8e8e058dab8ca891ae91ac95a993ab8c8d8a8d898b087506878b8787
+8a87087f6d05806f7f7b688b08268baff7640590a39893a38b08f72206bfa24f601f
+a68e0513378095f72005133b80fb898b3d8a05137780fb438c8775058a898c86928b
+08aa069999837d1f87078a878987878508fbf8fc8f0572687d846f8b087406858b87
+888a86088776058bc48daeb2cd898b1e8fa2058e8a8e871e6e0675838d921f8b9190
+93989c08f720f75af7478b68fb5605866f7b7b628b087106868b87878a860813b380
+88788c89058be98eaf1efb27f7c415f765f7b9058a868c8b8879085bfba2050ef712
+81b561bcf744aef733a9e2b712c7d583ff004f6666ff008e999ad4f77ad9133980ff
+02466668f8a215988bff000eb3309dff0002666897ff0001333491fffffdb3349381
+8b08ffff0afffe06808bfffff180007afffffd999a7ffffffe999a84ff00024ccc83
+948b08ff005c999afba515a6e0c4cecf8bb68ba46e8b6e8bffffb26666ffff924ccc
+fffff5e666ffff91b334fffff9b33408386515d80a13bd80d90a9ff70b15da0a137b
+80db0a0ef7127faff720b4cdaff7ceb001dce6f87daa03f87ff92615fb408bfb56fb
+1764fb70887889788b798bfb27f700fb08f7478bf70a8be2b0d9c5849287928b9408
+8b9094c0cd8b92b44a8b8fa10590a7979bae8b088c06908b8e8e8c900890a5898d05
+8b51896764358d8b1e88898771058a868e88908b08a506ad9981751f8b878b878a87
+088775fb068b8462f7068b7b3105636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e
+9caaf743f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e
+37fb82acd9b0f772a9f781b36da91292ff00443333ff0028cccdc35bd5f723d513f5
+80f833f7b715790a13ed807a0a13f68072716e5b8b688b818b74a57c64ffffea999a
+ffffc9199affffdc999affffe5e666ffffd6cccc086066ff001c999a06ffffff9999
+88ffffffcccd888b888b3af70376dc8bff007bcccc8bff00563334ff001fcccdff00
+0f8000ff004f333308ff00288000b0ffffd9999a06fffffb4cccff003a6666ffffd2
+4cceff001e6667ffffccccccff000f33333ba3428d8bbb8b9f99a3949c9b81a384a7
+8b08e2ccc7ee1f41164d7e484f1e13ed804e82d3bbd397c2cdb6a159471fff0008e6
+66fc1115fffef0999a06ff000eb333ff0026999aff002ee667ff00214cccff0014e6
+66ff000f199a9d87d175ac7cff00218000fffff06666ff0016199afffff1e667ff00
+0c4cccffffefb33308ff000c199a6615656963331effff99cccd8b55ff001ecccdff
+fff76666ff002f3333080ef7127faff78baff7ceb0c87601dce6f82dc6a0aa03f863
+f94e15b606b1acb2acb7a708829f05617b667961706fa46d9e689c08777705a970a6
+6ca16708a76315fb408bfb56fb1764fb70887889788b798bfb27f700fb08f7478bf7
+0a8be2b0d9c5849287928b94088b90a0f7080590a7979bae8b088c06908b8e8e8c90
+0890a5898d058b51896764358d8b1e88898771058a868e88908b08a506ad9981751f
+8b878b878a870870fb2d05636b4e79548bfb2f8b45f7168bf70c8b9d8c9d8e9caaf7
+43f714f70bf71b8bf7268bb13d922808aa8f92f73905508b70b8fb0e8b080e37fb82
+acf7e5a9f781b36da9f768771292ceb5c35bd5f723d556cc13cc40f7358815780a13
+ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0affffb96666f76d15
+f7040a0eee8aa8f8e2a7d47601f852f94e15b606b1acb2acb7a708829f05617b6679
+607070a46d9e689c08777705a970a66ca16708fb8afd0615b4f78105a68799809c74
+08f727fb5a05957e8d7e8b7e8b818a828a830889858d89058ba38dafb2d6898b1e8e
+8d8f9e058c90868e868b0885066e8b769b76a808fb54f79805849486938d938c9497
+97aea708f74ff72b05c4b9b094b490918b908e8c90088e9e878c058b4e8a67643f8c
+8b1e898a8778058a868f888f8b08a0069b9782851f8b83807d747808fb6ffb440571
+76777e768608b3f7770590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8a05866f7b
+7b628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90
+878e878b087106697d95a11f8b8e8b8f8c90080e4081bfff00c34ccdff0022b333eb
+d2f760a8a57701ff0058cccdd315830aff00c06666dc15f74c0a0ef6fb65b1f735ad
+f8ecad01ff00576666ff005ae666ff0088b334c6ff00f34ccce403f899fb2215f74d
+0a3af99215580a0efb06fb4db1f71db0f80fac01d9def771de03f735f73e158c0a38
+8315f74e0a0ef6fb65b1f735adf8ecadf6b701ff00576666ff005ae666ff0088b334
+c6ff00f34ccce403f899fb2215f74d0a3af99215580aff008b8000f72115f20a0efb
+06fb4db1f71db0f80facf717b701d9def771de03f735f73e158c0a388315f74e0aff
+016a8000f82c15f30a0ebafb67b0f92e76f71bb3d37601f727a5f7cee603f7adf91a
+15f73d0afb84be15f7030a0efb1bfb7dacf7d9adf757c55ad712a4d88ba6f740df13
+e6f780f73315f74f0a13d6f7500a13eaf7510aff001f6666f7e915f7040a0efbc2fb
+58aff8bfa79877f7807712f74dff0055800013b8ff00fb4ccdff0140333415810a13
+d8820affffe96666f7a715f7490a0ef98a89ad6bb2f8cab36bab987712f8efff005a
+b33413449e9d1588790513848d89051344b88cb18cb28b081394f7420af742c21544
+0afaaf4015f73f0a1354f7400a1324fbc806130c6c0a1364f7410a0ef8ca81d846ad
+94c8f790c55ad7f742ad12f8efff005ab334ff005e4ccca613479e9d15430af742c2
+15440afa37f8071513179b0a130f9c0a1337f7430a1387f7440a1337f7450a0ef7e0
+81d83eb990c8f790c55ad767aff760a8a57712dcdbf73bd9f745a61347e0f7edf756
+15730a3d04740af8d5f7da151313e09b0a130be09c0a1333e0f7430a1383e0f7440a
+1333e0f7450a0ef281aff789aff7ceb0c87601ff0053999aff0057e666ff01dd8000
+a903f87bf926154e0a58b315b40a0e37fb82acf7e5a9f781b36da91292ceb5c35bd5
+f723d556cc13c880f7358815780a13eb00f792f7ba15790a13da007a0a13ec807b0a
+13db0041167c0a13c880e1f81015ffff9c4cccfb0b05fffff53334fffff33334ffff
+fbe66687fffffdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cc
+cc8fff0012199a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999a
+8cfffff9999a8b08868bfffff9b3348afffffccccc8a080ef7e77fba67a8f7bcb290
+d5f744a712f8aadcf78cb513bef8adf7191589808a818b818b42bf62e78bdb8bf5d9
+abf74b91ab8ea88ba48bcf75b2598b6f8b7a788879088a898b888b898b72a587958a
+a187a0778b558b7c8979887779293c23418b628b6ca18bbb088b938c938c9408d9f8
+500590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a
+8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f76705
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+058a868f888f8b08a606ac9981751f8b7f32fc8a05137e866f7b7b628b087006868b
+88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b08710669
+7d95a11f8b8e8b8f8c9008b7f790f7db8b050e76fb6176f9d3a674bc12f886e813b0
+f7abf9261573067582758778870813d0798866857b8b088972058a888d898e8b08ac
+8e05999281741f8b828a80897d08fb09fd2c05856a7e796b8208768505868a8a888b
+86088e72f724b0b0f76605f75cf71bf755f721a7f7348fa18ea18b9f0813b0da69c5
+2b1e4b8b4153485408f742c915bb9f6a4c1f8b70876b856673fb18fb2afb07fb2323
+08d9f84a05e2d5bcaab88b080ef4967693a8f8e3a8d276121370f943f8c115560a13
+b0570a79f94b15b20a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0a67f8b715ce0a0ef589a8f76a
+b5f87ea601ff01ea3334f99915ba0affff9db3325315fffff7ccceffffd7b334ff00
+189998ffffde8000ff00253334fffff86664fffffd6666fffffc199cfffffd3334ff
+fffb8000fffffce666fffffacccc08fbcffc9c05664d6f816188868bfffffccccdff
+fffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a088e
+8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199affff
+f48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd08df
+f725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccffff
+fce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd66
+66086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905af
+8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c
+05658f7b9a85b2082ff8b205ffffff4cccff00043334ffffff6668ff0003e664ffff
+ff3332ff00036668ff0020999aff000b3334ff001bcccca6ff0009999cff001f9998
+ff00096664ff0001199cff000e6668ff00048000ff00124cccff0006199808f73dca
+4ab8fb213705ffffff3334ffffff8000ffffff4cccffffff8000ffffff3334ffffff
+8000fffffae664ff002166686eff00171998ffffdb199c8b5d8bffffcf999866ffff
+f6999a5d08ffffab199afc46153d0a0e4081c7f7faaac7a6f704a601d9dbf739d903
+ff01c7999aff033e333415f74a0affffd26666fffe72cccc156e0a59fb6a156f0aff
+fffa3334f83715d50affff9db3325315d60a0ef7a089a870b2f777b2a3adf786b370
+a7d57612f949aaf2a8133380f7d3f7c515bb0a137b8078fbc515bc0a133780fb3c8c
+05133b80898a87770513b780bd0a13738087780513b3808c89051373808bc18dac1e
+13b380b1cc898b1f1373808c8d8fa00513b380be0a13738087790513b380bf0af741
+f94f15b40a0ef71281bc5ab5f80da912c7d583ff004f6666ff01bd999ad91324f843
+f79115d70a386515d80a1374d90a9ff70b15da0a13acdb0af74bf7e515f7520a0ef6
+81adf8ecadc87601ff00576666ff005ae666f84be403f96bf93215c90afbd07615ca
+0a66d515b40aff00d03334ffff33333415cb0a0efb0681b0f80fac01d9def771de03
+f86af87115e90a31f76e15ac0affffdfccccfffe8f800015ea0aff00b91999ff0125
+333415eb0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30af82ff8ee
+15f7530afb6ee915f7540a0e4081c7f7faaac47601d9dbf739d903f82ef845156e0a
+59fb6a156f0affff86cccdf83e15f7550aff008933339115f7560a0ef589a8f76ab5
+f80b77d576c8c001f8e6a903f7c7f7af153d0afbcdfb6015b30af7f3f96a15f7570a
+0e4081c7f7faaaf729c401d9dbf739d9ff001a4cccff001d666803f82ef845156e0a
+59fb6a156f0aff00434cccf7ab15f7580a0e6889a870b2f7b0b1d677f751b370a812
+f822aae3a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d
+89051373490a13b34a0a137b4b0a6fb215f7530afb6ee915f7540a0efb3481c7f7fa
+aaf7697712dedeff00a7b334ff00458000ffffcfccccd013f4f7f7f80615df0afb50
+fb3f15760aff004ecccdf85915ffffe8999a8bffffedb334ffffede668fffffc6666
+ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00
+01999889ff0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334
+ff000033348cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94ff
+fff966668dfffff400018b08ff00893333911513f8f7560a0e6889a870b2f7b0b1d6
+77f751b370a8cc76c8c012f822aae2a8133bc0f8bdf91a15450a1337c0460a133bc0
+470a13b7c0480a1373c087770513b3c08d89051373c0490a13b3c04a0a137bc04b0a
+fb0bf73315f7570a0efb3481c7f7faaaf72ac412dedef751d0ffffed4cccff001d66
+6813f8f7f7f80615df0afb50fb3f15760a13f4ff00ee4cccf7c015f7590a0efbad89
+a8f8e3a8c97601f769f8cd15500af739f70f15f7530afb6ee915f7540a0efbb181c7
+f7eda7987712ff00ddb333ff0045800113b0ff00f54ccdff0140333415f70d0a13d0
+800affffbdcccdf8bf15ffffe8999a8bffffedb334ffffede668fffffc6666ffffee
+1998fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff00019999
+89ff0001cccd8a8e8bff000299998bff000b4ccdff00044ccc8dff0009b334ff0000
+33338cff000066678dffffff33338c08ffffce4ccdf71f05fffffccccc94fffff966
+678d7f8b08ff008933339115ffffe080008b7cffffe9ccccfffffd3333fffff23334
+8a86ffffffb333858f8608ff004d6666fb0d05ff0001999a89ff0001ccce8a8e8bff
+000b33328b90ff000a6668ff00008000ff00029998ff000033348cff000066668dff
+ffff4ccc8e08ffffde6668f72305fffffdcccc948490808b080efbad89a8f8e3a8cb
+76c8c001f819a903f769f8cd15500ae9f77f15f7570a0efbb181c7f7eda79877f740
+c412ff0063b333ff0016199aff00c26667ff001a800013bcff00f54ccdff01403334
+15f70d0a13dc800aff00743334f80a15ff001a800097058ee0ffffdb3332bd4c8bff
+ffcae6678bffffbd66665affffe580003508ff0016199a7f05ff0013999ac5ff002f
+4ccdabff002ecccd8bff0030999a8bff001fe66666ff0000333456080ef681adf8ec
+ad01ff00576666ff005ae666f84be403f848f90415580af79bfbbb15590afb1ff7f8
+15f7530afb6ee915f7540a0efb0681b0f80fac01d9deff0091b334ff00458000ff00
+05ccccde03f735f73e158c0a3883158d0aff008ccccdf87e15f7550aff0089333391
+15f7560a0ef681adf8ecadc176c8c001ff00576666ff005ae666ff0188b334a9ff00
+104ccce403f848f90415580af79bfbbb15590afb66f87015f7570a0efb0681b0f80f
+acf729c412d9def771deffffe54cccff001d666813f8f735f73e158c0a3883158d0a
+13f4ff01684cccf7e415f7590a0e8581aa74a8f79cadf7bbad69a4cd7612ff01e999
+9aff005466661336f811f900155d0a91ad15136e5e0a13b65f0ae6af15f7530afb6e
+e915f7540a0efb609676f80fd15fa7f77a7712f738ff00528000ff00413334ff0045
+800013bcf771f7b115f71c0a13dcf71d0afffffecccdf80515f7550aff0089333391
+15f7560a0e8581aa74a8f79cadf7bbad69a4ce76c8c012ff01e9999aff0054666652
+a9133700f811f900155d0a91ad15136f005e0a13b7005f0abbf72b15508b3b65763f
+08a5069bb1c2a2be8b08132680c0b474681f88a8078c918b908b918bb374c4328b08
+0efb609676f80fd15fa7f739c412f738ff00528000ff00a3ccccff001d666813bcf7
+71f7b115f71c0a13dcf71d0aff00b94cccf76a15f7580a0ed481b4f8dfa801ff007b
+cccdff004ecccd03f7c68115660af798f94115f7530afb6ee915f7540a0e6381c7f7
+ddc7f7697712f70cdaff009ab334ff00458000ffffc1ccccd913f4f88ef7f415940a
+ffff47ccccf8a415ffffe8999a8bffffedb334ffffede668fffffc6666ffffee1998
+fffffecccd85ff0000800084ff0003cccd8508ff005b999afb0205ff0001999889ff
+0001ccce8a8e8bff0002999a8bff000b4cccff00044ccc8dff0009b334ff00003334
+8cff000066668dffffff33328c08ffffce4ccef71f05fffffccccc94fffff966668d
+7f8b08ff00893334911513f8f7560a0ed481b4f8dfa8cc76c8c001ff007bcccdff00
+4ecccdff017b6666a903f7c68115660af756f9c315f7570a0e6381c7f7ddc7f729c4
+01f70cdaf736d9ff00154cccff001d666803f88ef7f415940aff000a4cccf80a15f7
+580a0e20fb83a3daddb7aff8eaad12cba9ff002fcccdff00483333ff009de666ff00
+53e666fffffe3334aa13fcff00eab3335515f75a0aff01024cccf93c15589391a332
+8b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bffffa76666ff00
+4d4ccdffffd0b334ff0045e666680813feb974ff0024e666ffffe033338bffffc3e6
+678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd7b3a5a6b428b36
+8b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff
+000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c
+800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666088bff00
+068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b0813fd610a
+0efb64fb7ba3daddafacf813ac12c6df77cbdfd658dd13f6f7428115900a13f5910a
+13fa920aff0003b3336715f7140a0e7afb82a3daddbea8f8d7b2987712f906a913f4
+f779f9191513ec620a13f4630a13ec640a13f4650afffeebb334fd4e156e8bffffe7
+199978fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff
+000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe3334
+82ff0000199982ff0004cccd85ff003acccc94ff00373334a9ff000c3334c708ff00
+0a9998bfffffeee668ad658b080efb92fb8ba3daddbfc7f7e8b201f1da03f74ef841
+15930affffd1b333fcb115f7140a0e39f803a9f777ad12d6dc95a2f753e63ad013f8
+f5fb25159e8ba59c8fa28b8c8c8d8b8d8b8f8a8f8b8f8b908c918c9191aea7a4c39a
+f70cacdeda9be6088e9e8d9d8b9c8bdc62bc349baa98d1b699d50813f48c938b938b
+928bd445a4608b498b597f6f8b08868b6cfb14a28905a1cdbab5c28bae8bb57c8b52
+8b838a848a8181523842458b086d0713f8e0d16c301f8b7f8a7f897e7f445a444171
+fb0065574785668a888b888b8808769a7f9b1e0efb46fb6476f82aa4f762ad1296d2
+f767d953cc13f8b0fb79159e8ba09c90a28c928b948e9893aead9fc39dc09cf3b9a4
+f68e978d968b978bbe6bb45199089f96cab499c70813f48d918b928b908bc54ca961
+8b498b667f708b08878b68fb099f8905a4cdacaacb8bad8bac798b618b848b848983
+815d4d4a3a7e08857205978d968d958b0813f8b5cb82461f8b818a80887e7c4c6265
+5878346b414082678a878b888b8808789b85951e0ef70489a8f7bab5f793a8d27601
+f854f94d15f7030af72ffb14154f0a0e6181c7f7ddc7f760a8a57712f7f0dd7ada13
+f4ff00afe666d315f7090a13f8f70a0a13f4f70b0aff00ca8000f8d015f74c0a0eb5
+fb79a8f75ba8f8f9c453a912f8aee113e8f3d315866e7f7c698b087406868788861f
+87788d89058bd38dafb2da898b1e8d8d8e9e058c90888e868b0874067081959f1f8b
+8f8c8f8c9108dbf85d05f5e0c4a6ba8bb68b9f748b4b8b6c866281560824fcdd0586
+6e7f7c6a8b087306868b88888a860887788d89058bd18dafb2dc898b1e8d8d8e9e05
+8c90888e878b0873067181959e1f8b8f8b908c9108f702f9060591ac92b18bae8bcc
+74c4318b578b4168fb043108a1f711758b057582768778870813d87a8865857c8b08
+887205888d898e1e958ca18e05999383731f8b81897d887a080ed684b5f1a5f78aae
+f74eaab07701d7daf862a603f82979156f6b736b7069089e8705a7aca4aaa6ab9788
+8a8d978bbe8bbe9cb1a9a5a19fa993ae8d918b908b908b94899386900883957c9175
+8b798b787f777c666c665a7671848b89938b968b9e92a890a308f719f8d5758b0580
+85778172846480708a828908856c059b8fa18e958b938b93888b7f8b83887a856f08
+68fb2c056ca3608e778b5f8b607d6372086d7605576069517a43867689788b788b64
+9567a16ba467b27bbd8bb98bb59ab3ac8a878a878b87088b69b3819c8808f767f70d
+15887a807b7b7f7075637b708b7f8b818c808d9ea4acb8aaa499979a92988b988b94
+879184088e888d858b858b888b888a8908fb976f15f75b0a0e8481a5f8f69f959f12
+d8d1a7e1f759e374d213faf852f93815867705ac85a1809879957e8f7b8b778b7f8a
+7d887d82677a6c707271746f766e797a957a977a9c0863ae05769c819d8b9e8b908b
+8f8c8f92a59ca3a9a1a8a0a997aa8d08909f05568a5b7d60735a716d66815e89828a
+838b838b669f67b56a08be640562815e735b65636c72658361897d897f8b7f8b7193
+75997bac67c179d88bc18bcd93c8b008c1abacb798c20813fc8d938b928b938bb472
+b458b66aa77799868ca894b1a3bab0aba5a1b095b90813fa8e958c958b948ba880a5
+74a20875a06596558c08fb3ffd2815678b6b976da2779a81a18ba78b948c968e9694
+b3b0b5cdb608c3b1c6620513fcc064a6668b678b858b8689858264776c6d766e7562
+80578b080e2e76a5f9137712cbc9b3d4f727d882c713f4f85bf91815746f058e878e
+868e86947c8f7b8b788b818a818880846c7c717575676873767f857d957e987d9b08
+6baf0583938598879a899489948b938b8f8c8f8c8f8f9d929b979a979a9997999508
+7da5057c857e837e83606f7166805d89808a7f8b808b669a68aa6b08b36305788577
+80747c727a797d828075737d7a8681756580688b6c8b7d8d7f8f7f9275957a978008
+a674b480bf8bc58bbd9ab5a9b9adaaba99c90813f88d938c948b948bb277b364b570
+a87c99878da593aaa2b3b1a7a69daa94ae0813f48d978d958b958b9589958894869d
+829980960883928192809008fb77fd13157a8b7c8e7d90828f80947c9a8294859987
+9f8a938a938b928b988d978e9894b3acb5c3b808bcb1ba610513f8b4669f658b668b
+838a83898382637a6c71757175697f608b080ec489b8f8b0b901f8a6cf03f883b615
+fbde8bf893f8a8059d9e989a8c94088c8b8c8b93818d7f1ffc400675878d8c1f8b8d
+898c788e888b8a8956fb288a888e8b9e8b8d8b8c8d059ebea6a8b196958e978d978b
+08f7b28bfca2fcb8058382878589848a898c8a8a888c859188958b08f80a8b8d8b05
+ac8ba6809f759580907d8b798b848a828982877b827b7c7908a7069d979b9c959e97
+9e949d8f9c8c928c918b928b9c859b7e997a9d6f94648b080efb058bb2f7f4b29377
+12f802cf13d0f7ddb215fb588bf7caf7f005989995968c928c8c8b8c8b8c0891858d
+831efb84067086908c1f13b08d8907768b898b8a8956fb1b8a888d8ba28b8d8b8c8d
+0597a9a2b299940813d097939b909f8b08f7228bfbd4fbfb05848286878a85088a07
+8a829788a08b08f75e8b8c8b05ad8ba5809f759580907d8b7a8b838a838981877b82
+7b7c7908a8069c979b9c969d979f939d8f9c8d918b908b908b9c84987e9908799d6f
+95648b080ef589a8f76ab5f80b77cceb01ff01b83334eb03f7c7f7af153d0afbcdfb
+6015b30aff01173334f93415f7000a0e4081c7f7faaadeeb12d9dbff008c3334ebff
+ffb8ccccd913f4f82ef845156e0a59fb6a156f0a13f8ffffc23334f7f315f7020a0e
+68fb49a4d7abb9a870b2f7b0b1d677f751b370a812f7afc2c7aae3a713cee0f8bdf9
+1a15450a13cde0460a13cee0470a13ede0480a13dce087770513ece08d890513dce0
+f75c0a13ece04a0a13dee04b0a0efb34fb4ea4d7abf861aa01deded2c2cad003f7f7
+f80615750afb50fb3f15f799be87d88bb108a474bc43fb4243fb3efb131e8bffffac
+6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd199affffb4e66690
+85059c8f948d9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b
+08cec5aebeab709a6b1f828b828a838908ff001f199aff0030cccc05ff0036999aff
+0009999aff0032e666ff0022e666ff00316666ff003fb334869685907f8b52517482
+5b8b5e8b6ca38be68b908ba08c93080ef681adf8ecad8beb96b712ff00576666ff00
+5ae666ff001eb334ebff01384ccce4ffffa7b334eb139cff0245e668f99115f75d0a
+ffff5a8000501513bcb70a13bdf82d167d0a13defb4a3915c80af79bfbbb15590a0e
+fb0681b0f80face3e7cdb712d9dea8e7cfe74fde13fcf752f8d115d20a13fef73416
+d20afb51fc2715e70a13fde80a3883158d0aff01888000f89f15f30a0ef681adf8ec
+adff00236668ff00306664fffff63334b7ffffe23334ff0032999812ff00576666ff
+005ae666ff017cb334ff00136668ff0026e664e413d7f90ef99c15825fc78b059895
+9d96928893811ffc1b5f1593b74e8b057f817980848f83941ff756fb0015580af79b
+fbbb15590a13efffff408000ff019ccccc15f75e0a0efb0681b0f80face2b78fb9cc
+b701d9def771de03f735f73e158c0a3883158d0aff0124b334f82c15d10aff0048cc
+ccf70715f30a0ef681adf8ecadb7eb01ff00576666ff005ae666ff00f5e668ebff00
+611998e403f848f90415580af79bfbbb15590afffeed3334f83915f7000a0efb0681
+b0f80facdfeb01d9deff00773334ebff0005ccccde03f735f73e158c0a3883158d0a
+ff00ca3334f82d15f7290a0ef681adf8ecadb7eb45b612ff00576666ff005ae666ff
+00f5e668ebff00611998e413def8e0f997158260dc8b0598959c96928793821ffbaa
+601594b6378b057f817980848e84941ff7152315580af79bfbbb15590afffeed3334
+f8391513eef7000a0efb0681b0f80facdfebcdb701d9deff00773334ebff0005cccc
+de03f735f73e158c0a3883158d0aff00ca3334f82d15f7290aff00bb4cccf70615f3
+0a0e8289a8f8e3a8dab701f7e4d7156a0aff00c08000f91e15f20a0e51fb7ec8ff02
+178000ff004c8000f717b701f871ff0048666803ff01608000169a0aff00928000f9
+1415f30a0efb3572b7f70aa6f873a8a57701ff00726666ff004c199aff00b46666ff
+001c199a03f76ca915d5e6ff0013199a9bff001be6668b08ff0012e6669afffff6cc
+cdffffeecccdffffcf8000ffffb3999affffd4e666ffffd980001f788b7f8f829208
+7f9715fffff66666ff000c6666fffffc199aff000ae6678bff000e19998bff000c4c
+cdff0002e666ff000ecccdff0004999aff0014800008f1f85c05ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc
+5005fffffbb333ffffece666fffffdb333ffffef33348bfffff133338bffffdc6666
+ff000db334ffffe7999aff0021e666ffffecb3330847359b82cfe30598869c899e8b
+08cbf700ff003f6666ff004f999aff001d999a78ff00106666701fffffd54ccc8bff
+ffe1b334ffffe5b3333fffffa04ccd080edf83b7f70aa6f75ac75fa712f73bff0057
+8000ff01654cccff001c333413ccf85dba15ff0041ccccff00523333ff0017b334ff
+0018cccdff001f80008b08ff00141998ff000db33481ffffed80005cffffb4999cff
+ffd58000ffffd899981f788b7f8f829208fb77f79c15ff00034ccdff0009333405ff
+000d199aff0024e666ff0008199aff002ae6668bff000ee6668bff000db334fffff8
+b333ff00076666fffff2cccd8b0813dc890a13eccaddc2c6af8bb78bfffff7199aff
+ffd3b334fffff2e666ffffc74ccc0865fb3805fffff3199affffc86666ff00236666
+ffffd9199aff001a8000fffff180000847359b83cfe30598869b899f8b08ff003ecc
+ccff006d3334cbd9ff001e3333fffff0e668ff0010cccdffffe019981fffffccb334
+8bffffe14cccffffda800049ffffab8000849388988b9d8b9dff00034cccff0018e6
+66ff0007b334ff0022199a08a3f505ff0010b334ff0049ccccff000c1998ff005433
+34ffffaf33348b578b60762ffb00080efb4f7cb7f70aa6f76db201f702dc03f7b9f7
+141599979a92978b988b9587908490858e838881877b7f797c7e6f756e7d718b798b
+7f8f819208afb6a6ab9c9808fb47761588818a808b838b5fa673a1800847359c82ce
+e30599869b899f8ba78bba99b0aaa6a0a2a493ae8c918c908b908b98879586928395
+8192778b08768b737e787c73776f6b6a61859487978b9d8b9e8fa492ac08bff773f7
+048b94b2fb048baef72e4e77867805815f806f807c0885860577796d86728b088264
+d18b050efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4ccdff01403334
+15810a13d0820a0ef7507fa774b5f7ffb66baef75ba6a47712d7daf8b0da135ff8d4
+f94b15750675837b867888798765867c8b088772058a888d888e8c08ac8e05989282
+781f8b80897f877b0867fb33056ca3608e778b5f8b617d6272086d7605576069517a
+43867689788b788b649567a16ba467b27bbd8bb98bb59ab3ac087f5a9d8b05999698
+9697960813afa272ac7fb68bb18bae96a89aa0969d979c99c6b9b2c99dd98f9e8d9e
+8b9c8bb67eaf6fab0873a66d96688b6c8b6c8469797d837d817b7d083efbde159bce
+c1f77d059c989d96a0939e949f8ea08bad8b9f789a6d94758f748b768b738675897e
+7b4b715a6b65085d565687778b6c8b75987ca40885f7bc154bfba705135ff75b0a0e
+f74efb7da9f756b75faef807bd64ae12d8d9f8acd613cef834f7e4154bfbab056c78
+6788798b628b6c9d76aa829a81a18baf8b9f8ea292a897c1a2b7a4a8acb1ae99af8b
+08b58ba7719c5d08fb06fc831586798982808187888387788b087906868b88888986
+088675058bcc8dafb2cb898b1e90a1058d90878e878b0878067a8b848f878e8a8e89
+8e8b918b918c928d9708b3f7400513b6a17da883af8bc48bc0a2bfbabeb9adc79bd1
+088d07909e8c9d8b9c8bb381ac78aa08138e76ac6598688b788b69847782737f6c73
+736f0898c4058c908c908b8f081396928991841e818b848183800875700513ce71a9
+63995a8b5a8b5f7b626e465965457b45867789788b798b69936b9c6ea360b675ca8b
+08c48baf9f9e9808e0b715c4f78c059ca5a19fa2980813b6a19aa3929d8bad8b9b7c
+9873967790728b6f8b748873856f7b4a725b67696f726a7f648b087b8b688d72b308
+0ef71a8ca6f76cb201f807f78815f7108bacfb40058c878b888b87087475816d1e6f
+06868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e8006
+638b7b9e83b20845f7eef7b4f7d4588bfb8afba66df72a0586a584937b8b828b8182
+7c7208fbdefcb70577697678628b087f06868b88888a860887788d89058bcc8da41e
+948b5752be8bbec4cb898d8d8f9e0590888e871e6e8b818b05f7bcf7dd1599413a8b
+05c5f70d15fb00fb0d5c8b057a848f901f8b8e8c8d8d8f08f728f78d05fbaffc7215
+e7f72f0592969391a48b08af8bfb44fb588b8c058b928f948f92080ede7fb4f8e4b0
+01e1e5f869aa03f766f70615f812f86505af6b985b8f5408aa8f92f73905778b7b90
+7a9108f5f716598b2cfb07056f956794548bfb398bfb48fb2668fb59877589758b76
+8b4f9b51ac5d08fb09fb23be8be7f70505b761ca71e18beb8becbbdfe408769a0537
+3d426a2e8b438b5aad6ebe0879b31580ac86af8bb08ba38da490a4aef75ff731dfda
+8bb88bad84a67e080efb207fb7f80faa01e3dcf76cd503f73ef728158b928a938b93
+08f729e6e6d799b3846a1e8b85898288878b8b8b8a8a8a08f702f31553560578a26a
+9d568bfb078bfb16fb138bfb3a8b7891749575083034a570dfdb05a568b16fba8bf1
+8bc4cb9da7087a9a055f5652816f8b708b619779c608f76af7600590869488968b95
+8bab968bad8b938a93899308ccc9050e6189a870b2f7ccb7f773a81213b0ff00f74c
+cdf7f315ff0085ffff06988bff000db3349dff0002666697ff0001333491fffffd99
+9a93828b08ffff6fb3328bff0022199af74205ff00058000ff001c1998ff000f8000
+ff000de668b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e
+8608ad8805ff0026e666fffffc9998ff000ae667fffff33334fffffa3333ffffe233
+3408ffffde199afb42ffff8819998b05fffff4ffff8bfffff180007afffffd999a7f
+fffffe999984ff0002666683948b08ff008133338bffffca8000fba705fffffa999a
+6ffffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82081370
+530a13b0540a13706fffffc2b3335dffffba4ccd428b08fb0206ffffe84ccdfffff2
+4ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000e666ff0004cc
+cd080e7a89a8f8d7b2987712f906a913d0f7c2ff011a80001563ffff31800005856f
+7c7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff0003666680ff000c3334ff0005e666ff001e666608ff004e199a
+f825ff004c4cccf715ff0030999a8b05bf8b9a719c48958bff00084cccff00004ccc
+ff000bb334ff0004b3340813b0640a13d06afffffa8000fffff2ccccfffff88000ff
+ffdc33348b08ffffd180008bff00408000f701588bffffbf8000fb01ffff1380008b
+0513b0620a13d0a8ff00418000a49fc08b08d006ff002766668bff00056666fffff5
+e668fffffb3334ffffe3199808ffffe1b334ffff63999afffeeb4cccfffe2c6666be
+8b050efb64fb3ba6f716acffffe5b333ff006a4ccdf7c3ac12c6df77cbdfd658dd13
+d6f74581159706edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813d591
+0a13dac067936a8b768b5463785e8b718b7d9088a10813ba88a27da96d8b6e8b8373
+8b808bffffe2ccccff001c8000ffffe2e667ff002de6667eff000e199afffff33333
+ff00034ccdffffe58000ff00089999ffffd7999a9758ff001d33346ab68ba38b9e91
+ff0016199a9708ff000c6666939496ff0001cccc95ff0001333492ffffffb33295ff
+fffc199a91fffffc199a918291848b848bfffff6800088fffff9e66685fffff7ccce
+84fffff8199880fffff9b3347efffffa333481fffffa199986818b08738bfffff066
+6698fffff14ccdd108fffffc4ccdff000f800089ff00103333fffffab333ff000f4c
+cd080efb2a8bb2f7f4b201f76af842156e8c958f1f778f4afb29a4860599ada6b497
+9497939b909f8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1ff7bd
+8bbef7177290057b6572617d847f847f88798b08fb358bf7caf7f005989995968c92
+8c8c8b8c8b8c0891858d831e0e238ba8f8fdb001f717f2f784d803f755d61589828a
+868984888285868386878882897c8a087706878b858a8a84088676058bcf8db6b5cc
+898b1e90a1058e8b8f841e77067c8c828d898e859189918c928b918c928d9408aef7
+2b0596b8a5abaca7aaa4aca0a9a4ada8aab395b88d968d978b958ba881a4789f6bb2
+599f428b08438b4d7461676d73786e826489868b858b878b7896809f8b9a8b9c8e9a
+959591979f8d94088c8f8b8f8b90089b078b9c8e9ea09aaaa2ab93b48ba68bba8098
+7b977a98758b6f8b838a83898283687d73736c08766f6460228b080eaa8aadf71ab7
+f713aef782ad70a712f886e313e4f774f76715a1f713e98b05f3c15a411f8b828a80
+8981804e5830fb2c8b478b7c8f8ba08b8f8b908c90089ceaf7198b05978b999d8d96
+088e07918991821efbedfb53158776f7158c05a88bba8ad38bf75b8bd5e49ae18d99
+8d998b988bd365bf359fc3a4bec195c28c948d968b950813ecc766cafb331e13f468
+8b508a6a8b0813ec6c2a8c8b1f8776058a878d88908b08a906ad9784771f8b868a86
+8a84084bfbff3e8b057f8b7e798980088707858e86911ee38b7a2e0585687d80638b
+086d06858986881ff79ff8bf1513f491ac918ee28bbd8bce7d8b3e8b828a8189817c
+36446a388b083b060e2285a9f80bb912f710d2f737da83d513e8f766f75415b2f739
+05b7abaf9aa48bc78b9a6e8b708b848a848986087f53655ffb3a66088af79115538b
+6d66705d089a84059ba59b9d9c8b938b90888f888c888c888b858b80877883670869
+fb2705857288738b778b808c828d829d45d585aa8bce8bf4bd99c60813f08c8e8b8f
+8b8e8b9d7f97778b6e8b7c77887e89848b838c888c878b86897f846d597a648b0876
+8b7b927e9b8099879f8ba08ba190a18e9808eea205f702a5d0b89edb0813e88d958c
+958b938bbf64ab488b678b6a816b770863738b8f05a281a6661e0e407fb5f80dae01
+f881a203f796a915488b51c8abf720aaf71bdfb4bd8bca8ba0629176084dfba20574
+776272678b08e997158a73996db18bc28bb2a29ee008740685737d67728b748b90a5
+99c808d5f7d3758b4f6d05759d6b97648b308bfb184366fb356dfb13d42de48bc98b
+c6b39b99080e567faef807bb01dfa203f7eaf82415ce8bc54e6bfb206cfb1b376259
+8b4c8b76b485a008c9f7a205a29fb4a4af8b082d7f158ca37da9658b548b64747836
+08a20691a399afa48ba28b86717d4e0841fbd3a18bc7a905a179ab7fb28be68bf718
+d3b0f735a9f71342e9328b4d8b50637b7d080e3c81a7f812b7f778ab12f831d948db
+13e8f731c315d0f7c005bfb2b9909d8bbc8bac5e8b468b788977867671fb06432d2d
+8b086c8b74997da30813f0f7e2f8cf158c8f8b8e8b8f8bad63ab468b6f8b73826a77
+4d656a4f732508fb03fc759d8b059b9696959797a272ac7fb58bee8bf71de0b1f738
+0813e88f9f8e9d8b9d8be651c5428b5a8b5b77606608a3f00594b194ad97a6a1c1af
+aaa58b0813f0a08b9b7c906d8e79907aa78b089f8b9c9990a0080efb4082aaf7fbc6
+01cdd0f751dd03f7acf84c15438b4affffcc80005b488e819584948bb2b7b3ff0020
+8000c08bff0010b3348bff0012e666fffffb999aff000e6666ffffed6666ff000ee6
+66ffffecccccff000a199affffec999a8bffffc3999a08fb2945333e7d6f90ac1e8b
+918d938e90ff0002999aff00044ccdff00026666ff000ab3338b91089b819b7a7072
+777264ff0003800052ff006c80001eb38bff00408000ff001a199aff00296666ff00
+2c6666ff0030b334ff00343333ff00216666ff004d80008bff0059cccd8bff002119
+9afffff98000b8ffffe88000ff0020e666ffffeb6666ff001ce666ffffdd3334ff00
+13199affffd766668b080efb1781c8f705a4f772a712dbe0f749e861a813f4f821f7
+2515ffffcb4ccdffff9e3334ffffd6b333ffffdbcccc1e7f8b7e8c818eff00334ccc
+c7ff002fb334bcb58b089a98877c1ffb54fb2f15ff0061b334ff007b4cccff004833
+33ff005bcccda47395721f578bffffc64cccffffc8b333ffffc5b334ffffb84ccd5f
+a18bce8bbc08ff005a199aff00398000ff0078e666ff005780001e13f8c2786a6e70
+8c73af1fa28ba59d90a48d908b918b9008c355a559ffff6e999affff926666ffff7d
+199affff66e6661e8bffffce199a9affffb49999c5716f6b6dffffdd4ccd706a08a0
+8705a8aba5aca6aa95879689988b080e7dfb50abf729b5f80aaef757a901d5daf749
+cb03f7def82d15ba8ba7789963084bfba7056d70697e678b658b4ba48bed8b9f8ea3
+91a69ddabcf0f08b08e8f79815846d059c8fa08e958b978b8f868b7f8b80887b8573
+0866fb35056ca3608e778b398bfb1d4f63fb41867889778b788b37b73ff08bba8bb5
+9ab2ac836686698b6c088b808b808d8191619f56c98be08bb5b892aa8c8f8b8e8b8e
+8b9b81957a8b708b7979817608817680776d8b7b8b7f958bb28ba691b69acc08f731
+f93b758b055a724b807989080e7f81b9f803aff775ad01dcdbf73bd903f7edf75615
+730ad7f79f157b3e8a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3
+c7e3088e89847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffaccccff0008
+8000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08
+def80005a5f705adceb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae54
+1f518b5b6e6b55796d78617a39080efb1081bbf806aa01ff0054999aff001d199aff
+001b1999ff00473333f72bff0047999a03ff01233334f82c15ffffb97ffffffff74c
+cdffffc7999a721f8b4aff004e3334ffffe16666ff003de66686ff0007999aff0023
+6666ff00034cccff001cccce8bff0017666608ff004c3332ffffdce666ff00123334
+ffffdb4cce1eff0034e666fb6515ffff5de666a0ffffd6cccda98bff004c4ccc08ff
+001de668ff0015b333ff0052ccccff00778000ff006f199aff00298000ffffb84ccc
+ffffaae6681e8bffffd21999fffff2e666ffffd01999fffff13334ffffd1999affff
+e54ccc375647258b3a8bffffda4ccdb4ffffea4ccdd8ff0009e66696ff0007333390
+978bff001c333351ff001480006fbb8bb88bff002f999aadaae808ff0001b334ff00
+053333ff0005ccccff0014cccdff0002999a93080efb1081aaf806bb01e7d1f75bde
+03f736c615f75f0af75af73f15f7600a0e7981aaf7a0c2c0bba77701d5d3f77bddd4
+bc03f80df7bc157f078b778872846c68fb2c3c685c8b718b69a58bb68b928b928d91
+9cd5f0c4f703c20883b115fb0d54fb294174268a868a848b838b679d51e78bf73d8b
+d5f71fa5f70190a08c9e8b9b8b9b8a99889708a79db2a0a1918581877b897d088307
+699c81981e9006a68fa39abfb608829d05737c7f8475880887067d87959a1f8b8e8b
+8e8c8d8daf9ca39fa7087e93055c624f69516e859784968395819966a8498b498b2c
+515d5808967d05bdb2c9afbb8ba98ba87ea270908690838f81080efb3385acf74ba6
+f73da812cfdb7dd1f72ed913ecf72af70d1598c2b5adc28b948bad86938ba18b9492
+8e9708900794828f7b1e858b5e868a8b678b6f978bb58b938d958d969acbbca1ab8b
+b28b93749276907a927ca18b08988ba39292a88b8d8c8e8b8e8bab5aa8438bfb0a8b
+573d826489838a828b848b6a9f77af7c08296e7c5385740813f489828a818b818b5d
+a75af7048bca8bc7a9b3a908839a055d705f7c5c8b588b70aa8bb4088b928b928d93
+080efb4287aaf746b0f736a912f7c5de60d013f0f815f70d15f7610a13e88d948c93
+8b938bce3f9d508b238b6060846e0884077a997d9d1ea28b999b999e9ba19ea2b18b
+b28ba4778b658b83898389817f536970548b798b7490818b087c8b7d85887f8a898b
+8a8b898b8095889b8b928ba5909e8b0813f0f7620a0e4a87aaf746b0f71cc56ba9b0
+7712f7c5de60d013ecf815f70d15f7610a13ea8d948c938b938ba87c9f7599a59faa
+a19f94888389808b800881078f699c80998b8f8b8e8b8e8ca694a09db9bc087f9b05
+757980827585888a888a898b7e8b85978a9c8a8f8b8e8b8e8ba997a29aa6087b9105
+60594e5e50640813da7790768d778b238b6060846e0884077a997d9d1ea28b999b99
+9e9ba19ea2b18bb28ba4778b658b83898389817f536970548b798b7490818b087c8b
+7d85887f8a898b8a8b898b8095889b8b928ba5909e8b0813ecf7620a0e3572caf725
+c3f721cd01cfaff7e1aa94b303f7f8f85215fb018bfb1b3f65fb388779897a8b7b8b
+fb01e244ec8bcb8bb398b3a6b0a3a2a695b48c928c938b91088bb173a95b9bd7a1ab
+b294b18d968d958b948ba780a0789d6ea56797498b082cfc2c15fb025cbed51f8b9a
+8d9b8f9b95baccf70ff7298beb8bba758b5f8b868b85898582646372497d66975d93
+768b086d8b798286770886077c9a84aa1eb48bb394a593c17ea6768b6e8b868a878a
+877b473f79398b080efb76fb7fa9f822b7f73aa90138d003f775f7f81570fb0b428b
+05808b7e7e877b89828f85948b08db8b6bfb1c0557fb7762685a8b788b82938b9908
+9207a1859a741e7c8b798585738a878b878b878b60c780a98ba98bb09caba5d2c7b1
+e9a6f70908a5f706cd8b05988b9a9d8e978d938991808b083f8ba7f70b0591a6909f
+b08b08a806928e908e1f90a1058b43885d60478e8b1e8675058a878c87918b08a906
+a192847d1f8b8489828981080e3cfb5dabf738b7f806aaf77cab12bbd958dbf89fd9
+13f6f781b215655fafd71f8b9c8d9e90a0a4f701d2e7ea8ba98ba27e99720849fbb4
+0557616289738b08f7029815836a056dfb176952388b0813fa5c8b7cb6879d889d86
+9a708b768b7a7d86768a878b888b888b5cdc69bf8bb18bb293b3a408cab0acc8a3f1
+08f4f85c0594b095ae96a6a1c1afaaa58ba28b997c906d8e79907aa78b9f8b9c9990
+a08c8f8b8e8b8f08ad63ab461e6f8b73826a774d656a507324087f5405769871926c
+8b2e8bfb213b65fb390813f6867989798b7b8b30c852d28bbc8bbb9fb6b0080e3cfb
+5dabf73bb7f802ab12bbd959db13e8f782b5155a6abace1f8b9b8d9d8f9da4f701d2
+e6ea8ba98ba27e99720849fbb0055f655985758b08f70198158367056dfb17695238
+8b0813f05c8b7cb6879d879d879a708b768b7a7d86768a878b888b888b5cdc69bf8b
+b18bb293b3a408cab0acc8a3f108eaf8327f8b057f8b75717e7a74a46a97608b2e8b
+fb213b65fb390813e88779897a8b7c8b2fca54d08bbb8bbb9fb6b0080e4f7faef72d
+a6f761ad01d1dcf7b3a603f81ff71715805605736a5d756a8b2d8b67da8bd98b9b8d
+9c8e9ba1f706efccc18bbe8bc5748b4d8b878a878b87088979a68ba5f71e05648b40
+966e8bfb138bfb0b2e6ffb22887c8a7d8b7c8b2acc3df7068bd78bc7a4bdc1089ce1
+058d948f91928f918ea48d8b8b8f8b928c8c92088fa0058b5b886d6c5b8e8b1e8775
+058a878c88908a089706a292847c1f8b8589838a82080e4efb4fb0f8bda901f718bc
+d0c803f759fb4f15d58babc5909f8d988c9c8b9c8bb785bd859f08f756f7c405a5b5
+9990a88d089206928b908e8c9008909f058b5f896f6a578d8b1e8675058a878b8890
+8a089b069b9389831f8b848580807808fb3bfb9782b468f76e0589948a938b91089a
+9294a51e9b068d8b8f8d8c910891a1058b4d896468558d8b1e8675058a868e88918b
+089206b4898b79906e08c2fbed513f057e7a7f7a86758a868b878b868b6da477b38b
+087dd4158f9c9ba3abb4088f810592778f788b7e8b878a888b888a878a868a868779
+7c7d798b798b81938b9c8b8e8c8f8c8f080efb348db0f801a401f716bdcfc903f757
+8d15d58babc5909f8d958d938b948b9d84a475cc08f70df72a059b9e9f9aa6900891
+a5055d8b74806a620827fb0f62f710057eb075984a8b088672059e889c818f7e08c5
+fb494f40057e7a807a85758a868b878b868b6da477b38b087dd4158f9c9ba3abb408
+8f800592788f788b7e8b878a888b888a878a868a8687797c7d7a8b788b82938b9b8b
+8f8b8f8c8f080e60fb6d76a5a8f741c7f7ddc712ff0081cccdda7aff0051ffff13f8
+f852f7f915ffffd9ccccfb3a054c394a50ffffdc00018b768b7d918baa8b998d9e93
+ad08ff0025fffff7340513f493ab94b48b9e8b9e8099ffffe200018b5b8b5e695d50
+8e829183998ba5a9ff001ce6669fff000a199a8bff000719998bff0002e667868b7f
+088b82867585710865fb330513f8fffff800016886748b798b4fa677b28bff0033cc
+cd8bff0034ccccff0014cccdff005b3334ff006ab33308ffffca3332ffff0f800005
+fffff18000ffffbf199afffff58000ffffd7e6668b8b8b848e88948ba695d398b48e
+088ea3058e8a8d871e6c8d057e8391a11f8b96ff0002199aff00113333ff0004e666
+ff0015cccd08ff00663334f860058f9fff0008b334a48bff0009cccc8bff0010b334
+fffff6e664ff000a8000ffffe033348b08658bff0001199a5ffffff7199a65080e61
+81c7f7ddc7f776ac12f7f1dd7adaffffb8999aff0054cccc13e8f80ff80f15f7630a
+13f0f70a0a13e893ae90a28b9d8bc7709f648bffffcb33348bffffcb4cccffffeb33
+34ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97a6a4c9b49d9c
+8b0813e4a28bff000b6666fffffa8000ff00043334ffffebe668ff00043332ffffe9
+b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00186668
+ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2199a7c
+ffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffffb0cccd
+fbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff00091999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddccc6b08b
+080e61fb7dacf76776f81ac6f776ac01ff01a9999aff004ee66603f811f81015ff00
+184cccff00144cceffffe9ccccffffb9999a1f8bffffbd199afffff04cccffff9833
+33ffffe8e666ffffa54ccdffffe98000ffffa7b334ffffe16668ffffb0b332ffffed
+e666ffffe3999afffff4e666ffffee999affffec8000fffff366667c8b7b8bfffffb
+cccdff0009cccdfffff89999ff000bb333fffff78000ff000bb333ffffece667ff00
+0fcccdffffece6668b08ffffe46667fffff68000787affffe9b333ff00186666ffff
+e84ccdcf1fb48bff0032ccccff001d8000ff00183334ff00218000ff0020999aff00
+2d199aff00224ccccfff0019999aff0054e666abff006a4ccd98ff00724ccd8bff00
+37199a8bff005d9998ffffe06666ff0029b334ffffd4199a8bffffc933348bffffcb
+4cccffffeb3334ffffa4cccdffff954ccc08ff0027b333ff00ae80000594b094ae97
+a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffffebe668ff00043332
+ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb332ff00078000ff00
+186668ff00098000ff00284cccffffd3999aff00223334441fffffe466668bffffc2
+199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879ffffa9666808ffff
+b0cccdfbf905fffffb333477fffff8199a728bfffff633338bffffef4ccdff000919
+99fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a05caddcc
+c6b28c080efba581c7f750b2f70aa79877f5eb12f70ddd82ff00558000ffffbf8000
+eb13daf7dcf7a915ffffb14ccd8bff0009ffffff002b33340594ff00271998ff000b
+3334ff002680008bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc
+8b0813ea6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b81
+8bfffff6e666fffffdb333fffff2199afffff94ccd6f08815f2c8b8b64ff0056199a
+8bffffe3e666fb0f0513dc846b81628b788b78967da98bbb8bb8adb9c6889485937d
+8b716d6e77818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00166666
+ff0005e666ff0019999a08ff001a4ccdf706ff0057b3338b0513c9fb05f7e0157d0a
+0efbc381ccf80c7701e3f74803f748c215f7640a0efba68aa8f80aa801aaf7ca03f7
+49f7fa1549fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2
+d0898b1e8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208cdf7b205
+92a7989bac8b089e06908b8f8e8c9008909e898d058b46896468478d8b1e89898778
+0589868e888f8b089e06a595827a1f8b868a858984080efba681c7f773b78fb9f7a8
+a8a57701f4da03ff0112b334f7d115fffff333328b80ff0004999afffff6199aff00
+06999a08c4ff00fecccc05ff000e8000ff0040e668ff000a8000ff002819988b8b8b
+92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffde6
+66ffffeeccccfffffb199affffea333408ffffd4199afb5905fffffbccccff000099
+9afffffb999aff00006666fffffb66668b608bffffe2e6676dffffe5ffff5008a286
+05ff0010b334ac9b9aa58bff00064ccd8bff00064ccdfffffe8000ff00061999ffff
+fd999a08ffffd3cccdffff39e66605fffff8e6666bfffff9199a698b788b78ff0004
+800072ff002580008bff002d33338bff00364ccdff00198000ff002d8000ff004b80
+00879586927e8b6d676b757f8b838b87918b93088b938e9a94b308ff0021999aff00
+96666605ff00074cccfffffd3334ff0007cccdfffffe6666ff0008199a8bff002dff
+ff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe66881
+758b080efb5f81c7f77baddca9f76da8a57701f74bda03ff00ee999af7cf1550065b
+8b719eff00063333a8ff00051999a3ff0015e66794a38bc28bff000d666659ff0007
+66676c08f73516ffffac80008bff003be666f7a005ff000e8000ff0040e668ff000a
+8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa890598
+9385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffffd3cccdffff
+39cccc05fffff23334ff00213334ffffe7e666a7ffffcc4ccd8b758bffffceb33377
+fffff7199a61fffff2cccd4dff0021999976e58b08ff0028b3348bffffdbe666fb36
+05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d3334
+8bff00364cccff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b83
+8b87918b93088b938e9a94b308ff00226666f72edf8b050efb95fb5eabf9c1a801ff
+004ae666ff004b800003f74cf71315fffff58000ffffd0e666ffffe8e666238bffff
+b7b3348bffffda9999ff0004b334ffffdbcccdff0012e6668b9e8b989f949a939b96
+9ba38b0899ff000c80007c7cffffcee666ffffb24ccdffffec199affffd93333ffff
+b9199affffe9ccccff00266666ff0044cccd1f8bff003acccdff00103334ff0053b3
+33ff000fe666ff00474ccd08eef85005ff0004e666ff0015ccccff0002199aff0011
+33348b9608a183917e1e6c8d05878a8d8e1f8ea305b48ed398a695948b8e888b848b
+8bfffff58000ffffd7e668fffff18000ffffbf1998080e5efb74a8f756a8f7ffb2f7
+68a9a57701f831d803f703d315856e7e7c698b087406868b87888a860887788c8905
+8bd48daeb2d4898b1e8d8d909e058c90888e868b0874067182949d1f8b908c908c92
+08ccf7ae05a3aaa191a08b08f7228bfb73fbb105a2909f8d9d8bce8bbb5a8b4a8b81
+8a80888070fb09295e598b638b74a284a284a07c91748b08768b7f7d887b8a898b89
+8b898b6cbe68e18bf7248beeeba1eb8f9d8d9c8b9b8bd75abc2c9308f74df7800594
+9891958c918c8c8b8c8b8c0892858e7b1efb7a067e8b858d8d948c8c8b8d8c8e0883
+8cc5f78e758b0575827b877887798865857c8b088772058a888d898e8b08958ca28e
+05989182771f8b818a7e877b080ef75b7dbbf804a801f700da03f786f7fa1592a797
+9bad8b089e06908b8e8e8d90088f9e8a8d058b46896864478d8b1e88898778058b8a
+8a8b8b8a08878e898f1e9e06a59482791f8b868a858a85085bfb6605857286708b73
+8b5b9c64c58bc18bc3a8d2c78b639f5bc28bc98bc0b2c5bc0874339c8b05928b938e
+9691aa989990cd95088da70579877f8a7e8b818b858e8b9a8b928c948d9608c9f79f
+0592a7989bac8b089e06908b8f8e8c90088f9e8a8d058b47896764478d8b1e898986
+78058a868e88908b089e06a49582791f8b868a8589850852fb8c05515a6370688b78
+8b73988bbc8b9a8d9d90a108bbf7630591a7989bad8b089e06908b8e8e8d90088f9e
+8a8d058b46896863488d8b1e888987780589868f888f8b089e06a59482791f8b868a
+858a85085bfb6505877c887e8a7e4f576674638b7c8b6f958bc18b998d9d90a0080e
+f756fb6776b0a8f727b8f812a601f703d803f946fb571592a80581897787808b828b
+848e8b958b949cdab6f74e08c4f78a0593ad8f97b08c089c068f8c8e8d8c9008909e
+888b05828b3889888b818b368d878b08898b8677058a878e88908b089b06a38a9386
+8b7d8b848983887f084dfba005676d6569538b6b8b80a88bae8b9b8d9d8f9d08bdf7
+6c0593ae9096af8c089d068f8c8d8d8d9008909e888b05818b3889888b818b368d87
+8b08898b8677058a878e88908b089b069f8a96898b788b858a838980084dfb9d0548
+485588778b6e8b829f8bab8ba08fa592a708bbf7640593ad8f97b08c089b8b8c8b05
+8f8c8e8d8c9008909e898b05818b3889888b818b368d878b08898b867705878d8890
+1e9b06a38a93868b7d8b848983887f085afb6905846c866f8b738b57a16bc78ba28b
+d192dad48e6e9c5ac48bc88bd3b5afa90849fbb3a18b05ac9ebc97b491080ef756fb
+79a6f75ba5f7f7a88ab712f83bc0f75ad813dcf72ff81415978f86801f8b83898188
+7d084dfb9f05856e867c668a08798a05878b89898987088777059e8bd08d958b988b
+dc89928b088fa0058c91868a898b087b8c05738c83908b9a8b928d938d9608c9f7a0
+05b0abb3abc18bab8b966f8b688b7b887987790859fb6e8a8705877a89827c808888
+828a7d8a08798a05878b88898a87088677f75c8b8fa0058c91868a898b087b8c0573
+8c83908b9a8b918d948d9608c9f79d05aeafb8adc58ba98b96798b6a8b768672856d
+0855fb7c057427753171697c797f847f8b7a8b86928a93889d7d91858b7d8b7f8087
+7d08860778a37ab91eaf8baa98a3a2bab5a0caadf72508bff7770591a692a98ba68b
+b879b0498b488b53695c5f86c16ba1608b4e8b3d5c6f73089bce758b0513ec65765c
+80648608856e05958d9e8f978b080e60fb79a6f75ba5f7f7a88ab51232bdf86fd513
+dc7efb5e15778b86948a93889d838f818b7e8b7f84887c8a898b8a8b898b799d76be
+8bae8ba797a49f08c8bd9edf9bcc08d9f7e8059393c2c3d58bac8ba37f8b5b8b7d88
+7886750858fb700583688780678a08798a05878b88898a87088677059f8bd08d948b
+988bdd89928b088e9b058d91888f878b087b8c05758c818e8b9d8b918c938e9608bd
+f76e0591a28da08b9c8bdc579c638b0813ec4f8b5474565c089bcd758b056a785a7f
+618508856e05958d9e8f978b958b8e828b7e8b7f887b887a0842fbcf0567fb2f6a5a
+6a8b080e25ffff1b4ccdff00353333ff00ba800076f819c75fa712f73aff00588000
+ff00374ccccdff001d3334da13eeff01f4e666ffff3f999a15ff00153333ffffe94c
+ceff000b1999ffffed99981effffeae6688bfffff38000fffff0999afffff199988b
+768b7cff0018199a8bff002cb3338bff00103333ff00023334ff0013999aff00054c
+ccff0017e666ff000fe668d3ff0017e666ff00446666ff0016e666ff005a999a08a4
+ee05ff0008ccccaeff00043334a28b9d8bc7709f648b578b60762ffb00088a8c05ff
+0009999aff00288000ff000ee666b98bff001166668bff000db334fffff8b333ff00
+076666fffff2cccd8b0813de6b8b5c855c84fffff94ccd83ff0001b33380918208b3
+8805978a90828b818bfffff6e66689fffff2199a856f08ffffc7cccdfb8d05fffffb
+333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff001f
+cccd8bb18b8ab7ff0008e666b108ff0026199af73a0513eecaddc2c6af8ba08b9986
+8b6c8b7dfffff6e666ffffdbe66686ffffecb33408ffffc1999affff0ce66605ffff
+f46666ffffd13333fffff8e666ffffd64ccd8bffffdd33338bffffbe6667ff001366
+68ffffdd6666ff00304cccffffe780009efffff66666ff002c199afffffe6667ff00
+10b3328b08ff0015b334ff0015e666ff000c1999ff001833341f0e8c987693a2f810
+a5121360d4a2156d06858b89888a87088778058bc68eb0b1c6898b1e8f9d058d9186
+8d878b086e0675838f9a1f8b928d938d9608c7f7990513a0f73efbd105927d97849b
+8b998b9494909f08d8f7e40594b09292ab8c08a806918b8d8f8d8f088f9e058b4f88
+6566518e8b1e867805888a87921ea906a28a93858b7d8b84898389810850fb94fb48
+f7dcfb0f8b8778058a878d898f8a088c8ba98b05a28a92868b7d8b85898389800849
+fbb505846e877b668a080e3d81aef748b2f73aac01d7e1f798dc03f80db315c1b6bc
+cc9bcf8fa08ea08b9e8bb082ad79aa72b660a04a8b588b5e7c606c4c5d61437b4708
+877888798b7a8b64966a9f6da660b275cb8bbb8bc6a2aca608aaf7cf15927a92728b
+668b828b7f898008fb8e0695b398b5a7aca9b0af99b18bc38b9f6792780892fb2a15
+89848a848984846d7f5f706c6762687e6c8b6c8b639f7ab883a187a98ba98b968b96
+8c96080ed989b660aef731b8f72cb669ac12d5e3f8749f1366def76815857088738b
+7708fb19f70481a61ef80c8b8e8b8b8dbdf725788c0513b67253695a5b8b08fb248b
+aef729ca8b05a994887c1f8b868a85898408887da48badf726728b887d058575867c
+608b084c8baef72bf71f8c05a28ba5858d44089f8d9bf70a888b05136efbd78a0524
+8bfb174868fb2a08f7b4f7261548fbb505877a867e84850873063f71d5d01f8ba08d
+9f8f9dacf720d5a0ba8b08ba068f878d868b858b8589848981080ef72c79aff786b1
+f70aa201ced5f775a1b1aaf758d803f8f4f830156a9d4a94508b598b4b7e697d3968
+fb0a3d70fb08857288768b798b6795719d73a568ad7bc28b08cd8bc7adb5cf973cbb
+74bf8bc68bb79bb4aeb9b1a5b79dd48f9e8d9b8b9b8bed3fbd5da408fbb57715a597
+c397bf8bb68bc978a675b36ca7648b528b7a897a867870fb0b56513a8b538b70b187
+d0089ea99bab98ad8f948d938d938d938c928b928b9e8196758b718b797783658985
+8a858a8308897e8a7d8b7d8b7a8c798e7866435e68568b458b73b48bc48ba18fa491
+a5a7f70dddc1c5a708f3fb35158a8489848882857b837881740886818b95058ba28d
+9d8d9d8c928d918c9090a29295948b918b8e868b848b868a858985080ea2fb5ca8f7
+38aaf814abf75ea9a57701ded5f808d303f799a3156a9144a28bef8b9d8da091a2a9
+f71be3bace96087dfc1415e3f81205ce7cb1688b448b7788748572826563fb19fb1b
+7508f797f753158f9d8d9c8b9b8bf13ac9339408c6f797758b0558774e857b8b0887
+7205888c898f1eac8f05979281781f8b81897e887b086bfb1e054e88fb3f4d67fb32
+887d88798b768b46a930f72180086ffb0c05846f7f7b698b087806868b8888898608
+87788d89058bce8dafb2d0898b1e8c8d909e058c90888e878b0877067281949d1f8b
+908c918d9108a7f70c05f7159af703eba5f703080efb6181d155a7f8297712ff006e
+8000ff005280001370f71cf72415fffff7b333ffffdccccd05fffff74cccffffd933
+34fffff78000ffffdd33338bffffeee6678bfffff09999ff00084ccdfffff64ccdff
+000d33338bab8bb492ba91ff0006b33493fffffe4ccc96859408638e057f8c85948b
+958bff0009199a8bff000de66692a708ff00373333f78d05ff0004ccccff00158000
+ff0007e666ff001180008bff000fcccc8bff0010b334fffff7199aff000a80006e8b
+688b8a60fffff6199a6408ffffe2e666fb090513b05b34532e748b818b8690859284
+937e987d8b0870796e70769a71b01fbd8bc5c9b7e8080efb4d7cc4f8c0a801f83df8
+be1591a7989bad8b089e06908b8e8e8d90088f9e898d058b478968643c8d8b1e8989
+87780589868f888f8b08a806a59582791f8b868a868984082afc3605887d837f8382
+65626b79798b838b828c8798879c7a93748b708b757185748b888a888b880874a17c
+af1ebf8bd4c4a9ab088e8b722e9c8b05928b948f9690ab989890cd96088ca6057987
+7f8a7e8b818b858e8b9a8b918c948e97080efb17fb42b2f712aff80ea4019debe9c9
+03f835f829159d06918b8d8f8c8d08909f058b4e8a64624c8c8b1e8778058985908a
+8f8b089b06a48a92838b7d8b84898389800853fb84056f60585d728b868b798a8f9b
+8c8d8b8f8b8f8b9a85a36e8b6e8b7377856e8a888a888b8708789975c01ead8ba496
+a8a29b96a7a4969b08877705805c86658b6c8b36af6db48bc58bc89a96b8088f0798
+809c751e758b7d7b827b87807d7f7c8b748b80908ba88ba494b69bd508d4f7cf0591
+a58ea0b38d080efb4dfb5aa8f8c1c301c8fb1115846f7e7b698b087806868b88888a
+860886788d89058bcf8dafb2d9898b1e8d8d909e058c90888e868b086e067281949d
+1f8b908c918c9108ecf836058e9993979394b1b5ab9d9d8b938b94898f7f8f799c83
+a38ba58ba2a590a28b8e8c8e8b8e08a1759b671e578b42526d6b08898ba3e87a8b05
+848b83877f866b7e7f864981088a6f059c8f988c988b948b91888b7c8b858a82887f
+080efb57fb56b3f8a8aa8caf01dccdf764ea03f72cf81515978f83801f8b858a858a
+850847fbba05815c845f8b658b44a35bd48baa8bdba295b88b8e8c8e8b8d8b978394
+788b748b7c7a827808857f7c827a8b6f8b7e9a8bb38ba992b89ac908cdf7b105a1ad
+c2c0a58b958b9689887e8b888a888b868b7c9276a78ba78ba39e91a78c8f8c8e8b8f
+08a57099641e408b4c388888089fe1768b05727e6e7d3d8108856c05968f9d8e9e8b
+080efb698ba5f809af01f7e7d903f747d315aef72c05b0f7319c9db98b089d92797f
+7b9179a61f998ba5a0909e089207b0499b6e1e708b737f6e79506370467733086bfb
+1c05867483746c8b086f06858887881f8778058bcd8eb5b4ca888b1e909e058c8e8a
+8f858b087006768492981f8b928d948d95080efb718ba5f809af01f794cb03f75bd3
+15836b857d6c8b086f06868b89878a88088678058bcc8eb3b6cc888b1e909e058e8b
+8f841e7006768595991f8b928c928d9308abf71c0594b491af8bab8bb083a975a077
+9d7897708b6c8b397981618b898a888b898b7b997a988b08a48b9998959f90979b9e
+9d8ba68b99858b668b7184627c4a080efb0c7fa180a8f730aaf755a112f81dcd1338
+f81bf7c61581646157438b08558bb5f74b059b8f9a8c988bd58b9f638b68088b838a
+848a84081378fbecfbaa15878b85898a88088673058bc58db0abbd898b1e8fa2058c
+8f8a8d878b738b83908b998b918c948e9408a5f705d78b97fb030513b89251a670c0
+8b968b958b978c088fa0056e8b78a985b80880f70205a393ccb899c38d978c968b95
+08d4489f511efb5c8b8778058a898c8a8e8b08a4069a8a90878b818b878a868a8508
+44fbc705836a87815d8b080efb1d8aa1f755aaf736a101f7e2ce03f7a6f82b159106
+8f8b8e8d8c8f088f9b3888318e877a058a888c898f8b089206a08997898b778b848a
+8489800844fbc80586758684758b087206888b8a898a8a088878f75c8b05cf8be2a4
+a2f08d928c928b928ba3819f7ba082977c91868f08caf70305a6b8a89fa98b08909f
+057f8c818b818b558b677c694f084bfb0305878b778c878b085c8ba4f7050591a48f
+a0ad8e08c6fbb0157c4e5466498b7d8b7d8d7d8e08b5f74cc18b05ca9f64691f8b85
+8b848a86080efb63fb48aff71aa7f820a901a3b691a39fcff6d68fa303defb4815c1
+8bcbb594b68c8e8b8d8b8d8b9684947e8b7c8b787e877986767373728b748b829e8b
+a6088b9c8fa190a30894b0058c8a8d8b8d8aa385a987af8bc38bf3a4a2ee8e958c94
+8b948bc854a74baa629f75978ba8088b908b908d9198c4bb9db28ba18bc48090fb00
+08a38c9af70d057b96599b588b3b8b3f587b46887f8a808b828b5baf79c370c86fa1
+718b6a8b858b8489840880595173658b668b709d8396869188928893088c8f898b05
+8898899a8b988b978c958d9308738a76fb04773105867688778b7b8b659a72b78b08
+0efb95fb6ab1f9e6ad01f83ccf0350fb0615788b7b7a887b8a878a888b878b68b776
+b28b9a8ba28cb4a8d2bca0dca3f608eff84305a1ebabe9c58b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b086f8b6e816c76435b763c7324
+0825fc520568fb2a6370758b758b899a899a899c899a728b080efb95fb6ab1f806b7
+f848ad0150fb0615788b7b7a887b8a878a888b878b68b776b28bf71a8bb0f737a3f3
+08acf721d28b05978b9b9f8d978d94898e808b083b8bc4f78a05a1ebabe9c58bbc8b
+6b48b88b9c8b9d9a8f9f8c8d8b8e8b8e8ba571ab488b6f8b6e816c7608435b763d73
+23085bfb65428b057f8b7d7e887b89828f85948b08dc8b5ffb550569fb26646c758b
+5e8bafc95b8b080efb95fb6ab1f9e6ad01f0cfd7cf03f7b7f853159acb92bc8bab8b
+948b928a9187a6819f7a9b76a07295708b748b78887a8578837d827f810880828480
+89818a878b888b898b848d858f8790849189938b089206998e9493929698a1989999
+90928e908c8f8b9f8b997a94698c878b878b858b7485627d4e0827fc43057a42845b
+8b6b8b838c848c8590709576997c9c799e819e8a8f8a8e8b8f8b9b8b9a8e9a9008a0
+949a949594969591958e96088c078d95899386918692858d838b0884067e88808585
+7e7d6f7c7f7a8b0889067e8c819984ab8a8f8a8f8b928ba292b197c18c8e8b8e8c8d
+08eff843058c8e8b8d8b8d080efb95fb5aa0f9e7ad013ba6f871cf03f880f916158c
+8d8b8e8b8e8ba571ab488b6f8b6e816c76435b763d73230826fc4b0587788a898b8b
+fb1d4f725e85708a878b868b878b6caa82a78bc48be0afb9f736baa27781b19c0888
+9c0578857d84738108f6f860059cd79bb8969da5ada19c9f8b9c8b987f8e718e7c8e
+7da28b9c8b9d9a8f9f08fcb4fda21595b6dbb3bca308877c0574285d6d6f8b838b6c
+928ba28b8d8c8d8b8e080efb978bb3f7edc301f777dc03f733b3152c06818b7d8788
+81088777058a878d89908b08f7028b68fb2ec99f8f9e059dd9a4b0d18b0895b3458b
+d0f7c1058f9a8d998b968bb6749c668b598b5b6e686408977c059d98aa99a88b9a8b
+92818b778b7c87778571080efb9afb76baf8ceb201d4ccb5d503f78efb11155d8b9d
+555a8b748b7f918baa8ba493b59bd008e7f821f7048b94b2fb048baef72e4e778678
+05815f806f807c77756985708b088264d18b2dfc2705826287698b708b30b876b68b
+cb8bbca395b7088f07987d9b771e0e6480b88da6f743b2f713a601f703da03f8c3f7
+a9154f8b9cd89fd8058b7a89746f448d8b1e898886748c89058f8b958c918ba58b93
+838b7a8b8389828980087a41fb598b9cd79ed9058b74897d6a498d8b1e878886738d
+8a05928b918c8f8ba68b94828b798b8589838982087a3e498b8264cd8b71fb050587
+7c897c8b7c8b59a562db8bb38bbd9ad0c6087743a38b05a69fc298c99708a6078289
+6a847f8b7f8b87908b978b968e9a90a208a7f70ac78b05fb1b166cfb1b057e7f777c
+6f79737c7482738b718b67968bc28b968c988f9a08a2ee050e587eb1f801b801c8d9
+f7c0d603f82bf82b157d4e059d6bac5b8b4b8b7d8a7d877d856f6220fb228b438b63
+b78bc78b968d978e97a2f0efca929d089ac8058c918c8f8b8f0897848d7f1efb118b
+662f9c8b059cb7938eb88b08c68b8778055760fb05367738877b8a7b8b7d8b3ec159
+f7108bf7138bf70dc0a6f70c8d928c948b9308e035f18a1e909ec68b05b29589711f
+8b868a858b83089d8b8fe7fb1b8b05828b83848676080e437bbaf7e4d553bf12f709
+d4f7bbb813d8f898f78d1594b290ac8ba78bc676ac5c8b708b797887798a888b888b
+888b74a387948aa0879e7b8b5c088b7a8876867274293bfb00338b468b70b38bbf8b
+998d998e99a2ecacbe9dd78d918b908b900813b8a07f96781e648b4d72747a088d77
+058bac95991e13d89893857f1f8b888a878a8780596d51793a867788788b798b45b3
+53f7098b08e68bf703e6b3f742080e458ba8f8307701f73da7156e7f90961f8b8c8b
+8d8c8d8c929194929708f71ff76ea9ba8f59affb6e058e7e8c8289848a818185768b
+087a06898b84898a850887778e8a058bc88cb3acc08a8b1e8e8c909f058c90878e85
+8b0880066e8b849885ad0853f7ed05899885927f8b808b8284817c08fb6cfbe60571
+6178816f89088406858b85888a860887798d8a058bb48ca6b0c38a8b1e908c8f9f05
+8c8e898f868b080ef7458ba7f8327701f8b2a01587788d89058bc08cb9b7b98a8b1e
+8e8c8f9f058c90858d878b088306688b889384b30853f7ee0588998391828b818b81
+84827c08fb32fb8c61f78e0589998391828b828b8184827d08fb6bfbe6057365757a
+6d8b088406868b85898a860887778c8a058bb38cadb1cc8a8b1e8e8c8f9f058c8e88
+8f878b087b066e8194981f8b8d8b8e8c8e8d928e93909208f71ef76ca8ba8f59affb
+6f058d818c848b848b888b898a8889818187778b087906868b86888a870887778d8a
+ef8c05aec28a8b1f8e8c8f9f058c90878d878b088306698b879383b30883b9f704f7
+42a8ba8f58b0fb6e058d7e8c818a8488828384758b087c06868b86888a87080e578b
+a8f8c6c201f7c0a01587798c88058bd48dbaa9bb898b1e8e8e8f9e058c8f888e858b
+0884066a8b7f9b889b084bf806b5ce05afc3a4b0a48b968b9184918191839585958b
+9b8ba69492a98c8e8b8e8b8e8ba86b947a8b08408b59455d4408fbadfc3e05776c7a
+786a8b088406848b86888a860887788d89058bb48da7aec1898b1e8e8e8f9e058c8e
+878f868b087b06788590921f8b8c8c8d8b8d8c91959b929608f73df796b9fb9b058e
+808a808a8388818487778a087906878b83888a86080e308ba0f819a101f7b9d015a3
+f1f71cf753059fa69a9eb28d089f06908f8d8f1f8f9b3488318e877a058a888c898d
+8b08a9069b8a94898b830888078984807b848008fb06fb2f5ef72f05889389968b93
+0890078e949990a08c08a98c058d8b8c8d8c8e088f9bfb0689228d877b05888d8990
+1e978a05b18a8f81966708c9fb5f76310582648483688a086e06878b898a8a870887
+7bf7038df706898e9b058c8e8a8d888b086d06748c828f8b9c8b918c948d96080efb
+2afb53aef730b2f7f0b201f79db803f7c5fb4f159488968a958bb68bbca39cac8d90
+8d8f8b8f8b948693828d898c898b888b7f8b7a84847c08827a757b778b878b888c88
+8c7d8f85958b9a8ba197aa9dad089db18e8ba2bd939b8a8babd37390057d6e7d757d
+7c088a8a0574717580778b08fb328bf7c7f7ec05989996998c918b8e8c8d8b8d8b8c
+8b8c8a8c878d898c848b888b748a728808fb58067d8b858d8e958b8c8b8d8c8d0875
+9048fb2da48705b1dfab97aa8b08f7208bfbd1fbf705838186848b8608859287a41e
+f78e8b7158057b6a806e8b738b739679a883080efb188bb2e5acf779b201f820aa03
+f81fe815836b6475558b084b069ea7b2c9ca8bae8b957c8b7d8b898a888b8908fb52
+2e15c706e28bc7b198c38c928c908b918bb26796758b678b687c7177767b70697265
+08498bf7caf7f005989995968c928c8c8b8c8b8c0891858d831efb84066e8c958f1f
+778f4afb29a4860599ada6b4979497939b909f8b08f7228bfbd4fbfb05848286878a
+85088b8a8a8a829b899c1ff506736576637b6608a9840598afa2b7a5b5080efb1bfb
+7dacf7d9adf757c55ad712a4d88ba6f740df13e6f780f73315f74f0a13d6f7500a13
+eaf7510a0efb12fb76a3f746a2f819b512a6a3f79ba282d313f0f7b1fb091569534f
+6e4e8b618b66aa8bb48b908c918c9197bbbcb4bc8b08ca8bb161a0580899a91572b9
+5db34f8b4d8b4d597d4d89838a848b848b56b965c08bc48bc7a1bfb20813f8965e91
+548d5c08a298058abd83c480b9929191919092aaae9eb194b40813f48f9e8d9c8b9c
+8bac82a7799f75a46c98658d08f733f77705999593978d978b8c8c8b8b8c088f868d
+841efb8406748b808d8a8e08798b5ffb0aa08b059bb399a19a90948e978c9a8b08f7
+2b8bfb59fba505a2909f8d9c8baf8ba4819a78987b91768b708b7c897a8779857284
+758178080efb458ba8f8fba712f728e146d2f748d513d8f709a8157906878b868a89
+84088676058bcb8db4b2c7898b1e90a1058e8b8f851e7906728c84928b988b928d94
+8d9508b6f74f05a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d7736
+0813e8f7650a13d88c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b608b80
+8a8188807220fb2a666afb200864fb3c8b8805846f877e6689080efb458ba8f8fbb2
+12f71ed591dbeee341d913f4f76bf8a315f7660a13f8f7670a13f48d968d958b958b
+cf53b63f8b288b30477429877b897d8b7e8b2edb6c8b358b7f8a7f887e0868fb2b05
+846d877c6589087906848b8a878988088675058bc98db2b3ca898b1e90a0058d9286
+8c888b087806738c84928b978b928d938d9608b2f73c058e9a8d988b998beb35b58b
+d9088b938c948d94080efb4574b2f8eda812bbd941e3eeda91d513ecf7d5f7191582
+62736e75757b7b7282768b6a8b74997ca1869389938b930813dc8ba199a08b9b8b8f
+8a90888e82968090808b768b727b846f0813ec88808a818b818b47c360d68bef8be6
+cea2ee8e9b8d998b988be83bab8be08b968d978e9908aaf71d0592a98f9ab18d089e
+06918b8d8f8c8e0890a1058b4e8964624c8d8b1e8676058a848f8a8f8b089d06a48a
+92858b7e8b84898388800868fb2e05877c8a7d8b7e8b2be0618b3d088b828a838982
+080e7efb7ddaf895d501b2d503b97e15867789778b798b2fc445f7068bf7028bdede
+c2cc08739f0548545b69418b278b6bbc8bb98b938c948d9308c9f7a2059bced3c3e6
+8be88bb458a46508a4990562ec5dbf358b448b59705d6661695f557c4d080ef71a7f
+adf78ef701f786ad01ede9f740f704f747e803f82cf7a415a98ba9a491a88c8f8c8f
+8b8f8ba3779e748b6d8b6d70846f8a878a878b878b759b77a78b08d2f7f315f1d547
+fb1c1f8b6b8766826362fb47fb06fb01fb068b208b41d68bf7178ba98fac93afbbf7
+66f716e1ec8b08f797fbba1592a88ea78ba58bf72a20eafb228bfb478bfb3bfb2b5e
+fb58856d876e8b718bfb27f031f7268bf7538bf72ff721baf75c080efb178ba7f752
+a5f72eab12f802cc62d013e8f76cf78815aef72c05988da58ba18bb38bb1818b608b
+848b84898381636464518b08447115e50613f0aeaa6b611f8b848a848a84793f5d73
+3d8b778b788d7b8e08fb186e15d98dba8af68b05c68bdca8a0e88d928c938b928bb7
+69a96696a192ccb895b50813e88c938c938b9208bc65ae4a1e298b5d8a3c8d898985
+7505898d888e1ea2069b9087821f8b878a8589840841fbd40587768a89728a087206
+898b8a8a8a89088573050e3f72cef721c2f726c901ccb196a9f7e2ac03f85aec15a1
+a69fbc94b68f9c8d9e8b9e8b9e899d879678c255d3238b4b8b637f63706672767082
+620889838a838b848b66a26eba7b40766c638266887f8a808b818b7094779e7aa770
+b07fcd8b08f70b8bd5d9b0b7089df75f158f838d7e8b7b8b7b89798679846d725e72
+735d61606f3c8b2b8b5ca08bb78b918c918c910894b2b3a3cd99a483a685a888948a
+928a928ba98b9d93909f089107997c926d1e78066f896d856c83559771a08ba98b8f
+8b8f8c909bcfd79ddd8bf7008ba75a9c68080e3b83aef72eacf758adebcb01c4dcf7
+b7a603f911f8f015568b335f6e23088a06887e8379828b778b6e9e578bfb138bfb0f
+2c6afb228879897a8b7b8b2ec944f7038bd78bc8a5bfc0089fe2058d938f91938f91
+8fa48c8b8b8f8b928d8d910891a7058b5b886c6d5b8e8b1e846e058a878c88908b08
+9706a192847d1f8b8489838981087f5705726a5c74698b308b69d28bd58b9e8d9e90
+9ea5f706f2cec18bbd8bc2758b4f8b868b868a8508887aa68baff72f05909e98a79a
+9c9f9f9a919b8b9c8b9b849a8ba18b9a9c8f9b8c8e8b8f8b8d8b9c8097798b080e88
+8aa8f74cadf730a801f74ef7f7154afbac0582658483678a087106888b89898a8808
+86758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b1f8b928c948e9608
+aaf71df7618b6bfb1e0582648584678b087606878b89898a870886768d89ec8df705
+898c8d90a0058c8e8a8e878b08710672828e9b1f8b918d948e9708cbf7ac0595b493
+92ad8b08a4068f8b8e8d8c8e088fa18a8dfb05892a8d89898675058a878d8a8e8b08
+a006a494867b1f8b858982887f0872fb00fb608ba4f7010595b39392ad8b089f068f
+8b8d8d8c8f0890a08a8dfb0088248e8a89857505878c8a8f1ea506a493867b1f8b85
+8a828980080efbc0fb3da0f8a0aaf704ee0160a6f78cf003f79ed71579847c847482
+8c8f8c908c9008e2f80d758b058085778171846580708a828908846c059c8fa08e95
+8b948b91878d820885078b858a82887e0845fbbf05887e8c888a8a8b8a8b8b89885c
+76295b78588a8789878a878b868a878b878b769a7ea28708938a928a928bce8bbbbc
+a2af9fa99db696b3baa27881b19c0866f891158a878b888b878b828e839084938295
+86998b988b98909795979492978e988c8f8b8f8b8e088b9489938691839581917e8b
+7d8b7e857f817f82847f877e08fb71fd5e157c8f7e948b9a8b8d8c8d8b8e8c8d8b8d
+8c8d9ab4dfb4b29e8a8689858a87857083747e73087a6d7172708b878b888c868c08
+0e69fb6d76a5a8f741d2ebff0022b333ff00c34ccdbf01ff02173334f7f915ff0004
+cccc9fff0007e668a48bff0009cccc8bff0010b334fffff6e664ff000a8000ffffe0
+33348b658b8b5efffff8199a6608ffffdbe666fb3605838884ffffffb333fffff899
+9a8bfffff866668b84ff00074ccd869479ab80ff0032ccccffffeb999aff002d3334
+ffffdf6666d372aa628b698b686c6b5392838f86968b089fa8a09e968bff0013199a
+8bff00068000ffffee6666ff000a6666ffffeb999aa7549864996fff000fb334ffff
+e0999aff00064cccfffff26666ac82088b87575d055a5f7079778b718b8f99698b08
+7d6b786c6fa184a61fab8bc8b1d3cb08b3ff00224ccd059cff000eb334a09ba08b08
+49fbac057c4a81638b8b8b848e88948ba695d398b48e088ea3058e8a8d871e6c8d05
+7e8391a11f8b968d9c90a1080efb128bb561a5f80da6121360cea5156d06878b888a
+8985088678f7fb8bb3f71d748b0513a07f7573424b8b08fb088bd3f7d00593ac9297
+ac8b08a8068d8b928d8c91088f9e058b47885f5f488e8b1e8678058a868e88908b08
+a806a392847d1f8b84898489810849fbb305836c887f6689080e7ffb7ea8f756b7f8
+09adf763ab01d7da03f7ddf82a15b48ba6719d5e084afbad056c786889798b628b6d
+9c76ab829981a18bb08b9e8da392a7a3f3c8d7db8b08f83cf759158c8e8b8e8b8f8b
+ad63ab478b6e8b73826a77425e7c5666fb1d729c6b93658bfb0b8b20246cfb170887
+7788788b798b68946c9b6ea45fb576cb8bc38bae9e9e980862fb4705846d877c6489
+087a06848b89878a88088675058bc98db2b3c9898b1e90a0058d91868d888b087906
+748c838f8b9b8b918c948d9608f71cf8dd059bd19dc48f93a1c1afaaa58b968b9387
+9285a575765bba8b9f8b9d998fa1080efb458ba8f73fb2f829a712f728e146d2f748
+d513ecf709a8157906878b868a8984088676058bcb8db4b2c7898b1e90a1058e8b8f
+851e7906728c84928b988b928d948d9508a8f710f70a8b0592938f918b958b8f8a90
+8a9108fb0a8b90a305a9f716f71f83acf7228e998d988b968bcd5db4348b358b255d
+77360813f4f7650a13ec8c918c8f8b908a918c918c9295b3c0aebc8bba8b9f618b60
+8b808a8188807220fb2b666bfb20088a87218b058b8a7d7f8b7c8b888c878d8708f7
+008b6efb118b8805846f877e6689080efb458ba8f73fb2f829b212f71ed591dbeee3
+41d913faf76bf8a315f7660a13fcf7670a13fa8d968d958b958bcf53b63f8b288b30
+477429877b897c8b7f8b2edb6c8b358b838b83898208fb01068b8a7e7f8b7c8b888c
+878d8708f7038b6efb1005846d877c6589087906848b8a878988088675058bc98db2
+b3ca898b1e90a0058d92868c888b087806738c84928b978b928d938d9608a8f71105
+13fcf70606929390918b958b8f8a908a9108fb078b8c8f058e9a8d988b998beb35b5
+8bd9088b938c948d94080ef78584b568b2f7f0b27aaef75ca6a47712d3dc132ef8e7
+f83e157e8b858d8d958c8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208b
+fbb7fbda05858a858a878b838b848e8a95088e078b948e9a90a508f718f8cf758b05
+75837c867888798765867b8b088772058b888d888e8c08ac8e05989282771f8b8189
+7e877c0866fb3405139e6ca3608e778b528b59755a65566069507a41857589758b77
+8b31be4ee38bbe8bc8b6a9a3087948a38b059b97a595ac94868588868b8808136e85
+9387a31ef7ba8bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979996998c91
+8c8e8b8d8b8d088e07878d898c838b888b758a728808fc45fbe215139e6169607470
+8b5b8b5db28bdf8b9f8ea191a59bd3a6b39ea0b6bab68e9f8bba8ba7789963080ef7
+56fb74a8f750b591a6f7d7b276aef75ca6a47712d5ddf73adcf78dd913efc0f7fee7
+15f7680a49fbb6157948a38b05a69fc39bc897088ca60582896984808b828b848e8b
+95088e078b948d9a91a508c2f7820513f7c0a0a29e909e8b08f7228bfb73fbb105a2
+909f8d9d8bce8bba5a8b4a8b818a80898070fb09295e598b638b74a283a284a07d91
+748b08758b807d877b0885076cbe68e01ef7258beeeba1eb8f9d8d9c8b9b8bd75abc
+2c9308f74df78005949891958c918c8c8b8c8b8c0892858e7b1efb7a067d8b868d8d
+948c8c8b8d8c8e08898bc4f78d758b0575837b867888798765867c8b088772058a88
+8d888e8c08ac8e05989282771f8b81897e887c0866fb340513efc06ca3608e778b52
+8b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6a8a3080ef79484
+b568c650b2e5acf779b276aef75ca6a47712d5ddf90eab1333c0f9a9e815846b6375
+568b084b069ea7b2c9ca8bae8b947c8b7d088b898b888a8908fb522e15c706e38bc7
+b197c38d928c908b918bb26696768b668b697c7177767b7069716508498bf7caf7f0
+05989995968d92088e07131bc091868d821efb84061317c06f8c958f1f778f49fb29
+a5860598ada6b4979408135bc098939a909f8b08f7228bfbb9fbde05838a858a878b
+828b848e8b95088e078b948d9a91a508f718f8cf758b0575837b867888798765867c
+8b088772058a888d888e8c08ac8e05989282771f8b81897e887c0866fb34051397c0
+6ca3608e778b528b58755a65576068507a41867588758b778b31be4ee38bbe8bc9b6
+a8a3087948a38b059b97a796ac94878788878a870889071353c0829a899c1e133bc0
+f506746575637c6608a8840598afa3b7a4b508fb81e7151397c0f7680a0eb17eaaf8
+09b27ba912f3dcf72fcdf704d590a013bef7387e15f75106ac8bdf94ad9cb9a1a7ab
+96ba8d948c948b948bab7baa58a840b65f8d8bb38b908c918d920898c6be9eb28ba1
+8bc58090fb0008a08c9af70d057a965c9b588b3b8b3d587b46887f8a828b818b7096
+78a17cc465e3758b4c8b868a858a85087f595273658bfb058b249384b28a8e8b8e8b
+8f8b988e9f91a50813dec7f795f7048b94b2fb048baef72e4e77867805815f806f80
+7c77756985708b088264d18b44fbc405887c897d8b800860a27ab01e0e28fb73b1f7
+42c3f7eeb2f77fad12decf5cddf837cf13faf70ffb0f15788b7a7a877b08810768b6
+75b21e9a8ba28cb5a8d1bc9fdda4f508eff84305a1ebabe9c48b9c8b997f8e718e7c
+8e7da28b9c8b9d9a8f9f8c8d8b8e8b8e8ba570ab498b086f8b6e816c76435b773c72
+24088a83898bfb028baef72e4e77867805793d7266458b088264d18b45fbc20513f6
+877c897d8b808b60a27ab08bb78bb7a2adac087f570568fb2b6370758b0813fa758b
+889b8a9a08899b899a738b08f717f89615ea06908b928c918e083ffbdd859105797f
+6c7c6f8b0813f67b85959f1f8b9a8e9f91a5080ed880c354d2f2a4f75eb278a712f3
+dde1e0f776e946a5136680f8f4f71f15805b356d638b7f8b808c818ea9abceceb58b
+9a8b9b878b7c08a38d158c8f8c8f8b8e8ba47291728b588b3d3d666460a179ba8bbc
+8b9e8e9e8f9e0813af009dd6c4e4e48bc28b8b6a8b6e8c708b73af8ba38ba49d91a4
+8c908c918b908bc341a5588b08fb1b8b20246dfb14867588768b768b718f72957508
+8a8c05797f6c7c6f8b7b8b85958b9f8b9a8e9f91a50813b680c6f793ea8b05948b9a
+8f8d94088f9f058c8f898d868b08fb028baef72e4e77867805793d7266458b088264
+d18b45fbc205877c897d8b808b60a27ab08bbb8bbba7adb199749f79a57f706b706a
+706a089f8705a8aba5aba6aa08136e8096889889988bd88bf710d59ede080ef789fb
+6fa9f74ea6f803b269bbf781a612f879e5f726d813def85ff7f5154afbae05846c85
+7d688a08798a05858986891f867805a98cbc8d9e8ba18bce88978b08909f058c9089
+8c858b087b8c05758c818e8b9c8b928d938d9508c4f78d05a2abb7b7d48bb58b9972
+8b658b7b887886770858fb73056afb2156245e8b818b878f89958a9b86a3748b888b
+7188846b8a898b898b898b6dbc7ea68b08a48bad97aca6d0c2a6dba9f71608baf75d
+0590a58ea18b9e8bcc6aa5568b2c8b4c4a777408a1ea758b0513ee6c7b6e86738b08
+fb4c8b92aa05b8f752d1a9b58ba98ba46d8b54088407759673aa1e9e8ba19a91a58c
+8f8b908b908b9e83a46bac74a26995658b428bfb0b6957fb760886793c8b8364da8b
+40fbd40583658584698908798a05868b89898a8708877705a88cbc8d9f8ba18bce88
+978b088fa0058c8e888d878b087b8c05738c83908b9a8b918d948d9608d5f7d4f74c
+8b8d8b059a8f83811f8b8589848a84080e6881a77aa6f816a9f75aa9a57712f776a3
+9fcef700d68fa3137f80f703d315856e7e7c698b087406868b87888a860887788c89
+058bd48dae1e9f8ba68aa28b08a29e8a8b1f8d8c0513bf80a385a887af8bc38bf3a4
+a2ee8e958c948b948bc854a74baa629f74978ba88b908c908c910899c4bb9db28ba0
+8bc58090fb0008a38c9af70d057a965a9b588b3b8b3f587b46887f8a808b828b5baf
+79c370c86fa1718b6a8b858b8489840880595173658b658b719d83967e9b87a58ba2
+8b978c968d9308738a76fb05057c8e85948b998b908c908c9208f725f906758b0575
+827b877887798865857c8b088772058a888d898e8b08958ca28e05989182771f8b81
+8a7e877b080ea98bb265a6f7fbb2f76ca9a577121378f814f83e157e8b858d8d958c
+8c8b8d8c8d08759048fb2da48705b1dfab97a98b08f7208bfbd0fbf7058a8a8a8989
+8a0885067182949d1f8b908c908c9208f725f906758b0575827b877887798865857c
+8b088772058a888d898e8b08958ca28e05989182771f8b818a7e877b08fb09fc8e05
+856e7e7c698b087406868b87888a860887788c89058bd48daeb2d4898b1e13b88c8c
+908bf7b98bc9f71e739005653e64706c8b08fb338bf7c8f7ec05979997998c918b8e
+8c8d8b8d8b8c8b8c8a8c878d898c838b888b758a7288080e34f7a2a2f7cfa201ff01
+14b334f8f915ff000380009cffffff33328c058bffffdbcccd8a7173ffffe533338c
+8b1efffffecccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007
+666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938b
+ff0009b3338eff000633349608ff0054e666f727ff0019e666fb2805ff0001666683
+ff0003e66686908b928bff0009b3348eff000733349608ff0077b334f75c05ff0010
+e664a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009cffff
+ff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80007a
+05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdcccc808a86
+fffffcccce85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94
+ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff000099
+9a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1ffffffe
+ccce8afffffc80007a05ffffff333287ff0001ccce8a8e8b9d8b9186ff0004800070
+08ff00044ccc74ffffb6ccccfb15ffffe5199af72d058995ffffff8000928c90ff00
+01666792ff000666668dff000b00018b0894068d8bff000266668dff0000999a8e08
+ffffc0fffffbe615ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533
+338c8b1efffffecccc8afffffc80007a05ffffff666688ff00039999898e8b9b8bff
+0007666788ff000519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b
+938bff0009b3338eff000633339608ff0054e667f727ff0019e666fb2805ff000166
+6683ff0003e66686908b928bff0009b3348eff000733349608ff0077b332f75c05ff
+0010e666a8ff000e666892998b8e8bff000433348cff0000cccc8f08ff000380009c
+ffffff33348c058bffffe9cccc8a7876ffffd833328c8b1efffffeccce8afffffc80
+007a05ffffff999889ff00016668888d8b0894069d8bff0008199887fffffdccce80
+8a86fffffccccc85fffffb66668308ffffa68000fb2affffe6199af72d05fffffecc
+ce94ffffff800092ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff00
+00999a8e08ff000380009cfffffe33328cffffc8ccce8a0578ffffda33328c8b1fff
+fffecccd8afffffc80007a05ffffff333287ff0001cccd8a8e8bff001200018b9186
+ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d058995ffffff80
+00928c90ff0001666792ff000666668d968b089406ff0001ffff8bff000266678dff
+000099998e080efb38f73ec1f7b0c101f844f7fe15baf75cfbc08b5cfb5ca88bacf7
+26f7888b69fb260559fbe715b9f75dfbbf8b5cfb5da88bacf727f7878b6afb27050e
+94fb56a6f732baf801a87ca912f73cda70cf13d4f793f73b159ddb9acc8bba8bc477
+aa508b6e8b4b7c83698a878b878b888b759e898e8b0813e4a28b9ba3939b0813d491
+95918f968b998b927f8b728b687e4f77330813e8815e82618b688b599e69c88bb28b
+c99addce0847fbb9a18b05a1949b8f9e8f9d8eb1919a8b088fa4058c8e898d888b08
+6a88057e84939e1f8b968d988f9b08f5f85f0591a7989bad8b089e068f8b8f8e8c90
+08909e898d058b47896764478d8b1e8989867805868d88901e9e06a49582791f8b86
+8b8589850851fb8c05515b5a726e8b618b7da58bb3088b9e8ea090a2080eaafb85a9
+f75ebaf801a879a812f73dd975ccf700ce13eaf87f9415dcf7f20591a7989bad8b08
+9e068f8b8f8e8c9008909e898d058b47896764478d8b1e8989867805868d88901e9e
+06a49582791f8b868b8589850851fb8c05515b5a726e8b618b7da68bb28b9e8ea190
+a10813d69edf9bd08bba8bbd7aa55c8b6d8b4b7c846a8a878a878b888b759e888e8b
+a28b9ba3939b0891959290958b928b8e848b7d8b6c7c4c74250813ea836681608b66
+8b599c64c98bb28bc99addce088369057c4a81518b5c8b48a060c68ba88bcb9a93ad
+8c8f8b8f8b8e8ba1788d888b748b7c73827b0885818587808b7c8b839d8baf088bb0
+94c49cd3080efb92f800a2f766add1a001ff005c199aff011eb33203ff00ef199af9
+2c15ff00088000b5ff00074ccca58b8b8c90fffffe80008d858bffffee999a84ffff
+d04ccd83ffffe599998908fffffd4ccd7905ffffff999989ff0001cccd8a8d8b08ff
+0014cccc8a05988bff0004800084fffff7800061085bfb8005fffffbb334768988ff
+ffe7cccc8808fffff7cccc8a05fffffbffff8bffffff666788ffffff99998908ffff
+fc66667905ff000000028bff002533338ca38b08a5ff0027cccd8a8b1fff00039999
+9d05ff0000cccc8ffffffd33338c898b08fffff533338c05ffffee8000ff0001999a
+fffff9b334ff00046666ff00044ccca008ff001be667f71d05ff0017b334a2ff0019
+8000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605fffffbb33476
+84fffffbb334ffffecccccfffffe4ccc08fffff4ccce8a05fffffbffff8bfffffe66
+6788ffffff99998908fffffc666779058bff002833328ca4a3ff0025ccce8a8b1eff
+0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa33328c05ffff
+ece666ff00034cccfffffab334ff0004b334ff0003e6669e08ff00194ccef71005ff
+000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080efb92f7faa2
+f771a8e0a101ff0053cccdff011bb33403ff00803333f82815fffffce6667cfffffa
+666683798b088106888bfffffe999a89ffffff66668808fffffc80007aff0000cccd
+8a05ff000000018bff002333338c9e8b089fff002dcccd8a8b1fff000133338cff00
+0380009c05ff0000999a8efffffe66668d888b0882067a8bfffffb999a93ff000319
+999a08ff00204ccdf73305ff001e199aa4ff0022e666999a8ba38bff000ce66677ff
+fff780006108ffffe44ccefb1c05fffffce6667cfffff9666683798b088106888bff
+fffe999a89ffffff66668808fffffc80007aff0000cccd8a05ff000000018bff0024
+33338c9d8b08a0ff002ccccc8a8b1fff000133348cff000380009c05ff0000999a8e
+fffffe66668d898b0881067a8bfffffb999a93ff0003199a9a08ff001d4cccf72405
+96c1ffffeae666a8648b778bffffd64cce83ffffd5e666680894b705ff000419999f
+ff0003333396ff0005cccd99ff000ab333a7ff00114cce96998b968bff000c333287
+ff0002e6667c8d81ff0001b334809a8b968bff000c199a958d95ff0004199a9fffff
+f16666a1518b086f8bffffc499997affffec80002b080efbf6f79b9ef7d1a0c9c401
+ff003c3333ff002f3333ff007c199ac703ff010b6666f97715788bfffff266677eff
+fffcb3337bfffffce6667cff000a66677e9c8bff0010ffff8bff000f999a98ff0003
+199a9aff0002cccc99fffffb199a9a758b08ffffc44ccdfb5215ffffe3b333fb1f05
+ffffed199a2effffefe666686e8b868bfffffccccd8fff0000333391fffffecccd99
+fffffb199a9a7c8b7f8bfffff5333382fffffcb3337bfffffbe66777ff001f66667e
+a68b9b8bff0015666692ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccd
+e008ff001db334f72605ff00058000a6ff00078000a68b8b8c90fffffe66668d858b
+ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff00
+01cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061080e
+fbcff801a2f765b365a012ff00634ccdf79913d0ff00f2999af8d615fffffe33338c
+05ff00058001ff001b3334ff0006e666ff0017cccc8b8b8c90fffffe66678d858b08
+13b0ffffee999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89
+ff0001cccc8a8d8b08ff0014cccd8a05ff000cffff8bff0004800084fffff7800061
+08ffffe48000fb1b05fffffc199978fffffd3333fffffb4cccffffe8999afffffeb3
+3408ffffedcccc8a05868bfffffe999a89ffffff66668808fffffc66667905ff0000
+00018bff002d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8e
+fffffd66668d898b08ffffee33348c05ffffed3333ff0001199afffff9cccdff0003
+e666ff000419999f08ff0019b333f71205ff0001999a93ff0005cccd9490900813d0
+ff0014b333a2ff0011800097928b8f8bff0004800089ff0003333487ff0004999884
+ff0007333487978b9d8bff000ccccc94ff000380009cff0003b3349dfffff8999a98
+708b086c8bffffde199a69ffffe9e66672080efbcff7fab37c9ff75fa312ff005c19
+9af79913b0ff00dacccdf85c15fffffe333482fffffb199a828686ffffeb4ccc74ff
+ffee999a7f848b878bfffffb66668dfffffccccd8ffffffb66679284907f8b798b7e
+81fffffc80007afffffc80007aff000733337da68b08aa8bff0022e666adff001619
+9aa4088d8b7d509a8b051370ff001a333496ff00194ccc91ff0028999a9308ff0002
+199a9f05fffff3333487fffff46666887e8b808bffffffb33298ff0002ccce9908ff
+0020199af73205ff000419989f8d90a38b089d06908bff000166688dff000099988e
+08ff0003ccce9effffb6e6668affffb633338cfffffc199a7805ffffff666788ff00
+02999a898d8b089d06ff001100018bff0007cccd8afffffb199973080efbc5f78e9e
+e4b3f764a301f7aeff0030999a03ff0100ccccf82115ff00256668f74c05ff000419
+989f8d90a38b089d06908bff000166688dff000099988e08ff0003e6689effffb6cc
+cc8affffb633338cfffffc199a7805ffffff666788ff0002999a898d8b089d06ff00
+1100018bff0007cccd8afffffb19997308ffffe6999afb1105fffffe333482fffffb
+199a828686ffffeb4ccc74ffffee999a7f848b878bfffffb66668dfffffccccd8fff
+fffb66679284907f8b798b7e81fffffc80007afffffc80007aff000733337da68b08
+aa8bff0022e666adff0016199aa4088d06ffffeeb33436ffffffb33371ff0014b333
+6cff000c4ccd79ff0012b333849b8ba68bff0024ccce99ff0003e6669eff00038000
+9cfffff8cccc947f8b7c8bfffff4b3347bfffff966667efffffd999a84fffffb199a
+87868b08ffffe2ffff8bfffffd3333aeff0012e666e8080efbb1f800a1f7059ee5a2
+7f9e12ff0062199aff0125800013e8ff0097b333f8f415ff001bffff8bffffffcccd
+85fffffbb3337608ffffdb999afb4705fffffd999a7ffffffdb334857d8b08fffff0
+cccd8a05898b8a8bffffff999a8908fffffc999a7af7138b05b38bff003e999a9dff
+000c9998c9ff0006e668adffffee9998a66c9008ff0023999ac90513d8ff000fb334
+a7ff0013cccc9e9d8b08ff0003b3349d05fffff933328c858b848b6a8bffffe78000
+75ffffebb3346708ffffdc66664d5c8bff000ccccdca0513e8ff000419999fff0003
+666692a18b8d8bff000133338cff0000999a8e08ff000380009cffffff66668d058b
+ffffe0cccd8a7774ffffdd33338c8b1efffffecccd8afffffc199a7805ffffff999a
+89ff0003cccd8a8d8b08ff00863333fb3a15fffffb199a73fffff180006b548b828b
+fffff733338cfffff766678d08ff00166666f702ad8b05b78bff00054ccc6afffffb
+199a73080efb08f8f4a201ff00fbb333f8f915ff000380009cffffff33338c058bff
+ffdbcccd8a7173ffffe533338c8b1efffffecccd8afffffc80007a05ffffff666688
+ff00039999898e8b9b8bff0007666788ff000519996e08ff00224ccdfb6105ff0001
+666683ff0003e66786908b938bff0009b3338eff000633339608ff0054e667f727ff
+0019e666fb2805ff0001666683ff0003e66686908b928bff0009b3348eff00073334
+9608ff0077b332f75c05ff0010e666a8ff000e666892998b8e8bff000433348cff00
+00cccc8f08ff000380009cffffff33348c058bffffe9cccc8a7876ffffd833328c8b
+1efffffeccce8afffffc80007a05ffffff999889ff00016668888d8b0894069d8bff
+0008199887fffffdccce808a86fffffccccc85fffffb66668308ffffa68000fb2aff
+ffe6199af72d05fffffeccce94ffffff800092ff0000cccc8f8d95ff000833348c9d
+8b8e8bff000266668dff0000999a8e08ff000380009cfffffe33328cffffc8ccce8a
+0578ffffda33328c8b1ffffffeccce8afffffc80007a05ffffff333287ff0001ccce
+8a8e8b9d8b9186ff000480007008ff00044ccc74ffffb6cccdfb15ffffe51999f72d
+058995ffffff8000928c90ff0001666792ff000666668d968b089406ff0001ffff8b
+ff000266678dff000099998e080efb73f782b4f7dda301ff010ee666f8fa15ff0003
+4cce9bffffff66668d058bffffd59999896e78ffffdc66678d8b1efffffd999989ff
+fffc80007a05ffffff999989ff00026666888e8ba68bff0001999afffff66668ff00
+064ccdffffe6999808ff00299999fb3d05ff000266667eff0001b3337bfffffe9999
+84fffffecccd85fffffde66786fffffb666683ffffe84ccd65ffffe680006b828b85
+8b8790fffffb3333918890fffffa999a8e828b818bffffeb333382fffffc4ccd7908
+fffffb4ccc74a881978bb78bff001eb334b1a7b7ff004a999af70dff00274cccc7ff
+00303334d1ff000bb3329dff000fccce9ea38b908bff000266668dff0000cccc8f08
+ff00034cce9bfffffe66668d058bffffe5999a897a75ffffd666668d8b1efffffe99
+9a89fffffc80007a05ffffff999889ff00026668888e8b088e06998bff000a999889
+fffffe333482ffffff666688fffffd800084fffffd33348708ffff9db332fb29ffff
+dcb334f72b058aff00041998ff0000199aff0005e668ff000066668dff0001999a93
+ff000899998eff001200018b8e8bff000466668dff0000cccc8f080efc07f8b4f744
+01ff00814ccdff009acccd03ff0111199af95d158590fffffa66668d838b088706ff
+fff3cccd8afffff8199987fffffb33348208ffffa24cccfb2605fffffecccd8affff
+ffcccd8affffffcccd8affffff333387ff0002333387ff0002666788ff0002cccc8a
+ff0002cccd8a8d8b8e8bff000333338cff000266678d08ff007e9999f70d059090ff
+00023334918c90ff0002666697fffffc666696fffff6333491080efb67f8c4f74101
+f73eff011d999a03ff01c7999af94715f71a0affff7d33329115f71b0a0efc1df86b
+d3e59c01ff008bb333ff007b999903ff00b8cccdf86b15ff001e00018bff00119999
+9dff00034ccd9bff00034ccd9bffffff8000a1628b838bfffffb999a93ff00029999
+98ff0004b333a2ff001c999ab0ff002bcccc9408fffffe80009c05ffffb8666783ff
+ffd34ccd4dfffff8b33367fffff8b33367ff000e666766b18b080efc16f86d9ce5d3
+01ff00853333ff007b999903ff00d3b333f92015ffffe1ffff8bffffee4ccd79ffff
+fcb3337bfffffcb3337bff0000999a75b48b938bff00044ccd83fffffd66667effff
+fb4ccd74ffffe3800066ffffd433338208ff000180007a05ff0047999993ff002cb3
+33c9ff00074cccafff00074cceaffffff19999b0658b080efc1df8749ce1d701ff00
+923333ff0072e66703ff00dd199af92715658bffffe2333365fffff8e66668fffffa
+b33371ffffff999a3fff005a33338708ff000766679c05ffffd7999993fffff5999a
+b0ff0004b333a2ff0002333396ff0005666792928bb48b95a4ff000380009cff0003
+4ccc9bfffff8b3349d678b080efbd2f82fb6f72eb601ff008bcccdff00a9333303f7
+c9f8a215ff000f4cccd6ffffd9199abd488b828bffffec666788fffff699998908ff
+0000b3346205ff000633338cff001066668d918bb68bff001680016bfffff5cccc59
+8055ffffe36666795c8b828bfffff733348cfffff899998e08fffff2999a6205ff00
+06666788ff00086667889a8bc68bff0040b332b1ff000fb334d8080efbd2f82fb6f7
+2eb601ff009b199af8ac15fffff0b33340ff0022cccd59ce8b948bff0013999a8eff
+000966668d08ffffff6666b405fffff9cccc8affffef999a89858b608bffffe88000
+abff000a3334bd96c1ff001d99999dff002f00018b948bff0008cccc8aff00076666
+8808ff000c4cceb405fffffa99988efffff6999a8e7d8b508bffffc3666765fffff0
+4ccd3e080efb96f930a401ff00ba3333ff0027999a03ff00ba3333f90a15fffffcb3
+327b9a86928b938bff000a199a90ff0002cccd94ff0005e6669eff000e3333a5b88b
+a68bff0008b33476fffffab33271fffffc199a78ffffee33347dffffed66667effff
+e8b3347bffffe8666679fffff9e6666d08fffff8cccd68ff0026ffff8bff0005b334
+a705ff00058000a6ff001433349bff001619989aff0015ccce99ff0014199a9aff00
+054ccca5ff0009999abaffffe1e666a85e8b4b8bffffd94ccd6afffff9e6666d080e
+fb96f930a401ff01408000ff002a999a03ff016b199af90a15ff0005e666a872ad4b
+8b5e8bffffd6199a6efffff666665cfffffab33371ff000de6677cff001033337dff
+000fe6667cff000dcccd7bfffffa80007008fffffa4ccd6fff0026ffff8bff000733
+34ae05ff0006199aa9ffffef999a9dffffef4ccc9bfffff2999a98fffff3cccc99ff
+0003e6679eff00054ccda5ff00114ccca0a68bb88bff0003b33471fffffde66677ff
+ffff333482ff0008333287938b928bff0010b3348fff000380009c080e60f7f3f7bb
+01ff01094cccf88615f7a0f2ff0009199cb8fffeb66664fb12fffff7666661ff0116
+3334fb13ff00093334b8050e60f7f3f7bb01ff01c78000f88715fffef4199a24ffff
+f6cccc5eff0149999af712ff00089998b5fffee9cccef713fffff6e6675e050e60f7
+eef7c401ff00b66666f7bb03ff017b999af8e515ff0034ccccfb8bb88bffffbfccce
+f7c4618bffff433332fbc4b88b050e60f7eef7c401ff00f33333f7bb03f7e9f82715
+ffffcb3334f78bffffd2ffff8bff00403333fbc4b58bff00bccccef7c45e8b050efb
+68bef79103ff0152e666f93015e60a0efb68ff00fe6666f89a15f7040a0efc43f8ae
+f74c01ff0096b333ff0054cccd03ff00eb8000f95f158490fffffa66668d848b858b
+7d86fffff4cccd85fffffbb33371fffff7999a62fffffb199a73fffffbb333768468
+fffffae66677ff0006333387ff0006999a89928b918bff000e999a8eff000a666692
+08ff0004e666a8ff0008199ab3ff0004b333a2ff0004b333a2ff0007199aaeff0004
+80009c080efb1cf8aeb701ff00b08000ff011c199a03ff01ae8000f8ae15f30a0efb
+b3f8b8f73401ff009e199aff00b5999a03f7a7f95815ffff9c4ccdfb0b05fffff533
+34fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85
+928b928bff0008cccd8fff001219999a08ff0089199af701ffffff33349605ffffed
+8000a1ffffe6b3328cfffff9999a8b868bfffff9b3348afffffccccc8a080efbb3f8
+b7f73501ff00d88000ff0084e66603f7c5f95815dd0a0efbf8fb80f74501ff001633
+33ff0057999a03ff004c999afb7815ff00213334f73705fffff4ccce8ffffff76666
+8d828b848bfffff8999a89fffff533328708ffffde6666fb3905ff000b333287ff00
+07999a89938b928bff000866668dff000c333491080efb3ffb17b701ff00326666ff
+00f3199a03ff01084cccfb1715988bff000dccce9dff0002666697ff0001666692ff
+fffd666692828b08ffff33000106fffff400018bfffff27fff7afffffd999a7fffff
+fe999a84ff00024ccc83938b080efbc4fb6ff72101ff000bcccdff00a4800003ff00
+0bcccdfb0b158981ff007a19993d05ff000de667fffff73333ff00079999fffffccc
+cd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cccd
+9408ffffb2e666f205ffffff33328cfffffb33348c878b6e8bffffe4666674fffff1
+4ccd79080efbb8fb6af72601ff00044ccdff00b9666603ff000f8000fb6a15908bff
+000733338cff0008cccd8f08ff008e6666c305ff0003999a8eff0005999a98ff0001
+999993ff0005b333a7859e859508fffff6cccd8ffb212405fffff1cccc80fffff319
+9a82fffffe333382ffffff666688fffffecccd80988b080efbf4ff002b8000ff00d5
+e66603ff00766666f82915ff002c6666fb0dff005e9999f70d05ffff2a199afc0415
+f71f8bffffd2999af70d050efbf9f7aff70d01ff00763333ff008b000103ff007633
+33f82815ff002c6667fb0dff005e999af70d050efc05fb77abf70aac01fffffc6666
+ff0086e66703ff00614ccdfb1c15fffff9199a69ffffe0e66672ffffdf00018b868b
+fffffb33338cfffffb33338c08fffff0b3336c05ff0007999a89ff0007cccd8a938b
+bf8bff00314ccdb4ff000a3333bdff000a6666beffffdf4ccdb4578b7f8bfffff399
+9a89fffff533338708ff0005b3336c05ff0007999a8eff000733328c938bff002400
+018bff00114ccd6ffffff9b3336c080efc05fb6cabf70aac01ff0008999aff00904c
+cc03ff0008999afb1115fffff5999958ff0021e66763bd8b948bff000833338cff00
+0766668d08fffffe4ccdaa05fffffa999a89868b858b698bffffec4ccca5ff0006b3
+34acff00064cccaaff001eb334a7ad8b948bff0006cccc8aff000666678808ff0012
+1999a9058190fffff566678d7e8b588bffffce800061fffff5cccd59080efbc2fb78
+b701fffffd8000ff00b3199a03ff0001999afb7815f73c068f90ff00034ccc91ff00
+01666792ff0001666692ffffffe667948895084d8bff0015e666f70005fffffb6666
+92fffff8b3348e838b848bfffff74ccc88fffff933348708ffffe98000fb034a8b05
+fffffb999984fffffcb33385fffffe999a84fffffe999a84ff00014ccc83ff000433
+3482080efbc2fb6376f70ab701ff0017999aff00b3199903ff00c6999a4915fb3c06
+8786fffffcb33385fffffe999984fffffe999a84ff0000199a828e8108c98b75fb00
+05ff0004999984ff0007666788938b928bff000899998eff0006cccd8f08ff001699
+9af703cc8b05ff0004666692ff00034ccd91ff0001666692ff0001666792fffffeb3
+3393fffffbcccd94080efbb3fb29b701ff000fb333ff00c2b33303ff00758000fb65
+15ff000c3333c7ce8b05ff0007cccc94ff0004800092ff0001666692ff0001666792
+fffffe333391fffffc999a9308478bff000d1999cb05fffff8cccc8ffffffa999a8e
+858b848bfffff84ccc88fffff4999a8408fffff3999a4e488b05fffff7999984ffff
+fc999a84fffffe666683fffffe999a84ff0000800084ff000266668308d18bfffff2
+cccd4a05ff0007333387ff0005800089928b928bff0007b3338eff000a999a93080e
+fbb3fb11b701ff000f999aff00c2800003ff00ce80003a15fb4706fffff7999a84ff
+fffb800084fffffe666683fffffe999a84ff0001999984ff000266678308f74906ff
+0007cccc94ff0004800092ff0001333491ff0001999993fffffe333391fffffc999a
+93080efb88f8a5c401ff009c199aff001d666603ff00b98000f93815f7690a0efba2
+f8e4eb01ff00e43333ff0060000103ff00e43333f91415f70e0a0efb5cf8e0a6f704
+a601ff00e68000f74203ff0148e666f96b15f7240affff9d999a5315f7250a0efb77
+fb5cb101ff00266666ff00c4333403ff00ea999afb1b15fffffd666692fffffacccd
+8f828bffffe5800075ffffecb3337b6e8b668bfffff74ccda0ff00054ccda5ff0009
+6666b9ff00286666abff00486667be08fffff580009c05ffffa600015affffb57fff
+57fffff4999a538055ff0021e66677ff003200018bb48bff002c19999fff00263334
+b8080efba1f8d2b78fb901ff007acccdff01274ccc03ff014eb334f8fe15f70c0a0e
+fb67ff01c7999af94715f71a0affff7d33329115f71b0a0efb87f7b2bef7187701ff
+00748000ff00e7666603ff00748000f81115ff00064ccd6505ff001d199a9aff0034
+3334a0a690fffff9333382fffff9b3337bfffffd33337dfffff6cccd5eff00133333
+7d9b8bff001a00018bff0018666697ff00384cccaf08fffff9199a9f05ffffe7999a
+7f7f86758b788bfffffe33329bff00048000a1ff00074cceafff00138000a1ff0016
+199aa408fffff433329605ffffca4ccd65ffffbb4ccd6fffffbf800075080efb5ef8
+8ff76201ff009f199aff0121e66603ff015c199af8f615ff0064e666d405fffffdcc
+cc948b8bfffffc999a93fffffc999a93ff0000199a8b879008ffff834ccc43ffff9d
+b334d3058586ffffffe6668bfffff9333382fffff83333828b8bfffffb999a8408ff
+0048e66641ffff9a33344205ff0003666683ffffffe6668bff0003666783ff000299
+99848b8bff0004cccd8508ff007d6667d2ff0060999a4405ff00083332918b8bff00
+05666692ff0006666892ff000019988bff0004ccce94080efb94f7faa3f7a9a301ff
+010a999ab303ff00dbcccdf7fa15c58bff00198000b5ff00034cce9bff0001cccc94
+ff00056666a5ffffe3ccceca08ff0003333291ff00656668f71105ff0009333296ff
+000eb3348e9a8b08ff00048000a1ffffff66668d058bffffdf999a897a1e7c8bffff
+e933328cffffef33348c08fffffe999a89fffffb80007505a08bff000cb3328a8981
+ffffff999a89fffffe999a89fffffe33348708ffffb0e66628ffffde4cccef05ffff
+fecccd8ffffffe999a8eff000099998e8c90ff0007b3348ea18b08ff00048000a1ff
+ffff66668d05ffffe2999a89708b7c8b798bfffff433338cfffff133338c08fffffe
+999a89fffffc19997805ffffff6666888d8b8d8b9b8b9d86ff0004b3337b08ff002e
+b333fb1fffffd4e6665905fffff6999a7ffffff24ccd79fffffcb3337bfffffa199a
+6eff0015b3337bae8b08fffff1cccdc015ff0002666697ff00118000a1ff00194ccd
+aa08ff000366668305ff000e19986eff0000199a7dfffffe333482fffffc199a78ff
+fff1ffff7c778b7a8b8195ff0003e6679e080efc24f800a2f7cea001ff005c199aff
+00a2e66603ff00bb6666f91f155bfb8005fffffbb33476fffffeb33388ffffe71999
+8808fffff7cccc8a05fffffbe666ffffff8000ffffff8000fffffd8000ffffff9999
+8908fffffc66667905ff000000028bff002566668cff0017cccd8b08ff00189999ff
+002633348a8b1fff000399999d05ff0000cccc8ffffffd199aff0000ccccfffffe19
+99ff0000333408fffff833338c05ffffef199aff00023334fffff93333ff00044ccc
+ff00043333ff0014800008ff0032b334f78d05ff00088000b5ff00076666a58b8b8c
+90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908fffffd4ccd79
+05ffffff999989ff0001cccd8a8d8b08ff0014cccc8a05988bff0004800084fffff7
+800061080efbc8f7faa4f779a401ff00793333a1ff00a38001ff0017333203ff0079
+3333f85e15fffffc7fff6bfffffb80006bfffffb199a73ff000633338cff000a3333
+8c8e8b9f8bff0013199a7da98bad8bff00454ccd9bff000c6666c8ff000a3334bdff
+ffd5cccc9effffd14ccda0ffffe0cccd99fffff7e66694ff0004e666a308ff000580
+00a6ff0017999a98a48b9e8bab81ff000233345108ff001733328cff00063334d605
+fffff6666692ffffdb199a956c8b5a8bffffcc66666bfffff7800061fffff6cccd5e
+ff001be6667bff002a199a78ff002db333768f77fffffbb33376fffffa800070ffff
+e5b33380738b748bffffef800097fffffa33349108fffff34ccc9bffffff8000a6ff
+0001cccd99080efb92f800a3f772a101ff005b4ccdf81015fffffd66667eff000066
+668805ff001233358cff001233338ca28b9b8b9b8bff0013cccd8a08ff000199998e
+ff000266679705ff0001000190ffffff99998e838b808bfffffa199a8b8c90ff0000
+999a8eff0002cccc8fff00053334918b8bff00231999aeff00144ccda0ff00036666
+83a65a8b8b8d86ff0001666688ffffff666888088a86fffff8b3328a848b828bffff
+fccccd85fffffecccd85088981ff0000999a8905ff000e33328cff002233348ca28b
+9e8b9d8bff0012999a8908ff0001999a8eff000299989805ff0000ccce8fffffffcc
+cc8f7f8b758bfffff6e66699fffff8ccce9908ffffd28000e1ff0047b332d805ff00
+194ccea59190a08b978bff000066668dff000133349108ff00024ccc96ffffff999a
+8e05ffffeacccc8afffff1ccce8a778b7a8bfffff033328cffffee33348c08fffffe
+999a89fffffd4ccc7e05fffffecccc85ff0003ccce8a918b988bff00046666888a86
+ffffff999a89fffffe666688fffffc6666888b8bfffff6e66681ffffcc999a5308ff
+ffe53334c205fffffe666692fffffd8000928c90ff0000cccd8fff0003cccd8f928b
+948bff000566668d8c9008ff0002800097ffffff999a8e05ffffe7cccc8a768b778b
+738b7b8bffffec33348c08fffffe999989fffffd4ccd7e058a86ff0001999a89978b
+978bff00094ccc83ff0006999a7f08ff003280002605fffffc666688ffffb54ccd43
+8b8bffffe74ccd74fffff8666688788b848bfffffbcccd8afffffe999a84080efbce
+f800a2f7dea101ff0107b334f81715ffffe8ffff8bff0001cccd94ff0003b3339d08
+ff000e1999d005ff00096668b9ffffec9999a7ffffed1999a4fffff04ccda0fffff1
+8000a1ff00068000abff0006199aa9ff00161999a9b08ba98bff001680007afffffa
+e66672ffffff333487fffffe333487fffffe666688ffffff666688fffffe666688ff
+ffff33348708fffffc199a78ff0010333287958b978b9e95ff000380009cff000a99
+9abfffffcbe666a8568b4c8bffffd580006bfffff5cccd59fffff6999a5d9e77ff00
+11e66677ff00114ccd79ff00114ccd79fffff819996408ffffefb3343b05fffffc4c
+cc798881ffffe8cccd8a088006fffffbffff8bfffffe999a89ffffff66668808ffff
+fc666779058bff002733338ca4a4ff0026cccd8a8b1eff0003999a9d05ff0000cccc
+8ffffffd33348c898b080efb10a076f8e1c301ff01f73334f91915fbee8bfffff499
+9a53f7af8bffff883334fce1ca8b050efb10a076f89bc3d17701ff01f73334f91915
+4c8bfffff1cccc45fbaf8bfffff4999a53f7af8bffff966666fc9bca8b050efb10a0
+76f7cec3f7a77701ff01f73334f919154c8bffffc81998fba7fbaf8bfffff4999a53
+f7af8bffffc0199afbceca8b050efb10a076d0c3f89c7701ff01f73334f919154c8b
+ffff963332fc9cfbaf8bfffff4999a53f7af8b7d46ca8b050efb108bc3f8e17701ff
+01f73334f919154c8bffff883332fce1fbaf8bfffff4999a53f7ee8b050efb58d5b8
+01ff0041199aff0112333203ff0041199ad515f79d8bff00093332b8ffff29e6678b
+ff0032b333f78d588b050efb51f762b901ff003c6666ff0138e66603ff00706666be
+15ff001f8000f72ff7708bff00096666b9ffff2400018bff001eb333f72b578bffff
+b86666fbf4050efb8dfb15f79401ff0026ccccf7ac03ff0026ccccf71315d6fb94aa
+8bff00adfffff7945e8bffff830001fb4a52f74a050e40f8dbb6e8b701ff02589998
+f8db15ff0008ccd0b6fffe22fffe8bfffff733346005ff01f8b334f71c15ff0008e6
+68b7fc718bfffff7199a5f050efb4bf8579fdbdd01ff0095cccdff011b999803ff00
+e6cccdf90d15ffffdd00018bffffeae66672fffffcb3337bfffffc80007aff000533
+3473b38bff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffff
+e566666bffffc4999a7ffffffe999984ffffff333482ff0003333387b290ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b6666a1ff0004e666
+a3ff00074cceaffffff09998b0ffffd900018b08ff009b66678d15688b7672fffffc
+b3327bfffffc80007aff0005199a73b38bff001833348bff00063332ff0006999887
+ffffec6668fffffb4cce74ffffe566666bffffc4999a7ffffffe999884ffffff3334
+82ff0003333487b290ff001f8000ff0010e666ff00153332ff0015199a08ff001419
+9a9fff000b8000a1ff0004e666a3ff00074cceaffffff08000b0648b080efbeeffff
+1d8000f75501ff00033333ff00c3b33303ff004bb333ffff61b33315ffffdce666ff
+007ccccdffffda999a8bbafb55ff001933338bff007b8000f755ffffda999a8b050e
+fbeeffff1d8000f75501ffffdbe666ff00c3b33403ff00573333ffff9a4ccd15aeff
+ff833333ff002566678bffffd31999f755ffffe6b3348bffff828000fb55ff002566
+668b050efbabffff1c6666ff00c3333401fffff6cccdff00fe999903ff003e4cccfb
+1615ff00af8000ff003c4ccdff00079999ff00254cccffff06e667ffffac3334ffff
+fa8000ffffe46666ff00d6e666ffffac3333ff0007999aff00254ccd050efbb5ffff
+1c6666ff00c3333401ffffe5b333ff00fe666703ff009ccccdfb1615ffff508000ff
+ffc3b333fffff86666ffffdab333ff00f9199aff0053cccdff00054ccdff001a8000
+ffff294cccff0054e666fffff86666ffffdab334050efbdbfb5ca6f704a601ff0006
+3333f74203ff0068999a4e15ff001e00028bff000ee66672fffff9b3336cfffffa4c
+cd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b333a7ff00061999a9
+ff00184ccea5aa8b08ffff9d99995315fffff699995dff0021800066b98bbb8bff00
+2eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d8bffffcf800066ffff
+f699995d080efc08f785f74401ff006b8000ff0045800003ff009ccccdf83515ffff
+e080018b7cffffe9ccccfffffd3333fffff233348a86ffffffcccd858f8608ff004d
+4ccdfb0d05ff0001999989ff0001cccd8a8e8bff000b33338b90ff000a6666ff0000
+8000ff0002999aff000033338cff000066678dffffff4ccd8e08ffffde6666f72305
+fffffdcccd948490808b080efb84f787f74201ff00ef8000ff0045800003ff009799
+9af82f15ffffe899998bffffedb333ffffede666fffffc6667ffffee199afffffecc
+cd85ff0000800084ff0003cccc8508ff005b999afb0205ff0001999a89ff0001cccc
+8a8e8bff0002999a8bff000b4ccdff00044ccd8dff0009b333ff000033338cff0000
+66668dffffff33348c08ffffce4cccf71f05fffffccccd94fffff966678d7f8b08ff
+008933329115ffffe080008bfffff10001ffffe9ccccfffffd3333fffff233348a86
+ffffffcccd858f8608ff004d4ccdfb0d05ff0001999a89ff0001cccc8a8e8bff000b
+33348b90ff000a6666ff00008000ff0002999aff000033328cff000066668dffffff
+4cce8e08ffffde6666f72305fffffdcccc948490808b080efb84f787f74201ff0051
+b333ff011d999803ff0150999af82f157f8bfffff8999a89fffff933328208ffff95
+b334fb1f05fffffecccc8affffff999a89ffffffcccd8a89fffff64ccdff00098000
+fffffbb333ff000299998b8e8bff000233348cff000266668d08ff00886666f70205
+ff0006333491ff0003800092ff0001333291ff0003999aff0011e666fffff5199aff
+0012199affffe8999a8b08ffff7933339115fffff500018b8286fffffa33338208ff
+ffa43333fb2305fffffe199988ffffff999989ffffffcccd8affffff8000fffffd66
+66ff0000999afffff5999aff000b33338b8e8bff000233338cff000266678d08ff00
+7eb334f70d05ff0006000190ff00023333918c90ff0002cccdff000dcccc85ff0016
+3334ffffe080008b080efb87fb0eb78fb901fffffc3333ff01274ccc03ff00d0199a
+3d15788bfffff1199995fffff2666797ffffeecccc99ffffece667996d8bffffd4ff
+ff8bffffe2e6676d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933349105ffffe97fff61ffffefe66781758b080efbd8f7ddf5f731f501ff008d
+b333ff009f800103ff00c33333f91915fffffa19996eff0013199973a88ba88bff00
+1ce666a3ff0005e668a8ff0005e666a8ffffece666a36e8b6e8bffffe3199a73ffff
+fa19996e08ffffca8000fb9b15fffffa19996eff0013199973a88ba88bff001ce667
+a3ff0005e666a8ff0005e667a8ffffece666a36e8b6e8bffffe3199a73fffffa1999
+6e080efbedf92db401ff00893333ff00b24ccd03ff00893333f8a315ff0003333282
+ff0008333487908b918bff000a33338cff000a99999308ff001ce667f722ff0059ff
+ff8b059690ff00043334968c908c90fffffc800092fffff3999a9308fb088bfffff2
+99997f050efbedf92db401ff00a9999aff0093999a03ff011b3334f8a315adf73bff
+fff7666697fb088b05fffff0666683fffff9999a848a868a86ffffffb33380948608
+ff0059ffff8bffffe3199afb2205ff0007666783ff0009cccd8a918b908bff0009cc
+cc8fff0006ccce94080efbed99b401ff00234cccff0093999903ff00454ccdf75515
+69fb3bff000880007ff7088b05ff000f999a93ff00068000928c908c90ff00004ccd
+96829008318bff001ce666f72205fffff8999b93fffff633338c858b868bfffff633
+3487fffff9333382080efbed99b401ff0024e666ff00b2666603ff00d74ccdf75515
+fffffcccce94fffff7cccc8f868b858bfffff5cccd8afffff566678308ffffe31999
+fb22318b05fffff4ffff86fffffbb333808a868a86ff0003800084ff000c66668308
+f7088bff000d800097050efb67fb0bf70bfb0bb712ff000a4ccdff01344cce1360f7
+a68115fffff2b3344affff35ffff8bff000de666cf05fffffa333591fffff999998e
+858b848bfffff8333487fffff466668308ffffee4ccd340513a0fffffd33347dff00
+024ccd839f8b081360ff00eaffff069b8bff0011b33498ff000233349608ff0011e6
+66e30513a0fffff9999a8efffff9cccc8f838b08848bfffff8666688fffff6999a84
+080efb85fb0bb7d87701ff000a4ccdff0104800003ff010ecccc4015ffffef199aff
+0007e666ffff3ccccdfffff8199a8b8b08ff000de666cf05fffffa333591fffff999
+998e858b848bfffff8333487fffff466668308ffffee4ccd3405fffffd33347dff00
+024ccd839f8b08f76106ff001000018bff0011b33398ff0002333496ff0001999893
+fffffe8000978b8b080efb1b82a901ff01904ccca015fbb706ff000a000195ff0022
+4ccda5ff00178000b0086a06ffffeeb3337bffffcd80005cffffca4ccd7908fffffd
+cccd8005ff003580006bff0016b3347bff000be6666808ad06fffff78000abffffef
+4ccda0fffff1e6669e08f7b7060e7ff95815e00a0e83f95815ffff9c4ccdfb0b05ff
+fff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005
+cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffffff4ccd9605
+ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3338afffffccccd8a080e
+fb9ff79103ff001bcccdf94d155906ffffd9999a5dffffd14ccd60ffffd3e6676308
+ff001119997d05ff002b7fffa6ff0025199aa4ff002cb333b1ff001ab33367ff001b
+e66772ff002119996e08ff0017e6669905ffffe4199bb3ffffe48000b5ffffec999a
+ba080ef8d2b78fb901ffff55cccdff01274ccc03ff0029b333f8fe15ffffecffff8b
+fffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d
+715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233
+337dff001280007fa18bb98bff00231999a9ff00183334c708ffffe933349105ffff
+e9800161ffffefe66681758b080ef8aeb701ffff108000ff011c199a03ff000e8000
+f8ae15988bff000eb3339dff0002666797ff0001333291fffffd999a93818b08fb89
+06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080ef8edb7
+01ff00534ccdf8ed15ff000d00018bff000db3339dff0002666697ff0001333491ff
+fffd999993828b08fbe906fffff4ffff8bfffff180017afffffd99987ffffffe999a
+84ff0002666683948b080ef8a5c401fbbca6f76ca603ffff7c8000f93815ffffe299
+9a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe7666697
+05ffffea333351ffffcb80006bffffcc00018bffffc9ffff8bffffdc8000b0ffffff
+cccdc0080ef8c0eb0124eb0324f8f015b70a0ef8a3e701fb70e7cfe703fb70f8d115
+e20af73416e20a0ef96276c4a601ffffa94ccdff002fcccc03ff003b199af96715ff
+000380009cfffff84cccb4548b618bffffd7e66768fffffb800075fffffd99997fff
+0004e6677c9e8b948bff000f199995ff0002333496ff0001999a93fffffe333291ff
+ffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff00063332919e8b
+a08b9181fffffb4ccd74fffffd999a7ffffff880007ffffff599997ffffff180007a
+ffffee800075fffff8199a6908a706ff00074ccda5ff000d66669cff00144ccd9bff
+00134ccc9bff001233349bff0004199a9f080ef8cea6f704a601ffff77e666f74203
+ffffda3334f95915ff001dffff8b9a72fffff9b3336cfffffa4ccd6fffffe74ccd6f
+6c8b6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00183333a5ff001f00018b
+08ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff000933
+33b8ff0009999abaffffde3333afffffd200018bffffd1ffff8bffffcf999a66ffff
+f699995d080eff0065999af94715ff0003ccceff00129998fffff2b334ff00126668
+768b7f8bfffff8666688fffff933338208ffff95b333fb1f05fffffeccce8affffff
+999989ffffffcccd8afffffe666683ff0007e66686908b8d8b8d8bff000266678d08
+ff00886666f70205ff0007333291ff0002800092ff000133349108ffff7d33339115
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+677e08ffffa24ccdfb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023333918c90080effff876666f8a915bd06ff00266665b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800070ffffd8e66672ffffd34ccd65ffffe54c
+cdafffffe4199aa4ffffdee666a808ffffe966667e05ff001b4ccd65ff001bcccd5e
+ff001366665c080ef8b8f73601ffffbbb333ff00544ccd039bf953158490fffff880
+008d848b858bffffefe66686fffff4ccce85fffffbb33271fffffa199a6efffffb19
+9a73fffffbb333768672fffffae66677ff0006333387ff0008999a89928b918bff00
+10999a8eff000a66669208ff0004e666a8ff0006199aa9ff0004b333a2ff0004b333
+a2ff0004999aa2ff000480009c080ef8aff74801ffff2ee666ff00b9666703ffffc3
+b334f8af15ff0024999af7485f8bffffdb6666fb4805ffffc433328c15ff00246667
+f7475e8bffffdb9999fb47050effff94cccdf98315ffffe8999a8bffffedb334ffff
+ede668fffffc6666ffffee1998fffffecccd85ff0000800084ff0003cccd8508ff00
+5b9999fb0205ff0001999989ff0001cccd8a8e8bff0002999a8bff000b4cccff0004
+4ccc8dff0009b334ff000033348cff000066668dffffff33338c08ffffce4ccdf71f
+05fffffccccc94fffff966678d7f8b08ff008933339115ffffe080008b7cffffe9cc
+ccfffffd3333fffff233348a86ffffffb333858f8608ff004d6666fb0d05ff000199
+9a89ff0001cccd8a8e8bff000b33338b90ff000a6668ff00008000ff00029998ff00
+0033348cff000066668dffffff4ccd8e08ffffde6666f72305fffffdcccc94849080
+8b080ef8a5c4cfe601fc16a6cae5caa603ffff663333f94f15fffffae666729b77a4
+8ba48ba39fff0005199aa4ff00051999a4fffff04ccda0728b728bffffe7b33376ff
+fffae6667208ffffbc4ccd7415ffffe2999a7f05fffffcb33336ff0028cccd59d18b
+c68bd5bcff001d8000e108ffffe766669705ffffea333351ffffcb80006b578b558b
+ffffdc8000b0ffffffcccdc0080ef8e0c401ff00014ccdff001d666603ff00014ccd
+f88615ff001d66669705ff00034ccce0ffffd73333bd458b508bffffb6199a5affff
+e280003508ff001880007f05ff0015cccec5ff00348000abbf8bc18bff0023800066
+ff0000333356080ef868dddb9f01ffffd0199aff0080333403ffffff3333f86815ff
+0022ffff8bff00151999a4ff00034cce9bff000380009cfffffacccca3638bffffe7
+cccd8bfffff9cccdfffff966688fff00139998ff0004b333a2ff001a999aabff003b
+666697ff0001666792ff0000e66694fffffccccd8fffffd8ffff86ffffe06667ffff
+ef1998ffffeacccdffffeae66808ffffebe66677fffff4999a75fffffb199a73ffff
+f8b33367ff000f666766ff0026ffff8b080ef86a9fdbdd01ffffe0999aff00803333
+03ff0031b333f92015f76a0a0ef86f9fdbdd01fffff5cccdff0077800003ff0042b3
+33f92515ffffd8ffff8bffffe1666766fffff8b33367fffffb199973ff0002999a75
+ff000be66677ff000c999affffeae666ff0018999affffef199ab086ff0004cccc8f
+ff0002e66794ff0001666692ffffc9666797fffff28000abff0004b333a28fff0013
+9998ff00038000fffff96668ff001833338b08b38bff000ecccda3ff000380009cff
+00034ccd9bfffff51999a4688b080ef85e9fdbdd01ffffd63334ff0080333303ff00
+273333f91415ffffdcffff8b7672fffffcb3337bfffffc80007aff0005199a73b38b
+ff001833338bff00063333ff0006999887ffffec6668fffffb4ccd74ffffe566676b
+ffffc4999a7ffffffe999984ffffff333382ff0003333487ff0026ffff90ff001f80
+00ff0010e666ff00153333ff0015199a08ff0014199a9fff000b8000a1ff0004e666
+a3ff00074ccdaffffff08000b0648b080efb6ff72101fffe94ccccff00a4800103ff
+fe94ccccfb0b158981ff007a199a3d05ff000de667fffff73333ff00079999fffffc
+cccd918b928bff0008b33493ff0001333391ff0001666692fffffe4ccd91fffff9cc
+cd9408ffffb2e667f205ffffff33328cfffffb33348c878b6e8bffffe4666674ffff
+f14ccc79080efb6af72601fffea14cccff00b9666703fffeac8000fb6a15908bff00
+0733348cff0008cccc8f08ff008e6666c305ff0003999a8eff0005999a98ff000199
+9993ff0005b333a7859e859508fffff6cccd8fffff7300012405fffff1cccc80ffff
+f3199a82fffffe333282ffffff666888fffffecccc80988b080efb6d76d1b601fffe
+9accccff00b0ccce03ffff296666fb7915ff00223334f73c05fffffb99998efffffa
+66678d848b848bfffff6999989808608fffff366674dfb008b05fffff7cccc85ffff
+fb4cce83fffffe666683fffffe999a84ff00014ccc83ff0002cccc8508ff006f0001
+8bfffff2cccd4a05ff0006666688ff0005999a89928b928bff000899998eff000a33
+3391080efb6c76d0b601fffe86ccccff00b0ccce03fbeb4b15ffffddccccfb3c05ff
+0004666888ff0005999889928b928bff000966688d969008ff000c9998c9ff006c00
+018b05ff0008333491ff0004b33393ff0001999a93ff0001666692fffffeb33393ff
+fffd33349108fb038bff000d3332cc05fffff9999a8efffffa66668d848b848bffff
+f7666888fffff5cccc85080efc04f8bfb401ff006f3333ff00b1999903ff0102e666
+f84915ff001de666f727fffff7800097ffff6e00018b05fffff0666783fffff98000
+848a868a86ffffffb33380948608f70c8bffffe73334fb0e05ff0007666683ff0009
+cccd8a918b908bff0009cccd8fff0006cccc94080ef7e0a5c7e001ffff7a8000ff00
+7fe66603fffffa6666f83315ff0009999abaffffee4ccdb4658b6f8b767cfffffb19
+9973fffffbe66777ff0008800075ff0022333387ff000dcccd8aff000b666783ffff
+fd66667efffff9199a69ffffd6199987808b08738bfffffab33371a38b05c28bff00
+268000abff000a6666be080efb88b2f704b401fffea4b334ff00817fff03fffeccb3
+34fb2915ff0005e666a8ff00158000a6b78b8d8bff0002cccc8a8e8b08ff000a4ccd
+b405fffffd33328c878b878b548bffffcb800061fffff4ccce54fffff5333256ff00
+20800061c08b908b908bff000533348c08ff0008e666b205898bfffffccccd8affff
+fcffff8b5e8bfffff4199aa4ff00064cceaa080efb78b701fffe828000ff00b3199a
+03fffe86999afb7815f73c068f90ff00034ccc91ff0001666792ff0001666692ffff
+ffe667948895084d8bff0015e666f70005fffffb666692fffff8b3348e838b848bff
+fff74ccc88fffff933348708ffffe98000fb034a8b05fffffb999a84fffffcb33285
+fffffe999a84fffffe999a84ff00014ccc83ff0004333482080efb6376f70ab701ff
+fe9c999aff00b3199903ffff4b999a4915fb3c068786fffffcb33285fffffe999a84
+fffffe999a84ff0000199a828e8108c98b75fb0005ff0004999a84ff000766668893
+8b928bff0008999a8eff0006cccc8f08ff0016999af703cc8b05ff0004666692ff00
+034ccd91ff0001666692ff0001666792fffffeb33393fffffbcccd94080efb6d76d2
+b601fc0dff00c2800003fffeec999afb7815ff000c6666c8ce8b05ff0007cccd94ff
+0004800092ff0001333391ff0001666692fffffe800092fffffc66679208478b98cb
+05fffff9000190fffffa66668dfffff900018b858bfffff8666688fffff4cccc8508
+fffff366664d488b05fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408d18bfffff2cccc4a05ff0006333487ff0006999a8992
+8b918bff0008999a8eff000a666692080efb3bb601fc0dff00c2800003ffff45cccd
+fb1015ffff4cffff06fffff7ccce85fffffb4ccc83fffffe999a84fffffe999a84ff
+00014ccc83ff0002999a8408f74906ff0007cccd94ff0004800092ff0001333391ff
+0001666692fffffe800092fffffc666792080efb81af01fffee4199ac303ffff3f19
+9afb5d15728bfffff1e666a3ff0004199a9fff0003b3339dfffff19999987d8b7b8b
+fffff34cce7efffffd66667efffff7b33262ff002b00015fc48bc98bff001a6666be
+ff000dcccdcf08ff001acccdf718788b778bffffea4ccc20057f50785a658b080efb
+81af01ff0014199ac503ffffcfcccdfb8115ff003600018bff003f9999b5ff0008b3
+34b6ff0002999998fffff8b333987b8b7d8bffffec66677efffffc4ccd79fffffbe6
+6677ffffe8199a73728b658bff0000ccccbbff000c3334c708ff00154ccdf4778b78
+8bffffe5999afb1605fffff2333347ff0005999a58c98b080efb3bf70001fbb9f700
+03fbb9fb0515fffff9b3346cff00124ccc74aa8baa8bff001bb333a2ff00064ccdaa
+ff00064ccdaaffffedb333a26c8b6c8bffffe44ccc74fffff9b3346c080efb3bf700
+01fc1df700e5f70003fb57fb0515fffff9b3336cff00124ccd74aa8baa8bff001bb3
+33a2ff00064ccdaaff00064ccdaaffffedb333a26c8b6c8bffffe44ccd74fffff9b3
+336c08fb5a16fffff9b3346cff00124ccc74aa8baa8bff001bb334a2ff00064cccaa
+ff00064cccaaffffedb334a26c8b6c8bffffe44ccc74fffff9b3346c080efb5ca6f7
+04a601fffeb83334ff00adffff03ffff1a999a4e15a98bff000ee66672fffff9b333
+6cfffffa4ccd6fffffe74ccd6f6c8bffffe0ffff8bfffff2b334a7ff0005b334a7ff
+00061998a9ff00184ccea5aa8b08ffff9d999a5315fffff699985dff0021800066b9
+8bff003000018bff002eb333b1ff00093333b8ff0009999abaffffde4ccdaf5d8b5d
+8bffffcf800066fffff6999a5d080efb76a3dadd01fffea8e666ff00814ccd03fffe
+fdb33462156e8bffffe7199878fffffb199a73fffffa800070ff0017333482ff0010
+666688ff0011999a89ff000c333387fffffbe66777fffffc4ccc79ffffe1199a73ff
+ffcccccc80fffffe333482ff0000199a82ff0004cccc85ff003acccc94ff00373334
+a9ff000c3333c708ff000a999abfffffeee666adffffda00018b080efb5ca8f73f77
+01ffff4d8000ff003f333303ffff3280002b15ff0012cccdff00083333fffff6999a
+fffff11999ffffe1999affffe7e666ffffebb333ffffdbcccd1fffffec00018bffff
+f5e6668f7295fffff7999a84fffffb800084fffffd99987fff0016ccce80ff000fb3
+3285ff002000018b08ff003c4ccdff003f1999ff0020e666c1ff001e8000ffffe799
+9aff0012999affffdcb3331f828bfffff6cccd8afffff799998908ff0026999ace69
+8bffffc480002bff0004b3338505ff0010ffff90ff000a4ccd8c9e8b080efb5cb101
+fffe8e6666ff00c4333403ffff52999afb1b15fffffd666692fffffacccd8f828bff
+ffe5800075ffffecb3337b6e8b668bfffff74ccca0ff00054ccea5ff00096666b9ff
+00286666abff00486667be08fffff580009c05315affffb5800057fffff4999a5380
+55ff0021e66677bd8bff002900018bff002c19999fff00263334b8080efb81f74501
+fbdeff0057999a03fffeec6666fb7915ff00213334f73705fffff4cccc8ffffff766
+668d828b848bfffff8999a89fffff533348708ffffde6666fb3905ff000b333487ff
+0007999889938b928bff000866688dff000c333291080efb63f70b5fb712fffe604c
+ccff01024cce1360fffe8ce666fb5915ff000d3334ccf72c8bfffff233334705ff00
+05ccce85ff0006666688918b928bff0007cccd8fff000b99999308ff0011b334e205
+13a0ff0002cccc99fffffdb33493778b081360fb4d067b8bffffee4ccc7efffffdcc
+ce8008ffffee1998330513a0ff0006666888ff0006333287938b08928bff0007999a
+8eff0009666692080efb75cb01fffe55e666ff001ab33403ffff7880003f15fffff3
+199a6effffe4999953678b708bfffff0e667adfffffcccccc0fffffe33348c878b87
+8b888b888bfffffccccc8affffdab3343bffffe0999a847e8b6f8bfffff5ccccacff
+fffc999abf08fffffdcccc8affffeb4cce7efffffc333287ff0001b33436ff001599
+9a5dac8b998bff00234ccc96ff00283334d1ff0009999844ff0020e66781998bae8b
+ff00293333c2ff00208000d788907e95fffffb999a8e080efb70f72301fffea3b334
+ff00fcffff03fffeee3334fb7015ff0031ffff06ff00266666b9ff002f3333b8ff00
+2ae666b208ffffef999a9805ffffd5800170ffffd8e66672ffffd34ccd65ffffe54c
+ccafffffe44ccea5ffffdeb332a708ffffe966687e05ff001ae66663ff001c333260
+ff001366685c080efb75f72301fffe93199af79203ffff464ccd39155906ffffd8cc
+ce5effffd0e6665effffd5199a6408ff0011199a7d05ff002a8000a6ff00261998a4
+ff002cb334b1ff0019b33367ff001ce66772ff002119996e08ff0017e6669905ffff
+e51999b3ffffe2b333b6ffffed6667b9080efb7ac401fffe69b334ff001d666603ff
+fe87199a3815ffffe2999a7f05fffffcb33236ff0028ccce59d18bff003affff8bd5
+bcff001d8000e108ffffe766679705ffffea333351ffffcb80006bffffcbffff8b55
+8bffffdc8000b0ffffffcccec0080efb6176e5c401fb51ff001d666603fb51fb7615
+ff001d66669705ff00034ccde0ffffd73333bd458b508bffffb6199a5affffe28000
+3508ff001880007f05ff0015ccccc5ff00348000abbf8bff003600018bff00238000
+66ff0000333356080efb0eb78fb901fffe903334ff01274ccc03ffff64199a3d1578
+8bfffff1199995fffff2666797ffffeecccc99ffffece66799ffffe1ffff8b608bff
+ffe2e6686d715008a28605ff0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd
+80ff001233337dff001280007fa18bb98bff0023199aa9ff00183333c708ffffe933
+339105ffffe97fff61ffffefe66781758b080efb17b701fffe806666ff00f3199a03
+ffff564ccdfb1715ff000d00018bff000dcccd9dff0002666697ff0001666692ffff
+fd666792828b08ffff32ffff067f8bfffff280007afffffd999a7ffffffe999a84ff
+00024ccc83938b080efb17b701ffff9c4ccdfb1715ff000d00018bff000dcccd9dff
+0002666697ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd
+999a7ffffffe999a84ff00024ccc83938b080efb67b7b9b701fffe66199aff011966
+6603ffff626666fb0d15988bff000db3349dff0002666697ff0001666692fffffd66
+6792828b08ffff1effff067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b08ff00ceb3343115988bff000db3339dff0002666697ff0001666792ff
+fffd666692828b08fb75067f8bfffff280007afffffd999a7ffffffe999a84ff0002
+666683938b080ef73fb78fb901fffecbccccff01274cce03ffff9fb333f76b15ffff
+ecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffff
+e2e6666d715008a28605ff0010b334acff0010199a9aa58b9c8bff0010b33380ff00
+0fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708ff
+ffe933339105ffffe9800161ffffefe66681758b080ef75db701fffef0e666ff00f3
+199a03ffffc6e666f75d15988bff000db3349dff0002666697ff0001666692fffffd
+666792828b08fb6106fffff400018bfffff27fff7afffffd999a7ffffffe999a84ff
+0002666683938b080ef75db701ffffdfe666f75d15988bff000db3349dff00026666
+97ff0001666692fffffd666792828b08fbed067f8bfffff280007afffffd999a7fff
+fffe999a84ff0002666683938b080eff00106666f85a15fffe2b3334fc5c05fffffe
+e6667cff0009cccc809b8b08ff01d66668f85f05fffffe999898fffff8199a957a8b
+080e9376f9337701fffda366687e15ff02896664f91505ff0000ccceff000ee668ff
+fff44cccff000f1998788b08fd1dfd1305ffffffe6647cff000a999c7a9e8b080efb
+88b4f704b201fffee5999aff0081800003ffff3f199afb2715fffffa19996effffea
+800070ffffd400018b898bfffffd33328c888b08fffff5b3346205ff0002cccc8a8f
+8b8f8bc28bff00348000b5ff000b3334c2ff000accccc0ffffdf8000b5568b868b86
+8bfffffacccd8a08fffff7199a6405ff000200018bff000333338c8e8bb88bff000b
+e66672fffff9b3346c080efb65f70bfb0bb712fc31ff01024ccc1360ffff38b33327
+15fffff2b3334afb2c8bff000de666cf05fffffa333491fffff9999a8e858b848bff
+fff8333287fffff466688308ffffee4ccc340513a0fffffd33347dff00024ccc839f
+8b081360f74d069b8bff0011b33398ff000233339608ff0011e667e30513a0fffff9
+999a8efffff9cccd8f838b08848bfffff8666788fffff6999984080efb82abf1ab01
+fffe78999aff00d7cccc03fffeb8cccc2315ff006c00018bffffeb4ccd25fb008b05
+fffff64cccf71a15ffffde3334fb3af74a8bff0021ccccf73a050efb1dcb01ffff5b
+cccdff001ab33303fffe53ccccfb7215ff000ce668a8ff001b6666c3af8ba68bff00
+0f199a69ff0003333256ff0001ccce8a8f8b8f8b8e8b8e8bff000333328cff00254c
+cddbff001f666792988ba78bff000a4ccc6aff000366675708ff000233338cff0014
+b33398ff0003cccd8ffffffe4ccde0ffffea4ccdb96a8b7d8bffffdccccc80ffffd7
+ccce45fffff66666d26a957d8b688bffffd6e66654ffffdf80003f8e86ff000ce666
+81ff0004666688080eff01b6e666ff00cb199a01fffef4e666ff00e9199a03ffff85
+3333ff021c333415ff0058cccdff0049ccccffffe9999aff001c1998ffffa7ccccff
+ffb63334ffffc5e667ff0049b334ffffdd80006fff003acccdffffb63334ffffa74c
+ccffffb6ccccff0017199a6fe3ff00491998ff003a4ccdffffb6ccceff0021ccccff
+001c199a050eff01b8ccccff00133334f74cff0013333401ffff473333ff0064cccd
+03ffff876666f8f015fffffce665fffff0ccccfffff48000fffff26668fffff2cccd
+fffff33334fffff066667bfffff0199affffee6664fffffb19997384ffffdd999aff
+0016b333ffffed999aff0031999afffff4cccc08ff00084ccdff0013333405ffffe4
+999a9380ff000a6666ff00043334ff0014ccceff0002ccccff000d9998ff000cb334
+ff000f3334ff000c9999ff000e6668ff000fb333ff0010cccc99ff0010ccccff0003
+999aff00119998ff00078000ff0024ccd0ffffea4ccdff00173330ffffcd3333ff00
+09999c08fffff6cccdffffeccccc05ff0022b334fffff4ccccff00068000fffff4cc
+ccfffffc6666ffffee6668080ef873b7b9b701ff002accccf8cd15988bff000db334
+9dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff280007aff
+fffd99987ffffffe999a84ff0002666683938b08ff0146b3343115988bff000db333
+9dff0002666797ff0001666692fffffd666692828b08fbed067f8bfffff280007aff
+fffd999a7ffffffe999a84ff0002666683938b080ef8b7f73501ffff9b8000ff0084
+e666037ff95815e00a0ef8b8f73401ffff83199aff00b5999a0383f95815ffff9c4c
+cdfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe99
+9984ff0005cccd85928b928bff0008cccd8fff001219999a08ff0089199af701ffff
+ff33339605ffffed7fffa1ffffe6b3338cfffff9999a8b868bfffff9b3338afffffc
+cccd8a080ef88cb78fb901fffee5999aff01274ccc03ffffb98000f8b815788bffff
+f1199a95fffff2666697ffffeecccd99ffffece666996d8b608bffffe2e6676d7150
+08ff0016e6668605ff0010b333acff0010199a9aa58b9c8bff0010b33380ff000fcc
+cd80ff001233337dff001280007fa18bb98bff00233333a9ff00183333c708ffffe9
+33339105ffffe9800061ffffefe66681758b080ef86a9fdbdd01ffffe0999aff0080
+333303ff0031b333f92015f76a0a0efb55f8a5e701f73fe7cfe703f73ff8d315ffff
+fae66672ff0010b33476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffff
+ef3333a0728b728bffffe6cccd76fffffae6667208f73416fffffae66672ff0010b3
+3476a48ba48bff00194ccca0ff0005199aa4ff0005199aa4ffffef3332a0728b728b
+ffffe6ccce76fffffae6667208ff0048e666f767157e8bfffff3ccce85fffff9cccc
+8008ffffaee666fb2305fffffe666688fffffe199a87ffffff666688fffffe999a84
+ff0004ccce85938b8f8bff0005cccc8fff0003cccc8f08ff0074cccef70e059090ff
+0003b332938c90ff0004199a9f789a778b080efb82b301ffff024ccdff00ad333303
+ffff12e6664115ffffef66673905fffff4333451ff0022199a73bb8ba48bff0030e6
+6699a8d008ffffe8999a9305fffff3800070ffffeb199973798b778bfffff8b333a2
+ff000b3334c208ff000a9999bfffffeb666792050ef877f70b5fb712fffeecb334ff
+01024ccc1360ffff194ccdf88115ff000d3333ccf72c8bfffff233334705ff0005cc
+cc85ff0006666688918b928bff0007ccce8fff000b99999308ff0011b333e20513a0
+ff0002cccd99fffffdb33393778b081360fb4d067b8bffffee4ccd7efffffdcccd80
+08ffffee199a330513a0ff0006666688ff0006333287ff000800018b08928bff0007
+99998eff0009666792080efb67b7b9b701ffff9e6666fb0d15ff000cfffe8bff000d
+b3349dff0002666697ff0001666692fffffd666792828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b08ff0146b3343115988bff000d
+b3339dff0002666697ff0001666792fffffd666692828b08fbed067f8bfffff28000
+7afffffd999a7ffffffe999a84ff0002666683938b080efb75f74501fffec56666ff
+00b7999a03fffeede666fb6d15ff0021199af73705fffff4cccd8fff000066668dff
+fff700018b848bfffffd999889fffff533348708ffffde6666fb3905ff000b333487
+ff0002999a89938b928bffffff80008dff000c33329108f70216ff0021199af73705
+fffff4cccd8fff000066668d828b848bfffffd999a89fffff533338708ffffde6666
+fb3905ff000b333487ff0002999989938b928bffffff80008dff000c333391080eff
+ff978000b201fffee84cccff0093999a03fffef93334ffffbe8000158186fffffa19
+98828a86fffffeccce85ffffffe66686ff000633348208ff0060ffff8bfffff1cccd
+45058e81ff0006999a89908b908b9690ff000acccc9908ff00128000e6fffff64ccd
+96050ef8aab78fb901ffff09b333ff01274ccc03ffff8e3333ff01ef666615ff0016
+999aff0030666605ff000ae667fffffa199cff000b6667fffffc1998ff000c80008b
+b98bff00233333a9ff00183333c708ffffe933339105ffffe97fff61ffffefe66781
+758bfffff2999a8bfffff4999990fffff5b333ff0007199808ff001d6666ff003ee6
+6805fffff9ccce94fffffbe666ff00048000fffff7199a8bfffffc19998bfffffd80
+00ffffff9998fffffab333ffffff666808ffffe6999affffc9999805fffff23333ff
+00098000ffffefe666ff00076668ffffea199a8b608bffffe2e6666d715008ff0016
+e6678605ff0010b333acff001019999aa58bff000f999a8bff000f6666fffff6b334
+ff000e999a8108ffffe58000ffffc74ccc05ff0004e66683ff0001cccdfffffc3334
+ff00064ccd8b8f8bff00073333ff0000ccccff00078000ff00006666080eff01d3e6
+66ff00423332ff0009e668b78fb9fffffde668ff0042333012ffff40cccdff004233
+33c5ff0042333313ccffff5b3333ff01d3e66615ff0011ffff8bff0012199aff000f
+199aff0003b3339dff0003b3339d7fff000f1998798b798bffffedcccdfffff0e668
+fffffc4ccd7908fffffc4ccd79ff000c1999fffff0e6669d8b0813dcff007c3334ff
+00a80002159d8bff0012199aff000f1998ff0003b3339dff0003b3339dfffff3e667
+ff000f1998798b798bffffede667fffff0e668fffffc4ccc7908fffffc4ccd79ff00
+0c1999fffff0e6689d8b08ff00083334ffffd0199815788bfffff1199995fffff266
+67970813ecffffeecccc99ffffece667996d8b608bffffe2e6666d715008a28605ff
+0010b332ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff00128000
+7fff001600018bff002dffff8bff0023199aa9ff00183333c708ffffe933339105ff
+ffe97fff61ffffefe66781758b080ef88eae8baca6ae8bad12fffef56666ff0127b3
+34138888f8d315868bffffed199a695f8b081348778bffffc4b333ac6e8b6c8bffff
+e24ccd79ffffe54ccc6afffffeccce85ff00094ccc7e938b918bff0012999ab0af8b
+081388a98bff0036cccc68ab8ba98bff001be6679eff0018e666ad08ff0001333391
+fffffa199a95838b08ff00138000eb151328858bffffede666685f8b081318778bff
+ffc3e667ad6f8b6b8bffffe3199978ffffe54ccd6a08ffffffcccd8a05ffffff6666
+88ff0001666788ff0005333387ff0003333387ff00036667888f8b918bff00114ccc
+afb08b081328ac8bff0033e66768ab8ba98bff001c19999fff0018b334acff000199
+9993fffff9cccd94838b080efb29a901fffe483334fb1315fffffdb3328005ff0035
+80006bff0016b3347bff000be6666808ad06fffff78000abffffef4ccca0fffff1e6
+689e08ff00c8ffff06ffffe9e66677ffffe5e66677ffffeb80006b08ae06ff00224c
+cdaaff002c8000abff002a19999f08ff00024ccc9605ffffd1b3329dffffe06667ba
+fffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f08ffff36ffff06
+9595ff00224ccea5ff00178000b0086a06ffffeeb3327bffffcd999a5cffffca4cce
+79080efb7af75e01fffea23334ff00b5e66603fffede3334fb7a15a98bff0017cccc
+f70905ff00104ccd79ff000f800075ff001d33337d08ff0007199aae05ffffe6b333
+a7ffffe7cccdb1fffff3b333b1088006ffffe3ccce59ffffc8999a62ffffed66667e
+08fffff9199a6905ff0025cccc99ff00203334a9ff000dcccc94080eff01f46666ff
+00c3199a01ffff3a4ccdff00fe666603fffff16666f8ea15ffff508000ffffc3b334
+fffff86667ffffdab332ff00f9199aff0053ccceff00054ccdff001a8000ffff294c
+cdff0054ccccfffff86666ffffdacccc050ef891acf70aab01ffff9e4ccdff0087e6
+6603ffff9e4ccdf8ed15fffff5999a58ff0022b33462be8b988bff000b66668d9790
+08fffffa199aa905fffff8666688fffff8cccd8a828b688bffffefb333a7ff00064c
+cdaaff0006b333acff001c4ccda5ad8b918b908bff000499998908ff000e4ccdaa05
+fffff866668dfffff933338c828b578bffffcdb33362fffff5cccd59080ef891e68a
+76e5c412ffff48e666e5ff0043b334ff001d666613b8ffffa2e666f8bf15ff000519
+98a4fffff0199a9f728b728bffffe7e66677fffffae66672fffffae66772ff000fcc
+cd76a48b08a48bff00183333a0ff00051999a4081378ff0043b334a215ff001d6666
+9705ff00034ccde0ffffd73333bd458b508b415affffe280003508ff0018999a7f05
+ff0015ccccc5ff00348000abbf8b08c18bff0023800066ff0000333456080effff1c
+8000ff00c4199a01fffe70199af77603fffef94cccffff7e333315ff0058ccceff00
+49cccdffffec8000ff0018999affffa7ccccffffb63334ffffc5ccceff0049ccccff
+ffe1e666ffffe76666ff003accccffffb63333ffffa73334ffffb6cccdff00143332
+ffffe78000ff0058199aff00493333ff003a4ccdffffb6cccdff001d8000ff001880
+00050effff1c6666ff00c3333401fffeb74cccff00fe999a03fffefeccccfb1615ff
+00af8001ff003c4ccdff0007999aff00254cccffff06e666ffffac3334fffffa8000
+ffffe46666ff00d6e667ffffac3333ff0007999aff00254ccd050effff1c6666ff00
+c3199a01fffea63334ff00fe666603ffff5d4ccdfb1615ffff507fffffffc3b333ff
+fff86668ffffdab333ff00f91999ff0053cccdff00054cccff001a8000ffff294ccc
+ff0054cccdfffff86666ffffdacccd050effff1c4ccdff00c3666601fffed2199afb
+1615ffff63b332ffffc3b333fffff86668ffffda999aff00e51999dfff00054ccdff
+001a6666ffff3d4ccce0fffff86666ffffda999a05f7bfffffe0000115ff0023199a
+ffff833333ff00254ccc8bffffd3199af755ffffe6cccd8bffff828000fb55ff0025
+66668b050ef89bacf70aab0129ff00914ccd03ff002f4cccf8f715ff000a3334bdff
+ffde4ccdb4588b828bfffff7cccd8afffff8999a8908ff0001b3336c05ff00056667
+8d908b918bad8bff0011b33371fffff94ccd6afffff9b3336cffffe44ccd6f688b82
+8bfffff933338cfffff9999a8e08ffffede6666d059586ff000a999a89988bbe8bff
+00324cccb4ff000a6666be080efc76f8e0f30149f303ff00403333f91415fffffa4c
+cc6fff0013199a73a78ba78bff001ce666a3ff0005b333a7ff0005b333a7ffffece6
+67a36f8b6f8bffffe3199973fffffa4ccd6f080efb0eb012ffff27cccdff003ee666
+fffff88000ff002b6666ffffdc199aff0030199a13c0ffff5f6666fb1215ffffe9b3
+3476ffffe4cccc8ffffff9e6676dfffffe333382ff0005800084948b081390ac8bff
+ffff4ccdaaff0011e666a3ff0008800075fffff84ccd6aa58b938bff000b4ccd918d
+95ff0005e666a8ffffe4999a89fffff119999fff000a66678dff0008cccd8a968b9f
+8bff0012199991ff00034ccd9b08ff0001333391ffffffb33398798b798bfffff519
+9a78ffffe5cccd800813a0ff00044ccd9bff00116666a1ff0003199a9aff00029999
+98fffff54ccd91818b818bfffff2e66681fffffdcccd80fffffd33337dff000ae667
+7cfffffd800075ffffea333396fffffab3339d788b7e8bfffff8e66781fffffe6666
+8308fffffc80007aff0009199a86988b978bff000699998e918b08928bff00066667
+88ff0005cccc8a080efb6aa6f704a601fffea14cccf7cb03ffff4f4ccdfb1715ff00
+06199aa9ff00184ccda5aa8ba98bff000ee66772fffff9b3336cfffffa4ccd6fffff
+e766666f6c8b6c8bfffff2999aa7ff0005b333a708ffff51ffff16fffff6999a5dff
+0021999a66b98bff001be6668bff001b6667ff000ce666ff0013e666ff00138000ff
+000c4ccdffffec4ccdff0016999afffff34ccdff001ae6668bbb8bff002e999ab1ff
+00093333b8ff00099999baffffde4cceafffffd1ffff8bffffe5199a8bffffe44ccd
+fffff36666ffffebb333ffffec4ccd08fffff3cccdff0013cccdffffe93333ff000c
+8000ffffe4e6668bffffd200018bffffcf800066fffff699985d08ff00626667c315
+ff001dffff8bff000ee66772fffff9b3336cfffffa4ccd6fffffe766666f6c8b6c8b
+fffff2999aa7ff0005b332a7ff0006199aa9ff00184ccea5ff001effff8b080ef8da
+b701ffff5fcccdff00d9199a03ff0031b333f8f415ff0003ffff90ff0002cccd8fff
+000066668d8c90fffffb80008d808b082306848bfffffd33348cff0000cccc8fff00
+0066678dff000166668dff000166678d08ff002b4ccdd605ff0000cccd8ffffffa66
+678d808b868bfffff8cccc8afffffd999a8908ffff9c3333fb0905fffffc333287ff
+fffe4ccd88ffffff999a89ffffff333387ff0004666688968b08f306938bff0004cc
+cd8affffff999a89ffffff999989fffffe666788fffffe66678808ffffd2e6664105
+ffffff1999fffffb8000ffffff4ccdfffffc8000998b908bff000a66668dff000299
+9a8e080efb81c001ffffcfcccdfb8115ff008800018bff008f8000b0ff00776667f7
+0708fffff2b3329d05ffffa6999a4effffa6999a53fb588bfb548bffffb16666c3ff
+ffc76666c808ffffeb4cce7905cefb05ff0078199964f72a8b080ef86fc0f7097701
+ff0060999af86f15ff008800028bff008f999ab0ff00776666f70708fffff2999a9d
+05ffffa699984effffa6999a53fb588bfb548bffffb16667c3ffffc76666c808ffff
+eb66677905cefb05f70c64f72a8b080ef8a6bc01fffef1ccccf8a615f97306988bff
+0011199a9fff0002666697ff0001ccce94fffffeb33293808b08fd73067f8bffffed
+e66877fffffd99987ffffffe666883ff0001199882968b080efb1abc01fffe6ab334
+fb1a15f97306988bff001119989fff0002666897ff0001cccc94fffffeb33493808b
+08fd73067f8bffffede66677fffffd999a7ffffffe666683ff0001199a82968b080e
+f8bbc691c601fffea84cccf8b715ff001d33348705cab7ff0068cccda8dd8bc68bff
+003e33337dff00354ccd79ff00344ccd79c27cc18bc38bff0099999a98ff005ecccc
+f608ffffe433349105ffffc2cccc59ffff93999a7a498b588bffffc2999998ffffc5
+199a9fffffcab3339dffffcbcccc99ffffca00018bfb238bffff7533334cffffd4cc
+cc4a080ef914c501f722f94e15fb1c8bffff69cccd4fffff893333fb0e08ff000d4c
+cd7905ff004a999ac9ff006d4ccddbf7588bff00c000018bff0052b33240ff002f66
+664808ff0014b3349d05ffffc4ccccf70effff863334c7fb2a8b080efb29a901fffe
+dbccccfb0b15fffff9e6686df8618b05ffffe9e66677ffffe5e66677ffffeb80006b
+08ae06ff00224ccdaaff002c8000abff002a19999f08ff00024ccd9605ffffd1b332
+9dffffe06667bafffff64ccd9b086906ff0006e66668ff0018b33371ff0006999a7f
+080ef8919ef7099a01ffffd3cccdff0034333303ffffde6666f8df15fffff7b33362
+05ffffee66667efffffce66686808b7d8bfffffe199a95ff0002333396ff00023333
+96ff00094ccd9bff002a33339608ff000a33343d15958bff000acccc8fff000a999a
+9308fffffd33339605fffffdcccc8afffffccccd8a898b868bffffffcccd94ff0004
+8000a108ff0007999ab005ff000a6666beffffe2333396718b748bffffdb80007aff
+fffb800075fffffe666683ff0008cccd85938b958bff0008666692ff0000cccd8fff
+0000999a8eff0000b3338effffff33338cffffff33338cff000066678dff0000cccd
+8f08ff0001cccc94ff0004ccce8f9d8b978bff000a666688fffff7e6666308ffffe5
+66668305ffffdc333482ffffe7e6667cfffffb4ccd74fffffb4ccd749a7ca28b9d8b
+ff0004e66690ff00154ccd9b8b81ff0003cccd809c8b080ef891a1c59db19c01ffff
+35999aff0087333303fb1df8a715788bfffff080009cff00084ccdb408eb06ff0006
+b334acfffffc3333b3578b5e8b6964fffff8e66768fffffab33371ff000080007aff
+000999997fff0009999a7fff0010999a7fa68ba78bff0014999998ff000f4ccd9b08
+fffff766669705fffff299987ffffff2800084768b08ff001f8000d7155806ff0004
+b3339d989f9c8b988bff0009333382fffffa199a6e080ef89399f70399bab701ffff
+964ccdb703ffff9b4ccdf8b215ff00186666f70c808b05fffff1cccc85ffffed199a
+87ffffed999989fffffecccd85ff0000333387ff0000333387ff000f999a89ff0005
+b3338afffffd66677e08fffff033343d05fffffd66677efffff6b3338afffff46667
+88fffffe333387fffffecccd85ff0000333387ff000a33338cff001233338c948b96
+8bff0011cccd8aff0007cccd8aff0001cccd8fff0001333391ffffffcccd8ffffff6
+99998efffff8b3348eff000233339608ff000c8000f72f15ff000c00018bff000c19
+9995ff0002666797ff0002666797fffff81999957f8b7f8bfffff3e66681fffffd99
+9a7ffffffd99997fff0007e66781978b080ef8919bf70a9b01fb0dff0093666603ff
+ffe0199af92715538bffffe533335bfffff9b3336cfffff8e66668ff000eb33467be
+8bbe8bff001eb333b1ff00071999aeff0005e666a8fffffacccebb508b08ff000e19
+993315fffff9199969fffff080007f7d8b758bfffff519999fff00088000b5ff0009
+3334b8ff000f3333969b8ba28bff000619996efffff74ccd60080ef891a3f7019a01
+ffffe9999aff0038666603ffffc98000f92415ff000033338c058bfffff5cccc8a84
+7effffec33338c8b1effffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a
+8d8b088e06ff0009cccc8aff000433348cfffffd33337d08fffff1e6664605fffff8
+b33267ff000d33347da38b9e8bff001ae6669eff0009cccd9408ff0003cccd8affff
+f8800070978b05ff000f666692ff000b999a8eff001166668d08ff0003199a9a05ff
+fff3cccc8ffffff6cccdff00046668ff0002cccdff000d9998089fedff000033338c
+05ffffffffff8bfffff7cccd8a868b087cffffe833338c8b1ffffffecccd8afffffd
+80007f05ffffff999a898d8b8c8b089106948bff0003999989fffffd999a7f08ffff
+f1199a4205fffff3999a7fffffe8e66681838b7f8bfffff64ccd91ff0005b333a708
+0ef891a1f7069c01fffff0cccdff0023999a03ffffe0b333f92a15ffffd4ffff8bff
+ffdb999a62fffff8199964fffff8199a64ff0010199a69b98ba38bff0016999998ff
+0011e6679e8aff0005b334fffffd8000ff0004b334fffff8e666ff00019998fffff3
+999a7ffffff7e66681768b808b7090ff0009cccdbb08ff00081999b3ff00174ccea0
+ff0010ffff8b9a8bff0002b333fffff61998fffffee667fffff3e668ffffff333382
+ff0007800084948b938bff00094ccd91ff00029999988d95fffffb6667ff000c1998
+fffff48000ff0006e668fffff6e666ff00058000fffff2199aff00018000fffff166
+668b080ef8929cf7069bab9901ffffc4b334f8b415fffff4ffff81fffff480008483
+8b788bfffff566679795bcff00081999b3ff000db333989d8b998bff000566678392
+8108ffffeb66662b15ff0001cccd8afffffb999a7a988b05ff000e666692ff001099
+9a8eff001266668d08ff0001199a9a05fffff366668dfffff7e666ff0004ccccff00
+03199aff000f333408abf731808b05fffff1cccd85ffffed199987ffffed999a8908
+fffffe33337d05ff000e666688ff00084cccff00019998fffffd3334fffff2666808
+fffffa199a6e05fffff9999993fffff2e6678ffffff1ffff8b618bffffe3666761ff
+fff8e66668fffffb6666ffffe94ccc8dffffeab334ff000a33347fff0008b333ffff
+f5b334ff000ce666fffffc4cccff0010999a8b978bff0010999993ff000bccce9408
+0ef89499f704a3a99901ffff283333ff00aee66603ffff82199af93615ff0004e666
+a3ff0003e666998b8bff0000999a8efffffe33338c888bfffff6333387ffffdde667
+86fffff0cccd8a08fffffd66667e05ffffffcccd8a8c8b8c8b08ff000bcccd8a0592
+8bff0003333387fffffb19997308ffffe76667fb0d05fffffd999a7ffffffeb3348a
+fffff299998908fffffacccd8a05898bffffff999a89ffffffcccc8a08fffffdcccd
+8005ffffffffff8bff001533338c988b089dff001bcccd8a8b1fff000233339605ff
+000066678dfffffe33338c8a8b08fffffa33338c05fffff633328cfffffc80008dff
+000266679708ff000e6666d205ff000d999998ff000d800097978b9c8bff000a3333
+87fffffa199a6e08fffff333344c05fffffd999a7ffffffc800089fffff4cccd8a08
+fffff9cccd8a05898bfffffe999a89ffffffcccc8a08fffffdcccc8005ffffffffff
+8bff001633338c998b089cff0019ccce8a8b1fff000233339605ff000033348cff00
+0033338cfffffe33338c08fffffc33338c05fffff566668dfffffd80008dff000233
+339608ff000dcccdcf05ff0007b333b1ffffe8e66799ffffe6ffff8b778bffffe919
+9a78fffff6333382080ef895997ff725719980a212ffff286666ff00fdcccd1388ff
+ff9ab333f8b415fffffd66667efffff8b3338afffff4666688fffffe333387fffffe
+cccd85ff0000333387081348ff000a33348cff000f33338c948b081398968bff0011
+cccd8aff0007cccc8aff0001ccce8fff0001333291ffffffccce8ffffff699998eff
+fff8b3338eff00023333960898cb05ff0000ccccff0003ccccff00008000ff000399
+9cff00004ccdff00036664ff000bb333ff000a3334ff000dcccd93ff0009cccd8b9b
+8bff0003999984fffffa4ccd6f08fffff433335105fffffdcccc80fffff74ccd88ff
+fff5666788fffffe333287fffffeccce85ff0000333287081348ff000833348cff00
+1233338c968b081388948bff0011cccd8aff0009cccc8aff0001cccd8fff00013333
+91ffffffcccd8ffffff5999a8efffff74ccd8cff00029999980898cb051348ff0007
+4cccafffffef4ccd9b738bffffed4ccd8bffffe7b333ffffedb334fffff5cccdffff
+f6ccccfffffd6666ff0012e668fffff33333ff00089998ffffed999a8b081328788b
+ffffec80007afffff633338208fffffe33338c051318ff0006199aa4808b0513a8ff
+fff1ccce85ffffed199987ffffed999a89fffffecccd85ffffffb333fffffbccccff
+0000b333fffffc3334ff000f999a89ff0005b3338afffffd66667e087c4105fffffd
+66667efffff6b3338afffff4666688fffffe333387fffffecccd85ff000033338708
+1348ff000a33348cff001233338c948b081398968bff0011cccd8aff0007cccc8aff
+0001cccd8fff0001333391ffffffcccd8ffffff6999a8efffff8b3338eff00023333
+9608ff000e6667d205ff000c666697ff000d199a95968b9b8bff0002999984fffffa
+4ccd6f080ef89399f702a6719912ffff753333ff003e666613d038f90e15ff0001cc
+cd8a05ff000cccce99ff0010199a9a9e8bff000fffff8bff00054ccd83fffffdcccd
+80fffffdcccd80fffff7cccc85808b838bfffffb999a8efffffdcccd8ffffffe6667
+8d878b898b878bfffff9199987fffff466667e08fffffd6667888786ffffff333387
+087e4b05fffffdccce80ff00074ccc88ff0009666788ff0000333387fffffecccd85
+fffffe333387fffff833338cffffee33338c808b828bffffedcccd8afffff5cccd8a
+ffffffcccd8fff0001333391ff0001cccd8fff000b99998eff00094ccd8cff000299
+9a9808ff000fccccd90513b0ff0002999998fffffa4ccd8cfffff066668dffffffcc
+cd8fffffffcccd8fff00013333910813d0ff001266678dff0012e6668fff000e3333
+9108ff000ae666060ef891a0f7009e01fb0eff00684ccd03ffffc2cccdf91215ab06
+ff000300018bff000533338cff0000999a8e08ff0002b3339805ff000033348cffff
+ff33338c898b08668bff000a4ccdbeffffe0999a84fffffecccd8505fffffae66572
+fffff566667e758b8a8bffffffcccd8affffffcccd8a08fffffcb3337b05ffffffcc
+cd8a8c8b8c8b08a28bffffec80002b05fffffb199a73ff000e3334829b8b9a8bff00
+12b3338fff001119999aff0000199aff00054cccfffffde6668ffffffb8000ff0002
+b334fffff5ccce85fffffa199987828b828b8b95ff00044ccda0080ef9169a01ffff
+41999aff00a7199903fb2bf89815ff0001333387ff00066667888e8b8f8bff000b66
+668dff000333339108d0f70005ff000b80009cff0003e6668b938b8d8b8d8bff0000
+66668d08ff0002800097ffffff33338c05ffffffffff8bffffeecccd8a818b0880ff
+ffed33338c8b1fffffffcccd8afffffd80007f05ffffffcccd8aff0000cccd8a8c8b
+968bff0004cccc8affffff333487ffffff666688fffffe666688888608ffffd3cccc
+ffffba9998ffffef999aff0047666805fffffeccce8fff000066668dff0000999a8e
+8c908e8b908b0890068d8b8d8bff000066668d08ff0002800097fffffe33338cffff
+d8cccd8a0581ffffe533338c8b1ffffffecccd8afffffd80007f05ffffff999a898c
+8b8d8b968bff000219998bff0004199a78080ef8919af70f9801ffff30cccdff00bb
+800003ffff30cccdf89c15fffffdcccd8005ff000a33338cff000633338c988b948b
+ff000ecccd8aff000acccd8a08ff000233339605ff000066678dffffff66678d878b
+818bfffffd9999ff0002b334ff00076667ff00074ccc8b8b9f9eff000b666697ff00
+02333387ff000a6667708b8bff0001333387ff0003cccd857f8b868bfffffd666688
+ffffff33338708fffffe66668305ff000833338cff001833338c988b968bff000fcc
+cd8aff000acccd8a08ff000233339605ff000066688dff000066668d848b7f8bffff
+fc3333ff0006ccccfffffa1999ff0009333408ffffe18000bab3b705ff000e199a9a
+ff0003199a8c978b928bff000080008dff000099998e08ff0001999a9305fffff3cc
+ce8a828b808b818b828bfffff633338c08fffffe199a8205ffffff666588ff0001cc
+cd8a8e8b928bff0005ccccfffffe3334fffff96667fffff8cccc08ffffdeb33367ff
+fff64ccdaa05ffffff000190fffffecccd94918b908bff000333338cff000099998e
+08ff0001e6669405fffff1ccce8a7a8b808b7d8b7d8bfffff533338c08fffffe1999
+8205ffffff666788ff0000cccd8a928b928bff0005666688ff0003999a8408ff0020
+66665205fffffd999a89ffffd71999648b8bfffff266677efffffb800089808b878b
+898bffffff333387080efbe7f8aef77a01f748f75503f7e8f994156b8b776a7d7408
+2dfb359f7ef729f72f059495969e8e968c8d8b8c8b8d8b997c9b798b080efc05fb17
+f77a0188f75503f732ee156b8b776a7d73082cfb34a07ef728f72e059596969e8d96
+8c8d8b8c8b8d8b997d9b798b080efb7afb94b301e1d903f62f1579390589828a838b
+838b63a87ab48ba48bbb99abd0087493057e707673798b7d8b83958ba28b978d9a8f
+9d0897bf7892050efb0c81a7f81dab01f80ce103aed415f76b0a0efb0881a7f71df7
+08f720ab01dce0f2f70b03f84fd415f76c0afb14dd15ac8baaa693aa8c8f8b8f8b8f
+8ba5769f728b6b8b6a6f856d8a868a878b878b729b77a98b080efb0c81a7f723f708
+f71aab01f722f70bf707e103aed415f76b0af711d515ac8baaa692aa8c8f8b8f8b8f
+8ba6769e738b6b8b6a6f846d8a868a878b878b729c77a98b080efbeafb079fe1f3f7
+62f512c6f70652f70113f0f70eea156b8b7174876f8a888b878b888b729c79a58b94
+8b958d92908c838b80898388766d6a547f088d7705c896c5b395c78d968c958b9408
+b678a56b1e86f7971513e88b888a888b888b729e78a58ba88ba7a391a88b8e8c8e8b
+8e8ba4789e718b6d8b6f73866e080efbeaf7baf96f15f76d0a0efb55f8a3e701f751
+e7cfe703f751f8d115e20af73416e20aa9f76715f76e0a0ef7138aa8f76cb201f72d
+d315e7f72f0592969391a48b08f7668bacfb40058c878b888b87087475816d1e6f06
+868b88888a860888788c89058bed8dafb2d7898b1e8e8d8e9e058f878f871e800663
+8b7b9e83b208fb01f8b20586a584937b8b828b81827c7208fbdefcb7057769767862
+8b087f06868b88888a860887788d89058bcc8da4a4ed898b1e8d8d8f9e0590888e87
+1e6e06707c92991f8b928f948f9208f730f76715f60afb38f84d15808b7c84858108
+36fb2305898889868b8a8a8a8b8a8b8a8b859086928b908b908f8e8f08f70cf70e05
+90908e908c900892079c7d99791e0efbc8f782f70801f71cf70b03f74af78215ac8b
+aaa692a98c8f8c908b8f8ba5769f728b6b8b6a6f846c8a878b878b868b739b77a98b
+080ef7008bb265a5f7c0addd77f74bb370a612f893acefa61337f93ef91a15133bfb
+998b3e8a051377fb168c877605898b87921ea906ab9881751f8b878b878a860832fc
+8a05866f7d7a638b086d06848987881f8776f7158d0513bbd98af7c18bc1f7347190
+056f4265564a8b08fb5406787f909d1f8b8e8b8e8c8f08b8f793f7208b05ad8b937c
+8c6e086c07888d87901ea28b8e8e058dab8ca991ad91ac96a993ab088d8b8d881e75
+06878b88878987087f6d0580707f7a688b08fb218bb1f769058fa39993a38b08f730
+06bfa24f601fa68e05fc7cf77015808b7d848580083dfb220588838b8a8b898b8491
+86918b908b8f8f8f8f08f705f70d0590918d908c900890079d7b9a791e0ef77e8aa8
+f7bcb2f793a701f902d315866f7a7b628b087106868b87888a860888788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e4
+f88a058fa79c9bb48b08a506908b8f8e8c90088e9e898c058b2e8a6764348c8b1e89
+8a8878058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f767
+0590a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606ad9981751f8b878b878a870832fc8a05866f7b7b628b08
+7006878b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b
+087106697d95a11f8b8e8b8f8c9008b7f790f7db8b05fc6bf82515818b7c84858108
+3efb230587838b8a8b898b849186928b908b8f8f8f8f08f705f70d0590918d908b90
+8c8c8b8d8b8d8b9d7b9a788b080efb538aa7f8e3a801f807f8d21590a79c9bb48b08
+a506908b8e8e8c90088f9e898d058b2d886864348e8b1e89898778058a868f888f8b
+08a606ac9a81751f8b888b878a860832fc8b05866f7b7b628b087006868b88888a86
+0888788c8a058be98daeb3e1898b1e8d8c8f9e058c90878e878b087106697d95a11f
+8b8f8b8f8c8f0822f92315808b7d848580083dfb220588838b8a8b898b849186928b
+8f8b8f8f8f8f08f706f70d058f918d908c900890079d7b9a791e0ef7327fadf8edad
+01f700e8f85be803f97bf7dd158fa28da08ba08bf735fb08f1fb288bfb478bfb32fb
+2b69fb58877489748b768bfb32f7012af72c8bf7538bf728f721aef75c08fba8f7ba
+15f6dd3ffb2a1f8b71886d856c6cfb4720fb01fb078bfb048b3add8bf7258ba38ea5
+8fa7b1f766f711e1eb8b08fba4ef15808b7d858580083dfb230588848b898b898b85
+9186928b8f8b908e8e8f08f706f70e0590908d918b8f0891079c7b9a791e0ef48aa8
+f8e4a601f804d315866f7b7b628b087006868b88888a860888788d89058be88daeb3
+e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008b2f771f7
+5af7ad05a2ab9b99a98b08a006948b8c8f8c8f088e9d8a8c05788a4f89828b7e8b45
+8d838c08898a8878058a888b88908a08a9069c9189831f87078a868580817d08fb3c
+fb7f28f77f05879689958b91088e078c95928f9e8b08a8068f8b8e8f8c8f088d9d8b
+8c057b8a2e8a858b7e8b398c808c08898a8878058a85928a8e8b0897069a8b94898f
+889783917e937708f70afbb905fb7af84f15818b7c858680083dfb2305898789878b
+898b849186938b8f8b8f8e8f8f08f705f70e0590908d918c8f0890079d7b9a781e0e
+f72e8bc6f8cbae12e0a5a3e1f847e241a513f8f888f70915f70ab0eef4a0f70c8f9d
+8c9e8b9d8bf7113bf1fb438bfb598bfb14fb2a73fb18887a8a7a8b7b8b24c83ee36b
+088451268b055c7891b21f8b8f8b908c9108718b7dfb0bf7688b05968b92918c9508
+99f713054bbc6cbd8bd68b9e8da08fa2a2f714e8f70af71f8bf7038bca3d8bfb038b
+788978877778fb0057402556086cfb130589818e85978b08f7648b0513f4a7f70b71
+8b057b5275885b8b082906fbc0f92915808b7d848581083dfb230588838b8a8b898b
+849186918b908b8f8f8f8f08f705f70e0590908d908c900891079c7b9a791e0efbc3
+81ccf80c77f706e701f701e7cfe703f748c215f7640a44f89815e20af73416e20aa9
+f76715f76e0a0ef589a8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30a0e8789
+adf7c0adf78bad12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce
+153e0a856915cd0613f03f0afb425015400a13e8410a0e5e89a7f8d7b270a712f8d6
+a613b0f793f917157e8b7f8c258c0888898979058a868e888f8b08a906ad9785761f
+8b868a858a840832fc8a05856d7a7d648b087006878688861f87798d89058be28db2
+afe8898b1e8d8d8e9d058c90898e868b087106687d97a01f8b8e8c8f8b8f08e4f88a
+0513d090a69a91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050ed689acf9
+007701f867f91f154c8b898b8a8afc08fd0c05888688878a88088b8a8a8a058b8a8b
+8b8c8a8c88928a978b08f8b606928b918b8e8d8c8b8c8c8c8b8b8c8c8c8b8c088d07
+8b8c8c8c8b8c8b8e8a8d8b8f08fb1ef90c8a8c05442b15f70bfca0fc438b050e6889
+a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a15450a1337460a133b
+470a13b7480a137387770513b38d89051373490a13b34a0a137b4b0a0e9c8bb2f8ca
+b398771213c0f8a489156b0a13a06c0a13c06d0a0ef70489a8f7bab5f793a801f8ef
+f8cd154f0a0ef681adf7a5c3f7a3ad01ff00576666ff005ae666f84be403f891f7f5
+15fb3f066f7e8ca01f8b8f8c908c91088c92058c8e8b8f848c0875068b8b875e866f
+85697e578b8b08a1068f8b8e8d8d91088c920591ac988eac8b08f73f06a49a89751f
+8b888b878a86088a84058a84908a8d8b08a1068b8b91bf91ad90a796b78b8b087406
+878b88898a85088a850585697d886b8b0842f7a315580af79bfbbb15590a0efbad89
+a8f8e3a801f769f8cd15500a0ed789a8f8e3a801f769f8cd15510a0ec78ba801f718
+d415f75bf7fdb8e09c34c8fbf9058c868c878b8708777e80621e7006868b88888a86
+0888788c89058be58eaeb2d8888b1e8e8d8e9e058c90878e878b087f06638b839a86
+a80829f8c505889b8693808b818b8183837c08fbcbfcc8057a6b827f608b08800686
+8b88888a860887788d89058bbf8eafb2d3888b1e8d8d8f9e058c90878e878b087906
+667c8c971f8b928f959399080ef78789a8f8e3a801f923e215f76f0a0ef4967693a8
+f8e3a8121360f943f8c115560a13a0570a0ee287cef771c3f786cf01dca5aca6b2a7
+f804a6aba603f886f7e815fb76066f7e8d9f1f8b908c908c90088c92058c8e8b9084
+8b08758c058b8b875e856e856a7f568b8b08a1068e8b8f8c8d92088c920591ac988e
+ac8b08f77606a49a89751f8b888b868a87088a84058a84908a8d8b08a1068b8b91c0
+91ac90a796b88b8b087406878b89888986088a840585697d886b8b08f752f730158f
+ab99f7048d950870068988878a878b08fc660687898c8e1f7206877d6efb1f8a8a08
+a606a0de938ed08b08f7dd06c09c8a5e1f8b808a7e897b08fcd8fbe31575fb39ac8b
+058c8d8f8d8f8b08f85d068e8b8d8a8c8808a78bb0f739708b0575328082458b08fb
+e506658c788f8bc08b968c988c9b080ef681adf8ecad01ff00576666ff005ae666f8
+4be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad315
+f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01e8
+999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0eac8bb660a1f8
+d9b673a312f8e9a11358f909f91a15fc8d8b877305998ba481a06708f71dfb9efb9d
+fba1057b7a80897f8b088775f89d8bb7f734758d057e6a716b7e7c7d7a7f817d8408
+13a8848880897f8b08fbd58bf7aef7b38d8cfb20f7a4f7a08b05968b938993879685
+9581937a9081986f8d7408a18e050e7a89a8f8d7b2987712f906a913d0f779f91915
+13b0620a13d0630a13b0640a13d0650a0e8289a8f8e3a801f7e4d7156a0a0ef7018a
+a7dfa6f805a8dda801e6daf852d903f7d5f70315846305866f7a7b628b087106868b
+88888a860887788d8a058be98daeb2e2898b1e8d8c8f9e058c90878e878b0870066a
+7d95a11f8b8f8b8f8c8f0892b505f7339bf704f19def8d958c958b948be73ad3fb1d
+970892b10590a79b9bb48b08a606908b8e8e8c90088e9e8a8d058b2d886864348e8b
+1e89898778058a868f888f8b08a506ad9981751f8b888b878a8608856505fb5b7c32
+fb097d3b8a81897f8b7d8b4aab27f75a7f0890a615359345b78bed8b988c9a8e9aa3
+f71df3afe49108f770fb4e157f466828fb327a08ccf80405dc81cb668b2f8b7d897d
+887b080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a0ef7128aa7
+f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f7760a
+0ef7188bc6f8cbae12c9a5a3e2f846e341a513f8f872f70915f709b0eef4a1f70c8e
+9d8d9e8b9d8bf7113af1fb428bfb598bfb15fb2a74fb18887a897a8b7b8b24c93ee2
+6b088551268b055c7791b21f8b8f8c908b9108718b7efb0bf7678b05968b93918c95
+0899f713054abc6dbd8bd68b9e8da08fa2a2f714e8f70af71e8bf7038bca3d8bfb03
+8b788978887778fb0056402656086cfb130588818f85978b08f7648b0513f4a7f70b
+718b057b5274885b8b0829060efbad89a8f8e3a8bde501f72ae8ece703f72bf97a15
+c50af7528c15c40afb14fb4215500a0e8289a8f8e3a8bde501f7a7e8ece703f7a8f9
+7a15c50af7528c15c40afb16fd2f156a0a0e647fc84eadf816ad837712cdd8f782b3
+131cf838f75115f7770a136cf7780a139cf7790a136c25f7a915f77a0af71af7a615
+f76d0a0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a13f0f77c0a
+f738f86a15f76d0a0e44fb6a76f78a76f81ac65fa712f73bff00578000ff00968000
+da13ecf86cf7af15f77d0a13dcf7170a13ecf77e0ad1f94015f76d0a0efbc381ccf8
+0c7701e3f7a503f748c215f7640af728f90815f76d0a0e2181b2f802a79877f701e7
+12f707d377ff00558000ffffdb8000e7cfe76bb913b880ff007b8000f73e15f77f0a
+13b400f7800a13d400f7100a139200c5f78e15d20a139100f73416d20aa9f76715f7
+6e0a0e647fc84eadf816ad837712cdd8f782b3131cf838f75115f7770a136cf7780a
+139cf7790a136c25f7a915f77a0a0e32fb6a76f773a8f7f5c5f784a912f82fd66dd1
+13f8f7faf8341574957c8d7d8b08787c7d777b99839a1f9a8b9790a095b9819b5a8b
+558bfb1730fb10458bffffc833338bffffe3b333ff001c6666fffff46667ff001c4c
+cd08ff005fb333ff01a04ccc05b0f730caa1b28b0813f4b7a2655c1f8b424f356583
+08ffff27e666fc2015a1ffffe8cccdaefffff73333ff0033199a8b0813f8f711f703
+f724f7171f8bec45a96b970813f4e6b9becf8bd78bd152af4b8bfb198b4a2663fb3c
+0827fc48056ffb1074577769089179dbaa059cb396ba99c6080e24fb7fb2f8d4c901
+f71bb0bdc503f74cfb58158387949b1f8bb7a0b8a8c00882074e842a6c1eebf77c15
+8ba9f74ef79e05a8b4a4a8acad08868d0574847f897e8b838b718e828f8270756278
+6908fb14fb6c0585f47af47af08a938790818b6e8b7f75407c08896d059c8f948c95
+8b9a8b9988926a9d309efb0d912208644c057e76694e8b558b6a966da98bee8b8ff7
+408cee080efb037fa9f91bac01d3d4dbc0f70dd803d3f71c1536bc4ce9f734f0f73d
+f70a1e8bcd6fc460b50855c00559bf74a98ba78b9792bdcc8bd08b7c2bcb8bab8b9c
+a48b998b9d68a07399709b63a0628b083e5b4a501f8b63a367bd5308977f055574fb
+4d2c8bfb4408f734fb0a154b74c8cb1f8bf732f706d2d4ae08a27105a86b9a588b5e
+084a57fb3efb071e0efb547fadf750a8f742a812cbd583cc13e8f789f76615f77b0a
+13f0f77c0a0efb33fb79b4f74acaf882aaf7087701d5d2bbc8d1ad03f7fa6415c56d
+b14a2d73aeb91e8bcaadf72ef76cf774e7aaaf998baa8b988392778b758b636e5d61
+6c7e6782778b768b72a08bb6088ba091a08e9508830673817d8573730882074dad67
+be1e9e8bab93a394fb7cfb6f5cfb1c8b320842b452f725bb9b716d535d455a1e7d8b
+768c859784997a97738b08737b747c74a978bee5e2def61f0e44fb6a76f78a76f81a
+c65fa71213e0f86cf7af15f77d0a13d0f7170a13e0f77e0a0efb067fadf7c4adf7c4
+ad01e9d2f7a8d00314e0f83af7fc15fb7a06a9f715d5f743d98bb88ba14c8b358b5d
+84557f540883691569fb253efb33438b5d8b77cc8bdf8bbb92c197c008479d157c49
+84548b5d8bfb21cb5bc78bd58bf71bddcaf7a699c991bf8bb78bf7244abf528b2f8b
+fb11fb0654fb84080efbc381ccf80c7701e3f74803f748c215f7640a0e5481b9ff00
+a94ccdff0023b333f713d25fa712f73cff0057800013e8ff009ee666f7d615f7120a
+13d8f7130a0e487fc8f8e0c801f7dbb203f887c7157a9c0571717d89778b6e8b88ad
+84f717087af7f70586f70a5996708b668b666c6a6508977a05a19aa595a38ba58baa
+7692fb1e088d60fbc6fc479f7f05a193a48ea58c08f76cf7ff97fb81058f2e975eba
+8ba68bb4aca5b2080efb02fb6a76f773baf8207701f7ccd594db03f855f7eb1593ab
+9dcb8b8b7b857c87798b808b7c8c868c896b805a846f0858fb73056f6a556a588b6a
+8b7fa18bad8b9c8e9f90a008cdf7b8057b857c87798b808b7c8c868c0884078b6c82
+5e8571085bfb66058678897488808676847985706ffb107e577669089279daaa05ac
+d892f70c929294849c869c8bc48bbba7bab789828a838b848b6b9e7ba48baf8bafa4
+acbf087a990575697f817f8b838b87918b988b9990a292ac080efb0d9476f81cc901
+f835de03f747f7ec15a0fbf8a18b05f73ff751e3f71c9cd58c918c918b918ba0829b
+768b6f8b7673877a897f8a828b838b7b8e818b7a088b808a7e877883686a59fb03fb
+190877f7fd05938790801e6e8b7f75407c08896d059c8f948c958b9a8b9e8a8d6808
+0efb3efb78d0f72dcbf79bce4aaef75fa9f67712d1cdaccc62c3d7a913df40d1f70b
+1549b150f717bfad7a65625e35601e4e8b8ca8638b0875787b7473a785aff704deeb
+e9cc5daa483874b2b61f8bc0ace3cda9a592a690a98b0813ef40988b9a89988b08b0
+9ca79d9882937e1f13df40708b646d598b758b78998bad8bae95b8f714e8eba9a699
+8ba88b9785917e8b748b6975505f086c7e7b8b768b0813dec077749ab31f8b908b9c
+95a9088206748178777c7508800751a77bbd1e9e8b948ca1910813df4034514a5a8b
+488b6b9f7daa7f08fb0f5470238b51080efb0681b0f80fac01d9def771de03f735f7
+3e158c0a3883158d0a0e677fd93dc0f7d4cf12f77ebbb5ca13b8f8e3f84115fc0f06
+5b8b5537764f089c8805a9c4aea1b98b089c064cfba4577a6f8572867d6e89818a87
+8a888b878b799986958be68bcaf717c3f78608f707066efb07742b7e518676887a8b
+7d081378669e7cb91eb68bc1bea7aa087e9b05606564847f8b7d8b85948b9d8b958d
+988f9aaaf71e9fdc96af08cc06ad8ba0a1a3ad080e3cfb6a76f774a9f815b101f83b
+de03f88ef7af15e551d02d1e5f8b5a7b5a606d7068696bfb1e085ffb53056efb1076
+577669089279daaa059cb397bb98c5089cd505a17aa081b38b08f74de8f74cf7021f
+fb95fb9c15618b6fa176a908aff73105adf726c6a9b38b08c3b36a363f68fb53fb1f
+1f0efb2bfb79b4f74ad7f7d3c001cec1f763b303cef718158b42af4edd87e687bf7d
+8b5f8b575547638b7d8b768c859784997a97738b087578767975ab78bd1fdd8bd4d3
+9cd590a290a08b9e08c65caa5e26559bd3f4e8f712e61ed28b7d53b88b08aba1aca1
+a571a738fb33fb12fb46fb181f0e637fadf7e7cf01d5d0f792cd03d5f720152fc24f
+f3f726dff717f31e8bcb6ebc65a408f71106ae8b9fa1a4ad088397fb748b05fb6f3f
+fb4a201ff7a7f77115a9679d698b5908294ffb0d313e70cac7c6b2f731f73b1e0efb
+2b7fc0f7d4cf01f73ecc03f73eb41563a07eb21eb48bbab0b4b7087e9d055b617087
+7a8b7e8b85938b9e8babacf70ab8f72308f406ad8ba0a1a4ad088397fba88b05508b
+5f337856089f8605aec89a9cb98b08bf0682713afb838b54080e2181b2f802a79877
+12f707d377ff00558000ff00b78000b913b4ff007b8000f73e15f77f0a13acf7800a
+13ccf7100a0e7cfb6a76f775a8f814b2847712dad1c2caf779d413eef7bd9f15c6f7
+9405a3f0a9a5ae8baf8b9a6a8b58088b2b5efb4afb2e76087bf81e1513de7fa0055b
+75fb00387324856e87718b728b2fbc51f7018477367e4b8b6108c3699a9d05869988
+9b8ba08bad92ba9dd6c991f736b9b8f75790a38ea28ba10813eed66ac83a1efb118b
+70fb3c877d0854fb8505439274b68bc78be4b2f715e8ce080e2ffb78c6f8bcc68277
+1213a0f771f7931597fb1dfb96fbd6847ba38ab481e0f701f70bf74b97fb000599fb
+19945bca8ba28bb1aea8af087d9b057c7c787e7a8b668b7f9180f708087cf747f747
+f75ce5f3058b5f8475847d8f8b1efb4efb9483dd0513c081f7047dd24d8b688b7469
+6b6e089679059d9b9e91958b08b78b9b6a912c080ea2fb6a76f775a6f7ffc9f79876
+01f7c09c154e9276be8bd58baf90b492b808a8f732058c94858f818b6d8b7675417c
+08896d059b8f948c958b998ba2898b728b888b888a88087d3a05835e85608b668b35
+aa4ff0896e216b487769089279cfaa05aad69df7048c92eb9ed5dfabd908ccf73505
+9fbba8a1adad08868d0574847f897d8b848b708e828f827071457d68086836055efb
+035a464675a9f75edaf7a49cbe08c0f7305d816e8d054afbe65efb5e67fb19080ed0
+7fadf8387701cbd3f755dbf741d103f920f79415f7810a0efbc381ccf80c77f706e6
+01ece7d0e703f748c215f7640a6ef8c515a00af7358c15a10a0e2181b2f802a79877
+f701e612f707d377ff00558000ffffde8000e7d0e767b913b880ff007b8000f73e15
+f77f0a13b400f7800a13d400f7100af707f7bb15139200a00af7358c15139100a10a
+0efb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0af7ecf89c15f76d
+0a0e2181b2f802a7987712f707d377ff00558000ff00b78000b913b4ff007b8000f7
+3e15f77f0a13acf7800a13ccf7100af7b5f7fd15f76d0a0ed07fadf8387701cbd3f7
+55dbf741d103f920f79415f7810afb0bf84015f76d0a0e327fadf916ad12e3d2f798
+d18bcc13e8f75ff81215bbf70cddf736f7068ba58b9b788b6c088b27fb1e58fb283a
+08fb07fb691523b53ef21e13f0f72df2f736f7151f8bde61cd37910813e8f707c2d7
+c88bd808b76aa657fb56fb4ffbc9fb701ef734fb27155865c2e71f8bd6abed8c8fc7
+b1b99ca88b0813f0beb46340243efb352d1f0e557faaf7f8b2f78ead01f706d0a4cc
+f75dce03f81af92c15aebc5d231f8b6e886a82652a8b60a078a175a483a98ba508ae
+9de6ee1efb4afb20158b6b9471a06eaa61c477f7138b70fb073dfb85308b5c8b70a2
+8bc08b9c8e9e90a108b1f7397d8b05768b7f742c7d08896e059c8e968d978b948b91
+878b7d8b858a82887f087d4f05867488768b788b46b36bde8bf71e8bebf73abdf771
+9f8b988493849498949b98978094788e6b8b0892a88eaa8ba808f15ee8fb0b47265b
+fb121e0e6c89a8f8e0b601f7c0ca03f783d615f7820a0ee889a8f8e0b601f826ca03
+f7e9d615856efffff1199a7fffffd6e66687086c88058787897b8f82b88caf8cb28b
+b18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091a608ff002e
+6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff002019989dff00
+124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffffdeb3348bff
+ffd99998fffff13334ffffe3b334ffffe6ccccffffbe1998ffffc54cccffffd34cce
+fb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334fffff5b334ff
+00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7b3348b638b
+61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd9998a49d9c95
+b18b08ff0024199aff0034e66655201f8b5d844d7f4f08fb35f84a15f76d0a0e6c89
+a8f8e0b6bbe512f7b3e83bcaf706e713ecf783d615f7820a92f8651513f4c50af752
+8c15c40a0e73fb6a76ff00df8000ff001de666ff018a3334ff001cccccff00f8999a
+7701d4d2f7f0d303f784fb6015ff00174cccff0037199aff000e199aff00434cccff
+000cb334d2ff00abe666ff000fcccdf1ff009633338bff0082999a8bff00616666ff
+ffc08000ff0034b334ffff93999aff00056666ff000ae666ff00274cccff000a4ccc
+aeff0008b334ff001a333408c0f7305d816e8d05fffff08000ffffaf9998ffffef33
+34ffffaa4cd0ffffef4cccffffad7ffeffff33b333fffff3e666ffffb64ccdffff4c
+33348bffff9b80008bffffa06666ff0040999affffc5199aff0068666685ffffe799
+9affffaf199affffe3199936ffffe84ccdffffd8666608917905ff007c199aff00fc
+cccd15ff00096666ff0036199aff0009199aff0037999aff000c6666ff00358000ff
+0010199aff00448000ff00156666ff00564cccff00146666ff004bb334ff0050199a
+81a7ffffc6999a8bffffbbe6668b748874867378ffffb13333ffffd4ccccffff9c80
+00ffff814ccefffff6199a08ff0032199aff018acccc15ffffee1998ffffa88000ff
+ffee6668ffffad8000fffff04cccffffbd66668b8bffffed999affffb7199affffe7
+3333ffffab4cccffffb19999ff0009e667ffffe3999aff003ccccd8bff0041e6668b
+ff0050cccdff00323333ff00a7cccdff0097000194080edc7fadf822bc01cdd3f755
+dbf74cd403f82ff79e159786917a6874454d1e8b838b838d835e446868628b5a8b72
+a58bc48ba08fa692aaaaf71bdcb9ad9c08849f054c6ffb33318bfb448b31c36dcf8b
+c08bb8a9bbd6943cba71ba8b08f717edf74af4f43be4fb1c1ffb688b7e8005946999
+87ae8b08f71c06e5df61221f8b7a897986766bfb2263563f8b578b75b284d1a1afa9
+d38ba6080e55fb4cadf71ed4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f7653
+6e4b556b6c6e85718a878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3
+b3b1abada678587e63846c846e88738b778b639a76a98bff0009999a8bff000a3332
+ff0002b333ff000accceff00054ccd08fffff26666760548227677738b728b7f8b81
+997ca18196708b7b8b837c8b818b7f927e9783a07fae80ac8b08bf8baaacb5ce08e0
+ff008a4ccd05ff0008ccccff0009e6679496ff00093334ff000bcccd088d8c8a8d80
+99898d898905fffff83334fffff9cccdfffff89998fffffa6666fffff8e668fffffb
+199a08ffffff4cccff0000b333fffffeb3348905ffffe6ccccffffef3333ffffea66
+66fffff7cccdffffec199a8b798b82958ba18b938c948e9794b39dbea5ccc5aeaca8
+91a68c8f8b8f8b8f089d7f94731e6f8b778080748177625d4b4d616164696770a2c2
+9ab592ac92a88ea48b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c
+05aea8a899a58b9d8b94818b768b838a81887f080ef6fffff7cccdff00203333f8ec
+ad01ff00576666ff005ae666f84be403f848f90415580affff74b334fffd87cccc15
+fffff3e666ffffcf8001fffff3199affffd33333fffff2b332ffffdb800008ff0000
+4cce88058bff0011b3328eaeadff00104cce888b1eff0002b3328e05ff00034cceb2
+ff0006e666ff002c8000ff00098000ff00308000ff009e6666a3ff00794cccff0082
+b333ff00233334ff00b44ccd90ff0019ccccff00024cccff0018b3348bff00176666
+8bff009c0002ffff96ccccff00631998ffff6de6688bfb3f8bfb2bfb2c65fb58ffff
+fae666ffffe56666fffffd8000ffffe6ccce8bffffe83332088bffff74199ae032ff
+007c4ccefffff24ccd080efb06fb10f71a77acf813ac12afe0e6d6d7e0133cf735f7
+3e158c0a3883158bffffcd6666ff000be666ffff913334ff006f999afffff6199908
+13bcfffff56666ffffd54ccd80ffffd83333fffff3999affffdfcccd08ff00004ccd
+8805ff000000018bff000bb3338eae8b08adff000a4ccc888b1fff0002b3348e058e
+ff00244ccdff0006199aff00288000ff00086666ff002c4ccdff000a8000ff0002e6
+66ff000a4cccff0003e666ff000a3334ff0005199aff0057199aff002be666ff0043
+e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c1e0e42fb50c1f940
+e03edd12dcbcf7aabc13b8e8f80315856e85618b618b5b925ba468ddfb07f769ec8b
+fb018b848a8389827e4c4660518b5c8b66b15c8b08798b718486718a868a878b868b
+6fa37ad78bf70b8bf710cba6f7128e998c9a8b9b8b928b938a930889a4829580994f
+d6fb374351e47ba484ac8bad8ba28ea290a196c1abc8b2acaca6a897bb8b0813d8ae
+8bae83af8bdc8ba1b8a3c2088195057d7d7480708b0813b8578b5490658b08fb2f8b
+41fb3f7525080efb49fb79b4f74ad7f7c0ca947712cdbff754b213ecf73f8515e6bb
+7a5f1f8b868a858a847a43566c758b7c8b778c849784997a97738b7c8b7780867508
+850775aa78bd1ede8bd3d39cd591a28fa08b9e8b9e879c7f9c7e9e6f9d698b668b24
+8c8bf28b988d9b8f9d08a1e9cac2e48ba68b90859f8bbf8ba4a1a5ba0813dc809405
+7e7f7c8a7a8b0813ec638b8b8f638b6e8b5b7e6372475f64307a41846f88728b7608
+2fc471bb1e0e4189a8f7c6b8f774b670a712f8c1a613e8f8f8f91915fbf48b0513d8
+288c89898778058a878d88908b08a706a193877b1f8b858a8389810820fc8b05856e
+877c688b086e06878b87888a870887778c89058bca8db2b9d1898b1e8c8d909f058c
+91868c888b086f0676838f9a1f8b928c938d9508c3f79af72d8b05a29886781f8b87
+8b878a86087e4ca28baaf72205808c658d798b08fb2d8b0513e8bbf774f7628b05b2
+982d5c1f84a6070efb27fb6376f7e7cef747d90194d503f877f851158391057d7878
+88758b638b6491628bfb068b4dfb0d73260838fbfc05887e86768b798b838c838f87
+8f859288958b958b938f93919695919790a58f9a8c9d8b9c088bb086b18bab8b998c
+978d9596b8a8b6b98ba58ba385a48bb98bb4b2a3c1088290057b7b7482788b082c06
+608b68687664acf705b5f720f7078b08e006be8babaea7c0080e5cfb26b4f81cbbf8
+1bb401f78efb2615b08bb49da39708899e0578857a897e8b778b609192ac8d97939a
+9a9f08f7a2f7f6fbea8bf769f7a905a1a897a490a195bc6ca9638b658b6078767f08
+8e79059e919a8d988ba98bae828368887c84787e7a08fb9cfbecf7ea8bfb6ffbb305
+756e7d7586768361a66bb58b080e4ef7b3bb01f884f7b315b0bbfbdf8bf794f7e358
+8cfb96fbe4665bf7df8bfbaafbfebe89050ef764f91bbe01f808cff77ff103f887fb
+0b158abc678b1ef2eddef729a7f71795b990b48bb28be073d25bcd49e649b0fb158b
+fb028b246326348c8bb3698b8b08bbbbd1afcc9c084bfbbfc48bcdf7c8988b05dc8b
+c572bb4ba5669d6594626281536e68756975656874646d56754a7c4108cf0697c19e
+d09ab19fbcb8ada8a19593bf9cab948c7f8b7e8b7f8b5884547e4f6bfb2a53304747
+080e26f8a39a01f83bc003f7eff84815fb2424a066f728f40598769675927608fb26
+23a066f71eed058f778e728b6f8b6f886b836a83667d667965089b06b0c9a5c899c7
+92ab8fa88ba78bf730fb02eefb468b838b828b838a08827c05f70083c458a76b080e
+557fd4f7a5d501cbebc8b3d8b3c7ea03f76df7a515815f76536e4b556b6c6e85718a
+878a878b878b799882a38ba78b9f9596a3959fb3b9ccc908b3b3b1abada678587e63
+846c846e88738b778b639a76a98bae8bb7b0bbc9088d8c8a8d8099898d898905676e
+6e7d718b798b82958ba18b938c948e9794b39dbea5ccc5aeaca891a68c8f8b8f8b8f
+089d7f94731e6f8b778080748177625d4b4d616164696770a2c29ab592ac92a88ea4
+8b9e8bb47da06c8b08688b5f665b4d0889898c8a977c8c8a8e8c05aea8a899a58b9d
+8b94818b768b838a81887f080e20fb44d0f707adf7f7af01b2b4f77aa2d8d503f72c
+da158198869f8ba48ba08ea492a79acda2b9aaaaadaca995ac8bb18ba87a9b699575
+8f738b73088b7b897a877a7c49725e686e646b697f6f8b698b739879a308f7c6f7bd
+156fb25b9d4b8b508b537161646164715673247a407e438b538b62916b9c76a766bf
+7ccd8b08ef8b89628f8308a2068b908c908b918bb480c8328b4b8b609671a47c9985
+aa8bb28ba28da58fa7a855b86fc98b08cb8bc19db9b2b9b2a8bf9acc91a38da18b9f
+8bae83a979a3080efb0881a7f81dab01dce003f84fd415f76c0a0efbc2fb58aff8bf
+a79877f5eb12f74dff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a
+13d8820a139470f7e4157d0a0ef7187fadf7acb8f7a8ad01e0e9f85ae803f904f7c2
+1569fb422221fb058bfb058b3bdd8bf7258b9c8c9d8d9d08f854b815fc4c06b4f758
+f70cdbe88bf7008bdc3f8bfb2a8b7c8a7a897908e579158fa28da08ba08bf735fb08
+f1fb278bfb478bfb32fb2b68fb58877489748b768bfb32f7012af72c8bf7538bf728
+f721aef75c080efb2083b7f740b7f728b701dadb03f7f9f82415a48b9c869c829585
+94859384089fa00586938492839273a26b965f8b628b4a76585f585f69537c4a8675
+89768b788b66936b9e6e08a662b576c98bb58bb297aea1a0999c98999b08809a0579
+7d7880778275827686748b648b719978a278a282aa8bb18b988c998e9b08f76d8b96
+b7fb6f8b059bbfa4b4a6a0b1aaaf8ea78b080efb2083b7f740b7f728b701f803db03
+f743af15728b74907a9481918291839208777605908492839384a374ab80b78bb48b
+cca0beb7bfb7acc39acc90a18da08b9e8bb083ac78a70870b461a04d8b618b648068
+74767d7a7e7e7b08957c059d999e969e94a194a090a28bb38ba57d9e749e74946d8b
+658b858b848a8408fb6b8b815ff76e8b8a84057d4f6e5c6e73656c6e885f8b080e6a
+7fa9f816b1f7947701f862e503f3fb6815a1b89bec9cdba77da583b68bf71a8bf710
+eeacf72e8f9b8c998b9a8be64bcc238b628b557f5c6c089ad305a6f710a0bea0ad08
+839d38690578617c497936084ffbae61fb580571fb10734f776808927a05f846f84e
+1574fb004542388b6e8b76966fa584837875818808b8f76505aaf726c9a6be8bcb8b
+ba6d8b2f8b74886f846b080ea77bb8f8e8ad01e4e303f8bdf8e815f7830a0e979c76
+f8527701f840169379c89de6f84378964c80fb64fbe94bf7e971965480fb1dfd1c93
+85a691f706f8ac97c6944805cafbc5058d858e878f8b918b908f909108f74cf7c0c3
+e77c47050ea77bb8f8e8ad01f8a5e103f78bf8e815f7840a0ea77bb8f784f708f784
+ad01e4e3f744f70a03f8bdf8e815f7830afb2bfbdb15ac8ba9a590aa8c8f8b8e8b8e
+8ba774a0728b6b8b6b6e866d8b888a878b888b729d75aa8b080ea77bb8f77ff708f7
+89ad01f76ff70af754e103f78bf8e815f7840aa1fbe015ab8ba9a690aa8c8e8b8e8b
+8f8ba674a0728b6b8b6c6f856d8b878a888b888b719d75ab8b080e6889a870b2f7b0
+b1d677f751b370a8d37612f81daae3a7133b80f8b8f91a15450a133780460a133b80
+470a13b780480a13738087770513b3808d8905137380490a13b3804a0a137b804b0a
+65d215b20a0e6889a870b2f7b0b1d677f751b370a8c4e512f7b4e897aac1e751a713
+3ba0f8b8f91a15450a1337a0460a133ba0470a13b7a0480a1373a087770513b3a08d
+89051373a0490a13b3a04a0a137ba04b0afb97f215c50af7528c151333c0c40a0ef7
+41fb22d3d0a8f7f5c6f73ab312f734a4f85ca97dd613faf804f8cb152bfc8305856f
+7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f9e058c
+90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3cb90b88bc68b9e34
+8b408b7289738779846466fb4b5b8b7e8b8190828f8290808e7e8b08778b76778775
+8a898b898b898b74a479ad8ba18ba597a19dc7bcbff5a5f71b95ba92b98bb308d671
+c1311e448b517b3c4808b3f7630592ad9893af8b08cd0613fcc28b967f903b08a990
+8b9f058bb98eb890b6087087058a85877a768b08fc3b067c8894921f8b8e8b8e8c8c
+08718f057d5a7b57755608a88605aedb9b97c28b08df06a99885781f8b878a868a86
+080e3b8aa8f8d5b370a7d47612f8bca913d8f860f8f115f7850a13b87efb068c8b1f
+13d8898a87770513b8f7860a13d891a59a91a18b089be815b40a0e9d7fb0f791bd79
+c3f793b012f87dd9b9a913bcf7e8a415f7870a13dcf7880a13bc538b6ab14f8b7d8b
+4a884c69abf72bf705f721f68bf7198baa3a923508a98f058dbf8cbb93c2558e75b5
+fb0a8bfb328bfb30fb2361fb5c64fb4adbfb25f73f8bec8bc5abaea3aaa0a4a790a6
+0891a5859e738b768b797b7c6e0866436374438b080e2081aff8eaad12cba9ff002f
+cccdff00483333ff009de666ff0053e666fffffe3334aa13f8f881f90615600a13f4
+610a0efbad89a8f8e3a801f769f8cd15500a0efbad89a8f8e3a8bde501f726e8ece7
+03f727f97a15c50af7528c15c40afb10fb4215500a0efb527faaf8eba701bbd503f7
+269e15788699981f90079784a2701e7c8b788186728a888b878b888b5fc882ab8bca
+8bd9a7adf74608d6f8100590a79c9bb48b089b06908f8e901f8f9e898c058b388a67
+64248c8b1e898a8778058a868e88908b08af06ad9c76711f8b878b878a870840fc17
+05782e7a4f598b080ef7d67fb869a9f7c4b3f784ab12f9b1e61378f851d315856f7b
+7b628b087006878b87888a860887788d89058bf08da71ea88baa89af8bf70d8bf734
+9cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0590a79d9bb48b08a506908b
+8e8e8c90088f9e898c05578b728a5a8b08fb1006fb1d8b4e8e5e8b08898988790589
+828f8a9c8baa8b98868b6a8b77876d825e58fb9c6b2a6c500813b87f767f80808b82
+8b84938a9a8a9b7f96798b728b7e7787768a888b888b888b6eaa7bb18b08a28bc097
+b2e9aee0abf71ab2f75b9dea9291b68b08f406ad9581791f8b868b868a8508aefb80
+15e206f4a74f531f8b7f8a7f88810813787f4d572ffb2c8b618b80958b9e8b918c92
+8d93080ef7fe8aa8f7ceb1f782a701f9d9e603f905f80f15b1f7570590a79c9bb48b
+08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e8890
+8b08a506ac9a81761f8b878a878a860865fb56fbaf8bb0f7560591a79c9bb48b08a5
+06908b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08
+a506ac9981761f8b878b878a86082afc8a05856f7a7b628b087106868b87888a8608
+88788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b0871066a7d94a01f8b
+8f8b908c9008bff7a2f7b08b57fba205856f7a7b628b087106868b88888a86088778
+8d89058bef8da81ea88baa89af8bf70d8bf7349cabf73b8f9c8d9c8b9c08d660d1fb
+5b1e466415e306f3a74a531f8b7e897f89807f4d562ffb2c8b628b80958b9e8b918c
+928c93080ef7498aa8f801baf73ab312f734a4f857d93daa13f8f804f8cb152bfc83
+05856f7b7b618b087106868b88888a860887788d89058be88daeb2e3898b1e8d8d8f
+9e058c90878e878b0870066a7d94a01f8b8f8c908c9008baf78c05d1c3c29ca88bb3
+8bb56f8b4f8b818a8189800864fb5e05856e7f7c698b087806868b88888a86088778
+8d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e868b08780613f47181959d1f8b
+908c908c9108b3f7660513f88e9a8d9a8b988bd65eb34d8b648b3a7b3c4808b3f763
+0592ad9893af8b08cd06c28b967f903b08a9908b9f058bb98eb890b6087087058a85
+877a768b08fc3b067c8894921f8b8e8b8e8c8c08718f057d5a7b57755608a88605ae
+db9b97c28b08df06a99885781f8b878a868a86080eb48aa8f8c6c86aa7d4761213d0
+f8db8a15f7890a13b0f78a0a3ff94e15b40a0ef70289a8f8e3a7d47601f948f8d215
+f78b0a7df91a15b20a0e9e75c9f8d6a7b9b101f7e5d403f75fb315f78c0af801f974
+15f78d0a0ef28bb264a6f8e3a712f7b2ac13b0f941f8d21590a79c9bb38b08a4068f
+8b8f8e8c90088f9e8a8c058b308a6966388c8b1e898a87780589868f888f8b08a406
+ab9882761f8b878a868a860823fc7f05846983816e8b08fb80067684969b1f8b908c
+918c9108f3f87f0591a79c9bb28b08a406908b8e8e8c90088f9e8a8c058b318a6965
+388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a860820fc8d05
+1370826585876d8b086f06868b88878a860887798c89f7038d0513b0f70a069f9677
+5d1f8b778973876c08ac06a8efa3b4ab8b081370f70e0696ea898b1f8d8d909f058c
+8f888e888b086d0675838e9a1f8b918c938d95080ef589a8f76ab5f80b7701f7c7f7
+af153d0afbcdfb6015b30a0e9289a8f7c6b3f70976f71cb370a612f87ae313e4f78e
+f7e115f72b0af80af70315f72c0a13f4f72d0a13ecf72e0a0e8789adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413e8f7b6f8ce153e0a856915cd
+0613f03f0afb425015400a13e8410a0e3b8aa8f8d5b370a712f8bca913d0f860f8f1
+15f7850a13b07efb068c8b1f13d0898a87770513b0f7860a13d091a59a91a18b080e
+e98bb2f8cab46ea81292a6f8a9a613b8f70dba1577787e8b768b818b7f83887f0868
+fb29a68b05a0bfb6e4de8b08f7b206db8b9e368c5308a68ba2f7298b8f0595849177
+7d7a95a51e8b8f8b908c9008eaf87b0592af939bab8b08a8068f8b8f8d8d91088d99
+058c8e898f888b08fc5806848b85868a8708897f058a878d87908b08a906a093837c
+1f8b878b878a867f4c6c245dfb06084efb3068456e6f0813d8f83bf8c215a394867c
+1f8b868a858983082cfc7b0585667d88748b08fb6f067e8090941f8b99b1dfc2f722
+a5cfadf3a7f091a49999a68b080e6889a870b2f7b0b1d677f751b370a812f822aae3
+a7133bf8bdf91a15450a1337460a133b470a13b7480a137387770513b38d89051373
+490a13b34a0a137b4b0a0ef7ba8aa8f7bbb6f774c86aa712f7b1ad13e8f9d48a15f7
+8e0a13d8f78f0a13e8f7900a0e627fb0f7cbb0f70976f72fad01c6db03f786a415f7
+910a0ef70289a8f8e3a701f948f8d215f78b0a0ef70289a8f8e3a7b9b101f80cd403
+f948f8d215f78b0aa1f95515f78d0a0eb48aa8f8c6c86aa71213c0f8db8a15f7890a
+13a0f78a0a0eb67fb76aa7f8e3a612afd513b0f95af91a15588b628afb3c8bfb1d8b
+648e5e8b08898988790589828f8a9c8baa8b99878b6b8b77866d825c63fb5f6ffb0c
+6d4a77627f737a8b828b84948a9a088a9b7f967a8b6f8b7f73877908840771a877ad
+1eb58bab9fa8bfb7dbacf723b8f7799dea9496b58b08e506ab9a81751f8b888b868a
+870829fc8b051370866f7a7b628b087106868788861f87788c8a058be98daeb3e189
+8b1e8d8c8f9e058c90888e868b0871066a7c95a01f8b8f8c908c8f08ecf88b0591a7
+9c9bb48b08a506908f8e901f8f9e050ef78789a8f8e3a801f923e215f76f0a0ef704
+89a8f7bab5f793a801f8eff8cd154f0a0ef681adf8ecad01ff00576666ff005ae666
+f84be403f848f90415580af79bfbbb15590a0ef7168aa8f8d4b273a61213a0f89ad3
+15f7700a13c0f7710a13a0f7720a13c0f7730a0e4d89a8f793adf7c4ad69a412ff01
+e8999aff0055999a13e8f7b7f8d2155a0afb13fb8e155b0a13d85c0a0ec281b4f8e2
+b001ff0058cccde1ff01c93334a803f7e68115420a0e7a89a8f8d7b2987712f906a9
+13d0f779f9191513b0620a13d0630a13b0640a13d0650a0e9e75c9f8d6a701f75fb3
+15f78c0a0ef689a8ff005bcccdff001b3333ff016ae666ff001b4cceff0051cccca8
+01eadaf854da03ff0143ccccf72615ffffb2ccceff0004e666ffffb76666ff0018e6
+678bff006533338b9bff0002199a9dff0003e6669fff001b199aff008a4cccff005d
+999aff0021999aff005e80009108ff000bccccff003c199a15fffff98000ffffdf33
+3405ffff83999a85ffff6fb333ffffd76666ffffe03333ffff5b6666877a8a7c8b7c
+8bffff7e6666ff007f4ccdffffe6b334ff00601999fffffbb33308fffff7999affff
+d5333305866f7b7d6287086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff0003666680ff000c999aff0005e666a908ff0008
+8000b605f719ff0006cccdff00888000ff002db333aaff009f80008f9c8c9b8b998b
+ff00714cccffffa09998ff0026999cffff7fe668ff0006333008ff00068000ff0020
+e6680591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788
+778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2333408
+f765fb8815ffffe48000ffff723333ffff9a999a6cffffa9b332fffffa199a08ff00
+476668ff016a999805ff00541998fffffaccceff0041b334ffffe5cccc8bffff9f80
+008b7a89798776080ece89a8f8e3a801ff0146999aff005de66603f71af90515690a
+0ed98da572adf8d9a612f8caa613b0f85e8d15d98ba8438c4408a68ba1f729058b8c
+8c8d8b8c0893869376767f9c9f1e8b8f8c8f8c8f08ebf8830591ac9097af8c08a806
+8f8e8d8e1f8fa1898cfb088a208c888a8775058a878d8a8e8b08a906a58a92858b7c
+8b848a838982082cfc7d051370856b857d678b08fb680673828e9e1f8b918c938c95
+08ebf87d0593b39291ac8b08a8068f8b8d8d8c8e088fa1898cfb098afb008c898a86
+75058a878d8a8f8b08a806a49487791f8b858a838981082afc850513b0846382856b
+8a087006878586861f877a8e89f7008e051370b68cbe8bbc8b08ede48a8b1f0ec68a
+a6f774c5f7cba601f742dc03f832a515f7920a0ef7fe89a870adf8dca7121360fa44
+f8d21591a79c9bb28b08a406908b8f8e8c90088e9e8a8c058b318a69653b8c8b1e88
+8a8778058a868e88908b08a206aa9982761f8b878a868a860823fc7f05826483816c
+8b08fb41067684949a1f8b928d948d9408f3f87f0590a79c9bb38b08a2068f8b8f8e
+8c90088f9e898c058b348a69653b8c8b1e888a8778058a868e88908b08a106ab9882
+761f8b878b8689860823fc7f05856c84796d8b08fb41067e8b838c888f85908a908b
+928b928c948e9608f3f87f0591a79c9bb28b08a206908b8e8e8c90088f9e898c058b
+348a6965388c8b1e898a8778058a868e888f8b08a506aa9882761f8b878b868a8608
+21fc870513a0826484836b8a086e06888b89898a8808136086750513a08d89051360
+f7208df8f68b0513a0f702890513608d8d90a10513a08e8a8d881e6e067482909c1f
+8b908c928d94080ef80f8bad69a6f8e3a712f9dca51370f7c1f8d21591a79c9bb28b
+08a206908b8e8e8c90088f9e898c058b348a6965388c8b1e898a8778058a868e888f
+8b08a506aa9882761f8b878b868a860820fc8c05826485876b8b086e06888b89898a
+880886758d89f7018d0513b0f8ef06d89e375c1f81a507a4f727058b8d8c8d8b8d08
+137097808e7d7e7a95a61e8b908c908c9208f4f8810591a79c9bb28b08a406908b8f
+8e8c90088e9e8a8c058b318a69653b8c8b1e888a8778058a868e88908b08a206aa99
+82761f8b878a868a860823fc7f0513b08367847e6a8b08fb36066e81929c1f8b928c
+938e9508f3f87f0590a79c9bb38b08a2068f8b8f8e8c90088f9e898c058b348a6965
+3b8c8b1e888a8778058a868e88908b08a106ab9882761f8b878b8689860823fc7f05
+8467847e678b08fb3a067384949b1f8b928d938d94080ef7308aa9f7c4b3f70976f7
+1db36fa712f90be613e4f82ff7e115e206f4a74f531f8b7f8a7f88817f4d562ffb2b
+8b618b80958b9e8b918c928d9308cff8ca1513ec648cfb738b057d4d7c55775308a8
+860513f49cb6bfe9cc8b08c906a39481781f8b878b878a86082bfc8005856f7b7b62
+8b087006878b87888a860887788d89058be88daf1ea88baa89af8bf70d8bf7349cac
+f73b8e9b8d9c8b9c08d460cefb5c1e4e8bb2f75d0513ec90a79c9bb58b08a506908b
+8e8e8c90088f9e898c058b2e8a671e0ef7758aa9f7c4b3f789a701f86ce603f9abf8
+d315f7930afc70f88915f7940aadfb8515f7950a0e888aa9f7c4b3f789a601f86ce6
+03f76df8d215f7940aadfb8515f7950a0e9d7facf790c379bcf799b012d8d813d8f8
+9af7c715f7960a13b8f7970a13d8f7980a0ef7ec7fad74a8f7a9b2f7a6a775ad12f7
+e5e6f83ae313aef93ff90415f0cd45fb1d1f8b6b8767836469fb4723fb01248b308b
+3ddb8bf7218ba58da791a908b4f766f70ee2df8b08f78bfbbb1591a88da68ba58bf7
+2b2debfb238bffff63b3348bffff701998ffff794ccc5bffff4cb33408ffff9cccce
+8bff002c6666f77a05137691a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff002d199af77eff00
+61cccc8b05fffffaccceffffe6ccccfffffe4cccffffe7b3348bffffe880000813ae
+fb2bec2ef71e1ef7468bf721f721b2f75c080e8b8aa8f7bbb6f789ae6fa612f735da
+13d8f848f7d7155afb9005856f7b7c628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087106697d94a01f8b8f8b908c8f08ed
+f88b0592ad9895b58b08a906908b8e8e8c8f0813e88ea00513d88b2b8a6b1e13e86a
+8b518c688bfb4e8b57317e46897f8a808b818b3cca66c5826d79776973623cfb194a
+406b8b088106888b87888a860887788c89cd8c05d28cb6d0c7f70208c3f1a1b4f68b
+08bcf7901562fb653e8b054354a2d61f8b968c988e999de8de9bc38bd18b9b898b79
+8b868a868a85080e4081c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0a
+0e2081acf813acf7977701ded9f77cdd03f86ff7b915db67cd261e338b5a536e6195
+b19cb49ea8b5caa8a5e193dd93c9b1b0f5087406765763783d85fb567bfb09fbcd8b
+fb2608fb05cb60d4f719f70ef724f7331efb7afba2156161c3d0f707c5f723f1b7a7
+ffffca199affffbde666fb0c54fb232e1f0efb137f9ff7719ff73fa112d6d8f749df
+74d113f8f7e1f71a1549624f4c6d5c98d71e8bac8bb69aadae99a893a68b08b9a857
+601f13f4c8f784158b4d4f6afb3165baf719c1b9d08b08b3926b7d1f64cf153f8b4a
+6d534f544f6f468b3e0822be56f31e13f8f6dbcbd61f8bb573d626900813f4f708b3
+c3a98bbe8ba879b6308b080efb777fc0f7f2be01c4ddf72bd903f724f7e915f7990a
+0e237fb5f80ab101dfddf777d803f81df7ed15556cfb99fb0f5c71c2cf1e8cf734dd
+e6ce8b08a7bc7f5c1f55ec15768b63815d72426340278bfb118b3caf40e38bd58bb1
+abb1aec9c3bdf7088bf7108ad679d262c90841f70940814ab0088a06898985821f8b
+6b9867ba7bdf6ed37c8bfb038b838b8389827999738f738b080efb3481c7f7faaa01
+dedef751d003f7f7f80615750afb50fb3f15760a0ef74c7fc4f73caef71bc501f791
+cff749d203f82cf7f915f79a0a0efb2d7fabf757aef734ab12d5cbf74dd26fc813f8
+f71ede15a6788e82817183645eb46ad5f729c3efce1e8bc65ea1788d0813f4f79b0a
+13f8f79c0a0e6381c7f7ddc701f70cdaf736d903f88ef7f415940a0e6381c7f7ddc7
+c6b201f70cdacad0a9d903f88ef7f415940ab4f85f15f79d0a0e30967693a8ff00b6
+cccdff00223333f714ce5fa712f73eff005580001334f86bf7f715f79e0a132cf79f
+0a13b4f7a00a1374f7a10a0e507faf67c0f7f1b270a6121310f7e1f70715856a8063
+8b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b
+9491a190a508b7f77b0592b1ff00064cccff00026666ff0022b334ff0003999a08a8
+8e05ff0004b334ff0001e666ff00014cccff0012199a8994088b5189631efb490665
+8b768c668c86868c779187aa879f8b8b708b7684697e527322764f79697f72808182
+8b08838b88958c988c8c8b8d8b8c8b9982977c8b788b7d7b87778a898b888b898b73
+a376a78b08b18baca4a1ba9fb2a3de9edd081320a1e995a9ae8b08c006a293867c1f
+8b848982897f080ef381c74faef801a8a27712abc9f826d9137cf895f70715836a82
+638b788b78927da98bbb8bb8adb9c6889485937d8b0813bc716d6e77818b848b8890
+8b978b9490a191a508d7f7d20575876086808b08fb63fbeb21f7f405628064825b88
+088f73058b878e898f8c089c8e059f8d9b8d8f7d08946d05846e836e83677222764f
+7a6908137c7f727f81838b838b88958c988c8c8b8d8b8c8b9981977d8b788b7d7b87
+778a898b888b890873a376a61eb28baca4a1ba9eb2a4de9edd088f99dffba6058c84
+8f888f8b908b918e909208f765f7df8e8d050e5a81ccf7e8a79b771213a0ff0065cc
+cdd315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999ffff
+f58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff00b000
+018bffffeaccccffff9f199a05846c81618b788b78927da98bbb8bb8adb9c6889485
+937d8b716d6e7c818b848b88908b97088b94909c91a508c3f77805ff0003999aff00
+11e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f836508ffffe8cccc21
+ffff5080018b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813c0f7a20a0e
+fb0681b0f80fac01d9def771de03f735f73e158c0a3883158d0a0e6081c7f7ddc75f
+a712f73bff00578000ff00528000e07ada13d4f845f71015f7150a13b4890a13d48a
+0a13d88b0a0e43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f
+0a0efb4081c6f7fbaa01deddf751d003f7658115720a0ef77281c7f7ddc75fa712f7
+53ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d813daf74af7d5
+15850a13dc860a13da870a13ba880a0e51fb7ec8ff02178000ff004c800001f871ff
+0048666803ff01608000169a0a0eb8fb81bff743b3f805b3f761c101ddd2f820d203
+f768a9155f7cb4bf1f8bab91ad93ac9fe2b3e5d78b9e8b9b8198700848fbb405736d
+737d738b08f7aaf80515b79a65581f8b6a8566836b773464303e8b798b79917fab08
+cef7b505a7aba3959f8b08fb2bfc10159a759d84a68be78be3f701aaf71b92a78ea5
+8ba38bd66dbf488b618b6f79726f9cf0a2f72ac78b089b8b97859d7c8f8794898f8b
+089e9a9da7967ea3671f638b5769675c6055714a792e80a07798708b3c8b2b3566fb
+34857188738b748b40aa54cd8b08ae8ba997a5a56bfb34777b7c7afffff5b333ffff
+f44ccdfffff24ccdfffff7b333788bffffdf999a8bfffffd6666ad698b0875827179
+74a978a61faa8bff002b999aff00026666ff00266666ff0024999ab4b2b4c5a6f70c
+080e3581cb4bbcff01438000ff004c80004cca121380f76bf7c915970a1350980a13
+a0990a0e6381c7f7ddc712f70cdaf736d98ac513f0f89bf830159c81956b1e658b8d
+5f8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab
+98b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f
+088b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e8980
+6405826b83628b788b78927da98bff00134ccc8bff0012e668ff00058000ff001299
+98ff000a8000fffff3e668ffffe48000fffffa4ccc748bffffe880000813e88b7f8c
+838b858b6d6f7c6e7d08966f05e9b095ab8ba68b9a89978898899689988b9d8bff00
+0c3333ff00028000988fff000c9999ff000e8000ff000d6667ff000e6668ff001019
+9aff000e9998ff0012b333889485937d8b08716d6e77818b0813f0848890971f8b94
+90a191a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b97080e5d
+81ccd7bdf76aa79b771213e0ff00f04ccdff0140333415ff000ab334ff0026ccccff
+00098000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b6b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b818b
+fffff6e66689fffff2199a846f087c48058673897a8b798b649872c08bff0039e666
+8bff004b999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd0584
+6c81618b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b
+97088b94909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b
+970813d09c81956b1e658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffff
+e16666ffffbf8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080ef7
+7b81bcf8247712f71dd778e1f0dbf735d913ecf811d11552a874b11ee48bb2c9d2f3
+088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c
+818b848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff000966
+68ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b
+809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e836608
+69fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0f7310513dcf7a30a13
+ecf7a40a0ef77b81bcf8247712f71dd778e1f0dbf735d98bc513ccf811d11552a874
+b11ee48bb2c9d2f3088e89806405826b83628b788b78927da98bff0013b3348bff00
+131998ff0005b333ff0012e668ff000acccdfffff41998ffffe44ccdfffffa3334ff
+ffe8cccd8bffffe866660813ca8b7f8c838b858b6d6f7c6d7d08966f05eab095ab8b
+a68b9a89978898899689988b9d8bff000c999aff00029998ff000d8000ff00043334
+ff000ce66699ff000d199aff000e199cff000fccccff000e1998ff0012199a889485
+937d8b08716d6e7c818b0813ec848890971f8b94909c91a508c3f77805ff00039998
+ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f8165086efb0205
+41fb125a3c598b798b809c8ba68b978ba492a908b8f75b058f9d94a98b978b9c8195
+6b8b658b8b5e83660869fb320536fb0b66626b8b788b799c8baf8b968ea392a908b0
+f7310513d8f7a30a13ecf7a40a0e4e7fb5f778c1ceb762c712f746dcf745dc13ccf7
+d1a9156577acbb1f8bc8a4a59694b1aaac9fa88b08ad92646e1f355841471ef75cf7
+4c15bf72b95c1e638b53754650088906b1f3b1b9b6bb08769f0513ec7f817b7b7c8b
+0813dc658b669e5b8b758b597c64fb0008a38005a2b79fa9b28b0813eca68ba588a0
+8b9d8b9a8e918c473e43fb0f8b33084aaf61c7f705f716eff7121e0ef47fad6bccf7
+63c0dba7987712f70dd67bff00558000ff00718000d913a5f791a115f7a50afffff8
+4ccdff012a333415132bf7a60a13b5f79f0a13abf7a70a13adf7a80a1361f7f5fb41
+15f7a90a0efb0d7fadf784c0dba7987712f80fd913c8f791a115f7a50afffff84ccd
+ff012a333415ff0009b334ff0026ccccff000a8000ff0026cccc8bff0011199a0813
+d87f0a13e86b8b5e845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+818bfffff6e66688fffff2199a856f0860fb5a05877a88788b7c0854b56ebcf70bf7
+12f0f713c16eb85c1e648b526d4f520889060efb2d81acf731bc75b4f732ac12c4ca
+f77ed713dcf70cdf15a7798e82846e85645eb868d01eff0035b3338bff00338001ff
+000d4ccdff0028ccccff0021b333d1ff0039e666b6ff006680008bff0056999a8be1
+58d02e8b488b897f4a8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a
+897a897b7f867d897d8b0813bcf7aa0a13dcf7ab0a0ece81b0f746b2f72ba77aac12
+f73eff00558000ff002f6666ff00494cceff00c34cccff00494ccc13deff0065cccd
+d315fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff5
+8000ff001fcccd8bb18b8ab7ff0008e666b108ff001eb334f719ff006133328b05ff
+fffe199afffff166668afffff180008bfffff2199a8b56ff000b8000fb0bff007033
+348bff001c80008bff001ae666ff00043333ff0019e666ff000ecccdff004d0002ff
+002be666ff003be664ff0069e6678bff007633338bd3fffff03334e5ffff934ccc8b
+ffff8cb3348bffffbc199affffa03334ffffe7e666ffff9ccccc08ffffa0999a8bff
+0011b333ff004c333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff0011
+199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813eef7a20aff00d733
+34fb2b1513dee5ff00228000f726ff005db3321eff001a80028bff000e6664fffff0
+199aff000c8000ffffe3e666ff000b4cccffffe6999aff00026668ffffdbcccc8bff
+ffe1999a8bffffd86666fffffa3334ffffa9999affffdfcccc53ffffe74ccc60ffff
+dc333479ffffdee6668b08ffffe66666ffffd9e668b1f41f0efb0481c757a8f73cae
+f740a612f70fcfe7d9133cf7d7f77a154b065c76b1b6b8bbbade1f988b9989988808
+4dfbaf15846a81638b780813bc78927da91ebb8bb8adb9c6889485937d8b716d6e77
+818b848b88908b978b9490a191a508c6f78c0590a08d94a38b08a4068e8d8c8d1f8b
+a38a8d3789fb0a8c05ffffa3b333ffffb64ccd543d1f8b52c66bb3876e8571767262
+73655c476d8908137c7e8a0586848c7b8f8508c68d05ab8cb3b5a2b4aec7aabeb38b
+08a9060efb3481c7f7faaa01dedef751d003f7e4f93315dd0affffe6999afb431575
+0afb50fb3f15760a0efb3481c7f7faaae3e712dedea7e7cfe730d013f8f756f8d115
+d20a13fcf73416d20a13fa8cfb5f15df0afb50fb3f15760a0efb109676f826b001f8
+4aa503ff00c2cccdd315fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0049199af7d4
+998b05cf98754c1f8b838b838a8308a58f0590b990b197c508fbe9067c517e657b5d
+08a38705addca0a7d68b0898060efb777fc0f7f2be01c4ddf72bd903f7d5f92e15e5
+0afb45fbd915f7990a0efb2d81aaf733b475bcf732ac12dad6f73ccb94a513bef784
+a0154b75c7cc1f8b9b8c9b8d9a978f978d998b0813def7ac0a13be6b8b76a6638b6f
+8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b95974c8b
+fb0f8b35fb016ffb0d856f88728b758bfb00d167d78bdf8bcbb697c0088b8e8c8d8b
+8e8b9685957d8b818b75877f6a087f696a74668b080efb6481acf813ac12c6df77cb
+dfd658dd13d8f7428115900a13d4910a13e8920a0efbb181c7f7eda79877f5eb12f7
+5deb1398f75df8ce157d0aff002c4ccdffff063334157e0a13b87f0a13d8800a0efb
+b181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af73416e20affffe2
+4ccdffff033334157e0a13bc7f0a13dc800a0efbc2fb58aff8bfa79877f5eb12f74d
+ff00558000ffffbf8000eb13b8ff00fb4ccdff0140333415810a13d8820a139470f7
+e4157d0a0ede7faef783c0d7b170a8957712a0cdf782d6f74bd913c7f85da1156974
+a5b51f8bd6b6b39695b1aea5979f8b08a3a0745e1f264544531e6cf7621513cfc0f7
+690576886086808b08ffffff4cccfffffce6660513e7ffffe28000ffffffccceffff
+968000ffffff4cccffffe3b3348b0813d7624d8d8b1f13e7878988790513d7898290
+8b9c8bad8b99878b688b76866b82587822794d7b6980727f81828b088189959a9980
+997b1f768b7d7b877708860773a874aa1eb58baca4a0ba9cb2a0e099dd0813e79ce9
+93aab28b08ff006533348bffffc1ccccfba005877a88788b7c0854b56ebbf70cf712
+f0f713c16eb85c1e648b526d4e52080ef70881adff00bbe666ff0027199a96c0dba7
+9b7712f73eff00558000ff00668000d6f74bd913f7f834f7f915ffffe8e66621ffff
+5266678b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff00
+11199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85fffff9
+4ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a84
+6f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff00
+8be666ff00ae33338bffffec999affffa7199a05877a887a8b7c0854b56ebbf70cf7
+12eef713c16eb85c1e648b526d4f5208898baaf710058f9d94a98b970813ef9c8195
+6b1e658b8b5f836508d5fbe1156974a5b51f8bd6b6b19695ff00261998ff0022e666
+ff0019e668ff000c199a9f8b08a3a0745e264546531f0e8781c7f78ec7dbaef73ca8
+a57712f7ffdd68da13faf84ff86f15ffff5ee6668bff0018199af7000599cc96b38b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea333408ffffec666633ffffb9999a8b8368ff
+0046999a8bffffae3333fc0405fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff00091999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff002619
+9af73a05b6b4cea0af8ba08b99858b6c8b7d8978836908773a0513fc836b82628b78
+8b78967da98bbb8bb8adb9c6889485937d8b716d6e77818bfffff8e6668bfffffd19
+9a908b97088b948fa192a5089fdb0513fa93ae90a28b9d8bc7709f648bffffcc3334
+8bffffac8000ffffdd8000ffffd04cccffffd9800008ff0022199af72dff00a0e666
+8b050e30967693a8ff00b6cccdff00223333f714ce5fa712f73eff005580001334f8
+6bf7f715f79e0a132cf79f0a13b4f7a00a1374f7a10a66f7d015ec0a0e6381c7f7dd
+c701f70cdaf736d903f88ef7f415940a25f8b715ce0a0e51fb7ec8ff02178000ff00
+4c8000bdb201f77fd0f741ff0048666803ff01608000169a0af731f91815f79d0a0e
+6381c7f7ddc701f70cdaa3c5dbd903f88ef7f415ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a44598b798b
+7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b52695d508e
+829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c05847188758b
+788b52ab74ae8bff0017e6668bff00154ccdff0005e6669f96ffffeb999affffd799
+9afffff63333ffffe133338bffffe14ccd8b7f8c848b858b6c6f7d6d7c08967005ea
+b095aa8ba78b9989988898899589998b9d8bff00144ccdff0006e666ff0016b333ff
+0009199a9eff001f8000ff001c8000ff001e999aff0029e666ff0023e666ff003499
+9a088e89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e
+77818b848b88908b97088b9490a191a5080ef7f57faef765a8f7feae12f4e3f791e0
+46c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a712db
+cef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0ef70c89adf7c6aef7
+1eb2a777c7a712f72da4f835e059a813fef8fff8ba15ffff29b3348bff00054ccca4
+0591a79b9ab28b08a5068f8b8f8e8c90088f9e898c058b318a6966388c8b1e898a86
+78058a868f888f8b08a406aa9982761f8b878a868a8608fffffae66673ffff7a199a
+8b057d8993921f8b8e8b8f8c8d08728f057d597958755508a78605afdb9a98c08b08
+ff0057999a8bffffa36666fc490583687d7f668b086e06858b89888a860887788c89
+058bd68dba1ec38b8c89e08bf7548bd6e59de18e9b8d9a8b998bcd65b541ab6e974e
+8d688b083f8bff001d6666f71eff00a7999a8b0513fdc08b957e8e3b08a890058cc1
+8fbe92bd087187058a84867a778b08fb98fb6815e60613feecbb5d451f8b7f8a7f88
+7e7e4e562ffb258b4b8b7c908b9e8b908b908d91080ef70281adf782c0cbc75fa712
+f73bff00578000ff00628000db6fdaf718d413edf81cf7a7156bfb2c05877a88788b
+7c0854b570bbf70cf712eef713c16eb85c1e648b526d4e5208898b9fc50513ebff00
+06199aff0011999aff0003e666ff002566668b9d8bc7709f648b578b60762ffb0008
+8a8cff00024ccdff0009333405ff0009b334ff0026ccccff000c8000ff0026cccc8b
+ff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b0813dbf7170a13
+ebcaddc2c6af8ba08b99868b6c088b7d8577846908edfb8f1513cd6974a3b51f8bd6
+b6b39695ff00261998ff0022e666ff0019e668ff000c199a9f8b08a3a0745e264546
+531f0ef7b27fb070a8f78fbd6fb26ec3f790a871b012f96fd9b9a9138980f8daa415
+f7870a132180f7880a130b80538b6ab14f8b7d8b4a884c69abf72bf705f721f68bf7
+198baa3a923508a98f058dbf8cbb93c2558e75b5fb0a8b08139180ffff6866688bff
+ff6a4cccffff7c4ccc5affff44b33408ffff9d4ccc64e506ffffe08000ffff51199a
+ff00503334ffff76e666ff00a64ccc8bec8bc5abaea3aaa0a4a790a691a5859e738b
+768b797b7c6e0866436374438b08fc05f8b4152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a081345806c88058787897b8f82b88c
+af8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e6
+66ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e
+8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe23334080ee981aaf733b475bcffffdbe666ff0027199af7
+24a77aac12f73eff00558000ff00348000d6f73ccb94a51393c0ff0065cccdd315ff
+fffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff58000ff
+001fcccd8bb18b8ab7ff0008e666b108ff00204ccdff008be666ff006b80018b05ff
+ffffcccc8affffffb334ffffff199affffffcccc8a856f88728b758bfb00d167d78b
+df8bcbb697c08b8e8c8d8b8e8b9685957d8b08818b75877f6a7f696a74668b4b8b75
+c78bcc8b9b8c9b8d9a0813a3c0978f978d998b0813c3c0f7ac0a13a7c06b8b76a663
+8b6f8b6a7c73809ccfa7f708f18bcf8b9c5a8c4b08a58f0590b790aa95c24c8b9597
+4c8b08139bc0ffff9366668bffffb04cceffffab199affffdb8000ffff98e66608ff
+ff9219998b9bff0045333405ff0008b334ff0026ccccff000b8000ff0026cccc8bff
+0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e845c85ffff
+f94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689fffff2199a
+846f080ef78a89a8f90b7701f8cff7de15f7b10a48fc72159ad30596bfb7cbd4b608
+d3fb7b058d828c858a8587797585708b087906878b87888a860887788c89058be08d
+adb1d3898b1e8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a0
+86947f8b818b81847a7408fc29fcb705746b7875648b088006868b87888a86088778
+8d89058bc88da4a2e1898b1e8d8d8f9e058c90888e878b0879066d8b7e978f9b8c91
+8e908f9108f73df77905c15f9c4d8058087c4305856e7f7b6a8b087906868b88888a
+860887788c89058bcd8dadb0cd898b1e8d8d8f9e058c90888e878b0878066c8b859b
+91a8080ebd89a8f8337701f79df78515f7b20a83fb8515cf8b9dd60595b8a3bec1b3
+08c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8da5a7bd898b
+1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f8b858b7d87
+7b7608fba4fbef05726b7380748b878b89888a880886768c89058bb98d9d9cc9898b
+1e8d8d90a0058e898e881e8406738b78909fa608f70ff73105b2618b57805c080ef9
+1189a8f79bb2f7b5a896771213d0f769f8cd152afc8105fffffa6666ffffe3ccccff
+fff04ccdfffff2199affffd74ccdfffffc199a086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff00036666fffff4e666ff00
+0c199a91ff001e800008ff002a199af76aff017b999a8bffff654cccfb6505746b78
+75648b088006868b87888a860887788d89058bc88da4a2e1898b1e8d8d8f9e058c90
+888e878b0879066d8b7e978f9b8c918e908f9108f73df77905c15f9c4d8058087c43
+05856e7f7b6a8b087906868b88888a860887788c89058bcd8dadb0cd898b1e8d8d8f
+9e058c90888e878b0878066c8b859b91a8089ad30596bfb7cbd4b608d3fb7b058d82
+8c858a8587797585708b087906878b87888a860887788c89058be08dadb1d3898b1e
+8f8d8f9e058c90878e868b088106768b7d9c7eb508fb3bf8b20584a086947f8b818b
+81847a7408ffff229998fbbffffe6f33348bff002f3333f7840591a79a99b48f0813
+e0aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc999896fffff33334fffffa199affffe2333408f95afb8315f7b10a0e
+f7bd947695a8f740b2f729a3aa77121378f762f75b15ff00e6199a8bffff9ae666fb
+1505726b7380748b878b89888a880886768c89058bb98d9d9cc9898b1e8d8d90a005
+8e898e881e8406738b78909fa608f70ff73105b2618b57805c087a40cf8b9dd60595
+b8a3bec1b308c3fb2c05917b827b6d8b087e06888b88888a880886768c89058bcf8d
+a5a7bd898b1e8d8d90a0058c8e8b8e858b758b7d997eae08fb12f7e90583a0818f7f
+8b858b7d877b7608ffff73b334fb47ffff0419998bff00128000ff0052333405ff00
+0b6667ff00328000ff00124ccdff00444ccc8b8b8bff0002999a89ff00006666898b
+6c8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef8000
+8bfffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd50513b8907fd4a305
+f7edf77915f7b20a0ef7d789a8f7bcb2f78cae01f83bf7d715b98b56fb9005856f7a
+7b648b087a06878b888889860887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90
+888e878b087b066b7e94a01f8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb
+41058c868c868b87087478846a1e7606878b87888a860887788c89058be18dadb1cf
+898b1e8e8d8f9e058c90888e868b0880066e8b789b85a70860f7410577df65ad368b
+08608bf78af79b0590908d8f8b8e0891818d831efc91067e8088831f8b888c888d88
+08f731fb9b6a8b05368b5769533708fb08fb4105786f727b6d8b088006878b878889
+860887788d89058bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f99
+1f8b918e94939608f707f74105b7cdb098b98b08f70bb515fb27f789f80d8b050ef7
+4c89a8f744adf732ad01f7ebf75f15b58b6dfb1805846f7b7b648b088506878b8788
+8a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b088406668b81
+9991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88888a
+860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b7f9f
+80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b7e85
+937d08f3fb406e8b05398b6566493d08605805777473766e8b088106878b86888a86
+0886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b087c06658b849aa4
+a808b6be05bec7a9a0b88b08f702b1152df72ef77e8b050ef92189a8f7bcb2f78cae
+70a81213e0f769f8cd152afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199a
+ffffd74ccdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f
+8e9f889008698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e8000
+08ff0030999af78bff01707ffe8b05ffffe7e668ffffed4cccffffe9e66871ffffe9
+1998ffffddb33408fb08fb4105786f727b6d8b088006878b878889860887788d8905
+8bd18db0ade0898b1e8d8d8f9e058c90898e868b087706707c8f991f8b918e949396
+08f707f74105b7cdb098b98b08b98b56fb9005856f7a7b648b087a06878b88888986
+0887788d89058bdb8dadb1d5898b1e8d8d8f9e058c90888e878b087b066b7e94a01f
+8b8f8c908c9008c0f790bf8b05b98bab7e9a4908b6fb41058c868c868b8708747884
+6a1e7606878b87888a860887788c89058be18dadb1cf898b1e8e8d8f9e058c90888e
+868b0880066e8b789b85a70860f7410577df65ad368b08608bf78af79b0590908d8f
+8b8e0891818d831efc91067e8088831f8b888c888d8808f731fb9b6a8bfffe1b4ccc
+8bff0028b333f7630591a79a99b48f0813d0aa8e058f8f8d9b87940813e05e8a678a
+648b0813d0658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc999896ffff
+f33334fffffa199affffe2333408f91ffb601513e0fb27f789f80d8b050ef8219476
+95a8f740b2f729a37bad9877121368f762f75b15ff00decccc06ffffe8ccceffffed
+6666ffffe93332ffffe66667ffffe43334ffffdf333308605805777473766e8b0881
+06878b86888a860886788d89058bcd8dafadcd898b1e8e8d8f9e058c90898e868b08
+7c06658b849aa4a808b6be05ff0026999aff002d6666ff001a999aff0017199aff00
+1e1998ff0008800008ff0047cccc8bffffe2e668fb1405846f7b7b648b088506878b
+87888a860887788c89058bcd8dadafc6898b1e8d8d8f9e058d90888e878b08840666
+8b819991a908aaf718b28b05b78b9b74a75108a25805996f7b7b658b087c06868b88
+888a860886788d89058bce8dacb0cc898b1e8d8d909e058c90888e878b0880066e8b
+7f9f80a30873be056dcb6ebe418b08708bf72ff74005999a82907c8b08fbfe067c8b
+7e85937d08ff00676668fb3ffffe9d66648bff00128000ff0052333405ff000b6667
+ff00328000ff00124ccdff00444ccc8b8b0813b4ff0002999a89ff00006666891e6c
+8061824280088873b5870594fffffeb334ff0006199afffffb4ccc8bffffef80008b
+fffff6e66689fffff34ccefffffbe666ffffee4ccc0840fbd5907fd4a305f887f779
+1513282df72ef77e8b050e78fb7cb7f8a0b0f70976f72fadc77612b8b5f7ebe757da
+13fdf8b9f8b115d934b23a1e518b677f388b0852fb43a88905b2dcb1d5f70b8b08bf
+b96354575e23fb181f5f067d827f7f839186941fd10613fee8a53f551f8b4a5b24fb
+1f7efb078038578b2c8b33ec80f7008be38ba3a192ae8c8f8b8e8b8e8b9e7b927b8b
+085d8b535a5c8b578b599c8bbc8b918c918c919cdce293be8ef77c97b9f7368bcf8b
+da4cac539d08f711b8a0ef8baf08fb49f73015f7030a0efb38fb71b3f73dabf757ae
+f734abf75e77129ca9f792d26fc913fe9cfb0c1550b761dfb1b792b29980947b1e67
+8b6b6e678b087372aeb1c4c1b2ccf72ac3efce1f8bc65ea1778d0813fda893d1b68b
+cf8bcd469e578b458ba27f308b7e587f647b6108a38605a7cfb3bcd58b08abb37760
+636252451f66067a8b81689e8b08c60613feb09c6d683d4b57521ffb035744461fff
+00f16666f90115bd06ff00266666b9ff002f3334b8ff002ae666b208ffffef999a98
+05ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafffffe4199aa4ffffde
+e666a808ffffe966667e05ff001b4ccd65ff001bcccd5eff001366665c080ef7128a
+a7f745a5f801a08da812f73dd251d213f8f967f8fc15f7740a13f4f7750a13f8f776
+0a0e96fb5ca8ff00a0999aff001e6666f82e77f790a701f5c903f776f81b15a1819c
+6f1e6306818b838a8980877db2978b628b5e523c8bfb018bffff994cccc9ffffd680
+01ff0052e666fffff7cccd08ffffe5199affff8b666605846f807b6c8b087a06878b
+87888a860887788c89058bc88dacadc8898b1e8d8d909e058c90888e878b087a0675
+82949c1f8b908c918d9208ff001ae666ff0074999a05ff006a999aff000a1999ff00
+628000ff003cb333b1ff00a5999a96bd88ba93ad9bccb9748ba20892848c831e6206
+3a8b99fb157e50ffffda4cccffff5fb333ffffc34cceffffccb333ffffb04cccffff
+f5b33408ff009a199aff029be6688a8d058b76897e6b4f8d8b1e89898679058a868d
+88908b089b06a293827b1f8b858a858a8408ffff75e666fcea05ffffca3334ff0007
+6666ffffdbe666ff001dcccd8bff0050cccd8bf70ec5d48bc5080ef71d7fadf780c6
+91c6f785ad01e4e9f85de803f910f7e915f7b30ae57f15f7b40afba2f7ba15f7b50a
+0efb047faef731bc75b4f735ac12dfd9f773d4139cdff720153ab244eaf72be4f745
+f715da6ad0261efb3940fb5c251fff0127ccccff006133331513dcfffff2ccceffff
+fb1999fffff08000fffffcb333ffffefe6668b0813bc678b809e628bffffe44ccd8b
+6dfffff7cccdffffee800081ff00143333ff0058b333ff0031b333ff005a8000ff00
+414ccd8bbe8ba6658b428bfffff24cccfffffe8000ffffea4ccefffffc4cccffffe6
+999908ffff2accceffffdd999a15ff00061999ff00016667ff0008199aff0002cccd
+ff000833338b0813dcac8ba070b38bff0020199a8bff0025ccccff00128000ff0016
+6666ff000bcccdfffff0199affffac8000ffffd9ccceffff983333ffffb0cccc8b4e
+8b78c98bcb8bff0010cccdff0001999aff001233338eff0012cccd080ef7169476f8
+eed25ea81213a0f8c3f89315f7b60a13c0f7b70a0e819576f820c462a91213c0f82c
+f7ba15f7b80a13a0f7b90a13c0f7ba0a0ef7169476f8eed25ea8ca761213b0f8c3f8
+9315f7b60a13d0f7b70a62f7cc15808484808980887f8f868c8908da35058c8a8e8a
+8e8b8d8b8f8c8d8d8f8e8e8f8c8f088e078b73f714681e818b8286858708fb1a8515
+8184848089818a888b898b898b858d878e8808dd37058c898e8b8d8b8f8b8f8d8d8c
+8f8e8e8e8c8f8b8d8b8d8a8c0863f706058794848e7e8b818b81858587080e819576
+f820c462a9f7737712f821d113d8f82cf7ba15f7b80a13b8f7b90a13d8f7ba0a98f7
+fb158085817f887f8a868b868e8508d6fb0d058c898e8a8d8b8e8b8d8c8f8d8f8d8f
+8f8c8f088b8f6cf726058993858f808c8a8c898b8a8b848b8388838708fb1d831581
+84848088818b898a898b888b878c878e8708e3fb01058d888d8b8d8b8e8b8e8c8f8e
+8e8d8e8f8c8f088b8d8b8c5df71f058894858e7f8b828b82888285080ef7f57faef7
+65a8f7feaebba0b2a012f4e3f791e046c897c2acf0c5cf5db99ade13fce8f917f9a7
+15588b5b5b83678a888b878b888b799982988b998b9c948f9c8c8d8b8d8b8c8b9783
+938b970891078e97989ead8bbc8ba64fbd8bb48bacb193af8c908c908b908ba0809b
+788b788b7b7b8981088a878b888b890813fcd88b74a18b8b79088507887e7e817d8b
+08688b62c7548b08fb78fb381513fec8f7ad0a13fdc83c76bab41f8b948c938d9308
+96bf0591a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e88
+898778058a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b
+083c6bd9eff75df703f771f7031f0ed57fa7f744a8f755a7daa0b2a1b77712dbcef7
+2cc059cd5ac0cecac5b77bcf13ff30f7bff88f157a9782989b9e989f1e8b9684938b
+968b9a99a1ae8bbb8ba34fbb8b08b8b1bdb4a08299797d7380721f8b76a08a8b798b
+7d7e7c7a8b6a8b64c8568b08565651651f8f2e1513fea8f7af0a13fe606080a7a91f
+8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a8d058b4b89
+686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85898408846c
+058366754b4a8b08577cbbc0deb8f76af7031f0ef7f57faef765a8f7feae12f4e3f7
+91e046c8eff0f721de13fbf833f90315f7ad0a13f7f7ae0a0ed57fa7f744a8f755a7
+12dbcef72fcd5ac0cecae1cf13fbf7c3f83215f7af0a13f7f7b00a0efcc0f886a0b2
+a001fba0c2f76bb803fba0f87915799882989c9e979f1e8b9684938b978b9998a2b0
+8bbc8ba64fbc8b08b9b2bcb4a0819a787e7180731f8b74a28b8b798b797a807d8b68
+8b63c7548b08535651671f0eea89adf7c6aef71fadd3a701f7e2f7e615e606f7058b
+ba4c78317e4e562ffb258b3c8b869292ac08ff005d999af84c15ff00fc66668b92ad
+ffff03cccc8bff00063334a80591a79b9ab28b08a506908b8e8e8c90088f9e898c05
+8b328a6866388c8b1e888a8778058a868e88908b08a406b18b977d846d08fffffa19
+9a6fffff54e6668b8469ff00aae6668bffffa3199afc4a0583687d7f658b086f0685
+8b89888a860887788c89058bd68dba1ec38b8c89e08bf7548bd6e59de19ee866c132
+b16e974e8d688b083f060e3389aaf752abf724adf769a9a57701f827f7101579394c
+7e5c8b608b629594ae08acf725e58b05cd8ba6607e5708fb37f71315acf724f74e8b
+93adfb4e8bcaf7a1768b0577827d8779877a8856857d8b08867205888d898d1ebc8f
+059e8b907b7e52086afb242c8b8369ea8b40fbd705856e7e7b6c8b087506868b8888
+89860887788c89058bcb8db01ebb8ba589ba8bf38bdfbe9fdfa1ea34a2328b080e4d
+89a8f793adf70f77f75dad69a412ff01e8999aff0055999a13f4f7b7f8d21590a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800082ffffd1ccccffffefe666ffffdd8000ff
+ffe93334ffffe7b33408ffffbde666d76c74ff0042ccccffffb2999a05ffffe5b334
+fffff08000ffffdfe666fffff8e666ffffda999a8b738b6a8d818e08fb13fb8e1586
+6f7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a08
+8d8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff000766
+678bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08
+b6f771059f849c88ad8bff003180008bff00294cccff00098000ff00223334ff000f
+999a08f1ffff89e666a8a6ffff9fccccff006e800005ff003f199cff002a6666ff00
+1f4cccccff0009ccccff0034199aff0001e668ff00098000ff00014cccff000ae666
+8bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b0813ec5c0a0e
+43fb7fa9f757aef804b901f83fdd03f79ef82815ff0003999aff0011e666ff000966
+66ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967666d6f68ff0003e6
+66fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824fc5f05856f7c7f6b
+8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e8d8d8b9f058b9089
+8d878c08788e057c8d719093ad08b7f74c059a7bff001c80007aff001d80008bff00
+2780008bff00238000ff000c3333ff001f33349f08ff004accccffffa9cccda8a5ff
+ffb76666ff0053cccd05ff000cccceff000b4cceff000bccccff000c800096ff000d
+6666c1cda6cf8bd38bdf6fcd278b588b6678707b08f735fb17158bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdfffffd1998fffffb8000fffffce668fffffb999a
+fffffcccccfffffbb3330832ff0066b3336c73ff005d3334ffff94800005ffffeae6
+66ffffedccccffffe83332fffff4b334ffffe8b3348b718b709876a808cdf7b805a4
+9ba89db18bcf8b95448b5a080e428aa7f8d7b270a712f8b3a697a613b8f797f91815
+7e8b7e8c258c0889898879058a868e888f8b08a906ad9785761f8b868b8589840833
+fc8a05856d7a7d638b087106868b87888a860888788c8a058be28cb3aee88a8b1e8d
+8c8f9e058c90888e868b087106687e97a01f8b8e8c8f8b8f08e4f88a0513d890a69a
+91a18b08f71b06cc8b967b8e5b08a68fb2f770708b057b546249598b08fb1f060efb
+388aa8f7fab770a612f83fa19ba613d8f70cd315856e7e7c698b087306878b87888a
+860886788d89058bd48daeb2d4898b1e8d8d8f9e058d90878e878b0874067181949d
+1f8b908c908d9208d3f7cef70a8b05a98b96808c7608a18bb6f750708b057c556351
+568b0813b8fb7b8b8675058a888d898e8b08aa06a48a93868b7b8b858a82887f080e
+4c8aa7f798b2f7acb270a712f8dba613d8f798f918157e8b7f8c258c088889887905
+8a868e88908b08a906ad9685761f8b868a858b84085ffb8b338b8464e38b65fb6c05
+856d7a7d648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c
+90898e868b087106677e97a01f8b8e8c8f8b8f08b1f76cf28b92b2248bb7f78b0513
+e88fa69b91a18b08f73a06cc8b9e568e4208a69094f734fbad8b050efb338aa8f749
+b2f723b26fa812f834a613e8f779f76515e88b95b22d8bacf723e28b05bf915d581f
+8b78a68ea2f72cfb4d8b658a0513d8fb048d88898775058a888c898e8b08aa06a494
+867b1f8b858982897f087221378b8264df8b6cfb1d05846e7e7c698b087406868b88
+8889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b0874067281
+949d1f8b908c908c92080eabfb40a8f722a7f7d0aaf77cb270a712f71ea28fa3f7c2
+db97a613f780f8cae8158fa08ca08b9d8bf74ffb49acfb1d8c08aef75b058fa69b91
+a18b08f73a06cc8b9e568e4208a69094f734fbad8b3d8a0513ef807e8b7f8c258c08
+88898879058a868e88908b08a906ad9685761f8b868a858b840832fc8a05856d7a7d
+648b087006878688861f87788d8a058be28cb2afe78a8b1e8e8c8e9e058c90898e86
+8b087106677e97a01f8b8e8c8f8b8f08bbf7a405f71af70263fb2b1f8b7689748672
+6efb3d3c52408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb2ca28b05
+8c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf702f70aa5f727080e59fb7e
+adf75ba8f73badf736b26fa812dae1f76cdb5ea613f6f70fd315846e7e7c698b0874
+06868b888889860887788d89058bd38dafb2d3898b1e8d8d909e058c90888e868b08
+74067281949d1f8b908c908c9208a8f70f05d98ad86f8bfb048b758871846d72fb00
+5e47438b538b83aa8ba9088b9a8b8f05a07d96741e748b797c856e8a878a868b868b
+62b45cea8bf70b8be5f700a8f71091a38da18b9f08f721fb18a32c1eb0f736e28b05
+13f5bf915d581f8b78a68ea2f72cfb4d8b658a0513eefb048d88898775058a888c89
+8e8b08aa06a494867b1f8b858982897f080ef7c68aa8f7bbb6f774c86aa712f7a8af
+f889a613eca38a15cd8c05d38cb4d0c5f702c1f1a2b4f68b085efb9005866f7b7c62
+8b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e
+868b087106697c94a11f8b8f8c8f8c8f08b7f79005f68b94629d259b2f994bba789c
+7e9e7f977aa26a91618b710888a6079ff7278b900598818f7a1e808b79917a9e74ab
+74ca78e37ec781ba4d8bd7a4adf1a0ca94a8a3a79f8b978b95849380089182988797
+8b9e8ba29c90a4089307a07da0621e4c8b525a7a5179537440506b707c5f8b6a8b08
+aff7640513dc90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8878058a868e88908b08a506ad9981751f8b878b878a870866fb64056a8b
+5f8b769a66a484bc8bba8b9a8c998c9808910713ecc264b94e1e5c8b757087740883
+07779a7d9c1e978b998f959496969892978b9f8b98708b6f086c078b4d923ec4754d
+8b705c694f3ffb194b406a8b088206878b87888a86088878050ef7118aa8f74aadf7
+0cd16ba812f8f6a413e8f7f2f788157e06588b719976e27cc975a66c8b698b787a86
+748a888b888b888b7b957e9d8b9d8b9f93938b08978b91768f759458a966a985678b
+59776e597565512d698b088206878b848a898408877a8d8ad08c05b98db6d1a3b4ab
+c5a2b1dc8c086bfb1e05856e7e7c698b088306868b888889860887788d89058bc38d
+afb2c5898b1e8d8d8f9e058d90878e878b0882067281949d1f8b908c908d9208abf7
+1e05dd8a9066915090609645a28b08b3a0405d1f84a407a4f71b058c8d8b8d8b8d8b
+997f8c7d8b798b738e78f71283bc64a0678bac90b7b0aebe9ba199a0988b08928b9c
+839d8ba08b9e9e8f9f8c8e8c8e8b8f8b9c7e976e8b6d8b6870604e4e346a7d578b08
+7d8ba6f7080513d892a89898ac8b089306908b8f8e8c9008909e898d058b51896468
+528d8b1e898987780589868e888f8b089306a595837a1f8b878a858984080e62fb7d
+b1ff00b76666ff0024999af7cbb0f70976f72fad01c6dbf712c603f70dfb3a15a85e
+b075b48bc08bb6a88bc28bff0031b333ffffe43334ff00364ccdffffd06666ff0021
+6666ff006db33290ff00803334ff0036e666ff001e8000ff008fb334a2f641b44c9f
+d5a6bfbd9cda089fea2aba328b518b687f378b0853fb43a78905b2dcb2d5f70a8bc6
+8bbe587d487f545b3dfb078b085f06808b8383888089809084968b08d106f7048b9a
+fb01805874fb002e60478b428b74ad84c888ab8398708b758b7c76867185709a70a0
+7608ff00136666ffffed6666ff001c8000ffffe9199aff00303334fffff6b333ff00
+32b333ffffe7b333ff001d3333ffffcb999a8bffffc480008b727271678b6e8b7a98
+76a2080efb2dfb7db1f82eaef734ab12d5caf704c69ad26fc813fcf4fb3a15a95eaf
+75b48bc18bb5a88bcc8bff0041b333ffffe4e666ff002b4ccdffffd0999aff001533
+33ff0073ccccff0011b333ff002cb334ff005633348bff003be6668bc65ea1788d08
+13faf79b0a13fcaf9c6d673e4c57515f769fa91f8b908c8e8b9008a6788e82817183
+641e8bffffda8000ff001c8000ffffe2e666ff00343333fffff74ccd08ffffff4ccd
+ffffff4ccd05cf81a66c8b398b727366668b6e8b7b9875a2080ecf8aa8f8c5ca69a7
+1213c0f8e6a715538b83ad59f7050856f70c0580a773a4728bd8a3bee7abc6a3b8a8
+a0958ba68ba172a58ba08ba49d90a30893079f7d9d5d1efb008b62327d6e7256614b
+4f6c6f7d5a8a668b08aff75f0513a090a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606b28b987d866d0832fc
+8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d
+8f9e058c90878e878b087106638b7e9891a908b9f79905c28ba870aa3e08c2fb0d05
+cbfb20deac8dfb2108a78b9ff729058b8d8c8e8b8f089088917a1e0e4c8aa8f7e3d1
+6ca812f848bb13d0f6d315846e7e7c6a8b088306868b888889860887788d89058bc3
+8dafb2c5898b1e8d8d8f9e058c90888e878b0882067281949d1f8b908c908d9208ab
+f71e05ea8b9265965091629b45b87dab8195618b648b828a838a8308a28ba5f71b05
+8c8c8b8d8b8c8b9a798d818b658b78e685b182bc5da0638bb190b9b0b2be9ca19ba0
+988b08948b9d839f8ba38b9f9e8f9f8c8e8c8f8b8e8b9c7f976c8b688b66705c4e4a
+34637d528b08788ba6f7080513b092a89898ac8b0893068f8b908e8c9008909e898d
+058b51896467538d8b1e89898678058a868d88908b089306a595837a1f8b878a8589
+84080eb48aa8f7bbb6f774c86aa71213e0f7e1f70d15a5f72c059874916d9463a3fb
+029e46db8a08d48a8c8d8f9e058c90878e878b088106678b5fd669f7197cc47fb751
+90089007d7ababeaa0c695a8a5a7a28b988b9684948092829a87978ba08ba69c8fa4
+8b8e8c8d8b8d08a17ba05c1e448b4e5a78517b5a774b5a6608a6f7305f8b6bfb4605
+72866d8a718b08b0f7640513d090a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a878b87
+0832fc8b05866f7b7c628b087006868b88888a860888788d89058be88daeb3e1898b
+1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c8f8c8f08b7f79005ad8aa4
+879d82086afb50050e878aa8f74aadf715d063a81213e0f7c6d315a8f71105b67a90
+6e926592629844bd8a08d48a8d8d909e058d92848c868b088306668b79e683b182bc
+69a0558bc093b1bda4b199a19fa7958b938b958a8f8792879686958b08a08b9f9d90
+9f8c8f8b8f8b8e8b9e7d9a6b8b5b8b65546d5e70646d63567d08a3f45f8b72fb0248
+8ba5f7060513d095b4a18ea78b8f8b908e8c90088f9e8a8d058b53896467488d8b1e
+888987780589868e88908b089e06a594827a1f8b868a858a840848fbb505846f7f7e
+698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c9088
+8e868b7b8b708c8ba68b8f8c8f8c9008abf72105a58ba18a9d88086cfb1a050eb48a
+a8f85fb2cbc86aa71213e0f8db8a158c8d8f9e058c90878e878b088106678b5fd669
+f7197bc77eba468be0a4aef1a1ca95a8a5a7a28b988b9684948092829a87978b08a0
+8ba69c8fa48b8e8c8d8b8d8ba17ba05c8b448b4e5a7851795373404a6b707d5e8a67
+8b08a1f70df08b91b2278b93bb0513d090a79c9bb48b08a506908b8e8e8c90088f9e
+898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9a81751f8b878a
+878b8708825b328b8464e48b42fc3405866f7b7c628b087006868b88888a86088878
+8d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697c94a11f8b8f8c
+8f8c8f08b7f79005f703899562a127a3fb029e46db8a080e398aa8f74aadf715d0af
+ad01f756d015acf72105d5859466955593629744bd8a08d48a8d8d909e058d92848c
+868b088406668b78e684b181bc69a0558bc093b1bda4b199a19fa7968b928b958a90
+8791879686958b08a08b9f9d909f8c8f8b8f8b8e8b9e7e9a6a8b5b8b66546c5e6a5a
+645a3a8b08c1f77ef7318b93adfb318b0599bdabc3d6b40880a00539656b62786f88
+a77cb849ad08777605b66c99648b648b7e897e887f08408b8369d78b2dfc2a05846d
+7f7d698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d909e058c
+90888e868b0883067280939c1f8b908c908c91080ef7538aa8f8c5ca5fb16fa71213
+c0f9798a158d8d8e9e058c90888e868b088106678b61d767f7187ac77ac9468bdda4
+bde6abc59aa7aaa8978b998b9786968497849785998b08a08ba49d90a30893079f7d
+9d5d1e358b645769516d58664c4d6b707e5e89688b08acf75505139090a79c9bb48b
+08a506908b8f8e8c90088e9e898c058b2e8a671e488b0513a08a8c528b051390fb1d
+8b5bfb3b9d8b0599a89da9a3a90813a0999ea2a0ac8b08f60691868e848b818b878b
+878a870833fc8b05866f7a7c628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f08baf79f05
+f70a899252a228a5fb009c44db8a080eaa8aa8f7e3d16ba91213c0f799f7fa154efb
+b505856f7f7e698b087806868b88888a860886788d89058bcf8dafb2c4898b1e8d8d
+909e058c90878e878b0883067180939d1f8b908c8f8c9108aaf72105ea8b92659750
+93629944bd8a08d3898e8d8e9c058d92848c878b088006668b77e983b182bc5da063
+8bb090b9b0b1be9ba19ba0988b948b9e839e8ba38b9f9e8f9f088c8e8b8e8b8f8b9c
+80976a8b698b66705e4e4b34647d528b08788ba3f7080591a89898ac8b089306908b
+8f8e8d90088f9e0513a0898d058b5189641e558b6f8d758b408b5dfb1a9c8b05bbf0
+a98cc18d088c069e8992828b7c088b868b858985080ef71f8ca6f7bcb2f793a701f8
+fea603f8948c15cb8ab1388f6708a68ba3f711058e987e92848b087a067583909b1f
+8b928c938d9508edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860862
+fb67fbda8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a68
+63358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a
+05856f7a7b628b087106868b87888a860888788d89058be88daeb3e1898b1e8d8d8f
+9e058c90888e868b0871066a7d94a01f8b8f8b908c9008bcf790f7db8b5afb900585
+6f7a7b628b087106868b88888a860887788d89058bb68dac1e0e8b8aa8f74cadf730
+a801f8799f03f86fd515cbf7ac0595b49392ad8b08a4068f8b8e8d8c8e088fa18a8d
+fb05892a8d89898675058a878d8a8e8b08a006a494867b1f8b858982887f0872fb00
+fb608ba4f7010595b39392ad8b089f068f8b8d8d8c8f0890a08a8dfb0088248e8a89
+857505878c8a8f1ea506a493867b1f8b858a828980084afbac0582658483678a0871
+06888b89898a880886758c89f38df6898c8d90a0058c8f8a8d878b08760673828f9b
+1f8b928c948e9608aaf71df7618b6bfb1e0582648584678b087606878b89898a8708
+86768d89cd8c05e79434711f9f8ba7f70d058c8d8b8d8b8d08948590801e7a067683
+909a1f8b928c938e96080ef7b88aa8f7bcb2f787b36fa712fa1fa613e8f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88dafb2e2898b1e8d8d8e9e05
+8c90888e868b087106697d95a11f8b8e8b8f8c9008e3f88a058d928d918e91939598
+8e9a8b08dc06cd8b9e568e4308a68f0513d893f735056c8b6c89658b0813e87d8b7a
+8d7b8b088a8b678b056c8a638b768b0813d864348c8b1f898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050ef7378ba5f74eb2f720b270a612f97ba713e8f8e0f84215868a4d
+890513d8288e867505888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8b
+a2f20595b49392ad8c08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e
+8b08a406a48a94868b7b8b8489828980084bfbab05816585826689087206878b8989
+8a88088676f48df7018990a0058e8a8d871e7606738c828f8b9c8b928c938e9708ab
+f71df76a8b6bfb1e0582648482678a087606888b89898a88088675ee8df7068990a0
+058c8e8a8e878b0871067382909b1f8b928c948e9708cbf7ac058f9b8f9690930813
+e8918c928c928b08dc06cd9c56431fa78f0513d899f734056b8b6d89658b7c8b7b8e
+7a8b080ef828fb40a8f722a8f7cfa9f77bb273a612f892a28fa3f7c2db13effa3ee8
+158fa08ca08b9d8bf743fb33b4fb198f08aff75d0590a9a599a78c08a80690908f8f
+1f8f9e0513f7f7710a13eff7720a13f791ac9296aa8b08f78a06a391827b1f8b858b
+858a840835fc7c05866f7a7b628b087106868b87888a860888788d89058be88dafb2
+e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008bbf7a305
+f70d85eb5f8bfb218b76897486726efb3d3d523f8b5c8b6e997a9e7e99849d8b9f8b
+908b918c9008738b70fb2ca28b058c9091a88d908d8e9291958b9a8b9d71dd8b08f7
+128bf702f70aa5f727080ef776fb7eadf75aa5f73fadf735b273a612f7f9e0f769dc
+13f6f750f7f5154afbab058368847e6689086d06878b898a8a88088675f7048df708
+8990a0058c8e898d878b086d06728c82918b9b8b928d938e9708cbf7a90593aea08f
+a08b08f714069c9c89751f8b878b868985084bfba9058368857e6589086d06878b89
+8a8a88088675f7048df7088990a0058c8e898d878b086d06728c83918b9b8b928c93
+8e9708a7f70d05d586d16c8bfb028b768973856f74fb006047428b508b84ae8baa08
+9807a17d96741e758b787c856e8a878b878b868b62b45bec8bf70b8be3f700a6f710
+8fa28ea08b9d8bf71efb0fa72d8e08a7f7110513ee95b49194b08c08a9068f8e8d8f
+1f90a0fb09870513f6408cfb1a8b408a0513eefb048f8775058a888c898f8b08a906
+a48a93878b7a088b848981897e080ef707fb28b3f894b1f746b212dfe6f70ee1f76a
+d550a313fcf81ea31583ac88af8bab8bad8ea88f9ea1f713b9d1c88bc48ba0688b4b
+8b70876a84660876fb0afb02534e8108f71dfb1815468b65b676c2f71499f702dea4
+f71e8e9f8da08ba08bdd68d4fb028bfb158b45fb0373fb1b877689728b70088b6d8e
+6b926c2ba467dc8bef8ba98ea991aba1f712f702f73af70b8bb08bac889e57966e95
+7ca68b08a18b9a9f8f9f0892078b9e7f9e7a9a769f649d4c8bfb338bfb46fb296bfb
+49866d886f8b708bfb25da2ef72f7ca73fc74cf7068b08cb0613fa9c967c7c1f8b86
+a38d058c9e8ea98e9e90a691a692a708768d0584647863388b080e87fb08a7f7fba5
+f710a712d6d9d9d6f742cf56a813fcf7cc8f15869f8aa08b9f8ba78ea48e999cdab3
+c7bd8bb88b9b728b628b7888758672087938465c428608f7042f15518b6ca97cb2f5
+94ebc5a0f18e998d988b968bcb62b8398b2a8b46447526877b89788b76088b788d77
+90784a9e77c18bc78ba58ea791a59bd6daf70eea8bab8ba9899c6794779481a28b08
+9e8b98988f990890078b9881997c9578996998548bfb1b8bfb172670fb1386748975
+8b778b28c54cf7067fa155bc5feb8b08c30613fa9996717e1f8b87a88d058b988eb2
+8e998f9d94ad919e08708c0586707761428b080edefb7db1f74bb4f8e4b001e1e5f7
+4ec6f774aa03f76ffb3a15a85eaf75b48bc18bb5a88bc28bbc6fc25cac089306eb8b
+ecbbdfe408769a05373d426a2e8bfb158b54f7028bf70d8ba38da490a4aef75ff731
+dfda8bf7268bb13d922808aa8f92f73905508b6eb8fb0f8bfb398bfb48fb2668fb59
+877589758b768bfb08c421f7156cc476ac538b4b8b727371678b086d8b7b9875a208
+0efb32fb79b2f8ecad01e3dcf70ec6c0e103f728fb3515a85eb074b48bc18bb4aa8b
+cb8bca72b560a2c494c2abb5c808819305605f56725a8b448b62bb8bdc8ba08ea291
+a5a4f700cbcfd38bc38b936b8b6e088b7a8b8905789b7fa11e958ba79093af8c908c
+908b908bb662b92c8bfb0c8bfb01fb006efb10867689768b788b40ae4ed678088a8a
+05ce82a66c8b398b727465668b6d8b7c9974a2080e8c8ba7f8d0b212f7eba6f791a6
+78a413e8f7e3d615e0f8770591ac9994af8b08da06c28b9a80913b08a4900513f085
+f72f70850584867a7c1efc4106818892931f8b8e8c8f8b8d0872914ffb2fa28605ad
+db9e96c28b08e606aa9784771f8b878a878a860835fc7c05866f7b7b628b08710686
+8b87888a860888788d89d68c8c8b05d88bac3f8d4508a68ba5f72b058e987e92848b
+087a067485959a1f8b928c938c95080e308ba4f7ffb28b9612f39f95a4f7219ff730
+9f13def7b3d715cef7ccd28b05ba8f85621f8b6c8b849f8ba8f71f0513be7187058a
+8583867d8b0813defbc00613be7c8b86908e9108728f6dfb1f9f8b0513deafd78394
+bd8b08d88b48fbce0583648382688a086206888889881f8675e38d8e8b05ed8b8b2f
+8d72089f8ba5f710058e988293818b087a067583919b1f8b928d938d96080e6788a5
+f8e8a601f7d4ba158c928d928d9308bef774f769f7ac05939591938d8e9193949196
+91918e948c9a8c089f068d8b8e8c8d8c8d8c8d8d8c8e088e9b8c8e888b05838b4088
+888b828b3d8e888b08888806877a058a888b88908a08a806998a918a8c898d888b89
+8a868b898a89888789868784838108fb48fb7e36f77e058a8f8a9288968b8e8a8d8c
+8e8c8f8c8d8f8f8d8d918c9a8c08a8068c8b8d8c8c8c088e918f9b8b8e898b057f8b
+2988878b818b308e878b08898806877a058a898d898d8a8c8a8c8b8e8a089806988a
+958a8e88938690859082089176f1fbb85afb68058982898489858884868484868789
+83897c8b086e8a898b05878b8989898608877b8b888d8b05978ceb8d8e8b968bee88
+8f8b088d8b8c8e8e9b8c8c058f898d881e898b6e8c057e8b838d888d859089918c93
+080e98fb7aa8f8efa801f76afb3115856e7e7c698b087806868b87888a860887788c
+89058bd08daeb2cf898b1e8e8d8f9e058c90888e878b0878067182949d1f8b908c90
+8c9208aff731f77cf7fa059da79e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c
+89827f3c8d8b1e8989867705888b87901ea8069c9189841f8b8a8b8a8a898a85837d
+868208fb5bfbcc51f7cc05899589988d918d94928f9e8b08a706908b8e8f8c8f088f
+9e8a8d058b2489857e2f8d8b1e89898677058a85918a8f8b089706998b94898f8897
+8391798e7e08d6fc06050e778aa8f74ab3f804a701f801f76615f7378b93b3fb388b
+94b6f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e3c
+8c8b1e898a8777058a888c87908b08a8069d9189831f8b8a8b8a8a898a868682807d
+08fb40fb7f2cf77f05869989948c918d94928f9e8b08a706908b8d8f8c8f088f9e89
+8c058bfb008a857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f889783
+9280927708f705fbb9856cfb338b8463f7328b70fb1e05856f7b7b628b087006878b
+87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b0871066a
+7c94a01f8b8f8c908c90080e98fb7aa8f75db2f7ffa801f76afb3115856e7e7c698b
+087806868b87888a860887788c89058bd08daeb2cf898b1e8e8d8f9e058c90888e87
+8b0878067182949d1f8b908c908c9208aff731f7448b94b2fb348bf763f7d3059da7
+9e9ba98b08a106918b8e8d8d91088f9e8a8d058b3c89827f3c8d8b1e898986770588
+8b87901ea8069c9189841f8b8a8b8a8a898a85837d868208fb5bfbcc51f7cc058995
+89988d918d94928f9e8b08a706908b8e8f8c8f088f9e8a8d058b2489857e2f8d8b1e
+89898677058a85918a8f8b089706998b94898f88978391798e7e08cbfbd3fb348b82
+64f7458b8e7f050edf8aa8f8e2a601f7e6edf733a603f89d8d15d08b8d388e6608a6
+8ba3f712058e987f92838b0886067d8b7d9e79ac08fb18f77c05849588958b930890
+078d949194969708f745f75205b5b8a393a88b089b06938b8c8f8c8e088f9f898c05
+798b418a868b7f8b498c758b08898a8777058a868e898f8b08a906998b9288898289
+84847e7e7d08fb37fb430584838787878b878b898f87920831f74405849786978b93
+088e078d92918f9c8b08b3068e8b8d8d8c90088f9f878c056c8b308a858b818b4a8c
+728b08868a8777058985928a908b088d06ab8b96799d6c08f713fb750590818f848b
+838b8a8b898a898a858783828208fb57fb66056d6b6c76688b087e06868b85898a86
+0887778c89058bda8d909aec898b1e8e8d8f9f058c8e8a8e878c0878067a8290941f
+8f078d939195979808f73cf74905939491908e8b8f8b8e88908308eefb5005927d91
+818b8408807f88751e7306878b88888a870887778e89058bcd8eae1e0e398aa8f80a
+a801f83e9f03f7ea16da904b691f8b7f8b889f8ba7f70d058b8d8c8d8b8d08948590
+7f1e7a067a8b858d76b70846f727058a8e8a8d8c8d8b8c8c8d8e8d08f70cf70e05af
+af9d96ab8b088f06918b928c8c9208909e8a8d058b59896b6c5c8d8b1e8888867805
+8a868e898f8b089a069d8b8d8989838a858782787708332f0586868988898b888b8a
+8e88910863e705859a88948b91088d078d9290909f8b089a068f8b908e8c90088f9d
+898efb0389378d8888877805878f88921e8e06ad8b987a986d08cdfb26058c888c89
+8a898b898a89898908fb0dfb0e056d6e787a6c8b088206828b86878a8508877a8d89
+058bba8da8adbe898b1e8d8d8f9e058c908a8e868b087d067a8b858d8d948c909092
+9e9f08e0e7058f8f908f8c8b8d8b8d898d8608b33b05986b8f818b87088380897d1e
+7f06868b888889860887788d89058bb38ca51e0ef7c28da572adf8d5b268a612f8ff
+a778a3f714a61386f7f3f8d01534fc8505846383856a8a087006878b86868a860888
+7a8d89f7018e051346bc8cc68bc38b081396f705f28a8b1fd88bad418d4408a68ba5
+f72b058d987f92848b087a067485949a1f8b928c938c9508e2f8830592ac8f97af8c
+08a9068e8e8d8e1f8fa1888cfb078afb008c898a8775058a878d8a8e8b08a906a58a
+93848b7c8b858a8389820835fc7d051366856b857d688b08fba20674818e9f1f8b91
+8c938d9408e1f87d0591ac9894af8b08cc06c28b9a80913b08a3900513aa86f7306f
+840584877a7c1efc2406818892921f8b8f8c8f8b8d0872924ffb30a18605aedb9e96
+c28b08d806a89883771f8b878a868a86080ef7348bb264a7f80aa8959612f19f95a4
+f7d19ff7309f137ff817f82515af06ba8f86611f8b6d8b849f8ba8f71f7187058a85
+83867d8b08fbc0067c8b86908e9108728f6dfb1f9f8b05afd78394bd8b08ac06a494
+867a1f8b858a838980084efbb00583648487688b087b06888889871f86768d89e88c
+0513bff7da06f08b8b2f8d72089f8ba5f71005137f8e988293818b087a067583919b
+1f8b928d938d9608c6f7aa0594b49392ad8b08a4068f8e8d8e1f90a18a8dfb058929
+8d8a898675058a878d8a8e8b08a006a494867a1f8b858a8289800852fb9e0513bf84
+69847c668b08fb5e067183919c1f8b928c938d9608c4f79f0594b39591a98b080ed4
+8ba5f76bc5f7d4a601f73adcf7c3a603f8b2d515e4f88b0592b09190ad8b08a9068e
+8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b1f8b868a8389
+820864fb7205455548896d8b4d8b689f8bc48b958c958d9708a9f73e0590aa8f96b5
+8b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e9d06a8958779
+1f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93e9dc085dfb95
+058569857e688b086306888b89898a88088875d38c8d8b05d78bac3f8d4508a68ba6
+f72b058d987e92848b087a067485949b1f8b928c938c94080e5e8ba7f702aff778a8
+01f721d4f7849f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e1f90a18a8d
+fb05892f8d8989867505878c8a8f1e9b06a395867a1f8b85898289800870fb110565
+676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a068f8e8d8f
+1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589838980087d
+4a05877788778b798b56a262d58bbf8bc499babe0870fb130582648582678b087b06
+878889871f87768c89c98c8d8b05ee8b8b2f8c72089f8ba5f710058e988293818b08
+7a067584919b1f8b928c938d96080ed48aa6f76bc5f7d4a601f740dc03f7f2f71315
+a2f70f05b295b8a1c3bb0859fb95058469857e678b086406878b8a898a88088775f7
+118df706898ea0058c8e898e888b086e067283919c1f8b918c938c9508eef88c0592
+b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a888c898f8b08a8
+06a693877c1f8b858a8389820860fb720558645a7f688708b5f76b5e8b62fb6c0554
+8d6ca08bbf8b958d968d9808acf73e0591aa8f96b58b089d068f8b8d8c8c8f088fa0
+fb018a208c87768a8a05888e8a8e1e9d06a894877b1f8b858a848982086bfb3a0588
+7a89798b7b8b47ac57e78b958b958b958c0875fb07050e5e8aa8f702aff778a801f7
+25d403f7bdde159bcd05a894a89ca5a7086efb130582648582668b087b06878b8989
+8a870887768c89058bc98db3b1c2898b1e8d8d91a1058e8a8d881e7a067282909a1f
+8b928d948e9708cbf7aa0595b49392ad8b08a4068f8b8d8d8c8e0890a18a8dfb0589
+2f8d89898675058a878d8a8e8b089b06a494867b1f8b858982887f086efb11057173
+717a6c8308abf71c5e8b6afb22888b05637e9dab1f8b9c8fa090a3089cd50592ab95
+95ac8b089b068e8b8e8d8c8f0890a08a8d2488368e8a89857505878c8a8f1e9306a4
+93867b1f8b858a828880087c4a05867688768b778b58a164d48b948b938c948b087e
+53050eec8aa8f803b9f745a701f8b2de03f78df7d415dbbddaa4aa8bcc8bb16f8b51
+8b808980897e0864fb5e05856e7e7c678b087d06868b88888a860887788d89058bcc
+8db2b5d5898b1e8e8d8f9e0590878e861e77066e81959e1f8b8f8c908c9108b3f766
+058f9d8c9b8b9b8bd264b1398b4c8b3c74235408b3f7670591a79c9bb48b08a50690
+8b8e8e8c90088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506
+ac9981761f8b878b878a860829fc8b05866f7a7c628b087106868b87888a86088878
+8d89058be88daeb3da898b1e8d8d8f9e058c90888e868b087806697d94a11f8b8e8c
+8f8c90080e798aa8f7a5bac1a801f849d503f755d315b0f73105c5babca4a78bb88b
+a67f8b5d8b7f897e887a086dfb1505846e7e7c6a8b087806868b87888a860886788d
+89058bcf8dafb2cf898b1e8d8d909e8b8d058f888d871e78067281949d1f8b908c90
+8d9208a6f70a0590a18d9e8b9d8bcc6aad528b648b4d7c394808a0e70592a7989bac
+8b089b06908b8e8e8d90088f9e8a8d058b4a896764478d8b1e89898678058a868e88
+908b089e06a49582791f8b868a858a850849fbb205846e7e7c698b087806878b8788
+8a860886788d89058bcf8dafb2cc898b1e8d8d8f9e058d90878e878b087b06728194
+9d1f8b908c908c92080ef78a7fadf800b7f1caa8ad12e6b7e0e844e113f8f986f842
+15f7bb0a6efbc8154d58455a2e8b0813fcf7bc0a13faf7bd0a13fc877589738b758b
+fb1cd5fb13f74d8bf7018bcab0e7d4080e7a7fbcf75db2e6c37bad12e4b2bbddf777
+d613def7e3f7a9155406b5f70ed794a28ba98bad7b8b508b7f8a7d877b8a82858681
+8b08fbe2ba1513ee91a4a79e9f8b9d8b9b9b8e9a8c8d8b8d8b8d8b978192808b628b
+54587e528a848a858b85085db77ec81e877e877f887d877788778b788b37b847f704
+8bd38bceb0bcbf087a9b0560656479558b4d8b5bc48bda8b9a8c9a8f9a8c938d918d
+9108c68bf7608b05968b93918e968f9e8ea08b9f0813decd6dc8271e3d8b2e4f5922
+5d8d68948ba68b8e8c8e8b8e080ef78afb65b1f733adf800b7f1caa8ad12e6b7e0e8
+44e1f716c813fc80f986f84215f7bb0a2cfcd0157d92057175787d6d8b6b8b78a18b
+a28b8d8b8d8c8e95c8b7b3c7b4ae9dada4b3ab0879a3054d58455a2e8b0813fe80f7
+bc0a13fd80f7bd0a13fe80877589738b758bfb1cd5fb13f74d8ba38ba28da08f5f68
+676183618a858b858b858b60ad74bb8b08b48bb4a1b0b8080e7afb64b2f731bcf75d
+b2e6c47aad12e4b2bbdda1c9f723d613ef80f7acf7a915b5f70ed794a28ba98bad7b
+8b508b7f8a7d877b8a828586818b08fb1406f726fc36157e93057074787e6d8b6b8b
+799f8ba28b8d8c8e8b8e98c8c0b8beb2a199a09c9d9e087a9b0560656479558b4d8b
+5bc48bda8b9a8c9a8f9a8c938d918d9108f79b06968b93918e968f9e8ea08b9f8bcd
+6dc8278b3d8b2e4f5a235c8c68958ba68b8d8c8e8b8e0813f78091a5a79d9f8b9d8b
+9b9c8e998c8d8b8d8b8d8b978193808b628b54587e518a858a848b85085db87ec71e
+877f877e887d877788778b788b37b847f7048b978b978c968d61696963826289848a
+848b850861ac75ba1eb48bb5a1b1b8080efba587a5f8e8a601f782f8e6158a878a85
+898008fb09fc8e058983898389868883878583868788838a7d8a086d06888b868a89
+85088778058bd08db7b9d1898b1e909d058b8f8b8e848c086e067e8c838c888e8690
+89918b928d928c928d9308f708f88e058d938d918d938d92909093918f8e948d988b
+08a906928c8d908c8d088f9efb0988fb048e8677058a878d89908a08a906998b9289
+8e8890878d858b82080ef7ba8aa8f7bbb6f774c86aa7bfb112f7b1adff00938000d4
+13ceff02b98000f9a215f78d0aff00868000fda3158c8d8f9e058c90888e878b0882
+066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca0813ee96a8a3a79f8b978b958492
+8091829887978b9e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b084c8b525a79517853
+7240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44ccc0513de
+f78f0a13eef7900a0ef74c7fc4f73caef71bc5b3b201f791cfff003cb334d0ff0033
+4cccd203ff0262b334f8ca15f79d0affff354cccfb6515f79a0a0eb6fb40a8f722a8
+f7cab6f764ca69a712f71ea28fa3f7cbdb13f7f8d3e8158fa08c9e8b9d8bf7162fc2
+25a0088906858c868c868cd9a6bbe3aac49ba7aaa8978b988b988696849784978598
+8ba08ba59d8fa3088c8e8b8d8b8e8b9f7d9d5c8b358b655769516c58674c4d6b707e
+5e89678b08adf7550513ef90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2d
+8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b7f32fc8b05866f
+7b7c628b087006868b88888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c
+90878e878b087106697d94a11f8b8f8b8f8c8f08baf79f05f71af70b66fb2d1f8b77
+887587746dfb3d3452408b5c8b6e997a9e7e99849d8b9f8b908b918c9008738b70fb
+2ca28b058c9090a88e908d8e9291958b9a8b9d71dd8b08f7128bf70af70aa6f72708
+0e6bfb7eadf75ba8f73bbcf70bd16ca812e0e1f779dc13f6f7bff775158e8c8e8b8e
+8cb091b9afb1be9ba19aa0998b948b9d839f8ba38b9f9e8f9f8c8e8b8e8b8f089c80
+976a1e698b66705e4e4b34647d528b08778ba4f7080513ee91a89898ac8b08930690
+8b8f8e8d90088f9e898d058b51896467478d8b1e898988780589868e888f8b089e06
+a694817a1f8b868b858985084efbb505856f7f7e698b087806868b88888a86088678
+8d89058bcf8dafb2c4898b1e8d8d909e058c90878e878b0883067180939d1f8b908c
+8f8c9108a6f71205deec6ffb111f8b778976867274fb004e47428b508b85ae8baa08
+9807a17d96741e748b797c856e8a878a878b868b62b55beb8bf70c8bf4f700a6f710
+8fa08d9e8b9d088bf7092db33397080ef72cfb55a8f737a8f7bcb2f793a701f8a2d2
+156efb3d3c49408b5b8b6e997a9e7f99839e8b9f8b908b908c9008738b70fb2ca28b
+058c9091a88d908e8e9191958b9b8b9c71dd8bf7128bf702f70aa5f72708e3f88a05
+90a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878
+058a868e88908b08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a7
+9c9bb48b08a506908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a
+868f888f8b08a606ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a86
+0888788d89058be88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f
+8b8e8b8f8c9008b7f790f7db8b050e8bfb59adf736a8f74cadf730a801e2e003f822
+d51573fb0852fb0d3c8b518b83ac8baa089a07a17d95741e748b797d856e8a878b86
+8b878b62b45bec8bf7228bd5f70dabf72a08c7f7ac0594b49392ac8b08a5068f8b8d
+8d8c8e0890a1898dfb05892a8d8989867505878c8a8f1ea006a494867a1f8b858982
+89800874fb00fb618ba3f7010594b39392ac8b08a0068f8b8d8d8c8f088fa08a8dfb
+0088248e8a89867505878c8a8f1ea406a594867a1f8b85898389800850fbac058265
+8583678a087106888889881f86758c89f38df6898c8d90a0058f8a8d871e77067281
+8f9c1f8b928d938d9608a8f71df7618b050ef71f8aa8f7bcb2f793a701f8a2d31586
+6f7b7b628b087106868b87888a860888788d89058be88daf1ea08bae8aa78b0854fb
+10b68bcff72c7b8b718b05697d95a11f8b8e8b8f8c9008e3f88a0590a79c9bb48b08
+a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8878058a868e88908b
+08a506ad9981751f8b878b878a870866fb67fbdb8bb0f7670590a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a6
+06ac9981751f8b7f32fc8a05866f7b7b628b087006868b88888a860888788d89058b
+e88daeb3e1898b1e8d8d8f9e058c90878e878b087106697d95a11f8b8e8b8f8c9008
+b7f790f7db8b050e8b89a9f74cb2f72ca601f889a7158a89057b8c85918b988b928c
+948e9708cbf7ac0595b49392ad8c08a5068f8b8d8d8c8f0890a0fb0788288e867505
+888c898f1e9f06a48a94868b7b8b858a82887f087324fb6a8ba2f20595b49392ad8c
+08a0068f8b8d8d8c8f0890a0fb0288238e8775058a888d898e8b08a406a48a94868b
+7b8b8489828980084bfbab05816585826689087206878b89898a88088676f48df701
+8990a0058e8a8d871e7606738c828f8b9c8b928c938e9708abf71df76a8b6bfb1e05
+82648482678a087606888b89898a88088675ee8dcd8a54fb0fb78bc1f70e908b90a0
+8b8d8e92050ed48ba5f76bc5f7d4a601f73adcf2a603f8b2d415e4f88c0592b09190
+ad8b08a9068e8b8d8d8c8f088ea0fb0689fb078d877505888c898f1ea906a593877b
+1f8b868a8389820864fb7205455548896e8b4d8b679f8bc48b958c958d9708a9f73e
+0590aa8f96b58b089d068f8b8c8c8c8f088fa0fb018a208c88768a8a05888e8a8e1e
+9d06a89587791f8b868a848983086efb3a05887b8a7b8b7c8b45ac55e88bc58bca93
+e9dc085efb9405866c8579698b087b06848b7c84897e0870fb2ba68b05a5d1c8d7d6
+8b088d8bd38a8fa1058c8e8a8d878b0864067084929c1f8b928c928c94080e5e8ba7
+f702aff778a801f721d4b19f03f84dd715c6f7aa0594b49492ac8b08a5068f8d8d8e
+1f90a18a8dfb05892f8d8989867505878c8a8f1e9b06a494867b1f8b848982898008
+70fb110565676478558b628b7e9e8bad8b9b8e9f90a2089bd50592ab9395ad8b089a
+068f8e8d8f1f90a0898d2588368e8a89867505878c8a8f1e9206a594867a1f8b8589
+838980087d4a05877788778b788b57a262d58bbf8bc499babe0870fb13058367847f
+6b8b087b06808b7f83887e0871fb109f8b0597a4b3e7ed8b088d8bc98a8d8d90a005
+8f8a8d871e7b0671838f9c1f8b928c938d97080ef589a8f76ab5f80b77c2b101f814
+d403f7c7f7af153d0afbcdfb6015b30af85af94e15f78d0a0e4081c7f7faaabdb201
+d9dbd9d09dd903f82ef845156e0a59fb6a156f0af4f7f715f79d0a0ef589a8f76ab5
+f80b77d3e601f802e7d0e703f7c7f7af153d0afbcdfb6015b30af797f96615a00af7
+358c15a10a0e4081c7f7faaae3e712d9dbd2e78dd97fe713f8f779f8d115d20a13fa
+f73416d20aa0fb2015d30a13fcd40a59fb6a156f0a0ef7a089a870b2f777b2a3adf7
+86b370a712f949aaf2a81333f7d3f7c515bb0a137b78fbc515bc0a1337fb3c8c0513
+3b898a87770513b7bd0a137387780513b38c890513738bc18dac1e13b3b1cc898b1f
+13738c8d8fa00513b3be0a137387790513b3bf0a0ef71281bc5ab5f80da912c7d583
+ff004f6666ff01bd999ad91324f843f79115d70a386515d80a1374d90a9ff70b15da
+0a13acdb0a0e6889a870b2f7b0b1d677f751b370a8b9b112f7bfd4a5aae3a7133bc0
+f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513b3c08d8905
+1373c0490a13b3c04a0a137bc04b0a74f71715f78d0a0efb3481c7f7faaabdb201de
+debfd0cfd003f7f7f80615750afb50fb3f15760af7acf80b15f79d0a0ef67fadf756
+b7f800ad01f1d5f857e903f744f76c15f72f0ab9f7c715f7300a0efb1081aaf806bb
+01e7d1f75bde03f736c615f75f0af75af73f15f7600a0ef67fadf756b7f800adbbe5
+01f1d5f72fe8ece799e903f744f76c15f72f0ab9f7c715f7300af713f76015c50af7
+528c15c40a0efb1081aaf806bbe1e612e7d1a5e7d0e73bde13f8f736c6158beaf709
+b6d89168fb2b506c5b8b08677b94a81ff75af73f15fb9958843a8b6508689d68dc1e
+13faf73fddf73ef713e06fce251f3a8b5362533e90809086978bc1c5aca7bb8bb88b
+b1678b308b868b768a8308fb0af81615a00af7358c1513fca10a0ef7ba8aa8f7bbb6
+f774c86aa7c4e612f7b1adf70ae7d0e713eff9d48a15f78e0a13dff78f0a13eff790
+0afba7f9ae15a00af7358c15a10a0ef74c7fc4f73caef71bc5dfe612f791cfa6e7c9
+d24be713fcf826f8fc15f7be0af7358c1513fda10afb2ffb981570fb01468b0590a4
+8fa48bad8bc573be5f8b628b54605c5a08977205a2a1b5b0a48b08a6996658fb1a44
+fb085f1f6b8b7aa67e8b08738073777aa174a31fcb8bf704e0b3f72008d28affffde
+ccccfb2005fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b199a
+fffff58000ff001fcccc8bb08b8ab7ff0008e666b108ff0022199af721d18b0513fe
+7e5d86608b6e8b54a357b88bb08bcdb5b7c00880a3057473606a728b086d7ebdbbf7
+10cdf702b41f998b8d8a9c789284928a978b08999a97ac9f76a1771f588b27405efb
+0a08408ba4f3058f9d94a98b978b9c82956c8b658b8c5f8265080e627fb0f7cbb0f7
+0976f72fadbde601c6dbf0e7d0e703f7baf9b315a00af7358c15a10afb69fd9b15f7
+910a0efb2d7fabf757aef734abdee612d5cbbee7b5d25fe73fc813fc00f787f8fc15
+f7be0af7358c1513fd00a10afb9efcaa15a6788e82817183645eb46ad51e13fe00f7
+29c3efce1f8bc65ea1788d0813fc80f79b0a13fe00f79c0a0ebafb67b0f92e76f71b
+b301f727a5f7cee603f7adf91a15f73d0a0efb1bfb74a8f8deb201f7d7d803f763f8
+42157d8b868d8c948c8c8b8d8c8e08758f48fb2ca48605b2dfab98a98b08f7228bfb
+73fbb105a2909f8d9d8bce8bbb5a8b4a8b818a80888070fb09295e5a8b628b75a283
+a284a07c91748b08768b807d877b8a898b898b898b6cbe68e18bf7248beeeba1eb8f
+9d8d9c8b9b8bd75bbc2b9308f74df78005949891958d91088e0792858e7c1e0ef71f
+8aa8f8e2a7d3b701f94bf8d215f7bf0a7ff91b15988b9a9d8d978c8c8b8c8b8c0891
+8890831efb88067f8b7d7a887f8a898b8a8b8a08858e86921e0e6381c7f7ddc7c7b7
+01f70cdaf736d903ff01e6e666f88715988bff000eccce9dff0002666497ff000133
+3491fffffd999c93fffff5fffe8b08fb8906808bfffff180007afffffd999a7fffff
+fe999a84ff00024ccc83948b08ff0107199afb2715940a0ef71f8aa8f8e2a7bfe601
+f7eee8ece703f94bf8d215f7bf0afb98f934158b888a888b898b769b7ba18ba48ba3
+9f90a48b8e8c8f8b8d8ba07c9b758b728b7276867208f7528c158a888b888b898b75
+9b7ba18ba48ba3a08fa48c8e8b8e8b8e8b9f7c9b758b728b73778672080e6381c7f7
+ddc7c7e612f70cdaff0036b333ff005c0001ff000f4cccd9ffffe7b334e713f8ff01
+33b334f8e21572ffffe2ffff756c75ff001000017ba1a3a9a1ab1fa07b9b751ef735
+8c1513faa10aff00254cccfb8315ee0a13fc826b83628b788b78927da98bbb8bb8ad
+b9c6889485937d8b716d6e77818b848b88908b97088b9490a191a5080ef681adf8ec
+adbbe512ff00576666ff005ae666ff00adb334e8ece7ffffef4ccce413faf848f904
+15c80af79bfbbb15590afbeef83a15c50af7528c1513fcc40a0efb0681b0f80face2
+e612d9dec5e7d0e731de13f8f7a5f8fd15f7be0af7358c1513fca10afba5fc5415e7
+0a13fae80a3883158d0a0ef71d7fadf780c691c6f785ad01e4e9f85de803f910f7e9
+15f7b30ae57f15f7b40afba2f7ba15f7b50a0efb0681b0f72cbd75b5f731ac12d9de
+f771de13dcf735f73e15e5b2f726f51ea98bff00104cccfffff0199aff000e3334ff
+ffe3e666ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813bcf7c00a13dcf7c10a3883158d0a0ef71d7fadf780c6
+91c6f785adbee501e4e9f73ae8ece794e803f910f7e915f7b30ae57f15f7b40afba2
+f7ba15f7b50a21f71615c50af7528c15c40a0efb0681b0f72cbd75b5f731ace1e612
+d9dec7e7d0e72fde139e00f7a7f8fc15f7be0af7358c15139f00a10afba7fc5315e7
+0a13de80ff000cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bfffff5
+8000ffffff999afffff2199afffffe999afffff04cccfffffbe666ffffff6667ffff
+fbe666ffffffb333878b0813be80f7c00a13de80f7c10a3883158d0a0e9d7facf790
+c379bcf799b0bbe512d8d8f718e8ece713dff89af7c715f7960a13bff7970a13dff7
+980afb7bf85015c50af7528c15c40a0efb2d81acf731bc75b4f732ace1e612c4cacf
+e7d0e734d7139e00f786f8fc15f7be0af7358c15139f00a10afbaffca915a7798e82
+846e85645eb868d01eff0035b3338bff00338001ff000d4ccdff0028ccccff0021b3
+330813de80d1ff0039e666b6ff006680008bff0056999a8be158d02e8b488b897f4a
+8b7c548a807c5f08a68705a6c89eabd68bcd8b9e518b4d8b7a897a897b7f867d897d
+8b0813be80f7aa0a13de80f7ab0a0e9e75c9f8d6a7f70bb701ff02158000f99115f2
+0affffa98000fd6915f78c0a0e51fb7ec8ff02178000ff004c8000f717b701f871ff
+0048666803ff01be8000f8ce15f30af72afcce159a0a0e9e75c9f8d6a7c8e501f7d5
+e8ece703f75fb315f78c0af70bf95c15c50af7528c15c40a0e51fb7ec8ff02178000
+ff004c8000e1e601f773e7d0e78cff0048666803f7a9f8fc15a00af7358c15a10aff
+ffaa8000fcfd159a0a0e9e75c9f8d6a7cf7601f75fb315f78c0af7a3f9b215f7180a
+f7274c15f7190a0e51fb7ec8ff02178000ff004c8000f76a7601f871ff0048666803
+ff02079998f8fb15ff0003ccd0ff00129998fffff29998ff00126668ffffeb199a8b
+7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffeccce8affffff9998
+89ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff000266668d08ff00
+886668f70205ff0007333491ff0002800092ff000133309108ffff7d33349115f71b
+0affffdbb334fd01159a0a0ec68aa6f774c5f7cba6c8e501f742dcdde8ece703f832
+a515f7920a3ff96a15c50af7528c15c40a0e5d81ccd7bdf76aa79b77f5e612f724da
+5bff00558000ffffea8000e7a0d96de713c900f7b9f8fc15f7be0af7358c1513c840
+a10affff2a4ccdfffed733341513ea00ff000ab334ff0026ccccff00098000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b6b8b5e84
+5c85fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff6e66689ff
+fff2199a846f087c480513dc808673897a8b798b649872c08bff0039e6668bff004b
+999aff002cb333ff002e999aff0023800008ffffeae666ffff9fcccd05846c81618b
+788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b848b88908b97088b94
+909c91a508c3f77805ff0003999aff0011e666ff00096666ff001e199a8b978b9c81
+956b8b658b8b5f836508ffffe8b334ffff95b33305ffffd79998ffffe16666ffffbf
+8000ffffd8e666ffffdf33348b6a8b869e8ba68b9c8ea192a6080e4c8ba8f8d5b370
+a712f75fa6f7d6a613d8e816d8ac3f451fa68ba9f72a058d987f92848b087a067485
+949a1f8b928c938d9508ecf8890590a59a91a18b08f71406cc8b9d568d4308a68f97
+f735fb878b3e8b0513b87efb068c8b1f13d8888a87770513b88a878e88908b08a806
+ad9784781f8b858a858984082afc8905856c797e648b087006878b87888a86088778
+8d89050efb228ba7f7fab76fa812f7619ff769a013d8f3168e06ea8b8d308c71089f
+8ba6f70c058e988092838b087b067583919a1f8b938d948e9608d3f7cef7048b05bf
+925f581f7ba007a4f72ffb628b658a0513b8fb038d88898675058a888d898e8b08aa
+06a493867b1f8b858a82887f084afbae05856e7e7c698b087306878b87888a860886
+788d89050ef7758aa9f7c4b3f789a7c7e512f825e875e6a7e713f2f9abf8d315f793
+0afc70f889152afc8a05856f7b7b628b087006868b88888a860887788d89058bf08d
+a71ea88baa89af8bf70d8bf7349cacf73b0813f68e9b8d9c8b9c08d460cefb5c1e4e
+8bb2f75d0591a99d99b28b08a6068f8b8f8e8c900813fa8f9e898c058b348a64682e
+8c8b1e898a8778058a868d88908b08a506ae987f771f8b878a878a8708adfb8515e3
+0613f6f4a74f531f8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d9308
+f75cf9341513fac50af7528c15c40a0ef47fad6bccf763c0dba79877f701e612f70d
+d67bff00558000ff002a8000e776d997e71324a0f7fef8fc15f7be0af7358c15a10a
+13a660fba2fce715f7a50afffff84ccdff012a333415132d20f7a60a13b620f79f0a
+13ad20f7a70a13ae60f7a80a136420f7f5fb4115f7a90a0efb6dd1b0d012edd25dd2
+13e0eefb4a158a888b888b898b7c967f9b8b9f8b9e9b8f9e8b8d8c8e8b8e8b9a8097
+7a8b08788b787b877808a4f61513d0f7c20a0efb6cd0b0d012c1d262d395d2c5d25d
+d213ccf7bcfb4a15f7c30aa4f61513caf7c40afb80201513d88b898a888b898b7b97
+809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a80977a8b788b787b867808ddf615f7c20a
+fb041613e88b888a888b898b7c967f9c8b9e8b9e9b909e0893079a80967b1e788b78
+7c8678080efb6dd1b0d054b412f793d25dd21390f794fb4a15f7c30aa4f61513c8f7
+c40a13a0fb817615f71e8b94b4fb1d8b050efb6dd1b0d053b512c4d2f716d25dd213
+98f797fb4a15f7c30aa4f61513d4f7c40a13b0fb967515d48b8160057c877e7e887b
+8a898b888b888b7c967f9b8b9f8b9e9b8f9e8b8e8c8e8b8d8b928991878f0897bec3
+8b95b5fb388b050efb27d001f716d303f717fb04158b888a888b898b7c977f9b8b9e
+8b9e9b909e8b8d8c8e8b8e8b9a7f967b8b788b787c8678080efb27d001d6d2b4d203
+f750fb04158b888a888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a
+8b788b787c877808fb0416f7c40a0efb6cd0b0d012dfd362d295d213d8f708fb4a15
+8a898b888b898b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977a8b08788b78
+7b877808dcf615f7c40afb041613e88b888a888b898b7c977f9b8b9e8b9e9b909e8b
+8d8c8e8b8e8b9a80967a8b788b787c8678080efb15b501dbf74103dbfb1515f7388b
+94b5fb378b050e22b501f708d203e02215d58b805f057c877e7e887b8a898b888b89
+8b7b96809c8b9e8b9e9a8f9e8c8e8b8e8b8d8b92899187900897bec38b95b5fb388b
+050ef8e7d101f767d203f768f90a15f7c50a0ef8e7d101f767d203f768f90a15f7c5
+0a0efb6dd07bd07cd012b6d3a6d2a8d2139cf787fb4b158b898a888b898b7b96809c
+8b9e8b9e9a8f9e8c8e8b8e8b8d8b9a80977b8b08788b787b86780827c1158b888a88
+8b8908135c7c967f9c1e9e8b9e9b8f9e8c8d8b8e8b8d8b9b80967b8b788b777c8778
+0828c1158b888a888b8908133c7c977f9b1e9e8b9e9b909e8b8d8c8e8b8e8b9a8096
+7a8b788b787c8678080ef76ed101f76bd203f76cf79115f7c50a0efb5ff71e01f714
+d103f7354a156afb1eb18babf71e050efb4ef836e201bff7a403bff83615f77b8bb4
+e2fb7b8b050ef8edb501dbf74103dbf8ed15f7378b95b5fb388b050efba29976f8d7
+7701baf75303ba8415c48bf71af8d7528b050ef8e5d001f87bd303f87cf907158b89
+8a888b898b7b97809b8b9e8b9e9a909e8b8e8c8e8b8d8b9a7f977b8b788b787b8678
+080ef8e5d101f70dd203f70ef908158a888b898b888b7c967f9b8b9e8b9f9b8f9e8b
+8d8c8e8b8e8b9a80977a8b788b787b8778080efb659d7601bbf79303f775df1558a2
+82a183b77e7571614572b27b9f83954cb4ce998bc09f08d9f7e9155f9f7e8c81ce66
+5075805979be75928d9546a5b59da2cba3080efb7f8bef0174f7de03ccf7a4157631
+5d487f57846f89768b7d08f7918b82effb3e8b0596a793a394a89bc392d798c390a4
+a298a68dd48fbda895b38d978d948b938bb66b8b8b8b087d6a68896e8a5c895b837d
+4f7e528e4e7e51080e3ba0761294cc54f7075bcdf753cd13d8f87ff84e158c908c90
+8b8f8bac6d9576915e9a86968b940893078b8e8a8f878f8b8b68837b4689858b858b
+858b6f9e77b08165656e5f775c088a8dfb1ef762058397879a8b9c8b938c938c9408
+7f066e727a70847089828a838b828b759276987608a269054765653c805989838a82
+8b820813a88b6a95658b718b868a868a87887b757d7c89868a87858b868b8a8b8a8c
+8a08ef06a38baba992ab8c8f8c908b900813d88bbe4fbf8bbe8b908b8f8c9092a69e
+baafa008f756fbb105927f907b8b7a8b858a868a84ac8ba3b693aa8d938c948b938b
+a184a17da00859d20589938a938b938b938c938d9393ada4b5bdbda2898a65958b08
+908ba5be92aa080e2e8beff7d9f700b87701f80fc203f7baf8a91521066f82a1a21f
+8b8b58827a438a858a858b85086ba175b41ef72e06c2a585561f8b7286687f597d4d
+7457786108fbc68b5c27f8288bb9ef398b05c0c3a3e698c297c196b98baf08c96bac
+fb001e0efb769a7691ef1264f7d81360f784f7bc1593b1a5d893b08d948c928b928b
+b46993678b718b6a8b8dad8b8b5d817b478a868a868b87088b62bb839b88b185a684
+8b5c8b7d887986756cfb1d5263fb027873867f75807181768d7a8a8208f70f8ff701
+f72e928b0513a09e5a6efb07b98b9b9d8faa8ca10895078bca75c18bc6088b9a8c9a
+8f9a080efb0f9f76f832f601d7f81403f7e2f7b715a5f700d9739fde8c928c928b91
+08a87698661efb7206707d96a21f8b8b608579418a858a858b86086da07db61ef78b
+06485e5f447631805b845c7d4c8676837a807f089606a38bb8929eda9bd18fce9bd0
+080e389376f839f70001f829f7bc15a2efae8995b30890a3058d948c938b9208a17f
+97631efb8a06727da0a21f8b8b5d847a4189858b858b85086ca175b51ef7bb065a5e
+6a4d793d81617e3182618677837a7f7d08918105bb92aaab98c59acd87da9acd08fb
+ccfb1d1592ab9aa99d95088e9805878e858c858b5a8b69617b478778804f8779887b
+8279808208908005bc8eaaa894b2909e95ca909e080efba89a7601f763c303f70685
+15f7c60a0efba49d76f833f70801b0f79a03cbbe158675827a7e7d8b8b908a918ba1
+8bba959fe29bd37fd69dd990a097b69fb19884a281a08b08928b918c918d959696a1
+8d948e958c948b938bb26b95288e7a8f83968c9e8b8b61857a410889858b858b858b
+69a879c58b65546f497d4e7d518d4c7d51080e399c76f835f601f825f7bf15a2ecb4
+799cd78d938c938b9208a87899661efb8306707f9ca21f8a06868b5e897c4b89848b
+848b858b67a372c18b2f43793a75fb0d7f4c865c706c8b8b9189958b08a28bb5979f
+e099c989d89ac997c1a5b4b1a308f78d065b5e6749783c82617e3181618676837a80
+7e8b8b908a948ba18bb5959dd999c88aea98c5080e408beff7cbf70225f70012d2c6
+f7c3b413b8f712f82e15705f725a8161773598fb0a7c4408f7ab06cff709bdf49fe3
+96b98faf8ba88be3629d6c8b6e8b6b7871736a6e68565a4108a07f05d0dfae9eb88b
+b58ba2748b5f8b7e897d887c783b6943615108fb720681b985b78bb58ba58ea490a4
+91a5a0b49fb00813d8918b918a908b988b978d958e939990998f998d938c938b918b
+a57b996c8c6e8c7b968b9f088b8d8c8d8b8d8b8b648a793e89838a838b85088b6ba1
+80ac85080efbb7f833f501f74cc203f707f78715f7c70a0e35f82cf70001f843f7fd
+1593b19590948e9b909e9e91a68c918c918b92089f809e5d1efb85066d7c96a21f8b
+8b5f897b4489848a848b85086d9e78b21ef7918bfb22fcd58f8b059c8bb88e99db08
+0e298beff7cdf70001f80eb903f800f78c15752a62583d8b08fb668b5a27f7518b05
+f73a8bb8dfb5f74996be92b68bb008de6ab5431efb17066f7d96a21f8b8b5f827a44
+8a848a848b86086e9f7db11ef73906c29c6f5f1f8b71856b8368080e369576f83cf6
+12f709ce5eb7f74dc713d8f712f8c2158e97939d93999094aacb8c8e8c8f8b8e8b8e
+8b9d7b947c8f848d78928d9d8a8a6e89805e088b888a898b898b7a9c84958796879a
+848b7d8b8a8b898a898982817a8581776b76657f5b088a858a858b85086aa67cb71e
+f72c06c99d796d1f8b818980887f7c4b797b4e5862692b3b7e520813e88a858a868b
+868b7b93829d8ba18b989791a38d968a958e9a93adb4b0c2bde4da9698a0e20894b2
+91ab8ba308b7789f531e13d8fb3e0669738fa21f8b8f8b8e8c8f080e698beff7d1f6
+01f846cc037d16f8468bcef7e90592ae90a98ba308d364a1fb011efb3106727e97a2
+1f8b8b5e8b7c4689848a848b85086b9e76b21eab0658604946806108f735f72e15f7
+2506bfa07a531f8b708666815a0872fb17fbe58bb1f7260599c1b3c3cec8080e628b
+ef0174abd7f724f762b503f7f1f8a9157b595d684e6d859088958b958b8e8b8f8c8e
+8e988e8d8f9c8c8f8b8f8b8f8ba5738e758d08788d728f8aaa8b8b67867c4c8a858a
+848b868b709b76ab83ad8398858b7b8b878a878a87082c3846fb0c6bfb1c887f8980
+8b838b818e85948b948b95948c90aaf71ab8e9c6ccc5ccd3b3bf8b08d0b358461f8b
+7c897c877b7f597053776808fb628b5027f7888bbade0597a0b5dc9bce92aa8faa8b
+a88bea64db329a080efbabc7f78603c7fb5f15908dd27fa3f71b08c4f7ce0593b89a
+b5a1b1a1b197a48d968e958c948b928bbd5f8e618d768c688d8bac088d078b8b6286
+7a428a858a868b868b6aa979c388ae89a0838b7d0887078882857f827f726c7c7085
+74080efb888bef01f783cc03f787f7a41598c5abc898c48d938c918b918bb5639164
+8d6d8c698d8dac8b8b5f8b7a438a888b868b88088b69af73cb87a2899a818b788b88
+8b898a877e536e3f8253866e87738a6f08fb3e8b5427f7928b05919991a092a797bf
+7ccea0e5080e5880f0f7d9f601a7bef7e5b803f74d8015ec8bf5abc4f78996b990b3
+8bab08f456ac3c1efb1a06707d97a21f8b8b5d897c468a868a858b848b74946eb08b
+5b556a46793d846e88718b758bfb15f077c38b08f71cf83e15d0a56d531f8b748670
+846d6bfb213e79378b548b3e8e8bee8b9d8ea190a499c3a5c2b2ba080e4df831f702
+12d8f72ffb24c088c1f73bf72e1398f789f70e15397ea4f702058e978c968b948ba8
+7c97759c0813a8819287968b988b9e93a497a89a8b988ba086919495a28e960813c8
+8d958c948b928bb66a8d748c808c698e8bad8b8b66877b458a878b868b878b6da374
+ab830876677b6987770813a888808a818b838b70987aa176081398948191768b6c8b
+788976867408fb0d785f28f772ad05e795c3b89ddaa7f70df704f70c9cd28c908c90
+8b8f8ba17d976e905e9282948ba58b8b65887a420889858b868b868b719e79b28297
+8891838b7f8b888b878a8789817b6f706508fb01fb30b1784282080e36f755e7f714
+f700b97701f824c903f73bf755159d8b95a091a58c8f8c8e8b8e8b9e7e9672906792
+7f948b9e8b908b908d9191a49ba0a6aa08f72306b98baa7f92738d808e7c8b788b73
+876e836908fb09fc5a059b90bb779edf9acaa5f70a9ce608b5f7750590aa8ea48b9f
+08d1659dfb0d1e35067180a0a11f8e078b8b4c7b7e538a868a868b868b6c9e6ca386
+585663527c4a887e8a7f8b838b779285978b089f8b9c999f8b080e348befe8e7f714
+f70001f821b903f813f78c15752a62583d8b08fb668b5a27f7518b05f73a8bb8dfb5
+f74997be91b68bb008de6ab5431efb17066f7e96a21f8b8b5e827a448a848a848b86
+8b79927f9a845856614c7d4a877d8a808b838b779385968b089f8b9c999f8b08c306
+9d8b95a091a58c8f8c8f8b8e8b9d7e96729067927f948b9e8b908c908c9191a39ba4
+a3a808918a908b928b08f73906c29c6f5f1f8b71866b8268080e3cf823f70c01eef7
+4103f72ddc159accc8dfe7dba19eb9b1bcab9d8b98879a82979699b68d958d938c92
+8b928bb06d92678e08748c73948ba78b8c8c8d8b8d8b8b6685793b89858b858b868b
+6e9f79b5843953303d482f08838b9de30597c4d1df95b38c928c918b908bb265936a
+91788d71998ca68b8b647c7a448a848a858b86088b6ca47fc57f958990848b818b88
+8a888a8883635d4f82610831fc47908b059a8bb4919fe099c58fdb97c1080e3a8bef
+01cec9b1a0f71cc703f75ef7b5158195879b8b9c8b948c948d9390a29ebd91a28e97
+8c958b938ba9788f668e7e8c708e8baa088e078b8b5f877b458a858a868b86086aa5
+77b6a1947e781e8b8389828981087743058a858a868b858b7b917b987f08f70e2505
+91859183898308fb9e8b5427f7ea8b05a491c5c78bb78b97879581930851bb057f99
+879a8b9b8b948d948d9595b6bcd4b3ab908c8f8b8f8b9c8b93869585989896b28e96
+088d938b928b908bac718e6e8e7c8c698f8ba78b8d8c8d8b8c8b8b618c7a408a868a
+878b87088b6ea075ad836463594b654d080e4bf831f70001f853c403f767b11597be
+b7a2cdafdcb6bba5a9f71391a691aa8ba808bb78b5411efb4f06707d96a21f8b8b58
+8a7c498a858a858b86086aa272b41ef75e06c098716d1f8b7b877b887c7b4535577c
+836273fb0e44793e8a858a868b868b7c92849b8ba18b999690a1088f998c998d9208
+fb7efb9615a4989c978d9608f70af890828b056f777772846f0820fc67050e439476
+f83df70001f822cc03f7cf7f158b8bc28e94b508d3f7cb0593ac8fa78ba208d45f9f
+fb041efb1206707e98a21f8b8b58847d4c89848b868b85086ba073b31ef74306c8a6
+77521f8b7186697f61080ebe8beff7c9f70312c8b075f723cbf72413e8f900f85815
+8d928b928b918bb26a927f907d907a8e8ba20890078b8b6188793b8a868a868b878b
+77987ca38292899e878b778b888a878a88887a7d75747308322b5741715a08fb3506
+cfe7c7f6bdf704a18b96889682939698a88f988d948c928b928bb16c9077907c8f76
+8a8cac088b8b64867a448a868a868b868b729b79aa7e4cfb0f4c204b390878067cbd
+83b98bb58b9e8d9d8f9c95b59bb29bad9d8b968da68b8f91919d8e960813d88e968c
+948b938ba67f9a7491639483918aa3088906838b6e86793e8a858a868b868b749b79
+ab817564755d7f5a0813e885718a738b718b6a8e4f8b748b73826f896b08f7b906d1
+f771f746f70ca5f703080e5d947697eff7cdf70012f845cb13b0f7f27f158b8bc18e
+95b508d2f7cb0593ac8fa78ba208d45f9ffb041efb1206707e98a21f8b8b59847c4c
+89848b868b85086ba073b31ea1065c555c507733081370888181488568084e8b6327
+f71b8b9ec50599b37cd69ede97bdbbd0aab108f71006c8a777521f8b718569806108
+0e879a7601f75fc3f76bc303f8108515f7c80afbfbfbea15f7c60a0e7b9a76f839f5
+01f74cc2f77fc303f707f78715f7c70af7a1fb9415f7c80a0e6ff833f501f74cc2f7
+66c303f811f78715d6aea9e695b591a48e9f8b9a08b37695586e6a8bac1e90078b8b
+61867b488a848a858b858b6ba377b98ab689a47c8b718b878b888a87805d77646371
+08fb9a8415f7c70a0efbeaf7e5f77501a7f74403f73bf8c615f7c90a0efb44f7e5f7
+7501f7e2f8c6156d8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b98
+99c7cfb6bcabb191a3088b8d8c8d8b8d8ba071907f8b08fb3b16f7c90a0ef5fb6ba6
+f704a6baa8f76ab5f80b7701f7c7f7af153d0afbcdfb6015b30aff0084e666fb2f15
+a98bff000ee66672fffff9b3346cfffffa4ccc6fffffe74cce6f6c8b6c8bfffff2b3
+33a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a5315f7250a0e
+40fb6ca6f704a6b3c7f7faaa01d9dbf739d903f82ef845156e0a59fb6a156f0affff
+4de666fbbc15a98bff000ee66772fffff9b3336cfffffa4ccd6fffffe74ccd6f6c8b
+6c8bfffff2b333a7ff0005b333a7ff0006199aa9ff00184ccca5aa8b08ffff9d999a
+5315fffff6999a5dff0021800066b98bbb8bff002eb333b1ff00093333b8ff000999
+9abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080e8789adf7c0adf78b
+adb9eb12ff014f3334ebff00266666ff0058fffeffffb7199cff004c333413faf7b6
+f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff013b3334f96615f729
+0a0e3881aef803badfeba3a8a57712ff015b3334ebffffdeccccdd13faf7b1f8db15
+700af7486815710a13fcffffc13334f7a215f7020a0e87fb37ebccadf7c0adf78bad
+12ff00b63333ff00600001ff00bf6666ff0058fffeffffb7199cff004c333413faf7
+b6f8ce153e0a856915cd0613fc3f0afb425015400a13fa410aff00a23333fb1a15f7
+0e0a0e38fb37ebc4aef803baf760a8a57701ff00933333ebff00a6cccddd03f7b1f8
+db15700af7486815710afffef93334fc3415f7ca0a0e87fb17b7e0adf7c0adf78bad
+12ff01d5999aff0058fffeffffb7199cff004c333413f4f7b6f8ce153e0a856915cd
+0613f83f0afb425015400a13f4410aff01324cccfb2a15f7cb0a0e38fb17b7d8aef8
+03baf760a8a57701f82edd03f7b1f8db15700af7486815710affffa24cccfc4415f7
+cb0a0ec2fb5ca8f735b4f8e2b001ff0058cccde1ff00b8b333ff003f3334ff00d14c
+cca803ff014c80002b15c00a0efb40fb58a8f8d3aa01deddff00498000ff003f3334
+ff00344cccd003ff00d380002f15dc0aff009e8000f98f15cf0a0ef589adf8d9adbd
+eb01ff01983334ebff0062ccccff005ab334039e9d15430af742c215440aff00d733
+34f93415f7290a0e4381b9f803afdfeba3a8a57712dcdbff00483333ff00600001ff
+fffeccccd913fdf7edf75615730a3d04740a13feffff933333f85915f7cc0a0ef5fb
+37ebccadf8d9ad01ff00d43333ff00600001ff0126ccccff005ab334039e9d15430a
+f742c215440aff00133333fb5015f70e0a0e43fb37ebc4b9f803aff760a8a57712dc
+dbffffe83333ebff005ecccdd913fdf7edf75615730a3d04740a13fbffff333333fb
+7d15f7cd0a0ef5fb17b7e0adf8d9ad01f8efff005ab334039e9d15430af742c21544
+0aff00a04cccfb6015f7cb0a0e43fb17b7d8b9f803aff760a8a57701dcdbf73bd903
+f7edf75615730a3d04740affffda4cccfb8d15f7cb0a0ef5fb76a3daddb2adf8d9ad
+01f8efff005acccc039e9d1588798d8905b88cb18cb28bb08bb089ee8bf71c8bf753
+cbbaf78aff00049998a2ff00023334ff001680008bff0015cccc8bff009a3334ffff
+916668ff00758000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a
+868e88908b08a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3
+308bfffffb3334ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b
+78806989086e8905878b87878a8608f742c215440aff0076b334fb0615f71e0a0e43
+fb76a3daddaab9f803aff760a8a57701dcdbf73bd903f7edf75615730a3d04740aff
+ff87b333fb3315f75a0a0ef589adf8d9ad01f8efff005ab334039e9d15430af742c2
+15440aff005ee666fb1615e60a0e4381b9f803aff760a8a57701dcdbf73bd903f7ed
+f75615730a3d04740affff82e666fb4315f7ce0a0e6889a870b2f7b0b1d677f751b3
+70a8f70ab712f822aae3a7133380ff00e66666ff02e63334158bff00046664fffffc
+e667ff00054cd0fffffa9999ff00054ccc08ffffb16667ff0049e66448ffffd86668
+ff006c9999ffffc8800005ff000c4ccdfffff9ccccff000acccdfffffbb334ff0007
+b3338b08ff000b8000ff00033333ff000b6668ff00054ccc1fff0142999affff9fcc
+cc15c10a133b80c20a133780460a133b80470a13b780480a13738087770513b3808d
+8905137380490a13b3804a0a137b804b0affffe88000f70b15f20a0efb3481c7f7fa
+aaefb701dedef751d003f7f7f80615750afb50fb3f15760aff01168000f7e815f30a
+ff007de666ff00e2333415f74b0a0e6889a870b2f7b0b1d677f751b370a8f70ab712
+f822aae3a7133380ff021c8000ff02d4800015ff0006e6688bff000c4cccff00044c
+ccff00103334ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff
+936668ffffb6199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff819
+9c08848efffffd4cccff000633341eff000c8000ffffb1800015c10a133b80c20a13
+3780460a133b80470a13b780480a13738087770513b3808d8905137380490a13b380
+4a0a137b804b0affffaf8000f70b15f30a0efb3481c7f7faaaefb701dedef751d003
+f7f7f80615750afb50fb3f15760aff01168000f7e815f30aff00b2199aff00dc3334
+15f74a0a0e6889a870b2f7b0b1d677f751b370a812f822aae3a7133bf8bdf91a1545
+0a1337460a133b470a13b7480a137387770513b38d89051373490a13b34a0a137b4b
+0afffee0e666fd5315f7cf0a0efb3481c7f7faaa01dedef751d003f7f7f80615750a
+fb50fb3f15760aff0037e666fb9415f7ce0a0e68fb38b78fb9cfa870b2f7b0b1d677
+f751b370a812f822aae3a713cec0f8bdf91a15450a13cdc0460a13cec0470a13edc0
+480a13dcc087770513ecc08d890513dcc0490a13ecc04a0a13dec04b0afffedcb334
+fd9215f7d00a0efb34fb36b78fb9c5c7f7faaa01dedef751d003f7f7f80615750afb
+50fb3f15760aff0056b333fbd115ffffecffff8bfffff1199a95fffff2666697ffff
+eecccd99ffffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b3
+34ac9b9aa58b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18b
+ff002dffff8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffff
+efe66881ffffe9ffff8b080e68fb49a4d7abb9a870b2f7b0b1d677f751b370a8b8bf
+12f7afc256a7e0aae3a713ced8f8bdf91a15450a13cdd8460a13ced8470a13edd848
+0a13dcd887770513ecd88d890513dcd8f75c0a13ecb84a0a13deb84b0afb2cb915f4
+0a0efb34fb4ea4d7abf861aac9c4e57712dedeff0040199aff001d6666ffffe98000
+c2cad013fc80f7f7f80615df0afb50fb3f15f799be87d88bb108a474bc43fb4243fb
+3efb131e8bffffac6666ff0026b333ffffbde667ff00503333fffffdcccd08ffffcd
+199affffb4e6669085059c8f948d9f8b0813fd809f9a817b6b6679691f748b848c71
+94087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff001f199aff
+0030cccc05ff0036999aff0009999aff0032e666ff0022e666ff00316666ff003fb3
+34869685907f8b525174825b8b5e8b6ca38be68b908ba08c930813fe80ff005c8000
+f85515ffffe2999a7f05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e1
+08ffffe766669705ffffea333451ffffcb80006b578b08558bffffdc8000b0ffffff
+ccccc0080e2389a8f7bcb1d677f751b370a8c4eb12ff01513334ebffffdcccccaae3
+a713f580f7fbf7d7154c0a13ed80460a13f580470a13ed804d0a13e680ff00643334
+f84115f7020a0efb8bfb82acf8e7b2f780acb1eb01ff01503334ebff00066666ff00
+54ccce03f750f81a15770aff00e63334f81e15f7290a0ef281aff789aff7ceb0f6b7
+01ff0053999aff0057e666ff01dd8000a903f87bf926154e0aff00698000f615f20a
+0e37fb82acf7e5a9f781b36da9f717b71292ceb5c35bd5f723d556cc13cc40f73588
+15780a13ed80f792f7ba15790a13dd007a0a13ee407b0a13dd8041167c0aff007480
+00f7ab15f30a0ef70489a8f7bab5f793a8bdeb01ff01a03334eb03ff01a03334f97d
+15f7290aff00baccccfb44154f0a0e6181c7f7ddc7dfeba3a8a57712f7f0ddffffba
+3334ebffffd4ccccda13f9ff00afe666d315f7090a13fcf70a0a13f9f70b0a13faff
+00b84ccef88715f7020a0ef704fb37ebcca8f7bab5f793a801ff01003334eb03ff01
+003334fb0715f7290aff015accccf940154f0a0e61fb38ebc5c7f7ddc7f760a8a577
+12ff00b63333ff00600001ff0045ccccdd7ada13fdff00afe666d315f7090a13fef7
+0a0a13fdf70b0aff00064ccdfb5015f70e0a0ef70489a8f7bab5f793a8c4e501f7e2
+e8ece703f7e3f98115c50af7528c15c40ad9fb49154f0a0e6181c7f7ddc7e3e6a4a8
+a57712f7dce545dd7ada70e613f880f865f8d015729f77a4a4a09fa4a476a0721e72
+7776721f13fc00fb1d16729f77a4a49f9fa4a477a0721e727776721fffff67e666fc
+8815ff0026199af73a05caddccc6af8b0813f900f7630a13fa00f70a0a13f90093ae
+90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff95
+4ccc08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff00281998
+8b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ff
+fffde666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab7ff0008e666b1080ef704fb49a4d7abb9a8f7bab5f793a801f72cc203f709
+3b159f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab70
+9a6b1f828b828a838908ff00208000be05ff0022e666ffffffcccdff0027b334ffff
+ff1999ff0026e666ffffff199a8e8f8e9f889008698e05ffffd9199aff00036666ff
+fff4e666ff000c199a91ff001e800008ff00303333f789f7cd8bffffcfccccfb8905
+fffffa6666ffffe3ccccfffff04ccefffff2199affffd74cccfffffc199a086c8805
+8787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd91998ff
+00036666fffff4e668ff000c199a91ff001e800008ecf8810591a79a99b48f08aa8e
+058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e668
+fffffc999896fffff33334fffffa1998ffffe2333408ffffd78000fb62fbcd8bff00
+288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199affffe2
+3334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdffff
+fc199a086c88058787897b8f82ff0024e666ff0000cccdff001ee667ff0000cccdff
+001f6666ff00004ccc08ffffc9cccdffffb0199a9085059c8f948d9f8b080e61fb49
+a4d7abb1c7f7ddc7f760a8a57712f711c2f73cdd7ada13fe80ff00afe666d315f709
+0a13ff00f70a0a13fe8093ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccff
+ffeb3334ffffa4cccdffff954ccc08ff003cb333ff010f800005ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f
+1eaa8905989385751f8b80fffffde666ffffeeccccfffffb199affffea333408ffff
+92cccdfc7f05fffffb333477fffff8199a728bfffff633338bfffff9999aff00014c
+ccfffffa9999ff00038000fffffb999a08ffffc9199a3a9085059c8f948d9f8b089f
+9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f
+828b828a838908ff001a4ccdff00294ccc05ff0002b334ffffffccceff0002e666ff
+ffffe666ff0003199a8b08b18b8ab7ff0008e666b1080ef704fb5bc4f720a8f7bab5
+f793a801ff00ae199aff001d666603ff00cb80005715f7690aff018f8000f901154f
+0a0e61fb65c4f722c7f7ddc7f760a8a57712ff0059199aff001d6666ff00e58000dd
+7ada13fdff00afe666d315f7090a13fef70a0a13fdf70b0affffc6999afb1a15ffff
+e2999a7f05fffffcb33536ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766
+669705ffffea333451ffffcb80006bffffcbffff8b558bffffdc8000b0ffffffcccd
+c0080efbadfb38b78fb9cfa8f8e3a801f769f8cd15500affffccb333fd4515f7d10a
+0efbb1fb38b78fb9c7c7f7eda79877f5eb12f75deb13e6f75df8ce157d0aff002c4c
+cdffff063334157e0a13ee7f0a13f6800affffdfb333fb8815f7d10a0efbad89a8f8
+e3a8bde501f726e8ece703f727f97a15c50af7528c15c40afb10fb4215500aff003f
+8000ff00d5800015ff0006e6668bff000c4cceff00044cccff00103332ff00063334
+08ff00823334ff00378000ffffcde666ff00279998ffff936666ffffb6199c05ffff
+f53334fffff81998fffffab332fffff9cccc8bfffff8199c8b848efffffd4cccff00
+0633348b080efbb181c7f7eda79877f703e712f707e7cfe7139cf707f8d115d20af7
+3416e20affffe24ccdffff033334157e0a13bc7f0a13dc800aff0075e666f8fc15ff
+ffb33334ffff974ccc05fffff7b333fffff4b334fffffce666fffffc9998fffffe33
+33fffff6199cfffffee667fffff9ccccff00046666fffffab334ff000566678bff00
+0566668bff0006cccdff00039998ff000de667ff000d333408ff00699998ff005fe6
+68ffffff6668ff0009b33005fffff1b332ff00136668ffffec8000ff0000ccccffff
+fb199a8bfffffc199a8bfffffb4cccffffff199cfffffd8000ffffff1998080ed789
+a8f8e3a8d27601f769f8cd15510af75ff71415b40a0e4081bfff00c34ccdff0022b3
+33ebd2f760a8a57701ff0058cccdd315830af790f70015ec0a0ed7fb37ebcca8f8e3
+a801ff00f83333ff0060000103f769f8cd15510aff00233333fd4015f70e0a0e40fb
+37ebc4bfff00c34ccdff0022b333ebd2f760a8a57701ff00a43333ff0060000103ff
+0058cccdd315830affffdd3333fd3a15f70e0a0ed7fb17b7e0a8f8e3a801f769f8cd
+15510aff00c44cccfd5015f7cb0a0e40fb17b7d8bfff00c34ccdff0022b333ebd2f7
+60a8a57701ff0058cccdd315830aff00864cccfd4a15f7cb0a0e61fb37ebcca870b2
+f8d7a812ff00c73333ff0060000113d8f709d715520a13b8530a13d8540a13b8550a
+fffff23333fd4015f70e0a0efbbbfb37ebc4c7f8e5a8a57712ff002c3333ebffffd0
+cccdda13f8ff002c3333fb0715f7cd0aff00f1cccdf94e15f7d20a13f4f7d30a0e61
+fb37ebcca870b2f8d7a8f70ab712ff00c73333ff0060000113dcf709d715520a13bc
+530a13dc540a13bc550afffff23333fd4015f70e0aff00b14ccdfa0415f30a0efbbb
+fb37ebc4c7f8e5a8a577f702b712ff002c3333ebffffd0cccdda13f8ff01908000f9
+a815f30a13fcffff8fb333fe1b15f7cd0aff00f1cccdf94e15f7d20a13faf7d30a0e
+61fb17b7e0a870b2f8d7a81213d0f709d715520a13b0530a13d0540a13b0550aff00
+804cccfd5015f7cb0a0efbbbfb17b7d8c7f8e5a8a57701e8da03ff00c84ccdfb1715
+ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd666792828b08fb
+6106fffff400018bfffff280007afffffd99997ffffffe999a84ff00024ccd83938b
+08ff0122b334f95e15840a0e6189a870b2f8d7a81213a0f709d715520a1360530a13
+a0540a1360550aff0045e666fd0615e60a0efbbb81c7f8e5a8a57701e8da03ff008f
+e66652155906ffffd9999a5dffffd14ccd60ffffd3e6676308ff0011199a7d05ff00
+2b8001a6ff00251999a4ff002cb334b1ff001ab33367ff001be66672ff0021199a6e
+08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08ff008e199af914
+15840a0ef78789a8f8e3a8d27601f923e215f76f0afb88f73715b40a0ef77281c7f7
+ddc75fa712f753ff00558000ff009a8000d8ff00624cccff0050999cfffff11998d8
+13daf74af7d515850a13dc860a13da870a13ba880af803f7f215f7520a0ef78789a8
+f8e3a8bdeb01ff01d33334eb03f923e215f76f0affff083334f76715f7070a0ef772
+81c7f7ddc75fa7f1eb12f753ff00558000ff009a8000d8ffffd73334ebff002b1998
+ff0050999cfffff11998d813dc80f74af7d515850a13d900860a13dc80870a13bc80
+880a139a00ff011d3334f79015fffffab33271ff0011800075a58bff001a00028bff
+001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b08718bffffe5800075
+fffffab33471080ef787fb37ebcca8f8e3a801ff01343334eb03f923e215f76f0aff
+fe693334fd1d15f7290a0ef772fb37ebc4c7f7ddc75fa712f753ff00558000ff0005
+b334ebff0034ccccd8ff00624cccff0050999cfffff11998d813ee80f74af7d51585
+0a13ef00860a13ee80870a13de80880aff00643334fc4815f7290a0ef4967693a8f8
+e3a8bdeb12ff01863334eb1378f943f8c115560a13b8570affff3f3334f96815f729
+0a0e6081c7f7ddc75fa7efeb12f73bff00578000ff003fb334ebffffb2cccce07ada
+13d9f845f71015f7150a13b9890a13d98a0a13da8b0a139cffff8d3334f85315f702
+0a0ef4fb37ebd97693a8f8e3a812ff011a3334eb13b8f943f8c115560a13d8570aff
+fed33334fb1c15f7290a0e60fb37ebc4c7f7ddc75fa712f73bff00578000ffffb2b3
+33ff00600001ff003fcccce07ada13e9f845f71015f7150a13d9890a13e18a0a13e2
+8b0a13c4ffff003333fb8315f7cc0a0ef4fb17b7ed7693a8f8e3a81213b0f943f8c1
+15560a13d0570affff634cccfb2c15f7cb0a0e60fb17b7d8c7f7ddc75fa712f73bff
+00578000ff00528000e07ada13eaf845f71015f7150a13da890a13ea8a0a13ec8b0a
+ffff9b4cccfb9315f7cb0a0ef4967693a8f8e3a8121360f943f8c115560a13a0570a
+ffff2ce6663d15e60a0e6081c7f7ddc75fa712f73bff00578000ff00528000e07ada
+13d4f845f71015f7150a13b4890a13d48a0a13d88b0affff5ce666fb4915e60a0ef6
+81adf8ecadff00266668ff00306664ff00046668ff0032999801ff00576666ff005a
+e666ff017cb334ff00136668ff0026e664e403ff02658000ff02b9800015f7d40aff
+ff4e8000ffffb6800015580af79bfbbb15590affff408000ff019fcccc15f75e0a0e
+fb0681b0f80facccb78fb901d9def771de03ff01c3e666f98215f7d50afffedd199a
+fcd8158c0a3883158d0aff015fb334f81615e30a0ef681adf8ecadff00266668ff00
+306664ffffd93334e7ffffcf3334ff0032999812ff00576666ff005ae666ff0030b3
+34e7f784ff00136668ff0026e664e4ffffbab334e713d740f911f98415d20afc2e16
+e20af765fb141513c780580af79bfbbb15590a13ef00ffff408000ff019fcccc15f7
+5e0a0efb0681b0f80facccb78fb9afe612b1def706e79ade6ee713fe00f7b5f96915
+f7be0af7358c1513fe80a10afbddfcc015e70a13ff00e80a3883158d0aff0141b334
+f81615d10a0ef681adf8ecadf6b701ff00576666ff005ae666f84be403ff01316666
+ff02cc3334158bff00046664fffffce666ff00054cd0fffffa999aff00054ccc08ff
+ffb16667ff0049e66448ffffd86668ff006c9999ffffc8800005ff000c4ccefffff9
+ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033332ff000b6668
+8bff00054ccc08ff0082999affffa3cccc15580af79bfbbb15590affff64e668f848
+15f75d0a0efb0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0a
+ff01698000f82c15f30aff00814cccf75015f7d60a0ef681adf8ecadff003c800076
+ff00438000b701ff00576666ff005ae666f84be403ff02608000ff02b9800015f7d4
+0affff538000ffffb6800015580af79bfbbb15590affff4ee668f84815f75d0a0efb
+0681b0f80facf717b701d9def771de03f735f73e158c0a3883158d0aff01698000f8
+2c15f30aff00bc6666f75915f7d50a0e4d89a8f793adf7c4ad69a4d47612ff01e899
+9aff0055999a13ecf7b7f8d2155a0afb13fb8e155b0a13dc5c0af71ef70f15b40a0e
+43fb7fa9f757aef804b901f83fdd03f79ef828158e0af735fb17158f0aa9f82215ec
+0a0e4d89a8f793adf7c4ad69a4c4eb12ff016d3334ebff001b6666ff0055999a13ee
+f7b7f8d2155a0afb13fb8e155b0a13de5c0aff00983334f74415f7290a0e43fb7fa9
+f757aef804b9dfeb12ff01563334ebfffff4ccccdd13f4f79ef82815ff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f8365087e50055967
+666d6f68ff0003e666fffff1cccdff0009199afffff933339d8ba1a8a19da7a20824
+fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058bcf90afb2cf898b1e
+8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c059a7bff001c80007a
+ff001d80008bff004733348bff003a3332ff0027b333ff002b999aff00354ccdc1cd
+a6cf8bd38bdf6fcd278b08588b6678707b08f735fb17158f0a13f8ffffab3334f7be
+15f7020a0e8581aa74a8f79cadf7bbad69a4c4eb12ff01653334ebff00246666ff00
+5466661337f811f900155d0a91ad15136f5e0a13b75f0affffe23334eb15f7290a0e
+fb609676f80fd15fa7efeb12f738ff00528000ff0023b334eb13bcf771f7b115f71c
+0a13dcf71d0aff00393334f7b315f7290a0e85fb37ebc4aa74a8f79cadf7bbad69a4
+12ff00c33333ff00600001ff00c66666ff00546666139bf811f900155d0a91ad1513
+b75e0a13db5f0affff403333fd9515f70e0a0efb60fb37ebd976f80fd15fa712f738
+ff00528000ffffbbb333ff0060000113d8f771f7b115f71c0a13e8f71d0a13c4ffff
+d13333fc2315f7cc0a0e85fb37ebc4aa74a8f79cadf7bbad69a4f70cb712ff00c333
+33ff00600001ff00c66666ff00546666139b80f811f900155d0a91ad1513b7805e0a
+13db805f0affff403333fd9515f70e0aff012d4cccfa0415f20a0efb60fb37ebd976
+f80fd15fa7f72ab712f738ff00528000ffffbbb333ff0060000113dcf771f7b115f7
+1c0a13ecf71d0a13caffffd13333fc2315f7cc0aff00ee4ccdf94415f30a0e85fb17
+b7d8aa74a8f79cadf7bbad69a412ff01e9999aff00546666139af811f900155d0a91
+ad1513b65e0a13da5f0affffff4cccfda515f7cb0a0efb60fb17b7ed76f80fd15fa7
+12f738ff0052800013d8f771f7b115f71c0a13e8f71d0aff00204cccfc3315988bff
+000dccce9dff0002666697ff0001666692fffffd666692828b08ffff330001067f8b
+fffff280007afffffd999a7ffffffe999a84ff00024ccc83938b080e2081aff8eaad
+b7eb12cba9ff002fcccdff00483333ff00593334ebffffe4b332ff0053e666fffffe
+3334aa13faf881f90615600a13f9610a13fcffff423334f71015f7020a0efb6481ac
+f813acdfeb12c6df77cbff00273333ff00600001ffffccccccd658dd13e4ff00e233
+33f8cf15f7cc0affffcbcccdfcd9159a0613eaf71f0a13e9910a13f2f7200a0e20fb
+37ebc4aff8eaad12cba9ff002fcccdff00483333ffffca3333ff00600001ff0073b3
+32ff0053e666fffffe3334aa13faf881f90615600a13f9610a13f4fffeb33334fd79
+15f7cc0a0efb64fb37ebc4acf813ac12c6df77cbffffc93333ebff002acccdd658dd
+13e4ff00843333fb0715f7cd0aff0029cccdf4159a0613eaf71f0a13e9910a13f2f7
+200a0e2081aff8eaadc776a5eb12cba9ff002fcccdff004833337aebff004ee666ff
+0053e666fffffe3334aa13fd00f881f90615600a13fc80610afb2dd215b40a13fa00
+fb23d5157d0a0efb6481acf813acff0093ccccff0056666812c6df77cbfffff06666
+ff00566666ff000d3334d658dd13e4ff00ab6666f90a15fffffb3334ffffe89998ff
+000fccccffffec3334ff001766678bff001766668bff0017cccdff0013ccccff0004
+ccccff00176668ff0004ccceff00176668fffff03333ff0013ccccffffe899998b08
+ffffe8999a8bffffe83333ffffec3334fffffb3333ffffe8999808ff00d4999ab415
+ec0afb66fd3d159a0613eaf71f0a13e9910a13f2f7200a0e2081aff8eaadc776efeb
+12cba9ff002fcccdff00483333f0ebffffd8e666ff0053e666fffffe3334aa13fd00
+f881f90615600a13fc80610afb31d215f7030a13fe0076f728157d0a0efb6481acf8
+13acf76277ff0010ccccff0056666812c6df77cbff00526666ff00566666ffffab33
+34d658dd13d200ff010d6666f94115fffffb3334ffffe89998ff000fccccffffec33
+34ff001766668bff001766688bff0017ccccff0013ccccff0004ccccff00176668ff
+0004ccceff00176668fffff03332ff0013ccccffffe8999a8b08ffffe8999a8bffff
+e83334ffffec3334fffffb3332ffffe899980877fb4b15bd06ff00266666b9ff002f
+199ab8ff002ae666b20813e000ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4c
+ce65ff001be6665eff001366665c08ffffb4999afc94159a0613c500f71f0a13c480
+910a13c900f7200a0e20fb37ebc4aff8eaadb6eb12cba9ff002fcccdff00483333ff
+ffca3333ff00600001c1ebffffddb332ff0053e666fffffe3334aa13fc80f881f906
+15600a13fc40610a13fa00fffeb33334fd7915f7cc0a13f900ff00960001f9f415f7
+020a0efb64fb37ebc4acf813acdfeb12c6df77cbffffc93333eb8fff00600001ffff
+c6ccccd658dd13f100ff00e83333f8cf15f7cc0a13f20027fd4215f7cd0aff0029cc
+cdf4159a0613f480f71f0a13f440910a13f880f7200a0e7a89a8f8d7b29877c9eb12
+ff016e3334ebff00a3cccca913dcf779f9191513bc620a13dc630a13bc640a13dc65
+0affff3b3334f215f7290a0efb9281c7f7e8b2f760eb01f1daff002a3333ff006000
+0103f74ef84115930aff00183333f75e15f70e0a0e7afb37ebcca8f8d7b2987712ff
+00ca3333ff00600001ff0147cccca913ecf779f9191513dc620a13ec630a13dc640a
+13ec650afffe973334fd8c15f70e0a0efb92fb37ebc4c7f7e8b212ff004a3333ebff
+ffbbcccdda13e8f74ef84115930a13f0ffff833333fce615f7cd0a0e7afb17b7e0a8
+f8d7b2987712f906a913e8f779f9191513d8620a13e8630a13d8640a13e8650affff
+3f4cccfd9c15f7cb0a0efb92fb17b7d8c7f7e8b201f1da03f74ef84115930aff0023
+4ccdfcf615ff000d00018bff000dcccd9dff0002666697ff0001666692fffffd6666
+92fffff700018b08fb61067f8bfffff280017afffffd99997ffffffe999a84ff0002
+4ccd83938b080e7a89a8f8d7b2987712f906a913d0f779f9191513b0620a13d0630a
+13b0640a13d0650afffef1e666fd5315e60a0efb9281c7f7e8b201f1da03f74ef841
+15930affffd2e666fcac155906ffffd9999a5dffffd14ccd60ffffd3e6666308ff00
+11199a7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33367ff001be666
+72ff0021199a6e08ff0017e6669905ffffe41999b3ffffe48000b5ffffec9999ba08
+0ed4fb33e6c5b4f8dfa812ff007bcccdff004ecccdffffdb6666e7d0e713f4f7c681
+15f7230a35511513eca00af7358c15a10a0e63fb33e6c5c7f7ddc712ff004d199ae7
+ffffcee666daff0027199ae7ff001ee666d913eef88ef7f415940afffec1199afb54
+1513f6a00af7358c15a10a0ed4fb38b78fb9c7b4f8dfa801ff007bcccdff004ecccd
+03f7c68115660aff001fb334fb0215f70c0a0e63fb38b78fb9c7c7f7ddc701f70cda
+f736d903f88ef7f415940affff49b334fb8815f7d00a0ed481b4f8dfa801ff007bcc
+cdff004ecccd03f7c68115660aff0012e6665b15e60a0e6381c7f7ddc701f70cdaf7
+36d903f88ef7f415940affff44e666fb4915f7cf0a0ed481b4f8dfa8ff002e6668ff
+00306664ff00046668ff0032999801ff007bcccdff004ecccdff01696666ff00134c
+cc03ff02758000ff02d4800015f7d40afffebc8000fffd21800015660aff00ce8000
+ff02efcccc15ffffefcccc8bfffff34cce96fffff48000ff000d3334fffff16666ff
+000f6668ffffefb334ff000f6664ffffe680008bffffdb66668bffffe74ccc6affff
+e9e666ffffbf199c08ff0013999afffffa800005ff000e3334ff00244cccff000d99
+9aff00108000ff001619988bff000e80008bff000e3334fffff3e664ff000d6666ff
+fff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff0012b3328bff002719
+9c8bff001dccccacff00149998cd08ffffecb334ff0006999805ffffecccccffffd1
+ccccfffff2666880ffffed4ccc8b080e6381c7f7ddc7e2b78fb901f70cdaf736d903
+f88ef7f415940affffffb334f85215f7210affffe53332f76415f7d50a0ed481b4f8
+dfa8cfde68b712ff007bcccdff004ecccdff00146666ddf7c2dd13eef91cf95f159e
+a19ba4a5769b7774797b711f6ea37f9c1efc148e15a39c9fa0a1799e74727b777674
+9c79a31fb5fd6c15660a13deff00e4e668f99915f75d0a0e6381c7f7ddc7f717b7a1
+e612f70cdad9e783d98ae713faf88ef7f415940aff00238000f85215f7220aff0059
+8000f7311513fca00af7358c1513f9a10a0eaff8fea8c0b78fb901f8fdf8bd15670a
+ffff96b334f75315b60a0e329476f805dde2b78fb901f853ff0048666803ff013099
+9ad715950aff0051b334ff01f0800015d10a0eaffb37ebf941a801ff00d73333ff00
+60000103f8fdf8bd15670afffe6e3334fd3015f70e0a0e32fb37ebd776f805dd01ff
+00903333ebff00cecccdff0048666803ff0130999ad715950affff5b3333ffff4380
+0015f7ca0a0ef7f09676f908a8d37601f76df8b615680af83af73f15b20a0ef71394
+76f805dd01f92bff0048666803f79d7f15960af75bf93f15ce0a0ef7f09676f908a8
+d27601f76df8b615680af7c0f72b15b40a0ef7139476f805dd01f92bff0048666803
+f79d7f15960af777f93f15f7520a0ef7f09676f908a8cae601f872e7d0e703f76df8
+b615680af7cff79315a00af7358c15a10a0ef7139476f805dde1e601f7ebe7d0e7ce
+ff0048666803f79d7f15960af718f90815a00af7358c15a10a0ef7f09676f908a8b5
+eb01ff02093334eb03f76df8b615680aff01303334f75315fffffab33471ff001180
+0075a58ba58bff001a8000a1ff00054ccca5ff00054ccca5ffffee8000a1718b718b
+ffffe5800075fffffab33471080ef7139476f805dddfeb01ff017d3334ebff00b9cc
+ccff0048666803f79d7f15960aff00743334f8db15f7290a0ef7f0fb37ebd976f908
+a801ff016e3334eb03f76df8b615680aff00953334fd2915f7290a0ef713fb37ebd7
+76f805dd01ff01223334ebff0114ccccff0048666803f79d7f15960aff0019333424
+15f7290a0ece89a8f8e3a8c0eb12ff0146999aff005de666ffffe2b334eb13f0f71a
+f90515690a13e8ff00fd3334f315f7020a0e3581cb4bbcff01438000ff004c80004c
+cadfeb12ff01133334eb130cff01133334f8cf15f7020affffc3ccccfb9a15f7d70a
+138cf7d80a135c980a13acf7d90a0ece89a8f8e3a8c6e512ff0146999aff005de666
+ffffae8000e8ece713f4f71af90515690af75ef61513ecc50af7528c15c40a0e3581
+cb4bbcff01438000ff004c80004ccae1e612f777e7d0e7130ef7adf8fc15f7be0af7
+358c15a10afb77fbc815f7d70a138ef7d80a135e980a13aef7d90a0e8289a8f8e3a8
+c0eb01ff01733334eb03f7e4d7156a0aff00233334f93415f7290a0e51fb7ec8ff02
+178000ff004c8000dfeb01ff011b3334ebff0061ccccff0048666803ff0160800016
+9a0affffe83334f91515f7290a0e9c8bb2f8cab39877d4761213d0f8a489156b0a13
+b06c0a13d06d0a69f9bb15b50a0efb1181d871c8f790c55ad7f7637712f1a6132cf8
+4af850159b0a131c9c0a136c9d0a138c9e0a136c9f0affffa6e666f76d15f7da0a0e
+9cfb37ebceb2f8cab3987712ff00e33333ff0060000113e8f8a489156b0a13d86c0a
+13e86d0afffed33334fb0515f70e0a0efb11fb37ebc4d871c8f790c55ad712f1a6ff
+00293333ff006000011396f84af850159b0a138e9c0a13b69d0a13c69e0a13b69f0a
+fffed73334fcb415f70e0a0e9cfb17b7e2b2f8cab398771213e0f8a489156b0a13d0
+6c0a13e06d0affff6b4cccfb1515f7cb0a0efb11fb17b7d8d871c8f790c55ad712f1
+a61394f84af850159b0a138c9c0a13b49d0a13c49e0a13b49f0affff594cccfcc415
+f7cb0a0e61fb17b7d8c7f7ddc7f760a8a57712f7f0dd7ada13faff00afe666d315f7
+090a13fcf70a0a13faf70b0aff009d6666fb5f15f7cb0a0efb9281c7f7e8b2f754e6
+12f1da85e7d0e713f4f74ef84115930aa9f77d1513eca00af7358c15a10a0ef71394
+76f805ddc8a6f704a601f92bff0048666803f79d7f15960aff00b33334f91f15d50a
+ffff9db3325315fffff6999a5dff0021800066b98bbb8bff002eb334b1ff00093334
+b8ff00099998baffffde3334af5d8b5d8bffffcf999866fffff6999a5d080e51fb7e
+c8ff02178000ff004c8000c7a6f704a601f871ff0048666803ff01608000169a0aff
+00383334f95815d50affff9db3325315d60a0e4081c7f7faaa01d9dbf739d903f82e
+f845156e0a59fb6a156f0a0efb9afb7daff8e4a9f783adc1eb01ff01443334eb036a
+fb2a15f72a0aff01653334fa4a15f7290a0efb9afb7daff8e4a99877f78aad1213b0
+f7d7f84a155affffe34ccc9aff004ab33405a2f706b0cdb88bff003b4ccc8bffffcb
+b3343ac68b08a7989ea5ae60ae541f518b5b6e6b55796d786178390813d0836c6d8a
+668780838c84917c08affffffd999a059dfffffeccccff00056666fffffbe666ffff
+fd199afffff0b3340888fffff03334ffff9e8000ffffc6cccc9c6eff00484ccdff00
+2a199afffff94ccdffffdbe66605ffffc96666fbb7ff00063333ffffbe4ccdffffdc
+4ccdffffb0b333fffff24ccdffffe1999afffff31999fffff96666ffffec199a8b7b
+8b878f8596fffff5199aff0014199affffefe666ff000be666798b087c797c7572b2
+76ad1fff003433338bff00264ccdff00113333ff00178000ff001f999abaff003f33
+33ff001d3333ff0093cccdff0021cccdff00a8333308adff00a94cccd6ff002bb334
+050efb9afb7daff8e4a9f700b2e7ad01f80df8d015ffffbfe66606ff0015b334ff00
+3b3334ff001bb332ff0020ccccff001fb3348bff003b4ccc8bffffcbb3343ac68b08
+a7989ea5ae60ae541f518b5b6e6b55fffff8e666fffff41998fffff8b334fffff24c
+d0fffff89999ffffee999808ffff92cccd64ff005eb33306fffff97fff77fffff966
+67ffffe86666fffff96666ffffe3999a836c6d8a668780838c84917c08affffffd99
+9a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee199a
+2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccd
+ffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199aff00
+14199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff0026
+4ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cccdff
+0021cccdff00a8333308c5f7b505ff00038000ff00118000ff0003ccccff00104ccc
+ff00043334ff000f333408ff004c8000060ef72d7fb382768ca8f8e5b012f7dca913
+38f70bd21586707b7b628b087f06868b88888a860887788d89058bda8daeb3d4898b
+1e8d8d8e9e058c90888e868b087f06638b7e9891a908b7f78d05aff765f708e7f70b
+8bb68bb97d897d8774fb0bfb2e4e47088d7305928c908b918bf7338b90fb05856708
+139876fb08496b598b488b6eb986db086d88051358893c87588674968c9491938b08
+1398ac8bac7aab8bf7188be9ea9ced9cea40d52791858c898f919308f751f7808fa3
+05559e4c954e8bfb9b8b37fb3668fb5d080e287faef8d076e2b001f726f75715a5f7
+05b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294fb11f7
+2d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba27d976f
+08986d957c958b978baf9492aa8e97809d74a173a06496558b528b417577357e53a9
+65c84c08fb245647fb007735080ef5fb37ebcca8f76ab5f80b7701ff00f03333ff00
+60000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb5615f70e0a0e40fb37eb
+c4c7f7faaa12d9dbffffeb3333ebff0059cccdd913f4f82ef845156e0a59fb6a156f
+0a13ecffff213333fbe215f7cd0a0ef589a8f76ab5f80b77f72da301f82bbb8da6ab
+bf03f7c7f7af153d0afbcdfb6015b30af802f91015f7db0a0e4081c7f7faaaf72f76
+c4a612d9dbff007d4cccff002fcccefffff7e666d913faf82ef845156e0a59fb6a15
+6f0aff0045199af81015f7dc0a13fcf7dd0a0ef589a8f76ab5f80b7701f7c7f7af15
+3d0afbcdfb6015b30aff01993334ff02b0666815ff00061998ff0001b330ff0007cc
+ccff0002ccd0ff0009199cff0003800008ff00764cccff00326664ffffd28000afff
+ff9d4cccffffbccccc05fffffb3334fffffc8000fffffc6668fffffce668fffffd99
+98fffffce668fffff8b334ff0009e664fffff91998ff000a6668fffff9b334ff000a
+cccc0860066569636b606f08947605b59caf9db6a6a672a978ae7908a0a005ffffef
+e668997cff000f1998fffff24cccff00104cd0080e4081c7f7faaaf76a7701d9dbf7
+39d903f82ef845156e0a59fb6a156f0aff007b6666ff01ee666815ffffba3334ffff
+a0cccc05fffffbccccfffffa4cccfffffd4ccefffffc8000fffffe1998fffffc8000
+fffff7999aff000f4cccfffff83334ff000fccccfffff93332ff00106668085906ff
+ffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b8000a6ff0025
+1998a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e66699
+05fffff1e666ff00144cccfffff1ccccff0014ccccfffff3199aff0015b334ff0004
+3334ff0001e668ff00056666ff00041998ff00083334ff0007cccc08ff00601998ff
+00573334ffffff6668ff0008cccc057eff0011999cffffee4cccff0000ccccfffffb
+80008bfffffc80008bfffffb999affffff3334fffffdccccffffff3334080ef589a8
+f76ab5f80b7701f8acf9c415b50afb79fca9153d0afbcdfb6015b30aff00c48000f9
+5315f7de0a0e4081c7f7faaaf76a7701d9dbf739d903ff017dccccf92115d00aff00
+1c3334fb70156e0a59fb6a156f0affff58999aff01ee666815fffffd4cccff0000cc
+cc87ff0000ccccfffffc80008bffffe833348bffffed8000fffff26668fffff98000
+fffffb333008fffffd1999fffff73334ff00404ccdffffa8cccc05ff0009199a7fff
+0004199987ff000433338bff0005999a8bff0005cccdff0004ccd0ff0000b3338f8c
+ff00059998ff00004ccdff00059998fffffde66693080ef589a8f76ab5f80b77f765
+a301f8cbbb8da6abbf03f8acf9c415b50afb79fca9153d0afbcdfb6015b30af8a2f9
+4815f7db0a0e4081c7f7faaaf76a77e9a601d9dbf739d9ff000b4cccff002fccce03
+ff017dccccf92115d00aff001c3334fb70156e0a59fb6a156f0aff00c61998f87115
+ff000380009cfffff84cd0b4ffffc8fffe8b618bffffd7e66668fffffb800075ffff
+fd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93ffff
+fe333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff0006
+3332919e8ba08bff0006000281fffffb4ccc74fffffd99987ffffff880007ffffff5
+999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66
+689cff00144ccc9bff00134ccc9bff001233349bff000419989f080ef589a8f76ab5
+f80b77ff00a14cccff0029ccccff0003ccd0ff002bb33001ff023c3334ff03491998
+15f7df0afffef6ccccfffdd1e668153d0afbcdfb6015b30af802f95015b50a0e4081
+c7f7faaaf76a77cbb78fb901d9dbf739d903ff017dccccf92115d00aff001c3334fb
+70156e0a59fb6a156f0aff0062b334f89e15f7e00a0ef5fb37ebcca8f76ab5f80b77
+d37601ff00f03333ff0060000103f7c7f7af153d0afbcdfb6015b30aff004f3333fb
+5615f70e0aff011eccccfa2b15b50a0e40fb37ebc4c7f7faaaf7627712d9dbffffeb
+3333ebff0059cccdd913faf82ef845156e0a59fb6a156f0a13f6ffff213333fbe215
+f7cd0aff00f6b333f98c15f7da0a0ef589a8f76ab5f80b77c0bf01f809a7f76ca603
+f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00028000ff005c800015ff00
+06e6668bff000c4cceff00044cccff00103334ff0006333408ff00823330ff003780
+00ffffcde668ff00279998ffff936666ffffb6199c05fffff53334fffff81998ffff
+fab332fffff9cccc8bfffff8199c8b848efffffd4cccff000633348b080e4081c7f7
+faaac8c4e57701d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59
+fb6a156f0affff838000f84015f50aff009c6666e815f7d50a0ef589a8f76ab5f80b
+77c0bf01f809a7f76ca603f7c7f7af153d0afbcdfb6015b30af7dcf8f815f40aff00
+306668ff006c3334158bff00046664fffffce664ff00054cd0fffffa999cff00054c
+cc08ffffb16664ff0049e66448ffffd86668ff006c999affffc8800005ff000c4cce
+fffff9ccccff000accccfffffbb334ff0007b3348bff000b80008bff00033334ff00
+0b66688bff00054ccc080e4081c7f7faaac8c4e57701d9dbff0030199aff001d6666
+ff00578000d903f82ef845156e0a59fb6a156f0affff838000f84015f50aff00534c
+ccf115f7d60a0ef589a8f76ab5f80b77c0bff712a301f809a7a4bbc8bfa9a603f7c7
+f7af153d0afbcdfb6015b30af7dcf8f815c88bd8b19cd60870067d665573588bffff
+f880008bfffff93334ff00006668fffff99998ff0000999808ff0019b3340690a49d
+989f969992a69a8ba7089d7fab52536767728190809c9b9a95991e8b91898f898d8b
+8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d84ffffdf1998ffffb6
+b33493fffffe4cccff003033348bff0003b334086f800652af5edb1e0e4081c7f7fa
+aac8c4e577eba612d9dbff0030199aff001d6666ff002cccccff002fcccefffffae6
+66d913fe80f82ef845156e0a59fb6a156f0affff838000f84015f50aff00be999ab8
+15f7dc0a13ff00f7dd0a0ef589a8f76ab5f80b77adbfff004b4cccff0029ccccff00
+03ccd0ff002bb33001f809a7f76ca603ff02373334ff0349199815f7df0afffefbcc
+ccfffdd1e668153d0afbcdfb6015b30af7dcf8e515f40a0e4081c7f7faaac8c4e577
+d0b78fb901d9dbff0030199aff001d6666ff00578000d903f82ef845156e0a59fb6a
+156f0affff838000f84015f50aff00c33334e815e30a0ef5fb37ebcca8f76ab5f80b
+77c0bf01ff00f03333ff00600001ff0021cccca7f76ca603f7c7f7af153d0afbcdfb
+6015b30aff004f3333fb5615f70e0aff00f5cccdf9ba15f40a0e40fb37ebc4c7f7fa
+aac7c4e57712d9dbffffeb3333ebffffece667ff001d6666ff004f8000d913fc80f8
+2ef845156e0a59fb6a156f0a13fa80ffff213333fbe215f7cd0a13f980ff006a4ccd
+f98d15f7060a0e68fb37ebcca870b2f7b0b1d677f751b370a812ff00ad3333ff0060
+0001ff0080ccccaae3a7139dc0f8bdf91a15450a139bc0460a139dc0470a13dbc048
+0a13b9c087770513d9c08d890513b9c0490a13d9c04a0a13bdc04b0afffe843334fd
+8d15f70e0a0efb34fb37ebc4c7f7faaa12dedeffffdc3333ebff0080cccdd013e4f7
+f7f80615df0afb50fb3f15f7e10a13f4f7e20a13ecffffdb3333fbce15f7cd0a0e68
+89a870b2f7b0b1d677f751b370a8f724a312f7ecbb8da674aaa3bf97a7133b70f8bd
+f91a15450a133770460a133b70470a13b770480a13737087770513b3708d89051373
+70490a13b3704a0a137b704b0a32d0159992a69a8ba7089d7fab5253676772819080
+9c9b9a95991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e818182
+081333b07c7f7d7d846a08a60690a49d989f96080efb3481c7f7faaaf72f76c4a601
+dedeff005d4cccff002fccceff002fe666d003f7f7f80615750afb50fb3f15760aff
+00ee199af82415f7e30a0e6889a870b2f7b0b1d677f751b370a8b5b78fb912f822aa
+e3a7133bc0f8bdf91a15450a1337c0460a133bc0470a13b7c0480a1373c087770513
+b3c08d89051373c0490a13b3c04a0a137bc04b0affff9eb334e215f7e00a0efb3481
+c7f7faaae2b78fb901dedef751d003f7f7f80615750afb50fb3f15760aff00e3b334
+f80715d10a0e6889a870b2f7b0b1d677f751b370a8d17612f822aae3a7133380f850
+f9bf15b50af701fb3915c10a133b80c20a133780460a133b80470a13b780480a1373
+8087770513b3808d8905137380490a13b3804a0a137b804b0a56ff0075cccc15ff00
+064ccc8bff000b33348fff000eb334ff0005999c08ff00764cccff00326664ffffd2
+8000afffff9d4cccffffbccccc05fffff63334fffff8ccd0fffffb199afffffa6664
+8bfffff8cccc8bfffff9999cff0002ccccfffffd9998ff0005999a8b080efb3481c7
+f7faaaf76a7701dedef751d003ff015dccccf92115de0aff00053334fbaf15750afb
+50fb3f15760aff01486666ff0202666815f7e40a0e6889a870b2f7b0b1d677f751b3
+70a8d17612f822aae3a7133380f850f9bf15b50af701fb3915c10a133b80c20a1337
+80460a133b80470a13b780480a13738087770513b3808d8905137380490a13b3804a
+0a137b804b0afffefd8000f71c158b8ffffffd3334ff0004ccccfffffb1998ff0004
+cccc08ffffb8999aff00433334ffffc3199a67ff0062b333ffffcd999c05ff000b33
+32fffffa6664ff0009ccce87928bff000a80008bff0002ccccff000a66688bff0004
+cccc080efb3481c7f7faaaf76a7701dedef751d003ff015dccccf92115de0aff0005
+3334fbaf15750afb50fb3f15760aff0012999aff0202666815f7e50a0e6889a870b2
+f7b0b1d677f751b370a8cb76f734a312f822aab0bb8ea7a9bf1333f0f8def99a15f7
+db0a6afb1415c10a133bf0c20a1337f0460a133bf0470a13b7f0480a1373f0877705
+13b3f08d89051373f0490a13b3f04a0a137bf04b0afb10f73315b50a0efb3481c7f7
+faaaf76a77e9a612dedef751d0ffffdd4cccff002fccce13f8ff015dccccf92115de
+0a13fcff00053334fbaf15df0afb50fb3f15760aff01701998f88515f7e60a13faf7
+e70a0e6889a870b2f7b0b1d677f751b370a8ab76ff008c4cccff0029ccccff0003cc
+d0ff002bb33012f822aae3a71333e0ff01fa3334ff0348199815ffffeb19988bffff
+ef8000ff00098000fffff1199aff000b6668ffffed199aff000d4ccc76ff000d4ccc
+6a8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff00
+126666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff001280
+00fffff59998ff00114cccfffff580009ffffff2b334ff00146666fffff49998ff00
+1833348bff0032999a8bff00269998ff001c8000ff001a999cc408ffffe6e664ff00
+05b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b08ff002e
+ccccffff3de66815c10a133be0c20a1337e0460a133be0470a13b7e0480a1373e087
+770513b3e08d89051373e0490a13b3e04a0a137be04b0a33f71315b50a0efb3481c7
+f7faaaf76a77c7b78fb901dedef751d003ff015dccccf92115de0aff00053334fbaf
+15750afb50fb3f15760aff0105b334f8ae15e30a0e68fb37ebcca870b2f7b0b1d677
+f751b370a8cc7612ff00ad3333ff00600001ff0080ccccaae3a7139de0f8bdf91a15
+450a139be0460a139de0470a13dbe0480a13b9e087770513d9e08d890513b9e0490a
+13d9e04a0a13bde04b0afffe843334fd8d15f70e0aff0112ccccfa2d15b50a0efb34
+fb37ebc4c7f7faaaf7637712dedeffffdc3333ebff0080cccdd013f2f7f7f80615df
+0afb50fb3f15f7e10a13faf7e20a13f6ffffdb3333fbce15f7cd0aff0102b334f98d
+15f7da0a0efbad89a8f8e3a8f724a301f759bb8da6abbf03f769f8cd15500af3f726
+15f7db0a0efbb181c7f7eda79877f74676c4a612ff00b34ccdff002fcccd13bcff00
+f54ccdff0140333415f70d0a13dc800aff007d199af86f15ff000380009cfffff84c
+ccb4548b618bffffd7e66768fffffb800075fffffd99997fff0004e6677c9e8b948b
+ff000f199995ff0002333496ff0001999993fffffe333391ffffff999a8effffff66
+668dffffff80008dff0000cccd8f088c90ff00063333919e8ba08b9181fffffb4cce
+74fffffd99987ffffff880007ffffff5999a7ffffff180007affffee800075fffff8
+199a6908a706ff00074ccda5ff000d66679cff00144ccc9bff00134ccc9bff001233
+349bff0004199a9f080efbadfb37ebcca8f8e3a801ff00353333eb03f769f8cd1550
+0affff603333fd4015f7ca0a0efbb1fb37ebc4c7f7eda79877f5eb12ff004f3333eb
+ff0019cccdeb13cef75df8ce157d0aff002c4ccdffff063334157e0a13de7f0a13ee
+800affff873333fb8315f7ca0a0ef6fb37ebc4adf8ecad01ff00576666ff005ae666
+ff004ee668ebff01081998e403f848f90415580af79bfbbb15590afffe463334fc50
+15f7290a0efb06fb37ebc4b0f80fac12d9deffffe73333ebff0095cccdde13f4f735
+f73e158c0a3883158d0a13ecff003a3333fba915f7cd0a0ef681adf8ecadc076f711
+a301ff00576666ff005ae666ff00d4b334bb8da6abbfff00414ccce403f848f90415
+580af79bfbbb15590afb50f82e15f7db0a0efb0681b0f80facf72f76c4a601d9deff
+00634cccff002fccceff0049e666de03f735f73e158c0a3883158d0aff0148199af8
+4915f7e30a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf15
+b50a4afb4f15580af79bfbbb15590afb2dff01adcccc15ff00064ccc8bff000b3334
+8fff000eb334ff0005999c08ff00764cccff00326664ffffd28000afffff9d4cccff
+ffbccccc05fffff63334fffff8ccd0fffffb1998fffffa66648bfffff8cccc8bffff
+f9999cff0002ccd0fffffd9998ff000599988b080efb0681b0f80facf76a7701d9de
+f771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff008d8000ff003c
+666815f7e40a0ef681adf8ecadc67601ff00576666ff005ae666f84be403f889f9bf
+15b50a4afb4f15580af79bfbbb15590afffea18000f85b15f7de0a0efb0681b0f80f
+acf76a7701d9def771de03f735f73e158c0a3883158d0aff011be666f87f15e60aff
+ff4fb334ff003c666815f7e50a0ef681adf8ecadc676f72fa312ff00576666ff005a
+e666ff016eb334bb8da6fffffb4ccce4ffffcbb334bf13fc00f889f9bf15b50a4afb
+4f1513fd00580af79bfbbb15590a69f8521513fe80f7db0a0efb0681b0f80facf76a
+77e9a612d9def771deffffc04cccff002fccce13fcf735f73e158c0a3883158d0aff
+011be666f87f15e60aff00b93332b615f7e60a13faf7e70a0ef681adf8ecadff008c
+4cccff0029ccccff0003ccd0ff002bb33001ff00576666ff005ae666f84be403ff02
+323334ff0348199815ffffeb19988bffffef8000ff00098000fffff1199aff000b66
+68ffffed199aff000d4ccc76ff000d4ccc6a8bffffd0b3348b6bffffe36668ffffe3
+66665308ff00194cccfffffb4ccc05ff00126666ff001f6668ff0011999aff000e33
+34ff001c999a8bff0012b3348bff00128000fffff59998ff00114cccfffff580009f
+fffff2b334ff00146668fffff49998ff001833308bff0032999c8bff00269998ff00
+1c8000ff001a999cc408ffffe6e664ff0005b33405ffffe73334ffffd81998ffffee
+6668fffff68000ffffe7cccc8b08ffff81ccccffff27e66815580af79bfbbb15590a
+fb4bf85415b50a0efb0681b0f80facf76a77ccb78fb901d9def771de03f735f73e15
+8c0a3883158d0aff011be666f87f15e60aff004ecccee415e30a0ef6fb37ebc4adf8
+ecadc17601ff00576666ff005ae666ff004ee668ebff01081998e403f848f9041558
+0af79bfbbb15590afffe463334fc5015f7290aff0103ccccfa2d15b50a0efb06fb37
+ebc4b0f80facf7647712d9deffffe73333ebff0095cccdde13faf735f73e158c0a38
+83158d0a13f6ff003a3333fba915f7cd0aff00e5b333f98e15e60a0ef71d7fadf8ca
+a793ada5e1587612e0e9f85ae836f70061b513ee00f964f7dd15f7310a13ed008c92
+8b918b910813f500b375ab6a1e6e8b787c87738a888b898b888b799679a8880813ec
+80f7330afba8f7bb1513e600f7340a13ec0063d515c30a0e467faef800a983acaedf
+12d9dff78fdcafb513bef736f73f15f7350a378315f7360a13def7370a13bef7380a
+f7ebf89015ec0a0ef71d7fadf8caa793ada5e1577612e0e9f85ae836f70061b513f6
+00f964f7dd15f7310a13f500f7320a13f480f7330afba8f7bb1513e600f7340af70b
+e715f7e80a13ec00f7e90a0e467faef800a983acaedf12d9dff78fdcafb513bef736
+f73f15f7350a378315f7360a13def7370a13bef7380af7a3f89015ce0a0ef71d7fad
+f8caa793ada5e1a0a312e0e9f776bb8da6abbfcee836f70061b513ffc0f964f7dd15
+f7310a13ffa0f7320a13ff90f7330afba8f7bb1513ffc0f7340adce615f7db0a0e46
+7faef800a983acaedfac76c4a612d9dfff005d4ccdff002fcccdff006de666dcafb5
+13bfc0f736f73f15f7350a378315f7360a13dfc0f7370a13bfc0f7380aff0143199a
+f84815ff000380009cfffff84cccb4548b618bffffd7e66668fffffb800175fffffd
+99997fff0004e6667c9e8b948bff000f199a95ff0002333496ff0001999a93fffffe
+333291ffffff999a8effffff66668dffffff80008dff0000ccce8f088c90ff000633
+32919e8ba08b9181fffffb4cce74fffffd99987ffffff880007ffffff5999a7fffff
+f180007affffee800075fffff8199a6908a706ff00074ccca5ff000d66689cff0014
+4ccc9bff00134ccc9bff001233349bff0004199a9f080ef71d7fadf8caa793ada5e1
+41b78fb912e0e9f85ae836f70061b513f300f964f7dd15f7310a13f280f7320a13f2
+40f7330afba8f7bb1513e300f7340a13ee00ff0056b334f70815b60a0e467faef800
+a983acaedfffffd96668ff00306664ff00046668ff0032999812d9dff78fdcafb513
+a780f736f73f15f7350a378315f7360a13d780f7370a13a780f7380a138f80ff0133
+4cccff0197cccc15ffffeee6688bfffff2800096fffff3ccccff000d3334fffff099
+9aff000f6668ffffeeb332ff000f6664708bffffd94cce8bffffe5cccc6affffe899
+9affffbf199c08ff0014b333fffffa800005ff000effffff00244cccff000e8000ff
+00108000ff001766678bff000f4ccc8bff000f199afffff3e664ff000e3334fffff3
+e668ff00104cccfffff09998ff0010b334fffff2ccd0ff0013cccc8bff002966668b
+ff001f999aacff0015cccccd08ffffeb8000ff0006999805ffffebb334ffffd1cccc
+fffff1999a80ffffec33328b080ef71dfb37ebc2adf8caa793ada5e112e0e9ff004e
+3334ebff0117cccce836f70061b513ff00f964f7dd15f7310a13fe80f7320a13fe40
+f7330afba8f7bb1513ff00f7340affff453334fd7715f7290a0e46fb37ebc2aef800
+a983acaedf12d9dfff00023333ff00600001ff0098ccccdcafb513df80f736f73f15
+f7350a378315f7360a13ef80f7370a13df80f7380aff00563333fbaa15f70e0a0ed4
+fb37ebc4b4f8dfa801ff007bcccdff004ecccdff00209999ff0060000103f7c68115
+660affffb933332215f70e0a0e63fb37ebc4c7f7ddc712f70cdaffffd73333ebff00
+6acccdd913f4f88ef7f415940a13ecfffedc3334fb8315f7cd0a0ed481b4f8dfa8f7
+24a301ff007bcccdff004ecccdff00bc6666bb8da6abbf03f7c68115660af761f969
+15f7db0a0e6381c7f7ddc7f72f76c4a601f70cdaff005e4cccff002fccceff0013e6
+66d903f88ef7f415940afffff5199af86f15f7e30a0ef71e7fb4f8e1a7d47692df12
+f711ddf8bbf113dcf7d37f15f7ea0a13eceaf95a15c30a0e7f7fc2f7eac412f712da
+7edcf700d6f70db413ecf898f89415f73a0a13dcf73b0a13ecf73c0a2af73315ec0a
+0ef71e7fb4f8e1a7d47692df12f711ddf8bbf113dcf7d37f15f7ea0af785f96d15f7
+e80a13ecf7e90a0e7f7fc2f7eac412f712da7edcf700d6f70db413ecf898f89415f7
+3a0a13dcf73b0a13ecf73c0afb32f73315ce0a0ef71e7fb4f8e1a7c6df8da301f711
+ddf74ebb8da6abbff760f103f7d37f15f7390af756f96b15f7db0a0e7f7fc2f7eac4
+f72c76c4a612f712da7edcff001e4cccff002fccceff001de666d6f70db413fb80f8
+98f89415f73a0a13f780f73b0a13fb80f73c0affffbd199ae215f7e30a0ef71e7fb4
+f8e1a7c0b78fb901f711ddf8bbf103f7d37f15f7390aff00b6b334f98715b60a0e7f
+7fc2f7eac4dfb78fb912f712da7edcf700d6f70db413fbf898f89415f73a0a13f7f7
+3b0a13fbf73c0affffa2b334c515d10a0ef71efb37ebc2b4f8e1a7c6df01f711ddff
+001e3333ff00600001ff01a8ccccf103f7d37f15f7390affffae33332415f70e0a0e
+7ffb37ebc2c2f7eac412f712daffffd83333ff00600001ffffbaccccdcf700d6f70d
+b413f3f898f89415f73a0a13e7f73b0a13f3f73c0a13ebfffea13334fd0715f7cc0a
+0e8289a8f8e3a8d27601f7e4d7156a0af737f91415b20a0e51fb7ec8ff02178000ff
+004c800001f871ff0048666803ff01608000169a0ab7f97915ce0a0e82fb37ebcca8
+f8e3a801ff00cf3333ff0060000103f7e4d7156a0affff7f3333fb5315f70e0a0e51
+fb7ec895ebff01ad8000ff004c800001ff012a3334ebff0052ccccff0048666803ff
+01608000169a0afffff733345e15f7290a0e8289a8f8e3a8f724a301f7f1bb8da6ab
+bf03f7e4d7156a0af719f91315f7db0a0e51fb7ec8ff02178000ff004c8000f72f76
+c4a601ff011a4cccff002fccceff0092e666ff0048666803ff01608000169a0aff00
+79199af93115f7e30a0e8289a8f8e3a8bfb78fb901f7e4d7156a0aff008ab334f92f
+15b60a0e51fb7ec8ff02178000ff004c8000e2b78fb901f871ff0048666803ff0160
+8000169a0aff0050b334f91415d10a0eb77fcb4baaf81ea8d89ce2d612f842ac137c
+f842f76215f7eb0aac9915f7ec0a13bcf7ed0afb5ff79415f7ee0a0eb77fcb4baaf8
+1ea8d89ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bcf7ed0afb6cf7
+9415f7ef0a0eb77fcb4baaf81ea8d89ce2d612f822d363ac80a4137af842f76215f7
+eb0aac9915f7ec0a13baf7ed0afbc0f79415f7f00af363151339f7f10a133cf7f20a
+0eb77fcb4baaf81ea8d69ce2d612f826d35fac84a3137af842f76215f7eb0aac9915
+f7ec0a13baf7ed0afbb5f79215f7f30aec63151339c0fb1b05133a8c898c89908b08
+1339f7f40a133cf7f50a0eb77fcb4baaf81ea8d89ce2d512f842ac133cf7d3f94d15
+f7f60af73e9215f7f70a50fc8615766d05137cf7f80aac9915f7ec0a13bcf7ed0a0e
+b77fcb4baaf81ea8d69ce2d612f842ac137cf842f76215f7eb0aac9915f7ec0a13bc
+f7ed0afbaff79215f7f90af7428f15f7fa0a0eb77fcb4baaf81ea8b29de2d6a5b58b
+b812f842ac1339f80ff92915678b7c79887b877a8b73b48b928b8d82898186757165
+5f83088c7905e790aad790a50893af7db0658b08133ddbcf15133bf7fb0a133da087
+05133b9ca89c98a08b08133df7fc0a133bf7fd0a6efc9f15766d051379f7f80aac99
+15f7ec0a13b9f7ed0a0eb77fcb4baaf81ea8b59ce2d6a2b68bb812f842ac1379f842
+f76215f7eb0aac9915f7ec0a13b9f7ed0a133dfb1ff7b315133bf7fe0a133da08705
+133bf7ff0a133df8000a133bf8010a3f4915f8020a0ef71a8aa8f76cb2f79a9ceb77
+96d61213f0f72ed315f8030af734f76715f8040a13e8fb5df84d15f8050a0ef71a8a
+a8f76cb2f79a9ceb7796d61213f0f72ed315f8030af734f76715f8040a13e8fb60f8
+4d15f8060a0ef7438aa8f76cb2f7979cee7793d612f79ad27da313f0f758d315f807
+0af734f76715f8080a13e8fc0cf84a15f8090af4631513e2f80a0a13e4f80b0a0ef7
+288aa8f76cb2f7959cf07790d612f78bd17da313f2f73dd315f80c0af734f76715f8
+0d0a13e8fbf9f84715f80e0aed641513e2f80f0a13e4f8100a0ef7218aa8f76cb2f7
+969cef7792d51213f0f735d315f8110af734f76715f8120a13e8fbe3f84815f8130a
+f73e9215f8140a0ef7218aa8f76cb2f7969cef7792d61213f0f735d315f8110af734
+f76715f8120a13e8fbd3f84915f8150af7428f15f8160a0ef72e8aa8f76cb2f7259c
+e2d6a5b67977b1b81213f4f743d315f8070af734f76715f8080afbd6f7d815678b7c
+79887b887b8b72b48b928b8e838981867472665f82088c7a05e790a8d691a592af7c
+b0658b0813f8dad01513f6628b7fb8548b638b706f74540813f8a0860513f2f8170a
+13f8b18ba160b58bb68baba5a2c30813f275910577697c80778b080ef7308aa8f76c
+b2f7289ce2d6a1b77977b1b81213f4f745d315f8180af734f76715f8190a13f8fb72
+f81d1513f2f81a0a13f8a0860513f2f81b0a13f8f81c0a13f2f81d0a404915f81e0a
+0efb337facf751a7f743a8d99ce2d501f728f70b15f81f0af761f8d715668b7d7987
+7c887a8a73b48b928b8e828981867571655f83088c7a05e68faad791a493b07daf65
+8b080efb337facf751a7f743a8d89ce2d601f728f70b15f81f0af769f8d715648b6e
+66836786718a3fe48708929c05649381b190a18d969093938bb38b95a38f9c8e9b84
+9d688b080efb337facf751a7f743a8d59ce2d612f80dd27aa313f8f728f70b15f820
+0af711f8d415f8210a13fcf3631513fac1fb1b058c898c89908b948b92918c90088b
+900513fc84f72c058a9683927a8b728b7a7a887a088a878b868c87080efb337facf7
+51a7f743a8d49ce2d612f80bd27aa313f8f728f70b15f8200af716f8d315658b6d66
+846785718a40e58608929c05649481b090a28c959193928bb48b95a48e9b8f9b849d
+678b0813fcec631513faf8220a13fc84f72c058a968392798b748b797a887a088a87
+8b868c87080efb337facf751a7f743a8d59ce2d601f728f70b15f81f0af710f8d415
+678b7d79877b887b8a72b48b928b8d838981867471666082087a07e790aad691a593
+af7cb0658b08f73e9115828b7887847c0849fb30058a8b8a8b1f8a888c82988b8d8b
+8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efb337facf751a7f743a8d6
+9ce1d601f728f70b15f81f0af71af8d415f8230af7428f15f8240a0ef7068bb265a6
+f7bfaddd77f70e9cb7b36fa78ed612f8a2adf3a6133bc0f954f91a15133dc0fb948b
+3d8a05137bc0f8250a13bdc0f8260afca8f76e15f8270a0ee38bb265a6f7bfaddd77
+f70e9cb7b36fa78dd612f889acf3a7133bc0f93bf91a15133dc0f8280a137bc0fb16
+8c8776058a888b87928b08a906b18b967d856c082afc8905856f7c7b638b086e0684
+8b89878a88088775f7168d0513bdc0d88af7ba8bc3f7347290056d426556498b08fb
+4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c07888c87911ea28b8e8e058c
+9c8eb892ad91ac97b093a48c8d8a8d888b087506878b88878a87087e6d057f6f7f7b
+688b08fb1c8bb4f769058fa39993a38b08f72c06bf8ba14f8a6008a78e05fc9af76d
+15658b6e67846686728c3fe48708939c05629381b08fa28d969092938bb38b95a48e
+9b8e9c849c678b080ef7a68bb265a6f7bfaddd77f70a9cbbb36fa78ad512f797d27c
+a3f7f0acf3a6133a30f9f4f91a15133c30fb948b051339303d8a05137a30fb168c87
+7605888b87921ea906b18b957d866c0829fc8905866f7c7b638b086d06858b89878a
+88088775f7158d0513bc30d98af7b98bc4f7347290056d4264564a8b08fb4c06758b
+7e9190a608bcf793f71d8b05ad937c6e1f6c07888c87901ea28b8f8e058b9c8fb891
+ad92ac97b093a4088d8a8d891e7506878b88878987087e6d05806f7f7b688b08fb1d
+8bb4f7690590a39993a38b08f72c06bf8ba14f8a6008a68e05133930fd4cf7691567
+8b7c79897c877a8c73b48b918b8d828981877572655f83088c7a05133a30e78fa9d7
+90a40892b07caf658b08f46415133870c2fb1c058c898d898f8b968b90928c90088c
+8c8e8a1e1338b082f72c058a9682927a8b738b7a7a887b8a868b878d87080ef7958b
+b265a6f7bfaddd77f7089cbdb36fa788d612f78bd17da3f7ebacf3a6133a30f9e4f9
+1a15133c30f8280a137a30f8290a13bc30f82a0a133930fd40f76815648b6f668467
+85718c3fe58708919c05649380b190a28d959093928bb48b95a38d9c088f9b849d67
+8b08ed6315133870c2fb1b058c898d898f8b958b91918c90088b90051338b081f72c
+059682927a1e738b7a79887b8a878b868d87080ef7978bb265a6f7bfaddd77f7089c
+bdb36fa788d612f934acf3a6133ac0f9e6f91a15133cc0f8280a137ac0f8290a13bc
+c0d88af7ba8bc3f7347290056d426556498b08fb4c06758b7e9190a608bdf793f71c
+8b05ad937c6e1f6c07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a
+8d888b087506878b88878987087f6d057f6f7f7b688b08fb1d8bb5f769058fa39993
+a38b08f72c06bf8ba14f8a6008a68e051339c0fd3ef76815678b7d79877b887b8b72
+b48b928b8d838a81867472665f82088c7a05e790a8d691a50892af7cb0658b08f73e
+9115818b7887857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f
+8d8f8b8f8d9688a16e8b080ef78d8bb265a6f7bfaddd77f70a9cbbb36fa78ad612f9
+29acf3a7133ac0f9dbf91a15133cc0fb948b051339c03d8a05137ac0fb168c877605
+888b87911ea906b18b967d856c082afc8905856f7d7b628b086e06848b89878a8808
+8875f7158d0513bcc0d98af7b98bc4f7347190056d426556498b08fb4c06758b7e91
+91a608bcf793f71d8b05ac947c6e1f8a6c05888d87901ea28b8e8e058c9c8eb892ad
+91ac97b093a48c8d8a8d898b087506878b87878a87087e6d057f6f807b678b08fb1c
+8bb4f7690590a39893a38b08f72d06be8ba14f8a6008a78e051339c0fd3ff76a1564
+8b6f66846786718b40e48608939c05639380b190a28d959093928bb48b95a48e9c08
+8e9a849d678b08f7428f15818b7887847c084cfb308b8a058a888c82978b8e8b8f8b
+8d9008f2f71e058e8f8d8f8b8f8e9686a16f8b080e72fb6576f904bbd89ce2d501f7
+f2de03f7a7f84e15f82b0af76cf7ec15f82c0a0e72fb6576f904bbd89ce2d601f7f2
+de03f7a7f84e15f82b0af74ef7ed15f82d0a0e72fb6576f904bbd69ce2d512f7f2de
+c6d27aa313f8f7a7f84e15f82b0af71cf7ea15f82e0af3641513faf82f0a13fcf830
+0a0e72fb6576f904bbd29ce2d6927712f7f2decbd213e6f7a7f84e15f82b0a13f6f7
+28f7e715f8310aec6315f8320a13eef8330a0e72fb6576f904bbd59ce2d601f7f2de
+03f7a7f84e15f82b0af724f7ea15f8340af73f9115f8350a0e72fb6576f904bbd49c
+e1d601f7f2de03f7a7f84e15f82b0af72af7e815f8360af7428f15f8370a0e72fb65
+76f904bbb29de1d6a5b68bb812f7f2de13f2f7a7f84e15f82b0af757f7c715f8380a
+13fadbd01513f6f8390a13faa0860513f6f83a0a13faf83b0a13f6f83c0a0e72fb65
+76f904bbb59ce2d6a2b68bb812f7f2de13f2f7a7f84e15f82b0a13faf7a4f80c1513
+f6f83d0a13faa0870513f6f7ff0a13faf83e0a13f6f83f0a3f4915f8400a0ef77a8a
+a8f7bcb2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8270a0ef77a8aa8f7bc
+b2f74a9cc3a78ed601f8fed315f8410afc8ff82415f8420a0ef8218aa8f7bcb2f744
+9cc9a788d612f799d27da313f0f9a5d315856f7b7b628b087006868b88888a860887
+788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08
+ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a8778058a868f888f8b08a506b38b987d846d0863fb67fbdb8bb4f7670590a79c
+9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a86
+8e88908b08a506b38b977d856d082afc8a05856f7a7b628b087106868b88888a8608
+87788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa
+08bcf790f7db8b0513e8fd39f81e15678b7d79887b887b8b72b48b918b8e83898186
+7472665f82088d7a05e690a9d690a50892af7cb0658b08f4631513e2c3fb1b058c89
+8c89908b948b92918c90088b900513e4f8430a0ef8168aa8f7bcb2f7449cc9a787d6
+12f78cd213f4f99ad315f8440a13ecfd34f81d15f8450aed6415f8460a0ef8198aa8
+f7bcb2f7449cc9a788d61213f0f99dd315f8470a13e8fd3af81e15f8480af73e9115
+f8490a0ef80f8aa8f7bcb2f7479cc6a78bd61213f0f994d315f84a0a13e8898c058b
+2e8a671e13f0f84b0a13e8f84c0a13f0f84d0a13e8fd30f82115f84e0af7428f15f8
+4f0a0ef7ff8aa8f7bcb2cc9ce2d597a77db78bb81213f8f983d315f8500afce4f7ae
+15f8510a13f4dad11513f2f8520a13f4a0860513f2f8530a13f4f8540a13f2f8550a
+0ef8098aa8f7bcb2d09ce1d693a77eb68bb81213f8f98ed315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e878b0870
+06648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b
+2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda
+8bb3f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b
+1e898a8878058a868e888f8b08a606b28b987d856d0829fc8a05866f7a7b628b0871
+06868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08bcf790f7db8b0513f4fca9f7f41513f2f8560a13f4a0860513
+f2f8170a13f4f8570a13f2f83c0a414915648b6e66846887718b3fe48708939c0563
+9380b08fa28d969192928bb38b95a48f9c8e9b839c688b080efba67fc0f82577e29c
+e2d601f700f76303f797f84e15f8580ae3f8f415668b7d78887c877b8b72b48b928b
+8d828982867471665f82088c7a05e790aad690a593af7db0658b080efba67fc0f825
+77e29ce2d601f700f76603f797f84e15f8580aebf8f415f8590a0efba67fc0f82577
+ea9ce2d612f7bdd27aa313f0f797f84e15f8580a95f8fc15678b7d79877b887b8a72
+b48b928b8e838981867470666082087a07e790aad691a592af7db0658b08f4631513
+f4c0fb1b058c898c898f8b968b91918c90088b900513f884f72c059682927a1e728b
+7a7a887a8a878b868d87080efba67fc0f82577e89ce2d612f7bad37aa313f0f797f8
+4e15f8580a9af8fa15658b6d66846785718a40e58608929c05649481b08fa28d9591
+93928bb48b95a48e9b8f9b849d678b08ec631513f4f8220a13f884f72c058a968292
+7a8b738b7a7a877a8a878c868c87080efba67fc0f82577e99ce2d601f700f7af03f7
+97f84e15f8580a93f8fb15f8210af73e9115828b7887847c0849fb30058a8b8a8b1f
+8a888c82978b8e8b8f8c8d8f08f5f71e058e8f8d8f8b8f8e9687a16e8b080efba67f
+c0f82577ea9ce1d601f700f7bb03f797f84e15f8580a9bf8fb15f8230af7428f15f8
+240a0efba67fc0f82577c59de1d6a5b78bb712f700f7dc13f2f797f84e15f8580aea
+f8d715678b7c79887b887b8a72b48b928b8d838981867471665f83088c7905e790aa
+d791a492af7db0658b0813fadbd11513f6638b80b7538b638b706f73530813faa087
+0513f6f85a0a13faf85b0a13f6f85c0a0efba67fc0f82577c99ce1d7a1b78bb712f7
+00f7da13f2f797f84e15f8580a13faf741f91d1513f6638b80b7548b628b706f7354
+0813faa0860513f6f85a0a13faf85b0a13f6f85c0a3f4915658b6d65846885718a3f
+e58708929c05649381b08fa28d969192928bb48b95a48e9c8f9b849d678b080efb46
+8aa8f89a9cc2a690d601f819f8d21590a79c9bb48b08a6068f8b8f8e8c90088f9e89
+8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0829fc
+8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d
+8f9e058c90878e878b087006648b7e9891a908fb1df92215678b7d79887b887b8b72
+b48b928b8c838a81867472665f82088c7a05e790a9d690a592af7cb0658b080efb58
+8aa8f8999cc3a78ed601f807f8d215f85d0afb0df92115648b6e66856786718b40e5
+8608929c05639480b090a28d969092928bb48b94a48f9b8e9c849c678b080e818aa8
+f8949cc8a789d512f795d27da313e0f8c1f8d215f85d0a13d0fbc6f91b15678b7d79
+887c887a8b73b48b928b8d828981877571656083088c7a0513e0e78fa8d790a50892
+af7caf658b08f4641513c4f85e0a13c881f72c059682927a1e728b7a7a887b8a878c
+868c87080e658aa8f8959cc7a68bd612f784d27ca313e0f8a5f8d21590a79c9bb48b
+08a606908b8e8e8c900813d08f9e898c058b2e8a6764348c8b1e898a87780513e08a
+868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b087006868b88888a86
+0887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891
+a90813d0fbb4f91d15648b6f66846785718c3fe48708939c05639380b090a28d9690
+93928bb48b94a38f9c088e9b849d678b08ed631513c4c2fb1b058c888d8a8f8b958b
+91918c90088b900513c882f72b058a9782927a8b738b7a79887b8a878b868d87080e
+6f8aa8f8969cc6a78bd61213e0f8aff8d21590a79c9bb48b08a506908b8f8e8c9008
+8f9e0513d0f84c0a13e064348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d0829fc8b05866f7a7c628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891a90813d0fbbdf91e15668b7d79887b
+887b8b72b48b928b8d838981877471666082088c7a05e790a9d68fa50892af7db065
+8b08f73d9115828b7887847c084cfb308b8a058a888b82988b8d8b908c8d8e08f2f7
+1f058d8f8d8f8c8f8d9687a16e8b080e6e8aa8f8979dc4a78cd601f8aef8d215f85d
+0afbb8f91f15658b6f66846785728c3fe48608939d05639380b090a28d969092928b
+b48b94a48e9b8e9c849c678b08f7438f15808b7987847c084cfb308b8a058a888c82
+978b8e8b8f8c8d8e08f2f71f058e8f8d8f8b8f8d9687a16f8b080e558aa8f8299ce2
+d691a783b68bb81213f0f894f8d215f85f0afb76f8b115678b7d79887b887b8b72b4
+8b928b8d838981867472665f82088c7a05e790a9d690a592af7db0648b0813e8dad0
+1513e4638b7fb8548b628b716f73540813e8a0860513e4f7ff0a13e8f8600a13e4f8
+3c0a0e6c8aa8f8299ce2d691a77fb78bb81213f0f8abf8d21591a79c9bb48b08a506
+908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a877805868e888f1ea606b2
+8b987d856d0829fc8b05866f7a7c628b087106868b87888a860887788d89058be98d
+aeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891a90813e8fb35f8f315
+13e4f8610a13e8a0860513e4f8530a13e8f81c0a13e4f8620a404915658b6e668467
+86718b40e48608939c05639381b18fa28d959093928bb48b95a48e9b8e9b849d678b
+080e3d7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f8640af7c4f87715
+678b7c78887c887b8a72b48b928b8d828982867471665f82088c7a05e790aad691a5
+92af7db0658b080e3e7faef816acce9ce2d601f7d7f82d15f8630afb84fb6015f864
+0af7ccf87715658b6d66846786718a40e48608929c05649480b090a28e959093938b
+b38b95a48f9b8e9b849d678b080e3e7faef816accc9ce2d6927712f82ed27aa313e0
+f7d7f82d15f8650afb84fb6015f8640a13f0f773f87515678b7d79877b887b8a72b4
+8b928b8d838981867471665f82088c7a05e790aad691a50892af7db0658b08f46315
+13eaf8660a13ecf8670a0e3e7faef816accc9ce2d6927712f82ed27aa313e0f7d7f8
+2d15f8650afb84fb6015f8640a13f0f77bf87515648b6d66846786718a40e4860892
+9c05649480b090a28e969092928bb48b95a48f9b088e9b849d688b08ec631513eaf8
+660a13ecf8670a0e3e7faef816acc99ce2d691771213e0f7d7f82d15f8650afb84fb
+6015f8640a13f0f773f87215678b7d79887b877b8b72b48b928b8c838a8186747166
+5f82088c7a05e790a9d691a50893af7cb0658b0813e8f73f9115808b7988847b0849
+fb308b8a058a888b82978b8e8b8f8c8e8f08f4f71f058e8e8d8f8b8f088e9687a16f
+8b080e3e7faef816accc9ce1d78e771213e0f7d7f82d15f8650afb84fb6015f8640a
+13f0f77af87515648b6e65836886718a3fe48708939c05639381b090a28d96919292
+8bb48b95a48e9c088f9b839d688b0813e8f7428e15f8680a0ef7417fadf89f9cc9ad
+01f98ef7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7
+408bf7538bf72bf721b2f75c08fba3f7bb15f7138be32163fb6468fb47fb01fb01fb
+068bfb188b35f705b1f754b4f766f712e2eb8b08fbe1ef15f8270a0ef74e7fadf89f
+9cc9ad82d61213e0f99bf7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c65fb5864
+fb59f707fb11f7418b08f7528bf72bf721b2f75c08fba3f7bb15f8690a13d0fbf7ef
+15658b6e66846786718c40e48608929c05649480b08fa28e969092928bb38b95a48e
+9b088e9c849c678b080ef7e17fadf8999ccfad7cd512f78ed213e8fa2ef7dd15b1f7
+5afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f707fb11f7418b08f7528bf72b
+f721b2f75c08fba3f7bb15f8690a13d8fc8de815678b7c79887c887a8b73b48b928b
+8e828982867472655f83088c7a05e78fa9d790a50892af7caf658b08f46415f8460a
+0ef7e97fadf8999ccfad7bd612f786d213e8fa36f7dd15f86a0afba2f7bb15f7128b
+e42162fb6469fb47fb01fb01fb078bfb178b35f705b0f754b4f766f712e2ec8b0813
+d8fc96e815648b6e66846886718b3fe58708929c0513e8649380b08fa20813d88d96
+9192928bb38b95a48e9c088e9b849c688b08ec6415f8460a0ef7d07fadf89b9ccdad
+7ed51213e0fa1df7dd15b1f75afb0ff717fb3a8bfb478bfb35fb2c64fb5865fb59f7
+07fb11f7408b08f7538bf72bf721b2f75c08fba3f7bb15f7138be42162fb6468fb47
+fb00fb01fb078bfb188b35f705b1f754b4f766f712e2eb8b0813d0fc73ea15678b7d
+79887c887a8b73b48b928b8d828981867572656083088c7a05e78fa8d790a40892b0
+7caf658b08f73f9215808b7987847b084cfb308b8a058a888c82978b8d8b908c8d8f
+08f2f71f058d8f8d8e8c8f8d9787a16f8b080ef7be7fadf89c9cccad7ed61213e0fa
+0bf7dd15f86a0afba2f7bb15f86b0a13d0fc69eb15f86c0af7428f15f86d0a0e4c7f
+baf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb0cf84b15668b7d
+78887c877b8b72b48b928b8d828982867471665f82088c7a05e790aad691a592af7d
+b0658b080e4c7fbaf7e1d557bfce9ce2d61213d8f893f78d15f86e0a13b8f86f0afb
+04f84b15648b6e66846785718a40e58608929c05649480b090a28e959093928bb48b
+95a48e9b8f9b849d678b080e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893
+f78d15f86e0a13b2f86f0a139afb5df84915678b7c79887b877b8b72b48b928b8d83
+8981867471665f82088c7a05e790aad690a50893af7db0658b08f46315f8700a1396
+f8710a0e4c7fbaf7e1d557bfcc9ce2d6927712f832d213d2f893f78d15f86e0a13b2
+f86f0a139afb56f84915658b6d66846785718a40e58608929c05639481b090a28e96
+9092928bb48b95a48e9b088f9b849d678b08ed6315f8700a1396f8710a0e4c7fbaf7
+e1d557bfc99ce2d691771213d0f893f78d15f86e0a13b0f86f0a1398fb5cf8461566
+8b7d79887b877b8b72b48b928b8d838981867471665f82088c7a05e790aad690a508
+93af7db0658b081394f73e9115f8680a0e4c7fbaf7e1d557bfcc9ce1d78e771213d0
+f893f78d15f86e0a13b0f86f0a1398fb56f84915648b6e65846885718a3fe5870892
+9c05639381b090a28e969092928bb48b95a48e9c088f9b849d678b081394f7428e15
+818b7888857b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f
+8c8f088d9688a16e8b080e4c7fbaf7e1d557bfb39de1d6a5b68bb81213d8f893f78d
+15f86e0a13b8f86f0afb03f83015678b7d79877b887b8a72b48b928b8e8388818674
+71665f83088c7905e790aad791a493af7cb0658b08139cdbd015139a638b80b8548b
+628b706f735308139ca08705139af83a0a139cf8720a139af8730a0e4c7fbaf7e1d5
+57bfb29de1d7a1b78bb71213d8f893f78d15f86e0a13b8f86f0a139c5df87215139a
+638b80b7538b638b706f725408139ca08605139af85a0a139cb18ba05fb58bb78bab
+a5a2c308139a76910577697b81778b083f4915648b6e65836886718a3fe48608939d
+05639381b090a28d969192928bb48b95a48e9c8f9b839d688b080ef7258aa8f8999c
+c3a78ed601f824d315856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891aa08b6f771f760f7ad05
+a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827e3c8c8b1e8a8a8777
+058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f05869988
+948d918d94918f9e8b08a8068f8b8e8f8c8f088e9e8a8c058bfb008a857e2e8c8b1e
+898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905fbaf
+f84f15658b6e66846786718c40e48608929c05649480b08fa28d969192928bb38b95
+a48e9b8e9c849c678b080ef7c48aa8f8949cc8a788d612f78cd27da313e0f8c3d315
+856f7b7b628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e
+058c90878e878b087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106
+908b8f8d8c90088f9f8a8c058b3c8a827f3c8c8b1e898a8777058a888c87908b08a8
+069f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b
+08a7068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c8b1e8a8a8777058985928a
+8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f8491513e0658b
+6e66846886718c3fe48708929c05639381b08fa20813d08d969092938bb38b95a48e
+9c088e9b849c678b08ed641513c4f85e0a13c881f72c058a968392798b738b7a7a88
+7b8a878c868c87080ef7c48aa8f8969cc6a78bd61213e0f8c3d315856f7b7b628b08
+7006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b
+087106638b7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c9008
+8f9f0513d08a8c058b3c8a821e13e07f3c8c8b1f898a8777058a888c87908b08a806
+9f8b908889808a868582817d08fb41fb7f2df77f05869988948d918d94928f9e8b08
+a7068f8b8e8f8c8f088f9e0513d0898c058bfb008a851e13e07e2e8c8b1f8a8a8777
+058985928a8e8b089806998b94898f8897839180927708f706fbb90513d0fc55f84c
+15648b6e66856786718b3fe58708929c05639380b090a28d969093928bb48b95a38d
+9c088f9b849d678b08f7428f15818b7887857b084bfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8c8f8c8e8d9788a16e8b080ef78b8aa8f8289ce1d693a7
+7eb68bb81213f0f88ad315856f7a7b628b087106868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b5f771f760f7
+ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b1e8a8a
+8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df77f0586
+9988948d918d94918f9e8b08a8068f8b8e8f8c8f088f9e898c058bfb008a857e2e8c
+8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f705fbb905
+13e8fb9af81f1513e4f8560a13e8a0860513e4f8170a13e8f8600a13e4f83c0a4149
+15648b6e66846886718c3fe48708939c05639380b08fa28d969192928bb38b95a48f
+9c8e9b839c688b080ef7237faef787b1f71e77f29ce2d601f955f76215f8740afbba
+aa15f8750adbf86715f8760a0ef7237faef787b1f71e77e29ce2d601f955f76215f8
+740afbbaaa15f8750ae0f85715f8770a0ef7237faef787b1f71e77e09ce2d6927712
+f892d379a313f0f955f76215f8780afbbaaa15f8750a13f887f85515f8790af36315
+13f5f87a0a13f6f87b0a0ef7237faef787b1f71e77e09ce2d6927712f892d379a313
+f0f955f76215f8780afbbaaa15f8750a13f88ef85515f87c0aec631513f5f87a0a13
+f6f87b0a0ef7237faef787b1f71e77dd9ce2d691771213f0f955f76215f8780afbba
+aa15f8750a13f887f85215f87d0a13f4f73e9115f87e0a0ef7237faef787b1f71e77
+e09ce1d78e771213f0f955f76215f8780afbbaaa15f8750a13f88df85515f87f0a13
+f4f7428e15f8800a0ef7237faef787b1f71e77c19ce2d6a5b68bb81213f8f955f762
+15f8780afbbaaa15f8750acff83615f8810a13fcdbd01513faf7fb0a13fca0860513
+fa9ca89d99a08b0813fcf8720a13faf8820a0ef7237faef787b1f71e77c59de1d7a1
+b78bb81213f8f955f76215f8780afbbaaa15f8750a13fcf72bf87d1513faf8830a13
+fca0860513faf85a0a13fcf85b0a13faf8840a3f4915f8850a0ef7618bc6f87a9cc9
+ad82d612f71ea5f8c2a513ecf8bdf70915f70ab0f0f2a2f70ca8f72841f719fb5c8b
+fb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799291c008718b7bfb
+0bf7678b05978b92918c95089cf713053bc970c8a0f704a5f714eaf70af71e8bf716
+8bc92170fb2176fb00554225560869fb130589818e85978b08f7648ba9f70b718b05
+7a5275885a8b082a0613dcfbeff92d15f8050a0ef77b8bc6f87a9cc9ad82d612f738
+a4f8c3a513ecf8d7f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb
+2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf7678b0597
+8b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc9216ffb21
+76fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5274885b8b
+08290613dcfbfdf92d15648b6e66846787718b40e48608939c05639480b08fa28e96
+9092928bb48b94a48f9b088e9c839c688b080ef7f78bc6f8749ccfad7cd612f78fd2
+69a486a3f8b0a513e5f953f70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598b
+fb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008728b7bfb0bf767
+8b05978b92918c95089cf713053bc970c8a0f704a4f714ebf70af71e8bf7168bc921
+6ffb2176fb00564225560869fb130589818e85978b08f7648ba9f70b718b057a5275
+885a8b082a0613d1fcb0f92715f8860af4631513c3f8870a13c9f8430a0ef7e58bc6
+f8749ccfad7bd612f783d263a58aa3f8aba513e5f941f70915f70ab0f0f2a3f70ca8
+f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf066088351268b05578b79
+9291c008718b7bfb0bf7688b05968b92918c95089cf713053bc970c8a1f704a4f714
+eaf70af71f8bf7158bc92170fb2176fb00554225560869fb130589818f85978b08f7
+638ba9f70b718b057a5275885b8b08290613d1fca3f92615f8880a13e1639380b090
+a20813d1f8890aed641513c3f80f0a13c9f88a0a0ef7be8bc6f8769ccdad7ed612f7
+7aa5f8c3a513ecf91af70915f70ab0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17
+fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b7cfb0bf7678b05
+978b92918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb
+2176fb00564225560869fb130588818f85978b08f7648ba9f70b718b057a5274885b
+8b08290613dcfc70f92915f88b0af73e9115f88c0a0ef7c28bc6f8779cccad7ed612
+f77ea5f8c3a513ecf91df70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb
+17fb2971fb1872fb14cc2cef66088451268b05568b799291c008718b7cfb0bf7678b
+05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7168bc9216f
+fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b057a527488
+5b8b08290613dcfc75f92915f86c0af7428f15f86d0a0ef7b58bc6f8069ce2d59cad
+72b78bb812f771a5f8c3a513f3f910f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cb2cf066088451268b05568b799291c008718b7c
+fb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb0055422556086afb130588818f85978b08f7638baaf70b718b
+057a5274885b8b082906fc3bf8b815678b7c79887c887b8b72b48b928b8d82898287
+7472665f82088c7a05e790a9d690a592af7caf658b0813ebd9d11513e7638b7fb854
+8b628b716e74540813eba0860513e7f8530a13ebb18ba15fb58bb68baba5a2c30813
+e775920578697b80768b080ef7cf8bc6f80a9ce1d698ad73b68bb812f78ca5f8c3a4
+13f3f92bf70915f70ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb16fb2971fb18
+72fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c
+95089cf713053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb0055
+4225560869fb130589818e85988b08f7638ba9f70b728b05795275885b8b08290613
+ebfbfaf8fe1513e7638b7eb8548b628b716f73540813eba0860513e7f83a0a13ebf8
+570a13e7f88d0a3f4915658b6e66846886718c3fe48708929c05649380b090a28d96
+9092928bb38b95a48e9c8e9b849c678b080eb77fcb4baaf81ea812f7c2d0c6ac1378
+f842f76215f7eb0aac9915f7ec0a13b8f7ed0afb9ff77b15f88e0a0eb77fcb4baaf8
+1ea812f842ac1370f842f76215f7eb0aac9915f7ec0a13b0f7ed0afb2ef78415f88f
+0a0efb337facf751a7f743a801f7a8d003f728f70b15f81f0af72ef8be157c82827f
+897f89868c868d8708d6fb0f058d898d8a8f8b8e8b8f8d8f8d8e8e8c8e8c8e088b8e
+6cf726058a90888f868e878e868c858b858b84898588080efb337facf751a7f743a8
+01f728f70b15f81f0af78af8c515808b7d8585800838fb2205898789868b8a898492
+85938b8f8b8f8e8f8f08f70af70e0590908d918c8f8fa07a9c778b080e72fb6576f9
+04bb12f7f2de3fd013e0f7a7f84e15f82b0af716f7d91513d0f8900a13e0f8910a13
+d0f8920a0e72fb6576f904bb01f7f2de03f7a7f84e15f82b0af776f7dc15f8930a0e
+fba67fc0f8257701f74bd003f797f84e15f8580aa5f8e7157c82827f897f89868c86
+8d8708d6fb0f058c898e8a8f8b8e8b8e8d8f8d8e8e8d8e8c8e088b8e6cf726058a90
+888f868e868e868c868b858b84898588080efba67fc0f8257701f700f77e03f797f8
+4e15f8580af712f8ef15808b7d8585800838fb2305898889868b8a8a849184938b8f
+8b908f8e8f08f70af70e0590908d918c8f90a0799c778b080e397faef816ac01f7d1
+f82d15f8940afb83fb6015f8950af785f864157c828280887f8b858b878d8708d6fb
+0f058d898d8a8e8b8f8b8f8d8e8d8e8d8d8e8c8e088b8f6cf725058a91888e868f86
+8d878d858b858b84898587080e397faef816ac01f7d1f82d15f8940afb83fb6015f8
+950af7f0f87115818b7c8585800838fb23058a8889868a8a8a849085938b908b908e
+8e8f08f70af70e0590908d918c8f8fa07a9c778b080e437fbaf7e1d557bf12f7c2d1
+13d0f893f78d15f86e0a13b0f86f0afb4af836157b828380887f8a858b878d8708d6
+fb0f058d898e8a8e8b8f8b8e8d8e8d8e8d8e8e8b8e088b8f6df725058a91888f858e
+868d878d868b848b84898687080e547fbaf7e1d557bf1213c0f893f78d15f86e0a13
+a0f86f0a52f84515808b7c8585800838fb23058a8889868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080ef7237faef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960a0ef7237faef787b1f7
+1e7701f955f76215f8740afbbaaa15f8750af716f85315f8970a0eb7fb83b4f74ecb
+4baaf81ea8d89ce2d612f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0a
+fb5ff79415f7ee0afb63fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612
+f842ac13bef842f76215f7eb0aac9915f7ec0a13def7ed0afb6cf79415f7ef0afb56
+fd9915f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d612f822d363ac80a413bd00
+f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbc0f79415f7f00af36315139c80
+f7f10a139e00f7f20afb6afd7115f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d6
+12f826d35fac84a313bd00f842f76215f7eb0aac9915f7ec0a13dd00f7ed0afbb5f7
+9215f7f30aec6315139c80c0fb1b05139d008c898c89908b08139c80f7f40a139e00
+f7f50afb6efd6f15f8980a0eb7fb83b4f74ecb4baaf81ea8d89ce2d512f842ac139e
+f7d3f94d15f7f60af73e9215f7f70a50fc8615766d0513bef7f80aac9915f7ec0a13
+def7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea8d69ce2d612f842ac13
+bef842f76215f7eb0aac9915f7ec0a13def7ed0afbaff79215f7f90af7428f15f7fa
+0afbc1fd9b15f8980a0eb7fb8bb4f756cb4baaf81ea8b29de2d6a5b58bb812f842ac
+139c80f73a3815793a057f51ab72bc8ba48bbc9aa8d0087493057f707673798b778b
+82a297c20896bf779205f733f96e15678b7c79887b877a8b73b48b928b8d82898186
+7571655f83088c7905e790aad790a593af7db0658b08139e80dbcf15139d80f7fb0a
+139e80a08705139d809ca89c98a08b08139e80f7fc0a139d80f7fd0a6efc9f15766d
+0513bc80f7f80aac9915f7ec0a13dc80f7ed0a0eb7fb83b4f74ecb4baaf81ea8b59c
+e2d6a2b68bb812f842ac13bc80f842f76215f7eb0aac9915f7ec0a13dc80f7ed0a13
+9e80fb1ff7b315139d80f7fe0a139e80a08705139d80f7ff0a139e80f8000a139d80
+f8010a3f4915f8020afb57fd7615f8980a0ef7d58aa8f76cb2f79a9ceb7796d612f9
+fba313f4f72ed315f8030af734f76715f8040a13ecfb5df84d15f8050af874fc3415
+5ffb79058051a871b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2
+f761839c050ef7cb89b166a8f76cb2f79a9ceb7796d612f9f1a3137af72ed315f803
+0af734f76715f8040a1336fb60f84d15f8060af86efc32155efb780513b2f8990a0e
+f80389b166a8f76cb2f7979cee7793d612f79ad27da31378f758d315f8070af734f7
+6715f8080a1334fc0cf84a15f8090af463151331f80a0a1332f80b0af8c0fc07155e
+fb780513b0f89a0a0ef7ec89b166a8f76cb2f7959cf07790d612f78bd17da31379f7
+3dd315f80c0af734f76715f80d0a1334fbf9f84715f80e0aed64151331f80f0a1332
+f8100af8b8fc05155efb780513b0f89b0a0ef7ea89b166a8f76cb2f7969cef7792d5
+121378f735d315f8110af734f76715f8120a1334fbe3f84815f8130af73e9215f814
+0af85ffc34155ffb780513b0f89c0a0ef7e389b166a8f76cb2f7969cef7792d612fa
+0aa3137af735d315f8110af734f76715f8120a1336fbd3f84915f8150af7428f15f8
+160af845fc32155efb780513b28050a872b88bb68bad99a6d108738f0580697f7b71
+8b778b869f97c808b2f761839d050ef7f189b166a8f76cb2f7259ce2d6a5b67977b1
+b812137af742d315eaf72f0592969491a38b08f7678ba9fb40058c858b858a86887b
+79806c8b086f06868b87888a860888788c89058bed8dafb2d7898b1e8e8d8f9e058c
+90868e878b088006638b7b9e84b20828f8b205879f83957a8b818b82847d7408fbe8
+fcb70576697678628b087f06868b87888a860888788c89058bcc8da4a4ed898b1e8e
+8d8e9e058c90888e878b086e066d8b7c948f9b088b918e918f9208f734f76715788b
+858e8d918b8e8c8d8d8f08f72cf78dbafb9f05fbd7f7d815678b7d79887b887b8b72
+b48b928b8d838981877471666082088c7a05e790a8d690a593af7cb0648b08133cdb
+d015133b628b7fb8548b638b706f735408133ca086051339f83a0a133cf8570a1339
+f88d0af8a7fc02155efb780513b8f89d0a0ef7f989b166a8f76cb2f7289ce2d6a1b7
+7977b1b812137af745d315f8180af734f76715f8190a133cfb72f81d151339f81a0a
+133ca086051339f81b0a133cf81c0a1339f81d0a404915f81e0af8e3fbc0155ffb78
+0513b87f50a972b78bb78bac99a6d108748f057f697f7b728b768b869f97c808b3f7
+61839d050e72fb657694b4f8d2bbd89ce2d512f7f2de13bcf7a7f84e15f82b0af76c
+f7ec15f82c0afc0afd86157a3a05137cf89e0a0e72fb657694b4f8d2bbd89ce2d612
+f7f2de13bcf7a7f84e15f82b0af74ef7ed15f82d0afbecfd87157a3a05137cf89e0a
+0e72fb657694b4f8d2bbd69ce2d512f7f2dec6d27aa313bcf7a7f84e15f82b0af71c
+f7ea15f82e0af36415133df82f0a133ef8300afc22fd5d157a3a05137cf89e0a0e72
+fb657694b4f8d2bbd29ce2d6927712f7f2decbd213b3f7a7f84e15f82b0a133bf728
+f7e715f8310aec6315f8320a1337f8330afc27fd59157a3a051373f89e0a0e72fb65
+7694b4f8d2bbd59ce2d612f7f2de13bcf7a7f84e15f82b0af724f7ea15f8340af73f
+9115f8350afc6dfd8a157a3a05137cf89e0a0e72fb657694b4f8d2bbd49ce1d612f7
+f2de13bcf7a7f84e15f82b0af72af7e815f8360af7428f15f8370afc76fd86157a3a
+05137cf89e0a0e72fb7db3f8dfbbb29de1d6a5b68bb812f7f2de13f2e94615793905
+7f51ac73bb8ba48bbc99a9d0087393057e707773798b778b83a296c20896bf779205
+f713f88615f82b0af757f7c715f8380a13fadbd01513f6f8390a13faa0860513f6f8
+3a0a13faf83b0a13f6f83c0a0e72fb657694b4f8d2bbb59ce2d6a2b68bb812f7f2de
+13b9f7a7f84e15f82b0a133df7a4f80c15133bf83d0a133da08705133bf7ff0a133d
+f83e0a133bf83f0a3f4915f8400afbf6fd64157a3a051379f89e0a0ef84283b16ca8
+f7bcb2f74a9cc3a78ed612fa67a3137ef8fed315866f7a7b628b087106868b87888a
+860888788c89058be98daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e98
+91aa08ecf88a0591a79b9bb48b08a606908b8f8e8c90088e9e898c058b2e8a676435
+8c8b1e888a8878058a868e888f8b08a506b38b987d856d0862fb67fbdb8bb4f76705
+91a79b9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778
+05868d88901ea506b38b977d866d0829fc8a05866f7a7b628b087106868b87888a86
+0887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891
+aa08bcf790f7da8b05fc8ef82415678b7c79887b887b8b72b48b928b8d8389818774
+72665f82088c7a05e790a9d690a591b07daf658b08f964fc37155efb790513be8051
+a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c808b3f761839d050e
+f84589b166a8f7bcb2f74a9cc3a78ed612137cf8fed315f8410afc8ff82415f8420a
+f969fc32155efb780513bcf89d0a0ef8e389b166a8f7bcb2f7449cc9a788d612f7d2
+a3137af9a5d315866f7a7b628b087106868b87888a860888788c89058be98daeb3e1
+898b1e8d8d8f9e058c90888e868b087106648b7e9891aa08ecf88a0591a79b9bb48b
+08a606908f8e901f8f9e898c058b2e8a6764358c8b1e888a8878058a868e888f8b08
+a506b38b987d856d0862fb67fbdb8bb4f7670591a79b9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a877805868d88901ea506b38b977d866d08
+29fc8a05866f7a7b628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9890aa08bdf790f7da8b051336fd39f81e
+15678b7d79887b887b8b72b48b918b8e838981867472666082088c7a05e690a9d690
+a50892af7cb0658b08f56315c2fb1b058c898c89908b958b91918c90088b9082f72c
+058a9682927a8b738b7a79877b8b878b868d8708f9a0fc04155ffb780513b2f89c0a
+0ef8da89b166a8f7bcb2f7449cc9a787d612f78cd2137af99ad315f8440a1336fd34
+f81d15f8450aed6415f8460af9a5fc04155ffb780513b28050a872b78bb78bac99a6
+d108748f057f697f7b728b768b869f97c808b3f761839d050ef8e889b166a8f7bcb2
+f7449cc9a788d6121378f99dd315f8470a1334fd3af81e15f8480af73e9115f8490a
+f96efc32155efb780513b0f89a0a0ef8db89b166a8f7bcb2f7479cc6a78bd6121c04
+6da3137af994d315f84a0a1336898c058b2e8a671e133af84b0a1336f84c0a137af8
+4d0a1336fd30f82115f84e0af7428f15f84f0af95cfc33155efb780513b2f8990a0e
+f8d289b166a8f7bcb2cc9ce2d597a77db78bb812137cf983d315f8500afce4f7ae15
+f8510a133adad1151339f8520a133aa086051339f8530a133af8540a1339f8550af9
+77fc02155efb780513b8f89b0a0ef8da89b166a8f7bcb2d09ce1d693a77eb68bb812
+1c046da2137c80f98ed315856f7b7b628b087006868b88888a860887788d89058be8
+8dafb2e2898b1e8d8d8e9e058c90888e878b087106638b7e9891aa08edf88a0590a7
+9c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a8778058a
+868e88908b08a506b38b977d856d0862fb67fbda8bb4f7670590a79c9bb48b08a506
+908b8f8e8c90088e9e8a8c058b2d8a6764358c8b1e888a8878058a868e888f8b08a6
+06b28b987d856d0829fc8a05866f7b7b628b087006868b87888a860888788c89058b
+e98dafb2e1898b1e8e8d8e9e058c90888e878b087006648b7e9891aa08bcf790f7db
+8b05133a80fca8f7f415133980638b7fb8538b638b706f745408133a80a086051339
+80f8170a133a80f8570a133980f88d0a404915648b6f66846886718b3fe48708939c
+05639380b090a28d969092928bb48b94a48f9c8e9b839c688b08f9d2fbc0155ffb78
+0513b8808050a872b78bb78bac99a6d108748f0580697e7b728b768b869f97c808b3
+f761839d050ef723fb83b4f74eaef787b1f71e77f29ce2d601f955f76215f8740afb
+baaa15f8750adbf86715f8760afb5afd9f15f89f0a0ef723fb83b4f74eaef787b1f7
+1e77e29ce2d601f955f76215f8740afbbaaa15f8750ae0f85715f8770afb5ffd8f15
+f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d6927712f892d379a313f800f9
+55f76215f8780afbbaaa15f8750a13fc0087f85515f8790af3631513fa80f87a0a13
+fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787b1f71e77e09ce2d69277
+12f892d379a313f800f955f76215f8780afbbaaa15f8750a13fc008ef85515f87c0a
+ec631513fa80f87a0a13fb00f87b0afb6efd6515f89f0a0ef723fb83b4f74eaef787
+b1f71e77dd9ce2d691771213f8f955f76215f8780afbbaaa15f8750a13fc87f85215
+f87d0a13faf73e9115f87e0afbb0fd9015f89f0a0ef723fb83b4f74eaef787b1f71e
+77e09ce1d78e771213f8f955f76215f8780afbbaaa15f8750a13fc8df85515f87f0a
+13faf7428e15f8800afbbafd9015f89f0a0ef723fb83b4f74eaef787b1f71e77c19c
+e2d6a5b68bb81213fcf955f76215f8780afbbaaa15f8750acff83615f8810a13fedb
+d01513fdf7fb0a13fea0860513fd9ca89d99a08b0813fef8720a13fdf8820afb9ffd
+b3157a3a057f51ac72bb8ba48bbb99a9d1087493057f707673798b778b83a296c108
+96c07791050ef723fb83b4f74eaef787b1f71e77c59de1d7a1b78bb81213fcf955f7
+6215f8780afbbaaa15f8750a13fef72bf87d1513fdf8830a13fea0860513fdf85a0a
+13fef85b0a13fdf8840a3f4915f8850afb55fd7315f89f0a0ef80e8bc650b1f88f9c
+c9ad82d612dfa5f8c3a513b6f888f70915f8a00a1376f8a10a13b6f8a20a132efbee
+f92d15678b7d79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9
+d690a50892b07caf658b08f94afc30155ffb78051366f8a30a0ef8158bc650b1f88f
+9cc9ad82d612dea5f8c3a513b6f887f70915f70ab0f0f2a2f70ca8f72840f719fb5b
+8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b799290c008718b05
+1376f8a10a13b6f8a20a132efbfdf92d15648b6e66846787718b40e48608939c0563
+9480b08fa28e969092928bb38b95a48f9b088e9c839c688b08f961fc30155efb7805
+13668051a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761
+839c050ef8a18bc650b1f8899ccfad7cd612f78fd269a486a3f8b0a5f746a313b2c0
+f953f70915f8a40a1372c0f8a50a13b2c07a5275885a8b082a061328c0fcb0f92715
+f8860af463151321c0f8870a1324c0f8430af96afc02155efb78051360c08051a871
+b88bb68bad9aa6d00873900580687f7b718b778b869f97c908b2f761839c050ef89b
+8bc650b1f8899ccfad7bd612f783d263a58aa3f8aba5f752a313b2c0f941f70915f7
+0ab0f0f2a3f70ca8f72840f719fb5b8bfb5a8bfb17fb2972fb1872fb14cb2cf06608
+8351268b05578b799291c008718b051372c07bfb0bf7688b05968b92918c95089cf7
+13053bc970c8a1f704a4f714eaf70af71f8bf7158bc92170fb2176fb005542255608
+69fb130589818f85978b08f7638ba9f70b718b0513b2c07a5275885b8b0829061328
+c0fca3f92615f8880a1330c0639380b090a2081328c0f8890aed64151321c0f80f0a
+1324c0f88a0af970fc02155efb78051360c0f8a60a0ef88c8bc650b1f88b9ccdad7e
+d612f77aa5f8c3a513b6f91af70915f8a00a1376f8a10a13b6f8a20a132efc70f929
+15f88b0af73e9115f88c0af90efc32155ffb78051366f8a30a0ef89b8bc650b1f88c
+9cccad7ed612f77ea5f8c3a5f775a313b7f91df70915f70bb0f0f2a2f70ca8f72840
+f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05568b799291c0
+08718b0513777cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714
+eaf70af71f8bf7168bc9216ffb2176fb0055422556086afb130588818f85978b08f7
+638baaf70b718b0513b7f8a20a132ffc75f92915f86c0af7428f15f86d0af91afc30
+155efb78051367f8a60a0ef8818bc650b1f81b9ce2d59cad72b78bb812f760a4f8c3
+a5f77aa213b9c0f8fff70915f8a40a1379c0f8a50a13b9c07a5275885a8b082a06fc
+3cf8b815678b7d79877c897b8b72b48b918b8e828982867472665f82088d7a05e690
+a9d690a592af7caf658b081335c0dad1151333c0f8610a1335c0a086051333c0f81b
+0a1335c0f81c0a1333c075920578697b80778b08f943fc01155ffb78051371c08051
+a871b78bb78bad9aa5d00874900580687f7b718b778b869f96c908b3f761839c050e
+f8948bc650b1f81f9ce1d698ad73b68bb812f77aa5f8c3a5f772a313b9c0f91af709
+15f8a00a1379c0f8a10a13b9c0f8a20a1335c0fbfaf8fe151333c0638b7eb8548b63
+8b706f7454081335c0a086051333c0f8170a1335c0b28ba060b58bb68baba5a2c308
+1333c075910578697c80768b08404915648b6f66846886718b3fe58708929c056393
+80b090a28d969092928bb48b94a48f9c8e9b839c688b08f995fbbf155efb78051371
+c08051a871b88bb68bad9aa6d00873900580687f7b728b768b869f97c908b3f76183
+9c050eb77fcb4baaf81ea8c5c5e67712f781a9f737aca0a2137ff842f76215f7eb0a
+ac9915f7ec0a13bff7ed0afbdcf763156d7e05823db251d88bbd8bddaeaaf0087498
+057b4d496e5d8b4f8b65b394be080eb77fcb4baaf81ea8efb612f842ac1378f842f7
+6215f7eb0aac9915f7ec0a13b8f7ed0afb07ef15988b999c8e978c928992828b08fb
+89067f8b7d7a897f89848d84948b080eb7fb83b4f74ecb4baaf81ea812f7c2d0c6ac
+13bcf842f76215f7eb0aac9915f7ec0a13dcf7ed0afb9ff77b15f88e0afb23fd8015
+f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8f842f76215f7eb0aac9915f7
+ec0a13d8f7ed0afc2efc9915f8980a0eb7fb83b4f74ecb4baaf81ea812f842ac13b8
+f842f76215f7eb0aac9915f7ec0a13d8f7ed0afb2ef78415f88f0afb94fd8915f898
+0a0eb77fcb4baaf81ea8f704b68bb812f842ac1364f842f76215f7eb0aac9915f7ec
+0a13a4f7ed0a1334fb36f72f15132cf8a70a1334a08605132cf7ff0a1334f8a80a13
+2cf8820a0eb7fb83b4f74ecb4baaf81ea8f704b68bb812f842ac13b2f842f76215f7
+eb0aac9915f7ec0a13d2f7ed0a139afb36f72f151396f8a70a139aa086051396f7ff
+0a139af8a80a1396f8820afb8cfd3415f8980a0ef71a8aa8f76cb2f80b77c1bf01f8
+0da703f72ed315f8a90af734f76715f8040af72ff89e1570067c6453755a8b568b61
+a18ab2086f068345bb60d58bcd8bd2b59fd2080ef71a8aa8f76cb2f80b77e2b701f7
+2ed315f8a90af734f76715f8040af709f84e15988b999d8d968c928993818b08fb89
+06808b7d7988808a848d83948b080ef71a8aa8f76cb2f80b7701f759d003f72ed315
+f8a90af734f76715f8040afba2f84815f8aa0a0ef71a8aa8f76cb2f80b7701f72ed3
+15f8a90af734f76715f8040afb50f84d15808b7d858580083bfb2305898889868b8a
+8a849185938b908b8f8e8f8f08f707f70e0590908d918c8f8fa0799c778b080ef7ea
+8aa8f76cb2f80b7701f72ed315f8a90af734f76715f8040af7c1a4155ffb79057f51
+a971b78bb68bad9aa6d0087490057f687f7b728b768b869f97c908b3f761839c050e
+fc10f86d9ce2d601f71af71403f76ef92015f7f00a0efb7afb92b101e8f73a03f722
+c6155afb79057f51a771b78bb78bad9aa7d0087490057f687e7b728b778b869f98c9
+08b6f761839c050efc0ff86d9ce2d601f71af71403f76ef92015f7f00a0efb20f8dc
+b68bb812f766f7a913a0f82df907151360f7fb0a13a0a0860513609da99c98a08b08
+13a0f8720a1360f8820a0efb55f8a4e6c4b68bb812f749e5d1e61398f749f8d11585
+729b77a48ba48ba49f90a490a47ba0728b08728b7376867208f73416f8ab0a13d8c2
+f7261513b8f7fb0a13d8a0860513b8f83a0a13d8b28ba060b58bb68baba5a3c30813
+b8f8820a0e72fb657694b4f8d2bb12f7f2de3fd013b0f7a7f84e15f82b0af716f7d9
+151328f8900a1330f8910a1328f8920afbb4fd73157a3a051360f89e0a0e72fb6576
+94b4f8d2bb12f7f2de13b0f7a7f84e15f82b0afb32fc2e157a3a051370f89e0a0e72
+fb657694b4f8d2bb12f7f2de13b0f7a7f84e15f82b0af776f7dc15f8930afc14fd76
+157a3a051370f89e0a0e72fb6576f904bbf702b68bb812f7f2de13c8f7a7f84e15f8
+2b0a13e8f771f7861513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a13d8f8820a
+0e72fb657698b4f8cebbf702b68bb812f7f2de13a4f7a7f84e15f82b0a1334f771f7
+8615132cf7fb0a1334a08605132cf8ac0a1334f8720a132cf8820afc0efd1c157a3a
+0513647e51ac72bb8ba48bbc99a8d1087593057e707673798b778b83a297c10895c0
+7791050ef7188bb265a6f7bfaddd77f74bb36fa712f6d0f805acf3a6133780f967f9
+1a15133b80f8280a137780f8290a13bb80f82a0afcd4f764157c82827f897f8a868b
+868e8708d8fb0f058d898d8b8f8b8e8b8f8c8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b858b84898588080ef7078bb265a6f7bfaddd77
+f74bb36fa712f8a3adf3a61337f955f91a15133bfb948b3d8a051377f8250a13bbf8
+260afc7ff76e15808b7d848481083cfb2305898889868b8a89839185938b908b8f8f
+8f8f08f708f70d058f918d908c908f9f7a9d778b080ef7878aa8f7bcb2f793a701f2
+d003f90bd315f8470afcbcf820157d818280897f8a868c868c8708d9fb0f058c898e
+8a8e8b8f8b8e8d8f8d8e8e8d8e8c8e088c8a8c8b1e6af726058a91888f868e868e86
+8c868b858b84898488080ef77e8aa8f7bcb2f793a701f903d315856f7a7b628b0871
+06868b87888a860888788c89058be98daeb2e2898b1e8d8d8f9e058c90888e868b08
+7106638b7f9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c05
+8b2e8a6764348c8b1e8a8a8778058a868e888f8b08a606b28b987d856d0862fb67fb
+da8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c
+8b1e898a8778058a868f888f8b08a606b28b987d846d082afc8a05856f7b7b628b08
+7006878b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b
+087106638b7f9891aa08bcf790f7da8b05fc7af82615808b7d858480083bfb23058a
+8889868b8a89849184938b8f8b908f8f8f08f707f70e0590908d918c8f8f9f7a9d77
+8b080ef7e18ab165a8f7bcb2f793a712fa08a31378f8a4d315856f7a7b628b087106
+868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e700664
+8b7e9891aa08edf88a0590a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a
+6864348c8b1e898a8778058a868e88908b08a506b38b977d856d0862fb67fbda8bb3
+f7670591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6863358c8b1e89
+8a8778058a868e88908b08a506b28b987d856d082afc8a05856f7a7b628b08710686
+8b87888a860888788d89058be88daeb3e1898b1e8d8d8f9e058c90888e868b087106
+648b7e9891aa08bcf790f7db8b05f7657f155efb790513b88051a871b88bb68bac9a
+a7d00873900580687f7b718b778b869f96c908b3f761849c050efb73f86c9ce2d592
+7712f7d8d379a313c0f771f91e15678b7c79887c877b8b72b48b928b8d8289828674
+71665f82088c7a05e790aad690a50893af7daf658b08f3641513a8f8ad0a13b0f8ae
+0a0efb73f8699ce2d5927712f71cf7b013d0f770f91b15678b7c79887c887b8a72b4
+8b928b8d828982867471665f82088c7a05e790aad691a50892af7daf658b0813b0f7
+3e9215818b7987837b084afb2f8a8a05888b81971e8e8b8f8c8e8f08f4f71f058d8f
+8d8f8c8f088d9688a16e8b080efb85f8269ce2d6a5b68bb812f73ef7a913c8f7b5f8
+d915678b7c79887b877b8b72b48b928b8d838981867471666082087a07e790aad690
+a50893af7db0658b0813e8dbd01513d8f7fb0a13e8a0860513d8f8ac0a13e8f8720a
+13d8f8820a0efba67fc0f82577d9c5e67701f720a9f76da203f79af84e157c067e8b
+7b80687f778565857c89088a6f059d8f978c988b998b928484650854fb95057e50a4
+6ac38bb28bbfafabb9087d9e0573736c736b8b788b8a9d90a0087bf8cd15f8af0a0e
+fba67fc0f82577f709b701f700f7b903f797f84e15f8580af751f85f15988b999d8d
+968d928993818b08fb8906808b7d7988808a848d83938b080efba67fc0f82577f708
+e512f71ce667d0b0e613e4f797f84e15f8580a13f45cf88b1586729b77a48ba48ba4
+9f90a40813ec90a47b9f728b08738b7277857208f7351686729b77a48ba38ba49f91
+a490a47b9f728b728b72778672083bf764157c828280897e8a868b878d8708d7fb0f
+058c898d8a8f8b8e8b8f8c8f8e8e8d8d8e8c8e8b8c8a8c8b8c086cf726058b90878f
+868e878e868c868b848b85898488080efba67fc0f82577f5e601f717e6d1e603f797
+f84e15f8580a57f8821586729b76a48ba48ba4a090a491a47a9f738b728b72778572
+08f73516f8b00ad5f76915808b7d8484810839fb2305898889868b8a8a839085938b
+908b908f8e8f08f70af70d0590918d908c908f9f7a9d778b080efba67fc0f82577f7
+18b68bb812f700f7b313c8f797f84e15f8580a13e8f71af8991513d8f8a70a13e8a0
+860513d8f7ff0a13e8f8720a13d8f8730a0efb917fc0f82577f5e6c4b78bb812f727
+e6d1e513e6f7a8f84e157c067e8b7b80687f778566857c89088a6f059d8f968c998b
+988b938483650854fb95057e50a46ac38bb28bbfafabb9087d9e0573736c736b8b78
+8b8a9d90a00856f88215f8b00af7351685729b76a48ba48ba4a090a491a47b9f728b
+728b727786720813f6c1f7261513eef8830a13f6a0860513eef85a0a13f6b18ba05f
+b58bb68baca5a2c30813eef8840a0efb958aa8f8e2a7b9bf01f742a703f7c3f8d215
+f85f0af782f9721570067d6453755a8b085660a1b21f6f068345bb60d58bcc8bd2b5
+9fd2080efba08aa8f8e2a7ddb701f7bef8d21591a79c9bb48b08a506908b8e8e8c90
+088f9e898c058b2e8a6863358c8b1e898a8778058a868e88908b08a506b28b987d85
+6d0829fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9891a908f760f92515988b999d8d96
+8d928893818b08fb88067f8b7d7989808a848d83948b080efb3a8aa8f8e2a601f825
+f8d21590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e89
+8a8778058a868f888f8b08a506b38b987d846d082afc8b05856f7b7c628b08700686
+8b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106
+638b7e9891a908fb44f91d157c818280897f8a868c868d8708d8fb0f058c898e8a8f
+8b8e8b8e8d8f8d8e8e8d8e8c8e8b8c8b8c8a8c086af725058a91888f868e868e868c
+868b858b84898588080efb438aa8f8e2a701f81cf8d215f85d0a2bf92215808b7c85
+8680083afb23058a8889868b8a89849184938b908b8f8f8f8f08f707f70e0591908c
+918c8f8fa07a9c778b080efb76f86c9ce1d6927712f7d8d379a313c0f778f91e1564
+8b6e66836886718a3fe48708939c05649380b090a28d969192928bb38b96a48e9c08
+8e9b859c678b08ec641513a8f8ad0a13b0f8ae0a0efb7af86b9ce2d601f72bf7ac03
+f777f91e15648b6e66836786718a40e48608939c05639481b090a28d959093928bb4
+8b95a48f9b8e9b849d688b08f7418f15828b7887847b0849fb2f8a8a05888b81981e
+8d8b8f8c8e8f08f4f71f058e8f8d8f8c8f8d9687a16e8b080efb61f8859ce2d6a1b7
+8bb812f75cf7a813e8f822f97a1513d8f8830a13e8a0860513d8f85a0a13e8f85b0a
+13d876920577687b81768b083f4915658b6d66846785718a3fe58708929c05649381
+b18fa28e959093928bb48b95a38f9c8e9b849d678b080e4c7fbaf7e1d557bfc5c5e6
+7712f78ea9f76da213def893f78d15f86e0a13bef86f0afb7bf82415f8af0a0e4c7f
+baf7e1d557bfecb71213d0f893f78d15f86e0a13b0f86f0a79f7b615978b999d8e96
+8c928993828b08fb89067f8b7d79898089848d83948b080e4c7fbaf7e1d557bfd6e5
+12f78ce667d0b0e613d2f893f78d15f86e0a13b2f86f0a139afb9bf7cd1586729b77
+a48ba48ba39f91a408139690a47b9f728b08728b7277867208f7351685729b77a48b
+a48ba49f91a48fa47b9f728b728b73778672083bf764157c828280897e8a868b878d
+8708d6fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e6cf726058b9087
+8f868e868e878c868b848b84898588080e4c7fbaf7e1d557bfe1e612f798e6d0e613
+dcf893f78d15f86e0a13bcf86f0afb8ff7d81585739c76a38ba48ba4a091a390a57b
+9f728b728b7277867108f7341686739b76a48ba48ba4a090a391a57a9f738b728b72
+77857108d6f76915808b7c8585810838fb23058a8789868a8a8a849185938b8f8b90
+8e8f8f08f70af70e058f908d918c8f90a07a9c778b080e6a80a9f815b1de9ce2d601
+f3fb6815f8b10af846f84e15f8b20a6af88d15678b7c79887b877b8b72b48b928b8d
+838981867471665f82088c7a05e790aad690a593b07daf658b080e6a80a9f815b1ce
+9ce2d601f3fb6815f8b10af846f84e15f8b20a6ff87d15f8590a0e4c7fbaf7e1d557
+bff703b78bb81213c0f893f78d15f86e0a13a0f86f0a139055f7f0151388638b7fb8
+548b628b706e7354081390a086051388f85a0a1390b18ba05fb58bb78baaa5a3c308
+1388f8620a0e4c7fbaf7e1d557bfd2e6c4b68bb812f78ee6d1e613d3f893f78d15f8
+6e0a13b3f86f0afb99f7c91586729b77a48ba48ba49f90a491a47ba0728b728b7276
+857208f7351686729b77a48ba48ba49f90a490a47ba0728b728b7376857208139bc2
+f726151397f8390a139ba086051397f7ff0a139bf83b0a1397f83c0a0e848aa8f8e2
+a7b9bf01f7cba703f7a0d315f8b30af7a5f8a01570067c6453755a8b085660a1b21f
+6f068345bb60d58bcc8bd3b59fd2080e848aa8f8e2a7d4b701f7a0d315f8b30af785
+f84a15988b999d8e978c918993818b08fb89067f8b7e7a887f8a848d83948b080ef7
+0e8aa8f8e2a701edd003f821d315856f7b7b618b087106868b88888a860887788d89
+058be88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9892aa08b6f771
+f75ff7ad05a2ab9b97a98b08a006918b8f8d8c90088f9f8a8c058b3c8a827f3b8c8b
+1e8a8a8777058a888c878f8b08a9069f8b908889808a868582817d08fb41fb7f2df7
+7f05869988948d918d94918f9f8b08a7068f8b8e8f8c8f088f9e898c058bfb008a85
+7e2e8c8b1e898a8777058a85928a8e8b0897069a8b94898f8897839180927708f706
+fbb905fbcef847157b828380897f8a858b878e8708d8fb0f058c898e8a8f8b8e8b8e
+8c8f8e8e8d8d8e8b8e8c8c8a8c8b8d086af725058a90888f868f868d868d868b848b
+85898587080ef48aa8f8e2a701f810d315866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+b6f771f75ff7ad05a3ab9b97a88b08a106918b8f8d8c90088e9f8a8c058b3c8a837e
+3c8c8b1e898a8777058a888c87908b08a806a08b8f8889808a868682807d08fb40fb
+7f2cf77f05869989948c918d94928f9e8b08a706908e8f8f1f8f9e898c058bfb008a
+857e2e8c8b1e8a8a8777058985928a8f8b089706998b94898f8897839280927708f7
+05fbb905fb7df85015818b7d848581083bfb2305898889868b8a89839285928b908b
+8f8f8f8f08f707f70d0590918e908b908f9f799d778b080eaf8aa8f792acf7789dc5
+a473ad84d61213e8f75ed215856f7b7c628b087006868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9891a908b6f77105a1
+849c88af8bf74a8bd6f70b9be097c67cf701fb4d8b718b4f8957880813f05a895088
+7c8b08877705888b87921e8f8ba38d948b9c8ba585846508e1aa1513e8a092b8929e
+8bd18bcf7272fb1376fb004b5e298b728b688d818e0813e4fb36f82615658b6f6684
+6785728c3fe48608939d05639380b090a28d969092928bb48b94a48e9b088e9c849c
+678b080efb4ef8a4e601f745e6d0e603f745f8d115f8b40af73416f8ab0a3cf76415
+7c828280887f8a858c878d8708d6fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c
+8e088b8f6cf725058a90888f868f868d868d868b858b84898587080efb55f8a4e601
+f745e6d0e603f745f8d115f8b40af73416f8ab0ad5f76915808b7d8585800838fb23
+05898889868b8a8a849185938b8f8b8f8e8f8f08f70af70e0590908d918c8f90a079
+9c778b080efbd6f8bcf74501f75eed03f777f968157b828380887e8a868c878d8708
+d5fb0f058d898e8a8e8b8f8b8f8c8e8e8e8d8d8e8c8e8b8c8a8c8b8c086df726058a
+90888f868f868d868c868b858b848a8587080ef723fb83b4f74eaef787b1f71e7701
+f814d103f955f76215f8740afbbaaa15f8750af84004f8960afb0afd7815f89f0a0e
+f723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f8750afb0afbcc
+15f89f0a0ef723fb83b4f74eaef787b1f71e7701f955f76215f8740afbbaaa15f875
+0af716f85315f8970afb8cfd8b15f89f0a0ef7237faef787b1f71e77f704b68bb812
+13e0f955f76215f8780afbbaaa15f8750a13f0f710f7e81513e8f8b50a13f0a08605
+13e8f7ff0a13f0f8b60a13e8f8b70a0ef723fb83b4f74eaef787b1f71e77f704b68b
+b81213f0f955f76215f8780afbbaaa15f8750a13f8f710f7e81513f4f8b50a13f8a0
+860513f4f7ff0a13f8f8b60a13f4f8b70afb86fd2015f89f0a0ef7627fadf8eead01
+f9aef7dd15b2f75afb0ff717fb3b8bfb478bfb34fb2c64fb5865fb59f707fb11f740
+8bf7538bf72af721b2f75c08fba2f7bb15f86b0afc21ea157c828380887f8a858c87
+8d8708d8fb0f058d898e8a8e8b8e8b8f8c8e8e8e8d8d8e8c8e088b8e69f726058a90
+898f858f868d868d868b858b84898587080ef7377fadf8eead01f984f7dd15b2f75a
+fb10f717fb3a8bfb478bfb35fb2c65fb5864fb59f707fb11f7418bf7528bf72bf721
+b2f75c08fba3f7bb15f7138be42162fb6469fb47fb01fb01fb078bfb178b35f705b0
+f754b4f766f712e2eb8b08fbb6f015808b7d858580083bfb2305898889868b8a8984
+9284928b908b908f8e8f08f707f70e0591908d918b8f90a0799c778b080ef7658bc6
+f8c9ad12e7d078a5f8c3a413d8f8c1f70915f70ab0f0f2a3f70ca8f72840f719fb5b
+8bfb5a8bfb16fb2971fb1872fb14cb2cf066088351268b05578b799291c008718b7b
+fb0bf7688b05968b92918c95089df713053ac970c8a1f704a4f714eaf70af71f8bf7
+158bc92170fb2176fb00554225560869fb130589818f85978b08f7638ba9f70b728b
+05795275885b8b082906fc3bf9281513e8f8aa0a0ef72e8bc6f8c9ad01e2a5f8c2a5
+03f88af70915f70ab0f0f2a3f70ca7f72841f719fb5b8bfb5a8bfb17fb2972fb1872
+fb14cb2cf066088351268b05578b799291c008718b7bfb0bf7688b05968b92918c95
+089cf713053bc970c8a0f704a5f714eaf70af71f8bf7158bc92170fb2176fb005542
+25560869fb130589818e85978b08f7648ba9f70b718b057a5275885a8b082a06fbb4
+f92e15818b7c848581083bfb23058a8889868a8a8a839185938b908b8f8f8f8f08f7
+07f70d0590918d908c908f9f799d778b080ef7d98bc650b1f8dead12cba5f8c3a513
+b8f873f70915f70bb0f0f2a2f70ca8f72840f719fb5b8bfb598bfb17fb2971fb1872
+fb14cc2cef66088451268b05578b789291c008718b0513787cfb0bf7678b05968b93
+918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8bf7168bc9216ffb2176fb
+00564225560869fb130588818f85978b08f7648ba9f70b718b0513b8f8a20af7cff7
+91155ffb780513788051a871b78bb78bac9aa6d0087490057f68807b718b778b859f
+97c908b3f761839c050efbfef861f74b01f720f72b03f796f91815808b7d85858008
+38fb2305898889868b8a8a849184928b908b908f8e8f08f70af70e0590908d918c8f
+8f9f7a9d778b080efc1df8659ce1d701f72af70703f776f91815658b6d6583688671
+8a3fe48708939c05649380b090a28d969192928bb38b96a48e9c8f9b849d678b080e
+4d0ef84a0e4d0ef84a0efb790efbcc0efc1f0e4e0efc1f0efc620efcbc0e0efb75f7
+80c101def7a303f7d4f78015f8b80a0efb78f780c101def7a303f7d4f78015f8b80a
+0efb0ff7b3bb01f846f7b315978b9da08d978d948991818b08fbe0067f8b7a7a887b
+89828f85958b080e70f782bc01eaf7b315825af85c8b94bc050ef749f782bc01e0f7
+b315825af93f8b95bc050ef7fdf782bc01e0f7b315825af9f48b95bc050efbaff73a
+fb5115f75ffaaa638bfb5ffeaa054c16f760faaa638bfb5ffeaa050e40fb2eb7c9b7
+01f861fb0215fc728b835ff8728b05a7f72a15fc718b835ff8718b050efbb9f887e6
+01f764bb03f7d5f8b915f8b90a0efbb9f8f3e601f7a0bb03f75ff91c15f8ba0a0efb
+b98fe601f72cbb03e2b8158b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdcccc82ff0002e667fffff84ccdff0007cccdfffff9b333f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efbb9f8f1e801ff00bf999aaf03f7acf94e15f8bb0a0efb4ef8
+87e6f705a201ff00a68000bbf712bb03ff01c58000f8b915f8b90afb4216f8b90a0e
+fb4ef86ba2f705e601ff00fbcccdff002ffffff712bb03ff00bacccdf91c15ff0000
+0001739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e666
+fffff84cccff0007cccdfffff9b334ff0073ffffa0a7e58bbf08b374a3ffffe10001
+6d6e786c1eff00adffff168b739a7f9e869b879a878b798b6fffffcc80005c567fff
+fffdccce82ff0002e666fffff84cccff0007ccccfffff9b334f708a0a7e58bbf08b3
+74a36c6d6e786c1e0efb4efb19a2f705e601ff0075e666bbf712bb03ff0034e666b7
+15f8bc0af74216f8bc0a0efb50f86aa4f702e801ff00a8999aaff70caf03f795f94e
+15f8bb0af73016ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd9
+4cccff00334cccfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff
+0027ccce8bff001666648bff0013999cff000f3332ff000d3330ff001b3334ff0002
+e668bcff0007b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6
+669b701e0ea6f81beff7627701f7909df712f503f8e7f87f15498b517d5970aebca5
+c99dd78c928c908b918b9489938793869682917f8b7f8b7f858080087f7e837d877b
+815f86648b678b728d7591766aa35799458e7c8b7d867f817d81847f877d088a878b
+878b888b818e849184938297869a8bcf8bc598baa576326e4d65698d7c8c7a8b7808
+8b3276fb1962fb47089d06bbf765bdf72bbfe77fa085a68bad8ba890ae95b2b071bf
+7ecd8b9a8b99909794989493978e99088c8f8c8f8b8e8b948794859284957f907c8b
+080ea68beef7b8eff7627701f778f4caf503f88dee154a8b517e58719fdea8c9b3b3
+7fa085a68bad8ba890ae95b2b071bf7ecd8b9a8b9990979408989493978e998c8f8c
+8f8b8e8b9487948592839480907c8c498b517d5970aebca5c99dd7088c928c908b91
+8b9489938793869682917f8b7f8b7f8580807f7e837d877b815f86648b67088b728d
+7591766aa35799458e7c8b7d867f817d81847f877d8a878b878b888b818e84918408
+938297869a8bcf8bc598baa576326e4d6569967891718b6b8b6d866781616ba25797
+448f087d8b7d867e827e82837f887d8a878b878b878b828e83918593819786998bce
+8bc598bca6086758714d7a418a858a858b858b838d828f84917f9485978b978b9791
+9597979793988e9c0896b78fb38baf8ba38aa2869fb170bf7ecc8b9a8b9890989598
+9493978e998c8f8b8e8b8f088b9488938592839480907c8b080efb66f74df79101f7
+0af79703f7a8f84a157a8b7a887a847b847c827d807c807f7d817c807d847b877a89
+818a818b828b838b858d84088d7b917e947f947f9782988499849a889d8b9c8b9d8e
+9c919c929a94999799969799969a08959b929b8f9c8d958c958b948b928b92899188
+9a8599829683977f947e927d927b8e798b080efb4ef72df7bc01f700f7be03f700f7
+2d15f7bef728fb79f728050efbea80f501caf70003f711ea152b0a0efb1d80f501ca
+f700ecf70003f711ea152b0af761162b0a0ef75080f501caf700f731f700f730f700
+03f922ea152b0afb9c162b0afb9d162b0a0efc1ff7a8ee01f6f103f701f7d9158a87
+8a878b888b759c7ba18ba78ba6a192a68b8f8c8f8b8e8ba17b9c738b708b7075856f
+080efc290ef7e378a8f764abbaa8f72cb09dab8f7712f717bef71caab2bef71ca9ca
+bff71ca913f3f0f964d815f8bd0a579915f8be0afb797d15f8bf0a589915250abbf8
+3c15260a13fbf0270a13f7f0280afb92fb0f1513fbf0290a0ef8ed78a8f764abbaa8
+f72cb09dab8f7712f717bef71caab2bef71ca9cabff71ca9b1bff71ca913f3fcfa64
+d815f8bd0a579915f8be0afb607d15f8c00a579915f8be0afb797d15f8bf0a589915
+250abbf83c15260a13fbfc270a13f7fc280afb92fb0f1513fbfc290a0efbccf898f7
+4b01f73df72903f7b0f94f15f8c10a0efb80f89bf74a01f71bf7ae03f813f9511580
+8b7d858580083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e05
+90908d918c8f8ea07a9c778b08fb198915f8c20a0e61f898f74b01f8b4f94f15f8c2
+0afb1616f8c10afb1616f8c10a0efbd1f8a6f74601f750ef03f768f95315f8c30a0e
+fb57f89cf74b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb
+0f058c898e8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a9188
+8e868f081360868d878d858b08858b8489858708f70d90157c828280897f89858c87
+8d8708d9fb0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90
+888f858f0813a0878d868d868b848b85898587080e4ef8a4f74601f7cbcf03f86ff9
+50157c828380887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d
+8e8c8e8b8c8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb
+1f8e157c818380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e
+8d8e8b8d088b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f8
+c30a0efb62a176f8417701f5f79d03f807f84215303a354a3b5a08836405c667c84a
+c92d0895c10569d167c165afc2b4c3c1c7cd080efb62a076f8417701cff79d03cf16
+e6dce1ccdcbc0892b20551b04ecb4de908805505ae45af55b167546252565048080e
+985bf6f702f6f0f501c5f6f7bbf503f76e9015856e9f73a88ba98ba7a391a891a977
+a36e8b6d8b6f73856d08f786f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e
+8b6f73856e08fc268c15856d9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e
+08f785f76315856e9e73a98ba88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea7
+15ff0086199affff106666ffff1fe666ffff13999aa078ff00d96666ff00e5cccdff
+008e999affff013333a79dffff6d8000ff01063334ff00fb8000ff0109cccc769dff
+ff0b3334fffefdccccffff7dccccff00e93333050efb2a81f6f8c57712cef689f703
+6bf689f70313c4f83df92815758b677980547e4594698332843d7f3189778a858c84
+968b958b90938f978e9999c7acf608a6e1a3b598cc0895bd72a2708b0813c8fb42fc
+fd15866e9e73a88ba98ba8a390a891a977a36e8b086e8b6e73856d0881f8fb1513d0
+758b677880557e4594688333843d7f3189768a858c84968b958b90948e968f9999c7
+acf70008a6e1a3b598cc94bd73a2708b0813e0fb42fcfd15866e9e73a88ba98ba7a3
+91a891a878a36d8b086e8b6e73856e080efb0e7ff5f81876f7597712f720d95af568
+a913f4f76af8ae15ff0003cccdff00109998a3ff0011199cff001f9999ff000a1998
+fffff2e666ffffbc199cff0008999affffdab332fffff8199affffa86666843e7f30
+89778a858c84968b958b90938f97ff0001b334ff0008199aff00058000ff00176666
+ff000a9998b208ff00048000ff00086666ff00054cceff00088000ff00066666ff00
+08999a9799a29aa59ac0aac7b699d3ff000c199aff003f1998ffffd7199aff002de6
+68ffffb2ccccff000b4cccfffffd3334ff001dccccffffecccccff000de668768bff
+ffed199a8bffffe43332fffff31998fffff13334ffffdd4cd008ffffe2cccd85ffff
+e5800081ffffec3333fffff29998697571738568846ba3849b8b9e8ba1968fa08e97
+8990888f0888908a908d990813e85efc8515866e9e73a88ba88ba8a390a891a878a3
+6e8b086e8b6e73856e08ff00d5199aff0216800015a6ffffece668ff000de666ffff
+de199885ffffdf80008261786c5d6afffff38000fffff7199afffff53334fffff733
+32fffff6b332fffff733348e95ff00033334ff000a8000ff0003666696ff0019b334
+ff0051b334ff0017ccccff002cccccff000c999ac7080efb1ef918b701f89ef94415
+fbf48b825ff7f48b050eb6f2c4f7bbc401f767c4f701c4f3c403f8adef15696b5e84
+85678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853ac8b978b9a958e9b0891
+078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b8c8b948698778b6e8b79
+70617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b7d7c88798b888a888b88
+8b7a93788b73088b888b878a89689a81a76e8b768b817e897f08860775a486b11e98
+8b978a968908fbda16686b5f848467088707809381981eab8b9abea8b19a6a8753ad
+8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b8b08a98ba99190a5088e
+07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d8b9b81927d8b7c8b7e7c
+87798b888a888b88088b7a93788b73088207689a80a76e8b778b807e897f08860775
+a486b21e988b978a968908f73af7f415686b5f858466088707809381981eab8b9abe
+a8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8669475a89b8e9a8c9b8b08a9
+8ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8e8b9a81
+927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b778b80
+7e897f08860775a486b21e988b978a9689080efc99f774f8ed15fc5efd23b48bf85f
+f923050ef77080f5f8aaa912f731d455f700f71bd9afd455f700f71bd913e9f731f8
+9c153c0adcfc3d1513d92b0a13cdf7bbf83d153c0adcfc3d1513cb2b0a0eac80f5f8
+aaa912f726d455f700f71bd96bf70165a981f70bfb0af70a13e800f726f89c153c0a
+dcfc3d1513d0002b0af778561513c400f8c40af738f90515200a13c100210a13c080
+220a13c200230a13c100240a0ea57ef5f8aaa912e2f70165a981f70bfb0af70aaad4
+55f700f71bd913c280f7dcf89a153c0adcfc3d1513c1802b0afbd5561513e080f8c4
+0af738f90515200a13c880210a13c480220a13d080230a13c880240a0efb0ff7d8e0
+a77701f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb542dfba68b8a088d
+85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c728b1e6785658765
+8b4f8b4f94549e080eb4fb7ea7f839f8436da412f7faf7ce13b0f726fb6315838c84
+8d898e859289938e978c948d958d9508f736f951058d968e958d929097919492918f
+8e918c938c948b92888e878f848d818a818a858a81887e08fb35fd4c05887e898189
+85867f858283850883858588858c08487115f70a8bf68a90a0058c908a8d878b086d
+067e8c828d888f869289948d968d948d958c9508e1f8060513d09884a986ab8bc68b
+c0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e4e8b08718b4a8a65
+880813b0808a7f8b7f8b0868698e8b1f13d0fb018d86760589878d888e8b08a90699
+8b93898e8691848c828a808a868981887e08fb35fd5005887e88818985877f858383
+848687828a7d8a086d06888b88888a87088676050efc22fb08a0eaebf76fed01a6ab
+cef003df3915858f85948597879589968a978a958c928c918c8f8c8e8d8f95849488
+938b998b968d9592089a9593998f9b8e978894869484977e907b8b818b8188838681
+86818183807e7c8479867808898089808b818b888c888b878c798f7e9180927e9382
+958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108f71bf87315839681
+907d8b7e8b7f857e817f818480887e8a878b878b888b828d84918492819587998b08
+998b97909794979592968e988c8f8c8f8b8f8b9388938691080efb92f7fba3f7ada3
+01f7bdf92c15f8c50a44fbc515f8c60a0efc03f801a2f767a0c8c501ff00e4b333ff
+003b999903ff00ffb333f8d415ff000bb332ff0034e66894ff00081998fffff2ccce
+8bffffee666684ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b333
+8a8d8b08ff0014cccd8a05ff00084cccff0004cccdfffffd3334fffff319981f8bff
+fff8999cfffffe6667fffff56664fffffc9999fffff0b334086efb1705fffffb1999
+75fffff9999985ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc
+88088779058bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd
+66668d898b08ffffee33338c05fffff1ffffff0000ccccfffff8cccdff000333348b
+ff000c80008bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff
+011dcccc15fffffffffffffff38000ff0008b333fffff5b334ff000e999a8b08ff00
+118000ff0012ccccff000f9998a0ff000b4cd0fffff9b334ff000a1998ffffeecccc
+ffffe3199afffff8cccdffffe59998fffff733341f0efb92f801a8d1adf7527701ff
+0079cccdff00fc333303f7bdf91215b00a5ffb5a15f8c70a0efb92f7fba6f739a6d1
+ae01ff0126e666ff0039199a03ff0126e666ff01f16666158bffffdf999afffff699
+9affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b8292
+8494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff0035b3
+337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4ff00
+188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffffbe80
+008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff
+0030999a8bff000b4cccffffe519988bffffe54cce080efb92f7fba3f729a3f7059e
+01ff00903333ff00336667ff0077e666ff0038999a03ff013b8000ff01e34ccc158b
+ffffe1999afffff73334ffffe4199afffff2b332ffffed999afffff5b334fffff1b3
+32fffff0e666fffff6b334748bffffe980008bffffe5199aff000ecccc8bff003133
+348bff00104ccc8fff001dccceff00066666ff000fe666a49ca291998bff0026cccc
+8bff0008b334ffffe680008bffffe8cccc08ff000b4cccffffa44cce15ff001e199a
+ff001a6666ff000f3334ff001a4ccc8bff0023ccce8bff001d4cccfffff36666ff00
+2e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6
+b3343dffffb59998ffffdfcccdffffb7b334fffff5cccd74fffff81999ffffe36666
+8bffffe3199a8bffffb8b334c0ffffeaccccff002acccd8bff0024999a8bff001ce6
+6699ff00154cccff0012999a080efb92f919b18b9012f73df78a13a0f78cf91915f8
+c80a1360f8c90a13a0fb42061360f8ca0a0efb92f7fba5f7a9a512ff007ecccdff00
+3280008fbeff004b9999ff0039e666ffffdd3334ff002f333413f4f7b6f92a15ff00
+16199aff0012e66680ffffeae6681f8bffffde4cccffffdd199affffdee664ffffed
+e666fffff6e66808799505ffffe88000ff000e3334fffffbcccdff0010cccc8bff00
+0d4ccc08ff00274cccff001ae667ff000e6668ff001ecccc1e93fb0b15ff0046e666
+afff00094cceff001999988bff001b4cd008ff0021e664ffffda9998ff00163334ff
+ffd73334ffffc78000ffffc1cccdffffdfccccffffc64ccc1e8bffffe96668ff000b
+666677ff001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffff
+dbe6688bffffcb800008ffffcd4cccff003899997eff0027999a1e13f8eaff002fcc
+ccff003accccff002e4cce1f8bff0017999afffff44cceff00156666ffffe9e666ff
+000de666083b16a57d05ff001780007eff00066666fffff066668bffffefccce08ff
+ffc8e666ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999a
+ff002133321e8bff002b199aff00366666ff002ae666ff00144ccdff000a3334080e
+fb92f7fb9ef705a4f728a301ff00a2cccdff0037e666ff00774ccdff0037999a03ff
+00dab333ff0234e66815ffffffffffff00324cccff0014e667ff0030ccccff003166
+668bff0016999a8bff001a66667c8bffffcecccc8bffffef3334fffffa8000ffffe4
+9998fffffc8000ffffee6668717a74867d8b08ffffd94ccdfffff76666ff0019b334
+ff001733341fff004b4ccdff007b199815ffffaae666ffffd1e667ffffba4cccffff
+cbb334ffffe29998ff000c8000ffffd26668ff0049b3331fa48baa9c9d9972515a48
+fb057808877805ff0059199aff0006e666ff00413332ff00248000b6ff002d4cceff
+00284cceff002a8000a3ff002bcccc8bff003ccccc08ff00486668ffffc78000ff00
+14ccccffffd4e6661e0efb92f87cb201ff00883333ff0104999803ff0122ccccf8a3
+15ff0017cccef6648bffffe8333320208bfffff7666664f68bffffe8800021ff0027
+00018bff00178000f5f58bff00089998b2050efb92f87cb201ff008f3333ff00f699
+9903ff0185ccccf8a315ffff1200018bfffff7666664ff00ee00018b050efb92f86e
+adb2ad01ff0090199aff00fdb33203ff017d999af89015fb7a8bfffff8800069f77a
+8b05ff0017b332f615ffff1a00018bfffff8800069ff00e5ffff8b050efc00ff0091
+cccdff0032666603ff0091cccdff01d9199a15ff00000001ffffcab332ff00178000
+ffffcf4ccec7ffffd2e66608ff001133339505ffffdc199aff0031b334fffff19999
+ac8bff00284ccc8bff0012199aff0002e667ff0013999aff00053333ff00174cccff
+00106666d5ff001ce667b8ff004ee666ce08fffff380009605ffff9e999affffc9b3
+34ffffb733332f8bffff9e6666080efc00ff00e74ccdff0032cccd03ff011a199af8
+c6158bff003ab334ffffe41999ff003a6664ffffca3333ff0027e66808ffffee999a
+8005ff0021cccd5cff000e8000ffffdbcccc8bffffd5199c8bffffedb330fffffd4c
+cdffffec8000fffffb1999ffffe9e668ffffef666740ffffe9cccc66374308ff000c
+cccc8105ff006f4cccff003eccccff0039199aff00534cce8bff0057e666080efb7c
+f800a2f768a07aad12ff015d3334ff0033199813b0ff00f4e666f8de15ff0009e667
+ff002cccccff00079999ff00063334fffff3cccd8b0813d0ffffee666784ffffd04c
+cc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014cccd8a05
+ff00084cccff0004cccdfffffd3334fffff319981f8bfffff8999cfffffe6667ffff
+f56664fffffc9999fffff0b33408ffffe24ccdfb1a05fffffb4ccd76fffffe666688
+ffffe74ccd88fffff6cccdfffffeb33488ff00006666fffffee666fffffae6660887
+7905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff0000e666
+8ffffffd33338c898b08fffff533338c05fffff34ccdff0000ccccfffff84ccdff00
+02b3348bff000c80008b8eff00006666ff0003b3348cff00044ccc08ff001fb333f7
+230513b0ff00181998a2ff0019e668a1a08bff00184ccc8bff000f3334fffff59998
+8bffffe2e6688b83fffffeccccfffff68000fffffd999a8008ffffe56666fb0c05ff
+fffae66674fffffa800089ffffea999a8908fffff4cccc8a05888bfffffe4cce88ff
+ffff999a89088779058bff002733328ca4a3ff0025ccce8a8b1e8f9d05ff00024ccc
+ff000a6666ffffde8000fffff633348bff001566668b8eff00008000ff0003999a8c
+ff0004666608ff001cccccf716058eff000d9998ff00018000ff000bb3348bff000a
+4ccc8bff00286668ffffe9999a9bffffdb4cce8b678bffffd74ccc68ffffee33337a
+080efb92fb09a3f7ada301f758f75015f8c50a44fbc515f8c60a0efb92fb03a801c0
+f75903f73bf72515978b8b82846b086efb160580586b8863898483887c8e85a98cab
+8bae8bac8b9f8ba98a91928e998993698d778e96be08c0f783058790838985885970
+6f7f587a887f8b829285a6949f91988b080efb92fb04abce77f76ba901d8bf03edf7
+0315f8cb0a0efb92fb0aa9f71ca6f6a912dabfff0051199aff003f6666ffffc88000
+ff003c4ccc13f4f770ff009c999a158bffffe7e666fffff0e666ffffeb8000fffff1
+6667fffff38000fffff0cccd7effffec1999fffff7999affffe8cccdfffffce66686
+82887f8f85938c908c928b0813f8ff00156666ff002ab334fffffce666ffffd7199a
+1f8bffffe26666fffff09999ffffe63334fffff3199a7effffebcccdffffebb333ff
+ffe5e666fffffab333ffffed80008b6b8b84928896889782907d8b7f8b7d82887eff
+ffffb333fffffe6666ffffffcccdfffffe999a8bfffffe800008ffffe38000ff003e
+cccd81ff0018b3331eff002cb3338bff00294ccdff000e6666ff001e4ccdff0018b3
+34ff001b4ccdff00163333ff0016e666ab8bff002acccd8bff002b8000ffffdd4ccd
+ff0014ccccffffe43333ff0002999a0813f4ff00233333ff0011199aff00201999ff
+001880008bff002666668bff001db333ffffe4ccceff00114ccdffffd1e6668b348b
+665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08ff000e199aff0011e666ff
+fff9cccdffffeccccd1f0efb92fb03a8d1ad01ff0028ccccff00fc333303f76cf736
+15b00a5ffb5a1582627d8863898483887c8e85a98c998bae8ba98b9c8ba98a91928e
+998993ffffda199aff00023333fffff51999ff00086667ff0007cccdff0023666608
+90a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a827d7f80815f625357
+5e55868687858785fffffe199afffffc3333fffffcb332fffff980008bfffffa3333
+08fffff9999a8ffffffa8000ff000e33341ef70a060efb92fb09a6f739a6d1ae01ff
+00cce666ff0039199a03ff00cce666ff00156666158bffffdf999afffff6999affff
+e4999afffff1cccd77fffff2800078ffffec3333fffff36666708b758b8292849485
+9384927e8b08fffff64cccffffee6667fffff7199a7cffffe9e666ff0035b3337fff
+0020999a1fff0020e6668baa97ff0018e667ff0013199aff0020b333a4ff00188000
+ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024b333ffffbe80008b7d
+8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a18bff003099
+9a8bff000b4cccffffe5199a8bffffe54ccc080efb92fb09a3f729a3f7059e01ff00
+253333ff00336666ff0077e667ff0038999a03ff00d08000ff00074ccd158bffffe1
+999afffff73333ffffe4199afffff2b333ffffed999afffff5b334fffff1b333ffff
+f0e666fffff6b333748bffffe980008bffffe5199aff000ecccd8bff003133338bff
+00104ccd8fff001dcccdff00066666ff000fe666a49ca291998bff0026cccd8bff00
+08b333ffffe680008bffffe8cccd08ff000b4ccdffffa44ccc15ff001e199aff001a
+6666ff000f3334ff001a4ccd8bff0023cccd8bff001d4cccfffff36666ff002e999a
+ffffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000fffff6b3333d
+ffffb5999affffdfccccffffb7b333fffff5ccce74fffff81999ffffe366668bffff
+e3199a8bffffb8b333c0ffffeacccdff002acccd8bff0024999a8bff001ce66699ff
+00154ccdff0012999a080efb92f73db18b9012d0f78a13a0f728f73d15f8c80a1360
+f8c90a13a0fb42061360f8ca0a0efb92fb09a5f7a9a512ff001ecccdff003280008f
+beff004b9999ff0039e666ffffdd3334ff002f333413f4f756f74e15ff0016199aff
+0012e66680ffffeae6661f8bffffde4ccdffffdd199affffdee667ffffede666ffff
+f6e66608799505ffffe88000ff000e3333fffffbcccdff0010cccd8bff000d4ccd08
+ff00274ccdff001ae666ff000e6666ff001ecccd1e93fb0b15ff0046e666afff0009
+4cceff0019999a8bff001b4ccc08ff0021e667ffffda9999ff00163333ffffd73333
+ffffc78000ffffc1cccdffffdfcccdffffc64ccd1e8bffffe96666ff000b666677ff
+001d4ccdfffff0800008968505ffffd06666ffffe94cccffffc56667ffffdbe6678b
+ffffcb800108ffffcd4cccff003899997eff0027999a1e13f8eaff002fccccff003a
+cccdff002e4ccd1f8bff00179999fffff44cceff00156667ffffe9e666ff000de666
+083b16a57d05ff001780007eff00066666fffff066668bffffefcccd08ffffc8e667
+ffffde999affffe7e666ffffd38000ffffeacccdffffe08000ff0008999aff002133
+331e8bff002b1999ff00366666ff002ae666ff00144ccdff000a3334080efb92fb09
+9ef705a4f728a301ff0037ccccff0037e666ff00774cceff0037999a03ff006fb333
+ff0058e66615ffffffffffff00324ccdff0014e667ff0030cccdff003166668bff00
+16999a8bff001a66667c8bffffcecccd8bffffef3333fffffa8000ffffe4999affff
+fc8000ffffee6666717a74867d8b08ffffd96666fffff74ccdff0019b333ff001733
+331fff004b4ccdff007b199a15ffffaae666ffffd1e666ffffba4ccdffffcbb333ff
+ffe2999aff000c8001ffffd26666ff0049b3331fa48baa9c9d9972515a48fb057808
+877805ff0059199aff0006e666ff00413333ff00248000b6ff002d4ccdff00284ccd
+ff002a8000a3ff002bcccd8bff003ccccd08ff00486666ffffc78000ff0014cccdff
+ffd4e6661e0efb9296b201ff001e6666ff0104999a03ff00b8199abd15ff0017b333
+f6648bffffe84ccd20218bfffff74ccd64f58bffffe8800021b28bff00178000f5f6
+8bff0008999ab2050efb9296b201ff00256666ff00f6999a03f7b0bd15ffff12199a
+8bfffff74ccd64f7828b050efb9288adb1ae01ff00264cccff00fdb33303ff0113e6
+66aa15fb7a8bfffff8666669ff00e5ffff8b05ff0017b334f615ffff1a199a8bffff
+f8333368ff00e5ffff8b050efc00ff0028e666ff0032666603ff0028e666ff000019
+9a158bffffcab333ff00178000ffffcf4ccdc7ffffd2e66608ff001133349505ffff
+dc1999ff0031b333fffff1999aff002100018bff00284ccc8bff0012199aff0002e6
+66ff00139999ff00053333ff00174ccdff00106667d5a8b8ff004ee666ce08fffff3
+66679605ffff9e9999ffffc9b333ffffb733332f8bffff9e6667080efc00ff007de6
+66ff0032cccc03ff00b0b333e215ffffffffffff003ab333ffffe43333ff003a6667
+ffffca3334ff0027e66608ffffee999a8005ff0021cccc5cff000e6666ffffdbcccd
+8bffffd519998bffffedb334fffffd6667ffffec8000fffffb1999ffffe9e666ffff
+ef666740ffffe9cccd66374308ff000ccccd8105ff006f4ccdff003ecccdc4ff0053
+4ccc8bff0057e667080efb92fb09aaf773a312ff0016999aff00353334ffffef1998
+ff0034999aff0066199aff0033800013d8ff003ae666ff0052333315fffff3ffffff
+00084ccdfffff8cccdff000ccccd1eff001a4ccd8b95ff00173333fffffb3333ff00
+0acccdfffff9e666ff0015cccdff001b3334ff00123333ff0028cccc8bff0011999a
+8bff0016999afffffa4ccd8bffffd799998bfffff5cccdfffffe9999fffff38000ff
+fffc999afffff0cccd08ffffc299997c0513e8ffffcc8000fffff3999affffb6b334
+ffffe3e6668bffffc34ccd8bffffdecccdff001ae666ffffeb6666ff0025999a8bac
+8bff0013e66694ff0027b333a9fffffecccd78ff0009999a77a58b9d8bff00159999
+97ff000b00019408fffff999989b05fffffc4cce88fffffa999989878bfffffb3333
+8bfffffd4ccdff0004e6668bff000ab3348bff00094ccc8dff000d8000ff0004199a
+ff0012999a08ff00109999d605ff00033334ff000e8000ff00018000ff000ccccd8b
+ff000b333308ff003d33335fff000e4ccdffffd699991effffd54ccdffffb1e666ff
+ffdb199affffd619991fff0090199affffc8cccd15ffffee80003c05ffffdfb33373
+ffffecb33381768bffffe4b3348bfffff63333ff000d999a8bff0010999a8bff0031
+b332ff00424ccdff0011b334ff003ce666ff000f6666080efb92fb09aaf714a7cda4
+01ff0021199aff0036e666ff0084cccdff0033cccd03ff00d98000d115fb0206ff00
+0b6666a8ff00214ccdb0aa8bff001366678bff00123333fffff766668bffffe0b334
+8bfffff89999fffffee666fffff76667fffffdcccdfffff5e66608ffff7e8000ffff
+a9199a158bff00178000ff0007e666ff001e4cccff00026667ff0005199a08ff00a9
+ffff06ff00028000ff000e999aff0001ccceff000e4ccc8bff000d666708ff002b66
+66ffffee1999ff00214ccd4affffad8000ffffb5e667ffffa1999a32ffffc98000ff
+001e8000ffffd7e666ff004580001eb98baea2ff0021ccccae08ffffef999a9b05ff
+ffe8199a75ffffe74ccc76658bffffec4ccd8bffffdacccd9d8bff0033199a080efb
+92fb09a4f778a401ff0019e666ff003bccccff008bb334ff003db33403ff008d999a
+2f15ffffdf9999ffffe88000ff0019999aff00311999ff00341999ff001ccccdff00
+653334ff003db333ff001f33339dffffdfe666ffffcf199affffb06666ffffd98000
+ffffbc999affffd2b3341fffff8c4cccff004be66615ffffcae667ff001f4ccdffff
+d03333ff0043e667ff00573333ff004acccdff004ecccdff00647fffff0030199aff
+ffebccccff0032999affffb0cccdffff87e667ffffd64cccffff82199affffcccccc
+1e0efb92fb04a3f772a101fffff6b3332b15fffffd199a7eff000066668805ff0012
+33328cff001233348ca28b9b8b9b8bff0013cccc8a08ff0001b3338eff0002999a97
+05ff0001199990ffffffb3338e838bffffee999a8bfffffab333ff00004ccdff000f
+b333ff0011b33308ff00386666c305ff0003333483ff001a33335a8b8bff00046666
+fffff44ccd8bfffffab333ffffeecccd8b828bfffffc999a85fffffeb3338508ffff
+fdcccd81ff000099998905ff000e33328cff002233348ca28b9e8b9d8bff0012999a
+8908ff000199988eff0002e6689805ff0000e6668fffffffe6668f7f8b758bfffff7
+199a99fffff919999908ffffd4199ae1ff0048ffffd805ff0019cccea5ff0006199a
+90a08b978bff000080008dff00014ccc9108ff0002666696ffffffb3348e05ffffea
+cccc8afffff1b3348a778b7a8bfffff04ccc8cffffee33348c08fffffe800089ffff
+fd33337e05fffffeb33485ff0003b3338a918bff001333338bff0000e667fffff7e6
+66fffff66666fffff8199a08ffffc24ccd49ffffe63333c205fffffe7fffff000780
+00fffff8999aff00138000ff0011e6668b948bff000580008dff0001199a9008ff00
+02999997ffffffb3348e05ffffe7cccc8a768b778b738b7b8bffffec33348c08ffff
+fe800089fffffd33337e05fffffee66786ff0001800089978b978bff00094ccd83ff
+00064ccd7f08ff003099992605fffffc4ccd88ffffb41999438b8bffffe6e66774ff
+fff84ccd88788b848bfffffbcccd8afffffe666684080efb92fb09a4cda7f714aa01
+ff00283333ff0033ccccff0084ccceff0036e66703ff005f33337115f70206fffff4
+99996effffdecccd666c8bffffec99998bffffedcccdff0008999a8bff001f4ccc8b
+ff000766678cff00089999ff00023333ff000a199a08ff0081999aff0056cccd15ff
+00000001ffffe8800083ffffe1cccefffffd9999fffffae66608fb3e06fffffd8000
+fffff16666fffffe4ccdfffff1b3348bfffff2999a08ffffd49999ff0011e667ffff
+deb333ccff00528000ff004a199aff005e6666e4ff00368000ffffe17fffff002819
+9affffba80001e5d8bffffdce66774ffffde33336808ff001080007b05ff0017e667
+a1ff0018999aa0b18bff0013b3338bff00254ccdffffede6668bffffcce666080efb
+92fb04a2f766add1a001ffffff199aff011eb33203ff0092199af75015f8cc0a0efb
+87fb04a2f771a1cca10189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2
+f7cea001fffff1199aff00a2e66603ff00506666f74315f8ce0a0e3ffb04a2f76cad
+01f786ff0031e666ff0063199abd03c7f71f15f8cf0a0efb6ffb04a2f768a07aad12
+ff01053334ff0033199813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0e
+fb94fb87a2f700a5f75fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815
+a5f7050513d8f8d50a0efbc8fb0aa4f779a401ff000e3333a1ff00a38000ff001733
+3303ff000e33337915f8d60a0efbf7fb0aaef765a801b0bd03f715f71215f8d70a0e
+fb0ff7a8baf777ae12cde0f7b6a580a513f0f7827b15d38bccc3abce08749205715b
+6771668108a6f72e0591aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c
+8d8b8d8b8d8b9e7c99708b08658b6254716e08898b9cde7c8b05848b848881876f7f
+80866382088c72058f8c8f8b8f8b978b95868b798b878a868a870869fb59055e9b74
+ba8bdb8bac8fb393b8a3f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513
+e89af7307189058b888b898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb
+4d856d896f8b7108fb14c838f7031e0efb0f8aa8f762b2bab2f742b271a712f871a6
+13f4f804f7fb15fb078ba4f722058fa59b91a18b08d106cd8b9e568d4308a68f94f7
+34fb4d8b3d8b0513ec7efb068d8b1f13f4898987790513ec8a868e88908b08a806ae
+9685761f8b868b8589840872fb22358b8464e18b835c358b8464e18b6ffb3605856c
+7a7e638b087106868b87888a860888788c89058be28db2afe8898b1e8d8d8f9e058c
+90888e868b087106687e97a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7
+078b050efb0f7fbd93b2f725b2bab2f746b5019dcf03f737e015888b878b888a0890
+8f05aea2a9b3a0da08f70d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059add
+bdcab78ba08b9780958094819383998ba18b9f998fa3089007a85c95761e588b5d79
+6469525b6d5b7b43082f8b8564e68b835c2f8b8564e58b057e5476515f6384858586
+86876e7d71788775088807809581981e9c8ba3968fa58d95989bab8ba58ba07fa27d
+a47ba67bb08bd18bbdaea5bc088691056d6a52846f8b718b7d937d9678997399518b
+080ef7dd81be59a47aa5f778a9d0ae7da5f731a276a912f830d169d39ec596a096c7
+f700cc87a013387cf5cb1587727c7d678b087306868b89888a8708887a8c89058bdf
+8dabaeda898b1e8d8d8d9c058c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08ae
+f75b0596859487a38bea8bc7b9acc008c18b5bfba405887f8a808b810813903c639e
+7aad1e13303caa8baa97aba208877205958d928b908b918b918b90890813543ca185
+a788aa8bbe8be8a19be58c928c928b918bc557a54ea8639e77958ba78b8f8b8f8c90
+0894beb59bae8b0813543a9f8bbf80952b08a08c93f700057c955d995e8b438b485d
+814e89828a838b848b5bad7bc1730813507cc66fa0748b6b8b878a858a87835d5976
+688b6a8b729c83947c9d87a98ba18b928b918c8f08768a824505139978767e7b8777
+8b7b8b85958ba18b978d9c8fa008b3f779e08b05948b988e8d93088e9d058f898d87
+1e278ba4f71e547a887905814f79685d84929c909c8d9b081311b88d938c958b948b
+c16fd0fb128b768b6b8a5c8808133a7c5f8956887e8b08877a05888b88911e8f8ba1
+8c938b988ba0878b728b888a878b8708d8a8151311b89c919e919b8bbb8bbb7a8b3f
+8b7e8a7d887a792a57623c8b778b818e818d080ef77482a475a378a5f77aaedea5f7
+38a512f827d99ea196c6f700cc88a0133f80f873f844158c968c968b958baa83a57a
+a16bb45390588b2c8b4285788608887a058a878d89908b08a78d058c8c8d8b8e8b9b
+8b90838b7d8b858b858a84083afc580587727c7c668b087406135f80868b89888a87
+08887a05133f808c89058bdf8dabaeda898b1e8c8d05135f808e9c05133f808c8f88
+8e878b0874066c7e949f1f8b8e8c8f8b8f08adf75205c88b8b868d8508c1fb410513
+5f809760aa69ba8b988b9a8e948e089e07898a898b898b6d8b7aac81b00854f74c05
+b199dfbd9deb083b891585657a6c7772726c707c4e8b08738bbaf79e05a1908f8da8
+8bb48bb4788b458b7e8a7c887b08f0fbc2157bfb1405948d938b908b918b908b9189
+08139fc0a185a688ab8bbe8be8a19ae58c928c928b918bc557a54ea8649e76958ba7
+8b8f8b8f8c900895beb59bae8b08139fa09e8bc080952b08a08c93f700057b955e99
+5d8b438b495e804d8a828a838b848b5bad7bc07308139fc0c66fa0748b6b8b878b85
+8a87825d5976698b698b729c83947d9d87a88ba18b928b918c90080e482cb9b0b588
+a7f7f4aee6b2d1a9a57712ccdcf7bad113df80f7f2e4155c646c776a8b5d8b5cb68b
+e78b9c8c9d8fa098d3a3b69da0b3bab58e9f8bba8ba1769e6508f753f774153e8ba1
+f712758b0576827b877987798865857c8b08887205888d898e1eab8f05999382731f
+8b81897d897b088a8afb238b8464f7248b77fb050575986194778b498b5b755c6559
+606c4d7e4187788a798b7a8b2cbc49e78bbe8bb7a9b8b2087c46a38b0513bf80a39d
+c196c795088ca7057c88748b7f8b838b81918a948b8c8a8d8b8d8b948d9a8fa308d4
+f831d98b05fcc4fcda15845df85b8b93b9050efb0f7fb5f755adbeadf764ae12f1ff
+0051b333ffffc63333ff00508000ff0107999aaa13fad5f7c815ff002a666606ffff
+fdb334fffff68000fffffdccccfffff66666fffffe199afffff6199afffffe999aff
+fff8999afffffeb333fffff8999afffffee666fffff8cccc08ffffdacccd8b737289
+82c68b05fffff3999affff70b333ff003a3333ffffa44ccdff007633338bbf8bb69c
+a78999b3aecc9db9086e92056849674a438bffffaecccd8bffffde9999c9ff000e4c
+cdf71708ff00a74ccd8ba4adffff4433338b05ff0001b332ff000a999aff0001e667
+96ff00023333ff000b6666ff0001333391ff00014ccd91ff00014ccd9108ff00cd33
+338ba3ad0513f6ffff23666606ff00206667ff0072999aff003db333ff005d6666ff
+004d80008bd48b9b4b8e4808aa90058bb98dc592b56e89619c578bffff8e4ccc8bff
+ff9b80012dffffd11999fb2908ffffe7199a8b7373050ef8898aa9f7e8adf729a901
+f8c3d7f7eadc03f827f8da15a5ada6a1afa30888980556755c6f5f5a428144723960
+08917705cfa8caa5cb97675b694a69300823fba805816e7a7f698b087006878b8787
+8a8708847af7098d05ac8b9c89de8bf75b8bf723f730aaf7438e9b8c9b8b9a8bf70b
+38e1fb108b08fb1ffb8415b0efa8cba7b9089006f70ebc3d2d1f8b7a8979887972fb
+1e3cfb34fb618b548b818e8b968b8d8c8e8b8e8c918c8e8d8f08f80dfb9315a7b4ae
+e9a8d3a17ea185b28bf7418bf713f7399ef48c948c948b948bcc5eb7398b618b4d7d
+5565086a73636c58fb110844fb46055dfb036b55736c088e7b05f883f8771578fb00
+38fb18fb048b718b7a9477a383847577828908d7f74d05c1f718c8a3b98bbb8bad79
+8b528b838a808980080efb0f8aa5f778a9d2b2b9b3d8a276a912f829d013f2f810f7
+f615715a6075518b788b808e818d0897cd05f748e0158a868a858a848a8188828982
+08fb388b93b905f73ab315fb338b97ce0513f69b919f919b8bb88bb87c904b08f702
+16630686be6ac5fb088b768b6c8a5c880813fa5f8960887e8b08877a05888b88911e
+8f8b978c928b998b9f878b728b888b878a870884654d8b8463c98b835d4d8b8464c9
+8b58fbb60587727c7d668b087e06868b88888a8708897a8c89058bd58dabaed9898b
+1e8d8d8e9c058c8f888e878b0873066d7e949e1f8b8f8b8e8c8f08aef75b05958595
+87a28bec8bc7baacc108bf8b92b2638b05929a8f9a8d9a088cae070ef7247facf783
+a4f713abf784a401f9bcf96a15f8d80af74bf8ca15f8d90a622415f8da0af76efc5b
+15c68bb4a8b0ab0876a1056b6e60767c8b7a8b6f989ad59deac9c4b58b918b998788
+778778898c887f89808f7fa88b08948bac938fa392ac7ab0438b3b8b203976fb0183
+62a94acc8b080ef7247da3f78ea2f715abf784a401f842ae03f9bcf96a15f8d80af7
+4bf8ca15f8d90a622415f8da0af76ffc5d15d28bcaac96c793af63a95ba57b93869a
+8f9f8fa2a0a2a98ba78b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f
+9879b172a37ba876856d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b
+080ede7fb4f8e4b001f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bff
+ffd6199a8bffffde3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f
+333405ff00273334ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a
+943508ab8f058bbf8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb
+3af76c8b08ffffdf999aff023ccccc15ffffa48000fffe27800005ffffd04cccff00
+3b8001fffff53334ff005f9999ff00116666ff005a999aff0015199aff006ae666ff
+0035ccccff0049e666ff0039b334b9080ef7827bb5f844a7c7adbda701f9b0a903f8
+b07b15eb8bd4bcd9e308779a0538385670368bfb148b51f711a6f71db4f768f718b9
+da8bf7008bb54a922e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565
+fb556ffb25dffb25f74f8b08fb72f8d115f8db0afb3a8c15f8dc0a0ef7567ea7f786
+a6f70facf783a401f9bcf96a15f8d80ae8f83f15f8dd0af7abfbc01596c4b5e8cb8b
+b18b8a5d8363836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e1
+9ff294ba80c8318bfb098b35237c3d080ef7567cb2f764bef710acf783a401f9bcf9
+6a15f8d80ae8f83f15f8dd0af7defb6415949f93a08d968d978d9f6a8b698b68785b
+62089b79059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e
+846a967cba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05
+797a7d81838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b
+8b66364965788b808b8a938f9d8d95919c919a080ef7858aa8f78aadf72aa7beb170
+a8c0a712f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a9
+8f0513ef8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513
+ef898b86911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a86
+0887788d89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa
+08b2f75ef7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad
+98b192a28c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb
+6ef78d15f8db0afb3a8c15f8dc0a0e9c46c2a976f886c001f8d6f73d15a2f70d46dd
+25ad5966536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e
+8f0577716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c8670747574
+7d0854bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8b
+affb127b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58b
+ba8bae66a16bbcdcf752b1b0f750080ef7538aa8f7bcb2f793a701f8d8d315856f7a
+7b628b087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90
+888e868b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c9008
+8f9e898c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d
+0862fb67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6764fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334
+ff00076667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199affff
+f87fffffffff999afffff933348b087106868b87888a860888788d89058bf7258dae
+b2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05ff
+fdfe6668fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015
+999afffff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666ff
+fff3999a6efffff8b334080e757fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3
+cff78405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a7589
+6da07ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08
+bdf7350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a
+877887798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b08
+0e757fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff
+008d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b91
+818a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff00
+663333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b
+9c7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d108
+779c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec7
+6e9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db3
+050e797fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080efb847db2f8ada301f76df7d915a3f7100594b9a1
+ceb38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cc
+cc9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e05
+6ffb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef740987692a8f8e2a7
+121360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a6468
+408c8b1e868a8878058a869288908b08a606b48b916986700841fc0f877405898089
+87878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b08
+9006ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999a
+fffdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e
+8d8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b94
+80987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a
+15ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff00
+00999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764
+fffffe8000080ef8007fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f1583
+5ff77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b798186
+72856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745
+fc4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f
+907a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f
+858b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8b
+a0618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08
+aefb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080eea8aa8f7
+94b1f7baa57ba71213d0f8cef87215f8de0afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f8df0a0ef72bfb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef727acd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080eea8aa86f
+a0f79bb1f7baa57ba7121328f8cef87215f8de0add8c1595bd81b46ead64b845904c
+8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668fb
+07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e1898b
+1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408cd
+fb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b999
+f4c4a0f40813a0fffdece668fc5715f8df0a0ef751f7afa37da0f782d98d9f12f0a9
+f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d8159
+83606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b8d
+8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891aba7
+a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b08
+7d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc8d
+9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b089a
+06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a88
+9089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d06
+13bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d9305
+137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb23
+8b8b8d849388908b948b918f8f91088b8becf736bbdc080ef77ef7b9a0f7ae76bea5
+01f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a2
+908ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b
+08bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a
+058bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e
+158b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b7
+898b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f90
+918b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a
+83058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b84
+8b087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d
+848b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d849388
+908b948b908f8f91088b8becf736bcdc080ef7168bb264a8f8d5b39777121340f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513a0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc240613105c8b9094678e7c5573437c6208a786051360aed0a6bed78b08
+f75b06938b8e898a858a868684848408fc81fcb105838387838a8489818f86998b08
+0ef48bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef4b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8db
+1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca61
+ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f705
+bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf8b
+08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf75c
+8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080e5b83a8f74ea7f746a801f7
+33f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f72927
+e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f5e53
+73518b398b58c08fa2080e3ba07601f829c903f8aef84e1594b7689772923ca5b397
+799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd36668
+78ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f727b
+708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000ffff
+b19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608f006
+a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332ff00
+226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa91aa
+84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104cccff00
+036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199affff
+15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff000080
+00ffffffb334ff00008000080e2e8beff7d9f700b87701f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080efb769a7691ef12
+a3f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e47
+8056c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208
+f70f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080efb
+0f9f76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968a
+a28b8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a81
+7f988bca809eec99d18dce99d0080efb9b8aadf872f70c01f763f70b03f763f8cf15
+846aa170ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b
+055d7c6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b
+088306868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e86
+8b0883066a8b849a90a7080eee36a9f71ca6f6a9d2a512f849bfff00511998ff003f
+6668ffffc88000ff003c4ccc13f8f782f8d115ae0af8196b15af0a13fa31fffea899
+9a15f8e00a13fcf8e10a13faf8e20a0eee34a9f71ca6f6a9d4abf79aa912f744bff7
+5fbfff00511998ff003f6668ffffc88000ff003c4ccc13fe00f907f8b115af0a13fe
+802bfffea6999a15f8e00a13ff00f8e10a13fe80f8e20afc0bff015f666615f8cb0a
+0eee35a6f739a6d1aed9a501ff0235e668ff0039199803f782f8d115ae0af8196b15
+af0affff99e668fffe1f666615f8e30a0eee36a6f739a6d1aed8abf7a0a301f7d7c6
+ff00aee668ff0039199803f907f8b115af0afc739115aa0aff016fe668fffe1a6666
+15f8e30a0eee36a6f739a6d1aed1a9f71ca6f6a912f746bfff0051199aff003f6666
+ffffc88000ff003c4cccff00b6999cff0039199813fe40f907f8b115af0affff95e6
+68fffe20666615f8e30a13fec0ffff0d1998ff02123330158bffffe7e668fffff0e6
+66ffffeb8000fffff16666fffff38000fffff0ccce7effffec1999fffff7999affff
+e8cccdfffffce6668682887f8f85938c908c928b0813ff40ff00156666ff002ab334
+fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987eff
+ffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b84928896889782
+907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe80
+0008ffffe38000ff003ecccd81ff0018b3331eff002cb3338bff00294ccdff000e66
+66ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce8b
+ff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fec0f8e40a0eee
+36a6f739a6d1aed9a8d1ad01ff022de668ff0039199803f907f8b115af0affff91e6
+68fffe20666615f8e30afffefc1998ff0218999815b00a5ffb5a15f8c70a0eee35a3
+f729a3f7059ed4a501ff01853334ff00336666ff0077e666ff0038999803f782f8d1
+15ae0af8196b15af0affff948000fffe114ccc15f8e50aff000b4cccffffa44cce15
+ff001e199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccffff
+f36668ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d
+8000fffff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199a
+ffffe366668bffffe3199a8bffffb8b333c0ffffeacccdff002acccc8bff00249998
+8bff001ce66899ff00154cccff0012999a080eee36a3f729a3f7059ecea6f739a6d1
+ae01ff0125e666ff0039199aff00253334ff00336666ff0077e666ff0038999803f9
+07f8b115af0affff938000fffe124ccc15f8e50aff000b4cccffffa44cce15ff001e
+199cff001a6666ff000f3330ff001a4ccd8bff0023cccd8bff001d4cccfffff36668
+ff002e999affffb580008b728b6c7a7a7da3c5bdcef7059e088f9e05ffff7d8000ff
+fff6b3333dffffb5999affffdfccccffffb7b333fffff5ccce74fffff8199affffe3
+66668bffffe3199a8bffffb8b334c0ffffeaccccff002acccc8bff002499988bff00
+1ce66899ff00154cccff0012999a08fffeeb199aff01f5cccc158bffffdf999affff
+f6999affffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64ccdffffee6666fffff7199a7cffffe9e666ff00
+35b3337fff0020999a1fff0020e6668baa97ff0018e666ff0013199aff0020b334a4
+ff00188000ff0022b3328bff002fccce8bff002bb332ffffe48000ff0024b334ffff
+be80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b92a192a1
+8bff0030999a8bff000b4cccffffe5199a8bffffe54ccc080eee34a5f7a9a5d5a512
+ff0180ccccff003280008fbeff004b999cff0039e664ffffdd3334ff002f333413f8
+f782f8d115ae0af8196b15af0afb0cfbd11513faf8e60a93fb0b15f8e70a13fcf8e8
+0a3b16f8e90a0eee36a5f7a9a5cba9f71ca6f6a912f753bfff0051199aff003f6666
+ffffc88000ff003c4cccfffff78000ff003280008fbeff004b999cff0039e664ffff
+dd3334ff002f333413fc40f907f8b115af0afb0dfbcf1513fc50f8e60a93fb0b15ff
+0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda9998ff00
+163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bffffe966
+66ff000b666877ff001d4cccfffff080000896850513fce0ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999aea
+ff002fccccff003acccdff002e4ccd1e8bff00179999fffff44cccff00156667ffff
+e9e668ff000de666083b16f8e90a13fd40fb45ff01f79998158bffffe7e668fffff0
+e666ffffeb8000fffff16666fffff38000fffff0ccce7effffec199afffff7999aff
+ffe8ccccfffffce6668682887f8f85938c908c928b0813fe40ff00156666ff002ab3
+34fffffce666ffffd7199a1f8bffffe26666fffff0999affffe63334fffff319987e
+ffffebccceffffebb332ffffe5e666fffffab334ffffed80008b6b8b849288968897
+82907d8b7f8b7d82887effffffb333fffffe6666ffffffcccdfffffe999a8bfffffe
+800008ffffe38000ff003ecccd81ff0018b3331eff002cb3348bff00294cccff000e
+6666ff001e4cccff0018b334ff001b4cceff00163332ff0016e666ab8bff002accce
+8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a0813fd40f8e40a0e
+ee35a5f7a9a5cfa6f739a6d1ae12ff0122e666ff0039199aff001eccccff00328000
+8fbeff004b999cff0039e664ffffdd3334ff002f333413ff00f907f8b115af0afb12
+fbd01513ff40f8e60a93fb0b15f8e70a13ff80f8e80a3b16f8e90affff2ae666ff01
+736666158bffffdf999afffff6999affffe4999afffff1cccc77fffff2800178ffff
+ec3333fffff36666708b758b82928494859384927e8b08fffff64ccdffffee6666ff
+fff7199a7cffffe9e666ff0035b3337fff0020999a1fff0020e6668baa97ff0018e6
+66ff0013199aff0020b334a4ff00188000ff0022b3328bff002fccce8bff002bb332
+ffffe48000ff0024b334ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb37
+8b55fb239188059b92a192a18bff0030999a8bff000b4cccffffe5199a8bffffe54c
+cc080eee36a5f7a9a5f7f5b18b9012ff0184ccccff003280008fbeff004b999cff00
+39e664ffffdd3334ff002f333413ccf8f3f8b115af0a2bfbcf1513cdf8e60a93fb0b
+15f8e70a13cef8e80a3b16f8e90a13ecfb7ff89a15f8c80a13dcf8c90a13ecfb4206
+13dcf8ca0a0efb65f7d0a501f907f8b115af0afc42b315ae0a0efbae87a5f8a5a601
+f75ff8a3158b878a8589800836fc4a0589828a848885898487848386878983897d8b
+086d8a05888b878b8984088778058bcb8eb3b9d2888b1e8e9e058c8e8a8f858b086d
+8c057e8b848c878e869089918b938c928c928d9308e0f84a058c938c928d928e928f
+9194908e8e938d998b08a906928c8d908b8e088f9dfb0988238e8778058b868d8990
+8a08a806998b93898e8890878d858b82080e4087a5f8a5a301f836f8a3158b878a84
+89810836fc4b0589838a838886898386858586868883897d8b08468c057e8b838c88
+8e859089918b938c928d928c9308e0f84a058c938d928d928d928f9194908e8e948d
+988b08d106988b92898f8890878d858b8208fb6a168a878b8589800835fc4a058a82
+89848985888487848386878983897d8b086d8a05888b878b8984088778058bc88eb7
+1ef7738a05b9c8898b1f8f9d058c8f8b8e848c086e067e8b838d878e869088918c92
+8c928c928d9308e0f84b058c928d928d928d928f9193918f8e948d988b08a906918b
+8d908c8e088f9dfb0189fb738b238e8778058b868d89908a08a806998b93898e8890
+878e858b82080ef7208aa3f8a4a301f90df8a3158b878b8588800836fc4b0589838a
+8389868883878583868888838a7d8a08438c057e8b848c878e859089918c938c928c
+928c9308e1f84a058c938d928d928c92909193908f8e938d988b08d306998b92898e
+8890878e858a8208fb6c168b878a8589800835fc4a058a8289848985888487848486
+878982897d8b0847067e8b848c878e869089918b938c928c928d9308e0f84a058c93
+8c928d928e928f9194908e8e938d998b08cf06988b94898e8890878d858b8208fb6a
+168b878a8589800836fc4a0589828a848885898487848386878983897d8b086d8a05
+888b878b8984088778058bc78eb71ef84b8a05b9c9898b1f8f9d058f8b8f851e6d06
+7e8c838c888e859089918b938c918d928c9308e0f84b058d928c928d928d928f9294
+908e8e948d998b08a806928c8d8f8c8e088e9efb0088fc4b8b238e8778058b868d89
+908a08a806998b93898e8890878d858b82080ef77b87a5f8a5a601f89ff8bb15b28c
+05928c8c918b8c088f9d888b057f8bfb0189868bfb438df74d8dfb608608fb048e87
+78058b868d89908a08a806a29487771f8b878a8589800836fc4a05846280886f8a08
+6d8a05888b878b8984088778058bd08eb7b9c9888b1e8e9e058c8e8a8f858b086d8c
+057b8c7c8b8ba18c928c928d9308e0f84a0590ae9595a98b08bc069e8b998a917408
+d3fc91058d7b9184958b968b9592939b08f7a3f87b0598a48e9fb78c089e8c05928b
+8e8e8c90088e9d898b05838b4689898b808b2f8d878b08898b8a89887a058a888c88
+908a08a88a05ab8b9389877b8b8b897a858208fb68fc0758f807058a938b918a9308
+a19d8b991e0e9f9b76f8c1a501f7cd9d15f7a3f87b0590958f928e918d9091929892
+908e938c998b089d8c058e8b8d8b8c8c8e8d8d8c8c8f088d9b8c8d888b05848b4689
+888b808b2f8d888b08888906887a058a888b88908a088c8ba88a05a08b95898d898e
+878c878a858b8a8a898b8a89868c84858108fb68fc0758f807058a938a918b938b8d
+8b8c8c8d8c908c8f908f8e8e928c998b08b28c058e8b8e8d8c8f8b8b8b8a8c8e088e
+9b8b8d898b057e8bfb0189878b818b328d888b08888906887a058a888c898e8a8c8a
+8d8b8d8b089f8a05978b948a908893868e858e82088e75cffc7b058e7b9084968b96
+8b9592939b080ef78687a5f8a5a501f970f8a3158b878a8489810836fc4b0589838a
+8389868883878584868788828a7d8a086d06888b878a8985088778058bc88db7b8d2
+898b1e8f9d058b8f8b8e848c086e067d8c848c888e859089918b928c928c928d9308
+e0f84b058c928d928d928d928f9193918f8e938d998b08a906928b8d908c8e088e9d
+fb0989fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b9489
+8e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b
+920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b8d898b057e8b
+fb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05
+978b948a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3
+f87b058f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d
+858b82080ef85c89a3f8a5a301f970f8a3158b878a8489810836fc4b0589838a8389
+868883878584868788828a7d8a086d06888b878a8985088778058bc88db71ef77306
+b8c9898b1f8f9e058c8e8a8f858b086d8c057d8b858c878e869088918c938b928d92
+8c9308e1f84a058c938c918e938c928f9194908f8e938d998b08a806928c8e908b8e
+088f9dfb0188fb738bfb458b05808b2f8d888b08888906877a058b888b88908a08a9
+8a05a08b94898e898e878c878a858a8a8b898a8a8a868b84868108fb68fc0758f807
+0589938b928b920890078c908d8f908f8d8e938c998b08b18c05918d938b1f8f9b8b
+8d898b057e8bfb0189878b818b328d888b08888906877a058b888c898e8a8c8a8d8b
+8d8b089f8a05978b948a908892868f858e82088e75cffc7b058e7b9084968b958b95
+92949b08f7a3f87b058f9590928e918d9091929792908e948c998b08c48c05988b93
+898e8890878d858b8208f76b168a878a8489810836fc4b0589838a83898689838685
+84868788838a7c8a0847067d8c848c888e859089918b928c928c928d9308e0f84b05
+8c928d928d928d928f9193918f8e938d998b08d006998b92898e8891878c858c8208
+0ef91d89a3f8a5a3011c0474f8a3158a878a8489810836fc4b05898389838a868883
+878583868888828a7d8a0853067e8c848c878e869088918c928b928d928c9308e0f8
+4b058d928c928e928d928f9193918f8e938d998b08c206998b93898e8891878c858c
+8208fc2c168b878a8489810836fc4b0589838a8389868883878584868788828a7d8a
+086d06888b878a8985088778058bc88db71ef7618bf75d8b05b9d2898b1f8f9d058b
+8f8b8e848c086d067e8c848c878e869089918c928b928d928c9308e0f84b058c928d
+928d928d928f9193918f8e938d998b08a906928d908e1f8f9dfb0989fb5d8bfb628b
+fb458b05808b2f8d888b08888906877a058b888b88908a08a98a05a08b94898e898e
+878c878a858a8a8b898a8a8a868b84868108fb68fc0758f8070589938b928b920890
+078c908d8f908f8d8e938c998b08b18c05908e938b1f8f9b8b8d898b057e8bfb0189
+878b818b328d888b08888906877a058b888c898e8a8c8a8d8b8d8b089f8a05978b94
+8a908892868f858e82088e75cffc7b058e7b9084968b958b9592949b08f7a3f87b05
+8f9590928e918d9091929792908e948c998b08c48c05988b93898e8890878d858b82
+08f762168b878a8489810836fc4b058983898389868983868584868788828a7d8a08
+50067d8c848c888e859089918b928c928c928d9308e0f84b058c928d928d928d928f
+9193918f8e938d998b08c706998b92898f8890878d858b82080ef7ac88a5f8a6a501
+f8b7f7ac15fb4ffb6605828184838787848381858086848883897d8b708a7b89718d
+7e8b848c878e869089918b93088c928c928d9308e0f84a058c938c928d928e928f91
+94908e8e938d998bb48b818e988a08938a05988a958a90889487928491828f858e84
+90830877fc4b15f72ff743e4fb430591828e838d878d878b878a878b898a898a898b
+8a8a8b8b8b8989848a808b08658a05898b8a8a898a8b898a8a8b8908887b8b888d8b
+05988cf7038d8f8b948bdd888f8b088d8b8c8e8e9b058c8e8a8d898b898c898b868c
+08858c057b8c828c878d81918591869386958792889008fb0ff784f742f758059292
+91939291939394929790918e958d988b08a58c058e8b8e8b8d8c8e8c8d8d8b8e088e
+9b8b8e898b05828a3689888b818b358e888b08898b8a88887b8b8705898c8a8d1eac
+8a05998b90898c89088c068c898b8a8a888a888a87878689888684818008fb24fb35
+39f73505869687918a8f8a8f8a8f8c8f8c8d8b8d8d8d088c078e8c918d978b08b38c
+058d8b8d8c8c8d8c8c8b8c8b8d088f9b8b8e898b057e8afb0089868bfb4b8df74c8d
+fb6d8608238e8778058b868d89908a08a806998b93898e8890878d858b828b878a85
+89800836fc4a0589828a848885898487848386878983897d8b086d8a05888b878b89
+84088778058bc78eb7f750978c8b1e968beb888e8b088e8e068e9b058c8d8b8d8a8c
+8b8c8b8b888c08698c057d848d8d1f8a8c8a8d8c8e8c8e8d8f8e9090929293919108
+0ec788a6f8a5a501f74ece15ff009a999aff00ae8000ff00596666ffff5180000590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8b958bdd888e8b088e8e068f
+9b058e8a8d891e898c898b878c08848c057c8c818c878d8291849186938695879288
+9008ffff85ccccff00ef6666ff00ae3334ff00c4999a059192929392919293949297
+90918e958d998b08a58c058e8b8d8b8e8c8d8c8d8d8c8e088e9b8b8e898b05818a37
+89878b818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a05998b
+90898c898c898b8a8b888a888987888689888584818008ffff713334ffff5ee666ff
+ffadccccff00a1199a05859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c
+8d8c918d988b08b38c058d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb01
+89878b818b328e888b08888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a
+958a908894879184918290858e848f8308ff0073e666ffff1dccccffff46199affff
+2e333405818185838787838382857f86858882897d8b08738a05888b898b8a8a878a
+8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b088d8b8c8e8e9b058b8d
+8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d8b8e8c8e8d8f8e909192
+91939291080ef79888a6f8a5a501f89fd115f8ea0afbe58815f72ef743e5fb430590
+828e838d878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a
+898a8b898b8a8a8908897b8a888e8b05978cf7038d8f8bf74489428dd68b08b8d289
+8b1f8e9d058c8f8a8e858c086e067e8c838c878e869089918b928c928c928d9308e0
+f84b058c928d918d938d92909192918f8e948d988b08a906928d908e1f8f9dfb0989
+fb588a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a0599
+8b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f735058596
+88918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c058d8b
+8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b088888
+06887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a90889487918491829085
+8e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b0873
+8a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb888f8b
+088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c8b8d
+8b8e8c8e8d8f8e90919291939291080ef8708ba3f8a5a501fa5bf8a5158b878a8489
+810836fc4b05898389838a868883868584868788838a7d8a0845067e8c838c878e86
+9089918b928c928c928d9308e0f84b058c928d918d938d92909192918f8e948d988b
+08d106998b93898e8890868d868b8208fda1fc6215f72ef743e5fb430590828e838d
+878d878b878b87088885058a8a8b8b1e8989848a808b08658a05898b8a8a898a8b89
+8b8a8a8908897b8a888e8b05978cf7038d8f8bf744894b8dd68b08f76306b8d2898b
+1f8e9d058c8f8a8e858c086e067d8c848c878e869089918b928c928c928d9308e0f8
+4b058c928d918d938c92909193918f8e938d998b08a906928d908e1f8f9dfb0989fb
+638bfb618a05818b368e888b08888806887b058a8a8b898b8a8c898b8a8e8b08ac8a
+05998b90898c898c898b8a8b888a888987888689888584818008fb23fb3539f73505
+859688918a8f8a8f8a8f8c8f8b8d8c8d8c8d8c8b8b8b8b8c8d8c918d988b08b38c05
+8d8b8c8c8c8d8c8c8b8c8c8d088e9b8c8e888b057f8afb0189878b818b328e888b08
+888806887b058a888d898d8a8c8a8d8b8f8b08938a05988a958a9088948791849182
+90858e848f8308f708fb76fb4efb6605818185838787838382857f86858882897d8b
+08738a05888b898b8a8a878a8a8a8a8708887b8a888e8b05938cd48d8e8b968beb88
+8f8b088d8b8c8e8e9b058b8d8c8d8a8c8b8c8b8b888c08688c057d8b858d8a8d8a8c
+8b8d8b8e8c8e8d8f8e9091929193929108f7e58e15f8ea0a0e6589b660a4f8a5a512
+f88fa21370f759f88e1536fc49058983898389868983868583868888838a7d8a086d
+8a898b05878b89898a8708877a8b898d8bf8568b8d8b8c8dbef73a8c8e888b798b89
+8b8b89057c6f796e736c7f7c7f807b840813b08387818a808b08fb568be5f865058c
+938d928d928d92909193908f8e938d988b08a98c8e8b058e8c8d8d8c8e088b8c8c8c
+1f8e9a8b8e898b057f8a2789888b7f8b2d8e878b08898b8a88887b058a868e898e8b
+088d8ba88a05988b93898e8890878e858b82088a878b858980080ea67fb4f896b001
+f8e7aa03f7d77f15e78be2bbe1e408779a05343d4b6a358bfb248b6af72da4f713af
+f74bf716bed68bf7108bb43a953508aa90058bbe8bbb93c2528f72b4fb058bfb258b
+fb3ffb0768fb436dfb31c7fb25f7618b080eea89a8f89cac71a51213c0f7acf8b315
+a58da98dac8bd58ab677b45dc44c995973fb0f7a31635f475d65705e813f8b5e8b67
+8f709208fb337615887a8b898d8bf7b88b05f18bd0a8d8c5c0b3b6cc9ad99ad884b6
+68c353e239bcfb378b0813a0fb668b898b8a88887b058a878d88908b08a98a05988b
+93898e8890868d858b838b878a8589800836fc4b05898389838a8688838685848687
+88838a7d8a086d8a05868b898a8986080ef79288a5f8a5a601f7cef8d715fb278b88
+7805888b87911ea78a059a8b9c8a8a748b838a838a8608fb0efc4a05867488827d82
+888983897d8b086c8a05878b888a8985088778058bc58eb0b0c2888b1e8f9e058c8e
+8a8e848c086e8c057e8b838c888e81958f918fa408f6f818f709fc58058c858e8692
+8b918b928e909308f7bef86266fc22058b878a828982888488848486878983897d8b
+086d8a05878b88898986088878058bcb8eb4b9d2888b1e8f9e058b8e8b8e848c086e
+8c057e8b828d888d859089918b938b8f8a928d9608b7f84a058fab9997a88c08a606
+8e8b8f8c8d92088f9efb138bfbc1fc66050efbbd8aa8f80aa8e7eb01f75bea03f75b
+f8cf15f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d89
+058bcf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b2
+0591a7989bab8b089f068f8b8f8e8c90088f9e898d058b47896467478d8b1e898987
+78058a868e88908b089e06ad8b917b856f080efb108aa8f80aa8e7eb01f75beae6eb
+03f815f8cf15f8ec0afb4e16f8eb0a33fc8715856e7f7c698b087806868b88888a86
+0887788d89058bcf8dae1eff0017cccd8bff0022e666ffffff4ccdff0017999affff
+ff666608ff0000b333ffffff4ccd058b8bff0004cccdff0000199aff00079999ff00
+003333ff0007cccdffffffcccdff0004cccdffffffe6668b8b08ff0000b333ff0000
+b33305ff00171998ff00009999ff00216668ff0000b333ff0015cccc8b08b2cf898b
+1f8d8d8f9e05ff0000199aff0000999aff0000199aff000099998bff0000999a08ff
+0003e666fffffd3332ff00024ccdfffffb999a1e7806ffffe66666fffff5ccceff00
+09999aff0012b3321f8bff0004b334ff00009998ff00053333ff00013334ff0005cc
+cd08c2f7b20591a7989bac8b089e068f8b908e8c90088f9e898d058b4689641effff
+ea80008bffffde3334ff0000b33474ff0000999808ffffff4cccff0000b334058b8b
+fffffb8000ffffffe666fffff88000ffffffcccefffff8999aff00003332fffffb66
+66ff0000199a8b8b08ffffff4cccffffff4ccc05ffffe8999affffff6668ffffdd19
+9affffff4ccc738b0867478d8b1f8989877805ffffffe666ffffff6666ffffffe667
+ffffff66668bffffff666808fffffc1998ff0002cccdfffffdb334ff000466661e9e
+06ff001a999aff00096666fffff63334ffffee66661f8bfffffb199affffff4ccdff
+fffa6666fffffeb333fffff9e66608c1fbde15ffffe5e666fffff63334ff00096666
+ff00124ccd1f8bff0004cccdff00009999ff00056666ff00014ccdff0006199a08c2
+f7b20591a7989bab8b08928b988b918b05ff001b4cccff00093334fffff5b334ffff
+ed66661f8bfffffb6666ffffff8000868afffffa80000853fbb205866e7e7c6a8b08
+848b7f8b050ed68aa8f80aa8e7eb01f75beae9ebf0eb03f8ddf8cf1586709c76a68b
+a58ba5a090a690a579a1718b718b71758671086afb691554fbb205856e7f7c698b08
+7a8b898b7a8b056a8b849a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b
+917b856f08fb38f76915f8ec0a6afb691554fbb205856e7f7c6a8b08818b818b828b
+056a8b849a91a808c2f7b20591a7989bab8b08958b958b948b05ad8b917b856f08fb
+30f76915f8eb0a6afb691554fbb205856e7f7c698b087806868b88888a860887788d
+89058bcf8dae1eff0018cccd8bb0ffffff3333ff00179999ffffff666708ff000099
+9affffff6666058b8bff0004199aff0000199aff0006ccccff00003333ff0006e667
+ffffffcccdff00043333ffffffe6668b8b08ff0000999aff0000999a05ff0017199a
+ff00009999ff00238000ff0000cccdff0016cccc8bff001be6668bff002a999a8aff
+0016199affffff666608ff00006666ffffff999a058b8bff0002999aff0000199aff
+00046666ff00001999ff00046666ffffffe667ff0002999affffffe6668b8b08ff00
+006666ff0000666605ff0015e666ff0000999ab58cff0019b3348b08b2cf898b1f8d
+8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f
+8b908e8c90088e9e898d058b4789641effffe666688bffffd6b3308cffffea4cd0ff
+0000999a08ffffff9998ff00006666058b8bfffffd6666ffffffe666fffffb8000ff
+ffffe666fffffb999aff0000199afffffd8000ff0000199a8b8b08ffffff999affff
+ff999a05ffffe9b332ffffff6666ffffd4999a8affffe4199a8bffffe9999a8b67ff
+0000cccc74ff0000999a08ffffff6666ff0000999a058b8bfffffc199affffffe666
+fffff96666ffffffcccefffff98000ff0000333287ff0000199a8b8b08ffffff6666
+ffffff666605ffffe8b334ffffff666666ffffff3334ffffe6e6668b0867478d8b1f
+89898778058a868e88908b089e06ad8b917b856f080ef721947696a8f80aa8e7eb12
+f75bea1338f75bf8cf1586709c76a58ba68ba5a08fa691a579a1718b08708b727586
+71086afb691554fbb2051378856e7f7c698b087806868b88888a860887788d89058b
+cf8daeb2d0898b1e8d8d8f9e058c90878e878b0878066a8b849a91a808c2f7b20591
+a7989bab8b089f8bff000066668bff0000999a8b05a88b9e7f92670813b8d0fbed05
+8e7c9085988b958b9491949c08f760f7e705a3b2a598a88b918b918f8c90088e9d89
+8d058b61897166528d8b1e8789877705888d87901e8f06ad8b9585897c8984868284
+8008fb17fb6f716083b95ff76e05889989938c928d959591a08c089c068d8b928c8c
+92088e9e888d058b4e89631effffe7e6668bffffdeb3348cffffeeccccff0000999a
+08ffffff999aff00006666058b8bfffffdb334ffffffe666fffffc1998ffffffe666
+88ff0000199afffffe3334ff0000199a8b8b08ffffff8000ffffffb33405ffffeae6
+66ffffff6666ffffd2b334fffffee666ffffe2e6668b0867478d8b1f89898778058a
+868e88908b089e06ad8b917b856f080e4c9476f832a801f82cf82615ad8b9585887c
+8a848682848008fb17fb6f716083b95ff76e05889989938c928d9595919f8c089c06
+8e8b918c8c92088f9e878d058b4e896469568d8b1e88898777058a869089908ba88b
+9e7f926708d0fbed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b92
+8b908f8c90088f9d888d058b62897166528d8b1e87898777058a888d87908b080ef7
+00947696a8f80aa6e9eb12f8feea1338f8fef8cf15f8ed0a6afb691554fbb2051378
+856e7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e
+058c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e
+8c90088f9e898d058b4789641effffed66688bffffe4e664ff00008000ffffea199c
+ff0000800008fffffe99988c058b8bfffffab334ffffffb33483ffffffb332fffff3
+1998ff00004ccefffff73334ff00004ccc8b8b08fffffe9998fffffe999a05fffff5
+999cffffffb332fffff4e666ffffffb334fffff6e6668b0866528d8b1f8789877705
+8a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083b95ff76e05
+889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e896469568d
+8b1e88898777058a869089908ba88b9e7f92670813b8d0fbed058e7c9085978b968b
+9391959c08f760f7e705ff0017e666ff0026ccccff0018ccceff000d199aff001ccc
+ccff0000199aff00209998ffffffccccff0006e668fffff0199a85ffffe4199a080e
+f7d5947696a8f80aa8e7eb12f910ebedea133cf9d2f8cf15f8ed0a6afb691554fbb2
+05137c856e7f7c698b087d8b868b7d8b056b8b839a91a808c2f7b20591a7989bac8b
+08998b908b998b05ac8b927b856f08fb35f76915f8ec0a6bfb691553fbb205856e7f
+7c6a8b087806868b87888a860887788d89058bcf8daf1eff001a99988bff0028199c
+ffffff199aff0016ccccffffff666608ff00008000ffffff8000058b8bff00033334
+ff0000199aff00054cccff00001999ff00056668ffffffe667ff00031998ffffffe6
+668b8b08ff00008000ff0000800005ff00168000ff0000999aff00273334ff0000e6
+66ff0017cccc8b08b2d0898b1f8d8d8e9e058c90888e878b0878066a8b849a90a808
+c3f7b20590a7999bab8b089e06908b8f8e8c90088f9e898d058b4789641effffe7cc
+cc8bffffd98000ff0000e666ffffe93334ff0000999a08ffffff8000ff0000800005
+8b8bfffffc9998ffffffe666fffffa4cd0ffffffcccefffffa6664ff00003332ffff
+fcb334ff0000199a8b8b08ffffff8000ffffff800005ffffe8ccccffffff666663ff
+ffff199affffe5b3348bffffe7e6688bffffd83330ff0000e666ffffe9999cff0000
+999a08ffffff4cccff00008000058b8bfffffdb334ffffffe666fffffc3334ffffff
+cccefffff9ccccff00003332fffffc4cccff0000199a8b8b08ffffff4cccffffff4c
+cc05fffff1b334ffffff6668ffffeb6668ffffff4cccfffff099988b0866528d8b1f
+87898777058a888d87908b089006ad8b9585887c8a848682848008fb17fb6f716083
+b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e878d058b4e
+896469568d8b1e88898777058a869089908ba88b9e7f92670813bcd0fbed058e7c90
+85978b968b9391959c08f760f7e705a3b2a498a88b089c06ad8b917b866f080ef89c
+947696a8f80aa8e7eb12f90eeae9ebf0eb133efa90f8cf1586709c76a68ba58ba5a0
+90a690a57aa1708b08718b71758671086afb691554fbb205137e856e7f7c698b087a
+8b898b7a8b056b8b839a91a808c2f7b20591a7989bac8b089c8b8d8b9c8b05ad8b91
+7b856f08fb38f76915f8ec0a6bfb691553fbb205856e7f7c6a8b08818b828b818b05
+6a8b849a91a808c2f7b20591a7989bac8b08948b958b948b05ad8b917b866f08fb31
+f7691586709c76a58ba68ba5a08fa691a579a1718b718b71758671086afb691554fb
+b205856e7f7c698b087806868b88888a860887788d89058bcf8dae1eff0018cccc8b
+b0ffffff3333ff0017999cffffff666708ff00009998ffffff6666058b8bff000419
+98ff0000199aff0006ccd0ff00003333ff0006e664ffffffcccdff00043334ffffff
+e6668b8b08ff00009998ff0000999a05ff0017199cff00009999ff00238000ff0000
+cccdff0016cccc8bff001be6688bff002a99988aff00161998ffffff666608ff0000
+6668ffffff999a058b8bff00029998ff0000199aff00046668ff00001999ff000466
+68ffffffe667ff00029998ffffffe6668b8b08ff00006668ff0000666605ff0015e6
+64ff0000999ab58cff0019b3348b08b2cf898b1f8d8d8f9e058c90878e878b087806
+6a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e8a8d058b46
+89641effffe666688bffffd6b3308cffffea4cd0ff0000999a08ffffff9998ff0000
+6666058b8bfffffd6668ffffffe666fffffb8000ffffffe666fffffb9998ff000019
+9afffffd8000ff0000199a8b8b08ffffff9998ffffff999a05ffffe9b334ffffff66
+66ffffd4999c8affffe419988bffffe999988b67ff0000cccc74ff0000999a08ffff
+ff6668ff0000999a058b8bfffffc1998ffffffe666fffff96668ffffffcccefffff9
+8000ff0000333287ff0000199a8b8b08ffffff6668ffffff666605ffffe8b330ffff
+ff666666ffffff3334ffffe6e6688bffffe84ccc8bffffda6668ff0000e666ffffe9
+1998ff0000999a08ffffff3334ff00008000058b8bfffffd4cccffffffe666fffffb
+8000ffffffcccefffff8b334ff00003332fffffb8000ff0000199a8b8b08ffffff19
+98ffffff199a05fffff1e668ffffff8000ffffed4cccffffff6666fffff1b3348b08
+66528d8b1f87898777058a888d87908b089006ad8b9585887c8a848682848008fb17
+fb6f716083b95ff76e05889989938c928d9595919f8c089c068e8b918c8c92088f9e
+878d058b4e896469568d8b1e88898777058a869089908ba88b9e7f92670813bed0fb
+ed058e7c9085978b968b9391959c08f760f7e705a3b2a498a88b089a06ad8b917b85
+6f080ef7058aa8f80aa8e7eb01f75bea03f86bf826159b068f8b8f8e8c90088e9d89
+8efb0389ffffc16666ff0001999affffff999aff00006666058b8bfffffd3334ffff
+ffe666fffffb3332ffffffe66608fffff7999aff00003334ffffffb334ffffff999a
+05ffffe96666ffffff6666628affffe4e6668b0867478d8b1f89898778058a868e88
+908b089e06ad8b917b856f0854fbb205856e7f7c698b087806868b88888a86088778
+8d89058bcf8dae1eff0019cccd8bb2ffffff199aff00176666ffffff666608ff0000
+cccdffffff8000058b8bff0002cccdff0000199aff0004b333ff00003333ff000719
+9affffffcccdff00046666ffffffe6668b8b08ff0000cccdff0000cccd05ff000fb3
+34ff0000999aff0015e666ff0000999aff0010999a8b08acbe898b1f8d8d8f9e058c
+90898e868b087e06698b9d9ea0a308dbe60596978d8b918108b63b059f659479678b
+087f06868b88888a860887788d89058bca8db4aec0898b1e8d8d8f9e058c91868d82
+8b6b8b7e8c69cc084bf7130588918a8e919108f4f605b9ba9c97b08b928b918c8c92
+088f9e8a8d058b59896b6d5b8d8b1e88888878058a868c89908b089b06a78b847b71
+6e083830058181868d87950860e505839c89958c908d928f909f8b08fba4f73d15f8
+eb0ab1fcb3157a066a8b849a91a808c2f7b20591a7989bab8b089f8bff000066668b
+ff0000999a8b05af8b98739f6208c9fb13058e868b8686860822fb00055755738673
+8b080e528aa8f80aa801f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d88
+888878058a879188928bae8b99739f6208c9fb13058d868b8687860822fb00055655
+7386748b828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e
+868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06
+858b89888a860887788d89058bca8db4adc1898b1e8c8d8f9e058c91878d828b6a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b918b928c8c92088f9e
+898d058b5a896b6c5c8d8b1e88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b080ef70a8aa8f80aa8e7
+eb01f8ffea03f7a7f826159b068e8b8f8e8c90088f9d888efb02893c8d8888887805
+8a879188928bae8b99739f6208c9fb13058d868b8687860822fb000556557386748b
+828b8687898508887a8d89058bb98da8acbe898b1e8d8d8e9e058c908a8e868b087d
+066a8b9c9ea0a308dce60596978d8b908108b63b05a0659479678b087f06858b8988
+8a860887788d89058bca8db41eff0011199a8bff0016199affffff8000ff0011cccc
+ffffff8000088c8a058b8bff00068000ff00003333ff000a199aff00004ccdff0008
+3332ffffffb333ff00053334ffffffcccd8b8b08ff00006666ff0000cccd05ff0016
+999aff0000999aff001e4cccff0000999aff0013b3348b08b2d0898b1f8d8d8f9e05
+8c90878e878b0878066a8b849a90a808c3f7b20591a7989bab8b089e06908b8f8e8c
+90088f9e898d058b4789641effffe899988b66ff0000cccc74ff0000999a08ffffff
+6668ff0000999a058b8bfffffce668ffffffe666fffffab330ffffffcccefffff8cc
+d0ff00003332fffffb9998ff0000199a8b8b08ffffff3334ffffff333405ffffeee6
+64ffffff6666ffffe7999cffffff6666ffffed4ccc8b086c5c8d8b1f88888778058a
+868d89908b089a06a88b847b716e083730058281868d87950860e505839c89958c90
+8c9290909f8b08f7ecf73d15f8ee0a6afb691554fbb205856e7f7c698b0884066a8b
+7e8c6acc084bf7130588918a8e919108f4f605b9ba9c97b08b089b06ac8b927b856f
+080ef7cb8aa8f80aa8e7eb01f901eaebeb03f7a7f826159b068e8b8f8e8c90088f9d
+888efb02893c8d88888878058a879188928bae8b99739f6208c9fb13058d868b8687
+860822fb000556557386748b828b8687898508887a8d89058bb98da8acbe898b1e8d
+8d8e9e058c908a8e868b087d066a8b9c9ea0a308dce60596978d8b908108b63b05a0
+659479678b087f06858b89888a860887788d89058bca8db41eff0011b3348bff0017
+4cccffffff6666ff0012199affffff800008ff0000e666ffffff199a058b8bff0006
+199aff0000199aff00096666ff00004cccff0007b334ffffffb334ff0004ccccffff
+ffe6668b8b08ff00006666ff0000cccd05ff0016ccceff0000999aff001f8000ff00
+00999aff00144ccc8bff001999988bff00266668ffffff199aff00178000ffffff66
+6608ff00008000ffffff8000058b8bff0003b334ff0000199aff00063334ff000033
+33ff00064cccffffffcccdff0003ccccffffffe6668b8b08ff00009998ff0000999a
+05a2ff00009999b0ff0000cccdff001766688b08b2cf898b1f8d8d8f9e058c90878e
+878b0878066a8b849a91a808c2f7b20591a7989bac8b089e068f8b908e8c90088e9e
+8a8d058b4689641effffe84ccc8bffffdaccccff0000e666ffffe96668ff0000999a
+08ffffff8000ff00008000058b8bfffffc6668ffffffe66685ffffffcccefffffa19
+98ff00003332fffffc8000ff0000199a8b8b08ffffff8000ffffff800005ffffe8e6
+68ffffff6666ffffd96664ffffff199affffe633348bffffe7cccc8bffffd98000ff
+0000e666ffffe93334ff0000999a08ffffff8000ff00008000058b8bfffffd3334ff
+ffffe666fffffb3334ffffffcccefffff98000ff00003332fffffc1998ff0000199a
+8b8b08ffffff4cccffffff4ccc05ffffeeccccffffff6668ffffe64cceffffff4ccc
+ffffec999a8b086c5c8d8b1f88888778058a868d89908b089a06a88b847b716e0837
+30058281868d87950860e505839c89958c908c9290909f8b08f7eef73d15f8ee0a6a
+fb691554fbb205856e7f7c698b0882066a8b7e8c6acc084bf7130588918a8e919108
+f4f605b9ba9c97b08b089d06ac8b927b856f08f774f7691586709c76a68ba58ba5a0
+90a690a57aa1708b718b71758671086afb691554fbb205856e7f7c698b08808b838b
+808b056a8b849a90a808c3f7b20590a7999bab8b08978b928b978b05ad8b917b856f
+080efbb58aa8f8faa9a57701a1f7af03f701d315856e7f7c698b087406868b87888a
+860888788c89058bd48daeb2d4898b1e8d8d8f9e058c90888e868b0874066a8b849a
+91a808f70df906758b0575827c877887798866857b8b08887205888d898e1e958ca1
+8e059f8b927b8052080efb217fb7f80cad01f7fee003f825e6157d9905635e606f60
+8b3e8b5bdca2f709a0f700c9d1cd8bc68b8960886a89729d80a18b9f8ba09a91a808
+95c062bc2b8bfb008bfb002f70fb2272fb15c530f70c8bc78bc0a6c5d7080e647fb5
+88a7f7f4aef75ca9a5771213b8f7f4e4155b646c776a8b558b52c7a5f71799d3a4b6
+9da0b4bab58e9f8bba8ba2769c650854fbb7157b46a28b051378a49dc296c795088c
+a7057b88758b7f8b838b81918a948a928d9b91a908f704f8d6758b0575827c877887
+798866857b8b08887205888d898d1eac8f059f8b927a8053086dfb2d057698619477
+8b498b5b755b6558606b4d7d410813b873fb0fba2ff7018bbd8bb8a9b9b2080ef76f
+8aa8f802bb01f8fdd315856e7f7c698b087806868b88888a860887788d89058bcf8d
+aeb2d0898b1e8d8d8e9e058c90888e878b0878066a8b849a90a808b3f764059de48b
+d4338b558b5571464f8db871b4548b4d8b5a66525908888b9fe27c8b05838b84887f
+866d7d7d874a80088a6f059d8f978c988b998b93878052085afb8d05866e7e7c6a8b
+087806868b87888a860887788d89058bcf8dafb2cf898b1e8d8d8f9e058c90888e86
+8b0878066b8b839a91a808bbf78c05c4bcb1a4ae8bb08ba0707e48085ffb7805856e
+7f7c698b087806868b88888a860887788d89058bcf8daeb2d0898b1e8d8d8f9e058c
+90878e878b0878066a8b849a91a808b3f765058e998d998c97c6c0ae9fb38bb18b9f
+727e48080ef8ce89a8f8deac01f9baf91a15fb7906fbc68bfb13fb5e70fb1e65fb5b
+f700fb01f75a8b08f7fd06f7598bf72cf701b1f75ba2f70975f76cfbdc9208fb4ffc
+f51588918c978e9908edf88d058e9c90979191a38ea68ca88bf70b8bf7314a58fb9e
+64fb5efb1756fb268b618b698f7191082f166e856987618bfb278bfb01c0b2f75ebc
+f792f741d8f7178ba88ba68aa2898e848b7f887a0829fc8d05887d877f8685080ef7
+3c8aadf8d8ac01f7e1f89b1583ff00064cccffffef199aff00064cccffffee4cccff
+0002e66808ff0007999aff002780000592aeaf8fbd8bf76b8bb4fb436efb2e64fb5e
+fb1c5afb208b298b809292ab08ff0008999aff002c6666ff00046666fffff8999a05
+b79aafa2b0b1b2b2a2bb92c296dd79c74fbd08fbccfc88158777f7148d05af8bb689
+f28bf7218bf75bcabaf78aaff74efb0ff72cfb558b698b4c8b488a08fb138c877705
+8a868e88908b08a706b58b93818467082afc8605856b7a7d668b086d06868b88878a
+8608ff00becccdf70115ff003c7ffff7cd05ff00076668fffff6199aff00071998ff
+fff76666ff00053334fffffa8000a96b9a658457876d81707a71ffffe98000ffffe0
+199affffe180006cffffddcccdffffeae666080ef8ce89a8f8deac01f9baf91a15fb
+7906fbdb84fb01fb6673fb0f65fb5bf700fb01f75a8b08f7fd06f7598bf72cf701b1
+f75ba2f70975f76cfbdc9208fb44fc9d15c9f7d505a765be6a79307c3f494f617408
+79f7d5154dfbd5056aa260c79ad79ce6cbacb5b1083efbe5159999815505887d877f
+86856e856887618bfb248bfb04beb2f75dbcf794f742d8f7168ca98ba68aa2888e85
+8b7f887a08836505778875847f8463713a5273fb1174fb0dd94dbd7808f772f82e15
+83927792788e0893b1058e9c90979191a38ea68ca88bf70c8af7304757fb9d64fb5d
+fb1858fb248b618b698f719188918c978e990895c1937d05c59ef2c9a2f70da3f711
+51c46ca5080ea67fb4f896b001f7957f15f7618bf709f725a9f731abf73721f713fb
+378bfb058b626251877d54785b785808a88605b6e1d3dcf7108bd68bf7035867fb4b
+72fb1330fb2dfb238b348b57ac53d908717c05be32d05be68b080efb2082b7f80bad
+01b098b2dc03b0eb159e41c26cd18bf7198be5f5a2f707a3f7104bf700fb0b8b208b
+4c52825c8467a586948ba38ba198929f0897ad9eb7cd8bd38baf4776fb0073fb0e40
+3e328b598b61a473b7080ef8cdf783bf01f80ef85415595d5b665e6e5e6f66776d81
+08867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f9ee
+8b97bffdee8b05acaba3a4999ba7aca1a79aa2080efb0cf8a3f8a91567b36fb277b1
+77b17fac88a708740671626e696b6f434c5d64797f08816305af9aac9ba89baa9da7
+9da39e08fb5bfdefbf8bf75af9ef05a671a0799881a776a47ca081080ef8cdf783bf
+01f9ffdd15bdb8bbb1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b08
+6306926a956e9572966f9874997808fdee8b7f57f9ee8b056a6b73727d7b6f6a766f
+7b74080e28bb8815af63a7639f659f65976a8e6f08a206a5b4a8adaba7d3cbb9b19e
+970894b305677c6a7b6e7b6c7a7079737808f75af9ee578bfb5afdee0571a4769d7d
+966f9f739a7695080ef8adf783bf01fa56f7b715fd4706adaba3a4989ba7aca1a79a
+a2086506585d5b665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3
+067bcf76bf6eb008f947065e675d565c4808b4069b9bb9b0d8c4ada4b2a0b79c0891
+a20571956f9e6ba86ca86cb06eb80864068f74946f986b927b97729d6a080e29fb6a
+7601f7eff8f715fb33fd470570a5779d7d956fa0739a769508826405af63a7649f64
+9f65976a8f7008a206a4b3a8adaba8d3cab9b19e970894b305406c4f6a5e6608f733
+f94705a766b86ac76b0895b3057d986fb161ca78a77dae84b30874067b6f706b6564
+65655d64556308826405a495aa9ab1a09d95a99db1a5080ef7a9f8d0a701f870f8ec
+157589768b778b678b6b8d6d8f5e926894739808777b058f758d778b768b79897988
+797c358056837708a16e059fad9cab98a899ab96a891a608f867fcf3b8b0fc67f8f3
+05b690aa909f8eb294ac94a494080ef7acf8a8d101f9baac03f9dbf7e91595c799c2
+9dba9cba9eb09da6087f9b055e7a628265895688638a6f8b798b7e8b848c08686f05
+aa7fa881a784a985a787a78b08fd7ffcf3a766f97ff8f4058661896c8b798b658d6d
+8f74080ef7a945a701f8794515a18da18b9f8bae8bac89a886b985ae82a27e08a09b
+0587a1899f8ba08b9d8c9d8f9d9ae196c0939f0875a705776a7a6b7d6e7d6b816e85
+7008fc67f8f35e66f867fcf30560866c86778763836b827182080ef7ac43d101f711
+ad03f711f75115814e7d55795c7a5c7965787108987b05b79cb494b28dbf8eb38ca7
+8b9d8b988b938a08aea7056c976d946f926d926f8f708b08f97ff8f36fb0fd7ffcf4
+0590b58da98b9e8bb189a987a2080ef8cd338df7d9bf01f9e6f8fd15618b8a89fb4d
+fbd8fbe98b05acaba3a4999ba7aca1a79aa2086406595d5b665e6e5e6f66776d8108
+867405af7ba976a171bd52a966937b08b30684ac82a881a47fa67fa37c9e08f7d78b
+fb4dfbd889888f8bb78b8d8b848df74ef7d9f8818b97bffc708bf74df7d6050ef8cd
+338df7d9bf01f9e6f8fd15618b8a89fb4dfbd8fc848b7f57f8728bfb4dfbd889888f
+8bb78b8d8b848df74ef7d9f7e68b056a6b73727d7b6f6a766f7b7408b206bdb8bbb1
+b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b086306926a956e957296
+6f9874997808fbd48bf74cf7d6050e29fb7abc01f85ffb4915fc208b775af8208b05
+fb11f9dd15fb04fd0c056bad64ad47ab08846405dd36b439945a08a106cbf700f728
+f7008b8c0892b305426b516a5f6608f704f90c05a966b96ac96b0892b3058b8bfb01
+f70071f701087506715a4539fb043608846405d4a9ceb8aea4080ef8adf783bf01f9
+d6f8fd15618b8a89fb4dfbd8fbe38b05adaba3a4989ba7aca1a79aa2086506585d5b
+665e6e5e6f66776d8108867405b07ba876a171be52a866947b08b3067bcf76bf6eb0
+08f7d18bfb4dfbd889888f8bb78b868df74ef7d9f7e08b055e675d565c4808b4069b
+9bb9b0d8c4ada4b2a0b79c0891a20571956f9e6ba86ca86cb06eb80864068f74946f
+986b927b97729d6a08fbcf8bf74df7d6050ef8a2f822be01f72af82215fa5d8a97bf
+fdc68b05b7b0b9c0bbcf086306535a5d66657266716576667b080ef8a2f783be01f7
+14f7b615f8ef0a0ef8a2f821bf01faf3f82215f8f00a0ef8a2f783bf01fadcf7b615
+fe5c8c7f57f9c68b0560665d565a4708b306c2bcbab0b1a4b0a5b1a0b09b080ef8a2
+f783bff6be01f72df82215fa5c8a97bffdc68b05b7b0b9c0bbcf086306545a5c6665
+7266716576667b08fa39fb2315fe5d8c8057f9c68b055f665d565b4708b206c3bcba
+b0b0a4b1a5b1a0b09b080ef8a2f783bef6bf01f714f7b615f8ef0aa2f615f8f00a0e
+f895338df77dc0f714bf01f8fbf7dc1542fb14fb868b057ea77ba1789ca6a2a19f9d
+9d08f88bf7b515618b8a89fb1afb7ffbac8b05adb79da28b8c086406595d5b665e6e
+5e6f66776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f753
+8bfb18fb7c89888e8bb78b8d8b848df71af77df8868b97c0fc748bd5f714f8478c97
+befc368b05f71af77d050ef93e348df77fbff715f709fb09bd1213d0f97bf7df1513
+e0f7e006957998759c73717a7275717108fc050613d0abf7151541fb15fbdb8b057e
+a67ba1789ca7a3a2a09d9d08f8def7b215618b8a8afb1afb7ffc018b05aeb89ca18b
+8c086406595d5b665e6e5e6f66786d8008867405af7ba976a272bc51a966937b08b3
+0687a386a2859f08f7ab8bfb1afb7e89888f8bb78b8d8b848df71af77ff7f78b057c
+767b757c7208b3069a9bbab0d8c5aea4b2a0b79b0890a20571966f9e6ca70813e06b
+a86cb06eb908640613d08b8a9275995f08fbaf8bf719f77d050ef895338df77fc0f7
+14c001f8c6f75e15d4f714f7848b05986f9b759e7a70747576797a0852f83315618b
+8a89fb18fb7cfc878a7e57f8758b42fb14fc498a7f57f8378bfb1afb7e89888f8bb7
+8b8d8b05848df71bf77ff7aa8b05695f79758b8a08b206bdb8bbb1b8a7b8a8b09fa9
+940891a205669c6ea074a459c56db0839b0863068f738f76917708fb528bf718f77a
+050ef895f727c0f714bf01f801f81015adb79da28b8c086406595d5b665e6e5e6f66
+776d8108867405af7ba976a171bd52a966937b08b30688a386a0859f08f96f8b97c0
+fd8f8b057ea77ba1789ca6a2a19f9d9d08f9998c97be050e28f869f8a215b1729e7f
+8c8b0895b20566b36fb277b277b17fab88a708740671636e686b6f434c5d65787e08
+826305a595a394a19608fb3cfd6fc08bf744f98f05ab9ea6a1a1a19d769b799a7e08
+fb46fd9abf8b050ef895f729bff715bf01f9bef72915695f79758b8a08b206bdb8bb
+b1b8a7b8a8b09fa9940891a205669c6ea074a459c56db0839b0863068f738f769177
+08fd6e8a7e57f98f8b05986f9b759e7a70747576797a08fd998a7f57050e28f7098f
+1565a477978a8b08826405af63a8649f659f65976a8e6f08a206a5b4a8adaba7d3cb
+b8b19e970894b30572827381748008f73df96f568bfb44fd8f056b787076757479a1
+7b9c7c9908f746f999578b050ef93ef72abff715f709fb09bd1213a0f7d5f7df1513
+c0f98606957998759c73717a7275717108fd76067ea67ba1789c08a7a3a2a09d9d08
+13a0b7bd15aeb89ca18b8c086406595d5b665e6e5e6f66786d8008867405af7ba976
+a272bc51a966937b08b30687a386a2859f08f937067c767b757c7208b3069a9bbab0
+d8c5aea4b2a0b79b0890a20571966f9e6ca70813c06ba86cb06eb908640613a08b8a
+9275995f080e29f8e57601f852f91715fb42fd8605767d71796d7480a17aa0749e08
+f73ff97605aa9fa6a0a2a19d759c799a7d08b66b15b2739f7e8b8b0894b20567b36f
+b277b177b27fab88a708740671636e696b6e434c5d65787e08826305a595a495a296
+08fb30fd370579967795759508816305987fa865b64b9d6e9869926308a2069ca7a6
+acb0b1b1b1b9b2c2b30894b2058a8b727f5a73080ef7c1f8bca701f832f8a715be99
+a6928c8b0876a7057589758b778b688b6a8d6e8f5d926894749808777b058e758d77
+8b768b798a7988787b368056837708a16e059ba398a197a108f821fc99b9b0fc33f8
+b00599ac93a98da7ab8da68da28d08f839fcb6b8b0050ef7c5f88fd66ca812f9cfac
+13a0f9d7f89115856b8670897608fd34fcb8a767f918f89f058d5a8d738c8a08aca6
+0595c899c19dba9dbb9cb09ea5087f9b055e7b62816589568963896f8b081360798b
+7e8c848c08686e05a0819f839f8408fd10fc99a866f92cf8b00513a09e879c8a9d8b
+08988b978c978c080ef7c159a7f9597701f8cf8a15587d71848a8b08a06f05a18da0
+8b9f8baf8bac89a886b985ad82a37e089f9b0587a1899f8ba08b9d8d9d8e9d9ae197
+c0929f0876a7057b747e757f7508fc22f8995d65f833fcaf057e6a836c89706b896f
+89758908fc3af8b65e66050ef7c557d642a812f716ad13a0f72fa01591ab90a68da0
+08f934f8b76fb0fd18fc9f0589bb89a48b8b08697005814f7d55795b7a5c79667871
+08977a05b89cb494b18ec08db38da78b0813609d8b988a928a08aea8057695779377
+9108f910f89a6eb0fd2cfcb00513a0788e798d7a8b087e8b7f8a7f8a080e42a076f7
+fdcbf7277701f7b016f7c8f8d0418b40fb27fb7c8b79f727428be0fcd005c1d71564
+f7b1f7528b050efb0780c8f86bc801f825d103f7738015e98bcaceb5f00845067251
+685a518b358b8bf706a3f70ea2f70cb7f707e28bc58b9b5a8c5008d10689f166ce2d
+8b448bfb07635afb9459fb95ed63d38b080e2880acf7c9b1f76bab01f7ccf7df15b7
+8ba469977869fb024afb26398b548b6cca95c09eeadcedd78b087cb1152d8bfb0a3c
+74fb107620ce45eb8bf72f8beef748aaf732abf7344df715fb108b428b4770856a87
+7a95809e8b089d8b9e9d999d92949996bc8be28b95fb297c3a877a887e878173b167
+9c5b8b080efb358bccf763ccf73ecc01f872f8d015fbda8b7e4af7958b69fb3efb89
+8b7e4af78a8b63fb63fb9b8b7f4af7df8b050efb358bccf763ccf73eccd77701f872
+f8d015ffffbee6668bff0024199acc6996ffffd5cccc3fffff2333348b7e4aff00c5
+999a8bffffa18000fb3effff82e6668b7e4af18bffff8ce666fb63ffffd4199a8b7f
+4aff0013cccd8b05ffffda333447ad7fff002c6666dbff010e999a8b05ff000acccc
+f88f15ff001333348b69fb3effffb080008b05ffffdbe6664a15ff0067999a8b63fb
+63ffff4d80008b050edc82bef87cbe01f83cf8a615ff0029999a8bff0024e666ffff
+f5ccccff001e99987908fffebae668fffe58ccce05ffffc2cccdff002b0002ffffe0
+b333ff004cb333ff00118000ff0057b333a5f71bf717f701f71a8b08ffff05cccdff
+fe10199a15ffffc03333fffface666a979cbff0053666605ff00216666ffffefb334
+ff0026e666fffff6e666ff002ab3348bf7388bf731f719abf736ff00136668ff0063
+199affffe03330ff0057999affffbf6668ff0035800008bfff0043cccc6d9c59ffff
+bee66805ffffdab334ff00166664ffffd2ccccff000cb334ffffcd80008bfb378bfb
+32fb186cfb37ffffeb199affff954ccdff00261999ffffa29999ff004a999affffcc
+333408ff00408000ff001b199915ff0142b334ff01a4999805beffffd3999aff0018
+8000ffffb8e666fffff08000ffffafb33471fb1afb16fb02fb1b8bffffde33348b6c
+ff0006ccccffffe51999ff000c6667080ea28ba501f80af8ac15f706fc92fc368b05
+f7caf8e215fb22fb7efb71fc038b8b878589888b898a88908a968b08f8a98b978b05
+8e8c8d8c8b8d8b8d8b8e89918b8b38f80356f77e080ea29376f8e2a501f7afce1521
+f892f8378b05fbe6fce215c406f724f77ef777f8038b8b8e918d8e8b8d8c8d8a8c88
+8c087f8bfca88b057f858a881f8b898b888d858b8bdafc03befb7e080e548bc4f75d
+c3f75dc40114e0f8621697c4fb308b05238b43e292f70608f7f68b96c3fbf68b05ad
+f700ece8f7088b08f72f8b97c4fb2b8b05fb318bfb2bfb176dfb2f6dfb2eedfb18f7
+338b080e548bc4f75dc3f75dc4d77701f8621697c4fb308b05ffffef4ccc8bfffff0
+199aff00023333fffff1199aff00044ccd08ff006b999aff00c28000ff007ce6668b
+96c3ffff9733348bff006f3334f75dff002999988b97c4758bafcc6996ffffd5e666
+3fffffa7199a8b05fb318bfb2bfb176dfb2fffffe96666ffff8bcccdff00323334ff
+ff984ccdff005e6666ffffd419990859ffffa5cccdad7fff0031b333ff0059b33305
+a1fffff9b332ff0017e666fffffc999aff001966668b08ffffb56666ff004d199a15
+ffffc5b334ff0020199bffffdce666ff0043800090ff00514ccd08ff00bccccc06aa
+c315ffff2f333406adf700ece8f7088b08ff00494ccc060efb4ec7c1f4c1f3c201f7
+8ac715ed8b95c1298b05fb128b86c48abb08f78f8b95c1fb8f8b05a0c0acbdf70b8c
+08ed8b96c2298b05fb288b444075fb0372fb14c951f7188b080e548bc4f75cc4f75d
+c401f72ff8d0158052f72f8b05f48bd33483fb0608fbf68b8052f7f68b056a202a2e
+fb098b08fb2f8b8052f72b8b05f7318bf72af716aaf730a8f72d29f719fb328b080e
+4f8bc4f75cc4f75dc4db7701f72bf8d0158052f72f8b05ff0010b3348bff000fe666
+fffffdb334ff000eccccfffffbcccc08fb00ffff3d8000ffff83999a8b8052ff0067
+b3338bfb03fb5cffffd74ccd8b8052ff0014199a8bffffdbe6664aae7fff002ab333
+d8ff00584ccd8b05f7318bf72bf716a9f730ff00169998ff00734cccffffcde668f3
+ffffa24cccff002c333408ff00323334ff005a80006897ffffce4cccffffa6666805
+ffffea4cceff00063330ffffe86666ff00036668728b08ff004a3334ffffb2800015
+ff0039e666ffffdfccccff0022e666ffffbc999a86ffffaf199a08fb5006ffffe066
+665215ff00d0999a0669202a2efb088b08ffffb76666060efb4ec7c1f3c1f4c201f7
+67f84415298b8154ed8b05f7118b91528c5b08fb8f8b8055f78f8b0576566b59fb0c
+8a08298b8155ed8b05f7278bd3d5a0f704a4f7134dc6fb178b080ef71bfb02a7f908
+b273a51213a0f87e651586707a7a628b087106868b87898a850888798c89058be98d
+afb2e1898b1e8d8d8f9d058c91888d878b087006648b7e9991a908f6f8be0592a9a5
+99a78c08a806908b8f8f8c8f088f9d0513c0898bfb1189858b448a528b4d8b448b53
+8b4d8c0813a07d8b228d848b088778058a888c87918b08a906ab8b9d8383660820fc
+be0585707b7a628b087006878b87898a850887798d89058be98daeb2e2898b1e8d8d
+8f9d0591898d861e7106638b7f9990a908f4f8af0513c092ad9396a98b08f77606ab
+8b8d7b856f080ef57fb363a6f8e1a81213a0f8e6f8c5152dfc7d05856f837b6b8b08
+fb71066c8b889792ac08e9f87c0591a99d98b38b08a006908b8f8e8c91088e9d8a8d
+058b388964682e8d8b1e89898779058a858e888f8b08a606b48b957b86700829fc8a
+051360846576856b8b086e06848b89868a880888788c8a05928bf38c998bc98bc28d
+d18bca8bc089d38b908bf70e898d8b088e8d8f9d058f8990861e6e066f8b759891aa
+08edf88a0591a99d98b28b08a6068f8b8f8e8c91088f9d898d058b34896467338d8b
+1e89898879058a858d88908b08a006b48b967b8570080eaa4dc551a1f88a76efb574
+a212f8cda1136cf8f0f8db15fc668b877405998ba4819f6708f70afb9efb93fba105
+7a7a80897f8b088775f8758bc9f743768d0513b4898655fb06458b08fbac8bf795f7
+a48c8cfb0bf7a4f7788b05c48b9a3a8d7808a18e050e69f763bc01f893f79415fc1f
+8b815af81f8b050e69f754bcf775bd01f7daf75415f7418b94bcfb418badf7415a8b
+69fb41fb418b815af7418b6afb42bc8b05f798f8541595bdfc208b8259050e69f74a
+bcf789ec01f7d9ec03f7d9f8a01585719a75a98ba88ba3a190a591a777a0728b718b
+70758670089dfbb915adf7415a8b68fb41fb418b825af7418b69fb41bd8bacf741f7
+418b95bc050e69a076f8d17701cd16f8c5f8d15a8bfcc5fcd1050e69a076f8d17701
+f86616bd8bfbe7f8d15a8b050efb70f781cf12f761cb53e113a0f75df77e15626556
+848360887c957d9c8bb08b9ec7adb89c63864ab28b998b9c978f9d93b35b9570af08
+9e8e9d8d9e8bad8baf9191a98d96889e708b6a8b746b59780813c094a9a4b390a68f
+a37e957a8b798b7a7a8875867199718763629e80ac698b748b7d7b897d08856caa84
+bc8b089a8b998a9889080efb70d3a7f724a701f4f75b03f7a3f73f1584696b66618b
+618b7aaf92ae92aea9b1b68bb88b9962856b08fb3a8c158054af5ec28bc28bc0b896
+c295c268b8548b548b555e8154080efbc8f74df70001f70bf70103f737f74d15a98b
+a8a391a890aa75a3718b6d8b6d71856e866f9b72ac8b080e8ff971b201f90bf97115
+f8f10a0e8cf7faa4f724a3f705a3b8b201f739bd03f90bf97115f8f10a8df9041583
+6268715e8508887305948c908c928ba38bc08480527d46507e788b6b8b8293859586
+9286927e8b808b7c818981088676bd7bb08bda8bd7b998d096c561a66b8eab9ba5a2
+91a892b06fa1578b348b6356897a088a888c7c9e8ba28b909c8e9792a4af959e8b9f
+8b9e82856c080e8ff800a4d5aef75777c7b201f90bf97115f8f10aa6f8ef158c9385
+8d858b848b7d7f8282888885838a84087c3f308b05a8add6ddc5d1086f9405575335
+2b5149088d7ff7248b81590587768688798b087c068889888a1f8776058bb08ca3a7
+b58a8b1e8e9f058c8d8a8e888b087b06788b88918f9e0895bcbe8b95ae548b050ef7
+74d9c453b9f796c061b5121390f829f785156a62344a598b438b76dd98cd97cab4bb
+cb8b08c88bc3259b5808f7dc841513607f4e635b4c8b518b55f273b9adb4e1cfbd8b
+d58b9e327f4f08d0b6159de467d12f8b3c8b303f52520813906fcd4ace3c8b228b35
+24782c76fb02c959d38bd58befd9bfc5081360ac49c246e08bf28be1f19deb080e77
+8bb5f8247701f729f84e1534fc4ef8388b93b5fc058bd8f824050efbf8fb6876fa37
+7701aff77503dbfb7d15f8f20a0efbf8fb6876fa377701dbfb7d15ff0056b333ff01
+be3334ff00b84ccdff015acccc618bffff89cccdffff20e666ff00463333ff016919
+9a5f8bffffa04ccdfffe13b334ffff46b333fffea24cccb48bff00784ccdff00e280
+00ffffc2b333fffec48000050efb2afb6876fa377701f7b2fb7d15f8f20afb3616f8
+f20a0e57fb6876f9b977f7267701f8c3f8d015ffff9c3334ffff883334ff002fcccc
+ff00f5cccc5f8bffffc2ccccfffec54cccffff2cb334ffff026667ff006e8000ff02
+384ccc5f8bffff84199afffd82ccccffff7ae666ffff603333b480ff004ccccdff00
+5c3333ffffd63333ffff28cccdb78bff00373333ff011c199aff00d36667ff00fdb3
+3205ffff976666fffde63334b78bff0075e666ff025eb334ff009c199aff00bb4ccc
+050ef70aa076f84f7701f82bf81715edfc17bb8bfb06f84f618bfbb1fc4fbb8b050e
+f70a9976f8507701f7eabd152af8175b8bf705fc50b58bf7b2f8505a8b050e3ea076
+f827af01f70916b4f76805a1f703acdbf7098bf38b8a3278250861fb68bc8bb4f768
+05a4f71487eefb278bfb2f8b5c2373fb0f0861fb68050e358bb0f8267701f855f84b
+1562fb670575fb036b3bfb0a8b248b8be39ff108b4f7685b8b61fb680572fb148f28
+f7278bf72f8bbbf3a3f70f08b4f768050efb4afb41c2f9e2bc01f73ab61574fb1572
+6b738b798b81ae6e8b768b7178867486709f76af8bf7018bdef5c1f7c508c4f7d405
+a4f71ea3aba18ba28b876aab8ba38ba29c8fa190a4779d6e8b218b392160fb81080e
+69d3f6f730f501f77ff73203f7b2f81815856e9e73a98ba88ba8a391a890a878a36e
+8b6d8b6f73856e0858fb9b15856e9f73a88ba88ba7a391a891a978a36d8b6e8b6f73
+856d080e69f769c691c601ecf76515978805acb7c2a7ae8ba58ba07ca07aa07aa17b
+a58ba38bce98bff6087c91056b59567a6f8b758b759c749b759b749b758b4e8b484c
+724a080e69f769c691c6f77a7701ecf76515978805acb7c2a7ae8bff00144ccd8bff
+00114ccdfffff6ccccff0010999afffff3e66808ffff61ccccfffed64cccaf7fff00
+97ccccff011ecccc05ff00104ccefffff44cceff00114cccfffff6e666ff0013999a
+8ba38bce98bff6087c91056b59567a6f8bfffff2b3348bfffff2b332ff00063334ff
+fff28000ff0008800008ff008f199aff010e4ccc6795ffff764cccfffefcb33405ff
+ffeb199a9affffea6666ff000e4cccffffeb33348b4e8b484c724a080e69f725bcd8
+bcbcc691c601f720f80115978705acb8c2a7ae8ba58b9f7ba17aa07ba17ba58ba38b
+ce97bff6087c92056b58567b6f8b758b759b749b759c749b748b4f8b484b724b08f8
+145e153b0a7c3e15fc208b825af81f8b050e69e2c691c6a1c691c601d1de15978705
+abb8c3a7ae8ba48ba07ba17ba07aa17ba58ba38bcf98bef5087c92056b59567a6f8b
+758b759b759b749c759b748b4e8b484b724b08b9f72315abb8c3a6ae8ba48ba07ca0
+7aa07ba17aa58ba38bcf98bef6087c91056b59567a6f8b758b759c759b749b759b74
+8b4e8b484c734a080e69e2c691c6a1c691c6f7667701d1de15978705abb8c3a7ae8b
+ff000be6668bff000ae667fffffc6666ff000a9999fffffa800008ffff9e999affff
+48199aae7fff005d199aff00afcccd05ff00014cccffffff199aff00014cce8aff00
+014cccffffff199aa07aa17ba58ba38bcf98bef5087c92056b59567a6f8bffffebcc
+cc8bffffebb334ff000d999affffebccccff000e999908b1ff0047cccd05ff000cb3
+34fffff86666ff000d4cccfffffa999aff000eb3348ba38bcf98bef6087c91056b59
+567a6f8bfffff6e6668bfffff6ccceff0002e666fffff6e666ff0004999a08ff0088
+6666ff010180006795ffff7cccccffff084ccc05fffffd6668ff0001e668fffffd66
+66ff0001e666fffffd6666ff0001e666749b759b748b4e8b484c734a08978805abb8
+c3a6ae8bff00184ccc8bff0014999afffff1ccccff00146666ffffef999a08ffffd9
+e6684305fffff1b332ff0009199afffff1b334ff00068000fffff166668b4e8b484b
+724b080e69f724bcd7bc01f817f8b6155906655d5d606063089c7d05b6a6b0a4b7b1
+a667a872ac6e08a2990570b36eb577ba08f71cfb7815fc1f8b815af8208b057c3f15
+fc1f8b815af81f8b050e69f724bcd7bcf78d7701f89ff7d215ffff6966668bff007e
+999af7836795ffff7c199afb8dffff34e6668b815aff00bb33348bffffd7b3323fff
+ff5f199a8b815af7258b29fb4dae7fff00684cccf759ff00d0b3348b0595bcffff3f
+4ccc8bff00283334d7ff00a780008b050e69f4b7cab7cbb701f8a8f80015fc1f8b82
+5ff81f8b057f4b15fc1f8b825ff8208b057e4c15fc1f8b825ff8208b050e69f4b7ca
+b7cbb7f75f7701f8a8f80015ffff78cccc8bff00663334f7556795ffff948000fb5f
+ffff2580008b825fff00cc33348bffffde19984bffff49b3348b825ff73c8bffffde
+999a4cffff6d66668b825fff00844ccd8b05ffffb2b333fb26ae7fff0053b334f732
+ff00de4ccc8b93b7fb638bff00214ccccaff00bab3348b93b7ffff54999a8bff0021
+e666cbff009580008b050e6996ba01d19615f81a8b95bafc1a8b05f702f75615f7e8
+f70895bcfc36fb21825cf7fefb2395bd050e6996ba01d19615f81a8b95bafc1a8b05
+f7f6f75515fbe7fb078159f836f72294bafbfff7228259050ef773f864f77f15f7e8
+f70894bcfc35fb21825bf7fffb2294bd05fce3f70c15f7e8f70795bdfc36fb21825b
+f7fefb2295bd050ef773f828f75a15fbe7fb088159f836f72294bafbfef722815905
+f8e2fb0b15fbe7fb088159f836f72294bafbfef722815a050e69f8cb7701ff0197b3
+34ff0139800015ff00774cccff0028800095bdffff9ce666ffffde8000ff0063199a
+ff00ba80006695ffff8eccccffff2a3334fffef53334ffffa5cccc815bff00a8999a
+49ffff9b6666fb52ae7fff0064199aff00bc8000ff009fe666ffffc1800094bdffff
+6ee666ff00394ccd05ff0013b334ff0073e66815ffffc9ccccffff99b332ffff8d99
+9aff002d199a050e69f8cb7701ff0124199aff00bce66615ff002c999aff00544cce
+ff005e4cccffffdacccc05ffff41e666ffffbf800015ffff6b199affffcd80008159
+ff00808000ff002b6666ffffad8000ffff64999aaf7fff0061ccccff00b8999aff00
+ee3334ff0050666694bbffff6b8000ff003a199aff007e8000ff00eee6666795ffff
+82e666ffff14999affff4c199aff004666668259ff00a53334ffffbecccc050e6996
+baf8917701d19615ff007380008bffffe4800057ae7fadcbf77d8b95bafb6e8bff00
+32e666ebff00ac199a4795bdffff618000ff003e4ccdccff007a7fffff008a8000ff
+002f333495bcffff8966666305ff005f999af7486695ffff923334ffff30b334ffff
+07ccccffffac4ccc825cff009b8000ffffc2999affffc5e666ffff926666ffff7d99
+9a8b05ff01044cccff00f54ccc15ffffcf999affffa4999affff9a199aff0028199a
+050e6996baf8917701d19615ff004c80008bffffe4800057ae7fadcbf7a48b95bafb
+958bff002e4cccff00573333ff00f3b334ff0052cccd94baffff67ccccff003b8000
+ff00763334ff00de80006695ffff8c199affff25199affff4fe666ff0044e6660582
+59ff00a16666ffffc04cccffffc1199affff896667ffff708000ffffcf4ccd8159ff
+007b8000ff0029e666ffffdae666ffffba199affffa4999a8b05ff00d16666f72415
+ff002e999aff0057b334edffffd94ccc050e64b6b5f7a1b501f888e015fb6806fb03
+8b45a4a1f709a0f3e8a2ec8b08f7688b94b5fb698b05fb148bfb03746ffb276cfb2f
+f56ff70f8b08f769060e64b6b5f7a1b501f700f7f615f76806f7038bd17375fb0a76
+242e732a8b08fb688b8261f7698b05f7148bf703a3a7f727aaf72f21a6fb0f8b08fb
+69060e64b6b5f7a1b501f888e015ffff4580008bff008fe666f7a1ff005e999a8b94
+b5ffffaecccc8bff00303334e567965526318b05fb148bfb03746ffb27ffffe38000
+ffff716666ff00576666ffffdce666ff006de667fffffb4cce08ffffc93333ffff99
+6666ae7fc8f706f75d8b05fb70ff002a333315ffff9a6666ff00027fffffffc1b334
+a7ff0014e666ff006f4ccda0f3e8a2ec8b08ff004b999a060e64b6b5f7a1b501f700
+f7f615ff00c8999a8bffff704cccfba1ffff93199a8b8261ff005f80008bffffc980
+0025ae7fc8f706d78b05f7148bf703a3a7f727ff001b4cccff008880003cff00254c
+ccffff98ccceff0006e66808ff0030e666ff005b4ccc67965526898bfb698b05f77e
+ffffd54ccc15ff005d4cccfffffb6668ff0037999affffe24cccffffec199a207624
+2e732a8b08ffffc28000060e8e83ff00278000ff00a28000b2ff00a2999aff002866
+6601f7ad8315f8f30aff0067e666ff0193333415dcfffff44cccff0033e666ffffbd
+b33483ffffabcccc08ffff63800006ffffd8ccceffff36cccd15ff001f999aff00a2
+3333ff009c80008b05ffffe7333237ffffb18000ffffbd6666ffffab3334fffff466
+6708ffffcee666ffffffb33315ffffade666ff000ab333ffffcb999aff0043b333ff
+0006cccdff0054199a08ff009f666706ff00274cccff00c9999a15ffffe04cccffff
+5d6666ffff6066678b05ff00196666ff0054b334ff004f1999ff00438000ff0056cc
+cdff000a6666080e8e83b1f738b2f738b201f7ad8315f8f30affff77b333f78515ff
+001b9999ff005c199aff005b3333ff0047e666ff005f80008bff005f999a8bff003f
+fffeffffb8e666fffff73334ffffa3199a08fffe8b80006415ff016ce66806ffffe4
+b332ffffa38000ffffa36666ffffb88000ffffa1b3348bffffa0cccd8bffffc11999
+ff00484ccdff00076667ff005bb333080e8ef856c415f8f40affff2f4ccdff012fb3
+3415ff004d3334ff00331998ff005d999afffffeb334ff00376666ffffca333408fb
+19ffff907fff05ff00724cccffff724ccc15ffffa3ccceff00723333f719ff006f19
+9905ff0027e666ffffbe6668ffffeeccccffffa31999ffffc08000ffffbd333308ff
+ffd6ccceffffdd199a15ffffb2ccccffffcbe668ffffa26667ff00016666ffffc833
+33ff0035199a08ff00863334ff0070199a05ffff8c9999f72315ff005d4ccdffff8c
+6666ffff79e666ffff8f999a05ffffd6cccdff004233359cff005e7fffccff00434c
+ce080e8ef856c415f8f40afb7bf7b315ff0050999aff00438000ff006b199aff0004
+4cccff003cccccffffc4e66808fffecb8000fffefd6666055eff00484cceff001866
+66ff006a199aff0050999aff004380000865fba515ff0134999aff0101cccc05ff00
+2bfffeffffb7b334ffffe6999cffff96999affffafccccffffbce666ffffaf999aff
+ffbcb333ffff963333fffffc6667ffffc33333ff0039e666080efbc8f760f70001f7
+0df70003f739f76015a98ba8a490a891a975a3718b6d8b6c71866f866f9b71ac8b08
+0ef2f760f70001ff0078199aff006de666ebf701e9f70003f8d1f76015a98ba7a491
+a891a975a3708b6d8b6d71866f856f9c71ac8b08fb5f16a98ba8a491a890a975a371
+8b6d8b6d71856f866f9b71ac8b08fb21c115ff0000b333ff00036666ff00004ccdff
+00034cce8bff000333328bff00193334ffffec199aff0012e666ffffe8e6668b6d8b
+6c71866fffffff6666fffffc999affffffb334fffffcb3338bfffffcb3338bffffe8
+199aff000fe666ffffebe666a88ba98ba8a490a8080ef7c48badf8f87701f758f82b
+15f7fbf74df7a5fb4d42fc09fd0b8b05acf8201537fc42f9638bdff842fbcbf76c05
+0ef70af85ef91a15f709fbb0bb8bfb19f7e8618bfb9efbe8bb8b050e8af7f9b701f3
+f71915b6f774f85f8b94b7fc948b56fba0050efb4aa076f829bd01f3f7bb03f316db
+8bb5f77f05a3f71fa3aaa18ba28b876bac8ba28ba39c8fa18fa4779d6f8b218b3921
+60fb81080efb4af75fc1f84d7701c6f7cb03f806f94e153b8b58fbab0574fb15716a
+748b788b82ae6e8b758b7279877385709f77af8bf7018bdef5c1f7c4080efb66f7b5
+a403f74bf79f15f8f50a0efb66f71fa403f7a2f79615f8f60a0e69f705bdbec801f7
+12a703f881f73715fc1f8b8159f81f8b05b5f7881571067c644160278bfb008b5cb6
+8ab2086f068345b442f71e8bf7198bd7d39ed2080e9aa076f8427701d4f84203d4f8
+4215fc42f842f842070e9a8badf7fead01d4b2f7f4b203f704f82015f7f4fbfefbf4
+0664f82015fc42f842f842070e77f8427701f886b015fb77f81dfb77fc1d050e77b0
+a4f8047701f886b015fb77f81dfb77fc1d05f82da415fc008bf74af7cf050e589776
+01d48215f81ef778fc1ef776050e58977601d4a503d48215f81ef778fc1ef77605a5
+fc2c158bf7fff7cffb49050e77f8417701b7f84115f777fc1ef777f81e050e77f828
+a501b7f84215f777fc1df777f81d05fc2d7115f8008bfb4afbce050e58987601f84a
+f85215fc1efb77f81efb77050e58987601f830a503f84af85215fc1efb77f81efb77
+0571f82d158bfbfffbcff749050ef4a8f76b15f7c4fbc4f7c4f7c4fbc4f7c4050ef4
+ff00503333ff00da333315ff00f8e667ff00f8e667ff00fffffefb94ffff07199cff
+ff07199905fffecc6666ff00fc7fff15f7c4fffecfe666ff0130199aff0130199aff
+fecfe666f7c4050e8e7ca5f6f761f2a501bca5f2f761f6a503d6f76f15f8f70a7116
+f8f80af7158c1553b95dc3c4b9b9c3c45db952535d5d521e0ef5cdf76415f797fbed
+f796f7edfb96f7ee05fb5cfbee15f75cf79ef75bfb9efb5bfb9d050e8e7ca5f833a5
+01bca5f833a503d6f76f15f8f70a7116f8f80a0e8e7cf86701bcf86703bcf76f15f8
+f80a0e8e7ca5f833a501bcf77df764a503f7aef83e15c58bc073b165af66a2578b53
+8b527457666665655773518b08f7cf07fb7d2015f8f80a0e8e7ca5f833a501bca5f7
+63f77e03f7ae9615518b56a366b166b175be8bc48bc4a2beafb1b1b1c0a2c48b08fb
+cf07f77ef700158bcb71c560b661b551a54a8b4a8b51716060626171518b4b8b4ba4
+52b460b660c670cc8b08cb8bc4a5b6b4b6b5a6c68bcd080e8e83a5f764f77d01bca5
+f833a503f87ef776158b507357656565675874528b528b58a265b065b174bf8bc508
+f7cf06fb00f77d154b8b51716061616071518b4b8b4aa550b661b561c571cb8bcb8b
+c4a5b6b4b6b5a6c68bcd088bca71c562b561b650a6498b080e8e76f77df763a501bc
+a5f833a503d6f768158bc5a3c0b1b0b0b0bfa1c38bc48bbf74b067b165a3578b5108
+fbcf06f6fb7d15cc8bc5a4b5b6b6b5a5c58bcc8bcc70c560b661b451a54b8b4c8b51
+726162606070508b4a088b4ba452b460b660c671cc8b080e8e7ca5f833a501bca5f8
+33a503d6f76f158bc5a3c0b1b0b0b0bfa1c38b08fb63f764078b5274576666656557
+73518b528b57a265b166b174bf8bc4087116f8f80a0e8e7ca5f833a501bca5f833a5
+03d6f76f15cc8bd68ace8b08f76407c58bc073b165af66a2578b538b527457666665
+655773518b528b57a265b166b174bf8bc4087116f8f80a0efb62bcf77d03f7aef858
+154a8b50706060626172518b4c8b4ba551b461b660c570cc8b080efb62d4f77e03d4
+7c15cd8bc6a6b5b6b4b6a5c48bcb8bcb71c561b561b650a54a8b080ebc9a7601f756
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0ef8c22bcf8cad79aaa4cc5dcc5aa496bd8db079a592ac76a094a77ab19cbe88ca4c
+a585a7aca48eae77cf12f7e4b69fac96ff0038e666ff0094199a9fbbc35ec58da3d3
+abf2a71380204f78fa07f70f158b7e897f86816f5cffffdbb334fffff54ccdfffff4
+4cccfffffcb333fffff84cccff0012b333fffff8b334ff00154ccd8b9e8bb4b6a08b
+ac8ba87b8d818b828b8189838808ff000cb334a2928dff00204ccc8b089473ba868b
+3b08fbeaf7081513a70ccf78c85fb170c18b9d8b9b8f9790848185808b7b8b56a559
+957affffb8e6688bffffe81998ff005180008bff002580008b908c918c8f087b7b57
+6a6e8b848b829181939389948a948b089f919398a278917f1f688bffffeae666ff00
+094ccdffffd9199aff001db3337a98fffff2800097fffff9800091988ea3a59c9f08
+8bbab6ab9a9d91a2978595761e7f8b7e87818890939e9baa8b9b8ba87ea8788a908b
+908b9108cab19bb61e9589057c7075608b5c8b7b927e93817a93788d828b578b6572
+4e5c08f7afc6158bac60a08bb38b9e929f929eff001eb334fffff6999aff00361998
+ffffe480008bffffc3999a081380204f388bffffc64cccffffd0199cffffe38000ff
+fffb1998fffff28000ffffdd80008bfffffc8000ff000080007cff00118000928993
+89928b978b9b8d8ba808fccf52151380904f389a999d92a28ba08b9d839e7d7a7b76
+80748b798b78967b9c08f7d5fb8c159968af4a9b74b451b66fb6718dc1a1ada7a798
+98ff0029b334ff0017b333ff00234cccff000d4ccdd9ff001d4ccdc6ff0016b3338b
+f7030813c0206f388bcb5dbe60a908b385f71f5e8baf52a1c3a08baefb1e6362868a
+8b059d98979492939d9cb1ff002580008bff003e80008bff0056999affffbab334ff
+0028fffeffffc89998ff0010ccd0ffffe24ccc94ffffdc6668ff000fcccc73ff000e
+cccc67a05ed287b543524f3f64360875ff0009800064ff000d8000618b328bffffa3
+6666ffffb9b334ffffe0999affffe14ccc08fb4dfb49f750fb4605ff0028199affff
+da199aff0059e666ffffcee666e28bae8bb4989b92081381084f38f709f7ac15b2a1
+7185827570661f678b729771a108a69f9e99b28b08138000dfb8bff77715969d91a4
+1f920792838e818b828b818985837efffff74cccff00014cccfffff5b334ff0000b3
+34828b3c8b7b5987747a95728e798b788b76827d7f081380014fb86f8a058c918b8f
+8b90081380024fb89d7f8f818073846e1e1380044fb88b7f91839287081380024fb8
+8f88968b998b081388d14fb8a106fffff48000ffffe73334ffffee8000ffffddcccc
+83807a706f717d8b858b7a927e918a918b918b97089e8f8e90928e88781e8b878b88
+8a86ff0003ccccffffff8000ff00043334ffffff80008e8b8f8ba0918ba08ba85e8f
+8ba38b94ff00028000ff000e8000ff00038000ff000d8000ffffc780006dffffff80
+00ffffd633348bffffd5cccc087f8e7d8e808b5f8bffffe8333374ffffe6cccd71a5
+72ab6eb08b9c8b918d97918bffffdb3333ff0002ccccffffc9999aff00373334ffff
+e63333fffffc8000ff000e8000fffffc8000ff001080008b95088ba3b88e8baa8b9d
+7992868bfffffb33348bfffffd9998ffffff8000fffffb3334fffffe8000ff000133
+3487ff0000cccc888b8708ffffff999a89ffffeb8000fffff68000fffff8199affff
+ff6666ff00016666ff001480001e8b95ff00003334ff0007cccdff0000ccccff0006
+3333988e998e918b9f8bff0017ccccffffe03333ff002d3334ffffc4cccd087b0674
+7788726fa78292ff000d3334ff0008b332ff0009999aff000e33331f8bff0004b333
+ffffffe666ff0004b333ffffff3334ff0004cccd08a58a0513a4004fb8967f99829b
+8ba98ba697a49b0885078b729a6a997bff0005b334fffff96666ff001e4cccffffdf
+999ac18b8f8bff0001b3348bff00054ccc8c8f8090848b808b8287818583089107a5
+78918178837d7d1e8b888b868c8708718d05ff0009b334fffff14ccdff000c4cccff
+fff0b333a78bbf8b98ac8bae8b938a938a93ff000d4ccc8fff00326668ff0011b333
+ff001f4cccff00364ccd0813d0206fb8977eaa7d948b08a1989fa6997f9f741f7b8b
+ff0005b3347afffff24ccc8b878b878c898b888b888a8a8a0896078b998bbd56bc08
+a106c176db5f8b3b8b688368767773ffffe9999a6afffff1199affffdd4cccfffff3
+e666ffffd9e668fffff2b333667affffe6ccccffffe4b333716e7969857669a1ffff
+dab334b1fffff24ccca1086aff00353334ffffe0b334ff0035ccccfffff64cccb366
+808d7a488b3e8bffffb86666ff00206666ffffcd999aff002f999a08fb33f72af72f
+f72e05ff004cb334ff004c4cccff00424cccff0011b334bf8bbc8ba986b173a0c2ca
+f2c4ba9cffffdb80009effffdf8000a774a5ffffeb8000ff00349998ffffe9e668ff
+0025199cfffff19998ff00434ccc71aaffffd3cccc8bffffd13334088bffffc7999a
+ffffd2ccccffffcc4cccffffad3334ffffde199a0877068f8eb9b58bc98b918b908a
+91ff001e80008bfffff166687bff001219988b08a1989c9ca67e9f751f838b6f7e7e
+7f7c9f6ba759978e958c938b9408138000dfb8c06596701e6f8bfffff24cccffffef
+b334fffff7b334fffff24ccc08a58d05fffffeb334fffffb4cccffffff4cccfffffc
+b3348b87087e937c9e1e0ef84894f830fc129b849990a9f7a39a12d7b188a5132af7
+1df76115a99cf719ba1e8f8b90879188088d8d05869882927d8b898b898b898a08fb
+2e808b82f71291056c6b7d3f8b4d8b5a9549a46e08fb0e938b7d05134af72782908b
+059a8b95909297888a868b858b086875bdef1ff895eb15f7199ef7526d8bc58bb4fb
+298f27900813803290fb1f9d738b7c8b3d7348686d7c5988778b0882066e697c5a8b
+4f8b579563a06d0813209888e4849a84081380d75ec183a48bc08bcd93c1a3a19396
+9a8b9e8ba17a858596a49397988b9f8ba1719f8b8b08aa9b999c8b9f8b9c7d9d669f
+081314fcd2fb6f158393849695949293938292811e808384831f0ef7e193a58ba4b3
+a58fa6a5a587a5afa3a3a8ada581a412a3a8f706abf73ba1aba5f09ea2a58ba680a5
+f749ab13373f20f847f778159e8ba5739f8baf8ba9998ba88b908a9089909c809482
+8b810865fb0e6561737e96a31e9ca49fa11ef827ed156b3b87481e688b051333bea0
+7d06708b668d6d8d79a372a66ca9aa8bb88da58b08f737ee796a1f13b33e60fbcbfb
+b8157174959c1f8b9aad86cba3a29498908b8b089891837c1f7052725c1e133b3ea0
+e3f70f1563307361678b9e991e8b8b8b8d8c8da48ff703bb928b089c93827b1f1337
+3e20fb05d4155f8b34d58492088381bb5505137b7e2070716f7e6e8b7a8b73906e94
+088107a576a382a18b978b998d9d8f088707669e79af1e8f06888389848b888b7297
+7ea58908887f05fb4d8ba9cd268b08f75107dd8bb5dacc8b08c2f3fb127f1f776786
+821efc55f70715f706918bfb99fb068a05f720f792151373be6087adfb39878bfbe6
+05b290d191c790088fbb058c8b8d8b8d8cd68b8f49f71d8b908b988b9f8d8b8a8d8b
+908c0813b7be6098789e82a68bc88bd5a88bbd8b9c83997a95081337bea092968e96
+8b968ba0809a7495081337bf608f948e938b918b9785977f9708b58b9f8b05eaf708
+8dc4d2fb4292fb141ffb0d0613337e607596788f7a8b428b6240398b080ea48c9ff7
+b1a1a0a9f781aa6ca112f78ad3f73ad013f6f7d2f8f0159b929e909a8b08c3c783fb
+062a5d793c1f788b808d808d08fb173e1590908e8e1f8b99878d3189498d88898b7d
+05889388951e8c06908b9d7da77608f71ffb0405ff00016666ffffff199a8c8aff00
+00999affffff333308fffffae66607ffffff8000ffffff6666ffffff4ccdffffff33
+33ffffff3333ffffff333308fb0e2f056b74797e848b0889067f8489861f8b7e8f8a
+058bae8ca0a3b18a8b1e8c8c8b9a058f898c841e8a067e898d921f8b8f90919e9a08
+dbff003d4ccd8bffffcbb3330572807d721e8806878888871f8b7a8d89058bbc8dac
+aeb1898b1e8d8d8b9c058f878e881e8706778197a61f8bff0028e666c2ffffd7199a
+05aa7192858b8808858989821e8a0684878a871f8b7c8e8a058bc08cada5b48a8b1e
+8e8c8b990590858c7d1e8a06868b8a8d5fad08fb1ff605888e8b91918f08f711e905
+b1a696939c8b088d0693948c901f8b99898d058b7e895f60758d8b1e87898b7d0587
+8f8991918f88861e8b868985767b082f4605fffffc3334fffffd4ccdfffffcccccff
+fffdcccd88fffffe4ccc08ff00a2999a0797869587a38b08f727b5e0d7c06edffb29
+1f768b6b8a5c880813ee608956887e8b087907898c87911e8f8ba08d938b089ba385
+691f8bfffea7e66659ff0028199a057b9985928b8f08908c8f971e0edd7bf730efd8
+87f0f716a412e5f708d8ecefd9ec9f13bff762f7a715a09d9c9fa19c7a76767a7975
+1e77799da01ff7a68f1513df769d79a0a09d9da0a0799c7676797a761eb1fb1f155a
+32a7f7011f13bfea41b54d1e3d8b5e5c7f2f94f734f701f701f72f8b08f727f712fb
+06fb2b3e544d391ffb1cfb3015f73ff70ef717f734f73dfb18f711fb35fb31fb1bfb
+10fb3efb33f70ffb18f73d1f0e8e83a8c8f55ca47790f703bdeaa7f7247712c8a7ed
+bd97a595a992bdf2a8139ff8f7a8f727158f8a906081890513cff886e215139ff86c
+8b66688389088d860599909f8d9c8c088d610513cff87a987e9f1ea18b95998c9f08
+8ca70513aff89589948a938b938b978f929508879205818c818e888b7c8b729c798f
+08868c868b868b08bfee15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeee
+f70f1f8bf147e02da59ea4c6b0ac9d088b76a47f1e8a067b8a4c516d64878b878c86
+8b0874f70e71759f278a8b057ac668ba58b108648605bc60b75e9e54267640328b20
+08fb0eed27f70f1e0e8e83a8e6a4f711bdeaa6f7257701c8a7edbd97a591ad92bdf2
+a803f7a8f704158c8b8f8b8f648189058dcd15618b78a479ab08767f059b6e9f70ad
+81088d6a0579987e9f1ea18b95998c9f088dac05b197a0a99399087798056e5e6685
+768b08b8f72a15f8f90afb1b16f8fa0aeaf70c15f8fb0afc3304f70feeeef70f1f8b
+f245e12ca49ec3b7b9beb7086390055865685b7a50088a8b9ff071a174fb0d05868a
+878b868b6db24dc47b8c088a068076728b1faa79c369a072287542328b2208fb0eed
+27f70f1e0e8e83c7e0f710f7d27712c8f70ebfe45a95828febf71413f9f7d8f7b315
+9997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697999a977f7d7d7f7f7c7d
+8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7b9beb708639005586568
+5b7a50088a8b9ff071a10513f374fb0d05868b878a868b6db24dc47b8c088a068076
+728b1faa79c269a172287542328b2208fb0eed27f70f1e86f72515a08bb091a8b808
+9f7e05837d766d647f088a6a058a77817d758b08777e989d1f89ac05699577a67ba8
+08a097059d6b9e72b58b088a701513f58a64958d0513f386af050ef7189376dbbcf7
+29b4f72cbc01f747bdf7f4be03f851f85e15dfbf51411f8b7e897e887e762f313c28
+8b368b57c48bd68b978d988e99a1e9e8d8eb8b0832fc6b159edb05b98fb89db3a708
+b852ada760c505aeaba6b49bb908db8b94b23b8b058d968c968b958bac83aa7ca608
+d0c374a748540571a7669e5c8f089dd9638b793d055a875c79646f0860c2696eb554
+0567696f617d5d083c8b8162db8b0589828b818b828b6a936b9b70084653a16fd1c2
+05a570b07ab98608783b050e553fabf90fac01f7f6bfe8bf03f73df8f715ef70e022
+8bfb188b748973857262fb40fb3cfb18fb176da180a485bd8bf7618bf754f73db4f7
+4792a98ea98ba608f72a2bf707fb4a1e738b55847185084efd2315f721c9f704f5ae
+f72d92a68ea68ba48bf457de43baf7008bf701fb018bfb218b768976867566fb34fb
+37fb35fb4c8b080e553facf90fab01debfe8be03f8644c1528a635f38bf7198ba28e
+a391a3b3f741f73df718f716a975967391598bfb618bfb54fb3d62fb48846e886d8b
+6f08fb29ebfb07f7491ea48bc192a49108c8f92315fb204dfb042167fb2d85708870
+8b728b22be38d45cfb008bfb01f7008bf7228ba08da090a1b0f734f737f735f74b8b
+080e875db9f703baf7eabef7257701f714bec5bef786bf92bd03f7a7f7031573fb03
+218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda4f48f9b8d
+9c8b9b8bc870c455a9d8b1bcdc97bd0859068059462c248b408b60c68bc78b948c94
+8d9308590688818a7f8b7d8b5e9a52bb6c3a664a3f7737877a897b8b7a8b3db83ff1
+7c08f70cf81915f8fc0a0e875db9f703baf7eabd01f714bef7f3bf03f81ff88815f8
+fc0afb0cfc191573fb03218b805df68b71fb0fba8baaf70ff68b96b9218ba7f70305
+f70d9beceda4f48f9b8d9b8b9c8be54fdcfb078bfb158bfb08266ffb0b877a897b8b
+7a8b3db83ff17c080e8775bcf7ebbaf703b9f70f7701ebbef7f4bd03f7afa6153757
+c5d61f8b978d988e98a0e8e5daee8be08bbf518b418b7e897e887d752d2e3e2b8b08
+f70cf81a15a3f703f58b96b9208ba4f70f5d8b6bfb0f208b815df58b6efb0305fb0c
+7b2a297222877b897b8b7a8b31c63af7088bf7148bf709f0a6f70b8f9b8d9c8b9c8b
+d95ed6269b080ef575b9f7ebbcba76f709adf37701ecbef7f4bfdeb903f8b4f75715
+90a08e9f8b9d8bc771ba5ca608f733f76c0589768a788b798b6b8f6e946408b68705
+85bd87b18bb28bae8eb090b90878950523535577246f08a06905d29ab49ccaab08fb
+3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38bf70d8b
+f710eda6f70b08fb49f74015dfc050411f8b7f897d887e762f303c288b378b57c58b
+d58b988d988e98a1e9e8d9ea8b080edfe0ba65b9f817b412f72ddbf71dd313b8f7cb
+f8a315b69b544f1f8b6d876d857178375b454c7379846082768b088a06848b7a8389
+830886768b8705888c888c1e1378f80294058f8b8c898a890860fb519279ceaab5f7
+4ac88d05908e8f928d948e948995878e08508cebf835768d57802efc260588888887
+1efb5706bca9cbdfa1e990a38ea48ba38bda6acf3c8b2f8b45597e508a878a888b88
+8b79987f9f8b08a78b9b9f8e988c928c93898e8b8f8a908e970892a9a291b98b080e
+58f7e5baecba01f7c7cee5d203f79bf8f6157839518b057f8b7b7e877b89828e8295
+8b08cf8bfb03fc789179ceaac5f79105b5b9bca7ca8ba88ba76e8b658b858b858985
+805a6a4e716672695f4c805a877d8a7e8b7f088b6b9771a17308c9839696056fa77f
+a38ba98b968c978e9896b7a8cba5afa9b2b9cd96bb8d978d958b958bcb57ab4e8b08
+5a8b4269696708b1f73bdf8b05978b9ea18d978d938990808b082c8ba0e6748c050e
+c330abf737a5f73fbaf747a901f763bff700be03f76cf8771544fbc90584707a7a62
+8b088806868b87888a860887798c89058bd18daf1ea78bb8f759f28b58fb6f056381
+6870805c8a858a848b858b5eb672b58bbb8bc9a99ac88c918b918b918bab75a16c94
+08bef770ec8b5dfb59a78c05afd0888b1f8d8d8f9e058c90898e878b088806697e96
+9e1f8b8f8c8f8c9108d3f7c80591a89c9ab48b088e06908b8f8e8c91088f9e8a8d05
+8b4488681e6f8c5bfb632a8bb4f7427b9a6b8b757c62fb42258bbbf7636f8a056845
+8e8b1f89898778058a858d888f8b088e06ad9881771f8b878a868a8608b8fc761591
+a4a6a7ab8ba78b98778b768b878b878a8782666f746f8b718b7b9b8ba58b918c918c
+91080ef78d5db9f91b7712f75bcc5bcc13e0f83a5d15f68b96b9218b9ed605f74f9d
+f4f71db4f74590a09293938b978b9979927d08af8efb03f743058a8a888b8a8b8b8b
+66fb32887b68fb2a43fb0ffb287f08ecf8120591a49197938b938b957d9b7108ae8e
+2ff723fb37fb23ac8805a6a59d99948b908b8d878b828b858a838981083afc120524
+9365c78be40813d08bb092b595b88b8cb3f7418b8e08848afb53fb44ab88059b9ba1
+9b988b918b8f878b818b878a868a850813e0816186648b688bfb0cc63df71e7d088a
+8a7b41218b805df7008b70fb0fbb8b050e494bbbf7b6bcf70377f718bc01f86ad503
+f867f852157d4d5853548208a4f703788f547a752a398ebdf76bf71a93928b05b4b7
+76561f8b838a83898108fb18fb4515ea8ee2d3a2f28e988c988b9608d353b2391e81
+8bfb6783fb1cfcdfa17dbda0c9f79fdd883efbe3f784909daf8a98fb4385050ef7df
+f8cdbf12f721d4f73bd970c1f828d613e8f811fb0d159379d1aa05d3f7c8f73cf80a
+f7198bb08ba0718b5e8b7f897d887c8161735e645908bd82a49405b2bda3ba95b78e
+988d988b978bcf5ebd468b0813d8fb458bfb13fbbf4efb3e08820690c18fc28bc08b
+f73868f722fb088b3d8b324a752f887b89798b7a8b6e906e946d08bf83a3930580a8
+85a88ba78b9b8d9b8f9b9accb5b8bb8bd68babfb0b8bfb35088bfb1078fb286bfb1e
+080ef777fb04c4f802baf767ba01f743c5f811c503f802f7eb1539633c437424877a
+88798b7b8b21db38f7058bf7198bf71bf704a9f7148f9e8d9d8b9b8bd663c157ac08
+c5a1a9a5bdcb08abb305b2bcb0a4ae8b08958b95ba708b05598b56635346085f5605
+6f676f72717d717d6d84678b668b7092789978997ba47eaf0879c00573d167b25a8b
+086f8b805c958b05ae8ba4729c5a08986305a2449f76b677089afc22153052c8da1f
+8b998c998f99a3f5f2d9f08be68bc44e8b3b8b7d897d887c74282938208b080ef731
+65ba82baf86ab97fbb121360f7a2b515f702f87205a689ac8ab28bb18bac8ca78d08
+fb02fc72056e8e6a8d678b08678b69896d88083f861513805f855c82577e08805c05
+1340f1a4f698f7028b081390f7038bef7ee6720895ba055d986094639108f703f879
+05ba91bb96bc970896bb0513203173217ffb0f8b081390fb0e8b26973ca308805b05
+b67fb681b886080ef7a7a8c3f724b3e0b4e576d4c301f719bbf76cbde3bbf76dbd03
+f96bf81f15398b354d7737887f8a808b818b57ac6daf7759784e81438b228b25a426
+bc08716a877605ef59ee71ef8bf7088bf0a0e0b5e1b4c8bd9acd8d968d968b968bce
+57b9448b08816215bcad695b1f8b838a8289837d4c5061538b578b6aaf8bb98b928c
+938d9398c4c3bdc98b08fc5efb1115df8bdcd39edd8d948d948b948bae79ad56a8bd
+9ec995d38bf38bf173f05a08a5ad919e0528bd26a5278bfb078b2677346135615161
+7c4988808a808b808b45c25ad28b0890b3155a69acbb1f8b938c948d9498c5c2b9c7
+8bbc8baf698b5b8b848a838a837d52535a4e8b080ef738fb39c2ecbdf767bcf7a2ba
+12cfbef72fd17eca8ed7f76ad513fd80f8716b1598c6b4c9dad2d3ccbfdba2ee8e98
+8c988b988be24adffb228bfb088bfb193a71fb04887e897f8b7e088b70936f9e687b
+8f818b7c8b378b37467736887e8a7e8b7f8b44bf5cd28be28be9d79ddd0813fb808e
+958c968b968ba583a57ba80813fd8079aa83a78bac8ba28fa592aa9edce1c3e48bdc
+8bc44a8b3d8b7f897e887e74296b5b4d5508474f3f3c763089818a828b828b54b465
+cc8bb68bbfa7c7c508799e0558646d80628b718b789d8bad088b938c938e9508fb78
+f7ac1513fb80bfa9685d1f8b838a8389827d4f525e538b598b6baa8bbb8b948c938d
+9599c6c3b9c48b080ef75ff8d27701f74fd8f704d7f706d8c8da03f7f49815d6f7db
+05b0d9b9c8beb58e7f8d7d8b7a8b74886f846b083cfbeb05857286738a7364755b76
+567c088c6a05bf93ba99b39f9454a461b66e08a0990576ac80a48bb08b988c9a8e9c
+e4c7f70beeaaf71891a48ea58ba48bb483b37bb108447a0574737269716008a4f700
+058e948c958b948bb378b17aad085280056165686375628c918b908b908bb976b27b
+a8086c927079056c706a666e5c089d078bb085ab7fa30873895c7c0593748f728b72
+8b7688768675082cfc2d9379d1aadaf7e905aecdb7c3bdb88f818d7e8b7a8b708668
+81600834fc0c927905f799ac15bff77305aac5afb9afad90778d768b758b75897585
+737325493f4b57080ef744c4c0f70ac1f77bbc01f79fcaf794cc03dac415f8e50698
+8b9fa48d968d948a93808b08fce7067f8b7976877c088607848e86931eb3f73f15f7
+7e8b9cbd056e9d80a58ba98b958c968d969bd0d2c7cf8bc48bb45e8b538b8289828a
+81805f70625a76087a59f77e8b05988b9ea48e97089107918890831efb3c06b1aaaa
+ae94b28e988c988b968bdc4cc4358b248b2039752c89838a848b848b6d98719e7208
+fb32067f8b7976887b8a8a8b898b8908848f86931e0ef709fb3c9cf96a7712f740ca
+55d9f702d99bd0a4d9639f13dcf73ef8b61593778e748b730813ee8b738872856f08
+2efc269279d2aad9f7e805adceb6c4bdb88f818e7d8b798b71856982620834fc0f92
+79d1aad7f7db05add5b6c7c0bb90808d7d8b798b758871836b0841fbd50585728874
+8b778b5e996b9f7108a7670590868d878b878b8380897f8b878b878b888c08777af7
+08840513cda0f70c777b05897c8579828b888b868d87910877a4058297869c8ba18b
+a390ab95b508dcf7f30513de90a08da08b9e8baa85a77ea5083f7f0562656c657363
+8d988c988b978bb083a97da208407f056a6e6c666f5f8b908c908b908bae84ab7fa7
+087489050ee09376f889b701f909bb03f95ef8b1156a8569886c8b588b5e926c9608
+796105ac7eb184b18b978b978c978c08fbcafb8d30f70c5a63e6fb0bfb6cfb43a863
+f76df743e6fb0dbdb32ff70cf7c9f78e05816f85698b698b788c798f7a08b895058a
+988a988b998bc297c9a8cd080ef798fb05bacdb5f75fbaf78da19a7712f776c369c1
+f732c26ec4f768d913e8c0f876f8a1158e828c7f8b7d8b628351833f0813e940844e
+88678b728b669180956f34fb2b736b278b08728b805cbf8b05c08bd98df1f73aa962
+bb7dc18bd88be0c89fdf8e9a8d988b998bc965b6478b4b8b2b55574508970713eac0
+8bd7a7f71c8bf7008ba889a586a20813f2403d7c054c50563e602c8dac8caa8ba58b
+b488ab84a183a6629d5e8c087d7505ae7a9584985f8f7e8d6a8b600813ecc08b4d85
+387b4308967fb89705b4f748f4f714c1bd08f7a1fc14157e4f5d64658b628b59926d
+b8bee1c3ccc28bb38b9f6b8b638b818a808880080ef7a1e1e0159a5cf729f1058e8d
+8d8c8d8b8d8b8c898c8808ba2c058c888c8a8d8b8b8b8d8c8e8d08f721ec058e8e8e
+8c8d8b8e8b8b888d8708b92e058c898c898d8b8b8b8d8c8e8d08f720ea058e8e8f8e
+8d8b8d8b8d898d8708bb28bea650f7290588908a8d898b888b8789868708fb23295b
+ee05888f8a8d888b898b8889888808fb262759ef05898e8a8d888b898b8989878908
+fb1af733159a5cf729f1058f8d8d8c8d8b8d8b8c8a8c8708b92c058d898c8a8c8b8d
+8b8c8b8e8d08f720ed058f8d8e8c8d8b8d8b8d898c8608b82e058c898d8a8c8b8d8b
+8c8b8e8d08f71feb058f8e8f8d8d8b8d8b8d898d8708bb28bea650f729058990898d
+888b898b8789868708fb23295aee05898f898d898b898b8889878808fb26275aef05
+898f898c898b898b88898789080edff7a3b912f790d651d3e9d555d51390f8857d15
+b184b592055eca74ce8bd38ba68ea692a808f70c8b95b90513a8fb0c06a6e5c7e1ed
+e0086391658505333e4e366b2808fb09068d9d8c9e8b9d8bd775cf60c908618e6888
+05b948a3478b468b788978877808fb0b8b805d0513d0f70b0674234c2d2334089a86
+cd9005eee5ccf7019fe108f70906857088718b72088b39a841ac58080ef7358ba001
+f7dbcf03f83ef74a15b08b8b2af48bc48bc8b78bdc8bb37cb765b0fb0ff70b4dd432
+f70230fb043d38252069677a6c8b58082dd069ba1ef68b88ecb58b968b9c7a8b5e8b
+557c6467850876f73ca007659180bd8bb58bbf9d96988b080ef76c8ba0d0f7a8fb4d
+f71b12f78af7c6fb58e042c813a4f841f71015be9292961eb08baa30f28b08d9bac1
+d8b37bf4fb061f4a8b51586d8b0813a8818293951f13b08bacf7039b8bf308c85ac6
+24fb046149551e13a88b24f7027d8b668b7d8188838b0813c4698b57bd498b082271
+30563dbd55d61f13a4f28baae6b08b9a8b8d768b668b57836164830876f72fa00769
+937ebf8bb6080ef738f8b0f8e815fb2e8b82fb1f7a8b7c8b7ff71ffb298b518b346b
+8bfb088bfb11f715fb18dc3408f704fb0df70df71105e6eaf706f70c8bf7108bf704
+3bb0488b080edff7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706eaf5f0ee
+fb06ed32f70139f703080efb6380f739f8a97701f797ba03f7c6f943155cfcb3067d
+907190638b748b70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac
+9f08b0a29ea58bab080e7080f739f74c9bf7e17701f797baf723c403f80ff7f61595
+7b05c99ab1ab98bc8e928c938b938b9a879b839c7ea877a0709a48af61b278b5085c
+fcb3067a916f8f688b748b70836c7d647877738b6c8b739979a67ea082a286a58bad
+8bac95ac9f08b0a29ea58bab08f87407987da07da87fa57fa1789d72947d907c8b7a
+8b818980877f8272767a6982080ef736fb51f73a97f73901f797baf7d6ba03f908f8
+3815fc5a077a926f8f678b758b70836c7c647977728b6c8b739979a67fa081a286a5
+8bad8bac95ac9f08b0a29ea68baa088bf8d7fc34f7618bfcc6057a916f8f688b748b
+70836c7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9f08b0a29ea58b
+ab08f878070ef736fb51f73a97f73901f797b9f7d7ba03f908f7d815fbfa077a9271
+8e678c088906758b70836c7c647977728b6c8b739979a67fa081a286a58bad8bac95
+ac9fb0a29ea68baa088bf8d7fc34f7618bfcc6057a91718f688b088906748b70836c
+7d647877738b6c8b739979a67ea082a286a58bad8bac95ac9fb0a29da58bab088bf8
+13f7d4fb36058ef70e158b41fbd7f7398bd4050e2dfb49c9f712b375abd5bbd7b767
+b8e3bd94969c7692f70612edbf69c6f709d658b0a6c0139302f852f857158d8e8d8d
+8e8c89891e8a888989888b08898b898d8c8e08fb8cfc9a15b59bb4f74459880577fb
+7415d7a3c2ad94b30813b2068c908c908b8f8baa719b6e8b848b7f89828808836a05
+928d968f948b918ba0898b798b898a898b89856e4b7071827583707c73796f767489
+8b8208888f89911e968b9a8f948fa9989a98a593089e8a1578837f89808508826205
+887e9083978b968b979690a20813924af726f8fc158d93919f8f9f8e998d978b9508
+1392469f8295751e708b786e86740813928a8881855b8a8008a48fa48ea48b081396
+12fb09fb621593b805139b127b876e86888b758b7e948b9c8b8f8c8f8c8f98c3f718
+99b28bc08b8b80ae8b988b988d999208868e9189928897818b949290868b818b848c
+818d8a8a8391a287058d8d8f8f8b908b957b95828e7d8e939d768b788b51845d884d
+87fb1471773489838a838b82086d9a6ec01e9c8ba18da69108833e15988b988c978b
+089b8bbff76705748a748774860843fc091513d2228fab05618c78978b9f8b8d8b8d
+8c8e94b3cb8fb08bc18bed9e9bd18e958c948b938bbf5a94588f08805e05ad8aa386
+8b758b888a888a878059518b618b5e8b268776308a858a858b858b6ba170b08b0898
+8b9c8e9f90080efb2ef7aaa9f710ac12f754b071a1f711b013d8f775f7201588da73
+d32b8c888b8688878589858b868b868b67a8729182ad56b98b8b438b798874846d08
+887c90868f8b938b8f918f99b0f729b278dfcab2a9a6a692ab8993868d8b8b428a43
+455a3908aaf71e05b890bcad97c18d928c938b928bb769a7618b558b58607f580813
+e889838b838b848b64a56fb28808b9f72e15a79e7c6e1f8b868a8489858264667470
+8b728b77a18ba68b8f8c908c8f93acada8a98b080ef7a85db9f703baf7eabd01f714
+bef76ebeddbff76dbe03f864f77315819e85a28ba48b988d988e9994b2a1b0a9a996
+7790748b728b7e8a7f887e826375656c6e08a76915b5b2a9bd97bf8f9b8d9b8b9c8b
+ac83aa7ba6ab9eb096af8bdf8bbf518b418b7e897f887e08762e313c288b658b6c97
+749e082af7cb15b08ba980a27863656d597f57877a897b8b7a8b6b936b9b706b7867
+7f658b378b57c58bd5088b988d988e99a1e8e8d8eb8b08fb0cfc191573fb03218b80
+5df68b71fb0fba8baaf70ff68b96b9218ba7f70305b590b29baea1a276aa7bb38508
+74fb03208b805df7008b71fb0fba8baaf70ff68b96b9218ba7f70305f70d9beceda3
+f48f9b8d9b8b9c8be550dcfb088b578b597b606f6ea6629c568bfb158bfb08266ffb
+0b08877a897b8b7a8b3db83ff17c080ef7fffb38b9ebb9f75dbce8bcf723adf37701
+ecbef87bb9b1bfdfb903f91af85c157987a06805d39bb49bcaab08fb3bfb6b057393
+7b8b758b7c8b7c8a7c8887c072b360a408f733f76c0589768a788b798b6e8e709369
+08fba7fc30158b8e8c8f8c8e9acbbbc4c7a88b888a888b887c4b5b514e6e08895d15
+dfadd2d79fe28e948c948c94968d978c968bdf8bbf518b418b7e897e887e762e313c
+288b083d8b59bc84ce08f81fc31590a08d9e8b9d8bc872b95ca608f733f76d058975
+8a788b798b6b8e6e956508b6870584bd88b18bb28bae8daf91b908789605395e5875
+467786b089aa8bab8bae8eb090b90878950523535577246f08a06905d29ab49ccaab
+08fb3bfb6b0574937a8b758bfb148bfb09286ffb0e877a897b8b7b8b29d245f38b9a
+8b9b8c9a8e9535cf4feb8b08f70c8bf711eda6f70c08fc25f7cd15d78bbd5b944b35
+69473e7631898289828a828089808a7f8b378b57c58bd58b988d988e9808a1e9e8d9
+ea8b080ef5fb2dbaeabbf7ebbef722ae01f3bff7f3c1dbb903f807f81015dfbf5242
+1f8b7e8a7f887d752f3139288b378b57c78bd58b998d988e98a1e9e7d6eb8b08fb0c
+fc1b15772c218b805cf68b7930ba8ba2e6f68b96ba218ba4e905f70399f6eda5f702
+8f9e8e9e8b9d8bc96fba5ba608f733f76d0589758a798b798b6a8f6f946408b68705
+84bd88b18bb28bae8daf91b90878960523525578236f08a16805d29bb49bcaab08fb
+3bfb6b0573937b8c758bfb158bfb08286ffb0e877a8a7b8b7c8b32c644e37e080ef8
+c22ccf77ae8ea49dca5ba785a588be9cb17aa794ac6aa09ea579b08dbd7ecc5dcc4f
+a4cd769aaa79ad8ccf12f739adedff00243334ff0048cccca48cc659c3bb9ff724c4
+9aae9eb51320200f3cf7def7f2158b988d979095a7baff00244cccff000ab334ff00
+0bb334ff00034cccff0007b334ffffed4cccff00074cccffffeab3348b788b626076
+8b6a8b6e9b89958b948b958d938e08fffff34ccc748489ffffdfb3348b0882a35c90
+8bdb08f7eafb0815132b0cafbc4eb765a6558b798b7b877f86929591968b9b8bc071
+bd819cff004719988bff0017e668ffffae80008bffffda80008b868a858a87089b9b
+bfaca88b928b94859583838d828c828b087785837e749e85971fae8bff00151998ff
+fff6b334ff0026e668ffffe24ccc9c7eff000d80007fff00068000857e8873717a77
+088b5c606b7c7985747f9181a01e978b988f958e8683787b6c8b7b8b6e986e9e8c86
+8b868b85084c657b601e818d059aa6a1b68bba8b9b849883959c839e89948bbf8bb1
+a4c8ba08fbaf50158b6ab6768b638b7884778478ffffe14cccff00096666ffffc9e6
+68ff001b80008bff003c6667081320200fbc8bff0039b333ff002fe666ff001c8000
+ff0004e666ff000d8000ff002280008bff00038000ffffff80009affffee8000848d
+838d848b7f8b7b898b6e08f8cfc4151320900f3c7c7d7984748b768b799378999c9b
+a096a28b9d8b9e809b7a08fbd5f78c157dae67cc7ba262c560a760a5895575696f6f
+7e7effffd64cccffffe84cccffffdcb334fffff2b3343dffffe2b33450ffffe94ccc
+8bfb03081360201f3c8b4bb958b66d086391fb1fb88b67c47553768b68f71eb3b490
+8c8b05797e7f828483797a65ffffda80008bffffc180008bffffa96666ff00454ccd
+62ff00376667ffffef3334ff001db33282ff0023999afffff03333a3fffff13333af
+76b8448f61d3c4c7d7b2e008a1fffff68000b2fffff28000b58be48bff005c9998ff
+00464ccdff001f6668ff001eb33308f74df749fb50f74605ffffd7e668ff0025e666
+ffffa61998ff0031199a348b688b627e7b84081321080f3cfb09fbac156475a59194
+a1a6b01faf8ba47fa575087077787d648b0813a8000f7c57fb7715807985721f8407
+849388958b948b958d919398ff0008b334fffffeb333ff000a4cccffffff4ccd948b
+da8b9bbd8fa29c81a4889d8b9e8ba0949997081324000fbca78c058a858b878b8608
+1330000fbc7997879596a392a81e1322000fbc8b978593848f081330000fbc878e80
+8b7d8b081324d20fbc7506ff000b8000ff0018cccdff00118000ff0022333393969c
+a6a7a5998b918b9c8498858c858b858b7f087887888684888e9e1e8b8f8b8e8c90ff
+fffc3334ff00008000fffffbccccff00008000888b878b76858b768b6eb8878b738b
+82fffffd8000fffff18000fffffc8000fffff28000ff00388000a9ff00008000ff00
+29cccd8bff002a33330897889988968bb78bff0017cccca2ff00193334a571a46ba8
+668b7a8b85897f858bff0024ccccfffffd3334ff00366668ffffc8ccccff0019cccc
+ff00038000fffff18000ff00038000ffffef80008b81088b735e888b6c8b799d8490
+8bff0004cccc8bff00026668ff00008000ff0004ccccff00018000fffffecccc8fff
+ffff33348e8b8f08ff000066668dff00148000ff00098000ff0007e668ff00009998
+fffffe999affffeb80001e8b81ffffffccccfffff83334ffffff3334fffff9cccc7e
+887d88858b778bffffe83334ff001fccccffffd2ccccff003b3334089b06a29f8ea4
+a76f9484fffff2ccccfffff74cccfffff66666fffff1ccce1f8bfffffb4cccff0000
+199cfffffb4cccff0000ccccfffffb333408718c05132000afbc80977d947b8b6d8b
+707f727b0891078ba47cac7d9bfffffa4cccff0006999affffe1b334ff0020666655
+8b878bfffffe4ccc8bfffffab3348a879686928b968b948f959193088507719e8595
+9e9399991e8b8e8b908a8f08a58905fffff64cccff000eb334fffff3b334ff000f4c
+cc6f8b578b7e6a8b688b838c838c83fffff2b33487ffffcd9998ffffee4cccffffe0
+b334ffffc9b334081360215f7c7f986c99828b08757e77707d9777a21f9b8bfffffa
+4ccc9cff000db3348b8f8b8f8a8d8b8e8b8e8c8c8c0880078b7d8b59c05a08750655
+a03bb78bdb8bae93aea09fa3ff00166666acff000ee666ff0022b334ff000c199cff
+00261998ff000d4cccb09cff00193334ff001b4ccca5a89dad91a0ad75ff00254ccc
+65ff000db3347508acffffcaccccff001f4cccffffca3334ff0009b33463b096899c
+ce8bd88bff00479998ffffdf999aff00326668ffffd0666608f733fb2afb2ffb2e05
+ffffb34cccffffb3b333ffffbdb334ffffee4ccd578b5a8b6d9065a376544c24525c
+7aff0024800078ff002080006fa271ff00148000ffffcb6666ff0016199affffdae6
+66ff000e6666ffffbcb334a56cff002c33338bff002ecccd088bff00386666ff002d
+3333ff0033b334ff0052cccdff0021e666089f0687885d618b4d8b858b868c85ffff
+e180008bff000e999a9bffffede6668b08757e7a7a709877a11f938ba79898979a77
+ab6fbd7f88818a838b820813a8000f7c56b180a61ea78bff000db334ff00104ccdff
+00084cccff000db33308718905ff00014cccff0004b334ff0000b334ff00034ccc8b
+8f0898839a781e0efb1cfb5cb7f9b6b601f748fb3015528bf73ef9b6c48b05f76ab6
+15fbd48bfb51fe0df7d48b95b7fb278bf73ff9b6f7268b050efb1cfb5cb7f9b6b601
+f747fb3015f73ff9b6c38bfb3efdb60539f9e1158260f7268bfb3efdb6fb278b825f
+f7d48bf751fa0d050efb66f7b5a403f74bf79f15f8f50a0efb66f71fa403f7a2f796
+15f8f60a0e6889a870b2f78cb2cbb2f751a81213b8f837f84115ffff63999a8bff00
+1b6666f72005ff00058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f
+8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc
+9998ff000ae667fffff33334fffffa3333ffffe2333408ffffe4b333fb20ffffad4c
+cd8b8464ff0052199a8bfffff399994bffffad4ccd8b8464ff0052199a8bffffd6e6
+66fb6705fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a086c8805
+8787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4ccd428b08fb02
+06ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666
+ff0000e666ff0004cccd08ff0026cccdf75aff009d33338b92b2ffff6366668bff00
+0c8000cbff009d199a8b050efbac81c7f781b2cbb2f76aa8a57701e8da03f7e5f841
+15ffffaa80008bff00228000f72e05ff000e8000ff0040e668ff000a8000ff002819
+988b8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80
+fffffde666ffffeeccccfffffb199affffea333408ffffe2199afb1affffb9e6668b
+8464ff004466668bfffff1cccd4bffffbccccd8b8464ff004180008bffffda8000fb
+3c05fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33
+338bff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b
+838b87918b93088b938e9a94b308ff0023cccdf734ff005a33338b92b2ffffa78000
+8bff000e4ccdcbff005733338b050e6889a870b2f786c691c6f769a81213b895f7a9
+15978805aab7c3a7ae8bff0008b3338bff0008199afffffe3334ff0007cccd8808ff
+ffcc6666fffef6cccc05fffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc
+199a086c88058787897b8f82081378530a13b8540a13786fffffc2b3335dffffba4c
+cd428b08fb0206ffffe84ccdfffff24ccdff000d999aa21f8bff00043333ff000080
+00ff00046666ff0000e666ff0004cccd08ff0028999aff00cf4ccc0599fffff7199a
+ff000eb332fffff9999aff0010b3348ba38bce98bdf6087b91056c59577a6f8bffff
+f04ccc8bfffff0333493fffff03333ff000a4ccc08ff00294ccdff00d2b33405ff00
+058000ff001c1998ff000f8000ff000de668b48f08aa8e058f8f8d9b87945e8a678a
+648b658b5e8c5f8c888788778e8608ad8805ff0026e666fffffc9998ff000ae667ff
+fff33334fffffa3333ffffe2333408ffffdf4ccdffff58333405fffff93334ff0002
+6666fffff94ccdff00016666fffff933338b084f8b494c734a080e4d89a8f793adf7
+1cb2f713a870ad12ff01e8999aff0055999a13ecf81df87f15ffff89e6668bff0010
+199ade0590a8989cd08bff0038b3348bff0035e666ffffee19988bffffad66688bff
+fff1199afffffe3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a
+8d818e08ff00196666f717ff0076999a8b05ffff3b333316ffffb5cccdfc1105866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b728b4d
+82648b0813f4658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdff
+ffff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffc
+ccd0ffffff6666fffffc999808ffffefcccd38ffffae33338b8464050e93fb70aaf7
+4aa6779ff79bb1f7bba475ac12f2d1f705bef73fdc13d380f757d315b5f76705cf8b
+a7868e8408ccfb54059c5bb065c68b0813b3809a8b9d8e978f089f0713d780830667
+8b76af7db40849f76105a293a397a59dc2b1acb995c28e988c978b968bad81a875a4
+63b946904c8b6c8b658a5f8a08139b80618948857f88088779058a878d88918b0813
+d780aa8e918b059d91837c1f8b858a848982082efc73058156855c8b638b828c838b
+838e609767a06fa071a97aa88ba28b9f8f9d929f93989395950892948f968d958d94
+8a9486908590838d848b818b8187858582848480857c857b7f84788b087a8b809081
+93819585a38bb0088bb592c59ad808f794f7c1156d68587a408b08588bc5f7bc05a4
+91a78daf8bc78ba57092839c7792728b708b7e8a7d887e83607769726f080e4081c7
+f7faaa01d9dbf739d903ff01f06666f85a15ffffe83334ffffe8e66605ffffea199a
+ffffff999affffe94ccc8979ff00048000708e7e8e638b208bfb25fb318bfb318bff
+ffea6666ff0001e666ffffe7199aff00073334ffffe9666608ffffc48000ffffc619
+9a05fffffee6667cff0009cccc809b8b08ff0033999aff00324ccc05ff000e999aff
+ffecb334ff001666667eff0022199a8bc08bc3c2c7e4088d897e6105847488778b7f
+8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff000780007e8b
+7066787b818b888b828d8b97088b9491a78f9e08ff00393334ff0101ccccff003680
+00ff0035333405fffffe999898fffff8199c95ffffeefffe8b08fffeb3ccccfffe8b
+333415ff00d81999ff00d2e66705fffffaccceffffe6999afffff94cccffffe5cccc
+fffff7999affffea80005a313e376b8bffffec199a8bfffff46666ff000db333ffff
+f9b333ff0016800008fffffa199aff002be66615ffffffccceff0005199bffffffe6
+66ff000566678bff000566668bf5def735e78ba08ba1849e7f8b8bfffffe8000ffff
+f0999afffffcccccffffe94ccc080efb3781c7f7e8b201f722da03f776f841155688
+05788a848389838a88887f8b8908898e8b8e1ed18bffffcccccdffff1b999affff57
+cccdffff5c666605fffffee6667cff0009cccd809b8b08ff00814ccdff007e333305
+fffffa9999ffffe73332fffffbcccdffffe9b3348bfffff0e6668b679d81aa8bff00
+2c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b97088b94ff
+00036666ff0014199aff0007999aff0021e66608ff000e4ccdff003f8000ff00f666
+67ff00f0800005fffffe999898fffff8199a957a8b08fb62ffff37b333ff001e999a
+ff00884ccded8b05979094a5809308288b95b805ff00043334ff0012b334ff0008cc
+ccff001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080ef71a8aa8
+f7c1b2f78ea701f9019f03f8978915c48bba338d72089f8ba2f70a058d987f92838b
+087b067583929b1f8b928d948d9508ecf88a0590a79c9bb48b08a6068f8b8f8e8c90
+088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9a81761f
+8b878a878a860864fb62fbdb8bb2f7620591a79c9bb48b08a506908b8f8e8c90088e
+9e8a8c058b2d8a6864348c8b1e898a8778058a868e88908b08a506ac9981761f8b87
+8b878a86082afc8a05856f7a7b628b087106868b88888a860887788d89058be88daf
+b2e2898b1e8c8d8f9e058c90888e878b0870066a7d94a01f8b8f8b908c9008bdf795
+f7db8b59fb9505856f7a7b628b087106868b88888a860887788d89058bc48aaf1e0e
+5f8ca6f801baf75ea9a57712f844da5a9f13f4f80f8c15ba8bae308c72089f8ba6f7
+0a058c8c8b8c8b8d08958191841e7b067583919a1f8b938d948e9608bbf7660513f8
+92aa8fa58ba28bbe76a6588b648b437b384808daf7e9758b0575827b877887798865
+857c8b088772058a888d898e8b08ac8f05989282781f8b80897e877b08fb09fc8e05
+856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d8f9e
+058d90878e878b0878067281949c1f8b918c908c9208c4f78c05d4c3b99ca88bac8b
+9a798b648b7a88778672085cfb5e05846f7e7b6a8b087806868b87888a860887788c
+89058bc78da61e0ef7018ca6f8e2a701f90f9f03f8b88c15ba8bb1318d71089f8ba2
+f70a058b8c8c8d8b8c08978195841e83067a8b808e858f8291849079a508fb61f7ca
+f799f75205afa596909890938f998f9c8b089806918b908d8d91088fa0058b558a64
+675d8c8b1e8776058a868e88908b089b06998b8d888a8689837f80737a08fbeffb8f
+bbf7900591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e
+898a8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b
+628b087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c9088
+8e878b0870066a7d94a01f8b8f8b908c9008b3f75fd8c4f73cfb9705957c91848b82
+0885078a888687798b087606868b89888a86088775058bcd8db51e0e698aa8f809a9
+f767a9a57701f8759f03f8228c15c98b9f308c72089f8ba6f70a058c8c8b8d8b8c08
+978295851e7b067d8b808f868e839187907fa50830f765f702d605b0a49691979195
+8e988f9c8b08a8068f8b928e8c900890a1058b548964684c8d8b1e867505878a8790
+1e9e069b8b8e888a88887f6d78818408fb59fb1df703f872758b0575827b87788779
+8865857c8b088772058a888d898e8b08ac8f05989282771f8b81897e877b08fb09fc
+8e05856e7e7c698b087806868b888889860887788d89058bcf8dafb2cf898b1e8d8d
+8f9e058d90878e878b0878067281949d1f8b908c908c9208a4f6ddc4d0fb3705927c
+8c838b858b888b898a888a868589798b087806878b8a898a85088675058bc58dac1e
+0ec48bb2f85976f71bb301f71aa5aca5f7f79f03f87716ba8bb5418d72089f8ba2f7
+0a058e987e92848b087a8bfc168b057a8b838f8d948c908f91939408f86bf89b05a5
+a78f928c93088e0791858e7b1efc3d0679848d921f8b8d8b8c8c8c8b8d8c8c8b8d08
+718e50fb56a5890597b8bae5d58b08f79506928b8e898a858a868784838408fc7dfc
+b105838387838984088707849087971e0efb2a8bb2f7f4b201f7f09f03f7a216b98b
+aa418c72089f8ba7f70a058d987f92848b08fb8a8bf7caf7f005989995968c928c8c
+8b8c8b8c0891858d831efb8d067f868c921f8b8d8b8e8d8f08748f49fb2ca48605b1
+dfab98aa8b08f7228bfbd4fbfb05848286878a85088b8a8a8a829b899c1f0e3e9576
+f831a881a512f733cf50d5dda913b4f7b6f83915a098807d1f8b8a8b898a89846b53
+656b738a938b918b918b958c968f9f0894b1a5a4a28b0894a5154b8b4f618059887c
+897d8b7d8b7c8d7b8e797077747f727d0893790513cca097a59aa39a8b87973d8c86
+08a3fb25058d7f9183978b968b9693949908f771f7ed05a5b59a8ea78d089206918b
+908e8c9008909f058b5f896f6a578d8b1e8675058a888b87908b089b069b8a948a8b
+838b8a8b8a8a8a8a848581817b08fb22fb716d5988c079ed058b8c83b28c8eb1a5d0
+b996bc8c8e8b8e8b8e8b9f799d668b080e2b8aa8f7c4adf790a701f841ba03f7b9f8
+d21591a79c9bb48b08a506908b8f8e8c90088e9e8a8c058b2d8a6864348c8b1e898a
+8778058a868e88908b08a506ac9981761f8b878b878a86082afc8a05856f7a7b628b
+087106868b88888a860887788d89058be88dafb2e2898b1e8c8d8f9e058c90888e87
+8b0870066a7d94a01f8b8f8b908c9008bef798f7208b05ad937b6f1f6c07878c8891
+1eb08b8e8e058eab8ca892ae91ac96a994ab8c8d8a8d888b086706878b8887898708
+7f6d057f6f7f7b688b08fb21060efb228aa8f74dadf72fa801f803ba03f749f7fa15
+49fbb205856e7e7c698b087806868b888889860887788d89058bcf8daeb2d0898b1e
+8d8d8f9e058d90878e878b0878067182949d1f8b908b908d9208acf721f58b05aa94
+7e721f8b85896c05888d87901eb08b8e8e058fac8ea893ad94b49fbc8b92088c8b8d
+891e6706878b87878a86087d6e057e6f7f7a678b08218ba5f7030592a7989bac8b08
+9e06908b8f8e8c9008909e898d058b46896468478d8b1e898987780589868e888f8b
+089e06a595827a1f8b868a858984080ec476a7f828a601dcdaf82ad703e4f7781585
+7189738b768bfb20f70f65f08be48bf756bebbf75f8f9e8d9e8b9d8bdd5dce2d8b71
+8b6e847076085c647a617a420852fb8d055c906b9a79a77ba582a98bb28b9f8ea290
+a5a9f715c3b0a49c087da0055d7427606dfb1508f78ffb7015c2f77f05a5f706afc1
+b18bb78ba6718b488b71876a81637d4b6e615d5d6566617b6085080ed9f821f7befb
+6376121380f743f94b15805885705cfb70d68bb6f75ff71c6b0513407626d58b9edf
+f78553a8d7050ecefb79f7bf4577121380d4fb1915b6f75f418b5cfb7085708157f8
+ddf7118dd7fb9d520513409de0418b7525050ef75bfb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392b277b79ab192a5f7151299ff00098000ff0004
+8000948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321fc
+c9f8f803f88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366
+661e8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8b
+fffffee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff0000
+8000ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b89
+9105ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c8608850689
+948991868b081321fcccf8306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b
+8c8a1e888188841f7016888984878b8b081321fceaf8819886978b9508a092a59fa3
+917080fffff1e66889fffffb19988b1e868905ff0000ccccff0001e666ff00003334
+ff0002199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000
+fffff8cccc081325fcc8f8f7f8fc2815888b8cff000d6666fffff18000ff000a6667
+081331fcc8f8fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bffff
+f3b3348bfffff89998fffffa3333fffff8b334fffff8999a081327fcc8f884fffff8
+e666fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba9
+7bbd6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd
+3333ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989
+891efb9af833158a8c848e8a8b081321fccaf88596899b8b93089d989aa19d9e7d68
+1e8b7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d
+8708ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321fcd8f8878f898d8b
+8f8ba4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d
+8b728bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caa
+a108cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b93
+8a948a93088bad8b94051323fcc8f8a38fa09d1e8f8b8f8992858d7f8e8091830813
+31fcc8f8937c9e87988b0813a7fcc8f8af8b9eb99b8bff0006b3348b8cfffff08000
+ff0001cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7
+cccdff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74c
+ccffffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffff
+ee6668fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a
+9a819c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a3333
+081369fdc8f88ba1ff00148000ff000533338bac081369fec8f88b9c849c8b998b95
+8eff000b333393ff0006cccdff00074cccff00063333ff000bb334fffffdcccd978b
+ff000a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff00
+0be666fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b333
+7799ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e666
+fffff00001ff000d8000ffffe79999ff00043334ffffedcccd8bfffff266668b838a
+858985817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08ffff
+f08000ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196
+838a928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff
+001c1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e666
+ff0009e668ff0007199aff000c8000ff0003800095ff0001999aff00048000ff0000
+199aff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666ff
+fff18000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff00
+12199afffff2b334ff000f199affffe6ccccff000d6664ffffe9999aff000c6668ff
+ffe033338bffffbe33338b778a788878081323fcc8f8858f858d868b7c8b7f7b8b64
+8b7c8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e
+8bff00064ccdfffffb4cccff00089999fffff6b334ff000a999afffff5999aff000b
+e666ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffff
+e69999ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff
+000a999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58b
+b685a0880813a9fce8f8ff0009999affffe76666ff0016e666fffff3999aff001f80
+008bff001e99988bff00176668ff0016999aa2ff0013b333ff00111998ff000eb333
+ff00178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff001699
+98fffffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed33
+34ff000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff2
+99988b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b
+48081369fed8f88b4394678b708bffffe3e666ffffec199affffde999affffe2b333
+ffffdeb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddcc
+ccfffff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffb
+b333fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666ffff
+f1199afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff00
+028000fffffacccd8381ff0003cccd8c827682fffffb8000fffffae666ffffff8000
+ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999affff
+f8199985fffff8b334fffff480008bffffed8000081361fde8f88b8092688b838bff
+ffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333ff00
+14e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff0019cc
+cd8b9f8ba192999f08a396ae8ea78b080ef8e867aeaef70380b29fade4f7023cf71b
+dcd512eebcf864b4f73ae795f70d13d7e0f8786715c2f706b5f0bb65d3231f4a8b31
+6a7c8592d6c2b3ac9c9f96bb9bd48be58bc668ac6eae6ca4668b708b777b74708b08
+6d8b80a3749e867c897f8b80082ecd74b3abcfabd11e8ba786b080a39487b385b08b
+ba8bcb9abf9f49d857bf35aed89fa4c58bb68bbc5ec04f8b08628b656d7657989097
+8e978b08a5a07b68695f7a691f808b728d6d905a924892598b478b467961716472fb
+003b8bfb310813bbe08389828a818b08594f99cab2a7a6bc9f9a8dafaa7cb46d1f75
+8b5758786a796b866d8b678b33e075cf8b978b958b978d088f4bcdfb00f7148b0884
+ae15648b61a171a676a183b48ba98b908b908c8fbc9dc39fbc8b08e3a764515b505a
+3f1f0ef8e8ff0365ccccff0208999815ffffce3334ff00174cd0ffff86e668ff000a
+3330ffffd53330ffffa48002ffffebb334ffffd480008fffffaeb332ff005e33345f
+ff003ae668ffffe48000ff005f8000fffff7b334ff00101998ffffff199affffd9e6
+684affffbd3330fffff31999ffffdae668fffffe999affffe93334fffffe8000ffff
+cdb334ff0005cccdffffbde664ff001ee666ffffae8000ff0026199affffd96668ff
+0038ccccffffee6666ff0028333408ffffed6666ff002ae666fffff9199aff002c19
+9aff000b6666ff00188000ff00088000ff0012199aff0018199a99ff00187ffeffff
+f49998ff001b3334fffff34cceffffffccccffffe5999aff000cccd070ff000ae664
+ff000b8000ff0006cccc95ff0004b33495ff00276668ff00543334ffffcde664ff00
+30e664ffffdbccd0ff0010e6686eff000d9998ffffb4ccccffffffb334ffffe26666
+ffffc0999808fffff4199affffe6999cfffff4e666ffffdc6666ffffffccccffffe5
+999afffff98000ff00076666ffffde6666ff00166666ffffde8000ff000fb334ffff
+d56668ff0013e664ffffbfb332ff000d8000ffffc86667ff0003e668ff001b3333ff
+ff9e4ccca4ffffbae668ff003f199affffbbe666ffffb1ccccff000e8000ffffd0cc
+cdffffd6199affffedcccdffffd8ffffffffeb3333ffffd3999aff00124ccdffffbc
+e666ff00366666ffffe6999a08ff0025199affffee9999ff002f3334ff000b199ab4
+ff00263333fffff219988cfffff3e668ff00026667fffff51998ff00051999ffffe8
+666796fffff3cccdff00176667ff000ecccdff001fb333ff000e6667ff001ecccdff
+002f1998fffffcb333ff001ecccefffff1999995fffffb4ccdff0015b332fffff399
+9aff0019199affffeecccdff00296666ffffe4e666ff0039ccceffffdd4ccdff002d
+4cceffffeacccd08ff003d9998ffffe33333ff00461998fffff31999ff0031199cff
+0005cccdff002de664ff0006199aff0083b334ff001acccdff00428000ff008e3333
+ff0008199cfffffe6666ff00088000fffffd199aff00091998fffffbcccdff002d4c
+d0ffffeaccccff00306660ffffd9e667ffffe54cd0ffffc6e666ffffef8000ffffdc
+b333ffffdb3334fffff34ccdffffd39998ff0014cccdffffede668ff00088000ffff
+f18000ff00048000fffff0ccccffffdf666608fffff2e668ffffe3e666fffffc3330
+ffffd4999aff001b3334fffff34ccdff0013e668fffff6b333ff0044b334ff001833
+34ff001f3330ff0015ccccff001de668ff00156666ff00114cd0ff00190001ff000f
+3330ff00209999ff00254cd0ff004fb334ffffbc4cc8ff0037e666ffffc26668ff00
+1cccccfffff51998ff0005199afffff6e668ff00043334fffff44cccff00034cccff
+00178000ff003bb3347dff007dccccfb08ff0036333208fffff78000ffffdd4cce15
+ff00234cccffffef8000ff001cccd0ffffda4cceff000c1998ffffdc8000ff0009b3
+34ffffe33332fffff5e664ffffd78000fffff34cd0ffffe4cccefffffde664fffffb
+8000fffffdccccfffffb6666fffffd6668fffffccccc57ff00046666ffffc4ccccff
+0005999affffd3999cff0014ccceffffb04cccff00254cccfffff71998ff002f3334
+ff0018999cff00348000ff00144cccff002b8000ff004a4cccff00136664ff0044cc
+ccffffdfccce080ef8e868aeaef70380b29fade4f7023cf71bdcd512f766f70e94e7
+f73bb3f7a3c2f71ebd13bbf0f9946815f7148bcef7008ecb9889958b968bcf8be1a1
+8be38baf86a978ab78ac57be768b086c7d626c679a899fbca670634d4f7d5a1f818b
+828c828d8bf73120db63a40813d7f062a5459d488b598b488459846d867389808b08
+68609cadae9f9ba51f978b9888988676bf64a9638b4f8b5d568b5a8b60a551d77736
+6856574a3ebf77cb7cb98b08b08bb391958f7f7386668b6f0845cf6bacb3cca2e81e
+8b968997879974797f736d8b718b7aa28b9e8ba7a4b0afaaaba7c6afe58bd58bba7b
+a08008ac7ac26392407b9132ac4a8b082266435b1f26f70661c11e93ae153e50bcbb
+c5a7b2e31fbd8bc377bc79087d078b6d83627675716f6276648b080ef785e2b2f2b2
+f1b301f9e8f82e15fc258b8263f8268b05452515fd068b8364f9068b05a52415fc25
+8b8264f8268b050ef785e2b2f2b2f1b301f711f82e158363f8258b94b305fc14fb22
+158364f9068b93b205fd54fb22158264f8268b93b2050e1c06f4f75af540b3749112
+faf8f70013501c076ff7a115fb80061330f8fd0a1350f8fe0a1330f8ff0a13501cfb
+3416fb80061330f8fd0a1350f8fe0a1330f8ff0a1390f893ae153a0a0e1c0f14f75a
+f53dba7092121c087bf70013501c0e39f7a515fc6b061330fb238bfc7c77fb2a8b08
+84071350f71c8bf89677f7178b08f86b061330ee8bf88a9ff7488b089207fb5b8cfc
+6f9e208b0813501cf6ab16fc6b061330fb228bfc7d77fb2a8b0884071350f71d8bf8
+9577f7178b08f86b061330ef8bf88a9ff7478b089207fb5b8cfc6f9e208b081390fa
+69aa153a0a0e1c164ffb1dc19cbe73c1f725c15fc657c183c06ec1f740c066c08cc1
+74c1121380a0c6f8fd158b8191829586f76032f73a6cf7838bf8688ba3d1f7a18bf7
+d68be045f7318b08138050f7c28bf7eaf0f7d18bf7b98bf72336f7db8bf7f78be2e6
+f7c08bf7d18bf76ffb05f7888bf7bd8bf791f700f7e88b089997979a997f977d1ffb
+ed8bfb9920fbb08bfb768bfb81f705fbd18bfbbc8bfb022ffbe48bfbc18bfb3ae1fb
+bc8b081380a0fbe18bfbd625fbc68bfb318b3ad2fbda8bfb9d8b6844fc618bfc208b
+fb44f70b718b087d7e7f7b1f1382001c05d5fc1e15138900f7ad8bf74b56f75e8bf7
+7a8bf87ad8c58b08138400f78e8bf75645f7b78bf7858bf7a3d6f72f8b08139000f7
+6f8bf83e2ff7448b08f752f7139ac89980987b1f648bbb5afbbf8bfb418bfc31e7fb
+7f8b08138500fb378bfb9e40fb828bfbb08bfb57d1fb948b08138800fb4a8bfb8c43
+fbdc8b08138200fb8d8bfb44bafb928bfb818bfb164efbb78b087c7f7f7c7c977f9a
+1ff7ba8bf714c9f77d8b08f90dfbc615fb578bfbc0a87d8b7d8b7e7f8b7d8b7d957f
+9a8af7237af7367ef7688b0813a000f8198bf780edf74d8bf7878bf76029f8108b08
+13c000f7a48bf71fd2f77f8bf71c8bc27abf678f889189908b9a8b97988b998b9487
+93839038c3288f2d8b08fb878b4047fbd98b0813a000fbf98bfb73edfb8b8bfb4e8b
+fb9029fc0e8b080ec2fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f713
+15f9000a13baf9010a13dc688282611e6d06878788861f8b788d89058bf7078d971e
+13bcf9020a0ef9defb67c296a9729cf714a3c49c84a879a089a86fb293c4f71ca96e
+a0b477f6a3c49b7eaf78a7b2c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55e
+b86abab7b8a7b8bbbba2b796b890b8f70ebb1390ccf207f0f869f71315f9000a1390
+ccf107f0f9010a13914c7207f0688282611e6d06878788861f13924c7207f08b7805
+13914c7207f08d890513924c7207f08bf7078d971e1390ccf207f0f9020af959e815
+13924c7007f095d4b890988b08a1a87d53868888851fbbfb021513d24c7007f07674
+76806a8b608b60ba8bc88b908b8f8c8e08f7320691908f92bd78c93c524f54304aad
+4dde1fb68baea2a2aa08fbd7851513b44c7007f07a8582771e8206888a89881f8b80
+8c8a058bb18ca0a2b48a8b1e8d8c8b96058e888d891e7f067785949c1ff71307c180
+b4551e6c8b6e83655e08898b8dc0828b05868b878a84870813b84c7007f079827987
+7187088f7b05958d928c938b089390866b1ffb2a077a8582771e8006888989881f8b
+808c8a058bb48ca0a3b18a8b1e8c8c8b96058e898d881e83067785949c1ff7280713
+b44c7007f0aaaea195a68b08aa9378601f13904c7027f0fbf5f73c157c987e9b9b98
+989a9b7e987b1e7b7e7e7b1f13944c7017f0c5fbbf15f7728207868b878985880813
+b84c7017f07a8383886585088e7a05968d928c928b089490866b1ffb29077a858277
+1e8006888989881f8b7f8c8a058bb48ca0a3b48a8b1e8c8c8b97058e898d881e8006
+7785949c1ff7f2f8941513905d7007f07a8682771e7f06888a89881f8b7f8c8a058b
+b38ca1a2ba8a8b1e8d8c8b97058e888d891e79067785949c1ff719078b938f938e90
+9aa09896928b8f8b8f898f8790859287978b089b95949a9b8297721f6f8b716c7b74
+088a8b8cc1828b05878b868985887983858865850813904e7007f08e7a0513905d70
+07f0958d928c938b08948f856c1ffb88741595d4b790998b08a1a77d53858989851f
+bbfb031513906c7007f0767576806a8b5f8b61ba8bc80897f73207928f8f91be78c9
+3d524f54304aad4dde1fb58bafa1a2aa0813905c704ff0fc4a7f15f74907a3a4aa8c
+918b08b0aa5f4e466e57521f798b7e8f7f9a08f816047e067f858289808981897587
+828b0813905c7087f08c7c05898c8a8d1e9e8d0513905c704ff0979182691ffbc007
+8b738b81897d089888059091939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b
+748076750813904c7807f0fb62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13
+904e7407f0c4fbc015f772820713904e7207f0878b868985887a8384886585088e7b
+05958d928b938b0813904e7407f09390876b1ffb2a077a8682771e7f06888a89881f
+8b808c8a058bb38ca1a2b48a8b1e8c8c8b96058e898d881e80067785949c1f0efb00
+9476f81ac801f83ac903f752f7b015a4fba4058c7d9081978b968b9495979b08f730
+f77005c0d695b68ba708ae76a37178797d761e8b69a1808b708b74806b78710832fb
+116d658abe7bf74c0588ac8ab6859d869884947c8b628b4f726a2c91839685958b9e
+afa4b0978b9b8bfffffecccdfffff03334ff00073333ffffb1cccc080ef7069476f8
+1bc701f919c703f750f7b015a0fba3058c7e967f938b958b9793969d08f722f78bc7
+fb90058d7f9382948b958b9793949908f718f77205b5d29cbd8ba708ad76a36e767c
+7f751e8b67a57c8b758b7c856e75640825fb3e82bd5df7550589988197778b838b82
+8084800820fb50726089b97bf74b05fffffce666ff0022e666ffffff199aff002919
+9a859d869884947c8b628b4f726a2c91839685958b9eafa4b1978b9b8bffffffe666
+ffffef199aff0006199affffb1e666080e35ffff1c8000cdff02218000bf01f84dcf
+03f75cf7f915879d79947e8bffffeb80008bffffe98000fffff0cccc858bfffff8b3
+338bfffff9999aff000b33348b928b91ff0001b333919091afa0b695ae8ba48b9679
+995608a4249439912e088f8af0f74105a0af8d9c8b9c8bff0015cccc75ff000d3334
+8bae08a19c9da0a4a673681e8b6f7d675f4108fb52fbcc05ffffc26666ffff9ae666
+ffffb6199affffc7999a578b087a6093ab9b94a8bb1f938b9387928591869287958b
+998bff00378000ff00208000b4ce08acc1057af72382d569f728080e329476f805dd
+01f853ff0048666803ff0130999ad715950a0e2b81aef8baae01f7fcf8d3159b8b9a
+859480ff0005999afffffa1998ff0004e666fffff7999cff0003e666fffff4e66408
+ffff1acccdfffe80999c05ff0000b332ff002ee66693ff0032b333ff0007199aff00
+243333bbf78acfb9b68b08ff003f6666ffffa5800015ff0002e666ffffd8999affff
+fc3334ffffca3332fffff28000ffffbab334792f7c4c745866395a827a8bffffdc33
+338bffffee4ccdff001bb333fffff8cccdff0026cccd08f7a8ff01cf800015ff0029
+b334d16e99ffffdd8000ffffc64ccc05ffffed199aff0011199cffffe6b332ff000b
+9998ffffdfb3348b2c8bfb06fb0a65fb5affffee999affffa74ccdff0005333337ff
+001a4ccdffffc6999908ffffcae666ffffa7199aa97cff002a8000ff0047666605a1
+ffffe46667ff001dcccdfffff23333ff0024b3338bd58bf713d9b9f77f9eee85e06c
+c5fffffe4cccff0003666889ff00034ccc89ff00034ccc080e2b81aef8baae01f7fc
+f8d3152c0afb0afcdd152d0a0efb5a89ac01e0f7b403f7a8f70e152e0a0efb198bcc
+f892ae01f722f868152f0a0efb1381aef7b3abf77bae01f723d403f7d6f8d315300a
+0efb0389acf721ba01f801f88f15310aecfbb415320a0efb1f80aef7d1bdf722ce4e
+d31213e0f7e9f75115792c4d45518b678b84a4809f829c7d9a778b798b757a877783
+62d669c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682788408bef73b05ae87
+a986b98b0813d0a88bac8db38f08a7cf858f0513e053855786588b678b698d6a8e08
+32fbb405c29fb08fae8b08c98bb46076fb01080efb0680aef7c6ae01ff00c8e666ff
+0133333415330aff000fcccdff0024666615ff002b9998ff005accccff0050b334ff
+0064e666f71dff0031b3348d978a948490246d4761494a41435b307c3c64fb5ff263
+d58bf7128bd7f7139ce1089ce16ed8fb178bffffe6cccc8bffffd93334fffff83334
+ffffe0b333fffff26666080efb399376f8b8cc01f7a6f8ab15340a0efb0981aef8ba
+ae01f7e9f8d315350af71c3115360afb8efc6015370a0efb0f9476f78aaef7c6ae01
+ff017e199aff0123cccc15380afffff06666ffffdc000115390a0ec181aef760b8c4
+b7f75cae12ff00ad199aff0058b332ffffac3334ff00566666ff0170999aab13f6e4
+f7df15ff0065800006fffffc4ccd7efffffccccdfffff2b334fffffd6666fffff24c
+ccfffffee666fffffa4ccc8afffffa4cceffffff199afffffa6666082b8b6a5e0513
+faff007c199a06fffff86666ffff753333ff0043999affff9bcccdff00a0e6668bc0
+8bcb95aa90a6baa0bc9fc48590838f7d8b67465d42218bffffa9b3348bffffd23332
+ebffffffe666f70008ff00bc33348ba9b80513f6ffff28666606ff0001333495ff00
+01800095ff0001e66695ff0001ccccff00094ccc8d94ff00023334ff0008b33408f7
+828ba9b7fb938b05ff0034199aff00959998ff0068999aff00326668ff003c4ccc8b
+db8bb14995309888958d949291c18fbe8ac26292669e2c8bffff8733348bffff8933
+32ffffa49998ffffc7cccdffff70666808ffffaccccd060e5c89acf2b4ceb5f7b7a7
+01f7d2f70e15ff00024ccc97ff0076b3348b05968b998f8d95088fa0058c8f888d86
+8b08ffff7966668bff000d199aceff007680008b05968b998f8d95088fa1058c8f88
+8d868b08ffff8433348bff00acccccf77b05a9b4999eaf8b958b8a8f8c8f088f9d8a
+8d057689648a838b7e8b528d848c0889898778058a888b87908b0899069e8b928589
+8189838580817e08fb36fb6735f7670587958a988d938d9693909b8b089806908b8e
+908c8f088e9d8a8d057c89498a858b7e8b488c808d088a898778058a8592898e8ba4
+8b97729a6708e1fb68917afb098b05798b847e898308887c058a868c8a8f8b08ff00
+8866668bfffff2e66748ffff89b3338b05798b847e898308887e058a868c898f8b08
+ff00884ccd8bfffffdb3337f057b387a864788848586769085ba8ca88cbc8bbb8ba6
+8abb8a92918fa08691488e7c909bde080efbc6fb40b8f979ac01f7d2f89f159cde9c
+90c38e92918fa087915d8a758a5f8b598b6a8c5d8c848587768f85d5889a867a3808
+31fc4e0566fb48566f6c8b7e8b8093869585988ba06e8b7e8b6a7687758467b9799f
+8bb58ba993b8ae08bbb0ccbfa8f723080efbad78a8f764ab01bdbff71ca903f1d815
+f8c00a579915f8be0a0e5e81b3f805b301f7e4f82315e78ba43a782875fb04513e31
+8b3b8b65dea0f59ff1c7d9e48b0893b315fb1f8b282075fb0574fb0ac6fb03f71c8b
+f71c8bf1f4a3f710a2f70b59f0fb278b080efb8289acf7e6aab57701c8f78c03f73d
+f70e157b387a864788848586769085ba8ca88cbb8bb98ba28abb8a929190a0869148
+8e7c909bde08b1f75b0597c798be8b8b8d93868d828b597b618337798a7f8d819082
+a78ea58ea08b9a8b8d808157080efb0c8bc2f7e8b701f7b9c215f9030a0efb19fb49
+aef7b3abf77bae01f5d503f7b2f82815f9040a0e26fb42acf721baf81b7701f7d9f7
+e31553fbb4fb4c8b05ccdde5f704e0e908ebfbb4153c8bc3f7b80595bd93b28e9308
+8a8d6c8b05848b848587863f3dfb23fb38fb08fb23087c8c70a81ef7588b792f0582
+5d668b6188848587769085aa8cb28cb78bb18bae8aaa8a92918fa086915d8f778994
+ba089de7cd8b05988b9e9e8d978d958891808b080efb2ffb4baef7d1bdf722ce4ed3
+1213e0f7ad9c15f9050a13d0f9060a13e0f9070a0efb0180aef7c6ae01ff00bfcccd
+ff0132800015f9080a9bff0024cccc15f9090a0efb22f800cc9677121380f777f800
+15f90a0a13407e97051380f90b0a1340f90c0a0efb0581aef8baae01f7e5f8d31535
+0af71c3115f90d0afb8efc6015370a0efb05caaef7c6ae01ff0150199aff0078cccd
+15f90e0afffff03332ffffdb800015f90f0a0ef589a8f76ab5f80b77cbe501f7e5e8
+ece703f7e6f97f15c50af7528c15c40afb71fc65153d0afbcdfb6015b30a0ef681ad
+f8ecadb2e501ff00576666ff005ae666ff009ab334e8ece7ff00024ccce403f7e2f9
+7a15c50af7528c15c40a33fb0b15580af79bfbbb15590a0ed481b4f8dfa8bde501ff
+007bcccdff004ecccdff008f6666e8ece703f7eff97a15c50af7528c15c40afb7bfd
+8515660a0ef796fb82ac92acf8bfb29277f77eac7aac12f972ff00568000ffffb880
+00e513e2f90cf81a159e8bff002819988bff000fe668fffffd8000ff00106668ffff
+fd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666ff00008000fffff366
+66fffffa8000ffffe3b334086ffb2505ffffec9998ffff9b8000fffffab3344fffff
+edb334ffffb8800075356979798bffffe4cccc8bff00058000b6ffffceb3348b08ff
+fff2ccccfffff03334fffff6199affffeae6666bb17bb71fff0030b3348bff002880
+00ff001c199aff001f3334ff0030e666ff0030ccccff004c6666ff001d1998ff007f
+3334ff0018b334ff0095666608ff000e4cccff0056333405ff00066668ff00269998
+ff000accccb28bff0011199a0813d17f0a13e5718b4884498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813eaffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666fffff4e666ffffee999affffeb6666fffff2b3337c8b
+fffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff76668ff000d
+cccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9b333ff00
+186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007ccceff0011
+e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff00f66666
+088e9c05ffffea3334ff00bc800015ffffe9b332ffffd59998fffff06666ffffcce6
+68fffff4b3345308558b858bfb0a8b99cb05ff001eb334ff008c4cccff00444cccff
+0010b334a38bff0024199a8bff00103332ffffe9b334ff000e8000ffffea199892ff
+fff56668ff00073334fffff61998ff00093334fffff93334080ea2fb82ac94aff8ba
+b29277f78eac12f872ff00568000ffffb88000e513dcf86df7d5156ffb2505ffffec
+999affff9b8000fffffab3324fffffedb334ffffb8800075356979798bffffe4cccc
+8bff00058000b6ffffceb3348b08fffff2cccdfffff03333fffff6199affffeae666
+6bb17bb71fff0030b3348bff00288000ff001c199aff001f3332ff0030e666ff0030
+ccceff004c6666ff001d1998ff007f3334ff0018b334ff0095666608ff000e4cccff
+0056333405ff00066668ff00269998ff000accccb28bff0011199a8bff000db334ff
+fff8b334ff00076666fffff2cccc8b0813ea718b4884498b08fb01068e9995e5b2d0
+adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effff
+c8cccc8bffffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668
+ffffe0e666ffffafb33478ffffa21998084f880579ffffff199a82fffff7e6668983
+8a88887f8b8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a6667
+60ffffbd6666fffff4e667ffffee999affffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0028199a8bff000fe666fffffd80000813dcff00106666fffffd66
+66ff000a999afffffcccce8bfffff54ccc088bfffff6e666ff00008000fffff36666
+fffffa8000ffffe3b334080ef780fb82acf757bfff00c34ccdff0022b333ebd25ab2
+f780ac1213f4f895f8d315ffff8eccccfc8b05fffffb8000ffffebe666fffff7ccce
+ffffe7199a8bfffff633338bffffef4ccdff0009199afffff58000ff001fcccc8bb1
+8b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766688bff00
+0799988b92fffff8b33390829d6b96ffffcd3333ff00146668ffffd2cccdff002099
+9843a46cb48bad8baeaaabc384938790808b08776e7678808bffffece6688bfffff9
+8000ff0011999afffff59998ff001466666fc27eb27da7fffff04cccff001f6666ff
+fff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b0899ab9eaa
+a77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08d3f7cb05
+9acc95b38b8b8b92888e828bffffece668fffff8e668ffffee1998fffff81998ffff
+e480007cffffef80009affffce999a9affffdd66668b528bffffd46666ffffef9998
+ffffdb8000ffffe266680813ecffffc96667ffffd3b334ffffde666640fffff14ccd
+ffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd0677fb06804f
+81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee99
+9affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff89999ff000bb3
+33fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ffffe46666ff
+fff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666
+ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff
+0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d
+861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666a8ff001a99
+9aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff36668ff000d19
+9afffff0199808ff000e6666ffffee9998ff0010199affffe46668ff00008000ffff
+ef8000080ebdfb82acf757c7f7e8b2f784a801f82ada03ff004e999afb4315fffff4
+e668ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff00074c
+cdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea
+00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb4
+8bb79faab6ff001b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104c
+cdff0050e667ff000ecccdff0053e666088e9cf7688b4efba405fffff8b334ffffdf
+999afffff94cccffffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9
+889884917f8b5d5779817b8b888b818d8b97088b94ff00036666ff0014199aff0007
+999aff0021e66608c6f79bed8b05979094a5809308288b95b805ff00043334ff0012
+b334ff0008ccccff001d4ccc8b978b9c83956b8b678bff000199985efffff6666866
+087e59fb6a8b96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff00
+1bb334ff00118000ff00084cccff000c80008bff000e80008bff00128000868e7bff
+0003e66676ff0008199a71ab8b08a1999c9db15ba34f1fffffeae6668bffffe0199a
+80777bffffdfb334ffffe61998ffffd64cccffffd9666865ffff4e80000849880579
+ffffff333483fffff7cccc89838a88887f8b8908898d8b8e1edf0673fb06fffffb99
+9affffc4199afffff36666ffffb4e6667b2cffffef4ccdffff5c6666ffffdb4ccdff
+ffc6999a080ef7a781c650bfff00c34ccdff0022b333ebd26caaf760a8a57712dedd
+f751d0137780ff01b6ccccd315fffffb333477fffff8199a728bfffff633338bffff
+ef4ccdff0009199afffff58000ff001fcccc8bb18b8bb8ff0007e668b008ff002419
+98f73605938e92ff00004ccdff000766688bff000799988b92fffff8b33390829d6b
+96ffffcd3333ff00146668ffffd2cccdff0020999843a46cb48bad8baeaaabc38493
+8790808b08776e7678808bffffece6688bfffff98000ff0011999afffff59998ff00
+1466666fc27eb27da7fffff04cccff001f6666fffff9b334ff000d999a6a94088b8f
+bfb905bcb7a69d9f8ba58b877dad8b0899ab9eaaa77592701f6b8b4e65434b0863ff
+ffddb334057afffff14ccc767b768b08d3f7cb059acc95b38b8b8b92888e828b7081
+437e628808887305888c898f1eaa8905989385751f8b80897a86750813af80fbe8fc
+d115f7010a0ef7c281c6f7dec76caaf760a8a57712deddf751d0f7a1dd7ada13de80
+ff0207e668d315ff00261998f73a05caddccc6af8ba08b99858b6c8b7d8978836908
+65fb340513df00f9100a13de8093ae90a28b9d8bc7709f648bffffcc33348bffffcb
+4cccffffeb3334ffffa4ccccffff954ccc08ff003cb334ff010f800005ff000e8000
+ff0040e668ff000a8000ff002819988b8b8b92888e828b7081437e62880888730588
+8c898f1eaa8905989385751f8b80fffffde668ffffeeccccfffffb1998ffffea3334
+08ffff92ccccfc7f05fffffb333477fffff8199a728bfffff633338bffffef4ccdff
+0009199afffff58000ff001fcccc8b08b18b8ab7ff0008e668b108fffec919983915
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c66660813be00f729d1e3d899a7866a1e8b8589838886fffffd66
+66fffffbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4
+ffff9380001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccff
+ffcbccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00
+178000ffffdf199aff0014999affffe3199aff0022ccccffffece666ff0028999a8b
+080eb881c3f7ecb201f4daf767d803f8bef8411595b8058f9d94a98b978b9c83956b
+8b678b8d5f8165087e59fb6f8b95b805ff0004199aff0011ccccff0008e666ff001e
+33348b978b9c83956b8b678b8d5f8165087e59568805788a848389838a88887f8b89
+08898e8b8e1ed18b47fbc105887c89818b7f8b60a278b08bb68bc4a9b0bbfffffc99
+9aff0008b333fffffae666ff0006e667fffff78000ff0003666670756878778b7b8b
+88ff000de6668bff0011199a088b998fa091a308c6f792f76e8b4cfba605846b856e
+8b788b67a381a48bb48bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b
+9490a392ab08c9f79ded8b05979094a58093080ef71981c6f7e9b2f785a701deddff
+0075ccccff00238000ff0023b334d0d2da03f8ecf8a015ffffff8000fffffde668ff
+ffffb334fffffe3330ffffffccccfffffe4cd0fffffd4cccfffff36664fffffe199c
+fffff2199afffffc9998fffff3199a087e59568805788a848389838a88887f8b8908
+898e8b8e1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b
+679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b81
+8d8b97088b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b0597
+9094a5809308288b95b805ff00043334ff0012b334ff0008ccccff001d4ccc8b9708
+ff00004ccc07ff000e9998ff0065b334ffffd1b334c9ffff87cccc8bffff8c33348b
+ffff838000ffffb419988bffff87199c8b7291ffffed3332ff000fccceffffed6666
+ffffd7ccccfffffd6668ffffc3e667ffffe64cccffffd8cccd61ffffcf4cccffffcb
+ccccffffde999affffb280018bffffa633338bffffdee666ff000680005eff001780
+00ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8bd3
+8bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffffed
+1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff00
+1366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666fffffb
+b334fffffd999afffff54ccc8b85087b957b9ca6a49fa41e8bff001d800089ff0027
+b334ffffd03334ff0011b332ffffd73332ff0019999afffff1e666ff001666668bff
+002500028bff00733330f71bff0027e668ff003566688bf28bff000acccc52ffffeb
+800032080ef71d82b464bcf755b2f720a9121370f89ab5153f8b5dd2a4f608909af7
+b68b05a1eb83f705fb1d8b528b5772595e75ce408e728b398b335d7d5187778d72ab
+8ba48b9e9c8e9b0890a2828091a592aabd9cb28ba08b9e81977ca06f7e518572082b
+7405fb0271465e783b0813b07b47b35eda8bae8bb493ab9f081370b1a205a69e8f8c
+92909574ae58f18be28bc7c5adae087c95055f655c7b558b08f714f77c15fb64069f
+c4c0dad48bb08bbc6e732008fbbc711564fb3e0513b05e6c6a7c738b3e8b89bb91a8
+98c3afb8f739b1080ef911fb78c8bfb7c8c7f7ddc7f74dad01ff00576666ff005ae6
+66f84be4ff005ab334daf736d903f8a2fb0e15fb17bc318d708bfffff5cccc8bffff
+f63334ffffff4ccdfffff6999afffffeb333ff00038000ff00026666ff00036666ff
+00024ccdff00038000ff00024ccdff002c4cccff001d8000b9a0ff00224cceff0009
+6666ff009eb332ff0017cccdff00798000ff0082cccdff00233334ff00b4800090ff
+0019ccccff00024cccff0018b3348bff0017666608ff009c0002ffff96ccccff0063
+1998ffff6de6681efb3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ff
+ffe6ccce8bffffe833328bffff766667ff00524ccdffffa7b333ff00790001fffff0
+199affffedb332fffff6ccccffffede667fffff54ccdffffeeb333fffff44ccd5969
+5a66686308af7405ff000b4ccdff000d3333ff000be666ff000cb333ff000c3333ff
+000c199aff00158000ff000f3333ff00153334ff0004cccdff0008e6668bcb8bc77a
+ef5bca6cd87ad98bec8bf1b2d1c6087f9d0546663d795d8b448b539b3ca808f925f8
+6e15ff00039998ff0011e666ff00096668ff001e199a8b978b9c81956b8b658b8d5f
+8165086efb020541fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98
+b48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f08
+8b8285758471085ffb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e898064
+05826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88
+908b97088b9490a191a508fd47f88815580a0ef82481c757a8f7f4c7f73bb2987712
+f9aadd7ada1332f779f91915132a620a1372a8ff00418000a49fc08b08d006ff0027
+66668bff00056666fffff5e668fffffb3334ffffe31998082cfc7f05856f7c7d6287
+086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffff
+d9199aff0003666680ff000c3334ff0005e666ff001e666608eaf87c0592ad9893ad
+8b08f724069893fffff74cccfffff4b3341f8bffffec4cccfffffde668fffff78000
+fffffb1998ffffea333408ffff99ccccfc6405fffffb333477fffff81998728bffff
+f633330813b2ffffef4ccdff0009199cfffff58000ff001fcccc1eb18b8ab7ff0008
+e668b108ff00261998f73a05caddccc6af8ba08b99858b6c8b7d897883690865fb34
+0513b4f9100a133293ae90a28b9d8bc7709f648bffffcc33348bffffcb4cccffffeb
+3334ffffa4ccccffff954ccc08ff0035b334ff00f4800005ff000e8000ff0040e668
+ff000a8000ff002819988b8b8b92888e828b7081437b628b080e4bfb88aef759aaf7
+17a1f77dc001f726fb65158b8a8a891f8a85887a90829b8bf797c8b9f7689ee765d5
+3b8fd7b6c4d098c598c773a8538b6a8b697ffb127908adf7304e778678057b3f7058
+4681888b8a8a8a8808856d058a888d8a8e8b08ce944dfbb8057c449f6fba8b958b9e
+8f938e088ca3858b057c8b8499a1f108c2f79305b091d294a08bb78b8e61856d7b43
+4e602d5d089575059d90968b9a8bb48bc960742074fb01fb36225a8b080e5f9476f8
+2bbaf760a5a57701f853dd03f842f84e15ffffc2199a8b4dffffca999affffd5199a
+4908ff0056ccccff01756666758d055a7d60816889088b86758a898d8a8d1fca8b88
+7c7f5608fb1afcd68f7fd4a3ff00388000ff00f2e66605ff0045199aff0069999aff
+003be666ff00228000ff001880008bab8b99768b4d8bfb0164fba2fb83fb11089173
+05f7bef70ac3f7a88bf71c8bd07ec6358b080e83fb88a3f764aaf808b2f781aa122c
+bff7c9c2a0d1d5ce65cc13fe806cfb3d158a997c937f8b087a787a717a9766cb1fc8
+8bb8abaac6a0b3b2f728acf72108d3f7dc059ee5c5d4e18bb28ba96c8b608b506171
+6574375882518b718b58b06daf6e0813ff00ae6faf6e8b5a08324671686871a19f1e
+8b938e938b91089884957c8072846b6ba65cd9f4d8ead91e8bec3fbc68a183907599
+8ba88bb8b0abb6a70813fe80b6a8b8ab8bc58bc552b2498b478bfb24735efb638677
+717a6a8b088264c28b57fb89057c457f2e73377130656f6e8b808b79928b928b958d
+8f8e8f088f8e8e8f8b97080ef7537fa77df721f7a1a912c6a8abcdf704d68ba8aea8
+aacdf705d58ba913bd80f7587f15ecdbbce61f8bc651b53eb1689c7aa48ba808b1ac
+afc91e13bb80c4ae56481fa8f7000666aa6996608b318b3d5d8b378b5da270c66908
+13bd80bb6fbb678b5e08535a73591e137d80396ebdd81f6e8a8bfb2205958c998c90
+8b08a28b997dd28b0813b9c0f80d16ecdbbce61f8bc651b53eb1699c79a48ba808b1
+adafc91e13b9a0c3ae56481fa9f7000666aa6896608b318b3d5d8b378b5da370c669
+0813b9c0ba6fbc678b5e085359735a1e1379c0386fbdd81f6e8a8afb2205958c998c
+908b08a38b987dd28b080ef81681aff8eaad12cba9ff002fcccdff00483333ff009d
+e666ff0053e666fffffe3334aabea9ff002fccccff00483334ff009de668ff0053e6
+64fffffe3334aa13fb00f881f90615600a13f700610af86c16589391a3328b378bfb
+01527621fffffdccccfffff44ccc8a808bfffff5999a8bffffa76666ff004d4cccff
+ffd0b334ff0045e668680813f380b974ff0024e668ffffe033338bffffc3e6678bff
+fff4e666fffffeb330fffff3b333fffffd6668fffff24ccd7b3a5a6b428b368b59b5
+8aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00028000ff000d66
+66ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb3334ff002c800048
+aaffffdee668ff000f4cccffffb71998ff00294cce8bff0044e666088bff00068000
+ff00009998ff0006ccccff00016668ff0007333497c8bfb4ca8b0813f340610a0ef7
+297dd2f7b6ba83be72b2f74aaf12ceccf78ea195d83ebfa4b6f739cf13df20d1f745
+1589808a808b808b31cd47e68bf7338bf748f723c1f77899839d899d8ba38bc9a898
+d68c8f8b8e8b8d089f7d947c1e798b7b7f86720885078b7c937b8b800888078a8687
+89838b6f8b5ec43f8b3c8b625a82538a858a868b868b709c839b8b9d8ba19f8e9f08
+8c8e8b8e8b8e08139ee08ba3728a8ba18b8d8b8d8c8d8d9799909c8bb68ba477a077
+6ffb1826fb4bfb548b548b6aa177a808f7e6f859059a9f9eaa8d96089307a07c9c6b
+4e5f634b1ea18d058db0a0a8ab8b9d8b997e8b7c8b8a8b898a8a887b807b7c770834
+fb090513af20848e828d858b082c8bfb2d4769fb5408d95b157fa687a98ba18b968b
+948d9197d0cbdece8ba18b987e937d080e6189a8f728a8f7a27701f754f73815f911
+0af795f72515f9120a0e3c8aa3f76fa4f73ea412f82cdb44d313e8f799f82f1590a3
+8d8dcb8bb28bb9818b578b848a8389827e4f64734a8b084806867215ce0613f0dab0
+69591f8b838a828982815f684afb0a8b5b8b81928b988b908c908c9108fb2c661586
+74ef8d05a38bbb89c38bf7308bc5cb98c98e968c968b958bbc6eaf4a9ab79db3b193
+b20813e88c938d938b938bb66eb6fb0e8b708b5189718b738b628c688c088773058a
+898c898f8b08a306a594857d1f8b878a878a860843fbe805857280836c8b08740687
+8b89888a88080e487fadf83ba801dadbf7e1a503f7a77f15f9130a0e818aa7f82ba7
+01f889da03ada015f9140af72ebd15f9150a0e238ba7f75eabf740a701f7eaa5eba5
+03f889f86215f9160a0efb108aa8f75eabf73fa701f7eba5e9a603f798f82e158f9c
+96919e8b08f70106bb9756671f8b87a68d058db18db293b508fb618b458a2a8d888a
+8775058a8a8b87908b08a306a594847e1f8b878a888a860842fbeb0587777e806b8b
+087706878b88888a880886768d89058bd48da6aadb898b1e8c8d90a0058c8e888e87
+8b0877067180919a1f8b8e8b8e8c8f08aff73fe48b05a49280771f7507888c88901e
+9c8b8e8e058da28c9f90a490a395a792a2088d8b8c891e7a06878b89898a87088176
+05827782806f8b0833060e757fa6f746a5f778a601d9def7eea603f840f73615f917
+0a0ea88aa8f75dabf741a701f842c61586777e806b8b087606878988881f86768c89
+058bd48da7a9db898b1e8c8d90a0058e898e881e76067180919a1f8b8e8b8e8c8f08
+d4f7ec058f9f9896ab8b08a0068f8b8d8d8c8f088f9f8a8d058b36896f6d488d8b1e
+89898777058a878d898f8b089f06a597847c1f8b888a888a88086efb22fb888ba9f7
+2205909f9896ab8b089f068f8b8e8d8c8f088f9f8a8d058b368a706c478c8b1e8989
+8777058a878e898e8b08a006a596847c1f8b898a878b880842fbec0586777e806b8b
+087706878888881f86768c89058bd48da7aada898b1e8c8d90a0058c8e888e888b08
+76067180919a1f8b8e8c8e8c8f08aff73ef7878b050efbb08aa8f82aa801f79af826
+15f9180a0efb9dfb5ca6f8f3a70157ce03affb4115f9190a0e928ba7ff00bbe666ff
+00203334ff00b9e666a701ff00ea199aff00f8199a15ff0020e666ff0099e666058f
+9f9897ab8b0896068f8b8d8d8c8e088fa08a8d058b4c896f6c3c8d8b1e8989877505
+8a888e8a8f8b089f06a596847c1f8b888b888a870843fbe50587787d796b8b087606
+878889871f86768d89058bdf8da7aac4898b1e8d8d90a0058f898d871e8006728196
+9b1f8b8e8b8f8c8e08ff00203333ff0096e66605ff001a4cccffffff6667ff000c66
+66fffffa6666ff000e199affffec4ccd08f0fb1e0591828d848b848b858a878a8508
+887e8d8bc78bdd8b8d8b90a1058c8e878e888b088606768b7c8f7d9f08fb18f74a05
+869288918c918c919594a49f08f70fee05c1b69e8fb28b088f8f8d8e1f90a1888c05
+8b5f8a726f438c8b1e898a867505888d898e989c8a831e8b8687867c7e08fb35fb15
+05ffffe63334ffffebb333fffff06666fffffbe667ffffec8000ffffff8000080efb
+198ba8f829a701f7168c15f91a0a0ee28aa8f82aa701f8b6f812158a8767fbd18b8b
+89738182768b087706878b87898a870886768d89058bcf8da7a9c4898b1e8d8d90a0
+058f868d886c7b8ca81e8b8e8c8f8b8f08b2f7e3058ea48f90bd8b908b8f8d8c9108
+8e9d8a8dfb1289fb67fbf843f7f8fb168d8888877605898d8990ac9a897d1e8b898b
+888a880828fbe4057f637e85648b878b87898a870887768c89058bb58da7aab9898b
+1e8d8d90a0058f878d886d7e8c9c1e8b918d928d9508e6f7c6d7fc08058d868f8990
+8b908b8f8d8f90080ea9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a0e
+827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f91e0a0efb128aa8
+f734a6f76fa701f830d703f79df841159b8fad8c9a8bb88bb07d8b548b80897f887d
+7b3e60674f8b778b6e8c799308fb02fb391587787e7f6b8b087706878b88898a8708
+86768d89058bd48da6aadb898b1e8c8d90a0058c8f888d878b0877067180919a1f8b
+8e8b8f8c8e08a9f720059b83a288a48bf7228bbee797c78d938c948b958bb96fbcfb
+0b8b668b60896f8b6e8b4c8d7f8b08867305898b8990b39c8b781e8b878a888b8608
+0e7cfb2bb6b9af99abf83aab01cfdcf7e0dc03f7eff84e15f91d0af765fb63158f9e
+8d9c8b9c8bf70436d5fb058bfb208bfb0cfb046dfb20877789798b798bffffa26666
+ff0039999affffbfcccdff00591999ffffefcccd08ffffe54ccd77056c8660756e6e
+958795829284a2a8b498978bb58ba176a176a374a473c08bc28bb7a7aaab08799805
+7c7c697c758b5f8b779e779e76a074a0568d08ff00113333ff000e199a05ff000299
+99ffffffe666ff000299998bff0002999a8bf7298bf708f3a9f723080e2883ab72a8
+f754a9f74aa912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bc
+f9210a0efb467fa88e76f851a912caa79ad2f714db81a513bcf831f85415f9220a13
+7cf9230a13bcf9240a13baf9250a0e468aa8f828a901f85ef84415f9260a0e927fa8
+f835a701f70ed503f7a77f15f9270a0e6b9476f852a701f87cf82315fb55fbc553f7
+c88b93059a9594ab1e96068f8e8d8e1f90a1898c058b4389706c4c8d8b1e8a8a8675
+058890898e1eb78b8f778f7608ccfc01058d7a93749e8b9c8b99989ba608f779f7ff
+0599a2989fb78b088e918d8e1f90a08a8d058b5f896f6d4c8d8b1e8989867605888e
+898e1e9406a39685801f8b8689858684080ef7639476f852a701f7817f15a68b969f
+979f08f71af7810592968f918f8b8e8b8c848d7e08aefb7e058d7c8f72a98ba68b9c
+a7929708f76af807059ca8a391a28b8c8b938b8c900890a1898c058b638a726a508c
+8b1e89898776058a898d888f8b08a0069c9186821f87078a868885888508fb4ffbd1
+5af7c7058a938b938c928e9893949a8b08a2068e8b8f8c8c8f0890a0898d058b4589
+656c608d8b1e8989867605888e89901ea28b9f868f70088f64058c848b8589848982
+8782878208fb1afb7b59f7d1058a928b918c908d95928f9a8b089c068e8b908c8c90
+088f9f8a8d058b4889636e638d8b1e8889877605888e89911e9506a18b94768e7908
+c4fc04058c81906e9d8b080e7e8aa8f82aa701f745f81e15e4fb280590838e848a85
+8a868684858608fb24fb230578776f7a6f8b088206868b878a8a870887758c89058b
+c88d8e97e3898b1e8d8d90a0058b8e8b8d888c087c067c8b848f8d948c9092949292
+08f70ff70f05909090908f8b8d8b8e888e8508cffb1205918090838a868a85838979
+8b087806898b88898a880886758e89058be58d901e948bd08aa18a088c8d90a0058c
+90878c868b678b848f78ab0833f73305869488928c938d918f92949308f718f71505
+adac9d8fa78b08928c8e8d1f90a1898c057e8a558a888b828b4c8d7a8b0889898675
+058a888e8a8e8b08a306968b8f878a858a868584818108fb0cfb0a0585858788898b
+888b898e8891084af70405869484978b91088f8e929b1ea9068f8b8d8d8c8e088fa0
+058a898d8b1f738a388a868b838b568c788c0886898775058a88908a8f8ba78b9288
+a366080e348aa8f82aa701f76bc615f9280a0e308baef81aae01f781f83d15f9290a
+0efb78f76dc101d5f7a403f7ccf76d15988b9da48e97089007928890821efb78067f
+8b7a76897b8a8a8b898b8a08848f85931e0e6189a8f728a8f7a27701f848f93415ce
+0afffedf999afc1215f9110af795f72515f9120a0e6189a8f728a8f7a27701f854f9
+2e15ec0afb94fc8a15f9110af795f72515f9120a0e6189a8f728a8f7a277f7597701
+ff01a3e666f91f155906ffffd9999a5dffffd14ccc60ffffd3e6676308ff00111999
+7d05ff002b8000a6ff0025199aa4ff002cb334b1ff001ab33267ff001be66872ff00
+2119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba08ffff1c
+199afc7b15f9110af795f72515f9120a0e6189a8f728a8f7a277d4b78fb901ff01b3
+b334f8cf15e30affff0c4cccfc2b15f9110af795f72515f9120a0e6189a8f728a8f7
+a277d2e601f79ae7d0e703f7d0f8fc15a00af7358c15a10afbb1fc5915f9110af795
+f72515f9120a0e6189a8f728a8f7a277b7a6f704a601ff0182e666f91115f7240aff
+ff9d999a5315f7250affff9f8000fc3515f9110af795f72515f9120a0ecf8bad69a6
+f751aaf747ad71a712f89da4efa413b6f87cad1547067d828f971f8b8e8c8d8b8f08
+b0f730c48b05a48b91818a76088a7505898c88901e9c8b8d8d058ea38d9f91a490a3
+95a793a2088d8b8c891e7b06878b89898987088176058277827f718b08518baff730
+058f9c95919d8b08cf06c88b91568c6608a48f058eb18db294b608fb7a06136e4232
+8d8b1f88888676058a8b88919e9487821e8b8a8b8a8a898a858988878508fb7ffbe5
+05817d7473718b878b88888a880886768d8a058bad8c9e9dd98a8b1e8c8c90a0058c
+8e898e888b088106778090951f8b8c8b8c8c8c8c8f8d908e9008ebf7240591939090
+9f8b08f7058b67fb31058677807f6d8b087b06868b8a888a890886758c89058bc58d
+b11ef77a0693ab9cb3a2bc08738e0571596b63518b08fb21f7fb15a0ab968f988b95
+8b90898b7f8b858a848880086afb24288b057d8b868c8c8f8b8c8c8d8c8d080e48fb
+5ca8ff009f6666ff0021999af83ba801dadbff007f8000ff003f3334ff008e4ccca5
+03ff010380002b15ff0012ccccff00083334fffff6999afffff11999ffffe1999aff
+ffe7e666ffffebb333ffffdbcccd1f778bfffff5e6678f7295fffff7999984fffffb
+800084fffffd999a7fff0016cccd80ff000fb33385ab8b08ff003c4ccdff003f199a
+ff0020e666c1ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc
+8afffff7999a8908ff0020199aff0037b33305ff00443334ff0004b332ff00319998
+ff001d3334ff0036b334ff00396666087b9b0551556377498b2c8b69d18bd98ba08e
+a18fa0aff73cebb6d78bd98bb35c8b48088b85a58e058eb48eb594b8088306688b61
+9d408bfb188bfb12236cfb26887a897b8b7b8bffffa1999aff003b666635ff007a66
+66fffff9cccc08ffffcbb334ffffab999aff0004b3338505ff0010ffff90ff000a4c
+cd8c9e8b080e238ba7f75eabf740a701f7eaa5eba503f809f93e15ce0aff0053999a
+2d15f9160a0e238ba7f75eabf740a701f7eaa5eba503f827f92b15ec0aedfb5d15f9
+160a0e238ba7f75eabf740a7f7507701f7eaa5eba503ff0195e666f91e15ed0aff00
+5f199afb5015f9160a0e238ba7f75eabf740a7cbe612f770e7a9a598e782a513fcf7
+a6f8fd15f7be0af7358c1513fea10acdfb3015fb5c8b4289288d89898775058a8a8b
+88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b087406868b8a
+888a890886758d89ee8dd38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829
+067c818e981f8b8d8c8e8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e
+8e058da28ca090a490a395a692a2088d8b8c891e7a06878b89898a87088176058277
+82806f8b08348babf728058e9c96929e8b08ed0613fdca8b91508e6708a58e058db1
+8cb193b7080efbb08aa8f82aa701adf7c803f794f92d15fffffc33338cfffffa4ccd
+8c868b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff00
+0ce6667c9186918b938bff00083334918c90ff0001666692ff0000800092889508ff
+ffd9999afb1d15f9180a0efbb08aa8f82aa701f7d1f92b15e50a54fb9915f9180a0e
+fbb08aa8f82aa7f7517701ff012de666f91f15e60affffd8199afb8d15f9180a0efb
+b08aa8f82aa7cbe601f702e7d0e703f738f8fd15a00af7358c15a10a4cfb6c15f918
+0a0e818aa7f749b2f74fa701f889da03f7b8f78b15f92a0afb8dfb4f15f92b0a0ea9
+947696a8f82aa7ccb78fb9121378f8ddf81a15f91b0a13b8f91c0afffffab334f8c0
+15b60a0e827fabf83aab01d9dcf7e0dc03f82df93015ce0affff9f999a2715f91d0a
+f765fb6315f91e0a0e827fabf83aab01d9dcf7e0dc03f859f92b15ec0a2bfb7115f9
+1d0af765fb6315f91e0a0e827fabf83aabf7417701d9dcf7e0dc03ff01bce666f91b
+15f7280affffa8199afb6115f91d0af765fb6315f91e0a0e827fabf83aabc0b78fb9
+01d9dcf7e0dc03ff01d0b334f8cf15f7e00affff944cccfb1515f91d0af765fb6315
+f91e0a0e827fabf83aabbee612d9dcece7d0e779dc13f8f7caf8fc15f7be0af7358c
+1513fca10afb06fb431513faf91d0af765fb6315f91e0a0ef7138ba7f75eabf740a6
+01f8cda5eca503f7b3a515258b52d1a8f71eabf72adfbed68bb68ba689856d0842fb
+ec0586748081678b08f84df84715fb5c8b438b4c8c6e8b05fb208bfb0a276efb206c
+fb20e039f71c8b08a78bc98bd48bf7688bb8f707728e0574576b65588b08fb0d067a
+8b818f8f9e08b1f747e28b05a49280771f7507888c88901e9c8b8e8e058da28ca091
+a48fa395a692a2088d8b8c891e7a06888b88898a8708817605827782806f8b08358b
+aaf728058f9c95929e8b08f70506bd8b945b8a6308a58e050e827fabf83aab01d9dc
+f7e0dc03f7f9f84e15ff002d66668bff0025199afffff0999aff00178000ffffe0b3
+3208fffee1199afffec8800005fffff4e666ff0015999a85ff001ae6678bff001fb3
+338ba08ea390a4abf72adec5d68b08f765fb63158f9e8d9c8b9c8bff00334cccffff
+ee3334ff002b4cceffffe1ccccff001fe66608c2ff003b8000719effffcb199affff
+c6800005ffffde3332ff0018b334ffffd48000ff000dccccffffcf33348bfb208bfb
+0cfb046dfb20877789798b798bffffc94ccdff0013b333ffffd34ccdff0022199aff
+ffe1199908ffffc63333ffffc14ccda478ff003a199aff003ee66605ff001ee666ff
+ffed4ccdff0026cccdfffff5cccdff002c33338bf7298bf708f3a9f72308ffffa933
+34ff0082e66615ff0007b332ffffec8000ff0004199affffe8b3348bffffe4e6668b
+758872856f71fb134241318bffffd64ccd8bffffde4ccdff000ce666ffffe8e666ff
+0018999a080e927fa8f835a701f70ed503f830f93015ce0affff4a999afcbe15f927
+0a0e927fa8f835a701f70ed503f87bf92b15ec0afb68fd3715f9270a0e927fa8f835
+a7f74c7701f70ed503ff01cae666f91a15f7280affff48199afd2615f9270a0e927f
+a8f835a7cae601f70ed5dce7d0e703f7dff8fc15a00af7358c15a10afb6dfd0915f9
+270a0e348aa8f82aa701f76bc615f9280af75af86815ec0a0efb038aa8d3a6f76fa6
+c8a701f789f8071591a90591a9998e9c8b08a306918b8c8f8c8c088fa08a8d058b4d
+896667508d8b1e89898776058a888d898f8b08a306a68b8e8485710843fbe8058571
+87856f8a087306868b89888a880886768d8905978bd98d908b988bd789958b088d8d
+8fa0058c8f888d888b087306738c858d91a90895b7059787a08aa88bf7258bcbde97
+c296bf7fdefb2c8b7d8b6e8a6d8a088368159d8fb4919b8bca8bad6a7b417a3b5a6b
+3f8b6c8b788c838e080e348aa8f82aa7cae601f77de7d0e703f76bc615f9280ab4f8
+3315a00af7358c15a10a0e76fb5ca6f740a8f82aa701f754ce03f799f82615f9180a
+e6fb8215f9190a0ef7647fa88e76f851a912caa79ad2f714db81a5bba79ad2f714db
+81a513bd80f831f85415f9220a137d80f9230a13bd80f9240a13bb80f9250af822f7
+0015f92c0a13b9c0f92d0a1379c0f9230a13b9c0f9240a13b9a0f9250a0e7882a877
+a7f768a1f74aa912f795a51378e7d21587787c736d8b087a06878989871f86758c8b
+f7008bde8b8c8b90a1058f898d881e7f066f8b85a090a108b2f74d05a7f71ccfbfe0
+8baa8bbe7e8980877a2f285d5b088c7905908c8e8c908bf7068b8e3485710813b879
+375b74678b5a8b7dac89c50871890587528767877a938b968f918ba28bb07fa38be9
+8bcdd09ad199d06bc6328f888b8a8d8b8d088c8d8c8c8c8d08f726f7368f9b056499
+3a965f8bfb458b422b6dfb20080e818aa7f749b2f74fa701f889da03f7b8f78b15f9
+2a0afb8dfb4f15f92b0a0e6189a8f728a8f7a277c6c401ff010c199aff001d666603
+f754f73815f9110af795f72515f9120affffcd8000f79f15ffffe2999a7f05fffffc
+b33236ff0028ccce59d18bc68bd5bcff001d7ffee108ffffe766689705ffffea3334
+51ffffcb80006b578b558bffffdc8000b0ffffffccccc0080e61fb74b2f74ba8f728
+a8f7a27701f7c9c703f826fb7415ae8bbe9fa2ba087c93057876777c6d8b678b75a6
+8bab8bff002f8000ff002ee666ff00446666ff00473334ff0009199aff000fccccff
+ffff8000ff000c199affffff80008b8b088e8d8fa0058c8e8b8e858b6c8b809484b3
+0850f8090588a27b8d7f8b858b79877e7608fb94fc0f0573677584728b888b88888a
+880886768c89058bb78d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e9095
+1f8b8c8b8d8c8c8b8e8e908e9008d2f40590919290978b08f73a8b9efb08058c878a
+878b88877e7c83728b087a06878888881f86768c89058b8bff002cb334ff0001199a
+ff00221998ff00009999ffffc46668ffffde999affffd8cccc518bffffd0b3338b55
+b26cc18b0873f84015f9120a0e487fadf83ba801dadbf7e1a503f7a77f15f9130af7
+2cf94215ec0a0e487fadf83ba8f74a7701dadbf7e1a503f7a77f15f9130aff004b66
+66f8a115f7160a0e818aa7f82ba7f7567701f889da03ada015f9140af72ebd15f915
+0aff00a36666f84e15f7160a0e23fb74b2f74da7f75eabf740a701f763c7d6a5eba5
+03f7c0fb7415ae8bbe9fa2ba087c93057876767c6e8b086775a6abbec1d6db1f8e06
+93ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e8b8d08b1f747
+e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a395a692a2088d
+8b8c891e7a06878b89898a8708817605827782806f8b08348babf728058e9c96929e
+8b08ed06ca8b91508e6708a58e058db18cb193b708fb5c8b4289288d89898775058a
+8a8b88908b08a306a395847b1f8b888b888a870842fbe9058777807f6b8b08740686
+8b8a888a890886758d89ee8dd38aff006866668b05ffffc4199affffde999affffd8
+8000ffffc5e6668bffffd080008b55b26cc18b080e238ba7f75eabf740a7f7527701
+f7eaa5eba503f889f86215f9160affff356666ba15f7040a0e757fa6f746a5f778a6
+b2c401d9deff007f199aff001d6666ff00bd8000a603f840f73615f9170affff9180
+00f88615ffffe2999a7f05fffffcb33236ff0028ccce59d18bc68bff0049fffebcff
+001d8000e108ffffe766689705ffffea333451ffffcb80006b578b558bffffdc8000
+b0ffffffccccc0080efb198ba8f829a701f7168c15f91a0af772f93115ffff9c4ccd
+fb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe9999
+84ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff
+4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccc
+cc8a080efb198ba8f829a701f7cef7e1153dffffd73334a2ff006dcccc05909f9897
+ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c488d8b1e89898777058a878e
+898e8b08a006a596847c1f8b888a888b8708ffffdf3333ffff668000ffff97cccdff
+ffc98000966dff0054999ab7ffffe06666fb280585728384698b087506878b88898a
+870886768d8905da8c968c948b08d48af7588bacf70e718e0575536c635b8b082a06
+7d818f981f8b8d8c8e8c8e08ff00298000ff00c5b333ff00628000ff00334ccd050e
+a9947696a8f82aa7121360f8ddf81a15f91b0a13a0f91c0a31f92415ec0a0ea99476
+96a8f82aa7f75277121370f8ddf81a15f91b0a13b0f91c0affff886666f88215f74c
+0a0ebffb36a1f71fa7f82ca601f7a3c003f852a6156afb256d75678b08758a959394
+899f751f7f8b7d8788798265c782a68ba28bac97a49dbfb6a7ce9cde088c8cd1f7dd
+0590a19ba1a98b08a0068e8b8f8d8c8e088fa08a8c058b52896d6f488d8b1e858a87
+76058a8891898f8b089f06ab8b917386770853fb9c887b0589838988888b858b8e9f
+7ca540f712fb17f7528b8b08fb118b88888980058a8790888f8b088f06a48b9c6e8c
+790847fbd80586787c736b8b087606888b84898a87088676918a058bc38ca7a9cf8a
+8b1e8d8c8fa0058c8f888d888b0876066d8b83a090a108bff7880590a38f96918b90
+8b9283947b080e827fabf83aab01d9dcf7e0dc03f7f9f84e15f91d0af765fb6315f9
+1e0aff00099998f82c15f7260affff7d33349115f7270a0e2883ab72a8f754a9f74a
+a912f7d8d797d3133cf82cf7f615f91f0afbbdfbba15137cf9200a13bcf9210af76a
+f79f15ec0a0e2883ab72a8f754a9f74aa9f7527712f7d8d797d3133ef82cf7f615f9
+1f0afbbdfbba15137ef9200a13bef9210aff007f6666f515f7040a0efb467fa88e76
+f851a912caa79ad2f714db81a513bcf831f85415f9220a137cf9230a13bcf9240a13
+baf9250a71f7de15ec0a0efb46fb53a4d7aabaa88e76f851a912caa79ad2c1c0a0db
+81a513ef80f7523115a29d7d76706d7d6d1f788b808f709508807505a57f9c86ab8b
+08c8b8a7b5b26da2631f818b838a838908ff00146666bd05e2ff0001e666ff0044e6
+66ff003a6666ff0011b334ff0050b3348d948c938b938bd244ae609a759343a68bbb
+8b8e8b8f8c8f94b6b5abbe8b0813ef40b9bc6b4d1f8b7fa58d97f7008a8b05708b77
+a53b8b458b31627a398a848a848b858b4bd26daf7d0813ef80f92d0a13df80844785
+5f856e9a8d928f988bff000f80008bff00184ccdfffff36666ff00378000fffffc80
+0008ffffdbb333ffffb1199a9284059b91958c9e8b080efb467fa88e76f851a9f745
+7712caa79ad2f714db81a513bef831f85415f9220a137ef9230a13bef9240a13bdf9
+250affff706666f73c15f7040a0e46fb4aa4d7abbba8f828a901f798c2f75ba703f8
+5ef84415b68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc067b
+8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b88
+8a878a870843fbe80587777d806c8b087606878888881f86768d89058b8bff003299
+9aff00016666ff0020e666ff0000800008ffffc88000ffffae199a9085059c8f948d
+9f8b089f9a817b6b6679691f748b848c7194087d7905a2809c85aa8b08cec5aebeab
+709a6b1f828b828a838908ff0021b334ff0034e66605ff0023ccccffffff8000ff00
+388000fffffe999a8b8b088d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08d3f7e6058fa39796a78b080e468aa8f754b2f741a901f896a703f848f79715ffff
+a3999a8bff001d6666f71e058fa39796a78b08b406b68b94718f4308a78e058dbb94
+b894b7087306888580857b8b08fbdc067b8b83918a91087206825f815d7a5c08a488
+05afd39ca5b88b08be06a294847c1f8b888a878a8708ffffe26666fb20ffffaa999a
+8b8364ff0055199a8bffffdde666fb350587777d806c8b087606878888881f86768d
+89058bd38da7a9db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e
+08ff00224cccf735ff005cb3348b050e927fa8f835a7baa6f704a601f70ed503f7a7
+7f15f9270aff00903334f92815d50affff9db3325315d60a0e927fa8f835a701f70e
+d503f7a77f15f9270aff01559998f92315f7260affff7d33349115f7270a0e308bae
+f81aae01f781f83d15f9290af734f78d15ec0a0e308baef81aaeb8eb01ff013f3334
+eb03f781f83d15f9290aff00523334f71415f7290a0e308baef81aaef7587701f781
+f83d15f9290aff00536666e315f7040a0efb198ba8f7ea9cb9a79bd301f7168c15f9
+1a0aff0155b334f8b9156d8bffffee4ccc79fffffcb3347bfffffcb3327bff000099
+9a75b48b938bff00044ccc83fffffd66687efffffb4ccc74ffffe3800066ffffd433
+348208ff000180007a05ff0047999893ff002cb334c9ff00074cccafff00074cccaf
+fffff1999cb0658b080e468aa8f828a9f7517701f896a703f85ef84415f9260affff
+a06666d715f7040a0e46fb8ba3daddc8a8f828a901f896a703f85ef84415f9260aff
+ff4fb333fc8215f75a0a0efb46fb8ba3daddbda88e76f851a912caa79ad2f714db81
+a513ce00ff00b1b3334d15f7140aff00eb4ccdf89215f92c0a13ef00f92d0a13df00
+f9230a13ef00f9240a13ee80f9250a0efbb08aa8f82aa7c7eb01f75deb03f79af826
+15f9180a96f88d15b70a0e3f89a8f73fabf75baa12f7ffd24cd513f0f75cf7511592
+94998ba68b08e106a58b93898c810885fb05058b858a858a8686787f816c8b088506
+878b88888a880887768b89058bca8da6a8cb898b1e8c8d90a0058c8e898e878b6d8b
+7c938bb0088b920513e896f7d8058c8e8b8e8b8d8f9b9992af8b8e8b8e8e8c8e0890
+9f8a8d05578a428a608b5f8b6e8c6c8c0887898777058a878d89918ba68a96888b7e
+8b898b898a88846bfb2ffb996c587a6f7980718b878b86868a880887788c89058bc1
+8da6a9ba898b1e8c8d90a0058c8e898e888b087f06778191951f8f078d92bbe9a3b4
+08f71ef784159d9d87641f88fb14058a767b84798b083c0673828d911f8e078b8bc7
+f707a0b397a09797948b080efbb1f7faabf772a412f70dbd7ebcc6c278bb13e0f7b7
+f88a15a40a91fb2415a50a13c8a60a13d4a70a13c88e9ba196ab8b0813e4a80a13c8
+a90a0efba8f7faa5f76caacba101f7dec003f761f93515f92e0aa32c15f92f0a0efb
+b7f7faabb677f759a601f71ac0f71bc103f7bdf91115f9300a0efb9ef7fea484a1f7
+5fa5cba112f71cbf13b8f7bcf83615f9310a63fb4315836a988b051378f9320a13b8
+f9330a0efb92f7fbaab677f4a7cda401ff0092199aff0036e666ff0084ccccff0033
+ccce03ff014a8000f8b615fb0206ff000b6666a8ff00214cceb0aa8bff001366668b
+ff00123332fffff766688bffffe0b3308bfffff8999cfffffee668fffff76664ffff
+fdccccfffff5e66808ffff7e8000ffffa93334158bff00178000ff0007e666ff001e
+3334ff00026667ff0005199808ff00a9ffff06ff00028000ff000e9998ff0001ccce
+ff000e4cd08bff000d666408ff002b6668ffffee199aff00214ccc4affffad7fffff
+ffb5e667ffffa19998ffffa70002ffffc98000ff001e8000ffffd7e666ff00458000
+1eb98baea2ff0021ccccae08ffffef999a9b05ffffe8199a75ffffe74ccc76658bff
+ffec4ccd8bffffdacccdff0012199a8bff0033199a080efbd3f800a2f74aa8f708a4
+01f7f3bc03f739f83315f9340a0efb97f77aa9f0b6bba1f721a17ba712deb58fb37d
+bbf5b168bb13ed00f81ef8ec15f9350a13f500f9360a13ee80f9370a13ed40f9380a
+fb7efb7f15f9390a13e480f93a0af728f744157c4d6f86778b0813f540f93b0a0ef8
+4b0ef84b0ef84b0efb94f800a2f771a1cca101f0f7d503ff00d58000ff01ee666615
+8dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008a74b05937a
+8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a5
+87950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e
+088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a87
+87848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff4199808ff0033
+999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b87
+8a858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b
+1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080e2af800a2f76cad01
+f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b938b8d878b85
+8b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2a4b1
+8a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5
+a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a888a
+89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c
+9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000e666ff0005
+b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba18b99818b6f
+8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3a3af
+8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d
+988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee6666ffffeeb3
+34fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a0897bf7e8b
+05707f75856b87080ef84b0efb92f7fba4f778a401ff0083e666ff003bcccdff008b
+b333ff003db33403ff00f7999af81415ffffdf9999ffffe88000ff0019999aff0031
+199aff00341998ff001ccccdff00653334ff003db334ff001f33329dffffdfe668ff
+ffcf1998ffffb06666ffffd98000ffffbc999affffd2b3341fffff8c4cccff004be6
+6615ffffcae666ff001f4ccdffffd03334ff0043e667ff00573332ff004accceff00
+4eccccff00648000ff0030199cffffebccccff00329998ffffb0ccceffff87e666ff
+ffd64cccffff82199affffcccccc1e0efba2f77da2f700a5f75fa17caa12f7e2c013
+d8f74ef8cf15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a0efb9ff77da2f7
+00a5f76ba501f71cc003f7bcf83615f93c0ab7ca15f93d0a0ef80e0efc00f7faaef7
+65a801f729bd03f785f8ee15f8d70a0efb93f7faae7ea1f762a212f72bbd13b0f788
+f90a15f93e0a1370f93f0a13b0f9400a0efb98f8f4a201f72df7ae03f76df80715f9
+410a0ef80e0ef80e0ef80e0efbbff800a9f764a801f7469f03f768f90b15f9420a0e
+fb82fb82acf8e7b2f784a801f81bdb03ff004e999afb4315fffff4e668ffffee999a
+ffffec8000fffff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff
+00093333fffff76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe4
+6666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff00
+1b999ab2ff00166666d7ff0026e666f7529bff004e3333ff00104ccdff0050e667ff
+000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90a08c8e898d861ffb028b
+96c405ff000e8000ff004b333499b8ff000e8000ff001acccc9aff001bb334ff000c
+8000ff00084cccff000c80008bff000e80008bff00028000828f788f769371ab8b08
+a892a294b16aad4f1fffffeae6668bffffe5199a80777bffffdfb334ffffe61998ff
+ffd64cccffffd9666865ffff4e80000849880579ffffff333483fffff7cccc89838a
+88887f8b8908898d8b8e1edf0673fb06fffffb999affffc4199afffff36666ffffb4
+e6667b2cffffef4ccdffff5c6666ffffdb4ccdffffc6999a080ebefb82b086b0f8c3
+b2f779a487a812f92fdb1334ff01ed8000f8ce15ffffff8000064d8bb0e3498b738b
+ffffc0b334ffffeaccccffffde4cccffff703334087c4bf74e8b05ff000e4cccff00
+3d6666ff000dccceff002d6666ff000d6666ff0022333408ff002a800037157e52f7
+028b05908d89888a86768b1f89837c87818b082e8b877a05ffffceb334ffff2e4ccd
+ffffe04cccffff36b3335c3a081364674f62705f8b084680a89f9090a3a81f9c8b93
+809381938093829b8b988b958e9a9aa7a7a1f7039df70aff0009199ac7ff0010b332
+d8ff00073334ae08a2f704fb4e8b877a05ffffcb999affff214ccdffffe16666ffff
+34b3335d350813b46547616c5d8b084580a99f9090a2a81f9c8b9481928193819380
+9c8b988b948e9b9ba7a7a6f7179ff71bff00094ccdca99ff0037e666ff0009b333ff
+002f199a08a2f704448b0588898b8d1f8b8d8e978c8e8d9393979d8b08be0693b2af
+f76bf7458bff001c80008bff003a6666ffffea4cccff00144cce69ff000d1998ff00
+15199cff0018999cff0016e664ff000c1998ff0009b33408136c9f9bff0029e66896
+ff001519988b08c7ac69658284746e1f6b8b83a587a0879e9194748bffffed66688b
+ffffc799986268fb2c080e99997691a86f9ff79bb1f7c4a8121318f847f90515ae8b
+a789a285084cfbbc588b05408b5f9c7aae7ea785ad94b608a4f70ae3a8c88b089ca8
+154c8b4386525d6069716381597e549a5db2659d79c273af873e746a5d6e60081338
+4a295743559308827705139894879d889a8be68bcae1b7d6c4e9b9aee98b085efb67
+051358856c797e638b0871061338878b86888a860887780513588d89058be28db2ae
+e9898b1e8d8d0513388f9e0513588c90898e868b087006628b819b91a708f6f88a05
+91a7929ca58b08928ba88805918b8e8e8c8f088f9d05838d4696fb2c8b080ef7e096
+76f906a901f7e79715f75bf82ccbfc2c058d7d9283998b998b9093929808f7b5f8c8
+059dac9296a88b089f068b8b958b8c93088f9e058b568a6a614d8c8b1e867705888b
+87901eb2069f8b9388887d8a85887f868108fb4afbf6582881e149f801058a988994
+8c918e9a938da08b08a8068f8b8e8d8c900890a1058b468a5b63438c8b1e8676058a
+868d88928b089f06b18b9b798e70089b31fb1ffbb464387cee4df7fe058a9688938d
+928e9894909e8b08b1068e8b8f8d8d92088fa0058b3b8a5865508c8b1e8675058a86
+8d88928b08a006ac8b927e8e6a08ebfcc2058d7c91849a8b998b96949298080eb694
+76f908a801f8f6f8d215fb56fbfd59337ee64af7f8058a948a928d918e9a9792ad8b
+08a606908b8f8e8c91088f9d898d058b328867643e8e8b1e89898779058a858e888f
+8b089706b38b977c8f6e08f2fcc5058d7d9282968b958b9694929908f7c4f8c7059e
+ab9c97ab8b089b06908b8e8e8c90088f9e8a8d058b51886864598e8b1e8889877805
+8a868e88908b089306a88b9b8a87798a8587838580080ecb60a49ca8f7bab4f793a7
+01f812f72915d6fb24b75ef703880899a4055aa34add6dc808fb07f76cf781f75405
+aea6b8adb48b089e06908b8e8e8c90088f9e898c058b478a67643c8c8b1e898a8678
+058a868f888f8b08ab06b78b615b6b7208fb4dfb260574786b7a6c8b08b8f7670591
+a79c9bb48b08a506908b8f8e8c90088f9e898c058b2e8a6764348c8b1e898a877805
+8a868e88908b08a506b38b977d856d0820fc8a05856f7a7b628b087006868b88888a
+860887788d89058be88daeb3e1898b1e8d8d909e058c90878e878b087106638b7f98
+91aa08c0f78e05ae8b977f9277080e988ba7f794b1f7baa57ba71213d0f863f80915
+6c69577a418b08588bcaf7bc05a490a78eaf8bc78ba5709282a46f8d628260088261
+7768716f08fbeafbc115856f7a7b628b087106868b87888a860888788c8a058be98c
+aeb3e18a8b1e8d8c8f9e058c90888e868b087106648b7e9992a908b8f76805ce8ba8
+858e8408cdfb6305cefb66f6a9bc9d088c9f055c8153ae61f71c0848f77005a392a3
+97a69dc2b2acb897c295bd83b46fad64b846904c8b6c8b658b60890813e0608a4885
+7e88088878058a878d88908b08aa8e058d8c8d8b8e8ba58b8b7a856e080efb8afb40
+b8f97da801f7daf89f15ff0010999aff0053e668ff00116666ff00081998c38eff00
+053334ff00046668ff000280009bfffffa4cccff000899985d8affffe9b3348affff
+d44ccc8bffffcdb3338bffffdf4ccd8c5d8cfffffacccdfffffb9998fffffd80007b
+ff0005b333fffff76668ff00384ccdfffffdb334ff0015cccdfffff8b3348bffffd9
+e664088b7ffffffdccccfffff08000fffffc199affffec33340834fc4e05ffffdc4c
+cdffff4a999affffc9b333ffffe566666c8b7e8b809386958598809c6e8b08fffff1
+e666ffffe08000ffffedb33370ffffe0199aff002bcccefffff03333ff0012cccc1f
+b58bad92b8aebbb0ff00404ccdff0032e666ff001cb333ff0091199a080efb04fb76
+b1f7b0b7f777b866cc12d5c66fa6f75fd413eaf73df719156057a27d05a6a1c092a0
+8b9e8b9d87998308fb073505435563548b640855bd75baf717f5f714f51e8bab7eab
+75a408d2bf77a63f520577987b93708b748b6d847682d2dad2e1c6d4a4a99da0959b
+08709a0574717d857b8b768b6d905d980813d67092738e688b688b5e4a7a5008a683
+05a0ba9c9fb98b0813eaaf8bb783a88b9c8b9a8a9789083e3350434b4408f7314415
+91818e818b8008fb012efb024c7f699aa41e8bbea2aae4ce080efb1dfb32abf882b7
+6ac912d3b87fa613d0f7d0b01580383d3b5b8b778b618c8ba28b9f9f958ba5089884
+917b826a82561e8b67ac69cd8cf7088dedf70593e990cd70ca4ba37a917387798708
+f754f776719c0574707d857b8b758b86915d970813a87092738f688b688b5e597a50
+08a68205a0ba9c94b98b0813d0af8bae80a78b9d8b888a97883f33897b434d086b6f
+997205a6a0be8d9e8308b67a955a8352080e59fb7faff761c2f7cdcc12f723d672e1
+13e8f84af7f91558fb87057e7d4d54598b748b738b8bc08b978e998e9b08b2f74205
+ff00073334abff000bccccb48b9e8b9e85996d8b5b8b52695d508e829183998ba5a9
+ab9a958b928b8e868b7f088b82fffffb6666ffffeee666fffffa999affffe6199a08
+66fb4705887b887a8b7c8b599965d48bb28bb999ccc774fb426132348b4d8ba1c059
+8b0880707d7261da83b01faf8bb896b9bcff0039199aff003ccccdff0015e666ff00
+263333b2f74508c2f78f058f9d94a98b978b9c81956b8b08658b8b5f8365080ec9f8
+6aa4f702e801ff00bf999aaff72cafff0099fffeaf03f7acf94e15f8bb0af7509015
+ffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d199affffd94cccff00334ccc
+fffff64ccc93918e948a95ffffd26666ff000c1998ffffe73334ff0027ccd08bff00
+1666648bff0013999cff000f3332ff000d3330ff001b3334ff0002e668bcff0007b3
+34ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701ef75288
+15ffffc899986a41ffffcfb3341f8bffffc6b334ff002d199cffffd94cccff00334c
+ccfffff64ccc93918e948a95ffffd26668ff000c199affffe73330ff0027ccce8bff
+001666648bff0013999cff000f3334ff000d3330ff001b3334ff0002e668bcff0007
+b334ff00051998ff00224ccc8bff000c666808ff00169998ffffeee6689b701e0eda
+f86ba2f705e601f7a0bbf720bbf720bb031438f75ff91c15f8ba0af75016f9430af7
+5016f9430a0ed3a2abf88aaa01adaaf88baa03f7d1a215a20af8aa04a30a0efb0981
+aef80fae01f7bff82815dc8b974375fb0575fb05663a358b3c8b80dca1f705a2f70a
+bdced08b0891ae15228b253272fb176efb27cd39f7008bf7038becdea7f726a6f71e
+54ddfb0d8b080efb0989acf7e6aab57701f702f79503f777f70e157b387086478884
+8587769085ba8cae8cbf8bb98ba18abb8a929190a08691488e7c909bde08b2f75b05
+97c797be8b8b8d93878d828b597b608337798a7f8d819082a78ea58ea08b9a8b8d80
+8157080efb098bc2f7e8b701f7b8c215f9030a0efb09fb49aef7b3abf77bae01f5d5
+03f7b2f82815f9040a0efb09fb42acf721baf81b7701f7d4f7e31553fbb4fb428b05
+bae0edf701e0e908e2fbb415458bc4f7b80595bd92b28e93088a8d6c8b05848b8684
+86873b3efb33fb3634fb26087c8b70a81ef74f8b792f05825d678b61888485867690
+85aa8cb28cb78bb18ba48aaa8a929190a086915d8f808994ba089de7c38b05988b9e
+9e8d978d958991808b080efb09fb4baef7d1bdf722ce4ed31213e0f7c99c15f9050a
+13d0f9060a13e0f9070a0efb0980aef7c6ae01ff00bfcccdff0132800015f9080a9b
+ff0024cccc15f9090a0efb09f800cc9677121380f785f80015f90a0a13407e970513
+80f90b0a1340f90c0a0efb0981aef8baae01f7e3f8d315350af71c3115f90d0afb8e
+fc6015370a0efb09caaef7c6ae01ff014e199aff0078cccd15f90e0afffff03332ff
+ffdb800015f90f0a0efc1ff773c701d8f7a403f7cef773152a0a0ef8595fa0ff00a4
+b333ff00154ccdf738a0f7b5a001f799a0f787a003b393158b78968b9687db72ce87
+cb8bac8bab8eac90ff00d96668ff00238000ff00bc4cccff008ae666ff00614cccff
+00c56666ff003c8000ff007ab334ff00098000ff007966688bff001a19988b9c808c
+808f083ea34191598bffff27b3348bffff331998ffff973334ffff803334ffff534c
+ccffffa6199affff868000ffffd5e666ffff68b3338bffff9c4ccd08a198159df771
+f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00138000ff000e6666ff00a019
+9aff006e3334ff00146666ff000d199908f83dff00004ccd05373ffb2e32fb5c8b08
+9ff75915f7b807949bf5e1f714b208fb9c07f759fb4815fc358bf77ff738f7c58b05
+ffffd38000ffffaa3333ffffc16668ffffbc6667fffff01998fffff56666088af86e
+15cb8bca82c87808fbfffb8f8bf79305be98c196d18b08fb2bfbb515f7f4f7880584
+417b396033080ef84b0efba8fb0aa5f76caacba101f770c003eaf75915f92e0aa32c
+15f92f0a0efbb7fb0aabf770a601a1c0f71bc103f74df73515f9300a0efb9efb06a4
+84a1f75fa5cba112a8bf13b8f7515115f9310a63fb4315836a988b051378f9320a13
+b8f9330a0efbd3fb04a2f74aa8f708a401f77ebc03bb4e15f9340a0efb8afb88a9f0
+b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bcf71215f9350a13f500f9
+360a13ee80f9370a13ed40f9380afb7efb7f15f9390a13e480f93a0af728f744157c
+4d6f86778b0813f540f93b0a0efb92fb04a2f766add1a001ffffff199aff011eb332
+03ff0092199af75015f8cc0a0efc03fb03a2f767a0c8c501ff0074b333ff003b999a
+03ff008fb333ef15ff000bb332ff0034e66694ff0008199afffff2cccd8bffffee66
+6784ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3328a8d8b08ff
+0014cccd8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999ff
+fffe6667fffff56667fffffc9999fffff0b333086efb1705fffffb199875fffff999
+9a85ffffebcccd8a08ffffedcccd8a05868bfffffe999a89ffffff4ccc8808877905
+8bff002d33348ca7a8ff002ccccc8a8b1e8f9d05ff0000b3348efffffd66668d898b
+08ffffee33338c05fffff1ffffff0000cccdfffff8cccdff000333338bff000c8000
+8bff00036666ff0000999aff00043334ff00011999ff0004e6660893ff011dcccc15
+fffffffffffffff38001ff0008b333fffff5b333ff000e999a8b08ff00118000ff00
+12cccdff000f999aa0ff000b4cccfffff9b333ff000a199affffeecccdffffe31999
+fffff8cccdffffe5999afffff733331f0efbf6fb699ef7d1a0c9c401ffffdf3334ff
+002f3333ff007c1999c703ff00ae6666f79b15788bfffff266677efffffcb3337bff
+fffce6667cff000a66677e9c8b9c8bff000f999998ff0003199a9aff0002cccd99ff
+fffb19999a758b08ffffc44ccdfb5215ffffe3b334fb1f05ffffed199a2effffefe6
+66686e8b868bfffffccccd8fff0000333391fffffecccd99fffffb199a9a7c8b7f8b
+fffff5333382fffffcb3347bfffffbe66677ff001f66667ea68b9b8bff0015666692
+ff0013b3349d08ff00211999a9ff000a8000a6ff00114ccde008ff001db333f72605
+ff00057fffa6ff00078000a68b8b8c90fffffe66678d858bffffee999984ffffd04c
+cd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc8a8d8b08ff0014
+cccc8a05ff000cffff8bff0004800084fffff7800061080efb94fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f8cd0a0efc24fb04a2f7cea001fffff1199a
+ff00a2e66603ff00506666f74315f8ce0a0e2afb04a2f76cad01f786ff0031e666ff
+0063199abd03c7f71f15f8cf0a0efb7cfb04a2f768a07aad12ff01053334ff003319
+9813b0ff009ce666f70215f8d00a13d0f8d10a13b0f8d20a0efb94fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f8d30a13e8f8d40a9ffb0815a5f7050513d8f8d50a
+0efb91fb87a2f700a5f76ba501a8c003f7515115f93c0ab7ca15f93d0a0efbcffb03
+a2f765b365a012fffff84ccdf79913d0ff0087999af115fffffe33338c05ff000580
+01ff001b3333ff0006e666ff0017cccd8b8b8c90fffffe66678d858b0813b0ffffee
+999984ffffd04ccd83ffffe5999a8908fffffd66667905ffffff999a89ff0001cccc
+8a8d8b08ff0014cccc8a05ff000cffff8bff0004800084fffff780006108ffffe480
+00fb1b05fffffc199878fffffd3334fffffb4ccdffffe8999afffffeb33308ffffed
+cccd8a05868bfffffe999a89ffffff66668808fffffc66667905ff000000018bff00
+2d33338ca78b08a8ff002ccccd8a8b1fff000399999d05ff0000999a8efffffd6666
+8d898b08ffffee33348c05ffffed3335ff0001199afffff9cccdff0003e666ff0004
+19999f08ff0019b334f71205ff0001999a93ff0005cccd9490900813d0ff0014b333
+a2ff0011800097928b8f8bff0004800089ff0003333387ff0004999a84ff00073333
+87978b9d8bff000ccccd94ff000380009cff0003b3339dfffff8999a98708b086c8b
+ffffde199969ffffe9e66772080efbc8fb0aa4f779a401ff000e3333a1ff00a38000
+ff0017333303ff000e33337915f8d60a0efc00fb0aaef765a801b0bd03f715f71215
+f8d70a0efb93fb0aae7ea1f762a212bbbd13b0f721f72e15f93e0a1370f93f0a13b0
+f9400a0efb98f718a201b4f7ae03f42215f9410a0efb08f718a201ff00a5b333f71d
+15ff000380009cffffff33338c058bffffdbcccd8a7173ffffe533338c8b1efffffe
+cccd8afffffc80007a05ffffff666688ff00039999898e8b9b8bff0007666788ff00
+0519996e08ff00224ccdfb6105ff0001666683ff0003e66786908b938bff0009b333
+8eff000633339608ff0054e667f727ff0019e666fb2805ff0001666683ff0003e666
+86908b928bff0009b3348eff000733349608ff0077b332f75c05ff0010e666a8ff00
+0e666892998b8e8bff000433328cff0000ccce8f08ff000380009cffffff33328c05
+8bffffe9ccce8a7876ffffd833328c8b1efffffeccce8afffffc80007a05ffffff99
+9889ff00016668888d8b0894069d8bff0008199887fffffdccce808a86fffffccccc
+85fffffb66668308ffffa68000fb2affffe6199af72d05fffffeccce94ffffff8000
+92ff0000cccc8f8d95ff000833348c9d8b8e8bff000266668dff0000999a8e08ff00
+0380009cfffffe33328cffffc8ccce8a05ffffecffffffffda33338c8b1ffffffecc
+cd8afffffc80007a05ffffff333287ff0001cccd8a8e8b9d8b9186ff000480007008
+ff00044ccd74ffffb6cccdfb15ffffe51999f72d058995ffffff8000928c90ff0001
+666792ff000666668d968b089406ff0001ffff8bff000266678dff000099998e080e
+fb73fb82b4f7dda301ff00a3e666f71e15ff00034ccd9bffffff66678d058bffffd5
+9999896e78ffffdc66678d8b1efffffd999a89fffffc80007a05ffffff999889ff00
+026667888e8ba68bff0001999afffff66666ff00064ccdffffe6999a08ff0029999a
+fb3d05ff000266667eff0001b3337bfffffe999984fffffecccd85fffffde66786ff
+fffb666683ffffe84ccd65ffffe67fff6b828b858b8790fffffb3334918890fffffa
+999a8e828b818bffffeb333382fffffc4ccd7908fffffb4ccc74a881978bb78bff00
+1eb334b1a7b7ff004a9999f70dff00274ccdc7ff00303334d1ff000bb3329dff000f
+ccce9ea38b908bff000266668dff0000cccc8f08ff00034cce9bfffffe66668d058b
+ffffe5999a897a75ffffd666668d8b1efffffe999989fffffc80007a05ffffff9999
+89ff00026666888e8b088e06998bff000a999889fffffe333482ffffff666688ffff
+fd800084fffffd33348708ffff9db333fb29ffffdcb333f72b058aff0004199aff00
+00199aff0005e666ff000066668dff0001999a93ff000899998e9d8b8e8bff000466
+678dff0000cccc8f080efbbffb04a9f764a801d29f03f4f72f15f9420a0efb41f801
+a7c576e1aaf70da801f724a8f70eaaf70ea703f7daf8b715e26c34346ce235aae1e1
+aa07fba07b15f9440aa816f9450a0efb41f801a7f70faaf70da801f724a8f7a7a703
+f830f89815aafb606c074b9a15f9440aa816f9450a0e7685bff7e0be957712f72bda
+b4d5f744bd13dcf89df7be152efb02fb33421e618b7b8f7c98759e7ea68bab8bc693
+c0b3c1bed39b9a8ba0089385917e1efb24067b8b84888383727177667f5b91849485
+989197b19d9f939195929d929e8b08a306aa9483821f8b8384807f7d35fb077c5d8b
+588b629b69aa76a678ad84ae8bb28baf96a79ff729f6a4f7388bc40813bccd689f75
+76797b771e8b6bac7c9372088e828d7f8b7f080ef8cff70c01fb25f75c03c2f8e215
+b20a0ef8cff70c01fb36f77703fb2af8cf15b40a0ef8a0f70701fb13f78703b0f913
+15b50a0ef8a0f70701fb37f7880337f8a015f7030a0ef8b4bfc87701fb26a7f76ca6
+036df8b415f40a0ef8ecf72701fb69f7a70329f97f15f7180af7274c15f7190a0ef8
+eaf72901fb56f78003a3f8ee15f7530afb6ee915f7540a0ef8f1c001d2a90380f926
+15f7570a0ef949b101fb39d403cdf99d15f78d0a0ef888b201fb5cd003a8f8dd15f7
+9d0a0ef954e501fb7de8ece703fb7cf98115c50af7528c15c40a0ef96476c5a301fb
+0bbb8da6abbf038cf93d15f7db0a0e4ffb88a295a1f746a2f754a2f754a2f753a3a5
+a282a2dba2b8a21213fdc0f72df94d15ff00e2e66606ffffe8999affff87b334ffff
+ddccccffff4f8000ffffde4cceffff52cccc08ffffeb66668b8674ff0015199a8b05
+fffff33332ffffbe199afffff34cceffffbee666fffff419994e08ffff7b4ccd8b86
+74ff00854ccd8b05fffff3199affffbd8000fffff4199affffc33333fffff63333ff
+ffcd4ccd08ffff624ccd8b8775ff009d66668b05fffffdb334fffff44ccdfffffde6
+668089fffff5b33308968b978bf76a8b8fa2ffff2a80008b05ff000ae666ff003833
+33ff000e199aff0048b333ff000fccccff0051199a08ff008bb3348b90a2ffff73b3
+348b05ff000be666c8ff000cb332ff0041199aff000cccceff0041e66608ff00b5e6
+668b8fa2ffff4a999a8b05ff000c999aff0040999aff000c9998ccff000c199aff00
+3e666608ff00d5199a8b90a2ffff2a66668b05ff000d6666ff0044ccccff000c999a
+ff0041199cff000b199aff0039199808ff00d580008b8fa3ffff2b33348b0513fec0
+ff0001b332ff0008e668ff0001b334ff0008b330ff0001999aff0008666808ff00d2
+cccc8b90a2ffffc299988b0513fdc0ff0002666899ffff6a66668b05ff00024cce97
+ff00023332ff000b6668ff0002199aff000a9998ff00038000ff00119998ff0002e6
+66ff000eb334ff0002b334ff000db33408ff00d4e6668b8fa2ffff2b999a8b05ff00
+02ccccff000e3334ff0002b334ff000e3334ff00034cccff0010999808ff00d2999a
+8b90a2fb678b7d8b828b05805486708054fffffde666fffff56668fffffdccceffff
+f49998fffffdb3327f08ffff1c999a060efb0981aef8baae01f7ecf8d3159b8b9a85
+9480ff0005ccccfffff9e668ff0005199afffff74cccff0003e666fffff4666408ff
+ff1a4ccefffe7fe66805ff00008000ff002f6666ff00083333ff00338000ff000733
+33ff0024999abbf78acfb9b68b08ff003f80002f15ff0002b334ffffd8ccccfffffc
+1998ffffcab334fffff2b334ffffbb8000792f7c4c745866395a827a8bffffdc999a
+8bffffee4cccff001b199afffff8999aff0026199908ff01144cccf86415ff002a33
+34ff0046cccc6e99ffffdd3334ffffc5b3340578ff00118000ffffe66666ff000bcc
+ccffffdf66668b2c8bfb06fb0a65fb5affffee8000ffffa6cccdff00056666ffffab
+9999ff001ab334ffffc6800008ffffcb6666ffffa8199aa97cff002a199aff0046b3
+3305ff0015e666ffffe4e666ff001d999afffff26666ff002466668bd58bf713d9b9
+f77f9eee85e06cc5fffffe6666ff00031998fffffe4cceff0003199cfffffe19988e
+080efb9ef6f7d915846468fb5af746fb2e08a099056fab2cf70bb7f776b7f776f723
+f70bb1aa087d9a05fb1c34fb0efb236cfb35080efb9ef7cff7d91593b2adf75afb46
+f72f08777d05a66aebfb0a5efb7760fb75fb24fb0c656c089a7c05f71ce2f70df724
+aaf734080efb974bb0f946b001f84bf95015fb6b8bfb29fd90f76b8b92b0fb268bf7
+1af946f7278b050efb974bb0f946b0019e4b15f76a8bf729f990fb6b8b8466f7278b
+fb1bfd46fb268b050efbb43c98f8139001f0f7af03f7bbf8e71592af95a5989a9c9e
+9e979f8f088e980557896281747774777b6a825d086bfb37058360785c507d088a86
+05bf818f618155086efb2a0581578d6799779877b180c18a088d9805828d798e7da8
+839d8ba691ae08a7f7220599d388af55a1c09da3a39ad8080efbb4f7d38ff8149801
+99f7af03f2b815846881717e7c7a78787f778708887e05bf8cb496a29fa29e9aac95
+ba08aaf7370594b69ebac699088c8f05579687b595c008a8f72b0595be89af7da07e
+9f6595558d08897e0594899d88996d937a8b7084670870fb21057d428e67c1765679
+73737c3d080efbe29476f8c7f612d1f70389f613e0f7047f15a18baf9d96c298d182
+ad93e492d997e58d9f8c918a92808b818b8683887f877d7d4f6a2008703573607e4b
+088259a374a68b0813d0f742f8fc1590a978a36e8b6d8b6f73856d856e9e73a98b08
+a88ba8a391a8080efb307fa8f85c77eef612f7b6f540d913e8f7d8d615856d5d6f52
+8b528b6bc898cb94baa5a9bbafd7c698c793b60894b8058d92868f848b838b85878a
+8408825f058774817279727f7b747a707a5569485f7c3c7931bf4ff18bbf8bb898ad
+a4aea4a5a692b20892ae74937b8b788b747e8775887d8c868e86088e858d85887d08
+13f0d3f8a61591a978a36e8b6d8b6f73856d856e9f73a88b08a88ba8a390a8080e72
+f8caf88c15313a354a3b5a08836505c566c74aca2e0895bd056ad466c161b0c6b5c6
+c2c4cd08fb3ebe15303a354a3a5a08846505c566c84ac92e0895bd056ad466c161b0
+c6b5c6c2c4cd080e72f73bf88b15815805aa49b154b661526651554e4208815905ee
+e8e1ccd3b00893b1054dbc4fcc50dc08f74816815805ac49b054b661536650554e42
+08815905eee8e1ccd3b00893b1054dbc4fcc4fdc080efb62f70df79c03f815f88b15
+303a354a3b5a08846505c566c84ac92e0895c00569d267c066b0c1b3c3c1c7cd080e
+fb62def79c03ded315e5dbe1ccdbbd0893b10551b04ecc4de808805505ae45af56b0
+66556352555048080efb78f7afc701f1f7a403f7e7f7af15ff000f199aff0013e666
+ff0020b334ff000f4ccc928890831ffb7906fffff6199affffe9e666ffffe5999aff
+ffef6666838e82921f0efbc2fb58aff8bfa7987712f74dff0055800013b0ff00fb4c
+cdff0140333415810a13d0820a0efbb981c7f7eda79877f70eb712f6ff00ed999a13
+98ff013a8000f8ae15988bff000eb3349dff0002666697ff0001333291fffffd999a
+93818b08fb4d06808bfffff180007afffffd999a7ffffffe999a84ff000266668394
+8b08ff0072cccdffff263334157e0a13b87f0a13d8800a0e2e81aef8e2cb60c71213
+80f790a415428b67e7a3f705a3f703d1bcbc9fe058a25176270871fb0c4d53528b08
+7a6815f28bf704deabf72da7f71957c724cb55ad6cb792ae0813a08f9e9ea0af8b08
+13c0b38bac76bd8bbe8bb2a5a2b18b8f8893848b7f827c876e8c0813a05f8c739b5e
+8b3d8b43517c44815d9457c661085d7205315a5c5c793571fb0fbd20f7128b080e4d
+fb7faff751c2f7ffaa01e2db03f7f1cb15ffffd44cccfb3effffccb3342e348b4d8b
+a1c0598b0880707d7261da83b01faf8bcc96b9bcff0039199aff003ccccdff001fcc
+ccff00263333ff0027199af74508d4f7de05738b71887790708e7e8e638b0820fb33
+fb24fb3953a137df1fc08bc8c2c7e4089ae0155a313a376b8b086978b8c3f5ecf730
+e71fa08ba1849e7f8b8b77fb007b4d080e6381c7f7ddc7eeb701f70cdaf736d903ff
+01ee8000f8ae15f20aff00ff8000fb4e15940a0ef77b81bcf82477f70bb712f71dd7
+78e1f0dbf735d913e6ff02de8000f8ae15988bff000eb3349dff0002666497ff0001
+333491fffffd999c93818b08fffe1afffe06808bfffff180007afffffd999a7fffff
+fe999a84ff0002666683948b08ff00828000fc681552a874b11ee48bb2c9d2f3088e
+89806405826b83628b788b78927da98bbb8bb8adb9c6889485937d8b716d6e7c818b
+848b88908b97088b94909c91a508c3f77805ff00039998ff0011e666ff00096668ff
+001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a3c598b798b809c
+8ba68b978ba492a908b8f75b058f9d94a98b978b9c81956b8b658b8b5e83660869fb
+320536fb0b66626b8b0813f678799caf1f8b968ea392a908b0f7310513eef7a30a13
+f6f7a40a0e92fb82b086b0f8c3b2f779a484a812f93edb1334f882f8ce157a677c5c
+7f5108fb498b99cb05ff001f3334ff008eb334ff003fccccff00164ccca38bff001f
+b3348bff0007e666ffffebccccff0006999affffeae668ff0004b332fffff0b334ff
+0004199afffff04cccff000bb334fffff74cccff0005ccccfffffb9998ff0007cccc
+fffffd6668ff000ab3348b08a6fb4815e806958b9a8f8d93088b90a08c8e898d861f
+fb028b9acb05ff0008b334ff00251998ff000a4cccff0022e66896a608132ca5c9ae
+a19c8ba28b8e83907790769271ac8b08a792a294b05cae531f708b528058430813b4
+7ab04ca36d8bffffb666668bffffcee666ffffdae6686affffd1ccccffffd1999a4a
+fffff1cccdffffad1998fffffb4ccdffffe93334085806798b837f89838a88887f8b
+8908898d8b8e1ed08b76fb0405fffff7199affffd0cccdfffff0e666ffffc8333382
+4c77fb1b70fb176f6f7b7b82887e8b7a8b83968395849582957a8b086e8674867796
+6dd11fb98bb5aab1cfb9e1ff002f4ccdff00c9199aff0027b333ff00e0e666088e9c
+f74b8b74fb0405fffff8cccc68ffffef33343e824f79fb0a75fb036f6f08136c7c7c
+81887e8b7b8b83948396839583967a8b086e86738677966ed01fb78bb4a6afc7badc
+b1f75dbbf766080e8efb82acf757ccf7e3b29277f78eac12f881e513ecff004fb333
+ffff51b33315fffff4e666ffffee9999ffffeb6666fffff2b3337c8bfffff266668b
+fffffb3334ff00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec80
+00ff0012b333ffffea00018b08ffffe46666fffff68000787affffe9b333ff001866
+66ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cccdff0011e666
+ff0006cccdff0012999aa5d2ff00288000ff00b2999aff002b8000ff00f66666088e
+9cf68b059e8bff0014199a8bff000fe666fffffd8000ff00106666fffffd6666ff00
+0a999afffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3199afffff94c
+cc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+7c818bfffff8e6668bfffffd199a908b97088b94ff0005199aff00116666ff0005e6
+66ff0019999a08ff002d4cccff00c433340594ff00271998ff000b3334ff00268000
+8bff0011199a0813dc7f0a13ec718b5c84498b08fb01068e9995e5b2d0adc7b68f9f
+8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411effffc8cccc8bff
+ffd4b334ffffee8000ffffdde666ffffe1ccccffffc9b334ffffcfe668ffffe0e666
+ffffafb33478ffffa21998084f880579ffffff199a82fffff7e66689838a88887f8b
+8908898e8b8e1eda8b76fb0405ffffe5b333ffff73e66677ffff0a666760ffffbd66
+66080e94fb82acf757c7f7e8b2f780ac01f820da03f8e2f8db15ff000e8000ff0040
+e668ff000a8000ff002819988b8b8b92888e828bffffece668fffff8e668ffffee19
+98fffff81998ffffe480007cffffef80009affffce999a9affffdd66668b528bffff
+d46666ffffef9998ffffdb8000ffffe26668ffffc96667ffffd3b334ffffde666640
+fffff14ccdffff984ccc08498805788a848389838a88887f8b8908898e8b8e1edd06
+77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e6
+66ffffee999affffec8000fffff366667c8b7b8bfffffbcccdff0009cccdfffff899
+99ff000bb333fffff78000ff000bb333ffffece667ff000fcccdffffece6678b08ff
+ffe46666fffff68000787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6
+ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff
+00104ccdff0050e667ff000ecccdff0053e666088e9ce88b05948b9a8f8d93088b90
+a08c8e898d861ffb028b96c40597ff003e1998ff0015999aff002b6668ff0019e666
+a8ff001a999aff001dccccff0018e666ff000eb334ab8ba28bff000fe666fffff366
+68ff000d199afffff01998ff000e6666ffffee9998ff0010199affffe46668ff0000
+8000ffffef80000825fc5c05fffff8e6666bfffff8199a698b788b78ff0005800072
+ff002580008bff002d33348bff00364cccff00198000ff002d8000ff004b80008795
+86927e8b6d676a757f8b838b87918b93088b938f9a94b3080ef796fb82ac92acf72f
+ccf7e3b29277f77eac7aac12f981e513f5ff01f73334ff0242800015ffffe9b332ff
+ffd59998fffff06666ffffcce668fffff4b3345308558b858bfb0a8b99cb05ff001e
+b334ff008c4cccff00444cccff0010b334a38bff0024199a8bff00103332ffffe9b3
+34ff000e8000ffffea19980892fffff56668ff00073334fffff61998ff00093334ff
+fff9333408ffff628000fffd37333415fffff4e666ffffee9999ffffeb6666fffff2
+b3337c8bfffff266668bfffffb3334ff00074ccdfffffa3332ff00093333fffff766
+68ff000dcccdffffec7fffff0012b333758b08ffffe46667fffff68000787affffe9
+b333ff00186666ffffe84ccdcf1fb48bb79faab6ff000b6666ff000f8000ff0007cc
+ceff0011e666ff0006ccccff0012999aa5d2ff001e8000ff008a999aff002b8000ff
+00f66666088e9cf68b059e8bff001419988bff000fe668fffffd8000ff00106668ff
+fffd6666ff000a9998fffffcccce8bfffff54ccc8bfffff6e666fffffeb334fffff3
+199afffff94ccc6f085cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485
+937d8b716d6e7c818bfffff8e6688bfffffd1998908b97088b94ff00051998ff0011
+6666ff0005e668ff0019999a08ff002d4cccff00c433340594ff00271998ff000b33
+34ff002680008bff0011199a0813e97f0a13f3718b5c84498b08fb01068e9995e5b2
+d0adc7b68f9f8b9b8ba386957e9d738b868b63086f9c79a4a1a5a0adb941cc411eff
+ffc8cccc8bffffd4b334ffffee8000ffffdde668ffffe1ccccfffffc3330fffffc99
+9cfffffc4cd0fffffc9998fffffc6664fffffc4ccc0813f5ffffe4b334ff001a4ccc
+ffffb9199aff000fe668ffffe6e6668bfb458b61fb6b84640849880578ffffff199a
+84fffff7e66689838a88887f8b8908898e8b8e1edd0677fb06804f81407effff9e66
+66ffffed4ccdfb35ffffdb4ccdffffc6999afffff4e666ffffee999affffec8000ff
+fff366667c8bfffff266668bfffffb3334ff00074ccdfffffa3333ff00093333ffff
+f76666ff000dcccdffffec8000ff0012b333ffffea00018b08ffffe46666fffff680
+00787affffe9b333ff00186666ffffe84ccdcf1fb48bb79faab6ff001be666ff0026
+cccdff0016199aff004c3333ff0026e666f7529bff004e3333ff00104ccdff0050e6
+67ff000ecccdff0053e666088e9ced8b948bd18b76fb0405ffffe5b334ffff73e666
+81ffff32666760ffffbd6666080ef7a1fb87b086b0f738c7f7e8b2f779a484a88477
+12f91ada1339f883f8ce157a677c5c7f5108fb498b9acb05ff0021b334ff008fcccc
+ff003c4cccff00153334a38bff002180008bff0007e666ffffe96668ff0005999aff
+ffe99998ff0005800075ff0006e66676ff001e999a8b081335f741f515ac8bff0013
+e668ffffe86668ff000d1998fffff01998ff000e6668ffffee9998ff00101998ffff
+e46668ff00008000ffffef80000825fc5c05fffff8e6686bfffff81998698b788b78
+ff0005800072ff002580008bff002d33348bff00364cccff00198000ff002d8000ff
+004b8000879586927e8b6d676a757f8b838b87918b93088b938f9a94b308f1f85c05
+ff000e8000ff0040e668ff000a8000ff002819988b8b08133392888e821effffece6
+68fffff8e668ffffee1998fffff81998ffffe480007c081335ffffef80009affffc1
+9998a1ffffdd66688b708b438058430813b97ab04ca36c8bfb448bffffdab333ffff
+28ccccfffff94ccdffffd93334084d8805ffffef33338afffff88000fffff5999aff
+fffd4ccdfffff866668afffffd333488fffff5cccc8b8908898d8b8e1edc8b74fb04
+05ffffe2199affff6e8000ffffcbe666fffeea800061617b7b82887e8b7a8b839684
+95839582957a8b086f85748677996dd11fba8bb4aab1cfb9e1ff002b8000ff00d219
+9aff00378000ff00dde666088f9bf74b8b75fb0405ffffe26666ffff69199affffd1
+999affff0ee66661610813757c7c82887d8b7b8b83948396839583967a8b086e8673
+8677966ed01fb78bb7a6aec7bbdcff00378000ff00c93333ff00288000ff00d7cccd
+088e9be78b05958bff000f6668ff0003999aff00019998ff00086666088b8fa08c8e
+898d871ffb008b9acb05ff0008b334ff00251998ff00094cccff0022e66897a608a5
+c9c0a19b8b080eb8fb7daff74fc3f7ecb2f77fad01f87ff873157e59568805788a84
+8389838a88887f8b8908898e8b8e1ed18b4bfba405836b856c8b788b67a381a48bb4
+8bc8a9b6d4889884917f8b5d57777d7b8b888b818d8b97088b94ff00058000ff001a
+199aff00078000ff001fe66608c9f79be08b05958b9a8f8c940890a0058e898d871e
+268b95b805ff00224cccff009a4cccffffd4b334ff0045b334fb0c8bfb168b4d256b
+fb1bfffff8999affffe0ccccffffe16666ffffff3334668780838c84917c08afffff
+fd999a059dfffffeccccff00056666fffffbe666fffffd199afffff0b33408ffffee
+199a2b05ffffc96666fbb7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff2
+4ccdffffe1999afffff31999fffff96666ffffec199a8b7b8b878f8596fffff5199a
+ff0014199affffefe666ff000be666798b087c797c7572b276ad1fff003433338bff
+00264ccdff00113333ff00178000ff001f999abaff003f3333ff001d3333ff0093cc
+cdff0021cccdff00a8333308c5f7b505ff0018ccccff007b6668ff00323334ff0038
+9998c78bff006133348bfffff88000ffff9e3334ffffe94cccffffa8cccc080ee281
+c74facf803b2f785a712c6df77cba6ff0022999aff00166666d658ddcddaff001f99
+98ff0046e66813b760f8a3f84115568805788a848389838a88887f8b8908898e8b8e
+1ed18b4efba405fffff8b334ffffdf999afffff94cccffffe166668b788b679d81aa
+8bff002c80008bcdb4ff00228000c9889884917f8b5d5779817b8b888b818d8b9708
+8b94ff00036668ff0014199aff00079998ff0021e66608c6f79bed8b05979094a580
+9308288b95b80591a6ff00078000ff002280008bff0018e66808ff0056e6644eff00
+32b334ffff91999affff943332ffff7cb334ffffc44cccffff8366681e8bffffe499
+98ff00086666ffffe7ccceff00156667ffffe7ccccffffb46666fffff76666ffffd2
+cccdffffc5199a8bffffc7999a8b63a160cc5fc067936a8b7608137b605463785e1e
+13bb60718b7d9088a188a27da96d8b6e8b83738b80081377608b66b966d087089a06
+edc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b0813b6e0a48b9c838e768e
+739c6fa58ba78b939d8b9b8bff001a66666fff001eb334ffffd8b334ff000e8000ff
+ffd3e666ff001be6667aff002066668bff0025333208ff0067199cff00793332ff00
+26ccccff0042e668ff00536664ff00218000ffffd9e668ffffc166641e8bffffe3e6
+68fffffa199cffffdf9998fffff84cccffffe23334080ef886f858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050eff01f47020ff00c3235401fffed48000
+f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053ce98
+8bff001a80c4fb7cff0054d3f88bffffdaae98050e8b14f8c5157f98f840989d99e8
+96ce98a99506fb8296077f97f841989d99e896ce98a99508fb7f93091e0a0366667f
+0c09910c0ab20ab20c0cd70bd70c0d1c004213031d02000100090011001f0041004f
+0062006a009e00a900bb00f10103012c015701aa022402a302b30319036703b303d1
+04120430047e04dd04f004fa0551058805c006240673070807a7085508c308d308db
+08e1092e093909490a060a950b340c3e0d9f0e420ff9101f102a105110e9126c127a
+12e0134e1393143e149014d5159d15fa16e816fa172e17c617d617ee193c1a091b87
+1dab1ed21f2f1f401f911ff82017209420cb21b821d5227322a722df246d248c24be
+24db2518252b253e255a257025ee261c26b227d22871292c299129f52a242a952ac1
+2af62b572ba12c632ca82cc32ce52d0c2db92e6d2fee324732b5333c33d8356c357a
+359435dc3607363b364d365f368136a336c136d336e3371f3748375637c338463878
+388a38dc38e838f6398d39aa3ac53ae33b073b7d3b8f3c253cab3ce13cf23d763d9e
+3dca3dd33f333f393f443f613f873fad408e41314198426442c8431443b043c24411
+448044dc45524565458545cd4603463d4666466e469646c4477e4930497f49db4a0e
+4a5d4acd4adf4b554ba44c134c6f4c8d4cd24d974de94e3f4eae4f0a4f924f9a4fb3
+4fc05001503f505d50a250b750f151df521a523e529a52e9532f536d53e65406543f
+54f8556e55a055da56dc570a5787588858bb5938598b59e75a585a885ab35b2b5b9b
+5c4b5c6f5ce85d015d275da55de75f345f6e5fa86020609060ec6126621c623f6253
+626862ba62cc631a632e634e638f63bd63d563e5642a643a65236554658265d46655
+6661666c66bc670d67af67f7682268566872687d6913696f6a106aa26afe6be36cc2
+6cf06d0a6dcb6e3a6e626e8c6f106f846fab6ff4703e70bf70ec7141718a72607276
+72ae72c272ed72fe7389739d73b773d173f7744074d3752f758e75cb75fb77cd781b
+782b7887789e7902792a799379ae79d479f37a187a557a7d7ad07b027b557b877c02
+7d267d997e0b7e237e797e8a7ea47f127fb880af815c818781f68260832a83a88472
+84e78560858285e285fc860b8661874e8788879d87c8882f884888d9892b8959899a
+89c089dd8a0f8a298a4a8ad68af08b0a8b248b958bf58c4f8cad8cc08cdd8d128d45
+8d758dd68e038e168e608e8e8ea48eb38f158f289021903b908a90b090d790fd9123
+916591a391e8921b9255929a92d59310936c93c8944a94c49513956495c89671970b
+9721977a9815987198b698c6997699d29aa49b229b309b5c9c1a9caf9d359d499df9
+9e099e179eff9f1d9f3d9f6d9f969fc09feaa002a01aa044a04fa067a092a0bea0d9
+a103a12fa13da14ba156a164a16ca17aa185a1afa24ba261a28ca2b7a353a369a394
+a3a9a3c0a45ca472a49da4b2a4c9a565a57ba5a6a5d3a5fea62aa632a6cea6e3a6f1
+a6f9a707a712a73ca7b2a829a853a868a892a8bda8eca962a98ca993a9c4aa3aaa9e
+aac8aaf2ab1cab31ab48ab73ab8bab9eabc8abf4ac1eac4bac75ac83ac8bac99aca4
+acb2acc0accbacf5addbae05ae1caf00af2baf5ab040b06bb097b0e2b11ab123b17a
+b1a5b1d1b2b7b2e1b2efb2f7b305b310b31eb32cb36db397b39fb3adb3b8b423b438
+b4a3b4b1b4bfb4cab4e7b509b527b53eb555b582b5a7b5d2b5f7b622b64db67bb6ad
+b6c9b6ddb6ebb6f6b76ab784b7aeb7d8b84db878b88db8a5b8d0b8fbb928b953b980
+b9a9b9b4b9c2b9cdb9f7ba22ba37ba48ba5dba75baa0bacdbad8bb16bb47bb55bb73
+bb8bbbbcbbd9bbfbbc39bc6abc90bcb4bcd8bcfcbd20bd44bd67bd8dbdc0be07be11
+be35be68beafbed3bee1beefbf8abfccbfe6bfeec003c01bc03cc056c091c0b9c17b
+c195c1a3c1b1c1bcc1dac21cc25ec2e4c326c339c34cc35ec370c3a1c3d2c414c43a
+c454c470c507c515c51ec539c596c746c84ec94fcabbcad7cbd2ccc9cd2bcd4acd70
+ce64cec4cececeeecf3acf54cf6ecfb8cfdbd009d04bd11ad179d248d2a7d321d381
+d408d435d494d4f0d50ad524d53fd559d579d599d5b7d5c3d5e7d605d63ed677d6aa
+d6ddd6efd701d713d738d743d74fd762d771d7b9d7ded841d8bfd900d90dd92ed97c
+d9dbd9fbda0dda28da69dab7db16db4fdbe3dbf5dc4bdca7dcd4dd91de2bdea0df13
+df90e03fe04de074e0a5e0c7e10de15ce196e1a4e1d1e1dce265e314e3d6e455e49a
+e50fe52be54ae5a1e5c7e62ae64ae6a1e6aee744e75ae77ae7dee7ffe819e83fe85e
+e87ee8eae92de978e98cea0aea69eaabeabdeacf758b68788155080b856a8a738b72
+080b8b7d8c7d8b7b8b788a758970080b853e81308977088907858d86951e958b9094
+8e968e9998c7aaf6a5e1a2b696cc080b8d928b918b918baf759d748b080b57a851c8
+deb7f702cfd35e9e634151383f1e0b798b688b55a4080b81976f986f8b084250383f
+57a752cadfb6f704cc1f8b938a9489939e80b181a38ba88bae8eb29b08fc40fc8ab0
+82f874f8c6050b6aa005625f4881618b080bc5b6debb9da6805a51673255787099bf
+1e0bff000f199aff0013e666ff0020b333ff000f4ccd928890831ffb7906fffff619
+9affffe9e666ffffe5999affffef6666838e82921f0b67716a70719f77a5aea6aba9
+a4779e711f0b9b8b9a859480a471953f71fb1a792f7c4c745866395a827a8b328ba2
+f73f9ce2bbf78acfb9b68b080bd58bf713d9b9f77f9eee85e06cc579ae69a9578b2c
+8bfb06fb0a65fb5a76209727b554a16fa97db08b080bcff7ef0597c798c88f988c90
+888b888b4f6953722f628a808f819285ba9ea2919d8b9b8b8a738469084bfbda057b
+3871864788848586769085ba8cae8cbf8bb98ba28abb8a92918fa08691488e7c909b
+de080b87769a799f8b9b8bac9d8fa18d938a918a928a9287948d9390a4abafd18bae
+8bb772782b087f4b6a57474f08364205fb0627725b8050088bbd8daa1ef73c06aab6
+898b1fa2c0a3d692a986907f8d81896d447672688b08fb3f0694bbdbcf919008f708
+ec05ccc2bdb79ad7a0f7003fb73d8b208b39397f4f080bb48bae717e4b8159443e29
+7d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b87a2839d849981
+97788b778b7278887b088363d770c58bf7068bf708d8a5f718a0f70145b25495088a
+8d05e2b2a9b495c091a989a378a47aa16d9c598bfb218b502b856a887d9177a28bad
+8b94ac8f9e0897cbd097a48b080b53fbb4fb4b8b05ccdde4f704e0e9080b3b8bc4f7
+b80595bd93b28e9308898d6c8b05848b858587863f3dfb23fb38fb08fb23087c8b70
+a81ef7588b792f05825d678b6188848586769085aa8cb28cb78bb18bae8aaa8a9291
+90a086915d8f768994ba089de7cd8b05988b9e9e8d978d958991808b080bff0023e6
+67ff00158000ff001f9999ff00014cccff0010999a8be98b8d2b815976fb0259595c
+8b4f8b5badacf73fff00044ccdff0016999aff00076666ff001accccff000b3333ff
+001cccce080bf74006fb05fb56fb05fb572cfb2c089184cd8e05e3f73edff73af735
+f7a5087e97057a867485678b08fb59066a8b8f957a8f888b8b8b8a88815b754f7957
+9588948a968cb0dbab92aa8b080bc98b9b60825d81554f5e6d7708719e0556b48bac
+91aa94b9b0b1c58b080b99d35fc02d8b298b404e7c3e80539d62be6508a17b056c7b
+6e7a6f755d67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab0850b605bd
+a2debf97cb080b608b50aa9ce591a9a4d1e9c408b36f05bf659a5c825b78273f7a60
+8b080bffffdc199affffea8000ffffe06666fffffeb334ffffef66668b2d8b88eb95
+bda0f702bebdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe533
+34fffff4ccceffffe33332080bffffd48000ffffa5199affffaf3333ffff9ae666ff
+ff76cccdffffce3334897f8c829286f2a9cfb5cdccd5d3bae69adab2f75f25b3418b
+fb128b3ffb137a35087a35a83ef7178bff001966668bff0026e66693ff001f3334ff
+000dcccd080b67716a70719f77a5aea6aba91fa4779e711e0bfc208b825af8208b05
+0b709f8599aa9ba49f1e8b908a90898f889089918b9108a9aeafd0bdae5e551e8bfb
+20fb21a868fb5108835d058a849088928b938b918e8c920892b70590a394a39da4b0
+c1f734b68bf72108d451ba311efb174e305b1f0bfffff0199afffff8b332ff0001b3
+34ff000533321f8bff0001b334ff0000b3348dff00018000ff0002666608f725f792
+8d8bb4fb9f050b91ac8d95df8bff002f33348bff00388000748b418bfffff56666ff
+fffeccccfffff46666fffffd8000fffff333347a364b6d3b8b0844060bff0070cccc
+ff002eccceffffc6e666ffffb6b3341f8bfffff43333fffffeccccfffff3b333ffff
+fd999afffff380007c42634ffb268bffffc780008b7bff00094ccc8bff0016b3348b
+ff00043333ff0000999aff0004999aff0000e666ff00053333080b87788d8905b88c
+b28cb18bb18b9889e18bf7538bd1ef9ce1ff0002666898ff00013330ff000c4ccd8b
+ff000b99998bff00498000ffffd0b334b7ffffbbb334ff0015999a088d07c0a4bfbf
+95c1080bff00024cccff000be666ff0001999cff000c80028bff000c80008bff003a
+3330ffffde9998ff003ae668ffff6d80008b698b5f89648b668b648c5e8c08888987
+7705878c88901ea78905ff00208000fffffd9998ff000bcccdfffffc66688bffffed
+b3348bfffffb3334ffffff3333fffffa3330fffffe8000fffff8e6680829fc8b0584
+6881876288086e8905868b89888a86080be88beab9dde488948691808b383d436c32
+8bffff87b3338bffffce199aff006666668bff00744ccd8bff001bb333ff0002cccd
+ff001c8000ff00056666ff001c199ab3f75ff72cdfd78b08f7198bb33a933508a88f
+058cbf8dbc91c1558e6eb5fb0a8bfb338bfb44fb2665fb59fffffb3333ffffe74ccc
+fffffd999affffe74cce8bffffe7cccc8bffff7a3334ff004acccdffff8a6666ff00
+ae66668b080b88798d8905b88cb18cb28bb08bb089ee8bf71c8bf753cbbaf78aff00
+049998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff0075
+8000ffff5ecccc8b4e8b5289648b08668b648c5e8c0888898878058a868e88908b08
+a58905ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb33
+34ffffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e
+8905878b87878a86080bedf8890592aead8fba8bff00a719988bff0038e668fb068b
+ffff83199a8bffffe2199afffffcccccffffe18000fffffa3334ffffe24ccc64fb5e
+fb1659fb1b8b3b8bffffed8000ff000680008bff0015b3338bff0003cccdff000099
+9aff00043333ff0000e666ff0004cccd080b8d8a8c881e7a88858a748b08fb87060b
+668b648c5e8c080b89898777050b8a888b87928b08a78905ff001de666fffffd8000
+ff000c999a838bffffeb99988bfffffbccd0ffffff8000fffffb66648afffffab334
+082afc8705856f7d7f6588086e8905858b89878a88080bb88cb38cb08b08f762060b
+b9d7898b1fa0bfa4caa1bf086e90050b6a435a50428b08fb160679fffff3e666ff00
+046666ff001233341f8bff00031999ff00006667ff00036667ff0000b333ff0003e6
+6608bcf78ff70e8b05ff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd
+6666ffffffccccfffffd3334ffffffb33488088972058a888c86908b08a08b908e05
+8fb390a68f9f8e9f92a996b308888f768b05878b87878a8708847205826f7d7d6a8b
+08fb0e8bb3f7660590a39995a28b08ef06d38b9563934608a790058fb48feb8b9308
+0bff001d999aff000be666fffff8ccccffffe9999a1f8bfffffd6666ffffffccccff
+fffd3334ffffffb33488088972058a888c86908b08a08b908e058fb390a68f9f8e9f
+92a996b308888f768b05878b87878a8708847205826f7d7d6a8b08fb0e8bb3f76605
+90a39995a28b08ef06d38b9563934608a790058eb490eb8b938b8d8a8c898b798886
+8a748b08fb88060b8a888b87928b08a78905ff001e8000fffffd8000ff000c199aff
+fff819988b778bfffffbb334ffffff8000fffffb3334fffffee666fffffa8000082a
+fc8505866f7d7d628808718905868b88888a860887788d8905b88cb28cb08bb28bb2
+8ab88a088d8d8f9e058c90888e868b08738d05ffffe0199aff00028000fffff26666
+ff0008199a8bff0014e6668b8fff00008000ff000480008c9008bbf78d050bfb398b
+fb51fb1760fb70fffffbb333ffffea3334fffffde667ffffea99988bffffeb66678b
+ffff70cccdff0064b333fb02ff00a8b3338bf7058bdfaed8c5829488938d9608a2f7
+080591ae9c91a78e908c8f8d8c900890a5898d056e8a768a648b668b648c5e8c0889
+898671058a868e888f8b08a38905ff00201998fffffd8000ff000e4cd0fffff9e666
+8bffffeb66678bfffffc3333ffffff8000fffffbcccdffffff1998fffffb3333086d
+fb2d05646b507b578bffff6dcccd8bffffbfb333ff007b80008bff00764ccc8bff00
+14199aff0001e666ff0013e666ff0003999aff00133334adf743f712f70bf7168bf7
+1f8bae39933508a991058bb58db392d3518b71b8fb098b080bffffd78000fb62fbcd
+8bff00288000f7620591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e
+8c5f8c888788778e8608ad8805ff0026e666fffffc999896fffff33334fffffa199a
+ffffe23334082afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74c
+cdfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f8890
+08698e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ff0030
+3333f789f7cd8bffffcfccccfb8905fffffa6666ffffe3ccccfffff04ccefffff219
+9affffd74cccfffffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e
+8f8e9f889008698e05ffffd91998ff00036666fffff4e668ff000c199a91ff001e80
+0008ecf8810591a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c
+888788778e8608ad8805ff0026e668fffffc999896fffff33334fffffa1998ffffe2
+3334080b2afc8105fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdff
+fffc199a086c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f88900869
+8e05ffffd9199aff00036666fffff4e666ff000c199a91ff001e800008ecf8810591
+a79a99b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608
+ad8805ff0026e666fffffc999896fffff33334fffffa199affffe23334080b2afc81
+05fffffa6666ffffe3ccccfffff04ccdfffff2199affffd74ccdfffffc199a086c88
+058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9199a
+ff00036666fffff4e666ff000c199a91ff001e800008ff00304ccdff00f58000ffff
+fdb333fffff3800005ad8ba4809a7008f70afb5a05ff00076666fffff2ccccff0002
+66667e8bfffff4199a8bfffff56667fffffe199afffff63333fffffe199afffff780
+00088a858c89059f8c9e8ca88bb08b9c8ab88a088f8d8e9e058c90878d878c08858c
+05708f769579aa08fb34f7980584958a928c938d929092b1ae08f738f72b05c1bcb1
+91b390908b918e8c90088f9e888d055e8a808a658b648b708c5e8c0888898878058a
+868e888f8b089e8905ff00101998fffffe3334ff0007199cfffffb33348bfffff880
+008bfffff6b330fffff51998fffff2999cffffedb334ffffeecccc08fb58fb4405ff
+ffe8199affffea199a737cffffdb3333fffffde66608ff002bb333f7720591a79a99
+b48f08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805
+ff0026e666fffffc999896fffff33334fffffa199affffe23334080bfffffa999a6f
+fffff01999fffff1e666ffffd74ccdfffffc199a086c88058787897b8f82080bb88c
+af8cb28b08f75f060ba5e3898b1f9ac3a1c4a0bf85ff0005b333fffff3b334ff0003
+999afffff64cccfffffdb333080b6fffffc2b3335dffffba4ccd428b08fb0206ffff
+e84ccdfffff24ccdff000d999aa21f8bff00043333ff00008000ff00046666ff0000
+e666ff0004cccd08e9f87405ff00058000ff001c1998ff000f8000ff000de668b48f
+08aa8e058f8f8d9b87945e8a678a648b658b5e8c5f8c888788778e8608ad8805ff00
+26e666fffffc9998ff000ae667fffff33334fffffa3333ffffe23334080b91a99ea5
+b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004cccc088d
+9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb8000ff00
+07e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd9998ff00
+0a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffaccccffffff19
+98fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb188b888989
+7805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ffffed8000
+ffffe33333ffffd88000fffffccccd08728905fffff7199affffff4ccdfffffb6666
+fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38bae8ab88a08
+8d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb8000ff000066
+6608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff0004e666ff
+00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a928b918b9380
+987508f78dfc4d050b927c96829b8b988b94978f9e080bf700ff00494ccc43ffff72
+199a1f8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bff
+ff9ecccc8bffffae8001ff004f4ccd8bff008c66668bff0019cccdff0002cccdff00
+1bb334ff0005e666ff001dccccb3f766f70ee2e28b080b90ff0019ccccff00024ccc
+ff0018b3348bff001766668bff009c0002ffff96ccccff00631998ffff6de6688bfb
+3f8bfb2bfb2c65fb58fffffae666ffffe56666fffffd8000ffffe6ccce8bffffe833
+328bffff67999aff0064e6672fff008eb3338bf74c8bf725f71fb2f75c080b90a898
+9cd08bff0038b3348bff0035e666ffffee19988bffffad66688bfffff1199afffffe
+3332ffffeee666fffffc3334ffffec800076fb004f5f2e8b738b6a8d818e080b866f
+7a80648808728905868b88888a860887788d8905ae8cbb8cb38bb18bbb8ab88a088d
+8d8f9e058c90888e878b08688d05ffffe0b333ff0001b333fffff1e667ff00076667
+8bff001466668bff0003b333ff00008000ff00043333ff0000e666ff0004999a08b6
+f771059f849c88ad8bf7438bd4f70b9be0ff0001e668ff00098000ff00014cccff00
+0ae6668bff000b80028bff003b8000ffffde3334ff004c9998ffff6b99988b080b72
+8b4d82648b658b5a8c688c0888898776058a878d898f8b08b08905ff000e4ccdffff
+ff1998ff00149999fffff8b3348bffffe7b3348bfffffd1998ffffffb334fffffccc
+d0ffffff6666fffffc9998080bff0032e666ff0039b334ffffee1998ffffaf33341f
+8bfffff33334fffffe8000fffff1999afffffce666ffffefe66673fb113d6f2e8b08
+5b8bbcf78d0590a89c9ccf8b080b738b4f82658b658b658c5e8c0888898776058a87
+8d898f8b08b08905ff000e4ccdffffff1998ff00149999fffff8b3348bffffe7b334
+8bfffffd1998ffffffb334fffffcccd0ffffff6666fffffc99980829fc8a05866f7c
+7f628808728905868b88888a860887788d8905b88cb28cb18bb18bb28ab88a088e8d
+8e9e058c90888e878b08728d05ffffe0199aff00028000fffff26666ff000766668b
+ff0014199a8bff0003ccccff00008000ff000466678cff0004cccd08b6f76f05db8b
+9c7c957408cffb42050b9e5cac61c58b998b9c8d9690088ea305608b7aad7ab6083b
+f76605b799ebbfa0f4ff00029998ff000d3334ff00016668ff000c80008bff000be6
+648bff00218000fffff59998ff001cccd0ffffeb6668ff0019199866b850904f8b08
+0b589391a3328b378bfb01527621fffffdcccdfffff44ccc8a808bfffff5999a8bff
+ffa76666ff004d4ccdffffd0b334ff0045e66668b974ff0024e666ffffe033338bff
+ffc3e6678bfffff4e666fffffeb334fffff3b333fffffd6666fffff24ccd087b3a5a
+6b428b368b59b58aef086d8805883f896a8358c58ba47cdc8bf7038bf5dd9ff1ff00
+028000ff000d6666ff00014cccff000c999a8bff000b999a8bff0058e666ffffbb33
+34ff002c800048aaffffdee666ff000f4cccffffb7199aff00294cce8bff0044e666
+088bff00068000ff0000999aff0006ccccff00016666ff0007333497c8bfb4ca8b08
+0be78b9850914908aa89058bbb90a68ec1080bffffe5e6668bffffea999a94ffffe8
+80008f7e5a7fffffe380007556ff0007999afffffb3334ff000d6666fffffdcccc94
+8b080ba8ff00418000a49fc08b08d006ff002766668bff00056666fffff5e668ffff
+fb3334ffffe31998082cfc7f05856f7c7d6287086c88058787897b8f82b88caf8cb2
+8bb18bb88ab78a8e8f8e9f889008698e05ffffd9199aff0003666680ff000c3334ff
+0005e666ff001e666608eaf87c0592ad9893ad8b08c106bf8b9a719c48958bff0008
+4cccff00004cccff000bb334ff0004b334080b80c4fffffd8000b6ff00028000b308
+0b6afffffa8000fffff2ccccfffff88000ffffdc33348b080bf7598bd0f713adf746
+08c1f7a70590a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b75
+8b658c5e8c0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000c
+e668fffff74ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacc
+cc0852fbb90575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff9
+4ccdaa8bff002099998babff00068000ff00216667ff0005e666ff0020333308c6f7
+c30591a79b98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c
+5e8c0888898878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999ff
+fff866688b768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849
+fbe405fffffb199affffe6199afffffdb333ffffe8cccc8bffffeb199a8bffff7019
+9aff006b1999ffffdfe666ff004b199a8b080bfbc3fcb205fffff7b334fffff13333
+fffff74cccfffff7cccd818b818bfffffa333493fffffdcccc9a083af8b505fffff7
+b333c3ffffe84ccdff0000800061ff0005800085918b9c9191b38aa58ab38bb28bbc
+8cac8c91858b7a85856889ffffd63334fffff53334ff0004ccccffffdecccc08cbfc
+51058efffffc80008dff000180008d8d08f77df84605ff00151998ff00273334ffff
+e53334ff000dccccffffcdb3348f85918b9c9191b38ab78aa58ba58baa8cb08c9185
+8b7a85855685ffffdf800071ffffed80006a080bc7fcaa05ff0001e666ffffef4ccd
+ff0001999afffffab333ff000a80008b938bff00033334ff00043333ff0009ccccff
+0011cccd08f758f7fa05ff000ee668ff001b3334ff000f6664ff001c8000ff000633
+34ff000b4ccc8c8bff00038000ffffffccccff00008000fffffdb334ff0002800075
+ff0002e66880ff00041998ffffdd800008b5fbf705ff00021998ffffee6666ff0005
+b334fffffb999aff000933348bff000780008bff00038000ff0002e66695ff001219
+9a08f7c1f8b205ff00128000ff00214cccff00188000ff0019b334c09191918b9c85
+916a8a648a718b718b5c8c638c85858b7a9185ff00324ccc87ff00233334fffff1e6
+68ffffea8000ffffd9199808fb4ffbee664684c86bf7ab05fffffc1998adfffff8e6
+68ff003fb3348b8b0860ffffffccccfb59fffe908000654b84cd69f7f605fffffc99
+9aff00216668ff00276666ff000a9998ae8d91918b9c85916a8a598a668b6a8b648c
+678c85858b7a9185ff0030333383ff0017999a81ff0006333355080b8a87918a9489
+9b88a783a75108edfb6105ff0005999afffff733348efffff880008bfffff84ccc8b
+89ffffffcccc89ffffff999a898a858582848308fb3cfb4f05706d615f5388858b86
+898a860887778b8905a88ca38ca78bb18ba48ab88a088e8d8f9f058b8e8b8e868c08
+798d05ffffeee666ff0001e666fffff98000ff000580008bff0007cccd8bff0008b3
+33ff0008199aff000b8000ff000a8000ff000c999a08f736f74905939392918d8b8f
+8b8f888f8308e5fb5005ff0006e666fffff23333ff00044ccefffff6b3338bfffff9
+b3348bfffff6ccccfffff6e66688ffffe8e666fffffd999a08778905878b89888a87
+0887778e8905b88cc08ca18ba18bb38ab28a088d8d8f9f058e8a8f861e618e71ac78
+b20820f76605fffffa3334ff000ab334fffffc4cccff0008cccc8bff00084ccc8bff
+0001ccceff00003334ff0001b332ff00004cccff0001b3348d949194969708f734f7
+4505acafa6a7c58d08938d8f8e1f8f9f898d05648a6a8a758b758b698c648c088989
+8777058a868e898f8b08a78905ff000c8000ffffff1998ff00054cccfffffc4cd08b
+fffff9e6648bfffff86668fffff7e668fffff4b334fffff34cccfffff1999808fb32
+fb430584838687888b898b888f8792083bf74405fffffa199aff000c3334fffffbcc
+ccff0009cccc8bff000733348bff0008b334ff0006199a909cff0001199808ab8d05
+8d8b8e8d8c90088e9e058a8b8e8b1f5e8a5a8a748b748b658c658c088888050bb1f7
+5405ff00036666ff0011199aff0003999aff000de666929608f743f79305a0a9989d
+ae8e08a58d058e908f9f888f6e8a6e8a758b758b6c8c658c88878a768d8708ab8805
+a3fffffdcccc8cfffff83334776e08fb32fb85878b36f78505fffff6e666ff001a66
+68fffffc3334ff00098000ff0021e666ff0003199808ac8e058e908c9f898f648a6d
+8a658b668b648c6f8c88868d788e86089a8905ff0021e666fffffb8000ff0007199a
+fffff480009f5608e7fb8905ff00026666fffff98000ff0000e666fffff880008b87
+8bfffffae666fffffeb334fffff64cce89fffff5cccc0868fb4b05866f7b7d628708
+6c88058787897b8f82b88caf8cb28bb18bb88ab78a8e8f8e9f889008698e05ffffd9
+199aff00036666fffff4e666ff000c999a91a9080b9ac3a1c6a0bf086e90056a4364
+50428b08fb74067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d99
+98ff0007ccccff0011b3348bff0008cccc8bff00058000fffffbccccff000266687b
+8b7f8b76846d8808fbc8060b5e8b9095688e7c5574437b6208a786050badd0a6bdd3
+8b08f77106928b8e8989858a868785858408fc72fcb105fffff8ccccfffff8cccd85
+fffff4e6668bfffff8199a08fffff81999ff0003cccefffffc199aff000c66661ef7
+f206a4eb898b1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e408
+8d897e6105847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000ff
+fffb3334ff000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb
+05738b71887790080b5a313e376b8b086981b3c3f5def735e71fa08ba1849e7f8b8b
+8121724b080bff000e8000ff0040e668ff000a8000ff002819988b8b8b92888e828b
+7081437e628808887305888c898f1eaa8905989385751f8b80897a86750824fc5d05
+7d4da555e58bff001f33338bff0026cccd98aea3ff005b6666ff003eb333ff005b99
+9aff008033338bff0066199a8bcf7dbe308b468b584c686208898c050bfb25ffff83
+4cccfb17ffffb3b3341effffdbe6668b85ff0026b333ff0010199aff00444ccd08ad
+f72405bac2b8c8bb8b08a9a274471f0bd38bccff00338000bbce88958192828b645f
+63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff1999aff0012999a
+fffff1199aff00133333fffff5e666ff001366678bff003c666608f729d1e3d899a7
+866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54ccc8b85087b95
+7b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffffe5e666ffffd6
+999affffd3999affffcf4cccffffcbccccffffde999affffb280018bffffa633338b
+ffffdee666ff000680005eff00178000ffffdf199aff0014999affffe3199aff0022
+ccccffffece666ff0028999a8b080b5a315247648b086b84c5c3f5d6f727e7b1a457
+681f8b747a5d6e56080b847105857387788b7f8b789271ad8bc98bb3b3a5c4fffffa
+ccccff00088000fffffb3334ff000780007e8b7066787b818b888b828d8b97088b94
+91a78f9e08f5f863059acc95b38b8b8b92888e828b7081437e628808887305888c89
+8f1eaa8905989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866
+fb478a8b057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080b8bff
+ffa64cccffff96cccdffffdee6673ffffff63333ff00234ccdff008d199ac2ff001d
+8000ff0029e6668baf8b98828b6e080bf799be87d88bb108a474bc43fb4243fb3efb
+1336b348de1ece8bc8aec6d7869685907f8b525174825b8b5e8b6ca38be68b908ba0
+8c93080b77fb06804f81407effff9e6666ffffed4ccdfb35ffffdb4ccdffffc6999a
+fffff4e666ffffee999affffec8000fffff366667c8bfffff266668bfffffb3334ff
+00074ccdfffffa3333ff00093333fffff76666ff000dcccdffffec8000ff0012b333
+ffffea00018b08ffffe46666fffff68000787affffe9b333ff00186666ffffe84ccd
+cf1fb48bb79faab6ff001be666ff0026cccdff0016199aff004c3333ff0026e666f7
+529bff004e3333ff00104ccdff0050e667ff000ecccdff0053e666088e9ce88b0594
+8b9a8f8d93088b90a08c8e898d861ffb028b96c405ff00076666ff00264cccff000a
+999aff0021b33497a6a4c9b49d9c8ba28bff000b6666fffffa8000ff00043334ffff
+ebe668ff00043332ffffe9b330ff00088000ffffe48000ff0021e6688b08ff001eb3
+34ff00078000ff00186668ff00098000ff00284cccffffd39998ff00223334441fff
+ffe466668bffffc2199a7cffffd680005affffdd4ccd62ffffe5b333ffffb2999879
+ffffa9666808498805788a848389838a88887f8b8908898e8b8e1e0b9d87d175ac7c
+c371a3758b680865696333fb0455b0c21e8bbbc9b7a49d080b8ba685af7d9f9a99a4
+96928b948b8e868e869083ff0006e66682ff0010199a8b089d98999e9d7b9b741f71
+8b6581686b080b75a5ffffe04ccc9bffffd3b3348bfb048b5f3f8b3b8b5f9e61a66b
+080b72716e5b8b688b818b74a57c566e39548b4f083af70376dcf71de6b2ee1e8bcc
+5bac559b3ba3428d8bbb8b9f99a3949c9b81a384a78b08e2ccc7ee1f0b4d7e484f4e
+82d3bbd397c2cd1eb6a159471f0b71a175a5a5a1a1a5a575a1711e717575711f0bff
+00090001ff00271998ff000b3333ff002680008bff0011199a080bff000db334ffff
+f8b334ff00076666fffff2cccc1e0b6b8b5e845c85fffff94ccd83ff0001b3338091
+8208b38805978a91828b818bfffff6e666fffffdb333fffff2199afffff94ccd6f08
+5cfb6205846b81628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e77818b
+fffff8e6668bfffffd199a908b97088b94ff0005199aff00166666ff0005e666ff00
+19999a080bff0008b334ff0027ccccff000a8000b58bff000ce6668bff000db334ff
+fff8b334ff00076666fffff2cccc8b080b6b8b5e855c84fffff94ccd83ff0001b333
+80918208b38805978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffff
+ea8000ffff9e8000fffff6cccd4cffffedb333ffffb8800075356979798bffffe4cc
+cd8bff00058000b6ffffceb3338b08fffff2cccdfffff03333fffff6199affffeae6
+666bb17bb71ff7118bff00348000ff00bae666ff00338000ff00f3199a080bfffffb
+333477fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001f
+cccd8bb18b8bb8ff0007e666b008ff0024199af73605938e92ff00004ccdff000766
+668bff0007999a8b92fffff8b33390829d6b96ffffcd3333ff00146666ffffd2cccd
+ff0020999a43a46cb48bad8baeaaabc384938790808b08776e7678808bffffece666
+8bfffff98000ff0011999afffff5999aff001466666fc27eb27da7fffff04cccff00
+1f6666fffff9b334ff000d999a6a94088b8fbfb905bcb7a69d9f8ba58b877dad8b08
+99ab9eaaa77592701f6b8b4e65434b0863ffffddb334057afffff14ccc767b768b08
+d3f7cb059acc95b38b8b8b92888e828b7081437e628808887305888c898f1eaa8905
+989385751f8b80897a8675080bff000e8000ff0040e668ff000a8000ff002819988b
+8b8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80ffff
+fde666ffffeeccccfffffb199affffea33340828fc5005fffff8e6666bfffff9199a
+698b788b78ff0004800072ff002580008bff002d33338bff00364ccdff00198000ff
+002d8000ff004b8000879586927e8b6d676b757f8b838b87918b93088b938e9a94b3
+080bffffc6cccdfb8d05fffffb333477fffff8199a728bfffff633338bffffef4ccd
+ff00091999fffff58000ff001fcccd8bb18b89b7ff0009e666b108ff0028199af735
+05d9f705c3acab8b9f8b91848b6d8b7f8a73846c08ffffcfccccfb5f05fffffb3334
+ffffebe666fffff8199affffe7199a8bfffff633338bffffef4ccdff0009199affff
+f58000ff001fcccc8bb18b8ab7ff0008e666b108ff0026199af73105e0f70bb2aaab
+8b9e8b95848b6d8b808a6e836c0864fb31050bfffff5ccccffffd6cccdfffff88000
+ffffd733338bfffff766668b77ff0011b334fffff2999a998bc68bc2a8addd899484
+907e8b73656f70798bfffffa99988bfffffe4cd0918b90088bff0003999aff000219
+98ff001919998eff000b4ccd08baf746050b91a28faa8b9e8bca6da36c8b448b544e
+51428e9b8c9d8b988bd16d9c6f8b438b4a56503f08898cff00024ccdff0009333405
+ff0009b334ff0026ccccff000c8000ff0026cccc8bff0011199a8bff000db334ffff
+f8b334ff00076666fffff2cccc8b080b6b8b5e845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b81088bfffff6e66688fffff2199a856f080b6b8b5c855c
+84fffff94ccd83ff0001b33380918208b38805978a91828b818bfffff7e66688ffff
+f1199a856f08ffffc7cccdfb8d05fffffb333477fffff8199a728bfffff633338bff
+ffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b108ff0026
+199af73a050bcaddc2c6af8ba08b99868b6c8bfffff3b334fffff9b334ffffe46666
+fffff94cccffffe3e6660865fb34050b836b82628b788b78967da98bbb8bbbadb9c6
+889485937d8b716d6e77818bfffff8e6668bfffffd199a908b97088b9490a191a508
+0be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666ff000ccccc
+ffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff98000ffff
+a9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0b5698fb0b
+f7131eff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff0076333308d379e5fb0ffb3b3cfb31fb0c
+1e0bff0003999aff0011e666ff00096666ff001e199a8b978b9c81956b8b658b8b5f
+8365087e50055967666d6f68ff0003e666fffff1cccdff0009199afffff933339d8b
+a1a8a19da7a20824fc5f05856f7c7f6b8608788805868a868a8b85088b788d89058b
+cf90afb2cf898b1e8d8d8b9f058b90898d878c08788e057c8d719093ad08b7f74c05
+9a7bff001c80007aff001d80008bff004733348bff003a3332ff0027b333ff002b99
+9aff00354ccdc1cda6cf8bd38bdf6fcd278b588b6678707b080b8bffffcf800077ff
+ffbab333ffffda3334ffffc54ccdffffe56666ffffd6b333ffffd86666ffffe1cccd
+658b718b709876a808cdf7b805a49ba89db18bcf8b95448b5a080b9a06edc6c1d51f
+8bba70b92fc86d9f819d8ba48bae9fafb68b080ba48b9c838e768e739c6fa58b08a7
+939d9baf57b74d34564b4e1f8b63a160cc5f080bc067936a8b768b5463785e8b718b
+7d9088a188a27da96d8b6e8b83738b80088b66b966d087080b568805788a84838983
+8a88887f8b8908898e8b8e1ed18b4efba405fffff8b333ffffdf999afffff94ccdff
+ffe166668b788b679d81aa8bff002c80008bcdb4ff00228000c9889884917f8b5d57
+79817b8b888b818d8b97088b94ff00036666ff0014199aff0007999aff0021e66608
+c6f79bed8b05979094a5809308288b95b805ff00043334ff0012b334ff0008ccccff
+001d4ccc8b978b9c83956b8b678bff0001999a5efffff6666666080bff0003999aff
+0011e666ff00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541
+fb125a44598b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d
+8b5b8b52695d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085f
+fb3c05847188758b788b52ab74ae8bd98bbdc9d2f3088e89806405826b83628b788b
+78927da98bbb8bb8adb9c6889485937d8b716d6e77818b848b88908b97088b9490a1
+91a5080bffffde6666f77d057de87fb0668bffffde80008bffffc63333ffffc5199a
+68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b3333fffffe
+8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff0007999aff
+ffd3b33408b5fb8805ff0007999affffd3e666ff000accccffffec199aff000d999a
+8bff000a80008bff000dccccff000f8000ff0012e668a0ff001ee666ff00226666b1
+ff00303334ff000e6666ff00146666ff0015ccccff001ee666ff002dccceff003c80
+00ff001c3332ff0042199aff000ee668ff0022ccccff000c3334ff0024999a8bff00
+23333408ff001c6666fffff219989effffd98000ffffe2b334ffffeeccccfffff34c
+ccffffe7b3341e8bfffff9ccccff00023334fffff6999aff00034cccfffffb199aff
+000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8bffffd43334ffffdb
+3334ffffb26666ffffd96666ffffcc6666fffff36666ffffef199affffdbe666ffff
+d13333fffff2199afffff4b333080bff0007b3348bff00123332ff000e4ccdff000f
+b334ff0018b333ff00253332ff003a8000ff0037199aff00606666ff0022999aff00
+4b199a08918c05ff000e80004bff000f4cccffffaf199aff0009b334ffffbd333292
+ffffcfb334ff00074ccc81ff0008b3348bff000b80008bff000e8000979fa4ff001c
+e668ff0024199aff001fb330b8ff000e6668ff00146666ff0015ccccff001ee666ff
+00234cccff003d8000ff001c3334ff0042199aff000ee668ff0022ccccff000c3334
+ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ffffe2b334ff
+ffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6999aff0003
+4cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bffffef999a8b
+5effffe61998ffffb3666665ffffcc999afffff08000ffffeb199affffefe668ffff
+ecccccfffff2e668fffff1999a08fffff866648d05fffff78000ff00346666fffff2
+999cff00428000fffff2fffeff0036199afffff6ccceff0026199afffff74cccff00
+21666684ff00118000ffffef8000ffffff8000ffffef8000fffffc80007b83ffffd6
+6666ffff9f8000ffffbe999afb0bffffe880006708fffffd8000ff0001800069f769
+05fffff13334ff005ce666fffff4ccccff0025199a668bffffde80008bffffc63333
+ffffc5199a68ffffcab332ff0002b333fffff5b334ff00076667fffff9b334ff000b
+3333fffffe8000a7a6a2ff00154ccc9e8bff000980008bff0005e666ffffef4cccff
+0007999affffd3b33408b5fb8805ff0008b333ffffcd999aff00094ccdfffff26666
+948b080bff00238000ffff9d8000ffffa28000ffff76800005fffff5999afffff0cc
+ccfffff56666fffffc3334848b838b808d838f828f818d818b08757b7b7571ae7fa2
+1fad8bff00183333ff000f3333ff002bcccdff003ecccd08ff00458000ff00638000
+ff00268000ffff868000050bff000cb33463ff000a4ccc7bad8bae8bb79eaabfffff
+fc3334ff00093333fffff6cccc9380ff0001cccd716a7e83808b828bfffff93334ff
+000cb333fffff7ccccff00184ccd0855f735d7f70405ff000fb334ff00173334ff00
+184cccff0003cccc928b938b98889484ff00076666fffffa3334ff000f999afffffb
+cccc958b08999d9fa21f0ba4709a741e598bffffdf3334ffffeeccccffffceccccff
+ffb933340859436fe305ffffef6666ff00343334fffff4999aff0013cccc728bffff
+e880008bffffb68000ffffd680006871ff00016666fffff5199aff0003999afffff3
+e66693fffff84ccc97ff0005b334ac9bff001480008b988b958890fffff7800008ff
+00048000fffff84cccff0006b333ffffef3334ff00064ccdffffee8000080bff0013
+999aff00206666f70eff00ba8000ff001c3332ff0042199aff000ee668ff0022cccc
+ff000c3334ff0024999a8bff0023333408ff001c6666fffff219989effffd98000ff
+ffe2b334ffffeeccccfffff34cccffffe7b3341e8bfffff9ccccff00023334fffff6
+999aff00034cccfffffb199aff000f3334ffffe9199aff0005ccccffffeb4ccc8bff
+ffef999a8bffffd43334ffffd73334ffffb51999ffffdd6666ffffc9b3338b8bffff
+cc999affffac999affffe64cccffffda666608fffff980008e0585ff0074800084ff
+005e66666dff007b999a7dc07ea0728bffffe880008bffffb68000ffffd680006871
+ff00016666fffff5199aff0003999afffff3e66693fffff84ccc97ff0005b334ac9b
+ff001480008b988b958890fffff7800008ff00048000fffff84cccff0005999affff
+efccceff00056666ffffede666ff001e8000ffff9a3333ff001e6666ffff0c4ccdff
+fff4199affffe680006248615f7d8b818b7898859084917793838b087672776c6ab7
+829c1fc08bff004f8000ff0040cccdff00408000ff00633333080b74717c857b8b79
+8b7d8f5c95080b5b936d906f8b688b5e4a7a509284948a968ba0b99c95b98b080bb8
+8bb182a88bff000d999a8b93ff00006666ff0009e666ff0001666608ffff0f8000ff
+fef73334057774655c877d8e849086918a93889289938aa1b0a49b958b9c8ba685ab
+77080ba47cac81a78bb68baca4baf700fffffa199aff0006b333fffff8e666ff0003
+4ccd7f8b654e6e866f8b080bffffcd66668bff00058000ae2f8bff0045cccdff004d
+e666ff006dcccdff00703334ff00388000ff0045e666a4a99fa0959b080b726e756c
+759b7ba1a3a9a1aba07b9b751f0b726e756b769b7ba1a4a8a1aaa07b9c751f0bf730
+f712f713f730f730fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71f
+f704fb04fb1ffb1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b783c
+056d747981788b728b82978b9b8b8f8b8f8c900893aaa59de0a1080b9c8ba0979595
+08869b0587888689888b080b86898f941f8b948d9990a0089cd6050b8f9b8c988b97
+8bc66399658b648b4a6a82638b898a888b898b809384978b9c8b95988d93088c8e8b
+8d8b8e8b8d8b8c8a8c088e078b8d8c8f8c8f080b9b9f86651f8b808a7e877b08517c
+054d7b5f6f81618a858a858b868b6aa377ad8ba98b9e94b2a9080b8a8a8b8a8b898b
+7a9479a18b080b948b9e938e9b8d9388928d948d98999bb68b9b8ba6818b688b868a
+868a868155717456670855665761825b08f7620694a898ae99a9087490057c6f7364
+6c8b083a0691aaa8a8bba9cbb3b3ac93b98d928b908b918bbc5b9b5e8b3c8b655886
+718a8a8b898b8a08809682971e0b836268715e8508887305938c918c928ba18bb885
+8b608b878b868a857d464f7e788b6c8b82938595869286927e8b088178827e77ba7c
+af1fda8bd7b998d08c918c928b908bb967a06e8eab9ba5a291a88c8f8b8e8b8f8ba9
+709d5c8b08348b6356887a8b888c7c9e8ba18b919c8e9791a4af959f8b9c8b9c848b
+758b878a888b87080b25fb1205838189828b868b859086928b928b92909d9a08f71a
+f7018b9605898c898d898d859280966f8b868b848a888a080ba7a5a5a7a771a56f6f
+71716f6fa571a71f0b978b8b81856b086efb2c0586757a7c7b8b086706878b88888a
+89088776058bc78cb1adbf8a8b1e8fa0058c8f888c888b086f067d8b829a90a108be
+f7997b8b055a706f7f597a088f70059b92aa94988b080bfca5fcd3b583f8a4f8d305
+0b6cfb20298b05959cd0d5bdbc080b82627d8863898483887c8e85a98c998bae8ba9
+8b9c8ba98a91928e998993ffffda1998ff00023334fffff5199cff00086666ff0007
+ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b818b8a8a7a82
+7d7f80815f6253575e55868687858785fffffe199afffffc3333fffffcb332fffff9
+80008bfffffa333308fffff9999a8ffffffa8000ff000e33341ef70a060b8b908791
+84910825df345ef7214c059b849986958b9a8b8f988b91080bdff725059298928fa2
+8b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccfffffce6678bfffffd19
+998bffffea9999ffffefb334fffff64cceffffdf6666fffffd6666086f8905878bff
+fffc999afffffd4ccdffffff6666fffffab3330889788c8905af8cc18cb08bb28bb2
+8aae8a088d8d8d9e05ff0000800090fffffc80008e868b08818c05658f7b9a85b208
+2ff8b205889e88967d8b7d8b82827b7008fbcffc9c05664d6f816188868bfffffccc
+cdfffffd6666ffffff3333fffffa999a0888788c8905af8c9b8cb08bb28bbe8aae8a
+088e8d8d9e05ff0000800090fffffd80008e878b08708d05ffffe74ccdff0002199a
+fffff48000958bff000ecccc8bff0006cccdff0002666693ff0004cccdff00084ccd
+080b948b9b90a09208f73dca4ab8fb2137057d8284848b828b838f88938b080b6006
+6569636b606f08947605b59caf9db6a6a672a978ae7908a0a0056ca670aa76af080b
+788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6
+666d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff00
+1233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffffe933349105
+ffffe9800061ffffefe66881758b080b71a175a5a5a1a1a5a575a171717575711e0b
+dff725059298928fa28b08f75c8ba4fb3d05ff0000999afffffcb333ff00004cccff
+fffce6678bfffffd19998bffffea9999ffffefb334fffff64cceffffdf6666fffffd
+6666086f8905878bfffffc999afffffd4ccdffffff6666fffffab3330889788c8905
+af8cc18cb08bb28bb28aae8a088d8d8d9e05ff0000800090fffffc80008e868b0881
+8c05658f7b9a85b2082ff8b2050b889e88967d8b7d8b82827b7008fbcffc9c05664d
+6f816188868bfffffccccdfffffd6666ffffff3333fffffa999a0888788c8905af8c
+9b8cb08bb28bbe8aae8a088e8d8d9e05ff0000800090fffffd80008e878b08708d05
+ffffe74ccdff0002199afffff48000958bff000ecccc8bff0006cccdff0002666693
+ff0004cccdff00084ccd080ba98b9a72fffff9b3346cfffffa4ccc6fffffe74ccc6f
+6c8b6c8bfffff2b334a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bf760
+f7b9058f898a82897f0856fba2050bf7d90699c3a1c6a0bf086f90056a43624e428b
+08fb1106768b7f9390a608bcf793ed8b05ac8b927b8c6f088a6c05878c88911ea18b
+8d8e058d9c8eb891ad92ac97b093a4088d8a8d891e7606878b88878987087f6d057f
+6f807b698b08298bb2f75a058fa29ba0a28b08eb06d48b9159934608a890058cb48e
+c690c108fb698b418b050b8a878c88918b08a889059e8a9c7d7b7308fbecfc80056c
+5e8383668808758905858a87898a86080b8d8a8f871e708d05698d898ca4af08f71e
+f75af73f8b65fb5405866f7b7d638808718905868b88878a86080b8d89058be58dad
+1e0bff0012ccccff00083334fffff6999afffff11999ffffe1999affffe7e666ffff
+ebb333ffffdbccce1f778bfffff5e6668f7295fffff7999984fffffb800084fffffd
+999a7fff0016cccd80ff000fb33285ab8b08ff003c4cceff003f199aff0020e666c1
+ff001e8000ffffe79998ff0012999affffdcb3341f828bfffff6cccc8afffff7999a
+8908ff0021e666ff003acccc05ff00528000ff00096667ff0052b334ff002d1999ff
+00488000ff004eb33488948691808b383d436c328bffff87b3338bffffce199aff00
+6666668bff00744ccd8bff001bb333ff0002cccdff001c8000ff00056666ff001c19
+9ab3f75ff72cdfd78b08f7198bb33a933508a88f058cbf8dbc91c1558e6eb5fb0a8b
+fb338bfb44fb2665fb59fffffb3333ffffe74cccfffffd999affffe74cce8bffffe7
+cccc8bfb19ff0049e666fb09ff00ac1999fffffe999a08ffffcab33435ff0004b334
+85059c90ff000a4ccc8c9e8b080b8d8a8c881e0b7a88858a748b08fb87060b948b9b
+90a09208f73dca4ab8fb2137057d8284848b8208838f88931e0b8a888b888b898b75
+9b7ba18ba48ba3a08fa48c8d8b8f8b8e8b9f7c9b758b728b73768673080b8b888a88
+8b898b769b7ba18ba48ba39f90a48b8e8c8e8b8e8ba07c9a758b728b72778672080b
+91a99ea5b18e08a68d05ff0002ccccff00003334ff0005b3348eff00008000ff0004
+cccc088d9e898d055e8a678a748b738b628c5e8c088989887805ffffff4cccfffffb
+8000ff0007e668fffffce668ff0004ccccffffff999808a38905ff00206668fffffd
+9998ff000a1998ffffec80008bffffea4cd08bfffffae664ffffff6668fffffacccc
+ffffff1998fffffae6680841fc0f0587788980858b838b829d76b008fb87f850fb18
+8b8889897805ffffff800086ff0007800089928aaa88a0648c710831fc62058570ff
+ffed8000ffffe33333ffffd88000fffffccccd080b728905fffff7199affffff4ccd
+fffffb6666fffffc9999ffffff8000fffffb199a0889798d8905b88cb48ca38ba38b
+ae8ab88a088d8d8d9e05ff0000999aff00058000fffffde666ff0002199afffffb80
+00ff0000666608728d05ffffe18000ff00026666fffff3e666ff001233348ba28bff
+0004e666ff00008000ff00053333ff0001199aff00054ccd08cff7f30592ad909a92
+8b918b9380987508f78dfc4d050bf700ff00494ccc43ffff72199a1f8bffffe1cccc
+fffffcb334ffffde999a84ffffdb800068fb472220fb028bffff9ecccc8bffffae80
+01ff004f4ccd8bff008c66668bff0019cccdff0002cccdff001bb334ff0005e666ff
+001dcccc08b3f766f70ee2e28b080bffffab9998ffffa7999805ffffd3199cff0030
+e668ffffbe4cccff001b80003e8bfb3f8bfb2bfb2c65fb58fffffae666ffffe56666
+fffffd8000ffffe6ccce8bffffe833328bffffb8b334ff0016199affffc5ccccff00
+263333ffffd6666608ffffb24ccdffffaeb333a572ff004e3333dd05ff00294cccff
+ffe03333ff0035ccccffffeecccdff003db3348bf74c8bf725f71fb2f75c90ff0019
+ccccff00024cccff0018b3348bff001766668bc67cff00330002ffffe54cccff0028
+666408ff00576668ff005bb334050bff004766668bff00383332ffffe08000ff001d
+e668ffffc1b33408fffe7a8000fffe68333205ffffefb333ff0020e667fffff6999a
+ff0028b3338bff002fb3338bff0019cccdff0002cccdff001bb334ff0005e666ff00
+1dccccb3f766f70ee2e28b080bff00069998ffffe7b332ff00038000ffffe433348b
+6c8bffffe1ccccfffffcb334ffffde999a84ffffdb800068fb472220fb028bffffcb
+66668bffffd0199aff001733336aff002b8000080bf75a8bd0f713adf74608bdf796
+0591a79dadb48e9b8c938c8d92088e9d8a8d05678a648a758b758b7c8c738c7f8b86
+828a8489848f879589ab848a63856c0858fb9b0575fb0461fb1afb358b5d8b67a075
+a862c098d197cc08c3f7b20590a796a5af94938d908d8d958c918a94838b738a7a8a
+648b668b638c688c0889898779058a868e87908bab88ab7e8464084bfbdb0563fb60
+f71561e08b080b71a076a5a5a0a0a5a576a071717676711e0bfffffc33348cfffffa
+4ccc8c868b698bffffe580007afffff6cccc8508fffffbb33480ff005be666fb0105
+ff000ce6667c9186918b938bff00083334918c90ff0001666692ff00008000928895
+080bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687fffffdb334fffff4
+ccccfffffe999984ff0005cccd85928b928bff0008cccc8fff0012199a9a08ff0089
+199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bfffff9
+b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6676308ff00
+1119997d05ff002b8000a6ff00251998a4ff002cb334b1ff001ab33467ff001be666
+72ff0021199a6e08ff0017e6669905ffffe4199ab3ffffe48000b5ffffec9998ba08
+0b788bfffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2
+e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000fccce80ff
+001233327dff001280007fa18bb98bff0023199aa9ff00183334c708ffffe9333291
+05ffffe9800061ffffefe66881758b080b72a076a4a4a0a0a4a476a0721e72767672
+1f0b708e7e8e638b0820fb25fb31fb3153983cdf1fc08bc3c2c7e4088d897e61050b
+847488778b7f8b789271ad8bc98bb3b3a5c4fffffaccccff00088000fffffb3334ff
+000780007e8b7066787b818b888b828d8b97088b9491a78f9e08d0f7cb05738b7188
+7790080ba98b9a72fffff9b3326cfffffa4cce6fffffe74ccc6f6c8b6c8bfffff2b3
+34a7ff0005b332a7ff0006199aa9ff00183334a5aa8b080bfffff6999a5dff002180
+0066b98bbb8bff002eb334b1ff00093332b8ff0009999abaffffde3334af5d8b5d8b
+ffffcf999866fffff6999a5d080ba6e0c4cecf8bb68ba46e8b6e088bffffb26666ff
+ff924cccfffff5e666ffff91b334fffff9b334080b7f597d5d8179080b6f59647866
+8b568b76a38bac8bff00666666ff009f3334ff00134ccdff0036ccccff00044ccd08
+0b8b7587738365ffff8acccdfffff7e666ffff4d3333ffffe64ccd8bffff78cccd8b
+54b867e78bc28bc9a7b2b4080b9a72ab5fe68bcd8bc9b3b4c1087d95056468677755
+8b4d8b63bb8bd78b9c8d9e8f9eff00939998ff0007e666ff00a06668ff001280008b
+ff0069999a8baf69c0248b528b5172605e0875ce3f8e738b08ffffa5e666ffffa019
+9affffcab334ffffc04ccc7c937ca3ff001a6666ff001666679eff001880001f8bff
+0004b334fffffe9999ff0002e6668bff0006333208ff002fccceff003f6666ff000b
+e666ff00213334ff0013999aff002e6666fffff58000ffffbf80001e0bff0012cccd
+ff00083333fffff6999afffff11999ffffe1999affffe7e666ffffebb333ffffdbcc
+cd1f778bfffff5e6678f7295fffff7999984fffffb800084fffffd999a7fff0016cc
+cd80ff000fb33385ab8b08ff003c4ccdff003f199aff0020e666c1ff001e8000ffff
+e79998ff0012999affffdcb3341f828bfffff6cccd8afffff799998908ff0021999a
+ff003a4ccc05c3ff000eb334ff0032199aff002c199aff0026e666ff003666668895
+8192828b645f63ffffdf8000568bffffef4ccd8bffffed1999ff00046666fffff199
+9aff0012999afffff1199aff00133333fffff5e666ff001366678bff003c666608f7
+29d1e3d899a7866a1e8b8589838886fffffd6666fffffbb334fffffd999afffff54c
+cc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff9380001e638bffffbf8000ffff
+e5e666ffffd6999affffd3999affffcf4cccffffcbccccffffde999affffb280018b
+ffffa633338bffffdee666ff000680005eff00178000ffffdf199aff0014999affff
+e3199aff0022ccccffffece666ff0028999a8b08ff00024ccd8bffffcd333339ff00
+04b3338505ff0010ffff90ff000a4ccd8c9e8b080bfffffc33348cfffffa4ccc8c86
+8b698bffffe580007afffff6cccd8508fffffbb33380ff005be666fb0105ff000ce6
+667c9186918b938bff00083334918c90ff0001666692ff00008000928895080b5906
+ffffd9999a5dffffd14ccd60ffffd3e6676308ff001119997d05ff002b7fffa6ff00
+251999a4ff002cb334b1ff001ab33467ff001be66672ff0021199a6e08ff0017e666
+9905ffffe4199ab3ffffe48000b5ffffec9998ba080b8bffffa64cccffff96cccdff
+ffdee6673ffffff63333ff00234ccdff008d199ac2ff001d8000ff0029e6668b08af
+98826e1f0bfffffc33338cfffffa4ccd8c868b698bffffe580007afffff6cccd8508
+fffffbb33380ff005be666fb0105ff000ce6677c9186918b938bff00083333918c90
+ff0001666692ff00008000928895080bffff9c4ccdfb0b05fffff53334fffff33334
+fffffbe66687fffffdb334fffff4ccccfffffe999984ff0005cccd85928b928bff00
+08cccd8fff001219999a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6
+999a8cfffff9999a8b08868bfffff9b3348afffffccccc8a080b72a076a4a4a0a0a4
+a476a072727676721e0b788bfffff1199895fffff2666897ffffeecccc99ffffece6
+66996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cc
+cc80ff000fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff001833
+32c708ffffe933349105ffffe9800061ffffefe66881758b080b93ae90a28b9d8bc7
+709f648b578b60762ffb00088a8cff00034ccdff0009333405ff000d199aff0024cc
+ccff0008199ab68bff000ee6668bff000db334fffff8b333ff00076666fffff2cccd
+8b080bffff9c4ccdfb0b05fffff53334fffff33334fffffbe66687fffffdb334ffff
+f4ccccfffffe999984ff0005cccd85928b928bff0008cccd8fff001219999a08ff00
+89199af701ffffff4ccc9605ffffed8000a1ffffe6999a8cfffff9999a8b868bffff
+f9b3348afffffccccc8a080b5906ffffd9999a5dffffd14ccd60ffffd3e6666308ff
+0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001ab33267ff001be6
+6872ff002119986e08ff0017e6689905ffffe41998b3ffffe48000b5ffffec999aba
+080be5b2f726f51ea98bff00104cccfffff0199aff000e3334ffffe3e666080bff00
+0cccccffffe6999aff0002b334ffffdbcccc8bffffe1999a8bffffd86666fffff980
+00ffffa9999affffdb8000536f60ffffd7800079ffffda80008b086e60b1f41f0bff
+ffcab334ffffbecccc0576ff0010b334ffffe24cccff000a8000618bfb3b8b3cfb31
+8bfb0c8b6cff00046666ffffca6666ff001d199affffd8e66608ffffcf8000ffffc4
+b334ac70ff002e999aff0039666605ff001319997fff0018999afffff8999aff001f
+b3338bff00204ccd8bff001e4ccdff00043333ff001d6666ff000ecccdff0057199a
+ff002be666ff0043e666ff0069e6678bff007633338bff0022199afffffbe666ff00
+26199affffeeb334ff001eb33208ff003b6666ff0049199a050bff0000e668fffff4
+e666ff00004ccc808bfffff5999a8bffffd86666fffff98000ffffa9999affffdb80
+00536f60ffffd7800079ffffda80008b7c8bffffed6666ff000a199afffff16667ff
+00183332080bffff358000ffff0833330587ff00119999fffffd999aa08bff0018b3
+338be5b2f726f58ba98bff00104cccfffff0199aff000e3334ffffe3e666ff000133
+34fffffd999aff00013332fffffd80008cfffffd6666080bffff9c4cccfb0b05ffff
+f53334fffff33334fffffbe66687fffffdb334fffff4ccccfffffe999a84ff0005cc
+cc85928b928bff0008cccc8fff0012199a9a08ff0089199af701ffffff4ccc9605ff
+ffed8000a1ffffe6999a8cfffff9999a8b868bfffff9b3348afffffccccc8a080b59
+06ffffd9999a5dffffd14ccc60ffffd3e6676308ff0011199a7d05ff002b8000a6ff
+0025199aa4ff002cb334b1ff001ab33267ff001be66872ff002119986e08ff0017e6
+689905ffffe41998b3ffffe48000b5ffffec999aba080bff0003999aff0011e666ff
+00096666ff001e199a8b978b9c81956b8b658b8d5f8165086efb020541fb125a4459
+8b798b7f958ba68b9b8da092a608b6f7370593ab98b48b9e8b9e85996d8b5b8b5269
+5d508e829183998ba5a9ac9f958b928b8e868b7f088b8285758471085ffb3c058471
+88758b788b52ab74ae8bd98bbdc9d2f3088e898064050b826b83628b78080b78927d
+a91ebb8bb8adb9c6889485937d8b716d6e77818b080b848890971f8b9490a191a508
+0b988bff000eb3349dff0002666497ff0001333491fffffd999c93818b08ffff0aff
+fe06808bfffff180007afffffd999a7ffffffe999a84ff0002666683948b080b988b
+ff000eb3349dff0002666697ff0001333291fffffd999a93818b08fb8906808bffff
+f180007afffffd999a7ffffffe999a84ff0002666683948b080bc88bd8b19cd60870
+067d665573588b082c89c48f1f6f800652af5edb1e0bffffe2999a7f05fffffcb333
+36ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea333451ff
+ffcb80006b578b558bffffdc7fffb0ffffffcccdc0080b7a848f901f8b8e8c8d8d8f
+08f728f78dbefb9f050bfffffab33271ff0011800075a58ba58bff001a8002a1ff00
+054ccca5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33471080b
+d38bccff00338000bbce88958192828b645f63ffffdf8000568bffffef4ccd8bffff
+ed1999ff00046666fffff1999aff0012999afffff1199aff00133333fffff5e666ff
+001366678bff003c666608f729d1e3d899a7866a1e8b8589838886fffffd6666ffff
+fbb334fffffd999afffff54ccc8b85087b957b9ca6a49fa4b2fffffc8000c4ffff93
+80001e638bffffbf8000ffffe5e666ffffd6999affffd3999affffcf4cccffffcbcc
+ccffffde999affffb280018bffffa633338bffffdee666ff000680005eff00178000
+ffffdf199a08ff0014999affffe3199aff0022ccccffffece666ff0028999a8b080b
+fffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccea5ff00054ccca5
+ffffee8000a1718b08718bffffe5800075fffffab33471080bb606b1adb3abb7a808
+819f05617b667861716fa46e9e679c08777705a96fa76da066080bbd06ff00266666
+b9ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ff
+ffd34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b
+4cce65ff001be6665eff001366665c080b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffd8000ffffeee668fffffb8000ffffea19980866fb478a8b
+057fa96ea4658b0820fb1dfb28fb31549932e31fbf8bbab3c7e3080bffffe2999a7f
+05fffffcb33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ff
+ffea333451ffffcb80006b578b08558bffffdc7fffb0ffffffcccdc0080bfffffab3
+3271ff0011800075a58bff001a00028bff001a8000a1ff00054ccca5ff00054ccca5
+ffffee8000a1718b718bffffe5800075fffffab33471080b6e8bffffe7199878ffff
+fb199a73fffffa800070ff0017333482ff0010666688ff0011999a89ff000c333287
+fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff000019
+9a82ff0004cccc85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfff
+ffeee668ad658b080bff0026199af73a05caddccc6af8ba08b99858b6c8b7d897883
+690865fb34050b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e
+77818bfffff8e6668bfffffd199a908b97088b9490a191a508b1f733050b93ae90a2
+8b9d8bc7709f648bffffcc33348bffffcb4cccffffeb3334ffffa4cccdffff954ccc
+08ff003cb333ff010f800005ff000e8000ff0040e668ff000a8000ff002819988b8b
+8b92888e828b7081437e628808887305888c898f1eaa8905989385751f8b80fffffd
+e666ffffeeccccfffffb199affffea333408ffff92cccdfc7f05fffffb333477ffff
+f8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b08b1
+8b8ab7ff0008e666b1080b788bfffff1199895fffff2666897ffffeecccc99ffffec
+e666996d8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010
+cccd80ff000fcccd80ff001233327dff001280007fa18bb98bff0023199aa9ff0018
+3334c708ffffe933329105ffffe9800061ffffefe66881758b080bff00090001ff00
+271998ff000b3333ff002680008bff0011199a8bff000db334fffff8b334ff000766
+66fffff2cccc8b080bfffffab33271ff0011800075a58ba58bff001a8000a1ff0005
+4ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab33371080bff
+00109998ff0053e668ff00116668ff00081998c38eff00053334ff00046668ff0002
+80009bfffffa4cccff000899985d8affffe9b3348affffd44ccc8bffffcdb3348bff
+ffdf4ccc8c5d8cfffffaccccfffffb9998fffffd80007bff0005b334fffff76668ff
+00384cccfffffdb334ff0015ccccfffff8b3348bffffd9e664088b7ffffffdccd0ff
+fff08000fffffc1998ffffec33340834fc4e05ffffdc4cccffff4a8000ffffc9b334
+ffffe580006c8b7e8b809386958598809c6e8b08fffff1e666ffffe08000ffffedb3
+3370ffffe0199aff002bcccefffff03333ff0012cccc1fb58bad92b8aebbb0ff0040
+4cccff0032e666ff001cb334ff0091199a080b6b8b5e845c85fffff94ccd83ff0001
+b33380918208b38805978a91828b818bfffff6e66688fffff2199a856f080bffffe2
+ffff8bffffe7199a78fffffb199973fffffa800070ff0017333482ff0010666688ff
+0011999a89ff000c333287fffffbe66877fffffc4ccc79ffffe1199a73ffffcccccc
+80fffffe333482ff0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c
+3334c708ff000a9998bfffffeee668ad658b080bffffc7e667fb8e05fffffb333477
+fffff8199a728bfffff633338bffffef4ccdff00091999fffff58000ff001fcccd8b
+b18b8ab8ff0008e666b008ff001a199af707059295ff00008000ff00084ccdff000d
+e6668bff0008e6678bff0008b333fffff8cccd8dfffffae66608d7fb1405ad529479
+ab8bba8bafa7a2b784938491808b7b72737c808b7d8b8d9678ac0828f740bec105ba
+bd9e979f8ba58b877dad8b0899ab9eaaa77592701f6b8b51654a4b0849ffffbeb334
+057dfffff04ccc7d7c768b08ff00124ccdff004f333405ff0008b334ff0026ccccff
+000d8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2
+cccd8b080b6b8b5c845c85fffff94ccd83ff0001b33380918208b38805978a91828b
+81088bfffff6e66688fffff3199afffff9e6666f080bffffe2ffff8bffffe7199a78
+fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c33
+3387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff00
+00199982ff0004cccd85ff003acccd94ff00373333a9ff000c3333c708ff000a999a
+bfffffeee666ad658b080bb1f7330593ae90a28b9d8bc7709f648b578b60762ffb00
+088a8cff00034ccdff0009333405ff000d199aff0024ccccff0008199ab68bff000e
+e6668bff000db334fffff8b333ff00076666fffff2cccd8b080bbd06ff00266666b9
+ff002f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffff
+d34cce65ffffe54cccafffffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4c
+ce65ff001be6665eff001366665c080b6b8b5c845c85fffff94ccd83ff0001b33380
+918208b38805978a91828b818bfffff6e66688fffff2199a856f08ffffc7cccdfb8d
+05fffffb333477fffff8199a728bfffff633338bffffef4ccdff000b1999fffff580
+00ff001fcccd8bb18b8ab7ff0008e666b108ff0026199af73a050b7d8b8287858308
+37fb07058a8a8a888b888b859086918b8d8b8e8c8e8c08f706e10594928f978b938b
+9d7a977d8b080b94908f978b958b9b829a738b818b838784830832fb06058a8a8a87
+8b888b859187908b8d8b8e8b8e8d080bff0003ccccff00129998fffff2999aff0012
+6668ffffeb199a8b7f8bfffff8666688fffff933348208ffff95b332fb1f05fffffe
+ccce8affffff999889ffffffccce8afffffe666683ff0007e66686908b8d8b8d8bff
+000266668d08ff00886668f70205ff0007333291ff0002800092ff0001333491080b
+ff00043334ff001480007dff000f8000ffffeb199a8b878bffffefcccc8afffff766
+667e08ffffa24ccefb2605fffffecccc8affffffcccd8affffffcccd8afffffe6666
+83ff0006e66786918b8e8bff000333338cff000266668d08ff007eb334f70d059090
+ff00023332918c90080bff00084ccdff0023333405ff0008b334ff0026ccccff0008
+8000ff0022cccc8bff0011199a8bff000f6666fffff7b333ff0009b334fffff2cccd
+8b6b8b62845c85fffff94ccd83ff0001b33380918208b38805978a91828b818bffff
+f6e6668bfffff2199a846f08ffffc8cccdfb8d05fffffb3334ffffea8000fffff819
+9affffee80008bfffff033338bffffef4ccdff0008e666fffff58000a88bae8b8cb6
+ff0009e666b208ff001d199af709050bbbe2c3e8a28b958b908691849283987e998b
+08a69da8a6a07ca5661f598b514d5f2e080b6e8bffffe7199878fffffb199a73ffff
+fa800070ff0017333482ff0010666688ff0011999a89ff000c333287fffffbe66877
+fffffc4ccc79ffffe1199a73ffffcccccc80fffffe333482ff0000199982ff0004cc
+cd85ff003acccc94ff00373334a9ff000c3334c708ff000a9998bfffffeee668ad65
+8b080bedc6c1d51f8bba70b92fc86d9f819d8ba48bae9fafb68b080bc067936a8b76
+8b5463785e8b718b7d9088a188a27da96d8b6e8b83738b808b66b966d087080b788b
+fffff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666d
+ffffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff00
+0fccce80ff001233327dff001280007fa18bb98bff0023199aa9ff00183332c708ff
+ffe933349105ffffe9800061ffffefe66881758b080b988bff000eb3349dff000266
+6497ff0001333491fffffd999c93fffff5fffe8b08fb8906808bfffff180007affff
+fd999a7ffffffe999a84ff0002666683948b080bf7598bd0f713adf74608c1f7a705
+90a79b9ab48e08a48d05908b8e8e8c90088f9e898d055e8a648a758b758b658c5e8c
+0889898778058a868f888e8b08a58905ff001f9998fffffd8000ff000ce668fffff7
+4ccc8bffffeb4ccc8bfffffbccd0ffffff8000fffffb4ccc8afffffacccc0852fbb9
+0575fb0463fb1afb378b5d8b68a074a8ffffeb4ccdff001acccdfffff94ccdaa8bff
+002099998babff00068000ff00216667ff0005e666ff0020333308c6f7c30591a79b
+98b38e08a48d05908b8e8e8c90088f9e898d055e8a638a658b658b658c5e8c088889
+8878058a868e888f8b08a48905ff001f4ccdfffffd8000ff000e1999fffff866688b
+768bfffffc3330ffffff8000fffffbb334ffffff199afffffb33340849fbe405ffff
+fb199affffe6199afffffdb333ffffe8cccc8bffffeb199a08ffff70199aff006b19
+99ffffdfe666ff004b199a1e0ba98bff000ee66672fffff9b3346cfffffa4ccc6fff
+ffe74cce6f6c8b6c8bfffff2b332a7ff0005b334a7ff0006199aa9ff00184ccca5aa
+8b080bfffff6999a5dff0021800066b98bbb8bff002eb332b1ff00093334b8ff0009
+999abaffffde4cccaf5d8b5d8bffffcf800066fffff6999a5d080bff0003ccd0ff00
+129998fffff29998ff00126668ffffeb19988b7f8bfffff8666888fffff933348208
+ffff95b332fb1f05fffffeccce8affffff999889ffffffccce8afffffe666683ff00
+07e66686908b8d8b8d8bff000266668d08ff00886668f70205ff0007333491ff0002
+800092ff0001333091080bff00043334ff001480007dff000f8000ffffeb199a8b87
+8bffffefcccc8afffff766667e08ffffa24ccefb2605fffffecccc8affffffccce8a
+ffffffcccc8afffffe666683ff0006e66686918b8e8bff000333348cff000266668d
+08ff007eb334f70d059090ff00023332918c90080b5906ffffd9999a5dffffd14ccc
+60ffffd3e6686308ff001119987d05ff002b8000a6ff0025199aa4ff002cb334b1ff
+001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffffe4
+8000b5ffffec999aba080bfffffab33271ff0011800075a58ba58bff001a8000a1ff
+00054ccea5ff00054ccca5ffffee8000a1718b718bffffe5800075fffffab3347108
+0b7c797c7572b276ad1fff003433338bff00264ccdff00113333ff00178000ff001f
+999abaff003f3333ff001d3333ff0093cccdff0021cccdff00a8333308c5f7b505a2
+f706b0cdb88bff003b4ccc8bffffcbb3343ac68b08a7989ea5ae60ae541f518b5b6e
+6b55796d78617839836c6d8a668780838c84917c08affffffd999a059dfffffecccc
+ff00056666fffffbe666fffffd199afffff0b33408ffffee199a2b05ffffc96666fb
+b7ff00063333ffffbe4ccdffffdc4ccdffffb0b333fffff24ccdffffe1999afffff3
+1999fffff96666ffffec199a8b7b8b878f8596fffff5199aff0014199affffefe666
+ff000be666798b080bf70406eda54d551f8b7d897d88807e4d5632fb2b8b528b7d93
+8ba08b918c928c93080b8e978d998b9a08d05fd6fb581e3f8bb6f75d050b90a39992
+a28b08f71d06cf9b494b1f8b85a990050b8fc390c194c808fbe48bfb0b8c878a8777
+058a898b86928b08a806ab95817a1f8b868a858a850820fc8a05856f7a7a648b0872
+06868788861f87788c89058be58dad1ef70389db8c05f7068cefdda1f5080bf82d06
+62272b2d218b2a8b48cb89f716080bcdbfd2bce98bf7008bcd318bfb188b6a876882
+66887d887f878008fc8606897789788b788bfb0ac72bf73a8bf7558bf724f723b8f7
+5792a88faa8ba88bf71445f707fb438bfb028b4a662b41080b8fa28da08ba08bdd6d
+ce5bb8c68daaaf95c0080b8c928b918b918bb375ab6a8b6e8b787c87738a888b898b
+888b799679a888080b988a98828b7f08880785695e82808b7a8b7f8d7a9164a15c97
+598bfb478bfb32fb2c68fb58877489748b768bfb32f7012af72c8b08f7538bf728f7
+21aef75c080bf700dc3efb291f8b70886d866c6bfb4720fb01fb068bfb058b3bdd8b
+f7248ba48da590a7b0f766f711e2eb8b080be5b8f728f706d89a414b4a69fb4bfb0e
+1e6d4a9ff7141f0b56a6fb0ef713f714f71af718f7321e0b8baf83b473abc18bb3ab
+97c18e948c958b938bae7aa56d8b6e8b777c85738a888b878b88088b7a957ca78897
+8996858b808b8a8b898a8a83696188808b788b7e8d7493080b779572906e8b08fb3b
+2dfb33fb0c1f0bf7618bcff713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b
+05bd8fadaa93bb8d948c958b948bad7ea56c8b6e8b737987748a878b888b888b7a94
+7ba78b08958b918d918e8f878b7c8982877273827a89088a068b418a6764448c8b1e
+898a8778058a868f888f8b08a606ac9981751f8b888b878a860857fbbf0577fb0464
+fb1afb3d8b5c8b65a072a874a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b
+08a606908b8e8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868f888f
+8b08a606ac9981751f8b888b878a86084ffbe80587748a768b788bfb2af7076ada8b
+080b8b5dc8a28b708b7d7d84758876886086808b085dfb58057e55fb11fb20678b6a
+8b83998ba88b9a8ea791a208b7f73e050b93ad92ac8b9e8ba38598688b658b4d5a69
+5b08a07c05a9af9c9e998b8d8b95888b808b81887a836a085efb44050b877b85628b
+778b5a9c76c18bc78bceb6daf70f7c52845e8b788b789371ad8bba8bb2b0afca0878
+9b0570647b757d8b888b818e8b968b958fa592ab08cef7b105c690a4af8bbd08ae7b
+a46d1e617d6e771f0b738b6b9c758f0853fb56a5890597b8b8e4d58c08f78d8bfb96
+fbf6059a8e968b9b8bc88be4618bfb0c8b7b8a7a87797b2cfb0afb0d338b548b5faa
+74bb81a07199718b08698b7b7087748a888b898b888b4ff71d6ad88bf7348bf72ef7
+0fa3f71f8e9b8d9b8b9c8be559d6fb02a208f770f7c305999e959a8b940892849078
+1e0bf72af91f638bfb29fd1f050b9ac3a1c6a0bf086e90050b6a436450428b08fb74
+067b8b848f8d948c908f91919408f861f89b05ff001a6668ff001d9998ff0007ccc8
+ff0011b3348bff0008cccc8bff00058000fffffbccd0ff000266687b8b7f8b76846d
+88080badd0a6bdd38b08f77106928b8e8989858a868785858408fc72fcb105fffff8
+ccccfffff8cccd85fffff4e6668bfffff8199a08fffff81999ff0003ccccfffffc19
+9aff000c66681ef7f206a4eb898b1f0bb08bb089ee8bf71c8bf753cbbaf78aff0004
+9998a2ff0002199cff001680008bff0015cccc8bff009a3334ffff918000ff007580
+00ffff5ecccc8b4e8b5289648b668b648c5e8c0888898878058a868e88908b08a589
+05ff001f8000fffffd9998ff000c999afffffc4cd08bffffebb3308bfffffb3334ff
+ffff3333fffffa199cfffffeb333fffff91998082afc8605856b78806989086e8905
+878b87878a86080bb88bb182a88bff000d99988b93ff00006666ff0009e668ff0001
+666608ffff0f8000fffef73334057774655c877d8e849086918a93889289938aa1b0
+a49b958b9c8ba685ab77080ba47cac81a78bb68baca4baf700fffffa1998ff0006b3
+33fffff8e668ff00034ccd7f8b654e6e866f8b080bffffcd66688bff00058000ae2f
+8bff0045ccccff004de666ff006dccccff00703334ff00388000ff0045e666a4a99f
+a0959b080bfffffa999a6ffffff01999fffff1e666ffffd74ccdfffffc199a080b6c
+88058787897b8f82080b6b8b5e855c84fffff94ccc83ff0001b33480918208b38805
+978a91828b818bfffff6e66689fffff2199a856f086bfb2505ffffea8000ffff9e80
+00fffff6cccc4cffffedb334ffffb8800075356979798bffffe4cccc8bff00058000
+b6ffffceb3348b08fffff2ccccfffff03334fffff6199affffeae6666bb17bb71ff7
+118bff00348000ff00bae666ff00338000ff00f3199a080bbd06ff00266666b9ff00
+2f199ab8ff002ae666b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34c
+cd65ffffe54ccdafffffe4199aa4ffffdee666a808ffffe94ccd7e05ff001b4cce65
+ff001be6665eff001366665c080bffffb03332ffff94e66405fffff76668fffff480
+00fffffcb332fffffc6668fffffe3334fffff5e668fffffee666fffff9b330ff0004
+999afffffa999cff0005999a8bff000599988bff0007199aff00039998ff000e6666
+ff000d800008ff006db334ff0062199cffffff6666ff0009e66405fffff13334ff00
+13ccccffffebb332ff0000e668fffffae6688b878b86ffffff1998fffffd6666ffff
+ff199c080b88ff0000e664fffffb6666ff0000e668878bffffe4ccce8bffffeacccc
+fffff0b334fffff8999afffffa999808fffffc999afffff6199cff00498000ffff9d
+e66405ff000a6666fffff28000ff0004b334fffffb8000ff0004cccc8bff00066666
+8bff0006999aff00056668ff0000ccccff00048000ff0001199aff00064cccff0000
+6666ff00064cccfffffd999a94080bbd06ff00266666b9ff002f199cb8ff002ae664
+b208ffffefb3349805ffffd5800070ffffd8e66672ffffd34cce65ffffe54cccafff
+ffe4199aa4ffffdee666a808ffffe94ccc7e05ff001b4cce65ff001be6665eff0013
+66665c080b7c920575757b7d6d8b678b73a58ba58bc1ff001cccccff0025e666ff00
+2bccceff0024999aff007f4cceff002ce666ff005eb330ff0076cccdff001e6668ff
+009bcccd90ff0019ccccff00024cccff0018b3348bff001766668bff009c0002ffff
+96ccccff00631998ffff6de6688b08fb3f8bfb2bfb2c65fb58fffffae666ffffe566
+66fffffd8000ffffe6ccce8bffffe833328bffff67999aff0064e6672fff008eb333
+8bff001133348bff0010e666ff00013333ff00106666ff00026667ffffda8000ffff
+dd4ccc6effffd633348bffffd5e6668b54b56ec18b08b48bafa1a8b8080b5698fb0b
+f7131eff000580008bff00056666ff0000199aff00056667ff00004cccffffd29999
+ffffdf999affffdfb334ffffde4ccdfffff8ccccffffdcb3338055ff0021e66777bd
+8bff0028ffff8bff002c199a9fff00263334b8fffffd666692fffffacccc8f828bff
+ffe5800075ffffecb3347b6e8b08668bfffff74ccda0ff00054ccda5ff0007e666ff
+0026b334ff001de666ff001ce666ff00346666ff00268000ff0002199aff0000e666
+ff0002199a8c8d8cff0057199aff002be666ff0043e666ff0069e6678bff00763333
+08d379e5fb0ffb3b3cfb31fb0c1e0bc2cfc3d5bbc8ff0018199aff001eb334ff000d
+e666ff000f4ccc99a0086e9a0574717c857b8b798b7d8f5c95080b5b9381906f8b68
+8b5e4a7a509284948a968ba0b99c95b98b080bb88b9d82a88bff000d999a8b93ff00
+006666ff0009e666ff0001666608ffff7f4ccdffff55333405fffff53334fffff1b3
+3378ffffec4ccd767708947b059c9092909d8bce8ba54e8b4a8bffffcfe666fffff1
+ccccffffc84ccdffffe13334ffffd8cccdffffe24ccdffffda3333ffffd24ccdffff
+edcccdffffdd66668b718b819e83a284a07c91768b08ffffe5e666fffff8199affff
+e33333fffff8cccd6cff001dcccc68ff004b3334f724f703ff0083e666ff0078199a
+1fcc69d6fb071e0bffff9c4cccfb0b05fffff53334fffff33334fffffbe66687ffff
+fdb334fffff4ccccfffffe999a84ff0005cccc85928b928bff0008cccc8fff001219
+9a9a08ff0089199af701ffffff4ccc9605ffffed8000a1ffffe6999c8cfffff99998
+8b868bfffff9b3348afffffccccc8a080b919791941f8b8e70e90584a287957a8b70
+8b76708b788b878c878d8808d635058d8a8e8a8d8b080b8b868d878e8808da37058c
+898e8b8d8b08949494921f8b8d66f706058894848e7e8b798b6d778b71080bffffe8
+999a8bffffedb334ffffede668fffffc6666ffffee1998fffffecccd85ff00008000
+84ff0003cccd8508ff005b999afb0205ff0001999889ff0001ccce8a8e8bff000299
+9a8bff000b4cccff00044ccc8dff0009b334ff000033348cff000066668dffffff33
+328c08ffffce4ccef71f05fffffccccc94fffff966678d7f8b080bffffe080008b7c
+ffffe9ccccfffffd3334fffff233348a86ffffffb332858f8608ff004d6666fb0d05
+ff0001999a89ff0001ccce8a8e8bff000b33328b90ff000a6666ff00008000ff0002
+999aff000033348cff000066668dffffff4ccc8e08ffffde6668f72305fffffdcccc
+948490808b080b508b3b65763f08a5069bb1c2a2be8bc08bb4748b680888a8078c91
+8b908b918bb374c4328b080bff001d66689705ff00034ccce0ffffd73334bd458b50
+8bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00348000abbf
+8bc18bff0023800066ff0000333256080bff001d66689705ff00034ccce0ffffd733
+34bd458b508bffffb619995affffe280003508ff001880007f05ff0015cccec5ff00
+348000abbf8b08c18bff0023800066ff0000333256080bffffe2ffff8bffffe7199a
+78fffffb199973fffffa800070ff0017333482ff0010666688ff0011999a89ff000c
+333387fffffbe66677fffffc4ccd79ffffe1199a73ffffcccccc80fffffe333482ff
+0000199982ff0004cccd85ff003acccd94ff00373333a9ff000c3334c708ff000a99
+98bfffffeee668adffffd9ffff8b080b6d70697e678b638b6ea276b3839a879f8ba2
+8ba08ea492a69acea7b59ea0b5bab68ea08b08b98ba8789863080bb88cb38cb08b08
+ff00744ccd8bffffc9b3333b9085059c8f948d9f8b089f9a817b6b6679691f748b84
+8c7194087d7905a2809c85aa8b08cec5aebeab709a6b1f828b828a838908ff002080
+00beff003780008b050b968bff000c66649dff0002199c978c91fffffe199893ffff
+f780008b08ffff2fb33406fffff699988bfffff3ccce7afffffde6667ffffffecccc
+84ff0002199a83ff0007999a8b080bffffefcccc8bfffff34cce96fffff48000ff00
+0d3334fffff16666ff000f6668ffffefccccff000f6664ffffe680008bffffdb6668
+8bffffe74ccc6affffe9e666ffffbf199c08ff00138000fffffa800005ff000e3334
+ff00244cccff000db332ff00108000ff0016199a8bff000e66668bff000e4cceffff
+f3e664ff000d6666fffff3e668ff000f6666fffff09998ff000fcccefffff2ccd0ff
+0012b3328bff0027199a8bff001dccccacff0014999ccd08ffffec9998ff00069998
+05ffffecccccffffd1ccccfffff2666880ffffed4ccc8b080b8beaf709b6d89168fb
+2b506c5b8b678b7b948ba8080bfb9958843a8b6508689d68dcf73fddf73ef713e06f
+ce251e3a8b5362533e90809086978bc1c5aca7bb8bb88bb1678b308b868b768a8308
+0b8d938c928b938bb071a6599dc3a0abab96b8080bbca178651f8b828a80887f7f58
+6c603d8b528b6b966ab3087b7b05aa5faa75cc8b08f7288bc4d696bd080ba099856c
+1f8b7d897883690865fb34050bfffff93333fffffd3333ff0004199aff0008e6661f
+8bff000ab3338fff0011800091ff0019cccd08ff0033999af771a0eb057b85778779
+8b808b778c878c088889058d818c818b818b6ffffff9b333ffffe3199afffffb4ccd
+ffffebe666085afb630583ffffde333383ffffd8cccd8b788b78967da98bbb8bb8ad
+b9c6889485937d8b716d6f7c808b080b8a878b878b888b759c809c8b9b8ba89292aa
+080b95b4a3a8a1a19b9ba494a08bac8ba27d997591838d838b83080b8b757d778b7a
+8b878c868e8794819586978b9f8ba59b92a7080b606961746f8b5b8b5eb28bdf8b9f
+8da191a59cd3a6b39ea0b5bab68ea08bb98ba8789863080bffffe2999a7f05fffffc
+b33336ff0028cccd59d18bc68bd5bcff001d8000e108ffffe766669705ffffea3334
+51ffffcb80006b578bffffc9ffff8bffffdc8000b0ffffffcccdc0080bffffdcffff
+8bffffeae66772fffffcb3337bfffffc80007aff0005333373b38bff001833338bff
+00061999ff0006999887ffffec6668fffffb4cce74ffffe580006bffffc4999a7fff
+fffe999984ffffff199982ff0003333487b290ff001f9999ff0010e666ff00153333
+ff0015199a08ff0014199a9fff000b6666a1ff0004e667a3ff00074ccdaffffff099
+99b0648b080ba556c26dce8bcb8bc69fbbb3bdb3acbd9fe28e998d9b8b9b8bb282b4
+78a26cb357a6448b08478b4f6d585608a27d05bebda89acd8bae8bb1739976997990
+758b728b6d84698162805a754e5e6774786d7e648b08488b6e9e6ebd080b74990557
+596678478b658b73987c9e7c9e86a58ba78ba38fa590a29cd69bc2bab3a4a0bba3ae
+8b08ce8ba17ca65908a9990570c05da9478b448b4a705b63616964487f5b846d8871
+8b758b61976c9f71a963bc77cb8b08ce8bd0a9bec0080b808b7d8584800836fb2305
+898889868b8a8a8a8b8a8b8a8b859186928b8f8b908f8f8f08f70bf70e0591908d90
+8c908c8d8b8d8b8e8b9c7c99798b080b7e8b808587800857fb23058a888a878b888b
+849185938b8f8b908f8e8f08e7f70e058f908d938b908b9f759a778b080b8871ffff
+f2b334ffffe2199affffe54cccfffffde66608718905fffffb8000ffffffb33386ff
+fffd4ccdffffff8000860889788d8905b98ca88ca78ba88bad8ab88a088d8d8d9e05
+ff00008000ff00053333fffffc8000ff00024ccd85ff0000800008718d05ffffe833
+34ff0001cccdfffffa1998ff000d99998bff001480008bff0006b334ff0000b334ff
+000780008cff0007e66608c8f87b058ea59899a88d08a58d05ff0004ccccff000066
+68ff00068000ff00001998ff0000b334ff00068000088d9f898dfb128bfbc3fc9105
+85818887898b888b8a8f8a940829f891fb248c8989897705ffffff999afffffbcccc
+ff00016666fffffd3334928b08a68905ff00173333fffffe4cccff00093333858bff
+fff166688bfffffa9998fffffecccdfffff98000fffffdcccdfffff8333408fb21fc
+7c0584707e6f6d8908718905858bfffffc8000fffffd199affffff8000fffffae666
+0889788d8905a88cac8ca28ba28bb08aa78a088e8d8c9e05ff00004ccdff0005199a
+fffffcb333ff0002e666868b08738d05ffffece666ff0001666684ff000c80008b9c
+8b93ff0001999aff0008e667ff00028000ff0009333308f712f84a8d8becfc9b058d
+849087918b908b908e909308f7d3f8a58d8b050b866f7a7b628b087106868b87888a
+860888788d89058be88dafb2e2898b1e8d8d8e9e058c90888e868b087106697d95a1
+1f8b8e8b8f8c9008e4f88a0590a9a599a78c08a80690908f8f1f8f9e050b898bfb11
+88858b08fb5c8bfb5b8b050b7d8b228e848b08877705888b87921ea906a69c85711f
+8b878b878a860833fc8a05866f7a7b628b087106868788861f87788d89058be88daf
+b2e2898b1e8d8d8e9e058c90888e868b087106697d95a11f8b8e8b8f8c9008e1f87c
+050b91ac9296aa8b08f78a06a391827b1f8b858b858a84080b758a76857a7d676e80
+62825b856767fb42fb196908c7f7e90590a79b9bb48b08a6068f8b8f8e8c90088e9e
+8a8d058b2d886764358e8b1e88898878058a868e88908b08a506ad9981751f8b888b
+878a86084ffbec05549653b38bf7038ba18da390a7080b8fa18d9f8b9c8bc673aa5b
+8c086c06837d8b7e1f8b86908a92899b86a5848b4b8b798974866f080b877489778b
+788bfb15e35de4820874fb1905866f7a7b628b087106868b88888a860887788d8a05
+8be88dafb2e2898b1e8d8c8e9e058c90888e878b0870066a7c95a11f8b8f8b8f8c8f
+08a3f71a05ee99f707cdadf7509df1b396a192938d948d8b940893828d7f1e0bf73c
+f789057f8b7b867d8b7d8b7b907d8b083afb228b8c8b94050be375bf471e368bfb12
+4d60fb4c846e87708b728b3db15ae58bcb8bbfb4d0ee088a648b83050b4c9c6dad1e
+b38ba8a5afca08749405746d7f84738b778b7ea78bbe088e070bc0964d351f8b858a
+858b84088b76736205552b564e618b085d79b1c51ff71edaf72cea1e0b938baa8593
+8b08a88e9e929483907d1f858b61868a8b086b7196b4cdb8c3be1fcc8b6a3bba8b08
+a39ea2a2ac5fa949fb054f354d1f8b6b9d77ab7c080b326d704e8b568b5da55af18b
+c58bc4a8b1aa08819e0560706379608b085d72a9b41fb9abd2d61e0b93ae8fa28b9d
+8bc7709f648b578b60762ffb00088a8cff00024ccdff0009333405ff0009b334ff00
+26ccccff000c8000ff0026cccc8bff0011199a8bff000db334fffff8b333ff000766
+66fffff2cccd8b080bcaddc2c7af8ba08b99858b6c8b7d88778369084cfbaa0572fb
+077a4a7769089279daad05939b909f91a394b294bb97be080bfffff9199affffe199
+9afffffe6666ffffe966668b73084bb564eaf725e0f76af722c876ae657e71826c1e
+8b61bf9a8b3f082b3cfb422a517ca6b81e8ba491a5ff0008199aac08ff001f3333ff
+00873334050bff0008b334ff0026ccccff000b8000ff0026cccc8bff0011199a8bff
+000db334fffff8b333ff00076666fffff2cccd8b080b8bf7062dc46f9a08797805c3
+4d99538b608b78887a887d752a6a2e348b568b7ab284d1a0adaad58ba60897869179
+6974454c1e8b838b848c835f446768638b598b73a58bc48ba08ea692aaabf71bf4e1
+ac9c08849f052555fb23fb088bfb398b32c36dcf8bc08bb8a9bbd6943cba71bb8bf7
+2f8bc6f7548bd7080b856efffff1199a7fffffd6e66687086c88058787897b8f82b8
+8caf8cb28bb18bb88ab78a8e8f8e9f889008698e0563ff0003800081ff000e800091
+a608ff002e6666f76005ff0028e666ff00b3e666d4ff00610002ff001fb334ff0020
+19989dff00124ccc9eff000bb334958bb38b6d52ba8b089ea3a0a8a7729e611fffff
+deb3348bffffd99998fffff13334ffffe3b334ffffe6ccccffffbe199affffc54ccc
+ffffd34cccfb0cfffff0999affffd6b33408858d058e9f8fae8b9f8bff0036b334ff
+fff5b334ff00369998ffffe54cccff0021b334ffffe9cccca7ffffdd800097ffffd7
+b3348b638b61746e6eff00018000fffff5b334ff00058000fffff9b33491fffffd99
+98a49d9c95b18b08ff0024199aff0034e66655201f8b5d844d7f4f080b9882ac6b8f
+7c08ada305879b6aa87a9757af5a8d688b3b8b416d4245484964447928867089728b
+748b52995ca55b08b83dcf69e88bb08bad93ab98bfa1bfb6b1be087d9c056a633246
+208b558b5d9b70be75b580b68bc08ba58da691a9a3f71cb2c4a8adbdc5bea2c38b08
+d28ba47ea27b080ba89ba998d18bc48bb574a8519774986b8b4f8b6d8767845d7a2d
+6a4a554d5e58567b568b08208b4ad078b308787a059f58b060b775a67eaa83b08be8
+8bdcadd3d9c8cfafcf9be690a68da48ba28bc97bbe6bbb085bd14ba93b8b688b5a89
+4a67767f5f6e827b08a47305949ab7ab9c94080bd78b9258944608a990058bb48ec7
+91c108fb8a8b3d8b050b8a878e888f8b08a906ad9685771f8b858a858a84082afc89
+05846c7a7e638b087106868b87888a860887788d89058be28db2afe8898b1e8d8d8f
+9e058c90888e878b087006697e969f1f8b8f8b8f8c9008ecf889050bfb068b52f722
+9bf715a996a58eb38b080bc38ba06bcb8bc48bcda891a48d93868f878b848b787b66
+8b080b8c8d8f9e058c90888e878b088006678b61d66bf7197cc77fba468be1a4b0f1
+a2ca95a8a6a7a18b988b9784948091829a87988b08a08ba59c90a48b8d8c8e8b8e8b
+a07ba05c8b458b4d5a7851775371404a6b707dffffd2e666ffffff199a67ffffffe6
+6608ff0028199af764050b91a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e
+8a6863358c8b1e898a8778058a868e88908b08a506ac9981761f8b878b878a860829
+fc8b05866f7a7c628b087106868b87888a860888788d89058be88daeb3e1898b1e8d
+8d8f9e058c90888e868b0871066a7c94a01f8b8f8c908c8f08ff0030999aff00fbe6
+6605ff006ee666fffffe3334ff0009e666ffffd6b332ff0013999affff9c3334a1fb
+029d46db8a080b91a79c9bb28b08a406908b8f8e8c90088e9e8a8d058b3188696538
+8d8b1e898a8778058a868e888f8b08a506aa9982771f8b868a878a8508887efc28fc
+3fe8f84d0591a79c9ab28b08a406908b8e8e8c90088f9e8a8c058b31896966388d8b
+1e888a8778058a868e888f8b08a506ab9882771f8b878a868a860820fc8b05856f7a
+7a648b087206868788861f87788c89058be58dadb1dd898b1e8e8d8f9e058c90888e
+878b0871066c7e94a01f8b8f8b908c91088d91f828f83f2ffc4605856f7a7b648b08
+7206868b88888a860886788d89058be58dadb1de898b1e8d8d8f9e058c90888e878b
+0871066c7e949f1f8b908b908c90080b7c8b7f968594859775927d8b6b8b7979866f
+8a898b898b898b6eb177b38be58bd1d5caf70108f77ff82905a3b39797b98b8f8b92
+8d8c91088f9e8a8c058b5a8a6c604a8c8b1e898a8777058a878d888f8b08a806a497
+89801f87078a858783847f08fb5afbee31f7ee0589968b948c928d959391a08b08b2
+068f8b8e8e8c90088f9e898c058b3a8a59624d8c8b1e898a8877058a878e88918bbc
+8b9764917708f705fc3b055d406e766b8b080b799b0571676171708b6e8b7b998b9e
+8b948e8c8b9508987e93777c6f846663b96fc61ebb8bbcaca8be080b8c8d8f9e058c
+90888e878b0882066a8b66d672f7197ec782ba4d8bd8a4aef1a1ca96a8a3a79f8b97
+8b9584928091829887978b089e8ba39c8fa48c8e8b8e8b8e8ba07d9f628b4c8b525a
+795178537240506b707c5f8b6a8b08fffff86668ffffdbb334ff002f9998ff00f44c
+cc050b90a79c9bb48b08a506908b8f8e8c90088f9e898c058b2d8a6864348c8b1e89
+8a8778058a868e88908b08a506ac9a81761f8b878a878a8608ffffd78000fb64056a
+8bffffd36666ff0000199affffeb199aff000ee66669a284b88bb78b9d8c9c8c9b8b
+8e8c8e8b8d080bc265b74f1e5b8b757087748a888b888b888b779a7e9c8b978b9a8f
+949497969892968b9f8b98728b6f0887078a7e8b7d8b7c8b509346c0774d8b705c67
+4f3efb1949406a8b088206878b87888a860887788c89cd8c05d38cb5d0c7f702c3f1
+a3b4f58b08ff00016666ff0006b334ffffcd999afffefd4ccc05866f7a7c628b0871
+06868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e0590888e871e7006
+6a7d94a01f8b8f8b908c8f08ff00311998f79005ff0069e6688b94629b259cfb029a
+46d38a080b428b74ad84c888ab8398708b758b7c76867185709a70a076a473b36cd9
+8bf7058bf720c0abf72b08a2f641b44c9fd5a6bfbd9cda9fea2aba328b518b687f37
+8b0853fb43a78905b2dcb2d5f70a8bc68bbe587d487f545b3dfb078b085f06808b83
+83888089809084968b08d106f7048b9afb01805874fb002e60478b080b6406878b8a
+898a88088775f7118df706898ea0058c8e898e888b086e067282919c1f8b918d938c
+9508eef88c0592b09190ad8b08a8068f8b8d8d8c8f088fa0fb0789fb068d8775058a
+888c898f8b08a806a594877b1f8b868a8389820860fb720542604b876e8b4d8b689f
+8bc28b958c978e9708aaf7350591aa8f96b58b089d068f8b8d8c8c8f088fa0fb018a
+208c87768b8905898d8a8e1e9d06a894877a1f8b868a848982086efb2a0587778978
+8b798b44ad59e68bc48bd39bddbe085cfb88058569847e678b080b90a79b9bb58b08
+a506908b8f8e8c90088e9e8a8d058b2d896764358d8b1e88898878058a868e888f8b
+08a606ac9982751f8b878b878a860829fc8a05866f7a7b628b087106868b87888a86
+0888788c89058be98dafb2e1898b1e8e8d8e9e058c90888e878b0870066a7d94a11f
+8b8f8b8f8c90080b2afc8a05856f7b7b628b087006868b88888a860887788d89058b
+f08da71ea88baa89af8bf70d8bf7349cacf73b8e9b8d9c8b9c08d460cefb5c1e4e8b
+b2f75d0591a99d99b28b08a6068f8b8f8e8c90088f9e898c058b348a64682e8c8b1e
+898a8778058a868d88908b08a506ae987f771f8b878a878a87080be306f4a74f531f
+8b7f897f89817f4d562ffb2c8b628b80958b9e8b918c928d93080b6cfb1e34fb28fb
+0e8b468b5ca683d388ab83986f8b7a8b7b7a86718570986ca176a473ba6cde8b08f7
+378bf71ef711baf770b9f76d31f700fb328b268b596153887d54795c755608a78705
+b6e1dedce68bd98be54469fb6276827385718b080b538b75aa4b8b538b486f867289
+8290888e8b938b9e9baf8b080bc48bac65c78b08978bb68bc7ad080ba3a4b3a4ae8b
+a98b9c768b6f8b646c74596d08516805576b61638b518b5fac56d58bc68bcfb2afb6
+087aa2056b6c6476688b628b73a88bb18bb2acafbca908baa805b9a8c1ad8bc18bb8
+68b1548b4b8b535c6e6c080b70fb01468b0590a48fa48bad8bc573be5f8b628b5460
+5c5a08977205a2a1b5b0a48b08a6996658fb1a44fb085f1f6b8b7aa67e8b08738073
+777aa174a31fcb8bf704e0b3f72008d28affffdeccccfb2005fffffb333477fffff8
+199a728bfffff633338bffffef4ccdff000b199afffff58000ff001fcccc8bb08b8a
+b7ff0008e666b108ff0022199af721d18b057e5d86608b6e8b54a357b88bb08bcdb5
+b7c00880a3057473606a728b086d7ebdbbf710cdf702b41f998b8d8a9c789284928a
+978b08999a97ac9f76a1771f588b27405efb0a08408ba4f3058f9d94a98b978b9c82
+956c8b658b8c5f8265080ba793d0b58bd08bcd479e578b458ba27f308b7f587e647b
+6108a38605a8cfb3bcd48b08abb37761616253451f66068381817e858e85921fc706
+0baf9c6d673e4c57515f769fa91f8b908c8e8b90080b799b0571676171708b6e8b79
+998b9e8b948e8d8b9408988199767c717e6663b76ec61ebb8bbcaca8bf080b9ea99f
+ac9d80986b1f5a8b5f556e5cffffde999a55ffffd8e666ffffd96666ffffbf3333ff
+fffe999a08ff0011999aff004c333405ff0008b334ff0026ccccff000b8000ff0026
+cccc8bff0011199a8bff000db334fffff8b333ff00076666fffff2cccd8b080b6b8b
+5e845c85fffff94ccd83ff0001b33380918208b388050b978a91828b818bfffff6e6
+6689fffff2199a846f08ffffc4cccdfb8d05fffffb333477fffff8199a728bfffff6
+33338bffffef4ccdff000b1999fffff58000ff001fcccd8bb18b8ab7ff0008e666b1
+08ff001fcccdff0089cccd05ff00469998fffff94cceff000bccceffffda3333ff00
+09e666ffffcbb3339362ff0014ccccffffb94ccdff002d3334fffffeb333080bd089
+8d8d909e058b91fffffb4cccff00013333fffffab334ff0000cccd08848c05ffffda
+e666ff00054cccffffed199aff0055b33484b181bc69a0558bb992abb5a4b69daa9f
+a1958b08a28b837aaa8b080b6b8b5e845c85fffff94ccd83ff0001b33380918208b3
+8805978a91828b818bfffff6e66689fffff2199a846f080b93ab97b48b9e8b9e8599
+6d8b5b8b52695d508e829183998ba5a9ab9a958b928b8e868b7f088b82fffffb6666
+ffffefb334fffff9999affffe54ccc0866fb2f050b867487718b788b48b072aa8bd2
+8bc0c7c5d5088d8905857989ffffe5b3338bfffff84ccd080b6a73a5b51f8bd6b6b3
+9695b2aea5979e8b08a3a0745e1f264544531e0bff0009b334ff0026ccccff000a80
+00ff0026cccc8bff0011199a8bff000db334fffff8b334ff00076666fffff2cccc8b
+080b978a91828b818bfffff6e66688fffff2199a856f0860fb5a050b877a88788b7c
+0854b56ebcf70bf712f0f713c16eb85c1e648b526d4f520889060bfffff93334ffff
+fd3334ff0004199aff0008e6661f8bff000ab3338fff0011800091ff0019cccd08ff
+00339998f771a0eb057b857787798b808b778c878c088889058d818c818b818b6fff
+fff9b334ffffe3199afffffb4cccffffebe666085afb630583ffffde333383ffffd8
+cccd8b788b78967da98bbb8bb8adb9c6889485937d8b08716d6f7c808b080b678b80
+9e618b638b5d79877c8a878a82918b928b9690968b080bac8b9f70b48ba88bae9ba2
+97793d5020348b658b749e8baa080bae8b9778b48bb48bb99d8f998b8f8c95858b84
+8b81867f8b080b9c99807e1f8b7e79758b7208759978a9bc95c79fb66ab049fb3afb
+35fb6afb85fb06b626f7221eed8bb7b3b3bc0891069f5aa563ee8bf7548be6f74fab
+f72c92aa8eaa8ba808f71e43f1fb02384f524977927aa6adada5ba1e8b908a8f8b8f
+08acac9196c6b14a21fb3d2afb98fb251e0b3c76bab41f8b948c938d930896bf0591
+a79c9bb28b08a5068f8b8e8e8d90088f9e898d058b31896966388d8b1e8889877805
+8a868e88908b08a406aa9983761f8b868a878a8508805705816064452b8b083c6bd9
+ef1ff75df703f771f7031e0bac696e757d94819aa29ea2a8a57ba45dfb1b30fb35fb
+1638ad3bdf1fd38bb0b2a2b2088e0691649e64d38b08f709f701f737f724e45ec53c
+4a6f5a707b94809a1fab8b97b0869789988c989f8b08bb9e66523456fb6dfb011f0b
+6080a7a91f8b9a8e9b8e970892aa0592a8989aa98b089c06908b8e8e8d90088f9e8a
+8d058b4b89686a4d8d8b1e89898678058a868d88908b089c06a294827a1f8b868a85
+898408846c058366754b4a8b08577cbbc01fdeb8f76af7031e0b3e655d5a7a6f87a6
+6fbe4fae08f738f772050be9f70c059396908c8f7f08b9fb1105526a72687c7388a4
+81b25cac080b89818980898168fb47fb00fb01fb078bfb028b3cdb8bf720089707b0
+b6cba5b48baa8ba47ca67aa57ba57aab8ba48bcb95c2d4080b90a48da28ba28bf732
+fb04eefb268bfb478bfb35fb2b65fb58867288728b748bfb2ef62cf72a8bf7538bf7
+2af721b2f75c080bf4da42fb251f760766594d7a6a8b708b709b709c6f9b709b6f8b
+4f8b4d6167598d978c978e98b4f766f712e1ec8b080bfb39fbbe5c377de253f7f805
+8a938b918c918e9b9993af8b08a606908b8e8e8d91088e9d8a8d058b318868643d8e
+8b1e89898879058b8a8a8a8b8a08878e898f1e9706b38b937c8f6e08e3fcc5058e7c
+9083968b958b9593949a08f7abf888050babc4a3a1a48b958b968891849185968995
+8b9a8ba39b90a48c8e8b8e8b8e8ba3759a6f8b08408b4d3d6243080b29fb336c5988
+c067f76e0588998a938c92080b8e9595919f8b089c068e8b908d8d9108909f878d05
+8b4e896469568d8b1e88898677058a868f88918b089606a88b937e906908c3fbed05
+8d7f9183978b968b9593949908f742f7ac050bafc3a2b1a58b948b96889284908596
+85958b9a8b9e9791a38c8e8b8d8b8e8ba36c967a8b085a8b5b6944fb06080bfc168b
+748b05afefe5e9f58b08ed8bd24a93fb15080bfb0642f0f7231f8ba58da790a8080b
+8e988d988e9608ab8bf8668b058d988b988b988bf7124cf6fb438bfb2e8bfb0a2f4f
+fb1c0881064c5994af1f930790a7aaa0a28b9f8b9c9d8e9b8c8d8b8d8b8d8b9a7f93
+7e8b5e8b4e52804b8a848a858b860854be7cd11ea906847586758774080b726e756c
+759b7ba1a3a9a1ab1fa07b9b751e0b90a79c9bb48b08a506908b8e8e8c90088f9e89
+8d058b2e886764348d8b1e898a8878058a868e88908b08a506ad9981751f8b888b87
+8a8608897efc27fc3fdaf84d0590a79b9ab48b08a506908b8e8e8c90088f9e898c05
+8b2d896864348d8b1e898a8878058a868e888f8b08a606ad9982751f8b878b878a87
+0832fc8b05866f7b7b628b087006868b88888a860888788d89058be98daeb2e1898b
+1e8d8d8e9e058c90888e878b087106687e95a11f8b8e8b8f8c90088c91f826f83f3e
+fc4605866f7b7c628b087106868b87888a860888788d89058be98daeb2e2898b1e8d
+8d8e9e058c90888e868b087106697d94a11f8b8f8b8f8c8f080b678b7b9f628b638b
+4976887c8a878a82918b928ba992968b080bab8ba46fb48b9e8bff00156666ff0006
+cccdff00134cceff00084ccdfffffa1998ffffdbe666fffff5199affffd88000ffff
+ec199affffe180006f60ffffd7800079ffffda80008b086e60b1f41f0b8a888b888b
+898b7c967f9b8b9e8b9e9b909e8b8d8c8e8b8e8b9a80967a8b788b787c8778080b8a
+888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80977a8b08788b787b
+8778080b8a888b888b898b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a80967a8b
+788b787c8778080b8a888b898b888b7c967f9c8b9e8b9e9b8f9e8c8d8b8e8b8e8b9a
+80977a8b788b787b8778080b8e06968bb48e96c108d6f7f70591a28d9d8b998bb971
+906292788f6a918ba6088e078b8b55827f5389858b868b868b69a473b584b384a383
+8b6a8b838a82887f080bd6aeaae694b591a48e9f8b9a08b37695586f698bac1e9007
+8b8b61867b488a848a858b858b6ba477b98ab589a57c8b718b878a888a87805d7864
+6271080b8c8b8d8b05978bb38e97c108d6f7f70590a28e9d8b998bb970906392778f
+6a918ba6088e078b8b56827e538a858a868b868b69a573b484b484a3838b6a8b8389
+82887f080b6c8b6a6d73536e4a7a6887798b888a898b898b8094888f8b938b9899c7
+cfb6bcabb191a3088b8d8c8d8b8d8ba07190808b080bfffffab33271ff0011800075
+a58ba58bff001a8000a1ff00054ccda5ff00054ccda5ffffee8000a1718b718bffff
+e5800075fffffab33371080b988bff000dccce9dff0002666697ff0001666692ffff
+fd666692828b08ffff33000106fffff400018bfffff280007afffffd99997ffffffe
+999a84ff00024ccd83938b080bfffffab33271ff0011800075a58ba58bff001a8000
+a1ff00054ccea5ff00054ccca5ffffee8000a1718b08718bffffe5800075fffffab3
+3371080bfffffab33271ff0011800075a58ba58bff001a8000a1ff00054ccda5ff00
+054ccda5ffffee8000a1718b08718bffffe5800075fffffab33371080b5906ffffd9
+999a5dffffd14ccd60ffffd3e6666308ff0011199a7d05ff002b8001a6ff00251999
+a4ff002cb334b1ff001ab33367ff001be66672ff002119996e08ff0017e6689905ff
+ffe41998b3ffffe48001b5ffffec9999ba080b5906ffffd9999a5dffffd14ccd60ff
+ffd3e6666308ff0011199a7d05ff002b8001a6ff00251999a4ff002cb334b1ff001a
+b33367ff001be66772ff002119986e08ff0017e6689905ffffe41998b3ffffe48000
+b5ffffec999aba080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ff
+ffece666996d8b608bffffe2e6676dffffe5ffff5008a28605ff0010b334ac9b9aa5
+8b9c8bff0010cccd80ff000fcccd80ff001233337dff001280007fa18bff002dffff
+8bff0023199aa9ff00183334c708ffffe933329105ffffe9800061ffffefe6688175
+8b080bffffecffff8bfffff1199a95fffff2666697ffffeecccd99ffffece666996d
+8b608bffffe2e6676d715008a28605ff0010b334ac9b9aa58b9c8bff0010cccd80ff
+000fcccd80ff001233337dff001280007fa18bb98bff00231999a9ff00183334c708
+ffffe933339105ffffe9800161ffffefe66681758b080bff000e8000ff0040e668ff
+000a8000ff002819988b8b8b92888e828b7081437e628808887305888c898f1eaa89
+05989385751f8b80fffffde666ffffeeccccfffffb199affffea33340828fc50050b
+fffff8e6666bfffff9199a698b788b78ff0004800072ff002580008bff002d33338b
+ff00364ccdff00198000ff002d8000ff004b8000879586927e8b6d676b757f8b838b
+87918b93088b938e9a94b3080bff0006e6688bff000c4cccff00044cccff00103334
+ff0006333408ff00823330ff00378000ffffcde668ff00279998ffff936668ffffb6
+199c05fffff53330fffff81998fffffab334fffff9cccc8bfffff8199c8b848effff
+fd4cccff000633348b080bffffb33334ffff974ccc05fffff7b332fffff4b334ffff
+fce668fffffc9998fffffe3332fffff6199cfffffee666fffff9ccccff00046668ff
+fffab334ff000566668bff000566668bff0006ccccff00039998ff000de668ff000d
+333408ff00699998ff005fe668ffffff6668ff0009b33005fffff1b332ff00136668
+ffffec8000ff0000ccccfffffb199a8bfffffc199a8bfffffb4cccffffff199cffff
+fd8000ffffff1998080bfffffd199aff0000e668fffffb8000ff0000e664fffffc33
+348bffffe5cccc8bffffeb999afffff1199cfffff8e666fffffab33008fffffcb334
+fffff64cd0ff0046b332ffffa019980595fffff2ccccff0004999afffffb999cff00
+04999a8bff000633348bff00064cccff00053330ff0000ccccff00046668ff000119
+9aff00063334ff00006666ff00063334fffffdb334ff0008cccc080bff00238000ff
+ff9d8000ffffa28000ffff768000050bfffff5999afffff0ccccfffff56666fffffc
+3334848b838b808d838f828f818d818b08757b7b7571ae7fa21fad8bff00183333ff
+000f3333ff002bcccdff003ecccd08ff00458000ff00638000ff00268000ffff8680
+00050ba4709a741e598bffffdf3334ffffeeccccffffceccccffffb933340859436f
+e305ffffef6666ff00343334fffff4999aff0013cccc728bffffe880008bffffb680
+00ffffd680006871ff00016666fffff5199aff0003999afffff3e66693fffff84ccc
+97ff0005b334ac9bff001480008b988b958890fffff78000ff00048000fffff84ccc
+ff0006b333ffffef3334ff00064ccdffffee8000080b5906ffffd9999a5dffffd14c
+cd60ffffd3e6666308ff0011199a7d05ff002b8000a6ff0025199aa4ff002cb334b1
+ff001ab33267ff001be66872ff002119986e08ff0017e6689905ffffe41998b3ffff
+e48000b5ffffec999aba080b9992a69a8ba7089d7fab52536767728190809c9b9a95
+991e8b91898f898d8b8d8a8c8b8d089599929c9e96827a1e8b767e8181827c7f7d7d
+846a08a60690a49d989f96080bff000380009cfffff84cccb4548b080b618bffffd7
+e66668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002
+333496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff
+0000ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987fffff
+f880007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff0007
+4ccca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f08
+0b8b8ffffffd3334ff0004ccccfffffb1998ff0004cccc08ffffb8999aff00433334
+ffffc3199a67ff0062b334ffffcd999c05ff000b3332fffffa6664ff0009ccce8792
+8bff000a80008bff0002ccccff000a66688bff0004cccc080bffffeb19988bffffef
+8000ff00098000fffff1199cff000b6668ffffed1998ff000d4ccc76ff000d4ccc6a
+8bffffd0b3348b6bffffe36668ffffe366665308ff00194cccfffffb4ccc05ff0012
+6666ff001f6668ff0011999aff000e3334ff001c999a8bff0012b3348bff00128000
+fffff59998ff00114cccfffff580009ffffff2b334ff00146668fffff49998ff0018
+33308bff0032999c8bff00269998ff001c8000ff001a999cc408ffffe6e664ff0005
+b33405ffffe73334ffffd81998ffffee6668fffff68000ffffe7cccc8b080b788bff
+fff1199895fffff2666897ffffeecccc99ffffece666996d8b608bffffe2e6666dff
+ffe600015008ff0016ffff8605ff0010b334ac9b9aa58b9c8bff0010cccc80ff000f
+ccce80ff001233327dff001280007fa18bb98bff0023199ca9ff00183330c708ffff
+e933349105ffffe9800061ffffefe66881758b080bf799be87d88bb108a474bc431e
+0bfb4243fb3efb1336b348de1fce8bc8aec6d7869685907f8b525174825b8b5e8b6c
+a38be68b908ba08c93080bff000380009cfffff84cccb4548b618bffffd7e66668ff
+fffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff0002333496ff
+0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff0000ccce
+8f088c90ff00063332919e8ba08b9181fffffb4cce74fffffd99987ffffff880007f
+fffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074ccca5ff
+000d66689cff00144ccc9bff00134ccc9bff001233349bff0004199a9f080bffffba
+3334ffffa0cccc05fffff88000fffff5b334fffffd199afffffce664fffffe666682
+8afffffa66688ffffffb3334ff0004e6668bff0004e6668bff00063334ff00033330
+ff000c999a9708ff00601998ff00573334ffffff6668ff0008cccc057eff0011999c
+ffffee4cccff0000ccccfffffb80008bfffffc80008bfffffb999affffff3334ffff
+fdccccffffff3334080bfffffd4cccff0000cccc87ff0000ccccfffffc80008bffff
+e833348bffffed8000fffff26668fffff98000fffffb333008fffffd199afffff733
+34ff00404ccdffffa8cccc05ff0009199a7fff0004199987ff000433338bff000599
+9a8bff0005cccdff0004ccd0ff0000b3338f8cff00059998ff00004ccdff00059998
+fffffde66693080bff000380009cfffff84cd0b4ffffc8fffe8b080b618bffffd7e6
+6668fffffb800075fffffd999a7fff0004e6667c9e8b948bff000f199a95ff000233
+3496ff0001999a93fffffe333291ffffff999a8effffff66668dffffff80008dff00
+00ccce8f8c90ff00063332919e8b08a08b9181fffffb4cce74fffffd99987ffffff8
+80007ffffff5999a7ffffff180007affffee800075fffff8199a6908a706ff00074c
+cca5ff000d66689cff00144ccc9bff00134ccc9bff001233349bff000419989f080b
+8b90879184910825df345ef7214c050b9b849986958b9a8b8f988b91080bf7618bcf
+f713abf74608bcf7ad0590a79c9bb48b089e8b928b8e8b05bd8fadaa93bb8d948c95
+8b948bad7ea56c8b6e8b737987748a878b888b888b7a947ba78b08958b918d918e8f
+878b7c8982877273827a89088a068b418a6764448c8b1e898a8778058a868f888f8b
+08a606ac9981751f8b888b878a860857fbbf0577fb0464fb1afb3d8b5c8b65a072a8
+74a884ad8bae8ba990a990a908c1f7c70590a79b9bb48b08a606908b8e8e8c90088f
+9e898c058b2d8a6864348c8b1e898a8778058a868f888f8b08a606ac9981751f8b88
+8b878a86084ffbe80587748a768b7808fb2af7076ada1e0b766d054d315e485c8b2e
+8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0bb10788e871c3278b308bfb135263
+fb4c71fb10bf32f71d8bd18bcaacc8d7080b89419c68b18bb78baba7b8dc08739405
+6d5e7582718b728b7aa88fca08f769f7be057c897c8a7c8b7c8b818c7c8d080b678b
+7c79887b887b8a72b48b928b8d838981867472665f82087a07e790aad691a592af7d
+b0658b080b648b6e66836786718a3fe48708939c05639381b190a18d969093938bb3
+8b96a38e9c8e9b859d678b080b678b7c79887b877b8b72b48b928b8d838981867471
+665f82088c7a05e790aad690a593af7db0658b080bc0fb1b058c898d898f8b958b91
+918c908c8c8b8e8b8c080b84f72c058a9682927a8b738b7a79877b8a878b868d8708
+0b658b6d66836786718a3fe48708939c05639381b190a28d959193928bb48b95a48e
+9b8f9b849d678b080b958b91918c90088b90050b85f72c058a9682927a8b738b7a7a
+877a8a878c868c87080b678b7c79887c877a8b73b48b928b8d828981867571655f83
+088c7a05e78faad790a50893af7daf658b080b818b7887847b0849fb308b8a058a88
+8b82988b8d8b908c8d8f08f4f71f058e8f8d8f8c8e8d9788a16e8b080b4d315e485c
+8b2e8b7af70f9cdda4f707bdd5e78b08e09b3f2b1f0b648b6e66846785718a3fe587
+08929c05649380b190a28e959093928bb48b95a48f9b8e9b849d678b080b818b7987
+847b0848fb308b8a058a898c81978b8e8b8f8c8d8f08f5f71f058e8f8c8f8c8f8e96
+87a16e8b080b638b80b8548b628b706f7254080bb28ba061b58bb68baba4a3c4080b
+76900576697b80778b080b638b7fb8548b638b706f7253080b9ca89c99a08b080bb2
+8ba060b58bb68baba4a3c4080b75910577697c80768b080b648b6e66836786718a40
+e48608939c05639481b090a28d969192928bb38b96a48e9b8f9c849c678b080beaf7
+2f0592969391a48b08f7668baafb40058c858b858a86877b7a806c8b086f06868b87
+888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c90868e878b087f06648b
+7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb70576697578628b08
+8006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f9e058c90888e868b
+086f066d8b7c948e9b088c918e918f92080b788b858e8c918c8e8c8d8d8f08f72cf7
+8dbafb9f050b678b7d79887b887b8b72b48b928b8d838981877471666082088c7a05
+e790a8d690a50893b07caf648b080b648b6f66846786718b40e58608929c0564947f
+b090a28d969192918bb48b95a48e9b088e9c849c678b080be9f72f0592969491a38b
+08f7678ba9fb40058c858b858a86887b79806c8b086f06868b88888a860887788d89
+058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b9e84b20828f8b2
+05879f8495798b818b82847d7408fbe8fcb70576697678628b087f06868b88888a86
+0887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e
+9b088b918e919092080b788b858e8c918b8e8c8d8d8f08f72cf78dbafb9f050b678b
+7d79877b897b8b72b48b918b8e838981867472666082088c7a05e690a9d690a50892
+af7cb0658b080bc3fb1b058c888c8a908b958b91918c90088b90050b81f72b059782
+927a1e728b7a79887b8a878c868c87080be9f72f0593969391a38b08f7678ba9fb40
+058c858b858a86887b79806c8b086f06868b88888a860887788d89058bec8dafb2d7
+898b1e8f8d8e9e058c90878e868b088006638b7b9e84b20828f8b205879f84957a8b
+808b82847d7408fbe8fcb70576697678628b087f06868b88888a860887788d89058b
+cb8da4a4ee898b1e8d8d8f9e058c90878e878b086e066d8b7d948e9b088c918e918f
+92080b788b858e8c918b8e8c8d8e8f08f72bf78dbafb9f050b648b6f66846886718b
+3fe58708929c05639380b090a28d969092928bb48b95a48e9c088e9b849c678b080b
+c2fb1c058c898d898f8b958b91928c90088b8f050b81f72c059682927a1e738b7a7a
+887b8a878b868d87080be9f72f0593969391a38b08f7678baafb40058c858b858a86
+877b7a806b8b087006868b87888a860887788d89058bec8dafb2d7898b1e8f8d8f9e
+058c90868e868b088006648b7a9e84b20828f8b205889f83957a8b808b83847d7408
+fbe8fcb70576697578628b087f06878b87888a860887788d89058bcb8da5a3ee898b
+1e8d8d8f9e058c90888e868b086e066e8b7c948e9b088c918e918f92080b788b858e
+8c918b8e8c8d8e8f08f72cf78dbafb9f050b678b7d79887c877a8c73b48b928b8d82
+8981867572655f83088c7a05e78fa9d790a40892b07caf658b080b818b7987847b08
+4cfb30058a8b8b8a888b82981f8d8b8f8c8e8f08f1f71f058e8f8d8e8c8f8d9787a1
+6e8b080b658b6e66846786718b3fe48708939c05639381b08fa28d969093928bb48b
+94a38f9c088e9b849d678b080b818b7887847b084cfb308b8a058a888c82978b8e8b
+8f8c8d8f08f2f71f058e8f8d8f8b8e8e9786a16f8b080b9ba99c98a08b080be9f72f
+0592969491a38b08f7668baafb40058c858b858a86887b79806c8b086f06868b8888
+8a860887788d89058bec8dafb2d7898b1e8e8d8f9e058c90868e878b088006638b7b
+9e84b20828f8b205879f8495798b818b82847d7408fbe8fcb70576697678628b087f
+06868b88888a860887788d89058bcb8da4a4ee898b1e8d8d8f9e058c90878e878b08
+6e066d8b7d948d9b088c918e919092080b78858e911f8c8e8c8d8d8f08f72cf78dba
+fb9f050b638b7fb8548b628b716e7354080b9ca99b99a08b080bb18ba15fb58bb78b
+aaa5a2c3080b76920577697b80778b080b658b6e66846786718b40e58608929c0563
+9481b08fa28d959093938bb38b95a48e9b8e9b849d678b080b97c3b4aec38b948bac
+86938ba18b94938e978d978291798b868b5d868a8b608b6a9c9ad00899cdbda2aa8b
+b28b93729275917a927ba18b978ba49391a893af58af3e8bfb0b8b593b8263088059
+a071b7782a6d7c5185748157963ff71e8bca8bc7a8b3aa087f9e055e7061785c8b50
+8b6eb797c1080b97c3b4aec38b948bac86938ba18b94938e978d978291798b868b5d
+868a8b608b6a9c9ad00899cdbda2aa8bb28b93729275917a927ba18b978ba49391a8
+93af58af3e8bfb0b8b593b8263088059a071b7782a6d7c5185748157963ff71e8bca
+8bc7a8b3aa087f9e055e7061785c8b08508b6eb797c1080b678b7d79877b887b8a72
+b48b928b8d838981867471665f82088c7a05e790aad691a593af7cb0658b080bc1fb
+1b058c898c898f8b958b92918c90088b90050b658b6d66846885718a3fe58708929c
+05639381b090a28d969192928bb48b95a48e9c8f9b849c678b080b818b7887847c08
+49fb308b8a05888b82971e8e8b8f8c8d8f08f4f71e058e8f8d8f8c8f8d9688a16e8b
+080bfb168c877605888b87921ea806b28b957d856c082afc8905856f7d7b638b086d
+06858b89878a88088775f7158d050bd98af7b98bc4f7347190056e4264564a8b08fb
+4c06758b7e9190a608bcf793f71d8b05ad937c6e1f8a6c05888d87901ea28b8f8e05
+8b9c8eb892ad92ac96b094a4088d8a8d891e7506878b87878a87087e6d057f6f807b
+688b08fb1d8bb4f7690590a39993a28b08f72d06bf8ba14f8a6008a68e050b678b7d
+79887b887b8b72b48b928b8d838981867472666082088c7a05e690a9d690a592b07c
+af658b080bfb958b3e8a050bfb168c8776058a888b87928b08a906b18b967d856c08
+2afc8905856f7c7b638b086d06858b89878a88088775f7168d050bd88af7ba8bc3f7
+347290056d426556498b08fb4c06758b7e9190a608bdf793f71c8b05ad937c6e1f6c
+07888c87911ea28b8e8e058c9c8eb892ad91ac97b093a48c8d8a8d888b087506878b
+88878a87087e6d057f6f7f7b688b08fb1c8bb4f769058fa39993a38b08f72c06bf8b
+a14f8a6008a68e050b7c067e8b7b80687f778566857c89088a6f059d8f968c998b98
+8b938483650841fbeb937ad1a9cdf7ca05b4bbb4a8c38bc88b8f567d4a0850fbab05
+79367e498d6108cf699a9d0585ad8cbea5f71008c7f7b305a4f70866b5478b2c8b4c
+4978740887060b678b7c79887c887a8a73b48b928b8d828981867571655f83088c7a
+05e78faad791a592af7daf658b080b648b6e66836786718a3fe48708939c05639381
+b190a18d969193928bb38b96a38e9c8e9b859d678b080b678b7c79877c887b8b72b4
+8b918b8e828882877471655f83088c7a05e68fabd790a593af7daf658b080bc0fb1b
+058c888c89908b958b91928c90088b8f050b84f72c059682927a1e738b7a7a877b8a
+878b868d87080b648b6e66846785718a40e48608939c05639481b090a28e95909392
+8bb38b96a48e9b088f9b849d678b080bc0fb1b058c898d898f8b958b91928c8f088b
+9084f72c050b9682927a1e738b7a7a877b8a868c868c87080b678b7d79887b877b8b
+72b48b928b8d838981867471665f82088c7a05e790aad690a593af7db0648b080b81
+8b7887847c0849fb308b8a058a888b82988b8d8b8f8c8e8f08f4f71e058e8f8d8f8c
+8f8d9688a16e8b080b658b6d66846885718a3fe58708929c05639382b090a28c9691
+92928bb48b95a48e9c8f9b849c678b080b818b7887857c0849fb30058a8b8a8b888b
+82971f8e8b8f8c8e8f08f4f71e058d8f8d8f8c8f8d9688a16e8b080b678b7c79887b
+887b8a72b48b928b8d838981867471665f83088c7905e790aad791a492b07daf658b
+080b638b80b8538b638b706f7354080b9ca99c98a08b080bb18ba060b58bb68baba5
+a2c3080b76910577697c80768b080b638b7fb8548b628b716f7253080bb18ba060b5
+8bb78baba4a3c4080b75910577697b80778b080b648b6e66836786718a40e4860893
+9c05639481b090a28d969192928bb38b95a48f9b8e9c849c688b080b856f7b7b628b
+087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e87
+8b087106638b7e9892aa08ecf88a0590a79c9bb48b08a606908b8e8e8c90088f9e89
+8c058b2e8a6764348c8b1e898a8778058a868f888f8b08a506b38b987d846d0863fb
+67fbdb8bb4f7670590a79c9bb48b08a6068f8b8f8e8c90088f9e898c058b2d8a6864
+348c8b1e898a8778058a868e88908b08a506b38b977d856d082afc8a05856f7a7b62
+8b087106868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e
+878b087006648b7e9892aa08bbf790f7db8b050b658b6e66846786718c40e4860892
+9c0564947fb090a28d969192918bb48b95a48e9b8e9c849c678b080b81f72c059682
+927a1e728b7a79887b8a878c868c87080b866f7a7b628b087106868b87888a860887
+788d89058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08
+ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e
+898a877805868e888f1ea606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb4
+8b08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f88
+8f8b08a506b38b987d846d082afc8a05856f7b7b628b087006868b88888a86088778
+8d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bc
+f790f7da8b050b658b6e66846886718b3fe58708929c05639381b08fa28d96909293
+8bb38b95a48e9c088e9b849c678b080bc3fb1c058c898c898f8b958b91928c908c8c
+8b8e8b8b0881f72c058a968392798b738b7a7a887b8a878c868c87080b856f7b7b62
+8b087106868b87888a860887788d89058be98daeb2e2898b1e8d8d8f9e058c90888e
+868b087106638b7f9891aa08ecf88a0590a79d9bb48b08a506908b8e8e8c90088f9e
+898c058b2e8a6764348c8b1e898a8778058a868f888f8b08a606b28b987d856d0862
+fb67fbdb8bb4f7670590a79c9bb48b08a606908b8e8e8c90088f9e898c058b2e8a67
+64348c8b1e898a8778058a868f888f8b08a506b38b987d846d082afc8a05856f7b7b
+628b087006868b88888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c9087
+8e878b087106638b7e9892aa08bcf790f7da8b050b678b7d79877b887b8b72b48b92
+8b8e838981867472665f82088c7a05e790a8d691a50892af7cb0658b080b818b7887
+857c084bfb308b8a058a888c82978b8e8b8f8c8d8f08f2f71e058e8f8d8f8c8f8d96
+87a16e8b080b856f7b7b628b087006868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e058c90878e878b087106638b7e9892aa08ecf88a0590a79c9bb48b08
+a606908b8e8e8c90088f9e050b64348c8b1f898a8778058a868f888f8b08a506b38b
+987d846d0863fb67fbdb8bb4f7670590a79c9bb48b08a506908b8f8e8c90088f9e05
+0b898c058b2d8a681e0b64348c8b1f898a8778058a868e88908b08a506b38b977d85
+6d082afc8a05856f7a7b628b087106868b88888a860887788d89058be88dafb2e289
+8b1e8d8d8f9e0590888e871e7006648b7e9891aa08bcf790f7db8b050b658b6e6684
+6786718c3fe48708929c05639381b08fa28d969093938bb38b95a38e9c088e9b849d
+678b080b818b7987847b084cfb308b8a058a888b82988b8d8b908c8d8f08f2f71f05
+8d8f8d8f8c8e8d9787a16e8b080b866f7a7b628b087106868b87888a860887788d89
+058be98daeb2e2898b1e8d8d8f9e058c90888e868b087106638b7f9891aa08ecf88a
+0591a79c9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a88
+78058a868e888f8b08a606b28b987d856d0862fb67fbdb8bb4f7670590a79c9bb48b
+08a606908b8e8e8c90088f9e898c058b2e8a6764348c8b1e898a8778058a868f888f
+8b08a606b28b987d846d082afc8a05856f7b7b628b087006878b87888a860887788d
+89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b7e9892aa08bcf7
+90f7da8b050b668b7d79887c887b8b72b48b928b8d828982877472665f82088c7a05
+e790a9d68fa593af7caf658b080b638b7eb8548b638b706e7454080b9ba99c99a08b
+080bb18ba15fb58bb78baaa5a1c3080b76920577697c80778b080b638b7fb8548b62
+8b716f7454080bb18ba160b58bb68baba5a1c3080b7c067e8b7b80687f778566857b
+89088a6f059e8f968c988b998b928484650854fb95057e50a46ac38bb28bbfafabb9
+087d9e0573736c736b8b788b8a9d90a0080b648b6e66846785718a40e58608929c05
+639481b090a28d959193928bb48b95a48e9b8f9b839d688b080b9ca99c99a08b080b
+b18ba05fb58bb68baba5a3c3080b76910576697c81768b080b90a79c9bb48b08a506
+908b8f8e8c90088f9e898c058b2d8a6864348c8b1e898a8778058a868e88908b08a5
+06b38b977d856d0829fc8b05866f7a7c628b087106868b88888a860887788d89058b
+e88dafb2e2898b1e8d8d8f9e058c90878e878b087006648b7e9891a9080bc3fb1c05
+8c898c89908b958b91928c90088b8f050b91a79c9bb48b08a506908b8e8e8c90088f
+9e898c058b2e8a6764348c8b1e898a8878058a868e888f8b08a606b28b987d856d08
+29fc8b05866f7a7c628b087106868b87888a860887788d89058be98daeb2e2898b1e
+8d8d8f9e058c90888e868b087106638b7f9891a9080bb18ba160b58bb68baaa5a2c3
+080b638b7fb8538b638b706e7454080b76920576687c81778b080bdc8bb23b6cfb27
+6ffb1842705e8b298b7bf7149bd89de2c4e9db8b080b7625b9fb07f71a8bf7228be6
+f712a1efa1f36cf710fb288bfb188b2b276efb1d080bdc8bb23b6cfb276ffb184270
+5e8b298b7bf7149bd8089de2c4e9db8b080bc0fb1b05898d898f1e968b90928c908c
+8c8b8d8b8c080b84f72c059682927a1e728b7a7a887b8a868b868d87080b818b7888
+847b0849fb308b8a058a888b82988b8e8b8e8c8e8f08f4f71f058e8e8d8f8c8f088d
+9687a16f8b080bf7138be42162fb6468fb47fb00fb01fb078bfb178b35f705b0f754
+b4f766f712e2eb8b080bb2f75afb0ff717fb3b8bfb478bfb35fb2c65fb5865fb59f7
+06fb11f7418b08f7538bf72af721b2f75c080bf7128be42163fb6468fb47fb01fb01
+fb078bfb178b35f705b0f754b4f766f713e2eb8b080b658b6e66846786728b3fe587
+08929c05639381b08fa28d969092938bb38b95a48e9c088e9b849c678b080b818b78
+87857c084cfb308a8a05888b82981e8d8b908c8d8f08f2f71e058d8f8d8f8c8f8d96
+87a16e8b080ba5f70c7dd4468b708b79788779856ca886968aa786a46d772b76293e
+23338b348b77cd9ad008a0ecabbf9bd6080b92aa7d9c748b648b4e72737a088e7805
+8bad94981e9c8b9283877680596f527a3a762ba532f7288b08e68bf6e2b0f742080b
+bffb1b058c898d898f8b958b91928c908c8c8b8d8b8c0884f72c050b8a968392798b
+738b7a7a887b8a868b868d87080bb18ba060b58bb68baba5a3c3080b76910577697b
+80768b080babf727fb18d3699c08787805e432883f815d762a622f2d8b538b74b286
+d0a9bf9db890a392aa85a06d8b6b8b7d6f856d0887778662945567436467558b418b
+67afa5f711a8f71bf701e1af9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2
+acb4d0973cb874bf8bf70e8bd9e6a6f713080b8779816f775e8ba48aa692ad90a192
+97948b988b88798880080b678b7c79887b887b8a72b48b928b8d838981867471665f
+82088c7a05e790aad691a592b07daf658b080b648b6e66836786718a40e48608939c
+05639481b090a28d959193928bb38b96a48e9b8f9b839d688b080babf727fb18d369
+9c08787805e432883f815d762a622f2d8b538b74b286d0a9bf9db890a392aa85a06d
+8b6b8b7d6f856d0887778662945567436467558b418b67afa5f711a8f71bf701e1af
+9c08829f05fb114c2d2676266cfb24d85ee58bcc8bc2acb4d0973cb874bf8b08f70e
+8bd9e6a6f713080b678b7c79887b877b8b72b48b918b8e838881877471665f82088c
+7a05e790aad690a50893af7db0658b080bc0fb1b058c898c89908b958b91928c9008
+8b8f050b85f72c058a9682927a8b738b7a7a877b8a868b868d87080b648b6e668367
+86718a40e48608939c05639481b090a28d969192928bb38b96a48e9b088e9b859d67
+8b080b678b7c79887b887b8a72b48b928b8d838981867471665f82088c7a05e790aa
+d691a50892af7db0658b080b818b7888857b0848fb308b8a058a888c82978b8e8b8f
+8c8d8f08f5f71f058d8e8d8f8c8f088d9687a16f8b080b658b6d65846885718b3fe4
+8708929c05649380b090a28e969092928bb48b95a48f9c088e9b849d678b080b818b
+7988847b0848fb308b8a058a888c82978b8e8b8f8c8d8f08f5f71f058e8e8c8f8c8f
+088e9687a16e8b080b678b7c79887b877b8b72b48b928b8d83898186747166608208
+7a07e790aad690a593af7db0658b080b76910576697c80768b080b638b80b8548b62
+8b706e7354080b76920576687c81768b080b658b6d65846885718a3fe58608929d05
+649381b090a28c969192928bb48b95a48e9c8f9b849d678b080b678b7d79887b887b
+8b72b48b928b8d838981877471665f82088d7a05e790a8d690a50892af7db0648b08
+0bc3fb1b058c898d898f8b958b91918c90088b90050b658b6e66846885718c3fe487
+08939c050b8d969092928bb48b95a48e9c088e9b849c678b080b82f72c058a968292
+7a8b738b7a7a887b8a878b868d87080b678b7d79887b887b8b72b48b928b8c838a81
+867472665f82088c7a05e790a9d690a50892af7cb0658b080b818b7887857c084cfb
+30058a8b8a8b888b82971f8e8b8f8c8e8e08f1f71f058e8f8d8f8c8f8d9687a16e8b
+080b76910577697c80778b080b7c82827f897f89868c868d8708d6fb0f058c898e8a
+8f8b8e8b8f8d8e8d8e8e8d8e8c8e088b8e6cf726058a90888f868e868e878c858b85
+8b84898588080b818b7c8585800838fb23058a8889868a8a8a849185928b908b908e
+8f8f08f709f70e0590908d918c8f90a0799c778b080b7c818280897f89868c868d87
+080bd6fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8e8c8c8a8c8b8c080b6cf7
+26058a90888f868e878e868c858b858b85898488080b818b7d8484810839fb230589
+8889868b8a89839185938b8f8b908f8f8f08f709f70d0590918e908c908f9f7a9d76
+8b080bdd8bb13b6cfb276ffb1843705e8b288b7bf7149bd89ee2c3e9db8b080b7525
+bafb07f71a8bf7218be7f712a0efa1f36df710fb298bfb188b2c276efb1d080b7b82
+8380887e8a868b878d8708d6fb0f058d898d8a8f8b8e8b8f8c8f8e8d8d8e8e8b8e08
+8b8e6df726058a90888f858f868d878c868b848b85898588080b808b7c8585800838
+fb23058a8889868a8a8a849184938b8f8b908f8f8f08f709f70e0590908d918c8f90
+a07a9c778b080b793a057f51ac72bb8ba48bbc99a8d1087493057f707673798b778b
+83a296c10896c07791050b8050a872b88bb68bad99a6d108738f0580697f7b718b77
+8b869f97c808b2f761849d050b8050a872b88bb68bad99a6d108738f0580697f7b72
+8b768b869f97c808b3f761839d050b8050a972b78bb68bad99a6d108748f057f697f
+7b728b768b869f97c808b3f761839d050b7f50a972b78bb68bad99a6d108748f057f
+697f7b728b768b869f97c808b3f761839d050b8050a872b88bb68bad99a6d108738f
+0580697f7b728b768b869f97c808b2f761849d050b7f51ac72bb8ba38bbc99a9d108
+7493057e707773798b778b82a297c10896c07792050b7a3a057f51ab72bc8ba48bbb
+99a9d1087493057e707773798b778b82a296c10897c07791050bf70ab0f0f2a2f70c
+a8f72840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b
+789291c008718b050b7cfb0bf7678b05978b92918c95089cf713053bc96fc8a1f704
+a4f714ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130588818f8597
+8b08f7648ba9f70b718b050b7a5274885b8b0829060b7f51a971b78bb78bac9aa6d0
+087490057f687f7b728b768b869f97c908b3f761839c050bf70ab0f0f2a2f70ca8f7
+2840f719fb5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b7992
+90c008728b050b7bfb0bf7678b05978b92918c95089cf713053bc970c8a0f704a4f7
+14ebf70af71e8bf7168bc9216ffb2176fb00564225560869fb130589818e85978b08
+f7648ba9f70b718b050b8051a871b88bb68bad9aa6d00873900580687f7b718b778b
+869f97c908b2f761849c050b638b80b8548b628b706f7354080bb18ba060b58bb78b
+aaa5a3c3080beaf72f0592969391a48b08f7668baafb40058c858b858a86877b7a80
+6c8b086f06868b87888a860888788c89058bed8daeb2d8898b1e8e8d8f9e058c9086
+8e878b087f06648b7b9e83b20828f8b205889f83957a8b818b82847d7408fbe8fcb7
+0576697578628b088006868b87888a860887788d89058bcb8da5a3ee898b1e8d8d8f
+9e058c90888e868b086f066d8b7c948e9b8c918e918f92080b7c818280897f8a868b
+868e8708d8fb0f058c898e8a8f8b8e8b8f8d8e8d8e8e8d8e8b8e8c8c8a8c8b8c086a
+f726058a90888f868e868e868c868b848b85898588080b86729b77a48ba48ba49f90
+a490a47ba0728b728b72768672080b9ca99d98a08b080bc0fb1b058c888d898f8b95
+8b91928c90088b8f050b85f72c058a9682927a8b738b7a7a877b8a878c868c87080b
+6d7e05823db151d98bbd8bddaeaaf0087498057b4d496e5d8b4f8b65b394be080b86
+729b76a48ba48ba3a091a490a47b9f728b728b72778672080ba1b89ced9cdba67da5
+83b68bf71a8bf711edabf72ea3f70648e2fb0c8b5c8b4a7b58606b7065696efb1e08
+62fb530571fb10734f776808927a050b74fb004643378b6e8b76966fa58583777581
+8808b8f76405aaf726c9a6be8bdb8bc15c6afb32080b856f7b7b628b087006868b88
+888a860887788d89058be88dafb2e2898b1e8d8d8f9e058c90878e878b087106638b
+7e9892aa08b6f771f75ff7ad05a2ab9b97a98b08a106908b8f8d8c90088f9f8a8c05
+8b3c8a827f3c8c8b1e898a8777058a888c87908b08a8069f8b908889808a86858281
+7d08fb41fb7f2df77f05869988948d918d94928f9e8b08a7068f8b8e8f8c8f088f9e
+898c058bfb008a857e2e8c8b1e898a8877058985928a8e8b089806998b94898f8897
+839180927708f706fbb9050b85729c77a38ba48ba49f91a48fa47ba0728b738b7276
+8672080b638b7fb8548b638b6f6f7354080bb18ba060b58bb78baba5a2c3080b7691
+0577697b80778b080b988b9ea48d968c948a94808b08fb7906808b7976897b89828e
+83958b080b8ba37c9778907b8f7c8f8b9d8ba7ff00338000bac097ff0002333494ff
+fffd1998ff0007b334fffff83334ff00064cccfb08766f318b570863a273aaa9a89e
+aa1e0b8b739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002
+e666fffff84cccff0007cccdfffff9b334f708a0a7e58bbf08b374a36c6d6e786c1e
+0bffffc8999a6a41ffffcfb3341f8bffffc6b334ff002d1999ffffd94cccff00334c
+cdfffff64ccc93918e948a95ffffd26666ff000c199affffe73334ff0027ccce8bff
+001666648bff0013999cff000f3333ff000d3330ff001b3333ff0002e668bcff0007
+b334ff0005199aff00224ccc8bff000c666808ff00169998ffffeee6669b701e0b8b
+739a7f9e869b879a878b798b6fffffcc80005c567ffffffdcccd82ff0002e667ffff
+f84ccdff0007ccccfffff9b333f708a0a7e58bbf08b374a36c6d6e786c1e0bc4b5df
+bc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151383f1e
+0bc4b5dfbc99aa825754682f5379709abf1e0bc4b5dfbc99aa825754672f5379719a
+bf1e0b808b7d848581083bfb2305898889868b8a8a839185938b8f8b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b808b7d848581083bfb2305898889868b
+8a8a839185928b908b908f8f8f08f707f70e0590908d908c908f9f799d778b080b7c
+818280897f8a868c868d8708d8fb0f058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d
+8b8c8b8c8a8d086af725058a91888f868e868e868c868b858b84898588080b8b888a
+888b888b729e78a58ba98ba7a390a88b8e8c8e8b8e8ba4789e718b6e8b6f73856e08
+0bbb8b8a427f557a3e733e508b558b95d997c397c0a2e9c98b080bce8bd0bca5f70b
+a6f70d5ab34b8b458b4643762d7424b14fd08b080b82627d8863898483887c8e85a9
+8c998bae8ba98b9c8ba98a91928e998993ffffda199aff00023334fffff5199aff00
+086666ff0007ccccff002366660890a3bd8b99ad538bb3f748058d947e8c858b888b
+818b8a8a7a827d7f80815f6253575e55868687858785fffffe199afffffc3334ffff
+fcb333fffff980008bfffffa333208fffff9999a8ffffffa8000ff000e33331ef70a
+060bef06675e38fb104ffb0308ad060bc1f4e0f70ed4e6080b7b8b868c8c8f087906
+84717b63806f089f8805a2bb9391a78b080b958b998e929d8e938c98909393979894
+aa8b9d8ba984815c7f556e74566753665c61805b08f7620699a699aa97af868f848c
+808b7a6f74646c8b0838069baca0a6bca9ccb3b4ac95b999cb559e598b3c8b645885
+71887e9780978b080bff00088000b5ff00074ccca58b8b8c90fffffe80008d858bff
+ffee999a84ffffd04ccd83ffffe599998908fffffd4ccd7905ffffff999889ff0001
+ccce8a8d8b08ff0014cccd8a05988bff0004800084fffff7800061085bfb8005ffff
+fbb334768988ffffe7cccc8808fffff7cccd8a05fffffbffff8bffffff666788ffff
+ff99998908fffffc666679058bff002533328ca3ff001a0001ff0027cccd8a8b1eff
+0003999a9d05ff0000cccc8ffffffd33338c898b08fffff533348c05ffffee8000ff
+0001999afffff9b334ff00046666ff00044ccca008ff001be666f71d05ff0017b334
+a2ff00198000a1a08ba98bff001080007afffff5999a5808ffffe8ccccfb0605ffff
+fbb3347684fffffbb333ffffecccccfffffe4ccd08fffff4cccd8a05fffffbffff8b
+fffffe666788ffffff99998908fffffc666779058bff002833338ca4a3ff0025cccd
+8a8b1eff0003b3329d05ff000066688dffffff4ccc8dfffffc33348c08fffffa3332
+8c05ffffece666ff00034ccdfffffab334ff0004b333ff0003e6669e08ff00194cce
+f71005ff000d9998ceffffe7199aa45e8b678bffffd5e66768ffffeeb3337b080b8d
+ff00006667ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c
+878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587
+950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e08
+8f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787
+848283ffffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff003399
+9aff00df80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a
+858a85084ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e
+8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080b5bfb8005fffffbb334
+76fffffeb33388ffffe719998808fffff7cccd8a05fffffbe666ffffff8000ffffff
+8000fffffd8000ffffff99998908fffffc666679058bff002566668cff0017ccccff
+0018999aff002633348a8b1eff0003999a9d05ff0000cccc8ffffffd199aff0000cc
+cdfffffe1999ff0000333308fffff833348c05ffffef199aff00023333fffff93333
+ff00044ccdff00043333ff0014800008ff0032b334f78d05ff00088000b5ff000766
+66a58b8b8c90fffffe66668d858bffffee999a84ffffd04ccd83ffffe599998908ff
+fffd4ccd7905ffffff999889ff0001ccce8a8d8b08ff0014cccd8a05988bff000480
+0084fffff7800061080b887505958e958c928b938b8d878b858b878a858a850866fb
+310587768986738a088406878a88891f8679058baf8ca2a4b18a8b1e909d058c8f88
+8c898b0880067f848e971f8b8e8b8f8c9008adf72405a2a2a5a19f8ba18b9a818b6f
+8b838981887f086ffb0d0586738589788a088006888b8a888a89088779058bb18ca3
+a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c908c9208aaf71705ff0001
+4cccff00064ccdff0001199aff00061999ff0000e666ff0005b334ff00168000ff00
+151999ff0017b334ff0012cccdff001280008ba18b99818b6f8b828a818880086ffb
+0d0586738589788a088006878a88891f8679058bb18ca3a3af8a8b1e8f9d058c8d8b
+8e868b0885067d858c961f8b8f8b908d9108a9f717058e998d988b958bb3759a698b
+ffffde999a8bffffd5e666ffffde3333ffffee6666ffffeeb333fffffe999aff0025
+199affffea666699ffffdf199a8b688b61687a7a0897bf7e8b05707f75856b87080b
+ff0009e667ff002ccccdff00079999ff00063333fffff3cccd8b080bffffee666784
+ffffd04ccc83ffffe5999a8908887905ffffff999a89ff0001b3338a8d8b08ff0014
+cccc8a05ff00084cceff0004cccdfffffd3333fffff3199a1f8bfffff89999fffffe
+6667fffff56667fffffc9999fffff0b33308ffffe24ccdfb1a05fffffb4ccd76ffff
+fe666688ffffe74ccd88fffff6cccdfffffeb33388ff00006667fffffee666fffffa
+e66608877905ffffffffff8bff002533338ca38b08a5ff0027cccd8a8b1f8f9d05ff
+0000e6668ffffffd33338c898b08fffff533338c05fffff34ccdff0000cccdfffff8
+4ccdff0002b3338bff000c80008b8eff00006666ff0003b3338cff00044ccd08ff00
+1fb333f723050bff00181999a2ff0019e666a1a08bff00184ccd8bff000f3334ffff
+f5999a8bffffe2e6668b83fffffeccccfffff68000fffffd999a8008ffffe56666fb
+0c05fffffae66674fffffa800089ffffea999a8908fffff4cccd8a05fffffd00018b
+fffffe4ccd88ffffff99998908877905ffffffffff8bff002733338ca48b08a3ff00
+25ccce8a8b1f8f9d05ff00024cccff000a6666ffffde8000fffff633348bff001566
+668b8eff00008000ff0003999a8cff0004666608ff001cccccf716058eff000d999a
+ff00018000ff000bb3338bff000a4ccd8bff00286666ffffe9999a9bffffdb4ccd8b
+678bffffd74ccd68ffffee33337a080b48fbb40586778a85738a088406878b8a898a
+89088778058baf8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c
+8f8c9008a2f005967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b70
+7c737c0893aa8c907d8b050b717f75856a8708887505968e958c918b938b8e878b85
+088b878a858a85080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a
+8b74948bac8b928c928d94080bfffffc7fff6bfffffb80006bfffffb199a73ff0006
+33338cff000a33338c8e8b9f8bff001319997dff001e00018bad8bff00454ccd9bff
+000c6666c8ff000a3333bdffffd5cccd9effffd14ccda0ffffe0cccd99fffff7e666
+94ff0004e666a308ff00058000a6ff0017999a98a48b9e8bab81ff000233335108ff
+001733338cff00063334d605fffff6666692ffffdb199a956c8b5a8bffffcc66666b
+fffff7800061fffff6cccc5eff001be6677bff002a199a78ff002db333768f77ffff
+fbb33376fffffa800070ffffe5b33380738b748bffffef800097fffffa33349108ff
+fff34ccc9bffffff8000a6ff0001cccd99080bc206918b948d8c90088f9d058c8d89
+8d888b084b8ba1ea637e8980057f5c7c73648b08898a8a891f857305898c8b8d1eb1
+8b61fb4b0589838a838b848b709a80a18ba68ba393aaa608809c05797f80867b8b82
+8b87908b978b948e988f9c080b5792fd27fd7dbf83050b6b565a5a798b6a8b92b291
+ae99cdd0efbf8b9e8b937385718a827b5f7768080b89808977ac8bad8bad9ebcb408
+7a9c057a7a7c81848b888b898e8c928c918f94919808e5f7655a8b6d6905889e809a
+698b408bfb1025772684669452cf8ba18bad98aea78a888a878b88080b85686b6761
+8b618b7aaf92ae91aeaab1b68bb88b9962846b080b8154af5ec28bc28bc0b896c295
+c267b8548b548b565e8054080bc68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989a
+d59deac9c4b58b918b998787778878898d887e89808f7fa78b08958bab9390a492ab
+7ab0438b3b8b203975fb008362aa49cc8b080b83617868726f6c69587a408b08598b
+c4f7bc05a490a78eaf8b08c88bd66d74fb0a080bff00733334ff024e8000ff000ee6
+66ff00008000058d8c8d8b8e8ba58b8c7a856e082afc8a05856f867b628b080b8bff
+ffe7e666fffff0e668ffffeb8000fffff16664fffff38000fffff0cccc7effffec19
+9cfffff7999affffe8ccccfffffce6668682887f8f85938c908c928b080bff001566
+68ff002ab330fffffce666ffffd7199a1f8bffffe26666fffff0999cffffe63334ff
+fff319987effffebccccffffebb333ffffe5e668fffffab333ffffed80008b6b8b84
+928896889782907d8b7f8b7d82887effffffb334fffffe6666ffffffccccfffffe99
+9a8bfffffe800008ffffe38000ff003ecccc81ff0018b3341eff002cb3348bff0029
+4cccff000e6666ff001e4cccff0018b334ff001b4cccff00163333ff0016e668ab8b
+ff002acccd8bff002b8000ffffdd4cccff0014ccccffffe43334ff0002999a080bff
+00233334ff0011199aff00201998ff001880008bff002666668bff001db333ffffe4
+ccccff00114ccdffffd1e6688b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8
+939c8b08ff000e1998ff0011e668fffff9cccdffffeccccd1f0b8bffffdf999affff
+f69998ffffe4999afffff1cccc77fffff2800078ffffec3334fffff36666708b758b
+82928494859384927e8b08fffff64cccffffee6668fffff7199a7cffffe9e666ff00
+35b3327fff0020999a1fff0020e6668bff001f000297ff0018e664ff0013199aff00
+20b334a4ff00188000ff0022b3338bff002fcccd8bff002bb333ffffe48000ff0024
+b333ffffbe80008b7d8b7086818508a9dcf71b8b8b8c98adfb378b55fb239188059b
+92a192a18bff003099988bff000b4cd0ffffe5199a8bffffe54ccc080bff00233334
+ff00111998ff00201998ff001880008bff002666688bff001db334ffffe4ccceff00
+114cccffffd1e6668b348b665b877a8a888c7c9e8ba28b8e9d9296969ba8939c8b08
+ff000e199aff0011e666fffff9ccccffffeccccc1f0b8bffffe1999afffff73334ff
+ffe4199afffff2b334ffffed999afffff5b330fffff1b333fffff0e668fffff6b333
+748bffffe980008bffffe5199aff000ecccd8bff003133338bff00104ccd8fff001d
+cccdff00066666ff000fe666a49ca291998bff0026cccc8bff0008b334ffffe68000
+8bffffe8cccc080bff00161998ff0012e66880ffffeae6661f8bffffde4ccdffffdd
+1998ffffdee667ffffede668fffff6e66608799505ffffe88000ff000e3333fffffb
+ccccff0010cccd8bff000d4ccd08ff00274ccdff001ae668ff000e6666ff001ecccc
+1e0bff0046e668afff00094cccff0019999a8bff001b4ccc08ff0021e667ffffda99
+98ff00163333ffffd73334ffffc78000ffffc1ccccffffdfcccdffffc64ccd1e8bff
+ffe96666ff000b666877ff001d4cccfffff0800008968505ffffd06666ffffe94ccd
+ffffc56666ffffdbe6668bffffcb800008ffffcd4ccdff0038999a7eff0027999a1e
+0beaff002fccccff003acccdff002e4ccd1f8bff00179999fffff44cccff00156667
+ffffe9e668ff000de666080ba57d05ff001780007eff00066668fffff066668bffff
+efcccd08ffffc8e667ffffde9998ffffe7e666ffffd38000ffffeaccccffffe08000
+ff0008999aff002133331e8bff002b1999ff00366668ff002ae667ff00144cccff00
+0a3333080bfb0ff784f743f75805919292939291929394929790918e958d998b08ce
+8c05988b93898e8890868d868b828b878a8489810836fc4b0589838a838986888386
+8584868788838a7d8a738b708a8190829184918693869587928890080b86709c76a5
+8ba68ba5a08fa691a579a1718b708b72758671080b86709c76a68ba58ba5a090a690
+a57aa1708b718b72758571080b86709c76a58ba68ba4a090a691a579a1718b08708b
+72758671080b86709c76a58ba68ba4a090a691a579a1718b708b72758671080b8368
+05a97ba776a571a472a966ac5a08b2067bcf75c071b008f9c58b97bf050b93ae056d
+9b6fa071a571a46eb06abc0864069b47a156a56608fdc68b7f57050bd88b93b2fb02
+8b8a86fbc0fd3e3df75efb1a509668d1a9e6fb85b69d050bf749fa375f8bfb49fe37
+050bf70e8bf70aeea3f70fa3f70e3beffb0e8bfb0f8bfb0a2773fb0e74fb0eda27f7
+0f8b080bf3e2a6f72045e245e2fb208b2434233470fb20d134d035f7208af3e2080b
+d9e7f71bf746d6f7168995838d818b2efb1efb1efb2d2f34086265a56505c534dafb
+2db2fb1e948b958d919572f71649f74661e708898f050b3d2ffb1bfb4640fb168d81
+9389958be8f71ef71ef72de7e208b4b171b10551e23cf72d64f71e828b81898581a4
+fb16cdfb46b52f088d87050b8bc5a3c0b1b0b0b0bfa1c38bc58bc073b165af66a257
+8b538b527457666665655773518b08528b57a265b166b174bf8bc4080b8b4aa551b5
+61b660c571cb8bcc8bc6a6b5b6b5b5a5c58bcb8bca71c562b561b650a6498b084c8b
+51726162606070508b4a080b7d96809998979699997f967e7d80807d1e0b7d968099
+999696999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bdfbe
+51411f8b7e8a7f887e752e323c278b378b57c58bd58b988d988e99a1e8e8d8eb8b08
+0b448bfb887a408b0885070bcf8bf7957acc8b08f780060bbd8bf78f9ce48b089107
+288cfb819c558a080bea0695988f941f9f078f888d871e0bfb03f7140652778b7805
+4b6f72511e2f066e799eaa1ff7fa07a7999bb41ea506908e8e901f8b9e898c058b2e
+8a6764348c8b1e898a8b7805868f888f1ea606b29a7d6d1ffc0b070bd98af73f8b8b
+fb830543a570ba1eb88bb4a1b1b608799d0571777883718b087084a9c91f0bfb188b
+f731f71905cec4aab394b997c86dba2a8b308b46587157908396879988a9c0bea0ba
+8bb78ba06f81560880517370fb102408fb1322917405958cbf8ca38b08f72206b18b
+ac8a9b8a96aa9ebca8c58491828b828c08796e056a568485548b080bb48bad717e4b
+8159453e297d088a6b059c8d9c8b978bc28bcf7b75fb0571fb193170698b5a8b86a2
+839d84998197788b778b7378887b088363d670c58bf7068bf709d8a5f718a0f70144
+b25495088d07e2b2a9b495c091a989a378a47aa16d9c598bfb218b4f2b856a887d91
+77a28bad8b95ac8f9e0897cbd097a48b080b792c4e45518b678b83a4809f829c7d9a
+778b798b767a87778362d569c28bf70b8bf2e7a3f712089eec5ce2fb008b628b6682
+788408bff73b05ae87a886b98b080ba88bac8db38f08a8cf858f050b53855686588b
+678b698d6a8e0833fbb405c29faf8fae8b08c98bb46076fb01080bff0024199aff00
+16199aff001f6666ff00016666ff0010b3348be98b8e2b815976fb0259595c8b4f8b
+5aadacf73fff00044ccdff00166666ff00076666ff001a8000ff000b199aff001c99
+9a080bff002bccceff005ae668ff00514cccf0ff0089199aff0031cccc8d97899484
+90246d4861494a41435b307c3c64fb5ff163d58bf7128bd7f7139ce1089ce16ed8fb
+178bffffe6b3348bffffd94cccfffff8199affffe0cccdfffff23332080bf74006fb
+05fb56fb05fb572cfb2c089184cd8e05e3f73ee0f73af735f7a5080b7a867385678b
+08fb59066a8b8f957a8f080b888b8b8b8a88815b754f79579588948a968c08b0dbab
+92aa8b080b99d35fc02d8b298b404e7c3e80539d62be6508a07b056c7b6f7a6f755d
+67725e83647725c555f18bf7128bdbeb9ad796c57dbe5eab084fb605bda2dfbf97cb
+080bffffdc199affffea8001ffffe06666fffffeb333ffffef66668b2d8b89eb95bd
+a0f702bdbdba8bc78bbb696afb3ffffffbb334ffffe96666fffff89998ffffe53334
+fffff4ccceffffe33333080bffffd46668ffffa53334ffffaf3332ffff9b3333ffff
+77199affffce4ccd897f8c829286f2a9cfb5cdccd5d3bbe69adab2f75f24b3418bfb
+128b3ffb137a35087a35a93ef7178bff0019199a8bff00263332ff0007cccdaaff00
+0d8000080b836b82628b788b78967da98bbb8bb8adb9c6889485937d8b716d6e7781
+8bfffff8e6688bfffffd1998908b97088b9490a191a508b1f733050b90919290978b
+08f73a8b9efb08058c878a878b88877e7c83728b087a06878888881f86768c89058b
+dc8da6a8bc898b1e8e8d8fa0058c8e8b8e858b6c8b809484b30850f8090588a27b8d
+7f8b858b79877e7608fb94fc0f0573677584728b888b88888a880886768c89058bb7
+8d9e9dd6898b1e8d8d90a0058c8e898e878b087f06757e90951f8b8c8b8d8c8c8b8e
+8e908e90080bfb1906788b8d948c9008f70af7438c8b050bda8bc1a8c7ca087b9b05
+51556377498b2c8b69d18bd98ba08ea18fa0aff73cebb6d78bd98bb35c8b48088b85
+a58e058eb48eb594b8088306688b619d408bfb188bfb12236cfb26887a897b8b7b8b
+29cb32f7188b080b86778d89ed8d05a78bb989db8bf7028bf724b9b0f7438f9c8d9c
+8b9b8bf70139defb178b708b4f8a568a08298d89898776058a888e898e8b08a206a4
+95867d1f8b878a868a850845fbdb05846c7e7d6d8b087406878b89888a87080bd3f7
+e30590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c8b7c968b
+9e8b8f8b908c90080bfb5c8b4289288d89898775058a8a8b88908b08a306a395847b
+1f8b888b888a870842fbe9058777807f6b8b087406868b8a888a890886758d89ee8d
+d38af75e8b0593ab9bb4a2bc08728e0570586b5d4e8b0829067c818e981f8b8d8c8e
+8b8d08b1f747e38b05a49280771f7507888c88901e9c8b8e8e058da28ca090a490a3
+95a692a2088d8b8c891e7a06878b89898a8708817605827782806f8b08348babf728
+058e9c96929e8b08ed06ca8b91508e6708a58e058db18cb193b7080b7422056c7263
+7a688b258b67e68bda8b9c8c9c8f99a5f712d7e3f48bf18bab568b49088b88a68e05
+8db38fb493ba898a898b888b678b4e9e578bfb278bfb123168fb38877889798b798b
+22d543f7108b08cf8bdaaad2b6869286948c92089cd8058f9f9596a68b088c068f8b
+8d8d8c8f088f9e8a8c058b5e8a6f6d3b8c8b1e8a8a8778058a878d898f8b089f06a5
+97857b1f8b888a888b88080b8f9f9897ab8b08a0068e8b8e8d8c8e088fa08a8d058b
+42896f6c3c8d8b1e89898775058a888e8a8f8b089f06a596847c1f8b888b888a8708
+43fbe50587787d796b8b087606888b88898a870886768d89058bdf8da7aace898b1e
+8d8d8fa0058c8f898d878b0877067181969b1f8b8e8b8f8c8e080b798892911f8b90
+8b91059a849f751e7a8b7c7e86748a888b888b888b6eb07fb68ba68bab99a5a0b6ae
+adc8a0ed08dbf80a058f9f9896ab8b0898068f8e8d8e1f90a0898d058b43896f6c3b
+8d8b1e8989877605888d898e1ea806a596857b1f8b888b898a870838fc19056bfb2b
+69676c8b080bd48af7588bacf70e718e0575536c635b8b082a067d818f981f8b8d8c
+8e8c8e08d4f7f005909f9897ab8b089f068f8b8e8d8c8f088f9f8a8d058b36896f6c
+488d8b1e89898777058a878e898e8b08a006a596847c1f8b888a888b870842fbea05
+85728384698b087506878b88898a870886768d8905da8c968c948b080b90a19ba1aa
+8b08a0068e8f8d8e1f90a1888c058b54896d6f468d8b1e86898776058890898f1ea0
+06a5937b7a1f8b878b878a880858fb8505877a8882868b878b8492819b08fb50f7ce
+fb1a8d88888778058a8790898f8bb08b957891790846fbda0587787b736b8b087606
+888b84898a870886768e89058bcd8da6aac8898b1e8d8d90a0058f888d881e760672
+82999c1f8b8f8b8f8c8f08bff7870590a38f96918b908b9283947b08f755fbcf050b
+967b93859a8b978b9592909f080bdbc15b291f8b758872856f71fb134241318b388b
+58be8be88ba08ea390a4abf72adec5d68b080b8f9e8d9c8b9c8bf70436d5fb058bfb
+208bfb0cfb046dfb20877789798b798bfb01d946f7078bf7298bf708f3a9f723080b
+7a385976408b08648bb0f746059e8ea28ca78bbf8ba57f8b65088b8289828981080b
+87777e7f6b8b087706878b88898a870886768d89058bd48da6aad1898b1e8e8d90a0
+058c8f888d878b087f067180929a1f8b8e8b8e8c8f08adf7349d8b05d09c67681f49
+070b6a8c51d81e988ba18da0910888a3055689b4a51f8adb058bae71a86a8d088c8c
+05c692cfbc98c88d948c928b938bc84da1358b738b5d89698b6a8b638c6d8c088673
+05898d898fa9a489761e83070b8a06708b77a53b8b458b31627a398a848a848b858b
+4bd26daf7dbe78b4758b598b838b838982087e51646b508b558b5cac8bde088b946f
+89050b8447855f856e9a8d928f988b080b9d8ba97ad88be48bd2c69ddd8d948c938b
+938bd244ae609a759343a68bbb8b8e8b8f8c8f0894b6b5abbe8b080bb9bc6b4d1f8b
+7fa58d050bb68b94718f4308a78e058dbb94b894b7087306888580857b8b08fbdc06
+7b8b83918a91087206825f815d7a5c08a48805afd39ca5b88b08be06a294847c1f8b
+888a878a870843fbe80587777d806c8b087606878888881f86768d89058bd38da7a9
+db898b1e8d8d90a0058e888e881e76067280919a1f8b8e8b8f8c8e08d3f7e6058fa3
+9796a78b080bf7358bc5e7a6f71308b4f75705909f9497ab8b089d068e8b8e8d8c8e
+088fa08a8d058b5789706c4b8d8b1e8989877605888d898e1ea006a596847c1f8b88
+8b888a87085ffb64057a3b702afb188b668b739879a07a9f85a28ba38ba190a290a2
+08b8f76c05909f9897ab8b08a0068f8b8d8d8c8e088fa08a8d058b36896f6d4a8d8b
+1e89898776058a888e898e8b089d06a596847c1f8b888b888a870859fb810587798a
+7b8b7d8b22e773c88b080b87777e806b8b087706878b88888a880886768d89058bd4
+8da7a9db898b1e8c8d90a0058c8e888e888b0876067180919a1f8b8e8b8e8c8f08aa
+f726f732f75a059ea29793a28b089c06928c8e8d1f8fa08b8d057b8a5d8a848b818b
+4f8d858b08898a8675058a898c888e8b08a2069b8b8f8989838a878786838008fb13
+fb3445f73405879689908c8f8c92918e9a8b08a1068e8b8d8e8c8d088fa18a8c0580
+8a368a868b818b4d8d828b0888898776058a878f8a8f8ba88b9881947608e0fb5e05
+0bf74306918b8d898a878a888886858508fc03fc0e05858686838b8508868e88951e
+f7fe0696aaa0baa8c5087292786e0568567571518b08fb24067e8b858e8c918c8f8e
+90919108f7f1f7fe059f9f8f938d93088d0790868e7d1e7f8b7a89728608fb95067b
+8b83928a91087306805e7c5f785a08a58805aed3b2a0a98b080bffffbdcccd8bff00
+223333f7330590a4a78eb28bf7168bb2428b388b72877286726dfb24346bfb028b4c
+8b7c968b9e8b8f8b908c9008ff001d6666f71dff0041999a8b050b86778d89ed8d05
+a78bb989db8bf7028bf724b9b0f7438f9c8d9c8b9b8bf70139defb178b708b4f8a56
+8a08298d89898776058a888e898e8b08a206a495867d1f8b878a868a8508ffffdf33
+33fb2dffffbbcccd8b8364ff0043e6668bffffe3199afb1b05846c7e7d6d8b087406
+878b89888a87080b8a06708b77a53b8b458b31627a398a848a848b858b4bd26daf7d
+080bbe78b4758b598b838b8389827e51646b508b558b5cac8bde088b946f89050b4f
+fb970585718880867c08978705929295949393967da281a78bc98bd0d09cd58e998d
+998b998bbc74b25b8b738b7282707b08aaf7197d8b05717f75856a8708887505968e
+958c918b948b8d878b858b878a858a85080ba39b9891a48ba18b9c768b628b7d897b
+8678762e607f758b7a8b74948bac8b928c938d93080b398b50437a42877d8a7d8b7e
+8b56a763cd8bb68bafa3abae087c9b0573757376678b768b789a82a288938a958b96
+8b978d998e989ddcbbaca98ba78b917d8b7b088b868a868b850888077d9585971e98
+8b9994909f8b8f8c8f8b8f8ba871a5568b080b72767981768b728b789a8bb78b9b8d
+9e91a29cd5aca6ab8ba48b9b779678080ba598a290ab8f088ea1058088818a858b83
+8b888f8b918b908c908d9108d4f7cf7d8b05717f74856c8708877505968e958c918b
+938b8e878b858b878a858985087d4c0580997592728b418b563d7c4b887d8a7f8b7f
+080b54ab69bf1ea28ba498a19b080b87798381778b088006888b898a8a8708877a8c
+8a058bb38ca0a2bf8a8b1e8c8c8f9c058f898c891e77067d8591961f8b8e8c8f8b8f
+08aff72ec38b05918b938d8d91088f9d058d8a8c881e4a8b8d9505a1eaa4969f8b9c
+8b93848e778e809283978b968b98968e978b8d8c8d8b8d8b9486948392087f967d91
+758b598b4e5e752b086c06818b87848a8608877d05898b8a8d1eb4060b968b98958e
+99088f07968295761e758b79827779080b83917b946f8b598b50687e528a848a858b
+858b74947d957e787c77728676080b8b878a888b888b7a957f96856977727185718a
+858a858b868b63b580b18bd78be6aa9ace088c908c908b8f8b998696819678a1658f
+768b828b7b897e8a838a838a888b7e8b7c8f8b9c088b8e8b8e8c8f8e988f96949597
+839b87a28bbc8bc5aa98c7080b8d938c928b918b9c859782998f919393928b938b90
+888c85088c849086958b080b90889388938b918b948c948b938c928b908ba78b9d85
+9982080b9c8192858b818b888b898a88815e4e84598b788b608e8bae8b8f8c8f8c8f
+90a0919ba19d080b6a82a0a41f8b958c968e9596bb9f9bab8ba68b9a7d8b6d8b8289
+818980080b72767d84768b728b75998bba8b998d9d90a09cd5aca6ab8ba48b9b7796
+78080b6d7305809c74946f8b418b563d7c4b887e8a7f8b808b54ae69c18ba18ba096
+a19b0872fb0005857582867b8b088106888b888a8a87088779058bb28ca4a2ae8a8b
+1e909e058d8b8d871e84067b8c878e8b928b8f8c908d9208daf7ed8b8f058e8a8d89
+1e888b83868888080b8a8c058b7e8a8374678c8b1e8a8a877a058a898b88908b0891
+0699918a801f8b888b868985086dfb1805877d8a7e8b818b64a07bae8bad8bb5ae9c
+9c088057988b050ba598a290ab8f088ea1058088818a858b838b888f8b918b908c90
+8d9108baf7628a8c058b7e8a8273658c8b1e8a8a877a058a878e8a8d8b0895069892
+887f1f8b888a878a87086afb25050b73757275768b758b7d948ba78b938c958e9708
+0b8c848f85908b918b958e929608f715f75c05a0ab968f988b8e8b8f8c8c8f088f9c
+8a8c058b768a79766a8c8b1e8a8a877a05898c888d9d9489821e8807898688858582
+0829fb2a6ff72d058a928b908c908d95938f938b0895068e8e8d8e1f8f9c8a8c558a
+0579668c8b1f8a8a877a058a878d8a8e8b9d8b8f869168080b82868f8e1f7706846f
+82707e6d08a08a05a1b7a0919d8b08d58bfb52fb6e05898984858b8508888f88931e
+f75106929e98a89eaf08778f7f7a05766a7f83698b08448bf74df766059b9e8d8f8b
+8d088c078c8e878b888b898b6f89798b080b8b739a7f9e869b879a878b798b6fffff
+cc80005c567ffffffdcccc82ff0002e668fffff84cccff0007ccccfffff9b334f708
+a0a7e58bbf08b374a36c6d6e786c1e0b2fd641e6e7d5d5e7e641d62f304040301e0b
+d7c8c8d7d8c84e3f3f4e4d3e3f4ec9d71e0b>
+%%EndResource
+%%BeginResource: font LinLibertineMO
+/FontSetInit /ProcSet findresource begin
+/LinLibertineMO 124544 currentfile /ASCIIHexDecode filter cvx exec
+2053746172744461746120
+01000404000101010f4c696e4c6962657274696e654d4f000102000100411c04a300
+1c04a4011c04a5021c04a603f81504290c03b30c04fd12fbb41c0544fa46051d0000
+20cf0f1d00000000101d000028c4111d0000003d1d00019729120320020001000800
+0f001b00290030003c0043004a00500056005d0064006a0070007b00860090009a00
+a000a600ac00b200b800be00c500cc00d200d800e200ec00f300fa01000106011101
+1c012201280132013c01480154015f016a016e01720178017e0185018c0192019801
+9f01a601b001b201b401bf01ca01d601e201ee01f401fa020602120218021e022202
+26022c0232023e024a02500256026102640267026e0275027b0281028e029b02a102
+a702b302bf02c502cb02d102d702e202ed02f502fd03090315031b03210325032903
+2f0335033c03430349034f0354035903660373037a0381038c039703a203ad03b303
+b903c303cd03d203db03e403eb03f403fb040204090415041c042904300437043e04
+45044c0453045a04610468046f0476047d0484048b0492049904a004a704ae04b504
+bc04c304ca04d104d804e404eb04f204f905000507050e0515051c0523052a053105
+38053f0546054d0554055b0562056905700577057e0585058c0593059a05a105a805
+af05b605bd05c405cb05d205d905e005e705ee05f505fc0603060a06110618061f06
+26062d0634063b0642064906500657065e0665066c0673067a06810688068f069606
+9d06a406ab06b206b906c006c706ce06d506dc06e306ea06f106f806ff0706070d07
+14071b0722072907300737073e0745074c0753075a07610768076f0776077d078407
+8b0792079907a007a707ae07b507bc07c307ca07d107d807df07e607ed07f407fb08
+02080908100817081e0825082c0833083a08410848084f0856085d0864086b087208
+7908800887088e0895089c08a308aa08b108b808bf08c608cd08d408db08e208e908
+f008f708fe0905090c0913091a09210928092f0936093d0944094b09520959096009
+67096e0975097c0983098a09910998099f09a609ad09b409bb09c209c909d009d709
+de09e509ec09f309fa0a010a080a0f0a160a1d0a240a2b0a320a390a400a470a4e0a
+550a5c0a630a6a0a710a780a7e0a840a8a0a900a990aa20aa90ab00ab70abe0ac50a
+cc0ad30ada0ae10ae80aef0af60afd0b040b0b0b120b190b200b270b2e0b350b3c0b
+430b4a0b540b5b0b620b690b700b770b7e0b850b8c0b930b9a0ba10ba80baf0bb60b
+bd0bc40bcb0bd20bd90be00be70bee0bf50bfc0c030c0a0c110c180c1f0c260c2d0c
+340c3b0c420c490c500c570c5e0c650c6c0c730c7a0c810c880c8f0c960c9d0ca40c
+ab0cb20cb90cc00cc70cce0cd50cdc0ce30cea0cf10cf80cff0d060d0d0d140d1b0d
+220d290d300d370d3e0d450d4c0d530d5a0d610d680d6f0d760d7d0d840d8b0d920d
+990d9f0da50dac0db30dba0dc10dc80dcf0dd50ddb0de20de90df80e060e130e1e0e
+2e0e370e400e4e0e570e640e710e780e850e920e9d0eab0eb40ebb0ec20ec80ece0e
+d90ee60eed0ef40efb0f040f0f0f160f1d0f2e0f3d0f4c0f530f5a0f610f6e0f780f
+850f920f9e0fac0fba0fc70fd40fe20ff010021015101f102c103810441052105f10
+6c10781086109410a110ae10bc10ca10dc10ef10f91103110d1117111e1125112c11
+33113a11411148114f1156115d11621166116c11731177117b118211891190119711
+9e11a811b111b811c211c911d011d711de11e611ef11f611ff1206120d1215121c12
+23122a1231123812411246124d1254125b1262126a1273127e12881290129a12a612
+af12b612c012c912d212db12e212e912f012f712fe1305130e13151320132b133213
+3a134113491350135a1361136913701377137e1385138e1395139c13a813af13b613
+bd13c413cb13d713df13e913f013f713ff1406140e1416141e1426142e1436143e14
+46144e1456145e1466146e1476147e1486148e1496149e14a614ae14b614be14c614
+ce14d614de14e614ee14f614fe1506150e1516151e1526152e1536153d1544154915
+501557155e1563156a15711578157f1586158d1594159b15a215a915b415c215c915
+d015d715de15e115e815ef15f6160616151622162f163c16461650165a1664166e16
+78168216891690169716a116ab16b216bc16c616d016d716e116eb16f516fc170317
+0a1714171b17221727172e1735173f17491753175d17671771177b1785178f179917
+a317ad17b717c117cb17d517df17e917f317fd18071811181a18231831183a184318
+53186418781884188d189918aa18b718be18c818d018d718de18e319ff1a151a2b75
+6e6930304130756e693030414474776f2e7375706572696f7274687265652e737570
+6572696f72756e69303042356f6e652e7375706572696f72416d6163726f6e616d61
+63726f6e416272657665616272657665416f676f6e656b616f676f6e656b43616375
+74656361637574654363697263756d666c65786363697263756d666c657843646f74
+616363656e7463646f74616363656e74436361726f6e636361726f6e446361726f6e
+646361726f6e4463726f61746463726f6174456d6163726f6e656d6163726f6e4562
+7265766565627265766545646f74616363656e7465646f74616363656e74456f676f
+6e656b656f676f6e656b456361726f6e656361726f6e4763697263756d666c657867
+63697263756d666c657847627265766567627265766547646f74616363656e746764
+6f74616363656e7447636f6d6d61616363656e7467636f6d6d61616363656e744863
+697263756d666c65786863697263756d666c657848626172686261724974696c6465
+6974696c6465496d6163726f6e696d6163726f6e496272657665696272657665496f
+676f6e656b696f676f6e656b49646f74616363656e74494a696a4a63697263756d66
+6c65786a63697263756d666c65784b636f6d6d61616363656e746b636f6d6d616163
+63656e746b677265656e6c616e6469634c61637574656c61637574654c636f6d6d61
+616363656e746c636f6d6d61616363656e744c6361726f6e6c6361726f6e4c646f74
+6c646f744e61637574656e61637574654e636f6d6d61616363656e746e636f6d6d61
+616363656e744e6361726f6e6e6361726f6e6e61706f7374726f706865456e67656e
+674f6d6163726f6e6f6d6163726f6e4f62726576656f62726576654f68756e676172
+756d6c6175746f68756e676172756d6c61757452616375746572616375746552636f
+6d6d61616363656e7472636f6d6d61616363656e74526361726f6e726361726f6e53
+61637574657361637574655363697263756d666c65787363697263756d666c657853
+636564696c6c6173636564696c6c6154636f6d6d61616363656e7474636f6d6d6161
+6363656e74546361726f6e746361726f6e54626172746261725574696c6465757469
+6c6465556d6163726f6e756d6163726f6e5562726576657562726576655572696e67
+7572696e675568756e676172756d6c6175747568756e676172756d6c617574556f67
+6f6e656b756f676f6e656b5763697263756d666c65787763697263756d666c657859
+63697263756d666c65787963697263756d666c65785a61637574657a61637574655a
+646f74616363656e747a646f74616363656e746c6f6e67736772617665636f6d6261
+63757465636f6d62756e693033303274696c6465636f6d62756e6930333034756e69
+30333035756e6930333036646f74616363656e74636d62756e6930333038686f6f6b
+61626f7665636f6d62756e6930333041756e6930333042756e6930333043756e6930
+333044756e6930333045756e6930333046756e6930333130756e6930333131756e69
+30333132756e6930333133756e6930333134756e6930333135756e6930333136756e
+6930333137756e6930333138756e6930333139756e6930333141756e693033314275
+6e6930333143756e6930333144756e6930333145756e6930333146756e6930333230
+756e6930333231756e6930333232646f7462656c6f77636f6d62756e693033323475
+6e6930333235756e6930333236756e6930333237756e6930333238756e6930333239
+756e6930333241756e6930333242756e6930333243756e6930333244756e69303332
+45756e6930333246756e6930333330756e6930333331756e6930333332756e693033
+3333756e6930333334756e6930333335756e6930333336756e6930333337756e6930
+333338756e6930333339756e6930333341756e6930333342756e6930333343756e69
+30333344756e6930333345756e6930333346756e6930333430756e6930333431756e
+6930333432756e6930333433756e6930333434756e6930333435756e693033343675
+6e6930333437756e6930333438756e6930333439756e6930333441756e6930333442
+756e6930333443756e6930333444756e6930333445756e6930333446756e69303335
+30756e6930333531756e6930333532756e6930333533756e6930333534756e693033
+3535756e6930333536756e6930333537756e6930333538756e6930333539756e6930
+333541756e6930333542756e6930333543756e6930333544756e6930333545756e69
+30333546756e6930333630756e6930333631756e6930333632756e6930333633756e
+6930333634756e6930333635756e6930333636756e6930333637756e693033363875
+6e6930333639756e6930333641756e6930333642756e6930333643756e6930333644
+756e6930333645756e6930333646756e6931453030756e6931453031756e69314530
+32756e6931453033756e6931453034756e6931453035756e6931453036756e693145
+3037756e6931453038756e6931453039756e6931453041756e6931453042756e6931
+453043756e6931453044756e6931453045756e6931453046756e6931453130756e69
+31453131756e6931453132756e6931453133756e6931453134756e6931453135756e
+6931453136756e6931453137756e6931453138756e6931453139756e693145314175
+6e6931453142756e6931453143756e6931453144756e6931453145756e6931453146
+756e6931453230756e6931453231756e6931453232756e6931453233756e69314532
+34756e6931453235756e6931453236756e6931453237756e6931453238756e693145
+3239756e6931453241756e6931453242756e6931453243756e6931453244756e6931
+453245756e6931453246756e6931453330756e6931453331756e6931453332756e69
+31453333756e6931453334756e6931453335756e6931453336756e6931453337756e
+6931453338756e6931453339756e6931453341756e6931453342756e693145334375
+6e6931453344756e6931453345756e6931453346756e6931453430756e6931453431
+756e6931453432756e6931453433756e6931453434756e6931453435756e69314534
+36756e6931453437756e6931453438756e6931453439756e6931453441756e693145
+3442756e6931453443756e6931453444756e6931453445756e6931453446756e6931
+453530756e6931453531756e6931453532756e6931453533756e6931453534756e69
+31453535756e6931453536756e6931453537756e6931453538756e6931453539756e
+6931453541756e6931453542756e6931453543756e6931453544756e693145354575
+6e6931453546756e6931453630756e6931453631756e6931453632756e6931453633
+756e6931453634756e6931453635756e6931453636756e6931453637756e69314536
+38756e6931453639756e6931453641756e6931453642756e6931453643756e693145
+3644756e6931453645756e6931453646756e6931453730756e6931453731756e6931
+453732756e6931453733756e6931453734756e6931453735756e6931453736756e69
+31453737756e6931453738756e6931453739756e6931453741756e6931453742756e
+6931453743756e6931453744756e6931453745756e69314537465767726176657767
+72617665576163757465776163757465576469657265736973776469657265736973
+756e6931453836756e6931453837756e6931453838756e6931453839756e69314538
+41756e6931453842756e6931453843756e6931453844756e6931453845756e693145
+3846756e6931453930756e6931453931756e6931453932756e6931453933756e6931
+453934756e6931453935756e6931453936756e6931453937756e6931453938756e69
+31453939756e6931453941756e6931453942756e6931453943756e69314539444765
+726d616e64626c73756e6931453946756e6931454130756e6931454131756e693145
+4132756e6931454133756e6931454134756e6931454135756e6931454136756e6931
+454137756e6931454138756e6931454139756e6931454141756e6931454142756e69
+31454143756e6931454144756e6931454145756e6931454146756e6931454230756e
+6931454231756e6931454232756e6931454233756e6931454234756e693145423575
+6e6931454236756e6931454237756e6931454238756e6931454239756e6931454241
+756e6931454242756e6931454243756e6931454244756e6931454245756e69314542
+46756e6931454330756e6931454331756e6931454332756e6931454333756e693145
+4334756e6931454335756e6931454336756e6931454337756e6931454338756e6931
+454339756e6931454341756e6931454342756e6931454343756e6931454344756e69
+31454345756e6931454346756e6931454430756e6931454431756e6931454432756e
+6931454433756e6931454434756e6931454435756e6931454436756e693145443775
+6e6931454438756e6931454439756e6931454441756e6931454442756e6931454443
+756e6931454444756e6931454445756e6931454446756e6931454530756e69314545
+31756e6931454532756e6931454533756e6931454534756e6931454535756e693145
+4536756e6931454537756e6931454538756e6931454539756e6931454541756e6931
+454542756e6931454543756e6931454544756e6931454545756e6931454546756e69
+31454630756e6931454631596772617665796772617665756e6931454634756e6931
+454635756e6931454636756e6931454637756e6931454638756e6931454639656e71
+756164656d71756164656e7370616365656d73706163657468726565706572656d73
+70616365666f7572706572656d7370616365736978706572656d7370616365666967
+757265737061636570756e6374756174696f6e73706163657468696e737061636568
+61697273706163657a65726f7769647468737061636568797068656e74776f687970
+68656e6e6f627265616b686f72697a6f6e74616c626172756e6932303136756e6465
+7273636f726564626c71756f7465726576657273656471756f746564626c72657674
+7269616e676c6562756c6c657468797068656e646f74756e6932303246756e693230
+33316d696e7574657365636f6e647072696d65747269706c657072696d6572657665
+72736564756e6932303336756e6932303337756e69323033426578636c616d64626c
+696e746572726f62616e67756e6932303345756e69323034327175657374696f6e5f
+7175657374696f6e7175657374696f6e5f6578636c616d6578636c616d5f71756573
+74696f6e756e6932303441756e6932303442756e69323034467a65726f2e73757065
+72696f72692e7375706572696f72666f75722e7375706572696f72666976652e7375
+706572696f727369782e7375706572696f72736576656e2e7375706572696f726569
+6768742e7375706572696f726e696e652e7375706572696f72706c75732e73757065
+72696f726d696e75732e7375706572696f72657175616c2e7375706572696f727061
+72656e6c6566742e7375706572696f72706172656e72696768742e7375706572696f
+726e2e7375706572696f727a65726f2e696e666572696f726f6e652e696e66657269
+6f7274776f2e696e666572696f7274687265652e696e666572696f72666f75722e69
+6e666572696f72666976652e696e666572696f727369782e696e666572696f727365
+76656e2e696e666572696f7265696768742e696e666572696f726e696e652e696e66
+6572696f72706c75732e696e666572696f726d696e75732e696e666572696f726571
+75616c2e696e666572696f72706172656e6c6566742e696e666572696f7270617265
+6e72696768742e696e666572696f72612e696e666572696f72652e696e666572696f
+726f2e696e666572696f72782e696e666572696f72756e6932303934756e69323039
+35756e6932303936756e6932303937756e6932303938756e6932303939756e693230
+3941756e6932303942756e6932303943756e69323041326672616e636c6972617065
+73657461756e6932304138646f6e674575726f756e6932304146756e693230423175
+6e6932313030756e6932313031756e693231303263656e7469677261646561666969
+3631323438756e693231303666616872656e68656974756e6932313043756e693231
+3044756e6932313045756e6932313046496672616b74757261666969363132383975
+6e6932313135616669693631333532756e6932313139756e6932313141526672616b
+747572756e6932313144756e6932313230756e6932313234756e6932313236756e69
+32313237657374696d61746564616c657068756e6932313336756e6932313337756e
+6932313338756e69323133396f6e65666966746874776f6669667468737468726565
+666966746873666f75726669667468736f6e65736978746866697665736978746873
+6f6e656e756d657261746f726172726f776c6566746172726f7775706172726f7772
+696768746172726f77646f776e6172726f77626f74686172726f777570646e756e69
+32313936756e6932313937756e6932313938756e6932313939756e6932313941756e
+6932313942756e6976657273616c756e69323230317061727469616c646966666578
+697374656e7469616c756e6932323034656d707479736574756e6932323036677261
+6469656e74656c656d656e746e6f74656c656d656e74756e69323230417375636874
+686174756e6932323043756e693232304470726f64756374756e693232313073756d
+6d6174696f6e756e6932323133756e6932323134617374657269736b6d617468756e
+6932323138756e69323231397261646963616c756e6932323142756e693232314370
+726f706f7274696f6e616c696e66696e6974796f7274686f676f6e616c646f746d61
+7468756e69323245465346313030303030756e693235303353463031303030305346
+30333030303053463032303030305346303430303030534630383030303053463039
+30303030534630363030303053463037303030305346303530303030534634333030
+30305346323430303030534635313030303053463532303030305346333930303030
+53463232303030305346323130303030534632353030303053463530303030305346
+34393030303053463338303030305346323830303030534632373030303053463236
+30303030534633363030303053463337303030305346343230303030534631393030
+30305346323030303030534632333030303053463437303030305346343830303030
+53463431303030305346343530303030534634363030303053463430303030305346
+353430303030534635333030303053463434303030307570626c6f636b646e626c6f
+636b626c6f636b6c66626c6f636b7274626c6f636b6c747368616465736861646564
+6b7368616465756e6932363035756e6932363339756e6932363341756e6932363342
+756e6932363630756e6932363633756e6932363635756e6932363636756e69323636
+396d75736963616c6e6f74656d75736963616c6e6f746564626c756e693236364375
+6e6932363644756e6932363645756e6932363646547578756e6945303031756e6945
+303039756e69453030417a65726f2e736c61736866697474656470657274686f7573
+616e647a65726f4164696572657369732e616c744f64696572657369732e616c7455
+64696572657369732e616c74612e7375706572696f72622e7375706572696f72632e
+7375706572696f72642e7375706572696f72652e7375706572696f72662e73757065
+72696f72672e7375706572696f72756e6945304337756e6945304338756e69453043
+396b2e7375706572696f726d2e7375706572696f72756e69453043446f2e73757065
+72696f72702e7375706572696f72712e7375706572696f72756e6945304431742e73
+75706572696f72752e7375706572696f72762e7375706572696f72756e6945304436
+756e6945304437756e69453044387a2e7375706572696f72756e6945304639756e69
+453046426b72656973756e6945313338756e6945313438622e696e666572696f7263
+2e696e666572696f72642e696e666572696f72662e696e666572696f72672e696e66
+6572696f72682e696e666572696f72692e696e666572696f726a2e696e666572696f
+726b2e696e666572696f726c2e696e666572696f726d2e696e666572696f726e2e69
+6e666572696f72702e696e666572696f72712e696e666572696f72722e696e666572
+696f72732e696e666572696f72742e696e666572696f72752e696e666572696f7276
+2e696e666572696f72772e696e666572696f72792e696e666572696f727a2e696e66
+6572696f7267726176652e63617061637574652e63617063697263756d666c65782e
+6361706361726f6e2e63617062726576652e63617068756e676172756d6c6175742e
+63617073706163655f756e69303330462e6361706272657665696e76657274656463
+6d622e63617062726576652e63797263617062726576652e63797264696572657369
+732e636170686f6f6b61626f7665636f6d622e636170646f74616363656e742e6361
+70756e69453432307a65726f2e736c617368646f746c6573736a756e694646464475
+6e6930333530352e312e374c696e7578204c6962657274696e65206279205068696c
+69707020482e20506f6c6c2c0a4f70656e20466f6e7420756e646572205465726d73
+206f6620666f6c6c6f77696e67204672656520536f667477617265204c6963656e73
+65733a0a47504c202847656e6572616c205075626c6963204c6963656e7365292077
+69746820666f6e742d657863657074696f6e20616e64204f464c20284f70656e2046
+6f6e74204c6963656e7365292e0a43726561746564207769746820466f6e74466f72
+67652028687474703a2f2f666f6e74666f7267652e73662e6e6574290a5365707420
+323030332c20323030342c20323030352c20323030362c20323030372c2032303038
+2c20323030392c20323031302c20323031312c323031324c696e7578204c69626572
+74696e65204d6f6e6f204f4c696e7578204c6962657274696e65204d6f6e6f204f00
+0000000100020003000400050006000700680009000a000b000c000d000e000f0010
+001100120013001400150016001700180019001a001b001c001d001e001f00200021
+00220023002400250026002700280029002a002b002c002d002e002f003000310032
+0033003400350036003700380039003a003b003c003d003e003f0040007c00420043
+004400450046004700480049004a004b004c004d004e004f00500051005200530054
+00550056005700580059005a005b005c005d005e005f018700600061006200670064
+00a00066008300aa008b006a0097018800a5008000a1009c0189018a007d018b0073
+00720085018c008f0078009e009b00a3007b00ae00ab00ac00b000ad00af008a00b1
+00b500b200b300b400b900b600b700b8009a00ba00be00bb00bc00bf00bd00a8008d
+00c400c100c200c300c5009d009500cb00c800c900cd00ca00cc009000ce00d200cf
+00d000d100d600d300d400d500a700d700db00d800d900dc00da009f009300e100de
+00df00e000e200a200e3018d018e018f019001910192019301940195019601970198
+0199019a019b019c019d019e019f01a001a101a201a301a401a501a601a701a801a9
+01aa01ab01ac01ad01ae01af01b001b101b201b301b401b501b601b701b801b901ba
+01bb01bc01bd009101be01bf01c001c101c201c301c401c501c601c701c801c901ca
+01cb01cc008c009201cd01ce01cf01d001d101d201d301d401d501d601d701d801d9
+01da01db008e009401dc01dd01de01df01e001e101e201e301e401e501e601e700c0
+00dd01e801e901ea01eb01ec01ed01ee01ef01f001f101f201f301f401f501f601f7
+01f801f901fa01fb01fc01fd00c601fe01ff0200020100c700e40202020302040205
+0206020702080209020a020b020c020d020e020f0210021102120213021402150216
+021702180219021a021b021c021d021e021f02200221022202230224022502260227
+02280229022a022b022c022d022e022f023002310232023302340235023602370238
+0239023a023b023c023d023e023f0240024102420243024402450246024702480249
+024a024b024c024d024e024f0250025102520253025402550256025702580259025a
+025b025c025d025e025f0260026102620263026402650266026702680269026a026b
+026c026d026e026f0270027102720273027402750276027702780279027a027b027c
+027d027e027f0280028102820283028402850286028702880289028a028b028c028d
+028e028f0290029102920293029402950296029702980299029a029b029c029d029e
+029f02a002a102a202a302a402a502a602a702a802a902aa02ab02ac02ad02ae02af
+02b002b102b202b302b402b502b602b702b802b902ba02bb02bc02bd02be02bf02c0
+02c102c202c302c402c502c602c702c802c902ca02cb02cc02cd02ce02cf02d002d1
+02d202d302d402d502d602d702d802d902da02db02dc02dd02de02df02e002e102e2
+02e302e402e502e602e702e802e902ea02eb02ec02ed02ee02ef02f002f102f202f3
+02f402f502f602f702f802f902fa02fb02fc02fd02fe02ff03000301030203030304
+03050306030703080309030a030b030c030d030e030f031003110312031303140315
+0316031703180319031a031b031c031d031e031f0320032103220323032403250326
+032703280329032a032b032c032d032e032f03300331033203330334033503360337
+03380339033a033b033c033d033e033f034003410342034303440345034603470348
+0349034a034b034c034d034e034f0350035103520353035403550356035703580359
+035a035b035c035d035e035f0360036103620363036403650366036703680369036a
+036b036c036d036e036f0370037103720373037403750376037703780379037a013a
+006f0089037b037c037d004100080075037e006900770076037f0070007100740380
+00ee00ed007903810382007a0383038403850386038703880389006b006c038a038b
+038c038d038e0063038f0390039103920393039403950396039703980399039a039b
+039c039d039e039f03a003a103a203a303a403a503a603a703a803a903aa03ab03ac
+03ad03ae03af03b003b103b203b303b403b503b603b703b803b903ba03bb03bc03bd
+03be03bf03c003c103c203c303c403c503c603c703c803c903ca03cb03cc03cd03ce
+03cf03d003d103d203d303d403d503d603d703d803d903da03db009903dc03dd03de
+03df03e003e103e203e303e40144014503e503e603e703e803e903ea014001410142
+014303eb03ec03ed03ee03ef03f003f103f203f303f403f503f603f703f803f903fa
+03fb03fc03fd03fe03ff04000401040204030404040504060407040800a60409040a
+040b040c040d040e040f0410041104120413041404150416041704180419041a041b
+041c041d041e041f0420042104220423042404250426042704280429042a042b042c
+042d042e042f0430043104320433043404350436043704380439043a043b043c043d
+043e043f0440044104420443044404450446044704480449044a044b044c044d044e
+044f0450045104520453045404550456045704580459045a045b045c045d045e045f
+0460046104620463046404650466046704680469046a046b046c046d046e046f0470
+047104720473047404750476047704780479047a047b047c047d047e047f04800481
+04820483048404850486048704880489048a048b048c048d048e048f049004910492
+0493049404950496049704980499049a049b049c049d049e049f04a004a104a203fb
+0300000100004e00004f00006c0000870001010001bd0001fd00044000045200049a
+0004e20005520005640005780005840005940005a500060d00069100071f0007af00
+085d0008e10009630009cb000ace000b50000b69000b9d000bc7000bdd000c07000c
+2b000cfe000d16000d43000d56000d6f000d8b000da5000dc3000dda000dec000dfe
+000e13000e36000e5b000e76000e91000eba000feb00101900103a00106500107900
+10870010950010a60010b800111300114900115b0011910011ae0011cc0012370012
+5d00127b00128f0012b90012d60012ee00134b00136800138a00145900147000148a
+0014aa0014c60014e00015450016670016870016ad0016be0016e30016f100185500
+1863001872001981001a2f001a46001b00001b47001b48001b94001d47001e10001e
+8a0020350020520021bd0021d40022ad0022c900232200236500237100242e002451
+00246d00248500256800259500260000269c0027960027a70027ba00283d00287600
+28cf0029ec002b18002c60002ce0002d02002d24002d45002d75002da2002ea20030
+1600303900305d0030810030a50030da0030f500310f00312900314f0031ef0032e9
+00330d0033310033550033850033b60033eb00353300354f00356c00358900362b00
+36450036f20037dc0038080038340038640038a80038e9003924003a3c003a57003a
+7b003a9f003ac3003afe003b16003b2e003b46003b6d003c78003cad003ccf003cf1
+003d13003d44003d70003dfb003f4c003f7b003faa003fd900401d00403200411100
+41350041550041880041b00041eb0042f20043fa00441500443000444b0044660044
+850044a50044c00044db0044fc00461a0046fc0047f7004813004838004921004955
+00497a0049a2004ada004bbe004be2004c06004c2c004c97004cc7004d34004dd200
+4e43004e70004f23004f430050320051710052ef00531600533e00535000536c0053
+8a0053aa00548a0055f60056150056270056e400584d0058670058800058a40058c9
+0059c40059ef005a10005a40005a6e005a91005aab005add005b11005bbb005ccf00
+5cf3005d1a005d43005d6d005d91005db7005de2005eb0005fd7005ffb00601f0060
+4700606f0060980060c000618d00622c00626300628d0062cd00632400635a006384
+0063ae0063de00640800643800655400666200668b0066bb0067a80068e800691b00
+69380069e7006acd006af9006b3d006b5a006b8b006bac006be9006c0f006c66006c
+89006cae006de4006fa4006fba006fd2006fec00700100710f00713900715a007186
+0071af0071d40071f400720a00721400721e00723200724b00725e00727c00729100
+72a50072be0072d10072ea0072f700730100734200736200741100742c00743e0074
+980074a800750200755b0075a40075df0076210076620076980076cb007711007751
+0077930077e300781200784300787100788300789d0078b50078c60078db00791800
+79470079620079bc0079ef007a21007a33007a45007a9a007aab007ab6007acf007b
+3b007b4b007b56007b73007ba3007be9007c31007c54007caf007d38007e45007e58
+007e6a007e7c007e97007ea7007ebe007eef007f0a007f1d007f35007f7100808600
+81480081d800822c0082610082620082a90082ef0083180083a90083f00084370084
+a10084e60084f400857b0086370086a50086af0086b90086c50086d1008718008749
+0087790087ff0088510088c00088f800899d008a40008af8008bad008d0f008d9400
+8df3008e7f008f83008f9b008fc1008fee00900c00903900905700908e0090b60090
+d90090fe00911700914100915a0091840091a70091da0092d0009310009329009353
+00938200943b00946a00952e00954a0095670095830095a00095b30095b40095ce00
+95e60096040096610096780096950096ac0096c90097b000991a009a0d009bae009b
+c5009be2009bf4009c16009ce2009d94009db2009fb1009fc6009fdd009ffc00a01d
+00a04000a05a00a07d00a09700a0c400a0e800a10b00a12500a15200a17c00a1a100
+a1c100a1e600a20600a22100a23d00a25800a27400a29800a2be00a2d900a2f500a3
+a300a48300a4af00a52700a55500a61100a64500a71000a74200a77400a79d00a7c6
+00a7f400a81400a84200a86200a89000a8b000a8e800a91100a93200a95800a97900
+a99f00a9d800aa4f00aa8c00aabc00aadd00ab0300ab2e00ab3f00ab6a00ab7b00ab
+af00abd000abfb00ac0c00ac3100ac8200ac9600acbb00accf00acf400aec600afb1
+00aff500b04d00b05b00b06900b07700b08500b0cf00b0ed00b13b00b15900b17b00
+b1a300b1b100b1c200b1d000b1e100b1f200b20000b37000b39200b3a400b3b300b3
+d800b3f000b40b00b42300b44800b46a00b49100b4c200b4ff00b62e00b65400b66a
+00b71900b7cd00b8b300b93500b94d00b97300b99d00ba2500ba5300ba8600bb2700
+bb6400bb9600bcf600bd1500bd4500bd6600bd8c00be6800bf7800c03b00c11700c2
+1500c36500c38d00c3c800c3f000c41600c43200c44f00c47900c4fd00c51900c536
+00c5e100c70700c7ab00c7dc00c91200ca4800ca6a00ca8e00cab200cacf00caf000
+cb1400cb2600cb4800cb6300cb7d00cbaa00cc0800cc3900cc6000cd0400cd3300cd
+c900cf0a00cf2c00cf4e00cf7200cf8c00cfa000cfb200cfc600cfd700cfed00d004
+00d00700d00900d00c00d00e00d02200d04700d06a00d0b600d0ca00d0dd00d0f100
+d10300d11900d13100d13400d13700d13a00d13d00d15800d17100d18300d19200d1
+b100d1d300d1e500d1f400d1f600d1f900d1fb00d1fe00d20000d20300d20600d208
+00d20b00d20e00d21100d21400d22400d23400d25b00d26c00d27d00d28e00d2ac00
+d2ce00d2e800d30200d31c00d33000d35200d37400d39600d3d900d45400d51100d5
+3200d54900d55900d57700d59600d5a800d5ab00d60700d67500d68a00d6d200d6ee
+00d70200d79e00d83600d86500d89100d97300da3600dbef00dc0300ddc700ddda00
+df2a00df6700e07900e0c800e1e500e2b600e32000e35200e47400e4e500e50500e5
+2000e59c00e60e00e63a00e64f00e67100e67e00e68b00e77b00e7e400e86700e98f
+00ea1700eb1200eb8c00ebab00ebc600ec7d00ecfd00ed2700ed3a00ed6300ed6f00
+ed7b00ee2500ef1900ef1b00f05e00f14700f14900f16600f16900f18700f1b000f1
+db00f1de00f1f300f2ce00f38d00f45800f62200f7c200f8a200f9f900fb1e00fc20
+00fc9500fd1d00fdf900fe6a00fec700ff7701005f01010b01027d01031d01040d01
+04c401053401067601077b01081301098c010a8a010b4c010cc7010e35010ef0010f
+8401103a0110950111eb01123b0112a60112f901137d0113c70114f6011523011628
+0116800117bd0117ee0118900118d50119460119fb011a72011a88011abf011afa01
+1b30011b68011be0011c5d011d23011de9011e26011eea011f4a011fca011ff80120
+4201211a0121470121e10123430123900123dc01242701252d0125690125b60126b7
+0126f40127b701287b0128e00128ec0129510129b6012a35012a57012a69012a7601
+2ab3012be2012c6c012cee012d0b012d1d012e87012e95012ea4012ebb012ed1012e
+e8012eff012f19012f34012f4e012f68012f89012fa4012fc1012fe0013000013022
+01303f01305e0130870130a70130c60130e801310701312701314901316b01318f01
+31b20131d60131ff01322a0132500132730132a40132ca0132ec0133200133500133
+810133b00133c40133d40133e40133f40134070134ad0136020136c30136eb0137d1
+0138950139730139d3013a6a013aa8013ad2013b36013bb5013c83013d6e013dce01
+3e2a013ed50147b9014b80014bc1014fb201511401512f01515a0151860151aa0151
+c60151e40151fd01522a01530e01532701537d0153800153830153860154a701562e
+01563101563301566001567e0156810156970156b90156cc0156cf0156d20156d501
+56eb01571301573f0157570158b90158bc0158d90158f101591c0159330159890159
+8b0159bd0159c00159dd0159e00159fe015a26015a51015a6d015a70015a73015a88
+015aa9015ab9015abb015abd015ad1015b19015b65015bca015bde015bf2015cb101
+5d76015da7015deb015e3b015e54015e6b015e7b015fce01612a01613d0162260162
+6ff68bbdf8ecbd018bbdf824bd03bdf8f115f73efb93fb3efb9305a95e15f73ef793
+f73efb9305fb20f7c015f73ef7938bfc9205fb5cf7c015fb3ef793f7e88b05fc38fd
+1e15f888f950fc88060e0e81f70c12f78af70efb06f513a0f7c7f92615200a13c04e
+fcf415210a0ef7fff7c401f731f70ce1f70c03f75af7ff15220af7628c15220a0eff
+0099999acaf746cb01f817ff00d8999a15fb428ba3f746f7418b05bb16ea8b93cb2d
+8ba5ff00c966665b8b72ffff36999afb428ba6ff00c966665b8b71ffff36999a2c8b
+834be88b74fb462d8b05834ce88b71ffff446666ba8ba6ff00bb999af7408b72ffff
+446666bb8ba6ff00bb999aea8b92ca2c8b050e84b0f8e1ad12f71eab82d3f77fde4b
+ad13c0f7c6f81d1556a358af8bc48bc2c1c0cb8c08a2fbe015c675c56c8b378b3c5c
+61358a08f73ff8ea155392879a428f0890e6057c8b798980870887370520882f4b8b
+248b2ed45be06a928991889289087afba4053c9558b676e07e8f7f8980868f3e9073
+985ac78baa79d38708852b05978ba28c94900890e505b98cb795ae9fcaaeb2c98bca
+8bea43ba3daa7e90789175930899f78305d57da5569e53988b9a8a959288bb85a77f
+bf080e7fb2f752b2bab2f722b096b201c4c6f70fb1f0c7f70eb103f84ae115c0b1d9
+b898a5835b576d39587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0e81
+c155acf806acf750ac12b3ff00564ccdff00264ccdff0050ccccff006b4cceff004a
+3332ff00aeccceff00138000137fff00e88000f7e615ff000a333376ff004a6667fb
+08c040ffffd2666648ffffde999a67498bffffc566668bffffd7cccdae8bed088bd2
+ff000a6666c1ff005fcccdc408f733fb8815a6660513bfff002bb3344aff00226666
+89ff001cccce8bff002080008bff0029e664a7ff00156668d1fffffb3334ff000566
+66fffffb8000ff0004999afffff5cccc8bffffed666464ffffea999c7cffffe14ccc
+8bfffff119988bffffeae668ff0013e666ffffe36666ff002b199a08ffffd98000c5
+05ff0024cccec4ff0012e666abff0019199abbff002accccddff00064cccff000533
+34ff0038e668ff0003ccccff00059998918ba0fffffa666891ffffed66648affffe4
+199c8affffe066648bffffe066688bffffd9e6668cffffed66668cfffffa6668858b
+76ff000599988508ff00324ccefffffd4cccff000de666fffffab3346845fffff019
+9affffe0199affffeb6666ffffdd3333ffffde8000ffffcab333ffffd53334c95ad6
+ffffef4cccaa08fffffc4ccc9305ff004d3334bbff00366666cc8bc208ca55b8ffff
+bee666ffffa30001ffffcdcccd44501e8b659864ff002266664bffff85333341ffff
+cecccd488b3c08137ffb0eff004f199a5fff006380001eda8bff0033199ab4ff002a
+ccccca08ffff8c4cccf7cf15ffffe7cccebcfffff9ccccb18ba208cdff0021999aa8
+ff00183334ff00261998ff000b66686d5e1e8b67ffffee999857ffffc4800061080e
+f7fff7c401f798f70c03f7c1f7ff15220a0ef759ec03f759f790158b5e96ffff0be6
+66f7a8ffff59199a998d97928f935db1fb42f7298bf7908bff0102e666f743ff008e
+199ab8af869582927b8cfb3b25fb0cfb3b8bfb4e080ef7eeec03f84ff790158bb880
+ff00f41998fba8ff00a6e6687d897f848783b965f742fb298bfb908bfffefd199afb
+43ffff71e6665e67908194849b8af73bf1f70cf73b8bf74e080ef7a9f8b6156a6559
+908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe588969af08
+9d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e788da9a2b18ba608a375967979
+7779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8bb8939a8d98869889
+080e9f76f772c701f7b4cb03f7b4f86c15260a0efb38aff71af70801f7d3c503f7bc
+f70e15270a0ef76bd701f877f76b15280a0e81f71a01f783f71c03f783c415290a0e
+f87ef96b15fc2cfdccc98bf82cf9cc050e81b0f8e6b001e5eaf7a2ea03f7d6f90115
+a28ba2859b7fb66fa73a8bfb258b28884677546d325081728b08fb1587f74ee9f79e
+d6bbc91f86fd0b15e7f721dff7921f8bf66ee756ca6cb159a94a8bfb0b8bfb05fb11
+8bfb6a8bfb08b2fb00cd50ad6db57bb98b080e89b0f86b7601f7c0e003f815f71a15
+f809078bcc8ccc8d998b90898c878b50ffffdc800025ffffc98000335f8d7f947894
+84b9a0c9a59e8b089b8f72661ffbe4078b5d84747a7e7b7f5787688a85858b729185
+bc8cc68cd08bff00334ccc8bff0032b3348abd8a91918ba4859108ffffdf80008cff
+ffcc80008f7e967c9786a28bbb080e8bd1f8b9b112f70fdcf772ee6cac13f0f70ff8
+8d15749c78a39f9f9fa31e8b948990899389938c948b9408a6abb0dfb4d172231e8b
+466653474a08363c05fb05fb0079588b4b088bcd8db01ef75e06b0bf898b1f13e89a
+c497dc8cab84907d8e7f89773e7770628b08fb67068bb2aab5c2bd08f708f40513f0
+cdc6c2bf8bd908f7092db8fb011efb1444344a1f0e81b1f7caaef71876f71cb112f1
+e3f769e952f013fcf7bcf90015c7ba71461f8b555038fb0b7c089168059f8d938b9d
+8b0813fad9e07afb0efb24fb086e5b1f458b94a47d9e7f9a7b98738b087272777a60
+ef6dd3f723f713def7231f8bf70a29b54496088a8d0513fceeb5a6b78bc48bab83a6
+6ea671a3619b4c8b08fb445825677c9776a8b590aea01fd0d196af1e0e89b0f72bbe
+01f7f6df03f7f6f8b815fbcbfb7a07bee4ecf70fddee08f75afbcb15fb06f7cf068b
+c18bb38d9308898f648b05858b82828787433cfb24fb492ffb2eff00014ccdffffef
+b333ff0006b333ffffe34ccda98b08f78829068bffffcfb333ffffbcb33488ffffd5
+4cccfffffe4ccd85858b729185ab8cd18cb98bb28bd68aab8a91918ba48591ffffce
+b3348effffcd4cccff00034ccc8bff002eb33408edef0799999f98968892801f0e7f
+b0f7ebc1f72ed301f848eb03f848f7601524473f381e568b8ba779a17b9d779b728b
+08747579755ff166cff729f4eff71cf43be8fb1a1f578b5982758308a3f74805b5ff
+fff9ccccb9fffffd3334c58baf8bb48dbc8f089fd5828f0549fffff9cccc48fffffa
+33344b8b5f8b608d618e0862fbcb05cba1a88fbc8b08e5d15dfb0a1f0e7fb1f7deb1
+f780a901e1e3f7aeeb03f748f7e015b8a3be8ba38b08f71c9f2455fb0b4555505528
+aff74d1f8ba48bff0022cccc91ff001933340896b115a7ff005dccccbbf70bf769ff
+002f33348b9889978190fb8cffffe3ccccfb1affff4866688bffff3acccc08fb6ff7
+2d5fe0f731d2f71de8e84edefb371e6c8b4a82627c080ef8d0d701f3abc7df03f772
+f8d015f77a0627fb6733fb5f47fb38089383d78e05c4f74cd4f74af710f7b8087b98
+057a866e84658b08fb9406698b8d96798f888b8a8b8b88fffffa8000ffffcb800083
+44fffff98000ffffc880009688958a968ca1e1ab93ab8b080e80b3f8e0b312e3d563
+dbf77fda5ddd13d8f7d7f8fd15e2a652591f8b584fffffc8333462fffff0cccc0867
+9a05ffffb9199aff001d8000ffffe4e666ff0024999a8bff002de66608bdb3bfdc1e
+f755fb0015d945d1fb0afb0e373c381e8b4fff002c8000ffffc3199aff00418000ff
+ffe3e66608a77f0513e4ffffaccccdffffe1199affffa73333518bffffa8e66608fb
+02ea50f713f731e0f3dd1e8bcaffffe2e668ff00428000ffffbc1998ff001d800008
+36af05c2ff000e3334e6ff0037cccc8bd008fb61fc74154f32abec1f8babadff0051
+3334f0ff002fcccc08c27505ff0052ccccffffdee666ff00233334ffffd44ccd8bff
+ffbccccd08fb00287b4f1e0e7da9f780b1f7deb101e3ebf7aee303f860f7ce155e73
+588b738b08fb1c77f2c1f70bd1c1c6c1ee67fb4d1f8b728bffffdd333485ffffe6cc
+cc088065156fffffa233335bfb0bfb69ffffd0cccd8b7e8d7f9586f78cff001c3333
+f71aff00b7999a8bff00c5333308f76ffb2db736fb3144fb1d2e2ec838f7371eaa8b
+cc94b49a080ea8f71af733f71a01f790f71c03f790eb15290af7b904290a0efb38af
+f71af708f75cf71a12f790f71c59c513e8f7cff70e15270a13f04cf79f1567aa6cb0
+b0aaaaafaf6caa661e666c6c671f0ef74cf78315f7f0f72a05999d8cb27c9308fc40
+fb4c0581758b77957708f840fb4d059a938ab27d9d080ef723bdf71cbd01f89ff7dd
+152a0af836fb4e152a0a0ef85cf78015fbf0fb2a057d798a649a8308f840f74c0595
+a18b9f819f08fc40f74d057c838c649979080e81f70cf894b012f70ed7bbf70e3aac
+f708ec13ecf75af8b2152b0a13f4bbfc8015210a0e3bb3f705a67caef773a7f723ae
+12abcff7c2c4d7cf13bff813f7be158d728166847579566962738b658b87a688b288
+b891baacaf9fa1a892978b08a48b977a8d6f08b4fb47158b908ca48f9f08a9f75280
+8f5f85897905839f7197738b2d8b363693fb008e5f9d5adb8ba48bbaa1a7c3088e8a
+058678877a8c7f0813df8c7f8f6eac8b08f729baf70fe8f734fb13effb1efb3ffb1b
+fb23fb43fb51f1fb0ef74b1fdc8bc19ce5c2879288928290526c3e774e8b08fb4656
+f70bf733f74af70de9f701e9f70340fb2ffb1a5a595f7d8797921f0e89b0f756b3f7
+f87701f787f7a1152c0afb8ffb52152d0a0e89b0f7acacf77ab112f70ee8f776dc69
+e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b4f8c0b1
+01aeecf83fab03f7f68115320a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8
+a415340a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e89
+b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e81b1f766aff7d0ae12
+aeecf7e8e967ae13f8f7fbf90515370a13f4380a0e89b0f7a2b3f77db001e7e5f7a8
+e503f8b8f70e15390a0e89b0f8b3b101f7ade803f80af70e153a0a0e81b6f8b5b001
+f7d7e803f834f87b153b0a0e89b0f79ba7f790b001f700e803f75df70e153c0a0e89
+b068bdf8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e
+89b0f8b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8
+430a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470a0e89b0f773b172aaf7a9b312
+f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a0efb5bc2af
+b5f91fb301adecf80eec03f7c7f8dd15460af7bffba415f756fb11f70afb371e318b
+3c635944635272528b218bffff504ccdff0069cccdffff953333ff00871999ffffed
+6666ffffc86667ffffe18000ffffcd4ccdffffd3cccdffffde8000ffffd83333ffff
+f8e666fffff8e667fffff9e666fffff83333fffffb199afffff7800008b07805ff00
+0b6666ff00103333ff000c4ccdff000ee667ff000ccccdff000d8000ff000d199aff
+00086666ff000c66668e928be38bc730f7108bc78bb3a4b0c0087b9705767169826f
+8b378b3ed9238bfffffa80008bfffff9e666ffffff999afffff98000ffffff1999ff
+002e999aff00220001ff002e199aff00139999ff001eb332ff00089999d6ff000d99
+9aff003c3334ff0029999aff00288000ff003be666afc1a0c48be7080e967692a671
+b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e
+4f0a133e500a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e852
+0a13d4530a0e89b0f851f7205fb0129badf774e8f773ad13bcf803f70e15540a13dc
+550a13bc560a13dc570a13bc580a0e81b4f8b9ae01dbe8f7dcc003f741f88115590a
+0e9576f8e1b001f84af8d6155a0a0e9576f8e1b001f7fbf841155b0a0e89b0f8b3b0
+01f7a8e803f8a4ee155c0a0e89b0f8b3b001f7b0e803f80df70e155d0a0e8baff8ac
+b4947612c8a913d0f8bb89155e0a13b05c8b2a8f668e87588155836495889489968b
+a0cdb1abd68c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb248583
+89848b8408819087991ef80006a6ef898b1f0efb55a9f9d8a901f778d803f778fb55
+15f79a0691918b9d8591fb1e965c9a8be208f8f7078be2bb9af71d9591918b9d8591
+08fb9a060ef72aff02d76668154d8bf82cfdccc98b050efb54a9f9d8a901f7e3d803
+f830f95415fb9a0685858b799185f71e80ba7c8b3408fcf7078b345b7cfb1d818585
+8b79918508f79a060ef8fc7701f7d4f8b215f726fbd6c88bfb44f8204e8bfb46fc20
+c98b050efb2eb701f8dbfb0215fca20683838b6f938308f8a20693938ba78393080e
+ff012bccccf94215fffff9999a8dfffff333348cfffff666668bffffb4cccd8bffff
+ef999978ffffe9999a84088380ff00c66666fb0c05ff001b33347bff0011cccc85ff
+000e66668bff001133348b91908b968b8fffffff6666ff0005ccccfffffa3334ff00
+063334080e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb4015
+13ac600a1374610a0e81b3f832b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79
+ad15630a0e81c1f829b401d7e6f7bcec03f8d7f70015640a0e80bf80a6f81cb3f72c
+a9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a137e670a13be680a0e81
+bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e89b0f7fdb7f7
+70b101f75fe2f760e903f7b6f712156b0a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f823c3f72ba9a67701f706e2f789e203f75dff013ce666
+15750a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13e8f5fc98
+15770a0efb30b5f8b4acf713f70712f7e0f70438e213e8f854f74215f75a078bcf99
+9b8ba38b918492848b0813f0808b3d8570865d8337835f8888838c7a8f83eb89ff00
+50b334fffff8b334ff00094cccfffff54ccc0813e8987c8d818b7108fb6d07fb6d55
+644d1effffda80008bfffff24ccdff000b999affffe0b333ff0020e666ffffec8000
+ff00148000ffffe6999aff00028000ffffeae6667effffec80007ffffff93333ffff
+d5cccdff00234ccdffffeab333ff001a80007bc286bb8b08f707edbef7ab1f13f0fb
+08f87015760a0e89b0f82eb0f733a9a67701f70de203f70df71815780a0e89b0f8ef
+aca67701ff011e8000e203ff011e8000f71515790a0e89b0f824c255a712cfddf71c
+ddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f825a771bf12f708e2f784e2
+13d8f768f819157c0a13b87d0a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785
+f76f157f0a0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72
+b215810a13ec820a13dcff00888000ffffb8999aff005a8000ffff7566661effffb3
+999a8bffffd1e666ffffdb8000ffffd48000ffffc78000fffffce66687fffffa199a
+8b8b93080efb7eb0f74fbef829b701c7e7f7b9e203ff01a18000f82915a172ff0005
+8000758b7008fb6807ffffd0cccdffffa88000ffffe13333ffffce8000ffffc3e666
+ffffa0199ab8f73cf708b6d7f51eae8bff003980007da37008ff001b8000fc94158b
+388186398985858b729185b58cb48cc08bff002ce6688bff001b19988ab68a91918b
+a485914e8e808f8bde08f877078bff002cb33498ae95ff00164ccc88ff00084cccff
+fff4b334ff00056668fffff94cccff00024cccfffff44ccc877efffff2b334827e7d
+77fffff2b334fffffb4ccc7e9468a2449e5a8b08fb2123ffff9f8000ffff5e8000fb
+18d6fb02f7251fff003f80008bff00344cccff00176666ff00133334ff000a999aff
+00188000ff000d8000ff00058000ff000180008b76080e89b0ff018c8000ff003a80
+0055a712f76ae213b0f7c1f82a15830a13d0840a0e81b08676f858b012e3b671d6f7
+b7dd42af1374e3f72415850a13ac860a13aa870a13b4880a0e81c6f7efb701f750e2
+03e4f84c15890a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f680008115
+8a0a13788b0a13b88c0a0e9476f85db001f83cf851158d0a0e9476f85db001ff0166
+8000f7f915ffffcd80008343fb4005ffffef8000ffffd8b333fffffd4ccdffffff80
+00fffff61999ff0025cccd0855f763057dff0035b334ff000c199aff00064cccbb8e
+91918ba48591ffffde4ccd8affffddb3338a678b658b6e8c768c85858b729185ad86
+ff00043333fffffd199aff000ee667ffffc8e66608ff0064e666fc0a05ff0003999a
+fffff13333ff00096666fffffacccd958b948bff00063333ff0005e666ff0006cccd
+ff0010199a08f6f790ff0004b33485ff00684cccfb8c05ff0005e6667dff0007199a
+85958b948bff0009199aff00054ccdff0003e666ff000fb33308ff00649998f80405
+ff000c999cb9ff0006cccc9cb99091918ba48591fffff04ccc8affffedb3348a678b
+658b698c6b8c85858b729185d687ff00004cccffffe8999afffff64cccffffdb6666
+08ffffc06668fb8305fffff9b334ffffe84ccdfffffce666fffff9cccdfffff63332
+ff0019e666080e89b0f82eb001f775f82d158e0a0efb7cdbf8e9b001f7a6fb34158f
+0a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0a3ff00408000bcff0021b3
+34bfff0000cccc08f75c8e052cffff8e8000ffff7a4ccdffff7c4ccdffffa7e666ff
+ff936666ffffeb8000ffffe6cccdfffff0cccdfffff18000ffffe78000fffff18000
+89fffff2cccd8ffffff1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3
+348aafcb98b396ff0034800085ff000680007e907bff00018000086affffc6800005
+ffffe5199affffd1333364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73c
+ff00b9e666f0ff00768000ff00133334ff00168000ff0008ccccff000e80008b8f8b
+8f868e848b868b65896e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f08
+0efb68a3f83ba3f83ca301f7fcf8bc1586ff0066e668f71dff00111998b19691918b
+978591318bfb30638ffb050891fb4c058b595f55418482828c849383ff0049800082
+ff002e80005f894e0885fb3e0586fb16f7266af08b91918b9785915f8bffff7d8000
+bdff00048000df0893f72905ff00046666ff00524ccdffffc26666ff00278000ffff
+bc3334ff001c3333088f07ff00433334ff00133334ff003e1998ff001cccccfffffb
+b334e4080efb6776fa367701f7beb703f7eafb7c15fa365ffe36070efb69a3f83ca3
+f83ba312f7a4d549d313e8f7ac511590ffff99199afb1dffffeee666658085858b7f
+9185e58bf730b387f7050813f085f74c058bbdb7c1d59294948a928393ffffb68000
+94ffffd18000b78dc80813e891f73e0590f716fb26ac268b85858b7f9185b78bff00
+82800059fffffb8000370813f083fb2905fffffb999affffadb334ff003d999affff
+d88000ff0043ccccffffe3cccc088707ffffbcccccffffeccccdffffc1e668ffffe3
+3333ff00044ccc32080ef78ece9dce01f8a4a203e3f79815a38805a2b7bfadb18bad
+8baa7fa76fa86dae7cab8ba58bdda6a8f60874910575595a746c8b6c8b699a6ba66b
+a6789b648b498b413e804a080e0ef804f70c12f783f70efb06f513a0f7c0fb4815a3
+a89ec11f8bd17dae82e383d985e589a08a918892818b818b88828a80897d8b4f7efb
+0081357d618b4a0855a878a31e13c0c8f8f415910a0eff003eccccbeff017f6668ff
+0026e664ff0054e6687701ff00564ccdff00568000ff00813333b9ff006a3334ff00
+5c333403f7c2f90115ffffab199807ffff87e666fffff1ccd0ffffa06667ffff9e66
+648bffff7d33348bffff87e666ff004d4ccdffff9e8000ff008a6666fffff3e66608
+ffffa93333b9ff0055cccd07ff003fe666ff0002999aff0049e666ff0014199aff00
+4eb334ff00593333fffffc3334ff00098000fffff2b334ff000d4ccdfffff580008c
+ffffc41998ffffc23333ffffb6ccccffffe9199affffcf80008bfffffd80008bffff
+fd999aff00001999fffffd999aff0000199a08ff017f999a07ff0038999afffff8e6
+66ff002bb332ffffdd199aff0005e668ffffd4ccccff0003e666ffffe3999aff0014
+ccccffffeeb334ff0016ccce8bff001c80008bff00103334ff001280008bff0023b3
+328bff00144ccefffff44cccff00169998ffffea66649dffffdae668ff001ee668ff
+ffc0999aff0015b334ffffbf6666ff0003199808ff00538000075dfffe0cb33415ff
+ffb24ccdff0017e666ffffcc8000d78bff005eb3328bff00656668ff002f6666ff00
+443332ff0051cccdff000b4cce080e7fd090b8f767b7f793b401f75be603eff7d215
+ee77068b2a81412b5d6e7b6f708b778b7aa07e9f8ba28bfffffe999aff0012199aff
+000f6666ff0017e6669499ad9db08bf70c8b9c41eb8b08d08bc4c6a5c28792818f82
+8c6f6559786b8b418b6dbdfb188bafadb6bd8cf71308f71c06979990941fa2078f87
+8e861efb2df006f705bbb4d41ea28ba575997e987f94839b8b08a59d9ba6b13b9a72
+1f418b587f646cffffbf3333ffffcc8000ffffe8cccdffffc080008b30085c3b0778
+857d821f7d07868c89901e0ef6bbf7bfba01f70ad0f79acf03f74ff7c515dbc1d0da
+d0c749373b57463c3b58cfdd1ef717fb5a15b98bb598b0a708be53b3b551bc05a6ae
+99b48bb88bba7db46fad08c9bd5fb9574d0567a762985d8b5f8b637f66700858c462
+5fc55c056e697b618b5b8b5d9b61a868084e5bb95dbbc705af70b47eb88b080e89b0
+eeb4ceb5f7dab001f7b0e803f72cf78615f71848fb050678867e831f7e07868c898f
+1ef71883068b387a863b8885858b729185bc8cff0026cccc8cff003833348bff0037
+cccc8bff002533348abd8a91918ba485913b8e7a908bde0893f7100796998f951fa0
+078f888d861efb21cef7100696998f951fa1078f888d861effff73b33406ff00014c
+ccff00104cccff0003ccccff000e4cceff000bb334ff0013666608ff00818000f76c
+05ff001d3334ff0030ccccff00111998ff0006e668ff002cb334ff00044ccc91918b
+a485916d8a6d8a748b748b6f8c638c85858b729185ff002c4ccc88ff00113334ffff
+f96668ffffe94cccffffd8999808ffff873334fb6505fffff76666fffff1199affff
+fc6666ff00014cccfffff66668ff000f999a08ffff81ffffff00cccccc05ffffe6e6
+66ff0028b334ff0004e666ff00078000c38e91918ba48591638a698a638b648b6a8c
+6d8c85858c729185b588ff000b999afffffc8000ff00241999ffffc7800008ff008d
+4ccdfb710596ffffeeccccff00056666fffff5199aff00028000fffff2199a08ffff
+91199a0678867e831f7c07868c8a8f1e0eff01278000bc03ff01588000f936155afb
+febc06fb2b045afbfebc060efb40aaf994aa12f720c173d058d8f70fd858d073c113
+e2ff00d6cccdff019f199a15ffffd3999affffdc199affffe1999affffd033328bff
+ffbf999a8bfb0ff55fd862cc68a5668b5c8b5d69685c8b0813ca608b7ca881b1869e
+81a1718b0870827a7664b54decf2c0cdcd1f8bb5fffff6199aff0021999affffdd19
+9aff00234ccc0813d1ff002c6666ff0023e667ff001e6666ff002dcccd8bff004266
+668bf70f21b73eb44aae71b08bba8bb9adaeba8b0813d4b68b9a6e956590789575a5
+8b08a6949ca0b261c92a245649491f8b61ff0009e666ffffde6666ff0022e667ffff
+dcb33408ff00ca3333fbd915ffffec8000ff00100002ffffe7199aff0010b333ffff
+e06666ff001233330813e143b540b38be78bff00226666ff00106666ff00173334ff
+0019b334ff00173332ff001380007bff0018e666ffffef6668ff001f8000ffffedcc
+ccd361d6638b2f8bffffe0999affffee199affffe3e666ffffe7e666ffffea999a08
+0ef8d5ea01f751e9d6e903f751f90415920af73d16920a0ea2abeca8f791a2efaa01
+b0aaeccef7469ff721aa03f84bf76c15fffffc8000ff00068000fffffa4cccff0005
+cccdfffff63334ff0002b333807b6f69588b085361c4d4edbaa4b31fc48b9c6a9c5d
+938b928c908e8ca38bff001780008aff00238000778d7a98458b5b8bffffd2e666ff
+ffecccccffffe3199affffdfb33473ffffe5199a7fffffdb999a8bffffd9cccc088b
+ffffd36666ff00136666ffffd44ccdff0022999affffe34ccdff001ab333ffffe9e6
+66ff00249999fffff3199aff0026b3348bc28bb6ac9faa08fb0bfb5515930af8aa04
+940a0ef7f3adf77da501f75ac5f70cc603f80cf88a15950abafb2b15960a0ef74ef7
+8915b7bab7c1c7e288967e957f8c2d2c51544a55087f07cc55c554e92c978c98958e
+964fe25fc15fba08f76816b7bab9c1c7e288967d957f8c2d2c51544a55087f07cc55
+c554e92c978c99958e964fe25dc15fba080ef7d7b701f887c103f887ee159e82ff00
+126668ff0002999aff00109998ff0006666608f7a0fc9507fffff94ccc798efffff2
+ccccff0003b334fffff3333408f85f060ef76bd701f877f76b15280a0ea2abf704a3
+eca3f701a3f704aa01b0aaf73fbae5c1f721aa03f80cf806155d797f6d1e61d6069d
+9a9ba4ad9b7a691efb05d4157b8b6d8c798c87878b7b8f87ab8893858b6b08fb2807
+8b6b83856b8887878b7b8f879d8ca98c9b8b9b8ba88a9d8a8f8f8b9b878f6b8e8391
+8bab08c307908ba78a8f8808bb3b059c6ea3829f8b978b978d97908c918a92878f7b
+887bff0008333380ff0012cccd085bdd05aa95a5a48bb28ba977b8408b778b67897b
+8b08c4fc3815930af8aa04940a0ef8a5b701c6f7ac03f7cff8a51598969d97918793
+811ffb88067f817a7f848e83941f0ef81dbbf73dbb01f750c0f731c003f822f8a015
+970afb668c15980a0eabc7f7bac701f7b4cb03f8cfe715990afbaff8b515260a0ef8
+00abf79aa912f725ff00394ccdff006bb333cc82a313f0ff00abb333ff0248b33415
+ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff0007e668fffffae666ff
+000cccccff00038000ff00084ccc90979794aa8b9d8bb5848b5c8b5dffffde80006c
+ffffcfcccd685affffdc6666ffffc5b333ffffd3999a8b5b08f78e0613e89a0a13f0
+806ffffff04ccc64ffffe2b3348b08fb0506ff0002b333acff0021cccda4ff0029cc
+ccff001e4cccff00354cceff0026b334ff002e6666af8bb908cb449e593c6dffffce
+b334ffffe34ccc1efffff1b334ff000eb33380971e0ef7faa9f719a6f702a912ff00
+7d3333ff0036cccd5cbdf702c66ac913e4f7b9f901159b0a13f29c0a13ec9d0a0eff
+011e3334f94215ff000666668dff000ccccc8cff0009999a8bff004b33348bff0010
+666678ff0016666684089380ffff39999afb0c05ffffe4cccc7bffffee333483ffff
+f199998bfffff3cccd8b828f8b948bff00068000ff0002cccd93ff00049999ff0005
+8000080efb6976f774b812dbef2eda45bdf78ada13d4f81adb158d068e519b6bc88b
+08bfafb390928393871f858b887b718b08628ab4b91ff7d20771886f84728b08fbc2
+07746a4050548b08537abdc91ff75807ab88cb8b1e6d886a84738b088b963c6f1ffb
+500713cc8b5194588b6a0813e48b4c7b5c8b580862b3739ca39e9eb41e13cc8bb669
+d18bcc8b90928f918b977ea581a68b08cb8bcab9b2b7080efb7cacf9bfac01f7d1bd
+dcbd03f803f8d215a69c96a2a29d846c1efd73076c798474747a96a61eb4f9ba1570
+8b508d408b08fb1851343cfb1add4af7261f9a8b938c948d08fc52078b6ffffff399
+9afffff5199affffd66666fffffce6660870890587ffffffb33388fffffd4ccd8b86
+088b788d8905bc8dc68bd08bd08bff003c80008bff002f800089088d8d8b9e058b90
+87ff0002b33387ff00004ccd08718d05ffffd84cccff0003199afffff0b334ff0008
+e6668ba908f973078ba9ff000f4cccff0008e668ff0027b334ff0003199808a58d05
+8fff00004ccc8fff0002b3348b90088b9e898d05ffffd0800089ffffc380008b468b
+080ef760f70001d2f70003f711f760159e0a0efb5ca8d6abcb7701f744c903f7232b
+159f0a0ef800a801f779c103f76bf90015978d826b1ffb16078b586c88638986838c
+7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8b
+be08f78307fffffab33490fffff89998fffffde668fffffab334fffffd19985f7071
+7f5c7a8b7fff0002199afffff71998ff0007e666fffff9e668a4949e91988b080ef7
+c3a5f767a501b2c5f730c503b2f8411544c654d5e9b8ceccd05ec9343555533a1ef7
+18f70315bdab623b436079704f71c8bcc1a3babd1f0ef85af784155f5c5f554f348e
+809881978ae9eac5c2ccc10897074ac151c22dea7f8a7e818880c734b755b75c08fb
+68165f5c5d554f348e809981978ae9eac5c2ccc10897074ac151c22dea7f8a7d8188
+80c734b955b75c080e3aa8d1adf79ba801f71cc1ff012a8000ff0034199803f8a6f8
+ed15a00afc567515a10aff016e8000fffe84b33415a20affff3a4ccd048b627e8863
+8986838c7c8f85a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba9
+8a8f928b998793698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8b
+f74805ff0008e666fffff38000ff0001199afffff9b3341efffffcb3348bfffff6b3
+34ffffff8000fffffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4
+cccd82fffff58000ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333
+fffffc999afffffa8000fffffccccc86fffffd199afffff9b333fffffd666683ffff
+fae668ffffebcccdff001a99988b08ff0076b334060e3cabf79aa9d1a812f714c1f7
+5dff00394cccff006bb334cc82a313f8f8a6f8ed15a00afc5e7515a10aff0127b334
+fffe52b3341595ffffffffffff00119998ff00054ccd8e9dff00014cceff0007e666
+fffffae666ff000ccccdff00038000ff00084ccd90979794aa8b0813fc9db5845c1f
+8b5dffffde80006cffffcfcccc685affffdc6666ffffc5b334ffffd3999a8b5b08f7
+8e0613faff00088000ff001ab334ff00063334ff001f9999ff00044cccff0023b333
+fffffab334ff0003b33383ff0001999afffff54cccffffffb3330813fc806ffffff0
+4ccc64ffffe2b3348b08fb0506ff0002b334acff0021cccca4ff0029ccccff001e4c
+ccff00354cccff0026b334ff002e6668af8bb908cb449e593c6dffffceb333ffffe3
+4ccdfffff1b333ff000eb33480971e0e3ca8d1adf791a9f719a6f702a912ff002133
+33ff0036ccccffffd10001bdf702c66ac9ff00ad8000ff0034199813f840f89ef8ed
+15a00affff9a8000fffe70b33415a20affff3a4ccd048b627e88638986838c7c8f85
+a98cff000cb3348bff00234ccc8bff001d99988bff001266688ba98a8f928b998793
+698dffffef19988e8bb408a3ff0031e6680791adffffc819988b8bf74805ff0008e6
+66fffff38002ff0001199afffff9b3321efffffcb3348bfffff6b334ffffff8000ff
+fffee666ffffff4ccdfffff0b332fffff6e666fffff4999afffff4cccd82fffff580
+00ffffdce66662ffffd44cceffffcbcccdffffdeccccffffca3333fffffc999affff
+fa8000fffffccccc86fffffd199afffff9b333fffffd666683fffffae668ffffebcc
+cdff001a99988b08ff0076b3340613f940fffefa8000f8ba15a30a13fcc09c0a13fb
+409d0a0efb47b0f894f70c12f1eccff70e41ace4d713ecf8494d156d5e593d3d66cb
+d51e8bba99aac2b0d7be8fbf8bb608b20792858e81818488841e66078b7387827b72
+807a757a6e7b546d3f598b3c8b29d042f70e8bcb8bc7a5aea4afa3a4af8bb108ae6d
+9d7874787f741e8b7e8e8590860890868d858b7c0813f45bf88015910a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af71ff97715a40a0e89b0f756
+b3f7f877f7067601f787f7a1152c0afb8ffb52152d0af7a4f97915a50a0e89b0f756
+b3f7f877f57601f787f7a1152c0afb8ffb52152d0af75ef96d15a60a0e89b0f756b3
+f7f877cbc089c212f852a613f4f823f96615a70a13eca80a13f4a90afb30fc59152c
+0afb8ffb52152d0a0e89b0f756b3f7f877c0eb01f72debf721eb03f72df95615aa0a
+f78116aa0afb27fc49152c0afb8ffb52152d0a0e89b0f756b3f7f1abf5ab01f77cb3
+ebb303f7d4f98815ab0a3356155db564b91eff000a999a8bff000a33328dff000980
+00ff00038000ffffefcccefffff76668ffffe03332fffff71998fffff3b3348b08fb
+59fc8d05745178865f8885858b729185a78cff00224ccd8cff001ab3338bb28bb58a
+b08a91918ba48591658d5fff00034ccc98ff0026b33408b8f71a059099918da38b08
+f74e8bc6fb3105966f60855b8885858b729185b08cc28cb28bb48bff00214ccc8aff
+001db3348a91918ba48591648e828d79b908ffff323334ff021a999805ff001fe666
+ff000d3334ff0016e666ff001f199c8bff0022199808ba61b15d5d61645d1e96fc46
+152c0a0e89b068b6f766b09caff77ab312f7c9dff704acb2ac7dae133e00f746f7b6
+15cff78d0597b7be838b5e08fb8407fb420413be808bffffb44ccc84fffffdb33445
+8885858b72918508137e80ff002ab3348cb68cff00224ccc8b08f7060613be80bbdb
+898b1f99bb9aca93bb81917f8d7e8808137f00774768583f8b086706757d9aa51ff7
+73a007e08b8e758e609185a08b9191fffffeb334ff00204cccffffff4cccab8bff00
+13b3348bff00134ccc8cff0022b3348ca78591768b85858857887e368b0876f75006
+a2979ea31eae06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a8883
+8a738b08218bfb488b058b8b4a8c598c85858b729185d188fffffd6666ffffecb334
+fffff7999affffe04ccc08fb04fc390513be80ffffefcccdffffc2199afffff23333
+fffffce6665f8885858b72918508137e80a48cff001be6668cff001a199a8b0813be
+80ff001bb3338bac8aff001b4ccd8a91918ba48591658d758e95b408b7f740f7218b
+050efb5ca8d6abff00363333ff0028ccccf8c0b101aeecf78ac9f70bab03f7ed2b15
+ac0a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7f7eb15350a3df8
+6e15a40a0e8bb2f7a0aff77ab3f57601f70ee8f75bace4ac91ae03f7d7f7eb15350a
+a6f87115a50a0e8bb2f7a0aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15
+350a83f86515a60a0e8bb2f7a0aff77ab3ebeb12f70ee85debe8eb63ace4ac91ae13
+f2c0f7faf98915ad0a13f4c0fb5116ad0af72efc321513f9c0350a0e89b0f8b3b1f1
+7601f7ade803f80af70e153a0afb07f94b15a40a0e89b0f8b3b1f17601f7ade803f8
+0af70e153a0a73f94d15a50a0e89b0f8b3b1ea7601f7ade803f80af70e153a0a64f9
+4215a60a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f478f90f
+15ad0afb5116aa0a0e89b0f790b2f790b101e4e8f7d2ec03f74ae015f75eec079794
+9a96908893821f21f76006acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61
+f8a415ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffb394d0782
+817c81858e83931fd1fb39063c81834f1e85858b729185b98cff001c66668cff002f
+999a8bad8bc389e18b08f70af736c8f77ef770fb0bf2fb441f548b4488678b080e96
+7693b0f8b3b0c1c089c212e7bcf7b1a6bfbc1337f80ff96615a70a132fa80a1337a9
+0af712fb8515fbc207798680851e888b7c9b72af08fbbaf82ffb178d0586858b7290
+85b288a16a907208fc150713678b3681864c8486858b729085ff00224ccc8cff0028
+b3348ca48bff00144ccd8bff002b66668aff00244ccd8a90918ba486914c927c8f8b
+e108f7b107ab8b9a921e908b94829c7408f7c5fc370513a7ff000e199affffec999a
+ff000fe666fffffc6666998b089898979d1ff861078be09190ca9290918ba4869167
+8affffdbb3348affffeb4ccc8bffffea4ccc8bffffd166688cffffd84ccc8c86858b
+729085ca849f878b35080e81b3f8bfb3ea7601adecf80eec03f7c7f8dd15460af7bf
+fba415470afbc2f88e15af0a0e81b3f8bfb3e97601adecf80eec03f7c7f8dd15460a
+f7bffba415470afb6ff88f15a50a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15
+460af7bffba415470afba2f88315a60a0e81b3f8bfb3b7c089c212adecf7bba6c3ec
+13eef80ff96615a70a13dea80a13eea90a43fb1d15460af7bffba415470a0e81b3f8
+bfb3aceb12adec4bebf7cfeb4aec13e8cef95615ad0a13e4f82f16ad0afb3ffb0d15
+13f2460af7bffba415470a0ef72df7cf01f737f7cf03f7f7f7ca15f70ff70f68aefb
+0efb0ffb0ef70f6768f70ffb0ffb0ffb0eaf68f70ef70ef70efb0eaeae050e81b3f8
+bfb301adecf80eec03cf7f15ff003c999aff0047199a05ff00328000ffffd2ccccff
+00429999ffffe8199aff00484ccd8bf08bdbb9bdd5afc1a0c48be78bff005b6666ff
+ffe43334ff004a8000ffffd19998ff00354cce08ff00373334ff0040cccc0589997c
+99788b08ffffcbe6664e05ffffcf199aff00279998ffffc16666ff00156668ffffba
+999a8b318b3c635944635272528b218bffffad3333ff00178000ffffbc8000b2ffff
+cdcccd08ffffbf8000ffffb48000058e7d997b9e8b08f783f8e915ff0039b3348bff
+00329998ffffe59998ff00243334ffffce199c08fffeda999afffea8cccc05ffffee
+e666ff0028999a81bc8bff0037e6668bf752ebdfdb8b08ff00a8e666ffff89b33415
+a0ffffd28000ff000c199a518bffffbacccc8bfb384227278bffffc4b3348bffffc7
+7fffff00208000ffffd96667ff003acccd080e81b4f8b9aef37601dbe8f7dcc003f7
+41f88115590af2f8c615a40a0e81b4f8b9aef27601dbe8f7dcc003f741f88115590a
+f77cf8c715a50a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af757f8bc15
+a60a0e81b4f8b7b0b8e901e4e0c5e9bde9b2bc03f7ce8115f751c2f70df73d1ff76b
+078bda988cc88e91918ba485916d8a5f8a748b748bffffee199a8dffffe5e6668b78
+8b88709a81ae84987e8b4c08fb7c072177fb12fb2d1e5b8b6b9d6ea756bd8bce8bc9
+08f783078bc79b9daa90948d8cae7d8b728a788a628b648b5f8c668c85858b729185
+c7889c8a8b3c08fba307fb56f71c63e41e39f96115b00af72416b00a0e89b0f8b3b0
+f37601f7b0e803f80df70e155d0aa2f94e15a50a0e89aaf705ab74a7f7a8b170aae1
+ab12f71ee0f795e81397f773f85b1513cfa091da909e8b08c6da71fb06fb0f376e43
+1f13b7658b558d828e084c04ae0713cf9a86c387ae8b08f746cdf705d2ce5ef3fb4d
+1f1397788b4a8967890813af8f078bda9c8fd18e91918b9f85915a8a6d8a588b598b
+6e8c598c85858b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8c
+a98cbe8bbd8ba88abd8a91918b9e8591458e7a908bda080e81b06eb0f82cb0f749b0
+12f70fe3e4becde676e8137ef70ff712158b387f86528885858b729185b58ca98cb9
+8bff0021e6668bff000a199a8ab68a91918ba4859167907f8e8bde08f7da07f700ab
+f0f3c09c6a551e8bffffc780006effffc880004760087e0713bddf4bde2e8b2e0830
+56656d746dff00013333ff0018cccd1e8b9793948b9c089f8395777b7c787b5f9f57
+dfe7dfd9f41e8bf708fb0aff0050333439ff0031cccc088d07137eff00478000ff00
+2c8000ff00388000ff004380008bc108bb5bca233cfb2e5dfb3986fffff4199a89ff
+ffdbe6661e7e8b836c918508be06948e87831f0e81c353b8f833b312cbee4fe9f76f
+e01374f832f78e155f0af705fb401513ac600a1374610a26f93615b10a0e81c353b8
+f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a53
+f93615b20a0e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15
+b40a1374b50af705fb401513ac600a1374610a0e81c353b8f833b3eec089c212cbee
+4fe9f76fe03da6133080f80cf91615a70a132880a80a133080a90ab1fc1c15b40a13
+6400b50af705fb401513a300600a136500610a0e81c353b8f833b3f6ea12cbee4fe9
+74e9e0e96ce0133200f742f91815b60a133100f74716b60ac8fc1e15b40a137800b5
+0af705fb401513b480600a137880610a0e81c353b8f833b3c6abf5ab12cbee4fe99a
+b3ebb3a7e0137dc0f832f78e155f0af705fb401513bbc0600a137dc0610a23f90c15
+ab0a335615b70a0e81c155baf760acf747b012a4de51d8f732d8f739e0137bf792f8
+4015a17093648c333984ffffbcb333fffff8e666ffffd84ccdffffe2199affffd233
+33ffffdd8000ffffe6cccdffffdc80008b5e8b5da766ac75a07db685ad8bae8bb69c
+b7bf089699ff0005b334ff00053333ff00064cccfffff4cccd0813b7a262ae67d68b
+ca8bc7b7a7c788918395838c6f64646f588b448b60ef8beff7648eb5be8bdc08b16b
+d4fb001e558b596f6c5968d6478e748b083d385b4a75946fa8a3a09d9d1f8b938a93
+898f898e8a948b968babb09ab08b089f8b9e83997a08aafb4f158b538a6687760813
+7b7d5e625e6d8b568b69ae8bbb8ba49ca4a29fa8a4b59fcd9108d9af1593eaaedccc
+8bb98b955c8b6d8b57785efb2589080efb5ca8d6abc1c1f829b401d7e6f735c9d4ec
+03f8d7f70015b80a0e81bdf76bb4f72eb301d9ebf7bfef03f7c3f96d15b10afb56fb
+c715690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7f0f96d15b20afb
+3dfc4515690aedfb53156a0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0a0e81bdf76bb4f72eb3f6ea12d9eba9e9e0e987ef
+13fcf760f91815b60a13fef74716b60afb60fbf015a2f70cdaadcb8b0813fdb90aed
+fb53156a0a0e89b0f81fac01f7b9e203f810f71a15ba0a3ef8e715b10a0e89b0f81f
+ac01f7b9e203f7f0f96d15b20aabfce715ba0a0e89b0f81fac01f7b9e203f7e5f966
+15b30ab6fce015ba0a0e89b0f81facf71aea12f760e986e28ee913f4f760f91815b6
+0af74716920a13ec88fc9215770a0e81b3f839b2f74fa001cfeaf7c0e803f85df94f
+15ffffa5b334ffffca800005ffffddccccff0013cccc5fff0012999cffffc68000ff
+000e1998087b7605ff002c3334ffffedb334ff0021e666ffffec4cccff001ae666ff
+ffeacccc08ffffac4ccdffffce6668ff001fffff75ff004f199aff002f199805ff00
+228000ffffdce668ff00143334ffffd8e664ff0011e666ffffd3e6686f96658f6e8b
+0830fb3a4bfb55fb08effb13f71ef710f712e2f7501f8bf7375aff005a33344eff00
+40ccccfffff3cccc98fffff0ccceff000e1998ffffecb332ff000e199c08ff0058b3
+34ff0034cccc05fb37fd1b153c38eaf713e0bbf706f7041fbb8bbb76a56b985b905a
+8b5808fb493564571e0e89b0f825a771bfeec089c212f708e2f782a672e21396f81e
+f91615a70a138ea80a1396a90afb4afb9115bb0a13c5bc0a13a5bd0a0e81b4f836b4
+01c7ebf7dceb03f7c3f96d15b10afbcdfc09157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7f0f96d15b20afbb4fc87157e0af785f76f157f0a0e81b4f836b4
+01c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b4f836b4
+eec089c212c7ebf7b1a69beb13eef81ef91615a70a13dea80a13eea90afbe2fc3015
+7e0af785f76f157f0a0e81b4f836b4f6ea01c7ebb1e9e0e99ceb03f756f91815920a
+f74716920afbcdfc32157e0af785f76f157f0a0eff003e999aff00704cccff002e19
+9ac7ff003b999aff00704ccc01ff01164cccf70603f8cff7ad15990afffedb4cccff
+ff5dcccd15ffffe1cccea571aaaaa5a5ff001e3333ff001e333371ff0019e6666c6c
+71ffffe6199affffe1cccd1ef7aa04ffffe1cccea571aaaaa5a5ff001e3332ff001e
+333471ff0019e6666c6c71ffffe6199affffe1cccc1e0e81b4f836b401c7ebf7dceb
+03f893f88c15ffffd5b334ffffcccccc05ffffda1998ff0017199affffcf4cceff00
+0e199affffc2e6668b3a8b496d5e5b5f5b724b8b458bffffc0e666ff0019cccdffff
+bd3334ff0034b333ffffd0e66608ffffd2800054058d7a937f9d8b08ff00318000ff
+003c199a05ff0026e666ffffe7ccccff00316666fffff1199aff003c33348bda8bc7
+a4b5b0c3bca3d28bcf8bceffffe86668ff0048e666ffffc7ccccff0031b33408ff00
+27ccccff003066660587998597788b08fb665415be8bff002a199affffef8000ff00
+1eccccffffdf333408ffff163334fbaf05ffffe6e666ff002bcccc81ff0034b3338b
+ff0029cccd8beeff001ce666eaff0074199a8b08ff0093b334ffffae199a15ff0016
+e66663ff000c6666ffffc94ccc8bffffba999a8bfb23376e4c8bffffc9e6668bffff
+d84ccdff00154cccffffe3e667ff001f199a080e81ba84a6f818b012ff006f8000e2
+f784e21338f7c3f96d15b10a13b8ffff818000fcf9158a0a13788b0a13b88c0a0e81
+ba84a6f818b012ff006f8000e2f784e21338f7f0f96d15be0a13b8ffff9a8000fd77
+158a0a13788b0a13b88c0a0e81ba84a6f818b012ff006f8000e2f784e21338f7e5f9
+6615b30a13b8ffffa58000fd70158a0a13788b0a13b88c0a0e81ba84a6f818b0f707
+ea12ff006f8000e2ffffea8000e9e0e9fffff48000e21334f745f91815b60a1332f7
+4716b60a13b9ffff928000fd22158a0a13798b0a13b98c0a0efb7cdbf8e9b001f7f0
+f96d15b20a41fe0d158f0a0efb7eacf753b1f82fbef72ba9a67701f706daf79eea03
+f753f7d615d9e8b2b01ea78ba8819c7abb5b9b4b8b488b2a5ffb00fb0a8b7b8b638c
+6ca67e9785928bae083ef85515fd31078b3880864e8885858b769185b58cff001a4c
+cd8cff002bb3338bff002f33338bff001ecccd8ab68a91918ba08591448f80ff0003
+999a8bff0053666608ef078baa947f9786a282af86a98bc68bcaa1b6b6bdbdafcf8b
+e58bf7092af702fb008b528b576d6f6e087a7a898a8ba408f72507ff004180008fff
+002780008b1e92878e821e7281407d638889838d7b9185bf8897908b37080efb7cdb
+f8e9b0f707ea01f760e9e0e903f760f91815920af74716920afb01fdb8158f0a0e89
+b0f756b3f7f877eebd01f846f95415bf0aacfc47152c0afb8ffb52152d0a0e81c353
+b8f833b3ebbd12cbee4fe9f76fe01332f83ef8de15bf0af768fbe415b40a137ab50a
+f705fb401513b6600a137a610a0e89b0f756b3f7f877e1bf01f74aa7f76ca703f787
+f7a1152c0afb8ffb52152d0af7c9f96915c00a0e81c353b8f833b3e5c412cbee4fe9
+75a6f76ae038a6133280f75ef96b15c10af768fc7115b40a137800b50af705fb4015
+13b500600a137900610a0efb5cb1f734b0f756b3f7f87701f813c903f8d9fb1b1587
+92858f828b75757b7b6e8b08667ea0a5b9bcced21ffffffeb334ff0001999a05ff00
+169998ffffff99999fffffff6667ff0012b334ffffff666691918ba48591648e828d
+79b908fb62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78c
+ff00224ccd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff
+0026b33408b8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b7291
+85ff0018e666ff0000b333acff0000999aff001eccceff00006666ffffc3cccc70ff
+ffdc8000ffffc6b3338bffffd6999a8b55b177bd8bb48bb39fa8b808fbe6f828152c
+0a0efb55b1f725b8f833b312cbee4fe9f76fe039c913f0f832f78e155f0af705fb40
+1590ffffde199a976cff0044b334ffffffe6660813e2ffffd3e666ffffdd4ccdffff
+e26666ffffdbcccd8bffffd9e6668b55b177bd8bb48bb39fa8b88792858f828b7575
+7b7b6e8b668b7ea08ba5088bff00273333ff0018b334ff001d0001ff002d9998ff00
+274cccff0026e668ff000d8000ff0014cccca38b938b938096858b838b8779708b59
+8bfffff2ccccb8ff00023334bd0813ec92f73505ff0009ccccff009d8000ffff9c33
+34ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e8a928b
+9708aec897bcc1c26ffb0e1e8b838486888a08fb16750513f2610a0e81b4f8c0b1e8
+7601aeecf83fab03f7f68115320ab1f9d115a50a0e81c1f829b401d7e6f7bcec03f7
+f0f96d15b20af77bfd0115640a0e81b4f8c0b1e27601aeecf83fab03f7f68115320a
+a1f9c715a60a0e81c1f829b401d7e6f7bcec03f7e5f96615b30af786fcfa15640a0e
+81b4f8c0b1d7f301aeecf740f3f72bab03f7c4f98515c20abdfd8f15320a0e81c1f8
+29b4eff70701d7e6f0f704deec03f7a0f91e15c30af7cbfcb215640a0e81b4f8c0b1
+e87601aeecf83fab03f7f68115320a76f95715c40a0e81c1f829b401d7e6f7bcec03
+f7bbf8dc15c50af7b0fc7015640a0e89b0f8b3b1f17601e4e8f7d2ec03f74ae01533
+0a61f8a415340af72bdf15c40a0e80bf80a6f81cb3a69fdbdd52a912c7e5f7b8e2f7
+14ad133b80f909f94e15687b727b7a9573b3ff00183334ff0004ccccff00069998ff
+ffec66681f8b74776b527f8b848c828f87b190ff001c1998ff0010e668ff0010e668
+ff001519989b9f92a18ba308af74b0641efb4ffcc4158b7689837b7d0813b3806267
+57796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea28bb58bc07ea1719b798e848b
+68087ffbba15660a137b80a19db5ff0010199ad6ff0005e66691918b9a859140ff00
+09199a83ff000ee6668bbc08f85907cc8fb38b1e92878e821e13b7807281247d6388
+89838d7b9185d3fffffd199897868bffffb5e668083d07838989831e878b449d648b
+3d8b58735b61585b6d498b388bfb1dde27f7138bb98bc6a1c2b8080e89b0f790b3f7
+8fb101e4e8f7d2ec03f74ae015f75ef70d07ff000c4ccc8dff000ab334ff000fcccc
+8bff0009999a8bff0004cccefffffc4cccff00068000fffff6b334ff00014ccc08fb
+17f75f06acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e61f8a415ffffd0cc
+cd8bffffe433338c5d8c85858b72918508c795833c1ffb3856077ffffffdb33482ff
+fff14ccc8bfffff666668bfffffa66668efffffa3334948908c9fb39063c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080e80bf80a6f81cb3c1b3c5a9a67712c7e5f7b8
+e213bff84ef71e15650a7ffbba15660a137fa19db5ff0010199ad6ff0005e6669191
+8b9a859140ff0009199a83ff000ee6668bbc08f831c107ff000c4ccc8dff000ab334
+ff000fcccc8bff0009999c8bff0004ccccfffffc4cccff00068000fffff6b334ff00
+014ccc084b06cc8fb38b1e92878e821e7281247d638889838d7b9185ff003f4cccff
+fffd8000ff0010e668fffffbccccff00033332ffffccb33408ffff82999a067fffff
+fdb33482fffff14ccc8bfffff666688bfffffa66648efffffa3334948908f71b4d06
+838989831e878b449d648b3d8b58735b61585b6d498b380813bf680a0e8bb2f7a0af
+f77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb3ebbd01
+d9ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0a0e8bb2f7a0aff77ab3
+d8bf12f70ee844a7f76ca789ace4ac91ae13f9c0f7d7f7eb15fb00f75006a2979ea3
+1ef74006d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b
+08fbe8068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a8645888585
+8b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768
+543f8b08fb5506757d9aa51ff777f70007e08b8e758e609185a08b919189ab8bff00
+1333348bff0020cccc8babff0000b334ff0016b334ff00014cccff001b4ccc859176
+8b8585088857887e368b0813f6c0e8f86015c60a0e81bdf76bb4f72eb3e5c412d9eb
+aaa6f76ca689ef13fef77cf96b15c10a56fc4315a2f70cdaadcb8b0813fdb90aedfb
+53156a0a0e8bb2f7a0aff77ab3e3f301f70ee88ef3e7ace4ac91ae03f76ef98515c2
+0af4fc2e15350a0e81bdf76bb4f72eb3eff70701d9ebeff704e2ef03f7a6f91e15c3
+0a2cfbf615690aedfb53156a0a0efb5cb1f736b2f7a0aff77ab301f70ee8e0c9bfac
+e4ac91ae03f886fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced21fffff
+fe999aff0001b33305ff002c199affffff7fffff00304cccfffffecccd8b8b99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f70007e08b8e758e
+609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016b334ff
+00014cccff001b4ccc8591768b85858857887e368b08fb00f75006a2979ea31ef740
+06d68b9b67a1499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8
+068b8b468c598c85858b729185d1889c868b3c08fc05078b3c7a86458885858b7291
+85bc8cd28c8b8b08ff00f1666606ffffc36666ffffe5199affffdc3334ffffc68000
+8bffffd666668b55b177bd8bb48bb39fa8b8080efb5cb1f72cbdf76bb4f72eb301d9
+ebf71bc9f1ef03f88ffb1b158792858f828b75757b7b6e8b668b7ea08ba58bff002b
+999aff001d4cccff001de666ff003fb334ff0034e666ff002c4cccff0011199aff00
+25e668ff001a4cccff001bccccff00203334889686957c8c085c605771408bffffbf
+cccc8bffffc33334a162c572b17faa8bcd08f80b0699959c97e953f704fb3efb1efb
+172cfb3d1f8b4da04eb461b55ed871e38b9c8bff0010999aff00014ccdff00103332
+ff00026666ffffcc3334ffffda199a67ffffd833338b618b55b177bd8bb48bb39fa8
+b808fbdcf84315690a0e8bb2f7a0aff77ab3f47601f70ee8f75bace4ac91ae03f7d7
+f7eb15350a7cf7f615c40a0e81bdf76bb4f72eb301d9ebf7bfef03f7cff8dc15c50a
+fb1cfbb415690aedfb53156a0a0e81b1f766aff7d0aee17612aeecf7e8e967ae13fc
+f7fbf90515370a13fa380a99f74b15a60a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139060f7c7f96615b30aeafc2e15235579591e139960c7
+0afb6ffbd61513d2606d0a13b2606e0af7faf84f15a09f9fa11f1395606f0a13b960
+700a13b0e0710a13b260720a13d4e0730a139960740a0e81b1f766aff7d0aecfbf12
+aeecdfa7f76ca77be967ae13fd00f7fbf90515370a13fc80380a13fe00f715f74915
+c60a0efb81b0f74ccb4fcfecb0f79bb073bdcbc412cbd85be643c671a6f76ca67ee4
+a6cb139234f740f96b15c10a139a8cf77afc33156c0afb6ffbd61513d3046d0a13b3
+046e0af7faf84f15a09f9fa11f1396846f0a13ba84700a13b244710a13b304720a13
+d64c730a139a84740a0e81b1f766aff7d0aee1f312aeecf740f3cbe967ae13fcf7c4
+f98f15c80ac2fb1e15fb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb70813fe
+819486928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86
+858b739085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7
+081f13fdf7168ba941a239978a988c959183b386bb85cf558b74a8fb028b080efb81
+b0f74ccb4fcfecb0f79bb073bdd5f70712cbd85be643c6caf704c3e4a6cb139238f7
+7ef91e15760af73cfbe615235579591e139ab8c70afb6ffbd61513d3386d0a13b338
+6e0af7faf84f15a09f9fa11f1396b86f0a13bab8700a13b278710a13b338720a13d6
+78730a139ab8740a0efb76a3daddaab1f766aff7d0ae12aeecf79eb2aee967ae13ff
+00f7fbf90515370a13fe80380a9bfd2e15c90a0efb81b0f74ccb4fcfecb0f79bb073
+bdb9dddb9f12cbd85be643c6c1adf723e4a6cb139b5cf826f7cc156c0afb6ffbd615
+13d39c6d0a13b39c6e0af7faf84f15a09f9fa11f13975c6f0a13bb5c700a13b33c71
+0a13b39c720a13d73c730a139b5c740afb92f71515ae9ba49b9c81a363ffffe7cccc
+fffffb3334fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3e6
+66ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0e89b0f7a2b3
+f77db0e97601e7e5f7a8e503f7e6f9ba15a60af766fd4015390a0e89b0f823c3f72b
+a9a67701f706e2f789e203ff01854cccff02dde66815fffff66668ff00033330ffff
+f66666ffffff3334fffff66666fffffd999cffffe5e666ffffcfb330ffffd6999aff
+ffc74cd0ffffdf999a61ff00056666fffff68000ff00084cccfffff9ccccff000819
+9afffffde664ff0023199aff0017199cff001bb334ff001c6664ff001cccccff0021
+999ca6ffffdf8000ff001d8000ffffe49998ff00223334ffffe6ccccff000866668d
+ff0009ccccff00088000ff00048000ff00074cd008ffffdf999ab5ffffd86666ff00
+37b330ffffe5e666ff00314cd008ffff43b334fffe5efffe15750a0e89b0f7a2b3f7
+21acc6b001e7e5f7a8e503f8b8f70e15f800e3acffffa8333407ff00018000ff0033
+3334ff0009ccccff00044cccff003d8000ff0003800091918ba48591608a568a738b
+738b5d8c5f8c85858b729185ff003db334fffffd6668ff00081998fffffc80008cff
+ffcb199808fffeed666806ff00016666ff00343334ff00098000ff00043334ff003b
+e666ff0002999891918ba48591608a5d8a718b6b8b5f8c608c85858b729185ff003f
+6666fffffd6668ff00088000fffffbcccc8cffffcbcccc08ffffa4199a6ae7068afc
+0005ffffffcccd3cfffffe333387448785858b729185b68cb98caa8ba78bb78ab58a
+91918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b729185b48c
+b78ca98ba88bb98ab78a91918ba48591458e88908bda0831f80015fb21fba807ff00
+00e666f721050e89b0f823c3afbdcca9a67701f706e2f789e203f75dff013ce66615
+8bff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00
+1466668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d
+08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88a
+b68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b3
+34ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc
+3334fffff99999fffffccccc8b9908ff0000999af712ff004133338b059896a09791
+8796811f409206ff00004ccdccff0003b333b38b8b8b92878e828b72812a7d638889
+838d7b9185ff00413333fffffe3334ff000b3333fffffb9998ff00016667ffffc533
+3408ffffad3333068080777f848f80941fe7fc28068b387e89ffffbd33338985858b
+729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff001e19998a91918b
+a48591ffffcd33348f828c8bdd080e89b0f8b3b1dec089c212f7ade8bfa613ecf80f
+f98415a70a13dca80a13eca90a86fd0a153a0a0e89b0f81facf712c089c212f7b9e2
+c8a613ecf81ef91615a70a13dca80a13eca90a7dfc9015ba0a0e89b0f8b3b101f7ad
+e803f80af70e153a0a0e89b0f81facf70fbd01f7b9e203f83ef8de15bf0af746fc58
+15ba0a0e89b0f8b3b1d7bf01f755a7c7e8caa703f80af70e153a0ae6f93f15c00a0e
+89b0f81facf709c401f74da6dce2bba603f768f96b15ca0af73cfce515ba0a0efb5c
+b1f734b0f8b3b112f787c973e813f0f84dfb1b158792858f828b75757b7b6e8b0866
+7ea0a5b9bcced21ffffffeb334ff0001800005ff00278000ffffff999aff00236666
+ffffff8000ff001c6666ffffff666691918ba485910813e8fb268f84918bd808f805
+078bd89091f7288f91918ba585915a8affff97800089ffffd180008b5f8b228d598c
+85858b719185f7278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48c
+d98b08ff000b66660613f0ffffc36666ffffe5199affffdc3334ffffc680008bffff
+d666668b55b177bd8b08b48bb39fa8b8080efb5cb1f734b0f81facf713f70712f771
+c982f7042ee213faf837fb1b158792858f828b75757b7b6e8b08667ea0a5b9bcced2
+1ffffffe999aff0001b33305c5ffffff9999ff004afffeffffff6666ff001d6668ff
+ffff4ccd91918ba48591558d269780937c95889e8bbb08f782078bff0043cccc99ff
+0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348bffff
+f4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7ccce
+ffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef80008f83
+ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff000980007fff
+000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185ff0024e6
+66ff0000e666ff0079ccceff0000e667ff003b9998ff00003333ffffc38000ffffe5
+199affffdc3334ffffc666668bffffd680008b55b177bd8b08b48bb39fa8b80813f4
+fb25f9a515760a0e89b0f8b3b1e0f312f7a6f32ae813f0f7a6f98515c80a13e8effd
+0b15ae0a0e89b0f81fac01f7b9e203f810f71a15ba0a0efb37b5f70baaf8beab01f7
+0ee8f775e803f8a9f885158bda9c8fc78e91918b9f85915a8a708a5b8b538b668c59
+8c85858b779185db889c878b3c08fc3807fb3f5b706a1e7d8b7d9284958198879f6c
+8b087d6d777669c07aa11fb88baa92b4acb7aec9bd8bf71c08fbd29d15f811078bda
+9c8fd18e91918b9f85915a8a6a8a578b578b6c8c598c85858b779185d1889c878b3c
+08fc11078b3c7a86458885858b789185bc8cac8cbf8bbf8baa8abd8a91918b9e8591
+458e7a908bda080efb74b3f74ab0f81facf713f70712f72ef7042ee274dbf711f704
+2ee213f100f84ef91e15760a13f280f5fcca15f7b4078bcf939b8ba38b918492848b
+808bffffcfe666fffff74cccffffe5199afffffab3345d826f875f8888838c7a8f83
+d589a289948008957f907e8b7108fbcc07fb4887534d1e618b75a67db583a1809576
+8b7a8b74768b738b779677a078a575bf7cb18b08f707bbc7f78c1f13f400fbb4bd15
+f782078bff0043cccc95ff0010b3348bff001780008bff00068000fffff8ccccff00
+068000fffff933348bfffff4cccd8bffffe7cccdfffffbccccffffe59999fffff919
+9affffddcccdfffff7199a6a865c8688fffff780008cffffef80008f83cb88ff0007
+3333ffffff199aff0008cccdfffff4e66608ff000980007fff000180007e8b7108fb
+7a078b5c87787d808083677f5a8985858b729185b58cd38cb88bb58bc88ab68a9191
+8ba4859108558d76978093087c95889e8bbb0813f80021f89815760a0e81b6f8b5b0
+eb7601f7d7e803f834f87b153b0a6ef8a415a60a0efb30b5f8b4ac01f7fde203f82e
+f96615b30ab1fcb815cb0a0efb76a3daddb2b0f79ba7f790b001f700e8f742b203f7
+5df70e153c0af72bfb3715c90a0efb76a3daddb2b0f82eb0f733a9a67701f70de2dc
+b203f70df71815780af725fcec15c90a0e89acf826a77caf937712f71ce213a8f773
+f70e15f70407a28a9b8a968797839681987908ddfb0205ac5f95798f7a8c888c898e
+8ba18c988cad8bae8ba28aad8a92928ba28492658f6f906db108fb28f74e05879087
+8f8b918b8f8b8f8f8f08eef005adafb295b88f92928ba18492628a7a8a638b608b71
+8c628c84848b759284ca877063817e08716b68646e7671786c7d768908f607bd8fcb
+8b1e13d88f868e831e6f803d82468289858d7b8d85ac88ba88937c90818d7c8b7508
+fb87078b678976837e817b5b89698885858b769185b58cff002c999a8cff00376666
+8bff0026999a8bff001166668ab68a91918ba08591086190818e8bde080e89b068bd
+f8a4b0f27612f72ee8f7c8ae137cf75916f78c0613bc3d0a137c3e0a13bc3f0af4f9
+c715a50a0e89b0f8efaca67701ff011e8000e203f7f5f9e315a50affffbd8000fd62
+15790a0efb76a3daddb2b068bdf8a4b012f72ee8f2b2f73aae13dff75916f78c0613
+ef3d0a13df3e0a13ef3f0af7166215c90a0efb76a3daddb2b0f8efaca67712ff011e
+8000e2ffffe38000b213faf7d66215c90a13fcffffdc8000f73e15790a0e89b068bd
+f8a4b012f72ee8f7c8ae1378f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8
+efaca67701ff011e8000e203ff011e8000f71515790a0e89b068bdf77df3f753b012
+f72ee8f1f3f1ae133ef7f1f7e315c80a137efb2cfbe315f78c0613be3d0a137e3e0a
+13be3f0a0e89b0f7aaebf779aca67701f2eaff00588000e203f2f7fc15739d74a9a6
+9fa1a4a673a174707673721eff00b78000fb7b15790a0e89b068bdf8a4b012f72ee8
+f7c8ae13b8f7e8f83f152effffcd66668bff0072999a058bda9c90d18e91918ba485
+91638affffd780008affffcc80008bffffcb4ccd8bffffd6b3338c628c85858b7291
+85d1889c868b3c088bffff5accccfb0bffffbf33349d6ef0c28bfb39058b3c7a8645
+8885858b729185081378bc8cdc8c8b8b08f78c0613b83d0a13786ffb1f77632e8b08
+fb0c066e799ca81f8bff00f1999af703ff003c6666050e89b0f8efaca67701ff011e
+8000e203f845f84a15ffffc48000ffffdd199a8bff00b3e66605cc8fb38b1e92878e
+821e6681fb0b7d638889838b789185ff002880008bff00254ccdffffff4cccff0016
+b333ffffed3334ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc08
+8bffff46199affffa58000ffffcae6669c6eff00498000ff002acccc8bffff483334
+058bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333fffff84cccffffe5
+cccdfffffeb33485858b729185b58cff006866668cff005d999a8bff005a199a8bff
+0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff0008cccd80927b95
+fffffc80009d8bbc088bff00ea8000ff004c8000ff002c8000050e967693b0f8b3b0
+f37612e7bcf800bc137cf88df87515440a13bc450afb0ef7e715a50a0e89b0f825a7
+71bf12f708e2f784e21398f7f0f96d15be0afb1cfbe815bb0a13d8bc0a13b8bd0a0e
+fb76a3daddbf7693b0f8b3b012e7bcf784b2e0bc13dff88df87515440a13ef450afb
+27fc9e15c90a0efb76a3daddb2b0f825a771bf12f708e2f72bb2bde213f7f768f819
+157c0a13ef7d0af70bfc4215c90a0e967693b0f8b3b0f27612e7bcf800bc137cf88d
+f87515440a13bc450afb42f76c15c40a0e89b0f825a771bf12f708e2f784e21398f7
+c5f8dc15c50a2efb5715bb0a13d8bc0a13b8bd0a0e89b0f825a771bfa59fdbdd12b0
+adc5e2f784e2139f94f94e15cc0af76cfbc915bb0a13dfbc0a13bfbd0a0efb37b5f7
+0baaf8b3c061ab12f5e0f7bde013dcf74af8fb15828a7f8a7e8b598b6e8c598c8585
+8b779185d1889c878b3c08fc11078b3c7a86458885858b789185bc8ca98cbe8bbd8b
+a88abd8a91918b9e8591458e7a908bda08f7c8078e9b939792930813ecc0c7cdbfae
+8bb58bad81a466a3688b438b2b08fb8907fb3f57706a1e7d8b7d928495819787a06c
+8b087d6d777669c07aa11fb88baa92b4acb7aec5c68bf71c08f762078bf71283dc65
+ba6bb2619e528b4b8b3f545340088b8584881e9c07c98fb18b1e92878e821e0efb73
+b7f745acf829a771bf12f708e2f78fe213ecf75ff82d158bb3fffffcb333ff0019b3
+34fffffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f
+806682468289858d7b8d85c18696868b5108fb8a078b3981874f8685858b769185b4
+8ca58cb68bb28ba58ab58a91918ba085915890828f8bdd08f76b078ba09497939408
+13dcb1b0d7a1b28bff002680008bff00073334fffff6ccccff00134cccffffe53334
+99ffffec80008dffffe480008b6d08fb8d07fb188ffb0f591e808b7e8f849281957f
+9b758b08807677796eaf7d9e1fa08bbf8eb0aabab1a7d38bf75108f768078bc8ffff
+fd8000ff00278000ffffe38000ff00218000ffffe8e666ff001b3334ffffdc199aff
+0006cccc638b5a8b327e4e4708888785818b99080e81b3f8bfb3f713bd01adecf80e
+ec03f83ef98415bf0af4fb3b15460af7bffba415470a0e81b4f836b4ebbd01c7ebf7
+dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0a0e81b3f8bfb3cebf01ad
+ecc4a7f76ca7bcec03f7c7f8dd15460af7bffba415470afb26f88015c00a0e81b4f8
+36b4e5c401c7eba8a6f76ca6a8eb03f768f96b15ca0afb2cfc85157e0af785f76f15
+7f0a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415470a24f873
+15cd0afb179015ce0a0e81b4f836b401c7ebf7dceb03f87ff97a15cf0afb189115d0
+0afbbffc9a157e0af785f76f157f0a0e89ab6db0f7aaacf777b112a1e9f74de0f727
+a4a4a684a613be00f78ca915246edff759f75fa9cdec1f9406b196856e1ffc710770
+8280631e7f6b15137e808bcb8db41ef7ab8b91f72c7090057c4682584a8b082f0675
+7d90a51ff78be907ad8b927d917008916d05878e89901ea28b8d8d0588a986a88bac
+8baa91a88da9088d8a8d891e7506878887871f846f058470877c678b082df75806a2
+9793a31ee30613bf00bf8b9953926208a68e91f718fb458b2e8b0560498c8b1ffb4e
+6efb21fb3f1f8bfb3fa9fb18f7508a080e81bf57b2f78bb7f71aaf12a3dff751def7
+2ede137ef7e7f8181576c071bc2e8b082e3934fb41fb1dd124f11fcd8bb5b2a9c708
+13bea357b35cd88bdb8bb2c59dac87948592828c716658786b8b6a8b44bf8bf7298b
+968b978c9508f78006f7165fdf281e528b5862704e08fb7bfb1015d896f705dab0c9
+4ffb3f1e137efb315966643d75f704f70f1ef83ec315fb2b068d9da6f707c78bc18b
+92348c5d080e967692a671b0f785acf7a1b4ef7612efe8f78aef131ff7bcf8d6154c
+0a24fc5c154d0a139f4e0a135f4f0a133f500af71ff94e15a50a0e89b0ff018c8000
+ff003a800055a712f76ae21390f804f96d15be0a48fbd715d10a13b0d20a13d0d30a
+0efb76a3daddbf7692a671b0f785acf7a1b412efe8f720b2ceef13c7c0f7bcf8d615
+4c0a24fc5c154d0a13e7c04e0a13d7c04f0a13cfc0500af709fb3715c90a0efb76a3
+daddb2b0ff018c8000ff003a800055a712f76ae280b213ecf7c1f82a15830a13f484
+0a69fc53156e7678731f8b70a4829c880813e29d8998878b778b7971735a808b828d
+829185c494bca98bc708bf73ad651e0e967692a671b0f785acf7a1b4ee7612efe8f7
+8aef131ff7bcf8d6154c0a24fc5c154d0a139f4e0a135f4f0a133f500abef8d315c4
+0a0e89b0ff018c8000ff003a800055a712f76ae21390f7bbf8dc15c50a91fb4615d1
+0a13b0d20a13d0d30a0e81b1f8c4b0e97612c8b380dff7bdef3db313ecf893f8eb15
+510a13f4520a13ea530afb25f77115a50a0e81b08676f858b012e3b671d6f7b7dd42
+af1320f7f0f96d15be0a1374fb98fcdd15850a13ac860a13aa870a13b4880a0e81b1
+f8c4b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb47
+f76c15a60a0e81b08676f858b012e3b671d6f7b7dd42af1320f7e5f96615b30a1374
+fb8dfcd615850a13ac860a13aa870a13b4880a0efb5ca8d6abff00366666ff002599
+9af8c4b012c8b380dff72ec9dcef3db313f700f7bb2b15a2957d7671767d6d1f778b
+808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff
+00154cccff0039199a05ff0033e668ff00013333ff00333332ff000ae666ff002799
+9aff0013cccdd0adb8bf8bce8bf70635befb0797ffffb3800093ffff888000af8bdb
+8bd1ceb5d28b0813f680f70a8bb255a34c998b9a8a969287b985a57fbd45938b9dfb
+0a8bfb0f8bfb025c8bfb138b26ff006a199a4fff006ce666800813fb00ee81ce718b
+268b3e50662a8bfb058b41b070ea7c8f7d89808690429072995cff0045cccd8bff00
+241999ffffed6666ff0059199a880867ffffa9999a9185059b90958c9e8b080efb5c
+a8d6abe176f858b012e3b671d6f728c9dcdd42af13f700f7bb2b15a2957d7671767d
+6d1f778b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a
+838908ff00154cccc405ff0085e668ff0000199aff0068ccccff002880008bff0072
+66668bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff00118000
+ffffbb8000ff001280008bc38bb6bdace78b0813f680870a13fb00ff008e800073ff
+002a8000768b5b8b545065278b528b5d96799a6ea473bd84a77d8d778682828f5498
+5c9d6208978d9b8d918b938b99ffffff333393fffffdcccdff000eb33387affffffa
+cccdff002a80018908ffffdbccccffffa933339185059b90958c9e8b080e81b1f8c4
+b0e87612c8b380dff7bdef3db313ecf893f8eb15510a13f4520a13ea530afb62ed15
+c40a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63fc
+4c15850a13ac860a13aa870a13b4880a0efb5ca8d6abc9b0f851f7205fb0129badf7
+74e864c9f75cad13ed80f7bb2b15a2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908a4ce8e8b05ff00476666
+8bff003d999a8abd8a91918ba485910813ee80fb0c8d7a918bda08f7f907c895afaf
+1ea706d68bc4729c42968b998c948f84b786bb8ab60813f680550a13ee80560a13f6
+80570a13ee809fd7c3a4cd8b08ae06b09567511ffbfc078b3c7a86fb0c8885858b72
+9185ff00286666ff0000cccdff0032199aff0000cccdff00388000ff00004ccc0863
+ffffa0199a9185059b90958c9e8b080efb5ca8d6abc1c6f7efb701f750e2ff003d80
+00c903ff012f80002b15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff0039999a05ff0006
+3334ffffff9999ff00064cccffffffcccdff000680008bff003a80008bff00438000
+aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd480008b085858
+9ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb38b1eff000666
+6888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668fffff04ccd
+fffff966647afffff8e66872898b818bfffff466688effffd499988bffff91199a08
+28ffffffe666057d877f831f7907868c8a8f1ef704fb95068bffffa73333ff002980
+00ffffd66667c8fffff280000865ffffa4e6669185059b90958c9e8b080e89b0f851
+f7205fb0f476129badf774e8f773ad13bef803f70e15540a13de550a13be560a13de
+570a13be580a59f8d315c40a0e81c6f7efb7d79fdbdd01b0adf709e20394f94e15cc
+0adbfb9615890a0e89b0f7a8b2f716f7205fb0129badf774e8f773ad13def803f70e
+15f751f7140797949a96908893821ffb1df71506c895afaf1ea706d68bc4729c4296
+8b998c948f84b786bb8ab60813ee550a13de560a13ee570a13de9fd7c3a4cd8b08ae
+06b09567511ffb18200782817c81858e83931ff707fb51068b3c7a86fb0c8885858b
+729185bc8cff003f33338cff0047cccd8bff004766668bff003d999a8abd8a91918b
+a4859108fb0c8d7a918bda080e81c6f758b2f704b701f750e203e4f84c157d877f83
+1f7907868c8a8f1ef704fb04ffffc280000682817c81858e83931fff004580002106
+fb04cd66e31eff003a80008bff00438000aadcb889ff000a4ccd85ff0010b333818c
+ffffc98000745375ffffd480008b0858589ff70a1fc5ff008480000797949a969088
+93821fffff728000f704f7600695998f941fa4078f888d861efb70e406cc8fb38b1e
+ff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e668ff
+fff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988bffff
+91199a080e81b4f8b9aeedc089c212dbe8f7b3a699c013cef741f88115590a13eef7
+84f89215a70a13dea80a13eea90a0e81ba84a6f818b0f6c089c212ff006f8000e2ff
+00d68000a6fffffe8000e21336f802f91615a70a132ea80a1336a90a13a5ffff8880
+00fd20158a0a13658b0a13a58c0a0e81b4f8b9aef71dbd01dbe8f7dcc003f83ef984
+15bf0a6efb9715590a0e81ba84a6f818b0f3bd12ff006f8000e2f784e2133cf83ef8
+de15bf0a13bcff002c8000fce8158a0a137c8b0a13bc8c0a0e81b4f8b9aed7bf01db
+e8b2a7f76ca79cc003f741f88115590af7cbf8b815c00a0e81ba84a6f818b0edc412
+ff006f8000e2fffff28000a6f76ca6ffffef8000e21336f768f96b15c10a13b9ff00
+228000fd75158a0a13798b0a13b98c0a0e81b4f8b9aeccabf5ab01dbe8d4b3ebb3da
+c003f7e2f9c615ab0a335615b70a42fba415590a0e81ba84a6f818b0ceabf5ab12ff
+006f8000e2ff00218000b3ebb3ff001e8000e2133f80f7d4f94315a99d756c6f7a72
+6c6c7aa4a71fa99ca2aa1e335615b70a13bf80ff000e8000fd18158a0a137f808b0a
+13bf808c0a0e81b4f8b9aeeb7601dbe8f7dcc003f741f88115590af7e9f8ac15cd0a
+fb179015ce0a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a
+0a13788b0a13b88c0a0efb5cb1f72cb4f8b9ae01dbe8f713c9f71fc003f886fb1b15
+8792858f828b75757b7b6e8b668b7ea08ba58bff0033199aff00283334ff00203333
+ff0058ccccff0048b33308fffff980009205ff0034ccccff00336666ff0010b334ff
+005233348bff0062666608f769078bda998ec59091918ba28591678affffd980008a
+ffffe880008bffffeb80008bffffcd80008c5f8c85858b749185d3859b878b3e08fb
+7a072180fb12fb361e5d8b649e70a863b688d38bc908f781078bda9190d58e91918b
+a28591638affffd480008affffd280008bffffd880008b658cffffdb80008c85858b
+749185c58897868b3c08fba107fb56f72263e11eff0021e6668bff001d8000ff0003
+999aff0019b334ff0006ccccffffc74cccffffd8199affffd7999a618bffffd38000
+8b55b177bd8bb48bb39fa8b8080efb5cb1f72cba84a6f818b012ff006f8000e2ff00
+ae8000c9ff00038000e213bef8cffb1b158792858f828b75757b7b6e8b668b7ea08b
+a58bff0023999aff000dccccff00333333ff0028199aff001e1999ff0019e666ff00
+0c999aff0027ccccff000a199aff002ee668ff0005666691918b9a8591084b907f9e
+8bbc08f78307a98fd88b1e8e888e861e868a748a7c8b6b8b658c668c85858b729185
+ff0015e666fffffeb334ff0013b334fffffce666ff0009999a82ff000bccccfffff4
+e6668f778bffffdb800008fb76078b78fffffee666fffff6e666fffff1199afffff5
+199a0813deffffc5800060ffffc3800078728b086d5999e41ff77907a98fd88b1e8e
+888e861e868a7a8a7c8b6b8b5a8c668c85858b729185a1fffffe3334ff0018e666ff
+fffcb332ff0009999afffff6b334ff000b666680ff0004199affffec999a8bffffdc
+cccc08fb830746af48ee1eb28bff004a8000ff0013199aff00438000ff0032e666ff
+0005199aff0003e666ff0006e666ff0002199a8b848bffffe9e666ff0002b334ffff
+ee999aff0002ccccfffff44ccdffffcc8000ffffdb4ccdffffeb8000ffffc799998b
+ffffd74ccd8b55b177bd8b08b48bb39fa8b8080e9576f8e1b0eb7601f7fbf841155b
+0a31f90315a60a0e9476f85db001f7e5f96615b30aff00158000fc0115d40a0e89b0
+f8b3b0eb7601f7b0e803f80df70e155d0a7cf94215a60a0efb7cdbf8e9b001f7e5f9
+6615b30a4cfe06158f0a0e89b0f8b3b0e9eb12f75beb80e896eb13e4f818f98915ad
+0a13f4fb5116ad0a13ecf746fd0f15f70f078ba7ff00006666ff00106666ff001199
+9aff001b999a08f715f75f05a8b99c93b88f91918ba485916d8a6d8a748b748bffff
+dd80008cffffde80008c85858b729185b7889d84746608fb0dfb5905fffff74cccff
+fff1ccccfffffc999aff0001199afffff6199aff000f199a08fb12f7550572b29092
+c38e91918ba48591678a658a638b648b6a8c6d8c85858c729185b5889788af5508f7
+21fb6405ff00123334ffffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a86
+3b8885858b729185bc8cff003380008cff002b80008bb68bbd8abd8a91918ba48591
+083b8e7a908bda080e8bb1f8a8b69277f70b7612c8a91398f804f9c815a50af74bfd
+ca15d50a13d8d60a13b8d70a13d8d80a0e8bb0f827b3957712d9af1390f7f0f96d15
+be0a13b0fb77fb8315900a13d0d90a0e8bb1f8a8b69277edf312c8a9f73bf3139cf7
+96f98215c80af7b9fd8415d50a13dcd60a13bcd70a13dcd80a0e8bb0f827b39577f7
+0cf70712d9aff72af704139cf79cf91e15760a13bcfb23fb3415900a13dcd90a0e8b
+b1f8a8b69277f70a7612c8a913d8f8bb89155e0a13b8d70a13d8d80afb8ff94f15c4
+0a0e8bb0f827b3957712d9af1390f7bbf8dc15c50a13b0fb422d15900a13d0d90a0e
+89acf800adf77fad01e8daf3dc03f740f70e15da0a0efc1dfbe5f96d15b10a0efc1d
+fbb8f96d15b20a0efc1df8f1f73101fb9ef79003fbc3f96615b30a0ef8e1c089c212
+66a613a037f91615db0a1360a80a13a0a90a0efc1df8debd01fc57f79903fb6af8de
+15bf0a0ef920b70164f9201598959d97918793821ffbe90680807a7f848f83941f0e
+fc1df8d8c401fc5ba6f76ca603fc40f96b15ca0a0efc1df8e2f70701fc0cf70403fc
+0cf91e15c30a0efc1df8e9ea01fc52e9e0e903fc52f91815920af74716920a0ef9b9
+a601fb7eb69aa795bd0333f99a15dc0a0ef8b9abf5ab01fba2b3ebb303fb4af94315
+ab0a335615b70a0e64f97a15cf0afb189115d00a0efc1dfbedf8dc15c50a0ef8ebf7
+3601fb48bf03fb13f986158390838d848b858b7c8681858c718b6e8b738b768b728a
+7792879489928b918b9b8e9492088aa88ba98ba28ba28ba28c9c080ef8e2f74801fb
+d3b8c7b703fb3ef8e215f7485ffb48074f8c15f7475efb47070efb98f9b615ffffe8
+999afffff16666ffffede668ffffee19981f8b858d84908508f706fb02058d898d8a
+8e8bff0002999a8bff000a6666ff00044ccc8bff0009b3348b8c8b8d8a8c083df71f
+058694848d7f8b08f71c9115ffffe08000fffff58000ffffe9ccccfffff233341f8b
+868c85908608f1fb0d058d898d8a8e8bff000b33348bff0002ccccff000a66688bff
+000299988b8c8b8dfffffeb3348e08ffffc14ccdf7230587948390808b080ef8d8c4
+cfe601fcb5a6cce5c8a603fc59f98215dd0a4a7415ca0a0ef8adc401fb4ca6f76ca6
+03c6f85315de0a0ef89bdddb9f01fb32ad032bf89b15ae9ba49b9c81a363ffffe7cc
+cdfffffb3333fffff96668ff001399981f8ba29fabc4978b928a94878f6586ffffe3
+e666ffffef1998ffffef199affffeae6687b7784758b730867a266b21e0ef8379fdb
+dd0154ad0338f8ed15df0a0ef8a29fdbdd01fb15ad0348f95815647466671f8b7392
+759b77ff0010e666ffffeae668ff001c199affffef1998b1868f8f8c948b92529777
+ab8ba208ff00139998ff0004cccdfffff96668ff00183333b395a39c9b7ba4681e0e
+f82b9fdbdd014cad0330f8e115687b727b7a9573b3ff00183333ff0004cccdff0006
+9998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff00
+10e666ff0015199a9b9f92a18ba308af74b0641e0efb6ff72101fbe7f74a03fbe7fb
+0b158b81f71e3d05ff000fb333fffff73333ff00084ccdfffffccccd918b928b9293
+8b918b92889183940829f2058a8c868c878b6e8b74748079080efb6af72601fbcaf7
+3f03fbbcfb6a15908b928c938f08f717c3058e8e8e988b938ba7819e839508818ffb
+0c24057f8080828b828b888c80988b080efb6d76d1b601fb68b703fb3cfb7915f73c
+07868e858d848b848b82898186084dfb0007848588838b838b848e838f8508f7034a
+0692889189928b928b938e9491080efb6c76d0b601fbdeb703fbde4b15fb3c079088
+9189928b928b948d959008c9f7000792918e938b938b928893879108fb03cc06848e
+858d848b848b83888285080ef8bfb401f712b703f73ef849158bf7278097fb268b05
+7d8386848b868b868d80958608f70cfb0e069483958a918b908b948f9094080ef7e0
+a5c7e001fb11ae0331f83315ba71b4656f797c731e8b779875ae87998a98838b7e08
+696287801e7371a306c2ababbe1f0efb88b2f704b401fbd1b303fba9fb2915a89ba6
+b71e8d8b8e8a8e8b088db405888c878b878b08545f615456b461c01f908b908b908c
+088cb205898b888a888b085e7aa4aa1f0efb78b701fba2b603fbdffb7815f73c068e
+908d918b928b9289948695084df700068592838e838b848b8388858708fb034a0788
+8489858b848b848e839182080efb6376f70ab701fba3b603fb3b4915fb3c06888689
+858b848b848d82908108c9fb000691849388938b928b938e918f08f703cc078e928d
+918b928b9288938594080efb6d76d2b601fba5b703fb79fb7815c8ce0791948e928b
+918b92889286920847cb068390858d848b858b84888185084d4807848588838b848b
+848e838f8408d14a0692879289928b918b938e9492080efb3bb601fbf2f75903fb35
+fb1015fb4706848588838b848b848e838f8408f7490691948e928b918b9288928692
+080efb81af01fb91c4e6b203fb2cfb5d157278a39f9d7a987d7b817e7e62bf5fc4c9
+9bbecf1ff718780777200650825a651e0efb81af013db2e6c403fb8104c1c2b5b698
+81987b7d7a7e79777873726582bbc71ff4770778fb1606479b58c91e0efb3bf70001
+fba2f70003fba2fb0515e00a0efb3bf70001fc06f700e5f70003fc06fb0515e00af7
+5a16e00a0efb71abf5ab01fbc5b3ebb303fb6d3815ab0a335615b70a0efb76a3dadd
+01fb77b203fb8e6215c90a0efc1dfb5ca8d6abcb7701fbccc903fbed2b159f0a0efb
+5cb101fbecc903fb26fb1b158792858f828b75757b7b6e8b668b7ea08ba58bb9adab
+c9be087d9c053b5a4b578b538b55b177bd8bb48bb39fa8b8080efb81f74501fbafc1
+03fb79fb7915f737077f8f828d828b848b8489818708fb390797879389938b928b93
+8d9691080efb63f70b5fb712fc0bb7f72cb71370fbdffb5915e10a13b0e20a0efb75
+cb01fc2ba2f79ca303fb0c3f15846e7b53678b708b75ad7dc0898c878b878b888b88
+8b888a763b6d847e8b6f8b7aac7dbf08898a797e88879e36aa5dac8b998bac96a5d1
+a344ae81998bae8ba9c29cd787907c95868e080efb70f72301fbdef79103fb79fb70
+15bd06a8b9b1b8aeb20878980566706972666569af6aa564a708777e05ae63b060a8
+5c080efb75f72301fbd6f79203fb3d391559066d5e655e6864089f7d05b0a6aca4b0
+b1ac67ad72b26e08a0990568b365b66fb9080efb47c401fcb6a6f76ca603fc9b6b15
+ca0a0efb4fc401fb77a6f76ca6039bfba915de0a0e20c089c2122ea613a0fb205515
+db0a1360ffffed8000ff000fe666ffffe88000ff0012199a6d8b608b74647d509185
+958a968d95ac959aa58b9c8bff00148000fffffa3334ff00108000fffff2cccc0813
+a0a90a0efb17b701fbfcf78403fb23fb1715e30a0efb17b70142fb1715e40a0efb67
+b7b9b701fc06f79803fb19fb0d15e50af7753115e50a0ef74ec089c2122ea613a0fb
+20f78315788bffffed4ccdff0006b333fffff1b333ff000c4ccd081360ffffed8000
+ff000fe666ffffe88000ff0012199a6d8b608b74647d509185958a968d95ac959aa5
+8b9c8bff00148000fffffa3333ff00108000fffff2cccd0813a0a90a0ef75db701fb
+cff7840329f75d15e30a0ef75db70142f75d15e40a0e3ff85a15fc0cfc5c058d7c97
+809b8b08f80df85f05879881957a8b080e937601fcee7e15f89bf91505fffffdb333
+ff000ee668fffff14ccdff000f1998788b08fc9bfd13058e7c997a9e8b080efb88b4
+f704b201fb37b303fb37fb27156e7b705f1e898b888c888b088962058e8a8f8b8f8b
+08c2b7b5c2c062b5561f868b868b868a088a64058d8b8e8c8e8b08b89c726c1f0efb
+65f70bfb0bb712fc0bb7f72cb71370fb4727154afb2ccf078491848e858b848b8487
+818308340713b07d8f839f1ef74d069b9a98961fe307848e848f838b08848b848883
+84080efb82abf1ab01fbebb0f700b003fbc62315f70025fb000666f71a15fb3af74a
+f73a070efb1dcb01fc2ba3f79ca203fc13fb721592a89bc3af8ba68ba16999568d8a
+8f8b8f8b8e8b8e8b8e8ca0dba992988ba78b9c6a9957088d8c9d988e8f78e06cb96a
+8b7d8b6a80714573d268957d8b688b6d547a3f8f869a819088080eff01b6e666ff00
+cb199a01fffe95e666ff00cb333403ffff174ccdff021c333415ff0049cccdff0049
+ccccffffe3e666ff001c1998ffffb6ccccffffb63334ffffb6ccceff0049b334ffff
+e34ccc6fff0049ccceffffb63334ffffb63332ffffb6ccccff001cb3346fff004933
+32ff00491998ff00493334ffffb6ccceff001c199aff001c199a050eff01b8ccccff
+00133334f74cff0013333401fffee08000ff00288000ff00038000ff0026b33303ff
+ff0c8000f8f0158bfffff0ccccfffff74ccdfffff26668fffff56667fffff33334ff
+fff3b3327bfffff3999affffee66648b738bffffdd999aff001a6666ffffed999aff
+0033e667fffff4cccc08ff00046666ff0013333405ffffe2ffff93fffff2cccdff00
+0a66668bff0014ccce8bff000d9998ff0009b333ff000f3334ff0009b333ff000e66
+68ff000c4ccdff0010ccccff000a8000ff0010cccc8bff001199988bff0024ccd0ff
+ffe5999aff00173330ffffcb3333ff0009999c08fffffaccccffffeccccc05ff0025
+0001fffff4ccccff0008b333fffff4cccc8bffffee6668080ef873b7b9b70142f8cd
+15e40af7ed3115e40a0ef8b7f73501fb82f73203fb30f95815b10a0ef8b8f73401fb
+83f73003fb2cf95815e60a0ef89bc089c212fb1ba613a0fb4af8d015db0a1360a80a
+13a0a90a0ef8379fdbdd0154ad0338f8ed15df0a0ef8d5ea01f751e9d6e903f751f9
+0415920af73d16920a0efb82b301fb72d6d4a403fb724115390751b273bb1ea48bb9
+999ad00872930584707b73798b08777fa2c21f8bbf7592050ef877f70b5fb712fc0b
+b7f72cb71370fbdff88115e10a13b0e20a0efb67b7b9b70142fb0d15e40af7ed3115
+e40a0efb75f74501fba2b3d1b303fb7afb6d15e70af70216e70a0effff978000b201
+ffff638000b303ffff068000ffffbe800015828687828b868b858c86938208ec4506
+90819289908b908b95909399088be67f96050ef8b9c089c21222a613a0ffff296666
+ff0200666815ff000ce667ff0030e66405ff000c0001fffff8b334ff000c666686ff
+000c4ccd8bb98ba8b297c7858f818e808a7d618081758bfffff333338bfffff38000
+8efffff4b333ff0005b33408ff000f999aff003b4ccc05839486ff00048000fffff7
+199a8bfffffc19998bfffffd999affffff9998fffffacccdffffff666808fffff319
+99ffffcee668051360fffff04cccff000b9998ffffed4ccd95ffffe9b3338b608b74
+647d509185958a968d95ac959aa58bff000fcccc8bff0012e667fffffae668ff000f
+cccdfffff4b330087bffffc3666805ff0006800083ff0002b333fffffc3334ff0006
+4ccd8b088f8b92ff0000ccccff00076666ff00006668080eff01ebe666ff00423332
+ff0000e668c089c2fffffae668ff0042333012fffedae666ff00423334ff0017cccc
+ff00423334ff001fe666a6138efb98ff01ebe666159dff000f199aff000f199a9d9d
+fffff0e666ff000f19987979fffff0e666fffff0e668791f79ff000f199afffff0e6
+669d1e139ee5ff00a80002159dff000f199aff000f19989d9dfffff0e666ff000f19
+987979fffff0e666fffff0e668791f79ff000f199afffff0e6689d1e13ce9dffffd0
+199815db0a13aea80a13cea90a0ef88eae8baca6ae8bad12fc09f7a11388fb0cf8d3
+15868b7f695f8b081348778b49ac6e8b6c8b7179776a8b85977e938b918b96b0af8b
+081388a98bc968ab8ba98ba39e9dad08918395831eeb041328858b80685f8b081318
+778b48ad6f8b6b8b7278776a088a078b888d8891878f878f888f8b918b95afb08b08
+1328ac8bc668ab8ba98ba39f9dac8b938394838b080efb29a901fc32fb13158007c7
+6ba57b9e6808ad067cab76a0799e08f75d06797775777d6b08ae06a7aab1abb19f08
+9607599d62ba7e9b0869069968a971947f08fb5d069395a8a59bb0086a067d7b625c
+5979080efb7af75e01fb87a903fb87fb7a15a9f709069f799f75ab7d08ae076ca76b
+b177b108800679595c627b7e086907ae99a5a99794080e0eff01f46666ff00c3199a
+01fffed48000f77c03ffff77cccdf8ea15ffff5cb333ffffc3b3348bffffdab332f7
+7cff0053ccce8bff001a8000fb7cff0054cccc8bffffdacccc050ef891acf70aab01
+fb70b003fb70f8ed1558b662be1e988b968d9690087fa9058488848a828b086875a7
+aaaca2a5ad1f918b908b90890893aa05838d848c828b08576162591f0ef873e6bac4
+01fb77a6cce5c8a6035ef8a115a4779f7272777772729f76a4a49fa0a41ec88d15de
+0a0effff1c8000ff00c4199a01fffe996666ff00c4199a03ffff13b333ffff7e3333
+15ff0049cccdff0049cccdffffe78000ff0018999affffb6ccccffffb63334ffffb6
+ccceff0049ccccffffe6ccccffffe76666ff0049e666ffffb63333ffffb6199affff
+b6cccdff00193334ffffe78000ff00493332ff00493333ff00493334ffffb6cccdff
+00188000ff00188000050effff1c6666ff00c3333401fffed48000f77c03ffff1933
+33fb1615ff00a34ccdff003c4ccd8bff00254cccfb7cffffac33348bffffe46666f7
+7cffffac33338bff00254ccd050effff1c6666ff00c3199a01fffed48000f77c03ff
+ff77cccdfb1615ffff5cb333ffffc3b3338bffffdab333f77cff0053cccd8bff001a
+8000fb7cff0054cccd8bffffdacccd050effff1c4ccdff00c3666601fffeec8000fb
+1615fb24ffffc3b3338bffffda999af768df8bff001a6666fb68e08bffffda999a05
+ff01318000ffffe0000115ff003c6666ffff833333ff002566668bffffabcccdf755
+ffffe6cccd8bffffa9b334fb55ff002580008b050ef89bacf70aab01fb05af033ef8
+f715bd61b4581e828b838a848908936c05908d908b918b08ada2716a6c756f681f82
+8b848c848e087f6d0596869689988b08beb5b4be1f0ef8e0f30149f30349f91415c2
+0a0efb0eb012fb49c275b676c313c0fb1bfb121579766f8f8b6d8b829284948b0813
+90ac8b84aa98a398758a6aa58b938b95918b958ba87089789f958d948a968b089f9c
+919b918898791f798b847873800813a08c9b98a18b9a08987f9181818081801e8b7d
+997c8d757396829d788b087e8681837a9586981f978b918e918b08928b9288918a08
+0efb6aa6f704a601fbd8b0efb0efb0031438fb2afb1715a99ea5aaa99f726c6f786f
+6c6c78a7a71efb42165db466b91eff001be6668bff0018cccdff000ce666ff000fe6
+67ff00138000ff00104cccffffec4ccdff00193334fffff34ccdff001ae6668b08bb
+b2b1b8ba62af5d1fffffe5199a8bffffe6e666fffff36666ffffefb333ffffec4ccd
+ffffefb333ff0013cccdffffe6b334ff000c8000ffffe4e6668b085d62665d1fe2c3
+15a99f726c6f786f6c6c78a7a7a99ea5aa1f0ef89276e8b701fbacf7670341f8f415
+8e908d8f8b8d0890868d801e230684888c8f1f8b8d8c8d8c8d08a7d6058f858d801e
+868b848a8989083ffb090588878a888b8908879088961ef30693908a891f8b898a88
+8a88086d4105fffffb80008bfffffc8000991e908b958d8d8e080efb81c001fb8104
+e80a0ef86fc001f86f04e80a0ef8a6bc01fc0ef8a615e90a0efb1abc01fc0efb1a15
+e90a0ef8bbc691c601fc5bf8b715a98705c1b7eea8dd8bc68bcc7dc479c379c57cc1
+8bc38bf72b98d4f6086e91055859227a498b588b4b984c9f529d5499558bfb238bfb
+124c6d4a080ef914c501f94e04fb1c8bfb1e4f2dfb0e089c7905c9c9e8dbf7588bf7
+548bed40c848089c9d0537f70efb1ac7fb2a8b080efb29a901fba0fb0b156df86107
+797775777d6b08ae06a7aab1abb19f089607599d62ba7e9b0869069968a971947f08
+0ef8919ef7099a01fb7dadb9af03fb2df8df1562077c7e8986808b7d8b87958b968b
+96919bb39608a53d15958b958f949308869605898a888a898b08868994a11fb007be
+6b9671746a7a75839585939592928f1e8b8e8b8e8a8c8a8c8b8d8b8f08948f8f9d97
+9688631e7283056982767c8b748b749d7ca28b9d8b8f909d9b8d8191809c8b080ef8
+91a1c59db19c01fbd6b2c1b503fb89f8a71578789cb41feb06ac7fb3575e7164681e
+8b718f7a977f977f9e7fa68ba78b9d98979b08809705807f7f84768b089bd7155806
+8c9d949f9c8b089896826e1f0ef89399f70399bab712fba3c767af13e8fb67f8b215
+f70c800713f07e85798779898b858c878c870813e89b89918a8b7e083d078b7e828a
+80888a878b858c87958c9d8c948b968b9d8a938a8c8f8b918a8f08818e838e8b9608
+78f72f15979595979781957f7f81817f7f9581971f0ef8919bf70a9b01fb83b4cbb5
+03fb3af92715537a5b6c68a167bebea2b1aea87cbb501fab3315697e7f7d757c9fb5
+b898969ba2976e601e0ef891a3f7019a12fb82bd6da9b3c06cc155aa13e0fb50f924
+1513d08c078b818a841e13e07e778c8b1f8b8a8b7f058a8c8a8d1e8e0613d2958a8f
+8c8b7d084607679b7da31e9e8ba29e9394088f8a8970978b0513c49992968e9c8d08
+9a0713c27e8f81ff000466688bff000d99980813c88bed0513c28c078b838a867c73
+8c8b1e13c88a8a8b7f05898d8b8c1e910613d2948f897f1f4207817f7681838b087f
+8091a71f0ef891a1f7069c01fb81b1c4ae03fb3af92a15606f626464a269b91fa38b
+9f98999efffffde666ff0005b334fffffc8000ff0004b334fffff8999aff00019998
+817f8581768b08806f90bbb39ea09c1f9a8bff0004b333fffff61998ff00014ccdff
+fff3e6688c829484948b938b93918b988b95fffff8e666ff000c1998fffff3199aff
+0006e668fffff5cccdff00058000fffff1cccdff00018000fffff166668b080ef892
+9cf7069bab9912fba0b2aec767af13f4fb3ef8b41582818184838b08787e97bcb396
+989d1f998b92839481088a2b158d8a8a7a988b0598929b8e9d8d08899a057e8d82ff
+0004cccc8bff000f333408f731800713f87e8579877989088c7d0513f49a8893ff00
+0199988bfffff26668086e0783937d8f7d8b618b77618b688bffffe94cccff000666
+66ffffeab334ff000c999a7fff000acccdfffff5b334ff000d9999fffffc4cccff00
+10999a8b978b9a939594080ef89499f704a3a99912fbd8c867afc9af13ecfb9bf936
+15a38c998b1e8e898c881e13f482876a867c8a087e078a8c8b8c1e978a0513ec928f
+87731ffb0d078b7f8a8a7e8908868a05898b898a1f80078ba08c989da78a8b1e9607
+8d898c8a1e858c05818c878d8b9708d20796989697978b089c96876e1f4c078b7f88
+89808a08858a05898a898a1f80078ba18c999ca58a8b1e96078b8c8b8c898c08878c
+05808d888d8b9608cf07b17199721e778b78788382080ef895997ff725719980a212
+fbd8c767afbfaebfaf1387fb68f8b4158b7e848a80888a878b858c87081347958c9a
+8c948b081397968b9d8a938a8c8f8b918a8f818e838e8b9608cb078bff0003ccccff
+ffffcccdff0003999cffffff9999ff00036664ff0009999aff000a3334ff000c3333
+93ff0009cccd8b089b90846f1f51078b80838881888a878b858c87081347938c9d8c
+968b081387948b9d8a958a8c8f8b918a8f808e828c8b9808cb071347af779b731eff
+ffed4ccd8bffffeb6666ffffedb334fffff7b333fffff6ccccfffff9999aff0012e6
+68fffff16666ff00089998ffffed999a8b081327788b7b7a838208898c0513178ca4
+05134b800613ab7e85798779898b85ff0000999afffffbccccff00016666fffffc33
+340813879b89918a8b7e0841078b7e828a80888a878b858c87081347958c9d8c948b
+081397968b9d8a938a8c8f8b918a8f818e838e8b9608d20795979695968b089b8f84
+6f1f0ef89399f702a6719912fba3c767af13c8fb68f90e158d8a059599989a9e8b08
+9b928380808485801f838b868e888f898d878b898b878b8587827e898888868b8708
+4b078b80938895888c878b858a87838c798c808b828b798a818a8a8f8b918c8f968e
+948c8b9808d90713b08b98858c7b8d8a8f8a8f8b910813c89d8d9d8f98910896060e
+f891a0f7009e01fb77af03fb53f91215ab068e908c8e1f98078c8a8c891e66be066d
+848b850572837e758a8b8a8a1e7b078a8c8b8c1ea22b06739b829b1e9a8b9d8f999a
+8aff00054ccc888f86ff0002b33482858687828b08828995a01f0ef9169a01fbd5f7
+3803fb94f898158d8792888e8b8f8b968d8d9108baf70005939c8f8b938b088d8d8b
+8d1f8b978a8c058b7a8a8180788c8b1e8b8a8b7f058a8c8a8c96908a871e8b888a88
+8986086dffffba80006cff0047800005898f8b8d8b8e08908e8b901e90068d8d8b8d
+1f8b97898c648a0581708c8b1f8a8a8b7f05898c8b8d1e968b8d8b9378080ef8919a
+f70f9801fbcdf73b03fbcdf89c158007958c918c988b948b9a8a968a0896078d8a8d
+871e818bfffffd199aff0002b334ff0005e666ff00074ccc8b8b9b9e94978e879b70
+8b8b8d8790857f8b08868988871f8307938ca38c988b968b9b8a968a0896078d8b8d
+841e7f8bfffffacccdff0006ccccfffff83333ff000933340863baaab705969a8e8c
+978b08928b8d8e1f93077f8a828b808b818b828b818c088207888d8a8e1e928bff00
+063333fffffe3334fffffacccdfffff8cccc0871677baa0589908894918b08908e8c
+8e1f94077d8a7a8b808b7d8b7d8b808c088207888c8a921e928b9188908408b75205
+89896a648b8b807e8789808b0887898b871f0e89b0f756b3f7f87701f787f7a1152c
+0afb8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af7
+05fb401513ac600a1374610a0e89b0f7acacf77ab112f70ee8f776dc69e813f8f76b
+f8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f832b9f72ba9a677
+01f2e2f7b9eb03f774f82a15620a79ad15630a0e89b0f7acacf77ab112f70ee8f776
+dc69e813f8f76bf8ac152e0a6a04e40613f42f0a60f89a15300a13f8310a0e81b3f8
+32b9f72ba9a67701f2e2f7b9eb03f774f82a15620a79ad15630a0efb17b7e0b0f7ac
+acf77ab112f70ee8f776dc69e813fcf76bf8ac152e0a6a04e40613fa2f0a60f89a15
+300a13fc310af749fd7c15e30a0efb17b7d8b3f832b9f72ba9a67701f2e2f7b9eb03
+f774f82a15620a79ad15630af71dfccf15e30a0efb5ca8d6abff00363333ff0028cc
+ccf8c0b101aeecf78ac9f70bab03f7ed2b15ac0a0efb5ca8d6abc1c1f829b4f76077
+01d7e6f735c9d4ec03f8d7f70015b80afc81f8dc15e60a0e89b0f8b3b101e4e8f7d2
+ec03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213
+bef84ef71e15650a7ffbba15660a137e670a13be680a0e89b0f8b3b101e4e8f7d2ec
+03f74ae015330a61f8a415340a0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213be
+f84ef71e15650a7ffbba15660a137e670a13be680a0efb17b7e0b0f8b3b101e4e8f7
+d2ec03f74ae015330a61f8a415340af784fd7c15e30a0efb17b7d7bf80a6f81cb3f7
+2ca9a67712c7e5f7b8e213dff84ef71e15650a7ffbba15660a13bf670a13df680a28
+fb4f15e30a0efb5ca8d6abc9b0f8b3b112c5c96ce8f7d2ec13f6f74ae015f85107ac
+bb9ab4f75aaafb0cfb50fb543060fb0a1e39709fa91f61f8a415ffffd0cccd8bffff
+e433338c5d8c85858b72918508c795833c1ffc05073c81834f1efffffa8000fffffa
+8000ffffff999affffeacccdff00048000fffff7b33308fffffc66668b632b918505
+9b90958c9e8b0813faa2957d7671767d6d1f778b808f7095848488848b7fa4809c85
+ab8b08c8b9aab6b16ca3631f828b828a838908ff00188000ff0041b33305ff001f19
+9aff0000b332ff00196666ff0000999ab08bad8bc389e18b08f70af736c8f77ef770
+fb0bf2fb441f548b4488678b080efb5ca8d6abcb7794bf80a6f81cb3f72ca9a67712
+c7e537c9f7cee213d7a0f84ef71e15650a7ffbba15660a13cfa0670a13d7a0680afc
+21fb2c1513e7609f0a0e89b0f8b3b101e4e8f7d2ec03f74ae015330a61f8a415340a
+0e80bf80a6f81cb3f72ca9a67712c7e5f7b8e213bef84ef71e15650a7ffbba15660a
+137e670a13be680a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff0014e666
+ff033f199815ea0aff00d0e666fffe61cccc15350a0e81bdf76bb4f72eb3ebbd01d9
+ebf7bfef03f83ef8de15bf0a74fbb615690aedfb53156a0afffe1c6666ff02a31998
+15fffffccccdff0000e668fffffb3333ff0000e668878bffffe4cccd8bffffed999a
+fffff0b330fffff99999fffffa999c08fffffe6666fffff61998ff005b3333ffff9d
+e66805ff000ccccdfffff28000ff00059999fffffb8000ff0004cccd8bff00066667
+8bff00059999ff000566648bff000480008bff00064cd0ffffff3333ff00064ccc87
+94080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03ff02171998ff033fe66815
+eb0affff2be668fffe17199815350a0e81bdf76bb4f72eb3ebbd01d9ebf7bfef03f8
+3ef8de15bf0a74fbb615690aedfb53156a0afffe716666ff029d199815ffffc3999a
+ffff94e66805fffff98000fffff48000fffffd4ccdfffffc66688bfffff5e6648bff
+fff9b334ff00059999fffffa9998ff0005999a8bff0005999a8bff00066666ff0003
+999c97ff000d800008e7ff00621998fffffd999aff0009e66805ffffed9999ff0013
+ccccffffeb8000ff0000e668fffffae6678b878bfffffb3333ffffff1998fffffd99
+99ffffff1998080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb1535
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7
+a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a0e81bdf76bb4f72eb301
+d9ebf7bfef03f747f7bc15690aedfb53156a0a0ef948bf01f71aa7f76ca703f82af9
+b915c00a0e0e89b0f79aaff784b301f747e8f74cace6ab03f80bf7bd15360a0e89b0
+f7fdb7f770b101f75fe2f760e903f7b6f712156b0a0e81b1f766aff7d0ae12aeecf7
+e8e967ae13f8f7fbf90515370a13f4380a0efb81b0f74ccb4fcfecb0f79bb073bd12
+cbd85be643c6f77be4a6cb139960f826f7cc156c0afb6ffbd61513d2606d0a13b260
+6e0af7faf84f15a09f9fa11f1395606f0a13b960700a13b0e0710a13b260720a13d4
+e0730a139960740a0e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0
+f823c3f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f7a2b3f77d
+b001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3f72ba9a67701f706e2f789e203
+f75dff013ce66615750a0e89b0f7a2b3f77db0e9eb12e7e553ebe8ebbae513f3f7cf
+f98915ad0a13f7fb5116ad0af83afd0f15f809078bd58e90d18f91918ba48591608a
+568a738b738b5d8c5f8c85858b729185d1888c878b3f08fb2a0713fbfba88b8cf72a
+058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85858b729185d388ff
+0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe333387448785858b72
+9185b68cb98caa8ba78bb78ab58a91918ba48591478e88908bda08f74bf7a8fb4b07
+8b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91918ba48591458e8890
+8bda080e89b0f823c3b0e6a2a9a67712f706e2f713e5a7e247e613fe80f865f8d015
+729f77a4a4a09fa4a476a0721e727776721ffb1d16dd0afb13ffff00e666158bff00
+15199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff00146666
+8ba0fffff2e666ff000b999affffe9199a0813ff0095ffffec33348dffffe4cccc8b
+6d08fb5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb8
+8ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8
+b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999affff
+fc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b3
+33b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b38
+7e89ffffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3
+338aff001e19998a91918ba48591ffffcd33348f828c8bdd080efb5ca8d6abcb779d
+b0f7a2b3f77db0129dc997e5f7a8e513ef807c2b159f0af8c7f76e15f809078bd58e
+90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f08
+fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c85
+858b729185d388ff0001333386ffffffcccd40088afc090513df80ffffffcccd3cff
+fffe333387448785858b7291850813ef80b68cb98caa8b0813df80a78bb78ab58a91
+918ba48591478e88908bda08f74bf7a8fb4b078b3c8786488885858b7291850813ef
+80b48cb78ca98b0813df80a88bb98ab78a91918ba48591458e88908bda080efb5ca8
+d6abcb779db0f823c3f72ba9a6771282c9c8e2f789e213dfc0f75dff013ce666158b
+ff0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff0014
+66668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08
+fb5b078b3a818a578686858b7290850813efc0ff00234ccc8cff0024b3348cad8b08
+13dfc0ab8bb88ab68a90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00
+308000ffffe8b334ff001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47ff
+fffc999afffffc3334fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004c
+cdccff0003b333b38b8b8b92878e828b72812a7d638889838d7b9185d28992868b40
+08fc49078b387e89ffffbd33338985858b7291850813efc0ff0027199a8cff0029b3
+338cb68b0813dfc0b28bff0021b3338aff001e19998a91918ba48591ffffcd33348f
+828c8bdd08fb87fb6e15a2957d7671767d6d1f778b808f7095848488848b7fa4809c
+85ab8b08c8b9aab6b16ca3631f828b828a83890813efc0a4ce698b632b9185059b90
+958c9e8b080e89b0f7a2b3f77db001e7e5f7a8e503f8b8f70e15390a0e89b0f823c3
+f72ba9a67701f706e2f789e203f75dff013ce66615750a0e89b0f8b3b101f7ade803
+f80af70e153a0a0e89b0f81facf713f70712f7a6f7042ee213f0f7a6f91e15760a13
+e8f5fc9815770a0e89b0f8b3b1e8eb12f73aeb9ee878eb13f8f80af70e15ae0a13f4
+78f90f15ad0affffac199aff0084e66815ffffa08000ffffb44ccc0581fffff81998
+fffffe8000fffffb999c8bfffff9cccc8bfffff99998ff0003ccccfffffa4cccff00
+05cccd8afffffb3333fffff88000fffffd199afffff733348bfffff6b3340871a175
+a5a5a1a1a51e8bff0014e668fffff1cccdff00124cccffffece666ff0006666408ff
+005a3333ff0029800005fffff63334ff0012ccd0fffff0199aff000f4cccffffe9e6
+66ff000bb334080e89b0f81facf71aeaffffcab3347612f760e986e28ee913eaf760
+f91815b60af74716920a13c688fc9215770afffee73334ff0270800015ec0a13d2ff
+fff9ccccff00056667fffffab334ff000566661eff000566668bff0006199aff0003
+8000ff000b8000ff000d333408ff0058999aebfffffdb333ff0009999805ffffee4c
+ceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8bfffffb8000ff
+ffff199cfffffdb333ffffff1998080e89b0f79ba7f790b0f27601f700e803f75df7
+0e153c0af764f94d15a50a0e89b0f82eb0f733a9a27701f70de203f73bf94815ffff
+fe6666fffffd800005ffffd68000fffff7e668ffffc08000fffff7ccccffffe2999a
+fffffdcccc89838d7b9185bdfffffde668ff0014e666fffffe8000ff00083334ffff
+e6800008ffffe74ccdffffd9199805fffff7e667fffff33334fffffcb333878bffff
+f4cccc8b849285928bff000680008bff00076666ff00038000ff000d199aff000c99
+9808fffe5fe668078b388081538785858b729185b58cff001c199a8cff002ce6668b
+ff002380008bff000c80008ab68a91918ba48591628f80958bde08f107a28a958a96
+879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba18c8f8cac8bae8bab8a
+ac8a92928ba28492658f6f916db008fb27f74d05879087938b918b8f8b8e8f8f08ea
+ee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92928ba28492628a7389
+638b618b758d628c84848b749284c9877163817e08716b69646e7671786d7e768908
+f7d5078bff00123334ff00004ccdff00103334ff00008000ff000de66408ff001e33
+33ff001cb33488960583ff0007b334fffff7999aff00051998fffff84cccff000366
+688bff00008000ff0000199aff00004ccc8b8b8b92878e828bfffffcb333fffffeb3
+34fffffb4ccdfffffe9998fffffa4ccdfffffe999cfffffe3333ff00001998fffffe
+80008b8a8b868b858a888a080e89b0f79ba7f790b001f700e803f75df70e153c0a0e
+89b0f82eb0f733a9a67701f70de203f70df71815780a0efb17b7e0b0f79ba7f790b0
+01f700e803f75df70e153c0af77ffb9115e30a0efb17b7e0b0f82eb0f733a9a67701
+f70de203f70df71815780af783fd4615e30a0e89b068bdf8a4b012f72ee8f7c8ae13
+78f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e2
+03ff011e8000f71515790a0e89b068bdf8a4b012f72ee8f7c8ae1378f75916f78c06
+13b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203ff011e8000f7
+1515790a0efb17b7e0b068bdf8a4b012f72ee8f7c8ae13bcf75916f78c0613dc3d0a
+13bc3e0a13dc3f0af73ffb1715e30a0efb17b7e0b0f8efaca67701ff011e8000e203
+ff01658000fb1715e30af71af79815790a0e89b068bdf8a4b012f72ee8f7c8ae1378
+f75916f78c0613b83d0a13783e0a13b83f0a0e89b0f8efaca67701ff011e8000e203
+ff011e8000f71515790a0e89b0f8b3b0f27612dfb274b2f7e8d943db13e2f879f708
+15400a13ec410a13f0420a13ec430a7cf7c215a50a0e89b0f824c255a7f77a7712cf
+ddf71cddf71cdd140e13def72af718157a0a13be7b0af707f8c415e60a0e89b0f8b3
+b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e89
+b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e89b0f8
+b3b012dfb274b2f7e8d943db13c4f879f70815400a13d8410a13e0420a13d8430a0e
+89b0f824c255a712cfddf71cddf71cdd141c13dcf72af718157a0a13bc7b0a0e9676
+93b0f8b3b012e7bcf800bc1378f88df87515440a13b8450a0e89b0f825a771bf12f7
+08e2f784e213d8f768f819157c0a13b87d0a0e967693b0f8b3b012e7bcf800bc1378
+f88df87515440a13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c
+0a13b87d0a0efb17b7ed7693b0f8b3b012e7bcf800bc13bcf88df87515440a13dc45
+0a57fcf815e30a0efb17b7e0b0f825a771bf12f708e2f784e213ecf768f819157c0a
+13dc7d0af727fc9c15e30a0e967693b0f8b3b012e7bcf800bc1378f88df87515440a
+13b8450a0e89b0f825a771bf12f708e2f784e213d8f768f819157c0a13b87d0a0e81
+b3f8bfb3ff005d80007601adecf80eec03ff02601998ff0324e66815ffffa08000ff
+ffb44ccc05fffff60002fffff81998fffffe8000fffffb999c8bfffff9cccc8b84ff
+0004999afffff9ccccff0006e6648bff0006e6688bff00094cccff00029998ff0010
+3334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0fffff0199c
+ff000f4cccffffe9e664ff000bb33408fffed2e668ffff24199815460af7bffba415
+470a0e81b4f836b4a8c089c212c7ebf757a6f5eb13ceff00e93333ff0300800015ff
+ffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99988bfffff6
+199c8bfffff9ccccff00056667fffffab334ff000566668bff000566668bff000619
+9aff00038000ff000b8000ff000d333408ff0058999aebfffffdb332ff0009999805
+ffffee4cceff00136668ffffec3333ff0000e664fffffb19998b08fffffc199a8bff
+fffb8000ffffff199cfffffdb333ffffff199808ffff52cccdfffde58000157e0af7
+85f76f157f0a13ee8ef70f15a70a13dea80a13eea90a0e81b3f8bfb3dce701adeceb
+e7f752ecaae703f911f98415ed0afc2e16ed0adbfb3b15460af7bffba415470a0e81
+b4f836b4a8c089c2c6ea129febf72de939a6f716e933eb13ce00f7a1f96f15b60a13
+cc80f73d16b60afc36fc8915fb06dffb12f7431eda8bc7a4b5b00813cd40c3bca3d2
+8bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b4508f785f76f157f0a13ed00
+70f70f15db0a13dd00a80a13ed00a90a0e81b3f8bfb301adecf80eec03ff005fe666
+ff0325199815ea0aff0075e666ffff6dcccc15460af7bffba415470a0e81b4f836b4
+ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff1d80
+00ff0147800015fffffce666ff0000e668fffffb6667ff0000e664fffffc33338bff
+ffe5cccc8bffffee4cce7cfffff9ccccfffffab33408fffffe8000fffff66668ff00
+57cccc2b05ff000c4cccfffff2ccccff00056666fffffb9998ff0004999a8bff0006
+33338bff00054ccdff00054ccc8bff000466688bff00063334ffffff3333ff000619
+98fffffc3333ff0008cccc080e81b3f8bfb3ff005d80007601adecf80eec03ff025b
+1998ff0324e66815eb0afffed7e668ffff24199815460af7bffba415470a0e81b4f8
+36b4ebbd01c7ebf7dceb03f83ef8de15bf0afb22fbf8157e0af785f76f157f0affff
+783333ff0150800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd80
+00fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668b
+ff000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebff
+fffdb333ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb19
+998bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e89b0f773
+b172aaf7a9b3ee7612f726e8f78cf013def783f89c15480a13be490a2ef751154a0a
+13de4b0af75af7dc15a50a0efb7eb0f74fb5f822aa75bef7607712f700e2f7b5eb13
+def770f7fe15800a72b215810a13ee820a13deee0a75f7b715e60a0e89b0f773b172
+aaf7a9b312f726e8f78cf013dcf783f89c15480a13bc490a2ef751154a0a13dc4b0a
+0efb7eb0f74fb5f822aa75be12f700e2f7b5eb13dcf770f7fe15800a72b215810a13
+ec820a13dcee0a0e967692a671b0f785acf7a1b412efe8f78aef131ef7bcf8d6154c
+0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff018c8000ff003a800055a7
+12f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0f785acf7a1b412efe8f7
+8aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f0a133e500a0e89b0ff01
+8c8000ff003a800055a712f76ae213b0f7c1f82a15830a13d0840a0e967692a671b0
+f785acf7a1b412efe8f78aef131ef7bcf8d6154c0a24fc5c154d0a139e4e0a135e4f
+0a133e500a0e89b0ff018c8000ff003a800055a712f76ae213b0f7c1f82a15830a13
+d0840a0efb17b7ed7692a671b0f785acf7a1b412efe8f78aef138ff7bcf8d6154c0a
+24fc5c154d0a13cf4e0a13af4f0a139f500af770fb9115e30a0efb17b7e0b0ff018c
+8000ff003a800055a712f76ae213d8f7c1f82a15830a13e8840a7afcad15e30a0e81
+b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a0e81b0
+8676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a13b488
+0a0e81b1f8c4b012c8b380dff7bdef3db313d8f893f8eb15510a13e8520a13d4530a
+0e81b08676f858b012e3b671d6f7b7dd42af1374e3f72415850a13ac860a13aa870a
+13b4880a0e81b1f8c4b0e876c7f707123ff704a4b380dff7bdef3db313fb00f893f8
+eb15510a13fd00520a13fa80530afb46f77015a50afc2d8915c30a0e81b08676f858
+b0f7607712e3b671d6f7b7dd42af1330eff94815ffffb46666fb0b05fffff7e667ff
+fff33334fffffcb333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188
+960574a1ffffe666668cfffff9999a8b08868b858a888a08137a7ffcb815850a13b6
+860a13b5870a13ba880a0e81b1f8c4b0e876f71af70712b5f7042eb380dff7bdef3d
+b313f300f893f8eb15510a13f500520a13f280530afb62ed15c40a13f800fb9bf756
+15760a0e81b08676f858b012e3b671d6f7b7dd42af1320f7bbf8dc15c50a1374fb63
+fc4c15850a13ac860a13aa870a13b4880a0e81b1f8c4b012c8b380dff7bdef3db313
+d8f893f8eb15510a13e8520a13d4530a0e81b08676f858b012e3b671d6f7b7dd42af
+1374e3f72415850a13ac860a13aa870a13b4880a0e89b0f851f7205fb0129badf774
+e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7ef
+b701f750e203e4f84c15890a0e89b0f851f7205fb0129badf774e8f773ad13bcf803
+f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7efb701f750e203e4f8
+4c15890a0efb17b7e0b0f851f7205fb0129badf774e8f773ad13def803f70e15540a
+13ee550a13de560a13ee570a13de580aa9fb9115e30a0efb17b7d8c6f7efb701f750
+e203e4f84c15890aff00518000fffdc4e66815e30a0e89b0f851f7205fb0129badf7
+74e8f773ad13bcf803f70e15540a13dc550a13bc560a13dc570a13bc580a0e81c6f7
+efb701f750e203e4f84c15890a0efb01ea8fb4f8b9ae01dbe8a6e9d6e9b1c003f741
+f88115590aa6fbd215920af73d16920a0efb01ea8fba84a6f818b012ff006f199ae9
+d6e9ff00406666e213deff00f6800081158a0a13be8b0a13de8c0affff78999a5715
+ff0000000271a076a58b08a5a0a0a5a576a171717675711ff73d16920a0e81b4f8b9
+ae01dbe8f7dcc003f741f88115590a0e81ba84a6f818b012ff006f8000e2f784e213
+b8ff00f6800081158a0a13788b0a13b88c0a0e81b4f8b9ae01dbe8f7dcc003f741f8
+8115590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a13
+788b0a13b88c0a0e81b4f8b9aeff005ee668ff003a4cccfffffdccccff003c800012
+dbe8ff003b3333a2ff00be4ccdff0017199aff00206666c013cfff02701998ff033f
+e66815ffffa08000ffffb44ccc0581fffff81998fffffe8000fffffb999c8bfffff9
+cccc8b84ff0004999cfffff9ccccff0006e6648bff0006e6688bff00094cccff0002
+9998ff00103334ff0007e66808ff006ee668ff0033199805fffff63330ff0012ccd0
+fffff0199cff000f4cccffffe9e664ff000bb33408fffe3ce668fffead199815590a
+13efff00e8999aff0200333415ffffefe6668bfffff0199aff00074cccfffff3cccc
+ff000d99980813dffffff04cceff0011800077ff0013e668ffffe680008bffffdb80
+008bffffec6666ffffd51998fffff41999ffffbf199cff0005199afffff96664ff00
+088000fffffee668ff00096666ff00023334ff00088001ff00244cccff00086666ff
+00108000ff0016199a8bff000e80008bff00118000fffff9999899fffff180000813
+ef9cffffee6668ff00129998ffffee6668ff0012b3348bff0027199a8bff0018cccc
+ff002ae664ff000a3334cdfffffae666ff00046668fffff76666ff00034cccfffff6
+999afffffee66808fffff4199affffd1ccccfffff6b33280ffffed4cce8b080e81ba
+84a6f818b0f6c089c212ff006f8000e2ff00d68000a6fffffe8000e21336f802f916
+15a70a132ea80a1336a90a13a5ffff888000fd20158a0a13658b0a13a58c0affffd5
+b333ff0326800015ffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000
+fffffc99988bfffff6199c8bfffff9ccccff00056667fffffab334ff000566668bff
+000566668bff0006199aff00038000ff000b8000ff000d333408ff0058999aebffff
+fdb332ff0009999805ffffee4cceff00136668ffffec3333ff0000e664fffffb1999
+8bfffffc199a8bfffffb8000ffffff199cfffffdb333ffffff1998080e81b4f8b9ae
+efde01dbe8bdddf758c0c0dd03f91cf95f159ea19ba4a5769b7774797b716ea37f9c
+1ffc148e15a39c9fa0a1799e74727b7776749c79a31f30fb7515590a0e81ba84a6f8
+18b0f3bdbdea12ff006f8000e2ff00708000e9ff00218000e2ffffd28000e9133e00
+f83ef8de15bf0a13bf00ff002c8000fce8158a0a137f008b0a13bf008c0aff004080
+00f97b15920a133e80f73d16b60a0e9576f8e1b001f84af8d6155a0a0e9476f85db0
+01f83cf851158d0a0e9576f8e1b001f84af8d6155a0a0e9476f85db001f83cf85115
+8d0a0e9576f8e1b0f37601f7fbf841155b0a46f90d15ffffddccccfffff46668ffff
+e88000fffff04cccffffedb334ffffee4ccc08f72e4c05a0829988938b938b92928b
+938b9287918093080e9476f85db0f7687701ff01668000f7f915d40afffed13334f8
+be15b10a0e9576f8e1b0f27601f7fbf841155b0ad5f90e15fb1035057e8289868b84
+8b839184948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cccff00
+116668ffffe36668ff000d4ccc080e9476f85db0f7687701ff01668000f7f915d40a
+ffff163334f8be15e60a0e9576f8e1b0f725ea01f894e9d6e903f7fbf841155b0ad7
+f90215920af73d16920a0e9476f85db0e8ea01f80de9d6e903ff01668000f7f915d4
+0affffbf3334f87815920af73d16920a0e9576f8e1b001f7fbf841155b0a0e9476f8
+5db001ff01668000f7f915d40a0e9576f8e1b001f7fbf841155b0a0e9476f85db001
+ff01668000f7f915d40a0e89b0f8b3b001f7a8e803f8a4ee155c0a0e89b0f82eb001
+f775f82d158e0a0e89b0f8b3b0ebeb12f717ebbce85aeb13f8f8a4ee15fb23f75905
+fffff73334ff000c199afffff8ccccff000ce6668b928b948c93949608ff00848000
+f73705aeb6ff0023800097b88f91918ba485916d8a668a748b748b618c638c85858b
+729185ab89ff0019800085746b08ffff898000fb3505fffffa199afffff7e666ffff
+f9e666fffffd199a878b0813f4888b878e869208fb02f730056fb18690c38e91918b
+a48591638a628a6a8b648b6a8c6d8c85858c729185b588a1fffffcb334b1ffffcc4c
+cc08f722fb550513f8938091838b818b85fffffc3334fffff7ccccfffff9ccccffff
+f8333408fb28fb4e05695f6b845e8785858b729185a98cb08ca28ba28bb58ab38a91
+918ba48591668d718da3ab08f718f74205919391908e8b8f8bff0004999afffffdcc
+cdff00056666fffff8333308f706fb3905a56488845c8985858b729185af8cb18cb3
+8bb28bac8aa98a91918aa4859108618e789063c30813f4fb64f92815ad0afb5116aa
+0a0e89b0f82eb0e8ea01f799e9d6e903f799f90215920af73d16920afb61fb69158e
+0a0e89b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a
+0e8bb1f8a8b69277f7037612c8a913d8f8bb89155e0a13b8d70a13d8d80afb63f9be
+15a60a0e8bb0f827b3957712d9af13b0f70df87e15900a13d0d90a0e8bb1f8a8b692
+7712c8a913d0f8bb89155e0a13b0d70a13d0d80a0e8bb0f827b3957712d9af13b0f7
+0df87e15900a13d0d90a0efb17b7e2b1f8a8b6927712c8a913e8f8bb89155e0a13d8
+d70a13e8d80afb25fb1515e30a0efb17b7e2b0f827b3957712d9af13d8f70df87e15
+900a13e8d90af762fd0115e30a0efb17b7e0b0f823c3f72ba9a67701f706e2f789e2
+03f75dff013ce66615750af733fb9115e30a0e81c6f7efb7f77bea12f750e2ffffc6
+8000e9d6e913f4e4f84c15890a13ecff001d8000ff0115e66615b60af73d16920a0e
+9476f85db088abf5ab12f768b3ebb313dcff01668000f7f915d40affff723334f873
+15a99d756c1f13bc6f7a726c6c7aa4a7a99ca2aa1e335615b70a0efb7cdbf8e9b0f7
+1aab01f717b3ebb303f7a6fb34159ca799a798a9e1f755d2f72ec4f7049aa8a0a7c0
+8e91918ba48591708a688a6d8b658b6c8c6d8c0885858b729185af8ab5867b6808fb
+15fbac05fffff2199affffe1b333fffffc199aff0000cccdfffff1ccccff001e8000
+08fb0df7970578b58699c290ff0005b333ff0005b334ff00004ccdff00171998ffff
+facccdff00074cceff00253333ff000a3332a7ff0022199c8bff0025999808ba61b1
+5d5d61645d1e8bffffd98000ff001d6666ffffde6666ff0024999afffff6199affff
+e5999affffff6666ffffe56666ffffff999a728b668b6c8c758c85858b729185bc87
+9488a94b08f727fbce059c679b6583777e6a7e6f7b6c7f776782708b7c8b868e7f8b
+086c7b6d7e76a07ba81fa28bd093b2cb0854f99c15ab0a0e81c353b8f833b312cbee
+4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a0e89acf800adf7
+7fad01e8daf3dc03f740f70e15da0a0e89acf800adf77fad01e8daf3dc03f7d7f84a
+15fb2bffffa766668bff007c999a05f70c9bd1c01ea38b92788f779070997da68ba5
+8b94a08b9c8b9c809b7c98779d7597628b0848334cfb327081766c79867f831f8207
+878c8a8f1eb706998c877f1f8bffffb4199a84fffffbe66692fffff4199a8bffff5a
+e666058b388086558885858b769185b58ca18cb48bb98ba88ab68a91918ba0859147
+8e80908bde088bff00bc3334f73cff0061cccc050e89acf800adf3b2e7ad01e8daf3
+dc03f80df8d015ffff38666606ff00084ccdff003b33349eff0020ccccff00244ccd
+8ba38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde08f7f4
+078bff00154cccff00008000ff0013b334ff0001199a9d08ff00cb6666060e81b16d
+b0f7a6a8f790ae12d5e0f70fa8f755e513bef733f70e15f74a07f75bcfe2f70bb5bd
+7d7e1e8b752efb255b4a08917405928c908b918b08f732a4fb0069fb02636e591fff
+ffc480008bffffe78000b578d7818d828a818788448f749071a9ffffed8000ff001e
+8000fffff18000ff003880008b08f718c4e4e8e533d72687898d8f1f8b8d8b8d8d8e
+08f727f7748ba205519d4b944d8b08fb9a6ffb2efb531ffb3207137e8b3c88fffffa
+800055fffffd800085858b729185ff001d80008cff001f80008cb28bff002a80008b
+ff002280008aab8a91918ba48591084d8e86908bda080ed07faef912b001f726f757
+15a5f705b4bcf708c3d24c9d2d7e5277336033248b218b86ed9dd5084582157b4294
+fb11f72d8bea8bf70cb7b4f7469dd776f130cb31cb63af94b198c4c399b38bad8ba2
+7d976f08986d957c958b978baf9492aa8e97809d74a173a06496558b528b41757735
+7e53a965c84c08fb245647fb007735080e89b0f756b3f7f87701f787f7a1152c0afb
+8ffb52152d0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb
+401513ac600a1374610a0e89b0f756b3f7f877f74ea301f7abb8a1a59bbf03f787f7
+a1152c0afb8ffb52152d0af7bbf93c15ef0a0e81c353b8f833b3f72f76c4a612cbee
+4fe94eb69aa795bdf71ae0137c60f832f78e155f0af705fb401513ba60600a137c60
+610afb0ef8e7159c7bb4541e133960616a68751f133c607f937c9e949895961e8b93
+88918a8e081339e08a8d8a8d8b8f089090919ea09381741e8b7f867f837f807a7e75
+8a6908a7068da5959c9c9b9b9b9a9b8b9f080e89b0f756b3f7f877f57601f787f7a1
+152c0afb8ffb52152d0af75ef96d15a60aff00d11998ff0037666815f00a0e81c353
+b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac600a1374610a
+ffff88999aff02a3333415f10a0e89b0f756b3f7f877f57601f787f7a1152c0afb8f
+fb52152d0af75ef96d15a60affff4c199aff0036cccc15ffffe81999fffff6b334ff
+ffef8000fffff38000fffff33333fffff1cccc08ff006bccccffffcd999c05ff000e
+b332fffff8ccccff0009cccdfffffd9998ff0005999a8bff000599998bff0004e666
+ff0005999c8bff000666648bff0005999cfffffd3334ff0004ccccfffff84ccdff00
+066664080e81c353b8f833b312cbee4fe9f76fe01324f7dbf96615b30ae2fc6c15b4
+0a1374b50af705fb401513ac600a1374610afffe49199aff02a3333415f20a0e89b0
+f756b3f7f877f576f731a301f84bb8a1a59bbf03f787f7a1152c0afb8ffb52152d0a
+f75ef96d15a60af7919215ef0a0e81c353b8f833b3f7b4a612cbee4fe9cfbcbabd90
+e0137b80f832f78e155f0af705fb401513b780600a137b80610a92f948159c7bb454
+616a68757f937c9e1eff0000cccc8bff0000ccce8bff0000e666ff000033346effff
+d23334ffffd24ccdffffca6664ffffdc3333ffffd83334918292859489b2a1aca8ab
+aba96cae6fb173ff00096666ff0001e668ff0008999aff00081998909208ffffe866
+66ff001a333470ff001fcccc73abff0004b334ff00084cccff00063332ff00078000
+ff0007b334ff000733349b9b9a9b8b9f08ffff908000ffffe7e66815ff00074cccff
+00036664ff00073334ff0007999c8bff000819988b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8b7f867f837f89fffffce668fffffde666fffffccccc89fffffc
+8000fffffab334ff0007b33486ff00079998fffffb6666ff00078000fffff6ccccff
+00029998fffff6ccceffffffccd0fffff6e666fffffe8000080e89b0f756b3f7f877
+01f787f7a1152c0afb8ffb52152d0af77cf95315a60a0e81c353b8f833b312cbee4f
+e9f76fe01324f7dbf96615b30ae2fc6c15b40a1374b50af705fb401513ac600a1374
+610a0e89b0f756b3f7f877f47601f787f7a1152c0afb8ffb52152d0af77cf96c15a6
+0a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0af705fb401513ac60
+0a1374610a0e89b0f756b3f7f877e1bf01f74aa703f787f7a1152c0afb8ffb52152d
+0af7c9f96915fffff6999a8bff00594cceff0029199805fffff63330ff0012ccd0ff
+fff0199cff000f4cccffffe9e666ff000bb33408ffffa08000ffffb44ccc0581ffff
+f81998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006
+e6668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff000019
+9aff0000199805fffff2b332ffffdf3334ffffd0e668ffffedb334ffffd34ccc8b56
+8b5ca183b2086f069045c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0001
+b3347612cbee4fe9f76fe038a6136400f832f78e155f0af705fb401513a300600a13
+6500610affff193333ff02bf800015ec0a132880fffff9ccccff00056667fffffab3
+34ff000566661eff000566668bff0006199aff00038000ff000b8000ff000d333408
+ff002b199aff002eb33005133080ff0014b333ffffbfccd0ff002e1999ffffdb1998
+ff003c199a8bc68bcbbc97e10870970581515d6b578bffffd0cccc8bffffd94cceff
+001c3334ffffef9999ff002a800008ff0014e667ff0016b334fffffdb333ff000999
+9805ffffee4cceff00136668ffffec3333ff0000e664fffffb19998bfffffc199a8b
+fffffb8000ffffff199cfffffdb333ffffff1998080e89b0f756b3f7f877e1bf01f7
+4aa703f787f7a1152c0afb8ffb52152d0af7c9f96915ffffe8666606fffffe3334ff
+0003333488ff00033334fffffb8000ff0003cccc08ffffa2ccccff0049e66405ffff
+e5b334fffff5ccd0ffffede666fffff23330fffff1e666fffff0666808ff0076999a
+ffffc880000598fffff99998ff00098000fffffd199cff00066666ffffff1998ffff
+ed999affffe64cccffffd6ccccfffff1e668ffffd8b3348b568b5ca183b2086f0690
+45c560d48bcd8bcbb591d2080e81c353b8f833b3e5c4ff0009cccc7612cbee4fe975
+a6f76ae038a6133140f75ef96b15c10af768fc7115b40a136400b50af705fb401513
+a280600a136480610afffeb08000ff02c8800015fffffce666ff0000e668fffffb66
+66ff0000e664fffffc33348bffffe5cccd8bffffee4ccd7cfffff9ccccfffffab334
+08fffffe8000fffff66668ff0057cccc2b05132800ff000c4cccfffff2ccccff0005
+6666fffffb9998ff0004999a8bff000633338bff00054ccdff00054ccc8bff000466
+688bff00063334ffffff3333ff00061998fffffc3333ff0008cccc080e89b0f756b3
+f7f877e1bff712a301f74aa7e3b8cbbf03f787f7a1152c0afb8ffb52152d0af7c9f9
+6915fffff3999a0695ff00083334ff00076666ff0009e6648bff000ee668089b7cb3
+4b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea1997f
+741e8b7d83838282fffff4b334fffff4b334fffff3cccc7efffffe999affffe31998
+fffff1199afffffb8000ffffefb332fffffdb334fffff0199a8b568b5ca183b2086f
+069045c560d48bcd8bcbb591d208ffffc64cccffffd7cccc15ff00056668ff000ae6
+6894ff0007b334ff000a6666ff00074cccfffffab332fffff5ccccfffff74cceffff
+f74cccfffff5333284080e81c353b8f833b3e5c4f71da612cbee4fe94bb68aa6a6bd
+f71de038a6137c40f832f78e155f0af705fb401513ba60600a137c60610afb11f944
+159c7bb4541e133940616a68757f937c9e949895961f8b9388918a8e8a8d8a8d8b8f
+089090919ea09381741e8b7f867f837ffffffe999afffffde668fffffe9999fffffd
+b330fffffe999afffffdb334081338d0fffffbb333ff0008e668fffffc999aff0009
+9998fffffde666ff000a333408707f05ff0003b333ffffe96668ff00066667ffffeb
+e664ff00089999ffffee999cfffffe8000848afffff86664ffffffcccdfffff7b334
+08ff0010800006ff00188000ffffde8000ff00238000ffffed8000ff002a80008bc6
+8bcbbc97e10870970581515d6b578bffffe080008bffffe43333ff000c9998ffffec
+3333a0ff00048000ff00074cd0ff0005b334ff00069998ff0006e666ff000680009b
+9b9a9b8b9f080e89b0f756b3f7f877cebf01f772a7f76ca703f787f7a1152c0afb8f
+fb52152d0af7f1f95615c00a0e81c353b8f833b3e5c412cbee4fe975a6f76ae038a6
+133280f75ef96b15c10af768fc7115b40a137800b50af705fb401513b500600a1379
+00610a0e89b0f756b3f7f877e1bf01f76fa7f76ca703f787f7a1152c0afb8ffb5215
+2d0af7eef96915c00a0e81c353b8f833b312cbee4fe9f76fe01374f832f78e155f0a
+f705fb401513ac600a1374610a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03
+f7d7f7eb15350a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb5315
+6a0a0e8bb2f7a0aff77ab3f746a301f70ee88cb8a1a59bbfb0ace4ac91ae03f7d7f7
+eb15350ac1f83415ef0a0e81bdf76bb4f72eb3f72f76c4a612d9eb4db69aa795bdf7
+6bef13f8c0f747f7bc15690aedfb53155c605771408bffffbfcccc8bffffc33334a1
+62c50813fcc072b17faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f
+8b4da04eb461b55ed871e38be98bdeb2bdc5889686957c8c08fbb9f8b1159c7bb454
+1e13fbc0f30a0e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a
+0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a0e8bb2f7a0
+aff77ab3ed7601f70ee8f75bace4ac91ae03f7d7f7eb15350a83f86515a60aff00b4
+199aff0035666815ffffa93332ffffbb333005fffff6e668fffff8ccd0fffffe9998
+878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc8bff00064cce
+8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff002e666405ff
+fff71998ff0011199cfffff1999cff000dccccffffebe666ff000ab334080e81bdf7
+6bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0affff01999aff026d33
+3415ffffd2ccccffffaeb33405ffffec999affffe81998ffffebcccdffffe8ccccff
+ffee3333ffffec3334918292859489b2a1aca8ababa96cae6fb173ff00096666ff00
+01e668ff0008999aff000819989092ffffdfb334ff0023e668ffffd93332ff002e66
+64ffffe36666ff002b199c08fffffe999a9105fffffde666ff00024cccfffffde668
+8dfffffde666ff0001b334ffffff8000ff0000e664ffffff6666ff0000ccccffffff
+8000ff0000e668ffffff199aff00004ccc8aff00003334ffffff199aff00003334ff
+fff36666ff00089998fffff44cccff00008000fffffc80008bfffffc80008bfffffb
+ccceffffff3334fffffde666ffffff3334080e8bb2f7a0aff77ab3ed7601f70ee8f7
+5bace4ac91ae03f7d7f7eb15350a83f86515a60affff2d199aff0036cccc15ffffe8
+199bfffff6b334ffffef8000fffff38000fffff33333fffff1cccc08ff006bccccff
+ffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998ff0005999a8bff0005
+99998bff0004e667ff0005999c8bff000666648bff0005999cfffffd3333ff0004cc
+ccfffff84ccdff00066664080e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b3
+0afb32fc3e15690aedfb53156a0afffdaf1998ff026d333415f20a0e8bb2f7a0aff7
+7ab3ed76f734a312f70ee8f70fb8a1a57aac8bbfb0ac91ae13ff70f887f9c6159b7c
+b34b556f69767f927c9f9b9694971e8b928790898e898d8a8e8b8e089094949ea199
+7f741e8b7d838382827f7f7e7d8b6a08a5068da49a979d97089c969b968ba108fb44
+fc6f15fb00f75006a2979ea31ef74006d68b9b67a1499789968e958f86b27ce68993
+8b8d8a8c888b7a88838a738b08fbe8068b8b468c598c85858b729185d1889c868b3c
+08fc05078b3c7a86458885858b729185bc8cd28c8b8b08f7b606bbdb898b1f99bb9a
+ca93bb81917f8d7e88774768543f8b08fb5506757d9aa51ff777f7000713feb0e08b
+8e758e609185a08b919189ab8bff001333348bff0020cccc8babff0000b334ff0016
+b334ff00014cccff001b4ccc8591768b85858857887e368b085ff86515a60a0e81bd
+f76bb4f72eb3f7b4a601d9ebcfb6c0bde0ef03f747f7bc15690aedfb53156a0afb37
+f912159c7bb454616a68757f937c9e949895961e8b9388918a8e8a8d8a8d8b8f0890
+90919ea09381741e8bfffff8b334fffffe199afffff89998fffffcb332fffff8b334
+fffff6b334ff0001ccccfffff6ccccffffff3334fffff6b334896e5d5d5567639182
+92859489ff0022199aff00133334ff001d8000ff00189998ff001c3332ff001b3334
+08ff001433348bff00004cccff0003999805ff001c199affffe44cd0ff0020199aff
+ffe6e664ff00228000ffffea3334ff00096666ff0001e668ff0008999aff00081998
+9092ffffe3199aff00201998ffffdde666ff00288000ffffe4b334ff0027199cff00
+006666ff00006664ff00008000ff00008000ff00006666ff000066689b9b9a9b8b9f
+080e8bb2f7a0aff77ab301f70ee8f75bace4ac91ae03f7d7f7eb15350a83f84515a6
+0a0e81bdf76bb4f72eb301d9ebf7bfef03f7e5f96615b30afb32fc3e15690aedfb53
+156a0a0e8bb2f7a0aff77ab3ee7601f70ee8f75bace4ac91ae03f7d7f7eb15350a72
+f86615a60a0e81bdf76bb4f72eb301d9ebf7bfef03f747f7bc15690aedfb53156a0a
+0e89b0f8b3b1f743a301d0b8a1a59bbfbee803f80af70e153a0afb24f91115ef0a0e
+89b0f81facf74a76c4a601abb69aa795bdf707e203f810f71a15ba0afb5ef89815dc
+0a0e89b0f8b3b101f7ade803f80af70e153a0a0e89b0f81facf713f70712f7a6f704
+2ee213f0f7a6f91e15760a13e8f5fc9815770a0e81b3f8bfb301adecf80eec03f7c7
+f8dd15460af7bffba415470a0e81b4f836b401c7ebf7dceb03c7f77a157e0af785f7
+6f157f0a0e81b3f8bfb3e176f711a301adecf718b8a1a59bbfe0ec03f7c7f8dd1546
+0af7bffba415470afb4af86a15ef0a0e81b4f836b4f72f76c4a612c7eb60b69aa795
+bdf775eb13fb80c7f77a15fb06dffb12f7431eda8bc7a4b5b0c3bca3d28bcf8bf708
+44f71afb508b3a8b496d5e5b085f5b724b8b4508f785f76f157f0a61f75d159c7bb4
+541e13f780f30a0e81b3f8bfb3e17601adecf80eec03f7c7f8dd15460af7bffba415
+470afba2f88315a60aff00cd1998ff0030666815f00a0e81b4f836b401c7ebf7dceb
+03c7f77a157e0af785f76f157f0aff0003999aff0119333415f10a0e81b3f8bfb3e1
+7601adecf80eec03f7c7f8dd15460af7bffba415470afba2f88315a60affff4e199a
+ff0038cccc15ffffe81999fffff6b334ffffef8000fffff38000fffff33333fffff1
+cccc08ff006bccccffffcd999c05ff000eb332fffff8ccccff0009cccdfffffd9998
+ff0005999a8bff000599998bff0004e667ff0005999c8bff000666648bff0005999c
+fffffd3333ff0004ccccfffff84ccdff00066664080e81b4f836b401c7ebf7dceb03
+f7eff96615b30afbb3fc80157e0af785f76f157f0afffea9199aff0119333415f20a
+0e81b3f8bfb3e176f735a312adecf7b2b8a1a58aec3bbf13fd00f7c7f8dd15f707e2
+22fb4efb384227272029f5f7431ff752ebdfdb1ef7bffba415470afba2f88315a60a
+13fc80f78696159b7cb34b556f69767f927c9f9b9694971e8b928790898e898d8a8e
+8b8e089094949ea1997f741e13fd008b7d838382820813fe807f7f7e7d8b6a08a506
+8da49a979d97089c969b968ba1080e81b4f836b4f7b4a601c7ebedb6c0bddfeb03c7
+f77a157e0af785f76f157f0aeef7be159c7bb454616a68757f937c9e949895961e8b
+9388918a8e8a8d8a8d8b8f089090919ea09381741e8bfffff88000fffffe199affff
+f89998fffffc999afffff88000fffff61998ff00024cd0fffff6199affffff3330ff
+fff6199afffffde6686e5d5d556763918292859489ff0022199aff00133334ff001d
+8000ff00189998ff001c3332ff001b333408ff00163334068bff00009998ff000019
+9aff0000999cff0000199aff00009998ff001b999870ff001f6668ffffe78000ff00
+21ccccffffeab334ff00096666ff0001e668ff0008999aff000819989092ffffe366
+66ff001fccccffffde4cceff0028199cffffe4ccccff0026b330ff0000ccccff0000
+ccd0ff0000ccceff0000ccccff0000e666ff0000cccc9b9b9a9b8b9f080e81b3f8bf
+b301adecf80eec03f7c7f8dd15460af7bffba415470afb84f86715a60a0e81b4f836
+b401c7ebf7dceb03f7eff96615b30afbb3fc80157e0af785f76f157f0a0e81b3f8bf
+b3e27601adecf80eec03f7c7f8dd15460af7bffba415470afb83f88415a60a0e81b4
+f836b401c7ebf7dceb03c7f77a157e0af785f76f157f0a0ef7c5f94ef70e01f796f7
+5d03f821f9c815a50a0eeef8a8f73401bdf73003f71df94815b20a0ef7c5f94df70c
+01f76bf76803f7b7f9c515af0a0eeef8a7f7350151f73203a3f94815b10a0ef7c5f9
+aba301f7a9b8a1a59bbf03f84af98b15ef0a0eeef91976c4a601f700b69aa795bd03
+f792f91e15dc0a0ef7c50eee0ef7c50eee0e81b4f8b9ae01dbe8f7dcc003f741f881
+15590a0e81ba84a6f818b012ff006f8000e2f784e213b8ff00f6800081158a0a1378
+8b0a13b88c0a0e81b4f8b9aef744a301dbe8e5b8a1a59bbfd8c003f741f88115590a
+f78ff88b15ef0a0e81ba84a6f818b0f73776c4a612ff006f8000e2ffffcb8000b69a
+a795bdff00928000e213bdc0ff00f6800081158a0a137dc08b0a13bdc08c0aff002d
+8000f928159c7bb4541e133bc0f30a0ef7c6f94ef70e01f7a0f75d03f82bf9c815a5
+0a0ef730f8a8f73401bbf73003f71bf94815b20a0ef7c6f94ef70c01f768f76803f7
+b4f9c615a40a0ef730f8a7f735015af73203acf94815b10a0ef7c6f9aba301f79db8
+a1a59bbf03f83ef98b15ef0a0ef730f91976c4a601f730b69aa795bd03f7c2f91e15
+dc0a0ef7c60ef7300ef7c60ef7300e89b0f8b3b0f27601f7b0e803f80df70e155d0a
+fb2af94b15a40a0efb7cdbf8e9b0f7687701f7a6fb34158f0afb8cf9e815b10a0e89
+b0f8b3b001f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0e89b0
+f8b3b0f744a301f771b8a1a59bbf03f80df70e155d0a90f91115ef0a0efb7cdbf8e9
+b0f73776c4a601f71bb69aa795bd03f7a6fb34158f0a92f9be15dc0a0e89b0f8b3b0
+01f7b0e803f80df70e155d0a0efb7cdbf8e9b001f7a6fb34158f0a0ef50ef8f20ef5
+0ef8f20e4e0efb240efb770ef60efb770efbba0efc140efc1d0ef780c101def7a303
+f7d4f78015f40a0ef780c101def7a303f7d4f78015f40a0ef7b3bb01f846f7b31597
+8b9da08d978d948991818b08fbe0067f8b7a7a887b89828f85958b080ef782bc01ea
+f7b315825af85c8b94bc050ef782bc01e0f7b315825af93f8b95bc050ef782bc01e0
+f7b315825af9f48b95bc050ef73afb5115f75ffaaa638bfb5ffeaa054c16f760faaa
+638bfb5ffeaa050efb2eb7c9b701f861fb0215fc728b835ff8728b05a7f72a15fc71
+8b835ff8718b050ef858f708f71aaf01ff00db8000c503ff012c8000f85815f50a0e
+f837aff71af70801ff016a8000c503ff01538000f95515270a0efb38aff71af70801
+ff016a8000c503ff01538000f70e15270a0ef837aff71af70801f784c503f7d4f955
+15f60a0ef858f708f71aaf01ff008e8000c5f72fc503ff01b48000f85815f50afb69
+16f50a0ef837aff71af70801ff00e28000c5f72fc503ff00cb8000f95515270af769
+16270a0efb39aff71af70801ff00e28000c5f72fc503ff00cb8000f70d15270af769
+16270a0ef84baff71af70801f708c5f730c503f75af969155b6958431f8b37e549c9
+7e9393939b8b974d9b5bc38ba48ba79692a28da18fab968bb108ad70a8661ef76816
+f60a0ef81beff7627712f788e4569c13e0f7b5f94d1571786e6c1f13d08b40974da3
+5964a3569c428b086e73746f6fa276a91fd08bc298b4a58b327c4d6c69aa379afb2b
+8bfb6d089c068bf7659bf72baae76bb37cca8bddb671c37ecd8b08a9a3a0a7a773a2
+6d1f498b537d60700813e0a3bc97c98bd708ab77a7731e0e8beef7b8eff7627712f7
+88e4569c13e8f898f84c15a774a26c1e498b537d60700813f0a3bc97c98bd708ab77
+a77371786e6c1e13e88b40974da35964a3569c428b086e73746f6fa276a91fd08bc2
+98b4a58b327c4d6c69aa669a4d8b3565a2549b438b08726f786d6ea476a71fce8bc2
+98b6a60813f073587f4d8b410869a071a3a59da9a91e13e88bd57fc973beb870c27e
+cc8b08a8a4a0a8a9719e6f1f4a8b547e5e718bde9bc9aab36bb37cc98bdeb671c37e
+cd8b08a9a3a0a71f0ef708f77801f762f77803f762f77a154cbe58cacabebecaca58
+be4c4c58584c1e0edff7bc01f750f79c03f750df15f79cf728fb9cf728050e81f71a
+01f783f71c03f783c415290a0e81f71a01ff00a98000f71cd0f71c03ff00a98000c4
+15290af76116290a0e81f71a01bbf71ce4f71ce3f71c03f885c415290afb7416290a
+fb7516290a0ef769f71a01f783f71c03f783f7ac15290a0efb810ef88b78a875b2f7
+52b2bab2f722b096b212c4c6f70fb1f0c7f70eb1d1bff71ca913bff0f964d815f700
+0a579915f7010afb7a8615c0b1d9b898a5835b1e137ff0576d39587a7396bb1e4f97
+15230a7df83b15240afb8cfb0c15250a0ef99578a875b2f753abc0b2f722b096b212
+c4c6f70fb1f0c7f70eb1d1bff71ca9b1bff71ca913bffcfa64d815f7000a579915f7
+010afb607d15f7020a579915f7010afb7a8615c0b1d9b898a5835b1e137ffc576d39
+587a7396bb1e4f9715230a7df83b15240afb8cfb0c15250a0efb24f898f74b01f73d
+f72903f7b0f94f15f7030a0e47f89bf74a01f71bf7ae03f813f95115808b7d858580
+083bfb2205898789868b8a8a849085938b908b908e8e8f08f708f70e0590908d918c
+8f8ea07a9c778b08fb198915f7040a0ef712f898f74b01f8b4f94f15f7040afb1616
+f7030afb1616f7030a0efb29f8a6f74601f750ef03f768f95315f7050a0e70f89cf7
+4b867712f7bbd013a0f75cf948157c828280897f8a858c878d8708d8fb0f058c898e
+8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c8b8c8a8d086af725058a91888e868f0813
+60868d878d858b08858b8489858708f70d90157c828280897f89858c878d8708d9fb
+0f058c898e8a8e8b8f8b8f8c8e8e8e8d8d8e8b8e088b8f6af725058a90888f858f08
+13a0878d868d868b848b85898587080ef6f8a4f74601f7cbcf03f86ff950157c8283
+80887e8a868c878d8708d8fb0f058d898d8a8f8b8e8b8f8c8e8e8e8d8d8e8c8e8b8c
+8b8c8a8c086af726058a90888f868f868d878d858b858b8489858708fb1f8e157c81
+8380897f8a868b868d8708d8fb0f058d898e8a8e8b8e8b8f8d8f8d8e8e8d8e8b8d08
+8b8f69f725058a91888f868e868e878c858b858b8489858808fb1016f7050a0e65a1
+7601f5f79d03f807f84215303a354a3b5a08836405c667c84ac92d0895c10569d167
+c165afc2b4c3c1c7cd080e65a07601cff79d03cf16e6dce1ccdcbc0892b20551b04e
+cb4de908805505ae45af55b167546252565048080ef7495bf6f702f6f0f501c5f6f7
+bbf503f76e9015856e9f73a88ba98ba7a391a891a977a36e8b6d8b6f73856d08f786
+f76d15866d9e73a88ba88ba8a390a991a878a36d8b6e8b6f73856e08fc268c15856d
+9e73a98ba88ba8a391a990a878a36e8b6d8b6e73866e08f785f76315856e9e73a98b
+a88ba8a390a891a878a36d8b6e8b6f73856e08fb1ea715ff0086199affff106666ff
+ff1fe666ffff13999aa078ff00d96666ff00e5cccdff008e999affff013333a79dff
+ff6d8000ff01063334ff00fb8000ff0109cccc769dffff0b3334fffefdccccffff7d
+ccccff00e93333050e9d81f612cef689f7036bf668a91388f83df92815758b677980
+547e4594698332843d7f3189778a858c84968b958b90938f978e9999c7acf608a6e1
+a3b598cc0895bd72a2708b081390fb42fcfd15866e9e73a88ba98ba8a390a891a977
+a36e8b086e8b6e73856d0881f8fb1513a0758b677880557e4594688333843d7f3189
+768a858c84968b958b90948e968f9999c7acf70008a6e1a3b598cc94bd73a2708b08
+13c0fb42fcfd15866e9e73a88ba98ba7a391a891a878a36d8b086e8b6e73856e080e
+b97ff512f720d95af568a913d0f76af8ae15ff0003cccdff00109998a3ff0011199c
+ff001f9999ff000a1998fffff2e666ffffbc199cff0008999affffdab332fffff819
+9affffa86666843e7f3089778a858c84968b958b90938f97ff0001b334ff0008199a
+ff00058000ff00176666ff000a9998b208ff00048000ff00086666ff00054cceff00
+088000ff00066666ff0008999a9799a29aa59ac0aac7b699d3ff000c199aff003f19
+98ffffd7199aff002de668ffffb2ccccff000b4cccfffffd3334ff001dccccffffec
+ccccff000de668768bffffed199a8bffffe43332fffff31998fffff13334ffffdd4c
+d008ffffe2cccd85ffffe5800081ffffec3333fffff29998697571738568846ba384
+9b8b9e8ba1968fa08e978990888f0888908a908d990813a05efc8515866e9e73a88b
+a88ba8a390a891a878a36e8b086e8b6e73856e08ff00d5199aff0216800015a6ffff
+ece668ff000de666ffffde199885ffffdf80008261786c5d6afffff38000fffff719
+9afffff53334fffff73332fffff6b332fffff733348e95ff00033334ff000a8000ff
+0003666696ff0019b334ff0051b334ff0017ccccff002cccccff000c999ac7080ea9
+f918b701f89ef94415fbf48b825ff7f48b050ef767f2c4f7bbc401f767c4f701c4f3
+c403f8adef15696b5e8485678b898a8a8b8a8b809481988bab8b9abea7b19a6a8853
+ac8b978b9a958e9b0891078ba8669476a89a8e9a8c9c8ba88baa918fa58b8c8c8c8b
+8c8b948698778b6e8b7970617a0891a5a0ad8fa28c8d8b8d8b8d8b9b80927e8b7c8b
+7d7c88798b888a888b888b7a93788b73088b888b878a89689a81a76e8b768b817e89
+7f08860775a486b11e988b978a968908fbda16686b5f848467088707809381981eab
+8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba8659476a89b8e9a8c9b
+8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8fa28c8d8b8d8b8d
+8b9b81927d8b7c8b7e7c87798b888a888b88088b7a93788b73088207689a80a76e8b
+778b807e897f08860775a486b21e988b978a968908f73af7f415686b5f8584660887
+07809381981eab8b9abea8b19a6a8753ad8b978b99958e9b8c8d8b8d8b8d8ba86694
+75a89b8e9a8c9b8b08a98ba99190a5088e07948698771e6f8b7870617a92a59fad8f
+a28c8d8b8d8b8e8b9a81927d8b7c8b7e7c87798b888a888b88088b7a93788b730882
+07689a80a76e8b778b807e897f08860775a486b21e988b978a9689080efbf1f774f8
+ed15fc5efd23b48bf85ff923050ef81881f70cf894b012f719d7bbf70e3aacf708f7
+2dfb2df71ebbf70e3aacf708ec13ec40f765f8b215a9b8bdd9d9b04b411e8b5c7d6c
+54663f5887578b600864078491889595928e921eb0078ba38f949ba4969ca19ca89b
+ff00306666ff001a6666ff0040b332b5ff000eccd0ff003f999a91fffffd6666ff00
+05e664fffffe999aff000533348ba28b9e978ba28b98889186900813e2c086908991
+8b9a08a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+72ffffee8000fffff46668fffff13334fffff18000fffff54cccffffefe66408ffff
+e48000ff00386668ffffc4199aff0024ccccffffa966668b4b8b4f71687267737267
+8b650868a9799ea29e97a21e8b988891869008869089918b9a0813f040bbfc801521
+0a13e140f80c16210a0ef75d81f70cf894b012f70ed7bbf70e3aacf708ecdbf70efb
+06f513ecf75af8b2152b0a13f4bbfc8015210af840f8f61513e5200a13e64efcf415
+210a0ef7567ff70cf894b012f78af70efb06f71234a7f6f70e3aacf708ec13d3f810
+f8b015a9b8bdd9d9b04b411e8b5c7d6c54663f5887578b600864078491889595928e
+921eb0078ba38f949ba4969ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f7168
+7289fffffe999889fffffe999c89fffffe999808fffffa999aff00293334ffffe6b3
+329affffeab3348b738b6e788b558b45996894330813c9933d91318d768c858e8495
+8b958b8e948c968d998bc798f700ff0002ccccff00184cccff0003199aff0014ccce
+ff0003199aff0012ccccff0002ccccffffff6666ff0002b334ffffffb334ff000280
+008b08a29e97a21f8b988891869008869089918b9a0813c5bbfc8015210a13e1fb4a
+8d15210a0eb8f7d8e001f77bb103f71ff7e515b183b686b98bbb8bc091c0982cfb54
+2dfba68b8a088d85af8c058b8bdef7a0f714f7919298949f8b960890898e87766c72
+8b1e67856587658b4f8b4f94549e080ef765fb7ea7f839f8436da412f7faf7ce13b0
+f726fb6315838c848d898e859289938e978c948d958d9508f736f951058d968e958d
+929097919492918f8e918c938c948b92888e878f848d818a818a858a81887e08fb35
+fd4c05887e89818985867f858283850883858588858c08487115f70a8bf68a90a005
+8c908a8d878b086d067e8c828d888f869289948d968d948d958c9508e1f8060513d0
+9884a986ab8bc68bc0a4b3acc2b7a9be9bd190a28ea08b9f8bad83a67fa377b3599e
+4e8b08718b4a8a65880813b0808a7f8b7f8b0868698e8b1f13d0fb018d8676058987
+8d888e8b08a906998b93898e8691848c828a808a868981887e08fb35fd5005887e88
+818985877f858383848687828a7d8a086d06888b88888a87088676050efb7afb08a0
+eaebf76fed01a6abcef003df3915858f85948597879589968a978a958c928c918c8f
+8c8e8d8f95849488938b998b968d9592089a9593998f9b8e978894869484977e907b
+8b818b818883868186818183807e7c8479867808898089808b818b888c888b878c79
+8f7e9180927e9382958599839a869c8a088e8d068f9c8c8d898b057e8d8190829108
+f71bf87315839681907d8b7e8b7f857e817f818480887e8a878b878b888b828d8491
+8492819587998b08998b97909794979592968e988c8f8c8f8b8f8b9388938691080e
+f7fba3f7ada301ff00e84ccdff003afffff713c603ff01634cccf92c15bb9a42553e
+853e505583d9c3c08de9c91f88fbc515ff00434cceff0039b332bcf70bf70dffffc6
+4cceb3ffffbfb332ffffba4cceffffcab333432dffff99199aff0032ffffffffc3e6
+66d01f0ef801a8f761a0d7c512ff00d0e666c559bb13f0ff00ede666f98615f7060a
+13e8a6fbce15f71c0713f0f7070a13e8f7080a0ef801a8d1adf7527701ff0169199a
+bf03ff0169199aff027db33415ffff744ccc2907ff00068000ff00118000ff00344c
+ccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e88638986838c7c8f
+85a98cff000cb3328bff00234cce8bff001d999a8bff001266668ba98a8f928b9987
+93698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff3999aff00011998
+fffff9b3321efffffcb3348bfffff6b332ffffff8000fffffee668ffffff4cccffff
+f0b332fffff6e668fffff4999afffff4cccc82fffff58000ffffdce66662ffffd433
+34ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffccccd86ffff
+fd1999fffff9b334fffffd666783fffffae666ffffebccccff001a999a8b08ff0076
+cccd060ef7fba6f739a6d1ae01ff01884cccc403ff01884cccf86215627a685e1e75
+8b80928294839383927e8b08fffff600017f837e73ff003bffff7eadd0bcc0c7c167
+bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378bffffea0001fb23ff0005ffff
+88059992a092a18b08d38e506d1f0ef7fba3f729a3f7059e01f780c0f70bc403f82c
+f85b15f7090ac49015f70a0a0ef919b112f77da0839d9fad13b0f7c1f91915f70b0a
+13d0f70c0a0ef7fba5f7a9a512ff00e64ccdff0031ffffffffdd0001ff0030ffffec
+ba6ac513d8ff01564cccf92a15f70d0aeb6215b35ca65e56ffffd000016e5e1e8b6e
+ff000fffff71b3780897850513e46577ffffd30001668b670849ff0043ffff7bb7e5
+aac4ab1e8baa79a46c9c0864a005c6ad8fa98b9a08242915f70e0a0ef7fb9ef705a4
+f728a301ff00efb333ff00380001f70bc303ff0127b334f8e415b192adb7a7b37438
+1e7707757a75867d8b085386c1a11fffffc7ffff8615ffffffffff7a943cff006100
+018ba48ba69c9a997f516948fb0178087807f72d97c7f28bdd08f341a7593cffffe3
+ffff4a671e0ef87cb201ff00ec4ccdff0026ffff03ff01134cccf8a315f6ffffd900
+01202064f621ff0026fffff5f5b2070ef87cb201f71af78203f808f8a315fb8264f7
+82060ef86eadb2ad01ff0088b333ff00e6000103ff016eb334f8d915f70f0a6404f7
+0f0a0ef7c0c003f7c0f89c15f7100a0ef81cc103f852f89e15f7110a0ef801a8f75d
+a17dad12ff009ecccdbbff0080ffffbb13b8ff00d7cccdf8c615ff00130001a2ff00
+21ffff9da08b08aa9a7a581f2c078b628988698987838b7d8f84a98cff000733348b
+ff0017cccc8bff00234cce8bff0005b3328ba98a8f918c9a8693638d838e8bb408f4
+07ce73a45d1e678bffffd74cceffffec4cccffffe7b333ffffdcb33486fffff8b334
+8bff00054ccc8b8e8ba7899888928a8e8a8e868b0813d87a83768560858a878d7d8c
+87ac8894868b63082007ff00000001627e88638986838c7c8f85a98ca28ba28ba48b
+928ba98a8f928b998793698d888e8bb408ef07ff000000019390948f90080efb09a3
+f7ada301ff0083b333c6ff007f0001c603ff00feb333f75015bb9a42553e853effff
+c4ffff5583d9c3c08de9c91f88fbc515ff00434cccff0039b334bcf70bf70dffffc6
+4cccb3ffffbfb333ffffba4ccdffffcab333432dffff99199abeffffc3e666d01f0e
+fb03a801f77ac103f76cf72515978d826b1ffb16078b586c88638986838c7c8f85a9
+8cff001eb3338bff00234ccd8bac8ba08ba98a8f928b998793698d768e8bbe08f783
+07fffffab33490fffff89998fffffde666fffffab334fffffd199a5f70717f5c7a8b
+7fff0002199afffff7199aff0007e666fffff9e666a4949e91988b080efb04abf79a
+a912ff008a4ccdff00396666ff006b9999cc82a313f0f739ff006cb3331595ffffff
+ffffff0011b333ff00054ccd8e9dff00014ccdff0007e666fffffacccdff000ccccd
+ff00038000ff00084ccd90979794aa8bff0011ffff8bb5848b5c8b5dffffde999a6c
+ffffcfcccd685affffdc6666ffffc5999affffd3999a8b5b08ff00f9ffff0613e8ff
+00088000ff001ab333ff00063334ff001f999aff00044cccff0023b333fffffab334
+ff0003b33383ff0001999afffff54cccffffffb3330813f0806ffffff04cce64ffff
+e2b3328b08ffff8f000106ff0002b334acff0021e666a4ff0029ccceff001e4ccdff
+00354cccff0026b333ff002e4cccaf8bb908cb449effffce00013c6dffffceb333ff
+ffe34ccd1efffff1b333ff000eb33380971e0efb0aa9f719a6f702a912ff0072b333
+ff0036cccd5cbdf702c66ac913e4ff011a8000f72515a30a13f2a3be87525455786e
+1f6b8bffffedb333ff00068000fffffa4ccdff000b8000859781907d8b08fffff3b3
+33fffff38000fffff7199afffff2b333ffffe08000ff0050999afffff4b333ff001a
+3333dbd0b6d01f8bc55ca36a8e0813ec9d0a0efb03a8d1ad01ff010e999abf03ff01
+0e999aff00a1b33315a20affff3a4ccd048b627e88638986838c7c8f85a98cff000c
+b3328bff00234cce8bff001d999a8bff001266668ba98a8f928b998793698d7a8e8b
+b408a3bd0791ad538b8bf74805ff0008e666fffff38000ff0001199afffff9b3321e
+fffffcb3348bfffff6b334ffffff8000fffffee666ffffff4ccdfffff0b332fffff6
+e666fffff4999afffff4cccd82fffff58000ffffdce66762ffffd44ccdffffcbcccd
+ffffdeccccffffca3333fffffc999afffffa8000fffffccccd86fffffd1999fffff9
+b333fffffd666783fffffae666ffffebcccdff001a999a8b08ff0076cccd060efb09
+a6f739a6d1ae01ff0129b334c403ff0129b3347d15627a68ffffd2ffff1e758b8092
+8294839383927e8b08817f837e73c77eadff00450001bcc0c7c167bfffffb1ffff1f
+7d8b728682850897dcff008700018b8b8c90adffff5cffff8b75fb23918805ff000d
+ffff92a092a18b08ff004800018e506d1f0efb09a3f729a3f7059e01f71dc0f70bc4
+03f7c97615f7090ac49015f70a0a0ef73db112f71ea0839d9fad13b0f762f73d15f7
+0b0a13d0f70c0a0efb09a5f7a9a512ff0087b333bd68bcff00610001ba6ac513d8ff
+00f7b333f74e15a4a37d701f8b6e766f7b8208ffffebffff9505ffffdaffff9f88a2
+8b9a08a9a394a31eff006000016215b35ca6ffffd2ffff565b6e5e1e8b6e9b71b378
+0897850513e4ffffd9ffff775e668b670849cf7bb7ff005a0001aac4ab1e8baa79a4
+6c9c0864a005c6ad8fa98b9a08ffff98ffff2915ff001d00017d05b3778c718b7208
+62717fffffdbffff736496b81e8badb2b29b94080efb099ef705a4f728a301ff0088
+4ccdc3ff0076ffffc303ff00c04ccdf70815ff00000001b192adb78bff001bffff8b
+b3748b38087707757a7586fffff200018b085386c1a11f538615ff000000017a943c
+ec8bff0018ffff8ba69c9a997f516948ffff93000178087807f72d97c7f28bdd08f3
+41a7ffffce00013c6f4a671e0e96b201ff00eb4ccdff0026ffff03ff01124cccbd15
+f6ffffd90001202164f521ff0026fffff5f6b2070e96b201f71af78203f808bd15fb
+8264f782060e88adb1ae01ff0088b333ff00e6000103ff016eb334f315ffff19ffff
+68ff00e60001066504f70f0a0ef73cc003f73cba15f7100a0ef78ec103f7c4ba15f7
+110a0efb11adf77da501ff0078e666ff003a199aff0077e666ff003b199a03ff012a
+e666a51538076e737881748b668bfffff4199aa08ba18bacff0019e6669de9a208ba
+fb2b15a08ba09895958c938791838e88888489878b0881fffffb199a9cb61fd907ee
+ffffc0e666a0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92089c
+a297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a75a7
+8b080efb09aef704aad6a401ff00864ccdc1ff007bffffc403ff01084ccc3915ffff
+e700018b77977ca17f9e87a48ba48b8d8b908c8f08ff00b3ffff8905ffffff4cceff
+00478000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4
+999aff000a3333ffffd83333ff001b999affffe7b333ff0012ccccffffef6666ff00
+1be667fffff7199aff002280008bff002dffff8bb9a2a5aefffffc4cceff0009b334
+fffff86666ff00064cccfffff74ccc8b0878756d7a658b08bbf72315ffff8800018a
+05ff0004ccceb3a9afff001c33338bff0017ffff8bff00214ccefffff58000ffffff
+b332ffffbf8000080e350efb04a1f775a101f70ff7a603ff01503334e815a7ff0023
+e666ff0004b332ff00044ccdff001c199aff0001cccd8f8f8b99878f798a848a748b
+738b7c8c798c87878b7d8f87a88afffffe3334fffff7cccdfffff2ccccffffed3333
+088b8b8a8a63530867c4057f9f8b92a88c8f8f8b99878f798a6e8a738b748b818c79
+8c87878b7d8f87ff001c199afffffe3333ff00011999fffffd999aff001a999affff
+da333308ff003833333b058888ffffcecccd518b8bffffe19999ffffdc8000fffffd
+b334fffffb4ccdffffe3e666fffffe333387878b7d8f879d8c928ca28ba38b9b8a9d
+8a8f8f8b99878f086e8c8c94999d8b8ba3a89ba09083a6618b8b97788e836e8a8787
+8b7d8f879d8ca58ca38b08a28b9a8a9d8a8f8f8b99878fffffe3e666ff0001cccdff
+fff9999aff0002e666ffffe5b334ff00254ccd08ffffcbccccd5050efb09a4d6aaf7
+04ae01ff00884ccdc4ff007bffffc103ff00f14ccdf71215a48b9f7f9a7597788f72
+8b728b898b868a8708ffff4c00018d05ff0000b334ffffb88000ff00134ccdffffc4
+8000e08bff0055b3338bff002c4cccd28bd58bff002b6666fffff5ccceff0027cccd
+ffffe46666ff00184ccdffffed3334ff0010999affffe41998ff0008e666ffffdd80
+018b5d8b5d747168ff0003b333fffff64ccdff0007999afffff9b333ff0008b3338b
+089ea1a99cb18b085bfb2315ff0077ffff8c05fffffb3334636d67ffffe3cccd8b73
+8bffffdeb333ff000a8000ff00004ccdff00408000080e350e40fb04a2f771a1cca1
+0189f7d503ff006e8000ff0012666615f7120a0efb7c0ee7fb04a2f76cad01f786ff
+0031e666ff0063199abd03c7f71f15f7130a0e58fb03a8f75da17dad12ff0046cccd
+bbf715ff002fffff13b8ff007fcccde115f7140a13d8f7150a0e33fb87a2f700a5f7
+5fa17caa12f77bc013d8deea15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a
+0efb200efb4ffb0aaef765a801b0bd03f715f71215f7190a0eb8f7a8baf777ae12cd
+e0f7b6a580a513f0f7827b15d38bccc3abce08749205715b6771668108a6f72e0591
+aac1c8968b918b918a8e818f7d97849c8b9e8b9ba18e9d8c8d8b8d8b8d8b9e7c9970
+8b08658b6254716e08898b9cde7c8b05848b848881876f7f80866382088c72058f8c
+8f8b8f8b978b95868b798b878a868a870869fb59055e9b74ba8bdb8bac8fb393b8a3
+f71dd3f70ce58bb58bbe688b418b878b858a8608a58d0513e89af7307189058b888b
+898a888a818788868b7d8b70a35b8bfb148bfb0dfb0d6afb4d856d896f8b7108fb14
+c838f7031e0eb88aa8f762b2bab2f742b271a712f871a613f4f804f7fb15fb078ba4
+f722058fa59b91a18b08d106cd8b9e568d4308a68f94f734fb4d8b3d8b0513ec7efb
+068d8b1f13f4898987790513ec8a868e88908b08a806ae9685761f8b868b85898408
+72fb22358b8464e18b835c358b8464e18b6ffb3605856c7a7e638b087106868b8788
+8a860888788c89058be28db2afe8898b1e8d8d8f9e058c90888e868b087106687e97
+a01f8b8e8c8f8b8f08a8f736f7078b92b2fb078b93baf7078b050eb87fbd93b2f725
+b2bab2f746b5019dcfe2d203f737e015888b878b888a08908f05aea2a9b3a0da08f7
+0d8b92b2fb0b8b8e9d90a8f70b8b92b2fb0b8b91ac059addbdcab78ba08b97809580
+94819383998ba18b9f998fa3089007a85c95761e588b5d796469525b6d5b7b43082f
+8b8564e68b835c2f8b8564e58b057e5476515f638485858686876e7d717887750888
+07809581981e9c8ba3968fa58d95989bab8ba58ba07fa27da47ba67bb08bd18bbdae
+a5bc088691056d6a52846f8b718b7d937d9678997399518b080ef88581be59a47aa5
+f778a9d0ae7da5f731a276a912f830d169d3e3a096c7f700cc87a0133878f5cb1587
+727c7d678b087306868b89888a8708887a8c89058bdf8dabaeda898b1e8d8d8d9c05
+8c8f888e878b0874066c7e949e1f8b8f8c8e8b8f08aef75b0596859487a38bea8bc7
+b9acc008c18b5bfba405887f8a808b8108139038639e7aad1e133038aa8baa97aba2
+08877205958d928b908b918b918b908908135438a185a788aa8bbe8be8a19be58c92
+8c928b918bc557a54ea8639e77958ba78b8f8b8f8c900894beb59bae8b081354349f
+8bbf80952b08a08c93f700057c955d995e8b438b485d814e89828a838b848b5bad7b
+c17308135078c66fa0748b6b8b878a858a87835d5976688b6a8b729c83947c9d87a9
+8ba18b928b918c8f08768a824505139970767e7b87778b7b8b85958ba18b978d9c8f
+a008b3f779e08b05948b988e8d93088e9d058f898d871e278ba4f71e547a88790581
+4f79685d84929c909c8d9b081311b08d938c958b948bc16fd0fb128b768b6b8a5c88
+08133a785f8956887e8b08877a05888b88911e8f8ba18c938b988ba0878b728b888a
+878b8708d8a8151311b09c919e919b8bbb8bbb7a8b3f8b7e8a7d887a792a57623c8b
+778b818e818d080ef81c82a475a378a5f77aaedea5f738a512f827d99ea196c6f700
+cc88a0133f80f873f844158c968c968b958baa83a57aa16bb45390588b2c8b428578
+8608887a058a878d89908b08a78d058c8c8d8b8e8b9b8b90838b7d8b858b858a8408
+3afc580587727c7c668b087406135f80868b89888a8708887a05133f808c89058bdf
+8dabaeda898b1e8c8d05135f808e9c05133f808c8f888e878b0874066c7e949f1f8b
+8e8c8f8b8f08adf75205c88b8b868d8508c1fb4105135f809760aa69ba8b988b9a8e
+948e089e07898a898b898b6d8b7aac81b00854f74c05b199dfbd9deb083b89158565
+7a6c7772726c707c4e8b08738bbaf79e05a1908f8da88bb48bb4788b458b7e8a7c88
+7b08f0fbc2157bfb1405948d938b908b918b908b918908139fc0a185a688ab8bbe8b
+e8a19ae58c928c928b918bc557a54ea8649e76958ba78b8f8b8f8c900895beb59bae
+8b08139fa09e8bc080952b08a08c93f700057b955e995d8b438b495e804d8a828a83
+8b848b5bad7bc07308139fc0c66fa0748b6b8b878b858a87825d5976698b698b729c
+83947d9d87a88ba18b928b918c90080ef02cb9b0b588a7f7f4aee6b2d1a9a57712cc
+dc13dff7f2e4155c646c776a8b5d8b5cb68be78b9c8c9d8fa098d3a3b69da0b3bab5
+8e9f8bba8ba1769e6508f753f774153e8ba1f712758b0576827b877987798865857c
+8b08887205888d898e1eab8f05999382731f8b81897d897b088a8afb238b8464f724
+8b77fb050575986194778b498b5b755c6559606c4d7e4187788a798b7a8b2cbc49e7
+8bbe8bb7a9b8b2087c46a38b0513bfa39dc196c795088ca7057c88748b7f8b838b81
+918a948b8c8a8d8b8d8b948d9a8fa308d4f831d98b05fcc4fcda15845df85b8b93b9
+050eb87fb5f755adbeadf764ae12f1ff0051b333ffffc63333ff00508000ff010799
+9aaa13fad5f7c815ff002a666606fffffdb334fffff68000fffffdccccfffff66666
+fffffe199afffff6199afffffe999afffff8999afffffeb333fffff8999afffffee6
+66fffff8cccc08ffffdacccd8b73728982c68b05fffff3999affff70b333ff003a33
+33ffffa44ccdff007633338bbf8bb69ca78999b3aecc9db9086e92056849674a438b
+ffffaecccd8bffffde9999c9ff000e4ccdf71708ff00a74ccd8ba4adffff4433338b
+05ff0001b332ff000a999aff0001e66796ff00023333ff000b6666ff0001333391ff
+00014ccd91ff00014ccd9108ff00cd33338ba3ad0513f6ffff23666606ff00206667
+ff0072999aff003db333ff005d6666ff004d80008bd48b9b4b8e4808aa90058bb98d
+c592b56e89619c578bffff8e4ccc8bffff9b80012dffffd11999fb2908ffffe7199a
+8b7373050ef9318aa9f7e8adf729a901f8c3d7f7eadc03f827f8da15a5ada6a1afa3
+0888980556755c6f5f5a42814472396008917705cfa8caa5cb97675b694a69300823
+fba805816e7a7f698b087006878b87878a8708847af7098d05ac8b9c89de8bf75b8b
+f723f730aaf7438e9b8c9b8b9a8bf70b38e1fb108b08fb1ffb8415b0efa8cba7b908
+9006f70ebc3d2d1f8b7a8979887972fb1e3cfb34fb618b548b818e8b968b8d8c8e8b
+8e8c918c8e8d8f08f80dfb9315a7b4aee9a8d3a17ea185b28bf7418bf713f7399ef4
+8c948c948b948bcc5eb7398b618b4d7d5565086a73636c58fb110844fb46055dfb03
+6b55736c088e7b05f883f8771578fb0038fb18fb048b718b7a9477a3838475778289
+08d7f74d05c1f718c8a3b98bbb8bad798b528b838a808980080eb88aa5f778a9d2b2
+b9b3d8a276a912f74ad8f726d013f3f810f7f615715a6075518b788b808e818d0897
+cd05f748e0158a868a858a848a818882898208fb388b93b905f73ab315fb338b97ce
+0513f79b919f919b8bb88bb87c904b08f70216630686be6ac5fb088b768b6c8a5c88
+0813fb5f8960887e8b08877a05888b88911e8f8b978c928b998b9f878b728b888b87
+8a870884654d8b8463c98b835d4d8b8464c98b58fbb60587727c7d668b087e06868b
+88888a8708897a8c89058bd58dabaed9898b1e8d8d8e9c058c8f888e878b0873066d
+7e949e1f8b8f8b8e8c8f08aef75b0595859587a28bec8bc7baacc108bf8b92b2638b
+05929a8f9a8d9a088cae070ef7cc7facf783a4f713abb877f76ba401f9bcf96a15f7
+1a0af74bf8ca15f71b0a622415f71c0af76efc5b15c68bb4a8b0ab0876a1056b6e60
+767c8b7a8b6f989ad59deac9c4b58b918b998788778778898c887f89808f7fa88b08
+948bac938fa392ac7ab0438b3b8b203976fb018362a94acc8b080ef7cc7da3f78ea2
+f715abb877f76ba401f842aef74caf03f9bcf96a15f71a0af74bf8ca15f71b0a6224
+15f71c0af76ffc5d15d28bcaac96c793af63a95ba57b93869a8f9f8fa2a0a2a98ba7
+8b9c6b825f08af889cd20573a274936a8b4a8b4c6d8053866f9879b172a37ba87685
+6d8468707d728b608b79ad94bc0868897c2a05a98bab83ac8b080ef78f7fb4f8e4b0
+01f923ab03f7f57f15eb8beebbe0e408779a05353d416a2e8bffffd6199a8bffffde
+3332ff000bb333ffffe56668ff0013cccd08ff00661998ff020f333405ff00273334
+ff0016ccccff0025e666ff000a8000ff001c199a8bf71f8bb53a943508ab8f058bbf
+8bbb92c2528e6cb5fb0e8bfb3a8bfb4afb2665fb596bfb35d2fb3af76c8b08ffffdf
+999aff023ccccc15ffffa48000fffe27800005ffffd04cccff003b8001fffff53334
+ff005f9999ff00116666ff005a999aff0015199aff006ae666ff0035ccccff0049e6
+66ff0039b334b9080ef82a7bb5f844a7c7adbda701f9b0a903f8b07b15eb8bd4bcd9
+e308779a0538385670368bfb148b51f711a6f71db4f768f718b9da8bf7008bb54a92
+2e08a98f058abb8db993c36b8c75b0fb1e8bfb338bfb29fb0565fb556ffb25dffb25
+f74f8b08fb72f8d115f71d0afb3a8c15f71e0a0ef7fe7ea7f786a6f70facbd77f765
+a401f9bcf96a15f71a0ae8f83f15f71f0af7abfbc01596c4b5e8cb8bb18b8a5d8363
+836262fb07488b7b8b6d979bdb083886158468903be88be58bf701e19ff294ba80c8
+318bfb098b35237c3d080ef7fe7cb2f764bef710acbd77f765a401f9bcf96a15f71a
+0ae8f83f15f71f0af7defb6415949f93a08d968d978d9f6a8b698b68785b62089b79
+059d9d9a94928b8d8b8d888a848a868781867f0858fb030587808170897e846a967c
+ba8bac8bb29cb9b5837c87828a89897f8a76ac8bac8bae9fbbb4087b9c05797a7d81
+838b898b898e8c928c918f94909708e6f7660576885f857e8b796267358b8b663649
+65788b808b8a938f9d8d95919c919a080ef82d8aa8f78aadf72aa7beb170a8c0a712
+f953ace9a913f7f8d2f88c1590a39994a38b08f70e06d68b9257944708a98f0513ef
+8bb48ec892c108fb8d8a0513f7408a0513effb108d0513f7878987770513ef898b86
+911ea906b68b917c866e0837fc4405856f7a7b628b087106868b88888a860887788d
+89058be88daf1ef711898d8d8f9e058c90888e868b087106648b7e9891aa08b2f75e
+f7198b05ac947c6e1f8a6c05888d87901ea28b8e8e058dab8da992ad91ad98b192a2
+8c8e8a8d898b087506878b87878a86087e6e057f6f807a678b08fb1806fb6ef78d15
+f71d0afb3a8c15f71e0a0ef74d46c2a976f886c001f8d6f73d15a2f70d46dd25ad59
+66536e536f72aa7db794b895baacaeb6a5a574a873b38bc38bbcb9b0b7087e8f0577
+716b7c6e8b648b6ba176a8404afb035e762275fb07f70b58782c86707475747d0854
+bdfb01409480aea3c25805c8bef6b89bde94ba73b675ada89cb6a3ab8bec8baffb12
+7b357a395b483e5d74a56ba7648b08558b585e636608938305a09fa59aa58bba8bae
+66a16bbcdcf752b1b0f750080ef7fb8aa8f7bcb2f793a701f8d8d315856f7a7b628b
+087106868b87888a860888788d89058be88daeb2e2898b1e8d8d8f9e058c90888e86
+8b087106648b7e9891aa08ecf88a0591a79c9bb48b08a506908b8e8e8c90088f9e89
+8c058b2e8a6764358c8b1e898a8778058a868e888f8b08a606b28b987d856d0862fb
+67fbda8bb3f7670590a79d9bb48b08a506908b8e8e8c90088f9e898c058b2e8a6764
+fb1e8c8b1e898a8778058a868e88908b08a506ff000666668b92ffffffb334ff0007
+6667ffffff333408ffff8e6666fffdb4666405fffff81999ffffff199afffff87fff
+ffffff999afffff933348b087106868b87888a860888788d89058bf7258daeb2e289
+8b1e8d8d8f9e058c90888e868b087106638b7f9891aa08bcf790f7da8b05fffdfe66
+68fffedf999a15ff006f4cccff023f666805ff001a4cccfffff91998ff0015999aff
+fff3ccd0fffffc6666ffffee19980829fc8a0588ffffef4cccffffe66666fffff399
+9a6efffff8b334080ef7267fc0f7f4bcf75ca9a57701f7d3dc03b4168f7fd5a3cff7
+8405dfeec8b5ae8ba18b9c7d896c8a798573826c0858fb3505806685758a75896da0
+7ca28bb08bb5a4c9d108779c05676376787b8b848b89938b958c958e9c96af08bdf7
+350594a893aa8ca08ec76e9d648b588b49742afb0008f702f817758b0575827a8778
+87798865857b8b08867205888d898e1eac8f05988b91818a788a81897e867b080ef7
+267fc0f7f4bcf75ca9a57701f7d3dc03ff0111ccccff022c800015ff00283334ff00
+8d8000758b0575827a877887798865857b8b08867205888d898e1eac8f05988b9181
+8a788a81897e867b08fffff5199affffd99998ffff90e666ffffe866688863ff0066
+3333ff0015999affff72cccdfffe0e66668f7fd5a3cff78405dfeec8b5ae8ba18b9c
+7d896c8a798573826c0858fb3505806685758a75896da07ca28bb08bb5a4c9d10877
+9c05676376787b8b848b89938b958c958e9c96af08bdf7350594a893aa8ca08ec76e
+9d648b588b49742afb0008ff0039ccccff00cb8000ff00823334ff001b80008db305
+0ef72a7fd3a9caf73a9ff786d801f724f8761571fb18e777d68008909f055296808e
+71a874a587a991a898d2d2b6d78bcd8bd965ad79083f4105787a8277877586738d70
+947508c0fb06058e85916f85707f48397a778b7b8b7e917b9308fb02cd0580927f91
+7f8b7e8b7c86737f08365c967b05a5969b91998b988b96879d7f08f70f4005988396
+88958b9a8b9c949992f74dee97c192b098ca31f71795bd8e99949e9d9c08f1e9053c
+bd32a55b8bfb148b273e7828080e437db2f8ada301f76df7d915a3f7100594b9a1ce
+b38b9f8b9c76826080515a504c53087cfbc015648b8fb699d308a8f72805e8d2cccc
+9bdf92af79b54f8b518b4a6266fb5208782a056e766e776f78089576d1be7f4e056f
+fb249966ca8bb28bbba5bbc1087d9b0565636b7a7d8b080ef7e8987692a8f8e2a712
+1360f981f8c11590a9a0aab38b08a506908b8f8e8c90088f9e898c058b438a646840
+8c8b1e868a8878058a869288908b08a606b48b916986700841fc0f87740589808987
+878b838b81a676b12af744fb3bf79d8b8b08fb3c8b8787887b058a869288908b0890
+06ff0006199a8bff0006e666fffffe9998ff00074ccdfffffd800008ffff8d999aff
+fdb5e668ffffdf199a8b05868b83878a860887799289058bf7018dafb2d3898b1e8d
+8d8f9e058c90878e878b087106638b82a991a908cff7f30591ad909a938b918b9480
+987508f79bfc4d0513a0937c97859b8a998b94958f9e08fffddae668ff0007199a15
+ff006f6666ff023a999c05ff00164ccefffff19998ff0012ccccffffec4cccff0000
+999afffff166680831fc6205fffffb199affffe5b333ffffecccccffffdfe66764ff
+fffe8000080ef8a87fa8c9b7d6a4f779a4f721a779a9129cd413f2f92ff70f15835f
+f77d8b93b705fd62a3157b3a735a648b838b86918b958aa082a2748b7a8b79818672
+856db573bb8bcf8bb0c1a5f71b08bef79a0590a48f978e8b8e8b8f83907e08f745fc
+4d059377a2859a8b998ba0998f9e08e6f8690513f69ce3a7bdaa8b938b8f828e7f90
+7a9375a58b9c8b9d9990a490a966a05b8b408b655370fb220854fbae05856e877f85
+8b848b829e78bc0813fafb45f84dfb198b8a8a8778058a869288908b089006ac8ba0
+618c7108f8e54215258b613181537e4baa46db8be18bc2d298cb95c188e5228b08ae
+fb37157f4c676f708b628b6fb59ad89ce0afa4a88bb68b9f517b3b080ef79b8aa8f7
+94b1f7baa57ba71213d0f8cef87215f7200afb9ffb5615ce8bd08db49cb99df4c0a0
+f495bd81b46ead64b845904c8b0813e0fb098bfb30847586088778058a878d88918b
+08ff002ae666ff00016668fb07fffdb29998ffffc7199a8b05868b88888a86088778
+8d89058bf72f8daeb3e1898b1e8d8d8f9e058c90888e868b087106648b7e9991a908
+ffff72e6665f15f7210a0ef7d3fb5dc4f718adf8eead01f96af7dd15b2f75afb02f7
+17fb488bfb478bfb35fb2c65fb58ffffde6666ffff51b333ff00556667fb0aff008b
+ffffffffe73333fffff6e66885fffff43332fffff64ccdfffff9199afffff9cccd86
+8680877f884479625f817e08ae7805a8b9b4979a8bb58bae70b864b567b475c38bcb
+8bbaa5bdc3087b9705717065816e8b638b56ab66aa68a8619a6a8eff00044cccff00
+05cccd95ff000ae666ff000ae668ff0005b333ff00058000ffffffb334ff0005b332
+ffffffe666ff0005999a8bf7538bf72af721b2f75c08fffe08e666ffff1de66615ff
+ffdd8000ff00343334fffff1199aff004c1999ff00128000ff005fcccdff0015b333
+ff006f6666ff002db333ff004cb332ff00348000ff002f999c08ffffc36667fffe12
+4ccc15ff00659999ff020c333405ff0022cccea0ff0023b332ff0009ccccff002099
+9a8bf7208bd62162fb6469fb47fb01fb01fb078bffffd266668bffffd5ccceff0010
+4cccffffdf1999ff001eb334080ef7cfacd9f86bd657c01213a0f707f86f1571fb1a
+f7368b835d88807d838585089d7cb4ba05919290938d958f9e84a16e9b083eb60576
+977bab91ab90a1afdbea8bf7018b932869fb4175fb057639443a084ebd05878e888c
+878b818b8080767b0840559a7d059b959b92988b9c8b9583978008a86f05a396e5c7
+bec1c9cb97c19eec96c396d48dda08cbaf0513c097929890968b9a8b9a84987a08c6
+48fb58fb0c92798f8b05a48b9581906c9ffb1746fb23e85708f705da83a00580877d
+847e8b4f8be4f75338f72208f74df707fb0cf712058691858d858b7f8b7f84828408
+fb1a36057bb08ba164a10813a074987191708b08fb078b304176fb01080ef79b8aa8
+6fa0f79bb1f7baa57ba7121328f8cef87215f7200add8c1595bd81b46ead64b84590
+4c8b0813b0fb098bfb30847586088778058a878d88918b08ff002ae666ff00016668
+fb07fffdb29998ffffc7199a8b05868b88888a860887788d89058bf72f8daeb3e189
+8b1e8d8d8f9e058c90888e868b087106648b7e9991a908b4f76805cf8ba7858e8408
+cdfb54059b5cb065c78b0813689a8b9d8d968f08a007628674b17db70848f76105b9
+99f4c4a0f40813a0fffdece668fc5715f7210a0ef7f9f7afa37da0f782d98d9f12f0
+a9f74fa813bcf7f4f91015738c939b478b568b426680507f4ccd6eb27ba580a17d81
+5983606c73688b678b73b58db3088c936d880588668e7f805408aa8c058d908b8e8b
+8d8d8a8b8a8e8a93859a82b58bd08bc8bf96c598cc58a35d9d78925f9d94ba0891ab
+a7a5a88bb78b996a8c5e08a88f05f7f6fb68158b898b888a8908137c8980877f868b
+087d0613bc828b82898a86088a8305137c9085058bba8d9ea1b7898b1e91910513bc
+8d9305137c8c90858d7e8b087d06838b8c998c9b08a8f79e8c91058d968f90918b08
+9a06908b978c8c90088d938991398b055835532f5734084ff79d328b84858a83058a
+889089978a089b06918b8d86897f088a898b88057435712c7436877d867b838b087d
+0613bc7f8b85898a86088a8305137c8e85058ba88d9ea0b2898b1e8f910513bc8d93
+05137c8c90818d848b087c06868b8b948e998c8d8b8d8b8d9dcb9ccb9ccca02cabfb
+238b8b8d849388908b948b918f8f91088b8becf736bbdc080ef826f7b9a0f7cca501
+f834a2f7c1c903f7a5f7e915bef79c058e9c908f958b08b706a08b91858e5e08a290
+8ae6718305888b838c1efb7e068d8b8e938c8e0874936631a08505a0b89391a08b08
+bd06958b8f87877b0858fb9d0588798085768b087c06898b88898a8808897e8c8a05
+8bc88ca09fca8a8b1e8c8c8d98058c8e898d898b087c06758b85948e9a08f8688e15
+8b898a888b898980877f868b087d06828b82898a86088a839085058bba8d9ea1b789
+8b1e91918c93058c90858d7f8b087d06838b8c998c9b08a8f79e8c91058d968f9091
+8b089a06908b978c8c90088d938991388b055935532f5734084ff79d328b84858a83
+058b888f89978a089b06918b8d86897f088a898b88057435712c7436867d867b848b
+087d067f8b85898a860889838f85058ba78d9ea1b2898b1e8f918c93058c90828d84
+8b087c06868b8b948e998b8d8c8d8b8d9dcb9ccb9bcca12cabfb238b8b8d84938890
+8b948b908f8f91088b8becf736bcdc080ef7be8bb264a8f87276f70cb3121370f711
+a815518bf89ff8d4c68b057dfcf1159ac3a1c4a0bf086e900513b0694362503f8b08
+fb7d067b8b828f8d948c908f91939408f86ff89b05ff0019ccccff001c3334ff0005
+3334ff0009cccc8d968d9289897790fffff46668ff0002e668ffffeb9998fffffc19
+986b8808fc24065c8b9094678e7c5573437c6208a78605aed0a6bed78b08f75b0693
+8b8e898a858a868684848408fc81fcb105838387838a8408137089818f86998b080e
+f7a58bc6f8c9ad01cba5f8c3a503f873f70915f70bb0f0f2a2f70ca8f72840f719fb
+5b8bfb598bfb17fb2971fb1872fb14cc2cef66088451268b05578b789291c008718b
+7cfb0bf7678b05968b93918c95089cf713053bc96fc8a1f704a4f714ebf70af71e8b
+f7168bc9216ffb2176fb00564225560869fb130588818f85978b08f7648ba9f70b71
+8b057a5274885b8b0829060ef7a5b5adf8c9c512f6e263a5f857e0a2a513ecf8ccf8
+db1594c5ec8b05b7a087601f7ea5079af70afb638b057f8b85858a810878fb1205ca
+61ac558b438b76887587736ffb212422fb158bfb088b55dd8bf08b9f8da08fa0a1f7
+05bec7f3ca08acf7128b900592868f821efb678b0513dc6cfb0aa58b059abfa093bf
+8b08f08b7c5105fb0765252d72fb150813ec887b89798b7b8bfb09d9fb05f7408bf7
+5c8bf712f718a7f7288f9c8c9c8b9c088bec4fdc33ab080ef70c83a8f74ea7f746a8
+01f733f77f159eef058f9ed3c6dd8bdb8bbe52877908772405fbb66f15f80306a8f7
+2927e1fb008bfb108bfb0c2672fb1073fb11dc27f7118bd38bd3aebebf086c96055f
+5e5373518b398b58c08fa2080ee3a07601f829c903f8aef84e1594b7689772923ca5
+b397799b8b8b68837e4683649e72b97fffffda4cccffffda4cccffffe6199affffd3
+666878ffffd1666608fffffe999aff0001e666fb26f76205809c86a28fa8087f066f
+727b708570856c926d9e6e08ff00183333ffffde333405ffffbdcccc64ffffdd8000
+ffffb19999fffff58000ffffce33338360a44b856d887b767d7c89858a86828e8608
+f006a38baaa990ab98c833c897c7ff0004b333ff001a3334ff0012b333ff00303332
+ff00226667ff0014ccce08ff00cc3333fffee2cccc05977a8f768872ac8ba2b691aa
+91aa84a977a808ffffcb8000ff0047800005fffffacccc9affffff4cceff00104ccc
+ff00036666ff0010333492ada3b5bbbda2898b65958b918ba2be91aa08ffff79199a
+ffff15666615ff0000e666fffffe999a05ffffffb334ff00006666ffffffb332ff00
+008000ffffffb334ff00008000080ed68beff7d9f70001f7eaf8a9152006708b80a1
+8aa28b8b59827d438362a26cbb8b08f72f06db8b9f7e6cfb307f4d76577a6108fbc6
+8b6027f8288bb6ef398b05bdc3a0e695c2a9f72b99dbfb3c8b080e519a7691ef12a3
+f7c51360f7b8f7bc1592b1a2d892b097c86396618b728b6a8b8bad8b8b5d817e4780
+56c4819e88bc84a981792a0870fb1d5563fb027873868075807182768e7a8a8208f7
+0f8ff2f72e928b0513a0a05a73fb07b98b9a9d8eaa8ba1088adf62cf9bda080eb89f
+76f832f601f818f7b715a0f700db739bde94b7759d5e8b08fb7206708b7d968aa28b
+8b5f857d418362a077bd8b08f78c064a5e61447931825b865c7f4c8776837a817f98
+8bca809eec99d18dce99d0080e2c8aadf872f70c01f763f70b03f763f8cf15846aa1
+70ac8bac8baaa692ac92ac75a66a8b6a8b6b70856a08a6fc8315d3f805668b055d7c
+6481407b088e6805ad94928c958b948b8b7d87740857fb9e05866f7f7c698b088306
+868b87888a850886748d89058bde8dafb2d6898b1e8d8d90a2058c91888e868b0883
+066a8b849a90a7080e36a9f719a6f702a9d1a812f725c1ff00a3b334ff0036cccc5c
+bdf702c66ac913f800f8a8f8ed15a00afc4f7515a10a13f900ff018f8000fc1d15f7
+220a13fc80f7230a13fb00f7240a0e34a9f719a6f702a9d4abf79aa912ff00304ccc
+ff00396666ff006b999bff0040ffff82a3ff00536668ff0036cccc5cbdf702c66ac9
+13fc00f8a8f8ed15a00a13fc20ffffe28000fc3515f7220a13fc90f7230a13fc60f7
+240afffe2a8000ff0168b33415958bff0011b333ff00054ccc8e9dff00014ccdff00
+07e668fffffacccdff000cccccff00038000ff00084ccc90979794aa8b0813fe009d
+b5845c1f8b5dffffde99996cffffcfcccd685affffdc6666ffffc5999affffd3999a
+8b5b08ff00f9ffff0613fd009a0a13fe00806ffffff04cce64ffffe2b3338b08fb05
+06ff0002b334acff0021e666a4ff0029cccdff001e4cccff00354ccdff0026b334ff
+002e4cccaf8bb908cbffffb900019e593cffffe1ffffffffceb334ffffe34cccffff
+f1b334ff000eb33480971e0e35a6f739a6d1aed9a801f722c1ff0156b334c403f8a8
+f8ed15a00afc527615a10aff019ab334fcbf15f7250a0e36a6f739a6d1aed8abf79a
+a912c3ff00394ccdff006bb333cc82a3ff00f8b334c413fc80f8a8f8ed15a00afffe
+14b334ffffc7b33415ff0009ffff8bff0011999aff00054ccc8e9dff00014ccdff00
+07e668fffffae666ff000cccccff00038000ff00084ccc90979794aa8b0813fe809d
+b5845c1f8b5dffffde80006cffffcfcccd685affffdc6666ffffc5b333ffffd3999a
+8b5b08f78e0613fd809a0a13fe80806ffffff04ccd64ffffe2b3338b08fb0506ff00
+02b333acff0021cccda4ff0029cccdff001e4cccff00354ccdff0026b334ff002e66
+66af8bb908cb449e593c6dffffceb334ffffe34cccfffff1b334ff000eb33380971e
+f867fffdf94ccc15f7250a0e36a6f739a6d1aed1a9f719a6f702a912ff0017b333ff
+0036ccccffffd10001bdf702c66ac9ff01013334c413fc20f8a8f8ed15a00affffda
+b334fcd315f7250a13fca0fffea6ccccf8be15a30a13fe609c0a13fda09d0a0e36a6
+f739a6d1aed9a8d1ad01ff00ca199abfff00f6999ac403f8a8f8ed15a00affffb6b3
+34fcd315f7250afffed56666ff023bb33415ffff744ccc2907ff00068002ff001180
+00ff00344cccff0049b334ff00273334ff0030800008ffff3a4ccc048b627e886389
+86838c7c8f85a98cff000cb3338bff00234ccd8bff001d999a8bff001266668ba98a
+8f928b998793698d7a8e8bb408a3bd0791ad538b8bf74805ff0008e668fffff39999
+ff00011998fffff9b3331efffffcb3348bfffff6b333ffffff8000fffffee666ffff
+ff4cccfffff0b333fffff6e668fffff4999afffff4cccc82fffff58000ffffdce666
+62ffffd43334ffffcbccccffffdeccccffffca3334fffffc999afffffa8000fffffc
+cccd86fffffd1999fffff9b334fffffd666683fffffae667ffffebccccff001a999a
+8b08ff0076cccd060e35a3f729a3f7059ed4a801f727c1f746c0f70bc403f8a8f8ed
+15a00afc4d7615a10af836fcc615f7090ac49015f70a0a0e36a3f729a3f7059ecea6
+f7407699a6d1ae12ff00e74ccdff0038ffffff0027b334c0f70bc413f3c0f8a8f8ed
+15a00a41fcda15f7090ac49015f70a0afffeba4cccf82215ff00000001627a685e8b
+758b80928294839383927e8b08817f837e73c77eadd0ff0030ffffc0c71f13f7c0c1
+ffffdc0001bf3d1e7d8b728682850897dcff0086ffff8b8b8c90adffff5d00018b75
+fb230513fbc091880513f7c0f7260a0e34a5f7a9a5d4a812f722c1ff00b7b334bd68
+bcecba6ac513f0f8a8f8ed15a00afc527515a10aff016bb334fbf71513f6f70d0aeb
+6215f7270a13f9f7280a242915f70e0a0e36a5f7a9a5cba9f719a6f702a912ff0024
+b333ff0036ccccffffd10001bdf702c66ac9ff00563334bd68bcecba6ac513f800f8
+a8f8ed15a00affffacb334fc0b1513f830f70d0aeb6215f7270a13f848f7280a2429
+15f70e0a13f900fffee8ccccf88015a30a13fc809c0a13fb009d0a0e35a5f7a9a5cf
+a6f7407699a6d1ae12ff00f84ccdff0038ffffff00266668bd68bcecba6ac513e600
+f8a8f8ed15a00affff89b334fc0c1513e6c0f70d0aeb6215f7270a13e720f7280a24
+2915f70e0affff379999f7e415ff00000001627a685e8b758b80928294839383927e
+8b08817f837e73c77eadff0044ffffbcc0c71f13ee00c167bfffffb200011e7d8b72
+8682850897dcff0086ffff8b8b8c90adffff5d00018b75fb230513f60091880513ee
+00f7260a0e36a5f7a9a5f7f5b112f70ea0839d9fadff00aeb334bd68bcecba6ac513
+e400f8a8f8ed15a00affffafb334fc0b1513e580f70d0aeb6215f7270a13e640f728
+0a242915f70e0afffed74cccf89a15ef06715e53fb1068fb0308ad06aaf4c4f70ec0
+e608fb420613ec007b868c8f1f790613f400f70c0a0ef7d0a801f729c103f8a8f8ed
+15a00afc4b7615a10a0ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f864bffc6406abaabcc1a9d3080ebbf849
+b3f76c7701f758bf03f829f871152ae153dc7abc0874065ffb00fb14fb008a8b0863
+07dfb2b9b4a6ac08fd3cbff93c07aa6bc15ad36d080ef783bf01f9f0b303fa18dd15
+e1ecdcc3bc9c08a207fb00b7fb00f7148b8c086306b237b45dac7008fc6457f86406
+6b6c5a556d43080ed0ecb3f8c17701f762bf03bcec15ec35c33a9c5a08a206b7f700
+f714f7008c8b08b30737645d62706a08f93257fd32076cab55bc43a9080ef783bf01
+f86af7b715fbc006a5ab9da4959ba0ac9aa795a2086406635d6466646e656f6b776f
+81087407b37bae76a771ca52b166987b08b3066bcf6abf66b008f7c00666676a566b
+4808b306989bb1b0cac4a8a4ada0b39c08a2076f956b9e65a864a864b063b8086406
+95749a6fa06b957b9d72a56a080ed1f94c7701f762bf03f762f8b115fc89076ba572
+9d7b956aa06f9a7495086407b963b064a864a7659f6b956f08a2069bb3a0aea5a7c4
+cab0b19b9808b307476b576a666608f88907af66c06ace6b08b3077b9866b152ca72
+a876ad7ab3087406816f786b6e656e6466645e63086407a295a79aaba09b95a49dac
+a5080e9476ff02239998ff001accd001ff00304cccff001c4ccd03ff0133199aff02
+32666815ffff7e9999fffff83330ffff9f3333ff0011ccd0ffffd14ccdff00169998
+08ffffefb333ffffefb33405ff002d4ccdffff948000fffff1cccdffff591998ffff
+ff4cccffffff4cce08ff001c4ccdffffe3cccc05ff001fcccee2ff00038000ff003d
+8000fffffbcccdff002a666608ff01de4cccfffe21b334b0b0fffe218000f87205ff
+002c8000ffffff4cccff0048e666ff0003999aff0048199aff001db332080e9876ff
+02226668ff001c4ccc01ff022e9998ff001accd003ff02496668ff0133e66615ffff
+f83330ff00816666ff0011ccd0ff0060ccccff00169998ff002eb33408ffffefb334
+ff00104ccc05ffff948000ffffd2b334ffff591998ff000e3334ffffff4cceff0000
+b33408ffffe3ccccffffe3b33405e2ffffe03332ff003d8000fffffc8000ff002a66
+66ff0004333208fffe21b334fffe21b334b066f872ff01de800005ffffff4cccffff
+d38000ff0003999cffffb7199aff001db330ffffb7e666080eb1a5f8b877013ea803
+fbc7b115f71593ec79ba74089b9b055ef699f73b8c8c086ea8056b34884d8f6108fc
+72f8726666f873fc72055e8c4287436d080eff00214cccff001c4ccd01fffdb69998
+ff001accd003fffdb69998ff0124199a15ff0007ccd0ffff7e9999ffffee3330ffff
+9f3333ffffe96668ffffd14ccd08ff00104cccffffefb33305ff006b8000ff002d4c
+cdff00a6e668fffff1cccdff0000b332ffffff4ccc08ff001c3334ff001c4ccd0534
+ff001fccccffffc28000ff00038000ffffd5999afffffbcccd08ff01de4cccff01de
+4ccc66b0fc72fffe21800005ff0000b334ff002c8000fffffc6664ff0048e666ffff
+e24cd0ff0048199a080ef783bf01f77bb303f77bf85415352a3a535a7a087407f700
+5ff700fb148b8a08b30664df62b96aa608f7618bfb5bfc26c98bf75bf826f7598b8b
+bfffff54cccc8bff00b73334f8064d8bffff48ccccfc06ffff1933348b05abaabcc1
+a9d3080ef783bf01f82edd15e1ecdcc3bc9c08a207fb00b7fb00f7148b8c08ffffe0
+80008bff00698000f7694d8bffff48cccdfc06ffff2433338b8b57f7568bfb5bfc26
+c98bf75bf826f7648b056b6c5a556d4308ffffb8ccccf76515ff00496668ff009433
+3405ff0025b332ffffb19998ff00274cceffffd43334ff001fcccc71080e9e76f7fd
+cb01ff016780008915f758f8d0428b5cfb27fb7c8b5df727428bf758fcd005b4d715
+2af7b1f7528b050e81c8f866c801f728d0f761d103f7da8115e98bbecda0f0084506
+7e51725b518b083475f703f70ef70ca1f705e21fc58ba45a985008d10675f158ce2e
+8b08432165fb94fb95f566d31f0e81acf7c9b1f72ed87aac12f703dcf796da13dcff
+01beb334ff013f199a15ffffdf3332ff001e8000ffffd94cceff00146666ffffd2cc
+cc8b08fb1733fb03fb042bda4ee5f764b4f7b6f3f71353f5261f13ec598b60816d85
+6b85737c8b718b79977f9e8ba08ba1a8a79b0813dc95919d94ad8bce8ba52d8b2708
+8bffffede666ffffff199affffe74ccefffffd999affffe3e6660887ffffda333215
+fffff19998ffff8d4cce64ffff706666ffffa1b3348b084768c5d4e4b9e4db1fff00
+2de6668bff0029e666ffffea3334ff0024e668ffffe31998080e8bccf763ccf73ecc
+01ff01a08000d003ff01e58000f8d015fbd94af794fb3efb8a4af78afb63fb9a4af7
+df060e8bccf763ccf73ecc01ff01a2ccccd003ff01e7ccccf8d015fffff2199a8bff
+00174ccecc6796ffffe499983ffba38b8b4aff00f766678bffffc29998fb3effff50
+00018b8b4aff009866678bffffb53332fb63ffffa266678b8b4ad18b05ffffe76666
+47b07fff001ccccddbff00dbcccc8b0546ff01a2cccc15ffffae3334ffffe2800007
+ffffe8999a4a15ff0034e666fb63ffff80999a060e82b6f88cb601a5bef87cbe03f7
+d5f8ae15ff002a999a8bff0027e666fffff48000ff0022b334ffffec199a08ffff08
+6666fffe4f999805ffffbbe666ff002d9999ffffd28000ff004f66668bff0056cccd
+8bf71bf702f709f71a8b08ffff668000fc8c15ffffd0800038ac79ff002fe666ff00
+53800005ff0024b334ffffef999aff0028999afffff6e666ff002acccc8bf7388bf7
+17f7198bf7368bff0062ccccffffcf8000ff00578000ffffb56666ff0035800008ff
+0027199aff00443334699cffffdab334ffffbee66805ffffd66666ff00166664ffff
+d08000ff000cb334ffffcd66668bfb378bfb18fb188bfb378bffff953333ff003899
+9affffa2999aff0054e666ffffcc333308ff0037e666ff0015b33315ff00f63334ff
+01ad666605ff003a3332ffffd13332ff00253334ffffb6e6688bffffb0cccc8bfb1a
+fb00fb0afb1c8bffffdd66668bffffdee667ff0007ccccffffe21999ff000de66708
+0e8ba5f8e27701ff012b8000f8ac15f769fc92fc368b05f757f8e2152bfb7efb2afc
+038b8b88858a888b890888908a961ef8a98b978b058e8c8c8c8b8d8b8d8a8e88918b
+8bfb2ef80328f77e080ea076f8e2a501ff01588000db15fb69f892f8368b05fb57fc
+e215ebf77ef72af8038b8b8e918c8e8b8d088e868c801efca98b7f8b05888a8a8a8b
+898b898c888e858b8bf72efc03eefb7e080e8bc4f75dc3f75dc401ff00608000d103
+14e0ff0211800016c4fb2f07238b32e27cf70608f7f6c3fbf60698f700dae8f7088b
+08f72fc4fb2a06fb31fb12fb17fb2ffb2ef710fb18f7331f0e8bc4f75dc3f75dc401
+ff00608000d10314e0ff0211800016c4fb2f07ffffd980008bffffdb800097ffffe0
+999aff0014cccd08ff003c8000ff00a83333ff00bfe6668b8bc3ffff544ccc8bff00
+484ccef75dff006c66668b8bc4ffffa8199a8bff00176666cc6696ffffe4999a3fff
+ffeae6668b05fb31fb12fb17fb2f1f8bffffa26666ff002dcccdffffaa6667ff0047
+b333ffffcb6666085fffff85cccdb07fff0028b333f70505ff0027199876ff002ccc
+ce7fff002fe6668b08ffff70b333ff0073b33315ffffdb6666ff0023e666ffffe64c
+ccff0031e666fffff8999aff0038800008f70d06ff0014199ac315ffff72e6660698
+f700dae8f7088b08ff0005999a060ec7c1f4c1f3c201f726f7c303f7f3c715edc129
+06fb128b7bc480bb08f78fc1fb8f0696c0a1bdf70c8c08edc22906fb285240fb03fb
+14d551f7171f0e8bc4f75dc3f75dc401ff01d58000d10314e0ff006a8000f8d01552
+f72f07f38be4349afb0608fbf653f7f6067efb003c2efb088b08fb2f52f72a06f731
+f712f717f72ff72efb10f718fb331f0e8bc4f75dc3f75dc401f867d10314e0f3f8d0
+1552f72f07ff002680008bff002480007fff001f6666ffffeb333408ffffc38000ff
+ff57ccccffff40199a8b8b53ff00abb3348bffffb7b332fb5dffff93999a8b8b52ff
+0057e6668bffffe8999a4ab080ff001b6666d7ff0015199a8b05f731f712f717f72f
+1f8bff005d999affffd23334ff0055999affffb84cccff0034999808b7ff007a3334
+6697ffffd74cccfb0505ffffd8e668a0ffffd3333297ffffd0199a8b08ff008f4ccc
+ffff8c4ccc15ff0024999affffdc199aff0019b334ffffce199aff00076666ffffc7
+800008fb0d06ffffebe6665315ff008d199a067efb003c2efb088b08fffffa666606
+0ec6c2f3c1f4c101f73af7c303f79cf843152955ed06f7128b9b52965b08fb8f55f7
+8f0680567559fb0c8a082954ed06f728c4d6f703f71441c5fb171f0efb02acf903b1
+6faa12f70fe0f771e013b8f8416a15707c7a601e8406868789851f8b748e89058bd9
+8db1b4e7898b1e8c8d8ba20591878d861e7006617b99a91ff8b9078ba9a494a98c08
+a906908f8f8f1fa2078a8bfb1989858b0813d8408a858b4a8b408b798b4a8c0813b8
+7c8bfb038d838b087307888d87911eab06ad9e88661ffcb907707c7a601e70068688
+89851f8b748d89058bee8db0b4d2898b1e8d8d8ba20591868d871e8306627b99a91f
+f8aa0713d8ad9096ac1ef72406ad907b6f1f0efb02aa6fb1f903ac12f710e0f771e0
+13b8f765f89215a69a9cb61e9206908f8d911f8ba2888d058b3d8965622f8d8b1e8a
+898b7405858f89901ea606b59b7d6d1ffcb9078b6d72826d8a086d06868787871f74
+078c8bf7198d918b081378d68c918bcc8bd68b9d8bcc8a0813b89a8bf70389938b08
+a3078e898f851e6b0669788eb01ff8b907a69a9cb61ea606908e8d911f8ba2898d05
+8b28896662448d8b1e89898b74058590898f1e9306b49b7d6d1ffcaa071378698680
+6a1efb240669869ba71f0e4dc551a1f8d9b574a212ff01f48000a11358ff01fc8000
+f8db15fc6674069a8ba581a66708f73dfb9efb5efba1057d7a81897f8b0875f87507
+a7f743758d0513a88a866cfb06458b08fbac8bf760f7a48c8cfb40f7a4f7788b05c4
+8baa3a907808a18e050ef771c701f8cff7ad15990a0ef757c7f7bac701f7b4cb03d0
+f8b915f87c069b9ca29d9583947f1ffc78067a78707f819180981ff7affcb515f753
+f761079b9ca29d9583947f1ffb6ef760069681928177737b7d1efb54fb5e077a7870
+7f819180981ff76ffb62067f97869598a89b9b1e0ef74fc7f7acec12f7a3ec3bcb13
+e0f7a3f8d315719e75a9a79fa1a5a773a0731e707575701f13d09cfb1d15fb53fb61
+077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e079c9ea69795
+85967e1ffb6ff76206977f90811e7e6e7b7b1f0ef778d012f766ee63d913c0f7b9f7
+73156a6559908b558b7c977e9c8bc68b7dc3a4b8a464884dbc8b998b9d968b9d8bbe
+588969af089d8e9c8b9e8b08aead95a99583a36c1f6a8b80685e780813a08da9a2b1
+8ba608a3759679797779761e8b71a5728f635f9e7aac698b738b82798b7d8b5eaf8b
+b893089a8d98869889080ef711bbf73dbb01ff00bc8000c0f731c003ff018e8000f7
+9415970afb668c15980a0ef75ff70001f79ef70003f7d4f75f159e0a0ef971b201f8
+61f97115f7290a0ef7faa9f719a6f702a9b8b212ff0072b333ff0036cccd5cbdf702
+c66ac913f2ff011a8000f901159b0a13f99c0a13f69d0aff010c8000f70415f7290a
+0ef801a8d1adf75277ccb201ff01058000bf03ff01058000ff027db33415ffff744c
+cc2907ff00068000ff00118000ff00344ccdff0049b334ff00273333ff0030800008
+ffff3a4ccc048b627e88638986838c7c8f85a98cff000cb3338bff00234ccd8bff00
+1d999a8bff001266668ba98a8f928b998793698d7a8e8bb408a3bd0791ad538b8bf7
+4805ff0008e668fffff3999aff00011998fffff9b3321efffffcb3348bfffff6b334
+ffffff8000fffffee666ffffff4cccfffff0b332fffff6e668fffff4999afffff4cc
+cc82fffff58000ffffdce66762ffffd44ccdffffcbccccffffdeccccffffca3334ff
+fffc999afffffa8000fffffccccd86fffffd1999fffff9b334fffffd666783fffffa
+e666ffffebccccff001a999a8b08ff0076b33306ff01218000f7a115f7290a0ed9c4
+53b9f78ec856c061b512ff002f8000ca138cff01708000f785157262414a588b0844
+66ddcdcaabbbcb1fc88bd625a558081324f792f71a15c886073c8b403f5c5208138c
+62cd3dce3c8b082249242cfb02d259d41fd58be0d9b4c5081354b849d046e08b968b
+968c958d08b707858a858b848b518b42f26ab9a5b4d3cfbe8b08988b96889586080e
+d9c453b9f796c061b512a9c6f85fc5139cf7b4f785157862514a648b08546fddcdca
+a3bbbc1fba8bc6259f5808f7988415136c4e735b5a1e5e8b54f271b99fb4c3cfb28b
+08c3a7324f1fc5b615e463d1401e4b8b4e3f655208139c6acd4cce4b8b083656242c
+fb02c459c61fc78bd0d9acc508136caf49c346d08b08dec1f1eb1f0e8bb801ff003c
+8000be03ff003c8000f84e15fc4ef838b8fc05f821070ef760f70001f7a3f70003f7
+d9f760159e0a0ef7a3f760f70001ff0078199aff006de666ff005f199aff006e999a
+ff005c1998ff006e333403f8d1f76015a98ba7a491a8ff0000b334ff00036666ff00
+004cccff00034cce8bff000333328bff0019333477ff0012e666738b6d8b6d71866f
+ffffff3334fffffc4ccdffffff9998fffffc4ccd8bfffffc66668bffffe8999aff00
+10999cffffec6666ff001c99988b08fb5f16a98ba8a491a8ff00008000ff0002e666
+ff00003334ff0002ccce8bff0002cccc8bff0019e666ffffebccccff0013999affff
+e880008b6d8b6d71856fffffff6666fffffc999affffffb334fffffcb3338bfffffc
+b3338bffffe8199aff000fe666ffffebe666a88b08fb21c115ff0000b333ff000366
+66ff00004ccdff00034cce8bff000333328bff00193334ffffec199aff0012e666ff
+ffe8e6668b6d8b6c71866fffffff6666fffffc999affffffb334fffffcb3338bffff
+fcb3338bffffe8199aff000fe666ffffebe666a88ba98ba8a490a8080ef76cd301f7
+6c04f914d3fd14060ef7b0d303f7b0fbb415d3facc43060ef76cd301f7b0d303f7f8
+f76c15f7b0d3fbf8fcd4d3060ef76cd301f7b0d303f76c04f7b0fc8cd3f8d4fbf806
+0ef76cd301f7b0d303f7f8f7b415f88c43fcd4f7f8d3070ef76cd301f7b0d303f7b0
+f7b415fbb043f7f8f8d443060ef76cd301f7b0d303f7b0fbb415d3f88cf7b0d3fbb0
+f88c43060ef76cd301f7b0d303f7f8fbb415facc43fc8cfbb043f7b0fc8c070ef76c
+d301f7b0d303f7f8f76c15f7b0d3fd1443f7b0fc8cd3060ef76cd301f7b0d303f7f8
+f7b415f88c43fc8cfbb043f914d3070ef76cd301f7b0d303f7f8f7b415f88c43fc8c
+fbb043f7b0fc8cd3f88cf7b0d3070ef724d3d3d301f914f76c15fd1443f91406f76c
+04fd1443f914060ef768d3d3d303f768fb8a15f72a0af76c1cfb8c151c0474431cfb
+8c070ef724d3d3d301f7b0d303f7f8f76c15d3f7b0d3fbf8fcf2d3f81af7b0d3070e
+f76cd301f768d3d3d303f7f8f76c15fc62d3f862f768d3fc40fcaad3f862070ef724
+d3d3d301f768d3d3d303f7b0f7b415f7f8d3fc40fcf2d306d3f86215f72b0a0ef724
+d3d3d301f7b0d303f76c0443f7b0fc1ad3f8f2fbf843f7b043070ef76cd301f768d3
+d3d303f7b0f76c15d3fc62d3f8aafc4043f768fc62d3060ef724d3d3d301f768d3d3
+d303f7f8fb8a15d3f8f2fc4043f7f806fb24fb2415fc1ad3f862fbb043070ef724d3
+d3d301f7b0d303f7b0fa1215fd82f7f8d3fbb0d3f7b0d3fbb0f8aa070ef76cd301f7
+68d3d3d303f7f8f7b41543f8f243fd3af840d3fb68f8f243060ef724d3d3d301f768
+d3d3d303f7b0f76c15f93a43fd82f840d307fbb0d315f72c0a0ef724d3d3d301f7b0
+d303f7f8fa121543fcaafbb043f7b043fbb043f7f8060ef76cd301f768d3d3d303f7
+b0f7b415f8f243fcf2fb6843f840f93a43fcf2070ef724d3d3d301f768d3d3d303f7
+f8f76c15fbf843f840f982430643fcf215f72d0a0ef724d3d3d301f7b0d303f7b0fb
+8a15d3f81af7b0d3fbb0d3f7b0d3fbb0f8aa43060ef76cd301f768d3d3d303f768fb
+8a15f72a0af724161cfb8cd3f862f768d3fb68f8f2070ef724d3d3d301f768d3d3d3
+03f7f8f7b415f72c0afd3a04f72b0afc40fc6215f72a0a0ef724d3d3d301f7b0d303
+f7f8fb8a151c047443fcaafbb043f7b043fbb043f7b0fc1a070ef76cd301f768d3d3
+d303f840fb8a151c0474431cfb8c07431c04741543fcf2fb6843f768fc62d3060ef7
+24d3d3d301f768d3d3d303f7b0f7b415f72d0af768fb2415fc1ad3f862fbb04307f7
+f8fc1a15f72a0a0ef724d3d3d301f7b0d303f914f7b415d3fd144307f7f8fb2415f7
+b0d3fd1443f7b0fc1ad3060ef76cd301f768d3d3d303f7f8f76c15fc62d3f862f768
+d3fd1443f768fc62d3f862070ef724d3d3d301f768d3d3d303f914f7b415d3fd1443
+07430443f768fc1ad3f86207f724fc6215f81af768d3fbb0fc62070ef724d3d3d301
+f7b0d303f914f72415d3fd144307f7f8f76c15f8aa43fcaafbb043f914d3070ef76c
+d301f768d3d3d303f7f8f7b41543f8f243fcf2fb6843f914d3fb68f8f243060ef724
+d3d3d301f768d3d3d303f914f76c15fd1443f91406fd14f72415f7b0f8f243fcaafb
+6806f9144315d3fb68f8aa43fcf2070ef724d3d3d301f7b0d303f7f8f7fc15f8aa43
+fcaafbb043f7b043fbb043f7b0fc1ad3f81af7b0d307fbb0d3f7b0d3060ef76cd301
+f768d3d3d303f7b0f7b415f8f243fcf2fb6843f768fc62d3f862d3fc62d3f862f768
+d307fb68f8f243fcf2060ef724d3d3d301f768d3d3d303f7f8f7b415f72c0afd3a04
+f72b0afbf8d315f72d0af7b04315fbb043f768fc1ad3060ef790f917018bf91403f7
+9004f914f917fd14060efb8af88601fb8a04f914f886fd14060e8bf91403fb8a04f9
+141c0473fd14060e8bf7d403fb8a04f7d41c0473fbd4060ef7d4f7d403f7d4fb8a15
+f7d41c0474fbd4060ef763fb76efefefefefefefefefefef018befefefefef031403
+80effb12152727ef06f7c0042727ef06f7c0042727ef06f7c0042727ef06f75cfc88
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06fb5cf7c0
+152727ef06f75cef152727ef06fb5cf7c0152727ef06f75cef152727ef06f8880427
+27ef06fb5cef152727ef06fb5cef152727ef0627271527efef07ef1627efef07ef16
+27efef070ef763fb9fef8bef8bef8bef8bef8bef8bef8bef8bef8bef128bef8bef8b
+ef8bef8bef8bef138001f889fb3b158a8a8b28ef8b8bef05fbbf16138004f72e0afb
+be16138010f72e0a134002f75dee15f72f0a134008fb5d8a15f72f0a134020fb5d16
+f7300a132001f826ef15f7310a132004fbc08a15f72f0a132010fb5d8a15f72f0a13
+1002f7bfee15f72f0a131008fb5d8a15f72f0a131020fb5d16f7300a130801f826ef
+15f7310a130804fbc08a15f72f0a130810fb5d8a15f72f0a130402f7bfee15f72f0a
+130408fb5d8a15f72f0a130420fb5d16f7300a130201f826ef15f7310a130204fbc0
+8a15f72f0a130210fb5d8a15f72f0a130102f7bfee15f72f0a130108fb5d8a15f72f
+0a130120fb5d16f7300a130081f826ef15f7310a130084fbc08a15f72f0a130090fb
+5d8a15f72f0a130042f7bfef15f7320a130048fbc016f7320a130060fbc01627ee07
+8c8c8bee050ef763fb9fefefefefefefefefef128bf8ecfc88efefefefef13fb00f7
+c0fb3b1527efef0613f980f75c271527efef06fb5cf8881513fb0027efef0613f980
+f75c271527efef06fb5cfc881513fb0027efef0613f980f75c271527efef06fb5cef
+1513fb0027efef0613f980f75c271527efef0613fc00effcec1513fb80fa7c272727
+ef272727ef27270713fc0027270613fa00ef270613fc0027270613fa00ef270613fc
+0027270613fa00ef270613fc0027270613fa00ef270613fc002727060e9a7601f764
+f7561543fb5cf746f710f73efb0f4af758f73bf708fb618b4cf75545fb55fb578b05
+0e83a8c8f55ca47790f703bdeaa712c8a7edbd97a595a992bdf2a8139ff0f7a8f727
+158f8a906081890513cff086e215139ff06c8b66688389088d860599909f8d9c8c08
+8d610513cff07a987e9f1ea18b95998c9f088ca70513aff09589948a938b938b978f
+929508879205818c818e888b7c8b729c798f08868c868b868b08bfee15f7330afb1b
+16f7340aeaf70c15f7350afc3304f70feeeef70f1f8bf147e02da59ea4c6b0ac9d08
+8b76a47f1e8a067b8a4c516d64878b878c868b0874f70e71759f278a8b057ac668ba
+58b108648605bc60b75e9e54267640328b2008fb0eed27f70f1e0e83a8e6a4f711bd
+eaa601c8a7edbd97a591ad92bdf2a803f7a8f704158c8b8f8b8f648189058dcd1561
+8b78a479ab08767f059b6e9f70ad81088d6a0579987e9f1ea18b95998c9f088dac05
+b197a0a99399087798056e5e6685768b08b8f72a15f7330afb1b16f7340aeaf70c15
+f7350afc3304f70feeeef70f1f8bf245e12ca49ec3b7b9beb7086390055865685b7a
+50088a8b9ff071a174fb0d05868a878b868b6db24dc47b8c088a068076728b1faa79
+c369a072287542328b2208fb0eed27f70f1e0e83c7e0f71012c8f70ebfe45a95828f
+ebf71413f2f7d8f7b3159997979999977f7d7d7f7f7d1e7d7f97991ffb2116999697
+999a977f7d7d7f7f7c7d8097991eeefbbb15f70feeeef70f1f8bf245e12ca49ec3b7
+b9beb7086390055865685b7a50088a8b9ff071a10513e674fb0d05868b878a868b6d
+b24dc47b8c088a068076728b1faa79c269a172287542328b2208fb0eed27f70f1e86
+f72515a08bb091a8b8089f7e05837d766d647f088a6a058a77817d758b08777e989d
+1f89ac05699577a67ba808a097059d6b9e72b58b088a701513ea8a64958d0513e686
+af050e8ba001f7b6c703f80df74a15ac8b8b2ae78bbd8bc1b78bdc8bb37db76ab0fb
+00f70b54d43df7023bfb04463831206d677d6c8b58082dc869b41ee98b88ecb08b95
+8b9a7a8b5e8b557e646b850876f728a0076a9181bd8bb58bbf9b96968b080e8ba0d0
+f7a8fb4df71b129cf8f2fc4af7a2fb41d64bc113a2f7eff71015be9092951eac8ba6
+30e68b0813b0d0b4c1d8b37cf4271f528b5858718b0813a4828393951f13a88baced
+9b8bf308c860c630286649551e13a48b24ec7d8b668b7d8288848b0813d06d8b5ebd
+518b082f7330563db755cd1f13a2e68ba6e6ac8b988b8d768b668b57836169830876
+f71da0076d9380bf8bb6080ef86ff8e815fb1c8b84fb1f7c8b7e8b80f71ffb178b58
+8b3e6b8bfb088bfb11f706fb18d23408eefb0df5f71105dbeaf0f70c8bf7108bf704
+44b0508b080ef9007701f7daf900152ffb0c2a22242ef70125ed21e0fb03e4f706ea
+f5f0eefb06ed32f70139f703080e81f75101ff01c38000f94e1589fcd505ffffffcc
+cc4affffbb3334492f8b08ffffbf999affffdc6666ff0017199aff0026e666ff004d
+8000ff00578000ff00318000ff003180001fad8bff00228000fffffb8000ff001480
+00fffff680000888f8a0050e81f751f6a0f81b7701f7cbb3f724c403e3bf1564af74
+cbe7d0cdcc1e8df85f05ff000d999affffed3334ff00146666ffffe8cccca67eaf79
+baffffdc4ccc8bffffbcb3348b66795f577b8c838d859184dca3b0cc8bc38bff0031
+4ccc7bff0033b33453b00848b752b186ba0863828efca0057795688f698b0859345a
+3d1f0efb28f75158f751f89b7712f78eaef78cae13b8f8a6f863158efc4805ffffeb
+8000ff00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce80
+00ffffb28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccc
+cdff00003334cc088df8d1fbaff72263828efca0051378ffffeb8000ff00098000ff
+ffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffff
+d9199aff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc08
+8df869050efb2bf7515bf751f89b7712f781b3f794b01338f7a9ff021b1998158bff
+0048e668f794fb178bffffb666660588ffffd5999a158efbe90513b8ffffeb8000ff
+00098000ffffdd8000ff00048000698b08ffffce8000ffffa88000ffffce8000ffff
+b28000ffffd9199aff0023999affffe8e666ff004066661fe78bff0044cccccdff00
+003334cc088df8d1fbb9f72563828efca0051378ffffeb8000ff00098000ffffdd80
+00ff00048000698b08ffffce8000ffffa88000ffffce8000ffffb28000ffffd9199a
+ff0023999affffe8e666ff004066661fe78bff0044b334cdff00004ccccc088df80a
+050ef7afbd01ff00c68000aef71dd203ff00e98000f76915aec1ab9ba78ba48b9c70
+8b718bffffbbcccd5bffffd83333326908f85e04888f6e8a8888088bfc809c8705f7
+1eafe3ff0031e6668bff006a199a8bbf63b2538b558b736f6a54088a060eff00e180
+00aef70bae03ff017b8000ff011ab33415fb0bffffd3e6668bff00624cccf70bff00
+2b666605fb2eff00a7b334158bfffe77e666f72eff004166678bffff6cb333ae8b8b
+ff0185999afb2effffbf4ccc8bff0095199a050ef8767701f77aaef701ae03f80af8
+ec158bffff65ccccfb015f8bff00743334688b8bffff7dcccc55ffffea33348b4dc1
+ff0015cccc8bffff9a4cce55ffffe9e6668b4fc1ff0015cccd8bffff723333ae8b8b
+ff009bcccd05f701b78bffff8a3333ae8b8bff0083cccdc2ff001633338bc954ffff
+e980008bff00644cccc2ff001633348bc954ffffe9cccc8bff008c33340568fffec3
+199a15fb01ffffd366668bff00654cccf701b7050efb33948793acbbf2ff00553333
+ffffc4cccd9496909294f7ad95a392ca9ab192a5f7151253ff00098000ff00048000
+948994cfc0949ccc9d8299b1938c9982b87598a1bdc294b2b9d295cf941321f993f0
+f7bdf88115ff00064ccc82ff0005b334898a8a8a8981ff0005999a89ff000366661e
+8d8d8c8d1f59a7158506ffffff6666ff0007800089ff00081998fffffa199a8bffff
+fee6668b8affffffccd0ffffff999affffff999808899105ff0001199aff00008000
+ff0001e666ff000080008c8b08978effffef9998fffffa66681fef9a15898b899105
+ff00018000ff0000ccccff00018000ff000033348c8b978b8d7a8c86088506899489
+91868b081321f999f0306015888c8a8d1e8c8b8e8b8c8c8f908d908b8c088c8b8c8a
+1e888188841f7016888984878b8b081321f9d5f0819886978b9508a092a59fa39170
+80fffff1e66889fffffb19988b1e868905ff0000cccdff0001e666ff00003333ff00
+02199a8b8d089d819b7f7f837f7b1e8b83ff00048000fffff23334ff000b8000ffff
+f8cccc081325f991f0f7f8fc2815888b8cff000d6666fffff18000ff000a66670813
+31f991f0fffff6b334ff0006b333ffffedb334ff0003b333ffffe499988bfffff3b3
+348bfffff89998fffffa3333fffff8b334fffff8999a081327f991f084fffff8e666
+fffffb8000fffff9199a898b8a8b898c8b8e8e90989f9c9199b68c998b9a8ba97bbd
+6995088f91059e86af6f8b4e8b768775816fff000999988bff00114cd0fffffd3333
+ff000a999888ff001e8000fffff7666793ffffec80008bfffff8e66608898989891e
+fb9af833158a8c848e8a8b081321f995f08596899b8b93089d989aa19d9e7d681e8b
+7f897d867b7d918c89838f968e93948b990898819f7b7e8080741e8b868d868d8708
+ad5e15898d8b8f898c5f6b72847a8b768b7b937c9a081321f9b1f0878f898d8b8f8b
+a4c4a49a8ba28bd46b92848c898b898b898b8487838386087278056a7374857d8b72
+8bffffdf999aff001b6666fffff76666ff0015999a987f9d7ea58ba88ba79caaa108
+cdfcd515ff00068000ff0023cccdff00058000ff003919998bff0008199a8b938a94
+8a93088bad8b94051323f991f0a38fa09d1e8f8b8f8992858d7f8e809183081331f9
+91f0937c9e87988b0813a7f991f0af8b9eb99b8bff0006b3348b8cfffff08000ff00
+01cccc81ff00041998ffffe8e666ff0006b334fffff0cccdff000accccfffff7cccd
+ff0010ccd0fffff33333ff001b1998fffffdcccd8b768bffffe8cccdffffe74cccff
+ffffcccdffffdb3334ffffeb3333ffffec800080ffffea9998ffffed8000ffffee66
+68fffff1333308ffffed8000fffff06666ffffe88000ffffea199a6f8b708b7a9a81
+9c08fc329a15ffffe03333ff00043333ffffe84ccdff000c66678bff000a33330813
+69fb91f08ba1ff00148000ff000533338bac081369fd91f08b9c849c8b998b958eff
+000b333393ff0006cccdff00074ccdff00063333ff000bb333fffffdcccd978bff00
+0a999a8bff000b3333ff00016666ff00073333ff0003999a98947aa4b493ff000be6
+66fffffd199aff00093334fffffa8000ff0007b333fffff8e66608ff0015b3337799
+ffffdc6666ff0012cccdffffe64ccdff000de66678ff0012333373ff0008e667ffff
+f00001ff000d8000ffffe79999ff00043333ffffedcccd8bfffff266668b838a8589
+85817f7a7e748bfffff0b3338bffffdde66798ffffed3333ff0007999a08fffff080
+00ff00064cccffffd9b333ff000bb3346aff0004666608eaf798158b78938196838a
+928a928b918bff00188000ff000e3333ff0033cccdff0019999aff0030e667ff001c
+1999ff0035b332ffffee4ccdfffff3999aff001eb333ff003d4cccff0004e667ff00
+09e668ff00071999ff000c8000ff0003800095ff0001999aff00048000ff0000199a
+ff0003ccccff0000e666ff0006800008ff000e8000fffff18000ff000e6666fffff1
+8000ff001d199a8b998ba492aaa208a59e059c698c84a0618bffffdb8000ff001219
+9afffff2b334ff000f199affffe6ccccff000d6666ffffe9999aff000c6666ffffe0
+33338bffffbe33338b778a788878081323f991f0858f858d868b7c8b7f7b8b648b7c
+8c9a8b6559424587708b738b6a8f7b9f8499898d8b8d088c8b8c8c989e9c961e8bff
+00064ccdfffffb4ccdff00089999fffff6b333ff000a999afffff5999aff000be666
+ffffea8000ff0012e666ffffedb333ff000c3334ffffed8000ff000c4ccdffffe699
+99ff00141999fffff66667ff000a4ccdfffff09999ff0010b333ffffff199aff000a
+999a8bff000e80008bb3afd19799089287057a776e4f8b6008f761fba215b58bb685
+a0880813a9f9d1f0ff0009999affffe76666ff0016e666fffff3999aff001f80008b
+ff001e999a8bff00176666ff0016999aa2ff0013b333ff00111998ff000eb333ff00
+178000ff0012e666ff00103334ff00096667ff0028999cff0017b333ff00169998ff
+fffe199a8bff001ee6668b9cffffee3334ff0007cccdffffef800094ffffed3334ff
+000a33338592fffffbcccca10886ff001a8000fffffcb334ff000e8000fffff29998
+8b919d8d9e8b9f8be764c464bc3bec9ca37cf7037ef702349a698b298b72518b4808
+1369fdb1f08b4394678b708bffffe3e666ffffec199affffde999affffe2b333ffff
+deb334fffff0e666ffffeeccccffffeb8000ffffed3334fffff7cccdffffddccccff
+fff88000ffffdc4ccdfffffb999afffff36666fffff96666fffff2cccdfffffbb333
+fffff78000fffff6b333ffffee199afffff8999afffff3e666fffff6e666fffff119
+9afffff4999affffe766668bfffff28000088b83ff00008000fffffa3333ff000280
+00fffffacccd8381ff0003cccc8cfffff700017682fffffb8000fffffae666ffffff
+8000ffffee4ccd8bfffff133338bfffff88000fffffe6666fffffb8000fffffc999a
+fffff8199a85fffff8b333fffff480008bffffed8000081361fbd1f08b8092688b83
+8bffffeb4ccd76fffff34ccd8bffffe766668b73c8869f86ff0019b333fffffa3333
+ff0014e667fffffacccdff0010e666fffff9199a9afffff9e666ff0024b3337bff00
+19cccd8b9f8ba192999f08a396ae8ea78b080effff4d6666ff00234ccdfffff1199a
+ff0023999aff009d7fffff0024ccccfffff36668ff003ae666ff012d6666ff005233
+3412ff0006199aff00316666ff0046cccdff003c1999ff00c5999aff0048199affff
+d1b332ff0024ccceff0027ccccff00576666136ec0ff012d4cccffff61cccd15d2ff
+00000001ff004a4cceff003899998bdf8bff002ee667ffffdcb332ff002a6666ffff
+cb33348bffffe9b3348bffffe6b332fffff7b333ffffe6199affffe9999a666b694d
+8580ffffefb333ff0016b334fffffab333ff00174ccc8bff001f4ccd08ff0060e666
+ff0065999aff0054cccdf702ff0029b334ff002eb332fffff68000ffffdccccdffff
+ece666ffffeee6667cffffece6681e139f40fffff619988bfffff5199aff00024ccd
+fffff4999affffff80009b61ff00224cccffffef199aff001ce6688bff002c66648b
+ff00203334ff001fcccc8bff002f66678bff0028b333ffffd6b334ff0024e666ffff
+e28000ff000d199a928da59ca09da6a2a7b39fb008ffffdd6668ff0005199affffe1
+9998ff00034cccffffe2e6688bffffddfffe8bffffdfb334fffffb8000ffffdc6666
+fffff4199aff000e8000ff0014e666ff0005999aff001466668bff00124cce08ff00
+306666ffffde999aff0023999affffd1ccccffffd56666ffffdf3334ffffe08000ff
+ffd366661e8bfffff3e666ff000233327eff0004b334fffff2999aff0008199aff00
+0e8000ff000bccccff0011e666ff00144cce8bff000e33328bff0015999afffff133
+348bffffec80008bffffdde666ffffdde666ffffe9ccccffffdf199affffec33346d
+79ffffcfb333ffffe04cccffffe44ccdffffe6b334696cffffcd4ccdffffc04ccd8b
+ffffa63333088bffffd4b333ff000b9999ffffc9cccdff002c199a58ffffefe666ff
+ffebe666ffffe14ccdffffe7cccdffffe3b3338bffffe8b3348bffffe3e666ff0017
+4ccd8bff001b4ccd8bff000eb333ff00078000ff000f4ccd9bff000db333ff00064c
+cdff0005b334ff00054ccdff000580008bff00074ccc08a0ffffdc3332ff00186666
+ffffed6667ffffe4e66788ffffda6667ffffdbcccdffffc7ccccff0025e666ffffc0
+8000ff003566661eb28bff002acccdff001ee667ff0016cccdff001ab33308ff0013
+6666ffffec999aff0025999affffee3333ff002a4ccc8b08136ec0ff006c8000ff00
+85e66615ffffcf6666ffffcfccceffffce4cccffffc74ccc1effffe580008bffffdb
+4ccdff0014999afffff84ccda29caa9eada4a1ff0015b334ff0012cccdff0012b332
+ff00081999ff001066668b08ff001b4cceff001eb332ffffe63334ffffde99991f0e
+fb67c2f7aea86fb2f858a712f5dcf764d552c413bcf869f71315f7360a13baf7370a
+13dc688282611e6d06878788861f8b788d89058bf7078d971e13bcf7380a0efb67c2
+96a9729cf714a3c49c84a879a089a86fb293c4f71ca96ea0f714a3c49b7eaf78a7b2
+c49f9b12f5dcf743c45eb873d552c499e05eb8f3c55eb86abab7b8a7b8bbbba2b796
+b890b8f70ebb1390c9e40fe0f869f71315f7360a1390c9e20fe0f7370a139148e40f
+e0688282611e6d06878788861f139248e40fe08b7805139148e40fe08d8905139248
+e40fe08bf7078d971e1390c9e40fe0f7380af959e815139248e00fe095d4b890988b
+08a1a87d53868888851fbbfb021513d248e00fe0767476806a8b608b60ba8bc88b90
+8b8f8c8e08f7320691908f92bd78c93c524f54304aad4dde1fb68baea2a2aa08fbd7
+851513b448e00fe07a8582771e8206888a89881f8b808c8a058bb18ca0a2b48a8b1e
+8d8c8b96058e888d891e7f067785949c1ff71307c180b4551e6c8b6e83655e08898b
+8dc0828b05868b878a84870813b848e00fe0798279877187088f7b05958d928c938b
+089390866b1ffb2a077a8582771e8006888989881f8b808c8a058bb48ca0a3b18a8b
+1e8c8c8b96058e898d881e83067785949c1ff7280713b448e00fe0aaaea195a68b08
+aa9378601f139048e04fe0fbf5f73c157c987e9b9b98989a9b7e987b1e7b7e7e7b1f
+139448e02fe0c5fbbf15f7728207868b878985880813b848e02fe07a838388658508
+8e7a05968d928c928b089490866b1ffb29077a8582771e8006888989881f8b7f8c8a
+058bb48ca0a3b48a8b1e8c8c8b97058e898d881e80067785949c1ff7f2f894151390
+5ae00fe07a8682771e7f06888a89881f8b7f8c8a058bb38ca1a2ba8a8b1e8d8c8b97
+058e888d891e79067785949c1ff719078b938f938e909aa09896928b8f8b8f898f87
+90859287978b089b95949a9b8297721f6f8b716c7b74088a8b8cc1828b05878b8689
+85887983858865850813904ce00fe08e7a0513905ae00fe0958d928c938b08948f85
+6c1ffb88741595d4b790998b08a1a77d53858989851fbbfb0315139068e00fe07675
+76806a8b5f8b61ba8bc80897f73207928f8f91be78c93d524f54304aad4dde1fb58b
+afa1a2aa08139058e09fe0fc4a7f15f74907a3a4aa8c918b08b0aa5f4e466e57521f
+798b7e8f7f9a08f816047e067f858289808981897587828b08139058e10fe08c7c05
+898c8a8d1e9e8d05139058e09fe0979182691ffbc0078b738b81897d089888059091
+939491939c7b9e84a58b08c8cfc1ebd459bd571f6d8b7480767508139048f00fe0fb
+62f5157b987e9b9a98989b9a7e987c1e7b7e7e7c1f13904ce80fe0c4fbc015f77282
+0713904ce40fe0878b868985887a8384886585088e7b05958d928b938b0813904ce8
+0fe09390876b1ffb2a077a8682771e7f06888a89881f8b808c8a058bb38ca1a2b48a
+8b1e8c8c8b96058e898d881e80067785949c1f0e81b0f8e6b001e5eaf7a2ea03f7d6
+f90115a28ba2859b7fff00134cccfffff36668ff00103334ffffe8ccccff000c199a
+ffffdd199808ffff143333fffe8d666805fffff5e667ff0032ffffffffff4ccdff00
+3719998bff002733348bf79ed6bbc98b0886fd0b15e7f721dff7921f8bff005b3334
+76ff00506666ffffd8e666ff003cb33208ff00438002ff0069e6686c9affffc5cccc
+ffffa4999805ffffffe666ff0000199c8b8bffffffe666ff000019986cb159a94a8b
+fb0b8bfb05fb118bfb6a8bffffa98000ff0015b333ffffade666ff00266667ffffc3
+666708ffffb6e666ffff8d3333a97cff00403333ff0064b33305ff00077ffffffff6
+ffffff0007e667fffff7cccdff00086666fffff88000ad6db57bb98b08ff007e8000
+ff01f1999a15ff00076666ffffdab332ff0004199a5d8bffffc8b3348b2888467754
+6d325081728bffffc4b3348bffffdf1999ff00274ccdffffedcccdff00338000080e
+fb0578a8f764ab01bdbff71ca903f1d815f7020a579915f7010a0e89b0f756b3f7f8
+77f1eb01f751ebe8eb03f80ef98715aa0afb5116aa0ac1fc7a152c0afb8ffb52152d
+0a0e81b3f8bfb3d8eb01adecb7ebe8ebbcec03f800f98215aa0afb5116aa0af718fb
+3915460af7bffba415470a0e81b4f8b9aee2eb01dbe89aebe8eba7c003f80df98215
+aa0afb5116aa0a7cfb9515590a0ef7f3adf77da501f759c5f70cc603f80bf88a1595
+0abafb2b15960a0efb00f7faa5f76caacba101f7dec003f761f93515f7390aa32c15
+f73a0a0efb0ff7faabf770a601f71ac0f71bc103f7bdf91115f73b0a0e29f7fea484
+a1f75fa5cba112f71cbf13b8f7bcf83615f73c0a63fb4315836a988b051378f73d0a
+13b8f73e0a0ef7fbaef704aad6a401ff00f74ccdff0035fffff710c403ff01794ccc
+f81e15728b77977ca17f9e87a48ba48b8d8b908c8f08f7488905ffffff4cceff0047
+8000ffffecb332ff003b8000368bffffaa4cce8bffffd3b333448b418bffffd4999a
+ff000a3333ffffd83332ff001b999affffe7b334ff0012ccccffffef6666ff001be6
+66fffff7199aff002280008bb98bb9a2a5aefffffc4cceff0009b334fffff86666ff
+00064cccfffff74ccc8b0878756d7a658b08bbf72315fb0c8a05ff0004ccceb3a9af
+ff001c33328ba38bff00214ccefffff58000ffffffb332ffffbf8000080efb2bf800
+a2f74aa8f708a401f7f3bc03f739f83315f73f0a0e30f77aa9f0b6bba1f721a17ba7
+12deb58fb37dbbf5b168bb13ed00f81ef8ec15f7400a13f500f7410a13ee80f7420a
+13ed40f7430afb7efb7f15f7440a13e480f7450af728f744157c4d6f86778b0813f5
+40f7460a0ef8f30ef8f30ef8f30e33f800a2f771a1cca101f0f7d503ff00d58000ff
+01ee6666158dff00006666ff0001cccdff00003334ff0001b3338b988b9180908008
+a74b05937a8c878a8508877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d87
+8b6b8b81a587950864e805898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d
+8b8f8d8c8e088f9c898c058b648a74766f8c8b1e898a887a058a898c888e8b938b95
+8a89838a8787848283ffffd8666666ffffe7e667fffff06668ffffe31999fffff419
+9808ff0033999aff00df80007e8b05707f75856b8708877505978e948c928b938b8d
+878b858b878a858a85084ffb970586768986748a088406868a88891f8779058baf8c
+a2a3af8a8b1e8f9d058c8f898c888b0884067e848e961f8b8f8c8f8c90080ed2f800
+a2f76cad01f7edff0031e666ff0063199abd03f737f8fb15887505958e958c928b93
+8b8d878b858b878a858a850866fb310587768986738a088406878a88891f8679058b
+af8ca2a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf7
+2405a2a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006
+888b8a888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f
+8b8e8c908c9208aaf71705ff00014cccff00064cccff0001199aff0006199cff0000
+e666ff0005b330ff00168000ff0015199cff0017b334ff0012ccccff001280008ba1
+8b99818b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058b
+b18ca3a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f7
+17058e998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3334ffffee66
+66ffffeeb334fffffe999aff00251998ffffea666699ffffdf199a8b688b61687a7a
+0897bf7e8b05707f75856b87080ef8f30e350e25f77da2f700a5f75fa17caa12f7e2
+c013d8f74ef8cf15f7160a13e8f7170a9ffb0815a5f7050513d8f7180a0e28f77da2
+f700a5f76ba501f71cc003f7bcf83615f7470ab7ca15f7480a0ef8b60efb58f7faae
+f765a801f729bd03f785f8ee15f7190a0e34f7faae7ea1f762a212f72bbd13b0f788
+f90a15f7490a1370f74a0a13b0f74b0a0e2ff8f4a201f72df7ae03f76df80715f74c
+0a0ef8b60ef8b60ef8b60efb17f800a9f764a801f7469f03f768f90b15f74d0a0ef7
+7af837aff71af70801f784c5f716c5f718c503f7d4f95515f60af7509015f60af752
+8815f60a0ef837aff71af70801ff016a8000c5f716c5f716c5031438ff01538000f9
+5515270af75016270af75016270a0ea2abf88aaa01b0aaf88baa03f7d4a215930af8
+aa04940a0ef9015fa0ff00a4b333ff00154ccdf738a0f7b5a001f799a0f787a003b3
+93158b78968b9687db72ce87cb8bac8bab8eac90ff00d96668ff00238000ff00bc4c
+ccff008ae666ff00614cccff00c56666ff003c8000ff007ab334ff00098000ff0079
+66688bff001a19988b9c808c808f083ea34191598bffff27b3348bffff331998ffff
+973334ffff803334ffff534cccffffa6199affff868000ffffd5e666ffff68b3338b
+ffff9c4ccd08a198159df771f703f721d1cd08fbb6078cfb4a154c8b4c944e9dff00
+138000ff000e6666ff00a0199aff006e3334ff00146666ff000d199908f83dff0000
+4ccd05373ffb2e32fb5c8b089ff75915f7b807949bf5e1f714b208fb9c07f759fb48
+15fc358bf77ff738f7c58b05ffffd38000ffffaa3333ffffc16668ffffbc6667ffff
+f01998fffff56666088af86e15cb8bca82c87808fbfffb8f8bf79305be98c196d18b
+08fb2bfbb515f7f4f7880584417b396033080ef8f30efb00fb0aa5f76caacba101f7
+70c003eaf75915f7390aa32c15f73a0a0efb0ffb0aabf770a601a1c0f71bc103f74d
+f73515f73b0a0e29fb06a484a1f75fa5cba112a8bf13b8f7515115f73c0a63fb4315
+836a988b051378f73d0a13b8f73e0a0efb2bfb04a2f74aa8f708a401f77ebc03bb4e
+15f73f0a0e3dfb88a9f0b6bba1f721a17ba7127cb58fb37dbbf5b168bb13ed00f7bc
+f71215f7400a13f500f7410a13ee80f7420a13ed40f7430afb7efb7f15f7440a13e4
+80f7450af728f744157c4d6f86778b0813f540f7460a0e350efb03a8f761a0d7c512
+ff0060e666c559bb13f0ff007de666f7aa15f7060a13e8a6fbce15f71c0713f0f707
+0a13e8f7080a0efb4e0e33fb04a2f771a1cca10189f7d503ff006e8000ff00126666
+15f7120a0efb7c0ed2fb04a2f76cad01f786ff0031e666ff0063199abd03c7f71f15
+f7130a0efb03a8f75da17dad12ff0046cccdbbf715ff002fffff13b8ff007fcccde1
+15f7140a13d8f7150a0e33fb87a2f700a5f75fa17caa12f77bc013d8deea15f7160a
+13e8f7170a9ffb0815a5f7050513d8f7180a0e36fb87a2f700a5f76ba501a8c003f7
+515115f7470ab7ca15f7480a0efb270efb200efb58fb0aaef765a801b0bd03f715f7
+1215f7190a0e34fb0aae7ea1f762a212bbbd13b0f721f72e15f7490a1370f74a0a13
+b0f74b0a0e2ff718a201b4f7ae03f42215f74c0a0ebf0e540efb17fb04a9f764a801
+d29f03f4f72f15f74d0a0efc1df8cff70c01fbb9f76803fb6df94715ffffddcccdff
+fff46668ffffe87ffffffff04cccffffedb334ffffee4ccc08f72e4c05a082998893
+8b938b92928b938b9287918093080efc1df8cff70e01fbbcf75d03fb31f94915fb10
+35057e8289868b848b839184948b948b978ea09408f724c505fffff34ccdff00154c
+ccffffeb4ccdff00116668ffffe36666ff000d4ccc080efc1dfb91f78703fb05f916
+15fffff0999aff0007b334fffff66666ff0000b3347dfffff799986c696a68666f8d
+828e859485b19cab9cb0a6ac72ad79b279ff0009199aff0003ccccff00041999ff00
+08199cff0002cccdff000919980867a666ad6daf080efc1df8a0f70701fbc6f78803
+fb61f8a015c40a0efc1df8b4bf01fbbda7f76ca70372f92515c00a0efc1df8ecf727
+01fbf6f7910326f95415ff001033347fff0015cccc6e1e808b8487868308ffffc4b3
+33fb0105fffffd7ffffffffb6668fffffecccdfffffc99988b888b839386908b8e8b
+8e8c8d8d08eedf058f8f8e928b9408fb179015ff00174cccffffe9b333ff000eb334
+fffff04ccd1e7c8b8487868308ffffc98000fb0205fffffe199afffffc3334ffffff
+6666fffffacccc8b898b849186928bff0005999a8b8fff00038000ff000466668f08
+e3ff0050800005908f8d928b93080efc1df8e9f72a01fbf6ff00fa800003fbf6f954
+158b828e848f8708ee37058d898e8a8e8b908b93908b938b8efffffecccdff000366
+68fffffd8000ff0004999808ffffc4b333f701058693848f808b6e8b7fffffea3334
+8bffffefcccc08f71790158b838d84908708e3ffffaf800005ff00046666878fffff
+fc8000ff0005999a8b928b91908b928b8dffffff6666ff00053334fffffe199aff00
+03cccc08ffffc98000f702058693848f7c8bfffff04ccd8bffffe9b333fffff14ccc
+8bffffe8b334080efc1df8f1bf01fbbea7f76ca703fbbef8b415a70692b2bfa1bc8b
+c08bba75936408a70686d151b6428b498b4b618544080efc1df94eaa01fbcfd1f703
+d003fb52f96d156a749c9c1f8b908c918b8d089a819a7470817d7857c674cdcdc6a2
+bf9e81997074817c7c1e8b898c858b86087a747a6a1e0efc1df88baae47701fbe1d4
+ebd40330f8e2159e7d9973797a7d7a1e8b888b898c898c888b888b88087576776e6d
+77a0a11e8b8d8b8e8c8e8c8e8b8d8b8e089b7f9975747b7c7955c26acccbc5abc21e
+0efc1df959eb01fc4debe8eb03fb90f98915aa0afb5116aa0a0efc1df96476c5a301
+fb8bb8a1a59bbf0335f96915ef0a0efc1df8e0f301e9f303e9f91415c20a0ef790fb
+8aa37ba2f75fa3f829a3f754a3a8a39fa3989a9c9aa29a9da312cac3539dc99dbf9d
+99a2f752a2133ff780caf9d9158b748b7c8b7a8b7c05133fef809d8b05133ff780b1
+9a06133fef80659c06133ff780b19a06133fef8065a206133ff780b19a06133fef80
+658b05133ff7807906db16369dff003ab33407ff0017199a78ff00031999fffffc33
+34ff0000cccdff00009998ff0000cccdffffff6668ff00031999ff0003ccccff0015
+199aff00114ccc8b529d8b8be0798b8bfffff7666872ffffeb800070ff001633308b
+ff0006e668052dfb0e15f746fc8b068b748bfb54fb468b8b73f7468b0513bfe780fb
+66fb4673f74607137fe78093a207f769a2fb69f75ff75297a27ff738a3fb38f83574
+97fb5206f754f80da3fc0da8f767a34d07fb29e5068ba28bbaf7678b8ba3fb678b7c
+8b838b8bfb20fb468b05f81bfd7a15fb52f754068ba28bf752f7528b050e81b0f8e6
+b001e5eaf7a2ea03f7d6f90115a28ba2859b7fff0017999afffff09998ff0013199a
+ffffe0b334ff000c6666ffffceccce08ffff181999fc1805ffffeaffffff003c8002
+fffffecccdff004ce6668bff003280008bf79ed6bbc98b08ff007e4cccffff5e3334
+15ff00046668ffffe08000ff00024cccffffdb4ccc8b618b28884677546d32508172
+8bffffd34ccc8bffffe24cceff00164cccffffec4cccff0021199a08ff01134cceff
+01ce666615ff002fccccff005033346e99ffffd9b3344b05fffffc3332ff00053334
+fffffc333490fffffbe666ff0004cccc6cb159a94a8bfb0b8bfb05fb118bfb6a8bff
+ff9a4ccdff001de666ffffa08000ff0033e667ffffc2333308ffffcd333336a97cff
+002ccccdff004b4ccd05ff0021e667ffffe28001ff0029b333fffff03333ff002d99
+9a8be78bf721df8bf7928bff0053b334ffffee4cccff004a8000ffffdee668ff003a
+9998080efb30b5f8b4ac01f7fde203f854f74215cb0a0ef92ef858f74d03f87d8d15
+95969790988b998b96859581948190808b7e8b7e86808281818180877d8b7d8b8090
+819408819587968b988b999096949408acee1584878e921fb9078bac8ca18d9490a0
+95a09ca0969995979593b3af9fac8bba8ba8859c7fa377b0709d688b08698b718378
+7b7b7d89848a7e8b828d848d8791838e818b808b808783858683838188808b087e8b
+818f8293859288968b978bb2a0a6a8a4a9a4b598bf8bbe8bb17ea672af6a986e8b59
+088b698370716a777273756f7771797a7b837c7e7285738b73085f07848688831efc
+62f75515f86bfc6bf869f869fc6bf86c050efc1dff01f47020ff00c3235401fffed4
+8000f77c03ffff77c76df8ea15ffff5cb893ffffc3bdf48bffffdab22cf77cff0053
+ce988bff001a80c4fb7cff0054d3f88bffffdaae98050ef91414f81d157f97f87495
+f70f98c99506fb8296077f97f87495f70f98c99508fb7f93091e0a039625ff0c0992
+0c0ab00ab00c0ce20be20c0d1c003d13012502000100320045006b007e00c100d301
+0c0136014c015e017401d501e6026c027c028c02db02f0033e035803ac046a051b05
+780595065106b6071b07f8080c0858086d089b08e1090b092a099f09f90a100a3d0a
+4d0a550a910ac60adb0aeb0af30b470b810bad0bde0c080c260c2c0c370c520c9c0d
+320dc00e700fb7109e10f2113011a911d0120512c4134c137a138e13f41403142014
+6a151a152d1535155a1567157c158a15b115e015ee1717172a17ff18e419a21b361b
+8f1c131c8e1cb91cd81d301d3e1da81e571ea31ebf1f101f5d1f862031207320ed21
+5a21ed23712423245e2471248324a524c724dd253b254d255f257825b225e6264126
+9026a226df26eb2761278827bc27f3282e2887289f28df28fa290c291e29e229f52a
+5b2a922aa42acc2b142b652b812ba52bb82bca2ccc2ce12db52ded2e3b2eb52efe2f
+142f332f552f672f792f9d2fc12fe12fef3002302c304d30f63142318c31ee322632
+65327b3316336134b73502350d35213556365036bd36d53719372b374c379837aa37
+bf37dd37f33809381f3867388838b238cb393539ae39d539e73a1e3a623adf3be63c
+6c3cac3cca3cf43d1e3d313d443d563d873db83dfa3e0d3e253e5e3e7a3ea13ec13e
+d33eef3f0a3f173f393f5b406341cf425742bb431d433c436243c243cc43ec443844
+52446c44b644d94507453b459645e5462e463f465346754697469e46a846b246bc46
+c846d846e346ef46fb470d471f47314740478847ad4804482a488d48ad4904491149
+a749bd49dd4a414a624a7c4aa24ac14ae14b4d4b904bdb4bef4c6d4ccc736e78551f
+8b4599689433933d91318d768c858e84958b958b8e948c968d998bc798f70095e199
+b58bcc08c16e9e731e0b6ba76facaca7a7abab6fa76a1e6a6f6f6b1f0bb1068bb4f7
+79a0ff001a8000ffffef8000ff001b8000ffffd580006178716e7fb4fb818b1f0b56
+ab52c8deb7f702ced45d9d63414f3f391e0b798b688b55a481976e986f8b08434e44
+3358a951c9dfb7f705cb1f8b948a9489929e80b181a28ba98bb28fb19a08fbfbfc88
+b77cf82ef8cf619b056c613e7f618b080bc0b1d9b89ca2815d566c3a587a7396bb1e
+0bfb53fb61077b7a7479819382971ff76efb6006809584959fa39b991ef754f75e07
+9c9ea6979585967e1ffb6ff76206977f90817e6e7b7b1e0b66706e691f8b65aa80a1
+87a28996848b6f8b725b534d7b8b7f937b9383c998e5cd8bdf08d36abe5b1e0b9b9c
+af9896869b7f1ffbed067d7b6d7780927c961f0b67aa6cb0b0aaaaafaf6caa66666c
+6c671e0b9899a295938794811ffc39067f7e787c839183941f0ba9b8bdd9d9b04b41
+1e8b5c7d6c54663f5887578b600864078491889595928e921eb0078ba38f949ba496
+9ca19ca89bc2a9d7bd8bda8bed46d4fb0e8b4b8b4f716872677372678b650868a979
+9ea29e97a21e8b988891869008869089918b9a080b758b858e8e9508ddf7898d8be9
+fb96050bb8f71a059099918da38b08f74e8bc6fb3105966f60855b8885858b729185
+b08cc28cb28bb48bff00214ccc8aff001db3348a91918ba48591648e828d79b908fb
+62f8af057c8268817e8b08fb59fc8d05745178865f8885858b729185a78cff00224c
+cd8cff001ab3338bb28bb58ab08a91918ba48591658d5fff00034ccc98ff0026b334
+080baa9f96e2c3ca732a3a5a6f381e2d060bf71dba4335467956fb2c456a8fc31f0b
+ffffcdb3338b638cffffd94ccd8c85858b729185d18894868b3c08fc09078b3c828a
+458885858b729185bc8cff001e4ccd8cff0032b3338bb68bad89e48bf75b8bb6ea8b
+dd8be648bf34a3088d070bbda3b8bb8bbf8bcb78dffb4e8b688b4888608b080be28b
+f0b5c8e087947e95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108b
+c740a2399687968e959187bc83b983bf5d9057b1fb038b08fb4ffb20fb2ffb48fb36
+f70bfb1ef75c1f0bf85107acbb9ab4f75aaafb0cfb50fb543060fb0a39709fa91e0b
+ffffd0cccd8bffffe433338c5d8c85858b72918508c795833c1ffc05073c81834f1e
+85858b729185b98cff001c66668cff002f999a8bad8bc389e18b08f70af736c8f77e
+f770fb0bf2fb441f548b4488678b080bfb00f75006a2979ea31ef74006d68b9b67a1
+499789968e958f86b27ce689938b8d8a8c888b7a88838a738b08fbe8068b8b468c59
+8c85858b729185d1889c868b3c08fc05078b3c7a86458885858b729185bc8cd28c8b
+8b08f7b606bbdb898b1f99bb9aca93bb81917f8d7e88774768543f8b08fb5506757d
+9aa51ff777f70007e08b8e758e609185a08b919189ab8bff001333348bff0020cccc
+8babff0000b334ff0016b334ff00014cccff001b4ccc8591768b85858857887e368b
+080bdf8b85768e609185a08b919189a48bff0019999a8bff002066668bab8ba28da6
+8591768b85858857907e388b0824f74706c39d90bb1ee006f58ba839a149978b978d
+938e86b276f71e8a928b8d898c898b7988878a728b08fbcf068b8b208c598c85858b
+729185ef859c878b5108fc18078b3c5c86458885858b729185bc8cff003580008cff
+004180008bc98bff00314ccc8aff002fb3348a91918ba485916a8c578d7e95087d96
+86a18bb408f743070bfb36fb3634fb8afb48f70cfb0ef7521ff58bdaa5beb7819486
+928b9508f6078baca594a58e90918ba38691708a6c8a678b688b4a8c618c86858b73
+9085bc87b4888b6508fb200770796d845a8b08fb3744f714f72ff750eee6f7081f0b
+f7168ba941a239978a988c959183b386bb85cf08558b74a8fb028b080bf809078bd5
+8e90d18f91918ba48591608a568a738b738b5d8c5f8c85858b729185d1888c878b3f
+08fb2afba8078cf72a058bd68e90cf8e91918ba48591608a5d8a718b6b8b5f8c608c
+85858b729185d388ff0001333386ffffffcccd40088afc0905ffffffcccd3cfffffe
+333387448785858b729185b68cb98caa8ba78bb78ab58a91918ba48591478e88908b
+da08f74bf7a8fb4b078b3c8786488885858b729185b48cb78ca98ba88bb98ab78a91
+918ba48591458e88908bda080bf805078bd89091f7288f91918ba585915a8affff97
+800089ffffd180008b5f8b228d598c85858b719185f7278691868b3e08fc05078b3d
+8686fb288785858b729185bc8cd48cd98bff004d999a8bff004766668abd8a91918b
+a48591fb268f84918bd8080b8bde8f8ff70f8f91918ba485915a8affffc94ccc8aff
+ffbdb3348bffffae80008bffffb280008c598c85858b729185f730888e868b3808fb
+7807fb36674b5e1e678b66a48597849a78976f8b087374757560ce77b71fcd8bc199
+c6b8bbb09bbe8bf723080bf74407b78b9e84a46908f722fb50059e729a728d7c8b88
+8c888f8b9f8ca18c978b9d8bb18aae8a91918ba48591688d848c71aa08fb60f78b05
+839486928b938b928c92adac08f722f71f05b9ba938eb58d91918ba485916b8a698a
+738b718b618c638c85858b729185b188ff0027199afffffb4cccffffd8e666ffffd7
+b33408fb34fb39057574737d658908f739078bda9c90d18e91918ba485915a8a598a
+6c8b6f8b5c8c5f8c85858b729185c68795878b3c08fc05078b3c86874b8785858b72
+9185b88cbb8ca68ba88bb98ab78a91918ba48591458e84908bda080ba6e7898b1f95
+bb98f7128ec0818f7e8d7f89080b6ffb1f77632e8b08fb0c066e799ca81ff81f078b
+da9c90d18e91918ba48591638affffd780008affffcc80008bffffcb4ccd8bffffd6
+b3338c628c85858b729185d1889c868b3c08fc05070b8b3c7a86458885858b729185
+08bc8cdc8c8b8b080b8c438687458685858b729185b48cb48ca98ba98bb98aac8a91
+918ba485914d8efffffc99988ffffffe6668da080b83f81c05fffffeccccc4ff0001
+333490bf8e91918ba4859108fb1d89fb1bfbd4058172888c82a208fb08f7d5fb3b8d
+0585858b729185d087ff0001b33387fffffd4ccd4b080b7bfc1505883c8787478885
+858b729185a98cab8ca38ba38bb88aa98a91918ba48591438e898f8edc080b9bf814
+928bf71efc22058e848e88918b918b8e8d8e9308f73af82c908b050bfbc207798680
+851e888b7c9b72af08fbbaf82ffb178d0586858b729085b288a16a907208fc15078b
+3681864c8486858b729085ff00224ccc8cff0028b3348ca48bff00144ccd8bff002b
+66668aff00244ccd8a90918ba486914c927c8f8be108f7b107ab8b9a921e908b9482
+9c7408f7c5fc37050bff000e199affffec999aff000fe666fffffc6666998b089898
+979d1ff861078be09190ca9290918ba48691678affffdbb3348affffeb4ccc8bffff
+ea4ccc8bffffd166688cffffd84ccc8c86858b72908508ca849f878b35080bf707e2
+22fb4efb384227272029f5f743f752ebdfdb1f0bf756fb11f70afb371e318b3c6359
+44635272528b218bfb56f715fb02f72f8bf08bdbb9bdd5afc1a0c48be7080baea8a3
+dbd3ce7bfb0d246460fb001e0b6f8b4d8e808e080bfc05078b3c7086458885858b72
+9185bc8cff003480008cff002e80008bff0027199a8bff004ae6668abd8a91918ba4
+85913d8f5f8f8bda08f729070ba184b885b28b08f75eb4f707e1c367f3fb581f6e8b
+3085638bffffd580008b5b8cffffd180008c85858b729185d1889c868b3c080bc8dd
+7ffb04fb0b3a712a1f47f76706a7aba9d21e0bf72e07df8bb17d9a7508f709fb3905
+0ba85fb662c78b080b9a8b9c8d95908e928b978793648e74a471b408fb1cf75c05b6
+98efbc8bef8bbb7bb467ab5bb63a8b4c8b728b3585658bffffdbb3338bffffcecccd
+8cffffd480008c85858b72918508d18898868b3c08fc05070b8b3c7e86458885858b
+729185ff002c80008cff003066668cff0025199a8bff0026999a8bff003066668ab9
+8a91918ba48591458e7a908bda080b45938b9dfb0a8bfb0f8bfb025c8bfb138b26ff
+006a199a4fff006ce66680ee81ce718b268b3e50662a8b080bfb058b41b070ea7c8f
+7d89808690429072995cd78baf75f7008bc28bc296b5a0d0adb8bf8bce088bf70635
+befb0797080bffffb3800093ffff888000af8bdb8bd1ceb5d28bf70a8bb255a34c99
+8b9a8a96920887b985a57fbd080bf7f907c895afaf1ea706d68bc4729c42968b998c
+948f84b786bb8ab6080b8c898c8a1e0b6988fb0d873c8b0835060b3e8bfb148f658e
+898b898a8b8a8760815a805d9587978a978b080b9fd7c3a4cd8b08ae06b09567511f
+fbfc078b3c7a86fb0c8885858b729185bc8cff003f33338cff0047cccd8bff004766
+668bff003d999a8abd8a91918ba4859108fb0c8d7a918bda080b8bda9190d58e9191
+8ba28591638affffd480008affffd280008bffffd880008b658cffffdb80008c8585
+8b749185c58897868b3c08fba107fb56f72263e1f759bcf70df73d1ef769078bda99
+8ec59091918ba28591678affffd980008affffe880008bffffeb80008bffffcd8000
+8c5f8c85858b749185d3859b878b3e08fb7a072180fb12fb361e5d8b649e70a863b6
+88d38bc9080bd5868a77775808fb28fc11868bfb33f8160574c39193cf9291918ba4
+8591658a5f8a648bffffda80008b688cffffe080008c85858c729185bafffffa8000
+8ffffff98000a74608f75afc7b05917c9c85958b968b9692919908f759f879059db7
+ff00128000abff003980009291918ba48591ffffe180008affffdd80008a748b748b
+5e8c628c85858b729185080b4b7c59fb51057b4e878b7fc50854f79c057bd98e95c9
+8f91938ba08593668a628a678b658b738c718c85838b769183b287ff00034cccffff
+fa1998ff0011b334ffffade66808f1fc6c058f789785958b948b979190a008e6f7ca
+f6fbcc0591798f84958b948b95918f9f08f5f86505ff00139998ff0055e668ff0005
+6668ff00061998b69191938ba08593728a828a678b658b648c668c85838b769183e2
+858e817a3e0849fbbb05836a898180b1080bfb23f75905fffff73334ff000c199aff
+fff8ccccff000ce6668b928b948c93949608ff00848000f73705aeb6ff0023800097
+b88f91918ba485916d8a668a748b748b618c638c85858b729185ab89ff0019800085
+746b08ffff898000fb3505fffffa199afffff7e666fffff9e666fffffd199a878b88
+8b878e869208fb02f730056fb18690c38e91918ba48591638a628a6a8b648b6a8c6d
+8c85858c729185b588a1fffffcb334b1ffffcc4ccc08f722fb5505938091838b818b
+85fffffc3334fffff7ccccfffff9ccccfffff8333408fb28fb4e05695f6b845e8785
+858b729185a98cb08ca28ba28bb58ab38a91918ba48591668d718da3ab08f718f742
+05919391908e8b8f8bff0004999afffffdcccdff00056666fffff8333308f706fb39
+05a56488845c8985858b729185af8cb18cb38bb28bac8aa98a91918aa48591618e78
+9063c3080bf70f078ba7ff00006666ff00106666ff0011999aff001b999a08f715f7
+5f05a8b99c93b88f91918ba485916d8a6d8a748b748bffffdd80008cffffde80008c
+85858b729185b7889d84746608fb0dfb5905fffff74cccfffff1ccccfffffc999aff
+0001199afffff6199aff000f199a08fb12f7550572b29092c38e91918ba48591678a
+658a638b648b6a8c6d8c85858c729185b5889788af5508f721fb6405ff00123334ff
+ffe5199aff0002ccccfffff4e6668b6808fb07078b3c7a863b8885858b729185bc8c
+ff003380008cff002b80008bb68bbd8abd8a91918ba485913b8e7a908bda080b90c0
+95c497bc848d808e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199a
+ff0006199aff0005e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b9286
+8f838b7f8b6c896d8b08fb71060b84fb1a05ffffff3334fffff0e666fffff6ccccff
+fff7199a818469754e6f668b488b72b68bad8bc3ff002e3333ff002acccdff0054cc
+cdff00103333080b9069976cd08b08d7b5ff002b999aff000b6666938096851f838b
+8779708b598bfffff2ccccb8ff00023334bd0892f73505ff0009ccccff009d8000ff
+ff9c3334ff001e80002d8b0822fb014c4f709e7fa5aaa39d991f8b938994898f8a8e
+8a928b9708aec897bcc1c26ffb0e1e8b838486888a08fb1675050bffff71b333ffff
+e7e666ffffba4ccdffffc5199a8b418b36d06be78bc88baa94c6b008a79e050baaff
+0015cccca5ff00103334bb8b08d6da36fb00fb135e2dfb091f658b429b77a408f7b4
+078ba2ff0012666698ff000f999a96080bfffff8b333fffffa6666fffff74ccdff00
+01999a8b9f08f71307cb8fb48b1e92878e821e7281247d638889838d7b9185d28898
+8a8b3d08fc5e078bffffc88000fffff8800072fffff08000ffffeb80009083ff0006
+4ccdfffff8800095ffffff8000ff00094ccd91ff000b6666939899ff00134ccdff00
+14ccccff0005cccdff00003334ff001933337cff001ecccdffffedb333ff0045e666
+fffff64ccdb68b08f711f711f3f745f71cfb0bde201f4b8b60ffffeccccc63ffffe1
+3334080b87957d99808c4c4a3e73588b08fb043be7f70df709c7d6f11fd18bc46392
+58ff0004199affffe2199aff0015e666ffffede666a38ba98b9cff001366668bff00
+25999a8bff00156666fffff3b334ff0017b334ffffe94cccff0012e666ffffd5e666
+aeffffb58000a3ffffb6999a8b08fb21fb0afb00fb29fb1be8fb00f7391fd28bdf9b
+e5f1080b8b7689837b7d626757796d8b4b8b34cd8bf71f8bdb9bb89da2b0bfc98ea2
+8bb58bc07ea171089b798e848b68080b908f938e8b838b7096658b8b93888e8c938d
+080ba19db5ff0010199ad6ff0005e66691918b9a859140ff0009199a83ff000ee666
+8bbc08f85907cc8fb38b1e92878e821e7281247d638889838d7b9185d3fffffd1998
+97868bffffb5e668083d07838989831e878b449d648b3d8b58735b61585b6d498b38
+080bfb1dde27f7131eb98bc6a1c2b8080ba2f70cdaadcb8bbb8bdb6f8b2b8b8185ff
+fff033347dffffffcccc080b5c605771408bffffbfcccc8bffffc33334a162c572b1
+7faa8bcd08f80b0699959c97e953f704fb3efb1efb172cfb3d1f8b4da04eb461b55e
+d871e38be98bdeb2bdc5889686957c8c080bf7a2f74b07949a8f941fa4078f888d86
+1efb5bd106f713e1a2ac1eb58ba173a057ff00088000ffffeaccccff00128000ffff
+f93334a28b9e8ba49a8ba98b9f7da5779864ff001966685bff000c99985b8b0831fb
+1263fb391f56310779857f831f7907868d8a8f1ef700fba2068b5b88787d8181836c
+873f8985858b729185b58cff0042999a8cff004566668bff005e66668bff0068999a
+8ab68a91918ba4859108218f4e8e7f927a95889e8bbb080b235579592d77d8d2d9a8
+b0d11edcb15b2e1f0b97889f889a8b080bb08baa8f9c8bc68bc08ead79b872977f8b
+710843fb1165224c37a8cf1e8bad959fabb2080ba2769d6d1e6e8b55786e65080b7e
+9466a13f8bfb018b30498b248b4fab68aa6d080b6c707e5c8b658b63a16ba87d080b
+4f6764618b600834ef70e5f733f73dccf7001e8bab78a369a65eaf388c608b768b6e
+886f88080b798a7f8a858b698b649a8bbb8ba18da3989ea67baf84b68bf7008be6c8
+8bf7018bbf7baa6bac089396a19b998b080b938b938892818f829a80978b080b8bff
+0015199a94ff000c4ccc93ff0008b334b1ff00254ccccbff0025b334c88bff001466
+668ba0fffff2e666ff000b999affffe9199a95ffffec33348dffffe4cccc8b6d08fb
+5b078b3a818a578686858b729085ff00234ccc8cff0024b3348cad8bab8bb88ab68a
+90918ba486915090798d8bdb08f75c078bc2fffffc4cccff00308000ffffe8b334ff
+001e8000ffffef3334a1ffffdccccc97688b438b3f6e4e47fffffc999afffffc3334
+fffff99999fffffccccc8b9908ff0000cccdf74b05ff00004ccdccff0003b333b38b
+8b8b92878e828b72812a7d638889838d7b9185d28992868b4008fc49078b387e89ff
+ffbd33338985858b729185ff0027199a8cff0029b3338cb68bb28bff0021b3338aff
+001e19998a91918ba48591ffffcd33348f828c8bdd080b6da66da6aaa6aaa3a773ab
+6d1e706c706f1f0bf782078bff0043cccc99ff0010b3348bff001780008bff000680
+00fffff8ccccff00068000fffff933348bfffff4cccc8bffffe43334fffff9b334ff
+ffe53334fffffb3332ffffd26666fffff7ccceffffab3333fffff81998ffffd43333
+fffffd333488fffff780008cffffef80008f83ff005f800089ff0023b334fffffe19
+9aff0008ccccfffff4e66608ff000980007fff000180007e8b7108fb7a078b5c8778
+7d808083fb087f5a8985858b729185b58cf72c8cb88bb58bf7218ab68a91918ba485
+9108558d26978093087c95889e8bbb080b8b388081538785858b729185b58cff001c
+199a8cff002ce6668bff002380008bff000c80008ab68a91918ba48591628f80958b
+de08f107a28a958a96879c849b80987908dcfb0205ac5f95798f7a8c888b898e8ba1
+8c8f8cac8bae8bab8aac8a92928ba28492658f6f916db008fb27f74d05879087938b
+918b8f8b8e8f8f08eaee05ff0021ccccff00233334ff002a3334ff0009ccccb88f92
+928ba28492628a7389638b618b758d628c84848b749284c9877163817e08716b6964
+6e7671786d7e768908f7d507cc8fb38b1e92878e821e7281247d638889838d7b9185
+d48896898b3e080b8bffffd0b333fffffc8000ffffed4ccd7d808083ffff72b333ff
+fff84cccffffe5cccdfffffeb33485858b729185b58cff006866668cff005d999a8b
+ff005a199a8bff0061e6668ab68a91918ba485910872ff00013333ffff7b8000ff00
+08cccd80927b95fffffc80009d8bbc08f85a07cc8fb38b1e92878e821e6681fb0b7d
+638889838b789185ff002880008bff00254ccdffffff4cccff0016b333ffffed3334
+ff000a6666fffff76668ff0003199affffe1cccc8bffffd64ccc080bf761078ba0ff
+000a999aa0ff0006666695a8ff002d4ccca3ff0000b3349b8b08b19773481ffb6807
+8b32ffffff80006cfffffe80007dff000ab3348cff00184ccc8c958bff000b4ccc8b
+9c8aff000cb3348affffff33349cfffffeccccff0020199a8bff0054e66608f78f07
+aeff002f8000ff0017999aff00048000ff001566668b08b19d75481ffb56078bfb00
+ff0001b334ffffe14ccdff00064cccfffff0b333968cff00114ccc8cff0007b3348b
+b48b8e8ab68a90918ba48691ffffcf4cccff00034cccffffffb334ff000366678bff
+006e4ccd08f74707ff0058cccc7dff00463334331effffddb3348bffffdd8000ffff
+f9e666ffffd3ccccffffc8199afffffa4cccfffff8ccccfffffc4ccefffffdb334ff
+fffd6666ff0009e666fffff58000ff0028199affffe38000ff00158000578b658bff
+ffdccccdffffedccccffffdc3333ffffcb3334fffff9b333fffff6999afffffd4ccd
+ffffffb3328bff0009b3348bb3fffffcb333ff000fb334fffffb4ccdff000a4ccc08
+fffffde666ff0004999afffffe199aff00036666838b080b6f807082468289858d7b
+8d85c18691868b5108fb80078b32ffffff80006cfffffe80007dff000ab3338cff00
+184ccd8c958bff000b4ccd8b9c8aff000cb3338a08ffffff33339cfffffecccdff00
+20199a8bff0054e666080b888785818b998bff003d199afffffcb333ff0018999aff
+fffb4ccdff000a4cccfffffde666ff0004999afffffe199aff00036666838b6f8066
+82468289858d7b8d85c18696868b5108fb86078b3981fffffd199a45fffff9e66685
+858b729185b48cb28cb68bb28ba28ab58a91918ba485915890828f8bdd08f753078b
+a094979394080bb1b0c3b5c88b9f8bff0013199afffff1e666ff000de666ffffea19
+9a97788e6f8b6d08fb5b078b398187578686858b729085b58ca28cb38bb48bb08ab6
+8a90918ba4869149ff0004199a80ff0004e6668bdd08f758078bc287bd71a8ffffed
+6666ff0014b334ffffe2999aff000d4ccc688b083b8b4b6a4e47080bfb06dffb12f7
+431eda8bc7a4b5b0c3bca3d28bcf8bf70844f71afb508b3a8b496d5e5b5f5b724b8b
+45080bf706d039fb38fb23376e4cfb1d5ff71ce3eeff001ce666eaff0074199a1f0b
+ff001c8000ff00278000ff002a8000ff00258000b88b08ff006d999aff002666663b
+fb12fb134e41271fffffd1b3348bffffb6ccccbefffff78000c508f732078ba2ff00
+0ce666ff00174cccff000c199aff0010b334080b8bac8ab286978990898f828b080b
+6c7f5e803e8189848e7a8d84c785a1868b4a08fc60078b3876864e8885858b729185
+b58cff0022e6668cff0031199a8bff0038999a8bff002d66668ab68a91918ba48591
+308f80ff000466668bff0052999a08f72e07ab68b774c68bc98bc59eb9b6bfbeabd1
+8be5080b8bff0036800088ff000e800086958990898e838b5ffffff880003dfffff3
+8000468289858d7b8d85ff001780008bff0048800083958598838e7e8b6a08fb8607
+8b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000fffff98000ffff
+ae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e8ab68a91918ba4
+859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff00158000ff000e
+ccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff380009283967f9a7c9f
+8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb9800008fffff76666ffff
+f6e666fffffe999aff0008199a8bac080b8f54985c9d62978d9b8d918b938b99ffff
+ff333393fffffdcccd080bff0012800086bf84ff003880008bf71a8bf4ff00288000
+8bff007280008bd7ffffda1998ff0026e666ffff62e668ff0019199affff928000ff
+00118000ffffbb8000ff001280008bc38bb6bdace78b080bff004e80008bff002580
+0058b5439b8a9891929285ba85b183abffffdd8000ff000b8000ffffbb8000ff0013
+8000448bfb018bfb005a8b3b8bffffa78000bbffffdae666f719ffffe9999a080bff
+008e800073ff002a8000768b5b8b545065278b528b5d96799a6ea473bd84a7087d8d
+77868282080b7d877f831f7907868c8a8f1ef704fb9506fb04cd66e31eff003a8000
+8bff00438000aadcb889ff000a4ccd85ff0010b333818cffffc98000745375ffffd4
+80008b0858589ff70a1ff765f7600795998f941fa4078f888d861efb70e406cc8fb3
+8b1eff0006666888ff00026664fffffb4ccc1efffff8b3348bffffeab333fffff4e6
+68fffff04ccdfffff966647afffff8e66872898b818bfffff466688effffd499988b
+ffff91199a080bb28bff004a8000ff0013199aff00438000ff0032e666ff0005199a
+ff0003e666ff0006e666ff0002199a8b848bffffd3e66696ffffe7199a8b8b93888e
+8c938d080ba19dbc9ac89291918b9a85914b907f9e8bbc08f78307a98fd88b1e8e88
+8e861e868a748a7c8b6b8b658c668c85858b729185ff0015e666fffffeb334ff0013
+b334fffffce666ff0009999a82ff000bccccfffff4e6668f778bffffdb800008fb76
+078b78fffffee666fffff6e666fffff1199afffff5199a080bffffc5800060ffffc3
+800078728b086d5999e41ff77907a98fd88b1e8e888e861e868a7a8a7c8b6b8b5a8c
+668c85858b729185a1fffffe3334ff0018e666fffffcb332ff0009999afffff6b334
+ff000b666680ff0004199affffec999a8bffffdccccc08fb830746af48ee1e0bc687
+9d83745808fb06fb8b057964858b7ab50825f78805ffffeb8000bcfffffd800095bf
+8f92918ba48491628affffe1999a8affffd266668b658b738c628c84858b729285ca
+849680a15808f736fc0305927c9585998b968b9491939c08f741f80005ff00151998
+ff002c8000ff0009e668ff00138000c69192918ba48491738a6f8a6e8b628b748c62
+8c84858b729285080b78a49990ba9191918ba48591ffffe2b3338affffc64ccd8a6b
+8b6b8bffffd64ccd8cffffe2b3338c85858b729185b088a97ea96208f708fb2d058e
+878e86868508fb05fb1905ffffd7199affffcfe666ffffe4e666fffffe199a658985
+858d729185ff0017b3338cff00184ccd8cb28bb48bff0023b3338aff00184ccd8a91
+918aa485916e8fffffe63333ff0003e666ff0015cccdff001c199a08e5f708059395
+8e8e938008e02205ff0022199affffd5ccccffffe9999afffffc3334ffffda4ccc88
+85858d729185ae8cbb8cb28bb48baa8aa88a919189a48591ffffdd4cccff0001b333
+ffffe1ccccff0004cccdffffd6e668ff0034800008fb0bf72c05fffffb3334ff0006
+199aff00008000ff0003b333ff00044cccff0005333308f704f71905ff00236666b5
+ff001e999a91b28e91918ba48591708a688a708b758bffffd2b3348cffffde4ccc8c
+85858b729185af87ff0018199afffffc199affffe8e666ffffe2e666082efb090587
+86fffff83334fffffc3334fffff7ccccff000acccc080b9ca799a798a9e1f755d2f7
+2ec4f7049aa8a0a7c08e91918ba48591708a688a6d8b658b6c8c6d8c0885858b7291
+85af8ab5867b6808fb15fbac05fffff2199affffe1b333fffffc199aff0000cccdff
+fff1ccccff001e800008fb0df7970578b58699c29091918ba48591638a608a648b66
+8b6c8c758c85858b729185bc879488a94b08f727fbce059c679b6583777e6a7e6f7b
+6c7f776782708b7c8b868e7f8b086c7b6d7e76a07ba81fa28bd093b2cb080bfffffd
+999afffffc6666fffffc6666fffffd999a1f7c5b83ffffe480007d5194fffff78000
+ff000f6666fffffc6666ff000b999aff0002999a080bab6fa76a6a6f6f6b6ba76fac
+1eaca7a7ab1f0b71a076a5a5a0a0a5a576a171717675711e0bf730f712f713f730f7
+30fb12f712fb30fb30fb13fb12fb30fb2ff712fb14f7311f0bf71ff704fb04fb1ffb
+1ffb05fb04fb1efb20fb04f705f71ef71ff704f704f7201f0b38076e737881748b66
+8b7fa08ba18baca59de9a2080ba08ba09895958c938791838e88888489878b088186
+9cb61fd907ee4ca0555d4768617b98819ba09299931e8b908a918a8d8a8d8a8f8b92
+089ca297afa4ae833c1e4b7b05467a5e6e8b5f8b5eb26eb98baf8ba094b0ab8e789a
+75a78b080b626e615a596eb4b5b6a6b6bfc1a35d631e0b42c650d4d4c5c6d4d551c6
+42425050411e0bfc7c067b7a7479819382971ff878069c9ea6979585967e1f0bff00
+088000ff001ab334ff00063334ff001f9998ff00044cccff0023b334fffffab334ff
+0003b33483ff00019998fffff54cccffffffb334080b8b6270715f85fffffd4ccdff
+fff6e668ffffff4ccdfffff49998ff00056666fffff9800093ff0001800090ff0000
+8000928b080ba3be87525455786e1f6b8bffffedb333ff00068000fffffa4ccdff00
+0b8000859781907d8b08fffff3b333fffff38000fffff7199afffff2b332ffffe080
+00ff0050999afffff4b334ff001a3333dbd0b6d01f8bc55ca36a8e080ba89ba19b8b
+b108ff002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bff
+ffff33339dff0004cccd96ff00088000ff00138000ff00208000ff000480009c8b08
+b29880711f0ba7a5a5a7a771a56f6f71716f6fa571a71f0ba2957d7671767d6d1f77
+8b808f7095848488848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908
+a4ce698b632b9185059b90958c9e8b080bfc5efd23b483f85ff923050b978d826b1f
+fb16078b586c88638986838c7c8f85a98cff001eb3338bff00234ccd8bac8ba08ba9
+8a8f928b998793698d768e8bbe08f78307fffffab33390fffff8999afffffde668ff
+fffab333fffffd19985f70717f5c7a8b7fff0002199afffff71998ff0007e666ffff
+f9e668a4949e91988b080bffff744ccd2907ff00068000ff00118000ff00344cccff
+0049b333ff00273334ff00308000080b8b6270715f85fffffd4ccdfffff6e666ffff
+ff4ccdfffff4999aff00056666fffff9800093ff0001800090ff00008000928b080b
+ffffddcccdfffff46668ffffe88000fffff04cccffffedb333ffffee4ccc08f72e4c
+05a0829988938b938b92928b938b9287918093080bfb1035057e8289868b848b8391
+84948b948b978ea09408f724c505fffff34cccff00154cccffffeb4cceff00116668
+ffffe36666ff000d4ccc080bfffff0999aff0007b334fffff66666ff0000b3347dff
+fff799986c696a68666f8d828e859485b19cab9cb0a6ac72ad79b279ff0009199aff
+0003ccccff0004199aff0008199cff0002ccccff000919980867a666ad6daf080b78
+8bffffed4cccff0006b334fffff1b334ff000c4ccc080bffffed8000ff000fe668ff
+ffe88000ff001219986d8b608b74647d509185958a968d95ac959aa58b9c8bff0014
+8000fffffa3334ff00108000fffff2cccc080b9f7ba17ba18bb98ba8b297c7858f81
+8e808a087d618081758b080b71a175a5a5a1a1a5a575a171717575711e0ba99d756c
+6f7a726c6c7aa4a7a99ca2aa1f0ba2957d7671767d6d1f778b808f7095848488848b
+7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00154cccff00393333
+05ff0054999aff00033332ff005f8002ff0029e666ff003a9998ff0051b33487947e
+95818b4b41406c378b08fb1c36f71ef71ff744f6f2f7051ff7108bc740a239968796
+8e959187bc83b983bf5d9057b1fb038bfb4f8bfb20fb2f8bfb488bffff64999aff00
+6d8000ffff7a9999ff00b9999afffff5800008ffffdbe666ffffa94ccd9185059b90
+958c9e8b080b71a175a5a5a1a1a5a575a1711e717575711f0bf805078bd89091f728
+8f91918ba585915a8affff97800089ffffd180008b5f8b228d598c85858b719185f7
+278691868b3e08fc05078b3d8686fb288785858b729185bc8cd48cd98bff004d999a
+8bff004766668abd8a91918ba4859108fb268f84918bd8080bffffddccccfffff466
+68ffffe88001fffff04cccffffedb333ffffee4ccc08f72e4c05a0829988938b938b
+92928b938b9287918093080b71a076a5a5a0a0a5a576a071717676711e0b878c858c
+868b698b747a8385088980f706fb01059b7c9286918b938b92918b908b928a928695
+080bffffb46666fb0b05fffff7e666fffff33334fffffcb334878bfffff4cccc8b84
+9285928b928b938f9a9a08f707f70188960574a1ffffe666668cfffff9999a8b868b
+858a888a080bfffff54ccc8efffff56668ffffff4cccfffff54cccfffffdb3346e5d
+5d556763918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668ff00
+08999aff0008199890920867b35fc06eba080b84fb1a05ffffff3334fffff0e666ff
+fff6ccccfffff7199a8184080b69754e6f668b488b72b68bad8bc3ff002e3333ff00
+2acccdff0054cccdff00103333080b71a076a5a5a0a0a5a576a1711e717675711f0b
+5db564b9bbb3b3b8ba61b15d5d61645d1e0b87957d99808c4c4a3e73588b08fb043b
+e7f70df709c7d6f11fd18bc4639258ff0004199affffe2199aff0015e666ffffede6
+66a38ba98b9cff001366668bff0025999a8bff00156666fffff3b334ff0017b334ff
+ffe94cccff0012e666ffffd5e666aeffffb58000a3ffffb6999a8bfb218bfb0afb00
+8bfb29088bffff88199aff00496666ffff9d4cccff0084199affffeb800008ffffda
+8000ffffa6199a9185059b90958c9e8b08a2957d7671767d6d1f778b808f70958484
+88848b7fa4809c85ab8b08c8b9aab6b16ca3631f828b828a838908ff00158000ff00
+39800005ff00066666ffffffb333ff00068000ffffffcccdff0006999a8bd28bdf9b
+e5f1080bbbdb6f2b1f8b8185fffff033347dffffffcccc080bf782078bff0043cccc
+99ff0010b3348bff001780008bff00068000fffff8ccccff00068000fffff933348b
+fffff4cccc8bffffe43334fffff9b334ffffe53334fffffb3332ffffd26666fffff7
+ccceffffab3333fffff81998ffffd43333fffffd333488fffff780008cffffef8000
+8f83ff005f800089ff0023b334fffffe199aff0008ccccfffff4e66608ff00098000
+7fff000180007e8b7108fb7a078b5c87787d808083fb087f5a8985858b729185b58c
+f72c8cb88bb58bf7218ab68a91918ba4859108558d269780937c95889e8bbb080b88
+8785818b998bff003d199afffffcb333ff0018999afffffb4ccdff000a4cccfffffd
+e666ff0004999afffffe199aff00036666838b080b6f806682468289858d7b8d85c1
+8696868b5108fb86078b3981fffffd199a45fffff9e66685858b729185b48cb28cb6
+8bb28ba28ab58a91918ba485915890828f8bdd08f753078ba094979394080bb1b0c3
+b5c88b9f8bff0013199afffff1e666ff000de666ffffea199a97788e6f8b6d08fb5b
+078b398187578686858b729085b58ca28cb38bb48bb08ab68a90918ba4869149ff00
+04199a80ff0004e6668bdd08f758078bc287bd71a8ffffed6666ff0014b334ffffe2
+999aff000d4ccc688b3b8b4b6a4e47080bffffb46666fb0b05fffff7e666fffff333
+34fffffcb334878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574
+a1ffffe666668cfffff9999a8b08868b858a888a080b9896a097918796811ffb7506
+8080777f848f80941f0b6f06846457755a8b568b5ca183b2086f069045c560d48bcd
+8bcbb591d2080b707f059936be59d18bc68bcbbc97e10870970581515d6b578b0855
+8b60b080c0080b6fa373a7a7a3a3a7a773a36f6f73736f1e0b6da66da6aaa6aaa3a7
+73ab6d706c706f1e0bb606a9adababb1a8087c9f05657b6b7866716aa4699e649c08
+7b7705af6fae6da966080bbd06a8b9b1b8aeb20878980566706972666569af6aa464
+a808777e05ae65b05ea85c080b6f06846457755a8b568b5ca183b2086f069045c560
+d48b08cd8bcbb591d2080b2d77d8d2d9a8b0d1dcb15b2e1f0b6fa373a7a7a3a3a7a7
+73a36f1e6f73736f1f0b6e7678731f8b70a4829c889d8998878b778b7971735a808b
+828d829185c494bca98bc708bf73ad651e0b707f059936be59d18bc68bcbbc97e108
+70970581515d6b578b558b60b080c0080bf75a078bcf999b8ba38b918492848b808b
+3d8570865d8337835f8888838c7a8f83eb89ff0050b334fffff8b334ff00094cccff
+fff54ccc08987c8d818b7108fb6d07fb6d55644d1effffda80008bfffff24ccdff00
+0b999affffe0b333ff0020e666ffffec8000ff00148000ffffe6999aff00028000ff
+ffeae6667effffec80007ffffff93333ffffd5cccdff00234ccdffffeab333ff001a
+80007bc286bb8b08f707edbef7ab1f0b687b727b7a9573b3ff00183333ff0004cccd
+ff00069998ffffec66681f8b74776b527f8b848c828f87b190ff001c199aff0010e6
+68ff0010e666ff001519989b9f92a18ba308af74b0641e0bff001033347fff0015cc
+cc6e1e808b8487868308ffffc4b334fb0105fffffd8000fffffb6668fffffeccccff
+fffc99988b888b839386908b8e8b8e8c8d8d08eedf058f8f8e928b94080bff00174c
+ccffffe9b334ff000eb334fffff04ccc1e7c8b8487868308ffffc98000fb0205ffff
+fe199afffffc3334ffffff6666fffffacccc8b898b849186928bff0005999a8b8fff
+00038000ff000466668f08e3ff0050800005908f8d928b93080bff001299987aff00
+126668761e7f8b84888682083dfb1f058a8a8b898b8a8b839486908b8d8b8d8b8d8d
+08f706f7020591918c928b91080bff00148000ffffeee666ff000f8000ffffeb199a
+1e878b7b8a857e084bfb26058a8a8b8a8b8a8b839386918b8e8b8e8c8d8d08f1f70d
+058f908c918b90080b8bff0036800088ff000e800086958990898e838b080b5fffff
+f880003dfffff38000468289858d7b8d85ff001780008bff0048800083958598838e
+7e8b6a08fb86078b5bfffffbe666ffffed3333fffff1199afffff5cccdfffff68000
+fffff98000ffffae8000fffffa8000628985858b729185b58cf7118cb38bb48bf70e
+8ab68a91918ba4859108688c21927f917995879d8bbc08f71e078ba5ff00093334ff
+00158000ff000eccccff00108000080bc3ff003e8000bcb4b28b998ba2fffff38000
+9283967f9a7c9f8b08a5a0a7a69f7faa5e1ffb0d8b59ffffd2800048ffffb98000ff
+fff76666fffff6e666fffffe999aff0008199a8bac080bffffcd80008343fb4005ff
+ffef8000ffffd8b333fffffd4ccdffffff8000fffff61999ff0025cccd0855f76305
+7dff0035b334ff000c199aff00064cccbb8e91918ba48591ffffde4ccd8affffddb3
+338a678b658b6e8c768c85858b729185ad86ff00043333fffffd199aff000ee667ff
+ffc8e66608ff0064e666fc0a05ff0003999afffff13333ff00096666fffffacccd95
+8b948bff00063333ff0005e666ff0006cccdff0010199a08f6f790ff0004b33485ff
+00684cccfb8c05ff0005e6667dff0007199a85958b948bff0009199aff00054ccdff
+0003e666ff000fb33308ff00648000f80405ff000c9998b9ff0006e6689cb9909191
+8ba48591fffff04ccc8affffedb3348a678b658b698c6b8c85858b729185d687ff00
+004cccffffe8999afffff64cccffffdb666608ffffc06668fb8305fffff9b334ffff
+e84ccdfffffce666fffff9cccdfffff63332ff0019e666080b90c095c497bc848d80
+8e7e8b6c497257fb018908fb4d87057a838d941f8b90ff0002199aff0006199aff00
+05e666ff0007e6668b8bf78df7f1f70af724a0a58e928b958b92868f838b080b7f8b
+6c896d8b08fb71060b5c8b2a8f668e87588155836495889489968b080ba0cdb1abd6
+8c08f75f8f05918f8a851f8b86888686842afb09fb4afb9125fb24858389848b8408
+819087991ef80006a6ef898b1f0ba3ff00408000bcff0021b334bfff0000cccc08f7
+5c8e052cffff8e8000ffff7a6666ffff7c4ccdffffa7cccdffff936666ffffeb8000
+ffffe6cccdfffff0cccdfffff18000ffffe78000fffff1800089fffff2cccd8fffff
+f1b33393fffff88000ff00a1e6668bff007e66668aff00a1b3348aafcb98b396ff00
+34800085ff000680007e907bff00018000086affffc6800005ffffe5199affffd133
+3364ffffe5cccdffffcbe6668b08fb6906d8ff005c999af73cff00b9e666f0ff0076
+8000ff00133334ff00168000ff0008ccccff000e80008b8f8b8f868e848b868b6589
+6e8b08fbaf06ffffdfe6668bffffe8cccd91fffff24ccd8f080bf7f407f70c9bd1c0
+1ea38b92788f779070997da68ba58b94a08b9c8b9c809b7c98779d7597628b084833
+4cfb327081766c79867f831f8207878c8a8f1eb706998c877f1ffb95078b38808655
+8885858b769185b58ca18cb48bb98ba88ab68a91918ba08591478e80908bde080b78
+8bffffed4ccdff0006b334fffff1b333ff000c4ccc080b9c7bb454616a68757f937c
+9e949895961e8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f
+807a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b729f77a4a49f9fa4a477a0
+72727776721e0ba697057de058bd458b508b4b5a7f3508a67f0595c5b9abbf8bc18b
+b6669656080b687b727b7a9573b3ff00183334ff0004ccccff00069998ffffec6668
+1f8b74776b527f8b848c828f87b190ff001c199aff0010e666ff0010e666ff001519
+9a9b9f92a18ba308af74b0641e0b6ca274aaaaa2a2aaaa74a26c6c74746c1e0bccf7
+2c470792859288918b928b928f959308e2070b998793771efb4d067b7c7e801f3307
+92889287938b08928b928e9392080b98959d97928792821ffb61067f817a7f848f83
+931f0b98959d97928792821ffbed067f817a7f848f83931f0b98959d97928792821f
+fb75067f817a7f848f83931f0bffffb46666fb0b05fffff7e667fffff33334fffffc
+b333878bfffff4cccc8b849285928b928b938f9a9a08f707f70188960574a1ffffe6
+66668cfffff9999a8b868b858a888a080bf737077f8f8b8d828b848b8989818708fb
+390797878e89938b928b8a8d9691080bf71c8bf71cb0ebf707087a9d053e4e3d53fb
+588bfb548b31c346c8087a7905e5fb05f71464f72a8b080bf9730698989f97948893
+801ffd73067f7d777f838e82961f0bffffe5b334fffff5ccd0ffffede666fffff233
+30fffff1e666fffff0666808ff0076999affffc8800005ff00103333fffff81998ff
+000ab333fffffd6668ff000633348bff000633338bff00054ccdff000633348b928b
+ff0006333488ff00054cccfffff7800092080bffffa08002ffffb44ccc0581fffff8
+1998fffffe8000fffffb999c8bfffff9cccc8b84ff0004999afffff9ccccff0006e6
+668bff0006e6668bff00094cccff00029998ff00103334ff0007e66808ff006ee668
+ff0033199805fffff63330ff0012ccd0fffff0199cff000f4cccffffe9e664ff000b
+b334080bffffc5cccdffff974ccc05fffff9b333fffff4b334fffffd8000fffffc99
+988bfffff6199c080b72a076a4a4a0a0a4a476a072727676721e0bff00888000ffff
+b8999aff005a8000ffff7566661effffb3999a8bffffd1e666ffffdb8000ffffd480
+00ffffc780008887858b8b93080b9b7cb34b556f69767f927c9f9b9694971e8b9287
+90898e898d8a8e8b8e089094949ea1997f741e8b7d838382827f7f7e7d8b6a08a506
+8da49a979d979c969b968ba1080bffffa93334ffffbb333005fffff6e668fffff8cc
+d0fffffe9998878bfffffa66648bfffff9999cff00043334fffffa6664ff00064ccc
+8bff00064cce8bff00086666ff00026668ff000eb334ff0007333408ff0064ccccff
+002e666405fffff71998ff0011199cfffff1999cff000dccccffffebe664ff000ab3
+34080bffffce99993205ffffee7fffffffeaccccffffee3333ffffeb9998fffff019
+9affffee6668918292859489b2a1aca8ababa96cae6fb173ff00096666ff0001e668
+ff0008999aff000819989092ffffde8000ff00254cccffffd78000ff00306668ffff
+e33334ff002c800008ffffffb332ff0001333405ffffff8000ff00008000ffffff80
+00ff00009998ffffff8000ff00008000fffffe8000ff00026668fffffe8000ff0002
+4cccfffffe999aff00024cccfffffe199aff00008000fffffe3332ff00006668ffff
+fe199aff00004cccfffff3b334ff00081998fffff4b332ff00008000fffffc999a8b
+fffffc80008bfffffbccceffffff3334fffffde666ffffff3334080bfffffd3333ff
+0000ccccfffffbcccdff0000ccccfffffc80008bffffe833338bffffefe666fffff2
+6668fffffa6667fffffb333408fffffe999afffff73330ff004fcccdffffa8ccd005
+ff000b33337fff0004e66787ff000433338bff000599998bff0004e667ff0004cccc
+8b8f8bff00059998ffffff4ccdff0005999cfffffc800093080b616a68757f937c9e
+949895961f8b9388918a8e8a8d8a8d8b8f089090919ea09381741e8b7f867f837f80
+7a7e758a6908a7068da5959c9c9b9b9b9a9b8b9f080b988b9ea48d968c948a94808b
+08fb7906808b7976897b89828e83958b080bb0a6a8ad1f8bb16c96758f748d80928b
+a78ba4bbc3c99b8b97839b83934d7e31498b370843ac58bb1e0b5b6b58431f8b37e5
+49c97e9393939b8b974d9b5bc38ba48ba79692a28da18fa9968bb108ad70a8661e0b
+c4b5dfbc99aa825754672f531e79719abf1f0b57a951c8deb7f702cfd35d9e634151
+383f1e0bc4b5dfbc99aa825754672f5379719abf1e0b808b7d848581083bfb230589
+8889868b8a8a839185938b8f8b908f8f8f08f707f70e0590908d908c908f9f799d77
+8b080b808b7d848581083bfb2305898889868b8a8a839185928b908b908f8f8f08f7
+07f70e0590908d908c908f9f799d778b080b7c818280897f8a868c868d8708d8fb0f
+058c898e8a8e8b8f8b8f8d8e8d8e8e8d8e8c8d8b8c8b8c8a8d086af725058a91888f
+868e868e868c868b858b84898588080b7b7e7e7b7b987e9b9b98989b1f9b7e987b1e
+0ba68da68b1e90898d851e7b845c8371898a838c848f85080bab8996908b5608fb01
+078b627e88638986838c7c8f85a98ca28ba28bff0018b3348bff00154ccc8ba98a8f
+928b99879308698d7a8e8bb4080b6584695f6f63a2df1e8b918b938c90a09ca19199
+8b08c48f54751f0b9c81da2a1e728b707a7d7d96c5aecef7019e089e07fb2d805124
+8b390823d26ebddaa8ccaf1e0bef06715e53fb1068fb0308ad06aaf4c4f70ec0e608
+fb42067b868c8f1f79060b8a718463866f08a0880597bb9291a78b080ba4a37d701f
+8b6e766f7b8208779505669f88a28b9a08a9a394a31e0ba87d05b3778c718b720862
+717f67736496b81e8badb2b29b94080bffff19ffff69ff00e60001060b8b43aa4be5
+51089a950547d37cb08bd68bd59eb8cbce087c96053e5a5f3e8b44080b8bd25fd83e
+bc087c8005ca489e5e8b418b407d664743089a8105e5c5aacb8bd3080b8dff000066
+67ff0001cccdff00003333ff0001b3338b988b9180908008a74b05937a8c878a8508
+877b8c89058b9b8ca0a2af8a8b1e8d8d8e9b058c8e888d878b6b8b81a587950864e8
+05898d8b8e8c8e8b8d8d8e8d8d08b8b505a5a3a996a28b8d8b8f8d8c8e088f9c898c
+058b648a74766f8c8b1e898a887a058a898c888e8b938b958a89838a8787848283ff
+ffd8666666ffffe7e667fffff06666ffffe31999fffff4199a08ff0033999aff00df
+80007e8b05707f75856b8708877505978e948c928b938b8d878b858b878a858a8508
+4ffb970586768986748a088406868a88891f8779058baf8ca2a3af8a8b1e8f9d058c
+8f898c888b0884067e848e961f8b8f8c8f8c90080b887505958e958c928b938b8d87
+8b858b878a858a850866fb310587768986738a088406878a88891f8679058baf8ca2
+a4b18a8b1e909d058c8f888c898b0880067f848e971f8b8e8b8f8c9008adf72405a2
+a2a5a19f8ba18b9a818b6f8b838981887f086ffb0d0586738589788a088006888b8a
+888a89088779058bb18ca3a2af8a8b1e909d058d8b8e871e84067e848c961f8b8e8c
+908c9208aaf71705ff00014cccff00064ccdff0001199aff00061999ff0000e666ff
+0005b334ff00168000ff00151999ff0017b334ff0012cccdff001280008ba18b9981
+8b6f8b828a818880086ffb0d0586738589788a088006878a88891f8679058bb18ca3
+a3af8a8b1e8f9d058c8d8b8e868b0885067d858c961f8b8f8b908d9108a9f717058e
+998d988b958bb3759a698bffffde999a8bffffd5e666ffffde3333ffffee6666ffff
+eeb333fffffe999aff0025199affffea666699ffffdf199a8b688b61687a7a0897bf
+7e8b05707f75856b87080bff00130001a2ad9da08b08aa9a7a581f2c07ff00000001
+628988698987838b7d8f84a98cff000733338bff0017cccc8bff00234cce8bff0005
+b3328ba98a8f918c9a8693638d838e8bb408f407ce73a4ffffd200011e678bffffd7
+4ccdffffec4ccdffffe7b333ffffdcb33386fffff8b3338bff00054ccd8b8e8ba789
+9888928a8e8a8e868b080b7a83768560858a878d7d8c87ff0020ffff88ff00090001
+868b63082007ff0000000162fffff2ffff88ffffd800018986838c7c8f85ff001dff
+ff8cff001700018ba28ba48b928ba98a8f928b998793698d888e8bb408ef07ff0000
+00019390948f90080b48fbb40586778a85738a088406878b8a898a89088778058baf
+8ca2a4b18a8b1e8f9d058c8f898c888b0881067e848e971f8b8e8c8f8c9008a2f005
+967f9c839e8bc98bcfca9cd58e988c998b978bbe73b35e8b6f8b707c737c0893aa8c
+907d8b050b717f75856a8708887505968e958c918b938b8e878b85088b878a858a85
+080ba19da099a48b9e8b9a778b638b7d897a8777752e6285758b7a8b74948bac8b92
+8c928d94080bc206918b948d8c90088f9d058c8d898d888b084b8ba1ea637e898005
+7f5c7c73648b08898a8a891f857305898c8b8d1eb18b61fb4b0589838a838b848b70
+9a80a18ba68ba393aaa608809c05797f80867b8b828b87908b978b948e988f9c080b
+5792fd27fd7dbf83050b6b565a5a798b6a8b92b291ae99cdd0efbf8b9e8b93738571
+8a827b5f7768080b89808977ac8bad8bad9ebcb4087a9c057a7a7c81848b888b898e
+8c928c918f94919808e5f7655a8b6d6905889e809a698b408bfb1025772684669452
+cf8ba18bad98aea78a888a878b88080b85686b67618b618b7aaf92ae91aeaab1b68b
+b88b9962846b080b8154af5ec28bc28bc0b896c295c267b8548b548b565e8054080b
+c68bb4a9b0aa0875a1056c6e60767c8b7a8b6f989ad59deac9c4b58b918b99878777
+8878898d887e89808f7fa78b08958bab9390a492ab7ab0438b3b8b203975fb008362
+aa49cc8b080b83617868726f6c69587a408b08598bc4f7bc05a490a78eaf8b08c88b
+d66d74fb0a080bff00733334ff024e8000ff000ee666ff00008000058d8c8d8b8e8b
+a58b8c7a856e082afc8a05856f867b628b080b8b6270715f85fffffd4cccfffff6e6
+66ffffff4ccefffff4999aff00056666fffff9800093ff0001800090ff0000800092
+8b080ba3be87525455786e1f6b8bffffedb334ff00068000fffffa4cccff000b8000
+859781907d8b08fffff3b334fffff38000fffff7199afffff2b333ffffe08000ff00
+509998fffff4b333ff001a3334dbd0b6d01f8bc55ca36a8e080ba89ba19b8bb108ff
+002e8000ffffd48000ff00108000ffffc88000346a5b7a888f7c9e1ea28bffffff33
+349dff0004cccc96ff00088000ff00138000ff00208000ff000480009c8b08b29880
+711f0b627a685e1e758b80928294839383927e8b08817f837e73c77eadd0bcc0c7c1
+67bf3d1f7d8b728682850897dcf71b8b8b8c90adfb378b75fb239188059992a092a1
+8b08d38e506d1f0bff000e000192a092a18b08d38e506d1f0bb35ca65e565b6e5e1e
+8b6e9b71b378089785050b65775e668b670849cf7bb7e5aac4ab1e8baa79a46c9c08
+64a005c6ad8fa98b9a080bd9b2fb058606fb39fd40fb0ef767056971617166780898
+6fcba5f720fb85b19f050bd31c047443060bfc62d3f81af768d3070bf7b0d3fb68f8
+aa43060bf8f243fcaafb6843070b8a8a8b28ef8b8bee8a8c050b8b298c8aed8b8c8c
+8bed8a8c298b050b27ee078c8c8bed8a8c050b8a8a8b298c8aee8b8bef050b8b288c
+8aed8b8c8c8bee050b7d96809998979699997f967e7d80807d1e0b7d968099999696
+999980967d7d80807d1e0bf6e13520203435212035e2f5f5e1e2f61f0bea0695988f
+941f9f078f888d871e0bfb03f7140652778b78054b6f72511e2f066e799eaa1ff7fa
+07a7999bb41ea506908e8e901f8b9e898c058b2e8a6764348c8b1e898a8b7805868f
+888f1ea606b29a7d6d1ffc0b070bd98af73f8b8bfb830543a570ba1eb88bb4a1b1b6
+08799d0571777883718b087084a9c91f0b4ffb970585718880867c08978705929295
+949393967da281a78bc98bd0d09cd58e998d998b998bbc74b25b8b738b7282707b08
+aaf7197d8b05717f75856a8708887505968e958c918b948b8d878b858b878a858a85
+080ba39b9891a48ba18b9c768b628b7d897b8678762e607f758b7a8b74948bac8b92
+8c938d93080b398b50437a42877d8a7d8b7e8b56a763cd8bb68bafa3abae087c9b05
+73757376678b768b789a82a288938a958b968b978d998e989ddcbbaca98ba78b917d
+8b7b088b868a868b850888077d9585971e988b9994909f8b8f8c8f8b8f8ba871a556
+8b080b72767981768b728b789a8bb78b9b8d9e91a29cd5aca6ab8ba48b9b77967808
+0ba598a290ab8f088ea1058088818a858b838b888f8b918b908c908d9108d4f7cf7d
+8b05717f74856c8708877505968e958c918b938b8e878b858b878a858985087d4c05
+80997592728b418b563d7c4b887d8a7f8b7f080b54ab69bf1ea28ba498a19b080b87
+798381778b088006888b898a8a8708877a8c8a058bb38ca0a2bf8a8b1e8c8c8f9c05
+8f898c891e77067d8591961f8b8e8c8f8b8f08aff72ec38b05918b938d8d91088f9d
+058d8a8c881e4a8b8d9505a1eaa4969f8b9c8b93848e778e809283978b968b98968e
+978b8d8c8d8b8d8b9486948392087f967d91758b598b4e5e752b086c06818b87848a
+8608877d05898b8a8d1eb4060b968b98958e99088f07968295761e758b7982777908
+0b83917b946f8b598b50687e528a848a858b858b74947d957e787c77728676080b8b
+878a888b888b7a957f96856977727185718a858a858b868b63b580b18bd78be6aa9a
+ce088c908c908b8f8b998696819678a1658f768b828b7b897e8a838a838a888b7e8b
+7c8f8b9c088b8e8b8e8c8f8e988f96949597839b87a28bbc8bc5aa98c7080b8d938c
+928b918b9c859782998f919393928b938b90888c85088c849086958b080b90889388
+938b918b948c948b938c928b908ba78b9d859982080b9c8192858b818b888b898a88
+815e4e84598b788b608e8bae8b8f8c8f8c8f90a0919ba19d080b6a82a0a41f8b958c
+968e9596bb9f9bab8ba68b9a7d8b6d8b8289818980080b72767d84768b728b75998b
+ba8b998d9d90a09cd5aca6ab8ba48b9b779678080b6d7305809c74946f8b418b563d
+7c4b887e8a7f8b808b54ae69c18ba18ba096a19b0872fb0005857582867b8b088106
+888b888a8a87088779058bb28ca4a2ae8a8b1e909e058d8b8d871e84067b8c878e8b
+928b8f8c908d9208daf7ed8b8f058e8a8d891e888b83868888080b8a8c058b7e8a83
+74678c8b1e8a8a877a058a898b88908b08910699918a801f8b888b868985086dfb18
+05877d8a7e8b818b64a07bae8bad8bb5ae9c9c088057988b050ba598a290ab8f088e
+a1058088818a858b838b888f8b918b908c908d9108baf7628a8c058b7e8a8273658c
+8b1e8a8a877a058a878e8a8d8b0895069892887f1f8b888a878a87086afb25050b73
+757275768b758b7d948ba78b938c958e97080b8c848f85908b918b958e929608f715
+f75c05a0ab968f988b8e8b8f8c8c8f088f9c8a8c058b768a79766a8c8b1e8a8a877a
+05898c888d9d9489821e88078986888585820829fb2a6ff72d058a928b908c908d95
+938f938b0895068e8e8d8e1f8f9c8a8c558a0579668c8b1f8a8a877a058a878d8a8e
+8b9d8b8f869168080b82868f8e1f7706846f82707e6d08a08a05a1b7a0919d8b08d5
+8bfb52fb6e05898984858b8508888f88931ef75106929e98a89eaf08778f7f7a0576
+6a7f83698b08448bf74df766059b9e8d8f8b8d088c078c8e878b888b898b6f89798b
+080b>
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+ /Author (Gunnar Ritter)
+ /Title (Heirloom Documentation Tools: Quickstart Guide)
+ /Keywords (Heirloom Documentation Tools, troff)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@23@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /pilcrow /periodcentered
+/cedilla /one.superior /ordmasculine /guillemotright /questiondown
+/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
+/Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex
+/Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde
+/Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis
+/Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde
+/adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex
+/edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde
+/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash
+/ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
+/Amacron /amacron /Abreve /abreve /Aogonek /aogonek /Cacute /cacute
+/Ccircumflex /ccircumflex /Cdotaccent /cdotaccent /Ccaron /ccaron
+/Dcaron /dcaron /Dcroat /dcroat /Emacron /emacron /Ebreve /ebreve
+/Edotaccent /edotaccent /Eogonek /eogonek /Ecaron /ecaron /Gcircumflex
+/gcircumflex /Gbreve /gbreve /Gdotaccent /gdotaccent /Gcommaaccent
+/gcommaaccent /Hcircumflex /hcircumflex /Hbar ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@0 def
+ currentdict
+end
+/LinLibertineO-@23 exch definefont pop
+/@23 /LinLibertineO-@23 def
+/&23 {@23 F} bind def
+/Encoding-@23@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /eturned /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@1 def
+ currentdict
+end
+/LinLibertineO-@23@1 exch definefont pop
+/@23@1 /LinLibertineO-@23@1 def
+/&23@1 {@23@1 F} bind def
+/Encoding-@23@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /dotlessj /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0242
+/uni0243 /uni0244 /uni0245 /uni0246 /uni0247 /uni0248 /uni0249
+/uni024A /uni024B /uni024C /uni024D /uni024E /uni024F /aturned
+/uni0251 /uni0252 /uni0253 /cturned /uni0255 /uni0256 /uni0257
+/uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D /uni025E
+/uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264 /uni0265
+/hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B /uni026C
+/uni026D /uni026E /mturned /uni0270 /uni0271 /uni0272 /uni0273
+/uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned /uni027A
+/rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap /Rsmallinverted
+/uni0282 /uni0283 /uni0284 /uni0285 /uni0286 /uni0287 /uni0288
+/uni0289 /uni028A /uni028B /uni028C /uni028D /uni028E /uni028F
+/uni0290 /uni0291 /uni0292 /uni0293 /uni0294 /glottalstopreversed
+/uni0296 /uni0297 /uni0298 /uni0299 /uni029A /uni029B /uni029C
+/uni029D /uni029E /uni029F /uni02A0 /uni02A1 /uni02A2 /uni02A3
+/uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8 /uni02A9 /uni02AA
+/uni02AB /uni02AC /uni02AD /uni02AE /uni02AF /h.superior /hhook.superior
+/j.superior /r.superior /rturned.superior /rhookturned.superior
+/Rsmallinverted.superior /w.superior /y.superior /uni02B9 /uni02BA
+/uni02BB /afii57929 /afii64937 /uni02BE /uni02BF /uni02C0 /uni02C1
+/uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron /uni02C8 /uni02C9
+/uni02CA /uni02CB /uni02CC /uni02CD /uni02CE /uni02CF /uni02D0
+/uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5 /uni02D6 /uni02D7
+/breve /dotaccent /ogonek /hungarumlaut /uni02DE /uni02DF /gammalatin.superior
+/l.superior /s.superior /x.superior /glottalstopreversed.superior
+/uni02E5 /uni02E6 /uni02E7 /uni02E8 /uni02E9 /uni02EA /uni02EB
+/uni02EC /uni02ED /uni02EE /uni02EF /uni02F0 /uni02F1 /uni02F2
+/uni02F3 /uni02F4 /uni02F5 /uni02F6 /uni02F7 /uni02F8 /uni02F9
+/uni02FA /uni02FB /uni02FC /uni02FD /uni02FE /uni02FF /gravecomb
+/acutecomb /circumflexcomb /tildecomb /macroncomb /uni0305 /brevecomb
+/uni0307 /uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D
+/uni030E /uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314
+/uni0315 /uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B
+/uni031C /uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322
+/dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329
+] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@2 def
+ currentdict
+end
+/LinLibertineO-@23@2 exch definefont pop
+/@23@2 /LinLibertineO-@23@2 def
+/&23@2 {@23@2 F} bind def
+/Encoding-@23@3 [
+/uni032A /uni032B /uni032C /uni032D /uni032E /uni032F /uni0330
+/uni0331 /uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337
+/uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E
+/uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345
+/uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C
+/uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni0374
+/uni0375 /uni037A /uni037B /uni037C /uni037D /uni037E /tonos
+/dieresistonos /Alphatonos /anoteleia /Epsilontonos /Etatonos
+/Iotatonos /Omicrontonos /Upsilontonos /Omegatonos /iotadieresistonos
+/Alpha /Beta /Gamma /Delta /Epsilon /Zeta /Eta /Theta /Iota /Kappa
+/Lambda /Mu /Nu /Xi /Omicron /Pi /Rho /Sigma /Tau /Upsilon /Phi
+/Chi /Psi /Omega /Iotadieresis /Upsilondieresis /alphatonos /epsilontonos
+/etatonos /iotatonos /upsilondieresistonos /alpha /beta /gamma
+/delta /epsilon /zeta /eta /theta /iota /kappa /lambda /mu /nu
+/xi /omicron /pi /rho /sigma1 /sigma /tau /upsilon /phi /chi
+/psi /omega /iotadieresis /upsilondieresis /omicrontonos /upsilontonos
+/omegatonos /uni03D0 /theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1
+/omega1 /uni03D7 /uni03D8 /uni03D9 /uni03DA /uni03DB /uni03DC
+/uni03DD /uni03DE /uni03DF /uni03E0 /uni03E1 /uni03F0 /uni03F1
+/uni03F2 /uni03F3 /uni03F4 /uni03F5 /uni03F6 /uni03F8 /uni03F9
+/uni03FB /uni03FD /uni03FE /uni03FF /uni0400 /afii10023 /afii10051
+/afii10052 /afii10053 /afii10054 /afii10055 /afii10056 /afii10057
+/afii10058 /afii10059 /afii10060 /afii10061 /uni040D /afii10062
+/afii10145 /afii10017 /afii10018 /afii10019 /afii10020 /afii10021
+/afii10022 /afii10024 /afii10025 /afii10026 /afii10027 /afii10028
+/afii10029 /afii10030 /afii10031 /afii10032 /afii10033 /afii10034
+/afii10035 /afii10036 /afii10037 /afii10038 /afii10039 /afii10040
+/afii10041 /afii10042 /afii10043 /afii10044 /afii10045 /afii10046
+/afii10047 /afii10048 /afii10049 /afii10065 /afii10066 /afii10067
+/afii10068 /afii10069 /afii10070 /afii10072 /afii10073 /afii10074
+/afii10075 /afii10076 /afii10077 /afii10078 /afii10079 /afii10080
+/afii10081 /afii10082 /afii10083 /afii10084 /afii10085 /afii10086
+/afii10087 /afii10088 /afii10089 /afii10090 /afii10091 /afii10092
+/afii10093 /afii10094 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@3 def
+ currentdict
+end
+/LinLibertineO-@23@3 exch definefont pop
+/@23@3 /LinLibertineO-@23@3 def
+/&23@3 {@23@3 F} bind def
+/Encoding-@23@4 [
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 /afii10107 /afii10108 /afii10109 /uni045D /afii10110
+/afii10193 /uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465
+/uni0466 /uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C
+/uni046D /uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195
+/afii10148 /afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E
+/uni047F /uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050
+/afii10098 /uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497
+/uni0498 /uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E
+/uni049F /uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5
+/uni04A6 /uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC
+/uni04AD /uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3
+/uni04B4 /uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA
+/uni04BB /uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1
+/uni04C2 /uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA
+/uni04CB /uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4
+/uni04D5 /uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB
+/uni04DC /uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2
+/uni04E3 /uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9
+/uni04EA /uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0
+/uni04F1 /uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7
+/uni04F8 /uni04F9 /afii57799 /afii57801 /afii57800 /afii57802
+/afii57793 /afii57794 /afii57795 /afii57798 /afii57797 /afii57806
+/uni05BA /afii57796 /afii57807 /afii57839 /afii57645 /afii57841
+/afii57842 /afii57804 /afii57803 /afii57658 /uni05C6 /afii57664
+/afii57665 /afii57666 /afii57667 /afii57668 /afii57669 /afii57670
+/afii57671 /afii57672 /afii57673 /afii57674 /afii57675 /afii57676
+/afii57677 /afii57678 /afii57679 /afii57680 /afii57681 /afii57682
+/afii57683 /afii57684 /afii57685 /afii57686 /afii57687 /afii57688
+/afii57689 /afii57690 /afii57716 /afii57717 /afii57718 /uni05F3
+/uni05F4 /uni1D15 /a.superior /aturned.superior /uni1D45 /uni1D46
+/b.superior /d.superior /e.superior /eturned.superior /uni1D4B
+/uni1D4C /g.superior /iturned.superior /k.superior /m.superior
+/eng.superior /o.superior /cturned.superior /uni1D54 /uni1D55
+/p.superior /t.superior /u.superior /uni1D59 /mturned.superior
+/v.superior /uni1D5C /uni1D5D /uni1D5E /uni1D5F /uni1D62 /uni1D63
+/uni1D64 /uni1D65 /uni1D66 /uni1D67 /c.superior /f.superior /z.superior
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@4 def
+ currentdict
+end
+/LinLibertineO-@23@4 exch definefont pop
+/@23@4 /LinLibertineO-@23@4 def
+/&23@4 {@23@4 F} bind def
+/Encoding-@23@5 [
+/uni1E0B /uni1E0C /uni1E0D /uni1E0E /uni1E0F /uni1E10 /uni1E11
+/uni1E12 /uni1E13 /uni1E14 /uni1E15 /uni1E16 /uni1E17 /uni1E18
+/uni1E19 /uni1E1A /uni1E1B /uni1E1C /uni1E1D /uni1E1E /uni1E1F
+/uni1E20 /uni1E21 /uni1E22 /uni1E23 /uni1E24 /uni1E25 /uni1E26
+/uni1E27 /uni1E28 /uni1E29 /uni1E2A /uni1E2B /uni1E2C /uni1E2D
+/uni1E2E /uni1E2F /uni1E30 /uni1E31 /uni1E32 /uni1E33 /uni1E34
+/uni1E35 /uni1E36 /uni1E37 /uni1E38 /uni1E39 /uni1E3A /uni1E3B
+/uni1E3C /uni1E3D /uni1E3E /uni1E3F /uni1E40 /uni1E41 /uni1E42
+/uni1E43 /uni1E44 /uni1E45 /uni1E46 /uni1E47 /uni1E48 /uni1E49
+/uni1E4A /uni1E4B /uni1E4C /uni1E4D /uni1E4E /uni1E4F /uni1E50
+/uni1E51 /uni1E52 /uni1E53 /uni1E54 /uni1E55 /uni1E56 /uni1E57
+/uni1E58 /uni1E59 /uni1E5A /uni1E5B /uni1E5C /uni1E5D /uni1E5E
+/uni1E5F /uni1E60 /uni1E61 /uni1E62 /uni1E63 /uni1E64 /uni1E65
+/uni1E66 /uni1E67 /uni1E68 /uni1E69 /uni1E6A /uni1E6B /uni1E6C
+/uni1E6D /uni1E6E /uni1E6F /uni1E70 /uni1E71 /uni1E72 /uni1E73
+/uni1E74 /uni1E75 /uni1E76 /uni1E77 /uni1E78 /uni1E79 /uni1E7A
+/uni1E7B /uni1E7C /uni1E7D /uni1E7E /uni1E7F /Wgrave /wgrave
+/Wacute /wacute /Wdieresis /wdieresis /uni1E86 /uni1E87 /uni1E88
+/uni1E89 /uni1E8A /uni1E8B /uni1E8C /uni1E8D /uni1E8E /uni1E8F
+/uni1E90 /uni1E91 /uni1E92 /uni1E93 /uni1E94 /uni1E95 /uni1E96
+/uni1E97 /uni1E98 /uni1E99 /uni1E9A /uni1E9B /uni1E9C /uni1E9D
+/Germandbls /uni1E9F /uni1EA0 /uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4
+/uni1EA5 /uni1EA6 /uni1EA7 /uni1EA8 /uni1EA9 /uni1EAA /uni1EAB
+/uni1EAC /uni1EAD /uni1EAE /uni1EAF /uni1EB0 /uni1EB1 /uni1EB2
+/uni1EB3 /uni1EB4 /uni1EB5 /uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9
+/uni1EBA /uni1EBB /uni1EBC /uni1EBD /uni1EBE /uni1EBF /uni1EC0
+/uni1EC1 /uni1EC2 /uni1EC3 /uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7
+/uni1EC8 /uni1EC9 /uni1ECA /uni1ECB /uni1ECC /uni1ECD /uni1ECE
+/uni1ECF /uni1ED0 /uni1ED1 /uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5
+/uni1ED6 /uni1ED7 /uni1ED8 /uni1ED9 /uni1EDA /uni1EDB /uni1EDC
+/uni1EDD /uni1EDE /uni1EDF /uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3
+/uni1EE4 /uni1EE5 /uni1EE6 /uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA
+/uni1EEB /uni1EEC /uni1EED /uni1EEE /uni1EEF /uni1EF0 /uni1EF1
+/Ygrave /ygrave /uni1EF4 /uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8
+/uni1EF9 /uni1EFA /uni1EFB /uni1EFC /uni1EFD /uni1EFE /uni1EFF
+/uni1F00 /uni1F01 /uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06
+/uni1F07 /uni1F08 /uni1F09 /uni1F0A ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@5 def
+ currentdict
+end
+/LinLibertineO-@23@5 exch definefont pop
+/@23@5 /LinLibertineO-@23@5 def
+/&23@5 {@23@5 F} bind def
+/Encoding-@23@6 [
+/uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F /uni1F10 /uni1F11
+/uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18 /uni1F19 /uni1F1A
+/uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21 /uni1F22 /uni1F23
+/uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28 /uni1F29 /uni1F2A
+/uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F /uni1F30 /uni1F31
+/uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36 /uni1F37 /uni1F38
+/uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D /uni1F3E /uni1F3F
+/uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44 /uni1F45 /uni1F48
+/uni1F49 /uni1F4A /uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51
+/uni1F52 /uni1F53 /uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59
+/uni1F5B /uni1F5D /uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63
+/uni1F64 /uni1F65 /uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A
+/uni1F6B /uni1F6C /uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71
+/uni1F72 /uni1F73 /uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78
+/uni1F79 /uni1F7A /uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81
+/uni1F82 /uni1F83 /uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88
+/uni1F89 /uni1F8A /uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F
+/uni1F90 /uni1F91 /uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96
+/uni1F97 /uni1F98 /uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D
+/uni1F9E /uni1F9F /uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4
+/uni1FA5 /uni1FA6 /uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB
+/uni1FAC /uni1FAD /uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2
+/uni1FB3 /uni1FB4 /uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA
+/uni1FBB /uni1FBC /uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1
+/uni1FC2 /uni1FC3 /uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9
+/uni1FCA /uni1FCB /uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0
+/uni1FD1 /uni1FD2 /uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9
+/uni1FDA /uni1FDB /uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1
+/uni1FE2 /uni1FE3 /uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8
+/uni1FE9 /uni1FEA /uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF
+/uni1FF2 /uni1FF3 /uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9
+/uni1FFA /uni1FFB /uni1FFC /uni1FFD /uni1FFE /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /pertenthousand /minute /second /primetriple
+/primereversed ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@6 def
+ currentdict
+end
+/LinLibertineO-@23@6 exch definefont pop
+/@23@6 /LinLibertineO-@23@6 def
+/&23@6 {@23@6 F} bind def
+/Encoding-@23@7 [
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C /uni20A2 /franc /lira /peseta /uni20A8 /dong
+/Euro /uni20AF /peso /uni2100 /uni2101 /uni2102 /centigrade /afii61248
+/uni2106 /fahrenheit /uni210C /uni210D /uni210E /uni210F /Ifraktur
+/afii61289 /uni2115 /numero /uni2119 /uni211A /Rfraktur /uni211D
+/uni2120 /trademark /uni2124 /uni2126 /Omegainv /estimated /aleph
+/uni2136 /uni2137 /uni2138 /uni2139 /uni214F /onethird /twothirds
+/onefifth /twofifths /threefifths /fourfifths /onesixth /fivesixths
+/oneeighth /threeeighths /fiveeighths /seveneighths /onenumerator
+/Oneroman /Tworoman /Threeroman /Fourroman /Fiveroman /Sixroman
+/Sevenroman /Eightroman /Nineroman /Tenroman /Elevenroman /Twelveroman
+/uni216C /uni216D /uni216E /uni216F /oneroman /tworoman /threeroman
+/fourroman /fiveroman /sixroman /sevenroman /eightroman /nineroman
+/tenroman /elevenroman /twelveroman /uni217C /uni217D /uni217E
+/uni217F /uni2180 /uni2181 /uni2182 /uni2183 /uni2184 /arrowleft
+/arrowup /arrowright /arrowdown /arrowboth /arrowupdn /uni2196
+/uni2197 /uni2198 /uni2199 /uni219A /uni219B /uni21A6 /arrowupdnbse
+/uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1 /uni21CB /uni21CC
+/uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup /arrowdblright
+/arrowdbldown /arrowdblboth /uni21D5 /Nwarrow /Nearrow /Searrow
+/Swarrow /universal /uni2201 /partialdiff /existential /uni2204
+/emptyset /uni2206 /gradient /element /notelement /uni220A /suchthat
+/uni220C /uni220D /product /uni2210 /summation /minus /uni2213
+/uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219 /radical
+/uni221B /uni221C /proportional /infinity /uni221F /angle /uni2221
+/uni2222 /uni2223 /uni2224 /uni2225 /uni2226 /logicaland /logicalor
+/intersection /union /integral /uni222C /uni222D /uni222E /uni2236
+/similar /uni2241 /congruent /approxequal /uni2249 /uni2259 /notequal
+/equivalence /uni2262 /lessequal /greaterequal /uni226A /uni226B
+/uni226E /uni226F /uni2270 /uni2271 /propersubset /propersuperset
+/notsubset /uni2285 /circleplus /uni2296 /circlemultiply /uni2298
+/uni22A2 /uni22A3 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@7 def
+ currentdict
+end
+/LinLibertineO-@23@7 exch definefont pop
+/@23@7 /LinLibertineO-@23@7 def
+/&23@7 {@23@7 F} bind def
+/Encoding-@23@8 [
+/uni22A4 /perpendicular /uni22A6 /uni22B6 /uni22B7 /dotmath /uni22EE
+/uni22EF /uni2300 /uni2302 /uni2303 /uni2310 /integraltop /integralbottom
+/uni2326 /uni2327 /uni2329 /uni232A /uni232B /uni237D /uni2380
+/uni239B /uni239C /uni239D /uni239E /uni239F /uni23A0 /uni23A1
+/uni23A2 /uni23A3 /uni23A4 /uni23A5 /uni23A6 /uni23A7 /uni23A8
+/uni23A9 /uni23AA /uni23AB /uni23AC /uni23AD /integralextension
+/uni23D3 /uni2423 /uni2460 /uni2461 /uni2462 /uni2463 /uni2464
+/uni2465 /uni2466 /uni2467 /uni2468 /uni2469 /uni246A /uni246B
+/uni246C /uni246D /uni246E /uni246F /uni2470 /uni2471 /uni2472
+/uni2473 /uni2474 /uni2475 /uni2476 /uni2477 /uni2478 /uni2479
+/uni247A /uni247B /uni247C /uni247D /uni247E /uni247F /uni2480
+/uni2481 /uni2482 /uni2483 /uni2484 /uni2485 /uni2486 /uni2487
+/uni24B6 /uni24B7 /uni24B8 /uni24B9 /uni24BA /uni24BB /uni24BC
+/uni24BD /uni24BE /uni24BF /uni24C0 /uni24C1 /uni24C2 /uni24C3
+/uni24C4 /uni24C5 /uni24C6 /uni24C7 /uni24C8 /uni24C9 /uni24CA
+/uni24CB /uni24CC /uni24CD /uni24CE /uni24CF /uni24D0 /uni24D1
+/uni24D2 /uni24D3 /uni24D4 /uni24D5 /uni24D6 /uni24D7 /uni24D8
+/uni24D9 /uni24DA /uni24DB /uni24DC /uni24DD /uni24DE /uni24DF
+/uni24E0 /uni24E1 /uni24E2 /uni24E3 /uni24E4 /uni24E5 /uni24E6
+/uni24E7 /uni24E8 /uni24E9 /uni24EA /uni24EB /uni24EC /uni24ED
+/uni24EE /uni24EF /uni24F0 /uni24F1 /uni24F2 /uni24F3 /uni24F4
+/uni24F5 /uni24F6 /uni24F7 /uni24F8 /uni24F9 /uni24FA /uni24FB
+/uni24FC /uni24FD /uni24FE /uni24FF /filledbox /H22073 /triagup
+/uni25B3 /uni25B6 /uni25B7 /triagdn /uni25BD /uni25C0 /uni25C1
+/uni25C6 /uni25C7 /uni25C9 /lozenge /bigcircle /uni25CE /H18533
+/uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4 /uni25D5 /uni25D6
+/uni25D7 /openbullet /uni2605 /uni2609 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /uni263C /uni263D
+/uni263E /uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645
+/uni2646 /uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C
+/uni264D /uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /uni2695 /uni2698 /uni26A2
+/uni26A3 /uni26A4 /uni26A5 /uni26A6 /uni26A7 /uni26AC /married
+/divorced /uni26AF /uni2714 /uni2718 /died /uni2767 /uni2776
+/uni2777 /uni2778 /uni2779 /uni277A /uni277B /uni277C /uni277D
+/uni277E /uni277F /uni27C2 /uni27E6 ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@8 def
+ currentdict
+end
+/LinLibertineO-@23@8 exch definefont pop
+/@23@8 /LinLibertineO-@23@8 def
+/&23@8 {@23@8 F} bind def
+/Encoding-@23@9 [
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C6E /uni2C6F /uni2C74 /uni2C75 /uni2C76
+/uni2C77 /uni2E02 /uni2E03 /uni2E04 /uni2E05 /uni2E08 /uni2E09
+/uni2E0A /uni2E17 /uni2E18 /uniA656 /uniA657 /uniA71D /uniA720
+/uniA721 /uniA765 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005
+/uniE006 /uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /copyleft
+/publicdomain /creativecommons /zero.slashfitted /zero.fitted
+/one.fitted /two.fitted /three.fitted /four.fitted /five.fitted
+/six.fitted /seven.fitted /eight.fitted /nine.fitted /Euro.fitted
+/Yen.fitted /uniE01C /a.alt /uniE01E /perthousandzero /zero.oldstyle
+/one.oldstyle /two.oldstyle /three.oldstyle /four.oldstyle /five.oldstyle
+/six.oldstyle /seven.oldstyle /eight.oldstyle /nine.oldstyle
+/uniE02A /Adieresis.alt /Odieresis.alt /Udieresis.alt /W.alt
+/f_b /f_f_h /f_f_j /f_f_k /f_f_t /f_h /f_j /f_k /f_t /c_k /c_h
+/t_t /c_t /longs_i /longs_longs /uniE040 /uniE041 /uniE042 /longs_l
+/longs_longs_i /longs_s /ae.alt /longs_h /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /Germandbls.alt /uniE04F /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /uniE06B /hyphen.sc /agrave.sc /aacute.sc
+/acircumflex.sc /atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc
+/egrave.sc /eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc
+/iacute.sc /icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc
+/oacute.sc /ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc
+/ugrave.sc /uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc
+/thorn.sc /ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc
+/Q_u.sc /q.sc_u.sc /dcroat.sc /abreve.sc /aogonek.sc /cacute.sc
+/ccaron.sc /dcaron.sc /eogonek.sc /ecaron.sc /gbreve.sc /lacute.sc
+/lslash.sc /nacute.sc /ncaron.sc /eng.sc /ohungarumlaut.sc /racute.sc
+/rcaron.sc /sacute.sc /scedilla.sc /scaron.sc /tcedilla.sc /tbar.sc
+/uring.sc /uhungarumlaut.sc /zacute.sc /zdotaccent.sc /zcaron.sc
+/lcaron.sc /tcaron.sc /tcommaaccent.sc /scommaaccent.sc /idotaccent.sc
+/ampersand.sc /a.scalt /q.superior /gravecomb.sups /acutecomb.sups
+/circumflexcomb.sups /tildecomb.sups /macroncomb.sups /f.short
+/f_f.short /uniE0E2 /uniE0E3 /uniE0E4 /uniE0E5 /uniE0E6 /uniE0E7
+/uniE0E8 /uniE0E9 /uniE0EA /K.alt /R.alt /J.alt /uniE0EE /uniE0EF
+/uniE0F0 /w.alt /uniE0F2 /uniE0F3 /uniE0F4 /uniE0F5 /y.alt /A.alt
+/uniE0F9 /uniE0FB /kreis /uniE101 /uniE104 /uniE105 /uniE106
+/uniE107 /zero.cap /one.cap /two.cap ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@9 def
+ currentdict
+end
+/LinLibertineO-@23@9 exch definefont pop
+/@23@9 /LinLibertineO-@23@9 def
+/&23@9 {@23@9 F} bind def
+/Encoding-@23@10 [
+/three.cap /four.cap /five.cap /six.cap /seven.cap /eight.cap
+/nine.cap /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE128
+/uniE129 /uniE12A /uniE130 /leaf /uniE13B /uniE13C /uniE13D /b.inferior
+/c.inferior /d.inferior /f.inferior /g.inferior /h.inferior /i.inferior
+/j.inferior /k.inferior /l.inferior /m.inferior /n.inferior /p.inferior
+/q.inferior /r.inferior /s.inferior /t.inferior /u.inferior /v.inferior
+/w.inferior /y.inferior /z.inferior /uniE188 /uniE189 /afii10086.alt
+/uniE19D /grave.cap /acute.cap /circumflex.cap /caron.cap /breve.cap
+/hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap /breve.cyrcap
+/breve.cyr /dieresis.cap /hookabovecomb.cap /dotaccent.cap /uniE3E0
+/uniE3E1 /uniE3E2 /uniE3E3 /uniE3E4 /uniE3E5 /uniE3E6 /uniE3E7
+/uniE3E8 /uniE3E9 /uniE3EA /uniE3EB /uniE3EC /uniE3ED /uniE3F0
+/uniE3F1 /uniE3F2 /uniE3F3 /metric /zero.slash /parenleft.sc
+/parenright.sc /bracketleft.sc /bracketright.sc /braceleft.sc
+/braceright.sc /exclamdown.sc /questiondown.sc /guillemotleft.sc
+/guillemotright.sc /guilsinglleft.sc /guilsinglright.sc /hyphen.cap
+/uniF6BE /afii10066.ital /longs_t /s_t /uniFFFD /u1D538 /u1D539
+/u1D53B /u1D53C /u1D53D /u1D53E /u1D540 /u1D541 /u1D542 /u1D543
+/u1D544 /u1D546 /u1D547 /u1D54A /u1D54B /u1D54C /u1D54D /u1D54E
+/u1D54F /u1D550 /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef ] def
+/LinLibertineO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@23@10 def
+ currentdict
+end
+/LinLibertineO-@23@10 exch definefont pop
+/@23@10 /LinLibertineO-@23@10 def
+/&23@10 {@23@10 F} bind def
+/Encoding-@24@0 [
+/.notdef /hyphen /cent /f_i /f_l /f_f /f_f_i /f_f_l /dagger /emdash
+/onequarter /threequarters /onehalf /endash /acute /grave /section
+/daggerdbl /backslash /quotedbl /ring /bullet /bar /quotedblleft
+/quotedblright /quotesingle /quoteleft /quoteright /.notdef /space
+/asciicircum /asciitilde /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /uni00A0 /exclamdown
+/sterling /currency /yen /brokenbar /dieresis /copyright /ordfeminine
+/guillemotleft /logicalnot /uni00AD /registered /macron /degree
+/plusminus /two.superior /three.superior /uni00B5 /paragraph
+/periodcentered /cedilla /one.superior /ordmasculine /guillemotright
+/questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis
+/Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis
+/Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve
+/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave
+/Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave
+/aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@0 def
+ currentdict
+end
+/LinLibertineOI-@24 exch definefont pop
+/@24 /LinLibertineOI-@24 def
+/&24 {@24 F} bind def
+/Encoding-@24@1 [
+/hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve /Iogonek
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcedilla /tcedilla /Tcaron /tcaron /Tbar /tbar
+/Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring /uring
+/Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /uni0180 /uni0181
+/uni0182 /uni0183 /uni0184 /uni0185 /uni0186 /uni0187 /uni0188
+/uni0189 /uni018A /uni018B /uni018C /uni018D /uni018E /uni018F
+/uni0190 /uni0191 /florin /uni0193 /uni0194 /uni0195 /uni0196
+/uni0197 /uni0198 /uni0199 /uni019A /uni019B /uni019C /uni019D
+/uni019E /uni019F /Ohorn /ohorn /uni01A2 /uni01A3 /uni01A4 /uni01A5
+/uni01A6 /uni01A7 /uni01A8 /uni01A9 /uni01AA /uni01AB /uni01AC
+/uni01AD /uni01AE /Uhorn /uhorn /uni01B1 /uni01B2 /uni01B3 /uni01B4
+/uni01B5 /uni01B6 /uni01B7 /uni01B8 /uni01B9 /uni01BA /uni01BB
+/uni01BC /uni01BD /uni01BE /uni01BF /uni01C0 /uni01C1 /uni01C2
+/uni01C3 /uni01C4 /uni01C5 /uni01C6 /uni01C7 /uni01C8 /uni01C9
+/uni01CA /uni01CB /uni01CC /uni01CD /uni01CE /uni01CF /uni01D0
+/uni01D1 /uni01D2 /uni01D3 /uni01D4 /uni01D5 /uni01D6 /uni01D7
+/uni01D8 /uni01D9 /uni01DA /uni01DB /uni01DC /uni01DD /uni01DE
+/uni01DF /uni01E0 /uni01E1 /uni01E2 /uni01E3 /uni01E4 /uni01E5
+/Gcaron /gcaron /uni01E8 /uni01E9 /uni01EA /uni01EB /uni01EC
+/uni01ED /uni01EE /uni01EF /uni01F0 /uni01F1 /uni01F2 /uni01F3
+/uni01F4 /uni01F5 /uni01F6 /uni01F7 /uni01F8 /uni01F9 /Aringacute
+/aringacute /AEacute /aeacute /Oslashacute /oslashacute /uni0200
+/uni0201 /uni0202 /uni0203 /uni0204 /uni0205 /uni0206 /uni0207
+/uni0208 /uni0209 /uni020A /uni020B /uni020C /uni020D /uni020E
+/uni020F /uni0210 /uni0211 /uni0212 /uni0213 /uni0214 /uni0215
+/uni0216 /uni0217 /Scommaaccent /scommaaccent /Tcommaaccent /tcommaaccent
+/uni021C /uni021D /uni021E /uni021F /uni0220 /uni0221 /uni0222
+/uni0223 /uni0224 /uni0225 /uni0226 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@1 def
+ currentdict
+end
+/LinLibertineOI-@24@1 exch definefont pop
+/@24@1 /LinLibertineOI-@24@1 def
+/&24@1 {@24@1 F} bind def
+/Encoding-@24@2 [
+/uni0227 /uni0228 /uni0229 /uni022A /uni022B /uni022C /uni022D
+/uni022E /uni022F /uni0230 /uni0231 /uni0232 /uni0233 /uni0234
+/uni0235 /uni0236 /uni0237 /uni0238 /uni0239 /uni023A /uni023B
+/uni023C /uni023D /uni023E /uni023F /uni0240 /uni0241 /uni0243
+/uni0250 /uni0251 /uni0252 /uni0253 /uni0254 /uni0255 /uni0256
+/uni0257 /uni0258 /uni0259 /uni025A /uni025B /uni025C /uni025D
+/uni025E /uni025F /uni0260 /uni0261 /uni0262 /gammalatin /uni0264
+/uni0265 /hhook /uni0267 /uni0268 /uni0269 /uni026A /uni026B
+/uni026C /uni026D /uni026E /uni026F /uni0270 /uni0271 /uni0272
+/uni0273 /uni0274 /uni0275 /uni0276 /uni0277 /uni0278 /rturned
+/uni027A /rhookturned /uni027C /uni027D /uni027E /uni027F /Rsmallcap
+/Rsmallinverted /uni0282 /uni0283 /uni0284 /uni0285 /uni0286
+/uni0287 /uni0288 /uni0289 /uni028A /uni028B /uni028C /uni028D
+/uni028E /uni028F /uni0290 /uni0291 /uni0292 /uni0293 /uni0294
+/glottalstopreversed /uni0296 /uni0297 /uni0298 /uni0299 /uni029A
+/uni029B /uni029C /uni029D /uni029E /uni029F /uni02A0 /uni02A1
+/uni02A2 /uni02A3 /uni02A4 /uni02A5 /uni02A6 /uni02A7 /uni02A8
+/uni02A9 /uni02AA /uni02AB /uni02AC /uni02AD /uni02AE /uni02AF
+/h.superior /hhook.superior /j.superior /r.superior /rturned.superior
+/rhookturned.superior /Rsmallinverted.superior /w.superior /y.superior
+/uni02B9 /uni02BA /uni02BB /afii57929 /afii64937 /uni02BE /uni02BF
+/uni02C0 /uni02C1 /uni02C2 /uni02C3 /uni02C4 /uni02C5 /caron
+/uni02C8 /uni02C9 /uni02CA /uni02CB /uni02CC /uni02CD /uni02CE
+/uni02CF /uni02D0 /uni02D1 /uni02D2 /uni02D3 /uni02D4 /uni02D5
+/uni02D6 /uni02D7 /breve /dotaccent /ogonek /hungarumlaut /uni02DE
+/uni02DF /gammalatin.superior /l.superior /s.superior /x.superior
+/glottalstopreversed.superior /uni02E5 /uni02E6 /uni02E7 /uni02E8
+/uni02E9 /uni02EA /uni02EB /uni02EC /uni02ED /uni02EE /uni02EF
+/uni02F0 /uni02F1 /uni02F2 /uni02F3 /uni02F4 /uni02F5 /uni02F6
+/uni02F7 /uni02F8 /uni02F9 /uni02FA /uni02FB /uni02FC /uni02FD
+/uni02FE /uni02FF /gravecomb /acutecomb /uni0302 /tildecomb /uni0304
+/uni0305 /uni0306 /uni0307 /uni0308 /hookabovecomb /uni030A /uni030B
+/uni030C /uni030D /uni030E /uni030F /uni0310 /uni0311 /uni0312
+/uni0313 /uni0314 /uni0315 /uni0316 /uni0317 /uni0318 /uni0319
+/uni031A /uni031B /uni031C /uni031D /uni031E /uni031F /uni0320
+/uni0321 /uni0322 /dotbelowcomb /uni0324 /uni0325 /uni0326 /uni0327
+/uni0328 /uni0329 /uni032A /uni032B /uni032C /uni032D /uni032E
+/uni032F /uni0330 /uni0331 /uni0332 /uni0333 /uni0334 /uni0335
+/uni0336 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@2 def
+ currentdict
+end
+/LinLibertineOI-@24@2 exch definefont pop
+/@24@2 /LinLibertineOI-@24@2 def
+/&24@2 {@24@2 F} bind def
+/Encoding-@24@3 [
+/uni0337 /uni0338 /uni0339 /uni033A /uni033B /uni033C /uni033D
+/uni033E /uni033F /uni0340 /uni0341 /uni0342 /uni0343 /uni0344
+/uni0345 /uni0346 /uni0347 /uni0348 /uni0349 /uni034A /uni034B
+/uni034C /uni034D /uni034E /uni0350 /uni0351 /uni0352 /uni0353
+/uni0354 /uni0355 /uni0356 /uni0357 /uni0358 /acute.cap /circumflex.cap
+/caron.cap /uni035C /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uni0364
+/uni0365 /uni0366 /uni0367 /uni0368 /uni0369 /uni036A /uni036B
+/uni036C /uni036D /uni036E /uni036F /uni0374 /uni0375 /uni037A
+/uni037B /uni037C /uni037D /uni037E /tonos /dieresistonos /Alphatonos
+/anoteleia /Epsilontonos /Etatonos /Iotatonos /Omicrontonos /Upsilontonos
+/Omegatonos /iotadieresistonos /Alpha /Beta /Gamma /Delta /Epsilon
+/Zeta /Eta /Theta /Iota /Kappa /Lambda /Mu /Nu /Xi /Omicron /Pi
+/Rho /Sigma /Tau /Upsilon /Phi /Chi /Psi /Omega /Iotadieresis
+/Upsilondieresis /alphatonos /epsilontonos /etatonos /iotatonos
+/upsilondieresistonos /alpha /beta /gamma /delta /epsilon /zeta
+/eta /theta /iota /kappa /lambda /mu /nu /xi /omicron /pi /rho
+/sigma1 /sigma /tau /upsilon /phi /chi /psi /omega /iotadieresis
+/upsilondieresis /omicrontonos /upsilontonos /omegatonos /uni03D0
+/theta1 /Upsilon1 /uni03D3 /uni03D4 /phi1 /omega1 /uni03D7 /uni03D8
+/uni03D9 /uni03DA /uni03DB /uni03DC /uni03DD /uni03DE /uni03DF
+/uni03E0 /uni03E1 /uni03F0 /uni03F1 /uni03F2 /uni03F3 /uni03F4
+/uni03F5 /uni03F6 /uni03F8 /uni03F9 /uni03FB /uni03FD /uni03FE
+/uni03FF /uni0400 /afii10023 /afii10051 /afii10052 /afii10053
+/afii10054 /afii10055 /afii10056 /afii10057 /afii10058 /afii10059
+/afii10060 /afii10061 /uni040D /afii10062 /afii10145 /afii10017
+/afii10018 /afii10019 /afii10020 /afii10021 /afii10022 /afii10024
+/afii10025 /afii10026 /afii10027 /afii10028 /afii10029 /afii10030
+/afii10031 /afii10032 /afii10033 /afii10034 /afii10035 /afii10036
+/afii10037 /afii10038 /afii10039 /afii10040 /afii10041 /afii10042
+/afii10043 /afii10044 /afii10045 /afii10046 /afii10047 /afii10048
+/afii10049 /afii10065 /afii10066 /afii10067 /afii10068 /afii10069
+/afii10070 /afii10072 /afii10073 /afii10074 /afii10075 /afii10076
+/afii10077 /afii10078 /afii10079 /afii10080 /afii10081 /afii10082
+/afii10083 /afii10084 /afii10085 /afii10086 /afii10087 /afii10088
+/afii10089 /afii10090 /afii10091 /afii10092 /afii10093 /afii10094
+/afii10095 /afii10096 /afii10097 /uni0450 /afii10071 /afii10099
+/afii10100 /afii10101 /afii10102 /afii10103 /afii10104 /afii10105
+/afii10106 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@3 def
+ currentdict
+end
+/LinLibertineOI-@24@3 exch definefont pop
+/@24@3 /LinLibertineOI-@24@3 def
+/&24@3 {@24@3 F} bind def
+/Encoding-@24@4 [
+/afii10107 /afii10108 /afii10109 /uni045D /afii10110 /afii10193
+/uni0460 /uni0461 /afii10146 /afii10194 /uni0464 /uni0465 /uni0466
+/uni0467 /uni0468 /uni0469 /uni046A /uni046B /uni046C /uni046D
+/uni046E /uni046F /uni0470 /uni0471 /afii10147 /afii10195 /afii10148
+/afii10196 /uni0476 /uni0477 /uni047C /uni047D /uni047E /uni047F
+/uni0483 /uni048C /uni048D /uni048E /uni048F /afii10050 /afii10098
+/uni0492 /uni0493 /uni0494 /uni0495 /uni0496 /uni0497 /uni0498
+/uni0499 /uni049A /uni049B /uni049C /uni049D /uni049E /uni049F
+/uni04A0 /uni04A1 /uni04A2 /uni04A3 /uni04A4 /uni04A5 /uni04A6
+/uni04A7 /uni04A8 /uni04A9 /uni04AA /uni04AB /uni04AC /uni04AD
+/uni04AE /uni04AF /uni04B0 /uni04B1 /uni04B2 /uni04B3 /uni04B4
+/uni04B5 /uni04B6 /uni04B7 /uni04B8 /uni04B9 /uni04BA /uni04BB
+/uni04BC /uni04BD /uni04BE /uni04BF /uni04C0 /uni04C1 /uni04C2
+/uni04C3 /uni04C4 /uni04C7 /uni04C8 /uni04C9 /uni04CA /uni04CB
+/uni04CC /uni04D0 /uni04D1 /uni04D2 /uni04D3 /uni04D4 /uni04D5
+/uni04D6 /uni04D7 /uni04D8 /afii10846 /uni04DA /uni04DB /uni04DC
+/uni04DD /uni04DE /uni04DF /uni04E0 /uni04E1 /uni04E2 /uni04E3
+/uni04E4 /uni04E5 /uni04E6 /uni04E7 /uni04E8 /uni04E9 /uni04EA
+/uni04EB /uni04EC /uni04ED /uni04EE /uni04EF /uni04F0 /uni04F1
+/uni04F2 /uni04F3 /uni04F4 /uni04F5 /uni04F6 /uni04F7 /uni04F8
+/uni04F9 /afii57799 /afii57801 /afii57800 /afii57802 /afii57793
+/afii57794 /afii57795 /afii57798 /afii57797 /afii57806 /uni05BA
+/afii57796 /afii57807 /afii57839 /afii57645 /afii57841 /afii57842
+/afii57804 /afii57803 /afii57658 /uni05C6 /afii57664 /afii57665
+/afii57666 /afii57667 /afii57668 /afii57669 /afii57670 /afii57671
+/afii57672 /afii57673 /afii57674 /afii57675 /afii57676 /afii57677
+/afii57678 /afii57679 /afii57680 /afii57681 /afii57682 /afii57683
+/afii57684 /afii57685 /afii57686 /afii57687 /afii57688 /afii57689
+/afii57690 /afii57716 /afii57717 /afii57718 /uni05F3 /uni05F4
+/uni1E00 /uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06
+/uni1E07 /uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D
+/uni1E0E /uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14
+/uni1E15 /uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B
+/uni1E1C /uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22
+/uni1E23 /uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29
+/uni1E2A /uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30
+/uni1E31 /uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37
+/uni1E38 /uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E
+] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@4 def
+ currentdict
+end
+/LinLibertineOI-@24@4 exch definefont pop
+/@24@4 /LinLibertineOI-@24@4 def
+/&24@4 {@24@4 F} bind def
+/Encoding-@24@5 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /uni1F00 /uni1F01
+/uni1F02 /uni1F03 /uni1F04 /uni1F05 /uni1F06 /uni1F07 /uni1F08
+/uni1F09 /uni1F0A /uni1F0B /uni1F0C /uni1F0D /uni1F0E /uni1F0F
+/uni1F10 /uni1F11 /uni1F12 /uni1F13 /uni1F14 /uni1F15 /uni1F18
+/uni1F19 /uni1F1A /uni1F1B /uni1F1C /uni1F1D /uni1F20 /uni1F21
+/uni1F22 /uni1F23 /uni1F24 /uni1F25 /uni1F26 /uni1F27 /uni1F28
+/uni1F29 /uni1F2A /uni1F2B /uni1F2C /uni1F2D /uni1F2E /uni1F2F
+/uni1F30 /uni1F31 /uni1F32 /uni1F33 /uni1F34 /uni1F35 /uni1F36
+/uni1F37 /uni1F38 /uni1F39 /uni1F3A /uni1F3B /uni1F3C /uni1F3D
+/uni1F3E /uni1F3F /uni1F40 /uni1F41 /uni1F42 /uni1F43 /uni1F44
+/uni1F45 /uni1F48 /uni1F49 /uni1F4A ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@5 def
+ currentdict
+end
+/LinLibertineOI-@24@5 exch definefont pop
+/@24@5 /LinLibertineOI-@24@5 def
+/&24@5 {@24@5 F} bind def
+/Encoding-@24@6 [
+/uni1F4B /uni1F4C /uni1F4D /uni1F50 /uni1F51 /uni1F52 /uni1F53
+/uni1F54 /uni1F55 /uni1F56 /uni1F57 /uni1F59 /uni1F5B /uni1F5D
+/uni1F5F /uni1F60 /uni1F61 /uni1F62 /uni1F63 /uni1F64 /uni1F65
+/uni1F66 /uni1F67 /uni1F68 /uni1F69 /uni1F6A /uni1F6B /uni1F6C
+/uni1F6D /uni1F6E /uni1F6F /uni1F70 /uni1F71 /uni1F72 /uni1F73
+/uni1F74 /uni1F75 /uni1F76 /uni1F77 /uni1F78 /uni1F79 /uni1F7A
+/uni1F7B /uni1F7C /uni1F7D /uni1F80 /uni1F81 /uni1F82 /uni1F83
+/uni1F84 /uni1F85 /uni1F86 /uni1F87 /uni1F88 /uni1F89 /uni1F8A
+/uni1F8B /uni1F8C /uni1F8D /uni1F8E /uni1F8F /uni1F90 /uni1F91
+/uni1F92 /uni1F93 /uni1F94 /uni1F95 /uni1F96 /uni1F97 /uni1F98
+/uni1F99 /uni1F9A /uni1F9B /uni1F9C /uni1F9D /uni1F9E /uni1F9F
+/uni1FA0 /uni1FA1 /uni1FA2 /uni1FA3 /uni1FA4 /uni1FA5 /uni1FA6
+/uni1FA7 /uni1FA8 /uni1FA9 /uni1FAA /uni1FAB /uni1FAC /uni1FAD
+/uni1FAE /uni1FAF /uni1FB0 /uni1FB1 /uni1FB2 /uni1FB3 /uni1FB4
+/uni1FB6 /uni1FB7 /uni1FB8 /uni1FB9 /uni1FBA /uni1FBB /uni1FBC
+/uni1FBD /uni1FBE /uni1FBF /uni1FC0 /uni1FC1 /uni1FC2 /uni1FC3
+/uni1FC4 /uni1FC6 /uni1FC7 /uni1FC8 /uni1FC9 /uni1FCA /uni1FCB
+/uni1FCC /uni1FCD /uni1FCE /uni1FCF /uni1FD0 /uni1FD1 /uni1FD2
+/uni1FD3 /uni1FD6 /uni1FD7 /uni1FD8 /uni1FD9 /uni1FDA /uni1FDB
+/uni1FDD /uni1FDE /uni1FDF /uni1FE0 /uni1FE1 /uni1FE2 /uni1FE3
+/uni1FE4 /uni1FE5 /uni1FE6 /uni1FE7 /uni1FE8 /uni1FE9 /uni1FEA
+/uni1FEB /uni1FEC /uni1FED /uni1FEE /uni1FEF /uni1FF2 /uni1FF3
+/uni1FF4 /uni1FF6 /uni1FF7 /uni1FF8 /uni1FF9 /uni1FFA /uni1FFB
+/uni1FFC /uni1FFD /uni1FFE /enquad /emquad /enspace /emspace
+/threeperemspace /fourperemspace /sixperemspace /figurespace
+/punctuationspace /thinspace /hairspace /zerowidthspace /hyphentwo
+/hyphennobreak /figuredash /horizontalbar /uni2016 /underscoredbl
+/quotesinglbase /quotereversed /quotedblbase /quotedblrev /trianglebullet
+/onedotenleader /twodotenleader /ellipsis /hyphendot /uni202F
+/perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior /five.inferior
+/six.inferior /seven.inferior /eight.inferior /nine.inferior
+/plus.inferior /minus.inferior /equal.inferior /parenleft.inferior
+/parenright.inferior /a.inferior /e.inferior /o.inferior /x.inferior
+/uni2094 /uni2095 /uni2096 /uni2097 /uni2098 /uni2099 /uni209A
+/uni209B /uni209C ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@6 def
+ currentdict
+end
+/LinLibertineOI-@24@6 exch definefont pop
+/@24@6 /LinLibertineOI-@24@6 def
+/&24@6 {@24@6 F} bind def
+/Encoding-@24@7 [
+/uni20A2 /franc /lira /peseta /uni20A8 /dong /Euro /uni20AF /uni20B1
+/uni2100 /uni2101 /uni2102 /centigrade /afii61248 /uni2106 /fahrenheit
+/uni210C /uni210D /uni210E /uni210F /Ifraktur /afii61289 /uni2115
+/afii61352 /uni2119 /uni211A /Rfraktur /uni211D /uni2120 /trademark
+/uni2124 /uni2126 /uni2127 /estimated /aleph /uni2136 /uni2137
+/uni2138 /uni2139 /onethird /twothirds /onefifth /twofifths /threefifths
+/fourfifths /onesixth /fivesixths /oneeighth /threeeighths /fiveeighths
+/seveneighths /onenumerator /Oneroman /Tworoman /Threeroman /Fourroman
+/Fiveroman /Sixroman /Sevenroman /Eightroman /Nineroman /Tenroman
+/Elevenroman /Twelveroman /uni216C /uni216D /uni216E /uni216F
+/oneroman /tworoman /threeroman /fourroman /fiveroman /sixroman
+/sevenroman /eightroman /nineroman /tenroman /elevenroman /twelveroman
+/uni217C /uni217D /uni217E /uni217F /uni2180 /uni2181 /uni2182
+/uni2183 /uni2184 /arrowleft /arrowup /arrowright /arrowdown
+/arrowboth /arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A
+/uni219B /arrowupdnbse /uni21AE /uni21BC /uni21BD /uni21C0 /uni21C1
+/uni21CB /uni21CC /uni21CD /uni21CE /uni21CF /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /arrowdblboth /uni21D5 /Nwarrow
+/Nearrow /Searrow /Swarrow /universal /uni2201 /partialdiff /existential
+/uni2204 /emptyset /uni2206 /gradient /element /notelement /uni220A
+/suchthat /uni220C /uni220D /product /uni2210 /summation /minus
+/uni2213 /uni2214 /uni2215 /uni2216 /asteriskmath /uni2218 /uni2219
+/radical /uni221B /uni221C /infinity /orthogonal /uni2223 /uni2224
+/uni2225 /uni2226 /logicaland /logicalor /intersection /union
+/integral /uni2236 /similar /uni2241 /congruent /approxequal
+/uni2249 /uni2259 /notequal /equivalence /uni2262 /lessequal
+/greaterequal /uni226A /uni226B /uni226E /uni226F /uni2270 /uni2271
+/propersubset /propersuperset /notsubset /uni2285 /circleplus
+/uni2296 /circlemultiply /uni2298 /dotmath /uni22EF /uni2302
+/uni2303 /uni2310 /uni2320 /uni2321 /uni2329 /uni232A /uni23D3
+/filledbox /H22073 /triagup /uni25B3 /uni25B6 /uni25B7 /triagdn
+/uni25BD /uni25C0 /uni25C1 /uni25C6 /uni25C7 /uni25C9 /lozenge
+/circle /H18533 /uni25D0 /uni25D1 /uni25D2 /uni25D3 /uni25D4
+/uni25D5 /uni25D6 /uni25D7 /uni2605 /uni2619 /uni261B /uni261E
+/uni2627 /uni262F /uni2639 /uni263A /uni263B /sun /uni263D /uni263E
+/uni263F /female /uni2641 /male /uni2643 /uni2644 /uni2645 /uni2646
+/uni2647 /uni2648 /uni2649 /uni264A /uni264B /uni264C /uni264D
+/uni264E /uni264F /uni2650 /uni2651 /uni2652 /uni2653 /uni2660
+/uni2663 ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@7 def
+ currentdict
+end
+/LinLibertineOI-@24@7 exch definefont pop
+/@24@7 /LinLibertineOI-@24@7 def
+/&24@7 {@24@7 F} bind def
+/Encoding-@24@8 [
+/uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl /uni266C
+/uni2695 /uni2698 /uni26A2 /uni26A3 /uni26A4 /uni2767 /uni27E6
+/uni27E7 /uni27E8 /uni27E9 /uni2C60 /uni2C61 /uni2C62 /uni2C63
+/uni2C64 /uni2C65 /uni2C66 /uni2C67 /uni2C68 /uni2C69 /uni2C6A
+/uni2C6B /uni2C6C /uni2C74 /uni2C75 /uni2C76 /uni2C77 /uniA720
+/uniA721 /Tux /uniE001 /uniE002 /uniE003 /uniE004 /uniE005 /uniE006
+/uniE007 /uniE008 /uniE009 /uniE00A /uniE00B /uniE00C /uniE00D
+/uniE00E /zero.slashfitted /zero.fitted /one.fitted /two.fitted
+/three.fitted /four.fitted /five.fitted /six.fitted /seven.fitted
+/eight.fitted /nine.fitted /Euro.fitted /Yen.fitted /uniE01C
+/perthousandzero /zero.oldstyle /one.oldstyle /two.oldstyle /three.oldstyle
+/four.oldstyle /five.oldstyle /six.oldstyle /seven.oldstyle /eight.oldstyle
+/nine.oldstyle /Adieresis.alt /Odieresis.alt /Udieresis.alt /f_f_j
+/f_j /f_k /f_t /c_k /c_h /t_t /c_t /ae.alt /Q_u /T_h /t_z /h.alt
+/germandbls.alt /germandbls.ss03 /uni1E9C.alt /ampersand.alt
+/a.sc /b.sc /c.sc /d.sc /e.sc /f.sc /g.sc /h.sc /i.sc /j.sc /k.sc
+/l.sc /m.sc /n.sc /o.sc /p.sc /q.sc /r.sc /s.sc /t.sc /u.sc /v.sc
+/w.sc /x.sc /y.sc /z.sc /hyphen.sc /agrave.sc /aacute.sc /acircumflex.sc
+/atilde.sc /adieresis.sc /aring.sc /ae.sc /ccedilla.sc /egrave.sc
+/eacute.sc /ecircumflex.sc /edieresis.sc /igrave.sc /iacute.sc
+/icircumflex.sc /idieresis.sc /eth.sc /ntilde.sc /ograve.sc /oacute.sc
+/ocircumflex.sc /otilde.sc /odieresis.sc /oe.sc /oslash.sc /ugrave.sc
+/uacute.sc /ucircumflex.sc /udieresis.sc /yacute.sc /thorn.sc
+/ydieresis.sc /ij.sc /germandbls.scalt /germandbls.sc /dcroat.sc
+/abreve.sc /aogonek.sc /cacute.sc /ccaron.sc /dcaron.sc /eogonek.sc
+/ecaron.sc /gbreve.sc /lacute.sc /lslash.sc /nacute.sc /ncaron.sc
+/eng.sc /ohungarumlaut.sc /racute.sc /rcaron.sc /sacute.sc /scedilla.sc
+/scaron.sc /tcedilla.sc /tbar.sc /uring.sc /uhungarumlaut.sc
+/zacute.sc /zdotaccent.sc /zcaron.sc /lcaron.sc /tcaron.sc /tcommaaccent.sc
+/scommaaccent.sc /idotaccent.sc /a.scalt /a.superior /b.superior
+/c.superior /d.superior /e.superior /f.superior /g.superior /uniE0C7
+/uniE0C8 /uniE0C9 /k.superior /m.superior /uniE0CD /o.superior
+/p.superior /q.superior /uniE0D1 /t.superior /u.superior /v.superior
+/uniE0D6 /uniE0D7 /uniE0D8 /z.superior /f.short /f_f.short /uniE0E8
+/W.alt /V.alt /K.alt /R.alt /J.alt /z.alt /uniE0F4 /y.alt /uniE0F9
+/uniE0FB /kreis /zero.taboldstyle /one.taboldstyle /two.taboldstyle
+/three.taboldstyle /four.taboldstyle /five.taboldstyle /six.taboldstyle
+/seven.taboldstyle /eight.taboldstyle /nine.taboldstyle /uniE130
+/uniE138 /uniE148 /b.inferior /c.inferior /d.inferior /f.inferior
+/g.inferior /h.inferior /i.inferior /j.inferior /k.inferior /l.inferior
+/m.inferior /n.inferior /p.inferior /q.inferior /r.inferior ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@8 def
+ currentdict
+end
+/LinLibertineOI-@24@8 exch definefont pop
+/@24@8 /LinLibertineOI-@24@8 def
+/&24@8 {@24@8 F} bind def
+/Encoding-@24@9 [
+/s.inferior /t.inferior /u.inferior /v.inferior /w.inferior /y.inferior
+/z.inferior /uniE188 /uniE189 /v.alt /grave.cap /acute.cap /circumflex.cap
+/caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap /breveinvertedcmb.cap
+/breve.cyrcap /breve.cyr /dieresis.cap /hookabovecomb.cap /uniE420
+/zero.slash /parenleft.sc /parenright.sc /bracketleft.sc /bracketright.sc
+/braceleft.sc /braceright.sc /exclamdown.sc /questiondown.sc
+/guillemotleft.sc /guillemotright.sc /guilsinglleft.sc /guilsinglright.sc
+/hyphen.cap /dotlessj /afii10068.ital /afii10066.ital /afii10069.ital
+/afii10081.ital /uniF6C8 /longs_t /s_t /uniFFFD /uni0350 /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineOI findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@24@9 def
+ currentdict
+end
+/LinLibertineOI-@24@9 exch definefont pop
+/@24@9 /LinLibertineOI-@24@9 def
+/&24@9 {@24@9 F} bind def
+/Encoding-@25@0 [
+/.notdef /hyphen /cent /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /.notdef /space /asciicircum /asciitilde
+/uni00A0 /exclamdown /sterling /currency /yen /brokenbar /space
+/exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
+/parenleft /parenright /asterisk /plus /comma /hyphen /period
+/slash /zero /one /two /three /four /five /six /seven /eight
+/nine /colon /semicolon /less /equal /greater /question /at /A
+/B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V
+/W /X /Y /Z /bracketleft /backslash /bracketright /dieresis /underscore
+/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q
+/r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /copyright
+/ordfeminine /guillemotleft /logicalnot /uni00AD /registered
+/macron /degree /plusminus /two.superior /three.superior /uni00B5
+/paragraph /periodcentered /cedilla /one.superior /ordmasculine
+/guillemotright /questiondown /Agrave /Aacute /Acircumflex /Atilde
+/Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
+/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde
+/Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash
+/Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
+/agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
+/egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex
+/idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde
+/odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis
+/yacute /thorn /ydieresis /Amacron /amacron /Abreve /abreve /Aogonek
+/aogonek /Cacute /cacute /Ccircumflex /ccircumflex /Cdotaccent
+/cdotaccent /Ccaron /ccaron /Dcaron /dcaron /Dcroat /dcroat /Emacron
+/emacron /Ebreve /ebreve /Edotaccent /edotaccent /Eogonek /eogonek
+/Ecaron /ecaron /Gcircumflex /gcircumflex /Gbreve /gbreve /Gdotaccent
+/gdotaccent /Gcommaaccent /gcommaaccent /Hcircumflex /hcircumflex
+/Hbar /hbar /Itilde /itilde /Imacron /imacron /Ibreve /ibreve
+/Iogonek ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@25@0 def
+ currentdict
+end
+/LinLibertineMO-@25 exch definefont pop
+/@25 /LinLibertineMO-@25 def
+/&25 {@25 F} bind def
+/Encoding-@25@1 [
+/iogonek /Idotaccent /dotlessi /IJ /ij /Jcircumflex /jcircumflex
+/Kcommaaccent /kcommaaccent /kgreenlandic /Lacute /lacute /Lcommaaccent
+/lcommaaccent /Lcaron /lcaron /Ldot /ldot /Lslash /lslash /Nacute
+/nacute /Ncommaaccent /ncommaaccent /Ncaron /ncaron /napostrophe
+/Eng /eng /Omacron /omacron /Obreve /obreve /Ohungarumlaut /ohungarumlaut
+/OE /oe /Racute /racute /Rcommaaccent /rcommaaccent /Rcaron /rcaron
+/Sacute /sacute /Scircumflex /scircumflex /Scedilla /scedilla
+/Scaron /scaron /Tcommaaccent /tcommaaccent /Tcaron /tcaron /Tbar
+/tbar /Utilde /utilde /Umacron /umacron /Ubreve /ubreve /Uring
+/uring /Uhungarumlaut /uhungarumlaut /Uogonek /uogonek /Wcircumflex
+/wcircumflex /Ycircumflex /ycircumflex /Ydieresis /Zacute /zacute
+/Zdotaccent /zdotaccent /Zcaron /zcaron /longs /gravecomb /acutecomb
+/uni0302 /tildecomb /uni0304 /uni0305 /uni0306 /dotaccentcmb
+/uni0308 /hookabovecomb /uni030A /uni030B /uni030C /uni030D /uni030E
+/uni030F /uni0310 /uni0311 /uni0312 /uni0313 /uni0314 /uni0315
+/uni0316 /uni0317 /uni0318 /uni0319 /uni031A /uni031B /uni031C
+/uni031D /uni031E /uni031F /uni0320 /uni0321 /uni0322 /dotbelowcomb
+/uni0324 /uni0325 /uni0326 /uni0327 /uni0328 /uni0329 /uni032A
+/uni032B /uni032C /uni032D /uni032E /uni032F /uni0330 /uni0331
+/uni0332 /uni0333 /uni0334 /uni0335 /uni0336 /uni0337 /uni0338
+/uni0339 /uni033A /uni033B /uni033C /uni033D /uni033E /uni033F
+/uni0340 /uni0341 /uni0342 /uni0343 /uni0344 /uni0345 /uni0346
+/uni0347 /uni0348 /uni0349 /uni034A /uni034B /uni034C /uni034D
+/uni034E /uni034F /uni0350 /uni0351 /uni0352 /uni0353 /uni0354
+/uni0355 /uni0356 /uni0357 /uni0358 /uni0359 /uni035A /uni035B
+/uni035C /uni035D /uni035E /uni035F /uni0360 /uni0361 /uni0362
+/uni0363 /uni0364 /uni0365 /uni0366 /uni0367 /uni0368 /uni0369
+/uni036A /uni036B /uni036C /uni036D /uni036E /uni036F /uni1E00
+/uni1E01 /uni1E02 /uni1E03 /uni1E04 /uni1E05 /uni1E06 /uni1E07
+/uni1E08 /uni1E09 /uni1E0A /uni1E0B /uni1E0C /uni1E0D /uni1E0E
+/uni1E0F /uni1E10 /uni1E11 /uni1E12 /uni1E13 /uni1E14 /uni1E15
+/uni1E16 /uni1E17 /uni1E18 /uni1E19 /uni1E1A /uni1E1B /uni1E1C
+/uni1E1D /uni1E1E /uni1E1F /uni1E20 /uni1E21 /uni1E22 /uni1E23
+/uni1E24 /uni1E25 /uni1E26 /uni1E27 /uni1E28 /uni1E29 /uni1E2A
+/uni1E2B /uni1E2C /uni1E2D /uni1E2E /uni1E2F /uni1E30 /uni1E31
+/uni1E32 /uni1E33 /uni1E34 /uni1E35 /uni1E36 /uni1E37 /uni1E38
+/uni1E39 /uni1E3A /uni1E3B /uni1E3C /uni1E3D /uni1E3E ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@25@1 def
+ currentdict
+end
+/LinLibertineMO-@25@1 exch definefont pop
+/@25@1 /LinLibertineMO-@25@1 def
+/&25@1 {@25@1 F} bind def
+/Encoding-@25@2 [
+/uni1E3F /uni1E40 /uni1E41 /uni1E42 /uni1E43 /uni1E44 /uni1E45
+/uni1E46 /uni1E47 /uni1E48 /uni1E49 /uni1E4A /uni1E4B /uni1E4C
+/uni1E4D /uni1E4E /uni1E4F /uni1E50 /uni1E51 /uni1E52 /uni1E53
+/uni1E54 /uni1E55 /uni1E56 /uni1E57 /uni1E58 /uni1E59 /uni1E5A
+/uni1E5B /uni1E5C /uni1E5D /uni1E5E /uni1E5F /uni1E60 /uni1E61
+/uni1E62 /uni1E63 /uni1E64 /uni1E65 /uni1E66 /uni1E67 /uni1E68
+/uni1E69 /uni1E6A /uni1E6B /uni1E6C /uni1E6D /uni1E6E /uni1E6F
+/uni1E70 /uni1E71 /uni1E72 /uni1E73 /uni1E74 /uni1E75 /uni1E76
+/uni1E77 /uni1E78 /uni1E79 /uni1E7A /uni1E7B /uni1E7C /uni1E7D
+/uni1E7E /uni1E7F /Wgrave /wgrave /Wacute /wacute /Wdieresis
+/wdieresis /uni1E86 /uni1E87 /uni1E88 /uni1E89 /uni1E8A /uni1E8B
+/uni1E8C /uni1E8D /uni1E8E /uni1E8F /uni1E90 /uni1E91 /uni1E92
+/uni1E93 /uni1E94 /uni1E95 /uni1E96 /uni1E97 /uni1E98 /uni1E99
+/uni1E9A /uni1E9B /uni1E9C /uni1E9D /Germandbls /uni1E9F /uni1EA0
+/uni1EA1 /uni1EA2 /uni1EA3 /uni1EA4 /uni1EA5 /uni1EA6 /uni1EA7
+/uni1EA8 /uni1EA9 /uni1EAA /uni1EAB /uni1EAC /uni1EAD /uni1EAE
+/uni1EAF /uni1EB0 /uni1EB1 /uni1EB2 /uni1EB3 /uni1EB4 /uni1EB5
+/uni1EB6 /uni1EB7 /uni1EB8 /uni1EB9 /uni1EBA /uni1EBB /uni1EBC
+/uni1EBD /uni1EBE /uni1EBF /uni1EC0 /uni1EC1 /uni1EC2 /uni1EC3
+/uni1EC4 /uni1EC5 /uni1EC6 /uni1EC7 /uni1EC8 /uni1EC9 /uni1ECA
+/uni1ECB /uni1ECC /uni1ECD /uni1ECE /uni1ECF /uni1ED0 /uni1ED1
+/uni1ED2 /uni1ED3 /uni1ED4 /uni1ED5 /uni1ED6 /uni1ED7 /uni1ED8
+/uni1ED9 /uni1EDA /uni1EDB /uni1EDC /uni1EDD /uni1EDE /uni1EDF
+/uni1EE0 /uni1EE1 /uni1EE2 /uni1EE3 /uni1EE4 /uni1EE5 /uni1EE6
+/uni1EE7 /uni1EE8 /uni1EE9 /uni1EEA /uni1EEB /uni1EEC /uni1EED
+/uni1EEE /uni1EEF /uni1EF0 /uni1EF1 /Ygrave /ygrave /uni1EF4
+/uni1EF5 /uni1EF6 /uni1EF7 /uni1EF8 /uni1EF9 /enquad /emquad
+/enspace /emspace /threeperemspace /fourperemspace /sixperemspace
+/figurespace /punctuationspace /thinspace /hairspace /zerowidthspace
+/hyphentwo /hyphennobreak /figuredash /horizontalbar /uni2016
+/underscoredbl /quotesinglbase /quotereversed /quotedblbase /quotedblrev
+/trianglebullet /onedotenleader /twodotenleader /ellipsis /hyphendot
+/uni202F /perthousand /uni2031 /minute /second /primetriple /primereversed
+/uni2036 /uni2037 /guilsinglleft /guilsinglright /uni203B /exclamdbl
+/interrobang /uni203E /uni2042 /fraction /question_question /question_exclam
+/exclam_question /uni204A /uni204B /uni204F /zero.superior /i.superior
+/four.superior /five.superior /six.superior /seven.superior /eight.superior
+/nine.superior /plus.superior /minus.superior /equal.superior
+/parenleft.superior /parenright.superior /n.superior /zero.inferior
+/one.inferior /two.inferior /three.inferior /four.inferior ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@25@2 def
+ currentdict
+end
+/LinLibertineMO-@25@2 exch definefont pop
+/@25@2 /LinLibertineMO-@25@2 def
+/&25@2 {@25@2 F} bind def
+/Encoding-@25@3 [
+/five.inferior /six.inferior /seven.inferior /eight.inferior
+/nine.inferior /plus.inferior /minus.inferior /equal.inferior
+/parenleft.inferior /parenright.inferior /a.inferior /e.inferior
+/o.inferior /x.inferior /uni2094 /uni2095 /uni2096 /uni2097 /uni2098
+/uni2099 /uni209A /uni209B /uni209C /uni20A2 /franc /lira /peseta
+/uni20A8 /dong /Euro /uni20AF /uni20B1 /uni2100 /uni2101 /uni2102
+/centigrade /afii61248 /uni2106 /fahrenheit /uni210C /uni210D
+/uni210E /uni210F /Ifraktur /afii61289 /uni2115 /afii61352 /uni2119
+/uni211A /Rfraktur /uni211D /uni2120 /trademark /uni2124 /uni2126
+/uni2127 /estimated /aleph /uni2136 /uni2137 /uni2138 /uni2139
+/onethird /twothirds /onefifth /twofifths /threefifths /fourfifths
+/onesixth /fivesixths /oneeighth /threeeighths /fiveeighths /seveneighths
+/onenumerator /arrowleft /arrowup /arrowright /arrowdown /arrowboth
+/arrowupdn /uni2196 /uni2197 /uni2198 /uni2199 /uni219A /uni219B
+/universal /uni2201 /partialdiff /existential /uni2204 /emptyset
+/uni2206 /gradient /element /notelement /uni220A /suchthat /uni220C
+/uni220D /product /uni2210 /summation /minus /uni2213 /uni2214
+/asteriskmath /uni2218 /uni2219 /radical /uni221B /uni221C /proportional
+/infinity /orthogonal /dotmath /uni22EF /SF100000 /uni2503 /SF010000
+/SF030000 /SF020000 /SF040000 /SF080000 /SF090000 /SF060000 /SF070000
+/SF050000 /SF430000 /SF240000 /SF510000 /SF520000 /SF390000 /SF220000
+/SF210000 /SF250000 /SF500000 /SF490000 /SF380000 /SF280000 /SF270000
+/SF260000 /SF360000 /SF370000 /SF420000 /SF190000 /SF200000 /SF230000
+/SF470000 /SF480000 /SF410000 /SF450000 /SF460000 /SF400000 /SF540000
+/SF530000 /SF440000 /upblock /dnblock /block /lfblock /rtblock
+/ltshade /shade /dkshade /uni2605 /uni2639 /uni263A /uni263B
+/uni2660 /uni2663 /uni2665 /uni2666 /uni2669 /musicalnote /musicalnotedbl
+/uni266C /uni266D /uni266E /uni266F /Tux /uniE001 /uniE009 /uniE00A
+/zero.slashfitted /perthousandzero /Adieresis.alt /Odieresis.alt
+/Udieresis.alt /a.superior /b.superior /c.superior /d.superior
+/e.superior /f.superior /g.superior /uniE0C7 /uniE0C8 /uniE0C9
+/k.superior /m.superior /uniE0CD /o.superior /p.superior /q.superior
+/uniE0D1 /t.superior /u.superior /v.superior /uniE0D6 /uniE0D7
+/uniE0D8 /z.superior /uniE0F9 /uniE0FB /kreis /uniE138 /uniE148
+/b.inferior /c.inferior /d.inferior /f.inferior /g.inferior /h.inferior
+/i.inferior /j.inferior /k.inferior /l.inferior /m.inferior /n.inferior
+/p.inferior /q.inferior /r.inferior /s.inferior /t.inferior /u.inferior
+/v.inferior /w.inferior /y.inferior /z.inferior /grave.cap /acute.cap
+/circumflex.cap /caron.cap /breve.cap /hungarumlaut.cap /space_uni030F.cap
+/breveinvertedcmb.cap /breve.cyrcap /breve.cyr /dieresis.cap
+/hookabovecomb.cap /dotaccent.cap /uniE420 /zero.slash ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@25@3 def
+ currentdict
+end
+/LinLibertineMO-@25@3 exch definefont pop
+/@25@3 /LinLibertineMO-@25@3 def
+/&25@3 {@25@3 F} bind def
+/Encoding-@25@4 [
+/dotlessj /uniFFFD /uni0350 /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef ] def
+/LinLibertineMO findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@25@4 def
+ currentdict
+end
+/LinLibertineMO-@25@4 exch definefont pop
+/@25@4 /LinLibertineMO-@25@4 def
+/&25@4 {@25@4 F} bind def
+/pagebbox [0 0 595 842] def
+userdict /gotpagebbox true put
+/setpagedevice where {pop 1 dict dup /PageSize [595 842] put setpagedevice} if
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+ [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark
+20 @23 f
+(Heirlo)89466 76188 w
+(om Do)6660 1 141366 u
+(cumentation T)6660 1 198146 u
+(o)318366 v
+(ols)328586 v
+(: Quickstart Guide)6660 1 353066 u
+12 s
+(Gunnar)56692 800196 w
+(Ri)98236 v
+&23@9
+(\137)108532 v
+&23
+(er)115900 v
+(11/5/06)502929 v
+(So y)4169 1 56692 119188 t
+(ou want to e)4170 1 78813 u
+(xplor)143607 v
+(e Heirlo)4170 1 169299 u
+(om)209973 v
+&24
+(tr)229671 v
+(o\005)237543 v
+&23
+(and kno)4170 1 253893 u
+(w)294735 v
+&24
+(tr)307869 v
+(o\005)315741 v
+&23
+(to some e)4170 1 332091 u
+(xtent since y)4170 1 381123 u
+(ou hav)4170 1 445815 u
+(e use)4170 1 480213 u
+(d)506247 v
+&24
+(gr)516489 v
+(o\005)526401 v
+&23
+(or traditional)3996 1 56692 134188 t
+&24
+(tr)126508 v
+(o\005)134380 v
+&23
+(b)150556 v
+(efor)156592 v
+(e)176092 v
+(? Ge)3996 1 182248 u
+&23@9
+(\137)205048 v
+&23
+(ing starte)3996 1 212416 u
+(d is easy then)3996 1 259828 u
+(:)330436 v
+&23@8
+(\273)56692 164188 w
+&23
+(Heirlo)76416 v
+(om)107556 v
+&24
+(tr)127242 v
+(o\005)135114 v
+&23
+(supp)151452 v
+( with mor)4159(orts names)4158 2 175044 u
+(e than tw)4159 1 280376 u
+(o characters for r)4159 1 328954 u
+(e)416539 v
+(quests)421987 v
+(, strings)4159 1 453151 u
+(, numb)4159 1 493562 u
+(er)528753 v
+(r)76416 179188 w
+(egisters)80784 v
+(, and fonts like)4339 1 118620 u
+&24
+(gr)199348 v
+(o\005)209260 v
+&23
+(do)225779 v
+(es)237983 v
+(. Ho)4339 1 248267 u
+(w)269970 v
+(e)278838 v
+(v)284118 v
+(er)289986 v
+(, it op)4339 1 299346 u
+( a compatibility mo)4338(erates in)4339 2 330068 u
+(de by default)4338 1 472401 u
+(and ne)4513 1 76416 194188 t
+(e)110941 v
+(ds to b)4513 1 116389 u
+(e e)4513 1 152043 u
+( e)4514(xplicitly told to activate)4513 2 167200 u
+(xtensions)297777 v
+(. Thus unless y)4514 1 344721 u
+(ou ar)4514 1 422427 u
+(e pr)4514 1 449213 u
+(o)469687 v
+(cessing lega\001)4514 1 475819 u
+(cy do)3996 1 76416 209188 t
+(cuments)103932 v
+(, the)3996 1 145500 u
+(\003rst line in a Heirlo)3996 1 171744 u
+(om)272052 v
+&24
+(tr)291576 v
+(o\005)299448 v
+&23
+(do)315624 v
+(cument should r)3996 1 327828 u
+(ead)409632 v
+9.6 @25 f
+-71 T
+(.do xflag 3)3925 1 88416 239188 t
+12 @23 f
+0 T
+&23@8
+(\273)56692 269188 w
+&24
+(tr)76416 v
+(o\005)84288 v
+&23
+(pr)101375 v
+(o)111971 v
+(duces an interme)4907 1 118103 u
+(diate language that ne)4908 1 205833 u
+(e)320373 v
+(ds further pr)4908 1 325821 u
+(o)391617 v
+(cessing in or)4908 1 397749 u
+(der to pr)4908 1 463353 u
+(o)509505 v
+(duce)515637 v
+(PostScript output)3996 1 76416 284188 t
+(. With pr)3996 1 162960 u
+(epr)209100 v
+(o)225060 v
+(cessors and)3996 1 231192 u
+&24
+(\015mm)292296 v
+&23
+(macr)321492 v
+(os)345960 v
+(, a typical command line is)3996 1 356928 u
+9.6 @25 f
+-71 T
+(pic input.tr)3925 1 88416 314188 t
+(\020 tbl)3925 1 163069 u
+(\020 eqn)3925 1 195211 u
+(\020 troff)3925 1 227353 u
+(\010mm)271641 v
+(\020 dpost > output.ps)3925 1 293785 u
+12 @23 f
+0 T
+(It is most conv)4102 1 76416 344188 t
+(enient to hav)4102 1 151566 u
+(e the)4102 1 218198 u
+&24
+(make)247378 v
+&23
+( e)4103(utility let this)4102 2 277352 u
+(xe)355251 v
+(cute for y)4103 1 366579 u
+(ou)415765 v
+(. Se)4103 1 428425 u
+(e the sour)4103 1 446436 u
+(ce dir)4103 1 497086 u
+(e)525381 v
+(c\001)530829 v
+(tor)76416 359188 w
+(y for this quickstart guide \(\027)3996 1 90900 u
+(do)233472 v
+(c/quickstart\030 in the distribution\) for an e)3996 1 245676 u
+(xample)450156 v
+(.)485880 v
+&23@8
+(\273)56692 389188 w
+&23
+(Y)76416 v
+(ou can adapt)5512 1 82464 u
+&24
+(tr)155604 v
+(o\005)163476 v
+&23
+(to lo)5512 1 181168 u
+(cal language conv)5512 1 205820 u
+(entions by se)5512 1 298564 u
+&23@9
+(\137)367872 v
+&23
+(ing the pap)5512 1 375240 u
+(er size)5512 1 435656 u
+( hyphen\001)5513(, the)5512 2 469500 u
+(ation language)5791 1 76416 404188 t
+(, and the input lo)5791 1 151783 u
+(cale)246707 v
+(. For e)5791 1 265979 u
+(xample)301813 v
+(, a do)5791 1 337537 u
+(cument in German that is using)5790 1 369447 u
+10.8 @23 f
+861 T
+(U)76416 419188 w
+(TF)84814 v
+(\0018)98220 v
+12 @23 f
+0 T
+(as input character enco)3996 1 112609 u
+(ding w)3996 1 229825 u
+(ould usually con\003gur)3996 1 264517 u
+(e these as)3996 1 370741 u
+9.6 @25 f
+-71 T
+(.mediasize a4)3925 1 88416 449188 t
+(.hylang de_DE)3925 1 88416 464188 t
+(.lc_ctype de_DE.utf8)3925 1 88416 479188 t
+12 @23 f
+0 T
+&23@8
+(\273)56692 509188 w
+&23
+(Fonts ar)4528 1 76416 u
+(e)117640 v
+(\027plug\001and\001play\030)127532 v
+(:)206324 v
+&24
+(tr)213684 v
+(o\005)221556 v
+&23
+(can dir)4528 1 238264 u
+(e)273608 v
+(ctly access PostScript T)4528 1 279056 u
+(yp)397676 v
+(e)410168 v
+(1)419528 v
+(, T)4528 1 425348 u
+(rue)439440 v
+(T)455052 v
+(yp)461628 v
+(e)474120 v
+( Op)4529(, and)4528 2 479604 u
+(en\001)524097 v
+(T)76416 524188 w
+(yp)82992 v
+(e fonts without any ne)3996 1 95484 u
+(e)210372 v
+(d for conv)3996 1 215820 u
+(ersion)267672 v
+(. The font of this do)3996 1 298224 u
+(cument is mounte)3996 1 400044 u
+(d by)3996 1 490260 u
+9.6 @25 f
+-71 T
+(.fp 1 R LinLibertine_R otf)3925 1 88416 554188 t
+12 @23 f
+0 T
+(The do)3996 1 76416 584188 t
+(cument)111600 v
+&24
+(Font Handling in T)3996 1 152244 u
+(r)245232 v
+(o\005 With PostScript De)3996 1 249420 u
+(vices)356988 v
+&23
+(e)383676 v
+(xplains additional featur)3996 1 388956 u
+(es)510372 v
+(.)520656 v
+&23@8
+(\273)56692 614188 w
+&23
+(Further e)5814 1 76416 u
+(xtensions y)5815 1 124242 u
+(ou might like to e)5815 1 182845 u
+(xplor)280553 v
+(e ar)5815 1 306245 u
+(e paragraph\001base)5815 1 327276 u
+(d justi\003cation)5815 1 414331 u
+(,)484754 v
+(\027micr)493209 v
+(oty\001)519945 v
+(p)76416 629188 w
+(ography\030)82728 v
+(, hanging punctuation)4285 1 127740 u
+(,)238874 v
+10.8 @23 f
+861 T
+(PDF)245799 v
+12 @23 f
+0 T
+(b)271316 v
+(o)277352 v
+( links)4284(okmarks and)4285 2 283484 u
+(,)376545 v
+(\004oating\001p)383469 v
+(oint r)4284 1 431397 u
+(egisters)459645 v
+(, and lo\001)4284 1 497481 u
+(cal variables p)5477 1 76416 644188 t
+(er macr)5477 1 151246 u
+(o instance)5478 1 191019 u
+(. These ar)5478 1 243381 u
+(e do)5478 1 295857 u
+(cumente)318903 v
+(d in)5478 1 360999 u
+&24
+(Justi\003cation in Heirlo)5478 1 387783 u
+(om T)5478 1 495687 u
+(r)522213 v
+(o\005)526401 v
+&23
+(and in the)3996 1 76416 659188 t
+&24
+(Nr)131832 v
+(o\005/T)144012 v
+(r)165972 v
+(o\005 User\033s Manual.)3996 1 170160 u
+&23
+&23@8
+(\273)56692 689188 w
+&23
+(Heirlo)76416 v
+(om)107556 v
+&24
+(tr)127080 v
+(o\005)134952 v
+&23
+(pr)151128 v
+(o)161724 v
+(vides a)3996 1 167688 u
+&24
+(gr)206496 v
+(o\005)216408 v
+&23
+(compatibility mo)3996 1 232584 u
+(de and macr)3996 1 317172 u
+(o set)3996 1 379128 u
+(. A command line like)3996 1 403248 u
+9.6 @25 f
+-71 T
+(gtbl input.tr)3925 1 88416 719188 t
+(\020 troff)3925 1 169142 u
+(\010mg /usr/share/groff/current/tmac/s.tmac)3925 1 213430 u
+(\015)458127 v
+(\020 dpost > output.ps)3925 1 88416 734188 t
+12 @23 f
+0 T
+(lets y)3996 1 76416 764188 t
+(ou pr)3996 1 103500 u
+(o)130512 v
+(cess)136644 v
+&24
+(gr)160500 v
+(o\005)170412 v
+&23
+(macr)186588 v
+(o sets and pr)3996 1 211056 u
+(epr)276264 v
+(o)292224 v
+(cessor output)3996 1 298356 u
+(.)365568 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Trailer
+done
+%%EOF
diff --git a/doc/quickstart/doc.tr b/doc/quickstart/doc.tr
new file mode 100644
index 0000000000000..ae61207b569f6
--- /dev/null
+++ b/doc/quickstart/doc.tr
@@ -0,0 +1,186 @@
+.\" Sccsid @(#)doc.tr 1.4 (gritter) 11/5/06
+.do xflag 3
+.warn
+.lc_ctype en_US.UTF-8
+.hylang en_US
+.mediasize a4
+.ll 17c
+.lt 17c
+.po 2c
+\X'PDFMark: Author Gunnar Ritter'
+\X'PDFMark: Keywords Heirloom Documentation Tools, troff'
+\X'PDFMark: Title Heirloom Documentation Tools: Quickstart Guide'
+\X'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark'
+.ss 12 0
+.if t .so fonts.tmac
+.ie r MyriadPro \{\
+. \" Use MyriadPro font
+. fp 1 R MyriadPro-Regular otf
+. fp 2 I MyriadPro-It otf
+. fp 3 B MyriadPro-Bold otf
+. fp \n[.fp] V MyriadPro-Regular otf
+. fp \n[.fp] ZD
+. flig B 0
+. kernafter R ‹ 66 « 66
+. kernbefore R › 66 » 66
+. ds Kernbefore : 66 ! 66 ? 66 ; 66 . 20 , 20
+. kernbefore R \*[Kernbefore]
+. kernbefore I \*[Kernbefore]
+. kernbefore B \*[Kernbefore]
+. ds Rhang \(hy 120 \(en 120 \(em 120 , 80 . 80
+. rhang R \*[Rhang]
+. rhang I \*[Rhang]
+. rhang B \*[Rhang]
+. track V 1 2 18 1.4
+. fzoom V .92
+\}
+.el \{\
+. \" Use Libertine font
+. fp 1 R LinLibertine_R otf
+. fp 2 I LinLibertine_RI otf
+. fp 3 B LinLibertine_M otf
+. fp 4 V LinLibertine_R otf
+. fzoom B .8
+. fzoom V .9
+. track B 1 -.1 40 -0
+. track V 1 1.2 40 0
+. flig B 0
+. flig R fb \[f_b] ff \[f_f]
+. flig R fh \[f_h] ffh \[f_f_h]
+. flig R fi \[fi] ffi \[f_f_i]
+. flig R fj \[f_j] ffj \[f_f_j]
+. flig R fk \[f_k] ffk \[f_f_k]
+. flig R fl \[fl] ffl \[f_f_l]
+. flig R ft \[f_t] fft \[f_f_t]
+. flig R tt \[t_t]
+. flig I fb \[f_b] ff \[f_f]
+. flig I fh \[f_h] ffh \[f_f_h]
+. flig I fi \[fi] ffi \[f_f_i]
+. flig I fj \[f_j] ffj \[f_f_j]
+. flig I fk \[f_k] ffk \[f_f_k]
+. flig I fl \[fl] ffl \[f_f_l]
+. flig I ft \[f_t] fft \[f_f_t]
+. flig I tt \[t_t]
+. kernafter R ‹ 66 « 66
+. ds Kernbefore › 66 » 66 : 66 ! 66 ? 66 ; 66 . 20 , 20
+. kernbefore R \*[Kernbefore]
+. ds Rhang \(hy 120 \(en 120 \(em 120 , 80 . 80
+. rhang R \*[Rhang]
+. rhang I \*[Rhang]
+. rhang B \*[Rhang]
+. char \[a15] \[uni261E]\h'5p'
+.\}
+.ds q \[a15]\
+.de Q
+. in \w'\\*q'u
+. ti 0
+\\*q\c
+. ft R
+..
+.de CS
+. sp
+. in +1m
+. ft B
+. nf
+..
+.de CE
+. fi
+. in -1m
+. sp
+. ft R
+..
+.sp |1.7c
+.ad c
+.ps 20
+.vs 28
+\fRHeirloom Documentation Tools:
+Quickstart Guide\fR
+.sp
+.ps 12
+.vs 15
+.mk T
+.sp |27.7c
+.tl 'Gunnar Ritter''11/5/06'
+.rt \nTu
+.ad p
+So you want to explore Heirloom \fItroff\fR
+and know \fItroff\fR to some extent
+since you have used
+\fIgroff\fR or traditional \fItroff\fR before?
+Getting started is easy then:
+.sp
+.Q
+Heirloom \fItroff\fR
+supports names with more than two characters for
+requests, strings, number registers, and fonts
+like \fIgroff\fR does.
+However, it operates in a compatibility mode by default
+and needs to be explicitly told to activate extensions.
+Thus unless you are processing legacy documents,
+the first line in a Heirloom \fItroff\fR document should read
+.CS
+\&.do xflag 3
+.CE
+.Q
+\fItroff\fR produces an intermediate language
+that needs further processing
+in order to produce PostScript output.
+With preprocessors and \fI\-mm\fR macros,
+a typical command line is
+.CS
+pic input.tr | tbl | eqn | troff \-mm | dpost > output.ps
+.CE
+It is most convenient to have the \fImake\fR utility
+let this execute for you.
+See the source directory for this quickstart guide
+(“doc/quickstart†in the distribution) for an example.
+.sp
+.Q
+You can adapt \fItroff\fR to local language conventions
+by setting the paper size, the hyphenation language,
+and the input locale.
+For example, a document in German that is using \fVUTF-8\fR
+as input character encoding would usually configure these as
+.CS
+\&.mediasize a4
+\&.hylang de_DE
+\&.lc_ctype de_DE.utf8
+.CE
+.Q
+Fonts are “plug-and-playâ€:
+\fItroff\fR can directly access
+PostScript Type\ 1, TrueType, and OpenType fonts
+without any need for conversion.
+The font of this document is mounted by
+.CS
+.ie r MyriadPro \
+\&.fp 1 R MyriadPro-Regular otf
+.el \
+\&.fp 1 R LinLibertine_R otf
+.CE
+The document
+\fIFont Handling in Troff With PostScript Devices\fR
+explains additional features.
+.sp
+.Q
+Further extensions you might like to explore are
+paragraph-based justification,
+“microtypographyâ€,
+hanging punctuation,
+\fVPDF\fR bookmarks and links,
+floating-point registers,
+and local variables per macro instance.
+These are documented in
+\fIJustification in Heirloom Troff\fR
+and in the
+\fINroff/Troff User's Manual.\fR
+.sp
+.Q
+Heirloom \fItroff\fR provides
+a \fIgroff\fR compatibility mode and macro set.
+A command line like
+.CS
+gtbl input.tr | troff \-mg /usr/share/groff/current/tmac/s.tmac \e
+| dpost > output.ps
+.CE
+lets you process \fIgroff\fR macro sets and preprocessor output.
diff --git a/doc/quickstart/makefile b/doc/quickstart/makefile
new file mode 100644
index 0000000000000..99d3e25b32fb4
--- /dev/null
+++ b/doc/quickstart/makefile
@@ -0,0 +1,50 @@
+DISTFLAGS = -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
+ -sProcessColorModel=DeviceGray -dPDFSETTINGS=/prepress
+CRYPT = -sOwnerPassword="`dd if=/dev/random bs=12 count=1 2>/dev/null | \
+ md5sum | awk '{ print $$1 }'` " -dEncryptionR=3 \
+ -dKeyLength=128 -dPermissions=-300
+
+.SUFFIXES: .tr .ps .pdf .more
+
+.tr.ps:
+ rm -f $@; trap "rm -f $$$$.ps" 0 2 3; \
+ tbl $< | troff | dpost >$$$$.ps && mv $$$$.ps $@
+
+.ps.pdf:
+ gs -sOutputFile=$@ $(DISTFLAGS) -f $<
+
+.tr.more:
+ tbl -Tlocale $< | nroff -Tlocale | col -x > $@
+
+all: doc.ps
+
+test:
+ [ -e doc.more ] && mv doc.more doc.more.orig
+ make doc.more
+ diff -d doc.more.orig doc.more
+ mv doc.more.orig doc.more
+ [ -e doc.ps ] && mv doc.ps doc.ps.orig
+ make doc.ps
+ rm fonts.tmac
+ sed 's/.CreationDate.*/%/' doc.ps >doc.ps.sed
+ diff -d doc.ps.orig doc.ps.sed
+ rm doc.ps.sed
+ mv doc.ps.orig doc.ps
+
+clean:
+ rm -f doc.ps doc.pdf doc.more core log *~ fonts.tmac
+
+fonts.tmac:
+ @[ -n "$$TROFFONTS" ] || \
+ (echo "Error: Environment variable TROFFONTS not set" && false)
+ @for F in LinLibertine AGaramondPro ; do \
+ find $$(echo $$TROFFONTS | sed -e 's/:/ /g') -name "$$F*" | \
+ grep $$F > /dev/null && echo ".nr $$F 1" >> $@ || true; \
+ done
+ @grep nr $@ > /dev/null || \
+ (echo 'Error: None of the fonts "LinLibertine" and ' \
+ '"AGaramondPro" found' && false)
+
+mrproper: clean
+
+doc.ps: fonts.tmac
diff --git a/doc/troff/README b/doc/troff/README
new file mode 100644
index 0000000000000..8bf60036bbc64
--- /dev/null
+++ b/doc/troff/README
@@ -0,0 +1,9 @@
+README for the Heirloom Documentation Tools Reference Manual
+============================================================
+
+To build the reference manual, you need to download the
+OpenType variants of TeX Gyre Termes fonts available for
+free from <http://www.janusz.nowacki.strefa.pl/>, and
+to set the TROFFONTS variable such that it includes them.
+
+Gunnar Ritter 01/08/07
diff --git a/doc/troff/doc.more b/doc/troff/doc.more
new file mode 100644
index 0000000000000..36f27759e6211
--- /dev/null
+++ b/doc/troff/doc.more
@@ -0,0 +1,7063 @@
+
+
+
+
+
+
+
+
+
+ HHHHeeeeiiiirrrrlllloooooooommmm DDDDooooccccuuuummmmeeeennnnttttaaaattttiiiioooonnnn TTTToooooooollllssss
+ NNNNrrrrooooffffffff////TTTTrrrrooooffffffff UUUUsssseeeerrrr’ssss MMMMaaaannnnuuuuaaaallll
+
+ _J_o_s_e_p_h _F. _O_s_s_a_n_n_a
+ _B_r_i_a_n _W. _K_e_r_n_i_g_h_a_n
+ _G_u_n_n_a_r _R_i_t_t_e_r
+ _a_n_d _o_t_h_e_r_s
+
+
+IIIInnnnttttrrrroooodddduuuuccccttttiiiioooonnnn
+_n_r_o_f_f and _t_r_o_f_f are text processors under the UNIX Timeâ€Sharing
+System1 that format text for typewriterâ€like terminals and for
+a typesetter/raster devices, respectively. They accept lines
+of text interspersed with lines of format control information
+and format the text into a printable, paginated document havâ€
+ing a userâ€designed style. _n_r_o_f_f and _t_r_o_f_f offer unusual freeâ€
+dom in document styling, including: arbitrary style headers and
+footers; arbitrary style footnotes; multiple automatic sequence
+numbering for paragraphs, sections, etc; multiple column output;
+dynamic font and pointâ€size control; arbitrary horizontal and
+vertical local motions at any point; and a family of automatic
+overstriking, bracket construction, and line drawing functions.
+_t_r_o_f_f produces its output in a deviceâ€independent form, although
+parameterized for a specific device; _t_r_o_f_f output must be proâ€
+cessed by a driver for that device to produce printed output.
+_n_r_o_f_f and _t_r_o_f_f are highly compatible with each other and it is
+almost always possible to prepare input acceptable to both. Conâ€
+ditional input is provided that enables the user to embed input
+expressly destined for either program. _n_r_o_f_f can prepare output
+directly for a variety of terminal types and is capable of utilâ€
+izing the full resolution of each terminal.
+OOOOnnnn tttthhhheeee HHHHeeeeiiiirrrrlllloooooooommmm DDDDooooccccuuuummmmeeeennnnttttaaaattttiiiioooonnnn TTTToooooooollllssss EEEEddddiiiittttiiiioooonnnn
+In Summer 2005, Sun Microsystems, Inc. released the source code
+to the Solaris system,6 including the System V Release 4 verâ€
+sion of _t_r_o_f_f, a derivative of ATT _D_o_c_u_m_e_n_t_e_r’_s _W_o_r_k_b_e_n_c_h _t_r_o_f_f,
+version 2. It had undergone few changes since the end of the
+1980’s, so it could serve as a clean starting point for a new
+version of _t_r_o_f_f which is intended to be highly compatible with
+UNIX _t_r_o_f_f, but which also provides additional features desirable
+for a highâ€quality typesetting application at the beginning of
+the 21st century.
+As with the other components of the _H_e_i_r_l_o_o_m _P_r_o_j_e_c_t, the origiâ€
+nal code, once it had been released under an Open Source license,
+has been made portable such that it compiles and runs on the
+contemporary UNIXâ€style systems, including Linux. It continâ€
+ues to be freely available under the same license as originally
+released, including its complete source code.
+PostScript and its close relative PDF are now the only devâ€
+ice languages which are relevant to highâ€quality printing; actuâ€
+ally, PostScript itself is more and more becoming an intermediâ€
+ate language for the generation of PDF documents. The _H_e_i_r_l_o_o_m
+
+
+ †1 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ version of _t_r_o_f_f is thus primarily directed towards generating
+ PostScript output for further processing by a PDF creator, such
+ as Ghostscript or Adobe Distiller; it can generate PDFâ€specific
+ instructions for prepress usage as well as for online navigation
+ in PDF documents.
+ The principal output device independence of _t_r_o_f_f has nevertheâ€
+ less been retained, and changes to the intermediate language have
+ been minor. Many _t_r_o_f_f postâ€processors will thus continue to be
+ usable with no or little adaptions.
+ PostScript Type 1, OpenType, and TrueType have become deviceâ€
+ independent font formats; virtually all commercial and free fonts
+ are available in one of them. There is thus no need for a _t_r_o_f_fâ€
+ specific deviceâ€independent font format anymore; instead, _H_e_i_r_â€
+ _l_o_o_m _t_r_o_f_f can read font metrics directly from Type 1, OpenType,
+ and TrueType font files. This has greatly relieved the task
+ of installing fonts—it suffices to copy the original files to a
+ userâ€selectable font directory—, and makes it possible to access
+ advanced typographic data, such as kerning tables or substitution
+ instructions for oldâ€style numerals.
+ _t_r_o_f_f provides convenient access to any character in a font file
+ either by its PostScript name, by its Unicode position as speciâ€
+ fied in a fontâ€specific or a generic table, or by conversion from
+ POSIXâ€style localeâ€specific characters to Unicode positions. The
+ last form allows direct input of international language texts in
+ almost any character encoding, including UTFâ€8.
+ Improvements to the line adjusting mechanism can be activated
+ to achieve more aesthetically pleasant output: _t_r_o_f_f can comâ€
+ pute line breaks for a whole paragraph at once, using a variant
+ of an algorithm originally developed by Donald Knuth and Michael
+ Plass for the TEX system7. Interword spaces can be shrunk as
+ an alternative to being expanded. Interâ€letter spaces and letter
+ shapes can be dynamically varied both for computing break points
+ and for adjusting output lines; this is sometimes called ‘‘microâ€
+ typography’’, cf. e.g. the thesis by Hàn The´^ Thành8. All paraâ€
+ graph formatting options can be arbitrarily combined.
+ A variety of international paper formats and hyphenation
+ languages are supported by _t_r_o_f_f. The algorithm for the latter
+ is derived from the respective one developed for TEX by Franklin
+ Liang9; _t_r_o_f_f uses the implementation of _L_i_b_H_n_j by Raph Levien.
+ TEX hyphenation patterns can be converted to the format accepted
+ by _t_r_o_f_f.
+ Many internal limitations of _t_r_o_f_f have been removed; most notâ€
+ ably, _t_r_o_f_f can now set characters in fractional point sizes.
+ The _t_r_o_f_f language has been extended similarly as in the GNU verâ€
+ sion of _t_r_o_f_f, _g_r_o_f_f10; for example, names of requests, macros,
+ strings, number registers, and fonts can consist of more than two
+ characters. Although _H_e_i_r_l_o_o_m _t_r_o_f_f is not completely compatible
+ with _g_r_o_f_f, a special compatibility mode is provided, and docuâ€
+ ments prepared for _g_r_o_f_f can usually be processed without alteraâ€
+ tion.
+ As even the most basic printing devices are now capable of rasâ€
+ tering PostScript documents (at least using conversion tools),
+ and as PostScript and PDF viewer programs allow an accurate onâ€
+ screen display of _t_r_o_f_f documents, there is only one area where
+
+
+ †2 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _n_r_o_f_f is still useful: the formatting of UNIX manual pages.
+ The _H_e_i_r_l_o_o_m version of _n_r_o_f_f is thus specifically aimed at this
+ task; it remains a separate program, is much smaller than _t_r_o_f_f,
+ and is optionally able to run without external device description
+ files. This makes it possible to use it to view manual pages
+ even on small system distributions where the size of programs is
+ an issue.
+ The Solaris version of _n_r_o_f_f had already been updated to support
+ input characters in arbitrary locales. The _H_e_i_r_l_o_o_m version adds
+ the ability to generate UTFâ€8 output. This extends the _n_r_o_f_f
+ character set by many mathematical and typographical characters
+ on terminals capable of displaying them.
+ Although _H_e_i_r_l_o_o_m _n_r_o_f_f does of course not provide the typographâ€
+ ical extensions made for _t_r_o_f_f, it includes the same language
+ extensions. It is thus well able to cope with the tangle of
+ manual page code which has been produced by application writâ€
+ ers who have unfortunately become increasingly unaware of how to
+ write wellâ€styled _n_r_o_f_f documents.
+ This manual as well as some of the pre†and postâ€processor comâ€
+ mands have been derived from UNIX code released by Caldera11, and
+ from materials released by Lucent as parts of the _P_l_a_n _9 sysâ€
+ tem12.
+ BBBBaaaacccckkkkggggrrrroooouuuunnnndddd ttttoooo tttthhhheeee SSSSeeeeccccoooonnnndddd EEEEddddiiiittttiiiioooonnnn
+ _t_r_o_f_f was originally written by the late Joe Ossanna in about
+ 1973, in assembly language for the PDPâ€11, to drive the Graphic
+ Systems CAT typesetter. It was rewritten in C around 1975, and
+ underwent slow but steady evolution until Ossanna’s death late in
+ 1977.
+ In 1979, Brian Kernighan modified _t_r_o_f_f so that it would produce
+ output for a variety of typesetters, while retaining its input
+ specifications. Over the decade from 1979 to 1989, the internals
+ have been modestly revised, though much of the code remains as it
+ was when Ossanna wrote it.
+ _t_r_o_f_f reads parameter files each time it is invoked, to set
+ values for machine resolution, legal type sizes and fonts, and
+ character names, character widths and the like. _t_r_o_f_f output
+ is ASCII characters in a simple language that describes where
+ each character is to be placed and in what size and font. A
+ postâ€processor must be written for each device to convert this
+ typesetterâ€independent language into specific instructions for
+ that device.
+ The output language contains information that was not readily
+ identifiable in the older output. In the newer language, the
+ beginning of each page, line, and word is marked, so postâ€
+ processors can do deviceâ€specific optimizations such as sorting
+ the data vertically or printing it boustrophedonically, indepenâ€
+ dent of _t_r_o_f_f.
+ Capabilities for graphics have been added: _t_r_o_f_f recognizes comâ€
+ mands for drawing diagonal lines, circles, ellipses, circular
+ arcs, and quadratic Bâ€splines. There are also ways to pass arbiâ€
+ trary information to the output, unprocessed by _t_r_o_f_f.
+ A number of limitations have been eased or eliminated. A docuâ€
+ ment may have an arbitrary number of fonts on any page (if the
+ output device permits it, of course). Fonts may be accessed
+
+
+ †3 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ merely by naming them; ‘‘mounting’’ is no longer necessary.
+ There are no limits on the number of characters. Character
+ height and slant may be set independently of width.
+ The remainder of this document contains a description of
+ usage and commandâ€line options; a summary of requests, escape
+ sequences, and preâ€defined number registers; a reference manual;
+ tutorial examples; and a list of commonlyâ€available characters.
+ AAAAcccckkkknnnnoooowwwwlllleeeeddddggggeeeemmmmeeeennnnttttssss ((((ffffoooorrrr tttthhhheeee SSSSeeeeccccoooonnnndddd EEEEddddiiiittttiiiioooonnnn,,,, bbbbyyyy BBBBrrrriiiiaaaannnn KKKKeeeerrrrnnnniiiigggghhhhaaaannnn))))
+ Joe Ossanna’s _t_r_o_f_f remains a remarkable accomplishment. For
+ more than twenty years, it has proven a robust tool, taking
+ unbelievable abuse from a variety of preprocessors and being
+ forced into uses that were never conceived of in the original
+ design, all with considerable grace under fire.
+ Recent versions of _t_r_o_f_f have profited from significant code
+ improvements by Jaap Akkerhuis, Dennis Ritchie, Ken Thompson, and
+ Molly Wagner. Andrew Hume, Doug McIlroy, Peter Nelson, and Ravi
+ Sethi made valuable suggestions on the manual. I fear that the
+ remaining bugs are my fault.
+ AAAAcccckkkknnnnoooowwwwlllleeeeddddggggeeeemmmmeeeennnnttttssss ((((ffffoooorrrr tttthhhheeee HHHHeeeeiiiirrrrlllloooooooommmm EEEEddddiiiittttiiiioooonnnn,,,, bbbbyyyy GGGGuuuunnnnnnnnaaaarrrr RRRRiiiitttttttteeeerrrr))))
+ The _t_r_o_f_f program as written by Joseph Ossanna and Brian Kerâ€
+ nighan turned out to be an excellent base for a typesetting sysâ€
+ tem containing approximately twice as many lines of code. As
+ with the second edition, the design and the principal parts of
+ _t_r_o_f_f have remained the same, despite of additions and modificaâ€
+ tions. This is particularly remarkable since much of it is now
+ more than 40 years old, but serves its purpose as well as on day
+ one.
+ I am grateful to Sun, Caldera, and Lucent for releasing the
+ source code without which this project would not have been possiâ€
+ ble.
+ I wish to thank Brian Kernighan for the permission to adapt this
+ manual.
+ AAAAvvvvaaaaiiiillllaaaabbbbiiiilllliiiittttyyyy aaaannnndddd CCCCoooonnnnttttaaaacccctttt IIIInnnnffffoooorrrrmmmmaaaattttiiiioooonnnn
+ The source code of the _H_e_i_r_l_o_o_m _D_o_c_u_m_e_n_t_a_t_i_o_n _T_o_o_l_s and
+ accompanying materials are freely available from <http://nâ€
+ tâ€roff.github.io/heirloom/doctools.html>. Comments and bug
+ reports should be added at <https://github.com/nâ€tâ€roff/heirloomâ€
+ doctools/issues> or send to <troff@arcor.de>.
+ RRRReeeeffffeeeerrrreeeennnncccceeeessss
+ [1] M. D. McIlroy, B. W. Kernighan (Eds.), _U_n_i_x _P_r_o_g_r_a_m_m_e_r’_s
+ _M_a_n_u_a_l, Vol.2, ATT Bell Laboratories, Murray Hill, NJ 07974,
+ 1979; <http://plan9.bellâ€labs.com/7thEdMan/index.html>.
+ [2] B. W. Kernighan, L. L. Cherry, ‘‘Typesetting Mathematics —
+ User’s Guide (Second Edition)’’, in [1].
+ [3] M. E. Lesk, ‘‘Tbl — A Program to Format Tables’’, in [1].
+ [4] B. W. Kernighan, ‘‘A TROFF Tutorial’’, in [1].
+ [5] J. F. Ossanna, ‘‘Nroff/Troff User’s Manual’’, in [1].
+ [6] <http://www.opensolaris.org>
+ [7] D. E. Knuth, M. F. Plass, ‘‘Breaking paragraphs into lines’’,
+ _S_o_f_t_w_a_r_e—_P_r_a_c_t_i_c_e _a_n_d _E_x_p_e_r_i_e_n_c_e, Vol. 11, Issue 12 (1981),
+ pp. 1119–1184; also in D. E. Knuth, _D_i_g_i_t_a_l _T_y_p_o_g_r_a_p_h_y, Stanâ€
+ ford, 1999 (CSLI lecture notes no. 78), pp. 67–155.
+ [8] Hàn The´^ Thành, _M_i_c_r_oâ€_t_y_p_o_g_r_a_p_h_i_c _e_x_t_e_n_s_i_o_n_s _t_o _t_h_e _T_E_X
+ _t_y_p_e_s_e_t_t_i_n_g _s_y_s_t_e_m, Masaryk University Brno, 2000.
+
+
+ †4 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ [9] F. M. Liang, _W_o_r_d _H_yâ€_p_h_e_nâ€_aâ€_t_i_o_n _b_y _C_o_mâ€_p_u_tâ€_e_r, Stanford
+ University, CA 94305, Report No. STANâ€CSâ€83â€977, 1983.
+ [10] <http://www.gnu.org/software/groff>
+ [11] <http://www.tuhs.org/Archive/Calderaâ€license.pdf>
+ [12] <http://plan9.bellâ€labs.com/plan9>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †5 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ UUUUssssaaaaggggeeee
+ The general form of invoking _n_r_o_f_f (or _t_r_o_f_f) at UNIX command
+ level is
+ nnnnrrrrooooffffffff _o_p_t_i_o_n_s _f_i_l_e_(sor ttttrrrrooooffffffff _o_p_t_i_o_n_s _f_i_l_e_s)
+ where _o_p_t_i_o_n_s represents any of a number of option arguments and
+ _f_i_l_e_s represents the list of files containing the document to be
+ formatted. An argument consisting of a single minus (----) is taken
+ to be a file name corresponding to the standard input. If no
+ file names are given input is taken from the standard input. The
+ options, which may appear in any order so long as they appear
+ before the files, are:
+
+ _OOOO_pppp_tttt_iiii_oooo_nnnn _EEEE_ffff_ffff_eeee_cccc_tttt
+ ----oooo_l_i_s_t Print only pages whose page numbers appear in _l_i_s_t,
+ which consists of commaâ€separated numbers and number
+ ranges. A number range has the form _N-_M and means
+ pages _N through _M; a initial -_N means from the
+ beginning to page _N; and a final _N- means from _N to
+ the end.
+ ----nnnn_N Number first generated page _N.
+ ----ssss_N Stop every _N pages. _n_r_o_f_f will halt prior to every
+ _N pages (default _N=1) to allow paper loading or
+ changing, and will resume upon receipt of a newline.
+ _t_r_o_f_f will include a ‘‘pause’’ code every _N pages;
+ its meaning, if any, depends on the output device.
+ ----mmmm_n_a_m_e Prepend the macro file
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ttttmmmmaaaacccc////_n_a_m_e to the input _f_i_l_e_s,
+ or, if that file would not be accessiâ€
+ ble, ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ttttmmmmaaaacccc////ttttmmmmaaaacccc...._n_a_m_e. If the
+ environment variable TTTTRRRROOOOFFFFFFFFMMMMAAAACCCCSSSS is set, its value is
+ used instead of the default macro directory string,
+ and no attempt is made to open _n_a_m_e with the
+ ‘‘tmac.’’ prefix. The value is prepended to _n_a_m_e
+ without inserting an additional slash as a directory
+ separator, so it must either end with a slash itself
+ or can be used to specify a file name prefix (as
+ e.g. ‘‘tmac.’’).
+ ----rrrr_a_N Register _a (oneâ€character) is set to _N.
+ ----rrrr_a====N Register _a (may be more than one character) is set
+ to _N.
+ ----dddd_a_S String _a (oneâ€character) is set to _S.
+ ----dddd_a====_S String _a (may be more than one character) is set to
+ _S.
+ ----iiii Read standard input after the input files are
+ exhausted.
+ ----qqqq Invoke the simultaneous inputâ€output mode of the rrrrdddd
+ request.
+ ----xxxx_N Set the extension level to _N (cf. §1.1).
+ ----zzzz Check syntax only; do not generate any output except
+ for error messages.
+
+ _n_r_o_f_f Only
+ ----eeee Produce equallyâ€spaced words in adjusted lines,
+ using full terminal resolution.
+
+
+ †6 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ----hhhh Use output tabs during horizontal spacing to speed
+ output and reduce output character count. Tab setâ€
+ tings are assumed to be every 8 nominal character
+ widths.
+ ----TTTT_n_a_m_e Specify the name of the output terminal type.
+ Currently defined names are 33337777 for the (default)
+ Model 37 Teletype®, llllpppp for any line printer or terâ€
+ minal without halfâ€line capability, ttttnnnn333300000000 for the GE
+ TermiNet 300, 333300000000SSSS for the DASIâ€300S, 333300000000 for the
+ DASIâ€300, and 444455550000 for the DASIâ€450 (Diablo Hyterm).
+ A special name, llllooooccccaaaalllleeee, is also supported. It genâ€
+ erates UTFâ€8 output if permitted by the current
+ LC_CTYPE locale, and has the same effect as llllpppp othâ€
+ erwise.
+
+ _t_r_o_f_f Only
+ ----ffff Refrain from feeding out paper and stopping the outâ€
+ put device at the end of the run.
+ ----aaaa Send a printable (ASCII) approximation of the
+ results to the standard output.
+ ----FFFF_p_a_t_h Look in directory _p_a_t_h for font information; the
+ default is ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvvppppssss.
+ ----TTTT_n_a_m_e Specifies the output device. Currently defined
+ names are ppppssss for (default) PostScript output at
+ 72000 dpi, ppppssssmmmmeeeedddd for PostScript output at 3600 dpi,
+ ppppsssslllloooowwww for PostScript output at 432 dpi, ppppoooosssstttt for
+ PostScript output at 720 dpi with legacy fonts, and
+ hhhhttttmmmmllll for producing HTML output with the ddddhhhhttttmmmmllll postâ€
+ processor.
+ ----uuuu_N Set the emboldening amount, i.e. the number of times
+ a character is printed to simulate bold output, to
+ _N.
+ Each option is invoked as a separate argument; for example,
+ nnnnrrrrooooffffffff ----oooo_4,_8-_1_0 ----TTTT_3_0_0_S ----mmmm_a_b_c _f_i_l_e_1 _f_i_l_e_2
+ requests formatting of pages 4, 8, 9, and 10 of a document conâ€
+ tained in the files named _f_i_l_e_1 and _f_i_l_e_2, specifies the output
+ terminal as a DASIâ€300S, and invokes the macro package _a_b_c.
+ Various pre†and postâ€processors are available for use with _n_r_o_f_f
+ and _t_r_o_f_f. These include the equation preprocessors _n_e_q_n and
+ _e_q_n2 (for _n_r_o_f_f and _t_r_o_f_f respectively), the tableâ€construction
+ preprocessor _t_b_l3, and _p_i_c and _g_r_a_p for various forms of graphâ€
+ ics. A reverseâ€line postprocessor _c_o_l is available for multipleâ€
+ column _n_r_o_f_f output on terminals without reverseâ€line ability;
+ _c_o_l expects the Model 37 Teletype escape sequences that _n_r_o_f_f
+ produces by default. _c_o_l can optionally also filter the backâ€
+ space sequences which _n_r_o_f_f emits for underlining and emboldening
+ in order to produce a plain text file. Another option is the _u_l
+ postprocessor which converts backspace sequences to underline and
+ reverse video escape sequences for CRT terminals.
+ The ddddppppoooosssstttt postprocessor has a special role as it translates _t_r_o_f_f
+ intermediate output to PostScript, which is currently the only
+ relevant target device format.
+ For example, in
+ ttttbbbbllll _f_i_l_e_s |||| eeeeqqqqnnnn |||| ttttrrrrooooffffffff _o_p_t_i_o_n_s |||| ddddppppoooosssstttt >_o_u_t_p_u_t._p_s
+
+
+ †7 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ the first |||| indicates the piping of _t_b_l’_s output to _e_q_n’_s input;
+ the second the piping of _e_q_n’_s output to _t_r_o_f_f’s input; and the
+ third indicates the piping of _t_r_o_f_f’s output to _d_p_o_s_t, which then
+ writes PostScript code to _o_u_t_p_u_t._p_s.
+ The following options are currently supported with _d_p_o_s_t:
+
+ _OOOO_pppp_tttt_iiii_oooo_nnnn _EEEE_ffff_ffff_eeee_cccc_tttt
+ ----eeee _e_n_c_o_d_i_n_gSet the PostScript encoding scheme. Possible
+ values of _e_n_c_o_d_i_n_g are:
+ 0000 using the PostScript aaaasssshhhhoooowwww operator, with the
+ same representation as previous versions of
+ _d_p_o_s_t
+ 1111 using aaaasssshhhhoooowwww, integrating motion commands with
+ text commands
+ 2222 using the PostScript aaaawwwwiiiiddddtttthhhhsssshhhhoooowwww operator, comâ€
+ puting space widths in PostScript
+ 3333 using aaaawwwwiiiiddddtttthhhhsssshhhhoooowwww, computing space widths in
+ _d_p_o_s_t
+ 4444 using aaaasssshhhhoooowwww, storing text positions as differâ€
+ ences
+ 5555 like 4444 but using a binary PostScript Level 2
+ representation
+ The default is deviceâ€specific. 3333 is the default
+ with the highâ€resolution ppppssss device; it usually
+ produces the most efficient PostScript output and
+ leads to the most compact PDF documents. With
+ lowerâ€resolution devices, 2222 is preferred over 3333
+ since the latter may produce incorrect alignment
+ because of accumulated rounding errors. 0000, 1111, or
+ 4444 may be preferable if the text font contains many
+ kerning pairs since 2222 or 3333 can result in less
+ efficient or less compact output under these cirâ€
+ cumstances.
+ ----MMMM _m_a_r_k_s Print marks (in combination with the ttttrrrriiiimmmmaaaatttt _t_r_o_f_f
+ request). Valid types of _m_a_r_k_s are: ccccuuuuttttâ€â€â€â€
+ mmmmaaaarrrrkkkkssss, rrrreeeeggggiiiissssttttrrrraaaattttiiiioooonnnnmmmmaaaarrrrkkkkssss, ssssttttaaaarrrrttttaaaarrrrggggeeeettttssss, ccccoooolllloooorrrrbbbbaaaarrrrssss,
+ and aaaallllllll. Mark names can be abbreviated and comâ€
+ bined by colons, e.g. ----MMMMccccuuuutttt::::rrrreeeegggg will print cut
+ marks and registration marks.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †8 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ RRRReeeeqqqquuuueeeesssstttt SSSSuuuummmmmmmmaaaarrrryyyy
+ In the following table, the notation ±_N in the _R_e_q_u_e_s_t _F_o_r_m
+ column means that the forms _N, +_N, or -_N are permitted, to set
+ the parameter to _N, increment it by _N, or decrement it by _N,
+ respectively. Plain _N means that the value is used to set the
+ parameter. _I_n_i_t_i_a_l _V_a_l_u_e_s separated by ;;;; are for _n_r_o_f_f and _t_r_o_f_f
+ respectively. In the _N_o_t_e_s column,
+
+ B Request normally causes a break. The use of ´´´´ as control character
+ (instead of ....) suppresses the break function.
+ D Mode or relevant parameters associated with current diversion level.
+ E Relevant parameters are a part of the current environment.
+ O Must stay in effect until logical output.
+ P Mode must be still or again in effect at the time of physical output.
+ T _t_r_o_f_f only; no effect in _n_r_o_f_f.
+ vvvv,pppp,mmmm,uuuu Default scale indicator; if not specified, scale indicators are _i_g_n_o_r_e_d.
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ 1111.... GGGGeeeennnneeeerrrraaaallll EEEExxxxppppllllaaaannnnaaaattttiiiioooonnnn
+ ....ddddoooo _n_a_m_e ignored–Execute _n_a_m_e in extension level
+ 3.
+ ....xxxxffffllllaaaagggg _N 1 ignored–Set the extension level perâ€
+ manently to _N.
+ 2222.... FFFFoooonnnntttt aaaannnndddd CCCChhhhaaaarrrraaaacccctttteeeerrrr SSSSiiiizzzzeeee CCCCoooonnnnttttrrrroooollll
+ ....llllcccc____ccccttttyyyyppppeeee _n_a_m_e ignored – Set the LC_CTYPE locale.
+ ....ppppssss±_N 10point previous E,T,ppppPoint size; also ’e_s’\\\\ssss±_N.
+ ....ffffzzzzoooooooommmm _F _Z 1 ignoredP,TZoom font _F by factor _Z.
+ ....ssssssss _N [_M] 12/36m ignoredE,TSpaceâ€character size set to
+ _N/36em; sentence space _M/36em.
+ ....ccccssss_F_N_M off – P,T Constant character space (width)
+ mode (font _F).
+ ....bbbbdddd _F _N off – P,T Embolden font _F by _N−1 units.
+ ....bbbbdddd SSSS _F _N off – P,TEmbolden Special Font when
+ current font is _F.
+ ....fffftttt _F Roman previous E Change to font _F = _x, _x_x, or 1â€4.
+ Also \\\\ffff_x,\\\\ffff((((_x_x,\\\\ffff_N.
+ ....ffffpppp _N _F [_f_i_l_e [_s_u_p_p_l_y]] ignoredPFont position; mounts the font
+ _f_i_l_e.
+ ....ffffppppssss _m_a_p ... ignoredP,TMount a font with a special
+ character map.
+ ....ffffeeeeaaaattttuuuurrrreeee _F ±_n_a_m_e ... ignoredP,TControl OpenType features.
+ ....ffffaaaallllllllbbbbaaaacccckkkk _F _A _B ... ignoredP,TSelect the fallback sequence
+ for font _F.
+ ....hhhhiiiiddddeeeecccchhhhaaaarrrr _F _c _d ... ignoredP,THide the characters _c, _d, etc.
+ from font F.
+ ....ssssppppaaaacccceeeewwwwiiiiddddtttthhhh _N on O,T If _N≠0, use the space width from the
+ font metrics file.
+ ....ffffssssppppaaaacccceeeewwwwiiiiddddtttthhhh _F [_N] ignoredO,TSet the width of the space
+ character in font _F to _N.
+ 3333.... PPPPaaaaggggeeee CCCCoooonnnnttttrrrroooollll
+ ....ppppllll±_N 11i 11i vvvv Page length.
+ ....ppppaaaappppeeeerrrrssssiiiizzzzeeee _m_e_d_i_a ignoredT,uuuuSet the paper size.
+ ....mmmmeeeeddddiiiiaaaassssiiiizzzzeeee _m_e_d_i_a ignoredT,uuuuSet the device media size.
+
+
+ †9 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ ....ccccrrrrooooppppaaaatttt _L _T _W _H ignored T,pppp Set the ‘‘CropBox’’ page parameter
+ for PDF generation.
+ ....ttttrrrriiiimmmmaaaatttt _L _T _W _H ignored T,pppp Set the ‘‘TrimBox’’ page parameter
+ for PDF generation.
+ ....bbbblllleeeeeeeeddddaaaatttt _L _T _W _H ignoredT,ppppSet the ‘‘BleedBox’’ page
+ parameter for PDF generation.
+ ....bbbbpppp ±_N _N=1 – B Eject current page; next page number
+ _N.
+ ....ppppnnnn ±_N _N=1 ignored – Next page number _N.
+ ....ppppoooo ±_N 0;1i previous mmmm Page offset.
+ ....nnnneeee _N – _N=1v D,vvvv Need _N vertical space (_V = vertical
+ spacing).
+ ....mmmmkkkk _R none internal D Mark current vertical place in
+ register _R.
+ ....rrrrtttt ±_N none internal D,vvvvReturn (_u_p_w_a_r_d _o_n_l_y) to marked
+ vertical place.
+ 4444.... TTTTeeeexxxxtttt FFFFiiiilllllllliiiinnnngggg,,,, AAAAddddjjjjuuuussssttttiiiinnnngggg,,,, aaaannnndddd CCCCeeeennnntttteeeerrrriiiinnnngggg
+ ....bbbbrrrr – – B Break.
+ ....llllssssmmmm _x_x none none – Leading space macro is _x_x.
+ ....bbbbrrrrpppp – – B Break and spread.
+ ....ffffiiii fill – B,E Fill output lines.
+ ....nnnnffff fill – B,E No filling or adjusting of output
+ lines.
+ ....aaaadddd _c adj,both adjust EAdjust output lines with mode _c;
+ _c=l,r,c,b,p,_n_o_n_e
+ ....nnnnaaaa adjust – E No output line adjusting.
+ ....ppppaaaaddddjjjj _N off on – Control paragraphâ€atâ€once adjustment
+ globally.
+ ....cccceeee _N off _N=1 B,E Center following _N input text lines.
+ ....rrrrjjjj _N off _N=1 B,E Rightâ€align following _N input text
+ lines.
+ ....bbbbrrrrnnnnllll _N off _N=∞ B,E Break at end of next _N input text
+ lines.
+ ....bbbbrrrrppppnnnnllll _N off _N=∞ B,EBreak and spread at end of next _N
+ input text lines.
+ ....mmmmiiiinnnnssssssss _N off off E,TMinimum word space when adjusting
+ lines.
+ ....lllleeeettttaaaaddddjjjj _X _U _S _Y _V off E,TDynamic letter spacing and
+ reshaping when adjusting lines.
+ ....sssseeeennnnttttcccchhhhaaaarrrr _c... ....????!!!!:::: off E Sentenceâ€ending characters.
+ ....ttttrrrraaaannnnsssscccchhhhaaaarrrr _c.. """"’))))]]]]****†††† off E Transparent characters for
+ sentenceâ€ending.
+ ....ttttrrrraaaacccckkkk _F _S _N _T _M ignoredP,T,ppppStatic letter space tracking.
+ ....kkkkeeeerrrrnnnn _N 1 1 P,T Control pairwise kerning.
+ ....ffffkkkkeeeerrrrnnnn _F _N 1 1 P,TControl the use of kerning tables
+ from font _F.
+ ....kkkkeeeerrrrnnnnppppaaaaiiiirrrr _F _c... _G _d... _N ignoredP,TDefine a kerning pair.
+ ....kkkkeeeerrrrnnnnaaaafffftttteeeerrrr _F _c... _N _d... _M ... P,TAdd a constant amount of space
+ after a character.
+ ....kkkkeeeerrrrnnnnbbbbeeeeffffoooorrrreeee _F _c... _N _d... _M ...P,TAdd a constant amount of space
+ before a character.
+
+
+ †10 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ ....llllhhhhaaaannnngggg _F _c... _N _d... _M ... ignoredTHanging characters at left
+ margin.
+ ....rrrrhhhhaaaannnngggg _F _c... _N _d... _M ... ignoredTHanging characters at right
+ margin.
+ 5555.... VVVVeeeerrrrttttiiiiccccaaaallll SSSSppppaaaacccciiiinnnngggg
+ ....vvvvssss _N 1/6in;12pts previousE,ppppVertical base line spacing
+ (_V).
+ ....llllssss _N _N=1 previous E Output _N−1 _Vs after each text outâ€
+ put line.
+ ....sssspppp _N – _N=1_V B,vvvv Space vertical distance _N _i_n _e_i_t_h_e_r
+ _d_i_r_e_c_t_i_o_n.
+ ....ssssvvvv _N – _N=1_V vvvv Save vertical distance _N.
+ ....oooossss – – – Output saved vertical distance.
+ ....nnnnssss space – D Turn noâ€space mode on.
+ ....rrrrssss – – D Restore spacing; turn noâ€space mode
+ off.
+ 6666.... LLLLiiiinnnneeee LLLLeeeennnnggggtttthhhh aaaannnndddd IIIInnnnddddeeeennnnttttiiiinnnngggg
+ ....llllllll ±_N 6.5i previous E,mmmmLine length.
+ ....iiiinnnn ±_N _N=0 previous B,E,mmmmIndent.
+ ....ttttiiii ±_N – ignored B,E,mmmm Temporary indent.
+ ....ppppsssshhhhaaaappppeeee ±_I_1 ±_L_1 ±_I_2 ±_L_2 ... offE,mmmmDefine the shape of the current
+ paragraph in aaaadddd pppp mode.
+ 7777.... MMMMaaaaccccrrrroooossss,,,, SSSSttttrrrriiiinnnnggggssss,,,, DDDDiiiivvvveeeerrrrssssiiiioooonnnn,,,, aaaannnndddd PPPPoooossssiiiittttiiiioooonnnn TTTTrrrraaaappppssss
+ ....ddddeeee _x_x _y_y – ._y_y=........ –Define or redefine macro _x_x; end
+ at call of _y_y.
+ ....aaaammmm _x_x _y_y – ._y_y=........ –Append to a macro.
+ ....ddddssss _x_x _s_t_r_i_n_g – ignored–Define a string _x_x containing
+ _s_t_r_i_n_g.
+ ....aaaassss _x_x _s_t_r_i_n_g – ignored–Append _s_t_r_i_n_g to string _x_x.
+ ....llllddddssss _x_x _s_t_r_i_n_g – ignored–Define local string _x_x containing
+ _s_t_r_i_n_g.
+ ....ssssuuuubbbbssssttttrrrriiiinnnngggg _x_x _N [_M] _M=−1 – Replace string _x_x by its substring
+ between _N and _M.
+ ....lllleeeennnnggggtttthhhh _R _s_t_r_i_n_g _R set to 0–Store the length of _s_t_r_i_n_g in
+ register _R.
+ ....iiiinnnnddddeeeexxxx _R _x_x _s_t_r_i_n_g ignored–Store position where _s_t_r_i_n_g
+ occurs in _x_x in register _R.
+ ....cccchhhhoooopppp _x_x – ignored–Remove the last character of _x_x.
+ ....rrrrmmmm _x_x – ignored – Remove request, macro, or string.
+ ....rrrrnnnn _x_x _y_y – ignored–Rename request, macro, or string
+ _x_x to _y_y.
+ ....ddddiiii _x_x – end D Divert output to macro _x_x.
+ ....ddddaaaa _x_x – end D Divert and append to _x_x.
+ ....bbbbooooxxxx _x_x – end D Divert output to macro _x_x, excluding
+ a partially filled line.
+ ....bbbbooooxxxxaaaa _x_x – end D Divert and append to _x_x, excluding
+ a partially filled line.
+ ....uuuunnnnffffoooorrrrmmmmaaaatttt _x_x – ignored–Strip line break information from
+ diversion _x_x.
+ ....aaaasssscccciiiiiiiiffffyyyy _x_x – ignored–All characters in diversion _x_x
+ changed to plain text.
+
+
+ †11 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ ....wwwwhhhh _N _x_x – – vvvv Set location trap; negative is
+ w.r.t. page bottom.
+ ....cccchhhh _x_x _N – – vvvv Change trap location.
+ ....ddddwwwwhhhh _N _x_x – – D,vvvvSet location trap in current
+ diversion.
+ ....ddddcccchhhh _x_x _N – – D,vvvvChange trap location in current
+ diversion.
+ ....ddddtttt _N _x_x – off D,vvvvSet a diversion trap.
+ ....vvvvpppptttt _N 1 ignored – Enable or disable vertical position
+ traps.
+ ....iiiitttt _N _x_x – off E Set an inputâ€line count trap.
+ ....iiiittttcccc _N _x_x – off E Inputâ€line count trap ignoring \\\\cccc.
+ ....rrrreeeettttuuuurrrrnnnn – – – Return from the current macro.
+ ....sssshhhhiiiifffftttt _N – 1 – Shift the arguments to the current
+ macro.
+ ....aaaallllssss _y_y _x_x – – – _y_y is created as an alias for _x_x.
+ ....bbbbllllmmmm _x_x none none – Blank line macro is _x_x.
+ ....eeeemmmm _x_x none none – End macro is _x_x.
+ ....rrrreeeeccccuuuurrrrssssiiiioooonnnnlllliiiimmmmiiiitttt _N _M – – Set the maximum stack depth.
+ 8888.... NNNNuuuummmmbbbbeeeerrrr RRRReeeeggggiiiisssstttteeeerrrrssss
+ ....nnnnrrrr _R ±_N _M – uuuu Define and set number register _R;
+ autoâ€increment by _M.
+ ....nnnnrrrrffff _R ±_F _G – uuuu Define and set floatingâ€point
+ register _R; autoâ€increment by _G.
+ ....llllnnnnrrrr _R ±_N _M – uuuu Define and set local number regisâ€
+ ter _R.
+ ....llllnnnnrrrrffff _R ±_F _G – uuuu Define and set local floatingâ€
+ point register _R.
+ ....aaaaffff _R _c arabic – – Assign format to register _R (_c=1111, iiii,
+ IIII, aaaa, AAAA).
+ ....rrrrrrrr _R – – – Remove register _R.
+ ....rrrrnnnnnnnn _R _S – – – Rename register _R to _S.
+ ....aaaallllnnnn _S _R – – – Register _S is created as an alias
+ for _R.
+ 9999.... TTTTaaaabbbbssss,,,, LLLLeeeeaaaaddddeeeerrrrssss,,,, aaaannnndddd FFFFiiiieeeellllddddssss
+ ....ttttaaaa _N_t ... 8n; 0.5i noneE,mmmmTab settings; _l_e_f_t type,
+ unless _t=RRRR(right), CCCC(centered).
+ ....ttttcccc _c none none E Tab repetition character.
+ ....llllcccc _c .... none E Leader repetition character.
+ ....ffffcccc _a _b off off – Set field delimiter _a and pad charâ€
+ acter _b.
+ 11110000.... IIIInnnnppppuuuutttt aaaannnndddd OOOOuuuuttttppppuuuutttt CCCCoooonnnnvvvveeeennnnttttiiiioooonnnnssss aaaannnndddd CCCChhhhaaaarrrraaaacccctttteeeerrrr TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
+ ....eeeecccc _c \ \ – Set escape character.
+ ....eeeeoooo on – – Turn off escape character mechanism.
+ ....eeeeccccssss \ – – Save escape character.
+ ....eeeeccccrrrr \ – – Restore saved escape character.
+ ....eeeessssccccooooffffffff _e_s_c ... on ignored–Disable escapes _e_s_c ....
+ ....eeeessssccccoooonnnn _e_s_c ... on ignored–Enable escapes _e_s_c ....
+ ....llllgggg _N –;on on T Ligature mode on if _N>0.
+ ....fffflllliiiigggg _F _s_t_r_i_n_g _c ... ignoredTDefine the ligatures in font _F.
+ ....ffffddddeeeeffffeeeerrrrlllliiiigggg _F _s_t_r_i_n_g ... ignoredTDefer ligature building for the
+
+
+ †12 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ first character of _s_t_r_i_n_g.
+ ....uuuullll _N off _N=1 E Underline (italicize in _t_r_o_f_f) _N
+ input lines.
+ ....ccccuuuu _N off _N=1 E Continuous underline in _n_r_o_f_f; like
+ uuuullll in _t_r_o_f_f.
+ ....uuuuffff _F Italic Italic – Underline font set to _F (to be
+ switched to by uuuullll).
+ ....cccccccc _c .... .... E Set control character to _c.
+ ....cccc2222 _c ´´´´ ´´´´ E Set nobreak control character to _c.
+ ....ttttrrrr _a_b_c_d.... none – O Translate _a to _b, etc. on output.
+ ....ttttrrrriiiinnnn _a_b_c_d.... none – O Translate but retranslate with
+ aaaasssscccciiiiiiiiffffyyyy.
+ ....ttttrrrrnnnntttt _a_b_c_d.... none – O Translate but not on transparent
+ lines.
+ ....ffffttttrrrr _F _a_b_c_d.... none – P,TFontâ€specific ttttrrrr.
+ ....cccchhhhaaaarrrr _c _s_t_r_i_n_g ignored–Define character _c to _s_t_r_i_n_g.
+ ....ffffcccchhhhaaaarrrr _c _s_t_r_i_n_g ignored T Define fallback for character _c to
+ _s_t_r_i_n_g.
+ ....rrrrcccchhhhaaaarrrr _c... ignored–Remove character definitions for
+ _c....
+ ....uuuuttttffff8888ccccoooonnnnvvvv _c_1 _c_2 ignored – _n_r_o_f_f UTFâ€8 locale character transâ€
+ lation.
+ ....oooouuuuttttppppuuuutttt _s_t_r_i_n_g ignored–Write _s_t_r_i_n_g directly to interâ€
+ mediate output.
+ 11111111.... LLLLooooccccaaaallll HHHHoooorrrriiiizzzzoooonnnnttttaaaallll aaaannnndddd VVVVeeeerrrrttttiiiiccccaaaallll MMMMoooottttiiiioooonnnnssss,,,, aaaannnndddd tttthhhheeee WWWWiiiiddddtttthhhh FFFFuuuunnnnccccâ€â€â€â€
+ t1111ttti2222iiio....ooonnnn OOOOvvvveeeerrrrssssttttrrrriiiikkkkeeee,,,, BBBBrrrraaaacccckkkkeeeetttt,,,, LLLLiiiinnnneeeeâ€ddddrrrraaaawwwwiiiinnnngggg,,,, GGGGrrrraaaapppphhhhiiiiccccssss,,,, aaaannnndddd ZZZZeeeerrrrooooâ€wwwwiiiiddddtttthhhh
+ t....FFFFttticcccuuuuiiiooooonnnnooonnnnnccccnnntnnnntttieeeeiiioccccooonttttnnnsccccssshhhhaaaarrrr _c.. """"\\\\((((rrrruuuu\\\\((((uuuullll\\\\((((rrrrnnnnoffEConnected characters for
+ FlFFFuiuuunnnnncecccttttidiiiorooonannnswsssing.
+ 11113333.... HHHHyyyypppphhhheeeennnnaaaattttiiiioooonnnn....
+ ....nnnnhhhh hyphenate – E No hyphenation.
+ ....hhhhyyyy _N hyphenate hyphenateEHyphenate; _N = mode.
+ ....hhhhyyyyllllaaaannnngggg _n_a_m_e off off E Set the hyphenation language.
+ ....sssshhhhcccc _c ††E Set the soft hyphenation character.
+ ....hhhhccccooooddddeeee _a_b_c_d... – E Hyphenation code of _a is _b, etc.
+ ....hhhhyyyylllleeeennnn _N 5 5 E Hyphenate only words of at least _N
+ characters in length.
+ ....hhhhllllmmmm _N off off E Maximum number of consecutive
+ hyphenated lines.
+ ....hhhhyyyypppppppp _N _M _L 0 0 0 0 0 0 EDefine hyphenation penalties for
+ aaaadddd pppp mode.
+ ....bbbbrrrreeeeaaaakkkkcccchhhhaaaarrrr _c. â€â€â€â€â€”——— off E Optional line break characters.
+ ....nnnnhhhhyyyycccchhhhaaaarrrr _c... â€â€â€â€â€”——— off E Hyphenationâ€inhibiting characters.
+ ....hhhhcccc _c \\\\%%%% \\\\%%%% E Hyphenation indicator character _c.
+ ....hhhhwwww _w_o_r_d ... – ignored–Add words to hyphenation dictionâ€
+ ary.
+ 11114444.... TTTThhhhrrrreeeeeeeeâ€PPPPaaaarrrrtttt TTTTiiiittttlllleeeessss....
+ ....ttttllll ´_l_e_f_t´_c_e_n_t_e_r´_r_i_g_h_t´ – – Three part title; delimiter may be
+ any character.
+ ....ppppcccc _c %%%% off – Page number character.
+ ....lllltttt ±_N 6.5in previous E,mmmmLength of title.
+
+
+
+ †13 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ 11115555.... OOOOuuuuttttppppuuuutttt LLLLiiiinnnneeee NNNNuuuummmmbbbbeeeerrrriiiinnnngggg....
+ ....nnnnmmmm ±_N _M _S _I off E Number mode on or off, set parameâ€
+ ters.
+ ....nnnnnnnn _N – _N=1 E Do not number next _N lines.
+ 11116666.... CCCCoooonnnnddddiiiittttiiiioooonnnnaaaallll AAAAcccccccceeeeppppttttaaaannnncccceeee ooooffff IIIInnnnppppuuuutttt
+ ....iiiiffff _c _a_n_y_t_h_i_n_g – – If condition _c true, accept _a_n_y_â€
+ _t_h_i_n_g as input,
+ for multiâ€line use \{_a_n_y_t_h_i_n_g\}.
+ ....iiiiffff !!!!_c _a_n_y_t_h_i_n_g – – If condition _c false, accept _a_n_y_â€
+ _t_h_i_n_g.
+ ....iiiiffff _N _a_n_y_t_h_i_n_g – uuuu If expression _N > 0, accept _a_n_y_â€
+ _t_h_i_n_g.
+ ....iiiiffff !!!!_N _a_n_y_t_h_i_n_g – uuuu If expression _N ≤ 0 [sic], accept
+ _a_n_y_t_h_i_n_g.
+ ....iiiiffff ffff_F _a_n_y_t_h_i_n_g – uuuu If floatingâ€point expression _F > 0,
+ accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff !!!!ffff_F _a_n_y_t_h_i_n_g – uuuu If floatingâ€point expression _F ≤ 0
+ [sic], accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff ´_s_t_r_i_n_g_1´_s_t_r_i_n_g_2´ _a_n_y_t_h_i_n_g –If _s_t_r_i_n_g_1 identical to _s_t_r_i_n_g_2,
+ accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff !!!!´_s_t_r_i_n_g_1´_s_t_r_i_n_g_2´ _a_n_y_t_h_i_n_g–If _s_t_r_i_n_g_1 not identical to
+ _s_t_r_i_n_g_2, accept _a_n_y_t_h_i_n_g.
+ ....iiiieeee _c _a_n_y_t_h_i_n_g – uuuu If portion of ifâ€else; all above
+ forms (like iiiiffff).
+ ....eeeellll _a_n_y_t_h_i_n_g – – Else portion of ifâ€else.
+ ....wwwwhhhhiiiilllleeee _c _a_n_y_t_h_i_n_g – – Execute _a_n_y_t_h_i_n_g while _c (like iiiiffff)
+ is true.
+ ....bbbbrrrreeeeaaaakkkk _n – 1 – Break out of _n nested wwwwhhhhiiiilllleeee loops.
+ ....ccccoooonnnnttttiiiinnnnuuuueeee _n – 1 – Continue at the _nâ€th nested wwwwhhhhiiiilllleeee
+ loop.
+ 11117777.... EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt SSSSwwwwiiiittttcccchhhhiiiinnnngggg....
+ ....eeeevvvv _n_a_m_e _n_a_m_e=0 previous–Environment switched (_p_u_s_h
+ _d_o_w_n).
+ ....eeeevvvvcccc _n_a_m_e – – Copy environment _n_a_m_e to the
+ current environment.
+ 11118888.... IIIInnnnsssseeeerrrrttttiiiioooonnnnssss ffffrrrroooommmm tttthhhheeee SSSSttttaaaannnnddddaaaarrrrdddd IIIInnnnppppuuuutttt
+ ....rrrrdddd _p_r_o_m_p_t – _p_r_o_m_p_t=BEL–Read insertion.
+ ....eeeexxxx – – – Exit from _n_r_o_f_f/_t_r_o_f_f.
+ 11119999.... IIIInnnnppppuuuutttt////OOOOuuuuttttppppuuuutttt FFFFiiiilllleeee SSSSwwwwiiiittttcccchhhhiiiinnnngggg
+ ....ssssoooo _f_i_l_e_n_a_m_e – – Switch source file (_p_u_s_h _d_o_w_n).
+ ....ppppssssoooo _s_t_r_i_n_g – – Execute _s_t_r_i_n_g and read its outâ€
+ put.
+ ....nnnnxxxx _f_i_l_e_n_a_m_e endâ€ofâ€file–Next file.
+ ....ssssyyyy _s_t_r_i_n_g – – Execute program _s_t_r_i_n_g. Output not
+ interpolated.
+ ....ppppiiii _s_t_r_i_n_g – – Pipe output to program _s_t_r_i_n_g.
+ ....ccccffff _f_i_l_e_n_a_m_e – – Copy file contents to _t_r_o_f_f outâ€
+ put.
+ ....ooooppppeeeennnn _s_t_r_e_a_m _f_i_l_e_n_a_m_e ignored–Open _f_i_l_e_n_a_m_e as _s_t_r_e_a_m, truncatâ€
+ ing.
+ ....ooooppppeeeennnnaaaa _s_t_r_e_a_m _f_i_l_e_n_a_m_e ignored–Open _f_i_l_e_n_a_m_e as _s_t_r_e_a_m, appendâ€
+
+
+ †14 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ ing.
+ ....wwwwrrrriiiitttteeee _s_t_r_e_a_m _t_e_x_t ignored–Write _t_e_x_t to file _s_t_r_e_a_m.
+ ....wwwwrrrriiiitttteeeecccc _s_t_r_e_a_m _t_e_x_t ignored–Write _t_e_x_t without terminating
+ newline.
+ ....wwwwrrrriiiitttteeeemmmm _s_t_r_e_a_m _x_x ignored–Write contents of string, macro,
+ or diversion _x_x.
+ ....cccclllloooosssseeee _s_t_r_e_a_m – – Close the file _s_t_r_e_a_m.
+ 22220000.... MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss
+ ....mmmmcccc _c _N – off E,mmmm Set margin character _c and separaâ€
+ tion _N.
+ ....llllppppffffxxxx _s_t_r_i_n_g off off E Set line prefix to _s_t_r_i_n_g.
+ ....ttttmmmm _s_t_r_i_n_g – newline–Print _s_t_r_i_n_g on terminal (stanâ€
+ dard error).
+ ....ttttmmmmcccc _s_t_r_i_n_g – newline–Print _s_t_r_i_n_g without newline on
+ terminal.
+ ....nnnnoooopppp _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e – – Use _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e as input.
+ ....cccchhhhoooommmmpppp _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e – –Use _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e _w_i_t_h_o_u_t
+ _n_e_w_l_i_n_e as input.
+ ....aaaabbbb _s_t_r_i_n_g – newline–Print _s_t_r_i_n_g on standard error,
+ exit program.
+ ....iiiigggg _y_y – ._y_y=........ – Ignore till call of _y_y.
+ ....llllffff _N _f – – Set input line number to _N and
+ filename to _f.
+ ....ppppmmmm _t – all – Print macro names and sizes;
+ if _t present, print only total of
+ sizes.
+ ....ffffllll – – B Flush output buffer.
+ 22221111.... OOOOuuuuttttppppuuuutttt aaaannnndddd EEEErrrrrrrroooorrrr MMMMeeeessssssssaaaaggggeeeessss,,,, DDDDeeeebbbbuuuuggggggggiiiinnnngggg
+ ....wwwwaaaarrrrnnnn ±_b_i_t_s|_n_a_m_e _w – Control warning messages.
+ ....sssspppprrrreeeeaaaaddddwwwwaaaarrrrnnnn _N toggle mmmm Spread limit warning.
+ ....eeeerrrrrrrrpppprrrriiiinnnntttt _s_t_r_i_n_g newline–Print _s_t_r_i_n_g like an error mesâ€
+ sage.
+ ....wwwwaaaattttcccchhhh _x_x off ignore –Notify on change of string or
+ macro _x_x.
+ ....uuuunnnnwwwwaaaattttcccchhhh _x_x off ignore –Disable notification for string
+ or macro _x_x.
+ ....wwwwaaaattttcccchhhhlllleeeennnnggggtttthhhh _N ignore – On change, report contents up to
+ length _N.
+ ....wwwwaaaattttcccchhhhnnnn _R off ignore –Notify on change of register _R.
+ ....uuuunnnnwwwwaaaattttcccchhhhnnnn _R off ignore –Disable notification for register
+ _R.
+ 22222222.... CCCCoooolllloooorrrr SSSSuuuuppppppppoooorrrrtttt
+ ....CCCCLLLL _c_o_l_o_r _t_e_x_t RGB black – Print _t_e_x_t in _c_o_l_o_r.*
+ 22223333.... PPPPiiiiccccttttuuuurrrreeee IIIInnnncccclllluuuussssiiiioooonnnn
+ ....ppppssssbbbbbbbb _f_i_l_e_n_a_m_e – – Read the PostScript bounding box
+ from _f_i_l_e_n_a_m_e.
+ ....BBBBPPPP _s_o_u_r_c_e _h_e_i_g_h_t _w_i_d_t_h _p_o_s_i_t_i_o_n _o_f_f_s_e_t _f_l_a_g_s _l_a_b_e_lDefine a frame
+ and place a picture in it.*
+ ....EEEEPPPP – – – End a picture started by ....BBBBPPPP.*
+ ....PPPPIIII _s_o_u_r_c_e _h_e_i_g_h_t,,,,_w_i_d_t_h,,,,_y_o_f_f_s_e_t,,,,_x_o_f_f_s_e_t _f_l_a_g_sLowâ€level picture
+ inclusion.*
+
+
+ †15 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+
+ 22224444.... SSSSppppeeeecccciiiiaaaallll FFFFeeeeaaaattttuuuurrrreeeessss ffffoooorrrr PPPPDDDDFFFF DDDDooooccccuuuummmmeeeennnnttttssss
+ 22225555.... _gggg_rrrr_oooo_ffff_ffff CCCCoooommmmppppaaaattttiiiibbbbiiiilllliiiittttyyyy
+ ....ccccpppp _N off – – Enable _g_r_o_f_f compatibility mode.
+ ....mmmmssssoooo _n_a_m_e – ignored–Include the macro package _n_a_m_e.*
+ 22226666.... OOOOuuuuttttppppuuuutttt LLLLaaaannnngggguuuuaaaaggggeeee
+ 22227777.... DDDDeeeevvvviiiicccceeee aaaannnndddd FFFFoooonnnntttt DDDDeeeessssccccrrrriiiippppttttiiiioooonnnn FFFFiiiilllleeeessss
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
+ ∗Defined as a macro in an external package; refer to the detailed
+ description on how to include it.
+
+
+ †16 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ AAAAllllpppphhhhaaaabbbbeeeettttiiiiccccaaaallll RRRReeeeqqqquuuueeeesssstttt aaaannnndddd SSSSeeeeccccttttiiiioooonnnn NNNNuuuummmmbbbbeeeerrrr CCCCrrrroooossssssss RRRReeeeffffeeeerrrreeeennnncccceeee
+ ab........20de.........7hylang....13nhychar...13shift......7
+ ad.........4di.........7hylen.....13nm........15so........19
+ af.........8do.........1hypp......13nn........15sp.........5
+ aln........8ds.........7ie........16nop.......20spacewidth.2
+ als........7dwh........7if........16nr.........8spreadwarn21
+ am.........7dt.........7ig........20nrf........8ss.........2
+ as.........7ec........10in.........6ns.........5substring..7
+ asciify....7ecs.......10index......7nx........19sv.........5
+ bd.........2ecr.......10it.........7open......19sy........19
+ bleedat....3el........16itc........7opena.....19ta.........9
+ blm........7em.........7kern.......4os.........5tc.........9
+ box........7eo........10kernafter..4output....10ti.........6
+ boxa.......7EP........23kernbefore.4padj.......4tl........14
+ bp.........3errprint..21kernpair...4papersize..3tm........20
+ BP........23escoff....10lc.........9pc........14tr........10
+ br.........4escon.....10lc_ctype...2pi........19track......4
+ break.....16ev........17lds........7PI........23transchar..4
+ breakchar.13evc.......17length.....7pl.........3trimat.....3
+ brnl.......4ex........18letadj.....4pm........20trin......10
+ brp........4fallback...2lf........20pn.........3trnt......10
+ brpnl......4fc.........9lg........10po.........3uf........10
+ c2........10fchar.....10lhang......4ps.........2ul........10
+ cc........10fdeferlig.10li........10psbb......23unformat...7
+ ce.........4feature....2ll.........6pshape.....6unwatch...21
+ cf........19fi.........4lnr........8pso.......19unwatchn..21
+ ch.........7fkern......4lnrf.......8rchar.....10utf8conv..10
+ char......10fl........20lpfx......20rd........18vpt........7
+ chomp.....20flig......10ls.........5recursionlimivts7.........5
+ chop.......7fp.........2lsm........4return.....7warn......21
+ close.....19fps........2lt........14rhang......4watch.....21
+ CL........22fspacewidth2mc........20rj.........4watchlength21
+ connectchar12ft.........2mediasize..3rm.........7watchn....21
+ continue..16fzoom......2minss......4rn.........7wh.........7
+ cp........25hc........13mk.........3rnn........8while.....16
+ cropat.....3hcode.....13mso.......25rr.........8write.....19
+ cs.........2hidechar...2na.........4rs.........5writec....19
+ cu........10hlm.......13ne.........3rt.........3writem....19
+ da.........7hw........13nf.........4sentchar...4xflag......1
+ dch........7hy........13nh........13shc.......13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †17 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ EEEEssssccccaaaappppeeee SSSSeeeeqqqquuuueeeennnncccceeeessss ffffoooorrrr CCCChhhhaaaarrrraaaacccctttteeeerrrrssss,,,, IIIInnnnddddiiiiccccaaaattttoooorrrrssss,,,, aaaannnndddd FFFFuuuunnnnccccttttiiiioooonnnnssss
+ _SSSS_eeee_cccc_tttt_iiii_oooo_nnnn _EEEE_ssss_cccc_aaaa_pppp_eeee
+ _RRRR_eeee_ffff_eeee_rrrr_eeee_nnnn_cccc_eeee _SSSS_eeee_qqqq_uuuu_eeee_nnnn_cccc_eeee _MMMM_eeee_aaaa_nnnn_iiii_nnnn_gggg
+ 10.1 \\\\\\\\ \ (to prevent or delay the interpretation of \)
+ 2.1 \\\\´´´´ ´ (acute accent); equivalent to \\\\((((aaaaaaaa
+ 2.1 \\\\```` ` (grave accent); equivalent to \\\\((((ggggaaaa
+ 2.1 \\\\---- - Minus sign in the _c_u_r_r_e_n_t font
+ 12.4 \\\\____ _ (underrule character); equivalent to \\\\((((uuuullll
+ 7 \\\\.... Period (dot) (see ddddeeee)
+ 4.1 \\\\(space) Unpaddable spaceâ€size space character
+ 4.1 \\\\∼∼∼∼ Paddable noâ€break space character
+ 11.1 \\\\0000 Digit width space
+ 11.1 \\\\|||| 1/6em narrow space character (zero width in _n_r_o_f_f)
+ 11.1 \\\\^^^^ 1/12em halfâ€narrow space character (zero width in _n_r_o_f_f)
+ 4.1 \\\\&&&& Nonâ€printing, zero width character
+ 4.1 \\\\)))) Transparent nonâ€printing zero width character
+ 10.6 \\\\!!!! Transparent line indicator
+ 10.8 \\\\"""" Beginning of comment
+ 10.8 \\\\#### Comment including newline
+ 7.3 \\\\$$$$_n,\\\\$$$$((((_n_n,\\\\$$$$[[[[_n_n_n]]]] Interpolate argument _n, _n_n, or _n_n_n
+ 7.3 \\\\$$$$∗∗∗∗ Interpolate all arguments separated by spaces
+ 7.3 \\\\$$$$@@@@ Interpolate all arguments in double quotes
+ 7.3 \\\\$$$$0000 Interpolate name of current macro or string
+ 13 \\\\%%%% Default optional hyphenation character
+ 2.1 \\\\((((_x_x Character named _x_x
+ 2.1 \\\\[[[[_x_x_x] Character named _x_x_x
+ 7.1 \\\\∗∗∗∗_x,\\\\∗∗∗∗((((_x_x,\\\\∗∗∗∗[[[[_x_x_x]]]] Interpolate string _x, _x_x, or _x_x_x
+ 7.1 \\\\∗∗∗∗[[[[_x_x_x _a_r_g ...]]]] Interpolate string _x_x_x with arguments _a_r_g ...
+ 13 \\\\:::: Optional lineâ€break character
+ 10.2 \\\\;;;; Ligature suppressor
+ 17 \\\\@@@@{{{{,\\\\@@@@}}}} Inline environment push/pop
+ 9.1 \\\\aaaa Nonâ€interpreted leader character
+ 24.6 \\\\AAAA´_s_t_r_i_n_g´ Anchor definition
+ 12.3 \\\\bbbb´_a_b_c...´ Bracket building function
+ 1.4 \\\\BBBB'_s_t_r_i_n_g' Test if _s_t_r_i_n_g is a numerical expression
+ 4.2 \\\\cccc Interrupt text processing
+ 2.1 \\\\CCCC´_x_x_x´ Character named _x_x_x
+ 11.1 \\\\dddd Forward (down) 1/2em vertical motion (1/2 line in _n_r_o_f_f)
+ 12.5 \\\\DDDD´_c...´ Draw graphics function _c with parameters ...; _c=llll,cccc,eeee,aaaa,∼∼∼∼
+ 10.1 \\\\eeee Printable version of the _c_u_r_r_e_n_t escape character
+ 10.1 \\\\EEEE Escape character, not interpreted in _c_o_p_y _m_o_d_e
+ 2.2 \\\\ffff_x,\\\\ffff((((_x_x,\\\\ffff[[[[_x_x_x]]]],\\\\ffff_N Change to font named _x, _x_x, or _x_x_x, or position _N
+ 8 \\\\gggg_x,\\\\gggg((((_x_x,\\\\gggg[[[[_x_x_x]]]] Format of number register _x, _x_x, or _x_x_x
+ 11.1 \\\\hhhh´_N´ Local horizontal motion; move right _N (_n_e_g_a_t_i_v_e _l_e_f_t)
+ 2.3 \\\\HHHH´_N´ Height of current font is _N
+ 1.1 \\\\IIII'_s_t_r_i_n_g' Test if _s_t_r_i_n_g is a valid identifier name
+ 4.1 \\\\jjjj´±_N´ Penalty for breaking a line after the current word is _N
+ 4.1 \\\\JJJJ´±_N´ Default line breaking penalty is _N
+ 11.3 \\\\kkkk_x,\\\\kkkk((((_x_x,\\\\kkkk[[[[_x_x_x]]]] Mark horizontal _i_n_p_u_t place in register _x, _x_x, or _x_x_x
+ 12.4 \\\\llll´_N_c´ Horizontal line drawing function (optionally with _c)
+ 12.4 \\\\LLLL´_N_c´ Vertical line drawing function (optionally with _c)
+ 8 \\\\nnnn_x,\\\\nnnn((((_x_x,\\\\nnnn[[[[_x_x_x]]]] Interpolate number register _x, _x_x, or _x_x_x
+ 2. \\\\NNNN´_N´ Character number _N on current font
+ 12.1 \\\\oooo´_a_b_c...´ Overstrike characters _a, _b, _c, ...
+
+
+ †18 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 4.1 \\\\pppp Break and spread output line
+ 7.5 \\\\PPPP_x,\\\\PPPP((((_x_x,\\\\PPPP[[[[_x_x_x]]]] Outputâ€line trap _x, _x_x, or _x_x_x
+ 11.1 \\\\rrrr Reverse 1em vertical motion (reverse line in _n_r_o_f_f)
+ 8 \\\\RRRR´_R ±_N´ Set number register _R to ±_N
+ 2.3 \\\\ssss_N,\\\\ssss±_N, Pointâ€size change function
+ \\\\ssss´´´´±_N´´´´,\\\\ssss±´´´´_N´´´´,
+ \\\\ssss[[[[±_N]]]],\\\\ssss±[[[[_N]]]]
+ 2.2 \\\\SSSS´_N´ Slant output _N degrees
+ 9.1 \\\\tttt Nonâ€interpreted horizontal tab
+ 24.6 \\\\TTTT´_s_t_r_i_n_g´ Intraâ€document link definition
+ 11.1 \\\\uuuu Reverse (up) 1/2em vertical motion (1/2 line in _n_r_o_f_f)
+ 2.1 \\\\UUUU´_X´ Character at Unicode position U+_X
+ 11.1 \\\\vvvv´_N´ Local vertical motion; move down _N (_n_e_g_a_t_i_v_e _u_p)
+ 20 \\\\VVVV_x,\\\\VVVV((((_x_x,\\\\VVVV[[[[_x_x_x]]]] Environment variable _x, _x_x, or _x_x_x
+ 11.2 \\\\wwww´_s_t_r_i_n_g´ Interpolate width of _s_t_r_i_n_g
+ 24.6 \\\\WWWW´_s_t_r_i_n_g´ URI link definition
+ 5.2 \\\\xxxx´_N´ Extra lineâ€space function (_n_e_g_a_t_i_v_e _b_e_f_o_r_e, _p_o_s_i_t_i_v_e _a_f_t_e_r)
+ 10.7 \\\\XXXX´_s_t_r_i_n_g´ Output _s_t_r_i_n_g as device control function
+ 10.7 \\\\YYYY_x,\\\\YYYY((((_x_x,\\\\YYYY[[[[_x_x_x]]]] Output contents of macro _x, _x_x, or _x_x_x as device control function
+ 12.2 \\\\zzzz_c Print _c with zero width (without spacing)
+ 12.2 \\\\ZZZZ´_s_t_r_i_n_g´ Print _s_t_r_i_n_g with zero width and height
+ 16 \\\\{{{{ Begin conditional input
+ 16 \\\\}}}} End conditional input
+ 10.7 \\\\(newline) Concealed (ignored) newline
+ – \\\\_c _c, any character _n_o_t listed above
+
+
+ The escape sequences \\\\\\\\, \\\\...., \\\\"""", \\\\####, \\\\$$$$, \\\\∗∗∗∗, \\\\aaaa, \\\\eeee, \\\\gggg, \\\\nnnn, \\\\tttt,
+ \\\\VVVV, and \\\\(newline) are interpreted in _c_o_p_y _m_o_d_e (§7.2).
+
+ PPPPrrrreeeeddddeeeeffffiiiinnnneeeedddd GGGGeeeennnneeeerrrraaaallll NNNNuuuummmmbbbbeeeerrrr RRRReeeeggggiiiisssstttteeeerrrrssss
+
+ _SSSS_eeee_cccc_tttt_iiii_oooo_nnnn _RRRR_eeee_gggg_iiii_ssss_tttt_eeee_rrrr
+ _RRRR_eeee_ffff_eeee_rrrr_eeee_nnnn_cccc_eeee _NNNN_aaaa_mmmm_eeee _DDDD_eeee_ssss_cccc_rrrr_iiii_pppp_tttt_iiii_oooo_nnnn
+ 3 %%%% Current page number.
+ – cccc.... Number of _l_i_n_e_s read from current input file.
+ 11.2 cccctttt Character type (set by _w_i_d_t_h function).
+ 7.4 ddddllll Width (maximum) of last completed diversion.
+ 7.4 ddddnnnn Height (vertical size) of last completed diversion.
+ – ddddwwww Current day of the week (1–7).
+ – ddddyyyy Current day of the month (1–31).
+ – hhhhoooouuuurrrrssss Hours portion of current local time (0–23).
+ 11.3 hhhhpppp Current horizontal place on _i_n_p_u_t line.
+ 15 llllnnnn Output line number.
+ – mmmmiiiinnnnuuuutttteeeessss Minutes portion of current local time (0–59).
+ – mmmmoooo Current month (1–12).
+ 4.1 nnnnllll Vertical position of last printed text baseâ€line.
+ 11.2 rrrrssssbbbb Visual depth of string below base line (generated by _w_i_d_t_h function).
+ 11.2 rrrrsssstttt Visual height of string above base line (generated by _w_i_d_t_h function).
+ 11.2 ssssbbbb Depth of string below base line (generated by _w_i_d_t_h function).
+ – sssseeeeccccoooonnnnddddssss Seconds portion of current local time (0–60).
+ 11.2 sssstttt Height of string above base line (generated by _w_i_d_t_h function).
+ – yyyyeeeeaaaarrrr Current year.
+ – yyyyrrrr Current year minus 1900.
+
+
+ †19 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 25.1 ....gggg Current _g_r_o_f_f compatibility mode (0=off).
+
+
+ PPPPrrrreeeeddddeeeeffffiiiinnnneeeedddd RRRReeeeaaaaddddâ€OOOOnnnnllllyyyy NNNNuuuummmmbbbbeeeerrrr RRRReeeeggggiiiisssstttteeeerrrrssss
+
+ _SSSS_eeee_cccc_tttt_iiii_oooo_nnnn _RRRR_eeee_gggg_iiii_ssss_tttt_eeee_rrrr
+ _RRRR_eeee_ffff_eeee_rrrr_eeee_nnnn_cccc_eeee _NNNN_aaaa_mmmm_eeee _DDDD_eeee_ssss_cccc_rrrr_iiii_pppp_tttt_iiii_oooo_nnnn
+ 19 $$$$$$$$ Process id of _n_r_o_f_f or _t_r_o_f_f.
+ 7.3 ....$$$$ Number of arguments available at the current macro level.
+ – ....AAAA Set to 1 in _t_r_o_f_f, if ----aaaa option used; always 1 in _n_r_o_f_f.
+ 5.2 ....aaaa Postâ€line extra lineâ€space most recently utilized using \\\\xxxx´_N´.
+ 5.4 ....aaaasssscccceeeennnnddddeeeerrrr Ascender of current font and point size.
+ 2.3 ....bbbb Emboldening level.
+ 13 ....bbbbrrrreeeeaaaakkkkcccchhhhaaaarrrr Current optional line break characters.
+ 4.1 ....bbbbrrrrnnnnllll Remaining number of lines with break at newline.
+ 4.1 ....bbbbrrrrppppnnnnllll Remaining number of lines with break and spread at newline.
+ – ....cccc Number of _l_i_n_e_s read from current input file.
+ 11.2 ....ccccddddpppp Visual depth below base line of previous character.
+ 4.1 ....cccceeee Remaining number of lines to be centered.
+ 11.2 ....cccchhhhtttt Visual height above base line of previous character.
+ 12.4 ....ccccoooonnnnnnnneeeeccccttttcccchhhhaaaarrrr Current characters connected for line drawing [sic].
+ 7.4 ....dddd Current vertical place in current diversion; equal to nnnnllll, if no diversion.
+ 4.1 ....ddddeeeeffffppppeeeennnnaaaallllttttyyyy Default line breaking penalty.
+ 5.4 ....ddddeeeesssscccceeeennnnddddeeeerrrr Descender of current font and point size.
+ 7.4 ....ddddiiiilllleeeevvvv Current diversion level.
+ 17 ....eeeevvvv Name of current environment [sic].
+ 2.2 ....ffff Current font as physical quadrant (1â€255).
+ 2.2 ....ffffpppp Next unused physical font quadrant.
+ 2.3 ....ffffzzzzoooooooommmm Current font zoom factor (may be a decimal fraction).
+ 20 ....FFFF Current input file name [sic].
+ 4 ....hhhh Text baseâ€line highâ€water mark on current page or diversion.
+ 13 ....hhhhllllcccc Current number of consecutive hyphenated lines.
+ 13 ....hhhhllllmmmm Maximum number of consecutive hyphenated lines.
+ 13 ....hhhhyyyy Current hyphenation flags.
+ 13 ....hhhhyyyyllllaaaannnngggg Current hyphenation language [sic].
+ 13 ....hhhhyyyylllleeeennnn Current minimum hyphenation word length.
+ 13 ....hhhhyyyypppppppp Penalty for hyphen in aaaadddd pppp mode.
+ 13 ....hhhhyyyypppppppp2222 Penalty for consecutive hyphens in aaaadddd pppp mode.
+ 13 ....hhhhyyyypppppppp3333 Penalty for hyphenating the last word of a paragraph in aaaadddd pppp mode.
+ 11.1 ....HHHH Available horizontal resolution in basic units.
+ 6 ....iiii Current indent as set by iiiinnnn.
+ 6 ....iiiinnnn Current indent including temporary indent, if any.
+ 4.2 ....iiiinnnntttt Nonâ€zero if the previous line was interrupted with \\\\cccc.
+ 4 ....jjjj Current aaaadddd mode.
+ 4.1 ....kkkk Current output horizontal position.
+ 4.2 ....kkkkcccc Output horizontal length of interrupted word, if any.
+ 6 ....llll Current line length.
+ 14 ....lllltttt Current title length.
+ 2.1 ....llllcccc____ccccttttyyyyppppeeee Current LC_CTYPE locale [sic].
+ 4.1 ....lllleeeettttssssssss Current dynamic letter space threshold.
+ 20 ....llllppppffffxxxx Current line prefix [sic].
+ 4.1 ....llllsssshhhhmmmmiiiinnnn Current minimum dynamic letter shape (may be a decimal fraction).
+ 4.1 ....llllsssshhhhmmmmaaaaxxxx Current maximum dynamic letter shape (may be a decimal fraction).
+ 4.1 ....llllssssppppmmmmiiiinnnn Current minimum dynamic letter space (may be a decimal fraction).
+
+
+ †20 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 4.1 ....llllssssppppmmmmaaaaxxxx Current maximum dynamic letter space (may be a decimal fraction).
+ 5.1 ....LLLL Current llllssss value.
+ 4.1 ....mmmmiiiinnnnssssssss Current minimum space size.
+ 4 ....nnnn Length of text portion on previous output line.
+ 5 ....nnnnssss Nonâ€zero if noâ€space mode is active.
+ 13 ....nnnnhhhhyyyycccchhhhaaaarrrr Current hyphenationâ€inhibiting characters.
+ 3 ....oooo Current page offset.
+ 3 ....pppp Current page length.
+ 4 ....ppppaaaaddddjjjj Current paragraphâ€atâ€once global setting.
+ 3 ....ppppnnnn Number of next page.
+ 2.3 ....ppppssss Current point size in units.
+ 2.3 ....ppppssssrrrr Last requested point size in units.
+ 4.1 ....rrrrjjjj Remaining number of lines to be rightâ€aligned.
+ 2.3 ....ssss Current point size (may be a decimal fraction).
+ 13 ....sssshhhhcccc Current soft hyphenation character [sic].
+ 4.1 ....sssseeeennnnttttcccchhhhaaaarrrr Current sentenceâ€ending characters [sic].
+ 2.3 ....ssssrrrr Last requested point size (may be a decimal fraction).
+ 2 ....ssssssss Current space size.
+ 2 ....ssssssssssss Current sentence space size.
+ 9.1 ....SSSS Current tab stops such that they can be passed back to ttttaaaa.
+ 7.5 ....tttt Distance to the next trap.
+ 9.1 ....ttttaaaabbbbssss Current tab stops such that they can be passed back to ttttaaaa.
+ 4.1 ....ttttrrrraaaannnnsssscccchhhhaaaarrrr Current characters transparent for sentenceâ€ending [sic].
+ – ....TTTT Set to 1 in _n_r_o_f_f, if ----TTTT option used; always 0 in _t_r_o_f_f.
+ 4.1 ....uuuu Equal to 1 in fill mode and 0 in nofill mode.
+ 5.1 ....vvvv Current vertical line spacing.
+ 7.5 ....vvvvpppptttt Vertical position traps enabled (1) or disabled (0).
+ 11.1 ....VVVV Available vertical resolution in basic units.
+ 11.2 ....wwww Width of previous character.
+ 21 ....wwwwaaaarrrrnnnn Currently activated warning categories.
+ 4.1 ....xxxx Remaining horizontal space on current output line.*
+ 1.1 ....XXXX Current extension level.
+ 6 ....yyyy Current indent including temporary indent, if any.*
+ 7.4 ....zzzz Name [sic] of current diversion.
+ 4.1 llllssssnnnn Number of leading spaces of a input line in fill mode.
+ 4.1 llllssssssss Horizontal space corresponding to a line with leading spaces in fill mode.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
+ ∗The ....xxxx and ....yyyy registers had been described as ‘‘reserved
+ versionâ€dependent registers’’ in previous editions. Their semanâ€
+ tics have actually been as described from 7th Edition _t_r_o_f_f on.
+
+
+ †21 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+
+
+
+
+
+
+ RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEE MMMMAAAANNNNUUUUAAAALLLL
+
+ 1111.... GGGGeeeennnneeeerrrraaaallll EEEExxxxppppllllaaaannnnaaaattttiiiioooonnnn
+ _1._1._F_o_r_m _o_f _i_n_p_u_t. Input consists of _t_e_x_t _l_i_n_e_s, which are desâ€
+ tined to be printed, interspersed with _c_o_n_t_r_o_l _l_i_n_e_s, which set
+ parameters or otherwise control subsequent processing. Conâ€
+ trol lines begin with a _c_o_n_t_r_o_l _c_h_a_r_a_c_t_e_r—normally .... (period)
+ or ´´´´ (acute accent)—followed by a name that specifies a basic
+ _r_e_q_u_e_s_t or the substitution of a userâ€defined _m_a_c_r_o in place of
+ the control line. The control character ´´´´ suppresses the _b_r_e_a_k
+ function—the forced output of a partially filled line—caused by
+ certain requests. The control character may be separated from
+ the request/macro name by white space (spaces and/or tabs) for
+ esthetic reasons. Names must be followed by either space or newâ€
+ line. Control lines with unrecognized names are ignored.
+ Various special functions may be introduced anywhere in the input
+ by means of an _e_s_c_a_p_e character, normally \\\\. For example, the
+ function \\\\nnnn_R causes the interpolation of the contents of the
+ _n_u_m_b_e_r _r_e_g_i_s_t_e_r _R in place of the function; here _R is either a
+ single character name as in \\\\nnnn_x, a leftâ€parenthesisâ€introduced,
+ twoâ€character name as in \\\\nnnn((((_x_x, or a leftâ€bracketâ€introduced,
+ multiple character name as in \\\\nnnn[[[[_x_x_x].
+ In traditional _t_r_o_f_f, only one and two character names were perâ€
+ mitted for request, macro, string, number register, and font
+ names. Heirloom _t_r_o_f_f can accept names containing a (nearly)
+ arbitrary number of ASCII characters. Escape \\\\IIII'_s_t_r_i_n_g' can by
+ used to test if _s_t_r_i_n_g is a valid identifier name. By default,
+ request and macro names are still required to contain at most
+ two characters for compatibility reasons. The ----xxxx command line
+ option, the ddddoooo request, or the xxxxffffllllaaaagggg request make the longer
+ names available. The current extension level is available in the
+ ....XXXX register.
+ Four levels of extension availability are currently defined:
+ 0 disables all extensions except for localeâ€dependent input and
+ Type 1/OpenType/TrueType font selection using ffffpppp. Since the ddddoooo
+ request is not available at this level, it is not possible to
+ change to another extension level again. It is most useful to
+ print unmaintained documents for which any adaption would be
+ too tedious.
+ 1 enables extensions except for direct access to long names,
+ i.e., ....aaaabbbbccccddddeeee will be interpreted as request aaaabbbb with argument
+ ccccddddeeee, and \\\\****[[[[xxxxyyyyzzzz]]]] refers to the string named [[[[ followed by the
+ text xxxxyyyyzzzz]]]]. Long names can be accessed using the ddddoooo request,
+ e.g. ....ddddoooo ddddeeee aaaabbbbccccddddeeee, ....ddddoooo iiiiffff 1111 \\\\****[[[[xxxxyyyyzzzz]]]]. This level is the
+ default.
+ 2 enables direct access to long names on request lines and escape
+ sequences, i.e., ....aaaabbbbccccddddeeee will be interpreted as macro aaaabbbbccccddddeeee, and
+ \\\\****[[[[xxxxyyyyzzzz]]]] refers to the string named xxxxyyyyzzzz. If an undefined long
+
+
+ †22 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ name is read, its first two characters are interpreted as a
+ short request using the remaining characters as argument. So
+ if a macro aaaabbbbccccddddeeee is defined, ....aaaabbbbccccddddeeee will execute it, but otherâ€
+ wise, ....aaaabbbbccccddddeeee continues to execute aaaabbbb. String and number regisâ€
+ ter references are only interpreted if they start in the first
+ two characters of a name, i.e. no string interpretation is perâ€
+ formed on input ....aaaabbbb\\\\****((((xxxxyyyy.
+ 3 ignores undefined long requests even if they form a prefix of a
+ short request, and interprets string and number register referâ€
+ ences in any position of a name.
+ It is recommended to execute ....ddddoooo xxxxffffllllaaaagggg 3333 at the beginning of new
+ _t_r_o_f_f programs that need not rely on any existing code.
+ _1._2._F_o_r_m_a_t_t_e_r _a_n_d _d_e_v_i_c_e _r_e_s_o_l_u_t_i_o_n. _t_r_o_f_f internally stores and
+ processes dimensions in units that correspond to the particuâ€
+ lar device for which output is being prepared; values from 300
+ to 72000/inch are typical. See §27. _n_r_o_f_f internally uses
+ 240 units/inch, corresponding to the least common multiple of
+ the horizontal and vertical resolutions of various typewriterâ€
+ like output devices. _t_r_o_f_f rounds horizontal/vertical numerical
+ parameter input to the actual horizontal/vertical resolution of
+ the output device indicated by the ----TTTT option (default ppppssss). _n_r_o_f_f
+ similarly rounds numerical input to the actual resolution of the
+ output device indicated by the −−−−TTTT option (default Model 37 Teleâ€
+ type).
+ _1._3._N_u_m_e_r_i_c_a_l _p_a_r_a_m_e_t_e_r _i_n_p_u_t. Both _n_r_o_f_f and _t_r_o_f_f accept numerâ€
+ ical input with the appended scale indicators shown in the folâ€
+ lowing table, where _S is the current type size in points, _V is
+ the current vertical line spacing in basic units, and _C is a _n_o_m_â€
+ _i_n_a_l _c_h_a_r_a_c_t_e_r _w_i_d_t_h in basic units.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †23 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ─┌───────────┬──────────────────────┬────────────────────────────────â”
+ │ Scale │ │ Number of basic units │
+ │Indicator │ Meaning │ _t_r_o_f_f -_T_p_s _n_r_o_f_f │
+ ─├───────────┼──────────────────────┼─────────────────┬───────────────┤
+ │ iiii │ Inch │ 72000 │ 240 │
+ │ cccc │ Centimeter │ 72000×50/127 │ 240×50/127 │
+ │ PPPP │ Pica = 1/6 inch │ 12000 │ 240/6 │
+ │ mmmm │ Em = _S points │ _S │ _C │
+ │ nnnn │ En = Em/2 │ _S/2 │ _C, _s_a_m_e _a_s _E_m │
+ │ MMMM │ 1/100 Em │ _S/100 │ _C/100 │
+ │ pppp,zzzz │ Point = 1/72 inch │ 1000 │ 240/72 │
+ │ uuuu,ssss │ Basic unit │ 1 │ 1 │
+ │ tttt │ Printer’s point │ 72000×100/7227 │ 240×100/7227 │
+ │ TTTT │ Printer’s pica │ 72000×400/2409 │ 240×400/2409 │
+ │ DDDD │ Didot point │ 72000×24/1621 │ 240×24/1621 │
+ │ CCCC │ Cicero │ 72000×288/1621 │ 240×288/1621 │
+ │ vvvv │ Vertical line space │ _V │ _V │
+ │ none │ Default, see below │ │ │
+ ─└───────────┴──────────────────────┴─────────────────┴───────────────┘
+
+ In _n_r_o_f_f, _b_o_t_h the em and the en are taken to be equal to the
+ _C, which is outputâ€device dependent; common values are 1/10 and
+ 1/12 inch. Actual character widths in _n_r_o_f_f need not be all the
+ same and constructed characters such as −> (→) are often extra
+ wide. The default scaling is mmmm for the horizontallyâ€oriented
+ requests and functions llllllll, iiiinnnn, ttttiiii, ttttaaaa, lllltttt, ppppoooo, mmmmcccc, sssspppprrrreeeeaaaaddddwwwwaaaarrrrnnnn,
+ \\\\hhhh, \\\\llll, and horizontal coordinates of \\\\DDDD; vvvv for the verticallyâ€
+ oriented requests and functions ppppllll, wwwwhhhh, cccchhhh, ddddtttt, sssspppp, ssssvvvv, nnnneeee,
+ rrrrtttt, \\\\vvvv, \\\\xxxx, \\\\LLLL, and vertical coordinates of \\\\DDDD; pppp for the vvvvssss,
+ ppppaaaappppeeeerrrrssssiiiizzzzeeee, mmmmeeeeddddiiiiaaaassssiiiizzzzeeee, ttttrrrriiiimmmmaaaatttt, bbbblllleeeeeeeeddddaaaatttt, and ccccrrrrooooppppaaaatttt requests; and
+ uuuu for the requests nnnnrrrr, nnnnrrrrffff, iiiiffff, and iiiieeee. _A_l_l other requests
+ ignore any scale indicators. When a number register containing
+ an already appropriately scaled number is interpolated to proâ€
+ vide numerical input, the unit scale indicator uuuu may need to be
+ appended to prevent an additional inappropriate default scaling.
+ The number, _N, may be specified in decimalâ€fraction form but the
+ parameter finally stored is rounded to an integer number of basic
+ units, except for floatingâ€point computations with nnnnrrrrffff and iiiiffff ffff.
+ Exponential notation as in ‘1eeee++++9’ or ‘1eeee----10’ is supported.
+ The _a_b_s_o_l_u_t_e _p_o_s_i_t_i_o_n indicator |||| may be prepended to a number _N
+ to generate the distance to the vertical or horizontal place _N.
+ For verticallyâ€oriented requests and functions, ||||_N becomes the
+ distance in basic units from the current vertical place on the
+ page or in a _d_i_v_e_r_s_i_o_n (§7.4) to the the vertical place _N. For
+ _a_l_l other requests and functions, ||||_N becomes the distance from
+ the current horizontal place on the _i_n_p_u_t line to the horizontal
+ place _N. For example,
+ ....sssspppp ||||3333....2222cccc
+ will space _i_n _t_h_e _r_e_q_u_i_r_e_d _d_i_r_e_c_t_i_o_n to 3.2centimeters from the
+ top of the page.
+ _1._4._N_u_m_e_r_i_c_a_l _e_x_p_r_e_s_s_i_o_n_s. Wherever numerical input is expected
+ an expression involving parentheses, the arithmetic operators ++++,
+ −−−−, ////, ∗∗∗∗, %%%% (mod), the logical operators <<<<, >>>>, <<<<====, >>>>====, ==== (or ========),
+ <<<<>>>> (not equal), &&&& (and), :::: (or), and the functions _a<<<<????_b (minimum
+
+
+ †24 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ of _a and _b), _a>>>>????_b (maximum of _a and _b), and ((((_c;;;;_e)))) (evaluate
+ the expression _e using _c as default scale indicator, or ignoring
+ scaling indicators if _c is omitted) may be used. Except where
+ controlled by parentheses, evaluation of expressions is leftâ€
+ toâ€right; there is no operator precedence. Spaces are ignored
+ if they occur within parentheses; any other nonâ€numeric characâ€
+ ter terminates the expression. In the case of certain requests,
+ an initial ++++ or −−−− is stripped and interpreted as an increment
+ or decrement indicator respectively. In the presence of default
+ scaling, the desired scale indicator must be attached to _e_v_e_r_y
+ number in an expression for which the desired and default scaling
+ differ. For example, if the number register xxxx contains 2 and the
+ current point size is 10, then
+ ....llllllll ((((4444....22225555iiii++++\\\\nnnnxxxxPPPP++++3333))))////2222uuuu
+ will set the line length to 1/2 the sum of 4.25 inches + 2 picas
+ + 30 points.
+ The \\\\BBBB’_s_t_r_i_n_g’ escape sequence checks whether _s_t_r_i_n_g is a valid
+ numerical expression and evaluates to ‘‘1’’ if it does and to
+ ‘‘0’’ otherwise.
+ _1._5._N_o_t_a_t_i_o_n. Numerical parameters are indicated in this manual
+ in two ways. ±_N means that the argument may take the forms
+ _N, +_N, or −_N and that the corresponding effect is to set the
+ affected parameter to _N, to increment it by _N, or to decrement it
+ by _N respectively. Plain _N means that an initial algebraic sign
+ is _n_o_t an increment indicator, but merely the sign of _N. Genâ€
+ erally, unreasonable numerical input is either ignored or trunâ€
+ cated to a reasonable value. For example, most requests expect
+ to set parameters to nonâ€negative values; exceptions are sssspppp, wwwwhhhh,
+ cccchhhh, nnnnrrrr, and iiiiffff. The requests ppppssss, fffftttt, ppppoooo, vvvvssss, llllssss, llllllll, iiiinnnn, and lllltttt
+ restore the _p_r_e_v_i_o_u_s parameter value in the _a_b_s_e_n_c_e of an arguâ€
+ ment.
+ Single character arguments are indicated by single lower case
+ letters and one/two character arguments are indicated by a pair
+ of lower case letters. Character string arguments are indicated
+ by multiâ€character mnemonics.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ddddoooo _n_a_m_e ignored–Execute the request or macro _n_a_m_e
+ in extension level 3 and restore the
+ previous level afterwards.
+ ....xxxxffffllllaaaagggg _N 1 ignored–Set the extension level perâ€
+ manently to _N.
+ 2222.... FFFFoooonnnntttt aaaannnndddd CCCChhhhaaaarrrraaaacccctttteeeerrrr SSSSiiiizzzzeeee CCCCoooonnnnttttrrrroooollll
+ _2._1._C_h_a_r_a_c_t_e_r _s_e_t. The basic _t_r_o_f_f character set is defined by
+ a description file specific to each output device (§27). There
+ are normally several regular fonts and one or more special fonts.
+ The basic character set is shown in the attached Table I. All
+ ASCII characters are included, with some on the Special Font.
+ With three exceptions, the ASCII characters are input as themâ€
+ selves, and nonâ€ASCII characters are input in the form \\\\((((_x_x where
+ _x_x is a twoâ€character name given in the attached Table II. The
+ three ASCII exceptions are mapped as follows:
+
+
+
+
+ †25 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ─┌──────────────────────────┬─────────────────────────â”
+ │ ASCII Input │ Printed by _t_r_o_f_f │
+ │Character Name │ Character Name │
+ ─├──────────────────────────┼─────────────────────────┤
+ │ ´ acute accent │ ’ close quote │
+ │ ` grave accent │ ‘ open quote │
+ │ − minus │ – hyphen │
+ ─└──────────────────────────┴─────────────────────────┘
+
+ The characters ´´´´, ````, and ---- may be input by \\\\´´´´, \\\\````, and \\\\---- respecâ€
+ tively or by their names (Table II). The characters \\\\ and """" can
+ also be referred to as \\\\((((rrrrssss and \\\\((((ddddqqqq, respectively; this form
+ allows to completely avoid their interpretation as argument delâ€
+ imiter or escape character. In traditional _t_r_o_f_f,, the ASCII
+ characters @@@@, ####, """", ´´´´, ````, <<<<, >>>>, \\\\, {{{{, }}}}, ~~~~, ^^^^, and ____ existed only
+ on the Special Font and were printed as a 1â€em space if that Font
+ was not mounted. With the ppppsssslllloooowwww device, these characters print
+ in the _T_i_m_e_s font by default regardless of the current font (but
+ see the ffffppppssss request below). With other devices, these characters
+ are taken from the current font.
+ With Type 1, OpenType, and TrueType fonts, _t_r_o_f_f allows to access
+ all named PostScript characters of the current font and of those
+ in the ffffaaaallllllllbbbbaaaacccckkkk sequence in the forms \\\\[[[[_n_a_m_e]]]] or \\\\CCCC''''_n_a_m_e''''.
+ _t_r_o_f_f internally converts nonâ€ASCII characters of the current
+ LC_CTYPE locale to named PostScript characters once they are read
+ in regular (not _c_o_p_y) mode. If the current font is an OpenType
+ or a TrueType font and contains a custom Unicode mapping table,
+ the input character is looked up in that table first. Otherwise,
+ a default table is used. A character that is not present in the
+ current font is searched using the ffffaaaallllllllbbbbaaaacccckkkk sequence first, then
+ in the special fonts. If the character cannot be found, it is
+ discarded. Characters for which no name is known are replaced by
+ spaces.
+ The \\\\NNNN''''_n'''' escape sequence has historically been available to
+ refer to character _n of the current font. It is still accepted,
+ but its use is discouraged with Type 1, OpenType, and TrueType
+ fonts since the arrangement of character in font tables is perâ€
+ formed at runâ€time and may change with future versions of _t_r_o_f_f.
+ When register ....gggg is set to 1111 8â€bit character codes can also be
+ accessed with \\\\[[[[cccchhhhaaaarrrr_n]]]] where 32≤_n≤255.
+ _n_r_o_f_f has an analogous, but different, mechanism for defining
+ legal characters and how to print them. By default all characâ€
+ ters are valid. There are such additional characters as may be
+ available on the output device, such characters as may be able
+ to be constructed by overstriking or other combination, and those
+ that can reasonably be mapped into other printable characters.
+ The exact behavior is determined by a driving table prepared for
+ each device. In a UTFâ€8 locale, combining characters are proâ€
+ cessed. The characters ´´´´, ````, and ____ print as themselves.
+ Both _n_r_o_f_f and _t_r_o_f_f allow references to specific Unicode charâ€
+ acters with the \\\\UUUU''''_X'''' escape sequence; it causes the character
+ at position U+_X to be printed (_X is a hexadecimal number). For
+ _t_r_o_f_f, it is required that this character is available in one of
+ the fonts mounted at this point. As an example, \U'20AC' prints
+
+
+ †26 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ the Euro character €. When register ....gggg is set to 1111 Unicode
+ charactes can also be accessed with \\\\[[[[uuuu_X_X_X_X]]]] where _X_X_X_X is a four
+ digit hexadecimal number.
+ _2._2._F_o_n_t_s. _t_r_o_f_f begins execution by reading information for a
+ set of defaults fonts, said to be _m_o_u_n_t_e_d; conventionally, the
+ first four are Times Roman (RRRR), Times Italic (IIII), Times Bold (BBBB),
+ and Times Bold Italic (BBBBIIII), and the last is a Special font (SSSS)
+ containing miscellaneous characters. The set of fonts and posiâ€
+ tions is determined by the device description file, described in
+ §27.
+ The _c_u_r_r_e_n_t font, initially Roman, may be changed (among the
+ mounted fonts) by use of the fffftttt request, or by imbedding at any
+ desired point either \\\\ffff_x, \\\\ffff((((_x_x, \\\\ffff[[[[_x_x_x]]]], or \\\\ffff_N where _x, _x_x, and
+ _x_x_x are the name of a mounted font and _N is a numerical font
+ position.
+ It is _n_o_t necessary to change to the Special font; characters
+ on that font are automatically handled as if they were physiâ€
+ cally part of the current font. The Special font may actually be
+ several fonts; the name SSSS is reserved and is generally used for
+ one of these. The ffffaaaallllllllbbbbaaaacccckkkk request sets a fontâ€specific sequence
+ of additional fonts that are searched for missing characters.
+ _t_r_o_f_f can be informed that any particular font is mounted by
+ use of the ffffpppp request. The list of known fonts is installaâ€
+ tion dependent. In the subsequent discussion of fontâ€related
+ requests, _F represents either a one/twoâ€character font name or
+ the numerical font position. The current font is available (as
+ numerical position) in the readâ€only number register ....ffff; the ....ffffpppp
+ register holds the next unused position.
+ A request for a named but notâ€mounted font is honored if the
+ font description information exists. In this way, there is no
+ limit on the number of fonts that may be printed in any part of
+ a document. Mounted fonts may be handled more efficiently, and
+ they may be referred to by their mount positions, but there is
+ no other difference. Mention of an unmounted font loads it temâ€
+ porarily at font position zero, which serves as a oneâ€font cache.
+ The function \\\\SSSS’±_N’ causes the current font to be slanted by ±_N
+ degrees. Not all devices support slanting.
+ _n_r_o_f_f understands font control and normally underlines Italic
+ characters (see §10.5).
+ _2._3._C_h_a_r_a_c_t_e_r _s_i_z_e. Character point sizes available depend on the
+ specific output device; a typical (historical) set of values is
+ 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 28, and 36.
+ This is a range of 1/12 inch to 1/2 inch. Modern output devâ€
+ ices such as the default ddddeeeevvvvppppssss usually allow the point size to
+ be set to arbitrary values, including fractional points. The ppppssss
+ request is used to change or restore the point size. Alternaâ€
+ tively the point size may be changed between any two characters
+ by imbedding a \\\\ssss_N at the desired point to set the size to _N, or
+ a \\\\ssss±_N (1≤_N≤8) to increment/decrement the size by _N; \\\\ssss0000 restores
+ the _p_r_e_v_i_o_u_s size. On historical output devices, requested point
+ size values that are between two valid sizes yielded the larger
+ of the two.
+ Note that through an accident of history, a construction like
+ \\\\ssss33339999 is parsed as size 39, and thus converted to size 36 (given
+
+
+ †27 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ the sizes above), while \\\\ssss44440000 is parsed as size 4 followed by 0000.
+ The forms \\\\ssss((((_n_n, \\\\ssss±±±±((((_n_n, \\\\ssss´´´´±_n_n´´´´, \\\\ssss±´´´´_n_n´´´´, \\\\ssss[[[[±_n_n]]]], and \\\\ssss±[[[[_n_n]]]]
+ permit specification of sizes that would otherwise be ambiguous.
+ The current size (in points) is available in the ....ssss register.
+ Note that this may be a decimal fraction if the current point
+ size is not an integer. The ....ppppssss register stores the current size
+ in units. The ....ssssrrrr and ....ppppssssrrrr registers store the requested point
+ size in points and units, respectively; it is identical to the
+ current size on modern output devices. _n_r_o_f_f ignores type size
+ control.
+ The function \\\\HHHH´±_N’ sets the height of the current font to _N, or
+ increments it by +_N, or decrements it by -_N; if _N=0, the height
+ is restored to the current point size. In each case, the width
+ is unchanged. Not all devices support independent height and
+ width for characters.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....llllcccc____ccccttttyyyyppppeeee _n_a_m_e ignored – Set the LC_CTYPE locale to _n_a_m_e.
+ The default is the value of the
+ LC_CTYPE environment variable. This
+ request is useful to specify an
+ input character set regardless of
+ environment influences. The current
+ value is available in the ....llllcccc____ccccttttyyyyppppeeee
+ number register.
+ ....ppppssss ±_N 10point previous E,ppppPoint size set to ±_N. Alternaâ€
+ tively imbed \\\\ssss_N, \\\\ssss±_N, or \\\\ssss´´´´_N´´´´.
+ Any positive size value may be
+ requested on modern devices. If
+ invalid, the next larger valid size
+ will result on traditional devices,
+ with a maximum of 36. A paired
+ sequence +_N,−_N will work because the
+ previous requested value is also
+ remembered. Ignored in _n_r_o_f_f.
+ ....ffffzzzzoooooooommmm _F _Z 1 ignoredP,TZoom font _F by factor _Z, which
+ is a positive floating point number.
+ This request is useful for adjusting
+ fonts with different visual sizes
+ but identical nominal points; the
+ zoom is thus not applied to charâ€
+ acters from another font that have
+ been found by the ffffaaaallllllllbbbbaaaacccckkkk sequence
+ or by the special font mechanism.
+ The current value of the current
+ font is available in the ....ffffzzzzoooooooommmm
+ number register.
+ ....ssssssss _N [_M] 12/36m ignoredE,TSpaceâ€character size is set to
+ _N/36ems. This size is the minimum
+ word spacing in adjusted text. The
+ optional second argument sets the
+ space that is added between senâ€
+ tences to _M/36ems. Ignored in
+ _n_r_o_f_f. The number registers ....ssssssss and
+
+
+ †28 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ....ssssssssssss contain the current values of _N
+ and _M, respectively.
+ ....ccccssss_F_N_M off – P Constant character space (width)
+ mode is set on for font _F (if
+ mounted); the width of every charâ€
+ acter will be taken to be _N/36 ems.
+ If _M is absent, the em is that of
+ the character’s point size; if _M
+ is given, the em is _Mâ€points. All
+ affected characters are centered in
+ this space, including those with an
+ actual width larger than this space.
+ Special Font characters occurring
+ while the current font is _F are also
+ so treated. If _N is absent, the
+ mode is turned off. The mode must
+ be still or again in effect when the
+ characters are physically printed.
+ Ignored in _n_r_o_f_f.
+ ....bbbbdddd _F _N off – P The characters in font _F will be
+ artificially emboldened by printing
+ each one twice, separated by _N−1
+ basic units. A reasonable value for
+ _N is 3 when the character size is in
+ the vicinity of 10 points. If _N is
+ missing the embolden mode is turned
+ off. The emboldening value _N is in
+ the ....bbbb register.
+ TTTThhhhiiiissss ppppaaaarrrraaaaggggrrrraaaapppphhhh iiiissss pppprrrriiiinnnntttteeeedddd wwwwiiiitttthhhh ...._b_d
+ _R _3.... TTTThhhheeee mmmmooooddddeeee mmmmuuuusssstttt bbbbeeee ssssttttiiiillllllll oooorrrr
+ aaaaggggaaaaiiiinnnn iiiinnnn eeeeffffffffeeeecccctttt wwwwhhhheeeennnn tttthhhheeee cccchhhhaaaarrrraaaacccctttteeeerrrrssss
+ aaaarrrreeee pppphhhhyyyyssssiiiiccccaaaallllllllyyyy pppprrrriiiinnnntttteeeedddd.... IIIIggggnnnnoooorrrreeeedddd iiiinnnn
+ _n_r_o_f_f....
+ ....bbbbdddd SSSS _F _N off – P The characters in the Special Font
+ will be emboldened whenever the
+ current font is _F. The mode must
+ be still or again in effect when the
+ characters are physically printed.
+ ....fffftttt _F Roman previous E Font changed to _F. Alternatively,
+ imbed \\\\ffff_F. The font name PPPP is
+ reserved to mean the previous font,
+ and the name SSSS for the special font.
+ ....ffffpppp _N _F [_f_i_l_e [_s_u_p_p_l_y]] ignoredPFont position. This is a stateâ€
+ ment that a font named _F is mounted
+ on position _N. With two arguments,
+ it is a fatal error if _F is not
+ known as a legacy _t_r_o_f_f font file
+ (§27.2).
+ With three or more arguments, font
+ metrics are read from the given
+ _f_i_l_e, which must be in Type 1, Openâ€
+ Type, or TrueType format. If the
+ TTTTRRRROOOOFFFFFFFFOOOONNNNTTTTSSSS environment variable is
+ set, each of the colonâ€separated
+
+
+ †29 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ directories in it is tested for the
+ files _f_i_l_e._a_f_m, _f_i_l_e._o_t_f, _f_i_l_e._t_t_f,
+ or, if the _f_i_l_e argument has
+ an ....aaaaffffmmmm, ....oooottttffff, or ....ttttttttffff extenâ€
+ sion itself, for _f_i_l_e. Otherwise,
+ the font is loaded from the file
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvvppppssss////_f_i_l_e....aaaaffffmmmm.
+ The _N argument specifies a register
+ on which the font is to be mounted
+ (1≤_N≤255). If it is zero, the font
+ is mounted on the next free position
+ (not on position zero). At most 255
+ fonts may be mounted simultaneously;
+ it is possible to use more than 255
+ fonts in a document by reusing font
+ registers.
+ The font is then available with ....fffftttt
+ FFFF, \\\\ffffFFFF, etc. FFFF may be freely
+ chosen, and may consist of more than
+ two characters.
+ _F may be the name of a previâ€
+ ously mounted font, such as RRRR. In
+ this case, the same _N register must
+ be reused. For best compatibility
+ with conventional _t_r_o_f_f usage, it is
+ recommended that the base fonts of
+ a document are mounted as ‘‘1 R’’,
+ ‘‘2 I’’, ‘‘3 B’’, ‘‘4 BI’’. The
+ initial fonts on positions 9 (SSSS1111)
+ and 10 (SSSS) should not be changed,
+ as they contain special metrics for
+ drawing commands.
+ If the optional _s_u_p_p_l_y argument is
+ present, glyph data is included in
+ the generated PostScript file. If
+ _s_u_p_p_l_y is one of oooottttffff, ppppffffbbbb, ppppffffaaaa,
+ ttttttttffff, or tttt44442222, the file _s_u_p_p_l_y._p_f_b
+ (or likewise) is searched in the
+ directories in TTTTRRRROOOOFFFFFFFFOOOONNNNTTTTSSSS first as
+ described for the AFM file above,
+ and if it is not found there, in
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvvppppssss////_s_u_p_p_l_y....ppppffffbbbb
+ (or likewise). _s_u_p_p_l_y may also be
+ the basename of a file like _f_i_l_e
+ above.
+ The _f_i_l_e_n_a_m_e may be surrounded by
+ doubleâ€quotes to permit imbedded
+ space characters.
+ ....ffffppppssss _m_a_p ... ignoredP,TMount a font with a special
+ character map. By default, speâ€
+ cial characters like \\\\((((∗∗∗∗aaaa are not
+ assigned when a font is mounted even
+ if a matching named PostScript charâ€
+ acter (like \\\\[[[[aaaallllpppphhhhaaaa]]]]) would have
+
+
+ †30 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ been available. The following speâ€
+ cial character maps exist:
+ mmmmaaaatttthhhh mathematical characters like
+ ≤ ∪ → ∞
+ ggggrrrreeeeeeeekkkk greek characters like α β γ
+ Α Β Γ
+ ppppuuuunnnncccctttt the characters \(or - \` \´
+ " # < > @ \ ^ |
+ llllaaaarrrrggggeeee parts of large characters
+ like ⌉ ⎬ ⎩ ⎨
+ The ppppuuuunnnncccctttt map is used by default for
+ the ppppssss and ppppssssmmmmeeeedddd devices.
+ The remaining arguments are handled
+ as described for ffffpppp.
+ ....ffffeeeeaaaattttuuuurrrreeee _F ±_n_a_m_e ... ignoredP,TEnable (+) or disable (-)
+ the OpenType feature _n_a_m_e in
+ font _F. Only OpenType features
+ that result in contextâ€insensitive
+ singleâ€character substitutions are
+ supported. Typical features are
+ oooonnnnuuuummmm to enable oldâ€style numerals,
+ or ssssmmmmccccpppp to enable small capitals.
+ ....ffffaaaallllllllbbbbaaaacccckkkk _F _A _B ... ignoredP,TSelect the fallback sequence
+ for font _F. If the current font is
+ _F and a character is not found, font
+ _A is searched first, then font _B,
+ etc. If the character still has not
+ been found, it is searched for in
+ the Special Font, then in the fonts
+ mounted at positions 0, 1, and so
+ forth.
+ ....hhhhiiiiddddeeeecccchhhhaaaarrrr _F _c _d ... ignoredP,THide the characters _c, _d, etc.
+ from font F. If the characters
+ appear in input afterwards, they are
+ searched in other fonts using the
+ fallback sequence. This is useful
+ e.g. for combining characters from a
+ regular and a Type 1 expert font.
+ ....ssssppppaaaacccceeeewwwwiiiiddddtttthhhh _N on O,T If _N≠0, use the space width from
+ the font metrics file. The space
+ width otherwise defaults to 1/3em
+ for variableâ€width fonts, or to
+ the width of the ssssppppaaaacccceeee character
+ for monospaced fonts. With this
+ request, the space width is set to
+ the width of the ssssppppaaaacccceeee character as
+ obtained from the font metrics file
+ for variableâ€width fonts too.
+ ....ffffssssppppaaaacccceeeewwwwiiiiddddtttthhhh _F [_N] ignoredO,TSet the width of the space
+ character in font _F to _N, which is
+ given in units of 1/72000 of an inch
+ multiplied by the current point size
+ or 1/1000 of an em (as in AFM kernâ€
+ ing pair definitions). If only one
+
+
+ †31 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ argument is present, the space width
+ is set to the width of the ssssppppaaaacccceeee
+ character as obtained from the font
+ metrics file.
+ When the width of spaces in outâ€
+ put is actually computed, the space
+ size as set by ssssssss is also taken into
+ account. The space width as defined
+ above is used directly with ....ssssssss 11112222,
+ which is the default. Otherwise,
+ it is multiplied by the ssssssss setting
+ divided by 12.
+ 3333.... PPPPaaaaggggeeee ccccoooonnnnttttrrrroooollll
+ Top and bottom margins are _n_o_t automatically provided; it is conâ€
+ ventional to define two _m_a_c_r_o_s and to set _t_r_a_p_s for them at vertâ€
+ ical positions 0 (top) and −_N (_N from the bottom). See §7 and
+ Tutorial Examples §T2. A pseudoâ€page transition onto the _f_i_r_s_t
+ page occurs either when the first _b_r_e_a_k occurs or when the first
+ _n_o_nâ€_d_i_v_e_r_t_e_d text processing occurs. Arrangements for a trap to
+ occur at the top of the first page must be completed before this
+ transition. In the following, references to the _c_u_r_r_e_n_t _d_i_v_e_r_â€
+ _s_i_o_n (§7.4) mean that the mechanism being described works during
+ both ordinary and diverted output (the former considered as the
+ top diversion level).
+ The physical limitations on _t_r_o_f_f and _n_r_o_f_f output are device
+ dependent.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ppppllll ±_N 11in 11in vvvv Page length set to ±_N. The current
+ page length is available in the ....pppp
+ register.
+ ....ppppaaaappppeeeerrrrssssiiiizzzzeeee _m_e_d_i_a ignoredT,uuuuSet the paper size. _m_e_d_i_a can
+ be one of eeeexxxxeeeeccccuuuuttttiiiivvvveeee, lllleeeetttttttteeeerrrr, lllleeeeggggaaaallll,
+ lllleeeeddddggggeeeerrrr, ttttaaaabbbbllllooooiiiidddd, aaaa_N, bbbb_N, cccc_N, or
+ two numbers giving the width and
+ height directly. The page length
+ is set from these parameters, the
+ page offset and line length are
+ adjusted as needed, and the postâ€
+ processor is informed about the page
+ metrics for its internal calculaâ€
+ tions. The last action is the
+ real reason why this request exists;
+ without it, PostScript printers may
+ displace the pages of the document.
+ The default are lllleeeetttttttteeeerrrr measurements.
+ This request should be used early in
+ a document; if it is given multiple
+ times, the last one will setup the
+ device.
+ ....mmmmeeeeddddiiiiaaaassssiiiizzzzeeee _m_e_d_i_a ignoredT,uuuuSet the device media size.
+ _m_e_d_i_a can be one of eeeexxxxeeeeccccuuuuttttiiiivvvveeee,
+ lllleeeetttttttteeeerrrr, lllleeeeggggaaaallll, lllleeeeddddggggeeeerrrr, ttttaaaabbbbllllooooiiiidddd, aaaa_N,
+ bbbb_N, cccc_N, or two numbers giving the
+
+
+ †32 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ width and height directly. This
+ request performs the same actions
+ as ppppaaaappppeeeerrrrssssiiiizzzzeeee and generates a devâ€
+ ice setup command in addition (the
+ PostScript Level 2 operator sssseeeettttâ€â€â€â€
+ ppppaaaaggggeeeeddddeeeevvvviiiicccceeee as well as the DSC comâ€
+ ment %%%%%%%%DDDDooooccccuuuummmmeeeennnnttttMMMMeeeeddddiiiiaaaa:::: with _d_p_o_s_t).
+ The effect of this command can be
+ the selection of a matching paper
+ tray on a printer; on the other
+ hand, the document may not print at
+ all if no such tray is available.
+ In general, it is recommended to use
+ printerâ€specific options from a PPD
+ file when the file is submitted to
+ the print spooling system instead of
+ this request. However, when genâ€
+ erating PostScript as intermediate
+ format with the intent of PDF creaâ€
+ tion, use of this request is recomâ€
+ mended.
+ ....ccccrrrrooooppppaaaatttt _L _T _W _H ignored T,pppp Set the ‘‘CropBox’’ page parameter
+ for PDF generation. The four arguâ€
+ ments give the offset from the left
+ (_L) and top (_T) margins of the docuâ€
+ ment (as set by mmmmeeeeddddiiiiaaaassssiiiizzzzeeee), and
+ width (_W) and height (_H) of the box.
+ The default units are points. The
+ CropBox restricts the area of the
+ page that is shown by a PDF viewer
+ program. It is useful to hide cut
+ marks and other printing instrucâ€
+ tions when the same PDF document is
+ intended to be displayed on screen.
+ ....ttttrrrriiiimmmmaaaatttt _L _T _W _H ignored T,pppp Set the ‘‘TrimBox’’ page parameâ€
+ ter for PDF generation and enables
+ printing of marks when combined with
+ _d_p_o_s_t -_M. The four arguments give
+ the offset from the left (_L) and
+ top (_T) margins of the document (as
+ set by mmmmeeeeddddiiiiaaaassssiiiizzzzeeee), and width (_W)
+ and height (_H) of the box. The
+ default units are points. The Trimâ€
+ Box specifies how the page is to be
+ cut after it has been printed; it is
+ sort of an electronic equivalent for
+ cut marks (which should continue to
+ be printed in addition).
+ ....bbbblllleeeeeeeeddddaaaatttt _L _T _W _H ignoredT,ppppSet the ‘‘BleedBox’’ page
+ parameter for PDF generation. The
+ four arguments give the offset from
+ the left (_L) and top (_T) margins of
+ the document (as set by mmmmeeeeddddiiiiaaaassssiiiizzzzeeee),
+ and width (_W) and height (_H) of the
+
+
+ †33 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ box. The default units are points.
+ The BleedBox should be defined as a
+ a frame around the objects of the
+ actual document including any bleed
+ areas (i.e. content that should
+ extend to the end of the trimmed
+ final page but is extended a bit
+ such to work around possible cutting
+ inaccuracies). Cut marks, color
+ bars, and other information for the
+ printing office should be positioned
+ outside the BleedBox.
+ ....bbbbpppp ±_N _N=1 – B Begin page. The current page is
+ ejected and a new page is begun. If
+ ±_N is given, the new page number
+ will be ±_N. Also see request nnnnssss.
+ ....ppppnnnn ±_N _N=1 ignored – Page number. The next page (when
+ it occurs) will have the page number
+ ±_N. A ppppnnnn must occur before the
+ initial pseudoâ€page transition to
+ effect the page number of the first
+ page. The current page number is in
+ the %%%% register. The number of the
+ next page is in the ....ppppnnnn register;
+ this is either the value set by ppppnnnn
+ or the current page number plus 1.
+ ....ppppoooo ±_N 0;1i previous mmmm Page offset. The current _l_e_f_t
+ _m_a_r_g_i_n is set to ±_N. The _t_r_o_f_f iniâ€
+ tial value provides about 1 inch of
+ paper margin on a typical device.
+ The current page offset is available
+ in the ....oooo register.
+ ....nnnneeee _N – _N=1_V D,vvvv Need _N vertical space. If the disâ€
+ tance, _D, to the next trap posiâ€
+ tion (see §7.5) is less than _N, a
+ forward vertical space of size _D
+ occurs, which will spring the trap.
+ If there are no remaining traps on
+ the page, _D is the distance to the
+ bottom of the page. If _D<_V, another
+ line could still be output and
+ spring the trap. In a diversion,
+ _D is the distance to the _d_i_v_e_r_s_i_o_n
+ _t_r_a_p, if any, or is very large.
+ ....mmmmkkkk _R none internal D Mark the _c_u_r_r_e_n_t vertical place
+ in an internal register (both assoâ€
+ ciated with the current diversion
+ level), or in register _R, if given.
+ See rrrrtttt request.
+ ....rrrrtttt ±_N none internal D,vvvvReturn _u_p_w_a_r_d _o_n_l_y to a marked
+ vertical place in the current diverâ€
+ sion. If ±_N (w.r.t. current place)
+ is given, the place is ±_N from the
+ top of the page or diversion or,
+
+
+ †34 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ if _N is absent, to a place marked
+ by a previous mmmmkkkk. Note that the
+ sssspppp request (§5.3) may be used in
+ all cases instead of rrrrtttt by spacâ€
+ ing to the absolute place stored in
+ a explicit register; e.g. using the
+ sequence ....mmmmkkkk _R ... ....sssspppp ||||\\\\nnnn_Ruuuu; this
+ also works when the motion is downâ€
+ wards.
+ 4444.... TTTTeeeexxxxtttt FFFFiiiilllllllliiiinnnngggg,,,, AAAAddddjjjjuuuussssttttiiiinnnngggg,,,, aaaannnndddd CCCCeeeennnntttteeeerrrriiiinnnngggg
+ _4._1._F_i_l_l_i_n_g _a_n_d _a_d_j_u_s_t_i_n_g. Normally, words are collected from
+ input text lines and assembled into a output text line until
+ some word does not fit. An attempt is then made the hyphenâ€
+ ate the word in effort to assemble a part of it into the output
+ line. The spaces between the words on the output line are then
+ increased to spread out the line to the current _l_i_n_e _l_e_n_g_t_h minus
+ any current _i_n_d_e_n_t. A _w_o_r_d is any string of characters delimited
+ by the _s_p_a_c_e character or the beginning/end of the input line.
+ Any adjacent pair of words that must be kept together (neither
+ split across output lines nor spread apart in the adjustment proâ€
+ cess) can be tied together by separating them with the _u_n_p_a_d_d_a_b_l_e
+ _s_p_a_c_e character "\\\\ " (backslashâ€space). The paddable noâ€break
+ space character \\\\∼∼∼∼ keeps words on the same output line but may
+ be spread during adjustment. The adjusted word spacings are uniâ€
+ form in _t_r_o_f_f and the minimum interword spacing can be controlled
+ with the ssssssss request (§2). In _n_r_o_f_f, word spacings are normally
+ nonuniform because of quantization to characterâ€size spaces; howâ€
+ ever, the command line option ----eeee causes uniform spacing with full
+ output device resolution. Filling, adjustment, and hyphenation
+ (§13) can all be prevented or controlled. The _t_e_x_t _l_e_n_g_t_h on the
+ last line output is available in the ....nnnn register, and text baseâ€
+ line position on the page for this line is in the nnnnllll register.
+ The text baseâ€line highâ€water mark (lowest place) on the current
+ page is in the ....hhhh register.*
+ The current horizontal output position is in the ....kkkk register.
+ The ....xxxx register indicates the remaining horizontal space on the
+ current output line.
+ Text lines beginning with space characters and empty text lines
+ (blank lines) cause a break. The filling of the line currently
+ being collected is stopped and the line is output without adjustâ€
+ ment. The ....bbbbllllmmmm request can be used to redefine the processing
+ of blank input lines. With the ....llllssssmmmm request the effect of lines
+ beginning with spaces is changed. The readâ€only number register
+ llllssssnnnn contains the number of leading spaces. The readâ€only number
+ register llllssssssss contains the horizontal space which corresponds to
+ the leading spaces. Both registers are set also if ....llllssssmmmm is not
+ used.
+ _t_r_o_f_f can optionally decrease word spacings, change the letter
+ spacing, and reshape letters when adjusting lines to fit on both
+ margins. The interword spacing controlled with the ssssssss request
+ is then understood as the optimum setting. Words are collected
+ from input until the first word that would require to condense
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
+ ∗Local motions have no effect on register ....hhhh.
+
+
+ †35 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ spacing or letter shapings is encountered. Between the end of
+ the previous word and the end of this word, hyphenation points
+ are additionally examined until the two possibilities to end the
+ line surrounding the optimum are found. The point closest to the
+ optimum is then chosen. If the word spacing so determined would
+ fall below the minimum allowed, letter spacings and shapings are
+ condensed. If it would exceed the threshold for expanded letter
+ spacing and letter shaping, it is attempted to compensate until
+ the threshold is reached, up to the maximum allowed letter spacâ€
+ ing and letter shaping. Remaining space is distributed among the
+ word spacings. Distribution among letter spacings and shaping is
+ equal until one of the respective limits is reached. Lines that
+ terminate with a _b_r_e_a_k are normally set using the optimum word
+ and line spacings unless the last word collected is the first
+ word that falls below the optimum spacing, which may result in
+ condensed spacing and shaping. The horizontal positions in the
+ ....kkkk and ....xxxx registers are always computed using default character
+ and spacing widths.
+ As an alternative to adjusting one line at a time as described,
+ _t_r_o_f_f also supports adjusting one paragraph at once. In this
+ mode, words are collected from input lines and requests are proâ€
+ cessed until a _b_r_e_a_k occurs. The words are then split into lines
+ such that the interword spaces are closest to the optimum setting
+ across the entire paragraph. Ultimately, the lines so determined
+ are printed. Traps, page breaks, and any positioning become
+ effective only at this time. It is thus well possible that the
+ current page number as read on the input line in the %%%% regisâ€
+ ter is lower than the number of the page on which the correspondâ€
+ ing text is actually output. Any reference to the page number or
+ page position (e.g. writing an index entry) should thus be hanâ€
+ dled using the outputâ€line trap mechanism instead of inâ€line macâ€
+ ros. Likewise the ....kkkk and ....xxxx registers are not meaningful in this
+ mode, except that ....kkkk is never zero when text is present in a parâ€
+ tial paragraph.
+ An input text line ending with ...., ????, !!!!, or ::::, optionally followed
+ by any number of """", ´´´´, )))), ]]]], ****, or ††††, is taken to be the end of a
+ _s_e_n_t_e_n_c_e, and an additional space character is automatically proâ€
+ vided during filling. To prevent this at individual locations,
+ add \\\\&&&& to the end of the input line; the second argument to the
+ ssssssss request (§2) changes the size of this space character and can
+ also disable it globally. Both the sentenceâ€ending and the tranâ€
+ sparent characters are configurable. The \\\\)))) character is always
+ transparent but behaves like \\\\&&&& in all other respects. Multiâ€
+ ple interâ€word space characters found in the input are retained,
+ although the second character in a sequence of spaces following a
+ sentenceâ€ending character has the width of a sentence space; if
+ the sentence space has been set to zero, any sequence of spaces
+ following a sentenceâ€ending character has the width of a single
+ space. Trailing spaces are always discarded. Initial spaces are
+ always retained and also cause a _b_r_e_a_k.
+ With the bbbbrrrrnnnnllll request, a _b_r_e_a_k occurs at the end of each text
+ input line in fill mode, except for lines interrupted with \\\\cccc.
+ Contrasting to nofill mode, text is still adjusted to the line
+ length.
+
+
+ †36 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ When filling is in effect, a \\\\pppp may be imbedded or attached to a
+ word to cause a _b_r_e_a_k at the _e_n_d of the word and have the resultâ€
+ ing output line _s_p_r_e_a_d _o_u_t to fill the current line length.
+ When adjusting paragraphs at once, is possible to specify addiâ€
+ tional _p_e_n_a_l_t_i_e_s for putting a line break after the current word
+ (or part of a hyphenated word) by imbedding or attaching a \\\\jjjj´±_N´
+ to it. A positive value of _N discourages a line break, a negaâ€
+ tive value encourages it. Values of 1000000 and above are taken
+ as infinitive penalties and always prevent a line break; values
+ of -1000000 always cause a line break. A default penalty can be
+ set with the \\\\JJJJ´±_N´ escape sequence; this is useful to discourage
+ line breaks within a certain group of words, e.g. a person’s name
+ or a formula. Relative values in the argument to \\\\jjjj refer to the
+ default penalty. The current default penalty is available in the
+ ....ddddeeeeffffppppeeeennnnaaaallllttttyyyy number register. Separate penalties can be specified
+ for breaking a line after a hyphenated word part using the hhhhyyyypppppppp
+ request (§13).
+ With the bbbbrrrrppppnnnnllll request, each end of a text input line in fill
+ mode causes a _b_r_e_a_k and a spread, except for lines interrupted
+ with \\\\cccc. The meaning of \\\\pppp is then changed such that a line
+ that it is attached to is _n_o_t spread; this is the only method to
+ achieve a regular _b_r_e_a_k without a spread then. Manually adjusted
+ text can thus be typed more comfortably since only the (fewer)
+ lines that are not spread need to be marked.
+ A text input line that happens to begin with a control character
+ can be made to not look like a control line by prefacing it with
+ the nonâ€printing, zeroâ€width filler character \\\\&&&&. Still another
+ way is to specify output translation of some convenient character
+ into the control character using ttttrrrr (§10.5).
+ _4._2._I_n_t_e_r_r_u_p_t_e_d _t_e_x_t. The copying of a input line in _n_o_f_i_l_l (nonâ€
+ fill) mode can be _i_n_t_e_r_r_u_p_t_e_d by terminating the partial line
+ with a \\\\cccc. The _n_e_x_t encountered input text line will be conâ€
+ sidered to be a continuation of the same line of input text.
+ Similarly, a word within _f_i_l_l_e_d text may be interrupted by terâ€
+ minating the word (and line) with \\\\cccc; the next encountered text
+ will be taken as a continuation of the interrupted word. If the
+ intervening control lines cause a break, any partial line will be
+ forced out along with any partial word. The ....iiiinnnntttt number regisâ€
+ ter is set to a nonâ€zero value if the previous line was interâ€
+ rupted and to zero otherwise. The length of a partial word is
+ ignored for the value of the ....kkkk number register in _f_i_l_l mode; it
+ is separately available with the ....kkkkcccc register.
+ _4._3._K_e_r_n_i_n_g. _t_r_o_f_f reads kerning tables from Type 1, OpenType,
+ and TrueType font files. These tables contain small horizontal
+ spacing adjustments for pairs of individual characters, e.g., the
+ pair ‘‘Vo’’ would print as ‘‘Vo’’ without kerning applied. Placâ€
+ ing \\\\&&&& between two characters disables kerning at that location;
+ the kkkkeeeerrrrnnnn request can disable it globally. The kkkkeeeerrrrnnnnppppaaaaiiiirrrr request
+ adds a kerning pair; in contrast to predefined pairs, it allows
+ the characters to originate from different fonts.
+ It is sometimes useful to add or substact a constant amount
+ of spacing whenever a specific character appears; for example,
+ french quotation marks usually require some additional distance
+ to the words contained in them. The kkkkeeeerrrrnnnnaaaafffftttteeeerrrr and kkkkeeeerrrrnnnnbbbbeeeeffffoooorrrreeee
+
+
+ †37 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ requests allow to define such adjustments. Again, a \\\\.... disables
+ them at individual points; they are generally not applied if the
+ other character is a space.
+ _4._4._H_a_n_g_i_n_g _c_h_a_r_a_c_t_e_r_s. Characters can hang beyond the left or
+ right margins of adjusted text; the llllhhhhaaaannnngggg and rrrrhhhhaaaannnngggg requests
+ specify this. Left margin adjustments are evaluated before the
+ letters that fit on the current line are computed, and can thus
+ principally be of any length. In contrast, right margin adjustâ€
+ ments are evaluated after this computation is finished, and the
+ adjustment is simply added to the word space of the output line.
+ Thus a positive right adjustment that is large in relation to the
+ line length will cause visible holes, and a negative adjustment
+ will ultimately cause the words on the line to be printed over
+ each other. This is not a problem for the typical application of
+ hanging punctuation for visual alignment, though; if e.g. a line
+ with eight word spaces is shifted by .08 em, each word space is
+ enlarged by only .01 em.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....bbbbrrrr – – B Break. The filling of the line
+ currently being collected is stopped
+ and the line is output without
+ adjustment. Text lines beginning
+ with space characters and empty text
+ lines (blank lines) also cause a
+ break (This can be changed with the
+ ....bbbbllllmmmm and ....llllssssmmmm requests.).
+ ....llllssssmmmm _x_x none none – Whenever a line beginning with
+ spaces is encountered, the macro _x_x
+ is invoked instead of the default
+ behavior to cause a break. If the
+ spaces are followed by an escape,
+ that may be processed before the
+ macro is called (e.g. font changes).
+ To avoid this prepend that escape
+ with \\\\&&&&.
+ ....bbbbrrrrpppp – – B Break and spread; same effect as the
+ \\\\pppp escape sequence except that it
+ causes the remaining part of a paraâ€
+ graph shape as set with ppppsssshhhhaaaappppeeee to be
+ discarded.
+ ....ffffiiii fill on – B,E Fill subsequent output lines. The
+ register ....uuuu is 1 in fill mode and 0
+ in nofill mode.
+ ....nnnnffff fill on – B,E Nofill. Subsequent output lines are
+ _n_e_i_t_h_e_r filled _n_o_r adjusted. Input
+ text lines are copied directly to
+ output lines _w_i_t_h_o_u_t _r_e_g_a_r_d for the
+ current line length.
+ ....aaaadddd _c adj,both adjust ELine adjustment is begun. If
+ fill mode is not on, adjustment
+ will be deferred until fill mode is
+ back on. If the type indicator _c
+ is present, the adjustment type is
+
+
+ †38 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ changed as shown in the following
+ table.
+
+ ─┌───────────┬────────────────────────────────────â”
+ │Indicator │ Adjust Type │
+ ─├───────────┼────────────────────────────────────┤
+ │ llll │ adjust left margin only │
+ │ rrrr │ adjust right margin only │
+ │ cccc │ center │
+ │ bbbb or nnnn │ adjust both margins │
+ │ pppp or ppppbbbb │ adjust both margins paragraphâ€wise │
+ │ ppppllll │ adjust left margin paragraphâ€wise │
+ │ pppprrrr │ adjust right margin paragraphâ€wise │
+ │ ppppcccc │ center paragraphâ€wise │
+ │ absent │ unchanged │
+ ─└───────────┴────────────────────────────────────┘
+
+ The number register ....jjjj contains the
+ current value of the aaaadddd setting; its
+ value can be recorded and used subâ€
+ sequently to set adjustment.
+ ....nnnnaaaa adjust – E Noadjust. Adjustment is turned off;
+ the right margin will be ragged.
+ The adjustment type for aaaadddd is not
+ changed. Output line filling still
+ occurs if fill mode is on.
+ ....ppppaaaaddddjjjj _N off on – Control paragraphâ€atâ€once adjustâ€
+ ment globally. If _N≠0 or missâ€
+ ing, paragraphâ€atâ€once adjustment is
+ enabled in all environments, and
+ aaaadddd _x effectively acts like aaaadddd pppp_x.
+ The current value is available in
+ the ....ppppaaaaddddjjjj register.
+ ....cccceeee _N off _N=1 B,E Center the next _N input text lines
+ within the current (lineâ€length
+ minus indent). If _N=0, any residual
+ count is cleared. A break occurs
+ after each of the _N input lines.
+ If the input line is too long, it
+ will be left adjusted. The number
+ of lines to be rightâ€aligned, if
+ any, is set to zero. The remainâ€
+ ing number of lines to be centered
+ is available in the ....cccceeee register.
+ ....rrrrjjjj _N off _N=1 B,E Rightâ€align the next _N input text
+ lines within the current (lineâ€
+ length minus indent); otherwise like
+ cccceeee. The number of lines to be
+ centered, if any, is set to zero.
+ The remaining number of lines to be
+ rightâ€justified is available in the
+ ....rrrrjjjj register.
+ ....bbbbrrrrnnnnllll _N off _N=∞ B,E Break at end of next _N input text
+ lines when filling is in effect.
+
+
+ †39 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ The remaining number of lines so
+ treated is available in the ....bbbbrrrrnnnnllll
+ register.
+ ....bbbbrrrrppppnnnnllll _N off _N=∞ B,EBreak and spread at end of next
+ _N input text lines when filling is
+ in effect. The remaining number
+ of lines so treated is available in
+ the ....bbbbrrrrppppnnnnllll register. bbbbrrrrppppnnnnllll disables
+ bbbbrrrrnnnnllll and viceâ€versa.
+ ....mmmmiiiinnnnssssssss _N off off E,TMinimum word space. When adjustâ€
+ ing both margins, _t_r_o_f_f may decrease
+ the size of the word space down to
+ _N/36ems (rather than to the value
+ set by ssssssss). The current value is
+ available in the ....mmmmiiiinnnnssssssss register.
+ ....lllleeeettttaaaaddddjjjj _X _U _S _Y _V off E,TDynamic letter spacing and
+ reshaping when adjusting lines.
+ The space between letters can be
+ automatically expanded or condensed
+ (in addition to the space between
+ words), and the width of letters
+ can be automatically changed in aaaadddd bbbb
+ mode. The _X argument gives the
+ minimum percentage of an en of the
+ current point size by which adjacent
+ characters may be tightened; the _U
+ argument gives the minimum percenâ€
+ tage of the letter width by which
+ letters may be condensed. When the
+ computed size of the word space
+ would have to be larger than _S,
+ additional space will be inserted
+ between letters up to a limit of
+ _Y percent of an en of the current
+ point size, and letters will be
+ expanded by up to _V percent of their
+ width until the word space does not
+ extend beyond _S anymore. _S is given
+ in units of 1/36ems as with ssssssss. The
+ number registers ....llllssssppppmmmmiiiinnnn, ....llllsssshhhhmmmmiiiinnnn,
+ ....lllleeeettttssssssss, ....llllssssppppmmmmaaaaxxxx, and ....llllsssshhhhmmmmaaaaxxxx contain
+ the current values of _X, _U, _S, _Y,
+ and _V, respectively.
+ ....sssseeeennnnttttcccchhhhaaaarrrr _c... ....????!!!!:::: off E Sentenceâ€ending characters. When
+ one of the characters _c... appears
+ at the end of an input text line,
+ an additional space character of the
+ size defined with the ssssssss request
+ is inserted. The current set of
+ sentenceâ€ending characters is availâ€
+ able in the ....sssseeeennnnttttcccchhhhaaaarrrr number regisâ€
+ ter.
+ ....ttttrrrraaaannnnsssscccchhhhaaaarrrr _c.. """"’))))]]]]****†††† off E Transparent characters for
+ sentenceâ€ending. A sentenceâ€ending
+
+
+ †40 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ character is recognized as such even
+ if followed by one or more of the
+ characters _c... before the end of
+ an input text line. The current set
+ of transparent characters for senâ€
+ tence ending is available in the
+ ....ttttrrrraaaannnnsssscccchhhhaaaarrrr number register.
+ ....ttttrrrraaaacccckkkk _F _S _N _T _M ignoredP,T,ppppStatic letter space trackâ€
+ ing. If the current font is _F and
+ the point size is below or equal
+ to _S, white space of width _N is
+ added to each character. If the
+ point size is above or equal to _T,
+ white space of width _M is added.
+ If the point size is between _S
+ and _T, the amount of white space
+ added is computed as a value between
+ _N and _M using the current point
+ size _s: (_s_M-_s_N+_T_N-_S_M)/(_T-_S). The
+ default unit for all numeric arguâ€
+ ments is points. Negative numbers
+ are accepted and cause a decrease of
+ letter space. No adjustment is perâ€
+ formed on the last character of an
+ output line. Tracking also applies
+ to characters from another font that
+ have been selected by the ffffaaaallllllllbbbbaaaacccckkkk
+ sequence.
+ ....kkkkeeeerrrrnnnn _N 1 1 P,T Control pairwise kerning; disabled
+ if _N=0, otherwise enabled.
+ ....ffffkkkkeeeerrrrnnnn _F _N 1 1 P,TControl the use of kerning tables
+ from font _F; disabled if _N=0,
+ enabled if _N=1 or missing. For
+ _N≥2, only kerning pairs with absoâ€
+ lute values greater or equal to _N
+ are used. _t_r_o_f_f kerning adjustments
+ as defined by the following requests
+ are not affected.
+ ....kkkkeeeerrrrnnnnppppaaaaiiiirrrr _F _c... _G _d... _N ignoredP,TAdd a kerning pair to the
+ kerning table for character _c from
+ font _F and character _d from font
+ _G. _c and _d may consist of multiâ€
+ ple characters; in this case, table
+ entries are added for any pair comâ€
+ bination of characters from _c and
+ _d. The _N argument is 1/72000 of an
+ inch multiplied by the current point
+ size or 1/1000 of an em (as in AFM
+ kerning pair definitions); it may be
+ negative. To add a kerning pair
+ that includes the space character,
+ use ‘‘\ ’’.
+ ....kkkkeeeerrrrnnnnaaaafffftttteeeerrrr _F _c... _N _d... _M ... P,TAdd a constant amount of space
+ after a character if the current
+
+
+ †41 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ font is _F and _c is the first characâ€
+ ter of a pair of characters subject
+ to kerning. _c may consist of mulâ€
+ tiple characters; in this case, the
+ same amount is added whenever one of
+ the given characters appears. The _N
+ argument is 1/72000 of an inch mulâ€
+ tiplied by the current point size or
+ 1/1000 of an em (as in AFM kerning
+ pair definitions); it may be negaâ€
+ tive. Same for _d/_M etc.
+ ....kkkkeeeerrrrnnnnbbbbeeeeffffoooorrrreeee _F _c... _N _d... _M ...P,TAdd a constant amount of space
+ before a character if the current
+ font is _F and _c is the second charâ€
+ acter of a pair of characters subâ€
+ ject to kerning. _c may consist of
+ multiple characters; in this case,
+ the same amount is added whenever
+ one of the given characters appears.
+ The _N argument is 1/72000 of an inch
+ multiplied by the current point size
+ or 1/1000 of an em (as in AFM kernâ€
+ ing pair definitions); it may be
+ negative. Same for _d/_M etc.
+ ....llllhhhhaaaannnngggg _F _c... _N _d... _M ... ignoredTHanging characters at left
+ margin. When the current font is
+ _F and _c appears at the left margin
+ of an output line in leftâ€adjusted,
+ bothâ€adjusted, or nofill mode, the
+ margin is relocated to the right by
+ _N, which is 1/72000 of an inch mulâ€
+ tiplied by the current point size or
+ 1/1000 of an em (as in AFM charâ€
+ acter width definitions); it may be
+ negative. _c may consist of multiple
+ characters; in this case, the marâ€
+ gin is relocated whenever one of the
+ given characters appears. Same for
+ _d/_M etc.
+ ....rrrrhhhhaaaannnngggg _F _c... _N _d... _M ... ignoredTHanging characters at right
+ margin. When the current font is _F
+ and _c appears at the right margin
+ of an output line in rightâ€adjusted,
+ bothâ€adjusted, or nofill mode, the
+ margin is relocated to the right by
+ _N, which is 1/72000 of an inch mulâ€
+ tiplied by the current point size or
+ 1/1000 of an em (as in AFM charâ€
+ acter width definitions); it may be
+ negative. _c may consist of multiple
+ characters; in this case, the marâ€
+ gin is relocated whenever one of the
+ given characters appears. Same for
+ _d/_M etc.
+
+
+ †42 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 5555.... VVVVeeeerrrrttttiiiiccccaaaallll SSSSppppaaaacccciiiinnnngggg
+ _5._1._B_a_s_eâ€_l_i_n_e _s_p_a_c_i_n_g. The vertical spacing (_V) between the baseâ€
+ lines of successive output lines can be set using the vvvvssss request.
+ _V should be large enough to accommodate the character sizes
+ on the affected output lines. For the common type sizes (9â€
+ 12 points), usual typesetting practice is to set _V to 2 points
+ greater than the point size; _t_r_o_f_f default is 10â€point type on a
+ 12â€point spacing (as in this document). The current _V is availâ€
+ able in the ....vvvv register. Multipleâ€_V line separation (e.g. douâ€
+ ble spacing) may be requested with llllssss, but it is better to use
+ a large vvvvssss instead; certain preprocessors assume single spacing.
+ The current line spacing is available in the ....LLLL register.
+ _5._2._E_x_t_r_a _l_i_n_eâ€_s_p_a_c_e. If a word contains a vertically tall conâ€
+ struct requiring the output line containing it to have extra
+ vertical space before and/or after it, the _e_x_t_r_aâ€_l_i_n_eâ€_s_p_a_c_e funcâ€
+ tion \\\\xxxx´_N´ can be imbedded in or attached to that word. If _N is
+ negative, the output line containing the word will be preceded by
+ _N extra vertical space; if _N is positive, the output line conâ€
+ taining the word will be followed by _N extra vertical space. If
+ successive requests for extra space apply to the same line, the
+ maximum values are used. The most recently utilized postâ€line
+ extra lineâ€space is available in the ....aaaa register.
+ In \\\\xxxx´...´ and other functions having a pair of delimiters around
+ their parameter (here ´´´´), the delimiter choice is arbitrary,
+ except that it can not look like the continuation of a number
+ expression for _N.
+ _5._3._B_l_o_c_k_s _o_f _v_e_r_t_i_c_a_l _s_p_a_c_e. A block of vertical space is ordiâ€
+ narily requested using sssspppp, which honors the _n_oâ€_s_p_a_c_e mode and
+ which does not space _p_a_s_t a trap. A contiguous block of vertical
+ space may be reserved using ssssvvvv.
+ _5._4._A_s_c_e_n_d_e_r_s _a_n_d _d_e_s_c_e_n_d_e_r_s. Type 1, OpenType, and TrueType
+ metrics supply information about the typical extents of characâ€
+ ters above the baseâ€line (ascender) and below it (descender).
+ Usually, these correspond to the top of the lowercase ‘‘d’’ and
+ the bottom of the lowercase ‘‘p’’, respectively. The ....aaaasssscccceeeennnnddddeeeerrrr
+ and ....ddddeeeesssscccceeeennnnddddeeeerrrr number registers contain these values in units
+ with correct scaling for the current point size applied. If no
+ values are available, these registers are set to zero.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....vvvvssss_N 1/6in;12pts previousE,ppppSet vertical baseâ€line spacâ€
+ ing size _V. Transient _e_x_t_r_a vertiâ€
+ cal space available with \\\\xxxx´_N´ (see
+ above).
+ ....llllssss_N _N=1 previous E _L_i_n_e spacing set to ±_N. _N−1 _Vs
+ (_b_l_a_n_k _l_i_n_e_s) are appended to each
+ output text line. Appended blank
+ lines are omitted, if the text or
+ previous appended blank line reached
+ a trap position.
+ ....sssspppp _N – _N=1_V B,vvvv Space vertically in _e_i_t_h_e_r direcâ€
+ tion. If _N is negative, the motion
+ is _b_a_c_k_w_a_r_d (upward) and is limâ€
+ ited to the distance to the top of
+
+
+ †43 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ the page. Forward (downward) motion
+ is truncated to the distance to the
+ nearest trap. (Recall the use of
+ ....sssspppp ||||_N from §1.3.) If the noâ€space
+ mode is on, no spacing occurs (see
+ nnnnssss, and rrrrssss below).
+ ....ssssvvvv _N – _N=1_V vvvv Save a contiguous vertical block of
+ size _N. If the distance to the next
+ trap is greater than _N, _N vertical
+ space is output. Noâ€space mode has
+ _n_o effect. If this distance is less
+ than _N, no vertical space is immediâ€
+ ately output, but _N is remembered
+ for later output (see oooossss). Subseâ€
+ quent ssssvvvv requests will overwrite any
+ still remembered _N.
+ ....oooossss – – – Output saved vertical space. Noâ€
+ space mode has _n_o effect. Used to
+ finally output a block of vertiâ€
+ cal space requested by an earlier ssssvvvv
+ request.
+ ....nnnnssss space – D Noâ€space mode turned on. When
+ on, the noâ€space mode inhibits sssspppp
+ requests and bbbbpppp requests _w_i_t_h_o_u_t a
+ next page number. The noâ€space mode
+ is turned off when a line of outâ€
+ put occurs, or with rrrrssss. The number
+ register ....nnnnssss is set to a nonâ€zero
+ value in noâ€space mode and to zero
+ otherwise.
+ ....rrrrssss space – D Restore spacing. The noâ€space mode
+ is turned off.
+ Blank text line. – B Causes a break and output of a
+ blank line exactly like sssspppp 1111 unless
+ a different action has been speciâ€
+ fied with the bbbbllllmmmm request.
+ 6666.... LLLLiiiinnnneeee LLLLeeeennnnggggtttthhhh aaaannnndddd IIIInnnnddddeeeennnnttttiiiinnnngggg
+ The maximum line length for fill mode may be set with llllllll. The
+ indent may be set with iiiinnnn; an indent applicable to _o_n_l_y the
+ _n_e_x_t output line may be set with ttttiiii. The line length includes
+ indent space but _n_o_t page offset space. The lineâ€length minus
+ the indent is the basis for centering with cccceeee. The effect of
+ llllllll, iiiinnnn, or ttttiiii is delayed, if a partially collected line exists,
+ until after that line is output. In fill mode the length of text
+ on an output line is less than or equal to the line length minus
+ the indent. The current line length and indent are available in
+ registers ....llll and ....iiii respectively; the ....yyyy and ....iiiinnnn registers both
+ hold the indent that actually applies to the current line, taking
+ a temporary indent into account. The length of _t_h_r_e_eâ€_p_a_r_t _t_i_t_l_e_s
+ produced by ttttllll (see §14) is _i_n_d_e_p_e_n_d_e_n_t_l_y set by lllltttt.
+ In aaaadddd pppp mode, indent, temporary indent, and line length should be
+ predefined for the entire paragraph at the time a _b_r_e_a_k occurs.
+ To achieve this with indent and line length varying inside a
+ paragraph, a shape can be defined with ppppsssshhhhaaaappppeeee. The llllllll and iiiinnnn
+
+
+ †44 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ requests are also effective while formatting a paragraph but may
+ result in less optimal line breaking decisions then.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....llllllll ±_N 6.5in previous E,mmmmLine length is set to ±_N.
+ ....iiiinnnn ±_N _N=0 previous B,E,mmmmIndent is set to ±_N. The
+ indent is prepended to each output
+ line.
+ ....ttttiiii ±_N – ignored B,E,mmmm Temporary indent. The _n_e_x_t output
+ text line will be indented a disâ€
+ tance ±_N with respect to the current
+ indent. The resulting total indent
+ may not be negative. The current
+ indent is not cghraanpghedi.n when the
+ a special aaaadddd pppp paragraph
+ shape for mode. At gets forâ€
+ the cur†the matted,
+ rent para†next _b_r_e_a_k its first
+ line is indented by _I_1 and has
+ length _L_1, its second line is
+ indented by _I_2 and has length _L_2,
+ and so forth. Relative numbers
+ refer to the the first pair.
+ previous indent The last of the
+ or line length indent and line
+ pair, or to the length pairs
+ values set by stays effective
+ iiiinnnn and llllllll for if the paragraph
+ has more lines than pairs are givâ€
+ en. With an odd number of arguâ€
+ ments, the standard line length as
+ set by llllllll is used at the end.
+ Once the current paragraph has been
+ printed, the shape specification is
+ forgotten, and the standard indent
+ and line length values are in effect
+ again unless another ppppsssshhhhaaaappppeeee request
+ occurs. As an exception, \\\\pppp preâ€
+ serves the remaining part of the
+ shape. To produce shapes with holes
+ as in this example, diversion traps
+ can be used to move formatted lines
+ in vertical direction.
+ 7777.... MMMMaaaaccccrrrroooossss,,,, SSSSttttrrrriiiinnnnggggssss,,,, DDDDiiiivvvveeeerrrrssssiiiioooonnnn,,,, aaaannnndddd PPPPoooossssiiiittttiiiioooonnnn TTTTrrrraaaappppssss
+ _7._1._M_a_c_r_o_s _a_n_d _s_t_r_i_n_g_s. A _m_a_c_r_o is a named set of arbitrary _l_i_n_e_s
+ that may be invoked by name or with a _t_r_a_p. A _s_t_r_i_n_g is a named
+ string of _c_h_a_r_a_c_t_e_r_s, _n_o_t including a newline character, that may
+ be interpolated by name at any point. Request, macro, and string
+ names share the _s_a_m_e name list. Macro and string names may conâ€
+ sist of an arbitrary number of ASCII characters (§1.1) and may
+ usurp previously defined request, macro, or string names; this
+ implies that buildâ€in operators may be (irrevocably) redefined.
+ Any of these entities may be renamed with rrrrnnnn or removed with rrrrmmmm.
+ Macros are created by ddddeeee and ddddiiii, and appended to by aaaammmm and ddddaaaa;
+
+
+ †45 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ddddiiii and ddddaaaa cause normal output to be stored in a macro. Strings
+ are created by ddddssss and appended to by aaaassss. A macro is invoked
+ in the same way as a request; a control line beginning ...._x_x will
+ interpolate the contents of macro _x_x. The remainder of the line
+ may contain arbitrarily many _a_r_g_u_m_e_n_t_s. The strings _x, _x_x, and
+ _x_x_x are interpolated at any desired point with \\\\∗∗∗∗_x, \\\\∗∗∗∗((((_x_x, and
+ \\\\∗∗∗∗[[[[_x_x_x]]]] respectively; the form \\\\∗∗∗∗[[[[_x_x_x _a_r_g ...]]]] allows to specify
+ arguments to a string. String references and macro invocations
+ may be nested.
+ _7._2._C_o_p_y _m_o_d_e _i_n_p_u_t _i_n_t_e_r_p_r_e_t_a_t_i_o_n. During the definition and
+ extension of strings and macros (not by diversion) the input is
+ read in _c_o_p_y _m_o_d_e. The input is copied without interpretation
+ _e_x_c_e_p_t that:
+ • The contents of number registers indicated by \\\\nnnn are interpolated.
+ • Strings indicated by \\\\∗∗∗∗ are interpolated.
+ • Arguments indicated by \\\\$$$$ are interpolated.
+ • Environment variables indicated by \\\\VVVV are interpolated.
+ • Concealed newlines indicated by \\\\(newline) are eliminated.
+ • Comments indicated by \\\\"""" or \\\\#### are eliminated.
+ • \\\\tttt and \\\\aaaa are interpreted as ASCII horizontal tab and SOH respectively (§9).
+ • \\\\\\\\ is interpreted as \\\\.
+ • \\\\.... is interpreted as "....".
+ These interpretations can be suppressed by prepending a \\\\. For
+ example, since \\\\\\\\ maps into a \\\\, \\\\\\\\nnnn will copy as \\\\nnnn which will
+ be interpreted as a number register indicator when the macro or
+ string is reread.
+ _7._3._A_r_g_u_m_e_n_t_s. When a macro is invoked by name, the remainder of
+ the line is taken to contain arguments. The argument separaâ€
+ tor is the space character, and arguments may be surrounded
+ by doubleâ€quotes to permit imbedded space characters. Pairs
+ of doubleâ€quotes may be imbedded in doubleâ€quoted arguments to
+ represent a single doubleâ€quote character. The argument """""""" is
+ explicitly null. If the desired arguments won’t fit on a line,
+ a concealed newline may be used to continue on the next line. A
+ trailing double quote may be omitted.
+ Similarly, arguments may be passed to strings with the \\\\∗∗∗∗[[[[ synâ€
+ tax, separated by spaces, until the argument list ends with the
+ ]]]] character. String arguments are otherwise handled exactly like
+ macro arguments.
+ When a macro is invoked the _i_n_p_u_t _l_e_v_e_l is _p_u_s_h_e_d _d_o_w_n and
+ any arguments available at the previous level become unavailâ€
+ able until the macro is completely read and the previous level
+ is restored. A macro’s own arguments can be interpolated at _a_n_y
+ point within the macro with \\\\$$$$_n, \\\\$$$$((((_n_n, or \\\\$$$$[[[[_n_n_n]]]], which interâ€
+ polates the _nth, _n_nth, or _n_n_nth argument, respectively. If an
+ invoked argument doesn’t exist, a null string results. For examâ€
+ ple, the macro _x_x may be defined by
+ ....ddddeeee xxxxxxxx \\\\""""bbbbeeeeggggiiiinnnn ddddeeeeffffiiiinnnniiiittttiiiioooonnnn
+ TTTTooooddddaaaayyyy iiiissss \\\\\\\\$$$$1111 tttthhhheeee \\\\\\\\$$$$2222....
+ ........ \\\\""""eeeennnndddd ddddeeeeffffiiiinnnniiiittttiiiioooonnnn
+ and called by
+ ....xxxxxxxx MMMMoooonnnnddddaaaayyyy 11114444tttthhhh
+ to produce the text
+ TTTTooooddddaaaayyyy iiiissss MMMMoooonnnnddddaaaayyyy tttthhhheeee 11114444tttthhhh....
+
+
+ †46 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ Note that the \\\\$$$$ was concealed in the definition with a prepended
+ \\\\.
+ The escape sequence \\\\$$$$∗∗∗∗ interpolates all arguments to a macro,
+ separated by spaces; \\\\$$$$@@@@ interpolates all arguments, each one
+ surrounded by double quotes, separated by spaces. The name of
+ the current macro or string is available with the \\\\$$$$0000 escape
+ sequence. The number of currently available arguments is in the
+ ....$$$$ register.
+ No arguments are available at the top (nonâ€macro) level or within
+ a trapâ€invoked macro.
+ Arguments are copied in _c_o_p_y _m_o_d_e onto a stack where they are
+ available for reference. It is advisable to conceal string
+ references (with an extra \\\\) to delay interpolation until arguâ€
+ ment reference time.
+ _7._4._D_i_v_e_r_s_i_o_n_s. Processed output may be diverted into a macro for
+ purposes such as footnote processing (see Tutorial §T5) or deterâ€
+ mining the horizontal and vertical size of some text for condiâ€
+ tional changing of pages or columns. A single diversion trap
+ may be set at a specified vertical position. The number regisâ€
+ ters ddddnnnn and ddddllll respectively contain the vertical and horizontal
+ size of the most recently ended diversion. Processed text that
+ is diverted into a macro retains the vertical size of each of
+ its lines when reread in _n_o_f_i_l_l mode regardless of the current
+ _V. Constantâ€spaced (ccccssss) or emboldened (bbbbdddd) text that is diverted
+ can be reread correctly only if these modes are again or still
+ in effect at reread time. One way to do this is to imbed in the
+ diversion the appropriate ccccssss or bbbbdddd requests with the _t_r_a_n_s_p_a_r_e_n_t
+ mechanism described in §10.6.
+ Diversions may be nested and certain parameters and registers
+ are associated with the current diversion level (the top nonâ€
+ diversion level may be thought of as the 0th diversion level).
+ These are the diversion trap and associated macro, noâ€space mode,
+ the internallyâ€saved marked place (see mmmmkkkk and rrrrtttt), the current
+ vertical place (....dddd register), the current highâ€water text baseâ€
+ line (....hhhh register), and the current diversion name (....zzzz register).
+ The current diversion level is available in the ....ddddiiiilllleeeevvvv register.
+ A previous partially filled line is included when a diversion
+ begins. A partially filled line at the end of a diversion is
+ not included but becomes part of the surrounding diversion level.
+ With the bbbbooooxxxx request, a previous partially filled line is not
+ included. At the end of the diversion, this partially filled
+ line is restored at the surrounding level, discarding any parâ€
+ tially filled line from within the diversion. The behavior is
+ otherwise the same as with a standard diversion.
+ _7._5._T_r_a_p_s. Five types of trap mechanisms are available—page
+ traps, outputâ€line traps, a single diversion trap, multiple
+ diversion traps, and an inputâ€lineâ€count trap. Macroâ€invocation
+ traps may be planted using wwwwhhhh at any page position including the
+ top. This trap position may be changed using cccchhhh. Trap positions
+ at or below the bottom of the page have no effect unless or until
+ moved to within the page or rendered effective by an increase in
+ page length. Two traps may be planted at the _s_a_m_e position only
+ by first planting them at different positions and then moving
+ one of the traps; the first planted trap will conceal the second
+
+
+ †47 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ unless and until the first one is moved (see Tutorial Examples
+ §T5). If the first one is moved back, it again conceals the
+ second trap. The macro associated with a page trap is automatiâ€
+ cally invoked when a line of text is output whose vertical size
+ _r_e_a_c_h_e_s or _s_w_e_e_p_s _p_a_s_t the trap position. Reaching the bottom of
+ a page springs the topâ€ofâ€page trap, if any, provided there is a
+ next page. The distance to the next trap position is available
+ in the ....tttt register; if there are no traps between the current
+ position and the bottom of the page, the distance returned is the
+ distance to the page bottom.
+ An outputâ€line trap is planted using the escape sequence \\\\PPPP_x,
+ \\\\PPPP((((_x_x, or \\\\PPPP[[[[_x_x_x]]]]. It is converted to an internal character code
+ that becomes part of the current text. When the line containing
+ it has been physically output, the macro _x, _x_x, or _x_x_x, respecâ€
+ tively, is invoked. A line may contain more than one outputâ€line
+ trap; they are invoked in the order they appear. If a page trap
+ becomes effective at the same point, it is invoked immediately
+ after all outputâ€line traps. Outputâ€line traps are not invoked
+ at the time they become part of a diversion. They can thus be
+ used to determine e.g. the effective page number of the surroundâ€
+ ing text, even when it had originally been diverted on another
+ page.
+ A single macroâ€invocation trap effective in the current diverâ€
+ sion may be planted using ddddtttt. If another ddddtttt follows in the
+ same diversion, the trap position is changed. Multiple traps may
+ be planted in the current diversion using ddddwwwwhhhh and ddddcccchhhh. The ....tttt
+ register works in a diversion; if there is no subsequent trap
+ a _l_a_r_g_e distance is returned. For a description of inputâ€lineâ€
+ count traps, see iiiitttt below.
+ _7._6._R_e_c_u_r_s_i_o_n. _t_r_o_f_f macros can be invoked recursively. In genâ€
+ eral, return information and arguments for macro calls are stored
+ as _f_r_a_m_e_s on a _s_t_a_c_k. Since the size of the stack is limited
+ by available memory, recursive calls cannot descend to arbitrary
+ depths. To avoid consumption of large amounts of memory in case
+ of endless loops, the depth is deliberately restricted further;
+ the rrrreeeeccccuuuurrrrssssiiiioooonnnnlllliiiimmmmiiiitttt request allows to adjust that restriction.
+ A macro call can be _t_a_i_lâ€_r_e_c_u_r_s_i_v_e, that is, the reâ€invocation
+ of the current macro can occur in its last statement. _t_r_o_f_f
+ can then replace the stack frame of the current macro instance
+ with that of the following one, and the stack size remains conâ€
+ stant. The depth of tailâ€recursive macro calls is thus princiâ€
+ pally unlimited, and is not artificially restricted by default.
+ Since _t_r_o_f_f cannot determine the control character at the time
+ the macro is executed in advance, the recursive macro call must
+ not only be the last statement of a macro, but must actually
+ occur in the last line for tailâ€recursion elimination to become
+ effective, although it may be prefixed by ....iiiiffff or ....eeeellll or followed
+ by \\\\}}}}.
+ _7._7._L_o_c_a_l _s_t_r_i_n_g_s. Strings, macros, and diversions are, once
+ defined, normally accessible from any part of a _t_r_o_f_f program.
+ Local strings, defined with llllddddssss, are accessible only within the
+ currently executing macro instance, and are not inherited to
+ macros invoked from them. When the currently executing macro
+ terminates, they are automatically deleted, and all associated
+
+
+ †48 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ storage is reclaimed.
+ As long as a local string named _x_x exists, any reference with
+ \\\\((((_x_x or \\\\[[[[_x_x]]]] retrieves the value of the local string; the global
+ string _x_x, if any, becomes inaccessible by this method. Calls to
+ aaaassss, ssssuuuubbbbssssttttrrrriiiinnnngggg, iiiinnnnddddeeeexxxx, and cccchhhhoooopppp modify the local string. wwwwaaaattttcccchhhh
+ with the name of a local string as argument notifies on modifiâ€
+ cations of the local string. rrrrmmmm removes a local string and posâ€
+ sibly makes a global string visible again, rrrrnnnn renames a local
+ string to another local string, and aaaallllssss creates a local alias to
+ a local string.
+ It is not allowed to define local macros or diversions. Calls
+ to ._x_x or ´´´´_x_x reference a global macro or diversion even if a
+ local string _x_x exists. Traps and the \\\\YYYY escape sequence always
+ operate on global macros or diversions.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ddddeeee _x_x _y_y – ._y_y=........ –Define or redefine the macro _x_x.
+ The contents of the macro begin on
+ the next input line. Input lines
+ are copied in _c_o_p_y _m_o_d_e until the
+ definition is terminated by a line
+ beginning with ...._y_y, whereupon the
+ macro _y_y is called. In the absence
+ of _y_y, the definition is terminated
+ by a line beginning with "........". A
+ macro may contain ddddeeee requests proâ€
+ vided the terminating macros differ
+ or the contained definition terminaâ€
+ tor is concealed. "........" can be conâ€
+ cealed as \\\\\\\\........ which will copy as
+ \\\\........ and be reread as "........".
+ ....aaaammmm _x_x _y_y – ._y_y=........ –Append to macro (append version
+ of ddddeeee).
+ ....ddddssss _x_x _s_t_r_i_n_g – ignored–Define a string _x_x containing
+ _s_t_r_i_n_g. Any initial doubleâ€quote
+ in _s_t_r_i_n_g is stripped off to permit
+ initial blanks.
+ ....aaaassss _x_x _s_t_r_i_n_g – ignored–Append _s_t_r_i_n_g to string _x_x
+ (append version of ddddssss).
+ ....llllddddssss _x_x _s_t_r_i_n_g – ignored–Define local string _x_x containing
+ _s_t_r_i_n_g. Equivalent to ddddssss at the top
+ nonâ€macro level.
+ ....ssssuuuubbbbssssttttrrrriiiinnnngggg _x_x _N [_M] _M=−1 – Replace string _x_x by its subâ€
+ string between indices _N and _M. _N
+ and _M start at 0. Negative values
+ are interpreted relative to the end
+ of the string; −1 implies the last
+ character of the string.
+ ....lllleeeennnnggggtttthhhh _R _s_t_r_i_n_g _R set to 0–Store the length of _s_t_r_i_n_g in
+ register _R. _s_t_r_i_n_g is read in _c_o_p_y
+ _m_o_d_e.
+ ....iiiinnnnddddeeeexxxx _R _x_x _s_t_r_i_n_g ignored–Store the position of the first
+ occurence of _s_t_r_i_n_g in _x_x in regisâ€
+ ter _R. Positions are counted from
+
+
+ †49 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 0. If no occurence is found, _R is
+ set to -1. _s_t_r_i_n_g is read in _c_o_p_y
+ _m_o_d_e.
+ ....cccchhhhoooopppp _x_x – ignored–Remove the last character of the
+ macro, string, or diversion _x_x.
+ ....rrrrmmmm _x_x – ignored – Remove request, macro, or string.
+ The name _x_x is removed from the
+ name list and any related storage
+ space is freed. Subsequent referâ€
+ ences will have no effect. If
+ many macros and strings are being
+ created dynamically, it may become
+ necessary to remove unused ones to
+ recapture internal storage space for
+ newer registers. If a macro is
+ removed while it is in use, associâ€
+ ated storage is not released, and a
+ warning of the mmmmaaaacccc category is emitâ€
+ ted.
+ rrrrmmmm may have an unlimited number
+ of arguments. However for creating
+ portable documents only one argument
+ to rrrrmmmm should be used.
+ ....rrrrnnnn _x_x _y_y – ignored–Rename request, macro, or string
+ _x_x to _y_y. If _y_y exists, it is first
+ removed.
+ ....ddddiiii _x_x – end D Divert output to macro _x_x. Normal
+ text processing occurs during diverâ€
+ sion except that page offsetting is
+ not done. The diversion ends when
+ the request ddddiiii or ddddaaaa is encounâ€
+ tered without an argument; extraneâ€
+ ous requests of this type should not
+ appear when nested diversions are
+ being used.
+ ....ddddaaaa _x_x – end D Divert, appending to _x_x (append verâ€
+ sion of ddddiiii).
+ ....bbbbooooxxxx _x_x – end D Divert output to macro _x_x, excluding
+ a partially filled line.
+ ....bbbbooooxxxxaaaa _x_x – end D Divert and append to _x_x, excluding
+ a partially filled line.
+ ....uuuunnnnffffoooorrrrmmmmaaaatttt _x_x – ignored–Strip line break information from
+ diversion _x_x. All breaks that
+ do not result in explicit vertiâ€
+ cal movement are discarded, interâ€
+ word spaces that had been conâ€
+ verted to horizontal movements durâ€
+ ing adjustment become space charâ€
+ acters again, the effects of tabuâ€
+ lators and field characters are
+ reverted, and hyphenated word parts
+ are combined again.
+ ....aaaasssscccciiiiiiiiffffyyyy _x_x – ignored–All characters in diversion _x_x
+ changed to plain text. Has all
+
+
+ †50 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ effects described for uuuunnnnffffoooorrrrmmmmaaaatttt and
+ additionally discards font and point
+ size information and splits substiâ€
+ tuted ligatures to their individual
+ characters.
+ ....wwwwhhhh _N _x_x – – vvvv Install a trap to invoke _x_x at
+ page position _N; a _n_e_g_a_t_i_v_e _N will
+ be interpreted with respect to the
+ page _b_o_t_t_o_m. Any macro previously
+ planted at _N is replaced by _x_x. A
+ zero _N refers to the _t_o_p of a page.
+ In the absence of _x_x, the first
+ found trap at _N, if any, is removed.
+ ....cccchhhh _x_x _N – – vvvv Change the trap position for macro
+ _x_x to be _N. In the absence of _N,
+ the trap, if any, is removed.
+ ....ddddwwwwhhhh _N _x_x – – D,vvvvSet location trap in current
+ diversion. Diversion traps planted
+ with ddddtttt are not affected; if both
+ a ddddwwwwhhhh and a ddddtttt trap are set at
+ the same position, both are effecâ€
+ tive. A ddddwwwwhhhh trap previously set at
+ the same position is replaced. At
+ the top nonâ€diversion level, it is
+ equivalent to wwwwhhhh. Otherwise with a
+ negative or zero _N, the trap will
+ never be invoked since a diversion
+ has no bottom and can never reach
+ its top again.
+ ....ddddcccchhhh _x_x _N – – D,vvvvChange trap location in current
+ diversion; equivalent to cccchhhh at the
+ top nonâ€diversion level.
+ ....ddddtttt _N _x_x – off D,vvvvInstall a diversion trap at posiâ€
+ tion _N in the _c_u_r_r_e_n_t diversion to
+ invoke macro _x_x. Another ddddtttt will
+ redefine the diversion trap. If no
+ arguments are given, the diversion
+ trap is removed.
+ ....vvvvpppptttt _N 1 ignored – Enable (_N≠0) or disable (_N=0) page
+ ejections and vertical position
+ traps, i.e. those set with wwwwhhhh or ddddtttt.
+ At end of input, the page is forceâ€
+ fully ejected. The number register
+ ....vvvvpppptttt holds the current setting.
+ ....iiiitttt _N _x_x – off E Set an inputâ€lineâ€count trap to
+ invoke the macro _x_x after _N lines
+ of _t_e_x_t input have been read (conâ€
+ trol or request lines don’t count).
+ The text may be inâ€line text or
+ text interpolated by inline or trapâ€
+ invoked macros.
+ ....iiiittttcccc _N _x_x – off E Set an inputâ€lineâ€count trap like
+ iiiitttt, but ignore line interruptions
+ with \\\\cccc when counting lines.
+
+
+ †51 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ....rrrreeeettttuuuurrrrnnnn – – – Immediately return from the current
+ macro to the level above.
+ ....sssshhhhiiiifffftttt _N – 1 – Shift the arguments to the current
+ macro by _N.
+ ....aaaallllssss _y_y _x_x – – – _y_y is created as an alias for
+ the request, macro, or string _x_x.
+ The alias name is in every respect
+ identical to the original name. If
+ _x_x is removed or renamed, _y_y continâ€
+ ues to refer to the object at the
+ time the alias had been created (and
+ viceâ€versa). If either _x_x or _y_y
+ are redefined, both refer to the new
+ definition.
+ ....bbbbllllmmmm _x_x none none – Whenever a blank line is encounâ€
+ tered, the macro _x_x is invoked
+ instead of the default behavior to
+ output a blank line.
+ ....eeeemmmm _x_x none none – The macro _x_x will be invoked when
+ all input has ended. The effect is
+ the same as if the contents of _x_x
+ had been at the end of the last file
+ processed, but all processing ceases
+ at the next page eject.
+ ....rrrreeeeccccuuuurrrrssssiiiioooonnnnlllliiiimmmmiiiitttt _N _M – – Set the maximum stack depth for
+ generally recursive invocations of
+ macros to _N, and for invocations of
+ tailâ€recursive macros to _M. If _N or
+ _M are zero, the respective depth is
+ unlimited. The default is 512 for
+ the general case, and no limit for
+ tailâ€recursion.
+ 8888.... NNNNuuuummmmbbbbeeeerrrr RRRReeeeggggiiiisssstttteeeerrrrssss
+ A variety of parameters are available to the user as predefined,
+ named _n_u_m_b_e_r _r_e_g_i_s_t_e_r_s (see Summary and Index, page 7). In
+ addition, the user may define his own named registers. Regisâ€
+ ter names are one or two characters long and _d_o _n_o_t conflict
+ with request, macro, or string names. Except for certain predeâ€
+ fined readâ€only registers, a number register can be read, writâ€
+ ten, automatically incremented or decremented, and interpolated
+ into the input in a variety of formats. One common use of
+ userâ€defined registers is to automatically number sections, paraâ€
+ graphs, lines, etc. A number register may be used any time
+ numerical input is expected or desired and may be used in numeriâ€
+ cal _e_x_p_r_e_s_s_i_o_n_s (§1.4).
+ Number registers are created and modified using nnnnrrrr, which
+ specifies the name, numerical value, and the autoâ€increment
+ size. Registers are also modified, if accessed with an autoâ€
+ incrementing sequence. If the registers _x and _x_x both conâ€
+ tain _N and have the autoâ€increment size _M, the following access
+ sequences have the effect shown:
+
+
+
+
+
+ †52 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ─┌──────────┬──────────────────────┬──────────────â”
+ │ │ Effect on │ Value │
+ │Sequence │ Register │Interpolated │
+ ─├──────────┼──────────────────────┼──────────────┤
+ │\\\\nnnn_x │ none │ _N │
+ │\\\\nnnn((((_x_x │ none │ _N │
+ │\\\\nnnn[[[[_x_x_x]]]] │none │ _N │
+ │\\\\nnnn++++_x │_x incremented by _M │ _N+_M │
+ │\\\\nnnn----_x │_x decremented by _M │ _N-_M │
+ │\\\\nnnn++++((((_x_x │_x_x incremented by _M │ _N+_M │
+ │\\\\nnnn----((((_x_x │_x_x decremented by _M │ _N-_M │
+ │\\\\nnnn++++[[[[_x_x_x]]]] │_x_x_x incremented by _M │ _N+_M │
+ │\\\\nnnn----[[[[_x_x_x]]]] │_x_x_x decremented by _M │ _N-_M │
+ ─└──────────┴──────────────────────┴──────────────┘
+
+ Floatingâ€point registers can be created and modified using nnnnrrrrffff.
+ They share a common name space with integer registers; a nnnnrrrr
+ request turns a floatingâ€point register into an integer register.
+ Access and autoâ€increment are as with integer registers.
+ When interpolated, a number register is converted to decimal
+ (default), decimal with leading zeros, lowerâ€case Roman, upperâ€
+ case Roman, lowerâ€case sequential alphabetic, or upperâ€case
+ sequential alphabetic according to the format specified by aaaaffff.
+ Local number registers can be created and modified using llllnnnnrrrr and
+ llllnnnnrrrrffff. Like local strings, local registers are accessible only
+ within the currently executing macro instance, are not inherited
+ to macros invoked from them, and are deleted when the current
+ macro returns.
+ The existence of a local number register _x_x makes the gloâ€
+ bal number register _x_x, if any, completely inaccessible. The
+ sequences \\\\nnnn((((_x_x and \\\\nnnn[[[[_x_x]]]] retrieve the value of the local regisâ€
+ ter, \\\\RRRR’_x_x...’, \\\\nnnn++++((((_x_x and \\\\nnnn++++[[[[_x_x]]]] (and likewise) modify it, and
+ \\\\gggg((((_x_x and \\\\gggg[[[[_x_x]]]] retrieve its format. Subsequent calls to nnnnrrrr,
+ nnnnrrrrffff, aaaaffff, lllleeeennnnggggtttthhhh, and iiiinnnnddddeeeexxxx with _x_x as argument modify the local
+ register. wwwwaaaattttcccchhhhnnnn notifies on modifications of the local regisâ€
+ ter. rrrrrrrr removes a local register and possibly makes a global
+ register visible again, rrrrnnnnnnnn renames a local register to another
+ local register, and aaaallllnnnn creates a local alias to a local regisâ€
+ ter.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....nnnnrrrr _R ±_N _M – uuuu The number register _R is assigned
+ the value ±_N with respect to the
+ previous value, if any. The increâ€
+ ment for autoâ€incrementing is set to
+ _M. An alternate syntax is available
+ with the \\\\RRRR´_R ±_N´ escape sequence.
+ ....nnnnrrrrffff _R ±_F _G – uuuu The floatingâ€point register _R is
+ assigned the value ±_F with respect
+ to the previous value, if any. Comâ€
+ parison computations in the expresâ€
+ sion _F are performed using floatingâ€
+ point values. The increment for
+ autoâ€incrementing, which also is a
+
+
+ †53 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ floatingâ€point value, is set to _G.
+ ....llllnnnnrrrr _R ±_N _M – uuuu Define and set local number regisâ€
+ ter _R.
+ ....llllnnnnrrrrffff _R ±_F _G – uuuu Define and set local floatingâ€
+ point register _R.
+ ....aaaaffff _R _c arabic – – Assign format _c to register _R. The
+ available formats are:
+
+ ─┌────────┬───────────────────────────────────â”
+ │ │ Numbering │
+ │Format │ Sequence │
+ ─├────────┼───────────────────────────────────┤
+ │ 1111 │0,1,2,3,4,5,... │
+ │ 000000001111 │000,001,002,003,004,005,... │
+ │ iiii │0,i,ii,iii,iv,v,... │
+ │ IIII │0,I,II,III,IV,V,... │
+ │ aaaa │0,a,b,c,...,z,aa,ab,...,zz,aaa,... │
+ │ AAAA │0,A,B,C,...,Z,AA,AB,...,ZZ,AAA,... │
+ ─└────────┴───────────────────────────────────┘
+
+ An arabic format having _N digits
+ specifies a field width of _N digits
+ (example 2 above). The readâ€
+ only registers, the _w_i_d_t_h function
+ (§11.2), and floatingâ€point regisâ€
+ ters are always arabic. Warning:
+ the value of a number register in
+ a nonâ€Arabic format is not numeric,
+ and will not produce the expected
+ results in expressions.
+ The function \\\\gggg_x, \\\\gggg((((_x_x, or \\\\gggg[[[[_x_x_x]]]]
+ returns the format of a number
+ register in a form suitable for aaaaffff;
+ it returns nothing if the register
+ has not been used.
+ ....rrrrrrrr _R – ignored – Remove register _R. If many regisâ€
+ ters are being created dynamically,
+ it may become necessary to remove no
+ longer used registers to recapture
+ internal storage space for newer
+ registers. The register ....RRRR contains
+ the number of number registers still
+ available.
+ rrrrrrrr may have an unlimited number
+ of arguments. However for creating
+ portable documents only one argument
+ to rrrrrrrr should be used.
+ ....rrrrnnnnnnnn _R _S – – – Rename register _R to _S. If _S
+ exists, it is first removed.
+ ....aaaallllnnnn _S _R – – – Register _S is created as an alias
+ for _R. The alias name is in every
+ respect identical to the original
+ name. If _R is removed or renamed,
+ _S continues to refer to the regisâ€
+
+
+ †54 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ter at the time the alias had been
+ created (and viceâ€versa). A change
+ in value or format in _R affects _S
+ and viceâ€versa.
+ 9999.... TTTTaaaabbbbssss,,,, LLLLeeeeaaaaddddeeeerrrrssss,,,, aaaannnndddd FFFFiiiieeeellllddddssss
+ _9._1._T_a_b_s _a_n_d _l_e_a_d_e_r_s. The ASCII horizontal tab character and the
+ ASCII SOH (hereafter known as the _l_e_a_d_e_r character) can both be
+ used to generate either horizontal motion or a string of repeated
+ characters. The length of the generated entity is governed by
+ internal _t_a_b _s_t_o_p_s specifiable with ttttaaaa. The default differâ€
+ ence is that tabs generate motion and leaders generate a string
+ of periods; ttttcccc and llllcccc offer the choice of repeated character or
+ motion. There are three types of internal tab stops—_l_e_f_t adjustâ€
+ ing, _r_i_g_h_t adjusting, and _c_e_n_t_e_r_i_n_g. In the following table,
+ _D is the distance from the current position on the _i_n_p_u_t line
+ (where a tab or leader was found) to the next tab stop, _n_e_x_tâ€
+ _s_t_r_i_n_g consists of the input characters following the tab (or
+ leader) up to the next tab (or leader) or end of line, and _W is
+ the width of _n_e_x_tâ€_s_t_r_i_n_g.
+
+ ─┌──────────┬─────────────────────┬───────────────────────────â”
+ │ Tab │Length of motion or │ Location of │
+ │ type │repeated characters │ _n_e_x_tâ€_s_t_r_i_n_g │
+ ─├──────────┼─────────────────────┼───────────────────────────┤
+ │ Left │ _D │Following _D │
+ │ Right │ _D-_W │Right adjusted within _D │
+ │Centered │ _D-_W/2 │Centered on right end of _D │
+ ─└──────────┴─────────────────────┴───────────────────────────┘
+
+ The length of generated motion is allowed to be negative, but
+ that of a repeated character string cannot be. Repeated charâ€
+ acter strings contain an integer number of characters, and any
+ residual distance is prepended as motion. Tabs or leaders found
+ after the last tab stop are ignored, but may be used as _n_e_x_tâ€
+ _s_t_r_i_n_g terminators.
+ Tabs and leaders are not interpreted in _c_o_p_y _m_o_d_e. \\\\tttt and \\\\aaaa
+ always generate a nonâ€interpreted tab and leader respectively,
+ and are equivalent to actual tabs and leaders in _c_o_p_y _m_o_d_e.
+ _9._2._F_i_e_l_d_s. A _f_i_e_l_d is contained between a _p_a_i_r of _f_i_e_l_d _d_e_l_i_m_â€
+ _i_t_e_r characters, and consists of subâ€strings separated by _p_a_d_â€
+ _d_i_n_g indicator characters. The field length is the distance on
+ the _i_n_p_u_t line from the position where the field begins to the
+ next tab stop. The difference between the total length of all
+ the subâ€strings and the field length is incorporated as horizonâ€
+ tal padding space that is divided among the indicated padding
+ places. The incorporated padding is allowed to be negative. For
+ example, if the field delimiter is #### and the padding indicator is
+ ^^^^, ####^^^^_x_x_x^^^^_r_i_g_h_t#### specifies a rightâ€adjusted string with the string
+ _x_x_x centered in the remaining space.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ttttaaaa _N_t ... 8n; 0.5i noneE,mmmmSet tab stops and types.
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
+ ∗Register ....SSSS is available for compatibility with DWB.
+
+
+ †55 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _t=RRRR, right adjusting; _t=CCCC, centerâ€
+ ing; _t absent, left adjusting.
+ _t_r_o_f_f tab stops are preset every
+ 0.5in.; _n_r_o_f_f every 0.8in. The stop
+ values are separated by spaces, and
+ a value preceded by ++++ is treated as
+ an increment to the previous stop
+ value. The ....SSSS register* and the
+ ....ttttaaaabbbbssss register hold a string with
+ the current tab stops in a form that
+ is acceptable for the ttttaaaa request; it
+ can thus be used to save and restore
+ tab stops.
+ ....ttttaaaa _M_v ... _N_w TTTT _A_t ... _Z_ua _N=0E,mmmmSet repeated tab stops
+ and types at _M_v, ..., _N_w,
+ _N + _A_t, ..., _N + _Z_u, _N + _Z + _A_t,
+ ..., _N + _Z + _Z_u, _N + 2·_Z + _A_t, ...,
+ _N + 2·_Z + _Z_u, _N + 3·_Z + _A_t, ...,
+ _N + 3·_Z + _Z_u, ... . Thus ....ttttaaaa TTTT 0000....5555iiii
+ sets tab stops every 0.5in, and
+ ....ttttaaaa 1111iiii 4444iiii TTTT ....22225555iiii 1111iiii sets tab stops
+ at 1in, 4in, 4.25in, 5in, 5.25in,
+ 6in, 6.25in, etc.
+ ....ttttcccc _c none none E The tab repetition character becomes
+ _c, or is removed specifying motion.
+ ....llllcccc _c .... none E The leader repetition character
+ becomes _c, or is removed specifying
+ motion.
+ ....ffffcccc _a _b off off – The field delimiter is set to _a;
+ the padding indicator is set to the
+ _s_p_a_c_e character or to _b, if given.
+ In the absence of arguments the
+ field mechanism is turned off.
+ 11110000.... IIIInnnnppppuuuutttt aaaannnndddd OOOOuuuuttttppppuuuutttt CCCCoooonnnnvvvveeeennnnttttiiiioooonnnnssss aaaannnndddd CCCChhhhaaaarrrraaaacccctttteeeerrrr TTTTrrrraaaannnnssssllllaaaattttiiiioooonnnnssss
+ _1_0._1._I_n_p_u_t _c_h_a_r_a_c_t_e_r _t_r_a_n_s_l_a_t_i_o_n_s. Ways of inputting the graphic
+ character set were discussed in §2.1. The ASCII control characâ€
+ ters horizontal tab (§9.1), SOH (§9.1), and e_backspace (§10.3)
+ are discussed elsewhere. The newline delimits input lines. In
+ addition, STX, ETX, ENQ, ACK, and BEL are accepted, and may be
+ used as delimiters or translated into a graphic with ttttrrrr (§10.5).
+ _A_l_l others are ignored.
+ The _e_s_c_a_p_e character \\\\ introduces _e_s_c_a_p_e _s_e_q_u_e_n_c_e_s—causes the
+ following character to mean another character, or to indicate
+ some function. A complete list of such sequences is given in
+ the Summary. \\\\ should not be confused with the ASCII control
+ character ESC of the same name. The escape character \\\\ can be
+ output by using the special character \\\\((((rrrrssss. The escape charâ€
+ acter can be changed with eeeecccc, and all that has been said about
+ the default \\\\ becomes true for the new escape character. \\\\eeee can
+ be used to print whatever the current escape character is; this
+ escape sequence is interpreted in _c_o_p_y _m_o_d_e. \\\\EEEE evaluates to the
+ current escape character but is not interpreted in _c_o_p_y _m_o_d_e; if
+ it is put into a string or macro, it will introduce an escape
+ sequence once the string is printed or the macro is executed,
+
+
+ †56 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ respectively. eeeeccccssss and eeeeccccrrrr save and restore the escape character.
+ If necessary or convenient, the escape mechanism may be turned
+ off with eeeeoooo, and restored with eeeecccc.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....eeeecccc _c \\\\ \\\\ – Set escape character to \\\\, or to _c,
+ if given.
+ ....eeeeoooo on – – Turn escape mechanism off.
+ ....eeeeccccssss \ – – Save escape character.
+ ....eeeeccccrrrr \ – – Restore saved escape character.
+ ....eeeessssccccooooffffffff _e_s_c ... on ignored–Disable escapes _e_s_c .... For
+ example the request ....eeeessssccccooooffffffff ;;;; @@@@
+ would disable escapes \\\\;;;;, \\\\@@@@{{{{, and
+ \\\\@@@@}}}}. The request had been added as
+ a workaround for manual pages which
+ by mistake escape normal charaters.
+ At the moment only oneâ€character
+ arguments are valid. This may
+ change in future versions.
+ ....eeeessssccccoooonnnn _e_s_c ... on ignored–Enable escapes _e_s_c ....
+ _1_0._2._L_i_g_a_t_u_r_e_s. The set of available ligatures is device and font
+ dependent, but is often a subset of ffffiiii, ffffllll, ffffffff, ffffffffiiii, and ffffffffllll.
+ They may be input (even in _n_r_o_f_f) by \\\\((((ffffiiii, \\\\((((ffffllll, \\\\((((ffffffff, \\\\((((FFFFiiii, and
+ \\\\((((FFFFllll respectively. In _t_r_o_f_f, the fffflllliiiigggg request specifies the set
+ of ligatures available with an individual font. The ligature
+ mode is normally on in _t_r_o_f_f, and _a_u_t_o_m_a_t_i_c_a_l_l_y invokes ligatures
+ during input. At most the five named ligatures are enabled by
+ default.
+ The ligature suppressor \\\\;;;; disables automatic ligature building
+ if it is placed between two characters, but has no other effects.
+ Many other escape sequences, e.g. \\\\&&&&, \\\\%%%%, also disable automatic
+ ligature building.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....llllgggg _N off; on on – Ligature mode is turned on if _N
+ is absent or nonâ€zero, and turned
+ off if _N=0. If _N=2, only the
+ twoâ€character ligatures are automatâ€
+ ically invoked. Ligature mode
+ is inhibited for request, macro,
+ string, register, or file names, and
+ in _c_o_p_y _m_o_d_e. No effect in _n_r_o_f_f.
+ ....fffflllliiiigggg _F _s_t_r_i_n_g _c ... ignoredTDefine the set of ligatures to be
+ used with font _F. _s_t_r_i_n_g may conâ€
+ sist of up to four characters; its
+ exact occurences are substituted by
+ the character _c whenever the current
+ font is _F. If _s_t_r_i_n_g starts with
+ a minus sign, ligature subtitution
+ for it is disabled; the _c argument
+ must not be present in this case.
+ It is required that any substring
+ of _s_t_r_i_n_g that consists of two or
+ more characters is also defined as
+
+
+ †57 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ a ligature. Multiple _s_t_r_i_n_g/_c pairs
+ may be given. As a special case,
+ ....fffflllliiiigggg _F 0000 disables all ligatures for
+ font _F. The default set of ligaâ€
+ tures is specific to a font and is
+ determined from its metrics file.
+ As examples, ....fffflllliiiigggg RRRR TTTThhhh \\\\[[[[TTTT____hhhh]]]]
+ enables a ligature for ‘‘Th’’ in
+ font RRRR, and ....fffflllliiiigggg RRRR ----TTTThhhh disables it.
+ ....ffffddddeeeeffffeeeerrrrlllliiiigggg _F _s_t_r_i_n_g ... ignoredTDefer ligature building for the
+ first character of _s_t_r_i_n_g. Norâ€
+ mally when a sequence of three charâ€
+ acters appears for which both the
+ first and the last two characters
+ are defined as a ligature, the ligaâ€
+ ture is built using the first two
+ characters. For example, if ‘‘ffi’’
+ appears in input and both ‘‘ff’’ and
+ ‘‘fi’’ are defined as ligatures, the
+ ‘‘ff’’ ligature is built, followed
+ by a single ‘‘i’’ character. Use of
+ this request causes the ligature to
+ be built using the second two charâ€
+ acters, so in the example, ....ffffddddeeeeffffeeeerrrrâ€â€â€â€
+ lllliiiigggg RRRR ffffffffiiii would result in a single
+ ‘‘f’’ character followed by a ‘‘fi’’
+ ligature.
+ _1_0._3._B_a_c_k_s_p_a_c_i_n_g, _u_n_d_e_r_l_i_n_i_n_g, _o_v_e_r_s_t_r_i_k_i_n_g, _e_t_c. Unless in _c_o_p_y
+ _m_o_d_e, the ASCII backspace character is replaced by a backâ€
+ ward horizontal motion having the width of the space character.
+ Underlining as a form of lineâ€drawing is discussed in §12.4. A
+ generalized overstriking function is described in §12.1.
+ _n_r_o_f_f automatically underlines characters in the _u_n_d_e_r_l_i_n_e font,
+ specifiable with uuuuffff, normally that on font position 2 (normally
+ Times Italic, see §2.2). In addition to fffftttt and \\\\ffff_F, the underâ€
+ line font may be selected by uuuullll and ccccuuuu. Underlining is resâ€
+ tricted to an outputâ€deviceâ€dependent subset of _r_e_a_s_o_n_a_b_l_e charâ€
+ acters.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....uuuullll _N off _N=1 E Underline in _n_r_o_f_f (italicize in
+ _t_r_o_f_f) the next _N input text
+ lines. Actually, switch to _u_n_d_e_r_â€
+ _l_i_n_e font, saving the current font
+ for later restoration; _o_t_h_e_r font
+ changes within the span of a uuuullll will
+ take effect, but the restoration
+ will undo the last change. Output
+ generated by ttttllll (§14) _i_s affected by
+ the font change, but does _n_o_t decreâ€
+ ment _N. If _N>1, there is the risk
+ that a trap interpolated macro may
+ provide text lines within the span;
+ environment switching can prevent
+
+
+ †58 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ this.
+ ....ccccuuuu _N off _N=1 E Continuous underline. A variant of
+ uuuullll that causes _e_v_e_r_y character to be
+ underlined in _n_r_o_f_f. Identical to
+ uuuullll in _t_r_o_f_f.
+ ....uuuuffff _F Italic Italic – Underline font set to _F. In _n_r_o_f_f,
+ _F may _n_o_t be on position 1.
+ _1_0._4._C_o_n_t_r_o_l _c_h_a_r_a_c_t_e_r_s. Both the control character .... and the _n_oâ€
+ _b_r_e_a_k control character ´´´´ may be changed, if desired. Such a
+ change must be compatible with the design of any macros used in
+ the span of the change, and particularly of any trapâ€invoked macâ€
+ ros.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....cccccccc _c .... .... E The basic control character is set
+ to _c, or reset to "....".
+ ....cccc2222 _c ´´´´ ´´´´ E The _n_o_b_r_e_a_k control character is set
+ to _c, or reset to "´´´´".
+ _1_0._5._O_u_t_p_u_t _t_r_a_n_s_l_a_t_i_o_n. One character can be made a standâ€in for
+ another character using ttttrrrr. All text processing (e.g. characâ€
+ ter comparisons) takes place with the input (standâ€in) characâ€
+ ter which appears to have the width of the final character. The
+ graphic translation occurs at the moment of output (including
+ diversion). Text in a diversion is not translated again when
+ it is output or rediverted unless the aaaasssscccciiiiiiiiffffyyyy request had been
+ applied on it.
+ A character can be substituted by an arbitrary sequence of charâ€
+ acters, motions, drawing commands, etc. by means of the cccchhhhaaaarrrr
+ request.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ttttrrrr _a_b_c_d.... none – O Translate _a into _b, _c into _d, etc.
+ If an odd number of characters is
+ given, the last one will be mapped
+ into the space character. To be
+ consistent, a particular translation
+ must stay in effect from _i_n_p_u_t to
+ _o_u_t_p_u_t time.
+ ....ttttrrrriiiinnnn _a_b_c_d.... none – O Translate _a into _b, _c into _d, etc.
+ as with ttttrrrr, but when the aaaasssscccciiiiiiiiffffyyyy
+ request is called, retranslate _b to
+ _a, _d to _c, etc. in the diversion it
+ is applied to.
+ ....ttttrrrrnnnntttt _a_b_c_d.... none – O Translate _a into _b, _c into _d,
+ etc. as with ttttrrrr, unless the output
+ is written to a diversion in tranâ€
+ sparent mode.
+ ....ffffttttrrrr _F _a_b_c_d.... none – P,TFontâ€specific ttttrrrr. If the current
+ character originates from font _F,
+ translate character _a into _b, _c into
+ _d, etc.
+ ....cccchhhhaaaarrrr _c _s_t_r_i_n_g ignored–Define character _c to _s_t_r_i_n_g.
+ _s_t_r_i_n_g is read in _c_o_p_y _m_o_d_e when the
+ request is processed.
+
+
+ †59 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ Whenever _c occurs in regular (not
+ copy mode) later, a temporary copy
+ of the current environment is
+ created, the escape character is
+ temporarily set to \, and _s_t_r_i_n_g is
+ output in nofill mode to an unnamed
+ diversion. If _c itself occurs in
+ _s_t_r_i_n_g, no recursive substitution
+ takes place, but the plain character
+ _c is selected instead. The resultâ€
+ ing object continues to behave like
+ the single character _c in the data
+ stream, notionally retaining its
+ font and character size properties.
+ It can thus be part of a kerning
+ definition, can be hyphenated (posâ€
+ sibly requiring an explicit hyphenaâ€
+ tion code to be assigned using the
+ hhhhccccooooddddeeee request), can become the tab
+ or leader character, and can be used
+ for line drawing.
+ Static letter space adjustments
+ defined with the ttttrrrraaaacccckkkk request are
+ applied to each but the last characâ€
+ ter inside the diversion, and to the
+ object as a whole. Dynamic letter
+ space adjustments defined with the
+ lllleeeettttaaaaddddjjjj request are only applied to
+ the object as a whole. No letter
+ reshaping is performed on either the
+ object or the contents of the diverâ€
+ sion.
+ If both ttttrrrr and cccchhhhaaaarrrr are defined for
+ a character _c, ttttrrrr becomes effective
+ first and changes _c to the transâ€
+ lation defined, but if _c is the
+ result of ttttrrrr and cccchhhhaaaarrrr is defined
+ for it, cccchhhhaaaarrrr is applied. ffffttttrrrr has
+ no effect on characters for which
+ cccchhhhaaaarrrr is defined. Both ttttrrrr and ffffttttrrrr
+ are applied to characters inside the
+ cccchhhhaaaarrrr diversion as usual.
+ At the time _c would have been outâ€
+ put, the contents of the diversion
+ are printed instead of it.
+ ....ffffcccchhhhaaaarrrr _c _s_t_r_i_n_g ignored T Define character _c to _s_t_r_i_n_g as a
+ fallback only: If _c is present in
+ the current font, output _c, otherâ€
+ wise, output _s_t_r_i_n_g as with cccchhhhaaaarrrr.
+ ....rrrrcccchhhhaaaarrrr _c... ignored–Remove character definitions for
+ _c...; applies to both cccchhhhaaaarrrr and
+ ffffcccchhhhaaaarrrr.
+ ....uuuuttttffff8888ccccoooonnnnvvvv _c_1 _c_2 ignored – _n_r_o_f_f only: With ----TTTTllllooooccccaaaalllleeee and a
+ UTFâ€8 locale, "â€" is replaced by a
+
+
+ †60 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ UTFâ€8 hyphen, and "\\\\â€" remains the
+ ASCII hyphenâ€minus character. This
+ is because in manual pages, "\\\\----"
+ represents the ASCII option introâ€
+ duction character, and converting it
+ to a UTFâ€8 minus character would
+ make it impossible to copyâ€andâ€paste
+ option descriptions. Similar conâ€
+ siderations apply to ` ' vs. \`
+ \'. The former are typographic sinâ€
+ gle quotes, while the latter are
+ commonly used for the ASCII syntax
+ quotes in manual pages.
+ By use of uuuuttttffff8888ccccoooonnnnvvvv the three default
+ translations can be redefined and
+ additional translations can be done.
+ If _c_2 is missing a translation is
+ removed. This is applied for manual
+ pages where the no translation is
+ used.
+ _1_0._6._T_r_a_n_s_p_a_r_e_n_t _t_h_r_o_u_g_h_p_u_t. An input line beginning with a \\\\!!!!
+ is read in _c_o_p_y _m_o_d_e and _t_r_a_n_s_p_a_r_e_n_t_l_y output (without the iniâ€
+ tial \\\\!!!!); the text processor is otherwise unaware of the line’s
+ presence. This mechanism may be used to pass control information
+ to a postâ€processor or to imbed control lines in a macro created
+ by a diversion.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....oooouuuuttttppppuuuutttt _s_t_r_i_n_g ignored–Write _s_t_r_i_n_g directly to interâ€
+ mediate output, regardless of
+ whether there is a current diverâ€
+ sion or not. _s_t_r_i_n_g is read in copy
+ mode, and an initial doubleâ€quote is
+ discarded.
+ _1_0._7._T_r_a_n_s_p_a_r_e_n_t _o_u_t_p_u_t. The sequence \\\\XXXX´_a_n_y_t_h_i_n_g´ copies _a_n_y_â€
+ _t_h_i_n_g to the _t_r_o_f_f output, as a device control function in the
+ form xxxx XXXX _a_n_y_t_h_i_n_g (§26). Escape sequences in _a_n_y_t_h_i_n_g are proâ€
+ cessed. The sequence \\\\YYYY_x, \\\\YYYY((((_x_x, or \\\\YYYY[[[[_x_x_x]]]] copies the conâ€
+ tents of the string or macro _x, _x_x, or _x_x_x,, respectively, to
+ the output as a device control function without processing escape
+ sequences. Newlines in the macro are embedded in the output.
+ _n_r_o_f_f discards transparent output sequences and their contents.
+ _1_0._8._C_o_m_m_e_n_t_s _a_n_d _c_o_n_c_e_a_l_e_d _n_e_w_l_i_n_e_s. An uncomfortably long input
+ line that must stay one line (e.g. a string definition, or
+ nofilled text) can be split into many physical lines by ending
+ all but the last one with the escape \\\\. The sequence \\\\(newline)
+ is _a_l_w_a_y_s ignored—except in a comment. Comments may be imbedded
+ at the _e_n_d of any line by prefacing them with \\\\"""". This form does
+ not conceal the newline at the end of the comment. A line beginâ€
+ ning with \\\\"""" will appear as a blank line and behave like ....sssspppp 1111;
+ a comment can be on a line by itself by beginning the line with
+ ....\\\\"""". The form \\\\#### includes the newline as part of the comment.
+ It thus effectively acts like a concealed newline in concatenatâ€
+ ing the following line immediately to the current line.
+
+
+ †61 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 11111111.... LLLLooooccccaaaallll HHHHoooorrrriiiizzzzoooonnnnttttaaaallll aaaannnndddd VVVVeeeerrrrttttiiiiccccaaaallll MMMMoooottttiiiioooonnnnssss,,,, aaaannnndddd tttthhhheeee WWWWiiiiddddtttthhhh FFFFuuuunnnnccccâ€â€â€â€
+ t1_ttti1_iiio.ooon1_nnn._L_o_c_a_l _M_o_t_i_o_n_s. The functions \\\\vvvv´´´´_N´´´´ and \\\\hhhh´´´´_N´´´´ can be used
+ tftttioiiiorooonnnn _l_o_c_a_l vertical and horizontal motion respectively. The disâ€
+ tance _N may be negative; the _p_o_s_i_t_i_v_e directions are _r_i_g_h_t_w_a_r_d
+ and _d_o_w_n_w_a_r_d. A _l_o_c_a_l motion is one contained _w_i_t_h_i_n a line.
+ To avoid unexpected vertical dislocations, it is necessary that
+ the _n_e_t vertical local motion within a word in filled text and
+ otherwise within a line balance to zero. The above and certain
+ other escape sequences providing local motion are summarized in
+ the following table.*
+
+ ─┌──────────────┬────────────────────────╥──────────────┬─────────────────────────────â”
+ │ Vertical │ Effect in ║ Horizontal │ Effect in │
+ │Local Motion │ _t_r_o_f_f _n_r_o_f_f ║Local Motion │ _t_r_o_f_f _n_r_o_f_f │
+ ─├──────────────┼────────────────────────╫──────────────┼─────────────────────────────┤
+ ││ \\\\vvvv´´´´_N´´´´ ││Move distance _N ║║ \\\\hhhh´´´´_N´´´´ ││Move distance _N ││
+ │├───────────────│┼───────────────────────║ \\\\(space) │Unpaddable spaceâ€size space │
+ │ │ │ â•‘ \\\\∼∼∼∼ │Paddable noâ€break space │
+ │ \\\\uuuu │½ em up │½ line up â•‘ \\\\0000 │Digitâ€size space │
+ │ \\\\dddd │½ em down │½ line down ║╟───────────────│┼─────────────────────────────│
+ │ \\\\rrrr │1 em up │1 line up ║ \\\\|||| │1/6 em space │ignored │
+ │ │ │ ║ \\\\^^^^ │1/12 em space │ignored │
+ ─└──────────────┴───────────┴─────────────╨──────────────┴────────────────────┴─────────┘
+
+ As an example, EEEE2222 could be generated by the sequence
+ EEEE\\\\ssss----2222\\\\vvvv´´´´----0000....4444mmmm´´´´2222\\\\vvvv´´´´0000....4444mmmm´´´´\\\\ssss++++2222; note that the 0.4 em vertical
+ motions are at the smaller size.
+ _1_1._2._W_i_d_t_h _F_u_n_c_t_i_o_n. The _w_i_d_t_h function \\\\wwww´´´´_s_t_r_i_n_g´´´´ generates the
+ numerical width of _s_t_r_i_n_g (in basic units). Size and font
+ changes may be safely imbedded in _s_t_r_i_n_g, and will not affect the
+ current environment. For example, ....ttttiiii ----\\\\wwww´´´´\\\\ffffBBBB1111.... ´´´´uuuu could be used
+ to temporarily indent leftward a distance equal to the size of
+ the string "1111.... " in font BBBB.
+ The width function also sets five number registers. The regisâ€
+ ters sssstttt and ssssbbbb are set respectively to the highest and lowest
+ extent of _s_t_r_i_n_g relative to the baseline; then, for example, the
+ total _h_e_i_g_h_t of the string is \\\\nnnn((((ssssttttuuuu----\\\\nnnn((((ssssbbbbuuuu. The registers rrrrsssstttt
+ and rrrrssssbbbb are set respectively to the highest and lowest visual
+ extent of _s_t_r_i_n_g relative to the baseline, i.e. to the maximum
+ and minimum extent of the _y value of any bounding box of the
+ characters in _s_t_r_i_n_g. In _t_r_o_f_f the number register cccctttt is set to
+ a value between 0 and 3: 0 means that all of the characters in
+ _s_t_r_i_n_g were short lower case characters without descenders (like
+ eeee); 1 means that at least one character has a descender (like
+ yyyy); 2 means that at least one character is tall (like HHHH); and
+ 3 means that both tall characters and characters with descenders
+ are present.
+ The ....wwww number register contains the width of the previous charâ€
+ acter independently of the width function. Similarly, the ....cccchhhhtttt
+ and ....ccccddddpppp registers are set respectively to the highest and lowest
+ visual extent of the previous character relative to the baseline.
+ _1_1._3._M_a_r_k _h_o_r_i_z_o_n_t_a_l _p_l_a_c_e. The escape sequence \\\\kkkk_x will cause
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
+ ∗The line drawing escapes \l and \L also cause local motions.
+
+
+ †62 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ the _c_u_r_r_e_n_t horizontal position in the _i_n_p_u_t _l_i_n_e to be
+ stored in register _x. As an example, the construction
+ \\\\kkkkxxxx_w_o_r_d\\\\hhhh´´´´||||\\\\nnnnxxxxuuuu++++3333uuuu´´´´_w_o_r_d will embolden _w_o_r_d by backing up to
+ almost its beginning and overprinting it, resulting in _w_w_o_o_r_r_d_d.
+ Likewise, \\\\kkkk((((_x_x and \\\\kkkk[[[[_x_x_x]]]] will store the horizontal position in
+ register _x_x or _x_x_x, respectively. The hhhhpppp number register also
+ holds the current horizontal position in the input line.
+ 11112222.... OOOOvvvveeeerrrrssssttttrrrriiiikkkkeeee,,,, BBBBrrrraaaacccckkkkeeeetttt,,,, LLLLiiiinnnneeeeâ€ddddrrrraaaawwwwiiiinnnngggg,,,, GGGGrrrraaaapppphhhhiiiiccccssss,,,, aaaannnndddd ZZZZeeeerrrrooooâ€wwwwiiiiddddtttthhhh
+ F1_FFFu2_uuun.nnnc1_ccct.tttiO_iiiov_ooone_nnnsr_sss_s_t_r_i_k_i_n_g. Automatically centered overstriking of up
+ FtFFFuouuunnnncccctntttiiiiionooonennnssss characters is provided by the _o_v_e_r_s_t_r_i_k_e function
+ \\\\oooo´´´´_s_t_r_i_n_g´´´´. The characters in _s_t_r_i_n_g overprinted with centers
+ aligned; the total width is that of the widest character. _s_t_r_i_n_g
+ may _n_o_t contain local vertical motion. As examples, \\\\oooo´´´´eeee\\\\´´´´´´´´ proâ€
+ duces e´´´´eee, and \\\\oooo´´´´\\\\((((mmmmoooo\\\\((((ssssllll´´´´ produces ∈////∈∈∈.
+ _1_2._2._Z_e_r_oâ€_w_i_d_t_h _c_h_a_r_a_c_t_e_r_s _a_n_d _s_t_r_i_n_g_s. The function \\\\zzzz_c will
+ output _c without spacing over it, and can be used to produce
+ leftâ€aligned overstruck combinations. As examples, \\\\zzzz\\\\((((cccciiii\\\\((((ppppllll
+ will produce â—‹++++â—‹â—‹â—‹, and \\\\((((bbbbrrrr\\\\zzzz\\\\((((rrrrnnnn\\\\((((uuuullll\\\\((((bbbbrrrr will produce the smallest
+ possible constructed box ││││‾____‾‾‾││││.
+ The function \\\\ZZZZ’_s_t_r_i_n_g’ prints _s_t_r_i_n_g in nofill mode and restores
+ the horizontal and vertical position afterwards.
+ _1_2._3._L_a_r_g_e _B_r_a_c_k_e_t_s. The Special Font contains a number of
+ bracket construction pieces (⎧⎩⎫⎭⎨⎬⎪⌊⌋⌈⌉) that can be combined
+ into various bracket styles. The function \\\\bbbb´´´´_s_t_r_i_n_g´´´´ may be used
+ to pile up vertically the characters in _s_t_r_i_n_g (the first characâ€
+ ter on top and the last at the bottom); the characters are vertâ€
+ ically separated by 1 em and the total pile is centered 1/2em
+ above the current baseline (½ line in _n_r_o_f_f). For example,
+ \\\\bbbb´´´´\\\\((((llllcccc\\\\((((llllffff´´´´EEEE\\\\||||\\\\bbbb´´´´\\\\((((rrrrcccc\\\\((((rrrrffff´´´´\\\\xxxx´´´´----0000....5555mmmm´´´´\\\\xxxx´´´´0000....5555mmmm´´´´ produces ⌈⌈⌈⌈
+ ⌊⌊⌊⌊EEEE⌉⌉⌉⌉
+ ⌋⌋⌋⌋.
+ _1_2._4._L_i_n_e _d_r_a_w_i_n_g. The function \\\\llll´´´´_N_c´´´´ (backslashâ€ell) will draw
+ a string of repeated _c’s towards the right for a distance _N. If
+ _c looks like a continuation of an expression for _N, it may insuâ€
+ lated from _N with a \\\\&&&&. If _c is not specified, the ⎽⎽⎽⎽ (baseâ€
+ line rule) is used (underline character in _n_r_o_f_f). If _N is negaâ€
+ tive, a backward horizontal motion of size _N is made _b_e_f_o_r_e drawâ€
+ ing the string. Any space resulting from _N/(size of _c) having
+ a remainder is put at the beginning (left end) of the string.
+ If _N is less than the width of _c, a single _c is centered on
+ a distance _N. In the case of characters that are designed
+ to be connected such as baselineâ€rule ⎽⎽⎽⎽, underrule ____, and rootâ€
+ en ‾‾‾‾, the remainder space is covered by overâ€lapping; the set of
+ these characters can be customized with the ccccoooonnnnnnnneeeeccccttttcccchhhhaaaarrrr request
+ described below. If _N is _l_e_s_s than the width of _c, a single _c is
+ centered on a distance _N. As an example, a macro to underscore a
+ string can be written
+ ....ddddeeee uuuussss
+ \\\\\\\\$$$$1111\\\\llll´´´´||||0000\\\\((((uuuullll´´´´
+ ........
+ or one to draw a box around a string
+ ....ddddeeee bbbbxxxx
+ \\\\((((bbbbrrrr\\\\||||\\\\\\\\$$$$1111\\\\||||\\\\((((bbbbrrrr\\\\llll´´´´||||0000\\\\((((rrrrnnnn´´´´\\\\llll´´´´||||0000\\\\((((uuuullll´´´´
+ ........
+ such that
+ ....uuuussss """"uuuunnnnddddeeeerrrrlllliiiinnnneeeedddd wwwwoooorrrrddddssss""""
+
+
+ †63 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ and
+ ....bbbbxxxx """"wwwwoooorrrrddddssss iiiinnnn aaaa bbbbooooxxxx""""
+ yield u_n_d_e_r_l_i_n_e_d__w_o_r_d_s_ and │_‾w_‾o_‾r_‾d_‾s_‾‾_i_‾n_‾‾_a_‾‾_b_‾o_‾x_‾│_‾.
+ The function \\\\LLLL´´´´_N_c´´´´ draws a vertical line consisting of the
+ (optional) character _c stacked vertically apart 1em (1 line in
+ _n_r_o_f_f), with the first two characters overlapped, if necessary,
+ to form a continuous line. The default character is the _b_o_x _r_u_l_e
+ │ (\\\\((((bbbbrrrr); the other suitable character is the _b_o_l_d _v_e_r_t_i_c_a_l ⎪
+ (\\\\((((bbbbvvvv). The line is begun without any initial motion relative to
+ the current base line. A positive _N specifies a line drawn downâ€
+ ward and a negative _N specifies a line drawn upward. After the
+ line is drawn _n_o compensating motions are made; the instantaneâ€
+ ous baseline is at the _e_n_d of the line. Motions of line drawing
+ functions are local which means that the effect of these motions
+ va_n_i_s_h_e_s__w_h_e_n__a__n_e_w__o_u_t_p_u_t__l_i_n_e__i_s__s_t_a_r_t_e_d_._________________________
+ T│he horizontal and vertical line drawing functions may be used in │
+ c│ombination to produce large boxes. The zeroâ€width _b_o_xâ€_r_u_l_e and │
+ t│he ½â€em wide _u_n_d_e_r_r_u_l_e were _d_e_s_i_g_n_e_d to form corners when using │
+ 1│â€em vertical spacings. For example the macro │
+ │ ....ddddeeee eeeebbbb │
+ │ ....sssspppp ----1111 \\\\""""ccccoooommmmppppeeeennnnssssaaaatttteeee ffffoooorrrr nnnneeeexxxxtttt aaaauuuuttttoooommmmaaaattttiiiicccc bbbbaaaasssseeeeâ€lllliiiinnnneeee ssssppppaaaacccciiiinnnngggg │
+ │ ....nnnnffff \\\\""""aaaavvvvooooiiiidddd ppppoooossssssssiiiibbbbllllyyyy oooovvvveeeerrrrfffflllloooowwwwiiiinnnngggg wwwwoooorrrrdddd bbbbuuuuffffffffeeeerrrr │
+ │ \\\\hhhh´´´´----....5555nnnn´´´´\\\\LLLL´´´´||||\\\\\\\\nnnnaaaauuuu----1111´´´´\\\\llll´´´´\\\\\\\\nnnn((((....lllluuuu++++1111nnnn\\\\((((uuuullll´´´´\\\\LLLL´´´´----||||\\\\\\\\nnnnaaaauuuu++++1111´´´´\\\\llll´´´´||||0000uuuu----....5555nnnn\\\\(│(((uuuullll´´´´ \\\\""""ddddrrrraaaawwww bbbbooooxxxx
+ │ ....ffffiiii │
+ │ ........ │
+ w│ill draw a box around some text whose beginning vertical place │
+ w│as saved in number register _a (e.g. using ....mmmmkkkk aaaa) as done for │
+ t_│h_i_s__p_a_r_a_g_r_a_p_h_._____________________________________________________│_
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ccccoooonnnnnnnneeeeccccttttcccchhhhaaaarrrr _c.. """"\\\\((((rrrruuuu\\\\((((uuuullll\o\\\(f(((rfrrrnEnnnConnected characters for line
+ drawing. If there is a remainder
+ to be drawn for a horizontal line,
+ these characters are drawn overâ€
+ lapping. The current set is availâ€
+ able in the ....ccccoooonnnnnnnneeeeccccttttcccchhhhaaaarrrr number
+ register.
+ _1_2._5._G_r_a_p_h_i_c_s. The function \\\\DDDD´_c...´ draws a graphic object of
+ type _c according to a sequence of parameters, which are generally
+ pairs of numbers.
+ \\\\DDDD´´´´llll _d_h _d_v´ draw line from current position by _d_h,_d_v
+ \\\\DDDD´´´´pppp _d_h_1 _d_v_1 _d_h_2 _d_v_2 ...´draw polygon, i.e. a line to _d_h_1,_d_v_1, then to _d_h_2,_d_v_2, then ...
+ \\\\DDDD´´´´PPPP _d_h_1 _d_v_1 _d_h_2 _d_v_2 ...´draw filled polygon
+ \\\\DDDD´´´´cccc _d´ draw circle of diameter _d with left side at current position
+ \\\\DDDD´´´´CCCC _d´ draw filled circle
+ \\\\DDDD´´´´eeee _u _v´ draw ellipse of diameters _u and _v
+ \\\\DDDD´´´´EEEE _u _v´ draw filled ellipse
+ \\\\DDDD´´´´aaaa _a _b _c _d´ draw arc from current position to _a+_c,_b+_d, with center at _a,_b from current position
+ \\\\DDDD´´´´∼∼∼∼ _a _b _c _d...´draw Bâ€spline from current position by _a,_b, then by _c,_d, then by _c,_d, then ...
+ For example,\\\\DDDD´´´´eeee0000....2222iiii 0000....1111iiii´´´´ draws the ellipse , and \\\\DDDD´´´´llll....2222iiii
+ ----....1111iiii´´´´\\\\DDDD´´´´llll....1111iiii ....1111iiii´´´´ the line A \\\\DDDD with an unknown _c is processed
+ and copied through to the output for unspecified interpretation;
+ coordinates are interpreted alternately as horizontal and vertiâ€
+ cal values.
+
+
+ †64 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ Numbers taken as horizontal (first, third, etc.) have default
+ scaling of mmmm; vertical numbers (second, fourth, etc.) have
+ default scaling of vvvv (§1.3). The position after a graphical
+ object has been drawn is at its end; for circles and ellipses,
+ the ‘‘end’’ is at the right side.
+ 11113333.... HHHHyyyypppphhhheeeennnnaaaattttiiiioooonnnn....
+ Automatic hyphenation may be switched off and on. When switched
+ on with hhhhyyyy, several variants may be set. A _h_y_p_h_e_n_a_t_i_o_n _i_n_d_i_c_a_t_o_r
+ character, by default \\\\%%%%, may be imbedded in a word to specify
+ desired hyphenation points, or may be prefixed to suppress hypheâ€
+ nation. The character \\\\:::: indicates that a line break may optionâ€
+ ally occur at a point, but that no hyphen is to be generated. In
+ addition, the user may specify a small list of exception words.
+ Only words that consist of a central alphabetic string surrounded
+ by (usually null) nonâ€alphabetic strings are considered candiâ€
+ dates for automatic hyphenation. Unless the set of optional
+ line break characters is otherwise configured, words that contain
+ hyphens (minus), emâ€dashes (\\\\((((eeeemmmm), or hyphenation indicator charâ€
+ acters are _a_l_w_a_y_s subject to splitting after those characters,
+ whether automatic hyphenation is on or off.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....nnnnhhhh hyphenate – E Automatic hyphenation is turned
+ off.
+ ....hhhhyyyy _N on,_N=1 on,_N=1 E Automatic hyphenation is turned on
+ for _N≥1, or off for _N=0. If _N=2,
+ _l_a_s_t lines (ones that will cause a
+ trap) are not hyphenated. For _N=4
+ and 8, the last and first two charâ€
+ acters respectively of a word are
+ not split off. For _N=16 and 32, the
+ last and first characters respecâ€
+ tively of a word are allowed to
+ be split off; this is only effecâ€
+ tive for explicit hyphenation points
+ specified with \\\\%%%%, \\\\::::, or hhhhwwww. These
+ values are additive; i.e. _N=14 will
+ invoke the three restrictions. The
+ current value is available in the
+ ....hhhhyyyy number register.
+ ....hhhhyyyyllllaaaannnngggg _n_a_m_e off off E Set the hyphenation language
+ to _n_a_m_e, which is one of
+ ddddeeee____DDDDEEEE, ddddeeee____DDDDEEEE@@@@ttttrrrraaaaddddiiiittttiiiioooonnnnaaaallll, eeeennnn____UUUUSSSS,
+ ffffrrrr____FFFFRRRR, iiiitttt____IIIITTTT, llllaaaa____VVVVAAAA, or nnnnllll____NNNNLLLL.
+ Other languages can be made
+ available by adding hyphenaâ€
+ tion files to the directory
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////hhhhyyyypppphhhheeeennnn. If no
+ _n_a_m_e argument is present, the hypheâ€
+ nation is reset to the traditional
+ _t_r_o_f_f mechanism. The current value
+ is available in the ....hhhhyyyyllllaaaannnngggg number
+ register.
+ This request also makes parts of
+
+
+ †65 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ words composed by †or \\\\((((eeeemmmm characâ€
+ ters subject to hyphenation, unless
+ otherwise defined explicitly with
+ the ....nnnnhhhhyyyycccchhhhaaaarrrr request. Traditionâ€
+ ally, the only hyphenation points
+ in such words had been the
+ hyphens/dashes.
+ ....sssshhhhcccc _c ††E Set the soft hyphenation character,
+ i.e. the character that is inserted
+ at the end of a hyphenated word.
+ The current soft hyphenation characâ€
+ ter is available in the ....sssshhhhcccc number
+ register.
+ ....hhhhccccooooddddeeee _a_b_c_d... – E Hyphenation code. When determining
+ the hyphenation points for an input
+ word, _a is mapped to _b, etc. When
+ no hyphenation code is specified for
+ a character, it is mapped to its
+ lowerâ€case variant if necessary, and
+ the ‘‘long s’’ (\\\\[[[[lllloooonnnnggggssss]]]]) character
+ is mapped to a ‘‘round s’’.
+ ....hhhhyyyylllleeeennnn _N 5 5 E Hyphenate only words of at least _N
+ characters in length. The current
+ value is available in the ....hhhhyyyylllleeeennnn
+ number register.
+ ....hhhhllllmmmm _N off off E Maximum number of consecutive
+ hyphenated lines. Each time a
+ line is hyphenated automatically,
+ the count of consecutive hyphenated
+ lines (accessible in the ....hhhhllllcccc number
+ register) is incremented; whenâ€
+ ever a line is not automatically
+ hyphenated, it is reset to zero.
+ This request allows to set a limit
+ on the maximum number of consecutive
+ hyphenated lines; when the count
+ of consecutive lines has reached
+ the maximum, the current line is
+ not hyphenated. The default is no
+ limit. The current value is accesâ€
+ sible in the ....hhhhllllmmmm number register.
+ ....hhhhyyyypppppppp _N _M _L 0 0 0 0 0 0 EDefine hyphenation penalties for
+ aaaadddd pppp mode. Every inserted hyphen
+ is given a penalty of _N when comâ€
+ puting optimal break points; each
+ hyphen that is followed by another
+ hyphen gets an additional penalty of
+ _M. A hyphen that is inserted in
+ the last word of a paragraph gets an
+ additional penalty of _L. A value
+ of zero means no penalty. Effecâ€
+ tive penalties correspond to values
+ between 10 and 200. The current
+ values are available in the ....hhhhyyyypppppppp,
+
+
+ †66 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ....hhhhyyyypppppppp2222, and ....hhhhyyyypppppppp3333 number registers.
+ ....bbbbrrrreeeeaaaakkkkcccchhhhaaaarrrr _c. â€â€â€â€â€”——— off E Optional line break characters. A
+ line may always be split after one
+ of these characters. The current
+ set of optional line break characâ€
+ ters is available in the ....bbbbrrrreeeeaaaakkkkcccchhhhaaaarrrr
+ number register.
+ ....nnnnhhhhyyyycccchhhhaaaarrrr _c... â€â€â€â€â€”——— off E Hyphenationâ€inhibiting characters.
+ A word that contains one of the
+ characters _c... is not hyphenated,
+ except that it may be split across
+ lines if one of these characters
+ is also an optional line break
+ character. The current set of
+ hyphenationâ€inhibiting characters is
+ available in the ....nnnnhhhhyyyycccchhhhaaaarrrr number
+ register.
+ ....hhhhcccc _c \\\\%%%% \\\\%%%% E Hyphenation indicator character is
+ set to _c or to the default \\\\%%%%. The
+ indicator does not appear in the
+ output.
+ ....hhhhwwww _w_o_r_d_1 ... ignored–Specify hyphenation points in
+ words with imbedded minus signs.
+ Versions of a word with terminal
+ _s are implied; i.e. _d_i_g-_i_t implies
+ _d_i_g-_i_t_s. This list is examined iniâ€
+ tially _a_n_d after each suffix stripâ€
+ ping.
+ 11114444.... TTTThhhhrrrreeeeeeeeâ€PPPPaaaarrrrtttt TTTTiiiittttlllleeeessss....
+ The titling function ttttllll provides for automatic placement of three
+ fields at the left, center, and right of a line with a titleâ€
+ length specifiable with lllltttt. ttttllll may be used anywhere, and is
+ independent of the normal text collecting process. A common use
+ is in header and footer macros.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ttttllll ´_l_e_f_t´_c_e_n_t_e_r´_r_i_g_h_t´ – – The strings _l_e_f_t, _c_e_n_t_e_r, and
+ _r_i_g_h_t are respectively leftâ€
+ adjusted, centered, and rightâ€
+ adjusted in the current titleâ€
+ length. Any of the strings may be
+ empty, and overlapping is permitâ€
+ ted. If the pageâ€number character
+ (initially %%%%) is found within any
+ of the fields it is replaced by the
+ current page number having the forâ€
+ mat assigned to register %%%%. Any
+ character may be used as the string
+ delimiter.
+ ....ppppcccc _c %%%% off – The page number character is set
+ to _c, or removed. The pageâ€number
+ register remains %%%%.
+ ....lllltttt ±_N 6.5in previous E,mmmmLength of title set to ±_N. The
+ lineâ€length and the titleâ€length are
+
+
+ †67 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _i_n_d_e_p_e_n_d_e_n_t. Indents do not apply
+ to titles; pageâ€offsets do. The
+ current value is available in the
+ ....lllltttt number register.
+ 11115555.... OOOOuuuuttttppppuuuutttt LLLLiiiinnnneeee NNNNuuuummmmbbbbeeeerrrriiiinnnngggg....
+ Automatic sequence numbering of output lines may be requested
+ with nnnnmmmm. When in effect, a threeâ€digit, arabic number plus
+ 3 a digitâ€space is prepended to output text lines. The text
+ lines are thus offset by four digitâ€spaces, and otherwise
+ retain their line length; a reduction in line length may be
+ 6 desired to keep the right margin aligned with an earlier marâ€
+ gin. Blank lines, other vertical spaces, and lines genâ€
+ erated by ttttllll are _n_o_t numbered. Numbering can be temporarily
+ 9 suspended with nnnnnnnn, or with an ....nnnnmmmm followed by a later ....nnnnmmmm ++++0000.
+ In addition, a line number indent _I, and the numberâ€text
+ separation _S may be specified in digitâ€spaces. Further, it
+ 12 can be specified that only those line numbers that are mulâ€
+ tiples of some number _M are to be printed (the others will
+ appear as blank number fields).
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....nnnnmmmm ±_N _M _S _I off E Line number mode. If ±_N is given,
+ line numbering is turned on, and
+ the next output line numbered is
+ numbered ±_N. Default values are
+ _M=1, _S=1, and _I=0. Parameters
+ corresponding to missing arguments
+ are unaffected; a nonâ€numeric arguâ€
+ ment is considered missing. In the
+ absence of all arguments, numbering
+ is turned off; the next line number
+ is preserved for possible further
+ use in number register llllnnnn.
+ ....nnnnnnnn _N – _N=1 E The next _N text output lines are not
+ numbered.
+ 15 As an example, the paragraph portions of this section are
+ numbered with _M=3: ....nnnnmmmm 1111 3333 was placed at the beginning; ....nnnnmmmm
+ was placed at the end of the first paragraph; and ....nnnnmmmm ++++0000 was
+ 18 placed in front of this paragraph; and ....nnnnmmmm finally placed at
+ the end. Line lengths were also changed (by \\\\wwww´´´´0000000000000000´´´´uuuu) to
+ keep the right side aligned. Another example is ....nnnnmmmm ++++5555 5555 xxxx 3333
+ 21 which turns on numbering with the line number of the next
+ line to be 5 greater than the last numbered line, with _M=5,
+ with spacing _S untouched, and with the indent _I set to 3.
+ 11116666.... CCCCoooonnnnddddiiiittttiiiioooonnnnaaaallll AAAAcccccccceeeeppppttttaaaannnncccceeee ooooffff IIIInnnnppppuuuutttt
+ In the following, _c is a oneâ€character, builtâ€in _c_o_n_d_i_t_i_o_n name,
+ !!!! signifies _n_o_t, _N is an integer numerical expression, _F is a
+ floatingâ€point expression, _s_t_r_i_n_g_1 and _s_t_r_i_n_g_2 are strings delimâ€
+ ited by any nonâ€blank, nonâ€numeric character _n_o_t in the strings,
+ and _a_n_y_t_h_i_n_g represents what is conditionally accepted.
+
+
+
+
+
+
+ †68 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....iiiiffff _c _a_n_y_t_h_i_n_g – – If condition _c true, accept _a_n_y_â€
+ _t_h_i_n_g as input; in multiâ€line case
+ use \{_a_n_y_t_h_i_n_g\}.
+ ....iiiiffff !!!!_c _a_n_y_t_h_i_n_g – – If condition _c false, accept _a_n_y_â€
+ _t_h_i_n_g.
+ ....iiiiffff _N _a_n_y_t_h_i_n_g – uuuu If expression _N > 0, accept _a_n_y_â€
+ _t_h_i_n_g.
+ ....iiiiffff !!!!_N _a_n_y_t_h_i_n_g – uuuu If expression _N ≤ 0 [sic], accept
+ _a_n_y_t_h_i_n_g.
+ ....iiiiffff ffff_F _a_n_y_t_h_i_n_g – uuuu If floatingâ€point expression _F > 0,
+ accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff !!!!ffff_F _a_n_y_t_h_i_n_g – uuuu If floatingâ€point expression _F ≤ 0
+ [sic], accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff ´_s_t_r_i_n_g_1´_s_t_r_i_n_g_2´ _a_n_y_t_h_i_n_g –If _s_t_r_i_n_g_1 identical to _s_t_r_i_n_g_2,
+ accept _a_n_y_t_h_i_n_g.
+ ....iiiiffff !!!!´_s_t_r_i_n_g_1´_s_t_r_i_n_g_2´ _a_n_y_t_h_i_n_g–If _s_t_r_i_n_g_1 not identical to
+ _s_t_r_i_n_g_2, accept _a_n_y_t_h_i_n_g.
+ ....iiiieeee _c _a_n_y_t_h_i_n_g – uuuu If portion of ifâ€else; all of the
+ forms for iiiiffff above are valid.
+ ....eeeellll _a_n_y_t_h_i_n_g – – Else portion of ifâ€else.
+ ....wwwwhhhhiiiilllleeee _c _a_n_y_t_h_i_n_g – – Execute _a_n_y_t_h_i_n_g while _c is true;
+ all of the forms for iiiiffff above are
+ valid. _a_n_y_t_h_i_n_g is stored in an
+ unnamed temporary macro each time a
+ wwwwhhhhiiiilllleeee loop is prepared for execuâ€
+ tion.
+ In the multiâ€line case, the \\\\}}}} terâ€
+ minating the loop must be placed at
+ the end of a line.
+ When _a_n_y_t_h_i_n_g is copied to the
+ macro, neither copy mode nor regular
+ escape interpretation apply. Referâ€
+ ences to number registers, strings,
+ etc. must thus be written using a
+ single escape character unless the
+ wwwwhhhhiiiilllleeee request is contained in a
+ macro definition.
+ Nested loops will result in many
+ macro definitions and may slow down
+ execution, especially if their body
+ is large. Recursive macros (§10.6)
+ do not suffer from this problem. In
+ contrast to recursive macro calls,
+ there is no mechanism to terminate a
+ loop automatically when a repetition
+ limit has been reached. In case of
+ doubt, an explicit limit termination
+ condition should be added to prevent
+ endless loops.
+ ....bbbbrrrreeeeaaaakkkk _n – 1 – Break out of _n nested wwwwhhhhiiiilllleeee loops,
+ or terminate the current loop if
+ no argument is given. It is not
+
+
+ †69 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ necessary that all of the loops
+ are contained within the same macro;
+ if there are any macros executâ€
+ ing inside the specified loop, conâ€
+ trol also returns from these macros.
+ In case of a nonâ€positive or nonâ€
+ numeric argument, _n=1 is assumed.
+ If the number of levels requested
+ is greater than the number of loops
+ currently executing, control returns
+ to the highest nonâ€looping level.
+ ....ccccoooonnnnttttiiiinnnnuuuueeee _n – 1 – Continue at the _nâ€th nested wwwwhhhhiiiilllleeee
+ loop, or continue the current loop
+ if no argument is given. Execuâ€
+ tion resumes with the test of the
+ specified wwwwhhhhiiiilllleeee loop; if this test
+ fails, the request is effectively
+ like bbbbrrrreeeeaaaakkkk. ccccoooonnnnttttiiiinnnnuuuueeee also returns
+ from all inside macro calls until
+ it has reached the specified loop.
+ In case of a nonâ€positive or nonâ€
+ numeric argument, _n=1 is assumed.
+ If the number of levels requested
+ is greater than the number of loops
+ currently executing, control returns
+ to the highest nonâ€looping level,
+ and no loop is continued.
+ The builtâ€in condition names are:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †70 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ─┌───────────┬─────────────────────────────────────────────â”
+ │Condition │ │
+ │ Name │ True if │
+ ─├───────────┼─────────────────────────────────────────────┤
+ │ cccc _G │Character _G exists in the current font, │
+ │ │where _G is either an ASCII or localized │
+ │ │input character, a _t_r_o_f_f special character │
+ │ │\\\\((((_x_x or \\\\[[[[_x_x_x]]]], or a \\\\UUUU´_X´ escape sequence │
+ │ dddd _x_x │There is a request, macro, or string _x_x │
+ │ rrrr _x_x │Number register _x_x has been accessed │
+ │ FFFF _f_o_n_t │Font named _f_o_n_t exists │
+ │ oooo │Current page number is odd │
+ │ eeee │Current page number is even │
+ │ tttt │Formatter is _t_r_o_f_f │
+ │ nnnn │Formatter is _n_r_o_f_f │
+ │ vvvv │Never. (vvvv is used by other roff variants.) │
+ ─└───────────┴─────────────────────────────────────────────┘
+
+ If the condition _c is _t_r_u_e, or if the number _N is greater than
+ zero, or if the strings compare identically (including motions
+ and character size and font), _a_n_y_t_h_i_n_g is accepted as input. If
+ a !!!! precedes the condition, number, or string comparison, the
+ sense of the acceptance is reversed.
+ Any spaces between the condition and the beginning of _a_n_y_t_h_i_n_g
+ are skipped over. The _a_n_y_t_h_i_n_g can be either a single input line
+ (text, macro, or whatever) or a number of input lines. In the
+ multiâ€line case, the first line must begin with a left delimiter
+ \\\\{{{{ and the last line must end with a right delimiter \\\\}}}}.
+ The request iiiieeee (ifâ€else) is identical to iiiiffff except that the
+ acceptance state is remembered. A subsequent and matching eeeellll
+ (else) request then uses the reverse sense of that state. iiiieeee â€
+ eeeellll pairs may be nested.
+ Some examples are:
+ ....iiiiffff eeee ....ttttllll ´´´´EEEEvvvveeeennnn PPPPaaaaggggeeee %%%%´´´´´´´´´´´´
+ which outputs a title if the page number is even; and
+ ....iiiieeee \\\\nnnn%%%%>>>>1111 \\\\{{{{\\\\
+ ´´´´sssspppp 0000....5555iiii
+ ....ttttllll ´´´´PPPPaaaaggggeeee %%%%´´´´´´´´´´´´
+ ´´´´sssspppp ||||1111....2222iiii \\\\}}}}
+ ....eeeellll ....sssspppp ||||2222....5555iiii
+ which treats page 1 differently from other pages.
+ 11117777.... EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt SSSSwwwwiiiittttcccchhhhiiiinnnngggg....
+ A number of the parameters that control the text processing are
+ gathered together into an _e_n_v_i_r_o_n_m_e_n_t, which can be switched
+ by the user. The environment parameters are those associâ€
+ ated with requests noting E in their _N_o_t_e_s column; in addiâ€
+ tion, partially collected lines and words are in the environment.
+ Everything else is global; examples are pageâ€oriented parameâ€
+ ters, diversionâ€oriented parameters, number registers, and macro
+ and string definitions. All environments are initialized with
+ default parameter values. The number of possible environments is
+ only limited by available memory.
+ Inside each environment, a smaller set of parameters forms the
+ _i_n_l_i_n_e _e_n_v_i_r_o_n_m_e_n_t. These are: the current and previous point
+
+
+ †71 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ size, as set by ppppssss and \\\\ssss; the current and previous font, as set
+ by fffftttt and \\\\ffff; the control and nobreak control character, as set
+ by cccccccc and cccc2222, respectively; the optional hyphenation character,
+ as set by hhhhcccc; the hyphenation flag, as set by hhhhyyyy; the tab and
+ leader repetition characters, as set by ttttcccc and llllcccc, respectively;
+ and the default line breaking penalty, as set by \\\\JJJJ. The inline
+ environment is pushed by \\\\@@@@{{{{, meaning that the current values of
+ these parameters are saved. When a \\\\@@@@}}}} occurs, the last pushed
+ inline environment is popped, meaning that the previous values of
+ the parameters are restored. Inline environments can be nested
+ to arbitrary depths. They differ from \\\\ssss0000 and \\\\ffffPPPP since they
+ form a stack. Thus, the current font is ‘‘B’’ again after the
+ sequence ‘‘\fB...\@{\fR...\@{\fI...\@}...\@}’’, but ‘‘I’’ after
+ the sequence ‘‘\fB...\fR...\fI...\fP...\fP’’.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....eeeevvvv _n_a_m_e _n_a_m_e=0 previous–Environment switched to environâ€
+ ment _n_a_m_e. Switching is done in
+ pushâ€down fashion so that restorâ€
+ ing a previous environment _m_u_s_t be
+ done with ....eeeevvvv rather than specific
+ reference. Note that what is pushed
+ down and restored is the environment
+ _n_a_m_e, not its contents. The name of
+ the current environment is available
+ in the ....eeeevvvv number register.
+ ....eeeevvvvcccc _n_a_m_e – – Copy the environment _n_a_m_e to the
+ current environment. The temporary
+ state of the current environment is
+ reset, and incompletely filled lines
+ are discarded.
+ 11118888.... IIIInnnnsssseeeerrrrttttiiiioooonnnnssss ffffrrrroooommmm tttthhhheeee SSSSttttaaaannnnddddaaaarrrrdddd IIIInnnnppppuuuutttt
+ The input can be temporarily switched to the system _s_t_a_n_d_a_r_d
+ _i_n_p_u_t with rrrrdddd, which will switch back when _t_w_o newlines in a row
+ are found (the _e_x_t_r_a blank line is not used). This mechanism is
+ intended for insertions in formâ€letterâ€like documentation. The
+ _s_t_a_n_d_a_r_d _i_n_p_u_t can be the user’s keyboard, a _p_i_p_e, or a _f_i_l_e.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....rrrrdddd _p_r_o_m_p_t – _p_r_o_m_p_t=BEL–Read insertion from the stanâ€
+ dard input until two newlines in
+ a row are found. If the standard
+ input is the user’s keyboard, _p_r_o_m_p_t
+ (or a BEL) is written onto the
+ user’s terminal. rrrrdddd behaves like a
+ macro, and arguments may be placed
+ after _p_r_o_m_p_t.
+ ....eeeexxxx – – – Exit from _n_r_o_f_f/_t_r_o_f_f. Text proâ€
+ cessing is terminated exactly as if
+ all input had ended.
+ If insertions are to be taken from the terminal keyboard _w_h_i_l_e
+ output is being printed on the terminal, the command line option
+ ----qqqq will turn off the echoing of keyboard input and prompt only
+ with BEL. The regular input and insertion input _c_a_n_n_o_t simulâ€
+
+
+ †72 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ taneously come from the standard input.
+ As an example, multiple copies of a form letter may be prepared
+ by entering the insertions for all the copies in one file to be
+ used as the standard input, and causing the file containing the
+ letter to reinvoke itself using nnnnxxxx (§19); the process would ultiâ€
+ mately be ended by an eeeexxxx in the insertion file.
+ 11119999.... IIIInnnnppppuuuutttt////OOOOuuuuttttppppuuuutttt FFFFiiiilllleeee SSSSwwwwiiiittttcccchhhhiiiinnnngggg
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ssssoooo _f_i_l_e_n_a_m_e – – Switch source file. The top input
+ (file reading) level is switched to
+ _f_i_l_e_n_a_m_e. When the new file ends,
+ input is again taken from the oriâ€
+ ginal file. It is a fatal error if
+ _f_i_l_e_n_a_m_e cannot be opened. ssssoooo’s may
+ be nested.
+ ....ppppssssoooo _s_t_r_i_n_g – – Execute _s_t_r_i_n_g and read its stanâ€
+ dard output as text input.
+ ....nnnnxxxx _f_i_l_e_n_a_m_e endâ€ofâ€file–Next file is _f_i_l_e_n_a_m_e. The
+ current file is considered ended,
+ and the input is immediately
+ switched to _f_i_l_e_n_a_m_e.
+ ....ssssyyyy _s_t_r_i_n_g – – Execute program from _s_t_r_i_n_g, which
+ is the rest of the input line. The
+ output is not collected automatiâ€
+ cally. The number register $$$$$$$$,
+ which contains the process id of the
+ _t_r_o_f_f process, may be useful in genâ€
+ erating unique filenames for output.
+ ....ppppiiii _s_t_r_i_n_g – – Pipe output to _s_t_r_i_n_g, which is
+ the rest of the input line. This
+ request must occur _b_e_f_o_r_e any printâ€
+ ing occurs; typically it is the
+ first line of input.
+ ....ccccffff _f_i_l_e_n_a_m_e – – Copy contents of file _f_i_l_e_n_a_m_e to
+ output, completely unprocessed. The
+ file is assumed to contain something
+ meaningful to subsequent processes.
+ ....ooooppppeeeennnn _s_t_r_e_a_m _f_i_l_e_n_a_m_e ignored–Open _f_i_l_e_n_a_m_e for writing while
+ truncating existing contents and
+ associates _s_t_r_e_a_m with it for latter
+ use with wwwwrrrriiiitttteeee etc.
+ ....ooooppppeeeennnnaaaa _s_t_r_e_a_m _f_i_l_e_n_a_m_e ignored–Like ooooppppeeeennnn but appends to _f_i_l_e_n_a_m_e
+ instead of truncating an existing
+ file.
+ ....wwwwrrrriiiitttteeee _s_t_r_e_a_m _t_e_x_t ignored–Write _t_e_x_t to file _s_t_r_e_a_m, which
+ must have been obtained by a previâ€
+ ous ooooppppeeeennnn request. _t_e_x_t is interâ€
+ preted in _c_o_p_y _m_o_d_e.
+ ....wwwwrrrriiiitttteeeecccc _s_t_r_e_a_m _t_e_x_t ignored–Like wwwwrrrriiiitttteeee but does not write a
+ terminating newline.
+ ....wwwwrrrriiiitttteeeemmmm _s_t_r_e_a_m _x_x ignored–Write contents of string, macro,
+ or diversion _x_x. No newline is
+ appended, so if _x_x is a string, the
+
+
+ †73 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ output does not terminate with a
+ newline.
+ ....cccclllloooosssseeee _s_t_r_e_a_m – – Close the file _s_t_r_e_a_m, which must
+ have been obtained by a previous
+ ooooppppeeeennnn request.
+ 22220000.... MMMMiiiisssscccceeeellllllllaaaannnneeeeoooouuuussss
+ The \\\\VVVV_x, \\\\VVVV((((_x_x, or \\\\VVVV[[[[_x_x_x]]]] escape sequence causes the value of
+ the _x, _x_x, or _x_x_x environment variable, respectively, to be
+ printed. It is interpreted in _c_o_p_y _m_o_d_e.
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....mmmmcccc _c _N – off E,mmmm Specifies that a _m_a_r_g_i_n character _c │
+ appear a distance _N to the right │
+ of the right margin after each non†│
+ empty text line (except those pro†│
+ duced by ttttllll). If the output line │
+ is tooâ€long (as can happen in nofill │
+ mode) the character will be appended │
+ to the line. If _N is not given, │
+ the previous _N is used; the initial │
+ _N is 0.2 inches in _n_r_o_f_f and 1em in │
+ _t_r_o_f_f. The margin character used │
+ with this paragraph was a 12â€point │
+ boxâ€rule. │
+ ....llllppppffffxxxx _s_t_r_i_n_g off off E Set the line prefix to _s_t_r_i_n_g.
+ ‘‘‘‘Whenever a new output line is
+ ‘‘started, _s_t_r_i_n_g is then printed at
+ ‘‘its beginning. Font and size setâ€
+ ‘‘tings as well as automatic ligaâ€
+ ‘‘tures in _s_t_r_i_n_g are retained
+ ‘‘regardless of later changes. This
+ ‘‘request is mainly useful to impleâ€
+ ‘‘ment a historic form of block quoâ€
+ ‘‘tation. The current value is
+ ‘‘available in the ....llllppppffffxxxx register.’’
+ ....ttttmmmm _s_t_r_i_n_g – newline–After skipping initial blanks,
+ _s_t_r_i_n_g (rest of the line) is read in
+ _c_o_p_y _m_o_d_e and written on the stanâ€
+ dard error.
+ ....ttttmmmmcccc _s_t_r_i_n_g – newline–Like ttttmmmm but does not write a terâ€
+ minating newline.
+ ....nnnnoooopppp _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e – – Use _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e as input.
+ ....cccchhhhoooommmmpppp _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e – –Use _r_e_m_a_i_n_d_e_r _o_f _l_i_n_e _w_i_t_h_o_u_t
+ _n_e_w_l_i_n_e as input.
+ ....aaaabbbb _s_t_r_i_n_g – newline–After skipping initial blanks,
+ _s_t_r_i_n_g (rest of the line) is read in
+ _c_o_p_y _m_o_d_e and written on the stanâ€
+ dard error. _t_r_o_f_f or _n_r_o_f_f then
+ exit.
+ ....iiiigggg _y_y – ._y_y=........ – Ignore input lines. iiiigggg behaves
+ exactly like ddddeeee (§7) except that
+ the input is discarded. The input
+ is read in _c_o_p_y _m_o_d_e, and any
+ autoâ€incremented registers will be
+
+
+ †74 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ affected.
+ ....llllffff _N _f_i_l_e_n_a_m_e – – Set line number to _N and filename
+ to _f_i_l_e_n_a_m_e for purposes of subâ€
+ sequent error messages, etc. The
+ number register [sic] ....FFFF contains
+ the name of the current input file,
+ as set by command line arguments,
+ ssssoooo, nnnnxxxx, or llllffff. The number regisâ€
+ ter ....cccc contains the number of input
+ lines read from the current file,
+ again perhaps as modified by llllffff.
+ ....ppppmmmm _t – all – Print macros. The names and sizes
+ of all of the defined macros and
+ strings are printed on the standard
+ error; if _t is given, only the total
+ of the sizes is printed. The sizes
+ is given in _b_l_o_c_k_s of 128 characâ€
+ ters.
+ ....ffffllll – – B Flush output buffer. Force outâ€
+ put, including any pending position
+ information.
+ 22221111.... OOOOuuuuttttppppuuuutttt aaaannnndddd EEEErrrrrrrroooorrrr MMMMeeeessssssssaaaaggggeeeessss,,,, DDDDeeeebbbbuuuuggggggggiiiinnnngggg....
+ _2_1._1._O_u_t_p_u_t _M_e_s_s_a_g_e_s. The output from ttttmmmm, ppppmmmm, and the prompt from
+ rrrrdddd, as well as various _e_r_r_o_r messages are written onto the stanâ€
+ dard error. The latter is different from the _s_t_a_n_d_a_r_d _o_u_t_p_u_t,
+ where formatted text goes. By default, both are written onto
+ the user’s terminal, but they can be independently redirected.
+ An error message additionally includes the line number where the
+ error occurred, the current input file name, the current physiâ€
+ cal output page number (if any), and the names of the macros in
+ the frames of the current execution stack. The eeeerrrrrrrrpppprrrriiiinnnntttt request
+ allows to write custom messages in the same format.
+ _2_1._2._W_a_r_n_i_n_g_s. _n_r_o_f_f and _t_r_o_f_f provide a mechanism to enable
+ or disable warnings for several categories. When one of the
+ selected conditions occurs, a _w_a_r_n_i_n_g message is written in the
+ same format as an error message, but processing continues.
+
+ ─┌────────┬──────────────┬─────────────────────────────────────────────────────────â”
+ │ Bit │ Name │ Description │
+ ─└├────────┴┼──────────────┴┼─────────────────────────────────────────────────────────┤┘
+ │ 0 │ nnnnoooonnnneeee │ No warnings at all. │
+ │ 1 │ cccchhhhaaaarrrr │ Warn when unknown character names like \\\\((((xxxxxxxx or \\\\[[[[xxxxxxxxxxxx]]]] │
+ │ │ │ are found. │
+ │ 2 │ nnnnuuuummmmbbbbeeeerrrr │ Warn when illegal numerical expressions occur. │
+ │ 4 │ bbbbrrrreeeeaaaakkkk │ Warn when a line in ....aaaadddd bbbb mode cannot be adjusted. │
+ │ 8 │ ddddeeeelllliiiimmmm │ Warn when a delimiter to an escape sequence is missing. │
+ │ 16 │ eeeellll │ Warn when a eeeellll request is found without a matching iiiieeee. │
+ │ 32 │ ssssccccaaaalllleeee │ Warn when an undefined scale indicator is used in a │
+ │ │ │ numerical expression. │
+ │ 64 │ rrrraaaannnnggggeeee │ Warn when an argument is out of range. │
+ │ 128 │ ssssyyyynnnnttttaaaaxxxx │ Warn about questionable syntax in numerical expres†│
+ │ │ │ sions. │
+
+
+ ─└────────┴──────────────┴─────────────────────────────────────────────────────────┘
+
+ †75 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ─┌────────┬──────────────┬─────────────────────────────────────────────────────────â”
+ │ Bit │ Name │ Description │
+ ─└├────────┴┼──────────────┴┼─────────────────────────────────────────────────────────┤┘
+ │ 256 │ ddddiiii │ Warn when a ddddiiii request is executed but no diversion is │
+ │ │ │ currently active. │
+ │ 512 │ mmmmaaaacccc │ Warn when an undefined request, macro or string is │
+ │ │ │ called. │
+ │ 1024 │ rrrreeeegggg │ Warn when an undefined number register is accessed. │
+ │ │ │ The number register will be set to zero immediately │
+ │ │ │ after the first access so this warning can be printed │
+ │ │ │ only once per register name. │
+ │ 4096 │ rrrriiiigggghhhhttttâ€bbbbrrrraaaacccceeee │ Warn when a \\\\}}}} terminates a numerical expression. │
+ │ 8192 │ mmmmiiiissssssssiiiinnnngggg │ Warn when a required argument to a request is missing. │
+ │ 16384 │ iiiinnnnppppuuuutttt │ Warn when illegal byte sequences or characters that │
+ │ │ │ have no known PostScript equivalent are read. │
+ │ 32768 │ eeeessssccccaaaappppeeee │ Warn when an undefined escape sequence is used. │
+ │ 65536 │ ssssppppaaaacccceeee │ Warn when an unknown long request name is used, but its │
+ │ │ │ first two characters form a known regular request. The │
+ │ │ │ regular request is then executed in extension level 2, │
+ │ │ │ or ignored in extension level 3. │
+ │131072 │ ffffoooonnnntttt │ Warn when a font cannot be found. This warning is │
+ │ │ │ enabled by default. │
+ │ │ aaaallllllll │ All warnings except ddddiiii, mmmmaaaacccc, and rrrreeeegggg. This may be the │
+ │ │ │ best choice when using existing macro packages. │
+ │ │ wwww │ All warnings. │
+ ─└────────┴──────────────┴─────────────────────────────────────────────────────────┘
+
+ _2_1._3._E_r_r_o_r_s. Various _e_r_r_o_r conditions may occur during the operaâ€
+ tion of _n_r_o_f_f and _t_r_o_f_f. Certain less serious errors having only
+ local impact do not cause processing to terminate. Two examples
+ are _w_o_r_d _o_v_e_r_f_l_o_w, caused by a word that is too large to fit into
+ the word buffer (in fill mode), and _l_i_n_e _o_v_e_r_f_l_o_w, caused by an
+ output line that grew too large to fit in the line buffer; in
+ both cases, a message is printed, the offending excess is disâ€
+ carded, and the affected word or line is marked at the point of
+ truncation with a ∗ in _n_r_o_f_f and a ☜ in _t_r_o_f_f. Processing conâ€
+ tinues if possible, on the grounds that output useful for debugâ€
+ ging may be produced. If a serious error occurs, processing terâ€
+ minates, and an appropriate message is printed, along with a list
+ of the macro names currently active. Examples are the inabilâ€
+ ity to create, read, or write files, and the exceeding of certain
+ internal limits that make future output unlikely to be useful.
+ _2_1._4._D_e_b_u_g_g_i_n_g. Strings, macros, and number registers can be
+ _w_a_t_c_h_e_d. Whenever a change of a watched object occurs, or when
+ the object is renamed, removed, or aliased, a notification mesâ€
+ sage is printed. It is formatted like an error message and
+ includes the name of the current (or last previous) request, the
+ name of the objects affected, and, in case of a change, the new
+ contents of the object.
+ When an object is removed, watching is disabled. If an object of
+ the same name is created later, it is not watched unless watching
+ is explicitly enabled for it again.
+
+
+
+
+ †76 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....wwwwaaaarrrrnnnn ±_b_i_t_s|_n_a_m_e _w – Control warning messages, which
+ may be given either numerically as
+ bits or symbolically as names. With
+ a ++++ sign, the respective bit or
+ name is enabled in addition to the
+ currently enabled categories; with a
+ ---- sign, it is disabled. Omitting
+ the sign sets the categories exactly
+ to the given bit or name. ....wwwwaaaarrrrnnnn
+ 0000 disables all warnings. The ....wwwwaaaarrrrnnnn
+ register represents the currently
+ activated warning categories as
+ bits.
+ ....sssspppprrrreeeeaaaaddddwwwwaaaarrrrnnnn _N toggle mmmm Set or toggle a limit that causes
+ a warning to be printed when it
+ is exceeded by the adjustment that
+ is computed for the current outâ€
+ put line in aaaadddd bbbb mode. The limit
+ is initially 3m, but the warning
+ message is disabled. Calling this
+ request without an argument toggles
+ the warning message; calling it with
+ an argument enables the warning and
+ sets the limit to _N (default scale
+ m).
+ ....eeeerrrrrrrrpppprrrriiiinnnntttt _s_t_r_i_n_g newline–Print _s_t_r_i_n_g like an error mesâ€
+ sage.
+ ....wwwwaaaattttcccchhhh _x_x off ignore –Notify on change of string or
+ macro _x_x. If _x_x does not exist,
+ it is created as an empty macro in
+ order to watch future changes.
+ ....uuuunnnnwwwwaaaattttcccchhhh _x_x off ignore –Disable notification for string
+ or macro _x_x.
+ ....wwwwaaaattttcccchhhhlllleeeennnnggggtttthhhh _N ignore – On change, report the contents of
+ macros and strings up to length _N.
+ When _N is zero or small, printing
+ of macro and string contents is disâ€
+ abled.
+ ....wwwwaaaattttcccchhhhnnnn _R off ignore –Notify on change of register _R.
+ If _R does not exist, it is created
+ in order to watch future changes.
+ No effect on readâ€only registers
+ and some of the predefined general
+ registers.
+ ....uuuunnnnwwwwaaaattttcccchhhhnnnn _R off ignore –Disable notification for register
+ _R.
+ 22222222.... CCCCoooolllloooorrrr SSSSuuuuppppppppoooorrrrtttt
+ While _t_r_o_f_f does not support colors directly, _d_p_o_s_t is able
+ to embed arbitrary PostScript color instructions using the
+ \\\\XXXX´´´´SSSSeeeettttCCCCoooolllloooorrrr:::: _c_o_l_o_r´´´´ escape sequence. Possible values for _c_o_l_o_r
+ include:
+ – ‘‘_n_a_m_e_dâ€_c_o_l_o_r’’, e.g. ‘‘red’’. Named colors (RGB only)
+
+
+ †77 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ must be listed in the ‘‘colordict’’ dictionary in file
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvvppppssss////ppppoooossssttttssssccccrrrriiiipppptttt////ccccoooolllloooorrrr....ppppssss. Every
+ _c_o_l_o_r argument that begins with a letter is treated as a named
+ color.
+ – ‘‘_r_e_d _g_r_e_e_n _b_l_u_e rrrrggggbbbb’’, e.g. ‘‘.2 .3 .4 rgb’’ (rrrrggggbbbb is an abbreâ€
+ viation for the PostScript sssseeeettttrrrrggggbbbbccccoooolllloooorrrr operator)
+ – ‘‘_h_u_e _s_a_t_u_r_a_t_i_o_n _b_r_i_g_h_t_n_e_s_s hhhhssssbbbb’’, e.g. ‘‘.5 .6 .7 hsb’’ (hhhhssssbbbb
+ is an abbreviation for the PostScript sssseeeetttthhhhssssbbbbccccoooolllloooorrrr operator)
+ – ‘‘_c_y_a_n _m_a_g_e_n_t_a _y_e_l_l_o_w _b_l_a_c_k ccccmmmmyyyykkkk’’, e.g. ‘‘.1 .2 .3 .4 cmyk’’
+ (ccccmmmmyyyykkkk is an abbreviation for the PostScript sssseeeettttccccmmmmyyyykkkkccccoooolllloooorrrr operaâ€
+ tor)
+ – ‘‘_g_r_a_y sssseeeettttggggrrrraaaayyyy’’, e.g. ‘‘.5 setgray’’
+ – ‘‘[$$$$_s_e_t_c_o_l_o_r_s_p_a_c_e] _c_o_m_p_1 _c_o_m_p_2 ... _c_o_m_p_n sssseeeettttccccoooolllloooorrrr’’, where
+ $$$$_s_e_t_c_o_l_o_r_s_p_a_c_e may be a PostScript procedure defined in the
+ setup section using a ‘\X´PSSetup: $setcolorspace {...} bind
+ def´’ escape sequence. This parameter is required if the color
+ space changes in the document. Otherwise, it may be sufficient
+ to install the color space once in the setup section.
+ Each parameter must be a number in the range between 0.0 and 1.0.
+ In the most general case, the value of the _c_o_l_o_r argument is
+ passed to the PostScript output without interpretation.
+ Both the text and background color can be selected. A _c_o_l_o_r
+ argument of ‘‘_c_o_l_o_r_1’’ oooonnnn ‘‘_c_o_l_o_r_2’’ prints text in _c_o_l_o_r_1 on a
+ background in _c_o_l_o_r_2.
+ The initial color is black in the _D_e_v_i_c_e_G_r_a_y color space, i.e.
+ the same as ‘‘0 setgray’’. Once a color is in effect, it is reâ€
+ installed at the top of each output page.
+ The ----mmmmccccoooolllloooorrrr macro package adds another access method to the capaâ€
+ bilities of color selection and reverse video printing. It
+ includes the following macro:
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....CCCCLLLL _c_o_l_o_r _t_e_x_t RGB black – Print _t_e_x_t in _c_o_l_o_r. No arguâ€
+ ments restores a default color
+ (black in RGB color space; note that
+ this is different from the iniâ€
+ tial color). If _t_e_x_t is omitted
+ the selected _c_o_l_o_r remains in effect
+ until another _c_o_l_o_r is selected. If
+ two arguments are given the _t_e_x_t
+ is printed in _c_o_l_o_r and then the
+ default color is restored.
+ 22223333.... PPPPiiiiccccttttuuuurrrreeee IIIInnnncccclllluuuussssiiiioooonnnn
+ _d_p_o_s_t can be advised to include other PostScript documents into
+ the output it generates. In general, these documents should
+ be EPS (Encapsulated PostScript) files; inclusion of more genâ€
+ eral PostScript documents, especially if they consist of multiple
+ pages, will usually not lead to acceptable results.
+ If a PostScript file lacks pageâ€delimiting comments, the entire
+ file is included. If no %%%%%%%%BBBBoooouuuunnnnddddiiiinnnnggggBBBBooooxxxx or %%%%%%%%HHHHiiiiRRRReeeessssBBBBoooouuuunnnnddddiiiinnnnggggBBBBooooxxxx comâ€
+ ment is present, the picture is assumed to fill an 8.5×11â€inch
+ page. Nothing prevents the picture from being placed off the
+ page.
+ _d_p_o_s_t handles DSC font comments in the included files, but it
+
+
+ †78 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ can only supply glyph data if a path to the respective font file
+ has previously been specified with a _t_r_o_f_f ffffpppp request. It is
+ not necessary that the font is otherwise used in the _t_r_o_f_f input
+ text. If _d_p_o_s_t cannot retrieve a matching font by this mechanâ€
+ ism, it indicates this in the %%%%%%%%DDDDooooccccuuuummmmeeeennnnttttNNNNeeeeeeeeddddeeeeddddRRRReeeessssoooouuuurrrrcccceeeessss comment
+ so that a print manager at a later production stage may include
+ the missing data.
+ An example how to combine the following requests and macros is:
+ ....ppppssssbbbbbbbb ppppiiiiccccttttuuuurrrreeee....eeeeppppssss
+ ....nnnnrrrrffff ssssccccaaaalllleeee ....22225555
+ ....nnnnrrrrffff yyyy ((((\\\\nnnn[[[[uuuurrrryyyy]]]]pppp----\\\\nnnn[[[[llllllllyyyy]]]]pppp))))****\\\\nnnn[[[[ssssccccaaaalllleeee]]]]
+ ....nnnnrrrrffff xxxx ((((\\\\nnnn[[[[uuuurrrrxxxx]]]]pppp----\\\\nnnn[[[[llllllllxxxx]]]]pppp))))****\\\\nnnn[[[[ssssccccaaaalllleeee]]]]
+ ....PPPPIIII ppppiiiiccccttttuuuurrrreeee....eeeeppppssss """"\\\\nnnnyyyyuuuu,,,,\\\\nnnnxxxxuuuu""""
+ ....sssspppp \\\\nnnnyyyyuuuu
+ ppppiiiiccccttttuuuurrrreeee ddddeeeessssccccrrrriiiippppttttiiiioooonnnn
+ _t_r_o_f_f includes a request to assist the inclusion of EPS files:
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ppppssssbbbbbbbb _f_i_l_e_n_a_m_e – – Read the %%%%%%%%HHHHiiiiRRRReeeessssBBBBoooouuuunnnnddddiiiinnnnggggBBBBooooxxxx DSC comâ€
+ ment, or, if no such comment
+ is found, %%%%%%%%BBBBoooouuuunnnnddddiiiinnnnggggBBBBooooxxxx, from the
+ PostScript document _f_i_l_e_n_a_m_e and
+ assign the lower left _x coordinate
+ to the floatingâ€point register llllllllxxxx,
+ the lower left _y coordinate to llllllllyyyy,
+ the upper right _x coordinate to uuuurrrrxxxx,
+ and the upper right _y coordinate to
+ uuuurrrryyyy. All values are in points. If
+ an error occurs, the registers are
+ set to zero.
+ The ----mmmmppppiiiiccccttttuuuurrrreeeessss macros insert the necessary advices to _d_p_o_s_t to
+ include PostScript pictures into _t_r_o_f_f documents. The macros
+ are:
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....BBBBPPPP _s_o_u_r_c_e _h_e_i_g_h_t _w_i_d_t_h _p_o_s_i_t_i_o_n _o_f_f_s_e_t _f_l_a_g_s _l_a_b_e_lDefine a frame
+ and place a picture in it. The
+ arguments are:
+ _s_o_u_r_c_e Name of a PostScript picture
+ file, optionally suffixed with (_n)
+ to select page number _n from the
+ file (first page by default).
+ _h_e_i_g_h_t Vertical size of the frame,
+ default 3333....0000iiii. This argument is
+ interpreted as a value in inches
+ unless it ends with a uuuu scale indiâ€
+ cator.
+ _w_i_d_t_h Horizontal size of the frame,
+ current line length by default.
+ This argument is interpreted as a
+ value in inches unless it ends with
+ a uuuu scale indicator.
+ _p_o_s_i_t_i_o_n llll (default), cccc, or rrrr to
+ leftâ€justify, center, or rightâ€
+
+
+ †79 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ justify the frame.
+ _o_f_f_s_e_t Move the frame horizontally
+ from the original _p_o_s_i_t_i_o_n by this
+ amount, default 0000iiii.
+ _f_l_a_g_s One or more of:
+ aaaa _d Rotate the picture clockwise _d
+ degrees, default _d =90.
+ oooo Outline the picture with a box.
+ ssss Freely scale both picture dimenâ€
+ sions.
+ wwww White out the area to be occupied
+ by the picture.
+ llll, rrrr, tttt, bbbb Attach the picture to
+ the left right, top, or bottom of
+ the frame.
+ _l_a_b_e_l Place _l_a_b_e_l at distance 1111....5555vvvv
+ below the frame.
+ If there is room, BBBBPPPP fills text
+ around the frame. Everything desâ€
+ tined for either side of the
+ frame goes into a diversion to be
+ retrieved when the accumulated text
+ sweeps past the trap set by BBBBPPPP
+ or when the diversion is explicitly
+ closed by EEEEPPPP.
+ BBBBPPPP is not recommended for text filâ€
+ ling in aaaadddd pppp mode since its trapâ€
+ based mechanism may result in less
+ optimal output, and since it is not
+ possible to define the shape of a
+ complete paragraph with the informaâ€
+ tion it has. Use a combination of
+ ppppssssbbbbbbbb, ppppsssshhhhaaaappppeeee, and PPPPIIII instead.
+ ....EEEEPPPP – – – End a picture started by BBBBPPPP; EEEEPPPP is
+ usually called implicitly by a trap
+ at frame bottom. A picture and
+ associated text silently disappear
+ if a diversion trap set by BBBBPPPP is not
+ reached. Call EEEEPPPP at the end of the
+ document to retrieve it.
+ ....PPPPIIII _s_o_u_r_c_e _h_e_i_g_h_t,,,,_w_i_d_t_h,,,,_y_o_f_f_s_e_t,,,,_x_o_f_f_s_e_t _f_l_a_g_sThis lowâ€level
+ macro, used by BBBBPPPP, can help do more
+ complex things. The two arguments
+ not already described are:
+ _x_o_f_f_s_e_t Offset the frame from the
+ left margin by this amount, default
+ 0000iiii. This argument is interpreted
+ as a value in inches unless it ends
+ with a uuuu scale indicator.
+ _y_o_f_f_s_e_t Offset the frame from the
+ current baseline, measuring posiâ€
+ tive downward, default 0000iiii. This
+ argument is interpreted as a value
+ in inches unless it ends with a uuuu
+
+
+ †80 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ scale indicator.
+ 22224444.... SSSSppppeeeecccciiiiaaaallll FFFFeeeeaaaattttuuuurrrreeeessss ffffoooorrrr PPPPDDDDFFFF DDDDooooccccuuuummmmeeeennnnttttssss
+ _2_4._1._T_h_e _b_a_s_i_c_s. _t_r_o_f_f does not directly generate PDF documents;
+ the _d_p_o_s_t postprocessor generates PostScript output which can be
+ converted to PDF by utilities like Ghostscript’s _p_s_2_p_d_f or Adobe
+ Distiller. But it is possible to include special advices to
+ this conversion program in PostScript using the ppppddddffffmmmmaaaarrrrkkkk operator.
+ Such advices are generated automatically by some _t_r_o_f_f requests,
+ e.g. by ccccrrrrooooppppaaaatttt (§3). Other advices can be given explicitly using
+ the \\\\XXXX´´´´PPPPSSSS::::...´´´´ or \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk::::...´´´´ escape sequences.
+ _2_4._2._P_r_e_p_a_r_a_t_i_o_n_s. When generating PDF files, it is especially
+ important to set the paper format using the mmmmeeeeddddiiiiaaaassssiiiizzzzeeee request
+ (§3). This is because calculations in PDF documents are genâ€
+ erally performed in relation regard to the page bottom, while
+ _t_r_o_f_f performs its calculations in relation to the page top.
+ Failing to set the paper format correctly will thus usually
+ result in vertical displacements of PDFâ€specific elements.
+ _2_4._3._S_p_e_c_i_f_y_i_n_g _d_o_c_u_m_e_n_t _d_e_s_c_r_i_p_t_i_o_n _i_t_e_m_s. PDF documents can
+ include metaâ€data about author, title etc. To generate such
+ data, use the PPPPDDDDFFFFMMMMaaaarrrrkkkk device command of _d_p_o_s_t with the _t_r_o_f_f \\\\XXXX
+ escape sequence, e.g.
+ \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: AAAAuuuutttthhhhoooorrrr _M_y _N_a_m_e´´´´
+ \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: KKKKeeeeyyyywwwwoooorrrrddddssss _T_y_p_e_s_e_t_t_i_n_g, _P_D_F _d_o_c_u_m_e_n_t_s´´´´
+ \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: SSSSuuuubbbbjjjjeeeecccctttt _t_r_o_f_f, _d_p_o_s_t, _a_n_d _p_d_f_m_a_r_k´´´´
+ \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: TTTTiiiittttlllleeee _S_p_e_c_i_a_l _f_e_a_t_u_r_e_s _f_o_r _P_D_F _d_o_c_u_m_e_n_t_s´´´´
+ ....bbbbrrrr
+ Unicode characters are accepted in these text strings. Note
+ that whitespace and newlines surrounding \\\\XXXX escape sequences
+ are considered to be input text by _t_r_o_f_f, and need a _b_r_e_a_k
+ before they are output. To avoid inserting superfluous spaces
+ or line breaks, specify this information before an initial ....sssspppp
+ ||||\\\\nnnn[[[[ttttooooppppmmmmaaaarrrrggggiiiinnnn]]]]uuuu request or the like in the document.
+ _2_4._4._D_i_r_e_c_t _u_s_e _o_f _t_h_e _p_d_f_m_a_r_k _o_p_e_r_a_t_o_r. In cases where _t_r_o_f_f or
+ _d_p_o_s_t do not include an explicit mechanism for PDF features, it
+ is possible to call the ppppddddffffmmmmaaaarrrrkkkk operator directly. Examples are:
+ \\\\XXXX´´´´PPPPSSSS:::: [[[[ {{{{CCCCaaaattttaaaalllloooogggg}}}} <<<<<<<< ////VVVViiiieeeewwwweeeerrrrPPPPrrrreeeeffffeeeerrrreeeennnncccceeeessss <<<<<<<< ////DDDDiiiissssppppllllaaaayyyyDDDDooooccccTTTTiiiittttlllleeee ttttrrrruuuueeee
+ >>>>>>>> >>>>>>>> ////PPPPUUUUTTTT ppppddddffffmmmmaaaarrrrkkkk\\\\’
+ This causes the PDF viewer to print the document title (as in
+ §24.3) in the application title bar instead of the PDF file
+ name.
+ \\\\XXXX´´´´PPPPSSSS:::: [[[[ ////PPPPaaaaggggeeeeMMMMooooddddeeee ////UUUUsssseeeeOOOOuuuuttttlllliiiinnnneeeessss ////DDDDOOOOCCCCVVVVIIIIEEEEWWWW ppppddddffffmmmmaaaarrrrkkkk´´´´
+ This causes the PDF viewer to display the bookmarks toolbar
+ when the document is opened. Other interesting values are
+ ////UUUUsssseeeeNNNNoooonnnneeee (the default), ////UUUUsssseeeeTTTThhhhuuuummmmbbbbssss (display page thumbnails),
+ and ////FFFFuuuullllllllSSSSccccrrrreeeeeeeennnn (open the document in fullâ€screen mode).
+ \\\\XXXX´´´´PPPPSSSS:::: [[[[ ////PPPPaaaaggggeeeeMMMMooooddddeeee ////PPPPaaaaggggeeee _N ////VVVViiiieeeewwww [[[[////XXXXYYYYZZZZ nnnnuuuullllllll nnnnuuuullllllll nnnnuuuullllllll]]]] ////DDDDOOOOCCCCVVVVIIIIEEEEWWWW
+ ppppddddffffmmmmaaaarrrrkkkk´´´´
+ Page _N is displayed instead of the first page when the document
+ is opened.
+ \\\\XXXX´´´´PPPPSSSS:::: [[[[ {{{{CCCCaaaattttaaaalllloooogggg}}}} <<<<<<<< ////PPPPaaaaggggeeeeLLLLaaaayyyyoooouuuutttt ////TTTTwwwwooooPPPPaaaaggggeeeeRRRRiiiigggghhhhtttt >>>>>>>> ////PPPPUUUUTTTT ppppddddffffmmmmaaaarrrrkkkk´´´´
+ With this command, the PDF viewer displays two pages at once.
+ Other interesting values are ////SSSSiiiinnnngggglllleeeePPPPaaaaggggeeee (display one page at
+ once), ////OOOOnnnneeeeCCCCoooolllluuuummmmnnnn (display one page in continuous mode), and
+ ////TTTTwwwwooooCCCCoooolllluuuummmmnnnnRRRRiiiigggghhhhtttt (display two pages in continuous mode).
+
+
+ †81 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ \\\\XXXX´´´´PPPPSSSS:::: [[[[ ////LLLLaaaabbbbeeeellll ((((_t_e_x_t)))) ////PPPPAAAAGGGGEEEELLLLAAAABBBBEEEELLLL ppppddddffffmmmmaaaarrrrkkkk´´´´
+ The given ASCII _t_e_x_t is shown next to the page number of the
+ current page in the PDF viewer toolbar. This is particularly
+ useful to implement roman page numbers in PDF documents in comâ€
+ bination with the aaaaffff request.
+ _2_4._5._C_r_e_a_t_i_n_g _b_o_o_k_m_a_r_k_s. Bookmarks are usually shown by the PDF
+ viewer at the left of the window. When you create PDF files
+ longer than a few pages for viewing on the screen, you should
+ include bookmarks for each chapter or section because they enable
+ the reader to navigate much more conveniently.
+ Start with a bookmark for the title page. ‘‘0’’ is the level of
+ the bookmark in the tree structure, and the following arguments
+ form the name of the bookmark: \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: BBBBooooooookkkkmmmmaaaarrrrkkkk _0 _T_i_t_l_e´´´´.
+ Similar to the description specifications above, this bookmark
+ should appear before the top margin of the title page.
+ When generating bookmarks for chapters and sections, it is usuâ€
+ ally most practical to include the command in the chapter/section
+ macros:
+ ....ddddeeee CCCCHHHH
+ .... bbbbpppp
+ \\\\vvvv´´´´||||----1111vvvv----4444pppp´´´´\\\\\\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: BBBBooooooookkkkmmmmaaaarrrrkkkk 0000 \\\\\\\\$$$$1111´´´´
+ .... sssspppp ||||\\\\\\\\nnnn[[[[ttttooooppppmmmmaaaarrrrggggiiiinnnn]]]]uuuu
+ .... cccceeee
+ .... sssspppp
+ ........
+ ....ddddeeee SSSSHHHH
+ .... cccceeee
+ \\\\\\\\$$$$1111\\\\vvvv´´´´----1111vvvv´´´´\\\\\\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: BBBBooooooookkkkmmmmaaaarrrrkkkk 1111 \\\\\\\\$$$$1111´´´´
+ .... sssspppp
+ ........
+ Unless the bookmark command occurs at the top of the page, it
+ refers to the baseline of the text; this is why a \\\\vvvv´´´´----1111vvvv´´´´ command
+ occurs before it in the section macro. \\\\vvvv´´´´----1111vvvv----4444pppp´´´´ at the top of
+ the page is a special value that causes the upper left corner to
+ be shown.
+ The level of the first bookmark in a document must be of level 0.
+ The levels of following bookmarks must be either
+ – one higher than the level of the previous bookmark. The new
+ bookmark then becomes a child of the previous bookmark.
+ – equal to the level of the previous bookmark. In this case,
+ both bookmarks are grouped below the first previous bookmark of
+ the first higher level, or at the top level for level 0.
+ – lower than the level of the previous bookmark. This terminates
+ the list of children of the higher levels.
+ As an example, the following level structure is legal, and causes
+ the PDF viewer to group the bookmarks as shown:
+ 0 title page
+ 0 Chapter 1
+ •-1 Section 1.1
+ •-1 Section 1.2
+ | •--2 Subsection 1.2.1
+ | •--2 Subsection 1.2.2
+ | •--2 Subsection 1.2.3
+ •-1 Section 1.3
+
+
+ †82 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ •--2 Subsection 1.3.1
+ •--2 Subsection 1.3.2
+ 0 Chapter 2
+ •-1 Section 2.1
+ 0 Index
+ In case of an illegal structure in which the level of a bookmark
+ is raised by more than one above its predecessor, _d_p_o_s_t emits a
+ warning and assigns the highest legal level. However, a garbled
+ document structure may result:
+ 0
+ •-2 ☜ the first level 2 is corrected to 1 by _d_p_o_s_t
+ •--2 so the second bookmark becomes a child of the first
+ Thus such _d_p_o_s_t warnings should usually be taken seriously, and
+ the document should be corrected.
+ An alternate form of bookmarks, \\\\XXXX´´´´PPPPDDDDFFFFMMMMaaaarrrrkkkk:::: BBBBooooooookkkkmmmmaaaarrrrkkkkCCCClllloooosssseeeedddd ...´´´´,
+ is available. The syntax is the same, but the initial view in
+ the tree structure is collapsed, i.e. no children are shown by
+ default. It the bookmark has no children, there is no difference
+ to a regular bookmark.
+ _2_4._6._L_i_n_k_s. PDF documents can contain links that cause the viewer
+ to jump to a certain location when the user clicks on an area of
+ the page, as well as links to external documents in URI form. In
+ _t_r_o_f_f, such links can be built as follows:
+ The \\\\AAAA´_s_t_r_i_n_g´ escape sequence defines an anchor, i.e. a locaâ€
+ tion to jump to, with the name _s_t_r_i_n_g (consisting of ASCII charâ€
+ acters).
+ The actual link is built using two \\\\TTTT escape sequences surâ€
+ rounding the text that forms the area to click on, e.g.:
+ \\\\TTTT´_s_t_r_i_n_g´_t_e_x_t _o_f _l_i_n_k\\\\TTTT. _s_t_r_i_n_g must correspond to an anchor
+ anywhere in the document.
+ An URI link is built likewise using two \\\\WWWW escape sequences:
+ \\\\WWWW´_u_r_i´_t_e_x_t _o_f _l_i_n_k\\\\WWWW. The _u_r_i part is not interâ€
+ preted by _t_r_o_f_f, but just written to the generated outâ€
+ put. Typically, this will be a link to a web page, as
+ in <\W’http://nâ€tâ€roff.github.io/heirloom/doctools.html’http://nâ€
+ tâ€roff.github.io/heirloom/doctools.html\W>.
+ The appearance of links can be changed; links are normally surâ€
+ rounded by an 1 point wide blue border. The color can be
+ set using \\\\XXXX’SSSSeeeettttLLLLiiiinnnnkkkkCCCCoooolllloooorrrr:::: _r_e_d _g_r_e_e_n _b_l_u_e’, where _r_e_d, _g_r_e_e_n,
+ _a_n_d _b_l_u_e are values between 0 and 1. The border can be set
+ using \\\\XXXX’SSSSeeeettttLLLLiiiinnnnkkkkBBBBoooorrrrddddeeeerrrr:::: _b_x _b_y _w_i_d_t_h’, where _b_x and _b_y define the
+ horizontal and vertical corner radius, respectively, and _w_i_d_t_h
+ defines the width.
+ The border style can be changed with the \\\\XXXX''''SSSSeeeettttBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee:::: _a_r_g_u_â€
+ _m_e_n_t_s'''' command. The _a_r_g_u_m_e_n_t_s are the same as for the ////BBBBSSSS
+ pdfmark operator or the LATEX hhhhyyyyppppeeeerrrrrrrreeeeffff ppppddddffffbbbboooorrrrddddeeeerrrrssssttttyyyylllleeee===={{{{}}}} variâ€
+ able.
+ Likewise, SSSSeeeettttUUUULLLLiiiinnnnkkkkCCCCoooolllloooorrrr, SSSSeeeettttUUUULLLLiiiinnnnkkkkBBBBoooorrrrddddeeeerrrr, and SSSSeeeettttUUUUBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee are
+ available for URI links.
+ E.g. for this document the commands
+ \\\\XXXX''''SSSSeeeettttBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee:::: ////SSSS////UUUU////WWWW 0000....1111''''
+ \\\\XXXX''''SSSSeeeettttUUUUBBBBoooorrrrddddeeeerrrrSSSSttttyyyylllleeee:::: ////SSSS////UUUU////WWWW 0000....1111''''
+ are used.
+
+
+
+ †83 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ 22225555.... _gggg_rrrr_oooo_ffff_ffff CCCCoooommmmppppaaaattttiiiibbbbiiiilllliiiittttyyyy
+ Heirloom _t_r_o_f_f provides most of the extensions to the _t_r_o_f_f
+ language introduced in _g_r_o_f_f10. Consequently, it is possible to
+ create documents, macro sets, and preprocessors that can be used
+ with both Heirloom _t_r_o_f_f and _g_r_o_f_f and use functionality beyond
+ the features that were supported by traditional _t_r_o_f_f.
+ Important differences to _g_r_o_f_f are: The concept of an _i_n_p_u_t
+ _l_e_v_e_l regarding delimiters in escape sequences and macro arguâ€
+ ments is not supported. Control characters are recognized at the
+ beginning of a line even if preceded by escape sequences that
+ do not result in formatting stream objects, such as \\\\ffff, \\\\ssss, or
+ \\\\;;;;. Font handling, color support, picture inclusion, and PDF
+ structuring are realized using different mechanisms. The _d_p_o_s_t
+ postâ€processor does not recognize the \\\\XXXX´´´´ppppssss::::...´´´´ escape sequence
+ (or xxxx XXXX ppppssss:::: command, respectively) that is used for passâ€through
+ PostScript with the _g_r_o_p_s postâ€processor of _g_r_o_f_f (_d_p_o_s_t accepts
+ \\\\XXXX’PPPPSSSS::::...´´´´ and xxxx XXXX PPPPSSSS::::); the PostScript output generated by _d_p_o_s_t
+ is very different to that generated by _g_r_o_p_s. _d_p_o_s_t accepts
+ the _g_r_o_f_f drawing command extensions and sets the horizontal and
+ vertical positions accordingly, but otherwise ignores line width,
+ color, and fill specifications.
+ _2_5._1._C_o_n_d_i_t_i_o_n_a_l _g_r_o_f_f _c_o_m_p_a_t_i_b_i_l_i_t_y. A request is available to
+ control additional functions for _g_r_o_f_f compatibility:
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....ccccpppp _N off – – Enable _g_r_o_f_f compatibility mode.
+ This is the name of _g_r_o_f_f’_s own
+ compatibility request with adapted
+ semantics: Regardless of the arguâ€
+ ment, _g_r_o_f_f compatibility mode is
+ activated. If _N=0, compatibility
+ with traditional _t_r_o_f_f is decreased,
+ and Heirloom _t_r_o_f_f extension level
+ 3 is set. If _N≠0 or missing, comâ€
+ patibility with traditional _t_r_o_f_f is
+ improved, and Heirloom _t_r_o_f_f extenâ€
+ sion level 1 is set. Thus ....ccccpppp 0000
+ results in maximum _g_r_o_f_f compatibilâ€
+ ity.
+ The ccccpppp request sets the general number register ....gggg to 1 in _g_r_o_f_f
+ compatibility mode and to 0 otherwise. The general number regisâ€
+ ter ....CCCC is only assigned by the ....ccccpppp request and corresponds to its
+ argument.
+ Any use of the xxxxffffllllaaaagggg request disables _g_r_o_f_f compatibility and
+ accordingly sets the ....gggg register to 0.
+ The ....XXXX readâ€only number register holds the current extension
+ level after ccccpppp as usual. It can thus be used to determine
+ whether running under _g_r_o_f_f or in the _g_r_o_f_f compatibility mode of
+ Heirloom _t_r_o_f_f. Since they are readâ€write, any convenient value
+ can then be assigned to the ....CCCC and ....gggg registers.
+ Nevertheless it is not recommend to do so without reason. For
+ instance macro packages read \n(.g to test if they are processed
+ with groff. Setting ....gggg to 1111 with the ....nnnnrrrr request also has some
+ side effects in Heirloom _t_r_o_f_f:
+
+
+ †84 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ • _g_r_o_f_f’s notation for accessing symbols with \\\\[[[[cccchhhhaaaarrrr_n]]]] and
+ \\\\[[[[uuuu_X_X_X_X]]]] are enabled.
+ • The escape \\\\%%%% marks optional hyphenation points inside a word
+ or suppresses hyphenation prefixed to a word (_e_v_e_n _w_h_e_n _t_h_i_s
+ _w_o_r_d _c_o_n_t_a_i_n_e_s _d_a_s_h_e_s). A problem in macro packages is that
+ it cannot be guaranteed that no character is before word
+ (e.g. quotes or parentheses). _g_r_o_f_f allows to force that
+ \\\\%%%% acts as a hyphenation suppression escape when it follows
+ the zeroâ€width characters \\\\)))) or \\\\&&&&. This does not work with
+ traditional _t_r_o_f_f, unfortunately. The command ....nnnnrrrr....gggg1111 enables
+ the _g_r_o_f_f behaviour.
+ • The algorithm _g_r_o_f_f uses for the three part title request
+ ....ttttllll leads to a different placement of the middle title eleâ€
+ ment with _n_r_o_f_f under certain conditions. This is emulated
+ by setting ....gggg to 1.
+ • _g_r_o_f_f’s left italic correction escape \\\\,,,, is removed from the
+ input instead of producing a ‘,,,,’.
+ The ....xxxx and ....yyyy registers are readâ€write in _g_r_o_f_f compatibility
+ mode; they correspond to the emulated _g_r_o_f_f version number. The
+ ccccpppp request sets them to 1 and 18, respectively.
+ The ....kkkk number register behaves differently in _g_r_o_f_f compatibility
+ mode: If the preceding text character was a newline, the width
+ of a space character is added to the value. If the previous line
+ was interrupted with \\\\cccc, the length of the partially collected
+ word (as in the ....kkkkcccc number register) is part of the value.
+ The space width always defaults to the value obtained from the
+ font metrics file in _g_r_o_f_f compatibility mode; the ssssppppaaaacccceeeewwwwiiiiddddtttthhhh
+ request is not effective.
+ If the file specified with a ssssoooo request cannot be opened, proâ€
+ cessing continues with the current file in _g_r_o_f_f compatibility
+ mode.
+ A control or escape character written in a diversion has no speâ€
+ cial meaning if the diversion is reâ€read in _g_r_o_f_f compatibility
+ mode.
+ Unless a string is interpolated with explicit arguments, the
+ arguments to the surrounding macro instance remain visible and
+ can be referenced by the \\\\$$$$ escape sequence inside the string in
+ _g_r_o_f_f compatibility mode.
+ Any call to the ccccpppp request activates the following _g_r_o_f_f compaâ€
+ tibility escape sequences; any call to the xxxxffffllllaaaagggg request disables
+ them.
+ The \\\\AAAA’_s_t_r_i_n_g’ escape sequence checks whether _s_t_r_i_n_g is acceptâ€
+ able as the name of a string, macro, number register, or font,
+ and evaluates to ‘‘1’ if it does and to ‘‘0’’ otherwise. The
+ Heirloom _t_r_o_f_f anchoring escape sequence \\\\AAAA is not available in
+ _g_r_o_f_f compatibility mode.
+ The \\\\//// escape sequence inserts an italic correction, i.e. a small
+ piece of horizontal motion (1/12em) that should be sufficient
+ to separate an italic character from a following roman characâ€
+ ter. Similarly, \\\\,,,, adds a left italic correction, always a zero
+ motion, that should be sufficient to separate a roman character
+ from an immediately following italic character. Both exist to
+ provide basic _g_r_o_f_f compatibility only. It is otherwise recomâ€
+ mended that the kkkkeeeerrrrnnnnppppaaaaiiiirrrr request is used for these purposes; it
+
+
+ †85 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ allows a more exact optical separation since the shape of both
+ characters can be taken into account and also does not need to be
+ be positioned directly in the input text at every occasion.
+ The \\\\DDDD´´´´pppp ...´´´´ polygon drawing escape sequence is altered such
+ that the path is always closed, i.e. if the last line part does
+ not return to the starting position, an additional line is added
+ that does.
+ The escape sequences \\\\FFFF_x, \\\\FFFF((((_x_x, \\\\FFFF[[[[_x_x_x]]]], \\\\mmmm_x, \\\\mmmm((((_x_x, \\\\mmmm[[[[_x_x_x]]]],
+ \\\\MMMM_x, \\\\MMMM((((_x_x, \\\\MMMM[[[[_x_x_x]]]], are read but discarded in _g_r_o_f_f compatibilâ€
+ ity mode since the corresponding concepts of font families and
+ builtâ€in color support are foreign to Heirloom _t_r_o_f_f. All of
+ them generate a warning of the eeeessssccccaaaappppeeee category.
+ _2_5._2._g_r_o_f_f _c_o_m_p_a_t_i_b_i_l_i_t_y _m_a_c_r_o_s. As an additional aid in formatâ€
+ ting documents that had originally been written with _g_r_o_f_f in
+ mind, Heirloom _t_r_o_f_f provides the ----mmmmgggg compatibility macro packâ€
+ age. Specifically:
+ ....ccccpppp 0000 is executed, so _t_r_o_f_f is operated in _g_r_o_f_f compatibility
+ mode at extension level 3.
+ The locale is set to eeeennnn____UUUUSSSS; this assumes that input to _g_r_o_f_f is
+ conventionally in the ISOâ€8859â€1 encoding.
+ The hyphenation language is set to eeeennnn____UUUUSSSS. Since both _g_r_o_f_f and
+ Heirloom _t_r_o_f_f then use the same hyphenation algorithm and patâ€
+ terns derived from _T_E_X, it can be assumed that words are subject
+ to hyphenation at the same points.
+ The ddddeeee1111, aaaammmm1111, ddddssss1111, and aaaassss1111 _g_r_o_f_f requests are emulated using ddddeeee,
+ aaaammmm, ddddssss, and aaaassss, respectively. It is not expected that the _g_r_o_f_f
+ compatibility macros are used to format documents that require
+ compatibility with traditional _t_r_o_f_f.
+ The ffffttttrrrr request is removed since the _g_r_o_f_f request with the same
+ name provides completely different semantics.
+ ffffaaaallllllllbbbbaaaacccckkkk is used to emulate ffffssssppppeeeecccciiiiaaaallll; these requests should be
+ compatible. No emulation is provided for the ssssppppeeeecccciiiiaaaallll request;
+ all other fonts are searched for missing characters in Heirloom
+ _t_r_o_f_f by default.
+ ttttrrrraaaacccckkkk is used to emulate ttttkkkkffff. These requests are not completely
+ compatible: ttttrrrraaaacccckkkk does not affect the last character on a line
+ and thus does not alter the visual length of lines like ttttkkkkffff does;
+ ttttrrrraaaacccckkkk is applied when formatting an object defined with the cccchhhhaaaarrrr
+ request; ttttrrrraaaacccckkkk needs to remain in effect until all affected charâ€
+ acters have been physically output. Nevertheless, the replaceâ€
+ ment should suffice for most applications.
+ _g_r_o_f_f characters with twoâ€character names are mapped to
+ PostScript character names using the cccchhhhaaaarrrr request.
+ The following macro is also provided as an emulation for the
+ corresponding _g_r_o_f_f request:
+ _RRRR_eeee_qqqq_uuuu_eeee_ssss_tttt _IIII_nnnn_iiii_tttt_iiii_aaaa_llll _IIII_ffff _NNNN_oooo
+ _FFFF_oooo_rrrr_mmmm _VVVV_aaaa_llll_uuuu_eeee _AAAA_rrrr_gggg_uuuu_mmmm_eeee_nnnn_tttt _NNNN_oooo_tttt_eeee_ssss_EEEE_xxxx_pppp_llll_aaaa_nnnn_aaaa_tttt_iiii_oooo_nnnn
+ ....mmmmssssoooo _n_a_m_e – ignored–Include the macro package
+ _n_a_m_e. If the environment variâ€
+ able GGGGRRRROOOOFFFFFFFF____TTTTMMMMAAAACCCC____PPPPAAAATTTTHHHH is set, each
+ of the colonâ€separated directories
+ in it is checked for the files
+ _n_a_m_e, _n_a_m_e.tmac, m_n_a_m_e.tmac, and
+ tmac._n_a_m_e. After this, the standard
+
+
+ †86 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _t_r_o_f_f macro directories are checked
+ in the same way. Once a file
+ has been found, it is read in as
+ with the ssssoooo request, and the search
+ stops.
+ 22226666.... OOOOuuuuttttppppuuuutttt LLLLaaaannnngggguuuuaaaaggggeeee....
+ _t_r_o_f_f produces its output in a language that is independent of
+ any specific output device, except that the numbers in it have
+ been computed on the basis of the resolution of the device, and
+ the sizes, fonts, and characters that that device can print.
+ Nevertheless it is quite possible to interpret that output on a
+ different device, within the latter’s capabilities.
+ ssss_n set point size to _n, fractional parts (if any) ignored
+ ssss----22223333_d._d set point size to _d._d
+ ffff_n set font to _n
+ cccc_c print character _c
+ CCCC_n_a_m_e print the character called _n_a_m_e; terminate _n_a_m_e by white space
+ CCCCPPPPSSSS_n_a_m_e print the character with the given PostScript _n_a_m_e
+ NNNN_n print character _n on current font
+ HHHH_n go to absolute horizontal position _n (_n≥0)
+ VVVV_n go to absolute vertical position _n (_n≥0, down is positive)
+ hhhh_n go _n units horizontally; _n<0 is to the left
+ vvvv_n go _n units vertically; _n<0 is up
+ _n_n_c move right _n_n, then print ASCII character _c; _n_n must be exactly 2 digits
+ pppp_n new page _n begins—set vertical position to 0
+ nnnn_b _a end of line (information only—no action); _b = space before line, _a = after
+ wwww paddable word space (information only—no action)
+ DDDD_c ...\_ngraphics function _c; see below
+ xxxx ............\\\\nnnn device control functions; see below
+ #### ............\\\\nnnn comment
+ All position values are in units. Sequences that end in digits
+ must be followed by a nonâ€digit. Blanks, tabs and newlines may
+ occur as separators in the input, and are mandatory to separate
+ constructions that would otherwise be confused. Graphics funcâ€
+ tions, device control functions, and comments extend to the end
+ of the line they occur on.
+ The device control and graphics commands are intended as openâ€
+ ended families, to be expanded as needed. The graphics functions
+ coincide directly with the \\\\DDDD sequences:
+ DDDDllll _d_h _d_v draw line from current position by _d_h,_d_v
+ DDDDpppp _a _b _c _d ...draw polygon, i.e. a line to _a,_b, then to _c,_d, then ...
+ DDDDcccc _d draw circle of diameter _d with left side at current position
+ DDDDeeee _u _v draw ellipse of diameters _u and _v
+ DDDDaaaa _a _b _c _d draw arc from current position to _a+_c,_b+_d, with center at _a,_b from current position
+ DDDD∼∼∼∼ _a _b _c _d...draw Bâ€spline from current position by _a,_b, then by _c,_d, then by _c,_d, then ...
+ DDDDzzzz _a _b _c _d...for any other _z is uninterpreted
+ In all of these, _x,_y is an increment on the current horizontal
+ and vertical position, with down and right positive. All disâ€
+ tances and dimensions are in units.
+ The device control functions begin with xxxx, then a command, then
+ other parameters.
+ xxxx TTTT _s name of typesetter is _s
+ xxxx rrrr _n _h _v resolution is _n units/inch;
+ _h = minimum horizontal motion, _v = minimum vertical motion
+
+
+ †87 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ xxxx iiii initialize
+ xxxx ffff _n _s mount font _s on font position _n
+ xxxx ffff _n _s _f_i_l_e_n_a_m_e _f_l_a_g_s_f_i_l_e_n_a_m_e contains metrics for font _s on position _n using _f_l_a_g_s
+ xxxx pppp pause—can restart
+ xxxx ssss stop—done forever
+ xxxx tttt generate trailer information, if any
+ xxxx HHHH _n set character height to _n, fractional parts (if any) ignored
+ xxxx HHHH ----22223333 _d._d set character height to _d._d
+ xxxx SSSS _n set slant to _n
+ xxxx XXXX _a_n_y generated by the \\\\XXXX and \\\\YYYY functions
+ xxxx XXXX AAAAnnnncccchhhhoooorrrr _y,_x _i_dspecify PDF link anchor (generated by the \\\\AAAA request)
+ xxxx XXXX AAAAnnnncccchhhhoooorrrr _i_d specify HTML link anchor
+ xxxx XXXX BBBBlllleeeeeeeeddddAAAAtttt _L _T _W _Hgenerated by the bbbblllleeeeeeeeddddaaaatttt request
+ xxxx XXXX CCCCrrrrooooppppAAAAtttt _L _T _W _Hgenerated by the ccccrrrrooooppppaaaatttt request
+ xxxx XXXX HHHHoooorrrrSSSSccccaaaalllleeee _p_e_r_c_e_n_tscale letters horizontally by _p_e_r_c_e_n_t (with the lllleeeettttaaaaddddjjjj request)
+ xxxx XXXX LLLLCCCC____CCCCTTTTYYYYPPPPEEEE _n_a_m_esets the LC_CTYPE locale to _n_a_m_e
+ xxxx XXXX LLLLiiiinnnnkkkk _x_1,_y_1,_x_2,_y_2 _i_dspecify PDF link (generated by the \\\\TTTT''''_i_d'''' request)
+ xxxx XXXX LLLLiiiinnnnkkkk _i_d begin HTML link (generates <<<<aaaa hhhhrrrreeeeffff====""""_i_d"""">>>>)
+ xxxx XXXX LLLLiiiinnnnkkkk end HTML link (generates <<<<////aaaa>>>>)
+ xxxx XXXX PPPPaaaappppeeeerrrrSSSSiiiizzzzeeee _W _H _ngenerated by the mmmmeeeeddddiiiiaaaassssiiiizzzzeeee and ppppaaaappppeeeerrrrssssiiiizzzzeeee requests
+ _n is nonâ€zero for mmmmeeeeddddiiiiaaaassssiiiizzzzeeee
+ xxxx XXXX PPPPSSSS _c_o_m_m_a_n_d embed PostScript _c_o_m_m_a_n_d
+ xxxx XXXX PPPPSSSSSSSSeeeettttuuuupppp _c_o_m_m_a_n_dembed PostScript _c_o_m_m_a_n_d in global setup section
+ xxxx XXXX SSSSeeeettttCCCCoooolllloooorrrr _c_o_l_o_rchange printing _c_o_l_o_r
+ xxxx XXXX SSSSuuuuppppppppllllyyyyFFFFoooonnnntttt _f_o_n_t _f_i_l_esupply data from _f_i_l_e for PostScript _f_o_n_t
+ xxxx XXXX SSSSyyyynnnncccc instructs to flush position and font information immediately
+ xxxx XXXX TTTTrrrraaaacccckkkk _n gives a hint that following characters are tracked by _n units
+ interpretation is optional; following positions are not changed
+ xxxx XXXX TTTTrrrriiiimmmmAAAAtttt _L _T _W _Hgenerated by the ttttrrrriiiimmmmaaaatttt request
+ xxxx XXXX UUUULLLLiiiinnnnkkkk _x_1,_y_1,_x_2,_y_2 _U_R_Lspecify PDF URL link (generated by the \\\\WWWW''''_i_d'''' request)
+ xxxx XXXX UUUULLLLiiiinnnnkkkk _U_R_L begin HTML URL link (generates <<<<aaaa hhhhrrrreeeeffff====""""_U_R_L"""">>>>)
+ xxxx XXXX UUUULLLLiiiinnnnkkkk end HTML URL link (generates <<<<////aaaa>>>>)
+ xxxx _a_n_y to be ignored if not recognized
+ Subcommands like ‘‘i’’ may be spelled out like ‘‘init’’.
+ The commands xxxx TTTT, xxxx rrrr ..., and xxxx iiii fonts must be mounted before
+ they can be used; xxxx ssss comes last. There are no other order
+ requirements.
+ The following is the output from ‘‘hello, world’’ for a typical
+ printer, as described in §27:
+ x T ps
+ x res 72000 1 1
+ x init
+ V0
+ p1
+ x font 1 R /usr/ucblib/doctools/font/devps/R.afm 4
+ x font 2 I /usr/ucblib/doctools/font/devps/I.afm 4
+ x font 3 B /usr/ucblib/doctools/font/devps/B.afm 4
+ x font 4 BI /usr/ucblib/doctools/font/devps/BI.afm 4
+ x font 5 CW /usr/ucblib/doctools/font/devps/CW.afm 4
+ x font 6 H /usr/ucblib/doctools/font/devps/H.afm 4
+ x font 7 HB /usr/ucblib/doctools/font/devps/HB.afm 4
+ x font 8 HX /usr/ucblib/doctools/font/devps/HX.afm 4
+ x font 9 S1 /usr/ucblib/doctools/font/devps/S1.afm 516
+ x font 10 S /usr/ucblib/doctools/font/devps/S.afm 1028
+
+
+ †88 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ s10
+ f1
+ x X LC_CTYPE de_DE.utf8
+ H72000
+ V12000
+ ch
+ h5000ce
+ h4440cl
+ h2780cl
+ h2780co
+ h5000c,
+ wh5830cw
+ h7120co
+ h5000cr
+ h3330cl
+ h2780cd
+ n12000 0
+ x trailer
+ V792000
+ x stop
+ _t_r_o_f_f output is normally not redundant; size and font changes and
+ position information are not included unless needed. Nevertheâ€
+ less, each page is normally selfâ€contained, for the benefit
+ of postprocessors that reâ€order pages or process only a subâ€
+ set. The xxxx XXXX PPPPSSSSSSSSeeeettttuuuupppp command is an exception from this rule;
+ it is included only once at the point where the corresponding
+ \\\\XXXX’PPPPSSSSSSSSeeeettttuuuupppp::::...’ escape sequence occurs.
+ 22227777.... DDDDeeeevvvviiiicccceeee aaaannnndddd FFFFoooonnnntttt DDDDeeeessssccccrrrriiiippppttttiiiioooonnnn FFFFiiiilllleeeessss
+ The parameters that describe a output device _n_a_m_e are read from
+ the directory ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvv_n_a_m_e, each time _t_r_o_f_f
+ is invoked. The device name is provided by default, by the
+ environment variable TTTTYYYYPPPPEEEESSSSEEEETTTTTTTTEEEERRRR, or by a commandâ€line argument
+ ----TTTT_n_a_m_e. The default device name is ppppssss, for PostScript output at
+ a resolution of 72000 dpi. The preâ€defined string ....TTTT contains
+ the name of the device. The ----FFFF commandâ€line option may be used
+ to change the default directory.
+ _2_7._1._D_e_v_i_c_e _d_e_s_c_r_i_p_t_i_o_n _f_i_l_e. General parameters of the devâ€
+ ice are stored, one per line, in the file
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvv_n_a_m_e////DDDDEEEESSSSCCCC, as a sequence of names
+ and values. _t_r_o_f_f recognizes these parameters, and ignores any
+ others that may be present for specific drivers:
+ ffffoooonnnnttttssss _n _F _G _H ... _Z
+ ssssiiiizzzzeeeessss _s _t ... 0000
+ rrrreeeessss _n
+ hhhhoooorrrr _n
+ vvvveeeerrrrtttt _n
+ uuuunnnniiiittttwwwwiiiiddddtttthhhh _n
+ cccchhhhaaaarrrrsssseeeetttt
+ _l_i_s_t _o_f _m_u_l_t_iâ€_c_h_a_r_a_c_t_e_r _c_h_a_r_a_c_t_e_r _n_a_m_e_s (_o_p_t_i_o_n_a_l)
+ The F, G, ... are font names to be initially mounted. The list
+ of sizes is a set of integers representing some or all of the
+ legal sizes the device can produce, terminated by a zero. The
+ rrrreeeessss parameter gives the resolution of the machine in units per
+ inch; hhhhoooorrrr and vvvveeeerrrr give the minimum number of units that can be
+
+
+ †89 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ moved horizontally and vertically.
+ Character widths for each font are assumed to be given in machine
+ units at point size uuuunnnniiiittttwwwwiiiiddddtttthhhh. (In other words, a character with
+ a width of _n is _n units wide at size uuuunnnniiiittttwwwwiiiiddddtttthhhh.) All widths are
+ integers at all sizes.
+ A list of valid character names may be introduced by cccchhhhaaaarrrrsssseeeetttt; the
+ list of names is optional.
+ A line whose first nonâ€blank character is #### is a comment. Except
+ that cccchhhhaaaarrrrsssseeeetttt must occur last, parameters may appear in any order.
+ Here is a subset of the DDDDEEEESSSSCCCC file for a typical Postscript
+ printer:
+ # Description file for Postscript printers.
+
+ fonts 10 R I B BI CW H HB HX S1 S
+ sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+ 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+ anysize
+ allpunct
+ afmfonts
+ lc_ctype
+ res 72000
+ hor 1
+ vert 1
+ unitwidth 1
+ charset
+ hy ct fi fl ff Fi Fl dg em 14 34 12 en aa
+ ga ru sc dd â€> br Sl ps cs cy as os =. ld
+ rd le ge pp â€+ ob vr rs dq
+ sq bx ci fa te ** pl mi eq |= *A *B *X *D
+ *E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U *W
+ *C *Q *Z ul rn *a *b *x *d *e *f *g *y *i *k
+ *l *m *n *o *p *h *r *s *t *u *w *c *q *z
+ _2_7._2._F_o_n_t _d_e_s_c_r_i_p_t_i_o_n _f_i_l_e_s. Note: This description applies to
+ the old _t_r_o_f_f deviceâ€independent font format. The current verâ€
+ sion of _t_r_o_f_f usually reads font metrics directly from Type 1,
+ OpenType, or TrueType font files, as described for the ffffpppp request
+ (§2) and in the separate fonts manual available from the project
+ home page.
+ Each font is described by an analogous description file, which
+ begins with parameters of the font, one per line, followed by
+ a list of characters and widths. The file for font _F is
+ ////uuuussssrrrr////uuuuccccbbbblllliiiibbbb////ddddooooccccttttoooooooollllssss////ffffoooonnnntttt////ddddeeeevvvv_n_a_m_e////_F.
+ nnnnaaaammmmeeee _s_t_r name of font is _s_t_r
+ lllliiiiggggaaaattttuuuurrrreeeessss ............ 0000 list of ligatures
+ ssssppppaaaacccceeeewwwwiiiiddddtttthhhh _n width of a space on this font
+ ssssppppeeeecccciiiiaaaallll this is a special font
+ cccchhhhaaaarrrrsssseeeetttt
+ _l_i_s_t _o_f _c_h_a_r_a_c_t_e_r _n_a_m_e, _w_i_d_t_h, _a_s_c_e_n_d_e_r/_d_e_s_c_e_n_d_e_r, _c_o_d_e, tab separated
+ The nnnnaaaammmmeeee and cccchhhhaaaarrrrsssseeeetttt fields are mandatory; cccchhhhaaaarrrrsssseeeetttt must be last.
+ Comments are permitted, as are other unrecognized parameters.
+ Each line following charset describes one character: its name,
+ its width in units as described above, ascender/descender inforâ€
+ mation, and a decimal, octal or hexadecimal value by which the
+ output device knows it (the \\\\NNNN ‘‘number’’ of the character). The
+
+
+ †90 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ character name is arbitrary, except that ------------ signifies an unnamed
+ character. If the width field contains """", the name is a synonym
+ for the previous character. The ascender/descender field is 1 if
+ the character has a descender (hangs below the baseline, like yyyy),
+ is 2 if it has an ascender (is tall, like YYYY), is 3 if both, and
+ is 0 if neither. The value is returned in the cccctttt register, as
+ computed by the \\\\wwww function (§11.2).
+ Here are excerpts from a typical font description file for the
+ same Postscript printer.
+ hy 33 0 45 hyphen \(hy
+ †" †is a synonym for \(hy
+
+ Q 72 3 81
+
+ a 44 0 97
+ b 50 2 98
+ c 44 0 99
+ d 50 2 100
+ y 50 1 121
+
+ em 100 0 208
+ --- 44 2 220 English pound currency symbol \N’220’
+ --- 36 0 221 centered dot \N’221’
+ This says, for example, that the width of the letter aaaa is 44
+ units at point size 10, the value of uuuunnnniiiittttwwwwiiiiddddtttthhhh. Point sizes are
+ scaled linearly and rounded, so the width of aaaa will be 44 at size
+ 10, 40 at size 9, 35 at size 8, and so on.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †91 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+
+
+
+ TTTTUUUUTTTTOOOORRRRIIIIAAAALLLL EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
+
+
+ TTTT1111.... IIIInnnnttttrrrroooodddduuuuccccttttiiiioooonnnn top and bottom page margin
+ Although _n_r_o_f_f and _t_r_o_f_f have areas respectively. A trap
+ by design a syntax reminis†is planted at page position
+ cent of earlier text proces†0 for the header, and at -_N
+ sors* with the intent of easing (_N from the page bottom) for
+ their use, it is almost always the footer. The simplest such
+ necessary to prepare at least a definitions might be
+ small set of macro definitions ....ddddeeee hhhhdddd \\\\""""ddddeeeeffffiiiinnnneeee hhhheeeeaaaaddddeeeerrrr
+ to describe most documents. ´´´´sssspppp 1111iiii
+ Such common formatting needs ........ \\\\""""eeeennnndddd ddddeeeeffffiiiinnnniiiittttiiiioooonnnn
+ as page margins and footnotes ....ddddeeee ffffoooo \\\\""""ddddeeeeffffiiiinnnneeee ffffooooooootttteeeerrrr
+ are deliberately not built into ´´´´bbbbpppp
+ _n_r_o_f_f and _t_r_o_f_f. Instead, ........ \\\\""""eeeennnndddd ddddeeeeffffiiiinnnniiiittttiiiioooonnnn
+ the macro and string defini†....wwwwhhhh 0000 hhhhdddd
+ tion, number register, diver†....wwwwhhhh ----1111iiii ffffoooo
+ sion, environment switching, which provide blank 1 inch
+ pageâ€position trap, and condi†top and bottom margins. The
+ tional input mechanisms pro†header will occur on the _f_i_r_s_t
+ vide the basis for userâ€defined page, only if the definiâ€
+ implementations. tion and trap exist prior to
+ The examples to be discussed the initial pseudoâ€page tranâ€
+ are intended to be useful and sition (§3). In fill mode,
+ somewhat realistic, but won’t the output line that springs
+ necessarily cover all relevant the footer trap was typically
+ contingencies. Explicit numer†forced out because some part or
+ ical parameters are used in the whole word didn’t fit on it.
+ examples to make them easier to If anything in the footer and
+ read and to illustrate typical header that follows causes a
+ values. In many cases, number _b_r_e_a_k, that word or part word
+ registers would really be used will be forced out. In this
+ to reduce the number of places and other examples, requests
+ where numerical information is like bbbbpppp and sssspppp that normally
+ kept, and to concentrate con†cause breaks are invoked using
+ ditional parameter initializa†the _n_oâ€_b_r_e_a_k control character
+ tion like that which depends on ´´´´ to avoid this. When the
+ whether _t_r_o_f_f or _n_r_o_f_f is being header/footer design contains
+ used. material requiring independent
+ TTTT2222.... PPPPaaaaggggeeee MMMMaaaarrrrggggiiiinnnnssss text processing, the environâ€
+ As discussed in §3, _h_e_a_d_e_r ment may be switched, avoiding
+ and _f_o_o_t_e_r macros are usu†most interaction with the runâ€
+ ally defined to describe the ning text.
+ ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽ A more realistic example would
+ *For example: P. A. Crisman, be
+ Ed., _T_h_e _C_o_m_p_a_t_i_b_l_e _T_i_m_e†....ddddeeee hhhhdddd \\\\""""hhhheeeeaaaaddddeeeerrrr
+ _S_h_a_r_i_n_g _S_y_s_t_e_m, MIT Press, ....iiiiffff tttt ....ttttllll ´´´´\\\\((((rrrrnnnn´´´´´´´´\\\\((((rrrrnnnn´´´´ \\\\""""ttttrrrrooooffffffff ccccuuuutttt mmmmaaaarrrrkkkk
+ 1965, Section AH9.01 (Descrip†....iiiiffff \\\\\\\\nnnn%%%%>>>>1111 \\\\{{{{\\\\
+ tion of RUNOFF program on MIT’s ´´´´sssspppp ||||0000....5555iiii----1111\\\\""""ttttllll bbbbaaaasssseeee aaaatttt 0000....5555iiii
+ CTSS system). ....ttttllll ´´´´´´´´---- %%%% ----´´´´´´´´\\\\""""cccceeeennnntttteeeerrrreeeedddd ppppaaaaggggeeee nnnnuuuummmmbbbbeeeerrrr
+
+
+ †92 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ....ppppssss \\\\""""rrrreeeessssttttoooorrrreeee ssssiiiizzzzeeee .... â€â€â€ \\\\""""rrrreeeesssstttt ooooffff ffffooooooootttteeeerrrr
+ ....fffftttt \\\\""""rrrreeeessssttttoooorrrreeee ffffoooonnnntttt ........
+ ....vvvvssss \\\\}}}} \\\\""""rrrreeeessssttttoooorrrreeee vvvvssss ....ddddeeee hhhhdddd
+ ´´´´sssspppp ||||1111....0000iiii \\\\""""ssssppppaaaacccceeee ttttoooo 1111....0000iiii .... â€â€â€ \\\\""""hhhheeeeaaaaddddeeeerrrr ssssttttuuuuffffffff
+ ....nnnnssss \\\\""""ttttuuuurrrrnnnn oooonnnn nnnnooooâ€ssssppppaaaacccceeee mmmmooooddddeeee ....ppppssss \\\\\\\\nnnn((((ssss2222\\\\""""rrrreeeessssttttoooorrrreeee pppprrrreeeevvvviiiioooouuuussss ssssiiiizzzzeeee
+ ........ ....ppppssss \\\\\\\\nnnn((((ssss1111\\\\""""rrrreeeessssttttoooorrrreeee ccccuuuurrrrrrrreeeennnntttt ssssiiiizzzzeeee
+ ....ddddeeee ffffoooo \\\\""""ffffooooooootttteeeerrrr ........
+ ....ppppssss 11110000 \\\\""""sssseeeetttt ffffooooooootttteeeerrrr////hhhheeeeaaaaddddeeeerrrr ssssiiiizPzzzeaeeege numbers may be printed
+ ....fffftttt RRRR \\\\""""sssseeeetttt ffffoooonnnntttt in the bottom margin by a
+ ....vvvvssss 11112222pppp \\\\""""sssseeeetttt bbbbaaaasssseeeeâ€lllliiiinnnneeee ssssppppaaaacccciiiinnnngsgggeparate macro triggered during
+ ....iiiiffff \\\\\\\\nnnn%%%%====1111 \\\\{{{{\\\\ the footer’s page ejection:
+ ´´´´sssspppp ||||\\\\\\\\nnnn((((....ppppuuuu----0000....5555iiii----1111 \\\\""""ttttllll bbbbaaaasssseeee 0000....5555i....iiiddddueeeeuuuppppbbbbnnnn \\\\""""bbbboooottttttttoooommmm nnnnuuuummmmbbbbeeeerrrr
+ ....ttttllll ´´´´´´´´---- %%%% ----´´´´´´´´ \\\\}}}} \\\\""""ffffiiiirrrrsssstttt ppppaaaaggggeeee nnnnuuuummmmb....bbbetttteeerllllrrr ´´´´´´´´---- %%%% ----´´´´´´´´\\\\""""cccceeeennnntttteeeerrrreeeedddd ppppaaaaggggeeee nnnnuuuummmmbbbbeeeerrrr
+ ´´´´bbbbpppp ........
+ ........ ....wwwwhhhh ----0000....5555iiii----1111vvvv bbbbnnnn \\\\""""ttttllll bbbbaaaasssseeee 0000....5555iiii uuuupppp
+ ....wwwwhhhh 0000 hhhhdddd TTTT3333.... PPPPaaaarrrraaaaggggrrrraaaapppphhhhssss aaaannnndddd HHHHeeeeaaaaddddiiiinnnnggggssss
+ ....wwwwhhhh ----1111iiii ffffoooo The housekeeping associated
+ which sets the size, font, with starting a new paragraph
+ and baseâ€line spacing for should be collected in a paraâ€
+ the header/footer material, and graph macro that, for example,
+ ultimately restores them. The does the desired preparagraph
+ material in this case is a spacing, forces the correct
+ page number at the bottom of font, size, baseâ€line spacing,
+ the first page and at the top and indent, checks that enough
+ of the remaining pages. If space remains for _m_o_r_e _t_h_a_n _o_n_e
+ _t_r_o_f_f is used, a _c_u_t _m_a_r_k is line, and requests a temporary
+ drawn in the form of _r_o_o_t†indent.
+ _e_n’s at each margin. The sssspppp’s ....ddddeeee ppppgggg \\\\""""ppppaaaarrrraaaaggggrrrraaaapppphhhh
+ refer to absolute positions to ....bbbbrrrr \\\\""""bbbbrrrreeeeaaaakkkk
+ avoid dependence on the base†....fffftttt RRRR \\\\""""ffffoooorrrrcccceeee ffffoooonnnntttt,,,,
+ line spacing. Another reason ....ppppssss 11110000 \\\\""""ssssiiiizzzzeeee,,,,
+ for this in the footer is that ....vvvvssss 11112222pppp \\\\""""ssssppppaaaacccciiiinnnngggg,,,,
+ the footer is invoked by print†....iiiinnnn 0000 \\\\""""aaaannnndddd iiiinnnnddddeeeennnntttt
+ ing a line whose vertical spac†....sssspppp 0000....4444 \\\\""""pppprrrreeeessssppppaaaacccceeee
+ ing swept past the trap posi†....nnnneeee 1111++++\\\\\\\\nnnn((((....VVVVuuuu\\\\""""wwwwaaaannnntttt mmmmoooorrrreeee tttthhhhaaaannnn 1111 lllliiiinnnneeee
+ tion by possibly as much as ....ttttiiii 0000....2222iiii \\\\""""tttteeeemmmmpppp iiiinnnnddddeeeennnntttt
+ the baseâ€line spacing. The _n_o†........
+ _s_p_a_c_e mode is turned on at the The first break in ppppgggg will
+ end of hhhhdddd to render ineffective force out any previous parâ€
+ accidental occurrences of sssspppp at tial lines, and must occur
+ the top of the running text. before the vvvvssss. The forcing of
+ The above method of restoring font, etc. is partly a defense
+ size, font, etc. presupposes against prior error and partly
+ that such requests (that set to permit things like section
+ _p_r_e_v_i_o_u_s value) are _n_o_t used heading macros to set parameâ€
+ in the running text. A better ters only once. The prespacâ€
+ scheme is save and restore both ing parameter is suitable for
+ the current _a_n_d previous values _t_r_o_f_f; a larger space, at least
+ as shown for size in the fol†as big as the output device
+ lowing: vertical resolution, would be
+ ....ddddeeee ffffoooo more suitable in _n_r_o_f_f. The
+ ....nnnnrrrr ssss1111 \\\\\\\\nnnn((((....ssss\\\\""""ccccuuuurrrrrrrreeeennnntttt ssssiiiizzzzeeee choice of remaining space to
+ ....ppppssss test for in the nnnneeee is the smalâ€
+ ....nnnnrrrr ssss2222 \\\\\\\\nnnn((((....ssss\\\\""""pppprrrreeeevvvviiiioooouuuussss ssssiiiizzzzeeee lest amount greater than one
+
+
+ †93 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ line (the ....VVVV is the available will begin a new column rather
+ vertical resolution). than produce the bottom margin.
+ A macro to automatically number The header can initialize a
+ section headings might look column register that the footer
+ like: will increment and test. The
+ ....ddddeeee sssscccc \\\\""""sssseeeeccccttttiiiioooonnnn following is arranged for two
+ .... â€â€â€ \\\\""""ffffoooorrrrcccceeee ffffoooonnnntttt,,,, eeeettttcccc.... columns, but is easily modified
+ ....sssspppp 0000....4444 \\\\""""pppprrrreeeessssppppaaaacccceeee for more.
+ ....nnnneeee 2222....4444++++\\\\\\\\nnnn((((....VVVVuuuu \\\\""""wwwwaaaannnntttt 2222....4444++++ lllliiiinnnneeeessss ....ddddeeee hhhhdddd \\\\""""hhhheeeeaaaaddddeeeerrrr
+ ....ffffiiii .... â€â€â€
+ \\\\\\\\nnnn++++SSSS.... ....nnnnrrrr ccccllll 0000 1111\\\\""""iiiinnnniiiitttt ccccoooolllluuuummmmnnnn ccccoooouuuunnnntttt
+ ........ ....mmmmkkkk \\\\""""mmmmaaaarrrrkkkk ttttoooopppp ooooffff tttteeeexxxxtttt
+ ....nnnnrrrr SSSS 0000 1111 \\\\""""iiiinnnniiiitttt SSSS ........
+ The usage is ....sssscccc, followed by ....ddddeeee ffffoooo \\\\""""ffffooooooootttteeeerrrr
+ the section heading text, fol†....iiiieeee \\\\\\\\nnnn++++((((ccccllll<<<<2222 \\\\{{{{\\\\
+ lowed by ....ppppgggg. The nnnneeee test ....ppppoooo ++++3333....4444iiii \\\\""""nnnneeeexxxxtttt ccccoooolllluuuummmmnnnn;;;; 3333....1111++++0000....3333
+ value includes one line of ....rrrrtttt \\\\""""bbbbaaaacccckkkk ttttoooo mmmmaaaarrrrkkkk
+ heading, 0.4 line in the fol†....nnnnssss \\\\}}}} \\\\""""nnnnooooâ€ssssppppaaaacccceeee mmmmooooddddeeee
+ lowing ppppgggg, and one line of the ....eeeellll \\\\{{{{\\\\
+ paragraph text. A word con†....ppppoooo \\\\\\\\nnnnMMMMuuuu \\\\""""rrrreeeessssttttoooorrrreeee lllleeeefffftttt mmmmaaaarrrrggggiiiinnnn
+ sisting of the next section .... â€â€â€
+ number and a period is produced ´´´´bbbbpppp \\\\}}}}
+ to begin the heading line. The ........
+ format of the number may be set ....llllllll 3333....1111iiii \\\\""""ccccoooolllluuuummmmnnnn wwwwiiiiddddtttthhhh
+ by aaaaffff (§8). ....nnnnrrrr MMMM \\\\\\\\nnnn((((....oooo\\\\""""ssssaaaavvvveeee lllleeeefffftttt mmmmaaaarrrrggggiiiinnnn
+ Another common form is the Typically a portion of the top
+ labeled, indented paragraph, of the first page contains full
+ where the label protrudes left width text; the request for the
+ into the indent space. narrower line length, as well
+ ....ddddeeee llllpppp \\\\""""llllaaaabbbbeeeelllleeeedddd ppppaaaarrrraaaaggggrrrraaaapppphhhh as another ....mmmmkkkk would be made
+ ....ppppgggg where the two column output was
+ ....iiiinnnn 0000....5555iiii \\\\""""ppppaaaarrrraaaaggggrrrraaaapppphhhh iiiinnnnddddeeeennnntttt to begin.
+ ....ttttaaaa 0000....2222iiii 0000....5555iiii\\\\""""llllaaaabbbbeeeellll,,,, ppppaaaarrrraaaaggggrrrraaaapppphhhh TTTT5555.... FFFFoooooooottttnnnnooootttteeee PPPPrrrroooocccceeeessssssssiiiinnnngggg
+ ....ttttiiii 0000 The footnote mechanism to be
+ \\\\tttt\\\\\\\\$$$$1111\\\\tttt\\\\cccc\\\\""""fffflllloooowwww iiiinnnnttttoooo ppppaaaarrrraaaaggggrrrraaaapppphhhh described is used by imbedâ€
+ ........ ding the footnotes in the input
+ The intended usage is "....llllpppp text at the point of reference,
+ _l_a_b_e_l"; _l_a_b_e_l will begin at demarcated by an initial ....ffffnnnn
+ 0.2inch, and cannot exceed and a terminal ....eeeeffff:
+ a length of 0.3inch without ....ffffnnnn
+ intruding into the paragraph. _F_o_o_t_n_o_t_e _t_e_x_t _a_n_d _c_o_n_t_r_o_l _l_i_n_e_s...
+ The label could be right ....eeeeffff
+ adjusted against 0.4inch by In the following, footnotes
+ setting the tabs instead with are processed in a separate
+ ....ttttaaaa 0000....4444iiiiRRRR 0000....5555iiii. The last line environment and diverted for
+ of llllpppp ends with \\\\cccc so that it later printing in the space
+ will become a part of the first immediately prior to the botâ€
+ line of the text that follows. tom margin. There is proviâ€
+ TTTT4444.... MMMMuuuullllttttiiiipppplllleeee CCCCoooolllluuuummmmnnnn OOOOuuuuttttppppuuuutttt sion for the case where the
+ The production of multiple last collected footnote doesn’t
+ column pages requires the completely fit in the available
+ footer macro to decide whether space.
+ it was invoked by other than ....ddddeeee hhhhdddd \\\\""""hhhheeeeaaaaddddeeeerrrr
+ the last column, so that it .... â€â€â€
+
+
+ †94 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ ....nnnnrrrr xxxx 0000 1111 \\\\""""iiiinnnniiiitttt ffffoooooooottttnnnnooootttteeee ccccoooouuuunnnntttt The header hhhhdddd initializes a
+ ....nnnnrrrr yyyy 0000----\\\\\\\\nnnnbbbb\\\\""""ccccuuuurrrrrrrreeeennnntttt ffffooooooootttteeeerrrr ppppllllaaaacfccceoeeeotnote count register xxxx, and
+ ....cccchhhh ffffoooo ----\\\\\\\\nnnnbbbbuuuu\\\\""""rrrreeeesssseeeetttt ffffooooooootttteeeerrrr ttttrrrraaaappppsets both the current footer
+ ....iiiiffff \\\\\\\\nnnn((((ddddnnnn ....ffffzzzz\\\\""""lllleeeeffffttttoooovvvveeeerrrr ffffoooooooottttnnnnooootttteteeerap position register yyyy and
+ ........ the footer trap itself to
+ ....ddddeeee ffffoooo \\\\""""ffffooooooootttteeeerrrr a nominal position specified
+ ....nnnnrrrr ddddnnnn 0000 \\\\""""zzzzeeeerrrroooo llllaaaasssstttt ddddiiiivvvveeeerrrrssssiiiioooonnnn sisssiniiizzzzeeeeregister bbbb. In addiâ€
+ ....iiiiffff \\\\\\\\nnnnxxxx \\\\{{{{\\\\ tion, if the register ddddnnnn indiâ€
+ ....eeeevvvv 1111 \\\\""""eeeexxxxppppaaaannnndddd ffffoooooooottttnnnnooootttteeeessss iiiinnnn eceeevavvv1t111es a leftover footnote, ffffzzzz
+ ....nnnnffff \\\\""""rrrreeeettttaaaaiiiinnnn vvvveeeerrrrttttiiiiccccaaaallll ssssiiiizzzzeeeeis invoked to reprocess it.
+ ....FFFFNNNN \\\\""""ffffoooooooottttnnnnooootttteeeessss The footnote start macro ffffnnnn
+ ....rrrrmmmm FFFFNNNN \\\\""""ddddeeeelllleeeetttteeee iiiitttt begins a diversion (append) in
+ ....iiiiffff """"\\\\\\\\nnnn((((....zzzz""""ffffyyyy"""" ....ddddiiii \\\\""""eeeennnndddd oooovvvveeeerrrrfffflllloeooownwwwvdidddiriiivovvveneeermrrrsesssiniiiotooonnnn1, and increments
+ ....nnnnrrrr xxxx 0000 \\\\""""ddddiiiissssaaaabbbblllleeee ffffxxxx the count xxxx; if the count is
+ ....eeeevvvv \\\\}}}} \\\\""""ppppoooopppp eeeennnnvvvviiiirrrroooonnnnmmmmeeeennnntttt one, the footnote separator ffffssss
+ .... â€â€â€ is interpolated. The separator
+ ´´´´bbbbpppp is kept in a separate macro to
+ ........ permit user redefinition. The
+ ....ddddeeee ffffxxxx \\\\""""pppprrrroooocccceeeessssssss ffffoooooooottttnnnnooootttteeee oooovvvveeeerfrrrfoffflolllotooownwwwote end macro eeeeffff restores
+ ....iiiiffff \\\\\\\\nnnnxxxx ....ddddiiii ffffyyyy\\\\""""ddddiiiivvvveeeerrrrtttt oooovvvveeeerrrrfffflllloooowwwwthe previous environment and
+ ........ ends the diversion after savâ€
+ ....ddddeeee ffffnnnn \\\\""""ssssttttaaaarrrrtttt ffffoooooooottttnnnnooootttteeee ing the spacing size in regisâ€
+ ....ddddaaaa FFFFNNNN \\\\""""ddddiiiivvvveeeerrrrtttt ((((aaaappppppppeeeennnndddd)))) ffffoooooooottttntnnnoeoootrttteeeezzzz. yyyy is then decremented
+ ....eeeevvvv 1111 \\\\""""iiiinnnn eeeennnnvvvviiiirrrroooonnnnmmmmeeeennnntttt 1111 by the size of the footnote,
+ ....iiiiffff \\\\\\\\nnnn++++xxxx====1111 ....ffffssss \\\\""""iiiiffff ffffiiiirrrrsssstttt,,,, iiiinnnncccclllluauuudvdddeaeeeislssseaeeepbpppalaaarerrraaaatitttonooorrrrddddnnnn; then on the
+ ....ffffiiii \\\\""""ffffiiiillllllll mmmmooooddddeeee first footnote, yyyy is further
+ ........ decremented by the difference
+ ....ddddeeee eeeeffff \\\\""""eeeennnndddd ffffoooooooottttnnnnooootttteeee in vertical baseâ€line spacings
+ ....bbbbrrrr \\\\""""ffffiiiinnnniiiisssshhhh oooouuuuttttppppuuuutttt of the two environments, to
+ ....nnnnrrrr zzzz \\\\\\\\nnnn((((....vvvv\\\\""""ssssaaaavvvveeee ssssppppaaaacccciiiinnnngggg prevent the late triggering the
+ ....eeeevvvv \\\\""""ppppoooopppp eeeevvvv footer trap from causing the
+ ....ddddiiii \\\\""""eeeennnndddd ddddiiiivvvveeeerrrrssssiiiioooonnnn last line of the combined footâ€
+ ....nnnnrrrr yyyy ----\\\\\\\\nnnn((((ddddnnnn\\\\""""nnnneeeewwww ffffooooooootttteeeerrrr ppppoooossssiiiittttiiiionooononnn,t,,,es to overflow. The footer
+ ....iiiiffff \\\\\\\\nnnnxxxx====1111 ....nnnnrrrr yyyy ----((((\\\\\\\\nnnn((((....vvvv----\\\\\\\\nnnnzzzz)))) \t\\\rap is then set to the lower
+ \\\\""""uuuunnnncccceeeerrrrttttaaaaiiiinnnnttttyyyy ccccoooorrrrrrrreeeeccccttttiiiio(ooononnnn the page) of yyyy or the
+ ....cccchhhh ffffoooo \\\\\\\\nnnnyyyyuuuu\\\\""""yyyy iiiissss nnnneeeeggggaaaattttiiiivvvveeee current page position (nnnnllll) plus
+ ....iiiiffff ((((\\\\\\\\nnnn((((nnnnllll++++1111vvvv))))>>>>((((\\\\\\\\nnnn((((....pppp++++\\\\\\\\nnnnyyyy)))) \\\\ one line, to allow for printâ€
+ ....cccchhhh ffffoooo \\\\\\\\nnnn((((nnnnlllluuuu++++1111vvvv \\\\""""iiiitttt ddddiiiiddddnnnn’tttt ffffiiiititttng the reference line. If
+ ........ indicated by xxxx, the footer ffffoooo
+ ....ddddeeee ffffssss \\\\""""sssseeeeppppaaaarrrraaaattttoooorrrr rereads the footnotes from FFFFNNNN
+ \\\\llll´´´´1111iiii´´´´ \\\\""""1111 iiiinnnncccchhhh rrrruuuulllleeee in nofill mode in environment
+ ....bbbbrrrr 1, and deletes FFFFNNNN. If the
+ ........ footnotes were too large to
+ ....ddddeeee ffffzzzz \\\\""""ggggeeeetttt lllleeeeffffttttoooovvvveeeerrrr ffffoooooooottttnnnnoooottttefeeeit, the macro ffffxxxx will be trapâ€
+ ....ffffnnnn invoked to redivert the overâ€
+ ....nnnnffff \\\\""""rrrreeeettttaaaaiiiinnnn vvvveeeerrrrttttiiiiccccaaaallll ssssiiiizzzzeeeeflow into ffffyyyy, and the regisâ€
+ ....ffffyyyy \\\\""""wwwwhhhheeeerrrreeee ffffxxxx ppppuuuutttt iiiitttt ter ddddnnnn will later indicate to
+ ....eeeeffff the header whether ffffyyyy is empty.
+ ........ Both ffffoooo and ffffxxxx are planted in
+ ....nnnnrrrr bbbb 1111....0000iiii\\\\""""bbbboooottttttttoooommmm mmmmaaaarrrrggggiiiinnnn ssssiiiizzzzeeee the nominal footer trap posiâ€
+ ....wwwwhhhh 0000 hhhhdddd \\\\""""hhhheeeeaaaaddddeeeerrrr ttttrrrraaaapppp tion in an order that causes ffffxxxx
+ ....wwwwhhhh 11112222iiii ffffoooo\\\\""""ffffooooooootttteeeerrrr ttttrrrraaaapppp,,,, tttteeeemmmmpppp ppppoooostsssioiiittttiiiiobooonennn concealed unless the ffffoooo
+ ....wwwwhhhh ----\\\\\\\\nnnnbbbbuuuu ffffxxxx\\\\""""ffffxxxx aaaatttt ffffooooooootttteeeerrrr ppppoooossssiiiitttttiriiioaooonpnnn is moved. The footer then
+ ....cccchhhh ffffoooo ----\\\\\\\\nnnnbbbbuuuu\\\\""""ccccoooonnnncccceeeeaaaallll ffffxxxx wwwwiiiitttthhhh ffffotoooerminates the overflow diverâ€
+
+
+ †95 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ sion, if necessary, and zeros
+ xxxx to disable ffffxxxx, because the
+ uncertainty correction together
+ with a notâ€tooâ€late triggerâ€
+ ing of the footer can result
+ in the footnote rereading finâ€
+ ishing before reaching the ffffxxxx
+ trap.
+ A good exercise for the student
+ is to combine the multipleâ€
+ column and footnote mechanisms.
+ TTTT6666.... TTTThhhheeee LLLLaaaasssstttt PPPPaaaaggggeeee
+ After the last input file has
+ ended, _n_r_o_f_f and _t_r_o_f_f invoke
+ the _e_n_d _m_a_c_r_o (§7), if any,
+ and when it finishes, eject the
+ remainder of the page. During
+ the eject, any traps encounâ€
+ tered are processed normally.
+ At the _e_n_d of this last page,
+ processing terminates _u_n_l_e_s_s a
+ partial line, word, or partial
+ word remains. If it is desired
+ that another page be started,
+ the endâ€macro
+ ....ddddeeee eeeennnn \\\\""""eeeennnnddddâ€mmmmaaaaccccrrrroooo
+ \\\\cccc
+ ´´´´bbbbpppp
+ ........
+ ....eeeemmmm eeeennnn
+ will deposit a null partial
+ word, and effect another last
+ page.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †96 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+
+
+
+ TTTTaaaabbbblllleeee IIII
+
+ FFFFoooonnnntttt SSSSttttyyyylllleeee EEEExxxxaaaammmmpppplllleeeessss
+
+
+
+ The following fonts are printed in 12â€point, with a vertiâ€
+ cal spacing of 14â€point, and with nonâ€alphanumeric characters
+ separated by ¼em space. Note that this table only includes the
+ historical CAT _t_r_o_f_f character set; PostScript devices can usuâ€
+ ally print a much larger, although fontâ€dependent set of characâ€
+ ters.
+
+
+
+ Times Roman
+ abcdefghijklmnopqrstuvwxyz
+ ABCDEFGHIJKLMNOPQRSTUVWXYZ
+ 1234567890
+ ! $ % & ( ) ‘ ’ * + - . , / : ; = ? [ ] |
+ • □ — †⎽ ¼ ½ ¾ fi fl ff ffi ffl ° † ′ ¢ ® ©
+
+ _T_i_m_e_s _I_t_a_l_i_c
+ _a_b_c_d_e_f_g_h_i_j_k_l_m_n_o_p_q_r_s_t_u_v_w_x_y_z
+ _A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_V_W_X_Y_Z
+ _1_2_3_4_5_6_7_8_9_0
+ ! $ % & ( ) ‘ ’ * + - . , / : ; = ? [ ] |
+ • □ — †⎽ ¼ ½ ¾ fi fl ff ffi ffl ° † ′ ¢ ® ©
+
+ TTTTiiiimmmmeeeessss BBBBoooolllldddd
+ aaaabbbbccccddddeeeeffffgggghhhhiiiijjjjkkkkllllmmmmnnnnooooppppqqqqrrrrssssttttuuuuvvvvwwwwxxxxyyyyzzzz
+ AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSTTTTUUUUVVVVWWWWXXXXYYYYZZZZ
+ 1111222233334444555566667777888899990000
+ !!!! $$$$ %%%% &&&& (((( )))) ‘ ’ **** ++++ - .... ,,,, //// :::: ;;;; ==== ???? [[[[ ]]]] ||||
+ •••• â–¡â–¡â–¡â–¡ ———— â€â€â€†⎽⎽⎽⎽ ¼¼¼¼ ½½½½ ¾¾¾¾ ffffiiii ffffllll ffffffff ffffffffiiii ffffffffllll °°°° †††† ′′′′ ¢¢¢¢ ®®®® ©©©©
+
+ Special Font
+ " ´ \ ^ _ ` ~ / < > { } # @ + − = ∗
+ α β γ δ ε ζ η θ ι κ λ μ ν ξ ο Ï€ Ï Ïƒ Ï‚ Ï„ Ï… Ï• χ ψ ω
+ Γ Δ Θ Λ Ξ Π Σ Υ Φ Ψ Ω
+ √ ‾ ≥ ≤ ≡ ∼ ≈ ≠ → ↠↑ ↓ × ÷ ± ∪ ∩ ⊂ ⊃ ⊆ ⊇ ∞ ∂
+ § ∇ ¬ ∫ ∠∅ ∈ ‡ ☞ ☜ | ○ ⎧ ⎩ ⎫ ⎭ ⎨ ⎬ ⎪ ⌊ ⌋ ⌈ ⌉ │
+
+
+
+
+
+
+
+
+
+
+
+ †97 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ TTTTaaaabbbblllleeee IIIIIIII
+
+ IIIInnnnppppuuuutttt NNNNaaaammmmiiiinnnngggg CCCCoooonnnnvvvveeeennnnttttiiiioooonnnnssss ffffoooorrrr ´´´´,,,, ````,,,, aaaannnndddd ----
+ aaaannnndddd ffffoooorrrr NNNNoooonnnnâ€AAAASSSSCCCCIIIIIIII SSSSppppeeeecccciiiiaaaallll CCCChhhhaaaarrrraaaacccctttteeeerrrrssss
+
+
+
+ NNNNoooonnnnâ€AAAASSSSCCCCIIIIIIII cccchhhhaaaarrrraaaacccctttteeeerrrrssss aaaannnndddd _mmmm_iiii_nnnn_uuuu_ssss oooonnnn tttthhhheeee ssssttttaaaannnnddddaaaarrrrdddd ffffoooonnnnttttssss....
+
+ _I_n_p_u_t _C_h_a_r_a_c_t_e_r _I_n_p_u_t_C_h_a_r_a_c_t_e_r
+ _C_h_a_r _N_a_m_e _N_a_m_e _C_h_a_r_N_a_m_e _N_a_m_e
+ ’ ' close quote ¾ \(34 3/4
+ ‘ ` open quote fi \(fi fi
+ — \(em 3/4 Em dash fl \(fl fl
+ †- hyphen or ff \(ff ff
+ †\(hy hyphen ffi \(Fi ffi
+ - \- current font minus ffl \(Fl ffl
+ • \(bu bullet ° \(de degree
+ □ \(sq square † \(dg dagger
+ ⎽ \(ru rule ′ \(fm foot mark
+ ¼ \(14 1/4 ¢ \(ct cent sign
+ ½ \(12 1/2 ® \(rg registered
+ © \(co copyright
+
+
+ NNNNoooonnnnâ€AAAASSSSCCCCIIIIIIII cccchhhhaaaarrrraaaacccctttteeeerrrrssss aaaannnndddd ´´´´,,,, ````,,,, ____,,,, ++++,,,, −−−−,,,, ====,,,, aaaannnndddd ∗∗∗∗ oooonnnn tttthhhheeee ssssppppeeeecccciiiiaaaallll
+ ffffoooonnnntttt....
+ In traditional _t_r_o_f_f, the ASCII characters @, #, ", ´, `, <, >,
+ \, {, }, ~, ^, and _ existed _o_n_l_y on the special font and were
+ printed as a 1â€em space if that font was not mounted. The folâ€
+ lowing characters exist only on the special font. The special
+ math plus, minus, and equals are provided to insulate the appearâ€
+ ance of equations from the choice of standard fonts.
+
+ _I_n_p_u_t _C_h_a_r_a_c_t_e_r _I_n_p_u_t_C_h_a_r_a_c_t_e_r
+ _C_h_a_r _N_a_m_e _N_a_m_e _C_h_a_r_N_a_m_e _N_a_m_e
+ + \(pl math plus θ \(*h theta
+ − \(mi math minus ι \(*i iota
+ = \(eq math equals κ \(*k kappa
+ ∗ \(** math star λ \(*l lambda
+ § \(sc section μ \(*m mu
+ ´ \(aa acute accent ν \(*n nu
+ ` \(ga grave accent ξ \(*c xi
+ _ \(ul underrule ο \(*o omicron
+ / \(sl slash (matching backslπash)\(*p pi
+ \ \(rs backslash Ï \(*r rho
+ α \(*a alpha σ \(*s sigma
+ β \(*b beta ς \(ts terminal sigma
+ γ \(*g gamma τ \(*t tau
+ δ \(*d delta υ \(*u upsilon
+ ε \(*e epsilon ϕ \(*f phi
+ ζ \(*z zeta χ \(*x chi
+ η \(*y eta ψ \(*q psi
+
+
+
+ †98 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _I_n_p_u_t _C_h_a_r_a_c_t_e_r _I_n_p_u_t_C_h_a_r_a_c_t_e_r
+ _C_h_a_r _N_a_m_e _N_a_m_e _C_h_a_r_N_a_m_e _N_a_m_e
+ ω \(*w omega ∠\(pt proportional to
+ Α \(*A Alpha ∅ \(es empty set
+ Β \(*B Beta ∈ \(mo member of
+ Γ \(*G Gamma │ \(br box vertical rule
+ Δ \(*D Delta ‡ \(dd double dagger
+ Ε \(*E Epsilon ☞ \(rh right hand
+ Ζ \(*Z Zeta ☜ \(lh left hand
+ Η \(*Y Eta | \(or or
+ Θ \(*H Theta ○ \(ci circle
+ Ι \(*I Iota ⎧ \(lt left top of big curly bracket
+ Κ \(*K Kappa ⎩ \(lb left bottom
+ Λ \(*L Lambda ⎫ \(rt right top
+ Μ \(*M Mu ⎭ \(rb right bot
+ Π\(*N Nu ⎨ \(lk left center of big curly bracket
+ Ξ \(*C Xi ⎬ \(rk right center of big curly bracket
+ Ο \(*O Omicron ⎪ \(bv bold vertical
+ Π \(*P Pi ⌊ \(lf left floor (left bottom of big
+ Ρ \(*R Rho square bracket)
+ Σ \(*S Sigma ⌋ \(rf right floor (right bottom)
+ Τ \(*T Tau ⌈ \(lc left ceiling (left top)
+ Υ \(*U Upsilon ⌉ \(rc right ceiling (right top)
+ Φ \(*F Phi
+ Χ \(*X Chi
+ Ψ \(*Q Psi
+ Ω \(*W Omega
+ √ \(sr square root
+ ‾ \(rn root en extender
+ ≥ \(>= >=
+ ≤ \(<= <=
+ ≡ \(== identically equal
+ ≈ \(~= approx =
+ ∼ \(ap approximates
+ ≠ \(!= not equal
+ → \(−> right arrow
+ ↠\(<− left arrow
+ ↑ \(ua up arrow
+ ↓ \(da down arrow
+ × \(mu multiply
+ ÷ \(di divide
+ ± \(+− plusâ€minus
+ ∪ \(cu cup (union)
+ ∩ \(ca cap (intersection)
+ ⊂ \(sb subset of
+ ⊃ \(sp superset of
+ ⊆ \(ib improper subset
+ ⊇ \(ip improper superset
+ ∞ \(if infinity
+ ∂ \(pd partial derivative
+ ∇ \(gr gradient
+ ¬ \(no not
+ ∫ \(is integral sign
+
+
+
+ †99 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ AAAAvvvvaaaaiiiillllaaaabbbblllleeee cccchhhhaaaarrrraaaacccctttteeeerrrrssss ffffrrrroooommmm ggggrrrrooooffffffff____cccchhhhaaaarrrr((((7777))))
+
+ The following table list the characters from the ggggrrrrooooffffffff____cccchhhhaaaarrrr(7)
+ manual page which can be used with Heirloom _t_r_o_f_f. Special charâ€
+ acters marked with a **** are only defined when _t_r_o_f_f is started
+ with option ----mmmmggggcccchhhhaaaarrrr. If a glyph is actually available depends on
+ the font and output device.
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ ¡ ¡ \[exclamdown] \U'00A1'inverted exclamation mark
+ ¢ ¢ \[cent] \U'00A2'currency unit
+ £ £ \[sterling] \U'00A3'pound sterling
+ ¤ ¤ \[currency] \U'00A4'generic currency symbol
+ ¥ ¥ \[yen] \U'00A5'Japanese currency symbol
+ ¦ ¦ \[brokenbar] \U'00A6'broken bar
+ § § \[section] \U'00A7'section sign
+ ¨ ¨ \[dieresis] \U'00A8'dieresis
+ © © \[copyright] \U'00A9'copyright symbol
+ ª ª \[ordfeminine] \U'00AA'feminine ordinal
+ « « \[guillemotleft] \U'00AB'left guillemet [sic]
+ ¬ ¬ \[logicalnot] \U'00AC'logical not
+ ® ® \[registered] \U'00AE'registered mark symbol
+ ¯ ¯ \[macron] \U'00AF'overbar accent
+ ° ° \[degree] \U'00B0'degree
+ ± ± \[plusminus] \U'00B1'plusâ€minus sign
+ ² ² \[twosuperior] \U'00B2'superscript 2
+ ³ ³ \[threesuperior] \U'00B3'superscript 3
+ ´ ´ \[acute] \U'00B4'acute accent
+ µ µ \[mu] \U'00B5'micro sign
+ ¶ ¶ \[paragraph] \U'00B6'end of paragraph marker
+ · · \[periodcentered] \U'00B7'centered period
+ ¸ ¸ \[cedilla] \U'00B8'cedilly accent
+ ¹ ¹ \[onesuperior] \U'00B9'superscript 1
+ º º \[ordmasculine] \U'00BA'masculine ordinal
+ » » \[guillemotright] \U'00BB'right guillemet [sic]
+ ¼ ¼ \[onequarter] \U'00BC'1/4 symbol
+ ½ ½ \[onehalf] \U'00BD'1/2 symbol
+ ¾ ¾ \[threequarters] \U'00BE'3/4 symbol
+ ¿ ¿ \[questiondown] \U'00BF'inverted question mark
+ À À \[Agrave] \U'00C0'A grave
+ Ã Ã \[Aacute] \U'00C1'A acute
+ Â Â \[Acircumflex] \U'00C2'A circumflex
+ Ã Ã \[Atilde] \U'00C3'A tilde
+ Ä Ä \[Adieresis] \U'00C4'A dieresis
+ Ã… Ã… \[Aring] \U'00C5'A ring
+ Æ Æ \[AE] \U'00C6'A+E combined
+ Ç Ç \[Ccedilla] \U'00C7'C cedilla
+ È È \[Egrave] \U'00C8'E grave
+ É É \[Eacute] \U'00C9'E acute
+ Ê Ê \[Ecircumflex] \U'00CA'E circumflex
+ Ë Ë \[Edieresis] \U'00CB'E dieresis
+ Ì Ì \[Igrave] \U'00CC'I grave
+ Ã Ã \[Iacute] \U'00CD'I acute
+
+
+
+ †100 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ ÃŽ ÃŽ \[Icircumflex] \U'00CE'I circumflex
+ Ã Ã \[Idieresis] \U'00CF'I dieresis
+ Ã Ã \[Eth] \U'00D0'E th
+ Ñ Ñ \[Ntilde] \U'00D1'N tilde
+ Ã’ Ã’ \[Ograve] \U'00D2'O grave
+ Ó Ó \[Oacute] \U'00D3'O acute
+ Ô Ô \[Ocircumflex] \U'00D4'O circumflex
+ Õ Õ \[Otilde] \U'00D5'O tilde
+ Ö Ö \[Odieresis] \U'00D6'O dieresis
+ × × \[multiply] \U'00D7'multiply
+ Ø Ø \[Oslash] \U'00D8'O slash
+ Ù Ù \[Ugrave] \U'00D9'U grave
+ Ú Ú \[Uacute] \U'00DA'U acute
+ Û Û \[Ucircumflex] \U'00DB'U circumflex
+ Ü Ü \[Udieresis] \U'00DC'U dieresis
+ Ã Ã \[Yacute] \U'00DD'Y acute
+ Þ Þ \[Thorn] \U'00DE'Thorn
+ ß ß \[germandbls] \U'00DF'German double s
+ à à \[agrave] \U'00E0'a grave
+ á á \[aacute] \U'00E1'a acute
+ â â \[acircumflex] \U'00E2'a circumflex
+ ã ã \[atilde] \U'00E3'a tilde
+ ä ä \[adieresis] \U'00E4'a dieresis
+ å å \[aring] \U'00E5'a ring
+ æ æ \[ae] \U'00E6'a+e combined
+ ç ç \[ccedilla] \U'00E7'c cedilla
+ è è \[egrave] \U'00E8'e grave
+ é é \[eacute] \U'00E9'e acute
+ ê ê \[ecircumflex] \U'00EA'e circumflex
+ ë ë \[edieresis] \U'00EB'e dieresis
+ ì ì \[igrave] \U'00EC'i grave
+ í í \[iacute] \U'00ED'i acute
+ î î \[icircumflex] \U'00EE'i circumflex
+ ï ï \[idieresis] \U'00EF'i dieresis
+ ð ð \[eth] \U'00F0'e th
+ ñ ñ \[ntilde] \U'00F1'n tilde
+ ò ò \[ograve] \U'00F2'o grave
+ ó ó \[oacute] \U'00F3'o acute
+ ô ô \[ocircumflex] \U'00F4'o circumflex
+ õ õ \[otilde] \U'00F5'o tilde
+ ö ö \[odieresis] \U'00F6'o dieresis
+ ÷ ÷ \[divide] \U'00F7'divide
+ ø ø \[oslash] \U'00F8'o slash
+ ù ù \[ugrave] \U'00F9'u grave
+ ú ú \[uacute] \U'00FA'u acute
+ û û \[ucircumflex] \U'00FB'u circumflex
+ ü ü \[udieresis] \U'00FC'u dieresis
+ ý ý \[yacute] \U'00FD'y acute
+ þ þ \[thorn] \U'00FE'thorn
+ ÿ ÿ \[ydieresis] \U'00FF'y dieresis
+ à \(−D* \[Eth] \U'00D0'uppercase eth
+ ð \(Sd* \[eth] \U'00F0'lowercase eth
+
+
+
+ †101 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ Þ \(TP* \[Thorn] \U'00DE'uppercase thorn
+ þ \(Tp* \[thorn] \U'00FE'lowercase thorn
+ ß \(ss* \[germandbls] \U'00DF'German double s
+ Å \(/L* \[Lslash] \U'0141'L slash
+ Å‚ \(/l* \[lslash] \U'0142'l slash
+ Ø \(/O* \[Oslash] \U'00D8'O slash
+ ø \(/o* \[oslash] \U'00F8'o slash
+ Æ \(AE \[AE] \U'00C6'A+E combined
+ æ \(ae \[ae] \U'00E6'a+e combined
+ Å’ \(OE \[OE] \U'0152'O+E combined
+ Å“ \(oe \[oe] \U'0153'o+e combined
+ IJ \(IJ \[IJ] \U'0132'I+J combined
+ ij \(ij \[ij] \U'0133'i+j combined
+ ı \(.i* \[dotlessi] \U'0131'i without a dot
+ Ã \('A* \[Aacute] \U'00C1'A acute
+ Ć \('C* \[Cacute] \U'0106'C acute
+ É \('E* \[Eacute] \U'00C9'E acute
+ Ã \('I* \[Iacute] \U'00CD'C acute
+ Ó \('O* \[Oacute] \U'00D3'O acute
+ Ú \('U* \[Uacute] \U'00DA'U acute
+ Ã \('Y* \[Yacute] \U'00DD'Y acute
+ á \('a* \[aacute] \U'00E1'a acute
+ ć \('c* \[cacute] \U'0107'c acute
+ é \('e* \[eacute] \U'00E9'e acute
+ í \('i* \[iacute] \U'00ED'i acute
+ ó \('o* \[oacute] \U'00F3'o acute
+ ú \('u* \[uacute] \U'00FA'u acute
+ ý \('y* \[yacute] \U'00FD'y acute
+ Ä \(:A* \[Adieresis] \U'00C4'A dieresis
+ Ë \(:E* \[Edieresis] \U'00CB'E dieresis
+ Ã \(:I* \[Idieresis] \U'00CF'I dieresis
+ Ö \(:O* \[Odieresis] \U'00D6'O dieresis
+ Ü \(:U* \[Udieresis] \U'00FC'U dieresis
+ Ÿ \(:Y* \[Ydieresis] \U'0178'Y dieresis
+ ä \(:a* \[adieresis] \U'00E4'a dieresis
+ ë \(:e* \[edieresis] \U'00EB'e dieresis
+ ï \(:i* \[idieresis] \U'00EF'i dieresis
+ ö \(:o* \[odieresis] \U'00F6'o dieresis
+ ü \(:u* \[udieresis] \U'00FC'u dieresis
+ ÿ \(:y* \[ydieresis] \U'00FF'y dieresis
+ Â \(^A* \[Acircumflex] \U'00C2'A circumflex
+ Ê \(^E* \[Ecircumflex] \U'00CA'E circumflex
+ ÃŽ \(^I* \[Icircumflex] \U'00CE'I circumflex
+ Ô \(^O* \[Ocircumflex] \U'00D4'O circumflex
+ Û \(^U* \[Ucircumflex] \U'00DB'U circumflex
+ â \(^a* \[acircumflex] \U'00E2'a circumflex
+ ê \(^e* \[ecircumflex] \U'00EA'e circumflex
+ î \(^i* \[icircumflex] \U'00EE'i circumflex
+ ô \(^o* \[ocircumflex] \U'00F4'o circumflex
+ û \(^u* \[ucircumflex] \U'00FB'u circumflex
+ À \(`A* \[Agrave] \U'00C0'A grave
+
+
+
+ †102 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ È \(`E* \[Egrave] \U'00C8'E grave
+ Ì \(`I* \[Igrave] \U'00CC'I grave
+ Ã’ \(`O* \[Ograve] \U'00D2'O grave
+ Ù \(`U* \[Ugrave] \U'00D9'U grave
+ à \(`a* \[agrave] \U'00E0'a grave
+ è \(`e* \[egrave] \U'00E8'e grave
+ ì \(`i* \[igrave] \U'00EC'i grave
+ ò \(`o* \[ograve] \U'00F2'o grave
+ ù \(`u* \[ugrave] \U'00F9'u grave
+ Ã \(~A* \[Atilde] \U'00C3'A tilde
+ Ñ \(~N* \[Ntilde] \U'00D1'N tilde
+ Õ \(~O* \[Otilde] \U'00D5'O tilde
+ ã \(~a* \[atilde] \U'00E3'a tilde
+ ñ \(~n* \[ntilde] \U'00F1'n tilde
+ õ \(~o* \[otilde] \U'00F5'o tilde
+ Å  \(vS* \[Scaron] \U'0160'S caron
+ Å¡ \(vs* \[scaron] \U'0161's caron
+ Ž \(vZ* \[Zcaron] \U'017D'Z caron
+ ž \(vz* \[zcaron] \U'017E'z caron
+ Ç \(,C* \[Ccedilla] \U'00C7'C cedilla
+ ç \(,c* \[ccedilla] \U'00E7'c cedilla
+ Ã… \(oA* \[Aring] \U'00C5'A ring
+ å \(oa* \[aring] \U'00E5'a ring
+ Ë \(a"* \[hungarumlaut] \U'02DD'Hungarian umlaut
+ ¯ \(a−* \[macron] \U'00AF'overbar accent
+ Ë™ \(a.* \[dotaccent] \U'02D9'dot accent
+ ^ \(a^* \[circumflex] \U'005E'circumflex accent
+ ´ \(aa \[acute] \U'00B4'acute accent
+ ` \(ga \[grave] \U'0060'grave accent
+ ˘ \(ab* \[breve] \U'02D8'breve accent
+ ¸ \(ac* \[cedilla] \U'00B8'cedilla accent
+ ¨ \(ad* \[dieresis] \U'00A8'umlaut accent
+ ˇ \(ah* \[caron] \U'02C7'caron accent
+ Ëš \(ao* \[ring] \U'02DA'ring accent
+ ˜ \(a~* \[tilde] \U'007E'tilde accent
+ Ë› \(ho* \[ogonek] \U'02dB'hook accent
+ ^ \(ha* \[asciicircum] \U'005E'high circumflex
+ ~ \(ti* \[asciitilde] \U'007E'tilde in the vertical middle
+ „ \(Bq* \[quotedblbase] \U'201E'low double comma quote
+ ‚ \(bq* \[quotesinglbase] \U'201A'low single comma quote
+ “ \(lq \[quotedblleft] \U'201C'left double quote
+ “ \(`` (_a_l_i_a_s)
+ †\(rq \[quotedblright] \U'201D'right double quote
+ †\('' (_a_l_i_a_s)
+ ‘ \(oq \[quoteleft] \U'2018'single open quote
+ ’ \(cq \[quoteright] \U'2019'single closing quote
+ ' \(aq \[quotesingle] \U'0027'apostrophe quote
+ " \(dq \[quotedbl] \U'0022'double quote
+ « \(Fo* \[guillemotleft] \U'00AB'left guillemet
+ » \(Fc* \[guillemotright] \U'00BB'right guillemet
+ ‹ \(fo* \[guilsinglleft] \U'2039'single left angle quotation mark
+ › \(fc* \[guilsinglright] \U'203A'single right angle quotation mark
+
+
+
+ †103 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ ¡ \(r!* \[exclamdown] \U'00A1'inverted exclamation mark
+ ¿ \(r?* \[questiondown] \U'00BF'inverted question mark
+ — \(em \[emdash] \U'2014'emâ€dash symbol
+ – \(en \[endash] \U'2013'enâ€dash symbol
+ †\(hy \[hyphen] \U'2010'hyphen symbol
+ [ \(lB* \[bracketleft] \U'005B'left square bracket
+ ] \(rB* \[bracketright] \U'005D'right square bracket
+ { \(lC* \[braceleft] \U'007B'left curly bracket
+ } \(rC* \[braceright] \U'007D'right curly bracket
+ ⟨ \(la* \[angleleft] \U'27E8'mathematical left angle bracket
+ ⟩ \(ra* \[angleright] \U'27E9'mathematical right angle bracket
+ ⎪ \(bv \[braceex] \U'23AA'curly brace vertical extension
+ ⎡ \[bracketlefttp] \U'23A1'left square bracket top
+ ⎣ \[bracketleftbt] \U'23A3'left square bracket bottom
+ ⎢ \[bracketleftex] \U'23A2'left square bracket extension
+ ⎤ \[bracketrighttp] \U'23A4'right square bracket top
+ ⎦ \[bracketrightbt] \U'23A6'right square bracket bottom
+ ⎥ \[bracketrightex] \U'23A5'right square bracket extension
+ ⎧ \(lt \[bracelefttp] \U'23A7'left curly brace top
+ ⎨ \(lk \[braceleftmid] \U'23A8'left curly brace middle
+ ⎩ \(lb \[braceleftbt] \U'23A9'left curly brace bottom
+ ⎪ \[braceleftex] \U'23AA'left curly brace extension
+ ⎫ \(rt \[bracerighttp] \U'23AB'right curly brace top
+ ⎬ \(rk \[bracerightmid] \U'23AC'right curly brace middle
+ ⎭ \(rb \[bracerightbt] \U'23AD'right curly brace bottom
+ ⎪ \[bracerightex] \U'23AA'right curly brace extension
+ ⎛ \[parenlefttp] \U'239B'left parenthesis top
+ ⎠\[parenleftbt] \U'239D'left parenthesis bottom
+ ⎜ \[parenleftex] \U'239C'left parenthesis extension
+ ⎞ \[parenrighttp] \U'239E'right parenthesis top
+ ⎠ \[parenrightbt] \U'23A0'right parenthesis bottom
+ ⎟ \[parenrightex] \U'239F'right parenthesis extension
+ ↠\(<− \[arrowleft] \U'2190'arrow left
+ → \(−> \[arrowright] \U'2192'arrow right
+ ↔ \(<>* \[arrowboth] \U'2194'horizontal arrow in both directions
+ ↓ \(da \[arrowdown] \U'2193'arrow down
+ ↑ \(ua \[arrowup] \U'2191'arrow up
+ ↕ \(va* \[arrowupdn] \U'2195'vertical arrow in both directions
+ ⇠\(lA* \[arrowdblleft] \U'21D0'double arrow left
+ ⇒ \(rA* \[arrowdblright] \U'21D2'double arrow right
+ ⇔ \(hA* \[arrowdblboth] \U'21D4'horizontal double arrow in both directions
+ ⇓ \(dA* \[arrowdbldown] \U'21D3'double arrow down
+ ⇑ \(uA* \[arrowdblup] \U'21D1'double arrow up
+ ⇕ \(vA* \[uni21D5] \U'21D5'vertical double arrow in both directions
+ ⎯ \(an* \[arrowhorizex] \U'23AF'horizontal arrow extension
+ | \(ba* \[bar] \U'007C'bar
+ │ \(br \[SF110000] \U'2502'box rule
+ _ \(ul \[underscore] \U'005F'underscore
+ ‾ \(rn \[overline] \U'203E'overline
+ ⎽ \(ru baseline rule
+ ¦ \(bb* \[brokenbar] \U'00A6'broken bar
+ / \(sl \[slash] \U'002F'slash
+
+
+
+ †104 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ \ \(rs \[backslash] \U'005C'revers slash
+ â—‹ \(ci \[circle] \U'25CB'circle
+ • \(bu \[bullet] \U'2022'bullet
+ ‡ \(dd \[daggerdbl] \U'2021'double dagger
+ † \(dg \[dagger] \U'2020'dagger
+ â—Š \(lz* \[lozenge] \U'25CA'diamond
+ â–¡ \(sq \[uni25A1] \U'25A1'square
+ ¶ \(ps* \[paragraph] \U'00B6'end of paragraph marker
+ § \(sc \[section] \U'00A7'section sign
+ ☜ \(lh \[uni261C] \U'261C'hand pointing left
+ ☞ \(rh \[a14] \U'261E'hand pointing right
+ @ \(at \[at] \U'0040'at
+ # \(sh* \[numbersign] \U'0023'number sign
+ ↵ \(CR* \[carriagereturn] \U'21B5'carriage return
+ ✓ \(OK* \[a19] \U'2713'check mark
+ © \(co \[copyright] \U'00A9'copyright sign
+ ® \(rg \[registered] \U'00AE'registered mark
+ â„¢ \(tm \[trademark] \U'2122'trademark symbol
+ \(bs AT&T Bell Labs logo
+ $ \(Do* \[dollar] \U'0024'dollar
+ ¢ \(ct \[cent] \U'00A2'cent
+ € \(Eu* \[Euro] \U'20AC'fontâ€specific Euro glyph
+ ¥ \(Ye* \[yen] \U'00A5'Japanese Yen
+ £ \(Po* \[sterling] \U'00A3'pound sterling
+ ¤ \(Cs* \[currency] \U'00A4'Scandinavian currency sign
+ Æ’ \(Fn* \[florin] \U'0192'Dutch currency sign
+ ° \(de \[degree] \U'00B0'degree
+ ‰ \(%0* \[perthousand] \U'2030'per thousand
+ ′ \(fm \[minute] \U'2032'arc minute sign
+ ″ \(sd* \[second] \U'2033'arc second sign
+ µ \(mc* \[mu] \U'00B5'micro sign
+ ª \(Of* \[ordfeminine] \U'00AA'feminine ordinal
+ º \(Om* \[ordmasculine] \U'00BA'masculine ordinal
+ ∧ \(AN* \[logicaland] \U'2227'logical and
+ ∨ \(OR* \[logicalor] \U'2228'logical or
+ ¬ \(no logical not
+ ¬ \[tno]* \[logicalnot]\U'00AC'text variant of ‘no’
+ ∃ \(te \[existential] \U'2203'there exists
+ ∀ \(fa \[universal] \U'2200'for all
+ ∋ \(st* \[suchthat] \U'220B'such that
+ ∴ \(3d* \[therefore] \U'2234'therefor
+ ∴ \(tf* (_a_l_i_a_s)
+ | \(or \[bar] \U'007C'bitwise OR
+ ½ \(12 \[onehalf] \U'00BD'1/2 symbol
+ ¼ \(14 \[onequarter] \U'00BC'1/4 symbol
+ ¾ \(34 \[threequarters] \U'00BE'3/4 symbol
+ â…› \(18* \[oneeighth] \U'215B'1/8 symbol
+ ⅜ \(38* \[threeeighths] \U'215C'3/8 symbol
+ â… \(58* \[fiveeighths] \U'215D'5/8 symbol
+ â…ž \(78* \[seveneighths] \U'215E'7/8 symbol
+ ¹ \(S1* \[onesuperior] \U'00B9'superscript 1
+ ² \(S2* \[twosuperior] \U'00B2'superscript 2
+
+
+
+ †105 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ ³ \(S3* \[threesuperior] \U'00B3'superscript 2
+ + \(pl \[plus] \U'002B'plus
+ − \(mi \[minus] \U'2212'minus
+ ∓ \(−+* \[uni2213] \U'2213'minusâ€plus
+ ± \(+− plusâ€minus
+ ± \[t+−]* \[plusminus]\U'00B1'text variant of plusâ€minus
+ · \(pc* \[periodcentered] \U'00B7'period centered
+ â‹… \(md* \[dotmath] \U'22C5'multiplication dot
+ × \(mu multiply sign
+ × \[tmu]* \[multiply]\U'00D7'text variant of multiply sign
+ ⊗ \(c** \[circlemultiply] \U'2297'multiply sign in circle
+ ⊕ \(c+* \[circleplus] \U'2295'plus sign in circle
+ ÷ \(di division sign
+ ÷ \[tdi]* \[divide]\U'00F7'text variant of division sign
+ \(f/* \[fraction] \U'2044'bar for fractions
+ ∗ \(** \[asteriskmath] \U'2217'mathematical asterisk
+ ≤ \(<= \[lessequal] \U'2264'less or equal
+ ≥ \(>= \[greaterequal] \U'2265'greater or equal
+ ≪ \(<<* \[uni226A] \U'226A'much less
+ ≫ \(>>* \[uni226B] \U'226B'much greater
+ = \(eq \[equal] \U'003D'equal
+ ≠ \(!= \[notequal] \U'2260'not equal
+ ≡ \(== \[equivalence] \U'2261'equivalent
+ ≢ \(ne* \[uni2262] \U'2262'not equivalent
+ ≅ \(=~* \[congruent] \U'2245'congruent
+ ∼ \(ap \[similar] \U'223C'similar
+ ≈ \(~~ \[approxequal] \U'2248'almost equal to
+ ∠\(pt \[proportional] \U'221D'proportional
+ ∅ \(es \[emptyset] \U'2205'empty set
+ ∈ \(mo \[element] \U'2208'element of
+ ∉ \(nm* \[notelement] \U'2209'not element of
+ ⊂ \(sb \[propersubset] \U'2282'proper subset
+ ⊄ \(nb* \[notsubset] \U'2284'not subset
+ ⊃ \(sp \[propersuperset] \U'2283'proper superset
+ ⊅ \(nc* \[uni2285] \U'2285'not superset
+ ⊆ \(ib \[reflexsubset] \U'2286'subset or equal
+ ⊇ \(ip \[reflexsuperset] \U'2287'superset or equal
+ ∩ \(ca \[intersection] \U'2229'intersection
+ ∪ \(cu \[union] \U'222A'union
+ ∠ \(/_* \[angle] \U'2220'angle
+ ⊥ \(pp* \[perpendicular] \U'22A5'perpendicular
+ ∫ \(is \[integral] \U'222B'integral
+ Σ \(*S \[summation] \U'2211'summation
+ ∑ \[sum]* (_a_l_i_a_s)
+ Π \(*P \[product] \U'220F'product
+ ∠\[coproduct]* \U'2210'coproduct
+ ∇ \(gr \[gradient] \U'2207'gradient
+ √ \(sr \[radical] \U'221A'square root
+ √ \[sqrt]* (_a_l_i_a_s)
+ \[radicalex] square root continuation
+ \[sqrtex]* (_a_l_i_a_s)
+ ⌈ \(lc \[uni2308] \U'2308'left ceiling
+
+
+
+ †106 â€
+
+
+
+
+
+ _n_r_o_f_f/_t_r_o_f_f User’s Manual Heirloom Documentation Tools
+ February 10, 2016
+
+
+ _O_u_t_p_u_t _I_n_p_u_t _P_o_s_t_S_c_r_i_p_t_U_n_i_c_o_d_e_N_o_t_e_s
+ ⌉ \(rc \[uni2309] \U'2309'right ceiling
+ ⌊ \(lf \[uni230A] \U'230A'left floor
+ ⌋ \(rf \[uni230B] \U'230B'right floor
+ ∞ \(if \[infinity] \U'221E'infinity
+ ℵ \(Ah* \[aleph] \U'2135'aleph
+ â„‘ \(Im* \[Ifraktur] \U'2111'Gothic I, imaginary
+ ℜ \(Re* \[Rfraktur] \U'211C'Gothic R, real
+ ℘ \(wp* \[weierstrass] \U'2118'Weierstrass p
+ ∂ \(pd \[partialdiff] \U'2202'partial differentiation
+ â„ \(−h* \[hbar] \U'210F'Planck constant / 2pi (hâ€bar)
+ Ï‘ \(+h* \[theta1] \U'03D1'variant theta
+ φ \(+f* \[phi1] \U'03C6'variant phi
+ Ï– \(+p* \[omega1] \U'03D6'variant pi
+ ϵ \(+e* \[uni03F5] \U'03F5'variant epsilon
+ ♣ \(CL* \[club] \U'2663'black club suit
+ â™  \(SP* \[spade] \U'2660'black spade suit
+ ♥ \(HE* \[heart] \U'2665'black heart suit
+ ♡ \[uni2661] \U'2661'white heart suit
+ ♦ \(DI* \[diamond] \U'2666'black diamond suit
+ ♢ \[uni2662] \U'2662'white diamond suit
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ †107 â€
+
+
+
diff --git a/doc/troff/doc.ps b/doc/troff/doc.ps
new file mode 100644
index 0000000000000..eab70fc83f098
--- /dev/null
+++ b/doc/troff/doc.ps
@@ -0,0 +1,50551 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Bold Times-Italic Times-Roman Times-BoldItalic Symbol
+%%+ Courier
+%%Pages: 82
+%%DocumentMedia: x612y792 612 792 0 () ()
+%%DocumentNeededResources: font Times-Bold
+%%+ font Times-Italic
+%%+ font Times-Roman
+%%+ font Times-BoldItalic
+%%+ font Symbol
+%%+ font Courier
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
+%%BeginResource: procset dpost_charci 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/ci 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_ci {
+ pop
+ size 3 mul 8 div /rad exch def
+ currentpoint
+ newpath
+ rad add exch rad add exch rad 0 360 arc
+ stroke
+} def
+%%EndResource
+%%BeginResource: procset dpost_charlh 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/lh 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_lh {
+pop
+gsave
+linewidth ptsize mul resolution 720 div div scaling 10 mul div setlinewidth
+size .0022 mul dup scale
+currentpoint translate
+
+16 177 moveto
+16 188 lineto
+21 193 lineto
+30 193 lineto
+34 189 lineto
+36 183 lineto
+36 180 lineto
+34 174 lineto
+27 170 lineto
+19 172 lineto
+16 177 lineto
+stroke
+
+38 194 moveto
+38 196 lineto
+53 199 lineto
+68 201 lineto
+83 202 lineto
+98 203 lineto
+113 204 lineto
+128 204 lineto
+143 205 lineto
+158 205 lineto
+173 205 lineto
+188 204 lineto
+203 203 lineto
+218 202 lineto
+233 200 lineto
+248 198 lineto
+263 196 lineto
+278 194 lineto
+293 190 lineto
+308 186 lineto
+323 181 lineto
+338 176 lineto
+353 168 lineto
+361 162 lineto
+364 153 lineto
+366 138 lineto
+367 126 lineto
+368 106 lineto
+369 80 lineto
+369 74 lineto
+368 60 lineto
+367 54 lineto
+362 43 lineto
+348 34 lineto
+333 28 lineto
+318 25 lineto
+303 26 lineto
+288 29 lineto
+273 31 lineto
+258 32 lineto
+243 32 lineto
+228 30 lineto
+213 27 lineto
+198 24 lineto
+183 23 lineto
+168 23 lineto
+153 27 lineto
+148 34 lineto
+148 47 lineto
+153 54 lineto
+168 58 lineto
+183 58 lineto
+198 58 lineto
+213 59 lineto
+226 60 lineto
+228 62 lineto
+228 67 lineto
+223 71 lineto
+208 71 lineto
+193 70 lineto
+178 70 lineto
+163 70 lineto
+148 70 lineto
+133 71 lineto
+123 76 lineto
+120 84 lineto
+120 91 lineto
+122 98 lineto
+129 104 lineto
+144 106 lineto
+159 107 lineto
+174 107 lineto
+189 107 lineto
+202 108 lineto
+204 110 lineto
+204 117 lineto
+201 119 lineto
+186 119 lineto
+171 119 lineto
+156 119 lineto
+141 119 lineto
+126 119 lineto
+111 121 lineto
+103 128 lineto
+101 137 lineto
+101 142 lineto
+103 150 lineto
+111 158 lineto
+126 161 lineto
+141 161 lineto
+156 162 lineto
+171 163 lineto
+186 163 lineto
+191 165 lineto
+192 167 lineto
+192 171 lineto
+190 174 lineto
+176 175 lineto
+161 175 lineto
+146 175 lineto
+131 174 lineto
+116 174 lineto
+101 174 lineto
+86 173 lineto
+71 172 lineto
+56 171 lineto
+41 171 lineto
+41 174 lineto
+43 178 lineto
+43 187 lineto
+38 194 lineto
+stroke
+
+373 169 moveto
+373 176 lineto
+375 182 lineto
+386 190 lineto
+401 193 lineto
+408 191 lineto
+411 185 lineto
+412 181 lineto
+414 167 lineto
+415 158 lineto
+416 144 lineto
+417 128 lineto
+418 110 lineto
+418 60 lineto
+417 45 lineto
+415 37 lineto
+409 34 lineto
+394 31 lineto
+381 35 lineto
+379 42 lineto
+379 52 lineto
+380 67 lineto
+380 77 lineto
+379 77 lineto
+378 106 lineto
+377 121 lineto
+376 133 lineto
+375 147 lineto
+374 158 lineto
+373 169 lineto
+
+stroke
+grestore
+} def
+%%EndResource
+%%BeginResource: procset dpost_charsq 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/sq 1.2"
+%
+% CDDL HEADER START
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright(c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+%
+/build_sq {
+ pop
+ size 2 div /side exch def
+ currentpoint
+ newpath
+ moveto
+ 0 side rlineto
+ side 0 rlineto
+ 0 side neg rlineto
+ closepath
+ currentfont dup /FontInfo dup 3 1 roll known {
+ get dup /Weight dup 3 1 roll known {
+ get dup dup (Ultra) eq exch (Bold) eq or exch (Heavy) eq or
+ {fill} {stroke} ifelse
+ } {pop pop stroke} ifelse
+ } {pop pop stroke} ifelse
+} def
+%%EndResource
+%%BeginResource: procset dpost_charapproxeq 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/~= 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_~= {
+ pop
+ (\176) stringwidth pop neg size -.15 mul (\176\055) ashow
+} def
+%%EndResource
+%%BeginResource: procset dpost_charrh 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/rh 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_rh {
+pop
+gsave
+linewidth ptsize mul resolution 720 div div scaling 10 mul div setlinewidth
+size .0022 mul dup scale
+currentpoint translate
+
+15 66 moveto
+15 86 lineto
+16 131 lineto
+17 146 lineto
+18 158 lineto
+19 167 lineto
+21 181 lineto
+24 190 lineto
+34 193 lineto
+49 189 lineto
+58 182 lineto
+60 177 lineto
+60 166 lineto
+59 156 lineto
+58 143 lineto
+57 130 lineto
+56 117 lineto
+55 102 lineto
+54 42 lineto
+53 39 lineto
+49 35 lineto
+34 34 lineto
+19 39 lineto
+16 47 lineto
+15 66 lineto
+stroke
+
+65 60 moveto
+65 111 lineto
+66 127 lineto
+67 139 lineto
+69 153 lineto
+72 163 lineto
+83 171 lineto
+98 177 lineto
+113 182 lineto
+128 187 lineto
+143 190 lineto
+158 194 lineto
+173 196 lineto
+188 199 lineto
+203 201 lineto
+218 203 lineto
+233 205 lineto
+248 205 lineto
+263 206 lineto
+278 206 lineto
+293 206 lineto
+308 206 lineto
+323 206 lineto
+338 205 lineto
+353 203 lineto
+368 202 lineto
+383 200 lineto
+394 197 lineto
+389 190 lineto
+389 180 lineto
+391 176 lineto
+391 173 lineto
+380 173 lineto
+365 173 lineto
+350 174 lineto
+335 175 lineto
+320 176 lineto
+305 176 lineto
+290 176 lineto
+275 177 lineto
+260 177 lineto
+245 177 lineto
+240 173 lineto
+240 170 lineto
+245 165 lineto
+260 164 lineto
+275 164 lineto
+290 164 lineto
+305 163 lineto
+320 160 lineto
+327 155 lineto
+330 149 lineto
+330 134 lineto
+328 129 lineto
+323 124 lineto
+309 121 lineto
+294 121 lineto
+279 121 lineto
+264 121 lineto
+249 121 lineto
+234 121 lineto
+228 118 lineto
+228 112 lineto
+234 109 lineto
+249 109 lineto
+264 109 lineto
+279 108 lineto
+294 108 lineto
+306 104 lineto
+311 97 lineto
+312 91 lineto
+312 88 lineto
+311 82 lineto
+305 74 lineto
+290 72 lineto
+275 72 lineto
+260 72 lineto
+245 73 lineto
+230 73 lineto
+215 73 lineto
+205 70 lineto
+205 63 lineto
+217 60 lineto
+232 60 lineto
+247 60 lineto
+262 60 lineto
+277 57 lineto
+283 52 lineto
+285 44 lineto
+285 41 lineto
+284 35 lineto
+280 30 lineto
+268 26 lineto
+253 25 lineto
+238 26 lineto
+223 28 lineto
+208 31 lineto
+193 33 lineto
+178 34 lineto
+163 33 lineto
+148 31 lineto
+133 28 lineto
+118 27 lineto
+103 28 lineto
+88 34 lineto
+73 43 lineto
+67 52 lineto
+65 60 lineto
+stroke
+
+396 180 moveto
+396 188 lineto
+399 194 lineto
+410 196 lineto
+416 190 lineto
+416 180 lineto
+415 177 lineto
+411 173 lineto
+400 173 lineto
+396 180 lineto
+stroke
+
+grestore
+} def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+ /Author (Gunnar Ritter)
+ /Title (Nroff/Troff User's Manual)
+/DOCINFO pdfmark
+[ /Title (Title)
+ /Dest /Bookmark$0
+/OUT pdfmark
+[ /Title (Introduction)
+ /Dest /Bookmark$1
+/OUT pdfmark
+[ /Title (Usage)
+ /Dest /Bookmark$2
+/OUT pdfmark
+[ /Title (Summary and Index)
+ /Count -5
+ /Dest /Bookmark$3
+/OUT pdfmark
+[ /Title (Request Summary)
+ /Count -27
+ /Dest /Bookmark$4
+/OUT pdfmark
+[ /Title (1. General Explanation)
+ /Dest /Bookmark$5
+/OUT pdfmark
+[ /Title (2. Font and Character Size Control)
+ /Dest /Bookmark$6
+/OUT pdfmark
+[ /Title (3. Page Control)
+ /Dest /Bookmark$7
+/OUT pdfmark
+[ /Title (4. Text Filling, Adjusting, and Centering)
+ /Dest /Bookmark$8
+/OUT pdfmark
+[ /Title (5. Vertical Spacing)
+ /Dest /Bookmark$9
+/OUT pdfmark
+[ /Title (6. Line Length and Indenting)
+ /Dest /Bookmark$10
+/OUT pdfmark
+[ /Title (7. Macros, Strings, Diversion, and Position Traps)
+ /Dest /Bookmark$11
+/OUT pdfmark
+[ /Title (8. Number Registers)
+ /Dest /Bookmark$12
+/OUT pdfmark
+[ /Title (9. Tabs, Leaders, and Fields)
+ /Dest /Bookmark$13
+/OUT pdfmark
+[ /Title (10. Input and Output Conventions and Character Translations\
+)
+ /Dest /Bookmark$14
+/OUT pdfmark
+[ /Title (11. Local Horizontal and Vertical Motions, and the Width Fu\
+nction)
+ /Dest /Bookmark$15
+/OUT pdfmark
+[ /Title (12. Overstrike, Bracket, Line-drawing, Graphics, and Zero-w\
+idth Functions)
+ /Dest /Bookmark$16
+/OUT pdfmark
+[ /Title (13. Hyphenation.)
+ /Dest /Bookmark$17
+/OUT pdfmark
+[ /Title (14. Three-Part Titles.)
+ /Dest /Bookmark$18
+/OUT pdfmark
+[ /Title (15. Output Line Numbering.)
+ /Dest /Bookmark$19
+/OUT pdfmark
+[ /Title (16. Conditional Acceptance of Input)
+ /Dest /Bookmark$20
+/OUT pdfmark
+[ /Title (17. Environment Switching.)
+ /Dest /Bookmark$21
+/OUT pdfmark
+[ /Title (18. Insertions from the Standard Input)
+ /Dest /Bookmark$22
+/OUT pdfmark
+[ /Title (19. Input/Output File Switching)
+ /Dest /Bookmark$23
+/OUT pdfmark
+[ /Title (20. Miscellaneous)
+ /Dest /Bookmark$24
+/OUT pdfmark
+[ /Title (21. Output and Error Messages, Debugging)
+ /Dest /Bookmark$25
+/OUT pdfmark
+[ /Title (22. Color Support)
+ /Dest /Bookmark$26
+/OUT pdfmark
+[ /Title (23. Picture Inclusion)
+ /Dest /Bookmark$27
+/OUT pdfmark
+[ /Title (24. Special Features for PDF Documents)
+ /Dest /Bookmark$28
+/OUT pdfmark
+[ /Title (25. groff Compatibility)
+ /Dest /Bookmark$29
+/OUT pdfmark
+[ /Title (26. Output Language)
+ /Dest /Bookmark$30
+/OUT pdfmark
+[ /Title (27. Device and Font Description Files)
+ /Dest /Bookmark$31
+/OUT pdfmark
+[ /Title (Alphabetical Request and Section Number Cross Reference)
+ /Dest /Bookmark$32
+/OUT pdfmark
+[ /Title (Escape Sequences for Characters, Indicators, and Functions)
+ /Dest /Bookmark$33
+/OUT pdfmark
+[ /Title (Predefined General Number Registers)
+ /Dest /Bookmark$34
+/OUT pdfmark
+[ /Title (Predefined Read-Only Number Registers)
+ /Dest /Bookmark$35
+/OUT pdfmark
+[ /Title (Reference Manual)
+ /Count -27
+ /Dest /Bookmark$36
+/OUT pdfmark
+[ /Title (1. General Explanation)
+ /Count -5
+ /Dest /Bookmark$37
+/OUT pdfmark
+[ /Title (1.1. Form of input.)
+ /Dest /Bookmark$38
+/OUT pdfmark
+[ /Title (1.2. Formatter and device resolution.)
+ /Dest /Bookmark$39
+/OUT pdfmark
+[ /Title (1.3. Numerical parameter input.)
+ /Dest /Bookmark$40
+/OUT pdfmark
+[ /Title (1.4. Numerical expressions.)
+ /Dest /Bookmark$41
+/OUT pdfmark
+[ /Title (1.5. Notation.)
+ /Dest /Bookmark$42
+/OUT pdfmark
+[ /Title (2. Font and Character Size Control)
+ /Count -3
+ /Dest /Bookmark$43
+/OUT pdfmark
+[ /Title (2.1. Character set.)
+ /Dest /Bookmark$44
+/OUT pdfmark
+[ /Title (2.2. Fonts.)
+ /Dest /Bookmark$45
+/OUT pdfmark
+[ /Title (2.3. Character size.)
+ /Dest /Bookmark$46
+/OUT pdfmark
+[ /Title (3. Page control)
+ /Dest /Bookmark$47
+/OUT pdfmark
+[ /Title (4. Text Filling, Adjusting, and Centering)
+ /Count -4
+ /Dest /Bookmark$48
+/OUT pdfmark
+[ /Title (4.1. Filling and adjusting.)
+ /Dest /Bookmark$49
+/OUT pdfmark
+[ /Title (4.2. Interrupted text.)
+ /Dest /Bookmark$50
+/OUT pdfmark
+[ /Title (4.3. Kerning.)
+ /Dest /Bookmark$51
+/OUT pdfmark
+[ /Title (4.4. Hanging characters.)
+ /Dest /Bookmark$52
+/OUT pdfmark
+[ /Title (5. Vertical Spacing)
+ /Count -4
+ /Dest /Bookmark$53
+/OUT pdfmark
+[ /Title (5.1. Base-line spacing.)
+ /Dest /Bookmark$54
+/OUT pdfmark
+[ /Title (5.2. Extra line-space.)
+ /Dest /Bookmark$55
+/OUT pdfmark
+[ /Title (5.3. Blocks of vertical space.)
+ /Dest /Bookmark$56
+/OUT pdfmark
+[ /Title (5.4. Ascenders and descenders.)
+ /Dest /Bookmark$57
+/OUT pdfmark
+[ /Title (6. Line Length and Indenting)
+ /Dest /Bookmark$58
+/OUT pdfmark
+[ /Title (7. Macros, Strings, Diversion, and Position Traps)
+ /Count -7
+ /Dest /Bookmark$59
+/OUT pdfmark
+[ /Title (7.1. Macros and strings.)
+ /Dest /Bookmark$60
+/OUT pdfmark
+[ /Title (7.2. Copy mode input interpretation.)
+ /Dest /Bookmark$61
+/OUT pdfmark
+[ /Title (7.3. Arguments.)
+ /Dest /Bookmark$62
+/OUT pdfmark
+[ /Title (7.4. Diversions.)
+ /Dest /Bookmark$63
+/OUT pdfmark
+[ /Title (7.5. Traps.)
+ /Dest /Bookmark$64
+/OUT pdfmark
+[ /Title (7.6. Recursion.)
+ /Dest /Bookmark$65
+/OUT pdfmark
+[ /Title (7.7. Local strings.)
+ /Dest /Bookmark$66
+/OUT pdfmark
+[ /Title (8. Number Registers)
+ /Dest /Bookmark$67
+/OUT pdfmark
+[ /Title (9. Tabs, Leaders, and Fields)
+ /Count -2
+ /Dest /Bookmark$68
+/OUT pdfmark
+[ /Title (9.1. Tabs and leaders.)
+ /Dest /Bookmark$69
+/OUT pdfmark
+[ /Title (9.2. Fields.)
+ /Dest /Bookmark$70
+/OUT pdfmark
+[ /Title (10. Input and Output Conventions and Character Translations\
+)
+ /Count -8
+ /Dest /Bookmark$71
+/OUT pdfmark
+[ /Title (10.1. Input character translations.)
+ /Dest /Bookmark$72
+/OUT pdfmark
+[ /Title (10.2. Ligatures.)
+ /Dest /Bookmark$73
+/OUT pdfmark
+[ /Title (10.3. Backspacing, underlining, overstriking, etc.)
+ /Dest /Bookmark$74
+/OUT pdfmark
+[ /Title (10.4. Control characters.)
+ /Dest /Bookmark$75
+/OUT pdfmark
+[ /Title (10.5. Output translation.)
+ /Dest /Bookmark$76
+/OUT pdfmark
+[ /Title (10.6. Transparent throughput.)
+ /Dest /Bookmark$77
+/OUT pdfmark
+[ /Title (10.7. Transparent output.)
+ /Dest /Bookmark$78
+/OUT pdfmark
+[ /Title (10.8. Comments and concealed newlines.)
+ /Dest /Bookmark$79
+/OUT pdfmark
+[ /Title (11. Local Horizontal and Vertical Motions, and the Width Fu\
+nction)
+ /Count -3
+ /Dest /Bookmark$80
+/OUT pdfmark
+[ /Title (11.1. Local Motions.)
+ /Dest /Bookmark$81
+/OUT pdfmark
+[ /Title (11.2. Width Function.)
+ /Dest /Bookmark$82
+/OUT pdfmark
+[ /Title (11.3. Mark horizontal place.)
+ /Dest /Bookmark$83
+/OUT pdfmark
+[ /Title (12. Overstrike, Bracket, Line-drawing, Graphics, and Zero-w\
+idth Functions)
+ /Count -5
+ /Dest /Bookmark$84
+/OUT pdfmark
+[ /Title (12.1. Overstriking.)
+ /Dest /Bookmark$85
+/OUT pdfmark
+[ /Title (12.2. Zero-width characters and strings.)
+ /Dest /Bookmark$86
+/OUT pdfmark
+[ /Title (12.3. Large Brackets.)
+ /Dest /Bookmark$87
+/OUT pdfmark
+[ /Title (12.4. Line drawing.)
+ /Dest /Bookmark$88
+/OUT pdfmark
+[ /Title (12.5. Graphics.)
+ /Dest /Bookmark$89
+/OUT pdfmark
+[ /Title (13. Hyphenation.)
+ /Dest /Bookmark$90
+/OUT pdfmark
+[ /Title (14. Three-Part Titles.)
+ /Dest /Bookmark$91
+/OUT pdfmark
+[ /Title (15. Output Line Numbering.)
+ /Dest /Bookmark$92
+/OUT pdfmark
+[ /Title (16. Conditional Acceptance of Input)
+ /Dest /Bookmark$93
+/OUT pdfmark
+[ /Title (17. Environment Switching.)
+ /Dest /Bookmark$94
+/OUT pdfmark
+[ /Title (18. Insertions from the Standard Input)
+ /Dest /Bookmark$95
+/OUT pdfmark
+[ /Title (19. Input/Output File Switching)
+ /Dest /Bookmark$96
+/OUT pdfmark
+[ /Title (20. Miscellaneous)
+ /Dest /Bookmark$97
+/OUT pdfmark
+[ /Title (21. Output and Error Messages, Debugging.)
+ /Count -4
+ /Dest /Bookmark$98
+/OUT pdfmark
+[ /Title (21.1. Output Messages.)
+ /Dest /Bookmark$99
+/OUT pdfmark
+[ /Title (21.2. Warnings.)
+ /Dest /Bookmark$100
+/OUT pdfmark
+[ /Title (21.3. Errors.)
+ /Dest /Bookmark$101
+/OUT pdfmark
+[ /Title (21.4. Debugging.)
+ /Dest /Bookmark$102
+/OUT pdfmark
+[ /Title (22. Color Support)
+ /Dest /Bookmark$103
+/OUT pdfmark
+[ /Title (23. Picture Inclusion)
+ /Dest /Bookmark$104
+/OUT pdfmark
+[ /Title (24. Special Features for PDF Documents)
+ /Count -6
+ /Dest /Bookmark$105
+/OUT pdfmark
+[ /Title (24.1. The basics.)
+ /Dest /Bookmark$106
+/OUT pdfmark
+[ /Title (24.2. Preparations.)
+ /Dest /Bookmark$107
+/OUT pdfmark
+[ /Title (24.3. Specifying document description items.)
+ /Dest /Bookmark$108
+/OUT pdfmark
+[ /Title (24.4. Direct use of the pdfmark operator.)
+ /Dest /Bookmark$109
+/OUT pdfmark
+[ /Title (24.5. Creating bookmarks.)
+ /Dest /Bookmark$110
+/OUT pdfmark
+[ /Title (24.6. Links.)
+ /Dest /Bookmark$111
+/OUT pdfmark
+[ /Title (25. groff Compatibility)
+ /Count -2
+ /Dest /Bookmark$112
+/OUT pdfmark
+[ /Title (25.1. Conditional groff compatibility.)
+ /Dest /Bookmark$113
+/OUT pdfmark
+[ /Title (25.2. groff compatibility macros.)
+ /Dest /Bookmark$114
+/OUT pdfmark
+[ /Title (26. Output Language.)
+ /Dest /Bookmark$115
+/OUT pdfmark
+[ /Title (27. Device and Font Description Files)
+ /Count -2
+ /Dest /Bookmark$116
+/OUT pdfmark
+[ /Title (27.1. Device description file.)
+ /Dest /Bookmark$117
+/OUT pdfmark
+[ /Title (27.2. Font description files.)
+ /Dest /Bookmark$118
+/OUT pdfmark
+[ /Title (Tutorial Examples)
+ /Count -6
+ /Dest /Bookmark$119
+/OUT pdfmark
+[ /Title (T1. Introduction)
+ /Dest /Bookmark$120
+/OUT pdfmark
+[ /Title (T2. Page Margins)
+ /Dest /Bookmark$121
+/OUT pdfmark
+[ /Title (T3. Paragraphs and Headings)
+ /Dest /Bookmark$122
+/OUT pdfmark
+[ /Title (T4. Multiple Column Output)
+ /Dest /Bookmark$123
+/OUT pdfmark
+[ /Title (T5. Footnote Processing)
+ /Dest /Bookmark$124
+/OUT pdfmark
+[ /Title (T6. The Last Page)
+ /Dest /Bookmark$125
+/OUT pdfmark
+[ /Title (Font Style Examples)
+ /Dest /Bookmark$126
+/OUT pdfmark
+[ /Title (Input Naming Conventions)
+ /Dest /Bookmark$127
+/OUT pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@13@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Bold findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@13@0 def
+ currentdict
+end
+/Times-Bold-@13 exch definefont pop
+/@13 /Times-Bold-@13 def
+/&13 {@13 F} bind def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Italic findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/Times-Italic-@12 exch definefont pop
+/@12 /Times-Italic-@12 def
+/&12 {@12 F} bind def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+/Encoding-@14@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-BoldItalic findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@14@0 def
+ currentdict
+end
+/Times-BoldItalic-@14 exch definefont pop
+/@14 /Times-BoldItalic-@14 def
+/&14 {@14 F} bind def
+/Encoding-@20@0 [
+/.notdef /arrowright /parenleftex /universal /existential /asteriskmath
+/plus /minus /equal /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
+/Eta /Iota /Kappa /Lambda /Mu /Nu /Omicron /Pi /Rho /Theta /Sigma
+/Tau /Upsilon /Omega /Xi /Psi /space /exclam /Zeta /numbersign
+/underscore /percent /ampersand /radicalex /parenleft /parenright
+/alpha /plus /comma /minus /period /slash /zero /one /two /three
+/four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /beta /chi /delta /epsilon /phi /gamma
+/eta /iota /kappa /lambda /mu /nu /omicron /pi /theta /rho /sigma
+/tau /upsilon /omega /xi /psi /zeta /similar /minute /lessequal
+/fraction /bracketleft /infinity /bracketright /arrowleft /underscore
+/arrowup /arrowdown /degree /plusminus /greaterequal /multiply
+/proportional /partialdiff /bullet /divide /notequal /equivalence
+/approxequal /aleph /circlemultiply /circleplus /emptyset /intersection
+/union /propersuperset /reflexsuperset /propersubset /reflexsubset
+/element /gradient /registerserif /copyrightserif /braceleft
+/bar /braceright /similar /trademarkserif /radical /logicalnot
+/logicalor /bracketlefttp /bracketleftbt /bracelefttp /braceleftmid
+/braceleftbt /braceex /integral /bracketrighttp /bracketrightbt
+/bracerighttp /bracerightmid /bracerightbt /sigma1 /bracketleftex
+/space /suchthat /congruent /theta1 /therefore /perpendicular
+/phi1 /omega1 /Euro /Upsilon1 /florin /club /diamond /heart /spade
+/arrowboth /second /ellipsis /arrowvertex /arrowhorizex /carriagereturn
+/Ifraktur /Rfraktur /weierstrass /notsubset /notelement /angle
+/product /dotmath /logicaland /arrowdblboth /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /lozenge /angleleft /registersans
+/copyrightsans /trademarksans /summation /parenlefttp /parenleftbt
+/angleright /integraltp /integralex /integralbt /parenrighttp
+/parenrightex /parenrightbt /bracketrightex /apple /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Symbol findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@20@0 def
+ currentdict
+end
+/Symbol-tmp-@20 exch definefont pop
+_Sdefsadj
+/Symbol-tmp-@20 /Symbol-@20 Sdefs cf
+/Symbol-tmp-@20 undefinefont
+/@20 /Symbol-@20 def
+/&20 {@20 F} bind def
+/Encoding-@19@0 [
+/.notdef /cent /dagger /onequarter /threequarters /onehalf /endash
+/acute /grave /underscore /section /daggerdbl /backslash /quotedbl
+/bar /quotedblleft /quotedblright /space /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /.notdef /quotedbl
+/numbersign /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /less /.notdef /greater /.notdef
+/at /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /backslash
+/.notdef /circumflex /underscore /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /bar /.notdef /tilde /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@19@0 def
+ currentdict
+end
+/Times-Roman-tmp-@19 exch definefont pop
+/Times-Roman-tmp-@19 /Times-Roman-@19 S1defs cf
+/Times-Roman-tmp-@19 undefinefont
+/@19 /Times-Roman-@19 def
+/&19 {@19 F} bind def
+/Encoding-@15@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Courier findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@15@0 def
+ currentdict
+end
+/Courier-@15 exch definefont pop
+/@15 /Courier-@15 def
+/&15 {@15 F} bind def
+/pagebbox [0 0 612 792] def
+userdict /gotpagebbox true put
+/setpagedevice where {pop 1 dict dup /PageSize [612 792] put setpagedevice} if
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+ [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark
+ [ /PageMode /UseOutlines /DOCVIEW pdfmark
+[ /Dest /Bookmark$0
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+12 @13 f
+( T)3636(Heirloom Documentation)3996 2 225072 120000 t
+(ools)366924 v
+(Nr)237234 136000 w
+(off/T)251010 v
+(r)275454 v
+(off User\030)3996 1 280566 u
+(s Manual)3996 1 326094 u
+10 @12 f
+(J)267780 162400 w
+(oseph F)3330 1 271970 u
+(. Ossanna)3330 1 303390 u
+(Brian W)2930 1 265310 174400 t
+(. K)3330 1 298430 u
+(ernighan)310580 v
+(Gunnar Ritter)3330 1 277390 186400 t
+(and other)3330 1 284385 198400 t
+(s)323725 v
+[ /Dest /Bookmark$1
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+&13
+(Intr)72000 234400 w
+(oduction)89040 v
+&12
+(nr)72000 251200 w
+(of)80440 v
+(f)88040 v
+&11
+(and)94654 v
+&12
+(tr)112928 v
+(of)119148 v
+(f)126748 v
+&11
+(are te)3834 1 133362 u
+(xt processors under the)3835 1 156476 u
+9 s
+(UNIX)256796 v
+10 s
+(T)282942 v
+(ime\001Sharing System)3835 1 288702 u
+8 s
+(1)372260 248200 w
+[ /Dest /Anchor$ref$5f1
+/Rect [371427 -249200 376260 -240200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(that format te)3835 1 380095 251200 t
+(xt for type)3835 1 436495 u
+(writer)480575 v
+(\001lik)504255 v
+(e ter)3835 1 518045 u
+(\001)536670 v
+(minals and for a typesetter/raster de)3361 1 72000 263200 t
+(vices, respecti)3361 1 219075 u
+(v)276336 v
+(ely)281186 v
+(. The)6511 1 292756 u
+( te)3360(y accept lines of)3361 2 317167 u
+(xt interspersed with lines of format)3360 1 395440 u
+(control information and format the te)3838 1 72000 275200 t
+(xt into a printable, paginated document ha)3838 1 227130 u
+(ving a user)3838 1 403548 u
+(\001designed style.)3838 1 449904 u
+&12
+(nr)521180 v
+(of)529620 v
+(f)537220 v
+&11
+(and)72000 287200 w
+&12
+(tr)89796 v
+(of)96016 v
+(f)103616 v
+&11
+(of)109752 v
+( style headers and footers; arbitrary style)3356( arbitrary)6686
+(fer unusual freedom in document styling, including:)3356 3 117832 u
+( output; dynamic)3495
+(footnotes; multiple automatic sequence numbering for paragraphs, sections\
+, etc; multiple column)3494 2 72000 299200 t
+(font and point\001size control; arbitrary horizontal and v)3439 1 72000 311200 t
+(ertical local motions at an)3439 1 291443 u
+( f)3438(y point; and a)3439 2 398369 u
+(amily of automatic)3438 1 462574 u
+(o)72000 323200 w
+(v)76850 v
+(erstriking, brack)3330 1 81700 u
+(et construction, and line dra)3330 1 147970 u
+(wing functions.)3330 1 262510 u
+&12
+(tr)72000 340000 w
+(of)78220 v
+(f)85820 v
+&11
+( de)3933(produces its output in a)3932 2 92532 u
+(vice\001independent form, although parameterized for a speci\003c de)3933 1 204713 u
+(vice;)470534 v
+&12
+(tr)493907 v
+(of)500127 v
+(f)507727 v
+&11
+(output)514440 v
+(must be processed by a dri)3330 1 72000 352000 t
+(v)182270 v
+(er for that de)3330 1 187120 u
+(vice to produce printed output.)3330 1 240730 u
+&12
+(nr)72000 368800 w
+(of)80440 v
+(f)88040 v
+&11
+(and)94435 v
+&12
+(tr)112490 v
+(of)118710 v
+(f)126310 v
+&11
+(are highly compatible with each other and it is almost al)3615 1 132705 u
+(w)368175 v
+(ays possible to prepare input acceptable)3615 1 375295 u
+( is pro)4461( input)4462( Conditional)7792(to both.)4462 4 72000 380800 t
+(vided that enables the user to embed input e)4461 1 213338 u
+(xpressly destined for either pro\001)4461 1 404406 u
+(gram.)72000 392800 w
+&12
+(nr)102024 v
+(of)110464 v
+(f)118064 v
+&11
+(can prepare output directly for a v)3644 1 124488 u
+( utilizing the full resolu\001)3645
+(ariety of terminal types and is capable of)3644 2 267172 u
+(tion of each terminal.)3330 1 72000 404800 t
+&13
+( T)3030(On the Heirloom Documentation)3330 2 72000 421600 t
+(ools Edition)3330 1 223540 u
+&11
+( Inc. released the source code to the Solaris system,)5955
+(In Summer 2005, Sun Microsystems,)5954 2 72000 438400 t
+8 s
+(6)474090 435400 w
+[ /Dest /Anchor$ref$5f6
+/Rect [473257 -436400 478090 -427400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(including the)5955 1 484045 438400 t
+(System)72000 450400 w
+(V Release)5003 1 104280 u
+(4 v)5003 1 150933 u
+(ersion of)5003 1 165786 u
+&12
+(tr)208562 v
+(of)214782 v
+(f)222382 v
+(,)225062 v
+&11
+(a deri)5003 1 232565 u
+(v)257308 v
+(ati)262058 v
+(v)271808 v
+( A)4453(e of)5003 2 276658 u
+(T&T)304994 v
+&12
+(Documenter\030)329997 v
+(s W)4603 1 382357 u
+(orkbenc)398260 v
+(h tr)5002 1 430320 u
+(of)446542 v
+(f)454142 v
+(,)456822 v
+&11
+(v)464324 v
+( had)5002( It)8332(ersion 2.)5002 3 469174 u
+(under)72000 462400 w
+(gone fe)3725 1 94590 u
+( the 1980\030)3726(w changes since the end of)3725 2 125275 u
+(s, so it could serv)3726 1 281322 u
+(e as a clean starting point for a ne)3726 1 355796 u
+(w v)3726 1 499764 u
+(ersion)515560 v
+(of)72000 474400 w
+&12
+(tr)84563 v
+(of)90783 v
+(f)98383 v
+&11
+(which is intended to be highly compatible with)4233 1 105396 u
+9 s
+(UNIX)309810 v
+10 @12 f
+(tr)336534 v
+(of)342754 v
+(f)350354 v
+(,)353034 v
+&11
+(b)359767 v
+(ut which also pro)4233 1 364567 u
+(vides additional features)4232 1 438776 u
+(desirable for a high\001quality typesetting application at the be)3330 1 72000 486400 t
+(ginning of the 21st century)3330 1 316790 u
+(.)427230 v
+(As with the other components of the)4455 1 72000 503200 t
+&12
+(Heirloom Pr)4455 1 233725 u
+(oject,)286060 v
+&11
+(the original code, once it had been released under an)4456 1 312456 u
+( license, has been made portable such that it compiles and runs on the co\
+ntemporary)4533
+(Open Source)4534 2 72000 515200 t
+9 s
+(UNIX)495289 v
+10 s
+(\001style)517780 v
+( continues to be freely a)5327( It)8657(systems, including Linux.)5327 3 72000 527200 t
+(v)305506 v
+( same license as originally released,)5328(ailable under the)5327 2 310256 u
+(including its complete source code.)3330 1 72000 539200 t
+(PostScript and its close relati)3769 1 72000 556000 t
+(v)192936 v
+(e)197786 v
+9 s
+(PDF)205995 v
+10 s
+(are no)3769 1 226270 u
+(w the only de)3769 1 251999 u
+(vice languages which are rele)3769 1 309716 u
+(v)432832 v
+( print\001)3770(ant to high\001quality)3769 2 437582 u
+(ing; actually)4357 1 72000 568000 t
+( an intermediate language for the generation of)4356
+(, PostScript itself is more and more becoming)4357 2 122927 u
+9 s
+(PDF)523494 v
+10 s
+(documents. The)7885 1 72000 580000 t
+&12
+(Heirloom)146000 v
+&11
+(v)189065 v
+(ersion of)4735 1 193915 u
+&12
+(tr)236155 v
+(of)242375 v
+(f)249975 v
+&11
+(is thus primarily directed to)4735 1 257490 u
+(w)376730 v
+(ards generating PostScript output for)4735 1 383850 u
+(further processing by a)3763 1 72000 592000 t
+9 s
+(PDF)171472 v
+10 s
+(creator)191741 v
+( Distiller; it can generate)3762( Adobe)3212( as Ghostscript or)3762
+(, such)3763 4 219101 u
+9 s
+(PDF)455302 v
+10 s
+(\001speci\003c instruc\001)3762 1 471808 u
+(tions for prepress usage as well as for online na)3330 1 72000 604000 t
+(vig)268950 v
+(ation in)3330 1 281680 u
+9 s
+(PDF)316120 v
+10 s
+(documents.)335956 v
+(The principal output de)3532 1 72000 620800 t
+(vice independence of)3532 1 168446 u
+&12
+(tr)259013 v
+(of)265233 v
+(f)272833 v
+&11
+(has ne)3533 1 279146 u
+(v)305199 v
+(ertheless been retained, and changes to the intermediate)3533 1 310049 u
+(language ha)3330 1 72000 632800 t
+(v)120670 v
+(e been minor)3330 1 125520 u
+(. Man)6660 1 178840 u
+(y)206180 v
+&12
+(tr)214510 v
+(of)220730 v
+(f)228330 v
+&11
+(post\001processors will thus continue to be usable with no or little adap\
+tions.)3330 1 234440 u
+(PostScript T)3412 1 72000 649600 t
+(ype)121842 v
+(1, OpenT)3592 1 139612 u
+( T)3412(ype, and)3592 2 177674 u
+(rueT)221818 v
+(ype ha)3592 1 239898 u
+(v)267170 v
+( de)3593(e become)3592 2 272020 u
+(vice\001independent font formats; virtually all commer)3593 1 323935 u
+(\001)536670 v
+(cial and free fonts are a)4408 1 72000 661600 t
+(v)174910 v
+( for a)4407( is thus no need)4408( There)7558(ailable in one of them.)4408 4 179660 u
+&12
+(tr)407053 v
+(of)413273 v
+(f)420873 v
+&11
+(\001speci\003c de)4407 1 423653 u
+(vice\001independent)471130 v
+(font format an)4319 1 72000 673600 t
+(ymore; instead,)4319 1 132698 u
+&12
+(Heirloom tr)4319 1 200496 u
+(of)249365 v
+(f)256965 v
+&11
+( T)4140( from)4320(can read font metrics directly)4319 3 264064 u
+(ype)421740 v
+(1, OpenT)4320 1 439510 u
+( T)4140(ype, and)4320 2 478300 u
+(rue\001)523900 v
+(T)72000 685600 w
+(ype font)4680 1 77310 u
+( has greatly relie)4680(\003les. This)7830 2 117220 u
+(v)234660 v
+( of installing fonts\006it suf\003ces to cop)4679(ed the task)4680 2 239510 u
+(y the original)4679 1 448504 u
+(\003les to)4679 1 510871 u
+(a user)4435 1 72000 697600 t
+(\001selectable font directory\006, and mak)4435 1 97335 u
+(es it possible to access adv)4435 1 254105 u
+(anced typographic data, such as k)4436 1 370460 u
+(erning)514450 v
+(tables or substitution instructions for old\001style numerals.)3330 1 72000 709600 t
+(\001)296840 760800 w
+(1)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(tr)72000 84000 w
+(of)78220 v
+(f)85820 v
+&11
+(pro)92157 v
+(vides con)3557 1 105337 u
+(v)144044 v
+(enient access to an)3557 1 148894 u
+(y character in a font)3557 1 226615 u
+( its PostScript name, by its Unicode posi\001)3558(\003le either by)3557 2 314370 u
+(tion as speci\003ed in a font\001speci\003c or a generic table, or by con\
+)4107 1 72000 96000 t
+(v)339444 v
+(ersion from)4107 1 344294 u
+9 s
+(POSIX)396387 v
+10 s
+(\001style locale\001speci\003c charac\001)4106 1 422388 u
+( last form allo)3540( The)6690(ters to Unicode positions.)3540 3 72000 108000 t
+(ws direct input of international language te)3540 1 258280 u
+(xts in almost an)3540 1 436010 u
+(y charac\001)3540 1 502040 u
+(ter encoding, including)3330 1 72000 120000 t
+9 s
+(UTF)169480 v
+10 s
+(\0018.)186481 v
+(Impro)72000 136800 w
+(v)96290 v
+(ements to the line adjusting mechanism can be acti)4630 1 101140 u
+(v)321240 v
+(ated to achie)4630 1 325990 u
+(v)380540 v
+(e more aesthetically pleasant output:)4630 1 385390 u
+&12
+(tr)72000 148800 w
+(of)78220 v
+(f)85820 v
+&11
+(can compute line breaks for a whole paragraph at once, using a v)3499 1 92099 u
+( originally de)3498(ariant of an algorithm)3499 2 363487 u
+(v)508490 v
+(eloped)513340 v
+( T)4525(by Donald Knuth and Michael Plass for the)4705 2 72000 160800 t
+(E)270360 162450 w
+(X system)4705 1 274770 160800 t
+8 s
+(7)316974 157800 w
+[ /Dest /Anchor$ref$5f7
+/Rect [316141 -158800 320974 -149800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(. Interw)8035 1 320974 160800 t
+( can be shrunk as an alternati)4706(ord spaces)4705 2 357509 u
+(v)530710 v
+(e)535560 v
+(to being e)4784 1 72000 172800 t
+(xpanded. Inter)8114 1 115858 u
+(\001letter spaces and letter shapes can be dynamically v)4784 1 179032 u
+(aried both for computing break)4784 1 406444 u
+(points and for adjusting output lines; this is sometimes called)3384 1 72000 184800 t
+(\027)328070 v
+(\027micro\001typograph)330660 v
+(y\030)401150 v
+( The)3205(\030, cf. e.g. the thesis by H\257n)3384 2 408740 u
+9 s
+(^)536281 v
+(\013)536000 183450 w
+10 s
+(Th\257nh)72000 196800 w
+8 s
+(8)100049 193800 w
+[ /Dest /Anchor$ref$5f8
+/Rect [99216 -194800 104049 -185800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+( paragraph formatting options can be arbitrarily combined.)3330(. All)6110 2 104049 196800 t
+(A v)3483 1 72000 213600 t
+(ariety of international paper formats and h)3483 1 87453 u
+(yphenation languages are supported by)3483 1 262151 u
+&12
+(tr)425646 v
+(of)431866 v
+(f)439466 v
+(.)442096 v
+&11
+( for the)3484(The algorithm)3483 2 451229 u
+(latter is deri)3688 1 72000 225600 t
+(v)121896 v
+(ed from the respecti)3687 1 126746 u
+(v)209757 v
+(e one de)3687 1 214607 u
+(v)250051 v
+( T)3507(eloped for)3687 2 254901 u
+(E)305225 227250 w
+(X by Franklin Liang)3687 1 309635 225600 t
+8 s
+(9)397635 222600 w
+[ /Dest /Anchor$ref$5f9
+/Rect [396802 -223600 401635 -214600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(;)401635 225600 w
+&12
+(tr)408102 v
+(of)414322 v
+(f)421922 v
+&11
+(uses the implementation of)3687 1 428389 u
+&12
+(LibHnj)72000 237600 w
+&11
+(by Raph Le)3330 1 103670 u
+(vien. T)6480 1 151740 u
+(E)182750 239250 w
+(X h)3330 1 187160 237600 t
+(yphenation patterns can be con)3330 1 202660 u
+(v)329440 v
+(erted to the format accepted by)3330 1 334290 u
+&12
+(tr)465900 v
+(of)472120 v
+(f)479720 v
+(.)482350 v
+&11
+(Man)72000 254400 w
+(y internal limitations of)4698 1 90180 u
+&12
+(tr)195642 v
+(of)201862 v
+(f)209462 v
+&11
+(ha)216941 v
+(v)226181 v
+(e been remo)4699 1 231031 u
+(v)284149 v
+(ed; most notably)4699 1 288999 u
+(,)359417 v
+&12
+(tr)366616 v
+(of)372836 v
+(f)380436 v
+&11
+(can no)4699 1 387915 u
+(w set characters in fractional)4699 1 416244 u
+(point sizes.)3330 1 72000 266400 t
+(The)72000 283200 w
+&12
+(tr)91867 v
+(of)98087 v
+(f)105687 v
+&11
+(language has been e)4317 1 112784 u
+( in the)4318(xtended similarly as)4317 2 198335 u
+9 s
+(GNU)315473 v
+10 s
+(v)339285 v
+(ersion of)4318 1 344135 u
+&12
+(tr)385541 v
+(of)391761 v
+(f)399361 v
+(, gr)4318 1 402041 u
+(of)417299 v
+(f)424899 v
+8 @11 f
+(10)430178 280200 w
+[ /Dest /Anchor$ref$5f10
+/Rect [429345 -281200 438178 -272200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(; for e)4318 1 438178 283200 t
+(xample, names of)4318 1 465544 u
+(requests, macros, strings, number re)4217 1 72000 295200 t
+( than tw)4216(gisters, and fonts can consist of more)4217 2 222858 u
+( Although)6996(o characters.)4216 2 417302 u
+&12
+(Heir)518540 v
+(\001)536670 v
+(loom tr)4930 1 72000 307200 t
+(of)103150 v
+(f)110750 v
+&11
+( with)4931(is not completely compatible)4930 2 118460 u
+&12
+(gr)269222 v
+(of)277662 v
+(f)285262 v
+(,)287942 v
+&11
+(a special compatibility mode)4931 1 295373 u
+[ /Dest /Anchor$s$5fgroff
+/Rect [337445 -308200 417936 -299200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is pro)4931 1 422867 u
+(vided, and documents)4931 1 447648 u
+(prepared for)3330 1 72000 319200 t
+&12
+(gr)125300 v
+(of)133740 v
+(f)141340 v
+&11
+(can usually be processed without alteration.)3330 1 147450 u
+(As e)3350 1 72000 336000 t
+(v)90650 v
+(en the most basic printing de)3350 1 95500 u
+(vices are no)3350 1 214770 u
+(w capable of rastering PostScript documents \(at least using con)3350 1 263980 u
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+(sion tools\), and as PostScript and)3953 1 72000 348000 t
+9 s
+(PDF)215998 v
+10 s
+(vie)236457 v
+(wer programs allo)3953 1 248427 u
+( display of)3952(w an accurate on\001screen)3953 2 323843 u
+&12
+(tr)473618 v
+(of)479838 v
+(f)487438 v
+&11
+(documents,)494170 v
+(there is only one area where)3927 1 72000 360000 t
+&12
+(nr)195523 v
+(of)203963 v
+(f)211563 v
+&11
+( formatting of)3928( the)7258(is still useful:)3928 3 218271 u
+9 s
+(UNIX)356839 v
+10 s
+( The)7078(manual pages.)3928 2 383258 u
+&12
+(Heirloom)468452 v
+&11
+(v)510710 v
+(ersion)515560 v
+(of)72000 372000 w
+&12
+(nr)84355 v
+(of)92795 v
+(f)100395 v
+&11
+(is thus speci\003cally aimed at this task; it remains a separate program,\
+ is much smaller than)4025 1 107200 u
+&12
+(tr)491840 v
+(of)498060 v
+(f)505660 v
+(,)508340 v
+&11
+(and is)4025 1 514865 u
+(optionally able to run without e)3877 1 72000 384000 t
+(xternal de)3877 1 204565 u
+(vice description)3877 1 245402 u
+( mak)3877(\003les. This)7027 2 314256 u
+( it to vie)3878(es it possible to use)3877 2 379230 u
+(w manual)3878 1 499462 u
+(pages e)3330 1 72000 396000 t
+(v)102290 v
+(en on small system distrib)3330 1 107140 u
+(utions where the size of programs is an issue.)3330 1 214710 u
+(The Solaris v)3665 1 72000 412800 t
+(ersion of)3665 1 127510 u
+&12
+(nr)167610 v
+(of)176050 v
+(f)183650 v
+&11
+( The)6816( in arbitrary locales.)3666
+(had already been updated to support input characters)3665 3 190095 u
+&12
+(Heir)518540 v
+(\001)536670 v
+(loom)72000 424800 w
+&11
+(v)95519 v
+(ersion adds the ability to generate)3519 1 100369 u
+9 s
+(UTF)243683 v
+10 s
+( e)3519( This)6669(\0018 output.)3519 3 260684 u
+(xtends the)3519 1 332851 u
+&12
+(nr)378219 v
+(of)386659 v
+(f)394259 v
+&11
+(character set by man)3518 1 400558 u
+(y mathemati\001)3518 1 485932 u
+(cal and typographical characters on terminals capable of displaying them.\
+)3330 1 72000 436800 t
+(Although)72000 453600 w
+&12
+(Heirloom nr)4026 1 113806 u
+(of)164602 v
+(f)172202 v
+&11
+(does of course not pro)4026 1 179008 u
+(vide the typographical e)4026 1 273832 u
+(xtensions made for)4026 1 374630 u
+&12
+(tr)457809 v
+(of)464029 v
+(f)471629 v
+(,)474309 v
+&11
+(it includes the)4027 1 480836 u
+(same language e)3509 1 72000 465600 t
+( is thus well able to cope with the tangle of manual page code which has b\
+een pro\001)3509
+(xtensions. It)6839 2 139958 u
+(duced by application writers who ha)4329 1 72000 477600 t
+(v)226195 v
+(e unfortunately become increasingly una)4329 1 231045 u
+(w)400951 v
+( ho)4330(are of)4329 2 408071 u
+(w to write well\001styled)4330 1 447020 u
+&12
+(nr)72000 489600 w
+(of)80440 v
+(f)88040 v
+&11
+(documents.)94150 v
+( as some of the pre\001 and post\001processor commands ha)4119
+(This manual as well)4118 2 72000 506400 t
+(v)385615 v
+(e been deri)4119 1 390465 u
+(v)437323 v
+(ed from)4119 1 442173 u
+9 s
+(UNIX)479291 v
+10 s
+(code re\001)4119 1 505901 u
+(leased by Caldera)3330 1 72000 518400 t
+8 s
+(11)145583 515400 w
+[ /Dest /Anchor$ref$5f11
+/Rect [144750 -516400 153583 -507400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(, and from materials released by Lucent as parts of the)3330 1 153583 518400 t
+&12
+(Plan)382103 v
+(9)404323 v
+&11
+(system)412653 v
+8 s
+(12)441266 515400 w
+[ /Dest /Anchor$ref$5f12
+/Rect [440433 -516400 449266 -507400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(.)449266 518400 w
+&13
+(Backgr)72000 535200 w
+(ound to the Second Edition)3330 1 102930 u
+&12
+(tr)72000 552000 w
+(of)78220 v
+(f)85820 v
+&11
+(w)92132 v
+( language for the)3533
+(as originally written by the late Joe Ossanna in about 1973, in assembly)3532 2 99252 u
+9 s
+(PDP)472668 v
+10 s
+(\00111, to dri)3533 1 489174 u
+(v)530710 v
+(e)535560 v
+(the Graphic Systems CA)3914 1 72000 564000 t
+(T typesetter)3914 1 174292 u
+( w)3914(. It)7244 2 222646 u
+(as re)3914 1 249534 u
+( around 1975, and underwent slo)3913(written in C)3914 2 269298 u
+(w b)3913 1 457811 u
+(ut steady e)3913 1 473744 u
+(v)519090 v
+(olu\001)523890 v
+(tion until Ossanna\030)3330 1 72000 576000 t
+(s death late in 1977.)3330 1 149220 u
+(In 1979, Brian K)3509 1 72000 592800 t
+(ernighan modi\003ed)3509 1 142547 u
+&12
+(tr)220115 v
+(of)226335 v
+(f)233935 v
+&11
+(so that it w)3509 1 240224 u
+( output for a v)3510(ould produce)3509 2 287321 u
+(ariety of typesetters, while retain\001)3510 1 401270 u
+( Ov)8551(ing its input speci\003cations.)5221 2 72000 604800 t
+( the internals ha)5220(er the decade from 1979 to 1989,)5221 2 208014 u
+(v)428370 v
+(e been modestly re)5220 1 433220 u
+(vised,)516390 v
+(though much of the code remains as it w)3330 1 72000 616800 t
+(as when Ossanna wrote it.)3330 1 240740 u
+&12
+(tr)72000 633600 w
+(of)78220 v
+(f)85820 v
+&11
+(reads parameter)3485 1 92085 u
+( time it is in)3486(\003les each)3485 2 160135 u
+(v)249944 v
+(ok)254744 v
+(ed, to set v)3486 1 264644 u
+(alues for machine resolution, le)3486 1 310682 u
+(g)440286 v
+(al type sizes and fonts,)3486 1 445236 u
+(and character names, character widths and the lik)4431 1 72000 645600 t
+(e.)282577 v
+&12
+(tr)297278 v
+(of)303498 v
+(f)311098 v
+&11
+(output is)4431 1 318309 u
+9 s
+(ASCII)359401 v
+10 s
+(characters in a simple language that)4430 1 387330 u
+( written for)3893( post\001processor must be)3892( A)6672
+(describes where each character is to be placed and in what size and font.\
+)3892 4 72000 657600 t
+(each de)3330 1 72000 669600 t
+(vice to con)3330 1 102840 u
+(v)147980 v
+(ert this typesetter)3330 1 152830 u
+(\001independent language into speci\003c instructions for that de)3330 1 223170 u
+(vice.)463420 v
+(The output language contains information that w)4848 1 72000 686400 t
+( the ne)4849( In)8178(as not readily identi\003able in the older output.)4848 3 280968 u
+(wer)525010 v
+(language, the be)3356 1 72000 698400 t
+(ginning of each page, line, and w)3356 1 138822 u
+(ord is mark)3356 1 276608 u
+(ed, so post\001processors can do de)3355 1 323770 u
+(vice\001speci\003c optimi\001)3355 1 456655 u
+(zations such as sorting the data v)3330 1 72000 710400 t
+(ertically or printing it boustrophedonically)3330 1 208480 u
+(, independent of)3330 1 381140 u
+&12
+(tr)450840 v
+(of)457060 v
+(f)464660 v
+(.)467290 v
+&11
+(\001)296840 760800 w
+(2)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Page: 3 3
+save
+mark
+3 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+( graphics ha)5837(Capabilities for)5836 2 72000 84000 t
+(v)192070 v
+(e been added:)5837 1 196920 u
+&12
+(tr)267741 v
+(of)273961 v
+(f)281561 v
+&11
+(recognizes commands for dra)5837 1 290178 u
+(wing diagonal lines, circles,)5837 1 418059 u
+( are also w)4030( There)7180
+(ellipses, circular arcs, and quadratic B\001splines.)4030 3 72000 96000 t
+(ays to pass arbitrary information to the output,)4030 1 343750 u
+(unprocessed by)3330 1 72000 108000 t
+&12
+(tr)138090 v
+(of)144310 v
+(f)151910 v
+(.)154540 v
+&11
+(A number of limitations ha)3805 1 72000 124800 t
+(v)185350 v
+( document may ha)3806( A)6586(e been eased or eliminated.)3805 3 190200 u
+(v)395124 v
+(e an arbitrary number of fonts on)3806 1 399974 u
+(an)72000 136800 w
+( the output de)3946(y page \(if)3947 2 81290 u
+( F)7276(vice permits it, of course\).)3946 2 181312 u
+(onts may be accessed merely by naming them;)3946 1 304762 u
+(\027)505190 v
+(\027mount\001)507780 v
+(ing\030)72000 148800 w
+( no longer necessary)3384(\030 is)2644 2 87370 u
+( are no limits on the number of characters.)3385(. There)6534 2 183936 u
+&11
+0 8 changefont
+(Character height)3385 1 399215 u
+&11
+(and)469855 v
+&11
+-1 10 changefont
+(sl)487680 v
+&11
+(a)494350 v
+&11
+1 10 changefont
+(nt)498790 v
+&11
+(may be)3385 1 509955 u
+(set independently of width.)3330 1 72000 160800 t
+( command\001line options)5464
+(The remainder of this document contains a description of usage and)5463 2 72000 177600 t
+[ /Dest /Anchor$part$5fusage
+/Rect [256418 -178600 470838 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(; a summary of)5464 1 470838 u
+[ /Dest /Anchor$part$5fsummary
+/Rect [479082 -178600 540000 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( re)3561(requests, escape sequences, and pre\001de\003ned number)3562 2 72000 189600 t
+(gisters)296481 v
+[ /Dest /Anchor$part$5fsummary
+/Rect [72000 -190600 322591 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(; a reference manual)3561 1 322591 u
+[ /Dest /Anchor$part$5freference
+/Rect [328932 -190600 407124 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(; tutorial e)3561 1 407124 u
+(xamples)450206 v
+[ /Dest /Anchor$part$5ftutorial
+/Rect [413465 -190600 483536 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(; and a list of)3561 1 483536 u
+[ /Dest /Anchor$Table$20I
+/Rect [507878 -190600 540000 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(commonly\001a)72000 201600 w
+(v)122350 v
+(ailable characters)3330 1 127100 u
+[ /Dest /Anchor$Table$20I
+/Rect [72000 -202600 197620 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)197620 v
+&13
+(Ackno)72000 218400 w
+(wledgements \(f)3330 1 99680 u
+(or the Second Edition, by Brian K)3330 1 164410 u
+(er)314440 v
+(nighan\))323170 v
+&11
+(Joe Ossanna\030)4195 1 72000 235200 t
+(s)126185 v
+&12
+(tr)134270 v
+(of)140490 v
+(f)148090 v
+&11
+( F)7526(remains a remarkable accomplishment.)4195 2 155065 u
+(or more than twenty years, it has pro)4196 1 329716 u
+(v)488078 v
+(en a rob)4196 1 492928 u
+(ust)528330 v
+(tool, taking unbelie)4005 1 72000 247200 t
+(v)152260 v
+(able ab)4004 1 157010 u
+(use from a v)4004 1 186914 u
+(ariety of preprocessors and being forced into uses that were ne)4004 1 240886 u
+(v)505606 v
+(er con\001)4004 1 510456 u
+(cei)72000 259200 w
+(v)83410 v
+(ed of in the original design, all with considerable grace under)3330 1 88260 u
+(\003re.)345120 v
+(Recent v)4612 1 72000 276000 t
+(ersions of)4612 1 109232 u
+&12
+(tr)155116 v
+(of)161336 v
+(f)168936 v
+&11
+(ha)176328 v
+(v)185568 v
+(e pro\003ted from signi\003cant code impro)4612 1 190418 u
+(v)352758 v
+( Akk)4062(ements by Jaap)4612 2 357608 u
+(erhuis, Dennis Ritchie,)4613 1 444114 u
+(K)72000 288000 w
+( W)3455( and Molly)3755(en Thompson,)3575 3 78970 u
+(agner)195760 v
+(. Andre)6535 1 217420 u
+(w Hume, Doug McIlro)3755 1 251195 u
+(y)346510 v
+( and Ra)3754(, Peter Nelson,)3755 2 350860 u
+(vi Sethi made v)3754 1 445108 u
+(aluable)511120 v
+( fear that the remaining b)3330( I)6660(suggestions on the manual.)3330 3 72000 300000 t
+(ugs are my f)3330 1 297570 u
+(ault.)349670 v
+&13
+(Ackno)72000 316800 w
+(wledgements \(f)3330 1 99680 u
+(or the Heirloom Edition, by Gunnar Ritter\))3330 1 164410 u
+&11
+(The)72000 333600 w
+&12
+(tr)91801 v
+(of)98021 v
+(f)105621 v
+&11
+( Brian K)4252(program as written by Joseph Ossanna and)4251 2 112652 u
+(ernighan turned out to be an e)4252 1 331932 u
+(xcellent base for a)4252 1 461714 u
+( approximately twice as man)3463(typesetting system containing)3464 2 72000 345600 t
+( with the second edition, the design)3463( As)6243(y lines of code.)3463 3 311500 u
+(and the principal parts of)3940 1 72000 357600 t
+&12
+(tr)181680 v
+(of)187900 v
+(f)195500 v
+&11
+(ha)202220 v
+(v)211460 v
+( is particu\001)3941( This)7091
+( the same, despite of additions and modi\003cations.)3941(e remained)3940 4 216310 u
+(larly remarkable since much of it is no)3330 1 72000 369600 t
+(w more than 40 years old, b)3330 1 231700 u
+(ut serv)3330 1 347850 u
+(es its purpose as well as on day one.)3330 1 375470 u
+( releasing the source code without which this project w)4436
+(I am grateful to Sun, Caldera, and Lucent for)4435 2 72000 386400 t
+(ould not)4436 1 505004 u
+(ha)72000 398400 w
+(v)81240 v
+(e been possible.)3330 1 86090 u
+(I wish to thank Brian K)3330 1 72000 415200 t
+(ernighan for the permission to adapt this manual.)3330 1 170060 u
+&13
+(A)72000 432000 w
+(v)78220 v
+(ailability and Contact Inf)3330 1 83120 u
+(ormation)193430 v
+&11
+( the)7591(The source code of)7590 2 72000 448800 t
+&12
+( T)7411(Heirloom Documentation)7591 2 191032 u
+(ools)310664 v
+&11
+(and accompan)7591 1 334925 u
+(ying materials are freely a)7591 1 397346 u
+(v)521920 v
+(ail\001)526670 v
+(able from <http://n\001t\001rof)5981 1 72000 460800 t
+(f.github)175452 v
+(.io/heirloom/doctools.html)206442 v
+[ /Rect [125702 -461800 313122 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://n-t-roff.github.io/heirloom/doctools.html) >>
+/Subtype /Link
+/ANN pdfmark
+( and b)5981(>. Comments)9311 2 313122 u
+(ug reports should be added at)5981 1 405115 u
+(<https://github)72000 472800 w
+(.com/n\001t\001rof)130590 v
+(f/heirloom\001doctools/issues)178940 v
+[ /Rect [77640 -473800 285050 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (https://github.com/n-t-roff/heirloom-doctools/issues) >>
+/Subtype /Link
+/ANN pdfmark
+(> or send to <trof)3330 1 285050 u
+(f@arcor)358280 v
+(.de>.)390810 v
+&13
+(Refer)72000 494400 w
+(ences)95690 v
+[ /Dest /Anchor$ref$5f1
+ /View [/XYZ -4 292.8 0]
+/DEST pdfmark
+&11
+([1])74740 511200 w
+(M. D. McIlro)3602 1 93600 u
+(y)149584 v
+( W)3302(, B.)3602 2 153934 u
+(. K)3602 1 181028 u
+(ernighan \(Eds.\),)3602 1 194100 u
+&12
+(Unix Pr)3602 1 262954 u
+(o)295546 v
+(gr)300446 v
+(ammer\030)309186 v
+(s Manual,)3603 1 339886 u
+&11
+(V)384592 v
+(ol.)390522 v
+(2, A)3053 1 402468 u
+(T&T Bell Laboratories, Mur)3603 1 419131 u
+(\001)536670 v
+(ray Hill,)3330 1 93600 523200 t
+9 s
+(NJ)131090 v
+10 s
+(07974, 1979; <http://plan9.bell\001labs.com/7thEdMan/inde)3330 1 144419 u
+(x.html)374629 v
+[ /Rect [206999 -524200 400469 -515200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://plan9.bell-labs.com/7thEdMan/index.html) >>
+/Subtype /Link
+/ANN pdfmark
+(>.)400469 v
+[ /Dest /Anchor$ref$5f2
+ /View [/XYZ -4 264 0]
+/DEST pdfmark
+([2])74740 540000 w
+(B. W)3030 1 93600 u
+(. K)3330 1 114320 u
+(ernighan, L. L. Cherry)3330 1 127120 u
+(,)218940 v
+(\027)224770 v
+(\027T)227360 v
+(ypesetting Mathematics)3330 1 236000 u
+(\006 User\030)3330 1 335430 u
+(s Guide \(Second Edition\)\030)3330 1 370420 u
+(\030, in [1].)3330 1 476880 u
+[ /Dest /Anchor$ref$5f3
+ /View [/XYZ -4 247.2 0]
+/DEST pdfmark
+([3])74740 556800 w
+(M. E. Lesk,)3330 1 93600 u
+(\027)145530 v
+(\027Tbl)148120 v
+( Program to F)3330(\006 A)2780 2 168670 u
+(ormat T)3150 1 246290 u
+(ables\030)278080 v
+(\030, in [1].)3330 1 301220 u
+[ /Dest /Anchor$ref$5f4
+ /View [/XYZ -4 230.4 0]
+/DEST pdfmark
+([4])74740 573600 w
+(B. W)3030 1 93600 u
+(. K)3330 1 114320 u
+(ernighan,)127120 v
+(\027)167940 v
+(\027)170530 v
+(A TR)3150 1 173060 u
+(OFF T)3150 1 195810 u
+(utorial\030)222960 v
+(\030, in [1].)3330 1 251660 u
+[ /Dest /Anchor$ref$5f5
+ /View [/XYZ -4 213.6 0]
+/DEST pdfmark
+([5])74740 590400 w
+(J. F)3330 1 93600 u
+(. Ossanna,)3330 1 108080 u
+(\027)153620 v
+(\027Nrof)156210 v
+(f/T)178170 v
+(rof)190040 v
+(f User\030)3330 1 201450 u
+(s Manual\030)3330 1 229770 u
+(\030, in [1].)3330 1 270130 u
+[ /Dest /Anchor$ref$5f6
+ /View [/XYZ -4 196.8 0]
+/DEST pdfmark
+([6])74740 607200 w
+(<http://www)93600 v
+(.opensolaris.or)144150 v
+(g)202850 v
+[ /Rect [99240 -608200 207850 -599200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://www.opensolaris.org) >>
+/Subtype /Link
+/ANN pdfmark
+(>)207850 v
+[ /Dest /Anchor$ref$5f7
+ /View [/XYZ -4 180 0]
+/DEST pdfmark
+([7])74740 624000 w
+(D. E. Knuth, M. F)4360 1 93600 u
+(. Plass,)4360 1 173020 u
+(\027)207300 v
+(\027Breaking paragraphs into lines\030)4360 1 209890 u
+(\030,)343870 v
+&12
+(Softwar)354060 v
+(e\006Pr)384810 v
+(actice and Experience)4360 1 407990 u
+&11
+(, V)3860 1 500570 u
+(ol. 11,)4360 1 512860 u
+( \(1981\), pp.)4884(Issue 12)4885 2 93600 636000 t
+(1119\0121184; also in D. E. Knuth,)4884 1 183793 u
+&12
+(Digital T)4704 1 330597 u
+(ypo)368461 v
+(gr)382801 v
+(aphy)391541 v
+&11
+(, Stanford, 1999 \()4884 1 410981 u
+9 s
+(CSLI)488403 v
+10 s
+(lecture)512790 v
+(notes no. 78\), pp.)3330 1 93600 648000 t
+(67\012155.)168860 v
+[ /Dest /Anchor$ref$5f8
+ /View [/XYZ -4 139.2 0]
+/DEST pdfmark
+([8])74740 664800 w
+(H\257n The)5089 1 93600 u
+9 s
+(^)127181 v
+(\013)126900 663450 w
+10 s
+(Th\257nh,)135990 664800 w
+&12
+(Micr)169310 v
+(o\001typo)188300 v
+(gr)213750 v
+(aphic e)5270 1 222490 u
+( T)5090(xtensions to the)5270 2 254220 u
+(E)331330 666450 w
+(X typesetting system)5270 1 335740 664800 t
+&11
+(, Masaryk Uni)5270 1 422380 u
+(v)485160 v
+(ersity Brno,)5270 1 490010 u
+(2000.)93600 676800 w
+[ /Dest /Anchor$ref$5f9
+ /View [/XYZ -4 110.4 0]
+/DEST pdfmark
+([9])74740 693600 w
+(F)93600 v
+(. M. Liang,)3617 1 98360 u
+&12
+(W)148931 v
+(or)156341 v
+( by Com\001put\001er)3618(d Hy\001phen\001a\001tion)3617 2 164861 u
+&11
+(, Stanford Uni)3618 1 298464 u
+(v)357390 v
+(ersity)362240 v
+(,)383810 v
+9 s
+(CA)389928 v
+10 s
+(94305, Report No.)3618 1 406047 u
+9 s
+(ST)486341 v
+(AN)496007 v
+10 s
+(\001)509003 v
+9 s
+(CS)512333 v
+10 s
+(\00183\001)523340 v
+(977, 1983.)3330 1 93600 705600 t
+[ /Dest /Anchor$ref$5f10
+ /View [/XYZ -4 81.6 0]
+/DEST pdfmark
+([10])69740 722400 w
+(<http://www)93600 v
+(.gnu.or)144150 v
+(g/softw)172300 v
+(are/grof)202200 v
+(f)233600 v
+[ /Rect [99240 -723400 236930 -714400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://www.gnu.org/software/groff) >>
+/Subtype /Link
+/ANN pdfmark
+(>)236930 v
+(\001)296840 760800 w
+(3)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 3
+%%Page: 4 4
+save
+mark
+4 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$ref$5f11
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+([11])69740 84000 w
+(<http://www)93600 v
+(.tuhs.or)144150 v
+(g/Archi)173970 v
+(v)204270 v
+(e/Caldera\001license.pdf)209120 v
+[ /Rect [99240 -85000 294370 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://www.tuhs.org/Archive/Caldera-license.pdf) >>
+/Subtype /Link
+/ANN pdfmark
+(>)294370 v
+[ /Dest /Anchor$ref$5f12
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+([12])69740 100800 w
+(<http://plan9.bell\001labs.com/plan9)93600 v
+[ /Rect [99240 -101800 227020 -92800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://plan9.bell-labs.com/plan9) >>
+/Subtype /Link
+/ANN pdfmark
+(>)227020 v
+(\001)296840 760800 w
+(4)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 4
+%%Page: 5 5
+save
+mark
+5 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$2
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$part$5fusage
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(Usage)72000 84000 w
+&11
+(The general form of in)3330 1 72000 100800 t
+(v)165450 v
+(oking)170250 v
+&12
+(nr)196360 v
+(of)204800 v
+(f)212400 v
+&11
+(\(or)218510 v
+&12
+(tr)233500 v
+(of)239720 v
+(f)247320 v
+&11
+(\) at)3330 1 250100 u
+9 s
+(UNIX)267310 v
+10 s
+(command le)3330 1 293131 u
+(v)342871 v
+(el is)3330 1 347721 u
+&13
+(nr)108000 117600 w
+(off)117820 v
+&12
+(options)136140 v
+(\003les)172250 v
+&11
+(\(or)252000 v
+&13
+(tr)270320 v
+(off)277910 v
+&12
+(options)296230 v
+(\003les)332340 v
+&11
+(\))348450 v
+(where)72000 134400 w
+&12
+(options)100075 v
+&11
+(represents an)3645 1 133170 u
+( ar)3646(y of a number of option)3645 2 186645 u
+(guments and)3646 1 298316 u
+&12
+(\003les)353938 v
+&11
+(represents the list of)3646 1 373694 u
+(\003les containing the)3646 1 461598 u
+( ar)3787( An)6567(document to be formatted.)3787 3 72000 146400 t
+(gument consisting of a single minus \()3787 1 211565 u
+&13
+(\012)369287 v
+&11
+(\) is tak)3787 1 374287 u
+(en to be a)3787 1 403981 u
+(\003le name correspond\001)3786 1 450228 u
+( no)3672( If)7002(ing to the standard input.)3672 3 72000 158400 t
+(\003le names are gi)3672 1 207414 u
+(v)276500 v
+(en input is tak)3673 1 281350 u
+( options, which)3673( The)6823(en from the standard input.)3673 3 341159 u
+(may appear in an)3330 1 72000 170400 t
+(y order so long as the)3330 1 142930 u
+(y appear before the)3330 1 232750 u
+(\003les, are:)3330 1 315480 u
+&14
+(Option)86400 194400 w
+(Ef)144000 v
+(f)153820 v
+(ect)157050 v
+&13
+(\012o)93600 211200 w
+&12
+(list)103600 v
+&11
+(Print only pages whose page numbers appear in)4283 1 144000 u
+&12
+(list)351564 v
+&11
+(, which consists of comma\001separated)4284 1 363794 u
+( number range has the form)4942( A)7722( ranges.)4942(numbers and number)4943 4 144000 223200 t
+&12
+(N\012M)409202 v
+&11
+(and means pages)4942 1 434144 u
+&12
+(N)511730 v
+&11
+(through)144000 235200 w
+&12
+(M;)178941 v
+&11
+(a initial)3831 1 194432 u
+&12
+(\012N)229874 v
+&11
+(means from the be)3832 1 245376 u
+(ginning to page)3832 1 323372 u
+&12
+(N;)392088 v
+&11
+(and a)3832 1 405920 u
+(\003nal)432464 v
+&12
+(N\012)454076 v
+&11
+(means from)3832 1 469578 u
+&12
+(N)144000 247200 w
+&11
+(to the end.)3330 1 154000 u
+&13
+(\012n)93600 264000 w
+&12
+(N)104160 v
+&11
+(Number)144000 v
+(\003rst generated page)3330 1 180100 u
+&12
+(N)263400 v
+&11
+(.)270070 v
+&13
+(\012s)93600 280800 w
+&12
+(N)102490 v
+&11
+(Stop e)4220 1 144000 u
+(v)170750 v
+(ery)175600 v
+&12
+(N)192590 v
+&11
+(pages.)203480 v
+&12
+(nr)236300 v
+(of)244740 v
+(f)252340 v
+&11
+( prior to e)4221(will halt)4220 2 259340 u
+(v)338193 v
+(ery)343043 v
+&12
+(N)360034 v
+&11
+(pages \(def)4221 1 370925 u
+(ault)413916 v
+&12
+(N)433137 v
+&11
+(=1\) to allo)4221 1 439807 u
+(w paper)4221 1 484749 u
+(loading or changing, and will resume upon receipt of a ne)5341 1 144000 292800 t
+(wline.)402950 v
+&12
+(tr)436340 v
+(of)442560 v
+(f)450160 v
+&11
+(will include a)5340 1 458280 u
+(\027)144000 304800 w
+(\027pause\030)146590 v
+( e)3330(\030 code)2590 2 175280 u
+(v)207600 v
+(ery)212450 v
+&12
+(N)228550 v
+&11
+(pages; its meaning, if an)3330 1 238550 u
+(y)339210 v
+(, depends on the output de)3330 1 343560 u
+(vice.)452450 v
+&13
+(\012m)93600 321600 w
+&12
+(name)106930 v
+&11
+(Prepend the macro)4660 1 144000 u
+(\003le)227960 v
+&13
+(/usr/ucblib/doctools/tmac/)245400 v
+&12
+(name)355970 v
+&11
+(to the input)4660 1 382290 u
+&12
+(\003les)436830 v
+&11
+(, or)4660 1 452940 u
+(, if that)4660 1 468030 u
+(\003le)505620 v
+(w)144000 333600 w
+(ould not be accessible,)4365 1 151120 u
+&13
+(/usr/ucblib/doctools/tmac/tmac.)251620 v
+&12
+(name)385790 v
+&11
+( the en)4365(. If)7695 2 407450 u
+(vironment v)4365 1 454295 u
+(ari\001)504520 v
+(able)144000 345600 w
+9 @13 f
+(TR)165120 v
+(OFFMA)177351 v
+(CS)209850 v
+10 @11 f
+(is set, its v)4460 1 225812 u
+( used instead of the def)4461(alue is)4460 2 273672 u
+(ault macro directory string,)4461 1 403647 u
+( is made to open)3648(and no attempt)3649 2 144000 357600 t
+&12
+(name)279528 v
+&11
+(with the)3648 1 304836 u
+(\027)342132 v
+(\027tmac.)344722 v
+(\030)369292 v
+( v)3648( The)6798(\030 pre\003x.)2908 3 371882 u
+(alue is prepended to)3648 1 434696 u
+&12
+(name)144000 369600 w
+&11
+(without inserting an additional slash as a directory separator)4215 1 169875 u
+(, so it must either end)4215 1 423715 u
+(with a slash itself or can be used to specify a)3330 1 144000 381600 t
+(\003le name pre\003x \(as e.g.)3330 1 333930 u
+(\027)434450 v
+(\027tmac.)437040 v
+(\030)461610 v
+(\030\).)464200 v
+&13
+(\012r)93600 398400 w
+&12
+(aN)103040 v
+&11
+(Re)144000 v
+(gister)154960 v
+&12
+(a)180510 v
+&11
+(\(one\001character\) is set to)3330 1 188840 u
+&12
+(N)288790 v
+&11
+(.)295460 v
+&13
+(\012r)93600 415200 w
+&12
+(a)103040 v
+&13
+(=)108040 v
+&11
+(N)113740 v
+(Re)144000 v
+(gister)154960 v
+&12
+(a)180510 v
+&11
+(\(may be more than one character\) is set to)3330 1 188840 u
+&12
+(N)366540 v
+&11
+(.)373210 v
+&13
+(\012d)93600 432000 w
+&12
+(aS)104160 v
+&11
+(String)144000 v
+&12
+(a)171780 v
+&11
+(\(one\001character\) is set to)3330 1 180110 u
+&12
+(S)280060 v
+&11
+(.)285060 v
+&13
+(\012d)93600 448800 w
+&12
+(a)104160 v
+&13
+(=)109160 v
+&12
+(S)114860 v
+&11
+(String)144000 v
+&12
+(a)171780 v
+&11
+(\(may be more than one character\) is set to)3330 1 180110 u
+&12
+(S)357810 v
+&11
+(.)362810 v
+&13
+(\012i)93600 465600 w
+&11
+(Read standard input after the input)3330 1 144000 u
+(\003les are e)3330 1 290070 u
+(xhausted.)329900 v
+&13
+(\012q)93600 482400 w
+&11
+(In)144000 v
+(v)151930 v
+(ok)156730 v
+(e the simultaneous input\001output mode of the)3330 1 166630 u
+&13
+(rd)351600 v
+[ /Dest /Anchor$rd
+/Rect [351600 -483400 361600 -474400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)364930 v
+&13
+(\012x)93600 499200 w
+&12
+(N)103600 v
+&11
+(Set the e)3330 1 144000 u
+(xtension le)3330 1 179950 u
+(v)224140 v
+(el to)3330 1 228990 u
+&12
+(N)250650 v
+&11
+(\(cf.)260650 v
+(\0151.1\).)277580 v
+[ /Dest /Anchor$c$5fextension
+/Rect [260650 -500200 300910 -491200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\012z)93600 516000 w
+&11
+(Check syntax only; do not generate an)3330 1 144000 u
+(y output e)3330 1 302140 u
+(xcept for error messages.)3330 1 343650 u
+&12
+(nr)216000 540000 w
+(of)224440 v
+(f)232040 v
+&11
+(Only)238150 v
+&13
+(\012e)93600 556800 w
+&11
+(Produce equally\001spaced w)3330 1 144000 u
+(ords in adjusted lines, using full terminal resolution.)3330 1 250530 u
+&13
+(\012h)93600 573600 w
+&11
+( speed output and reduce output character)5048
+(Use output tabs during horizontal spacing to)5047 2 144000 u
+(count. T)6480 1 144000 585600 t
+(ab settings are assumed to be e)3330 1 180510 u
+(v)308550 v
+(ery 8 nominal character widths.)3330 1 313400 u
+&13
+(\012T)93600 602400 w
+&12
+(name)105270 v
+&11
+( de\003ned names are)4862( Currently)8192
+(Specify the name of the output terminal type.)4862 3 144000 u
+&13
+(37)474794 v
+&11
+(for the)4863 1 489657 u
+(\(def)144000 614400 w
+( T)3296(ault\) Model 37)3477 2 160000 u
+(eletype)230100 v
+&20
+(\171)258980 v
+&11
+(,)266880 v
+&13
+(lp)272856 v
+&11
+(for an)3476 1 284672 u
+(y line printer or terminal without half\001line capabil\001)3476 1 309098 u
+(ity)144000 626400 w
+(,)153910 v
+&13
+(tn300)160396 v
+&11
+( T)3806(for the GE)3986 2 188272 u
+(ermiNet)242670 v
+(300,)278770 v
+&13
+(300S)300256 v
+&11
+(for the)3986 1 324802 u
+9 s
+(D)356654 v
+(ASI)362792 v
+10 s
+(\001300S,)377291 v
+&13
+(300)407667 v
+&11
+(for the)3986 1 426653 u
+9 s
+(D)458506 v
+(ASI)464644 v
+10 s
+(\001300, and)3987 1 479143 u
+&13
+(450)144000 638400 w
+&11
+(for the)3488 1 162488 u
+9 s
+(D)193344 v
+(ASI)199482 v
+10 s
+( special name,)3487( A)6267(\001450 \(Diablo Hyterm\).)3488 3 213981 u
+&13
+(locale)382095 v
+&11
+( gen\001)3487( It)6817(, is also supported.)3487 3 406535 u
+(erates)144000 650400 w
+9 s
+(UTF)170982 v
+10 s
+(\0018 output if permitted by the current)3662 1 187983 u
+9 s
+(LC_CTYPE)342487 v
+10 s
+(locale, and has the same ef)3663 1 390655 u
+(fect)503410 v
+(as)144000 662400 w
+&13
+(lp)155660 v
+&11
+(otherwise.)167330 v
+(\001)296840 760800 w
+(5)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 5 5
+%%Page: 6 6
+save
+mark
+6 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(tr)216000 84000 w
+(of)222220 v
+(f)229820 v
+&11
+(Only)235930 v
+&13
+(\012f)93600 100800 w
+&11
+(Refrain from feeding out paper and stopping the output de)3330 1 144000 u
+(vice at the end of the run.)3330 1 384240 u
+&13
+(\012a)93600 117600 w
+&11
+(Send a printable)3330 1 144000 u
+9 s
+(\(ASCII\))213980 v
+10 s
+(approximation of the results to the standard output.)3330 1 246803 u
+&13
+(\012F)93600 134400 w
+&12
+(path)104710 v
+&11
+(Look in directory)3330 1 144000 u
+&12
+(path)218980 v
+&11
+(for font information; the def)3330 1 240090 u
+(ault is)3330 1 356070 u
+&13
+(/usr/ucblib/doctools/f)384400 v
+(ont/de)474170 v
+(vps)500690 v
+&11
+(.)515140 v
+&13
+(\012T)93600 151200 w
+&12
+(name)105270 v
+&11
+(Speci\003es the output de)4219 1 144000 u
+( de\003ned names are)4219(vice. Currently)7549 2 239737 u
+&13
+(ps)388852 v
+&11
+(for \(def)4219 1 402521 u
+(ault\) PostScript out\001)4220 1 434400 u
+(put at 72)3595 1 144000 163200 t
+(000 dpi,)3595 1 182856 u
+&13
+(psmed)220326 v
+&11
+(for PostScript output at 3600 dpi,)3595 1 251701 u
+&13
+(pslo)394111 v
+(w)411241 v
+&11
+( at)3594(for PostScript output)3595 2 422056 u
+(432 dpi,)4021 1 144000 175200 t
+&13
+(post)182322 v
+&11
+(for PostScript output at 720 dpi with le)4021 1 204123 u
+(g)370460 v
+(ac)375410 v
+(y fonts, and)4022 1 384140 u
+&13
+(html)438146 v
+&11
+(for producing)4022 1 462168 u
+(HTML output with the)3330 1 144000 187200 t
+&13
+(dhtml)241210 v
+&11
+(postprocessor)270100 v
+(.)324540 v
+&13
+(\012u)93600 204000 w
+&12
+(N)104160 v
+&11
+( is printed to simulate)4425
+(Set the emboldening amount, i.e. the number of times a character)4424 2 144000 u
+(bold output, to)3330 1 144000 216000 t
+&12
+(N)207610 v
+&11
+(.)214280 v
+(Each option is in)3330 1 72000 237600 t
+(v)141590 v
+(ok)146390 v
+(ed as a separate ar)3330 1 156290 u
+(gument; for e)3330 1 232170 u
+(xample,)287560 v
+&13
+(nr)108000 254400 w
+(off)117820 v
+(\012o)136140 v
+&12
+(4,8\01210)146140 v
+&13
+(\012T)180300 v
+&12
+(300S)191970 v
+&13
+(\012m)218630 v
+&12
+(abc)231960 v
+(\003le1)253060 v
+(\003le2)276940 v
+&11
+( document contained in the)3737
+(requests formatting of pages 4, 8, 9, and 10 of a)3736 2 72000 271200 t
+(\003les named)3737 1 392165 u
+&12
+(\003le1)442969 v
+&11
+(and)463926 v
+&12
+(\003le2)482103 v
+&11
+(, speci\003es)3737 1 499323 u
+(the output terminal as a)3330 1 72000 283200 t
+9 s
+(D)172530 v
+(ASI)178668 v
+10 s
+(\001300S, and in)3330 1 193167 u
+(v)248037 v
+(ok)252837 v
+(es the macro package)3330 1 262737 u
+&12
+(abc)354357 v
+&11
+(.)368797 v
+(V)72000 300000 w
+(arious pre\001 and post\001processors are a)3533 1 78110 u
+(v)229415 v
+(ailable for use with)3533 1 234165 u
+&12
+(nr)317727 v
+(of)326167 v
+(f)333767 v
+&11
+(and)340080 v
+&12
+(tr)358053 v
+(of)364273 v
+(f)371873 v
+(.)374503 v
+&11
+( equation preproces\001)3534(These include the)3533 2 383686 u
+(sors)72000 312000 w
+&12
+(neqn)92291 v
+&11
+(and)115912 v
+&12
+(eqn)134533 v
+8 @11 f
+(2)149806 309000 w
+[ /Dest /Anchor$ref$5f2
+/Rect [148973 -310000 153806 -301000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(\(for)157987 312000 w
+&12
+(nr)177157 v
+(of)185597 v
+(f)193197 v
+&11
+(and)200157 v
+&12
+(tr)218777 v
+(of)224997 v
+(f)232597 v
+&11
+(respecti)239557 v
+(v)270407 v
+(ely\), the table\001construction preprocessor)4180 1 275257 u
+&12
+(tbl)445547 v
+8 @11 f
+(3)456940 309000 w
+[ /Dest /Anchor$ref$5f3
+/Rect [456107 -310000 460940 -301000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(, and)4180 1 460940 312000 t
+&12
+(pic)486240 v
+&11
+(and)502640 v
+&12
+(gr)521260 v
+(ap)530000 v
+&11
+(for v)4004 1 72000 324000 t
+( re)4005( A)6784(arious forms of graphics.)4004 3 92414 u
+(v)222435 v
+(erse\001line postprocessor)4005 1 227285 u
+&12
+(col)324715 v
+&11
+(is a)4005 1 340940 u
+(v)355855 v
+(ailable for multiple\001column)4005 1 360605 u
+&12
+(nr)477610 v
+(of)486050 v
+(f)493650 v
+&11
+(output on)4005 1 500435 u
+(terminals without re)4534 1 72000 336000 t
+(v)156368 v
+(erse\001line ability;)4534 1 161218 u
+&12
+(col)233056 v
+&11
+(e)249810 v
+( T)4353(xpects the Model 37)4534 2 254100 u
+(eletype escape sequences that)4533 1 351345 u
+&12
+(nr)480547 v
+(of)488987 v
+(f)496587 v
+&11
+(produces)503900 v
+(by def)3970 1 72000 348000 t
+(ault.)98640 v
+&12
+(col)123440 v
+&11
+(can optionally also)3970 1 139630 u
+(\003lter the backspace sequences which)3970 1 222090 u
+&12
+(nr)379120 v
+(of)387560 v
+(f)395160 v
+&11
+(emits for underlining)3970 1 401910 u
+[ /Dest /Anchor$c$5fnrofful
+/Rect [443180 -349000 489290 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and embol\001)3970 1 493260 u
+[ /Dest /Anchor$bd
+/Rect [511670 -349000 540000 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(dening)72000 360000 w
+[ /Dest /Anchor$bd
+/Rect [72000 -361000 99220 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(in order to produce a plain te)4454 1 103674 u
+(xt)230778 v
+( option is the)4453(\003le. Another)7234 2 243012 u
+&12
+(ul)360558 v
+&11
+(postprocessor which con)4453 1 372791 u
+(v)475167 v
+(erts backspace)4453 1 480017 u
+(sequences to underline and re)3330 1 72000 372000 t
+(v)193370 v
+(erse video escape sequences for)3330 1 198220 u
+9 s
+(CR)332040 v
+(T)343506 v
+10 s
+(terminals.)352335 v
+(The)72000 388800 w
+&13
+(dpost)92969 v
+&11
+(postprocessor has a special role as it translates)5419 1 121728 u
+&12
+(tr)332820 v
+(of)339040 v
+(f)346640 v
+&11
+(intermediate output to PostScript, which is)5420 1 354840 u
+(currently the only rele)3330 1 72000 400800 t
+(v)162830 v
+(ant tar)3330 1 167580 u
+(get de)3330 1 193500 u
+(vice format.)3330 1 218240 u
+(F)72000 417600 w
+(or e)3330 1 77410 u
+(xample, in)3330 1 93360 u
+&13
+(tbl)108000 434400 w
+&12
+(\003les)126330 v
+&13
+(\023 eqn)6660 1 149100 u
+(\023 tr)6660 1 180180 u
+(off)196630 v
+&12
+(options)214950 v
+&13
+(\023 dpost)6660 1 251060 u
+&11
+(>)289920 v
+&12
+(output.ps)295560 v
+&11
+(the)72000 451200 w
+(\003rst)87572 v
+&13
+(\023)108150 v
+&11
+(indicates the piping of)3352 1 115368 u
+&12
+(tbl\030)210436 v
+(s)223926 v
+&11
+(output to)3352 1 231168 u
+&12
+(eqn\030)271212 v
+(s)288582 v
+&11
+( of)3353(input; the second the piping)3352 2 295824 u
+&12
+(eqn\030)425378 v
+(s)442748 v
+&11
+(output to)3353 1 449991 u
+&12
+(tr)490037 v
+(of)496257 v
+(f)503857 v
+&11
+(\030)506637 v
+(s input;)3353 1 509417 u
+(and the third indicates the piping of)3330 1 72000 463200 t
+&12
+(tr)222520 v
+(of)228740 v
+(f)236340 v
+&11
+(\030)239120 v
+(s output to)3330 1 241900 u
+&12
+(dpost,)289120 v
+&11
+(which then writes PostScript code to)3330 1 316620 u
+&12
+(output.ps)470480 v
+&11
+(.)507430 v
+(The follo)3330 1 72000 480000 t
+(wing options are currently supported with)3330 1 109520 u
+&12
+(dpost:)284480 v
+&14
+(Option)93600 504000 w
+(Ef)158400 v
+(f)168220 v
+(ect)171450 v
+&13
+(\012e)93600 520800 w
+&12
+(encoding)106370 v
+&11
+( v)3330( Possible)6660(Set the PostScript encoding scheme.)3330 3 158400 u
+(alues of)3330 1 355070 u
+&12
+(encoding)390610 v
+&11
+(are:)430600 v
+&13
+(0)158400 537600 w
+&11
+( PostScript)3921(using the)3920 2 172800 u
+&13
+(asho)259572 v
+(w)278922 v
+&11
+(operator)290063 v
+(, with the same representation as pre)3921 1 322983 u
+(vious v)3921 1 477059 u
+(er)507500 v
+(\001)515070 v
+(sions of)3330 1 172800 549600 t
+&12
+(dpost)208350 v
+&13
+(1)158400 561600 w
+&11
+(using)172800 v
+&13
+(asho)197800 v
+(w)217150 v
+&11
+(, inte)3330 1 224370 u
+(grating motion commands with te)3330 1 245050 u
+(xt commands)3330 1 383220 u
+&13
+(2)158400 573600 w
+&11
+(using the PostScript)3330 1 172800 u
+&13
+(awidthsho)257800 v
+(w)301600 v
+&11
+(operator)312150 v
+(, computing space widths in PostScript)3330 1 345070 u
+&13
+(3)158400 585600 w
+&11
+(using)172800 v
+&13
+(awidthsho)197800 v
+(w)241600 v
+&11
+(, computing space widths in)3330 1 248820 u
+&12
+(dpost)367410 v
+&13
+(4)158400 597600 w
+&11
+(using)172800 v
+&13
+(asho)197800 v
+(w)217150 v
+&11
+(, storing te)3330 1 224370 u
+(xt positions as dif)3330 1 268380 u
+(ferences)341460 v
+&13
+(5)158400 609600 w
+&11
+(lik)172800 v
+(e)183260 v
+&13
+(4)191030 v
+&11
+(b)199360 v
+(ut using a binary PostScript Le)3330 1 204160 u
+(v)331670 v
+(el 2 representation)3330 1 336520 u
+(The def)4480 1 158400 626400 t
+(ault is de)4480 1 191100 u
+(vice\001speci\003c.)230920 v
+&13
+(3)291770 v
+&11
+(is the def)4480 1 301250 u
+(ault with the high\001resolution)4480 1 341770 u
+&13
+(ps)465800 v
+&11
+(de)479730 v
+(vice; it)4480 1 488920 u
+( most compact)4630
+(usually produces the most ef\003cient PostScript output and leads to the)4631 2 158400 638400 t
+9 s
+(PDF)158400 650400 w
+10 s
+(documents. W)7450 1 179326 u
+(ith lo)4420 1 241646 u
+(wer)264156 v
+(\001resolution de)4420 1 278946 u
+(vices,)335886 v
+&13
+(2)363356 v
+&11
+(is preferred o)4420 1 372776 u
+(v)429776 v
+(er)434626 v
+&13
+(3)446817 v
+&11
+(since the latter)4421 1 456238 u
+( of accumulated rounding errors.)4243
+(may produce incorrect alignment because)4244 2 158400 662400 t
+&13
+(0)477341 v
+&11
+(,)482341 v
+&13
+(1)489084 v
+&11
+(, or)4243 1 494084 u
+&13
+(4)513400 v
+&11
+(may be preferable if the te)3953 1 158400 674400 t
+(xt font contains man)3953 1 270755 u
+(y k)3953 1 356904 u
+(erning pairs since)3953 1 370757 u
+&13
+(2)448156 v
+&11
+(or)457109 v
+&13
+(3)469392 v
+&11
+(can result)3954 1 478346 u
+(in less ef\003cient or less compact output under these circumstances.)3330 1 158400 686400 t
+(\001)296840 760800 w
+(6)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 6 6
+%%Page: 7 7
+save
+mark
+7 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(\012M)93600 84000 w
+&12
+(marks)111370 v
+&11
+(Print marks \(in combination with the)4128 1 158400 u
+&13
+(trimat)318168 v
+[ /Dest /Anchor$trimat
+/Rect [318168 -85000 345378 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(tr)349506 v
+(of)355726 v
+(f)363326 v
+&11
+(request\). V)6959 1 370235 u
+(alid types of)4129 1 418014 u
+&12
+(marks)474841 v
+&11
+(are:)503410 v
+&13
+(cutmarks)158400 96000 w
+&11
+(,)198950 v
+&13
+(r)206397 v
+(egistrationmarks)210657 v
+&11
+(,)283427 v
+&13
+(startar)290874 v
+(gets)320204 v
+&11
+(,)336864 v
+&13
+(colorbars)344311 v
+&11
+(, and)4947 1 384861 u
+&13
+(all)411695 v
+&11
+( names can be)4946(. Mark)8277 2 422255 u
+(abbre)158400 108000 w
+( by colons, e.g.)3596(viated and combined)3595 2 180360 u
+&13
+(\012Mcut:r)333304 v
+(eg)368664 v
+&11
+(will print cut marks and re)3596 1 381700 u
+(gistra\001)492850 v
+(tion marks.)3330 1 158400 120000 t
+(\001)296840 760800 w
+(7)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 7 7
+%%Page: 8 8
+save
+mark
+8 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$3
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$part$5fsummary
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(Request Summary)3330 1 266005 84000 t
+[ /Dest /Bookmark$4
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&11
+(In the follo)3747 1 72000 100800 t
+(wing table, the notation)3747 1 118684 u
+&20
+(\143)220612 v
+&12
+(N)226102 v
+&11
+(in the)3747 1 236519 u
+&12
+(Request F)3747 1 264013 u
+(orm)304480 v
+&11
+(column means that the forms)3747 1 324337 u
+&12
+(N)449172 v
+&11
+(, +)3747 1 455842 u
+&12
+(N)467729 v
+&11
+(, or)3747 1 474399 u
+(\012)492724 v
+&12
+(N)497724 v
+&11
+(are per)3748 1 508142 u
+(\001)536670 v
+(mitted, to set the parameter to)3780 1 72000 112800 t
+&12
+(N)201610 v
+&11
+(, increment it by)3780 1 208280 u
+&12
+(N)281450 v
+&11
+( decrement it by)3779(, or)3780 2 288120 u
+&12
+(N)375056 v
+&11
+(, respecti)3779 1 381726 u
+(v)418855 v
+(ely)423705 v
+(. Plain)7109 1 435275 u
+&12
+(N)469223 v
+&11
+(means that the)3779 1 479672 u
+(v)72000 124800 w
+(alue is used to set the parameter)3688 1 76750 u
+(.)211078 v
+&12
+(Initial V)3338 1 220596 u
+(alues)253384 v
+&11
+(separated by)3688 1 278182 u
+&13
+(;)333318 v
+&11
+(are for)3688 1 340336 u
+&12
+(nr)371582 v
+(of)380022 v
+(f)387622 v
+&11
+(and)394090 v
+&12
+(tr)412218 v
+(of)418438 v
+(f)426038 v
+&11
+(respecti)432506 v
+(v)463356 v
+(ely)468206 v
+( the)3688(. In)7018 2 479776 u
+&12
+(Notes)517220 v
+&11
+(column,)72000 136800 w
+(B)84640 160800 w
+( use of)4312( The)7462( a break.)4312(Request normally causes)4311 4 118950 u
+&13
+(\013)317384 v
+&11
+(as control character)4312 1 325026 u
+(\(instead of)3330 1 118950 172800 t
+&13
+(.)165600 v
+&11
+( the break function.)3330(\) suppresses)6660 2 168100 u
+(D)84365 184800 w
+(Mode or rele)3330 1 118950 u
+(v)172010 v
+(ant parameters associated with current di)3330 1 176760 u
+(v)344230 v
+(ersion)349080 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [336700 -185800 373520 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(le)376850 v
+(v)383820 v
+(el.)388670 v
+(E)84920 196800 w
+(Rele)118950 v
+(v)137030 v
+(ant parameters are a part of the current en)3330 1 141780 u
+(vironment.)314620 v
+(O)84365 208800 w
+(Must stay in ef)3330 1 118950 u
+(fect until logical output.)3330 1 180910 u
+(P)85195 220800 w
+(Mode must be still or ag)3330 1 118950 u
+(ain in ef)3330 1 220550 u
+(fect at the time of ph)3330 1 254730 u
+(ysical output.)3330 1 341870 u
+(T)84920 232800 w
+&12
+(tr)118950 v
+(of)125170 v
+(f)132770 v
+&11
+(only; no ef)3330 1 138880 u
+(fect in)3330 1 183620 u
+&12
+(nr)213050 v
+(of)221490 v
+(f)229090 v
+(.)231720 v
+&13
+(v)72000 244800 w
+&11
+(,)77000 v
+&13
+(p)79500 v
+&11
+(,)85060 v
+&13
+(m)87560 v
+&11
+(,)95890 v
+&13
+(u)98390 v
+&11
+(Def)118950 v
+(ault scale indicator; if not speci\003ed, scale indicators are)3330 1 133840 u
+&12
+(ignor)365710 v
+(ed)387010 v
+&11
+(.)396450 v
+&14
+(Request)72000 278400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 290400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+( Explanation)3330(1. General)6660 2 72000 307200 t
+[ /Dest /Anchor$s$5fgeneral
+/Rect [72000 -308200 179500 -299200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$5
+ /View [/XYZ -4 496.8 0]
+/DEST pdfmark
+(.do)72000 324000 w
+[ /Dest /Anchor$do
+/Rect [72000 -325000 85060 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)88390 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute)291760 v
+&12
+(name)316190 v
+&11
+(in e)3330 1 341180 u
+(xtension le)3330 1 356580 u
+(v)400770 v
+(el 3.)3330 1 405620 u
+&13
+(.xflag)72000 336000 w
+[ /Dest /Anchor$xflag
+/Rect [72000 -337000 95610 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)98940 v
+&11
+(1)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Set the e)3330 1 280800 u
+(xtension le)3330 1 316750 u
+(v)360940 v
+(el permanently to)3330 1 365790 u
+&12
+(N)440770 v
+&11
+(.)447440 v
+&13
+(2. F)6660 1 72000 352800 t
+(ont and Character Size Contr)3330 1 92020 u
+(ol)221810 v
+[ /Dest /Anchor$s$5ffont
+/Rect [72000 -353800 232920 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$6
+ /View [/XYZ -4 451.2 0]
+/DEST pdfmark
+(.lc_ctype)72000 369600 w
+[ /Dest /Anchor$lc$5fctype
+/Rect [72000 -370600 109490 -361600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)112820 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Set the)3330 1 280800 u
+9 s
+(LC_CTYPE)312460 v
+10 s
+(locale.)360295 v
+&13
+(.ps)72000 381600 w
+[ /Dest /Anchor$ps
+/Rect [72000 -382600 83950 -373600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)85616 v
+&12
+(N)91106 v
+&11
+(10)129600 v
+(point)141266 v
+(pre)187200 v
+(vious)199720 v
+(E,T)244800 v
+(,)258780 v
+&13
+(p)261280 v
+&11
+(Point size; also)3330 1 280800 u
+(\030e_s\030)346350 v
+&13
+(\017s)366340 v
+&20
+(\143)373010 v
+&12
+(N)378500 v
+&11
+(.)385170 v
+&13
+(.fzoom)72000 393600 w
+[ /Dest /Anchor$fzoom
+/Rect [72000 -394600 100600 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)103930 v
+(Z)113370 v
+&11
+(1)129600 v
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Zoom font)3330 1 280800 u
+&12
+(F)327460 v
+&11
+(by f)3330 1 336900 u
+(actor)353460 v
+&12
+(Z)376780 v
+&11
+(.)382340 v
+&13
+(.ss)72000 405600 w
+[ /Dest /Anchor$ss
+/Rect [72000 -406600 82280 -397600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)85610 v
+&11
+([)95610 v
+&12
+(M)98940 v
+&11
+(])107270 v
+(12/36)129600 v
+(m)154046 v
+(ignored)187200 v
+(E,T)244800 v
+(Space\001character size set to)3330 1 280800 u
+&12
+(N)392410 v
+&11
+(/36)399080 v
+(em; sentence space)3330 1 413526 u
+&12
+(M)495156 v
+&11
+(/36)503486 v
+(em.)517932 v
+&13
+(.cs)72000 417600 w
+[ /Dest /Anchor$cs
+/Rect [72000 -418600 82830 -409600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)84496 v
+(N)92272 v
+(M)100608 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+(,T)249250 v
+(Constant character space \(width\) mode \(font)3330 1 280800 u
+&12
+(F)466290 v
+&11
+(\).)474066 v
+&13
+(.bd)72000 429600 w
+[ /Dest /Anchor$bd
+/Rect [72000 -430600 85620 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)88950 v
+(N)98390 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+(,T)249250 v
+(Embolden font)3330 1 280800 u
+&12
+(F)344680 v
+&11
+(by)354120 v
+&12
+(N)367450 v
+&20
+(\007)374120 v
+&11
+(1 units.)3330 1 379610 u
+&13
+(.bd)72000 441600 w
+[ /Dest /Anchor$bd
+/Rect [72000 -442600 85620 -433600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(S)88950 v
+&12
+(F)97840 v
+(N)107280 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+(,T)249250 v
+(Embolden Special F)3330 1 280800 u
+(ont when current font is)3330 1 363420 u
+&12
+(F)465610 v
+&11
+(.)471720 v
+&13
+(.ft)72000 453600 w
+[ /Dest /Anchor$ft
+/Rect [72000 -454600 81160 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)84490 v
+&11
+(Roman)129600 v
+(pre)187200 v
+(vious)199720 v
+(E)244800 v
+(Change to font)3330 1 280800 u
+&12
+(F)345230 v
+&11
+(=)354670 v
+&12
+(x)363640 v
+&11
+(,)368080 v
+&12
+(xx)373910 v
+&11
+( Also)6110(, or 1\0014.)3330 2 382790 u
+&13
+(\017f)444440 v
+&12
+(x)450550 v
+&11
+(,)454990 v
+&13
+(\017f\()459156 v
+&12
+(xx)468596 v
+&11
+(,)477476 v
+&13
+(\017f)481642 v
+&12
+(N)487752 v
+[ /Dest /Anchor$s$5ff
+/Rect [444440 -454600 494422 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)494422 v
+&13
+(.fp)72000 465600 w
+[ /Dest /Anchor$fp
+/Rect [72000 -466600 83390 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86720 v
+(F)96720 v
+&11
+([)106160 v
+&12
+(\003le)109490 v
+&11
+([)125040 v
+&12
+(supply)128370 v
+&11
+(]])154480 v
+(ignored)187200 v
+(P)244800 v
+(F)280800 v
+(ont position; mounts the font)3330 1 286210 u
+&12
+(\003le)408430 v
+&11
+(.)420650 v
+&13
+(.fps)72000 477600 w
+[ /Dest /Anchor$fps
+/Rect [72000 -478600 87280 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(map)90610 v
+(...)111160 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Mount a font with a special character map.)3330 1 280800 u
+&13
+(.featur)72000 489600 w
+(e)100420 v
+[ /Dest /Anchor$feature
+/Rect [72000 -490600 104860 -481600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)108190 v
+&20
+(\143)117630 v
+&12
+(name)123120 v
+(...)148110 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Control OpenT)3330 1 280800 u
+(ype features.)3330 1 341660 u
+&13
+(.fallback)72000 501600 w
+[ /Dest /Anchor$fallback
+/Rect [72000 -502600 108950 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)112280 v
+(A)121540 v
+(B)130980 v
+(...)140420 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Select the f)3330 1 280800 u
+(allback sequence for font)3330 1 327350 u
+&12
+(F)433970 v
+&11
+(.)440080 v
+&13
+(.hidechar)72000 513600 w
+[ /Dest /Anchor$hidechar
+/Rect [72000 -514600 112280 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)115610 v
+(c)125050 v
+(d)132820 v
+(...)141150 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Hide the characters)3330 1 280800 u
+&12
+(c)362980 v
+&11
+(,)367420 v
+&12
+(d)373250 v
+&11
+(, etc. from font F)3330 1 378250 u
+(.)448540 v
+&13
+(.spacewidth)72000 525600 w
+[ /Dest /Anchor$spacewidth
+/Rect [72000 -526600 122280 -517600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)125610 v
+&11
+(on)187200 v
+(O,T)244800 v
+(If)280800 v
+&12
+(N)290790 v
+&20
+(\152)297460 v
+&11
+(0, use the space width from the font metrics)3330 1 302950 u
+(\003le.)488170 v
+&13
+(.fspacewidth)72000 537600 w
+[ /Dest /Anchor$fspacewidth
+/Rect [72000 -538600 125610 -529600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)128940 v
+&11
+([)138380 v
+&12
+(N)141710 v
+&11
+(])148380 v
+(ignored)187200 v
+(O,T)244800 v
+(Set the width of the space character in font)3330 1 280800 u
+&12
+(F)461840 v
+&11
+(to)471280 v
+&12
+(N)482390 v
+&11
+(.)489060 v
+&13
+(3. P)6660 1 72000 554400 t
+(age Contr)3330 1 92170 u
+(ol)135310 v
+[ /Dest /Anchor$s$5fpage
+/Rect [72000 -555400 146420 -546400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$7
+ /View [/XYZ -4 249.6 0]
+/DEST pdfmark
+(.pl)72000 571200 w
+[ /Dest /Anchor$pl
+/Rect [72000 -572200 82840 -563200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)84506 v
+&12
+(N)89996 v
+&11
+(11i)129600 v
+(11i)187200 v
+&13
+(v)244800 v
+&11
+(P)280800 v
+(age length.)3330 1 286210 u
+&13
+(.papersize)72000 583200 w
+[ /Dest /Anchor$papersize
+/Rect [72000 -584200 115050 -575200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(media)118380 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(u)252670 v
+&11
+(Set the paper size.)3330 1 280800 u
+&13
+(.mediasize)72000 595200 w
+[ /Dest /Anchor$mediasize
+/Rect [72000 -596200 116160 -587200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(media)119490 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(u)252670 v
+&11
+(Set the de)3330 1 280800 u
+(vice media size.)3330 1 321650 u
+&13
+(.cr)72000 607200 w
+(opat)83200 v
+[ /Dest /Anchor$cropat
+/Rect [72000 -608200 102090 -599200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(L)105420 v
+(T)114130 v
+(W)122620 v
+(H)134280 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)3330 1 280800 u
+(\027)312460 v
+(\027CropBox\030)315050 v
+( parameter for)3330(\030 page)2590 2 357640 u
+9 s
+(PDF)444070 v
+10 s
+(generation.)463906 v
+&13
+(.trimat)72000 619200 w
+[ /Dest /Anchor$trimat
+/Rect [72000 -620200 101710 -611200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(L)105040 v
+(T)113750 v
+(W)122240 v
+(H)133900 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)3330 1 280800 u
+(\027)312460 v
+(\027T)315050 v
+(rimBox\030)324140 v
+( parameter for)3330(\030 page)2590 2 357290 u
+9 s
+(PDF)443720 v
+10 s
+(generation.)463556 v
+&13
+(.bleedat)72000 631200 w
+[ /Dest /Anchor$bleedat
+/Rect [72000 -632200 105610 -623200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(L)108940 v
+(T)117650 v
+(W)126140 v
+(H)137800 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)3330 1 280800 u
+(\027)312460 v
+(\027BleedBox\030)315050 v
+( parameter for)3330(\030 page)2590 2 360970 u
+9 s
+(PDF)447400 v
+10 s
+(generation.)467236 v
+&13
+(.bp)72000 643200 w
+[ /Dest /Anchor$bp
+/Rect [72000 -644200 85620 -635200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)88950 v
+&12
+(N)94440 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)141760 v
+(\012)187200 v
+(B)244800 v
+(Eject current page; ne)3330 1 280800 u
+(xt page number)3330 1 370610 u
+&12
+(N)437810 v
+&11
+(.)444480 v
+&13
+(.pn)72000 655200 w
+[ /Dest /Anchor$pn
+/Rect [72000 -656200 85620 -647200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)88950 v
+&12
+(N)94440 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)141760 v
+(ignored)187200 v
+(\012)244800 v
+(Ne)280800 v
+(xt page number)3330 1 292310 u
+&12
+(N)359510 v
+&11
+(.)366180 v
+&13
+(.po)72000 667200 w
+[ /Dest /Anchor$po
+/Rect [72000 -668200 85060 -659200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)88390 v
+&12
+(N)93880 v
+&11
+(0;1i)129600 v
+(pre)187200 v
+(vious)199720 v
+&13
+(m)244800 v
+&11
+(P)280800 v
+(age of)3330 1 286210 u
+(fset.)311500 v
+&13
+(.ne)72000 679200 w
+[ /Dest /Anchor$ne
+/Rect [72000 -680200 84500 -671200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)87830 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1v)199360 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Need)280800 v
+&12
+(N)305230 v
+&11
+(v)315230 v
+(ertical space \()3330 1 320080 u
+&12
+(V)377270 v
+&11
+(= v)3330 1 386710 u
+(ertical spacing\).)3330 1 400530 u
+&13
+(.mk)72000 691200 w
+[ /Dest /Anchor$mk
+/Rect [72000 -692200 88390 -683200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)91720 v
+&11
+(none)129600 v
+(internal)187200 v
+(D)244800 v
+(Mark current v)3330 1 280800 u
+(ertical place in re)3330 1 342290 u
+(gister)413770 v
+&12
+(R)439320 v
+&11
+(.)445430 v
+&13
+(.rt)72000 703200 w
+[ /Dest /Anchor$rt
+/Rect [72000 -704200 82270 -695200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)85600 v
+&12
+(N)91090 v
+&11
+(none)129600 v
+(internal)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Return)280800 v
+&12
+(\(upwar)311350 v
+(d only\))3330 1 339870 u
+&11
+(to mark)3330 1 372080 u
+(ed v)3330 1 403640 u
+(ertical place.)3330 1 421260 u
+(\001)296840 760800 w
+(8)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 8 8
+%%Page: 9 9
+save
+mark
+9 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+(4. T)6360 1 72000 120000 t
+( and Centering)3330( Adjusting,)2780(ext Filling,)3330 3 91610 u
+[ /Dest /Anchor$s$5ffill
+/Rect [72000 -121000 254390 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$8
+ /View [/XYZ -4 684 0]
+/DEST pdfmark
+(.br)72000 136800 w
+[ /Dest /Anchor$br
+/Rect [72000 -137800 84500 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Break.)280800 v
+&13
+(.lsm)72000 148800 w
+[ /Dest /Anchor$lsm
+/Rect [72000 -149800 89500 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)92830 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(Leading space macro is)3330 1 280800 u
+&12
+(xx)380760 v
+&11
+(.)389640 v
+&13
+(.br)72000 160800 w
+(p)84400 v
+[ /Dest /Anchor$brp
+/Rect [72000 -161800 89960 -152800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Break and spread.)3330 1 280800 u
+&13
+(.f)72000 172800 w
+(i)77580 v
+[ /Dest /Anchor$fi
+/Rect [72000 -173800 80360 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\003ll)129600 v
+(\012)187200 v
+(B,E)244800 v
+(Fill output lines.)3330 1 280800 u
+&13
+(.nf)72000 184800 w
+[ /Dest /Anchor$nf
+/Rect [72000 -185800 83390 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\003ll)129600 v
+(\012)187200 v
+(B,E)244800 v
+(No)280800 v
+(\003lling or adjusting of output lines.)3330 1 296350 u
+&13
+(.ad)72000 196800 w
+[ /Dest /Anchor$ad
+/Rect [72000 -197800 85060 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)88390 v
+&11
+(adj,both)129600 v
+(adjust)187200 v
+(E)244800 v
+(Adjust output lines with mode)3330 1 280800 u
+&12
+(c)408570 v
+&11
+(;)413010 v
+&12
+(c)419120 v
+&11
+(=)424393 v
+(l,)430866 v
+(r)436979 v
+(,)439909 v
+(c,)443242 v
+(b,)451015 v
+(p,)459348 v
+&12
+(none)467681 v
+&13
+(.na)72000 208800 w
+[ /Dest /Anchor$na
+/Rect [72000 -209800 85060 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(adjust)129600 v
+(\012)187200 v
+(E)244800 v
+(No output line adjusting.)3330 1 280800 u
+&13
+(.padj)72000 220800 w
+[ /Dest /Anchor$padj
+/Rect [72000 -221800 93950 -212800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)97280 v
+&11
+(of)129600 v
+(f)137680 v
+(on)187200 v
+(\012)244800 v
+(Control paragraph\001at\001once adjustment globally)3330 1 280800 u
+(.)470110 v
+&13
+(.ce)72000 232800 w
+[ /Dest /Anchor$ce
+/Rect [72000 -233800 83380 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86710 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(B,E)244800 v
+(Center follo)3330 1 280800 u
+(wing)329430 v
+&12
+(N)352760 v
+&11
+(input te)3330 1 362760 u
+(xt lines.)3330 1 393720 u
+&13
+(.rj)72000 244800 w
+[ /Dest /Anchor$rj
+/Rect [72000 -245800 82270 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)85600 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(B,E)244800 v
+(Right\001align follo)3330 1 280800 u
+(wing)348330 v
+&12
+(N)371660 v
+&11
+(input te)3330 1 381660 u
+(xt lines.)3330 1 412620 u
+&13
+(.br)72000 256800 w
+(nl)84350 v
+[ /Dest /Anchor$brnl
+/Rect [72000 -257800 92690 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)96020 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010\134)193870 v
+&11
+(B,E)244800 v
+(Break at end of ne)3330 1 280800 u
+(xt)357280 v
+&12
+(N)368390 v
+&11
+(input te)3330 1 378390 u
+(xt lines.)3330 1 409350 u
+&13
+(.br)72000 268800 w
+(pnl)84400 v
+[ /Dest /Anchor$brpnl
+/Rect [72000 -269800 98300 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)101630 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010\134)193870 v
+&11
+(B,E)244800 v
+(Break and spread at end of ne)3330 1 280800 u
+(xt)404480 v
+&12
+(N)415590 v
+&11
+(input te)3330 1 425590 u
+(xt lines.)3330 1 456550 u
+&13
+(.minss)72000 280800 w
+[ /Dest /Anchor$minss
+/Rect [72000 -281800 98950 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)102280 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E,T)244800 v
+(Minimum w)3330 1 280800 u
+(ord space when adjusting lines.)3330 1 331260 u
+&13
+(.letadj)72000 292800 w
+[ /Dest /Anchor$letadj
+/Rect [72000 -293800 98940 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(X)102270 v
+(U)111710 v
+(S)122260 v
+(Y)129840 v
+(V)138380 v
+&11
+(of)187200 v
+(f)195280 v
+(E,T)244800 v
+(Dynamic letter spacing and reshaping when adjusting lines.)3330 1 280800 u
+&13
+(.sentchar)72000 304800 w
+[ /Dest /Anchor$sentchar
+/Rect [72000 -305800 111160 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c...)114490 v
+&13
+(.?!:)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Sentence\001ending characters.)3330 1 280800 u
+&13
+(.transchar)72000 316800 w
+[ /Dest /Anchor$transchar
+/Rect [72000 -317800 116160 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c..)119490 v
+&13
+(\020\030\)]*\005)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(T)280800 v
+(ransparent characters for sentence\001ending.)3330 1 286560 u
+&13
+(.track)72000 328800 w
+[ /Dest /Anchor$track
+/Rect [72000 -329800 97270 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)100600 v
+(S)110040 v
+(N)118370 v
+(T)128190 v
+(M)137080 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(,)257120 v
+&13
+(p)259620 v
+&11
+(Static letter space tracking.)3330 1 280800 u
+&13
+(.k)72000 340800 w
+(er)79960 v
+(n)88690 v
+[ /Dest /Anchor$kern
+/Rect [72000 -341800 94250 -332800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)97580 v
+&11
+(1)129600 v
+(1)187200 v
+(P)244800 v
+(,T)249250 v
+(Control pairwise k)3330 1 280800 u
+(erning.)356800 v
+&13
+(.fk)72000 352800 w
+(er)83290 v
+(n)92020 v
+[ /Dest /Anchor$fkern
+/Rect [72000 -353800 97580 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)100910 v
+(N)110350 v
+&11
+(1)129600 v
+(1)187200 v
+(P)244800 v
+(,T)249250 v
+(Control the use of k)3330 1 280800 u
+(erning tables from font)3330 1 363460 u
+&12
+(F)461210 v
+&11
+(.)467320 v
+&13
+(.k)72000 364800 w
+(er)79960 v
+(npair)88690 v
+[ /Dest /Anchor$kernpair
+/Rect [72000 -365800 112030 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)115360 v
+(c...)124800 v
+(G)140070 v
+(d...)150620 v
+(N)166450 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(De\003ne a k)3330 1 280800 u
+(erning pair)3330 1 323460 u
+(.)367340 v
+&13
+(.k)72000 376800 w
+(er)79960 v
+(nafter)88690 v
+[ /Dest /Anchor$kernafter
+/Rect [72000 -377800 114790 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)118120 v
+(c...)127560 v
+(N)142830 v
+(d...)152830 v
+(M)168660 v
+(...)180320 v
+&11
+(P)244800 v
+(,T)249250 v
+(Add a constant amount of space after a character)3330 1 280800 u
+(.)481820 v
+&13
+(.k)72000 388800 w
+(er)79960 v
+(nbef)88690 v
+(or)107330 v
+(e)116590 v
+[ /Dest /Anchor$kernbefore
+/Rect [72000 -389800 121030 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)124360 v
+(c...)133800 v
+(N)149070 v
+(d...)159070 v
+(M)174900 v
+(...)186560 v
+&11
+(P)244800 v
+(,T)249250 v
+(Add a constant amount of space before a character)3330 1 280800 u
+(.)489040 v
+&13
+(.lhang)72000 400800 w
+[ /Dest /Anchor$lhang
+/Rect [72000 -401800 98400 -392800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)101730 v
+(c...)111170 v
+(N)126440 v
+(d...)136440 v
+(M)152270 v
+(...)163930 v
+&11
+(ignored)187200 v
+(T)244800 v
+(Hanging characters at left mar)3330 1 280800 u
+(gin.)405010 v
+&13
+(.rhang)72000 412800 w
+[ /Dest /Anchor$rhang
+/Rect [72000 -413800 100060 -404800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)103390 v
+(c...)112830 v
+(N)128100 v
+(d...)138100 v
+(M)153930 v
+(...)165590 v
+&11
+(ignored)187200 v
+(T)244800 v
+(Hanging characters at right mar)3330 1 280800 u
+(gin.)410570 v
+&13
+(5. V)6210 1 72000 429600 t
+(ertical Spacing)3330 1 91930 u
+[ /Dest /Anchor$s$5fvert
+/Rect [72000 -430600 159700 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$9
+ /View [/XYZ -4 374.4 0]
+/DEST pdfmark
+(.vs)72000 446400 w
+[ /Dest /Anchor$vs
+/Rect [72000 -447400 83390 -438400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86720 v
+&11
+(1/6in;12pts)129600 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(p)253410 v
+&11
+(V)280800 v
+(ertical base line spacing \()3330 1 286910 u
+&12
+(V)391870 v
+&11
+(\).)398813 v
+&13
+(.ls)72000 458400 w
+[ /Dest /Anchor$ls
+/Rect [72000 -459400 81170 -450400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)84500 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)141760 v
+(pre)187200 v
+(vious)199720 v
+(E)244800 v
+(Output)280800 v
+&12
+(N)311910 v
+&20
+(\007)318580 v
+&11
+(1)324070 v
+&12
+(V)332400 v
+&11
+(s after each te)3330 1 339343 u
+(xt output line.)3330 1 396933 u
+&13
+(.sp)72000 470400 w
+[ /Dest /Anchor$sp
+/Rect [72000 -471400 83950 -462400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)87280 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+&12
+(V)204360 v
+&11
+(B,)244800 v
+&13
+(v)253970 v
+&11
+(Space v)3330 1 280800 u
+(ertical distance)3330 1 312860 u
+&12
+(N in either dir)3330 1 377280 u
+(ection)436350 v
+&11
+(.)460790 v
+&13
+(.sv)72000 482400 w
+[ /Dest /Anchor$sv
+/Rect [72000 -483400 83390 -474400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86720 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+&12
+(V)204360 v
+&13
+(v)244800 v
+&11
+(Sa)280800 v
+(v)290600 v
+(e v)3330 1 295450 u
+(ertical distance)3330 1 308070 u
+&12
+(N)372490 v
+&11
+(.)379160 v
+&13
+(.os)72000 494400 w
+[ /Dest /Anchor$os
+/Rect [72000 -495400 83390 -486400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Output sa)3330 1 280800 u
+(v)320040 v
+(ed v)3330 1 324890 u
+(ertical distance.)3330 1 342510 u
+&13
+(.ns)72000 506400 w
+[ /Dest /Anchor$ns
+/Rect [72000 -507400 83950 -498400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(space)129600 v
+(\012)187200 v
+(D)244800 v
+(T)280800 v
+(urn no\001space mode on.)3330 1 286460 u
+&13
+(.rs)72000 518400 w
+[ /Dest /Anchor$rs
+/Rect [72000 -519400 82830 -510400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(D)244800 v
+(Restore spacing; turn no\001space mode of)3330 1 280800 u
+(f.)443280 v
+&13
+( Length and Indenting)3330(6. Line)6660 2 72000 535200 t
+[ /Dest /Anchor$s$5fline
+/Rect [72000 -536200 207290 -527200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$10
+ /View [/XYZ -4 268.8 0]
+/DEST pdfmark
+(.ll)72000 552000 w
+[ /Dest /Anchor$ll
+/Rect [72000 -553000 80060 -544000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)83390 v
+&12
+(N)88880 v
+&11
+(6.5)129600 v
+(i)143766 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Line length.)3330 1 280800 u
+&13
+(.in)72000 564000 w
+[ /Dest /Anchor$in
+/Rect [72000 -565000 82840 -556000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)86170 v
+&12
+(N)91660 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(0)142593 v
+(pre)187200 v
+(vious)199720 v
+(B,E,)244800 v
+&13
+(m)262580 v
+&11
+(Indent.)280800 v
+&13
+(.ti)72000 576000 w
+[ /Dest /Anchor$ti
+/Rect [72000 -577000 80610 -568000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)83940 v
+&12
+(N)89430 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(B,E,)244800 v
+&13
+(m)262580 v
+&11
+(T)280800 v
+(emporary indent.)3330 1 286210 u
+&13
+(.pshape)72000 588000 w
+[ /Dest /Anchor$pshape
+/Rect [72000 -589000 104510 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)107840 v
+&12
+(I1)113330 v
+&20
+(\143)124990 v
+&12
+(L1)130480 v
+&20
+(\143)144370 v
+&12
+(I2)149860 v
+&20
+(\143)161520 v
+&12
+(L2)167010 v
+&11
+(...)180900 v
+(of)191730 v
+(f)199810 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(De\003ne the shape of the current paragraph in)3330 1 280800 u
+&13
+(ad p)3330 1 465720 u
+&11
+(mode.)488500 v
+&13
+(7. Macr)6660 1 72000 604800 t
+(os, Strings, Di)3330 1 109300 u
+(v)170310 v
+(ersion, and P)3330 1 175210 u
+(osition T)3030 1 232510 u
+(raps)269810 v
+[ /Dest /Anchor$s$5fmac
+/Rect [72000 -605800 292030 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$11
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+(.de)72000 621600 w
+[ /Dest /Anchor$de
+/Rect [72000 -622600 84500 -613600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)87830 v
+(yy)100040 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(De\003ne or rede\003ne macro)3330 1 280800 u
+&12
+(xx;)386310 v
+&11
+(end at call of)3330 1 401850 u
+&12
+(yy)459600 v
+&11
+(.)468480 v
+&13
+(.am)72000 633600 w
+[ /Dest /Anchor$am
+/Rect [72000 -634600 87830 -625600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)91160 v
+(yy)103370 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(Append to a macro.)3330 1 280800 u
+&13
+(.ds)72000 645600 w
+[ /Dest /Anchor$ds
+/Rect [72000 -646600 83950 -637600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)87280 v
+(string)99490 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(De\003ne a string)3330 1 280800 u
+&12
+(xx)344670 v
+&11
+(containing)356880 v
+&12
+(string)402430 v
+&11
+(.)425770 v
+&13
+(.as)72000 657600 w
+[ /Dest /Anchor$as
+/Rect [72000 -658600 83390 -649600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)86720 v
+(string)98930 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Append)280800 v
+&12
+(string)315790 v
+&11
+(to string)3330 1 342460 u
+&12
+(xx)379680 v
+&11
+(.)388560 v
+&13
+(.lds)72000 669600 w
+[ /Dest /Anchor$lds
+/Rect [72000 -670600 86730 -661600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)90060 v
+(string)102270 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(De\003ne local string)3330 1 280800 u
+&12
+(xx)359670 v
+&11
+(containing)371880 v
+&12
+(string)417430 v
+&11
+(.)440770 v
+&13
+(.substring)72000 681600 w
+[ /Dest /Anchor$substring
+/Rect [72000 -682600 114510 -673600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)117840 v
+(N)130050 v
+&11
+([)140050 v
+&12
+(M)143380 v
+&11
+(])151710 v
+&12
+(M)187200 v
+&20
+(\010)195530 v
+(\007)202686 v
+&11
+(1)208176 v
+(\012)244800 v
+(Replace string)3330 1 280800 u
+&12
+(xx)342450 v
+&11
+(by its substring between)3330 1 354660 u
+&12
+(N)457420 v
+&11
+(and)467420 v
+&12
+(M)485190 v
+&11
+(.)493520 v
+&13
+(.length)72000 693600 w
+[ /Dest /Anchor$length
+/Rect [72000 -694600 101170 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)104500 v
+(string)113940 v
+(R)187200 v
+&11
+(set)196640 v
+(to)211080 v
+(0)222190 v
+(\012)244800 v
+(Store the length of)3330 1 280800 u
+&12
+(string)360780 v
+&11
+(in re)3330 1 387450 u
+(gister)406180 v
+&12
+(R)431730 v
+&11
+(.)437840 v
+&13
+(.index)72000 705600 w
+[ /Dest /Anchor$index
+/Rect [72000 -706600 97840 -697600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)101170 v
+(xx)110610 v
+(string)122820 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Store position where)3330 1 280800 u
+&12
+(string)368560 v
+&11
+(occurs in)3330 1 395230 u
+&12
+(xx)435770 v
+&11
+(in re)3330 1 447980 u
+(gister)466710 v
+&12
+(R)492260 v
+&11
+(.)498370 v
+&13
+(.chop)72000 717600 w
+[ /Dest /Anchor$chop
+/Rect [72000 -718600 95060 -709600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)98390 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e the last character of)3330 1 309390 u
+&12
+(xx)401560 v
+&11
+(.)410440 v
+&13
+(.rm)72000 729600 w
+[ /Dest /Anchor$rm
+/Rect [72000 -730600 87270 -721600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)90600 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e request, macro, or string.)3330 1 309390 u
+(\001)296840 760800 w
+(9)303500 v
+(\001)311830 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 9 9
+%%Page: 10 10
+save
+mark
+10 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+(.r)72000 120000 w
+(n)78790 v
+[ /Dest /Anchor$rn
+/Rect [72000 -121000 84350 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)87680 v
+(yy)99890 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Rename request, macro, or string)3330 1 280800 u
+&12
+(xx)420200 v
+&11
+(to)432410 v
+&12
+(yy)443520 v
+&11
+(.)452400 v
+&13
+(.di)72000 132000 w
+[ /Dest /Anchor$di
+/Rect [72000 -133000 82840 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)86170 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert output to macro)3330 1 295400 u
+&12
+(xx)377600 v
+&11
+(.)386480 v
+&13
+(.da)72000 144000 w
+[ /Dest /Anchor$da
+/Rect [72000 -145000 85060 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)88390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert and append to)3330 1 295400 u
+&12
+(xx)370370 v
+&11
+(.)379250 v
+&13
+(.box)72000 156000 w
+[ /Dest /Anchor$box
+/Rect [72000 -157000 90060 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)93390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert output to macro)3330 1 295400 u
+&12
+(xx)377600 v
+&11
+(, e)3330 1 386480 u
+(xcluding a partially)3330 1 396600 u
+(\003lled line.)3330 1 479360 u
+&13
+(.boxa)72000 168000 w
+[ /Dest /Anchor$boxa
+/Rect [72000 -169000 95060 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)98390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert and append to)3330 1 295400 u
+&12
+(xx)370370 v
+&11
+(, e)3330 1 379250 u
+(xcluding a partially)3330 1 389370 u
+(\003lled line.)3330 1 472130 u
+&13
+(.unf)72000 180000 w
+(ormat)88700 v
+[ /Dest /Anchor$unformat
+/Rect [72000 -181000 114800 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)118130 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Strip line break information from di)3330 1 280800 u
+(v)428300 v
+(ersion)433150 v
+&12
+(xx)460920 v
+&11
+(.)469800 v
+&13
+(.asciify)72000 192000 w
+[ /Dest /Anchor$asciify
+/Rect [72000 -193000 101720 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)105050 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(All characters in di)3330 1 280800 u
+(v)359410 v
+(ersion)364260 v
+&12
+(xx)392030 v
+&11
+(changed to plain te)3330 1 404240 u
+(xt.)482400 v
+&13
+(.wh)72000 204000 w
+[ /Dest /Anchor$wh
+/Rect [72000 -205000 87280 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)90610 v
+(xx)100610 v
+&11
+(\012)129600 v
+(\012)187200 v
+&13
+(v)244800 v
+&11
+(Set location trap; ne)3330 1 280800 u
+(g)363410 v
+(ati)368360 v
+(v)378110 v
+(e is w)3330 1 382960 u
+(.r)407300 v
+(.t. page bottom.)3330 1 412580 u
+&13
+(.ch)72000 216000 w
+[ /Dest /Anchor$ch
+/Rect [72000 -217000 84500 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)87830 v
+(N)100040 v
+&11
+(\012)129600 v
+(\012)187200 v
+&13
+(v)244800 v
+&11
+(Change trap location.)3330 1 280800 u
+&13
+(.d)72000 228000 w
+(wh)79910 v
+[ /Dest /Anchor$dwh
+/Rect [72000 -229000 92690 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)96020 v
+(xx)106020 v
+&11
+(\012)129600 v
+(\012)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Set location trap in current di)3330 1 280800 u
+(v)401630 v
+(ersion.)406480 v
+&13
+(.dch)72000 240000 w
+[ /Dest /Anchor$dch
+/Rect [72000 -241000 90060 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)93390 v
+(N)105600 v
+&11
+(\012)129600 v
+(\012)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Change trap location in current di)3330 1 280800 u
+(v)419400 v
+(ersion.)424250 v
+&13
+(.dt)72000 252000 w
+[ /Dest /Anchor$dt
+/Rect [72000 -253000 83390 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86720 v
+(xx)96720 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Set a di)3330 1 280800 u
+(v)312210 v
+(ersion trap.)3330 1 317060 u
+&13
+(.vpt)72000 264000 w
+[ /Dest /Anchor$vpt
+/Rect [72000 -265000 88390 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)91720 v
+&11
+(1)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Enable or disable v)3330 1 280800 u
+(ertical position traps.)3330 1 360070 u
+&13
+(.it)72000 276000 w
+[ /Dest /Anchor$it
+/Rect [72000 -277000 80610 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)83940 v
+(xx)93940 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set an input\001line count trap.)3330 1 280800 u
+&13
+(.itc)72000 288000 w
+[ /Dest /Anchor$itc
+/Rect [72000 -289000 85050 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)88380 v
+(xx)98380 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Input\001line count trap ignoring)3330 1 280800 u
+&13
+(\017c)405220 v
+&11
+(.)412440 v
+&13
+(.r)72000 300000 w
+(etur)78760 v
+(n)96380 v
+[ /Dest /Anchor$return
+/Rect [72000 -301000 101940 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Return from the current macro.)3330 1 280800 u
+&13
+(.shift)72000 312000 w
+[ /Dest /Anchor$shift
+/Rect [72000 -313000 93390 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)96720 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Shift the ar)3330 1 280800 u
+(guments to the current macro.)3330 1 326720 u
+&13
+(.als)72000 324000 w
+[ /Dest /Anchor$als
+/Rect [72000 -325000 86170 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(yy)89500 v
+(xx)101710 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+&12
+(yy)280800 v
+&11
+(is created as an alias for)3330 1 293010 u
+&12
+(xx)396290 v
+&11
+(.)405170 v
+&13
+(.blm)72000 336000 w
+[ /Dest /Anchor$blm
+/Rect [72000 -337000 91170 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)94500 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(Blank line macro is)3330 1 280800 u
+&12
+(xx)364670 v
+&11
+(.)373550 v
+&13
+(.em)72000 348000 w
+[ /Dest /Anchor$em
+/Rect [72000 -349000 87270 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)90600 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(End macro is)3330 1 280800 u
+&12
+(xx.)338560 v
+&13
+(.r)72000 360000 w
+(ecursionlimit)78760 v
+[ /Dest /Anchor$recursionlimit
+/Rect [72000 -361000 134870 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)138200 v
+(M)148200 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Set the maximum stack depth.)3330 1 280800 u
+&13
+( Registers)3330(8. Number)6660 2 72000 376800 t
+[ /Dest /Anchor$s$5freg
+/Rect [72000 -377800 167800 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$12
+ /View [/XYZ -4 427.2 0]
+/DEST pdfmark
+(.nr)72000 393600 w
+[ /Dest /Anchor$nr
+/Rect [72000 -394600 84500 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)87830 v
+&20
+(\143)97270 v
+&12
+(N)102760 v
+(M)112760 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set number re)3330 1 280800 u
+(gister)384500 v
+&12
+(R)410050 v
+&11
+(; auto\001increment by)3330 1 416160 u
+&12
+(M)499470 v
+&11
+(.)507800 v
+&13
+(.nrf)72000 405600 w
+[ /Dest /Anchor$nrf
+/Rect [72000 -406600 87830 -397600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)91160 v
+&20
+(\143)100600 v
+&12
+(F)106090 v
+(G)115530 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set)3330 1 280800 u
+(\004oating\001point re)3330 1 343000 u
+(gister)408400 v
+&12
+(R)433950 v
+&11
+(; auto\001increment by)3330 1 440060 u
+&12
+(G)523370 v
+&11
+(.)530590 v
+&13
+(.lnr)72000 417600 w
+[ /Dest /Anchor$lnr
+/Rect [72000 -418600 87280 -409600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)90610 v
+&20
+(\143)100050 v
+&12
+(N)105540 v
+(M)115540 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set local number re)3330 1 280800 u
+(gister)407270 v
+&12
+(R)432820 v
+&11
+(.)438930 v
+&13
+(.lnrf)72000 429600 w
+[ /Dest /Anchor$lnrf
+/Rect [72000 -430600 90610 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)93940 v
+&20
+(\143)103380 v
+&12
+(F)108870 v
+(G)118310 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set local)3330 1 280800 u
+(\004oating\001point re)3330 1 365770 u
+(gister)431170 v
+&12
+(R)456720 v
+&11
+(.)462830 v
+&13
+(.af)72000 441600 w
+[ /Dest /Anchor$af
+/Rect [72000 -442600 82830 -433600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)86160 v
+(c)95600 v
+&11
+(arabic)129600 v
+(\012)187200 v
+(\012)244800 v
+(Assign format to re)3330 1 280800 u
+(gister)360630 v
+&12
+(R)386180 v
+&11
+(\()395620 v
+&12
+(c=)398950 v
+&13
+(1)410140 v
+&11
+(,)415140 v
+&13
+(i)420970 v
+&11
+(,)423750 v
+&13
+(I)429580 v
+&11
+(,)433470 v
+&13
+(a)439300 v
+&11
+(,)444300 v
+&13
+(A)450130 v
+&11
+(\).)457350 v
+&13
+(.rr)72000 453600 w
+[ /Dest /Anchor$rr
+/Rect [72000 -454600 83380 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)86710 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e re)3330 1 309390 u
+(gister)324780 v
+&12
+(R)350330 v
+&11
+(.)356440 v
+&13
+(.r)72000 465600 w
+(nn)78790 v
+[ /Dest /Anchor$rnn
+/Rect [72000 -466600 89910 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)93240 v
+(S)102680 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Rename re)3330 1 280800 u
+(gister)324520 v
+&12
+(R)350070 v
+&11
+(to)359510 v
+&12
+(S)370620 v
+&11
+(.)375620 v
+&13
+(.aln)72000 477600 w
+[ /Dest /Anchor$aln
+/Rect [72000 -478600 87840 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(S)91170 v
+(R)99500 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Re)280800 v
+(gister)291760 v
+&12
+(S)317310 v
+&11
+(is created as an alias for)3330 1 325640 u
+&12
+(R)428920 v
+&11
+(.)435030 v
+&13
+(9. T)6360 1 72000 494400 t
+(abs, Leaders, and Fields)3330 1 91610 u
+[ /Dest /Anchor$s$5ftabs
+/Rect [72000 -495400 200500 -486400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$13
+ /View [/XYZ -4 309.6 0]
+/DEST pdfmark
+(.ta)72000 511200 w
+[ /Dest /Anchor$ta
+/Rect [72000 -512200 82830 -503200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(Nt)86160 v
+(...)98940 v
+&11
+(8)129600 v
+(n;)136266 v
+(0.5)147376 v
+(i)161542 v
+(none)187200 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(T)280800 v
+(ab settings;)3330 1 286110 u
+&12
+(left)335550 v
+&11
+(type, unless)3330 1 351660 u
+&12
+(t=)403040 v
+&13
+(R)412570 v
+&11
+(\(right\),)419790 v
+&13
+(C)451170 v
+&11
+(\(centered\).)458390 v
+&13
+(.tc)72000 523200 w
+[ /Dest /Anchor$tc
+/Rect [72000 -524200 82270 -515200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)85600 v
+&11
+(none)129600 v
+(none)187200 v
+(E)244800 v
+(T)280800 v
+(ab repetition character)3330 1 286110 u
+(.)376630 v
+&13
+(.lc)72000 535200 w
+[ /Dest /Anchor$lc
+/Rect [72000 -536200 81720 -527200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)85050 v
+&13
+(.)129600 v
+&11
+(none)187200 v
+(E)244800 v
+(Leader repetition character)3330 1 280800 u
+(.)389640 v
+&13
+(.fc)72000 547200 w
+[ /Dest /Anchor$fc
+/Rect [72000 -548200 82270 -539200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(a)85600 v
+(b)93930 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(\012)244800 v
+(Set)280800 v
+(\003eld delimiter)3330 1 296910 u
+&12
+(a)357460 v
+&11
+(and pad character)3330 1 365790 u
+&12
+(b)441300 v
+&11
+(.)446300 v
+&13
+( and Output Con)3330(10. Input)6660 2 72000 564000 t
+(v)189670 v
+( T)3030(entions and Character)3330 2 194570 u
+(ranslations)300740 v
+[ /Dest /Anchor$s$5ftrans
+/Rect [72000 -565000 351300 -556000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$14
+ /View [/XYZ -4 240 0]
+/DEST pdfmark
+(.ec)72000 580800 w
+[ /Dest /Anchor$ec
+/Rect [72000 -581800 83380 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)86710 v
+&11
+(\017)129600 v
+(\017)187200 v
+(\012)244800 v
+(Set escape character)3330 1 280800 u
+(.)362980 v
+&13
+(.eo)72000 592800 w
+[ /Dest /Anchor$eo
+/Rect [72000 -593800 83940 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(on)129600 v
+(\012)187200 v
+(\012)244800 v
+(T)280800 v
+(urn of)3330 1 286460 u
+(f escape character mechanism.)3330 1 311200 u
+&13
+(.ecs)72000 604800 w
+[ /Dest /Anchor$ecs
+/Rect [72000 -605800 87270 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\017)129600 v
+(\012)187200 v
+(\012)244800 v
+(Sa)280800 v
+(v)290600 v
+(e escape character)3330 1 295450 u
+(.)369290 v
+&13
+(.ecr)72000 616800 w
+[ /Dest /Anchor$ecr
+/Rect [72000 -617800 87820 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\017)129600 v
+(\012)187200 v
+(\012)244800 v
+(Restore sa)3330 1 280800 u
+(v)322810 v
+(ed escape character)3330 1 327660 u
+(.)406500 v
+&13
+(.escoff)72000 628800 w
+[ /Dest /Anchor$escoff
+/Rect [72000 -629800 98930 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(esc ...)3330 1 102260 u
+&11
+(on)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Disable escapes)3330 1 280800 u
+&12
+(esc ...)3330 1 348550 u
+&11
+(.)373816 v
+&13
+(.escon)72000 640800 w
+[ /Dest /Anchor$escon
+/Rect [72000 -641800 97830 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(esc ...)3330 1 101160 u
+&11
+(on)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Enable escapes)3330 1 280800 u
+&12
+(esc ...)3330 1 345770 u
+&11
+(.)371036 v
+&13
+(.lg)72000 652800 w
+[ /Dest /Anchor$lg
+/Rect [72000 -653800 82280 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)85610 v
+&11
+(\012;)129600 v
+(on)139046 v
+(on)187200 v
+(T)244800 v
+(Lig)280800 v
+(ature mode on if)3330 1 294640 u
+&12
+(N)366280 v
+&11
+(>0.)372950 v
+&13
+(.flig)72000 664800 w
+[ /Dest /Anchor$flig
+/Rect [72000 -665800 88390 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)91720 v
+(string)101160 v
+(c)127830 v
+(...)135600 v
+&11
+(ignored)187200 v
+(T)244800 v
+(De\003ne the lig)3330 1 280800 u
+(atures in font)3330 1 336850 u
+&12
+(F)394610 v
+&11
+(.)400720 v
+&13
+(.fdeferlig)72000 676800 w
+[ /Dest /Anchor$fdeferlig
+/Rect [72000 -677800 110600 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)113930 v
+(string)123370 v
+(...)150040 v
+&11
+(ignored)187200 v
+(T)244800 v
+(Defer lig)3330 1 280800 u
+(ature b)3330 1 317400 u
+(uilding for the)3330 1 345520 u
+(\003rst character of)3330 1 407730 u
+&12
+(string)478250 v
+&11
+(.)501590 v
+&13
+(.ul)72000 688800 w
+[ /Dest /Anchor$ul
+/Rect [72000 -689800 82840 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)86170 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(E)244800 v
+(Underline \(italicize in)3330 1 280800 u
+&12
+(tr)373550 v
+(of)379770 v
+(f)387370 v
+&11
+(\))390150 v
+&12
+(N)396810 v
+&11
+(input lines.)3330 1 406810 u
+&13
+(.cu)72000 700800 w
+[ /Dest /Anchor$cu
+/Rect [72000 -701800 84500 -692800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)87830 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(E)244800 v
+(Continuous underline in)3330 1 280800 u
+&12
+(nr)382460 v
+(of)390900 v
+(f;)398500 v
+&11
+(lik)407940 v
+(e)418400 v
+&13
+(ul)426170 v
+&11
+(in)437840 v
+&12
+(tr)448950 v
+(of)455170 v
+(f)462770 v
+(.)465400 v
+&13
+(.uf)72000 712800 w
+[ /Dest /Anchor$uf
+/Rect [72000 -713800 83390 -704800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)86720 v
+&11
+(Italic)129600 v
+(Italic)187200 v
+(\012)244800 v
+(Underline font set to)3330 1 280800 u
+&12
+(F)369110 v
+&11
+(\(to be switched to by)3330 1 378550 u
+&13
+(ul)469080 v
+&11
+(\).)477420 v
+&13
+(.cc)72000 724800 w
+[ /Dest /Anchor$cc
+/Rect [72000 -725800 83380 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)86710 v
+&13
+(.)129600 v
+(.)187200 v
+&11
+(E)244800 v
+(Set control character to)3330 1 280800 u
+&12
+(c)379650 v
+&11
+(.)384090 v
+(\001)294340 760800 w
+(10)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 10 10
+%%Page: 11 11
+save
+mark
+11 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+(.c2)72000 120000 w
+[ /Dest /Anchor$c2
+/Rect [72000 -121000 83940 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)87270 v
+&13
+(\013)129600 v
+(\013)187200 v
+&11
+(E)244800 v
+(Set nobreak control character to)3330 1 280800 u
+&12
+(c)415190 v
+&11
+(.)419630 v
+&13
+(.tr)72000 132000 w
+[ /Dest /Anchor$tr
+/Rect [72000 -133000 82270 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(abcd....)85600 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate)286560 v
+&12
+(a)320990 v
+&11
+(to)329320 v
+&12
+(b)340430 v
+&11
+(, etc. on output.)3330 1 345430 u
+&13
+(.trin)72000 144000 w
+[ /Dest /Anchor$trin
+/Rect [72000 -145000 90610 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(abcd....)93940 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate b)3330 1 286560 u
+(ut retranslate with)3330 1 325790 u
+&13
+(asciify)402990 v
+&11
+(.)430210 v
+&13
+(.tr)72000 156000 w
+(nt)82120 v
+[ /Dest /Anchor$trnt
+/Rect [72000 -157000 91010 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(abcd....)94340 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate b)3330 1 286560 u
+(ut not on transparent lines.)3330 1 325790 u
+&13
+(.ftr)72000 168000 w
+[ /Dest /Anchor$ftr
+/Rect [72000 -169000 85600 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(F)88930 v
+(abcd....)98370 v
+&11
+(none)129600 v
+(\012)187200 v
+(P)244800 v
+(,T)249250 v
+(F)280800 v
+(ont\001speci\003c)286210 v
+&13
+(tr)336200 v
+&11
+(.)343970 v
+&13
+(.char)72000 180000 w
+[ /Dest /Anchor$char
+/Rect [72000 -181000 93940 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)97270 v
+(string)105040 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(De\003ne character)3330 1 280800 u
+&12
+(c)350760 v
+&11
+(to)358530 v
+&12
+(string)369640 v
+&11
+(.)392980 v
+&13
+(.fchar)72000 192000 w
+[ /Dest /Anchor$fchar
+/Rect [72000 -193000 97270 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)100600 v
+(string)108370 v
+&11
+(ignored)187200 v
+(T)244800 v
+(De\003ne f)3330 1 280800 u
+(allback for character)3330 1 314020 u
+&12
+(c)401190 v
+&11
+(to)408960 v
+&12
+(string)420070 v
+&11
+(.)443410 v
+&13
+(.r)72000 204000 w
+(char)78760 v
+[ /Dest /Anchor$rchar
+/Rect [72000 -205000 98200 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c...)101530 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e character de\003nitions for)3330 1 309390 u
+&12
+(c...)417680 v
+&11
+(.)429620 v
+&13
+(.utf8con)72000 216000 w
+(v)106320 v
+[ /Dest /Anchor$utf8conv
+/Rect [72000 -217000 111320 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c1)114650 v
+(c2)127420 v
+&11
+(ignored)187200 v
+(\012)244800 v
+&12
+(nr)280800 v
+(of)289240 v
+(f)296840 v
+9 @11 f
+(UTF)302950 v
+10 s
+(\0018 locale character translation.)3330 1 319951 u
+&13
+(.output)72000 228000 w
+[ /Dest /Anchor$output
+/Rect [72000 -229000 102840 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)106170 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write)280800 v
+&12
+(string)306900 v
+&11
+(directly to intermediate output.)3330 1 333570 u
+&13
+( V)2880( Horizontal and)3330(11. Local)6660 3 72000 244800 t
+( W)3030(ertical Motions, and the)3330 2 193040 u
+(idth Function)3330 1 310040 u
+[ /Dest /Anchor$s$5fmot
+/Rect [72000 -245800 372270 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$15
+ /View [/XYZ -4 559.2 0]
+/DEST pdfmark
+(12. Ov)6660 1 72000 261600 t
+(erstrik)103840 v
+(e, Brack)3330 1 132620 u
+(et, Line\001drawing, Graphics, and Zer)3330 1 168900 u
+(o\001width Functions)3330 1 326770 u
+[ /Dest /Anchor$s$5fdraw
+/Rect [72000 -262600 408440 -253600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$16
+ /View [/XYZ -4 542.4 0]
+/DEST pdfmark
+(.connectchar)72000 278400 w
+[ /Dest /Anchor$connectchar
+/Rect [72000 -279400 126710 -270400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c..)130040 v
+&13
+(\020\017\(ru\017\(ul\017\(r)187200 v
+(n)233710 v
+&11
+(of)244800 v
+(f)252880 v
+(E)280800 v
+(Connected characters for line dra)3330 1 298800 u
+(wing.)434700 v
+&13
+(13. Hyphenation.)6660 1 72000 295200 t
+[ /Dest /Anchor$s$5fhyphen
+/Rect [72000 -296200 155890 -287200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$17
+ /View [/XYZ -4 508.8 0]
+/DEST pdfmark
+(.nh)72000 312000 w
+[ /Dest /Anchor$nh
+/Rect [72000 -313000 85620 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(h)129600 v
+(yphenate)134550 v
+(\012)187200 v
+(E)244800 v
+(No h)3330 1 280800 u
+(yphenation.)301300 v
+&13
+(.h)72000 324000 w
+(y)79910 v
+[ /Dest /Anchor$hy
+/Rect [72000 -325000 84910 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)88240 v
+&11
+(h)129600 v
+(yphenate)134550 v
+(h)187200 v
+(yphenate)192150 v
+(E)244800 v
+(Hyphenate;)280800 v
+&12
+(N =)3330 1 330230 u
+&11
+(mode.)350310 v
+&13
+(.h)72000 336000 w
+(ylang)79910 v
+[ /Dest /Anchor$hylang
+/Rect [72000 -337000 103250 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)106580 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set the h)3330 1 280800 u
+(yphenation language.)3330 1 317410 u
+&13
+(.shc)72000 348000 w
+[ /Dest /Anchor$shc
+/Rect [72000 -349000 88390 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)91720 v
+&11
+(\001)129600 v
+(\001)187200 v
+(E)244800 v
+(Set the soft h)3330 1 280800 u
+(yphenation character)3330 1 335740 u
+(.)419600 v
+&13
+(.hcode)72000 360000 w
+[ /Dest /Anchor$hcode
+/Rect [72000 -361000 99500 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(abcd...)102830 v
+&11
+(\012)187200 v
+(E)244800 v
+(Hyphenation code of)3330 1 280800 u
+&12
+(a)369660 v
+&11
+(is)377990 v
+&12
+(b)387990 v
+&11
+(, etc.)3330 1 392990 u
+&13
+(.h)72000 372000 w
+(ylen)79910 v
+[ /Dest /Anchor$hylen
+/Rect [72000 -373000 97690 -364000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)101020 v
+&11
+(5)129600 v
+(5)187200 v
+(E)244800 v
+(Hyphenate only w)3330 1 280800 u
+(ords of at least)3330 1 355680 u
+&12
+(N)420100 v
+&11
+(characters in length.)3330 1 430100 u
+&13
+(.hlm)72000 384000 w
+[ /Dest /Anchor$hlm
+/Rect [72000 -385000 91170 -376000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)94500 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Maximum number of consecuti)3330 1 280800 u
+(v)408860 v
+(e h)3330 1 413710 u
+(yphenated lines.)3330 1 426430 u
+&13
+(.h)72000 396000 w
+(ypp)79910 v
+[ /Dest /Anchor$hypp
+/Rect [72000 -397000 96030 -388000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)99360 v
+(M)109360 v
+(L)121020 v
+&11
+(0)129600 v
+(0)137930 v
+(0)146260 v
+(0)187200 v
+(0)195530 v
+(0)203860 v
+(E)244800 v
+(De\003ne h)3330 1 280800 u
+(yphenation penalties for)3330 1 315740 u
+&13
+(ad p)3330 1 417380 u
+&11
+(mode.)440160 v
+&13
+(.br)72000 408000 w
+(eakchar)84320 v
+[ /Dest /Anchor$breakchar
+/Rect [72000 -409000 118760 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c.)122090 v
+&13
+(\001\006)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Optional line break characters.)3330 1 280800 u
+&13
+(.nh)72000 420000 w
+(ychar)85470 v
+[ /Dest /Anchor$nhychar
+/Rect [72000 -421000 109910 -412000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c...)113240 v
+&13
+(\001\006)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Hyphenation\001inhibiting characters.)3330 1 280800 u
+&13
+(.hc)72000 432000 w
+[ /Dest /Anchor$hc
+/Rect [72000 -433000 84500 -424000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)87830 v
+&13
+(\017%)129600 v
+(\017%)187200 v
+&11
+(E)244800 v
+(Hyphenation indicator character)3330 1 280800 u
+&12
+(c)414640 v
+&11
+(.)419080 v
+&13
+(.hw)72000 444000 w
+[ /Dest /Anchor$hw
+/Rect [72000 -445000 87280 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(wor)90610 v
+(d)105800 v
+(...)114130 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Add w)3330 1 280800 u
+(ords to h)3330 1 308470 u
+(yphenation dictionary)3330 1 345080 u
+(.)432750 v
+&13
+(14. Thr)6360 1 72000 460800 t
+(ee\001P)107350 v
+(art T)3030 1 125570 u
+(itles.)147860 v
+[ /Dest /Anchor$s$5ftitles
+/Rect [72000 -461800 174240 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$18
+ /View [/XYZ -4 343.2 0]
+/DEST pdfmark
+(.tl)72000 477600 w
+[ /Dest /Anchor$tl
+/Rect [72000 -478600 80610 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\013left\013center\013right\013)83940 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Three part title; delimiter may be an)3330 1 280800 u
+(y character)3330 1 430050 u
+(.)474470 v
+&13
+(.pc)72000 489600 w
+[ /Dest /Anchor$pc
+/Rect [72000 -490600 84500 -481600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)87830 v
+&13
+(%)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(\012)244800 v
+(P)280800 v
+(age number character)3330 1 286210 u
+(.)373390 v
+&13
+(.lt)72000 501600 w
+[ /Dest /Anchor$lt
+/Rect [72000 -502600 80610 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)83940 v
+&12
+(N)89430 v
+&11
+(6.5)129600 v
+(in)143766 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Length of title.)3330 1 280800 u
+&13
+( Line Numbering)3330(15. Output)6660 2 72000 518400 t
+(.)197130 v
+[ /Dest /Anchor$s$5fonl
+/Rect [72000 -519400 206290 -510400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$19
+ /View [/XYZ -4 285.6 0]
+/DEST pdfmark
+(.nm)72000 535200 w
+[ /Dest /Anchor$nm
+/Rect [72000 -536200 88390 -527200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)91720 v
+&12
+(N)97210 v
+(M)107210 v
+(S)118870 v
+(I)127200 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Number mode on or of)3330 1 280800 u
+(f, set parameters.)3330 1 375520 u
+&13
+(.nn)72000 547200 w
+[ /Dest /Anchor$nn
+/Rect [72000 -548200 85620 -539200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)88950 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(E)244800 v
+(Do not number ne)3330 1 280800 u
+(xt)355630 v
+&12
+(N)366740 v
+&11
+(lines.)376740 v
+&13
+( of Input)3330( Acceptance)2780(16. Conditional)6660 3 72000 564000 t
+[ /Dest /Anchor$s$5fcond
+/Rect [72000 -565000 235600 -556000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$20
+ /View [/XYZ -4 240 0]
+/DEST pdfmark
+(.if)72000 580800 w
+[ /Dest /Anchor$if
+/Rect [72000 -581800 80610 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)83940 v
+(anything)91710 v
+&11
+(\012)187200 v
+(\012)244800 v
+(If condition)3330 1 280800 u
+&12
+(c)331900 v
+&11
+(true, accept)3330 1 339670 u
+&12
+(anything)389920 v
+&11
+(as input,)3330 1 428250 u
+(for multi\001line use)3330 1 280800 592800 t
+&12
+(\017{anything)355230 v
+(\017})398676 v
+&11
+(.)405456 v
+&13
+(.if)72000 604800 w
+[ /Dest /Anchor$if
+/Rect [72000 -605800 80610 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(!)83940 v
+&12
+(c)87270 v
+(anything)95040 v
+&11
+(\012)187200 v
+(\012)244800 v
+(If condition)3330 1 280800 u
+&12
+(c)331900 v
+&11
+(f)339670 v
+(alse, accept)3330 1 342900 u
+&12
+(anything)393150 v
+&11
+(.)428150 v
+&13
+(.if)72000 616800 w
+[ /Dest /Anchor$if
+/Rect [72000 -617800 80610 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)83940 v
+(anything)93940 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If e)3330 1 280800 u
+(xpression)295080 v
+&12
+(N)336740 v
+&11
+(> 0, accept)3330 1 346740 u
+&12
+(anything)395410 v
+&11
+(.)430410 v
+&13
+(.if)72000 628800 w
+[ /Dest /Anchor$if
+/Rect [72000 -629800 80610 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(!)83940 v
+&12
+(N)87270 v
+(anything)97270 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If e)3330 1 280800 u
+(xpression)295080 v
+&12
+(N)336740 v
+&20
+(\131)346740 v
+&11
+(0 [sic], accept)3330 1 355560 u
+&12
+(anything)416360 v
+&11
+(.)451360 v
+&13
+(.if)72000 640800 w
+[ /Dest /Anchor$if
+/Rect [72000 -641800 80610 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(f)83940 v
+&12
+(F)87270 v
+(anything)96710 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If)280800 v
+(\004oating\001point e)3330 1 290790 u
+(xpression)352860 v
+&12
+(F)394520 v
+&11
+(> 0, accept)3330 1 403960 u
+&12
+(anything)452630 v
+&11
+(.)487630 v
+&13
+(.if)72000 652800 w
+[ /Dest /Anchor$if
+/Rect [72000 -653800 80610 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(!f)83940 v
+&12
+(F)90600 v
+(anything)100040 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If)280800 v
+(\004oating\001point e)3330 1 290790 u
+(xpression)352860 v
+&12
+(F)394520 v
+&20
+(\131)403960 v
+&11
+(0 [sic], accept)3330 1 412780 u
+&12
+(anything)473580 v
+&11
+(.)508580 v
+&13
+(.if)72000 664800 w
+[ /Dest /Anchor$if
+/Rect [72000 -665800 80610 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\013string1\013string2\013)83940 v
+(anything)153940 v
+&11
+(\012)244800 v
+(If)280800 v
+&12
+(string1)290790 v
+&11
+(identical to)3330 1 322460 u
+&12
+(string2)371340 v
+&11
+(, accept)3330 1 399680 u
+&12
+(anything)434380 v
+&11
+(.)469380 v
+&13
+(.if)72000 676800 w
+[ /Dest /Anchor$if
+/Rect [72000 -677800 80610 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(!)83940 v
+&12
+(\013string1\013string2\013)88936 v
+(anything)158936 v
+&11
+(\012)244800 v
+(If)280800 v
+&12
+(string1)290790 v
+&11
+(not identical to)3330 1 322460 u
+&12
+(string2)387450 v
+&11
+(, accept)3330 1 415790 u
+&12
+(anything)450490 v
+&11
+(.)485490 v
+&13
+(.ie)72000 688800 w
+[ /Dest /Anchor$ie
+/Rect [72000 -689800 81720 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)85050 v
+(anything)92820 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If portion of if\001else; all abo)3330 1 280800 u
+(v)393390 v
+(e forms \(lik)3330 1 398240 u
+(e)446460 v
+&13
+(if)454230 v
+&11
+(\).)460340 v
+&13
+(.el)72000 700800 w
+[ /Dest /Anchor$el
+/Rect [72000 -701800 81720 -692800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(anything)85050 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Else portion of if\001else.)3330 1 280800 u
+&13
+(.while)72000 712800 w
+[ /Dest /Anchor$while
+/Rect [72000 -713800 97280 -704800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)100610 v
+(anything)108380 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute)291760 v
+&12
+(anything)316190 v
+&11
+(while)354520 v
+&12
+(c)380070 v
+&11
+(\(lik)387840 v
+(e)401630 v
+&13
+(if)409400 v
+&11
+(\) is true.)3330 1 415510 u
+&13
+(.br)72000 724800 w
+(eak)84320 v
+[ /Dest /Anchor$break
+/Rect [72000 -725800 99320 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(n)102650 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Break out of)3330 1 280800 u
+&12
+(n)335780 v
+&11
+(nested)344110 v
+&13
+(while)372990 v
+&11
+(loops.)399100 v
+(\001)294340 760800 w
+(11)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 11 11
+%%Page: 12 12
+save
+mark
+12 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+(.continue)72000 120000 w
+[ /Dest /Anchor$continue
+/Rect [72000 -121000 111170 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(n)114500 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Continue at the)3330 1 280800 u
+&12
+(n)346900 v
+&11
+(\001th nested)3330 1 351900 u
+&13
+(while)395220 v
+&11
+(loop.)421330 v
+&13
+(17. En)6660 1 72000 136800 t
+(vir)102990 v
+(onment Switching)3330 1 115030 u
+(.)192660 v
+[ /Dest /Anchor$s$5fenv
+/Rect [72000 -137800 201820 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$21
+ /View [/XYZ -4 667.2 0]
+/DEST pdfmark
+(.e)72000 153600 w
+(v)78790 v
+[ /Dest /Anchor$ev
+/Rect [72000 -154600 83790 -145600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)87120 v
+(name)129600 v
+&20
+(\010)151260 v
+&11
+(0)156750 v
+(pre)187200 v
+(vious)199720 v
+(\012)244800 v
+(En)280800 v
+(vironment switched \()3330 1 291510 u
+&12
+(push down)3330 1 378160 u
+&11
+(\).)422050 v
+&13
+(.e)72000 165600 w
+(vc)78790 v
+[ /Dest /Anchor$evc
+/Rect [72000 -166600 88230 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)91560 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Cop)280800 v
+(y en)3330 1 297370 u
+(vironment)314740 v
+&12
+(name)359180 v
+&11
+(to the current en)3330 1 384170 u
+(vironment.)451520 v
+&13
+( fr)3330(18. Insertions)6660 2 72000 182400 t
+(om the Standard Input)3330 1 144860 u
+[ /Dest /Anchor$s$5fstdin
+/Rect [72000 -183400 248750 -174400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$22
+ /View [/XYZ -4 621.6 0]
+/DEST pdfmark
+(.rd)72000 199200 w
+[ /Dest /Anchor$rd
+/Rect [72000 -200200 84500 -191200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(pr)87830 v
+(ompt)96270 v
+&11
+(\012)129600 v
+&12
+(pr)187200 v
+(ompt=)195640 v
+9 @11 f
+(BEL)222390 v
+10 s
+(\012)244800 v
+(Read insertion.)3330 1 280800 u
+&13
+(.ex)72000 211200 w
+[ /Dest /Anchor$ex
+/Rect [72000 -212200 83940 -203200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Exit from)3330 1 280800 u
+&12
+(nr)323570 v
+(of)332010 v
+(f)339610 v
+&11
+(/)342390 v
+&12
+(tr)345170 v
+(of)351390 v
+(f)358990 v
+(.)361620 v
+&13
+( File Switching)3330(19. Input/Output)6660 2 72000 228000 t
+[ /Dest /Anchor$s$5fio
+/Rect [72000 -229000 217290 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$23
+ /View [/XYZ -4 576 0]
+/DEST pdfmark
+(.so)72000 244800 w
+[ /Dest /Anchor$so
+/Rect [72000 -245800 83390 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\003lename)86720 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Switch source)3330 1 280800 u
+(\003le)341340 v
+&12
+(\(push down\))3330 1 357450 u
+&11
+(.)408000 v
+&13
+(.pso)72000 256800 w
+[ /Dest /Anchor$pso
+/Rect [72000 -257800 88950 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)92280 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute)291760 v
+&12
+(string)316190 v
+&11
+(and read its output.)3330 1 342860 u
+&13
+(.nx)72000 268800 w
+[ /Dest /Anchor$nx
+/Rect [72000 -269800 85060 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\003lename)88390 v
+&11
+(end\001of\001\003le)187200 v
+(\012)244800 v
+(Ne)280800 v
+(xt)292310 v
+(\003le.)303420 v
+&13
+(.sy)72000 280800 w
+[ /Dest /Anchor$sy
+/Rect [72000 -281800 83390 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)86720 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute program)3330 1 291760 u
+&12
+(string)353400 v
+&11
+(. Output not interpolated.)3330 1 376740 u
+&13
+(.pi)72000 292800 w
+[ /Dest /Anchor$pi
+/Rect [72000 -293800 82840 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)86170 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Pipe output to program)3330 1 280800 u
+&12
+(string)379120 v
+&11
+(.)402460 v
+&13
+(.cf)72000 304800 w
+[ /Dest /Anchor$cf
+/Rect [72000 -305800 82270 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\003lename)85600 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Cop)280800 v
+(y)297370 v
+(\003le contents to)3330 1 305700 u
+&12
+(tr)369580 v
+(of)375800 v
+(f)383400 v
+&11
+(output.)389510 v
+&13
+(.open)72000 316800 w
+[ /Dest /Anchor$open
+/Rect [72000 -317800 95060 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)98390 v
+(eam)108580 v
+(\003lename)128570 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Open)280800 v
+&12
+(\003lename)305790 v
+&11
+(as)343000 v
+&12
+(str)354660 v
+(eam)364850 v
+&11
+(, truncating.)3330 1 381510 u
+&13
+(.opena)72000 328800 w
+[ /Dest /Anchor$opena
+/Rect [72000 -329800 100060 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)103390 v
+(eam)113580 v
+(\003lename)133570 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Open)280800 v
+&12
+(\003lename)305790 v
+&11
+(as)343000 v
+&12
+(str)354660 v
+(eam)364850 v
+&11
+(, appending.)3330 1 381510 u
+&13
+(.write)72000 340800 w
+[ /Dest /Anchor$write
+/Rect [72000 -341800 96710 -332800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)100040 v
+(eam)110230 v
+(te)130220 v
+(xt)137240 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write)280800 v
+&12
+(te)306900 v
+(xt)313920 v
+&11
+(to)324470 v
+(\003le)335580 v
+&12
+(str)351690 v
+(eam)361880 v
+&11
+(.)378540 v
+&13
+(.writec)72000 352800 w
+[ /Dest /Anchor$writec
+/Rect [72000 -353800 101150 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)104480 v
+(eam)114670 v
+(te)134660 v
+(xt)141680 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write)280800 v
+&12
+(te)306900 v
+(xt)313920 v
+&11
+(without terminating ne)3330 1 324470 u
+(wline.)416990 v
+&13
+(.writem)72000 364800 w
+[ /Dest /Anchor$writem
+/Rect [72000 -365800 105040 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)108370 v
+(eam)118560 v
+(xx)138550 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write contents of string, macro, or di)3330 1 280800 u
+(v)433840 v
+(ersion)438690 v
+&12
+(xx)466460 v
+&11
+(.)475340 v
+&13
+(.close)72000 376800 w
+[ /Dest /Anchor$close
+/Rect [72000 -377800 95050 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(str)98380 v
+(eam)108570 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Close the)3330 1 280800 u
+(\003le)322460 v
+&12
+(str)338570 v
+(eam)348760 v
+&11
+(.)365420 v
+&13
+(20. Miscellaneous)6660 1 72000 393600 t
+[ /Dest /Anchor$s$5fmisc
+/Rect [72000 -394600 154490 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$24
+ /View [/XYZ -4 410.4 0]
+/DEST pdfmark
+(.mc)72000 410400 w
+[ /Dest /Anchor$mc
+/Rect [72000 -411400 87270 -402400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(c)90600 v
+(N)98370 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Set mar)3330 1 280800 u
+(gin character)3330 1 312280 u
+&12
+(c)368360 v
+&11
+(and separation)3330 1 376130 u
+&12
+(N)438330 v
+&11
+(.)445000 v
+&13
+(.lpfx)72000 422400 w
+[ /Dest /Anchor$lpfx
+/Rect [72000 -423400 91170 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)94500 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set line pre\003x to)3330 1 280800 u
+&12
+(string)353010 v
+&11
+(.)376350 v
+&13
+(.tm)72000 434400 w
+[ /Dest /Anchor$tm
+/Rect [72000 -435400 86160 -426400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)89490 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Print)280800 v
+&12
+(string)303580 v
+&11
+(on terminal \(standard error\).)3330 1 330250 u
+&13
+(.tmc)72000 446400 w
+[ /Dest /Anchor$tmc
+/Rect [72000 -447400 90600 -438400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)93930 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Print)280800 v
+&12
+(string)303580 v
+&11
+(without ne)3330 1 330250 u
+(wline on terminal.)3330 1 373330 u
+&13
+(.nop)72000 458400 w
+[ /Dest /Anchor$nop
+/Rect [72000 -459400 90620 -450400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(r)93950 v
+(emainder of line)3330 1 97470 u
+&11
+(\012)187200 v
+(\012)244800 v
+(Use)280800 v
+&12
+(r)299680 v
+(emainder of line)3330 1 303200 u
+&11
+(as input.)3330 1 373740 u
+&13
+(.chomp)72000 470400 w
+[ /Dest /Anchor$chomp
+/Rect [72000 -471400 103390 -462400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(r)106720 v
+(emainder of line)3330 1 110240 u
+&11
+(\012)187200 v
+(\012)244800 v
+(Use)280800 v
+&12
+(r)299680 v
+(emainder of line without ne)3330 1 303200 u
+(wline)416370 v
+&11
+(as input.)3330 1 441370 u
+&13
+(.ab)72000 482400 w
+[ /Dest /Anchor$ab
+/Rect [72000 -483400 85060 -474400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)88390 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Print)280800 v
+&12
+(string)303580 v
+&11
+(on standard error)3330 1 330250 u
+(, e)3330 1 399820 u
+(xit program.)3330 1 409940 u
+&13
+(.ig)72000 494400 w
+[ /Dest /Anchor$ig
+/Rect [72000 -495400 82280 -486400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(yy)85610 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(Ignore till call of)3330 1 280800 u
+&12
+(yy)354110 v
+&11
+(.)362990 v
+&13
+(.lf)72000 506400 w
+[ /Dest /Anchor$lf
+/Rect [72000 -507400 80610 -498400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)83940 v
+(f)93940 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Set input line number to)3330 1 280800 u
+&12
+(N)384120 v
+&11
+(and)394120 v
+(\003lename to)3330 1 411890 u
+&12
+(f)460770 v
+&11
+(.)463550 v
+&13
+(.pm)72000 518400 w
+[ /Dest /Anchor$pm
+/Rect [72000 -519400 88390 -510400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(t)91720 v
+&11
+(\012)129600 v
+(all)187200 v
+(\012)244800 v
+(Print macro names and sizes;)3330 1 280800 u
+(if)280800 530400 w
+&12
+(t)290240 v
+&11
+(present, print only total of sizes.)3330 1 296350 u
+&13
+(.fl)72000 542400 w
+[ /Dest /Anchor$fl
+/Rect [72000 -543400 80610 -534400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Flush output b)3330 1 280800 u
+(uf)340050 v
+(fer)348130 v
+(.)358680 v
+&13
+( and Err)3330(21. Output)6660 2 72000 559200 t
+(or Messages, Deb)3330 1 160430 u
+(ugging)236040 v
+[ /Dest /Anchor$s$5ferr
+/Rect [72000 -560200 268270 -551200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$25
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+(.war)72000 576000 w
+(n)91010 v
+[ /Dest /Anchor$warn
+/Rect [72000 -577000 96570 -568000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\143)99900 v
+&12
+(bits\023)105390 v
+(name)123423 v
+(w)187200 v
+&11
+(\012)244800 v
+(Control w)3330 1 280800 u
+(arning messages.)3330 1 321810 u
+&13
+(.spr)72000 588000 w
+(ead)88210 v
+(war)103060 v
+(n)119570 v
+[ /Dest /Anchor$spreadwarn
+/Rect [72000 -589000 125130 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)128460 v
+&11
+(toggle)187200 v
+&13
+(m)244800 v
+&11
+(Spread limit w)3330 1 280800 u
+(arning.)341250 v
+&13
+(.err)72000 600000 w
+(print)87720 v
+[ /Dest /Anchor$errprint
+/Rect [72000 -601000 109390 -592000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(string)112720 v
+&11
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Print)280800 v
+&12
+(string)303580 v
+&11
+(lik)330250 v
+(e an error message.)3330 1 340710 u
+&13
+(.watch)72000 612000 w
+[ /Dest /Anchor$watch
+/Rect [72000 -613000 100050 -604000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)103380 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Notify on change of string or macro)3330 1 280800 u
+&12
+(xx)432970 v
+&11
+(.)441850 v
+&13
+(.unwatch)72000 624000 w
+[ /Dest /Anchor$unwatch
+/Rect [72000 -625000 111170 -616000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(xx)114500 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Disable noti\003cation for string or macro)3330 1 280800 u
+&12
+(xx)444650 v
+&11
+(.)453530 v
+&13
+(.watchlength)72000 636000 w
+[ /Dest /Anchor$watchlength
+/Rect [72000 -637000 126720 -628000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)130050 v
+&11
+(ignore)187200 v
+(\012)244800 v
+(On change, report contents up to length)3330 1 280800 u
+&12
+(N)447140 v
+&11
+(.)453810 v
+&13
+(.watchn)72000 648000 w
+[ /Dest /Anchor$watchn
+/Rect [72000 -649000 105610 -640000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)108940 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Notify on change of re)3330 1 280800 u
+(gister)374500 v
+&12
+(R)400050 v
+&11
+(.)406160 v
+&13
+(.unwatchn)72000 660000 w
+[ /Dest /Anchor$unwatchn
+/Rect [72000 -661000 116730 -652000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(R)120060 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Disable noti\003cation for re)3330 1 280800 u
+(gister)386180 v
+&12
+(R)411730 v
+&11
+(.)417840 v
+&13
+( Support)3330(22. Color)6660 2 72000 676800 t
+[ /Dest /Anchor$s$5fcolor
+/Rect [72000 -677800 157270 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$26
+ /View [/XYZ -4 127.2 0]
+/DEST pdfmark
+(.CL)72000 693600 w
+[ /Dest /Anchor$CL
+/Rect [72000 -694600 88390 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(color)91720 v
+(te)116160 v
+(xt)123180 v
+9 @11 f
+(RGB)187200 v
+10 s
+(black)209034 v
+(\012)244800 v
+(Print)280800 v
+&12
+(te)303580 v
+(xt)310600 v
+&11
+(in)321150 v
+&12
+(color)332260 v
+&11
+(.*)353370 v
+(\001)294340 760800 w
+(12)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 12 12
+%%Page: 13 13
+save
+mark
+13 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+&13
+(23. Pictur)6660 1 72000 120000 t
+(e Inclusion)3330 1 117640 u
+[ /Dest /Anchor$s$5fpics
+/Rect [72000 -121000 168200 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$27
+ /View [/XYZ -4 684 0]
+/DEST pdfmark
+(.psb)72000 136800 w
+(b)89410 v
+[ /Dest /Anchor$psbb
+/Rect [72000 -137800 94970 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(\003lename)98300 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Read the PostScript bounding box from)3330 1 280800 u
+&12
+(\003lename)446890 v
+&11
+(.)480770 v
+&13
+(.BP)72000 148800 w
+[ /Dest /Anchor$BP
+/Rect [72000 -149800 87280 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(sour)90610 v
+(ce)108020 v
+(height)120230 v
+(width)148560 v
+(position)174120 v
+(of)209680 v
+(fset)217280 v
+(\004a)234500 v
+(gs)244400 v
+(label)256620 v
+&11
+(De\003ne a frame and place a picture in it.*)3330 1 280800 u
+&13
+(.EP)72000 160800 w
+[ /Dest /Anchor$EP
+/Rect [72000 -161800 87280 -152800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(End a picture started by)3330 1 280800 u
+&13
+(.BP)382430 v
+&11
+(.*)397710 v
+&13
+(.PI)72000 172800 w
+[ /Dest /Anchor$PI
+/Rect [72000 -173800 84500 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(sour)87830 v
+(ce)105240 v
+(height)117450 v
+&13
+(,)142450 v
+&12
+(width)144950 v
+&13
+(,)167180 v
+&12
+(yof)169680 v
+(fset)181720 v
+&13
+(,)195610 v
+&12
+(xof)198110 v
+(fset)210150 v
+(\004a)227370 v
+(gs)237270 v
+&11
+(Lo)280800 v
+(w\001le)291660 v
+(v)309180 v
+(el picture inclusion.*)3330 1 314030 u
+&13
+( F)3330(24. Special)6660 2 72000 189600 t
+(eatur)130910 v
+(es f)3330 1 153500 u
+(or)168240 v
+9 s
+(PDF)181010 v
+10 s
+(Documents)201836 v
+[ /Dest /Anchor$s$5fpdf
+/Rect [72000 -190600 252936 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$28
+ /View [/XYZ -4 614.4 0]
+/DEST pdfmark
+(25.)72000 206400 w
+&14
+(grof)91160 v
+(f)108200 v
+&13
+(Compatibility)114860 v
+[ /Dest /Anchor$s$5fgroff
+/Rect [72000 -207400 177640 -198400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$29
+ /View [/XYZ -4 597.6 0]
+/DEST pdfmark
+(.cp)72000 223200 w
+[ /Dest /Anchor$cp
+/Rect [72000 -224200 84500 -215200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)87830 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(\012)244800 v
+(Enable)280800 v
+&12
+(gr)311900 v
+(of)320340 v
+(f)327940 v
+&11
+(compatibility mode.)3330 1 334050 u
+&13
+(.mso)72000 235200 w
+[ /Dest /Anchor$mso
+/Rect [72000 -236200 91720 -227200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(name)95050 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Include the macro package)3330 1 280800 u
+&12
+(name)394080 v
+&11
+(.*)415740 v
+&13
+( Language)3330(26. Output)6660 2 72000 252000 t
+[ /Dest /Anchor$s$5foutput
+/Rect [72000 -253000 171170 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$30
+ /View [/XYZ -4 552 0]
+/DEST pdfmark
+(27. De)6660 1 72000 268800 t
+(vice and F)3330 1 102670 u
+(ont Description Files)3330 1 147970 u
+[ /Dest /Anchor$s$5fdevice
+/Rect [72000 -269800 241290 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Bookmark$31
+ /View [/XYZ -4 535.2 0]
+/DEST pdfmark
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 705000 w
+&20
+(\005)72000 718000 w
+&11
+(De\003ned as a macro in an e)2664 1 77333 u
+(xternal package; refer to the detailed description on ho)2664 1 166061 u
+(w to include it.)2664 1 345797 u
+10 s
+(\001)294340 760800 w
+(13)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 13 13
+%%Page: 14 14
+save
+mark
+14 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+8 @13 f
+(Alphabetical Request and Section Number Cr)2664 1 72000 82000 t
+(oss Refer)2664 1 231840 u
+(ence)263680 v
+[ /Dest /Bookmark$32
+ /View [/XYZ -4 722 0]
+/DEST pdfmark
+&11
+(ab)72000 95000 w
+[ /Dest /Anchor$ab
+/Rect [72000 -96000 79552 -87000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................20)80000 v
+(ad)72000 105000 w
+[ /Dest /Anchor$ad
+/Rect [72000 -106000 79552 -97000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................4)80000 v
+(af)72000 115000 w
+[ /Dest /Anchor$af
+/Rect [72000 -116000 78216 -107000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................8)80000 v
+(aln)72000 125000 w
+[ /Dest /Anchor$aln
+/Rect [72000 -126000 81776 -117000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................8)82000 v
+(als)72000 135000 w
+[ /Dest /Anchor$als
+/Rect [72000 -136000 80888 -127000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)82000 v
+(am)72000 145000 w
+[ /Dest /Anchor$am
+/Rect [72000 -146000 81776 -137000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)82000 v
+(as)72000 155000 w
+[ /Dest /Anchor$as
+/Rect [72000 -156000 78664 -147000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)80000 v
+(asciify)72000 165000 w
+[ /Dest /Anchor$asciify
+/Rect [72000 -166000 93328 -157000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................7)94000 v
+(bd)72000 175000 w
+[ /Dest /Anchor$bd
+/Rect [72000 -176000 80000 -167000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................2)80000 v
+(bleedat)72000 185000 w
+[ /Dest /Anchor$bleedat
+/Rect [72000 -186000 95104 -177000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................3)96000 v
+(blm)72000 195000 w
+[ /Dest /Anchor$blm
+/Rect [72000 -196000 84448 -187000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................7)86000 v
+(box)72000 205000 w
+[ /Dest /Anchor$box
+/Rect [72000 -206000 84000 -197000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................7)84000 v
+(boxa)72000 215000 w
+[ /Dest /Anchor$boxa
+/Rect [72000 -216000 87552 -207000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................7)88000 v
+(bp)72000 225000 w
+[ /Dest /Anchor$bp
+/Rect [72000 -226000 80000 -217000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................3)80000 v
+(BP)72000 235000 w
+[ /Dest /Anchor$BP
+/Rect [72000 -236000 81784 -227000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................23)82000 v
+(br)72000 245000 w
+[ /Dest /Anchor$br
+/Rect [72000 -246000 78664 -237000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................4)80000 v
+(break)72000 255000 w
+[ /Dest /Anchor$break
+/Rect [72000 -256000 89768 -247000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................16)90000 v
+(breakchar)72000 265000 w
+[ /Dest /Anchor$breakchar
+/Rect [72000 -266000 103536 -257000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..........13)104000 v
+(brnl)72000 275000 w
+[ /Dest /Anchor$brnl
+/Rect [72000 -276000 84888 -267000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................4)86000 v
+(brp)72000 285000 w
+[ /Dest /Anchor$brp
+/Rect [72000 -286000 82664 -277000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................4)84000 v
+(brpnl)72000 295000 w
+[ /Dest /Anchor$brpnl
+/Rect [72000 -296000 88888 -287000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................4)90000 v
+(c2)72000 305000 w
+[ /Dest /Anchor$c2
+/Rect [72000 -306000 79552 -297000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)80000 v
+(cc)72000 315000 w
+[ /Dest /Anchor$cc
+/Rect [72000 -316000 79104 -307000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)80000 v
+(ce)72000 325000 w
+[ /Dest /Anchor$ce
+/Rect [72000 -326000 79104 -317000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................4)80000 v
+(cf)72000 335000 w
+[ /Dest /Anchor$cf
+/Rect [72000 -336000 78216 -327000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................19)80000 v
+(ch)72000 345000 w
+[ /Dest /Anchor$ch
+/Rect [72000 -346000 79552 -337000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)80000 v
+(char)72000 355000 w
+[ /Dest /Anchor$char
+/Rect [72000 -356000 85768 -347000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................10)86000 v
+(chomp)72000 365000 w
+[ /Dest /Anchor$chomp
+/Rect [72000 -366000 93776 -357000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...............20)94000 v
+(chop)72000 375000 w
+[ /Dest /Anchor$chop
+/Rect [72000 -376000 87552 -367000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................7)88000 v
+(close)72000 385000 w
+[ /Dest /Anchor$close
+/Rect [72000 -386000 88440 -377000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................19)90000 v
+(CL)72000 395000 w
+[ /Dest /Anchor$CL
+/Rect [72000 -396000 82224 -387000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................22)84000 v
+(connectchar)72000 405000 w
+[ /Dest /Anchor$connectchar
+/Rect [72000 -406000 110648 -397000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......12)112000 v
+(continue)72000 415000 w
+[ /Dest /Anchor$continue
+/Rect [72000 -416000 99552 -407000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(............16)100000 v
+(cp)72000 425000 w
+[ /Dest /Anchor$cp
+/Rect [72000 -426000 79552 -417000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................25)80000 v
+(cropat)72000 435000 w
+[ /Dest /Anchor$cropat
+/Rect [72000 -436000 91992 -427000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................3)92000 v
+(cs)72000 445000 w
+[ /Dest /Anchor$cs
+/Rect [72000 -446000 78664 -437000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................2)80000 v
+(cu)72000 455000 w
+[ /Dest /Anchor$cu
+/Rect [72000 -456000 79552 -447000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)80000 v
+(da)72000 465000 w
+[ /Dest /Anchor$da
+/Rect [72000 -466000 79552 -457000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)80000 v
+(dch)72000 475000 w
+[ /Dest /Anchor$dch
+/Rect [72000 -476000 83552 -467000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................7)84000 v
+(de)174000 95000 w
+[ /Dest /Anchor$de
+/Rect [174000 -96000 181552 -87000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)182000 v
+(di)174000 105000 w
+[ /Dest /Anchor$di
+/Rect [174000 -106000 180224 -97000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)182000 v
+(do)174000 115000 w
+[ /Dest /Anchor$do
+/Rect [174000 -116000 182000 -107000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................1)182000 v
+(ds)174000 125000 w
+[ /Dest /Anchor$ds
+/Rect [174000 -126000 181112 -117000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)182000 v
+(dwh)174000 135000 w
+[ /Dest /Anchor$dwh
+/Rect [174000 -136000 187776 -127000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................7)188000 v
+(dt)174000 145000 w
+[ /Dest /Anchor$dt
+/Rect [174000 -146000 180224 -137000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)182000 v
+(ec)174000 155000 w
+[ /Dest /Anchor$ec
+/Rect [174000 -156000 181104 -147000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)182000 v
+(ecs)174000 165000 w
+[ /Dest /Anchor$ecs
+/Rect [174000 -166000 184216 -157000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................10)186000 v
+(ecr)174000 175000 w
+[ /Dest /Anchor$ecr
+/Rect [174000 -176000 183768 -167000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................10)184000 v
+(el)174000 185000 w
+[ /Dest /Anchor$el
+/Rect [174000 -186000 179776 -177000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................16)180000 v
+(em)174000 195000 w
+[ /Dest /Anchor$em
+/Rect [174000 -196000 183776 -187000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)184000 v
+(eo)174000 205000 w
+[ /Dest /Anchor$eo
+/Rect [174000 -206000 181552 -197000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)182000 v
+(EP)174000 215000 w
+[ /Dest /Anchor$EP
+/Rect [174000 -216000 183336 -207000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................23)184000 v
+(errprint)174000 225000 w
+[ /Dest /Anchor$errprint
+/Rect [174000 -226000 197992 -217000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............21)198000 v
+(escof)174000 235000 w
+(f)190680 v
+[ /Dest /Anchor$escoff
+/Rect [174000 -236000 193344 -227000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................10)194000 v
+(escon)174000 245000 w
+[ /Dest /Anchor$escon
+/Rect [174000 -246000 192216 -237000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................10)194000 v
+(e)174000 255000 w
+(v)177352 v
+[ /Dest /Anchor$ev
+/Rect [174000 -256000 181352 -247000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................17)182000 v
+(e)174000 265000 w
+(vc)177352 v
+[ /Dest /Anchor$evc
+/Rect [174000 -266000 184904 -257000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................17)186000 v
+(e)174000 275000 w
+(x)177432 v
+[ /Dest /Anchor$ex
+/Rect [174000 -276000 181432 -267000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................18)182000 v
+(f)174000 285000 w
+(allback)176584 v
+[ /Dest /Anchor$fallback
+/Rect [174000 -286000 199688 -277000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...............2)200000 v
+(fc)174000 295000 w
+[ /Dest /Anchor$fc
+/Rect [174000 -296000 180216 -287000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................9)182000 v
+(fchar)174000 305000 w
+[ /Dest /Anchor$fchar
+/Rect [174000 -306000 190432 -297000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................10)192000 v
+(fdeferlig)174000 315000 w
+[ /Dest /Anchor$fdeferlig
+/Rect [174000 -316000 201544 -307000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(............10)202000 v
+(feature)174000 325000 w
+[ /Dest /Anchor$feature
+/Rect [174000 -326000 196208 -317000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................2)198000 v
+(\003)174000 335000 w
+[ /Dest /Anchor$fi
+/Rect [174000 -336000 178448 -327000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................4)180000 v
+(fk)174000 345000 w
+(ern)180584 v
+[ /Dest /Anchor$fkern
+/Rect [174000 -346000 190800 -337000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................4)192000 v
+(\004)174000 355000 w
+[ /Dest /Anchor$fl
+/Rect [174000 -356000 178448 -347000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................20)180000 v
+(\004ig)174000 365000 w
+[ /Dest /Anchor$flig
+/Rect [174000 -366000 184672 -357000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................10)186000 v
+(fp)174000 375000 w
+[ /Dest /Anchor$fp
+/Rect [174000 -376000 180664 -367000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................2)182000 v
+(fps)174000 385000 w
+[ /Dest /Anchor$fps
+/Rect [174000 -386000 183776 -377000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................2)184000 v
+(fspace)174000 395000 w
+(width)194232 v
+[ /Dest /Anchor$fspacewidth
+/Rect [174000 -396000 212456 -387000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........2)214000 v
+(ft)174000 405000 w
+[ /Dest /Anchor$ft
+/Rect [174000 -406000 178888 -397000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................2)180000 v
+(fzoom)174000 415000 w
+[ /Dest /Anchor$fzoom
+/Rect [174000 -416000 194440 -407000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................2)196000 v
+(hc)174000 425000 w
+[ /Dest /Anchor$hc
+/Rect [174000 -426000 181552 -417000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................13)182000 v
+(hcode)174000 435000 w
+[ /Dest /Anchor$hcode
+/Rect [174000 -436000 193104 -427000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................13)194000 v
+(hidechar)174000 445000 w
+[ /Dest /Anchor$hidechar
+/Rect [174000 -446000 201544 -437000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............2)202000 v
+(hlm)174000 455000 w
+[ /Dest /Anchor$hlm
+/Rect [174000 -456000 186448 -447000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................13)188000 v
+(hw)174000 465000 w
+[ /Dest /Anchor$hw
+/Rect [174000 -466000 183776 -457000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................13)184000 v
+(h)174000 475000 w
+(y)177960 v
+[ /Dest /Anchor$hy
+/Rect [174000 -476000 181960 -467000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................13)182000 v
+(h)276000 95000 w
+(ylang)279960 v
+[ /Dest /Anchor$hylang
+/Rect [276000 -96000 297736 -87000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...............13)298000 v
+(h)276000 105000 w
+(ylen)279960 v
+[ /Dest /Anchor$hylen
+/Rect [276000 -106000 293736 -97000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................13)294000 v
+(h)276000 115000 w
+(ypp)279960 v
+[ /Dest /Anchor$hypp
+/Rect [276000 -116000 291960 -107000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................13)292000 v
+(ie)276000 125000 w
+[ /Dest /Anchor$ie
+/Rect [276000 -126000 281776 -117000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................16)282000 v
+(if)276000 135000 w
+[ /Dest /Anchor$if
+/Rect [276000 -136000 280888 -127000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................16)282000 v
+(ig)276000 145000 w
+[ /Dest /Anchor$ig
+/Rect [276000 -146000 282224 -137000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................20)284000 v
+(in)276000 155000 w
+[ /Dest /Anchor$in
+/Rect [276000 -156000 282224 -147000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................6)284000 v
+(inde)276000 165000 w
+(x)289656 v
+[ /Dest /Anchor$index
+/Rect [276000 -166000 293656 -157000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................7)294000 v
+(it)276000 175000 w
+[ /Dest /Anchor$it
+/Rect [276000 -176000 280448 -167000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................7)282000 v
+(itc)276000 185000 w
+[ /Dest /Anchor$itc
+/Rect [276000 -186000 284000 -177000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)284000 v
+(k)276000 195000 w
+(ern)279920 v
+[ /Dest /Anchor$kern
+/Rect [276000 -196000 290136 -187000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................4)292000 v
+(k)276000 205000 w
+(ernafter)279920 v
+[ /Dest /Anchor$kernafter
+/Rect [276000 -206000 304792 -197000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.............4)306000 v
+(k)276000 215000 w
+(ernbefore)279920 v
+[ /Dest /Anchor$kernbefore
+/Rect [276000 -216000 310568 -207000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..........4)312000 v
+(k)276000 225000 w
+(ernpair)279920 v
+[ /Dest /Anchor$kernpair
+/Rect [276000 -226000 302576 -217000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............4)304000 v
+(lc)276000 235000 w
+[ /Dest /Anchor$lc
+/Rect [276000 -236000 281776 -227000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................9)282000 v
+(lc_ctype)276000 245000 w
+[ /Dest /Anchor$lc$5fctype
+/Rect [276000 -246000 303104 -237000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............2)304000 v
+(lds)276000 255000 w
+[ /Dest /Anchor$lds
+/Rect [276000 -256000 285336 -247000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)286000 v
+(length)276000 265000 w
+[ /Dest /Anchor$length
+/Rect [276000 -266000 296000 -257000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................7)296000 v
+(letadj)276000 275000 w
+[ /Dest /Anchor$letadj
+/Rect [276000 -276000 293776 -267000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................4)294000 v
+(lf)276000 285000 w
+[ /Dest /Anchor$lf
+/Rect [276000 -286000 280888 -277000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................20)282000 v
+(lg)276000 295000 w
+[ /Dest /Anchor$lg
+/Rect [276000 -296000 282224 -287000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)284000 v
+(lhang)276000 305000 w
+[ /Dest /Anchor$lhang
+/Rect [276000 -306000 293776 -297000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................4)294000 v
+(li)276000 315000 w
+[ /Dest /Anchor$li
+/Rect [276000 -316000 280448 -307000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................10)282000 v
+(ll)276000 325000 w
+[ /Dest /Anchor$ll
+/Rect [276000 -326000 280448 -317000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................6)282000 v
+(lnr)276000 335000 w
+[ /Dest /Anchor$lnr
+/Rect [276000 -336000 284888 -327000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................8)286000 v
+(lnrf)276000 345000 w
+[ /Dest /Anchor$lnrf
+/Rect [276000 -346000 287552 -337000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................8)288000 v
+(lpfx)276000 355000 w
+[ /Dest /Anchor$lpfx
+/Rect [276000 -356000 288888 -347000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................20)290000 v
+(ls)276000 365000 w
+[ /Dest /Anchor$ls
+/Rect [276000 -366000 281336 -357000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................5)282000 v
+(lsm)276000 375000 w
+[ /Dest /Anchor$lsm
+/Rect [276000 -376000 287560 -367000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................4)288000 v
+(lt)276000 385000 w
+[ /Dest /Anchor$lt
+/Rect [276000 -386000 280448 -377000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................14)282000 v
+(mc)276000 395000 w
+[ /Dest /Anchor$mc
+/Rect [276000 -396000 285776 -387000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................20)286000 v
+(mediasize)276000 405000 w
+[ /Dest /Anchor$mediasize
+/Rect [276000 -406000 307992 -397000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(............3)308000 v
+(minss)276000 415000 w
+[ /Dest /Anchor$minss
+/Rect [276000 -416000 294672 -407000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................4)296000 v
+(mk)276000 425000 w
+[ /Dest /Anchor$mk
+/Rect [276000 -426000 286224 -417000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................3)288000 v
+(mso)276000 435000 w
+[ /Dest /Anchor$mso
+/Rect [276000 -436000 289336 -427000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...................25)290000 v
+(na)276000 445000 w
+[ /Dest /Anchor$na
+/Rect [276000 -446000 283552 -437000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................4)284000 v
+(ne)276000 455000 w
+[ /Dest /Anchor$ne
+/Rect [276000 -456000 283552 -447000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................3)284000 v
+(nf)276000 465000 w
+[ /Dest /Anchor$nf
+/Rect [276000 -466000 282664 -457000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................4)284000 v
+(nh)276000 475000 w
+[ /Dest /Anchor$nh
+/Rect [276000 -476000 284000 -467000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................13)284000 v
+(nh)378000 95000 w
+(ychar)385960 v
+[ /Dest /Anchor$nhychar
+/Rect [378000 -96000 403728 -87000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.............13)404000 v
+(nm)378000 105000 w
+[ /Dest /Anchor$nm
+/Rect [378000 -106000 388224 -97000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................15)390000 v
+(nn)378000 115000 w
+[ /Dest /Anchor$nn
+/Rect [378000 -116000 386000 -107000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................15)386000 v
+(nop)378000 125000 w
+[ /Dest /Anchor$nop
+/Rect [378000 -126000 390000 -117000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................20)390000 v
+(nr)378000 135000 w
+[ /Dest /Anchor$nr
+/Rect [378000 -136000 384664 -127000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................8)386000 v
+(nrf)378000 145000 w
+[ /Dest /Anchor$nrf
+/Rect [378000 -146000 387328 -137000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................8)388000 v
+(ns)378000 155000 w
+[ /Dest /Anchor$ns
+/Rect [378000 -156000 385112 -147000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................5)386000 v
+(nx)378000 165000 w
+[ /Dest /Anchor$nx
+/Rect [378000 -166000 386000 -157000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................19)386000 v
+(open)378000 175000 w
+[ /Dest /Anchor$open
+/Rect [378000 -176000 393552 -167000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................19)394000 v
+(opena)378000 185000 w
+[ /Dest /Anchor$opena
+/Rect [378000 -186000 397104 -177000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................19)398000 v
+(os)378000 195000 w
+[ /Dest /Anchor$os
+/Rect [378000 -196000 385112 -187000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................5)386000 v
+(output)378000 205000 w
+[ /Dest /Anchor$output
+/Rect [378000 -206000 398448 -197000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...............10)400000 v
+(padj)378000 215000 w
+[ /Dest /Anchor$padj
+/Rect [378000 -216000 391776 -207000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................4)392000 v
+(papersize)378000 225000 w
+[ /Dest /Anchor$papersize
+/Rect [378000 -226000 408208 -217000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(............3)410000 v
+(pc)378000 235000 w
+[ /Dest /Anchor$pc
+/Rect [378000 -236000 385552 -227000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................14)386000 v
+(pi)378000 245000 w
+[ /Dest /Anchor$pi
+/Rect [378000 -246000 384224 -237000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................19)386000 v
+(PI)378000 255000 w
+[ /Dest /Anchor$PI
+/Rect [378000 -256000 385112 -247000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................23)386000 v
+(pl)378000 265000 w
+[ /Dest /Anchor$pl
+/Rect [378000 -266000 384224 -257000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................3)386000 v
+(pm)378000 275000 w
+[ /Dest /Anchor$pm
+/Rect [378000 -276000 388224 -267000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................20)390000 v
+(pn)378000 285000 w
+[ /Dest /Anchor$pn
+/Rect [378000 -286000 386000 -277000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................3)386000 v
+(po)378000 295000 w
+[ /Dest /Anchor$po
+/Rect [378000 -296000 386000 -287000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................3)386000 v
+(ps)378000 305000 w
+[ /Dest /Anchor$ps
+/Rect [378000 -306000 385112 -297000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................2)386000 v
+(psbb)378000 315000 w
+[ /Dest /Anchor$psbb
+/Rect [378000 -316000 393112 -307000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................23)394000 v
+(pshape)378000 325000 w
+[ /Dest /Anchor$pshape
+/Rect [378000 -326000 400216 -317000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................6)402000 v
+(pso)378000 335000 w
+[ /Dest /Anchor$pso
+/Rect [378000 -336000 389112 -327000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................19)390000 v
+(rchar)378000 345000 w
+[ /Dest /Anchor$rchar
+/Rect [378000 -346000 394432 -337000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................10)396000 v
+(rd)378000 355000 w
+[ /Dest /Anchor$rd
+/Rect [378000 -356000 384664 -347000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................18)386000 v
+(recursionlimit)378000 365000 w
+[ /Dest /Anchor$recursionlimit
+/Rect [378000 -366000 422888 -357000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....7)424000 v
+(return)378000 375000 w
+[ /Dest /Anchor$return
+/Rect [378000 -376000 397104 -367000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................7)398000 v
+(rhang)378000 385000 w
+[ /Dest /Anchor$rhang
+/Rect [378000 -386000 396216 -377000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................4)398000 v
+(rj)378000 395000 w
+[ /Dest /Anchor$rj
+/Rect [378000 -396000 382888 -387000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................4)384000 v
+(rm)378000 405000 w
+[ /Dest /Anchor$rm
+/Rect [378000 -406000 386888 -397000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)388000 v
+(rn)378000 415000 w
+[ /Dest /Anchor$rn
+/Rect [378000 -416000 384664 -407000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................7)386000 v
+(rnn)378000 425000 w
+[ /Dest /Anchor$rnn
+/Rect [378000 -426000 388664 -417000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................8)390000 v
+(rr)378000 435000 w
+[ /Dest /Anchor$rr
+/Rect [378000 -436000 383328 -427000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................8)384000 v
+(rs)378000 445000 w
+[ /Dest /Anchor$rs
+/Rect [378000 -446000 383776 -437000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................5)384000 v
+(rt)378000 455000 w
+[ /Dest /Anchor$rt
+/Rect [378000 -456000 382888 -447000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................3)384000 v
+(sentchar)378000 465000 w
+[ /Dest /Anchor$sentchar
+/Rect [378000 -466000 404656 -457000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............4)406000 v
+(shc)378000 475000 w
+[ /Dest /Anchor$shc
+/Rect [378000 -476000 388664 -467000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................13)390000 v
+(shift)480000 95000 w
+[ /Dest /Anchor$shift
+/Rect [480000 -96000 494224 -87000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................7)496000 v
+(so)480000 105000 w
+[ /Dest /Anchor$so
+/Rect [480000 -106000 487112 -97000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................19)488000 v
+(sp)480000 115000 w
+[ /Dest /Anchor$sp
+/Rect [480000 -116000 487112 -107000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................5)488000 v
+(space)480000 125000 w
+(width)497568 v
+[ /Dest /Anchor$spacewidth
+/Rect [480000 -126000 515792 -117000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..........2)516000 v
+(spreadw)480000 135000 w
+(arn)506576 v
+[ /Dest /Anchor$spreadwarn
+/Rect [480000 -136000 516792 -127000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......21)518000 v
+(ss)480000 145000 w
+[ /Dest /Anchor$ss
+/Rect [480000 -146000 486224 -137000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................2)488000 v
+(substring)480000 155000 w
+[ /Dest /Anchor$substring
+/Rect [480000 -156000 509336 -147000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.............7)510000 v
+(sv)480000 165000 w
+[ /Dest /Anchor$sv
+/Rect [480000 -166000 487112 -157000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................5)488000 v
+(sy)480000 175000 w
+[ /Dest /Anchor$sy
+/Rect [480000 -176000 487112 -167000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................19)488000 v
+(ta)480000 185000 w
+[ /Dest /Anchor$ta
+/Rect [480000 -186000 485776 -177000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................9)486000 v
+(tc)480000 195000 w
+[ /Dest /Anchor$tc
+/Rect [480000 -196000 485776 -187000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................9)486000 v
+(ti)480000 205000 w
+[ /Dest /Anchor$ti
+/Rect [480000 -206000 484448 -197000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.........................6)486000 v
+(tl)480000 215000 w
+[ /Dest /Anchor$tl
+/Rect [480000 -216000 484448 -207000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................14)486000 v
+(tm)480000 225000 w
+[ /Dest /Anchor$tm
+/Rect [480000 -226000 488448 -217000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.....................20)490000 v
+(tr)480000 235000 w
+[ /Dest /Anchor$tr
+/Rect [480000 -236000 484888 -227000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................10)486000 v
+(track)480000 245000 w
+[ /Dest /Anchor$track
+/Rect [480000 -246000 495992 -237000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................4)496000 v
+(transchar)480000 255000 w
+[ /Dest /Anchor$transchar
+/Rect [480000 -256000 509320 -247000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.............4)510000 v
+(trimat)480000 265000 w
+[ /Dest /Anchor$trimat
+/Rect [480000 -266000 499112 -257000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................3)500000 v
+(trin)480000 275000 w
+[ /Dest /Anchor$trin
+/Rect [480000 -276000 491112 -267000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................10)492000 v
+(trnt)480000 285000 w
+[ /Dest /Anchor$trnt
+/Rect [480000 -286000 491112 -277000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................10)492000 v
+(uf)480000 295000 w
+[ /Dest /Anchor$uf
+/Rect [480000 -296000 486664 -287000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)488000 v
+(ul)480000 305000 w
+[ /Dest /Anchor$ul
+/Rect [480000 -306000 486224 -297000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................10)488000 v
+(unformat)480000 315000 w
+[ /Dest /Anchor$unformat
+/Rect [480000 -316000 509328 -307000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.............7)510000 v
+(unw)480000 325000 w
+(atch)493696 v
+[ /Dest /Anchor$unwatch
+/Rect [480000 -326000 507024 -317000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(............21)508000 v
+(unw)480000 335000 w
+(atchn)493696 v
+[ /Dest /Anchor$unwatchn
+/Rect [480000 -336000 511024 -327000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..........21)512000 v
+(utf8con)480000 345000 w
+(v)504120 v
+[ /Dest /Anchor$utf8conv
+/Rect [480000 -346000 508120 -337000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(...........10)510000 v
+(vpt)480000 355000 w
+[ /Dest /Anchor$vpt
+/Rect [480000 -356000 490224 -347000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......................7)492000 v
+(vs)480000 365000 w
+[ /Dest /Anchor$vs
+/Rect [480000 -366000 487112 -357000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(........................5)488000 v
+(w)480000 375000 w
+(arn)485696 v
+[ /Dest /Anchor$warn
+/Rect [480000 -376000 495912 -367000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..................21)496000 v
+(w)480000 385000 w
+(atch)485696 v
+[ /Dest /Anchor$watch
+/Rect [480000 -386000 499024 -377000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................21)500000 v
+(w)480000 395000 w
+(atchlength)485696 v
+[ /Dest /Anchor$watchlength
+/Rect [480000 -396000 519024 -387000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(......21)520000 v
+(w)480000 405000 w
+(atchn)485696 v
+[ /Dest /Anchor$watchn
+/Rect [480000 -406000 503024 -397000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............21)504000 v
+(wh)480000 415000 w
+[ /Dest /Anchor$wh
+/Rect [480000 -416000 489776 -407000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.......................7)490000 v
+(while)480000 425000 w
+[ /Dest /Anchor$while
+/Rect [480000 -426000 497776 -417000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................16)498000 v
+(write)480000 435000 w
+[ /Dest /Anchor$write
+/Rect [480000 -436000 496440 -427000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.................19)498000 v
+(writec)480000 445000 w
+[ /Dest /Anchor$writec
+/Rect [480000 -446000 499992 -437000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(................19)500000 v
+(writem)480000 455000 w
+[ /Dest /Anchor$writem
+/Rect [480000 -456000 502664 -447000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(..............19)504000 v
+(x\004ag)480000 465000 w
+[ /Dest /Anchor$xflag
+/Rect [480000 -466000 496000 -457000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(....................1)496000 v
+10 s
+(\001)294340 760800 w
+(14)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 14 14
+%%Page: 15 15
+save
+mark
+15 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(Escape Sequences f)3330 1 72000 84000 t
+(or Characters, Indicators, and Functions)3330 1 155630 u
+[ /Dest /Bookmark$33
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&14
+(Section)76985 100800 w
+(Escape)122530 v
+(Ref)71490 112800 w
+(erence)85830 v
+(Sequence)122530 v
+(Meaning)207770 v
+&11
+(10.1)83515 129600 w
+[ /Dest /Anchor$e$5fesc
+/Rect [83515 -130600 101015 -121600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\017)122530 v
+[ /Dest /Anchor$e$5fesc
+/Rect [122530 -130600 128090 -121600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\017 \(to pre)3330 1 207770 u
+(v)240840 v
+(ent or delay the interpretation of)3330 1 245690 u
+(\017)382310 v
+(\))386756 v
+[ /Dest /Anchor$e$5fesc
+/Rect [207770 -130600 390086 -121600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.1)88515 141600 w
+[ /Dest /Anchor$e$5facute
+/Rect [88515 -142600 101015 -133600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\013)122530 v
+[ /Dest /Anchor$e$5facute
+/Rect [122530 -142600 128640 -133600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\013 \(acute accent\); equi)3330 1 207770 u
+(v)294140 v
+(alent to)3330 1 298890 u
+&13
+(\017\(aa)332770 v
+[ /Dest /Anchor$e$5facute
+/Rect [207770 -142600 348880 -133600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.1)88515 153600 w
+[ /Dest /Anchor$e$5fgrave
+/Rect [88515 -154600 101015 -145600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\014)122530 v
+[ /Dest /Anchor$e$5fgrave
+/Rect [122530 -154600 128640 -145600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\014 \(gra)3330 1 207770 u
+(v)230330 v
+(e accent\); equi)3330 1 235180 u
+(v)294900 v
+(alent to)3330 1 299650 u
+&13
+(\017\(ga)333530 v
+[ /Dest /Anchor$e$5fgrave
+/Rect [207770 -154600 349640 -145600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.1)88515 165600 w
+[ /Dest /Anchor$e$5f$2d
+/Rect [88515 -166600 101015 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\012)122530 v
+[ /Dest /Anchor$e$5f$2d
+/Rect [122530 -166600 130310 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\012 Minus sign in the)3330 1 207770 u
+&12
+(curr)291650 v
+(ent)308500 v
+&11
+(font)324050 v
+[ /Dest /Anchor$e$5f$2d
+/Rect [207770 -166600 340160 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.4)83515 177600 w
+[ /Dest /Anchor$e$5f$5f
+/Rect [83515 -178600 101015 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017_)122530 v
+[ /Dest /Anchor$e$5f$5f
+/Rect [122530 -178600 130310 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&20
+(\044)207770 v
+&11
+(\(underrule character\); equi)3330 1 216100 u
+(v)324130 v
+(alent to)3330 1 328880 u
+&13
+(\017\(ul)362760 v
+[ /Dest /Anchor$e$5f$5f
+/Rect [207770 -178600 377210 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(7)88515 189600 w
+[ /Dest /Anchor$e$5f$2e
+/Rect [88515 -190600 93515 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+(.)126143 v
+[ /Dest /Anchor$e$5f$2e
+/Rect [122530 -190600 128643 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Period \(dot\) \(see)3330 1 207770 u
+&13
+(de)279410 v
+&11
+(\))289410 v
+[ /Dest /Anchor$e$5f$2e
+/Rect [207770 -190600 292740 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 201600 w
+[ /Dest /Anchor$e$5f$20
+/Rect [88515 -202600 101015 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+&11
+(\(space\))125310 v
+[ /Dest /Anchor$e$5f$20
+/Rect [122530 -202600 154180 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Unpaddable space\001size space character)3330 1 207770 u
+[ /Dest /Anchor$e$5f$20
+/Rect [207770 -202600 366020 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 213600 w
+[ /Dest /Anchor$e$5f$7e
+/Rect [88515 -214600 101015 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+&20
+(\127)125310 v
+[ /Dest /Anchor$e$5f$7e
+/Rect [122530 -214600 130800 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(P)207770 v
+(addable no\001break space character)3330 1 213180 u
+[ /Dest /Anchor$e$5f$7e
+/Rect [207770 -214600 348660 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 225600 w
+[ /Dest /Anchor$e$5f0
+/Rect [83515 -226600 101015 -217600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\0170)122530 v
+[ /Dest /Anchor$e$5f0
+/Rect [122530 -226600 130310 -217600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Digit width space)3330 1 207770 u
+[ /Dest /Anchor$e$5f0
+/Rect [207770 -226600 279980 -217600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 237600 w
+[ /Dest /Anchor$e$5f$7c
+/Rect [83515 -238600 101015 -229600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+(\023)126976 v
+[ /Dest /Anchor$e$5f$7c
+/Rect [122530 -238600 129176 -229600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(1/6)207770 v
+(em narro)3330 1 222216 u
+(w space character \(zero width in)3330 1 258616 u
+&12
+(nr)395766 v
+(of)404206 v
+(f)411806 v
+&11
+(\))414586 v
+[ /Dest /Anchor$e$5f$7c
+/Rect [207770 -238600 417916 -229600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 249600 w
+[ /Dest /Anchor$e$5f$5e
+/Rect [83515 -250600 101015 -241600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017^)122530 v
+[ /Dest /Anchor$e$5f$5e
+/Rect [122530 -250600 128640 -241600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(1/12)207770 v
+(em half\001narro)3330 1 227216 u
+(w space character \(zero width in)3330 1 282496 u
+&12
+(nr)419646 v
+(of)428086 v
+(f)435686 v
+&11
+(\))438466 v
+[ /Dest /Anchor$e$5f$5e
+/Rect [207770 -250600 441796 -241600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 261600 w
+[ /Dest /Anchor$e$5f$26
+/Rect [88515 -262600 101015 -253600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017&)122530 v
+[ /Dest /Anchor$e$5f$26
+/Rect [122530 -262600 133640 -253600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Non\001printing, zero width character)3330 1 207770 u
+[ /Dest /Anchor$e$5f$26
+/Rect [207770 -262600 349110 -253600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 273600 w
+[ /Dest /Anchor$e$5f$29
+/Rect [88515 -274600 101015 -265600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\))122530 v
+[ /Dest /Anchor$e$5f$29
+/Rect [122530 -274600 128640 -265600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(T)207770 v
+(ransparent non\001printing zero width character)3330 1 213530 u
+[ /Dest /Anchor$e$5f$29
+/Rect [207770 -274600 395130 -265600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.6)83515 285600 w
+[ /Dest /Anchor$e$5f$21
+/Rect [83515 -286600 101015 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017!)122530 v
+[ /Dest /Anchor$e$5f$21
+/Rect [122530 -286600 128640 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(T)207770 v
+(ransparent line indicator)3330 1 213530 u
+[ /Dest /Anchor$e$5f$21
+/Rect [207770 -286600 312390 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.8)83515 297600 w
+[ /Dest /Anchor$e$5f$22
+/Rect [83515 -298600 101015 -289600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\020)122530 v
+[ /Dest /Anchor$e$5f$22
+/Rect [122530 -298600 130860 -289600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Be)207770 v
+(ginning of comment)3330 1 218730 u
+[ /Dest /Anchor$e$5f$22
+/Rect [207770 -298600 301500 -289600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.8)83515 309600 w
+[ /Dest /Anchor$e$5f$23
+/Rect [83515 -310600 101015 -301600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017#)122530 v
+[ /Dest /Anchor$e$5f$23
+/Rect [122530 -310600 130310 -301600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Comment including ne)3330 1 207770 u
+(wline)300850 v
+[ /Dest /Anchor$e$5f$23
+/Rect [207770 -310600 323070 -301600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.3)88515 321600 w
+[ /Dest /Anchor$e$5f$24
+/Rect [88515 -322600 101015 -313600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017$)122530 v
+&12
+(n)130310 v
+&11
+(,)135310 v
+&13
+(\017$\()137810 v
+&12
+(nn)148920 v
+&11
+(,)158920 v
+&13
+(\017$[)161420 v
+&12
+(nnn)172530 v
+&13
+(])187530 v
+[ /Dest /Anchor$e$5f$24
+/Rect [122530 -322600 190860 -313600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate ar)3330 1 207770 u
+(gument)262010 v
+&12
+(n)295340 v
+&11
+(,)300340 v
+&12
+(nn)306170 v
+&11
+(, or)3330 1 316170 u
+&12
+(nnn)333660 v
+[ /Dest /Anchor$e$5f$24
+/Rect [207770 -322600 348660 -313600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(7.3)88515 333600 w
+[ /Dest /Anchor$e$5f$24$2a
+/Rect [88515 -334600 101015 -325600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017$)122530 v
+&20
+(\005)130310 v
+[ /Dest /Anchor$e$5f$24$2a
+/Rect [122530 -334600 135310 -325600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate all ar)3330 1 207770 u
+(guments separated by spaces)3330 1 275340 u
+[ /Dest /Anchor$e$5f$24$2a
+/Rect [207770 -334600 393080 -325600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.3)88515 345600 w
+[ /Dest /Anchor$e$5f$24$40
+/Rect [88515 -346600 101015 -337600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017$@)122530 v
+[ /Dest /Anchor$e$5f$24$40
+/Rect [122530 -346600 139610 -337600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate all ar)3330 1 207770 u
+(guments in double quotes)3330 1 275340 u
+[ /Dest /Anchor$e$5f$24$40
+/Rect [207770 -346600 380330 -337600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.3)88515 357600 w
+[ /Dest /Anchor$e$5f$240
+/Rect [88515 -358600 101015 -349600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017$0)122530 v
+[ /Dest /Anchor$e$5f$240
+/Rect [122530 -358600 135310 -349600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate name of current macro or string)3330 1 207770 u
+[ /Dest /Anchor$e$5f$240
+/Rect [207770 -358600 385480 -349600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 369600 w
+[ /Dest /Anchor$e$5f$25
+/Rect [83515 -370600 93515 -361600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017%)122530 v
+[ /Dest /Anchor$e$5f$25
+/Rect [122530 -370600 135310 -361600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Def)207770 v
+(ault optional h)3330 1 222660 u
+(yphenation character)3330 1 282050 u
+[ /Dest /Anchor$e$5f$25
+/Rect [207770 -370600 366460 -361600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.1)88515 381600 w
+[ /Dest /Anchor$e$5f$28
+/Rect [88515 -382600 101015 -373600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017\()122530 v
+&12
+(xx)128640 v
+[ /Dest /Anchor$e$5f$28
+/Rect [122530 -382600 137520 -373600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Character named)3330 1 207770 u
+&12
+(xx)279960 v
+[ /Dest /Anchor$e$5f$28
+/Rect [207770 -382600 288840 -373600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.1)88515 393600 w
+[ /Dest /Anchor$e$5f$5b
+/Rect [88515 -394600 101015 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017[)122530 v
+&12
+(xxx)128640 v
+&11
+(])141960 v
+[ /Dest /Anchor$e$5f$5b
+/Rect [122530 -394600 145290 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Character named)3330 1 207770 u
+&12
+(xxx)279960 v
+[ /Dest /Anchor$e$5f$5b
+/Rect [207770 -394600 293280 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(7.1)88515 405600 w
+[ /Dest /Anchor$e$5f$2a
+/Rect [88515 -406600 101015 -397600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+&20
+(\005)125310 v
+&12
+(x)130310 v
+&11
+(,)134750 v
+&13
+(\017)137250 v
+&20
+(\005)140030 v
+&13
+(\()145030 v
+&12
+(xx)148360 v
+&11
+(,)157240 v
+&13
+(\017)159740 v
+&20
+(\005)162520 v
+&13
+([)167520 v
+&12
+(xxx)170850 v
+&13
+(])184170 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [122530 -406600 187500 -397600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate string)3330 1 207770 u
+&12
+(x)280530 v
+&11
+(,)284970 v
+&12
+(xx)290800 v
+&11
+(, or)3330 1 299680 u
+&12
+(xxx)317170 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [207770 -406600 330490 -397600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(7.1)88515 417600 w
+[ /Dest /Anchor$e$5f$2a
+/Rect [88515 -418600 101015 -409600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+&20
+(\005)125310 v
+&13
+([)130310 v
+&12
+(xxx)133640 v
+(ar)150290 v
+(g)158810 v
+&11
+(...)167140 v
+&13
+(])174640 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [122530 -418600 177970 -409600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate string)3330 1 207770 u
+&12
+(xxx)280530 v
+&11
+(with ar)3330 1 297180 u
+(guments)325880 v
+&12
+(ar)363100 v
+(g)371620 v
+&11
+(...)379950 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [207770 -418600 387450 -409600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 429600 w
+[ /Dest /Anchor$e$5f$3a
+/Rect [83515 -430600 93515 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017:)122530 v
+[ /Dest /Anchor$e$5f$3a
+/Rect [122530 -430600 128640 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Optional line\001break character)3330 1 207770 u
+[ /Dest /Anchor$e$5f$3a
+/Rect [207770 -430600 326610 -421600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.2)83515 441600 w
+[ /Dest /Anchor$e$5f$3b
+/Rect [83515 -442600 101015 -433600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017;)122530 v
+[ /Dest /Anchor$e$5f$3b
+/Rect [122530 -442600 128640 -433600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Lig)207770 v
+(ature suppressor)3330 1 221610 u
+[ /Dest /Anchor$e$5f$3b
+/Rect [207770 -442600 287700 -433600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(17)83515 453600 w
+[ /Dest /Anchor$e$5f$40
+/Rect [83515 -454600 93515 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017@{)122530 v
+&11
+(,)138550 v
+&13
+(\017@})141050 v
+[ /Dest /Anchor$e$5f$40
+/Rect [122530 -454600 157070 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Inline en)3330 1 207770 u
+(vironment push/pop)3330 1 243470 u
+[ /Dest /Anchor$e$5f$40
+/Rect [207770 -454600 324580 -445600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(9.1)88515 465600 w
+[ /Dest /Anchor$e$5fa
+/Rect [88515 -466600 101015 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017a)122530 v
+[ /Dest /Anchor$e$5fa
+/Rect [122530 -466600 130310 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Non\001interpreted leader character)3330 1 207770 u
+[ /Dest /Anchor$e$5fa
+/Rect [207770 -466600 339370 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(24.6)83515 477600 w
+[ /Dest /Anchor$e$5fA
+/Rect [83515 -478600 101015 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017A)122530 v
+&12
+(\013string\013)132530 v
+[ /Dest /Anchor$e$5fA
+/Rect [122530 -478600 162530 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Anchor de\003nition)3330 1 207770 u
+[ /Dest /Anchor$e$5fA
+/Rect [207770 -478600 279430 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.3)83515 489600 w
+[ /Dest /Anchor$e$5fb
+/Rect [83515 -490600 101015 -481600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017b)122530 v
+&12
+(\013abc...\013)130870 v
+[ /Dest /Anchor$e$5fb
+/Rect [122530 -490600 159470 -481600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Brack)207770 v
+(et b)3330 1 231550 u
+(uilding function)3330 1 246900 u
+[ /Dest /Anchor$e$5fb
+/Rect [207770 -490600 311900 -481600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(1.4)88515 501600 w
+[ /Dest /Anchor$e$5fB
+/Rect [88515 -502600 101015 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017B)122530 v
+&12
+(\026string\026)131980 v
+[ /Dest /Anchor$e$5fB
+/Rect [122530 -502600 159600 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(T)207770 v
+(est if)3330 1 213180 u
+&12
+(string)237060 v
+&11
+(is a numerical e)3330 1 263730 u
+(xpression)329110 v
+[ /Dest /Anchor$e$5fB
+/Rect [207770 -502600 367440 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.2)88515 513600 w
+[ /Dest /Anchor$e$5fc
+/Rect [88515 -514600 101015 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017c)122530 v
+[ /Dest /Anchor$e$5fc
+/Rect [122530 -514600 129750 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interrupt te)3330 1 207770 u
+(xt processing)3330 1 253160 u
+[ /Dest /Anchor$e$5fc
+/Rect [207770 -514600 307040 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.1)88515 525600 w
+[ /Dest /Anchor$e$5fC
+/Rect [88515 -526600 101015 -517600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017C)122530 v
+&12
+(\013xxx\013)132530 v
+[ /Dest /Anchor$e$5fC
+/Rect [122530 -526600 152510 -517600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Character named)3330 1 207770 u
+&12
+(xxx)279960 v
+[ /Dest /Anchor$e$5fC
+/Rect [207770 -526600 293280 -517600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.1)83515 537600 w
+[ /Dest /Anchor$e$5fd
+/Rect [83515 -538600 101015 -529600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017d)122530 v
+[ /Dest /Anchor$e$5fd
+/Rect [122530 -538600 130870 -529600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(F)207770 v
+(orw)213180 v
+(ard \(do)3330 1 228630 u
+(wn\) 1/2)3330 1 257810 u
+(em v)3330 1 291136 u
+(ertical motion \(1/2 line in)3330 1 311536 u
+&12
+(nr)420406 v
+(of)428846 v
+(f)436446 v
+&11
+(\))439226 v
+[ /Dest /Anchor$e$5fd
+/Rect [207770 -538600 442556 -529600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.5)83515 549600 w
+[ /Dest /Anchor$e$5fD
+/Rect [83515 -550600 101015 -541600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017D)122530 v
+&12
+(\013c...\013)132530 v
+[ /Dest /Anchor$e$5fD
+/Rect [122530 -550600 151130 -541600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Dra)207770 v
+(w graphics function)3330 1 222610 u
+&12
+(c)307030 v
+&11
+(with parameters ...;)3330 1 314800 u
+&12
+(c)396720 v
+&11
+(=)401993 v
+&13
+(l)408466 v
+&11
+(,)411246 v
+&13
+(c)414579 v
+&11
+(,)419019 v
+&13
+(e)422352 v
+&11
+(,)426792 v
+&13
+(a)430125 v
+&11
+(,)435125 v
+&20
+(\127)438458 v
+[ /Dest /Anchor$e$5fD
+/Rect [207770 -550600 443948 -541600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(10.1)83515 561600 w
+[ /Dest /Anchor$e$5fe
+/Rect [83515 -562600 101015 -553600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017e)122530 v
+[ /Dest /Anchor$e$5fe
+/Rect [122530 -562600 129750 -553600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Printable v)3330 1 207770 u
+(ersion of the)3330 1 252060 u
+&12
+(curr)307040 v
+(ent)323890 v
+&11
+(escape character)3330 1 339440 u
+[ /Dest /Anchor$e$5fe
+/Rect [207770 -562600 406060 -553600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.1)83515 573600 w
+[ /Dest /Anchor$e$5fE
+/Rect [83515 -574600 101015 -565600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017E)122530 v
+[ /Dest /Anchor$e$5fE
+/Rect [122530 -574600 131980 -565600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Escape character)3330 1 207770 u
+(, not interpreted in)3330 1 275660 u
+&12
+(copy mode)3330 1 355360 u
+[ /Dest /Anchor$e$5fE
+/Rect [207770 -574600 399230 -565600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.2)88515 585600 w
+[ /Dest /Anchor$e$5ff
+/Rect [88515 -586600 101015 -577600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017f)122530 v
+&12
+(x)128640 v
+&11
+(,)133080 v
+&13
+(\017f\()135580 v
+&12
+(xx)145020 v
+&11
+(,)153900 v
+&13
+(\017f[)156400 v
+&12
+(xxx)165840 v
+&13
+(])179160 v
+&11
+(,)182490 v
+&13
+(\017f)184990 v
+&12
+(N)191100 v
+[ /Dest /Anchor$e$5ff
+/Rect [122530 -586600 197770 -577600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Change to font named)3330 1 207770 u
+&12
+(x)302190 v
+&11
+(,)306630 v
+&12
+(xx)312460 v
+&11
+(, or)3330 1 321340 u
+&12
+(xxx)338830 v
+&11
+(, or position)3330 1 352150 u
+&12
+(N)405200 v
+[ /Dest /Anchor$e$5ff
+/Rect [207770 -586600 411870 -577600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(8)88515 597600 w
+[ /Dest /Anchor$e$5fg
+/Rect [88515 -598600 93515 -589600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017g)122530 v
+&12
+(x)130310 v
+&11
+(,)134750 v
+&13
+(\017g\()137250 v
+&12
+(xx)148360 v
+&11
+(,)157240 v
+&13
+(\017g[)159740 v
+&12
+(xxx)170850 v
+&13
+(])184170 v
+[ /Dest /Anchor$e$5fg
+/Rect [122530 -598600 187500 -589600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(F)207770 v
+(ormat of number re)3330 1 213180 u
+(gister)293000 v
+&12
+(x)318550 v
+&11
+(,)322990 v
+&12
+(xx)328820 v
+&11
+(, or)3330 1 337700 u
+&12
+(xxx)355190 v
+[ /Dest /Anchor$e$5fg
+/Rect [207770 -598600 368510 -589600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.1)83515 609600 w
+[ /Dest /Anchor$e$5fh
+/Rect [83515 -610600 101015 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017h)122530 v
+&12
+(\013N\013)130870 v
+[ /Dest /Anchor$e$5fh
+/Rect [122530 -610600 144200 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Local horizontal motion; mo)3330 1 207770 u
+(v)324830 v
+(e right)3330 1 329680 u
+&12
+(N \(ne)3330 1 359670 u
+(gative left\))3330 1 382040 u
+[ /Dest /Anchor$e$5fh
+/Rect [207770 -610600 425920 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.3)88515 621600 w
+[ /Dest /Anchor$e$5fH
+/Rect [88515 -622600 101015 -613600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017H)122530 v
+&12
+(\013N\013)133090 v
+[ /Dest /Anchor$e$5fH
+/Rect [122530 -622600 146420 -613600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Height of current font is)3330 1 207770 u
+&12
+(N)311070 v
+[ /Dest /Anchor$e$5fH
+/Rect [207770 -622600 317740 -613600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(1.1)88515 633600 w
+[ /Dest /Anchor$e$5fI
+/Rect [88515 -634600 101015 -625600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017I)122530 v
+&12
+(\026string\026)129200 v
+[ /Dest /Anchor$e$5fI
+/Rect [122530 -634600 156820 -625600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(T)207770 v
+(est if)3330 1 213180 u
+&12
+(string)237060 v
+&11
+(is a v)3330 1 263730 u
+(alid identi\003er name)3330 1 286250 u
+[ /Dest /Anchor$e$5fB
+/Rect [207770 -634600 365680 -625600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 645600 w
+[ /Dest /Anchor$e$5fj
+/Rect [88515 -646600 101015 -637600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017j)122530 v
+&12
+(\013)128640 v
+&20
+(\143)131970 v
+&12
+(N\013)137460 v
+[ /Dest /Anchor$e$5fj
+/Rect [122530 -646600 147460 -637600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Penalty for breaking a line after the current w)3330 1 207770 u
+(ord is)3330 1 396480 u
+&12
+(N)423140 v
+[ /Dest /Anchor$e$5fj
+/Rect [207770 -646600 429810 -637600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(4.1)88515 657600 w
+[ /Dest /Anchor$e$5fJ
+/Rect [88515 -658600 101015 -649600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017J)122530 v
+&12
+(\013)130310 v
+&20
+(\143)133640 v
+&12
+(N\013)139130 v
+[ /Dest /Anchor$e$5fJ
+/Rect [122530 -658600 149130 -649600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Def)207770 v
+(ault line breaking penalty is)3330 1 222660 u
+&12
+(N)340410 v
+[ /Dest /Anchor$e$5fJ
+/Rect [207770 -658600 347080 -649600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.3)83515 669600 w
+[ /Dest /Anchor$e$5fk
+/Rect [83515 -670600 101015 -661600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017k)122530 v
+&12
+(x)130870 v
+&11
+(,)135310 v
+&13
+(\017k\()137810 v
+&12
+(xx)149480 v
+&11
+(,)158360 v
+&13
+(\017k[)160860 v
+&12
+(xxx)172530 v
+&13
+(])185850 v
+[ /Dest /Anchor$e$5fk
+/Rect [122530 -670600 189180 -661600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Mark horizontal)3330 1 207770 u
+&12
+(input)276640 v
+&11
+(place in re)3330 1 300530 u
+(gister)343690 v
+&12
+(x, xx)3330 1 369240 u
+&11
+(, or)3330 1 388390 u
+&12
+(xxx)405880 v
+[ /Dest /Anchor$e$5fk
+/Rect [207770 -670600 419200 -661600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(12.4)83515 681600 w
+[ /Dest /Anchor$e$5fl
+/Rect [83515 -682600 101015 -673600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017l)122530 v
+&12
+(\013Nc\013)128923 v
+[ /Dest /Anchor$e$5fl
+/Rect [122530 -682600 146693 -673600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Horizontal line dra)3330 1 207770 u
+(wing function \(optionally with)3330 1 284820 u
+&12
+(c)413140 v
+&11
+(\))419246 v
+[ /Dest /Anchor$e$5fl
+/Rect [207770 -682600 422576 -673600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.4)83515 693600 w
+[ /Dest /Anchor$e$5fL
+/Rect [83515 -694600 101015 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017L)122530 v
+&12
+(\013Nc\013)131980 v
+[ /Dest /Anchor$e$5fL
+/Rect [122530 -694600 149750 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)207770 v
+(ertical line dra)3330 1 213880 u
+(wing function \(optionally with)3330 1 273150 u
+&12
+(c)401470 v
+&11
+(\))407576 v
+[ /Dest /Anchor$e$5fL
+/Rect [207770 -694600 410906 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(8)88515 705600 w
+[ /Dest /Anchor$e$5fn
+/Rect [88515 -706600 93515 -697600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017n)122530 v
+&12
+(x)130870 v
+&11
+(,)135310 v
+&13
+(\017n\()137810 v
+&12
+(xx)149480 v
+&11
+(,)158360 v
+&13
+(\017n[)160860 v
+&12
+(xxx)172530 v
+&13
+(])185850 v
+[ /Dest /Anchor$e$5fn
+/Rect [122530 -706600 189180 -697600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate number re)3330 1 207770 u
+(gister)295920 v
+&12
+(x)321470 v
+&11
+(,)325910 v
+&12
+(xx)331740 v
+&11
+(, or)3330 1 340620 u
+&12
+(xxx)358110 v
+[ /Dest /Anchor$e$5fn
+/Rect [207770 -706600 371430 -697600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.)88515 717600 w
+[ /Dest /Anchor$e$5fN
+/Rect [88515 -718600 96015 -709600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017N)122530 v
+&12
+(\013N\013)132530 v
+[ /Dest /Anchor$e$5fN
+/Rect [122530 -718600 145860 -709600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Character number)3330 1 207770 u
+&12
+(N)283850 v
+&11
+(on current font)3330 1 293850 u
+[ /Dest /Anchor$e$5fN
+/Rect [207770 -718600 354940 -709600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.1)83515 729600 w
+[ /Dest /Anchor$e$5fo
+/Rect [83515 -730600 101015 -721600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017o)122530 v
+&12
+(\013abc...\013)130310 v
+[ /Dest /Anchor$e$5fo
+/Rect [122530 -730600 158910 -721600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Ov)207770 v
+(erstrik)219840 v
+(e characters)3330 1 245290 u
+&12
+(a, b, c, ...)3330 1 296920 u
+[ /Dest /Anchor$e$5fo
+/Rect [207770 -730600 336350 -721600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\001)294340 760800 w
+(15)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 15 15
+%%Page: 16 16
+save
+mark
+16 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(4.1)88515 84000 w
+[ /Dest /Anchor$e$5fp
+/Rect [88515 -85000 101015 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017p)122530 v
+[ /Dest /Anchor$e$5fp
+/Rect [122530 -85000 130870 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Break and spread output line)3330 1 207770 u
+[ /Dest /Anchor$e$5fp
+/Rect [207770 -85000 326070 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.5)88515 96000 w
+[ /Dest /Anchor$e$5fP
+/Rect [88515 -97000 101015 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017P)122530 v
+&12
+(x)131420 v
+&11
+(,)135860 v
+&13
+(\017P\()138360 v
+&12
+(xx)150580 v
+&11
+(,)159460 v
+&13
+(\017P[)161960 v
+&12
+(xxx)174180 v
+&13
+(])187500 v
+[ /Dest /Anchor$e$5fP
+/Rect [122530 -97000 190830 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Output\001line trap)3330 1 207770 u
+&12
+(x)276090 v
+&11
+(,)280530 v
+&12
+(xx)286360 v
+&11
+(, or)3330 1 295240 u
+&12
+(xxx)312730 v
+[ /Dest /Anchor$e$5fP
+/Rect [207770 -97000 326050 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.1)83515 108000 w
+[ /Dest /Anchor$e$5fr
+/Rect [83515 -109000 101015 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017r)122530 v
+[ /Dest /Anchor$e$5fr
+/Rect [122530 -109000 129750 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Re)207770 v
+(v)218630 v
+(erse 1)3330 1 223480 u
+(em v)3330 1 249576 u
+(ertical motion \(re)3330 1 269976 u
+(v)340816 v
+(erse line in)3330 1 345666 u
+&12
+(nr)394536 v
+(of)402976 v
+(f)410576 v
+&11
+(\))413356 v
+[ /Dest /Anchor$e$5fr
+/Rect [207770 -109000 416686 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(8)88515 120000 w
+[ /Dest /Anchor$e$5fR
+/Rect [88515 -121000 93515 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017R)122530 v
+&12
+(\013R)132530 v
+&20
+(\143)145300 v
+&12
+(N\013)150790 v
+[ /Dest /Anchor$e$5fR
+/Rect [122530 -121000 160790 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Set number re)3330 1 207770 u
+(gister)265380 v
+&12
+(R)290930 v
+&11
+(to)300370 v
+&20
+(\143)311480 v
+&12
+(N)316970 v
+[ /Dest /Anchor$e$5fR
+/Rect [207770 -121000 323640 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.3)88515 132000 w
+[ /Dest /Anchor$e$5fs
+/Rect [88515 -133000 101015 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Point\001size change function)3330 1 207770 u
+[ /Dest /Anchor$e$5fs
+/Rect [207770 -133000 316080 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017s)122530 v
+&12
+(N)129200 v
+&11
+(,)135870 v
+&13
+(\017s)138370 v
+&20
+(\143)145040 v
+&12
+(N)150530 v
+&11
+(,)157200 v
+[ /Dest /Anchor$e$5fs
+/Rect [122530 -133000 159700 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017s\013)122530 144000 w
+&20
+(\143)132530 v
+&12
+(N)138020 v
+&13
+(\013)144690 v
+&11
+(,)148020 v
+&13
+(\017s)150520 v
+&20
+(\143)157190 v
+&13
+(\013)162680 v
+&12
+(N)166010 v
+&13
+(\013)172680 v
+&11
+(,)176010 v
+[ /Dest /Anchor$e$5fs
+/Rect [122530 -145000 178510 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017s[)122530 156000 w
+&20
+(\143)132530 v
+&12
+(N)138020 v
+&13
+(])144690 v
+&11
+(,)148020 v
+&13
+(\017s)150520 v
+&20
+(\143)157190 v
+&13
+([)162680 v
+&12
+(N)166010 v
+&13
+(])172680 v
+[ /Dest /Anchor$e$5fs
+/Rect [122530 -157000 176010 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(2.2)88515 168000 w
+[ /Dest /Anchor$e$5fS
+/Rect [88515 -169000 101015 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017S)122530 v
+&12
+(\013N\013)130870 v
+[ /Dest /Anchor$e$5fS
+/Rect [122530 -169000 144200 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Slant output)3330 1 207770 u
+&12
+(N)260550 v
+&11
+(de)270550 v
+(grees)279840 v
+[ /Dest /Anchor$e$5fS
+/Rect [207770 -169000 300940 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(9.1)88515 180000 w
+[ /Dest /Anchor$e$5ft
+/Rect [88515 -181000 101015 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017t)122530 v
+[ /Dest /Anchor$e$5ft
+/Rect [122530 -181000 128640 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Non\001interpreted horizontal tab)3330 1 207770 u
+[ /Dest /Anchor$e$5ft
+/Rect [207770 -181000 331070 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(24.6)83515 192000 w
+[ /Dest /Anchor$e$5fT
+/Rect [83515 -193000 101015 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017T)122530 v
+&12
+(\013string\013)131980 v
+[ /Dest /Anchor$e$5fT
+/Rect [122530 -193000 161980 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Intra\001document link de\003nition)3330 1 207770 u
+[ /Dest /Anchor$e$5fT
+/Rect [207770 -193000 329980 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 204000 w
+[ /Dest /Anchor$e$5fu
+/Rect [83515 -205000 101015 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017u)122530 v
+[ /Dest /Anchor$e$5fu
+/Rect [122530 -205000 130870 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Re)207770 v
+(v)218630 v
+(erse \(up\) 1/2)3330 1 223480 u
+(em v)3330 1 277346 u
+(ertical motion \(1/2 line in)3330 1 297746 u
+&12
+(nr)406616 v
+(of)415056 v
+(f)422656 v
+&11
+(\))425436 v
+[ /Dest /Anchor$e$5fu
+/Rect [207770 -205000 428766 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.1)88515 216000 w
+[ /Dest /Anchor$e$5fU
+/Rect [88515 -217000 101015 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017U)122530 v
+&12
+(\013X\013)132530 v
+[ /Dest /Anchor$e$5fU
+/Rect [122530 -217000 145300 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Character at Unicode position U+)3330 1 207770 u
+&12
+(X)346150 v
+[ /Dest /Anchor$e$5fU
+/Rect [207770 -217000 352260 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.1)83515 228000 w
+[ /Dest /Anchor$e$5fv
+/Rect [83515 -229000 101015 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017v)122530 v
+&12
+(\013N\013)130310 v
+[ /Dest /Anchor$e$5fv
+/Rect [122530 -229000 143640 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Local v)3330 1 207770 u
+(ertical motion; mo)3330 1 238720 u
+(v)314120 v
+(e do)3330 1 318970 u
+(wn)336490 v
+&12
+(N \(ne)3330 1 352040 u
+(gative up\))3330 1 374410 u
+[ /Dest /Anchor$e$5fv
+/Rect [207770 -229000 415510 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(20)83515 240000 w
+[ /Dest /Anchor$e$5fV
+/Rect [83515 -241000 93515 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017V)122530 v
+&12
+(x)132530 v
+&11
+(,)136970 v
+&13
+(\017V\()139470 v
+&12
+(xx)152800 v
+&11
+(,)161680 v
+&13
+(\017V[)164180 v
+&12
+(xxx)177510 v
+&13
+(])190830 v
+[ /Dest /Anchor$e$5fV
+/Rect [122530 -241000 194160 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(En)207770 v
+(vironment v)3330 1 218480 u
+(ariable)267670 v
+&12
+(x)298210 v
+&11
+(,)302650 v
+&12
+(xx)308480 v
+&11
+(, or)3330 1 317360 u
+&12
+(xxx)334850 v
+[ /Dest /Anchor$e$5fV
+/Rect [207770 -241000 348170 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(11.2)83515 252000 w
+[ /Dest /Anchor$e$5fw
+/Rect [83515 -253000 101015 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017w)122530 v
+&12
+(\013string\013)132530 v
+[ /Dest /Anchor$e$5fw
+/Rect [122530 -253000 162530 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Interpolate width of)3330 1 207770 u
+&12
+(string)292190 v
+[ /Dest /Anchor$e$5fw
+/Rect [207770 -253000 315530 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(24.6)83515 264000 w
+[ /Dest /Anchor$e$5fW
+/Rect [83515 -265000 101015 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017W)122530 v
+&12
+(\013string\013)135310 v
+[ /Dest /Anchor$e$5fW
+/Rect [122530 -265000 165310 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(URI link de\003nition)3330 1 207770 u
+[ /Dest /Anchor$e$5fW
+/Rect [207770 -265000 285550 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5.2)88515 276000 w
+[ /Dest /Anchor$e$5fx
+/Rect [88515 -277000 101015 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017x)122530 v
+&12
+(\013N\013)130310 v
+[ /Dest /Anchor$e$5fx
+/Rect [122530 -277000 143640 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Extra line\001space function)3330 1 207770 u
+&12
+(\(ne)313290 v
+(gative befor)3330 1 325660 u
+(e)374170 v
+(, positive after\))3330 1 378510 u
+[ /Dest /Anchor$e$5fx
+/Rect [207770 -277000 441000 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(10.7)83515 288000 w
+[ /Dest /Anchor$e$5fX
+/Rect [83515 -289000 101015 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017X)122530 v
+&12
+(\013string\013)132530 v
+[ /Dest /Anchor$e$5fX
+/Rect [122530 -289000 162530 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Output)207770 v
+&12
+(string)238880 v
+&11
+(as de)3330 1 265550 u
+(vice control function)3330 1 286400 u
+[ /Dest /Anchor$e$5fX
+/Rect [207770 -289000 371380 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.7)83515 300000 w
+[ /Dest /Anchor$e$5fY
+/Rect [83515 -301000 101015 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017Y)122530 v
+&12
+(x)132530 v
+&11
+(,)136970 v
+&13
+(\017Y\()139470 v
+&12
+(xx)152800 v
+&11
+(,)161680 v
+&13
+(\017Y[)164180 v
+&12
+(xxx)177510 v
+&13
+(])190830 v
+[ /Dest /Anchor$e$5fY
+/Rect [122530 -301000 194160 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Output contents of macro)3330 1 207770 u
+&12
+(x)315520 v
+&11
+(,)319960 v
+&12
+(xx)325790 v
+&11
+(, or)3330 1 334670 u
+&12
+(xxx)352160 v
+[ /Dest /Anchor$e$5fY
+/Rect [207770 -301000 365480 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(as de)3330 1 368810 u
+(vice control function)3330 1 389660 u
+(12.2)83515 312000 w
+[ /Dest /Anchor$e$5fz
+/Rect [83515 -313000 101015 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017z)122530 v
+&12
+(c)129750 v
+[ /Dest /Anchor$e$5fz
+/Rect [122530 -313000 134190 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Print)207770 v
+&12
+(c)230550 v
+&11
+(with zero width \(without spacing\))3330 1 238320 u
+[ /Dest /Anchor$e$5fz
+/Rect [207770 -313000 377180 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.2)83515 324000 w
+[ /Dest /Anchor$e$5fZ
+/Rect [83515 -325000 101015 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017Z)122530 v
+&12
+(\013string\013)131980 v
+[ /Dest /Anchor$e$5fZ
+/Rect [122530 -325000 161980 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Print)207770 v
+&12
+(string)230550 v
+&11
+(with zero width and height)3330 1 257220 u
+[ /Dest /Anchor$e$5fZ
+/Rect [207770 -325000 367750 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(16)83515 336000 w
+[ /Dest /Anchor$e$5f$7b
+/Rect [83515 -337000 93515 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017{)122530 v
+[ /Dest /Anchor$e$5f$7b
+/Rect [122530 -337000 129250 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Be)207770 v
+(gin conditional input)3330 1 218730 u
+[ /Dest /Anchor$e$5f$7b
+/Rect [207770 -337000 303730 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(16)83515 348000 w
+[ /Dest /Anchor$e$5f$7d
+/Rect [83515 -349000 93515 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017})122530 v
+[ /Dest /Anchor$e$5f$7d
+/Rect [122530 -349000 129250 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(End conditional input)3330 1 207770 u
+[ /Dest /Anchor$e$5f$7d
+/Rect [207770 -349000 296100 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(10.7)83515 360000 w
+[ /Dest /Anchor$e$5fnewline
+/Rect [83515 -361000 101015 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017)122530 v
+&11
+(\(ne)125310 v
+(wline\))137830 v
+[ /Dest /Anchor$e$5fnewline
+/Rect [122530 -361000 163380 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Concealed \(ignored\) ne)3330 1 207770 u
+(wline)303040 v
+[ /Dest /Anchor$e$5fnewline
+/Rect [207770 -361000 325260 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 372000 w
+&13
+(\017)122530 v
+&12
+(c)125310 v
+(c)207770 v
+&11
+(, an)3330 1 212210 u
+(y character)3330 1 227330 u
+&12
+(not)275630 v
+&11
+(listed abo)3330 1 291740 u
+(v)331030 v
+(e)335880 v
+(The escape sequences)3330 1 72000 408000 t
+&13
+(\017\017)164730 v
+[ /Dest /Anchor$e$5fesc
+/Rect [164730 -409000 170290 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)170290 v
+&13
+(\017)176120 v
+(.)179733 v
+[ /Dest /Anchor$e$5f$2e
+/Rect [176120 -409000 182233 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)182233 v
+&13
+(\017\020)188063 v
+[ /Dest /Anchor$e$5f$22
+/Rect [188063 -409000 196393 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)196393 v
+&13
+(\017#)202223 v
+[ /Dest /Anchor$e$5f$23
+/Rect [202223 -409000 210003 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)210003 v
+&13
+(\017$)215833 v
+[ /Dest /Anchor$e$5f$24
+/Rect [215833 -409000 223613 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)223613 v
+&13
+(\017)229443 v
+&20
+(\005)232223 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [229443 -409000 237223 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)237223 v
+&13
+(\017a)243053 v
+[ /Dest /Anchor$e$5fa
+/Rect [243053 -409000 250833 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)250833 v
+&13
+(\017e)256663 v
+[ /Dest /Anchor$e$5fe
+/Rect [256663 -409000 263883 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)263883 v
+&13
+(\017g)269713 v
+[ /Dest /Anchor$e$5fg
+/Rect [269713 -409000 277493 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)277493 v
+&13
+(\017n)283323 v
+[ /Dest /Anchor$e$5fn
+/Rect [283323 -409000 291663 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)291663 v
+&13
+(\017t)297493 v
+[ /Dest /Anchor$e$5ft
+/Rect [297493 -409000 303603 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)303603 v
+&13
+(\017V)309433 v
+[ /Dest /Anchor$e$5fV
+/Rect [309433 -409000 319433 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3330 1 319433 u
+&13
+(\017)343033 v
+&11
+(\(ne)345813 v
+(wline\))358333 v
+[ /Dest /Anchor$e$5fnewline
+/Rect [343033 -409000 383883 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(are interpreted in)3330 1 387213 u
+&12
+(copy mode)3330 1 460513 u
+&11
+(\(\0157.2\).)507713 v
+[ /Dest /Anchor$copy$20mode
+/Rect [460513 -409000 534373 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(Pr)72000 432000 w
+(ede\003ned General Number Registers)3330 1 82370 u
+[ /Dest /Bookmark$34
+ /View [/XYZ -4 372 0]
+/DEST pdfmark
+&14
+(Section)76985 456000 w
+(Register)122530 v
+(Ref)71490 468000 w
+(erence)85830 v
+(Name)122530 v
+(Description)166420 v
+&11
+(3)88515 484800 w
+[ /Dest /Anchor$n$5f$25
+/Rect [88515 -485800 93515 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(%)122530 v
+[ /Dest /Anchor$n$5f$25
+/Rect [122530 -485800 132530 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current page number)3330 1 166420 u
+(.)252510 v
+[ /Dest /Anchor$n$5f$25
+/Rect [166420 -485800 255010 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 496800 w
+&13
+(c.)122530 v
+&11
+(Number of)3330 1 166420 u
+&12
+(lines)214180 v
+&11
+(read from current input)3330 1 236400 u
+(\003le.)335250 v
+(11.2)83515 508800 w
+[ /Dest /Anchor$n$5fct
+/Rect [83515 -509800 101015 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(ct)122530 v
+[ /Dest /Anchor$n$5fct
+/Rect [122530 -509800 130300 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Character type \(set by)3330 1 166420 u
+&12
+(width)260270 v
+&11
+(function\).)285830 v
+[ /Dest /Anchor$n$5fct
+/Rect [166420 -509800 324990 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.4)88515 520800 w
+[ /Dest /Anchor$n$5fdl
+/Rect [88515 -521800 101015 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(dl)122530 v
+[ /Dest /Anchor$n$5fdl
+/Rect [122530 -521800 130870 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(W)166420 v
+(idth \(maximum\) of last completed di)3330 1 175460 u
+(v)326300 v
+(ersion.)331150 v
+[ /Dest /Anchor$n$5fdl
+/Rect [166420 -521800 358090 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.4)88515 532800 w
+[ /Dest /Anchor$n$5fdn
+/Rect [88515 -533800 101015 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(dn)122530 v
+[ /Dest /Anchor$n$5fdn
+/Rect [122530 -533800 133650 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Height \(v)3330 1 166420 u
+(ertical size\) of last completed di)3330 1 205150 u
+(v)337080 v
+(ersion.)341930 v
+[ /Dest /Anchor$n$5fdn
+/Rect [166420 -533800 368870 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 544800 w
+&13
+(d)122530 v
+(w)127940 v
+&11
+(Current day of the week \(1\0127\).)3330 1 166420 u
+(\012)89765 556800 w
+&13
+(dy)122530 v
+&11
+(Current day of the month \(1\01231\).)3330 1 166420 u
+(\012)89765 568800 w
+&13
+(hours)122530 v
+&11
+(Hours portion of current local time \(0\01223\).)3330 1 166420 u
+(11.3)83515 580800 w
+[ /Dest /Anchor$n$5fhp
+/Rect [83515 -581800 101015 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(hp)122530 v
+[ /Dest /Anchor$n$5fhp
+/Rect [122530 -581800 133650 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current horizontal place on)3330 1 166420 u
+&12
+(input)281940 v
+&11
+(line.)305830 v
+[ /Dest /Anchor$n$5fhp
+/Rect [166420 -581800 323330 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(15)83515 592800 w
+[ /Dest /Anchor$n$5fln
+/Rect [83515 -593800 93515 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(ln)122530 v
+[ /Dest /Anchor$n$5fln
+/Rect [122530 -593800 130870 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Output line number)3330 1 166420 u
+(.)245860 v
+[ /Dest /Anchor$n$5fln
+/Rect [166420 -593800 248360 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 604800 w
+&13
+(minutes)122530 v
+&11
+(Minutes portion of current local time \(0\01259\).)3330 1 166420 u
+(\012)89765 616800 w
+&13
+(mo)122530 v
+&11
+(Current month \(1\01212\).)3330 1 166420 u
+(4.1)88515 628800 w
+[ /Dest /Anchor$n$5fnl
+/Rect [88515 -629800 101015 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(nl)122530 v
+[ /Dest /Anchor$n$5fnl
+/Rect [122530 -629800 130870 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)166420 v
+(ertical position of last printed te)3330 1 172530 u
+(xt base\001line.)3330 1 304020 u
+[ /Dest /Anchor$n$5fnl
+/Rect [166420 -629800 353730 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.2)83515 640800 w
+[ /Dest /Anchor$n$5frsb
+/Rect [83515 -641800 101015 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(rsb)122530 v
+[ /Dest /Anchor$n$5frsb
+/Rect [122530 -641800 136420 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)166420 v
+(isual depth of string belo)3330 1 173040 u
+(w base line \(generated by)3330 1 275550 u
+&12
+(width)384390 v
+&11
+(function\).)409950 v
+[ /Dest /Anchor$n$5frsb
+/Rect [166420 -641800 449110 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.2)83515 652800 w
+[ /Dest /Anchor$n$5frst
+/Rect [83515 -653800 101015 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(rst)122530 v
+[ /Dest /Anchor$n$5frst
+/Rect [122530 -653800 134190 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)166420 v
+(isual height of string abo)3330 1 173040 u
+(v)275650 v
+(e base line \(generated by)3330 1 280500 u
+&12
+(width)386560 v
+&11
+(function\).)412120 v
+[ /Dest /Anchor$n$5frst
+/Rect [166420 -653800 451280 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.2)83515 664800 w
+[ /Dest /Anchor$n$5fsb
+/Rect [83515 -665800 101015 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(sb)122530 v
+[ /Dest /Anchor$n$5fsb
+/Rect [122530 -665800 131980 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Depth of string belo)3330 1 166420 u
+(w base line \(generated by)3330 1 248930 u
+&12
+(width)357770 v
+&11
+(function\).)383330 v
+[ /Dest /Anchor$n$5fsb
+/Rect [166420 -665800 422490 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 676800 w
+&13
+(seconds)122530 v
+&11
+(Seconds portion of current local time \(0\01260\).)3330 1 166420 u
+(11.2)83515 688800 w
+[ /Dest /Anchor$n$5fst
+/Rect [83515 -689800 101015 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(st)122530 v
+[ /Dest /Anchor$n$5fst
+/Rect [122530 -689800 129750 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Height of string abo)3330 1 166420 u
+(v)249030 v
+(e base line \(generated by)3330 1 253880 u
+&12
+(width)359940 v
+&11
+(function\).)385500 v
+[ /Dest /Anchor$n$5fst
+/Rect [166420 -689800 424660 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 700800 w
+&13
+(y)122530 v
+(ear)127430 v
+&11
+(Current year)3330 1 166420 u
+(.)216960 v
+(\012)89765 712800 w
+&13
+(yr)122530 v
+&11
+(Current year minus 1900.)3330 1 166420 u
+(25.1)83515 724800 w
+[ /Dest /Anchor$n$5f$2eg
+/Rect [83515 -725800 101015 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.g)122530 v
+[ /Dest /Anchor$n$5f$2eg
+/Rect [122530 -725800 130030 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current)166420 v
+&12
+(gr)200300 v
+(of)208740 v
+(f)216340 v
+&11
+(compatibility mode \(0=of)3330 1 222450 u
+(f\).)326720 v
+[ /Dest /Anchor$n$5f$2eg
+/Rect [166420 -725800 335880 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\001)294340 760800 w
+(16)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 16 16
+%%Page: 17 17
+save
+mark
+17 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(Pr)72000 84000 w
+(ede\003ned Read\001Only Number Registers)3330 1 82370 u
+[ /Dest /Bookmark$35
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&14
+(Section)76985 108000 w
+(Register)122530 v
+(Ref)71490 120000 w
+(erence)85830 v
+(Name)122530 v
+(Description)187240 v
+&11
+(19)83515 136800 w
+[ /Dest /Anchor$n$5f$24$24
+/Rect [83515 -137800 93515 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+($$)122530 v
+[ /Dest /Anchor$n$5f$24$24
+/Rect [122530 -137800 132530 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Process id of)3330 1 187240 u
+&12
+(nr)243890 v
+(of)252330 v
+(f)259930 v
+&11
+(or)266040 v
+&12
+(tr)277700 v
+(of)283920 v
+(f)291520 v
+(.)294150 v
+[ /Dest /Anchor$n$5f$24$24
+/Rect [187240 -137800 296650 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(7.3)88515 148800 w
+[ /Dest /Anchor$n$5f$2e$24
+/Rect [88515 -149800 101015 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.$)122530 v
+[ /Dest /Anchor$n$5f$2e$24
+/Rect [122530 -149800 130030 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Number of ar)3330 1 187240 u
+(guments a)3330 1 242590 u
+(v)284050 v
+(ailable at the current macro le)3330 1 288800 u
+(v)411830 v
+(el.)416680 v
+[ /Dest /Anchor$n$5f$2e$24
+/Rect [187240 -149800 426400 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 160800 w
+&13
+(.A)122530 v
+&11
+(Set to 1 in)3330 1 187240 u
+&12
+(tr)233900 v
+(of)240120 v
+(f)247720 v
+(,)250400 v
+&11
+(if)256230 v
+&13
+(\012a)265670 v
+&11
+(option used; al)3330 1 279000 u
+(w)339450 v
+(ays 1 in)3330 1 346570 u
+&12
+(nr)382670 v
+(of)391110 v
+(f)398710 v
+(.)401340 v
+&11
+(5.2)88515 172800 w
+[ /Dest /Anchor$n$5f$2ea
+/Rect [88515 -173800 101015 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.a)122530 v
+[ /Dest /Anchor$n$5f$2ea
+/Rect [122530 -173800 130030 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Post\001line e)3330 1 187240 u
+(xtra line\001space most recently utilized using)3330 1 230420 u
+&13
+(\017x)409820 v
+&12
+(\013N\013)417600 v
+&11
+(.)430930 v
+[ /Dest /Anchor$n$5f$2ea
+/Rect [187240 -173800 433430 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5.4)88515 184800 w
+[ /Dest /Anchor$n$5f$2eascender
+/Rect [88515 -185800 101015 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.ascender)122530 v
+[ /Dest /Anchor$n$5f$2eascender
+/Rect [122530 -185800 162800 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Ascender of current font and point size.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2eascender
+/Rect [187240 -185800 350790 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 196800 w
+[ /Dest /Anchor$n$5f$2eb
+/Rect [88515 -197800 101015 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.b)122530 v
+[ /Dest /Anchor$n$5f$2eb
+/Rect [122530 -197800 130590 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Emboldening le)3330 1 187240 u
+(v)251430 v
+(el.)256280 v
+[ /Dest /Anchor$n$5f$2eb
+/Rect [187240 -197800 266000 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 208800 w
+[ /Dest /Anchor$n$5f$2ebreakchar
+/Rect [83515 -209800 93515 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.br)122530 v
+(eakchar)134850 v
+[ /Dest /Anchor$n$5f$2ebreakchar
+/Rect [122530 -209800 169290 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current optional line break characters.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ebreakchar
+/Rect [187240 -209800 344130 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 220800 w
+[ /Dest /Anchor$n$5f$2ebrnl
+/Rect [88515 -221800 101015 -212800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.br)122530 v
+(nl)134880 v
+[ /Dest /Anchor$n$5f$2ebrnl
+/Rect [122530 -221800 143220 -212800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Remaining number of lines with break at ne)3330 1 187240 u
+(wline.)368610 v
+[ /Dest /Anchor$n$5f$2ebrnl
+/Rect [187240 -221800 393330 -212800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 232800 w
+[ /Dest /Anchor$n$5f$2ebrpnl
+/Rect [88515 -233800 101015 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.br)122530 v
+(pnl)134930 v
+[ /Dest /Anchor$n$5f$2ebrpnl
+/Rect [122530 -233800 148830 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Remaining number of lines with break and spread at ne)3330 1 187240 u
+(wline.)415810 v
+[ /Dest /Anchor$n$5f$2ebrpnl
+/Rect [187240 -233800 440530 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 244800 w
+&13
+(.c)122530 v
+&11
+(Number of)3330 1 187240 u
+&12
+(lines)235000 v
+&11
+(read from current input)3330 1 257220 u
+(\003le.)356070 v
+(11.2)83515 256800 w
+[ /Dest /Anchor$n$5f$2ecdp
+/Rect [83515 -257800 101015 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.cdp)122530 v
+[ /Dest /Anchor$n$5f$2ecdp
+/Rect [122530 -257800 140590 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)187240 v
+(isual depth belo)3330 1 193860 u
+(w base line of pre)3330 1 258600 u
+(vious character)3330 1 332760 u
+(.)393850 v
+[ /Dest /Anchor$n$5f$2ecdp
+/Rect [187240 -257800 396350 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 268800 w
+[ /Dest /Anchor$n$5f$2ece
+/Rect [88515 -269800 101015 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.ce)122530 v
+[ /Dest /Anchor$n$5f$2ece
+/Rect [122530 -269800 133910 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Remaining number of lines to be centered.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ece
+/Rect [187240 -269800 362470 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.2)83515 280800 w
+[ /Dest /Anchor$n$5f$2echt
+/Rect [83515 -281800 101015 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.cht)122530 v
+[ /Dest /Anchor$n$5f$2echt
+/Rect [122530 -281800 138360 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)187240 v
+(isual height abo)3330 1 193860 u
+(v)258700 v
+(e base line of pre)3330 1 263550 u
+(vious character)3330 1 334930 u
+(.)396020 v
+[ /Dest /Anchor$n$5f$2echt
+/Rect [187240 -281800 398520 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(12.4)83515 292800 w
+[ /Dest /Anchor$n$5f$2econnectchar
+/Rect [83515 -293800 101015 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.connectchar)122530 v
+[ /Dest /Anchor$n$5f$2econnectchar
+/Rect [122530 -293800 177240 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current characters connected for line dra)3330 1 187240 u
+(wing [sic].)3330 1 354790 u
+[ /Dest /Anchor$n$5f$2econnectchar
+/Rect [187240 -293800 398390 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.4)88515 304800 w
+[ /Dest /Anchor$n$5f$2ed
+/Rect [88515 -305800 101015 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.d)122530 v
+[ /Dest /Anchor$n$5f$2ed
+/Rect [122530 -305800 130590 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current v)3330 1 187240 u
+(ertical place in current di)3330 1 225970 u
+(v)329010 v
+(ersion; equal to)3330 1 333860 u
+&13
+(nl)400510 v
+&11
+(, if no di)3330 1 408850 u
+(v)444980 v
+(ersion.)449830 v
+[ /Dest /Anchor$n$5f$2ed
+/Rect [187240 -305800 476770 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 316800 w
+[ /Dest /Anchor$n$5f$2edefpenalty
+/Rect [88515 -317800 101015 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.defpenalty)122530 v
+[ /Dest /Anchor$n$5f$2edefpenalty
+/Rect [122530 -317800 170030 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Def)187240 v
+(ault line breaking penalty)3330 1 202130 u
+(.)305900 v
+[ /Dest /Anchor$n$5f$2edefpenalty
+/Rect [187240 -317800 308400 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5.4)88515 328800 w
+[ /Dest /Anchor$n$5f$2edescender
+/Rect [88515 -329800 101015 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.descender)122530 v
+[ /Dest /Anchor$n$5f$2edescender
+/Rect [122530 -329800 167800 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Descender of current font and point size.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2edescender
+/Rect [187240 -329800 355230 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.4)88515 340800 w
+[ /Dest /Anchor$n$5f$2edilev
+/Rect [88515 -341800 101015 -332800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.dile)122530 v
+(v)140440 v
+[ /Dest /Anchor$n$5f$2edilev
+/Rect [122530 -341800 145440 -332800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current di)3330 1 187240 u
+(v)228650 v
+(ersion le)3330 1 233500 u
+(v)268240 v
+(el.)273090 v
+[ /Dest /Anchor$n$5f$2edilev
+/Rect [187240 -341800 282810 -332800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(17)83515 352800 w
+[ /Dest /Anchor$n$5f$2eev
+/Rect [83515 -353800 93515 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.e)122530 v
+(v)129320 v
+[ /Dest /Anchor$n$5f$2eev
+/Rect [122530 -353800 134320 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Name of current en)3330 1 187240 u
+(vironment [sic].)3330 1 266800 u
+[ /Dest /Anchor$n$5f$2eev
+/Rect [187240 -353800 331510 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.2)88515 364800 w
+[ /Dest /Anchor$n$5f$2ef
+/Rect [88515 -365800 101015 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.f)122530 v
+[ /Dest /Anchor$n$5f$2ef
+/Rect [122530 -365800 128360 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current font as ph)3330 1 187240 u
+(ysical quadrant \(1\001255\).)3330 1 262170 u
+[ /Dest /Anchor$n$5f$2ef
+/Rect [187240 -365800 359640 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.2)88515 376800 w
+[ /Dest /Anchor$n$5f$2efp
+/Rect [88515 -377800 101015 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.fp)122530 v
+[ /Dest /Anchor$n$5f$2efp
+/Rect [122530 -377800 133920 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Ne)187240 v
+(xt unused ph)3330 1 198750 u
+(ysical font quadrant.)3330 1 251470 u
+[ /Dest /Anchor$n$5f$2efp
+/Rect [187240 -377800 335060 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 388800 w
+[ /Dest /Anchor$n$5f$2efzoom
+/Rect [88515 -389800 101015 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.fzoom)122530 v
+[ /Dest /Anchor$n$5f$2efzoom
+/Rect [122530 -389800 151130 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current font zoom f)3330 1 187240 u
+(actor \(may be a decimal fraction\).)3330 1 269340 u
+[ /Dest /Anchor$n$5f$2efzoom
+/Rect [187240 -389800 409000 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(20)83515 400800 w
+[ /Dest /Anchor$n$5f$2eF
+/Rect [83515 -401800 93515 -392800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.F)122530 v
+[ /Dest /Anchor$n$5f$2eF
+/Rect [122530 -401800 131140 -392800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current input)3330 1 187240 u
+(\003le name [sic].)3330 1 245010 u
+[ /Dest /Anchor$n$5f$2eF
+/Rect [187240 -401800 306380 -392800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4)88515 412800 w
+[ /Dest /Anchor$n$5f$2eh
+/Rect [88515 -413800 93515 -404800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+[ /Dest /Anchor$n$5f$2eh
+/Rect [122530 -413800 130590 -404800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(T)187240 v
+(e)192650 v
+(xt base\001line high\001w)3330 1 196940 u
+(ater mark on current page or di)3330 1 275710 u
+(v)404290 v
+(ersion.)409140 v
+[ /Dest /Anchor$n$5f$2eh
+/Rect [187240 -413800 436080 -404800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 424800 w
+[ /Dest /Anchor$n$5f$2ehlc
+/Rect [83515 -425800 93515 -416800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.hlc)122530 v
+[ /Dest /Anchor$n$5f$2ehlc
+/Rect [122530 -425800 137810 -416800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current number of consecuti)3330 1 187240 u
+(v)304180 v
+(e h)3330 1 309030 u
+(yphenated lines.)3330 1 321750 u
+[ /Dest /Anchor$n$5f$2ehlc
+/Rect [187240 -425800 387570 -416800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 436800 w
+[ /Dest /Anchor$n$5f$2ehlm
+/Rect [83515 -437800 93515 -428800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.hlm)122530 v
+[ /Dest /Anchor$n$5f$2ehlm
+/Rect [122530 -437800 141700 -428800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Maximum number of consecuti)3330 1 187240 u
+(v)315300 v
+(e h)3330 1 320150 u
+(yphenated lines.)3330 1 332870 u
+[ /Dest /Anchor$n$5f$2ehlm
+/Rect [187240 -437800 398690 -428800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 448800 w
+[ /Dest /Anchor$n$5f$2ehy
+/Rect [83515 -449800 93515 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(y)130440 v
+[ /Dest /Anchor$n$5f$2ehy
+/Rect [122530 -449800 135440 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current h)3330 1 187240 u
+(yphenation)226070 v
+(\004ags.)273840 v
+[ /Dest /Anchor$n$5f$2ehy
+/Rect [187240 -449800 295230 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 460800 w
+[ /Dest /Anchor$n$5f$2ehylang
+/Rect [83515 -461800 93515 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(ylang)130440 v
+[ /Dest /Anchor$n$5f$2ehylang
+/Rect [122530 -461800 153780 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current h)3330 1 187240 u
+(yphenation language [sic].)3330 1 226070 u
+[ /Dest /Anchor$n$5f$2ehylang
+/Rect [187240 -461800 333540 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 472800 w
+[ /Dest /Anchor$n$2e$5fhylen
+/Rect [83515 -473800 93515 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(ylen)130440 v
+[ /Dest /Anchor$n$5f$2ehylen
+/Rect [122530 -473800 148220 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current minimum h)3330 1 187240 u
+(yphenation w)3330 1 268300 u
+(ord length.)3330 1 323190 u
+[ /Dest /Anchor$n$5f$2ehylen
+/Rect [187240 -473800 367350 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 484800 w
+[ /Dest /Anchor$n$2e$5fhypp
+/Rect [83515 -485800 93515 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(ypp)130440 v
+[ /Dest /Anchor$n$5f$2ehypp
+/Rect [122530 -485800 146560 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Penalty for h)3330 1 187240 u
+(yphen in)3330 1 240510 u
+&13
+(ad p)3330 1 279390 u
+&11
+(mode.)302170 v
+[ /Dest /Anchor$n$5f$2ehypp
+/Rect [187240 -485800 326890 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 496800 w
+[ /Dest /Anchor$n$2e$5fhypp2
+/Rect [83515 -497800 93515 -488800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(ypp2)130440 v
+[ /Dest /Anchor$n$5f$2ehypp2
+/Rect [122530 -497800 151560 -488800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Penalty for consecuti)3330 1 187240 u
+(v)273080 v
+(e h)3330 1 277930 u
+(yphens in)3330 1 290650 u
+&13
+(ad)333420 v
+(p)347310 v
+&11
+(mode.)356200 v
+[ /Dest /Anchor$n$5f$2ehypp2
+/Rect [187240 -497800 380920 -488800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 508800 w
+[ /Dest /Anchor$n$2e$5fhypp3
+/Rect [83515 -509800 93515 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.h)122530 v
+(ypp3)130440 v
+[ /Dest /Anchor$n$5f$2ehypp3
+/Rect [122530 -509800 151560 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Penalty for h)3330 1 187240 u
+(yphenating the last w)3330 1 240510 u
+(ord of a paragraph in)3330 1 328170 u
+&13
+(ad)418680 v
+(p)432570 v
+&11
+(mode.)441460 v
+[ /Dest /Anchor$n$5f$2ehypp3
+/Rect [187240 -509800 466180 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 520800 w
+[ /Dest /Anchor$n$5f$2eH
+/Rect [83515 -521800 101015 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.H)122530 v
+[ /Dest /Anchor$n$5f$2eH
+/Rect [122530 -521800 132810 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(A)187240 v
+(v)193720 v
+(ailable horizontal resolution in basic units.)3330 1 198470 u
+[ /Dest /Anchor$n$5f$2eH
+/Rect [187240 -521800 372610 -512800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(6)88515 532800 w
+[ /Dest /Anchor$n$5f$2ei
+/Rect [88515 -533800 93515 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.i)122530 v
+[ /Dest /Anchor$n$5f$2ei
+/Rect [122530 -533800 127810 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current indent as set by)3330 1 187240 u
+&13
+(in)288880 v
+&11
+(.)297220 v
+[ /Dest /Anchor$n$5f$2ei
+/Rect [187240 -533800 299720 -524800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(6)88515 544800 w
+[ /Dest /Anchor$n$5f$2ein
+/Rect [88515 -545800 93515 -536800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.in)122530 v
+[ /Dest /Anchor$n$5f$2ein
+/Rect [122530 -545800 133370 -536800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current indent including temporary indent, if an)3330 1 187240 u
+(y)384550 v
+(.)388900 v
+[ /Dest /Anchor$n$5f$2ein
+/Rect [187240 -545800 391400 -536800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.2)88515 556800 w
+[ /Dest /Anchor$n$5f$2eint
+/Rect [88515 -557800 101015 -548800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.int)122530 v
+[ /Dest /Anchor$n$5f$2eint
+/Rect [122530 -557800 136700 -548800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Non\001zero if the pre)3330 1 187240 u
+(vious line w)3330 1 265840 u
+(as interrupted with)3330 1 316290 u
+&13
+(\017c)396270 v
+&11
+(.)403490 v
+[ /Dest /Anchor$n$5f$2eint
+/Rect [187240 -557800 405990 -548800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4)88515 568800 w
+[ /Dest /Anchor$n$5f$2ej
+/Rect [88515 -569800 93515 -560800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.j)122530 v
+[ /Dest /Anchor$n$5f$2ej
+/Rect [122530 -569800 128360 -560800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current)187240 v
+&13
+(ad)221120 v
+&11
+(mode.)235010 v
+[ /Dest /Anchor$n$5f$2ej
+/Rect [187240 -569800 259730 -560800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 580800 w
+[ /Dest /Anchor$n$5f$2ek
+/Rect [88515 -581800 101015 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.k)122530 v
+[ /Dest /Anchor$n$5f$2ek
+/Rect [122530 -581800 130590 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current output horizontal position.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ek
+/Rect [187240 -581800 328620 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.2)88515 592800 w
+[ /Dest /Anchor$n$5f$2ekc
+/Rect [88515 -593800 101015 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.kc)122530 v
+[ /Dest /Anchor$n$5f$2ekc
+/Rect [122530 -593800 135030 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Output horizontal length of interrupted w)3330 1 187240 u
+(ord, if an)3330 1 356550 u
+(y)394440 v
+(.)398790 v
+[ /Dest /Anchor$n$5f$2ekc
+/Rect [187240 -593800 401290 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(6)88515 604800 w
+[ /Dest /Anchor$n$5f$2el
+/Rect [88515 -605800 93515 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.l)122530 v
+[ /Dest /Anchor$n$5f$2el
+/Rect [122530 -605800 127810 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current line length.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2el
+/Rect [187240 -605800 266950 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(14)83515 616800 w
+[ /Dest /Anchor$n$5f$2elt
+/Rect [83515 -617800 93515 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lt)122530 v
+[ /Dest /Anchor$n$5f$2elt
+/Rect [122530 -617800 131140 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current title length.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elt
+/Rect [187240 -617800 267510 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.1)88515 628800 w
+[ /Dest /Anchor$n$5f$2elc$5fctype
+/Rect [88515 -629800 101015 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lc_ctype)122530 v
+[ /Dest /Anchor$n$5f$2elc$5fctype
+/Rect [122530 -629800 160020 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current)187240 v
+9 s
+(LC_CTYPE)221120 v
+10 s
+(locale [sic].)3330 1 268955 u
+[ /Dest /Anchor$n$5f$2elc$5fctype
+/Rect [187240 -629800 316435 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 640800 w
+[ /Dest /Anchor$n$5f$2eletss
+/Rect [88515 -641800 101015 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.letss)122530 v
+[ /Dest /Anchor$n$5f$2eletss
+/Rect [122530 -641800 143360 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current dynamic letter space threshold.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2eletss
+/Rect [187240 -641800 348030 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(20)83515 652800 w
+[ /Dest /Anchor$n$5f$2elpfx
+/Rect [83515 -653800 93515 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lpfx)122530 v
+[ /Dest /Anchor$n$5f$2elpfx
+/Rect [122530 -653800 141700 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current line pre\003x [sic].)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elpfx
+/Rect [187240 -653800 286380 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 664800 w
+[ /Dest /Anchor$n$5f$2elshmin
+/Rect [88515 -665800 101015 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lshmin)122530 v
+[ /Dest /Anchor$n$5f$2elshmin
+/Rect [122530 -665800 153930 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current minimum dynamic letter shape \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elshmin
+/Rect [187240 -665800 467440 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 676800 w
+[ /Dest /Anchor$n$5f$2elshmax
+/Rect [88515 -677800 101015 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lshmax)122530 v
+[ /Dest /Anchor$n$5f$2elshmax
+/Rect [122530 -677800 155590 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current maximum dynamic letter shape \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elshmax
+/Rect [187240 -677800 469100 -668800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 688800 w
+[ /Dest /Anchor$n$5f$2elspmin
+/Rect [88515 -689800 101015 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lspmin)122530 v
+[ /Dest /Anchor$n$5f$2elspmin
+/Rect [122530 -689800 153930 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current minimum dynamic letter space \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elspmin
+/Rect [187240 -689800 466880 -680800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 700800 w
+[ /Dest /Anchor$n$5f$2elspmax
+/Rect [88515 -701800 101015 -692800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.lspmax)122530 v
+[ /Dest /Anchor$n$5f$2elspmax
+/Rect [122530 -701800 155590 -692800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current maximum dynamic letter space \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2elspmax
+/Rect [187240 -701800 468540 -692800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5.1)88515 712800 w
+[ /Dest /Anchor$n$5f$2eL
+/Rect [88515 -713800 101015 -704800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.L)122530 v
+[ /Dest /Anchor$n$5f$2eL
+/Rect [122530 -713800 131700 -704800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current)187240 v
+&13
+(ls)221120 v
+&11
+(v)231120 v
+(alue.)235870 v
+[ /Dest /Anchor$n$5f$2eL
+/Rect [187240 -713800 255030 -704800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 724800 w
+[ /Dest /Anchor$n$5f$2eminss
+/Rect [88515 -725800 101015 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.minss)122530 v
+[ /Dest /Anchor$n$5f$2eminss
+/Rect [122530 -725800 149480 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current minimum space size.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2eminss
+/Rect [187240 -725800 306940 -716800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\001)294340 760800 w
+(17)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 17 17
+%%Page: 18 18
+save
+mark
+18 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(4)88515 84000 w
+[ /Dest /Anchor$n$5f$2en
+/Rect [88515 -85000 93515 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.n)122530 v
+[ /Dest /Anchor$n$5f$2en
+/Rect [122530 -85000 130590 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Length of te)3330 1 187240 u
+(xt portion on pre)3330 1 237630 u
+(vious output line.)3330 1 306810 u
+[ /Dest /Anchor$n$5f$2en
+/Rect [187240 -85000 378200 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5)88515 96000 w
+[ /Dest /Anchor$n$5f$2ens
+/Rect [88515 -97000 93515 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.ns)122530 v
+[ /Dest /Anchor$n$5f$2ens
+/Rect [122530 -97000 134480 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Non\001zero if no\001space mode is acti)3330 1 187240 u
+(v)326380 v
+(e.)331230 v
+[ /Dest /Anchor$n$5f$2ens
+/Rect [187240 -97000 338170 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 108000 w
+[ /Dest /Anchor$n$5f$2enhychar
+/Rect [83515 -109000 93515 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.nh)122530 v
+(ychar)136000 v
+[ /Dest /Anchor$n$5f$2enhychar
+/Rect [122530 -109000 160440 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current h)3330 1 187240 u
+(yphenation\001inhibiting characters.)3330 1 226070 u
+[ /Dest /Anchor$n$5f$2enhychar
+/Rect [187240 -109000 359100 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(3)88515 120000 w
+[ /Dest /Anchor$n$5f$2eo
+/Rect [88515 -121000 93515 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.o)122530 v
+[ /Dest /Anchor$n$5f$2eo
+/Rect [122530 -121000 130030 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current page of)3330 1 187240 u
+(fset.)251410 v
+[ /Dest /Anchor$n$5f$2eo
+/Rect [187240 -121000 268350 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(3)88515 132000 w
+[ /Dest /Anchor$n$5f$2ep
+/Rect [88515 -133000 93515 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.p)122530 v
+[ /Dest /Anchor$n$5f$2ep
+/Rect [122530 -133000 130590 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current page length.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ep
+/Rect [187240 -133000 270830 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4)88515 144000 w
+[ /Dest /Anchor$n$5f$2epadj
+/Rect [88515 -145000 93515 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.padj)122530 v
+[ /Dest /Anchor$n$5f$2epadj
+/Rect [122530 -145000 144480 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current paragraph\001at\001once global setting.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2epadj
+/Rect [187240 -145000 354690 -136000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(3)88515 156000 w
+[ /Dest /Anchor$n$5f$2epn
+/Rect [88515 -157000 93515 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.pn)122530 v
+[ /Dest /Anchor$n$5f$2epn
+/Rect [122530 -157000 136150 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Number of ne)3330 1 187240 u
+(xt page.)3330 1 244290 u
+[ /Dest /Anchor$n$5f$2epn
+/Rect [187240 -157000 276780 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 168000 w
+[ /Dest /Anchor$n$5f$2eps
+/Rect [88515 -169000 101015 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.ps)122530 v
+[ /Dest /Anchor$n$5f$2eps
+/Rect [122530 -169000 134480 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current point size in units.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2eps
+/Rect [187240 -169000 296950 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 180000 w
+[ /Dest /Anchor$n$5f$2epsr
+/Rect [88515 -181000 101015 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.psr)122530 v
+[ /Dest /Anchor$n$5f$2epsr
+/Rect [122530 -181000 138920 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Last requested point size in units.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2epsr
+/Rect [187240 -181000 325270 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 192000 w
+[ /Dest /Anchor$n$5f$2erj
+/Rect [88515 -193000 101015 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.rj)122530 v
+[ /Dest /Anchor$n$5f$2erj
+/Rect [122530 -193000 132800 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Remaining number of lines to be right\001aligned.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2erj
+/Rect [187240 -193000 380260 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 204000 w
+[ /Dest /Anchor$n$5f$2es
+/Rect [88515 -205000 101015 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.s)122530 v
+[ /Dest /Anchor$n$5f$2es
+/Rect [122530 -205000 128920 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current point size \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2es
+/Rect [187240 -205000 380230 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(13)83515 216000 w
+[ /Dest /Anchor$n$5f$2eshc
+/Rect [83515 -217000 93515 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.shc)122530 v
+[ /Dest /Anchor$n$5f$2eshc
+/Rect [122530 -217000 138920 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current soft h)3330 1 187240 u
+(yphenation character [sic].)3330 1 244400 u
+[ /Dest /Anchor$n$5f$2eshc
+/Rect [187240 -217000 352410 -208000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 228000 w
+[ /Dest /Anchor$n$5f$2esentchar
+/Rect [88515 -229000 101015 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.sentchar)122530 v
+[ /Dest /Anchor$n$5f$2esentchar
+/Rect [122530 -229000 161690 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current sentence\001ending characters [sic].)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2esentchar
+/Rect [187240 -229000 353560 -220000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2.3)88515 240000 w
+[ /Dest /Anchor$n$5f$2esr
+/Rect [88515 -241000 101015 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.sr)122530 v
+[ /Dest /Anchor$n$5f$2esr
+/Rect [122530 -241000 133360 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Last requested point size \(may be a decimal fraction\).)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2esr
+/Rect [187240 -241000 408550 -232000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2)88515 252000 w
+[ /Dest /Anchor$n$5f$2ess
+/Rect [88515 -253000 93515 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.ss)122530 v
+[ /Dest /Anchor$n$5f$2ess
+/Rect [122530 -253000 132810 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current space size.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ess
+/Rect [187240 -253000 264710 -244000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(2)88515 264000 w
+[ /Dest /Anchor$n$5f$2esss
+/Rect [88515 -265000 93515 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.sss)122530 v
+[ /Dest /Anchor$n$5f$2esss
+/Rect [122530 -265000 136700 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current sentence space size.)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2esss
+/Rect [187240 -265000 302470 -256000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(9.1)88515 276000 w
+[ /Dest /Anchor$n$5f$2eS
+/Rect [88515 -277000 101015 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.S)122530 v
+[ /Dest /Anchor$n$5f$2eS
+/Rect [122530 -277000 130590 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current tab stops such that the)3330 1 187240 u
+(y can be passed back to)3330 1 312620 u
+&13
+(ta)414240 v
+&11
+(.)422570 v
+[ /Dest /Anchor$n$5f$2eS
+/Rect [187240 -277000 425070 -268000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.5)88515 288000 w
+[ /Dest /Anchor$n$5f$2et
+/Rect [88515 -289000 101015 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.t)122530 v
+[ /Dest /Anchor$n$5f$2et
+/Rect [122530 -289000 128360 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Distance to the ne)3330 1 187240 u
+(xt trap.)3330 1 261510 u
+[ /Dest /Anchor$n$5f$2et
+/Rect [187240 -289000 290670 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(9.1)88515 300000 w
+[ /Dest /Anchor$n$5f$2etabs
+/Rect [88515 -301000 101015 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.tabs)122530 v
+[ /Dest /Anchor$n$5f$2etabs
+/Rect [122530 -301000 142810 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current tab stops such that the)3330 1 187240 u
+(y can be passed back to)3330 1 312620 u
+&13
+(ta)414240 v
+&11
+(.)422570 v
+[ /Dest /Anchor$n$5f$2etabs
+/Rect [187240 -301000 425070 -292000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 312000 w
+[ /Dest /Anchor$n$5f$2etranschar
+/Rect [88515 -313000 101015 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.transchar)122530 v
+[ /Dest /Anchor$n$5f$2etranschar
+/Rect [122530 -313000 166690 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current characters transparent for sentence\001ending [sic].)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2etranschar
+/Rect [187240 -313000 416310 -304000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\012)89765 324000 w
+&13
+(.T)122530 v
+&11
+(Set to 1 in)3330 1 187240 u
+&12
+(nr)233900 v
+(of)242340 v
+(f)249940 v
+(,)252620 v
+&11
+(if)258450 v
+&13
+(\012T)267890 v
+&11
+(option used; al)3330 1 282890 u
+(w)343340 v
+(ays 0 in)3330 1 350460 u
+&12
+(tr)386560 v
+(of)392780 v
+(f)400380 v
+(.)403010 v
+&11
+(4.1)88515 336000 w
+[ /Dest /Anchor$n$5f$2eu
+/Rect [88515 -337000 101015 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.u)122530 v
+[ /Dest /Anchor$n$5f$2eu
+/Rect [122530 -337000 130590 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Equal to 1 in)3330 1 187240 u
+(\003ll mode and 0 in no\003ll mode.)3330 1 244450 u
+[ /Dest /Anchor$n$5f$2eu
+/Rect [187240 -337000 370830 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(5.1)88515 348000 w
+[ /Dest /Anchor$n$5f$2ev
+/Rect [88515 -349000 101015 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.v)122530 v
+[ /Dest /Anchor$n$5f$2ev
+/Rect [122530 -349000 130030 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current v)3330 1 187240 u
+(ertical line spacing.)3330 1 225970 u
+[ /Dest /Anchor$n$5f$2ev
+/Rect [187240 -349000 305670 -340000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.5)88515 360000 w
+[ /Dest /Anchor$n$5f$2evpt
+/Rect [88515 -361000 101015 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.vpt)122530 v
+[ /Dest /Anchor$n$5f$2evpt
+/Rect [122530 -361000 138920 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(V)187240 v
+(ertical position traps enabled \(1\) or disabled \(0\).)3330 1 193350 u
+[ /Dest /Anchor$n$5f$2evpt
+/Rect [187240 -361000 391900 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.1)83515 372000 w
+[ /Dest /Anchor$n$5f$2eV
+/Rect [83515 -373000 101015 -364000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.V)122530 v
+[ /Dest /Anchor$n$5f$2eV
+/Rect [122530 -373000 132250 -364000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(A)187240 v
+(v)193720 v
+(ailable v)3330 1 198470 u
+(ertical resolution in basic units.)3330 1 233310 u
+[ /Dest /Anchor$n$5f$2eV
+/Rect [187240 -373000 361900 -364000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(11.2)83515 384000 w
+[ /Dest /Anchor$n$5f$2ew
+/Rect [83515 -385000 101015 -376000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.w)122530 v
+[ /Dest /Anchor$n$5f$2ew
+/Rect [122530 -385000 132250 -376000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(W)187240 v
+(idth of pre)3330 1 196280 u
+(vious character)3330 1 239350 u
+(.)300440 v
+[ /Dest /Anchor$n$5f$2ew
+/Rect [187240 -385000 302940 -376000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(21)83515 396000 w
+[ /Dest /Anchor$n$5f$2ewarn
+/Rect [83515 -397000 93515 -388000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.war)122530 v
+(n)141540 v
+[ /Dest /Anchor$n$5f$2ewarn
+/Rect [122530 -397000 147100 -388000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Currently acti)3330 1 187240 u
+(v)243090 v
+(ated w)3330 1 247840 u
+(arning cate)3330 1 274950 u
+(gories.)319780 v
+[ /Dest /Anchor$n$5f$2ewarn
+/Rect [187240 -397000 346720 -388000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 408000 w
+[ /Dest /Anchor$n$5f$2ex
+/Rect [88515 -409000 101015 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.x)122530 v
+[ /Dest /Anchor$n$5f$2ex
+/Rect [122530 -409000 130030 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Remaining horizontal space on current output line.*)3330 1 187240 u
+[ /Dest /Anchor$n$5f$2ex
+/Rect [187240 -409000 400250 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(1.1)88515 420000 w
+[ /Dest /Anchor$n$5f$2eX
+/Rect [88515 -421000 101015 -412000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.X)122530 v
+[ /Dest /Anchor$n$5f$2eX
+/Rect [122530 -421000 132250 -412000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current e)3330 1 187240 u
+(xtension le)3330 1 225410 u
+(v)269600 v
+(el.)274450 v
+[ /Dest /Anchor$n$5f$2eX
+/Rect [187240 -421000 284170 -412000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(6)88515 432000 w
+[ /Dest /Anchor$n$5f$2ey
+/Rect [88515 -433000 93515 -424000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.y)122530 v
+[ /Dest /Anchor$n$5f$2ey
+/Rect [122530 -433000 130030 -424000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Current indent including temporary indent, if an)3330 1 187240 u
+(y)384550 v
+(.*)388900 v
+[ /Dest /Anchor$n$5f$2ey
+/Rect [187240 -433000 396400 -424000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(7.4)88515 444000 w
+[ /Dest /Anchor$n$5f$2ez
+/Rect [88515 -445000 101015 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(.z)122530 v
+[ /Dest /Anchor$n$5f$2ez
+/Rect [122530 -445000 129470 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Name [sic] of current di)3330 1 187240 u
+(v)286390 v
+(ersion.)291240 v
+[ /Dest /Anchor$n$5f$2ez
+/Rect [187240 -445000 318180 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 456000 w
+[ /Dest /Anchor$n$5flsn
+/Rect [88515 -457000 101015 -448000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(lsn)122530 v
+[ /Dest /Anchor$n$5flsn
+/Rect [122530 -457000 134760 -448000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Number of leading spaces of a input line in)3330 1 187240 u
+(\003ll mode.)3330 1 369960 u
+[ /Dest /Anchor$n$5flsn
+/Rect [187240 -457000 409130 -448000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(4.1)88515 468000 w
+[ /Dest /Anchor$n$5flss
+/Rect [88515 -469000 101015 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(lss)122530 v
+[ /Dest /Anchor$n$5flss
+/Rect [122530 -469000 133090 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(Horizontal space corresponding to a line with leading spaces in)3330 1 187240 u
+(\003ll mode.)3330 1 451050 u
+[ /Dest /Anchor$n$5flss
+/Rect [187240 -469000 490220 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 695000 w
+&20
+(\005)72000 708000 w
+&11
+(The)77333 v
+&13
+(.x)93186 v
+&11
+(and)102599 v
+&13
+(.y)117564 v
+&11
+(re)126977 v
+(gisters had been described as)3413 1 133073 u
+(\027)235002 v
+(\027reserv)237074 v
+(ed v)3413 1 259162 u
+(ersion\001dependent re)3413 1 274007 u
+(gisters\030)338612 v
+( pre)3413(\030 in)2821 2 361572 u
+( semantics ha)3413( Their)5933(vious editions.)3413 3 386710 u
+(v)503826 v
+(e actually)3414 1 507706 u
+(been as described from 7th Edition)2664 1 72000 718000 t
+&12
+(tr)189744 v
+(of)194720 v
+(f)200800 v
+&11
+(on.)205688 v
+10 s
+(\001)294340 760800 w
+(18)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 18 18
+%%Page: 19 19
+save
+mark
+19 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$36
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$part$5freference
+ /View [/XYZ -4 648 0]
+/DEST pdfmark
+12 @13 f
+(REFERENCE MANU)3996 1 240366 156000 t
+(AL)354966 v
+[ /Dest /Anchor$s$5fgeneral
+ /View [/XYZ -4 619.2 0]
+/DEST pdfmark
+10 s
+( Explanation)3330(1. General)6660 2 72000 184800 t
+[ /Dest /Bookmark$37
+ /View [/XYZ -4 619.2 0]
+/DEST pdfmark
+&12
+(1.1.)72000 201600 w
+(F)88666 v
+(orm of input.)3330 1 93726 u
+[ /Dest /Bookmark$38
+ /View [/XYZ -4 602.4 0]
+/DEST pdfmark
+&11
+(Input consists of)4131 1 151466 u
+&12
+(te)224969 v
+(xt lines)4131 1 231989 u
+&11
+(, which are destined to be printed, interspersed with)4131 1 262230 u
+&12
+(contr)486039 v
+(ol lines)4131 1 506699 u
+&11
+(,)537500 v
+( lines be)3517( Control)6847( or otherwise control subsequent processing.)3517
+(which set parameters)3518 4 72000 213600 t
+(gin with a)3517 1 413912 u
+&12
+(contr)459463 v
+(ol c)3517 1 480123 u
+(har)495710 v
+(acter)509450 v
+&11
+(\006)530000 v
+(normally)72000 225600 w
+&13
+(.)112096 v
+&11
+(\(period\) or)3986 1 118582 u
+&13
+(\013)167094 v
+&11
+(\(acute accent\)\006follo)3986 1 174410 u
+(wed by a name that speci\003es a basic)3987 1 260336 u
+&12
+(r)419422 v
+(equest)422942 v
+&11
+(or the substitution of)3987 1 452479 u
+(a user)4627 1 72000 237600 t
+(\001de\003ned)97527 v
+&12
+(macr)134924 v
+(o)155024 v
+&11
+( control character)4627( The)7777(in place of the control line.)4627 3 164651 u
+&13
+(\013)385224 v
+&11
+(suppresses the)4627 1 393181 u
+&12
+(br)457424 v
+(eak)465944 v
+&11
+(function\006the)484450 v
+(forced output of a partially)3626 1 72000 249600 t
+( may be separated from)3627( control character)3626( The)6776
+(\003lled line\006caused by certain requests.)3626 4 187330 u
+( must be follo)4289( Names)7619( and/or tabs\) for esthetic reasons.)4289
+(the request/macro name by white space \(spaces)4290 4 72000 261600 t
+(wed by)4289 1 509051 u
+(either space or ne)3330 1 72000 273600 t
+( lines with unrecognized names are ignored.)3330(wline. Control)6660 2 144490 u
+(V)72000 290400 w
+(arious special functions may be introduced an)3711 1 78110 u
+(ywhere in the input by means of an)3711 1 268526 u
+&12
+(escape)421524 v
+&11
+(character)452446 v
+(, normally)3712 1 488686 u
+&13
+(\017)534720 v
+&11
+(.)537500 v
+(F)72000 302400 w
+(or e)4092 1 77410 u
+(xample, the function)4092 1 94122 u
+&13
+(\017n)183888 v
+&12
+(R)192228 v
+[ /Dest /Anchor$e$5fn
+/Rect [183888 -303400 198338 -294400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the)4091(causes the interpolation of the contents of)4092 2 202430 u
+&12
+(number r)4091 1 399024 u
+(e)437185 v
+(gister R)4091 1 441225 u
+&11
+(in place of the)4091 1 478297 u
+(function; here)3847 1 72000 314400 t
+&12
+(R)133014 v
+&11
+( as in)3848(is either a single character name)3847 2 142971 u
+&13
+(\017n)305930 v
+&12
+(x)314270 v
+&11
+(, a left\001parenthesis\001introduced, tw)3848 1 318710 u
+(o\001character name as)3848 1 457344 u
+(in)72000 326400 w
+&13
+(\017n\()83110 v
+&12
+(xx)94780 v
+&11
+(, or a left\001brack)3330 1 103660 u
+(et\001introduced, multiple character name as in)3330 1 167690 u
+&13
+(\017n[)351240 v
+&12
+(xxx)362910 v
+&11
+(].)376230 v
+[ /Dest /Anchor$c$5fextension
+ /View [/XYZ -4 460.8 0]
+/DEST pdfmark
+(In traditional)4316 1 72000 343200 t
+&12
+(tr)130072 v
+(of)136292 v
+(f)143892 v
+(,)146572 v
+&11
+(only one and tw)4317 1 153389 u
+(o character names were permitted for request, macro, string, number re)4317 1 222900 u
+(gis\001)525000 v
+(ter)72000 355200 w
+( Heirloom)6791(, and font names.)3461 2 82150 u
+&12
+(tr)202215 v
+(of)208435 v
+(f)216035 v
+&11
+( arbitrary number of)3460(can accept names containing a \(nearly\))3461 2 222276 u
+9 s
+(ASCII)470011 v
+10 s
+(characters.)496970 v
+(Escape)72000 367200 w
+[ /Dest /Anchor$e$5fI
+ /View [/XYZ -4 436.8 0]
+/DEST pdfmark
+&13
+(\017I)103838 v
+&11
+(\026)110508 v
+&12
+(string)112308 v
+&11
+(\026 can by used to test if)3518 1 135648 u
+&12
+(string)232064 v
+&11
+( v)3519(is a)3518 2 258922 u
+( def)3519( By)6849(alid identi\003er name.)3519 3 281819 u
+(ault, request and macro names are)3519 1 398835 u
+(still required to contain at most tw)4052 1 72000 379200 t
+( The)7202(o characters for compatibility reasons.)4052 2 218432 u
+&13
+(\012x)404464 v
+&11
+(command line option, the)4051 1 418516 u
+&13
+(do)529440 v
+[ /Dest /Anchor$do
+/Rect [529440 -380200 540000 -371200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request, or the)3709 1 72000 391200 t
+&13
+(xflag)135057 v
+[ /Dest /Anchor$xflag
+/Rect [135057 -392200 156167 -383200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request mak)3709 1 159876 u
+(e the longer names a)3709 1 209585 u
+(v)296421 v
+( current e)3710(ailable. The)6859 2 301171 u
+(xtension le)3710 1 392770 u
+(v)437340 v
+(el is a)3710 1 442190 u
+(v)467740 v
+(ailable in the)3710 1 472490 u
+[ /Dest /Anchor$n$5f$2eX
+ /View [/XYZ -4 412.8 0]
+/DEST pdfmark
+&13
+(.X)530280 v
+&11
+(re)72000 403200 w
+(gister)79620 v
+(.)101290 v
+(F)72000 420000 w
+(our le)3330 1 77410 u
+(v)101040 v
+(els of e)3330 1 105890 u
+(xtension a)3330 1 136280 u
+(v)177740 v
+(ailability are currently de\003ned:)3330 1 182490 u
+(0)72000 436800 w
+(disables all e)4361 1 80330 u
+(xtensions e)4362 1 135562 u
+( T)4182(xcept for locale\001dependent input and)4362 2 181994 u
+(ype)345564 v
+(1/OpenT)363334 v
+(ype/T)398084 v
+(rueT)421064 v
+(ype font selection using)4362 1 439144 u
+&13
+(fp)80330 448800 w
+[ /Dest /Anchor$fp
+/Rect [80330 -449800 89220 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the)4194(. Since)7524 2 89220 u
+&13
+(do)142072 v
+[ /Dest /Anchor$do
+/Rect [142072 -449800 152632 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is not a)4194 1 156826 u
+(v)221978 v
+(ailable at this le)4194 1 226728 u
+(v)294610 v
+(el, it is not possible to change to another e)4194 1 299460 u
+(xtension le)4194 1 482876 u
+(v)527930 v
+(el)532780 v
+(ag)80330 460800 w
+( is most useful to print unmaintained documents for which an)3330(ain. It)6660 2 89720 u
+(y adaption w)3330 1 370900 u
+(ould be too tedious.)3330 1 424120 u
+(1)72000 477600 w
+(enables e)4234 1 80330 u
+(xtensions e)4234 1 118844 u
+( to long names, i.e.,)4235(xcept for direct access)4234 2 165148 u
+&13
+(.abcde)348985 v
+&11
+(will be interpreted as request)4235 1 380720 u
+&13
+(ab)507425 v
+[ /Dest /Anchor$ab
+/Rect [507425 -478600 517985 -469600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(with)522220 v
+(ar)80330 489600 w
+(gument)87920 v
+&13
+(cde)121360 v
+&11
+(, and)3440 1 135800 u
+&13
+(\017*[xyz])159620 v
+&11
+(refers to the string named)3440 1 191940 u
+&13
+([)301340 v
+&11
+(follo)308110 v
+(wed by the te)3440 1 326750 u
+(xt)383020 v
+&13
+(xyz])394240 v
+&11
+( names can be accessed)3440(. Long)6770 2 412010 u
+(using the)3330 1 80330 501600 t
+&13
+(do)120880 v
+&11
+(request)134770 v
+[ /Dest /Anchor$do
+/Rect [120880 -502600 163650 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, e.g.)3330 1 163650 u
+&13
+(.do de abcde)3330 1 187250 u
+&11
+(,)241970 v
+&13
+(.do if 1)3330 1 247800 u
+(\017*[xyz])281960 v
+&11
+( le)3330(. This)6480 2 310840 u
+(v)347900 v
+(el is the def)3330 1 352750 u
+(ault.)401520 v
+(2)72000 518400 w
+( request lines and escape sequences, i.e.,)4088
+(enables direct access to long names on)4087 2 80330 u
+&13
+(.abcde)419498 v
+&11
+(will be interpreted as)4088 1 451086 u
+(macro)80330 530400 w
+&13
+(abcde)110064 v
+&11
+(, and)4744 1 135064 u
+&13
+(\017*[xyz])161492 v
+&11
+(refers to the string named)4743 1 195115 u
+&13
+(xyz)311030 v
+&11
+( an unde\003ned long name is read, its)4743(. If)8073 2 325470 u
+(\003rst tw)4743 1 504797 u
+(o)535000 v
+( interpreted as a short request using the remaining characters as ar)3773
+(characters are)3772 2 80330 542400 t
+( if a macro)3773(gument. So)7103 2 414205 u
+&13
+(abcde)515000 v
+&11
+(is de\003ned,)4139 1 80330 554400 t
+&13
+(.abcde)127218 v
+&11
+(will e)4139 1 158857 u
+(x)182846 v
+(ecute it, b)4139 1 187696 u
+(ut otherwise,)4139 1 229934 u
+&13
+(.abcde)287372 v
+&11
+(continues to e)4139 1 319011 u
+(x)377689 v
+(ecute)382539 v
+&13
+(ab)407778 v
+&11
+( and number re)4138(. String)7468 2 418338 u
+(gister)517780 v
+(references are only interpreted if the)3758 1 80330 566400 t
+(y start in the)3758 1 231690 u
+(\003rst tw)3758 1 288942 u
+( of a name, i.e. no string interpretation is)3759(o characters)3758 2 318160 u
+(performed on input)3330 1 80330 578400 t
+&13
+(.ab\017*\(xy)162530 v
+&11
+(.)196700 v
+(3)72000 595200 w
+(ignores unde\003ned long requests e)3735 1 80330 u
+(v)218890 v
+(en if the)3735 1 223740 u
+( pre\003x of a short request, and interprets string and number)3736
+(y form a)3735 2 258830 u
+(re)80330 607200 w
+(gister references in an)3330 1 87950 u
+(y position of a name.)3330 1 178310 u
+(It is recommended to e)3543 1 72000 624000 t
+(x)167672 v
+(ecute)172522 v
+&13
+(.do xflag 3)3543 1 197165 u
+&11
+(at the be)3543 1 246964 u
+(ginning of ne)3543 1 282780 u
+(w)337946 v
+&12
+(tr)348709 v
+(of)354929 v
+(f)362529 v
+&11
+(programs that need not rely on an)3544 1 368852 u
+(y e)3544 1 509386 u
+(xist\001)522220 v
+(ing code.)3330 1 72000 636000 t
+&12
+(1.2.)72000 652800 w
+(F)88666 v
+(ormatter and de)3330 1 93726 u
+(vice r)3330 1 159676 u
+(esolution.)182626 v
+[ /Dest /Bookmark$39
+ /View [/XYZ -4 151.2 0]
+/DEST pdfmark
+(tr)226085 v
+(of)232305 v
+(f)239905 v
+&11
+( in units that correspond to)4290
+(internally stores and processes dimensions)4289 2 246974 u
+(the particular de)4231 1 72000 664800 t
+( output is being prepared; v)4230(vice for which)4231 2 140192 u
+(alues from 300 to 72)4230 1 319524 u
+( See)7560(000/inch are typical.)4230 2 410880 u
+(\01527.)522500 v
+[ /Dest /Anchor$s$5fdevice
+/Rect [503830 -665800 540000 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(nr)72000 676800 w
+(of)80440 v
+(f)88040 v
+&11
+( to the least common multiple of the horizontal and v)4495
+(internally uses 240 units/inch, corresponding)4494 2 95314 u
+(ertical)515010 v
+(resolutions of v)3440 1 72000 688800 t
+(arious type)3440 1 135850 u
+(writer)180700 v
+(\001lik)204380 v
+(e output de)3440 1 218170 u
+(vices.)264240 v
+&12
+(tr)294060 v
+(of)300280 v
+(f)307880 v
+&11
+(rounds horizontal/v)3440 1 314100 u
+(ertical numerical parameter input to)3440 1 392940 u
+(the actual horizontal/v)3854 1 72000 700800 t
+(ertical resolution of the output de)3854 1 163988 u
+(vice indicated by the)3854 1 303548 u
+&13
+(\012T)394505 v
+&11
+(option \(def)3855 1 410030 u
+(ault)455445 v
+&13
+(ps)474300 v
+&11
+(\).)483750 v
+&12
+(nr)496765 v
+(of)505205 v
+(f)512805 v
+&11
+(simi\001)519440 v
+( actual resolution of the output de)4615
+(larly rounds numerical input to the)4616 2 72000 712800 t
+(vice indicated by the)4615 1 368050 u
+&20
+(\007)462050 v
+&13
+(T)467540 v
+&11
+(option \(def)4615 1 478825 u
+(ault)525000 v
+( T)3150(Model 37)3330 2 72000 724800 t
+(eletype\).)120000 v
+(\001)294340 760800 w
+(19)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 19 19
+%%Page: 20 20
+save
+mark
+20 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(1.3.)72000 84000 w
+[ /Dest /Anchor$c$5funits
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+(Numerical par)3330 1 88666 u
+(ameter input.)3330 1 147956 u
+[ /Dest /Bookmark$40
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&11
+(Both)206677 v
+&12
+(nr)230688 v
+(of)239128 v
+(f)246728 v
+&11
+(and)254069 v
+&12
+(tr)273070 v
+(of)279290 v
+(f)286890 v
+&11
+( scale indicators)4562(accept numerical input with the appended)4561 2 294231 u
+(sho)72000 96000 w
+(wn in the follo)3854 1 85640 u
+(wing table, where)3854 1 148062 u
+&12
+(S)225994 v
+&11
+(is the current type size in points,)3854 1 234848 u
+&12
+(V)376536 v
+&11
+( v)3853(is the current)3854 2 386500 u
+(ertical line spacing in)3853 1 450121 u
+(basic units, and)3330 1 72000 108000 t
+&12
+(C)138930 v
+&11
+(is a)3330 1 148930 u
+&12
+(nominal c)3330 1 166700 u
+(har)207100 v
+(acter width)3330 1 220840 u
+&11
+(in basic units.)3330 1 270280 u
+10 @11 f
+454655 124000 157345 124000 Dl
+(Scale)169565 134000 w
+(Number of basic units)3330 1 304455 u
+(Indicator)162345 146000 w
+(Meaning)233675 v
+&12
+(tr)304455 v
+(of)310675 v
+(f)318275 v
+(\012Tps)324385 v
+(nr)387725 v
+(of)396165 v
+(f)403765 v
+454655 150000 157345 150000 Dl
+&13
+(i)179005 160000 w
+&11
+(Inch)213445 v
+(72000)304455 v
+(240)387725 v
+&13
+(c)178175 172000 w
+&11
+(Centimeter)213445 v
+(72000)304455 v
+&20
+(\145)329455 v
+&11
+(50/127)334945 v
+(240)387725 v
+&20
+(\145)402725 v
+&11
+(50/127)408215 v
+&13
+(P)177340 184000 w
+&11
+(Pica = 1/6 inch)3330 1 213445 u
+(12000)304455 v
+(240/6)387725 v
+&13
+(m)176230 196000 w
+&11
+(Em =)3330 1 213445 u
+&12
+(S)239635 v
+&11
+(points)247965 v
+&12
+(S)304455 v
+(C)387725 v
+&13
+(n)177615 208000 w
+&11
+(En = Em/2)3330 1 213445 u
+&12
+(S)304455 v
+&11
+(/2)309455 v
+&12
+(C, same as Em)3330 1 387725 u
+&13
+(M)175675 220000 w
+&11
+(1/100 Em)3330 1 213445 u
+&12
+(S)304455 v
+&11
+(/100)309455 v
+&12
+(C)387725 v
+&11
+(/100)394395 v
+&13
+(p)174145 232000 w
+&11
+(,)179705 v
+&13
+(z)182205 v
+&11
+(Point = 1/72 inch)3330 1 213445 u
+(1000)304455 v
+(240/72)387725 v
+&13
+(u)174420 244000 w
+&11
+(,)179980 v
+&13
+(s)182480 v
+&11
+(Basic unit)3330 1 213445 u
+(1)304455 v
+(1)387725 v
+&13
+(t)178730 256000 w
+&11
+(Printer\030)213445 v
+(s point)3330 1 243445 u
+(72000)304455 v
+&20
+(\145)329455 v
+&11
+(100/7227)334945 v
+(240)387725 v
+&20
+(\145)402725 v
+&11
+(100/7227)408215 v
+&13
+(T)177060 268000 w
+&11
+(Printer\030)213445 v
+(s pica)3330 1 243445 u
+(72000)304455 v
+&20
+(\145)329455 v
+&11
+(400/2409)334945 v
+(240)387725 v
+&20
+(\145)402725 v
+&11
+(400/2409)408215 v
+&13
+(D)176785 280000 w
+&11
+(Didot point)3330 1 213445 u
+(72000)304455 v
+&20
+(\145)329455 v
+&11
+(24/1621)334945 v
+(240)387725 v
+&20
+(\145)402725 v
+&11
+(24/1621)408215 v
+&13
+(C)176785 292000 w
+&11
+(Cicero)213445 v
+(72000)304455 v
+&20
+(\145)329455 v
+&11
+(288/1621)334945 v
+(240)387725 v
+&20
+(\145)402725 v
+&11
+(288/1621)408215 v
+&13
+(v)177895 304000 w
+&11
+(V)213445 v
+(ertical line space)3330 1 219555 u
+&12
+(V)304455 v
+(V)387725 v
+&11
+(none)170675 316000 w
+(Def)213445 v
+(ault, see belo)3330 1 228335 u
+(w)282235 v
+454655 320000 157345 320000 Dl
+157345 124000 157345 320000 Dl
+205945 124000 205945 320000 Dl
+296955 124000 296955 320000 Dl
+380225 150000 380225 320000 Dl
+454655 124000 454655 320000 Dl
+(In)72000 342000 w
+&12
+(nr)85009 v
+(of)93449 v
+(f)101049 v
+(, both)4679 1 103729 u
+&11
+(the em and the en are tak)4679 1 133367 u
+(en to be equal to the)4679 1 246311 u
+&12
+(C)342705 v
+&11
+(, which is output\001de)4679 1 349375 u
+(vice dependent; common)4679 1 435102 u
+(v)72000 354000 w
+( character widths in)4035( Actual)6815(alues are 1/10 and 1/12 inch.)4036 3 76750 u
+&12
+(nr)320115 v
+(of)328555 v
+(f)336155 v
+&11
+(need not be all the same and constructed char)4035 1 342970 u
+(\001)536670 v
+(acters such as)3922 1 72000 366000 t
+&20
+(\007)133746 v
+&11
+(> \()3922 1 139236 u
+&20
+(\001)152128 v
+&11
+(\) are often e)3922 1 161998 u
+( def)3922( The)7072(xtra wide.)3922 3 214144 u
+(ault scaling is)3922 1 294770 u
+&13
+(m)356536 v
+&11
+(for the horizontally\001oriented requests and)3923 1 368788 u
+(functions)72000 378000 w
+&13
+(ll)114033 v
+[ /Dest /Anchor$ll
+/Rect [114033 -379000 119593 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)119593 v
+&13
+(in)126906 v
+[ /Dest /Anchor$in
+/Rect [126906 -379000 135246 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)135246 v
+&13
+(ti)142559 v
+[ /Dest /Anchor$ti
+/Rect [142559 -379000 148669 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)148669 v
+&13
+(ta)155982 v
+[ /Dest /Anchor$ta
+/Rect [155982 -379000 164312 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)164312 v
+&13
+(lt)171625 v
+[ /Dest /Anchor$lt
+/Rect [171625 -379000 177735 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)177735 v
+&13
+(po)185048 v
+[ /Dest /Anchor$po
+/Rect [185048 -379000 195608 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)195608 v
+&13
+(mc)202921 v
+[ /Dest /Anchor$mc
+/Rect [202921 -379000 215691 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)215691 v
+&13
+(spr)223004 v
+(ead)236714 v
+(war)251564 v
+(n)268074 v
+[ /Dest /Anchor$spreadwarn
+/Rect [223004 -379000 273634 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)273634 v
+&13
+(\017h)280947 v
+&11
+(,)289287 v
+[ /Dest /Anchor$e$5fh
+/Rect [280947 -379000 291787 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017l)296600 v
+&11
+(,)302160 v
+[ /Dest /Anchor$e$5fl
+/Rect [296600 -379000 304660 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( coordinates of)4812(and horizontal)4813 2 309473 u
+&13
+(\017D)438142 v
+&11
+(;)448142 v
+[ /Dest /Anchor$e$5fD
+/Rect [438142 -379000 450922 -370000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(v)455734 v
+&11
+(for the v)4812 1 465546 u
+(ertically\001)503900 v
+(oriented requests and functions)3692 1 72000 390000 t
+&13
+(pl)203968 v
+[ /Dest /Anchor$pl
+/Rect [203968 -391000 212308 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)212308 v
+&13
+(wh)218500 v
+[ /Dest /Anchor$wh
+/Rect [218500 -391000 231280 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)231280 v
+&13
+(ch)237472 v
+[ /Dest /Anchor$ch
+/Rect [237472 -391000 247472 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)247472 v
+&13
+(dt)253665 v
+[ /Dest /Anchor$dt
+/Rect [253665 -391000 262555 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)262555 v
+&13
+(sp)268748 v
+[ /Dest /Anchor$sp
+/Rect [268748 -391000 278198 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)278198 v
+&13
+(sv)284391 v
+[ /Dest /Anchor$sv
+/Rect [284391 -391000 293281 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)293281 v
+&13
+(ne)299474 v
+[ /Dest /Anchor$ne
+/Rect [299474 -391000 309474 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)309474 v
+&13
+(rt)315667 v
+[ /Dest /Anchor$rt
+/Rect [315667 -391000 323437 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)323437 v
+&13
+(\017v)329630 v
+&11
+(,)337410 v
+[ /Dest /Anchor$e$5fv
+/Rect [329630 -391000 339910 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017x)343603 v
+&11
+(,)351383 v
+[ /Dest /Anchor$e$5fx
+/Rect [343603 -391000 353883 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(\017L)357576 v
+&11
+(,)367026 v
+[ /Dest /Anchor$e$5fL
+/Rect [357576 -391000 369526 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and v)3693 1 373219 u
+(ertical coordinates of)3693 1 396202 u
+&13
+(\017D)486701 v
+&11
+(;)496701 v
+[ /Dest /Anchor$e$5fD
+/Rect [486701 -391000 499481 -382000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(p)503174 v
+&11
+(for the)3693 1 512427 u
+&13
+(vs)72000 402000 w
+[ /Dest /Anchor$vs
+/Rect [72000 -403000 80890 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)80890 v
+&13
+(papersize)87599 v
+[ /Dest /Anchor$papersize
+/Rect [87599 -403000 128149 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)128149 v
+&13
+(mediasize)134858 v
+[ /Dest /Anchor$mediasize
+/Rect [134858 -403000 176518 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)176518 v
+&13
+(trimat)183227 v
+[ /Dest /Anchor$trimat
+/Rect [183227 -403000 210437 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)210437 v
+&13
+(bleedat)217146 v
+[ /Dest /Anchor$bleedat
+/Rect [217146 -403000 248256 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)4209 1 248256 u
+&13
+(cr)273614 v
+(opat)282314 v
+[ /Dest /Anchor$cropat
+/Rect [273614 -403000 301204 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests; and)4208 1 305412 u
+&13
+(u)363818 v
+&11
+(for the requests)4208 1 373586 u
+&13
+(nr)442860 v
+[ /Dest /Anchor$nr
+/Rect [442860 -403000 452860 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)452860 v
+&13
+(nrf)459568 v
+[ /Dest /Anchor$nrf
+/Rect [459568 -403000 472898 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)472898 v
+&13
+(if)479606 v
+[ /Dest /Anchor$if
+/Rect [479606 -403000 485716 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)4208 1 485716 u
+&13
+(ie)511072 v
+[ /Dest /Anchor$ie
+/Rect [511072 -403000 518292 -394000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)518292 v
+&12
+(All)528330 v
+&11
+(other requests ignore an)4412 1 72000 414000 t
+( a number re)4412( When)7442(y scale indicators.)4412 3 173396 u
+( appropriately scaled)4413(gister containing an already)4412 2 336318 u
+(number is interpolated to pro)3550 1 72000 426000 t
+( scale indicator)3549(vide numerical input, the unit)3550 2 192150 u
+&13
+(u)380587 v
+&11
+(may need to be appended to pre)3549 1 389696 u
+(v)522930 v
+(ent)527780 v
+(an additional inappropriate def)4393 1 72000 438000 t
+( number)4393( The)7543(ault scaling.)4393 3 200609 u
+(,)308468 v
+&12
+(N)315361 v
+&11
+( in decimal\001fraction form b)4394(, may be speci\003ed)4393 2 322031 u
+(ut the)4394 1 515606 u
+(parameter)72000 450000 w
+( an inte)4427(\003nally stored is rounded to)4428 2 116408 u
+(ger number of basic units, e)4427 1 264484 u
+(xcept for)4427 1 385059 u
+(\004oating\001point computations)4427 1 427233 u
+(with)72000 462000 w
+&13
+(nrf)93110 v
+[ /Dest /Anchor$nrf
+/Rect [93110 -463000 106440 -454000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)109770 v
+&13
+(if)127540 v
+(f)136980 v
+[ /Dest /Anchor$if
+/Rect [127540 -463000 140310 -454000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( notation as in)3330(. Exponential)6660 2 140310 u
+(\0271)260010 v
+&13
+(e+)268340 v
+&11
+(9\030 or)2590 1 278480 u
+(\0271)301060 v
+&13
+(e\012)309390 v
+&11
+( supported.)3330(10\030 is)2590 2 318830 u
+(The)72000 478800 w
+&12
+(absolute position)3478 1 91028 u
+&11
+(indicator)164104 v
+&13
+(\023)203132 v
+&11
+(may be prepended to a number)3478 1 208810 u
+&12
+(N)340758 v
+&11
+(to generate the distance to the v)3478 1 350906 u
+(ertical or hor)3478 1 483264 u
+(\001)536670 v
+(izontal place)3928 1 72000 490800 t
+&12
+(N)128176 v
+&11
+(. F)7257 1 134846 u
+(or v)3927 1 150013 u
+(ertically\001oriented requests and functions,)3927 1 167120 u
+&13
+(\023)338628 v
+&12
+(N)342494 v
+&11
+(becomes the distance in basic units from the)3927 1 353091 u
+(current v)3718 1 72000 502800 t
+(ertical place on the page or in a)3718 1 108888 u
+&12
+(diver)246372 v
+(sion)266822 v
+&11
+(\(\0157.4\))287211 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [246372 -503800 311371 -494800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(to the the v)3719 1 315090 u
+(ertical place)3719 1 363317 u
+&12
+(N)416845 v
+&11
+(. F)7049 1 423515 u
+(or)438474 v
+&12
+(all)450523 v
+&11
+(other requests and)3719 1 464802 u
+(functions,)72000 514800 w
+&13
+(\023)115472 v
+&12
+(N)119338 v
+&11
+(becomes the distance from the current horizontal place on the)3752 1 129760 u
+&12
+(input)391110 v
+&11
+( place)3751(line to the horizontal)3752 2 415422 u
+&12
+(N)530830 v
+&11
+(.)537500 v
+[ /Dest /Anchor$a$5fusesp
+ /View [/XYZ -4 277.2 0]
+/DEST pdfmark
+(F)72000 526800 w
+(or e)3330 1 77410 u
+(xample,)93360 v
+&13
+(.sp)108000 543600 w
+(\023)126610 v
+(3.2c)130476 v
+&11
+(will space)3330 1 72000 560400 t
+&12
+(in the r)3330 1 116430 u
+(equir)146610 v
+(ed dir)3330 1 167350 u
+(ection)191420 v
+&11
+(to 3.2)3330 1 219190 u
+(centimeters from the top of the page.)3330 1 244466 u
+&12
+(1.4.)72000 577200 w
+[ /Dest /Anchor$c$5fexpr
+ /View [/XYZ -4 226.8 0]
+/DEST pdfmark
+(Numerical e)3330 1 88666 u
+(xpr)138456 v
+(essions.)151416 v
+[ /Dest /Bookmark$41
+ /View [/XYZ -4 226.8 0]
+/DEST pdfmark
+&11
+(Where)186418 v
+(v)212818 v
+(er numerical input is e)3912 1 217668 u
+(xpected an e)3912 1 312596 u
+(xpression in)3912 1 365250 u
+(v)414872 v
+( the arith\001)3913(olving parentheses,)3912 2 419672 u
+(metic operators)4628 1 72000 589200 t
+&20
+(\006)140686 v
+&11
+(,)146176 v
+&20
+(\007)153304 v
+&11
+(,)158794 v
+&13
+(/)165921 v
+&11
+(,)168701 v
+&20
+(\005)175828 v
+&11
+(,)180828 v
+&13
+(%)187955 v
+&11
+(\(mod\), the logical operators)4627 1 202582 u
+&13
+(<)324680 v
+&11
+(,)330380 v
+&13
+(>)337507 v
+&11
+(,)343207 v
+&13
+(<=)350334 v
+&11
+(,)361734 v
+&13
+(>=)368861 v
+&11
+(,)380261 v
+&13
+(=)387388 v
+&11
+(\(or)397715 v
+&13
+(==)414002 v
+&11
+(\),)425402 v
+&13
+(<>)435859 v
+&11
+(\(not equal\),)4627 1 451886 u
+&13
+(&)504740 v
+&11
+(\(and\),)516400 v
+&13
+(:)72000 601200 w
+&11
+(\(or\), and the functions)4924 1 78660 u
+&12
+(a)179726 v
+&13
+(<?)184726 v
+&12
+(b)195426 v
+&11
+(\(minimum of)4925 1 205350 u
+&12
+(a)265760 v
+&11
+(and)275685 v
+&12
+(b)295050 v
+&11
+(\),)300050 v
+&12
+(a)310805 v
+&13
+(>?)315805 v
+&12
+(b)326505 v
+&11
+(\(maximum of)4925 1 336430 u
+&12
+(a)398500 v
+&11
+(and)408425 v
+&12
+(b)427790 v
+&11
+(\), and)4925 1 432790 u
+&13
+(\()462910 v
+&12
+(c)466240 v
+&13
+(;)470680 v
+&12
+(e)474010 v
+&13
+(\))478450 v
+&11
+(\(e)486705 v
+(v)494225 v
+(aluate the)4925 1 498975 u
+(e)72000 613200 w
+(xpression)76290 v
+&12
+(e)119765 v
+&11
+(using)129350 v
+&12
+(c)156165 v
+&11
+(as def)5145 1 165750 u
+(ault scale indicator)5145 1 191895 u
+( ignoring scaling indicators if)5144(, or)5145 2 272325 u
+&12
+(c)421790 v
+&11
+(is omitted\) may be used.)5144 1 431374 u
+(Except where controlled by parentheses, e)5565 1 72000 625200 t
+(v)255915 v
+(aluation of e)5565 1 260665 u
+(xpressions is left\001to\001right; there is no operator pre\001)5565 1 316635 u
+( are ignored if the)4472(cedence. Spaces)7802 2 72000 637200 t
+( within parentheses; an)4471(y occur)4472 2 221100 u
+(y other non\001numeric character terminates the)4471 1 350475 u
+(e)72000 649200 w
+( the case of certain requests, an initial)3558(xpression. In)6888 2 76290 u
+&20
+(\006)293822 v
+&11
+(or)302870 v
+&20
+(\007)314759 v
+&11
+(is stripped and interpreted as an increment or decre\001)3559 1 323808 u
+(ment indicator respecti)4398 1 72000 661200 t
+(v)167196 v
+(ely)172046 v
+( the presence of def)4398(. In)7728 2 183616 u
+( the desired scale indicator must be attached to)4397(ault scaling,)4398 2 287966 u
+&12
+(e)72000 673200 w
+(very)76290 v
+&11
+( an e)4846(number in)4845 2 98345 u
+(xpression for which the desired and def)4846 1 164942 u
+(ault scaling dif)4846 1 336658 u
+(fer)400540 v
+(. F)8176 1 411090 u
+(or e)4846 1 427176 u
+(xample, if the number)4846 1 444642 u
+(re)72000 685200 w
+(gister)79620 v
+&13
+(x)105170 v
+&11
+(contains 2 and the current point size is 10, then)3330 1 113500 u
+&13
+(.ll \(4.25i)6660 1 108000 702000 t
+&20
+(\006)146330 v
+&13
+(\017nxP)151820 v
+&20
+(\006)171270 v
+&13
+(3\)/2u)176760 v
+&11
+(will set the line length to 1/2 the sum of 4.25 inches)3330 1 72000 718800 t
+&20
+(\006)291680 v
+&11
+(2 picas)3330 1 300500 u
+&20
+(\006)332710 v
+&11
+(30 points.)3330 1 341530 u
+(\001)294340 760800 w
+(20)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 20 20
+%%Page: 21 21
+save
+mark
+21 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(The)72000 84000 w
+[ /Dest /Anchor$e$5fB
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(\017B)91501 v
+&12
+(\030)100951 v
+(string\030)103881 v
+&11
+(escape sequence checks whether)3951 1 134502 u
+&12
+(string)273026 v
+&11
+(is a v)3951 1 300317 u
+(alid numerical e)3951 1 324079 u
+(xpression and e)3951 1 391261 u
+(v)456123 v
+(aluates to)3951 1 460873 u
+(\027)504326 v
+(\0271\030)506916 v
+( it)3952(\030 if)3212 2 517836 u
+(does and to)3330 1 72000 96000 t
+(\027)122540 v
+(\0270\030)125130 v
+(\030 otherwise.)2590 1 136050 u
+&12
+(1.5.)72000 112800 w
+(Notation.)88666 v
+[ /Dest /Bookmark$42
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&11
+( tw)3657(Numerical parameters are indicated in this manual in)3656 2 129832 u
+(o w)3657 1 363381 u
+(ays.)379158 v
+&20
+(\143)401975 v
+&12
+(N)407465 v
+&11
+(means that the ar)3657 1 417792 u
+(gument may)3657 1 489123 u
+(tak)72000 124800 w
+(e the forms)4402 1 84120 u
+&12
+(N)137316 v
+&11
+(,)143986 v
+&20
+(\006)150888 v
+&12
+(N)156378 v
+&11
+(, or)4402 1 163048 u
+&20
+(\007)182682 v
+&12
+(N)188172 v
+&11
+( corresponding ef)4401(and that the)4402 2 199244 u
+(fect is to set the af)4401 1 323240 u
+(fected parameter to)4401 1 405535 u
+&12
+(N)490928 v
+&11
+(, to incre\001)4401 1 497598 u
+(ment it by)3822 1 72000 136800 t
+&12
+(N)119026 v
+&11
+(, or to decrement it by)3822 1 125696 u
+&12
+(N)224448 v
+&11
+(respecti)234940 v
+(v)265790 v
+(ely)270640 v
+(. Plain)7152 1 282210 u
+&12
+(N)316244 v
+&11
+( algebraic sign is)3823(means that an initial)3822 2 326736 u
+&12
+(not)486814 v
+&11
+(an incre\001)3823 1 503417 u
+(ment indicator)3760 1 72000 148800 t
+(, b)3760 1 130910 u
+(ut merely the sign of)3760 1 141970 u
+&12
+(N)233540 v
+&11
+(. Generally)7090 1 240210 u
+(, unreasonable numerical input is either ignored or truncated)3760 1 288580 u
+(to a reasonable v)4319 1 72000 160800 t
+(alue. F)7649 1 144687 u
+(or e)4319 1 176906 u
+(xample, most requests e)4319 1 193845 u
+( parameters to non\001ne)4320(xpect to set)4319 2 295252 u
+(g)436670 v
+(ati)441620 v
+(v)451370 v
+(e v)4320 1 456220 u
+(alues; e)4320 1 469730 u
+(xceptions)501670 v
+(are)72000 172800 w
+&13
+(sp)87549 v
+[ /Dest /Anchor$sp
+/Rect [87549 -173800 96999 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)96999 v
+&13
+(wh)102838 v
+[ /Dest /Anchor$wh
+/Rect [102838 -173800 115618 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)115618 v
+&13
+(ch)121457 v
+[ /Dest /Anchor$ch
+/Rect [121457 -173800 131457 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)131457 v
+&13
+(nr)137296 v
+[ /Dest /Anchor$nr
+/Rect [137296 -173800 147296 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3339 1 147296 u
+&13
+(if)170914 v
+[ /Dest /Anchor$if
+/Rect [170914 -173800 177024 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( requests)3339(. The)6489 2 177024 u
+&13
+(ps)241010 v
+[ /Dest /Anchor$ps
+/Rect [241010 -173800 250460 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)250460 v
+&13
+(ft)256298 v
+[ /Dest /Anchor$ft
+/Rect [256298 -173800 262958 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)262958 v
+&13
+(po)268796 v
+[ /Dest /Anchor$po
+/Rect [268796 -173800 279356 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)279356 v
+&13
+(vs)285194 v
+[ /Dest /Anchor$vs
+/Rect [285194 -173800 294084 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)294084 v
+&13
+(ls)299922 v
+[ /Dest /Anchor$ls
+/Rect [299922 -173800 306592 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)306592 v
+&13
+(ll)312430 v
+[ /Dest /Anchor$ll
+/Rect [312430 -173800 317990 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)317990 v
+&13
+(in)323828 v
+[ /Dest /Anchor$in
+/Rect [323828 -173800 332168 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3338 1 332168 u
+&13
+(lt)355784 v
+[ /Dest /Anchor$lt
+/Rect [355784 -173800 361894 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(restore the)3338 1 365232 u
+&12
+(pr)411338 v
+(e)419858 v
+(vious)424148 v
+&11
+(parameter v)3338 1 448596 u
+(alue in the)3338 1 496664 u
+&12
+(absence)72000 184800 w
+&11
+(of an ar)3330 1 107540 u
+(gument.)139560 v
+(Single character ar)4107 1 72000 201600 t
+(guments are indicated by single lo)4107 1 150004 u
+( one/tw)4108(wer case letters and)4107 2 294719 u
+(o character ar)4108 1 409348 u
+(guments are indi\001)4108 1 466794 u
+(cated by a pair of lo)3330 1 72000 213600 t
+( string ar)3330( Character)6660(wer case letters.)3330 3 155600 u
+(guments are indicated by multi\001character mnemonics.)3330 1 303960 u
+&14
+(Request)72000 230400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 242400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$do
+ /View [/XYZ -4 544.8 0]
+/DEST pdfmark
+&13
+(.do)72000 259200 w
+&12
+(name)88390 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute the request or macro)4662 1 291760 u
+&12
+(name)410590 v
+&11
+(in e)4662 1 436912 u
+(xtension le)4662 1 453644 u
+(v)499166 v
+(el 3 and)4662 1 504016 u
+(restore the pre)3330 1 280800 271200 t
+(vious le)3330 1 339410 u
+(v)371380 v
+(el afterw)3330 1 376230 u
+(ards.)412220 v
+[ /Dest /Anchor$xflag
+ /View [/XYZ -4 516 0]
+/DEST pdfmark
+&13
+(.xflag)72000 288000 w
+&12
+(N)98940 v
+&11
+(1)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Set the e)3330 1 280800 u
+(xtension le)3330 1 316750 u
+(v)360940 v
+(el permanently to)3330 1 365790 u
+&12
+(N)440770 v
+&11
+(.)447440 v
+[ /Dest /Anchor$s$5ffont
+ /View [/XYZ -4 499.2 0]
+/DEST pdfmark
+&13
+(2. F)6660 1 72000 304800 t
+(ont and Character Size Contr)3330 1 92020 u
+(ol)221810 v
+[ /Dest /Bookmark$43
+ /View [/XYZ -4 499.2 0]
+/DEST pdfmark
+&12
+(2.1.)72000 321600 w
+[ /Dest /Anchor$c$5fchar
+ /View [/XYZ -4 482.4 0]
+/DEST pdfmark
+(Char)88666 v
+(acter set.)3330 1 109076 u
+[ /Dest /Bookmark$44
+ /View [/XYZ -4 482.4 0]
+/DEST pdfmark
+&11
+(The basic)4833 1 151219 u
+&12
+(tr)196985 v
+(of)203205 v
+(f)210805 v
+&11
+(character set is de\003ned by a description)4833 1 218418 u
+(\003le speci\003c to each output de)4834 1 394990 u
+(vice)523340 v
+(\(\01527\).)72000 333600 w
+[ /Dest /Anchor$s$5fdevice
+/Rect [72000 -334600 96160 -325600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(There are normally se)3819 1 99799 u
+(v)190976 v
+(eral re)3819 1 195826 u
+( basic character set is sho)3818( The)6968
+( and one or more special fonts.)3818(gular fonts)3819 4 222255 u
+(wn)527780 v
+(in the attached T)4379 1 72000 345600 t
+(able)143767 v
+(I)163757 v
+[ /Dest /Anchor$Table$20I
+/Rect [138457 -346600 167087 -337600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(. All)7159 1 167087 u
+9 s
+(ASCII)193905 v
+10 s
+( some on the Special F)4380(characters are included, with)4379 2 221783 u
+(ont. W)7410 1 442460 u
+(ith three e)4380 1 474190 u
+(xcep\001)517790 v
+(tions, the)3589 1 72000 357600 t
+9 s
+(ASCII)113348 v
+10 s
+(characters are input as themselv)3589 1 140436 u
+(es, and non\001)3589 1 272382 u
+9 s
+(ASCII)323160 v
+10 s
+(characters are input in the form)3589 1 350248 u
+[ /Dest /Anchor$e$5f$28
+ /View [/XYZ -4 446.4 0]
+/DEST pdfmark
+&13
+(\017\()484522 v
+&12
+(xx)490632 v
+&11
+(where)503101 v
+&12
+(xx)531120 v
+&11
+(is a tw)3330 1 72000 369600 t
+(o\001character name gi)3330 1 99670 u
+(v)180490 v
+(en in the attached T)3330 1 185340 u
+(able)266730 v
+(II)286720 v
+[ /Dest /Anchor$Table$20II
+/Rect [261420 -370600 293380 -361600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( three)3330(. The)6480 2 293380 u
+9 s
+(ASCII)344560 v
+10 s
+(e)371389 v
+(xceptions are mapped as follo)3330 1 375679 u
+(ws:)498169 v
+420785 385600 191215 385600 Dl
+9 s
+(ASCII)224545 395600 w
+10 s
+(Input)251374 v
+(Printed by)3330 1 334725 u
+&12
+(tr)380275 v
+(of)386495 v
+(f)394095 v
+&11
+(Character)196215 407600 w
+(Name)263510 v
+(Character)315815 v
+(Name)380795 v
+420785 411600 191215 411600 Dl
+[ /Dest /Anchor$e$5facute
+ /View [/XYZ -4 382.4 0]
+/DEST pdfmark
+(\013)213985 421600 w
+(acute accent)3330 1 250085 u
+(\030)333585 v
+(close quote)3330 1 369685 u
+[ /Dest /Anchor$e$5fgrave
+ /View [/XYZ -4 370.4 0]
+/DEST pdfmark
+(\014)213985 433600 w
+(gra)250085 v
+(v)262655 v
+(e accent)3330 1 267505 u
+(\027)333585 v
+(open quote)3330 1 369685 u
+[ /Dest /Anchor$e$5f$2d
+ /View [/XYZ -4 358.4 0]
+/DEST pdfmark
+&20
+(\007)212905 445600 w
+&11
+(minus)250085 v
+(\012)332750 v
+(h)369685 v
+(yphen)374635 v
+420785 449600 191215 449600 Dl
+191215 385600 191215 449600 Dl
+308315 385600 308315 449600 Dl
+420785 385600 420785 449600 Dl
+(The characters)3500 1 72000 471600 t
+&13
+(\013)135080 v
+&11
+(,)138410 v
+&13
+(\014)144410 v
+&11
+(, and)3500 1 147740 u
+&13
+(\012)171680 v
+&11
+(may be input by)3500 1 180180 u
+&13
+(\017\013)251400 v
+&11
+(,)257510 v
+&13
+(\017\014)263510 v
+&11
+(, and)3500 1 269620 u
+&13
+(\017\012)293561 v
+&11
+(respecti)304842 v
+(v)335692 v
+(ely or by their names \(T)3501 1 340542 u
+(able II\))3501 1 441117 u
+[ /Dest /Anchor$Table$20II
+/Rect [432477 -472600 471268 -463600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( characters)3501(. The)6651 2 471268 u
+&13
+(\017)72000 483600 w
+&11
+(and)78390 v
+&13
+(\020)96440 v
+&11
+(can also be referred to as)3610 1 105600 u
+&13
+(\017\(rs)214440 v
+&11
+(and)232490 v
+&13
+(\017\(dq)250539 v
+&11
+(, respecti)3609 1 267769 u
+(v)304728 v
+(ely; this form allo)3609 1 309578 u
+(ws to completely a)3609 1 384045 u
+(v)462442 v
+(oid their interpre\001)3609 1 467242 u
+(tation as ar)3920 1 72000 495600 t
+(gument delimiter or escape character)3920 1 118540 u
+( traditional)3920(. In)7250 2 271400 u
+&12
+(tr)338430 v
+(of)344650 v
+(f)352250 v
+(,)354930 v
+&11
+(, the)3921 1 357430 u
+9 s
+(ASCII)379992 v
+10 s
+(characters)407412 v
+&13
+(@)451863 v
+&11
+(,)461163 v
+&13
+(#)467584 v
+&11
+(,)472584 v
+&13
+(\020)479005 v
+&11
+(,)484555 v
+&13
+(\013)490976 v
+&11
+(,)494306 v
+&13
+(\014)500727 v
+&11
+(,)504057 v
+&13
+(<)510478 v
+&11
+(,)516178 v
+&13
+(>)522599 v
+&11
+(,)528299 v
+&13
+(\017)534720 v
+&11
+(,)537500 v
+&13
+({)72000 507600 w
+&11
+(,)75940 v
+&13
+(})82001 v
+&11
+(,)85941 v
+&13
+(~)92002 v
+&11
+(,)95332 v
+&13
+(^)101393 v
+&11
+(, and)3561 1 104723 u
+&20
+(\044)128785 v
+&11
+(e)137346 v
+( F)3560(xisted only on the Special)3561 2 141636 u
+(ont and were printed as a 1\001em space if that F)3560 1 258180 u
+(ont w)3560 1 450810 u
+(as not mounted.)3560 1 474270 u
+(W)72000 519600 w
+(ith the)3810 1 81040 u
+&13
+(pslo)111440 v
+(w)128570 v
+&11
+(de)139600 v
+(vice, these characters print in the)3810 1 148790 u
+&12
+(T)290780 v
+(imes)295790 v
+&11
+(font by def)3810 1 317930 u
+(ault re)3810 1 364330 u
+(g)390760 v
+(ardless of the current font \(b)3810 1 395710 u
+(ut see)3810 1 515640 u
+(the)72000 531600 w
+&13
+(fps)87550 v
+[ /Dest /Anchor$fps
+/Rect [87550 -532600 100330 -523600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request belo)3330 1 103660 u
+(w\). W)6360 1 152840 u
+(ith other de)3330 1 181290 u
+(vices, these characters are tak)3330 1 228250 u
+(en from the current font.)3330 1 350030 u
+(W)72000 548400 w
+(ith T)3325 1 81040 u
+(ype)100235 v
+(1, OpenT)3505 1 118005 u
+( T)3325(ype, and)3505 2 155980 u
+(rueT)199950 v
+(ype fonts,)3505 1 218030 u
+&12
+(tr)261980 v
+(of)268200 v
+(f)275800 v
+&11
+(allo)282086 v
+(ws to access all named PostScript characters of the current)3506 1 296836 u
+(font and of those in the)3330 1 72000 560400 t
+&13
+(fallback)171970 v
+[ /Dest /Anchor$fallback
+/Rect [171970 -561400 206420 -552400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sequence in the forms)3330 1 209750 u
+[ /Dest /Anchor$e$5f$5b
+ /View [/XYZ -4 243.6 0]
+/DEST pdfmark
+&13
+(\017[)303050 v
+&12
+(name)309160 v
+&13
+(])330820 v
+&11
+(or)337480 v
+[ /Dest /Anchor$e$5fC
+ /View [/XYZ -4 243.6 0]
+/DEST pdfmark
+&13
+(\017C\026)349140 v
+&12
+(name)361920 v
+&13
+(\026)383580 v
+&11
+(.)386360 v
+[ /Dest /Anchor$p$5flocale
+ /View [/XYZ -4 226.8 0]
+/DEST pdfmark
+&12
+(tr)72000 577200 w
+(of)78220 v
+(f)85820 v
+&11
+(internally con)4925 1 93525 u
+(v)150820 v
+(erts non\001)4926 1 155670 u
+9 s
+(ASCII)193366 v
+10 s
+(characters of the current)4926 1 221791 u
+9 s
+(LC_CTYPE)330895 v
+10 s
+(locale to named PostScript characters)4926 1 380326 u
+(once the)3824 1 72000 589200 t
+(y are read in re)3824 1 106774 u
+(gular \(not)3824 1 171890 u
+&12
+(copy)216198 v
+[ /Dest /Anchor$copy$20mode
+/Rect [216198 -590200 235078 -581200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the current font is an OpenT)3823( If)7153(\) mode.)3823 3 235078 u
+( T)3643(ype or a)3823 2 403432 u
+(rueT)447691 v
+(ype font and con\001)3823 1 465771 u
+( Unicode mapping table, the input character is look)4024(tains a custom)4023 2 72000 601200 t
+(ed up in that table)4024 1 349048 u
+( a def)4024(\003rst. Otherwise,)7354 2 430828 u
+(ault)525000 v
+( searched using the)4313
+( character that is not present in the current font is)4314( A)7094
+(table is used.)4314 4 72000 613200 t
+&13
+(fallback)442214 v
+[ /Dest /Anchor$fallback
+/Rect [442214 -614200 476664 -605200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sequence)480977 v
+(\003rst,)521940 v
+( for which no name is)4535( Characters)7865
+( the character cannot be found, it is discarded.)4535( If)7864
+(then in the special fonts.)4534 5 72000 625200 t
+(kno)72000 637200 w
+(wn are replaced by spaces.)3330 1 86750 u
+(The)72000 654000 w
+[ /Dest /Anchor$e$5fN
+ /View [/XYZ -4 150 0]
+/DEST pdfmark
+&13
+(\017N\026)91816 v
+&12
+(n)104596 v
+&13
+(\026)109596 v
+&11
+(escape sequence has historically been a)4266 1 116642 u
+(v)282722 v
+(ailable to refer to character)4266 1 287472 u
+&12
+(n)406532 v
+&11
+( is still)4267( It)7597(of the current font.)4267 3 415798 u
+(accepted, b)3440 1 72000 666000 t
+( T)3260(ut its use is discouraged with)3440 2 117720 u
+(ype)246820 v
+(1, OpenT)3440 1 264590 u
+( T)3260(ype, and)3440 2 302500 u
+(rueT)346340 v
+(ype fonts since the arrangement of charac\001)3440 1 364420 u
+(ter in font tables is performed at run\001time and may change with future\
+ v)3806 1 72000 678000 t
+(ersions of)3806 1 375718 u
+&12
+(tr)419990 v
+(of)426210 v
+(f)433810 v
+(.)436440 v
+&11
+(When re)3806 1 445776 u
+(gister)481082 v
+&13
+(.g)507108 v
+&11
+(is set)3806 1 518414 u
+(to)72000 690000 w
+&13
+(1)83110 v
+&11
+(8\001bit character codes can also be accessed with)3330 1 91440 u
+&13
+(\017[char)288570 v
+&12
+(n)314120 v
+&13
+(])319120 v
+&11
+(where 32)3330 1 325780 u
+&20
+(\131)366872 v
+&12
+(n)375694 v
+&20
+(\131)384026 v
+&11
+(255.)392848 v
+&12
+(nr)72000 706800 w
+(of)80440 v
+(f)88040 v
+&11
+(has an analogous, b)3593 1 94413 u
+(ut dif)3593 1 175812 u
+( le)3594(ferent, mechanism for de\003ning)3593 2 198045 u
+(g)335298 v
+(al characters and ho)3594 1 340248 u
+( def)3594( By)6924(w to print them.)3594 3 422970 u
+(ault)525000 v
+(all characters are v)3335 1 72000 718800 t
+( are such additional characters as may be a)3335(alid. There)6485 2 149495 u
+(v)373780 v
+(ailable on the output de)3335 1 378530 u
+(vice, such char)3335 1 475500 u
+(\001)536670 v
+( constructed by o)4062(acters as may be able to be)4061 2 72000 730800 t
+(v)261692 v
+(erstriking or other combination, and those that can reasonably be)4062 1 266542 u
+(\001)294340 760800 w
+(21)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 21 21
+%%Page: 22 22
+save
+mark
+22 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+( e)4255( The)7405(mapped into other printable characters.)4255 3 72000 84000 t
+(xact beha)4254 1 266870 u
+(vior is determined by a dri)4254 1 306464 u
+(ving table prepared for each)4254 1 420804 u
+(de)72000 96000 w
+( a)3330(vice. In)6660 2 81190 u
+9 s
+(UTF)126440 v
+10 s
+( characters)3330( The)6480
+(\0018 locale, combining characters are processed.)3330 3 143441 u
+&13
+(\013)401471 v
+&11
+(,)404801 v
+&13
+(\014)410631 v
+&11
+(, and)3330 1 413961 u
+&20
+(\044)437561 v
+&11
+(print as themselv)3330 1 445891 u
+(es.)515731 v
+(Both)72000 112800 w
+&12
+(nr)95054 v
+(of)103494 v
+(f)111094 v
+&11
+(and)117478 v
+&12
+(tr)135522 v
+(of)141742 v
+(f)149342 v
+&11
+(allo)155726 v
+(w references to speci\003c Unicode characters with the)3604 1 170476 u
+[ /Dest /Anchor$e$5fU
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(\017U\026)390348 v
+&12
+(X)403128 v
+&13
+(\026)409238 v
+&11
+( causes the)3605(escape sequence; it)3604 2 415622 u
+(character at position U+)4189 1 72000 124800 t
+&12
+(X)173517 v
+&11
+(to be printed \()4189 1 183816 u
+&12
+(X)245263 v
+&11
+(is a he)4188 1 255562 u
+( F)7518(xadecimal number\).)4188 2 284338 u
+(or)378934 v
+&12
+(tr)391452 v
+(of)397672 v
+(f)405272 v
+(,)407952 v
+&11
+(it is required that this charac\001)4188 1 414640 u
+(ter is a)3870 1 72000 136800 t
+(v)101200 v
+( an e)3870( As)6650(ailable in one of the fonts mounted at this point.)3870 3 105950 u
+(xample,)349170 v
+(\017U\02620A)384980 v
+(C\026 prints the Euro character)3870 1 413600 u
+(\354.)532500 v
+(When re)3927 1 72000 148800 t
+(gister)107427 v
+&13
+(.g)133574 v
+&11
+(is set to)3927 1 145001 u
+&13
+(1)182342 v
+&11
+( be accessed with)3926(Unicode charactes can also)3927 2 191269 u
+&13
+(\017[u)382024 v
+&12
+(XXXX)393694 v
+&13
+(])418134 v
+&11
+(where)425390 v
+&12
+(XXXX)453746 v
+&11
+(is a four digit)3926 1 482112 u
+(he)72000 160800 w
+(xadecimal number)3330 1 81290 u
+(.)155720 v
+&12
+(2.2.)72000 177600 w
+[ /Dest /Anchor$c$5ffonts
+ /View [/XYZ -4 626.4 0]
+/DEST pdfmark
+(F)88666 v
+(onts.)93726 v
+[ /Dest /Bookmark$45
+ /View [/XYZ -4 626.4 0]
+/DEST pdfmark
+(tr)116801 v
+(of)123021 v
+(f)130621 v
+&11
+(be)137306 v
+(gins e)3905 1 146596 u
+(x)171461 v
+( set of def)3906(ecution by reading information for a)3905 2 176311 u
+(aults fonts, said to be)3906 1 372414 u
+&12
+(mounted;)466664 v
+&11
+(con)508340 v
+(v)522380 v
+(en\001)527230 v
+(tionally)72000 189600 w
+(, the)4122 1 101910 u
+( T)3942(\003rst four are)4122 2 124874 u
+(imes Roman \()4122 1 187250 u
+&13
+(R)246604 v
+&11
+(\), T)3942 1 253824 u
+(imes Italic \()4122 1 269356 u
+&13
+(I)320370 v
+&11
+(\), T)3942 1 324260 u
+(imes Bold \()4121 1 339792 u
+&13
+(B)389704 v
+&11
+( T)3941(\), and)4121 2 396374 u
+(imes Bold Italic \()4121 1 430466 u
+&13
+(BI)505049 v
+&11
+(\), and)4121 1 515609 u
+(the last is a Special font \()3374 1 72000 201600 t
+&13
+(S)178344 v
+&11
+( set of fonts and positions is determined by)3375( The)6524
+(\) containing miscellaneous characters.)3374 3 183904 u
+(the de)3330 1 72000 213600 t
+(vice description)3330 1 96740 u
+(\003le, described in)3330 1 164500 u
+(\01527)235870 v
+[ /Dest /Anchor$s$5fdevice
+/Rect [235870 -214600 250870 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)250870 v
+(The)72000 230400 w
+&12
+(curr)91809 v
+(ent)108659 v
+&11
+( fonts\) by use of the)4260
+(font, initially Roman, may be changed \(among the mounted)4259 2 125138 u
+&13
+(ft)470850 v
+[ /Dest /Anchor$ft
+/Rect [470850 -231400 477510 -222400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request, or by)4260 1 481770 u
+( an)3979(imbedding at)3980 2 72000 242400 t
+(y desired point either)3979 1 139249 u
+[ /Dest /Anchor$e$5ff
+ /View [/XYZ -4 561.6 0]
+/DEST pdfmark
+&13
+(\017f)232375 v
+&12
+(x)238485 v
+&11
+(,)242925 v
+&13
+(\017f\()249404 v
+&12
+(xx)258844 v
+&11
+(,)267724 v
+&13
+(\017f[)274203 v
+&12
+(xxx)283643 v
+&13
+(])296963 v
+&11
+(, or)3979 1 300293 u
+&13
+(\017f)319081 v
+&12
+(N)325191 v
+&11
+(where)335840 v
+&12
+(x)364249 v
+&11
+(,)368689 v
+&12
+(xx)375168 v
+&11
+(, and)3979 1 384048 u
+&12
+(xxx)408946 v
+&11
+(are the name of a mounted)3979 1 426245 u
+(font and)3330 1 72000 254400 t
+&12
+(N)109210 v
+&11
+(is a numerical font position.)3330 1 119210 u
+(It is)3412 1 72000 271200 t
+&12
+(not)91604 v
+&11
+( on that font are automatically handled as if the)3413
+(necessary to change to the Special font; characters)3412 2 107796 u
+(y were)3413 1 512157 u
+(ph)72000 283200 w
+( actually be se)4019( Special font may)4020( The)7170
+(ysically part of the current font.)4020 4 81950 u
+(v)374977 v
+(eral fonts; the name)4019 1 379827 u
+&13
+(S)467553 v
+&11
+(is reserv)4019 1 477132 u
+(ed and)4019 1 512101 u
+( The)6742(is generally used for one of these.)3592 2 72000 295200 t
+&13
+(fallback)239126 v
+[ /Dest /Anchor$fallback
+/Rect [239126 -296200 273576 -287200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( additional fonts that are)3593
+(request sets a font\001speci\003c sequence of)3592 2 277168 u
+(searched for missing characters.)3330 1 72000 307200 t
+&12
+(tr)72000 324000 w
+(of)78220 v
+(f)85820 v
+&11
+(can be informed that an)3362 1 91962 u
+( font is mounted by use of the)3363(y particular)3362 2 189680 u
+&13
+(fp)364926 v
+[ /Dest /Anchor$fp
+/Rect [364926 -325000 373816 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( list of kno)3363(request. The)6513 2 377179 u
+(wn fonts is ins\001)3363 1 476021 u
+( the subsequent discussion of font\001related requests,)3495( In)6825
+(tallation dependent.)3495 3 72000 336000 t
+&12
+(F)380074 v
+&11
+(represents either a one/tw)3494 1 389678 u
+(o\001character)495030 v
+( current font is a)3992( The)7142
+(font name or the numerical font position.)3992 3 72000 348000 t
+(v)339102 v
+(ailable \(as numerical position\) in the read\001only)3993 1 343852 u
+(number re)3330 1 72000 360000 t
+(gister)113500 v
+[ /Dest /Anchor$n$5f$2ef
+ /View [/XYZ -4 444 0]
+/DEST pdfmark
+&13
+(.f)139050 v
+&11
+(; the)3330 1 144880 u
+[ /Dest /Anchor$n$5f$2efp
+ /View [/XYZ -4 444 0]
+/DEST pdfmark
+&13
+(.fp)166540 v
+&11
+(re)181260 v
+(gister holds the ne)3330 1 188880 u
+(xt unused position.)3330 1 264270 u
+(A request for a named b)4119 1 72000 376800 t
+( the font description information e)4120
+(ut not\001mounted font is honored if)4119 2 176255 u
+( this w)4120(xists. In)7450 2 462280 u
+(ay)528710 v
+(,)537500 v
+( limit on the number of fonts that may be printed in an)3769(there is no)3770 2 72000 388800 t
+( fonts may be)3769( Mounted)7099(y part of a document.)3769 3 348488 u
+(handled more ef\003ciently)3928 1 72000 400800 t
+(, and the)3929 1 171966 u
+(y may be referred to by their mount positions, b)3929 1 208834 u
+(ut there is no other dif)3929 1 412585 u
+(ference.)508080 v
+(Mention of an unmounted font loads it temporarily at font position zero, w\
+hich serv)3330 1 72000 412800 t
+(es as a one\001font cache.)3330 1 417610 u
+(The function)3330 1 72000 429600 t
+[ /Dest /Anchor$e$5fS
+ /View [/XYZ -4 374.4 0]
+/DEST pdfmark
+&13
+(\017S)127540 v
+&12
+(\030)135880 v
+&20
+(\143)139210 v
+&12
+(N\030)144700 v
+&11
+(causes the current font to be slanted by)3330 1 158030 u
+&20
+(\143)322970 v
+&12
+(N)328460 v
+&11
+(de)338460 v
+( all de)3330(grees. Not)6660 2 347750 u
+(vices support slanting.)3330 1 418860 u
+&12
+(nr)72000 446400 w
+(of)80440 v
+(f)88040 v
+&11
+(understands font control and normally underlines Italic characters \(see)3330 1 94150 u
+(\01510.5\).)385720 v
+[ /Dest /Anchor$c$5fnrofful
+/Rect [366290 -447400 414050 -438400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(2.3.)72000 463200 w
+(Char)88666 v
+(acter size)3330 1 109076 u
+(.)147806 v
+[ /Dest /Bookmark$46
+ /View [/XYZ -4 340.8 0]
+/DEST pdfmark
+&11
+(Character point sizes a)3763 1 154069 u
+(v)248468 v
+(ailable depend on the speci\003c output de)3763 1 253218 u
+( \(historical\) set)3764(vice; a typical)3763 2 418856 u
+(of v)3854 1 72000 475200 t
+( is a range of 1/12 inch to 1/2 inch.)3853( This)7003( and 36.)3853
+(alues is 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 28,)3854 4 88934 u
+(Modern output de)3385 1 72000 487200 t
+( the def)3386(vices such as)3385 2 145180 u
+(ault)230822 v
+&13
+(de)249208 v
+(vps)259058 v
+&11
+(usually allo)3386 1 276894 u
+(w the point size to be set to arbitrary v)3386 1 323920 u
+(alues, includ\001)3386 1 485234 u
+( The)7704(ing fractional points.)4554 2 72000 499200 t
+&13
+(ps)186966 v
+[ /Dest /Anchor$ps
+/Rect [186966 -500200 196416 -491200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( Alternati)7334(request is used to change or restore the point size.)4554 2 200970 u
+(v)460940 v
+( point size)4553(ely the)4554 2 465790 u
+(may be changed between an)4052 1 72000 511200 t
+(y tw)4052 1 190798 u
+( by imbedding a)4053(o characters)4052 2 209750 u
+[ /Dest /Anchor$e$5fs
+ /View [/XYZ -4 292.8 0]
+/DEST pdfmark
+&13
+(\017s)332764 v
+&12
+(N)339434 v
+&11
+(at the desired point to set the size to)4053 1 350157 u
+&12
+(N)509954 v
+&11
+(, or a)4053 1 516624 u
+&13
+(\017s)72000 523200 w
+&20
+(\143)78670 v
+&12
+(N)84160 v
+&11
+(\(1)94450 v
+&20
+(\131)102780 v
+&12
+(N)108270 v
+&20
+(\131)114940 v
+&11
+(8\) to increment/decrement the size by)3620 1 120430 u
+&12
+(N)280449 v
+&11
+(;)287119 v
+&13
+(\017s0)293518 v
+&11
+(restores the)3619 1 308807 u
+&12
+(pr)359365 v
+(e)367885 v
+(vious)372175 v
+&11
+( historical output de)3619(size. On)6949 2 396904 u
+(vices,)516950 v
+(requested point size v)3330 1 72000 535200 t
+(alues that are between tw)3330 1 161170 u
+(o v)3330 1 265470 u
+(alid sizes yielded the lar)3330 1 278550 u
+(ger of the tw)3330 1 378340 u
+(o.)431550 v
+(Note that through an accident of history)4703 1 72000 552000 t
+(, a construction lik)4703 1 243988 u
+(e)324937 v
+&13
+(\017s39)334080 v
+&11
+( thus con)4704(is parsed as size 39, and)4703 2 355453 u
+(v)502676 v
+(erted to)4704 1 507526 u
+(size 36 \(gi)3953 1 72000 564000 t
+(v)116316 v
+(en the sizes abo)3953 1 121166 u
+(v)188415 v
+(e\), while)3953 1 193265 u
+&13
+(\017s40)233661 v
+&11
+( size 4 follo)3952(is parsed as)3953 2 254284 u
+(wed by)3952 1 354336 u
+&13
+(0)388900 v
+&11
+( forms)3952(. The)7102 2 393900 u
+&13
+(\017s\()450286 v
+&12
+(nn)460286 v
+&11
+(,)470286 v
+&13
+(\017s)476738 v
+&20
+(\143)483408 v
+&13
+(\()488898 v
+&12
+(nn)492228 v
+&11
+(,)502228 v
+&13
+(\017s\013)508680 v
+&20
+(\143)518680 v
+&12
+(nn)524170 v
+&13
+(\013)534170 v
+&11
+(,)537500 v
+&13
+(\017s)72000 576000 w
+&20
+(\143)78670 v
+&13
+(\013)84160 v
+&12
+(nn)87490 v
+&13
+(\013)97490 v
+&11
+(,)100820 v
+&13
+(\017s[)106650 v
+&20
+(\143)116650 v
+&12
+(nn)122140 v
+&13
+(])132140 v
+&11
+(, and)3330 1 135470 u
+&13
+(\017s)159070 v
+&20
+(\143)165740 v
+&13
+([)171230 v
+&12
+(nn)174560 v
+&13
+(])184560 v
+&11
+(permit speci\003cation of sizes that w)3330 1 191220 u
+(ould otherwise be ambiguous.)3330 1 334420 u
+( size \(in points\) is a)3641(The current)3640 2 72000 592800 t
+(v)203065 v
+(ailable in the)3641 1 207815 u
+[ /Dest /Anchor$n$5f$2es
+ /View [/XYZ -4 211.2 0]
+/DEST pdfmark
+&13
+(.s)265398 v
+&11
+(re)275429 v
+(gister)283049 v
+( that this may be a decimal fraction if the current)3641(. Note)6971 2 304719 u
+( inte)3716(point size is not an)3717 2 72000 604800 t
+(ger)170434 v
+(. The)6866 1 182654 u
+[ /Dest /Anchor$n$5f$2eps
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+&13
+(.ps)211286 v
+&11
+(re)226952 v
+( The)6866(gister stores the current size in units.)3716 2 234572 u
+[ /Dest /Anchor$n$5f$2esr
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+&13
+(.sr)414370 v
+&11
+(and)428916 v
+[ /Dest /Anchor$n$5f$2epsr
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+&13
+(.psr)447072 v
+&11
+(re)467178 v
+(gisters store the)3716 1 474798 u
+(requested point size in points and units, respecti)3631 1 72000 616800 t
+(v)271317 v
+( output de)3632(ely; it is identical to the current size on modern)3631 2 276167 u
+(vices.)516950 v
+&12
+(nr)72000 628800 w
+(of)80440 v
+(f)88040 v
+&11
+(ignores type size control.)3330 1 94150 u
+(The function)3773 1 72000 645600 t
+[ /Dest /Anchor$e$5fH
+ /View [/XYZ -4 158.4 0]
+/DEST pdfmark
+&13
+(\017H)128426 v
+&12
+(\013)138986 v
+&20
+(\143)142316 v
+&12
+(N\030)147806 v
+&11
+(sets)161579 v
+&11
+0 12 changefont
+( font)3774(the height of the current)3773 2 180352 u
+&11
+(to)305192 v
+&12
+(N)316746 v
+&11
+(, or increments it by +)3774 1 323416 u
+&12
+(N)418196 v
+&11
+(, or decrements it by)3774 1 424866 u
+(\012)515666 v
+&12
+(N)520666 v
+&11
+(; if)3774 1 527336 u
+&12
+(N)72000 657600 w
+&11
+( all de)3634( Not)6964( each case, the width is unchanged.)3634( In)6965
+(=0, the height is restored to the current point size.)3635 5 78670 u
+(vices sup\001)3634 1 498596 u
+(port independent height and width for characters.)3330 1 72000 669600 t
+(\001)294340 760800 w
+(22)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 22 22
+%%Page: 23 23
+save
+mark
+23 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$lc$5fctype
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.lc_ctype)72000 112800 w
+&12
+(name)112820 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Set the)4720 1 280800 u
+9 s
+(LC_CTYPE)315240 v
+10 s
+(locale to)4720 1 364465 u
+&12
+(name)405565 v
+&11
+( def)4721(. The)7871 2 427225 u
+(ault is the v)4721 1 470537 u
+(alue)523340 v
+(of the)4550 1 280800 124800 t
+9 s
+(LC_CTYPE)310450 v
+10 s
+(en)359505 v
+(vironment v)4549 1 368545 u
+( request is use\001)4549(ariable. This)7699 2 418954 u
+( re)3874(ful to specify an input character set)3873 2 280800 136800 t
+(g)441052 v
+(ardless of en)3874 1 446002 u
+(vironment)498890 v
+( current v)5989(in\004uences. The)9139 2 280800 148800 t
+(alue is a)5989 1 393587 u
+(v)433135 v
+( the)5988(ailable in)5989 2 437885 u
+[ /Dest /Anchor$n$5f$2elc$5fctype
+ /View [/XYZ -4 655.2 0]
+/DEST pdfmark
+&13
+(.lc_ctype)502510 v
+&11
+(number re)3330 1 280800 160800 t
+(gister)322300 v
+(.)343970 v
+[ /Dest /Anchor$ps
+ /View [/XYZ -4 626.4 0]
+/DEST pdfmark
+&13
+(.ps)72000 177600 w
+&20
+(\143)87280 v
+&12
+(N)92770 v
+&11
+(10)129600 v
+(point)141266 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(p)253410 v
+&11
+(Point size set to)4083 1 280800 u
+&20
+(\143)352692 v
+&12
+(N)358182 v
+&11
+(. Alternati)6863 1 364852 u
+(v)409515 v
+(ely imbed)4083 1 414365 u
+&13
+(\017s)459751 v
+&12
+(N)466421 v
+&11
+(,)473091 v
+&13
+(\017s)479674 v
+&20
+(\143)486344 v
+&12
+(N)491834 v
+&11
+(, or)4083 1 498504 u
+&13
+(\017s\013)517500 v
+&12
+(N)527500 v
+&13
+(\013)534170 v
+&11
+(.)537500 v
+(An)280800 189600 w
+(y positi)4015 1 292870 u
+(v)323865 v
+(e size v)4015 1 328715 u
+( be requested on modern de)4014(alue may)4015 2 361485 u
+(vices.)516950 v
+(If in)4629 1 280800 201600 t
+(v)299469 v
+(alid, the ne)4629 1 304219 u
+(xt lar)4629 1 352487 u
+(ger v)4629 1 375266 u
+(alid size will result on traditional)4629 1 397415 u
+(de)280800 213600 w
+( paired sequence)4802( A)7583(vices, with a maximum of 36.)4803 3 289990 u
+&20
+(\006)511514 v
+&12
+(N)517004 v
+&11
+(,)523674 v
+&20
+(\007)527840 v
+&12
+(N)533330 v
+&11
+(will w)3502 1 280800 225600 t
+(ork because the pre)3502 1 306982 u
+(vious requested v)3502 1 387208 u
+( also remem\001)3503(alue is)3502 2 458952 u
+( in)3330(bered. Ignored)6660 2 280800 237600 t
+&12
+(nr)357710 v
+(of)366150 v
+(f)373750 v
+(.)376380 v
+[ /Dest /Anchor$fzoom
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&13
+(.fzoom)72000 254400 w
+&12
+(F)103930 v
+(Z)113370 v
+&11
+(1)129600 v
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Zoom font)4897 1 280800 u
+&12
+(F)330594 v
+&11
+(by f)4897 1 341601 u
+(actor)359728 v
+&12
+(Z)384615 v
+&11
+( positi)4898(, which is a)4897 2 390175 u
+(v)469794 v
+(e)474644 v
+(\004oating point)4898 1 483982 u
+(number)280800 266400 w
+( adjusting fonts with dif\001)5025( request is useful for)5026(. This)8176 3 310800 u
+(ferent visual sizes b)4934 1 280800 278400 t
+( points; the zoom is)4935(ut identical nominal)4934 2 367052 u
+(thus not applied to characters from another font that ha)3405 1 280800 290400 t
+(v)508425 v
+(e been)3405 1 513275 u
+(found by the)3369 1 280800 302400 t
+&13
+(fallback)336457 v
+[ /Dest /Anchor$fallback
+/Rect [336457 -303400 370907 -294400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sequence or by the special font mechan\001)3369 1 374276 u
+( current v)4229(ism. The)7380 2 280800 314400 t
+(alue of the current font is a)4229 1 362208 u
+(v)480132 v
+(ailable in the)4229 1 484882 u
+[ /Dest /Anchor$n$5f$2efzoom
+ /View [/XYZ -4 477.6 0]
+/DEST pdfmark
+&13
+(.fzoom)280800 326400 w
+&11
+(number re)3330 1 312730 u
+(gister)354230 v
+(.)375900 v
+[ /Dest /Anchor$ss
+ /View [/XYZ -4 460.8 0]
+/DEST pdfmark
+&13
+(.ss)72000 343200 w
+&12
+(N)85610 v
+&11
+([)95610 v
+&12
+(M)98940 v
+&11
+(])107270 v
+(12/36)129600 v
+(m)154046 v
+(ignored)187200 v
+(E,T)244800 v
+(Space\001character size is set to)6571 1 280800 u
+&12
+(N)418616 v
+&11
+(/36)425286 v
+( size is the)6572(ems. This)9722 2 439732 u
+(minimum w)3949 1 280800 355200 t
+(ord spacing in adjusted te)3949 1 330769 u
+( optional second)3948(xt. The)7099 2 438625 u
+(ar)280800 367200 w
+( is added between sentences to)5246(gument sets the space that)5245 2 288390 u
+&12
+(M)280800 379200 w
+&11
+(/36)289130 v
+( in)3619(ems. Ignored)6949 2 303576 u
+&12
+(nr)375252 v
+(of)383692 v
+(f)391292 v
+(.)393922 v
+&11
+(The number re)3618 1 403190 u
+(gisters)464146 v
+[ /Dest /Anchor$n$5f$2ess
+ /View [/XYZ -4 424.8 0]
+/DEST pdfmark
+&13
+(.ss)493874 v
+&11
+(and)507772 v
+[ /Dest /Anchor$n$5f$2esss
+ /View [/XYZ -4 424.8 0]
+/DEST pdfmark
+&13
+(.sss)525830 v
+&11
+(contain the current v)3330 1 280800 391200 t
+(alues of)3330 1 365520 u
+&12
+(N)401060 v
+&11
+(and)411060 v
+&12
+(M)428830 v
+&11
+(, respecti)3330 1 437160 u
+(v)473840 v
+(ely)478690 v
+(.)490260 v
+[ /Dest /Anchor$cs
+ /View [/XYZ -4 396 0]
+/DEST pdfmark
+&13
+(.cs)72000 408000 w
+&12
+(F)84496 v
+(N)92272 v
+(M)100608 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+(Constant character space \(width\) mode is set on for font)5147 1 280800 u
+&12
+(F)533890 v
+&11
+( of e)3917(\(if mounted\); the width)3918 2 280800 420000 t
+(v)398458 v
+(ery character will be tak)3917 1 403308 u
+(en to be)3917 1 505506 u
+&12
+(N)280800 432000 w
+&11
+( If)8174(/36 ems.)4844 2 287470 u
+&12
+(M)343382 v
+&11
+( the character\030)4845(is absent, the em is that of)4844 2 356556 u
+(s)536110 v
+(point size; if)5241 1 280800 444000 t
+&12
+(M)341523 v
+&11
+(is gi)5241 1 355094 u
+(v)374535 v
+(en, the em is)5241 1 379385 u
+&12
+(M)443399 v
+&11
+( af)5240(\001points. All)8021 2 451729 u
+(fected)515570 v
+( those with an)4394(characters are centered in this space, including)4393 2 280800 456000 t
+(actual width lar)5192 1 280800 468000 t
+( F)5191( Special)8521(ger than this space.)5191 3 348214 u
+(ont characters)5191 1 481499 u
+(occurring while the current font is)4756 1 280800 480000 t
+&12
+(F)433196 v
+&11
+( If)8087(are also so treated.)4757 2 444062 u
+&12
+(N)280800 492000 w
+&11
+( is turned of)4368(is absent, the mode)4369 2 291839 u
+( mode must be still)4368(f. The)7518 2 427510 u
+(or ag)4495 1 280800 504000 t
+(ain in ef)4495 1 303015 u
+( the characters are ph)4496(fect when)4495 2 339525 u
+(ysically printed.)4496 1 473564 u
+(Ignored in)3330 1 280800 516000 t
+&12
+(nr)326340 v
+(of)334780 v
+(f)342380 v
+(.)345010 v
+[ /Dest /Anchor$bd
+ /View [/XYZ -4 271.2 0]
+/DEST pdfmark
+&13
+(.bd)72000 532800 w
+&12
+(F)88950 v
+(N)98390 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+( font)5348(The characters in)5347 2 280800 u
+&12
+(F)382160 v
+&11
+(will be arti\003cially emboldened by)5348 1 393618 u
+(printing each one twice, separated by)3682 1 280800 544800 t
+&12
+(N)439242 v
+&20
+(\007)446745 v
+&11
+( rea\001)3681( A)6461( units.)3681(1 basic)3682 4 452235 u
+(sonable v)5375 1 280800 556800 t
+(alue for)5375 1 321475 u
+&12
+(N)360545 v
+&11
+(is 3 when the character size is in the)5375 1 372590 u
+( If)7727(vicinity of 10 points.)4397 2 280800 568800 t
+&12
+(N)388614 v
+&11
+(is missing the embolden mode is)4396 1 399680 u
+(turned of)3330 1 280800 580800 t
+( emboldening v)3330(f. The)6480 2 317760 u
+(alue)409250 v
+&12
+(N)429240 v
+&11
+(is in the)3330 1 439240 u
+[ /Dest /Anchor$n$5f$2eb
+ /View [/XYZ -4 223.2 0]
+/DEST pdfmark
+&13
+(.b)475900 v
+&11
+(re)487290 v
+(gister)494910 v
+(.)516580 v
+(T)280800 597600 w
+(Th)280802 v
+(hi)286914 v
+(is)291916 v
+(s p)6210 1 294698 u
+(pa)304800 v
+(ar)309802 v
+(ra)314244 v
+(ag)317576 v
+(gr)322018 v
+(ra)327020 v
+(ap)330352 v
+(ph)334794 v
+(h i)6210 1 339796 u
+(is)351008 v
+(s p)6210 1 353790 u
+(pr)363892 v
+(ri)368894 v
+(in)372226 v
+(nt)375008 v
+(te)380010 v
+(ed)382792 v
+(d w)6210 1 387234 u
+(wi)398446 v
+(it)405668 v
+(th)408450 v
+(h)411232 v
+&12
+(.bd R 3)6209 1 422443 u
+&11
+(.)458471 v
+(. T)9363 1 458473 u
+(Th)470338 v
+(he)476450 v
+(e m)6211 1 481452 u
+(mo)492105 v
+(od)499887 v
+(de)504889 v
+(e m)6211 1 509891 u
+(mu)520544 v
+(us)528326 v
+(st)533328 v
+(t)537220 v
+(b)280800 609600 w
+(be)280802 v
+(e s)4674 1 285804 u
+(st)294920 v
+(ti)298812 v
+(il)301594 v
+(ll)304376 v
+(l o)4674 1 307158 u
+(or)314614 v
+(r a)4674 1 319616 u
+(ag)327622 v
+(g)332064 v
+(a)337014 v
+(ai)337016 v
+(in)341458 v
+(n i)4674 1 344240 u
+(in)353916 v
+(n e)4674 1 356698 u
+(ef)366374 v
+(f)370816 v
+(f)373896 v
+(fe)373898 v
+(ec)377230 v
+(ct)381672 v
+(t w)4674 1 386114 u
+(wh)393570 v
+(he)400792 v
+(en)405794 v
+(n t)4673 1 410236 u
+(th)419911 v
+(he)422693 v
+(e c)4673 1 427695 u
+(ch)436810 v
+(ha)441252 v
+(ar)446254 v
+(ra)450696 v
+(ac)454028 v
+(ct)458470 v
+(te)462912 v
+(er)465694 v
+(rs)470136 v
+(s a)4673 1 473468 u
+(ar)482033 v
+(re)486475 v
+(e p)4673 1 489807 u
+(ph)498922 v
+(h)503924 v
+(y)508874 v
+(ys)508876 v
+(si)513878 v
+(ic)517770 v
+(ca)520552 v
+(al)524994 v
+(ll)529436 v
+(ly)532218 v
+(y)535000 v
+(p)280800 621600 w
+(pr)280802 v
+(ri)285804 v
+(in)289136 v
+(nt)291918 v
+(te)296920 v
+(ed)299702 v
+(d.)304144 v
+(. I)6664 1 309146 u
+(Ig)318312 v
+(gn)321644 v
+(no)326646 v
+(or)331648 v
+(re)336650 v
+(ed)339982 v
+(d i)3332 1 344424 u
+(in)352758 v
+(n)355540 v
+&12
+(nr)363872 v
+(of)372312 v
+(f)379912 v
+(.)382542 v
+&13
+(.bd)72000 638400 w
+(S)88950 v
+&12
+(F)97840 v
+(N)107280 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(P)244800 v
+( in the Special F)4069(The characters)4068 2 280800 u
+(ont will be emboldened when\001)4069 1 412074 u
+(e)280800 650400 w
+(v)284990 v
+( font is)3686(er the current)3687 2 289840 u
+&12
+(F)379362 v
+&11
+( mode must be still or ag)3686(. The)6836 2 385472 u
+(ain in)3686 1 516314 u
+(ef)280800 662400 w
+(fect when the characters are ph)3330 1 288320 u
+(ysically printed.)3330 1 416530 u
+[ /Dest /Anchor$ft
+ /View [/XYZ -4 124.8 0]
+/DEST pdfmark
+&13
+(.ft)72000 679200 w
+&12
+(F)84490 v
+&11
+(Roman)129600 v
+(pre)187200 v
+(vious)199720 v
+(E)244800 v
+(F)280800 v
+(ont changed to)4234 1 286210 u
+&12
+(F)352792 v
+&11
+(. Alternati)7014 1 358902 u
+(v)403716 v
+(ely)408566 v
+(, imbed)4234 1 420136 u
+&13
+(\017f)456105 v
+&12
+(F)462215 v
+&11
+( font name)4235(. The)7385 2 468325 u
+&13
+(P)280800 691200 w
+&11
+(is reserv)4392 1 291302 u
+(ed to mean the pre)4392 1 326644 u
+( the name)4391(vious font, and)4392 2 407832 u
+&13
+(S)518389 v
+&11
+(for)528340 v
+(the special font.)3330 1 280800 703200 t
+(\001)294340 760800 w
+(23)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 23 23
+%%Page: 24 24
+save
+mark
+24 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$fp
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.fp)72000 84000 w
+&12
+(N)86720 v
+(F)96720 v
+&11
+([)106160 v
+&12
+(\003le)109490 v
+&11
+([)125040 v
+&12
+(supply)128370 v
+&11
+(]])154480 v
+(ignored)187200 v
+(P)244800 v
+(F)280800 v
+( is a statement that a font named)5538( This)8688(ont position.)5538 3 286210 u
+&12
+(F)521681 v
+&11
+(is)533330 v
+(mounted on position)3411 1 280800 96000 t
+&12
+(N)368263 v
+&11
+(. W)6441 1 374933 u
+(ith tw)3411 1 392914 u
+(o ar)3411 1 416785 u
+(guments, it is a f)3411 1 432786 u
+(atal error)3410 1 502720 u
+(if)280800 108000 w
+&12
+(F)290240 v
+&11
+(is not kno)3330 1 299680 u
+(wn as a le)3330 1 340540 u
+(g)382590 v
+(ac)387540 v
+(y)396270 v
+&12
+(tr)404600 v
+(of)410820 v
+(f)418420 v
+&11
+(font)424530 v
+(\003le \(\01527.2\).)3330 1 443970 u
+[ /Dest /Anchor$c$5ffontdescr
+/Rect [460080 -109000 491740 -100000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(W)280800 124800 w
+(ith three or more ar)4012 1 289840 u
+(guments, font metrics are read from the)4012 1 372908 u
+(gi)280800 136800 w
+(v)288330 v
+(en)293180 v
+&12
+(\003le)307155 v
+&11
+( T)4354( in)4534(, which must be)4535 3 319375 u
+(ype)410788 v
+(1, OpenT)4534 1 428558 u
+( T)4354(ype, or)4534 2 467562 u
+(rueT)507480 v
+(ype)525560 v
+( the)4047(format. If)7377 2 280800 148800 t
+9 @13 f
+(TR)344312 v
+(OFFONTS)356543 v
+10 @11 f
+(en)403098 v
+(vironment v)4048 1 412138 u
+(ariable is set, each)4048 1 462046 u
+(of the colon\001separated directories in it is tested for the)4924 1 280800 160800 t
+(\003les)523330 v
+&12
+(\003le)280800 172800 w
+(.afm)292870 v
+&11
+(,)310370 v
+&12
+(\003le)317979 v
+(.otf)330049 v
+&11
+(,)343109 v
+&12
+(\003le)350718 v
+(.ttf)362788 v
+&11
+(, or)5109 1 373628 u
+(, if the)5109 1 389167 u
+&12
+(\003le)425324 v
+&11
+(ar)442653 v
+(gument has an)5109 1 450243 u
+&13
+(.afm)518340 v
+&11
+(,)537500 v
+&13
+(.otf)280800 184800 w
+&11
+(, or)5273 1 294960 u
+&13
+(.ttf)316336 v
+&11
+(e)334099 v
+(xtension itself, for)5273 1 338389 u
+&12
+(\003le)422258 v
+&11
+( the font is)5273(. Otherwise,)8603 2 434478 u
+(loaded from the)3330 1 280800 196800 t
+(\003le)349110 v
+&13
+(/usr/ucblib/doctools/f)365220 v
+(ont/de)454990 v
+(vps/)481510 v
+&12
+(\003le)498740 v
+&13
+(.afm)510960 v
+&11
+(.)530120 v
+(The)280800 213600 w
+&12
+(N)300017 v
+&11
+(ar)310354 v
+(gument speci\003es a re)3667 1 317944 u
+( which the font is to be)3668(gister on)3667 2 405445 u
+(mounted \(1)3931 1 280800 225600 t
+&20
+(\131)328061 v
+&12
+(N)333551 v
+&20
+(\131)340221 v
+&11
+( the)3930( it is zero, the font is mounted on)3931(255\). If)7261 3 345711 u
+(ne)280800 237600 w
+( most 255 fonts)4575( At)7355(xt free position \(not on position zero\).)4575 3 290090 u
+( mounted simultaneously; it is possible to use more)5281(may be)5282 2 280800 249600 t
+(than 255 fonts in a document by reusing font re)3330 1 280800 261600 t
+(gisters.)477820 v
+(The font is then a)3396 1 280800 278400 t
+(v)354174 v
+(ailable with)3396 1 358924 u
+&13
+(.ft F)3396 1 410156 u
+&11
+(,)428822 v
+&13
+(\017fF)434718 v
+&11
+(, etc.)3396 1 446938 u
+&13
+(F)473720 v
+&11
+(may be freely)3397 1 483226 u
+(chosen, and may consist of more than tw)3330 1 280800 290400 t
+(o characters.)3330 1 449820 u
+&12
+(F)280800 307200 w
+&11
+(may be the name of a pre)5231 1 292140 u
+(viously mounted font, such as)5231 1 409356 u
+&13
+(R)280800 319200 w
+&11
+( case, the same)5438( this)5439(. In)8769 3 288020 u
+&12
+(N)401740 v
+&11
+(re)413848 v
+( F)8768(gister must be reused.)5438 2 421468 u
+(or)531670 v
+(best compatibility with con)4805 1 280800 331200 t
+(v)396485 v
+(entional)401335 v
+&12
+(tr)438360 v
+(of)444580 v
+(f)452180 v
+&11
+(usage, it is recom\001)4805 1 459765 u
+(mended that the base fonts of a document are mounted as)5480 1 280800 343200 t
+(\027)280800 355200 w
+(\0271)283390 v
+(R\030)295050 v
+(\030,)304310 v
+(\027)314351 v
+(\0272)316941 v
+(I\030)328601 v
+(\030,)334521 v
+(\027)344562 v
+(\0273)347152 v
+(B\030)358812 v
+(\030,)368072 v
+(\027)378113 v
+(\0274)380703 v
+(BI\030)392363 v
+( on positions)4212( initial fonts)4211(\030. The)7361 3 404953 u
+(9 \()3676 1 280800 367200 t
+&13
+(S1)292806 v
+&11
+(\) and 10 \()3676 1 303366 u
+&13
+(S)345494 v
+&11
+(\) should not be changed, as the)3676 1 351054 u
+(y contain spe\001)3675 1 481550 u
+(cial metrics for dra)3330 1 280800 379200 t
+(wing commands.)3330 1 358950 u
+(If the optional)6631 1 280800 396000 t
+&12
+(supply)352353 v
+&11
+(ar)385094 v
+( is)6632(gument is present, glyph data)6631 2 392684 u
+(included in the generated PostScript)4395 1 280800 408000 t
+(\003le. If)7725 1 437205 u
+&12
+(supply)471265 v
+&11
+(is one of)4395 1 501770 u
+&13
+(otf)280800 420000 w
+&11
+(,)292460 v
+&13
+(pfb)299920 v
+&11
+(,)314370 v
+&13
+(pfa)321831 v
+&11
+(,)335721 v
+&13
+(ttf)343182 v
+&11
+(, or)4961 1 353172 u
+&13
+(t42)373924 v
+&11
+(, the)4961 1 387254 u
+(\003le)411896 v
+&12
+(supply)429637 v
+(.pfb)455197 v
+&11
+(\(or lik)4961 1 475438 u
+(e)502519 v
+(wise\) is)4961 1 506709 u
+( directories in)4660(searched in the)4661 2 280800 432000 t
+9 @13 f
+(TR)409072 v
+(OFFONTS)421303 v
+10 @11 f
+(\003rst as described)4660 1 468470 u
+(for the)6483 1 280800 444000 t
+9 s
+(AFM)317646 v
+10 s
+(\003le abo)6483 1 343632 u
+(v)377185 v
+( in)6484(e, and if it is not found there,)6483 2 382035 u
+&13
+(/usr/ucblib/doctools/f)280800 456000 w
+(ont/de)370570 v
+(vps/)397090 v
+&12
+(supply)414320 v
+&13
+(.pfb)440430 v
+&11
+(\(or lik)3867 1 461247 u
+(e)487234 v
+(wise\).)491424 v
+&12
+(sup\001)522780 v
+(ply)280800 468000 w
+&11
+(may also be the basename of a)3330 1 296350 u
+(\003le lik)3330 1 426850 u
+(e)453420 v
+&12
+(\003le)461190 v
+&11
+(abo)476740 v
+(v)491030 v
+(e.)495880 v
+(The)280800 484800 w
+&12
+(\003lename)301046 v
+&11
+( to permit)4697(may be surrounded by double\001quotes)4696 2 339622 u
+(imbedded space characters.)3330 1 280800 496800 t
+[ /Dest /Anchor$fps
+ /View [/XYZ -4 290.4 0]
+/DEST pdfmark
+&13
+(.fps)72000 513600 w
+&12
+(map)90610 v
+(...)111160 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+( def)4380( By)7710(Mount a font with a special character map.)4380 3 280800 u
+(ault, spe\001)4380 1 501460 u
+(cial characters lik)6491 1 280800 525600 t
+(e)359212 v
+&13
+(\017\()370143 v
+&20
+(\005)376253 v
+&13
+(a)381253 v
+&11
+(are not assigned when a font is)6491 1 392744 u
+(mounted e)4412 1 280800 537600 t
+(v)324402 v
+( named PostScript character \(lik)4413(en if a matching)4412 2 329252 u
+(e)535560 v
+&13
+(\017[alpha])280800 549600 w
+&11
+(\) w)5280 1 314140 u
+(ould ha)5280 1 329870 u
+(v)362170 v
+(e been a)5280 1 367020 u
+(v)405140 v
+( follo)5280(ailable. The)8430 2 409890 u
+(wing special)5280 1 486950 u
+(character maps e)3330 1 280800 561600 t
+(xist:)349500 v
+&13
+(math)280800 578400 w
+&11
+(mathematical characters lik)3330 1 338400 u
+(e)449930 v
+&20
+(\131)457700 v
+(\162)466520 v
+(\001)477530 v
+(\134)490730 v
+&13
+(gr)280800 590400 w
+(eek)290060 v
+&11
+(greek characters lik)3330 1 338400 u
+(e)418260 v
+&20
+(\052)426030 v
+(\100)435670 v
+(\105)444490 v
+(\011)451930 v
+(\012)462480 v
+(\017)472480 v
+&13
+(punct)280800 602400 w
+&11
+(the characters)3330 1 338400 u
+(\017\(or)397810 v
+(\012)415580 v
+(\017\014)423910 v
+(\017\013)433350 v
+(\020 # < > @)3330 1 442790 u
+(\017 ^)3330 1 489010 u
+(\023)501780 v
+&13
+(lar)280800 614400 w
+(ge)292920 v
+&11
+(parts of lar)3330 1 338400 u
+(ge characters lik)3330 1 383200 u
+(e)450290 v
+&20
+(\212)458060 v
+(\215)465190 v
+(\207)473460 v
+(\206)481690 v
+&11
+(The)280800 631200 w
+&13
+(punct)300203 v
+&11
+(map is used by def)3853 1 328506 u
+(ault for the)3853 1 408808 u
+&13
+(ps)459248 v
+&11
+(and)472552 v
+&13
+(psmed)490846 v
+&11
+(de)522480 v
+(v\001)531670 v
+(ices.)280800 643200 w
+(The remaining ar)3330 1 280800 660000 t
+(guments are handled as described for)3330 1 351150 u
+&13
+(fp)507200 v
+&11
+(.)516090 v
+[ /Dest /Anchor$fp
+/Rect [507200 -661000 518590 -652000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$feature
+ /View [/XYZ -4 127.2 0]
+/DEST pdfmark
+&13
+(.featur)72000 676800 w
+(e)100420 v
+&12
+(F)108190 v
+&20
+(\143)117630 v
+&12
+(name)123120 v
+(...)148110 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Enable \(+\) or disable \(\012\) the OpenT)4387 1 280800 u
+(ype feature)4387 1 434702 u
+&12
+(name)485676 v
+&11
+(in font)4387 1 511723 u
+&12
+(F)280800 688800 w
+&11
+( OpenT)4886(. Only)8216 2 286910 u
+( in conte)4885(ype features that result)4886 2 349482 u
+(xt\001insensiti)486510 v
+(v)530710 v
+(e)535560 v
+( T)8364(single\001character substitutions are supported.)5214 2 280800 700800 t
+(ypical features)5214 1 478696 u
+(are)280800 712800 w
+&13
+(onum)298574 v
+&11
+( old\001style numerals, or)5563(to enable)5564 2 328588 u
+&13
+(smcp)472774 v
+&11
+(to enable)5563 1 500557 u
+(small capitals.)3330 1 280800 724800 t
+(\001)294340 760800 w
+(24)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 24 24
+%%Page: 25 25
+save
+mark
+25 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$fallback
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.fallback)72000 84000 w
+&12
+(F)112280 v
+(A)121540 v
+(B)130980 v
+(...)140420 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Select the f)4008 1 280800 u
+(allback sequence for font)4008 1 328706 u
+&12
+(F)438038 v
+&11
+( font is)4009( the current)4008(. If)7338 3 444148 u
+&12
+(F)280800 96000 w
+&11
+( not found, font)4428(and a character is)4429 2 291339 u
+&12
+(A)439248 v
+&11
+(is searched)4428 1 449786 u
+(\003rst, then)4428 1 500292 u
+(font)280800 108000 w
+&12
+(B)302194 v
+&11
+( it is)5285( the character still has not been found,)5284( If)8614(, etc.)5284 4 308304 u
+( the Special F)3908(searched for in)3909 2 280800 120000 t
+(ont, then in the fonts mounted at)3908 1 401832 u
+(positions 0, 1, and so forth.)3330 1 280800 132000 t
+[ /Dest /Anchor$hidechar
+ /View [/XYZ -4 655.2 0]
+/DEST pdfmark
+&13
+(.hidechar)72000 148800 w
+&12
+(F)115610 v
+(c)125050 v
+(d)132820 v
+(...)141150 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Hide the characters)4805 1 280800 u
+&12
+(c)367405 v
+&11
+(,)371845 v
+&12
+(d)379150 v
+&11
+( font F)4806(, etc. from)4805 2 384150 u
+( the characters)4806(. If)8136 2 460342 u
+(appear in input afterw)5225 1 280800 160800 t
+(ards, the)5225 1 376905 u
+(y are searched in other fonts)5224 1 413360 u
+(using the f)3681 1 280800 172800 t
+( combining)3682( is useful e.g. for)3681( This)6831(allback sequence.)3681 4 325282 u
+(characters from a re)3330 1 280800 184800 t
+( T)3150(gular and a)3330 2 362820 u
+(ype)417370 v
+(1 e)3330 1 435140 u
+(xpert font.)3330 1 447760 u
+[ /Dest /Anchor$spacewidth
+ /View [/XYZ -4 602.4 0]
+/DEST pdfmark
+&13
+(.spacewidth)72000 201600 w
+&12
+(N)125610 v
+&11
+(on)187200 v
+(O,T)244800 v
+(If)280800 v
+&12
+(N)292110 v
+&20
+(\152)298780 v
+&11
+(0, use the space width from the font metrics)4650 1 304270 u
+(\003le. The)7800 1 501370 u
+( def)5656(space width otherwise)5657 2 280800 213600 t
+(aults to 1/3)5656 1 394310 u
+(em for v)5656 1 446738 u
+(ariable\001width)486680 v
+(fonts, or to the width of the)4342 1 280800 225600 t
+&13
+(space)405354 v
+&11
+(character for monospaced)4342 1 433026 u
+(fonts. W)6542 1 280800 237600 t
+( to the width of)3511(ith this request, the space width is set)3512 2 318882 u
+(the)280800 249600 w
+&13
+(space)297279 v
+&11
+(character as obtained from the font metrics)4259 1 324868 u
+(\003le for)4259 1 511301 u
+(v)280800 261600 w
+(ariable\001width fonts too.)3330 1 285550 u
+[ /Dest /Anchor$fspacewidth
+ /View [/XYZ -4 525.6 0]
+/DEST pdfmark
+&13
+(.fspacewidth)72000 278400 w
+&12
+(F)128940 v
+&11
+([)138380 v
+&12
+(N)141710 v
+&11
+(])148380 v
+(ignored)187200 v
+(O,T)244800 v
+( the space character in font)4151(Set the width of)4150 2 280800 u
+&12
+(F)469226 v
+&11
+(to)479487 v
+&12
+(N)491418 v
+&11
+(, which is)4151 1 498088 u
+(gi)280800 290400 w
+(v)288330 v
+( multiplied by the current)3853(en in units of 1/72000 of an inch)3854 2 293180 u
+(point size or 1/1000 of an em \(as in)3828 1 280800 302400 t
+9 s
+(AFM)436902 v
+10 s
+(k)460233 v
+( de\003ni\001)3829(erning pair)3828 2 465133 u
+( only one ar)3735(tions\). If)7065 2 280800 314400 t
+( the space width is set)3734(gument is present,)3735 2 370820 u
+(to the width of the)4123 1 280800 326400 t
+&13
+(space)364746 v
+&11
+(character as obtained from the font)4124 1 392200 u
+(metrics)280800 338400 w
+(\003le.)313570 v
+(When the width of spaces in output is actually computed, the)4006 1 280800 355200 t
+(space size as set by)4151 1 280800 367200 t
+&13
+(ss)368755 v
+[ /Dest /Anchor$ss
+/Rect [368755 -368200 376535 -359200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is also tak)4151 1 380686 u
+( space)4150( The)7300(en into account.)4151 3 423888 u
+(width as de\003ned abo)5452 1 280800 379200 t
+(v)371996 v
+(e is used directly with)5452 1 376846 u
+&13
+(.ss 12)5452 1 481876 u
+&11
+(, which)5452 1 507608 u
+(is the def)5319 1 280800 391200 t
+( it is multiplied by the)5319(ault. Otherwise,)8649 2 322998 u
+&13
+(ss)500231 v
+&11
+(setting)513330 v
+(di)280800 403200 w
+(vided by 12.)3330 1 288330 u
+[ /Dest /Anchor$s$5fpage
+ /View [/XYZ -4 384 0]
+/DEST pdfmark
+&13
+(3. P)6660 1 72000 420000 t
+(age contr)3330 1 92170 u
+(ol)132530 v
+[ /Dest /Bookmark$47
+ /View [/XYZ -4 384 0]
+/DEST pdfmark
+&11
+(T)72000 436800 w
+( mar)5146(op and bottom)5145 2 77310 u
+(gins are)5146 1 160896 u
+&12
+(not)200068 v
+&11
+(automatically pro)5146 1 217994 u
+(vided; it is con)5146 1 290760 u
+(v)357468 v
+(entional to de\003ne tw)5146 1 362318 u
+(o)452096 v
+&12
+(macr)462242 v
+(os)482342 v
+&11
+(and to set)5146 1 496378 u
+&12
+(tr)72000 448800 w
+(aps)78520 v
+&11
+( v)4413(for them at)4414 2 96824 u
+(ertical positions 0 \(top\) and)4413 1 153795 u
+&20
+(\007)275850 v
+&12
+(N)281340 v
+&11
+(\()292423 v
+&12
+(N)295753 v
+&11
+( See)7743(from the bottom\).)4413 2 306836 u
+(\0157)408088 v
+[ /Dest /Anchor$s$5fmac
+/Rect [408088 -449800 418088 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and T)4413 1 422501 u
+(utorial Examples)4413 1 447014 u
+(\015T2.)521390 v
+[ /Dest /Anchor$T2
+/Rect [441354 -449800 540000 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( onto the)4734(A pseudo\001page transition)4733 2 72000 460800 t
+&12
+(\003r)221208 v
+(st)229998 v
+&11
+(page occurs either when the)4734 1 241402 u
+(\003rst)366702 v
+&12
+(br)386996 v
+(eak)395516 v
+&11
+(occurs or when the)4734 1 414130 u
+(\003rst)501376 v
+&12
+(non\001)521670 v
+(diverted)72000 472800 w
+&11
+(te)108464 v
+( the)3693( for a trap to occur at the top of)3694( Arrangements)6474
+(xt processing occurs.)3694 4 115534 u
+(\003rst page must be completed)3693 1 420238 u
+( the follo)3414( In)6744(before this transition.)3414 3 72000 484800 t
+(wing, references to the)3414 1 211860 u
+&12
+(curr)309096 v
+(ent diver)3414 1 325946 u
+(sion)362030 v
+&11
+(\(\0157.4\))382115 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [309096 -485800 406275 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(mean that the mechanism being)3415 1 409690 u
+(described w)3330 1 72000 496800 t
+(orks during both ordinary and di)3330 1 120770 u
+(v)254380 v
+(erted output \(the former considered as the top di)3330 1 259230 u
+(v)458360 v
+(ersion le)3330 1 463210 u
+(v)497950 v
+(el\).)502800 v
+(The ph)3330 1 72000 513600 t
+(ysical limitations on)3330 1 100830 u
+&12
+(tr)186940 v
+(of)193160 v
+(f)200760 v
+&11
+(and)206870 v
+&12
+(nr)224640 v
+(of)233080 v
+(f)240680 v
+&11
+(output are de)3330 1 246790 u
+(vice dependent.)3330 1 300410 u
+&14
+(Request)72000 530400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 542400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$pl
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+&13
+(.pl)72000 559200 w
+&20
+(\143)86170 v
+&12
+(N)91660 v
+&11
+(11)129600 v
+(in)141266 v
+(11)187200 v
+(in)198866 v
+&13
+(v)244800 v
+&11
+(P)280800 v
+(age length set to)3669 1 286210 u
+&20
+(\143)358656 v
+&12
+(N)364146 v
+&11
+( current page length is a)3669(. The)6819 2 370816 u
+(v)497140 v
+(ailable in)3670 1 501890 u
+(the)280800 571200 w
+[ /Dest /Anchor$n$5f$2ep
+ /View [/XYZ -4 232.8 0]
+/DEST pdfmark
+&13
+(.p)296350 v
+&11
+(re)307740 v
+(gister)315360 v
+(.)337030 v
+[ /Dest /Anchor$papersize
+ /View [/XYZ -4 216 0]
+/DEST pdfmark
+&13
+(.papersize)72000 588000 w
+&12
+(media)118380 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(u)252670 v
+&11
+(Set the paper size.)5309 1 280800 u
+&12
+(media)370626 v
+&11
+(can be one of)5309 1 400375 u
+&13
+(executi)467701 v
+(v)497591 v
+(e)502491 v
+&11
+(,)506931 v
+&13
+(letter)514740 v
+&11
+(,)537500 v
+&13
+(legal)280800 600000 w
+&11
+(,)300800 v
+&13
+(ledger)308805 v
+&11
+(,)335465 v
+&13
+(tabloid)343470 v
+&11
+(,)373480 v
+&13
+(a)381485 v
+&12
+(N)386485 v
+&11
+(,)393155 v
+&13
+(b)401160 v
+&12
+(N)406720 v
+&11
+(,)413390 v
+&13
+(c)421394 v
+&12
+(N)425834 v
+&11
+(, or tw)5504 1 432504 u
+(o numbers gi)5504 1 464242 u
+(ving)522220 v
+(the width and height directly)5256 1 280800 612000 t
+( page length is set from)5256(. The)8406 2 406164 u
+(these parameters, the page of)4298 1 280800 624000 t
+( are adjusted)4297(fset and line length)4298 2 404092 u
+( and the post\001processor is informed about the page)4269(as needed,)4268 2 280800 636000 t
+( last action is the real)3692( The)6842
+(metrics for its internal calculations.)3692 3 280800 648000 t
+(reason wh)4612 1 280800 660000 t
+(y this request e)4612 1 323682 u
+(xists; without it, PostScript printers)4613 1 390138 u
+( def)5905( The)9055( document.)5905(may displace the pages of the)5906 4 280800 672000 t
+(ault are)5905 1 506885 u
+&13
+(letter)280800 684000 w
+&11
+( used early in a)4475( request should be)4474(measurements. This)7624 3 308034 u
+(document; if it is gi)3827 1 280800 696000 t
+(v)364198 v
+(en multiple times, the last one will setup)3826 1 369048 u
+(the de)3330 1 280800 708000 t
+(vice.)305540 v
+(\001)294340 760800 w
+(25)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 25 25
+%%Page: 26 26
+save
+mark
+26 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$mediasize
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.mediasize)72000 84000 w
+&12
+(media)119490 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(u)252670 v
+&11
+(Set the de)5027 1 280800 u
+(vice media size.)5027 1 325044 u
+&12
+(media)402605 v
+&11
+(can be one of)5027 1 432072 u
+&13
+(executi)498270 v
+(v)528160 v
+(e)533060 v
+&11
+(,)537500 v
+&13
+(letter)280800 96000 w
+&11
+(,)303560 v
+&13
+(legal)309433 v
+&11
+(,)329433 v
+&13
+(ledger)335306 v
+&11
+(,)361966 v
+&13
+(tabloid)367839 v
+&11
+(,)397849 v
+&13
+(a)403722 v
+&12
+(N)408722 v
+&11
+(,)415392 v
+&13
+(b)421265 v
+&12
+(N)426825 v
+&11
+(,)433495 v
+&13
+(c)439368 v
+&12
+(N)443808 v
+&11
+(, or tw)3373 1 450478 u
+(o numbers gi)3373 1 477954 u
+(v\001)531670 v
+( directly)4606(ing the width and height)4605 2 280800 108000 t
+( request performs the)4606(. This)7756 2 420946 u
+(same actions as)4144 1 280800 120000 t
+&13
+(papersize)350442 v
+[ /Dest /Anchor$papersize
+/Rect [350442 -121000 390992 -112000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and generates a de)4143 1 395135 u
+(vice setup com\001)4143 1 473394 u
+( Le)3653(mand in addition \(the PostScript)3652 2 280800 132000 t
+(v)428811 v
+(el 2 operator)3653 1 433661 u
+&13
+(setpagede)490160 v
+(v\001)531670 v
+(ice)280800 144000 w
+&11
+(as well as the DSC comment)4070 1 296530 u
+&13
+(%%DocumentMedia:)423720 v
+&11
+(with)522220 v
+&12
+(dpost)280800 156000 w
+&11
+( ef)4885(\). The)8035 2 302470 u
+(fect of this command can be the selection of)4885 1 344290 u
+( the)5360(a matching paper tray on a printer; on the other hand,)5361 2 280800 168000 t
+( a)5350(document may not print at all if no such tray is)5349 2 280800 180000 t
+(v)506090 v
+(ailable.)510840 v
+(In general, it is recommended to use printer)4895 1 280800 192000 t
+(\001speci\003c options)4895 1 471775 u
+(from a)4113 1 280800 204000 t
+9 s
+(PPD)312906 v
+10 s
+( the)4114(\003le when)4113 2 333525 u
+(\003le is submitted to the print spool\001)4114 1 392526 u
+( Ho)7186( of this request.)3856(ing system instead)3857 3 280800 216000 t
+(we)442288 v
+(v)453698 v
+(er)458548 v
+(, when generating)3856 1 465918 u
+( intermediate format with the intent of)3945(PostScript as)3944 2 280800 228000 t
+9 s
+(PDF)499569 v
+10 s
+(crea\001)520020 v
+(tion, use of this request is recommended.)3330 1 280800 240000 t
+[ /Dest /Anchor$cropat
+ /View [/XYZ -4 547.2 0]
+/DEST pdfmark
+&13
+(.cr)72000 256800 w
+(opat)83200 v
+&12
+(L)105420 v
+(T)114130 v
+(W)122620 v
+(H)134280 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)4499 1 280800 u
+(\027)314798 v
+(\027CropBox\030)317388 v
+( parameter for)4499(\030 page)3759 2 359978 u
+9 s
+(PDF)451084 v
+10 s
+(generation. The)7650 1 472090 u
+(four ar)4805 1 280800 268800 t
+(guments gi)4805 1 309855 u
+(v)356080 v
+(e the of)4805 1 360930 u
+( left \()4804(fset from the)4805 2 395280 u
+&12
+(L)477258 v
+&11
+(\) and top \()4804 1 482818 u
+&12
+(T)531110 v
+&11
+(\))536670 v
+(mar)280800 280800 w
+(gins of the document \(as set by)3470 1 296170 u
+&13
+(mediasize)429890 v
+[ /Dest /Anchor$mediasize
+/Rect [429890 -281800 471550 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\), and width \()3470 1 471550 u
+&12
+(W)528340 v
+&11
+(\))536670 v
+(and height \()4014 1 280800 292800 t
+&12
+(H)331598 v
+&11
+( def)4014( The)7164(\) of the box.)4014 3 338818 u
+( The)7163(ault units are points.)4013 2 431638 u
+(CropBox restricts the area of the page that is sho)5509 1 280800 304800 t
+( a)5510(wn by)5509 2 502321 u
+9 s
+(PDF)280800 316800 w
+10 s
+(vie)301139 v
+( is useful to hide cut marks and other)3832( It)7162(wer program.)3833 3 313109 u
+( the same)3672(printing instructions when)3671 2 280800 328800 t
+9 s
+(PDF)431928 v
+10 s
+(document is intended)3672 1 452106 u
+(to be displayed on screen.)3330 1 280800 340800 t
+[ /Dest /Anchor$trimat
+ /View [/XYZ -4 446.4 0]
+/DEST pdfmark
+&13
+(.trimat)72000 357600 w
+&12
+(L)105040 v
+(T)113750 v
+(W)122240 v
+(H)133900 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)5388 1 280800 u
+(\027)316576 v
+(\027T)319166 v
+(rimBox\030)328256 v
+( parameter for)5388(\030 page)4648 2 361406 u
+9 s
+(PDF)456068 v
+10 s
+(generation and)5388 1 477962 u
+( of marks when combined with)6437(enables printing)6438 2 280800 369600 t
+&12
+(dpost)499170 v
+(\012M)524170 v
+&11
+(.)537500 v
+(The four ar)4501 1 280800 381600 t
+(guments gi)4502 1 329602 u
+(v)375524 v
+(e the of)4502 1 380374 u
+(fset from the left \()4502 1 414118 u
+&12
+(L)494886 v
+&11
+(\) and top)4502 1 500446 u
+(\()280800 393600 w
+&12
+(T)284130 v
+&11
+(\) mar)3747 1 289690 u
+(gins of the document \(as set by)3747 1 312137 u
+&13
+(mediasize)447796 v
+[ /Dest /Anchor$mediasize
+/Rect [447796 -394600 489456 -385600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\), and width)3747 1 489456 u
+(\()280800 405600 w
+&12
+(W)284130 v
+&11
+( height \()4351(\) and)4350 2 292460 u
+&12
+(H)351612 v
+&11
+( def)4351( The)7501(\) of the box.)4351 3 358832 u
+(ault units are points.)4351 1 453337 u
+(The T)5730 1 280800 417600 t
+(rimBox speci\003es ho)5910 1 307840 u
+(w the page is to be cut after it)5910 1 394410 u
+(has been printed; it is sort of an electronic equi)4219 1 280800 429600 t
+(v)483491 v
+( cut)4220(alent for)4219 2 488241 u
+(marks \(which should continue to be printed in addition\).)3330 1 280800 441600 t
+[ /Dest /Anchor$bleedat
+ /View [/XYZ -4 345.6 0]
+/DEST pdfmark
+&13
+(.bleedat)72000 458400 w
+&12
+(L)108940 v
+(T)117650 v
+(W)126140 v
+(H)137800 v
+&11
+(ignored)187200 v
+(T)244800 v
+(,)250170 v
+&13
+(p)252670 v
+&11
+(Set the)4083 1 280800 u
+(\027)313966 v
+(\027BleedBox\030)316556 v
+( parameter for)4083(\030 page)3343 2 362476 u
+9 s
+(PDF)451918 v
+10 s
+(generation. The)7233 1 472507 u
+(four ar)4805 1 280800 470400 t
+(guments gi)4805 1 309855 u
+(v)356080 v
+(e the of)4805 1 360930 u
+( left \()4804(fset from the)4805 2 395280 u
+&12
+(L)477258 v
+&11
+(\) and top \()4804 1 482818 u
+&12
+(T)531110 v
+&11
+(\))536670 v
+(mar)280800 482400 w
+(gins of the document \(as set by)3470 1 296170 u
+&13
+(mediasize)429890 v
+[ /Dest /Anchor$mediasize
+/Rect [429890 -483400 471550 -474400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\), and width \()3470 1 471550 u
+&12
+(W)528340 v
+&11
+(\))536670 v
+(and height \()4014 1 280800 494400 t
+&12
+(H)331598 v
+&11
+( def)4014( The)7164(\) of the box.)4014 3 338818 u
+( The)7163(ault units are points.)4013 2 431638 u
+(BleedBox should be de\003ned as a a frame around the objects)4480 1 280800 506400 t
+(of the actual document including an)4008 1 280800 518400 t
+( \(i.e. content)4007(y bleed areas)4008 2 431780 u
+(that should e)4809 1 280800 530400 t
+(xtend to the end of the trimmed)4809 1 336378 u
+( b)4810(\003nal page)4809 2 481141 u
+(ut)532220 v
+(is e)3726 1 280800 542400 t
+(xtended a bit such to w)3726 1 295486 u
+(ork around possible cutting inaccu\001)3726 1 394006 u
+( for the)4393( marks, color bars, and other information)4392
+(racies\). Cut)7722 3 280800 554400 t
+(printing of\003ce should be positioned outside the BleedBox.)3330 1 280800 566400 t
+[ /Dest /Anchor$bp
+ /View [/XYZ -4 220.8 0]
+/DEST pdfmark
+&13
+(.bp)72000 583200 w
+&20
+(\143)88950 v
+&12
+(N)94440 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)141760 v
+(\012)187200 v
+(B)244800 v
+(Be)280800 v
+( current page is ejected and a ne)4759( The)7909(gin page.)4759 3 291760 u
+( is)4760(w page)4759 2 497711 u
+(be)280800 595200 w
+(gun. If)8926 1 290090 u
+&20
+(\143)328772 v
+&12
+(N)334262 v
+&11
+(is gi)5596 1 346528 u
+(v)366324 v
+( ne)5595(en, the)5596 2 371174 u
+(w page number will be)5595 1 415715 u
+&20
+(\143)525340 v
+&12
+(N)530830 v
+&11
+(.)537500 v
+(Also see request)3330 1 280800 607200 t
+&13
+(ns)351330 v
+[ /Dest /Anchor$ns
+/Rect [351330 -608200 360780 -599200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)360780 v
+[ /Dest /Anchor$pn
+ /View [/XYZ -4 180 0]
+/DEST pdfmark
+&13
+(.pn)72000 624000 w
+&20
+(\143)88950 v
+&12
+(N)94440 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)141760 v
+(ignored)187200 v
+(\012)244800 v
+(P)280800 v
+(age number)4647 1 286210 u
+( ne)4647(. The)7797 2 334737 u
+(xt page \(when it occurs\) will ha)4647 1 374521 u
+(v)513843 v
+(e the)4647 1 518693 u
+(page number)3957 1 280800 636000 t
+&20
+(\143)338144 v
+&12
+(N)343634 v
+&11
+(. A)6737 1 350304 u
+&13
+(pn)370718 v
+&11
+(must occur before the initial pseudo\001)3957 1 385795 u
+(page transition to ef)5311 1 280800 648000 t
+(fect the page number of the)5311 1 368693 u
+(\003rst page.)5311 1 497749 u
+(The current page number is in the)3624 1 280800 660000 t
+[ /Dest /Anchor$n$5f$25
+ /View [/XYZ -4 144 0]
+/DEST pdfmark
+&13
+(%)426138 v
+&11
+(re)439761 v
+(gister)447381 v
+( number of)3623(. The)6773 2 469051 u
+(the ne)3806 1 280800 672000 t
+(xt page is in the)3807 1 306116 u
+[ /Dest /Anchor$n$5f$2epn
+ /View [/XYZ -4 132 0]
+/DEST pdfmark
+&13
+(.pn)378481 v
+&11
+(re)395908 v
+(gister; this is either the v)3807 1 403528 u
+(alue set)3807 1 508423 u
+(by)280800 684000 w
+&13
+(pn)294130 v
+&11
+(or the current page number plus 1.)3330 1 308580 u
+[ /Dest /Anchor$po
+ /View [/XYZ -4 103.2 0]
+/DEST pdfmark
+&13
+(.po)72000 700800 w
+&20
+(\143)88390 v
+&12
+(N)93880 v
+&11
+(0;1i)129600 v
+(pre)187200 v
+(vious)199720 v
+&13
+(m)244800 v
+&11
+(P)280800 v
+(age of)4640 1 286210 u
+( current)4641(fset. The)7791 2 312810 u
+&12
+(left mar)4641 1 390693 u
+(gin)423854 v
+&11
+(is set to)4641 1 441275 u
+&20
+(\143)480758 v
+&12
+(N)486248 v
+&11
+(. The)7791 1 492918 u
+&12
+(tr)523400 v
+(of)529620 v
+(f)537220 v
+&11
+(initial v)4037 1 280800 712800 t
+(alue pro)4037 1 312927 u
+(vides about 1)4037 1 346804 u
+(inch of paper mar)4037 1 406538 u
+(gin on a typi\001)4037 1 481779 u
+(cal de)3484 1 280800 724800 t
+( current page of)3484(vice. The)6634 2 305134 u
+(fset is a)3485 1 412210 u
+(v)444530 v
+(ailable in the)3485 1 449280 u
+[ /Dest /Anchor$n$5f$2eo
+ /View [/XYZ -4 79.2 0]
+/DEST pdfmark
+&13
+(.o)506395 v
+&11
+(re)517380 v
+(gis\001)525000 v
+(\001)294340 760800 w
+(26)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 26 26
+%%Page: 27 27
+save
+mark
+27 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(ter)280800 84000 w
+(.)290800 v
+[ /Dest /Anchor$ne
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(.ne)72000 100800 w
+&12
+(N)87830 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+&12
+(V)206026 v
+&11
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Need)280800 v
+&12
+(N)307087 v
+&11
+(v)318944 v
+( the distance,)5187( If)8517(ertical space.)5187 3 323794 u
+&12
+(D)456909 v
+&11
+( the ne)5188(, to)5187 2 464129 u
+(xt trap)5188 1 511482 u
+(position \(see)4147 1 280800 112800 t
+(\0157.5\))337424 v
+[ /Dest /Anchor$c$5ftrap
+/Rect [317177 -113800 358254 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( than)4146(is less)4147 2 362401 u
+&12
+(N)413730 v
+&11
+(, a forw)4146 1 420400 u
+(ard v)4146 1 454412 u
+(ertical space of)4146 1 476178 u
+(size)280800 124800 w
+&12
+(D)301838 v
+&11
+( are no)5489( there)5488( If)8818(occurs, which will spring the trap.)5488 4 314546 u
+( on the page,)4399(remaining traps)4400 2 280800 136800 t
+&12
+(D)406386 v
+&11
+(is the distance to the bottom)4399 1 418005 u
+( If)7849( page.)4519(of the)4518 3 280800 148800 t
+&12
+(D)350795 v
+(<)359681 v
+(V)368097 v
+&11
+(, another line could still be output and)4519 1 374207 u
+( a di)3829( In)7159(spring the trap.)3830 3 280800 160800 t
+(v)378847 v
+(ersion)383697 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [371317 -161800 408137 -152800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(,)408137 v
+&12
+(D)414466 v
+&11
+(is the distance to the)3829 1 425515 u
+&12
+(diver)516320 v
+(\001)536670 v
+(sion tr)3330 1 280800 172800 t
+(ap)307320 v
+&11
+(, if an)3330 1 317320 u
+(y)341880 v
+(, or is v)3330 1 346230 u
+(ery lar)3330 1 378570 u
+(ge.)405040 v
+[ /Dest /Anchor$mk
+ /View [/XYZ -4 614.4 0]
+/DEST pdfmark
+&13
+(.mk)72000 189600 w
+&12
+(R)91720 v
+&11
+(none)129600 v
+(internal)187200 v
+(D)244800 v
+(Mark the)5176 1 280800 u
+&12
+(curr)325032 v
+(ent)341882 v
+&11
+(v)359278 v
+(ertical place in an internal re)5177 1 364128 u
+(gister \(both)5177 1 491493 u
+(associated with the current di)3742 1 280800 201600 t
+(v)402718 v
+(ersion)407568 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [395188 -202600 432008 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(le)435750 v
+(v)442720 v
+(el\), or in re)3742 1 447570 u
+(gister)495576 v
+&12
+(R)521538 v
+&11
+(, if)3742 1 527648 u
+(gi)280800 213600 w
+(v)288330 v
+(en. See)6660 1 293180 u
+&13
+(rt)329550 v
+&11
+(request.)340650 v
+[ /Dest /Anchor$rt
+ /View [/XYZ -4 573.6 0]
+/DEST pdfmark
+&13
+(.rt)72000 230400 w
+&20
+(\143)85600 v
+&12
+(N)91090 v
+&11
+(none)129600 v
+(internal)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Return)280800 v
+&12
+(upwar)312340 v
+(d only)4320 1 337530 u
+&11
+(to a mark)4320 1 368390 u
+(ed v)4320 1 409700 u
+(ertical place in the current)4320 1 428310 u
+(di)280800 242400 w
+(v)288330 v
+(ersion)293180 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [280800 -243400 317620 -234400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(. If)8434 1 317620 u
+&20
+(\143)340318 v
+&12
+(N)345808 v
+&11
+(\(w)357582 v
+(.r)367482 v
+(.t. current place\) is gi)5104 1 372762 u
+(v)467908 v
+(en, the place is)5104 1 472758 u
+&20
+(\143)280800 254400 w
+&12
+(N)286290 v
+&11
+(from the top of the page or di)3736 1 296696 u
+(v)422578 v
+(ersion)427428 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [415048 -255400 451868 -246400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(or)455605 v
+(, if)3737 1 463535 u
+&12
+(N)479619 v
+&11
+(is absent, to)3737 1 490026 u
+(a place mark)4585 1 280800 266400 t
+(ed by a pre)4585 1 335960 u
+(vious)386115 v
+&13
+(mk)412370 v
+&11
+( that the)4584(. Note)7914 2 426260 u
+&13
+(sp)497086 v
+&11
+(request)511120 v
+[ /Dest /Anchor$sp
+/Rect [497086 -267400 540000 -258400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\(\0155.3\))280800 278400 w
+[ /Dest /Anchor$sp
+/Rect [280800 -279400 304960 -270400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( instead of)4868(may be used in all cases)4867 2 309827 u
+&13
+(rt)469296 v
+&11
+(by spacing to)4868 1 481934 u
+(the absolute place stored in a e)4509 1 280800 290400 t
+(xplicit re)4509 1 415454 u
+(gister; e.g. using the)4509 1 453143 u
+(sequence)280800 302400 w
+&13
+(.mk)320801 v
+&12
+(R)340521 v
+&11
+(...)349982 v
+&13
+(.sp)360833 v
+(\023)376113 v
+(\017n)379979 v
+&12
+(R)388319 v
+&13
+(u)394429 v
+&11
+( also w)3352(; this)3351 2 399989 u
+(orks when the motion)3352 1 450504 u
+(is do)3330 1 280800 314400 t
+(wnw)300550 v
+(ards.)319890 v
+[ /Dest /Anchor$s$5ffill
+ /View [/XYZ -4 472.8 0]
+/DEST pdfmark
+&13
+(4. T)6360 1 72000 331200 t
+( and Centering)3330( Adjusting,)2780(ext Filling,)3330 3 91610 u
+[ /Dest /Bookmark$48
+ /View [/XYZ -4 472.8 0]
+/DEST pdfmark
+&12
+(4.1.)72000 348000 w
+(F)88666 v
+(illing and adjusting)3330 1 94326 u
+(.)174186 v
+[ /Dest /Bookmark$49
+ /View [/XYZ -4 456 0]
+/DEST pdfmark
+&11
+(Normally)180988 v
+(, w)4302 1 218668 u
+(ords are collected from input te)4302 1 232590 u
+( and assembled into a output te)4303(xt lines)4302 2 366700 u
+(xt)532220 v
+(line until some w)3833 1 72000 360000 t
+(ord does not)3833 1 145069 u
+( attempt is then made the h)3833(\003t. An)6613 2 201008 u
+(yphenate the w)3833 1 346399 u
+(ord in ef)3833 1 409505 u
+( assemble a part)3832(fort to)3833 2 445801 u
+( spaces between the w)4598( The)7748(of it into the output line.)4598 3 72000 372000 t
+(ords on the output line are then increased to spread out)4598 1 300170 u
+(the line to the current)3756 1 72000 384000 t
+&12
+(line length)3756 1 166320 u
+&11
+(minus an)3756 1 213832 u
+(y current)3756 1 251328 u
+&12
+(indent)292160 v
+&11
+(. A)6535 1 317160 u
+&12
+(wor)337170 v
+(d)352360 v
+&11
+(is an)3755 1 361115 u
+(y string of characters delimited by the)3755 1 380830 u
+&12
+(space)72000 396000 w
+&11
+(character or the be)4288 1 99058 u
+( An)7068(ginning/end of the input line.)4288 2 178402 u
+( w)4289(y adjacent pair of)4288 2 321082 u
+(ords that must be k)4289 1 407555 u
+(ept together)4289 1 490721 u
+( the adjustment process\) can be tied together by separat\001)4756
+(\(neither split across output lines nor spread apart in)4757 2 72000 408000 t
+(ing them with the)4478 1 72000 420000 t
+&12
+(unpaddable space)4478 1 152692 u
+&11
+(character)231638 v
+[ /Dest /Anchor$e$5f$20
+ /View [/XYZ -4 384 0]
+/DEST pdfmark
+(\020)272756 v
+&13
+(\017)276836 v
+&11
+( paddable no\001break space character)4479( The)7629
+(\020 \(backslash\001space\).)4479 3 286276 u
+[ /Dest /Anchor$e$5f$7e
+ /View [/XYZ -4 372 0]
+/DEST pdfmark
+&13
+(\017)72000 432000 w
+&20
+(\127)74780 v
+&11
+(k)84294 v
+(eeps w)4024 1 89194 u
+( line b)4023(ords on the same output)4024 2 118108 u
+( adjusted w)4023( The)7173(ut may be spread during adjustment.)4023 3 247600 u
+(ord spacings are)4023 1 471974 u
+(uniform in)4267 1 72000 444000 t
+&12
+(tr)120534 v
+(of)126754 v
+(f)134354 v
+&11
+( minimum interw)4268(and the)4267 2 141401 u
+(ord spacing can be controlled with the)4268 1 245214 u
+&13
+(ss)412840 v
+&11
+(request)424888 v
+[ /Dest /Anchor$ss
+/Rect [412840 -445000 453768 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\(\0152\).)458036 v
+[ /Dest /Anchor$s$5ffont
+/Rect [458036 -445000 477196 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(In)481464 v
+&12
+(nr)494062 v
+(of)502502 v
+(f)510102 v
+(,)512782 v
+&11
+(w)519550 v
+(ord)526670 v
+(spacings are normally nonuniform because of quantization to character)4160 1 72000 456000 t
+(\001size spaces; ho)4160 1 368900 u
+(we)434730 v
+(v)446140 v
+(er)450990 v
+(, the command line)4160 1 458360 u
+(option)72000 468000 w
+&13
+(\012e)101428 v
+&11
+( output de)3869(causes uniform spacing with full)3868 2 114736 u
+( adjustment, and h)3869( Filling,)7199(vice resolution.)3869 3 293236 u
+(yphenation \(\01513\))3869 1 470031 u
+[ /Dest /Anchor$s$5fhyphen
+/Rect [518340 -469000 540000 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(can all be pre)3717 1 72000 480000 t
+(v)128991 v
+( The)6867(ented or controlled.)3717 2 133841 u
+&12
+(te)240449 v
+(xt length)3717 1 247469 u
+&11
+( a)3716(on the last line output is)3717 2 287123 u
+(v)397004 v
+(ailable in the)3716 1 401754 u
+[ /Dest /Anchor$n$5f$2en
+ /View [/XYZ -4 324 0]
+/DEST pdfmark
+&13
+(.n)459562 v
+&11
+(re)471338 v
+(gister)478958 v
+(, and te)3716 1 500778 u
+(xt)532220 v
+(base\001line position on the page for this line is in the)3348 1 72000 492000 t
+[ /Dest /Anchor$n$5fnl
+ /View [/XYZ -4 312 0]
+/DEST pdfmark
+&13
+(nl)286038 v
+&11
+(re)297727 v
+(gister)305347 v
+( te)3349(. The)6499 2 327017 u
+(xt base\001line high\001w)3349 1 361985 u
+(ater mark \(lo)3349 1 440793 u
+(west place\))3349 1 493891 u
+(on the current page is in the)3330 1 72000 504000 t
+[ /Dest /Anchor$n$5f$2eh
+ /View [/XYZ -4 300 0]
+/DEST pdfmark
+&13
+(.h)191400 v
+&11
+(re)202790 v
+(gister)210410 v
+(.*)232080 v
+(The current horizontal output position is in the)4647 1 72000 516000 t
+[ /Dest /Anchor$n$5f$2ek
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&13
+(.k)278056 v
+&11
+(re)290764 v
+(gister)298384 v
+(. The)7798 1 320054 u
+[ /Dest /Anchor$n$5f$2ex
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&13
+(.x)350550 v
+&11
+(re)362698 v
+(gister indicates the remaining horizontal)4648 1 370318 u
+(space on the current output line.)3330 1 72000 528000 t
+(T)72000 544800 w
+(e)77410 v
+(xt lines be)4211 1 81700 u
+(ginning with space characters and empty te)4211 1 126082 u
+( The)7361(xt lines \(blank lines\) cause a break.)4211 2 308938 u
+(\003lling of the)4212 1 487126 u
+( The)6570
+(line currently being collected is stopped and the line is output without a\
+djustment.)3420 2 72000 556800 t
+&13
+(.blm)436620 v
+&11
+(request can be used)3420 1 459210 u
+( W)7119(to rede\003ne the processing of blank input lines.)4089 2 72000 568800 t
+(ith the)4089 1 284262 u
+&13
+(.lsm)315220 v
+&11
+(request the ef)4090 1 336810 u
+(fect of lines be)4090 1 393610 u
+(ginning with spaces)4090 1 457380 u
+( read\001only number re)4389( The)7539(is changed.)4389 3 72000 580800 t
+(gister)231625 v
+[ /Dest /Anchor$n$5flsn
+ /View [/XYZ -4 223.2 0]
+/DEST pdfmark
+&13
+(lsn)258234 v
+&11
+( read\001only number)4388( The)7538( leading spaces.)4388
+(contains the number of)4389 4 274853 u
+(re)72000 592800 w
+(gister)79620 v
+[ /Dest /Anchor$n$5flss
+ /View [/XYZ -4 211.2 0]
+/DEST pdfmark
+&13
+(lss)105748 v
+&11
+( re)3908( Both)7238
+(contains the horizontal space which corresponds to the leading spaces.)3908 3 120216 u
+(gisters are set also if)3909 1 452714 u
+&13
+(.lsm)72000 604800 w
+&11
+(is not used.)3330 1 92830 u
+&12
+(tr)72000 621600 w
+(of)78220 v
+(f)85820 v
+&11
+(can optionally decrease w)4291 1 92891 u
+( reshape letters when adjusting lines)4292
+(ord spacings, change the letter spacing, and)4291 2 201744 u
+(to)72000 633600 w
+( both mar)3851(\003t on)3852 2 83632 u
+( interw)3851(gins. The)7001 2 146676 u
+(ord spacing controlled with the)3851 1 217698 u
+&13
+(ss)351383 v
+&11
+(request)363014 v
+[ /Dest /Anchor$ss
+/Rect [351383 -634600 391894 -625600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is then understood as the optimum)3851 1 395745 u
+(setting. W)7878 1 72000 645600 t
+(ords are collected from input until the)4848 1 117688 u
+(\003rst w)4848 1 287714 u
+(ord that w)4848 1 315242 u
+( condense spacing or letter)4849(ould require to)4848 2 360388 u
+( the end of the pre)4360( Between)7690(shapings is encountered.)4360 3 72000 657600 t
+(vious w)4360 1 297970 u
+(ord and the end of this w)4360 1 331120 u
+(ord, h)4360 1 441610 u
+(yphenation points)4360 1 466750 u
+(are additionally e)4573 1 72000 669600 t
+( tw)4574(xamined until the)4573 2 145426 u
+( The)7724
+(o possibilities to end the line surrounding the optimum are found.)4574 2 234046 u
+( the w)3856( If)7186( the optimum is then chosen.)3856(point closest to)3857 4 72000 681600 t
+(ord spacing so determined w)3856 1 297952 u
+(ould f)3856 1 418256 u
+(all belo)3856 1 443122 u
+(w the minimum)3856 1 473948 u
+(allo)72000 693600 w
+( it w)3394( If)6724(wed, letter spacings and shapings are condensed.)3394 3 86750 u
+(ould e)3394 1 320476 u
+(xceed the threshold for e)3395 1 345940 u
+(xpanded letter spacing)3395 1 448230 u
+( the threshold is reached, up to the maximum allo)3454
+(and letter shaping, it is attempted to compensate until)3455 2 72000 705600 t
+(wed letter)3454 1 499336 u
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 715600 w
+&20
+(\005)72000 728600 w
+&11
+(Local motions ha)2664 1 77333 u
+(v)134053 v
+(e no ef)2664 1 137933 u
+(fect on re)2664 1 160829 u
+(gister)192245 v
+&13
+(.h)212685 v
+&11
+(.)219133 v
+10 s
+(\001)294340 760800 w
+(27)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 27 27
+%%Page: 28 28
+save
+mark
+28 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+( space is distrib)3864( Remaining)7194(spacing and letter shaping.)3864 3 72000 84000 t
+(uted among the w)3864 1 299658 u
+( Distrib)7195(ord spacings.)3865 2 375030 u
+(ution among letter)3865 1 463940 u
+(spacings and shaping is equal until one of the respecti)3580 1 72000 96000 t
+(v)296720 v
+( that terminate with a)3579( Lines)6909(e limits is reached.)3579 3 301570 u
+&12
+(br)501811 v
+(eak)510331 v
+&11
+(are)527790 v
+( optimum w)3777(normally set using the)3776 2 72000 108000 t
+(ord and line spacings unless the last w)3777 1 215232 u
+(ord collected is the)3777 1 377111 u
+(\003rst w)3777 1 460539 u
+(ord that f)3777 1 486996 u
+(alls)526110 v
+(belo)72000 120000 w
+( horizontal positions in the)3411( The)6561
+( may result in condensed spacing and shaping.)3411
+(w the optimum spacing, which)3412 4 88970 u
+&13
+(.k)72000 132000 w
+&11
+(and)83390 v
+&13
+(.x)101160 v
+&11
+(re)111990 v
+(gisters are al)3330 1 119610 u
+(w)171710 v
+(ays computed using def)3330 1 178830 u
+(ault character and spacing widths.)3330 1 275930 u
+[ /Dest /Anchor$ad$5fp
+ /View [/XYZ -4 655.2 0]
+/DEST pdfmark
+(As an alternati)3519 1 72000 148800 t
+(v)132108 v
+( described,)3520(e to adjusting one line at a time as)3519 2 136958 u
+&12
+(tr)329070 v
+(of)335290 v
+(f)342890 v
+&11
+(also supports adjusting one paragraph at once.)3520 1 349190 u
+(In this mode, w)4072 1 72000 160800 t
+( until a)4071
+(ords are collected from input lines and requests are processed)4072 2 138836 u
+&12
+(br)433747 v
+(eak)442267 v
+&11
+( w)4071(occurs. The)7221 2 460218 u
+(ords)522780 v
+(are then split into lines such that the interw)3880 1 72000 172800 t
+(ord spaces are closest to the optimum setting across the entire para\001\
+)3880 1 255150 u
+(graph. Ultimately)6786 1 72000 184800 t
+( T)6786(, the lines so determined are printed.)3456 2 146186 u
+(raps)309998 v
+[ /Dest /Anchor$c$5ftrap
+/Rect [304238 -185800 326658 -176800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, page breaks, and an)3456 1 326658 u
+(y positioning become ef)3456 1 414192 u
+(fecti)513190 v
+(v)530710 v
+(e)535560 v
+( read on the input line in the)3678
+( is thus well possible that the current page number as)3677( It)7007
+(only at this time.)3677 4 72000 196800 t
+&13
+(%)503702 v
+[ /Dest /Anchor$n$5f$25
+/Rect [503702 -197800 513702 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(re)517380 v
+(gis\001)525000 v
+(ter is lo)4154 1 72000 208800 t
+( the number of the page on which the corresponding te)4153(wer than)4154 2 105058 u
+( An)6933(xt is actually output.)4153 2 376092 u
+(y reference to)4153 1 481724 u
+(the page number or page position \(e.g. writing an inde)3727 1 72000 220800 t
+( using the output\001line trap)3728(x entry\) should thus be handled)3727 2 299803 u
+[ /Dest /Anchor$s$5folt
+/Rect [476832 -221800 540000 -212800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( Lik)7405(mechanism instead of in\001line macros.)4075 2 72000 232800 t
+(e)249195 v
+(wise the)4075 1 253385 u
+&13
+(.k)292085 v
+[ /Dest /Anchor$n$5f$2ek
+/Rect [292085 -233800 300145 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)304220 v
+&13
+(.x)322735 v
+[ /Dest /Anchor$n$5f$2ex
+/Rect [322735 -233800 330235 -224800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(re)334310 v
+( meaningful in this mode, e)4074(gisters are not)4075 2 341930 u
+(xcept)518340 v
+(that)72000 244800 w
+&13
+(.k)90330 v
+[ /Dest /Anchor$n$5f$2ek
+/Rect [90330 -245800 98390 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is ne)3330 1 101720 u
+(v)120910 v
+(er zero when te)3330 1 125760 u
+(xt is present in a partial paragraph.)3330 1 189460 u
+(An input te)3470 1 72000 261600 t
+(xt line ending with)3470 1 118790 u
+&13
+(.)200450 v
+&11
+(,)203783 v
+&13
+(?)209753 v
+&11
+(,)214753 v
+&13
+(!)220723 v
+&11
+(, or)3470 1 224053 u
+&13
+(:)241823 v
+&11
+(, optionally follo)3470 1 245153 u
+(wed by an)3470 1 313793 u
+(y number of)3470 1 356683 u
+&13
+(\020)410973 v
+&11
+(,)416523 v
+&13
+(\013)422493 v
+&11
+(,)425823 v
+&13
+(\))431793 v
+&11
+(,)435123 v
+&13
+(])441093 v
+&11
+(,)444423 v
+&13
+(*)450394 v
+&11
+(, or)3471 1 455394 u
+&13
+(\005)473166 v
+&11
+(, is tak)3471 1 478166 u
+(en to be)3471 1 506398 u
+(the end of a)3670 1 72000 273600 t
+&12
+(sentence)126110 v
+&11
+(, and an additional space character is automatically pro)3670 1 160540 u
+(vided during)3670 1 389420 u
+(\003lling. T)6820 1 445090 u
+(o pre)3670 1 483620 u
+(v)504810 v
+(ent this)3670 1 509660 u
+(at indi)3993 1 72000 285600 t
+(vidual locations, add)3993 1 98523 u
+[ /Dest /Anchor$e$5f$26
+ /View [/XYZ -4 518.4 0]
+/DEST pdfmark
+&13
+(\017&)188552 v
+&11
+( line; the second ar)3994(to the end of the input)3993 2 203655 u
+(gument to the)3994 1 380506 u
+&13
+(ss)442488 v
+&11
+(request)454262 v
+[ /Dest /Anchor$ss
+/Rect [442488 -286600 483142 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\(\0152\))487136 v
+[ /Dest /Anchor$s$5ffont
+/Rect [487136 -286600 503796 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(changes)507790 v
+( of this space character and can also disable it globally)4387(the size)4388 2 72000 297600 t
+( the sentence\001ending and the transparent)4387(. Both)7717 2 340108 u
+( The)8097(characters are con\003gurable.)4947 2 72000 309600 t
+[ /Dest /Anchor$e$5f$29
+ /View [/XYZ -4 494.4 0]
+/DEST pdfmark
+&13
+(\017\))215718 v
+&11
+(character is al)4947 1 226775 u
+(w)287099 v
+( b)4948(ays transparent)4947 2 294219 u
+(ut beha)4948 1 366674 u
+(v)398082 v
+(es lik)4948 1 402932 u
+(e)426670 v
+&13
+(\017&)436058 v
+&11
+(in all other respects.)4948 1 452116 u
+(Multiple inter)3600 1 72000 321600 t
+(\001w)128180 v
+( input are retained, although the second character in a sequence)3599
+(ord space characters found in the)3600 2 138630 u
+(of spaces follo)3398 1 72000 333600 t
+( if the sentence space has been)3399
+(wing a sentence\001ending character has the width of a sentence space;)3398 2 131866 u
+(set to zero, an)3559 1 72000 345600 t
+(y sequence of spaces follo)3559 1 130567 u
+( T)6708( space.)3558
+(wing a sentence\001ending character has the width of a single)3559 3 239523 u
+(rail\001)523340 v
+(ing spaces are al)3330 1 72000 357600 t
+(w)140200 v
+( spaces are al)3330( Initial)6660(ays discarded.)3330 3 147320 u
+(w)290770 v
+(ays retained and also cause a)3330 1 297890 u
+&12
+(br)420610 v
+(eak)429130 v
+&11
+(.)443010 v
+(W)72000 374400 w
+(ith the)3749 1 81040 u
+&13
+(br)111318 v
+(nl)121168 v
+&11
+(request, a)3749 1 133257 u
+&12
+(br)176575 v
+(eak)185095 v
+&11
+(occurs at the end of each te)3749 1 202724 u
+(xt input line in)3749 1 318918 u
+(\003ll mode, e)3749 1 385034 u
+( interrupted)3750(xcept for lines)3749 2 432662 u
+[ /Dest /Anchor$c$5fintr
+/Rect [496120 -375400 540000 -366400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(with)72000 386400 w
+&13
+(\017c)93110 v
+[ /Dest /Anchor$e$5fc
+/Rect [93110 -387400 100330 -378400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( to no\003ll mode, te)3330(. Contrasting)6660 2 100330 u
+(xt is still adjusted to the line length.)3330 1 230170 u
+(When)72000 403200 w
+(\003lling is in ef)3993 1 99873 u
+(fect, a)3993 1 157722 u
+[ /Dest /Anchor$e$5fp
+ /View [/XYZ -4 400.8 0]
+/DEST pdfmark
+&13
+(\017p)187638 v
+&11
+(may be imbedded or attached to a w)3994 1 199972 u
+(ord to cause a)3994 1 355020 u
+&12
+(br)418756 v
+(eak)427276 v
+&11
+(at the)3994 1 445150 u
+&12
+(end)472578 v
+&11
+(of the w)3994 1 491012 u
+(ord)526670 v
+(and ha)3330 1 72000 415200 t
+(v)99010 v
+(e the resulting output line)3330 1 103860 u
+&12
+(spr)212730 v
+(ead out)3330 1 225140 u
+&11
+(to)259020 v
+(\003ll the current line length.)3330 1 270130 u
+(When adjusting paragraphs at once, is possible to specify additional)4151 1 72000 432000 t
+&12
+(penalties)362640 v
+&11
+( break after the)4152(for putting a line)4151 2 402901 u
+(current w)4438 1 72000 444000 t
+(ord \(or part of a h)4438 1 111878 u
+(yphenated w)4438 1 192328 u
+(ord\) by imbedding or attaching a)4438 1 244986 u
+[ /Dest /Anchor$e$5fj
+ /View [/XYZ -4 360 0]
+/DEST pdfmark
+&13
+(\017j)390484 v
+&12
+(\013)396594 v
+&20
+(\143)399924 v
+&12
+(N\013)405414 v
+&11
+( positi)4438( A)7218(to it.)4438 3 419852 u
+(v)480986 v
+(e v)4438 1 485836 u
+(alue of)4438 1 499464 u
+&12
+(N)533330 v
+&11
+(discourages a line break, a ne)4361 1 72000 456000 t
+(g)198895 v
+(ati)203845 v
+(v)213595 v
+(e v)4361 1 218445 u
+( V)7191(alue encourages it.)4361 2 231996 u
+( 1)4362(alues of)4361 2 323719 u
+(000)367155 v
+(000 and abo)4362 1 382988 u
+(v)435442 v
+(e are tak)4362 1 440292 u
+(en as in\003niti)4362 1 477786 u
+(v)530710 v
+(e)535560 v
+(penalties and al)3678 1 72000 468000 t
+(w)136466 v
+(ays pre)3678 1 143586 u
+(v)173114 v
+(ent a line break; v)3678 1 177964 u
+(alues of)3678 1 254076 u
+(\0121)290312 v
+(000)301145 v
+(000 al)3678 1 316978 u
+(w)342776 v
+( def)3678( A)6458(ays cause a line break.)3678 3 349896 u
+(ault penalty can)3678 1 474324 u
+(be set with the)3752 1 72000 480000 t
+[ /Dest /Anchor$e$5fJ
+ /View [/XYZ -4 324 0]
+/DEST pdfmark
+&13
+(\017J)137558 v
+&12
+(\013)145338 v
+&20
+(\143)148668 v
+&12
+(N\013)154158 v
+&11
+( is useful to discourage line breaks within a certain group of w)3753
+(escape sequence; this)3752 2 167910 u
+(ords,)520280 v
+(e.g. a person\030)3466 1 72000 492000 t
+( Relati)6796(s name or a formula.)3466 2 127252 u
+(v)244032 v
+(e v)3466 1 248882 u
+( ar)3465(alues in the)3466 2 261538 u
+(gument to)3465 1 320075 u
+&13
+(\017j)364785 v
+&11
+(refer to the def)3465 1 374360 u
+(ault penalty)3465 1 436295 u
+( current)3465(. The)6615 2 483550 u
+(def)72000 504000 w
+(ault penalty is a)3466 1 84670 u
+(v)150418 v
+(ailable in the)3466 1 155168 u
+[ /Dest /Anchor$n$5f$2edefpenalty
+ /View [/XYZ -4 300 0]
+/DEST pdfmark
+&13
+(.defpenalty)212226 v
+&11
+(number re)3466 1 263192 u
+(gister)304828 v
+( speci\003ed for breaking a)3467( penalties can be)3466(. Separate)6796 3 326498 u
+(line after a h)3330 1 72000 516000 t
+(yphenated w)3330 1 124700 u
+(ord part using the)3330 1 176250 u
+&13
+(h)252340 v
+(ypp)257750 v
+[ /Dest /Anchor$hypp
+/Rect [252340 -517000 273870 -508000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request \(\01513\).)3330 1 277200 u
+[ /Dest /Anchor$s$5fhyphen
+/Rect [309410 -517000 333570 -508000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(W)72000 532800 w
+(ith the)3955 1 81040 u
+&13
+(br)111730 v
+(pnl)121630 v
+&11
+(request, each end of a te)3955 1 139485 u
+(xt input line in)3955 1 243240 u
+(\003ll mode causes a)3956 1 310180 u
+&12
+(br)389884 v
+(eak)398404 v
+&11
+(and a spread, e)3956 1 416240 u
+(xcept for lines)3956 1 479878 u
+(interrupted)72000 544800 w
+[ /Dest /Anchor$c$5fintr
+/Rect [72000 -545800 115880 -536800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(with)119777 v
+&13
+(\017c)141454 v
+[ /Dest /Anchor$e$5fc
+/Rect [141454 -545800 148674 -536800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( meaning of)3897(. The)7047 2 148674 u
+&13
+(\017p)228232 v
+&11
+( changed such that a line that it is attached to is)3896(is then)3897 2 240469 u
+&12
+(not)476098 v
+&11
+(spread; this)3896 1 492774 u
+(is the only method to achie)3975 1 72000 556800 t
+(v)187175 v
+(e a re)3975 1 192025 u
+(gular)216475 v
+&12
+(br)241000 v
+(eak)249520 v
+&11
+( te)3976( adjusted)3975( Manually)7305(without a spread then.)3975 4 267375 u
+(xt can thus be typed)3976 1 454106 u
+(more comfortably since only the \(fe)3330 1 72000 568800 t
+(wer\) lines that are not spread need to be mark)3330 1 219480 u
+(ed.)409300 v
+(A te)4071 1 72000 585600 t
+(xt input line that happens to be)4071 1 90361 u
+( to not look lik)4072(gin with a control character can be made)4071 2 222967 u
+(e a control line by)4072 1 461502 u
+(pref)72000 597600 w
+(acing it with the non\001printing, zero\001width)4024 1 88000 u
+(\003ller character)4024 1 265184 u
+&13
+(\017&)328762 v
+&11
+( another w)4024(. Still)7354 2 339872 u
+( to specify output transla\001)4023(ay is)4024 2 411564 u
+(tion of some con)3330 1 72000 609600 t
+(v)141030 v
+(enient character into the control character using)3330 1 145880 u
+&13
+(tr)344690 v
+[ /Dest /Anchor$tr
+/Rect [344690 -610600 352460 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\01510.5\).)355790 v
+[ /Dest /Anchor$c$5ftrans
+/Rect [355790 -610600 387450 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(4.2.)72000 626400 w
+[ /Dest /Anchor$c$5fintr
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+(Interrupted te)3330 1 88666 u
+(xt.)144566 v
+[ /Dest /Bookmark$50
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+&11
+(The cop)4160 1 158266 u
+(ying of a input line in)4161 1 192316 u
+&12
+(no\003ll)291172 v
+&11
+(\(non\001\003ll\) mode can be)4161 1 315893 u
+&12
+(interrupted)414187 v
+&11
+(by terminating the)4161 1 463348 u
+(partial line with a)4000 1 72000 638400 t
+[ /Dest /Anchor$e$5fc
+ /View [/XYZ -4 165.6 0]
+/DEST pdfmark
+&13
+(\017c)150770 v
+&11
+(. The)7150 1 157990 u
+&12
+(ne)187190 v
+(xt)196430 v
+&11
+(encountered input te)4000 1 207650 u
+( will be considered to be a continuation of the same)3999(xt line)4000 2 292150 u
+(line of input te)3465 1 72000 650400 t
+(xt. Similarly)6795 1 133355 u
+(, a w)3466 1 187010 u
+(ord within)3466 1 208002 u
+&12
+(\003lled)253824 v
+&11
+(te)277290 v
+(xt may be interrupted by terminating the w)3466 1 284360 u
+(ord \(and line\) with)3466 1 462392 u
+&13
+(\017c)72000 662400 w
+&11
+(; the ne)4019 1 79220 u
+(xt encountered te)4019 1 111548 u
+(xt will be tak)4019 1 183306 u
+(en as a continuation of the interrupted w)4019 1 240263 u
+( interv)4018( the)4019(ord. If)7349 3 412156 u
+(ening control)4018 1 485432 u
+(lines cause a break, an)3843 1 72000 674400 t
+( along with an)3844(y partial line will be forced out)3843 2 166912 u
+(y partial w)3844 1 359662 u
+(ord. The)6994 1 405020 u
+[ /Dest /Anchor$n$5f$2eint
+ /View [/XYZ -4 129.6 0]
+/DEST pdfmark
+&13
+(.int)447238 v
+&11
+(number re)3844 1 465252 u
+(gister is)3844 1 507266 u
+( v)3377(set to a non\001zero)3378 2 72000 686400 t
+(alue if the pre)3377 1 149131 u
+(vious line w)3377 1 206772 u
+( length of a partial w)3377( The)6527
+(as interrupted and to zero otherwise.)3377 3 257316 u
+(ord is)3377 1 516623 u
+(ignored for the v)3330 1 72000 698400 t
+(alue of the)3330 1 141170 u
+&13
+(.k)188370 v
+[ /Dest /Anchor$n$5f$2ek
+/Rect [188370 -699400 196430 -690400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(number re)3330 1 199760 u
+(gister in)3330 1 241260 u
+&12
+(\003ll)277920 v
+&11
+(mode; it is separately a)3330 1 291810 u
+(v)387140 v
+(ailable with the)3330 1 391890 u
+[ /Dest /Anchor$n$5f$2ekc
+ /View [/XYZ -4 105.6 0]
+/DEST pdfmark
+&13
+(.kc)458540 v
+&11
+(re)474370 v
+(gister)481990 v
+(.)503660 v
+&12
+(4.3.)72000 715200 w
+[ /Dest /Anchor$c$5fkerning
+ /View [/XYZ -4 88.8 0]
+/DEST pdfmark
+(K)88666 v
+(erning)94986 v
+(.)120946 v
+[ /Dest /Bookmark$51
+ /View [/XYZ -4 88.8 0]
+/DEST pdfmark
+(tr)127996 v
+(of)134216 v
+(f)141816 v
+&11
+(reads k)4550 1 149146 u
+( T)4370(erning tables from)4550 2 179696 u
+(ype)266796 v
+(1, OpenT)4550 1 284566 u
+( T)4370(ype, and)4550 2 323586 u
+(rueT)369646 v
+(ype font)4550 1 387726 u
+( tables contain)4551(\003les. These)7701 2 427377 u
+(small horizontal spacing adjustments for pairs of indi)3814 1 72000 727200 t
+(vidual characters, e.g., the pair)3814 1 293988 u
+(\027)425798 v
+(\027V)428388 v
+(o\030)437648 v
+(\030 w)3073 1 445238 u
+(ould print as)3813 1 458761 u
+(\027)515200 v
+(\027Vo\030)517790 v
+(\030)535930 v
+(\001)294340 760800 w
+(28)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 28 28
+%%Page: 29 29
+save
+mark
+29 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(without k)4074 1 72000 84000 t
+( Placing)7404(erning applied.)4074 2 111534 u
+&13
+(\017&)214576 v
+&11
+(between tw)4075 1 229760 u
+(o characters disables k)4075 1 277055 u
+(erning at that location; the)4075 1 371930 u
+&13
+(k)487295 v
+(er)492755 v
+(n)501485 v
+[ /Dest /Anchor$kern
+/Rect [487295 -85000 507045 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request)511120 v
+(can disable it globally)4108 1 72000 96000 t
+(. The)7258 1 164224 u
+&13
+(k)193639 v
+(er)199099 v
+(npair)207829 v
+[ /Dest /Anchor$kernpair
+/Rect [193639 -97000 231169 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request adds a k)4107 1 235276 u
+(erning pair; in contrast to prede\003ned pairs, it allo)4107 1 304147 u
+(ws the)4107 1 512563 u
+(characters to originate from dif)3330 1 72000 108000 t
+(ferent fonts.)3330 1 199480 u
+(It is sometimes useful to add or substact a constant amount of spacing wh\
+ene)4421 1 72000 124800 t
+(v)404743 v
+( speci\003c character appears;)4422(er a)4421 2 409593 u
+(for e)3763 1 72000 136800 t
+(xample,)91713 v
+(\201)127416 v
+(french)133076 v
+( the w)3762
+(\210 quotation marks usually require some additional distance to)3763 2 159276 u
+(ords contained in them.)3762 1 442334 u
+(The)72000 148800 w
+&13
+(k)91948 v
+(er)97408 v
+(nafter)106138 v
+[ /Dest /Anchor$kernafter
+/Rect [91948 -149800 132238 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)136636 v
+&13
+(k)155474 v
+(er)160934 v
+(nbef)169664 v
+(or)188304 v
+(e)197564 v
+[ /Dest /Anchor$kernbefore
+/Rect [155474 -149800 202004 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests allo)4398 1 206402 u
+( Ag)7178(w to de\003ne such adjustments.)4398 2 258320 u
+(ain, a)4398 1 403310 u
+&13
+(\017.)431266 v
+&11
+( at indi)4399(disables them)4398 2 440944 u
+(vi\001)528890 v
+(dual points; the)3330 1 72000 160800 t
+(y are generally not applied if the other character is a space.)3330 1 135180 u
+&12
+(4.4.)72000 177600 w
+(Hanging c)3330 1 88666 u
+(har)131286 v
+(acter)145026 v
+(s.)165476 v
+[ /Dest /Bookmark$52
+ /View [/XYZ -4 626.4 0]
+/DEST pdfmark
+&11
+(Characters can hang be)4540 1 176406 u
+(yond the left or right mar)4540 1 275396 u
+( te)4541(gins of adjusted)4540 2 386236 u
+(xt; the)4541 1 465257 u
+&13
+(lhang)497119 v
+[ /Dest /Anchor$lhang
+/Rect [497119 -178600 521019 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)525560 v
+&13
+(rhang)72000 189600 w
+[ /Dest /Anchor$rhang
+/Rect [72000 -190600 97560 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( mar)3930( Left)7260(requests specify this.)3930 3 101490 u
+(gin adjustments are e)3930 1 231170 u
+(v)319920 v
+(aluated before the letters that)3930 1 324670 u
+(\003t on the current line)3930 1 450400 u
+( principally be of an)3352(are computed, and can thus)3351 2 72000 201600 t
+( contrast, right mar)3352( In)6682(y length.)3352 3 268342 u
+(gin adjustments are e)3352 1 397682 u
+(v)484698 v
+(aluated after)3352 1 489448 u
+(this computation is)4238 1 72000 213600 t
+(\003nished, and the adjustment is simply added to the w)4238 1 155834 u
+( a)4237( Thus)7387(ord space of the output line.)4238 3 383596 u
+(positi)72000 225600 w
+(v)93980 v
+(e right adjustment that is lar)3511 1 98830 u
+(ge in relation to the line length will cause visible holes, and a ne)3511 1 215645 u
+(g)485278 v
+(ati)490228 v
+(v)499978 v
+(e adjust\001)3512 1 504828 u
+(ment will ultimately cause the w)4287 1 72000 237600 t
+(ords on the line to be printed o)4287 1 211105 u
+(v)345954 v
+(er each other)4287 1 350804 u
+( is not a problem for the)4286(. This)7436 2 405468 u
+(typical application of hanging punctuation for visual alignment, though; i\
+f e.g. a line with eight w)4057 1 72000 249600 t
+( is)4058(ord spaces)4057 2 485785 u
+(shifted by .08 em, each w)3330 1 72000 261600 t
+(ord space is enlar)3330 1 178530 u
+(ged by only .01 em.)3330 1 250540 u
+&14
+(Request)72000 278400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 290400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$br
+ /View [/XYZ -4 496.8 0]
+/DEST pdfmark
+&13
+(.br)72000 307200 w
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Break. The)9103 1 280800 u
+( being collected is)5954(\003lling of the line currently)5953 2 337786 u
+( T)7342( line is output without adjustment.)4192(stopped and the)4193 3 280800 319200 t
+(e)504848 v
+(xt lines)4192 1 509138 u
+(be)280800 331200 w
+( empty te)5013(ginning with space characters and)5012 2 290090 u
+(xt lines \(blank)5013 1 477754 u
+( cause a break \(This can be changed with the)4099(lines\) also)4100 2 280800 343200 t
+&13
+(.blm)520830 v
+&11
+(and)280800 355200 w
+&13
+(.lsm)298570 v
+&11
+(requests.\).)319400 v
+[ /Dest /Anchor$lsm
+ /View [/XYZ -4 432 0]
+/DEST pdfmark
+&13
+(.lsm)72000 372000 w
+&12
+(xx)92830 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(Whene)280800 v
+(v)308870 v
+(er a line be)5635 1 313720 u
+(ginning with spaces is encountered, the)5635 1 367125 u
+(macro)280800 384000 w
+&12
+(xx)309551 v
+&11
+(is in)3761 1 322192 u
+(v)340003 v
+(ok)344803 v
+(ed instead of the def)3761 1 354703 u
+(ault beha)3761 1 440737 u
+( a)3760(vior to cause)3761 2 478178 u
+( spaces are follo)4402( the)4401(break. If)7731 3 280800 396000 t
+(wed by an escape, that may be)4402 1 406678 u
+( T)7715( \(e.g. font changes\).)4565(processed before the macro is called)4566 3 280800 408000 t
+(o)535000 v
+(a)280800 420000 w
+(v)285040 v
+(oid this prepend that escape with)3330 1 289840 u
+&13
+(\017&)428690 v
+&11
+(.)439800 v
+[ /Dest /Anchor$brp
+ /View [/XYZ -4 367.2 0]
+/DEST pdfmark
+&13
+(.br)72000 436800 w
+(p)84400 v
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Break and spread; same ef)6305 1 280800 u
+(fect as the)6306 1 401290 u
+&13
+(\017p)455748 v
+[ /Dest /Anchor$e$5fp
+/Rect [455748 -437800 464088 -428800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(escape sequence)6306 1 470394 u
+(e)280800 448800 w
+(xcept that it causes the remaining part of a paragraph shape)4275 1 285090 u
+(as set with)3330 1 280800 460800 t
+&13
+(pshape)328010 v
+[ /Dest /Anchor$pshape
+/Rect [328010 -461800 358020 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(to be discarded.)3330 1 361350 u
+[ /Dest /Anchor$fi
+ /View [/XYZ -4 326.4 0]
+/DEST pdfmark
+&13
+(.f)72000 477600 w
+(i)77580 v
+&11
+(\003ll)129600 v
+(on)144050 v
+(\012)187200 v
+(B,E)244800 v
+( re)4047( The)7197(Fill subsequent output lines.)4047 3 280800 u
+(gister)432645 v
+[ /Dest /Anchor$n$5f$2eu
+ /View [/XYZ -4 326.4 0]
+/DEST pdfmark
+&13
+(.u)458912 v
+&11
+( in)4048(is 1)4047 2 471019 u
+(\003ll mode)4048 1 502612 u
+(and 0 in no\003ll mode.)3330 1 280800 489600 t
+[ /Dest /Anchor$nf
+ /View [/XYZ -4 297.6 0]
+/DEST pdfmark
+&13
+(.nf)72000 506400 w
+&11
+(\003ll)129600 v
+(on)144050 v
+(\012)187200 v
+(B,E)244800 v
+( output lines are)3581(No\003ll. Subsequent)6911 2 280800 u
+&12
+(neither)430645 v
+&11
+(\003lled)462556 v
+&12
+(nor)486698 v
+&11
+(adjusted.)504170 v
+(Input te)5855 1 280800 518400 t
+( directly to output lines)5854(xt lines are copied)5855 2 314835 u
+&12
+(without)509990 v
+(r)280800 530400 w
+(e)284320 v
+(gar)288360 v
+(d)301880 v
+&11
+(for the current line length.)3330 1 310210 u
+[ /Dest /Anchor$ad
+ /View [/XYZ -4 256.8 0]
+/DEST pdfmark
+&13
+(.ad)72000 547200 w
+&12
+(c)88390 v
+&11
+(adj,both)129600 v
+(adjust)187200 v
+(E)244800 v
+(Line adjustment is be)4435 1 280800 u
+(gun. If)7765 1 372285 u
+(\003ll mode is not on, adjustment)4435 1 408645 u
+(will be deferred until)4404 1 280800 559200 t
+( the type indi\001)4403( If)7733(\003ll mode is back on.)4403 3 375066 u
+(cator)280800 571200 w
+&12
+(c)304556 v
+&11
+( changed as sho)3767(is present, the adjustment type is)3766 2 312762 u
+(wn in)3767 1 516233 u
+(the follo)3330 1 280800 583200 t
+(wing table.)3330 1 314990 u
+(\001)294340 760800 w
+(29)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 29 29
+%%Page: 30 30
+save
+mark
+30 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+513620 76000 307180 76000 Dl
+(Indicator)312180 86000 w
+(Adjust T)3150 1 411165 u
+(ype)446295 v
+513620 90000 307180 90000 Dl
+&13
+(l)328840 100000 w
+&11
+(adjust left mar)3330 1 363280 u
+(gin only)3330 1 422530 u
+&13
+(r)328010 112000 w
+&11
+(adjust right mar)3330 1 363280 u
+(gin only)3330 1 428090 u
+&13
+(c)328010 124000 w
+&11
+(center)363280 v
+&13
+(b)317175 136000 w
+&11
+(or)326065 v
+&13
+(n)337725 v
+&11
+(adjust both mar)3330 1 363280 u
+(gins)426980 v
+&13
+(p)314395 148000 w
+&11
+(or)323285 v
+&13
+(pb)334945 v
+&11
+(adjust both mar)3330 1 363280 u
+(gins paragraph\001wise)3330 1 426980 u
+&13
+(pl)326060 160000 w
+&11
+(adjust left mar)3330 1 363280 u
+(gin paragraph\001wise)3330 1 422530 u
+&13
+(pr)325230 172000 w
+&11
+(adjust right mar)3330 1 363280 u
+(gin paragraph\001wise)3330 1 428090 u
+&13
+(pc)325230 184000 w
+&11
+(center paragraph\001wise)3330 1 363280 u
+(absent)317455 196000 w
+(unchanged)363280 v
+513620 200000 307180 200000 Dl
+307180 76000 307180 200000 Dl
+355780 76000 355780 200000 Dl
+513620 76000 513620 200000 Dl
+(The number re)5104 1 280800 222000 t
+(gister)344728 v
+[ /Dest /Anchor$n$5f$2ej
+ /View [/XYZ -4 582 0]
+/DEST pdfmark
+&13
+(.j)372052 v
+&11
+(contains the current v)5104 1 382986 u
+(alue of the)5104 1 476918 u
+&13
+(ad)529440 v
+[ /Dest /Anchor$ad
+/Rect [529440 -223000 540000 -214000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(setting; its v)3671 1 280800 234000 t
+(alue can be recorded and used subsequently to set)3671 1 331792 u
+(adjustment.)280800 246000 w
+[ /Dest /Anchor$na
+ /View [/XYZ -4 541.2 0]
+/DEST pdfmark
+&13
+(.na)72000 262800 w
+&11
+(adjust)129600 v
+(\012)187200 v
+(E)244800 v
+( of)4497( is turned)4496(Noadjust. Adjustment)7276 3 280800 u
+(f; the right mar)4497 1 427145 u
+(gin will be)4497 1 493226 u
+( adjustment type for)4565(ragged. The)7715 2 280800 274800 t
+&13
+(ad)424804 v
+&11
+( Output)7894(is not changed.)4564 2 439928 u
+(line)280800 286800 w
+(\003lling still occurs if)3330 1 299130 u
+(\003ll mode is on.)3330 1 383570 u
+[ /Dest /Anchor$padj
+ /View [/XYZ -4 500.4 0]
+/DEST pdfmark
+&13
+(.padj)72000 303600 w
+&12
+(N)97280 v
+&11
+(of)129600 v
+(f)137680 v
+(on)187200 v
+(\012)244800 v
+(Control paragraph\001at\001once adjustment globally)6983 1 280800 u
+(. If)10313 1 481069 u
+&12
+(N)507526 v
+&20
+(\152)514196 v
+&11
+(0 or)6984 1 519686 u
+(missing, paragraph\001at\001once adjustment is enabled in all)8900 1 280800 315600 t
+(en)280800 327600 w
+(vironments, and)7462 1 289840 u
+&13
+(ad)366705 v
+&12
+(x)380595 v
+&11
+(ef)392498 v
+(fecti)400018 v
+(v)417538 v
+(ely acts lik)7463 1 422388 u
+(e)475544 v
+&13
+(ad)487447 v
+(p)501337 v
+&12
+(x)506897 v
+&11
+(. The)10613 1 511337 u
+(current v)3330 1 280800 339600 t
+(alue is a)3330 1 317200 u
+(v)351430 v
+(ailable in the)3330 1 356180 u
+[ /Dest /Anchor$n$5f$2epadj
+ /View [/XYZ -4 464.4 0]
+/DEST pdfmark
+&13
+(.padj)412830 v
+&11
+(re)438110 v
+(gister)445730 v
+(.)467400 v
+[ /Dest /Anchor$ce
+ /View [/XYZ -4 447.6 0]
+/DEST pdfmark
+&13
+(.ce)72000 356400 w
+&12
+(N)86710 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(B,E)244800 v
+(Center the ne)5452 1 280800 u
+(xt)339874 v
+&12
+(N)353106 v
+&11
+(input te)5452 1 365228 u
+(xt lines within the current \(line\001)5452 1 398310 u
+( If)8022(length minus indent\).)4692 2 280800 368400 t
+&12
+(N)389838 v
+&20
+(\010)396508 v
+&11
+(0, an)4692 1 402831 u
+( cleared.)4691(y residual count is)4692 2 424313 u
+( after each of the)4591(A break occurs)4590 2 280800 380400 t
+&12
+(N)425655 v
+&11
+( the input)4591( If)7921(input lines.)4591 3 436916 u
+( number of lines)4023( The)7173( will be left adjusted.)4023
+(line is too long, it)4024 4 280800 392400 t
+(to be right\001aligned, if an)6105 1 280800 404400 t
+(y)392000 v
+( remaining)6105( The)9255(, is set to zero.)6105 3 396350 u
+(number of lines to be centered is a)3330 1 280800 416400 t
+(v)423880 v
+(ailable in the)3330 1 428630 u
+[ /Dest /Anchor$n$5f$2ece
+ /View [/XYZ -4 387.6 0]
+/DEST pdfmark
+&13
+(.ce)485280 v
+&11
+(re)499990 v
+(gister)507610 v
+(.)529280 v
+[ /Dest /Anchor$rj
+ /View [/XYZ -4 370.8 0]
+/DEST pdfmark
+&13
+(.rj)72000 433200 w
+&12
+(N)85600 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(B,E)244800 v
+(Right\001align the ne)3562 1 280800 u
+(xt)354994 v
+&12
+(N)366336 v
+&11
+(input te)3562 1 376568 u
+(xt lines within the current \(line\001)3562 1 407760 u
+( otherwise lik)4112(length minus indent\);)4113 2 280800 445200 t
+(e)427150 v
+&13
+(ce)435702 v
+&11
+( number of lines)4112(. The)7262 2 444582 u
+(to be centered, if an)3330 1 280800 457200 t
+(y)363110 v
+( remaining number of)3330( The)6480(, is set to zero.)3330 3 367460 u
+(lines to be right\001justi\003ed is a)3330 1 280800 469200 t
+(v)398920 v
+(ailable in the)3330 1 403670 u
+[ /Dest /Anchor$n$5f$2erj
+ /View [/XYZ -4 334.8 0]
+/DEST pdfmark
+&13
+(.rj)460320 v
+&11
+(re)473920 v
+(gister)481540 v
+(.)503210 v
+[ /Dest /Anchor$brnl
+ /View [/XYZ -4 318 0]
+/DEST pdfmark
+&13
+(.br)72000 486000 w
+(nl)84350 v
+&12
+(N)96020 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010\134)193870 v
+&11
+(B,E)244800 v
+(Break at end of ne)5606 1 280800 u
+(xt)366384 v
+&12
+(N)379771 v
+&11
+(input te)5607 1 392048 u
+(xt lines when)5607 1 425285 u
+(\003lling is in)5607 1 490436 u
+(ef)280800 498000 w
+( so treated is a)4305( remaining number of lines)4306(fect. The)7456 3 288320 u
+(v)508590 v
+(ailable)513340 v
+(in the)3330 1 280800 510000 t
+[ /Dest /Anchor$n$5f$2ebrnl
+ /View [/XYZ -4 294 0]
+/DEST pdfmark
+&13
+(.br)307460 v
+(nl)319810 v
+&11
+(re)331480 v
+(gister)339100 v
+(.)360770 v
+[ /Dest /Anchor$brpnl
+ /View [/XYZ -4 277.2 0]
+/DEST pdfmark
+&13
+(.br)72000 526800 w
+(pnl)84400 v
+&12
+(N)101630 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010\134)193870 v
+&11
+(B,E)244800 v
+(Break and spread at end of ne)3432 1 280800 u
+(xt)405092 v
+&12
+(N)416305 v
+&11
+(input te)3433 1 426408 u
+(xt lines when)3433 1 457471 u
+(\003lling)516100 v
+(is in ef)3421 1 280800 538800 t
+( a)3420( remaining number of lines so treated is)3421(fect. The)6571 3 309612 u
+(v)521920 v
+(ail\001)526670 v
+(able in the)5831 1 280800 550800 t
+[ /Dest /Anchor$n$5f$2ebrpnl
+ /View [/XYZ -4 253.2 0]
+/DEST pdfmark
+&13
+(.br)334953 v
+(pnl)347353 v
+&11
+(re)367084 v
+(gister)374704 v
+(.)396374 v
+&13
+(br)408035 v
+(pnl)417935 v
+&11
+(disables)437666 v
+&13
+(br)475717 v
+(nl)485567 v
+&11
+(and vice\001)5832 1 499738 u
+(v)280800 562800 w
+(ersa.)285650 v
+[ /Dest /Anchor$minss
+ /View [/XYZ -4 224.4 0]
+/DEST pdfmark
+&13
+(.minss)72000 579600 w
+&12
+(N)102280 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E,T)244800 v
+(Minimum w)5932 1 280800 u
+( adjusting both mar)5933( When)8963(ord space.)5933 3 333862 u
+(gins,)498297 v
+&12
+(tr)523400 v
+(of)529620 v
+(f)537220 v
+&11
+( the w)4960(may decrease the size of)4961 2 280800 591600 t
+(ord space do)4960 1 417644 u
+(wn to)4960 1 472854 u
+&12
+(N)502774 v
+&11
+(/36)509444 v
+(ems)523890 v
+(\(rather than to the v)3481 1 280800 603600 t
+(alue set by)3482 1 363344 u
+&13
+(ss)411560 v
+[ /Dest /Anchor$ss
+/Rect [411560 -604600 419340 -595600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( current v)3482(\). The)6632 2 419340 u
+(alue is a)3482 1 487386 u
+(v)521920 v
+(ail\001)526670 v
+(able in the)3330 1 280800 615600 t
+[ /Dest /Anchor$n$5f$2eminss
+ /View [/XYZ -4 188.4 0]
+/DEST pdfmark
+&13
+(.minss)327450 v
+&11
+(re)357730 v
+(gister)365350 v
+(.)387020 v
+[ /Dest /Anchor$letadj
+ /View [/XYZ -4 171.6 0]
+/DEST pdfmark
+&13
+(.letadj)72000 632400 w
+&12
+(X)102270 v
+(U)111710 v
+(S)122260 v
+(Y)129840 v
+(V)138380 v
+&11
+(of)187200 v
+(f)195280 v
+(E,T)244800 v
+( and reshaping when adjusting lines.)5486(Dynamic letter spacing)5485 2 280800 u
+( be automatically e)4927(The space between letters can)4928 2 280800 644400 t
+(xpanded or)4927 1 492863 u
+( the space between w)4527(condensed \(in addition to)4526 2 280800 656400 t
+(ords\), and the)4527 1 481236 u
+( be automatically changed in)4513(width of letters can)4514 2 280800 668400 t
+&13
+(ad)491317 v
+(b)505207 v
+&11
+(mode.)515280 v
+(The)280800 680400 w
+&12
+(X)301277 v
+&11
+(ar)312314 v
+(gument gi)4927 1 319904 u
+(v)362361 v
+(es the minimum percentage of an en of)4927 1 367211 u
+( be)5288(the current point size by which adjacent characters may)5289 2 280800 692400 t
+(tightened; the)4837 1 280800 704400 t
+&12
+(U)342694 v
+&11
+(ar)354751 v
+(gument gi)4837 1 362341 u
+(v)404708 v
+(es the minimum percentage of)4838 1 409558 u
+( When)8195( may be condensed.)5165(the letter width by which letters)5166 3 280800 716400 t
+(the computed size of the w)4090 1 280800 728400 t
+(ord space w)4090 1 396130 u
+(ould ha)4090 1 446970 u
+(v)478080 v
+(e to be lar)4090 1 482930 u
+(ger)527230 v
+(\001)294340 760800 w
+(30)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 30 30
+%%Page: 31 31
+save
+mark
+31 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(than)280800 84000 w
+&12
+(S)302027 v
+&11
+(, additional space will be inserted between letters up to)4007 1 307027 u
+(a limit of)4877 1 280800 96000 t
+&12
+(Y)327101 v
+&11
+(percent of an en of the current point size, and)4878 1 337538 u
+( e)5348(letters will be)5349 2 280800 108000 t
+(xpanded by up to)5348 1 350576 u
+&12
+(V)433628 v
+&11
+(percent of their width)5348 1 445086 u
+(until the w)4840 1 280800 120000 t
+(ord space does not e)4840 1 328160 u
+(xtend be)4840 1 418460 u
+(yond)454810 v
+&12
+(S)479650 v
+&11
+(an)489490 v
+(ymore.)498780 v
+&12
+(S)535000 v
+&11
+(is gi)4667 1 280800 132000 t
+(v)299667 v
+(en in units of 1/36)4667 1 304517 u
+(ems as with)4667 1 387631 u
+&13
+(ss)443852 v
+&11
+( number re)4666(. The)7816 2 451632 u
+(gis\001)525000 v
+(ters)280800 144000 w
+[ /Dest /Anchor$n$5f$2elspmin
+ /View [/XYZ -4 660 0]
+/DEST pdfmark
+&13
+(.lspmin)298853 v
+&11
+(,)330253 v
+[ /Dest /Anchor$n$5f$2elshmin
+ /View [/XYZ -4 660 0]
+/DEST pdfmark
+&13
+(.lshmin)336366 v
+&11
+(,)367766 v
+[ /Dest /Anchor$n$5f$2eletss
+ /View [/XYZ -4 660 0]
+/DEST pdfmark
+&13
+(.letss)373880 v
+&11
+(,)394710 v
+[ /Dest /Anchor$n$5f$2elspmax
+ /View [/XYZ -4 660 0]
+/DEST pdfmark
+&13
+(.lspmax)400824 v
+&11
+(, and)3614 1 433884 u
+[ /Dest /Anchor$n$5f$2elshmax
+ /View [/XYZ -4 660 0]
+/DEST pdfmark
+&13
+(.lshmax)458052 v
+&11
+(contain the)3614 1 494726 u
+(current v)3330 1 280800 156000 t
+(alues of)3330 1 317200 u
+&12
+(X)352740 v
+&11
+(,)358850 v
+&12
+(U)364680 v
+&11
+(,)371900 v
+&12
+(S)377730 v
+&11
+(,)382730 v
+&12
+(Y)388560 v
+&11
+(, and)3330 1 394120 u
+&12
+(V)417720 v
+&11
+(, respecti)3330 1 423830 u
+(v)460510 v
+(ely)465360 v
+(.)476930 v
+[ /Dest /Anchor$sentchar
+ /View [/XYZ -4 631.2 0]
+/DEST pdfmark
+&13
+(.sentchar)72000 172800 w
+&12
+(c...)114490 v
+&13
+(.?!:)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( the characters)5022( one of)5021( When)8051
+(Sentence\001ending characters.)5021 4 280800 u
+&12
+(c...)528060 v
+&11
+( end of an input te)4768(appears at the)4769 2 280800 184800 t
+(xt line, an additional space)4768 1 423998 u
+(character of the size de\003ned with the)4953 1 280800 196800 t
+&13
+(ss)447651 v
+[ /Dest /Anchor$ss
+/Rect [447651 -197800 455431 -188800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is inserted.)4953 1 460384 u
+(The current set of sentence\001ending characters is a)5035 1 280800 208800 t
+(v)495775 v
+(ailable in)5035 1 500525 u
+(the)280800 220800 w
+[ /Dest /Anchor$n$5f$2esentchar
+ /View [/XYZ -4 583.2 0]
+/DEST pdfmark
+&13
+(.sentchar)296350 v
+&11
+(number re)3330 1 338840 u
+(gister)380340 v
+(.)402010 v
+[ /Dest /Anchor$transchar
+ /View [/XYZ -4 566.4 0]
+/DEST pdfmark
+&13
+(.transchar)72000 237600 w
+&12
+(c..)119490 v
+&13
+(\020\030\)]*\005)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(T)280800 v
+( sentence\001ending)3428( A)6208
+(ransparent characters for sentence\001ending.)3428 3 286560 u
+(character is recognized as such e)5270 1 280800 249600 t
+(v)425180 v
+(en if follo)5270 1 430030 u
+(wed by one or)5270 1 474760 u
+(more of the characters)5174 1 280800 261600 t
+&12
+(c...)383126 v
+&11
+(before the end of an input te)5175 1 403570 u
+(xt)532220 v
+( for sentence)5523( current set of transparent characters)5524(line. The)8674 3 280800 273600 t
+(ending is a)3330 1 280800 285600 t
+(v)325590 v
+(ailable in the)3330 1 330340 u
+[ /Dest /Anchor$n$5f$2etranschar
+ /View [/XYZ -4 518.4 0]
+/DEST pdfmark
+&13
+(.transchar)386990 v
+&11
+(number re)3330 1 434480 u
+(gister)475980 v
+(.)497650 v
+[ /Dest /Anchor$track
+ /View [/XYZ -4 501.6 0]
+/DEST pdfmark
+&13
+(.track)72000 302400 w
+&12
+(F)100600 v
+(S)110040 v
+(N)118370 v
+(T)128190 v
+(M)137080 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(,)257120 v
+&13
+(p)259620 v
+&11
+( font is)4756( the current)4755( If)8085(Static letter space tracking.)4755 4 280800 u
+&12
+(F)497718 v
+&11
+(and the)4756 1 508584 u
+(point size is belo)4468 1 280800 314400 t
+(w or equal to)4468 1 353954 u
+&12
+(S)416816 v
+&11
+( of width)4467(, white space)4468 2 421816 u
+&12
+(N)522193 v
+&11
+(is)533330 v
+(added to each character)4733 1 280800 326400 t
+( the point size is abo)4734(. If)8063 2 381069 u
+(v)491252 v
+(e or equal)4734 1 496102 u
+(to)280800 338400 w
+&12
+(T)293307 v
+&11
+(, white space of width)4727 1 298867 u
+&12
+(M)400542 v
+&11
+( is)4726( the point size)4727( If)8057(is added.)4727 4 413599 u
+(between)280800 350400 w
+&12
+(S)318874 v
+&11
+(and)328628 v
+&12
+(T)347822 v
+&11
+( of white space added is com\001)4755(, the amount)4754 2 353382 u
+(puted as a v)3477 1 280800 362400 t
+(alue between)3477 1 330971 u
+&12
+(N)387905 v
+&11
+(and)398052 v
+&12
+(M)415969 v
+&11
+(using the current point size)3476 1 427776 u
+&12
+(s)280800 374400 w
+&11
+(: \()7335 1 284690 u
+&12
+(s)298135 v
+(M)302858 v
+&11
+(\012)311188 v
+&12
+(s)316188 v
+(N)320911 v
+&11
+(+)327581 v
+&12
+(T)333221 v
+(N)339614 v
+&11
+(\012)346284 v
+&12
+(S)351284 v
+(M)357117 v
+&11
+(\))365447 v
+(/)370443 v
+(\()374889 v
+&12
+(T)378219 v
+&11
+(\012)383779 v
+&12
+(S)388779 v
+&11
+( def)4005(\). The)7155 2 393779 u
+( numeric)4006(ault unit for all)4005 2 438989 u
+(ar)280800 386400 w
+( Ne)6704(guments is points.)3374 2 288390 u
+(g)380862 v
+(ati)385812 v
+(v)395562 v
+( and cause)3373(e numbers are accepted)3374 2 400412 u
+( adjustment is performed on the)3677( No)7007(a decrease of letter space.)3677 3 280800 398400 t
+( T)6788(last character of an output line.)3638 2 280800 410400 t
+(racking also applies to char)3638 1 422898 u
+(\001)536670 v
+(acters from another font that ha)4628 1 280800 422400 t
+(v)417040 v
+(e been selected by the)4628 1 421890 u
+&13
+(fall\001)522780 v
+[ /Dest /Anchor$fallback
+/Rect [522780 -423400 540000 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(back)280800 434400 w
+[ /Dest /Anchor$fallback
+/Rect [280800 -435400 301360 -426400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sequence.)304690 v
+[ /Dest /Anchor$kern
+ /View [/XYZ -4 352.8 0]
+/DEST pdfmark
+&13
+(.k)72000 451200 w
+(er)79960 v
+(n)88690 v
+&12
+(N)97580 v
+&11
+(1)129600 v
+(1)187200 v
+(P)244800 v
+(,T)249250 v
+(Control pairwise k)3330 1 280800 u
+(erning; disabled if)3330 1 356800 u
+&12
+(N)434560 v
+&11
+(=0, otherwise enabled.)3330 1 441230 u
+[ /Dest /Anchor$fkern
+ /View [/XYZ -4 336 0]
+/DEST pdfmark
+&13
+(.fk)72000 468000 w
+(er)83290 v
+(n)92020 v
+&12
+(F)100910 v
+(N)110350 v
+&11
+(1)129600 v
+(1)187200 v
+(P)244800 v
+(,T)249250 v
+(Control the use of k)3390 1 280800 u
+(erning tables from font)3390 1 363700 u
+&12
+(F)461690 v
+&11
+(; disabled if)3390 1 467800 u
+&12
+(N)520190 v
+&11
+(=0,)526860 v
+(enabled if)4055 1 280800 480000 t
+&12
+(N)326120 v
+&11
+( F)7385(=1 or missing.)4055 2 332790 u
+(or)406285 v
+&12
+(N)418670 v
+&20
+(\144)425340 v
+&11
+(2, only k)4055 1 430830 u
+(erning pairs with)4055 1 469120 u
+(absolute v)5440 1 280800 492000 t
+(alues greater or equal to)5440 1 324320 u
+&12
+(N)437600 v
+&11
+(are used.)5440 1 449710 u
+&12
+(tr)496960 v
+(of)503180 v
+(f)510780 v
+&11
+(k)519000 v
+(ern\001)523900 v
+( the follo)4694(ing adjustments as de\003ned by)4695 2 280800 504000 t
+(wing requests are not)4694 1 448158 u
+(af)280800 516000 w
+(fected.)288320 v
+[ /Dest /Anchor$kernpair
+ /View [/XYZ -4 271.2 0]
+/DEST pdfmark
+&13
+(.k)72000 532800 w
+(er)79960 v
+(npair)88690 v
+&12
+(F)115360 v
+(c...)124800 v
+(G)140070 v
+(d...)150620 v
+(N)166450 v
+&11
+(ignored)187200 v
+(P)244800 v
+(,T)249250 v
+(Add a k)4497 1 280800 u
+(erning pair to the k)4497 1 316354 u
+( character)4498(erning table for)4497 2 400342 u
+&12
+(c)511622 v
+&11
+(from)520560 v
+(font)280800 544800 w
+&12
+(F)302195 v
+&11
+(and character)5285 1 313590 u
+&12
+(d)375240 v
+&11
+(from font)5285 1 385525 u
+&12
+(G)431645 v
+&11
+(.)438865 v
+&12
+(c)449980 v
+&11
+(and)459705 v
+&12
+(d)479430 v
+&11
+(may consist)5285 1 489715 u
+(of multiple characters; in this case, table entries are added for)3843 1 280800 556800 t
+(an)280800 568800 w
+(y pair combination of characters from)3490 1 290090 u
+&12
+(c)449880 v
+&11
+(and)457810 v
+&12
+(d)475740 v
+&11
+(. The)6640 1 480740 u
+&12
+(N)508920 v
+&11
+(ar)519080 v
+(gu\001)526670 v
+(ment is 1/72)5087 1 280800 580800 t
+( by the current point)5088(000 of an inch multiplied)5087 2 337090 u
+( an em \(as in)4024(size or 1/1000 of)4025 2 280800 592800 t
+9 s
+(AFM)414085 v
+10 s
+(k)437612 v
+(erning pair de\003nitions\);)4024 1 442512 u
+(it may be ne)4755 1 280800 604800 t
+(g)336575 v
+(ati)341525 v
+(v)351275 v
+(e. T)7905 1 356125 u
+( k)4756(o add a)4755 2 376280 u
+(erning pair that includes the)4756 1 419326 u
+(space character)3330 1 280800 616800 t
+(, use)3330 1 342580 u
+(\027)365070 v
+(\027\017)367660 v
+(\030)377100 v
+(\030.)379690 v
+[ /Dest /Anchor$e$5f$20
+/Rect [365070 -617800 385520 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$kernafter
+ /View [/XYZ -4 170.4 0]
+/DEST pdfmark
+&13
+(.k)72000 633600 w
+(er)79960 v
+(nafter)88690 v
+&12
+(F)118120 v
+(c...)127560 v
+(N)142830 v
+(d...)152830 v
+(M)168660 v
+(...)180320 v
+&11
+(P)244800 v
+(,T)249250 v
+(Add a constant amount of space after a character if the current)3420 1 280800 u
+(font is)5714 1 280800 645600 t
+&12
+(F)315007 v
+&11
+(and)326830 v
+&12
+(c)346983 v
+&11
+(is the)5713 1 357136 u
+(\003rst character of a pair of charac\001)5713 1 387452 u
+(ters subject to k)5760 1 280800 657600 t
+(erning.)353530 v
+&12
+(c)390670 v
+&11
+(may consist of multiple charac\001)5760 1 400870 u
+( is added whene)4134(ters; in this case, the same amount)4135 2 280800 669600 t
+(v)496342 v
+(er one of)4134 1 501192 u
+(the gi)4353 1 280800 681600 t
+(v)304903 v
+( The)7504( appears.)4354(en characters)4353 3 309753 u
+&12
+(N)428878 v
+&11
+(ar)439902 v
+(gument is 1/72)4354 1 447492 u
+(000 of)4354 1 512316 u
+( current point size or 1/1000 of an)4626(an inch multiplied by the)4627 2 280800 693600 t
+(em \(as in)4569 1 280800 705600 t
+9 s
+(AFM)326167 v
+10 s
+(k)350240 v
+(erning pair de\003nitions\); it may be ne)4570 1 355140 u
+(g)513510 v
+(ati)518460 v
+(v)528210 v
+(e.)533060 v
+(Same for)3330 1 280800 717600 t
+&12
+(d/M)321340 v
+&11
+(etc.)340780 v
+(\001)294340 760800 w
+(31)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 31 31
+%%Page: 32 32
+save
+mark
+32 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$kernbefore
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.k)72000 84000 w
+(er)79960 v
+(nbef)88690 v
+(or)107330 v
+(e)116590 v
+&12
+(F)124360 v
+(c...)133800 v
+(N)149070 v
+(d...)159070 v
+(M)174900 v
+(...)186560 v
+&11
+(P)244800 v
+(,T)249250 v
+(Add a constant amount of space before a character if the)5872 1 280800 u
+(current font is)4859 1 280800 96000 t
+&12
+(F)346477 v
+&11
+(and)357446 v
+&12
+(c)376745 v
+&11
+(is the second character of a pair of)4858 1 386044 u
+(characters subject to k)3870 1 280800 108000 t
+(erning.)373950 v
+&12
+(c)409200 v
+&11
+(may consist of multiple char)3870 1 417510 u
+(\001)536670 v
+(acters; in this case, the same amount is added whene)4493 1 280800 120000 t
+(v)508447 v
+(er one)4493 1 513297 u
+(of the gi)4353 1 280800 132000 t
+(v)317586 v
+( The)7504(en characters appears.)4354 2 322436 u
+&12
+(N)441562 v
+&11
+(ar)452586 v
+(gument is 1/72)4354 1 460176 u
+(000)525000 v
+( or 1/1000 of an)3546(of an inch multiplied by the current point size)3547 2 280800 144000 t
+(em \(as in)4569 1 280800 156000 t
+9 s
+(AFM)326167 v
+10 s
+(k)350240 v
+(erning pair de\003nitions\); it may be ne)4570 1 355140 u
+(g)513510 v
+(ati)518460 v
+(v)528210 v
+(e.)533060 v
+(Same for)3330 1 280800 168000 t
+&12
+(d/M)321340 v
+&11
+(etc.)340780 v
+[ /Dest /Anchor$lhang
+ /View [/XYZ -4 619.2 0]
+/DEST pdfmark
+&13
+(.lhang)72000 184800 w
+&12
+(F)101730 v
+(c...)111170 v
+(N)126440 v
+(d...)136440 v
+(M)152270 v
+(...)163930 v
+&11
+(ignored)187200 v
+(T)244800 v
+(Hanging characters at left mar)4755 1 280800 u
+( the current font is)4756(gin. When)7786 2 410710 u
+&12
+(F)280800 196800 w
+&11
+(and)291524 v
+&12
+(c)310578 v
+&11
+(appears at the left mar)4614 1 319632 u
+( in left\001)4613(gin of an output line)4614 2 416768 u
+(adjusted, both\001adjusted, or no\003ll mode, the mar)3571 1 280800 208800 t
+(gin is relocated)3572 1 476756 u
+(to the right by)4123 1 280800 220800 t
+&12
+(N)346182 v
+&11
+(, which is 1/72)4123 1 352852 u
+( multiplied by)4122(000 of an inch)4123 2 418277 u
+( of an em \(as in)3406(the current point size or 1/1000)3405 2 280800 232800 t
+9 s
+(AFM)480451 v
+10 s
+(character)503360 v
+(width de\003nitions\); it may be ne)4009 1 280800 244800 t
+(g)413475 v
+(ati)418425 v
+(v)428175 v
+(e.)433025 v
+&12
+(c)447304 v
+&11
+(may consist of mul\001)4009 1 455753 u
+( in this case, the mar)3779(tiple characters;)3778 2 280800 256800 t
+(gin is relocated whene)3779 1 434093 u
+(v)527380 v
+(er)532230 v
+(one of the gi)3330 1 280800 268800 t
+(v)333310 v
+( for)3330( Same)6660(en characters appears.)3330 3 338160 u
+&12
+(d/M)475030 v
+&11
+(etc.)494470 v
+[ /Dest /Anchor$rhang
+ /View [/XYZ -4 518.4 0]
+/DEST pdfmark
+&13
+(.rhang)72000 285600 w
+&12
+(F)103390 v
+(c...)112830 v
+(N)128100 v
+(d...)138100 v
+(M)153930 v
+(...)165590 v
+&11
+(ignored)187200 v
+(T)244800 v
+( right mar)4138(Hanging characters at)4137 2 280800 u
+( the current font is)4138(gin. When)7168 2 413800 u
+&12
+(F)280800 297600 w
+&11
+(and)290669 v
+&12
+(c)308868 v
+&11
+( mar)3758(appears at the right)3759 2 317067 u
+(gin of an output line in right\001)3758 1 416342 u
+(adjusted, both\001adjusted, or no\003ll mode, the mar)3571 1 280800 309600 t
+(gin is relocated)3572 1 476756 u
+(to the right by)4123 1 280800 321600 t
+&12
+(N)346182 v
+&11
+(, which is 1/72)4123 1 352852 u
+( multiplied by)4122(000 of an inch)4123 2 418277 u
+( of an em \(as in)3406(the current point size or 1/1000)3405 2 280800 333600 t
+9 s
+(AFM)480451 v
+10 s
+(character)503360 v
+(width de\003nitions\); it may be ne)4009 1 280800 345600 t
+(g)413475 v
+(ati)418425 v
+(v)428175 v
+(e.)433025 v
+&12
+(c)447304 v
+&11
+(may consist of mul\001)4009 1 455753 u
+( in this case, the mar)3779(tiple characters;)3778 2 280800 357600 t
+(gin is relocated whene)3779 1 434093 u
+(v)527380 v
+(er)532230 v
+(one of the gi)3330 1 280800 369600 t
+(v)333310 v
+( for)3330( Same)6660(en characters appears.)3330 3 338160 u
+&12
+(d/M)475030 v
+&11
+(etc.)494470 v
+[ /Dest /Anchor$s$5fvert
+ /View [/XYZ -4 417.6 0]
+/DEST pdfmark
+&13
+(5. V)6210 1 72000 386400 t
+(ertical Spacing)3330 1 91930 u
+[ /Dest /Bookmark$53
+ /View [/XYZ -4 417.6 0]
+/DEST pdfmark
+&12
+(5.1.)72000 403200 w
+(Base\001line spacing)3330 1 88666 u
+(.)160726 v
+[ /Dest /Bookmark$54
+ /View [/XYZ -4 400.8 0]
+/DEST pdfmark
+&11
+(The v)3468 1 166514 u
+(ertical spacing)3468 1 190382 u
+&12
+(\(V\))252858 v
+&11
+(between the base\001lines of successi)3468 1 269096 u
+(v)409348 v
+( can be set using)3469(e output lines)3468 2 414198 u
+(the)72000 415200 w
+&13
+(vs)88159 v
+[ /Dest /Anchor$vs
+/Rect [88159 -416200 97049 -407200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)100988 v
+&12
+(V)139637 v
+&11
+(should be lar)3939 1 149686 u
+(ge enough to accommodate the character sizes on the af)3939 1 204044 u
+( F)7268( lines.)3938(fected output)3939 3 439735 u
+(or)531670 v
+(the common type sizes \(9\00112 points\), usual typesetting practice is t\
+o set)3537 1 72000 427200 t
+&12
+(V)372474 v
+&11
+(to 2)3538 1 382122 u
+(points greater than the point size;)3538 1 401770 u
+&12
+(tr)72000 439200 w
+(of)78220 v
+(f)85820 v
+&11
+(def)92848 v
+( current)4248( The)7398
+(ault is 10\001point type on a 12\001point spacing \(as in this document\)\
+.)4248 3 105518 u
+&12
+(V)442830 v
+&11
+(is a)4248 1 453188 u
+(v)468346 v
+(ailable in the)4248 1 473096 u
+[ /Dest /Anchor$n$5f$2ev
+ /View [/XYZ -4 364.8 0]
+/DEST pdfmark
+&13
+(.v)532500 v
+&11
+(re)72000 451200 w
+(gister)79620 v
+(. Multiple\001)6881 1 101290 u
+&12
+(V)148451 v
+&11
+( double spacing\) may be requested with)3552(line separation \(e.g.)3551 2 159778 u
+&13
+(ls)409474 v
+&11
+(,)416144 v
+[ /Dest /Anchor$ls
+/Rect [409474 -452200 418644 -443200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(b)422196 v
+(ut it is better to use a lar)3552 1 426996 u
+(ge)530560 v
+&13
+(vs)72000 463200 w
+[ /Dest /Anchor$vs
+/Rect [72000 -464200 80890 -455200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( current line spacing is a)3330( The)6480
+(instead; certain preprocessors assume single spacing.)3330 3 84220 u
+(v)424010 v
+(ailable in the)3330 1 428760 u
+[ /Dest /Anchor$n$5f$2eL
+ /View [/XYZ -4 340.8 0]
+/DEST pdfmark
+&13
+(.L)485410 v
+&11
+(re)497910 v
+(gister)505530 v
+(.)527200 v
+&12
+(5.2.)72000 480000 w
+(Extr)88666 v
+(a line\001space)3330 1 105736 u
+(.)155016 v
+[ /Dest /Bookmark$55
+ /View [/XYZ -4 324 0]
+/DEST pdfmark
+&11
+( w)3911(If a)3910 2 161426 u
+(ord contains a v)3911 1 187467 u
+(ertically tall construct requiring the output line containing it to ha)3911 1 255150 u
+(v)530710 v
+(e)535560 v
+(e)72000 492000 w
+(xtra v)3964 1 76290 u
+(ertical space before and/or after it, the)3964 1 100654 u
+&12
+(e)265292 v
+(xtr)269532 v
+(a\001line\001space)280492 v
+&11
+(function)333886 v
+[ /Dest /Anchor$e$5fx
+ /View [/XYZ -4 312 0]
+/DEST pdfmark
+&13
+(\017x)371179 v
+&12
+(\013N\013)378959 v
+&11
+(can be imbedded in or attached to)3963 1 396252 u
+(that w)3717 1 72000 504000 t
+(ord. If)7047 1 97837 u
+&12
+(N)131091 v
+&11
+(is ne)3717 1 141478 u
+(g)161155 v
+(ati)166105 v
+(v)175855 v
+(e, the output line containing the w)3717 1 180705 u
+(ord will be preceded by)3717 1 324287 u
+&12
+(N)427292 v
+&11
+(e)437679 v
+(xtra v)3717 1 441969 u
+(ertical space; if)3718 1 466086 u
+&12
+(N)533330 v
+&11
+(is positi)3554 1 72000 516000 t
+(v)104204 v
+( w)3553(e, the output line containing the)3554 2 109054 u
+(ord will be follo)3553 1 251657 u
+(wed by)3553 1 319286 u
+&12
+(N)353052 v
+&11
+(e)363275 v
+(xtra v)3553 1 367565 u
+( successi)3553( If)6883(ertical space.)3553 3 391518 u
+(v)494387 v
+(e requests)3553 1 499237 u
+(for e)3761 1 72000 528000 t
+(xtra space apply to the same line, the maximum v)3761 1 91711 u
+( post\001line e)3762( most recently utilized)3761( The)6911
+(alues are used.)3761 4 301120 u
+(xtra)524450 v
+(line\001space is a)3330 1 72000 540000 t
+(v)130110 v
+(ailable in the)3330 1 134860 u
+[ /Dest /Anchor$n$5f$2ea
+ /View [/XYZ -4 264 0]
+/DEST pdfmark
+&13
+(.a)191510 v
+&11
+(re)202340 v
+(gister)209960 v
+(.)231630 v
+(In)72000 556800 w
+&13
+(\017x)84309 v
+&12
+(\013...\013)92089 v
+&11
+(and other functions ha)3979 1 110228 u
+( pair of delimiters around their parameter \(here)3980(ving a)3979 2 203615 u
+&13
+(\013)432154 v
+&11
+(\), the delimiter choice is)3980 1 437150 u
+(arbitrary)72000 568800 w
+(, e)3330 1 105780 u
+(xcept that it can not look lik)3330 1 115900 u
+(e the continuation of a number e)3330 1 233000 u
+(xpression)367250 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [329080 -569800 405580 -560800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(for)408910 v
+&12
+(N)423900 v
+&11
+(.)430570 v
+&12
+(5.3.)72000 585600 w
+(Bloc)88666 v
+(ks of vertical space)3330 1 106796 u
+(.)186066 v
+[ /Dest /Bookmark$56
+ /View [/XYZ -4 218.4 0]
+/DEST pdfmark
+&11
+( of v)4779(A block)4778 2 192794 u
+(ertical space is ordinarily requested using)4779 1 249750 u
+&13
+(sp)431724 v
+&11
+(,)441174 v
+[ /Dest /Anchor$sp
+/Rect [431724 -586600 443674 -577600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(which honors the)4779 1 448453 u
+&12
+(no\001)526670 v
+(space)72000 597600 w
+&11
+(mode and which does not space)3848 1 98618 u
+&12
+(past)236126 v
+&11
+( contiguous block of v)3848( A)6628(a trap.)3848 3 256644 u
+( reserv)3847(ertical space may be)3848 2 391512 u
+(ed using)3847 1 505043 u
+&13
+(sv)72000 609600 w
+&11
+(.)80890 v
+[ /Dest /Anchor$sv
+/Rect [72000 -610600 83390 -601600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(5.4.)72000 626400 w
+(Ascender)88666 v
+(s and descender)3330 1 125776 u
+(s.)191766 v
+[ /Dest /Bookmark$57
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+&11
+(T)202976 v
+(ype)208286 v
+(1, OpenT)5000 1 226056 u
+( T)4820(ype, and)5000 2 265526 u
+(rueT)312486 v
+( information about the typical)5001(ype metrics supply)5000 2 330566 u
+(e)72000 638400 w
+(xtents of characters abo)4188 1 76290 u
+(v)175894 v
+(e the base\001line \(ascender\) and belo)4188 1 180744 u
+( Usually)7518(w it \(descender\).)4188 2 327494 u
+(, these correspond to the)4188 1 435768 u
+(top of the lo)4735 1 72000 650400 t
+(wercase)127065 v
+(\027)164000 v
+(\027d\030)166590 v
+( bottom of the lo)4736( the)4735(\030 and)3995 3 177510 u
+(wercase)291594 v
+(\027)328530 v
+(\027p\030)331120 v
+(\030, respecti)4736 1 342040 u
+(v)383456 v
+(ely)388306 v
+(. The)7886 1 399876 u
+[ /Dest /Anchor$n$5f$2eascender
+ /View [/XYZ -4 153.6 0]
+/DEST pdfmark
+&13
+(.ascender)430548 v
+&11
+(and)475554 v
+[ /Dest /Anchor$n$5f$2edescender
+ /View [/XYZ -4 153.6 0]
+/DEST pdfmark
+&13
+(.descender)494730 v
+&11
+(number re)3433 1 72000 662400 t
+(gisters contain these v)3433 1 113603 u
+( no v)3432( If)6762( applied.)3432
+(alues in units with correct scaling for the current point size)3433 4 204752 u
+(alues)519450 v
+(are a)3330 1 72000 674400 t
+(v)91780 v
+(ailable, these re)3330 1 96530 u
+(gisters are set to zero.)3330 1 160520 u
+(\001)294340 760800 w
+(32)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 32 32
+%%Page: 33 33
+save
+mark
+33 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$vs
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.vs)72000 112800 w
+&12
+(N)85056 v
+&11
+(1/6in;12pts)129600 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(p)253410 v
+&11
+(Set v)4395 1 280800 u
+(ertical base\001line spacing size)4395 1 302825 u
+&12
+(V)427595 v
+&11
+(. T)7545 1 433705 u
+(ransient)449510 v
+&12
+(e)485565 v
+(xtr)489805 v
+(a)500765 v
+&11
+(v)510160 v
+(ertical)515010 v
+(space a)3330 1 280800 124800 t
+(v)310580 v
+(ailable with)3330 1 315330 u
+&13
+(\017x)366430 v
+&12
+(\013N\013)374210 v
+&11
+(\(see abo)3330 1 390870 u
+(v)424590 v
+(e\).)429440 v
+[ /Dest /Anchor$e$5fx
+/Rect [366430 -125800 439710 -116800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$ls
+ /View [/XYZ -4 662.4 0]
+/DEST pdfmark
+&13
+(.ls)72000 141600 w
+&12
+(N)82836 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(1)142593 v
+(pre)187200 v
+(vious)199720 v
+(E)244800 v
+&12
+(Line)280800 v
+&11
+( to)3629(spacing set)3628 2 302208 u
+&20
+(\143)362534 v
+&12
+(N)368024 v
+&11
+(.)374694 v
+&12
+(N)384153 v
+&20
+(\007)390823 v
+&11
+(1)396313 v
+&12
+(V)404942 v
+&11
+(s)411885 v
+&12
+(\(blank lines\))3629 1 419404 u
+&11
+(are appended to)3629 1 474432 u
+(each output te)3438 1 280800 153600 t
+( blank lines are omitted, if the)3438( Appended)6218(xt line.)3438 3 338626 u
+(te)280800 165600 w
+(xt or pre)3330 1 287870 u
+(vious appended blank line reached a trap position.)3330 1 323160 u
+[ /Dest /Anchor$sp
+ /View [/XYZ -4 621.6 0]
+/DEST pdfmark
+&13
+(.sp)72000 182400 w
+&12
+(N)87280 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+&12
+(V)204360 v
+&11
+(B,)244800 v
+&13
+(v)253970 v
+&11
+(Space v)6356 1 280800 u
+(ertically in)6356 1 315886 u
+&12
+(either)369148 v
+&11
+(direction. If)9687 1 398835 u
+&12
+(N)459589 v
+&11
+(is ne)6357 1 472616 u
+(g)494933 v
+(ati)499883 v
+(v)509633 v
+(e, the)6357 1 514483 u
+(motion is)3877 1 280800 194400 t
+&12
+(bac)323564 v
+(kwar)337804 v
+(d)357434 v
+&11
+(\(upw)366311 v
+(ard\) and is limited to the distance to)3877 1 386761 u
+( F)7171(the top of the page.)3841 2 280800 206400 t
+(orw)375675 v
+(ard \(do)3841 1 391125 u
+(wnw)420816 v
+( truncated)3842(ard\) motion is)3841 2 440156 u
+( the use of)4377( \(Recall)7708(to the distance to the nearest trap.)4378 3 280800 218400 t
+&13
+(.sp)514184 v
+(\023)529464 v
+&12
+(N)533330 v
+[ /Dest /Anchor$a$5fusesp
+/Rect [433916 -219400 540000 -210400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(from)280800 230400 w
+(\0151.3.\))303682 v
+[ /Dest /Anchor$a$5fusesp
+/Rect [280800 -231400 327012 -222400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( no\001space mode is on, no spacing occurs \(see)3443(If the)3442 2 330454 u
+&13
+(ns)280800 242400 w
+[ /Dest /Anchor$ns
+/Rect [280800 -243400 290250 -234400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3330 1 290250 u
+&13
+(rs)313850 v
+[ /Dest /Anchor$rs
+/Rect [313850 -243400 322180 -234400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(belo)325510 v
+(w\).)342480 v
+[ /Dest /Anchor$sv
+ /View [/XYZ -4 544.8 0]
+/DEST pdfmark
+&13
+(.sv)72000 259200 w
+&12
+(N)86720 v
+&11
+(\012)129600 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+&12
+(V)204360 v
+&13
+(v)244800 v
+&11
+(Sa)280800 v
+(v)290600 v
+( v)3992(e a contiguous)3991 2 295450 u
+(ertical block of size)3992 1 365044 u
+&12
+(N)452102 v
+&11
+( the distance to)3992(. If)7322 2 458772 u
+(the ne)3435 1 280800 271200 t
+( is greater than)3434(xt trap)3435 2 305745 u
+&12
+(N)397896 v
+&11
+(,)404566 v
+&12
+(N)410500 v
+&11
+(v)420604 v
+( No\001)6764(ertical space is output.)3434 2 425454 u
+(space mode has)4263 1 280800 283200 t
+&12
+(no)351349 v
+&11
+(ef)365612 v
+( less than)4264( this distance is)4263(fect. If)7593 3 373132 u
+&12
+(N)516566 v
+&11
+(, no)4264 1 523236 u
+(v)280800 295200 w
+( output, b)3873(ertical space is immediately)3874 2 285650 u
+(ut)441748 v
+&12
+(N)453401 v
+&11
+(is remembered for)3873 1 463944 u
+(later output \(see)5046 1 280800 307200 t
+&13
+(os)355368 v
+[ /Dest /Anchor$os
+/Rect [355368 -308200 364258 -299200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\). Subsequent)8376 1 364258 u
+&13
+(sv)429620 v
+&11
+(requests will o)5047 1 443556 u
+(v)506830 v
+(erwrite)511680 v
+(an)280800 319200 w
+(y still remembered)3330 1 290090 u
+&12
+(N)370070 v
+&11
+(.)376740 v
+[ /Dest /Anchor$os
+ /View [/XYZ -4 468 0]
+/DEST pdfmark
+&13
+(.os)72000 336000 w
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Output sa)5350 1 280800 u
+(v)322060 v
+(ed v)5350 1 326910 u
+( mode has)5350( No\001space)8680(ertical space.)5350 3 346550 u
+&12
+(no)499640 v
+&11
+(ef)514990 v
+(fect.)522510 v
+(Used to)4439 1 280800 348000 t
+(\003nally output a block of v)4439 1 318008 u
+(ertical space requested by)4439 1 431163 u
+(an earlier)3330 1 280800 360000 t
+&13
+(sv)322440 v
+&11
+(request.)334660 v
+[ /Dest /Anchor$ns
+ /View [/XYZ -4 427.2 0]
+/DEST pdfmark
+&13
+(.ns)72000 376800 w
+&11
+(space)129600 v
+(\012)187200 v
+(D)244800 v
+( the no\001space mode inhi\001)3655( on,)3654( When)6684
+(No\001space mode turned on.)3654 4 280800 u
+(bits)280800 388800 w
+&13
+(sp)299380 v
+[ /Dest /Anchor$sp
+/Rect [299380 -389800 308830 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests and)4130 1 312960 u
+&13
+(bp)368430 v
+[ /Dest /Anchor$bp
+/Rect [368430 -389800 379550 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests)383680 v
+&12
+(without)420580 v
+&11
+(a ne)4130 1 454720 u
+(xt page number)4130 1 472580 u
+(.)537500 v
+(The no\001space mode is turned of)3515 1 280800 400800 t
+( a line of output occurs,)3516(f when)3515 2 411985 u
+(or with)3690 1 280800 412800 t
+&13
+(rs)314290 v
+&11
+( number re)3689(. The)6839 2 322620 u
+(gister)393057 v
+[ /Dest /Anchor$n$5f$2ens
+ /View [/XYZ -4 391.2 0]
+/DEST pdfmark
+&13
+(.ns)418966 v
+&11
+(is set to a non\001zero v)3689 1 434605 u
+(alue)523340 v
+(in no\001space mode and to zero otherwise.)3330 1 280800 424800 t
+[ /Dest /Anchor$rs
+ /View [/XYZ -4 362.4 0]
+/DEST pdfmark
+&13
+(.rs)72000 441600 w
+&11
+(space)129600 v
+(\012)187200 v
+(D)244800 v
+( no\001space mode is turned of)3330( The)6480(Restore spacing.)3330 3 280800 u
+(f.)484470 v
+[ /Dest /Anchor$blank
+ /View [/XYZ -4 345.6 0]
+/DEST pdfmark
+(Blank)72000 458400 w
+(te)99220 v
+(xt)106290 v
+(line.)117400 v
+(\012)187200 v
+(B)244800 v
+( and output of a blank line e)4802(Causes a break)4801 2 280800 u
+(xactly lik)4802 1 473276 u
+(e)512978 v
+&13
+(sp)522220 v
+(1)535000 v
+&11
+( dif)6301(unless a)6302 2 280800 470400 t
+(ferent action has been speci\003ed with the)6301 1 333703 u
+&13
+(blm)523330 v
+[ /Dest /Anchor$blm
+/Rect [523330 -471400 540000 -462400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)280800 482400 w
+[ /Dest /Anchor$blm
+/Rect [280800 -483400 312180 -474400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$s$5fline
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&13
+( Length and Indenting)3330(6. Line)6660 2 72000 499200 t
+[ /Dest /Bookmark$58
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&11
+( for)3843(The maximum line length)3842 2 72000 516000 t
+(\003ll mode may be set with)3843 1 198982 u
+&13
+(ll)310930 v
+&11
+(.)316490 v
+[ /Dest /Anchor$ll
+/Rect [310930 -517000 318990 -508000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(The indent may be set with)3843 1 322653 u
+&13
+(in)441811 v
+&11
+(;)450151 v
+[ /Dest /Anchor$in
+/Rect [441811 -517000 452931 -508000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(an indent applicable)3843 1 456774 u
+(to)72000 528000 w
+&12
+(only)83696 v
+&11
+(the)104832 v
+&12
+(ne)120968 v
+(xt)130208 v
+&11
+( may be set with)3915(output line)3916 2 141344 u
+&13
+(ti)260945 v
+&11
+(.)267055 v
+[ /Dest /Anchor$ti
+/Rect [260945 -529000 269555 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(The line length includes indent space b)3915 1 273290 u
+(ut)437670 v
+&12
+(not)449365 v
+&11
+(page of)3915 1 466060 u
+(fset space.)3915 1 496935 u
+(The line\001length minus the indent is the basis for centering with)3663 1 72000 540000 t
+&13
+(ce)338383 v
+&11
+(.)347263 v
+[ /Dest /Anchor$ce
+/Rect [338383 -541000 349763 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(The ef)3664 1 353246 u
+(fect of)3664 1 379980 u
+&13
+(ll)410628 v
+[ /Dest /Anchor$ll
+/Rect [410628 -541000 416188 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)416188 v
+&13
+(in)422352 v
+[ /Dest /Anchor$in
+/Rect [422352 -541000 430692 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, or)3664 1 430692 u
+&13
+(ti)448850 v
+[ /Dest /Anchor$ti
+/Rect [448850 -541000 454960 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is delayed, if a par)3664 1 458624 u
+(\001)536670 v
+(tially collected line e)3762 1 72000 552000 t
+( In)7091( output.)3761(xists, until after that line is)3762 3 159236 u
+(\003ll mode the length of te)3761 1 323219 u
+(xt on an output line is less)3761 1 427984 u
+( current line length and indent are a)3776( The)6925
+(than or equal to the line length minus the indent.)3775 3 72000 564000 t
+(v)450472 v
+(ailable in re)3776 1 455222 u
+(gisters)504834 v
+[ /Dest /Anchor$n$5f$2el
+ /View [/XYZ -4 240 0]
+/DEST pdfmark
+&13
+(.l)534720 v
+&11
+(and)72000 576000 w
+[ /Dest /Anchor$n$5f$2ei
+ /View [/XYZ -4 228 0]
+/DEST pdfmark
+&13
+(.i)90231 v
+&11
+(respecti)99302 v
+(v)130152 v
+(ely; the)3791 1 135002 u
+[ /Dest /Anchor$n$5f$2ey
+ /View [/XYZ -4 228 0]
+/DEST pdfmark
+&13
+(.y)169804 v
+&11
+(and)181095 v
+[ /Dest /Anchor$n$5f$2ein
+ /View [/XYZ -4 228 0]
+/DEST pdfmark
+&13
+(.in)199326 v
+&11
+(re)213957 v
+(gisters both hold the indent that actually applies to the current line, t\
+aking a)3791 1 221577 u
+( length of)3330( The)6480(temporary indent into account.)3330 3 72000 588000 t
+&12
+(thr)262600 v
+(ee\001part titles)3330 1 273900 u
+&11
+(produced by)3330 1 328890 u
+&13
+(tl)382760 v
+[ /Dest /Anchor$tl
+/Rect [382760 -589000 388870 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(see)392200 v
+(\01514\))411630 v
+[ /Dest /Anchor$s$5ftitles
+/Rect [392200 -589000 429960 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is)433290 v
+&12
+(independently)443290 v
+&11
+(set by)3330 1 502720 u
+&13
+(lt)530490 v
+&11
+(.)536600 v
+[ /Dest /Anchor$lt
+/Rect [530490 -589000 539100 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(In)72000 604800 w
+&13
+(ad)83818 v
+(p)97708 v
+[ /Dest /Anchor$ad$5fp
+/Rect [83818 -605800 103268 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the entire paragraph at the time)3489
+(mode, indent, temporary indent, and line length should be prede\003ned fo\
+r)3488 2 106756 u
+(a)72000 616800 w
+&12
+(br)80452 v
+(eak)88972 v
+&11
+(occurs. T)7161 1 106863 u
+(o achie)4011 1 147934 u
+(v)177795 v
+(e this with indent and line length v)4011 1 182645 u
+(arying inside a paragraph, a shape can be de\003ned)4011 1 331582 u
+(with)72000 628800 w
+&13
+(pshape)94868 v
+[ /Dest /Anchor$pshape
+/Rect [94868 -629800 124878 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(. The)8238 1 124878 u
+&13
+(ll)156254 v
+[ /Dest /Anchor$ll
+/Rect [156254 -629800 161814 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)166902 v
+&13
+(in)186430 v
+[ /Dest /Anchor$in
+/Rect [186430 -629800 194770 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests are also ef)5088 1 199858 u
+(fecti)283732 v
+(v)301252 v
+( paragraph b)5089(e while formatting a)5088 2 306102 u
+(ut may result in less)5089 1 449644 u
+(optimal line breaking decisions then.)3330 1 72000 640800 t
+&14
+(Request)72000 657600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 669600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$ll
+ /View [/XYZ -4 117.6 0]
+/DEST pdfmark
+&13
+(.ll)72000 686400 w
+&20
+(\143)83390 v
+&12
+(N)88880 v
+&11
+(6.5)129600 v
+(in)143766 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Line length is set to)3330 1 280800 u
+&20
+(\143)366340 v
+&12
+(N)371830 v
+&11
+(.)378500 v
+[ /Dest /Anchor$in
+ /View [/XYZ -4 100.8 0]
+/DEST pdfmark
+&13
+(.in)72000 703200 w
+&20
+(\143)86170 v
+&12
+(N)91660 v
+(N)129600 v
+&20
+(\010)136270 v
+&11
+(0)142593 v
+(pre)187200 v
+(vious)199720 v
+(B,E,)244800 v
+&13
+(m)262580 v
+&11
+(Indent is set to)4522 1 280800 u
+&20
+(\143)349999 v
+&12
+(N)355489 v
+&11
+( indent is prepended to each output)4523(. The)7673 2 362159 u
+(line.)280800 715200 w
+(\001)294340 760800 w
+(33)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 33 33
+%%Page: 34 34
+save
+mark
+34 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$ti
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.ti)72000 84000 w
+&20
+(\143)83940 v
+&12
+(N)89430 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(B,E,)244800 v
+&13
+(m)262580 v
+&11
+(T)280800 v
+( The)7367(emporary indent.)4217 2 286210 u
+&12
+(ne)383382 v
+(xt)392622 v
+&11
+(output te)4218 1 404060 u
+(xt line will be indented)4218 1 440908 u
+(a distance)4366 1 280800 96000 t
+&20
+(\143)326742 v
+&12
+(N)332232 v
+&11
+( result\001)4366( The)7516(with respect to the current indent.)4366 3 343268 u
+(ing total indent may not be ne)3359 1 280800 108000 t
+(g)405244 v
+(ati)410194 v
+(v)419944 v
+( not)3360( current indent is)3359(e. The)6509 3 424794 u
+(changed.)280800 120000 w
+[ /Dest /Anchor$pshape
+ /View [/XYZ -4 667.2 0]
+/DEST pdfmark
+&13
+(.pshape)72000 136800 w
+&20
+(\143)107840 v
+&12
+(I1)113330 v
+&20
+(\143)124990 v
+&12
+(L1)130480 v
+&20
+(\143)144370 v
+&12
+(I2)149860 v
+&20
+(\143)161520 v
+&12
+(L2)167010 v
+&11
+(... of)3330 1 180900 u
+(f)199810 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+( special)3372(Set a)3371 2 280800 u
+( the)3791(shape for)3792 2 280800 148800 t
+10 @11 1.02 h
+195 T
+(cu)280800 160800 w
+(rren)290817 v
+(t p)4751 1 308016 u
+(ara\001)321091 v
+10 s
+5 T
+(graph in)4594 1 280800 172800 t
+&13
+5 T
+(ad p)3330 1 320573 u
+[ /Dest /Anchor$ad$5fp
+/Rect [320573 -173800 340038 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 @11 1.02 h
+245 T
+(mo)280800 184800 w
+(d)294324 v
+( th)4435(e. At)7214 2 299668 u
+(e)337998 v
+250 T
+(n)384533 136800 w
+(e)389882 v
+(x)394510 v
+(t)399859 v
+10 @12 1.02 h
+250 T
+(b)412408 v
+(r)417757 v
+(ea)421604 v
+(k)431731 v
+10 @11 0.98 h
+-170 T
+( para\001)2635(when the)2636 2 382033 148800 t
+10 s
+0 T
+( for)4032(graph gets)4031 2 379533 160800 t
+(\001)437936 v
+10 @11 1.02 h
+135 T
+(matted)377033 172800 w
+(, its)4576 1 405603 u
+(\003rst)427483 v
+250 T
+(lin)374533 184800 w
+( in)5626(e is)5625 2 386052 u
+(d)417817 v
+(en)423166 v
+(ted)433293 v
+10 @11 0.98 h
+-150 T
+(by)488267 136800 w
+10 @12 0.98 h
+-150 T
+(I1)500402 v
+10 @11 0.98 h
+-150 T
+(and has)2635 1 510900 u
+10 s
+0 T
+(length)485767 148800 w
+&12
+(L1)514129 v
+&11
+(, its)3361 1 524689 u
+( is)3647(second line)3646 2 483267 160800 t
+(indented by)3232 1 480767 172800 t
+&12
+(I2)531670 v
+10 @11 0.997 h
+-15 T
+(an)478267 184800 w
+(d h)4642 1 487647 u
+(as len)4643 1 502228 u
+(g)527281 v
+(th)532250 v
+&12
+0 T
+(L2)280800 196800 w
+&11
+( Relati)6541(, and so forth.)3211 2 291360 u
+(v)378944 v
+(e numbers refer to the pre)3211 1 383794 u
+(vious indent)3211 1 490119 u
+(or line length pair)3380 1 280800 208800 t
+(, or to the v)3380 1 354420 u
+(alues set by)3380 1 403520 u
+&13
+(in)455320 v
+[ /Dest /Anchor$in
+/Rect [455320 -209800 463660 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)467040 v
+&13
+(ll)484860 v
+[ /Dest /Anchor$ll
+/Rect [484860 -209800 490420 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(for the)3380 1 493800 u
+(\003rst)524440 v
+(pair)280800 220800 w
+( length pairs stays ef)3213( last of the indent and line)3214(. The)6364 3 295800 u
+(fecti)513190 v
+(v)530710 v
+(e)535560 v
+( are gi)3897(if the paragraph has more lines than pairs)3896 2 280800 232800 t
+(v)483346 v
+(en. W)6927 1 488196 u
+(ith an)3897 1 516103 u
+10 @11 0.996 h
+-20 T
+(o)280800 244800 w
+(d)285759 v
+(d n)2510 1 290718 u
+(u)303147 v
+(mb)308106 v
+(er o)2511 1 320793 u
+(f ar)2510 1 335961 u
+(g)349285 v
+(u)354244 v
+(men)359203 v
+(ts,)376292 v
+10 s
+0 T
+( length as)2543(the standard line)2542 2 280800 256800 t
+10 @11 0.993 h
+-25 T
+(set b)2528 1 280800 268800 t
+(y)299222 v
+10 @13 0.993 h
+-25 T
+(ll)306689 v
+[ /Dest /Anchor$ll
+/Rect [306689 -269800 312159 -260800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 @11 0.993 h
+-25 T
+(is u)2527 1 314686 u
+( th)2527(sed at)2526 2 328724 u
+(e en)2527 1 361729 u
+(d)377961 v
+(.)382900 v
+10 @11 0.98 h
+-130 T
+(Once the current paragraph)2624 1 280800 280800 t
+-85 T
+(has been printed, the shape)2600 1 280800 292800 t
+10 @11 0.994 h
+-30 T
+(speci\003cation is for)4834 1 280800 304800 t
+(gotten,)358240 v
+10 @11 0.98 h
+-185 T
+( and)2673(and the standard indent)2672 2 435400 244800 t
+10 @11 1.006 h
+25 T
+( v)4574(line length)4575 2 435400 256800 t
+(alues are in)4574 1 489840 u
+10 @11 0.989 h
+-45 T
+(ef)435400 268800 w
+(fect ag)2539 1 442744 u
+( another)2540(ain unless)2539 2 469123 u
+10 @13 0.98 h
+-130 T
+(pshape)435400 280800 w
+10 @11 0.98 h
+-130 T
+( As)5420(request occurs.)2641 2 466668 u
+10 s
+0 T
+(an e)2660 1 435400 292800 t
+(xception,)451790 v
+&13
+(\017p)491390 v
+[ /Dest /Anchor$e$5fp
+/Rect [491390 -293800 499730 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(preserv)502390 v
+(es)531670 v
+( of the)3932(the remaining part)3933 2 435400 304800 t
+(shape. T)6414 1 280800 316800 t
+(o produce shapes with holes as in this e)3264 1 317794 u
+(xample, di)3264 1 481516 u
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+[ /Dest /Anchor$c$5ftrap
+/Rect [516720 -317800 540000 -308800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 @11 0.98 h
+-105 T
+(sion traps)2647 1 280800 328800 t
+[ /Dest /Anchor$c$5ftrap
+/Rect [280800 -329800 317888 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(can be used to mo)2647 1 320535 u
+(v)390572 v
+(e formatted lines in v)2646 1 395217 u
+(ertical direction.)2646 1 477247 u
+[ /Dest /Anchor$s$5fmac
+ /View [/XYZ -4 458.4 0]
+/DEST pdfmark
+&13
+0 T
+(7. Macr)6660 1 72000 345600 t
+(os, Strings, Di)3330 1 109300 u
+(v)170310 v
+(ersion, and P)3330 1 175210 u
+(osition T)3030 1 232510 u
+(raps)269810 v
+[ /Dest /Bookmark$59
+ /View [/XYZ -4 458.4 0]
+/DEST pdfmark
+&12
+(7.1.)72000 362400 w
+(Macr)88666 v
+(os and strings.)3330 1 109876 u
+[ /Dest /Bookmark$60
+ /View [/XYZ -4 441.6 0]
+/DEST pdfmark
+&11
+(A)173455 v
+&12
+(macr)184524 v
+(o)204624 v
+&11
+(is a named set of arbitrary)3849 1 213473 u
+&12
+(lines)328207 v
+&11
+(that may be in)3849 1 350946 u
+(v)411533 v
+(ok)416333 v
+( with a)3850(ed by name or)3849 2 426233 u
+&12
+(tr)520980 v
+(ap)527500 v
+&11
+(.)537500 v
+(A)72000 374400 w
+&12
+(string)82917 v
+&11
+(is a named string of)3697 1 109954 u
+&12
+(c)197318 v
+(har)201608 v
+(acter)215348 v
+(s)235798 v
+&11
+(,)239688 v
+&12
+(not)245884 v
+&11
+(including a ne)3696 1 262360 u
+(wline character)3696 1 321162 u
+(, that may be interpolated by name at)3696 1 383318 u
+(an)72000 386400 w
+( macro, and string names share the)3697( Request,)7027(y point.)3697 3 81290 u
+&12
+(same)304253 v
+&11
+( names may consist of)3698( and string)3697( Macro)7027(name list.)3697 4 328500 u
+(an arbitrary number of)3342 1 72000 398400 t
+9 s
+(ASCII)168118 v
+10 s
+(characters \(\0151.1\))3341 1 194959 u
+[ /Dest /Anchor$c$5fchar
+/Rect [238830 -399400 262990 -390400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and may usurp pre)3341 1 266331 u
+(viously de\003ned request, macro, or string names;)3341 1 342754 u
+(this implies that b)4113 1 72000 410400 t
+(uild\001in operators may be \(irre)4113 1 148039 u
+(v)271991 v
+( An)6893(ocably\) rede\003ned.)4113 2 276791 u
+( renamed with)4114(y of these entities may be)4113 2 369567 u
+&13
+(r)72000 422400 w
+(n)76290 v
+[ /Dest /Anchor$rn
+/Rect [72000 -423400 81850 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or remo)3569 1 85419 u
+(v)117718 v
+(ed with)3569 1 122568 u
+&13
+(rm)156926 v
+&11
+(.)169696 v
+[ /Dest /Anchor$rm
+/Rect [156926 -423400 172196 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( created by)3568(Macros are)3569 2 175765 u
+&13
+(de)271108 v
+[ /Dest /Anchor$de
+/Rect [271108 -423400 281108 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)284676 v
+&13
+(di)302684 v
+&11
+(,)311024 v
+[ /Dest /Anchor$di
+/Rect [302684 -423400 313524 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and appended to by)3568 1 317092 u
+&13
+(am)401904 v
+[ /Dest /Anchor$am
+/Rect [401904 -423400 415234 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)418802 v
+&13
+(da)436810 v
+&11
+(;)447370 v
+[ /Dest /Anchor$da
+/Rect [436810 -423400 450150 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(di)453718 v
+[ /Dest /Anchor$di
+/Rect [453718 -423400 462058 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)465626 v
+&13
+(da)483634 v
+[ /Dest /Anchor$da
+/Rect [483634 -423400 494194 -414400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(cause nor)3568 1 497762 u
+(\001)536670 v
+( are created by)3569( Strings)6899(mal output to be stored in a macro.)3569 3 72000 434400 t
+&13
+(ds)319508 v
+[ /Dest /Anchor$ds
+/Rect [319508 -435400 328958 -426400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and appended to by)3569 1 332527 u
+&13
+(as)417343 v
+&11
+(.)426233 v
+[ /Dest /Anchor$as
+/Rect [417343 -435400 428733 -426400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( in)3570(A macro is)3569 2 431752 u
+(v)488720 v
+(ok)493520 v
+(ed in the)3570 1 503420 u
+(same w)3754 1 72000 446400 t
+( request; a control line be)3753(ay as a)3754 2 103424 u
+(ginning)240627 v
+&13
+(.)274940 v
+&12
+(xx)277440 v
+&11
+(will interpolate the contents of macro)3753 1 290073 u
+&12
+(xx)449791 v
+&11
+( remainder of)3753(. The)6903 2 458671 u
+(the line may contain arbitrarily man)3629 1 72000 458400 t
+(y)221085 v
+&12
+(ar)229714 v
+(guments)238234 v
+&11
+( strings)3629(. The)6779 2 271564 u
+&12
+(x)330321 v
+&11
+(,)334761 v
+&12
+(xx)340890 v
+&11
+(, and)3630 1 349770 u
+&12
+(xxx)373970 v
+&11
+(are interpolated at an)3630 1 390920 u
+(y desired point)3630 1 478300 u
+(with)72000 470400 w
+[ /Dest /Anchor$e$5f$2a
+ /View [/XYZ -4 333.6 0]
+/DEST pdfmark
+&13
+(\017)93555 v
+&20
+(\005)96335 v
+&12
+(x)101335 v
+&11
+(,)105775 v
+&13
+(\017)112050 v
+&20
+(\005)114830 v
+&13
+(\()119830 v
+&12
+(xx)123160 v
+&11
+(, and)3775 1 132040 u
+&13
+(\017)156530 v
+&20
+(\005)159310 v
+&13
+([)164310 v
+&12
+(xxx)167640 v
+&13
+(])180960 v
+&11
+(respecti)188065 v
+(v)218915 v
+(ely; the form)3775 1 223765 u
+&13
+(\017)281750 v
+&20
+(\005)284530 v
+&13
+([)289530 v
+&12
+(xxx)292860 v
+(ar)309510 v
+(g)318030 v
+&11
+(...)326360 v
+&13
+(])333860 v
+&11
+(allo)344295 v
+(ws to specify ar)3775 1 359045 u
+( String)7105(guments to a string.)3775 2 425730 u
+(references and macro in)3330 1 72000 482400 t
+(v)169880 v
+(ocations may be nested.)3330 1 174680 u
+&12
+(7.2.)72000 499200 w
+[ /Dest /Anchor$copy$20mode
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+(Copy mode input interpr)3330 1 88666 u
+(etation.)189396 v
+[ /Dest /Bookmark$61
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&11
+(During the de\003nition and e)3686 1 223362 u
+( by di)3687(xtension of strings and macros \(not)3686 2 335726 u
+(v)507380 v
+(ersion)512230 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [499850 -500200 536670 -491200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\))536670 v
+(the input is read in)3330 1 72000 511200 t
+&12
+(copy mode)3330 1 153090 u
+&11
+( input is copied without interpretation)3330(. The)6480 2 196960 u
+&12
+(e)379800 v
+(xcept)384040 v
+&11
+(that:)408470 v
+6 s
+(\022)108000 527000 w
+10 s
+(The contents of number re)3330 1 113250 528000 t
+(gisters indicated by)3330 1 221950 u
+&13
+(\017n)304710 v
+[ /Dest /Anchor$e$5f
+/Rect [304710 -529000 313050 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are interpolated.)3330 1 316380 u
+6 s
+(\022)108000 539000 w
+10 s
+(Strings indicated by)3330 1 113430 540000 t
+&13
+(\017)198420 v
+&20
+(\005)201200 v
+[ /Dest /Anchor$e$5f$2a
+/Rect [198420 -541000 206200 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are interpolated.)3330 1 209530 u
+6 s
+(\022)108000 551000 w
+10 s
+(Ar)112880 552000 w
+(guments indicated by)3330 1 123250 u
+&13
+(\017$)213790 v
+[ /Dest /Anchor$e$5f$24
+/Rect [213790 -553000 221570 -544000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are interpolated.)3330 1 224900 u
+6 s
+(\022)108000 563000 w
+10 s
+(En)113430 564000 w
+(vironment v)3330 1 124140 u
+(ariables indicated by)3330 1 173330 u
+&13
+(\017V)261080 v
+[ /Dest /Anchor$e$5fV
+/Rect [261080 -565000 271080 -556000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are interpolated.)3330 1 274410 u
+6 s
+(\022)108000 575000 w
+10 s
+(Concealed ne)3330 1 113430 576000 t
+(wlines indicated by)3330 1 168160 u
+&13
+(\017)250920 v
+[ /Dest /Anchor$e$5fnewline
+/Rect [250920 -577000 253700 -568000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(ne)253700 v
+(wline\) are eliminated.)3330 1 266220 u
+6 s
+(\022)108000 587000 w
+10 s
+(Comments indicated by)3330 1 113430 588000 t
+&13
+(\017\020)213420 v
+[ /Dest /Anchor$e$5f$22
+/Rect [213420 -589000 221750 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or)225080 v
+&13
+(\017#)236740 v
+[ /Dest /Anchor$e$5f$23
+/Rect [236740 -589000 244520 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are eliminated.)3330 1 247850 u
+6 s
+(\022)108000 599000 w
+10 @13 f
+(\017t)113430 600000 w
+[ /Dest /Anchor$e$5ft
+/Rect [113430 -601000 119540 -592000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)122870 v
+&13
+(\017a)140640 v
+[ /Dest /Anchor$e$5fa
+/Rect [140640 -601000 148420 -592000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are interpreted as)3330 1 151750 u
+9 s
+(ASCII)225600 v
+10 s
+(horizontal tab and)3330 1 252429 u
+9 s
+(SOH)329629 v
+10 s
+(respecti)350959 v
+(v)381809 v
+(ely \(\0159\).)3330 1 386659 u
+[ /Dest /Anchor$s$5ftabs
+/Rect [402209 -601000 421369 -592000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+6 s
+(\022)108000 611000 w
+10 @13 f
+(\017\017)113430 612000 w
+[ /Dest /Anchor$e$5fe
+/Rect [113430 -613000 118990 -604000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is interpreted as)3330 1 122320 u
+&13
+(\017)190630 v
+&11
+(.)193410 v
+6 s
+(\022)108000 623000 w
+10 @13 f
+(\017.)113430 624000 w
+[ /Dest /Anchor$e$5f$2e
+/Rect [113430 -625000 118710 -616000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is interpreted as)3330 1 122040 u
+(\020)190350 v
+&13
+(.)194430 v
+&11
+(\020.)196930 v
+(These interpretations can be suppressed by prepending a)3714 1 72000 640800 t
+&13
+(\017)309992 v
+&11
+(. F)7044 1 312772 u
+(or e)3714 1 327726 u
+(xample, since)3715 1 344060 u
+&13
+(\017\017)403980 v
+&11
+(maps into a)3715 1 413255 u
+&13
+(\017)465510 v
+&11
+(,)468290 v
+&13
+(\017\017n)474505 v
+&11
+(will cop)3715 1 489340 u
+(y as)3715 1 522955 u
+&13
+(\017n)72000 652800 w
+[ /Dest /Anchor$e$5fn
+/Rect [72000 -653800 80340 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(which will be interpreted as a number re)3330 1 83670 u
+(gister indicator when the macro or string is reread.)3330 1 250680 u
+&12
+(7.3.)72000 669600 w
+(Ar)88666 v
+(guments.)98296 v
+[ /Dest /Bookmark$62
+ /View [/XYZ -4 134.4 0]
+/DEST pdfmark
+&11
+(When a macro is in)3559 1 137385 u
+(v)218981 v
+(ok)223781 v
+( name, the remainder of the line is tak)3560(ed by)3559 2 233681 u
+(en to contain ar)3560 1 416420 u
+(guments. The)6710 1 481350 u
+(ar)72000 681600 w
+(gument separator is the space character)3832 1 79590 u
+(, and ar)3831 1 242740 u
+(guments may be surrounded by double\001quotes to permit imbed\001)3831 1 274932 u
+( P)6947(ded space characters.)3617 2 72000 693600 t
+( ar)3618(airs of double\001quotes may be imbedded in double\001quoted)3617 2 171271 u
+(guments to represent a single)3618 1 418878 u
+(double\001quote character)3775 1 72000 705600 t
+( ar)3775(. The)6925 2 164635 u
+(gument)200975 v
+&13
+(\020)234750 v
+(\020)241133 v
+&11
+(is e)3775 1 250458 u
+( the desired ar)3775( If)7105(xplicitly null.)3775 3 265193 u
+(guments w)3775 1 394148 u
+(on\030)438933 v
+(t)452083 v
+( line, a con\001)3774(\003t on a)3775 2 458638 u
+(cealed ne)3330 1 72000 717600 t
+(wline may be used to continue on the ne)3330 1 110060 u
+( trailing double quote may be omitted.)3330( A)6110(xt line.)3330 3 277640 u
+(\001)294340 760800 w
+(34)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 34 34
+%%Page: 35 35
+save
+mark
+35 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(Similarly)72000 84000 w
+(, ar)4306 1 108580 u
+(guments may be passed to strings with the)4306 1 122976 u
+&13
+(\017)309084 v
+&20
+(\005)311864 v
+&13
+([)316864 v
+&11
+(syntax, separated by spaces, until the ar)4307 1 324501 u
+(gument list)4307 1 493463 u
+(ends with the)3330 1 72000 96000 t
+&13
+(])130320 v
+&11
+(character)136980 v
+( ar)3330(. String)6660 2 173070 u
+(guments are otherwise handled e)3330 1 217600 u
+(xactly lik)3330 1 351850 u
+(e macro ar)3330 1 390080 u
+(guments.)433760 v
+(When a macro is in)4988 1 72000 112800 t
+(v)159312 v
+(ok)164112 v
+(ed the)4988 1 174012 u
+&12
+(input le)4988 1 205648 u
+(vel)238266 v
+&11
+(is)254914 v
+&12
+(pushed down)4988 1 266572 u
+&11
+(and an)4988 1 326548 u
+(y ar)4989 1 355266 u
+(guments a)4989 1 372845 u
+(v)415964 v
+(ailable at the pre)4989 1 420714 u
+(vious le)4989 1 494301 u
+(v)527930 v
+(el)532780 v
+(become una)3916 1 72000 124800 t
+(v)121256 v
+( completely read and the pre)3915(ailable until the macro is)3916 2 126006 u
+(vious le)3915 1 350955 u
+(v)383510 v
+( macro\030)3915( A)6695(el is restored.)3915 3 388360 u
+(s o)3915 1 490390 u
+(wn ar)3915 1 502945 u
+(gu\001)526670 v
+(ments can be interpolated at)4027 1 72000 136800 t
+&12
+(any)194335 v
+&11
+(point within the macro with)4027 1 212802 u
+[ /Dest /Anchor$e$5f$24
+ /View [/XYZ -4 667.2 0]
+/DEST pdfmark
+&13
+(\017$)334047 v
+&12
+(n)341827 v
+&11
+(,)346827 v
+&13
+(\017$\()353354 v
+&12
+(nn)364464 v
+&11
+(, or)4027 1 374464 u
+&13
+(\017$[)393348 v
+&12
+(nnn)404458 v
+&13
+(])419458 v
+&11
+(, which interpolates the)4028 1 422788 u
+&12
+(n)524720 v
+&11
+(th,)529720 v
+&12
+(nn)72000 148800 w
+&11
+(th, or)3939 1 82000 u
+&12
+(nnn)108488 v
+&11
+(th ar)3939 1 123488 u
+(gument, respecti)3939 1 142797 u
+(v)210086 v
+(ely)214936 v
+( an in)3939(. If)7269 2 226506 u
+(v)267633 v
+(ok)272433 v
+(ed ar)3939 1 282333 u
+(gument doesn\030)3939 1 303302 u
+(t e)3939 1 363721 u
+( F)7268( string results.)3938(xist, a null)3939 3 374730 u
+(or e)3938 1 491502 u
+(xample,)508060 v
+(the macro)3330 1 72000 160800 t
+&12
+(xx)115870 v
+&11
+(may be de\003ned by)3330 1 128080 u
+&13
+(.de xx)3330 1 108000 177600 t
+(\017\020begin de\003nition)3330 1 162000 u
+(T)108000 189600 w
+(oday is)3330 1 113750 u
+(\017\017$1 the)3330 1 147640 u
+(\017\017$2.)183190 v
+(..)108000 201600 w
+(\017\020end de\003nition)3330 1 162000 u
+&11
+(and called by)3330 1 72000 218400 t
+&13
+(.xx Monday 14th)3330 1 108000 235200 t
+&11
+(to produce the te)3330 1 72000 252000 t
+(xt)141270 v
+&13
+(T)108000 268800 w
+(oday is Monday the 14th.)3330 1 113750 u
+&11
+(Note that the)3330 1 72000 285600 t
+&13
+(\017$)128650 v
+&11
+(w)139760 v
+(as concealed in the de\003nition with a prepended)3330 1 146880 u
+&13
+(\017)344040 v
+&11
+(.)346820 v
+(The escape sequence)4201 1 72000 302400 t
+[ /Dest /Anchor$e$5f$24$2a
+ /View [/XYZ -4 501.6 0]
+/DEST pdfmark
+&13
+(\017$)163453 v
+&20
+(\005)171233 v
+&11
+(interpolates all ar)4201 1 180434 u
+(guments to a macro, separated by spaces;)4201 1 253086 u
+[ /Dest /Anchor$e$5f$24$40
+ /View [/XYZ -4 501.6 0]
+/DEST pdfmark
+&13
+(\017$@)432734 v
+&11
+(interpolates all ar)4202 1 454016 u
+(gu\001)526670 v
+( name of the current macro or string is)3870( The)7021
+(ments, each one surrounded by double quotes, separated by spaces.)3871 3 72000 314400 t
+(a)72000 326400 w
+(v)76240 v
+(ailable with the)3330 1 80990 u
+[ /Dest /Anchor$e$5f$240
+ /View [/XYZ -4 477.6 0]
+/DEST pdfmark
+&13
+(\017$0)147640 v
+&11
+( number of currently a)3330( The)6480(escape sequence.)3330 3 163750 u
+(v)347450 v
+(ailable ar)3330 1 352200 u
+(guments is in the)3330 1 389780 u
+[ /Dest /Anchor$n$5f$2e$24
+ /View [/XYZ -4 477.6 0]
+/DEST pdfmark
+&13
+(.$)463660 v
+&11
+(re)474490 v
+(gister)482110 v
+(.)503780 v
+(No ar)3330 1 72000 343200 t
+(guments are a)3330 1 95140 u
+(v)152140 v
+(ailable at the top \(non\001macro\) le)3330 1 156890 u
+(v)289370 v
+(el or within a trap\001in)3330 1 294220 u
+(v)379350 v
+(ok)384150 v
+(ed macro.)3330 1 394050 u
+(Ar)72000 360000 w
+(guments are copied in)3875 1 82370 u
+&12
+(copy mode)3876 1 178410 u
+[ /Dest /Anchor$copy$20mode
+/Rect [178410 -361000 222826 -352000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(onto a stack where the)3876 1 226702 u
+(y are a)3876 1 321476 u
+(v)350678 v
+( is advisable to con\001)3876( It)7206(ailable for reference.)3876 3 355428 u
+(ceal string references \(with an e)3330 1 72000 372000 t
+(xtra)203450 v
+&13
+(\017)222330 v
+&11
+(\) to delay interpolation until ar)3330 1 226776 u
+(gument reference time.)3330 1 353236 u
+&12
+(7.4.)72000 388800 w
+[ /Dest /Anchor$c$5fdiversion
+ /View [/XYZ -4 415.2 0]
+/DEST pdfmark
+(Diver)88666 v
+(sions.)111336 v
+[ /Dest /Bookmark$63
+ /View [/XYZ -4 415.2 0]
+/DEST pdfmark
+&11
+(Processed output may be di)4664 1 139060 u
+(v)257456 v
+( as footnote processing \(see)4665(erted into a macro for purposes such)4664 2 262306 u
+[ /Dest /Anchor$T5
+/Rect [523900 -389800 540000 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(T)72000 400800 w
+(utorial)77660 v
+(\015T5\))107917 v
+[ /Dest /Anchor$T5
+/Rect [72000 -401800 127357 -392800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(or determining the horizontal and v)4147 1 131504 u
+( of some te)4146(ertical size)4147 2 280959 u
+(xt for conditional changing of pages or)4146 1 374594 u
+( single di)4384(columns. A)7164 2 72000 412800 t
+(v)162962 v
+( v)4385(ersion trap may be set at a speci\003ed)4384 2 167812 u
+( number re)4385( The)7535(ertical position.)4385 3 332705 u
+(gisters)466835 v
+[ /Dest /Anchor$n$5fdn
+ /View [/XYZ -4 391.2 0]
+/DEST pdfmark
+&13
+(dn)497330 v
+&11
+(and)512835 v
+[ /Dest /Anchor$n$5fdl
+ /View [/XYZ -4 391.2 0]
+/DEST pdfmark
+&13
+(dl)531660 v
+&11
+(respecti)72000 424800 w
+(v)102850 v
+(ely contain the v)3925 1 107700 u
+( of the most recently ended di)3924(ertical and horizontal size)3925 2 178205 u
+(v)412674 v
+( te)3924(ersion. Processed)7254 2 417524 u
+(xt that is)3924 1 502702 u
+(di)72000 436800 w
+(v)79530 v
+(erted into a macro retains the v)4248 1 84380 u
+(ertical size of each of its lines when reread in)4248 1 218578 u
+&12
+(no\003ll)419338 v
+&11
+(mode re)4248 1 444146 u
+(g)478234 v
+(ardless of the)4248 1 483184 u
+(current)72000 448800 w
+&12
+(V)104702 v
+&11
+( \()4382(. Constant\001spaced)7712 2 110812 u
+&13
+(cs)194836 v
+[ /Dest /Anchor$cs
+/Rect [194836 -449800 203166 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\) or emboldened \()4382 1 203166 u
+&13
+(bd)280182 v
+[ /Dest /Anchor$bd
+/Rect [280182 -449800 291302 -440800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\) te)4382 1 291302 u
+(xt that is di)4382 1 306084 u
+(v)356210 v
+( correctly only if these)4381(erted can be reread)4382 2 361060 u
+(modes are ag)3597 1 72000 460800 t
+(ain or still in ef)3597 1 126904 u
+( w)3598( One)6928(fect at reread time.)3598 3 192152 u
+(ay to do this is to imbed in the di)3598 1 304722 u
+(v)445754 v
+(ersion the appropriate)3598 1 450604 u
+&13
+(cs)72000 472800 w
+[ /Dest /Anchor$cs
+/Rect [72000 -473800 80330 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or)83660 v
+&13
+(bd)95320 v
+&11
+(requests)109770 v
+[ /Dest /Anchor$bd
+/Rect [95320 -473800 142540 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(with the)3330 1 145870 u
+&12
+(tr)182530 v
+(anspar)189050 v
+(ent)216460 v
+&11
+(mechanism described in)3330 1 232010 u
+(\01510.6.)333650 v
+[ /Dest /Anchor$c$5ftransparent
+/Rect [182530 -473800 358650 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Di)72000 489600 w
+(v)81750 v
+(ersions may be nested and certain parameters and re)3508 1 86600 u
+(gisters are associated with the current di)3508 1 302784 u
+(v)469102 v
+(ersion le)3509 1 473952 u
+(v)508871 v
+(el \(the)3509 1 513721 u
+(top non\001di)3394 1 72000 501600 t
+(v)114034 v
+(ersion le)3394 1 118884 u
+(v)153688 v
+(el may be thought of as the 0th di)3394 1 158538 u
+(v)299320 v
+(ersion le)3394 1 304170 u
+(v)338974 v
+( are the di)3394(el\). These)6544 2 343824 u
+(v)429440 v
+( and associated)3393(ersion trap)3394 2 434290 u
+(macro, no\001space mode, the internally\001sa)3524 1 72000 513600 t
+(v)235856 v
+(ed mark)3524 1 240706 u
+(ed place \(see)3524 1 274120 u
+&13
+(mk)331332 v
+[ /Dest /Anchor$mk
+/Rect [331332 -514600 345222 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)348746 v
+&13
+(rt)366710 v
+[ /Dest /Anchor$rt
+/Rect [366710 -514600 374480 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\), the current v)3525 1 374480 u
+(ertical place \()3525 1 436275 u
+[ /Dest /Anchor$n$5f$2ed
+ /View [/XYZ -4 290.4 0]
+/DEST pdfmark
+&13
+(.d)492745 v
+&11
+(re)504330 v
+(gister\),)511950 v
+(the current high\001w)3534 1 72000 525600 t
+(ater te)3533 1 147838 u
+(xt base\001line \()3533 1 173431 u
+&13
+(.h)227707 v
+&11
+(re)239300 v
+(gister\))246920 v
+[ /Dest /Anchor$n$5f$2eh
+/Rect [224377 -526600 272470 -517600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, and the current di)3533 1 272470 u
+(v)351612 v
+(ersion name \()3533 1 356462 u
+[ /Dest /Anchor$n$5f$2ez
+ /View [/XYZ -4 278.4 0]
+/DEST pdfmark
+&13
+(.z)412958 v
+&11
+(re)423431 v
+( current di)3533(gister\). The)6683 2 431051 u
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+(sion le)3330 1 72000 537600 t
+(v)98970 v
+(el is a)3330 1 103820 u
+(v)128610 v
+(ailable in the)3330 1 133360 u
+[ /Dest /Anchor$n$5f$2edilev
+ /View [/XYZ -4 266.4 0]
+/DEST pdfmark
+&13
+(.dile)190010 v
+(v)207920 v
+&11
+(re)216250 v
+(gister)223870 v
+(.)245540 v
+(A pre)3819 1 72000 554400 t
+(vious partially)3819 1 95559 u
+(\003lled line is included when a di)3819 1 158197 u
+(v)291411 v
+(ersion be)3819 1 296261 u
+( partially)3820(gins. A)6600 2 333810 u
+(\003lled line at the end of a di)3820 1 407770 u
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+( included b)3931(sion is not)3932 2 72000 566400 t
+(ut becomes part of the surrounding di)3931 1 163086 u
+(v)321402 v
+(ersion le)3931 1 326252 u
+(v)361593 v
+(el. W)6961 1 366443 u
+(ith the)3931 1 392164 u
+&13
+(box)422806 v
+[ /Dest /Anchor$box
+/Rect [422806 -567400 438366 -558400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request, a pre)3931 1 442297 u
+(vious par)3931 1 498499 u
+(\001)536670 v
+(tially)72000 578400 w
+( the end of the di)3782( At)6562(\003lled line is not included.)3782 3 96342 u
+(v)293632 v
+(ersion, this partially)3782 1 298482 u
+(\003lled line is restored at the surround\001)3782 1 384548 u
+(ing le)4245 1 72000 590400 t
+(v)95995 v
+(el, discarding an)4245 1 100845 u
+(y partially)4245 1 170005 u
+(\003lled line from within the di)4245 1 216825 u
+(v)338360 v
+( beha)4245(ersion. The)7395 2 343210 u
+(vior is otherwise the same as)4244 1 416020 u
+(with a standard di)3330 1 72000 602400 t
+(v)145620 v
+(ersion.)150470 v
+&12
+(7.5.)72000 619200 w
+[ /Dest /Anchor$c$5ftrap
+ /View [/XYZ -4 184.8 0]
+/DEST pdfmark
+(T)88666 v
+(r)93676 v
+(aps.)97416 v
+[ /Dest /Bookmark$64
+ /View [/XYZ -4 184.8 0]
+/DEST pdfmark
+&11
+(Fi)118568 v
+(v)126658 v
+(e types of trap mechanisms are a)4762 1 131508 u
+(v)275400 v
+( output\001line traps, a single di)4763(ailable\006page traps,)4762 2 280150 u
+(v)487897 v
+(ersion trap,)4763 1 492747 u
+(multiple di)4244 1 72000 631200 t
+(v)117114 v
+( Macro\001in)7573( trap.)4243(ersion traps, and an input\001line\001count)4244 3 121964 u
+(v)340316 v
+(ocation traps may be planted using)4243 1 345116 u
+&13
+(wh)497224 v
+[ /Dest /Anchor$wh
+/Rect [497224 -632200 510004 -623200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(at an)4243 1 514247 u
+(y)535000 v
+( trap position may be changed using)3485( This)6634
+(page position including the top.)3484 3 72000 643200 t
+&13
+(ch)380565 v
+&11
+(.)390565 v
+[ /Dest /Anchor$ch
+/Rect [380565 -644200 393065 -635200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(T)396370 v
+(rap positions at or belo)3485 1 402130 u
+(w the bot\001)3485 1 497480 u
+(tom of the page ha)3873 1 72000 655200 t
+(v)151722 v
+(e no ef)3873 1 156572 u
+( until mo)3872(fect unless or)3873 2 186278 u
+(v)281058 v
+(ed to within the page or rendered ef)3872 1 285908 u
+(fecti)437722 v
+(v)455242 v
+(e by an increase in)3872 1 460092 u
+( T)6581(page length.)3431 2 72000 667200 t
+(w)133702 v
+(o traps may be planted at the)3431 1 140822 u
+&12
+(same)264820 v
+&11
+(position only by)3432 1 288802 u
+(\003rst planting them at dif)3432 1 359108 u
+(ferent positions and)3432 1 459256 u
+(then mo)3368 1 72000 679200 t
+( the traps; the)3367(ving one of)3368 2 105218 u
+(\003rst planted trap will conceal the second unless and until the)3367 1 212632 u
+(\003rst one is mo)3367 1 466309 u
+(v)525710 v
+(ed)530560 v
+(\(see T)3187 1 72000 691200 t
+(utorial Examples)3367 1 96947 u
+(\015T5\).)169231 v
+[ /Dest /Anchor$T5
+/Rect [72000 -692200 191171 -683200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(If the)3367 1 194538 u
+(\003rst one is mo)3367 1 220152 u
+(v)279553 v
+(ed back, it ag)3367 1 284403 u
+( macro associ\001)3368( The)6518(ain conceals the second trap.)3368 3 340274 u
+(ated with a page trap is automatically in)3369 1 72000 703200 t
+(v)237383 v
+(ok)242183 v
+( of te)3368(ed when a line)3369 2 252083 u
+(xt is output whose v)3368 1 334866 u
+(ertical size)3368 1 418748 u
+&12
+(r)466024 v
+(eac)469544 v
+(hes)483274 v
+&11
+(or)499972 v
+&12
+(sweeps)511670 v
+(past)72000 715200 w
+&11
+( the bottom of a page springs the top\001of\001page trap, if an)4261
+( Reaching)7591(the trap position.)4261 3 92931 u
+(y)449605 v
+(, pro)4261 1 453955 u
+( a)4262(vided there is)4261 2 473896 u
+(ne)72000 727200 w
+( distance to the ne)3770( The)6920(xt page.)3770 3 81290 u
+(xt trap position is a)3770 1 213830 u
+(v)295380 v
+(ailable in the)3770 1 300130 u
+[ /Dest /Anchor$n$5f$2et
+ /View [/XYZ -4 76.8 0]
+/DEST pdfmark
+&13
+(.t)358100 v
+&11
+(re)367700 v
+(gister; if there are no traps between the)3770 1 375320 u
+(\001)294340 760800 w
+(35)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 35 35
+%%Page: 36 36
+save
+mark
+36 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(current position and the bottom of the page, the distance returned is the\
+ distance to the page bottom.)3330 1 72000 84000 t
+[ /Dest /Anchor$s$5folt
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+(An output\001line trap is planted using the escape sequence)4508 1 72000 100800 t
+[ /Dest /Anchor$e$5fP
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(\017P)317532 v
+&12
+(x)326422 v
+&11
+(,)330862 v
+&13
+(\017P\()337870 v
+&12
+(xx)350090 v
+&11
+(, or)4508 1 358970 u
+&13
+(\017P[)378816 v
+&12
+(xxx)391036 v
+&13
+(])404356 v
+&11
+( is con)4509(. It)7839 2 407686 u
+(v)453863 v
+(erted to an internal)4509 1 458713 u
+(character code that becomes part of the current te)4558 1 72000 112800 t
+( containing it has been ph)4557( the line)4558(xt. When)7588 3 285464 u
+(ysically output,)4557 1 476273 u
+(the macro)4341 1 72000 124800 t
+&12
+(x)117892 v
+&11
+(,)122332 v
+&12
+(xx)129173 v
+&11
+(, or)4341 1 138053 u
+&12
+(xxx)157565 v
+&11
+(, respecti)4341 1 170885 u
+(v)208576 v
+(ely)213426 v
+(, is in)4341 1 224996 u
+(v)250228 v
+(ok)255028 v
+( line may contain more than one output\001line trap; the)4342(ed. A)7122 2 264928 u
+(y are)4342 1 518448 u
+(in)72000 136800 w
+(v)79380 v
+(ok)84180 v
+( the)3933(ed in the order)3934 2 94080 u
+(y appear)3933 1 172425 u
+( a page trap becomes ef)3933(. If)7263 2 207458 u
+(fecti)324926 v
+(v)342446 v
+(e at the same point, it is in)3933 1 347296 u
+(v)461927 v
+(ok)466727 v
+(ed immediately)3933 1 476627 u
+( traps are not in)3993( Output\001line)7323
+(after all output\001line traps.)3993 3 72000 148800 t
+(v)299344 v
+(ok)304144 v
+(ed at the time the)3993 1 314044 u
+(y become part of a di)3994 1 388746 u
+(v)480666 v
+(ersion. The)7144 1 485516 u
+(y)535000 v
+(can thus be used to determine e.g. the ef)3486 1 72000 160800 t
+(fecti)240158 v
+(v)257678 v
+(e page number of the surrounding te)3486 1 262528 u
+(xt, e)3486 1 413264 u
+(v)431220 v
+(en when it had originally)3485 1 436070 u
+(been di)3330 1 72000 172800 t
+(v)101740 v
+(erted on another page.)3330 1 106590 u
+(A single macro\001in)3969 1 72000 189600 t
+(v)146748 v
+(ocation trap ef)3969 1 151548 u
+(fecti)211996 v
+(v)229516 v
+(e in the current di)3969 1 234366 u
+(v)310532 v
+( planted using)3970(ersion may be)3969 2 315382 u
+&13
+(dt)437440 v
+&11
+(.)446330 v
+[ /Dest /Anchor$dt
+/Rect [437440 -190600 448830 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(If another)3970 1 452800 u
+&13
+(dt)497390 v
+&11
+(follo)510250 v
+(ws)528890 v
+(in the same di)3640 1 72000 201600 t
+(v)131000 v
+( traps may be planted in the current di)3639( Multiple)6969
+(ersion, the trap position is changed.)3640 3 135850 u
+(v)485401 v
+(ersion using)3639 1 490251 u
+&13
+(d)72000 213600 w
+(wh)77410 v
+[ /Dest /Anchor$dwh
+/Rect [72000 -214600 90190 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)94374 v
+&13
+(dch)112998 v
+[ /Dest /Anchor$dch
+/Rect [112998 -214600 128558 -205600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(. The)7334 1 128558 u
+&13
+(.t)158126 v
+&11
+(re)168140 v
+(gister w)4184 1 175760 u
+(orks in a di)4184 1 209284 u
+(v)258806 v
+(ersion; if there is no subsequent trap a)4184 1 263656 u
+&12
+(lar)431548 v
+(g)442848 v
+(e)447748 v
+&11
+(distance is returned.)4184 1 456372 u
+(F)72000 225600 w
+(or a description of input\001line\001count traps, see)3330 1 77410 u
+&13
+(it)265410 v
+&11
+(belo)274850 v
+(w)291820 v
+(.)298390 v
+[ /Dest /Anchor$it
+/Rect [265410 -226600 300890 -217600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(7.6.)72000 242400 w
+[ /Dest /Anchor$c$5frecursion
+ /View [/XYZ -4 561.6 0]
+/DEST pdfmark
+(Recur)88666 v
+(sion.)112446 v
+[ /Dest /Bookmark$65
+ /View [/XYZ -4 561.6 0]
+/DEST pdfmark
+(tr)135539 v
+(of)141759 v
+(f)149359 v
+&11
+(macros can be in)3923 1 156062 u
+(v)227411 v
+(ok)232211 v
+(ed recursi)3923 1 242111 u
+(v)282434 v
+(ely)287284 v
+( general, return information and ar)3923(. In)7253 2 298854 u
+(guments for macro)3924 1 461612 u
+(calls are stored as)3775 1 72000 254400 t
+&12
+(fr)150410 v
+(ames)156930 v
+&11
+(on a)3775 1 181255 u
+&12
+(stac)203245 v
+(k)219155 v
+&11
+( of the stack is limited by a)3774( the size)3775(. Since)7105 3 223595 u
+(v)407508 v
+(ailable memory)3774 1 412258 u
+(, recursi)3774 1 475372 u
+(v)508606 v
+(e calls)3774 1 513456 u
+( T)6723( to arbitrary depths.)3573(cannot descend)3572 3 72000 266400 t
+(o a)3573 1 228014 u
+(v)240827 v
+(oid consumption of lar)3573 1 245627 u
+(ge amounts of memory in case of endless loops,)3573 1 339496 u
+(the depth is deliberately restricted further; the)3330 1 72000 278400 t
+&13
+(r)263050 v
+(ecursionlimit)267310 v
+[ /Dest /Anchor$recursionlimit
+/Rect [263050 -279400 323420 -270400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request allo)3330 1 326750 u
+(ws to adjust that restriction.)3330 1 373710 u
+(A macro call can be)3742 1 72000 295200 t
+&12
+(tail\001r)160680 v
+(ecur)180870 v
+(sive)198540 v
+&11
+( the re\001in)3743(, that is,)3742 2 214090 u
+(v)286430 v
+(ocation of the current macro can occur in its last statement.)3743 1 291230 u
+&12
+(tr)72000 307200 w
+(of)78220 v
+(f)85820 v
+&11
+( instance with that of the follo)3629
+(can then replace the stack frame of the current macro)3630 2 92230 u
+(wing one, and the stack)3629 1 441334 u
+( depth of tail\001recursi)3595( The)6745(size remains constant.)3595 3 72000 319200 t
+(v)268930 v
+(e macro calls is thus principally unlimited, and is not arti\003cially)3595 1 273780 u
+(restricted by def)4736 1 72000 331200 t
+(ault. Since)8066 1 141352 u
+&12
+(tr)193874 v
+(of)200094 v
+(f)207694 v
+&11
+( e)4735(cannot determine the control character at the time the macro is)4736 2 215210 u
+(x)496535 v
+(ecuted in)4735 1 501385 u
+(adv)72000 343200 w
+(ance, the recursi)3752 1 86190 u
+(v)153694 v
+(e macro call must not only be the last statement of a macro, b)3752 1 158544 u
+(ut must actually occur in the)3752 1 420140 u
+(last line for tail\001recursion elimination to become ef)4041 1 72000 355200 t
+(fecti)286117 v
+(v)303637 v
+( be pre\003x)4040(e, although it may)4041 2 308487 u
+(ed by)4040 1 426030 u
+&13
+(.if)453550 v
+[ /Dest /Anchor$if
+/Rect [453550 -356200 462160 -347200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or)466200 v
+&13
+(.el)478570 v
+[ /Dest /Anchor$el
+/Rect [478570 -356200 488290 -347200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or follo)4040 1 492330 u
+(wed)523340 v
+(by)72000 367200 w
+&13
+(\017})85330 v
+[ /Dest /Anchor$e$5f$7d
+/Rect [85330 -368200 92050 -359200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)92050 v
+&12
+(7.7.)72000 384000 w
+[ /Dest /Anchor$c$5flocal$5fstrings
+ /View [/XYZ -4 420 0]
+/DEST pdfmark
+(Local strings.)3330 1 88666 u
+[ /Dest /Bookmark$66
+ /View [/XYZ -4 420 0]
+/DEST pdfmark
+&11
+(Strings, macros, and di)3819 1 148325 u
+(v)243972 v
+( de\003ned, normally accessible from an)3820(ersions are, once)3819 2 248822 u
+(y part of a)3820 1 474800 u
+&12
+(tr)523400 v
+(of)529620 v
+(f)537220 v
+&11
+( de\003ned with)5082( strings,)5083(program. Local)8413 3 72000 396000 t
+&13
+(lds)236282 v
+&11
+(, are accessible only within the currently e)5082 1 248512 u
+(x)435286 v
+(ecuting macro instance,)5082 1 440136 u
+(and are not inherited to macros in)4416 1 72000 408000 t
+(v)217516 v
+(ok)222316 v
+( the currently e)4416( When)7446(ed from them.)4416 3 232216 u
+(x)389612 v
+(ecuting macro terminates, the)4417 1 394462 u
+(y are)4417 1 518373 u
+(automatically deleted, and all associated storage is reclaimed.)3330 1 72000 420000 t
+(As long as a local string named)3778 1 72000 436800 t
+&12
+(xx)208986 v
+&11
+(e)221644 v
+(xists, an)3778 1 225934 u
+(y reference with)3778 1 259842 u
+&13
+(\017\()331146 v
+&12
+(xx)337256 v
+&11
+(or)349914 v
+&13
+(\017[)362022 v
+&12
+(xx)368132 v
+&13
+(])377012 v
+&11
+(retrie)384120 v
+(v)404970 v
+(es the v)3778 1 409820 u
+( local string;)3779(alue of the)3778 2 442676 u
+(the global string)5159 1 72000 448800 t
+&12
+(xx)147477 v
+&11
+(, if an)5159 1 156357 u
+(y)184575 v
+( to)5159( Calls)8489(, becomes inaccessible by this method.)5159 3 188925 u
+&13
+(as)404627 v
+&11
+(,)413517 v
+&13
+(substring)421176 v
+&11
+(,)461186 v
+&13
+(index)468844 v
+&11
+(, and)5158 1 492184 u
+&13
+(chop)519440 v
+&11
+(modify the local string.)3517 1 72000 460800 t
+&13
+(watch)175228 v
+[ /Dest /Anchor$watch
+/Rect [175228 -461800 200778 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( ar)3518(with the name of a local string as)3517 2 204295 u
+(gument noti\003es on modi\003cations of the local)3518 1 355002 u
+(string.)72000 472800 w
+&13
+(rm)104428 v
+&11
+(remo)121016 v
+(v)141416 v
+(es a local string and possibly mak)3818 1 146266 u
+(es a global string visible ag)3818 1 289064 u
+(ain,)404764 v
+&13
+(r)423302 v
+(n)427592 v
+&11
+( string to)3817(renames a local)3818 2 436970 u
+(another local string, and)3330 1 72000 484800 t
+&13
+(als)174470 v
+&11
+(creates a local alias to a local string.)3330 1 189470 u
+(It is not allo)3929 1 72000 501600 t
+(wed to de\003ne local macros or di)3929 1 124097 u
+(v)260731 v
+( to)3930(ersions. Calls)7259 2 265581 u
+&12
+(.xx)339870 v
+&11
+(or)355180 v
+&13
+(\013)367440 v
+&12
+(xx)370770 v
+&11
+(reference a global macro or di)3930 1 383580 u
+(v)510710 v
+(ersion)515560 v
+(e)72000 513600 w
+(v)76190 v
+(en if a local string)3330 1 81040 u
+&12
+(xx)159900 v
+&11
+(e)172110 v
+(xists. T)6660 1 176400 u
+(raps)209660 v
+[ /Dest /Anchor$c$5ftrap
+/Rect [203900 -514600 226320 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and the)3330 1 229650 u
+&13
+(\017Y)262970 v
+[ /Dest /Anchor$e$5fY
+/Rect [262970 -514600 272970 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(escape sequence al)3330 1 276300 u
+(w)353380 v
+(ays operate on global macros or di)3330 1 360500 u
+(v)502980 v
+(ersions.)507830 v
+&14
+(Request)72000 530400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 542400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$de
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5f$2e
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+&13
+(.de)72000 559200 w
+&12
+(xx)87830 v
+(yy)100040 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(De\003ne or rede\003ne the macro)4584 1 280800 u
+&12
+(xx)408130 v
+&11
+( contents of the macro)4584(. The)7734 2 417010 u
+(be)280800 571200 w
+( the ne)4629(gin on)4630 2 290090 u
+( lines are copied in)4629( Input)7959(xt input line.)4629 3 348268 u
+&12
+(copy)521120 v
+[ /Dest /Anchor$copy$20mode
+/Rect [521120 -572200 540000 -563200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(mode)280800 583200 w
+[ /Dest /Anchor$copy$20mode
+/Rect [280800 -584200 302460 -575200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( terminated by a line be)5546(until the de\003nition is)5545 2 308005 u
+(ginning)509440 v
+(with)280800 595200 w
+&13
+(.)303424 v
+&12
+(yy)305924 v
+&11
+(, whereupon the macro)4844 1 314804 u
+&12
+(yy)418320 v
+&11
+( the absence)4844( In)8174(is called.)4844 3 432044 u
+(of)280800 607200 w
+&12
+(yy)294372 v
+&11
+(, the de\003nition is terminated by a line be)5242 1 303252 u
+(ginning with)5242 1 486418 u
+(\020)280800 619200 w
+&13
+(..)284880 v
+&11
+( macro may contain)3871(\020. A)6652 2 289880 u
+&13
+(de)397466 v
+&11
+(requests pro)3871 1 411337 u
+(vided the terminat\001)3871 1 461158 u
+(ing macros dif)3523 1 280800 631200 t
+( terminator is con\001)3524(fer or the contained de\003nition)3523 2 340366 u
+(cealed.)280800 643200 w
+(\020)315720 v
+&13
+(..)319800 v
+&11
+( be concealed as)3549(\020 can)3550 2 324800 u
+&13
+(\017\017..)418256 v
+&11
+(which will cop)3549 1 432365 u
+(y as)3549 1 493803 u
+&13
+(\017..)514231 v
+&11
+(and)525560 v
+(be reread as)3330 1 280800 655200 t
+(\020)333540 v
+&13
+(..)337620 v
+&11
+(\020.)342620 v
+[ /Dest /Anchor$am
+ /View [/XYZ -4 132 0]
+/DEST pdfmark
+&13
+(.am)72000 672000 w
+&12
+(xx)91160 v
+(yy)103370 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(Append to macro \(append v)3330 1 280800 u
+(ersion of)3330 1 395610 u
+&13
+(de)435040 v
+&11
+(\).)445040 v
+[ /Dest /Anchor$ds
+ /View [/XYZ -4 115.2 0]
+/DEST pdfmark
+&13
+(.ds)72000 688800 w
+&12
+(xx)87280 v
+(string)99490 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(De\003ne a string)4052 1 280800 u
+&12
+(xx)346836 v
+&11
+(containing)359768 v
+&12
+(string)406041 v
+&11
+(. An)6833 1 429381 u
+(y initial double\001quote)4053 1 450784 u
+(in)280800 700800 w
+&12
+(string)291910 v
+&11
+(is stripped of)3330 1 318580 u
+(f to permit initial blanks.)3330 1 372210 u
+[ /Dest /Anchor$as
+ /View [/XYZ -4 86.4 0]
+/DEST pdfmark
+&13
+(.as)72000 717600 w
+&12
+(xx)86720 v
+(string)98930 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Append)280800 v
+&12
+(string)315790 v
+&11
+(to string)3330 1 342460 u
+&12
+(xx)379680 v
+&11
+(\(append v)3330 1 391890 u
+(ersion of)3330 1 432280 u
+&13
+(ds)471710 v
+&11
+(\).)481160 v
+(\001)294340 760800 w
+(36)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 36 36
+%%Page: 37 37
+save
+mark
+37 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$lds
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.lds)72000 84000 w
+&12
+(xx)90060 v
+(string)102270 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(De\003ne local string)4752 1 280800 u
+&12
+(xx)363936 v
+&11
+(containing)377568 v
+&12
+(string)424540 v
+&11
+(. Equi)8082 1 447880 u
+(v)477102 v
+(alent to)4752 1 481852 u
+&13
+(ds)518577 v
+&11
+(at)532780 v
+(the top non\001macro le)3330 1 280800 96000 t
+(v)366080 v
+(el.)370930 v
+[ /Dest /Anchor$substring
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.substring)72000 112800 w
+&12
+(xx)117840 v
+(N)130050 v
+&11
+([)140050 v
+&12
+(M)143380 v
+&11
+(])151710 v
+&12
+(M)187200 v
+&20
+(\010)195530 v
+(\007)202686 v
+&11
+(1)208176 v
+(\012)244800 v
+(Replace string)4562 1 280800 u
+&12
+(xx)344914 v
+&11
+(by its substring between indices)4562 1 358356 u
+&12
+(N)498936 v
+&11
+(and)510168 v
+&12
+(M)529170 v
+&11
+(.)537500 v
+&12
+(N)280800 124800 w
+&11
+(and)292327 v
+&12
+(M)311624 v
+&11
+( Ne)8187(start at 0.)4857 2 324811 u
+(g)386162 v
+(ati)391112 v
+(v)400862 v
+(e v)4857 1 405712 u
+(alues are interpreted relati)4857 1 419759 u
+(v)530710 v
+(e)535560 v
+(to the end of the string;)4617 1 280800 136800 t
+&20
+(\007)389052 v
+&11
+(1 implies the last character of the)4618 1 394542 u
+(string.)280800 148800 w
+[ /Dest /Anchor$length
+ /View [/XYZ -4 638.4 0]
+/DEST pdfmark
+&13
+(.length)72000 165600 w
+&12
+(R)104500 v
+(string)113940 v
+(R)187200 v
+&11
+(set)196640 v
+(to)211080 v
+(0)222190 v
+(\012)244800 v
+(Store the length of)3813 1 280800 u
+&12
+(string)362712 v
+&11
+(in re)3813 1 389865 u
+(gister)409078 v
+&12
+(R)435111 v
+&11
+(.)441221 v
+&12
+(string)450864 v
+&11
+(is read in)3814 1 478018 u
+&12
+(copy)521120 v
+[ /Dest /Anchor$copy$20mode
+/Rect [521120 -166600 540000 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(mode)280800 177600 w
+(.)302310 v
+[ /Dest /Anchor$copy$20mode
+/Rect [280800 -178600 304810 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$index
+ /View [/XYZ -4 609.6 0]
+/DEST pdfmark
+&13
+(.index)72000 194400 w
+&12
+(R)101170 v
+(xx)110610 v
+(string)122820 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Store the position of the)5535 1 280800 u
+( of)5536(\003rst occurence)5535 2 394585 u
+&12
+(string)475612 v
+&11
+(in)504488 v
+&12
+(xx)517804 v
+&11
+(in)532220 v
+(re)280800 206400 w
+(gister)288420 v
+&12
+(R)314914 v
+&11
+( no occurence is)4274( If)7604( are counted from 0.)4274(. Positions)7604 4 321024 u
+(found,)280800 218400 w
+&12
+(R)309960 v
+&11
+(is set to)3330 1 319400 u
+(\0121.)354950 v
+&12
+(string)374110 v
+&11
+(is read in)3330 1 400780 u
+&12
+(copy mode)3330 1 442430 u
+(.)486150 v
+[ /Dest /Anchor$copy$20mode
+/Rect [442430 -219400 488650 -210400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$chop
+ /View [/XYZ -4 568.8 0]
+/DEST pdfmark
+&13
+(.chop)72000 235200 w
+&12
+(xx)98390 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e the last character of the macro, string, or di)3330 1 309390 u
+(v)495730 v
+(ersion)500580 v
+&12
+(xx)528350 v
+&11
+(.)537230 v
+[ /Dest /Anchor$rm
+ /View [/XYZ -4 552 0]
+/DEST pdfmark
+&13
+(.rm)72000 252000 w
+&12
+(xx)90600 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+( name)4788( The)7938( or string.)4788(e request, macro,)4787 4 309390 u
+&12
+(xx)480184 v
+&11
+(is remo)4788 1 493852 u
+(v)525710 v
+(ed)530560 v
+(from the name list and an)5691 1 280800 264000 t
+(y related storage space is freed.)5691 1 398535 u
+(Subsequent references will ha)6357 1 280800 276000 t
+(v)411861 v
+( ef)6358(e no)6357 2 416711 u
+( man)6358(fect. If)9688 2 451386 u
+(y mac\001)6358 1 508652 u
+( dynamically)4155(ros and strings are being created)4156 2 280800 288000 t
+(, it may become)4155 1 471155 u
+(necessary to remo)3973 1 280800 300000 t
+(v)355796 v
+(e unused ones to recapture internal storage)3974 1 360646 u
+(space for ne)4518 1 280800 312000 t
+(wer re)4518 1 332896 u
+( a macro is remo)4517(gisters. If)7847 2 360024 u
+(v)477709 v
+(ed while it is)4517 1 482559 u
+( w)3528(in use, associated storage is not released, and a)3527 2 280800 324000 t
+(arning of the)3528 1 486844 u
+[ /Dest /Anchor$s$5fwarning
+/Rect [479724 -325000 540000 -316000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(mac)280800 336000 w
+&11
+(cate)301900 v
+(gory)317850 v
+[ /Dest /Anchor$s$5fwarning
+/Rect [280800 -337000 336180 -328000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is emitted.)3330 1 339510 u
+&13
+(rm)280800 352800 w
+&11
+(may ha)5088 1 298658 u
+(v)330206 v
+(e an unlimited number of ar)5089 1 335056 u
+(guments. Ho)8419 1 459191 u
+(we)515970 v
+(v)527380 v
+(er)532230 v
+(for creating portable documents only one ar)6109 1 280800 364800 t
+(gument to)6108 1 477234 u
+&13
+(rm)527230 v
+&11
+(should be used.)3330 1 280800 376800 t
+[ /Dest /Anchor$rn
+ /View [/XYZ -4 410.4 0]
+/DEST pdfmark
+&13
+(.r)72000 393600 w
+(n)78790 v
+&12
+(xx)87680 v
+(yy)99890 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Rename request, macro, or string)4348 1 280800 u
+&12
+(xx)425290 v
+&11
+(to)438518 v
+&12
+(yy)450646 v
+&11
+(. If)7678 1 459526 u
+&12
+(yy)480713 v
+&11
+(e)493942 v
+(xists, it is)4349 1 498232 u
+(\003rst remo)3330 1 280800 405600 t
+(v)320090 v
+(ed.)324940 v
+[ /Dest /Anchor$di
+ /View [/XYZ -4 381.6 0]
+/DEST pdfmark
+&13
+(.di)72000 422400 w
+&12
+(xx)86170 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert output to macro)3364 1 295400 u
+&12
+(xx)377736 v
+&11
+( te)3365(. Normal)6694 2 386616 u
+(xt processing occurs dur)3365 1 436795 u
+(\001)536670 v
+(ing di)5734 1 280800 434400 t
+(v)306844 v
+(ersion e)5734 1 311694 u
+( page of)5733(xcept that)5734 2 346158 u
+( The)8883(fsetting is not done.)5733 2 426978 u
+(di)280800 446400 w
+(v)288330 v
+(ersion ends when the request)6502 1 293180 u
+&13
+(di)431220 v
+&11
+(or)446062 v
+&13
+(da)460894 v
+&11
+(is encountered)6503 1 477957 u
+(without an ar)4528 1 280800 458400 t
+(gument; e)4528 1 337446 u
+( of this type should)4527(xtraneous requests)4528 2 379044 u
+(not appear when nested di)3330 1 280800 470400 t
+(v)388290 v
+(ersions are being used.)3330 1 393140 u
+[ /Dest /Anchor$da
+ /View [/XYZ -4 316.8 0]
+/DEST pdfmark
+&13
+(.da)72000 487200 w
+&12
+(xx)88390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert, appending to)3330 1 295400 u
+&12
+(xx)367880 v
+&11
+(\(append v)3330 1 380090 u
+(ersion of)3330 1 420480 u
+&13
+(di)459910 v
+&11
+(\).)468250 v
+[ /Dest /Anchor$box
+ /View [/XYZ -4 300 0]
+/DEST pdfmark
+&13
+(.box)72000 504000 w
+&12
+(xx)93390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert output to macro)3330 1 295400 u
+&12
+(xx)377600 v
+&11
+(, e)3330 1 386480 u
+(xcluding a partially)3330 1 396600 u
+(\003lled line.)3330 1 479360 u
+[ /Dest /Anchor$boxa
+ /View [/XYZ -4 283.2 0]
+/DEST pdfmark
+&13
+(.boxa)72000 520800 w
+&12
+(xx)98390 v
+&11
+(\012)129600 v
+(end)187200 v
+(D)244800 v
+(Di)280800 v
+(v)290550 v
+(ert and append to)3330 1 295400 u
+&12
+(xx)370370 v
+&11
+(, e)3330 1 379250 u
+(xcluding a partially)3330 1 389370 u
+(\003lled line.)3330 1 472130 u
+[ /Dest /Anchor$unformat
+ /View [/XYZ -4 266.4 0]
+/DEST pdfmark
+&13
+(.unf)72000 537600 w
+(ormat)88700 v
+&12
+(xx)118130 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+( from di)3447(Strip line break information)3446 2 280800 u
+(v)428882 v
+(ersion)433732 v
+&12
+(xx)461619 v
+&11
+( breaks that)3447(. All)6227 2 470499 u
+(do not result in e)3369 1 280800 549600 t
+(xplicit v)3369 1 351346 u
+(ertical mo)3369 1 385125 u
+(v)426114 v
+( inter)3368(ement are discarded,)3369 2 430964 u
+(\001)536670 v
+(w)280800 561600 w
+( had been con)3914(ord spaces that)3913 2 287920 u
+(v)409278 v
+(erted to horizontal mo)3914 1 414128 u
+(v)506820 v
+(ements)511670 v
+( characters ag)4661(during adjustment become space)4662 2 280800 573600 t
+(ain, the ef)4661 1 477338 u
+(fects)521120 v
+(of tab)3915 1 280800 585600 t
+(ulators and)3915 1 305065 u
+(\003eld characters are re)3915 1 354555 u
+(v)444340 v
+(erted, and h)3915 1 449190 u
+(yphenated)498900 v
+(w)280800 597600 w
+(ord parts are combined ag)3330 1 287920 u
+(ain.)395050 v
+[ /Dest /Anchor$asciify
+ /View [/XYZ -4 189.6 0]
+/DEST pdfmark
+&13
+(.asciify)72000 614400 w
+&12
+(xx)105050 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(All characters in di)4508 1 280800 u
+(v)362944 v
+(ersion)367794 v
+&12
+(xx)396742 v
+&11
+(changed to plain te)4508 1 410130 u
+( all)4508(xt. Has)7838 2 491824 u
+(ef)280800 626400 w
+(fects described for)4489 1 288320 u
+&13
+(unf)370647 v
+(ormat)384847 v
+&11
+(and additionally discards font)4488 1 415436 u
+(and point size information and splits substituted lig)5045 1 280800 638400 t
+(atures to)5045 1 503295 u
+(their indi)3330 1 280800 650400 t
+(vidual characters.)3330 1 317770 u
+[ /Dest /Anchor$wh
+ /View [/XYZ -4 136.8 0]
+/DEST pdfmark
+&13
+(.wh)72000 667200 w
+&12
+(N)90610 v
+(xx)100610 v
+&11
+(\012)129600 v
+(\012)187200 v
+&13
+(v)244800 v
+&11
+(Install a trap to in)5889 1 280800 u
+(v)364506 v
+(ok)369306 v
+(e)379206 v
+&12
+(xx)389535 v
+&11
+(at page position)5889 1 404304 u
+&12
+(N;)480301 v
+&11
+(a)496190 v
+&12
+(ne)506520 v
+(gative)515560 v
+(N)280800 679200 w
+&11
+(will be interpreted with respect to the page)4910 1 292380 u
+&12
+(bottom)484960 v
+&11
+(. An)7690 1 512740 u
+(y)535000 v
+(macro pre)4828 1 280800 691200 t
+(viously planted at)4828 1 323138 u
+&12
+(N)403732 v
+&11
+(is replaced by)4828 1 415230 u
+&12
+(xx)480254 v
+&11
+( zero)4829(. A)7608 2 489134 u
+&12
+(N)533330 v
+&11
+(refers to the)5115 1 280800 703200 t
+&12
+(top)338905 v
+&11
+( absence of)5114( the)5115( In)8445(of a page.)5115 4 356800 u
+&12
+(xx)490612 v
+&11
+(, the)5114 1 499492 u
+(\003rst)524440 v
+(found trap at)3330 1 280800 715200 t
+&12
+(N)336890 v
+&11
+(, if an)3330 1 343560 u
+(y)368120 v
+(, is remo)3330 1 372470 u
+(v)408700 v
+(ed.)413550 v
+(\001)294340 760800 w
+(37)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 37 37
+%%Page: 38 38
+save
+mark
+38 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$ch
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.ch)72000 84000 w
+&12
+(xx)87830 v
+(N)100040 v
+&11
+(\012)129600 v
+(\012)187200 v
+&13
+(v)244800 v
+&11
+(Change the trap position for macro)3433 1 280800 u
+&12
+(xx)428598 v
+&11
+(to be)3433 1 440911 u
+&12
+(N)464998 v
+&11
+( the absence)3434(. In)6764 2 471668 u
+(of)280800 96000 w
+&12
+(N)292460 v
+&11
+(, the trap, if an)3330 1 299130 u
+(y)360620 v
+(, is remo)3330 1 364970 u
+(v)401200 v
+(ed.)406050 v
+[ /Dest /Anchor$dwh
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.d)72000 112800 w
+(wh)79910 v
+&12
+(N)96020 v
+(xx)106020 v
+&11
+(\012)129600 v
+(\012)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+( di)3998(Set location trap in current)3997 2 280800 u
+(v)404966 v
+(ersion. Di)7328 1 409816 u
+(v)453834 v
+(ersion traps planted)3998 1 458684 u
+(with)280800 124800 w
+&13
+(dt)302076 v
+&11
+(are not af)3496 1 314462 u
+( both a)3495(fected; if)3496 2 353964 u
+&13
+(d)423485 v
+(wh)428895 v
+&11
+(and a)3495 1 445170 u
+&13
+(dt)471040 v
+&11
+(trap are set at)3495 1 483425 u
+(the same position, both are ef)4352 1 280800 136800 t
+(fecti)407570 v
+(v)425090 v
+(e. A)7132 1 429940 u
+&13
+(d)455584 v
+(wh)460994 v
+&11
+(trap pre)4353 1 478127 u
+(viously)510550 v
+( the top non\001di)3990( At)6770(set at the same position is replaced.)3990 3 280800 148800 t
+(v)510710 v
+(ersion)515560 v
+(le)280800 160800 w
+(v)287770 v
+(el, it is equi)5295 1 292620 u
+(v)347425 v
+(alent to)5295 1 352175 u
+&13
+(wh)389985 v
+&11
+( with a ne)5295(. Otherwise)8625 2 402765 u
+(g)502385 v
+(ati)507335 v
+(v)517085 v
+(e or)5295 1 521935 u
+(zero)280800 172800 w
+&12
+(N)301475 v
+&11
+(, the trap will ne)3465 1 308145 u
+(v)377025 v
+(er be in)3465 1 381875 u
+(v)413395 v
+(ok)418195 v
+(ed since a di)3465 1 428095 u
+(v)480450 v
+(ersion has no)3465 1 485300 u
+(bottom and can ne)3330 1 280800 184800 t
+(v)356640 v
+(er reach its top ag)3330 1 361490 u
+(ain.)435850 v
+[ /Dest /Anchor$dch
+ /View [/XYZ -4 602.4 0]
+/DEST pdfmark
+&13
+(.dch)72000 201600 w
+&12
+(xx)93390 v
+(N)105600 v
+&11
+(\012)129600 v
+(\012)187200 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+( di)4336(Change trap location in current)4335 2 280800 u
+(v)424426 v
+(ersion; equi)4336 1 429276 u
+(v)477802 v
+(alent to)4336 1 482552 u
+&13
+(ch)518444 v
+&11
+(at)532780 v
+(the top non\001di)3330 1 280800 213600 t
+(v)338320 v
+(ersion le)3330 1 343170 u
+(v)377910 v
+(el.)382760 v
+[ /Dest /Anchor$dt
+ /View [/XYZ -4 573.6 0]
+/DEST pdfmark
+&13
+(.dt)72000 230400 w
+&12
+(N)86720 v
+(xx)96720 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(D,)244800 v
+&13
+(v)254520 v
+&11
+(Install a di)3418 1 280800 u
+(v)324606 v
+(ersion trap at position)3418 1 329456 u
+&12
+(N)422568 v
+&11
+(in the)3418 1 432656 u
+&12
+(curr)459492 v
+(ent)476342 v
+&11
+(di)491981 v
+(v)499511 v
+(ersion to)3419 1 504361 u
+(in)280800 242400 w
+(v)288180 v
+(ok)292980 v
+(e macro)4113 1 302880 u
+&12
+(xx)340536 v
+&11
+(. Another)6892 1 349416 u
+&13
+(dt)395690 v
+&11
+(will rede\003ne the di)4112 1 408692 u
+(v)488548 v
+(ersion trap.)4112 1 493398 u
+(If no ar)3330 1 280800 254400 t
+(guments are gi)3330 1 311710 u
+(v)372000 v
+(en, the di)3330 1 376850 u
+(v)415200 v
+(ersion trap is remo)3330 1 420050 u
+(v)497100 v
+(ed.)501950 v
+[ /Dest /Anchor$vpt
+ /View [/XYZ -4 532.8 0]
+/DEST pdfmark
+&13
+(.vpt)72000 271200 w
+&12
+(N)91720 v
+&11
+(1)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Enable \()6052 1 280800 u
+&12
+(N)317952 v
+&20
+(\152)324622 v
+&11
+(0\) or disable \()6052 1 330112 u
+&12
+(N)396588 v
+&20
+(\010)403258 v
+&11
+(0\) page ejections and v)6053 1 408748 u
+(ertical)515010 v
+( with)4308(position traps, i.e. those set)4309 2 280800 283200 t
+&13
+(wh)423042 v
+&11
+(or)440130 v
+&13
+(dt)452768 v
+&11
+( end of input,)4308(. At)7088 2 461658 u
+( number re)3781( The)6931(the page is forcefully ejected.)3781 3 280800 295200 t
+(gister)472157 v
+[ /Dest /Anchor$n$5f$2evpt
+ /View [/XYZ -4 508.8 0]
+/DEST pdfmark
+&13
+(.vpt)498158 v
+&11
+(holds)518330 v
+(the current setting.)3330 1 280800 307200 t
+[ /Dest /Anchor$it
+ /View [/XYZ -4 480 0]
+/DEST pdfmark
+&13
+(.it)72000 324000 w
+&12
+(N)83940 v
+(xx)93940 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set an input\001line\001count trap to in)5161 1 280800 u
+(v)423975 v
+(ok)428775 v
+(e the macro)5161 1 438675 u
+&12
+(xx)495808 v
+&11
+(after)509849 v
+&12
+(N)533330 v
+&11
+(lines of)5480 1 280800 336000 t
+&12
+(te)318980 v
+(xt)326000 v
+&11
+(input ha)5480 1 338700 u
+(v)373980 v
+(e been read \(control or request lines)5480 1 378830 u
+(don\030)280800 348000 w
+( te)3810( The)6960(t count\).)3810 3 298950 u
+(xt may be in\001line te)3810 1 366980 u
+(xt or te)3810 1 449840 u
+(xt interpolated)3810 1 480640 u
+(by inline or trap\001in)3330 1 280800 360000 t
+(v)358160 v
+(ok)362960 v
+(ed macros.)3330 1 372860 u
+[ /Dest /Anchor$itc
+ /View [/XYZ -4 427.2 0]
+/DEST pdfmark
+&13
+(.itc)72000 376800 w
+&12
+(N)88380 v
+(xx)98380 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set an input\001line\001count trap lik)5040 1 280800 u
+(e)413630 v
+&13
+(it)423110 v
+&11
+(, b)5040 1 429220 u
+(ut ignore line interrup\001)5040 1 441560 u
+[ /Dest /Anchor$c$5fintr
+/Rect [484970 -377800 540000 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(tions)280800 388800 w
+[ /Dest /Anchor$c$5fintr
+/Rect [280800 -389800 300250 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(with)303580 v
+&13
+(\017c)324690 v
+[ /Dest /Anchor$e$5fc
+/Rect [324690 -389800 331910 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(when counting lines.)3330 1 335240 u
+[ /Dest /Anchor$return
+ /View [/XYZ -4 398.4 0]
+/DEST pdfmark
+&13
+(.r)72000 405600 w
+(etur)78760 v
+(n)96380 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Immediately return from the current macro to the le)3330 1 280800 u
+(v)493810 v
+(el abo)3330 1 498660 u
+(v)523500 v
+(e.)528350 v
+[ /Dest /Anchor$shift
+ /View [/XYZ -4 381.6 0]
+/DEST pdfmark
+&13
+(.shift)72000 422400 w
+&12
+(N)96720 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Shift the ar)3330 1 280800 u
+(guments to the current macro by)3330 1 326720 u
+&12
+(N)463900 v
+&11
+(.)470570 v
+[ /Dest /Anchor$als
+ /View [/XYZ -4 364.8 0]
+/DEST pdfmark
+&13
+(.als)72000 439200 w
+&12
+(yy)89500 v
+(xx)101710 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+&12
+(yy)280800 v
+&11
+( macro, or string)4454(is created as an alias for the request,)4453 2 294133 u
+&12
+(xx)528620 v
+&11
+(.)537500 v
+(The alias name is in e)5353 1 280800 451200 t
+(v)381745 v
+(ery respect identical to the original)5353 1 386595 u
+(name. If)7685 1 280800 463200 t
+&12
+(xx)323660 v
+&11
+(is remo)4355 1 336895 u
+(v)368320 v
+(ed or renamed,)4355 1 373170 u
+&12
+(yy)440936 v
+&11
+(continues to refer to)4356 1 454172 u
+( been created \(and vice\001)4983(the object at the time the alias had)4984 2 280800 475200 t
+(v)280800 487200 w
+( either)4049(ersa\). If)7379 2 285650 u
+&12
+(xx)352487 v
+&11
+(or)365416 v
+&12
+(yy)377795 v
+&11
+( the ne)4050(are rede\003ned, both refer to)4049 2 390724 u
+(w)532780 v
+(de\003nition.)280800 499200 w
+[ /Dest /Anchor$blm
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&13
+(.blm)72000 516000 w
+&12
+(xx)94500 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(Whene)280800 v
+(v)308870 v
+(er a blank line is encountered, the macro)3453 1 313720 u
+&12
+(xx)486024 v
+&11
+(is in)3453 1 498357 u
+(v)515860 v
+(ok)520660 v
+(ed)530560 v
+(instead of the def)3330 1 280800 528000 t
+(ault beha)3330 1 352340 u
+(vior to output a blank line.)3330 1 389350 u
+[ /Dest /Anchor$blank
+/Rect [339670 -529000 499610 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$em
+ /View [/XYZ -4 259.2 0]
+/DEST pdfmark
+&13
+(.em)72000 544800 w
+&12
+(xx)90600 v
+&11
+(none)129600 v
+(none)187200 v
+(\012)244800 v
+(The macro)3875 1 280800 u
+&12
+(xx)329090 v
+&11
+(will be in)3875 1 341845 u
+(v)381975 v
+(ok)386775 v
+( The)7026( all input has ended.)3876(ed when)3875 3 396675 u
+(ef)280800 556800 w
+(fect is the same as if the contents of)3775 1 288320 u
+&12
+(xx)445045 v
+&11
+(had been at the end)3775 1 457700 u
+(of the last)3877 1 280800 568800 t
+(\003le processed, b)3877 1 326871 u
+( at the ne)3878(ut all processing ceases)3877 2 394135 u
+(xt)532220 v
+(page eject.)3330 1 280800 580800 t
+[ /Dest /Anchor$recursionlimit
+ /View [/XYZ -4 206.4 0]
+/DEST pdfmark
+&13
+(.r)72000 597600 w
+(ecursionlimit)78760 v
+&12
+(N)138200 v
+(M)148200 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Set the maximum stack depth for generally recursi)4545 1 280800 u
+(v)496775 v
+(e in)4545 1 501625 u
+(v)517990 v
+(oca\001)522790 v
+(tions of macros to)3330 1 280800 609600 t
+&12
+(N)358560 v
+&11
+(, and for in)3330 1 365230 u
+(v)411200 v
+(ocations of tail\001recursi)3330 1 416000 u
+(v)507390 v
+(e mac\001)3330 1 512240 u
+(ros to)4246 1 280800 621600 t
+&12
+(M)309293 v
+&11
+(. If)7577 1 317623 u
+&12
+(N)338607 v
+&11
+(or)349524 v
+&12
+(M)362101 v
+&11
+(are zero, the respecti)4247 1 374678 u
+(v)462409 v
+(e depth is unlim\001)4247 1 467259 u
+( def)3804(ited. The)6954 2 280800 633600 t
+( for the general case, and no limit for)3803(ault is 512)3804 2 337278 u
+(tail\001recursion.)280800 645600 w
+[ /Dest /Anchor$s$5freg
+ /View [/XYZ -4 141.6 0]
+/DEST pdfmark
+&13
+( Registers)3330(8. Number)6660 2 72000 662400 t
+[ /Dest /Bookmark$67
+ /View [/XYZ -4 141.6 0]
+/DEST pdfmark
+&11
+(A v)3388 1 72000 679200 t
+( are a)3389(ariety of parameters)3388 2 87358 u
+(v)192332 v
+(ailable to the user as prede\003ned, named)3389 1 197082 u
+&12
+(number r)3389 1 363825 u
+(e)401284 v
+(gister)405324 v
+(s)428004 v
+&11
+(\(see Summary and Inde)3389 1 435283 u
+(x,)532500 v
+( user may de\003ne his o)4267( addition, the)4268( In)7598(page 7\).)4268 4 72000 691200 t
+(wn named re)4267 1 274017 u
+(gisters. Re)7597 1 329051 u
+(gister names are one or tw)4267 1 376218 u
+(o characters)4267 1 490203 u
+(long and)3778 1 72000 703200 t
+&12
+(do not)3778 1 111776 u
+&11
+( for certain prede\003ned read\001only re)3779( Except)7109
+(con\004ict with request, macro, or string names.)3779 3 142112 u
+(gisters,)511390 v
+(a number re)3532 1 72000 715200 t
+( written, automatically incremented or decremented, and interpolated into\
+ the input)3531
+(gister can be read,)3532 2 121674 u
+(in a v)4535 1 72000 727200 t
+( use of user)4536( common)4535( One)7865(ariety of formats.)4535 4 98040 u
+(\001de\003ned re)4536 1 287048 u
+(gisters is to automatically number sections, para\001)4536 1 331974 u
+(\001)294340 760800 w
+(38)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 38 38
+%%Page: 39 39
+save
+mark
+39 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+( number re)3943( A)6724(graphs, lines, etc.)3944 3 72000 84000 t
+(gister may be used an)3943 1 204598 u
+(y time numerical input is e)3943 1 296870 u
+(xpected or desired and may be)3943 1 410875 u
+(used in numerical)3330 1 72000 96000 t
+&12
+(e)148090 v
+(xpr)152330 v
+(essions)165290 v
+&11
+(\(\0151.4\).)197510 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [104770 -97000 224170 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Number re)4367 1 72000 112800 t
+(gisters are created and modi\003ed using)4367 1 116757 u
+&13
+(nr)281819 v
+[ /Dest /Anchor$nr
+/Rect [281819 -113800 291819 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( speci\003es the name, numerical v)4368(, which)4367 2 291819 u
+(alue, and the auto\001)4368 1 460526 u
+( Re)8078(increment size.)4748 2 72000 124800 t
+( the re)4747( If)8077
+(gisters are also modi\003ed, if accessed with an auto\001incrementing seq\
+uence.)4747 3 153826 u
+(gisters)513890 v
+&12
+(x)72000 136800 w
+&11
+(and)81108 v
+&12
+(xx)100216 v
+&11
+(both contain)4669 1 113765 u
+&12
+(N)170323 v
+&11
+(and ha)4669 1 181662 u
+(v)210011 v
+(e the auto\001increment size)4669 1 214861 u
+&12
+(M)326287 v
+&11
+(,)334617 v
+[ /Dest /Anchor$e$5fn
+ /View [/XYZ -4 667.2 0]
+/DEST pdfmark
+(the follo)4669 1 341786 u
+(wing access sequences ha)4669 1 377315 u
+(v)486642 v
+(e the ef)4669 1 491492 u
+(fect)525010 v
+(sho)72000 148800 w
+(wn:)85640 v
+413185 164800 198815 164800 Dl
+(Ef)279745 174800 w
+(fect on)3330 1 288935 u
+(V)367640 v
+(alue)373750 v
+(Sequence)203815 186800 w
+(Re)281910 v
+(gister)292870 v
+(Interpolated)354865 v
+413185 190800 198815 190800 Dl
+&13
+(\017n)203815 200800 w
+&12
+(x)212155 v
+&11
+(none)288780 v
+&12
+(N)375690 v
+&13
+(\017n\()203815 212800 w
+&12
+(xx)215485 v
+&11
+(none)288780 v
+&12
+(N)375690 v
+&13
+(\017n[)203815 224800 w
+&12
+(xxx)215485 v
+&13
+(])228805 v
+&11
+(none)252135 v
+&12
+(N)375690 v
+&13
+(\017n+)203815 236800 w
+&12
+(x)217855 v
+(x)252135 v
+&11
+(incremented by)3330 1 259905 u
+&12
+(M)325995 v
+(N+M)368150 v
+&13
+(\017n\012)203815 248800 w
+&12
+(x)217155 v
+(x)252135 v
+&11
+(decremented by)3330 1 259905 u
+&12
+(M)327655 v
+(N\012M)369025 v
+&13
+(\017n+\()203815 260800 w
+&12
+(xx)221185 v
+(xx)252135 v
+&11
+(incremented by)3330 1 264345 u
+&12
+(M)330435 v
+(N+M)368150 v
+&13
+(\017n\012\()203815 272800 w
+&12
+(xx)220485 v
+(xx)252135 v
+&11
+(decremented by)3330 1 264345 u
+&12
+(M)332095 v
+(N\012M)369025 v
+&13
+(\017n+[)203815 284800 w
+&12
+(xxx)221185 v
+&13
+(])234505 v
+&12
+(xxx)252135 v
+&11
+(incremented by)3330 1 268785 u
+&12
+(M)334875 v
+(N+M)368150 v
+&13
+(\017n\012[)203815 296800 w
+&12
+(xxx)220485 v
+&13
+(])233805 v
+&12
+(xxx)252135 v
+&11
+(decremented by)3330 1 268785 u
+&12
+(M)336535 v
+(N\012M)369025 v
+413185 300800 198815 300800 Dl
+198815 164800 198815 300800 Dl
+247135 164800 247135 300800 Dl
+349865 164800 349865 300800 Dl
+413185 164800 413185 300800 Dl
+&11
+(Floating\001point re)3999 1 72000 322800 t
+(gisters can be created and modi\003ed using)3999 1 140849 u
+&13
+(nrf)318812 v
+&11
+(. The)7149 1 332142 u
+( a common name space with inte)4000(y share)3999 2 357191 u
+(ger)527230 v
+(re)72000 334800 w
+(gisters; a)4276 1 79620 u
+&13
+(nr)121502 v
+&11
+(request turns a)4276 1 135778 u
+(\004oating\001point re)4276 1 201926 u
+(gister into an inte)4276 1 268272 u
+(ger re)4275 1 343170 u
+(gister)367835 v
+( and auto\001increment are as)4275(. Access)7055 2 389505 u
+(with inte)3330 1 72000 346800 t
+(ger re)3330 1 107960 u
+(gisters.)131680 v
+(When interpolated, a number re)4418 1 72000 363600 t
+(gister is con)4418 1 206432 u
+(v)258198 v
+(erted to decimal \(def)4419 1 263048 u
+(ault\), decimal with leading zeros, lo)4419 1 351735 u
+(wer)504670 v
+(\001case)519460 v
+(Roman, upper)3549 1 72000 375600 t
+(\001case Roman, lo)3549 1 129509 u
+(wer)196067 v
+( alphabetic, or upper)3548(\001case sequential)3549 2 210857 u
+(\001case sequential alphabetic according to the)3548 1 360640 u
+(format speci\003ed by)3330 1 72000 387600 t
+&13
+(af)154200 v
+[ /Dest /Anchor$af
+/Rect [154200 -388600 162530 -379600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)162530 v
+(Local number re)4453 1 72000 404400 t
+(gisters can be created and modi\003ed using)4453 1 141846 u
+&13
+(lnr)322988 v
+&11
+(and)340222 v
+&13
+(lnrf)359116 v
+&11
+(. Lik)7784 1 375226 u
+(e local strings,)4454 1 399300 u
+[ /Dest /Anchor$c$5flocal$5fstrings
+/Rect [408194 -405400 461258 -396400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(local re)4454 1 465712 u
+(gisters are)4454 1 497226 u
+(accessible only within the currently e)4420 1 72000 416400 t
+(x)230590 v
+(ecuting macro instance, are not inherited to macros in)4420 1 235440 u
+(v)465080 v
+(ok)469880 v
+(ed from them,)4420 1 479780 u
+(and are deleted when the current macro returns.)3330 1 72000 428400 t
+(The e)3644 1 72000 445200 t
+( re)3645(xistence of a local number)3644 2 95484 u
+(gister)216855 v
+&12
+(xx)242720 v
+&11
+(mak)255245 v
+(es the global number re)3645 1 272365 u
+(gister)370665 v
+&12
+(xx)396530 v
+&11
+(, if an)3645 1 405410 u
+(y)430600 v
+(, completely inaccessible.)3645 1 434950 u
+(The sequences)3364 1 72000 457200 t
+&13
+(\017n\()134818 v
+&12
+(xx)146488 v
+&11
+(and)158732 v
+&13
+(\017n[)176536 v
+&12
+(xx)188206 v
+&13
+(])197086 v
+&11
+(retrie)203780 v
+(v)224630 v
+(e the v)3364 1 229480 u
+(alue of the local re)3364 1 257618 u
+(gister)335344 v
+(,)357164 v
+&13
+(\017R)363028 v
+&12
+(\030xx)373028 v
+(...)386904 v
+(\030)393004 v
+&11
+(,)396334 v
+&13
+(\017n+\()402198 v
+&12
+(xx)419568 v
+&11
+(and)431811 v
+&13
+(\017n+[)449614 v
+&12
+(xx)466984 v
+&13
+(])475864 v
+&11
+(\(and lik)3363 1 482557 u
+(e)514150 v
+(wise\))518340 v
+(modify it, and)3673 1 72000 469200 t
+&13
+(\017g\()134409 v
+&12
+(xx)145519 v
+&11
+(and)158072 v
+&13
+(\017g[)176185 v
+&12
+(xx)187295 v
+&13
+(])196175 v
+&11
+(retrie)203178 v
+(v)224028 v
+( calls to)3673( Subsequent)7003(e its format.)3673 3 228878 u
+&13
+(nr)369516 v
+&11
+(,)379516 v
+&13
+(nrf)385689 v
+&11
+(,)399019 v
+&13
+(af)405192 v
+&11
+(,)413522 v
+&13
+(length)419695 v
+[ /Dest /Anchor$length
+/Rect [419695 -470200 446365 -461200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3673 1 446365 u
+&13
+(index)470651 v
+[ /Dest /Anchor$index
+/Rect [470651 -470200 493991 -461200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(with)497664 v
+&12
+(xx)519117 v
+&11
+(as)531670 v
+(ar)72000 481200 w
+(gument modify the local re)4268 1 79590 u
+(gister)194832 v
+(.)216502 v
+&13
+(watchn)226600 v
+[ /Dest /Anchor$watchn
+/Rect [226600 -482200 257710 -473200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( of the local re)4267(noti\003es on modi\003cations)4268 2 261978 u
+(gister)429092 v
+(.)450762 v
+&13
+(rr)460859 v
+&11
+(remo)474006 v
+(v)494406 v
+(es a local)4267 1 499256 u
+(re)72000 493200 w
+(gister and possibly mak)3721 1 79620 u
+( global re)3722(es a)3721 2 177903 u
+(gister visible ag)3722 1 234458 u
+(ain,)300182 v
+&13
+(r)318624 v
+(nn)322914 v
+&11
+(renames a local re)3722 1 337756 u
+(gister to another local re)3722 1 413742 u
+(gister)515680 v
+(,)537500 v
+(and)72000 505200 w
+&13
+(aln)89770 v
+&11
+(creates a local alias to a local re)3330 1 106440 u
+(gister)239000 v
+(.)260670 v
+&14
+(Request)72000 522000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 534000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$nr
+ /View [/XYZ -4 253.2 0]
+/DEST pdfmark
+&13
+(.nr)72000 550800 w
+&12
+(R)87830 v
+&20
+(\143)97270 v
+&12
+(N)102760 v
+(M)112760 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(The number re)4415 1 280800 u
+(gister)343350 v
+&12
+(R)369985 v
+&11
+(is assigned the v)4415 1 380510 u
+(alue)451835 v
+&20
+(\143)472910 v
+&12
+(N)478400 v
+&11
+(with respect)4415 1 489485 u
+(to the pre)7550 1 280800 562800 t
+(vious v)7550 1 328420 u
+(alue, if an)7550 1 362390 u
+(y)412050 v
+( increment for auto\001)7550(. The)10700 2 416400 u
+(incrementing is set to)3440 1 280800 574800 t
+&12
+(M)372890 v
+&11
+( alternate syntax is a)3440(. An)6220 2 381220 u
+(v)487370 v
+(ailable with)3440 1 492120 u
+(the)280800 586800 w
+[ /Dest /Anchor$e$5fR
+ /View [/XYZ -4 217.2 0]
+/DEST pdfmark
+&13
+(\017R)296350 v
+&12
+(\013R)306350 v
+&20
+(\143)319120 v
+&12
+(N\013)324610 v
+&11
+(escape sequence.)3330 1 337940 u
+[ /Dest /Anchor$nrf
+ /View [/XYZ -4 200.4 0]
+/DEST pdfmark
+&13
+(.nrf)72000 603600 w
+&12
+(R)91160 v
+&20
+(\143)100600 v
+&12
+(F)106090 v
+(G)115530 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(The)280800 v
+(\004oating\001point re)5459 1 301808 u
+(gister)369337 v
+&12
+(R)397016 v
+&11
+(is assigned the v)5459 1 408585 u
+(alue)483042 v
+&20
+(\143)505161 v
+&12
+(F)510651 v
+&11
+(with)522220 v
+(respect to the pre)5068 1 280800 615600 t
+(vious v)5068 1 356844 u
+(alue, if an)5067 1 388332 u
+(y)433026 v
+( computa\001)5067(. Comparison)8397 2 437376 u
+(tions in the e)5130 1 280800 627600 t
+(xpression)339930 v
+&12
+(F)383390 v
+&11
+(are performed using)5130 1 394630 u
+(\004oating\001point)485550 v
+(v)280800 639600 w
+( for auto\001incrementing, which also is a)4196( increment)4197
+(alues. The)7347 3 285550 u
+(\004oating\001point v)3330 1 280800 651600 t
+(alue, is set to)3330 1 343330 u
+&12
+(G)401370 v
+&11
+(.)408590 v
+[ /Dest /Anchor$lnr
+ /View [/XYZ -4 135.6 0]
+/DEST pdfmark
+&13
+(.lnr)72000 668400 w
+&12
+(R)90610 v
+&20
+(\143)100050 v
+&12
+(N)105540 v
+(M)115540 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set local number re)3330 1 280800 u
+(gister)407270 v
+&12
+(R)432820 v
+&11
+(.)438930 v
+[ /Dest /Anchor$lnrf
+ /View [/XYZ -4 118.8 0]
+/DEST pdfmark
+&13
+(.lnrf)72000 685200 w
+&12
+(R)93940 v
+&20
+(\143)103380 v
+&12
+(F)108870 v
+(G)118310 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(De\003ne and set local)3330 1 280800 u
+(\004oating\001point re)3330 1 365770 u
+(gister)431170 v
+&12
+(R)456720 v
+&11
+(.)462830 v
+[ /Dest /Anchor$af
+ /View [/XYZ -4 102 0]
+/DEST pdfmark
+&13
+(.af)72000 702000 w
+&12
+(R)86160 v
+(c)95600 v
+&11
+(arabic)129600 v
+(\012)187200 v
+(\012)244800 v
+(Assign format)3330 1 280800 u
+&12
+(c)341900 v
+&11
+(to re)3330 1 349670 u
+(gister)368400 v
+&12
+(R)393950 v
+&11
+( a)3330(. The)6480 2 400060 u
+(v)432160 v
+(ailable formats are:)3330 1 436910 u
+(\001)294340 760800 w
+(39)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 39 39
+%%Page: 40 40
+save
+mark
+40 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+506710 76000 314090 76000 Dl
+(Numbering)406995 86000 w
+(F)319090 98000 w
+(ormat)324500 v
+(Sequence)410610 v
+506710 102000 314090 102000 Dl
+&13
+(1)330960 112000 w
+&11
+(0,1,2,3,4,5,...)357830 v
+&13
+(001)325960 124000 w
+&11
+(000,001,002,003,004,005,...)357830 v
+&13
+(i)332070 136000 w
+&11
+(0,i,ii,iii,i)357830 v
+(v)392040 v
+(,v)396390 v
+(,...)403240 v
+&13
+(I)331515 148000 w
+&11
+(0,I,II,III,IV)357830 v
+(,V)402070 v
+(,...)410500 v
+&13
+(a)330960 160000 w
+&11
+(0,a,b,c,...,z,aa,ab,...,zz,aaa,...)357830 v
+&13
+(A)329850 172000 w
+&11
+(0,A,B,C,...,Z,AA,AB,...,ZZ,AAA,...)357830 v
+506710 176000 314090 176000 Dl
+314090 76000 314090 176000 Dl
+352830 76000 352830 176000 Dl
+506710 76000 506710 176000 Dl
+(An arabic format ha)4139 1 280800 198000 t
+(ving)365767 v
+&12
+(N)387686 v
+&11
+(digits speci\003es a)4139 1 398495 u
+(\003eld width of)4139 1 472022 u
+&12
+(N)533330 v
+&11
+(digits \(e)4725 1 280800 210000 t
+(xample 2 abo)4725 1 315375 u
+(v)373555 v
+( read\001only re)4725(e\). The)7875 2 378405 u
+(gisters, the)4725 1 467490 u
+&12
+(width)517770 v
+[ /Dest /Anchor$c$5fwidth
+/Rect [500825 -211000 540000 -202000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(function \(\01511.2\))3554 1 280800 222000 t
+[ /Dest /Anchor$c$5fwidth
+/Rect [280800 -223000 346844 -214000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, and)3554 1 346844 u
+(\004oating\001point re)3554 1 370892 u
+( al)3555(gisters are)3554 2 436516 u
+(w)489065 v
+(ays arabic.)3555 1 496185 u
+(W)280800 234000 w
+(arning: the v)4289 1 289440 u
+(alue of a number re)4289 1 343318 u
+(gister in a non\001Arabic for)4289 1 428074 u
+(\001)536670 v
+(mat is not numeric, and will not produce the e)4077 1 280800 246000 t
+(xpected results)4077 1 478713 u
+(in e)3330 1 280800 258000 t
+(xpressions)296200 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [291910 -259000 338420 -250000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)338420 v
+(The function)5760 1 280800 274800 t
+[ /Dest /Anchor$e$5fg
+ /View [/XYZ -4 529.2 0]
+/DEST pdfmark
+&13
+(\017g)341200 v
+&12
+(x)348980 v
+&11
+(,)353420 v
+&13
+(\017g\()361680 v
+&12
+(xx)372790 v
+&11
+(, or)5760 1 381670 u
+&13
+(\017g[)404020 v
+&12
+(xxx)415130 v
+&13
+(])428450 v
+&11
+(returns the format of a)5760 1 437540 u
+(number re)3934 1 280800 286800 t
+(gister in a form suitable for)3934 1 322904 u
+&13
+(af)443158 v
+&11
+(; it returns nothing if)3933 1 451488 u
+(the re)3330 1 280800 298800 t
+(gister has not been used.)3330 1 303970 u
+[ /Dest /Anchor$rr
+ /View [/XYZ -4 483.6 0]
+/DEST pdfmark
+&13
+(.rr)72000 320400 w
+&12
+(R)86710 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e re)7328 1 309390 u
+(gister)328778 v
+&12
+(R)358326 v
+&11
+( man)7329(. If)10659 2 364436 u
+(y re)7329 1 408654 u
+(gisters are being created)7329 1 428603 u
+(dynamically)280800 332400 w
+( to remo)5267(, it may become necessary)5268 2 329590 u
+(v)484626 v
+(e no longer)5267 1 489476 u
+(used re)5585 1 280800 344400 t
+(gisters to recapture internal storage space for ne)5585 1 312335 u
+(wer)525010 v
+(re)280800 356400 w
+( re)6217(gisters. The)9367 2 288420 u
+(gister)355784 v
+&13
+(.R)384220 v
+&11
+(contains the number of number)6216 1 400156 u
+(re)280800 368400 w
+(gisters still a)3330 1 288420 u
+(v)340440 v
+(ailable.)345190 v
+&13
+(rr)280800 385200 w
+&11
+(may ha)3660 1 293340 u
+(v)323460 v
+(e an unlimited number of ar)3660 1 328310 u
+(guments. Ho)6990 1 445300 u
+(we)500650 v
+(v)512060 v
+(er for)3660 1 516910 u
+(creating portable documents only one ar)4719 1 280800 397200 t
+(gument to)4719 1 452515 u
+&13
+(rr)499732 v
+&11
+(should)513330 v
+(be used.)3330 1 280800 409200 t
+[ /Dest /Anchor$rnn
+ /View [/XYZ -4 378 0]
+/DEST pdfmark
+&13
+(.r)72000 426000 w
+(nn)78790 v
+&12
+(R)93240 v
+(S)102680 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Rename re)3330 1 280800 u
+(gister)324520 v
+&12
+(R)350070 v
+&11
+(to)359510 v
+&12
+(S)370620 v
+&11
+(. If)6660 1 375620 u
+&12
+(S)394770 v
+&11
+(e)403100 v
+(xists, it is)3330 1 407390 u
+(\003rst remo)3330 1 450450 u
+(v)489740 v
+(ed.)494590 v
+[ /Dest /Anchor$aln
+ /View [/XYZ -4 361.2 0]
+/DEST pdfmark
+&13
+(.aln)72000 442800 w
+&12
+(S)91170 v
+(R)99500 v
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Re)280800 v
+(gister)291760 v
+&12
+(S)318285 v
+&11
+(is created as an alias for)4305 1 327590 u
+&12
+(R)436720 v
+&11
+( alias name is in)4306(. The)7456 2 442830 u
+(e)280800 454800 w
+(v)284990 v
+( If)7520(ery respect identical to the original name.)4190 2 289840 u
+&12
+(R)484150 v
+&11
+(is remo)4190 1 494450 u
+(v)525710 v
+(ed)530560 v
+(or renamed,)3723 1 280800 466800 t
+&12
+(S)333506 v
+&11
+(continues to refer to the re)3723 1 342229 u
+(gister at the time the)3724 1 453444 u
+(alias had been created \(and vice\001v)3830 1 280800 478800 t
+( change in v)3830(ersa\). A)6610 2 423080 u
+(alue or)3830 1 511180 u
+(format in)3330 1 280800 490800 t
+&12
+(R)321900 v
+&11
+(af)331340 v
+(fects)338860 v
+&12
+(S)361070 v
+&11
+(and vice\001v)3330 1 369400 u
+(ersa.)412010 v
+[ /Dest /Anchor$s$5ftabs
+ /View [/XYZ -4 296.4 0]
+/DEST pdfmark
+&13
+(9. T)6360 1 72000 507600 t
+(abs, Leaders, and Fields)3330 1 91610 u
+[ /Dest /Bookmark$68
+ /View [/XYZ -4 296.4 0]
+/DEST pdfmark
+&12
+(9.1.)72000 524400 w
+(T)88666 v
+(abs and leader)3330 1 93306 u
+(s.)154306 v
+[ /Dest /Bookmark$69
+ /View [/XYZ -4 279.6 0]
+/DEST pdfmark
+&11
+(The)163889 v
+9 s
+(ASCII)182812 v
+10 s
+(horizontal tab character and the)3373 1 209684 u
+9 s
+(ASCII SOH)3373 1 342619 u
+10 s
+(\(hereafter kno)3373 1 390864 u
+(wn as the)3373 1 447847 u
+&12
+(leader)490736 v
+&11
+(char)519660 v
+(\001)536670 v
+( length of the)3551( The)6701
+( both be used to generate either horizontal motion or a string of repeate\
+d characters.)3551
+(acter\) can)3552 4 72000 536400 t
+(generated entity is go)3482 1 72000 548400 t
+(v)160616 v
+(erned by internal)3482 1 165466 u
+&12
+(tab stops)3482 1 238672 u
+&11
+(speci\003able with)3482 1 278976 u
+&13
+(ta)346490 v
+[ /Dest /Anchor$ta
+/Rect [346490 -549400 354820 -540400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( def)3483(. The)6632 2 354820 u
+(ault dif)3483 1 395655 u
+(ference is that tabs generate)3483 1 424998 u
+(motion and leaders generate a string of periods;)3361 1 72000 560400 t
+&13
+(tc)271628 v
+[ /Dest /Anchor$tc
+/Rect [271628 -561400 279398 -552400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)282759 v
+&13
+(lc)300560 v
+[ /Dest /Anchor$lc
+/Rect [300560 -561400 307780 -552400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(of)311140 v
+( There)6510(fer the choice of repeated character or motion.)3360 2 319220 u
+(are three types of internal tab stops\006)4082 1 72000 572400 t
+&12
+(left)231462 v
+&11
+(adjusting,)248324 v
+&12
+(right)291576 v
+&11
+(adjusting, and)4082 1 315108 u
+&12
+(centering)376882 v
+&11
+( the follo)4083(. In)7413 2 414652 u
+(wing table,)4083 1 471921 u
+&12
+(D)522027 v
+&11
+(is)533330 v
+(the distance from the current position on the)4061 1 72000 584400 t
+&12
+(input)263908 v
+&11
+( a tab or leader w)4060(line \(where)4061 2 288529 u
+(as found\) to the ne)4060 1 412190 u
+(xt tab stop,)4060 1 492710 u
+&12
+(ne)72000 596400 w
+(xt\001string)81240 v
+&11
+(consists of the input characters follo)3962 1 119092 u
+( up to the ne)3963(wing the tab \(or leader\))3962 2 270852 u
+(xt tab \(or leader\) or end of)3963 1 425702 u
+(line, and)3330 1 72000 608400 t
+&12
+(W)110600 v
+&11
+(is the width of)3330 1 122260 u
+&12
+(ne)185580 v
+(xt\001string)194820 v
+&11
+(.)228710 v
+436525 624400 175475 624400 Dl
+(T)191150 634400 w
+(ab)196460 v
+(Length of motion or)3330 1 226575 u
+(Location of)3330 1 352105 u
+(type)189915 646400 w
+(repeated characters)3330 1 229370 u
+&12
+(ne)354145 v
+(xt\001string)363385 v
+436525 650400 175475 650400 Dl
+&11
+(Left)190195 660400 w
+&12
+(D)264625 v
+&11
+(F)319895 v
+(ollo)325305 v
+(wing)340615 v
+&12
+(D)363945 v
+&11
+(Right)187410 672400 w
+&12
+(D\012W)257960 v
+&11
+(Right adjusted within)3330 1 319895 u
+&12
+(D)411005 v
+&11
+(Centered)180475 684400 w
+&12
+(D\012W/)254070 v
+&11
+(2)277400 v
+(Centered on right end of)3330 1 319895 u
+&12
+(D)424305 v
+436525 688400 175475 688400 Dl
+175475 624400 175475 688400 Dl
+221575 624400 221575 688400 Dl
+314895 624400 314895 688400 Dl
+436525 624400 436525 688400 Dl
+&11
+(The length of generated motion is allo)4921 1 72000 710400 t
+(wed to be ne)4922 1 239036 u
+(g)296972 v
+(ati)301922 v
+(v)311672 v
+(e, b)4922 1 316522 u
+(ut that of a repeated character string cannot be.)4922 1 333184 u
+(Repeated character strings contain an inte)4618 1 72000 722400 t
+(ger number of characters, and an)4617 1 249340 u
+(y residual distance is prepended as)4617 1 390835 u
+(\001)294340 760800 w
+(40)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 40 40
+%%Page: 41 41
+save
+mark
+41 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(motion. T)6480 1 72000 84000 t
+(abs or leaders found after the last tab stop are ignored, b)3330 1 114630 u
+(ut may be used as)3330 1 347950 u
+&12
+(ne)425700 v
+(xt\001string)434940 v
+&11
+(terminators.)472160 v
+(T)72000 100800 w
+(abs and leaders are not interpreted in)4473 1 77310 u
+&12
+(copy mode)4473 1 240801 u
+&11
+(.)285814 v
+[ /Dest /Anchor$copy$20mode
+/Rect [240801 -101800 288314 -92800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$e$5ft
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(\017t)292787 v
+&11
+(and)303370 v
+[ /Dest /Anchor$e$5fa
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(\017a)322283 v
+&11
+(al)334536 v
+(w)341656 v
+(ays generate a non\001interpreted tab and leader)4474 1 348776 u
+(respecti)72000 112800 w
+(v)102850 v
+(ely)107700 v
+(, and are equi)3330 1 119270 u
+(v)175380 v
+(alent to actual tabs and leaders in)3330 1 180130 u
+&12
+(copy mode)3330 1 321190 u
+&11
+(.)365060 v
+[ /Dest /Anchor$copy$20mode
+/Rect [321190 -113800 367560 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(9.2.)72000 129600 w
+(F)88666 v
+(ields.)94326 v
+[ /Dest /Bookmark$70
+ /View [/XYZ -4 674.4 0]
+/DEST pdfmark
+&11
+(A)118893 v
+&12
+(\003eld)129840 v
+&11
+(is contained between a)3727 1 150787 u
+&12
+(pair)249005 v
+&11
+(of)269402 v
+&12
+(\003eld delimiter)3727 1 281459 u
+&11
+( sub\001strings separated)3728(characters, and consists of)3727 2 342243 u
+(by)72000 141600 w
+&12
+(padding)86177 v
+&11
+( The)7327(indicator characters.)4177 2 123134 u
+(\003eld length is the distance on the)4177 1 232945 u
+&12
+(input)378844 v
+&11
+(line from the position where the)4176 1 403580 u
+(\003eld be)4716 1 72000 153600 t
+( ne)4717(gins to the)4716 2 103786 u
+( dif)4717( The)7867(xt tab stop.)4717 3 163895 u
+(ference between the total length of all the sub\001strings and the)4717 1 251493 u
+(\003eld)522220 v
+( space that is di)5103(length is incorporated as horizontal padding)5104 2 72000 165600 t
+( The)8253(vided among the indicated padding places.)5103 2 332652 u
+(incorporated padding is allo)3474 1 72000 177600 t
+(wed to be ne)3474 1 186602 u
+(g)240194 v
+(ati)245144 v
+(v)254894 v
+(e. F)6804 1 259744 u
+(or e)3474 1 278898 u
+(xample, if the)3474 1 294992 u
+(\003eld delimiter is)3475 1 355685 u
+&13
+(#)426670 v
+&11
+(and the padding indicator)3475 1 435145 u
+(is)72000 189600 w
+&13
+(^)82000 v
+&11
+(,)85330 v
+&13
+(#^)91160 v
+&12
+(xxx)99490 v
+&13
+(^)112810 v
+&12
+(right)116140 v
+&13
+(#)137256 v
+&11
+(speci\003es a right\001adjusted string with the string)3330 1 145586 u
+&12
+(xxx)338886 v
+&11
+(centered in the remaining space.)3330 1 355536 u
+&14
+(Request)72000 206400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 218400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$ta
+ /View [/XYZ -4 568.8 0]
+/DEST pdfmark
+&13
+(.ta)72000 235200 w
+&12
+(Nt)86160 v
+(...)98940 v
+&11
+(8)129600 v
+(n;)136266 v
+(0.5)147376 v
+(i)161542 v
+(none)187200 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+( types.)3937(Set tab stops and)3936 2 280800 u
+&12
+(t=)387422 v
+&13
+(R)396952 v
+&11
+(, right adjusting;)3937 1 404172 u
+&12
+(t=)476823 v
+&13
+(C)486353 v
+&11
+(, centering;)3937 1 493573 u
+&12
+(t)280800 247200 w
+&11
+(absent, left adjusting.)3970 1 287550 u
+&12
+(tr)383340 v
+(of)389560 v
+(f)397160 v
+&11
+(tab stops are preset e)3970 1 403910 u
+(v)492850 v
+(ery 0.5in.;)3970 1 497700 u
+&12
+(nr)280800 259200 w
+(of)289240 v
+(f)296840 v
+&11
+(e)304792 v
+(v)308982 v
+( stop v)5172( The)8322(ery 0.8in.)5172 3 313832 u
+( by spaces,)5173(alues are separated)5172 2 410190 u
+(and a v)4624 1 280800 271200 t
+(alue preceded by)4624 1 313678 u
+&13
+(+)390299 v
+&11
+(is treated as an increment to the)4623 1 400622 u
+(pre)280800 283200 w
+( v)5919(vious stop)5918 2 293320 u
+(alue. The)9069 1 348247 u
+[ /Dest /Anchor$n$5f$2eS
+ /View [/XYZ -4 520.8 0]
+/DEST pdfmark
+&13
+(.S)397945 v
+&11
+(re)411924 v
+(gister* and the)5919 1 419544 u
+[ /Dest /Anchor$n$5f$2etabs
+ /View [/XYZ -4 520.8 0]
+/DEST pdfmark
+&13
+(.tabs)491181 v
+&11
+(re)517380 v
+(gis\001)525000 v
+( current tab stops in a form that is)4555(ter hold a string with the)4556 2 280800 295200 t
+(acceptable for the)4134 1 280800 307200 t
+&13
+(ta)359282 v
+&11
+( sa)4135(request; it can thus be used to)4134 2 371746 u
+(v)512135 v
+(e and)4135 1 516985 u
+(restore tab stops.)3330 1 280800 319200 t
+&13
+(.ta)72000 336000 w
+&12
+(Mv)86160 v
+(...)102260 v
+(Nw)113090 v
+&13
+(T)129760 v
+&12
+(At)139580 v
+(...)151800 v
+(Zu)162630 v
+&11
+(a)173190 v
+&12
+(N)187200 v
+&11
+(=0)193870 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Set repeated tab stops and types at)6553 1 280800 u
+&12
+(Mv)448871 v
+&11
+(, ...,)6553 1 461641 u
+&12
+(Nw)487247 v
+&11
+(,)500587 v
+&12
+(N)509640 v
+&11
+(+)519640 v
+&12
+(At)528610 v
+&11
+(,)537500 v
+(...,)280800 348000 w
+&12
+(N)298024 v
+&11
+(+)308024 v
+&12
+(Zu)316994 v
+&11
+(,)327554 v
+&12
+(N)337278 v
+&11
+(+)347278 v
+&12
+(Z)356248 v
+&11
+(+)365138 v
+&12
+(At)374108 v
+&11
+(, ...,)7223 1 382998 u
+&12
+(N)409944 v
+&11
+(+)419944 v
+&12
+(Z)428914 v
+&11
+(+)437804 v
+&12
+(Zu)446774 v
+&11
+(,)457334 v
+&12
+(N)467057 v
+&11
+(+)477057 v
+(2\204)486027 v
+&12
+(Z)493527 v
+&11
+(+)502417 v
+&12
+(At)511387 v
+&11
+(, ...,)7223 1 520277 u
+&12
+(N)280800 360000 w
+&11
+(+)290800 v
+(2\204)299770 v
+&12
+(Z)307270 v
+&11
+(+)316160 v
+&12
+(Zu)325130 v
+&11
+(,)335690 v
+&12
+(N)346634 v
+&11
+(+)356634 v
+(3\204)365604 v
+&12
+(Z)373104 v
+&11
+(+)381994 v
+&12
+(At)390964 v
+&11
+(, ...,)8444 1 399854 u
+&12
+(N)429242 v
+&11
+(+)439242 v
+(3\204)448212 v
+&12
+(Z)455712 v
+&11
+(+)464602 v
+&12
+(Zu)473572 v
+&11
+(, ...)8444 1 484132 u
+(. Thus)11594 1 505906 u
+&13
+(.ta)280800 372000 w
+(T)294660 v
+(0.5i)304660 v
+&11
+(sets tab stops e)5826 1 325766 u
+(v)395214 v
+( and)5825(ery 0.5in,)5826 2 400064 u
+&13
+(.ta)467530 v
+(1i)481690 v
+(4i)492800 v
+(T)503610 v
+(.25i)513610 v
+(1i)532220 v
+&11
+(sets tab stops at 1in, 4in, 4.25in, 5in, 5.25in, 6in, 6.25in, etc.)3330 1 280800 384000 t
+[ /Dest /Anchor$tc
+ /View [/XYZ -4 403.2 0]
+/DEST pdfmark
+&13
+(.tc)72000 400800 w
+&12
+(c)85600 v
+&11
+(none)129600 v
+(none)187200 v
+(E)244800 v
+(The tab repetition character becomes)3625 1 280800 u
+&12
+(c)436656 v
+&11
+(, or is remo)3626 1 441096 u
+(v)489874 v
+(ed specify\001)3626 1 494724 u
+(ing motion.)3330 1 280800 412800 t
+[ /Dest /Anchor$lc
+ /View [/XYZ -4 374.4 0]
+/DEST pdfmark
+&13
+(.lc)72000 429600 w
+&12
+(c)85050 v
+&13
+(.)129600 v
+&11
+(none)187200 v
+(E)244800 v
+( character becomes)6579(The leader repetition)6578 2 280800 u
+&12
+(c)463633 v
+&11
+(, or is remo)6579 1 468073 u
+(v)525710 v
+(ed)530560 v
+(specifying motion.)3330 1 280800 441600 t
+[ /Dest /Anchor$fc
+ /View [/XYZ -4 345.6 0]
+/DEST pdfmark
+&13
+(.fc)72000 458400 w
+&12
+(a)85600 v
+(b)93930 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(\012)244800 v
+(The)280800 v
+(\003eld delimiter is set to)4239 1 300589 u
+&12
+(a)401234 v
+&11
+( set to)4240(; the padding indicator is)4239 2 406234 u
+(the)280800 470400 w
+&12
+(space)297083 v
+&11
+(character or to)4063 1 323916 u
+&12
+(b)388855 v
+&11
+( gi)4062(, if)4063 2 393855 u
+(v)418120 v
+( the absence of ar)4062(en. In)7392 2 422970 u
+(gu\001)526670 v
+(ments the)3330 1 280800 482400 t
+(\003eld mechanism is turned of)3330 1 323570 u
+(f.)440520 v
+[ /Dest /Anchor$s$5ftrans
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&13
+( and Output Con)3330(10. Input)6660 2 72000 499200 t
+(v)189670 v
+( T)3030(entions and Character)3330 2 194570 u
+(ranslations)300740 v
+[ /Dest /Bookmark$71
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&12
+(10.1.)72000 516000 w
+(Input c)3330 1 93666 u
+(har)122396 v
+(acter tr)3330 1 136136 u
+(anslations.)166536 v
+[ /Dest /Bookmark$72
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&11
+(W)213652 v
+( set were discussed in)3797(ays of inputting the graphic character)3796 2 222292 u
+(\0152.1.)473537 v
+[ /Dest /Anchor$c$5fchar
+/Rect [473537 -517000 493537 -508000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(The)497154 v
+9 s
+(ASCII)516501 v
+10 s
+(control characters horizontal tab \(\0159.1\),)3551 1 72000 528000 t
+[ /Dest /Anchor$s$5ftabs
+/Rect [147962 -529000 234494 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+9 s
+(SOH)238045 v
+10 s
+(\(\0159.1\),)259596 v
+[ /Dest /Anchor$s$5ftabs
+/Rect [238045 -529000 286256 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and e_backspace \(\01510.3\))3551 1 289807 u
+[ /Dest /Anchor$c$5fbackspace
+/Rect [307798 -529000 391039 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(are discussed else)3550 1 394590 u
+( ne)3550(where. The)6700 2 467530 u
+(w\001)529450 v
+( addition,)3960( In)7290(line delimits input lines.)3960 3 72000 540000 t
+9 s
+(STX)231880 v
+10 s
+(,)248881 v
+9 s
+(ETX)255341 v
+10 s
+(,)272837 v
+9 s
+(ENQ)279297 v
+10 s
+(,)297792 v
+9 s
+(A)304252 v
+(CK)310390 v
+10 s
+(, and)3960 1 322891 u
+9 s
+(BEL)347751 v
+10 s
+(are accepted, and may be used as delim\001)3961 1 368713 u
+(iters or translated into a graphic with)3330 1 72000 552000 t
+&13
+(tr)227510 v
+[ /Dest /Anchor$tr
+/Rect [227510 -553000 235280 -544000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\01510.5\).)238610 v
+[ /Dest /Anchor$c$5ftrans
+/Rect [238610 -553000 270270 -544000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(All)273600 v
+&11
+(others are ignored.)3330 1 288600 u
+(The)72000 568800 w
+&12
+(escape)91753 v
+&11
+(character)123166 v
+&13
+(\017)164009 v
+&11
+(introduces)170992 v
+&12
+(escape sequences)4203 1 216855 u
+&11
+(\006causes the follo)4203 1 288808 u
+( character)4204(wing character to mean another)4203 2 364174 u
+(,)537500 v
+( complete list of such sequences is gi)3760( A)6540
+(or to indicate some function.)3760 3 72000 580800 t
+(v)362120 v
+(en in the Summary)3760 1 366970 u
+(.)445930 v
+&13
+(\017)455520 v
+&11
+(should not be con\001)3760 1 462060 u
+(fused with the)3428 1 72000 592800 t
+9 s
+(ASCII)133944 v
+10 s
+(control character)3428 1 160871 u
+9 s
+(ESC)232697 v
+10 s
+( escape character)3428( The)6578(of the same name.)3428 3 252631 u
+&13
+(\017)423877 v
+&11
+(can be output by using the)3429 1 430085 u
+(special character)3632 1 72000 604800 t
+[ /Dest /Anchor$e$5fesc
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+&13
+(\017\(rs)143673 v
+&11
+( escape character can be changed with)3631(. The)6781 2 158113 u
+&13
+(ec)346071 v
+&11
+(,)354951 v
+[ /Dest /Anchor$ec
+/Rect [346071 -605800 357451 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and all that has been said about the def)3631 1 361082 u
+(ault)525000 v
+&13
+(\017)72000 616800 w
+&11
+(becomes true for the ne)4250 1 79030 u
+(w escape character)4250 1 179640 u
+(.)258100 v
+[ /Dest /Anchor$e$5fe
+ /View [/XYZ -4 187.2 0]
+/DEST pdfmark
+&13
+(\017e)268180 v
+&11
+(can be used to print whate)4250 1 279650 u
+(v)392850 v
+(er the current escape character is;)4250 1 397700 u
+(this escape sequence is interpreted in)4344 1 72000 628800 t
+&12
+(copy mode)4343 1 233584 u
+&11
+(.)278467 v
+[ /Dest /Anchor$copy$20mode
+/Rect [233584 -629800 280967 -620800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$e$5fE
+ /View [/XYZ -4 175.2 0]
+/DEST pdfmark
+&13
+(\017E)285310 v
+&11
+(e)299103 v
+(v)303293 v
+(aluates to the current escape character b)4343 1 308043 u
+(ut is not inter)4343 1 478281 u
+(\001)536670 v
+(preted in)4091 1 72000 640800 t
+&12
+(copy mode)4091 1 112952 u
+&11
+(;)157583 v
+[ /Dest /Anchor$copy$20mode
+/Rect [112952 -641800 160363 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( introduce an escape sequence once the string is)4092
+(if it is put into a string or macro, it will)4091 2 164454 u
+(printed or the macro is e)3465 1 72000 652800 t
+(x)174155 v
+(ecuted, respecti)3465 1 179005 u
+(v)241920 v
+(ely)246770 v
+(.)258340 v
+&13
+(ecs)267635 v
+[ /Dest /Anchor$ecs
+/Rect [267635 -653800 280405 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)283870 v
+&13
+(ecr)301775 v
+[ /Dest /Anchor$ecr
+/Rect [301775 -653800 315095 -644800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sa)318560 v
+(v)326690 v
+(e and restore the escape character)3465 1 331540 u
+( necessary or)3465(. If)6795 2 469915 u
+(con)72000 664800 w
+(v)86040 v
+(enient, the escape mechanism may be turned of)3330 1 90890 u
+(f with)3330 1 285850 u
+&13
+(eo)313620 v
+[ /Dest /Anchor$eo
+/Rect [313620 -665800 323060 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and restored with)3330 1 323060 u
+&13
+(ec)403310 v
+[ /Dest /Anchor$ec
+/Rect [403310 -665800 412190 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)412190 v
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 705000 w
+&20
+(\005)72000 718000 w
+&11
+(Re)77333 v
+(gister)86101 v
+&13
+(.S)106541 v
+&11
+(is a)2664 1 115653 u
+(v)127045 v
+(ailable for compatibility with D)2664 1 130845 u
+(WB.)234589 v
+10 s
+(\001)294340 760800 w
+(41)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 41 41
+%%Page: 42 42
+save
+mark
+42 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$ec
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.ec)72000 112800 w
+&12
+(c)86710 v
+&13
+(\017)129600 v
+(\017)187200 v
+&11
+(\012)244800 v
+(Set escape character to)3330 1 280800 u
+&13
+(\017)377970 v
+&11
+(, or to)3330 1 380750 u
+&12
+(c)409350 v
+&11
+(, if gi)3330 1 413790 u
+(v)436590 v
+(en.)441440 v
+[ /Dest /Anchor$eo
+ /View [/XYZ -4 674.4 0]
+/DEST pdfmark
+&13
+(.eo)72000 129600 w
+&11
+(on)129600 v
+(\012)187200 v
+(\012)244800 v
+(T)280800 v
+(urn escape mechanism of)3330 1 286460 u
+(f.)390060 v
+[ /Dest /Anchor$ecs
+ /View [/XYZ -4 657.6 0]
+/DEST pdfmark
+&13
+(.ecs)72000 146400 w
+&11
+(\017)129600 v
+(\012)187200 v
+(\012)244800 v
+(Sa)280800 v
+(v)290600 v
+(e escape character)3330 1 295450 u
+(.)369290 v
+[ /Dest /Anchor$ecr
+ /View [/XYZ -4 640.8 0]
+/DEST pdfmark
+&13
+(.ecr)72000 163200 w
+&11
+(\017)129600 v
+(\012)187200 v
+(\012)244800 v
+(Restore sa)3330 1 280800 u
+(v)322810 v
+(ed escape character)3330 1 327660 u
+(.)406500 v
+[ /Dest /Anchor$escoff
+ /View [/XYZ -4 624 0]
+/DEST pdfmark
+&13
+(.escoff)72000 180000 w
+&12
+(esc ...)4072 1 103002 u
+&11
+(on)131084 v
+(ignored)188684 v
+(\012)246284 v
+(Disable escapes)4073 1 282284 u
+&12
+(esc ...)4073 1 351520 u
+&11
+(. F)7403 1 377529 u
+(or e)4073 1 392842 u
+(xample the request)4073 1 409535 u
+&13
+(.escoff ; @)4073 1 492294 u
+&11
+(w)280800 192000 w
+(ould disable escapes)3444 1 287920 u
+&13
+(\017;)374902 v
+&11
+(,)381012 v
+&13
+(\017@{)386956 v
+&11
+(, and)3444 1 402976 u
+&13
+(\017@})426804 v
+&11
+( request had been)3444(. The)6594 2 442824 u
+(added as a w)5001 1 280800 204000 t
+( mistak)5002(orkaround for manual pages which by)5001 2 339573 u
+(e)535560 v
+( the moment only one\001character)5094( At)7874(escape normal charaters.)5095 3 280800 216000 t
+(ar)280800 228000 w
+(guments are v)3330 1 288390 u
+( may change in future v)3330(alid. This)6480 2 345900 u
+(ersions.)486360 v
+[ /Dest /Anchor$escon
+ /View [/XYZ -4 559.2 0]
+/DEST pdfmark
+&13
+(.escon)72000 244800 w
+&12
+(esc ...)3330 1 101160 u
+&11
+(on)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Enable escapes)3330 1 280800 u
+&12
+(esc ...)3330 1 345770 u
+&11
+(.)371036 v
+&12
+(10.2.)72000 261600 w
+(Ligatur)93666 v
+(es.)123306 v
+[ /Dest /Bookmark$73
+ /View [/XYZ -4 542.4 0]
+/DEST pdfmark
+&11
+(The set of a)3550 1 137506 u
+(v)187386 v
+(ailable lig)3550 1 192136 u
+(atures is de)3550 1 232856 u
+(vice and font dependent, b)3550 1 279696 u
+(ut is often a subset of)3550 1 389506 u
+&13
+(\003)483576 v
+&11
+(,)489136 v
+&13
+(\004)495187 v
+&11
+( and)3551(, , ,)6881 2 500747 u
+(. The)6910 1 75330 273600 t
+(y may be input \(e)3760 1 100140 u
+(v)174920 v
+(en in)3760 1 179770 u
+&12
+(nr)204510 v
+(of)212950 v
+(f)220550 v
+&11
+(\) by)3760 1 223330 u
+&13
+(\017\(f)244180 v
+(i)253370 v
+&11
+(,)256150 v
+&13
+(\017\(fl)262410 v
+&11
+(,)274630 v
+&13
+(\017\(ff)280890 v
+&11
+(,)293660 v
+&13
+(\017\(Fi)299920 v
+&11
+(, and)3760 1 314920 u
+&13
+(\017\(Fl)339380 v
+&11
+(respecti)358140 v
+(v)388990 v
+(ely)393840 v
+(. In)7090 1 405410 u
+&12
+(tr)427090 v
+(of)433310 v
+(f)440910 v
+(,)443590 v
+&11
+(the)449850 v
+&13
+(flig)465830 v
+[ /Dest /Anchor$flig
+/Rect [465830 -274600 479720 -265600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request speci\001)3760 1 483480 u
+(f)72000 285600 w
+( set of lig)3389(ies the)3388 2 75130 u
+(atures a)3389 1 141965 u
+(v)173474 v
+(ailable with an indi)3389 1 178224 u
+( lig)3389( The)6539(vidual font.)3389 3 257581 u
+(ature mode is normally on in)3389 1 340568 u
+&12
+(tr)463672 v
+(of)469892 v
+(f)477492 v
+(,)480172 v
+&11
+(and)486061 v
+&12
+(automat\001)503890 v
+(ically)72000 297600 w
+&11
+(in)97550 v
+(v)104930 v
+(ok)109730 v
+(es lig)3330 1 119630 u
+( most the)3330( At)6110(atures during input.)3330 3 141800 u
+(\003v)279280 v
+(e named lig)3330 1 289690 u
+(atures are enabled by def)3330 1 337960 u
+(ault.)441140 v
+(The lig)3892 1 72000 314400 t
+(ature suppressor)3892 1 101952 u
+[ /Dest /Anchor$e$5f$3b
+ /View [/XYZ -4 489.6 0]
+/DEST pdfmark
+&13
+(\017;)172496 v
+&11
+(disables automatic lig)3892 1 182498 u
+(ature b)3892 1 272452 u
+( between tw)3893(uilding if it is placed)3892 2 301134 u
+(o characters, b)3893 1 440488 u
+(ut has no)3893 1 501104 u
+(other ef)3330 1 72000 326400 t
+(fects. Man)6660 1 103400 u
+(y other escape sequences, e.g.)3330 1 149620 u
+&13
+(\017&)275950 v
+[ /Dest /Anchor$e$5f$26
+/Rect [275950 -327400 287060 -318400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)287060 v
+&13
+(\017%)292890 v
+[ /Dest /Anchor$e$5f$25
+/Rect [292890 -327400 305670 -318400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, also disable automatic lig)3330 1 305670 u
+(ature b)3330 1 415880 u
+(uilding.)444000 v
+&14
+(Request)72000 343200 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 355200 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$lg
+ /View [/XYZ -4 432 0]
+/DEST pdfmark
+&13
+(.lg)72000 372000 w
+&12
+(N)85610 v
+&11
+(of)129600 v
+(f;)137680 v
+(on)147120 v
+(on)187200 v
+(\012)244800 v
+(Lig)280800 v
+( is turned on if)5011(ature mode)5010 2 294640 u
+&12
+(N)415245 v
+&11
+(is absent or non\001zero, and)5011 1 426926 u
+(turned of)3369 1 280800 384000 t
+(f if)3369 1 317799 u
+&12
+(N)333977 v
+&20
+(\010)340647 v
+&11
+(0. If)6699 1 346970 u
+&12
+(N)371197 v
+&20
+(\010)377867 v
+&11
+(2, only the tw)3368 1 384190 u
+(o\001character lig)3368 1 441694 u
+(atures are)3368 1 500542 u
+(automatically in)3727 1 280800 396000 t
+(v)346347 v
+(ok)351147 v
+(ed. Lig)7057 1 361047 u
+( request,)3728(ature mode is inhibited for)3727 2 393884 u
+(macro, string, re)4785 1 280800 408000 t
+(gister)350760 v
+(, or)4785 1 372580 u
+(\003le names, and in)4785 1 392980 u
+&12
+(copy mode)4785 1 475170 u
+&11
+(.)520495 v
+[ /Dest /Anchor$copy$20mode
+/Rect [475170 -409000 522995 -400000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(No)527780 v
+(ef)280800 420000 w
+(fect in)3330 1 288320 u
+&12
+(nr)317750 v
+(of)326190 v
+(f)333790 v
+(.)336420 v
+[ /Dest /Anchor$flig
+ /View [/XYZ -4 367.2 0]
+/DEST pdfmark
+&13
+(.flig)72000 436800 w
+&12
+(F)91720 v
+(string)101160 v
+(c)127830 v
+(...)135600 v
+&11
+(ignored)187200 v
+(T)244800 v
+(De\003ne the set of lig)3712 1 280800 u
+( used with font)3713(atures to be)3712 2 364478 u
+&12
+(F)480074 v
+&11
+(.)486184 v
+&12
+(string)495727 v
+&11
+(may)522780 v
+(consist of up to four characters; its e)4109 1 280800 448800 t
+(xact occurences are sub\001)4109 1 437163 u
+(stituted by the character)4187 1 280800 460800 t
+&12
+(c)385858 v
+&11
+(whene)394485 v
+(v)420335 v
+( is)4188(er the current font)4187 2 425185 u
+&12
+(F)517212 v
+&11
+(. If)7518 1 523322 u
+&12
+(string)280800 472800 w
+&11
+(starts with a minus sign, lig)3339 1 307480 u
+(ature subtitution for it is dis\001)3339 1 421635 u
+(abled; the)4325 1 280800 484800 t
+&12
+(c)326110 v
+&11
+(ar)334876 v
+( is)4326( It)7656(gument must not be present in this case.)4326 3 342466 u
+(required that an)5002 1 280800 496800 t
+(y substring of)5002 1 348414 u
+&12
+(string)413420 v
+&11
+(that consists of tw)5002 1 441762 u
+(o or)5002 1 521668 u
+(more characters is also de\003ned as a lig)3532 1 280800 508800 t
+(ature. Multiple)6863 1 442104 u
+&12
+(string/c)509440 v
+&11
+(pairs may be gi)4438 1 280800 520800 t
+(v)347744 v
+( case,)4437( a special)4438(en. As)7218 3 352594 u
+&13
+(.flig)452532 v
+&12
+(F)473359 v
+&13
+(0)483906 v
+&11
+(disables all)4437 1 493343 u
+(lig)280800 532800 w
+(atures for font)3930 1 291310 u
+&12
+(F)354750 v
+&11
+( def)3930(. The)7080 2 360860 u
+(ault set of lig)3930 1 402590 u
+(atures is speci\003c to)3930 1 459330 u
+(a font and is determined from its metrics)3330 1 280800 544800 t
+(\003le.)452420 v
+(As e)3561 1 280800 561600 t
+(xamples,)299761 v
+&13
+( Th)3262(.flig R)3562 2 339152 u
+(\017[T_h])385378 v
+&11
+(enables a lig)3562 1 415610 u
+(ature for)3562 1 467674 u
+(\027)506448 v
+(\027Th\030)509038 v
+(\030 in)2822 1 526068 u
+(font)280800 573600 w
+&13
+(R)300240 v
+&11
+(, and)3330 1 307460 u
+&13
+(.\004ig R)3330 1 331060 u
+(\012Th)360780 v
+&11
+(disables it.)3330 1 381340 u
+[ /Dest /Anchor$fdeferlig
+ /View [/XYZ -4 213.6 0]
+/DEST pdfmark
+&13
+(.fdeferlig)72000 590400 w
+&12
+(F)113930 v
+(string)123370 v
+(...)150040 v
+&11
+(ignored)187200 v
+(T)244800 v
+(Defer lig)4504 1 280800 u
+(ature b)4504 1 318574 u
+(uilding for the)4504 1 347868 u
+(\003rst character of)4505 1 413600 u
+&12
+(string)487645 v
+&11
+(. Nor)7835 1 510985 u
+(\001)536670 v
+( sequence of three characters appears for which)4242(mally when a)4243 2 280800 602400 t
+(both the)3746 1 280800 614400 t
+( last tw)3747(\003rst and the)3746 2 318292 u
+(o characters are de\003ned as a lig)3747 1 399288 u
+(a\001)532230 v
+(ture, the lig)4917 1 280800 626400 t
+(ature is b)4917 1 331414 u
+(uilt using the)4917 1 372708 u
+(\003rst tw)4917 1 434689 u
+( F)8247(o characters.)4917 2 465066 u
+(or)531670 v
+(e)280800 638400 w
+(xample, if)3995 1 285090 u
+(\027)331130 v
+(\027f)333720 v
+(f)340130 v
+(i\030)343260 v
+( both)3996( in input and)3995(\030 appears)3255 3 348630 u
+(\027)466292 v
+(\027f)468882 v
+(f)475292 v
+(\030)479172 v
+(\030 and)3256 1 481762 u
+(\027)506784 v
+(\027f)509374 v
+(i\030)515834 v
+(\030 are)3256 1 521204 u
+(de\003ned as lig)4671 1 280800 650400 t
+(atures, the)4671 1 338422 u
+(\027)386364 v
+(\027f)388954 v
+(f)395364 v
+(\030)399244 v
+(\030 lig)3931 1 401834 u
+(ature is b)4671 1 419605 u
+(uilt, follo)4671 1 460407 u
+(wed by a)4671 1 499558 u
+(single)280800 662400 w
+(\027)308260 v
+(\027i\030)310850 v
+(\030 character)2830 1 319550 u
+( of this request causes the lig)3570(. Use)6900 2 361800 u
+(ature to)3570 1 508660 u
+(be b)4691 1 280800 674400 t
+(uilt using the second tw)4691 1 299731 u
+(o characters, so in the e)4691 1 403395 u
+(xample,)508060 v
+&13
+(.fdeferlig R ff)3404 1 280800 686400 t
+(i)339838 v
+&11
+(w)346022 v
+(ould result in a single)3404 1 353142 u
+(\027)446272 v
+(\027f)448862 v
+(\030)456072 v
+( follo)3404(\030 character)2664 2 458662 u
+(wed)523340 v
+(by a)3330 1 280800 698400 t
+(\027)301900 v
+(\027f)304490 v
+(i\030)310950 v
+(\030 lig)2590 1 316320 u
+(ature.)332750 v
+&12
+(10.3.)72000 715200 w
+[ /Dest /Anchor$c$5fbackspace
+ /View [/XYZ -4 88.8 0]
+/DEST pdfmark
+(Bac)93666 v
+(kspacing)109016 v
+(, underlining)3330 1 144466 u
+(, o)3330 1 196866 u
+(ver)207596 v
+(striking)220266 v
+(, etc.)3330 1 250726 u
+[ /Dest /Bookmark$74
+ /View [/XYZ -4 88.8 0]
+/DEST pdfmark
+&11
+(Unless in)3725 1 274441 u
+&12
+(copy mode)3725 1 316891 u
+&11
+(,)361156 v
+[ /Dest /Anchor$copy$20mode
+/Rect [316891 -716200 363656 -707200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(the)367381 v
+9 s
+(ASCII)383327 v
+10 s
+(backspace character is replaced)3726 1 410552 u
+(by a backw)3493 1 72000 727200 t
+(ard horizontal motion ha)3493 1 119426 u
+(ving the width of the space character)3493 1 220805 u
+( line\001dra)3492( as a form of)3493(. Underlining)6823 3 373393 u
+(wing)520000 v
+(\001)294340 760800 w
+(42)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 42 42
+%%Page: 43 43
+save
+mark
+43 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(is discussed in)3330 1 72000 84000 t
+(\01512.4.)134770 v
+[ /Dest /Anchor$c$5fline
+/Rect [123660 -85000 159770 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(A generalized o)3330 1 162550 u
+(v)227370 v
+(erstriking function is described in)3330 1 232220 u
+(\01512.1.)373300 v
+[ /Dest /Anchor$c$5foverstrike
+/Rect [362190 -85000 398300 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$c$5fnrofful
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&12
+(nr)72000 100800 w
+(of)80440 v
+(f)88040 v
+&11
+(automatically underlines characters in the)3614 1 94434 u
+&12
+(underline)269135 v
+&11
+(font, speci\003able with)3615 1 311080 u
+&13
+(uf)401085 v
+[ /Dest /Anchor$uf
+/Rect [401085 -101800 409975 -92800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, normally that on font position)3615 1 409975 u
+( T)3867(2 \(normally)4047 2 72000 112800 t
+(imes Italic, see)4047 1 130114 u
+(\0152.2\).)196965 v
+[ /Dest /Anchor$c$5ffonts
+/Rect [180148 -113800 220295 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(In addition to)4047 1 224342 u
+&13
+(ft)285373 v
+[ /Dest /Anchor$ft
+/Rect [285373 -113800 292033 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)296080 v
+&13
+(\017f)314567 v
+&12
+(F)320677 v
+&11
+(,)326787 v
+[ /Dest /Anchor$e$5ff
+/Rect [314567 -113800 329287 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( may be selected by)4046(the underline font)4047 2 333334 u
+&13
+(ul)496628 v
+[ /Dest /Anchor$ul
+/Rect [496628 -113800 504968 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)509014 v
+&13
+(cu)527500 v
+[ /Dest /Anchor$cu
+/Rect [527500 -113800 537500 -104800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)537500 v
+(Underlining is restricted to an output\001de)3330 1 72000 124800 t
+(vice\001dependent subset of)3330 1 236160 u
+&12
+(r)340570 v
+(easonable)344090 v
+&11
+(characters.)387970 v
+&14
+(Request)72000 141600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 153600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$ul
+ /View [/XYZ -4 633.6 0]
+/DEST pdfmark
+&13
+(.ul)72000 170400 w
+&12
+(N)86170 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(E)244800 v
+(Underline in)3377 1 280800 u
+&12
+(nr)335324 v
+(of)343764 v
+(f)351364 v
+&11
+(\(italicize in)3377 1 357521 u
+&12
+(tr)407045 v
+(of)413265 v
+(f)420865 v
+&11
+(\) the ne)3377 1 423645 u
+(xt)455239 v
+&12
+(N)466396 v
+&11
+(input te)3378 1 476444 u
+(xt lines.)3378 1 507452 u
+(Actually)280800 182400 w
+(, switch to)4207 1 314590 u
+&12
+(underline)363601 v
+&11
+(font, sa)4207 1 406138 u
+( current font for)4206(ving the)4207 2 437085 u
+(later restoration;)4923 1 280800 194400 t
+&12
+(other)353966 v
+&11
+(font changes within the span of a)4923 1 379999 u
+&13
+(ul)531660 v
+&11
+(will tak)4201 1 280800 206400 t
+(e ef)4201 1 312681 u
+(fect, b)4201 1 328842 u
+(ut the restoration will undo the last change.)4201 1 355333 u
+(Output generated by)4701 1 280800 218400 t
+&13
+(tl)371553 v
+[ /Dest /Anchor$tl
+/Rect [371553 -219400 377663 -210400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\01514\))382364 v
+[ /Dest /Anchor$s$5ftitles
+/Rect [382364 -219400 404024 -210400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(is)408725 v
+&11
+(af)420096 v
+(fected by the font change,)4701 1 427616 u
+(b)280800 230400 w
+(ut does)4992 1 285600 u
+&12
+(not)321694 v
+&11
+(decrement)339466 v
+&12
+(N)386108 v
+&11
+(. If)8322 1 392778 u
+&12
+(N)415252 v
+&11
+(>)422755 v
+(1, there is the risk that a)4992 1 429228 u
+(trap interpolated macro may pro)3404 1 280800 242400 t
+(vide te)3404 1 413126 u
+(xt lines within the span;)3405 1 440820 u
+(en)280800 254400 w
+(vironment switching can pre)3330 1 289840 u
+(v)406230 v
+(ent this.)3330 1 411080 u
+[ /Dest /Anchor$cu
+ /View [/XYZ -4 532.8 0]
+/DEST pdfmark
+&13
+(.cu)72000 271200 w
+&12
+(N)87830 v
+&11
+(of)129600 v
+(f)137680 v
+&12
+(N)187200 v
+&20
+(\010)193870 v
+&11
+(1)199360 v
+(E)244800 v
+( v)3964( A)6744(Continuous underline.)3964 3 280800 u
+(ariant of)3964 1 393832 u
+&13
+(ul)432860 v
+&11
+(that causes)3965 1 445165 u
+&12
+(e)494195 v
+(very)498485 v
+&11
+(char)519660 v
+(\001)536670 v
+(acter to be underlined in)3330 1 280800 283200 t
+&12
+(nr)384650 v
+(of)393090 v
+(f)400690 v
+(.)403320 v
+&11
+(Identical to)3330 1 412480 u
+&13
+(ul)461910 v
+&11
+(in)473580 v
+&12
+(tr)484690 v
+(of)490910 v
+(f)498510 v
+(.)501140 v
+[ /Dest /Anchor$uf
+ /View [/XYZ -4 504 0]
+/DEST pdfmark
+&13
+(.uf)72000 300000 w
+&12
+(F)86720 v
+&11
+(Italic)129600 v
+(Italic)187200 v
+(\012)244800 v
+(Underline font set to)3330 1 280800 u
+&12
+(F)369110 v
+&11
+(. In)6660 1 375220 u
+&12
+(nr)396040 v
+(of)404480 v
+(f)412080 v
+(, F)3330 1 414760 u
+&11
+(may)430030 v
+&12
+(not)450580 v
+&11
+(be on position 1.)3330 1 466690 u
+&12
+(10.4.)72000 316800 w
+(Contr)93666 v
+(ol c)3330 1 116556 u
+(har)131956 v
+(acter)145696 v
+(s.)166146 v
+[ /Dest /Bookmark$75
+ /View [/XYZ -4 487.2 0]
+/DEST pdfmark
+&11
+(Both the control character)4603 1 177138 u
+&13
+(.)292190 v
+&11
+(and the)4603 1 299293 u
+&12
+(no\001br)335159 v
+(eak)357009 v
+&11
+(control character)4603 1 375492 u
+&13
+(\013)449668 v
+&11
+(may be changed, if)4603 1 457601 u
+( a change must be compatible with the design of an)3856(desired. Such)7186 2 72000 328800 t
+(y macros used in the span of the change, and)3856 1 348946 u
+(particularly of an)3330 1 72000 340800 t
+(y trap\001in)3330 1 142380 u
+(v)176970 v
+(ok)181770 v
+(ed macros.)3330 1 191670 u
+&14
+(Request)72000 357600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 369600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$cc
+ /View [/XYZ -4 417.6 0]
+/DEST pdfmark
+&13
+(.cc)72000 386400 w
+&12
+(c)86710 v
+&13
+(.)129600 v
+(.)187200 v
+&11
+(E)244800 v
+(The basic control character is set to)3330 1 280800 u
+&12
+(c)430740 v
+&11
+(, or reset to)3330 1 435180 u
+(\020)485990 v
+&13
+(.)490070 v
+&11
+(\020.)492570 v
+[ /Dest /Anchor$c2
+ /View [/XYZ -4 400.8 0]
+/DEST pdfmark
+&13
+(.c2)72000 403200 w
+&12
+(c)87270 v
+&13
+(\013)129600 v
+(\013)187200 v
+&11
+(E)244800 v
+(The)280800 v
+&12
+(nobr)299680 v
+(eak)318200 v
+&11
+(control character is set to)3330 1 335410 u
+&12
+(c)442590 v
+&11
+(, or reset to)3330 1 447030 u
+(\020)497840 v
+&13
+(\013)501920 v
+&11
+(\020.)505250 v
+&12
+(10.5.)72000 420000 w
+[ /Dest /Anchor$c$5ftrans
+ /View [/XYZ -4 384 0]
+/DEST pdfmark
+(Output tr)3330 1 93666 u
+(anslation.)131296 v
+[ /Dest /Bookmark$76
+ /View [/XYZ -4 384 0]
+/DEST pdfmark
+&11
+(One character can be made a stand\001in for another character using)4227 1 175252 u
+&13
+(tr)456649 v
+&11
+(.)464419 v
+[ /Dest /Anchor$tr
+/Rect [456649 -421000 466919 -412000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(All te)4227 1 470596 u
+(xt process\001)4227 1 494673 u
+( comparisons\) tak)3938(ing \(e.g. character)3939 2 72000 432000 t
+(es place with the input \(stand\001in\) character which appears to ha)3938 1 220944 u
+(v)487834 v
+(e the width)3938 1 492684 u
+(of the)4197 1 72000 444000 t
+(\003nal character)4197 1 100944 u
+( graphic translation occurs at the moment of output \(including di)4197
+(. The)7347 2 159011 u
+(v)459438 v
+(ersion)464288 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [451908 -445000 488728 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\). T)7347 1 488728 u
+(e)507315 v
+( a)4198(xt in)4197 2 511605 u
+(di)72000 456000 w
+(v)79530 v
+(ersion is not translated ag)3330 1 84380 u
+(ain when it is output or redi)3330 1 189860 u
+(v)305140 v
+(erted unless the)3330 1 309990 u
+&13
+(asciify)377190 v
+[ /Dest /Anchor$asciify
+/Rect [377190 -457000 404410 -448000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request had been applied on it.)3330 1 407740 u
+( motions, dra)5218
+(A character can be substituted by an arbitrary sequence of characters,)5217 2 72000 472800 t
+(wing commands, etc. by)5218 1 434356 u
+(means of the)3330 1 72000 484800 t
+&13
+(char)128090 v
+[ /Dest /Anchor$char
+/Rect [128090 -485800 147530 -476800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)150860 v
+&14
+(Request)72000 501600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 513600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$tr
+ /View [/XYZ -4 273.6 0]
+/DEST pdfmark
+&13
+(.tr)72000 530400 w
+&12
+(abcd....)85600 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate)286560 v
+&12
+(a)321497 v
+&11
+(into)330334 v
+&12
+(b)349731 v
+&11
+(,)354731 v
+&12
+(c)361068 v
+&11
+(into)369346 v
+&12
+(d)388744 v
+&11
+( an odd number of charac\001)3838( If)7168(, etc.)3838 3 393744 u
+(ters is gi)3853 1 280800 542400 t
+(v)317146 v
+( be mapped into the space char)3852(en, the last one will)3853 2 321996 u
+(\001)536670 v
+(acter)280800 554400 w
+(. T)8050 1 299680 u
+(o be consistent, a particular translation must stay in)4900 1 315540 u
+(ef)280800 566400 w
+(fect from)3330 1 288320 u
+&12
+(input)329410 v
+&11
+(to)353300 v
+&12
+(output)364410 v
+&11
+(time.)393300 v
+[ /Dest /Anchor$trin
+ /View [/XYZ -4 220.8 0]
+/DEST pdfmark
+&13
+(.trin)72000 583200 w
+&12
+(abcd....)93940 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate)286560 v
+&12
+(a)323027 v
+&11
+(into)333394 v
+&12
+(b)354321 v
+&11
+(,)359321 v
+&12
+(c)367188 v
+&11
+(into)376996 v
+&12
+(d)397924 v
+&11
+(, etc. as with)5368 1 402924 u
+&13
+(tr)467166 v
+&11
+(, b)5368 1 474936 u
+(ut when the)5368 1 487604 u
+&13
+(asciify)280800 595200 w
+&11
+(request)312193 v
+[ /Dest /Anchor$asciify
+/Rect [280800 -596200 341073 -587200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is called, retranslate)4173 1 345246 u
+&12
+(b)432464 v
+&11
+(to)441636 v
+&12
+(a)453588 v
+&11
+(,)458588 v
+&12
+(d)465260 v
+&11
+(to)474432 v
+&12
+(c)486384 v
+&11
+(, etc. in the)4172 1 490824 u
+(di)280800 607200 w
+(v)288330 v
+(ersion it is applied to.)3330 1 293180 u
+[ /Dest /Anchor$trnt
+ /View [/XYZ -4 180 0]
+/DEST pdfmark
+&13
+(.tr)72000 624000 w
+(nt)82120 v
+&12
+(abcd....)94340 v
+&11
+(none)129600 v
+(\012)187200 v
+(O)244800 v
+(T)280800 v
+(ranslate)286560 v
+&12
+(a)321002 v
+&11
+(into)329344 v
+&12
+(b)348246 v
+&11
+(,)353246 v
+&12
+(c)359088 v
+&11
+(into)366870 v
+&12
+(d)385772 v
+&11
+(, etc. as with)3342 1 390772 u
+&13
+(tr)446910 v
+&11
+( output is)3343(, unless the)3342 2 454680 u
+(written to a di)3330 1 280800 636000 t
+(v)338870 v
+(ersion in transparent mode)3330 1 343720 u
+[ /Dest /Anchor$c$5ftransparent
+/Rect [382600 -637000 452580 -628000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)452580 v
+[ /Dest /Anchor$ftr
+ /View [/XYZ -4 151.2 0]
+/DEST pdfmark
+&13
+(.ftr)72000 652800 w
+&12
+(F)88930 v
+(abcd....)98370 v
+&11
+(none)129600 v
+(\012)187200 v
+(P)244800 v
+(,T)249250 v
+(F)280800 v
+(ont\001speci\003c)286210 v
+&13
+(tr)337207 v
+&11
+( character originates from font)4338( the current)4337(. If)7667 3 344977 u
+&12
+(F)280800 664800 w
+&11
+(, translate character)3330 1 286910 u
+&12
+(a)369920 v
+&11
+(into)378250 v
+&12
+(b)397140 v
+&11
+(,)402140 v
+&12
+(c)407970 v
+&11
+(into)415740 v
+&12
+(d)434630 v
+&11
+(, etc.)3330 1 439630 u
+[ /Dest /Anchor$char
+ /View [/XYZ -4 122.4 0]
+/DEST pdfmark
+&13
+(.char)72000 681600 w
+&12
+(c)97270 v
+(string)105040 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(De\003ne character)3391 1 280800 u
+&12
+(c)350882 v
+&11
+(to)358714 v
+&12
+(string)369886 v
+&11
+(.)393226 v
+&12
+(string)402448 v
+&11
+(is read in)3392 1 429180 u
+&12
+(copy mode)3392 1 471016 u
+[ /Dest /Anchor$copy$20mode
+/Rect [471016 -682600 514948 -673600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(when)518340 v
+(the request is processed.)3330 1 280800 693600 t
+(Whene)280800 710400 w
+(v)308870 v
+(er)313720 v
+&12
+(c)326328 v
+&11
+(occurs in re)4838 1 335606 u
+(gular \(not cop)4838 1 386782 u
+(y mode\) later)4838 1 447458 u
+(, a tem\001)4838 1 505054 u
+(porary cop)4204 1 280800 722400 t
+( current en)4203(y of the)4204 2 325444 u
+(vironment is created, the escape)4203 1 405168 u
+(\001)294340 760800 w
+(43)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 43 43
+%%Page: 44 44
+save
+mark
+44 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(character is temporarily set to)4195 1 280800 84000 t
+(\017, and)4195 1 410635 u
+&12
+(string)438746 v
+&11
+(is output in no\003ll)4196 1 466282 u
+(mode to an unnamed di)4963 1 280800 96000 t
+(v)384282 v
+(ersion. If)8293 1 389132 u
+&12
+(c)435988 v
+&11
+(itself occurs in)4963 1 445391 u
+&12
+(string)514160 v
+&11
+(,)537500 v
+(no recursi)4037 1 280800 108000 t
+(v)321797 v
+( tak)4038(e substitution)4037 2 326647 u
+(es place, b)4038 1 397962 u
+(ut the plain character)4038 1 442768 u
+&12
+(c)535560 v
+&11
+( to beha)4658( resulting object continues)4659( The)7809
+(is selected instead.)4659 4 280800 120000 t
+(v)530710 v
+(e)535560 v
+(lik)280800 132000 w
+(e the single character)3463 1 291260 u
+&12
+(c)382302 v
+&11
+(in the data stream, notionally retain\001)3463 1 390205 u
+( part)4250( can thus be)4251( It)7581
+(ing its font and character size properties.)4251 4 280800 144000 t
+(of a k)4055 1 280800 156000 t
+(erning de\003nition)4055 1 306580 u
+[ /Dest /Anchor$c$5fkerning
+/Rect [301680 -157000 374525 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, can be h)4055 1 374525 u
+(yphenated \(possibly requiring)4055 1 417460 u
+(an e)4566 1 280800 168000 t
+(xplicit h)4566 1 299096 u
+( assigned using the)4565(yphenation code to be)4566 2 334172 u
+&13
+(hcode)515000 v
+[ /Dest /Anchor$hcode
+/Rect [515000 -169000 540000 -160000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request\), can become the tab or leader character)4541 1 280800 180000 t
+[ /Dest /Anchor$s$5ftabs
+/Rect [390874 -181000 486117 -172000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, and can be)4541 1 486117 u
+(used for line dra)3330 1 280800 192000 t
+(wing)348400 v
+[ /Dest /Anchor$c$5fline
+/Rect [317450 -193000 368400 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)368400 v
+( adjustments de\003ned with the)4349(Static letter space)4348 2 280800 208800 t
+&13
+(track)484001 v
+[ /Dest /Anchor$track
+/Rect [484001 -209800 506771 -200800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request)511120 v
+(are applied to each b)4069 1 280800 220800 t
+(ut the last character inside the di)4069 1 369626 u
+(v)508210 v
+(ersion,)513060 v
+( letter space adjust\001)5064( Dynamic)8394(and to the object as a whole.)5064 3 280800 232800 t
+(ments de\003ned with the)4312 1 280800 244800 t
+&13
+(letadj)381378 v
+[ /Dest /Anchor$letadj
+/Rect [381378 -245800 405818 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request are only applied to the)4312 1 410130 u
+( letter reshaping is performed on either)3898( No)7228(object as a whole.)3898 3 280800 256800 t
+(the object or the contents of the di)3330 1 280800 268800 t
+(v)422730 v
+(ersion.)427580 v
+(If both)4085 1 280800 285600 t
+&13
+(tr)313410 v
+&11
+(and)325265 v
+&13
+(char)343790 v
+&11
+(are de\003ned for a character)4085 1 367315 u
+&12
+(c)482130 v
+&11
+(,)486570 v
+&13
+(tr)493155 v
+&11
+(becomes)505010 v
+(ef)280800 297600 w
+(fecti)288320 v
+(v)305840 v
+(e)310690 v
+(\003rst and changes)3721 1 318851 u
+&12
+(c)392224 v
+&11
+(to the translation de\003ned, b)3721 1 400385 u
+(ut if)3721 1 514229 u
+&12
+(c)535560 v
+&11
+(is the result of)4171 1 280800 309600 t
+&13
+(tr)346924 v
+&11
+(and)358865 v
+&13
+(char)377476 v
+&11
+(is de\003ned for it,)4172 1 401088 u
+&13
+(char)473606 v
+&11
+(is applied.)4172 1 497218 u
+&13
+(ftr)280800 321600 w
+&11
+(has no ef)5758 1 297658 u
+(fect on characters for which)5758 1 340024 u
+&13
+(char)470434 v
+&11
+(is de\003ned.)5758 1 495632 u
+(Both)280800 333600 w
+&13
+(tr)303672 v
+&11
+(and)314864 v
+&13
+(ftr)332726 v
+&11
+(are applied to characters inside the)3423 1 347249 u
+&13
+(char)493857 v
+&11
+(di)516720 v
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+(sion as usual.)3330 1 280800 345600 t
+(At the time)5299 1 280800 362400 t
+&12
+(c)336697 v
+&11
+(w)346436 v
+(ould ha)5299 1 353556 u
+(v)385875 v
+( the)5300(e been output, the contents of)5299 2 390725 u
+(di)280800 374400 w
+(v)288330 v
+(ersion are printed instead of it.)3330 1 293180 u
+[ /Dest /Anchor$fchar
+ /View [/XYZ -4 412.8 0]
+/DEST pdfmark
+&13
+(.fchar)72000 391200 w
+&12
+(c)100600 v
+(string)108370 v
+&11
+(ignored)187200 v
+(T)244800 v
+(De\003ne character)3743 1 280800 u
+&12
+(c)351586 v
+&11
+(to)359769 v
+&12
+(string)371292 v
+&11
+(as a f)3743 1 398375 u
+( If)7074(allback only:)3743 2 421861 u
+&12
+(c)492522 v
+&11
+(is present)3744 1 500706 u
+(in the current font, output)4338 1 280800 403200 t
+&12
+(c)394980 v
+&11
+(, otherwise, output)4338 1 399420 u
+&12
+(string)481874 v
+&11
+(as with)4338 1 509552 u
+&13
+(char)280800 415200 w
+&11
+(.)300240 v
+[ /Dest /Anchor$rchar
+ /View [/XYZ -4 372 0]
+/DEST pdfmark
+&13
+(.r)72000 432000 w
+(char)78760 v
+&12
+(c...)101530 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Remo)280800 v
+(v)304540 v
+(e character de\003nitions for)3683 1 309390 u
+&12
+(c...)419092 v
+&11
+( both)3684(; applies to)3683 2 431032 u
+&13
+(char)502436 v
+&11
+(and)525560 v
+&13
+(fchar)280800 444000 w
+&11
+(.)303570 v
+[ /Dest /Anchor$utf8conv
+ /View [/XYZ -4 343.2 0]
+/DEST pdfmark
+&13
+(.utf8con)72000 460800 w
+(v)106320 v
+&12
+(c1)114650 v
+(c2)127420 v
+&11
+(ignored)187200 v
+(\012)244800 v
+&12
+(nr)280800 v
+(of)289240 v
+(f)296840 v
+&11
+(only: W)6876 1 303465 u
+(ith)339941 v
+&13
+(\012Tlocale)354347 v
+&11
+(and a)3846 1 394303 u
+9 s
+(UTF)420875 v
+10 s
+(\0018 locale,)3846 1 437876 u
+(\020)480278 v
+&13
+(\001)484358 v
+&11
+(\020 is replaced)3846 1 487688 u
+(by a)3580 1 280800 472800 t
+9 s
+(UTF)302400 v
+10 s
+(\0018 h)3580 1 319401 u
+(yphen, and)3580 1 336261 u
+(\020)384801 v
+&13
+(\017\001)388881 v
+&11
+( h)3579( ASCII)3030(\020 remains the)3580 3 394991 u
+(yphen\001minus)487780 v
+(character)280800 484800 w
+( because in manual pages,)5924( is)5923(. This)5743 3 316890 u
+(\020)479266 v
+&13
+(\017\001)483346 v
+&11
+(\020 represents)5924 1 489456 u
+( option introduction character)4779(the ASCII)4229 2 280800 496800 t
+(, and con)4779 1 448386 u
+(v)488924 v
+(erting it to)4778 1 493774 u
+(a)280800 508800 w
+9 s
+(UTF)289965 v
+10 s
+(\0018 minus character w)4725 1 306966 u
+(ould mak)4725 1 397681 u
+(e it impossible to cop)4726 1 437306 u
+(y\001)531670 v
+( considerations apply to)3990( Similar)7320
+(and\001paste option descriptions.)3990 3 280800 520800 t
+(\014)280800 532800 w
+(\026 vs.)4443 1 288573 u
+(\017\014)310649 v
+( former are typographic single quotes, while)4444(\017\026. The)7594 2 321202 u
+( syntax quotes in)4367( ASCII)3817(the latter are commonly used for the)4367 3 280800 544800 t
+(manual pages.)3330 1 280800 556800 t
+(By use of)6637 1 280800 573600 t
+&13
+(utf8con)334042 v
+(v)365862 v
+&11
+(the three def)6638 1 377500 u
+(ault translations can be)6638 1 435656 u
+( If)8894( be done.)5564(rede\003ned and additional translations can)5565 3 280800 585600 t
+&12
+(c2)518326 v
+&11
+(is)533330 v
+(missing a translation is remo)4380 1 280800 597600 t
+(v)403170 v
+( is applied for manual)4380(ed. This)7530 2 408020 u
+(pages where the no translation is used.)3330 1 280800 609600 t
+&12
+(10.6.)72000 626400 w
+[ /Dest /Anchor$c$5ftransparent
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+(T)93666 v
+(r)98676 v
+(anspar)102416 v
+(ent thr)3330 1 129826 u
+(oughput.)156596 v
+[ /Dest /Bookmark$77
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+&11
+(An input line be)4254 1 195580 u
+(ginning with a)4254 1 265412 u
+[ /Dest /Anchor$e$5f$21
+ /View [/XYZ -4 177.6 0]
+/DEST pdfmark
+&13
+(\017!)330954 v
+&11
+(is read in)4254 1 344648 u
+&12
+(copy mode)4255 1 389070 u
+[ /Dest /Anchor$copy$20mode
+/Rect [389070 -627400 433865 -618400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)438120 v
+&12
+(tr)456815 v
+(anspar)463335 v
+(ently)490745 v
+&11
+(output)514440 v
+(\(without the initial)4055 1 72000 638400 t
+&13
+(\017!)153615 v
+&11
+(\); the te)4055 1 159725 u
+(xt processor is otherwise una)4055 1 193235 u
+(w)315395 v
+(are of the line\030)4055 1 322515 u
+( mechanism may be)4054( This)7204(s presence.)4054 3 385220 u
+(used to pass control information to a post\001processor or to imbed contr\
+ol lines in a macro created by a di)3330 1 72000 650400 t
+(v)501070 v
+(ersion)505920 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [493540 -651400 530360 -642400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)530360 v
+&14
+(Request)72000 667200 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 679200 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$output
+ /View [/XYZ -4 108 0]
+/DEST pdfmark
+&13
+(.output)72000 696000 w
+&12
+(string)106170 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write)280800 v
+&12
+(string)310432 v
+&11
+(directly to intermediate output, re)6863 1 340635 u
+(g)492087 v
+(ardless of)6863 1 497037 u
+( current di)4437(whether there is a)4438 2 280800 708000 t
+(v)402148 v
+(ersion)406998 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [361861 -709000 431438 -700000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(or not.)4437 1 435875 u
+&12
+(string)471689 v
+&11
+(is read in)4437 1 499466 u
+(cop)280800 720000 w
+(y mode, and an initial double\001quote is discarded.)3330 1 295140 u
+(\001)294340 760800 w
+(44)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 44 44
+%%Page: 45 45
+save
+mark
+45 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(10.7.)72000 84000 w
+(T)93666 v
+(r)98676 v
+(anspar)102416 v
+(ent output.)3330 1 129826 u
+[ /Dest /Bookmark$78
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&11
+(The sequence)3544 1 176800 u
+[ /Dest /Anchor$e$5fX
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(\017X)236088 v
+&12
+(\013anything\013)246088 v
+&11
+(copies)291292 v
+&12
+(anything)320386 v
+&11
+(to the)3545 1 358930 u
+&12
+(tr)386020 v
+(of)392240 v
+(f)399840 v
+&11
+(output, as a de)3545 1 406165 u
+(vice control func\001)3545 1 466820 u
+(tion in the form)3991 1 72000 96000 t
+&13
+(x)142964 v
+(X)151294 v
+&12
+(anything)161844 v
+&11
+(\(\01526\).)200835 v
+[ /Dest /Anchor$s$5foutput
+/Rect [200835 -97000 224995 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Escape sequences in)3991 1 228986 u
+&12
+(anything)317599 v
+&11
+( sequence)3990( The)7140(are processed.)3990 3 356590 u
+[ /Dest /Anchor$e$5fY
+ /View [/XYZ -4 708 0]
+/DEST pdfmark
+&13
+(\017Y)482040 v
+&12
+(x)492040 v
+&11
+(,)496480 v
+&13
+(\017Y\()502970 v
+&12
+(xx)516300 v
+&11
+(, or)3990 1 525180 u
+&13
+(\017Y[)72000 108000 w
+&12
+(xxx)85330 v
+&13
+(])98650 v
+&11
+(copies the contents of the string or macro)4151 1 106131 u
+&12
+(x)287089 v
+&11
+(,)291529 v
+&12
+(xx)298180 v
+&11
+(, or)4151 1 307060 u
+&12
+(xxx,)326192 v
+&11
+(, respecti)4151 1 342012 u
+(v)379513 v
+(ely)384363 v
+(, to the output as a de)4151 1 395933 u
+(vice control)4151 1 490859 u
+( Ne)7816(function without processing escape sequences.)4486 2 72000 120000 t
+(wlines in the macro are embedded in the output.)4486 1 285520 u
+&12
+(nr)501694 v
+(of)510134 v
+(f)517734 v
+&11
+(dis\001)525000 v
+(cards transparent output sequences and their contents.)3330 1 72000 132000 t
+&12
+(10.8.)72000 148800 w
+(Comments and concealed ne)3330 1 93666 u
+(wlines.)210706 v
+[ /Dest /Bookmark$79
+ /View [/XYZ -4 655.2 0]
+/DEST pdfmark
+&11
+( \(e.g. a string)4028
+(An uncomfortably long input line that must stay one line)4027 2 242243 u
+(de\003nition, or no\003lled te)4137 1 72000 160800 t
+(xt\) can be split into man)4137 1 171211 u
+(y ph)4137 1 276186 u
+(ysical lines by ending all b)4137 1 295273 u
+(ut the last one with the escape)4137 1 410198 u
+&13
+(\017)72000 172800 w
+&11
+( sequence)4186(. The)7336 2 74780 u
+[ /Dest /Anchor$e$5fnewline
+ /View [/XYZ -4 631.2 0]
+/DEST pdfmark
+&13
+(\017)145188 v
+&11
+(\(ne)147968 v
+(wline\) is)4186 1 160488 u
+&12
+(always)201080 v
+&11
+(ignored\006e)233046 v
+( imbedded at the)4187( may be)4186( Comments)7516(xcept in a comment.)4186 4 277886 u
+&12
+(end)525560 v
+&11
+(of an)4015 1 72000 184800 t
+(y line by pref)4015 1 93635 u
+(acing them with)4015 1 151680 u
+[ /Dest /Anchor$e$5f$22
+ /View [/XYZ -4 619.2 0]
+/DEST pdfmark
+&13
+(\017\020)223165 v
+&11
+( form does not conceal the ne)4015(. This)7165 2 231495 u
+( A)6794( end of the comment.)4014(wline at the)4015 3 385530 u
+(line be)3480 1 72000 196800 t
+(ginning with)3480 1 99770 u
+&13
+(\017\020)155070 v
+&11
+(will appear as a blank line and beha)3480 1 166880 u
+(v)316560 v
+(e lik)3480 1 321410 u
+(e)339790 v
+&13
+(.sp)347710 v
+(1)362990 v
+&11
+(; a comment can be on a line by itself by)3481 1 367990 u
+(be)72000 208800 w
+(ginning the line with)4159 1 81290 u
+&13
+(.\017\020)173486 v
+&11
+( form)4159(. The)7309 2 184316 u
+[ /Dest /Anchor$e$5f$23
+ /View [/XYZ -4 595.2 0]
+/DEST pdfmark
+&13
+(\017#)237433 v
+&11
+(includes the ne)4159 1 249372 u
+( thus ef)4159( It)7489(wline as part of the comment.)4159 3 312430 u
+(fecti)485702 v
+(v)503222 v
+(ely acts)4158 1 508072 u
+(lik)72000 220800 w
+(e a concealed ne)3330 1 82460 u
+(wline in concatenating the follo)3330 1 150500 u
+(wing line immediately to the current line.)3330 1 280220 u
+[ /Dest /Anchor$s$5fmot
+ /View [/XYZ -4 566.4 0]
+/DEST pdfmark
+&13
+( V)2880( Horizontal and)3330(11. Local)6660 3 72000 237600 t
+( W)3030(ertical Motions, and the)3330 2 193040 u
+(idth Function)3330 1 310040 u
+[ /Dest /Bookmark$80
+ /View [/XYZ -4 566.4 0]
+/DEST pdfmark
+&12
+(11.1.)72000 254400 w
+[ /Dest /Anchor$n$5f$2eH
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+[ /Dest /Anchor$n$5f$2eV
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+(Local Motions.)3330 1 93666 u
+[ /Dest /Bookmark$81
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&11
+(The functions)3985 1 158861 u
+[ /Dest /Anchor$e$5fv
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&13
+(\017v\013)219601 v
+&12
+(N)230711 v
+&13
+(\013)237381 v
+&11
+(and)244696 v
+[ /Dest /Anchor$e$5fh
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&13
+(\017h\013)263121 v
+&12
+(N)274791 v
+&13
+(\013)281461 v
+&11
+(can be used for)3986 1 288776 u
+&12
+(local)358030 v
+&11
+(v)382016 v
+(ertical and horizontal motion respec\001)3986 1 386866 u
+(ti)72000 266400 w
+(v)77310 v
+(ely)82160 v
+( distance)3793(. The)6943 2 93730 u
+&12
+(N)159079 v
+&11
+(may be ne)3793 1 169542 u
+(g)213078 v
+(ati)218028 v
+(v)227778 v
+(e; the)3793 1 232628 u
+&12
+(positive)259654 v
+&11
+(directions are)3793 1 294557 u
+&12
+(rightwar)353793 v
+(d)388433 v
+&11
+(and)397226 v
+&12
+(downwar)415459 v
+(d)452319 v
+&11
+(. A)6573 1 457319 u
+&12
+(local)477405 v
+&11
+(motion is)3792 1 501198 u
+(one contained)3948 1 72000 278400 t
+&12
+(within)133216 v
+&11
+( T)7098(a line.)3948 2 162174 u
+(o a)3948 1 200470 u
+(v)213658 v
+(oid une)3948 1 218458 u
+(xpected v)3948 1 249476 u
+( the)3949(ertical dislocations, it is necessary that)3948 2 289374 u
+&12
+(net)470602 v
+&11
+(v)486771 v
+(ertical local)3949 1 491621 u
+(motion within a w)4484 1 72000 290400 t
+(ord in)4484 1 150912 u
+(\003lled te)4484 1 180990 u
+( abo)4483( The)7633( zero.)4483(xt and otherwise within a line balance to)4484 4 213104 u
+(v)455061 v
+(e and certain other)4483 1 459911 u
+(escape sequences pro)3330 1 72000 302400 t
+(viding local motion are summarized in the follo)3330 1 159030 u
+(wing table.*)3330 1 355410 u
+497930 318400 114070 318400 Dl
+(V)131295 328400 w
+(ertical)137405 v
+(Ef)221715 v
+(fect in)3330 1 230905 u
+(Horizontal)310490 v
+(Ef)411145 v
+(fect in)3330 1 420335 u
+(Local Motion)3330 1 119070 340400 t
+&12
+(tr)200495 v
+(of)206715 v
+(f)214315 v
+(nr)259125 v
+(of)267565 v
+(f)275165 v
+&11
+(Local Motion)3330 1 304100 u
+&12
+(tr)400215 v
+(of)406435 v
+(f)414035 v
+(nr)463245 v
+(of)471685 v
+(f)479285 v
+497930 344400 114070 344400 Dl
+[ /Dest /Anchor$e$5f0
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5fu
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5fd
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5fr
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5f$7c
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$e$5f$5e
+ /View [/XYZ -4 444.8 0]
+/DEST pdfmark
+&13
+(\017v\013)134070 359200 w
+&12
+(N)145180 v
+&13
+(\013)151850 v
+&11
+(Mo)184620 v
+(v)198360 v
+(e distance)3330 1 203210 u
+&12
+(N)247080 v
+&13
+(\017h\013)319100 v
+&12
+(N)330770 v
+&13
+(\013)337440 v
+&11
+(Mo)369650 v
+(v)383390 v
+(e distance)3330 1 388240 u
+&12
+(N)432110 v
+298100 368200 114070 368200 Dl
+&13
+(\017)319100 371200 w
+&11
+(\(space\))321880 v
+(Unpaddable space\001size space)3330 1 369650 u
+&13
+(\017)319100 383200 w
+&20
+(\127)321880 v
+&11
+(P)369650 v
+(addable no\001break space)3330 1 375060 u
+&13
+(\017u)134070 395200 w
+&11
+(\011 em up)3330 1 184620 u
+(\011 line up)3330 1 242970 u
+&13
+(\0170)319100 v
+&11
+(Digit\001size space)3330 1 369650 u
+&13
+(\017d)134070 407200 w
+&11
+(\011 em do)3330 1 184620 u
+(wn)220750 v
+(\011 line do)3330 1 242970 u
+(wn)281880 v
+497930 404200 300100 404200 Dl
+&13
+(\017r)134070 419200 w
+&11
+(1 em up)3330 1 184620 u
+(1 line up)3330 1 242970 u
+&13
+(\017)319100 v
+(\023)323546 v
+&11
+(1/6 em space)3330 1 369650 u
+(ignored)457380 v
+&13
+(\017^)319100 431200 w
+&11
+(1/12 em space)3330 1 369650 u
+(ignored)457380 v
+497930 440000 114070 440000 Dl
+114070 318400 114070 440000 Dl
+179620 318400 179620 440000 Dl
+237970 368200 237970 440000 Dl
+298100 318400 298100 440000 Dl
+300100 318400 300100 440000 Dl
+364650 318400 364650 440000 Dl
+452380 404200 452380 440000 Dl
+497930 318400 497930 440000 Dl
+(As an e)3541 1 72000 462000 t
+(xample,)103922 v
+&13
+(E)139403 v
+8 s
+(2)146073 458800 w
+10 @11 f
+(could be generated by the sequence)3541 1 153614 462000 t
+&13
+(E\017s\0122\017v\013\0120.4m\0132\017v\0130.4m\013\017s+2)304260 v
+&11
+(; note that the 0.4)3542 1 425510 u
+(em v)3542 1 502728 u
+(erti\001)523340 v
+(cal motions are at the smaller size.)3330 1 72000 474000 t
+&12
+(11.2.)72000 490800 w
+[ /Dest /Anchor$c$5fwidth
+ /View [/XYZ -4 313.2 0]
+/DEST pdfmark
+(W)93666 v
+(idth Function.)3330 1 101446 u
+[ /Dest /Bookmark$82
+ /View [/XYZ -4 313.2 0]
+/DEST pdfmark
+&11
+(The)163927 v
+&12
+(width)184638 v
+&11
+(function)212029 v
+[ /Dest /Anchor$e$5fw
+ /View [/XYZ -4 313.2 0]
+/DEST pdfmark
+&13
+(\017w\013)250520 v
+&12
+(string)263850 v
+&13
+(\013)288856 v
+&11
+( of)5162(generates the numerical width)5161 2 297347 u
+&12
+(string)444234 v
+&11
+(\(in basic units\).)5162 1 472736 u
+( be safely imbedded in)3557(Size and font changes may)3558 2 72000 502800 t
+&12
+(string)281757 v
+&11
+(, and will not af)3557 1 305097 u
+(fect the current en)3557 1 372125 u
+(vironment. F)6887 1 447366 u
+(or e)3557 1 503273 u
+(xam\001)519450 v
+(ple,)72000 514800 w
+&13
+(.ti)90053 v
+(\012\017w\013\017fB1.)101993 v
+(\013u)143933 v
+&11
+( indent leftw)3334(could be used to temporarily)3333 2 156156 u
+(ard a distance equal to the size of the string)3334 1 326036 u
+(\020)509896 v
+&13
+(1.)513976 v
+&11
+(\020 in)3334 1 524806 u
+(font)72000 526800 w
+&13
+(B)91440 v
+&11
+(.)98110 v
+( sets)3447(The width function also)3446 2 72000 543600 t
+(\003v)192002 v
+(e number re)3447 1 202412 u
+( re)3447(gisters. The)6597 2 251916 u
+(gisters)313740 v
+[ /Dest /Anchor$n$5fst
+ /View [/XYZ -4 260.4 0]
+/DEST pdfmark
+&13
+(st)343297 v
+&11
+(and)353964 v
+[ /Dest /Anchor$n$5fsb
+ /View [/XYZ -4 260.4 0]
+/DEST pdfmark
+&13
+(sb)371851 v
+&11
+(are set respecti)3447 1 384748 u
+(v)445812 v
+(ely to the highest and)3447 1 450662 u
+(lo)72000 555600 w
+(west e)3889 1 79530 u
+(xtent of)3889 1 106039 u
+&12
+(string)142147 v
+&11
+(relati)169376 v
+(v)189676 v
+(e to the baseline; then, for e)3889 1 194526 u
+(xample, the total)3889 1 313520 u
+&12
+(height)387127 v
+&11
+( is)3888(of the string)3889 2 416016 u
+&13
+(\017n\(stu\012\017n\(sb)481570 v
+(u)531940 v
+&11
+(.)537500 v
+(The re)3388 1 72000 567600 t
+(gisters)98558 v
+[ /Dest /Anchor$n$5frst
+ /View [/XYZ -4 236.4 0]
+/DEST pdfmark
+&13
+(rst)128056 v
+&11
+(and)143104 v
+[ /Dest /Anchor$n$5frsb
+ /View [/XYZ -4 236.4 0]
+/DEST pdfmark
+&13
+(rsb)160932 v
+&11
+(are set respecti)3388 1 178210 u
+(v)239156 v
+(ely to the highest and lo)3388 1 244006 u
+(west visual e)3388 1 344026 u
+(xtent of)3388 1 397312 u
+&12
+(string)432418 v
+&11
+(relati)459146 v
+(v)479446 v
+(e to the base\001)3388 1 484296 u
+( minimum e)3425(line, i.e. to the maximum and)3426 2 72000 579600 t
+(xtent of the)3425 1 243890 u
+&12
+(y)294715 v
+&11
+(v)302580 v
+(alue of an)3425 1 307330 u
+(y bounding box of the characters in)3425 1 348460 u
+&12
+(string)499075 v
+&11
+(. In)6755 1 522415 u
+&12
+(tr)72000 591600 w
+(of)78220 v
+(f)85820 v
+&11
+(the number re)3900 1 92500 u
+(gister)150690 v
+[ /Dest /Anchor$n$5fct
+ /View [/XYZ -4 212.4 0]
+/DEST pdfmark
+&13
+(ct)176810 v
+&11
+(is set to a v)3900 1 188480 u
+(alue between 0)3900 1 238830 u
+(and)304940 v
+( means that all of the characters in)3900(3: 0)7230 2 322710 u
+&12
+(string)493330 v
+&11
+(were)520570 v
+(short lo)3688 1 72000 603600 t
+( descenders \(lik)3687(wer case characters without)3688 2 103218 u
+(e)282606 v
+&13
+(e)290733 v
+&11
+(\); 1 means that at least one character has a descender \(lik)3687 1 295173 u
+(e)535560 v
+&13
+(y)72000 615600 w
+&11
+( is tall \(lik)3777(\); 2 means that at least one character)3776 2 77000 u
+(e)276293 v
+&13
+(H)284510 v
+&11
+(\); and 3 means that both tall characters and characters with)3777 1 292290 u
+(descenders are present.)3330 1 72000 627600 t
+(The)72000 644400 w
+[ /Dest /Anchor$n$5f$2ew
+ /View [/XYZ -4 159.6 0]
+/DEST pdfmark
+&13
+(.w)91378 v
+&11
+(number re)3828 1 104926 u
+(gister contains the width of the pre)3828 1 146924 u
+( Simi\001)7159( function.)3829(vious character independently of the width)3828 3 293512 u
+(larly)72000 656400 w
+(, the)3677 1 89680 u
+[ /Dest /Anchor$n$5f$2echt
+ /View [/XYZ -4 147.6 0]
+/DEST pdfmark
+&13
+(.cht)111754 v
+&11
+(and)131261 v
+[ /Dest /Anchor$n$5f$2ecdp
+ /View [/XYZ -4 147.6 0]
+/DEST pdfmark
+&13
+(.cdp)149378 v
+&11
+(re)171115 v
+( set respecti)3676(gisters are)3677 2 178735 u
+(v)270044 v
+(ely to the highest and lo)3676 1 274894 u
+(west visual e)3676 1 376354 u
+(xtent of the pre)3676 1 430216 u
+(vious char)3676 1 494314 u
+(\001)536670 v
+(acter relati)3330 1 72000 668400 t
+(v)115060 v
+(e to the baseline.)3330 1 119910 u
+&12
+(11.3.)72000 685200 w
+(Mark horizontal place)3330 1 93666 u
+(.)184616 v
+[ /Dest /Bookmark$83
+ /View [/XYZ -4 118.8 0]
+/DEST pdfmark
+&11
+(The escape sequence)3859 1 190795 u
+[ /Dest /Anchor$e$5fk
+ /View [/XYZ -4 118.8 0]
+/DEST pdfmark
+&13
+(\017k)281222 v
+&12
+(x)289562 v
+&11
+( the)3860(will cause)3859 2 297861 u
+&12
+(curr)359430 v
+(ent)376280 v
+&11
+(horizontal position in the)3860 1 392360 u
+&12
+(input line)3860 1 500580 u
+&11
+( in re)4286(to be stored)4287 2 72000 697200 t
+(gister)146206 v
+&12
+(x)172712 v
+&11
+( an e)4286(. As)7066 2 177152 u
+(xample, the construction)4286 1 220130 u
+&13
+(\017kx)326588 v
+&12
+(wor)339928 v
+(d)355118 v
+&13
+(\017h\013)361784 v
+(\023)375120 v
+(\017nxu+3u\013)378986 v
+&12
+(wor)417476 v
+(d)432666 v
+&11
+(will embolden)4286 1 441952 u
+&12
+(wor)505524 v
+(d)520714 v
+&11
+(by)530000 v
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 707200 w
+&20
+(\005)72000 720200 w
+&11
+(The line dra)2664 1 77333 u
+(wing escapes)2664 1 117197 u
+(\017l and)2664 1 162957 u
+(\017L also cause local motions.)2664 1 184285 u
+10 s
+(\001)294340 760800 w
+(45)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 45 45
+%%Page: 46 46
+save
+mark
+46 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(backing up to almost its be)3825 1 72000 84000 t
+(ginning and o)3825 1 185975 u
+(v)243475 v
+(erprinting it, resulting in)3825 1 248325 u
+&12
+(wor)353905 v
+(d)369095 v
+(wor)353907 v
+(d)369097 v
+&11
+(. Lik)7155 1 374097 u
+(e)397542 v
+(wise,)401732 v
+&13
+(\017k\()426387 v
+&12
+(xx)438057 v
+&11
+(and)450762 v
+&13
+(\017k[)469028 v
+&12
+(xxx)480698 v
+&13
+(])494018 v
+&11
+(will store)3826 1 501174 u
+(the horizontal position in re)3540 1 72000 96000 t
+(gister)186560 v
+&12
+(xx)212320 v
+&11
+(or)224740 v
+&12
+(xxx)236610 v
+&11
+(, respecti)3539 1 249930 u
+(v)286819 v
+(ely)291669 v
+(. The)6689 1 303239 u
+[ /Dest /Anchor$n$5fhp
+ /View [/XYZ -4 708 0]
+/DEST pdfmark
+&13
+(hp)331517 v
+&11
+(number re)3539 1 346176 u
+(gister also holds the current horizon\001)3539 1 387885 u
+(tal position in the input line.)3330 1 72000 108000 t
+[ /Dest /Anchor$s$5fdraw
+ /View [/XYZ -4 679.2 0]
+/DEST pdfmark
+&13
+(12. Ov)6660 1 72000 124800 t
+(erstrik)103840 v
+(e, Brack)3330 1 132620 u
+(et, Line\001drawing, Graphics, and Zer)3330 1 168900 u
+(o\001width Functions)3330 1 326770 u
+[ /Dest /Bookmark$84
+ /View [/XYZ -4 679.2 0]
+/DEST pdfmark
+&12
+(12.1.)72000 141600 w
+[ /Dest /Anchor$c$5foverstrike
+ /View [/XYZ -4 662.4 0]
+/DEST pdfmark
+(Over)93666 v
+(striking)113556 v
+(.)143966 v
+[ /Dest /Bookmark$85
+ /View [/XYZ -4 662.4 0]
+/DEST pdfmark
+&11
+(Automatically centered o)5163 1 151079 u
+(v)257345 v
+( is pro)5164(erstriking of up to nine characters)5163 2 262195 u
+(vided by the)5164 1 440378 u
+&12
+(o)500310 v
+(ver)505210 v
+(strik)517880 v
+(e)535560 v
+&11
+(function)72000 153600 w
+[ /Dest /Anchor$e$5fo
+ /View [/XYZ -4 650.4 0]
+/DEST pdfmark
+&13
+(\017o\013)108692 v
+&12
+(string)119802 v
+&13
+(\013)144808 v
+&11
+( characters in)3362(. The)6512 2 148138 u
+&12
+(string)231096 v
+&11
+(o)257798 v
+(v)262648 v
+( centers aligned; the total width is that of the widest)3361
+(erprinted with)3362 2 267498 u
+(character)72000 165600 w
+(.)108090 v
+&12
+(string)118145 v
+&11
+(may)145710 v
+&12
+(not)167155 v
+&11
+(contain local v)4225 1 184160 u
+( e)4225( As)7005(ertical motion.)4225 3 246340 u
+(xamples,)333025 v
+&13
+(\017o\013e\017\013\013)373080 v
+&11
+(produces)402296 v
+&13
+(e)442622 v
+(\013)443177 v
+&11
+(, and)4226 1 447062 u
+&13
+(\017o\013\017\(mo\017\(sl\013)472454 v
+&11
+(pro\001)523340 v
+(duces)72000 177600 w
+&20
+(\167)98100 v
+(\132)100830 v
+&11
+(.)105230 v
+&12
+(12.2.)72000 194400 w
+(Zer)93666 v
+(o\001width c)3330 1 107106 u
+(har)145286 v
+(acter)159026 v
+(s and strings.)3330 1 179476 u
+[ /Dest /Bookmark$86
+ /View [/XYZ -4 609.6 0]
+/DEST pdfmark
+&11
+(The function)4042 1 238618 u
+[ /Dest /Anchor$e$5fz
+ /View [/XYZ -4 609.6 0]
+/DEST pdfmark
+&13
+(\017z)295582 v
+&12
+(c)302802 v
+&11
+(will output)4042 1 311284 u
+&12
+(c)360488 v
+&11
+( o)4043(without spacing)4042 2 368970 u
+(v)443015 v
+(er it, and can be used)4043 1 447865 u
+(to produce left\001aligned o)4546 1 72000 206400 t
+(v)176578 v
+( e)4546( As)7326(erstruck combinations.)4546 3 181428 u
+(xamples,)301846 v
+&13
+(\017z\017\(ci\017\(pl)342222 v
+&11
+(will produce)4546 1 381768 u
+&13
+()438630 v
+10 @13 f
+438630 206400 m
+7320 build_ci
+445950 206400 m
+&20
+(\006)438630 v
+&11
+(, and)4545 1 444120 u
+&13
+(\017\(br\017z\017\(r)470150 v
+(n\017\(ul\017\(br)503880 v
+&11
+(will produce the smallest possible constructed box)3330 1 72000 218400 t
+&20
+(\002\047)281960 v
+(\044\002)281960 v
+&11
+(.)288626 v
+(The function)3330 1 72000 235200 t
+[ /Dest /Anchor$e$5fZ
+ /View [/XYZ -4 568.8 0]
+/DEST pdfmark
+&13
+(\017Z)127540 v
+&12
+(\030)136990 v
+(string\030)139920 v
+&11
+(prints)169920 v
+&12
+(string)196030 v
+&11
+(in no\003ll mode and restores the horizontal and v)3330 1 222700 u
+(ertical position afterw)3330 1 418060 u
+(ards.)507380 v
+&12
+(12.3.)72000 252000 w
+(Lar)93666 v
+(g)107746 v
+(e Br)3330 1 112646 u
+(ac)130266 v
+(k)139506 v
+(ets.)143846 v
+[ /Dest /Bookmark$87
+ /View [/XYZ -4 552 0]
+/DEST pdfmark
+&11
+(The Special F)3668 1 160944 u
+(ont contains a number of brack)3668 1 218680 u
+( pieces \()3669(et construction)3668 2 348560 u
+&20
+(\205)447878 v
+(\207)456150 v
+(\214)464382 v
+(\216)472654 v
+(\206)480926 v
+(\215)489198 v
+(\210)497470 v
+(\204)505742 v
+(\213)514074 v
+(\203)521206 v
+(\212)529538 v
+&11
+(\))536670 v
+(that can be combined into v)3958 1 72000 264000 t
+(arious brack)3958 1 189860 u
+( function)3957( The)7108(et styles.)3958 3 240368 u
+[ /Dest /Anchor$e$5fb
+ /View [/XYZ -4 540 0]
+/DEST pdfmark
+&13
+(\017b\013)340728 v
+&12
+(string)352398 v
+&13
+(\013)377404 v
+&11
+(may be used to pile up v)3957 1 384691 u
+(ertically the)3957 1 491053 u
+(characters in)3946 1 72000 276000 t
+&12
+(string)128202 v
+&11
+(\(the)155488 v
+( top and the last at the bottom\); the characters are v)3947
+(\003rst character on)3946 2 174984 u
+(ertically separated)3947 1 465523 u
+(by 1)5687 1 72000 288000 t
+( centered 1/2)5686(em and the total pile is)5687 2 96017 u
+(em abo)5686 1 262470 u
+(v)294666 v
+(e the current baseline \(\011 line in)5686 1 299516 u
+&12
+(nr)450678 v
+(of)459118 v
+(f)466718 v
+&11
+(\). F)9016 1 469498 u
+(or e)5686 1 489754 u
+(xample,)508060 v
+&13
+(\017b\013)72000 305000 w
+(\017\(lc\017\(lf)85336 v
+(\013E\017)112552 v
+(\023)126998 v
+(\017b\013)130864 v
+(\017\(r)144200 v
+(c\017\(rf)154570 v
+(\013)174556 v
+(\017x\013)179552 v
+(\0120.5m\013)192328 v
+(\017x\0130.5m\013)223154 v
+&11
+(produces)263420 v
+&20
+(\203)302850 300000 w
+(\204)302850 310000 w
+&13
+(E)307850 305000 w
+&20
+(\212)316186 300000 w
+(\213)316186 310000 w
+&11
+(.)319986 305000 w
+&12
+(12.4.)72000 326800 w
+[ /Dest /Anchor$c$5fline
+ /View [/XYZ -4 477.2 0]
+/DEST pdfmark
+(Line dr)3330 1 93666 u
+(awing)123516 v
+(.)147816 v
+[ /Dest /Bookmark$88
+ /View [/XYZ -4 477.2 0]
+/DEST pdfmark
+&11
+(The function)3760 1 153896 u
+[ /Dest /Anchor$e$5fl
+ /View [/XYZ -4 477.2 0]
+/DEST pdfmark
+&13
+(\017)210296 v
+(l)214742 v
+(\013)218355 v
+&12
+(Nc)221685 v
+&13
+(\013)232795 v
+&11
+(\(backslash\001ell\) will dra)3760 1 239885 u
+( string of repeated)3761(w a)3760 2 334455 u
+&12
+(c)429899 v
+&11
+(\030)436005 v
+(s to)3761 1 438785 u
+(w)453966 v
+(ards the right for a)3761 1 461086 u
+(distance)72000 338800 w
+&12
+(N)109008 v
+&11
+(. If)7568 1 115678 u
+&12
+(c)136644 v
+&11
+(looks lik)4238 1 145322 u
+(e a continuation of an e)4238 1 181690 u
+(xpression)283820 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [279530 -339800 322150 -330800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(for)326388 v
+&12
+(N)342286 v
+&11
+(, it may insulated from)4238 1 348956 u
+&12
+(N)450976 v
+&11
+(with a)4238 1 461884 u
+&13
+(\017&)492579 v
+&11
+(. If)7567 1 503689 u
+&12
+(c)524653 v
+&11
+(is)533330 v
+(not speci\003ed, the)3718 1 72000 350800 t
+&19
+(\011)146204 v
+&11
+(\(baseline rule\) is used \(underline character in)3718 1 154922 u
+&12
+(nr)346448 v
+(of)354888 v
+(f)362488 v
+&11
+(\). If)7048 1 365268 u
+&12
+(N)388525 v
+&11
+(is ne)3719 1 398914 u
+(g)418593 v
+(ati)423543 v
+(v)433293 v
+(e, a backw)3719 1 438143 u
+(ard horizontal)3719 1 482961 u
+(motion of size)3731 1 72000 362800 t
+&12
+(N)135413 v
+&11
+(is made)3731 1 145814 u
+&12
+(befor)181606 v
+(e)202346 v
+&11
+(dra)210517 v
+( An)6511(wing the string.)3731 2 223137 u
+(y space resulting from)3731 1 306680 u
+&12
+(N)403254 v
+&11
+(/\(size of)3730 1 411590 u
+&12
+(c)449040 v
+&11
+(\) ha)3730 1 453480 u
+(ving a remainder)3730 1 469780 u
+(is put at the be)3862 1 72000 374800 t
+( If)7193( string.)3863(ginning \(left end\) of the)3862 3 135628 u
+&12
+(N)283475 v
+&11
+(is less than the width of)3863 1 294008 u
+&12
+(c)399406 v
+&11
+(, a single)3863 1 403846 u
+&12
+(c)446265 v
+&11
+(is centered on a dis\001)3863 1 454568 u
+(tance)72000 386800 w
+&12
+(N)97289 v
+&11
+( the case of characters that are designed to be connected such as baselin\
+e\001rule)4188
+(. In)7519 2 103959 u
+&19
+(\011)457202 v
+&11
+(, underrule)4188 1 463868 u
+&20
+(\044)512206 v
+&11
+(, and)4188 1 518872 u
+(root\001en)72000 398800 w
+&20
+(\047)104210 v
+&11
+(, the remainder space is co)3449 1 110876 u
+(v)221551 v
+( o)3450(ered by)3449 2 226401 u
+(v)265360 v
+(er)270210 v
+(\001lapping; the set of these characters can be customized with the)3450 1 277780 u
+&13
+(connectchar)72000 410800 w
+[ /Dest /Anchor$connectchar
+/Rect [72000 -411800 124210 -402800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request described belo)4145 1 128355 u
+(w)220815 v
+(. If)7475 1 227385 u
+&12
+(N)248165 v
+&11
+(is)258980 v
+&12
+(less)269795 v
+&11
+(than the width of)4145 1 288940 u
+&12
+(c)366070 v
+&11
+(, a single)4145 1 370510 u
+&12
+(c)413775 v
+&11
+(is centered on a distance)4144 1 422360 u
+&12
+(N)530830 v
+&11
+(.)537500 v
+(As an e)3330 1 72000 422800 t
+(xample, a macro to underscore a string can be written)3330 1 103500 u
+&13
+(.de us)3330 1 108000 439600 t
+(\017\017$1\017)108000 451600 w
+(l)128006 v
+(\013)132452 v
+(\023)137448 v
+(0\017\(ul\013)141314 v
+(..)108000 463600 w
+&11
+(or one to dra)3330 1 72000 480400 t
+(w a box around a string)3330 1 125160 u
+&13
+(.de bx)3330 1 108000 497200 t
+(\017\(br\017)108000 509200 w
+(\023)128556 v
+(\017\017$1\017)132422 v
+(\023)152428 v
+(\017\(br\017)156294 v
+(l)176850 v
+(\013)181296 v
+(\023)186292 v
+(0\017\(r)190158 v
+(n\013\017)205558 v
+(l)218894 v
+(\013)223340 v
+(\023)228336 v
+(0\017\(ul\013)232202 v
+(..)108000 521200 w
+&11
+(such that)3330 1 72000 538000 t
+&13
+(.us)108000 554800 w
+(\020underlined w)3330 1 123280 u
+(ords\020)185960 v
+&11
+(and)72000 571600 w
+&13
+(.bx)108000 588400 w
+(\020w)124390 v
+(ords in a box\020)3330 1 137060 u
+&11
+(yield underlined w)3330 1 72000 605200 t
+(ords)148550 v
+&20
+(\044)95330 v
+(\044\044\044\044\044\044\044\044\044\044\044\044\044\044)95770 v
+&11
+(and)169100 v
+&20
+(\002)186870 v
+&11
+(w)188536 v
+(ords in a box)3330 1 195656 u
+&20
+(\002)251752 v
+(\047)186870 v
+(\047\047\047\047\047\047\047\047\047\047\047\047)191752 v
+(\044)186870 v
+(\044\044\044\044\044\044\044\044\044\044\044\044)191752 v
+&11
+(.)252582 v
+(The function)4429 1 72000 622000 t
+[ /Dest /Anchor$e$5fL
+ /View [/XYZ -4 182 0]
+/DEST pdfmark
+&13
+(\017L\013)129738 v
+&12
+(Nc)142518 v
+&13
+(\013)153628 v
+&11
+(dra)161387 v
+(ws a v)4429 1 174007 u
+( consisting of the \(optional\) character)4430(ertical line)4429 2 203265 u
+&12
+(c)411454 v
+&11
+(stack)420324 v
+(ed v)4430 1 440774 u
+(ertically apart 1)4430 1 459494 u
+(em)527780 v
+(\(1 line in)4354 1 72000 634000 t
+&12
+(nr)116172 v
+(of)124612 v
+(f)132212 v
+&11
+(\), with the)4354 1 134992 u
+(\003rst tw)4354 1 183884 u
+(o characters o)4354 1 213698 u
+(v)272786 v
+(erlapped, if necessary)4354 1 277636 u
+( def)4353( The)7503(, to form a continuous line.)4354 3 367604 u
+(ault)525000 v
+(character is the)4001 1 72000 646000 t
+&12
+(box rule)4001 1 139533 u
+&20
+(\002)181415 v
+&11
+(\()188746 v
+&13
+(\017\(br)193742 v
+&11
+(\); the other suitable character is the)4001 1 209852 u
+&12
+(bold vertical)4001 1 363379 u
+&20
+(\210)421378 v
+&11
+(\()431986 v
+&13
+(\017\(b)436982 v
+(v)448502 v
+&11
+( line is be)4002(\). The)7152 2 453502 u
+(gun)525000 v
+(without an)3732 1 72000 658000 t
+(y initial motion relati)3731 1 115582 u
+(v)203755 v
+( positi)3731( A)6511(e to the current base line.)3731 3 208605 u
+(v)354732 v
+(e)359582 v
+&12
+(N)367753 v
+&11
+(speci\003es a line dra)3731 1 378154 u
+(wn do)3731 1 455847 u
+(wnw)481548 v
+(ard and a)3731 1 500888 u
+(ne)72000 670000 w
+(g)81290 v
+(ati)86240 v
+(v)95990 v
+(e)100840 v
+&12
+(N)108638 v
+&11
+(speci\003es a line dra)3359 1 118666 u
+(wn upw)3359 1 195243 u
+( the line is dra)3359(ard. After)6139 2 227942 u
+(wn)330397 v
+&12
+(no)345976 v
+&11
+(compensating motions are made; the instan\001)3359 1 359335 u
+(taneous baseline is at the)4599 1 72000 682000 t
+&12
+(end)184425 v
+&11
+( of line dra)4599( Motions)7929(of the line.)4599 3 203464 u
+( the)4598(wing functions are local which means that)4599 2 341728 u
+(ef)72000 694000 w
+(fect of these motions v)3330 1 79520 u
+(anishes when a ne)3330 1 173690 u
+(w output line is started.)3330 1 248410 u
+(\001)294340 760800 w
+(46)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 46 46
+%%Page: 47 47
+save
+mark
+47 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(The horizontal and v)4739 1 72000 84000 t
+(ertical line dra)4739 1 161607 u
+( combination to produce lar)4740(wing functions may be used in)4739 2 223695 u
+(ge box)4740 1 476700 u
+(es. The)7890 1 505730 u
+(zero\001width)72000 96000 w
+&12
+(box\001rule)118805 v
+&11
+(and the)3485 1 156170 u
+(\011\001em wide)3485 1 189800 u
+&12
+(underrule)239260 v
+&11
+(were)282185 v
+&12
+(designed)305100 v
+&11
+(to form corners when using 1\001em v)3485 1 344135 u
+(ertical spac\001)3485 1 490425 u
+(ings. F)6660 1 72000 108000 t
+(or e)3330 1 103240 u
+(xample the macro)3330 1 119190 u
+&13
+(.de eb)3330 1 108000 124800 t
+(.sp)108000 136800 w
+(\0121)123280 v
+(\017\020compensate f)3330 1 165600 u
+(or next automatic base\001line spacing)3330 1 230330 u
+(.nf)108000 148800 w
+(\017\020a)165600 v
+(v)178680 v
+(oid possibly o)3330 1 183580 u
+(v)242940 v
+(er\004o)247840 v
+(wing w)3330 1 267180 u
+(ord b)3330 1 298190 u
+(uffer)321880 v
+(\017h\013\012.5n\013\017L\013)108000 160800 w
+(\023)155506 v
+(\017\017nau\0121\013\017l\013\017\017n\(.lu+1n\017\(ul\013\017L\013\012)159372 v
+(\023)282048 v
+(\017\017nau+1\013\017l\013)285914 v
+(\023)332180 v
+(0u\012.5n\017\(ul\013)336046 v
+(\017\020draw box)3330 1 395766 u
+(.f)108000 172800 w
+(i)113580 v
+(..)108000 184800 w
+&11
+(will dra)4589 1 72000 201600 t
+(w a box around some te)4589 1 104769 u
+(xt whose be)4589 1 210324 u
+(ginning v)4589 1 262122 u
+( w)4590(ertical place)4589 2 302121 u
+(as sa)4590 1 364510 u
+(v)385560 v
+(ed in number re)4590 1 390410 u
+(gister)459570 v
+&12
+(a)486380 v
+&11
+(\(e.g. using)4590 1 495970 u
+&13
+(.mk)72000 213600 w
+(a)91720 v
+&11
+(\) as done for this paragraph.)3330 1 96720 u
+&20
+(\002)69500 v
+(\002)69500 212000 w
+(\002)69500 202000 w
+(\002)69500 192000 w
+(\002)69500 182000 w
+(\002)69500 172000 w
+(\002)69500 162000 w
+(\002)69500 152000 w
+(\002)69500 142000 w
+(\002)69500 132000 w
+(\002)69500 122000 w
+(\002)69500 112000 w
+(\002)69500 102000 w
+(\002)69500 92000 w
+(\002)69500 82000 w
+(\044)69500 72000 w
+(\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044)72500 v
+(\002)542500 82000 w
+(\002)542500 83600 w
+(\002)542500 93600 w
+(\002)542500 103600 w
+(\002)542500 113600 w
+(\002)542500 123600 w
+(\002)542500 133600 w
+(\002)542500 143600 w
+(\002)542500 153600 w
+(\002)542500 163600 w
+(\002)542500 173600 w
+(\002)542500 183600 w
+(\002)542500 193600 w
+(\002)542500 203600 w
+(\002)542500 213600 w
+(\044)69500 v
+(\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\044\
+\044\044\044\044)72500 v
+&14
+(Request)72000 230400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 242400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$connectchar
+ /View [/XYZ -4 544.8 0]
+/DEST pdfmark
+&13
+(.connectchar)72000 259200 w
+&12
+(c..)130040 v
+&13
+(\020\017\(ru\017\(ul\017\(r)147200 v
+(n)193710 v
+&11
+(of)204800 v
+(f)212880 v
+(E)244800 v
+(Connected characters for line dra)3610 1 280800 u
+( there is a remainder)3610(wing. If)6940 2 417820 u
+(to be dra)4486 1 280800 271200 t
+(wn for a horizontal line, these characters are dra)4486 1 319612 u
+(wn)527780 v
+(o)280800 283200 w
+(v)285650 v
+(er)290500 v
+( a)3868( current set is)3867(\001lapping. The)7017 3 298070 u
+(v)422276 v
+(ailable in the)3868 1 427026 u
+[ /Dest /Anchor$n$5f$2econnectchar
+ /View [/XYZ -4 520.8 0]
+/DEST pdfmark
+&13
+(.connectchar)485290 v
+&11
+(number re)3330 1 280800 295200 t
+(gister)322300 v
+(.)343970 v
+&12
+(12.5.)72000 312000 w
+[ /Dest /Anchor$s$5fgraphics
+ /View [/XYZ -4 492 0]
+/DEST pdfmark
+(Gr)93666 v
+(aphics.)104626 v
+[ /Dest /Bookmark$89
+ /View [/XYZ -4 492 0]
+/DEST pdfmark
+&11
+(The function)4617 1 137673 u
+[ /Dest /Anchor$e$5fD
+ /View [/XYZ -4 492 0]
+/DEST pdfmark
+&13
+(\017D)195787 v
+&12
+(\013c...\013)205787 v
+&11
+(dra)229004 v
+(ws a graphic object of type)4617 1 241624 u
+&12
+(c)364856 v
+&11
+( of parameters,)4618(according to a sequence)4617 2 373913 u
+(which are generally pairs of numbers.)3330 1 72000 324000 t
+&13
+(\017D\013l)72000 336000 w
+&12
+(dh dv\013)3330 1 91440 u
+&11
+(dra)187200 v
+(w line from current position by)3330 1 199820 u
+&12
+(dh,)332010 v
+(dv)346176 v
+&13
+(\017D\013p)72000 348000 w
+&12
+(dh1 dv1 dh2 dv2 ...\013)3330 1 94220 u
+&11
+(dra)187200 v
+(w polygon, i.e. a line to)3330 1 199820 u
+&12
+(dh1,)301740 v
+(dv1)320906 v
+&11
+(, then to)3330 1 335346 u
+&12
+(dh2,)372836 v
+(dv2)392002 v
+&11
+(, then ...)3330 1 406442 u
+&13
+(\017D\013P)72000 360000 w
+&12
+(dh1 dv1 dh2 dv2 ...\013)3330 1 94770 u
+&11
+(dra)187200 v
+(w)199820 v
+(\003lled polygon)3330 1 210370 u
+&13
+(\017D\013c)72000 372000 w
+&12
+(d\013)93100 v
+&11
+(dra)187200 v
+(w circle of diameter)3330 1 199820 u
+&12
+(d)285890 v
+&11
+(with left side at current position)3330 1 294220 u
+&13
+(\017D\013C)72000 384000 w
+&12
+(d\013)95880 v
+&11
+(dra)187200 v
+(w)199820 v
+(\003lled circle)3330 1 210370 u
+&13
+(\017D\013e)72000 396000 w
+&12
+(u v\013)3330 1 93100 u
+&11
+(dra)187200 v
+(w ellipse of diameters)3330 1 199820 u
+&12
+(u)293680 v
+&11
+(and)302010 v
+&12
+(v)319780 v
+&13
+(\017D\013E)72000 408000 w
+&12
+(u v\013)3330 1 95330 u
+&11
+(dra)187200 v
+(w)199820 v
+(\003lled ellipse)3330 1 210370 u
+&13
+(\017D\013a)72000 420000 w
+&12
+(a b c d\013)3330 1 93660 u
+&11
+(dra)187200 v
+(w arc from current position to)3330 1 199820 u
+&12
+(a)327000 v
+&11
+(+)332000 v
+&12
+(c)337640 v
+&11
+(,)342080 v
+&12
+(b)346246 v
+&11
+(+)351246 v
+&12
+(d)356886 v
+&11
+(, with center at)3330 1 361886 u
+&12
+(a)427136 v
+&11
+(,)432136 v
+&12
+(b)436302 v
+&11
+(from current position)3330 1 444632 u
+&13
+(\017D\013)72000 432000 w
+&20
+(\127)85330 v
+&12
+(a b c d...\013)3330 1 94150 u
+&11
+(dra)187200 v
+(w B\001spline from current position by)3330 1 199820 u
+&12
+(a)350900 v
+&11
+(,)355900 v
+&12
+(b)360066 v
+&11
+(, then by)3330 1 365066 u
+&12
+(c)404776 v
+&11
+(,)409216 v
+&12
+(d)413382 v
+&11
+(, then by)3330 1 418382 u
+&12
+(c)458092 v
+&11
+(,)462532 v
+&12
+(d)466698 v
+&11
+(, then ...)3330 1 471698 u
+(F)72000 448800 w
+(or e)5064 1 77410 u
+(xample,)95094 v
+&13
+(\017D\013e0.2i 0.1i\013)5064 1 127034 u
+&11
+(dra)188822 v
+(ws the ellipse)5064 1 201442 u
+266074 448800 14400 7200 De
+(, and)5064 1 282140 448800 t
+&13
+(\017D\013l.2i)309209 v
+(\012.1i\013\017D\013l.1i .1i\013)5065 1 340664 u
+&11
+(the line)5065 1 409404 u
+461154 441600 446754 448800 Dl
+468354 448800 461154 441600 Dl
+(. A)7845 1 470020 448800 t
+&13
+(\017D)492650 v
+&11
+(with an)5065 1 507715 u
+(unkno)72000 460800 w
+(wn)96750 v
+&12
+(c)113576 v
+&11
+( through to the output for unspeci\003ed interpretation; coordinates are i\
+nter)4605
+(is processed and copied)4606 2 122622 u
+(\001)536670 v
+(preted alternately as horizontal and v)3330 1 72000 472800 t
+(ertical v)3330 1 224020 u
+(alues.)257090 v
+(Numbers tak)3813 1 72000 489600 t
+( ha)7144( third, etc.\))3814(en as horizontal \(\003rst,)3813 3 124593 u
+(v)278634 v
+(e def)3814 1 283484 u
+(ault scaling of)3814 1 304408 u
+&13
+(m)367510 v
+&11
+(; v)3814 1 375840 u
+(ertical numbers \(second, fourth, etc.\))3814 1 387284 u
+(ha)72000 501600 w
+(v)81240 v
+(e def)3413 1 86090 u
+(ault scaling of)3413 1 106613 u
+&13
+(v)168512 v
+&11
+(\(\0151.3\).)176925 v
+[ /Dest /Anchor$c$5funits
+/Rect [176925 -502600 203585 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( a graphical object has been dra)3412(The position after)3413 2 206818 u
+(wn is at its end; for circles and)3412 1 411136 u
+(ellipses, the)3330 1 72000 513600 t
+(\027)123380 v
+(\027end\030)125970 v
+( at the right side.)3330(\030 is)2590 2 146330 u
+[ /Dest /Anchor$s$5fhyphen
+ /View [/XYZ -4 273.6 0]
+/DEST pdfmark
+&13
+(13. Hyphenation.)6660 1 72000 530400 t
+[ /Dest /Bookmark$90
+ /View [/XYZ -4 273.6 0]
+/DEST pdfmark
+&11
+(Automatic h)4298 1 72000 547200 t
+( switched of)4299(yphenation may be)4298 2 123468 u
+( switched on with)4299( When)7329(f and on.)4299 3 255392 u
+&13
+(h)405995 v
+(y)411405 v
+[ /Dest /Anchor$hy
+/Rect [405995 -548200 416405 -539200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, se)4299 1 416405 u
+(v)431284 v
+(eral v)4299 1 436134 u
+(ariants may be set.)4299 1 460173 u
+(A)72000 559200 w
+&12
+(hyphenation indicator)4330 1 83550 u
+&11
+(character)178320 v
+(, by def)4330 1 214560 u
+(ault)248390 v
+[ /Dest /Anchor$e$5f$25
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+&13
+(\017%)267720 v
+&11
+(, may be imbedded in a w)4330 1 280500 u
+(ord to specify desired h)4330 1 394420 u
+(yphenation)495560 v
+(points, or may be pre\003x)3994 1 72000 571200 t
+(ed to suppress h)3994 1 173096 u
+( character)3994(yphenation. The)7144 2 241688 u
+[ /Dest /Anchor$e$5f$3a
+ /View [/XYZ -4 232.8 0]
+/DEST pdfmark
+&13
+(\017:)355950 v
+&11
+( may optionally)3995(indicates that a line break)3994 2 366054 u
+(occur at a point, b)3807 1 72000 583200 t
+(ut that no h)3807 1 148958 u
+( small list of e)3806( addition, the user may specify a)3807( In)7137
+(yphen is to be generated.)3807 4 198109 u
+(xcep\001)517790 v
+(tion w)3330 1 72000 595200 t
+(ords.)98010 v
+(Only w)4840 1 72000 612000 t
+( central alphabetic string surrounded by \(usually null\) non\001alphabet\
+ic strings are)4841
+(ords that consist of a)4840 2 103960 u
+( automatic h)5457(considered candidates for)5458 2 72000 624000 t
+( the set of optional line break characters is other)5457
+(yphenation. Unless)8787 2 235410 u
+(\001)536670 v
+(wise con\003gured, w)4036 1 72000 636000 t
+(ords that contain h)4036 1 150792 u
+(yphens \(minus\), em\001dashes \()4036 1 229510 u
+&13
+(\017\(em)349098 v
+&11
+(\), or h)4036 1 367978 u
+( characters are)4037(yphenation indicator)4036 2 395160 u
+&12
+(always)72000 648000 w
+&11
+(subject to splitting after those characters, whether automatic h)3330 1 103110 u
+(yphenation is on or of)3330 1 357710 u
+(f.)448550 v
+&14
+(Request)72000 664800 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 676800 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$nh
+ /View [/XYZ -4 110.4 0]
+/DEST pdfmark
+&13
+(.nh)72000 693600 w
+&11
+(h)129600 v
+(yphenate)134550 v
+(\012)187200 v
+(E)244800 v
+(Automatic h)3330 1 280800 u
+(yphenation is turned of)3330 1 331300 u
+(f.)426030 v
+[ /Dest /Anchor$hy
+ /View [/XYZ -4 93.6 0]
+/DEST pdfmark
+&13
+(.h)72000 710400 w
+(y)79910 v
+&12
+(N)88240 v
+&11
+(on,)129600 v
+&12
+(N=)142100 v
+&11
+(1)155520 v
+(on,)187200 v
+&12
+(N=)199700 v
+&11
+(1)213120 v
+(E)244800 v
+(Automatic h)3839 1 280800 u
+( turned on for)3840(yphenation is)3839 2 331809 u
+&12
+(N)449328 v
+&20
+(\144)457664 v
+&11
+(1, or of)3840 1 463154 u
+(f for)3840 1 494744 u
+&12
+(N=)517414 v
+&11
+(0.)532500 v
+(If)280800 722400 w
+&12
+(N=)294176 v
+&11
+(2,)309262 v
+&12
+(last)323478 v
+&11
+( are not)6715(lines \(ones that will cause a trap\))6716 2 344644 u
+(\001)294340 760800 w
+(47)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 47 47
+%%Page: 48 48
+save
+mark
+48 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(h)280800 84000 w
+(yphenated. F)7331 1 285750 u
+(or)342091 v
+&12
+(N=)354422 v
+&11
+( and)4002(4 and 8, the last)4001 2 369508 u
+(\003rst tw)4002 1 461006 u
+(o characters)4002 1 490468 u
+(respecti)280800 96000 w
+(v)311650 v
+( a w)4803(ely of)4804 2 316500 u
+(ord are not split of)4803 1 363020 u
+(f. F)8133 1 445862 u
+(or)465235 v
+&12
+(N=)478368 v
+&11
+(16 and 32,)4803 1 493454 u
+(the last and)3780 1 280800 108000 t
+(\003rst characters respecti)3780 1 332690 u
+(v)427190 v
+(ely of a w)3780 1 432040 u
+(ord are allo)3780 1 475490 u
+(wed)523340 v
+(to be split of)4643 1 280800 120000 t
+(f; this is only ef)4643 1 337259 u
+(fecti)408361 v
+(v)425881 v
+(e for e)4643 1 430731 u
+(xplicit h)4643 1 460407 u
+(yphenation)495560 v
+(points speci\003ed with)3478 1 280800 132000 t
+&13
+(\017%)369014 v
+&11
+(,)381794 v
+&13
+(\017:)387772 v
+&11
+(, or)3478 1 393882 u
+&13
+(hw)411668 v
+&11
+( v)3478(. These)6628 2 424448 u
+(alues are additi)3478 1 465684 u
+(v)527930 v
+(e;)532780 v
+(i.e.)280800 144000 w
+&12
+(N=)296602 v
+&11
+(14 will in)3582 1 311688 u
+(v)351792 v
+(ok)356592 v
+( current v)3581( The)6731( restrictions.)3581(e the three)3582 4 366492 u
+(alue)523340 v
+(is a)3330 1 280800 156000 t
+(v)295040 v
+(ailable in the)3330 1 299790 u
+[ /Dest /Anchor$n$5f$2ehy
+ /View [/XYZ -4 648 0]
+/DEST pdfmark
+&13
+(.h)356440 v
+(y)364350 v
+&11
+(number re)3330 1 372680 u
+(gister)414180 v
+(.)435850 v
+[ /Dest /Anchor$hylang
+ /View [/XYZ -4 631.2 0]
+/DEST pdfmark
+&13
+(.h)72000 172800 w
+(ylang)79910 v
+&12
+(name)106580 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+(Set the h)8902 1 280800 u
+(yphenation language to)8902 1 328554 u
+&12
+(name)443581 v
+&11
+(, which is one)8903 1 465241 u
+(of)280800 184800 w
+&13
+(de_DE)299166 v
+&11
+(,)328056 v
+&13
+(de_DE@traditional)340592 v
+&11
+(,)424342 v
+&13
+(en_US)436878 v
+&11
+(,)464658 v
+&13
+(fr_FR)477194 v
+&11
+(,)503294 v
+&13
+(it_IT)515830 v
+&11
+(,)537500 v
+&13
+(la_V)280800 196800 w
+(A)299450 v
+&11
+(, or)11671 1 306670 u
+&13
+(nl_NL)340842 v
+&11
+( can be made)11672( languages)11671(. Other)15001 3 368072 u
+(a)280800 208800 w
+(v)285040 v
+( adding h)9167(ailable by)9168 2 289790 u
+(yphenation)386122 v
+(\003les to the directory)9167 1 439729 u
+&13
+(/usr/ucblib/doctools/h)280800 220800 w
+(yphen)372900 v
+&11
+( no)3531(. If)6861 2 399020 u
+&12
+(name)432104 v
+&11
+(ar)457296 v
+(gument is present,)3532 1 464886 u
+(the h)5785 1 280800 232800 t
+(yphenation is reset to the traditional)5785 1 303755 u
+&12
+(tr)469565 v
+(of)475785 v
+(f)483385 v
+&11
+(mechanism.)491950 v
+(The current v)3330 1 280800 244800 t
+(alue is a)3330 1 336080 u
+(v)370310 v
+(ailable in the)3330 1 375060 u
+[ /Dest /Anchor$n$5f$2ehylang
+ /View [/XYZ -4 559.2 0]
+/DEST pdfmark
+&13
+(.h)431710 v
+(ylang)439620 v
+&11
+(number re)3330 1 466290 u
+(gister)507790 v
+(.)529460 v
+(This request also mak)7221 1 280800 261600 t
+(es parts of w)7221 1 382353 u
+(ords composed by)7221 1 447236 u
+&13
+(\001)536670 v
+&11
+(or)280800 273600 w
+&13
+(\017\(em)294785 v
+&11
+(characters subject to h)5654 1 319320 u
+(yphenation, unless otherwise)5654 1 417872 u
+(de\003ned e)5995 1 280800 285600 t
+(xplicitly with the)5995 1 320525 u
+&13
+(.nh)401850 v
+(ychar)415320 v
+&11
+(request. T)9145 1 445755 u
+(raditionally)492040 v
+(,)537500 v
+(the only h)6597 1 280800 297600 t
+(yphenation points in such w)6597 1 328944 u
+(ords had been the)6596 1 457452 u
+(h)280800 309600 w
+(yphens/dashes.)285750 v
+[ /Dest /Anchor$shc
+ /View [/XYZ -4 477.6 0]
+/DEST pdfmark
+&13
+(.shc)72000 326400 w
+&12
+(c)91720 v
+&11
+(\001)129600 v
+(\001)187200 v
+(E)244800 v
+( soft h)5369(Set the)5368 2 280800 u
+(yphenation character)5369 1 341856 u
+(, i.e. the character that is)5369 1 427905 u
+(inserted at the end of a h)4987 1 280800 338400 t
+(yphenated w)4987 1 393982 u
+( current soft)4987(ord. The)8137 2 447189 u
+(h)280800 350400 w
+(yphenation character is a)3330 1 285750 u
+(v)387730 v
+(ailable in the)3330 1 392480 u
+[ /Dest /Anchor$n$5f$2eshc
+ /View [/XYZ -4 453.6 0]
+/DEST pdfmark
+&13
+(.shc)449130 v
+&11
+(number re)3330 1 468850 u
+(gister)510350 v
+(.)532020 v
+[ /Dest /Anchor$hcode
+ /View [/XYZ -4 436.8 0]
+/DEST pdfmark
+&13
+(.hcode)72000 367200 w
+&12
+(abcd...)102830 v
+&11
+(\012)187200 v
+(E)244800 v
+( h)4144( determining the)4143( When)7173(Hyphenation code.)4143 4 280800 u
+(yphenation points)4144 1 466966 u
+( w)3979(for an input)3980 2 280800 379200 t
+(ord,)341519 v
+&12
+(a)361328 v
+&11
+(is mapped to)3979 1 370307 u
+&12
+(b)428354 v
+&11
+( no h)3979( When)7009(, etc.)3979 3 433354 u
+(yphena\001)507790 v
+( speci\003ed for a character)3411(tion code is)3410 2 280800 391200 t
+(, it is mapped to its lo)3411 1 430264 u
+(wer)521880 v
+(\001)536670 v
+(case v)3694 1 280800 403200 t
+(ariant if necessary)3694 1 306454 u
+(, and the)3693 1 380942 u
+(\027)421181 v
+(\027long s\030)3693 1 423771 u
+(\030 \()2953 1 455054 u
+&13
+(\017[longs])464667 v
+&11
+(\) character)3693 1 496337 u
+(is mapped to a)3330 1 280800 415200 t
+(\027)344670 v
+(\027round s\030)3330 1 347260 u
+(\030.)383730 v
+[ /Dest /Anchor$hylen
+ /View [/XYZ -4 372 0]
+/DEST pdfmark
+&13
+(.h)72000 432000 w
+(ylen)79910 v
+&12
+(N)101020 v
+&11
+(5)129600 v
+(5)187200 v
+(E)244800 v
+(Hyphenate only w)3870 1 280800 u
+(ords of at least)3870 1 356760 u
+&12
+(N)423340 v
+&11
+( The)7020(characters in length.)3870 2 433880 u
+(current v)3330 1 280800 444000 t
+(alue is a)3330 1 317200 u
+(v)351430 v
+(ailable in the)3330 1 356180 u
+[ /Dest /Anchor$n$5f$2ehylen
+ /View [/XYZ -4 360 0]
+/DEST pdfmark
+&13
+(.h)412830 v
+(ylen)420740 v
+&11
+(number re)3330 1 441850 u
+(gister)483350 v
+(.)505020 v
+[ /Dest /Anchor$hlm
+ /View [/XYZ -4 343.2 0]
+/DEST pdfmark
+&13
+(.hlm)72000 460800 w
+&12
+(N)94500 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( consecuti)6847(Maximum number of)6846 2 280800 u
+(v)419409 v
+(e h)6847 1 424259 u
+( Each)10177(yphenated lines.)6847 2 440496 u
+( line is h)3851(time a)3852 2 280800 472800 t
+(yphenated automatically)3851 1 345045 u
+(, the count of consecu\001)3851 1 443786 u
+(ti)280800 484800 w
+(v)286110 v
+(e h)3346 1 290960 u
+( in the)3347(yphenated lines \(accessible)3346 2 303696 u
+[ /Dest /Anchor$n$5f$2ehlc
+ /View [/XYZ -4 319.2 0]
+/DEST pdfmark
+&13
+(.hlc)444289 v
+&11
+(number re)3347 1 462916 u
+(gister\) is)3347 1 504433 u
+(incremented; whene)3806 1 280800 496800 t
+(v)362666 v
+( automatically h)3805(er a line is not)3806 2 367516 u
+(yphenated,)496400 v
+( request allo)6058( This)9208(it is reset to zero.)6058 3 280800 508800 t
+( set a limit on)6059(ws to)6058 2 446366 u
+(the maximum number of consecuti)4479 1 280800 520800 t
+(v)427896 v
+(e h)4478 1 432746 u
+(yphenated lines; when)4478 1 446614 u
+(the count of consecuti)4312 1 280800 532800 t
+(v)374026 v
+( maximum, the)4313(e lines has reached the)4312 2 378876 u
+(current line is not h)4474 1 280800 544800 t
+( def)4474(yphenated. The)7624 2 366416 u
+( The)7624(ault is no limit.)4474 2 450334 u
+(current v)3330 1 280800 556800 t
+(alue is accessible in the)3330 1 317200 u
+[ /Dest /Anchor$n$5f$2ehlm
+ /View [/XYZ -4 247.2 0]
+/DEST pdfmark
+&13
+(.hlm)417720 v
+&11
+(number re)3330 1 440220 u
+(gister)481720 v
+(.)503390 v
+[ /Dest /Anchor$hypp
+ /View [/XYZ -4 230.4 0]
+/DEST pdfmark
+&13
+(.h)72000 573600 w
+(ypp)79910 v
+&12
+(N)99360 v
+(M)109360 v
+(L)121020 v
+&11
+(0)129600 v
+(0)137930 v
+(0)146260 v
+(0)187200 v
+(0)195530 v
+(0)203860 v
+(E)244800 v
+(De\003ne h)4547 1 280800 u
+(yphenation penalties for)4547 1 316957 u
+&13
+(ad p)4548 1 422248 u
+[ /Dest /Anchor$ad$5fp
+/Rect [422248 -574600 442916 -565600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(mode. Ev)7878 1 447464 u
+(ery inserted)4548 1 491022 u
+(h)280800 585600 w
+(yphen is gi)3523 1 285750 u
+(v)331436 v
+(en a penalty of)3523 1 336286 u
+&12
+(N)402028 v
+&11
+(when computing optimal break)3523 1 412221 u
+(points; each h)4644 1 280800 597600 t
+(yphen that is follo)4644 1 340588 u
+(wed by another h)4645 1 419270 u
+(yphen gets)4645 1 494805 u
+(an additional penalty of)6066 1 280800 609600 t
+&12
+(M)392274 v
+&11
+( h)6066(. A)8846 2 400604 u
+(yphen that is inserted in)6066 1 430186 u
+(the last w)5657 1 280800 621600 t
+(ord of a paragraph gets an additional penalty of)5657 1 325344 u
+&12
+(L)280800 633600 w
+&11
+( v)5830(. A)8610 2 286360 u
+(alue of zero means no penalty)5830 1 315270 u
+(. Ef)9160 1 450960 u
+(fecti)471810 v
+(v)489330 v
+(e penalties)5830 1 494180 u
+(correspond to v)3790 1 280800 645600 t
+( current v)3790( The)6940(alues between 10 and 200.)3790 3 345340 u
+(alues)519450 v
+(are a)4072 1 280800 657600 t
+(v)301322 v
+(ailable in the)4071 1 306072 u
+[ /Dest /Anchor$n$5f$2ehypp
+ /View [/XYZ -4 146.4 0]
+/DEST pdfmark
+&13
+(.h)364945 v
+(ypp)372855 v
+&11
+(,)388975 v
+[ /Dest /Anchor$n$5f$2ehypp2
+ /View [/XYZ -4 146.4 0]
+/DEST pdfmark
+&13
+(.h)395546 v
+(ypp2)403456 v
+&11
+(, and)4071 1 424576 u
+[ /Dest /Anchor$n$5f$2ehypp3
+ /View [/XYZ -4 146.4 0]
+/DEST pdfmark
+&13
+(.h)449658 v
+(ypp3)457568 v
+&11
+(number re)4071 1 482759 u
+(gis\001)525000 v
+(ters.)280800 669600 w
+[ /Dest /Anchor$breakchar
+ /View [/XYZ -4 117.6 0]
+/DEST pdfmark
+&13
+(.br)72000 686400 w
+(eakchar)84320 v
+&12
+(c.)122090 v
+&13
+(\001\006)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( line may al)5278( A)8058( characters.)5278(Optional line break)5277 4 280800 u
+(w)482324 v
+(ays be split)5278 1 489444 u
+( current set of optional line)4029( The)7179
+(after one of these characters.)4029 3 280800 698400 t
+(break characters is a)4276 1 280800 710400 t
+(v)367278 v
+(ailable in the)4276 1 372028 u
+[ /Dest /Anchor$n$5f$2ebreakchar
+ /View [/XYZ -4 93.6 0]
+/DEST pdfmark
+&13
+(.br)431516 v
+(eakchar)443836 v
+&11
+(number re)4277 1 482553 u
+(gis\001)525000 v
+(ter)280800 722400 w
+(.)290800 v
+(\001)294340 760800 w
+(48)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 48 48
+%%Page: 49 49
+save
+mark
+49 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$nhychar
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.nh)72000 84000 w
+(ychar)85470 v
+&12
+(c...)113240 v
+&13
+(\001\006)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( w)4843( A)7623(Hyphenation\001inhibiting characters.)4843 3 280800 u
+( contains one)4844(ord that)4843 2 449369 u
+( characters)3789(of the)3790 2 280800 96000 t
+&12
+(c...)353248 v
+&11
+(is not h)3789 1 372307 u
+(yphenated, e)3789 1 404285 u
+(xcept that it may be)3789 1 455964 u
+( lines if one of these characters is also an optional)3921(split across)3920 2 280800 108000 t
+( character)3617(line break)3618 2 280800 120000 t
+( current set of h)3617(. The)6767 2 361335 u
+(yphenation\001inhibiting)453330 v
+(characters is a)3330 1 280800 132000 t
+(v)338900 v
+(ailable in the)3330 1 343650 u
+[ /Dest /Anchor$n$5f$2enhychar
+ /View [/XYZ -4 672 0]
+/DEST pdfmark
+&13
+(.nh)400300 v
+(ychar)413770 v
+&11
+(number re)3330 1 441540 u
+(gister)483040 v
+(.)504710 v
+[ /Dest /Anchor$hc
+ /View [/XYZ -4 655.2 0]
+/DEST pdfmark
+&13
+(.hc)72000 148800 w
+&12
+(c)87830 v
+&13
+(\017%)129600 v
+(\017%)187200 v
+&11
+(E)244800 v
+(Hyphenation indicator character is set to)4935 1 280800 u
+&12
+(c)459820 v
+&11
+(or to the def)4935 1 469195 u
+(ault)525000 v
+&13
+(\017%)280800 160800 w
+&11
+( indicator does not appear in the output.)3330(. The)6480 2 293580 u
+[ /Dest /Anchor$hw
+ /View [/XYZ -4 626.4 0]
+/DEST pdfmark
+&13
+(.hw)72000 177600 w
+&12
+(wor)90610 v
+(d1)105800 v
+(...)119130 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Specify h)5860 1 280800 u
+(yphenation points in w)5860 1 322160 u
+(ords with imbedded minus)5860 1 423530 u
+(signs. V)8118 1 280800 189600 t
+(ersions of a w)5288 1 318088 u
+(ord with terminal)5288 1 382172 u
+&12
+(s)462476 v
+&11
+(are implied; i.e.)5288 1 471654 u
+&12
+(dig\012it)280800 201600 w
+&11
+(implies)307882 v
+&12
+(dig\012its)341074 v
+&11
+( list is e)3742(. This)6892 2 368304 u
+(xamined initially)3742 1 429892 u
+&12
+(and)502937 v
+&11
+(after)521680 v
+(each suf\003x stripping.)3330 1 280800 213600 t
+[ /Dest /Anchor$s$5ftitles
+ /View [/XYZ -4 573.6 0]
+/DEST pdfmark
+&13
+(14. Thr)6360 1 72000 230400 t
+(ee\001P)107350 v
+(art T)3030 1 125570 u
+(itles.)147860 v
+[ /Dest /Bookmark$91
+ /View [/XYZ -4 573.6 0]
+/DEST pdfmark
+&11
+(The titling function)3597 1 72000 247200 t
+&13
+(tl)155571 v
+[ /Dest /Anchor$tl
+/Rect [155571 -248200 161681 -239200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(pro)165278 v
+(vides for automatic placement of three)3597 1 178458 u
+(\003elds at the left, center)3598 1 341670 u
+(, and right of a line with)3598 1 437032 u
+(a title\001length speci\003able with)3614 1 72000 259200 t
+&13
+(lt)195336 v
+[ /Dest /Anchor$lt
+/Rect [195336 -260200 201446 -251200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)201446 v
+&13
+(tl)210890 v
+&11
+(may be used an)3613 1 220614 u
+(ywhere, and is independent of the normal te)3613 1 285733 u
+(xt collecting pro\001)3613 1 468894 u
+( common use is in header and footer macros.)3330(cess. A)6110 2 72000 271200 t
+&14
+(Request)72000 288000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 300000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$tl
+ /View [/XYZ -4 487.2 0]
+/DEST pdfmark
+&13
+(.tl)72000 316800 w
+&12
+(\013left\013center\013right\013)83940 v
+&11
+(\012)187200 v
+(\012)244800 v
+(The strings)3462 1 280800 u
+&12
+(left)329944 v
+&11
+(,)342724 v
+&12
+(center)348686 v
+&11
+(, and)3462 1 373676 u
+&12
+(right)397541 v
+&11
+(are respecti)3463 1 420454 u
+(v)466977 v
+(ely left\001adjusted,)3463 1 471827 u
+( An)6523(centered, and right\001adjusted in the current title\001length.)3744 2 280800 328800 t
+(y of)3743 1 522927 u
+(the strings may be empty)3518 1 280800 340800 t
+(, and o)3518 1 384772 u
+(v)413598 v
+( the)3518( If)6848(erlapping is permitted.)3518 3 418448 u
+(page\001number character \(initially)3514 1 280800 352800 t
+&13
+(%)415192 v
+&11
+(\) is found within an)3513 1 425192 u
+(y of the)3513 1 507424 u
+( by the current page number ha)3403(\003elds it is replaced)3402 2 280800 364800 t
+(ving the for)3403 1 488404 u
+(\001)536670 v
+( to re)3419(mat assigned)3420 2 280800 376800 t
+(gister)355898 v
+&13
+(%)381537 v
+[ /Dest /Anchor$n$5f$25
+/Rect [381537 -377800 391537 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(. An)6199 1 391537 u
+(y character may be used as the)3419 1 412306 u
+(string delimiter)3330 1 280800 388800 t
+(.)342470 v
+[ /Dest /Anchor$pc
+ /View [/XYZ -4 398.4 0]
+/DEST pdfmark
+&13
+(.pc)72000 405600 w
+&12
+(c)87830 v
+&13
+(%)129600 v
+&11
+(of)187200 v
+(f)195280 v
+(\012)244800 v
+( set to)3514(The page number character is)3513 2 280800 u
+&12
+(c)432574 v
+&11
+(, or remo)3514 1 437014 u
+(v)475272 v
+( page\001)3514(ed. The)6664 2 480122 u
+(number re)3330 1 280800 417600 t
+(gister remains)3330 1 322300 u
+&13
+(%)382840 v
+&11
+(.)392840 v
+[ /Dest /Anchor$lt
+ /View [/XYZ -4 369.6 0]
+/DEST pdfmark
+&13
+(.lt)72000 434400 w
+&20
+(\143)83940 v
+&12
+(N)89430 v
+&11
+(6.5)129600 v
+(in)143766 v
+(pre)187200 v
+(vious)199720 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Length of title set to)4085 1 280800 u
+&20
+(\143)372335 v
+&12
+(N)377825 v
+&11
+( line\001length and the title\001length)4085(. The)7235 2 384495 u
+(are)280800 446400 w
+&12
+(independent)297912 v
+&11
+( do not apply to titles; page\001of)4901(. Indents)8232 2 346792 u
+(fsets)521670 v
+( current v)3330(do. The)6480 2 280800 458400 t
+(alue is a)3330 1 355060 u
+(v)389290 v
+(ailable in the)3330 1 394040 u
+[ /Dest /Anchor$n$5f$2elt
+ /View [/XYZ -4 345.6 0]
+/DEST pdfmark
+&13
+(.lt)450690 v
+&11
+(number re)3330 1 462630 u
+(gister)504130 v
+(.)525800 v
+[ /Dest /Anchor$s$5fonl
+ /View [/XYZ -4 328.8 0]
+/DEST pdfmark
+&13
+( Line Numbering)3330(15. Output)6660 2 72000 475200 t
+(.)197130 v
+[ /Dest /Bookmark$92
+ /View [/XYZ -4 328.8 0]
+/DEST pdfmark
+&11
+(Automatic sequence numbering of output lines may be requested with)4371 1 92000 492000 t
+&13
+(nm)393450 v
+[ /Dest /Anchor$nm
+/Rect [393450 -493000 407340 -484000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( in ef)4372(. When)7402 2 407340 u
+(fect, a three\001digit,)4372 1 465166 u
+(arabic number plus a digit\001space is prepended to output te)4424 1 92000 504000 t
+( te)4424( The)7574(xt lines.)4424 3 340516 u
+(xt lines are thus of)4424 1 408728 u
+(fset by four)4423 1 490054 u
+(3)82000 516000 w
+( in line length may be desired to k)4484
+(digit\001spaces, and otherwise retain their line length; a reduction)4483 2 92000 u
+(eep the)4484 1 509416 u
+(right mar)4513 1 92000 528000 t
+(gin aligned with an earlier mar)4513 1 130773 u
+( other v)4512( lines,)4513(gin. Blank)7843 3 263688 u
+(ertical spaces, and lines generated by)4512 1 371028 u
+&13
+(tl)533890 v
+[ /Dest /Anchor$tl
+/Rect [533890 -529000 540000 -520000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(are)92000 540000 w
+&12
+(not)108277 v
+&11
+( suspended with)4068( can be temporarily)4067(numbered. Numbering)7397 3 125124 u
+&13
+(nn)374386 v
+[ /Dest /Anchor$nn
+/Rect [374386 -541000 385506 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, or with an)4068 1 385506 u
+&13
+(.nm)439828 v
+&11
+(follo)460286 v
+(wed by a later)4068 1 478926 u
+(6)82000 552000 w
+&13
+(.nm)92000 v
+(+0)111720 v
+&11
+( addition, a line number indent)4375(. In)7705 2 122420 u
+&12
+(I)277475 v
+&11
+(, and the number)4375 1 280805 u
+(\001te)353440 v
+(xt separation)4375 1 363840 u
+&12
+(S)421470 v
+&11
+(may be speci\003ed in digit\001)4374 1 430844 u
+(spaces. Further)6699 1 92000 564000 t
+( that are multiples of some number)3370
+(, it can be speci\003ed that only those line numbers)3369 2 156339 u
+&12
+(M)504940 v
+&11
+(are to)3370 1 516640 u
+(be printed \(the others will appear as blank number)3330 1 92000 576000 t
+(\003elds\).)303040 v
+&14
+(Request)72000 592800 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 604800 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$nm
+ /View [/XYZ -4 182.4 0]
+/DEST pdfmark
+&13
+(.nm)72000 621600 w
+&20
+(\143)91720 v
+&12
+(N)97210 v
+(M)107210 v
+(S)118870 v
+(I)127200 v
+&11
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( If)10825(Line number mode.)7495 2 280800 u
+&20
+(\143)394370 v
+&12
+(N)399860 v
+&11
+(is gi)7496 1 414026 u
+(v)435722 v
+(en, line numbering is)7496 1 440572 u
+(turned on, and the ne)5579 1 280800 633600 t
+( numbered)5578(xt output line numbered is)5579 2 377116 u
+&20
+(\143)280800 645600 w
+&12
+(N)286290 v
+&11
+(. Def)9249 1 292960 u
+(ault v)5919 1 319599 u
+(alues are)5919 1 345268 u
+&12
+(M=)389866 v
+&11
+(1,)406612 v
+&12
+(S=)420031 v
+&11
+(1, and)5919 1 433447 u
+&12
+(I=)467225 v
+&11
+(0. P)9249 1 478971 u
+(arameters)501130 v
+(corresponding to missing ar)5986 1 280800 657600 t
+(guments are unaf)5986 1 402458 u
+(fected; a non\001)5985 1 478050 u
+(numeric ar)3485 1 280800 669600 t
+( the absence of all)3486( In)6816(gument is considered missing.)3485 3 324645 u
+(ar)280800 681600 w
+(guments, numbering is turned of)4886 1 288390 u
+( ne)4885(f; the)4886 2 427954 u
+(xt line number is)4885 1 465345 u
+(preserv)280800 693600 w
+(ed for possible further use in number re)3330 1 310080 u
+(gister)473760 v
+[ /Dest /Anchor$n$5fln
+ /View [/XYZ -4 110.4 0]
+/DEST pdfmark
+&13
+(ln)499310 v
+&11
+(.)507650 v
+[ /Dest /Anchor$nn
+ /View [/XYZ -4 93.6 0]
+/DEST pdfmark
+&13
+(.nn)72000 710400 w
+&12
+(N)88950 v
+&11
+(\012)129600 v
+&12
+(N=)187200 v
+&11
+(1)200620 v
+(E)244800 v
+(The ne)3330 1 280800 u
+(xt)308970 v
+&12
+(N)320080 v
+&11
+(te)330080 v
+(xt output lines are not numbered.)3330 1 337150 u
+(\001)294340 760800 w
+(49)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 49 49
+%%Page: 50 50
+save
+mark
+50 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(9)82000 84000 w
+(As an e)3720 1 92000 u
+( paragraph portions of this section are numbered with)3721(xample, the)3720 2 124280 u
+&12
+(M=)399499 v
+&11
+(3:)416245 v
+&13
+(.nm)431076 v
+(1)450796 v
+(3)459126 v
+&11
+(w)467847 v
+(as placed at the)3721 1 474967 u
+(be)92000 96000 w
+(ginning;)101290 v
+&13
+(.nm)138722 v
+&11
+(w)159203 v
+(as placed at the end of the)4091 1 166323 u
+(\003rst paragraph; and)4091 1 283820 u
+&13
+(.nm)368853 v
+(+0)388573 v
+&11
+(w)403364 v
+(as placed in front of this para\001)4091 1 410484 u
+(graph; and)3756 1 92000 108000 t
+&13
+(.nm)139502 v
+&11
+( lengths were also changed \(by)3757( Line)7087( end.)3757
+(\003nally placed at the)3756 4 159648 u
+&13
+(\017w\0130000\013u)421752 v
+&11
+(\) to k)3757 1 463972 u
+(eep the right)3757 1 487496 u
+(12)77000 120000 w
+( e)3603( Another)6384(side aligned.)3604 3 92000 u
+(xample is)3603 1 190701 u
+&13
+(.nm)234017 v
+(+5)253737 v
+(5)267767 v
+(x)276097 v
+(3)284427 v
+&11
+(which turns on numbering with the line number of the ne)3603 1 293030 u
+(xt)532220 v
+( last numbered line, with)3496(line to be 5 greater than the)3495 2 92000 132000 t
+&12
+(M=)314030 v
+&11
+(5, with spacing)3496 1 330776 u
+&12
+(S)397094 v
+&11
+(untouched, and with the indent)3496 1 405590 u
+&12
+(I)536670 v
+&11
+(set to 3.)3330 1 92000 144000 t
+[ /Dest /Anchor$s$5fcond
+ /View [/XYZ -4 643.2 0]
+/DEST pdfmark
+&13
+( of Input)3330( Acceptance)2780(16. Conditional)6660 3 72000 160800 t
+[ /Dest /Bookmark$93
+ /View [/XYZ -4 643.2 0]
+/DEST pdfmark
+&11
+(In the follo)3968 1 72000 177600 t
+(wing,)119126 v
+&12
+(c)145595 v
+&11
+(is a one\001character)3969 1 154004 u
+(, b)3969 1 227062 u
+(uilt\001in)238331 v
+&12
+(condition)266750 v
+&11
+(name,)308499 v
+&13
+(!)336628 v
+&11
+(signi\003es)343927 v
+&12
+(not)381236 v
+&11
+(,)394016 v
+&12
+(N)400485 v
+&11
+(is an inte)3969 1 411124 u
+(ger numerical e)3969 1 450022 u
+(xpres\001)515010 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [466761 -178600 540000 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(sion)72000 189600 w
+[ /Dest /Anchor$c$5fexpr
+/Rect [72000 -190600 88670 -181600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(,)88670 v
+&12
+(F)95558 v
+&11
+(is a)4388 1 106056 u
+(\004oating\001point e)4388 1 125942 u
+(xpression,)189070 v
+&12
+(string1)234288 v
+&11
+(and)267016 v
+&12
+(string2)285844 v
+&11
+(are strings delimited by an)4388 1 318572 u
+(y non\001blank, non\001numeric)4388 1 432074 u
+(character)72000 201600 w
+&12
+(not)111970 v
+&11
+(in the strings, and)3330 1 128080 u
+&12
+(anything)205010 v
+&11
+(represents what is conditionally accepted.)3330 1 243340 u
+&14
+(Request)72000 218400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 230400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$if
+ /View [/XYZ -4 556.8 0]
+/DEST pdfmark
+&13
+(.if)72000 247200 w
+&12
+(c)83940 v
+(anything)91710 v
+&11
+(\012)187200 v
+(\012)244800 v
+(If condition)3562 1 280800 u
+&12
+(c)332364 v
+&11
+(true, accept)3562 1 340366 u
+&12
+(anything)391080 v
+&11
+(as input; in multi\001line case)3562 1 429642 u
+(use)280800 259200 w
+&12
+(\017{anything)297460 v
+(\017})340906 v
+&11
+(.)347686 v
+&13
+(.if)72000 276000 w
+(!)83940 v
+&12
+(c)87270 v
+(anything)95040 v
+&11
+(\012)187200 v
+(\012)244800 v
+(If condition)3330 1 280800 u
+&12
+(c)331900 v
+&11
+(f)339670 v
+(alse, accept)3330 1 342900 u
+&12
+(anything)393150 v
+&11
+(.)428150 v
+&13
+(.if)72000 292800 w
+&12
+(N)83940 v
+(anything)93940 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If e)3330 1 280800 u
+(xpression)295080 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [290790 -293800 333410 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)336740 v
+&11
+(> 0, accept)3330 1 346740 u
+&12
+(anything)395410 v
+&11
+(.)430410 v
+&13
+(.if)72000 309600 w
+(!)83940 v
+&12
+(N)87270 v
+(anything)97270 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If e)3330 1 280800 u
+(xpression)295080 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [290790 -310600 333410 -301600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(N)336740 v
+&20
+(\131)346740 v
+&11
+(0 [sic], accept)3330 1 355560 u
+&12
+(anything)416360 v
+&11
+(.)451360 v
+&13
+(.if)72000 326400 w
+(f)83940 v
+&12
+(F)87270 v
+(anything)96710 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If)280800 v
+(\004oating\001point e)3330 1 290790 u
+(xpression)352860 v
+&12
+(F)394520 v
+&11
+(> 0, accept)3330 1 403960 u
+&12
+(anything)452630 v
+&11
+(.)487630 v
+&13
+(.if)72000 343200 w
+(!f)83940 v
+&12
+(F)90600 v
+(anything)100040 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If)280800 v
+(\004oating\001point e)3330 1 290790 u
+(xpression)352860 v
+&12
+(F)394520 v
+&20
+(\131)403960 v
+&11
+(0 [sic], accept)3330 1 412780 u
+&12
+(anything)473580 v
+&11
+(.)508580 v
+&13
+(.if)72000 360000 w
+&12
+(\013string1\013string2\013)83940 v
+(anything)153940 v
+&11
+(\012)244800 v
+(If)280800 v
+&12
+(string1)290790 v
+&11
+(identical to)3330 1 322460 u
+&12
+(string2)371340 v
+&11
+(, accept)3330 1 399680 u
+&12
+(anything)434380 v
+&11
+(.)469380 v
+&13
+(.if)72000 376800 w
+(!)83940 v
+&12
+(\013string1\013string2\013)88936 v
+(anything)158936 v
+&11
+(\012)244800 v
+(If)280800 v
+&12
+(string1)290790 v
+&11
+(not identical to)3330 1 322460 u
+&12
+(string2)387450 v
+&11
+(, accept)3330 1 415790 u
+&12
+(anything)450490 v
+&11
+(.)485490 v
+[ /Dest /Anchor$ie
+ /View [/XYZ -4 410.4 0]
+/DEST pdfmark
+&13
+(.ie)72000 393600 w
+&12
+(c)85050 v
+(anything)92820 v
+&11
+(\012)187200 v
+&13
+(u)244800 v
+&11
+(If portion of if\001else; all of the forms for)3330 1 280800 u
+&13
+(if)447960 v
+&11
+(abo)457400 v
+(v)471690 v
+(e are v)3330 1 476540 u
+(alid.)504600 v
+[ /Dest /Anchor$el
+ /View [/XYZ -4 393.6 0]
+/DEST pdfmark
+&13
+(.el)72000 410400 w
+&12
+(anything)85050 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Else portion of if\001else.)3330 1 280800 u
+[ /Dest /Anchor$while
+ /View [/XYZ -4 376.8 0]
+/DEST pdfmark
+&13
+(.while)72000 427200 w
+&12
+(c)100610 v
+(anything)108380 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute)291760 v
+&12
+(anything)316630 v
+&11
+(while)355400 v
+&12
+(c)381391 v
+&11
+(is true; all of the forms for)3771 1 389602 u
+&13
+(if)506539 v
+&11
+(abo)516420 v
+(v)530710 v
+(e)535560 v
+(are v)3926 1 280800 439200 t
+(alid.)301686 v
+&12
+(anything)326442 v
+&11
+( an unnamed temporary macro)3925(is stored in)3926 2 365368 u
+(each time a)3330 1 280800 451200 t
+&13
+(while)331330 v
+&11
+(loop is prepared for e)3330 1 357440 u
+(x)446140 v
+(ecution.)450990 v
+(In the multi\001line case, the)5555 1 280800 468000 t
+&13
+(\017})400505 v
+&11
+(terminating the loop must be)5555 1 412780 u
+(placed at the end of a line.)3330 1 280800 480000 t
+(When)280800 496800 w
+&12
+(anything)310254 v
+&11
+( macro, neither cop)5575(is copied to the)5574 2 350828 u
+(y mode)5575 1 507205 u
+[ /Dest /Anchor$copy$20mode
+/Rect [492865 -497800 540000 -488800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(nor re)3860 1 280800 508800 t
+(gular escape interpretation apply)3860 1 305610 u
+( to number)3860(. References)7190 2 439840 u
+(re)280800 520800 w
+( written using a single)6195(gisters, strings, etc. must thus be)6194 2 288420 u
+(escape character unless the)5474 1 280800 532800 t
+&13
+(while)403205 v
+&11
+(request is contained in a)5473 1 431458 u
+(macro de\003nition.)3330 1 280800 544800 t
+( man)4806(Nested loops will result in)4805 2 280800 561600 t
+(y macro de\003nitions and may)4806 1 416896 u
+(slo)280800 573600 w
+(w do)3752 1 292220 u
+(wn e)3751 1 312942 u
+(x)333203 v
+(ecution, especially if their body is lar)3751 1 338053 u
+(ge. Recur)7081 1 493969 u
+(\001)536670 v
+[ /Dest /Anchor$c$5frecursion
+/Rect [512990 -574600 540000 -565600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(si)280800 585600 w
+(v)287220 v
+(e macros \(\01510.6\))4045 1 292070 u
+[ /Dest /Anchor$c$5frecursion
+/Rect [280800 -586600 362640 -577600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(do not suf)4045 1 366685 u
+( con\001)4045( In)7375(fer from this problem.)4045 3 409525 u
+(trast to recursi)4846 1 280800 597600 t
+(v)342452 v
+(e macro calls, there is no mechanism to ter)4846 1 347302 u
+(\001)536670 v
+(minate a loop automatically when a repetition limit has been)4420 1 280800 609600 t
+( case of doubt, an e)3698(reached. In)7028 2 280800 621600 t
+( termination condi\001)3697(xplicit limit)3698 2 412788 u
+(tion should be added to pre)3330 1 280800 633600 t
+(v)393300 v
+(ent endless loops.)3330 1 398150 u
+[ /Dest /Anchor$break
+ /View [/XYZ -4 153.6 0]
+/DEST pdfmark
+&13
+(.br)72000 650400 w
+(eak)84320 v
+&12
+(n)102650 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Break out of)5007 1 280800 u
+&12
+(n)340811 v
+&11
+(nested)350818 v
+&13
+(while)381375 v
+&11
+(loops, or terminate the current)5007 1 409162 u
+(loop if no ar)3340 1 280800 662400 t
+(gument is gi)3340 1 332300 u
+(v)383180 v
+( is not necessary that all of the)3340(en. It)6670 2 388030 u
+(loops are contained within the same macro; if there are an)4774 1 280800 674400 t
+(y)535000 v
+(macros e)3449 1 280800 686400 t
+(x)317419 v
+( also returns)3448(ecuting inside the speci\003ed loop, control)3449 2 322269 u
+( case of a non\001positi)4129( In)7459( macros.)4129(from these)4128 4 280800 698400 t
+(v)463022 v
+(e or non\001numeric)4129 1 467872 u
+(ar)280800 710400 w
+(gument,)288390 v
+&12
+(n)325059 v
+&11
+( the number of le)4169( If)7499(=1 is assumed.)4169 3 330059 u
+(v)481552 v
+(els requested)4168 1 486402 u
+( of loops currently e)4426(is greater than the number)4425 2 280800 722400 t
+(x)481014 v
+(ecuting, con\001)4426 1 485864 u
+(\001)294340 760800 w
+(50)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 50 50
+%%Page: 51 51
+save
+mark
+51 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(trol returns to the highest non\001looping le)3330 1 280800 84000 t
+(v)447190 v
+(el.)452040 v
+[ /Dest /Anchor$continue
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(.continue)72000 100800 w
+&12
+(n)114500 v
+&11
+(\012)129600 v
+(1)187200 v
+(\012)244800 v
+(Continue at the)3506 1 280800 u
+&12
+(n)347428 v
+&11
+(\001th nested)3506 1 352428 u
+&13
+(while)396100 v
+&11
+(loop, or continue the current)3506 1 422386 u
+(loop if no ar)3634 1 280800 112800 t
+(gument is gi)3634 1 333182 u
+(v)384650 v
+(en. Ex)6964 1 389500 u
+(ecution resumes with the test)3634 1 419364 u
+(of the speci\003ed)5265 1 280800 124800 t
+&13
+(while)352695 v
+&11
+( test f)5266(loop; if this)5265 2 380740 u
+(ails, the request is)5266 1 460042 u
+(ef)280800 136800 w
+(fecti)288320 v
+(v)305840 v
+(ely lik)4708 1 310690 u
+(e)338078 v
+&13
+(br)347226 v
+(eak)357046 v
+&11
+(.)372046 v
+&13
+(continue)382584 v
+&11
+(also returns from all inside)4707 1 423962 u
+( case of)3847( In)7177( loop.)3847
+(macro calls until it has reached the speci\003ed)3846 4 280800 148800 t
+(a non\001positi)4550 1 280800 160800 t
+(v)330100 v
+(e or non\001numeric ar)4550 1 334950 u
+(gument,)420060 v
+&12
+(n)457110 v
+&11
+( If)7880(=1 is assumed.)4550 2 462110 u
+(the number of le)4410 1 280800 172800 t
+(v)352100 v
+(els requested is greater than the number of)4410 1 356950 u
+(loops currently e)4629 1 280800 184800 t
+(x)352118 v
+( highest non\001)4628(ecuting, control returns to the)4629 2 356968 u
+(looping le)3330 1 280800 196800 t
+(v)321660 v
+(el, and no loop is continued.)3330 1 326510 u
+(The b)3330 1 72000 213600 t
+(uilt\001in condition names are:)3330 1 95680 u
+422745 229600 189255 229600 Dl
+(Condition)194255 239600 w
+(Name)202320 251600 w
+(T)314520 v
+(rue if)3330 1 320280 u
+422745 255600 189255 255600 Dl
+&13
+(c)206765 265600 w
+&12
+(G)214535 v
+&11
+(Character)244265 v
+&12
+(G)288606 v
+&11
+(e)301297 v
+(xists in the current font,)5472 1 305587 u
+(where)244265 277600 w
+&12
+(G)274888 v
+&11
+(is either an)6193 1 288301 u
+9 s
+(ASCII)345760 v
+10 s
+(or local\001)6193 1 375452 u
+(ized input character)3895 1 244265 289600 t
+(, a)3895 1 325515 u
+&12
+(tr)340245 v
+(of)346465 v
+(f)354065 v
+&11
+(special char)3895 1 360740 u
+(\001)409415 v
+(acter)244265 301600 w
+&13
+(\017\()269164 v
+&12
+(xx)275274 v
+[ /Dest /Anchor$e$5f$28
+/Rect [269164 -302600 284154 -293600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(or)289623 v
+&13
+(\017[)303422 v
+&12
+(xxx)309532 v
+&13
+(])322852 v
+[ /Dest /Anchor$e$5f$5b
+/Rect [303422 -302600 326182 -293600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( a)5468(, or)5469 2 326182 u
+&13
+(\017U)357857 v
+&12
+(\013X\013)367857 v
+[ /Dest /Anchor$e$5fU
+/Rect [357857 -302600 380627 -293600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(escape)386095 v
+(sequence)244265 313600 w
+&13
+(d)205375 325600 w
+&12
+(xx)214265 v
+&11
+(There is a request, macro, or string)3330 1 244265 u
+&12
+(xx)391985 v
+&13
+(r)205935 337600 w
+&12
+(xx)213705 v
+&11
+(Number re)3330 1 244265 u
+(gister)287985 v
+&12
+(xx)313535 v
+&11
+(has been accessed)3330 1 325745 u
+&13
+(F)201760 349600 w
+&12
+(font)211200 v
+&11
+(F)244265 v
+(ont named)3330 1 249675 u
+&12
+(font)295775 v
+&11
+(e)314665 v
+(xists)318955 v
+&13
+(o)211760 361600 w
+&11
+(Current page number is odd)3330 1 244265 u
+&13
+(e)212040 373600 w
+&11
+(Current page number is e)3330 1 244265 u
+(v)348425 v
+(en)353275 v
+&13
+(t)212595 385600 w
+&11
+(F)244265 v
+(ormatter is)3330 1 249675 u
+&12
+(tr)296885 v
+(of)303105 v
+(f)310705 v
+&13
+(n)211480 397600 w
+&11
+(F)244265 v
+(ormatter is)3330 1 249675 u
+&12
+(nr)296885 v
+(of)305325 v
+(f)312925 v
+&13
+(v)211760 409600 w
+&11
+(Ne)244265 v
+(v)255675 v
+(er)260525 v
+(. \()6660 1 267745 u
+&13
+(v)280235 v
+&11
+(is used by other rof)3330 1 288565 u
+(f v)3330 1 368845 u
+(ariants.\))380255 v
+422745 413600 189255 413600 Dl
+189255 229600 189255 413600 Dl
+239265 229600 239265 413600 Dl
+422745 229600 422745 413600 Dl
+(If the condition)4035 1 72000 435600 t
+&12
+(c)140765 v
+&11
+(is)149240 v
+&12
+(true)159945 v
+&11
+(, or if the number)4035 1 176055 u
+&12
+(N)255940 v
+&11
+( the strings compare identically \(includ\001)4036
+(is greater than zero, or if)4035 2 266645 u
+(ing motions and character size and font\),)3459 1 72000 447600 t
+&12
+(anything)244233 v
+&11
+( a)3459( If)6789(is accepted as input.)3459 3 282692 u
+&13
+(!)390916 v
+&11
+(precedes the condition, number)3459 1 397705 u
+(, or)3458 1 525712 u
+(string comparison, the sense of the acceptance is re)3330 1 72000 459600 t
+(v)283060 v
+(ersed.)287910 v
+(An)72000 476400 w
+(y spaces between the condition and the be)3594 1 84070 u
+(ginning of)3594 1 259598 u
+&12
+(anything)305676 v
+&11
+(are skipped o)3595 1 344270 u
+(v)399630 v
+(er)404480 v
+(. The)6745 1 411700 u
+&12
+(anything)440090 v
+&11
+(can be either a)3595 1 478685 u
+(single input line \(te)3680 1 72000 488400 t
+(xt, macro, or whate)3680 1 152890 u
+(v)233660 v
+( the multi\001line case, the)3680( In)7010
+(er\) or a number of input lines.)3680 3 238510 u
+(\003rst line must)3680 1 482630 u
+(be)72000 500400 w
+(gin with a left delimiter)3330 1 81290 u
+[ /Dest /Anchor$e$5f$7b
+ /View [/XYZ -4 303.6 0]
+/DEST pdfmark
+&13
+(\017{)182380 v
+&11
+(and the last line must end with a right delimiter)3330 1 192430 u
+[ /Dest /Anchor$e$5f$7d
+ /View [/XYZ -4 303.6 0]
+/DEST pdfmark
+&13
+(\017})392390 v
+&11
+(.)399110 v
+(The request)5077 1 72000 517200 t
+&13
+(ie)126584 v
+[ /Dest /Anchor$ie
+/Rect [126584 -518200 133804 -509200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(if\001else\) is identical to)5077 1 138881 u
+&13
+(if)239729 v
+[ /Dest /Anchor$if
+/Rect [239729 -518200 245839 -509200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(e)250916 v
+( and)5078( subsequent)5077( A)7857
+(xcept that the acceptance state is remembered.)5077 4 255206 u
+(matching)72000 529200 w
+&13
+(el)112550 v
+[ /Dest /Anchor$el
+/Rect [112550 -530200 119770 -521200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(else\) request then uses the re)3330 1 123100 u
+(v)245020 v
+(erse sense of that state.)3330 1 249870 u
+&13
+(ie)351770 v
+&11
+(\001)362320 v
+&13
+(el)368980 v
+&11
+(pairs may be nested.)3330 1 379530 u
+(Some e)3330 1 72000 546000 t
+(xamples are:)3330 1 102400 u
+&13
+(.if e .tl)3330 1 108000 562800 t
+(\013Ev)139650 v
+(en P)3330 1 154550 u
+(age %\013\013\013)3330 1 173890 u
+&11
+(which outputs a title if the page number is e)3330 1 72000 579600 t
+(v)254480 v
+(en; and)3330 1 259330 u
+&13
+(.ie)108000 596400 w
+(\017n%>1)121050 v
+(\017{\017)153420 v
+(\013sp 0.5i)3330 1 108000 608400 t
+(.tl)108000 620400 w
+(\013P)119940 v
+(age %\013\013\013)3330 1 129280 u
+(\013sp)108000 632400 w
+(\023)124110 v
+(1.2i)127976 v
+(\017})146586 v
+(.el .sp)3330 1 108000 644400 t
+(\023)136330 v
+(2.5i)140196 v
+&11
+(which treats page 1 dif)3330 1 72000 661200 t
+(ferently from other pages.)3330 1 166160 u
+[ /Dest /Anchor$s$5fenv
+ /View [/XYZ -4 126 0]
+/DEST pdfmark
+&13
+(17. En)6660 1 72000 678000 t
+(vir)102990 v
+(onment Switching)3330 1 115030 u
+(.)192660 v
+[ /Dest /Bookmark$94
+ /View [/XYZ -4 126 0]
+/DEST pdfmark
+&11
+( te)3431(A number of the parameters that control the)3430 2 72000 694800 t
+(xt processing are g)3431 1 264251 u
+(athered together into an)3431 1 342254 u
+&12
+(en)443178 v
+(vir)452218 v
+(onment)462878 v
+&11
+(, which can)3431 1 492318 u
+(be switched by the user)3761 1 72000 706800 t
+( en)3761(. The)6911 2 170364 u
+( with requests noting E in their)3760
+(vironment parameters are those associated)3761 2 208126 u
+&12
+(Notes)517220 v
+&11
+( lines and w)3609(column; in addition, partially collected)3608 2 72000 718800 t
+(ords are in the en)3609 1 282979 u
+(vironment. Ev)6939 1 355885 u
+(erything else is global; e)3609 1 417394 u
+(xam\001)519450 v
+(ples are page\001oriented parameters, di)4125 1 72000 730800 t
+(v)225700 v
+(ersion)230550 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [218170 -731800 254990 -722800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\001oriented parameters, number re)4125 1 254990 u
+(gisters, and macro and string de\003ni\001)4125 1 388005 u
+(\001)294340 760800 w
+(51)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 51 51
+%%Page: 52 52
+save
+mark
+52 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+( en)4281(tions. All)7061 2 72000 84000 t
+(vironments are initialized with def)4281 1 127112 u
+(ault parameter v)4281 1 271896 u
+( number of possible en)4282(alues. The)7432 2 340188 u
+(vironments is)4282 1 484048 u
+(only limited by a)3330 1 72000 96000 t
+(v)142350 v
+(ailable memory)3330 1 147100 u
+(.)209770 v
+[ /Dest /Anchor$c$5finline$5fenvironment
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+(Inside each en)4068 1 72000 112800 t
+( set of parameters forms the)4069(vironment, a smaller)4068 2 131936 u
+&12
+(inline en)4069 1 340836 u
+(vir)376725 v
+(onment)387385 v
+&11
+( current and)4069( the)7399( are:)4069(. These)7219 4 416825 u
+(pre)72000 124800 w
+(vious point size, as set by)3392 1 84520 u
+&13
+(ps)194592 v
+[ /Dest /Anchor$ps
+/Rect [194592 -125800 204042 -116800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)207434 v
+&13
+(\017s)225266 v
+[ /Dest /Anchor$e$5fs
+/Rect [225266 -125800 231936 -116800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(; the current and pre)3392 1 231936 u
+(vious font, as set by)3392 1 315784 u
+&13
+(ft)402464 v
+[ /Dest /Anchor$ft
+/Rect [402464 -125800 409124 -116800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)412515 v
+&13
+(\017f)430346 v
+[ /Dest /Anchor$e$5ff
+/Rect [430346 -125800 436456 -116800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(; the control and nobreak)3391 1 436456 u
+(control character)3902 1 72000 136800 t
+(, as set by)3902 1 140472 u
+&13
+(cc)188020 v
+[ /Dest /Anchor$cc
+/Rect [188020 -137800 196900 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)200802 v
+&13
+(c2)219144 v
+[ /Dest /Anchor$c2
+/Rect [219144 -137800 228584 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, respecti)3902 1 228584 u
+(v)265836 v
+(ely; the optional h)3902 1 270686 u
+(yphenation character)3902 1 347342 u
+( by)3903(, as set)3902 2 431924 u
+&13
+(hc)479474 v
+[ /Dest /Anchor$hc
+/Rect [479474 -137800 489474 -128800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(; the h)3903 1 489474 u
+(yphe\001)517230 v
+(nation)72000 148800 w
+(\004ag, as set by)4974 1 101974 u
+&13
+(h)168810 v
+(y)174220 v
+[ /Dest /Anchor$hy
+/Rect [168810 -149800 179220 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( characters, as set by)4973(; the tab and leader repetition)4974 2 179220 u
+&13
+(tc)405845 v
+[ /Dest /Anchor$tc
+/Rect [405845 -149800 413615 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)418588 v
+&13
+(lc)438001 v
+[ /Dest /Anchor$lc
+/Rect [438001 -149800 445221 -140800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, respecti)4973 1 445221 u
+(v)483544 v
+(ely; and the)4973 1 488394 u
+(def)72000 160800 w
+(ault line breaking penalty)4122 1 84670 u
+(, as set by)4122 1 190816 u
+&13
+(\017J)239244 v
+[ /Dest /Anchor$e$5fJ
+/Rect [239244 -161800 247024 -152800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( inline en)4122(. The)7272 2 247024 u
+(vironment is pushed by)4122 1 312410 u
+[ /Dest /Anchor$e$5f$40
+ /View [/XYZ -4 643.2 0]
+/DEST pdfmark
+&13
+(\017@{)415008 v
+&11
+(, meaning that the current)4123 1 431028 u
+(v)72000 172800 w
+(alues of these parameters are sa)3876 1 76750 u
+(v)209770 v
+( a)3875(ed. When)6905 2 214620 u
+&13
+(\017@})269535 v
+&11
+(occurs, the last pushed inline en)3875 1 289430 u
+(vironment is popped, mean\001)3875 1 423665 u
+(ing that the pre)3340 1 72000 184800 t
+(vious v)3340 1 134540 u
+( en)3340( Inline)6670(alues of the parameters are restored.)3340 3 164300 u
+(vironments can be nested to arbitrary depths.)3340 1 355270 u
+(The)72000 196800 w
+(y dif)4389 1 87400 u
+(fer from)4389 1 107649 u
+&13
+(\017s0)146967 v
+&11
+(and)163026 v
+&13
+(\017fP)181855 v
+&11
+(since the)4389 1 198464 u
+( the current font is)4389( Thus,)7539(y form a stack.)4389 3 235473 u
+(\027)415874 v
+(\027B\030)418464 v
+(\030 ag)3649 1 431054 u
+(ain after the sequence)4389 1 447423 u
+(\027)72000 208800 w
+(\027\017fB...\017@{\017fR...\017@{\017fI...\017@}...\017@}\030)74590 v
+(\030, b)3330 1 212670 u
+(ut)226630 v
+(\027)237740 v
+(\027I\030)240330 v
+( the sequence)3330(\030 after)2590 2 249580 u
+(\027)332680 v
+(\027\017fB...\017fR...\017fI...\017fP)335270 v
+(...\017fP\030)406660 v
+(\030.)428420 v
+&14
+(Request)72000 225600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 237600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$ev
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&13
+(.e)72000 254400 w
+(v)78790 v
+&12
+(name)87120 v
+(name)129600 v
+&20
+(\010)151260 v
+&11
+(0)156750 v
+(pre)187200 v
+(vious)199720 v
+(\012)244800 v
+(En)280800 v
+(vironment switched to en)6530 1 291510 u
+(vironment)404580 v
+&12
+(name)452220 v
+&11
+( is)6530(. Switching)9860 2 473880 u
+(done in push\001do)7548 1 280800 266400 t
+(wn f)7548 1 355086 u
+( that restoring a pre)7547(ashion so)7548 2 378084 u
+(vious)518330 v
+(en)280800 278400 w
+(vironment)289840 v
+&12
+(must)335241 v
+&11
+(be done with)4291 1 358422 u
+&13
+(.e)417955 v
+(v)424745 v
+&11
+( refer)4292(rather than speci\003c)4291 2 434036 u
+(\001)536670 v
+( that what is pushed do)5866(ence. Note)9196 2 280800 290400 t
+(wn and restored is the)5866 1 438776 u
+(en)280800 302400 w
+(vironment)289840 v
+&12
+(name)335138 v
+(,)356698 v
+&11
+( name of the current)4189( The)7339(not its contents.)4189 3 363387 u
+(en)280800 314400 w
+(vironment is a)3330 1 289840 u
+(v)348520 v
+(ailable in the)3330 1 353270 u
+[ /Dest /Anchor$n$5f$2eev
+ /View [/XYZ -4 489.6 0]
+/DEST pdfmark
+&13
+(.e)409920 v
+(v)416710 v
+&11
+(number re)3330 1 425040 u
+(gister)466540 v
+(.)488210 v
+[ /Dest /Anchor$evc
+ /View [/XYZ -4 472.8 0]
+/DEST pdfmark
+&13
+(.e)72000 331200 w
+(vc)78790 v
+&12
+(name)91560 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Cop)280800 v
+(y the en)4241 1 297370 u
+(vironment)332112 v
+&12
+(name)377463 v
+&11
+( en)4242(to the current)4241 2 403364 u
+(vironment. The)7392 1 473448 u
+( en)7282(temporary state of the current)7283 2 280800 343200 t
+(vironment is reset, and)7282 1 434554 u
+(incompletely)280800 355200 w
+(\003lled lines are discarded.)3330 1 336350 u
+[ /Dest /Anchor$s$5fstdin
+ /View [/XYZ -4 432 0]
+/DEST pdfmark
+&13
+( fr)3330(18. Insertions)6660 2 72000 372000 t
+(om the Standard Input)3330 1 144860 u
+[ /Dest /Bookmark$95
+ /View [/XYZ -4 432 0]
+/DEST pdfmark
+&11
+(The input can be temporarily switched to the system)3969 1 72000 388800 t
+&12
+(standar)297141 v
+(d input)3969 1 327331 u
+&11
+(with)360830 v
+&13
+(rd)382580 v
+[ /Dest /Anchor$rd
+/Rect [382580 -389800 392580 -380800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, which will switch back when)3970 1 392580 u
+&12
+(two)525550 v
+&11
+(ne)72000 400800 w
+(wlines in a ro)4587 1 81190 u
+(w are found \(the)4587 1 141361 u
+&12
+(e)218018 v
+(xtr)222258 v
+(a)233218 v
+&11
+( mechanism is intended for insertions in)4586( This)7736
+(blank line is not used\).)4586 3 242804 u
+(form\001letter)72000 412800 w
+(\001lik)115120 v
+( The)6480(e documentation.)3330 2 128910 u
+&12
+(standar)223980 v
+(d input)3330 1 254170 u
+&11
+(can be the user\030)3330 1 286390 u
+(s k)3330 1 351360 u
+(e)363480 v
+(yboard, a)3330 1 367770 u
+&12
+(pipe)409140 v
+&11
+(, or a)3330 1 426360 u
+&12
+(\003le)451620 v
+&11
+(.)463840 v
+&14
+(Request)72000 429600 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 441600 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$rd
+ /View [/XYZ -4 345.6 0]
+/DEST pdfmark
+&13
+(.rd)72000 458400 w
+&12
+(pr)87830 v
+(ompt)96270 v
+&11
+(\012)129600 v
+&12
+(pr)187200 v
+(ompt=)195640 v
+9 @11 f
+(BEL)222390 v
+10 s
+(\012)244800 v
+(Read insertion from the standard input until tw)4581 1 280800 u
+(o ne)4581 1 482757 u
+(wlines in)4582 1 501528 u
+(a ro)5912 1 280800 470400 t
+( user\030)5911( the standard input is the)5912( If)9242(w are found.)5912 4 299232 u
+(s k)5911 1 512679 u
+(e)527380 v
+(y\001)531670 v
+(board,)280800 482400 w
+&12
+(pr)310559 v
+(ompt)318999 v
+&11
+(\(or a)4490 1 343489 u
+9 s
+(BEL)368569 v
+10 s
+(\) is written onto the user\030)4490 1 385570 u
+(s terminal.)4490 1 495790 u
+&13
+(rd)280800 494400 w
+&11
+(beha)295151 v
+(v)313831 v
+(es lik)4351 1 318681 u
+(e a macro, and ar)4351 1 341822 u
+(guments may be placed after)4351 1 417626 u
+&12
+(pr)280800 506400 w
+(ompt)289240 v
+&11
+(.)309240 v
+[ /Dest /Anchor$ex
+ /View [/XYZ -4 280.8 0]
+/DEST pdfmark
+&13
+(.ex)72000 523200 w
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+(Exit from)4080 1 280800 u
+&12
+(nr)325070 v
+(of)333510 v
+(f)341110 v
+&11
+(/)343890 v
+&12
+(tr)346670 v
+(of)352890 v
+(f)360490 v
+(.)363120 v
+&11
+(T)372850 v
+(e)378260 v
+(xt processing is terminated e)4080 1 382550 u
+(xactly as)4080 1 503150 u
+(if all input had ended.)3330 1 280800 535200 t
+(If insertions are to be tak)3907 1 72000 552000 t
+(en from the terminal k)3907 1 178635 u
+(e)273593 v
+(yboard)277883 v
+&12
+(while)309560 v
+&11
+( being printed on the terminal, the com\001)3908(output is)3907 2 335137 u
+(mand line option)4002 1 72000 564000 t
+&13
+(\012q)146786 v
+&11
+(will turn of)4002 1 161348 u
+(f the echoing of k)4002 1 209102 u
+(e)285550 v
+(yboard input and prompt only with)4001 1 289840 u
+9 s
+(BEL)441066 v
+10 s
+( re)4001(. The)7151 2 458067 u
+(gular input)4001 1 494889 u
+(and insertion input)3330 1 72000 576000 t
+&12
+(cannot)151990 v
+&11
+(simultaneously come from the standard input.)3330 1 182540 u
+(As an e)3842 1 72000 592800 t
+(xample, multiple copies of a form letter may be prepared by entering the i\
+nsertions for all the copies in)3842 1 104524 u
+(one)72000 604800 w
+(\003le to be used as the standard input, and causing the)4423 1 90863 u
+(\003le containing the letter to rein)4423 1 322546 u
+(v)455361 v
+(ok)460161 v
+(e itself using)4423 1 470061 u
+&13
+(nx)529440 v
+[ /Dest /Anchor$nx
+/Rect [529440 -605800 540000 -596800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\01519\);)72000 616800 w
+[ /Dest /Anchor$s$5fio
+/Rect [72000 -617800 96440 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(the process w)3330 1 99770 u
+(ould ultimately be ended by an)3330 1 155760 u
+&13
+(ex)286840 v
+[ /Dest /Anchor$ex
+/Rect [286840 -617800 296280 -608800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(in the insertion)3330 1 299610 u
+(\003le.)364600 v
+[ /Dest /Anchor$s$5fio
+ /View [/XYZ -4 170.4 0]
+/DEST pdfmark
+&13
+( File Switching)3330(19. Input/Output)6660 2 72000 633600 t
+[ /Dest /Bookmark$96
+ /View [/XYZ -4 170.4 0]
+/DEST pdfmark
+&14
+(Request)72000 650400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 662400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$so
+ /View [/XYZ -4 124.8 0]
+/DEST pdfmark
+&13
+(.so)72000 679200 w
+&12
+(\003lename)86720 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Switch source)6984 1 280800 u
+( \(\003le reading\) le)6985( top input)6984(\003le. The)10134 3 348648 u
+(v)514275 v
+(el is)6985 1 519125 u
+(switched to)4150 1 280800 691200 t
+&12
+(\003lename)332430 v
+&11
+( the ne)4150(. When)7180 2 366310 u
+(w)429580 v
+(\003le ends, input is ag)4150 1 440950 u
+(ain)527780 v
+(tak)280800 703200 w
+(en from the original)3728 1 292920 u
+( is a f)3728(\003le. It)7058 2 380042 u
+(atal error if)3729 1 434014 u
+&12
+(\003lename)485181 v
+&11
+(can\001)522790 v
+(not be opened.)3330 1 280800 715200 t
+&13
+(so)347720 v
+&11
+(\030)356610 v
+(s may be nested.)3330 1 359390 u
+(\001)294340 760800 w
+(52)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 52 52
+%%Page: 53 53
+save
+mark
+53 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$pso
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.pso)72000 84000 w
+&12
+(string)92280 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute)291760 v
+&12
+(string)316190 v
+&11
+(and read its standard output as te)3330 1 342860 u
+(xt input.)3330 1 478780 u
+[ /Dest /Anchor$nx
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(.nx)72000 100800 w
+&12
+(\003lename)88390 v
+&11
+(end\001of\001\003le)187200 v
+(\012)244800 v
+(Ne)280800 v
+(xt)292310 v
+(\003le is)3347 1 303437 u
+&12
+(\003lename)329581 v
+&11
+( current)3347(. The)6497 2 363461 u
+(\003le is considered ended, and)3347 1 423022 u
+(the input is immediately switched to)3330 1 280800 112800 t
+&12
+(\003lename)433560 v
+&11
+(.)467440 v
+[ /Dest /Anchor$sy
+ /View [/XYZ -4 674.4 0]
+/DEST pdfmark
+&13
+(.sy)72000 129600 w
+&12
+(string)86720 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Ex)280800 v
+(ecute program from)4910 1 291760 u
+&12
+(string)380910 v
+&11
+(, which is the rest of the input)4910 1 404250 u
+( output is not collected automatically)4544(line. The)7694 2 280800 141600 t
+( number)4543(. The)7693 2 479164 u
+(re)280800 153600 w
+(gister)288420 v
+[ /Dest /Anchor$n$5f$24$24
+ /View [/XYZ -4 650.4 0]
+/DEST pdfmark
+&13
+($$)314586 v
+&11
+(, which contains the process id of the)3946 1 324586 u
+&12
+(tr)486964 v
+(of)493184 v
+(f)500784 v
+&11
+(process,)507510 v
+(may be useful in generating unique)3330 1 280800 165600 t
+(\003lenames for output.)3330 1 429090 u
+[ /Dest /Anchor$pi
+ /View [/XYZ -4 621.6 0]
+/DEST pdfmark
+&13
+(.pi)72000 182400 w
+&12
+(string)86170 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Pipe output to)3744 1 280800 u
+&12
+(string)343152 v
+&11
+( This)6895( line.)3745(, which is the rest of the input)3744 3 366492 u
+( occur)4601(request must)4602 2 280800 194400 t
+&12
+(befor)365144 v
+(e)385884 v
+&11
+(an)394925 v
+(y printing occurs; typically it is)4601 1 404215 u
+(the)280800 206400 w
+(\003rst line of input.)3330 1 296350 u
+[ /Dest /Anchor$cf
+ /View [/XYZ -4 580.8 0]
+/DEST pdfmark
+&13
+(.cf)72000 223200 w
+&12
+(\003lename)85600 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Cop)280800 v
+(y contents of)5296 1 297370 u
+(\003le)359918 v
+&12
+(\003lename)377994 v
+&11
+( completely unpro\001)5297(to output,)5296 2 417170 u
+(cessed. The)7347 1 280800 235200 t
+(\003le is assumed to contain something meaningful)4196 1 336494 u
+(to subsequent processes.)3330 1 280800 247200 t
+[ /Dest /Anchor$open
+ /View [/XYZ -4 540 0]
+/DEST pdfmark
+&13
+(.open)72000 264000 w
+&12
+(str)98390 v
+(eam)108580 v
+(\003lename)128570 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Open)280800 v
+&12
+(\003lename)307530 v
+&11
+(for writing while truncating e)5070 1 346480 u
+(xisting contents)5070 1 474370 u
+(and associates)3330 1 280800 276000 t
+&12
+(str)341890 v
+(eam)352080 v
+&11
+(with it for latter use with)3330 1 372070 u
+&13
+(write)478710 v
+&11
+(etc.)504250 v
+[ /Dest /Anchor$opena
+ /View [/XYZ -4 511.2 0]
+/DEST pdfmark
+&13
+(.opena)72000 292800 w
+&12
+(str)103390 v
+(eam)113580 v
+(\003lename)133570 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Lik)280800 v
+(e)294590 v
+&13
+(open)304224 v
+&11
+(b)329978 v
+(ut appends to)5194 1 334778 u
+&12
+(\003lename)398690 v
+&11
+(instead of truncating an)5195 1 437765 u
+(e)280800 304800 w
+(xisting)285090 v
+(\003le.)315650 v
+[ /Dest /Anchor$write
+ /View [/XYZ -4 482.4 0]
+/DEST pdfmark
+&13
+(.write)72000 321600 w
+&12
+(str)100040 v
+(eam)110230 v
+(te)130220 v
+(xt)137240 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Write)280800 v
+&12
+(te)307397 v
+(xt)314417 v
+&11
+(to)325464 v
+(\003le)337071 v
+&12
+(str)353678 v
+(eam)363868 v
+&11
+(, which must ha)3827 1 380528 u
+(v)447639 v
+( obtained by a)3828(e been)3827 2 452489 u
+(pre)280800 333600 w
+(vious)293320 v
+&13
+(open)318320 v
+&11
+(request.)342210 v
+&12
+(te)380250 v
+(xt)387270 v
+&11
+(is interpreted in)3330 1 397820 u
+&12
+(copy mode)3330 1 465580 u
+(.)509300 v
+[ /Dest /Anchor$copy$20mode
+/Rect [465580 -334600 511800 -325600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$writec
+ /View [/XYZ -4 453.6 0]
+/DEST pdfmark
+&13
+(.writec)72000 350400 w
+&12
+(str)104480 v
+(eam)114670 v
+(te)134660 v
+(xt)141680 v
+&11
+(ignored)187200 v
+(\012)244800 v
+(Lik)280800 v
+(e)294590 v
+&13
+(write)302360 v
+&11
+(b)327900 v
+(ut does not write a terminating ne)3330 1 332700 u
+(wline.)471860 v
+[ /Dest /Anchor$writem
+ /View [/XYZ -4 436.8 0]
+/DEST pdfmark
+&13
+(.writem)72000 367200 w
+&12
+(str)108370 v
+(eam)118560 v
+(xx)138550 v
+&11
+(ignored)187200 v
+(\012)244800 v
+( of string, macro, or di)4279(Write contents)4278 2 280800 u
+(v)439533 v
+(ersion)444383 v
+&12
+(xx)473102 v
+&11
+( ne)4279(. No)7609 2 481982 u
+(wline)517780 v
+(is appended, so if)3732 1 280800 379200 t
+&12
+(xx)358218 v
+&11
+( output does not terminate)3731(is a string, the)3732 2 370830 u
+(with a ne)3330 1 280800 391200 t
+(wline.)318870 v
+[ /Dest /Anchor$close
+ /View [/XYZ -4 396 0]
+/DEST pdfmark
+&13
+(.close)72000 408000 w
+&12
+(str)98380 v
+(eam)108570 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Close the)5189 1 280800 u
+(\003le)326178 v
+&12
+(str)344147 v
+(eam)354337 v
+&11
+(, which must ha)5189 1 370997 u
+(v)442194 v
+(e been obtained by a)5189 1 447044 u
+(pre)280800 420000 w
+(vious)293320 v
+&13
+(open)318320 v
+&11
+(request.)342210 v
+[ /Dest /Anchor$s$5fmisc
+ /View [/XYZ -4 367.2 0]
+/DEST pdfmark
+&13
+(20. Miscellaneous)6660 1 72000 436800 t
+[ /Dest /Bookmark$97
+ /View [/XYZ -4 367.2 0]
+/DEST pdfmark
+&11
+(The)72000 453600 w
+[ /Dest /Anchor$e$5fV
+ /View [/XYZ -4 350.4 0]
+/DEST pdfmark
+&13
+(\017V)91742 v
+&12
+(x)101742 v
+&11
+(,)106182 v
+&13
+(\017V\()112874 v
+&12
+(xx)126204 v
+&11
+(, or)4192 1 135084 u
+&13
+(\017V[)154298 v
+&12
+(xxx)167628 v
+&13
+(])180948 v
+&11
+(escape sequence causes the v)4192 1 188470 u
+(alue of the)4192 1 311608 u
+&12
+(x)361394 v
+&11
+(,)365834 v
+&12
+(xx)372526 v
+&11
+(, or)4192 1 381406 u
+&12
+(xxx)400621 v
+&11
+(en)418134 v
+(vironment v)4193 1 427174 u
+(ariable, respec\001)4193 1 477227 u
+(ti)72000 465600 w
+(v)77310 v
+(ely)82160 v
+( is interpreted in)3330( It)6660(, to be printed.)3330 3 93730 u
+&12
+(copy mode)3330 1 238130 u
+(.)281850 v
+[ /Dest /Anchor$copy$20mode
+/Rect [238130 -466600 284350 -457600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&14
+(Request)72000 487200 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 499200 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$mc
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&13
+(.mc)72000 516000 w
+&12
+(c)90600 v
+(N)98370 v
+&11
+(\012)129600 v
+(of)187200 v
+(f)195280 v
+(E,)244800 v
+&13
+(m)253410 v
+&11
+(Speci\003es that a)3956 1 280800 u
+&12
+(mar)348218 v
+(gin)363958 v
+&11
+(character)380694 v
+&12
+(c)421290 v
+&11
+( distance)3957(appear a)3956 2 429686 u
+&12
+(N)505416 v
+&11
+(to the)3957 1 516043 u
+12 @20 f
+(\002)550000 v
+10 @11 f
+(right of the right mar)3362 1 280800 528000 t
+(gin after each non\001empty te)3362 1 367948 u
+(xt line \(e)3362 1 481216 u
+(xcept)518340 v
+12 @20 f
+(\002)550000 v
+10 @11 f
+(those produced by)4551 1 280800 540000 t
+&13
+(tl)362774 v
+[ /Dest /Anchor$tl
+/Rect [362774 -541000 368884 -532000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the output line is too\001long \(as can)4552(\). If)7882 2 368884 u
+12 @20 f
+(\002)550000 v
+10 @11 f
+(happen in no\003ll mode\) the character will be appended to the)4369 1 280800 552000 t
+12 @20 f
+(\002)550000 v
+10 @11 f
+(line. If)7805 1 280800 564000 t
+&12
+(N)317240 v
+&11
+(is not gi)4475 1 328385 u
+(v)364315 v
+(en, the pre)4475 1 369165 u
+(vious)414795 v
+&12
+(N)440940 v
+&11
+(is used; the initial)4476 1 452086 u
+&12
+(N)533330 v
+12 @20 f
+(\002)550000 v
+10 @11 f
+(is 0.2)4101 1 280800 576000 t
+(inches in)4101 1 307401 u
+&12
+(nr)348933 v
+(of)357373 v
+(f)364973 v
+&11
+(and 1)4100 1 371854 u
+(em in)4100 1 397060 u
+&12
+(tr)425260 v
+(of)431480 v
+(f)439080 v
+(.)441710 v
+&11
+(The mar)4100 1 451460 u
+(gin character)4100 1 486480 u
+12 @20 f
+(\002)550000 v
+10 @11 f
+(used with this paragraph w)3330 1 280800 588000 t
+(as a 12\001point box\001rule.)3330 1 391780 u
+12 @20 f
+(\002)550000 v
+[ /Dest /Anchor$lpfx
+ /View [/XYZ -4 199.2 0]
+/DEST pdfmark
+10 @13 f
+(.lpfx)72000 604800 w
+&12
+(string)94500 v
+&11
+(of)129600 v
+(f)137680 v
+(of)187200 v
+(f)195280 v
+(E)244800 v
+( line pre\003x to)4021(Set the)4020 2 280800 u
+&12
+(string)372014 v
+&11
+(.)395354 v
+(\027)405205 v
+(\027Whene)407795 v
+(v)439195 v
+(er a ne)4021 1 444045 u
+(w output line is)4021 1 473487 u
+(\027)280800 616800 w
+(\027started,)283390 v
+&12
+(string)319683 v
+&11
+(is then printed at its be)3803 1 346826 u
+(ginning. F)7133 1 444021 u
+(ont and size)3803 1 489624 u
+(\027)280800 628800 w
+( lig)4386(\027settings as well as automatic)4385 2 283390 u
+(atures in)4386 1 423036 u
+&12
+(string)463468 v
+&11
+(are retained)4386 1 491194 u
+(\027)280800 640800 w
+(\027re)283390 v
+(g)294340 v
+( request is mainly useful to)3961( This)7111( later changes.)3961
+(ardless of)3962 4 299290 u
+(\027)280800 652800 w
+( current)4847( The)7997(\027implement a historic form of block quotation.)4846 3 283390 u
+(\027)280800 664800 w
+(\027v)283390 v
+(alue is a)3330 1 291470 u
+(v)325700 v
+(ailable in the)3330 1 330450 u
+[ /Dest /Anchor$n$5f$2elpfx
+ /View [/XYZ -4 139.2 0]
+/DEST pdfmark
+&13
+(.lpfx)387100 v
+&11
+(re)409600 v
+(gister)417220 v
+(.)438890 v
+(\030)440690 v
+(\030)443280 v
+[ /Dest /Anchor$tm
+ /View [/XYZ -4 122.4 0]
+/DEST pdfmark
+&13
+(.tm)72000 681600 w
+&12
+(string)89490 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+( initial blanks,)3641(After skipping)3640 2 280800 u
+&12
+(string)402863 v
+&11
+(\(rest of the line\) is read in)3641 1 429844 u
+&12
+(copy mode)3330 1 280800 693600 t
+[ /Dest /Anchor$copy$20mode
+/Rect [280800 -694600 324670 -685600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and written on the standard error)3330 1 328000 u
+(.)462400 v
+[ /Dest /Anchor$tmc
+ /View [/XYZ -4 93.6 0]
+/DEST pdfmark
+&13
+(.tmc)72000 710400 w
+&12
+(string)93930 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Lik)280800 v
+(e)294590 v
+&13
+(tm)302360 v
+&11
+(b)317350 v
+(ut does not write a terminating ne)3330 1 322150 u
+(wline.)461310 v
+(\001)294340 760800 w
+(53)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 53 53
+%%Page: 54 54
+save
+mark
+54 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$nop
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.nop)72000 84000 w
+&12
+(r)93950 v
+(emainder of line)3330 1 97470 u
+&11
+(\012)187200 v
+(\012)244800 v
+(Use)280800 v
+&12
+(r)299680 v
+(emainder of line)3330 1 303200 u
+&11
+(as input.)3330 1 373740 u
+[ /Dest /Anchor$chomp
+ /View [/XYZ -4 703.2 0]
+/DEST pdfmark
+&13
+(.chomp)72000 100800 w
+&12
+(r)106720 v
+(emainder of line)3330 1 110240 u
+&11
+(\012)187200 v
+(\012)244800 v
+(Use)280800 v
+&12
+(r)299680 v
+(emainder of line without ne)3330 1 303200 u
+(wline)416370 v
+&11
+(as input.)3330 1 441370 u
+[ /Dest /Anchor$ab
+ /View [/XYZ -4 686.4 0]
+/DEST pdfmark
+&13
+(.ab)72000 117600 w
+&12
+(string)88390 v
+&11
+(\012)129600 v
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(After skipping initial blanks,)4783 1 280800 u
+&12
+(string)407432 v
+&11
+(\(rest of the line\) is read)4783 1 435555 u
+(in)280800 129600 w
+&12
+(copy mode)3959 1 292540 u
+[ /Dest /Anchor$copy$20mode
+/Rect [292540 -130600 337039 -121600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and written on the standard error)3959 1 340998 u
+(.)478543 v
+&12
+(tr)488332 v
+(of)494552 v
+(f)502152 v
+&11
+(or)508891 v
+&12
+(nr)521180 v
+(of)529620 v
+(f)537220 v
+&11
+(then e)3330 1 280800 141600 t
+(xit.)305640 v
+[ /Dest /Anchor$ig
+ /View [/XYZ -4 645.6 0]
+/DEST pdfmark
+&13
+(.ig)72000 158400 w
+&12
+(yy)85610 v
+&11
+(\012)129600 v
+&12
+(.yy=)187200 v
+&13
+(..)205330 v
+&11
+(\012)244800 v
+(Ignore input lines.)3694 1 280800 u
+&13
+(ig)363262 v
+&11
+(beha)374736 v
+(v)393416 v
+(es e)3694 1 398266 u
+(xactly lik)3694 1 414580 u
+(e)453174 v
+&13
+(de)461308 v
+[ /Dest /Anchor$de
+/Rect [461308 -159400 471308 -150400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\0157\))475002 v
+[ /Dest /Anchor$s$5fmac
+/Rect [475002 -159400 491662 -150400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(e)495356 v
+(xcept that)3694 1 499646 u
+( in)4593( input is read)4594( The)7744(the input is discarded.)4594 4 280800 170400 t
+&12
+(copy mode)4593 1 473334 u
+&11
+(,)518467 v
+[ /Dest /Anchor$copy$20mode
+/Rect [473334 -171400 520967 -162400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and)525560 v
+(an)280800 182400 w
+(y auto\001incremented re)3330 1 290090 u
+(gisters will be af)3330 1 379350 u
+(fected.)447970 v
+[ /Dest /Anchor$lf
+ /View [/XYZ -4 604.8 0]
+/DEST pdfmark
+&13
+(.lf)72000 199200 w
+&12
+(N)83940 v
+(\003lename)93940 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Set line number to)4867 1 280800 u
+&12
+(N)366378 v
+&11
+(and)377915 v
+(\003lename to)4867 1 397222 u
+&12
+(\003lename)449176 v
+&11
+(for purposes)4867 1 487923 u
+( re)4463( number)4464( The)7614(of subsequent error messages, etc.)4464 4 280800 211200 t
+(gister [sic])4463 1 495547 u
+&13
+(.F)280800 223200 w
+&11
+( the current input)4057(contains the name of)4056 2 293466 u
+(\003le, as set by com\001)4057 1 458502 u
+(mand line ar)5058 1 280800 235200 t
+(guments,)335726 v
+&13
+(so)377174 v
+&11
+(,)386064 v
+&13
+(nx)393622 v
+&11
+(, or)5058 1 404182 u
+&13
+(lf)425128 v
+&11
+( number re)5058(. The)8208 2 431238 u
+(gister)505782 v
+&13
+(.c)533060 v
+&11
+(contains the number of input lines read from the current)4285 1 280800 247200 t
+(\003le,)524720 v
+(ag)280800 259200 w
+(ain perhaps as modi\003ed by)3330 1 290190 u
+&13
+(lf)404050 v
+&11
+(.)410160 v
+[ /Dest /Anchor$pm
+ /View [/XYZ -4 528 0]
+/DEST pdfmark
+&13
+(.pm)72000 276000 w
+&12
+(t)91720 v
+&11
+(\012)129600 v
+(all)187200 v
+(\012)244800 v
+( names and sizes of all of the de\003ned mac\001)3812( The)6961
+(Print macros.)3811 3 280800 u
+( on the standard error; if)3928(ros and strings are printed)3929 2 280800 288000 t
+&12
+(t)498374 v
+&11
+(is gi)3928 1 505082 u
+(v)523210 v
+(en,)528060 v
+( sizes is gi)4960( The)8110(only the total of the sizes is printed.)4960 3 280800 300000 t
+(v)512970 v
+(en in)4960 1 517820 u
+&12
+(bloc)280800 312000 w
+(ks)297820 v
+&11
+(of 128 characters.)3330 1 309480 u
+[ /Dest /Anchor$fl
+ /View [/XYZ -4 475.2 0]
+/DEST pdfmark
+&13
+(.fl)72000 328800 w
+&11
+(\012)129600 v
+(\012)187200 v
+(B)244800 v
+(Flush output b)3397 1 280800 u
+(uf)340184 v
+(fer)348264 v
+(. F)6727 1 358814 u
+( including an)3398(orce output,)3397 2 373451 u
+(y pending posi\001)3398 1 475984 u
+(tion information.)3330 1 280800 340800 t
+[ /Dest /Anchor$s$5ferr
+ /View [/XYZ -4 446.4 0]
+/DEST pdfmark
+&13
+( and Err)3330(21. Output)6660 2 72000 357600 t
+(or Messages, Deb)3330 1 160430 u
+(ugging)236040 v
+(.)264790 v
+[ /Dest /Bookmark$98
+ /View [/XYZ -4 446.4 0]
+/DEST pdfmark
+&12
+(21.1.)72000 374400 w
+(Output Messa)3330 1 93666 u
+(g)150226 v
+(es.)155126 v
+[ /Dest /Bookmark$99
+ /View [/XYZ -4 429.6 0]
+/DEST pdfmark
+&11
+(The output from)3642 1 169418 u
+&13
+(tm)240894 v
+[ /Dest /Anchor$tm
+/Rect [240894 -375400 252554 -366400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)252554 v
+&13
+(pm)258696 v
+[ /Dest /Anchor$pm
+/Rect [258696 -375400 272586 -366400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( prompt from)3643(, and the)3642 2 272586 u
+&13
+(rd)368289 v
+[ /Dest /Anchor$rd
+/Rect [368289 -375400 378289 -366400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, as well as v)3643 1 378289 u
+(arious)433991 v
+&12
+(err)462074 v
+(or)473844 v
+&11
+(messages are)3643 1 486377 u
+(written onto the standard error)3848 1 72000 386400 t
+( latter is dif)3848(. The)6998 2 198482 u
+(ferent from the)3848 1 273154 u
+&12
+(standar)339678 v
+(d output)3847 1 369868 u
+&11
+(, where formatted te)3847 1 404275 u
+( By)7177(xt goes.)3847 2 488696 u
+(def)72000 398400 w
+(ault, both are written onto the user\030)4370 1 84670 u
+(s terminal, b)4371 1 236150 u
+(ut the)4371 1 289412 u
+( error message)4371( An)7151(y can be independently redirected.)4371 3 313633 u
+( where the error occurred, the current input)3981
+(additionally includes the line number)3982 2 72000 410400 t
+(\003le name, the current ph)3981 1 413316 u
+(ysical)516670 v
+(output page number \(if an)4494 1 72000 422400 t
+( the names of the macros in the frames of the current e)4495(y\), and)4494 2 183696 u
+(x)454970 v
+( The)7645(ecution stack.)4495 2 459820 u
+&13
+(err)72000 434400 w
+(print)85220 v
+&11
+(request allo)3330 1 110220 u
+(ws to write custom messages in the same format.)3330 1 157180 u
+&12
+(21.2.)72000 451200 w
+(W)93666 v
+(arnings.)101076 v
+[ /Dest /Bookmark$100
+ /View [/XYZ -4 352.8 0]
+/DEST pdfmark
+[ /Dest /Anchor$s$5fwarning
+ /View [/XYZ -4 352.8 0]
+/DEST pdfmark
+(nr)138078 v
+(of)146518 v
+(f)154118 v
+&11
+(and)160840 v
+&12
+(tr)179222 v
+(of)185442 v
+(f)193042 v
+&11
+(pro)199764 v
+(vide a mechanism to enable or disable w)3942 1 212944 u
+(arnings for se)3943 1 385408 u
+(v)442474 v
+(eral cate)3943 1 447324 u
+(gories. When)6973 1 482207 u
+(one of the selected conditions occurs, a)3711 1 72000 463200 t
+&12
+(warning)239887 v
+&11
+( in the same format as an error message, b)3710(message is written)3711 2 276938 u
+(ut)532220 v
+(processing continues.)3330 1 72000 475200 t
+509160 491200 102840 491200 Dl
+(Bit)125610 501200 w
+(Name)152840 v
+(Description)216160 v
+509160 505200 102840 505200 Dl
+102840 491200 102840 505200 Dl
+145340 491200 145340 505200 Dl
+208660 491200 208660 505200 Dl
+509160 491200 509160 505200 Dl
+(0)132840 515200 w
+&13
+(none)152840 v
+&11
+(No w)3330 1 216160 u
+(arnings at all.)3330 1 238830 u
+(1)132840 527200 w
+&13
+(char)152840 v
+&11
+(W)216160 v
+(arn when unkno)3330 1 224800 u
+(wn character names lik)3330 1 290640 u
+(e)385500 v
+&13
+(\017\(xx)393270 v
+&11
+(or)412710 v
+&13
+(\017[xxx])424370 v
+&11
+(are found.)3330 1 452140 u
+(2)132840 539200 w
+&13
+(number)152840 v
+&11
+(W)216160 v
+(arn when ille)3330 1 224800 u
+(g)278520 v
+(al numerical e)3330 1 283470 u
+(xpressions)341630 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [294020 -540200 383850 -531200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(occur)387180 v
+(.)408840 v
+(4)132840 551200 w
+&13
+(br)152840 v
+(eak)162660 v
+&11
+(W)216160 v
+(arn when a line in)3330 1 224800 u
+&13
+(.ad b)3330 1 303100 u
+&11
+(mode cannot be adjusted.)3330 1 328380 u
+(8)132840 563200 w
+&13
+(delim)152840 v
+&11
+(W)216160 v
+(arn when a delimiter to an escape sequence is missing.)3330 1 224800 u
+(16)127840 575200 w
+&13
+(el)152840 v
+&11
+(W)216160 v
+(arn when a)3330 1 224800 u
+&13
+(el)273660 v
+[ /Dest /Anchor$el
+/Rect [273660 -576200 280880 -567200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is found without a matching)3330 1 284210 u
+&13
+(ie)435290 v
+[ /Dest /Anchor$ie
+/Rect [435290 -576200 442510 -567200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(.)442510 v
+(32)127840 587200 w
+&13
+(scale)152840 v
+&11
+(W)216160 v
+(arn when an unde\003ned scale indicator is used in a numerical)6330 1 224800 u
+[ /Dest /Anchor$c$5fexpr
+/Rect [464170 -588200 504160 -579200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(e)216160 599200 w
+(xpression)220450 v
+[ /Dest /Anchor$c$5fexpr
+/Rect [216160 -600200 258780 -591200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.)258780 v
+(64)127840 611200 w
+&13
+(range)152840 v
+&11
+(W)216160 v
+(arn when an ar)3330 1 224800 u
+(gument is out of range.)3330 1 286250 u
+(128)122840 623200 w
+&13
+(syntax)152840 v
+&11
+(W)216160 v
+(arn about questionable syntax in numerical e)3330 1 224800 u
+(xpressions.)408490 v
+(256)122840 635200 w
+&13
+(di)152840 v
+&11
+(W)216160 v
+( a)5381(arn when)5380 2 224800 u
+&13
+(di)279812 v
+[ /Dest /Anchor$di
+/Rect [279812 -636200 288152 -627200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is e)5381 1 293533 u
+(x)344135 v
+(ecuted b)5381 1 348985 u
+(ut no di)5381 1 385266 u
+(v)421338 v
+(ersion)426188 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [413808 -636200 450628 -627200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is currently)5381 1 456009 u
+(acti)216160 647200 w
+(v)230350 v
+(e.)235200 v
+(512)122840 659200 w
+&13
+(mac)152840 v
+&11
+(W)216160 v
+(arn when an unde\003ned request, macro or string is called.)3330 1 224800 u
+(1024)117840 671200 w
+&13
+(r)152840 v
+(eg)157100 v
+&11
+(W)216160 v
+( re)4696(arn when an unde\003ned number)4695 2 224800 u
+( number)4696( The)7846(gister is accessed.)4696 3 369756 u
+(re)216160 683200 w
+(gister will be set to zero immediately after the)4340 1 223780 u
+(\003rst access so this)4340 1 426700 u
+(w)216160 695200 w
+(arning can be printed only once per re)3330 1 223280 u
+(gister name.)3330 1 380840 u
+(4096)117840 707200 w
+&13
+(right\001brace)152840 v
+&11
+(W)216160 v
+(arn when a)3330 1 224800 u
+&13
+(\017})273660 v
+&11
+(terminates a numerical e)3330 1 283710 u
+(xpression.)384080 v
+(8192)117840 719200 w
+&13
+(missing)152840 v
+&11
+(W)216160 v
+(arn when a required ar)3330 1 224800 u
+(gument to a request is missing.)3330 1 317900 u
+509160 724000 102840 724000 Dl
+102840 505200 102840 724000 Dl
+145340 505200 145340 724000 Dl
+208660 505200 208660 724000 Dl
+509160 505200 509160 724000 Dl
+(\001)294340 760800 w
+(54)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 54 54
+%%Page: 55 55
+save
+mark
+55 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+509160 76000 102840 76000 Dl
+(Bit)125610 86000 w
+(Name)152840 v
+(Description)216160 v
+509160 90000 102840 90000 Dl
+102840 76000 102840 90000 Dl
+145340 76000 145340 90000 Dl
+208660 76000 208660 90000 Dl
+509160 76000 509160 90000 Dl
+(16384)112840 100000 w
+&13
+(input)152840 v
+&11
+(W)216160 v
+(arn when ille)4301 1 224800 u
+(g)280462 v
+(al byte sequences or characters that ha)4301 1 285412 u
+(v)449298 v
+(e no kno)4301 1 454148 u
+(wn)491940 v
+(PostScript equi)3330 1 216160 112000 t
+(v)277580 v
+(alent are read.)3330 1 282330 u
+(32768)112840 124000 w
+&13
+(escape)152840 v
+&11
+(W)216160 v
+(arn when an unde\003ned escape sequence is used.)3330 1 224800 u
+(65536)112840 136000 w
+&13
+(space)152840 v
+&11
+(W)216160 v
+(arn when an unkno)4184 1 224800 u
+(wn long request name is used, b)4184 1 305972 u
+(ut its)4184 1 443916 u
+(\003rst tw)4185 1 469515 u
+(o)499160 v
+(characters form a kno)3743 1 216160 148000 t
+(wn re)3743 1 306549 u
+( re)3743( The)6893(gular request.)3743 3 330132 u
+(gular request is then)3743 1 419611 u
+(e)216160 160000 w
+(x)220450 v
+(ecuted in e)3330 1 225300 u
+(xtension le)3330 1 270130 u
+(v)314320 v
+(el 2, or ignored in e)3330 1 319170 u
+(xtension le)3330 1 401490 u
+(v)445680 v
+(el 3.)3330 1 450530 u
+(131072)107840 172000 w
+&13
+(f)152840 v
+(ont)155920 v
+&11
+(W)216160 v
+( w)5553( This)8703( cannot be found.)5553(arn when a font)5552 4 224800 u
+(arning is enabled by)5553 1 414181 u
+(def)216160 184000 w
+(ault.)228830 v
+&13
+(all)152840 196000 w
+&11
+(All w)4078 1 216160 u
+(arnings e)4078 1 240138 u
+(xcept)277946 v
+&13
+(di)303684 v
+&11
+(,)312024 v
+&13
+(mac)318602 v
+&11
+(, and)4078 1 336372 u
+&13
+(r)361468 v
+(eg)365728 v
+&11
+( be the best choice)4079( may)4078(. This)7228 3 375168 u
+(when using e)3330 1 216160 208000 t
+(xisting macro packages.)3330 1 270440 u
+&13
+(w)152840 220000 w
+&11
+(All w)3330 1 216160 u
+(arnings.)239390 v
+509160 224000 102840 224000 Dl
+102840 90000 102840 224000 Dl
+145340 90000 145340 224000 Dl
+208660 90000 208660 224000 Dl
+509160 90000 509160 224000 Dl
+&12
+(21.3.)72000 250800 w
+(Err)93666 v
+(or)107106 v
+(s.)115896 v
+[ /Dest /Bookmark$101
+ /View [/XYZ -4 553.2 0]
+/DEST pdfmark
+&11
+(V)126663 v
+(arious)132773 v
+&12
+(err)162090 v
+(or)173860 v
+&11
+( the operation of)4878(conditions may occur during)4877 2 187627 u
+&12
+(nr)387300 v
+(of)395740 v
+(f)403340 v
+&11
+(and)410998 v
+&12
+(tr)430316 v
+(of)436536 v
+(f)444136 v
+(.)446766 v
+&11
+(Certain less serious)4878 1 457474 u
+(errors ha)3923 1 72000 262800 t
+( T)7072( to terminate.)3922
+(ving only local impact do not cause processing)3923 3 108483 u
+(w)374200 v
+(o e)3922 1 381320 u
+(xamples are)3922 1 394532 u
+&12
+(wor)447916 v
+(d o)3922 1 463106 u
+(ver\004ow)476928 v
+&11
+(, caused)3922 1 506368 u
+(by a w)4625 1 72000 274800 t
+(ord that is too lar)4625 1 102810 u
+(ge to)4625 1 179460 u
+(\003t into the w)4625 1 205930 u
+(ord b)4625 1 263045 u
+(uf)285800 v
+(fer \(in)4625 1 293880 u
+(\003ll mode\), and)4625 1 325340 u
+&12
+(line o)4625 1 392825 u
+(ver\004ow)417350 v
+&11
+(, caused by an output)4625 1 446790 u
+(line that gre)3834 1 72000 286800 t
+(w too lar)3834 1 122188 u
+(ge to)3834 1 160226 u
+(\003t in the line b)3834 1 185114 u
+(uf)248590 v
+( message is printed, the of)3833(fer; in both cases, a)3834 2 256670 u
+(fending e)3833 1 450331 u
+(xcess is dis\001)3833 1 489004 u
+(carded, and the af)4427 1 72000 298800 t
+(fected w)4427 1 148611 u
+(ord or line is mark)4427 1 184588 u
+( a)4428(ed at the point of truncation with)4427 2 266076 u
+&20
+(\005)422034 v
+&11
+(in)431462 v
+&12
+(nr)443670 v
+(of)452110 v
+(f)459710 v
+&11
+(and a)4428 1 466918 u
+&20
+()494654 v
+10 @20 f
+494654 298800 m
+9760 build_lh
+504414 298800 m
+&11
+(in)508842 v
+&12
+(tr)521050 v
+(of)527270 v
+(f)534870 v
+(.)537500 v
+&11
+( the grounds that output useful for deb)3688
+(Processing continues if possible, on)3689 2 72000 310800 t
+( a serious)3688( If)7018(ugging may be produced.)3688 3 380962 u
+( processing terminates, and an appropriate message is printed, along with\
+ a list of the macro names)3793
+(error occurs,)3792 2 72000 322800 t
+(currently acti)4138 1 72000 334800 t
+(v)126428 v
+( are the inability to create, read, or write)4137(e. Examples)7467 2 131278 u
+(\003les, and the e)4137 1 362868 u
+(xceeding of certain internal)4137 1 425399 u
+(limits that mak)3330 1 72000 346800 t
+(e future output unlik)3330 1 133570 u
+(ely to be useful.)3330 1 217900 u
+&12
+(21.4.)72000 363600 w
+(Deb)93666 v
+(ug)110126 v
+(ging)120026 v
+(.)137656 v
+[ /Dest /Bookmark$102
+ /View [/XYZ -4 440.4 0]
+/DEST pdfmark
+&11
+(Strings, macros, and number re)3533 1 143688 u
+(gisters can be)3533 1 272650 u
+&12
+(watc)332679 v
+(hed)351419 v
+&11
+(. Whene)6563 1 365859 u
+(v)402992 v
+(er a change of a w)3533 1 407842 u
+(atched object)3533 1 485927 u
+(occurs, or when the object is renamed, remo)4529 1 72000 375600 t
+(v)262953 v
+( is formatted)4528( It)7858
+(ed, or aliased, a noti\003cation message is printed.)4529 3 267803 u
+(lik)72000 387600 w
+( last pre)4349
+(e an error message and includes the name of the current \(or)4348 2 82460 u
+(vious\) request, the name of the objects)4349 1 374766 u
+(af)72000 399600 w
+(fected, and, in case of a change, the ne)3330 1 79520 u
+(w contents of the object.)3330 1 240020 u
+(When an object is remo)5013 1 72000 416400 t
+(v)176882 v
+(ed, w)5013 1 181732 u
+( of the same name is created later)5014( an object)5013( If)8343
+(atching is disabled.)5013 4 205805 u
+(, it is not)5014 1 497448 u
+(w)72000 428400 w
+(atched unless w)3330 1 79120 u
+(atching is e)3330 1 144000 u
+(xplicitly enabled for it ag)3330 1 191060 u
+(ain.)295430 v
+&14
+(Request)72000 445200 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 457200 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$warn
+ /View [/XYZ -4 330 0]
+/DEST pdfmark
+&13
+(.war)72000 474000 w
+(n)91010 v
+&20
+(\143)99900 v
+&12
+(bits\023)105390 v
+(name)123423 v
+(w)187200 v
+&11
+(\012)244800 v
+(Control w)3916 1 280800 u
+(arning messages, which may be gi)3916 1 322396 u
+(v)466426 v
+(en either numer)3917 1 471276 u
+(\001)536670 v
+( W)7908( or symbolically as names.)4878(ically as bits)4879 3 280800 486000 t
+(ith a)4878 1 468398 u
+&13
+(+)493154 v
+&11
+(sign, the)4878 1 503732 u
+(respecti)280800 498000 w
+(v)311650 v
+(e bit or name is enabled in addition to the currently)4408 1 316500 u
+(enabled cate)5670 1 280800 510000 t
+(gories; with a)5670 1 333520 u
+&13
+(\012)399970 v
+&11
+( Omitting)9000(sign, it is disabled.)5670 2 410640 u
+(the sign sets the cate)4463 1 280800 522000 t
+(gories e)4464 1 370712 u
+(xactly to the gi)4464 1 403906 u
+(v)469268 v
+(en bit or name.)4464 1 474118 u
+&13
+(.war)280800 534000 w
+(n 0)4338 1 299810 u
+&11
+(disables all w)4338 1 319046 u
+(arnings. The)7487 1 377062 u
+[ /Dest /Anchor$n$5f$2ewarn
+ /View [/XYZ -4 270 0]
+/DEST pdfmark
+&13
+(.war)436376 v
+(n)455386 v
+&11
+(re)465283 v
+(gister represents)4337 1 472903 u
+(the currently acti)3330 1 280800 546000 t
+(v)349970 v
+(ated w)3330 1 354720 u
+(arning cate)3330 1 381830 u
+(gories as bits.)3330 1 426660 u
+[ /Dest /Anchor$spreadwarn
+ /View [/XYZ -4 241.2 0]
+/DEST pdfmark
+&13
+(.spr)72000 562800 w
+(ead)88210 v
+(war)103060 v
+(n)119570 v
+&12
+(N)128460 v
+&11
+(toggle)187200 v
+&13
+(m)244800 v
+&11
+(Set or toggle a limit that causes a w)5999 1 280800 u
+( printed)6000(arning to be)5999 2 450902 u
+(when it is e)4938 1 280800 574800 t
+(xceeded by the adjustment that is computed for)4938 1 333794 u
+(the current output line in)5076 1 280800 586800 t
+&13
+(ad)395060 v
+(b)408950 v
+&11
+( limit is initially)5076(mode. The)8226 2 419586 u
+(3)280800 598800 w
+(m, b)3589 1 287466 u
+( w)3588(ut the)3589 2 306135 u
+( this request)3588( Calling)6918(arning message is disabled.)3588 3 340432 u
+(without an ar)4798 1 280800 610800 t
+(gument toggles the w)4799 1 337986 u
+(arning message; calling it)4799 1 430613 u
+(with an ar)4046 1 280800 622800 t
+(gument enables the w)4046 1 323702 u
+(arning and sets the limit to)4045 1 415170 u
+&12
+(N)533330 v
+&11
+(\(def)280800 634800 w
+(ault scale m\).)3330 1 296800 u
+[ /Dest /Anchor$errprint
+ /View [/XYZ -4 152.4 0]
+/DEST pdfmark
+&13
+(.err)72000 651600 w
+(print)87720 v
+&12
+(string)112720 v
+&11
+(ne)187200 v
+(wline)196390 v
+(\012)244800 v
+(Print)280800 v
+&12
+(string)303580 v
+&11
+(lik)330250 v
+(e an error message.)3330 1 340710 u
+[ /Dest /Anchor$watch
+ /View [/XYZ -4 135.6 0]
+/DEST pdfmark
+&13
+(.watch)72000 668400 w
+&12
+(xx)103380 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Notify on change of string or macro)3978 1 280800 u
+&12
+(xx)437506 v
+&11
+(. If)7308 1 446386 u
+&12
+(xx)466833 v
+&11
+(does not e)3979 1 479692 u
+(xist,)523050 v
+( w)6001(it is created as an empty macro in order to)6002 2 280800 680400 t
+(atch future)6001 1 493459 u
+(changes.)280800 692400 w
+[ /Dest /Anchor$unwatch
+ /View [/XYZ -4 94.8 0]
+/DEST pdfmark
+&13
+(.unwatch)72000 709200 w
+&12
+(xx)114500 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Disable noti\003cation for string or macro)3330 1 280800 u
+&12
+(xx)444650 v
+&11
+(.)453530 v
+(\001)294340 760800 w
+(55)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 55 55
+%%Page: 56 56
+save
+mark
+56 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$watchlength
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(.watchlength)72000 84000 w
+&12
+(N)130050 v
+&11
+(ignore)187200 v
+(\012)244800 v
+(On change, report the contents of macros and strings up to)5063 1 280800 u
+(length)280800 96000 w
+&12
+(N)310859 v
+&11
+(. When)8089 1 317529 u
+&12
+(N)357056 v
+&11
+(is zero or small, printing of macro and)5058 1 368784 u
+(string contents is disabled.)3330 1 280800 108000 t
+[ /Dest /Anchor$watchn
+ /View [/XYZ -4 679.2 0]
+/DEST pdfmark
+&13
+(.watchn)72000 124800 w
+&12
+(R)108940 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Notify on change of re)5609 1 280800 u
+(gister)383616 v
+&12
+(R)411445 v
+&11
+(. If)8939 1 417555 u
+&12
+(R)441263 v
+&11
+(does not e)5609 1 452982 u
+(xist, it is)5610 1 499600 u
+(created in order to w)4270 1 280800 136800 t
+( ef)4270( No)7600(atch future changes.)4270 3 370530 u
+(fect on read\001)4270 1 485930 u
+(only re)3330 1 280800 148800 t
+(gisters and some of the prede\003ned general re)3330 1 309530 u
+(gisters.)494310 v
+[ /Dest /Anchor$unwatchn
+ /View [/XYZ -4 638.4 0]
+/DEST pdfmark
+&13
+(.unwatchn)72000 165600 w
+&12
+(R)120060 v
+&11
+(of)129600 v
+(f)137680 v
+(ignore)187200 v
+(\012)244800 v
+(Disable noti\003cation for re)3330 1 280800 u
+(gister)386180 v
+&12
+(R)411730 v
+&11
+(.)417840 v
+[ /Dest /Anchor$s$5fcolor
+ /View [/XYZ -4 616.8 0]
+/DEST pdfmark
+&13
+( Support)3330(22. Color)6660 2 72000 187200 t
+[ /Dest /Bookmark$103
+ /View [/XYZ -4 616.8 0]
+/DEST pdfmark
+&11
+(While)72000 204000 w
+&12
+(tr)100510 v
+(of)106730 v
+(f)114330 v
+&11
+(does not support colors directly)4070 1 121180 u
+(,)252910 v
+&12
+(dpost)259481 v
+&11
+(is able to embed arbitrary PostScript color instructions using)4071 1 285222 u
+(the)72000 216000 w
+&13
+(\017X\013SetColor:)87550 v
+&12
+(color)145310 v
+&13
+(\013)166420 v
+&11
+( v)3330( Possible)6660(escape sequence.)3330 3 173080 u
+(alues for)3330 1 290290 u
+&12
+(color)329160 v
+&11
+(include:)353600 v
+(\012)72000 232800 w
+(\027)80330 v
+(\027)82920 v
+&12
+(named\001color)86250 v
+&11
+(\030)137350 v
+(\030, e.g.)4984 1 139940 u
+(\027)170178 v
+(\027red\030)172768 v
+( colors \()4984(\030. Named)8314 2 191458 u
+9 s
+(RGB)272220 v
+10 s
+( in the)4985(only\) must be listed)4984 2 295708 u
+(\027)417285 v
+(\027colordict\030)419875 v
+( in)4985(\030 dictionary)4245 2 461345 u
+(\003le)527220 v
+&13
+(/usr/ucblib/doctools/f)80330 244800 w
+(ont/de)170100 v
+(vps/postscript/color)196620 v
+(.ps)279510 v
+&11
+(. Ev)7597 1 291460 u
+(ery)312517 v
+&12
+(color)329554 v
+&11
+(ar)354931 v
+(gument that be)4267 1 362521 u
+(gins with a letter is treated)4267 1 425345 u
+(as a named color)3330 1 80330 256800 t
+(.)149750 v
+(\012)72000 273600 w
+(\027)80330 v
+(\027)82920 v
+&12
+(r)86250 v
+(ed gr)3330 1 89770 u
+(een blue)3330 1 111060 u
+&13
+(r)148820 v
+(gb)153160 v
+&11
+(\030)163720 v
+(\030, e.g.)3330 1 166310 u
+(\027)193240 v
+(\027.2 .3 .4 r)3330 1 195830 u
+(gb\030)234800 v
+(\030 \()2590 1 247390 u
+&13
+(r)256640 v
+(gb)260980 v
+&11
+(is an abbre)3330 1 274870 u
+(viation for the PostScript)3330 1 319600 u
+&13
+(setr)425700 v
+(gbcolor)441700 v
+&11
+(operator\))477250 v
+(\012)72000 290400 w
+(\027)80330 v
+(\027)82920 v
+&12
+(hue satur)4611 1 86250 u
+(ation brightness)4611 1 125711 u
+&13
+(hsb)197164 v
+&11
+(\030)212174 v
+(\030, e.g.)4612 1 214764 u
+(\027)244258 v
+(\027.5 .6 .7 hsb\030)4612 1 246848 u
+(\030 \()3872 1 302994 u
+&13
+(hsb)313526 v
+&11
+(is an abbre)4612 1 333148 u
+(viation for the PostScript)4612 1 380442 u
+&13
+(sethsbcolor)491670 v
+&11
+(operator\))80330 302400 w
+(\012)72000 319200 w
+(\027)80330 v
+(\027)82920 v
+&12
+(cyan ma)5061 1 86250 u
+(g)122311 v
+(enta yellow blac)5061 1 127211 u
+(k)197683 v
+&13
+(cmyk)207184 v
+&11
+(\030)230514 v
+(\030, e.g.)5061 1 233104 u
+(\027)263496 v
+(\027.1 .2 .3 .4 cmyk\030)5061 1 266086 u
+(\030 \()4321 1 344470 u
+&13
+(cmyk)355451 v
+&11
+(is an abbre)5061 1 383842 u
+(viation for the PostScript)5062 1 432034 u
+&13
+(setcmykcolor)80330 331200 w
+&11
+(operator\))140310 v
+(\012)72000 348000 w
+(\027)80330 v
+(\027)82920 v
+&12
+(gr)86250 v
+(ay)94990 v
+&13
+(setgray)107760 v
+&11
+(\030)138860 v
+(\030, e.g.)3330 1 141450 u
+(\027)168380 v
+(\027.5 setgray\030)3330 1 170970 u
+(\030)216600 v
+(\012)72000 364800 w
+(\027)80330 v
+(\027[)82920 v
+&13
+($)89580 v
+&12
+(setcolor)94580 v
+(space)126700 v
+&11
+(])149470 v
+&12
+(comp1 comp2 .)4844 1 157644 u
+(.)224818 v
+(. compn)4844 1 228984 u
+&13
+(setcolor)267832 v
+&11
+(\030)301152 v
+(\030, where)4844 1 303742 u
+&13
+($)343690 v
+&12
+(setcolor)348690 v
+(space)380810 v
+&11
+(may be a PostScript procedure)4844 1 408424 u
+(de\003ned in the setup section using a)3368 1 80330 376800 t
+(\027\017X\013PSSetup: $setcolorspace {.)3368 1 228896 u
+(.)356808 v
+( param\001)3367( This)6517( sequence.)3368( escape)2628
+(.} bind def\013\030)3368 5 360974 u
+( install the color)3584( it may be suf\003cient to)3583( Otherwise,)6913
+(eter is required if the color space changes in the document.)3583 4 80330 388800 t
+(space once in the setup section.)3330 1 80330 400800 t
+( the most general case, the v)3811( In)7141
+( must be a number in the range between 0.0 and 1.0.)3811(Each parameter)3810 4 72000 417600 t
+(alue of the)3811 1 495168 u
+&12
+(color)72000 429600 w
+&11
+(ar)96440 v
+(gument is passed to the PostScript output without interpretation.)3330 1 104030 u
+(Both the te)4101 1 72000 446400 t
+( A)6882( be selected.)4102(xt and background color can)4101 3 118942 u
+&12
+(color)309764 v
+&11
+(ar)334976 v
+(gument of)4102 1 342566 u
+(\027)389100 v
+(\027)391690 v
+&12
+(color1)395020 v
+&11
+(\030)421130 v
+(\030)423720 v
+&13
+(on)430412 v
+&11
+(\027)445074 v
+(\027)447664 v
+&12
+(color2)450994 v
+&11
+(\030)477104 v
+( te)4102(\030 prints)3362 2 479694 u
+(xt in)4102 1 520338 u
+&12
+(color1)72000 458400 w
+&11
+(on a background in)3330 1 101440 u
+&12
+(color2.)184190 v
+&11
+( the)3645(The initial color is black in)3644 2 72000 475200 t
+&12
+(De)205280 v
+(viceGr)216790 v
+(ay)243850 v
+&11
+(color space, i.e. the same as)3645 1 256935 u
+(\027)377385 v
+(\0270 setgray\030)3645 1 379975 u
+( a color is in ef)3645(\030. Once)6975 2 423420 u
+(fect,)522510 v
+(it is re\001installed at the top of each output page.)3330 1 72000 487200 t
+(The)72000 504000 w
+&13
+(\012mcolor)91346 v
+&11
+( selection and re)3797
+(macro package adds another access method to the capabilities of color)3796 2 130132 u
+(v)493033 v
+(erse video)3797 1 497883 u
+( includes the follo)3330(printing. It)6660 2 72000 516000 t
+(wing macro:)3330 1 193120 u
+&14
+(Request)72000 532800 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 544800 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$CL
+ /View [/XYZ -4 242.4 0]
+/DEST pdfmark
+&13
+(.CL)72000 561600 w
+&12
+(color)91720 v
+(te)116160 v
+(xt)123180 v
+9 @11 f
+(RGB)187200 v
+10 s
+(black)209034 v
+(\012)244800 v
+(Print)280800 v
+&12
+(te)306175 v
+(xt)313195 v
+&11
+(in)326340 v
+&12
+(color)340045 v
+&11
+( ar)5926(. No)9255 2 361155 u
+(guments restores a def)5926 1 398646 u
+(ault color)5926 1 498524 u
+(\(black in)3928 1 280800 573600 t
+9 s
+(RGB)321426 v
+10 s
+(color space; note that this is dif)3928 1 343858 u
+(ferent from the)3927 1 477166 u
+( If)7634(initial color\).)4304 2 280800 585600 t
+&12
+(te)353422 v
+(xt)360442 v
+&11
+(is omitted the selected)4304 1 371966 u
+&12
+(color)470842 v
+&11
+(remains in)4304 1 496256 u
+(ef)280800 597600 w
+(fect until another)5255 1 288320 u
+&12
+(color)367405 v
+&11
+( tw)5254( If)8584(is selected.)5254 3 393770 u
+(o ar)5254 1 470802 u
+(guments are)5254 1 488646 u
+(gi)280800 609600 w
+(v)288330 v
+(en the)4021 1 293180 u
+&12
+(te)322882 v
+(xt)329902 v
+&11
+( in)4022(is printed)4021 2 341143 u
+&12
+(color)395988 v
+&11
+(and then the def)4022 1 421120 u
+(ault color is)4022 1 489736 u
+(restored.)280800 621600 w
+[ /Dest /Anchor$s$5fpics
+ /View [/XYZ -4 160.8 0]
+/DEST pdfmark
+&13
+(23. Pictur)6660 1 72000 643200 t
+(e Inclusion)3330 1 117640 u
+[ /Dest /Bookmark$104
+ /View [/XYZ -4 160.8 0]
+/DEST pdfmark
+&12
+(dpost)72000 660000 w
+&11
+( general, these docu\001)3775( In)7105
+( other PostScript documents into the output it generates.)3775
+(can be advised to include)3774 4 97444 u
+(ments should be)3848 1 72000 672000 t
+9 s
+(EPS)143544 v
+10 s
+(\(Encapsulated PostScript\))3848 1 162899 u
+( especially)3847(\003les; inclusion of more general PostScript documents,)3848 2 271695 u
+(if the)3330 1 72000 684000 t
+(y consist of multiple pages, will usually not lead to acceptable results.\
+)3330 1 93510 u
+(If a PostScript)5163 1 72000 700800 t
+(\003le lacks page\001delimiting comments, the entire)5163 1 139709 u
+( no)5164( If)8494( included.)5164(\003le is)5163 4 345947 u
+&13
+(%%BoundingBox)448146 v
+&11
+(or)531670 v
+&13
+(%%HiResBoundingBox)72000 712800 w
+&11
+( the picture is assumed to)5599(comment is present,)5600 2 182070 u
+(\003ll an 8.5)5599 1 391014 u
+&20
+(\145)435272 v
+&11
+( Nothing)8929(11\001inch page.)5599 2 440762 u
+(pre)72000 724800 w
+(v)84520 v
+(ents the picture from being placed of)3330 1 89370 u
+(f the page.)3330 1 241290 u
+(\001)294340 760800 w
+(56)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 56 56
+%%Page: 57 57
+save
+mark
+57 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(dpost)72000 84000 w
+&11
+(handles)97236 v
+9 s
+(DSC)131352 v
+10 s
+(font comments in the included)3566 1 152423 u
+(\003les, b)3566 1 281913 u
+( supply glyph data if a path to the respec\001)3567(ut it can only)3566 2 309449 u
+(ti)72000 96000 w
+(v)77310 v
+(e font)3953 1 82160 u
+(\003le has pre)3953 1 110616 u
+(viously been speci\003ed with a)3953 1 157152 u
+&12
+(tr)283017 v
+(of)289237 v
+(f)296837 v
+&13
+(fp)303570 v
+[ /Dest /Anchor$fp
+/Rect [303570 -97000 312460 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( is not necessary that the font is otherwise)3952(request. It)7282 2 316412 u
+(used in the)4043 1 72000 108000 t
+&12
+(tr)122459 v
+(of)128679 v
+(f)136279 v
+&11
+(input te)4043 1 143102 u
+(xt. If)7373 1 174775 u
+&12
+(dpost)203131 v
+&11
+(cannot retrie)4043 1 228844 u
+(v)280397 v
+( matching font by this mechanism, it indicates this in the)4044(e a)4043 2 285247 u
+&13
+(%%DocumentNeededResour)72000 120000 w
+(ces)197910 v
+&11
+( at a later production stage may include the)4161
+(comment so that a print manager)4162 2 214842 u
+(missing data.)3330 1 72000 132000 t
+(An e)3330 1 72000 148800 t
+(xample ho)3330 1 91840 u
+(w to combine the follo)3330 1 134360 u
+(wing requests and macros is:)3330 1 227980 u
+&13
+(.psb)108000 165600 w
+(b pictur)3330 1 125410 u
+(e.eps)160230 v
+(.nrf scale .25)3330 1 108000 177600 t
+(.nrf y \(\017n[ury]p\012\017n[lly]p\)*\017n[scale])3330 1 108000 189600 t
+(.nrf x \(\017n[urx]p\012\017n[llx]p\)*\017n[scale])3330 1 108000 201600 t
+(.PI pictur)3330 1 108000 213600 t
+(e.eps)149760 v
+(\020\017nyu,\017nxu\020)173920 v
+(.sp)108000 225600 w
+(\017nyu)123280 v
+(pictur)108000 237600 w
+(e description)3330 1 133930 u
+&12
+(tr)72000 259200 w
+(of)78220 v
+(f)85820 v
+&11
+(includes a request to assist the inclusion of)3330 1 91930 u
+9 s
+(EPS)271890 v
+10 s
+(\003les:)290727 v
+&14
+(Request)72000 276000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 288000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$psbb
+ /View [/XYZ -4 499.2 0]
+/DEST pdfmark
+&13
+(.psb)72000 304800 w
+(b)89410 v
+&12
+(\003lename)98300 v
+&11
+(\012)187200 v
+(\012)244800 v
+(Read the)8032 1 280800 u
+&13
+(%%HiResBoundingBox)329634 v
+9 @11 f
+(DSC)442136 v
+10 s
+(comment, or)8033 1 467674 u
+(, if)8033 1 523357 u
+( comment is found,)6947(no such)6948 2 280800 316800 t
+&13
+(%%BoundingBox)413586 v
+&11
+(, from the)6947 1 491946 u
+(PostScript document)3545 1 280800 328800 t
+&12
+(\003lename)368450 v
+&11
+( the lo)3546(and assign)3545 2 405875 u
+(wer left)3546 1 475702 u
+&12
+(x)511114 v
+&11
+(coor)519100 v
+(\001)536670 v
+(dinate to the)3602 1 280800 340800 t
+(\004oating\001point re)3602 1 336046 u
+(gister)401718 v
+&13
+(llx)427540 v
+&11
+(, the lo)3602 1 438100 u
+(wer left)3602 1 467554 u
+&12
+(y)503078 v
+&11
+(coordi\001)511120 v
+(nate to)3871 1 280800 352800 t
+&13
+(lly)312982 v
+&11
+( right)3872(, the upper)3871 2 323542 u
+&12
+(x)395408 v
+&11
+(coordinate to)3872 1 403720 u
+&13
+(urx)461454 v
+&11
+(, and the upper)3872 1 476454 u
+(right)280800 364800 w
+&12
+(y)303167 v
+&11
+(coordinate to)3477 1 311084 u
+&13
+(ury)368028 v
+&11
+( v)3477(. All)6257 2 383028 u
+( an error)3476( If)6806( points.)3476(alues are in)3477 4 412792 u
+(occurs, the re)3330 1 280800 376800 t
+(gisters are set to zero.)3330 1 335900 u
+(The)72000 393600 w
+&13
+(\012mpictur)91232 v
+(es)130492 v
+&11
+( advices to)3683(macros insert the necessary)3682 2 142504 u
+&12
+(dpost)304559 v
+&11
+(to include PostScript pictures into)3683 1 329912 u
+&12
+(tr)473887 v
+(of)480107 v
+(f)487707 v
+&11
+(documents.)494170 v
+(The macros are:)3330 1 72000 405600 t
+&14
+(Request)72000 422400 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 434400 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$BP
+ /View [/XYZ -4 352.8 0]
+/DEST pdfmark
+&13
+(.BP)72000 451200 w
+&12
+(sour)90610 v
+(ce)108020 v
+(height)120230 v
+(width)148560 v
+(position)174120 v
+(of)209680 v
+(fset)217280 v
+(\004a)234500 v
+(gs)244400 v
+(label)256620 v
+&11
+( ar)3330( The)6480(De\003ne a frame and place a picture in it.)3330 3 280800 u
+(guments are:)3330 1 478400 u
+&12
+(sour)280800 468000 w
+(ce)298210 v
+&11
+( picture)4933(Name of a PostScript)4932 2 312022 u
+(\003le, optionally suf\003x)4933 1 442224 u
+(ed)530560 v
+(with \()3548 1 290800 480000 t
+&12
+(n)315458 v
+&11
+(\) to select page number)3548 1 320458 u
+&12
+(n)421508 v
+&11
+(from the)3547 1 430055 u
+(\003le \(\003rst page by)3547 1 468809 u
+(def)290800 492000 w
+(ault\).)303470 v
+&12
+(height)280800 508800 w
+&11
+(V)309490 v
+(ertical size of the frame, def)4190 1 315600 u
+(ault)436130 v
+&13
+(3.0i)455320 v
+&11
+( ar)4190(. This)7340 2 470600 u
+(gument)510000 v
+(is interpreted as a v)4586 1 290800 520800 t
+( a)4585(alue in inches unless it ends with)4586 2 376654 u
+&13
+(u)534440 v
+&11
+(scale indicator)3330 1 290800 532800 t
+(.)349120 v
+&12
+(width)280800 549600 w
+&11
+( frame, current line length by)5996(Horizontal size of the)5995 2 309025 u
+(def)290800 561600 w
+( ar)4779(ault. This)7929 2 303470 u
+(gument is interpreted as a v)4779 1 359048 u
+( inches)4778(alue in)4779 2 480453 u
+(unless it ends with a)3330 1 290800 573600 t
+&13
+(u)378560 v
+&11
+(scale indicator)3330 1 387450 u
+(.)445770 v
+&12
+(position)280800 590400 w
+&13
+(l)318902 v
+&11
+(\(def)327554 v
+(ault\),)343554 v
+&13
+(c)370256 v
+&11
+(, or)5872 1 374696 u
+&13
+(r)397270 v
+&11
+(to left\001justify)5872 1 407582 u
+(, center)5872 1 462804 u
+(, or right\001)5872 1 495206 u
+(justify the frame.)3330 1 290800 602400 t
+&12
+(of)280800 619200 w
+(fset)288400 v
+&11
+(Mo)306766 v
+(v)320506 v
+( original)4477(e the frame horizontally from the)4476 2 325356 u
+&12
+(position)507770 v
+&11
+(by this amount, def)3330 1 290800 631200 t
+(ault)370410 v
+&13
+(0i)388740 v
+&11
+(.)396520 v
+&12
+(\004a)280800 648000 w
+(gs)290700 v
+&11
+(One or more of:)3330 1 302920 u
+&13
+(a)290800 664800 w
+&12
+(d)299130 v
+&11
+(Rotate the picture clockwise)3330 1 307460 u
+&12
+(d)426870 v
+&11
+(de)435200 v
+(grees, def)3330 1 444490 u
+(ault)484090 v
+&12
+(d)502420 v
+&11
+(=90.)510750 v
+&13
+(o)290800 681600 w
+&11
+(Outline the picture with a box.)3330 1 299130 u
+&13
+(s)290800 698400 w
+&11
+(Freely scale both picture dimensions.)3330 1 298020 u
+&13
+(w)290800 715200 w
+&11
+(White out the area to be occupied by the picture.)3330 1 301050 u
+(\001)294340 760800 w
+(57)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 57 57
+%%Page: 58 58
+save
+mark
+58 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(l)290800 84000 w
+&11
+(,)293580 v
+&13
+(r)300143 v
+&11
+(,)304583 v
+&13
+(t)311146 v
+&11
+(,)314476 v
+&13
+(b)321039 v
+&11
+( bottom)4064(Attach the picture to the left right, top, or)4063 2 330112 u
+(of the frame.)3330 1 300800 96000 t
+&12
+(label)280800 112800 w
+&11
+(Place)304130 v
+&12
+(label)329120 v
+&11
+(at distance)3330 1 352450 u
+&13
+(1.5v)399100 v
+&11
+(belo)419930 v
+(w the frame.)3330 1 436900 u
+(If there is room,)4620 1 280800 129600 t
+&13
+(BP)356210 v
+&11
+(\003lls te)4620 1 373610 u
+( Ev)7950(xt around the frame.)4620 2 400310 u
+(erything)506670 v
+( di)4411(destined for either side of the frame goes into a)4412 2 280800 141600 t
+(v)498519 v
+(ersion)503369 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [490989 -142600 527809 -133600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(to)532220 v
+(be retrie)4732 1 280800 153600 t
+(v)315822 v
+(ed when the accumulated te)4732 1 320672 u
+( the trap)4733(xt sweeps past)4732 2 440530 u
+(set by)3330 1 280800 165600 t
+&13
+(BP)308570 v
+&11
+(or when the di)3330 1 324680 u
+(v)384410 v
+(ersion)389260 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [376880 -166600 413700 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is e)3330 1 417030 u
+(xplicitly closed by)3330 1 431320 u
+&13
+(EP)510200 v
+&11
+(.)522980 v
+&13
+(BP)280800 182400 w
+&11
+(is not recommended for te)4991 1 298571 u
+(xt)413365 v
+(\003lling in)4991 1 426136 u
+&13
+(ad)467798 v
+(p)481688 v
+[ /Dest /Anchor$ad$5fp
+/Rect [467798 -183400 487248 -174400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(mode since)4991 1 492239 u
+( optimal output,)5213(its trap\001based mechanism may result in less)5214 2 280800 194400 t
+( shape of a complete)4149(and since it is not possible to de\003ne the)4148 2 280800 206400 t
+( of)4328( a combination)4329( Use)7659
+(paragraph with the information it has.)4329 4 280800 218400 t
+&13
+(psb)280800 230400 w
+(b)295710 v
+[ /Dest /Anchor$psbb
+/Rect [280800 -231400 301270 -222400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)301270 v
+&13
+(pshape)307100 v
+[ /Dest /Anchor$pshape
+/Rect [307100 -231400 337110 -222400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)3330 1 337110 u
+&13
+(PI)360710 v
+[ /Dest /Anchor$PI
+/Rect [360710 -231400 370710 -222400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(instead.)374040 v
+[ /Dest /Anchor$EP
+ /View [/XYZ -4 556.8 0]
+/DEST pdfmark
+&13
+(.EP)72000 247200 w
+&11
+(\012)129600 v
+(\012)187200 v
+(\012)244800 v
+( by)3413(End a picture started)3412 2 280800 u
+&13
+(BP)382842 v
+&11
+(;)395622 v
+&13
+(EP)401815 v
+&11
+(is usually called implicitly by)3413 1 418008 u
+( picture and associated te)4022( A)6802(a trap at frame bottom.)4022 3 280800 259200 t
+(xt silently)4022 1 498748 u
+(disappear if a di)4639 1 280800 271200 t
+(v)351117 v
+(ersion trap set by)4639 1 355967 u
+&13
+(BP)435623 v
+&11
+( Call)7970(is not reached.)4639 2 453042 u
+&13
+(EP)280800 283200 w
+&11
+(at the end of the document to retrie)3330 1 296910 u
+(v)442720 v
+(e it.)3330 1 447570 u
+[ /Dest /Anchor$PI
+ /View [/XYZ -4 504 0]
+/DEST pdfmark
+&13
+(.PI)72000 300000 w
+&12
+(sour)87830 v
+(ce)105240 v
+(height)117450 v
+&13
+(,)142450 v
+&12
+(width)144950 v
+&13
+(,)167180 v
+&12
+(yof)169680 v
+(fset)181720 v
+&13
+(,)195610 v
+&12
+(xof)198110 v
+(fset)210150 v
+(\004a)227370 v
+(gs)237270 v
+&11
+(This lo)3726 1 280800 u
+(w\001le)309836 v
+(v)327356 v
+(el macro, used by)3726 1 332206 u
+&13
+(BP)410150 v
+&11
+(, can help do more comple)3726 1 422930 u
+(x)535000 v
+( tw)3330(things. The)6480 2 280800 312000 t
+(o ar)3330 1 343010 u
+(guments not already described are:)3330 1 358930 u
+&12
+(xof)280800 328800 w
+(fset)292840 v
+&11
+(Of)311020 v
+(fset the frame from the left mar)4290 1 321320 u
+(gin by this amount,)4290 1 457400 u
+(def)290800 340800 w
+(ault)303470 v
+&13
+(0i)321993 v
+&11
+( ar)3523(. This)6673 2 329773 u
+(gument is interpreted as a v)3523 1 367839 u
+(alue in inches)3523 1 482964 u
+(unless it ends with a)3330 1 290800 352800 t
+&13
+(u)378560 v
+&11
+(scale indicator)3330 1 387450 u
+(.)445770 v
+&12
+(yof)280800 369600 w
+(fset)292840 v
+&11
+(Of)311240 v
+(fset the frame from the current baseline, measuring)4510 1 321540 u
+(positi)290800 381600 w
+(v)312780 v
+(e do)3873 1 317630 u
+(wnw)335693 v
+(ard, def)3873 1 355033 u
+(ault)386846 v
+&13
+(0i)405719 v
+&11
+( ar)3873(. This)7023 2 413499 u
+( interpreted)3872(gument is)3873 2 452265 u
+(as a v)3330 1 290800 393600 t
+(alue in inches unless it ends with a)3330 1 314980 u
+&13
+(u)462720 v
+&11
+(scale indicator)3330 1 471610 u
+(.)529930 v
+[ /Dest /Anchor$s$5fpdf
+ /View [/XYZ -4 393.6 0]
+/DEST pdfmark
+&13
+( F)3330(24. Special)6660 2 72000 410400 t
+(eatur)130910 v
+(es f)3330 1 153500 u
+(or)168240 v
+9 s
+(PDF)181010 v
+10 s
+(Documents)201836 v
+[ /Dest /Bookmark$105
+ /View [/XYZ -4 393.6 0]
+/DEST pdfmark
+&12
+(24.1.)72000 432000 w
+(The basics.)3330 1 93666 u
+[ /Dest /Bookmark$106
+ /View [/XYZ -4 372 0]
+/DEST pdfmark
+(tr)144329 v
+(of)150549 v
+(f)158149 v
+&11
+(does not directly generate)4833 1 165762 u
+9 s
+(PDF)280624 v
+10 s
+(documents; the)4833 1 301963 u
+&12
+(dpost)369959 v
+&11
+(postprocessor generates PostScript)4834 1 396462 u
+(output which can be con)3622 1 72000 444000 t
+(v)173848 v
+(erted to)3622 1 178698 u
+9 s
+(PDF)213712 v
+10 s
+(by utilities lik)3622 1 233840 u
+(e Ghostscript\030)3622 1 291554 u
+(s)348506 v
+&12
+(ps2pdf)356018 v
+&11
+( Distiller)3622(or Adobe)3072 2 386310 u
+( is possible)3621( it)3622(. But)6952 3 460224 u
+( con)4295(to include special advices to this)4294 2 72000 456000 t
+(v)229015 v
+(ersion program in PostScript using the)4295 1 233865 u
+&13
+(pdfmark)400745 v
+&11
+(operator)442820 v
+( advices)4295(. Such)7625 2 475590 u
+(are generated automatically by some)4549 1 72000 468000 t
+&12
+(tr)231375 v
+(of)237595 v
+(f)245195 v
+&11
+(requests, e.g. by)4549 1 252524 u
+&13
+(cr)325881 v
+(opat)334581 v
+[ /Dest /Anchor$cropat
+/Rect [325881 -469000 353471 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\0153\).)358020 v
+[ /Dest /Anchor$s$5fpage
+/Rect [358020 -469000 377180 -460000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( can be gi)4548(Other advices)4549 2 381729 u
+(v)483532 v
+(en e)4548 1 488382 u
+(xplicitly)506660 v
+(using the)3330 1 72000 480000 t
+&13
+(\017X\013PS:)112550 v
+&11
+(...)140880 v
+&13
+(\013)148380 v
+&11
+(or)155040 v
+&13
+(\017X\013PDFMark:)166700 v
+&11
+(...)227240 v
+&13
+(\013)234740 v
+&11
+(escape sequences.)3330 1 241400 u
+&12
+(24.2.)72000 501600 w
+(Pr)93666 v
+(epar)103296 v
+(ations.)121476 v
+[ /Dest /Bookmark$107
+ /View [/XYZ -4 302.4 0]
+/DEST pdfmark
+&11
+(When generating PDF)3678 1 151804 u
+( the paper format using the)3679
+(\003les, it is especially important to set)3678 2 247268 u
+&13
+(medi\001)515560 v
+[ /Dest /Anchor$mediasize
+/Rect [515560 -502600 540000 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(asize)72000 513600 w
+[ /Dest /Anchor$mediasize
+/Rect [72000 -514600 92550 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request \(\0153\).)4099 1 96649 u
+[ /Dest /Anchor$s$5fpage
+/Rect [129628 -514600 148788 -505600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(This is because calculations in)4099 1 152707 u
+9 s
+(PDF)284852 v
+10 s
+(documents are generally performed in relation re)4099 1 305457 u
+(g)510401 v
+(ard to)4099 1 515351 u
+(the page bottom, while)3680 1 72000 525600 t
+&12
+(tr)170880 v
+(of)177100 v
+(f)184700 v
+&11
+( F)7011( to the page top.)3681(performs its calculations in relation)3680 3 191160 u
+(ailing to set the paper format)3681 1 418835 u
+(correctly will thus usually result in v)3330 1 72000 537600 t
+(ertical displacements of)3330 1 223490 u
+9 s
+(PDF)323460 v
+10 s
+(\001speci\003c elements.)3330 1 339966 u
+&12
+(24.3.)72000 559200 w
+[ /Dest /Anchor$c$5fpdfdescr
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+(Specifying document description items.)3330 1 93666 u
+[ /Dest /Bookmark$108
+ /View [/XYZ -4 244.8 0]
+/DEST pdfmark
+&11
+( author)4973(PDF documents can include meta\001data about)4972 2 257778 u
+( T)8123(, title etc.)4973 2 479401 u
+(o)535000 v
+(generate such data, use the)3330 1 72000 571200 t
+&13
+(PDFMark)185560 v
+&11
+(de)232770 v
+(vice command of)3330 1 241960 u
+&12
+(dpost)316380 v
+&11
+(with the)3330 1 341380 u
+&12
+(tr)378040 v
+(of)384260 v
+(f)391860 v
+&13
+(\017X)397970 v
+&11
+(escape sequence)3330 1 411300 u
+[ /Dest /Anchor$e$5fX
+/Rect [397970 -572200 477930 -563200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, e.g.)3330 1 477930 u
+&13
+(\017X\013PDFMark: A)2780 1 108000 588000 t
+(uthor)178040 v
+&12
+(My Name)3330 1 205260 u
+&13
+(\013)244690 v
+(\017X\013PDFMark: K)3330 1 108000 600000 t
+(eyw)179400 v
+(ords)195960 v
+&12
+(T)218180 v
+(ypesetting)223000 v
+(, PDF documents)3330 1 263450 u
+&13
+(\013)334820 v
+(\017X\013PDFMark: Subject)3330 1 108000 612000 t
+&12
+(tr)207420 v
+(of)213640 v
+(f)221240 v
+(, dpost, and pdfmark)3330 1 223920 u
+&13
+(\013)308910 v
+(\017X\013PDFMark: T)3030 1 108000 624000 t
+(itle)178060 v
+&12
+(Special featur)3330 1 194720 u
+(es for PDF documents)3330 1 251010 u
+&13
+(\013)343210 v
+(.br)108000 636000 w
+&11
+( te)3809(Unicode characters are accepted in these)3808 2 72000 657600 t
+( that whitespace and ne)3809( Note)7139(xt strings.)3809 3 251849 u
+(wlines surrounding)3809 1 417483 u
+&13
+(\017X)499541 v
+&11
+(escape)513350 v
+(sequences are considered to be input te)4052 1 72000 669600 t
+(xt by)4052 1 237232 u
+&12
+(tr)263116 v
+(of)269336 v
+(f)276936 v
+(,)279616 v
+&11
+(and need a)4052 1 286168 u
+&12
+(br)336083 v
+(eak)344603 v
+&11
+(before the)4051 1 362534 u
+( T)7201(y are output.)4051 2 404195 u
+(o a)4051 1 470078 u
+(v)483369 v
+(oid inserting)4051 1 488169 u
+( this information before an initial)4397
+(super\004uous spaces or line breaks, specify)4396 2 72000 681600 t
+&13
+(.sp)393372 v
+(\023\017n[topmar)409719 v
+(gin]u)455149 v
+&11
+(request or the)4397 1 481776 u
+(lik)72000 693600 w
+(e in the document.)3330 1 82460 u
+&12
+(24.4.)72000 715200 w
+(Dir)93666 v
+(ect use of the pdfmark oper)3330 1 107186 u
+(ator)220336 v
+(.)235896 v
+[ /Dest /Bookmark$109
+ /View [/XYZ -4 88.8 0]
+/DEST pdfmark
+&11
+(In cases where)4032 1 242428 u
+&12
+(tr)308384 v
+(of)314604 v
+(f)322204 v
+&11
+(or)329016 v
+&12
+(dpost)341379 v
+&11
+(do not include an e)4033 1 367082 u
+(xplicit mechanism for)4033 1 449164 u
+9 s
+(PDF)72000 727200 w
+10 s
+(features, it is possible to call the)3330 1 91836 u
+&13
+(pdfmark)228746 v
+&11
+(operator directly)3330 1 269856 u
+( are:)3330(. Examples)6660 2 336406 u
+(\001)294340 760800 w
+(58)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 58 58
+%%Page: 59 59
+save
+mark
+59 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(\017X\013PS: [ {Catalog} << /V)3330 1 72000 84000 t
+(iewerPr)179220 v
+(efer)212910 v
+(ences << /DisplayDocT)3330 1 229380 u
+(itle true >> >> /PUT pdfmark\017\030)3330 1 328370 u
+&11
+(This causes the)3381 1 92000 96000 t
+9 s
+(PDF)158243 v
+10 s
+(vie)178130 v
+(wer to print the document title \(as in)3381 1 190100 u
+(\01524.3\))345468 v
+[ /Dest /Anchor$c$5fpdfdescr
+/Rect [319266 -97000 371298 -88000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( bar instead of the)3382(in the application title)3381 2 374679 u
+9 s
+(PDF)92000 108000 w
+10 s
+(\003le name.)3330 1 111836 u
+&13
+(\017X\013PS: [ /P)3330 1 72000 124800 t
+(ageMode /UseOutlines /DOCVIEW pdfmark\013)3330 1 119110 u
+&11
+(This causes the)3533 1 92000 136800 t
+9 s
+(PDF)158699 v
+10 s
+(vie)178738 v
+( interest\001)3534( Other)6864( the document is opened.)3534
+(wer to display the bookmarks toolbar when)3533 4 190708 u
+(ing v)4207 1 92000 148800 t
+(alues are)4207 1 113737 u
+&13
+(/UseNone)154911 v
+&11
+(\(the def)4207 1 199668 u
+(ault\),)232095 v
+&13
+(/UseThumbs)257132 v
+&11
+(\(display page thumbnails\), and)4207 1 315239 u
+&13
+(/FullScr)447887 v
+(een)482157 v
+&11
+(\(open the)4206 1 500804 u
+(document in full\001screen mode\).)3330 1 92000 160800 t
+&13
+(\017X\013PS: [ /P)3330 1 72000 177600 t
+(ageMode /P)3330 1 119110 u
+(age)170110 v
+&12
+(N)187880 v
+&13
+(/V)197880 v
+(iew [/XYZ null null null] /DOCVIEW pdfmark\013)3330 1 207510 u
+&11
+(P)92000 189600 w
+(age)97410 v
+&12
+(N)114620 v
+&11
+(is displayed instead of the)3330 1 124620 u
+(\003rst page when the document is opened.)3330 1 235150 u
+&13
+(\017X\013PS: [ {Catalog} << /P)3330 1 72000 206400 t
+(ageLay)178380 v
+(out /T)3330 1 209240 u
+(w)235170 v
+(oP)242290 v
+(ageRight >> /PUT pdfmark\013)3330 1 253300 u
+&11
+(W)92000 218400 w
+(ith this command, the)4139 1 101040 u
+9 s
+(PDF)196766 v
+10 s
+(vie)217411 v
+( tw)4140(wer displays)4139 2 229381 u
+( interesting v)4140( Other)7470(o pages at once.)4140 3 295330 u
+(alues are)4140 1 449610 u
+&13
+(/SingleP)490650 v
+(age)525560 v
+&11
+(\(display one page at once\),)4358 1 92000 230400 t
+&13
+(/OneColumn)211260 v
+&11
+( continuous mode\), and)4357(\(display one page in)4358 2 270628 u
+&13
+(/T)460830 v
+(w)469540 v
+(oColumnRight)476660 v
+&11
+(\(display tw)3330 1 92000 242400 t
+(o pages in continuous mode\).)3330 1 137450 u
+&13
+(\017X\013PS: [ /Label \()3330 1 72000 259200 t
+&12
+(te)144210 v
+(xt)151230 v
+&13
+(\) /P)3330 1 158450 u
+(A)173260 v
+(GELABEL pdfmark\013)3330 1 179930 u
+&11
+(The gi)4861 1 92000 271200 t
+(v)119941 v
+(en)124791 v
+9 s
+(ASCII)139092 v
+10 @12 f
+(te)167452 v
+(xt)174472 v
+&11
+(is sho)4861 1 186553 u
+(wn ne)4861 1 211724 u
+( page in the)4862(xt to the page number of the current)4861 2 238095 u
+9 s
+(PDF)456530 v
+10 s
+(vie)477898 v
+(wer toolbar)4862 1 489868 u
+(.)537500 v
+(This is particularly useful to implement roman page numbers in)3741 1 92000 283200 t
+9 s
+(PDF)361610 v
+10 s
+( the)3740(documents in combination with)3741 2 381857 u
+&13
+(af)531670 v
+[ /Dest /Anchor$af
+/Rect [531670 -284200 540000 -275200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)92000 295200 w
+&12
+(24.5.)72000 316800 w
+(Cr)93666 v
+(eating bookmarks.)3330 1 103856 u
+[ /Dest /Bookmark$110
+ /View [/XYZ -4 487.2 0]
+/DEST pdfmark
+&11
+(Bookmarks are usually sho)4575 1 183141 u
+(wn by the)4575 1 297716 u
+9 s
+(PDF)345881 v
+10 s
+(vie)366962 v
+( the windo)4576(wer at the left of)4575 2 378932 u
+(w)499444 v
+(. When)7606 1 506014 u
+(you create)3780 1 72000 328800 t
+9 s
+(PDF)118430 v
+10 s
+(\003les longer than a fe)3780 1 138716 u
+(w pages for vie)3780 1 225236 u
+( you should include bookmarks for each)3779(wing on the screen,)3780 2 290196 u
+(chapter or section because the)3330 1 72000 340800 t
+(y enable the reader to na)3330 1 195130 u
+(vig)297100 v
+(ate much more con)3330 1 309830 u
+(v)388290 v
+(eniently)393140 v
+(.)424710 v
+(Start with a bookmark for the title page.)3749 1 72000 357600 t
+(\027)247802 v
+(\0270\030)250392 v
+( the le)3749(\030 is)3009 2 261312 u
+(v)301009 v
+( follo)3750(el of the bookmark in the tree structure, and the)3749 2 305859 u
+(w\001)529450 v
+(ing ar)4097 1 72000 369600 t
+(guments form the name of the bookmark:)4097 1 96467 u
+&13
+(\017X\013PDFMark: Bookmark)4097 1 279566 u
+&12
+(0 T)3916 1 393860 u
+(itle)407786 v
+&13
+(\013)420566 v
+&11
+( to the description)4096(. Similar)7426 2 423896 u
+(speci\003cations abo)3330 1 72000 381600 t
+(v)144060 v
+(e, this bookmark should appear before the top mar)3330 1 148910 u
+(gin of the title page.)3330 1 356720 u
+( the)3498
+(When generating bookmarks for chapters and sections, it is usually most p\
+ractical to include the command in)3497 2 72000 398400 t
+(chapter/section macros:)3330 1 72000 410400 t
+&13
+(.de CH)3330 1 108000 427200 t
+(.)108000 439200 w
+(bp)165600 v
+(\017v\013\023\0121v\0124p\013\017\017X\013PDFMark: Bookmark 0)3330 1 108000 451200 t
+(\017\017$1\013)279070 v
+(.)108000 463200 w
+(sp)165600 v
+(\023\017\017n[topmar)178380 v
+(gin]u)226590 v
+(.)108000 475200 w
+(ce)165600 v
+(.)108000 487200 w
+(sp)165600 v
+(..)108000 499200 w
+(.de SH)3330 1 108000 511200 t
+(.)108000 523200 w
+(ce)165600 v
+(\017\017$1\017v\013\0121v\013\017\017X\013PDFMark: Bookmark 1)3330 1 108000 535200 t
+(\017\017$1\013)276870 v
+(.)108000 547200 w
+(sp)165600 v
+(..)108000 559200 w
+&11
+( the page, it refers to the baseline of the te)3924
+(Unless the bookmark command occurs at the top of)3923 2 72000 576000 t
+(xt; this is wh)3924 1 471014 u
+(y a)3924 1 526636 u
+&13
+(\017v\013\0121v\013)72000 588000 w
+&11
+(command occurs before it in the section macro.)3542 1 104982 u
+&13
+(\017v\013\0121v\0124p\013)309108 v
+&11
+(at the top of the page is a special v)3541 1 357650 u
+(alue that)3541 1 504799 u
+(causes the upper left corner to be sho)3330 1 72000 600000 t
+(wn.)226130 v
+(The le)3970 1 72000 616800 t
+(v)98490 v
+(el of the)3970 1 103340 u
+(\003rst bookmark in a document must be of le)3970 1 143020 u
+(v)326740 v
+( le)3970( The)7120(el 0.)3970 3 331590 u
+(v)383890 v
+(els of follo)3970 1 388740 u
+(wing bookmarks must be)3970 1 434760 u
+(either)72000 628800 w
+(\012)72000 645600 w
+(one higher than the le)3686 1 80330 u
+(v)171474 v
+( pre)3687(el of the)3686 2 176324 u
+( ne)3687( The)6837(vious bookmark.)3687 3 227673 u
+(w bookmark then becomes a child of the pre)3687 1 331344 u
+(vious)518330 v
+(bookmark.)80330 657600 w
+(\012)72000 674400 w
+(equal to the le)3444 1 80330 u
+(v)139292 v
+(el of the pre)3444 1 144142 u
+( both bookmarks are grouped belo)3445( this case,)3444( In)6774
+(vious bookmark.)3444 4 194764 u
+(w the)3445 1 460475 u
+(\003rst pre)3445 1 486805 u
+(vious)518330 v
+(bookmark of the)3330 1 80330 686400 t
+(\003rst higher le)3330 1 151420 u
+(v)206160 v
+(el, or at the top le)3330 1 211010 u
+(v)284900 v
+(el for le)3330 1 289750 u
+(v)322260 v
+(el 0.)3330 1 327110 u
+(\012)72000 703200 w
+(lo)80330 v
+(wer than the le)3330 1 87860 u
+(v)149250 v
+(el of the pre)3330 1 154100 u
+( terminates the list of children of the higher le)3330( This)6480
+(vious bookmark.)3330 3 204380 u
+(v)486940 v
+(els.)491790 v
+(\001)294340 760800 w
+(59)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 59 59
+%%Page: 60 60
+save
+mark
+60 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(As an e)4653 1 72000 84000 t
+(xample, the follo)4653 1 106146 u
+(wing le)4653 1 178252 u
+(v)209875 v
+(el structure is le)4653 1 214725 u
+(g)284634 v
+( vie)4654(al, and causes the PDF)4653 2 289584 u
+(wer to group the bookmarks as)4654 1 405640 u
+(sho)72000 96000 w
+(wn:)85640 v
+(0)147330 112800 w
+(title page)3330 1 234000 u
+(0)147330 124800 w
+(Chapter 1)3330 1 234000 u
+(\022)147330 136800 w
+(\012\012\012\0121)154000 v
+(Section 1.1)3330 1 234000 u
+(\022)147330 148800 w
+(\012\012\012\0121)154000 v
+(Section 1.2)3330 1 234000 u
+(\023)147330 160800 w
+(\022)174000 v
+(\012\012\012\012\0122)179000 v
+(Subsection 1.2.1)3330 1 234000 u
+(\023)147330 172800 w
+(\022)174000 v
+(\012\012\012\012\0122)179000 v
+(Subsection 1.2.2)3330 1 234000 u
+(\023)147330 184800 w
+(\022)174000 v
+(\012\012\012\012\0122)179000 v
+(Subsection 1.2.3)3330 1 234000 u
+(\022)147330 196800 w
+(\012\012\012\0121)154000 v
+(Section 1.3)3330 1 234000 u
+(\022)174000 208800 w
+(\012\012\012\012\0122)179000 v
+(Subsection 1.3.1)3330 1 234000 u
+(\022)174000 220800 w
+(\012\012\012\012\0122)179000 v
+(Subsection 1.3.2)3330 1 234000 u
+(0)147330 232800 w
+(Chapter 2)3330 1 234000 u
+(\022)147330 244800 w
+(\012\012\012\0121)154000 v
+(Section 2.1)3330 1 234000 u
+(0)147330 256800 w
+(Inde)234000 v
+(x)251620 v
+(In case of an ille)3476 1 72000 273600 t
+(g)141844 v
+( the le)3477(al structure in which)3476 2 146794 u
+(v)257796 v
+(el of a bookmark is raised by more than one abo)3477 1 262646 u
+(v)465006 v
+(e its predecessor)3477 1 469856 u
+(,)537500 v
+&12
+(dpost)72000 285600 w
+&11
+(emits a w)3330 1 97000 u
+(arning and assigns the highest le)3330 1 136890 u
+(g)270600 v
+(al le)3330 1 275550 u
+(v)293070 v
+(el. Ho)6660 1 297920 u
+(we)326270 v
+(v)337680 v
+(er)342530 v
+(, a g)3330 1 349900 u
+(arbled document structure may result:)3330 1 368450 u
+(0)147330 302400 w
+(\022)147330 314400 w
+(\012\012\012\0122)154000 v
+&20
+()234000 v
+234000 314400 m
+9760 build_lh
+243760 314400 m
+&11
+(the)247090 v
+(\003rst le)3330 1 262640 u
+(v)288500 v
+(el 2 is corrected to 1 by)3330 1 293350 u
+&12
+(dpost)395530 v
+&11
+(\022)174000 326400 w
+(\012\012\012\012\0122)179000 v
+(so the second bookmark becomes a child of the)3330 1 234000 u
+(\003rst)433380 v
+(Thus such)3330 1 72000 343200 t
+&12
+(dpost)116990 v
+&11
+(w)141990 v
+(arnings should usually be tak)3330 1 149110 u
+(en seriously)3330 1 268990 u
+(, and the document should be corrected.)3330 1 317220 u
+(An alternate form of bookmarks,)3611 1 72000 360000 t
+&13
+(\017X\013PDFMark: BookmarkClosed)3611 1 211415 u
+&11
+(...)353627 v
+&13
+(\013)361127 v
+&11
+(, is a)3611 1 364457 u
+(v)385089 v
+( syntax is the same, b)3612(ailable. The)6761 2 389839 u
+(ut)532220 v
+(the initial vie)3878 1 72000 372000 t
+(w in the tree structure is collapsed, i.e. no children are sho)3878 1 127286 u
+(wn by def)3878 1 374924 u
+( the bookmark has no)3878(ault. It)7208 2 417570 u
+(children, there is no dif)3330 1 72000 384000 t
+(ference to a re)3330 1 168110 u
+(gular bookmark.)3330 1 227360 u
+&12
+(24.6.)72000 400800 w
+(Links.)93666 v
+[ /Dest /Bookmark$111
+ /View [/XYZ -4 403.2 0]
+/DEST pdfmark
+9 @11 f
+(PDF)121871 v
+10 s
+(documents can contain links that cause the vie)4035 1 142412 u
+( jump to a certain location when the user)4036(wer to)4035 2 338157 u
+(clicks on an area of the page, as well as links to e)4157 1 72000 412800 t
+( In)7487(xternal documents in URI form.)4157 2 288634 u
+&12
+(tr)443276 v
+(of)449496 v
+(f)457096 v
+(,)459776 v
+&11
+(such links can be)4156 1 466432 u
+(b)72000 424800 w
+(uilt as follo)3330 1 76800 u
+(ws:)123770 v
+(The)72000 441600 w
+[ /Dest /Anchor$e$5fA
+ /View [/XYZ -4 362.4 0]
+/DEST pdfmark
+&13
+(\017A)91291 v
+&12
+(\013string\013)101291 v
+&11
+(escape sequence de\003nes an anchor)3741 1 135032 u
+(, i.e. a location to jump to, with the name)3742 1 277876 u
+&12
+(string)456956 v
+&11
+(\(consisting of)3742 1 484038 u
+9 s
+(ASCII)72000 453600 w
+10 s
+(characters\).)98829 v
+(The actual link is b)3772 1 72000 470400 t
+(uilt using tw)3772 1 153548 u
+(o)206002 v
+[ /Dest /Anchor$e$5fT
+ /View [/XYZ -4 333.6 0]
+/DEST pdfmark
+&13
+(\017T)214774 v
+&11
+( the te)3773(escape sequences surrounding)3772 2 227996 u
+(xt that forms the area to click on, e.g.:)3773 1 377896 u
+&13
+(\017T)72000 482400 w
+&12
+(\013string\013te)81450 v
+(xt of link)3330 1 118470 u
+&13
+(\017T)155130 v
+&11
+(.)164580 v
+&12
+(string)173740 v
+&11
+(must correspond to an anchor an)3330 1 200410 u
+(ywhere in the document.)3330 1 334660 u
+(An URI link is b)3806 1 72000 499200 t
+(uilt lik)3806 1 143694 u
+(e)171300 v
+(wise using tw)3806 1 175490 u
+(o)233002 v
+[ /Dest /Anchor$e$5fW
+ /View [/XYZ -4 304.8 0]
+/DEST pdfmark
+&13
+(\017W)241808 v
+&11
+(escape sequences:)3806 1 258394 u
+&13
+(\017W)339306 v
+&12
+(\013uri\013te)352086 v
+(xt of link)3806 1 377436 u
+&13
+(\017W)415048 v
+&11
+(. The)6957 1 427828 u
+&12
+(uri)456642 v
+&11
+(part is not inter)3807 1 472119 u
+(\001)536670 v
+(preted by)4918 1 72000 511200 t
+&12
+(tr)116826 v
+(of)123046 v
+(f)130646 v
+&11
+(, b)4918 1 133426 u
+( T)8068(ut just written to the generated output.)4918 2 145644 u
+(ypically)326020 v
+( a link to a web page, as in)4917(, this will be)4918 2 357590 u
+(<\017W\030http://n\001t\001rof)72000 523200 w
+(f.github)142940 v
+(.io/heirloom/doctools.html\030http://n\001t\001rof)173930 v
+(f.github)333690 v
+(.io/heirloom/doctools.html\017W)364680 v
+[ /Rect [77640 -524200 483580 -515200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Action << /Subtype /URI
+/URI (http://n-t-roff.github.io/heirloom/doctools.html) >>
+/Subtype /Link
+/ANN pdfmark
+(>.)483580 v
+(The appearance of links can be changed; links are normally surrounded by a\
+n 1 point wide blue border)4395 1 72000 540000 t
+(. The)7545 1 514405 u
+(color can be set using)3926 1 72000 552000 t
+&13
+(\017X\030SetLinkColor:)168280 v
+&12
+(r)247206 v
+(ed gr)3926 1 250726 u
+(een blue)3926 1 272612 u
+&13
+(\030)307638 v
+&11
+(, where)3926 1 310968 u
+&12
+(r)345750 v
+(ed, gr)3925 1 349270 u
+(een, and blue)3925 1 373655 u
+&11
+(are v)3925 1 434030 u
+(alues between 0 and)3925 1 454915 u
+( can be set using)3338( border)3337(1. The)6487 3 72000 564000 t
+&13
+(\017X\030SetLinkBorder:)203764 v
+&12
+(bx by width)3338 1 288212 u
+&13
+(\030)335998 v
+&11
+(, where)3338 1 339328 u
+&12
+(bx)372934 v
+&11
+(and)385712 v
+&12
+(by)403490 v
+&11
+(de\003ne the horizontal and v)3338 1 416268 u
+(ert\001)526120 v
+(ical corner radius, respecti)3330 1 72000 576000 t
+(v)179760 v
+(ely)184610 v
+(, and)3330 1 196180 u
+&12
+(width)219780 v
+&11
+(de\003nes the width.)3330 1 245340 u
+(The border style can be changed with the)4869 1 72000 592800 t
+&13
+(\017X\026SetBorderStyle:)258132 v
+&12
+(ar)344101 v
+(guments)352621 v
+&13
+(\026)385951 v
+&11
+(command. The)8020 1 393600 u
+&12
+(ar)463980 v
+(guments)472500 v
+&11
+(are the)4870 1 510700 u
+(same as for the)3330 1 72000 604800 t
+&13
+(/BS)138080 v
+&11
+(pdfmark operator or the L)3330 1 156420 u
+7 s
+(A)261600 603150 w
+10 s
+(T)265654 604800 w
+(E)270464 606450 w
+(X)274874 604800 w
+&13
+(h)285424 v
+(yperr)290834 v
+(ef pdfborderstyle={})3330 1 314534 u
+&11
+(v)405874 v
+(ariable.)410624 v
+(Lik)72000 621600 w
+(e)85790 v
+(wise,)89980 v
+&13
+(SetULinkColor)114140 v
+&11
+(,)179700 v
+&13
+(SetULinkBorder)185530 v
+&11
+(, and)3330 1 257200 u
+&13
+(SetUBorderStyle)280800 v
+&11
+(are a)3330 1 356340 u
+(v)376120 v
+(ailable for URI links.)3330 1 380870 u
+(E.)72000 638400 w
+(g. for this document the commands)3330 1 81443 u
+&13
+(\017X\026SetBorderStyle: /S/U/W 0.1\026)3330 1 108000 655200 t
+(\017X\026SetUBorderStyle: /S/U/W 0.1\026)3330 1 108000 667200 t
+&11
+(are used.)3330 1 72000 684000 t
+(\001)294340 760800 w
+(60)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 60 60
+%%Page: 61 61
+save
+mark
+61 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Anchor$s$5fgroff
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&13
+(25.)72000 84000 w
+&14
+(grof)91160 v
+(f)108200 v
+&13
+(Compatibility)114860 v
+[ /Dest /Bookmark$112
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+&11
+(Heirloom)72000 100800 w
+&12
+(tr)114656 v
+(of)120876 v
+(f)128476 v
+&11
+(pro)135583 v
+(vides most of the e)4327 1 148763 u
+(xtensions to the)4327 1 231471 u
+&12
+(tr)302232 v
+(of)308452 v
+(f)316052 v
+&11
+(language introduced in)4327 1 323159 u
+&12
+(gr)422790 v
+(of)431230 v
+(f)438830 v
+8 @11 f
+(10)444109 97800 w
+[ /Dest /Anchor$ref$5f10
+/Rect [443276 -98800 452109 -89800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+10 s
+(. Consequently)7657 1 452109 100800 t
+(, it is)4327 1 516616 u
+(possible to create documents, macro sets, and preprocessors that can be u\
+sed with both Heirloom)3849 1 72000 112800 t
+&12
+(tr)482444 v
+(of)488664 v
+(f)496264 v
+&11
+(and)502892 v
+&12
+(gr)521180 v
+(of)529620 v
+(f)537220 v
+&11
+(and use functionality be)3330 1 72000 124800 t
+(yond the features that were supported by traditional)3330 1 170160 u
+&12
+(tr)385650 v
+(of)391870 v
+(f)399470 v
+(.)402100 v
+&11
+(Important dif)4275 1 72000 141600 t
+(ferences to)4275 1 126575 u
+&12
+(gr)176215 v
+(of)184655 v
+(f)192255 v
+&11
+( of an)4276( concept)4275(are: The)7425 3 199310 u
+&12
+(input le)4276 1 303248 u
+(vel)335154 v
+&11
+(re)351090 v
+(g)358710 v
+(arding delimiters in escape sequences and)4276 1 363660 u
+(macro ar)3642 1 72000 153600 t
+( characters are recognized at the be)3641( Control)6971( supported.)3641
+(guments is not)3642 4 108222 u
+(ginning of a line e)3641 1 399144 u
+(v)476228 v
+(en if preceded)3641 1 481078 u
+(by escape sequences that do not result in formatting stream objects, such\
+ as)4335 1 72000 165600 t
+&13
+(\017f)399695 v
+[ /Dest /Anchor$e$5ff
+/Rect [399695 -166600 405805 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)405805 v
+&13
+(\017s)412640 v
+[ /Dest /Anchor$e$5fs
+/Rect [412640 -166600 419310 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, or)4336 1 419310 u
+&13
+(\017;)438812 v
+[ /Dest /Anchor$e$5f$3b
+/Rect [438812 -166600 444922 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(. F)7666 1 444922 u
+(ont handling)4336 1 460498 u
+[ /Dest /Anchor$s$5ffont
+/Rect [455088 -166600 512614 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, color)4336 1 512614 u
+[ /Dest /Anchor$s$5fcolor
+/Rect [519450 -166600 540000 -157600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(support)72000 177600 w
+[ /Dest /Anchor$s$5fcolor
+/Rect [72000 -178600 102000 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, picture inclusion)3381 1 102000 u
+[ /Dest /Anchor$s$5fpics
+/Rect [107881 -178600 175702 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, and)3381 1 175702 u
+9 s
+(PDF)199404 v
+10 s
+(structuring)219290 v
+[ /Dest /Anchor$s$5fpdf
+/Rect [199404 -178600 262620 -169600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(are realized using dif)3380 1 266000 u
+( The)6530(ferent mechanisms.)3380 2 352530 u
+&12
+(dpost)456630 v
+&11
+(post\001processor)481680 v
+(does not recognize the)5122 1 72000 189600 t
+&13
+(\017X\013ps:)174688 v
+&11
+(...)200798 v
+&13
+(\013)208298 v
+&11
+(escape sequence \(or)5123 1 216750 u
+&13
+(x)307079 v
+(X)315409 v
+(ps:)325959 v
+&11
+(command, respecti)5123 1 343862 u
+(v)421775 v
+(ely\) that is used for pass\001)5123 1 426625 u
+(through PostScript with the)4044 1 72000 201600 t
+&12
+(gr)190406 v
+(ops)198846 v
+&11
+(post\001processor of)4044 1 216780 u
+&12
+(gr)291518 v
+(of)299958 v
+(f)307558 v
+&11
+(\()314382 v
+&12
+(dpost)317712 v
+&11
+(accepts)343425 v
+&13
+(\017X\030PS:)376898 v
+&11
+(...)405228 v
+&13
+(\013)412728 v
+&11
+(and)420101 v
+&13
+(x)438584 v
+(X)446914 v
+(PS:)457464 v
+&11
+(\);)472464 v
+[ /Dest /Anchor$x$5fX$5fPS
+/Rect [314382 -202600 478574 -193600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(the PostScript)4043 1 482617 u
+(output generated by)3495 1 72000 213600 t
+&12
+(dpost)156915 v
+&11
+(is v)3495 1 182080 u
+(ery dif)3495 1 197095 u
+(ferent to that generated by)3495 1 224220 u
+&12
+(gr)336665 v
+(ops. dpost)6825 1 345105 u
+&11
+(accepts the)3496 1 393486 u
+&12
+(gr)442128 v
+(of)450568 v
+(f)458168 v
+&11
+(dra)464444 v
+(wing command)3496 1 477064 u
+(e)72000 225600 w
+(xtensions and sets the horizontal and v)3733 1 76290 u
+(ertical positions accordingly)3733 1 237968 u
+(, b)3733 1 353104 u
+( ignores line width, color)3732(ut otherwise)3733 2 364137 u
+(, and)3732 1 519328 u
+(\003ll speci\003cations.)3330 1 72000 237600 t
+&12
+(25.1.)72000 254400 w
+(Conditional gr)3330 1 93666 u
+(of)153226 v
+(f compatibility)3330 1 160826 u
+(.)219166 v
+[ /Dest /Bookmark$113
+ /View [/XYZ -4 549.6 0]
+/DEST pdfmark
+&11
+(A request is a)3330 1 224446 u
+(v)281446 v
+(ailable to control additional functions for)3330 1 286196 u
+&12
+(gr)457826 v
+(of)466266 v
+(f)473866 v
+&11
+(compatibility:)479976 v
+&14
+(Request)72000 276000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 288000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$cp
+ /View [/XYZ -4 499.2 0]
+/DEST pdfmark
+&13
+(.cp)72000 304800 w
+&12
+(N)87830 v
+&11
+(of)129600 v
+(f)137680 v
+(\012)187200 v
+(\012)244800 v
+(Enable)280800 v
+&12
+(gr)312812 v
+(of)321252 v
+(f)328852 v
+&11
+( of)4243( is the name)4242( This)7392(compatibility mode.)4242 4 335874 u
+&12
+(gr)513440 v
+(of)521880 v
+(f)529480 v
+(\030)533180 v
+(s)536110 v
+&11
+(o)280800 316800 w
+( Re)8925(wn compatibility request with adapted semantics:)5595 2 285550 u
+(g)518950 v
+(ard\001)523900 v
+(less of the ar)5551 1 280800 328800 t
+(gument,)340593 v
+&12
+(gr)378644 v
+(of)387084 v
+(f)394684 v
+&11
+( is acti)5552(compatibility mode)5551 2 403015 u
+(v)516090 v
+(ated.)520840 v
+(If)280800 340800 w
+&12
+(N)292569 v
+&11
+(=0, compatibility with traditional)5109 1 299239 u
+&12
+(tr)445045 v
+(of)451265 v
+(f)458865 v
+&11
+(is decreased, and)5108 1 466754 u
+(Heirloom)280800 352800 w
+&12
+(tr)324397 v
+(of)330617 v
+(f)338217 v
+&11
+(e)346264 v
+(xtension le)5267 1 350554 u
+(v)396681 v
+(el 3)5267 1 401531 u
+[ /Dest /Anchor$c$5fextension
+/Rect [346264 -353800 419018 -344800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( If)8597(is set.)5267 2 424285 u
+&12
+(N)470356 v
+&20
+(\152)477026 v
+&11
+(0 or missing,)5267 1 482516 u
+(compatibility with traditional)4343 1 280800 364800 t
+&12
+(tr)406059 v
+(of)412279 v
+(f)419879 v
+&11
+(is impro)4343 1 427002 u
+(v)461755 v
+( Heirloom)4342(ed, and)4343 2 466605 u
+&12
+(tr)280800 376800 w
+(of)287020 v
+(f)294620 v
+&11
+(e)301567 v
+(xtension le)4167 1 305857 u
+(v)350884 v
+(el 1)4167 1 355734 u
+[ /Dest /Anchor$c$5fextension
+/Rect [301567 -377800 372121 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( Thus)7317(is set.)4167 2 376288 u
+&13
+(.cp)432219 v
+(0)448049 v
+&11
+(results in maximum)4167 1 457216 u
+&12
+(gr)280800 388800 w
+(of)289240 v
+(f)296840 v
+&11
+(compatibility)302950 v
+(.)355640 v
+(The)72000 405600 w
+&13
+(cp)91001 v
+&11
+(request sets the general number re)3451 1 104452 u
+(gister)245407 v
+[ /Dest /Anchor$n$5f$2eg
+ /View [/XYZ -4 398.4 0]
+/DEST pdfmark
+&13
+(.g)271078 v
+&11
+(to 1 in)3451 1 282029 u
+&12
+(gr)312942 v
+(of)321382 v
+(f)328982 v
+&11
+( gen\001)3451( The)6601(compatibility mode and to 0 otherwise.)3451 3 335213 u
+(eral number re)3330 1 72000 417600 t
+(gister)131820 v
+[ /Dest /Anchor$n$5f$2eC
+ /View [/XYZ -4 386.4 0]
+/DEST pdfmark
+&13
+(.C)157370 v
+&11
+(is only assigned by the)3330 1 170420 u
+&13
+(.cp)268180 v
+&11
+(request and corresponds to its ar)3330 1 284010 u
+(gument.)417120 v
+(An)72000 434400 w
+(y use of the)3330 1 84070 u
+&13
+(x\004ag)136270 v
+&11
+(request)160160 v
+[ /Dest /Anchor$xflag
+/Rect [136270 -435400 189040 -426400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(disables)192370 v
+&12
+(gr)227920 v
+(of)236360 v
+(f)243960 v
+&11
+(compatibility and accordingly sets the)3330 1 250070 u
+&13
+(.g)408930 v
+&11
+(re)419760 v
+(gister to 0.)3330 1 427380 u
+(The)72000 451200 w
+&13
+(.X)92223 v
+&11
+(read\001only number re)4673 1 106616 u
+(gister)192452 v
+[ /Dest /Anchor$n$5f$2eX
+/Rect [92223 -452200 214672 -443200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(holds the current e)4673 1 219345 u
+(xtension le)4673 1 299864 u
+(v)345397 v
+(el after)4673 1 350247 u
+&13
+(cp)385133 v
+&11
+( be used to)4674( can thus)4673( It)8003(as usual.)4673 4 399806 u
+(determine whether running under)3495 1 72000 463200 t
+&12
+(gr)212060 v
+(of)220500 v
+(f)228100 v
+&11
+(or in the)3495 1 234375 u
+&12
+(gr)273190 v
+(of)281630 v
+(f)289230 v
+&11
+(compatibility mode of Heirloom)3495 1 295505 u
+&12
+(tr)431704 v
+(of)437924 v
+(f)445524 v
+(.)448154 v
+&11
+(Since the)3494 1 457478 u
+(y are read\001)3494 1 495262 u
+(write, an)3330 1 72000 475200 t
+(y con)3330 1 107670 u
+(v)130040 v
+(enient v)3330 1 134890 u
+(alue can then be assigned to the)3330 1 167410 u
+&13
+(.C)302360 v
+&11
+(and)315410 v
+&13
+(.g)333180 v
+&11
+(re)344010 v
+(gisters.)351630 v
+(Ne)72000 492000 w
+(v)83410 v
+( F)6833( without reason.)3503(ertheless it is not recommend to do so)3502 3 88260 u
+(or instance macro packages read)3503 1 325063 u
+(\017n\(.g to test if the)3503 1 462528 u
+(y)535000 v
+(are processed with grof)3330 1 72000 504000 t
+(f. Setting)6660 1 167820 u
+&13
+(.g)211980 v
+&11
+(to)222810 v
+&13
+(1)233920 v
+&11
+(with the)3330 1 242250 u
+&13
+(.nr)278910 v
+&11
+(request also has some side ef)3330 1 294740 u
+(fects in Heirloom)3330 1 414450 u
+&12
+(tr)489430 v
+(of)495650 v
+(f)503250 v
+&11
+(:)506030 v
+(\022)82000 522000 w
+&12
+(gr)92000 v
+(of)100440 v
+(f)108040 v
+&11
+(\030)111653 v
+(s notation for accessing symbols with)3330 1 114433 u
+&13
+(\017[char)272183 v
+&12
+(n)297733 v
+&13
+(])302733 v
+&11
+(and)309393 v
+&13
+(\017[u)327163 v
+&12
+(XXXX)338833 v
+&13
+(])363273 v
+&11
+(are enabled.)3330 1 369933 u
+(\022)82000 537000 w
+(The escape)4523 1 92000 u
+&13
+(\017%)143246 v
+&11
+(marks optional h)4523 1 160549 u
+(yphenation points inside a w)4523 1 231765 u
+( suppresses h)4524(ord or)4523 2 354197 u
+(yphenation pre\003x)4524 1 437148 u
+(ed to a)4524 1 509292 u
+(w)92000 549000 w
+(ord \()3469 1 99120 u
+&12
+(e)119249 v
+(ven when this wor)3469 1 123539 u
+(d containes dashes)3469 1 198576 u
+&11
+( cannot be guaranteed)3468( problem in macro packages is that it)3469
+(\). A)6249 3 276064 u
+(that no character is before w)3580 1 92000 561000 t
+(ord \(e.)3580 1 210870 u
+(g. quotes or parentheses\).)3580 1 238883 u
+&12
+(gr)350953 v
+(of)359393 v
+(f)366993 v
+&11
+(allo)373353 v
+( force that)3581(ws to)3580 2 388103 u
+&13
+(\017%)456856 v
+&11
+(acts as a h)3581 1 473217 u
+(yphe\001)517230 v
+( when it follo)3464(nation suppression escape)3465 2 92000 573000 t
+(ws the zero\001width characters)3464 1 254052 u
+&13
+(\017\))375088 v
+&11
+(or)384662 v
+&13
+(\017&)396456 v
+&11
+( does not w)3464(. This)6614 2 407566 u
+(ork with trad\001)3464 1 483082 u
+(itional)92000 585000 w
+&12
+(tr)120890 v
+(of)127110 v
+(f)134710 v
+&11
+(, unfortunately)3330 1 137490 u
+( command)3330(. The)6480 2 196550 u
+&13
+(.nr)267180 v
+(.g)282179 v
+(1)293011 v
+&11
+(enables the)3330 1 301341 u
+&12
+(gr)350211 v
+(of)358651 v
+(f)366251 v
+&11
+(beha)372361 v
+(viour)391041 v
+(.)411601 v
+(\022)82000 600000 w
+(The algorithm)3847 1 92000 u
+&12
+(gr)154134 v
+(of)162574 v
+(f)170174 v
+&11
+(uses for the three part title request)3848 1 176802 u
+&13
+(.tl)324818 v
+&11
+(leads to a dif)3848 1 337276 u
+(ferent placement of the middle title)3848 1 392450 u
+(element with)3330 1 92000 612000 t
+&12
+(nr)148100 v
+(of)156540 v
+(f)164140 v
+&11
+( is emulated by setting)3330( This)6480(under certain conditions.)3330 3 170250 u
+&13
+(.g)391970 v
+&11
+(to 1.)3330 1 402800 u
+(\022)82000 627000 w
+&12
+(gr)92000 v
+(of)100440 v
+(f)108040 v
+&11
+(\030)111653 v
+(s left italic correction escape)3330 1 114433 u
+&13
+(\017,)235493 v
+&11
+(is remo)3330 1 244103 u
+(v)274503 v
+(ed from the input instead of producing a)3330 1 279353 u
+(\027)449303 v
+&13
+(,)452633 v
+&11
+(\030.)455133 v
+(The)72000 645000 w
+&13
+(.x)91360 v
+[ /Dest /Anchor$n$5f$2ex
+/Rect [91360 -646000 98860 -637000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)102670 v
+&13
+(.y)120920 v
+[ /Dest /Anchor$n$5f$2ey
+/Rect [120920 -646000 128420 -637000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(re)132230 v
+(gisters are read\001write in)3810 1 139850 u
+&12
+(gr)242280 v
+(of)250720 v
+(f)258320 v
+&11
+(compatibility mode; the)3810 1 264910 u
+(y correspond to the emulated)3810 1 362940 u
+&12
+(gr)488080 v
+(of)496520 v
+(f)504120 v
+&11
+(v)510710 v
+(ersion)515560 v
+(number)72000 657000 w
+(. The)6480 1 102000 u
+&13
+(cp)129860 v
+&11
+(request sets them to 1 and 18, respecti)3330 1 143190 u
+(v)300950 v
+(ely)305800 v
+(.)317370 v
+(The)72000 673800 w
+&13
+(.k)92063 v
+&11
+(number re)4513 1 104636 u
+(gister)147319 v
+[ /Dest /Anchor$n$5f$2ek
+/Rect [92063 -674800 169539 -665800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(beha)174052 v
+(v)192732 v
+(es dif)4514 1 197582 u
+(ferently in)4514 1 221286 u
+&12
+(gr)269194 v
+(of)277634 v
+(f)285234 v
+&11
+( the preceding te)4514( If)7844(compatibility mode:)4514 3 292528 u
+(xt character w)4514 1 462148 u
+(as a)4514 1 522716 u
+(ne)72000 685800 w
+(wline, the width of a space character is added to the v)4128 1 81190 u
+( the pre)4128(alue. If)7458 2 313238 u
+(vious line w)4128 1 379512 u
+(as interrupted)4128 1 431558 u
+[ /Dest /Anchor$c$5fintr
+/Rect [444016 -686800 487896 -677800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(with)492024 v
+&13
+(\017c)513932 v
+[ /Dest /Anchor$e$5fc
+/Rect [513932 -686800 521152 -677800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, the)4128 1 521152 u
+(length of the partially collected w)3330 1 72000 697800 t
+(ord \(as in the)3330 1 210750 u
+&13
+(.kc)269060 v
+[ /Dest /Anchor$n$5f$2ekc
+/Rect [269060 -698800 281560 -689800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(number re)3330 1 284890 u
+(gister\) is part of the v)3330 1 326390 u
+(alue.)416110 v
+(The space width al)3629 1 72000 714600 t
+(w)150547 v
+(ays def)3629 1 157667 u
+(aults to the v)3629 1 187296 u
+( font metrics)3630(alue obtained from the)3629 2 241823 u
+(\003le in)3630 1 391910 u
+&12
+(gr)419730 v
+(of)428170 v
+(f)435770 v
+&11
+(compatibility mode; the)3630 1 442180 u
+&13
+(spacewidth)72000 726600 w
+[ /Dest /Anchor$spacewidth
+/Rect [72000 -727600 119780 -718600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is not ef)3330 1 123110 u
+(fecti)188950 v
+(v)206470 v
+(e.)211320 v
+(\001)294340 760800 w
+(61)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 61 61
+%%Page: 62 62
+save
+mark
+62 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(If the)3396 1 72000 84000 t
+(\003le speci\003ed with a)3396 1 97672 u
+&13
+(so)181806 v
+[ /Dest /Anchor$so
+/Rect [181806 -85000 190696 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( the current)3397(request cannot be opened, processing continues with)3396 2 194092 u
+(\003le in)3397 1 460439 u
+&12
+(gr)487793 v
+(of)496233 v
+(f)503833 v
+&11
+(compa\001)510010 v
+(tibility mode.)3330 1 72000 96000 t
+(A control or escape character written in a di)4273 1 72000 112800 t
+(v)261434 v
+(ersion has no special meaning if the di)4273 1 266284 u
+(v)432035 v
+( re\001read in)4274(ersion is)4273 2 436885 u
+&12
+(gr)521180 v
+(of)529620 v
+(f)537220 v
+&11
+(compatibility mode.)3330 1 72000 124800 t
+( e)3997(Unless a string is interpolated with)3996 2 72000 141600 t
+(xplicit ar)3997 1 226927 u
+(guments, the ar)3997 1 264074 u
+(guments to the surrounding macro instance remain)3997 1 328268 u
+(visible and can be referenced by the)3330 1 72000 153600 t
+&13
+(\017$)224150 v
+[ /Dest /Anchor$e$5f$24
+/Rect [224150 -154600 231930 -145600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(escape sequence inside the string in)3330 1 235260 u
+&12
+(gr)385210 v
+(of)393650 v
+(f)401250 v
+&11
+(compatibility mode.)3330 1 407360 u
+(An)72000 170400 w
+(y call to the)4755 1 84070 u
+&13
+(cp)142530 v
+&11
+(request acti)4755 1 157285 u
+(v)205110 v
+(ates the follo)4755 1 209860 u
+(wing)265780 v
+&12
+(gr)290535 v
+(of)298975 v
+(f)306575 v
+&11
+( an)4756(compatibility escape sequences;)4755 2 314110 u
+(y call to the)4756 1 460976 u
+&13
+(x\004ag)519440 v
+[ /Dest /Anchor$xflag
+/Rect [519440 -171400 540000 -162400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request disables them.)3330 1 72000 182400 t
+(The)72000 199200 w
+&13
+(\017A)90902 v
+&12
+(\030)100902 v
+(string\030)103832 v
+&11
+(escape sequence checks whether)3353 1 133855 u
+&12
+(string)269987 v
+&11
+(is acceptable as the name of a string, macro, number re)3353 1 296680 u
+(gis\001)525000 v
+(ter)72000 211200 w
+(, or font, and e)3650 1 82150 u
+(v)144820 v
+(aluates to)3650 1 149570 u
+(\027)192420 v
+( it does and to)3650(\0271\030 if)2910 2 195010 u
+(\027)280050 v
+(\0270\030)282640 v
+( Heirloom)3650( The)6800(\030 otherwise.)2910 3 293560 u
+&12
+(tr)409160 v
+(of)415380 v
+(f)422980 v
+&11
+(anchoring escape sequence)3650 1 429410 u
+&13
+(\017A)72000 223200 w
+[ /Dest /Anchor$e$5fA
+/Rect [72000 -224200 82000 -215200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is not a)3330 1 85330 u
+(v)115680 v
+(ailable in)3330 1 120430 u
+&12
+(gr)161530 v
+(of)169970 v
+(f)177570 v
+&11
+(compatibility mode.)3330 1 183680 u
+(The)72000 240000 w
+[ /Dest /Anchor$e$5f$2f
+ /View [/XYZ -4 564 0]
+/DEST pdfmark
+&13
+(\017/)91570 v
+&11
+( inserts an italic correction, i.e. a small piece of horizontal motion \(\
+1/12)4021
+(escape sequence)4020 2 101150 u
+(em\) that should)4021 1 474738 u
+( to separate an italic character from a follo)4957(be suf\003cient)4958 2 72000 252000 t
+(wing roman character)4957 1 312414 u
+(. Similarly)8287 1 403968 u
+(,)451335 v
+[ /Dest /Anchor$e$5f$2c
+ /View [/XYZ -4 552 0]
+/DEST pdfmark
+&13
+(\017,)458792 v
+&11
+(adds a left italic)4957 1 469029 u
+(correction, al)4407 1 72000 264000 t
+(w)126567 v
+( to separate a roman character from an immediately)4408
+(ays a zero motion, that should be suf\003cient)4407 2 133687 u
+(follo)72000 276000 w
+(wing italic character)3473 1 90640 u
+( e)3473(. Both)6803 2 173676 u
+(xist to pro)3473 1 210192 u
+(vide basic)3473 1 252548 u
+&12
+(gr)297264 v
+(of)305704 v
+(f)313304 v
+&11
+(compatibility only)3473 1 319557 u
+( is otherwise recommended that)3472(. It)6802 2 393500 u
+(the)72000 288000 w
+&13
+(k)87720 v
+(er)93180 v
+(npair)101910 v
+[ /Dest /Anchor$kernpair
+/Rect [87720 -289000 125250 -280000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is used for these purposes; it allo)3500 1 128750 u
+(ws a more e)3500 1 297980 u
+(xact optical separation since the shape of both)3500 1 348870 u
+(characters can be tak)3432 1 72000 300000 t
+(en into account and also does not need to be be positioned directly in th\
+e input te)3432 1 158266 u
+(xt at e)3431 1 496328 u
+(v)522380 v
+(ery)527230 v
+(occasion.)72000 312000 w
+(The)72000 328800 w
+&13
+(\017D\013p)91356 v
+&11
+(...)113576 v
+&13
+(\013)121076 v
+&11
+(polygon dra)3806 1 128212 u
+(wing escape sequence)3806 1 177418 u
+[ /Dest /Anchor$s$5fgraphics
+/Rect [91356 -329800 268330 -320800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is altered such that the path is al)3806 1 272136 u
+(w)409218 v
+(ays closed, i.e. if the last line)3807 1 416338 u
+(part does not return to the starting position, an additional line is adde\
+d that does.)3330 1 72000 340800 t
+(The escape sequences)4256 1 72000 357600 t
+&13
+(\017F)167509 v
+&12
+(x)176399 v
+&11
+(,)180839 v
+&13
+(\017F\()187596 v
+&12
+(xx)199816 v
+&11
+(,)208696 v
+&13
+(\017F[)215453 v
+&12
+(xxx)227673 v
+&13
+(])240993 v
+&11
+(,)244323 v
+&13
+(\017m)251080 v
+&12
+(x)262190 v
+&11
+(,)266630 v
+&13
+(\017m\()273387 v
+&12
+(xx)287827 v
+&11
+(,)296707 v
+&13
+(\017m[)303464 v
+&12
+(xxx)317904 v
+&13
+(])331224 v
+&11
+(,)334554 v
+&13
+(\017M)341311 v
+&12
+(x)353531 v
+&11
+(,)357971 v
+&13
+(\017M\()364728 v
+&12
+(xx)380278 v
+&11
+(,)389158 v
+&13
+(\017M[)395915 v
+&12
+(xxx)411465 v
+&13
+(])424785 v
+&11
+(, are read b)4257 1 428115 u
+(ut discarded in)4257 1 477606 u
+&12
+(gr)72000 369600 w
+(of)80440 v
+(f)88040 v
+&11
+(compatibility mode since the corresponding concepts of font f)3784 1 94604 u
+(amilies and b)3784 1 353076 u
+(uilt\001in color support are foreign)3784 1 408774 u
+(to Heirloom)3330 1 72000 381600 t
+&12
+(tr)124770 v
+(of)130990 v
+(f)138590 v
+(.)141220 v
+&11
+(All of them generate a w)3330 1 149830 u
+(arning)253020 v
+[ /Dest /Anchor$s$5fwarning
+/Rect [245900 -382600 278570 -373600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(of the)3330 1 281900 u
+&13
+(escape)309110 v
+&11
+(cate)340210 v
+(gory)356160 v
+(.)373840 v
+&12
+(25.2.)72000 398400 w
+(gr)93666 v
+(of)102106 v
+(f compatibility macr)3330 1 109706 u
+(os.)192026 v
+[ /Dest /Bookmark$114
+ /View [/XYZ -4 405.6 0]
+/DEST pdfmark
+&11
+( documents that had originally been written)4625
+(As an additional aid in formatting)4624 2 207490 u
+(with)72000 410400 w
+&12
+(gr)93110 v
+(of)101550 v
+(f)109150 v
+&11
+(in mind, Heirloom)3330 1 115260 u
+&12
+(tr)194420 v
+(of)200640 v
+(f)208240 v
+&11
+(pro)214350 v
+(vides the)3330 1 227530 u
+&13
+(\012mg)267520 v
+&11
+( Speci\003cally:)6660(compatibility macro package.)3330 2 289180 u
+&13
+(.cp)72000 427200 w
+(0)87830 v
+&11
+(is e)3330 1 96160 u
+(x)110450 v
+(ecuted, so)3330 1 115300 u
+&12
+(tr)159450 v
+(of)165670 v
+(f)173270 v
+&11
+(is operated in)3330 1 179380 u
+&12
+(gr)238250 v
+(of)246690 v
+(f)254290 v
+&11
+(compatibility mode at e)3330 1 260400 u
+(xtension le)3330 1 357460 u
+(v)401650 v
+(el)406500 v
+[ /Dest /Anchor$c$5fextension
+/Rect [353170 -428200 413720 -419200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(3.)417050 v
+(The locale)3330 1 72000 444000 t
+[ /Dest /Anchor$p$5flocale
+/Rect [90880 -445000 114760 -436000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is set to)3330 1 118090 u
+&13
+(en_US)153640 v
+&11
+(; this assumes that input to)3330 1 181420 u
+&12
+(gr)295300 v
+(of)303740 v
+(f)311340 v
+&11
+(is con)3330 1 317450 u
+(v)341490 v
+(entionally in the)3330 1 346340 u
+9 s
+(ISO\0018859\0011)416330 v
+10 s
+(encoding.)462653 v
+(The h)3934 1 72000 460800 t
+(yphenation language)3934 1 96434 u
+[ /Dest /Anchor$hylang
+/Rect [91484 -461800 180908 -452800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(is set to)3934 1 184842 u
+&13
+(en_US)222205 v
+&11
+( both)3935(. Since)7265 2 249985 u
+&12
+(gr)307620 v
+(of)316060 v
+(f)323660 v
+&11
+(and Heirloom)3935 1 330375 u
+&12
+(tr)391015 v
+(of)397235 v
+(f)404835 v
+&11
+(then use the same h)3935 1 411550 u
+(yphenation)495560 v
+(algorithm and patterns deri)4103 1 72000 472800 t
+(v)184599 v
+(ed from)4103 1 189449 u
+&12
+(T)226534 v
+(E)231594 475300 w
+(X,)237704 472800 w
+&11
+(it can be assumed that w)4102 1 250416 u
+(ords are subject to h)4102 1 356366 u
+(yphenation at the same)4102 1 443264 u
+(points.)72000 484800 w
+(The)72000 501600 w
+&13
+(de1)92915 v
+&11
+(,)107915 v
+&13
+(am1)115780 v
+&11
+(,)134110 v
+&13
+(ds1)141975 v
+&11
+(, and)5365 1 156425 u
+&13
+(as1)184095 v
+&12
+(gr)203350 v
+(of)211790 v
+(f)219390 v
+&11
+(requests are emulated using)5365 1 227535 u
+&13
+(de)352305 v
+[ /Dest /Anchor$de
+/Rect [352305 -502600 362305 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)362305 v
+&13
+(am)370170 v
+[ /Dest /Anchor$am
+/Rect [370170 -502600 383500 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(,)383500 v
+&13
+(ds)391365 v
+[ /Dest /Anchor$ds
+/Rect [391365 -502600 400815 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, and)5365 1 400815 u
+&13
+(as)428486 v
+[ /Dest /Anchor$as
+/Rect [428486 -502600 437376 -493600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(, respecti)5366 1 437376 u
+(v)476092 v
+(ely)480942 v
+( is not)5366(. It)8696 2 492512 u
+(e)72000 513600 w
+(xpected that the)3996 1 76290 u
+&12
+(gr)146598 v
+(of)155038 v
+(f)162638 v
+&11
+(compatibility macros are used to format documents that require compatibil\
+ity with tradi\001)3996 1 169414 u
+(tional)72000 525600 w
+&12
+(tr)98110 v
+(of)104330 v
+(f)111930 v
+(.)114560 v
+&11
+(The)72000 542400 w
+&13
+(ftr)90880 v
+[ /Dest /Anchor$ftr
+/Rect [90880 -543400 101980 -534400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request is remo)3330 1 105310 u
+(v)167920 v
+(ed since the)3330 1 172770 u
+&12
+(gr)224970 v
+(of)233410 v
+(f)241010 v
+&11
+(request with the same name pro)3330 1 247120 u
+(vides completely dif)3330 1 378040 u
+(ferent semantics.)3330 1 461110 u
+&13
+(fallback)72000 559200 w
+[ /Dest /Anchor$fallback
+/Rect [72000 -560200 106450 -551200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is used to emulate)3471 1 109921 u
+&13
+(fspecial)188246 v
+&11
+( emulation is pro)3472( No)6802(; these requests should be compatible.)3472 3 220466 u
+(vided for the)3472 1 466264 u
+&13
+(spe\001)522780 v
+(cial)72000 571200 w
+&11
+(request; all other fonts are searched for missing characters in Heirloom)3330 1 90330 u
+&12
+(tr)385780 v
+(of)392000 v
+(f)399600 v
+&11
+(by def)3330 1 405710 u
+(ault.)431710 v
+&13
+(track)72000 588000 w
+[ /Dest /Anchor$track
+/Rect [72000 -589000 94770 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is used to emulate)3525 1 98295 u
+&13
+(tkf)176835 v
+&11
+( requests are not completely compatible:)3525(. These)6675 2 189055 u
+&13
+(track)396010 v
+[ /Dest /Anchor$track
+/Rect [396010 -589000 418780 -580000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(does not af)3525 1 422305 u
+(fect the last char)3525 1 467985 u
+(\001)536670 v
+(acter on a line and thus does not alter the visual length of lines lik)3801 1 72000 600000 t
+(e)352864 v
+&13
+(tkf)361105 v
+&11
+(does;)377126 v
+&13
+(track)402037 v
+[ /Dest /Anchor$track
+/Rect [402037 -601000 424807 -592000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( formatting)3800(is applied when)3801 2 428608 u
+(an object de\003ned with the)4109 1 72000 612000 t
+&13
+(char)185865 v
+&11
+(request)209414 v
+[ /Dest /Anchor$char
+/Rect [185865 -613000 238294 -604000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(;)238294 v
+&13
+(track)245183 v
+[ /Dest /Anchor$track
+/Rect [245183 -613000 267953 -604000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( in ef)4110(needs to remain)4109 2 272062 u
+(fect until all af)4110 1 362120 u
+(fected characters ha)4110 1 425300 u
+(v)507720 v
+(e been)4110 1 512570 u
+(ph)72000 624000 w
+( Ne)6660(ysically output.)3330 2 81950 u
+(v)162520 v
+(ertheless, the replacement should suf\003ce for most applications.)3330 1 167370 u
+&12
+(gr)72000 640800 w
+(of)80440 v
+(f)88040 v
+&11
+(characters with tw)3330 1 94150 u
+(o\001character names are mapped to PostScript character names using the)3330 1 169020 u
+&13
+(char)461690 v
+[ /Dest /Anchor$char
+/Rect [461690 -641800 481130 -632800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request.)484460 v
+(The follo)3330 1 72000 657600 t
+(wing macro is also pro)3330 1 109520 u
+(vided as an emulation for the corresponding)3330 1 203790 u
+&12
+(gr)388180 v
+(of)396620 v
+(f)404220 v
+&11
+(request:)410330 v
+(\001)294340 760800 w
+(62)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 62 62
+%%Page: 63 63
+save
+mark
+63 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&14
+(Request)72000 84000 w
+(Initial)129600 v
+(If No)3330 1 187200 u
+(F)72000 96000 w
+(orm)77970 v
+(V)129600 v
+(alue)135160 v
+(Argument)187200 v
+(Notes)244800 v
+(Explanation)280800 v
+[ /Dest /Anchor$mso
+ /View [/XYZ -4 691.2 0]
+/DEST pdfmark
+&13
+(.mso)72000 112800 w
+&12
+(name)95050 v
+&11
+(\012)129600 v
+(ignored)187200 v
+(\012)244800 v
+(Include the macro package)5511 1 280800 u
+&12
+(name)402804 v
+&11
+( en)5512( the)5511(. If)8841 3 424464 u
+(vironment v)5512 1 474748 u
+(ari\001)526120 v
+(able)280800 124800 w
+9 @13 f
+(GR)301656 v
+(OFF_TMA)314886 v
+(C_P)357888 v
+(A)373719 v
+(TH)379362 v
+10 @11 f
+( of the colon\001separated)4195(is set, each)4196 2 396563 u
+(directories in it is check)5945 1 280800 136800 t
+(ed for the)5946 1 390020 u
+(\003les)441178 v
+&12
+(name)463794 v
+&11
+(,)485454 v
+&12
+(name)493900 v
+&11
+(.tmac,)515560 v
+(m)280800 148800 w
+&12
+(name)288580 v
+&11
+(.tmac, and tmac.)5893 1 310240 u
+&12
+(name)382846 v
+&11
+( this, the standard)5893(. After)8673 2 404506 u
+&12
+(tr)523400 v
+(of)529620 v
+(f)537220 v
+&11
+(macro directories are check)4652 1 280800 160800 t
+(ed in the same w)4652 1 397386 u
+(ay)473104 v
+( a)4652(. Once)7982 2 481894 u
+(\003le)527220 v
+(has been found, it is read in as with the)4514 1 280800 172800 t
+&13
+(so)459530 v
+[ /Dest /Anchor$so
+/Rect [459530 -173800 468420 -164800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request, and the)4513 1 472934 u
+(search stops.)3330 1 280800 184800 t
+[ /Dest /Anchor$s$5foutput
+ /View [/XYZ -4 602.4 0]
+/DEST pdfmark
+&13
+( Language.)3330(26. Output)6660 2 72000 201600 t
+[ /Dest /Bookmark$115
+ /View [/XYZ -4 602.4 0]
+/DEST pdfmark
+&12
+(tr)72000 218400 w
+(of)78220 v
+(f)85820 v
+&11
+(produces its output in a language that is independent of an)3707 1 92307 u
+(y speci\003c output de)3707 1 336977 u
+(vice, e)3708 1 418398 u
+(xcept that the numbers)3708 1 445556 u
+(in it ha)3337 1 72000 230400 t
+(v)101254 v
+(e been computed on the basis of the resolution of the de)3337 1 106104 u
+( the sizes, fonts, and characters that that)3336(vice, and)3337 2 338081 u
+(de)72000 242400 w
+( Ne)6835(vice can print.)3505 2 81190 u
+(v)158375 v
+( interpret that output on a dif)3506(ertheless it is quite possible to)3505 2 163225 u
+(ferent de)3506 1 409306 u
+(vice, within the latter\030)3506 1 445322 u
+(s)536110 v
+(capabilities.)72000 254400 w
+&13
+(s)108000 271200 w
+&12
+(n)112723 v
+&11
+(set point size to)3330 1 165600 u
+&12
+(n)233920 v
+&11
+(, fractional parts \(if an)3330 1 238920 u
+(y\) ignored)3330 1 331230 u
+&13
+(s\01223)108000 283200 w
+&12
+(d.d)127723 v
+&11
+(set point size to)3330 1 165600 u
+&12
+(d.d)233920 v
+&13
+(f)108000 295200 w
+&12
+(n)112163 v
+&11
+(set font to)3330 1 165600 u
+&12
+(n)210590 v
+&13
+(c)108000 307200 w
+&12
+(c)113273 v
+&11
+(print character)3330 1 165600 u
+&12
+(c)227790 v
+&13
+(C)108000 319200 w
+&12
+(name)116053 v
+&11
+(print the character called)3330 1 165600 u
+&12
+(name)270550 v
+&11
+(; terminate)3330 1 292210 u
+&12
+(name)339420 v
+&11
+(by white space)3330 1 364410 u
+&13
+(CPS)108000 331200 w
+&12
+(name)127723 v
+&11
+(print the character with the gi)3330 1 165600 u
+(v)287530 v
+(en PostScript)3330 1 292380 u
+&12
+(name)349600 v
+&13
+(N)108000 343200 w
+&12
+(n)116053 v
+&11
+(print character)3330 1 165600 u
+&12
+(n)227790 v
+&11
+(on current font)3330 1 236120 u
+&13
+(H)108000 355200 w
+&12
+(n)116613 v
+&11
+(go to absolute horizontal position)3330 1 165600 u
+&12
+(n)306140 v
+&11
+(\()314470 v
+&12
+(n)317800 v
+&20
+(\144)322800 v
+&11
+(0\))328290 v
+&13
+(V)108000 367200 w
+&12
+(n)116053 v
+&11
+(go to absolute v)3330 1 165600 u
+(ertical position)3330 1 231550 u
+&12
+(n)295430 v
+&11
+(\()303760 v
+&12
+(n)307090 v
+&20
+(\144)312090 v
+&11
+(0, do)3330 1 317580 u
+(wn is positi)3330 1 338160 u
+(v)385690 v
+(e\))390540 v
+&13
+(h)108000 379200 w
+&12
+(n)114393 v
+&11
+(go)165600 v
+&12
+(n)178930 v
+&11
+(units horizontally;)3330 1 187260 u
+&12
+(n)264480 v
+&11
+(<0 is to the left)3330 1 269480 u
+&13
+(v)108000 391200 w
+&12
+(n)113833 v
+&11
+(go)165600 v
+&12
+(n)178930 v
+&11
+(units v)3330 1 187260 u
+(ertically;)214890 v
+&12
+(n)253770 v
+&11
+(<0 is up)3330 1 258770 u
+&12
+(nnc)108000 403200 w
+&11
+(mo)165600 v
+(v)178230 v
+(e right)3330 1 183080 u
+&12
+(nn)213070 v
+&11
+(, then print)3330 1 223070 u
+9 s
+(ASCII)271670 v
+10 s
+(character)298499 v
+&12
+(c)338469 v
+&11
+(;)342909 v
+&12
+(nn)352349 v
+&11
+(must be e)3330 1 365679 u
+(xactly 2 digits)3330 1 405519 u
+&13
+(p)108000 415200 w
+&12
+(n)114393 v
+&11
+(ne)165600 v
+(w page)3330 1 174790 u
+&12
+(n)207550 v
+&11
+(be)215880 v
+(gins\006set v)3330 1 225170 u
+(ertical position to 0)3330 1 271130 u
+&13
+(n)108000 427200 w
+&12
+(b a)3330 1 114393 u
+&11
+(end of line \(information only\006no action\);)3330 1 165600 u
+&12
+(b)345560 v
+&11
+(= space before line,)3330 1 353890 u
+&12
+(a)438100 v
+&11
+(= after)3330 1 446430 u
+&13
+(w)108000 439200 w
+&11
+(paddable w)3330 1 165600 u
+(ord space \(information only\006no action\))3330 1 212150 u
+&13
+(D)108000 451200 w
+&12
+(c ...\017n)3330 1 116053 u
+&11
+(graphics function)3330 1 165600 u
+&12
+(c)239470 v
+&11
+(; see belo)3330 1 243910 u
+(w)283090 v
+&13
+(x ...\017n)3330 1 108000 463200 t
+&11
+(de)165600 v
+(vice control functions; see belo)3330 1 174790 u
+(w)302840 v
+&13
+(# ...\017n)3330 1 108000 475200 t
+&11
+(comment)165600 v
+(All position v)4624 1 72000 492000 t
+( must be follo)4625( that end in digits)4624( Sequences)7954
+(alues are in units.)4624 4 131008 u
+( tabs)4625( Blanks,)7955(wed by a non\001digit.)4625 3 396885 u
+(and ne)3532 1 72000 504000 t
+( as separators in the input, and are mandatory to separate constructions t\
+hat w)3531
+(wlines may occur)3532 2 99162 u
+(ould other)3531 1 495009 u
+(\001)536670 v
+( functions, de)3497( Graphics)6827(wise be confused.)3497 3 72000 516000 t
+( functions, and comments e)3498(vice control)3497 2 244195 u
+(xtend to the end of the line the)3498 1 406234 u
+(y)535000 v
+(occur on.)3330 1 72000 528000 t
+(The de)3570 1 72000 544800 t
+( intended as open\001ended f)3571(vice control and graphics commands are)3570 2 100310 u
+(amilies, to be e)3571 1 373944 u
+( The)6721(xpanded as needed.)3571 2 437557 u
+(graphics functions coincide directly with the)3330 1 72000 556800 t
+&13
+(\017D)257510 v
+[ /Dest /Anchor$e$5fD
+/Rect [257510 -557800 267510 -548800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(sequences:)270840 v
+&13
+(D)108000 573600 w
+(l)116053 v
+&12
+(dh dv)3330 1 122163 u
+&11
+(dra)194400 v
+(w line from current position by)3330 1 207020 u
+&12
+(dh,)339210 v
+(dv)353376 v
+&13
+(D)108000 585600 w
+(p)116053 v
+&12
+(a b c d ...)3330 1 124943 u
+&11
+(dra)194400 v
+(w polygon, i.e. a line to)3330 1 207020 u
+&12
+(a,)308940 v
+(b)318106 v
+&11
+(, then to)3330 1 323106 u
+&12
+(c,)360596 v
+(d)369202 v
+&11
+(, then ...)3330 1 374202 u
+&13
+(D)108000 597600 w
+(c)116053 v
+&12
+(d)123823 v
+&11
+(dra)194400 v
+(w circle of diameter)3330 1 207020 u
+&12
+(d)293090 v
+&11
+(with left side at current position)3330 1 301420 u
+&13
+(D)108000 609600 w
+(e)116053 v
+&12
+(u v)3330 1 123823 u
+&11
+(dra)194400 v
+(w ellipse of diameters)3330 1 207020 u
+&12
+(u)300880 v
+&11
+(and)309210 v
+&12
+(v)326980 v
+&13
+(D)108000 621600 w
+(a)116053 v
+&12
+(a b c d)3330 1 124383 u
+&11
+(dra)194400 v
+(w arc from current position to)3330 1 207020 u
+&12
+(a)334200 v
+&11
+(+)339200 v
+&12
+(c)344840 v
+&11
+(,)349280 v
+&12
+(b)353446 v
+&11
+(+)358446 v
+&12
+(d)364086 v
+&11
+(, with center at)3330 1 369086 u
+&12
+(a)434336 v
+&11
+(,)439336 v
+&12
+(b)443502 v
+&11
+(from current position)3330 1 451832 u
+&13
+(D)108000 633600 w
+&20
+(\127)116053 v
+&12
+(a b c d...)3330 1 124873 u
+&11
+(dra)194400 v
+(w B\001spline from current position by)3330 1 207020 u
+&12
+(a)358100 v
+&11
+(,)363100 v
+&12
+(b)367266 v
+&11
+(, then by)3330 1 372266 u
+&12
+(c)411976 v
+&11
+(,)416416 v
+&12
+(d)420582 v
+&11
+(, then by)3330 1 425582 u
+&12
+(c)465292 v
+&11
+(,)469732 v
+&12
+(d)473898 v
+&11
+(, then ...)3330 1 478898 u
+&13
+(D)108000 645600 w
+(z)116053 v
+&12
+(a b c d...)3330 1 123823 u
+&11
+(for an)3330 1 194400 u
+(y other)3330 1 218680 u
+&12
+(z)250890 v
+&11
+(is uninterpreted)3330 1 258110 u
+(In all of these,)3799 1 72000 662400 t
+&12
+(x,)136906 v
+(y)145512 v
+&11
+( increment on the current horizontal and v)3800(is an)3799 2 153751 u
+(ertical position, with do)3800 1 350630 u
+(wn and right positi)3800 1 449280 u
+(v)528210 v
+(e.)533060 v
+(All distances and dimensions are in units.)3330 1 72000 674400 t
+(\001)294340 760800 w
+(63)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 63 63
+%%Page: 64 64
+save
+mark
+64 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(The de)3330 1 72000 84000 t
+(vice control functions be)3330 1 100070 u
+(gin with)3330 1 201560 u
+&13
+(x)238780 v
+&11
+(, then a command, then other parameters.)3330 1 243780 u
+&13
+(x T)3030 1 108000 100800 t
+&12
+(s)126030 v
+&11
+(name of typesetter is)3330 1 216000 u
+&12
+(s)304860 v
+&13
+(x r)3330 1 108000 112800 t
+&12
+(n h v)3330 1 124100 u
+&11
+(resolution is)3330 1 216000 u
+&12
+(n)269330 v
+&11
+(units/inch;)277660 v
+&12
+(h)226000 124800 w
+&11
+(= minimum horizontal motion,)3330 1 234330 u
+&12
+(v)363580 v
+&11
+(= minimum v)3330 1 371350 u
+(ertical motion)3330 1 427400 u
+&13
+(x i)3330 1 108000 136800 t
+&11
+(initialize)216000 v
+&13
+(x f)3330 1 108000 148800 t
+&12
+(n s)3330 1 122990 u
+&11
+(mount font)3330 1 216000 u
+&12
+(s)264330 v
+&11
+(on font position)3330 1 271550 u
+&12
+(n)339880 v
+&13
+(x f)3330 1 108000 160800 t
+&12
+(n s)3330 1 122990 u
+(\003lename)138540 v
+(\004a)175750 v
+(gs)185650 v
+(\003lename)216000 v
+&11
+(contains metrics for font)3330 1 253210 u
+&12
+(s)357070 v
+&11
+(on position)3330 1 364290 u
+&12
+(n)413180 v
+&11
+(using)421510 v
+&12
+(\004a)446510 v
+(gs)456410 v
+&13
+(x p)3330 1 108000 172800 t
+&11
+(pause\006can restart)3330 1 216000 u
+&13
+(x s)3330 1 108000 184800 t
+&11
+(stop\006done fore)3330 1 216000 u
+(v)281290 v
+(er)286140 v
+&13
+(x t)3330 1 108000 196800 t
+&11
+(generate trailer information, if an)3330 1 216000 u
+(y)352190 v
+&13
+(x H)3330 1 108000 208800 t
+&12
+(n)127440 v
+&11
+(set character height to)3330 1 216000 u
+&12
+(n)309850 v
+&11
+(, fractional parts \(if an)3330 1 314850 u
+(y\) ignored)3330 1 407160 u
+&13
+(x H)3330 1 108000 220800 t
+(\01223)127440 v
+&12
+(d.d)145770 v
+&11
+(set character height to)3330 1 216000 u
+&12
+(d.d)309850 v
+&13
+(x S)3330 1 108000 232800 t
+&12
+(n)125220 v
+&11
+(set slant to)3330 1 216000 u
+&12
+(n)263770 v
+&13
+(x X)3330 1 108000 244800 t
+&12
+(any)126880 v
+&11
+(generated by the)3330 1 216000 u
+&13
+(\017X)287080 v
+[ /Dest /Anchor$e$5fX
+/Rect [287080 -245800 297080 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)300410 v
+&13
+(\017Y)318180 v
+&11
+(functions)331510 v
+[ /Dest /Anchor$e$5fY
+/Rect [318180 -245800 368730 -236800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+( Anchor)2780(x X)3330 2 108000 256800 t
+&12
+(y)161880 v
+(,x id)3330 1 165770 u
+&11
+(specify PDF link anchor \(generated by the)3330 1 216000 u
+&13
+(\017A)393720 v
+&11
+(request\))407050 v
+&13
+( Anchor)2780(x X)3330 2 108000 268800 t
+&12
+(id)161880 v
+&11
+(specify HTML link anchor)3330 1 216000 u
+&13
+(x X BleedAt)3330 1 108000 280800 t
+&12
+( H)3330( W)2930(L T)3150 3 164650 u
+&11
+(generated by the)3330 1 216000 u
+&13
+(bleedat)287080 v
+&11
+(request)321520 v
+[ /Dest /Anchor$bleedat
+/Rect [287080 -281800 350400 -272800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(x X Cr)3330 1 108000 292800 t
+(opAt)138360 v
+&12
+( H)3330( W)2930(L T)3150 3 162800 u
+&11
+(generated by the)3330 1 216000 u
+&13
+(cr)287080 v
+(opat)295780 v
+&11
+(request)318000 v
+[ /Dest /Anchor$cropat
+/Rect [287080 -293800 346880 -284800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&13
+(x X HorScale)3330 1 108000 304800 t
+&12
+(per)169650 v
+(cent)182610 v
+&11
+(scale letters horizontally by)3330 1 216000 u
+&12
+(per)332080 v
+(cent)345040 v
+&11
+(\(with the)3330 1 365030 u
+&13
+(letadj)405020 v
+[ /Dest /Anchor$letadj
+/Rect [405020 -305800 429460 -296800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request\))432790 v
+&13
+(x X LC_CTYPE)3330 1 108000 316800 t
+&12
+(name)182990 v
+&11
+(sets the)3330 1 216000 u
+9 s
+(LC_CTYPE)249880 v
+10 s
+(locale to)3330 1 297715 u
+&12
+(name)336035 v
+&13
+(x X Link)3330 1 108000 328800 t
+&12
+(x1)150780 v
+&11
+(,)160220 v
+&12
+(y1)162720 v
+&11
+(,)172160 v
+&12
+(x2)174660 v
+&11
+(,)184100 v
+&12
+(y2 id)3330 1 186600 u
+&11
+(specify PDF link \(generated by the)3330 1 216000 u
+&13
+(\017T\026)363180 v
+&12
+(id)375410 v
+&13
+(\026)383190 v
+&11
+(request\))389300 v
+&13
+(x X Link)3330 1 108000 340800 t
+&12
+(id)150780 v
+&11
+(be)216000 v
+(gin HTML link \(generates)3330 1 225290 u
+&13
+(<a hr)3330 1 336370 u
+(ef=\020)360220 v
+&12
+(id)379240 v
+&13
+(\020>)387020 v
+&11
+(\))398270 v
+&13
+(x X Link)3330 1 108000 352800 t
+&11
+(end HTML link \(generates)3330 1 216000 u
+&13
+(</a>)328740 v
+&11
+(\))347920 v
+&13
+(x X P)3330 1 108000 364800 t
+(aperSize)132890 v
+&12
+(W H n)3330 1 172880 u
+&11
+(generated by the)3330 1 216000 u
+&13
+(mediasize)287080 v
+[ /Dest /Anchor$mediasize
+/Rect [287080 -365800 328740 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)332070 v
+&13
+(papersize)349840 v
+[ /Dest /Anchor$papersize
+/Rect [349840 -365800 390390 -356800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(requests)393720 v
+&12
+(n)226000 376800 w
+&11
+(is non\001zero for)3330 1 234330 u
+&13
+(mediasize)298190 v
+[ /Dest /Anchor$mediasize
+/Rect [298190 -377800 339850 -368800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+[ /Dest /Anchor$x$5fX$5fPS
+ /View [/XYZ -4 415.2 0]
+/DEST pdfmark
+(x X PS)3330 1 108000 388800 t
+&12
+(command)141880 v
+&11
+(embed PostScript)3330 1 216000 u
+&12
+(command)290440 v
+&13
+(x X PSSetup)3330 1 108000 400800 t
+&12
+(command)166330 v
+&11
+(embed PostScript)3330 1 216000 u
+&12
+(command)290440 v
+&11
+(in global setup section)3330 1 332650 u
+&13
+(x X SetColor)3330 1 108000 412800 t
+&12
+(color)167980 v
+&11
+(change printing)3330 1 216000 u
+&12
+(color)282650 v
+&13
+(x X SupplyF)3330 1 108000 424800 t
+(ont)162760 v
+&12
+(font)179980 v
+(\003le)198870 v
+&11
+(supply data from)3330 1 216000 u
+&12
+(\003le)288760 v
+&11
+(for PostScript)3330 1 304310 u
+&12
+(font)363750 v
+&13
+(x X Sync)3330 1 108000 436800 t
+&11
+(instructs to)3330 1 216000 u
+(\004ush position and font information immediately)3330 1 264330 u
+&13
+( T)3030(x X)3330 2 108000 448800 t
+(rack)132510 v
+&12
+(n)155280 v
+&11
+(gi)216000 v
+(v)223530 v
+(es a hint that follo)3330 1 228380 u
+(wing characters are track)3330 1 303670 u
+(ed by)3330 1 406290 u
+&12
+(n)432390 v
+&11
+(units)440720 v
+(interpretation is optional; follo)3330 1 226000 460800 t
+(wing positions are not changed)3330 1 350740 u
+&13
+( T)3030(x X)3330 2 108000 472800 t
+(rimAt)132510 v
+&12
+( H)3330( W)2930(L T)3150 3 161940 u
+&11
+(generated by the)3330 1 216000 u
+&13
+(trimat)287080 v
+[ /Dest /Anchor$trimat
+/Rect [287080 -473800 314290 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request)317620 v
+&13
+(x X ULink)3330 1 108000 484800 t
+&12
+(x1)158000 v
+&11
+(,)167440 v
+&12
+(y1)169940 v
+&11
+(,)179380 v
+&12
+(x2)181880 v
+&11
+(,)191320 v
+&12
+(y2 URL)3330 1 193820 u
+&11
+(specify PDF URL link \(generated by the)3330 1 226000 u
+&13
+(\017W\026)396510 v
+&12
+(id)412070 v
+&13
+(\026)419850 v
+&11
+(request\))425960 v
+&13
+(x X ULink)3330 1 108000 496800 t
+&12
+(URL)158000 v
+&11
+(be)216000 v
+(gin HTML URL link \(generates)3330 1 225290 u
+&13
+(<a hr)3330 1 359700 u
+(ef=\020)383550 v
+&12
+(URL)402570 v
+&13
+(\020>)421460 v
+&11
+(\))432710 v
+&13
+(x X ULink)3330 1 108000 508800 t
+&11
+(end HTML URL link \(generates)3330 1 216000 u
+&13
+(</a>)352070 v
+&11
+(\))371250 v
+&13
+(x)108000 520800 w
+&12
+(any)116330 v
+&11
+(to be ignored if not recognized)3330 1 216000 u
+(Subcommands lik)3330 1 72000 537600 t
+(e)144680 v
+(\027)152450 v
+(\027i\030)155040 v
+( be spelled out lik)3330(\030 may)2590 2 163740 u
+(e)261210 v
+(\027)268980 v
+(\027init\030)271570 v
+(\030.)290830 v
+(The commands)4026 1 72000 554400 t
+&13
+(x)138932 v
+(T)146962 v
+&11
+(,)153632 v
+&13
+(x)160158 v
+(r)168488 v
+&11
+(..., and)4026 1 176258 u
+&13
+(x)208750 v
+(i)217080 v
+&11
+(fonts must be mounted before the)4026 1 223886 u
+( used;)4027(y can be)4026 2 365516 u
+&13
+(x)431052 v
+(s)439382 v
+&11
+( are)4027( There)7177(comes last.)4027 3 447299 u
+(no other order requirements.)3330 1 72000 566400 t
+(The follo)3330 1 72000 583200 t
+(wing is the output from)3330 1 109520 u
+(\027)210060 v
+(\027hello, w)3330 1 212650 u
+(orld\030)248930 v
+( a typical printer)3330(\030 for)2590 2 267630 u
+(, as described in)3330 1 353120 u
+(\01527)423370 v
+[ /Dest /Anchor$s$5fdevice
+/Rect [423370 -584200 438370 -575200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(:)438370 v
+9 @15 f
+(x T ps)5400 1 108000 600000 t
+(x res 72000 1 1)5400 1 108000 612000 t
+(x init)5400 1 108000 624000 t
+(V0)108000 636000 w
+(p1)108000 648000 w
+(x font 1 R /usr/ucblib/doctools/font/devps/R.afm 4)5400 1 108000 660000 t
+(x font 2 I /usr/ucblib/doctools/font/devps/I.afm 4)5400 1 108000 672000 t
+(x font 3 B /usr/ucblib/doctools/font/devps/B.afm 4)5400 1 108000 684000 t
+(x font 4 BI /usr/ucblib/doctools/font/devps/BI.afm 4)5400 1 108000 696000 t
+(x font 5 CW /usr/ucblib/doctools/font/devps/CW.afm 4)5400 1 108000 708000 t
+(x font 6 H /usr/ucblib/doctools/font/devps/H.afm 4)5400 1 108000 720000 t
+10 @11 f
+(\001)294340 760800 w
+(64)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 64 64
+%%Page: 65 65
+save
+mark
+65 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+9 @15 f
+(x font 7 HB /usr/ucblib/doctools/font/devps/HB.afm 4)5400 1 108000 84000 t
+(x font 8 HX /usr/ucblib/doctools/font/devps/HX.afm 4)5400 1 108000 96000 t
+(x font 9 S1 /usr/ucblib/doctools/font/devps/S1.afm 516)5400 1 108000 108000 t
+(x font 10 S /usr/ucblib/doctools/font/devps/S.afm 1028)5400 1 108000 120000 t
+(s10)108000 132000 w
+(f1)108000 144000 w
+(x X LC_CTYPE de_DE.utf8)5400 1 108000 156000 t
+(H72000)108000 168000 w
+(V12000)108000 180000 w
+(ch)108000 192000 w
+(h5000ce)108000 204000 w
+(h4440cl)108000 216000 w
+(h2780cl)108000 228000 w
+(h2780co)108000 240000 w
+(h5000c,)108000 252000 w
+(wh5830cw)108000 264000 w
+(h7120co)108000 276000 w
+(h5000cr)108000 288000 w
+(h3330cl)108000 300000 w
+(h2780cd)108000 312000 w
+(n12000 0)5400 1 108000 324000 t
+(x trailer)5400 1 108000 336000 t
+(V792000)108000 348000 w
+(x stop)5400 1 108000 360000 t
+10 @12 f
+(tr)72000 376800 w
+(of)78220 v
+(f)85820 v
+&11
+(output is normally not redundant; size and font changes and position info\
+rmation are not included unless)4430 1 93030 u
+(needed. Ne)7094 1 72000 388800 t
+(v)121324 v
+( bene\003t of postprocessors that re\001order pages)3763
+(ertheless, each page is normally self\001contained, for the)3764 2 126174 u
+( The)6763( subset.)3613(or process only a)3612 3 72000 400800 t
+&13
+(x X PSSetup)3613 1 200415 u
+&11
+(command is an e)3613 1 259594 u
+(xception from this rule; it is included only once at)3613 1 330273 u
+(the point where the corresponding)3330 1 72000 412800 t
+&13
+(\017X)215290 v
+&12
+(\030)225290 v
+&13
+(PSSetup:)228620 v
+&11
+(...)269736 v
+&12
+(\030)277236 v
+&11
+(escape sequence)3330 1 283896 u
+[ /Dest /Anchor$e$5fX
+/Rect [215290 -413800 350526 -404800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(occurs.)353856 v
+[ /Dest /Anchor$s$5fdevice
+ /View [/XYZ -4 369.6 0]
+/DEST pdfmark
+&13
+(27. De)6660 1 72000 434400 t
+(vice and F)3330 1 102670 u
+(ont Description Files)3330 1 147970 u
+[ /Dest /Bookmark$116
+ /View [/XYZ -4 369.6 0]
+/DEST pdfmark
+&11
+(The parameters that describe a output de)15464 1 72000 451200 t
+(vice)311714 v
+&12
+(name)343838 v
+&11
+( the directory)15465(are read from)15464 2 380962 u
+&13
+(/usr/ucblib/doctools/f)72000 463200 w
+(ont/de)161770 v
+(v)188290 v
+&12
+(name)193290 v
+&11
+(, each time)4178 1 214950 u
+&12
+(tr)266084 v
+(of)272304 v
+(f)279904 v
+&11
+(is in)4178 1 286862 u
+(v)305090 v
+(ok)309890 v
+( de)4178(ed. The)7328 2 319790 u
+(vice name is pro)4178 1 367976 u
+(vided by def)4178 1 438680 u
+(ault, by the)4177 1 491926 u
+(en)72000 475200 w
+(vironment v)4100 1 81040 u
+(ariable)131000 v
+9 @13 f
+(TYPESETTER)162311 v
+10 @11 f
+(, or by a command\001line ar)4101 1 221828 u
+(gument)332963 v
+&13
+(\012T)367064 v
+&12
+(name)378734 v
+&11
+( def)4101(. The)7251 2 400394 u
+(ault de)4101 1 442466 u
+(vice name is)4101 1 470757 u
+&13
+(ps)528050 v
+&11
+(,)537500 v
+(for PostScript output at a resolution of 72)4241 1 72000 487200 t
+(000)251683 v
+( pre\001de\003ned string)4241(dpi. The)7391 2 270013 u
+&13
+(.T)389277 v
+&11
+( of the de)4240(contains the name)4241 2 402688 u
+(vice.)520840 v
+(The)72000 499200 w
+&13
+(\012F)90880 v
+&11
+(command\001line option may be used to change the def)3330 1 105320 u
+(ault directory)3330 1 321270 u
+(.)375050 v
+&12
+(27.1.)72000 516000 w
+(De)93666 v
+(vice description)3330 1 105176 u
+(\003le)172936 v
+(.)185006 v
+[ /Dest /Bookmark$117
+ /View [/XYZ -4 288 0]
+/DEST pdfmark
+&11
+(General parameters of the de)8764 1 196270 u
+( the)8765(vice are stored, one per line, in)8764 2 336586 u
+(\003le)527220 v
+&13
+(/usr/ucblib/doctools/f)72000 528000 w
+(ont/de)161770 v
+(v)188290 v
+&12
+(name)193290 v
+&13
+(/DESC)215783 v
+&11
+( of names and v)3374(, as a sequence)3375 2 245233 u
+(alues.)373844 v
+&12
+(tr)403598 v
+(of)409818 v
+(f)417418 v
+&11
+(recognizes these parameters,)3374 1 423572 u
+(and ignores an)3330 1 72000 540000 t
+(y others that may be present for speci\003c dri)3330 1 131830 u
+(v)311520 v
+(ers:)316370 v
+&13
+(f)108000 556800 w
+(onts)111080 v
+&12
+(n F G H ... Z)3330 1 132190 u
+&13
+(sizes)108000 568800 w
+&12
+(s t ...)3330 1 130770 u
+&13
+(0)154930 v
+(r)108000 580800 w
+(es)112260 v
+&12
+(n)123920 v
+&13
+(hor)108000 592800 w
+&12
+(n)126330 v
+&13
+(v)108000 604800 w
+(ert)112900 v
+&12
+(n)128440 v
+&13
+(unitwidth)108000 616800 w
+&12
+(n)153010 v
+&13
+(charset)108000 628800 w
+&12
+(list of multi\001c)3330 1 108000 640800 t
+(har)162850 v
+(acter c)3330 1 176590 u
+(har)204760 v
+(acter names \(optional\))3330 1 218500 u
+&11
+(The F)3418 1 72000 657600 t
+( list of sizes is a set of inte)3419( The)6569( be initially mounted.)3419
+(, G, ... are font names to)3418 4 95728 u
+(gers representing some or all)3419 1 420794 u
+(of the le)4059 1 72000 669600 t
+(g)107738 v
+(al sizes the de)4059 1 112688 u
+( The)7208( by a zero.)4058(vice can produce, terminated)4059 3 172935 u
+&13
+(r)369602 v
+(es)373862 v
+&11
+(parameter gi)4058 1 386250 u
+(v)437818 v
+(es the resolution of the)4058 1 442668 u
+(machine in units per inch;)4032 1 72000 681600 t
+&13
+(hor)186040 v
+&11
+(and)205072 v
+&13
+(v)223544 v
+(er)228444 v
+&11
+(gi)241357 v
+(v)248887 v
+(e the minimum number of units that can be mo)4033 1 253737 u
+(v)454874 v
+(ed horizontally and)4033 1 459724 u
+(v)72000 693600 w
+(ertically)76850 v
+(.)108970 v
+( to be gi)4807(Character widths for each font are assumed)4806 2 72000 710400 t
+(v)298287 v
+(en in machine units at point size)4807 1 303137 u
+&13
+(unitwidth)450666 v
+&11
+( other)4807(. \(In)8137 2 492346 u
+(w)72000 722400 w
+(ords, a character with a width of)3330 1 79120 u
+&12
+(n)216560 v
+&11
+(is)224890 v
+&12
+(n)234890 v
+&11
+(units wide at size)3330 1 243220 u
+&13
+(unitwidth)318200 v
+&11
+( widths are inte)3330(.\) All)6110 2 359880 u
+(gers at all sizes.)3330 1 448320 u
+(\001)294340 760800 w
+(65)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 65 65
+%%Page: 66 66
+save
+mark
+66 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(A list of v)3330 1 72000 84000 t
+(alid character names may be introduced by)3330 1 114520 u
+&13
+(charset)294450 v
+&11
+(; the list of names is optional.)3330 1 325550 u
+(A line whose)3813 1 72000 100800 t
+(\003rst non\001blank character is)3813 1 131209 u
+&13
+(#)245881 v
+&11
+( that)3813( Except)7143(is a comment.)3813 3 254694 u
+&13
+(charset)370690 v
+&11
+(must occur last, parameters may)3814 1 405604 u
+(appear in an)3330 1 72000 112800 t
+(y order)3330 1 122380 u
+(.)151260 v
+(Here is a subset of the)3330 1 72000 129600 t
+9 @13 f
+(DESC)168070 v
+10 @11 f
+(\003le for a typical Postscript printer:)3330 1 195403 u
+9 @15 f
+(# Description file for Postscript printers.)5400 1 108000 146400 t
+(fonts 10 R I B BI CW H HB HX S1 S)5400 1 108000 170400 t
+(sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23)5400 1 108000 182400 t
+(24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0)5400 1 124200 194400 t
+(anysize)108000 206400 w
+(allpunct)108000 218400 w
+(afmfonts)108000 230400 w
+(lc_ctype)108000 242400 w
+(res 72000)5400 1 108000 254400 t
+(hor 1)5400 1 108000 266400 t
+(vert 1)5400 1 108000 278400 t
+(unitwidth 1)5400 1 108000 290400 t
+(charset)108000 302400 w
+(hy ct fi fl ff Fi Fl dg em 14 34 12 en aa)5400 1 108000 314400 t
+(ga ru sc dd)5400 1 108000 326400 t
+(\001> br Sl ps cs cy as os =. ld)5400 1 172800 u
+(rd le ge pp)5400 1 108000 338400 t
+(\001+ ob vr rs dq)5400 1 172800 u
+(sq bx ci fa te ** pl mi eq)5400 1 108000 350400 t
+(\023= *A *B *X *D)5400 1 253800 u
+(*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U *W)5400 1 108000 362400 t
+(*C *Q *Z ul rn *a *b *x *d *e *f *g *y *i *k)5400 1 108000 374400 t
+(*l *m *n *o *p *h *r *s *t *u *w *c *q *z)5400 1 108000 386400 t
+10 @12 f
+(27.2.)72000 403200 w
+[ /Dest /Anchor$c$5ffontdescr
+ /View [/XYZ -4 400.8 0]
+/DEST pdfmark
+(F)93666 v
+(ont description)3330 1 98726 u
+(\003les.)163166 v
+[ /Dest /Bookmark$118
+ /View [/XYZ -4 400.8 0]
+/DEST pdfmark
+&11
+( to the old)4519( description applies)4518(Note: This)4338 3 186294 u
+&12
+(tr)363294 v
+(of)369514 v
+(f)377114 v
+&11
+(de)384413 v
+( The)7669(vice\001independent font format.)4519 2 393603 u
+(current v)4724 1 72000 415200 t
+(ersion of)4724 1 109894 u
+&12
+(tr)152112 v
+(of)158332 v
+(f)165932 v
+&11
+( T)4544(usually reads font metrics directly from)4724 2 173436 u
+(ype)352440 v
+(1, OpenT)4724 1 370210 u
+( T)4543(ype, or)4724 2 409404 u
+(rueT)449701 v
+(ype font)4723 1 467781 u
+(\003les, as)4723 1 507777 u
+(described for the)3330 1 72000 427200 t
+&13
+(fp)144190 v
+[ /Dest /Anchor$fp
+/Rect [144190 -428200 153080 -419200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(request \(\0152\))3330 1 156410 u
+[ /Dest /Anchor$s$5ffont
+/Rect [188620 -428200 205280 -419200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(and in the separate fonts manual a)3330 1 208610 u
+(v)349470 v
+(ailable from the project home page.)3330 1 354220 u
+(Each font is described by an analogous description)3960 1 72000 444000 t
+(\003le, which be)3960 1 289200 u
+(gins with parameters of the font, one per line,)3960 1 346130 u
+(follo)72000 456000 w
+( The)6480(wed by a list of characters and widths.)3330 2 90640 u
+(\003le for font)3330 1 275110 u
+&12
+(F)325650 v
+&11
+(is)335090 v
+&13
+(/usr/ucblib/doctools/f)345090 v
+(ont/de)434860 v
+(v)461380 v
+&12
+(name)466380 v
+&13
+(/)488873 v
+&12
+(F)491653 v
+&11
+(.)497763 v
+&13
+(name)108000 472800 w
+&12
+(str)134660 v
+&11
+(name of font is)3330 1 230400 u
+&12
+(str)296490 v
+&13
+(ligatur)108000 484800 w
+(es ... 0)3330 1 136710 u
+&11
+(list of lig)3330 1 230400 u
+(atures)268130 v
+&13
+(spacewidth)108000 496800 w
+&12
+(n)159110 v
+&11
+(width of a space on this font)3330 1 230400 u
+&13
+(special)108000 508800 w
+&11
+(this is a special font)3330 1 230400 u
+&13
+(charset)108000 520800 w
+&12
+(list of c)3330 1 108000 532800 t
+(har)138960 v
+(acter name)3330 1 152700 u
+(, width, ascender/descender)3330 1 198140 u
+(, code)3330 1 310340 u
+&11
+(, tab separated)3330 1 335050 u
+(The)72000 549600 w
+&13
+(name)92985 v
+&11
+(and)121750 v
+&13
+(charset)141625 v
+&11
+(\003elds are mandatory;)5435 1 178160 u
+&13
+(charset)273896 v
+&11
+( are permitted, as are other)5436( Comments)8766(must be last.)5436 3 310432 u
+(unrecognized parameters.)3330 1 72000 561600 t
+(Each line follo)7278 1 72000 578400 t
+( character: its name, its width in units as described abo)7279
+(wing charset describes one)7278 2 140186 u
+(v)528210 v
+(e,)533060 v
+(ascender/descender information, and a decimal, octal or he)3896 1 72000 590400 t
+(xadecimal v)3896 1 316832 u
+(alue by which the output de)3896 1 366578 u
+(vice kno)3896 1 484128 u
+(ws it)3896 1 519434 u
+(\(the)72000 602400 w
+&13
+(\017N)91202 v
+[ /Dest /Anchor$e$5fN
+/Rect [91202 -603400 101202 -594400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\027)104855 v
+(\027number\030)107445 v
+( character name is arbitrary)3653( The)6803( the character\).)3653
+(\030 of)2913 4 143915 u
+(, e)3653 1 356199 u
+(xcept that)3653 1 366642 u
+&13
+(\012\012\012)410608 v
+&11
+(signi\003es an unnamed char)3653 1 429261 u
+(\001)536670 v
+(acter)72000 614400 w
+( the width)3992(. If)7322 2 90880 u
+(\003eld contains)3992 1 154338 u
+&13
+(\020)213432 v
+&11
+(, the name is a synon)3992 1 218982 u
+( pre)3991(ym for the)3992 2 310172 u
+(vious character)3991 1 371327 u
+( ascender/descender)3991(. The)7141 2 433078 u
+(\003eld is 1 if the character has a descender \(hangs belo)4147 1 72000 626400 t
+(w the baseline, lik)4147 1 299270 u
+(e)376881 v
+&13
+(y)385468 v
+&11
+(\), is 2 if it has an ascender \(is tall,)4148 1 390468 u
+(lik)72000 638400 w
+(e)82460 v
+&13
+(Y)90522 v
+&11
+(\), is 3 if both, and is 0 if neither)3622 1 97742 u
+( v)3622(. The)6772 2 233670 u
+(alue is returned in the)3622 1 266864 u
+&13
+(ct)361623 v
+[ /Dest /Anchor$n$5fct
+/Rect [361623 -639400 369393 -630400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(re)373014 v
+(gister)380634 v
+(, as computed by the)3621 1 402454 u
+&13
+(\017w)493049 v
+&11
+(function)506670 v
+[ /Dest /Anchor$e$5fw
+/Rect [493049 -639400 540000 -630400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\(\01511.2\).)72000 650400 w
+[ /Dest /Anchor$c$5fwidth
+/Rect [72000 -651400 103660 -642400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(Here are e)3330 1 72000 667200 t
+(xcerpts from a typical font description)3330 1 114590 u
+(\003le for the same Postscript printer)3330 1 275100 u
+(.)414520 v
+9 @15 f
+(hy)108000 684000 w
+(33)144000 v
+(0)180000 v
+(45)216000 v
+(hyphen)288000 v
+(\017\(hy)325800 v
+(\001)108000 696000 w
+(\020)144000 v
+(\001 is a synonym for)5400 1 288000 u
+(\017\(hy)390600 v
+(Q)108000 720000 w
+(72)144000 v
+(3)180000 v
+(81)216000 v
+10 @11 f
+(\001)294340 760800 w
+(66)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 66 66
+%%Page: 67 67
+save
+mark
+67 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+9 @15 f
+(a)108000 84000 w
+(44)144000 v
+(0)180000 v
+(97)216000 v
+(b)108000 96000 w
+(50)144000 v
+(2)180000 v
+(98)216000 v
+(c)108000 108000 w
+(44)144000 v
+(0)180000 v
+(99)216000 v
+(d)108000 120000 w
+(50)144000 v
+(2)180000 v
+(100)216000 v
+(y)108000 132000 w
+(50)144000 v
+(1)180000 v
+(121)216000 v
+(em)108000 156000 w
+(100)144000 v
+(0)180000 v
+(208)216000 v
+(\012\012\012)108000 168000 w
+(44)144000 v
+(2)180000 v
+(220)216000 v
+(English pound currency symbol)5400 1 288000 u
+(\017N\030220\030)450000 v
+(\012\012\012)108000 180000 w
+(36)144000 v
+(0)180000 v
+(221)216000 v
+(centered dot)5400 1 288000 u
+(\017N\030221\030)358200 v
+10 @11 f
+(This says, for e)3816 1 72000 196800 t
+( the width of the letter)3817(xample, that)3816 2 136898 u
+&13
+(a)286656 v
+&11
+(is 44 units at point size 10, the v)3817 1 295473 u
+(alue of)3817 1 434929 u
+&13
+(unitwidth)467553 v
+&11
+(. Point)7147 1 509233 u
+( rounded, so the width of)3836(sizes are scaled linearly and)3837 2 72000 208800 t
+&13
+(a)299484 v
+&11
+(will be 44 at size 10, 40 at size 9, 35 at size 8, and so)3836 1 308320 u
+(on.)72000 220800 w
+(\001)294340 760800 w
+(67)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 67 67
+%%Page: 68 68
+save
+mark
+68 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$119
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$part$5ftutorial
+ /View [/XYZ -4 684 0]
+/DEST pdfmark
+&13
+(TUT)249975 120000 w
+(ORIAL EXAMPLES)3330 1 270355 u
+[ /Dest /Anchor$T1
+ /View [/XYZ -4 648 0]
+/DEST pdfmark
+(T1. Intr)6660 1 72000 156000 t
+(oduction)109870 v
+[ /Dest /Bookmark$120
+ /View [/XYZ -4 648 0]
+/DEST pdfmark
+&11
+(Although)72000 172800 w
+&12
+(nr)113278 v
+(of)121718 v
+(f)129318 v
+&11
+(and)135597 v
+&12
+(tr)153536 v
+(of)159756 v
+(f)167356 v
+&11
+(ha)173635 v
+(v)182875 v
+(e by design a syntax rem\001)3499 1 187725 u
+( earlier te)6197(iniscent of)6198 2 72000 184800 t
+(xt processors* with the intent)6197 1 162642 u
+(of easing their use, it is almost al)4671 1 72000 196800 t
+(w)218757 v
+( to)4672(ays necessary)4671 2 225877 u
+( of macro de\003nitions to)5235(prepare at least a small set)5236 2 72000 208800 t
+( common formatting)4810( Such)8140(describe most documents.)4810 3 72000 220800 t
+(needs as page mar)4300 1 72000 232800 t
+(gins and footnotes are deliberately)4300 1 150250 u
+(not b)4238 1 72000 244800 t
+(uilt into)4239 1 93818 u
+&12
+(nr)131196 v
+(of)139636 v
+(f)147236 v
+&11
+(and)154255 v
+&12
+(tr)172934 v
+(of)179154 v
+(f)186754 v
+(.)189384 v
+&11
+(Instead, the macro and)4239 1 199453 u
+(string de\003nition, number re)4858 1 72000 256800 t
+(gister)188364 v
+(, di)4858 1 210184 u
+(v)225072 v
+(ersion)229922 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [217542 -257800 254362 -248800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, en)4858 1 254362 u
+(viron\001)270760 v
+(ment switching, page\001position trap, and conditional)5976 1 72000 268800 t
+(input mechanisms pro)4949 1 72000 280800 t
+(vide the basis for user)4948 1 165078 u
+(\001de\003ned)262430 v
+(implementations.)72000 292800 w
+(The e)6326 1 72000 309600 t
+( to be)6327(xamples to be discussed are intended)6326 2 98166 u
+(useful and some)4967 1 72000 321600 t
+(what realistic, b)4967 1 141674 u
+(ut w)4966 1 210008 u
+(on\030)229874 v
+(t necessarily)4966 1 243024 u
+(co)72000 333600 w
+(v)81290 v
+(er all rele)5420 1 86140 u
+(v)129490 v
+( numerical)5420( Explicit)8750(ant contingencies.)5420 3 134240 u
+(parameters are used in the e)5229 1 72000 345600 t
+( mak)5228(xamples to)5229 2 196845 u
+(e them)5228 1 265532 u
+( and to illustrate typical v)6374(easier to read)6373 2 72000 357600 t
+(alues. In)9704 1 254116 u
+(man)72000 369600 w
+(y cases, number re)3754 1 89070 u
+(gisters w)3754 1 167102 u
+( used to)3753(ould really be)3754 2 204086 u
+( where numerical infor)4782(reduce the number of places)4781 2 72000 381600 t
+(\001)291870 v
+(mation is k)3929 1 72000 393600 t
+( concentrate conditional param\001)3928(ept, and to)3929 2 119208 u
+(eter initialization lik)4047 1 72000 405600 t
+( whether)4048(e that which depends on)4047 2 156104 u
+&12
+(tr)72000 417600 w
+(of)78220 v
+(f)85820 v
+&11
+(or)91930 v
+&12
+(nr)103590 v
+(of)112030 v
+(f)119630 v
+&11
+(is being used.)3330 1 125740 u
+[ /Dest /Anchor$T2
+ /View [/XYZ -4 369.6 0]
+/DEST pdfmark
+&13
+(T2. P)6660 1 72000 434400 t
+(age Mar)3330 1 98840 u
+(gins)135390 v
+[ /Dest /Bookmark$121
+ /View [/XYZ -4 369.6 0]
+/DEST pdfmark
+&11
+(As discussed in)5786 1 72000 451200 t
+(\0153,)146578 v
+[ /Dest /Anchor$s$5fpage
+/Rect [146578 -452200 159078 -443200]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&12
+(header)164864 v
+&11
+(and)198420 v
+&12
+(footer)218646 v
+&11
+(macros are)5787 1 248323 u
+( bottom page)4638(usually de\003ned to describe the top and)4639 2 72000 463200 t
+(mar)72000 475200 w
+(gin areas respecti)4622 1 87370 u
+(v)160784 v
+(ely)165634 v
+( is planted at page)4623( trap)4622(. A)7402 3 177204 u
+( the header)3588(position 0 for)3589 2 72000 487200 t
+(, and at)3588 1 173714 u
+&12
+(\012N)208638 v
+&11
+(\()223896 v
+&12
+(N)227226 v
+&11
+(from the page)3588 1 237484 u
+(bottom\) for the footer)4174 1 72000 499200 t
+( such de\003nitions)4175( simplest)4174(. The)7324 3 163402 u
+(might be)3330 1 72000 511200 t
+&13
+(.de hd)3330 1 86400 528000 t
+(\017\020de\003ne header)3330 1 158400 u
+(\013sp 1i)3330 1 86400 540000 t
+(..)86400 552000 w
+(\017\020end de\003nition)3330 1 158400 u
+(.de f)3330 1 86400 564000 t
+(o)105310 v
+(\017\020de\003ne f)3330 1 158400 u
+(ooter)198700 v
+(\013bp)86400 576000 w
+(..)86400 588000 w
+(\017\020end de\003nition)3330 1 158400 u
+(.wh 0 hd)3330 1 86400 600000 t
+(.wh)86400 612000 w
+(\0121i f)3330 1 105010 u
+(o)124200 v
+&11
+(which pro)6621 1 72000 628800 t
+(vide blank 1)6621 1 116241 u
+( and bottom mar)6622(inch top)6621 2 177253 u
+(\001)291870 v
+( header will occur on the)4897(gins. The)8047 2 72000 640800 t
+&12
+(\003r)230788 v
+(st)239578 v
+&11
+(page, only)4896 1 251144 u
+(if the de\003nition and trap e)6113 1 72000 652800 t
+( to the initial)6114(xist prior)6113 2 193515 u
+(pseudo\001page transition \(\0153\).)4825 1 72000 664800 t
+[ /Dest /Anchor$s$5fpage
+/Rect [169970 -665800 189130 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(In)193954 v
+(\003ll mode, the output)4824 1 207108 u
+( the footer trap w)4584(line that springs)4583 2 72000 676800 t
+(as typically forced)4584 1 217162 u
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 686800 w
+&11
+(*F)72000 700800 w
+(or e)3893 1 80328 u
+(xample: P)6557 1 94317 u
+( Ed.,)3893( Crisman,)2664(. A.)2224 3 130210 u
+&12
+( T)3750(The Compatible)3894 2 194660 u
+(ime\001Sharing)255648 v
+(System,)72000 710800 w
+&11
+( \(Description of)8166( AH9.01)2224(MIT Press, 1965, Section)8167 3 104383 u
+(R)72000 720800 w
+(UNOFF program on MIT\030)2664 1 77016 u
+(s CTSS system\).)2664 1 163224 u
+10 s
+( w)5205(out because some part or whole)5204 2 316800 156000 t
+(ord didn\030)5205 1 469005 u
+(t)508470 v
+(\003t on)5205 1 516455 u
+( an)4509(it. If)7839 2 316800 168000 t
+( follo)4508(ything in the footer and header that)4509 2 353158 u
+(ws)528890 v
+(causes a)3744 1 316800 180000 t
+&12
+(br)354828 v
+(eak)363348 v
+&11
+(, that w)3744 1 377228 u
+(ord or part w)3744 1 409336 u
+(ord will be forced)3744 1 464898 u
+( this and other e)5989(out. In)9319 2 316800 192000 t
+( lik)5988(xamples, requests)5989 2 427415 u
+(e)518452 v
+&13
+(bp)528880 v
+[ /Dest /Anchor$bp
+/Rect [528880 -193000 540000 -184000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(and)316800 204000 w
+&13
+(sp)335551 v
+[ /Dest /Anchor$sp
+/Rect [335551 -205000 345001 -196000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( in)4312(that normally cause breaks are)4311 2 349312 u
+(v)489878 v
+(ok)494678 v
+(ed using)4312 1 504578 u
+(the)316800 216000 w
+&12
+(no\001br)333207 v
+(eak)355057 v
+&11
+(control character)4186 1 373124 u
+&13
+(\013)446466 v
+&11
+(to a)4186 1 453982 u
+(v)470188 v
+( When)7216(oid this.)4186 2 474988 u
+(the header/footer design contains material requiring)5760 1 316800 228000 t
+(independent te)4195 1 316800 240000 t
+(xt processing, the en)4195 1 376945 u
+(vironment may be)4195 1 463840 u
+(switched, a)4536 1 316800 252000 t
+(v)363626 v
+( interaction with the running)4537(oiding most)4536 2 368426 u
+(te)316800 264000 w
+(xt.)323870 v
+(A more realistic e)3330 1 316800 280800 t
+(xample w)3330 1 390510 u
+(ould be)3330 1 430400 u
+&13
+(.de hd)3330 1 331200 297600 t
+(\017\020header)403200 v
+(.if t .tl)3330 1 331200 309600 t
+(\013\017\(r)361740 v
+(n\013\013\017\(r)375470 v
+(n\013)398090 v
+(\017\020tr)413640 v
+(off cut mark)3330 1 429560 u
+(.if)331200 321600 w
+(\017\017n%>1)343140 v
+(\017{\017)378290 v
+(\013sp)331200 333600 w
+(\023)347310 v
+(0.5i\0121)351176 v
+(\017\020tl base at 0.5i)3330 1 403200 u
+(.tl)331200 345600 w
+(\013\013\012 %)3330 1 343140 u
+(\012\013\013)371460 v
+(\017\020center)403200 v
+(ed page number)3330 1 438000 u
+(.ps)331200 357600 w
+(\017\020r)403200 v
+(estor)415790 v
+(e size)3330 1 436710 u
+(.ft)331200 369600 w
+(\017\020r)403200 v
+(estor)415790 v
+(e f)3330 1 436710 u
+(ont)447560 v
+(.vs)331200 381600 w
+(\017})349250 v
+(\017\020r)403200 v
+(estor)415790 v
+(e vs)3330 1 436710 u
+(\013sp)331200 393600 w
+(\023)347310 v
+(1.0i)351176 v
+(\017\020space to 1.0i)3330 1 403200 u
+(.ns)331200 405600 w
+(\017\020tur)403200 v
+(n on no\001space mode)3330 1 424710 u
+(..)331200 417600 w
+(.de f)3330 1 331200 429600 t
+(o)350110 v
+(\017\020f)403200 v
+(ooter)414610 v
+(.ps 10)3330 1 331200 441600 t
+(\017\020set f)3330 1 403200 u
+(ooter/header size)3330 1 429600 u
+(.ft R)3330 1 331200 453600 t
+(\017\020set f)3330 1 403200 u
+(ont)429600 v
+(.vs 12p)3330 1 331200 465600 t
+(\017\020set base\001line spacing)3330 1 403200 u
+(.if)331200 477600 w
+(\017\017n%=1)343140 v
+(\017{\017)378290 v
+(\013sp)331200 489600 w
+(\023)347310 v
+(\017\017n\(.pu\0120.5i\0121)351176 v
+(\017\020tl base 0.5i up)3330 1 416186 u
+(.tl)331200 501600 w
+(\013\013\012 %)3330 1 343140 u
+(\012\013\013)371460 v
+(\017})386450 v
+(\017\020\003rst page number)3330 1 399830 u
+(\013bp)331200 513600 w
+(..)331200 525600 w
+(.wh 0 hd)3330 1 331200 537600 t
+(.wh)331200 549600 w
+(\0121i f)3330 1 349810 u
+(o)369000 v
+&11
+( spacing for)5267(which sets the size, font, and base\001line)5266 2 316800 566400 t
+(the header/footer material, and ultimately restores)7260 1 316800 578400 t
+( page number)5473( material in this case is a)5472(them. The)8622 3 316800 590400 t
+(at the bottom of the)4435 1 316800 602400 t
+(\003rst page and at the top of the)4435 1 407305 u
+( If)6787(remaining pages.)3457 2 316800 614400 t
+&12
+(tr)402981 v
+(of)409201 v
+(f)416801 v
+&11
+(is used, a)3457 1 423038 u
+&12
+(cut mark)3457 1 465349 u
+&11
+(is dra)3457 1 505033 u
+(wn)527780 v
+(in the form of)5418 1 316800 626400 t
+&12
+(r)386242 v
+(oot\001en)389682 v
+&11
+(\030)415232 v
+(s at each mar)5418 1 418012 u
+(gin. The)8567 1 479066 u
+&13
+(sp)523880 v
+&11
+(\030)533330 v
+(s)536110 v
+[ /Dest /Anchor$sp
+/Rect [523880 -627400 540000 -618400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(refer to absolute positions to a)5757 1 316800 638400 t
+(v)453705 v
+( on)5758(oid dependence)5757 2 458505 u
+( in the)4258( reason for this)4259( Another)7039
+(the base\001line spacing.)4259 4 316800 650400 t
+(footer is that the footer is in)4225 1 316800 662400 t
+(v)437850 v
+(ok)442650 v
+(ed by printing a line)4225 1 452550 u
+(whose v)3478 1 316800 674400 t
+( the trap position by)3477(ertical spacing swept past)3478 2 350678 u
+( The)7848( base\001line spacing.)4698(possibly as much as the)4697 3 316800 686400 t
+&12
+(no\001)526670 v
+(space)316800 698400 w
+&11
+( the end of)4485(mode is turned on at)4486 2 344056 u
+&13
+(hd)486590 v
+&11
+(to render)4485 1 502195 u
+(inef)316800 710400 w
+(fecti)332100 v
+(v)349620 v
+( of)4309(e accidental occurrences)4308 2 354470 u
+&13
+(sp)472764 v
+[ /Dest /Anchor$sp
+/Rect [472764 -711400 482214 -702400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(at the top of)4309 1 486523 u
+(the running te)3330 1 316800 722400 t
+(xt.)373860 v
+(\001)294340 760800 w
+(68)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 68 68
+%%Page: 69 69
+save
+mark
+69 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(The abo)3672 1 72000 84000 t
+(v)105512 v
+( size, font, etc. presup\001)3673(e method of restoring)3672 2 110362 u
+( requests \(that set)4321(poses that such)4322 2 72000 96000 t
+&12
+(pr)215688 v
+(e)224208 v
+(vious)228498 v
+&11
+(v)253929 v
+(alue\) are)4321 1 258679 u
+&12
+(not)72000 108000 w
+&11
+(used in the running te)3678 1 88458 u
+( better scheme is sa)3678(xt. A)6458 2 179680 u
+(v)285910 v
+(e)290760 v
+( the current)5051(and restore both)5052 2 72000 120000 t
+&12
+(and)197227 v
+&11
+(pre)217278 v
+(vious v)5051 1 229798 u
+(alues as)5051 1 261269 u
+(sho)72000 132000 w
+(wn for size in the follo)3330 1 85640 u
+(wing:)180360 v
+&13
+(.de f)3330 1 86400 148800 t
+(o)105310 v
+(.nr s1)3330 1 86400 160800 t
+(\017\017n\(.s)114450 v
+(\017\020curr)158400 v
+(ent size)3330 1 185430 u
+(.ps)86400 172800 w
+(.nr s2)3330 1 86400 184800 t
+(\017\017n\(.s)114450 v
+(\017\020pr)158400 v
+(e)176550 v
+(vious size)3330 1 180840 u
+(.)86400 196800 w
+(\001\001\001)95560 v
+(\017\020r)158400 v
+(est of f)3330 1 170990 u
+(ooter)200720 v
+(..)86400 208800 w
+(.de hd)3330 1 86400 220800 t
+(.)86400 232800 w
+(\001\001\001)95560 v
+(\017\020header stuff)3330 1 158400 u
+(.ps)86400 244800 w
+(\017\017n\(s2)101680 v
+(\017\020r)158400 v
+(estor)170990 v
+(e pr)3330 1 191910 u
+(e)209500 v
+(vious size)3330 1 213790 u
+(.ps)86400 256800 w
+(\017\017n\(s1)101680 v
+(\017\020r)158400 v
+(estor)170990 v
+(e curr)3330 1 191910 u
+(ent size)3330 1 218380 u
+(..)86400 268800 w
+&11
+(P)72000 285600 w
+( be printed in the bottom mar)4749(age numbers may)4748 2 77410 u
+(gin)282420 v
+( footer\030)3393(by a separate macro triggered during the)3394 2 72000 297600 t
+(s page)3393 1 269037 u
+(ejection:)72000 309600 w
+&13
+(.de bn)3330 1 86400 326400 t
+(\017\020bottom number)3330 1 158400 u
+(.tl)86400 338400 w
+(\013\013\012 %)3330 1 98340 u
+(\012\013\013)126660 v
+(\017\020center)158400 v
+(ed page number)3330 1 193200 u
+(..)86400 350400 w
+(.wh)86400 362400 w
+(\0120.5i\0121v bn)3330 1 105010 u
+(\017\020tl base 0.5i up)3330 1 161730 u
+[ /Dest /Anchor$T3
+ /View [/XYZ -4 420 0]
+/DEST pdfmark
+(T3. P)6660 1 72000 384000 t
+(aragraphs and Headings)3330 1 98840 u
+[ /Dest /Bookmark$122
+ /View [/XYZ -4 420 0]
+/DEST pdfmark
+&11
+(The housek)7171 1 72000 400800 t
+( with starting a ne)7172(eeping associated)7171 2 122951 u
+(w)287980 v
+( in a paragraph macro)4831(paragraph should be collected)4832 2 72000 412800 t
+(that, for e)3504 1 72000 424800 t
+( preparagraph spac\001)3505(xample, does the desired)3504 2 112458 u
+( base\001line spacing,)5385(ing, forces the correct font, size,)5386 2 72000 436800 t
+( for)6298(and indent, checks that enough space remains)6297 2 72000 448800 t
+&12
+(mor)72000 460800 w
+(e than one)3330 1 87740 u
+&11
+(line, and requests a temporary indent.)3330 1 134390 u
+&13
+(.de pg)3330 1 86400 477600 t
+(\017\020paragraph)158400 v
+(.br)86400 489600 w
+(\017\020br)158400 v
+(eak)176550 v
+(.ft R)3330 1 86400 501600 t
+(\017\020f)158400 v
+(or)169810 v
+(ce f)3330 1 179070 u
+(ont,)194360 v
+(.ps 10)3330 1 86400 513600 t
+(\017\020size,)158400 v
+(.vs 12p)3330 1 86400 525600 t
+(\017\020spacing,)158400 v
+(.in 0)3330 1 86400 537600 t
+(\017\020and indent)3330 1 158400 u
+(.sp 0.4)3330 1 86400 549600 t
+(\017\020pr)158400 v
+(espace)176550 v
+(.ne 1+\017\017n\(.V)3330 1 86400 561600 t
+(u)136180 v
+(\017\020want mor)3330 1 158400 u
+(e than 1 line)3330 1 208760 u
+(.ti 0.2i)3330 1 86400 573600 t
+(\017\020temp indent)3330 1 158400 u
+(..)86400 585600 w
+&11
+(The)72000 602400 w
+(\003rst break in)3828 1 91378 u
+&13
+(pg)148412 v
+&11
+(will force out an)3828 1 162800 u
+(y pre)3828 1 232454 u
+(vious par)3828 1 253802 u
+(\001)291870 v
+( must occur before the)4022(tial lines, and)4023 2 72000 614400 t
+&13
+(vs)228186 v
+[ /Dest /Anchor$vs
+/Rect [228186 -615400 237076 -606400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( forcing)4022(. The)7172 2 237076 u
+(of font, etc. is partly a defense ag)3553 1 72000 626400 t
+(ainst prior error and)3553 1 212341 u
+(partly to permit things lik)3748 1 72000 638400 t
+(e section heading macros to)3747 1 179122 u
+( prespacing parameter)4510( The)7660(set parameters only once.)4510 3 72000 650400 t
+(is suitable for)4232 1 72000 662400 t
+&12
+(tr)134136 v
+(of)140356 v
+(f;)147956 v
+&11
+(a lar)4232 1 158298 u
+( big as)4231(ger space, at least as)4232 2 177340 u
+(the output de)4620 1 72000 674400 t
+(vice v)4620 1 128210 u
+(ertical resolution, w)4620 1 154340 u
+(ould be more)4620 1 238190 u
+(suitable in)4934 1 72000 686400 t
+&12
+(nr)120758 v
+(of)129198 v
+(f)136798 v
+(.)139428 v
+&11
+( space to)4933(The choice of remaining)4934 2 150012 u
+(test for in the)4100 1 72000 698400 t
+&13
+(ne)133950 v
+[ /Dest /Anchor$ne
+/Rect [133950 -699400 143950 -690400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is the smallest amount greater than)4100 1 148050 u
+(one line \(the)3330 1 72000 710400 t
+&13
+(.V)126980 v
+[ /Dest /Anchor$n$5f$2eV
+/Rect [126980 -711400 136700 -702400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(is the a)3330 1 140030 u
+(v)169820 v
+(ailable v)3330 1 174570 u
+(ertical resolution\).)3330 1 209410 u
+( section headings)5724(A macro to automatically number)5723 2 316800 84000 t
+(might look lik)3330 1 316800 96000 t
+(e:)375040 v
+&13
+(.de sc)3330 1 331200 112800 t
+(\017\020section)403200 v
+(.)331200 124800 w
+(\001\001\001)340360 v
+(\017\020f)403200 v
+(or)414610 v
+(ce f)3330 1 423870 u
+(ont, etc.)3330 1 439160 u
+(.sp 0.4)3330 1 331200 136800 t
+(\017\020pr)403200 v
+(espace)421350 v
+(.ne 2.4+\017\017n\(.V)3330 1 331200 148800 t
+(u)388480 v
+(\017\020want 2.4+ lines)3330 1 397370 u
+(.f)331200 160800 w
+(i)336780 v
+(\017\017n+S.)331200 172800 w
+(..)331200 184800 w
+(.nr S 0 1)3330 1 331200 196800 t
+(\017\020init S)3330 1 403200 u
+&11
+(The usage is)3335 1 316800 213600 t
+&13
+(.sc)371795 v
+&11
+(, follo)3335 1 382625 u
+(wed by the section heading te)3336 1 407100 u
+(xt,)529720 v
+(follo)316800 225600 w
+(wed by)3953 1 335440 u
+&13
+(.pg)370006 v
+&11
+(. The)7102 1 383066 u
+&13
+(ne)412170 v
+[ /Dest /Anchor$ne
+/Rect [412170 -226600 422170 -217600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(test v)3952 1 426122 u
+(alue includes one line)3952 1 448714 u
+(of heading, 0.4 line in the follo)3763 1 316800 237600 t
+(wing)448008 v
+&13
+(pg)471771 v
+&11
+(, and one line)3763 1 482331 u
+(of the paragraph te)4077 1 316800 249600 t
+( w)4077(xt. A)6857 2 396631 u
+( of the ne)4076(ord consisting)4077 2 432185 u
+(xt)532220 v
+(section number and a period is produced to be)3771 1 316800 261600 t
+(gin the)3772 1 511228 u
+( of the number may be set)4423( format)4424( The)7574(heading line.)4424 4 316800 273600 t
+(by)316800 285600 w
+&13
+(af)330130 v
+[ /Dest /Anchor$af
+/Rect [330130 -286600 338460 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(\(\0158\).)341790 v
+[ /Dest /Anchor$s$5freg
+/Rect [341790 -286600 360950 -277600]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+( labeled, indented para\001)4392(Another common form is the)4391 2 316800 302400 t
+(graph, where the label protrudes left into the indent)4745 1 316800 314400 t
+(space.)316800 326400 w
+&13
+(.de lp)3330 1 331200 343200 t
+(\017\020labeled paragraph)3330 1 403200 u
+(.pg)331200 355200 w
+(.in 0.5i)3330 1 331200 367200 t
+(\017\020paragraph indent)3330 1 403200 u
+(.ta 0.2i 0.5i)3330 1 331200 379200 t
+(\017\020label, paragraph)3330 1 403200 u
+(.ti 0)3330 1 331200 391200 t
+(\017t\017\017$1\017t\017c)331200 403200 w
+(\017\020\004o)403200 v
+(w into paragraph)3330 1 421990 u
+(..)331200 415200 w
+&11
+( is)5337(The intended usage)5336 2 316800 432000 t
+(\020)417576 v
+&13
+(.lp)421656 v
+&12
+(label)437833 v
+&11
+(\020;)459499 v
+&12
+(label)471696 v
+&11
+(will be)5337 1 497033 u
+(gin)527220 v
+(at 0.2)5529 1 316800 444000 t
+(inch, and cannot e)5529 1 343715 u
+(xceed a length of 0.3)5528 1 425412 u
+(inch)522780 v
+( label could)3622( The)6772(without intruding into the paragraph.)3621 3 316800 456000 t
+( ag)4609(be right adjusted)4610 2 316800 468000 t
+(ainst 0.4)4609 1 401679 u
+(inch by setting the tabs)4609 1 439344 u
+(instead with)4591 1 316800 480000 t
+&13
+(.ta)372092 v
+(0.4iR)386252 v
+(0.5i)412082 v
+&11
+( last line of)4591(. The)7741 2 427362 u
+&13
+(lp)508738 v
+&11
+(ends)521670 v
+(with)316800 492000 w
+&13
+(\017c)338830 v
+&11
+(so that it will become a part of the)4249 1 350300 u
+(\003rst line)4249 1 505191 u
+(of the te)3330 1 316800 504000 t
+(xt that follo)3330 1 351080 u
+(ws.)399160 v
+[ /Dest /Anchor$T4
+ /View [/XYZ -4 283.2 0]
+/DEST pdfmark
+&13
+( Column Output)3330(T4. Multiple)6660 2 316800 520800 t
+[ /Dest /Bookmark$123
+ /View [/XYZ -4 283.2 0]
+/DEST pdfmark
+&11
+( multiple column pages requires the)3636(The production of)3635 2 316800 537600 t
+(footer macro to decide whether it w)5714 1 316800 549600 t
+(as in)5713 1 478724 u
+(v)500147 v
+(ok)504947 v
+(ed by)5713 1 514847 u
+( it will be)3536(other than the last column, so that)3535 2 316800 561600 t
+(gin a ne)3536 1 499298 u
+(w)532780 v
+(column rather than produce the bottom mar)4363 1 316800 573600 t
+(gin. The)7512 1 501658 u
+(header can initialize a column re)4036 1 316800 585600 t
+( the footer)4037(gister that)4036 2 454570 u
+( follo)5404( The)8554( test.)5404(will increment and)5405 4 316800 597600 t
+(wing is arranged)5404 1 467542 u
+(for tw)3330 1 316800 609600 t
+(o columns, b)3330 1 341690 u
+(ut is easily modi\003ed for more.)3330 1 394540 u
+&13
+(.de hd)3330 1 331200 626400 t
+(\017\020header)403200 v
+(.)331200 638400 w
+(\001\001\001)340360 v
+(.nr cl 0 1)3330 1 331200 650400 t
+(\017\020init column count)3330 1 403200 u
+(.mk)331200 662400 w
+(\017\020mark top of text)3330 1 403200 u
+(..)331200 674400 w
+(.de f)3330 1 331200 686400 t
+(o)350110 v
+(\017\020f)403200 v
+(ooter)414610 v
+(.ie)331200 698400 w
+(\017\017n+\(cl<2)344250 v
+(\017{\017)385650 v
+(.po +3.4i)3330 1 331200 710400 t
+(\017\020next column; 3.1+0.3)3330 1 403200 u
+(.rt)331200 722400 w
+(\017\020back to mark)3330 1 403200 u
+&11
+(\001)294340 760800 w
+(69)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 69 69
+%%Page: 70 70
+save
+mark
+70 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(.ns)86400 84000 w
+(\017})101680 v
+(\017\020no\001space mode)3330 1 158400 u
+(.el)86400 96000 w
+(\017{\017)99450 v
+(.po)86400 108000 w
+(\017\017nMu)102790 v
+(\017\020r)158400 v
+(estor)170990 v
+(e left mar)3330 1 191910 u
+(gin)234560 v
+(.)86400 120000 w
+(\001\001\001)95560 v
+(\013bp)86400 132000 w
+(\017})104180 v
+(..)86400 144000 w
+(.ll 3.1i)3330 1 86400 156000 t
+(\017\020column width)3330 1 158400 u
+(.nr M)3330 1 86400 168000 t
+(\017\017n\(.o)115000 v
+(\017\020sa)158400 v
+(v)175370 v
+(e left mar)3330 1 180270 u
+(gin)222920 v
+&11
+(T)72000 184800 w
+(ypically a portion of the top of the)4625 1 77310 u
+(\003rst page con\001)4625 1 233740 u
+(tains full width te)3799 1 72000 196800 t
+(xt; the request for the narro)3799 1 146027 u
+(wer line)3798 1 261412 u
+(length, as well as another)3890 1 72000 208800 t
+&13
+(.mk)182820 v
+&11
+(w)203100 v
+(ould be made where)3890 1 210220 u
+(the tw)3330 1 72000 220800 t
+(o column output w)3330 1 97450 u
+(as to be)3330 1 175120 u
+(gin.)207180 v
+[ /Dest /Anchor$T5
+ /View [/XYZ -4 566.4 0]
+/DEST pdfmark
+&13
+(T5. F)6660 1 72000 237600 t
+(ootnote Pr)3330 1 98690 u
+(ocessing)144050 v
+[ /Dest /Bookmark$124
+ /View [/XYZ -4 566.4 0]
+/DEST pdfmark
+&11
+( to be described is used by)4779(The footnote mechanism)4778 2 72000 254400 t
+( in the input te)3952(imbedding the footnotes)3953 2 72000 266400 t
+(xt at the point)3952 1 235564 u
+(of reference, demarcated by an initial)3511 1 72000 278400 t
+&13
+(.fn)229956 v
+&11
+( termi\001)3512(and a)3511 2 244857 u
+(nal)72000 290400 w
+&13
+(.ef)87550 v
+&11
+(:)97820 v
+&13
+(.fn)86400 307200 w
+&12
+(F)86400 319200 w
+(ootnote te)3330 1 91460 u
+(xt and contr)3330 1 131810 u
+(ol lines...)3330 1 181350 u
+&13
+(.ef)86400 331200 w
+&11
+(In the follo)3458 1 72000 348000 t
+(wing, footnotes are processed in a separate)3459 1 118106 u
+(en)72000 360000 w
+(vironment and di)6449 1 81040 u
+(v)157018 v
+( printing in the)6448(erted for later)6449 2 161868 u
+(space immediately prior to the bottom mar)3727 1 72000 372000 t
+(gin. There)6878 1 249722 u
+(is pro)3526 1 72000 384000 t
+( the last collected foot\001)3525(vision for the case where)3526 2 95376 u
+(note doesn\030)3330 1 72000 396000 t
+(t completely)3330 1 119030 u
+(\003t in the a)3330 1 172910 u
+(v)215480 v
+(ailable space.)3330 1 220230 u
+&13
+(.de hd)3330 1 86400 412800 t
+(\017\020header)158400 v
+(.)86400 424800 w
+(\001\001\001)95560 v
+(.nr x 0 1)3330 1 86400 436800 t
+(\017\020init f)3330 1 158400 u
+(ootnote count)3330 1 187590 u
+(.nr y 0\012\017\017nb)3330 1 86400 448800 t
+(\017\020curr)158400 v
+(ent f)3330 1 185430 u
+(ooter place)3330 1 205170 u
+(.ch f)3330 1 86400 460800 t
+(o)105310 v
+(\012\017\017nb)113640 v
+(u)135120 v
+(\017\020r)158400 v
+(eset f)3330 1 170990 u
+(ooter trap)3330 1 193500 u
+(.if)86400 472800 w
+(\017\017n\(dn .fz)3330 1 98340 u
+(\017\020lefto)158400 v
+(v)185510 v
+(er f)3330 1 190410 u
+(ootnote)205700 v
+(..)86400 484800 w
+(.de f)3330 1 86400 496800 t
+(o)105310 v
+(\017\020f)158400 v
+(ooter)169810 v
+(.nr dn 0)3330 1 86400 508800 t
+(\017\020zer)158400 v
+(o last di)3330 1 179870 u
+(v)214770 v
+(ersion)219670 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [206530 -509800 245780 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(size)249110 v
+(.if)86400 520800 w
+(\017\017nx)98340 v
+(\017{\017)117790 v
+(.e)86400 532800 w
+(v 1)3330 1 93190 u
+(\017\020expand f)3330 1 158400 u
+(ootnotes in e)3330 1 204260 u
+(v1)259100 v
+(.nf)86400 544800 w
+(\017\020r)158400 v
+(etain v)3330 1 170990 u
+(ertical size)3330 1 200330 u
+(.FN)86400 556800 w
+(\017\020f)158400 v
+(ootnotes)169810 v
+(.rm FN)3330 1 86400 568800 t
+(\017\020delete it)3330 1 158400 u
+(.if)86400 580800 w
+(\020\017\017n\(.z\020fy\020 .di)3330 1 98340 u
+(\017\020end o)3330 1 162210 u
+(v)194330 v
+(er\004o)199230 v
+(w di)3330 1 218570 u
+(v)237360 v
+(ersion)242260 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [229120 -581800 268370 -572800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.nr x 0)3330 1 86400 592800 t
+(\017\020disable fx)3330 1 158400 u
+(.e)86400 604800 w
+(v)93190 v
+(\017})104850 v
+(\017\020pop en)3330 1 158400 u
+(vir)195780 v
+(onment)207820 v
+(.)86400 616800 w
+(\001\001\001)95560 v
+(\013bp)86400 628800 w
+(..)86400 640800 w
+(.de fx)3330 1 86400 652800 t
+(\017\020pr)158400 v
+(ocess f)3330 1 176550 u
+(ootnote o)3330 1 204620 u
+(v)244510 v
+(er\004o)249410 v
+(w)268750 v
+(.if)86400 664800 w
+(\017\017nx .di fy)3330 1 98340 u
+(\017\020di)158400 v
+(v)174970 v
+(ert o)3330 1 179870 u
+(v)200310 v
+(er\004o)205210 v
+(w)224550 v
+(..)86400 676800 w
+(.de fn)3330 1 86400 688800 t
+(\017\020start f)3330 1 158400 u
+(ootnote)193130 v
+(.da FN)3330 1 86400 700800 t
+(\017\020di)158400 v
+(v)174970 v
+(ert \(append\) f)3330 1 179870 u
+(ootnote)240160 v
+(.e)86400 712800 w
+(v 1)3330 1 93190 u
+(\017\020in en)3330 1 158400 u
+(vir)188000 v
+(onment 1)3330 1 200040 u
+(.if)86400 724800 w
+(\017\017n+x=1 .fs)3330 1 98340 u
+(\017\020if)161730 v
+(\003rst, include separator)3330 1 179500 u
+(.f)331200 84000 w
+(i)336780 v
+(\017\020f)403200 v
+(ill mode)3330 1 414610 u
+(..)331200 96000 w
+(.de ef)3330 1 331200 108000 t
+(\017\020end f)3330 1 403200 u
+(ootnote)433500 v
+(.br)331200 120000 w
+(\017\020\003nish output)3330 1 403200 u
+(.nr z)3330 1 331200 132000 t
+(\017\017n\(.v)354800 v
+(\017\020sa)403200 v
+(v)420170 v
+(e spacing)3330 1 425070 u
+(.e)331200 144000 w
+(v)337990 v
+(\017\020pop e)3330 1 403200 u
+(v)435270 v
+(.di)331200 156000 w
+(\017\020end di)3330 1 403200 u
+(v)438660 v
+(ersion)443560 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [430420 -157000 469670 -148000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(.nr y)3330 1 331200 168000 t
+(\012\017\017n\(dn)355360 v
+(\017\020new f)3330 1 403200 u
+(ooter position,)3330 1 435160 u
+(.if)331200 180000 w
+(\017\017nx=1 .nr y)3330 1 343140 u
+(\012\(\017\017n\(.v\012\017\017nz\))397450 v
+(\017)454950 v
+(\017\020uncertainty corr)3330 1 403200 192000 t
+(ection)482440 v
+(.ch f)3330 1 331200 204000 t
+(o)350110 v
+(\017\017nyu)358440 v
+(\017\020y is negati)3330 1 403200 u
+(v)455870 v
+(e)460770 v
+(.if \()3330 1 331200 216000 t
+(\017\017n\(nl+1v\)>\()348136 v
+(\017\017n\(.p+\017\017ny\))400652 v
+(\017)451642 v
+(.ch f)3330 1 331200 228000 t
+(o)350110 v
+(\017\017n\(nlu+1v)358440 v
+(\017\020it didn\030t)3330 1 406530 u
+(\003t)453750 v
+(..)331200 240000 w
+(.de fs)3330 1 331200 252000 t
+(\017\020separator)403200 v
+(\017l\0131i\013)331200 264000 w
+(\017\0201 inch rule)3330 1 403200 u
+(.br)331200 276000 w
+(..)331200 288000 w
+(.de fz)3330 1 331200 300000 t
+(\017\020get lefto)3330 1 403200 u
+(v)446410 v
+(er f)3330 1 451310 u
+(ootnote)466600 v
+(.fn)331200 312000 w
+(.nf)331200 324000 w
+(\017\020r)403200 v
+(etain v)3330 1 415790 u
+(ertical size)3330 1 445130 u
+(.fy)331200 336000 w
+(\017\020wher)403200 v
+(e fx put it)3330 1 433010 u
+(.ef)331200 348000 w
+(..)331200 360000 w
+(.nr b 1.0i)3330 1 331200 372000 t
+(\017\020bottom mar)3330 1 403200 u
+(gin size)3330 1 463080 u
+(.wh 0 hd)3330 1 331200 384000 t
+(\017\020header trap)3330 1 403200 u
+(.wh 12i f)3330 1 331200 396000 t
+(o)369000 v
+(\017\020f)403200 v
+(ooter trap, temp position)3330 1 414610 u
+(.wh)331200 408000 w
+(\012\017\017nb)349810 v
+(u fx)3330 1 371290 u
+(\017\020fx at f)3330 1 403200 u
+(ooter position)3330 1 437930 u
+(.ch f)3330 1 331200 420000 t
+(o)350110 v
+(\012\017\017nb)358440 v
+(u)379920 v
+(\017\020conceal fx with f)3330 1 403200 u
+(o)483480 v
+&11
+(The header)4207 1 316800 436800 t
+&13
+(hd)367414 v
+&11
+( footnote count re)4208(initializes a)4207 2 382741 u
+(gister)506072 v
+&13
+(x)532500 v
+&11
+(,)537500 v
+(and sets both the current footer trap position re)5145 1 316800 448800 t
+(gis\001)525000 v
+(ter)316800 460800 w
+&13
+(y)331783 v
+&11
+(and the footer trap itself to a nominal position)4433 1 341216 u
+( re)3971(speci\003ed in)3972 2 316800 472800 t
+(gister)375693 v
+&13
+(b)401884 v
+&11
+( addition, if the re)3971(. In)7301 2 407444 u
+(gister)502689 v
+&13
+(dn)528880 v
+[ /Dest /Anchor$n$5fdn
+/Rect [528880 -473800 540000 -464800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(indicates a lefto)4801 1 316800 484800 t
+(v)384572 v
+(er footnote,)4801 1 389422 u
+&13
+(fz)442624 v
+&11
+(is in)4801 1 455195 u
+(v)474046 v
+(ok)478846 v
+(ed to repro\001)4802 1 488746 u
+( footnote start macro)4630( The)7780(cess it.)4630 3 316800 496800 t
+&13
+(fn)463540 v
+&11
+(be)477060 v
+(gins a di)4630 1 486350 u
+(v)524250 v
+(er)529100 v
+(\001)536670 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [516720 -497800 540000 -488800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(sion)316800 508800 w
+[ /Dest /Anchor$c$5fdiversion
+/Rect [316800 -509800 333470 -500800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(\(append\) in en)5003 1 338472 u
+(vironment 1, and increments the)5003 1 400838 u
+(count)316800 520800 w
+&13
+(x)342982 v
+&11
+(; if the count is one, the footnote separator)3962 1 347982 u
+&13
+(fs)532780 v
+&11
+( k)5268( separator is)5267( The)8417(is interpolated.)5267 4 316800 532800 t
+(ept in a separate)5268 1 466996 u
+( footnote end)4654( The)7804( user rede\003nition.)4654(macro to permit)4655 4 316800 544800 t
+(macro)316800 556800 w
+&13
+(ef)346077 v
+&11
+(restores the pre)4287 1 358134 u
+(vious en)4287 1 422548 u
+( ends)4288(vironment and)4287 2 457545 u
+(the di)5152 1 316800 568800 t
+(v)341702 v
+(ersion)346552 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [334172 -569800 370992 -560800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(after sa)5151 1 376144 u
+(ving the spacing size in re)5151 1 407745 u
+(gis\001)525000 v
+(ter)316800 580800 w
+&13
+(z)331408 v
+&11
+(.)335848 v
+&13
+(y)345736 v
+&11
+( the foot\001)4059(is then decremented by the size of)4058 2 354794 u
+(note, a)4365 1 316800 592800 t
+(v)345125 v
+(ailable in)4365 1 349875 u
+&13
+(dn)393045 v
+[ /Dest /Anchor$n$5fdn
+/Rect [393045 -593800 404165 -584800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+(; then on the)4365 1 404165 u
+(\003rst footnote,)4365 1 463845 u
+&13
+(y)523965 v
+&11
+(is)533330 v
+( by the dif)3383(further decremented)3382 2 316800 604800 t
+(ference in v)3383 1 441711 u
+(ertical base\001)3383 1 490527 u
+(line spacings of the tw)4023 1 316800 616800 t
+(o en)4022 1 412782 u
+(vironments, to pre)4022 1 430844 u
+(v)506688 v
+(ent the)4022 1 511538 u
+( the last)5197(late triggering the footer trap from causing)5196 2 316800 628800 t
+( to o)6808(line of the combined footnotes)6809 2 316800 640800 t
+(v)482492 v
+(er\004o)487342 v
+(w)505422 v
+(. The)9958 1 511992 u
+(footer trap is then set to the lo)5849 1 316800 652800 t
+(wer \(on the page\))5849 1 459703 u
+(of)316800 664800 w
+&13
+(y)329758 v
+&11
+(or the current page position \()4628 1 339386 u
+&13
+(nl)465836 v
+&11
+(\))474176 v
+[ /Dest /Anchor$n$5fnl
+/Rect [462506 -665800 477506 -656800]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(plus one line,)4628 1 482134 u
+(to allo)4570 1 316800 676800 t
+( indicated)4570( If)7900(w for printing the reference line.)4570 3 343900 u
+(by)316800 688800 w
+&13
+(x)331066 v
+&11
+(, the footer)4266 1 336066 u
+&13
+(f)387464 v
+(o)390544 v
+&11
+(rereads the footnotes from)4266 1 399810 u
+&13
+(FN)514624 v
+&11
+(in)532220 v
+( en)3798(no\003ll mode in)3797 2 316800 700800 t
+(vironment 1, and deletes)3798 1 388352 u
+&13
+(FN)494364 v
+&11
+( the)3798(. If)7128 2 507694 u
+(footnotes were too lar)4480 1 316800 712800 t
+(ge to)4480 1 410040 u
+(\003t, the macro)4480 1 436220 u
+&13
+(fx)497710 v
+&11
+(will be)4480 1 510520 u
+(trap\001in)316800 724800 w
+(v)343060 v
+(ok)347860 v
+(ed to redi)4256 1 357760 u
+(v)398792 v
+(ert the o)4256 1 403642 u
+(v)439774 v
+(er\004o)444624 v
+(w into)4256 1 462704 u
+&13
+(fy)493996 v
+&11
+(, and the)4257 1 502326 u
+(\001)294340 760800 w
+(70)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 70 70
+%%Page: 71 71
+save
+mark
+71 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+(re)72000 84000 w
+(gister)79620 v
+&13
+(dn)106639 v
+[ /Dest /Anchor$n$5fdn
+/Rect [106639 -85000 117759 -76000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+&11
+( header whether)4798(will later indicate to the)4799 2 122558 u
+&13
+(fy)72000 96000 w
+&11
+(is empty)4087 1 84417 u
+(. Both)7417 1 119524 u
+&13
+(f)152978 v
+(o)156058 v
+&11
+(and)165145 v
+&13
+(fx)183672 v
+&11
+( in the nom\001)4088(are planted)4087 2 196089 u
+(inal footer trap position in an order that causes)4101 1 72000 108000 t
+&13
+(fx)274989 v
+&11
+(to)287420 v
+(be concealed unless the)3806 1 72000 120000 t
+&13
+(f)173865 v
+(o)176945 v
+&11
+(trap is mo)3807 1 185752 u
+(v)228216 v
+( footer)3807(ed. The)6957 2 233066 u
+( o)5158(then terminates the)5159 2 72000 132000 t
+(v)163426 v
+(er\004o)168276 v
+(w di)5158 1 186356 u
+(v)206264 v
+(ersion)211114 v
+[ /Dest /Anchor$c$5fdiversion
+/Rect [198734 -133000 235554 -124000]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(, if necessary)5158 1 235554 u
+(,)292700 v
+(and zeros)5857 1 72000 144000 t
+&13
+(x)119254 v
+&11
+(to disable)5857 1 130111 u
+&13
+(fx)177936 v
+&11
+(, because the uncertainty)5858 1 186266 u
+(correction together with a not\001too\001late triggering of)5540 1 72000 156000 t
+( result in the footnote rereading)4294(the footer can)4293 2 72000 168000 t
+(\003nish\001)269640 v
+(ing before reaching the)3330 1 72000 180000 t
+&13
+(fx)170290 v
+&11
+(trap.)181950 v
+(A good e)5515 1 72000 196800 t
+(x)114540 v
+( student is to combine the)5516(ercise for the)5515 2 119390 u
+(multiple\001column and footnote mechanisms.)3330 1 72000 208800 t
+[ /Dest /Anchor$T6
+ /View [/XYZ -4 578.4 0]
+/DEST pdfmark
+&13
+( Last P)3330(T6. The)6360 2 72000 225600 t
+(age)140760 v
+[ /Dest /Bookmark$125
+ /View [/XYZ -4 578.4 0]
+/DEST pdfmark
+&11
+( input)5898(After the last)5897 2 72000 242400 t
+(\003le has ended,)5898 1 163360 u
+&12
+(nr)233544 v
+(of)241984 v
+(f)249584 v
+&11
+(and)258262 v
+&12
+(tr)278600 v
+(of)284820 v
+(f)292420 v
+&11
+(in)72000 254400 w
+(v)79380 v
+(ok)84180 v
+(e the)6873 1 94080 u
+&12
+(end macr)6872 1 124486 u
+(o)165898 v
+&11
+(\(\0157\),)177770 v
+[ /Dest /Anchor$s$5fmac
+/Rect [177770 -255400 196930 -246400]
+/Color [0 0 1]
+/BS << /S/U/W 0.1 >>
+/Subtype /Link
+/ANN pdfmark
+(if an)6872 1 203802 u
+(y)226074 v
+(, and when it)6872 1 230424 u
+( the)4087( During)7417(\003nishes, eject the remainder of the page.)4086 3 72000 266400 t
+(eject, an)4937 1 72000 278400 t
+( processed normally)4936(y traps encountered are)4937 2 107607 u
+(.)292700 v
+(At the)5507 1 72000 290400 t
+&12
+(end)105234 v
+&11
+( last page, processing terminates)5508(of this)5507 2 125181 u
+&12
+(unless)72000 302400 w
+&11
+(a partial line, w)4909 1 101909 u
+( w)4908(ord, or partial)4909 2 171246 u
+(ord remains.)4908 1 242802 u
+(If it is desired that another page be started, the end\001)4297 1 72000 314400 t
+(macro)72000 326400 w
+&13
+(.de en)3330 1 86400 343200 t
+(\017\020end\001macr)158400 v
+(o)207650 v
+(\017c)86400 355200 w
+(\013bp)86400 367200 w
+(..)86400 379200 w
+(.em en)3330 1 86400 391200 t
+&11
+( null partial w)5414(will deposit a)5413 2 72000 408000 t
+(ord, and ef)5414 1 196188 u
+(fect another)5414 1 244806 u
+(last page.)3330 1 72000 420000 t
+(\001)294340 760800 w
+(71)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 71 71
+%%Page: 72 72
+save
+mark
+72 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$126
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$Table$20I
+ /View [/XYZ -4 678 0]
+/DEST pdfmark
+12 @13 f
+(T)287550 128000 w
+(able I)3996 1 294450 u
+(F)252486 156000 w
+(ont Style Examples)3996 1 259518 u
+10 @11 f
+(The follo)5119 1 72000 204000 t
+(wing fonts are printed in 12\001point, with a v)5119 1 111309 u
+( of 14\001point, and with non\001alphanumeric)5120(ertical spacing)5119 2 304041 u
+(characters separated by)4830 1 72000 216000 t
+(\007)174780 v
+( includes the historical)4829( that this table only)4830( Note)8160
+(em space.)4830 4 183946 u
+9 s
+(CA)441382 v
+(T)452884 v
+10 @12 f
+(tr)463212 v
+(of)469432 v
+(f)477032 v
+&11
+(character set;)4829 1 484641 u
+(PostScript de)3330 1 72000 228000 t
+(vices can usually print a much lar)3330 1 125640 u
+(ger)264860 v
+(, although font\001dependent set of characters.)3330 1 277230 u
+12 s
+(T)72000 278000 w
+(imes Roman)3996 1 78912 u
+(abcdefghijklmnopqrstuvwxyz)72000 299000 w
+(ABCDEFGHIJKLMNOPQRSTUVWXYZ)72000 313000 w
+(1234567890)72000 327000 w
+(! $ % & \( \))3000 1 72000 341000 t
+(\027)127320 v
+( +)3000(\030 *)2112 2 134316 u
+(\012 . , / : ; = ? [ ])3000 1 159192 u
+(\023)231288 v
+(\022 )3996 1 72000 355000 t
+12 @11 f
+80196 355000 m
+5856 build_sq
+86052 355000 m
+(\006)90048 v
+(\001)106044 v
+&19
+(\011)114036 v
+&11
+(\007)124032 v
+(\011)137028 v
+(\010)150024 v
+(\003)163020 v
+(\004)173688 v
+(\021)208332 v
+(\005)216324 v
+&20
+(\130)226320 v
+&11
+(\002)233280 v
+&20
+(\171)243276 v
+(\172)256752 v
+&12
+(T)72000 383000 w
+(imes Italic)3996 1 78012 u
+(abcdefghijklmnopqr)72000 404000 w
+(stuvwxyz)168540 v
+(ABCDEFGHIJKLMNOPQRSTUVWXYZ)72000 418000 w
+(1234567890)72000 432000 w
+(! $ % & \( \))3000 1 72000 446000 t
+(\027)127320 v
+( +)3000(\030 *)1668 2 134316 u
+(\012 . , / : ; = ? [ ])3000 1 160080 u
+(\023)236844 v
+(\022 )3996 1 72000 460000 t
+80196 460000 m
+5856 build_sq
+86052 460000 m
+(\006)90048 v
+(\001)104712 v
+&19
+(\011)112704 v
+&12
+(\007)122700 v
+(\011)135696 v
+(\010)148692 v
+(\003)161688 v
+(\004)171684 v
+(\021)205656 v
+(\005)213648 v
+&20
+(\130)223644 v
+&12
+(\002)230604 v
+&20
+(\171)240600 v
+(\172)254076 v
+&13
+(T)72000 488000 w
+(imes Bold)3996 1 79788 u
+(abcdefghijklmnopqrstuvwxyz)72000 509000 w
+(ABCDEFGHIJKLMNOPQRSTUVWXYZ)72000 523000 w
+(1234567890)72000 537000 w
+(! $ % & \( \))3000 1 72000 551000 t
+(\027)129984 v
+( +)3000(\030 *)2112 2 136980 u
+(\012 . , / : ; = ? [ ])3000 1 161928 u
+(\023)236088 v
+(\022 )3996 1 72000 565000 t
+80196 565000 m
+5856 build_sq
+86052 565000 m
+(\006)90048 v
+(\001)106044 v
+&19
+(\011)114036 v
+&13
+(\007)124032 v
+(\011)137028 v
+(\010)150024 v
+(\003)163020 v
+(\004)173688 v
+(\021)208332 v
+(\005)216324 v
+&20
+(\130)226320 v
+&13
+(\002)233280 v
+&20
+(\171)243276 v
+(\172)256752 v
+&11
+(Special F)3996 1 72000 593000 t
+(ont)117816 v
+(\020)72000 614000 w
+(\013)79896 v
+(\017 ^)3000 1 86892 u
+&20
+(\044)100224 v
+&11
+(\014 ~)3000 1 109224 u
+&20
+(\132)123216 v
+&11
+(< > { } # @)3000 1 128220 u
+&20
+(\006)188328 v
+(\007)197916 v
+(\010)207504 v
+(\005)217092 v
+(\052)72000 628000 w
+(\100)82572 v
+(\105)92160 v
+(\102)100092 v
+(\103)109020 v
+(\126)117288 v
+(\106)126216 v
+(\116)136452 v
+(\107)145704 v
+(\110)152652 v
+(\111)162240 v
+(\112)171828 v
+(\113)181740 v
+(\124)190992 v
+(\114)199908 v
+(\115)209496 v
+(\117)219084 v
+(\120)228672 v
+(\217)238908 v
+(\121)247176 v
+(\122)255444 v
+(\104)265356 v
+(\101)274608 v
+(\125)284196 v
+(\123)295428 v
+(\017)72000 642000 w
+(\014)82236 v
+(\031)92580 v
+(\023)104472 v
+(\036)115704 v
+(\027)126444 v
+(\032)138660 v
+(\034)148764 v
+(\016)160044 v
+(\037)172200 v
+(\035)184740 v
+(\200)72000 656000 w
+(\047)81600 v
+(\144)90600 v
+(\131)100188 v
+(\153)109776 v
+(\127 )3000 1 119364 u
+12 @20 f
+128952 656000 m
+6444 build_~=
+135396 656000 m
+(\152)138396 v
+(\001)147984 v
+(\136)162828 v
+(\140)177672 v
+(\141)187908 v
+(\145)198144 v
+(\151)207732 v
+(\143)217320 v
+(\162)226908 v
+(\161)239124 v
+(\165)251340 v
+(\163)262896 v
+(\166)274452 v
+(\164)286008 v
+(\134)297564 v
+(\147)309324 v
+&11
+(\015)72000 670000 w
+&20
+(\170)81000 v
+(\201)92556 v
+(\211)104112 v
+(\146)113112 v
+(\160)124668 v
+(\167)137544 v
+&11
+(\016)149100 v
+&20
+()158100 v
+12 @20 f
+158100 670000 m
+11712 build_rh
+169812 670000 m
+()172812 v
+172812 670000 m
+11712 build_lh
+184524 670000 m
+&11
+(\023 )3000 1 187524 u
+192924 670000 m
+8784 build_ci
+201708 670000 m
+&20
+(\205)204708 v
+(\207)213636 v
+(\214)222516 v
+(\216)231444 v
+(\206)240372 v
+(\215)249300 v
+(\210)258228 v
+(\204)267156 v
+(\213)276156 v
+(\203)283716 v
+(\212)292716 v
+(\002)300276 v
+10 @11 f
+(\001)294340 760800 w
+(72)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 72 72
+%%Page: 73 73
+save
+mark
+73 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+[ /Dest /Bookmark$127
+ /View [/XYZ -4 796 0]
+/DEST pdfmark
+[ /Dest /Anchor$Table$20II
+ /View [/XYZ -4 720 0]
+/DEST pdfmark
+12 @13 f
+(T)285216 86000 w
+(able II)3996 1 292116 u
+(Input Naming Con)3996 1 198456 114000 t
+(v)296652 v
+(entions f)3996 1 302532 u
+(or)346896 v
+(\013,)362220 v
+(\014, and)3996 1 373212 u
+(\012)407544 v
+(and f)3996 1 204498 128000 t
+(or Non\001ASCII Special Characters)3996 1 231534 u
+10 s
+(Non\001)72000 176000 w
+9 s
+(ASCII)93110 v
+10 s
+(characters and)3330 1 121442 u
+&14
+(minus)189202 v
+&13
+(on the standard f)3330 1 218102 u
+(onts.)293402 v
+&12
+(Input)108000 200000 w
+(Char)147600 v
+(acter)168010 v
+(Input)324000 v
+(Char)363600 v
+(acter)384010 v
+(Char)79720 212000 w
+(Name)108000 v
+(Name)147600 v
+(Char)295720 v
+(Name)324000 v
+(Name)363600 v
+&11
+(\030)88335 226400 w
+&15
+(\026)108000 v
+&11
+(close quote)3330 1 147600 u
+(\027)88335 238400 w
+&15
+(\014)108000 v
+&11
+(open quote)3330 1 147600 u
+(\006)85000 250400 w
+&15
+(\017\(em)108000 v
+&11
+(3/4 Em dash)3330 1 147600 u
+(\001)88335 262400 w
+&15
+(\012)108000 v
+&11
+(h)147600 v
+(yphen or)3330 1 152550 u
+(\001)88335 274400 w
+&15
+(\017\(hy)108000 v
+&11
+(h)147600 v
+(yphen)152550 v
+(\012)87500 286400 w
+&15
+(\017\012)108000 v
+&11
+(current font minus)3330 1 147600 u
+(\022)88250 298400 w
+&15
+(\017\(bu)108000 v
+&11
+(b)147600 v
+(ullet)152400 v
+()87560 310400 w
+87560 310400 m
+4880 build_sq
+92440 310400 m
+&15
+(\017\(sq)108000 v
+&11
+(square)147600 v
+&19
+(\011)87500 322400 w
+&15
+(\017\(ru)108000 v
+&11
+(rule)147600 v
+(\007)86250 334400 w
+&15
+(\017\(14)108000 v
+&11
+(1/4)147600 v
+(\011)86250 346400 w
+&15
+(\017\(12)108000 v
+&11
+(1/2)147600 v
+(\010)86250 358400 w
+&15
+(\017\(34)108000 v
+&11
+(3/4)147600 v
+(\003)303220 226400 w
+&15
+(\017\(fi)324000 v
+&11
+(\003)363600 v
+(\004)303220 238400 w
+&15
+(\017\(fl)324000 v
+&11
+(\004)363600 v
+&15
+(\017\(ff)324000 250400 w
+&11
+(f)363600 v
+(f)366680 v
+&15
+(\017\(Fi)324000 262400 w
+&11
+(f\003)363600 v
+&15
+(\017\(Fl)324000 274400 w
+&11
+(f\004)363600 v
+(\021)304335 286400 w
+&15
+(\017\(de)324000 v
+&11
+(de)363600 v
+(gree)372890 v
+(\005)303500 298400 w
+&15
+(\017\(dg)324000 v
+&11
+(dagger)363600 v
+&20
+(\130)304765 310400 w
+&15
+(\017\(fm)324000 v
+&11
+(foot mark)3330 1 363600 u
+(\002)303500 322400 w
+&15
+(\017\(ct)324000 v
+&11
+(cent sign)3330 1 363600 u
+&20
+(\171)302050 334400 w
+&15
+(\017\(rg)324000 v
+&11
+(re)363600 v
+(gistered)371220 v
+&20
+(\172)302050 346400 w
+&15
+(\017\(co)324000 v
+&11
+(cop)363600 v
+(yright)377940 v
+&13
+(Non\001)72000 388400 w
+9 s
+(ASCII)93110 v
+10 s
+(characters and)3330 1 121442 u
+(\013,)189202 v
+(\014,)198362 v
+&20
+(\044)207522 v
+&13
+(,)214188 v
+&20
+(\006)220018 v
+&13
+(,)225508 v
+&20
+(\007)231338 v
+&13
+(,)236828 v
+&20
+(\010)242658 v
+&13
+(, and)3330 1 248148 u
+&20
+(\005)273428 v
+&13
+(on the special f)3330 1 281758 u
+(ont.)347608 v
+&11
+(In traditional)4201 1 72000 405200 t
+&12
+(tr)129842 v
+(of)136062 v
+(f)143662 v
+(,)146342 v
+&11
+( characters @, #,)4201(the ASCII)3651 2 153043 u
+(\020,)271568 v
+(\013,)282349 v
+(\014, <, >,)4202 1 292380 u
+(\017, {, }, ~, ^, and)4202 1 327096 u
+&20
+(\044)398288 v
+&11
+(e)407490 v
+(xisted)411780 v
+&12
+(only)439872 v
+&11
+(on the special font)4202 1 461294 u
+(and were printed as a 1\001em space if that font w)3703 1 72000 417200 t
+( follo)3702( The)6852(as not mounted.)3702 3 271100 u
+(wing characters e)3702 1 381858 u
+(xist only on the spe\001)3702 1 454082 u
+( special math plus, minus, and equals are pro)3353( The)6503(cial font.)3353 3 72000 429200 t
+( the appearance of equations from the)3354(vided to insulate)3353 2 316550 u
+(choice of standard fonts.)3330 1 72000 441200 t
+&12
+(Input)108000 465200 w
+(Char)147600 v
+(acter)168010 v
+(Input)324000 v
+(Char)363600 v
+(acter)384010 v
+(Char)79720 477200 w
+(Name)108000 v
+(Name)147600 v
+(Char)295720 v
+(Name)324000 v
+(Name)363600 v
+&20
+(\006)87255 491600 w
+&15
+(\017\(pl)108000 v
+&11
+(math plus)3330 1 147600 u
+&20
+(\007)87255 503600 w
+&15
+(\017\(mi)108000 v
+&11
+(math minus)3330 1 147600 u
+&20
+(\010)87255 515600 w
+&15
+(\017\(eq)108000 v
+&11
+(math equals)3330 1 147600 u
+&20
+(\005)87500 527600 w
+&15
+(\017\(**)108000 v
+&11
+(math star)3330 1 147600 u
+(\015)87500 539600 w
+&15
+(\017\(sc)108000 v
+&11
+(section)147600 v
+(\013)88335 551600 w
+&15
+(\017\(aa)108000 v
+&11
+(acute accent)3330 1 147600 u
+(\014)88335 563600 w
+&15
+(\017\(ga)108000 v
+&11
+(gra)147600 v
+(v)160170 v
+(e accent)3330 1 165020 u
+&20
+(\044)87500 575600 w
+&15
+(\017\(ul)108000 v
+&11
+(underrule)147600 v
+&20
+(\132)89165 587600 w
+&15
+(\017\(sl)108000 v
+&11
+(slash \(matching backslash\))3330 1 147600 u
+(\017)88610 599600 w
+&15
+(\017\(rs)108000 v
+&11
+(backslash)147600 v
+&20
+(\052)86845 611600 w
+&15
+(\017\(*a)108000 v
+&11
+(alpha)147600 v
+&20
+(\100)87255 623600 w
+&15
+(\017\(*b)108000 v
+&11
+(beta)147600 v
+&20
+(\105)87945 635600 w
+&15
+(\017\(*g)108000 v
+&11
+(g)147600 v
+(amma)152550 v
+&20
+(\102)87530 647600 w
+&15
+(\017\(*d)108000 v
+&11
+(delta)147600 v
+&20
+(\103)87805 659600 w
+&15
+(\017\(*e)108000 v
+&11
+(epsilon)147600 v
+&20
+(\126)87530 671600 w
+&15
+(\017\(*z)108000 v
+&11
+(zeta)147600 v
+&20
+(\106)86985 683600 w
+&15
+(\017\(*y)108000 v
+&11
+(eta)147600 v
+&20
+(\116)87395 695600 w
+&15
+(\017\(*h)108000 v
+&11
+(theta)147600 v
+&20
+(\107)88355 707600 w
+&15
+(\017\(*i)108000 v
+&11
+(iota)147600 v
+&20
+(\110)87255 719600 w
+&15
+(\017\(*k)108000 v
+&11
+(kappa)147600 v
+&20
+(\111)303255 491600 w
+&15
+(\017\(*l)324000 v
+&11
+(lambda)363600 v
+&20
+(\112)303120 503600 w
+&15
+(\017\(*m)324000 v
+&11
+(mu)363600 v
+&20
+(\113)303395 515600 w
+&15
+(\017\(*n)324000 v
+&11
+(nu)363600 v
+&20
+(\124)303535 527600 w
+&15
+(\017\(*c)324000 v
+&11
+(xi)363600 v
+&20
+(\114)303255 539600 w
+&15
+(\017\(*o)324000 v
+&11
+(omicron)363600 v
+&20
+(\115)303255 551600 w
+&15
+(\017\(*p)324000 v
+&11
+(pi)363600 v
+&20
+(\117)303255 563600 w
+&15
+(\017\(*r)324000 v
+&11
+(rho)363600 v
+&20
+(\120)302985 575600 w
+&15
+(\017\(*s)324000 v
+&11
+(sigma)363600 v
+&20
+(\217)303805 587600 w
+&15
+(\017\(ts)324000 v
+&11
+(terminal sigma)3330 1 363600 u
+&20
+(\121)303805 599600 w
+&15
+(\017\(*t)324000 v
+&11
+(tau)363600 v
+&20
+(\122)303120 611600 w
+&15
+(\017\(*u)324000 v
+&11
+(upsilon)363600 v
+&20
+(\104)303395 623600 w
+&15
+(\017\(*f)324000 v
+&11
+(phi)363600 v
+&20
+(\101)303255 635600 w
+&15
+(\017\(*x)324000 v
+&11
+(chi)363600 v
+&20
+(\125)302570 647600 w
+&15
+(\017\(*q)324000 v
+&11
+(psi)363600 v
+&20
+(\123)302570 659600 w
+&15
+(\017\(*w)324000 v
+&11
+(ome)363600 v
+(g)380670 v
+(a)385620 v
+&20
+(\011)302390 671600 w
+&15
+(\017\(*A)324000 v
+&11
+(Alpha)363600 v
+&20
+(\012)302665 683600 w
+&15
+(\017\(*B)324000 v
+&11
+(Beta)363600 v
+&20
+(\017)302985 695600 w
+&15
+(\017\(*G)324000 v
+&11
+(Gamma)363600 v
+&20
+(\014)302940 707600 w
+&15
+(\017\(*D)324000 v
+&11
+(Delta)363600 v
+&20
+(\015)302945 719600 w
+&15
+(\017\(*E)324000 v
+&11
+(Epsilon)363600 v
+(\001)294340 760800 w
+(73)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 73 73
+%%Page: 74 74
+save
+mark
+74 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Input)108000 84000 w
+(Char)147600 v
+(acter)168010 v
+(Input)324000 v
+(Char)363600 v
+(acter)384010 v
+(Char)79720 96000 w
+(Name)108000 v
+(Name)147600 v
+(Char)295720 v
+(Name)324000 v
+(Name)363600 v
+&20
+(\042)86945 110400 w
+&15
+(\017\(*Z)108000 v
+&11
+(Zeta)147600 v
+&20
+(\020)86390 122400 w
+&15
+(\017\(*Y)108000 v
+&11
+(Eta)147600 v
+&20
+(\031)86295 134400 w
+&15
+(\017\(*H)108000 v
+&11
+(Theta)147600 v
+&20
+(\021)88335 146400 w
+&15
+(\017\(*I)108000 v
+&11
+(Iota)147600 v
+&20
+(\022)86390 158400 w
+&15
+(\017\(*K)108000 v
+&11
+(Kappa)147600 v
+&20
+(\023)86570 170400 w
+&15
+(\017\(*L)108000 v
+&11
+(Lambda)147600 v
+&20
+(\024)85555 182400 w
+&15
+(\017\(*M)108000 v
+&11
+(Mu)147600 v
+&20
+(\025)86390 194400 w
+&15
+(\017\(*N)108000 v
+&11
+(Nu)147600 v
+&20
+(\036)86775 206400 w
+&15
+(\017\(*C)108000 v
+&11
+(Xi)147600 v
+&20
+(\026)86390 218400 w
+&15
+(\017\(*O)108000 v
+&11
+(Omicron)147600 v
+&20
+(\027)86160 230400 w
+&15
+(\017\(*P)108000 v
+&11
+(Pi)147600 v
+&20
+(\030)87220 242400 w
+&15
+(\017\(*R)108000 v
+&11
+(Rho)147600 v
+&20
+(\032)87040 254400 w
+&15
+(\017\(*S)108000 v
+&11
+(Sigma)147600 v
+&20
+(\033)86945 266400 w
+&15
+(\017\(*T)108000 v
+&11
+(T)147600 v
+(au)152910 v
+&20
+(\034)86550 278400 w
+&15
+(\017\(*U)108000 v
+&11
+(Upsilon)147600 v
+&20
+(\016)86185 290400 w
+&15
+(\017\(*F)108000 v
+&11
+(Phi)147600 v
+&20
+(\013)86390 302400 w
+&15
+(\017\(*X)108000 v
+&11
+(Chi)147600 v
+&20
+(\037)86025 314400 w
+&15
+(\017\(*Q)108000 v
+&11
+(Psi)147600 v
+&20
+(\035)86160 326400 w
+&15
+(\017\(*W)108000 v
+&11
+(Ome)147600 v
+(g)166890 v
+(a)171840 v
+&20
+(\200)87250 338400 w
+&15
+(\017\(sr)108000 v
+&11
+(square root)3330 1 147600 u
+&20
+(\047)87500 350400 w
+&15
+(\017\(rn)108000 v
+&11
+(root en e)3330 1 147600 u
+(xtender)184100 v
+&20
+(\144)87255 362400 w
+&15
+(\017\(>=)108000 v
+&11
+(>=)147600 v
+&20
+(\131)87255 374400 w
+&15
+(\017\(<=)108000 v
+&11
+(<=)147600 v
+&20
+(\153)87255 386400 w
+&15
+(\017\(==)108000 v
+&11
+(identically equal)3330 1 147600 u
+&20
+()87315 398400 w
+87315 398400 m
+5370 build_~=
+92685 398400 m
+&15
+(\017\(~=)108000 v
+&11
+(approx =)3330 1 147600 u
+&20
+(\127)87255 410400 w
+&15
+(\017\(ap)108000 v
+&11
+(approximates)147600 v
+&20
+(\152)87255 422400 w
+&15
+(\017\(!=)108000 v
+&11
+(not equal)3330 1 147600 u
+&20
+(\001)85065 434400 w
+&15
+(\017\()108000 v
+&20
+(\007)120000 v
+&15
+(>)125490 v
+&11
+(right arro)3330 1 147600 u
+(w)185670 v
+&20
+(\136)85065 446400 w
+&15
+(\017\(<)108000 v
+&20
+(\007)126000 v
+&11
+(left arro)3330 1 147600 u
+(w)180110 v
+&20
+(\140)86985 458400 w
+&15
+(\017\(ua)108000 v
+&11
+(up arro)3330 1 147600 u
+(w)176780 v
+&20
+(\141)86985 470400 w
+&15
+(\017\(da)108000 v
+&11
+(do)147600 v
+(wn arro)3330 1 157350 u
+(w)188750 v
+&20
+(\145)87255 482400 w
+&15
+(\017\(mu)108000 v
+&11
+(multiply)147600 v
+&20
+(\151)87255 494400 w
+&15
+(\017\(di)108000 v
+&11
+(di)147600 v
+(vide)155130 v
+&20
+(\143)87255 506400 w
+&15
+(\017\(+)108000 v
+&20
+(\007)126000 v
+&11
+(plus\001minus)147600 v
+&20
+(\162)86160 518400 w
+&15
+(\017\(cu)108000 v
+&11
+(cup \(union\))3330 1 147600 u
+&20
+(\161)86160 530400 w
+&15
+(\017\(ca)108000 v
+&11
+(cap \(intersection\))3330 1 147600 u
+&20
+(\165)86435 542400 w
+&15
+(\017\(sb)108000 v
+&11
+(subset of)3330 1 147600 u
+&20
+(\163)86435 554400 w
+&15
+(\017\(sp)108000 v
+&11
+(superset of)3330 1 147600 u
+&20
+(\166)86435 566400 w
+&15
+(\017\(ib)108000 v
+&11
+(improper subset)3330 1 147600 u
+&20
+(\164)86435 578400 w
+&15
+(\017\(ip)108000 v
+&11
+(improper superset)3330 1 147600 u
+&20
+(\134)86350 590400 w
+&15
+(\017\(if)108000 v
+&11
+(inf)147600 v
+(inity)158510 v
+&20
+(\147)87530 602400 w
+&15
+(\017\(pd)108000 v
+&11
+(partial deri)3330 1 147600 u
+(v)191780 v
+(ati)196530 v
+(v)206280 v
+(e)211130 v
+&20
+(\170)86435 614400 w
+&15
+(\017\(gr)108000 v
+&11
+(gradient)147600 v
+&20
+(\201)86435 626400 w
+&15
+(\017\(no)108000 v
+&11
+(not)147600 v
+&20
+(\211)87500 638400 w
+&15
+(\017\(is)108000 v
+&11
+(inte)147600 v
+(gral sign)3330 1 162450 u
+&20
+(\146)86435 650400 w
+&15
+(\017\(pt)108000 v
+&11
+(proportional to)3330 1 147600 u
+&20
+(\160)85885 662400 w
+&15
+(\017\(es)108000 v
+&11
+(empty set)3330 1 147600 u
+&20
+(\167)86435 674400 w
+&15
+(\017\(mo)108000 v
+&11
+(member of)3330 1 147600 u
+&20
+(\002)90000 686400 w
+&15
+(\017\(br)108000 v
+&11
+(box v)3330 1 147600 u
+(ertical rule)3330 1 170780 u
+(\016)87500 698400 w
+&15
+(\017\(dd)108000 v
+&11
+(double dagger)3330 1 147600 u
+&20
+()85120 710400 w
+85120 710400 m
+9760 build_rh
+94880 710400 m
+&15
+(\017\(rh)108000 v
+&11
+(right hand)3330 1 147600 u
+&20
+()301120 110400 w
+301120 110400 m
+9760 build_lh
+310880 110400 m
+&15
+(\017\(lh)324000 v
+&11
+(left hand)3330 1 363600 u
+(\023)305000 122400 w
+&15
+(\017\(or)324000 v
+&11
+(or)363600 v
+()302340 134400 w
+302340 134400 m
+7320 build_ci
+309660 134400 m
+&15
+(\017\(ci)324000 v
+&11
+(circle)363600 v
+&20
+(\205)303530 146400 w
+&15
+(\017\(lt)324000 v
+&11
+(left top of big curly brack)3330 1 363600 u
+(et)470130 v
+&20
+(\207)303550 158400 w
+&15
+(\017\(lb)324000 v
+&11
+(left bottom)3330 1 363600 u
+&20
+(\214)303530 170400 w
+&15
+(\017\(rt)324000 v
+&11
+(right top)3330 1 363600 u
+&20
+(\216)303530 182400 w
+&15
+(\017\(rb)324000 v
+&11
+(right bot)3330 1 363600 u
+&20
+(\206)303530 194400 w
+&15
+(\017\(lk)324000 v
+&11
+(left center of big curly brack)3330 1 363600 u
+(et)481780 v
+&20
+(\215)303530 206400 w
+&15
+(\017\(rk)324000 v
+&11
+(right center of big curly brack)3330 1 363600 u
+(et)487340 v
+&20
+(\210)303530 218400 w
+&15
+(\017\(bv)324000 v
+&11
+(bold v)3330 1 363600 u
+(ertical)389560 v
+&20
+(\204)303500 230400 w
+&15
+(\017\(lf)324000 v
+&11
+(left floor \(left bottom of big)3330 1 363600 u
+(square brack)3330 1 363600 242400 t
+(et\))415140 v
+&20
+(\213)304100 254400 w
+&15
+(\017\(rf)324000 v
+&11
+(right floor \(right bottom\))3330 1 363600 u
+&20
+(\203)303500 266400 w
+&15
+(\017\(lc)324000 v
+&11
+(left ceiling \(left top\))3330 1 363600 u
+&20
+(\212)304100 278400 w
+&15
+(\017\(rc)324000 v
+&11
+(right ceiling \(right top\))3330 1 363600 u
+(\001)294340 760800 w
+(74)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 74 74
+%%Page: 75 75
+save
+mark
+75 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&13
+(A)72000 84000 w
+(v)78220 v
+(ailable characters fr)3330 1 83120 u
+(om gr)3330 1 170690 u
+(off_char\(7\))196610 v
+&11
+(The follo)4386 1 72000 108000 t
+( list the characters from the)4387(wing table)4386 2 110576 u
+&13
+(gr)277364 v
+(off_char)286624 v
+&11
+(\(7\) manual page which can be used with Heirloom)4387 1 322724 u
+&12
+(tr)72000 120000 w
+(of)78220 v
+(f)85820 v
+&11
+( characters mark)3490(. Special)6820 2 88600 u
+(ed with a)3490 1 195320 u
+&13
+(*)237450 v
+&11
+(are only def)3490 1 245940 u
+(ined when)3489 1 295480 u
+&12
+(tr)341338 v
+(of)347558 v
+(f)355158 v
+&11
+(is started with option)3489 1 361427 u
+&13
+(\012mgchar)452053 v
+&11
+( a glyph)3489(. If)6819 2 489823 u
+(is actually a)3330 1 72000 132000 t
+(v)121230 v
+(ailable depends on the font and output de)3330 1 125980 u
+(vice.)296240 v
+&12
+(Output)79200 156000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&11
+(\034)79200 170400 w
+(\034)118800 v
+&15
+(\017[exclamdown])165600 v
+(\017U\02600A1\026)277200 v
+&11
+(in)334800 v
+(v)342180 v
+(erted e)3330 1 347030 u
+(xclamation mark)3330 1 374640 u
+(\002)79200 182400 w
+(\002)118800 v
+&15
+(\017[cent])165600 v
+(\017U\02600A2\026)277200 v
+&11
+(currenc)334800 v
+(y unit)3330 1 364630 u
+(\035)79200 194400 w
+(\035)118800 v
+&15
+(\017[sterling])165600 v
+(\017U\02600A3\026)277200 v
+&11
+(pound sterling)3330 1 334800 u
+(\200)79200 206400 w
+(\200)118800 v
+&15
+(\017[currency])165600 v
+(\017U\02600A4\026)277200 v
+&11
+(generic currenc)3330 1 334800 u
+(y symbol)3330 1 397390 u
+(\037)79200 218400 w
+(\037)118800 v
+&15
+(\017[yen])165600 v
+(\017U\02600A5\026)277200 v
+&11
+(Japanese currenc)3330 1 334800 u
+(y symbol)3330 1 403500 u
+(\303)79200 230400 w
+(\303)118800 v
+&15
+(\017[brokenbar])165600 v
+(\017U\02600A6\026)277200 v
+&11
+(brok)334800 v
+(en bar)3330 1 353030 u
+(\015)79200 242400 w
+(\015)118800 v
+&15
+(\017[section])165600 v
+(\017U\02600A7\026)277200 v
+&11
+(section sign)3330 1 334800 u
+(\217)79200 254400 w
+(\217)118800 v
+&15
+(\017[dieresis])165600 v
+(\017U\02600A8\026)277200 v
+&11
+(dieresis)334800 v
+(\255)79200 266400 w
+(\255)118800 v
+&15
+(\017[copyright])165600 v
+(\017U\02600A9\026)277200 v
+&11
+(cop)334800 v
+(yright symbol)3330 1 349140 u
+(\225)79200 278400 w
+(\225)118800 v
+&15
+(\017[ordfeminine])165600 v
+(\017U\02600AA\026)277200 v
+&11
+(feminine ordinal)3330 1 334800 u
+(\201)79200 290400 w
+(\201)118800 v
+&15
+(\017[guillemotleft])165600 v
+(\017U\02600AB\026)277200 v
+&11
+(left guillemet [sic])3330 1 334800 u
+(\346)79200 302400 w
+(\346)118800 v
+&15
+(\017[logicalnot])165600 v
+(\017U\02600AC\026)277200 v
+&11
+(logical not)3330 1 334800 u
+(\304)79200 314400 w
+(\304)118800 v
+&15
+(\017[registered])165600 v
+(\017U\02600AE\026)277200 v
+&11
+(re)334800 v
+(gistered mark symbol)3330 1 342420 u
+(\214)79200 326400 w
+(\214)118800 v
+&15
+(\017[macron])165600 v
+(\017U\02600AF\026)277200 v
+&11
+(o)334800 v
+(v)339650 v
+(erbar accent)3330 1 344500 u
+(\334)79200 338400 w
+(\334)118800 v
+&15
+(\017[degree])165600 v
+(\017U\02600B0\026)277200 v
+&11
+(de)334800 v
+(gree)344090 v
+(\302)79200 350400 w
+(\302)118800 v
+&15
+(\017[plusminus])165600 v
+(\017U\02600B1\026)277200 v
+&11
+(plus\001minus sign)3330 1 334800 u
+(\322)79200 362400 w
+(\322)118800 v
+&15
+(\017[twosuperior])165600 v
+(\017U\02600B2\026)277200 v
+&11
+(superscript 2)3330 1 334800 u
+(\267)79200 374400 w
+(\267)118800 v
+&15
+(\017[threesuperior])165600 v
+(\017U\02600B3\026)277200 v
+&11
+(superscript 3)3330 1 334800 u
+(\013)79200 386400 w
+(\013)118800 v
+&15
+(\017[acute])165600 v
+(\017U\02600B4\026)277200 v
+&11
+(acute accent)3330 1 334800 u
+(\324)79200 398400 w
+(\324)118800 v
+&15
+(\017[mu])165600 v
+(\017U\02600B5\026)277200 v
+&11
+(micro sign)3330 1 334800 u
+(\205)79200 410400 w
+(\205)118800 v
+&15
+(\017[paragraph])165600 v
+(\017U\02600B6\026)277200 v
+&11
+(end of paragraph mark)3330 1 334800 u
+(er)427990 v
+(\204)79200 422400 w
+(\204)118800 v
+&15
+(\017[periodcentered])165600 v
+(\017U\02600B7\026)277200 v
+&11
+(centered period)3330 1 334800 u
+(\220)79200 434400 w
+(\220)118800 v
+&15
+(\017[cedilla])165600 v
+(\017U\02600B8\026)277200 v
+&11
+(cedilly accent)3330 1 334800 u
+(\353)79200 446400 w
+(\353)118800 v
+&15
+(\017[onesuperior])165600 v
+(\017U\02600B9\026)277200 v
+&11
+(superscript 1)3330 1 334800 u
+(\231)79200 458400 w
+(\231)118800 v
+&15
+(\017[ordmasculine])165600 v
+(\017U\02600BA\026)277200 v
+&11
+(masculine ordinal)3330 1 334800 u
+(\210)79200 470400 w
+(\210)118800 v
+&15
+(\017[guillemotright])165600 v
+(\017U\02600BB\026)277200 v
+&11
+(right guillemet [sic])3330 1 334800 u
+(\007)79200 482400 w
+(\007)118800 v
+&15
+(\017[onequarter])165600 v
+(\017U\02600BC\026)277200 v
+&11
+(1/4 symbol)3330 1 334800 u
+(\011)79200 494400 w
+(\011)118800 v
+&15
+(\017[onehalf])165600 v
+(\017U\02600BD\026)277200 v
+&11
+(1/2 symbol)3330 1 334800 u
+(\010)79200 506400 w
+(\010)118800 v
+&15
+(\017[threequarters])165600 v
+(\017U\02600BE\026)277200 v
+&11
+(3/4 symbol)3330 1 334800 u
+(\213)79200 518400 w
+(\213)118800 v
+&15
+(\017[questiondown])165600 v
+(\017U\02600BF\026)277200 v
+&11
+(in)334800 v
+(v)342180 v
+(erted question mark)3330 1 347030 u
+(\271)79200 530400 w
+(\271)118800 v
+&15
+(\017[Agrave])165600 v
+(\017U\02600C0\026)277200 v
+&11
+(A gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\311)79200 542400 w
+(\311)118800 v
+&15
+(\017[Aacute])165600 v
+(\017U\02600C1\026)277200 v
+&11
+(A acute)3330 1 334800 u
+(\245)79200 554400 w
+(\245)118800 v
+&15
+(\017[Acircumflex])165600 v
+(\017U\02600C2\026)277200 v
+&11
+(A circumfle)3330 1 334800 u
+(x)383520 v
+(\341)79200 566400 w
+(\341)118800 v
+&15
+(\017[Atilde])165600 v
+(\017U\02600C3\026)277200 v
+&11
+(A tilde)3330 1 334800 u
+(\312)79200 578400 w
+(\312)118800 v
+&15
+(\017[Adieresis])165600 v
+(\017U\02600C4\026)277200 v
+&11
+(A dieresis)3330 1 334800 u
+(\342)79200 590400 w
+(\342)118800 v
+&15
+(\017[Aring])165600 v
+(\017U\02600C5\026)277200 v
+&11
+(A ring)3330 1 334800 u
+(\224)79200 602400 w
+(\224)118800 v
+&15
+(\017[AE])165600 v
+(\017U\02600C6\026)277200 v
+&11
+(A+E combined)3330 1 334800 u
+(\310)79200 614400 w
+(\310)118800 v
+&15
+(\017[Ccedilla])165600 v
+(\017U\02600C7\026)277200 v
+&11
+(C cedilla)3330 1 334800 u
+(\305)79200 626400 w
+(\305)118800 v
+&15
+(\017[Egrave])165600 v
+(\017U\02600C8\026)277200 v
+&11
+(E gra)3330 1 334800 u
+(v)356810 v
+(e)361660 v
+(\332)79200 638400 w
+(\332)118800 v
+&15
+(\017[Eacute])165600 v
+(\017U\02600C9\026)277200 v
+&11
+(E acute)3330 1 334800 u
+(\276)79200 650400 w
+(\276)118800 v
+&15
+(\017[Ecircumflex])165600 v
+(\017U\02600CA\026)277200 v
+&11
+(E circumfle)3330 1 334800 u
+(x)382410 v
+(\254)79200 662400 w
+(\254)118800 v
+&15
+(\017[Edieresis])165600 v
+(\017U\02600CB\026)277200 v
+&11
+(E dieresis)3330 1 334800 u
+(\327)79200 674400 w
+(\327)118800 v
+&15
+(\017[Igrave])165600 v
+(\017U\02600CC\026)277200 v
+&11
+(I gra)3330 1 334800 u
+(v)354030 v
+(e)358880 v
+(\301)79200 686400 w
+(\301)118800 v
+&15
+(\017[Iacute])165600 v
+(\017U\02600CD\026)277200 v
+&11
+(I acute)3330 1 334800 u
+(\345)79200 698400 w
+(\345)118800 v
+&15
+(\017[Icircumflex])165600 v
+(\017U\02600CE\026)277200 v
+&11
+(I circumfle)3330 1 334800 u
+(x)379630 v
+(\240)79200 710400 w
+(\240)118800 v
+&15
+(\017[Idieresis])165600 v
+(\017U\02600CF\026)277200 v
+&11
+(I dieresis)3330 1 334800 u
+(\001)294340 760800 w
+(75)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 75 75
+%%Page: 76 76
+save
+mark
+76 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&11
+(\307)79200 98400 w
+(\307)118800 v
+&15
+(\017[Eth])165600 v
+(\017U\02600D0\026)277200 v
+&11
+(E th)3330 1 334800 u
+(\337)79200 110400 w
+(\337)118800 v
+&15
+(\017[Ntilde])165600 v
+(\017U\02600D1\026)277200 v
+&11
+(N tilde)3330 1 334800 u
+(\270)79200 122400 w
+(\270)118800 v
+&15
+(\017[Ograve])165600 v
+(\017U\02600D2\026)277200 v
+&11
+(O gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\314)79200 134400 w
+(\314)118800 v
+&15
+(\017[Oacute])165600 v
+(\017U\02600D3\026)277200 v
+&11
+(O acute)3330 1 334800 u
+(\317)79200 146400 w
+(\317)118800 v
+&15
+(\017[Ocircumflex])165600 v
+(\017U\02600D4\026)277200 v
+&11
+(O circumfle)3330 1 334800 u
+(x)383520 v
+(\343)79200 158400 w
+(\343)118800 v
+&15
+(\017[Otilde])165600 v
+(\017U\02600D5\026)277200 v
+&11
+(O tilde)3330 1 334800 u
+(\323)79200 170400 w
+(\323)118800 v
+&15
+(\017[Odieresis])165600 v
+(\017U\02600D6\026)277200 v
+&11
+(O dieresis)3330 1 334800 u
+(\272)79200 182400 w
+(\272)118800 v
+&15
+(\017[multiply])165600 v
+(\017U\02600D7\026)277200 v
+&11
+(multiply)334800 v
+(\227)79200 194400 w
+(\227)118800 v
+&15
+(\017[Oslash])165600 v
+(\017U\02600D8\026)277200 v
+&11
+(O slash)3330 1 334800 u
+(\320)79200 206400 w
+(\320)118800 v
+&15
+(\017[Ugrave])165600 v
+(\017U\02600D9\026)277200 v
+&11
+(U gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\253)79200 218400 w
+(\253)118800 v
+&15
+(\017[Uacute])165600 v
+(\017U\02600DA\026)277200 v
+&11
+(U acute)3330 1 334800 u
+(\247)79200 230400 w
+(\247)118800 v
+&15
+(\017[Ucircumflex])165600 v
+(\017U\02600DB\026)277200 v
+&11
+(U circumfle)3330 1 334800 u
+(x)383520 v
+(\252)79200 242400 w
+(\252)118800 v
+&15
+(\017[Udieresis])165600 v
+(\017U\02600DC\026)277200 v
+&11
+(U dieresis)3330 1 334800 u
+(\244)79200 254400 w
+(\244)118800 v
+&15
+(\017[Yacute])165600 v
+(\017U\02600DD\026)277200 v
+&11
+(Y acute)3330 1 334800 u
+(\266)79200 266400 w
+(\266)118800 v
+&15
+(\017[Thorn])165600 v
+(\017U\02600DE\026)277200 v
+&11
+(Thorn)334800 v
+(\237)79200 278400 w
+(\237)118800 v
+&15
+(\017[germandbls])165600 v
+(\017U\02600DF\026)277200 v
+&11
+(German double s)3330 1 334800 u
+(\257)79200 290400 w
+(\257)118800 v
+&15
+(\017[agrave])165600 v
+(\017U\02600E0\026)277200 v
+&11
+(a gra)3330 1 334800 u
+(v)355140 v
+(e)359990 v
+(\246)79200 302400 w
+(\246)118800 v
+&15
+(\017[aacute])165600 v
+(\017U\02600E1\026)277200 v
+&11
+(a acute)3330 1 334800 u
+(\264)79200 314400 w
+(\264)118800 v
+&15
+(\017[acircumflex])165600 v
+(\017U\02600E2\026)277200 v
+&11
+(a circumfle)3330 1 334800 u
+(x)380740 v
+(\260)79200 326400 w
+(\260)118800 v
+&15
+(\017[atilde])165600 v
+(\017U\02600E3\026)277200 v
+&11
+(a tilde)3330 1 334800 u
+(\277)79200 338400 w
+(\277)118800 v
+&15
+(\017[adieresis])165600 v
+(\017U\02600E4\026)277200 v
+&11
+(a dieresis)3330 1 334800 u
+(\256)79200 350400 w
+(\256)118800 v
+&15
+(\017[aring])165600 v
+(\017U\02600E5\026)277200 v
+&11
+(a ring)3330 1 334800 u
+(\232)79200 362400 w
+(\232)118800 v
+&15
+(\017[ae])165600 v
+(\017U\02600E6\026)277200 v
+&11
+(a+e combined)3330 1 334800 u
+(\265)79200 374400 w
+(\265)118800 v
+&15
+(\017[ccedilla])165600 v
+(\017U\02600E7\026)277200 v
+&11
+(c cedilla)3330 1 334800 u
+(\313)79200 386400 w
+(\313)118800 v
+&15
+(\017[egrave])165600 v
+(\017U\02600E8\026)277200 v
+&11
+(e gra)3330 1 334800 u
+(v)355140 v
+(e)359990 v
+(\241)79200 398400 w
+(\241)118800 v
+&15
+(\017[eacute])165600 v
+(\017U\02600E9\026)277200 v
+&11
+(e acute)3330 1 334800 u
+(\251)79200 410400 w
+(\251)118800 v
+&15
+(\017[ecircumflex])165600 v
+(\017U\02600EA\026)277200 v
+&11
+(e circumfle)3330 1 334800 u
+(x)380740 v
+(\300)79200 422400 w
+(\300)118800 v
+&15
+(\017[edieresis])165600 v
+(\017U\02600EB\026)277200 v
+&11
+(e dieresis)3330 1 334800 u
+(\325)79200 434400 w
+(\325)118800 v
+&15
+(\017[igrave])165600 v
+(\017U\02600EC\026)277200 v
+&11
+(i gra)3330 1 334800 u
+(v)353480 v
+(e)358330 v
+(\262)79200 446400 w
+(\262)118800 v
+&15
+(\017[iacute])165600 v
+(\017U\02600ED\026)277200 v
+&11
+(i acute)3330 1 334800 u
+(\275)79200 458400 w
+(\275)118800 v
+&15
+(\017[icircumflex])165600 v
+(\017U\02600EE\026)277200 v
+&11
+(i circumfle)3330 1 334800 u
+(x)379080 v
+(\316)79200 470400 w
+(\316)118800 v
+&15
+(\017[idieresis])165600 v
+(\017U\02600EF\026)277200 v
+&11
+(i dieresis)3330 1 334800 u
+(\351)79200 482400 w
+(\351)118800 v
+&15
+(\017[eth])165600 v
+(\017U\02600F0\026)277200 v
+&11
+(e th)3330 1 334800 u
+(\331)79200 494400 w
+(\331)118800 v
+&15
+(\017[ntilde])165600 v
+(\017U\02600F1\026)277200 v
+&11
+(n tilde)3330 1 334800 u
+(\335)79200 506400 w
+(\335)118800 v
+&15
+(\017[ograve])165600 v
+(\017U\02600F2\026)277200 v
+&11
+(o gra)3330 1 334800 u
+(v)355700 v
+(e)360550 v
+(\315)79200 518400 w
+(\315)118800 v
+&15
+(\017[oacute])165600 v
+(\017U\02600F3\026)277200 v
+&11
+(o acute)3330 1 334800 u
+(\330)79200 530400 w
+(\330)118800 v
+&15
+(\017[ocircumflex])165600 v
+(\017U\02600F4\026)277200 v
+&11
+(o circumfle)3330 1 334800 u
+(x)381300 v
+(\340)79200 542400 w
+(\340)118800 v
+&15
+(\017[otilde])165600 v
+(\017U\02600F5\026)277200 v
+&11
+(o tilde)3330 1 334800 u
+(\347)79200 554400 w
+(\347)118800 v
+&15
+(\017[odieresis])165600 v
+(\017U\02600F6\026)277200 v
+&11
+(o dieresis)3330 1 334800 u
+(\243)79200 566400 w
+(\243)118800 v
+&15
+(\017[divide])165600 v
+(\017U\02600F7\026)277200 v
+&11
+(di)334800 v
+(vide)342330 v
+(\235)79200 578400 w
+(\235)118800 v
+&15
+(\017[oslash])165600 v
+(\017U\02600F8\026)277200 v
+&11
+(o slash)3330 1 334800 u
+(\336)79200 590400 w
+(\336)118800 v
+&15
+(\017[ugrave])165600 v
+(\017U\02600F9\026)277200 v
+&11
+(u gra)3330 1 334800 u
+(v)355700 v
+(e)360550 v
+(\273)79200 602400 w
+(\273)118800 v
+&15
+(\017[uacute])165600 v
+(\017U\02600FA\026)277200 v
+&11
+(u acute)3330 1 334800 u
+(\263)79200 614400 w
+(\263)118800 v
+&15
+(\017[ucircumflex])165600 v
+(\017U\02600FB\026)277200 v
+&11
+(u circumfle)3330 1 334800 u
+(x)381300 v
+(\350)79200 626400 w
+(\350)118800 v
+&15
+(\017[udieresis])165600 v
+(\017U\02600FC\026)277200 v
+&11
+(u dieresis)3330 1 334800 u
+(\250)79200 638400 w
+(\250)118800 v
+&15
+(\017[yacute])165600 v
+(\017U\02600FD\026)277200 v
+&11
+(y acute)3330 1 334800 u
+(\321)79200 650400 w
+(\321)118800 v
+&15
+(\017[thorn])165600 v
+(\017U\02600FE\026)277200 v
+&11
+(thorn)334800 v
+(\274)79200 662400 w
+(\274)118800 v
+&15
+(\017[ydieresis])165600 v
+(\017U\02600FF\026)277200 v
+&11
+(y dieresis)3330 1 334800 u
+(\307)79200 679200 w
+&15
+(\017\()118800 v
+&20
+(\007)130800 v
+&15
+(D)136290 v
+8 @11 f
+(*)143956 676000 w
+10 @15 f
+(\017[Eth])165600 679200 w
+(\017U\02600D0\026)277200 v
+&11
+(uppercase eth)3330 1 334800 u
+(\351)79200 691200 w
+&15
+(\017\(Sd)118800 v
+8 @11 f
+(*)144466 688000 w
+10 @15 f
+(\017[eth])165600 691200 w
+(\017U\02600F0\026)277200 v
+&11
+(lo)334800 v
+(wercase eth)3330 1 342330 u
+(\266)79200 703200 w
+&15
+(\017\(TP)118800 v
+8 @11 f
+(*)144466 700000 w
+10 @15 f
+(\017[Thorn])165600 703200 w
+(\017U\02600DE\026)277200 v
+&11
+(uppercase thorn)3330 1 334800 u
+(\321)79200 715200 w
+&15
+(\017\(Tp)118800 v
+8 @11 f
+(*)144466 712000 w
+10 @15 f
+(\017[thorn])165600 715200 w
+(\017U\02600FE\026)277200 v
+&11
+(lo)334800 v
+(wercase thorn)3330 1 342330 u
+(\001)294340 760800 w
+(76)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 76 76
+%%Page: 77 77
+save
+mark
+77 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&11
+(\237)79200 98400 w
+&15
+(\017\(ss)118800 v
+8 @11 f
+(*)144466 95200 w
+10 @15 f
+(\017[germandbls])165600 98400 w
+(\017U\02600DF\026)277200 v
+&11
+(German double s)3330 1 334800 u
+(\226)79200 115200 w
+&15
+(\017\(/L)118800 v
+8 @11 f
+(*)144466 112000 w
+10 @15 f
+(\017[Lslash])165600 115200 w
+(\017U\0260141\026)277200 v
+&11
+(L slash)3330 1 334800 u
+(\234)79200 127200 w
+&15
+(\017\(/l)118800 v
+8 @11 f
+(*)144466 124000 w
+10 @15 f
+(\017[lslash])165600 127200 w
+(\017U\0260142\026)277200 v
+&11
+(l slash)3330 1 334800 u
+(\227)79200 139200 w
+&15
+(\017\(/O)118800 v
+8 @11 f
+(*)144466 136000 w
+10 @15 f
+(\017[Oslash])165600 139200 w
+(\017U\02600D8\026)277200 v
+&11
+(O slash)3330 1 334800 u
+(\235)79200 151200 w
+&15
+(\017\(/o)118800 v
+8 @11 f
+(*)144466 148000 w
+10 @15 f
+(\017[oslash])165600 151200 w
+(\017U\02600F8\026)277200 v
+&11
+(o slash)3330 1 334800 u
+(\224)79200 163200 w
+&15
+(\017\(AE)118800 v
+(\017[AE])165600 v
+(\017U\02600C6\026)277200 v
+&11
+(A+E combined)3330 1 334800 u
+(\232)79200 175200 w
+&15
+(\017\(ae)118800 v
+(\017[ae])165600 v
+(\017U\02600E6\026)277200 v
+&11
+(a+e combined)3330 1 334800 u
+(\230)79200 187200 w
+&15
+(\017\(OE)118800 v
+(\017[OE])165600 v
+(\017U\0260152\026)277200 v
+&11
+(O+E combined)3330 1 334800 u
+(\236)79200 199200 w
+&15
+(\017\(oe)118800 v
+(\017[oe])165600 v
+(\017U\0260153\026)277200 v
+&11
+(o+e combined)3330 1 334800 u
+&15
+(\017\(IJ)118800 211200 w
+(\017[IJ])165600 v
+(\017U\0260132\026)277200 v
+&11
+(I+J combined)3330 1 334800 u
+&15
+(\017\(ij)118800 223200 w
+(\017[ij])165600 v
+(\017U\0260133\026)277200 v
+&11
+(i+j combined)3330 1 334800 u
+(\233)79200 235200 w
+&15
+(\017\(.i)118800 v
+8 @11 f
+(*)144466 232000 w
+10 @15 f
+(\017[dotlessi])165600 235200 w
+(\017U\0260131\026)277200 v
+&11
+(i without a dot)3330 1 334800 u
+&15
+(\017\(.j)118800 247200 w
+8 @11 f
+(*)144466 244000 w
+10 @15 f
+(\017[dotlessj])165600 247200 w
+(\017U\0260237\026)277200 v
+&11
+(j without a dot)3330 1 334800 u
+(\311)79200 264000 w
+&15
+(\017\(\026A)118800 v
+8 @11 f
+(*)144466 260800 w
+10 @15 f
+(\017[Aacute])165600 264000 w
+(\017U\02600C1\026)277200 v
+&11
+(A acute)3330 1 334800 u
+&15
+(\017\(\026C)118800 276000 w
+8 @11 f
+(*)144466 272800 w
+10 @15 f
+(\017[Cacute])165600 276000 w
+(\017U\0260106\026)277200 v
+&11
+(C acute)3330 1 334800 u
+(\332)79200 288000 w
+&15
+(\017\(\026E)118800 v
+8 @11 f
+(*)144466 284800 w
+10 @15 f
+(\017[Eacute])165600 288000 w
+(\017U\02600C9\026)277200 v
+&11
+(E acute)3330 1 334800 u
+(\301)79200 300000 w
+&15
+(\017\(\026I)118800 v
+8 @11 f
+(*)144466 296800 w
+10 @15 f
+(\017[Iacute])165600 300000 w
+(\017U\02600CD\026)277200 v
+&11
+(C acute)3330 1 334800 u
+(\314)79200 312000 w
+&15
+(\017\(\026O)118800 v
+8 @11 f
+(*)144466 308800 w
+10 @15 f
+(\017[Oacute])165600 312000 w
+(\017U\02600D3\026)277200 v
+&11
+(O acute)3330 1 334800 u
+(\253)79200 324000 w
+&15
+(\017\(\026U)118800 v
+8 @11 f
+(*)144466 320800 w
+10 @15 f
+(\017[Uacute])165600 324000 w
+(\017U\02600DA\026)277200 v
+&11
+(U acute)3330 1 334800 u
+(\244)79200 336000 w
+&15
+(\017\(\026Y)118800 v
+8 @11 f
+(*)144466 332800 w
+10 @15 f
+(\017[Yacute])165600 336000 w
+(\017U\02600DD\026)277200 v
+&11
+(Y acute)3330 1 334800 u
+(\246)79200 348000 w
+&15
+(\017\(\026a)118800 v
+8 @11 f
+(*)144466 344800 w
+10 @15 f
+(\017[aacute])165600 348000 w
+(\017U\02600E1\026)277200 v
+&11
+(a acute)3330 1 334800 u
+&15
+(\017\(\026c)118800 360000 w
+8 @11 f
+(*)144466 356800 w
+10 @15 f
+(\017[cacute])165600 360000 w
+(\017U\0260107\026)277200 v
+&11
+(c acute)3330 1 334800 u
+(\241)79200 372000 w
+&15
+(\017\(\026e)118800 v
+8 @11 f
+(*)144466 368800 w
+10 @15 f
+(\017[eacute])165600 372000 w
+(\017U\02600E9\026)277200 v
+&11
+(e acute)3330 1 334800 u
+(\262)79200 384000 w
+&15
+(\017\(\026i)118800 v
+8 @11 f
+(*)144466 380800 w
+10 @15 f
+(\017[iacute])165600 384000 w
+(\017U\02600ED\026)277200 v
+&11
+(i acute)3330 1 334800 u
+(\315)79200 396000 w
+&15
+(\017\(\026o)118800 v
+8 @11 f
+(*)144466 392800 w
+10 @15 f
+(\017[oacute])165600 396000 w
+(\017U\02600F3\026)277200 v
+&11
+(o acute)3330 1 334800 u
+(\273)79200 408000 w
+&15
+(\017\(\026u)118800 v
+8 @11 f
+(*)144466 404800 w
+10 @15 f
+(\017[uacute])165600 408000 w
+(\017U\02600FA\026)277200 v
+&11
+(u acute)3330 1 334800 u
+(\250)79200 420000 w
+&15
+(\017\(\026y)118800 v
+8 @11 f
+(*)144466 416800 w
+10 @15 f
+(\017[yacute])165600 420000 w
+(\017U\02600FD\026)277200 v
+&11
+(y acute)3330 1 334800 u
+(\312)79200 432000 w
+&15
+(\017\(:A)118800 v
+8 @11 f
+(*)144466 428800 w
+10 @15 f
+(\017[Adieresis])165600 432000 w
+(\017U\02600C4\026)277200 v
+&11
+(A dieresis)3330 1 334800 u
+(\254)79200 444000 w
+&15
+(\017\(:E)118800 v
+8 @11 f
+(*)144466 440800 w
+10 @15 f
+(\017[Edieresis])165600 444000 w
+(\017U\02600CB\026)277200 v
+&11
+(E dieresis)3330 1 334800 u
+(\240)79200 456000 w
+&15
+(\017\(:I)118800 v
+8 @11 f
+(*)144466 452800 w
+10 @15 f
+(\017[Idieresis])165600 456000 w
+(\017U\02600CF\026)277200 v
+&11
+(I dieresis)3330 1 334800 u
+(\323)79200 468000 w
+&15
+(\017\(:O)118800 v
+8 @11 f
+(*)144466 464800 w
+10 @15 f
+(\017[Odieresis])165600 468000 w
+(\017U\02600D6\026)277200 v
+&11
+(O dieresis)3330 1 334800 u
+(\252)79200 480000 w
+&15
+(\017\(:U)118800 v
+8 @11 f
+(*)144466 476800 w
+10 @15 f
+(\017[Udieresis])165600 480000 w
+(\017U\02600FC\026)277200 v
+&11
+(U dieresis)3330 1 334800 u
+(\242)79200 492000 w
+&15
+(\017\(:Y)118800 v
+8 @11 f
+(*)144466 488800 w
+10 @15 f
+(\017[Ydieresis])165600 492000 w
+(\017U\0260178\026)277200 v
+&11
+(Y dieresis)3330 1 334800 u
+(\277)79200 504000 w
+&15
+(\017\(:a)118800 v
+8 @11 f
+(*)144466 500800 w
+10 @15 f
+(\017[adieresis])165600 504000 w
+(\017U\02600E4\026)277200 v
+&11
+(a dieresis)3330 1 334800 u
+(\300)79200 516000 w
+&15
+(\017\(:e)118800 v
+8 @11 f
+(*)144466 512800 w
+10 @15 f
+(\017[edieresis])165600 516000 w
+(\017U\02600EB\026)277200 v
+&11
+(e dieresis)3330 1 334800 u
+(\316)79200 528000 w
+&15
+(\017\(:i)118800 v
+8 @11 f
+(*)144466 524800 w
+10 @15 f
+(\017[idieresis])165600 528000 w
+(\017U\02600EF\026)277200 v
+&11
+(i dieresis)3330 1 334800 u
+(\347)79200 540000 w
+&15
+(\017\(:o)118800 v
+8 @11 f
+(*)144466 536800 w
+10 @15 f
+(\017[odieresis])165600 540000 w
+(\017U\02600F6\026)277200 v
+&11
+(o dieresis)3330 1 334800 u
+(\350)79200 552000 w
+&15
+(\017\(:u)118800 v
+8 @11 f
+(*)144466 548800 w
+10 @15 f
+(\017[udieresis])165600 552000 w
+(\017U\02600FC\026)277200 v
+&11
+(u dieresis)3330 1 334800 u
+(\274)79200 564000 w
+&15
+(\017\(:y)118800 v
+8 @11 f
+(*)144466 560800 w
+10 @15 f
+(\017[ydieresis])165600 564000 w
+(\017U\02600FF\026)277200 v
+&11
+(y dieresis)3330 1 334800 u
+(\245)79200 576000 w
+&15
+(\017\(^A)118800 v
+8 @11 f
+(*)144466 572800 w
+10 @15 f
+(\017[Acircumflex])165600 576000 w
+(\017U\02600C2\026)277200 v
+&11
+(A circumfle)3330 1 334800 u
+(x)383520 v
+(\276)79200 588000 w
+&15
+(\017\(^E)118800 v
+8 @11 f
+(*)144466 584800 w
+10 @15 f
+(\017[Ecircumflex])165600 588000 w
+(\017U\02600CA\026)277200 v
+&11
+(E circumfle)3330 1 334800 u
+(x)382410 v
+(\345)79200 600000 w
+&15
+(\017\(^I)118800 v
+8 @11 f
+(*)144466 596800 w
+10 @15 f
+(\017[Icircumflex])165600 600000 w
+(\017U\02600CE\026)277200 v
+&11
+(I circumfle)3330 1 334800 u
+(x)379630 v
+(\317)79200 612000 w
+&15
+(\017\(^O)118800 v
+8 @11 f
+(*)144466 608800 w
+10 @15 f
+(\017[Ocircumflex])165600 612000 w
+(\017U\02600D4\026)277200 v
+&11
+(O circumfle)3330 1 334800 u
+(x)383520 v
+(\247)79200 624000 w
+&15
+(\017\(^U)118800 v
+8 @11 f
+(*)144466 620800 w
+10 @15 f
+(\017[Ucircumflex])165600 624000 w
+(\017U\02600DB\026)277200 v
+&11
+(U circumfle)3330 1 334800 u
+(x)383520 v
+(\264)79200 636000 w
+&15
+(\017\(^a)118800 v
+8 @11 f
+(*)144466 632800 w
+10 @15 f
+(\017[acircumflex])165600 636000 w
+(\017U\02600E2\026)277200 v
+&11
+(a circumfle)3330 1 334800 u
+(x)380740 v
+(\251)79200 648000 w
+&15
+(\017\(^e)118800 v
+8 @11 f
+(*)144466 644800 w
+10 @15 f
+(\017[ecircumflex])165600 648000 w
+(\017U\02600EA\026)277200 v
+&11
+(e circumfle)3330 1 334800 u
+(x)380740 v
+(\275)79200 660000 w
+&15
+(\017\(^i)118800 v
+8 @11 f
+(*)144466 656800 w
+10 @15 f
+(\017[icircumflex])165600 660000 w
+(\017U\02600EE\026)277200 v
+&11
+(i circumfle)3330 1 334800 u
+(x)379080 v
+(\330)79200 672000 w
+&15
+(\017\(^o)118800 v
+8 @11 f
+(*)144466 668800 w
+10 @15 f
+(\017[ocircumflex])165600 672000 w
+(\017U\02600F4\026)277200 v
+&11
+(o circumfle)3330 1 334800 u
+(x)381300 v
+(\263)79200 684000 w
+&15
+(\017\(^u)118800 v
+8 @11 f
+(*)144466 680800 w
+10 @15 f
+(\017[ucircumflex])165600 684000 w
+(\017U\02600FB\026)277200 v
+&11
+(u circumfle)3330 1 334800 u
+(x)381300 v
+(\271)79200 696000 w
+&15
+(\017\(\014A)118800 v
+8 @11 f
+(*)144466 692800 w
+10 @15 f
+(\017[Agrave])165600 696000 w
+(\017U\02600C0\026)277200 v
+&11
+(A gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\305)79200 708000 w
+&15
+(\017\(\014E)118800 v
+8 @11 f
+(*)144466 704800 w
+10 @15 f
+(\017[Egrave])165600 708000 w
+(\017U\02600C8\026)277200 v
+&11
+(E gra)3330 1 334800 u
+(v)356810 v
+(e)361660 v
+(\001)294340 760800 w
+(77)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 77 77
+%%Page: 78 78
+save
+mark
+78 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&11
+(\327)79200 98400 w
+&15
+(\017\(\014I)118800 v
+8 @11 f
+(*)144466 95200 w
+10 @15 f
+(\017[Igrave])165600 98400 w
+(\017U\02600CC\026)277200 v
+&11
+(I gra)3330 1 334800 u
+(v)354030 v
+(e)358880 v
+(\270)79200 110400 w
+&15
+(\017\(\014O)118800 v
+8 @11 f
+(*)144466 107200 w
+10 @15 f
+(\017[Ograve])165600 110400 w
+(\017U\02600D2\026)277200 v
+&11
+(O gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\320)79200 122400 w
+&15
+(\017\(\014U)118800 v
+8 @11 f
+(*)144466 119200 w
+10 @15 f
+(\017[Ugrave])165600 122400 w
+(\017U\02600D9\026)277200 v
+&11
+(U gra)3330 1 334800 u
+(v)357920 v
+(e)362770 v
+(\257)79200 134400 w
+&15
+(\017\(\014a)118800 v
+8 @11 f
+(*)144466 131200 w
+10 @15 f
+(\017[agrave])165600 134400 w
+(\017U\02600E0\026)277200 v
+&11
+(a gra)3330 1 334800 u
+(v)355140 v
+(e)359990 v
+(\313)79200 146400 w
+&15
+(\017\(\014e)118800 v
+8 @11 f
+(*)144466 143200 w
+10 @15 f
+(\017[egrave])165600 146400 w
+(\017U\02600E8\026)277200 v
+&11
+(e gra)3330 1 334800 u
+(v)355140 v
+(e)359990 v
+(\325)79200 158400 w
+&15
+(\017\(\014i)118800 v
+8 @11 f
+(*)144466 155200 w
+10 @15 f
+(\017[igrave])165600 158400 w
+(\017U\02600EC\026)277200 v
+&11
+(i gra)3330 1 334800 u
+(v)353480 v
+(e)358330 v
+(\335)79200 170400 w
+&15
+(\017\(\014o)118800 v
+8 @11 f
+(*)144466 167200 w
+10 @15 f
+(\017[ograve])165600 170400 w
+(\017U\02600F2\026)277200 v
+&11
+(o gra)3330 1 334800 u
+(v)355700 v
+(e)360550 v
+(\336)79200 182400 w
+&15
+(\017\(\014u)118800 v
+8 @11 f
+(*)144466 179200 w
+10 @15 f
+(\017[ugrave])165600 182400 w
+(\017U\02600F9\026)277200 v
+&11
+(u gra)3330 1 334800 u
+(v)355700 v
+(e)360550 v
+(\341)79200 194400 w
+&15
+(\017\(~A)118800 v
+8 @11 f
+(*)144466 191200 w
+10 @15 f
+(\017[Atilde])165600 194400 w
+(\017U\02600C3\026)277200 v
+&11
+(A tilde)3330 1 334800 u
+(\337)79200 206400 w
+&15
+(\017\(~N)118800 v
+8 @11 f
+(*)144466 203200 w
+10 @15 f
+(\017[Ntilde])165600 206400 w
+(\017U\02600D1\026)277200 v
+&11
+(N tilde)3330 1 334800 u
+(\343)79200 218400 w
+&15
+(\017\(~O)118800 v
+8 @11 f
+(*)144466 215200 w
+10 @15 f
+(\017[Otilde])165600 218400 w
+(\017U\02600D5\026)277200 v
+&11
+(O tilde)3330 1 334800 u
+(\260)79200 230400 w
+&15
+(\017\(~a)118800 v
+8 @11 f
+(*)144466 227200 w
+10 @15 f
+(\017[atilde])165600 230400 w
+(\017U\02600E3\026)277200 v
+&11
+(a tilde)3330 1 334800 u
+(\331)79200 242400 w
+&15
+(\017\(~n)118800 v
+8 @11 f
+(*)144466 239200 w
+10 @15 f
+(\017[ntilde])165600 242400 w
+(\017U\02600F1\026)277200 v
+&11
+(n tilde)3330 1 334800 u
+(\340)79200 254400 w
+&15
+(\017\(~o)118800 v
+8 @11 f
+(*)144466 251200 w
+10 @15 f
+(\017[otilde])165600 254400 w
+(\017U\02600F5\026)277200 v
+&11
+(o tilde)3330 1 334800 u
+(\333)79200 266400 w
+&15
+(\017\(vS)118800 v
+8 @11 f
+(*)144466 263200 w
+10 @15 f
+(\017[Scaron])165600 266400 w
+(\017U\0260160\026)277200 v
+&11
+(S caron)3330 1 334800 u
+(\261)79200 278400 w
+&15
+(\017\(vs)118800 v
+8 @11 f
+(*)144466 275200 w
+10 @15 f
+(\017[scaron])165600 278400 w
+(\017U\0260161\026)277200 v
+&11
+(s caron)3330 1 334800 u
+(\306)79200 290400 w
+&15
+(\017\(vZ)118800 v
+8 @11 f
+(*)144466 287200 w
+10 @15 f
+(\017[Zcaron])165600 290400 w
+(\017U\026017D\026)277200 v
+&11
+(Z caron)3330 1 334800 u
+(\352)79200 302400 w
+&15
+(\017\(vz)118800 v
+8 @11 f
+(*)144466 299200 w
+10 @15 f
+(\017[zcaron])165600 302400 w
+(\017U\026017E\026)277200 v
+&11
+(z caron)3330 1 334800 u
+(\310)79200 314400 w
+&15
+(\017\(,C)118800 v
+8 @11 f
+(*)144466 311200 w
+10 @15 f
+(\017[Ccedilla])165600 314400 w
+(\017U\02600C7\026)277200 v
+&11
+(C cedilla)3330 1 334800 u
+(\265)79200 326400 w
+&15
+(\017\(,c)118800 v
+8 @11 f
+(*)144466 323200 w
+10 @15 f
+(\017[ccedilla])165600 326400 w
+(\017U\02600E7\026)277200 v
+&11
+(c cedilla)3330 1 334800 u
+(\342)79200 338400 w
+&15
+(\017\(oA)118800 v
+8 @11 f
+(*)144466 335200 w
+10 @15 f
+(\017[Aring])165600 338400 w
+(\017U\02600C5\026)277200 v
+&11
+(A ring)3330 1 334800 u
+(\256)79200 350400 w
+&15
+(\017\(oa)118800 v
+8 @11 f
+(*)144466 347200 w
+10 @15 f
+(\017[aring])165600 350400 w
+(\017U\02600E5\026)277200 v
+&11
+(a ring)3330 1 334800 u
+(\221)79200 367200 w
+&15
+(\017\(a\020)118800 v
+8 @11 f
+(*)144466 364000 w
+10 @15 f
+(\017[hungarumlaut])165600 367200 w
+(\017U\02602DD\026)277200 v
+&11
+(Hung)334800 v
+(arian umlaut)3330 1 356970 u
+(\214)79200 379200 w
+&15
+(\017\(a)118800 v
+&20
+(\007)136800 v
+8 @11 f
+(*)143956 376000 w
+10 @15 f
+(\017[macron])165600 379200 w
+(\017U\02600AF\026)277200 v
+&11
+(o)334800 v
+(v)339650 v
+(erbar accent)3330 1 344500 u
+(\216)79200 391200 w
+&15
+(\017\(a.)118800 v
+8 @11 f
+(*)144466 388000 w
+10 @15 f
+(\017[dotaccent])165600 391200 w
+(\017U\02602D9\026)277200 v
+&11
+(dot accent)3330 1 334800 u
+(^)79200 403200 w
+&15
+(\017\(a^)118800 v
+8 @11 f
+(*)144466 400000 w
+10 @15 f
+(\017[circumflex])165600 403200 w
+(\017U\026005E\026)277200 v
+&11
+(circumfle)334800 v
+(x accent)3330 1 372970 u
+(\013)79200 415200 w
+&15
+(\017\(aa)118800 v
+(\017[acute])165600 v
+(\017U\02600B4\026)277200 v
+&11
+(acute accent)3330 1 334800 u
+(\014)79200 427200 w
+&15
+(\017\(ga)118800 v
+(\017[grave])165600 v
+(\017U\0260060\026)277200 v
+&11
+(gra)334800 v
+(v)347370 v
+(e accent)3330 1 352220 u
+(\215)79200 439200 w
+&15
+(\017\(ab)118800 v
+8 @11 f
+(*)144466 436000 w
+10 @15 f
+(\017[breve])165600 439200 w
+(\017U\02602D8\026)277200 v
+&11
+(bre)334800 v
+(v)347320 v
+(e accent)3330 1 352170 u
+(\220)79200 451200 w
+&15
+(\017\(ac)118800 v
+8 @11 f
+(*)144466 448000 w
+10 @15 f
+(\017[cedilla])165600 451200 w
+(\017U\02600B8\026)277200 v
+&11
+(cedilla accent)3330 1 334800 u
+(\217)79200 463200 w
+&15
+(\017\(ad)118800 v
+8 @11 f
+(*)144466 460000 w
+10 @15 f
+(\017[dieresis])165600 463200 w
+(\017U\02600A8\026)277200 v
+&11
+(umlaut accent)3330 1 334800 u
+(\223)79200 475200 w
+&15
+(\017\(ah)118800 v
+8 @11 f
+(*)144466 472000 w
+10 @15 f
+(\017[caron])165600 475200 w
+(\017U\02602C7\026)277200 v
+&11
+(caron accent)3330 1 334800 u
+(\021)79200 487200 w
+&15
+(\017\(ao)118800 v
+8 @11 f
+(*)144466 484000 w
+10 @15 f
+(\017[ring])165600 487200 w
+(\017U\02602DA\026)277200 v
+&11
+(ring accent)3330 1 334800 u
+(~)79200 499200 w
+&15
+(\017\(a~)118800 v
+8 @11 f
+(*)144466 496000 w
+10 @15 f
+(\017[tilde])165600 499200 w
+(\017U\026007E\026)277200 v
+&11
+(tilde accent)3330 1 334800 u
+(\222)79200 511200 w
+&15
+(\017\(ho)118800 v
+8 @11 f
+(*)144466 508000 w
+10 @15 f
+(\017[ogonek])165600 511200 w
+(\017U\02602dB\026)277200 v
+&11
+(hook accent)3330 1 334800 u
+(\032)79200 523200 w
+&15
+(\017\(ha)118800 v
+8 @11 f
+(*)144466 520000 w
+10 @15 f
+(\017[asciicircum])165600 523200 w
+(\017U\026005E\026)277200 v
+&11
+(high circumfle)3330 1 334800 u
+(x)394080 v
+(\033)79200 535200 w
+&15
+(\017\(ti)118800 v
+8 @11 f
+(*)144466 532000 w
+10 @15 f
+(\017[asciitilde])165600 535200 w
+(\017U\026007E\026)277200 v
+&11
+(tilde in the v)3330 1 334800 u
+(ertical middle)3330 1 387420 u
+(\207)79200 552000 w
+&15
+(\017\(Bq)118800 v
+8 @11 f
+(*)144466 548800 w
+10 @15 f
+(\017[quotedblbase])165600 552000 w
+(\017U\026201E\026)277200 v
+&11
+(lo)334800 v
+(w double comma quote)3330 1 342330 u
+(\206)79200 564000 w
+&15
+(\017\(bq)118800 v
+8 @11 f
+(*)144466 560800 w
+10 @15 f
+(\017[quotesinglbase])165600 564000 w
+(\017U\026201A\026)277200 v
+&11
+(lo)334800 v
+(w single comma quote)3330 1 342330 u
+(\024)79200 576000 w
+&15
+(\017\(lq)118800 v
+(\017[quotedblleft])165600 v
+(\017U\026201C\026)277200 v
+&11
+(left double quote)3330 1 334800 u
+(\024)79200 588000 w
+&15
+(\017\(\014\014)118800 v
+&12
+(\(alias\))334800 v
+&11
+(\025)79200 600000 w
+&15
+(\017\(rq)118800 v
+(\017[quotedblright])165600 v
+(\017U\026201D\026)277200 v
+&11
+(right double quote)3330 1 334800 u
+(\025)79200 612000 w
+&15
+(\017\(\026\026)118800 v
+&12
+(\(alias\))334800 v
+&11
+(\027)79200 624000 w
+&15
+(\017\(oq)118800 v
+(\017[quoteleft])165600 v
+(\017U\0262018\026)277200 v
+&11
+(single open quote)3330 1 334800 u
+(\030)79200 636000 w
+&15
+(\017\(cq)118800 v
+(\017[quoteright])165600 v
+(\017U\0262019\026)277200 v
+&11
+(single closing quote)3330 1 334800 u
+(\026)79200 648000 w
+&15
+(\017\(aq)118800 v
+(\017[quotesingle])165600 v
+(\017U\0260027\026)277200 v
+&11
+(apostrophe quote)3330 1 334800 u
+(\020)79200 660000 w
+&15
+(\017\(dq)118800 v
+(\017[quotedbl])165600 v
+(\017U\0260022\026)277200 v
+&11
+(double quote)3330 1 334800 u
+(\201)79200 672000 w
+&15
+(\017\(Fo)118800 v
+8 @11 f
+(*)144466 668800 w
+10 @15 f
+(\017[guillemotleft])165600 672000 w
+(\017U\02600AB\026)277200 v
+&11
+(left guillemet)3330 1 334800 u
+(\210)79200 684000 w
+&15
+(\017\(Fc)118800 v
+8 @11 f
+(*)144466 680800 w
+10 @15 f
+(\017[guillemotright])165600 684000 w
+(\017U\02600BB\026)277200 v
+&11
+(right guillemet)3330 1 334800 u
+(\202)79200 696000 w
+&15
+(\017\(fo)118800 v
+8 @11 f
+(*)144466 692800 w
+10 @15 f
+(\017[guilsinglleft])165600 696000 w
+(\017U\0262039\026)277200 v
+&11
+(single left angle quotation mark)3330 1 334800 u
+(\203)79200 708000 w
+&15
+(\017\(fc)118800 v
+8 @11 f
+(*)144466 704800 w
+10 @15 f
+(\017[guilsinglright])165600 708000 w
+(\017U\026203A\026)277200 v
+&11
+(single right angle quotation mark)3330 1 334800 u
+(\001)294340 760800 w
+(78)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 78 78
+%%Page: 79 79
+save
+mark
+79 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&11
+(\034)79200 98400 w
+&15
+(\017\(r!)118800 v
+8 @11 f
+(*)144466 95200 w
+10 @15 f
+(\017[exclamdown])165600 98400 w
+(\017U\02600A1\026)277200 v
+&11
+(in)334800 v
+(v)342180 v
+(erted e)3330 1 347030 u
+(xclamation mark)3330 1 374640 u
+(\213)79200 110400 w
+&15
+(\017\(r?)118800 v
+8 @11 f
+(*)144466 107200 w
+10 @15 f
+(\017[questiondown])165600 110400 w
+(\017U\02600BF\026)277200 v
+&11
+(in)334800 v
+(v)342180 v
+(erted question mark)3330 1 347030 u
+(\006)79200 122400 w
+&15
+(\017\(em)118800 v
+(\017[emdash])165600 v
+(\017U\0262014\026)277200 v
+&11
+(em\001dash symbol)3330 1 334800 u
+(\012)79200 134400 w
+&15
+(\017\(en)118800 v
+(\017[endash])165600 v
+(\017U\0262013\026)277200 v
+&11
+(en\001dash symbol)3330 1 334800 u
+(\001)79200 146400 w
+&15
+(\017\(hy)118800 v
+(\017[hyphen])165600 v
+(\017U\0262010\026)277200 v
+&11
+(h)334800 v
+(yphen symbol)3330 1 339750 u
+([)79200 163200 w
+&15
+(\017\(lB)118800 v
+8 @11 f
+(*)144466 160000 w
+10 @15 f
+(\017[bracketleft])165600 163200 w
+(\017U\026005B\026)277200 v
+&11
+(left square brack)3330 1 334800 u
+(et)403000 v
+(])79200 175200 w
+&15
+(\017\(rB)118800 v
+8 @11 f
+(*)144466 172000 w
+10 @15 f
+(\017[bracketright])165600 175200 w
+(\017U\026005D\026)277200 v
+&11
+(right square brack)3330 1 334800 u
+(et)408560 v
+({)79200 187200 w
+&15
+(\017\(lC)118800 v
+8 @11 f
+(*)144466 184000 w
+10 @15 f
+(\017[braceleft])165600 187200 w
+(\017U\026007B\026)277200 v
+&11
+(left curly brack)3330 1 334800 u
+(et)397450 v
+(})79200 199200 w
+&15
+(\017\(rC)118800 v
+8 @11 f
+(*)144466 196000 w
+10 @15 f
+(\017[braceright])165600 199200 w
+(\017U\026007D\026)277200 v
+&11
+(right curly brack)3330 1 334800 u
+(et)403010 v
+&20
+(\265)79200 211200 w
+&15
+(\017\(la)118800 v
+8 @11 f
+(*)144466 208000 w
+10 @15 f
+(\017[angleleft])165600 211200 w
+(\017U\02627E8\026)277200 v
+&11
+(mathematical left angle brack)3330 1 334800 u
+(et)455770 v
+&20
+(\274)79200 223200 w
+&15
+(\017\(ra)118800 v
+8 @11 f
+(*)144466 220000 w
+10 @15 f
+(\017[angleright])165600 223200 w
+(\017U\02627E9\026)277200 v
+&11
+(mathematical right angle brack)3330 1 334800 u
+(et)461330 v
+&20
+(\210)79200 235200 w
+&15
+(\017\(bv)118800 v
+(\017[braceex])165600 v
+(\017U\02623AA\026)277200 v
+&11
+(curly brace v)3330 1 334800 u
+(ertical e)3330 1 388510 u
+(xtension)421120 v
+&20
+(\203)79200 247200 w
+&15
+(\017[bracketlefttp])165600 v
+(\017U\02623A1\026)277200 v
+&11
+(left square brack)3330 1 334800 u
+(et top)3330 1 403000 u
+&20
+(\204)79200 259200 w
+&15
+(\017[bracketleftbt])165600 v
+(\017U\02623A3\026)277200 v
+&11
+(left square brack)3330 1 334800 u
+(et bottom)3330 1 403000 u
+&20
+(\220)79200 271200 w
+&15
+(\017[bracketleftex])165600 v
+(\017U\02623A2\026)277200 v
+&11
+(left square brack)3330 1 334800 u
+(et e)3330 1 403000 u
+(xtension)417840 v
+&20
+(\212)79200 283200 w
+&15
+(\017[bracketrighttp])165600 v
+(\017U\02623A4\026)277200 v
+&11
+(right square brack)3330 1 334800 u
+(et top)3330 1 408560 u
+&20
+(\213)79200 295200 w
+&15
+(\017[bracketrightbt])165600 v
+(\017U\02623A6\026)277200 v
+&11
+(right square brack)3330 1 334800 u
+(et bottom)3330 1 408560 u
+&20
+(\303)79200 307200 w
+&15
+(\017[bracketrightex])165600 v
+(\017U\02623A5\026)277200 v
+&11
+(right square brack)3330 1 334800 u
+(et e)3330 1 408560 u
+(xtension)423400 v
+&20
+(\205)79200 319200 w
+&15
+(\017\(lt)118800 v
+(\017[bracelefttp])165600 v
+(\017U\02623A7\026)277200 v
+&11
+(left curly brace top)3330 1 334800 u
+&20
+(\206)79200 331200 w
+&15
+(\017\(lk)118800 v
+(\017[braceleftmid])165600 v
+(\017U\02623A8\026)277200 v
+&11
+(left curly brace middle)3330 1 334800 u
+&20
+(\207)79200 343200 w
+&15
+(\017\(lb)118800 v
+(\017[braceleftbt])165600 v
+(\017U\02623A9\026)277200 v
+&11
+(left curly brace bottom)3330 1 334800 u
+&15
+(\017[braceleftex])165600 355200 w
+(\017U\02623AA\026)277200 v
+&11
+(left curly brace e)3330 1 334800 u
+(xtension)404610 v
+&20
+(\214)79200 367200 w
+&15
+(\017\(rt)118800 v
+(\017[bracerighttp])165600 v
+(\017U\02623AB\026)277200 v
+&11
+(right curly brace top)3330 1 334800 u
+&20
+(\215)79200 379200 w
+&15
+(\017\(rk)118800 v
+(\017[bracerightmid])165600 v
+(\017U\02623AC\026)277200 v
+&11
+(right curly brace middle)3330 1 334800 u
+&20
+(\216)79200 391200 w
+&15
+(\017\(rb)118800 v
+(\017[bracerightbt])165600 v
+(\017U\02623AD\026)277200 v
+&11
+(right curly brace bottom)3330 1 334800 u
+&15
+(\017[bracerightex])165600 403200 w
+(\017U\02623AA\026)277200 v
+&11
+(right curly brace e)3330 1 334800 u
+(xtension)410170 v
+&20
+(\272)79200 415200 w
+&15
+(\017[parenlefttp])165600 v
+(\017U\026239B\026)277200 v
+&11
+(left parenthesis top)3330 1 334800 u
+&20
+(\273)79200 427200 w
+&15
+(\017[parenleftbt])165600 v
+(\017U\026239D\026)277200 v
+&11
+(left parenthesis bottom)3330 1 334800 u
+&20
+(\002)79200 439200 w
+&15
+(\017[parenleftex])165600 v
+(\017U\026239C\026)277200 v
+&11
+(left parenthesis e)3330 1 334800 u
+(xtension)404070 v
+&20
+(\300)79200 451200 w
+&15
+(\017[parenrighttp])165600 v
+(\017U\026239E\026)277200 v
+&11
+(right parenthesis top)3330 1 334800 u
+&20
+(\302)79200 463200 w
+&15
+(\017[parenrightbt])165600 v
+(\017U\02623A0\026)277200 v
+&11
+(right parenthesis bottom)3330 1 334800 u
+&20
+(\301)79200 475200 w
+&15
+(\017[parenrightex])165600 v
+(\017U\026239F\026)277200 v
+&11
+(right parenthesis e)3330 1 334800 u
+(xtension)409630 v
+&20
+(\136)79200 492000 w
+&15
+(\017\(<)118800 v
+&20
+(\007)136800 v
+&15
+(\017[arrowleft])165600 v
+(\017U\0262190\026)277200 v
+&11
+(arro)334800 v
+(w left)3330 1 350650 u
+&20
+(\001)79200 504000 w
+&15
+(\017\()118800 v
+&20
+(\007)130800 v
+&15
+(>)136290 v
+(\017[arrowright])165600 v
+(\017U\0262192\026)277200 v
+&11
+(arro)334800 v
+(w right)3330 1 350650 u
+&20
+(\240)79200 516000 w
+&15
+(\017\(<>)118800 v
+8 @11 f
+(*)144466 512800 w
+10 @15 f
+(\017[arrowboth])165600 516000 w
+(\017U\0262194\026)277200 v
+&11
+(horizontal arro)3330 1 334800 u
+(w in both directions)3330 1 394530 u
+&20
+(\141)79200 528000 w
+&15
+(\017\(da)118800 v
+(\017[arrowdown])165600 v
+(\017U\0262193\026)277200 v
+&11
+(arro)334800 v
+(w do)3330 1 350650 u
+(wn)370950 v
+&20
+(\140)79200 540000 w
+&15
+(\017\(ua)118800 v
+(\017[arrowup])165600 v
+(\017U\0262191\026)277200 v
+&11
+(arro)334800 v
+(w up)3330 1 350650 u
+&15
+(\017\(va)118800 552000 w
+8 @11 f
+(*)144466 548800 w
+10 @15 f
+(\017[arrowupdn])165600 552000 w
+(\017U\0262195\026)277200 v
+&11
+(v)334800 v
+(ertical arro)3330 1 339650 u
+(w in both directions)3330 1 383820 u
+&20
+(\260)79200 564000 w
+&15
+(\017\(lA)118800 v
+8 @11 f
+(*)144466 560800 w
+10 @15 f
+(\017[arrowdblleft])165600 564000 w
+(\017U\02621D0\026)277200 v
+&11
+(double arro)3330 1 334800 u
+(w left)3330 1 381200 u
+&20
+(\262)79200 576000 w
+&15
+(\017\(rA)118800 v
+8 @11 f
+(*)144466 572800 w
+10 @15 f
+(\017[arrowdblright])165600 576000 w
+(\017U\02621D2\026)277200 v
+&11
+(double arro)3330 1 334800 u
+(w right)3330 1 381200 u
+&20
+(\257)79200 588000 w
+&15
+(\017\(hA)118800 v
+8 @11 f
+(*)144466 584800 w
+10 @15 f
+(\017[arrowdblboth])165600 588000 w
+(\017U\02621D4\026)277200 v
+&11
+(horizontal double arro)3330 1 334800 u
+(w in both directions)3330 1 425080 u
+&20
+(\263)79200 600000 w
+&15
+(\017\(dA)118800 v
+8 @11 f
+(*)144466 596800 w
+10 @15 f
+(\017[arrowdbldown])165600 600000 w
+(\017U\02621D3\026)277200 v
+&11
+(double arro)3330 1 334800 u
+(w do)3330 1 381200 u
+(wn)401500 v
+&20
+(\261)79200 612000 w
+&15
+(\017\(uA)118800 v
+8 @11 f
+(*)144466 608800 w
+10 @15 f
+(\017[arrowdblup])165600 612000 w
+(\017U\02621D1\026)277200 v
+&11
+(double arro)3330 1 334800 u
+(w up)3330 1 381200 u
+&15
+(\017\(vA)118800 624000 w
+8 @11 f
+(*)144466 620800 w
+10 @15 f
+(\017[uni21D5])165600 624000 w
+(\017U\02621D5\026)277200 v
+&11
+(v)334800 v
+(ertical double arro)3330 1 339650 u
+(w in both directions)3330 1 414370 u
+&20
+(\244)79200 636000 w
+&15
+(\017\(an)118800 v
+8 @11 f
+(*)144466 632800 w
+10 @15 f
+(\017[arrowhorizex])165600 636000 w
+(\017U\02623AF\026)277200 v
+&11
+(horizontal arro)3330 1 334800 u
+(w e)3330 1 394530 u
+(xtension)409370 v
+(\023)79200 652800 w
+&15
+(\017\(ba)118800 v
+8 @11 f
+(*)144466 649600 w
+10 @15 f
+(\017[bar])165600 652800 w
+(\017U\026007C\026)277200 v
+&11
+(bar)334800 v
+&20
+(\002)79200 664800 w
+&15
+(\017\(br)118800 v
+(\017[SF110000])165600 v
+(\017U\0262502\026)277200 v
+&11
+(box rule)3330 1 334800 u
+&20
+(\044)79200 676800 w
+&15
+(\017\(ul)118800 v
+(\017[underscore])165600 v
+(\017U\026005F\026)277200 v
+&11
+(underscore)334800 v
+&20
+(\047)79200 688800 w
+&15
+(\017\(rn)118800 v
+(\017[overline])165600 v
+(\017U\026203E\026)277200 v
+&11
+(o)334800 v
+(v)339650 v
+(erline)344500 v
+&19
+(\011)79200 700800 w
+&15
+(\017\(ru)118800 v
+&11
+(baseline rule)3330 1 334800 u
+(\303)79200 712800 w
+&15
+(\017\(bb)118800 v
+8 @11 f
+(*)144466 709600 w
+10 @15 f
+(\017[brokenbar])165600 712800 w
+(\017U\02600A6\026)277200 v
+&11
+(brok)334800 v
+(en bar)3330 1 353030 u
+(\001)294340 760800 w
+(79)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 79 79
+%%Page: 80 80
+save
+mark
+80 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&20
+(\132)79200 98400 w
+&15
+(\017\(sl)118800 v
+(\017[slash])165600 v
+(\017U\026002F\026)277200 v
+&11
+(slash)334800 v
+(\017)79200 110400 w
+&15
+(\017\(rs)118800 v
+(\017[backslash])165600 v
+(\017U\026005C\026)277200 v
+&11
+(re)334800 v
+(v)342320 v
+(ers slash)3330 1 347170 u
+()79200 127200 w
+79200 127200 m
+7320 build_ci
+86520 127200 m
+&15
+(\017\(ci)118800 v
+(\017[circle])165600 v
+(\017U\02625CB\026)277200 v
+&11
+(circle)334800 v
+(\022)79200 139200 w
+&15
+(\017\(bu)118800 v
+(\017[bullet])165600 v
+(\017U\0262022\026)277200 v
+&11
+(b)334800 v
+(ullet)339600 v
+(\016)79200 151200 w
+&15
+(\017\(dd)118800 v
+(\017[daggerdbl])165600 v
+(\017U\0262021\026)277200 v
+&11
+(double dagger)3330 1 334800 u
+(\005)79200 163200 w
+&15
+(\017\(dg)118800 v
+(\017[dagger])165600 v
+(\017U\0262020\026)277200 v
+&11
+(dagger)334800 v
+&20
+(\264)79200 175200 w
+&15
+(\017\(lz)118800 v
+8 @11 f
+(*)144466 172000 w
+10 @15 f
+(\017[lozenge])165600 175200 w
+(\017U\02625CA\026)277200 v
+&11
+(diamond)334800 v
+()79200 187200 w
+79200 187200 m
+4880 build_sq
+84080 187200 m
+&15
+(\017\(sq)118800 v
+(\017[uni25A1])165600 v
+(\017U\02625A1\026)277200 v
+&11
+(square)334800 v
+&15
+(\017\(ps)118800 199200 w
+8 @11 f
+(*)144466 196000 w
+10 @15 f
+(\017[paragraph])165600 199200 w
+(\017U\02600B6\026)277200 v
+&11
+(end of paragraph mark)3330 1 334800 u
+(er)427990 v
+(\015)79200 211200 w
+&15
+(\017\(sc)118800 v
+(\017[section])165600 v
+(\017U\02600A7\026)277200 v
+&11
+(section sign)3330 1 334800 u
+&20
+()79200 223200 w
+79200 223200 m
+9760 build_lh
+88960 223200 m
+&15
+(\017\(lh)118800 v
+(\017[uni261C])165600 v
+(\017U\026261C\026)277200 v
+&11
+(hand pointing left)3330 1 334800 u
+&20
+()79200 235200 w
+79200 235200 m
+9760 build_rh
+88960 235200 m
+&15
+(\017\(rh)118800 v
+(\017[a14])165600 v
+(\017U\026261E\026)277200 v
+&11
+(hand pointing right)3330 1 334800 u
+(@)79200 247200 w
+&15
+(\017\(at)118800 v
+(\017[at])165600 v
+(\017U\0260040\026)277200 v
+&11
+(at)334800 v
+(#)79200 259200 w
+&15
+(\017\(sh)118800 v
+8 @11 f
+(*)144466 256000 w
+10 @15 f
+(\017[numbersign])165600 259200 w
+(\017U\0260023\026)277200 v
+&11
+(number sign)3330 1 334800 u
+&20
+(\245)79200 271200 w
+&15
+(\017\(CR)118800 v
+8 @11 f
+(*)144466 268000 w
+10 @15 f
+(\017[carriagereturn])165600 271200 w
+(\017U\02621B5\026)277200 v
+&11
+(carriage return)3330 1 334800 u
+&15
+(\017\(OK)118800 283200 w
+8 @11 f
+(*)144466 280000 w
+10 @15 f
+(\017[a19])165600 283200 w
+(\017U\0262713\026)277200 v
+&11
+(check mark)3330 1 334800 u
+&20
+(\172)79200 300000 w
+&15
+(\017\(co)118800 v
+(\017[copyright])165600 v
+(\017U\02600A9\026)277200 v
+&11
+(cop)334800 v
+(yright sign)3330 1 349140 u
+&20
+(\171)79200 312000 w
+&15
+(\017\(rg)118800 v
+(\017[registered])165600 v
+(\017U\02600AE\026)277200 v
+&11
+(re)334800 v
+(gistered mark)3330 1 342420 u
+&20
+(\177)79200 324000 w
+&15
+(\017\(tm)118800 v
+(\017[trademark])165600 v
+(\017U\0262122\026)277200 v
+&11
+(trademark symbol)3330 1 334800 u
+&15
+(\017\(bs)118800 336000 w
+&11
+(A)334800 v
+(T&T Bell Labs logo)3330 1 340910 u
+($)79200 352800 w
+&15
+(\017\(Do)118800 v
+8 @11 f
+(*)144466 349600 w
+10 @15 f
+(\017[dollar])165600 352800 w
+(\017U\0260024\026)277200 v
+&11
+(dollar)334800 v
+(\002)79200 364800 w
+&15
+(\017\(ct)118800 v
+(\017[cent])165600 v
+(\017U\02600A2\026)277200 v
+&11
+(cent)334800 v
+(\354)79200 376800 w
+&15
+(\017\(Eu)118800 v
+8 @11 f
+(*)144466 373600 w
+10 @15 f
+(\017[Euro])165600 376800 w
+(\017U\02620AC\026)277200 v
+&11
+(font\001specif)334800 v
+(ic Euro glyph)3330 1 377920 u
+(\037)79200 388800 w
+&15
+(\017\(Ye)118800 v
+8 @11 f
+(*)144466 385600 w
+10 @15 f
+(\017[yen])165600 388800 w
+(\017U\02600A5\026)277200 v
+&11
+(Japanese Y)2430 1 334800 u
+(en)378990 v
+(\035)79200 400800 w
+&15
+(\017\(Po)118800 v
+8 @11 f
+(*)144466 397600 w
+10 @15 f
+(\017[sterling])165600 400800 w
+(\017U\02600A3\026)277200 v
+&11
+(pound sterling)3330 1 334800 u
+(\200)79200 412800 w
+&15
+(\017\(Cs)118800 v
+8 @11 f
+(*)144466 409600 w
+10 @15 f
+(\017[currency])165600 412800 w
+(\017U\02600A4\026)277200 v
+&11
+(Scandina)334800 v
+(vian currenc)3330 1 371260 u
+(y sign)3330 1 421640 u
+(\177)79200 424800 w
+&15
+(\017\(Fn)118800 v
+8 @11 f
+(*)144466 421600 w
+10 @15 f
+(\017[florin])165600 424800 w
+(\017U\0260192\026)277200 v
+&11
+(Dutch currenc)3330 1 334800 u
+(y sign)3330 1 392400 u
+(\021)79200 441600 w
+&15
+(\017\(de)118800 v
+(\017[degree])165600 v
+(\017U\02600B0\026)277200 v
+&11
+(de)334800 v
+(gree)344090 v
+(\212)79200 453600 w
+&15
+(\017\(%0)118800 v
+8 @11 f
+(*)144466 450400 w
+10 @15 f
+(\017[perthousand])165600 453600 w
+(\017U\0262030\026)277200 v
+&11
+(per thousand)3330 1 334800 u
+&20
+(\130)79200 465600 w
+&15
+(\017\(fm)118800 v
+(\017[minute])165600 v
+(\017U\0262032\026)277200 v
+&11
+(arc minute sign)3330 1 334800 u
+&20
+(\241)79200 477600 w
+&15
+(\017\(sd)118800 v
+8 @11 f
+(*)144466 474400 w
+10 @15 f
+(\017[second])165600 477600 w
+(\017U\0262033\026)277200 v
+&11
+(arc second sign)3330 1 334800 u
+(\324)79200 489600 w
+&15
+(\017\(mc)118800 v
+8 @11 f
+(*)144466 486400 w
+10 @15 f
+(\017[mu])165600 489600 w
+(\017U\02600B5\026)277200 v
+&11
+(micro sign)3330 1 334800 u
+(\225)79200 501600 w
+&15
+(\017\(Of)118800 v
+8 @11 f
+(*)144466 498400 w
+10 @15 f
+(\017[ordfeminine])165600 501600 w
+(\017U\02600AA\026)277200 v
+&11
+(feminine ordinal)3330 1 334800 u
+(\231)79200 513600 w
+&15
+(\017\(Om)118800 v
+8 @11 f
+(*)144466 510400 w
+10 @15 f
+(\017[ordmasculine])165600 513600 w
+(\017U\02600BA\026)277200 v
+&11
+(masculine ordinal)3330 1 334800 u
+&20
+(\256)79200 530400 w
+&15
+(\017\(AN)118800 v
+8 @11 f
+(*)144466 527200 w
+10 @15 f
+(\017[logicaland])165600 530400 w
+(\017U\0262227\026)277200 v
+&11
+(logical and)3330 1 334800 u
+&20
+(\202)79200 542400 w
+&15
+(\017\(OR)118800 v
+8 @11 f
+(*)144466 539200 w
+10 @15 f
+(\017[logicalor])165600 542400 w
+(\017U\0262228\026)277200 v
+&11
+(logical or)3330 1 334800 u
+&20
+(\201)79200 554400 w
+&15
+(\017\(no)118800 v
+&11
+(logical not)3330 1 334800 u
+(\346)79200 566400 w
+&15
+(\017[tno])118800 v
+8 @11 f
+(*)156466 563200 w
+10 @15 f
+(\017[logicalnot])165600 566400 w
+(\017U\02600AC\026)277200 v
+&11
+(te)334800 v
+(xt v)3330 1 341870 u
+(ariant of)3330 1 357730 u
+(\027no\030)395490 v
+&20
+(\004)79200 578400 w
+&15
+(\017\(te)118800 v
+(\017[existential])165600 v
+(\017U\0262203\026)277200 v
+&11
+(there e)3330 1 334800 u
+(xists)362410 v
+&20
+(\003)79200 590400 w
+&15
+(\017\(fa)118800 v
+(\017[universal])165600 v
+(\017U\0262200\026)277200 v
+&11
+(for all)3330 1 334800 u
+&20
+(\222)79200 602400 w
+&15
+(\017\(st)118800 v
+8 @11 f
+(*)144466 599200 w
+10 @15 f
+(\017[suchthat])165600 602400 w
+(\017U\026220B\026)277200 v
+&11
+(such that)3330 1 334800 u
+&20
+(\225)79200 614400 w
+&15
+(\017\(3d)118800 v
+8 @11 f
+(*)144466 611200 w
+10 @15 f
+(\017[therefore])165600 614400 w
+(\017U\0262234\026)277200 v
+&11
+(therefor)334800 v
+&20
+(\225)79200 626400 w
+&15
+(\017\(tf)118800 v
+8 @11 f
+(*)144466 623200 w
+10 @12 f
+(\(alias\))334800 626400 w
+&11
+(\023)79200 638400 w
+&15
+(\017\(or)118800 v
+(\017[bar])165600 v
+(\017U\026007C\026)277200 v
+&11
+(bitwise OR)3330 1 334800 u
+(\011)79200 655200 w
+&15
+(\017\(12)118800 v
+(\017[onehalf])165600 v
+(\017U\02600BD\026)277200 v
+&11
+(1/2 symbol)3330 1 334800 u
+(\007)79200 667200 w
+&15
+(\017\(14)118800 v
+(\017[onequarter])165600 v
+(\017U\02600BC\026)277200 v
+&11
+(1/4 symbol)3330 1 334800 u
+(\010)79200 679200 w
+&15
+(\017\(34)118800 v
+(\017[threequarters])165600 v
+(\017U\02600BE\026)277200 v
+&11
+(3/4 symbol)3330 1 334800 u
+&15
+(\017\(18)118800 691200 w
+8 @11 f
+(*)144466 688000 w
+10 @15 f
+(\017[oneeighth])165600 691200 w
+(\017U\026215B\026)277200 v
+&11
+(1/8 symbol)3330 1 334800 u
+&15
+(\017\(38)118800 703200 w
+8 @11 f
+(*)144466 700000 w
+10 @15 f
+(\017[threeeighths])165600 703200 w
+(\017U\026215C\026)277200 v
+&11
+(3/8 symbol)3330 1 334800 u
+&15
+(\017\(58)118800 715200 w
+8 @11 f
+(*)144466 712000 w
+10 @15 f
+(\017[fiveeighths])165600 715200 w
+(\017U\026215D\026)277200 v
+&11
+(5/8 symbol)3330 1 334800 u
+(\001)294340 760800 w
+(80)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 80 80
+%%Page: 81 81
+save
+mark
+81 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&15
+(\017\(78)118800 98400 w
+8 @11 f
+(*)144466 95200 w
+10 @15 f
+(\017[seveneighths])165600 98400 w
+(\017U\026215E\026)277200 v
+&11
+(7/8 symbol)3330 1 334800 u
+(\353)79200 110400 w
+&15
+(\017\(S1)118800 v
+8 @11 f
+(*)144466 107200 w
+10 @15 f
+(\017[onesuperior])165600 110400 w
+(\017U\02600B9\026)277200 v
+&11
+(superscript 1)3330 1 334800 u
+(\322)79200 122400 w
+&15
+(\017\(S2)118800 v
+8 @11 f
+(*)144466 119200 w
+10 @15 f
+(\017[twosuperior])165600 122400 w
+(\017U\02600B2\026)277200 v
+&11
+(superscript 2)3330 1 334800 u
+(\267)79200 134400 w
+&15
+(\017\(S3)118800 v
+8 @11 f
+(*)144466 131200 w
+10 @15 f
+(\017[threesuperior])165600 134400 w
+(\017U\02600B3\026)277200 v
+&11
+(superscript 2)3330 1 334800 u
+&20
+(\006)79200 151200 w
+&15
+(\017\(pl)118800 v
+(\017[plus])165600 v
+(\017U\026002B\026)277200 v
+&11
+(plus)334800 v
+&20
+(\007)79200 163200 w
+&15
+(\017\(mi)118800 v
+(\017[minus])165600 v
+(\017U\0262212\026)277200 v
+&11
+(minus)334800 v
+&15
+(\017\()118800 175200 w
+&20
+(\007)130800 v
+&15
+(+)136290 v
+8 @11 f
+(*)143956 172000 w
+10 @15 f
+(\017[uni2213])165600 175200 w
+(\017U\0262213\026)277200 v
+&11
+(minus\001plus)334800 v
+&20
+(\143)79200 187200 w
+&15
+(\017\(+)118800 v
+&20
+(\007)136800 v
+&11
+(plus\001minus)334800 v
+(\302)79200 199200 w
+&15
+(\017[t+)118800 v
+&20
+(\007)142800 v
+&15
+(])148290 v
+8 @11 f
+(*)155956 196000 w
+10 @15 f
+(\017[plusminus])165600 199200 w
+(\017U\02600B1\026)277200 v
+&11
+(te)334800 v
+(xt v)3330 1 341870 u
+(ariant of plus\001minus)3330 1 357730 u
+(\204)79200 211200 w
+&15
+(\017\(pc)118800 v
+8 @11 f
+(*)144466 208000 w
+10 @15 f
+(\017[periodcentered])165600 211200 w
+(\017U\02600B7\026)277200 v
+&11
+(period centered)3330 1 334800 u
+&20
+(\255)79200 223200 w
+&15
+(\017\(md)118800 v
+8 @11 f
+(*)144466 220000 w
+10 @15 f
+(\017[dotmath])165600 223200 w
+(\017U\02622C5\026)277200 v
+&11
+(multiplication dot)3330 1 334800 u
+&20
+(\145)79200 235200 w
+&15
+(\017\(mu)118800 v
+&11
+(multiply sign)3330 1 334800 u
+(\272)79200 247200 w
+&15
+(\017[tmu])118800 v
+8 @11 f
+(*)156466 244000 w
+10 @15 f
+(\017[multiply])165600 247200 w
+(\017U\02600D7\026)277200 v
+&11
+(te)334800 v
+(xt v)3330 1 341870 u
+(ariant of multiply sign)3330 1 357730 u
+&20
+(\156)79200 259200 w
+&15
+(\017\(c*)118800 v
+8 @11 f
+(*)144466 256000 w
+10 @15 f
+(\017[circlemultiply])165600 259200 w
+(\017U\0262297\026)277200 v
+&11
+(multiply sign in circle)3330 1 334800 u
+&20
+(\157)79200 271200 w
+&15
+(\017\(c+)118800 v
+8 @11 f
+(*)144466 268000 w
+10 @15 f
+(\017[circleplus])165600 271200 w
+(\017U\0262295\026)277200 v
+&11
+(plus sign in circle)3330 1 334800 u
+&20
+(\151)79200 283200 w
+&15
+(\017\(di)118800 v
+&11
+(di)334800 v
+(vision sign)3330 1 342330 u
+(\243)79200 295200 w
+&15
+(\017[tdi])118800 v
+8 @11 f
+(*)156466 292000 w
+10 @15 f
+(\017[divide])165600 295200 w
+(\017U\02600F7\026)277200 v
+&11
+(te)334800 v
+(xt v)3330 1 341870 u
+(ariant of di)3330 1 357730 u
+(vision sign)3330 1 403020 u
+(\036)79200 307200 w
+&15
+(\017\(f/)118800 v
+8 @11 f
+(*)144466 304000 w
+10 @15 f
+(\017[fraction])165600 307200 w
+(\017U\0262044\026)277200 v
+&11
+(bar for fractions)3330 1 334800 u
+&20
+(\005)79200 319200 w
+&15
+(\017\(**)118800 v
+(\017[asteriskmath])165600 v
+(\017U\0262217\026)277200 v
+&11
+(mathematical asterisk)3330 1 334800 u
+&20
+(\131)79200 336000 w
+&15
+(\017\(<=)118800 v
+(\017[lessequal])165600 v
+(\017U\0262264\026)277200 v
+&11
+(less or equal)3330 1 334800 u
+&20
+(\144)79200 348000 w
+&15
+(\017\(>=)118800 v
+(\017[greaterequal])165600 v
+(\017U\0262265\026)277200 v
+&11
+(greater or equal)3330 1 334800 u
+&15
+(\017\(<<)118800 360000 w
+8 @11 f
+(*)144466 356800 w
+10 @15 f
+(\017[uni226A])165600 360000 w
+(\017U\026226A\026)277200 v
+&11
+(much less)3330 1 334800 u
+&15
+(\017\(>>)118800 372000 w
+8 @11 f
+(*)144466 368800 w
+10 @15 f
+(\017[uni226B])165600 372000 w
+(\017U\026226B\026)277200 v
+&11
+(much greater)3330 1 334800 u
+&20
+(\010)79200 384000 w
+&15
+(\017\(eq)118800 v
+(\017[equal])165600 v
+(\017U\026003D\026)277200 v
+&11
+(equal)334800 v
+&20
+(\152)79200 396000 w
+&15
+(\017\(!=)118800 v
+(\017[notequal])165600 v
+(\017U\0262260\026)277200 v
+&11
+(not equal)3330 1 334800 u
+&20
+(\153)79200 408000 w
+&15
+(\017\(==)118800 v
+(\017[equivalence])165600 v
+(\017U\0262261\026)277200 v
+&11
+(equi)334800 v
+(v)351770 v
+(alent)356520 v
+&15
+(\017\(ne)118800 420000 w
+8 @11 f
+(*)144466 416800 w
+10 @15 f
+(\017[uni2262])165600 420000 w
+(\017U\0262262\026)277200 v
+&11
+(not equi)3330 1 334800 u
+(v)367880 v
+(alent)372630 v
+&20
+(\223)79200 432000 w
+&15
+(\017\(=~)118800 v
+8 @11 f
+(*)144466 428800 w
+10 @15 f
+(\017[congruent])165600 432000 w
+(\017U\0262245\026)277200 v
+&11
+(congruent)334800 v
+&20
+(\127)79200 444000 w
+&15
+(\017\(ap)118800 v
+(\017[similar])165600 v
+(\017U\026223C\026)277200 v
+&11
+(similar)334800 v
+&20
+(\154)79200 456000 w
+&15
+(\017\(~~)118800 v
+(\017[approxequal])165600 v
+(\017U\0262248\026)277200 v
+&11
+(almost equal to)3330 1 334800 u
+&20
+(\146)79200 468000 w
+&15
+(\017\(pt)118800 v
+(\017[proportional])165600 v
+(\017U\026221D\026)277200 v
+&11
+(proportional)334800 v
+&20
+(\160)79200 484800 w
+&15
+(\017\(es)118800 v
+(\017[emptyset])165600 v
+(\017U\0262205\026)277200 v
+&11
+(empty set)3330 1 334800 u
+&20
+(\167)79200 496800 w
+&15
+(\017\(mo)118800 v
+(\017[element])165600 v
+(\017U\0262208\026)277200 v
+&11
+(element of)3330 1 334800 u
+&20
+(\252)79200 508800 w
+&15
+(\017\(nm)118800 v
+8 @11 f
+(*)144466 505600 w
+10 @15 f
+(\017[notelement])165600 508800 w
+(\017U\0262209\026)277200 v
+&11
+(not element of)3330 1 334800 u
+&20
+(\165)79200 520800 w
+&15
+(\017\(sb)118800 v
+(\017[propersubset])165600 v
+(\017U\0262282\026)277200 v
+&11
+(proper subset)3330 1 334800 u
+&20
+(\251)79200 532800 w
+&15
+(\017\(nb)118800 v
+8 @11 f
+(*)144466 529600 w
+10 @15 f
+(\017[notsubset])165600 532800 w
+(\017U\0262284\026)277200 v
+&11
+(not subset)3330 1 334800 u
+&20
+(\163)79200 544800 w
+&15
+(\017\(sp)118800 v
+(\017[propersuperset])165600 v
+(\017U\0262283\026)277200 v
+&11
+(proper superset)3330 1 334800 u
+&15
+(\017\(nc)118800 556800 w
+8 @11 f
+(*)144466 553600 w
+10 @15 f
+(\017[uni2285])165600 556800 w
+(\017U\0262285\026)277200 v
+&11
+(not superset)3330 1 334800 u
+&20
+(\166)79200 568800 w
+&15
+(\017\(ib)118800 v
+(\017[reflexsubset])165600 v
+(\017U\0262286\026)277200 v
+&11
+(subset or equal)3330 1 334800 u
+&20
+(\164)79200 580800 w
+&15
+(\017\(ip)118800 v
+(\017[reflexsuperset])165600 v
+(\017U\0262287\026)277200 v
+&11
+(superset or equal)3330 1 334800 u
+&20
+(\161)79200 592800 w
+&15
+(\017\(ca)118800 v
+(\017[intersection])165600 v
+(\017U\0262229\026)277200 v
+&11
+(intersection)334800 v
+&20
+(\162)79200 604800 w
+&15
+(\017\(cu)118800 v
+(\017[union])165600 v
+(\017U\026222A\026)277200 v
+&11
+(union)334800 v
+&20
+(\253)79200 621600 w
+&15
+(\017\(/_)118800 v
+8 @11 f
+(*)144466 618400 w
+10 @15 f
+(\017[angle])165600 621600 w
+(\017U\0262220\026)277200 v
+&11
+(angle)334800 v
+&15
+(\017\(pp)118800 633600 w
+8 @11 f
+(*)144466 630400 w
+10 @15 f
+(\017[perpendicular])165600 633600 w
+(\017U\02622A5\026)277200 v
+&11
+(perpendicular)334800 v
+&20
+(\211)79200 645600 w
+&15
+(\017\(is)118800 v
+(\017[integral])165600 v
+(\017U\026222B\026)277200 v
+&11
+(inte)334800 v
+(gral)349650 v
+&20
+(\032)79200 657600 w
+&15
+(\017\(*S)118800 v
+(\017[summation])165600 v
+(\017U\0262211\026)277200 v
+&11
+(summation)334800 v
+&20
+(\271)79200 669600 w
+&15
+(\017[sum])118800 v
+8 @11 f
+(*)156466 666400 w
+10 @12 f
+(\(alias\))334800 669600 w
+&20
+(\027)79200 681600 w
+&15
+(\017\(*P)118800 v
+(\017[product])165600 v
+(\017U\026220F\026)277200 v
+&11
+(product)334800 v
+&15
+(\017[coproduct])165600 693600 w
+8 @11 f
+(*)239266 690400 w
+10 @15 f
+(\017U\0262210\026)277200 693600 w
+&11
+(coproduct)334800 v
+&20
+(\170)79200 705600 w
+&15
+(\017\(gr)118800 v
+(\017[gradient])165600 v
+(\017U\0262207\026)277200 v
+&11
+(gradient)334800 v
+&20
+(\200)79200 717600 w
+&15
+(\017\(sr)118800 v
+(\017[radical])165600 v
+(\017U\026221A\026)277200 v
+&11
+(square root)3330 1 334800 u
+(\001)294340 760800 w
+(81)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 81 81
+%%Page: 82 82
+save
+mark
+82 pagesetup
+10 @12 f
+(nr)72000 35760 w
+(of)80440 v
+(f)88040 v
+&11
+(/)90820 v
+&12
+(tr)93600 v
+(of)99820 v
+(f)107420 v
+&11
+(User\030)113530 v
+(s)135190 v
+(Manual)142410 v
+(Heirloom)411550 v
+(Documentation)453210 v
+(T)518020 v
+(ools)523330 v
+(February)72000 47760 w
+(10,)111430 v
+(2016)127260 v
+&12
+(Output)79200 84000 w
+(Input)118800 v
+(P)165600 v
+(ostScript)170910 v
+(Unicode)277200 v
+(Notes)334800 v
+&20
+(\200)79200 98400 w
+&15
+(\017[sqrt])165600 v
+8 @11 f
+(*)209266 95200 w
+10 @12 f
+(\(alias\))334800 98400 w
+&20
+(\047)79200 110400 w
+&15
+(\017[radicalex])165600 v
+&11
+(square root continuation)3330 1 334800 u
+&20
+(\047)79200 122400 w
+&15
+(\017[sqrtex])165600 v
+8 @11 f
+(*)221266 119200 w
+10 @12 f
+(\(alias\))334800 122400 w
+&20
+(\203)79200 139200 w
+&15
+(\017\(lc)118800 v
+(\017[uni2308])165600 v
+(\017U\0262308\026)277200 v
+&11
+(left ceiling)3330 1 334800 u
+&20
+(\212)79200 151200 w
+&15
+(\017\(rc)118800 v
+(\017[uni2309])165600 v
+(\017U\0262309\026)277200 v
+&11
+(right ceiling)3330 1 334800 u
+&20
+(\204)79200 163200 w
+&15
+(\017\(lf)118800 v
+(\017[uni230A])165600 v
+(\017U\026230A\026)277200 v
+&11
+(left floor)3330 1 334800 u
+&20
+(\213)79200 175200 w
+&15
+(\017\(rf)118800 v
+(\017[uni230B])165600 v
+(\017U\026230B\026)277200 v
+&11
+(right floor)3330 1 334800 u
+&20
+(\134)79200 192000 w
+&15
+(\017\(if)118800 v
+(\017[infinity])165600 v
+(\017U\026221E\026)277200 v
+&11
+(inf)334800 v
+(inity)345710 v
+&20
+(\155)79200 204000 w
+&15
+(\017\(Ah)118800 v
+8 @11 f
+(*)144466 200800 w
+10 @15 f
+(\017[aleph])165600 204000 w
+(\017U\0262135\026)277200 v
+&11
+(aleph)334800 v
+&20
+(\246)79200 216000 w
+&15
+(\017\(Im)118800 v
+8 @11 f
+(*)144466 212800 w
+10 @15 f
+(\017[Ifraktur])165600 216000 w
+(\017U\0262111\026)277200 v
+&11
+(Gothic I, imaginary)3330 1 334800 u
+&20
+(\247)79200 228000 w
+&15
+(\017\(Re)118800 v
+8 @11 f
+(*)144466 224800 w
+10 @15 f
+(\017[Rfraktur])165600 228000 w
+(\017U\026211C\026)277200 v
+&11
+(Gothic R, real)3330 1 334800 u
+&20
+(\250)79200 240000 w
+&15
+(\017\(wp)118800 v
+8 @11 f
+(*)144466 236800 w
+10 @15 f
+(\017[weierstrass])165600 240000 w
+(\017U\0262118\026)277200 v
+&11
+(W)334800 v
+(eierstrass p)3330 1 343440 u
+&20
+(\147)79200 252000 w
+&15
+(\017\(pd)118800 v
+(\017[partialdiff])165600 v
+(\017U\0262202\026)277200 v
+&11
+(partial dif)3330 1 334800 u
+(ferentiation)374540 v
+&15
+(\017\()118800 264000 w
+&20
+(\007)130800 v
+&15
+(h)136290 v
+8 @11 f
+(*)143956 260800 w
+10 @15 f
+(\017[hbar])165600 264000 w
+(\017U\026210F\026)277200 v
+&11
+(Planck constant / 2pi \(h\001bar\))3330 1 334800 u
+&20
+(\224)79200 280800 w
+&15
+(\017\(+h)118800 v
+8 @11 f
+(*)144466 277600 w
+10 @15 f
+(\017[theta1])165600 280800 w
+(\017U\02603D1\026)277200 v
+&11
+(v)334800 v
+(ariant theta)3330 1 339550 u
+&20
+(\227)79200 292800 w
+&15
+(\017\(+f)118800 v
+8 @11 f
+(*)144466 289600 w
+10 @15 f
+(\017[phi1])165600 292800 w
+(\017U\02603C6\026)277200 v
+&11
+(v)334800 v
+(ariant phi)3330 1 339550 u
+&20
+(\230)79200 304800 w
+&15
+(\017\(+p)118800 v
+8 @11 f
+(*)144466 301600 w
+10 @15 f
+(\017[omega1])165600 304800 w
+(\017U\02603D6\026)277200 v
+&11
+(v)334800 v
+(ariant pi)3330 1 339550 u
+&15
+(\017\(+e)118800 316800 w
+8 @11 f
+(*)144466 313600 w
+10 @15 f
+(\017[uni03F5])165600 316800 w
+(\017U\02603F5\026)277200 v
+&11
+(v)334800 v
+(ariant epsilon)3330 1 339550 u
+&20
+(\234)79200 333600 w
+&15
+(\017\(CL)118800 v
+8 @11 f
+(*)144466 330400 w
+10 @15 f
+(\017[club])165600 333600 w
+(\017U\0262663\026)277200 v
+&11
+(black club suit)3330 1 334800 u
+&20
+(\237)79200 345600 w
+&15
+(\017\(SP)118800 v
+8 @11 f
+(*)144466 342400 w
+10 @15 f
+(\017[spade])165600 345600 w
+(\017U\0262660\026)277200 v
+&11
+(black spade suit)3330 1 334800 u
+&20
+(\236)79200 357600 w
+&15
+(\017\(HE)118800 v
+8 @11 f
+(*)144466 354400 w
+10 @15 f
+(\017[heart])165600 357600 w
+(\017U\0262665\026)277200 v
+&11
+(black heart suit)3330 1 334800 u
+&15
+(\017[uni2661])165600 369600 w
+(\017U\0262661\026)277200 v
+&11
+(white heart suit)3330 1 334800 u
+&20
+(\235)79200 381600 w
+&15
+(\017\(DI)118800 v
+8 @11 f
+(*)144466 378400 w
+10 @15 f
+(\017[diamond])165600 381600 w
+(\017U\0262666\026)277200 v
+&11
+(black diamond suit)3330 1 334800 u
+&15
+(\017[uni2662])165600 393600 w
+(\017U\0262662\026)277200 v
+&11
+(white diamond suit)3330 1 334800 u
+(\001)294340 760800 w
+(82)301000 v
+(\001)314330 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 82 82
+%%Trailer
+done
+%%EOF
diff --git a/doc/troff/doc.tr b/doc/troff/doc.tr
new file mode 100644
index 0000000000000..b26e5c4196e31
--- /dev/null
+++ b/doc/troff/doc.tr
@@ -0,0 +1,8729 @@
+.\" Derived from (1) /usr/doc/troff/*, Unix 7th edition,
+.\" and (2) /sys/doc/troff.ms, Plan 9 version 4:
+.\"
+.\" (1)
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\"
+.\" (2)
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, February 2006.
+.\" Sccsid @(#)doc.tr 1.186 (gritter) 10/23/09
+.\"
+.\" from file m.mac
+.do xflag 3
+.warn
+.mediasize letter
+.lc_ctype en_US.utf8
+.\".fp 1 R LinLibertine_R otf
+.ig
+.fps math,greek 1 R texgyretermes-regular otf
+.fp 2 I texgyretermes-italic otf
+.fp 3 B texgyretermes-bold otf
+.fp 4 BI texgyretermes-bolditalic otf
+.flig CW 0
+.kernpair R f R i 55
+.kernpair B f B l 100
+.kernpair B f B i 50
+.kernpair B f R ) 60
+.kernpair I f R ) 190
+.kernpair I T R ) 125
+.kernpair I W R ) 125
+.kernpair I H R ) 125
+.kernpair I M R ) 110
+.kernpair I S R ) 70
+.kernpair I N B \' 90
+.kernpair R [ I f 200
+.kernpair R [ I \(fi 200
+.kernpair R , B p 80
+.kernpair R \[longs] R ' 110
+.kernpair B f I F 50
+.kernpair B \\ B / 40
+.kernpair I f R \ 60
+.kernpair BI f B \ 80
+..
+.ig
+.fps math,greek 1 R times ttf
+.fp 2 I timesi ttf
+.fp 3 B timesbd ttf
+.fp 4 BI timesbi ttf
+.fp 5 CW cour ttf
+.flig R fi \[fi] fl \[fl]
+.flig I fi \[fi] fl \[fl]
+.flig B fi \[fi] fl \[fl]
+.flig BI fi \[fi] fl \[fl]
+.kernpair R 0123456789 R · -150
+.kernpair R · I Z 80
+..
+.ig
+.fps math 1 R tim_____ pfb
+.fp 2 I timi____ pfb
+.fp 3 B timb____ pfb
+.fp 4 BI timbi___ pfb
+.fp 0 RE tiy_____ pfb
+.fp 0 IE tiyi____ pfb
+.fp 0 BE tiyb____ pfb
+.fp 0 BIE tiybi___ pfb
+.fallback R RE
+.flig R 31
+.fallback I IE
+.flig I 31
+.fallback B BE
+.flig B 31
+.fallback BI BIE
+.flig BI 31
+..
+.\" mo/dy/yr
+.ds Sccsdate 02/10/16
+.ds Str \*[Sccsdate]
+.substring Str 0 0
+.if '\*[Str]'%' \{\
+. ds Yr \n[year]
+. substring Yr 2 3
+. ds Sccsdate \n(mo/\n(dy/\*(Yr
+.\}
+.ds Str \*[Sccsdate]
+.substring Str 1 1
+.ie '\*[Str]'/' .nr S1 0
+.el .nr S1 1
+.ds Str \*[Sccsdate]
+.substring Str \n(S1+3 \n(S1+3
+.ie '\*[Str]'/' .nr S2 \n(S1+2
+.el .nr S2 \n(S1+3
+.ds Mo \*[Sccsdate]
+.substring Mo 0 \n(S1
+.ds Dy \*[Sccsdate]
+.substring Dy \n(S1+2 \n(S2
+.ds Yr \*[Sccsdate]
+.substring Yr \n(S2+2 \n(S2+3
+.if \*(Mo=1 .ds mo January
+.if \*(Mo=2 .ds mo February
+.if \*(Mo=3 .ds mo March
+.if \*(Mo=4 .ds mo April
+.if \*(Mo=5 .ds mo May
+.if \*(Mo=6 .ds mo June
+.if \*(Mo=7 .ds mo July
+.if \*(Mo=8 .ds mo August
+.if \*(Mo=9 .ds mo September
+.if \*(Mo=10 .ds mo October
+.if \*(Mo=11 .ds mo November
+.if \*(Mo=12 .ds mo December
+.if \n(dw=1 .ds dw Sunday
+.if \n(dw=2 .ds dw Monday
+.if \n(dw=3 .ds dw Tuesday
+.if \n(dw=4 .ds dw Wednesday
+.if \n(dw=5 .ds dw Thursday
+.if \n(dw=6 .ds dw Friday
+.if \n(dw=7 .ds dw Saturday
+.ds Date "\*(mo \*(Dy, 20\*(Yr
+.\"
+.de ii
+.ds NR "\fInroff\fR
+.ds TR "\fItroff\fR
+.ds NR. "\fInroff.\fR
+.ds TR. "\fItroff.\fR
+.ds NR, "\fInroff,\fR
+.ds TR, "\fItroff,\fR
+.ds NR; "\fInroff;\fR
+.ds TR; "\fItroff;\fR
+.ds NR: "\fInroff:\fR
+.ds TR: "\fItroff:\fR
+.ds GR "\fIgroff\fR
+.ds GR. "\fIgroff.\fR
+.ds GR, "\fIgroff,\fR
+.ds GR; "\fIgroff;\fR
+.ds GR: "\fIgroff:\fR
+.ds PS "\fRPostScript\fR
+.ds PDF "\s-1PDF\s+1
+.ds TEX T\h'-.13m'\v'.165m'E\v'-.165m'\h'-.17m'X
+.ds LaTeX L\h'-.2m'\v'-.165m'\s'-3'A\s0\v'.165m'\h'-.1m'\\*[TEX]
+.ds UTF \s-1UTF\s+1-8
+.ds H
+.nr PS 10
+.nr PO 1i
+.hy 14
+.ds u \^\v'-0.3m'\s-2
+.ds d \s0\v'0.3m'
+.nr a .8i
+.nr b 1.6i
+.nr c 2.4i
+.nr d 2.9i
+.nr e 0.25i
+.nr p 0 1
+.nr s 0 1
+.af p 1
+.af s 1
+..
+.nr m -1i
+.nr x 0 1
+.nr y 0+\nmu
+.ad p
+.ii
+.ev 1
+.ps \n(PS-2
+.vs \n(PS
+.ll 6.5i
+'in 0
+.ad p
+.ev
+.tr &.
+.de xx
+.sp 0.4
+..
+.ev ht
+.evc 0
+.ev
+.de ht
+.ev ht
+.tl `\*(NR/\*(TR \fRUser's Manual``Heirloom Documentation Tools`
+.tl '\*[Date]'''\".tl 'Version \n(mo/\n(dy/\n[year]'''
+.ev
+..
+.de hd
+.\".tl '\(rn'''
+.if \\n%>1 \{'sp |.33i
+.ht
+.ps \\n(S2
+.ps \\n(S1
+'sp |1i\}
+.nr x 0 1
+.nr y 0+\\nmu
+.chfo \\nmu
+.if \\n(dn .fz
+.ns
+.if dmx .mx
+.nr cl 0 1
+.mk
+.put-table-header
+..
+.rn bp barebp
+.de bp
+.nr nosave 1
+.barebp
+..
+.de fz
+.fn
+.nf
+.fy
+.fi
+.ef
+..
+.de fx
+.if \\nx .di fy
+..
+.nr fopos 0
+.de chfo
+.rr fopos
+.nr fopos \\$1
+.ch fo \\n[fopos]u
+..
+.de dl
+.ie \\n[fopos]>=0 .chfo \\n[fopos]u+1v
+.el .chfo \\n[fopos]u-1v
+..
+.nr savedline 0
+.de fo
+.ie 0&(\\n[nosave]=0)&(\\n(2C=0) \{\. \" FIXME
+.nr savedline 1
+.di savedline
+.dt 1v barefo
+.\}
+.el .barefo
+..
+.nr nosave 0
+.de restore
+.if \\n[savedline] \{\
+.mk curpos
+.ev restore
+.sp |\\n[curpos]u
+.nf
+.cc 
+savedline
+cc .
+.fi
+.ev
+.nr savedline 0
+.\}
+..
+.de barefo
+.if \\n[savedline] \{\
+.di
+.if (\\n(dl<(\\n(.l))&(\\n[nosave]=0) .restore \" widow detected
+.\}
+.if dcx .cx
+.nr dn 0
+.if \\nx .xf
+.nr x 0 \"disable fx
+.ie \\n(2C&(\\n+(cl<2) \{\
+.po +3.4i
+.rt
+.nr y 0+\\nmu
+.chfo \\nmu
+.if \\n(dn .fz
+.ns \}
+.el \{\
+.tblbox
+.po \\n(POu
+.nr S1 \\n(.s
+.ps
+.nr S2 \\n(.s
+.ps 10
+'barebp \}
+.restore
+..
+.nr 2C 0
+.de 2C
+.br
+.mk
+.nr 2C 1
+.ll 3.1i
+.ev 1
+.ll 3.1i
+.ev
+..
+.de 1C
+.br
+.nr 2C 0
+.ll 6.5i
+.ev 1
+.ll 6.5i
+.ev
+..
+.de co
+.de cx
+.br
+\fI(Continued next page.)\fP
+.br
+.rm cx
+\\..
+..
+.de pp
+.ev pp
+'ps \\n(PS
+.ft R
+'tl ''- % -''
+.ev
+'barebp
+..
+.wh 0 hd
+.wh 12i fo
+.wh \nmu fx
+.chfo \nmu
+.de fn
+.da FN
+.ev 1
+.if \\n+x=1 .fs
+.fi
+.ti 0
+..
+.de xf
+.ev 1
+.nf
+.FN
+.rm FN
+.if !'\\n(.z'' .di
+.ev
+..
+.de fs
+.ti 0
+\l'1i'
+.br
+..
+.de ef
+.br
+.ev
+.di
+.nr y -\\n(dn
+.if \\nx=1 .nr y -2p
+.chfo \\nyu
+.if \\n(nl+\\n(.v-\\n(.p-\\ny .chfo \\n(nlu+\\n(.vu
+..
+.wh -.6i pp
+.de h1
+.xx
+.ne 5
+.nr nosave 1
+.nf
+.ta \\nau \\nbu \\ncu \\ndu +\\neu
+.ft BI
+Request Initial If No
+Form Value\\$2 Argument Notes\\$1 Explanation
+.ft R
+.ft
+.fi
+.in \\ndu
+..
+.de bt
+.ft R
+.xx
+.nr nosave 1
+.ne 1.1
+.ti 0
+.nr nosave 0
+..
+.de bta
+.bt
+\A'\\$1'\c
+..
+.de b1
+.br
+.ti 0
+.ie '\\$1'' .nr nosave 1
+.el .nr nosave \\$1
+..
+.de pg
+.ft R
+.fi
+.in 0
+.xx
+.ne 1.1
+.nr nosave 0
+..
+.de sc
+.pg
+.ne 1
+.nr nosave 1
+\fI\\*H\\np.\\n+s.\|\\c
+.ft R
+.ul
+.it 1 sc-end
+.di head
+.ds pre-head
+.ds post-head
+..
+.de sc-end
+.end 2
+.wh \\n(nlu+1v sc-post
+..
+.de sc-post
+.nr nosave 0
+.ch sc-post
+..
+.de mha
+.mh
+.ds pre-head \A'\\$1'
+..
+.de mht
+.mh
+.ds pre-head \T'\\$1'
+.ds post-head \T
+..
+.de mh
+.nr s 0
+.in 0
+.xx
+.ne 2.5
+.ft B
+\\*H\\n+p.
+.nr nosave 1
+.it 1 mh-end
+.di head
+.ds pre-head
+.ds post-head
+..
+.de mh-end
+.end \\n[mh-level]
+..
+.de end
+.br
+.nr eol \\n(.n
+.di
+\\*[pre-head]\c
+.head
+\\*[post-head]\c
+.nr Evpt \\n[.vpt]
+.vpt 0
+.mk Epos
+.br
+.Bookmark \\$1 \\*[head]
+.sp |\\n[Epos]u
+.vpt \\n[Evpt]
+\h'|\\n[eol]u'
+..
+.de x1
+.xx
+.in .5i
+.nf
+.nr nosave 1
+..
+.de x2
+.xx
+.in 0
+.fi
+.nr nosave 0
+..
+.de EM
+.br
+\&\c
+'barebp
+.pl 2i
+..
+.em EM
+.de TS
+.br
+.nr nosave 1
+.sp
+.ie '\\$1'H' \{\
+.di table-header
+.\}
+.el .ds table-header
+..
+.de TH
+.nr T. 0
+.T#
+.di
+.put-table-header
+..
+.de put-table-header
+.if d table-header \{\
+.lnr save-in \\n(.i
+.in 0
+.table-header
+.in \\n[save-in]u
+.mk #T
+.\}
+..
+.de T&
+..
+.ds T#
+.de tblbox
+.chfo 0
+.nr T. 1
+.T#
+.nr #T 1i+2p
+..
+.de TE
+.rm table-header
+.nr nosave 0
+.ds T#
+.sp
+.ce 0
+.ft R
+.ps \n(PS
+.ta \\nau \\nbu \\ncu \\ndu +\\neu
+..
+.de I
+\fI\\$*\fP
+..
+.de B
+\fB\\$*\fP
+..
+.de BI
+\f(BI\\$*\fP
+..
+.de Bookmark
+. mk Btmp
+. nr Bvpt \\n[.vpt]
+. vpt 0
+. ev bookmarks
+. ie \\$1=0 \{\
+\v'|0'
+. nr bmove 1v+4p
+. \}
+. el .nr bmove 2v
+\v'-\\n[bmove]u'\\X'PDFMark: BookmarkClosed \\$1 \\$2'
+. sp |\\n[Btmp]u
+. ev
+. vpt \\n[Bvpt]
+..
+.\" from file m0
+\X'SetBorderStyle: /S/U/W 0.1'
+\X'SetUBorderStyle: /S/U/W 0.1'
+\X'PDFMark: Author Gunnar Ritter'
+\X,PDFMark: Title Nroff/Troff User's Manual,
+\X'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark'
+\X'PS: [ /PageMode /UseOutlines /DOCVIEW pdfmark'
+.br
+.ii
+.Bookmark 0 Title
+.br
+.rs
+.sp |1.50i
+.ce 1000
+.ps 12
+.ft B
+Heirloom Documentation Tools
+.sp 16p-\n(.vu
+Nroff/Troff User's Manual
+.sp .2i
+.ft I
+.ps 10
+Joseph F. Ossanna
+.br
+Brian W. Kernighan
+.br
+Gunnar Ritter
+.br
+and others
+.ft R
+.ce 0
+.sp 2
+.ps \n(PS
+.fi
+.Bookmark 0 Introduction
+.ft B
+Introduction
+.pg
+\*(NR and \*(TR are text processors under
+the \s-1UNIX\s+1 Time-Sharing System\T'ref_1'\*u1\*d\T
+that format text for typewriter-like terminals and
+for a typesetter/raster devices, respectively.
+They accept lines of text interspersed with lines of
+format control information and
+format the text into a printable, paginated document
+having a user-designed style.
+\*(NR and \*(TR offer
+unusual freedom in document styling,
+including:
+arbitrary style headers and footers;
+arbitrary style footnotes;
+multiple automatic sequence numbering for paragraphs, sections, etc;
+multiple column output;
+dynamic font and point-size control;
+arbitrary horizontal and vertical local motions at any point;
+and
+a family of automatic overstriking, bracket construction, and
+line drawing functions.
+.pg
+\*(TR produces its output in a device-independent form,
+although parameterized for a specific device;
+\*(TR output must be processed by a driver for that
+device to produce printed output.
+.pg
+\*(NR and \*(TR are highly compatible with each other and it is almost always
+possible to prepare input acceptable to both.
+Conditional input is provided that enables
+the user to embed input expressly destined for either program.
+\*(NR can prepare output directly for a variety of terminal types and
+is capable of utilizing the full resolution of each terminal.
+.pg
+.ft B
+On the Heirloom Documentation Tools Edition
+.pg
+In Summer 2005, Sun Microsystems, Inc. released
+the source code to the Solaris system,\|\T'ref_6'\*u6\*d\T
+including the System\ V Release\ 4 version of \*[TR,]
+a derivative of AT\[ampersand]T
+\fIDocumenter's Workbench\fR \*[TR,] version 2.
+It had undergone few changes since the end of the 1980's,
+so it could serve as a clean starting point
+for a new version of \*(TR
+which is intended to be highly compatible
+with \s-1UNIX\s+1 \*[TR,]
+but which also provides additional features
+desirable for a high-quality typesetting application
+at the beginning of the 21st century.
+.pg
+As with the other components of the \fIHeirloom Project,\fR
+the original code,
+once it had been released under an Open Source license,
+has been made portable such that it compiles and runs
+on the contemporary \s-1UNIX\s+1-style systems, including Linux.
+It continues to be freely available under the same license
+as originally released, including its complete source code.
+.pg
+\*(PS and its close relative \*[PDF]
+are now the only device languages
+which are relevant to high-quality printing;
+actually, \*(PS itself is more and more becoming
+an intermediate language for the generation of \*[PDF] documents.
+The \fIHeirloom\fR version of \*(TR is thus primarily directed
+towards generating \*(PS output
+for further processing by a \*[PDF] creator,
+such as Ghostscript or Adobe Distiller;
+it can generate \*[PDF]-specific instructions
+for prepress usage
+as well as for online navigation in \*[PDF] documents.
+.pg
+The principal output device independence of \*(TR
+has nevertheless been retained,
+and changes to the intermediate language have been minor.
+Many \*(TR post-processors will thus continue to be usable
+with no or little adaptions.
+.pg
+\*(PS Type\ 1, OpenType, and TrueType
+have become device-independent font formats;
+virtually all commercial and free fonts
+are available in one of them.
+There is thus no need for a \*(TR-specific device-independent font format
+anymore;
+instead, \fIHeirloom\fR \*(TR can read font metrics directly
+from Type\ 1, OpenType, and TrueType font files.
+This has greatly relieved the task of installing fonts\(emit
+suffices to copy the original files to a user-selectable font directory\(em,
+and makes it possible to access advanced typographic data,
+such as kerning tables or substitution instructions for old-style numerals.
+.pg
+\*(TR provides convenient access to
+any character in a font file
+either by its \*(PS name,
+by its Unicode position
+as specified in a font-specific or a generic table,
+or by conversion from \s-1POSIX\s+1-style locale-specific characters
+to Unicode positions.
+The last form allows direct input of international language texts
+in almost any character encoding,
+including \*[UTF].
+.pg
+Improvements to the line adjusting mechanism
+can be activated to achieve more aesthetically pleasant output:
+\*(TR can compute line breaks for a whole paragraph at once,
+using a variant of an algorithm
+originally developed by Donald Knuth and Michael Plass
+for the \*[TEX] system\|\T'ref_7'\*u7\*d\T.
+Interword spaces can be shrunk
+as an alternative to being expanded.
+Inter-letter spaces and letter shapes
+can be dynamically varied
+both for computing break points
+and for adjusting output lines;
+this is sometimes called ``micro-typography'',
+.ds U+1EBF \o'e\s-1^\s0'\\k(aX\h'-.8n'\s-1\v'-.15m'´\v'+.15m'\s0\h'|\\n(aXu'
+cf. e.g. the thesis by Hàn Th\*[U+1EBF] Thành\|\T'ref_8'\*u8\*d\T.
+All paragraph formatting options can be arbitrarily combined.
+.pg
+A variety of international paper formats
+and hyphenation languages are supported by \*[TR.]
+The algorithm for the latter is derived
+from the respective one developed for \*[TEX]
+by Franklin Liang\|\T'ref_9'\*u9\*d\T;
+\*(TR uses the implementation of \fILibHnj\fR by Raph Levien.
+\*[TEX] hyphenation patterns can be converted
+to the format accepted by \*[TR.]
+.pg
+Many internal limitations of \*(TR have been removed;
+most notably, \*(TR can now set characters in fractional point sizes.
+.pg
+The \*(TR language has been extended
+similarly as in the \s-1GNU\s+1 version of \*[TR,] \*(GR\|\T'ref_10'\*u10\*d\T;
+for example,
+names of requests, macros, strings, number registers, and fonts
+can consist of more than two characters.
+Although \fIHeirloom\fR \*(TR is not completely compatible with \*[GR,]
+a special \T's_groff'compatibility mode\T is provided,
+and documents prepared for \*(GR
+can usually be processed without alteration.
+.pg
+As even the most basic printing devices
+are now capable of rastering \*(PS documents
+(at least using conversion tools),
+and as \*(PS and \*[PDF] viewer programs allow
+an accurate on-screen display of \*(TR documents,
+there is only one area where \*(NR is still useful:
+the formatting of \s-1UNIX\s+1 manual pages.
+The \fIHeirloom\fR version of \*(NR
+is thus specifically aimed at this task;
+it remains a separate program,
+is much smaller than \*[TR,]
+and is optionally able to run without external device description files.
+This makes it possible to use it to view manual pages
+even on small system distributions
+where the size of programs is an issue.
+.pg
+The Solaris version of \*(NR had already been updated
+to support input characters in arbitrary locales.
+The \fIHeirloom\fR version adds the ability to generate
+\*[UTF] output.
+This extends the \*(NR character set
+by many mathematical and typographical characters
+on terminals capable of displaying them.
+.pg
+Although \fIHeirloom\fR \*(NR does of course
+not provide the typographical extensions made for \*[TR,]
+it includes the same language extensions.
+It is thus well able to cope with the
+tangle of manual page code
+which has been produced by application writers
+who have unfortunately become increasingly unaware
+of how to write well-styled \*(NR documents.
+.pg
+This manual as well as some of the pre- and post-processor commands
+have been derived from \s-1UNIX\s+1 code
+re\%leased by Caldera\T'ref_11'\*u11\*d\T,
+and from materials released by Lucent as parts
+of the \fIPlan\ 9\fR system\T'ref_12'\*u12\*d\T.
+.pg
+.ft B
+Background to the Second Edition
+.pg
+\*(TR
+was originally written by the late Joe Ossanna
+in about 1973, in assembly language for the \s-1PDP\s+1-11,
+to drive the Graphic Systems CAT typesetter.
+It was rewritten in C around 1975,
+and underwent slow but steady evolution until
+Ossanna's death late in 1977.
+.pg
+In 1979, Brian Kernighan
+modified
+\*(TR
+so that it would produce output for a variety of typesetters,
+while retaining its input specifications.
+Over the decade from 1979 to 1989,
+the internals
+have been modestly revised,
+though much of the code remains as it was when Ossanna wrote it.
+.pg
+\*(TR
+reads parameter files
+each time it is invoked, to
+set values for machine resolution,
+legal type sizes and fonts, and character names,
+character widths
+and the like.
+\*(TR
+output is \s-1ASCII\s+1 characters
+in a simple language
+that describes where each character is to be placed
+and in what size and font.
+A post-processor must be written for each device
+to convert this typesetter-independent language
+into specific instructions for that device.
+.pg
+The output language contains information that was not readily
+identifiable in the older output.
+In the newer language, the beginning of each page, line, and word
+is marked,
+so post-processors can do device-specific optimizations
+such as sorting the data vertically or printing it boustrophedonically,
+independent of
+\*[TR.]
+.pg
+Capabilities for graphics have been added:
+\*(TR
+recognizes commands for drawing diagonal lines,
+circles, ellipses, circular arcs,
+and quadratic B-splines.
+There are also ways to pass arbitrary information to the output,
+unprocessed by
+\*[TR.]
+.pg
+A number of limitations have been eased or eliminated.
+A document may have an arbitrary number of fonts on any page
+(if the output device permits it, of course).
+Fonts may be accessed merely by naming them;
+``mounting'' is no longer necessary.
+There are no limits on the number of characters.
+\H'8'Character height\H'10' and \S'-1'sl\S'0'a\S'1'nt\S'0' may be set
+independently of width.
+.pg
+The remainder of this document contains
+\T'part_usage'a description of usage and command-line options\T;
+\T'part_summary'a summary of requests, escape sequences,
+and pre-defined number registers\T;
+\T'part_reference'a reference manual\T;
+\T'part_tutorial'tutorial examples\T;
+and \T'Table I'a list of commonly-available characters\T.
+.pg
+.nr nosave 1
+.ft B
+Acknowledgements (for the Second Edition, by Brian Kernighan)
+.pg
+Joe Ossanna's
+\*(TR
+remains a remarkable accomplishment.
+For more than twenty years, it has proven a robust tool,
+taking unbelievable abuse from a variety of preprocessors
+and being forced into uses that were never conceived of
+in the original design,
+all with considerable grace under fire.
+.pg
+Recent versions of \*(TR have profited from
+significant code improvements by
+Jaap Akkerhuis, Dennis Ritchie, Ken Thompson, and Molly Wagner.
+Andrew Hume, Doug McIlroy, Peter Nelson, and
+Ravi Sethi made valuable suggestions on the manual.
+I fear that the remaining bugs are my fault.
+.pg
+.ft B
+Acknowledgements (for the Heirloom Edition, by Gunnar Ritter)
+.pg
+The \*(TR program as written by Joseph Ossanna and Brian Kernighan
+turned out to be an excellent base
+for a typesetting system containing
+approximately twice as many lines of code.
+As with the second edition,
+the design and the principal parts of \*(TR have remained the same,
+despite of additions and modifications.
+This is particularly remarkable since
+much of it is now more than 40 years old,
+but serves its purpose as well as on day one.
+.pg
+I am grateful to Sun, Caldera, and Lucent
+for releasing the source code
+without which this project would not have been possible.
+.pg
+I wish to thank Brian Kernighan for the permission
+to adapt this manual.
+.pg
+.ft B
+Availability and Contact Information
+.pg
+The source code of the \fIHeirloom Documentation Tools\fR
+and accompanying materials
+are freely available from
+<\W'http://n-t-roff.github.io/heirloom/doctools.html'http://n-t-roff.github.io/heirloom/\:doctools.html\W>.
+Comments and bug reports should be added at
+<\W'https://github.com/n-t-roff/heirloom-doctools/issues'https://github.com/n-t-roff/heirloom-doctools/issues\W>
+or send to <troff@arcor.de>.
+.pg
+.sp .4
+.ft B
+References
+.pg
+.ta .2iR .3i
+.in .3i
+.de ref
+.ti 0
+.sp .4
+ \A'ref_\\$1'[\\$1] \c
+..
+.ns
+.ref 1
+M. D. McIlroy, B. W. Kernighan (Eds.),
+.ul
+Unix Programmer's Manual,
+Vol.\|2,
+AT\[ampersand]T Bell Laboratories,
+Murray Hill,
+\s-1NJ\s+1 07974, 1979;
+<\W'http://plan9.bell-labs.com/7thEdMan/index.html'http://plan9.bell-labs.com/7thEdMan/index.html\W>.
+.ref 2
+B. W. Kernighan, L. L. Cherry,
+``Typesetting Mathematics \(em User's Guide (Second Edition)'',
+in [1].
+.ref 3
+M. E. Lesk,
+``Tbl \(em A Program to Format Tables'',
+in [1].
+.ref 4
+B. W. Kernighan, ``A TROFF Tutorial'',
+in [1].
+.ref 5
+J. F. Ossanna, ``Nroff/Troff User's Manual'',
+in [1].
+.ref 6
+<\W'http://www.opensolaris.org'http://www.opensolaris.org\W>
+.ref 7
+D. E. Knuth, M. F. Plass,
+``Breaking paragraphs into lines'',
+\fISoftware\(emPractice and Experience\fR,
+Vol. 11, Issue 12 (1981), pp.\ 1119\(en1184;
+also in D. E. Knuth, \fIDigital Typography\fR,
+Stanford, 1999 (\s-1CSLI\s0 lecture notes no. 78),
+pp.\ 67\(en155.
+.ref 8
+Hàn Th\*[U+1EBF] Thành, \fIMicro-typographic extensions to the \*[TEX]\fI
+typesetting system\fR,
+Masaryk University Brno, 2000.
+.ref 9
+F. M. Liang, \fIWord Hy-phen-a-tion by Com-put-er\fR,
+Stanford University, \s-1CA\s0 94305,
+Report No. \s-1STAN\s0-\s-1CS\s0-83-977,
+1983.
+.ref 10
+<\W'http://www.gnu.org/software/groff'http://www.gnu.org/software/groff\W>
+.ref 11
+<\W'http://www.tuhs.org/Archive/Caldera-license.pdf'http://www.tuhs.org/Archive/Caldera-license.pdf\W>
+.ref 12
+<\W'http://plan9.bell-labs.com/plan9'http://plan9.bell-labs.com/plan9\W>
+.in 0
+.pg
+.nr nosave 1
+.bp
+.Bookmark 0 Usage
+.ft B
+\A'part_usage'Usage
+.pg
+The general form of invoking \*(NR (or \*(TR) at \s-1UNIX\s+1 command level is
+.x1
+\fBnroff \fIoptions files\fR\
+\h'|2i'(or \fBtroff \fIoptions files\fR)
+.x2
+where \fIoptions\fR represents any of a number of option arguments
+and \fIfiles\fR represents the list of files containing the document
+to be formatted.
+An argument consisting of a single minus (\fB\-\fR) is taken to be
+a file name corresponding to the standard input.
+If no file names are given input is taken from the standard input.
+The options, which may appear in any order so long as they appear
+before the files, are:
+.sp
+.ta .2i 1.0i
+.ft BI
+ Option Effect
+.br
+.ft R
+.ta .3i 1.0i
+.in 1.0i
+.ll -.3i
+.bt
+ \fB\-o\fIlist\fR \
+Print only pages whose page numbers appear in \fIlist\fR,
+which consists of comma-separated numbers and number ranges.
+A number range has the form \fIN\-M\fR
+and means pages \fIN\fR through \fIM;\fR
+a initial \fI\-N\fR means
+from the beginning to page \fIN;\fR and a final \fIN\-\fR means
+from \fIN\fR to the end.
+.bt
+ \fB\-n\fIN\fR Number first generated page \fIN\fR.
+.bt
+ \fB\-s\fIN\fR Stop every \fIN\fR pages.
+\*(NR will halt prior to every \fIN\fR pages (default \fIN\fR=1)
+to allow paper loading or
+changing, and will resume upon receipt of a newline.
+\*(TR will include a ``pause'' code every \fIN\fR pages;
+its meaning, if any, depends on the output device.
+.bt
+ \fB\-m\fIname\fR Prepend the macro file
+\fB/usr/ucblib/doctools/tmac/\fIname\fR
+to the input \fIfiles\fR,
+or, if that file would not be accessible,
+\fB/usr/ucblib/doctools/tmac/tmac.\fIname\fR.
+If the environment variable \%\fB\s-1TROFFMACS\s+1\fR is set,
+its value is used instead of the default macro directory string,
+and no attempt is made to open \fIname\fR with the ``tmac.'' prefix.
+The value is prepended to \fIname\fR
+without inserting an additional slash as a directory separator,
+so it must either end with a slash itself
+or can be used to specify a file name prefix (as e.g. ``tmac.'').
+.bt
+ \fB\-r\fIaN\fR Register \fIa\fR (one-character) is set to \fIN\fR.
+.bt
+ \fB\-r\fIa\fB=\fRN\fR Register \fIa\fR (may be more than one character) is set to \fIN\fR.
+.bt
+ \fB\-d\fIaS\fR String \fIa\fR (one-character) is set to \fIS\fR.
+.bt
+ \fB\-d\fIa\fB=\fIS\fR String \fIa\fR (may be more than one character) is set to \fIS\fR.
+.bt
+ \fB\-i\fP Read standard input after the input files are exhausted.
+.bt
+ \fB\-q\fR \
+Invoke the simultaneous input-output mode of the \T'rd'\fBrd\fR\T request.
+.bt
+ \fB\-x\fIN\fR Set the extension level to \fIN\fR \T'c_extension'(cf. \(sc1.1).\T
+.bt
+ \fB\-z\fR Check syntax only; do not generate any output except for error messages.
+.sp
+.ne 3
+.ft BI
+ \*(NR Only
+.br
+.ft
+.bt
+ \fB\-e\fR \
+Produce equally-spaced words in adjusted
+lines, using full terminal resolution.
+.bt
+ \fB\-h\fR \
+Use output tabs during horizontal spacing
+to speed output and reduce output character count.
+Tab settings are assumed to be every
+8 nominal character widths.
+.bt
+ \fB\-T\fIname\fR Specify
+the name of the output terminal type.
+Currently defined names are \fB37\fR for the (default) Model 37 Teletype\(rg,
+\fBlp\fR for any line printer or terminal without half-line capability,
+\fBtn300\fR for the GE TermiNet\ 300,
+\fB300S\fR for the \s-1DASI\s+1-300S,
+\fB300\fR for the \s-1DASI\s+1-300,
+and
+\fB450\fR for the \s-1DASI\s+1-450 (Diablo Hyterm).
+A special name, \fBlocale\fR, is also supported.
+It generates \*[UTF] output if permitted
+by the current \s-1LC_CTYPE\s+1 locale,
+and has the same effect as \fBlp\fR otherwise.
+.sp
+.nr nosave 1
+.ne 5
+.nr nosave 0
+.ft BI
+ \*(TR Only
+.br
+.ft
+.bt
+ \fB\-f\fP Refrain from feeding out paper and stopping
+the output device at the end of the run.
+.bt
+ \fB\-a\fP Send a printable \s-1(ASCII)\s+1 approximation
+of the results to the standard output.
+.bt
+ \fB\-F\fIpath\fR Look in directory \fIpath\fP
+for font information;
+the default is \fB/usr/ucblib/doctools/font/devps\fP.
+.bt
+ \fB\-T\fIname\fR Specifies the output device.
+Currently defined names are
+\fBps\fR for (default) \*(PS output at 72\|000 dpi,
+\fBpsmed\fR for \*(PS output at 3600 dpi,
+\fBpslow\fR for \*(PS output at 432 dpi,
+\fBpost\fR for \*(PS output at 720 dpi with legacy fonts,
+and
+\fBhtml\fR for producing HTML output with the \fBdhtml\fR postprocessor.
+.bt
+ \fB\-u\fIN\fR Set the emboldening amount,
+i.e. the number of times a character is printed to simulate bold output,
+to \fIN\fR.
+.ll
+.in 0
+.xx
+.ne 3
+.pg
+Each option is invoked as a separate argument;
+for example,
+.x1
+\fBnroff \-o\fI4,8\-10 \fB\-T\fI300S \fB\-m\fIabc file1 file2\fR
+.x2
+requests formatting of pages 4, 8, 9, and 10 of a document contained in the files
+named \fIfile1\fR and \fIfile2\fR,
+specifies the output terminal as a \s-1DASI\s+1-300S,
+and invokes the macro package \fIabc\fR.
+.pg
+Various pre- and post-processors are available for use with \*(NR and \*[TR.]
+These include
+the equation preprocessors \fIneqn\fP and \fIeqn\fP\T'ref_2'\*u2\*d\T
+(for \*(NR and \*(TR respectively),
+the table-construction preprocessor \fItbl\fP\T'ref_3'\*u3\*d\T,
+and \fIpic\fP and \fIgrap\fP
+for various forms of graphics.
+A reverse-line postprocessor \fIcol\fP
+is available for multiple-column \*(NR output on terminals without reverse-line ability;
+\fIcol\fP expects the Model 37 Teletype
+escape sequences that \*(NR produces by default.
+\fIcol\fR can optionally also filter the backspace sequences
+which \*(NR emits for \T'c_nrofful'underlining\T and
+\T'bd'emboldening\T in order to produce a plain text file.
+Another option is the \fIul\fR postprocessor
+which converts backspace sequences to underline
+and reverse video escape sequences
+for \s-1CRT\s0 terminals.
+.pg
+The \fBdpost\fR postprocessor has a special role
+as it translates \*(TR intermediate output to \*(PS,
+which is currently the only relevant target device format.
+.pg
+For example, in
+.x1
+\fBtbl \fIfiles \fB| eqn | troff \fIoptions \fB| dpost\fR >\fIoutput.ps\fR
+.x2
+the first \|\fB|\fR\| indicates the piping of \fItbl's\fP
+output to \fIeqn's\fP input;
+the second the piping of \fIeqn's\fP output to \*(TR's input;
+and the third indicates the piping of \*(TR's output to \fIdpost,\fP
+which then writes \*(PS code to \fIoutput.ps\fR.
+.xx
+The following options are currently supported with \fIdpost:\fR
+.sp
+.ta .3i 1.2i
+.ft BI
+ Option Effect
+.br
+.ft R
+.ta .3i 1.2i 1.4i
+.in 1.2i
+.ll -.3i
+.bt
+ \fB\-e\ \fIencoding\fR \
+Set the \*(PS encoding scheme.
+Possible values of \fIencoding\fR are:
+.in 1.4i
+.ti 0
+.xx
+ \fB0\fR using the \*(PS \fBashow\fR operator,
+with the same representation as previous
+versions of \fIdpost\fR
+.ti 0
+ \fB1\fR using \fBashow\fR,
+integrating motion commands with text commands
+.ti 0
+ \fB2\fR using the \*(PS \fBawidthshow\fR operator,
+computing space widths in \*(PS
+.ti 0
+ \fB3\fR using \fBawidthshow\fR,
+computing space widths in \fIdpost\fR
+.ti 0
+ \fB4\fR using \fBashow\fR,
+storing text positions as differences
+.ti 0
+ \fB5\fR like \fB4\fR but using a binary
+\*(PS Level\~2 representation
+.in 1.2i
+.ti 0
+.xx
+ The default is device-specific.
+\fB3\fR is the default with the
+high-resolution \fBps\fR device;
+it usually produces the most efficient \*(PS output
+and leads to the most compact \*[PDF] documents.
+With lower-resolution devices, \fB2\fR is preferred over \fB3\fR
+since the latter may produce incorrect alignment
+because of accumulated rounding errors.
+\fB0\fR, \fB1\fR, or \fB4\fR may be preferable
+if the text font contains many kerning pairs
+since \fB2\fR or \fB3\fR can result
+in less efficient or less compact output
+under these circumstances.
+.ta .3i 1.2i
+.in 1.2i
+.ne 4 \" 160210
+.bt
+ \fB\-M\ \fImarks\fR \
+Print marks (in combination with the \T'trimat'\fBtrimat\fR\T \*(TR request).
+Valid types of \fImarks\fR are:
+\fBcutmarks\fR,
+\fBregistrationmarks\fR,
+\fBstartargets\fR,
+\fBcolorbars\fR,
+and
+\fBall\fR.
+Mark names can be abbreviated and combined by colons,
+e.g. \fB\-Mcut:reg\fR will print cut marks and registration marks.
+.\" from file m0a
+.ii
+.ll 6.5i
+.in 0
+.bp
+.nr nosave 1
+.ps \n(PS
+.tr |
+.ce
+.Bookmark 0 "Summary and Index"
+.nr mh-level 2
+.ft B
+\A'part_summary'Request Summary
+.ft R
+.br
+.Bookmark 1 "Request Summary"
+.pg
+In the following table,
+the notation \(+-\fIN\fP in the
+\fIRequest Form\fR
+column means that the forms \fIN\fR, +\fIN\fR, or \-\fIN\fR are permitted,
+to set the parameter to \fIN\fR,
+increment it by \fIN\fR,
+or decrement it by \fIN\fR,
+respectively.
+Plain \fIN\fP means that the value is used to set the parameter.
+\fIInitial Values\fP separated by \fB;\fP
+are for
+\*(NR
+and
+\*(TR
+respectively.
+In the \fINotes\fP column,
+.ft R
+.TS
+cw(.3i) lw(4i).
+B T{
+Request normally causes a break.
+The use of \fB\'\fR as control character (instead of \fB.\fR)
+suppresses the break function.
+T}
+D Mode or relevant parameters associated with current \T'c_diversion'diversion\T level.
+E Relevant parameters are a part of the current environment.
+O Must stay in effect until logical output.
+P Mode must be still or again in effect at the time of physical output.
+T \*(TR only; no effect in \*[NR.]
+\fBv\fR,\fBp\fR,\fBm\fR,\fBu\fR Default scale indicator; if not specified, scale indicators are \fIignored\fR.
+.TE
+.de mx
+.ev 2
+.nf
+.h1
+.in
+.sp
+.fi
+.ev
+.ns
+..
+.xx
+.h1
+.mht s_general
+General Explanation
+.bt
+\T'do'\fB&do\T\fI|name\fR ignored \(en Execute \fIname\fR in extension level 3.
+.b1
+.lg 0
+\T'xflag'\fB&xflag\T\fI|N\fR 1 ignored \(en Set the extension level permanently to \fIN\fP.
+.lg
+.mht s_font
+Font and Character Size Control
+.bt
+\T'lc_ctype'\fB&lc_ctype\T\fI|name\fR ignored \(en Set the \s-1LC_CTYPE\s+1 locale.
+.b1
+\T'ps'\fB&ps\T\fI\|\(+-N\fR 10\|point previous E,T,\fBp\fR Point size; also\T \T'e_s'\fB\es\fI\(+-N\fR.
+.b1
+\T'fzoom'\fB&fzoom\T\fI|F|Z\fR 1 ignored P,T Zoom font \fIF\fR by factor \fIZ\fR.
+.b1
+\T'ss'\fB&ss\T\fI|N\fR|[\fIM\fR] 12/36\|m ignored E,T Space-character size
+set to \fIN\fR/36\|em;
+sentence space \fIM\fR/36\|em.
+.b1
+\T'cs'\fB&cs\T\fI\|F\|N\|M\fR off \(en P,T Constant character
+space (width)
+mode (font \fIF\^\fR\^).
+.b1
+\T'bd'\fB&bd\T\fI|F|N\fR off \(en P,T Embolden font \fIF\fR by \fIN\fR\(mi1 units.
+.b1
+\T'bd'\fB&bd\T|S|\fIF|N\fR off \(en P,T Embolden Special Font when current font is \fIF\fR.
+.b1
+\T'ft'\fB&ft\T\fI|F\fR Roman previous E Change to font
+\fIF\fR|= \fIx\fR, \fIxx\fR, or 1-4.
+Also \T's_f'\fB\ef\fIx\fR,\|\fB\ef(\fIxx\fR,\|\fB\ef\fIN\fR\T.
+.b1
+\T'fp'\fB&fp\T|\fIN|F|\fR[\fIfile|\fR[\fIsupply\fR]] ignored P Font position; mounts the font \fIfile\fR.
+.b1
+\T'fps'\fB&fps\T\fI|map|...\fR ignored P,T Mount a font with a special character map.
+.b1
+\T'feature'\fB&feature\T\fI|F|\(+-name|...\fR ignored P,T Control OpenType features.
+.b1
+\T'fallback'\fB&fallback\T\fI|F|A|B|...\fR ignored P,T Select the fallback sequence for font \fIF\fR.
+.b1
+\T'hidechar'\fB&hidechar\T\fI|F|c|d|...\fR ignored P,T Hide the characters \fIc\fR, \fId\fR, etc. from font F.
+.b1 0
+\T'spacewidth'\fB&spacewidth\T\fI|\fIN\fR on O,T If \fIN\fR\(!=0, use the space width from the font metrics file.
+.b1 0
+\T'fspacewidth'\fB&fspacewidth\T\fI|F|\fR[\fIN\fR] ignored O,T Set the width
+of the space character in font \fIF\fR to \fIN\fR.
+.mht s_page
+Page Control
+.bt
+\T'pl'\fB&pl\T\fI\|\(+-N\fR 11i 11i \fBv\fR Page length.
+.b1
+\T'papersize'\fB&papersize\T\fI|media\fR ignored T,\fBu\fR Set the paper size.
+.b1
+\T'mediasize'\fB&mediasize\T\fI|media\fR ignored T,\fBu\fR Set the device media size.
+.b1
+\T'cropat'\fB&cropat\T\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``CropBox'' page parameter for \*[PDF] generation.
+.b1
+\T'trimat'\fB&trimat\T\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``TrimBox'' page parameter for \*[PDF] generation.
+.b1
+\T'bleedat'\fB&bleedat\T\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``BleedBox'' page parameter for \*[PDF] generation.
+.b1
+\T'bp'\fB&bp\T|\fI\(+-N\fR \fIN\(eq\fR1 \(en B \
+Eject current page; next page number \fIN\fR.
+.b1
+\T'pn'\fB&pn\T\fI|\(+-N N\(eq\fR1 ignored \(en Next page number \fIN\fR.
+.b1
+\T'po'\fB&po\T\fI|\(+-N\fR 0;1i previous \fBm\fR Page offset.
+.b1
+\T'ne'\fB&ne\T\fI|N\fR \(en \fIN\(eq\fR1v D,\fBv\fR Need \fIN\fR vertical space (\fIV\fR = vertical spacing).
+.b1 0
+\T'mk'\fB&mk\T|\fIR\fR none internal D Mark current vertical place in register \fIR\fR.
+.b1 0
+\T'rt'\fB&rt\T\fI|\(+-N\fR none internal D,\fBv\fR Return \fI(upward only)\fR to marked vertical place.
+.mht s_fill
+Text Filling, Adjusting, and Centering
+.bt
+\T'br'\fB&br\T\fR \(en \(en B Break.
+.b1
+\T'lsm'\fB&lsm\T\fI|xx\fR none none \(en Leading space macro is \fIxx\fR.
+.b1
+\T'brp'\fB&brp\T\fR \(en \(en B Break and spread.
+.b1
+.lg 0
+\T'fi'\fB&fi\T\fR \(fill \(en B,E Fill output lines.
+.lg
+.b1
+\T'nf'\fB&nf\T\fR fill \(en B,E No filling or adjusting of output lines.
+.b1
+\T'ad'\fB&ad\T\fI|c\fR adj,both adjust E Adjust output lines with mode \fIc\fR; \fIc\fP\^=\^l,\^r,\^c,\^b,\^p,\^\fInone\fP
+.b1
+\T'na'\fB&na\T\fR adjust \(en E No output line adjusting.
+.b1
+\T'padj'\fB&padj\T\fI|N\fR off on \(en Control paragraph-at-once adjustment globally.
+.b1
+\T'ce'\fB&ce\T\fI|N\fR off \fIN\(eq\fR1 B,E Center following \fIN\fR input text lines.
+.b1
+\T'rj'\fB&rj\T\fI|N\fR off \fIN\(eq\fR1 B,E Right-align following \fIN\fR input text lines.
+.b1
+\T'brnl'\fB&brnl\T\fI|N\fR off \fIN\(eq\fR\(if B,E Break at end of next \fIN\fR input text lines.
+.b1
+\T'brpnl'\fB&brpnl\T\fI|N\fR off \fIN\(eq\fR\(if B,E Break and spread at end of next \fIN\fR input text lines.
+.b1
+\T'minss'\fB&minss\T\fI|N\fR off off E,T Minimum word space when adjusting lines.
+.b1
+\T'letadj'\fB&letadj\T\fI|X|U|S|Y|V\fR off E,T Dynamic letter spacing and reshaping when adjusting lines.
+.b1
+\T'sentchar'\fB&sentchar\T\fI|c...\fR \fB.?!:\fR off E Sentence-ending characters.
+.b1
+\T'transchar'\fB&transchar\T\fI|c..\fR \fB"')]*\(dg\fR off E Transparent characters for sentence-ending.
+.b1
+\T'track'\fB&track\T\fI|F|S|N|T|M\fR ignored P,T,\fBp\fR Static letter space tracking.
+.b1
+\T'kern'\fB&kern\T\fI|N\fR 1 1 P,T Control pairwise kerning.
+.b1
+\T'fkern'\fB&fkern\T\fI|F|N\fR 1 1 P,T Control the use of kerning tables from font \fIF\fR.
+.b1
+\T'kernpair'\fB&kernpair\T\fI|F|c...|G|d...|N\fR ignored P,T Define a kerning pair.
+.b1
+\T'kernafter'\fB&kernafter\T\fI|F|c...|N|d...|M|...\fR P,T Add a constant amount of space after a character.
+.b1
+\T'kernbefore'\fB&kernbefore\T\fI|F|c...|N|d...|M|...\fR P,T Add a constant amount of space before a character.
+.b1 0
+\T'lhang'\fB&lhang\T\fI|F|c...|N|d...|M|...\fR ignored T Hanging characters at left margin.
+.b1 0
+\T'rhang'\fB&rhang\T\fI|F|c...|N|d...|M|...\fR ignored T Hanging characters at right margin.
+.mht s_vert
+Vertical Spacing
+.bt
+\T'vs'\fB&vs\T\fI|N\fR 1/6in;12pts previous E,\fBp\fR Vertical base line spacing (\fIV\fR\^).
+.b1
+\T'ls'\fB&ls\T\fI|N N\(eq\fR1 previous E Output \fIN\(mi\fR1 \fIV\^\fRs after each text output line.
+.b1
+\T'sp'\fB&sp\T\fI|N\fR \(en \fIN\(eq\fR1\fIV\fR B,\fBv\fR Space \
+vertical distance \fIN\fR \fIin either direction\fR.
+.b1
+\T'sv'\fB&sv\T\fI|N\fR \(en \fIN\(eq\fR1\fIV\fR \fBv\fR Save vertical distance \fIN\fR.
+.b1
+\T'os'\fB&os\T\fR \(en \(en \(en Output saved vertical distance.
+.b1 0
+\T'ns'\fB&ns\T\fR space \(en D Turn no-space mode on.
+.b1 0
+\T'rs'\fB&rs\T\fR \(en \(en D Restore spacing; turn no-space mode off.
+.mht s_line
+Line Length and Indenting
+.bt
+\T'll'\fB&ll\T\fI|\(+-N\fR 6.5\|i previous E,\fBm\fR Line length.
+.b1
+\T'in'\fB&in\T\fI|\(+-N\fR \fIN\(eq\fR\^0 previous B,E,\fBm\fR Indent.
+.b1 0
+\T'ti'\fB&ti\T\fI|\(+-N\fR \(en ignored B,E,\fBm\fR Temporary indent.
+.b1 0
+\T'pshape'\fB&pshape\T\fI|\(+-I1|\(+-L1|\(+-I2|\(+-L2|\fR...|off E,\fBm\fR Define the shape of the current paragraph in \fBad p\fR mode.
+.mht s_mac
+Macros, Strings, Diversion, and Position Traps
+.bt
+\T'de'\fB&de\T\fI|xx|yy\fR \(en \fI.yy=\fB..\fR \(en Define or redefine macro \fIxx;\fR end at call of \fIyy\fR.
+.b1
+\T'am'\fB&am\T\fI|xx|yy\fR \(en \fI.yy=\fB..\fR \(en Append to a macro.
+.b1
+\T'ds'\fB&ds\T\fI|xx|string\fR \(en ignored \(en Define a string \fIxx\fR containing \fIstring\fR.
+.b1
+\T'as'\fB&as\T\fI|xx|string\fR \(en ignored \(en Append \fIstring\fR to string \fIxx\fR.
+.b1
+\T'lds'\fB&lds\T\fI|xx|string\fR \(en ignored \(en Define local string \fIxx\fR containing \fIstring\fR.
+.b1
+\T'substring'\fB&substring\T\fI|xx|N|\fR[\fIM\fR] \fIM\fR\(eq\|\(mi1 \(en Replace string \fIxx\fR by its substring between \fIN\fR and \fIM\fR.
+.b1
+\T'length'\fB&length\T\fI|R|string\fR \fIR\fR|set|to|0 \(en Store the length of \fIstring\fR in register \fIR\fR.
+.b1
+\T'index'\fB&index\T\fI|R|xx|string\fR ignored \(en Store position where \fIstring\fR occurs in \fIxx\fR in register \fIR\fR.
+.b1
+\T'chop'\fB&chop\T\fI|xx\fR \(en ignored \(en Remove the last character of \fIxx\fR.
+.b1
+\T'rm'\fB&rm\T\fI|xx\fR \(en ignored \(en Remove request, macro, or string.
+.b1
+\T'rn'\fB&rn\T\fI|xx|yy\fR \(en ignored \(en Rename request, macro, or string \fIxx\fR to \fIyy\fR.
+.b1
+\T'di'\fB&di\T\fI|xx\fR \(en end D Divert output to macro \fIxx\fR.
+.b1
+\T'da'\fB&da\T\fI|xx\fR \(en end D Divert and append to \fIxx\fR.
+.b1
+\T'box'\fB&box\T\fI|xx\fR \(en end D Divert output to macro \fIxx\fR, excluding a partially filled line.
+.b1
+\T'boxa'\fB&boxa\T\fI|xx\fR \(en end D Divert and append to \fIxx\fR, excluding a partially filled line.
+.b1
+\T'unformat'\fB&unformat\T\fI|xx\fR \(en ignored \(en Strip line break information from diversion \fIxx\fR.
+.b1
+\T'asciify'\fB&asciify\T\fI|xx\fR \(en ignored \(en All characters in diversion \fIxx\fR changed to plain text.
+.b1
+\T'wh'\fB&wh\T\fI|N|xx\fR \(en \(en \fBv\fR Set location trap; negative is w.r.t. page bottom.
+.b1
+\T'ch'\fB&ch\T\fI|xx|N\fR \(en \(en \fBv\fR Change trap location.
+.b1
+\T'dwh'\fB&dwh\T\fI|N|xx\fR \(en \(en D,\fBv\fR Set location trap in current diversion.
+.b1
+\T'dch'\fB&dch\T\fI|xx|N\fR \(en \(en D,\fBv\fR Change trap location in current diversion.
+.b1
+\T'dt'\fB&dt\T\fI|N|xx\fR \(en off D,\fBv\fR Set a diversion trap.
+.b1
+\T'vpt'\fB&vpt\T\fI|N\fR 1 ignored \(en Enable or disable vertical position traps.
+.b1
+\T'it'\fB&it\T\fI|N|xx\fR \(en off E Set an input-line count trap.
+.b1
+\T'itc'\fB&itc\T\fI|N|xx\fR \(en off E Input-line count trap ignoring \fB\ec\fR.
+.b1
+\T'return'\fB&return\T\fR \(en \(en \(en Return from the current macro.
+.b1
+\T'shift'\fB&shift\T\fI|N\fR \(en 1 \(en Shift the arguments to the current macro.
+.b1
+\T'als'\fB&als\T\fI|yy|xx\fR \(en \(en \(en \fIyy\fR is created as an alias for \fIxx\fR.
+.b1
+\T'blm'\fB&blm\T\fI|xx\fR none none \(en Blank line macro is \fIxx\fR.
+.b1 0
+\T'em'\fB&em\T\fI|xx\fR none none \(en End macro is \fIxx\fI.
+.b1 0
+\T'recursionlimit'\fB&recursionlimit\T\fI|N|M\fR \(en \(en Set the maximum stack depth.
+.mht s_reg
+Number Registers
+.bt
+\T'nr'\fB&nr\T\fI|R|\(+-N|M\fR \(en \fBu\fR Define and set number register \fIR\fR; auto-increment by \fIM\fR.
+.b1
+\T'nrf'\fB&nrf\T\fI|R|\(+-F|G\fR \(en \fBu\fR Define and set floating-point register \fIR\fR; auto-increment by \fIG\fR.
+.b1
+\T'lnr'\fB&lnr\T\fI|R|\(+-N|M\fR \(en \fBu\fR Define and set local number register \fIR\fR.
+.b1
+\T'lnrf'\fB&lnrf\T\fI|R|\(+-F|G\fR \(en \fBu\fR Define and set local floating-point register \fIR\fR.
+.b1
+\T'af'\fB&af\T\fI|R|c\fR arabic \(en \(en Assign format to register \fIR\fR (\fIc=\fB1\fR, \fBi\fR, \fBI\fR, \fBa\fR, \fBA\fR).
+.b1
+\T'rr'\fB&rr\T\fI|R\fR \(en \(en \(en Remove register \fIR\fR.
+.b1 0
+\T'rnn'\fB&rnn\T\fI|R|S\fR \(en \(en \(en Rename register \fIR\fR to \fIS\fR.
+.b1 0
+\T'aln'\fB&aln\T\fI|S|R\fR \(en \(en \(en Register \fIS\fR is created as an alias for \fIR\fR.
+.mht s_tabs
+Tabs, Leaders, and Fields
+.bt
+\T'ta'\fB&ta\T\fI|Nt|...\fR 8\|n;|0.5\|i none E,\fBm\fR Tab settings; \fIleft\fR type, unless \fIt=\fBR\fR(right), \fBC\fR(centered).
+.b1
+\T'tc'\fB&tc\T\fI|c\fR none none E Tab repetition character.
+.b1 0
+\T'lc'\fB&lc\T\fI|c\fR \fB.\fR none E Leader repetition character.
+.b1 0
+\T'fc'\fB&fc\T\fI|a|b\fR off off \(en Set field delimiter \fIa\fR and pad character \fIb\fR.
+.mht s_trans
+Input and Output Conventions and Character Translations
+.bt
+\T'ec'\fB&ec\T\fI|c\fR \e \e \(en Set escape character.
+.b1
+\T'eo'\fB&eo\T\fR on \(en \(en Turn off escape character mechanism.
+.b1
+\T'ecs'\fB&ecs\T\fR \e \(en \(en Save escape character.
+.b1
+\T'ecr'\fB&ecr\T\fR \e \(en \(en Restore saved escape character.
+.b1
+\T'escoff'\fB&escoff\T \fIesc ...\fR on ignored \(en \
+Disable escapes \fIesc \&...\|\fR.
+.b1
+\T'escon'\fB&escon\T \fIesc ...\fR on ignored \(en \
+Enable escapes \fIesc \&...\|\fR.
+.b1
+\T'lg'\fB&lg\T\fI|N\fR \(en;\|on on T Ligature mode
+on if \fIN\fR>0.
+.b1
+.lg 0
+\T'flig'\fB&flig\T\fI|F|string|c|...\fR ignored T De\(fine the ligatures in font \fIF\fR.
+.lg
+.b1
+\T'fdeferlig'\fB&fdeferlig\T\fI|F|string|...\fR ignored T Defer ligature building for the first character of \fIstring\fR.
+.b1
+\T'ul'\fB&ul\T\fI|N\fR off \fIN\(eq\fR1 E Underline (italicize in \*(TR) \fIN\fR input lines.
+.b1
+\T'cu'\fB&cu\T\fI|N\fR off \fIN\(eq\fR1 E Continuous underline in \*[NR;] like \fBul\fR in \*[TR.]
+.b1
+\T'uf'\fB&uf\T\fI|F\fR Italic Italic \(en Underline font set to \fIF\fR (to be switched to by \fBul\fR).
+.b1
+\T'cc'\fB&cc\T\fI|c\fR \fB. .\fR E Set control character to \fIc\fR.
+.b1
+\T'c2'\fB&c2\T\fI|c\fR \fB\' \'\fR E Set nobreak control character to \fIc\fR.
+.b1
+\T'tr'\fB&tr\T\fI|abcd....\fR none \(en O Translate \fIa\fR to \fIb\fR, etc. on output.
+.b1
+\T'trin'\fB&trin\T\fI|abcd....\fR none \(en O Translate but retranslate with \fBasciify\fR.
+.b1
+\T'trnt'\fB&trnt\T\fI|abcd....\fR none \(en O Translate but not on transparent lines.
+.b1
+\T'ftr'\fB&ftr\T\fI|F|abcd....\fR none \(en P,T Font-specific \fBtr\fR.
+.b1
+\T'char'\fB&char\T\fI|c|string\fR ignored \(en Define character \fIc\fR to \fIstring\fR.
+.b1
+\T'fchar'\fB&fchar\T\fI|c|string\fR ignored T Define fallback for character \fIc\fR to \fIstring\fR.
+.b1 0
+\T'rchar'\fB&rchar\T\fI|c...\fR ignored \(en Remove character definitions for \fIc...\fR.
+.b1 0
+\T'utf8conv'\fB&utf8conv\T\fI|c1|c2\fR ignored \(en \*(NR \*[UTF] locale character translation.
+.b1 0
+\T'output'\fB&output\T\fI|string\fR ignored \(en Write \fIstring\fR directly to intermediate output.
+.br
+.nr nosave 1
+.ne 4
+.nr nosave 0
+.mht s_mot
+Local Horizontal and Vertical Motions, and the Width Function
+.mht s_draw
+Overstrike, Bracket, Line-drawing, Graphics, and Zero-width Functions
+.bt
+\T'connectchar'\fB&connectchar\T\fI|c..\fR \fB"\e(ru\e(ul\e(rn\fR off E Connected characters for line drawing.
+.mht s_hyphen
+Hyphenation.
+.bt
+\T'nh'\fB&nh\T\fR hyphenate \(en E No hyphenation.
+.b1
+\T'hy'\fB&hy\T\fI|N\fR hyphenate hyphenate E Hyphenate; \fIN =\fR mode.
+.b1
+\T'hylang'\fB&hylang\T\fI|name\fR off off E Set the hyphenation language.
+.b1
+\T'shc'\fB&shc\T\fI|c\fR \(hy \(hy E Set the soft hyphenation character.
+.b1
+\T'hcode'\fB&hcode\T\fI|abcd...\fR \(en E Hyphenation code of \fIa\fR is \fIb\fR, etc.
+.b1
+\T'hylen'\fB&hylen\T\fI|N\fR 5 5 E Hyphenate only words of at least \fIN\fR characters in length.
+.b1
+\T'hlm'\fB&hlm\T\fI|N\fR off off E Maximum number of consecutive hyphenated lines.
+.b1
+\T'hypp'\fB&hypp\T\fI|N|M|L\fR 0|0|0 0|0|0 E Define hyphenation penalties for \fBad p\fR mode.
+.b1
+\T'breakchar'\fB&breakchar\T\fI|c.\fR \fB\(hy\(em\fR off E Optional line break characters.
+.b1
+\T'nhychar'\fB&nhychar\T\fI|c...\fR \fB\(hy\(em\fR off E Hyphenation-inhibiting characters.
+.b1 0
+\T'hc'\fB&hc\T\fI|c\fR \fB\e% \e%\fR E Hyphenation indicator character \fIc\fR.
+.b1 0
+\T'hw'\fB&hw\T\fI|word|...\fR \(en ignored \(en Add words to hyphenation dictionary.
+.mht s_titles
+Three-Part Titles.
+.bt
+\T'tl'\fB&tl\T\fI|\'left\'center\'right\'\fR \(en \(en Three part title; delimiter may be any character.
+.b1 0
+\T'pc'\fB&pc\T\fI|c\fR \fB%\fR off \(en Page number character.
+.b1 0
+\T'lt'\fB&lt\T\fI|\(+-N\fR 6.5\|in previous E,\fBm\fR Length of title.
+.mht s_onl
+Output Line Numbering.
+.bt
+\T'nm'\fB&nm\T\fI|\(+-N|M|S|I\fR off E Number mode on or off, set parameters.
+.b1 0
+\T'nn'\fB&nn\T\fI|N\fR \(en \fIN\(eq\fR1 E Do not number next \fIN\fR lines.
+.mht s_cond
+Conditional Acceptance of Input
+.bt
+\T'if'\fB&if\T\fI|c|anything\fR \(en \(en If condition \fIc\fR true, accept \fIanything\fR as input,
+.b1
+ for multi-line use \fI\e{anything\|\e}\fR.
+.b1
+\T'if'\fB&if\T|!\fIc|anything\fR \(en \(en If condition \fIc\fR false, accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T\fI|N|anything\fR \(en \fBu\fR If expression \fIN\fR > 0, accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T|!\fIN|anything\fR \(en \fBu\fR If expression \fIN\fR \(<= 0 [sic], accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T|f\fIF|anything\fR \(en \fBu\fR If floating-point expression \fIF\fR > 0, accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T|!f\fIF|anything\fR \(en \fBu\fR If floating-point expression \fIF\fR \(<= 0 [sic], accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T\fI|\'string1\'string2\'|anything\fR \(en If \fIstring1\fR identical to \fIstring2\fR,
+accept \fIanything\fR.
+.b1
+\T'if'\fB&if\T|!\fI\|\'string1\'string2\'|anything\fR \(en If \fIstring1\fR not identical to \fIstring2\fR,
+accept \fIanything\fR.
+.b1
+\T'ie'\fB&ie\T\fI|c|anything\fR \(en \fBu\fR If portion of if-else; all above forms (like \fBif\fR).
+.b1
+\T'el'\fB&el\T\fI|anything\fR \(en \(en Else portion of if-else.
+.b1
+\T'while'\fB&while\T\fI|c|anything\fR \(en \(en Execute \fIanything\fR while \fIc\fR (like \fBif\fR) is true.
+.b1 0
+\T'break'\fB&break\T\fI|n\fR \(en 1 \(en Break out of \fIn\fR nested \fBwhile\fR loops.
+.b1 0
+\T'continue'\fB&continue\T\fI|n\fR \(en 1 \(en Continue at the \fIn\fR-th nested \fBwhile\fR loop.
+.mht s_env
+Environment Switching.
+.bt
+\T'ev'\fB&ev\T\fI|name\fR \fIname\(eq\fR0 previous \(en Environment switched (\fIpush down\fR).
+.b1 0
+\T'evc'\fB&evc\T\fI|name\fR \(en \(en Copy environment \fIname\fR to the current environment.
+.mht s_stdin
+Insertions from the Standard Input
+.bt
+\T'rd'\fB&rd\T\fI|prompt\fR\fR \(en \fIprompt=\s-1\fRBEL\s+1 \(en Read insertion.
+.b1 0
+\T'ex'\fB&ex\T\fR \(en \(en \(en \
+Exit from \*(NR/\*[TR.]
+.mht s_io
+Input/Output File Switching
+.bt
+\T'so'\fB&so\T\fI|filename\fR \(en \(en Switch source file \fI(push down)\fR.
+.b1
+\T'pso'\fB&pso\T\fI|string\fR \(en \(en Execute \fIstring\fR and read its output.
+.b1
+\T'nx'\fB&nx\T\fI|filename\fR end-of-file \(en Next file.
+.br
+\T'sy'\fB&sy\T\fI|string\fR \(en \(en Execute program \fIstring\fP. Output not interpolated.
+.b1
+\T'pi'\fB&pi\T\fI|string\fR \(en \(en Pipe output to program \fIstring\fP.
+.b1
+\T'cf'\fB&cf\T\fI|filename\fR \(en \(en Copy file contents to \*(TR output.
+.b1
+\T'open'\fB&open\T\fI|stream|filename\fR ignored \(en Open \fIfilename\fR as \fIstream\fR, truncating.
+.b1
+\T'opena'\fB&opena\T\fI|stream|filename\fR ignored \(en Open \fIfilename\fR as \fIstream\fR, appending.
+.b1
+\T'write'\fB&write\T\fI|stream|text\fR ignored \(en Write \fItext\fR to file \fIstream\fR.
+.b1
+\T'writec'\fB&writec\T\fI|stream|text\fR ignored \(en Write \fItext\fR without terminating newline.
+.b1 0
+\T'writem'\fB&writem\T\fI|stream|xx\fR ignored \(en Write contents of string, macro, or diversion \fIxx\fR.
+.b1 0
+\T'close'\fB&close\T\fI|stream\fR \(en \(en Close the file \fIstream\fR.
+.mht s_misc
+Miscellaneous
+.bt
+\T'mc'\fB&mc\T\fI|c|N\fR \(en off E,\fBm\fR Set margin character \fIc\fR and separation \fIN\fR.
+.b1
+\T'lpfx'\fB&lpfx\T\fI|string\fR off off E Set line prefix to \fIstring\fR.
+.b1
+\T'tm'\fB&tm\T\fI|string\fR \(en newline \(en Print \fIstring\fR on terminal (standard error).
+.b1
+\T'tmc'\fB&tmc\T\fI|string\fR \(en newline \(en Print \fIstring\fR without newline on terminal.
+.b1
+\T'nop'\fB&nop\T\fI|remainder of line\fR \(en \(en Use \
+\fIremainder of line\fR as input.
+.b1
+\T'chomp'\fB&chomp\T\fI|remainder of line\fR \(en \(en Use \
+\fIremainder of line without newline\fR as input.
+.b1
+\T'ab'\fB&ab\T\fI|string\fR \(en newline \(en Print \fIstring\fR on standard error, exit program.
+.b1
+\T'ig'\fB&ig\T\fI|yy\fR \(en \fI.yy=\fB..\fR \(en Ignore till call of \fIyy\fR.
+.b1
+\T'lf'\fB&lf\T\fI|N|f\fR \(en \(en Set input line number to \fIN\fP and filename to \fIf\fP.
+.b1
+\T'pm'\fB&pm\T\fI|t\fR \(en all \(en Print macro names and sizes;
+.b1
+ if \fIt\fR present, print only total of sizes.
+.b1 0
+.lg 0
+\T'fl'\fB&fl\T\fR \(en \(en B Flush output buffer.
+.lg
+.mht s_err
+Output and Error Messages, Debugging
+.bt
+\T'warn'\fB&warn\T\fI|\(+-bits\(or\^name\fR \fIw\fR \(en Control warning messages.
+.b1
+\T'spreadwarn'\fB&spreadwarn\T\fI|N\fR toggle \fBm\fR Spread limit warning.
+.b1
+\T'errprint'\fB&errprint\T\fI|string\fR newline \(en Print \fIstring\fR like an error message.
+.b1
+\T'watch'\fB&watch\T\fI|xx\fR off ignore \(en Notify on change of string or macro \fIxx\fR.
+.b1
+\T'unwatch'\fB&unwatch\T\fI|xx\fR off ignore \(en Disable notification for string or macro \fIxx\fR.
+.b1
+\T'watchlength'\fB&watchlength\T\fI|N\fR ignore \(en On change, report contents up to length \fIN\fR.
+.b1 0
+\T'watchn'\fB&watchn\T\fI|R\fR off ignore \(en Notify on change of register \fIR\fR.
+.b1 0
+\T'unwatchn'\fB&unwatchn\T\fI|R\fR off ignore \(en Disable notification for register \fIR\fR.
+.mht s_color
+Color Support
+.bt
+\T'CL'\fB&CL\T\fI|color|text\fR \s-1RGB\s+1|black \(en Print \fItext\fR in \fIcolor\fR.*
+.mht s_pics
+Picture Inclusion
+.bt
+\T'psbb'\fB&psbb\T\fI|filename\fR \(en \(en Read the \*(PS bounding box from \fIfilename\fR.
+.b1
+\T'BP'\fB&BP\T\fI|source|height|width|position|offset|flags|label\fR Define a frame and place a picture in it.*
+.b1 0
+\T'EP'\fB&EP\T\fR \(en \(en \(en End a picture started by \fB&BP\fR.*
+.b1 0
+\T'PI'\fB&PI\T\fI|source|height\fB,\fIwidth\fB,\fIyoffset\fB,\fIxoffset|flags\fR Low-level picture inclusion.*
+.br
+.ne 8
+.mht s_pdf
+Special Features for \*[PDF] Documents
+.mht s_groff
+\f(BIgroff\fP Compatibility
+.bt 0
+\T'cp'\fB&cp\T\fI|N\fR off \(en \(en Enable \*(GR compatibility mode.
+.b1 0
+\T'mso'\fB&mso\T\fI|name\fR \(en ignored \(en Include the macro package \fIname\fR.*
+.mht s_output
+Output Language
+.mht s_device
+Device and Font Description Files
+.br
+.fn
+.sp .3
+\(**\|Defined as a macro in an external package;
+refer to the detailed description on how to include it.
+.ef
+.rm mx
+.bp
+.nf
+.ft R
+.di zz
+.ta 12nR
+.nf
+.ps 8
+.vs 10
+.tc .
+\T'ab'ab\T 20
+\T'ad'ad\T 4
+\T'af'af\T 8
+\T'aln'aln\T 8
+\T'als'als\T 7
+\T'am'am\T 7
+\T'as'as\T 7
+\T'asciify'asciify\T 7
+\T'bd'bd\T 2
+\T'bleedat'bleedat\T 3
+\T'blm'blm\T 7
+\T'box'box\T 7
+\T'boxa'boxa\T 7
+\T'bp'bp\T 3
+\T'BP'BP\T 23
+\T'br'br\T 4
+\T'break'break\T 16
+\T'breakchar'breakchar\T 13
+\T'brnl'brnl\T 4
+\T'brp'brp\T 4
+\T'brpnl'brpnl\T 4
+\T'c2'c2\T 10
+\T'cc'cc\T 10
+\T'ce'ce\T 4
+\T'cf'cf\T 19
+\T'ch'ch\T 7
+\T'char'char\T 10
+\T'chomp'chomp\T 20
+\T'chop'chop\T 7
+\T'close'close\T 19
+\T'CL'CL\T 22
+\T'connectchar'connectchar\T 12
+\T'continue'continue\T 16
+\T'cp'cp\T 25
+\T'cropat'cropat\T 3
+\T'cs'cs\T 2
+\T'cu'cu\T 10
+\T'da'da\T 7
+\T'dch'dch\T 7
+\T'de'de\T 7
+\T'di'di\T 7
+\T'do'do\T 1
+\T'ds'ds\T 7
+\T'dwh'dwh\T 7
+\T'dt'dt\T 7
+\T'ec'ec\T 10
+\T'ecs'ecs\T 10
+\T'ecr'ecr\T 10
+\T'el'el\T 16
+\T'em'em\T 7
+\T'eo'eo\T 10
+\T'EP'EP\T 23
+\T'errprint'errprint\T 21
+\T'escoff'escoff\T 10
+\T'escon'escon\T 10
+\T'ev'ev\T 17
+\T'evc'evc\T 17
+\T'ex'ex\T 18
+\T'fallback'fallback\T 2
+\T'fc'fc\T 9
+\T'fchar'fchar\T 10
+\T'fdeferlig'fdeferlig\T 10
+\T'feature'feature\T 2
+\T'fi'fi\T 4
+\T'fkern'fkern\T 4
+\T'fl'fl\T 20
+\T'flig'flig\T 10
+\T'fp'fp\T 2
+\T'fps'fps\T 2
+\T'fspacewidth'fspacewidth\T 2
+\T'ft'ft\T 2
+\T'fzoom'fzoom\T 2
+\T'hc'hc\T 13
+\T'hcode'hcode\T 13
+\T'hidechar'hidechar\T 2
+\T'hlm'hlm\T 13
+\T'hw'hw\T 13
+\T'hy'hy\T 13
+\T'hylang'hylang\T 13
+\T'hylen'hylen\T 13
+\T'hypp'hypp\T 13
+\T'ie'ie\T 16
+\T'if'if\T 16
+\T'ig'ig\T 20
+\T'in'in\T 6
+\T'index'index\T 7
+\T'it'it\T 7
+\T'itc'itc\T 7
+\T'kern'kern\T 4
+\T'kernafter'kernafter\T 4
+\T'kernbefore'kernbefore\T 4
+\T'kernpair'kernpair\T 4
+\T'lc'lc\T 9
+\T'lc_ctype'lc_ctype\T 2
+\T'lds'lds\T 7
+\T'length'length\T 7
+\T'letadj'letadj\T 4
+\T'lf'lf\T 20
+\T'lg'lg\T 10
+\T'lhang'lhang\T 4
+\T'li'li\T 10
+\T'll'll\T 6
+\T'lnr'lnr\T 8
+\T'lnrf'lnrf\T 8
+\T'lpfx'lpfx\T 20
+\T'ls'ls\T 5
+\T'lsm'lsm\T 4
+\T'lt'lt\T 14
+\T'mc'mc\T 20
+\T'mediasize'mediasize\T 3
+\T'minss'minss\T 4
+\T'mk'mk\T 3
+\T'mso'mso\T 25
+\T'na'na\T 4
+\T'ne'ne\T 3
+\T'nf'nf\T 4
+\T'nh'nh\T 13
+\T'nhychar'nhychar\T 13
+\T'nm'nm\T 15
+\T'nn'nn\T 15
+\T'nop'nop\T 20
+\T'nr'nr\T 8
+\T'nrf'nrf\T 8
+\T'ns'ns\T 5
+\T'nx'nx\T 19
+\T'open'open\T 19
+\T'opena'opena\T 19
+\T'os'os\T 5
+\T'output'output\T 10
+\T'padj'padj\T 4
+\T'papersize'papersize\T 3
+\T'pc'pc\T 14
+\T'pi'pi\T 19
+\T'PI'PI\T 23
+\T'pl'pl\T 3
+\T'pm'pm\T 20
+\T'pn'pn\T 3
+\T'po'po\T 3
+\T'ps'ps\T 2
+\T'psbb'psbb\T 23
+\T'pshape'pshape\T 6
+\T'pso'pso\T 19
+\T'rchar'rchar\T 10
+\T'rd'rd\T 18
+\T'recursionlimit'recursionlimit\T 7
+\T'return'return\T 7
+\T'rhang'rhang\T 4
+\T'rj'rj\T 4
+\T'rm'rm\T 7
+\T'rn'rn\T 7
+\T'rnn'rnn\T 8
+\T'rr'rr\T 8
+\T'rs'rs\T 5
+\T'rt'rt\T 3
+\T'sentchar'sentchar\T 4
+\T'shc'shc\T 13
+\T'shift'shift\T 7
+\T'so'so\T 19
+\T'sp'sp\T 5
+\T'spacewidth'spacewidth\T 2
+\T'spreadwarn'spreadwarn\T 21
+\T'ss'ss\T 2
+\T'substring'substring\T 7
+\T'sv'sv\T 5
+\T'sy'sy\T 19
+\T'ta'ta\T 9
+\T'tc'tc\T 9
+\T'ti'ti\T 6
+\T'tl'tl\T 14
+\T'tm'tm\T 20
+\T'tr'tr\T 10
+\T'track'track\T 4
+\T'transchar'transchar\T 4
+\T'trimat'trimat\T 3
+\T'trin'trin\T 10
+\T'trnt'trnt\T 10
+\T'uf'uf\T 10
+\T'ul'ul\T 10
+\T'unformat'unformat\T 7
+\T'unwatch'unwatch\T 21
+\T'unwatchn'unwatchn\T 21
+\T'utf8conv'utf8conv\T 10
+\T'vpt'vpt\T 7
+\T'vs'vs\T 5
+\T'warn'warn\T 21
+\T'watch'watch\T 21
+\T'watchlength'watchlength\T 21
+\T'watchn'watchn\T 21
+\T'wh'wh\T 7
+\T'while'while\T 16
+\T'write'write\T 19
+\T'writec'writec\T 19
+\T'writem'writem\T 19
+\T'xflag'xflag\T 1
+.tc
+.di
+.nr zz 5
+.nr zo \n(dl+((\n(.l-(\n(zz*\n(dl))/(\n(zz-1))
+.de cl
+.ie \\n+(cl<\n(zz \{\
+. po +\\n(zou
+. rt\}
+.el \{.po \\n(POu\}
+..
+.nr cl 0 1
+.nr aa \n(dn/\n(zz
+.ne \n(aau+10p
+.sp
+.ft B
+Alphabetical Request and Section Number Cross Reference
+.ft
+.br
+.Bookmark 1 "Alphabetical Request and Section Number Cross Reference"
+.sp .3
+.wh \n(nlu+\n(aau cl
+.nr qq \n(nlu+\n(aau
+.ps
+.vs
+.mk
+.zz
+.rt
+.sp \n(.tu
+.ch cl 12i
+.sp
+.bp
+.nf
+.ft B
+Escape Sequences for Characters, Indicators, and Functions
+.ft R
+.br
+.Bookmark 1 "Escape Sequences for Characters, Indicators, and Functions"
+.xx
+.sp -1
+.TS
+c2l
+c2l2l
+n2l2l.
+.ft BI
+Section Escape
+Reference Sequence Meaning
+.ft R
+.xx
+\T'e_esc'10.1\T \T'e_esc'\fB\e\e\fR\T \T'e_esc'\e (to prevent or delay the interpretation of \e\|)\T
+\T'e_acute'2.1\T \T'e_acute'\fB\e\'\fR\T \T'e_acute'\' (acute accent); equivalent to \fB\e(aa\fR\T
+\T'e_grave'2.1\T \T'e_grave'\fB\e\`\fR\T \T'e_grave'\` (grave accent); equivalent to \fB\e(ga\fR\T
+\T'e_-'2.1\T \T'e_-'\fB\e\-\fR\T \T'e_-'\- Minus sign in the \fIcurrent\fR font\T
+\T'e__'12.4\T \T'e__'\fB\e_\fR\T \T'e__'\_ (underrule character); equivalent to \fB\e(ul\fR\T
+\T'e_.'7\T \T'e_.'\fB\e\^.\fR\T \T'e_.'Period (dot) (see \fBde\fR)\T
+\T'e_ '4.1\T \T'e_ '\fB\e\fR(space)\T \T'e_ 'Unpaddable space-size space character\T
+\T'e_~'4.1\T \T'e_~'\fB\e\(ap\fR\T \T'e_~'Paddable no-break space character\T
+\T'e_0'11.1\T \T'e_0'\fB\e0\fR\T \T'e_0'Digit width space\T
+.tr ||
+\T'e_|'11.1\T \T'e_|'\fB\e\||\fR\T \T'e_|'1/6\|em narrow space character (zero width in \*(NR)\T
+.tr |
+\T'e_^'11.1\T \T'e_^'\fB\e^\fR\T \T'e_^'1/12\|em half-narrow space character (zero width in \*(NR)\T
+.tr &&
+\T'e_&'4.1\T \T'e_&'\fB\e&\fR\T \T'e_&'Non-printing, zero width character\T
+.tr &.
+\T'e_)'4.1\T \T'e_)'\fB\e)\fR\T \T'e_)'Transparent non-printing zero width character\T
+\T'e_!'10.6\T \T'e_!'\fB\e!\fR\T \T'e_!'Transparent line indicator\T
+\T'e_"'10.8\T \T'e_"'\fB\e"\fR\T \T'e_"'Beginning of comment\T
+\T'e_#'10.8\T \T'e_#'\fB\e#\fR\T \T'e_#'Comment including newline\T
+\T'e_$'7.3\T \T'e_$'\fB\e$\fIn\fR,\fB\e$(\fInn\fR,\fB\e$[\fInnn\fB]\fR\T \T'e_$'Interpolate argument \fIn\fR, \fInn\fR, or \fInnn\fR\T
+\T'e_$*'7.3\T \T'e_$*'\fB\e$\(**\fR\T \T'e_$*'Interpolate all arguments separated by spaces\T
+\T'e_$@'7.3\T \T'e_$@'\fB\e$@\fR\T \T'e_$@'Interpolate all arguments in double quotes\T
+\T'e_$0'7.3\T \T'e_$0'\fB\e$0\fR\T \T'e_$0'Interpolate name of current macro or string\T
+\T'e_%'13\T \T'e_%'\fB\e%\fR\T \T'e_%'Default optional hyphenation character\T
+\T'e_('2.1\T \T'e_('\fB\e(\fIxx\fR\T \T'e_('Character named \fIxx\fR\T
+\T'e_['2.1\T \T'e_['\fB\e[\fIxxx\fR]\T \T'e_['Character named \fIxxx\fP\T
+\T'e_*'7.1\T \T'e_*'\fB\e\(**\fIx\fR,\fB\e\(**(\fIxx\fR,\fB\e\(**[\fIxxx\fB]\fR\T \T'e_*'Interpolate string \fIx\fR, \fIxx\fR, or \fIxxx\fR\T
+\T'e_*'7.1\T \T'e_*'\fB\e\(**[\fIxxx\ arg\ \fR...\fB]\fR\T \T'e_*'Interpolate string \fIxxx\fR with arguments \fIarg\ \fR...\T
+\T'e_:'13\T \T'e_:'\fB\e:\fR\T \T'e_:'Optional line-break character\T
+\T'e_;'10.2\T \T'e_;'\fB\e;\fR\T \T'e_;'Ligature suppressor\T
+\T'e_@'17\T \T'e_@'\fB\e@{\fR,\fB\e@}\fR\T \T'e_@'Inline environment push/pop\T
+\T'e_a'9.1\T \T'e_a'\fB\ea\fR\T \T'e_a'Non-interpreted leader character\T
+\T'e_A'24.6\T \T'e_A'\fB\eA\fI\'string\'\fR\T \T'e_A'Anchor definition\T
+\T'e_b'12.3\T \T'e_b'\fB\eb\fI\'abc...\'\fR\T \T'e_b'Bracket building function\T
+\T'e_B'1.4\T \T'e_B'\fB\eB\fI\(aqstring\(aq\fR\T \T'e_B'Test if\
+ \fIstring\fR is a numerical expression\T
+\T'e_c'4.2\T \T'e_c'\fB\ec\fR\T \T'e_c'Interrupt text processing\T
+\T'e_C'2.1\T \T'e_C'\fB\eC\fI\'xxx\'\fR\T \T'e_C'Character named \fIxxx\fP\T
+\T'e_d'11.1\T \T'e_d'\fB\ed\fR\T \T'e_d'Forward (down) 1/2\|em vertical motion (1/2 line in \*(NR)\T
+\T'e_D'12.5\T \T'e_D'\fB\eD\fI\'c...\'\fR\T \T'e_D'Draw graphics function \fIc\fP with parameters ...; \fIc\fP\^=\^\fBl\fR,\^\fBc\fR,\^\fBe\fR,\^\fBa\fP,\^\fB\(ap\fP\T
+\T'e_e'10.1\T \T'e_e'\fB\ee\fR\T \T'e_e'Printable version of the \fIcurrent\fR escape character\T
+\T'e_E'10.1\T \T'e_E'\fB\eE\fR\T \T'e_E'Escape character, not interpreted in \fIcopy mode\fR\T
+\T'e_f'2.2\T \T'e_f'\fB\ef\fIx\fR,\fB\ef(\fIxx\fR,\fB\ef[\fIxxx\fB]\fR,\fB\ef\fIN\fR\T \T'e_f'Change to font named \fIx\fR, \fIxx\fR, or \fIxxx\fR, or position \fIN\fR\T
+\T'e_g'8\T \T'e_g'\fB\eg\fIx\fR,\fB\eg(\fIxx\fR,\fB\eg[\fIxxx\fB]\fR\T \T'e_g'Format of number register \fIx\fP, \fIxx\fR, or \fIxxx\fR\T
+\T'e_h'11.1\T \T'e_h'\fB\eh\fI\'N\'\fR\T \T'e_h'Local horizontal motion; move right \fIN\fR \fI(negative left)\fR\T
+\T'e_H'2.3\T \T'e_H'\fB\eH\fI\'N\'\fR\T \T'e_H'Height of current font is \fIN\fR\T
+\T'e_I'1.1\T \T'e_I'\fB\eI\fI\(aqstring\(aq\fR\T \T'e_B'Test if\
+ \fIstring\fR is a valid identifier name\T
+\T'e_j'4.1\T \T'e_j'\fB\ej\fI\'\(+-N\'\fR\T \T'e_j'Penalty for breaking a line after the current word is \fIN\fR\T
+\T'e_J'4.1\T \T'e_J'\fB\eJ\fI\'\(+-N\'\fR\T \T'e_J'Default line breaking penalty is \fIN\fR\T
+\T'e_k'11.3\T \T'e_k'\fB\ek\fIx\fR,\fB\ek(\fIxx\fR,\fB\ek[\fIxxx\fB]\fR\T \T'e_k'Mark horizontal \fIinput\fR place in register \fIx,\fR \fIxx\fR, or \fIxxx\fR\T
+\T'e_l'12.4\T \T'e_l'\fB\el\fI\^\'Nc\'\fR\T \T'e_l'Horizontal line drawing function (optionally with \fIc\fR\|)\T
+\T'e_L'12.4\T \T'e_L'\fB\eL\fI\'Nc\'\fR\T \T'e_L'Vertical line drawing function (optionally with \fIc\fR\|)\T
+\T'e_n'8\T \T'e_n'\fB\en\fIx\fR,\fB\en(\fIxx\fR,\fB\en[\fIxxx\fB]\fR\T \T'e_n'Interpolate number register \fIx\fR, \fIxx\fR, or \fIxxx\fR\T
+\T'e_N'2.\T \T'e_N'\fB\eN\fI\'N\'\fR\T \T'e_N'Character number \fIN\fR on current font\T
+\T'e_o'12.1\T \T'e_o'\fB\eo\fI\'abc...\'\fR\T \T'e_o'Overstrike characters \fIa, b, c, ...\fR\T
+\T'e_p'4.1\T \T'e_p'\fB\ep\fR\T \T'e_p'Break and spread output line\T
+\T'e_P'7.5\T \T'e_P'\fB\eP\fIx\fR,\fB\eP(\fIxx\fR,\fB\eP[\fIxxx\fB]\fR\T \T'e_P'Output-line trap \fIx\fR, \fIxx\fR, or \fIxxx\fR\T
+\T'e_r'11.1\T \T'e_r'\fB\er\fR\T \T'e_r'Reverse 1\|em vertical motion (reverse line in \*(NR)\T
+\T'e_R'8\T \T'e_R'\fB\eR\fI\'R\ \(+-N\'\fR\T \T'e_R'Set number register \fIR\fR to \fI\(+-N\fR\T
+.ne 3
+\T'e_s'2.3\T T{
+\T'e_s'\fB\es\fIN\fR,\fB\es\fI\(+-N\fR,
+\fB\es\'\fI\(+-N\fB\'\fR,\fB\es\fI\(+-\fB\'\fIN\fB\'\fR,
+\fB\es[\fI\(+-N\fB]\fR,\fB\es\fI\(+-\fB[\fIN\fB]\fR\T
+T} \T'e_s'Point-size change function\T
+\T'e_S'2.2\T \T'e_S'\fB\eS\fI\'N\'\fR\T \T'e_S'Slant output \fIN\fP degrees\T
+\T'e_t'9.1\T \T'e_t'\fB\et\fR\T \T'e_t'Non-interpreted horizontal tab\T
+\T'e_T'24.6\T \T'e_T'\fB\eT\fI\'string\'\fR\T \T'e_T'Intra-document link definition\T
+\T'e_u'11.1\T \T'e_u'\fB\eu\fR\T \T'e_u'Reverse (up) 1/2\|em vertical motion (1/2 line in \*(NR)\T
+\T'e_U'2.1\T \T'e_U'\fB\eU\fI\'X\'\fR\T \T'e_U'Character at Unicode position U+\fIX\fR\T
+\T'e_v'11.1\T \T'e_v'\fB\ev\fI\'N\'\fR\T \T'e_v'Local vertical motion; move down \fIN\fR \fI(negative up)\fR\T
+\T'e_V'20\T \T'e_V'\fB\eV\fIx\fR,\fB\eV(\fIxx\fR,\fB\eV[\fIxxx\fB]\fR\T \T'e_V'Environment variable \fIx\fP, \fIxx\fR, or \fIxxx\fR\T
+\T'e_w'11.2\T \T'e_w'\fB\ew\fI\'string\'\fR\T \T'e_w'Interpolate width of \fIstring\fR\T
+\T'e_W'24.6\T \T'e_W'\fB\eW\fI\'string\'\fR\T \T'e_W'URI link definition\T
+\T'e_x'5.2\T \T'e_x'\fB\ex\fI\'N\'\fR\T \T'e_x'Extra line-space function \fI(negative before, positive after)\fR\T
+\T'e_X'10.7\T \T'e_X'\fB\eX\fI\'string\'\fR\T \T'e_X'Output \fIstring\fP as device control function\T
+\T'e_Y'10.7\T \T'e_Y'\fB\eY\fIx\fR,\fB\eY(\fIxx\fR,\fB\eY[\fIxxx\fB]\fR\T \T'e_Y'Output contents of macro \fIx\fP, \fIxx\fR, or \fIxxx\fR\T as device control function
+\T'e_z'12.2\T \T'e_z'\fB\ez\fIc\fR\T \T'e_z'Print \fIc\fR with zero width (without spacing)\T
+\T'e_Z'12.2\T \T'e_Z'\fB\eZ\fI\'string\'\fR\T \T'e_Z'Print \fIstring\fR with zero width and height\T
+\T'e_{'16\T \T'e_{'\fB\e{\fR\T \T'e_{'Begin conditional input\T
+\T'e_}'16\T \T'e_}'\fB\e}\fR\T \T'e_}'End conditional input\T
+\T'e_newline'10.7\T \T'e_newline'\fB\e\fR(newline)\T \T'e_newline'Concealed (ignored) newline\T
+\(en \fB\e\fIc\fR \fIc\fR, any character \fInot\fR listed above
+.TE
+.fi
+.sp
+The escape sequences
+\fB\T'e_esc'\e\e\T\fR,
+\fB\T'e_.'\e\^.\T\fR,
+\fB\T'e_"'\e"\T\fR,
+\fB\T'e_#'\e#\T\fR,
+\fB\T'e_$'\e$\T\fR,
+\fB\T'e_*'\e\(**\T\fR,
+\fB\T'e_a'\ea\T\fR,
+\fB\T'e_e'\ee\T\fR,
+\fB\T'e_g'\eg\T\fR,
+\fB\T'e_n'\en\T\fR,
+\fB\T'e_t'\et\T\fR,
+\fB\T'e_V'\eV\T\fR,
+and
+\fB\T'e_newline'\e\fR(newline)\T are interpreted
+in \T'copy mode'\fIcopy mode\fR (\(sc7.2).\T
+.sp
+.nr nosave 1
+.ne 6
+.ft B
+Predefined General Number Registers
+.br
+.Bookmark 1 "Predefined General Number Registers"
+.nf
+.ft
+.TS
+c2l
+c2l2l
+n2l2l.
+.ft BI
+Section Register
+Reference Name Description
+.ft R
+.xx
+\T'n_%'3\T \T'n_%'\fB%\fR\T \T'n_%'Current page number.\T
+\(en \fBc.\fR Number of \fIlines\fR read from current input file.
+\T'n_ct'11.2\T \T'n_ct'\fBct\fR\T \T'n_ct'Character type (set by \fIwidth\fR function).\T
+\T'n_dl'7.4\T \T'n_dl'\fBdl\fR\T \T'n_dl'Width (maximum) of last completed diversion.\T
+\T'n_dn'7.4\T \T'n_dn'\fBdn\fR\T \T'n_dn'Height (vertical size) of last completed diversion.\T
+\(en \fBdw\fR Current day of the week (1\(en7).
+\(en \fBdy\fR Current day of the month (1\(en31).
+\(en \fBhours\fR Hours portion of current local time (0\(en23).
+\T'n_hp'11.3\T \T'n_hp'\fBhp\fR\T \T'n_hp'Current horizontal place on \fIinput\fR line.\T
+\T'n_ln'15\T \T'n_ln'\fBln\fR\T \T'n_ln'Output line number.\T
+\(en \fBminutes\fR Minutes portion of current local time (0\(en59).
+\(en \fBmo\fR Current month (1\(en12).
+\T'n_nl'4.1\T \T'n_nl'\fBnl\fR\T \T'n_nl'Vertical position of last printed text base-line.\T
+\T'n_rsb'11.2\T \T'n_rsb'\fBrsb\fR\T \T'n_rsb'Visual depth of string below base line (generated by \fIwidth\fR function).\T
+\T'n_rst'11.2\T \T'n_rst'\fBrst\fR\T \T'n_rst'Visual height of string above base line (generated by \fIwidth\fR function).\T
+\T'n_sb'11.2\T \T'n_sb'\fBsb\fR\T \T'n_sb'Depth of string below base line (generated by \fIwidth\fR function).\T
+\(en \fBseconds\fR Seconds portion of current local time (0\(en60).
+\T'n_st'11.2\T \T'n_st'\fBst\fR\T \T'n_st'Height of string above base line (generated by \fIwidth\fR function).\T
+\(en \fByear\fR Current year.
+\(en \fByr\fR Current year minus 1900.
+\T'n_.g'25.1\T \T'n_.g'\fB&g\fR\T \T'n_.g'Current \*(GR compatibility mode (0=off).\T
+.TE
+.sp
+.nr nosave 1
+.ne 6
+.ft B
+Predefined Read-Only Number Registers
+.ft R
+.br
+.Bookmark 1 "Predefined Read-Only Number Registers"
+.TS
+c2l
+c2l2l
+n2l2l.
+.ft BI
+Section Register
+Reference Name Description
+.ft R
+.xx
+\T'n_$$'19\T \T'n_$$'\fB$$\fR\T \T'n_$$'Process id of \*(NR or \*[TR.]\T
+\T'n_.$'7.3\T \T'n_.$'\fB&$\fR\T \T'n_.$'Number of arguments available at the current macro level.\T
+\(en \fB&A\fR Set to 1 in \*[TR,] if \fB\-a\fR option used; always 1 in \*[NR.]
+\T'n_.a'5.2\T \T'n_.a'\fB&a\fR\T \T'n_.a'Post-line extra line-space most recently utilized \
+using \fB\ex\fI\'N\'\fR.\T
+\T'n_.ascender'5.4\T \T'n_.ascender'\fB&ascender\fR\T \T'n_.ascender'Ascender of current font and point size.\T
+\T'n_.b'2.3\T \T'n_.b'\fB&b\fR\T \T'n_.b'Emboldening level.\T
+\T'n_.breakchar'13\T \T'n_.breakchar'\fB&breakchar\fR\T \T'n_.breakchar'Current optional line break characters.\T
+\T'n_.brnl'4.1\T \T'n_.brnl'\fB&brnl\fR\T \T'n_.brnl'Remaining number of lines with break at newline.\T
+\T'n_.brpnl'4.1\T \T'n_.brpnl'\fB&brpnl\fR\T \T'n_.brpnl'Remaining number of lines with break and spread at newline.\T
+\(en \fB&c\fR Number of \fIlines\fR read from current input file.
+\T'n_.cdp'11.2\T \T'n_.cdp'\fB&cdp\fR\T \T'n_.cdp'Visual depth below base line of previous character.\T
+\T'n_.ce'4.1\T \T'n_.ce'\fB&ce\fR\T \T'n_.ce'Remaining number of lines to be centered.\T
+\T'n_.cht'11.2\T \T'n_.cht'\fB&cht\fR\T \T'n_.cht'Visual height above base line of previous character.\T
+\T'n_.connectchar'12.4\T \T'n_.connectchar'\fB&connectchar\fR\T \T'n_.connectchar'Current characters connected for line drawing [sic].\T
+\T'n_.d'7.4\T \T'n_.d'\fB&d\fR\T \T'n_.d'Current vertical place in current diversion; equal to \fBnl\fR, if no diversion.\T
+\T'n_.defpenalty'4.1\T \T'n_.defpenalty'\fB&defpenalty\fR\T \T'n_.defpenalty'Default line breaking penalty.\T
+\T'n_.descender'5.4\T \T'n_.descender'\fB&descender\fR\T \T'n_.descender'Descender of current font and point size.\T
+\T'n_.dilev'7.4\T \T'n_.dilev'\fB&dilev\fR\T \T'n_.dilev'Current diversion level.\T
+\T'n_.ev'17\T \T'n_.ev'\fB&ev\fR\T \T'n_.ev'Name of current environment [sic].\T
+\T'n_.f'2.2\T \T'n_.f'\fB&f\fR\T \T'n_.f'Current font as physical quadrant (1-255).\T
+\T'n_.fp'2.2\T \T'n_.fp'\fB&fp\fR\T \T'n_.fp'Next unused physical font quadrant.\T
+\T'n_.fzoom'2.3\T \T'n_.fzoom'\fB&fzoom\fR\T \T'n_.fzoom'Current font zoom factor (may be a decimal fraction).\T
+\T'n_.F'20\T \T'n_.F'\fB&F\fR\T \T'n_.F'Current input file name [sic].\T
+\T'n_.h'4\T \T'n_.h'\fB&h\fR\T \T'n_.h'Text base-line high-water mark on current page or diversion.\T
+\T'n_.hlc'13\T \T'n_.hlc'\fB&hlc\fR\T \T'n_.hlc'Current number of consecutive hyphenated lines.\T
+\T'n_.hlm'13\T \T'n_.hlm'\fB&hlm\fR\T \T'n_.hlm'Maximum number of consecutive hyphenated lines.\T
+\T'n_.hy'13\T \T'n_.hy'\fB&hy\fR\T \T'n_.hy'Current hyphenation flags.\T
+\T'n_.hylang'13\T \T'n_.hylang'\fB&hylang\fR\T \T'n_.hylang'Current hyphenation language [sic].\T
+\T'n._hylen'13\T \T'n_.hylen'\fB&hylen\fR\T \T'n_.hylen'Current minimum hyphenation word length.\T
+\T'n._hypp'13\T \T'n_.hypp'\fB&hypp\fR\T \T'n_.hypp'Penalty for hyphen in \fBad p\fR mode.\T
+\T'n._hypp2'13\T \T'n_.hypp2'\fB&hypp2\fR\T \T'n_.hypp2'Penalty for consecutive hyphens in \fBad\ p\fR mode.\T
+\T'n._hypp3'13\T \T'n_.hypp3'\fB&hypp3\fR\T \T'n_.hypp3'Penalty for hyphenating the last word of a paragraph in \fBad\ p\fR mode.\T
+\T'n_.H'11.1\T \T'n_.H'\fB&H\fR\T \T'n_.H'Available horizontal resolution in basic units.\T
+\T'n_.i'6\T \T'n_.i'\fB&i\fR\T \T'n_.i'Current indent as set by \fBin\fR.\T
+\T'n_.in'6\T \T'n_.in'\fB&in\fR\T \T'n_.in'Current indent including temporary indent, if any.\T
+\T'n_.int'4.2\T \T'n_.int'\fB&int\fR\T \T'n_.int'Non-zero if the previous line was interrupted with \fB\ec\fR.\T
+\T'n_.j'4\T \T'n_.j'\fB&j\fR\T \T'n_.j'Current \fBad\fP mode.\T
+\T'n_.k'4.1\T \T'n_.k'\fB&k\fR\T \T'n_.k'Current output horizontal position.\T
+\T'n_.kc'4.2\T \T'n_.kc'\fB&kc\fR\T \T'n_.kc'Output horizontal length of interrupted word, if any.\T
+\T'n_.l'6\T \T'n_.l'\fB&l\fR\T \T'n_.l'Current line length.\T
+\T'n_.lt'14\T \T'n_.lt'\fB&lt\fR\T \T'n_.lt'Current title length.\T
+\T'n_.lc_ctype'2.1\T \T'n_.lc_ctype'\fB&lc_ctype\fR\T \T'n_.lc_ctype'Current \s-1LC_CTYPE\s0 locale [sic].\T
+\T'n_.letss'4.1\T \T'n_.letss'\fB&letss\fR\T \T'n_.letss'Current dynamic letter space threshold.\T
+\T'n_.lpfx'20\T \T'n_.lpfx'\fB&lpfx\fR\T \T'n_.lpfx'Current line prefix [sic].\T
+\T'n_.lshmin'4.1\T \T'n_.lshmin'\fB&lshmin\fR\T \T'n_.lshmin'Current minimum dynamic letter shape (may be a decimal fraction).\T
+\T'n_.lshmax'4.1\T \T'n_.lshmax'\fB&lshmax\fR\T \T'n_.lshmax'Current maximum dynamic letter shape (may be a decimal fraction).\T
+\T'n_.lspmin'4.1\T \T'n_.lspmin'\fB&lspmin\fR\T \T'n_.lspmin'Current minimum dynamic letter space (may be a decimal fraction).\T
+\T'n_.lspmax'4.1\T \T'n_.lspmax'\fB&lspmax\fR\T \T'n_.lspmax'Current maximum dynamic letter space (may be a decimal fraction).\T
+\T'n_.L'5.1\T \T'n_.L'\fB&L\fR\T \T'n_.L'Current \fBls\fP value.\T
+\T'n_.minss'4.1\T \T'n_.minss'\fB&minss\fR\T \T'n_.minss'Current minimum space size.\T
+\T'n_.n'4\T \T'n_.n'\fB&n\fR\T \T'n_.n'Length of text portion on previous output line.\T
+\T'n_.ns'5\T \T'n_.ns'\fB&ns\fR\T \T'n_.ns'Non-zero if no-space mode is active.\T
+\T'n_.nhychar'13\T \T'n_.nhychar'\fB&nhychar\fR\T \T'n_.nhychar'Current hyphenation-inhibiting characters.\T
+\T'n_.o'3\T \T'n_.o'\fB&o\fR\T \T'n_.o'Current page offset.\T
+\T'n_.p'3\T \T'n_.p'\fB&p\fR\T \T'n_.p'Current page length.\T
+\T'n_.padj'4\T \T'n_.padj'\fB&padj\fR\T \T'n_.padj'Current paragraph-at-once global setting.\T
+\T'n_.pn'3\T \T'n_.pn'\fB&pn\fR\T \T'n_.pn'Number of next page.\T
+\T'n_.ps'2.3\T \T'n_.ps'\fB&ps\fR\T \T'n_.ps'Current point size in units.\T
+\T'n_.psr'2.3\T \T'n_.psr'\fB&psr\fR\T \T'n_.psr'Last requested point size in units.\T
+\T'n_.rj'4.1\T \T'n_.rj'\fB&rj\fR\T \T'n_.rj'Remaining number of lines to be right-aligned.\T
+\T'n_.s'2.3\T \T'n_.s'\fB&s\fR\T \T'n_.s'Current point size (may be a decimal fraction).\T
+\T'n_.shc'13\T \T'n_.shc'\fB&shc\fR\T \T'n_.shc'Current soft hyphenation character [sic].\T
+\T'n_.sentchar'4.1\T \T'n_.sentchar'\fB&sentchar\fR\T \T'n_.sentchar'Current sentence-ending characters [sic].\T
+\T'n_.sr'2.3\T \T'n_.sr'\fB&sr\fR\T \T'n_.sr'Last requested point size (may be a decimal fraction).\T
+\T'n_.ss'2\T \T'n_.ss'\fB&ss\fR\T \T'n_.ss'Current space size.\T
+\T'n_.sss'2\T \T'n_.sss'\fB&sss\fR\T \T'n_.sss'Current sentence space size.\T
+\T'n_.S'9.1\T \T'n_.S'\fB&S\fR\T \T'n_.S'Current tab stops such that they can be passed back to \fBta\fR.\T
+\T'n_.t'7.5\T \T'n_.t'\fB&t\fR\T \T'n_.t'Distance to the next trap.\T
+\T'n_.tabs'9.1\T \T'n_.tabs'\fB&tabs\fR\T \T'n_.tabs'Current tab stops such that they can be passed back to \fBta\fR.\T
+\T'n_.transchar'4.1\T \T'n_.transchar'\fB&transchar\fR\T \T'n_.transchar'Current characters transparent for sentence-ending [sic].\T
+\(en \fB&T\fR Set to 1 in \*[NR,] if \fB\-T\fR option used; always 0 in \*[TR.]
+\T'n_.u'4.1\T \T'n_.u'\fB&u\fR\T \T'n_.u'Equal to 1 in fill mode and 0 in nofill mode.\T
+\T'n_.v'5.1\T \T'n_.v'\fB&v\fR\T \T'n_.v'Current vertical line spacing.\T
+\T'n_.vpt'7.5\T \T'n_.vpt'\fB&vpt\fR\T \T'n_.vpt'Vertical position traps enabled (1) or disabled (0).\T
+\T'n_.V'11.1\T \T'n_.V'\fB&V\fR\T \T'n_.V'Available vertical resolution in basic units.\T
+\T'n_.w'11.2\T \T'n_.w'\fB&w\fR\T \T'n_.w'Width of previous character.\T
+\T'n_.warn'21\T \T'n_.warn'\fB&warn\fR\T \T'n_.warn'Currently activated warning categories.\T
+\T'n_.x'4.1\T \T'n_.x'\fB&x\fR\T \T'n_.x'Remaining horizontal space on current output line.*\T
+\T'n_.X'1.1\T \T'n_.X'\fB&X\fR\T \T'n_.X'Current extension level.\T
+\T'n_.y'6\T \T'n_.y'\fB&y\fR\T \T'n_.y'Current indent including temporary indent, if any.*\T
+\T'n_.z'7.4\T \T'n_.z'\fB&z\fR\T \T'n_.z'Name [sic] of current diversion.\T
+\T'n_lsn'4.1\T \T'n_lsn'\fBlsn\fR\T \T'n_lsn'Number of leading spaces\
+ of a input line in fill mode.\T
+\T'n_lss'4.1\T \T'n_lss'\fBlss\fR\T \T'n_lss'Horizontal space\
+ corresponding to a line with leading spaces in fill mode.\T
+.TE
+.sp -1
+.in 0
+.fi
+.fn
+.sp .3
+\(**\|The \fB&x\fR and \fB&y\fR registers had been described
+as ``reserved version-dependent registers'' in previous editions.
+Their semantics have actually been as described
+from 7th Edition \*(TR on.
+.ef
+.rm EM
+.\" from file m1
+.bp
+.Bookmark 0 "Reference Manual"
+.nr mh-level 1
+.ii
+.ds H
+.tr |
+.tr ~|
+.rm mx
+.br
+.ce
+.ps \n(PS
+.ft B
+.ps +2
+.rs
+.sp 1.0i
+\A'part_reference'REFERENCE MANUAL
+.ft R
+.ps -2
+.sp
+.mha s_general
+General Explanation
+.sc
+Form of input.
+Input consists of \fItext lines\fR, which are destined to be printed,
+interspersed with \fIcontrol lines\fR,
+which set parameters or otherwise control subsequent processing.
+Control lines begin with a \fIcontrol character\fR\(em\
+normally \fB.\fR (period) or \fB\'\fR (acute accent)\(em\
+followed by a name that specifies
+a basic \fIrequest\fR or the substitution of
+a user-defined \fImacro\fR in place of the control line.
+The control character \fB\'\fR suppresses the \fIbreak\fR function\(em\
+the forced output of a partially filled line\(em\
+caused by certain requests.
+The control character may be separated from the request/macro name by
+white space (spaces and/or tabs) for esthetic reasons.
+Names must be followed by either
+space or newline.
+Control lines with unrecognized names are ignored.
+.pg
+Various special functions may be introduced anywhere in the input by
+means of an \fIescape\fR character, normally \fB\e\fR.
+For example, the function
+\T'e_n'\fB\en\fIR\fR\T
+causes the interpolation of the contents of the
+\fInumber register R\fR
+in place of the function;
+here \fIR\fR is either a single character name
+as in \fB\en\fIx\fR,
+a left-parenthesis-introduced, two-character name as in \fB\en(\fIxx\fR,
+or a left-bracket-introduced, multiple character name as in
+\fB\en[\fIxxx\fR].
+.pg
+\A'c_extension'In traditional \*[TR,]
+only one and two character names were permitted
+for request, macro, string, number register, and font names.
+Heirloom \*(TR can accept names containing a (nearly) arbitrary
+number of \s-1ASCII\s+1 characters.
+Escape \A'e_I'\fB\eI\fR\(aq\fIstring\fR\(aq can by used to test if
+\fIstring\fR is a valid identifier name.
+By default, request and macro names are still required
+to contain at most two characters for compatibility reasons.
+The \fB\-x\fR command line option,
+the \T'do'\fBdo\fR\T request,
+.lg 0
+or the \T'xflag'\fBxflag\fR\T request
+.lg
+make the longer names available.
+The current extension level is available in the \A'n_.X'\fB.X\fR register.
+.pg
+Four levels of extension availability are currently defined:
+.de lv
+.xx
+.in \w'0\ 'u
+.ti 0
+..
+.lv
+0\ disables all extensions except for locale-dependent input and
+Type\ 1/OpenType/TrueType font selection using \T'fp'\fBfp\fR\T.
+Since the \T'do'\fBdo\fR\T request
+is not available at this level,
+it is not possible to change to another extension level again.
+It is most useful to print unmaintained documents
+for which any adaption would be too tedious.
+.lv
+1\ enables extensions except for direct access to long names,
+i.e., \fB&abcde\fR will be interpreted
+as request \T'ab'\fBab\fR\T with argument \fBcde\fR,
+and \fB\e*[xyz]\fR refers to the string named \fB[\fR
+followed by the text \fBxyz]\fR.
+Long names can be accessed using the \T'do'\fBdo\fR request\T,
+e.g. \fB&do de abcde\fR, \fB&do if 1 \e*[xyz]\fR.
+This level is the default.
+.lv
+2\ enables direct access to long names
+on request lines and escape sequences,
+i.e., \fB&abcde\fR will be interpreted as macro \fBabcde\fR,
+and \fB\e*[xyz]\fR refers to the string named \fBxyz\fR.
+If an undefined long name is read, its first two characters
+are interpreted as a short request using the remaining
+characters as argument.
+So if a macro \fBabcde\fR is defined,
+\fB&abcde\fR will execute it, but otherwise, \fB&abcde\fR continues
+to execute \fBab\fR.
+String and number register references are
+only interpreted if they start in the first two characters
+of a name, i.e. no string interpretation is performed on
+input \fB&ab\e*(xy\fR.
+.lv
+3\ ignores undefined long requests even if they form a prefix
+of a short request, and interprets string and number register
+references in any position of a name.
+.in 0
+.pg
+.lg 0
+It is recommended to execute \fB&do xflag 3\fR at the beginning of new
+.lg
+\*(TR programs that need not rely on any existing code.
+.sc
+Formatter and device resolution.
+\*(TR internally stores and processes dimensions in units
+that correspond to the particular device
+for which output is being prepared;
+values from 300 to 72\|000/inch are typical.
+\T's_device'See \(sc27.\T
+\*(NR internally uses 240 units/inch,
+corresponding to the least common multiple of the
+horizontal and vertical resolutions of various
+typewriter-like output devices.
+\*(TR rounds horizontal/vertical numerical parameter input to the actual
+horizontal/vertical resolution
+of the output device indicated by the \fB\-T\fR option (default \fBps\fP).
+\*(NR similarly rounds numerical input to the actual resolution
+of the output device indicated by the \fB\(miT\fR option
+(default Model 37 Teletype).
+.sc
+\A'c_units'Numerical parameter input.
+Both \*(NR and \*(TR
+accept numerical input with the appended scale
+indicators
+shown in the following table,
+where
+\fIS\fR is the current type size in points,
+\fIV\fR is the current vertical line spacing in
+basic units,
+and
+\fIC\fR is a \fInominal character width\fR in basic units.
+.TS
+center box;
+c|c|ls
+c|c|ll
+c|l|l|l.
+Scale Number of basic units
+Indicator Meaning \*(TR \fI\-Tps\fP \*(NR
+_
+\fBi\fR Inch 72000 240
+\fBc\fR Centimeter 72000\(mu50/127 240\(mu50/127
+\fBP\fR Pica = 1/6 inch 12000 240/6
+\fBm\fR Em = \fIS\fR points \fIS\fR \fIC\fR
+\fBn\fR En = Em/2 \fIS\fR/2 \fIC, same as Em\fR
+\fBM\fR 1/100 Em \fIS\fR/100 \fIC\fR/100
+\fBp\fR,\fBz\fR Point = 1/72 inch 1000 240/72
+\fBu\fR,\fBs\fR Basic unit 1 1
+\fBt\fR Printer's point 72000\(mu100/7227 240\(mu100/7227
+\fBT\fR Printer's pica 72000\(mu400/2409 240\(mu400/2409
+\fBD\fR Didot point 72000\(mu24/1621 240\(mu24/1621
+\fBC\fR Cicero 72000\(mu288/1621 240\(mu288/1621
+\fBv\fR Vertical line space \fIV\fR \fIV\fR
+none Default, see below
+.TE
+In \*[NR,] \fIboth\fR the em and the en are taken to be equal to the \fIC\fR,
+which is output-device dependent;
+common values are 1/10 and 1/12 inch.
+Actual character widths in \*(NR need not be all the same and constructed characters
+such as \(mi> (\(->) are often extra wide.
+The default scaling is \fBm\fP for the horizontally-oriented requests
+and functions
+\fB\T'll'll\T\fR,
+\fB\T'in'in\T\fR,
+\fB\T'ti'ti\T\fR,
+\fB\T'ta'ta\T\fR,
+\fB\T'lt'lt\T\fR,
+\fB\T'po'po\T\fR,
+\fB\T'mc'mc\T\fR,
+\fB\T'spreadwarn'spreadwarn\T\fR,
+\T'e_h'\fB\eh\fR,\T
+\T'e_l'\fB\el\fR,\T
+and horizontal coordinates of \T'e_D'\fB\eD\fR;\T
+\fBv\fR
+for the vertically-oriented requests and functions
+\fB\T'pl'pl\T\fR,
+\fB\T'wh'wh\T\fR,
+\fB\T'ch'ch\T\fR,
+\fB\T'dt'dt\T\fR,
+\fB\T'sp'sp\T\fR,
+\fB\T'sv'sv\T\fR,
+\fB\T'ne'ne\T\fR,
+\fB\T'rt'rt\T\fR,
+\T'e_v'\fB\ev\fR,\T
+\T'e_x'\fB\ex\fR,\T
+\T'e_L'\fB\eL\fR,\T
+and vertical coordinates of \T'e_D'\fB\eD\fR;\T
+\fBp\fR for the \T'vs'\fBvs\fR\T,
+\fB\T'papersize'papersize\T\fR,
+\fB\T'mediasize'mediasize\T\fR,
+\fB\T'trimat'trimat\T\fR,
+\fB\T'bleedat'bleedat\T\fR,
+and
+\fB\T'cropat'cropat\T\fR
+requests;
+and \fBu\fR for the requests
+\fB\T'nr'nr\T\fR,
+\fB\T'nrf'nrf\T\fR,
+\fB\T'if'if\T\fR,
+and
+\fB\T'ie'ie\T\fR.
+\fIAll\fR other requests ignore any scale indicators.
+When a number register containing an already appropriately scaled number
+is interpolated to provide numerical input,
+the unit scale indicator
+\fBu\fR may need to be appended to prevent
+an additional inappropriate default scaling.
+The number, \fIN\fR, may be specified in decimal-fraction form
+but the parameter finally stored is rounded to an integer number of basic units,
+except for floating-point computations with
+\T'nrf'\fBnrf\fR\T and \T'if'\fBif\ f\fR\T.
+Exponential notation as in `1\fBe+\fR9' or `1\fBe\-\fR10'
+is supported.
+.pg
+The \fIabsolute position\fR indicator \fB~\fR may be prepended
+to a number \fIN\fR
+to generate the distance to the vertical or horizontal place \fIN\fR.
+For vertically-oriented requests and functions, \fB~\|\fIN\fR
+becomes the distance in basic units from the current vertical place on the page or in a \T'c_diversion'\fIdiversion\fR (\(sc7.4)\T
+to the the vertical place \fIN\fR.
+For \fIall\fR other requests and functions,
+\fB~\|\fIN\fR
+becomes the distance from
+the current horizontal place on the \fIinput\fR line to the horizontal place \fIN\fR.
+\A'a_usesp'For example,
+.x1
+\&\fB.sp ~\|3.2c\fR
+.x2
+will space \fIin the required direction\fR to 3.2\|centimeters from the top of the page.
+.sc
+.tr &&
+\A'c_expr'Numerical expressions.
+Wherever numerical input is expected an expression involving parentheses,
+the arithmetic operators \fB\(pl\fR, \fB\(mi\fR, \fB/\fR, \fB\(**\fR, \fB%\fR (mod),
+the logical operators
+\fB<\fR,
+\fB>\fR,
+\fB<=\fR,
+\fB>=\fR,
+\fB=\fR (or \fB==\fR),
+\fB<>\fR (not equal),
+\fB&\fR\ (and),
+\fB:\fR\ (or),
+and the functions
+\fIa\fB<?\fIb\fR (minimum of \fIa\fR and \fIb\fR),
+\fIa\fB>?\fIb\fR (maximum of \fIa\fR and \fIb\fR),
+and \fB(\fIc\fB;\fIe\fB)\fR (evaluate the expression \fIe\fR using
+\fIc\fR as default scale indicator,
+or ignoring scaling indicators if \fIc\fR is omitted)
+may be used.
+Except where controlled by parentheses, evaluation of expressions is left-to-right;
+there is no operator precedence.
+Spaces are ignored if they occur within parentheses;
+any other non-numeric character terminates the expression.
+In the case of certain requests, an initial \fB\(pl\fR or \fB\(mi\fR is stripped
+and interpreted as an increment or decrement indicator respectively.
+In the presence of default scaling, the desired scale indicator must be
+attached to \fIevery\fR number in an expression
+for which the desired and default scaling differ.
+For example,
+if the number register \fBx\fR contains 2
+and the current point size is 10,
+then
+.br
+.tr &.
+.x1
+.ft B
+\&.ll (4.25i\(pl\enxP\(pl3)/2u
+.ft R
+.x2
+will set the line length to 1/2 the sum of 4.25 inches \(pl 2 picas \(pl 30 points.
+.pg
+The \A'e_B'\fB\eB\fI'string'\fR escape sequence
+checks whether \fIstring\fR is a valid numerical expression
+and evaluates to ``1'' if it does and to ``0'' otherwise.
+.sc
+Notation.
+Numerical parameters are indicated in this manual in two ways.
+\(+-\fIN\fR means that the argument may take the forms \fIN\fR, \(pl\fIN\fR, or \(mi\fIN\fR and
+that the corresponding effect is to set the affected parameter
+to \fIN\fR, to increment it by \fIN\fR, or to decrement it by \fIN\fR respectively.
+Plain \fIN\fR means that an initial algebraic sign is \fInot\fR
+an increment indicator,
+but merely the sign of \fIN\fR.
+Generally, unreasonable numerical input is either ignored
+or truncated to a reasonable value.
+For example,
+most requests expect to set parameters to non-negative
+values;
+exceptions are
+\fB\T'sp'sp\T\fR,
+\fB\T'wh'wh\T\fR,
+\fB\T'ch'ch\T\fR,
+\fB\T'nr'nr\T\fR,
+and
+\fB\T'if'if\T\fR.
+The requests
+\fB\T'ps'ps\T\fR,
+\fB\T'ft'ft\T\fR,
+\fB\T'po'po\T\fR,
+\fB\T'vs'vs\T\fR,
+\fB\T'ls'ls\T\fR,
+\fB\T'll'll\T\fR,
+\fB\T'in'in\T\fR,
+and
+\fB\T'lt'lt\T\fR
+restore the \fIprevious\fR parameter value in the \fIabsence\fR
+of an argument.
+.pg
+Single character arguments are indicated by single lower case letters
+and
+one/two character arguments are indicated by a pair of lower case letters.
+Character string arguments are indicated by multi-character mnemonics.
+.h1
+.bta do
+\fB&do\fI|name\fR ignored \(en \
+Execute the request or macro \fIname\fR in extension level 3
+and restore the previous level afterwards.
+.bta xflag
+.lg 0
+\fB&xflag\fI|N\fR 1 ignored \(en \
+Set the extension level permanently to \fIN\fP.
+.lg
+.mha s_font
+Font and Character Size Control
+.sc
+\A'c_char'Character set.
+The basic \*(TR character set
+is defined by a description file
+specific to each output device \T's_device'(\(sc27).\T
+There are normally several regular fonts
+and one or more special fonts.
+The basic character set is shown in the attached
+\T'Table I'Table|I\T.
+All \s-1ASCII\s+1 characters are included,
+with some on the Special Font.
+With three exceptions, the \s-1ASCII\s+1 characters are input as themselves,
+and non-\s-1ASCII\s+1 characters are input
+in the form \A'e_('\fB\e(\fIxx\fR where
+\fIxx\fR is a two-character name given in the attached
+\T'Table II'Table|II\T.
+The three \s-1ASCII\s+1 exceptions are mapped as follows:
+.TS
+center box;
+cs|cs
+cc|cc
+cl|cl.
+\s-1ASCII\s+1 Input Printed by \*(TR
+Character Name Character Name
+_
+\A'e_acute'\' acute accent ' close quote
+\A'e_grave'\` grave accent ` open quote
+\A'e_-'\(mi minus \(en hyphen
+.TE
+.tr ~~
+The characters
+\fB\'\fR,
+\fB\`\fR,
+and
+\fB\-\fR
+may be input
+by \fB\e\'\fR, \fB\e\`\fR, and \fB\e\-\fR respectively or by their names
+\T'Table II'(Table II)\T.
+The characters \fB\e\fR and \fB"\fR can also be referred to
+as \fB\e(rs\fR and \fB\e(dq\fR, respectively;
+this form allows to completely avoid their interpretation
+as argument delimiter or escape character.
+In traditional \*[TR,],
+the \s-1ASCII\s+1 characters \fB@\fR, \fB#\fR, \fB"\fR, \fB\(aa\fR, \fB\(ga\fR, \fB<\fR, \fB>\fR, \fB\e\fR, \fB{\fR, \fB}\fR, \fB~\fR, \fB^\fR, and \fB\(ul\fR existed
+only on the Special Font and were printed as a 1-em space if that Font
+was not mounted.
+With the \fBpslow\fR device,
+these characters print in the \fITimes\fR font by default
+regardless of the current font
+(but see the \T'fps'\fBfps\fR\T request below).
+With other devices,
+these characters are taken from the current font.
+.pg
+With Type\ 1, OpenType, and TrueType fonts,
+\*(TR allows to access all named \*(PS
+characters of the current font and
+of those in the \T'fallback'\fBfallback\fR\T sequence
+in the forms \A'e_['\fB\e[\fIname\fB]\fR or \A'e_C'\fB\eC\(aq\fIname\fB\(aq\fR.
+.pg
+\A'p_locale'\*(TR internally converts non-\s-1ASCII\s+1 characters
+of the current \s-1LC_CTYPE\s+1 locale
+to named \*(PS characters
+once they are read in regular (not \T'copy mode'\fIcopy\fR\T) mode.
+If the current font is an OpenType or a TrueType font and contains
+a custom Unicode mapping table, the input character is looked up in that
+table first.
+Otherwise, a default table is used.
+A character that is not
+present in the current font is searched
+using the \T'fallback'\fBfallback\fR\T sequence
+first, then in the special fonts.
+If the character cannot be found, it is discarded.
+Characters for which no name is known are replaced by spaces.
+.pg
+The \A'e_N'\fB\eN\(aq\fIn\fB\(aq\fR escape sequence
+has historically been available to refer
+to character \fIn\fR of the current font.
+It is still accepted,
+but its use is discouraged with
+Type\ 1, OpenType, and TrueType fonts
+since the arrangement of character in font tables
+is performed at run-time
+and may change with future versions of \*[TR.]
+When register \fB.g\fP is set to \fB1\fP
+8-bit character codes can also be accessed with
+\fB\e[char\fIn\fB]\fR where 32\|\|\(<=\|\|\fIn\fP\|\|\(<=\|\|255.
+.pg
+.tr ~|
+\*(NR has an analogous, but different, mechanism for defining legal characters
+and how to print them.
+By default all characters are valid.
+There are such
+additional characters as may be available on
+the output device,
+such characters as may be able to be constructed
+by overstriking or other combination,
+and those that can reasonably be mapped
+into other printable characters.
+The exact behavior is determined by a driving
+table prepared for each device.
+In a \*[UTF] locale,
+combining characters are processed.
+The characters
+\fB\'\fR,
+\fB\`\fR,
+and
+\fB\(ul\fR
+print
+as themselves.
+.pg
+Both \*(NR and \*(TR allow references to specific
+Unicode characters with the \A'e_U'\fB\eU\(aq\fIX\fB\(aq\fR escape sequence;
+it causes the character at position U+\fIX\fR to be printed
+(\fIX\fR is a hexadecimal number).
+For \*[TR,] it is required that this character
+is available in one of the fonts mounted at this point.
+As an example, \eU\(aq20AC\(aq prints the Euro character \U'20AC'.
+When register \fB.g\fP is set to \fB1\fP
+Unicode charactes can also be accessed with
+\fB\e[u\fIXXXX\fB]\fR where \fIXXXX\fP is a four digit hexadecimal number.
+.sc
+\A'c_fonts'Fonts.
+\*(TR
+begins execution by reading information for a set of defaults fonts,
+said to be
+.I mounted;
+conventionally, the first four are
+Times Roman (\&\fBR\fR),
+Times Italic
+(\&\fBI\fR),
+Times Bold
+(\&\fBB\fR),
+and
+Times Bold Italic
+(\&\fBBI\fR),
+and the last is a Special font (\fBS\fR)
+containing miscellaneous characters.
+The set of fonts and positions is determined by the device description file,
+described in \T's_device'\(sc27\T.
+.pg
+The \fIcurrent\fR font, initially Roman, may be changed
+(among the mounted fonts)
+by use of the \T'ft'\fBft\fR\T request,
+or by imbedding at any desired point
+either \A'e_f'\fB\ef\fIx\fR, \fB\ef(\fIxx\fR, \fB\ef[\fIxxx\fB]\fR, or \fB\ef\fIN\fR
+where
+\fIx\fR, \fIxx\fR, and \fIxxx\fR are the name of a mounted font
+and \fIN\fR is a numerical font position.
+.pg
+It is \fInot\fR necessary to change to the Special font;
+characters on that font are automatically handled
+as if they were physically part of the current font.
+The Special font may actually be several fonts;
+the name \fBS\fP
+is reserved and is generally used for one of these.
+The \T'fallback'\fBfallback\fR\T request sets a font-specific sequence
+of additional fonts that are searched for missing characters.
+.pg
+\*(TR can be informed that any particular font is mounted
+by use of the \T'fp'\fBfp\fR\T request.
+The list of known fonts is installation dependent.
+In the subsequent discussion of font-related requests,
+\fIF\fR represents either a one/two-character
+font name or the numerical font position.
+The current font is available (as numerical position)
+in the read-only number register \A'n_.f'\fB.f\fR;
+the \A'n_.fp'\fB.fp\fR register holds the next unused position.
+.pg
+A request for a named but not-mounted font is honored
+if the font description information exists.
+In this way, there is no limit on the number of fonts that may be printed
+in any part of a document.
+Mounted fonts may be handled more efficiently,
+and they may be referred to by their mount positions,
+but there is no other difference.
+Mention of an unmounted font loads it temporarily at font position
+zero, which serves as a one-font cache.
+.pg
+The function \A'e_S'\fB\eS\fI'\(+-N'\fR
+causes the current font to be slanted by \fI\(+-N\fR degrees.
+Not all devices support slanting.
+.pg
+\*(NR understands font control
+and normally underlines Italic characters \T'c_nrofful'(see \(sc10.5).\T
+.sc
+Character size.
+Character point sizes available depend on the specific output device;
+a typical (historical) set of values is
+6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 28, and 36.
+This is a range of 1/12 inch to 1/2 inch.
+Modern output devices such as the default \fBdevps\fR
+usually allow the point size to be set to arbitrary values,
+including fractional points.
+The \T'ps'\fBps\fR\T request is used to change or restore the point size.
+Alternatively the point size may be changed between any two characters
+by imbedding a \A'e_s'\fB\es\fIN\fR
+at the desired point
+to set the size to \fIN\fR,
+or a \fB\es\fI\(+-N\fR (1\(<=\fIN\fR\(<=8)
+to increment/decrement the size by \fIN\fR;
+\fB\es0\fR restores the \fIprevious\fR size.
+On historical output devices,
+requested point size values that are between two valid
+sizes yielded the larger of the two.
+.pg
+Note that through an accident of history, a construction like
+.B \es39
+is parsed as size 39, and thus converted to size 36 (given the sizes above),
+while
+.B \es40
+is parsed as size 4 followed by
+\fB0\fR.
+The forms
+\fB\es(\fInn\fR, \fB\es\(+-(\fInn\fR,
+\fB\es\'\fI\(+-nn\fB\'\fR, \fB\es\fI\(+-\fB\'\fInn\fB\'\fR,
+\fB\es[\fI\(+-nn\fB]\fR, and \fB\es\fI\(+-\fB[\fInn\fB]\fR
+permit specification of sizes that would otherwise be ambiguous.
+.pg
+The current size (in points) is available in the \A'n_.s'\fB&s\fR register.
+Note that this may be a decimal fraction
+if the current point size is not an integer.
+The \A'n_.ps'\fB&ps\fR register
+stores the current size in units.
+The \A'n_.sr'\fB&sr\fR and \A'n_.psr'\fB&psr\fR registers
+store the requested point size
+in points and units, respectively;
+it is identical to the current size on
+modern output devices.
+\*(NR ignores type size control.
+.pg
+The function \A'e_H'\fB\eH\fI\'\(+-N'\fR
+sets \H'+2'the height of the current font\H'0' to
+\fIN\fP, or increments it by +\fIN\fR, or decrements it by \-\fIN\fP;
+if \fIN\fR=0, the height is restored to the current point size.
+In each case, the width is unchanged.
+Not all devices support independent height and width for characters.
+.h1
+.bta lc_ctype
+\fB&lc_ctype\fI|name\fR ignored \(en Set the \s-1LC_CTYPE\s+1 locale
+to \fIname\fR.
+The default is the value
+of the \s-1LC_CTYPE\s+1 environment variable.
+This request is
+useful to specify an input character set regardless of environment
+influences.
+The current value is available in the \A'n_.lc_ctype'\fB&lc_ctype\fR
+number register.
+.bta ps
+\fB&ps\fI|\(+-N\fR 10\|point previous E,\fBp\fR Point size
+set to \(+-\fIN\fR.
+Alternatively imbed \fB\es\fIN\fR, \fB\es\fI\(+-N\fR,
+or \fB\es\'\fIN\fB\'\fR.
+Any positive size value may be requested on modern devices.
+If invalid, the next larger valid size will result on traditional devices,
+with a maximum of 36.
+A paired sequence
+\(pl\fIN\fR,\|\(mi\fIN\fR
+will work because the previous requested value is also remembered.
+Ignored in \*[NR.]
+.bta fzoom
+\fB&fzoom\fI|F|Z\fR 1 ignored P,T Zoom font \fIF\fR by factor \fIZ\fR,
+which is a positive floating point number.
+This request is useful for adjusting fonts with different
+visual sizes but identical nominal points; the zoom is thus not
+applied to characters from another font that have been found by
+the \T'fallback'\fBfallback\fR\T sequence or by the special font mechanism.
+The current value of the current font is available
+in the \A'n_.fzoom'\fB&fzoom\fR number register.
+.bta ss
+\fB&ss\fI|N\fR|[\fIM\fR] 12/36\|m ignored E,T Space-character size
+is set to \fIN\fR/36\|ems.
+This size is the minimum word spacing in adjusted text.
+The optional second argument
+sets the space that is added between sentences
+to \fIM\fR/36\|ems.
+Ignored in \*[NR.]
+The number registers \A'n_.ss'\fB&ss\fR and \A'n_.sss'\fB&sss\fR
+contain the current values of \fIN\fR and \fIM\fR, respectively.
+.bta cs
+\fB&cs\|\fIF\|N\|M\fR off \(en P Constant character space
+(width) mode is
+set on for font \fIF\fR (if mounted); the width of every character will be
+taken to be \fIN\fR/36 ems.
+If \fIM\fR is absent,
+the em is that of the character's point size;
+if \fIM\fR is given,
+the em is \fIM\fR-points.
+All affected characters
+are centered in this space, including those with an actual width
+larger than this space.
+Special Font characters occurring while the current font
+is \fIF\fR are also so treated.
+If \fIN\fR is absent, the mode is turned off.
+The mode must be still or again in effect when the characters are physically printed.
+Ignored in \*[NR.]
+.bta bd
+\fB&bd\fI|F|N\fR off \(en P The characters in font \fIF\fR will be artificially
+emboldened by printing each one twice, separated by \fIN\fR\^\(mi1 basic units.
+A reasonable value for \fIN\fR is 3 when the character size is in the vicinity
+of 10 points.
+If \fIN\fR is missing the embolden mode is turned off.
+The emboldening value \fIN\fP is in the \A'n_.b'\fB.b\fR register.
+.xx
+.bd R 3
+This paragraph is printed with \fI.bd R 3\fR.
+The mode must be still or again in effect when the characters are physically printed.
+Ignored in \*[NR.]
+.br
+.bd R
+.bt
+\fB&bd|S|\fIF|N\fR off \(en P The characters in the Special Font
+will be emboldened whenever the current font is \fIF\fR.
+The mode must be still or again in effect when the characters are physically printed.
+.bta ft
+\fB&ft|\fIF\fR Roman previous E Font changed to
+\fIF\fR.
+Alternatively, imbed \fB\ef\fIF\fR.
+The font name \fBP\fR is reserved to mean the previous font,
+and the name \fBS\fR for the special font.
+.bta fp
+\fB&fp|\fIN|F|\fR[\fIfile|\fR[\fIsupply\fR]] ignored P Font position.
+This is a statement
+that a font named \fIF\fR is mounted on position \fIN\fR.
+With two arguments,
+it is a fatal error if \fIF\fR is not known
+as a legacy \*(TR font file \T'c_fontdescr'(\(sc27.2).\T
+.xx
+With three or more arguments,
+font metrics are read from the given \fIfile\fR,
+which must be in Type\ 1, OpenType,
+or TrueType format.
+If the \fB\s-1TROFFONTS\s+1\fR environment variable is set,
+each of the colon-separated directories in it is tested for the files
+\fIfile.afm\fR, \fIfile.otf\fR, \fIfile.ttf\fR,
+or, if the \fIfile\fR argument
+has an \fB.afm\fR, \fB.otf\fR, or \fB.ttf\fR extension itself,
+for \fIfile\fR.
+Otherwise, the font is loaded from the file
+\fB/usr/ucblib/doctools/font/devps/\fIfile\fB.afm\fR.
+.xx
+The \fIN\fR argument specifies a register on which
+the font is to be mounted (1\(<=\fIN\fR\(<=255).
+If it is zero, the font is mounted on the next
+free position (not on position zero).
+At most 255 fonts may be mounted simultaneously;
+it is possible to use more than 255 fonts in a document
+by reusing font registers.
+.xx
+The font is then available with \fB&ft F\fR, \fB\efF\fR, etc.
+\fBF\fR may be freely chosen,
+and may consist of more than two characters.
+.xx
+\fIF\fR may be the name of a previously mounted font, such
+as \fBR\fR.
+In this case, the same \fIN\fR register must be reused.
+For best
+compatibility with conventional \*(TR usage, it is recommended
+that the base fonts of a document are mounted as ``1\ R'', ``2\ I'',
+``3\ B'', ``4\ BI''.
+The initial fonts on positions 9 (\fBS1\fR) and 10 (\fBS\fR) should not be
+changed, as they contain special metrics for drawing commands.
+.xx
+If the optional \fIsupply\fR argument is present, glyph data
+is included in the generated \*(PS file.
+If \fIsupply\fR
+is one of \fBotf\fR, \fBpfb\fR, \fBpfa\fR, \fBttf\fR, or \fBt42\fR, the file
+\fIsupply.pfb\fR (or likewise) is searched in the directories
+in \fB\s-1TROFFONTS\s+1\fR first as described
+for the \s-1AFM\s+1 file above, and if it is not found there, in
+\fB/usr/ucblib/doctools/font/devps/\fIsupply\fB.pfb\fR (or
+likewise).
+\fIsupply\fR may also be the basename of a file like
+\fIfile\fR above.
+.xx
+The \fIfilename\fP may be surrounded by double-quotes to permit imbedded
+space characters.
+.bta fps
+\fB&fps\fI|map|...\fR ignored P,T \
+Mount a font with a special character map.
+By default, special characters like \fB\e(\(**a\fR
+are not assigned when a font is mounted
+even if a matching named \*(PS character (like \fB\e[alpha]\fR)
+would have been available.
+The following special character maps
+exist:
+.xx
+\fBmath\fR mathematical characters like \(<= \(cu \(-> \(if
+.br
+\fBgreek\fR greek characters like \(*a \(*b \(*g \(*A \(*B \(*G
+.br
+\fBpunct\fR the characters \e(or \- \e\` \e\' " # < > @ \e ^ ~
+.br
+\fBlarge\fR parts of large characters like \(rc \(rk \(lb \(lk
+.xx
+The \fBpunct\fR map is used by default
+for the \fBps\fR and \fBpsmed\fR devices.
+.xx
+The remaining arguments are handled as described for \T'fp'\fBfp\fR.\T
+.bta feature
+\fB&feature\fI|F|\(+-name|...\fR ignored P,T \
+Enable (+) or disable (\-) the OpenType feature \fIname\fR in font \fIF\fR.
+Only OpenType features that result in context-insensitive
+single-character substitutions are supported.
+Typical features
+are \fBonum\fR to enable old-style numerals, or \fBsmcp\fR to enable
+small capitals.
+.bta fallback
+\fB&fallback\fI|F|A|B|...\fR ignored P,T \
+Select the fallback sequence for font \fIF\fR.
+If the current font is \fIF\fR and a character is not found,
+font \fIA\fR is searched first, then font \fIB\fR, etc.
+If the character still has not been found,
+it is searched for in the Special Font,
+then in the fonts mounted at positions 0, 1, and so forth.
+.bta hidechar
+\fB&hidechar\fI|F|c|d|...\fR ignored P,T Hide the characters \fIc\fR, \fId\fR, etc. from font F.
+If the characters appear in input afterwards,
+they are searched in other fonts using the fallback sequence.
+This is useful e.g. for combining characters from a regular
+and a Type\ 1 expert font.
+.bta spacewidth
+\fB&spacewidth\fI|\fIN\fR on O,T If \fIN\fR\(!=0, use the space width from the font metrics file.
+The space width otherwise defaults to 1/3\|em for
+variable-width fonts, or to the width of the \fBspace\fR character
+for monospaced fonts.
+With this request, the space width
+is set to the width of the \fBspace\fR character
+as obtained from the font metrics file
+for variable-width fonts too.
+.bta fspacewidth
+\fB&fspacewidth\fI|F|\fR[\fIN\fR] ignored O,T Set the width
+of the space character in font \fIF\fR to \fIN\fR,
+which is given in units of 1/72000 of an inch multiplied by the
+current point size or 1/1000 of an em (as in \s-1AFM\s+1 kerning pair
+definitions).
+If only one argument is present, the space width
+is set to the width of the \fBspace\fR character as obtained from the
+font metrics file.
+.xx
+When the width of spaces in output is actually computed,
+the space size as set by \T'ss'\fBss\fR\T is also taken into account.
+The space width as defined above is used directly with
+\fB&ss 12\fR, which is the default.
+Otherwise, it is multiplied
+by the \fBss\fR setting divided by 12.
+.mha s_page
+Page control
+.pg
+Top and bottom margins are \fInot\fR automatically provided;
+it is conventional to define two \fImacros\fR and to set \fItraps\fR
+for them at vertical positions 0 (top) and \fI\(miN\fR (\fIN\fR from the bottom).
+See \T's_mac'\(sc7\T and \T'T2'Tutorial Examples \(scT2.\T
+A pseudo-page transition onto the \fIfirst\fR page occurs
+either when the first \fIbreak\fR occurs or
+when the first \fInon-diverted\fR text processing occurs.
+Arrangements
+for a trap to occur at the top of the first page
+must be completed before this transition.
+In the following, references to the \T'c_diversion'\fIcurrent diversion\fR (\(sc7.4)\T
+mean that the mechanism being described works during both
+ordinary and diverted output (the former considered as the top diversion level).
+.pg
+The physical limitations on \*(TR and \*(NR output
+are device dependent.
+.h1
+.bta pl
+\fB&pl\fI|\(+-N\fR 11\|in 11\|in \fBv\fR Page length set to \fI\(+-N\fR.
+The current page length is available in the \A'n_.p'\fB.p\fR register.
+.bta papersize
+\fB&papersize\fI|media\fR ignored T,\fBu\fR Set the paper size.
+\fImedia\fR can be one of
+\fBexecutive\fR,
+\fBletter\fR,
+\fBlegal\fR,
+\fBledger\fR,
+\fBtabloid\fR,
+\fBa\fIN\fR,
+\fBb\fIN\fR,
+\fBc\fIN\fR,
+or two numbers giving the width and height directly.
+The page length is set from these
+parameters, the page offset and line length are adjusted as needed,
+and the post-processor is informed about the page metrics for its
+internal calculations.
+The last action is the real reason why this
+request exists; without it, \*(PS printers may displace the
+pages of the document.
+The default are \fBletter\fR measurements.
+This
+request should be used early in a document; if it is given multiple
+times, the last one will setup the device.
+.bta mediasize
+\fB&mediasize\fI|media\fR ignored T,\fBu\fR Set the device media size.
+\fImedia\fR can be one of
+\fBexecutive\fR,
+\fBletter\fR,
+\fBlegal\fR,
+\fBledger\fR,
+\fBtabloid\fR,
+\fBa\fIN\fR,
+\fBb\fIN\fR,
+\fBc\fIN\fR,
+or two numbers giving the width and height directly.
+This request performs the same actions as
+\T'papersize'\fBpapersize\fR\T and generates
+a device setup command in addition (the \*(PS Level 2 operator
+\fBsetpagedevice\fR as well as the DSC comment
+\fB%%DocumentMedia:\fR with \fIdpost\fR).
+The effect of this command can be the selection of a
+matching paper tray on a printer; on the other hand, the document
+may not print at all if no such tray is available.
+In general, it is recommended to use printer-specific
+options from a \s-1PPD\s+1 file
+when the file is submitted to the print spooling system instead
+of this request.
+However, when generating \*(PS as
+intermediate format with the intent of \*[PDF] creation, use of this
+request is recommended.
+.bta cropat
+\fB&cropat\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``CropBox'' page parameter for \*[PDF] generation.
+The four arguments give the offset from the left (\fIL\fR)
+and top (\fIT\fR) margins of the document
+(as set by \T'mediasize'\fBmediasize\fR\T),
+and width (\fIW\fR) and height (\fIH\fR) of the box.
+The default units are points.
+The CropBox restricts the
+area of the page that is shown by a \*[PDF] viewer program.
+It is
+useful to hide cut marks and other printing instructions when
+the same \*[PDF] document is intended to be displayed on screen.
+.bta trimat
+\fB&trimat\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``TrimBox'' page parameter for \*[PDF] generation
+and enables printing of marks when combined with \fIdpost\ \-M\fR.
+The four arguments give the offset from the left (\fIL\fR)
+and top (\fIT\fR) margins of the document
+(as set by \T'mediasize'\fBmediasize\fR\T),
+and width (\fIW\fR) and height (\fIH\fR) of the box.
+The default units are points.
+The TrimBox specifies how
+the page is to be cut after it has been printed; it is sort of
+an electronic equivalent for cut marks (which should continue to
+be printed in addition).
+.bta bleedat
+\fB&bleedat\fI|L|T|W|H\fR ignored T,\fBp\fR Set the ``BleedBox'' page parameter for \*[PDF] generation.
+The four arguments give the offset from the left (\fIL\fR)
+and top (\fIT\fR) margins of the document
+(as set by \T'mediasize'\fBmediasize\fR\T),
+and width (\fIW\fR) and height (\fIH\fR) of the box.
+The default units are points.
+The BleedBox should be defined
+as a a frame around the objects of the actual document including
+any bleed areas (i.e. content that should extend to the end of the
+trimmed final page but is extended a bit such to work around
+possible cutting inaccuracies).
+Cut marks, color bars, and other
+information for the printing office should be positioned outside
+the BleedBox.
+.bta bp
+\fB&bp\fI|\(+-N\fR \fIN\(eq\fR1 \(en B Begin page.
+The current page is ejected and a new page is begun.
+If \fI\(+-N\fR is given, the new page number will be \fI\(+-N\fR.
+Also see request \T'ns'\fBns\fR\T.
+.bta pn
+\fB&pn\fI|\(+-N\fR \fIN\fR\(eq1 ignored \(en Page number.
+The next page (when it occurs) will have the page number \fI\(+-N\fR.
+A \fBpn\fR must occur before the initial pseudo-page transition
+to effect the page number of the first page.
+The current page number is in the \A'n_%'\fB%\fR register.
+The number of the next page is in the \A'n_.pn'\fB&pn\fR register;
+this is either the value set by \fBpn\fR
+or the current page number plus 1.
+.bta po
+\fB&po\fI|\(+-N\fR 0;1i previous \fBm\fR Page offset.
+The current \fIleft margin\fR is set to \fI\(+-N\fR.
+The \*(TR initial value provides about 1|inch of paper margin
+on a typical device.
+The current page offset is available in the \A'n_.o'\fB.o\fR register.
+.bta ne
+\fB&ne\fI|N\fR \(en \fIN\(eq\fR1\|\fIV\fR D,\fBv\fR Need \fIN\fR vertical space.
+If the distance, \fID\fR, to the next trap position
+\T'c_trap'(see \(sc7.5)\T is less than \fIN\fR,
+a forward vertical space of size \fID\fR occurs,
+which will spring the trap.
+If there are no remaining
+traps on the page,
+\fID\fR is the distance to the bottom of the page.
+If \fID\|<\|V\fR, another line could still be output
+and spring the trap.
+In a \T'c_diversion'diversion\T,
+\fID\fR is the distance to the \fIdiversion trap\fR, if any,
+or is very large.
+.bta mk
+\fB&mk\fI|R\fR none internal D Mark the \fIcurrent\fR vertical place
+in an internal register (both associated with the current
+\T'c_diversion'diversion\T level),
+or in register \fIR\fR, if given.
+See \fBrt\fR request.
+.bta rt
+\fB&rt\fI|\(+-N\fR none internal D,\fBv\fR Return \fIupward only\fR to a marked vertical place
+in the current \T'c_diversion'diversion\T.
+If \fI\(+-N\fR (w.r.t. current place) is given,
+the place is \fI\(+-N\fR from the top of the page or \T'c_diversion'diversion\T
+or, if \fIN\fR is absent, to a
+place marked by a previous \fBmk\fR.
+Note that the \T'sp'\fBsp\fR request (\(sc5.3)\T may be used
+in all cases instead of \fBrt\fR
+by spacing to the absolute place stored in a explicit register;
+e.g. using the sequence \fB.mk|\fIR\fR ... \fB.sp|~\|\en\fIR\fBu\fR;
+this also works when the motion is downwards.
+.mha s_fill
+Text Filling, Adjusting, and Centering
+.sc
+Filling and adjusting.
+Normally,
+words are collected from input text lines
+and assembled into a output text line
+until some word does not fit.
+An attempt is then made
+the hyphenate the word in effort to assemble a part
+of it into the output line.
+The spaces between the words on the output line
+are then increased to spread out the line
+to the current \fIline length\fR
+minus any current \fIindent\fR.
+A \fIword\fR is any string of characters delimited by
+the \fIspace\fR character or the beginning/end of the input line.
+Any adjacent pair of words that must be kept together
+(neither split across output lines nor spread apart
+in the adjustment process)
+can be tied together by separating them with the
+\fIunpaddable space\fR character
+\A'e_ '"\fB\e\ \ \fR" (backslash-space).
+The paddable no-break space character \A'e_~'\fB\e\(ap\fR
+keeps words on the same output line but may be spread during adjustment.
+The adjusted word spacings are uniform in \*(TR
+and the minimum interword spacing can be controlled
+with the \T'ss'\fBss\fR request\T \T's_font'(\(sc2).\T
+In \*[NR,] word spacings are normally nonuniform because of
+quantization to character-size spaces;
+however,
+the command line option \fB\-e\fR causes uniform
+spacing with full output device resolution.
+Filling, adjustment, and hyphenation \T's_hyphen'(\(sc13)\T can all be
+prevented or controlled.
+The \fItext length\fR on the last line output is available
+in the \A'n_.n'\fB.n\fR register,
+and text base-line position on the page for this line is
+in the \A'n_nl'\fBnl\fR register.
+The text base-line high-water mark (lowest place) on the current page is in
+the \A'n_.h'\fB.h\fR register.*
+.br
+.fn
+.sp .3
+\(**\|Local motions have no effect on register \fB&h\fR.
+.ef
+The current horizontal output position
+is in the \A'n_.k'\fB.k\fR register.
+The \A'n_.x'\fB.x\fR register indicates
+the remaining horizontal space on the current output line.
+.pg
+Text lines beginning with space characters
+and empty text lines (blank lines) cause a break.
+The filling of the line currently
+being collected is stopped and
+the line is output without adjustment.
+The \fB.blm\fR request can be used to redefine the processing
+of blank input lines.
+With the \fB.lsm\fR request the effect of lines beginning with
+spaces is changed.
+The read-only number register \A'n_lsn'\fBlsn\fR contains the number of
+leading spaces.
+The read-only number register \A'n_lss'\fBlss\fR contains the horizontal
+space which corresponds to the leading spaces.
+Both registers are set also if \fB.lsm\fR is not used.
+.pg
+\*(TR can optionally decrease word spacings,
+change the letter spacing,
+and reshape letters
+when adjusting lines to fit on both margins.
+The interword spacing controlled with the \T'ss'\fBss\fR request\T
+is then understood as the optimum setting.
+Words are collected from input until the first word
+that would require to condense spacing or letter shapings is encountered.
+Between the end of the previous word and the end of this word,
+hyphenation points are additionally examined
+until the two possibilities to end the line
+surrounding the optimum are found.
+The point closest to the optimum is then chosen.
+If the word spacing so determined would fall below
+the minimum allowed, letter spacings and shapings are condensed.
+If it would exceed the threshold for expanded letter spacing and letter shaping,
+it is attempted to compensate until the threshold is reached,
+up to the maximum allowed letter spacing
+and letter shaping.
+Remaining space is distributed among the word spacings.
+Distribution among letter spacings and shaping is equal
+until one of the respective limits is reached.
+Lines that terminate with a \fIbreak\fR
+are normally set using the optimum word and line spacings
+unless the last word collected is the first word
+that falls below the optimum spacing,
+which may result in condensed spacing and shaping.
+The horizontal positions in the \fB.k\fR and \fB.x\fR registers
+are always computed using default character and spacing widths.
+.pg
+\A'ad_p'As an alternative to adjusting one line at a time as described,
+\*(TR also supports adjusting one paragraph at once.
+In this mode,
+words are collected from input lines
+and requests are processed
+until a \fIbreak\fR occurs.
+The words are then split into lines
+such that the interword spaces
+are closest to the optimum setting
+across the entire paragraph.
+Ultimately, the lines so determined
+are printed.
+\T'c_trap'Traps\T, page breaks,
+and any positioning become effective only at this time.
+It is thus well possible that the current page number
+as read on the input line in the \T'n_%'\fB%\fR\T register
+is lower than the number of the page
+on which the corresponding text is actually output.
+Any reference to the page number or page position
+(e.g. writing an index entry)
+should thus be handled using
+the \T's_olt'output-line trap\T mechanism
+instead of in-line macros.
+Likewise the \T'n_.k'\fB.k\fR\T and \T'n_.x'\fB.x\fR\T
+registers are not meaningful in this mode,
+except that \T'n_.k'\fB.k\fR\T is never zero
+when text is present in a partial paragraph.
+.pg
+.tr &&
+An input text line ending with \fB.\fR\^, \fB?\fR, \fB!\fR, or \fB:\fR,
+optionally followed by any number of \fB"\fR, \fB\'\fR,
+\fB)\fR, \fB]\fR, \fB*\fR, or \fB\(dg\fR,
+is taken
+to be the end of a \fIsentence\fR, and an additional space character is
+automatically provided during filling.
+To prevent this at individual locations,
+add \A'e_&'\fB\e&\fR to the end of the input line;
+the second argument to the \T'ss'\fBss\fR request\T \T's_font'(\(sc2)\T
+changes the size of this space character and can also disable it globally.
+Both the sentence-ending and the transparent characters are configurable.
+The \A'e_)'\fB\e)\fR character is always transparent
+but behaves like \fB\e&\fR in all other respects.
+Multiple inter-word space characters found in the input are retained,
+although the second character in a sequence of spaces
+following a sentence-ending character
+has the width of a sentence space;
+if the sentence space has been set to zero,
+any sequence of spaces following a sentence-ending character
+has the width of a single space.
+Trailing spaces are always discarded.
+Initial spaces are always retained and also cause a \fIbreak\fR.
+.pg
+With the \fBbrnl\fR request,
+a \fIbreak\fR occurs at the end of each text input line in fill mode,
+except for lines \T'c_intr'interrupted\T with \T'e_c'\fB\ec\fR\T.
+Contrasting to nofill mode,
+text is still adjusted to the line length.
+.pg
+When filling is in effect, a \A'e_p'\fB\ep\fR may be imbedded or attached to a word to
+cause a \fIbreak\fR at the \fIend\fR of the word and have the resulting output
+line \fIspread out\fR to fill the current line length.
+.pg
+When adjusting paragraphs at once,
+is possible to specify additional \fIpenalties\fR
+for putting a line break after the current word
+(or part of a hyphenated word)
+by imbedding or attaching a \A'e_j'\fB\ej\fI\'\(+-N\'\fR to it.
+A positive value of \fIN\fR discourages a line break,
+a negative value encourages it.
+Values of 1\^000\^000 and above
+are taken as infinitive penalties
+and always prevent a line break;
+values of \-1\^000\^000 always cause a line break.
+A default penalty can be set
+with the \A'e_J'\fB\eJ\fI\'\(+-N\'\fR escape sequence;
+this is useful to discourage line breaks
+within a certain group of words,
+e.g. a person's name or a formula.
+Relative values in the argument to \fB\ej\fR
+refer to the default penalty.
+The current default penalty is available
+in the \A'n_.defpenalty'\fB.defpenalty\fR number register.
+Separate penalties can be specified
+for breaking a line after a hyphenated word part
+using the \T'hypp'\fBhypp\fR\T request
+\T's_hyphen'(\(sc13).\T
+.pg
+With the \fBbrpnl\fR request,
+each end of a text input line in fill mode
+causes a \fIbreak\fR and a spread,
+except for lines \T'c_intr'interrupted\T with \T'e_c'\fB\ec\fR\T.
+The meaning of \fB\ep\fR is then changed
+such that a line that it is attached to is \fInot\fR spread;
+this is the only method to achieve a regular \fIbreak\fR without a spread then.
+Manually adjusted text can thus be typed more comfortably
+since only the (fewer) lines that are not spread
+need to be marked.
+.pg
+A text input line that happens to begin
+with a control character can
+be made to not look like a control line
+by prefacing it with
+the non-printing, zero-width filler character \fB\e&\fR.
+Still another way is to specify output translation of some
+convenient character into the control character
+using \T'tr'\fBtr\fR\T \T'c_trans'(\(sc10.5).\T
+.sc
+.tr &.
+\A'c_intr'Interrupted text.
+The copying of a input line in \fInofill\f (non-fill) mode can be \fIinterrupted\fR
+by terminating
+the partial line with a \A'e_c'\fB\ec\fR.
+The \fInext\fR encountered input text line will be considered to be a continuation
+of the same line of input text.
+Similarly,
+a word within \fIfilled\fR text may be interrupted by terminating the
+word (and line) with \fB\ec\fR;
+the next encountered text will be taken as a continuation of the
+interrupted word.
+If the intervening control lines cause a break,
+any partial line will be forced out along with any partial word.
+The \A'n_.int'\fB&int\fR number register
+is set to a non-zero value if the previous line was interrupted
+and to zero otherwise.
+The length of a partial word is ignored
+for the value of the \T'n_.k'\fB&k\fR\T number register in \fIfill\fR mode;
+it is separately available with the \A'n_.kc'\fB&kc\fR register.
+.sc
+.tr &&
+\A'c_kerning'Kerning.
+\*(TR reads kerning tables from Type\ 1,
+OpenType, and TrueType font files.
+These tables contain small horizontal spacing adjustments
+for pairs of individual characters,
+e.g., the pair ``Vo'' would print as ``V\&o''
+without kerning applied.
+Placing \fB\e&\fR between two characters
+disables kerning at that location;
+the \T'kern'\fBkern\fR\T request can disable it globally.
+The \T'kernpair'\fBkernpair\fR\T request adds a kerning pair;
+in contrast to predefined pairs,
+it allows the characters to originate from different fonts.
+.pg
+.kernafter R \[guillemotleft] 66
+.kernbefore R \[guillemotright] 66
+It is sometimes useful to add or substact a constant amount of spacing
+whenever a specific character appears;
+for example, \[guillemotleft]french\[guillemotright]
+quotation marks usually require some additional distance
+to the words contained in them.
+The \T'kernafter'\fBkernafter\fR\T and
+\T'kernbefore'\fBkernbefore\fR\T requests allow
+to define such adjustments.
+Again, a \fB\e&\fR disables them at individual points;
+they are generally not applied if the other character is a space.
+.tr &.
+.sc
+Hanging characters.
+Characters can hang beyond the left or right margins of adjusted text;
+the \T'lhang'\fBlhang\fR\T and
+\T'rhang'\fBrhang\fR\T requests specify this.
+Left margin adjustments are evaluated before the letters that fit on the
+current line are computed, and can thus principally be of any length.
+In contrast, right margin adjustments are evaluated after this computation
+is finished, and the adjustment is simply added to the word space of the
+output line.
+Thus a positive right adjustment that is large in relation
+to the line length will cause visible holes, and a negative adjustment
+will ultimately cause the words on the line to be printed over each
+other.
+This is not a problem for the typical application of hanging
+punctuation for visual alignment, though;
+if e.g. a line with eight word
+spaces is shifted by .08 em,
+each word space is enlarged by only .01 em.
+.h1
+.bta br
+\fB&br\fR \(en \(en B Break.
+The filling of the line currently
+being collected is stopped and
+the line is output without adjustment.
+Text lines beginning with space characters
+and empty text lines (blank lines) also cause a break
+(This can be changed with the \fB.blm\fR and \fB.lsm\fR
+requests.).
+.br
+.tr &&
+.bta lsm
+\&\fB.lsm\fI|xx\fR none none \(en Whenever a line
+beginning with spaces is encountered,
+the macro \fIxx\fR is invoked
+instead of the default behavior to cause a break.
+If the spaces are followed by an escape, that may be processed
+before the macro is called (e.g. font changes).
+To avoid this prepend that escape with \fB\e&\fR.
+.br
+.tr &.
+.bta brp
+\fB&brp\fR \(en \(en B Break and spread;
+same effect as the \T'e_p'\fB\ep\fR\T escape sequence
+except that it causes the remaining part
+of a paragraph shape as set with
+\T'pshape'\fBpshape\fR\T to be discarded.
+.bta fi
+.lg 0
+\fB&fi\fR \(fill|on \(en B,E Fill subsequent output lines.
+.lg
+The register \A'n_.u'\fB.u\fR is 1 in fill mode and 0 in nofill mode.
+.bta nf
+\fB&nf\fR fill|on \(en B,E Nofill.
+Subsequent output lines are \fIneither\fR filled \fInor\fR adjusted.
+Input text lines are copied directly to output lines
+\fIwithout regard\fR for the current line length.
+.bta ad
+\fB&ad\fI|c\fR adj,both adjust E \
+Line adjustment is begun.
+If fill mode is not on, adjustment will be deferred until
+fill mode is back on.
+If the type indicator \fIc\fR is present,
+the adjustment type is changed as shown in the following table.
+.TS
+center box;
+c|c
+c|l.
+Indicator Adjust Type
+_
+\fBl\fR adjust left margin only
+\fBr\fR adjust right margin only
+\fBc\fR center
+\fBb\fR or \fBn\fR adjust both margins
+\fBp\fR or \fBpb\fR adjust both margins paragraph-wise
+\fBpl\fR adjust left margin paragraph-wise
+\fBpr\fR adjust right margin paragraph-wise
+\fBpc\fR center paragraph-wise
+absent unchanged
+.TE
+The number register \A'n_.j'\fB.j\fR contains the current value
+of the \T'ad'\fBad\fR\T setting;
+its value can be recorded and used subsequently
+to set adjustment.
+.bta na
+\fB&na\fR adjust \(en E Noadjust.
+Adjustment is turned off;
+the right margin will be ragged.
+The adjustment type for \fBad\fR is not changed.
+Output line filling still occurs if fill mode is on.
+.bta padj
+\fB&padj\fI|N\fR off on \(en Control paragraph-at-once adjustment globally.
+If \fIN\fR\(!=0 or missing,
+paragraph-at-once adjustment is enabled in all environments,
+and \fBad\ \fIx\fR effectively acts like \fBad\ p\fIx\fR.
+The current value is available in the \A'n_.padj'\fB&padj\fR register.
+.bta ce
+\fB&ce\fI|N\fR off \fIN\fR\(eq1 B,E Center the next \fIN\fR input text lines
+within the current (line-length minus indent).
+If \fIN\fR\(eq\^0, any residual count is cleared.
+A break occurs after each of the \fIN\fR input lines.
+If the input line is too long,
+it will be left adjusted.
+The number of lines to be right-aligned, if any,
+is set to zero.
+The remaining number of lines to be centered
+is available in the \A'n_.ce'\fB&ce\fR register.
+.bta rj
+\fB&rj\fI|N\fR off \fIN\fR\(eq1 B,E Right-align the next \fIN\fR input text lines
+within the current (line-length minus indent);
+otherwise like \fBce\fR.
+The number of lines to be centered, if any,
+is set to zero.
+The remaining number of lines to be right-justified
+is available in the \A'n_.rj'\fB&rj\fR register.
+.bta brnl
+\fB&brnl\fI|N\fR off \fIN\(eq\fR\(if B,E Break at end of next \fIN\fR input text lines
+when filling is in effect.
+The remaining number of lines so treated
+is available in the \A'n_.brnl'\fB&brnl\fR register.
+.bta brpnl
+\fB&brpnl\fI|N\fR off \fIN\(eq\fR\(if B,E Break and spread at end of next \fIN\fR input text lines
+when filling is in effect.
+The remaining number of lines so treated
+is available in the \A'n_.brpnl'\fB&brpnl\fR register.
+\fBbrpnl\fR disables \fBbrnl\fR and vice-versa.
+.bta minss
+\fB&minss\fI|N\fR off off E,T Minimum word space.
+When adjusting both margins,
+\*(TR may decrease the size of the word space
+down to \fIN\fR/36\|ems
+(rather than to the value set by \T'ss'\fBss\fR\T).
+The current value is available in the \A'n_.minss'\fB&minss\fR register.
+.bta letadj
+\fB&letadj\fI|X|U|S|Y|V\fR off E,T Dynamic letter spacing and reshaping when adjusting lines.
+The space between letters can be automatically expanded or condensed
+(in addition to the space between words),
+and the width of letters can be automatically changed
+in \fBad\ b\fR mode.
+The \fIX\fR argument gives the minimum percentage
+of an en of the current point size by which
+adjacent characters may be tightened;
+the \fIU\fR argument gives the minimum percentage
+of the letter width by which letters may be condensed.
+When the computed size of the word space
+would have to be larger than \fIS\fR,
+additional space will be inserted between letters up to a limit
+of \fIY\fR percent of an en of the current point size,
+and letters will be expanded by up to \fIV\fR percent of their width
+until the word space does not extend beyond \fIS\fR anymore.
+\fIS\fR is given in units of 1/36\|ems as with \fBss\fR.
+The number registers
+\A'n_.lspmin'\fB&lspmin\fR,
+\A'n_.lshmin'\fB&lshmin\fR,
+\A'n_.letss'\fB&letss\fR,
+\A'n_.lspmax'\fB&lspmax\fR,
+and \A'n_.lshmax'\fB&lshmax\fR
+contain the current values of
+\fIX\fR, \fIU\fR, \fIS\fR, \fIY\fR, and \fIV\fR,
+respectively.
+.bta sentchar
+\fB&sentchar\fI|c...\fR \fB.?!:\fR off E Sentence-ending characters.
+When one of the characters \fIc...\fR appears at the end
+of an input text line,
+an additional space character
+of the size defined with the \T'ss'\fBss\fR\T request
+is inserted.
+The current set of sentence-ending characters is available
+in the \A'n_.sentchar'\fB&sentchar\fR number register.
+.bta transchar
+\fB&transchar\fI|c..\fR \fB"')]*\(dg\fR off E Transparent characters for sentence-ending.
+A sentence-ending character is recognized as such
+even if followed by one or more of the characters \fIc...\fR
+before the end of an input text line.
+The current set of transparent characters for sentence ending is available
+in the \A'n_.transchar'\fB&transchar\fR number register.
+.bta track
+\fB&track\fI|F|S|N|T|M\fR ignored P,T,\fBp\fR Static letter space tracking.
+If the current font is \fIF\fR
+and the point size is below or equal to \fIS\fR,
+white space of width \fIN\fR is added to each character.
+If the point size is above or equal to \fIT\fR,
+white space of width \fIM\fR is added.
+If the point size is between \fIS\fR and \fIT\fR,
+the amount of white space added is computed
+as a value between \fIN\fR and \fIM\fR using the current point size \fIs\fR:
+(\fIs\^M\fR\-\fIs\^N\fR+\fIT\^N\fR\-\fIS\^M\fR)\|/\|(\fIT\fR\-\fIS\fR).
+The default unit for all numeric arguments is points.
+Negative numbers are accepted and
+cause a decrease of letter space.
+No adjustment is performed on the last character of an output line.
+Tracking also applies to characters
+from another font that have been selected
+by the \T'fallback'\fBfallback\fP\T sequence.
+.bta kern
+\fB&kern\fI|N\fR 1 1 P,T Control pairwise kerning;
+disabled if \fIN\fR=0, otherwise enabled.
+.bta fkern
+\fB&fkern\fI|F|N\fR 1 1 P,T Control the use of kerning tables from font \fIF\fR;
+disabled if \fIN\fR=0,
+enabled if \fIN\fR=1 or missing.
+For \fIN\fR\(>=2,
+only kerning pairs with absolute values greater or equal to \fIN\fR are used.
+\*(TR kerning adjustments as defined by the following requests
+are not affected.
+.bta kernpair
+\fB&kernpair\fI|F|c...|G|d...|N\fR ignored P,T Add a kerning pair
+to the kerning table for character \fIc\fR
+from font \fIF\fR and character \fId\fR from font \fIG\fR.
+\fIc\fR and \fId\fR may consist of multiple characters;
+in this case, table entries are added
+for any pair combination of characters from \fIc\fR and \fId\fR.
+The \fIN\fR argument is 1/72\|000 of an inch multiplied by the current point
+size or 1/1000 of an em (as in \s-1AFM\s+1 kerning pair definitions);
+it may be negative.
+To add a kerning pair that includes the space character, use \T'e_ '``\e\ ''.\T
+.bta kernafter
+\fB&kernafter\fI|F|c...|N|d...|M|...\fR P,T Add a constant amount of space after a character
+if the current font is \fIF\fR and \fIc\fR
+is the first character of a pair of characters subject to kerning.
+\fIc\fR may consist of multiple characters;
+in this case, the same amount is added
+whenever one of the given characters appears.
+The \fIN\fR argument is
+1/72\|000 of an inch multiplied by the current point size or 1/1000
+of an em (as in \s-1AFM\s+1 kerning pair definitions);
+it may be negative.
+Same for \fId/M\fR etc.
+.bta kernbefore
+\fB&kernbefore\fI|F|c...|N|d...|M|...\fR P,T Add a constant amount of space before a character
+if the current font is \fIF\fR and \fIc\fR
+is the second character of a pair of characters subject to kerning.
+\fIc\fR may consist of multiple characters;
+in this case, the same amount is added
+whenever one of the given characters appears.
+The \fIN\fR argument is
+1/72\|000 of an inch multiplied by the current point size or 1/1000
+of an em (as in \s-1AFM\s+1 kerning pair definitions);
+it may be negative.
+Same for \fId/M\fR etc.
+.bta lhang
+\fB&lhang\fI|F|c...|N|d...|M|...\fR ignored T Hanging characters at left margin.
+When the current font is \fIF\fR and \fIc\fR appears at the left margin
+of an output line in left-adjusted, both-adjusted, or nofill mode,
+the margin is relocated to the right by \fIN\fR, which is
+1/72\|000 of an inch multiplied by the current point size or 1/1000
+of an em (as in \s-1AFM\s+1 character width definitions);
+it may be negative.
+\fIc\fR may consist of multiple characters;
+in this case, the margin is relocated
+whenever one of the given characters appears.
+Same for \fId/M\fR etc.
+.bta rhang
+\fB&rhang\fI|F|c...|N|d...|M|...\fR ignored T Hanging characters at right margin.
+When the current font is \fIF\fR and \fIc\fR appears at the right margin
+of an output line in right-adjusted, both-adjusted, or nofill mode,
+the margin is relocated to the right by \fIN\fR, which is
+1/72\|000 of an inch multiplied by the current point size or 1/1000
+of an em (as in \s-1AFM\s+1 character width definitions);
+it may be negative.
+\fIc\fR may consist of multiple characters;
+in this case, the margin is relocated
+whenever one of the given characters appears.
+Same for \fId/M\fR etc.
+.mha s_vert
+Vertical Spacing
+.sc
+Base-line spacing.
+The vertical spacing \fI(V)\fR between the base-lines of successive
+output lines can be set
+using the \T'vs'\fBvs\fR\T request.
+\fIV\fR should be large enough to accommodate the character sizes
+on the affected output lines.
+For the common type sizes (9-12 points),
+usual typesetting practice is to set \fIV\fR to 2\ points greater than the
+point size;
+\*(TR default is 10-point type on a 12-point spacing
+(as in this document).
+The current \fIV\fR is available in the \A'n_.v'\fB.v\fR register.
+Multiple-\fIV\|\fR line separation (e.g. double spacing) may be requested
+with \T'ls'\fBls\fR,\T
+but it is better to use a large \T'vs'\fBvs\fR\T instead;
+certain preprocessors assume single spacing.
+The current line spacing is available in the \A'n_.L'\fB.L\fR register.
+.sc
+Extra line-space.
+If a word contains a vertically tall construct requiring
+the output line containing it to have extra vertical space
+before and/or after it,
+the \fIextra-line-space\fR function \A'e_x'\fB\ex\fI\'N\'\fR
+can be imbedded in or attached to that word.
+If \fIN\fR is negative,
+the output line containing the word will
+be preceded by \fIN\fR extra vertical space;
+if \fIN\fR is positive,
+the output line containing the word
+will be followed by \fIN\fR extra vertical space.
+If successive requests for extra space apply to the same line,
+the maximum values are used.
+The most recently utilized post-line extra line-space is available
+in the \A'n_.a'\fB.a\fR register.
+.pg
+In \fB\ex\fI\'...\'\fR and other functions having a pair of delimiters around
+their parameter (here \fB\'\fR\|),
+the delimiter choice is arbitrary,
+except that it can not look like the continuation
+of a \T'c_expr'number expression\T for \fIN\fR.
+.sc
+Blocks of vertical space.
+A block of vertical space is ordinarily requested using \T'sp'\fBsp\fR,\T
+which honors the \fIno-space\fR mode and which does
+not space \fIpast\fR a trap.
+A contiguous block of vertical space may be reserved using \T'sv'\fBsv\fR.\T
+.sc
+Ascenders and descenders.
+Type\ 1, OpenType, and TrueType metrics
+supply information about the typical extents
+of characters above the base-line (ascender) and below it (descender).
+Usually, these correspond to the top of the lowercase ``d''
+and the bottom of the lowercase ``p'', respectively.
+The \A'n_.ascender'\fB&ascender\fR
+and \A'n_.descender'\fB&descender\fR number registers
+contain these values in units
+with correct scaling for the current point size applied.
+If no values are available,
+these registers are set to zero.
+.h1
+.bta vs
+\fB&vs\fI\|N\fR 1/6in;12pts previous E,\fBp\fR Set vertical base-line spacing size \fIV\fR.
+Transient \fIextra\fR vertical space available with \T'e_x'\fB\ex\fI\'N\'\fR (see above).\T
+.bta ls
+\fB&ls\fI\|N\fR \fIN\(eq\^\fR1 previous E \fILine\fR spacing
+set to \fI\(+-N\fR.
+\fIN\(mi\fR1 \fIV\fR\^s \fI(blank lines)\fR are
+appended to each output text line.
+Appended blank lines are omitted, if the text or previous appended blank line reached a trap position.
+.bta sp
+\fB&sp\fI|N\fR \(en \fIN\fR\(eq1\fIV\fR B,\fBv\fR Space vertically in \fIeither\fR direction.
+If \fIN\fR is negative, the motion is \fIbackward\fR (upward)
+and is limited to the distance to the top of the page.
+Forward (downward) motion is truncated to the distance to the
+nearest trap.
+\T'a_usesp'(Recall the use of \fB.sp\ ~\|\fIN\fR from \(sc1.3.)\T
+If the no-space mode is on,
+no spacing occurs (see \T'ns'\fBns\fR\T, and \T'rs'\fBrs\fR\T below).
+.bta sv
+\fB&sv\fI|N\fR \(en \fIN\(eq\fR1\fIV\fR \fBv\fR Save a contiguous vertical block of size \fIN\fR.
+If the distance to the next trap is greater
+than \fIN\fR, \fIN\fR vertical space is output.
+No-space mode has \fIno\fR effect.
+If this distance is less than \fIN\fR,
+no vertical space is immediately output,
+but \fIN\fR is remembered for later output (see \T'os'\fBos\fR\T).
+Subsequent \fBsv\fR requests will overwrite any still remembered \fIN\fR.
+.bta os
+\fB&os\fR \(en \(en \(en Output saved vertical space.
+No-space mode has \fIno\fR effect.
+Used to finally output a block of vertical space requested
+by an earlier \fBsv\fR request.
+.bta ns
+\fB&ns\fR space \(en D No-space mode turned on.
+When on, the no-space mode inhibits \T'sp'\fBsp\fR\T requests and
+\T'bp'\fBbp\fR\T requests \fIwithout\fR a next page number.
+The no-space mode is turned off when a line of
+output occurs, or with \fBrs\fR.
+The number register \A'n_.ns'\fB&ns\fR
+is set to a non-zero value in no-space mode
+and to zero otherwise.
+.bta rs
+\fB&rs\fR space \(en D Restore spacing.
+The no-space mode is turned off.
+.bta blank
+Blank|text|line. \(en B Causes a break and
+output of a blank line exactly like \fBsp|1\fR
+unless a different action has been specified
+with the \T'blm'\fBblm\fR request.\T
+.\" from file m2
+.tr |
+.rm mx
+.br
+.mha s_line
+Line Length and Indenting
+.pg
+The maximum line length for fill mode may be set with \T'll'\fBll\fR.\T
+The indent may be set with \T'in'\fBin\fR;\T
+an indent applicable to \fIonly\fR the \fInext\fR output line
+may be set with \T'ti'\fBti\fR.\T
+The line length includes indent space but \fInot\fR
+page offset space.
+The line-length minus the indent is the basis
+for centering with \T'ce'\fBce\fR.\T
+The effect of \T'll'\fBll\fR\T, \T'in'\fBin\fR\T, or \T'ti'\fBti\fR\T
+is delayed, if a partially collected line exists,
+until after that line is output.
+In fill mode the length of text on an output line is less than or equal to
+the line length minus the indent.
+The current line length and indent are available
+in registers \A'n_.l'\fB.l\fR and \A'n_.i'\fB.i\fR respectively;
+the \A'n_.y'\fB.y\fR and \A'n_.in'\fB.in\fR registers both hold the indent
+that actually applies to the current line,
+taking a temporary indent into account.
+The length of \fIthree-part titles\fR produced by \T'tl'\fBtl\fR\T
+\T's_titles'(see \(sc14)\T is \fIindependently\fR set by \T'lt'\fBlt\fR.\T
+.xx
+In \T'ad_p'\fBad\ p\fR\T mode,
+indent, temporary indent, and line length should be predefined
+for the entire paragraph
+at the time a \fIbreak\fR occurs.
+To achieve this with indent and line length varying inside a paragraph,
+a shape can be defined with \T'pshape'\fBpshape\fR\T.
+The \T'll'\fBll\fR\T and \T'in'\fBin\fR\T requests
+are also effective while formatting a paragraph
+but may result in less optimal line breaking decisions then.
+.h1
+.bta ll
+\fB&ll\fI|\(+-N\fR 6.5\|in previous E,\fBm\fR Line length is set to \(+-\fIN\fR.
+.bta in
+\fB&in\fI|\(+-N\fR \fIN\(eq\^\fR0 previous B,E,\fBm\fR Indent is set to \fI\(+-N\fR.
+The indent is prepended to each output line.
+.bta ti
+\fB&ti\fI|\(+-N\fR \(en ignored B,E,\fBm\fR Temporary indent.
+The \fInext\fR output text line will be indented a distance \fI\(+-N\fR
+with respect to the current indent.
+The resulting total indent may not be negative.
+The current indent is not changed.
+.bta pshape
+.di keep
+.hylang en_US
+.minss 9
+.letadj 95 98 18 105 102
+\fB&pshape\fI|\(+-I1|\(+-L1|\(+-I2|\(+-L2|\fR...|off E,\fBm\fR Set a special shape for the current paragraph in \T'ad_p'\fBad\ p\fR\T mode.
+\#.ds l 4m 6m 8m 10m 12m 14m 16m 18m 20m 22m 24m \
+\#22m 20m 18m 16m 14m 12m 10m 8m 6m 4m
+\#.ds s
+\#.while 1 \{\
+\#. ds c \*l
+\#. index i c "
+\#. if \ni>=0 \{\
+\#. substring c 0 \ni-1
+\#. substring l \ni+1
+\#. \}
+\#. nr t (\n(.l-\n(.i)-\*c/2
+\#. nr in \n(.iu+\ntu
+\#. nr ll \n(.lu-\ntu
+\#. as s " \n(inu \n(llu
+\#. if \ni<0 .break
+\#.\}
+\#.pshape \*s
+.nr l (\n(.lu-\n(.iu-7.4m)/3
+.nr h (\n(.lu-\n(.iu-5m)/2
+.nr t \nlu+3.7m
+.pshape \
+0 \n(.iu+\nlu-1m \
+\n(.iu \n(.iu+\nlu-.75m \
+\n(.iu \n(.iu+\nlu-.5m \
+\n(.iu \n(.iu+\nlu-.25m \
+\n(.iu \n(.iu+\nlu \
+\n(.iu+\ntu-.5m+1m \n(.iu+\ntu+\nlu-1m+.5m \
+\n(.iu+\ntu-.5m+.75m \n(.iu+\ntu+\nlu-.75+.5m \
+\n(.iu+\ntu-.5m+.5m \n(.iu+\ntu+\nlu-.5+.5m \
+\n(.iu+\ntu-.5m+.25m \n(.iu+\ntu+\nlu-.25+.5m \
+\n(.iu+\ntu-.5m \n(.iu+\ntu+\nlu+.5m \
+\n(.lu-\nlu+1m \n(.lu \
+\n(.lu-\nlu+.75m \n(.lu \
+\n(.lu-\nlu+.5m \n(.lu \
+\n(.lu-\nlu+.25m \n(.lu \
+\n(.lu-\nlu \n(.lu \
+\n(.iu \n(.lu \
+\n(.iu \n(.lu \
+\n(.iu \n(.lu \
+\n(.iu \n(.lu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu \n(.iu+\nhu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu+\nhu+5m \n(.lu \
+\n(.iu \n(.lu
+.mk T
+.nr B \nTu+5v
+.nr C \nTu+15v
+.dt \nBu T2
+.de T2
+.ch T2
+.sp |\nTu
+.dt \nBu T3
+..
+.de T3
+.ch T3
+.sp |\nTu
+.dt \nCu T4
+.
+..
+.de T4
+.ch T4
+.sp |\nCu-6v
+..
+At the next \fIbreak\fR when the paragraph gets formatted,
+its first line is indented by \fII1\fR and has length \fIL1\fR,
+its second line is indented by \fII2\fR and has length \fIL2\fR,
+and so forth.
+Relative numbers refer to the previous indent or line length pair,
+or to the values set
+by \T'in'\fBin\fR\T and \T'll'\fBll\fR\T
+for the first pair.
+The last of the indent and line length pairs stays effective
+if the paragraph has more lines
+than pairs are given.
+With an odd number of arguments,
+the standard line length as set by \T'll'\fBll\fR\T is used at the end.
+Once the current paragraph has been printed,
+the shape specification is forgotten,
+and the standard indent and line length values are in effect again
+unless another \fBpshape\fR request occurs.
+As an exception, \T'e_p'\fB\ep\fR\T preserves the remaining part
+of the shape.
+To produce shapes with holes as in this example,
+\T'c_trap'diversion traps\T can be used
+to move formatted lines in vertical direction.
+.br
+.di
+.ne \n(dnu
+.in 0
+.nf
+.keep
+.fi
+.hylang
+.minss
+.letadj
+.mha s_mac
+Macros, Strings, Diversion, and Position Traps
+.sc
+Macros and strings.
+A \fImacro\fR is a named set of arbitrary \fIlines\fR that may be invoked by name or
+with a \fItrap\fR.
+A \fIstring\fR is a named string of \fIcharacters\fR,
+\fInot\fR including a newline character,
+that may be interpolated by name at any point.
+Request, macro, and string names share the \fIsame\fR name list.
+Macro and string names
+may consist of an arbitrary number of \s-1ASCII\s+1 characters
+\T'c_char'(\(sc1.1)\T
+and may usurp previously defined
+request, macro, or string names;
+this implies that build-in operators may be (irrevocably) redefined.
+Any of these entities may be renamed with \T'rn'\fBrn\fR\T
+or removed with \T'rm'\fBrm\fR.\T
+Macros are created by \T'de'\fBde\fR\T and \T'di'\fBdi\fR,\T
+and appended to by \T'am'\fBam\fR\T and \T'da'\fBda\fR;\T
+\T'di'\fBdi\fR\T and \T'da'\fBda\fR\T cause normal output
+to be stored in a macro.
+Strings are created by \T'ds'\fBds\fR\T and appended to by \T'as'\fBas\fR.\T
+A macro is invoked in the same way as a request;
+a control line beginning \fB.\fIxx\fR will interpolate the contents of macro \fIxx\fR.
+The remainder of the line may contain arbitrarily many \fIarguments\fR.
+The strings \fIx\fR, \fIxx\fR, and \fIxxx\fR
+are interpolated at any desired point with
+\A'e_*'\fB\e\(**\fIx\fR, \fB\e\(**(\fIxx\fR,
+and \fB\e\(**[\fIxxx\fB]\fR respectively;
+the form \fB\e\(**[\fIxxx\ arg\ \fR...\fB]\fR
+allows to specify arguments to a string.
+String references and macro invocations may be nested.
+.sc
+\A'copy mode'Copy mode input interpretation.
+During the definition and extension
+of strings and macros (not by \T'c_diversion'diversion\T)
+the input is read in \fIcopy mode\fR.
+The input is copied without interpretation
+\fIexcept\fR that:
+.x1
+.nr nosave 0
+.ds + \v'-.1m'\s-4\(bu\s+4\v'+.1m'
+\*+ The contents of number registers indicated by \T'e_'\fB\en\fR\T are interpolated.
+\*+ Strings indicated by \T'e_*'\fB\e\(**\fR\T are interpolated.
+\*+ Arguments indicated by \T'e_$'\fB\e$\fR\T are interpolated.
+\*+ Environment variables indicated by \T'e_V'\fB\eV\fR\T are interpolated.
+\*+ Concealed newlines indicated by \T'e_newline'\fB\e\fR\T(newline) are eliminated.
+\*+ Comments indicated by \T'e_"'\fB\e"\fR\T or \T'e_#'\fB\e#\fR\T are eliminated.
+\*+ \T'e_t'\fB\et\fR\T and \T'e_a'\fB\ea\fR\T are interpreted as \s-1ASCII\s+1 horizontal tab and \s-1SOH\s+1 respectively \T's_tabs'(\(sc9).\T
+.ne 2
+\*+ \T'e_e'\fB\e\e\fR\T is interpreted as \fB\e\fR.
+\*+ \T'e_.'\fB\e.\fR\T is interpreted as "\fB.\fR".
+.x2
+These interpretations can be suppressed by
+prepending
+a \fB\e\fR.
+For example, since \fB\e\e\fR maps into a \fB\e\fR,
+\fB\e\en\fR will copy as \T'e_n'\fB\en\fR\T which
+will be interpreted as a number register indicator when the
+macro or string is reread.
+.sc
+Arguments.
+When a macro is invoked by name, the remainder of the line is
+taken to contain arguments.
+The argument separator is the space character, and arguments
+may be surrounded by double-quotes to permit imbedded space characters.
+Pairs of double-quotes may be imbedded in double-quoted arguments to
+represent a single double-quote character.
+The argument \fB"\^"\fR is explicitly null.
+If the desired arguments won't fit on a line,
+a concealed newline may be used to continue on the next line.
+A trailing double quote may be omitted.
+.pg
+Similarly, arguments may be passed to strings
+with the \fB\e\(**[\fR syntax,
+separated by spaces,
+until the argument list ends with the \fB]\fR character.
+String arguments are otherwise handled exactly like macro arguments.
+.pg
+When a macro is invoked the \fIinput level\fR is \fIpushed down\fR and
+any arguments available at the previous level become unavailable
+until the macro is completely read and the previous level is restored.
+A macro's own arguments can be interpolated at \fIany\fR point
+within the macro with \A'e_$'\fB\e$\fIn\fR,
+\fB\e$(\fInn\fR, or \fB\e$[\fInnn\fB]\fR,
+which interpolates the \fIn\fRth, \fInn\fRth,
+or \fInnn\fRth argument, respectively.
+If an invoked argument doesn't exist,
+a null string results.
+For example, the macro \fIxx\fR may be defined by
+.x1
+.ft B
+.ta .75i
+&de xx \e"begin definition
+Today is \e\e$1 the \e\e$2.
+&. \e"end definition
+.ft R
+.x2
+and called by
+.x1
+.ft B
+&xx Monday 14th
+.ft R
+.x2
+to produce the text
+.x1
+.ft B
+Today is Monday the 14th.
+.ft R
+.x2
+Note that the \fB\e$\fR
+was concealed in the definition with a prepended \fB\e\fR.
+.pg
+The escape sequence \A'e_$*'\fB\e$\(**\fR interpolates all arguments to a macro,
+separated by spaces;
+\A'e_$@'\fB\e$@\fR interpolates all arguments,
+each one surrounded by double quotes, separated by spaces.
+The name of the current macro or string
+is available with the \A'e_$0'\fB\e$0\fR escape sequence.
+The number of currently available
+arguments is in the \A'n_.$'\fB.$\fR register.
+.pg
+No arguments are available at the top (non-macro) level
+or within a trap-invoked macro.
+.pg
+Arguments are copied in \T'copy mode'\fIcopy mode\fR\T onto a stack
+where they are available for reference.
+It is advisable to conceal string references (with an extra \fB\e\fR\|)
+to delay interpolation until argument reference time.
+.sc
+\A'c_diversion'Diversions.
+Processed output may be diverted into a macro for purposes
+such as footnote processing \T'T5'(see Tutorial \(scT5)\T
+or determining the horizontal and vertical size of some text for
+conditional changing of pages or columns.
+A single diversion trap may be set at a specified vertical position.
+The number registers \A'n_dn'\fBdn\fR and \A'n_dl'\fBdl\fR
+respectively contain the
+vertical and horizontal size of the most
+recently ended diversion.
+Processed text that is diverted into a macro
+retains the vertical size of each of its lines when reread
+in \fInofill\fR mode
+regardless of the current \fIV\fR.
+Constant-spaced (\T'cs'\fBcs\fR\T)
+or emboldened (\T'bd'\fBbd\fR\T) text that is diverted
+can be reread correctly only if these modes are again or still in effect
+at reread time.
+One way to do this is to imbed in the diversion the appropriate
+\T'cs'\fBcs\fR\T or \T'bd'\fBbd\fR requests\T
+with the \T'c_transparent'\fItransparent\fR
+mechanism described in \(sc10.6.\T
+.pg
+Diversions may be nested
+and certain parameters and registers
+are associated
+with the current diversion level
+(the top non-diversion level may be thought of as the
+0th diversion level).
+These are the diversion trap and associated macro,
+no-space mode,
+the internally-saved marked place (see \T'mk'\fBmk\fR\T and \T'rt'\fBrt\fR\T),
+the current vertical place (\A'n_.d'\fB.d\fR register),
+the current high-water text base-line \T'n_.h'(\fB.h\fR register)\T,
+and the current diversion name (\A'n_.z'\fB.z\fR register).
+The current diversion level is available
+in the \A'n_.dilev'\fB.dilev\fR register.
+.pg
+A previous partially filled line is included when a diversion begins.
+A partially filled line at the end of a diversion
+is not included but becomes part of the surrounding diversion level.
+With the \T'box'\fBbox\fR\T request,
+a previous partially filled line is not included.
+At the end of the diversion,
+this partially filled line is restored
+at the surrounding level,
+discarding any partially filled line
+from within the diversion.
+The behavior is otherwise the same as with a standard diversion.
+.sc
+\A'c_trap'Traps.
+Five types of trap mechanisms are available\(empage traps,
+output-line traps, a single diversion trap, multiple diversion traps,
+and an input-line-count trap.
+Macro-invocation traps may be planted using
+\T'wh'\fBwh\fR\T at any page position including the top.
+This trap position may be changed using \T'ch'\fBch\fR.\T
+Trap positions at or below the bottom of the page
+have no effect unless or until
+moved to within the page or rendered effective by an increase in page length.
+Two traps may be planted at the \fIsame\fR position only by first planting them at different
+positions and then moving one of the traps;
+the first planted trap will conceal the second unless and until the first one is moved
+\T'T5'(see Tutorial Examples \(scT5).\T
+If the first one is moved back, it again conceals the second trap.
+The macro associated with a page trap is automatically
+invoked when a line of text is output whose vertical size \fIreaches\fR
+or \fIsweeps past\fR the trap position.
+Reaching the bottom of a page springs the top-of-page trap, if any,
+provided there is a next page.
+The distance to the next trap position is available
+in the \A'n_.t'\fB.t\fR register;
+if there are no traps between the current position and the bottom of the page,
+the distance returned is the distance to the page bottom.
+.pg
+\A's_olt'An output-line trap is planted using
+the escape sequence \A'e_P'\fB\eP\fIx\fR,
+\fB\eP(\fIxx\fR, or \fB\eP[\fIxxx\fB]\fR.
+It is converted to an internal character code
+that becomes part of the current text.
+When the line containing it has been physically output,
+the macro \fIx\fR, \fIxx\fR, or \fIxxx\fR, respectively, is invoked.
+A line may contain more than one output-line trap;
+they are invoked in the order they appear.
+If a page trap becomes effective at the same point,
+it is invoked immediately after all output-line traps.
+Output-line traps are not invoked
+at the time they become part of a diversion.
+They can thus be used to determine e.g. the effective page number
+of the surrounding text,
+even when it had originally been diverted on another page.
+.pg
+A single macro-invocation trap effective in the current diversion
+may be planted using \T'dt'\fBdt\fR.\T
+If another \fBdt\fR follows in the same diversion,
+the trap position is changed.
+Multiple traps may be planted in the current diversion
+using \T'dwh'\fBdwh\fR\T and \T'dch'\fBdch\fR\T.
+The \fB.t\fR register works in a diversion; if there is no subsequent trap a \fIlarge\fR
+distance is returned.
+For a description of input-line-count traps, see \T'it'\fBit\fR below.\T
+.sc
+\A'c_recursion'Recursion.
+\*(TR macros can be invoked recursively.
+In general, return information and arguments for macro calls
+are stored as \fIframes\fR on a \fIstack\fR.
+Since the size of the stack is limited by available memory,
+recursive calls cannot descend to arbitrary depths.
+To avoid consumption of large amounts of memory in case of endless loops,
+the depth is deliberately restricted further;
+the \T'recursionlimit'\fBrecursionlimit\fR\T request
+allows to adjust that restriction.
+.pg
+A macro call can be \fItail-recursive\fR,
+that is, the re-invocation of the current macro
+can occur in its last statement.
+\*(TR can then replace the stack frame
+of the current macro instance
+with that of the following one,
+and the stack size remains constant.
+The depth of tail-recursive macro calls is thus principally unlimited,
+and is not artificially restricted by default.
+Since \*(TR cannot determine the control character
+at the time the macro is executed in advance,
+the recursive macro call must not only be the last statement of a macro,
+but must actually occur in the last line
+for tail-recursion elimination to become effective,
+although it may be prefixed by \T'if'\fB&if\fR\T or \T'el'\fB&el\fR\T
+or followed by \T'e_}'\fB\e}\fR\T.
+.sc
+\A'c_local_strings'Local strings.
+Strings, macros, and diversions are, once defined,
+normally accessible from any part of a \*(TR program.
+Local strings, defined with \fBlds\fR,
+are accessible only within the currently executing macro instance,
+and are not inherited to macros invoked from them.
+When the currently executing macro terminates,
+they are automatically deleted,
+and all associated storage is reclaimed.
+.xx
+As long as a local string named \fIxx\fR exists,
+any reference with \fB\e(\fIxx\fR or \fB\e[\fIxx\fB]\fR
+retrieves the value of the local string;
+the global string \fIxx\fR, if any, becomes inaccessible by this method.
+Calls to \fBas\fR, \fBsubstring\fR, \fBindex\fR, and \fBchop\fR
+modify the local string.
+\T'watch'\fBwatch\fR\T with the name of a local string as argument
+notifies on modifications of the local string.
+\fBrm\fR removes a local string and
+possibly makes a global string visible again,
+\fBrn\fR renames a local string to another local string,
+and \fBals\fR creates a local alias to a local string.
+.xx
+It is not allowed to define local macros or diversions.
+Calls to \fI&xx\fR or \fB\'\fIxx\fR reference a global macro or diversion
+even if a local string \fIxx\fR exists.
+\T'c_trap'Traps\T and the \T'e_Y'\fB\eY\fR\T escape sequence
+always operate on global macros or diversions.
+.h1
+.bta de
+\A'e_.'\fB&de\fI|xx|yy\fR \(en \fI.yy=\fB..\fR \(en Define or redefine the macro \fIxx\fR.
+The contents of the macro begin on the next input line.
+Input lines are copied in \T'copy mode'\fIcopy mode\fR\T
+until the definition is terminated by a
+line beginning with \fB.\fIyy\fR,
+whereupon the macro \fIyy\fR is called.
+In the absence of \fIyy\fR, the definition
+is terminated by a
+line beginning with "\fB..\fR".
+A macro may contain \fBde\fR requests
+provided the terminating macros differ
+or the contained definition terminator is concealed.
+\&"\fB..\fR" can be concealed as
+\fB\e\e..\fR which will copy as \fB\e..\fR and be reread as "\fB..\fR".
+.bta am
+\fB&am\fI|xx|yy\fR \(en \fI.yy=\fB..\fR \(en Append to macro (append version of \fBde\fR).
+.bta ds
+\fB&ds\fI|xx|string\fR \(en ignored \(en Define a string
+\fIxx\fR containing \fIstring\fR.
+Any initial double-quote in \fIstring\fR is stripped off to permit
+initial blanks.
+.bta as
+\fB&as\fI|xx|string\fR \(en ignored \(en Append
+\fIstring\fR to string \fIxx\fR
+(append version of \fBds\fR).
+.bta lds
+\fB&lds\fI|xx|string\fR \(en ignored \(en Define local string \fIxx\fR containing \fIstring\fR.
+Equivalent to \fBds\fR at the top non-macro level.
+.bta substring
+\fB&substring\fI|xx|N|\fR[\fIM\fR] \fIM\fR\(eq\|\(mi1 \(en Replace string \fIxx\fR by its substring between indices \fIN\fR and \fIM\fR.
+\fIN\fR and \fIM\fR start at 0.
+Negative values are interpreted relative to the end
+of the string;
+\(mi1 implies the last character of the string.
+.bta length
+\fB&length\fI|R|string\fR \fIR\fR|set|to|0 \(en Store the length of \fIstring\fR in register \fIR\fR.
+\fIstring\fR is read in \T'copy mode'\fIcopy mode.\fR\T
+.bta index
+\fB&index\fI|R|xx|string\fR ignored \(en Store the position of the first
+occurence of \fIstring\fR in \fIxx\fR in register \fIR\fR.
+Positions are counted from 0.
+If no occurence is found, \fIR\fR is set to \-1.
+\fIstring\fR is read in \T'copy mode'\fIcopy mode.\fR\T
+.bta chop
+\fB&chop\fI|xx\fR \(en ignored \(en Remove the last character of the macro, string, or diversion \fIxx\fR.
+.bta rm
+\fB&rm\fI|xx\fR \(en ignored \(en Remove
+request, macro, or string.
+The name \fIxx\fR is removed from the name list and
+any related storage space is freed.
+Subsequent references will have no effect.
+If many macros and strings are being created dynamically, it
+may become necessary to remove unused ones
+to recapture internal storage space for newer registers.
+If a macro is removed while it is in use,
+associated storage is not released,
+and a \T's_warning'warning of the \fBmac\fR category\T is emitted.
+.xx
+\fBrm\fR may have an unlimited number of arguments.
+However for creating portable documents only one argument to
+\fBrm\fR should be used.
+.bta rn
+\fB&rn\fI|xx|yy\fR \(en ignored \(en Rename request, macro, or string
+\fIxx\fR to \fIyy\fR.
+If \fIyy\fR exists, it is first removed.
+.bta di
+\fB&di|\fIxx\fR \(en end D Divert output to macro \fIxx\fR.
+Normal text processing occurs during diversion
+except that page offsetting is not done.
+The diversion ends when the request \fBdi\fR or \fBda\fR is encountered without an argument;
+extraneous
+requests of this type should not appear when nested diversions are being used.
+.bta da
+\fB&da|\fIxx\fR \(en end D Divert, appending to \fIxx\fR
+(append version of \fBdi\fR).
+.bta box
+\fB&box\fI|xx\fR \(en end D Divert output to macro \fIxx\fR, excluding a partially filled line.
+.bta boxa
+\fB&boxa\fI|xx\fR \(en end D Divert and append to \fIxx\fR, excluding a partially filled line.
+.bta unformat
+\fB&unformat\fI|xx\fR \(en ignored \(en Strip line break information from diversion \fIxx\fR.
+All breaks that do not result
+in explicit vertical movement are discarded,
+interword spaces that had been converted
+to horizontal movements during adjustment
+become space characters again,
+the effects of tabulators and field characters are reverted,
+and hyphenated word parts are combined again.
+.bta asciify
+\fB&asciify\fI|xx\fR \(en ignored \(en All characters in diversion \fIxx\fR changed to plain text.
+Has all effects described for \fBunformat\fR
+and additionally discards font and point size information
+and splits substituted ligatures to their individual characters.
+.bta wh
+\fB&wh\fI|N|xx\fR \(en \(en \fBv\fR Install
+a trap to invoke \fIxx\fR at page position \fIN;\fR
+a \fInegative N\fR will be interpreted with respect to the
+page \fIbottom\fR.
+Any macro previously planted at \fIN\fR is replaced by \fIxx\fR.
+A zero \fIN\fR refers to the \fItop\fR of a page.
+In the absence of \fIxx\fR, the first found trap at \fIN\fR, if any, is removed.
+.bta ch
+\fB&ch\fI|xx|N\fR \(en \(en \fBv\fR Change
+the trap position for macro \fIxx\fR to be \fIN\fR.
+In the absence of \fIN\fR, the trap, if any, is removed.
+.bta dwh
+\fB&dwh\fI|N|xx\fR \(en \(en D,\fBv\fR Set location trap in current diversion.
+Diversion traps planted with \fBdt\fR are not affected;
+if both a \fBdwh\fR and a \fBdt\fR trap are set at the same position,
+both are effective.
+A \fBdwh\fR trap previously set at the same position is replaced.
+At the top non-diversion level,
+it is equivalent to \fBwh\fR.
+Otherwise with a negative or zero \fIN\fR,
+the trap will never be invoked
+since a diversion has no bottom
+and can never reach its top again.
+.bta dch
+\fB&dch\fI|xx|N\fR \(en \(en D,\fBv\fR Change trap location in current diversion;
+equivalent to \fBch\fR at the top non-diversion level.
+.bta dt
+\fB&dt\fI|N|xx\fR \(en off D,\fBv\fR Install a diversion trap
+at position \fIN\fR in the \fIcurrent\fR diversion to invoke
+macro \fIxx\fR.
+Another \fBdt\fR will redefine the diversion trap.
+If no arguments are given, the diversion trap is removed.
+.bta vpt
+\fB&vpt\fI|N\fR 1 ignored \(en Enable (\fIN\fR\(!=0) or disable (\fIN\fR\(eq0)
+page ejections and vertical position traps,
+i.e. those set with \fBwh\fR or \fBdt\fR.
+At end of input, the page is forcefully ejected.
+The number register \A'n_.vpt'\fB.vpt\fR
+holds the current setting.
+.bta it
+\fB&it\fI|N|xx\fR \(en off E Set an input-line-count trap
+to invoke the macro \fIxx\fR after \fIN\fR lines of \fItext\fR input
+have been read
+(control or request lines don't count).
+The text may be in-line text or
+text interpolated by inline or trap-invoked macros.
+.bta itc
+\fB&itc\fI|N|xx\fR \(en off E Set an input-line-count trap
+like \fBit\fR, but ignore \T'c_intr'line interruptions\T with \T'e_c'\fB\ec\fR\T
+when counting lines.
+.bta return
+\fB&return\fR \(en \(en \(en Immediately return from the current macro to the level above.
+.bta shift
+\fB&shift\fI|N\fR \(en 1 \(en Shift the arguments to the current macro
+by \fIN\fR.
+.bta als
+\fB&als\fI|yy|xx\fR \(en \(en \(en \fIyy\fR is created as an alias for
+the request, macro, or string \fIxx\fR.
+The alias name is in every respect identical to the original name.
+If \fIxx\fR is removed or renamed,
+\fIyy\fR continues to refer to the object
+at the time the alias had been created
+(and vice-versa).
+If either \fIxx\fR or \fIyy\fR are redefined,
+both refer to the new definition.
+.bta blm
+\fB&blm\fI|xx\fR none none \(en Whenever a blank line is encountered,
+the macro \fIxx\fR is invoked
+instead of the \T'blank'default behavior to output a blank line.\T
+.bta em
+\fB&em\fI|xx\fR none none \(en The
+macro \fIxx\fR will be invoked
+when all input has ended.
+The effect is the same as if the contents of \fIxx\fR had been at the end
+of the last file processed,
+but all processing ceases at the next page eject.
+.bta recursionlimit
+\fB&recursionlimit\fI|N|M\fR \(en \(en Set
+the maximum stack depth for generally recursive invocations
+of macros to \fIN\fR,
+and for invocations of tail-recursive macros to \fIM\fR.
+If \fIN\fR or \fIM\fR are zero, the respective depth is unlimited.
+The default is 512 for the general case,
+and no limit for tail-recursion.
+.mha s_reg
+Number Registers
+.pg
+A variety of parameters are available to the user as
+predefined, named \fInumber registers\fR (see Summary and Index, page 7).
+In addition, the user may define his own named registers.
+Register names are one or two characters long and \fIdo not\fR conflict
+with request, macro, or string names.
+Except for certain predefined read-only registers,
+a number register can be read, written, automatically
+incremented or decremented, and interpolated
+into the input in a variety of formats.
+One common use of user-defined registers is to
+automatically number sections, paragraphs, lines, etc.
+A number register may be used any time numerical input is expected or desired
+and may be used in \T'c_expr'numerical \fIexpressions\fR (\(sc1.4).\T
+.pg
+Number registers are created and modified using \T'nr'\fBnr\fR\T, which
+specifies the name, numerical value, and the auto-increment size.
+Registers are also modified, if accessed
+with an auto-incrementing sequence.
+If the registers \fIx\fR and \fIxx\fR both contain
+\fIN\fR and have the auto-increment size \fIM\fR,
+\A'e_n'the following access sequences have the effect shown:
+.TS
+center box;
+c2|c2|c
+c2|c2|c2
+l2|c2|c2
+l2|c2|c2
+l2|l2|c2.
+ Effect on Value
+Sequence Register Interpolated
+_
+\fB\en\fIx\fR none \fIN\fR
+\fB\en(\fIxx\fR none \fIN\fR
+\fB\en[\fIxxx\fB]\fR none \fIN\fR
+\fB\en+\fIx\fR \fIx\fR incremented by \fIM\fR \fIN+M\fR
+\fB\en\-\fIx\fR \fIx\fR decremented by \fIM\fR \fIN\-M\fR
+\fB\en+(\fIxx\fR \fIxx\fR incremented by \fIM\fR \fIN+M\fR
+\fB\en\-(\fIxx\fR \fIxx\fR decremented by \fIM\fR \fIN\-M\fR
+\fB\en+[\fIxxx\fB]\fR \fIxxx\fR incremented by \fIM\fR \fIN+M\fR
+\fB\en\-[\fIxxx\fB]\fR \fIxxx\fR decremented by \fIM\fR \fIN\-M\fR
+.TE
+Floating-point registers can be created and modified using \fBnrf\fR.
+They share a common name space with integer registers;
+a \fBnr\fR request turns a floating-point register into
+an integer register.
+Access and auto-increment are as with integer registers.
+.xx
+When interpolated, a number register is converted to
+decimal (default),
+decimal with leading zeros,
+lower-case Roman,
+upper-case Roman,
+lower-case sequential alphabetic,
+or
+upper-case sequential alphabetic
+according to the format specified by \T'af'\fBaf\fR\T.
+.xx
+Local number registers can be created and modified
+using \fBlnr\fR and \fBlnrf\fR.
+Like \T'c_local_strings'local strings,\T
+local registers are accessible only
+within the currently executing macro instance,
+are not inherited to macros invoked from them,
+and are deleted when the current macro returns.
+.xx
+The existence of a local number register \fIxx\fR
+makes the global number register \fIxx\fR, if any, completely inaccessible.
+The sequences
+\fB\en(\fIxx\fR and \fB\en[\fIxx\fB]\fR
+retrieve the value of the local register,
+\fB\eR\fI'xx\|...'\fR,
+\fB\en+(\fIxx\fR and \fB\en+[\fIxx\fB]\fR (and likewise) modify it,
+and \fB\eg(\fIxx\fR and \fB\eg[\fIxx\fB]\fR retrieve its format.
+Subsequent calls to \fBnr\fR, \fBnrf\fR, \fBaf\fR,
+\T'length'\fBlength\fR\T, and \T'index'\fBindex\fR\T
+with \fIxx\fR as argument modify the local register.
+\T'watchn'\fBwatchn\fR\T notifies on modifications of the local register.
+\fBrr\fR removes a local register and
+possibly makes a global register visible again,
+\fBrnn\fR renames a local register to another local register,
+and \fBaln\fR creates a local alias to a local register.
+.h1
+.bta nr
+\fB&nr\fI|R|\(+-N|M\fR \(en \fBu\fR \
+The number register \fIR\fR is assigned the value \fI\(+-N\fR
+with respect to the previous value, if any.
+The increment for auto-incrementing is set to \fIM\fR.
+An alternate syntax is available
+with the \A'e_R'\fB\eR\fI\'R\ \(+-N\'\fR escape sequence.
+.bta nrf
+\fB&nrf\fI|R|\(+-F|G\fR \(en \fBu\fR \
+The floating-point register \fIR\fR is assigned the value \fI\(+-F\fR
+with respect to the previous value, if any.
+Comparison computations in the expression \fIF\fR
+are performed using floating-point values.
+The increment for auto-incrementing,
+which also is a floating-point value,
+is set to \fIG\fR.
+.bta lnr
+\fB&lnr\fI|R|\(+-N|M\fR \(en \fBu\fR Define and set local number register \fIR\fR.
+.bta lnrf
+\fB&lnrf\fI|R|\(+-F|G\fR \(en \fBu\fR Define and set local floating-point register \fIR\fR.
+.bta af
+\fB&af\fI|R|c\fR arabic \(en \(en Assign format \fIc\fR to register \fIR\fR.
+The available formats are:
+.TS
+center box;
+c2|c
+c2|c
+c2|l.
+ Numbering
+Format Sequence
+_
+\fB1\fR 0,1,2,3,4,5,...
+\fB001\fR 000,001,002,003,004,005,...
+\fBi\fR 0,i,ii,iii,iv,v,...
+\fBI\fR 0,I,II,III,IV,V,...
+\fBa\fR 0,a,b,c,...,z,aa,ab,...,zz,aaa,...
+\fBA\fR 0,A,B,C,...,Z,AA,AB,...,ZZ,AAA,...
+.TE
+An arabic format having \fIN\fR digits
+specifies a field width of \fIN\fR digits (example 2 above).
+The read-only registers, \T'c_width'the \fIwidth\fR function (\(sc11.2)\T,
+and floating-point registers
+are always arabic.
+Warning: the value of a number register in a non-Arabic format
+is not numeric, and will not produce the expected results
+in \T'c_expr'expressions\T.
+.xx
+The function \A'e_g'\fB\eg\fIx\fR, \fB\eg(\fIxx\fR, or \fB\eg[\fIxxx\fB]\fR
+returns the format of a number register in a form suitable for \fBaf\fR;
+it returns nothing if the register has not been used.
+.xx
+.bta rr
+\fB&rr\fI|R\fR \(en ignored \(en Remove register \fIR\fR.
+If many registers are being created dynamically, it
+may become necessary to remove no longer used registers
+to recapture internal storage space for newer registers.
+The register \fB.R\fR contains the number
+of number registers still available.
+.xx
+\fBrr\fR may have an unlimited number of arguments.
+However for creating portable documents only one argument to
+\fBrr\fR should be used.
+.bta rnn
+\fB&rnn\fI|R|S\fR \(en \(en \(en Rename register \fIR\fR to \fIS\fR.
+If \fIS\fR exists, it is first removed.
+.bta aln
+\fB&aln\fI|S|R\fR \(en \(en \(en Register \fIS\fR is created as an alias for \fIR\fR.
+The alias name is in every respect identical to the original name.
+If \fIR\fR is removed or renamed,
+\fIS\fR continues to refer to the register
+at the time the alias had been created
+(and vice-versa).
+A change in value or format in \fIR\fR
+affects \fIS\fR and vice-versa.
+.\" from file m3
+.tr |
+.rm mx
+.mha s_tabs
+Tabs, Leaders, and Fields
+.sc
+Tabs and leaders.
+The \s-1ASCII\s+1 horizontal tab character and the \s-1ASCII\s+1
+\s-1SOH\s+1 (hereafter known as the \fIleader\fR character)
+can both be used to generate either horizontal motion or
+a string of repeated characters.
+The length of the generated entity is governed
+by internal \fItab stops\fR specifiable
+with \T'ta'\fBta\fR\T.
+The default difference is that tabs generate motion and leaders generate
+a string of periods;
+\T'tc'\fBtc\fR\T and \T'lc'\fBlc\fR\T
+offer the choice of repeated character or motion.
+There are three types of internal tab stops\(em\
+\fIleft\fR adjusting, \fIright\fR adjusting,
+and \fIcentering\fR.
+In the following table,
+\fID\fR is the distance from the current position on the \fIinput\fR line
+(where a tab or leader was found)
+to the next tab stop,
+\fInext-string\fR consists
+of the input characters following the tab (or leader) up to the next tab (or leader) or end of line,
+and
+\fIW\fR is the width of \fInext-string\fR.
+.TS
+center box;
+c2|c2|c
+c2|c2|c
+c2|c2|l.
+Tab Length of motion or Location of
+type repeated characters \fInext-string\fR
+_
+Left \fID\fR Following \fID\fR
+Right \fID\-W\fR Right adjusted within \fID\fR
+Centered \fID\-W/\fR2 Centered on right end of \fID\fR
+.TE
+The length of generated motion is allowed to be negative, but
+that of a repeated character string cannot be.
+Repeated character strings contain an integer number of characters, and
+any residual distance is prepended as motion.
+Tabs or leaders found after the last tab stop are ignored, but may be used
+as \fInext-string\fR terminators.
+.pg
+Tabs and leaders are not interpreted in \T'copy mode'\fIcopy mode\fR.\T
+\A'e_t'\fB\et\fR and \A'e_a'\fB\ea\fR always generate a non-interpreted
+tab and leader respectively, and
+are equivalent to actual tabs and leaders in \T'copy mode'\fIcopy mode\fR.\T
+.sc
+Fields.
+A \fIfield\fR is contained between
+a \fIpair\fR of \fIfield delimiter\fR characters,
+and consists of sub-strings
+separated by \fIpadding\fR indicator characters.
+The field length is the distance on the
+\fIinput\fR line from the position where the field begins to the next tab stop.
+The difference between the total length of all the sub-strings
+and the field length is incorporated as horizontal
+padding space that is divided among the indicated
+padding places.
+The incorporated padding is allowed to be negative.
+For example,
+if the field delimiter is \fB#\fR and the padding indicator is \fB^\fR,
+\fB#^\fIxxx\fB^\fIright\|\fB#\fR
+specifies a right-adjusted string with the string \fIxxx\fR centered
+in the remaining space.
+.h1
+.bta ta
+\fB&ta\fI|Nt|...\fR 8\|n;|0.5\|i none E,\fBm\fR \
+Set tab stops and types.
+\fIt=\fBR\fR, right adjusting;
+\fIt=\fBC\fR, centering;
+\fIt\fR absent, left adjusting.
+\*(TR tab stops are preset every 0.5in.;
+\*(NR every 0.8in.
+The stop values are separated by spaces, and
+a value preceded by \fB+\fR
+is treated as an increment to the previous stop value.
+The \A'n_.S'\fB&S\fR register*
+and the \A'n_.tabs'\fB&tabs\fR register
+hold a string with the current tab stops
+in a form that is acceptable for the \fBta\fR request;
+it can thus be used to save and restore tab stops.
+.fn
+.sp .3
+\(**\|Register \fB&S\fR is available for compatibility with DWB.
+.ef
+.bt
+\fB&ta\fI|Mv|...|Nw|\fBT\fI|At|...|Zu\fRa \fIN\fR=0 E,\fBm\fR\
+ Set repeated tab stops and types at \fIMv\fR, ..., \fINw\fR,
+\fIN\fR|+|\fIAt\fR, ..., \fIN\fR|+|\fIZu\fR,
+\fIN\fR|+|\fIZ\fR|+|\fIAt\fR, ..., \fIN\fR|+|\fIZ\fR|+|\fIZu\fR,
+\fIN\fR|+|2·\fIZ\fR|+|\fIAt\fR, ..., \fIN\fR|+|2·\fIZ\fR|+|\fIZu\fR,
+\fIN\fR|+|3·\fIZ\fR|+|\fIAt\fR, ..., \fIN\fR|+|3·\fIZ\fR|+|\fIZu\fR,
+&..\ .
+Thus \fB&ta|T|0.5i\fR sets tab stops every 0.5in,
+and \fB&ta|1i|4i|T|.25i|1i\fR sets tab stops
+at 1in, 4in, 4.25in, 5in, 5.25in, 6in, 6.25in, etc.
+.bta tc
+\fB&tc\fI|c\fR none none E \
+The tab repetition character becomes \fIc\fR,
+or is removed specifying motion.
+.bta lc
+\fB&lc\fI|c\fR \fB.\fR none E \
+The leader repetition character becomes \fIc\fR,
+or is removed specifying motion.
+.bta fc
+\fB&fc\fI|a|b\fR off off \(en \
+The field delimiter is set to \fIa\fR;
+the padding indicator is set to the \fIspace\fR character or to
+\fIb\fR, if given.
+In the absence of arguments the field mechanism is turned off.
+.mha s_trans
+Input and Output Conventions and Character Translations
+.sc
+Input character translations.
+Ways of inputting the graphic character set were
+discussed in \T'c_char'\(sc2.1.\T
+The \s-1ASCII\s+1 control characters
+\T's_tabs'horizontal tab (\(sc9.1),\T
+\T's_tabs'\s-1SOH\s+1 (\(sc9.1),\T
+and \T'c_backspace'e_backspace (\(sc10.3)\T are discussed elsewhere.
+The newline delimits input lines.
+In addition,
+\s-1STX\s+1, \s-1ETX\s+1, \s-1ENQ\s+1, \s-1ACK\s+1, and \s-1BEL\s+1
+are accepted,
+and may be used as delimiters or translated into a graphic
+with \T'tr'\fBtr\fR\T \T'c_trans'(\(sc10.5).\T
+\fIAll\fR others are ignored.
+.pg
+The \fIescape\fR character \fB\e\fR
+introduces \fIescape sequences\fR\(em\
+causes the following character to mean
+another character, or to indicate
+some function.
+A complete list of such sequences is given in the Summary.
+\fB\e\fR
+should not be confused with the \s-1ASCII\s+1 control character \s-1ESC\s+1 of the
+same name.
+The escape character \fB\e\fR can be output by using the special character
+\A'e_esc'\fB\e(rs\fR.
+The escape character can be changed with \T'ec'\fBec\fR,\T
+and all that has been said about the default \fB\e\fR becomes true
+for the new escape character.
+\A'e_e'\fB\ee\fR can be used to print whatever the current escape character is;
+this escape sequence is interpreted in \T'copy mode'\fIcopy mode\fR.\T
+\A'e_E'\fB\eE\fR evaluates to the current escape character
+but is not interpreted in \T'copy mode'\fIcopy mode\fR;\T
+if it is put into a string or macro,
+it will introduce an escape sequence
+once the string is printed or the macro is executed, respectively.
+\T'ecs'\fBecs\fR\T and \T'ecr'\fBecr\fR\T
+save and restore the escape character.
+If necessary or convenient, the escape mechanism
+may be turned off with \T'eo'\fBeo\fR\T,
+and restored with \T'ec'\fBec\fR\T.
+.h1
+.bta ec
+\fB&ec\fI|c\fR \fB\e\fR \fB\e\fR \(en \
+Set escape character to \fB\e\fR, or to \fIc\fR, if given.
+.bta eo
+\fB&eo\fR on \(en \(en Turn escape mechanism off.
+.bta ecs
+\fB&ecs\fR \e \(en \(en Save escape character.
+.bta ecr
+\fB&ecr\fR \e \(en \(en Restore saved escape character.
+.bta escoff
+\fB&escoff \fIesc ...\fR on ignored \(en Disable escapes \fIesc\
+ \&...\|\fR.
+For example the request \fB&escoff ; @\fR would disable escapes
+\fB\e;\fR, \fB\e@{\fR, and \fB\e@}\fR.
+The request had been added as a workaround for manual pages which by mistake
+escape normal charaters.
+At the moment only one-character arguments are valid.
+This may change in future versions.
+.bta escon
+\fB&escon \fIesc ...\fR on ignored \(en Enable escapes \fIesc\
+ \&...\|\fR.
+.sc
+Ligatures.
+.lg 0
+The set of available ligatures is device and font dependent,
+but is often a subset of
+\fB\(fi\fR, \fB\(fl\fR, \fB\(ff\fR, \fB\(Fi\fR, and \fB\(Fl\fR.
+They may be input (even in \*(NR) by
+\fB\e(fi\fR, \fB\e(fl\fR, \fB\e(ff\fR, \fB\e(Fi\fR, and \fB\e(Fl\fR respectively.
+In \*[TR,] the \T'flig'\fBflig\fR\T request specifies the set of ligatures
+available with an individual font.
+.lg
+The ligature mode is normally on in \*[TR,] and \fIautomatically\fR invokes
+ligatures during input.
+At most the five named ligatures are enabled by default.
+.pg
+The ligature suppressor \A'e_;'\fB\e;\fR
+disables automatic ligature building
+if it is placed between two characters,
+but has no other effects.
+Many other escape sequences,
+.tr &&
+e.g. \T'e_&'\fB\e&\fR\T, \T'e_%'\fB\e%\fR\T,
+also disable automatic ligature building.
+.h1
+.tr &.
+.bta lg
+\fB&lg\fI|N\fR off;|on on \(en Ligature mode
+is turned on if \fIN\fR is absent or non-zero,
+and turned off if \fIN\(eq\^\fR0.
+If \fIN\fR\(eq\^2, only the two-character ligatures are automatically invoked.
+Ligature mode is inhibited for
+request, macro, string, register, or file names,
+and in \T'copy mode'\fIcopy mode\fR.\T
+No effect in \*[NR.]
+.bta flig
+.lg 0
+\fB&flig\fI|F|string|c|...\fR ignored T De\(fine the set of
+ligatures to be used with font \fIF\fR.
+.lg
+\fIstring\fR may consist of up to four characters;
+its exact occurences are substituted by the character \fIc\fR
+whenever the current font is \fIF\fR.
+If \fIstring\fR starts with a minus sign,
+ligature subtitution for it is disabled;
+the \fIc\fR argument must not be present in this case.
+It is required that any substring of \fIstring\fR
+that consists of two or more characters
+is also defined as a ligature.
+Multiple \fIstring/c\fR pairs may be given.
+.lg 0
+As a special case,
+\fB&flig \fIF\fB 0\fR disables all ligatures for font \fIF\fR.
+.lg
+The default set of ligatures is specific
+to a font and is determined from its metrics file.
+.xx
+.lg 0
+As examples,
+\fB&flig R Th \e[T_h]\fR
+.lg
+enables a ligature for ``Th'' in font \fBR\fR,
+and
+\fB&flig R \-Th\fR
+disables it.
+.bta fdeferlig
+\fB&fdeferlig\fI|F|string|...\fR ignored T Defer ligature building for the first character of \fIstring\fR.
+Normally when a sequence of three characters appears
+for which both the first and the last two characters
+are defined as a ligature,
+the ligature is built using the first two characters.
+For example, if ``f\;f\;i'' appears in input
+and both ``f\;f'' and ``f\;i'' are defined as ligatures,
+the ``f\;f'' ligature is built, followed by a single ``i'' character.
+Use of this request causes the ligature to be built
+using the second two characters,
+so in the example, \fB&fdeferlig R f\;f\;i\fR would result
+in a single ``f'' character followed by a ``f\;i'' ligature.
+.sc
+\A'c_backspace'Backspacing, underlining, overstriking, etc.
+Unless in \T'copy mode'\fIcopy mode\fR,\T
+the \s-1ASCII\s+1 backspace character is replaced
+by a backward horizontal motion having the width of the
+space character.
+Underlining as a form of line-drawing
+is discussed \T'c_line'in \(sc12.4.\T
+A generalized overstriking function is described
+\T'c_overstrike'in \(sc12.1.\T
+.pg
+\A'c_nrofful'\*(NR automatically underlines
+characters in the \fIunderline\fR font,
+specifiable with \T'uf'\fBuf\fR\T,
+normally that on font position 2
+(normally Times Italic, \T'c_fonts'see \(sc2.2).\T
+In addition to \T'ft'\fBft\fR\T and \T'e_f'\fB\ef\fIF\fR,\T
+the underline font may be selected by \T'ul'\fBul\fR\T and \T'cu'\fBcu\fR\T.
+Underlining is restricted to an output-device-dependent
+subset of \fIreasonable\fR characters.
+.h1
+.bta ul
+\fB&ul\fI|N\fR off \fIN\(eq\fR1 E \
+Underline in \*(NR (italicize in \*(TR) the next \fIN\fR
+input text lines.
+Actually, switch to \fIunderline\fR font, saving the
+current font for later restoration;
+\fIother\fR font changes within the span of a \fBul\fR
+will take effect,
+but the restoration will undo the last change.
+Output generated by \T'tl'\fBtl\fR\T \T's_titles'(\(sc14)\T
+\fIis\fR affected by the
+font change, but does \fInot\fR decrement \fIN\fR.
+If \fIN\fR\^>\^1, there is the risk that
+a trap interpolated macro may provide text
+lines within the span;
+environment switching can prevent this.
+.bta cu
+\fB&cu\fI|N\fR off \fIN\(eq\fR1 E \
+Continuous underline.
+A variant of \fBul\fR that causes \fIevery\fR character to be underlined in \*[NR.]
+Identical to \fBul\fR in \*[TR.]
+.bta uf
+\fB&uf\fI|F\fR Italic Italic \(en \
+Underline font set to \fIF\fR.
+In \*[NR,]
+\fIF\fR may \fInot\fR be on position 1.
+.sc
+Control characters.
+Both the control character \fB.\fR and the \fIno-break\fR
+control character \fB\'\fR may be changed, if desired.
+Such a change must be compatible with the design
+of any macros used in the span of the change,
+and
+particularly of any trap-invoked macros.
+.h1
+.bta cc
+\fB&cc\fI|c\fR \fB.\fR \fB.\fR E \
+The basic control character is set to \fIc\fR,
+or reset to "\fB.\fR".
+.bta c2
+\fB&c2\fI|c\fR \fB\' \'\fR E The \fInobreak\fR control character is set
+to \fIc\fR, or reset to "\fB\'\fR".
+.sc
+\A'c_trans'Output translation.
+One character can be made a stand-in for another character using \T'tr'\fBtr\fR.\T
+All text processing (e.g. character comparisons) takes place
+with the input (stand-in) character which appears to have the width of the final
+character.
+The graphic translation occurs at the moment of output
+(including \T'c_diversion'diversion\T).
+Text in a diversion is not translated again
+when it is output or rediverted
+unless the \T'asciify'\fBasciify\fR\T request
+had been applied on it.
+.xx
+A character can be substituted
+by an arbitrary sequence of characters,
+motions, drawing commands, etc. by
+means of the \T'char'\fBchar\fR\T request.
+.h1
+.bta tr
+\fB&tr\fI|abcd....\fR none \(en O Translate \
+\fIa\fR into \fIb\fR, \fIc\fR into \fId\fR, etc.
+If an odd number of characters is given,
+the last one will be mapped into the space character.
+To be consistent, a particular translation
+must stay in effect from \fIinput\fR to \fIoutput\fR time.
+.bta trin
+\fB&trin\fI|abcd....\fR none \(en O Translate \
+\fIa\fR into \fIb\fR, \fIc\fR into \fId\fR, etc. as with \fBtr\fR,
+but when the \T'asciify'\fBasciify\fR request\T is called,
+retranslate \fIb\fR to \fIa\fR, \fId\fR to \fIc\fR, etc. in
+the diversion it is applied to.
+.bta trnt
+\fB&trnt\fI|abcd....\fR none \(en O Translate \
+\fIa\fR into \fIb\fR, \fIc\fR into \fId\fR, etc. as with \fBtr\fR,
+unless the output is written to a diversion in
+\T'c_transparent'transparent mode\T.
+.bta ftr
+\fB&ftr\fI|F|abcd....\fR none \(en P,T Font-specific \fBtr\fR.
+If the current character originates from font \fIF\fR,
+translate character \fIa\fR into \fIb\fR, \fIc\fR into \fId\fR, etc.
+.bta char
+\fB&char\fI|c|string\fR ignored \(en Define character \fIc\fR to \fIstring\fR.
+\fIstring\fR is read in \T'copy mode'\fIcopy mode\fR\T
+when the request is processed.
+.xx
+Whenever \fIc\fR occurs in regular (not copy mode) later,
+a temporary copy of the current environment is created,
+the escape character is temporarily set to \e,
+and \fIstring\fR is output in nofill mode to an unnamed diversion.
+If \fIc\fR itself occurs in \fIstring\fR,
+no recursive substitution takes place,
+but the plain character \fIc\fR is selected instead.
+The resulting object continues to behave like the single character \fIc\fR
+in the data stream,
+notionally retaining its font and character size properties.
+It can thus be part of a \T'c_kerning'kerning definition\T,
+can be hyphenated (possibly requiring an explicit
+hyphenation code to be assigned using the \T'hcode'\fBhcode\fR\T request),
+can become the \T's_tabs'tab or leader character\T,
+and can be used for \T'c_line'line drawing\T.
+.xx
+Static letter space adjustments defined with
+the \T'track'\fBtrack\fR\T request
+are applied to each but the last character inside the diversion,
+and to the object as a whole.
+Dynamic letter space adjustments defined with
+the \T'letadj'\fBletadj\fR\T request
+are only applied to the object as a whole.
+No letter reshaping is performed on either the object
+or the contents of the diversion.
+.xx
+If both \fBtr\fR and \fBchar\fR are defined for a character \fIc\fR,
+\fBtr\fR becomes effective first and
+changes \fIc\fR to the translation defined,
+but if \fIc\fR is the result of \fBtr\fR
+and \fBchar\fR is defined for it,
+\fBchar\fR is applied.
+\fBftr\fR has no effect on characters for which \fBchar\fR is defined.
+Both \fBtr\fR and \fBftr\fR are applied to characters
+inside the \fBchar\fR diversion as usual.
+.xx
+At the time \fIc\fR would have been output,
+the contents of the diversion are printed instead of it.
+.bta fchar
+\fB&fchar\fI|c|string\fR ignored T Define character \fIc\fR to
+\fIstring\fR as a fallback only:
+If \fIc\fR is present in the current font, output \fIc\fR,
+otherwise, output \fIstring\fR as with \fBchar\fR.
+.bta rchar
+\fB&rchar\fI|c...\fR ignored \(en Remove character definitions
+for \fIc...\fR;
+applies to both \fBchar\fR and \fBfchar\fR.
+.bta utf8conv
+\fB&utf8conv\fI|c1|c2\fR ignored \(en \*(NR only:
+With \fB\-Tlocale\fR and a \*[UTF] locale, "\fB-\fR" is replaced
+by a \*[UTF] hyphen, and "\fB\e-\fR" remains the ASCII
+hyphen-minus character. This is because in manual
+pages, "\fB\e\N'45'\fR" represents the ASCII option
+introduction character, and converting it to a
+\*[UTF] minus character would make it impossible
+to copy-and-paste option descriptions.
+Similar considerations apply to \` \(aq vs. \e\` \e\(aq.
+The former are typographic single quotes, while
+the latter are commonly used for the ASCII syntax
+quotes in manual pages.
+.xx
+By use of \fButf8conv\fR the three default translations
+can be redefined and additional translations can be done.
+If \fIc2\fR is missing a translation is removed.
+This is applied for manual pages where the no translation
+is used.
+.sc
+\A'c_transparent'Transparent throughput.
+An input line beginning with a \A'e_!'\fB\e!\fR
+is read in \T'copy mode'\fIcopy mode\fR\T and \fItransparently\fR output
+(without the initial \fB\e!\fR);
+the text processor is otherwise unaware of the line's presence.
+This mechanism may be used to pass control information to a post-processor
+or to imbed control lines in a macro created by a \T'c_diversion'diversion\T.
+.h1
+.bta output
+\fB&output\fI|string\fR ignored \(en Write \fIstring\fR directly to
+intermediate output,
+regardless of whether there is a \T'c_diversion'current diversion\T or not.
+\fIstring\fR is read in copy mode,
+and an initial double-quote is discarded.
+.sc
+Transparent output.
+The sequence \A'e_X'\fB\eX\fI\'anything\'\fR copies \fIanything\fR
+to the \*(TR output,
+as a device control function in the form \fBx\ X\ \fIanything\fR
+\T's_output'(\(sc26).\T
+Escape sequences in \fIanything\fR are processed.
+The sequence \A'e_Y'\fB\eY\fIx\fR,
+\fB\eY(\fIxx\fR, or
+\fB\eY[\fIxxx\fB]\fR
+copies the contents of the string or macro
+\fIx\fR, \fIxx\fR, or \fIxxx,\fR, respectively,
+to the output as a device control function
+without processing escape sequences.
+Newlines in the macro are embedded in the output.
+\*(NR discards transparent output sequences and their contents.
+.sc
+Comments and concealed newlines.
+An uncomfortably long input line that must stay
+one line (e.g. a string definition, or nofilled text)
+can be split into many physical lines by ending all but
+the last one with the escape \fB\e\fR.
+The sequence \A'e_newline'\fB\e\fR(newline) is \fIalways\fR ignored\(em\
+except in a comment.
+Comments may be imbedded at the \fIend\fR of any line by
+prefacing them with \A'e_"'\fB\e"\fR.
+This form does not conceal the newline at the end of the comment.
+A line beginning with \fB\e"\fR will appear as a blank line and
+behave like \fB.sp|1\fR;
+a comment can be on a line by itself by beginning the line with \fB.\e"\fR.
+The form \A'e_#'\fB\e#\fR includes the newline
+as part of the comment.
+It thus effectively acts like a concealed newline
+in concatenating the following line immediately to the current line.
+.mha s_mot
+Local Horizontal and Vertical Motions, and the Width Function
+.sc
+\A'n_.H'\A'n_.V'Local Motions.
+The functions \A'e_v'\fB\ev\'\fIN\fB\'\fR and
+\A'e_h'\fB\eh\'\fIN\fB\'\fR
+can be used for \fIlocal\fR vertical and horizontal motion respectively.
+The distance \fIN\fR may be negative; the \fIpositive\fR directions
+are \fIrightward\fR and \fIdownward\fR.
+A \fIlocal\fR motion is one contained \fIwithin\fR a line.
+To avoid unexpected vertical dislocations, it is necessary that
+the \fInet\fR vertical local motion within a word in filled text
+and otherwise within a line balance to zero.
+The above and certain other escape sequences providing local motion are
+summarized in the following table.*
+.br
+.fn
+.sp .3
+\(**\|The line drawing escapes \el and \eL also cause local motions.
+.ef
+.tr ||
+.ds X \0\0\0
+.br
+.ne 12
+.TS
+center box;
+c2|cs2||c2|cs2
+c1|c2c2||c2|c2c2.
+Vertical Effect in Horizontal Effect in
+Local Motion \*(TR \*(NR Local Motion \*(TR \*(NR
+_
+.sp .4
+\A'e_0'\A'e_u'\A'e_d'\A'e_r'\A'e_|'\A'e_^'
+.sp -1
+.T&
+l2|ls2||l2|ls2.
+\fB\*X\ev\'\fIN\fB\'\fR Move distance \fIN\fR \
+\fB\*X\eh\'\fIN\fB\'\fR Move distance \fIN\fR
+.T&
+_2|_2_2||l2|ls2.
+ \fB\*X\e\fR(space) Unpaddable space-size space
+.T&
+l2|l2|l2||l2|ls2.
+ \fB\*X\e\(ap\fR Paddable no-break space
+\fB\*X\eu\fR \(12 em up \(12 line up \fB\*X\e0\fR Digit-size space
+.T&
+l2|l2|l2||_2|_2_2.
+\fB\*X\ed\fR \(12 em down \(12 line down
+.T&
+l2|l2|l2||l2|l2|l2.
+\fB\*X\er\fR 1 em up 1 line up \fB\*X\e\||\fR 1/6 em space ignored
+ \fB\*X\e^\fR 1/12 em space ignored
+.sp .4
+.TE
+.rm X
+.tr |
+As an example,
+\fBE\s-2\v'-.4m'2\v'.4m'\s+2\fR
+could be generated by the sequence
+\fBE\es\-2\ev\'\-0.4m\'2\ev\'0.4m\'\es+2\fR;
+note that the 0.4|em vertical motions are at the smaller size.
+.sc
+\A'c_width'Width Function.
+The \fIwidth\fR function \A'e_w'\fB\ew\'\fIstring\fB\|\'\fR
+generates the numerical width of \fIstring\fR (in basic units).
+Size and font changes may be safely imbedded in \fIstring\fR,
+and will not affect the current environment.
+For example,
+\&\fB.ti|\-\\w\'\efB1.|\'u\fR could be used to
+temporarily indent leftward a distance equal to the
+size of the string "\fB1.|\fR" in font \fBB\fR.
+.pg
+The width function also sets five number registers.
+The registers \A'n_st'\fBst\fR and \A'n_sb'\fBsb\fR
+are set respectively to the highest and
+lowest extent of \fIstring\fR relative to the baseline;
+then, for example,
+the total \fIheight\fR of the string is \fB\en(stu\-\en(sbu\fR.
+The registers \A'n_rst'\fBrst\fR and \A'n_rsb'\fBrsb\fR
+are set respectively to the highest and lowest visual extent
+of \fIstring\fR relative to the baseline,
+i.e. to the maximum and minimum extent of the \fIy\fR value
+of any bounding box of the characters in \fIstring\fR.
+In \*(TR the number register \A'n_ct'\fBct\fR is set to a value
+between 0|and|3:
+0 means that all of the characters in \fIstring\fR were short lower
+case characters without descenders (like \fBe\fR);
+1 means that at least one character has a descender (like \fBy\fR);
+2 means that at least one character is tall (like \fBH\fR);
+and 3 means that both tall characters and characters with
+descenders are present.
+.pg
+The \A'n_.w'\fB&w\fR number register contains
+the width of the previous character
+independently of the width function.
+Similarly, the \A'n_.cht'\fB&cht\fR and \A'n_.cdp'\fB&cdp\fR registers
+are set respectively to the highest and lowest visual extent
+of the previous character relative to the baseline.
+.sc
+Mark horizontal place.
+The escape sequence \A'e_k'\fB\ek\fIx\fR will cause the \fIcurrent\fR horizontal
+position in the \fIinput line\fR to be stored in register \fIx\fR.
+As an example,
+the construction \fB\ekx\fIword\|\fB\eh\'\|~\|\enxu+3u\'\fIword\fB\fR
+will embolden \fIword\fR by backing up to almost its beginning and overprinting it,
+resulting in \kz\fIword\fR\h'|\nzu+2u'\fIword\fR.
+Likewise, \fB\ek(\fIxx\fR and \fB\ek[\fIxxx\fB]\fR
+will store the horizontal position in register \fIxx\fR or \fIxxx\fR,
+respectively.
+The \A'n_hp'\fBhp\fR number register also holds
+the current horizontal position in the input line.
+.mha s_draw
+Overstrike, Bracket, Line-drawing, Graphics, and Zero-width Functions
+.sc
+\A'c_overstrike'Overstriking.
+Automatically centered overstriking of up to nine characters
+is provided by the \fIoverstrike\fR function
+\A'e_o'\fB\eo\'\fIstring\fB\|\'\fR.
+The characters in \fIstring\fR overprinted with centers aligned; the total width
+is that of the widest character.
+\fIstring\fR may \fInot\fR contain local vertical motion.
+As examples,
+\fB\eo\'e\e\'\'\fR produces \fB\o'e\''\fR, and
+\fB\eo\'\e(mo\e(sl\'\fR produces \fB\o'\(mo\(sl'\fR.
+.sc
+Zero-width characters and strings.
+The function \A'e_z'\fB\ez\fIc\fR will output \fIc\fR without spacing over
+it, and can be used to produce left-aligned overstruck
+combinations.
+As examples,
+\fB\ez\e(ci\e(pl\fR will produce \fB\z\(ci\(pl\fR, and
+\fB\e(br\ez\e(rn\e(ul\e(br\fR will produce the smallest possible
+constructed box \fB\(br\z\(rn\(ul\(br\fR\|.
+.pg
+The function \A'e_Z'\fB\eZ\fI'string'\fR
+prints \fIstring\fR in nofill mode
+and restores the horizontal and vertical position afterwards.
+.sc
+Large Brackets.
+The Special Font contains a number of bracket construction pieces
+(\|\|\(lt\|\|\(lb\|\|\(rt\|\|\(rb\|\|\(lk\|\|\(rk\|\|\(bv\|\|\(lf\|\|\(rf\|\|\(lc\|\|\(rc\|\|)
+that can be combined into various bracket styles.
+The function \A'e_b'\fB\eb\'\fIstring\fB\|\'\fR may be used to pile
+up vertically the characters in \fIstring\fR
+(the first character on top and the last at the bottom);
+the characters are vertically separated by 1|em and the total
+pile is centered 1/2\|em above the current baseline
+(\(12 line in \*(NR).
+For example,
+\fB\eb\'\|\e(lc\e(lf\|\'E\e\|~\|\eb\'\|\e(rc\e(rf\|\'\|\ex\'\|\-0.5m\'\|\ex\'0.5m\'\|\fR
+produces
+\x'-.5m'\x'.5m'\fB\b'\(lc\(lf'E\|\b'\(rc\(rf'\fR.
+.sc
+\A'c_line'Line drawing.
+.tr &&
+The function \A'e_l'\fB\e\|l\^\'\fINc\fB\'\fR (backslash-ell)
+will draw a string of repeated \fIc\fR\|'s towards the right for a distance \fIN\fR.
+If \fIc\fR looks like a continuation of
+an \T'c_expr'expression\T for \fIN\fR,
+it may insulated from \fIN\fR with a \fB\e&\fR.
+If \fIc\fR is not specified, the \fB\(ru\fR (baseline rule) is used
+(underline character in \*(NR).
+If \fIN\fR is negative, a backward horizontal motion
+of size \fIN\fR is made \fIbefore\fR drawing the string.
+Any space resulting from \fIN\fR\|/(size of \fIc\fR) having a remainder is put at the beginning (left end)
+of the string.
+If \fIN\fR is less than the width of \fIc\fR,
+a single \fIc\fR is centered on a distance \fIN\fR.
+In the case of characters
+that are designed to be connected such as
+baseline-rule\ \fB\(ru\fR\|,
+underrule\ \fB\(ul\fR\|,
+and
+root-en\ \fB\(rn\fR\|,
+the remainder space is covered by over-lapping;
+the set of these characters can be customized with the
+\T'connectchar'\fBconnectchar\fR\T request described below.
+If \fIN\fR is \fIless\fR than the width of \fIc\fR,
+a single \fIc\fR is centered on a distance \fIN\fR.
+As an example, a macro to underscore a string can be written
+.br
+.tr &.
+.x1
+.ft B
+.ne 2.1
+&de us
+\e\e$1\e\|l\|\'\|~\|0\e(ul\'
+&&
+.ft R
+.x2
+.ne 2.1
+.de xu
+\\$1\l'|0\(ul'
+..
+or one to draw a box around a string
+.x1
+.ft B
+&de bx
+\e(br\e\|~\|\e\e$1\e\|~\|\e(br\e\|l\|\'\|~\|0\e(rn\'\e\|l\|\'\|~\|0\e(ul\'
+&&
+.ft R
+.x2
+.de bx
+\(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
+..
+such that
+.x1
+.ft B
+&us "underlined words"
+.ft R
+.x2
+and
+.x1
+.ft B
+&bx "words in a box"
+.ft R
+.x2
+yield
+.xu "underlined words"
+and
+.bx "words in a box"
+\h'-\w'.'u'.
+.pg
+The function \A'e_L'\fB\eL\'\fINc\fB\'\fR draws a vertical line consisting
+of the (optional) character \fIc\fR stacked vertically apart 1\|em
+(1 line in \*(NR),
+with the first two characters overlapped,
+if necessary, to form a continuous line.
+The default character is the \fIbox rule\fR |\(br| (\fB\|\e(br\fR);
+the other suitable character is the \fIbold vertical\fR \|\(bv\| (\fB\|\e(bv\fR).
+The line is begun without any initial motion relative to the
+current base line.
+A positive \fIN\fR specifies a line drawn downward and
+a negative \fIN\fR specifies a line drawn upward.
+After the line is drawn \fIno\fR compensating
+motions are made;
+the instantaneous baseline is at the \fIend\fR of the line.
+Motions of line drawing functions are local which means that the
+effect of these motions vanishes when a new output line is started.
+.pg
+.nr nosave 1
+.de eb
+.sp -1
+.nf
+\h'-.5n'\L'|\\nzu-1'\l'\\n(.lu+1n\(ul'\L'-|\\nzu+1'\l'|0u-.5n\(ul'
+.fi
+..
+.ne 2i
+.mk z
+The horizontal and vertical line drawing functions may be used
+in combination to produce large boxes.
+The zero-width \fIbox-rule\fR and the \(12-em wide \fIunderrule\fR
+were \fIdesigned\fR to form corners when using 1-em vertical
+spacings.
+For example the macro
+.x1
+.ft B
+\&.de eb
+\&.sp \-1 \e"compensate for next automatic base-line spacing
+\&.nf \e"avoid possibly overflowing word buffer
+.tr ||
+\&\eh\'\-.5n\'\eL\'\||\|\e\enau\-1\'\el\'\e\en(.lu+1n\e(ul\'\eL\'\-\||\|\e\enau+1\'\el\'\||\|0u\-.5n\e(ul\' \e"draw box
+.tr |
+.lg 0
+\&.fi
+.lg
+\&..
+.ft R
+.x2
+will draw a box around some text whose beginning vertical place was
+saved in number register \fIa\fR
+(e.g. using \fB.mk|a\fR)
+as done for this paragraph.
+.eb
+.h1
+.bta connectchar
+\fB&connectchar\fI|c..\fR \h'-4m'\fB"\e(ru\e(ul\e(rn\fR \h'-4m'off E Connected characters for line drawing.
+If there is a remainder to be drawn for a horizontal line,
+these characters are drawn over-lapping.
+The current set is available
+in the \A'n_.connectchar'\fB&connectchar\fR number register.
+.sc
+\A's_graphics'Graphics.
+The function \A'e_D'\fB\eD\fI\'c...\'\fR
+draws a graphic object of type \fIc\fR
+according to a sequence of parameters,
+which are generally pairs of numbers.
+.nf
+.ta 1.6i
+.nr nosave 1
+\fB\eD\'l \fIdh dv\' \fRdraw line from current position by \fIdh,\|dv\fR
+.nr nosave 0
+\fB\eD\'p \fIdh1 dv1 dh2 dv2 ...\' \fRdraw polygon, i.e. a line to\
+ \fIdh1,\|dv1\fR, then to \fIdh2,\|dv2\fR, then ...
+\fB\eD\'P \fIdh1 dv1 dh2 dv2 ...\' \fRdraw filled polygon
+\fB\eD\'c \fId\' \fRdraw circle of diameter \fId\fR with left side at\
+ current position
+\fB\eD\'C \fId\' \fRdraw filled circle
+\fB\eD\'e \fIu v\' \fRdraw ellipse of diameters \fIu\fP and \fIv\fP
+\fB\eD\'E \fIu v\' \fRdraw filled ellipse
+.ne 2
+\fB\eD\'a \fIa b c d\'\fB \fRdraw arc from current position to\
+ \fIa\fR+\fIc\fR,\|\fIb\fR+\fId\fR, \fRwith center at \fIa\fR,\|\fIb\fR from\
+ current position
+\fB\eD\'\(ap \fIa b c d...\'\fB \fRdraw B-spline from current position by\
+ \fIa\fR,\|\fIb\fR, \fRthen by \fIc\fR,\|\fId\fR, then by \fIc\fR,\|\fId\fR,\
+ then ...
+.pg
+For example,\fB\eD\'e0.2i 0.1i\'\fR
+draws the ellipse
+\D'e.2i .1i'\|,
+and \fB\eD\'l.2i \-.1i\'\eD\'l.1i .1i\'\fR
+the line
+\D'l.2i -.1i'\D'l.1i .1i'\|.
+A \fB\eD\fR
+with an unknown \fIc\fR is processed and copied through to the output
+for unspecified interpretation;
+coordinates are interpreted alternately as horizontal and vertical
+values.
+.pg
+Numbers taken as horizontal (first, third, etc.)
+have default scaling of \fBm\fR;
+vertical numbers (second, fourth, etc.)
+have default scaling of \fBv\fR \T'c_units'(\(sc1.3).\T
+The position after a graphical object has been drawn is
+at its end; for circles and ellipses, the ``end''
+is at the right side.
+.\" from file m4
+.tr |
+.mha s_hyphen
+Hyphenation.
+.pg
+Automatic hyphenation may be switched off and on.
+When switched on with \T'hy'\fBhy\fR\T,
+several variants may be set.
+A \fIhyphenation indicator\fR character,
+by default \A'e_%'\fB\e%\fR,
+may be imbedded in a word to
+specify desired hyphenation points,
+or may be prefixed to suppress hyphenation.
+The character \A'e_:'\fB\e:\fR indicates that a line break may
+optionally occur at a point,
+but that no hyphen is to be generated.
+In addition,
+the user may specify a small list of exception words.
+.pg
+Only words that consist of a central alphabetic string
+surrounded by (usually null) non-alphabetic strings
+are considered candidates for automatic hyphenation.
+Unless the set of optional line break characters is otherwise configured,
+words that contain hyphens
+(minus),
+em-dashes (\fB\e(em\fR),
+or hyphenation indicator characters
+are \fIalways\fR subject to splitting after those characters,
+whether automatic hyphenation is on or off.
+.h1
+.bta nh
+\fB&nh\fR hyphenate \(en E \
+Automatic hyphenation is turned off.
+.bta hy
+\fB&hy\fI|N\fR on,\fIN=\fR1 on,\fIN=\fR1 E \
+Automatic hyphenation is turned on
+for \fIN\fR\|\(>=1, or off for \fIN=\fR\|0.
+If \fIN=\fR\|2, \fIlast\fR lines (ones that will cause a trap)
+are not hyphenated.
+For \fIN=\fR\|4 and 8, the last and first two characters
+respectively of a word are not split off.
+For \fIN=\fR\|16 and 32, the last and first characters
+respectively of a word are allowed to be split off;
+this is only effective for explicit hyphenation points
+specified with \fB\e%\fR, \fB\e:\fR, or \fBhw\fR.
+These values are additive;
+i.e. \fIN=\fR\|14 will invoke the three restrictions.
+The current value is available in the \A'n_.hy'\fB&hy\fR number register.
+.bta hylang
+\fB&hylang\fI|name\fR off off E Set the hyphenation language
+to \fIname\fR, which is one of
+\fBde_DE\fR,
+\fBde_DE@traditional\fR,
+\fBen_US\fR,
+\fBfr_FR\fR,
+\fBit_IT\fR,
+\fBla_VA\fR,
+or
+\fBnl_NL\fR.
+Other languages can be made available by adding hyphenation
+files to the directory
+\fB/usr/ucblib/doctools/hyphen\fR.
+If no \fIname\fR argument
+is present, the hyphenation is reset to the traditional \*(TR
+mechanism.
+The current value is available in the \A'n_.hylang'\fB&hylang\fR
+number register.
+.xx
+This request also makes parts of words composed by \fB-\fR or
+\fB\e(em\fR characters subject to hyphenation,
+unless otherwise defined explicitly with the \fB&nhychar\fR request.
+Traditionally, the only
+hyphenation points in such words had been the hyphens/dashes.
+.bta shc
+\fB&shc\fI|c\fR \(hy \(hy E Set the soft hyphenation character,
+i.e. the character that is inserted at the end of
+a hyphenated word.
+The current soft hyphenation character is available
+in the \A'n_.shc'\fB&shc\fR number register.
+.bta hcode
+\fB&hcode\fI|abcd...\fR \(en E Hyphenation code.
+When determining the hyphenation points for an input word,
+\fIa\fR is mapped to \fIb\fR, etc.
+When no hyphenation code is specified for a character,
+it is mapped to its lower-case variant if necessary,
+and the ``long s'' (\fB\e[longs]\fP) character is mapped to a ``round s''.
+.bta hylen
+\fB&hylen\fI|N\fR 5 5 E Hyphenate only words of at least \fIN\fR characters in length.
+The current value is available in the \A'n_.hylen'\fB&hylen\fR number register.
+.bta hlm
+\fB&hlm\fI|N\fR off off E Maximum number of consecutive hyphenated lines.
+Each time a line is hyphenated automatically,
+the count of consecutive hyphenated lines
+(accessible in the \A'n_.hlc'\fB&hlc\fR number register)
+is incremented;
+whenever a line is not automatically hyphenated,
+it is reset to zero.
+This request allows to set a limit on the maximum number
+of consecutive hyphenated lines;
+when the count of consecutive lines has reached the maximum,
+the current line is not hyphenated.
+The default is no limit.
+The current value is accessible in the \A'n_.hlm'\fB&hlm\fR number register.
+.bta hypp
+\fB&hypp\fI|N|M|L\fR 0|0|0 0|0|0 E Define hyphenation penalties for \T'ad_p'\fBad p\fR\T mode.
+Every inserted hyphen is given a penalty of \fIN\fR
+when computing optimal break points;
+each hyphen that is followed by another hyphen
+gets an additional penalty of \fIM\fR.
+A hyphen that is inserted in the last word of a paragraph
+gets an additional penalty of \fIL\fR.
+A value of zero means no penalty.
+Effective penalties correspond to values between 10 and 200.
+The current values are available in the
+\A'n_.hypp'\fB&hypp\fR,
+\A'n_.hypp2'\fB&hypp2\fR, and
+\A'n_.hypp3'\fB&hypp3\fR
+number registers.
+.bta breakchar
+\fB&breakchar\fI|c.\fR \fB\(hy\(em\fR off E Optional line break characters.
+A line may always be split after one of these characters.
+The current set of optional line break characters is available
+in the \A'n_.breakchar'\fB&breakchar\fR number register.
+.bta nhychar
+\fB&nhychar\fI|c...\fR \fB\(hy\(em\fR off E Hyphenation-inhibiting characters.
+A word that contains one of the characters \fIc...\fR
+is not hyphenated,
+except that it may be split across lines
+if one of these characters is also an optional line break character.
+The current set of hyphenation-inhibiting characters is available
+in the \A'n_.nhychar'\fB&nhychar\fR number register.
+.bta hc
+\fB&hc\fI|c\fR \fB\e% \e%\fR E Hyphenation indicator character is set
+to \fIc\fR or to the default \fB\e%\fR.
+The indicator does not appear in the output.
+.bta hw
+\fB&hw\fI|word1|...\fR ignored \(en Specify hyphenation points in words
+with imbedded minus signs.
+Versions of a word with terminal \fIs\fR are implied;
+i.e. \fIdig\-it\fR implies \fIdig\-its\fR.
+This list is examined initially \fIand\fR after
+each suffix stripping.
+.mha s_titles
+Three-Part Titles.
+.pg
+The titling function \T'tl'\fBtl\fR\T provides for automatic placement
+of three fields at the left, center, and right of a line
+with a title-length
+specifiable with \T'lt'\fBlt\fR\T.
+\fBtl\fR may be used anywhere, and is independent of the
+normal text collecting process.
+A common use is in header and footer macros.
+.h1
+.bta tl
+\fB&tl\fI|\'left\'center\'right\'\fR \(en \(en \
+The strings \fIleft\fR, \fIcenter\fR, and \fIright\fR are
+respectively left-adjusted, centered, and right-adjusted
+in the current title-length.
+Any of the strings may be empty,
+and overlapping is permitted.
+If the page-number character (initially \fB%\fR) is found within any of the fields it is replaced
+by the current page number having the format assigned
+to register \T'n_%'\fB%\fR\T.
+Any character may be used as the string delimiter.
+.bta pc
+\fB&pc\fI|c\fR \fB%\fR off \(en The page number character is set to \fIc\fR,
+or removed.
+The page-number register remains \fB%\fR.
+.bta lt
+\fB&lt\fI|\(+-N\fR 6.5\|in previous E,\fBm\fR Length of title set to \fI\(+-N\fR.
+The line-length and the title-length are \fIindependent\fR.
+Indents do not apply to titles; page-offsets do.
+The current value is available in the \A'n_.lt'\fB&lt\fR number register.
+.mha s_onl
+Output Line Numbering.
+.pg
+.ll -\w'0000'u
+.nm 1 3
+Automatic sequence numbering of output lines may be
+requested with \T'nm'\fBnm\fR\T.
+When in effect,
+a three-digit, arabic number plus a digit-space
+is prepended to output text lines.
+The text lines are thus offset by four digit-spaces,
+and otherwise retain their line length;
+a reduction in line length may be desired to keep the right margin
+aligned with an earlier margin.
+Blank lines, other vertical spaces, and lines generated by \T'tl'\fBtl\fR\T
+are \fInot\fR numbered.
+Numbering can be temporarily suspended with \T'nn'\fBnn\fR\T,
+or with an \fB.nm\fR followed by a later \fB.nm|+0\fR.
+In addition,
+a line number indent \fII\fR, and the number-text separation \fIS\fR
+may be specified in digit-spaces.
+Further, it can be specified that only those line numbers that are
+multiples of some number \fIM\fR are to be printed (the others will appear
+as blank number fields).
+.br
+.nm
+.ll
+.h1
+.bta nm
+\fB&nm\fI|\(+-N|M|S|I\fR off E \
+Line number mode.
+If \fI\(+-N\fR is given,
+line numbering is turned on,
+and the next output line numbered is numbered \fI\(+-N\fR.
+Default values are \fIM=\fR\|1, \fIS=\fR\|1, and \fII=\fR\|0.
+Parameters corresponding to missing arguments are unaffected;
+a non-numeric argument is considered missing.
+In the absence of all arguments, numbering is turned off;
+the next line number is preserved for possible further use
+in number register \A'n_ln'\fBln\fR.
+.bta nn
+\fB&nn\fI|N\fR \(en \fIN=\fR1 E The next \fIN\fR text output lines are not
+numbered.
+.pg
+.ll -\w'0000'u
+.nm +0
+As an example, the paragraph portions of this section
+are numbered with \fIM=\fR\|3:
+\&\fB.nm|1|3\fR was placed at the beginning;
+\&\fB.nm\fR was placed at the end of the first paragraph;
+and \fB.nm|+0\fR was placed in front of this paragraph;
+and \fB.nm\fR finally placed at the end.
+Line lengths were also changed (by \fB\ew\'0000\'u\fR) to keep the right side aligned.
+Another example is
+\&\fB.nm|+5|5|x|3\fR which turns on numbering with the line number of the next
+line to be 5 greater than the last numbered line,
+with \fIM=\fR\|5, with spacing \fIS\fR untouched, and with the indent \fII\fR set to 3.
+.br
+.ll
+.nm
+.mha s_cond
+Conditional Acceptance of Input
+.pg
+In the following,
+\fIc\fR is a one-character, built-in \fIcondition\fR name,
+\fB!\fR signifies \fInot\fR,
+\fIN\fR is an integer \T'c_expr'numerical expression\T,
+\fIF\fR is a floating-point expression,
+\fIstring1\fR and \fIstring2\fR are strings delimited by any non-blank, non-numeric character \fInot\fR in the strings,
+and
+\fIanything\fR represents what is conditionally accepted.
+.h1
+.bta if
+\fB&if\fI|c|anything\fR \(en \(en If condition \fIc\fR true, accept \fIanything\fR as input;
+in multi-line case use \fI\e{anything\|\e}\fR.
+.bt
+\fB&if|!\fIc|anything\fR \(en \(en If condition \fIc\fR false, accept \fIanything\fR.
+.bt
+\fB&if\fI|N|anything\fR \(en \fBu\fR If \T'c_expr'expression\T \fIN\fR > 0, accept \fIanything\fR.
+.bt
+\fB&if|!\fIN|anything\fR \(en \fBu\fR If \T'c_expr'expression\T \fIN\fR \(<= 0 [sic], accept \fIanything\fR.
+.bt
+\fB&if|f\fIF|anything\fR \(en \fBu\fR If floating-point expression \fIF\fR > 0, accept \fIanything\fR.
+.bt
+\fB&if|!f\fIF|anything\fR \(en \fBu\fR If floating-point expression \fIF\fR \(<= 0 [sic], accept \fIanything\fR.
+.bt
+\fB&if\fI|\'string1\'string2\'|anything\fR \(en If \fIstring1\fR identical to \fIstring2\fR,
+accept \fIanything\fR.
+.bt
+\fB&if|!\fI\|\'string1\'string2\'|anything\fR \(en If \fIstring1\fR not identical to \fIstring2\fR,
+accept \fIanything\fR.
+.bta ie
+\fB&ie\fI|c|anything\fR \(en \fBu\fR If portion of if-else; all of the forms for \fBif\fR above are valid.
+.bta el
+\fB&el\fI|anything\fR \(en \(en Else portion of if-else.
+.bta while
+\fB&while\fI|c|anything\fR \(en \(en Execute \fIanything\fR while \fIc\fR is true;
+all of the forms for \fBif\fR above are valid.
+\fIanything\fR is stored in an unnamed temporary macro
+each time a \fBwhile\fR loop is prepared for execution.
+.xx
+In the multi-line case,
+the \fB\e}\fR terminating the loop must be placed at the end of a line.
+.xx
+When \fIanything\fR is copied to the macro,
+neither \T'copy mode'copy mode\T nor regular
+escape interpretation apply.
+References to number registers, strings, etc. must
+thus be written using a single escape character
+unless the \fBwhile\fR request is contained in a macro definition.
+.xx
+Nested loops will result in many macro definitions
+and may slow down execution,
+especially if their body is large.
+\T'c_recursion'Recursive macros (\(sc10.6)\T do not suffer from this problem.
+In contrast to recursive macro calls,
+there is no mechanism to terminate a loop automatically
+when a repetition limit has been reached.
+In case of doubt,
+an explicit limit termination condition
+should be added to prevent endless loops.
+.bta break
+\fB&break\fI|n\fR \(en 1 \(en Break out of \fIn\fR nested \fBwhile\fR loops,
+or terminate the current loop if no argument is given.
+It is not necessary that all of the loops
+are contained within the same macro;
+if there are any macros executing inside the specified loop,
+control also returns from these macros.
+In case of a non-positive or non-numeric argument, \fIn\fR=1 is assumed.
+If the number of levels requested is greater
+than the number of loops currently executing,
+control returns to the highest non-looping level.
+.bta continue
+\fB&continue\fI|n\fR \(en 1 \(en Continue at the \fIn\fR-th nested \fBwhile\fR loop,
+or continue the current loop if no argument is given.
+Execution resumes with the test of the specified \fBwhile\fR loop;
+if this test fails, the request is effectively like \fBbreak\fR.
+\fBcontinue\fR also returns from all inside macro calls
+until it has reached the specified loop.
+In case of a non-positive or non-numeric argument, \fIn\fR=1 is assumed.
+If the number of levels requested is greater
+than the number of loops currently executing,
+control returns to the highest non-looping level,
+and no loop is continued.
+.pg
+.ne 16
+The built-in condition names are:
+.TS
+center box;
+c2|c2
+c2|c2
+c2|l2.
+Condition
+Name True if
+_
+\fBc\fI G\fR T{
+Character \fIG\fR exists in the current font,
+where \fIG\fR is either an \s-1ASCII\s+1 or localized input
+character, a \*(TR special character \T'e_('\fB\e(\fIxx\fR\T or
+\T'e_['\fB\e[\fIxxx\fB]\fR\T, or a \T'e_U'\fB\eU\fI\'X\'\fR\T escape sequence
+T}
+\fBd\fI xx\fR There is a request, macro, or string \fIxx\fR
+\fBr\fI xx\fR Number register \fIxx\fR has been accessed
+\fBF \fIfont\fR Font named \fIfont\fP exists
+\fBo\fR Current page number is odd
+\fBe\fR Current page number is even
+\fBt\fR Formatter is \*(TR
+\fBn\fR Formatter is \*(NR
+\fBv\fR Never. (\fBv\fR is used by other roff variants.)
+.TE
+If the condition \fIc\fR is \fItrue\fR, or if the number \fIN\fR is greater than zero,
+or if the strings compare identically (including motions and character size and font),
+\fIanything\fR is accepted as input.
+If a \fB!\fR precedes the condition, number, or string comparison,
+the sense of the acceptance is reversed.
+.pg
+Any spaces between the condition and the beginning of \fIanything\fR are skipped over.
+The \fIanything\fR can be either a single input line (text, macro, or whatever)
+or a number of input lines.
+In the multi-line case,
+the first line must begin with a left delimiter \A'e_{'\fB\e{\fR and
+the last line must end with a right delimiter \A'e_}'\fB\e}\fR.
+.pg
+The request \T'ie'\fBie\fR\T (if-else) is identical to \T'if'\fBif\fR\T
+except that the acceptance state is remembered.
+A subsequent and matching \T'el'\fBel\fR\T (else) request then uses the reverse sense of that state.
+\fBie\fR|-|\fBel\fR pairs may be nested.
+.pg
+.ne 3
+Some examples are:
+.x1
+.ft B
+.ne 1
+&if e .tl \'Even Page %\'\'\'
+.ft R
+.x2
+which outputs a title if the page number is even; and
+.x1
+.ne 6
+.ft B
+.ne 3.1
+&ie \en%>1 \e{\e
+\&\'sp 0.5i
+&tl \'Page %\'\'\'
+\&\'sp ~\|1.2i|\e}
+&el .sp ~\|2.5i
+.ft R
+.x2
+which treats page 1 differently from other pages.
+.mha s_env
+Environment Switching.
+.pg
+A number of the parameters that
+control the text processing are gathered together into an
+\fIenvironment\fR, which can be switched by the user.
+The environment parameters are those associated
+with requests noting E in their \fINotes\fR column;
+in addition, partially collected lines and words are in the environment.
+Everything else is global; examples are page-oriented parameters,
+\T'c_diversion'diversion\T-oriented parameters,
+number registers, and macro and string definitions.
+All environments are initialized with default parameter values.
+The number of possible environments is only limited by available memory.
+.pg
+\A'c_inline_environment'Inside each environment,
+a smaller set of parameters
+forms the \fIinline environment\fR.
+These are:
+the current and previous point size,
+as set by \T'ps'\fBps\fR\T and \T'e_s'\fB\es\fR\T;
+the current and previous font,
+as set by \T'ft'\fBft\fR\T and \T'e_f'\fB\ef\fR\T;
+the control and nobreak control character,
+as set by \T'cc'\fBcc\fR\T and \T'c2'\fBc2\fR\T, respectively;
+the optional hyphenation character,
+as set by \T'hc'\fBhc\fR\T;
+the hyphenation flag,
+as set by \T'hy'\fBhy\fR\T;
+the tab and leader repetition characters,
+as set by \T'tc'\fBtc\fR\T and \T'lc'\fBlc\fR\T, respectively;
+and the default line breaking penalty,
+as set by \T'e_J'\fB\eJ\fR\T.
+The inline environment is pushed
+by \A'e_@'\fB\e@{\fR,
+meaning that the current values of these parameters are saved.
+When a \fB\e@}\fR occurs,
+the last pushed inline environment is popped,
+meaning that the previous values of the parameters are restored.
+Inline environments can be nested to arbitrary depths.
+They differ from \fB\es0\fR and \fB\efP\fR
+since they form a stack.
+Thus, the current font is ``B'' again
+after the sequence ``\efB...\e@{\efR...\e@{\efI...\e@}...\e@}'',
+but ``I'' after the sequence ``\efB...\efR...\efI...\efP...\efP''.
+.h1
+.bta ev
+\fB&ev\fI|name\fR \fIname\(eq\fR0 previous \(en Environment switched to
+environment \fIname\fR.
+Switching is done in push-down fashion so that
+restoring a previous environment \fImust\fR be done with \fB.ev\fR
+rather than specific reference.
+Note that what is pushed down and restored
+is the environment \fIname,\fR
+not its contents.
+The name of the current environment is available
+in the \A'n_.ev'\fB&ev\fR number register.
+.bta evc
+\fB&evc\fI|name\fR \(en \(en Copy the environment \fIname\fR to the current environment.
+The temporary state of the current environment is reset, and
+incompletely filled lines are discarded.
+.mha s_stdin
+Insertions from the Standard Input
+.pg
+The input can be temporarily switched to the system \fIstandard input\fR
+with \T'rd'\fBrd\fR\T,
+which will switch back when \fItwo\fR newlines
+in a row are found (the \fIextra\fR blank line is not used).
+This mechanism is intended for insertions in form-letter-like documentation.
+The \fIstandard input\fR can be the user's keyboard,
+a \fIpipe\fR, or a \fIfile\fR.
+.h1
+.bta rd
+\fB&rd\fI|prompt\fR \(en \fIprompt=\fR\s-1BEL\s+1 \(en \
+Read insertion from the standard input until two newlines in a row are found.
+If the standard input is the user's keyboard, \fIprompt\fR (or a \s-1BEL\s+1)
+is written onto the user's terminal.
+\fBrd\fR behaves like a macro,
+and arguments may be placed after \fIprompt\fR.
+.bta ex
+\fB&ex\fR \(en \(en \(en Exit from \*(NR/\*[TR.]
+Text processing is terminated exactly as if all input had ended.
+.pg
+If insertions are to be
+taken from the terminal keyboard \fIwhile\fR output is being printed
+on the terminal, the command line option \fB\-q\fR will turn off the echoing
+of keyboard input and prompt only with \s-1BEL\s+1.
+The regular input and insertion input \fIcannot\fR
+simultaneously come from the standard input.
+.pg
+As an example,
+multiple copies of a form letter may be prepared by entering the insertions
+for all the copies in one file to be used as the standard input,
+and causing the file containing the letter
+to reinvoke itself using \T'nx'\fBnx\fR\T
+\T's_io'(\(sc19);\T
+the process would ultimately be ended
+by an \T'ex'\fBex\fR\T in the insertion file.
+.br
+.ne 6
+.mha s_io
+Input/Output File Switching
+.h1
+.bta so
+\fB&so\fI|filename\fR \(en \(en Switch source file.
+The top input (file reading) level is switched to \fIfilename\fR.
+When the new file ends,
+input is again taken from the original file.
+It is a fatal error if \fIfilename\fR cannot be opened.
+\fBso\fR's may be nested.
+.bta pso
+\fB&pso\fI|string\fR \(en \(en Execute \fIstring\fR
+and read its standard output as text input.
+.bta nx
+\fB&nx\fI|filename\fR end-of-file \(en Next file is \fIfilename\fR.
+The current file is considered ended, and the input is immediately switched
+to \fIfilename\fR.
+.bta sy
+\fB&sy\fI|string\fR \(en \(en Execute program from \fIstring\fR, which is the rest of the input line.
+The output is not collected automatically.
+The number register \A'n_$$'\fB$$\fP,
+which contains the process id of the \*(TR process,
+may be useful in generating unique filenames for output.
+.bta pi
+\fB&pi\fI|string\fR \(en \(en Pipe output to \fIstring\fR, which is the rest of the input line.
+This request must occur \fIbefore\fR any printing occurs;
+typically it is the first line of input.
+.bta cf
+\fB&cf\fI|filename\fR \(en \(en Copy contents of file \fIfilename\fR to output, completely unprocessed.
+The file is assumed to contain something meaningful to subsequent processes.
+.bta open
+\fB&open\fI|stream|filename\fR ignored \(en Open \fIfilename\fR for writing while truncating existing contents
+and associates \fIstream\fR with it for latter use with \fBwrite\fR etc.
+.bta opena
+\fB&opena\fI|stream|filename\fR ignored \(en Like \fBopen\fR but appends to \fIfilename\fR instead of truncating
+an existing file.
+.bta write
+\fB&write\fI|stream|text\fR ignored \(en Write \fItext\fR to file \fIstream\fR,
+which must have been obtained by a previous \fBopen\fR request.
+\fItext\fR is interpreted in \T'copy mode'\fIcopy mode.\fR\T
+.bta writec
+\fB&writec\fI|stream|text\fR ignored \(en Like \fBwrite\fR but does not write a terminating newline.
+.bta writem
+\fB&writem\fI|stream|xx\fR ignored \(en Write contents of string, macro, or diversion \fIxx\fR.
+No newline is appended,
+so if \fIxx\fR is a string,
+the output does not terminate with a newline.
+.bta close
+\fB&close\fI|stream\fR \(en \(en Close the file \fIstream\fR,
+which must have been obtained by a previous \fBopen\fR request.
+.mha s_misc
+Miscellaneous
+.pg
+The \A'e_V'\fB\eV\fIx\fR, \fB\eV(\fIxx\fR, or \fB\eV[\fIxxx\fB]\fR
+escape sequence causes the value of the
+\fIx\fP, \fIxx\fR, or \fIxxx\fR environment variable, respectively,
+to be printed.
+It is interpreted in \T'copy mode'\fIcopy mode.\fR\T
+.pg
+.h1
+.bta mc
+.mc \s12\(br\s0
+\fB&mc\fI|c|N\fR \(en off E,\fBm\fR \
+Specifies that a \fImargin\fR character \fIc\fR appear a distance
+\fIN\fR to the right of the right margin
+after each non-empty text line (except those produced by \T'tl'\fBtl\fR\T).
+If the output line is too-long (as can happen in nofill mode)
+the character will be appended to the line.
+If \fIN\fR is not given, the previous \fIN\fR is used; the initial \fIN\fR is
+0.2|inches in \*(NR and 1\|em in \*[TR.]
+The margin character used with this paragraph was a 12-point box-rule.
+.br
+.ad b
+.mc
+.bta lpfx
+\fB&lpfx\fI|string\fR off off E Set the line prefix
+.lpfx ``
+to \fIstring\fR.
+``Whenever a new output line is started,
+\fIstring\fR is then printed at its beginning.
+Font and size settings as well as automatic ligatures in \fIstring\fR
+are retained regardless of later changes.
+This request is mainly useful
+to implement a historic form of block quotation.
+The current value is available in the \A'n_.lpfx'\fB&lpfx\fR register.''
+.br
+.ad p
+.lpfx
+.bta tm
+\fB&tm\fI|string\fR \(en newline \(en \
+After skipping initial blanks, \fIstring\fR (rest of the line) is read in \T'copy mode'\fIcopy mode\fR\T
+and written on the standard error.
+.bta tmc
+\fB&tmc\fI|string\fR \(en newline \(en Like \fBtm\fR
+but does not write a terminating newline.
+.bta nop
+\fB&nop\fI|remainder of line\fR \(en \(en Use \fIremainder of line\fR as input.
+.bta chomp
+\fB&chomp\fI|remainder of line\fR \(en \(en Use \fIremainder of \
+line without newline\fR as input.
+.bta ab
+\fB&ab\fI|string\fR \(en newline \(en \
+After skipping initial blanks, \fIstring\fR (rest of the line) is read in \T'copy mode'\fIcopy mode\fR\T
+and written on the standard error.
+\*(TR or \*(NR then exit.
+.bta ig
+\fB&ig\fI|yy\fR \(en \fI.yy=\fB..\fR \(en Ignore \
+input lines.
+\fBig\fR behaves exactly like \T'de'\fBde\fR\T
+\T's_mac'(\(sc7)\T except that the
+input is discarded.
+The input is read in \T'copy mode'\fIcopy mode\fR,\T and any auto-incremented
+registers will be affected.
+.bta lf
+\fB&lf\fI|N|filename\fR \(en \(en \
+Set line number to \fIN\fR and filename to \fIfilename\fR
+for purposes of subsequent error messages, etc.
+The number register [sic] \fB.F\fR contains
+the name of the current input file,
+as set by command line arguments,
+\fBso\fR, \fBnx\fR, or \fBlf\fR.
+The number register \fB.c\fR contains the number of input lines
+read from the current file, again perhaps as modified by \fBlf\fR.
+.bta pm
+\fB&pm\fI|t\fR \(en all \(en \
+Print macros.
+The names and sizes of all of the defined macros and strings are printed
+on the standard error;
+if \fIt\fR is given, only the total of the sizes is printed.
+The sizes is given in \fIblocks\fR
+of 128 characters.
+.bta fl
+.lg 0
+\fB&fl\fR \(en \(en B \c
+.lg
+Flush output buffer.
+Force output,
+including any pending position information.
+.mha s_err
+Output and Error Messages, Debugging.
+.sc
+Output Messages.
+The output from \T'tm'\fBtm\fR\T,
+\T'pm'\fBpm\fR\T, and the prompt from \T'rd'\fBrd\fR\T,
+as well as various \fIerror\fR messages are written onto
+the standard error.
+The latter is different from the \fIstandard output\fR,
+where formatted text goes.
+By default, both are written onto the user's terminal,
+but they can be independently redirected.
+An error message additionally includes
+the line number where the error occurred,
+the current input file name,
+the current physical output page number (if any),
+and the names of the macros
+in the frames of the current execution stack.
+The \%\fBerrprint\fR request allows
+to write custom messages in the same format.
+.sc
+Warnings.
+\A's_warning'\*(NR and \*(TR provide a mechanism
+to enable or disable warnings for several categories.
+When one of the selected conditions occurs,
+a \fIwarning\fR message is written
+in the same format as an error message,
+but processing continues.
+.br
+.ne 6
+.TS H
+nokeep box center;
+r | l | l
+n | lfB | lw(4.0i).
+Bit Name Description
+_
+.TH
+0 none No warnings at all.
+1 char T{
+Warn when unknown character names like \fB\e(xx\fR or \fB\e[xxx]\fR
+are found.
+T}
+2 number Warn when illegal \T'c_expr'numerical expressions\T occur.
+4 break Warn when a line in \fB&ad b\fR mode cannot be adjusted.
+8 delim Warn when a delimiter to an escape sequence is missing.
+16 el T{
+Warn when a \T'el'\fBel\fR\T request is found
+without a matching \T'ie'\fBie\fR\T.
+T}
+32 scale T{
+Warn when an undefined scale indicator is used in a
+\T'c_expr'numerical expression\T.
+T}
+64 range T{
+Warn when an argument is out of range.
+T}
+128 syntax T{
+Warn about questionable syntax in numerical expressions.
+T}
+256 di T{
+Warn when a \T'di'\fBdi\fR\T request is executed but no
+\T'c_diversion'diversion\T is currently active.
+T}
+512 mac T{
+Warn when an undefined request, macro or string is called.
+T}
+1024 reg T{
+Warn when an undefined number register is accessed.
+The number register will be set to zero immediately after
+the first access so this warning can be printed only
+once per register name.
+T}
+4096 right-brace T{
+Warn when a \fB\e}\fR terminates a numerical expression.
+T}
+8192 missing Warn when a required argument to a request is missing.
+16384 input T{
+Warn when illegal byte sequences or characters that have
+no known \*(PS equivalent are read.
+T}
+32768 escape Warn when an undefined escape sequence is used.
+65536 space T{
+Warn when an unknown long request name is used, but its
+first two characters form a known regular request.
+The regular request is then executed in extension level 2, or
+ignored in extension level 3.
+T}
+131072 font T{
+Warn when a font cannot be found.
+This warning is enabled
+by default.
+T}
+ all T{
+All warnings except \fBdi\fR, \fBmac\fR, and \fBreg\fR.
+This may be the best choice when using existing macro packages.
+T}
+ w All warnings.
+.TE
+.sc
+Errors.
+Various \fIerror\fR conditions may occur during
+the operation of \*(NR and \*[TR.]
+Certain less serious errors having only local impact do not
+cause processing to terminate.
+Two examples are \fIword overflow\fR, caused by a word that is too large
+to fit into the word buffer (in fill mode), and
+\fIline overflow\fR, caused by an output line that grew too large
+to fit in the line buffer;
+in both cases, a message is printed, the offending excess
+is discarded,
+and the affected word or line is marked at the point of truncation
+with a \(** in \*(NR and a \(lh in \*[TR.]
+Processing continues if possible,
+on the grounds that output useful for debugging may be produced.
+If a serious error occurs, processing terminates,
+and an appropriate message is printed,
+along with a list of the macro names currently active.
+Examples are the inability to create, read, or write files,
+and the exceeding of certain internal limits that
+make future output unlikely to be useful.
+.sc
+Debugging.
+Strings, macros, and number registers
+can be \fIwatched\fR.
+Whenever a change of a watched object occurs,
+or when the object is renamed, removed, or aliased,
+a notification message is printed.
+It is formatted like an error message
+and includes the name of the current (or last previous) request,
+the name of the objects affected,
+and, in case of a change,
+the new contents of the object.
+.pg
+When an object is removed,
+watching is disabled.
+If an object of the same name is created later,
+it is not watched
+unless watching is explicitly enabled for it again.
+.h1
+.bta warn
+\fB&warn\fI|\(+-bits\(or\^name\fR \fIw\fR \(en Control warning messages,
+which may be given either numerically
+as bits or symbolically as names.
+With a \fB+\fR sign, the respective bit or name is enabled in
+addition to the currently enabled categories;
+with a \fB\-\fR sign, it is disabled.
+Omitting the sign sets the categories exactly to
+the given bit or name.
+\fB&warn 0\fR disables all warnings.
+The \A'n_.warn'\fB.warn\fR register represents
+the currently activated warning categories
+as bits.
+.bta spreadwarn
+\fB&spreadwarn\fI|N\fR toggle \fBm\fR Set or toggle a limit that causes a warning to be printed when
+it is exceeded by the adjustment that is computed for the current
+output line in \fBad\ b\fR mode.
+The limit is initially 3\|m, but the
+warning message is disabled.
+Calling this request without an
+argument toggles the warning message; calling it with an argument
+enables the warning and sets the limit to \fIN\fR (default scale m).
+.bta errprint
+\fB&errprint\fI|string\fR newline \(en Print \fIstring\fR like an error message.
+.bta watch
+\fB&watch\fI|xx\fR off ignore \(en Notify on change of string or macro \fIxx\fR.
+If \fIxx\fR does not exist,
+it is created as an empty macro
+in order to watch future changes.
+.bta unwatch
+\fB&unwatch\fI|xx\fR off ignore \(en Disable notification for string or macro \fIxx\fR.
+.bta watchlength
+\fB&watchlength\fI|N\fR ignore \(en On change, report
+the contents of macros and strings up to length \fIN\fR.
+When \fIN\fR is zero or small,
+printing of macro and string contents is disabled.
+.bta watchn
+\fB&watchn\fI|R\fR off ignore \(en Notify on change of register \fIR\fR.
+If \fIR\fR does not exist,
+it is created in order to watch future changes.
+No effect on read-only registers
+and some of the predefined general registers.
+.bta unwatchn
+\fB&unwatchn\fI|R\fR off ignore \(en Disable notification for register \fIR\fR.
+.pg
+.mha s_color
+Color Support
+.\" This chapter partially derived from
+.\" Plan 9 v4 /sys/src/cmd/postscript/mcolor/mcolor.5
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.pg
+While \*(TR does not support colors directly,
+\fIdpost\fR is able to embed arbitrary \*(PS color instructions
+using the \fB\eX\'SetColor: \fIcolor\fB\'\fR escape sequence.
+Possible values for \fIcolor\fR include:
+.xx
+.nr w \w'\(en\ '
+.in +\nwu
+.ti -\nwu
+\(en\ ``\fInamed-color\fR'',
+e.g. ``red''.
+Named colors (\s-1RGB\s+1 only) must be listed in the
+``colordict''
+dictionary in file
+\fB/usr/ucblib/doctools/font/devps/postscript/color.ps\fR.
+Every \fIcolor\fR argument that begins with a letter
+is treated as a named color.
+.xx
+.ti -\nwu
+\(en\ ``\fIred green blue \fBrgb\fR'',
+e.g. ``.2 .3 .4 rgb''
+(\fBrgb\fR is an abbreviation for the \*(PS \fBsetrgbcolor\fR operator)
+.xx
+.ti -\nwu
+\(en\ ``\fIhue saturation brightness \fBhsb\fR'',
+e.g. ``.5 .6 .7 hsb''
+(\fBhsb\fR is an abbreviation for the \*(PS \fBsethsbcolor\fR operator)
+.xx
+.ti -\nwu
+\(en\ ``\fIcyan magenta yellow black \fBcmyk\fR'',
+e.g. ``.1 .2 .3 .4 cmyk''
+(\fBcmyk\fR is an abbreviation for the \*(PS \fBsetcmykcolor\fR operator)
+.xx
+.ti -\nwu
+\(en\ ``\fIgray \fBsetgray\fR'',
+e.g. ``.5 setgray''
+.xx
+.ti -\nwu
+\(en\ ``[\fB$\fIsetcolorspace\fR] \fIcomp1 comp2 .\|.\|. compn \fBsetcolor\fR'',
+where \fB$\fIsetcolorspace\fR may be a \*(PS procedure
+defined in the setup section using a
+`\eX\'PSSetup: $setcolorspace {.\|.\|.} bind def\''
+escape sequence.
+This parameter is required if the color space changes
+in the document.
+Otherwise, it may be sufficient
+to install the color space once in the setup section.
+.pg
+Each parameter must be a number in the range between 0.0 and 1.0.
+In the most general case, the value of the
+.I color
+argument is passed to the \*(PS output without interpretation.
+.pg
+Both the text and background color can be selected.
+A
+.I color
+argument of ``\fIcolor1\fR'' \fBon\fR ``\fIcolor2\fR''
+prints text in
+.I color1
+on a background in
+.I color2.
+.pg
+The initial color is black in the \fIDeviceGray\fR color space,
+i.e. the same as ``0 setgray''.
+Once a color is in effect,
+it is re-installed at the top of each output page.
+.pg
+The \fB\-mcolor\fR macro package
+adds another access method to
+the capabilities of color selection
+and reverse video printing.
+It includes the following macro:
+.h1
+.bta CL
+\fB&CL\fI|color|text\fR \s-1RGB\s+1|black \(en Print \fItext\fR in \fIcolor\fR.
+No arguments restores a default color
+(black in \s-1RGB\s+1 color space;
+note that this is different from the initial color).
+If
+.I text
+is omitted the selected
+.I color
+remains in effect until another
+.I color
+is selected.
+If two arguments are given the
+.I text
+is printed in
+.I color
+and then the default color is restored.
+.pg
+.mha s_pics
+Picture Inclusion
+.\" This chapter partially derived from
+.\" Plan 9 v4 /sys/man/6/mpictures
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.pg
+\fIdpost\fR can be advised to include
+other \*(PS documents into the output it generates.
+In general, these documents should be \s-1EPS\s+1
+(Encapsulated \*(PS) files;
+inclusion of more general \*(PS documents,
+especially if they consist of multiple pages,
+will usually not lead to acceptable results.
+.pg
+If a \*(PS file lacks page-delimiting comments,
+the entire file is included.
+If no
+.B %%BoundingBox
+or
+.B %%HiResBoundingBox
+comment is present, the picture is
+assumed to fill an 8.5\(mu11-inch page.
+Nothing prevents the picture from being placed off the page.
+.pg
+\fIdpost\fR handles \s-1DSC\s+1 font comments
+in the included files,
+but it can only supply glyph data
+if a path to the respective font file
+has previously been specified
+with a \*(TR \T'fp'\fBfp\fR\T request.
+It is not necessary that the font is otherwise used
+in the \*(TR input text.
+If \fIdpost\fR cannot retrieve a matching font by this mechanism,
+it indicates this in the \%\fB%%DocumentNeededResources\fR comment
+so that a print manager at a later production stage
+may include the missing data.
+.pg
+.nr nosave 1
+.ne 9
+An example how to combine the following requests and macros is:
+.x1
+.ft B
+&psbb picture.eps
+&nrf scale .25
+&nrf y (\en[ury]p\-\en[lly]p)*\en[scale]
+&nrf x (\en[urx]p\-\en[llx]p)*\en[scale]
+&PI picture.eps "\enyu,\enxu"
+&sp \enyu
+picture description
+.ft R
+.x2
+.nr nosave 0
+.pg
+\*(TR includes a request to assist the inclusion of \s-1EPS\s+1 files:
+.h1
+.bta psbb
+\fB&psbb\fI|filename\fR \(en \(en \
+Read the \fB%%HiResBoundingBox\fR \s-1DSC\s+1 comment,
+or, if no such comment is found, \fB%%BoundingBox\fR,
+from the \*(PS document \fIfilename\fR
+and assign
+the lower left \fIx\fR coordinate to the floating-point register \fBllx\fR,
+the lower left \fIy\fR coordinate to \fBlly\fR,
+the upper right \fIx\fR coordinate to \fBurx\fR,
+and the upper right \fIy\fR coordinate to \fBury\fR.
+All values are in points.
+If an error occurs, the registers are set to zero.
+.br
+.nr nosave 1
+.ne 6
+.nr nosave 0
+.pg
+The \fB\-mpictures\fR macros insert the necessary
+advices to \fIdpost\fR
+to include \*(PS pictures into \*(TR documents.
+The macros are:
+.h1
+.bta BP
+\fB&BP\fI|source|height|width|position|offset|flags|label\fR Define a frame and place a picture in it.
+The arguments are:
+.nr Ind \n(.i
+.de Arg
+.xx
+.ie \\n(.$=0 .nr Argx 1
+.el .nr Argx \\$1
+.nr Argy \\n[Argx]-1
+.in \\n[Ind]u+\\n[Argx]m
+.ti \\n[Ind]u+\\n[Argy]m
+..
+.Arg
+.I source
+Name of a \*(PS picture file, optionally
+suffixed with (\fIn\fR)
+to select page number
+.I n
+from the file (first page by default).
+.Arg
+.I height
+Vertical size of the frame, default \fB3.0i\fR.
+This argument is interpreted as a value in inches
+unless it ends with a \fBu\fR scale indicator.
+.Arg
+.I width
+Horizontal size of the frame, current line length by default.
+This argument is interpreted as a value in inches
+unless it ends with a \fBu\fR scale indicator.
+.Arg
+.I position
+\fBl\fR (default), \fBc\fR, or \fBr\fR
+to left-justify, center, or right-justify the frame.
+.Arg
+.I offset
+Move the frame horizontally from the original
+.I position
+by this amount, default \fB0i\fR.
+.br
+.ne 2
+.Arg
+.I flags
+One or more of:
+.Arg 2
+\fBa \fId\fR
+Rotate the picture clockwise
+.I d
+degrees, default \fId\fR =90.
+.Arg 2
+.B o
+Outline the picture with a box.
+.Arg 2
+.B s
+Freely scale both picture dimensions.
+.Arg 2
+.B w
+White out the area to be occupied by the picture.
+.Arg 2
+\fBl\fR, \fBr\fR, \fBt\fR, \fBb\fR
+Attach the picture to the left right, top, or bottom of the frame.
+.Arg
+.I label
+Place
+.I label
+at distance
+.B 1.5v
+below the frame.
+.in \n[Ind]u
+.xx
+If there is room,
+.B BP
+fills text around the frame.
+Everything destined for either side of the frame
+goes into a \T'c_diversion'diversion\T to be retrieved when the accumulated
+text sweeps past the trap set by
+.B BP
+or when the \T'c_diversion'diversion\T is explicitly closed
+by \fBEP\fR.
+.xx
+\fBBP\fR is not recommended for text filling
+in \T'ad_p'\fBad\ p\fR\T mode
+since its trap-based mechanism
+may result in less optimal output,
+and since it is not possible
+to define the shape of a complete paragraph
+with the information it has.
+Use a combination of
+\T'psbb'\fBpsbb\fR\T,
+\T'pshape'\fBpshape\fR\T,
+and \T'PI'\fBPI\fR\T instead.
+.bta EP
+\fB&EP\fR \(en \(en \(en End a picture started by \fBBP\fR;
+\fBEP\fR is usually called implicitly by a trap
+at frame bottom.
+A picture and associated text silently disappear if
+a diversion trap set by
+.B BP
+is not reached.
+Call
+.B EP
+at the end of the document to retrieve it.
+.bta PI
+\fB&PI\fI|source|height\fB,\fIwidth\fB,\fIyoffset\fB,\fIxoffset|flags\fR This low-level macro, used by \fBBP\fR,
+can help do more complex things.
+The two arguments not already described are:
+.Arg
+.I xoffset
+Offset the frame from the left margin by this amount, default
+\fB0i\fR.
+This argument is interpreted as a value in inches
+unless it ends with a \fBu\fR scale indicator.
+.Arg
+.I yoffset
+Offset the frame from the current baseline,
+measuring positive downward, default \fB0i\fR.
+This argument is interpreted as a value in inches
+unless it ends with a \fBu\fR scale indicator.
+.in \n[Ind]u
+.mha s_pdf
+Special Features for \*[PDF] Documents
+.pg
+.sc
+The basics.
+\*(TR does not directly generate \*[PDF] documents;
+the \fIdpost\fR postprocessor generates \*(PS output
+which can be converted to \*[PDF] by
+utilities like Ghostscript's \fIps2pdf\fR or Adobe Distiller.
+But it is possible to include special advices
+to this conversion program in \*(PS
+using the \fBpdfmark\fR operator.
+Such advices are generated automatically by some \*(TR requests,
+e.g. by \T'cropat'\fBcropat\fR\T \T's_page'(\(sc3).\T
+Other advices can be given explicitly using the
+\fB\eX\'PS:\fR...\fB\'\fR
+or
+\fB\eX\'PDFMark:\fR...\fB\'\fR
+escape sequences.
+.pg
+.sc
+Preparations.
+When generating PDF files,
+it is especially important to set the paper format
+using the \T'mediasize'\fBmediasize\fR\T request \T's_page'(\(sc3).\T
+This is because calculations in \*[PDF] documents
+are generally performed in relation regard to the page bottom,
+while \*(TR performs its calculations in relation to the page top.
+Failing to set the paper format correctly
+will thus usually result in vertical displacements
+of \*[PDF]-specific elements.
+.pg
+.sc
+\A'c_pdfdescr'Specifying document description items.
+PDF documents can include meta-data about author, title etc.
+To generate such data,
+use the \fBPDFMark\fR device command of \fIdpost\fR
+with the \*(TR \T'e_X'\fB\eX\fR escape sequence\T, e.g.\&
+.x1
+.ne 2
+\fB\eX\'PDFMark: Author \fIMy Name\fB\'
+\fB\eX\'PDFMark: Keywords \fITypesetting, PDF documents\fB\'
+\fB\eX\'PDFMark: Subject \fItroff, dpost, and pdfmark\fB\'
+\fB\eX\'PDFMark: Title \fISpecial features for PDF documents\fB\'
+\fB&br\fR
+.x2
+.xx
+Unicode characters are accepted in these text strings.
+Note that whitespace and newlines surrounding \fB\eX\fR escape sequences
+are considered to be input text by \*[TR,]
+and need a \fIbreak\fR before they are output.
+To avoid inserting superfluous spaces or line breaks,
+specify this information before an initial
+\fB&sp \(or\en[topmargin]u\fR request or the like in the document.
+.pg
+.sc
+Direct use of the pdfmark operator.
+In cases where \*(TR or \fIdpost\fR do not
+include an explicit mechanism for \*[PDF] features,
+it is possible to call the \fBpdfmark\fR operator directly.
+Examples are:
+.xx
+.in +2m
+.ti -2m
+.ne 2
+.nr nosave 1
+\fB\eX\'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark\e'\fR
+.br
+.nr nosave 0
+This causes the \*[PDF] viewer to print the document title
+\T'c_pdfdescr'(as in \(sc24.3)\T in the application title bar
+instead of the \*[PDF] file name.
+.xx
+.ti -2m
+.nr nosave 1
+.ne 2
+\fB\eX\'PS: [ /PageMode /UseOutlines /DOCVIEW pdfmark\'\fR
+.br
+.nr nosave 0
+This causes the \*[PDF] viewer to display the bookmarks toolbar
+when the document is opened.
+Other interesting values are
+\fB/UseNone\fR (the default),
+\fB/UseThumbs\fR (display page thumbnails),
+and \fB/FullScreen\fR (open the document in full-screen mode).
+.xx
+.ti -2m
+.nr nosave 1
+.ne 2
+\fB\eX\'PS: [ /PageMode /Page \fIN\fB /View [/XYZ null null null] /DOCVIEW pdfmark\'\fR
+.br
+.nr nosave 0
+Page \fIN\fR is displayed instead of the first page
+when the document is opened.
+.xx
+.ti -2m
+.nr nosave 1
+.ne 2
+\fB\eX\'PS: [ {Catalog} << /PageLayout /TwoPageRight >> /PUT pdfmark\'\fR
+.br
+.nr nosave 0
+With this command,
+the \*[PDF] viewer displays two pages at once.
+Other interesting values are
+\fB/SinglePage\fR (display one page at once),
+\fB/OneColumn\fR (display one page in continuous mode),
+and
+\fB/TwoColumnRight\fR (display two pages in continuous mode).
+.xx
+.ti -2m
+.nr nosave 1
+\fB\eX\'PS: [ /Label (\fItext\fB) /PAGELABEL pdfmark\'\fR
+.br
+.nr nosave 0
+The given \s-1ASCII\s+1 \fItext\fR is shown next to the page number
+of the current page
+in the \*[PDF] viewer toolbar.
+This is particularly useful to implement roman page numbers
+in \*[PDF] documents
+in combination with the \T'af'\fBaf\fR\T request.
+.in -2m
+.pg
+.sc
+Creating bookmarks.
+Bookmarks are usually shown by the \*[PDF] viewer at the left of the
+window.
+When you create \*[PDF] files longer than a few pages for viewing
+on the screen, you should include bookmarks for each chapter or section
+because they enable the reader to navigate much more conveniently.
+.pg
+Start with a bookmark for the title page.
+``0'' is the level of the bookmark in the tree structure,
+and the following arguments form the name of the bookmark:
+\fB\eX\'PDFMark: Bookmark \fI0 Title\fB\'\fR.
+Similar to the description specifications above, this bookmark should
+appear before the top margin of the title page.
+.pg
+When generating bookmarks for chapters and sections, it is usually most
+practical to include the command in the chapter/section macros:
+.x1
+.ft B
+&de CH
+& bp
+\ev\'\(or\-1v\-4p\'\e\eX\'PDFMark: Bookmark 0 \e\e$1\'
+& sp \(or\e\en[topmargin]u
+& ce
+& sp
+&.
+&de SH
+& ce
+\e\e$1\ev\'\-1v\'\e\eX\'PDFMark: Bookmark 1 \e\e$1\'
+& sp
+&.
+.ft R
+.x2
+Unless the bookmark command occurs at the top of the page,
+it refers to the baseline of the text;
+this is why a \fB\ev\'\-1v\'\fR command occurs
+before it in the section macro.
+\fB\ev\'\-1v\-4p\'\fR at the top of the page
+is a special value that causes the upper left corner to be shown.
+.pg
+The level of the first bookmark in a document must be of level 0.
+The levels of following bookmarks must be either
+.xx
+.nr w \w'\(en\ '
+.in +\nwu
+.ti -\nwu
+\(en\ one higher than the level of the previous bookmark.
+The new bookmark then becomes a child of the previous bookmark.
+.xx
+.ti -\nwu
+\(en\ equal to the level of the previous bookmark.
+In this case, both bookmarks are grouped
+below the first previous bookmark of the first higher level,
+or at the top level for level 0.
+.xx
+.ti -\nwu
+\(en\ lower than the level of the previous bookmark.
+This terminates the list of children of the higher levels.
+.in -\nwu
+.pg
+As an example, the following level structure is legal, and causes the
+PDF viewer to group the bookmarks as shown:
+.xx
+.nf
+.lc \-
+.ta 1i 1i+3m 1i+6m 1i+9m
+ 0 title page
+ 0 Chapter 1
+ \(bu1 Section 1.1
+ \(bu1 Section 1.2
+ \(or \(bu2 Subsection 1.2.1
+ \(or \(bu2 Subsection 1.2.2
+ \(or \(bu2 Subsection 1.2.3
+ \(bu1 Section 1.3
+ \(bu2 Subsection 1.3.1
+ \(bu2 Subsection 1.3.2
+ 0 Chapter 2
+ \(bu1 Section 2.1
+ 0 Index
+.fi
+.pg
+In case of an illegal structure in which the level of a bookmark is
+raised by more than one above its predecessor,
+\fIdpost\fR emits a warning and assigns the highest legal level.
+However, a garbled document structure may result:
+.xx
+.nf
+ 0
+ \(bu2 \(lh the first level 2 is corrected to 1 by \fIdpost\fR
+ \(bu2 so the second bookmark becomes a child of the first
+.fi
+.xx
+.lc
+Thus such \fIdpost\fR warnings should usually be taken seriously, and the
+document should be corrected.
+.pg
+An alternate form of bookmarks,
+\fB\eX\'PDFMark: BookmarkClosed \fR...\fB\'\fR,
+is available.
+The syntax is the same,
+but the initial view in the tree structure is collapsed,
+i.e. no children are shown by default.
+It the bookmark has no children,
+there is no difference to a regular bookmark.
+.sc
+Links.
+\*[PDF] documents can contain links
+that cause the viewer to jump to a certain location
+when the user clicks on an area of the page,
+as well as links to external documents in URI form.
+In \*[TR,] such links can be built as follows:
+.pg
+The \A'e_A'\fB\eA\fI\'string\'\fR escape sequence defines an anchor,
+i.e. a location to jump to,
+with the name \fIstring\fR
+(consisting of \s-1ASCII\s0 characters).
+.pg
+The actual link is built using two \A'e_T'\fB\eT\fR escape
+sequences surrounding the text that forms the area to click on,
+e.g.: \fB\eT\fI\'string\'text of link\fB\eT\fR.
+\fIstring\fR must correspond to an anchor
+anywhere in the document.
+.pg
+An URI link is built likewise using two \A'e_W'\fB\eW\fR escape sequences:
+\fB\eW\fI\'uri\'text of link\fB\eW\fR.
+The \fIuri\fR part is not interpreted by \*(TR,
+but just written to the generated output.
+Typically, this will be a link to a web page,
+as in
+<\W'http://n-t-roff.github.io/heirloom/doctools.html'\eW'http://n-t-roff.github.io/heirloom/doctools.html'http://n-t-roff.github.io/heirloom/\:doctools.html\eW\W>.
+.pg
+The appearance of links can be changed;
+links are normally surrounded by an 1 point wide blue border.
+The color can be set using
+\fB\eX'SetLinkColor: \fIred green blue\fB'\fR,
+where \fIred, green, and blue\fR are values between 0 and 1.
+The border can be set using
+\fB\eX'SetLinkBorder: \fIbx by width\fB'\fR,
+where \fIbx\fR and \fIby\fR define the horizontal
+and vertical corner radius, respectively,
+and \fIwidth\fR defines the width.
+.pg
+The border style can be changed with the
+\fB\eX\(aqSetBorderStyle: \fIarguments\fB\(aq\fR command.
+The \fIarguments\fR are the same
+as for the \fB/BS\fR pdfmark operator
+or the \*[LaTeX] \fBhyperref pdfborderstyle={}\fR variable.
+.pg
+Likewise,
+\fBSetULinkColor\fR, \fBSetULinkBorder\fR, and \fBSetUBorderStyle\fR
+are available for URI links.
+.pg
+E.\^g. for this document the commands
+.x1
+.ft B
+\eX\(aqSetBorderStyle: /S/U/W 0.1\(aq
+\eX\(aqSetUBorderStyle: /S/U/W 0.1\(aq
+.ft R
+.x2
+are used.
+.\"""
+.pg
+.mha s_groff
+\f(BIgroff\fP Compatibility
+.pg
+Heirloom \*(TR provides most of the extensions
+to the \*(TR language introduced in \*(GR\|\T'ref_10'\*u10\*d\T.
+Consequently, it is possible
+to create documents, macro sets, and preprocessors
+that can be used with both
+Heirloom \*(TR and \*[GR]
+and use functionality beyond the features
+that were supported by traditional \*[TR.]
+.pg
+Important differences to \*(GR are:
+The concept of an \fIinput level\fR
+regarding delimiters in escape sequences
+and macro arguments is not supported.
+Control characters are recognized
+at the beginning of a line
+even if preceded by escape sequences
+that do not result in formatting stream objects,
+such as \T'e_f'\fB\ef\fR\T, \T'e_s'\fB\es\fR\T, or \T'e_;'\fB\e;\fR\T.
+\T's_font'Font handling\T,
+\T's_color'color support\T,
+\T's_pics'picture inclusion\T,
+and
+\T's_pdf'\*[PDF] structuring\T
+are realized using different mechanisms.
+The \fIdpost\fR post-processor does not recognize
+the \fB\eX\'ps:\fR...\fB\'\fR escape sequence
+(or \fBx\ X\ ps:\fR command, respectively)
+that is used for pass-through \*(PS
+with the \fIgrops\fR post-processor of \*(GR
+\T'x_X_PS'(\fIdpost\fR accepts \fB\eX'PS:\fR...\fB\'\fR and \fBx\ X\ PS:\fR);\T
+the \*(PS output generated by \fIdpost\fR is very different
+to that generated by \fIgrops.\fR
+\fIdpost\fR accepts the \*(GR drawing command extensions
+and sets the horizontal and vertical positions accordingly,
+but otherwise ignores line width, color, and fill specifications.
+.br
+.nr nosave 1
+.ne 6
+.nr nosave 0
+.sc
+Conditional groff compatibility.
+A request is available to control additional
+functions for \*(GR compatibility:
+.xx
+.h1
+.bta cp
+\fB&cp\fI|N\fR off \(en \(en Enable \*(GR compatibility mode.
+This is the name of \*(GR\fI's\fR own compatibility request
+with adapted semantics:
+Regardless of the argument,
+\*(GR compatibility mode is activated.
+If \fIN\fR=0, compatibility with traditional \*(TR is decreased,
+and Heirloom \*(TR \T'c_extension'extension level 3\T is set.
+If \fIN\fR\(!=0 or missing,
+compatibility with traditional \*(TR is improved,
+and Heirloom \*(TR \T'c_extension'extension level 1\T is set.
+Thus \fB&cp\ 0\fR results in maximum \*(GR compatibility.
+.pg
+The \fBcp\fR request sets the general number register \A'n_.g'\fB&g\fR
+to 1 in \*(GR compatibility mode and to 0 otherwise.
+The general number register \A'n_.C'\fB&C\fR
+is only assigned by the \fB&cp\fR request
+and corresponds to its argument.
+.pg
+Any use of the \T'xflag'\fBxflag\fR request\T disables \*(GR compatibility
+and accordingly sets the \fB&g\fR register to 0.
+.pg
+The \T'n_.X'\fB&X\fR read-only number register\T holds
+the current extension level after \fBcp\fR as usual.
+It can thus be used
+to determine whether running under \*(GR
+or in the \*(GR compatibility mode of Heirloom \*[TR.]
+Since they are read-write,
+any convenient value can then be assigned
+to the \fB&C\fR and \fB&g\fR registers.
+.pg
+Nevertheless it is not recommend to do so
+without reason.
+For instance macro packages read \en(.g to test
+if they are processed with groff.
+Setting \fB&g\fR to \fB1\fR with the \fB&nr\fR request
+also has some side effects in Heirloom \*(TR:
+.de ListBegin
+. sp .25
+. in +4n
+..
+.de ListItem
+. sp .25
+. ti -2n
+. nop \(bu\h'|2n'\c
+..
+.de ListEnd
+. in -4n
+. sp .5
+. ns
+..
+.ListBegin
+.tr &&
+.ListItem
+\fIgroff\fR\^'s notation for accessing symbols with
+\fB\e[char\fIn\fB]\fR and \fB\e[u\fIXXXX\fB]\fR
+are enabled.
+.ListItem
+The escape \fB\e%\fR marks optional hyphenation points
+inside a word or suppresses hyphenation prefixed to a word
+(\fIeven when this word containes dashes\fR).
+A problem in macro packages is that it cannot be guaranteed
+that no character is before word (e.\^g. quotes or parentheses).
+\*(GR allows to force that \fB\e%\fR acts as a hyphenation
+suppression escape when it follows the zero-width characters
+\fB\e)\fR or \fB\e&\fR.
+This does not work with traditional \*(TR, unfortunately.
+The command \fB.nr\|\^.g\|\|1\fR enables the \*(GR behaviour.
+.ListItem
+The algorithm \*(GR uses for the three part title request \fB.tl\fR
+leads to a different placement of the middle title element
+with \*(NR under certain conditions.
+This is emulated by setting \fB.g\fR to 1.
+.ListItem
+\fIgroff\fR\^'s left italic correction escape \fB\e,\fR is removed
+from the input instead of producing a \(oq\fB,\fR\(cq.
+.ListEnd
+.tr &.
+.pg
+The \T'n_.x'\fB&x\fR\T and \T'n_.y'\fB&y\fR\T registers
+are read-write in \*(GR compatibility mode;
+they correspond to the emulated \*(GR version number.
+The \fBcp\fR request sets them to 1 and 18, respectively.
+.pg
+The \T'n_.k'\fB&k\fR number register\T behaves differently
+in \*(GR compatibility mode:
+If the preceding text character was a newline,
+the width of a space character is added to the value.
+If the previous line was \T'c_intr'interrupted\T with \T'e_c'\fB\ec\fR\T,
+the length of the partially collected word
+(as in the \T'n_.kc'\fB&kc\fR\T number register)
+is part of the value.
+.pg
+The space width always defaults to the value
+obtained from the font metrics file
+in \*(GR compatibility mode;
+the \T'spacewidth'\fBspacewidth\fR\T request is not effective.
+.pg
+If the file specified with a \T'so'\fBso\fR\T request
+cannot be opened,
+processing continues with the current file
+in \*(GR compatibility mode.
+.pg
+A control or escape character written in a diversion
+has no special meaning
+if the diversion is re-read in \*(GR compatibility mode.
+.pg
+Unless a string is interpolated with explicit arguments,
+the arguments to the surrounding macro instance remain visible
+and can be referenced by the \T'e_$'\fB\e$\fR\T escape sequence
+inside the string in \*(GR compatibility mode.
+.pg
+Any call to the \fBcp\fR request
+activates the following \*(GR compatibility escape sequences;
+any call to the \T'xflag'\fBxflag\fR\T request disables them.
+.pg
+The \fB\eA\fI'string'\fR escape sequence
+checks whether \fIstring\fR is acceptable as the name
+of a string, macro, number register, or font,
+and evaluates to ``1' if it does and to ``0'' otherwise.
+The Heirloom \*(TR anchoring escape sequence
+\T'e_A'\fB\eA\fR\T is not available in \*(GR compatibility mode.
+.pg
+The \A'e_/'\fB\e/\fR escape sequence inserts an italic correction,
+i.e. a small piece of horizontal motion
+(1/12\|em) that should be sufficient
+to separate an italic character from a following roman character.
+Similarly, \A'e_,'\fB\e,\fR adds a left italic correction,
+always a zero motion,
+that should be sufficient
+to separate a roman character
+from an immediately following italic character.
+Both exist to provide basic \*(GR compatibility only.
+It is otherwise recommended that the \T'kernpair'\fBkernpair\fR\T request
+is used for these purposes;
+it allows a more exact optical separation
+since the shape of both characters can be taken into account
+and also does not need to be be positioned directly in the input text
+at every occasion.
+.pg
+The \T's_graphics'\fB\eD\'p\fR|...\fB\'\fR polygon drawing escape sequence\T
+is altered such that the path is always closed,
+i.e. if the last line part does not return to the starting position,
+an additional line is added that does.
+.pg
+The escape sequences
+\fB\eF\fIx\fR, \fB\eF(\fIxx\fR, \fB\eF[\fIxxx\fB]\fR,
+\fB\em\fIx\fR, \fB\em(\fIxx\fR, \fB\em[\fIxxx\fB]\fR,
+\fB\eM\fIx\fR, \fB\eM(\fIxx\fR, \fB\eM[\fIxxx\fB]\fR,
+are read but discarded in \*(GR compatibility mode
+since the corresponding concepts of font families
+and built-in color support are foreign to Heirloom \*[TR.]
+All of them generate a \T's_warning'warning\T of the \fBescape\fR category.
+.sc
+groff compatibility macros.
+As an additional aid in formatting documents
+that had originally been written with \*(GR in mind,
+Heirloom \*(TR provides the \fB\-mg\fR compatibility macro package.
+Specifically:
+.pg
+\fB&cp\ 0\fR is executed, so
+\*(TR is operated in \*(GR compatibility mode
+at \T'c_extension'extension level\T 3.
+.pg
+The \T'p_locale'locale\T is set to \fBen_US\fR;
+this assumes that input to \*(GR is conventionally
+in the \s-1ISO-8859-1\s0 encoding.
+.pg
+The \T'hylang'hyphenation language\T is set to \fBen_US\fR.
+Since both \*(GR and Heirloom \*(TR then
+use the same hyphenation algorithm and patterns
+derived from \fIT\h'-.1n'\v'.5n'E\v'-.5n'X,\fR
+it can be assumed that words are subject
+to hyphenation at the same points.
+.pg
+The \fBde1\fR, \fBam1\fR, \fBds1\fR, and \fBas1\fR \*(GR requests
+are emulated using
+\T'de'\fBde\fR\T,
+\T'am'\fBam\fR\T,
+\T'ds'\fBds\fR\T,
+and
+\T'as'\fBas\fR\T,
+respectively.
+It is not expected that the \*(GR compatibility macros
+are used to format documents
+that require compatibility with traditional \*[TR.]
+.pg
+.nr nosave 1
+The \T'ftr'\fBftr\fR\T request is removed
+since the \*(GR request with the same name
+provides completely different semantics.
+.br
+.nr nosave 0
+.pg
+\T'fallback'\fBfallback\fR\T is used to emulate \fBfspecial\fR;
+these requests should be compatible.
+No emulation is provided for the \fBspecial\fR request;
+all other fonts are searched for missing characters
+in Heirloom \*(TR by default.
+.pg
+\T'track'\fBtrack\fR\T is used to emulate \fBtkf\fR.
+These requests are not completely compatible:
+\T'track'\fBtrack\fR\T does not affect the last character on a line
+and thus does not alter the visual length of lines like \fBtkf\fR does;
+\T'track'\fBtrack\fR\T is applied when formatting an object
+defined with the \T'char'\fBchar\fR request\T;
+\T'track'\fBtrack\fR\T needs to remain in effect
+until all affected characters have been physically output.
+Nevertheless, the replacement should suffice for most applications.
+.pg
+\*(GR characters with two-character names
+are mapped to \*(PS character names
+using the \T'char'\fBchar\fR\T request.
+.pg
+The following macro is also provided
+as an emulation for the corresponding \*(GR request:
+.xx
+.h1
+.bta mso
+\fB&mso\fI|name\fR \(en ignored \(en Include the macro package \fIname\fR.
+If the environment variable \fB\s-1GROFF_TMAC_PATH\s+1\fR is set,
+each of the colon-separated directories in it
+is checked for the files \fIname\fR, \fIname\fR.tmac,
+m\fIname\fR.tmac, and tmac.\fIname\fR.
+After this, the standard \*(TR macro directories
+are checked in the same way.
+Once a file has been found,
+it is read in as with the \T'so'\fBso\fR\T request,
+and the search stops.
+.mha s_output
+Output Language.
+.pg
+\*(TR
+produces its output in a language that is independent of any
+specific output device,
+except that the numbers in it have been computed on the basis
+of the resolution of the device,
+and the sizes, fonts, and characters that that device can print.
+Nevertheless it is quite possible to interpret that output
+on a different device, within the latter's capabilities.
+.de tb
+.xx
+.nr nosave 1
+.ne 3v
+.nf
+.in .5i
+..
+.tb
+.ta .8i
+\fBs\^\fIn\fR set point size to \fIn\fR, fractional parts (if any) ignored
+\fBs\-23\^\fId.d\fR set point size to \fId.d\fR
+\fBf\^\fIn\fR set font to \fIn\fR
+\fBc\^\fIc\fR print character \fIc\fR
+\fBC\^\fIname\fR print the character called \fIname\fR; terminate \fIname\fR by white space
+\fBCPS\^\fIname\fR print the character with the given \*(PS \fIname\fR
+\fBN\^\fIn\fR print character \fIn\fR on current font
+\fBH\^\fIn\fR go to absolute horizontal position \fIn\fP (\fIn\fR\(>=0)
+\fBV\^\fIn\fR go to absolute vertical position \fIn\fP (\fIn\fR\(>=0, down is positive)
+\fBh\^\fIn\fR go \fIn\fP units horizontally; \fIn\fR<0 is to the left
+\fBv\^\fIn\fR go \fIn\fP units vertically; \fIn\fR<0 is up
+\fInnc\fR move right \fInn\fP, then print \s-1ASCII\s0 character \fIc\fP; \fInn\fP must be exactly 2 digits
+\fBp\^\fIn\fR new page \fIn\fP begins\(emset vertical position to 0
+\fBn\^\fIb a\fR end of line (information only\(emno action); \fIb\fP = space before line, \fIa\fP = after
+\fBw\fR paddable word space (information only\(emno action)
+\fBD\^\fIc ...\en\fR graphics function \fIc\fR; see below
+.nr nosave 0
+\fBx ...\en\fR device control functions; see below
+\fB# ...\en\fR comment
+.pg
+All position values are in units.
+Sequences that end in digits must be followed by a non-digit.
+Blanks, tabs and newlines may occur as separators
+in the input, and are mandatory to separate constructions
+that would otherwise be confused.
+Graphics functions, device control functions, and comments extend to the
+end of the line they occur on.
+.br
+.nr nosave 1
+.ne 6
+.nr nosave 0
+.pg
+The device control and graphics commands are intended as open-ended
+families, to be expanded as needed.
+The graphics functions coincide directly with the \T'e_D'\fB\eD\fR\T
+sequences:
+.tb
+.ta 1.2i
+\fBD\^l \fIdh dv \fRdraw line from current position by \fIdh,\|dv\fR
+\fBD\^p \fIa b c d ... \fRdraw polygon, i.e. a line to \fIa,\|b\fR, then to \fIc,\|d\fR, then ...
+\fBD\^c \fId \fRdraw circle of diameter \fId\fR with left side at current position
+\fBD\^e \fIu v \fRdraw ellipse of diameters \fIu\fP and \fIv\fP
+\fBD\^a \fIa b c d\fB \fRdraw arc from current position to \fIa\fR+\fIc\fR,\|\fIb\fR+\fId\fR, \fRwith center at \fIa\fR,\|\fIb\fR from current position
+.nr nosave 0
+\fBD\^\(ap \fIa b c d...\fB \fRdraw B-spline from current position by \fIa\fR,\|\fIb\fR, \fRthen by \fIc\fR,\|\fId\fR, then by \fIc\fR,\|\fId\fR, then ...
+\fBD\^z \fIa b c d...\fB \fRfor any other \fIz\fR is uninterpreted
+.pg
+In all of these, \fIx,\|y\fR is an increment on the current horizontal and
+vertical position,
+with down and right positive.
+All distances and dimensions are in units.
+.br
+.nr nosave 1
+.ne 5
+.nr nosave 0
+.pg
+The device control functions begin with \fBx\fP,
+then a command, then other parameters.
+.tb
+.ta 1.5i 1.5i+1m
+\fBx T \fIs\fP \fRname of typesetter is \fIs\fR
+.nr nosave 0
+\fBx r \fIn h v\fP \fRresolution is \fIn\fR units/inch;
+ \fIh\fR = minimum horizontal motion, \fIv\fR =\
+ minimum vertical motion
+.nr nosave 1
+\fBx i \fRinitialize\fP
+\fBx f \fIn s\fP \fRmount font \fIs\fR on font position \fIn\fR
+\fBx f \fIn s filename flags\fR \fIfilename\fR contains metrics for font \fIs\fR on position \fIn\fR using \fIflags\fR
+\fBx p \fRpause\(emcan restart
+\fBx s \fRstop\(emdone forever
+\fBx t \fRgenerate trailer information, if any
+\fBx H \fIn\fP \fRset character height to \fIn\fR, fractional parts (if any) ignored
+\fBx H \-23 \fId.d\fR set character height to \fId.d\fR
+\fBx S \fIn\fP \fRset slant to \fIn\fR
+\fBx X \fIany\fP \fRgenerated by the \T'e_X'\fB\eX\fR\T and \T'e_Y'\fB\eY\fR functions\T
+\fBx X Anchor \fIy,x id\fR specify PDF link anchor \
+(generated by the \fB\eA\fR request)
+\fBx X Anchor \fIid\fR specify HTML link anchor
+\fBx X BleedAt \fIL T W H\fR generated by the \T'bleedat'\fBbleedat\fR request\T
+\fBx X CropAt \fIL T W H\fR generated by the \T'cropat'\fBcropat\fR request\T
+\fBx X HorScale \fIpercent\fR scale letters horizontally by \fIpercent\fR (with the \T'letadj'\fBletadj\fR\T request)
+\fBx X LC_CTYPE \fIname\fR sets the \s-1LC_CTYPE\s+1 locale to \fIname\fR
+\fBx X Link \fIx1\fR,\fIy1\fR,\fIx2\fR,\fIy2 id\fR \
+specify PDF link (generated by the \fB\eT\(aq\fIid\fB\(aq\fR request)
+\fBx X Link \fIid\fR begin HTML link (generates \fB<a href="\fIid\fB">\fR)
+\fBx X Link\fR end HTML link (generates \fB</a>\fR)
+.ne 2
+\fBx X PaperSize \fIW H n\fR generated by the \T'mediasize'\fBmediasize\fR\T and \T'papersize'\fBpapersize\fR\T requests
+ \fIn\fR is non-zero for \T'mediasize'\fBmediasize\fR\T
+\A'x_X_PS'\fBx X PS \fIcommand\fR embed \*(PS \fIcommand\fR
+\fBx X PSSetup \fIcommand\fR embed \*(PS \fIcommand\fR in global setup section
+\fBx X SetColor \fIcolor\fR change printing \fIcolor\fR
+\fBx X SupplyFont \fIfont file\fR supply data from \fIfile\fR for \*(PS \fIfont\fR
+\fBx X Sync\fR instructs to flush position and font information immediately
+\fBx X Track \fIn\fR gives a hint that following characters are tracked by \fIn\fR units
+ interpretation is optional; following positions are not changed
+.nr nosave 0
+\fBx X TrimAt \fIL T W H\fR generated by the \T'trimat'\fBtrimat\fR\T request
+\fBx X ULink \fIx1\fR,\fIy1\fR,\fIx2\fR,\fIy2 URL\fR \
+specify PDF URL link (generated by the \fB\eW\(aq\fIid\fB\(aq\fR request)
+\fBx X ULink \fIURL\fR begin HTML URL link (generates \fB<a href="\fIURL\fB">\fR)
+\fBx X ULink\fR end HTML URL link (generates \fB</a>\fR)
+\fBx \fIany\fP \fRto be ignored if not recognized
+.pg
+Subcommands like ``i''
+may be spelled out like ``init''.
+.pg
+The commands \fBx\ T\fR, \fBx\ r\fR\ ...\fR, and \fBx\ i\fR
+fonts must be mounted before they can be used;
+\fBx\ s\fR comes last.
+There are no other order requirements.
+.br
+.nr nosave 1
+.ne 5
+.nr nosave 0
+.pg
+The following is the output from ``hello, world''
+for a typical printer,
+as described in \T's_device'\(sc27\T:
+.tb
+.ft CW
+.ps -1
+x T ps
+x res 72000 1 1
+x init
+V0
+p1
+x font 1 R /usr/ucblib/doctools/font/devps/R.afm 4
+x font 2 I /usr/ucblib/doctools/font/devps/I.afm 4
+x font 3 B /usr/ucblib/doctools/font/devps/B.afm 4
+x font 4 BI /usr/ucblib/doctools/font/devps/BI.afm 4
+x font 5 CW /usr/ucblib/doctools/font/devps/CW.afm 4
+x font 6 H /usr/ucblib/doctools/font/devps/H.afm 4
+x font 7 HB /usr/ucblib/doctools/font/devps/HB.afm 4
+x font 8 HX /usr/ucblib/doctools/font/devps/HX.afm 4
+x font 9 S1 /usr/ucblib/doctools/font/devps/S1.afm 516
+x font 10 S /usr/ucblib/doctools/font/devps/S.afm 1028
+s10
+f1
+x X LC_CTYPE de_DE.utf8
+H72000
+V12000
+ch
+h5000ce
+h4440cl
+h2780cl
+h2780co
+h5000c,
+wh5830cw
+h7120co
+h5000cr
+h3330cl
+h2780cd
+n12000 0
+x trailer
+V792000
+x stop
+.ps
+.ft R
+.pg
+\*(TR output is normally not redundant;
+size and font changes and position information are not included
+unless needed.
+Nevertheless, each page is normally self-contained,
+for the benefit of postprocessors
+that re-order pages or process only a subset.
+The \fBx X PSSetup\fR command is an exception from this rule;
+it is included only once at the point where the corresponding
+\T'e_X'\fB\eX\fI'\fBPSSetup:\fR\|...\fI'\fR escape sequence\T occurs.
+.pg
+.mha s_device
+Device and Font Description Files
+.pg
+The parameters that describe a output device \fIname\fR
+are read from the directory
+\fB/usr/ucblib/doctools/font/dev\fIname\fR,
+each time
+\*(TR
+is invoked.
+The device name is provided by default,
+by the environment variable \fB\s-1TYPESETTER\s+1\fR,
+or by a command-line argument \fB\-T\fIname\fR.
+The default device name is \fBps\fR,
+for \*(PS output at a resolution of 72\|000\ dpi.
+The pre-defined string \fB.T\fR
+contains the name of the device.
+The \fB\-F\fR
+command-line option may be used to change the default directory.
+.sc
+Device description file.
+General parameters of the device are stored, one per line, in
+the file \fB/usr/ucblib/doctools/font/dev\fIname\^\fB/DESC\fR,
+as a sequence of names and values.
+\*(TR recognizes these parameters, and ignores any
+others that may be present for specific drivers:
+.tb
+.ta 1i
+\fBfonts \fIn F G H ... Z
+\fBsizes \fIs t ... \fB0
+\fBres \fIn\fR
+\fBhor \fIn\fR
+\fBvert \fIn\fR
+\fBunitwidth \fIn\fR
+.nr nosave 0
+\fBcharset\fR
+\fIlist of multi-character character names (optional)\fP
+.pg
+The F, G, ... are font names
+to be initially mounted.
+The list of sizes is a set of integers representing
+some or all of the legal sizes the device can produce,
+terminated by a zero.
+The \fBres\fR
+parameter gives the resolution of the machine in units per inch;
+\fBhor\fR and \fBver\fR
+give the minimum number of units that can be moved
+horizontally and vertically.
+.pg
+Character widths for each font are assumed to be given in machine units
+at point size \fBunitwidth\fR.
+(In other words, a character with a width of
+\fIn\fR is \fIn\fR units wide at size \fBunitwidth\fR.)
+All widths are integers at all sizes.
+.pg
+A list of valid character names may be introduced by \fBcharset\fR;
+the list of names is optional.
+.pg
+A line whose first non-blank character is \fB#\fR is a comment.
+Except that \fBcharset\fR
+must occur last, parameters may appear in any order.
+.br
+.nr nosave 1
+.ne 5
+.nr nosave 0
+.pg
+Here is a subset of the \fB\s-1DESC\s+1\fR
+file for a typical Postscript printer:
+.tb
+.ft CW
+.ps -1
+# Description file for Postscript printers.
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+ 24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+anysize
+allpunct
+afmfonts
+lc_ctype
+res 72000
+hor 1
+vert 1
+unitwidth 1
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 en aa
+ga ru sc dd -> br Sl ps cs cy as os =. ld
+rd le ge pp -+ ob vr rs dq
+sq bx ci fa te ** pl mi eq ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U *W
+.nr nosave 0
+*C *Q *Z ul rn *a *b *x *d *e *f *g *y *i *k
+*l *m *n *o *p *h *r *s *t *u *w *c *q *z
+.ps
+.ft R
+.sc
+\A'c_fontdescr'Font description files.
+Note: This description applies to the old
+\*(TR device-independent font format.
+The current version of \*(TR usually reads font metrics
+directly from Type\ 1, OpenType, or TrueType font files,
+as described for the \T'fp'\fBfp\fR\T request \T's_font'(\(sc2)\T
+and in the separate fonts manual available from the project home page.
+.pg
+Each font is described by an analogous description file,
+which begins with parameters of the font, one per line, followed by a
+list of characters and widths.
+The file for font \fIF\fR
+is \fB/usr/ucblib/doctools/font/dev\fIname\^\fB/\fIF\fR.
+.ta 1.7i
+.tb
+\fBname \fIstr\fR name of font is \fIstr\fR
+\fBligatures ... 0\fR list of ligatures
+\fBspacewidth \fIn\fR width of a space on this font
+\fBspecial\fR this is a special font
+.nr nosave 0
+\fBcharset\fR
+\fIlist of character name, width, ascender/descender, code\fP, tab separated
+.pg
+The \fBname\fR and \fBcharset\fR
+fields are mandatory;
+\fBcharset\fR must be last.
+Comments are permitted,
+as are other unrecognized parameters.
+.pg
+Each line following \fRcharset\fR
+describes one character: its name, its width in units as described above,
+ascender/descender information, and a decimal, octal or hexadecimal value
+by which the output device knows it
+(the \T'e_N'\fB\eN\fR\T
+``number'' of the character).
+The character name is arbitrary, except that \fB\-\-\-\fR
+signifies an unnamed character.
+If the width field contains \fB"\fR,
+the name is a synonym for the previous character.
+The ascender/descender field is 1 if
+the character has a descender (hangs below the baseline, like \fBy\fR),
+is 2 if it has an ascender (is tall, like \fBY\fR),
+is 3 if both,
+and is 0 if neither.
+The value is returned
+in the \T'n_ct'\fBct\fR\T register,
+as computed by the \T'e_w'\fB\ew\fR
+function\T \T'c_width'(\(sc11.2).\T
+.br
+.nr nosave 1
+.ne 5
+.nr nosave 0
+.pg
+Here are excerpts from a typical font description file
+for the same Postscript printer.
+.tb
+.ta .5i 1i 1.5i 2.5i
+.ft CW
+.ps -1
+hy 33 0 45 hyphen \e(hy
+- " - is a synonym for \e(hy
+.sp
+Q 72 3 81
+.sp
+a 44 0 97
+b 50 2 98
+c 44 0 99
+d 50 2 100
+y 50 1 121
+.sp
+em 100 0 208
+.nr nosave 0
+\-\-\- 44 2 220 English pound currency symbol \eN'220'
+\-\-\- 36 0 221 centered dot \eN'221'
+.ps
+.ft R
+.pg
+This says, for example, that the width of the letter \fBa\fR
+is 44 units at point size 10,
+the value of \fBunitwidth\fR.
+Point sizes are scaled linearly and rounded, so the width of \fBa\fR
+will be 44 at size 10, 40 at size 9, 35 at size 8,
+and so on.
+.rm EM
+.bp
+.\" from file m5
+.Bookmark 0 "Tutorial Examples"
+.ii
+.ds H T
+.tr |
+.tr ~|
+.de x1
+.xx
+.ft B
+.in .2i
+.nf
+.ne 2.1
+.ta 1i
+..
+.de x2
+.fi
+.in 0
+.ft R
+.xx
+..
+.br
+.ps \n(PS
+.ce
+.ft B
+.rs
+.sp 0.5i
+\A'part_tutorial'TUTORIAL EXAMPLES
+.ft R
+.sp 2
+.nr p 0
+.2C
+.ns
+.mha T1
+.mk
+Introduction
+.pg
+Although \*(NR and \*(TR
+have by design a syntax reminiscent
+of earlier text processors*
+.fn
+.xx
+.ad b
+*For example:
+P.|A.|Crisman, Ed.,
+.ul
+The Compatible Time-Sharing System,
+MIT Press, 1965, Section|AH9.01
+(Description of \%RUNOFF program on MIT's CTSS system).
+.br
+.ad p
+.ef
+with the intent of easing their use,
+it is almost always necessary to
+prepare at least a small set of macro definitions
+to describe most documents.
+Such common formatting needs
+as page margins and footnotes
+are deliberately not built into \*(NR and \*[TR.]
+Instead,
+the macro and string definition, number register, \T'c_diversion'diversion\T,
+environment switching, page-position trap, and conditional input mechanisms
+provide the basis for user-defined implementations.
+.pg
+The examples to be discussed are intended to be useful and somewhat realistic,
+but won't necessarily cover all relevant contingencies.
+Explicit numerical parameters are used
+in the examples
+to make them easier to read and to
+illustrate typical values.
+In many cases, number registers would really be used
+to reduce the number of places where numerical
+information is kept,
+and to concentrate conditional parameter initialization
+like that which depends on whether \*(TR or \*(NR is being used.
+.mha T2
+Page Margins
+.pg
+As discussed in \T's_page'\(sc3,\T
+\fIheader\fR and \fIfooter\fR macros are usually defined
+to describe the top and bottom page margin areas respectively.
+A trap is planted at page position 0 for the header, and at
+\fI\-N\fR (\fIN\fR from the page bottom) for the footer.
+The simplest such definitions might be
+.x1
+&de hd \e"define header
+\'sp 1i
+&& \e"end definition
+&de fo \e"define footer
+\'bp
+&& \e"end definition
+&wh 0 hd
+&wh \-1i fo
+.x2
+which provide blank 1|inch top and bottom margins.
+The header will occur on the \fIfirst\fR page,
+only if the definition and trap exist prior to
+the initial pseudo-page transition \T's_page'(\(sc3).\T
+In fill mode, the output line that springs the footer trap
+was typically forced out because some part or whole word didn't fit on it.
+If anything in the footer and header that follows causes a \fIbreak\fR,
+that word or part word will be forced out.
+In this and other examples,
+requests like \T'bp'\fBbp\fR\T and \T'sp'\fBsp\fR\T
+that normally cause breaks are invoked using
+the \fIno-break\fR control character \fB\'\fR
+to avoid this.
+When the header/footer design contains material
+requiring independent text processing, the
+environment may be switched, avoiding
+most interaction with the running text.
+.pg
+A more realistic example would be
+.x1
+&de hd \e"header
+&if t .tl \'\e(rn\'\'\e(rn\' \e"troff cut mark
+&if \e\en%>1 \e{\e
+\'sp ~\|0.5i\-1 \e"tl base at 0.5i
+&tl \'\'\- % \-\'\' \e"centered page number
+&ps \e"restore size
+&ft \e"restore font
+&vs \e} \e"restore vs
+\'sp ~\|1.0i \e"space to 1.0i
+&ns \e"turn on no-space mode
+&&
+&de fo \e"footer
+&ps 10 \e"set footer/header size
+&ft R \e"set font
+&vs 12p \e"set base-line spacing
+&if \e\en%=1 \e{\e
+\'sp ~\|\e\en(.pu\-0.5i\-1 \e"tl base 0.5i up
+&tl \'\'\- % \-\'\' \e} \e"first page number
+\'bp
+&&
+&wh 0 hd
+&wh \-1i fo
+.x2
+which sets the size, font, and base-line spacing for the
+header/footer material, and ultimately restores them.
+The material in this case is a page number at the bottom of the
+first page and at the top of the remaining pages.
+If \*(TR is used, a \fIcut mark\fR is drawn in the form
+of \fIroot-en\fR's at each margin.
+The \T'sp'\fBsp\fR's\T refer to absolute positions to avoid
+dependence on the base-line spacing.
+Another reason for this in the footer
+is that the footer is invoked by printing a line whose
+vertical spacing swept past the trap position by possibly
+as much as the base-line spacing.
+The \fIno-space\fR mode is turned on at the end of \fBhd\fR
+to render ineffective
+accidental occurrences of \T'sp'\fBsp\fR\T at the top of the running text.
+.pg
+The above method of restoring size, font, etc. presupposes
+that such requests (that set \fIprevious\fR value) are \fInot\fR
+used in the running text.
+A better scheme is save and restore both the current \fIand\fR
+previous values as shown for size in the following:
+.x1
+&de fo
+&nr s1 \e\en(.s \e"current size
+&ps
+&nr s2 \e\en(.s \e"previous size
+& --- \e"rest of footer
+&&
+&de hd
+& --- \e"header stuff
+&ps \e\en(s2 \e"restore previous size
+&ps \e\en(s1 \e"restore current size
+&&
+.x2
+Page numbers may be printed in the bottom margin
+by a separate macro triggered during the footer's
+page ejection:
+.x1
+&de bn \e"bottom number
+&tl \'\'\- % \-\'\' \e"centered page number
+&&
+&wh \-0.5i\-1v bn \e"tl base 0.5i up
+.x2
+.mha T3
+Paragraphs and Headings
+.pg
+The housekeeping
+associated with starting a new paragraph should be collected
+in a paragraph macro
+that, for example,
+does the desired preparagraph spacing,
+forces the correct font, size, base-line spacing, and indent,
+checks that enough space remains for \fImore than one\fR line,
+and
+requests a temporary indent.
+.x1
+&de pg \e"paragraph
+&br \e"break
+&ft R \e"force font,
+&ps 10 \e"size,
+&vs 12p \e"spacing,
+&in 0 \e"and indent
+&sp 0.4 \e"prespace
+&ne 1+\e\en(.Vu \e"want more than 1 line
+&ti 0.2i \e"temp indent
+&&
+.x2
+The first break in \fBpg\fR
+will force out any previous partial lines,
+and must occur before the \T'vs'\fBvs\fR\T.
+The forcing of font, etc. is
+partly a defense against prior error and
+partly to permit
+things like section heading macros to
+set parameters only once.
+The prespacing parameter is suitable for \*[TR;]
+a larger space, at least as big as the output device vertical resolution, would be
+more suitable in \*[NR.]
+The choice of remaining space to test for in the \T'ne'\fBne\fR\T
+is the smallest amount greater than one line
+(the \T'n_.V'\fB.V\fR\T is the available vertical resolution).
+.pg
+A macro to automatically number section headings
+might look like:
+.x1
+&de sc \e"section
+& --- \e"force font, etc.
+&sp 0.4 \e"prespace
+&ne 2.4+\e\en(.Vu \e"want 2.4+ lines
+.lg 0
+&fi
+.lg
+\e\en+S.
+&&
+&nr S 0 1 \e"init S
+.x2
+The usage is \fB.sc\fR,
+followed by the section heading text,
+followed by \fB.pg\fR.
+The \T'ne'\fBne\fR\T test value includes one line of heading,
+0.4 line in the following \fBpg\fR, and
+one line of the paragraph text.
+A word consisting of the next section number and a period is
+produced to begin the heading line.
+The format of the number may be set by \T'af'\fBaf\fR\T \T's_reg'(\(sc8).\T
+.pg
+Another common form is the labeled, indented paragraph,
+where the label protrudes left into the indent space.
+.x1
+&de lp \e"labeled paragraph
+&pg
+&in 0.5i \e"paragraph indent
+&ta 0.2i 0.5i \e"label, paragraph
+&ti 0
+\et\e\e$1\et\ec \e"flow into paragraph
+&&
+.x2
+The intended usage is "\fB.lp\fR \fIlabel\fR\|";
+\fIlabel\fR will begin at 0.2\|inch, and
+cannot exceed a length of 0.3\|inch without intruding into
+the paragraph.
+The label could be right adjusted against 0.4\|inch by
+setting the tabs instead with \fB.ta|0.4iR|0.5i\fR.
+The last line of \fBlp\fR ends with \fB\ec\fR so that
+it will become a part of the first line of the text
+that follows.
+.mha T4
+Multiple Column Output
+.pg
+The production of multiple column pages requires
+the footer macro to decide whether it was
+invoked by other than the last column,
+so that it will begin a new column rather than
+produce the bottom margin.
+The header can initialize a column register that
+the footer will increment and test.
+The following is arranged for two columns, but
+is easily modified for more.
+.x1
+&de hd \e"header
+& ---
+&nr cl 0 1 \e"init column count
+&mk \e"mark top of text
+&&
+&de fo \e"footer
+&ie \e\en+(cl<2 \e{\e
+&po +3.4i \e"next column; 3.1+0.3
+&rt \e"back to mark
+&ns \e} \e"no-space mode
+&el \e{\e
+&po \e\enMu \e"restore left margin
+& ---
+\'bp \e}
+&&
+&ll 3.1i \e"column width
+&nr M \e\en(.o \e"save left margin
+.x2
+Typically a portion of the top of the first page
+contains full width text;
+the request for the narrower line length,
+as well as another \fB.mk\fR would
+be made where the two column output was to begin.
+.mha T5
+Footnote Processing
+.pg
+The footnote mechanism to be described is used by
+imbedding the footnotes in the input text at the
+point of reference,
+demarcated by an initial \fB.fn\fR and a terminal \fB.ef\fR:
+.x1
+&fn
+\fIFootnote text and control lines...\fP
+&ef
+.x2
+In the following,
+footnotes are processed in a separate environment and diverted
+for later printing in the space immediately prior to the bottom
+margin.
+There is provision for the case where the last collected
+footnote doesn't completely fit in the available space.
+.x1
+&de hd \e"header
+& ---
+&nr x 0 1 \e"init footnote count
+&nr y 0\-\e\enb \e"current footer place
+&ch fo \-\e\enbu \e"reset footer trap
+&if \e\en(dn .fz \e"leftover footnote
+&&
+&de fo \e"footer
+&nr dn 0 \e"zero last \T'c_diversion'diversion\T size
+&if \e\enx \e{\e
+&ev 1 \e"expand footnotes in ev1
+&nf \e"retain vertical size
+&FN \e"footnotes
+&rm FN \e"delete it
+&if "\e\en(.z"fy" .di \e"end overflow \T'c_diversion'diversion\T
+&nr x 0 \e"disable fx
+&ev \e} \e"pop environment
+& ---
+\'bp
+&&
+&de fx \e"process footnote overflow
+&if \e\enx .di fy \e"divert overflow
+&&
+&de fn \e"start footnote
+&da FN \e"divert (append) footnote
+&ev 1 \e"in environment 1
+&if \e\en+x=1 .fs \e"if first, include separator
+.lg 0
+&fi \e"fill mode
+.lg
+&&
+&de ef \e"end footnote
+&br \e"finish output
+&nr z \e\en(.v \e"save spacing
+&ev \e"pop ev
+&di \e"end \T'c_diversion'diversion\T
+&nr y \-\e\en(dn \e"new footer position,
+&if \e\enx=1 .nr y \-(\e\en(.v\-\e\enz) \e
+ \e"uncertainty correction
+&ch fo \e\enyu \e"y is negative
+&if (\|\e\en(nl+1v)>(\|\e\en(.p+\e\eny) \e
+&ch fo \e\en(nlu+1v \e"it didn't fit
+&&
+&de fs \e"separator
+\el\'1i\' \e"1 inch rule
+&br
+&&
+&de fz \e"get leftover footnote
+&fn
+&nf \e"retain vertical size
+&fy \e"where fx put it
+&ef
+&&
+&nr b 1.0i \e"bottom margin size
+&wh 0 hd \e"header trap
+&wh 12i fo \e"footer trap, temp position
+&wh \-\e\enbu fx \e"fx at footer position
+&ch fo \-\e\enbu \e"conceal fx with fo
+.x2
+The header \fBhd\fR initializes a footnote count register \fBx\fR,
+and sets both the current footer trap position register \fBy\fR and
+the footer trap itself to a nominal position specified in
+register \fBb\fR.
+In addition, if the register \T'n_dn'\fBdn\fR\T indicates a leftover footnote,
+\fBfz\fR is invoked to reprocess it.
+The footnote start macro \fBfn\fR begins a
+\T'c_diversion'diversion\T (append) in environment 1,
+and increments the count \fBx\fR; if the count is one, the footnote separator \fBfs\fR
+is interpolated.
+The separator is kept in a separate macro to permit user redefinition.
+The footnote end macro \fBef\fR restores
+the previous environment and ends the \T'c_diversion'diversion\T
+after saving the spacing size in register \fBz\fR.
+\fBy\fR is then decremented by the size of the footnote,
+available in \T'n_dn'\fBdn\fR\T;
+then on the first footnote, \fBy\fR is further decremented by the difference
+in vertical base-line spacings of the two environments, to
+prevent the late triggering the footer trap from causing the last
+line of the combined footnotes to overflow.
+The footer trap is then set to the lower (on the page) of \fBy\fR or the current page position \T'n_nl'(\fBnl\fR)\T
+plus one line, to allow for printing the reference line.
+If indicated by \fBx\fR, the footer \fBfo\fR rereads the footnotes from \fBFN\fR in nofill mode
+in environment 1,
+and deletes \fBFN\fR.
+If the footnotes were too large to fit, the macro \fBfx\fR will be trap-invoked to redivert
+the overflow into \fBfy\fR,
+and the register \T'n_dn'\fBdn\fR\T will later indicate
+to the header whether \fBfy\fR is empty.
+Both \fBfo\fR and \fBfx\fR are planted in the nominal footer trap position in an order
+that causes \fBfx\fR to be concealed unless the \fBfo\fR trap is moved.
+The footer then terminates the overflow \T'c_diversion'diversion\T,
+if necessary, and
+zeros \fBx\fR to disable \fBfx\fR,
+because the uncertainty correction
+together with a not-too-late triggering of the footer can result
+in the footnote rereading finishing before reaching the \fBfx\fR trap.
+.pg
+A good exercise for the student is to combine the multiple-column and footnote mechanisms.
+.mha T6
+The Last Page
+.pg
+After the last input file has ended, \*(NR and \*(TR
+invoke the \fIend macro\fR \T's_mac'(\(sc7),\T if any,
+and when it finishes, eject the remainder of the page.
+During the eject, any traps encountered are processed normally.
+At the \fIend\fR of this last page, processing terminates
+\fIunless\fR a partial line, word, or partial word remains.
+If it is desired that another page be started, the end-macro
+.x1
+&de en \e"end-macro
+\ec
+\'bp
+&&
+&em en
+.x2
+will deposit a null partial word,
+and effect another last page.
+.rm EM
+.\" from file table1
+.ii
+.1C
+.bp
+.Bookmark 0 "Font Style Examples"
+.rm mx
+.br
+.tr &&
+.tr ||
+.tr ~~
+.de aa
+.nf
+abcdefghijklmnopqrstuvwxyz
+ABCDEFGHIJKLMNOPQRSTUVWXYZ
+1234567890
+.ss 9
+! $ % & ( ) ` ' * + \- . , / : ; = ? [ ] |
+.fi
+\(bu \(sq \(em \(hy \(ru \(14 \(12 \(34 \(fi \(fl \(ff
+\(Fi \(Fl
+\(de \(dg \(fm
+\(ct \(rg \(co
+.ss 12
+..
+.de bb
+.ss 9
+.fi
+.ll 5i
+" \' \e ^ \_ \` ~ \(sl < > { } # @ \(pl \(mi \(eq \(**
+.br
+\(*a \(*b \(*g \(*d \(*e \(*z \(*y \(*h \(*i \(*k \(*l \(*m
+\(*n \(*c \(*o \(*p \(*r \(*s \(ts \(*t \(*u \(*f \(*x \(*q \(*w
+.br
+\(*G \(*D \(*H \(*L \(*C \(*P \(*S \(*U \(*F \(*Q \(*W
+.br
+\(sr \(rn \(>= \(<= \(== \(ap \(~= \(!=
+\(-> \(<- \(ua \(da \(mu
+\(di \(+- \(cu \(ca \(sb \(sp \(ib \(ip \(if \(pd
+.br
+\(sc \(gr \(no \(is \(pt \(es \(mo
+\(dd \(rh \(lh \(or \(ci
+\(lt \(lb \(rt \(rb \(lk \(rk \(bv \(lf \(rf \(lc \(rc
+\(br
+.br
+.ss 12
+.nf
+..
+.nf
+.ps 12
+.vs 14p
+.ft B
+.ce
+.sp 3
+\A'Table I'Table I
+.sp
+.ce
+Font Style Examples
+.sp .5i
+.ft R
+.ps 10
+.fi
+.vs 12p
+The following fonts are printed in 12-point, with a vertical spacing of 14-point,
+and with
+non-alphanumeric characters separated by \(14\|em space.
+Note that this table only includes
+the historical \s-1CAT\s+1 \*(TR character set;
+\*(PS devices can usually print a much larger,
+although font-dependent set of characters.
+.sp .5i
+.na
+.ps 12
+.vs 14p
+.ft R
+Times Roman
+.sp .5
+.aa
+.sp
+.ft I
+Times Italic
+.sp .5
+.aa
+.sp
+.ft B
+Times Bold
+.sp .5
+.aa
+.sp
+.ft R
+Special Font
+.sp .5
+.fi
+.ll 5i
+.bb
+.ad
+.rm EM
+.\" from file table2
+.ii
+.bp
+.nr nosave 1
+.Bookmark 0 "Input Naming Conventions"
+.1C
+.de mx
+. nf
+. ft I
+. ta .25iC .5i +.55i 3.25iC +.25i +.55i
+ Input Character Input Character
+ Char Name Name Char Name Name
+. ft R
+. sp .2
+. nr cl 0
+. mk
+..
+.br
+.tr ~~
+.nf
+.ps 12
+.vs 14p
+.ft B
+.ce
+\A'Table II'Table II
+.sp
+.ce 2
+Input Naming Conventions for \', \`, and \-
+and for Non-ASCII Special Characters
+.sp .5i
+.ft R
+.ps 10
+.vs 12p
+.ft B
+Non-\s-1ASCII\s+1 characters and \f(BIminus\fP on the standard fonts.
+.sp
+.ft R
+.de cl
+. ie \\n+(cl<2 \{.po +3.0i
+. rt \}
+. el .sc
+..
+.de sc
+. po \\n(POu
+. nr cl 0
+..
+.nr cl 0 1
+.ds CF \f(CW\\$1\fR
+.de qq
+ \&' \\*[CF \(aq] close quote
+ ` \\*[CF \`] open quote
+ \(em \\*[CF \e(em] 3/4 Em dash
+ - \\*[CF \-] hyphen or
+ \(hy \\*[CF \e(hy] hyphen
+ \- \\*[CF \e\-] current font minus
+ \(bu \\*[CF \e(bu] bullet
+ \(sq \\*[CF \e(sq] square
+ \(ru \\*[CF \e(ru] rule
+ \(14 \\*[CF \e(14] 1/4
+ \(12 \\*[CF \e(12] 1/2
+ \(34 \\*[CF \e(34] 3/4
+ \(fi \\*[CF \e(fi] fi
+ \(fl \\*[CF \e(fl] fl
+ \(ff \\*[CF \e(ff] ff
+ \(Fi \\*[CF \e(Fi] ffi
+ \(Fl \\*[CF \e(Fl] ffl
+ \(de \\*[CF \e(de] degree
+ \(dg \\*[CF \e(dg] dagger
+ \(fm \\*[CF \e(fm] foot mark
+ \(ct \\*[CF \e(ct] cent sign
+ \(rg \\*[CF \e(rg] registered
+ \(co \\*[CF \e(co] copyright
+..
+.di zz
+.lg 0
+.qq
+.di
+.lg
+.mx
+.nr aa \n(dn/2
+.ne \n(aau+1
+.nr bb \n(nl+\n(aa
+.ch cl
+.wh \n(bbu cl
+.qq
+.sp |\n(bbu
+.ch cl 12i
+.fi
+.sp 2
+.ft B
+Non-\s-1ASCII\s+1 characters and \', \`, \_\|, \(pl, \(mi, \(eq, and \(** on the special font.
+.sp .4
+.ft R
+.fi
+.ps 10
+In traditional \*[TR,]
+the ASCII characters @, #, ", \', \`, <, >, \\, {, }, ~, ^, and \(ul existed
+\fIonly\fR on the special font and were printed as a 1-em space if that font
+was not mounted.
+The following characters exist only on the special font.
+The special math plus, minus, and equals are provided to
+insulate the appearance of equations from the choice of standard fonts.
+.nf
+.ps 10
+.sp
+.de sc
+.po \\n(POu
+.nr cl 0
+'bp
+..
+.ch cl \nmu-\n(.vu-1u
+.mx
+.lg 0
+ \(pl \*[CF \e(pl] math plus
+ \(mi \*[CF \e(mi] math minus
+ \(eq \*[CF \e(eq] math equals
+ \(** \*[CF \e(**] math star
+ \(sc \*[CF \e(sc] section
+ \(aa \*[CF \e(aa] acute accent
+ \(ga \*[CF \e(ga] grave accent
+ \(ul \*[CF \e(ul] underrule
+ \(sl \*[CF \e(sl] slash (matching backslash)
+ \(rs \*[CF \e(rs] backslash
+ \(*a \*[CF \e(*a] alpha
+ \(*b \*[CF \e(*b] beta
+ \(*g \*[CF \e(*g] gamma
+ \(*d \*[CF \e(*d] delta
+ \(*e \*[CF \e(*e] epsilon
+ \(*z \*[CF \e(*z] zeta
+ \(*y \*[CF \e(*y] eta
+ \(*h \*[CF \e(*h] theta
+ \(*i \*[CF \e(*i] iota
+ \(*k \*[CF \e(*k] kappa
+ \(*l \*[CF \e(*l] lambda
+ \(*m \*[CF \e(*m] mu
+ \(*n \*[CF \e(*n] nu
+ \(*c \*[CF \e(*c] xi
+ \(*o \*[CF \e(*o] omicron
+ \(*p \*[CF \e(*p] pi
+ \(*r \*[CF \e(*r] rho
+ \(*s \*[CF \e(*s] sigma
+ \(ts \*[CF \e(ts] terminal sigma
+ \(*t \*[CF \e(*t] tau
+ \(*u \*[CF \e(*u] upsilon
+ \(*f \*[CF \e(*f] phi
+ \(*x \*[CF \e(*x] chi
+ \(*q \*[CF \e(*q] psi
+ \(*w \*[CF \e(*w] omega
+ \(*A \*[CF \e(*A] Alpha
+ \(*B \*[CF \e(*B] Beta
+ \(*G \*[CF \e(*G] Gamma
+ \(*D \*[CF \e(*D] Delta
+ \(*E \*[CF \e(*E] Epsilon
+ \(*Z \*[CF \e(*Z] Zeta
+ \(*Y \*[CF \e(*Y] Eta
+ \(*H \*[CF \e(*H] Theta
+ \(*I \*[CF \e(*I] Iota
+ \(*K \*[CF \e(*K] Kappa
+ \(*L \*[CF \e(*L] Lambda
+ \(*M \*[CF \e(*M] Mu
+ \(*N \*[CF \e(*N] Nu
+ \(*C \*[CF \e(*C] Xi
+ \(*O \*[CF \e(*O] Omicron
+ \(*P \*[CF \e(*P] Pi
+ \(*R \*[CF \e(*R] Rho
+ \(*S \*[CF \e(*S] Sigma
+ \(*T \*[CF \e(*T] Tau
+ \(*U \*[CF \e(*U] Upsilon
+ \(*F \*[CF \e(*F] Phi
+ \(*X \*[CF \e(*X] Chi
+ \(*Q \*[CF \e(*Q] Psi
+ \(*W \*[CF \e(*W] Omega
+ \(sr \*[CF \e(sr] square root
+ \(rn \*[CF \e(rn] root en extender
+ \(>= \*[CF \e(>=] >=
+ \(<= \*[CF \e(<=] <=
+ \(== \*[CF \e(==] identically equal
+ \(~= \*[CF \e(~=] approx =
+ \(ap \*[CF \e(ap] approximates
+ \(!= \*[CF \e(!=] not equal
+ \(-> \*[CF \e(\(mi>] right arrow
+ \(<- \*[CF \e(<\(mi] left arrow
+ \(ua \*[CF \e(ua] up arrow
+ \(da \*[CF \e(da] down arrow
+ \(mu \*[CF \e(mu] multiply
+ \(di \*[CF \e(di] divide
+ \(+- \*[CF \e(+\(mi] plus-minus
+ \(cu \*[CF \e(cu] cup (union)
+ \(ca \*[CF \e(ca] cap (intersection)
+ \(sb \*[CF \e(sb] subset of
+ \(sp \*[CF \e(sp] superset of
+ \(ib \*[CF \e(ib] improper subset
+ \(ip \*[CF \e(ip] improper superset
+ \(if \*[CF \e(if] infinity
+ \(pd \*[CF \e(pd] partial derivative
+ \(gr \*[CF \e(gr] gradient
+ \(no \*[CF \e(no] not
+ \(is \*[CF \e(is] integral sign
+ \(pt \*[CF \e(pt] proportional to
+ \(es \*[CF \e(es] empty set
+ \(mo \*[CF \e(mo] member of
+ \(br \*[CF \e(br] box vertical rule
+ \(dd \*[CF \e(dd] double dagger
+ \(rh \*[CF \e(rh] right hand
+ \(lh \*[CF \e(lh] left hand
+.\" \(bs \*[CF \e(bs] Bell System logo
+ \(or \*[CF \e(or] or
+ \(ci \*[CF \e(ci] circle
+ \(lt \*[CF \e(lt] left top of big curly bracket
+ \(lb \*[CF \e(lb] left bottom
+ \(rt \*[CF \e(rt] right top
+ \(rb \*[CF \e(rb] right bot
+ \(lk \*[CF \e(lk] left center of big curly bracket
+ \(rk \*[CF \e(rk] right center of big curly bracket
+ \(bv \*[CF \e(bv] bold vertical
+ \(lf \*[CF \e(lf] left floor (left bottom of big
+ square bracket)
+ \(rf \*[CF \e(rf] right floor (right bottom)
+ \(lc \*[CF \e(lc] left ceiling (left top)
+ \(rc \*[CF \e(rc] right ceiling (right top)
+.rm mx
+.ie \n(cl \{\
+. bp
+.\}
+.1C
+.ft B
+Available characters from groff_char(7)
+.ft R
+.sp
+.ds MG \|\s-2\v'-.4m'*\v'.4m'\s+2
+.\".ds MG \|\s-3\v'-.5m'\(dg\v'.5m'\s+3
+.fi
+The following table list the characters from the \fBgroff_char\fP(7)
+manual page which can be used with Heirloom \*(TR.
+Special characters marked with a \fB*\fR are only defined when
+\*(TR is started with option \fB\-mgchar\fP.
+If a glyph is actually available depends on the font and
+output device.
+.sp
+.nr AC 0
+.de mx
+. nf
+. ft I
+. ie \n(AC .ta .1i +.55i +.65i +.2i +1.55i +.2i +.8i
+. el .ta .1i +.55i +.65i +1.55i +.8i
+. ie \n(AC \tOutput\tInput\t\tPostScript\t\tUnicode\tNotes
+. el \tOutput\tInput\tPostScript\tUnicode\tNotes
+. ft R
+. sp .2
+. ns
+..
+.de cl
+. bp
+..
+.de AC
+. lds Pi
+. lds Po
+. if !\\$4 \{\
+. ds Pi \\*[CF "\e[\\$4]"]
+. ds Po \[\\$4]
+. \}
+. lds U
+. if !\\$5 .ds U \U'\\$5'
+. lds O
+. lnr Lo 0
+. ie \\$1P .ds O \\*(Po
+. el .ie \\$1U .ds O \\*U
+. el .if !\\$1 \{\
+. length Lo \\$1
+. ie \\n(Lo>2 .ds O \[\\$1]
+. el .ds O \(\\$1
+. \}
+. lds I
+. ie \\$2O .ds I \\*O
+. el .ie !\\$2 \{\
+. lnr Wi \w\f(CW\\$2
+. ie \\n(Wi>\w\f(CW2n .ds I \\*[CF "\e[\\$2]"]
+. el .ds I \\*[CF \e(\\$2]
+. \}
+. el .ie \\n(Lo=2 .ds I \\*[CF \e(\\$1]
+. el .if \\n(Lo>2 .ds I \\*[CF "\e[\\$1]"]
+. if \\$3 \{\
+. ie !\\*I .as I \*(MG
+. el .if !\\*(Pi .as Pi \*(MG
+. \}
+. lds UC
+. if !\\$5 .ds UC \\*[CF \eU\(aq\\$5\(aq]
+. ie \n(AC \t\&\\*O\t\\*I\t\\*(Po\t\\*(Pi\t\\*U\t\\*(UC\t\\$6
+. el \t\&\\*O\t\\*I\t\\*(Pi\t\\*(UC\t\\$6
+..
+.de P
+. sp .4
+..
+.mx
+.\" 8-bit ASCII
+.AC U O 0 exclamdown 00A1 "inverted exclamation mark
+.AC U O 0 cent 00A2 "currency unit
+.AC U O 0 sterling 00A3 "pound sterling
+.AC U O 0 currency 00A4 "generic currency symbol
+.AC U O 0 yen 00A5 "Japanese currency symbol
+.AC U O 0 brokenbar 00A6 "broken bar
+.AC U O 0 section 00A7 "section sign
+.AC U O 0 dieresis 00A8 dieresis
+.AC U O 0 copyright 00A9 "copyright symbol
+.AC U O 0 ordfeminine 00AA "feminine ordinal
+.AC U O 0 guillemotleft 00AB "left guillemet [sic]
+.AC U O 0 logicalnot 00AC "logical not
+.AC U O 0 registered 00AE "registered mark symbol
+.AC U O 0 macron 00AF "overbar accent
+.AC U O 0 degree 00B0 "degree
+.AC U O 0 plusminus 00B1 "plus-minus sign
+.AC U O 0 twosuperior 00B2 "superscript 2
+.AC U O 0 threesuperior 00B3 "superscript 3
+.AC U O 0 acute 00B4 "acute accent
+.AC U O 0 mu 00B5 "micro sign
+.AC U O 0 paragraph 00B6 "end of paragraph marker
+.AC U O 0 periodcentered 00B7 "centered period
+.AC U O 0 cedilla 00B8 "cedilly accent
+.AC U O 0 onesuperior 00B9 "superscript 1
+.AC U O 0 ordmasculine 00BA "masculine ordinal
+.AC U O 0 guillemotright 00BB "right guillemet [sic]
+.AC U O 0 onequarter 00BC "1/4 symbol
+.AC U O 0 onehalf 00BD "1/2 symbol
+.AC U O 0 threequarters 00BE "3/4 symbol
+.AC U O 0 questiondown 00BF "inverted question mark
+.AC U O 0 Agrave 00C0 "A grave
+.AC U O 0 Aacute 00C1 "A acute
+.AC U O 0 Acircumflex 00C2 "A circumflex
+.AC U O 0 Atilde 00C3 "A tilde
+.AC U O 0 Adieresis 00C4 "A dieresis
+.AC U O 0 Aring 00C5 "A ring
+.AC U O 0 AE 00C6 "A+E combined
+.AC U O 0 Ccedilla 00C7 "C cedilla
+.AC U O 0 Egrave 00C8 "E grave
+.AC U O 0 Eacute 00C9 "E acute
+.AC U O 0 Ecircumflex 00CA "E circumflex
+.AC U O 0 Edieresis 00CB "E dieresis
+.AC U O 0 Igrave 00CC "I grave
+.AC U O 0 Iacute 00CD "I acute
+.AC U O 0 Icircumflex 00CE "I circumflex
+.AC U O 0 Idieresis 00CF "I dieresis
+.AC U O 0 Eth 00D0 "E th
+.AC U O 0 Ntilde 00D1 "N tilde
+.AC U O 0 Ograve 00D2 "O grave
+.AC U O 0 Oacute 00D3 "O acute
+.AC U O 0 Ocircumflex 00D4 "O circumflex
+.AC U O 0 Otilde 00D5 "O tilde
+.AC U O 0 Odieresis 00D6 "O dieresis
+.AC U O 0 multiply 00D7 multiply
+.AC U O 0 Oslash 00D8 "O slash
+.AC U O 0 Ugrave 00D9 "U grave
+.AC U O 0 Uacute 00DA "U acute
+.AC U O 0 Ucircumflex 00DB "U circumflex
+.AC U O 0 Udieresis 00DC "U dieresis
+.AC U O 0 Yacute 00DD "Y acute
+.AC U O 0 Thorn 00DE Thorn
+.AC U O 0 germandbls 00DF "German double s
+.AC U O 0 agrave 00E0 "a grave
+.AC U O 0 aacute 00E1 "a acute
+.AC U O 0 acircumflex 00E2 "a circumflex
+.AC U O 0 atilde 00E3 "a tilde
+.AC U O 0 adieresis 00E4 "a dieresis
+.AC U O 0 aring 00E5 "a ring
+.AC U O 0 ae 00E6 "a+e combined
+.AC U O 0 ccedilla 00E7 "c cedilla
+.AC U O 0 egrave 00E8 "e grave
+.AC U O 0 eacute 00E9 "e acute
+.AC U O 0 ecircumflex 00EA "e circumflex
+.AC U O 0 edieresis 00EB "e dieresis
+.AC U O 0 igrave 00EC "i grave
+.AC U O 0 iacute 00ED "i acute
+.AC U O 0 icircumflex 00EE "i circumflex
+.AC U O 0 idieresis 00EF "i dieresis
+.AC U O 0 eth 00F0 "e th
+.AC U O 0 ntilde 00F1 "n tilde
+.AC U O 0 ograve 00F2 "o grave
+.AC U O 0 oacute 00F3 "o acute
+.AC U O 0 ocircumflex 00F4 "o circumflex
+.AC U O 0 otilde 00F5 "o tilde
+.AC U O 0 odieresis 00F6 "o dieresis
+.AC U O 0 divide 00F7 divide
+.AC U O 0 oslash 00F8 "o slash
+.AC U O 0 ugrave 00F9 "u grave
+.AC U O 0 uacute 00FA "u acute
+.AC U O 0 ucircumflex 00FB "u circumflex
+.AC U O 0 udieresis 00FC "u dieresis
+.AC U O 0 yacute 00FD "y acute
+.AC U O 0 thorn 00FE thorn
+.AC U O 0 ydieresis 00FF "y dieresis
+.P
+.AC -D \(miD 1 Eth 00D0 "uppercase eth
+.AC Sd "" 1 eth 00F0 "lowercase eth
+.AC TP "" 1 Thorn 00DE "uppercase thorn
+.AC Tp "" 1 thorn 00FE "lowercase thorn
+.AC ss "" 1 germandbls 00DF "German double s
+.P Ligatures
+.AC /L "" 1 Lslash 0141 "L slash
+.AC /l "" 1 lslash 0142 "l slash
+.AC /O "" 1 Oslash 00D8 "O slash
+.AC /o "" 1 oslash 00F8 "o slash
+.AC AE "" 0 AE 00C6 "A+E combined
+.AC ae "" 0 ae 00E6 "a+e combined
+.AC OE "" 0 OE 0152 "O+E combined
+.AC oe "" 0 oe 0153 "o+e combined
+.AC IJ "" 0 IJ 0132 "I+J combined
+.AC ij "" 0 ij 0133 "i+j combined
+.AC .i "" 1 dotlessi 0131 "i without a dot
+.AC .j "" 1 dotlessj 0237 "j without a dot
+.P "Accented Characters
+.AC 'A \(aqA 1 Aacute 00C1 "A acute
+.AC 'C \(aqC 1 Cacute 0106 "C acute
+.AC 'E \(aqE 1 Eacute 00C9 "E acute
+.AC 'I \(aqI 1 Iacute 00CD "C acute
+.AC 'O \(aqO 1 Oacute 00D3 "O acute
+.AC 'U \(aqU 1 Uacute 00DA "U acute
+.AC 'Y \(aqY 1 Yacute 00DD "Y acute
+.AC 'a \(aqa 1 aacute 00E1 "a acute
+.AC 'c \(aqc 1 cacute 0107 "c acute
+.AC 'e \(aqe 1 eacute 00E9 "e acute
+.AC 'i \(aqi 1 iacute 00ED "i acute
+.AC 'o \(aqo 1 oacute 00F3 "o acute
+.AC 'u \(aqu 1 uacute 00FA "u acute
+.AC 'y \(aqy 1 yacute 00FD "y acute
+.AC :A "" 1 Adieresis 00C4 "A dieresis
+.AC :E "" 1 Edieresis 00CB "E dieresis
+.AC :I "" 1 Idieresis 00CF "I dieresis
+.AC :O "" 1 Odieresis 00D6 "O dieresis
+.AC :U "" 1 Udieresis 00FC "U dieresis
+.AC :Y "" 1 Ydieresis 0178 "Y dieresis
+.AC :a "" 1 adieresis 00E4 "a dieresis
+.AC :e "" 1 edieresis 00EB "e dieresis
+.AC :i "" 1 idieresis 00EF "i dieresis
+.AC :o "" 1 odieresis 00F6 "o dieresis
+.AC :u "" 1 udieresis 00FC "u dieresis
+.AC :y "" 1 ydieresis 00FF "y dieresis
+.AC ^A "" 1 Acircumflex 00C2 "A circumflex
+.AC ^E "" 1 Ecircumflex 00CA "E circumflex
+.AC ^I "" 1 Icircumflex 00CE "I circumflex
+.AC ^O "" 1 Ocircumflex 00D4 "O circumflex
+.AC ^U "" 1 Ucircumflex 00DB "U circumflex
+.AC ^a "" 1 acircumflex 00E2 "a circumflex
+.AC ^e "" 1 ecircumflex 00EA "e circumflex
+.AC ^i "" 1 icircumflex 00EE "i circumflex
+.AC ^o "" 1 ocircumflex 00F4 "o circumflex
+.AC ^u "" 1 ucircumflex 00FB "u circumflex
+.AC `A \(gaA 1 Agrave 00C0 "A grave
+.AC `E \(gaE 1 Egrave 00C8 "E grave
+.AC `I \(gaI 1 Igrave 00CC "I grave
+.AC `O \(gaO 1 Ograve 00D2 "O grave
+.AC `U \(gaU 1 Ugrave 00D9 "U grave
+.AC `a \(gaa 1 agrave 00E0 "a grave
+.AC `e \(gae 1 egrave 00E8 "e grave
+.AC `i \(gai 1 igrave 00EC "i grave
+.AC `o \(gao 1 ograve 00F2 "o grave
+.AC `u \(gau 1 ugrave 00F9 "u grave
+.AC ~A "" 1 Atilde 00C3 "A tilde
+.AC ~N "" 1 Ntilde 00D1 "N tilde
+.AC ~O "" 1 Otilde 00D5 "O tilde
+.AC ~a "" 1 atilde 00E3 "a tilde
+.AC ~n "" 1 ntilde 00F1 "n tilde
+.AC ~o "" 1 otilde 00F5 "o tilde
+.AC vS "" 1 Scaron 0160 "S caron
+.AC vs "" 1 scaron 0161 "s caron
+.AC vZ "" 1 Zcaron 017D "Z caron
+.AC vz "" 1 zcaron 017E "z caron
+.AC ,C "" 1 Ccedilla 00C7 "C cedilla
+.AC ,c "" 1 ccedilla 00E7 "c cedilla
+.AC oA "" 1 Aring 00C5 "A ring
+.AC oa "" 1 aring 00E5 "a ring
+.P Accents
+.AC a" "" 1 hungarumlaut 02DD "Hungarian umlaut
+.AC a- a\(mi 1 macron 00AF "overbar accent
+.AC a. "" 1 dotaccent 02D9 "dot accent
+.AC a^ "" 1 circumflex 005E "circumflex accent
+.AC aa "" 0 acute 00B4 "acute accent
+.AC ga "" 0 grave 0060 "grave accent
+.AC ab "" 1 breve 02D8 "breve accent
+.AC ac "" 1 cedilla 00B8 "cedilla accent
+.AC ad "" 1 dieresis 00A8 "umlaut accent
+.AC ah "" 1 caron 02C7 "caron accent
+.AC ao "" 1 ring 02DA "ring accent
+.AC a~ "" 1 tilde 007E "tilde accent
+.AC ho "" 1 ogonek 02dB "hook accent
+.AC ha "" 1 asciicircum 005E "high circumflex
+.AC ti "" 1 asciitilde 007E "tilde in the vertical middle
+.P Quotes
+.AC Bq "" 1 quotedblbase 201E "low double comma quote
+.AC bq "" 1 quotesinglbase 201A "low single comma quote
+.AC lq "" 0 quotedblleft 201C "left double quote
+.AC `` \(ga\(ga 0 "" "" \fI(alias)\fP
+.AC rq "" 0 quotedblright 201D "right double quote
+.AC '' \(aq\(aq 0 "" "" \fI(alias)\fP
+.AC oq "" 0 quoteleft 2018 "single open quote
+.AC cq "" 0 quoteright 2019 "single closing quote
+.AC aq "" 0 quotesingle 0027 "apostrophe quote
+.AC dq "" 0 quotedbl 0022 "double quote
+.AC Fo "" 1 guillemotleft 00AB "left guillemet
+.AC Fc "" 1 guillemotright 00BB "right guillemet
+.AC fo "" 1 guilsinglleft 2039 "single left angle quotation mark
+.AC fc "" 1 guilsinglright 203A "single right angle quotation mark
+.P Punctuation
+.AC r! "" 1 exclamdown 00A1 "inverted exclamation mark
+.AC r? "" 1 questiondown 00BF "inverted question mark
+.AC em "" 0 emdash 2014 "em-dash symbol
+.AC en "" 0 endash 2013 "en-dash symbol
+.AC hy "" 0 hyphen 2010 "hyphen symbol
+.P Brackets
+.AC lB "" 1 bracketleft 005B "left square bracket
+.AC rB "" 1 bracketright 005D "right square bracket
+.AC lC "" 1 braceleft 007B "left curly bracket
+.AC rC "" 1 braceright 007D "right curly bracket
+.AC la "" 1 angleleft 27E8 "mathematical left angle bracket
+.AC ra "" 1 angleright 27E9 "mathematical right angle bracket
+.AC bv "" 0 braceex 23AA "curly brace vertical extension
+.AC P "" 0 bracketlefttp 23A1 "left square bracket top
+.AC P "" 0 bracketleftbt 23A3 "left square bracket bottom
+.AC P "" 0 bracketleftex 23A2 "left square bracket extension
+.AC P "" 0 bracketrighttp 23A4 "right square bracket top
+.AC P "" 0 bracketrightbt 23A6 "right square bracket bottom
+.AC P "" 0 bracketrightex 23A5 "right square bracket extension
+.AC lt "" 0 bracelefttp 23A7 "left curly brace top
+.AC lk "" 0 braceleftmid 23A8 "left curly brace middle
+.AC lb "" 0 braceleftbt 23A9 "left curly brace bottom
+.AC P "" 0 braceleftex 23AA "left curly brace extension
+.AC rt "" 0 bracerighttp 23AB "right curly brace top
+.AC rk "" 0 bracerightmid 23AC "right curly brace middle
+.AC rb "" 0 bracerightbt 23AD "right curly brace bottom
+.AC P "" 0 bracerightex 23AA "right curly brace extension
+.AC P "" 0 parenlefttp 239B "left parenthesis top
+.AC P "" 0 parenleftbt 239D "left parenthesis bottom
+.AC P "" 0 parenleftex 239C "left parenthesis extension
+.AC P "" 0 parenrighttp 239E "right parenthesis top
+.AC P "" 0 parenrightbt 23A0 "right parenthesis bottom
+.AC P "" 0 parenrightex 239F "right parenthesis extension
+.P Arrows
+.AC <- <\(mi 0 arrowleft 2190 "arrow left
+.AC -> \(mi> 0 arrowright 2192 "arrow right
+.AC <> "" 1 arrowboth 2194 "horizontal arrow in both directions
+.AC da "" 0 arrowdown 2193 "arrow down
+.AC ua "" 0 arrowup 2191 "arrow up
+.AC va "" 1 arrowupdn 2195 "vertical arrow in both directions
+.AC lA "" 1 arrowdblleft 21D0 "double arrow left
+.AC rA "" 1 arrowdblright 21D2 "double arrow right
+.AC hA "" 1 arrowdblboth 21D4 "horizontal double arrow in both directions
+.AC dA "" 1 arrowdbldown 21D3 "double arrow down
+.AC uA "" 1 arrowdblup 21D1 "double arrow up
+.AC vA "" 1 uni21D5 21D5 "vertical double arrow in both directions
+.AC an "" 1 arrowhorizex 23AF "horizontal arrow extension
+.P Lines
+.AC ba "" 1 bar 007C "bar
+.AC br "" 0 SF110000 2502 "box rule
+.AC ul "" 0 underscore 005F "underscore
+.AC rn "" 0 overline 203E "overline
+.AC ru "" 0 "" "" "baseline rule
+.AC bb "" 1 brokenbar 00A6 "broken bar
+.AC sl "" 0 slash 002F "slash
+.AC rs "" 0 backslash 005C "revers slash
+.P "Text markers
+.AC ci "" 0 circle 25CB "circle
+.AC bu "" 0 bullet 2022 "bullet
+.AC dd "" 0 daggerdbl 2021 "double dagger
+.AC dg "" 0 dagger 2020 "dagger
+.AC lz "" 1 lozenge 25CA "diamond
+.AC sq "" 0 uni25A1 25A1 "square
+.\" \(ps ???
+.AC ps "" 1 paragraph 00B6 "end of paragraph marker
+.AC sc "" 0 section 00A7 "section sign
+.AC lh "" 0 uni261C 261C "hand pointing left
+.AC rh "" 0 a14 261E "hand pointing right
+.AC at "" 0 at 0040 "at
+.AC sh "" 1 numbersign 0023 "number sign
+.AC CR "" 1 carriagereturn 21B5 "carriage return
+.AC OK "" 1 a19 2713 "check mark
+.P "Legal symbols
+.AC co "" 0 copyright 00A9 "copyright sign
+.AC rg "" 0 registered 00AE "registered mark
+.AC tm "" 0 trademark 2122 "trademark symbol
+.AC bs "" 0 "" "" "AT&T Bell Labs logo
+.P "Currency symbols
+.AC Do "" 1 dollar 0024 "dollar
+.AC ct "" 0 cent 00A2 "cent
+.\" not available
+.\".AC eu "" 1 "" "" "official Euro symbol
+.AC Eu "" 1 Euro 20AC "font-specific Euro glyph
+.AC Ye "" 1 yen 00A5 "Japanese Yen
+.AC Po "" 1 sterling 00A3 "pound sterling
+.AC Cs "" 1 currency 00A4 "Scandinavian currency sign
+.AC Fn "" 1 florin 0192 "Dutch currency sign
+.P Units
+.AC de "" 0 degree 00B0 "degree
+.AC %0 "" 1 perthousand 2030 "per thousand
+.AC fm "" 0 minute 2032 "arc minute sign
+.AC sd "" 1 second 2033 "arc second sign
+.AC mc "" 1 mu 00B5 "micro sign
+.AC Of "" 1 ordfeminine 00AA "feminine ordinal
+.AC Om "" 1 ordmasculine 00BA "masculine ordinal
+.P "Logical symbols
+.AC AN "" 1 logicaland 2227 "logical and
+.AC OR "" 1 logicalor 2228 "logical or
+.AC no "" 0 "" "" "logical not
+.AC tno tno 1 logicalnot 00AC "text variant of `no'
+.AC te "" 0 existential 2203 "there exists
+.AC fa "" 0 universal 2200 "for all
+.AC st "" 1 suchthat 220B "such that
+.AC 3d "" 1 therefore 2234 "therefor
+.AC tf "" 1 "" "" \fI(alias)\fP
+.AC or "" 0 bar 007C "bitwise OR
+.P "Mathematical symbols
+.AC 12 "" 0 onehalf 00BD "1/2 symbol
+.AC 14 "" 0 onequarter 00BC "1/4 symbol
+.AC 34 "" 0 threequarters 00BE "3/4 symbol
+.AC 18 "" 1 oneeighth 215B "1/8 symbol
+.AC 38 "" 1 threeeighths 215C "3/8 symbol
+.AC 58 "" 1 fiveeighths 215D "5/8 symbol
+.AC 78 "" 1 seveneighths 215E "7/8 symbol
+.AC S1 "" 1 onesuperior 00B9 "superscript 1
+.AC S2 "" 1 twosuperior 00B2 "superscript 2
+.AC S3 "" 1 threesuperior 00B3 "superscript 2
+.P
+.AC pl "" 0 plus 002B "plus
+.AC mi "" 0 minus 2212 "minus
+.\" \(-+ ???
+.AC -+ \(mi+ 1 uni2213 2213 "minus-plus
+.AC +- +\(mi 0 "" "" "plus-minus
+.AC t+- t+\(mi 1 plusminus 00B1 "text variant of plus-minus
+.AC pc "" 1 periodcentered 00B7 "period centered
+.AC md "" 1 dotmath 22C5 "multiplication dot
+.AC mu "" 0 "" "" "multiply sign
+.AC tmu "" 1 multiply 00D7 "text variant of multiply sign
+.AC c* "" 1 circlemultiply 2297 "multiply sign in circle
+.AC c+ "" 1 circleplus 2295 "plus sign in circle
+.AC di "" 0 "" "" "division sign
+.AC tdi "" 1 divide 00F7 "text variant of division sign
+.\" \(f/ ???
+.AC P f/ 1 fraction 2044 "bar for fractions
+.\".AC f/ "" 1 fraction 2044 "bar for fractions
+.AC ** "" 0 asteriskmath 2217 "mathematical asterisk
+.P
+.AC <= "" 0 lessequal 2264 "less or equal
+.AC >= "" 0 greaterequal 2265 "greater or equal
+.AC << "" 1 uni226A 226A "much less
+.AC >> "" 1 uni226B 226B "much greater
+.AC eq "" 0 equal 003D "equal
+.AC != "" 0 notequal 2260 "not equal
+.AC == "" 0 equivalence 2261 "equivalent
+.AC ne "" 1 uni2262 2262 "not equivalent
+.AC =~ "" 1 congruent 2245 "congruent
+.\" |= vs. ~= problem
+.\".AC |= "" 1 uni2243 2243 "asymptotically equal to
+.AC ap "" 0 similar 223C "similar
+.AC ~~ "" 0 approxequal 2248 "almost equal to
+.\" |= vs. ~= problem
+.\".AC ~= "" 0 approxequal 2248 "almost equal to
+.AC pt "" 0 proportional 221D "proportional
+.P
+.AC es "" 0 emptyset 2205 "empty set
+.AC mo "" 0 element 2208 "element of
+.AC nm "" 1 notelement 2209 "not element of
+.AC sb "" 0 propersubset 2282 "proper subset
+.AC nb "" 1 notsubset 2284 "not subset
+.AC sp "" 0 propersuperset 2283 "proper superset
+.AC nc "" 1 uni2285 2285 "not superset
+.AC ib "" 0 reflexsubset 2286 "subset or equal
+.AC ip "" 0 reflexsuperset 2287 "superset or equal
+.AC ca "" 0 intersection 2229 "intersection
+.AC cu "" 0 union 222A "union
+.P
+.AC /_ "" 1 angle 2220 "angle
+.\" \(pp ???
+.AC pp "" 1 perpendicular 22A5 "perpendicular
+.AC is "" 0 integral 222B "integral
+.AC *S "" 0 summation 2211 "summation
+.AC sum "" 1 "" "" \fI(alias)\fP
+.AC *P "" 0 product 220F "product
+.AC P "" 1 coproduct 2210 "coproduct
+.AC gr "" 0 gradient 2207 "gradient
+.AC sr "" 0 radical 221A "square root
+.AC P "" 1 sqrt "" \fI(alias)\fP
+.AC P "" 0 radicalex "" "square root continuation
+.AC P "" 1 sqrtex "" \fI(alias)\fP
+.P
+.AC lc "" 0 uni2308 2308 "left ceiling
+.AC rc "" 0 uni2309 2309 "right ceiling
+.AC lf "" 0 uni230A 230A "left floor
+.AC rf "" 0 uni230B 230B "right floor
+.P
+.AC if "" 0 infinity 221E "infinity
+.AC Ah "" 1 aleph 2135 "aleph
+.AC Im "" 1 Ifraktur 2111 "Gothic I, imaginary
+.AC Re "" 1 Rfraktur 211C "Gothic R, real
+.AC wp "" 1 weierstrass 2118 "Weierstrass p
+.AC pd "" 0 partialdiff 2202 "partial differentiation
+.AC -h \(mih 1 hbar 210F "Planck constant / 2pi (h-bar)
+.P "Greek glyphs
+.AC +h "" 1 theta1 03D1 "variant theta
+.AC +f "" 1 phi1 03C6 "variant phi
+.AC +p "" 1 omega1 03D6 "variant pi
+.AC +e "" 1 uni03F5 03F5 "variant epsilon
+.P "Card symbols
+.AC CL "" 1 club 2663 "black club suit
+.AC SP "" 1 spade 2660 "black spade suit
+.AC HE "" 1 heart 2665 "black heart suit
+.AC U "" 0 uni2661 2661 "white heart suit
+.AC DI "" 1 diamond 2666 "black diamond suit
+.AC U "" 0 uni2662 2662 "white diamond suit
+.ds EM
diff --git a/doc/troff/makefile b/doc/troff/makefile
new file mode 100644
index 0000000000000..3eb4e4f19296c
--- /dev/null
+++ b/doc/troff/makefile
@@ -0,0 +1,44 @@
+DISTFLAGS = -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
+ -sProcessColorModel=DeviceGray -dPDFSETTINGS=/prepress
+CRYPT = -sOwnerPassword="`dd if=/dev/random bs=12 count=1 2>/dev/null | \
+ md5sum | awk '{ print $$1 }'` " -dEncryptionR=3 \
+ -dKeyLength=128 -dPermissions=-300
+TROFFFLAGS = -mgchar
+
+.SUFFIXES: .tr .ps .pdf .html .more
+
+.tr.ps:
+ rm -f $@; trap "rm -f $$$$.ps" 0 2 3; \
+ tbl -g $< | troff $(TROFFFLAGS) | \
+ dpost >$$$$.ps && mv $$$$.ps $@
+
+.ps.pdf:
+ gs -sOutputFile=$@ $(DISTFLAGS) -f $<
+
+.tr.html:
+ tbl $< | troff -Thtml $(TROFFFLAGS) | dhtml -t \
+ "Nroff/Troff User's Manual" > $@
+
+.tr.more:
+ tbl -Tlocale $< | nroff -Tlocale | col -x > $@
+
+all: doc.ps
+
+test:
+ [ -e doc.more ] && mv doc.more doc.more.orig
+ make doc.more
+ sed '/dotlessj/d' doc.more >doc.more.sed
+ diff -d doc.more.orig doc.more.sed
+ rm doc.more.sed doc.more
+ mv doc.more.orig doc.more
+ [ -e doc.ps ] && mv doc.ps doc.ps.orig
+ make doc.ps
+ sed 's/.CreationDate.*/%/' doc.ps >doc.ps.sed
+ diff -d doc.ps.orig doc.ps.sed
+ rm doc.ps.sed doc.ps
+ mv doc.ps.orig doc.ps
+
+clean:
+ rm -f doc.ps doc.pdf doc.html doc.more core log *~
+
+mrproper: clean
diff --git a/eqn/checkeq.d/Makefile.mk b/eqn/checkeq.d/Makefile.mk
new file mode 100644
index 0000000000000..5e13d2021debb
--- /dev/null
+++ b/eqn/checkeq.d/Makefile.mk
@@ -0,0 +1,23 @@
+VPATH=..
+OBJ = checkeq.o
+
+FLAGS =
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: checkeq
+
+checkeq: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o checkeq
+
+install:
+ $(INSTALL) -c checkeq $(ROOT)$(BINDIR)/checkeq
+ $(STRIP) $(ROOT)$(BINDIR)/checkeq
+ rm -f $(ROOT)$(MANDIR)/man1/checkeq.1
+ ln -s eqn.1 $(ROOT)$(MANDIR)/man1/checkeq.1
+
+clean:
+ rm -f $(OBJ) checkeq core log *~
+
+mrproper: clean
diff --git a/eqn/checkeq.d/checkeq.c b/eqn/checkeq.d/checkeq.c
new file mode 100644
index 0000000000000..e925a17b0dfdf
--- /dev/null
+++ b/eqn/checkeq.d/checkeq.c
@@ -0,0 +1,148 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* from OpenSolaris "checkeq.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/checkeq.sl 4.1 (gritter) 9/15/05";
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static void check(FILE *);
+static char *fgetline(char **, size_t *, FILE *);
+
+static FILE *fin;
+static int delim = '$';
+
+int
+main(int argc, char **argv)
+{
+ if (argc <= 1)
+ check(stdin);
+ else
+ while (--argc > 0) {
+ if ((fin = fopen(*++argv, "r")) == NULL) {
+ perror(*argv);
+ exit(1);
+ }
+ printf("%s:\n", *argv);
+ check(fin);
+ fclose(fin);
+ }
+ return (0);
+}
+
+static void
+check(FILE *f)
+{
+ int start, line, eq, ndel, totdel;
+ char *in = NULL, *p;
+ size_t insize = 0;
+
+ start = eq = line = ndel = totdel = 0;
+ while (fgetline(&in, &insize, f) != NULL) {
+ line++;
+ ndel = 0;
+ for (p = in; *p; p++)
+ if (*p == delim)
+ ndel++;
+ if (*in == '.' && *(in+1) == 'E' && *(in+2) == 'Q') {
+ if (eq++)
+ printf(" Spurious EQ, line %d\n", line);
+ if (totdel)
+ printf(" EQ in %c%c, line %d\n",
+ delim, delim, line);
+ } else if (*in == '.' && *(in+1) == 'E' && *(in+2) == 'N') {
+ if (eq == 0)
+ printf(" Spurious EN, line %d\n", line);
+ else
+ eq = 0;
+ if (totdel > 0)
+ printf(" EN in %c%c, line %d\n",
+ delim, delim, line);
+ start = 0;
+ } else if (eq && *in == 'd' && *(in+1) == 'e' &&
+ *(in+2) == 'l' && *(in+3) == 'i' && *(in+4) == 'm') {
+ for (p = in+5; *p; p++)
+ if (*p != ' ') {
+ if (*p == 'o' && *(p+1) == 'f')
+ delim = 0;
+ else
+ delim = *p;
+ break;
+ }
+ if (delim == 0)
+ printf(" Delim off, line %d\n", line);
+ else
+ printf(" New delims %c%c, line %d\n",
+ delim, delim, line);
+ }
+ if (ndel > 0 && eq > 0)
+ printf(" %c%c in EQ, line %d\n", delim,
+ delim, line);
+ if (ndel == 0)
+ continue;
+ totdel += ndel;
+ if (totdel%2) {
+ if (start == 0)
+ start = line;
+ else {
+ printf(" %d line %c%c, lines %d-%d\n",
+ line-start+1, delim, delim, start, line);
+ start = line;
+ }
+ } else {
+ if (start > 0) {
+ printf(" %d line %c%c, lines %d-%d\n",
+ line-start+1, delim, delim, start, line);
+ start = 0;
+ }
+ totdel = 0;
+ }
+ }
+ if (totdel)
+ printf(" Unfinished %c%c\n", delim, delim);
+ if (eq)
+ printf(" Unfinished EQ\n");
+}
+
+static char *
+fgetline(char **lp, size_t *zp, FILE *fp)
+{
+ size_t n = 0;
+ int c;
+
+ while ((c = getc(fp)) != EOF) {
+ if (n >= *zp)
+ *lp = realloc(*lp, *zp += 600);
+ (*lp)[n++] = c;
+ if (c == '\n')
+ break;
+ }
+ if (n >= *zp)
+ *lp = realloc(*lp, *zp += 600);
+ (*lp)[n] = 0;
+ return c != EOF ? *lp : NULL;
+}
diff --git a/eqn/diacrit.c b/eqn/diacrit.c
new file mode 100644
index 0000000000000..07d0e17594673
--- /dev/null
+++ b/eqn/diacrit.c
@@ -0,0 +1,128 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "diacrit.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)diacrit.c 1.7 (gritter) 1/13/08
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+void
+diacrit(int p1, int type) {
+ int c, t;
+#ifndef NEQN
+ float effps;
+#endif /* NEQN */
+
+ c = oalloc();
+ t = oalloc();
+#ifdef NEQN
+ nrwid(p1, ps, p1);
+ printf(".nr 10 %gu\n", max(eht[p1]-ebase[p1]-VERT(2),0));
+#else /* NEQN */
+ effps = EFFPS(ps);
+ nrwid(p1, effps, p1);
+ printf(".nr 10 %gp\n", VERT(max(eht[p1]-ebase[p1]-EM(1,ps),0))); /* vertical shift if high */
+ printf(".if \\n(ct>1 .nr 10 \\n(10+\\s%s.25m\\s0\n", tsize(effps));
+ if (type != HAT && type != TILDE) {
+ printf(".nr %d \\s%s.1m\\s0\n", t, tsize(effps)); /* horiz shift if high */
+ printf(".if \\n(ct>1 .nr %d \\s%s.15m\\s0\n", t, tsize(effps));
+ } else
+ printf(".nr %d 0\n", t);
+#endif /* NEQN */
+ switch(type) {
+ case VEC: /* vec */
+#ifndef NEQN
+ printf(".ds %d \\v'-.4m'\\s%s\\(->\\s0\\v'.4m'\n",
+ c, tsize(max(effps-3, 6)));
+ break;
+#endif /* NEQN */
+ case DYAD: /* dyad */
+#ifdef NEQN
+ printf(".ds %d \\v'-12p'_\\v'12p'\n", c);
+#else /* !NEQN */
+ printf(".ds %d \\v'-.4m'\\s%s\\z\\(<-\\(->\\s0\\v'.4m'\n",
+ c, tsize(max(effps-3, 6)));
+#endif /* !NEQN */
+ break;
+ case HAT:
+ printf(".ds %d ^\n", c);
+ break;
+ case TILDE:
+ printf(".ds %d ~\n", c);
+ break;
+ case DOT:
+#ifndef NEQN
+ printf(".ds %d \\s%s\\v'-.67m'.\\v'.67m'\\s0\n", c, tsize(effps));
+#else /* NEQN */
+ printf(".ds %d \\v'-12p'.\\v'12p'\n", c);
+#endif /* NEQN */
+ break;
+ case DOTDOT:
+#ifndef NEQN
+ printf(".ds %d \\s%s\\v'-.67m'..\\v'.67m\\s0'\n", c, tsize(effps));
+#else /* NEQN */
+ printf(".ds %d \\v'-12p'..\\v'12p'\n", c);
+#endif /* NEQN */
+ break;
+ case BAR:
+#ifndef NEQN
+ printf(".ds %d \\s%s\\v'.28m'\\h'.05m'\\l'\\n(%du-.1m\\(rn'\\h'.05m'\\v'-.28m'\\s0\n",
+ c, tsize(effps), p1);
+#else /* NEQN */
+ printf(".ds %d \\v'-12p'\\l'\\n(%du'\\v'12p'\n",
+ c, p1);
+#endif /* NEQN */
+ break;
+ case UNDER:
+#ifndef NEQN
+ printf(".ds %d \\l'\\n(%du\\(ul'\n", c, p1);
+ printf(".nr %d 0\n", t);
+ printf(".nr 10 0-%gp\n", ebase[p1]);
+#else /* NEQN */
+ printf(".ds %d \\l'\\n(%du'\n", c, p1);
+#endif /* NEQN */
+ break;
+ }
+ nrwid(c, ps, c);
+#ifndef NEQN
+ if (!ital(lfont[p1]))
+ printf(".nr %d 0\n", t);
+ printf(".as %d \\h'-\\n(%du-\\n(%du/2u+\\n(%du'\\v'0-\\n(10u'\\*(%d",
+ p1, p1, c, t, c);
+ printf("\\v'\\n(10u'\\h'-\\n(%du+\\n(%du/2u-\\n(%du'\n", c, p1, t);
+ /* BUG - should go to right end of widest */
+#else /* NEQN */
+ printf(".as %d \\h'-\\n(%du-\\n(%du/2u'\\v'0-\\n(10u'\\*(%d",
+ p1, p1, c, c);
+ printf("\\v'\\n(10u'\\h'-\\n(%du+\\n(%du/2u'\n", c, p1);
+#endif /* NEQN */
+#ifndef NEQN
+ if (type != UNDER)
+ eht[p1] += VERT(EM(0.15, ps)); /* 0.15m */
+ if(dbg)printf(".\tdiacrit: %c over S%d, lf=%c, rf=%c, h=%g,b=%g\n",
+ type, p1, lfont[p1], rfont[p1], eht[p1], ebase[p1]);
+#else /* NEQN */
+ if (type != UNDER)
+ eht[p1] += VERT(1);
+ if (dbg) printf(".\tdiacrit: %c over S%d, h=%d, b=%d\n", type, p1, eht[p1], ebase[p1]);
+#endif /* NEQN */
+ ofree(c); ofree(t);
+}
diff --git a/eqn/e.h b/eqn/e.h
new file mode 100644
index 0000000000000..6c699fbe646d4
--- /dev/null
+++ b/eqn/e.h
@@ -0,0 +1,184 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from "e.h 1.5 05/06/02 SMI" "ucbeqn:e.h 1.1" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)e.h 1.13 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include <stdio.h>
+#include <inttypes.h>
+#include "global.h"
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+#define FATAL 1
+#define ROM '1'
+#ifndef NEQN
+#define ITAL '2'
+#define BLD '3'
+#else /* NEQN */
+#define ITAL '1'
+#define BLD '1'
+#endif /* NEQN */
+
+#define rom(c) (((c) & 0177) == ROM)
+#define ital(c) (((c) & 0177) == ITAL)
+#define bld(c) (((c) & 0177) == BLD)
+
+#define OP 0200
+#define op(c) ((c) & OP)
+
+#ifndef NEQN
+#define VERT(n) (n)
+#define POINT 72
+#define EM(m, ps) ((((float)(m)*(ps) * resolution) / POINT))
+#else /* NEQN */
+#define VERT(n) (20 * (n))
+#endif /* NEQN */
+#define EFFPS(p) ((p) >= 6 ? (p) : 6)
+
+extern int dbg;
+extern int ct;
+extern int lp[];
+extern int used[]; /* available registers */
+extern float ps; /* dflt init pt size */
+#define resolution 72 /* was: resolution of ditroff */
+extern float deltaps; /* default change in ps */
+extern float gsize; /* global size */
+extern int gfont; /* global font */
+extern int ft; /* dflt font */
+extern FILE *curfile; /* current input file */
+extern int ifile; /* input file number */
+extern int linect; /* line number in current file */
+extern int eqline; /* line where eqn started */
+extern int svargc;
+extern char **svargv;
+#ifndef NEQN
+extern float eht[100];
+extern float ebase[100];
+#else /* NEQN */
+extern int eht[100];
+extern int ebase[100];
+#endif /* NEQN */
+extern int lfont[100];
+extern int rfont[100];
+extern int eqnreg, eqnht;
+extern int lefteq, righteq;
+extern int lastchar; /* last character read by lex */
+extern int markline; /* 1 if this EQ/EN contains mark or lineup */
+extern char *progname;
+
+typedef struct s_tbl {
+ char *name;
+ char *defn;
+ struct s_tbl *next;
+} tbl;
+extern char *spaceval; /* use in place of normal \x (for pic) */
+
+/* diacrit.c */
+void diacrit(int, int);
+/* e.c */
+int yyparse(void);
+/* eqnbox.c */
+void eqnbox(int, int, int);
+/* font.c */
+void setfont(char);
+void font(int, int);
+void fatbox(int);
+void globfont(void);
+/* fromto.c */
+void fromto(int, int, int);
+/* funny.c */
+void funny(int);
+/* glob.c */
+/* integral.c */
+void integral(int, int, int);
+void setintegral(void);
+/* io.c */
+int main(int, char **);
+void eqnexit(int);
+int eqn(int, char **);
+#define getline(s, n) eqngetline(s, n)
+int getline(char **, size_t *);
+void do_inline(void);
+void putout(int);
+float max(float, float);
+int oalloc(void);
+void ofree(int);
+void setps(float);
+void nrwid(int, float, int);
+void setfile(int, char **);
+void yyerror(char *);
+void init(void);
+void error(int, const char *, ...);
+/* lex.c */
+int gtc(void);
+int openinfile(void);
+void pbstr(register char *);
+int yylex(void);
+int getstr(char *, register int);
+int cstr(char *, int, int);
+void define(int);
+void space(void);
+char *strsave(char *);
+void include(void);
+void delim(void);
+/* lookup.c */
+tbl *lookup(tbl **, char *, char *);
+void init_tbl(void);
+/* mark.c */
+void mark(int);
+void lineup(int);
+/* matrix.c */
+void column(int, int);
+void matrix(int);
+/* move.c */
+void move(int, int, int);
+/* over.c */
+void boverb(int, int);
+/* paren.c */
+void paren(int, int, int);
+void brack(int, char *, char *, char *);
+/* pile.c */
+void lpile(int, int, int);
+/* shift.c */
+void bshiftb(int, int, int);
+void shift(int);
+void shift2(int, int, int);
+/* size.c */
+void setsize(char *);
+void size(float, int);
+void globsize(void);
+char *tsize(float);
+/* sqrt.c */
+#define sqrt(n) eqnsqrt(n)
+void sqrt(int);
+/* text.c */
+void text(int, char *);
+int trans(int, char *);
+void shim(int);
+void roman(int);
+void name4(int, int);
diff --git a/eqn/e.y b/eqn/e.y
new file mode 100644
index 0000000000000..a28a3ee53a8eb
--- /dev/null
+++ b/eqn/e.y
@@ -0,0 +1,215 @@
+%{
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+%}
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+%{#
+/* from "e.y 1.6 05/06/10 SMI" "ucbeqn:e.y 1.1" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)e.y 1.7 (gritter) 10/2/07
+ */
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+#include "e.h"
+#include <stdlib.h>
+#include <inttypes.h>
+
+int fromflg;
+
+#define __YYSCLASS /* to get external access to yyval with HP-UX yacc */
+%}
+%union {
+ int token;
+ char *str;
+}
+%token <str> CONTIG QTEXT SPACE THIN TAB
+%token <token> MATRIX LCOL CCOL RCOL COL
+%token <token> MARK LINEUP
+%token <token> SUM INT PROD UNION INTER
+%token <token> LPILE PILE CPILE RPILE ABOVE
+%token <token> DEFINE TDEFINE NDEFINE DELIM GSIZE GFONT INCLUDE
+%type <str> text
+%type <token> eqn box lineupbox matrix lcol ccol rcol col sbox tbox size font
+%type <token> lpile cpile rpile pile sub sup int left right diacrit fwd up back
+%type <token> down from to pbox
+%right FROM TO
+%left OVER SQRT
+%right SUP SUB
+%right SIZE FONT ROMAN ITALIC BOLD FAT
+%right UP DOWN BACK FWD
+%left LEFT RIGHT
+%right DOT DOTDOT HAT TILDE BAR UNDER VEC DYAD
+
+%%
+
+stuff : eqn { putout($1); }
+ | error { error(!FATAL, "syntax error"); }
+ | { eqnreg = 0; }
+ ;
+
+eqn : box
+ | eqn box { eqnbox($1, $2, 0); }
+ | eqn lineupbox { eqnbox($1, $2, 1); }
+ | LINEUP { lineup(0); }
+ ;
+
+lineupbox: LINEUP box { $$ = $2; lineup(1); }
+ ;
+
+matrix : MATRIX { $$ = ct; } ;
+
+collist : column
+ | collist column
+ ;
+
+column : lcol '{' list '}' { column('L', $1); }
+ | ccol '{' list '}' { column('C', $1); }
+ | rcol '{' list '}' { column('R', $1); }
+ | col '{' list '}' { column('-', $1); }
+ ;
+
+lcol : LCOL { $$ = ct++; } ;
+ccol : CCOL { $$ = ct++; } ;
+rcol : RCOL { $$ = ct++; } ;
+col : COL { $$ = ct++; } ;
+
+sbox : sup box %prec SUP { $$ = $2; }
+ ;
+
+tbox : to box %prec TO { $$ = $2; }
+ | %prec FROM { $$ = 0; }
+ ;
+
+box : box OVER box { boverb($1, $3); }
+ | MARK box { mark($2); }
+ | size box %prec SIZE { size($1, $2); }
+ | font box %prec FONT { font($1, $2); }
+ | FAT box { fatbox($2); }
+ | SQRT box { sqrt($2); }
+ | lpile '{' list '}' { lpile('L', $1, ct); ct = $1; }
+ | cpile '{' list '}' { lpile('C', $1, ct); ct = $1; }
+ | rpile '{' list '}' { lpile('R', $1, ct); ct = $1; }
+ | pile '{' list '}' { lpile('-', $1, ct); ct = $1; }
+ | box sub box sbox %prec SUB { shift2($1, $3, $4); }
+ | box sub box %prec SUB { bshiftb($1, $2, $3); }
+ | box sup box %prec SUP { bshiftb($1, $2, $3); }
+ | int sub box sbox %prec SUB { integral($1, $3, $4); }
+ | int sub box %prec SUB { integral($1, $3, 0); }
+ | int sup box %prec SUP { integral($1, 0, $3); }
+ | int { integral($1, 0, 0); }
+ | left eqn right { paren($1, $2, $3); }
+ | pbox
+ | box from box tbox %prec FROM { fromto($1, $3, $4); fromflg=0; }
+ | box to box %prec TO { fromto($1, 0, $3); }
+ | box diacrit { diacrit($1, $2); }
+ | fwd box %prec UP { move(FWD, $1, $2); }
+ | up box %prec UP { move(UP, $1, $2); }
+ | back box %prec UP { move(BACK, $1, $2); }
+ | down box %prec UP { move(DOWN, $1, $2); }
+ | matrix '{' collist '}' { matrix($1); }
+ ;
+
+int : INT { setintegral(); }
+ ;
+
+fwd : FWD text { $$ = atoi((char *) $2); } ;
+up : UP text { $$ = atoi((char *) $2); } ;
+back : BACK text { $$ = atoi((char *) $2); } ;
+down : DOWN text { $$ = atoi((char *) $2); } ;
+
+diacrit : HAT { $$ = HAT; }
+ | VEC { $$ = VEC; }
+ | DYAD { $$ = DYAD; }
+ | BAR { $$ = BAR; }
+ | UNDER { $$ = UNDER; } /* under bar */
+ | DOT { $$ = DOT; }
+ | TILDE { $$ = TILDE; }
+ | DOTDOT { $$ = DOTDOT; } /* umlaut = double dot */
+ ;
+
+from : FROM { $$=ps; ps -= 3; fromflg = 1;
+ if(dbg)printf(".\tfrom: old ps %d, new ps %g, fflg %d\n", $$, ps, fromflg);
+ }
+ ;
+
+to : TO { $$=ps; if(fromflg==0)ps -= 3;
+ if(dbg)printf(".\tto: old ps %d, new ps %g\n", $$, ps);
+ }
+ ;
+
+left : LEFT text { $$ = ((char *)$2)[0]; }
+ | LEFT '{' { $$ = '{'; }
+ ;
+
+right : RIGHT text { $$ = ((char *)$2)[0]; }
+ | RIGHT '}' { $$ = '}'; }
+ | { $$ = 0; }
+ ;
+
+list : eqn { lp[ct++] = $1; }
+ | list ABOVE eqn { lp[ct++] = $3; }
+ ;
+
+lpile : LPILE { $$ = ct; } ;
+cpile : CPILE { $$ = ct; } ;
+pile : PILE { $$ = ct; } ;
+rpile : RPILE { $$ = ct; } ;
+
+size : SIZE text { $$ = ps; setsize((char *) $2); }
+ ;
+
+font : ROMAN { setfont(ROM); }
+ | ITALIC { setfont(ITAL); }
+ | BOLD { setfont(BLD); }
+ | FONT text { setfont(((char *)$2)[0]); }
+ ;
+
+sub : SUB { shift(SUB); }
+ ;
+
+sup : SUP { shift(SUP); }
+ ;
+
+pbox : '{' eqn '}' { $$ = $2; }
+ | QTEXT { text(QTEXT, (char *) $1); }
+ | CONTIG { text(CONTIG, (char *) $1); }
+ | SPACE { text(SPACE, 0); }
+ | THIN { text(THIN, 0); }
+ | TAB { text(TAB, 0); }
+ | SUM { funny(SUM); }
+ | PROD { funny(PROD); }
+ | UNION { funny(UNION); }
+ | INTER { funny(INTER); } /* intersection */
+ ;
+
+text : CONTIG
+ | QTEXT
+ ;
+
+%%
diff --git a/eqn/eqn.d/Makefile.mk b/eqn/eqn.d/Makefile.mk
new file mode 100644
index 0000000000000..d6e573ce1344f
--- /dev/null
+++ b/eqn/eqn.d/Makefile.mk
@@ -0,0 +1,56 @@
+VPATH=..
+OBJ = diacrit.o e.o eqnbox.o font.o fromto.o funny.o glob.o integral.o \
+ io.o lex.o lookup.o mark.o matrix.o move.o over.o paren.o pile.o \
+ shift.o size.o sqrt.o text.o version.o
+
+FLAGS = -I. -I.. -I../../include $(DEFINES)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: eqn
+
+eqn: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o eqn
+
+e.c: e.y
+ $(YACC) -d ../e.y
+ sed -f ../yyval.sed <y.tab.c >$@
+
+y.tab.h: e.c
+
+install:
+ test -d $(ROOT)$(BINDIR) || mkdir -p $(ROOT)$(BINDIR)
+ $(INSTALL) -c eqn $(ROOT)$(BINDIR)/eqn
+ $(STRIP) $(ROOT)$(BINDIR)/eqn
+ test -d $(ROOT)$(MANDIR)/man1 || mkdir -p $(ROOT)$(MANDIR)/man1
+ test -d $(ROOT)$(MANDIR)/man7 || mkdir -p $(ROOT)$(MANDIR)/man7
+ $(INSTALL) -c -m 644 eqn.1 $(ROOT)$(MANDIR)/man1/eqn.1
+ $(INSTALL) -c -m 644 eqnchar.7 $(ROOT)$(MANDIR)/man7/eqnchar.7
+
+clean:
+ rm -f $(OBJ) eqn e.c y.tab.* core log *~
+
+mrproper: clean
+
+diacrit.o: ../diacrit.c ../e.h y.tab.h
+eqnbox.o: ../eqnbox.c ../e.h
+font.o: ../font.c ../e.h
+fromto.o: ../fromto.c ../e.h
+funny.o: ../funny.c ../e.h y.tab.h
+glob.o: ../glob.c ../e.h
+integral.o: ../integral.c ../e.h y.tab.h
+io.o: ../io.c ../e.h
+lex.o: ../lex.c ../e.h y.tab.h
+lookup.o: ../lookup.c ../e.h y.tab.h
+mark.o: ../mark.c ../e.h
+matrix.o: ../matrix.c ../e.h
+move.o: ../move.c ../e.h y.tab.h
+over.o: ../over.c ../e.h
+paren.o: ../paren.c ../e.h
+pile.o: ../pile.c ../e.h
+shift.o: ../shift.c ../e.h y.tab.h
+size.o: ../size.c ../e.h
+sqrt.o: ../sqrt.c ../e.h
+text.o: ../text.c ../e.h y.tab.h
+e.o: e.c ../e.h
diff --git a/eqn/eqn.d/eqn.1 b/eqn/eqn.d/eqn.1
new file mode 100644
index 0000000000000..7b7459e95af88
--- /dev/null
+++ b/eqn/eqn.d/eqn.1
@@ -0,0 +1,332 @@
+'\" e
+.\" Sccsid @(#)eqn.1b 1.6 (gritter) 12/12/05
+.\" Derived from eqn(1), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.TH EQN 1 "12/12/05" "Heirloom Documentation Tools" "BSD System Compatibility"
+.EQ
+delim $$
+.EN
+.SH NAME
+eqn, neqn, checkeq \- typeset mathematics
+.SH SYNOPSIS
+\fBeqn\fR
+[\fB\-d\fIxy\fR]
+[\fB\-f\fIn\fR]
+[\fB\-s\fIn\fR]
+[\fIfile\fR] ...
+.br
+\fBneqn\fR [\fIfile\fR] ...
+.br
+\fBcheckeq\fR
+.SH DESCRIPTION
+.I Eqn
+is a
+troff(1)
+preprocessor
+for typesetting mathematics
+on a phototypesetter,
+.I neqn
+on terminals.
+Usage is almost always
+.PP
+ eqn file ... | troff
+.br
+ neqn file ... | nroff
+.PP
+If no files are specified,
+these programs
+read from the standard input.
+A line beginning with `.EQ' marks the start of an equation;
+the end of an equation
+is marked by a line beginning with `.EN'.
+Neither of these lines is altered,
+so they may be defined in macro packages
+to get
+centering, numbering, etc.
+It is also possible to set two characters as `delimiters';
+subsequent text between delimiters is also treated as
+.ul
+eqn
+input.
+Delimiters may be set to characters
+.I x
+and
+.I y
+with the command-line argument
+.BI \-d xy
+or (more commonly) with
+`delim
+.IR xy '
+between .EQ and .EN.
+The left and right delimiters may be identical.
+Delimiters are turned off by `delim off'.
+All text that is neither between delimiters nor between .EQ and .EN
+is passed through untouched.
+.PP
+The program
+.I checkeq
+reports missing or unbalanced delimiters and .EQ/.EN pairs.
+.PP
+Tokens within
+.I eqn
+are separated by
+spaces, tabs, newlines, braces, double quotes,
+tildes or circumflexes.
+Braces {} are used for grouping;
+generally speaking,
+anywhere a single character like
+.I x
+could appear, a complicated construction
+enclosed in braces may be used instead.
+Tilde ~ represents a full space in the output,
+circumflex ^ half as much.
+.PP
+.vs 13p
+Subscripts and superscripts are produced with the keywords
+.B sub
+and
+.B sup.
+Thus
+.I "x sub i"
+makes
+$x sub i$,
+.I "a sub i sup 2"
+produces
+$a sub i sup 2$,
+and
+.I "e sup {x sup 2 + y sup 2}"
+gives
+$e sup {x sup 2 + y sup 2}$.
+.PP
+Fractions are made with
+.BR over :
+.I "a over b"
+yields $a over b$.
+.PP
+.B sqrt
+makes square roots:
+.I "1 over sqrt {ax sup 2 +bx+c}"
+results in
+$1 over sqrt {ax sup 2 +bx+c}$ .
+.PP
+The keywords
+.B from
+and
+.B to
+introduce lower and upper
+limits on arbitrary things:
+$lim from {n-> inf} sum from 0 to n x sub i$
+is made with
+.I "lim from {n\-> inf } sum from 0 to n x sub i."
+.PP
+Left and right brackets, braces, etc., of the right height are made with
+.B left
+and
+.B right:
+.I "left [ x sup 2 + y sup 2 over alpha right ] ~=~1"
+produces
+$left [ x sup 2 + y sup 2 over alpha right ] ~=~1$.
+The
+.B right
+clause is optional.
+Legal characters after
+.B left
+and
+.B right
+are braces, brackets, bars,
+.B c
+and
+.B f
+for ceiling and floor,
+and "" for nothing at all (useful for a right-side-only bracket).
+.PP
+Vertical piles of things are made with
+.BR pile ,
+.BR lpile ,
+.BR cpile ,
+and
+.BR rpile :
+.I "pile {a above b above c}"
+produces
+$pile {a above b above c}$.
+There can be an arbitrary number of elements in a pile.
+.B lpile
+left-justifies,
+.B pile
+and
+.B cpile
+center, with different vertical spacing,
+and
+.B rpile
+right justifies.
+.PP
+Matrices are made with
+.BR matrix :
+.I "matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } }"
+produces
+$matrix { lcol { x sub i above y sub 2 } ccol { 1 above 2 } }$.
+In addition, there is
+.B rcol
+for a right-justified column.
+.PP
+.vs 12p
+Diacritical marks are made with
+.BR dot ,
+.BR dotdot ,
+.BR hat ,
+.BR tilde ,
+.BR bar ,
+.BR vec ,
+.BR dyad ,
+and
+.BR under :
+.I "x dot = f(t) bar"
+is
+$x dot = f(t) bar$,
+.I "y dotdot bar ~=~ n under"
+is
+$y dotdot bar ~=~ n under$,
+and
+.I "x vec ~=~ y dyad"
+is
+$x vec ~=~ y dyad$.
+.PP
+Sizes and font can be changed with
+.B size
+.I n
+or
+.B size
+.BI \(+- n,
+.BR roman ,
+.BR italic ,
+.BR bold ,
+and
+.BR font
+.I n.
+Size and fonts can be changed globally in a document by
+.B gsize
+.I n
+and
+.B gfont
+.IR n ,
+or by the command-line arguments
+.BI \-s n
+and
+.BI \-f n.
+.PP
+Normally subscripts and superscripts are reduced by
+3 point sizes from the previous size;
+this may be changed by the command-line argument
+.BI \-p n.
+.PP
+Successive display arguments can be lined up.
+Place
+.B mark
+before the desired lineup point in the first equation;
+place
+.B lineup
+at the place that is to line up vertically in subsequent equations.
+.PP
+Shorthands may be defined
+or existing keywords redefined with
+.BI define :
+.I "define thing % replacement %"
+defines a new token called
+.I thing
+which will be replaced by
+.I replacement
+whenever it appears thereafter.
+The
+.I %
+may be any character that does not occur in
+.I replacement.
+.PP
+Keywords like
+.I sum
+.EQ
+( sum )
+.EN
+.I int
+.EQ
+( int )
+.EN
+.I inf
+.EQ
+( inf )
+.EN
+and shorthands like
+>=
+.EQ
+(>=)
+.EN
+\->
+.EQ
+(->),
+.EN
+and
+!=
+.EQ
+( != )
+.EN
+are recognized.
+Greek letters are spelled out in the desired case, as in
+.I alpha
+or
+.I GAMMA.
+Mathematical words like sin, cos, log are made Roman automatically.
+.IR Troff (1)
+four-character escapes like \e(bs (\(bs)
+can be used anywhere.
+Strings enclosed in double quotes "..."
+are passed through untouched;
+this permits keywords to be entered as text,
+and can be used to communicate
+with
+.I troff
+when all else fails.
+.SH "SEE ALSO"
+.PP
+troff(1), tbl(1), ms(7), eqnchar(7)
+.br
+B. W. Kernighan and L. L. Cherry,
+.ul
+Typesetting Mathematics\(emUser's Guide
+.br
+J. F. Ossanna,
+.ul
+NROFF/TROFF User's Manual
+.SH NOTES
+.PP
+To embolden digits, parens, etc.,
+it is necessary to quote them,
+as in `bold "12.3"'.
diff --git a/eqn/eqn.d/eqnchar.7 b/eqn/eqn.d/eqnchar.7
new file mode 100644
index 0000000000000..b806bc17ba6e4
--- /dev/null
+++ b/eqn/eqn.d/eqnchar.7
@@ -0,0 +1,212 @@
+'\" e
+.\" Sccsid @(#)eqnchar.7b 1.2 (gritter) 12/9/05
+.\" Derived from eqnchar(7), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.TH EQNCHAR 7 "12/9/05" "Heirloom Documentation Tools" "BSD System Compatibility"
+.EQ
+tdefine ciplus % "\o'\(pl\(ci'" %
+ndefine ciplus % O+ %
+tdefine citimes % "\o'\(mu\(ci'" %
+ndefine citimes % Ox %
+tdefine =wig % "\(eq\h'-\w'\(eq'u-\w'\s-2\(ap'u/2u'\v'-.4m'\s-2\z\(ap\(ap\s+2\v'.4m'\h'\w'\(eq'u-\w'\s-2\(ap'u/2u'" %
+ndefine =wig % ="~" %
+tdefine bigstar % "\o'\(pl\(mu'" %
+ndefine bigstar % X|- %
+tdefine =dot % "\z\(eq\v'-.6m'\h'.2m'\s+2.\s-2\v'.6m'\h'.1m'" %
+ndefine =dot % = dot %
+tdefine orsign % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'.15m'\s+2" %
+ndefine orsign % \e/ %
+tdefine andsign % "\s-2\v'-.15m'\z\(sl\(sl\h'-.05m'\z\e\e\v'.15m'\s+2" %
+ndefine andsign % /\e %
+tdefine =del % "\v'.3m'\z=\v'-.6m'\h'.3m'\s-1\(*D\s+1\v'.3m'" %
+ndefine =del % = to DELTA %
+tdefine oppA % "\s-2\v'-.15m'\z\e\e\h'-.05m'\z\(sl\(sl\v'-.15m'\h'-.75m'\z-\z-\h'.2m'\z-\z-\v'.3m'\h'.4m'\s+2" %
+ndefine oppA % V- %
+tdefine oppE %"\s-3\v'.2m'\z\(em\v'-.5m'\z\(em\v'-.5m'\z\(em\v'.55m'\h'.9m'\z\(br\z\(br\v'.25m'\s+3" %
+ndefine oppE % E/ %
+tdefine incl % "\s-1\z\(or\h'-.1m'\v'-.45m'\z\(em\v'.7m'\z\(em\v'.2m'\(em\v'-.45m'\s+1" %
+ndefine incl % C_ %
+tdefine nomem % "\o'\(mo\(sl'" %
+ndefine nomem % C-/ %
+tdefine angstrom % "\fR\zA\v'-.3m'\h'.2m'\(de\v'.3m'\fP\h'.2m'" %
+ndefine angstrom % A to o %
+tdefine star %{ roman "\v'.5m'\s+3*\s-3\v'-.5m'"}%
+ndefine star % * %
+tdefine || % \(or\(or %
+tdefine <wig % "\z<\v'.4m'\(ap\v'-.4m'" %
+ndefine <wig %{ < from "~" }%
+tdefine >wig % "\z>\v'.4m'\(ap\v'-.4m'" %
+ndefine >wig %{ > from "~" }%
+tdefine langle % "\s-3\b'\(sl\e'\s0" %
+ndefine langle %<%
+tdefine rangle % "\s-3\b'\e\(sl'\s0" %
+ndefine rangle %>%
+tdefine hbar % "\zh\v'-.6m'\h'.05m'\(ru\v'.6m'" %
+ndefine hbar % h\u-\d %
+ndefine ppd % _| %
+tdefine ppd % "\o'\(ru\s-2\(or\s+2'" %
+tdefine <-> % "\o'\(<-\(->'" %
+ndefine <-> % "<-->" %
+tdefine <=> % "\s-2\z<\v'.05m'\h'.2m'\z=\h'.55m'=\h'-.6m'\v'-.05m'>\s+2" %
+ndefine <=> % "<=>" %
+tdefine |< % "\o'<\(or'" %
+ndefine |< % <| %
+tdefine |> % "\o'>\(or'" %
+ndefine |> % |> %
+tdefine ang % "\v'-.15m'\z\s-2\(sl\s+2\v'.15m'\(ru" %
+ndefine ang % /_ %
+tdefine rang % "\z\(or\h'.15m'\(ru" %
+ndefine rang % L %
+tdefine 3dot % "\v'-.8m'\z.\v'.5m'\z.\v'.5m'.\v'-.2m'" %
+ndefine 3dot % .\u.\u.\d\d %
+tdefine thf % ".\v'-.5m'.\v'.5m'." %
+ndefine thf % ..\u.\d %
+tdefine quarter % roman \(14 %
+ndefine quarter % 1/4 %
+tdefine 3quarter % roman \(34 %
+ndefine 3quarter % 3/4 %
+tdefine degree % \(de %
+ndefine degree % nothing sup o %
+tdefine square % \(sq %
+ndefine square % [] %
+tdefine circle % \(ci %
+ndefine circle % O %
+tdefine blot % "\fB\(sq\fP" %
+ndefine blot % HIX %
+tdefine bullet % \(bu %
+ndefine bullet % oxe %
+tdefine -wig % "\(~=" %
+ndefine -wig % - to "~" %
+tdefine wig % \(ap %
+ndefine wig % "~" %
+tdefine prop % \(pt %
+ndefine prop % oc %
+tdefine empty % \(es %
+ndefine empty % O/ %
+tdefine member % \(mo %
+ndefine member % C- %
+tdefine cup % \(cu %
+ndefine cup % U %
+define cap % \(ca %
+define subset % \(sb %
+define supset % \(sp %
+define !subset % \(ib %
+define !supset % \(ip %
+.EN
+.SH NAME
+eqnchar \- special character definitions for eqn
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+.B eqn /usr/pub/eqnchar
+.RB [ files ]
+.B | troff
+.RB [ options ]
+.HP
+.B neqn /usr/pub/eqnchar
+.RB [ files ]
+.B | nroff
+.RB [ options ]
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I Eqnchar
+contains
+.I troff
+and
+.I nroff
+character definitions for constructing characters that are not
+available on the Graphic Systems typesetter.
+These definitions are primarily intended for use with
+.I eqn
+and
+.IR neqn .
+It contains
+definitions for the following characters
+.PP
+.nf
+.ta \w'angstrom 'u \n(.lu/3u +\w'angstrom 'u \n(.lu*2u/3u +\w'angstrom 'u
+.EQ
+"ciplus" ciplus "|\||" || "square" square
+.EN
+.EQ
+"citimes" citimes "langle" langle "circle" circle
+.EN
+.EQ
+"wig" wig "rangle" rangle "blot" blot
+.EN
+.EQ
+"-wig" -wig "hbar" hbar "bullet" bullet
+.EN
+.EQ
+">wig" >wig "ppd" ppd "prop" prop
+.EN
+.EQ
+"<wig" <wig "<->" <-> "empty" empty
+.EN
+.EQ
+"=wig" =wig "<=>" <=> "member" member
+.EN
+.EQ
+"star" star "|\|" |< "nomem" nomem
+.EN
+.EQ
+"bigstar" bigstar "|\|>" |> "cup" cup
+.EN
+.EQ
+"=dot" =dot "ang" ang "cap" cap
+.EN
+.EQ
+"orsign" orsign "rang" rang "incl" incl
+.EN
+.EQ
+"andsign" andsign "3dot" 3dot "subset" subset
+.EN
+.EQ
+"=del" =del "thf" thf "supset" supset
+.EN
+.EQ
+"oppA" oppA "quarter" quarter "!subset" !subset
+.EN
+.EQ
+"oppE" oppE "3quarter" 3quarter "!supset" !supset
+.EN
+.EQ
+"angstrom" angstrom "degree" degree
+.EN
+.SH FILES
+/usr/pub/eqnchar
+.SH SEE ALSO
+troff(1), eqn(1)
diff --git a/eqn/eqnbox.c b/eqn/eqnbox.c
new file mode 100644
index 0000000000000..c51f0a4b95dc3
--- /dev/null
+++ b/eqn/eqnbox.c
@@ -0,0 +1,68 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "eqnbox.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)eqnbox.c 1.7 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+eqnbox(int p1, int p2, int lu) {
+#ifndef NEQN
+ float b, h;
+#else /* NEQN */
+ int b, h;
+#endif /* NEQN */
+ char *sh;
+
+ yyval.token = p1;
+ b = max(ebase[p1], ebase[p2]);
+ eht[yyval.token] = h = b + max(eht[p1]-ebase[p1],
+ eht[p2]-ebase[p2]);
+ ebase[yyval.token] = b;
+#ifndef NEQN
+ if(dbg)printf(".\te:eb: S%d <- S%d S%d; b=%g, h=%g\n",
+ yyval.token, p1, p2, b, h);
+#else /* NEQN */
+ if(dbg)printf(".\te:eb: S%d <- S%d S%d; b=%d, h=%d\n",
+ yyval.token, p1, p2, b, h);
+#endif /* NEQN */
+ if (ital(rfont[p1]) && rom(lfont[p2])) {
+ if (op(lfont[p2]))
+ sh = "\\|";
+ else
+ sh = "\\^";
+ } else
+ sh = "";
+ if (lu) {
+ printf(".nr %d \\w'\\s%s\\*(%d%s'\n", p1, tsize(ps), p1, sh);
+ printf(".ds %d \\h'|\\n(97u-\\n(%du'\\*(%d\n", p1, p1, p1);
+ }
+ printf(".as %d \"%s\\*(%d\n", yyval.token, sh, p2);
+ rfont[p1] = rfont[p2];
+ ofree(p2);
+}
diff --git a/eqn/eqnchar.d/Makefile.mk b/eqn/eqnchar.d/Makefile.mk
new file mode 100644
index 0000000000000..6154b87c05963
--- /dev/null
+++ b/eqn/eqnchar.d/Makefile.mk
@@ -0,0 +1,28 @@
+FILES = ascii eqnchar greek iso utf-8
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(EUC) -c $<
+
+all: $(FILES)
+
+utf-8: genutf8
+ -./genutf8 >utf-8
+
+genutf8: genutf8.o
+ -$(CC) $(CFLAGS) $(LDFLAGS) genutf8.o $(LIBS) -o genutf8
+
+genutf8.o: genutf8.c
+ -$(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(EUC) -c genutf8.c
+
+install: all
+ test -d $(ROOT)$(PUBDIR) || mkdir -p $(ROOT)$(PUBDIR)
+ for i in $(FILES); \
+ do \
+ test -s $$i || continue; \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(PUBDIR)/$$i || exit; \
+ done
+
+clean:
+ rm -f utf-8 genutf8 genutf8.o core log *~
+
+mrproper: clean
diff --git a/eqn/eqnchar.d/ascii b/eqn/eqnchar.d/ascii
new file mode 100644
index 0000000000000..0df53fd6e9982
--- /dev/null
+++ b/eqn/eqnchar.d/ascii
@@ -0,0 +1,34 @@
+|000 nul|001 soh|002 stx|003 etx|004 eot|005 enq|006 ack|007 bel|
+|010 bs |011 ht |012 nl |013 vt |014 np |015 cr |016 so |017 si |
+|020 dle|021 dc1|022 dc2|023 dc3|024 dc4|025 nak|026 syn|027 etb|
+|030 can|031 em |032 sub|033 esc|034 fs |035 gs |036 rs |037 us |
+|040 sp |041 ! |042 " |043 # |044 $ |045 % |046 & |047 ' |
+|050 ( |051 ) |052 * |053 + |054 , |055 - |056 . |057 / |
+|060 0 |061 1 |062 2 |063 3 |064 4 |065 5 |066 6 |067 7 |
+|070 8 |071 9 |072 : |073 ; |074 < |075 = |076 > |077 ? |
+|100 @ |101 A |102 B |103 C |104 D |105 E |106 F |107 G |
+|110 H |111 I |112 J |113 K |114 L |115 M |116 N |117 O |
+|120 P |121 Q |122 R |123 S |124 T |125 U |126 V |127 W |
+|130 X |131 Y |132 Z |133 [ |134 \ |135 ] |136 ^ |137 _ |
+|140 ` |141 a |142 b |143 c |144 d |145 e |146 f |147 g |
+|150 h |151 i |152 j |153 k |154 l |155 m |156 n |157 o |
+|160 p |161 q |162 r |163 s |164 t |165 u |166 v |167 w |
+|170 x |171 y |172 z |173 { |174 | |175 } |176 ~ |177 del|
+
+
+| 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel|
+| 08 bs | 09 ht | 0a nl | 0b vt | 0c np | 0d cr | 0e so | 0f si |
+| 10 dle| 11 dc1| 12 dc2| 13 dc3| 14 dc4| 15 nak| 16 syn| 17 etb|
+| 18 can| 19 em | 1a sub| 1b esc| 1c fs | 1d gs | 1e rs | 1f us |
+| 20 sp | 21 ! | 22 " | 23 # | 24 $ | 25 % | 26 & | 27 ' |
+| 28 ( | 29 ) | 2a * | 2b + | 2c , | 2d - | 2e . | 2f / |
+| 30 0 | 31 1 | 32 2 | 33 3 | 34 4 | 35 5 | 36 6 | 37 7 |
+| 38 8 | 39 9 | 3a : | 3b ; | 3c < | 3d = | 3e > | 3f ? |
+| 40 @ | 41 A | 42 B | 43 C | 44 D | 45 E | 46 F | 47 G |
+| 48 H | 49 I | 4a J | 4b K | 4c L | 4d M | 4e N | 4f O |
+| 50 P | 51 Q | 52 R | 53 S | 54 T | 55 U | 56 V | 57 W |
+| 58 X | 59 Y | 5a Z | 5b [ | 5c \ | 5d ] | 5e ^ | 5f _ |
+| 60 ` | 61 a | 62 b | 63 c | 64 d | 65 e | 66 f | 67 g |
+| 68 h | 69 i | 6a j | 6b k | 6c l | 6d m | 6e n | 6f o |
+| 70 p | 71 q | 72 r | 73 s | 74 t | 75 u | 76 v | 77 w |
+| 78 x | 79 y | 7a z | 7b { | 7c | | 7d } | 7e ~ | 7f del|
diff --git a/eqn/eqnchar.d/eqnchar b/eqn/eqnchar.d/eqnchar
new file mode 100644
index 0000000000000..87d96f6c0ce16
--- /dev/null
+++ b/eqn/eqnchar.d/eqnchar
@@ -0,0 +1,90 @@
+.EQ
+tdefine ciplus % "\(pl\h'-\w'\(pl\^'u'\v'.3n'\(ci\v'-.3n'" %
+ndefine ciplus % O+ %
+tdefine citimes % "\(mu\h'-\w'\(mu\^'u'\v'.3n'\(ci\v'-.3n'" %
+ndefine citimes % Ox %
+tdefine =wig % "\(~=" %
+ndefine =wig % ="~" %
+tdefine bigstar %{ roman "\v'.5n'\s+4*\s-4\v'-.5n'"}%
+ndefine bigstar % X|- %
+tdefine =dot % "\z\s+2\(eq\s-2\v'-.6m'\h'.2m'\s+2.\s-2\v'.6m'\h'.1m'" %
+ndefine =dot % = dot %
+tdefine orsign % "\e\s+1\(sl\s-1" %
+ndefine orsign % \e/ %
+tdefine andsign % "\s+1\(sl\s-1\e" %
+ndefine andsign % /\e %
+tdefine =del % "\v'.3m'\z=\v'-.6m'\h'.3n'\s-2\(*D\s+2\v'.3m'" %
+ndefine =del % = to DELTA %
+tdefine oppA % "\v'-.3n'\z\(mi\v'.3n'\e\s+1\(sl\s-1" %
+ndefine oppA % V- %
+tdefine oppE %"\s-3\v'.2m'\z\(em\v'-.5m'\z\(em\v'-.5m'\z\(em\v'.55m'\h'.9m'\z\(br\z\(br\v'.25m'\s+3" %
+ndefine oppE % E/ %
+tdefine incl % "\s-2\(or\v'-.4m'\z\(em\v'.75m'\z\(em\v'.2m'\(em\v'-.55m'\s+2" %
+ndefine incl % C_ %
+tdefine nomem % "\o'\(mo\(sl'" %
+ndefine nomem % C-/ %
+tdefine angstrom % "\fR\zA\v'-.3m'\h'.2m'\(de\v'.3m'\fP\h'.2m'" %
+ndefine angstrom % A to o %
+tdefine star %{ roman "\v'.5n'\s+2*\s-2\v'-.5n'"}%
+ndefine star % * %
+tdefine || % \(or\(or %
+tdefine <wig % "\z<\v'.4m'\(ap\v'-.4m'" %
+ndefine <wig %{ < from "~" }%
+tdefine >wig % "\z>\v'.4m'\(ap\v'-.4m'" %
+ndefine >wig %{ > from "~" }%
+tdefine langle % "\v'-.3n'\s-1\z\(sl\s-1\v'1n'\e\v'-1n'\s+2\v'.3n'" %
+ndefine langle %<%
+tdefine rangle % "\v'-.3n'\s-2\z\e\s+1\v'1n'\(sl\v'-1n'\s+1\v'.3n'" %
+ndefine rangle %>%
+tdefine hbar % "\zh\v'-.6m'\h'.05m'\(ru\v'.6m'" %
+ndefine hbar % h\u-\d %
+tdefine ppd % "\o'\(ru\s-3\(or\s+3'" %
+ndefine ppd % _| %
+tdefine <-> % "\z\(<-\|\(->" %
+ndefine <-> % "<-->" %
+tdefine <=> % "\z\(lh\|\(rh" %
+ndefine <=> % "<=>" %
+tdefine |< % "\o'<\(or'" %
+ndefine |< % <| %
+tdefine |> % "\o'>\(or'" %
+ndefine |> % |> %
+tdefine ang % "\z\(sl\v'-.1n'\(ru\v'.1n'" %
+ndefine ang % /_ %
+tdefine rang % "\v'-.2n'\(or\v'.1n'\(ru\v'.1n'" %
+ndefine rang % L %
+tdefine 3dot % "\v'-.7m'\z.\v'.4m'\z.\v'.4m'.\v'-.1m'" %
+ndefine 3dot % .\u.\u.\d\d %
+tdefine thf % ".\v'-.5m'.\v'.5m'." %
+ndefine thf % ..\u.\d %
+tdefine quarter % roman \(14 %
+ndefine quarter % 1/4 %
+tdefine 3quarter % roman \(34 %
+ndefine 3quarter % 3/4 %
+tdefine degree % \(de %
+ndefine degree % nothing sup o %
+tdefine square % \(sq %
+ndefine square % [] %
+tdefine circle % \(ci %
+ndefine circle % O %
+tdefine blot % "\fB\(sq\fP" %
+ndefine blot % HIX %
+tdefine bullet % \(bu %
+ndefine bullet % oxe %
+tdefine -wig % "\(mi\h'-\w'\(mi'u-\w'\(ap'u/2u'\v'-.4n'\(ap\v'.4n'\h'\w'\(mi'u-\w'\(ap'u/2u'" %
+ndefine -wig % - to "~" %
+tdefine wig % \(ap %
+ndefine wig % "~" %
+tdefine prop % \(pt %
+ndefine prop % oc %
+tdefine empty % \(es %
+ndefine empty % O/ %
+tdefine member % \(mo %
+ndefine member % C- %
+tdefine cup % \(cu %
+ndefine cup % U %
+define cap % \(ca %
+define subset % \(sb %
+define supset % \(sp %
+define !subset % \(ib %
+define !supset % \(ip %
+.EN
diff --git a/eqn/eqnchar.d/genutf8.c b/eqn/eqnchar.d/genutf8.c
new file mode 100644
index 0000000000000..d43b3624411de
--- /dev/null
+++ b/eqn/eqnchar.d/genutf8.c
@@ -0,0 +1,89 @@
+/*
+ * Generate a table of UTF-8 characters.
+ *
+ * Copyright (C) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Public Domain
+ *
+ * Sccsid @(#)genutf8.c 1.1 (gritter) 9/13/05
+ */
+#ifdef EUC
+#include <locale.h>
+#include <stdlib.h>
+#include <wchar.h>
+#include <wctype.h>
+#include <stdio.h>
+
+const char *const ctl[] = {
+ "nul",
+ "soh",
+ "stx",
+ "etx",
+ "eot",
+ "enq",
+ "ack",
+ "bel",
+ "bs",
+ "ht",
+ "nl",
+ "vt",
+ "np",
+ "cr",
+ "so",
+ "si",
+ "dle",
+ "dc1",
+ "dc2",
+ "dc3",
+ "dc4",
+ "nak",
+ "syn",
+ "etb",
+ "can",
+ "em",
+ "sub",
+ "esc",
+ "fs",
+ "gs",
+ "rs",
+ "us"
+};
+
+int
+main(void)
+{
+ int wc;
+ int i, n;
+
+ if (setlocale(LC_CTYPE, "en_US.utf8") == NULL)
+ if (setlocale(LC_CTYPE, "en_US.UTF-8") == NULL)
+ return 1;
+ for (wc = 0; wc <= 0xffff; wc++) {
+ if ((wc&017) == 0)
+ printf("U+%04X ", wc);
+ if (wc < 040)
+ n = printf("%s", ctl[wc]);
+ else if (wc == 0177)
+ n = printf("del");
+ else if (wc >= 0200 && wc < 0240)
+ n = printf("CTL");
+ else if (iswprint(wc)) {
+ if ((n = wcwidth(wc)) == 0)
+ n = 1;
+ printf("%lc", wc);
+ } else
+ n = 0;
+ for (i = n; i < 4; i++)
+ putchar(' ');
+ if (((wc+1)&017) == 0)
+ putchar('\n');
+ }
+ return 0;
+}
+#else /* !EUC */
+int
+main(void)
+{
+ return 1;
+}
+#endif /* !EUC */
diff --git a/eqn/eqnchar.d/greek b/eqn/eqnchar.d/greek
new file mode 100644
index 0000000000000..cb6442235aad9
--- /dev/null
+++ b/eqn/eqnchar.d/greek
@@ -0,0 +1,11 @@
+alpha A A | beta B B | gamma \ \
+GAMMA G G | delta D D | DELTA W W
+epsilon S S | zeta Q Q | eta N N
+THETA T T | theta O O | lambda L L
+LAMBDA E E | mu M M | nu @ @
+xi X X | pi J J | PI P P
+rho K K | sigma Y Y | SIGMA R R
+tau I I | phi U U | PHI F F
+psi V V | PSI H H | omega C C
+OMEGA Z Z | nabla [ [ | not _ _
+partial ] ] | integral ^ ^
diff --git a/eqn/eqnchar.d/iso b/eqn/eqnchar.d/iso
new file mode 100644
index 0000000000000..c31921e404fef
--- /dev/null
+++ b/eqn/eqnchar.d/iso
@@ -0,0 +1,29 @@
+| 00 nul| 01 soh| 02 stx| 03 etx| 04 eot| 05 enq| 06 ack| 07 bel|
+| 08 bs | 09 ht | 0a nl | 0b vt | 0c np | 0d cr | 0e so | 0f si |
+| 10 dle| 11 dc1| 12 dc2| 13 dc3| 14 dc4| 15 nak| 16 syn| 17 etb|
+| 18 can| 19 em | 1a sub| 1b esc| 1c fs | 1d gs | 1e rs | 1f us |
+| 20 sp | 21 ! | 22 " | 23 # | 24 $ | 25 % | 26 & | 27 ' |
+| 28 ( | 29 ) | 2a * | 2b + | 2c , | 2d - | 2e . | 2f / |
+| 30 0 | 31 1 | 32 2 | 33 3 | 34 4 | 35 5 | 36 6 | 37 7 |
+| 38 8 | 39 9 | 3a : | 3b ; | 3c < | 3d = | 3e > | 3f ? |
+| 40 @ | 41 A | 42 B | 43 C | 44 D | 45 E | 46 F | 47 G |
+| 48 H | 49 I | 4a J | 4b K | 4c L | 4d M | 4e N | 4f O |
+| 50 P | 51 Q | 52 R | 53 S | 54 T | 55 U | 56 V | 57 W |
+| 58 X | 59 Y | 5a Z | 5b [ | 5c \ | 5d ] | 5e ^ | 5f _ |
+| 60 ` | 61 a | 62 b | 63 c | 64 d | 65 e | 66 f | 67 g |
+| 68 h | 69 i | 6a j | 6b k | 6c l | 6d m | 6e n | 6f o |
+| 70 p | 71 q | 72 r | 73 s | 74 t | 75 u | 76 v | 77 w |
+| 78 x | 79 y | 7a z | 7b { | 7c | | 7d } | 7e ~ | 7f del|
+
+| a0 nbs| a1 ¡ | a2 ¢ | a3 £ | a4 ¤ | a5 ¥ | a6 ¦ | a7 § |
+| a8 ¨ | a9 © | aa ª | ab « | ac ¬ | ad ­ | ae ® | af ¯ |
+| b0 ° | b1 ± | b2 ² | b3 ³ | b4 ´ | b5 µ | b6 ¶ | b7 · |
+| b8 ¸ | b9 ¹ | ba º | bb » | bc ¼ | bd ½ | be ¾ | bf ¿ |
+| c0 À | c1 Á | c2 Â | c3 Ã | c4 Ä | c5 Å | c6 Æ | c7 Ç |
+| c8 È | c9 É | ca Ê | cb Ë | cc Ì | cd Í | ce Î | cf Ï |
+| d0 Ð | d1 Ñ | d2 Ò | d3 Ó | d4 Ô | d5 Õ | d6 Ö | d7 × |
+| d8 Ø | d9 Ù | da Ú | db Û | dc Ü | dd Ý | de Þ | df ß |
+| e0 à | e1 á | e2 â | e3 ã | e4 ä | e5 å | e6 æ | e7 ç |
+| e8 è | e9 é | ea ê | eb ë | ec ì | ed í | ee î | ef ï |
+| f0 ð | f1 ñ | f2 ò | f3 ó | f4 ô | f5 õ | f6 ö | f7 ÷ |
+| f8 ø | f9 ù | fa ú | fb û | fc ü | fd ý | fe þ | ff ÿ |
diff --git a/eqn/font.c b/eqn/font.c
new file mode 100644
index 0000000000000..540485b872163
--- /dev/null
+++ b/eqn/font.c
@@ -0,0 +1,99 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "font.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)font.c 1.5 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+setfont(char ch1) {
+ /* use number '1', '2', '3' for roman, italic, bold */
+ yyval.token = ft;
+ if (ch1 == 'r' || ch1 == 'R')
+ ft = ROM;
+ else if (ch1 == 'i' || ch1 == 'I')
+ ft = ITAL;
+ else if (ch1 == 'b' || ch1 == 'B')
+ ft = BLD;
+ else
+ ft = ch1;
+ printf(".ft %c\n", ft);
+#ifndef NEQN
+ if(dbg)printf(".\tsetfont %c %c\n", ch1, ft);
+#else /* NEQN */
+ if(dbg)printf(".\tsetfont %c\n", ft);
+#endif /* NEQN */
+}
+
+void
+font(int p1, int p2) {
+ /* old font in p1, new in ft */
+ yyval.token = p2;
+ lfont[yyval.token] = rfont[yyval.token] = ital(ft) ? ITAL : ROM;
+#ifndef NEQN
+ if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%g,h=%g,lf=%c,rf=%c\n",
+ yyval.token, ft, p2, p1, ebase[yyval.token], eht[yyval.token], lfont[yyval.token], rfont[yyval.token]);
+#else /* NEQN */
+ if(dbg)printf(".\tb:fb: S%d <- \\f%c S%d \\f%c b=%d,h=%d,lf=%c,rf=%c\n",
+ yyval.token, ft, p2, p1, ebase[yyval.token], eht[yyval.token], lfont[yyval.token], rfont[yyval.token]);
+#endif /* NEQN */
+ printf(".ds %d \\f%c\\*(%d\\f%c\n",
+ yyval.token, ft, p2, p1);
+ ft = p1;
+ printf(".ft %c\n", ft);
+}
+
+void
+fatbox(int p) {
+ yyval.token = p;
+ nrwid(p, ps, p);
+ printf(".ds %d \\*(%d\\h'-\\n(%du+0.05m'\\*(%d\n", p, p, p, p);
+ if(dbg)printf(".\tfat %d, sh=0.05m\n", p);
+}
+
+void
+globfont(void) {
+ char temp[20];
+
+ getstr(temp, 20);
+ yyval.token = eqnreg = 0;
+ gfont = temp[0];
+ switch (gfont) {
+ case 'r': case 'R':
+ gfont = '1';
+ break;
+ case 'i': case 'I':
+ gfont = '2';
+ break;
+ case 'b': case 'B':
+ gfont = '3';
+ break;
+ }
+ printf(".ft %c\n", gfont);
+ ft = gfont;
+}
diff --git a/eqn/fromto.c b/eqn/fromto.c
new file mode 100644
index 0000000000000..618a10f3c8ab5
--- /dev/null
+++ b/eqn/fromto.c
@@ -0,0 +1,103 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "fromto.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)fromto.c 1.5 (gritter) 10/19/06
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+fromto(int p1, int p2, int p3) {
+ float pss;
+#ifndef NEQN
+ float b, h1, b1;
+#else /* NEQN */
+ int b, h1, b1;
+#endif /* NEQN */
+ yyval.token = oalloc();
+ lfont[yyval.token] = rfont[yyval.token] = 0;
+ h1 = eht[yyval.token] = eht[p1];
+ b1 = ebase[p1];
+ b = 0;
+ pss = EFFPS(ps);
+ ps += 3;
+ nrwid(p1, ps, p1);
+ printf(".nr %d \\n(%d\n", yyval.token, p1);
+ if( p2>0 ) {
+ nrwid(p2, pss, p2);
+ printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p2, yyval.token, yyval.token, p2);
+ eht[yyval.token] += eht[p2];
+ b = eht[p2];
+ }
+ if( p3>0 ) {
+ nrwid(p3, pss, p3);
+ printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p3, yyval.token, yyval.token, p3);
+ eht[yyval.token] += eht[p3];
+ }
+ printf(".ds %d ", yyval.token); /* bottom of middle box */
+ if( p2>0 ) {
+#ifndef NEQN
+ printf("\\v'%gp'\\h'\\n(%du-\\n(%du/2u'\\s%s\\*(%d\\s%s",
+ eht[p2]-ebase[p2]+b1, yyval.token, p2, tsize(pss), p2, tsize(EFFPS(ps)));
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%gp'\\\n",
+ yyval.token, p2, -(eht[p2]-ebase[p2]+b1));
+#else /* NEQN */
+ printf("\\v'%du'\\h'\\n(%du-\\n(%du/2u'\\s%s\\*(%d\\s%s",
+ eht[p2]-ebase[p2]+b1, yyval.token, p2, tsize(pss), p2, tsize(EFFPS(ps)));
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%du'\\\n",
+ yyval.token, p2, -(eht[p2]-ebase[p2]+b1));
+#endif /* NEQN */
+ }
+#ifndef NEQN
+ printf("\\h'\\n(%du-\\n(%du/2u'\\*(%d\\h'\\n(%du-\\n(%du/2u'\\\n",
+ yyval.token, p1, p1, yyval.token, p1);
+#else /* NEQN */
+ printf("\\h'\\n(%du-\\n(%du/2u'\\*(%d\\h'\\n(%du-\\n(%du+2u/2u'\\\n",
+ yyval.token, p1, p1, yyval.token, p1);
+#endif /* NEQN */
+ if( p3>0 ) {
+#ifndef NEQN
+ printf("\\v'%gp'\\h'-\\n(%du-\\n(%du/2u'\\s%s\\*(%d\\s%s\\h'\\n(%du-\\n(%du/2u'\\v'%gp'\\\n",
+ -(h1-b1+ebase[p3]), yyval.token, p3, tsize(pss), p3, tsize(EFFPS(ps)), yyval.token, p3, (h1-b1+ebase[p3]));
+#else /* NEQN */
+ printf("\\v'%du'\\h'-\\n(%du-\\n(%du/2u'\\s%s\\*(%d\\s%s\\h'\\n(%du-\\n(%du/2u'\\v'%du'\\\n",
+ -(h1-b1+ebase[p3]), yyval.token, p3, tsize(pss), p3, tsize(EFFPS(ps)), yyval.token, p3, (h1-b1+ebase[p3]));
+#endif /* NEQN */
+ }
+ printf("\n");
+ ebase[yyval.token] = b + b1;
+#ifndef NEQN
+ if(dbg)printf(".\tfrom to: S%d <- %d f %d t %d; h=%g b=%g\n",
+ yyval.token, p1, p2, p3, eht[yyval.token], ebase[yyval.token]);
+#else /* NEQN */
+ if(dbg)printf(".\tfrom to: S%d <- %d f %d t %d; h=%d b=%d\n",
+ yyval.token, p1, p2, p3, eht[yyval.token], ebase[yyval.token]);
+#endif /* NEQN */
+ ofree(p1);
+ if( p2>0 ) ofree(p2);
+ if( p3>0 ) ofree(p3);
+}
diff --git a/eqn/funny.c b/eqn/funny.c
new file mode 100644
index 0000000000000..ba230e21ce3fd
--- /dev/null
+++ b/eqn/funny.c
@@ -0,0 +1,64 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "funny.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)funny.c 1.6 (gritter) 10/19/06
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+funny(int n) {
+ char *f = NULL;
+
+ yyval.token = oalloc();
+ switch(n) {
+ case SUM:
+ f = "\\(*S"; break;
+ case UNION:
+ f = "\\(cu"; break;
+ case INTER: /* intersection */
+ f = "\\(ca"; break;
+ case PROD:
+ f = "\\(*P"; break;
+ default:
+ error(FATAL, "funny type %d in funny", n);
+ }
+#ifndef NEQN
+ printf(".ds %d \\s%s\\v'.3m'\\s+5%s\\s-5\\v'-.3m'\\s%s\n", yyval.token, tsize(ps), f, tsize(ps));
+ eht[yyval.token] = VERT(EM(1.0, ps+5) - EM(0.2, ps));
+ ebase[yyval.token] = VERT(EM(0.3, ps));
+ if(dbg)printf(".\tfunny: S%d <- %s; h=%g b=%g\n",
+ yyval.token, f, eht[yyval.token], ebase[yyval.token]);
+#else /* NEQN */
+ printf(".ds %d %s\n", yyval.token, f);
+ eht[yyval.token] = VERT(2);
+ ebase[yyval.token] = 0;
+ if(dbg)printf(".\tfunny: S%d <- %s; h=%d b=%d\n",
+ yyval.token, f, eht[yyval.token], ebase[yyval.token]);
+#endif /* NEQN */
+ lfont[yyval.token] = rfont[yyval.token] = ROM;
+}
diff --git a/eqn/glob.c b/eqn/glob.c
new file mode 100644
index 0000000000000..6416707b2821a
--- /dev/null
+++ b/eqn/glob.c
@@ -0,0 +1,57 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "glob.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glob.c 1.8 (gritter) 10/19/06
+ */
+
+#include "e.h"
+
+int dbg; /* debugging print if non-zero */
+int lp[512]; /* stack for things like piles and matrices */
+int ct; /* pointer to lp */
+int used[100]; /* available registers */
+float ps; /* default init point size */
+/*int resolution = 72; * was: resolution of ditroff */
+float deltaps = 3; /* default change in ps */
+float gsize = 10; /* default initial point size */
+int gfont = ITAL; /* italic */
+int ft; /* default font */
+FILE *curfile; /* current input file */
+int ifile;
+int linect; /* line number in file */
+int eqline; /* line where eqn started */
+int svargc;
+char **svargv;
+#ifndef NEQN
+float eht[100];
+float ebase[100];
+#else /* NEQN */
+int eht[100];
+int ebase[100];
+#endif /* NEQN */
+int lfont[100];
+int rfont[100];
+int eqnreg; /* register where final string appears */
+int eqnht; /* inal height of equation */
+int lefteq = '\0'; /* left in-line delimiter */
+int righteq = '\0'; /* right in-line delimiter */
+int lastchar; /* last character read by lex */
+int markline = 0; /* 1 if this EQ/EN contains mark or lineup */
+char *progname;
diff --git a/eqn/integral.c b/eqn/integral.c
new file mode 100644
index 0000000000000..55c2eb4949cb3
--- /dev/null
+++ b/eqn/integral.c
@@ -0,0 +1,74 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "integral.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)integral.c 1.5 (gritter) 10/19/06
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+integral(int p, int p1, int p2) {
+#ifndef NEQN
+ if (p1 != 0)
+ printf(".ds %d \\h'-0.4m'\\v'0.4m'\\*(%d\\v'-0.4m'\n", p1, p1);
+ if (p2 != 0)
+ printf(".ds %d \\v'-0.3m'\\*(%d\\v'0.3m'\n", p2, p2);
+#endif
+ if (p1 != 0 && p2 != 0)
+ shift2(p, p1, p2);
+ else if (p1 != 0)
+ bshiftb(p, SUB, p1);
+ else if (p2 != 0)
+ bshiftb(p, SUP, p2);
+#ifndef NEQN
+ if(dbg)printf(".\tintegral: S%d; h=%g b=%g\n",
+ p, eht[p], ebase[p]);
+#else /* NEQN */
+ if(dbg)printf(".\tintegral: S%d; h=%d b=%d\n",
+ p, eht[p], ebase[p]);
+#endif /* NEQN */
+ lfont[p] = ROM;
+}
+
+void
+setintegral(void) {
+ char *f;
+
+ yyval.token = oalloc();
+ f = "\\(is";
+#ifndef NEQN
+ printf(".ds %d \\s%s\\v'.1m'\\s+4%s\\s-4\\v'-.1m'\\s%s\n",
+ yyval.token, tsize(ps), f, tsize(ps));
+ eht[yyval.token] = VERT(EM(1.15, ps+4));
+ ebase[yyval.token] = VERT(EM(0.3, ps));
+#else /* NEQN */
+ printf(".ds %d %s\n", yyval.token, f);
+ eht[yyval.token] = VERT(2);
+ ebase[yyval.token] = 0;
+#endif /* NEQN */
+ lfont[yyval.token] = rfont[yyval.token] = ROM;
+}
diff --git a/eqn/io.c b/eqn/io.c
new file mode 100644
index 0000000000000..6b4c490bcaece
--- /dev/null
+++ b/eqn/io.c
@@ -0,0 +1,322 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983-1988, 2001 by Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+/* from OpenSolaris "io.c 1.10 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)io.c 1.13 (gritter) 1/13/08
+ */
+
+# include "e.h"
+#include <stdarg.h>
+#include <stdlib.h>
+#include <libgen.h>
+
+char *in; /* input buffer */
+size_t insize; /* input buffer size */
+int noeqn;
+
+int
+main(int argc,char **argv) {
+
+ progname = basename(argv[0]);
+ eqnexit(eqn(argc, argv));
+ /*NOTREACHED*/
+ return 0;
+}
+
+void
+eqnexit(int n) {
+#ifdef gcos
+ if (n)
+ fprintf(stderr, "run terminated due to eqn error\n");
+ exit(0);
+#endif
+ exit(n);
+}
+
+int
+eqn(int argc,char **argv) {
+ int i, type;
+
+ setfile(argc,argv);
+ init_tbl(); /* install keywords in tables */
+ while ((type=getline(&in, &insize)) != EOF) {
+ eqline = linect;
+ if (type == lefteq)
+ do_inline();
+ else if (*in == '.') {
+ char *p;
+ printf("%s",in);
+ for (p = in + 1; *p == ' ' || *p == '\t'; p++);
+ if (!*p || *p != 'E' || p[1] != 'Q') continue;
+ for (i=11; i<100; used[i++]=0);
+ printf(".nr 99 \\n(.s\n.nr 98 \\n(.f\n");
+ printf(".if \\n(.X .nrf 99 \\n(.s\n");
+ markline = 0;
+ init();
+ yyparse();
+ if (eqnreg>0) {
+ printf(".nr %d \\w'\\*(%d'\n", eqnreg, eqnreg);
+ /* printf(".if \\n(%d>\\n(.l .tm too-long eqn, file %s, between lines %d-%d\n", */
+ /* eqnreg, svargv[ifile], eqline, linect); */
+ printf(".nr MK %d\n", markline); /* for -ms macros */
+ printf(".if %d>\\n(.v .ne %du\n", eqnht, eqnht);
+ printf(".rn %d 10\n", eqnreg);
+ if(!noeqn)printf("\\*(10\n");
+ }
+ printf(".ps \\n(99\n.ft \\n(98\n");
+ printf(".EN");
+ if (lastchar == EOF) {
+ putchar('\n');
+ break;
+ }
+ if (putchar(lastchar) != '\n')
+ while (putchar(gtc()) != '\n');
+ } else
+ printf("%s",in);
+ }
+ return(0);
+}
+
+int
+getline(char **sp, size_t *np) {
+ register int c, n = 0, esc = 0, par = 0, brack = 0;
+ char *xp;
+ for (;;) {
+ c = gtc();
+ if (n+1 >= *np) {
+ xp = realloc(*sp, *np += 128);
+ if (xp == NULL) {
+ error( !FATAL, "input line too long: %.20s\n",
+ in);
+ xp[--n] = '\0';
+ break;
+ }
+ *sp = xp;
+ }
+ (*sp)[n++] = c;
+ if (c=='\\')
+ esc++;
+ else {
+ if (c=='\n' || c==EOF ||
+ (c==lefteq && !esc && !par && !brack))
+ break;
+ if (par)
+ par--;
+ if (brack && c == ']')
+ brack = 0;
+ if (esc) {
+ switch (c) {
+ case '*':
+ case 'f':
+ case 'g':
+ case 'k':
+ case 'n':
+ case 'P':
+ case 'V':
+ case 'Y':
+ break;
+ case '(':
+ par += 2;
+ break;
+ case '[':
+ brack++;
+ break;
+ default:
+ esc = 0;
+ }
+ }
+ }
+ }
+ if (c==lefteq && !esc)
+ n--;
+ (*sp)[n++] = '\0';
+ return(c);
+}
+
+void
+do_inline(void) {
+ int ds;
+
+ printf(".nr 99 \\n(.s\n.nr 98 \\n(.f\n");
+ printf(".if \\n(.X .nrf 99 \\n(.s\n");
+ ds = oalloc();
+ printf(".rm %d \n", ds);
+ do{
+ if (*in)
+ printf(".as %d \"%s\n", ds, in);
+ init();
+ yyparse();
+ if (eqnreg > 0) {
+ printf(".as %d \\*(%d\n", ds, eqnreg);
+ ofree(eqnreg);
+ }
+ printf(".ps \\n(99\n.ft \\n(98\n");
+ } while (getline(&in, &insize) == lefteq);
+ if (*in)
+ printf(".as %d \"%s", ds, in);
+ printf(".ps \\n(99\n.ft \\n(98\n");
+ printf("\\*(%d\n", ds);
+ ofree(ds);
+}
+
+void
+putout(int p1) {
+#ifndef NEQN
+ float before, after;
+ if(dbg)printf(".\tanswer <- S%d, h=%g,b=%g\n",p1, eht[p1], ebase[p1]);
+#else /* NEQN */
+ int before, after;
+ if(dbg)printf(".\tanswer <- S%d, h=%d,b=%d\n",p1, eht[p1], ebase[p1]);
+#endif /* NEQN */
+ eqnht = eht[p1];
+ printf(".ds %d ", p1);
+ /* suppposed to leave room for a subscript or superscript */
+#ifndef NEQN
+ before = eht[p1] - ebase[p1] - VERT(EM(1.2, ps));
+#else /* NEQN */
+ before = eht[p1] - ebase[p1] - VERT(3); /* 3 = 1.5 lines */
+#endif /* NEQN */
+ if (spaceval != NULL)
+ printf("\\x'0-%s'", spaceval);
+ else if (before > 0)
+#ifndef NEQN
+ printf("\\x'0-%gp'", before);
+#else /* NEQN */
+ printf("\\x'0-%du'", before);
+#endif /* NEQN */
+ printf("\\f%c\\s%s\\*(%d%s\n",
+ gfont, tsize(gsize), p1, ital(rfont[p1]) ? "\\|" : "");
+ printf(".ie \\n(.X=0 .as %d \\s\\n(99\n", p1);
+ printf(".el .as %d \\s[\\n(99]\n", p1);
+ printf(".as %d \\f\\n(98", p1);
+#ifndef NEQN
+ after = ebase[p1] - VERT(EM(0.2, ps));
+#else /* NEQN */
+ after = ebase[p1] - VERT(1);
+#endif /* NEQN */
+ if (spaceval == NULL && after > 0)
+#ifndef NEQN
+ printf("\\x'%gp'", after);
+#else /* NEQN */
+ printf("\\x'%du'", after);
+#endif /* NEQN */
+ putchar('\n');
+ eqnreg = p1;
+ if (spaceval != NULL) {
+ free(spaceval);
+ spaceval = NULL;
+ }
+
+}
+
+float
+max(float i,float j) {
+ return (i>j ? i : j);
+}
+
+int
+oalloc(void) {
+ int i;
+ for (i=11; i<100; i++)
+ if (used[i]++ == 0) return(i);
+ error( FATAL, "no eqn strings left", i);
+ return(0);
+}
+
+void
+ofree(int n) {
+ used[n] = 0;
+}
+
+void
+setps(float p) {
+ printf(".ps %g\n", EFFPS(p));
+}
+
+void
+nrwid(int n1, float p, int n2) {
+ printf(".nr %d \\w'\\s%s\\*(%d'\n", n1, tsize(EFFPS(p)), n2);
+}
+
+void
+setfile(int argc, char **argv) {
+ static char *nullstr = "-";
+
+ svargc = --argc;
+ svargv = argv;
+ while (svargc > 0 && svargv[1][0] == '-') {
+ switch (svargv[1][1]) {
+
+ case 'd': lefteq=svargv[1][2]; righteq=svargv[1][3]; break;
+ case 's': gsize = atof(&svargv[1][2]); break;
+ case 'p': deltaps = atof(&svargv[1][2]); break;
+ case 'f': gfont = svargv[1][2]; break;
+ case 'e': noeqn++; break;
+ case 'r': /*resolution = atoi(&svargv[1][2]);*/ break;
+ case 0: goto endargs;
+ default: dbg = 1;
+ }
+ svargc--;
+ svargv++;
+ }
+ endargs:
+ ifile = 1;
+ linect = 1;
+ if (svargc <= 0) {
+ curfile = stdin;
+ svargv[1] = nullstr;
+ }
+ else
+ openinfile(); /* opens up the first input file */
+}
+
+void
+yyerror(char *unused) {;}
+
+void
+init(void) {
+ ct = 0;
+ ps = gsize;
+ ft = gfont;
+ setps(ps);
+ printf(".ft %c\n", ft);
+}
+
+void
+error(int fatal, const char *s1, ...) {
+ va_list ap;
+
+ if (fatal>0)
+ printf("%s fatal error: ", progname);
+ va_start(ap, s1);
+ vfprintf(stdout, s1, ap);
+ va_end(ap);
+ printf("\nfile %s, between lines %d and %d\n",
+ svargv[ifile], eqline, linect);
+ fprintf(stderr, "%s: ", progname);
+ if (fatal>0)
+ fprintf(stderr, "fatal error: ");
+ va_start(ap, s1);
+ vfprintf(stderr, s1, ap);
+ va_end(ap);
+ fprintf(stderr, "\nfile %s, between lines %d and %d\n",
+ svargv[ifile], eqline, linect);
+ if (fatal > 0)
+ eqnexit(1);
+}
diff --git a/eqn/lex.c b/eqn/lex.c
new file mode 100644
index 0000000000000..2e7884efc170c
--- /dev/null
+++ b/eqn/lex.c
@@ -0,0 +1,308 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "lex.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)lex.c 1.7 (gritter) 11/21/07
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+#define SSIZE 400
+char token[SSIZE];
+int sp;
+#define putbak(c) *ip++ = c;
+#define PUSHBACK 300 /* maximum pushback characters */
+char ibuf[PUSHBACK+SSIZE]; /* pushback buffer for definitions, etc. */
+char *ip = ibuf;
+
+int
+gtc(void) {
+ loop:
+ if (ip > ibuf)
+ return(*--ip); /* already present */
+ lastchar = getc(curfile);
+ if (lastchar=='\n')
+ linect++;
+ if (lastchar != EOF)
+ return(lastchar);
+ if (++ifile > svargc) {
+ return(EOF);
+ }
+ fclose(curfile);
+ linect = 1;
+ if (openinfile() == 0)
+ goto loop;
+ return(EOF);
+}
+/*
+ * open file indexed by ifile in svargv, return non zero if fail
+ */
+int
+openinfile(void)
+{
+ if (strcmp(svargv[ifile], "-") == 0){
+ curfile = stdin;
+ return(0);
+ } else if ((curfile=fopen(svargv[ifile], "r")) != NULL){
+ return(0);
+ }
+ error(FATAL, "can't open file %s", svargv[ifile]);
+ return(1);
+}
+
+void
+pbstr(register char *str)
+{
+ register char *p;
+
+ p = str;
+ while (*p++);
+ --p;
+ if (ip >= &ibuf[PUSHBACK])
+ error( FATAL, "pushback overflow");
+ while (p > str)
+ putbak(*--p);
+}
+
+int
+yylex(void) {
+ register int c;
+ tbl *tp;
+ extern tbl *keytbl[], *deftbl[];
+
+ beg:
+ while ((c=gtc())==' ' || c=='\n')
+ ;
+ yylval.token = c;
+ switch(c) {
+
+ case EOF:
+ return(EOF);
+ case '~':
+ return(SPACE);
+ case '^':
+ return(THIN);
+ case '\t':
+ return(TAB);
+ case '{':
+ return('{');
+ case '}':
+ return('}');
+ case '"':
+ for (sp=0; (c=gtc())!='"' && c != '\n'; ) {
+ if (c == '\\')
+ if ((c = gtc()) != '"')
+ token[sp++] = '\\';
+ token[sp++] = c;
+ if (sp>=SSIZE)
+ error(FATAL, "quoted string %.20s... too long", token);
+ }
+ token[sp]='\0';
+ yylval.str = &token[0];
+ if (c == '\n')
+ error(!FATAL, "missing \" in %.20s", token);
+ return(QTEXT);
+ }
+ if (c==righteq)
+ return(EOF);
+
+ putbak(c);
+ if (getstr(token, SSIZE)) return EOF;
+ if (dbg)printf(".\tlex token = |%s|\n", token);
+ if ((tp = lookup(deftbl, token, NULL)) != NULL) {
+ putbak(' ');
+ pbstr(tp->defn);
+ putbak(' ');
+ if (dbg)
+ printf(".\tfound %s|=%s|\n", token, tp->defn);
+ }
+ else if ((tp = lookup(keytbl, token, NULL)) == NULL) {
+ if(dbg)printf(".\t%s is not a keyword\n", token);
+ return(CONTIG);
+ }
+ else if ((intptr_t)tp->defn == DEFINE || (intptr_t)tp->defn == NDEFINE || (intptr_t)tp->defn == TDEFINE)
+ define((intptr_t)tp->defn);
+ else if (tp->defn == (char *) DELIM)
+ delim();
+ else if (tp->defn == (char *) GSIZE)
+ globsize();
+ else if (tp->defn == (char *) GFONT)
+ globfont();
+ else if (tp->defn == (char *) INCLUDE)
+ include();
+ else if (tp->defn == (char *) SPACE)
+ space();
+ else {
+ return((intptr_t) tp->defn);
+ }
+ goto beg;
+}
+
+/* returns: 1 if ".{WS}+EN" found, 0 else */
+int
+getstr(char *s, register int n) {
+ register int c;
+ register char *p;
+ enum { INI = 0, OTH, SP, C1, C2, PB } st = INI;
+
+ p = s;
+ while ((c = gtc()) == ' ' || c == '\n')
+ ;
+ if (c == EOF) {
+ *s = 0;
+ return 0;
+ }
+ while (((c != ' ' && c != '\t') || st == SP) && c != '\n' && c != '{'
+ && c != '}' && c != '"' && c != '~' && c != '^' && c != righteq) {
+ if (c == '\\')
+ if ((c = gtc()) != '"')
+ *p++ = '\\';
+ switch (st) {
+ case INI:
+ st = c == '.' ? SP : OTH;
+ break;
+ case SP:
+ if (c == 'E') st = C1;
+ else if (c != ' ' && c != '\t') st = PB;
+ break;
+ case C1:
+ st = c == 'N' ? C2 : PB;
+ break;
+ case C2:
+ st = PB;
+ break;
+ default: ;
+ }
+ *p++ = c;
+ if (st == PB)
+ goto TF;
+ else {
+ if (--n <= 0)
+ error(FATAL, "token %.20s... too long", s);
+ c = gtc();
+ }
+ }
+ if (c=='{' || c=='}' || c=='"' || c=='~' || c=='^' || c=='\t' || c==righteq)
+ putbak(c);
+TF:
+ if (st == SP || st == C1 || st == PB) {
+ while (--p != s) putbak(*p);
+ p++;
+ }
+ *p = '\0';
+ yylval.str = s;
+ return st == C2;
+}
+
+int
+cstr(char *s, int quote, int maxs) {
+ int del, c, i;
+
+ s[0] = 0;
+ while((del=gtc()) == ' ' || del == '\t');
+ if (quote)
+ for (i=0; (c=gtc()) != del && c != EOF;) {
+ s[i++] = c;
+ if (i >= maxs)
+ return(1); /* disaster */
+ }
+ else {
+ if (del == '\n')
+ return (1);
+ s[0] = del;
+ for (i=1; (c=gtc())!=' ' && c!= '\t' && c!='\n' && c!=EOF;) {
+ s[i++]=c;
+ if (i >= maxs)
+ return(1); /* disaster */
+ }
+ }
+ s[i] = '\0';
+ if (c == EOF)
+ error(FATAL, "Unexpected end of input at %.20s", s);
+ return(0);
+}
+
+void
+define(int type) {
+ char *p1, *p2;
+ extern tbl *deftbl[];
+
+ getstr(token, SSIZE); /* get name */
+ if (type != DEFINE) {
+ cstr(token, 1, SSIZE); /* skip the definition too */
+ return;
+ }
+ p1 = strsave(token);
+ if (cstr(token, 1, SSIZE))
+ error(FATAL, "Unterminated definition at %.20s", token);
+ p2 = strsave(token);
+ lookup(deftbl, p1, p2);
+ if (dbg)printf(".\tname %s defined as %s\n", p1, p2);
+}
+
+char *spaceval = NULL;
+
+void
+space(void) /* collect line of form "space amt" to replace \x in output */
+{
+ getstr(token, SSIZE);
+ spaceval = strsave(token);
+ if (dbg) printf(".\tsetting space to %s\n", token);
+}
+
+
+char *
+strsave(char *s)
+{
+ register char *q;
+ size_t l;
+
+ l = strlen(s)+1;
+ q = malloc(l);
+ if (q == NULL)
+ error(FATAL, "out of space in strsave on %s", s);
+ n_strcpy(q, s, l);
+ return(q);
+}
+
+void
+include(void) {
+ error(!FATAL, "Include not yet implemented");
+}
+
+void
+delim(void) {
+ yyval.token = eqnreg = 0;
+ if (cstr(token, 0, SSIZE) || token[0] & 0200 || token[1] & 0200)
+ error(FATAL, "Bizarre delimiters at %.20s", token);
+ lefteq = token[0];
+ righteq = token[1];
+ if (lefteq == 'o' && righteq == 'f')
+ lefteq = righteq = '\0';
+}
diff --git a/eqn/lookup.c b/eqn/lookup.c
new file mode 100644
index 0000000000000..7b303fe9e0d40
--- /dev/null
+++ b/eqn/lookup.c
@@ -0,0 +1,261 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "lookup.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)lookup.c 1.5 (gritter) 9/18/05
+ */
+
+#include "e.h"
+#include "y.tab.h"
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+
+#define TBLSIZE 100
+
+tbl *keytbl[TBLSIZE]; /* key words */
+tbl *restbl[TBLSIZE]; /* reserved words */
+tbl *deftbl[TBLSIZE]; /* user-defined names */
+
+struct {
+ char *key;
+ int keyval;
+} keyword[] ={
+ { "sub", SUB },
+ { "sup", SUP },
+ { ".EN", EOF },
+ { "from", FROM },
+ { "to", TO },
+ { "sum", SUM },
+ { "hat", HAT },
+ { "vec", VEC },
+ { "dyad", DYAD },
+ { "dot", DOT },
+ { "dotdot", DOTDOT },
+ { "bar", BAR },
+ { "tilde", TILDE },
+ { "under", UNDER },
+ { "prod", PROD },
+ { "int", INT },
+ { "integral", INT },
+ { "union", UNION },
+ { "inter", INTER },
+ { "pile", PILE },
+ { "lpile", LPILE },
+ { "cpile", CPILE },
+ { "rpile", RPILE },
+ { "over", OVER },
+ { "sqrt", SQRT },
+ { "above", ABOVE },
+ { "size", SIZE },
+ { "font", FONT },
+ { "fat", FAT },
+ { "roman", ROMAN },
+ { "italic", ITALIC },
+ { "bold", BOLD },
+ { "left", LEFT },
+ { "right", RIGHT },
+ { "delim", DELIM },
+ { "define", DEFINE },
+
+#ifdef NEQN /* make ndefine synonym for define, tdefine a no-op */
+
+ { "tdefine", TDEFINE },
+ { "ndefine", DEFINE },
+
+#else /* tdefine = define, ndefine = no-op */
+
+ { "tdefine", DEFINE },
+ { "ndefine", NDEFINE },
+
+#endif
+
+ { "gsize", GSIZE },
+ { ".gsize", GSIZE },
+ { "gfont", GFONT },
+ { "include", INCLUDE },
+ { "up", UP },
+ { "down", DOWN },
+ { "fwd", FWD },
+ { "back", BACK },
+ { "mark", MARK },
+ { "lineup", LINEUP },
+ { "matrix", MATRIX },
+ { "col", COL },
+ { "lcol", LCOL },
+ { "ccol", CCOL },
+ { "rcol", RCOL },
+ { NULL, 0 }
+};
+
+struct {
+ char *res;
+ char *resval;
+} resword[] ={
+ { ">=", "\\(>=" },
+ { "<=", "\\(<=" },
+ { "==", "\\(==" },
+ { "!=", "\\(!=" },
+ { "+-", "\\(+-" },
+ { "->", "\\(->" },
+ { "<-", "\\(<-" },
+ { "inf", "\\(if" },
+ { "infinity", "\\(if" },
+ { "partial", "\\(pd" },
+ { "half", "\\f1\\(12\\fP" },
+ { "prime", "\\f1\\(fm\\fP" },
+ { "dollar", "\\f1$\\fP" },
+ { "nothing", "" },
+ { "times", "\\(mu" },
+ { "del", "\\(gr" },
+ { "grad", "\\(gr" },
+#ifdef NEQN
+ { "<<", "<<" },
+ { ">>", ">>" },
+ { "approx", "~\b\\d~\\u" },
+ { "cdot", "\\v'-.5'.\\v'.5'" },
+ { "...", "..." },
+ { ",...,", ",...," },
+#else
+ { "<<", "<\\h'-.3m'<" },
+ { ">>", ">\\h'-.3m'>" },
+ { "approx", "\\v'-.2m'\\z\\(ap\\v'.25m'\\(ap\\v'-.05m'" },
+ { "cdot", "\\v'-.3m'.\\v'.3m'" },
+ { "...", "\\v'-.3m'\\ .\\ .\\ .\\ \\v'.3m'" },
+ { ",...,", ",\\ .\\ .\\ .\\ ,\\|" },
+#endif
+
+ { "alpha", "\\(*a" },
+ { "ALPHA", "\\(*A" },
+ { "beta", "\\(*b" },
+ { "BETA", "\\(*B" },
+ { "gamma", "\\(*g" },
+ { "GAMMA", "\\(*G" },
+ { "delta", "\\(*d" },
+ { "DELTA", "\\(*D" },
+ { "epsilon", "\\(*e" },
+ { "EPSILON", "\\(*E" },
+ { "omega", "\\(*w" },
+ { "OMEGA", "\\(*W" },
+ { "lambda", "\\(*l" },
+ { "LAMBDA", "\\(*L" },
+ { "mu", "\\(*m" },
+ { "MU", "\\(*M" },
+ { "nu", "\\(*n" },
+ { "NU", "\\(*N" },
+ { "theta", "\\(*h" },
+ { "THETA", "\\(*H" },
+ { "phi", "\\(*f" },
+ { "PHI", "\\(*F" },
+ { "pi", "\\(*p" },
+ { "PI", "\\(*P" },
+ { "sigma", "\\(*s" },
+ { "SIGMA", "\\(*S" },
+ { "xi", "\\(*c" },
+ { "XI", "\\(*C" },
+ { "zeta", "\\(*z" },
+ { "ZETA", "\\(*Z" },
+ { "iota", "\\(*i" },
+ { "IOTA", "\\(*I" },
+ { "eta", "\\(*y" },
+ { "ETA", "\\(*Y" },
+ { "kappa", "\\(*k" },
+ { "KAPPA", "\\(*K" },
+ { "rho", "\\(*r" },
+ { "RHO", "\\(*R" },
+ { "tau", "\\(*t" },
+ { "TAU", "\\(*T" },
+ { "omicron", "\\(*o" },
+ { "OMICRON", "\\(*O" },
+ { "upsilon", "\\(*u" },
+ { "UPSILON", "\\(*U" },
+ { "psi", "\\(*q" },
+ { "PSI", "\\(*Q" },
+ { "chi", "\\(*x" },
+ { "CHI", "\\(*X" },
+ { "and", "\\f1and\\fP" },
+ { "for", "\\f1for\\fP" },
+ { "if", "\\f1if\\fP" },
+ { "Re", "\\f1Re\\fP" },
+ { "Im", "\\f1Im\\fP" },
+ { "sin", "\\f1sin\\fP" },
+ { "cos", "\\f1cos\\fP" },
+ { "tan", "\\f1tan\\fP" },
+ { "sec", "\\f1sec\\fP" },
+ { "csc", "\\f1csc\\fP" },
+ { "arc", "\\f1arc\\fP" },
+ { "asin", "\\f1asin\\fP" },
+ { "acos", "\\f1acos\\fP" },
+ { "atan", "\\f1atan\\fP" },
+ { "asec", "\\f1asec\\fP" },
+ { "acsc", "\\f1acsc\\fP" },
+ { "sinh", "\\f1sinh\\fP" },
+ { "coth", "\\f1coth\\fP" },
+ { "tanh", "\\f1tanh\\fP" },
+ { "cosh", "\\f1cosh\\fP" },
+ { "lim", "\\f1lim\\fP" },
+ { "log", "\\f1log\\fP" },
+ { "max", "\\f1max\\fP" },
+ { "min", "\\f1min\\fP" },
+ { "ln", "\\f1ln\\fP" },
+ { "exp", "\\f1exp\\fP" },
+ { "det", "\\f1det\\fP" },
+ { NULL, NULL }
+};
+
+tbl *
+lookup(tbl **tblp, char *name, char *defn) /* find name in tbl. if defn non-null, install */
+{
+ register tbl *p;
+ register int h;
+ register unsigned char *s = (unsigned char *)name;
+
+ for (h = 0; *s != '\0'; )
+ h += *s++;
+ h %= TBLSIZE;
+
+ for (p = tblp[h]; p != NULL; p = p->next)
+ if (strcmp(name, p->name) == 0) { /* found it */
+ if (defn != NULL)
+ p->defn = defn;
+ return(p);
+ }
+ /* didn't find it */
+ if (defn == NULL)
+ return(NULL);
+ p = (tbl *) malloc(sizeof (tbl));
+ if (p == NULL)
+ error(FATAL, "out of space in lookup");
+ p->name = name;
+ p->defn = defn;
+ p->next = tblp[h];
+ tblp[h] = p;
+ return(p);
+}
+
+void
+init_tbl(void) /* initialize all tables */
+{
+ int i;
+
+ for (i = 0; keyword[i].key != NULL; i++)
+ lookup(keytbl, keyword[i].key, (char *)(intptr_t)keyword[i].keyval);
+ for (i = 0; resword[i].res != NULL; i++)
+ lookup(restbl, resword[i].res, resword[i].resval);
+}
diff --git a/eqn/mark.c b/eqn/mark.c
new file mode 100644
index 0000000000000..31193152811d6
--- /dev/null
+++ b/eqn/mark.c
@@ -0,0 +1,49 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "mark.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)mark.c 1.3 (gritter) 8/12/05
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+mark(int p1) {
+ markline = 1;
+ printf(".ds %d \\k(97\\*(%d\n", p1, p1);
+ yyval.token = p1;
+ if(dbg)printf(".\tmark %d\n", p1);
+}
+
+void
+lineup(int p1) {
+ markline = 1;
+ if (p1 == 0) {
+ yyval.token = oalloc();
+ printf(".ds %d \\h'|\\n(97u'\n", yyval.token);
+ }
+ if(dbg)printf(".\tlineup %d\n", p1);
+}
diff --git a/eqn/matrix.c b/eqn/matrix.c
new file mode 100644
index 0000000000000..53b674f4b2277
--- /dev/null
+++ b/eqn/matrix.c
@@ -0,0 +1,108 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "matrix.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)matrix.c 1.4 (gritter) 10/29/05
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+column(int type, int p1) {
+ int i;
+
+ lp[p1] = ct - p1 - 1;
+ if( dbg ){
+ printf(".\t%d column of", type);
+ for( i=p1+1; i<ct; i++ )
+ printf(" S%d", lp[i]);
+ printf(", rows=%d\n",lp[p1]);
+ }
+ lp[ct++] = type;
+}
+
+void
+matrix(int p1) {
+#ifndef NEQN
+ float hb, b;
+#else /* NEQN */
+ int hb, b;
+#endif /* NEQN */
+ int nrow, ncol, i, j, k, val[100];
+ char *space;
+
+ space = "\\ \\ ";
+ nrow = lp[p1]; /* disaster if rows inconsistent */
+ ncol = 0;
+ for( i=p1; i<ct; i += lp[i]+2 ){
+ ncol++;
+ if(dbg)printf(".\tcolct=%d\n",lp[i]);
+ }
+ for( k=1; k<=nrow; k++ ) {
+ hb = b = 0;
+ j = p1 + k;
+ for( i=0; i<ncol; i++ ) {
+ hb = max(hb, eht[lp[j]]-ebase[lp[j]]);
+ b = max(b, ebase[lp[j]]);
+ j += nrow + 2;
+ }
+#ifndef NEQN
+ if(dbg)printf(".\trow %d: b=%g, hb=%g\n", k, b, hb);
+#else /* NEQN */
+ if(dbg)printf(".\trow %d: b=%d, hb=%d\n", k, b, hb);
+#endif /* NEQN */
+ j = p1 + k;
+ for( i=0; i<ncol; i++ ) {
+ ebase[lp[j]] = b;
+ eht[lp[j]] = b + hb;
+ j += nrow + 2;
+ }
+ }
+ j = p1;
+ for( i=0; i<ncol; i++ ) {
+ lpile(lp[j+lp[j]+1], j+1, j+lp[j]+1);
+ val[i] = yyval.token;
+ j += nrow + 2;
+ }
+ yyval.token = oalloc();
+ eht[yyval.token] = eht[val[0]];
+ ebase[yyval.token] = ebase[val[0]];
+ lfont[yyval.token] = rfont[yyval.token] = 0;
+#ifndef NEQN
+ if(dbg)printf(".\tmatrix S%d: r=%d, c=%d, h=%g, b=%g\n",
+ yyval.token,nrow,ncol,eht[yyval.token],ebase[yyval.token]);
+#else /* NEQN */
+ if(dbg)printf(".\tmatrix S%d: r=%d, c=%d, h=%d, b=%d\n",
+ yyval.token,nrow,ncol,eht[yyval.token],ebase[yyval.token]);
+#endif /* NEQN */
+ printf(".ds %d \"", yyval.token);
+ for( i=0; i<ncol; i++ ) {
+ printf("\\*(%d%s", val[i], i==ncol-1 ? "" : space);
+ ofree(val[i]);
+ }
+ printf("\n");
+ ct = p1;
+}
diff --git a/eqn/move.c b/eqn/move.c
new file mode 100644
index 0000000000000..26403ce94659d
--- /dev/null
+++ b/eqn/move.c
@@ -0,0 +1,70 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "move.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)move.c 1.4 (gritter) 10/29/05
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+move(int dir, int amt, int p) {
+#ifndef NEQN
+ float a;
+#else /* NEQN */
+ int a;
+#endif /* NEQN */
+
+ yyval.token = p;
+#ifndef NEQN
+ a = VERT(EM(amt/100.0, EFFPS(ps)));
+#else /* NEQN */
+ a = VERT( (amt+49)/50 ); /* nearest number of half-lines */
+#endif /* NEQN */
+ printf(".ds %d ", yyval.token);
+ if( dir == FWD || dir == BACK ) /* fwd, back */
+#ifndef NEQN
+ printf("\\h'%s%gp'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
+#else /* NEQN */
+ printf("\\h'%s%du'\\*(%d\n", (dir==BACK) ? "-" : "", a, p);
+#endif /* NEQN */
+ else if (dir == UP)
+#ifndef NEQN
+ printf("\\v'-%gp'\\*(%d\\v'%gp'\n", a, p, a);
+#else /* NEQN */
+ printf("\\v'-%du'\\*(%d\\v'%du'\n", a, p, a);
+#endif /* NEQN */
+ else if (dir == DOWN)
+#ifndef NEQN
+ printf("\\v'%gp'\\*(%d\\v'-%gp'\n", a, p, a);
+ if(dbg)printf(".\tmove %d dir %d amt %g; h=%g b=%g\n",
+ p, dir, a, eht[yyval.token], ebase[yyval.token]);
+#else /* NEQN */
+ printf("\\v'%du'\\*(%d\\v'-%du'\n", a, p, a);
+ if(dbg)printf(".\tmove %d dir %d amt %d; h=%d b=%d\n",
+ p, dir, a, eht[yyval.token], ebase[yyval.token]);
+#endif /* NEQN */
+}
diff --git a/eqn/neqn.d/Makefile.mk b/eqn/neqn.d/Makefile.mk
new file mode 100644
index 0000000000000..bb924fcdacf62
--- /dev/null
+++ b/eqn/neqn.d/Makefile.mk
@@ -0,0 +1,53 @@
+VPATH=..
+OBJ = diacrit.o e.o eqnbox.o font.o fromto.o funny.o glob.o integral.o \
+ io.o lex.o lookup.o mark.o matrix.o move.o over.o paren.o pile.o \
+ shift.o size.o sqrt.o text.o version.o
+
+FLAGS = -I. -I.. -I../../include -DNEQN $(DEFINES)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: neqn
+
+neqn: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o neqn
+
+e.c: e.y
+ $(YACC) -d ../e.y
+ sed -f ../yyval.sed <y.tab.c >$@
+
+y.tab.h: e.c
+
+install:
+ $(INSTALL) -c neqn $(ROOT)$(BINDIR)/neqn
+ $(STRIP) $(ROOT)$(BINDIR)/neqn
+ rm -f $(ROOT)$(MANDIR)/man1/neqn.1
+ ln -s eqn.1 $(ROOT)$(MANDIR)/man1/neqn.1
+
+clean:
+ rm -f $(OBJ) neqn e.c y.tab.* core log *~
+
+mrproper: clean
+
+diacrit.o: ../diacrit.c ../e.h y.tab.h
+eqnbox.o: ../eqnbox.c ../e.h
+font.o: ../font.c ../e.h
+fromto.o: ../fromto.c ../e.h
+funny.o: ../funny.c ../e.h y.tab.h
+glob.o: ../glob.c ../e.h
+integral.o: ../integral.c ../e.h y.tab.h
+io.o: ../io.c ../e.h
+lex.o: ../lex.c ../e.h y.tab.h
+lookup.o: ../lookup.c ../e.h y.tab.h
+mark.o: ../mark.c ../e.h
+matrix.o: ../matrix.c ../e.h
+move.o: ../move.c ../e.h y.tab.h
+over.o: ../over.c ../e.h
+paren.o: ../paren.c ../e.h
+pile.o: ../pile.c ../e.h
+shift.o: ../shift.c ../e.h y.tab.h
+size.o: ../size.c ../e.h
+sqrt.o: ../sqrt.c ../e.h
+text.o: ../text.c ../e.h y.tab.h
+e.o: e.c ../e.h
diff --git a/eqn/over.c b/eqn/over.c
new file mode 100644
index 0000000000000..854709a69988d
--- /dev/null
+++ b/eqn/over.c
@@ -0,0 +1,84 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "over.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)over.c 1.5 (gritter) 10/19/06
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+boverb(int p1, int p2) {
+ int treg;
+#ifndef NEQN
+ float h, b, d;
+#else /* NEQN */
+ int h, b, d;
+#endif /* NEQN */
+
+ treg = oalloc();
+ yyval.token = p1;
+#ifndef NEQN
+ d = VERT(EM(0.3, ps));
+ h = eht[p1] + eht[p2] + d;
+#else /* NEQN */
+ d = VERT(1);
+ h = eht[p1] + eht[p2];
+#endif /* NEQN */
+ b = eht[p2] - d;
+#ifndef NEQN
+ if(dbg)printf(".\tb:bob: S%d <- S%d over S%d; b=%g, h=%g\n",
+ yyval.token, p1, p2, b, h);
+#else /* NEQN */
+ if(dbg)printf(".\tb:bob: S%d <- S%d over S%d; b=%d, h=%d\n",
+ yyval.token, p1, p2, b, h);
+#endif /* NEQN */
+ nrwid(p1, ps, p1);
+ nrwid(p2, ps, p2);
+ printf(".nr %d \\n(%d\n", treg, p1);
+ printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p2, treg, treg, p2);
+#ifndef NEQN
+ printf(".nr %d \\n(%d+\\s%s.5m\\s0\n", treg, treg, tsize(EFFPS(ps)));
+ printf(".ds %d \\v'%gp'\\h'\\n(%du-\\n(%du/2u'\\*(%d\\\n",
+ yyval.token, eht[p2]-ebase[p2]-d, treg, p2, p2);
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%gp'\\*(%d\\\n",
+ p2, p1, -(eht[p2]-ebase[p2]+d+ebase[p1]), p1);
+ printf("\\h'-\\n(%du-\\n(%du/2u+.1m'\\v'%gp'\\l'\\n(%du-.2m'\\h'.1m'\\v'%gp'\n",
+ treg, p1, ebase[p1]+d, treg, d);
+#else /* NEQN */
+ printf(".ds %d \\v'%du'\\h'\\n(%du-\\n(%du/2u'\\*(%d\\\n",
+ yyval.token, eht[p2]-ebase[p2]-d, treg, p2, p2);
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'%du'\\*(%d\\\n",
+ p2, p1, -eht[p2]+ebase[p2]-ebase[p1], p1);
+ printf("\\h'-\\n(%du-\\n(%du-2u/2u'\\v'%du'\\l'\\n(%du'\\v'%du'\n",
+ treg, p1, ebase[p1], treg, d);
+#endif /* NEQN */
+ ebase[yyval.token] = b;
+ eht[yyval.token] = h;
+ lfont[yyval.token] = rfont[yyval.token] = 0;
+ ofree(p2);
+ ofree(treg);
+}
diff --git a/eqn/paren.c b/eqn/paren.c
new file mode 100644
index 0000000000000..a55febdb96358
--- /dev/null
+++ b/eqn/paren.c
@@ -0,0 +1,172 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "paren.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)paren.c 1.4 (gritter) 10/29/05
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+paren(int leftc, int p1, int rightc) {
+ int n, m, j;
+#ifndef NEQN
+ float v, h1, b1;
+#else /* NEQN */
+ int v, h1, b1;
+#endif /* NEQN */
+ h1 = eht[p1]; b1 = ebase[p1];
+ yyval.token = p1;
+#ifndef NEQN
+ lfont[yyval.token] = rfont[yyval.token] = 0;
+ n = (h1 + EM(1.0, EFFPS(ps)) - 1) / EM(1.0, EFFPS(ps));
+#else /* NEQN */
+ n = max(b1+VERT(1), h1-b1-VERT(1)) / VERT(1);
+#endif /* NEQN */
+ if( n<2 ) n = 1;
+ m = n-2;
+ if (leftc=='{' || rightc == '}') {
+ n = n%2 ? n : n+1;
+ if( n<3 ) n=3;
+ m = n-3;
+ }
+#ifndef NEQN
+ eht[yyval.token] = VERT(EM(n, ps));
+ ebase[yyval.token] = b1 + (eht[yyval.token]-h1)/2;
+ v = b1 - h1/2 + VERT(EM(0.4, ps));
+ printf(".ds %d \\|\\v'%gp'", yyval.token, v);
+#else /* NEQN */
+ eht[yyval.token] = VERT(2 * n);
+ ebase[yyval.token] = (n)/2 * VERT(2);
+ if (n%2 == 0)
+ ebase[yyval.token] -= VERT(1);
+ v = b1 - h1/2 + VERT(1);
+ printf(".ds %d \\|\\v'%du'", yyval.token, v);
+#endif /* NEQN */
+ switch( leftc ) {
+ case 'n': /* nothing */
+ case '\0':
+ break;
+ case 'f': /* floor */
+ if (n <= 1)
+ printf("\\(lf");
+ else
+ brack(m, "\\(bv", "\\(bv", "\\(lf");
+ break;
+ case 'c': /* ceiling */
+ if (n <= 1)
+ printf("\\(lc");
+ else
+ brack(m, "\\(lc", "\\(bv", "\\(bv");
+ break;
+ case '{':
+ printf("\\b'\\(lt");
+ for(j = 0; j < m; j += 2) printf("\\(bv");
+ printf("\\(lk");
+ for(j = 0; j < m; j += 2) printf("\\(bv");
+ printf("\\(lb'");
+ break;
+ case '(':
+ brack(m, "\\(lt", "\\(bv", "\\(lb");
+ break;
+ case '[':
+ brack(m, "\\(lc", "\\(bv", "\\(lf");
+ break;
+ case '|':
+ brack(m, "\\(bv", "\\(bv", "\\(bv");
+ break;
+ default:
+ brack(m, (char *) &leftc, (char *) &leftc, (char *) &leftc);
+ break;
+ }
+#ifndef NEQN
+ printf("\\v'%gp'\\*(%d", -v, p1);
+#else /* NEQN */
+ printf("\\v'%du'\\*(%d", -v, p1);
+#endif /* NEQN */
+ if( rightc ) {
+#ifndef NEQN
+ printf("\\|\\v'%gp'", v);
+#else /* NEQN */
+ printf("\\|\\v'%du'", v);
+#endif /* NEQN */
+ switch( rightc ) {
+ case 'f': /* floor */
+ if (n <= 1)
+ printf("\\(rf");
+ else
+ brack(m, "\\(bv", "\\(bv", "\\(rf");
+ break;
+ case 'c': /* ceiling */
+ if (n <= 1)
+ printf("\\(rc");
+ else
+ brack(m, "\\(rc", "\\(bv", "\\(bv");
+ break;
+ case '}':
+ printf("\\b'\\(rt");
+ for(j = 0; j< m; j += 2)printf("\\(bv");
+ printf("\\(rk");
+ for(j = 0; j< m; j += 2) printf("\\(bv");
+ printf("\\(rb'");
+ break;
+ case ']':
+ brack(m, "\\(rc", "\\(bv", "\\(rf");
+ break;
+ case ')':
+ brack(m, "\\(rt", "\\(bv", "\\(rb");
+ break;
+ case '|':
+ brack(m, "\\(bv", "\\(bv", "\\(bv");
+ break;
+ default:
+ brack(m, (char *) &rightc, (char *) &rightc, (char *) &rightc);
+ break;
+ }
+#ifndef NEQN
+ printf("\\v'%gp'", -v);
+#else /* NEQN */
+ printf("\\v'%du'", -v);
+#endif /* NEQN */
+ }
+ printf("\n");
+#ifndef NEQN
+ if(dbg)printf(".\tcurly: h=%g b=%g n=%d v=%g l=%c, r=%c\n",
+ eht[yyval.token], ebase[yyval.token], n, v, leftc, rightc);
+#else /* NEQN */
+ if(dbg)printf(".\tcurly: h=%d b=%d n=%d v=%d l=%c, r=%c\n",
+ eht[yyval.token], ebase[yyval.token], n, v, leftc, rightc);
+#endif /* NEQN */
+}
+
+void
+brack(int m, char *t, char *c, char *b) {
+ int j;
+ printf("\\b'%s", t);
+ for( j=0; j<m; j++)
+ printf("%s", c);
+ printf("%s'", b);
+}
diff --git a/eqn/pile.c b/eqn/pile.c
new file mode 100644
index 0000000000000..44f0379f8be72
--- /dev/null
+++ b/eqn/pile.c
@@ -0,0 +1,137 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "pile.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)pile.c 1.4 (gritter) 10/29/05
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+lpile(int type, int p1, int p2) {
+ int i, nlist, nlist2, mid;
+#ifndef NEQN
+ float h, b, bi, hi, gap;
+#else /* NEQN */
+ int h, b, bi, hi, gap;
+#endif /* NEQN */
+ yyval.token = oalloc();
+#ifndef NEQN
+ gap = VERT(EM(0.4, ps)); /* 4/10 m between blocks */
+#else /* NEQN */
+ gap = VERT(1);
+#endif /* NEQN */
+ if( type=='-' ) gap = 0;
+ nlist = p2 - p1;
+ nlist2 = (nlist+1)/2;
+ mid = p1 + nlist2 -1;
+ h = 0;
+ for( i=p1; i<p2; i++ )
+ h += eht[lp[i]];
+ eht[yyval.token] = h + (nlist-1)*gap;
+ b = 0;
+ for( i=p2-1; i>mid; i-- )
+ b += eht[lp[i]] + gap;
+ ebase[yyval.token] = (nlist%2) ? b + ebase[lp[mid]]
+#ifndef NEQN
+ : b - VERT(EM(0.5, ps)) - gap;
+#else /* NEQN */
+ : b - VERT(1) - gap;
+#endif /* NEQN */
+ if(dbg) {
+ printf(".\tS%d <- %c pile of:", yyval.token, type);
+ for( i=p1; i<p2; i++)
+ printf(" S%d", lp[i]);
+#ifndef NEQN
+ printf(";h=%g b=%g\n", eht[yyval.token], ebase[yyval.token]);
+#else /* NEQN */
+ printf(";h=%d b=%d\n", eht[yyval.token], ebase[yyval.token]);
+#endif /* NEQN */
+ }
+ nrwid(lp[p1], ps, lp[p1]);
+ printf(".nr %d \\n(%d\n", yyval.token, lp[p1]);
+ for( i = p1+1; i<p2; i++ ) {
+ nrwid(lp[i], ps, lp[i]);
+ printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n",
+ lp[i], yyval.token, yyval.token, lp[i]);
+ }
+#ifndef NEQN
+ printf(".ds %d \\v'%gp'\\h'%du*\\n(%du'\\\n", yyval.token, ebase[yyval.token],
+ type=='R' ? 1 : 0, yyval.token);
+#else /* NEQN */
+ printf(".ds %d \\v'%du'\\h'%du*\\n(%du'\\\n", yyval.token, ebase[yyval.token],
+ type=='R' ? 1 : 0, yyval.token);
+#endif /* NEQN */
+ for(i = p2-1; i >=p1; i--) {
+ hi = eht[lp[i]];
+ bi = ebase[lp[i]];
+ switch(type) {
+
+ case 'L':
+#ifndef NEQN
+ printf("\\v'%gp'\\*(%d\\h'-\\n(%du'\\v'0-%gp'\\\n",
+ -bi, lp[i], lp[i], hi-bi+gap);
+#else /* NEQN */
+ printf("\\v'%du'\\*(%d\\h'-\\n(%du'\\v'0-%du'\\\n",
+ -bi, lp[i], lp[i], hi-bi+gap);
+#endif /* NEQN */
+ continue;
+ case 'R':
+#ifndef NEQN
+ printf("\\v'%gp'\\h'-\\n(%du'\\*(%d\\v'0-%gp'\\\n",
+ -bi, lp[i], lp[i], hi-bi+gap);
+#else /* NEQN */
+ printf("\\v'%du'\\h'-\\n(%du'\\*(%d\\v'0-%du'\\\n",
+ -bi, lp[i], lp[i], hi-bi+gap);
+#endif /* NEQN */
+ continue;
+ case 'C':
+ case '-':
+#ifndef NEQN
+ printf("\\v'%gp'\\h'\\n(%du-\\n(%du/2u'\\*(%d",
+ -bi, yyval.token, lp[i], lp[i]);
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'0-%gp'\\\n",
+ yyval.token, lp[i], hi-bi+gap);
+#else /* NEQN */
+ printf("\\v'%du'\\h'\\n(%du-\\n(%du/2u'\\*(%d",
+ -bi, yyval.token, lp[i], lp[i]);
+ printf("\\h'-\\n(%du-\\n(%du/2u'\\v'0-%du'\\\n",
+ yyval.token, lp[i], hi-bi+gap);
+#endif /* NEQN */
+ continue;
+ }
+ }
+#ifndef NEQN
+ printf("\\v'%gp'\\h'%du*\\n(%du'\n", eht[yyval.token]-ebase[yyval.token]+gap,
+ type!='R' ? 1 : 0, yyval.token);
+#else /* NEQN */
+ printf("\\v'%du'\\h'%du*\\n(%du'\n", eht[yyval.token]-ebase[yyval.token]+gap,
+ type!='R' ? 1 : 0, yyval.token);
+#endif /* NEQN */
+ for( i=p1; i<p2; i++ )
+ ofree(lp[i]);
+ lfont[yyval.token] = rfont[yyval.token] = 0;
+}
diff --git a/eqn/shift.c b/eqn/shift.c
new file mode 100644
index 0000000000000..666a9c07a21cd
--- /dev/null
+++ b/eqn/shift.c
@@ -0,0 +1,204 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "shift.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)shift.c 1.6 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+bshiftb(int p1, int dir, int p2) {
+#ifndef NEQN
+ float shval, d1, h1, b1, h2, b2;
+ float diffps, effps, effps2;
+ char *sh1, *sh2;
+#else /* NEQN */
+ int shval, d1, h1, b1, h2, b2;
+#endif /* NEQN */
+
+ yyval.token = p1;
+ h1 = eht[p1];
+ b1 = ebase[p1];
+ h2 = eht[p2];
+ b2 = ebase[p2];
+#ifndef NEQN
+ effps = EFFPS(ps);
+ effps2 = EFFPS(ps+deltaps);
+ diffps = deltaps;
+ sh1 = sh2 = "";
+#endif /* NEQN */
+ if( dir == SUB ) { /* subscript */
+#ifndef NEQN
+ /* top 1/2m above bottom of main box */
+ d1 = VERT(EM(0.5, effps2));
+#else /* NEQN */
+ d1 = VERT(1);
+#endif /* NEQN */
+ shval = - d1 + h2 - b2;
+ if( d1+b1 > h2 ) /* move little sub down */
+ shval = b1-b2;
+ ebase[yyval.token] = b1 + max(0, h2-b1-d1);
+ eht[yyval.token] = h1 + max(0, h2-b1-d1);
+#ifndef NEQN
+ if (ital(rfont[p1]) && rom(lfont[p2]))
+ sh1 = "\\|";
+ if (ital(rfont[p2]))
+ sh2 = "\\|";
+#endif /* NEQN */
+ } else { /* superscript */
+#ifndef NEQN
+ /* 4/10 up main box */
+ d1 = VERT(EM(0.2, effps));
+#else /* NEQN */
+ d1 = VERT(1);
+#endif /* NEQN */
+ ebase[yyval.token] = b1;
+#ifndef NEQN
+ shval = -VERT( (4 * (h1-b1)) / 10 ) - b2;
+ if( VERT(4*(h1-b1)/10) + h2 < h1-b1 ) /* raise little super */
+#else /* NEQN */
+ shval = -VERT(1) - b2;
+ if( VERT(1) + h2 < h1-b1 ) /* raise little super */
+#endif /* NEQN */
+ shval = -(h1-b1) + h2-b2 - d1;
+#ifndef NEQN
+ eht[yyval.token] = h1 + max(0, h2-VERT((6*(h1-b1))/10));
+ if (ital(rfont[p1]))
+ sh1 = "\\|";
+ if (ital(rfont[p2]))
+ sh2 = "\\|";
+#else /* NEQN */
+ eht[yyval.token] = h1 + max(0, h2 - VERT(1));
+#endif /* NEQN */
+ }
+#ifndef NEQN
+ if(dbg)printf(".\tb:b shift b: S%d <- S%d vert %g S%d vert %g; b=%g, h=%g\n",
+ yyval.token, p1, shval, p2, -shval, ebase[yyval.token], eht[yyval.token]);
+ printf(".as %d \\v'%gp'\\s-%s%s\\*(%d\\s+%s%s\\v'%gp'\n",
+ yyval.token, shval, tsize(diffps), sh1, p2, tsize(diffps), sh2, -shval);
+ ps += deltaps;
+ if (ital(rfont[p2]))
+ rfont[p1] = 0;
+ else
+ rfont[p1] = rfont[p2];
+#else /* NEQN */
+ if(dbg)printf(".\tb:b shift b: S%d <- S%d vert %d S%d vert %d; b=%d, h=%d\n",
+ yyval.token, p1, shval, p2, -shval, ebase[yyval.token], eht[yyval.token]);
+ printf(".as %d \\v'%du'\\*(%d\\v'%du'\n",
+ yyval.token, shval, p2, -shval);
+#endif /* NEQN */
+ ofree(p2);
+}
+
+void
+shift(int p1) {
+ ps -= deltaps;
+ yyval.token = p1;
+ if(dbg)printf(".\tshift: %d;ps=%g\n", yyval.token, ps);
+}
+
+void
+shift2(int p1, int p2, int p3) {
+ int effps, treg;
+#ifndef NEQN
+ float h1, h2, h3, b1, b2, b3, subsh, d1, d2, supsh;
+ int effps2;
+#else /* NEQN */
+ int h1, h2, h3, b1, b2, b3, subsh, d1, d2, supsh;
+#endif /* NEQN */
+
+ treg = oalloc();
+ yyval.token = p1;
+ if(dbg)printf(".\tshift2 s%d <- %d %d %d\n", yyval.token, p1, p2, p3);
+ effps = EFFPS(ps+deltaps);
+#ifndef NEQN
+ eht[p3] = h3 = VERT( (eht[p3] * effps) / EFFPS(ps) );
+ ps += deltaps;
+ effps2 = EFFPS(ps+deltaps);
+#endif /* NEQN */
+ h1 = eht[p1]; b1 = ebase[p1];
+ h2 = eht[p2]; b2 = ebase[p2];
+#ifndef NEQN
+ b3 = ebase[p3];
+ d1 = VERT(EM(0.5, effps2));
+#else /* NEQN */
+ h3 = eht[p3]; b3 = ebase[p3];
+ d1 = VERT(1);
+#endif /* NEQN */
+ subsh = -d1+h2-b2;
+ if( d1+b1 > h2 ) /* move little sub down */
+ subsh = b1-b2;
+#ifndef NEQN
+ supsh = -VERT( (4*(h1-b1))/10 ) - b3;
+ d2 = VERT(EM(0.2, effps));
+ if( VERT(4*(h1-b1)/10)+h3 < h1-b1 )
+#else /* NEQN */
+ supsh = - VERT(1) - b3;
+ d2 = VERT(1);
+ if( VERT(1)+h3 < h1-b1 )
+#endif /* NEQN */
+ supsh = -(h1-b1) + (h3-b3) - d2;
+#ifndef NEQN
+ eht[yyval.token] = h1 + max(0, h3-VERT( (6*(h1-b1))/10 )) + max(0, h2-b1-d1);
+#else /* NEQN */
+ eht[yyval.token] = h1 + max(0, h3-VERT(1)) + max(0, h2-b1-d1);
+#endif /* NEQN */
+ ebase[yyval.token] = b1+max(0, h2-b1-d1);
+#ifndef NEQN
+ if (ital(rfont[p1]) && rom(lfont[p2]))
+ printf(".ds %d \\|\\*(%d\n", p2, p2);
+ if (ital(rfont[p2]))
+ printf(".as %d \\|\n", p2);
+#endif /* NEQN */
+ nrwid(p2, effps, p2);
+#ifndef NEQN
+ if (ital(rfont[p1]) && rom(lfont[p3]))
+ printf(".ds %d \\|\\|\\*(%d\n", p3, p3);
+ else
+ printf(".ds %d \\|\\*(%d\n", p3, p3);
+#endif /* NEQN */
+ nrwid(p3, effps, p3);
+ printf(".nr %d \\n(%d\n", treg, p3);
+ printf(".if \\n(%d>\\n(%d .nr %d \\n(%d\n", p2, treg, treg, p2);
+#ifndef NEQN
+ printf(".as %d \\v'%gp'\\s%s\\*(%d\\h'-\\n(%du'\\v'%gp'\\\n",
+ p1, subsh, tsize(effps), p2, p2, -subsh+supsh);
+ printf("\\s%s\\*(%d\\h'-\\n(%du+\\n(%du'\\s%s\\v'%gp'\n",
+ tsize(effps), p3, p3, treg, tsize(effps2), -supsh);
+#else /* NEQN */
+ printf(".as %d \\v'%du'\\*(%d\\h'-\\n(%du'\\v'%du'\\\n",
+ p1, subsh, p2, p2, -subsh+supsh);
+ printf("\\*(%d\\h'-\\n(%du+\\n(%du'\\v'%du'\n",
+ p3, p3, treg, -supsh);
+#endif /* NEQN */
+ ps += deltaps;
+#ifndef NEQN
+ if (ital(rfont[p2]))
+ rfont[yyval.token] = 0; /* lie */
+#endif /* NEQN */
+ ofree(p2); ofree(p3); ofree(treg);
+}
diff --git a/eqn/size.c b/eqn/size.c
new file mode 100644
index 0000000000000..c8fe71b2da968
--- /dev/null
+++ b/eqn/size.c
@@ -0,0 +1,107 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "size.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)size.c 1.5 (gritter) 10/19/06
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+# include <stdlib.h>
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+setsize(char *p) /* set size as found in p */
+{
+ if (*p == '+')
+ ps += atof(p+1);
+ else if (*p == '-')
+ ps -= atof(p+1);
+ else
+ ps = atof(p);
+ if(dbg)printf(".\tsetsize %s; ps = %g\n", p, ps);
+}
+
+void
+size(float p1, int p2) {
+ /* old size in p1, new in ps */
+ float effps, effp1;
+
+ yyval.token = p2;
+#ifndef NEQN
+ if(dbg)printf(".\tb:sb: S%d <- \\s%s S%d \\s%s; b=%g, h=%g\n",
+ yyval.token, tsize(ps), p2, tsize(p1), ebase[yyval.token], eht[yyval.token]);
+#else /* NEQN */
+ if(dbg)printf(".\tb:sb: S%d <- \\s%s S%d \\s%s; b=%d, h=%d\n",
+ yyval.token, tsize(ps), p2, tsize(p1), ebase[yyval.token], eht[yyval.token]);
+#endif /* NEQN */
+ effps = EFFPS(ps);
+ effp1 = EFFPS(p1);
+ printf(".ds %d \\s%s\\*(%d\\s%s\n",
+ yyval.token, tsize(effps), p2, tsize(effp1));
+ ps = p1;
+}
+
+void
+globsize(void) {
+ char temp[20];
+
+ getstr(temp, 20);
+ if (temp[0] == '+')
+ gsize += atof(temp+1);
+ else if (temp[0] == '-')
+ gsize -= atof(temp+1);
+ else
+ gsize = atof(temp);
+ yyval.token = eqnreg = 0;
+ setps(gsize);
+ ps = gsize;
+ if (gsize >= 12) /* sub and sup size change */
+ deltaps = gsize / 4;
+ else
+ deltaps = gsize / 3;
+ if (gsize == (int)gsize)
+ deltaps = (int)deltaps;
+}
+
+char *
+tsize(float s)
+{
+ static char b[5][20];
+ static int t;
+ int i;
+
+ t = (t + 1) % 5;
+ if ((i = s) == s) {
+ if (i < 40)
+ snprintf(b[t], sizeof(b[t]), "%d", i);
+ else if (i < 100)
+ snprintf(b[t], sizeof(b[t]), "(%d", i);
+ else
+ snprintf(b[t], sizeof(b[t]), "[%d]", i);
+ } else {
+ snprintf(b[t], sizeof(b[t]), "[%g]", s);
+ }
+ return b[t];
+}
diff --git a/eqn/sqrt.c b/eqn/sqrt.c
new file mode 100644
index 0000000000000..d93bdbdfff7aa
--- /dev/null
+++ b/eqn/sqrt.c
@@ -0,0 +1,62 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "sqrt.c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)sqrt.c 1.6 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+# include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+void
+sqrt(int p2) {
+#ifndef NEQN
+ float nps;
+
+ nps = (int)(EFFPS(((eht[p2]*9)/10+(resolution/POINT-1))/(resolution/POINT)));
+#endif /* NEQN */
+ yyval.token = p2;
+#ifndef NEQN
+ eht[yyval.token] = VERT(EM(1.2, nps));
+ if(dbg)printf(".\tsqrt: S%d <- S%d;b=%g, h=%g\n",
+ yyval.token, p2, ebase[yyval.token], eht[yyval.token]);
+ if (ital(rfont[yyval.token]))
+ printf(".as %d \\|\n", yyval.token);
+#endif /* NEQN */
+ nrwid(p2, ps, p2);
+#ifndef NEQN
+ printf(".ds %d \\v'%gp'\\s%s\\v'-.2m'\\(sr\\l'\\n(%du\\(rn'\\v'.2m'\\s%s",
+ yyval.token, ebase[p2], tsize(nps), p2, tsize(ps));
+ printf("\\v'%gp'\\h'-\\n(%du'\\*(%d\n", -ebase[p2], p2, p2);
+ lfont[yyval.token] = ROM;
+#else /* NEQN */
+ printf(".ds %d \\v'%du'\\e\\L'%du'\\l'\\n(%du'",
+ p2, ebase[p2], -eht[p2], p2);
+ printf("\\v'%du'\\h'-\\n(%du'\\*(%d\n", eht[p2]-ebase[p2], p2, p2);
+ eht[p2] += VERT(1);
+ if(dbg)printf(".\tsqrt: S%d <- S%d;b=%d, h=%d\n",
+ p2, p2, ebase[p2], eht[p2]);
+#endif /* NEQN */
+}
diff --git a/eqn/text.c b/eqn/text.c
new file mode 100644
index 0000000000000..7b7b58ff7f9fa
--- /dev/null
+++ b/eqn/text.c
@@ -0,0 +1,234 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "text.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)text.c 1.8 (gritter) 1/13/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+#include "e.h"
+#include "y.tab.h"
+
+extern YYSTYPE yyval;
+
+int csp;
+int psp;
+#define CSSIZE 400
+char cs[420];
+
+int lf, rf; /* temporary spots for left and right fonts */
+
+void
+text(int t,char *p1) {
+ int c;
+ char *p;
+ tbl *tp;
+ extern tbl *restbl;
+
+ yyval.token = oalloc();
+ ebase[yyval.token] = 0;
+#ifndef NEQN
+ eht[yyval.token] = VERT(EM(1.0, EFFPS(ps))); /* ht in machine units */
+#else /* NEQN */
+ eht[yyval.token] = VERT(2); /* 2 half-spaces */
+#endif /* NEQN */
+ lfont[yyval.token] = rfont[yyval.token] = ROM;
+ if (t == QTEXT)
+ p = p1;
+ else if ( t == SPACE )
+ p = "\\ ";
+ else if ( t == THIN )
+ p = "\\|";
+ else if ( t == TAB )
+ p = "\\t";
+ else if ((tp = lookup(&restbl, p1, NULL)) != NULL)
+ p = tp->defn;
+ else {
+ lf = rf = 0;
+ for (csp=psp=0; (c=p1[psp++])!='\0';) {
+ rf = trans(c, p1);
+ if (lf == 0)
+ lf = rf; /* save first */
+ if (csp>CSSIZE)
+ error(FATAL, "converted token %.25s... too long" ,p1);
+ }
+ cs[csp] = '\0';
+ p = cs;
+ lfont[yyval.token] = lf;
+ rfont[yyval.token] = rf;
+ }
+#ifndef NEQN
+ if(dbg)printf(".\t%dtext: S%d <- %s; b=%g,h=%g,lf=%c,rf=%c\n",
+ t, yyval.token, p, ebase[yyval.token], eht[yyval.token], lfont[yyval.token], rfont[yyval.token]);
+#else /* NEQN */
+ if(dbg)printf(".\t%dtext: S%d <- %s; b=%d,h=%d,lf=%c,rf=%c\n",
+ t, yyval.token, p, ebase[yyval.token], eht[yyval.token], lfont[yyval.token], rfont[yyval.token]);
+#endif /* NEQN */
+ printf(".ds %d \"%s\n", yyval.token, p);
+}
+
+int
+trans(int c,char *p1) {
+ int f;
+ int half = 0;
+ f = ROM;
+ switch( c) {
+ case ')':
+ half = 1;
+ /*FALLTHRU*/
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ case ':': case ';': case '!': case '%':
+ case '(': case '[': case ']':
+ if (rf == ITAL)
+ shim(half);
+ roman(c); break;
+ case ',':
+ roman(c);
+ shim(0);
+ break;
+ case '.':
+ if (rf == ROM)
+ roman(c);
+ else
+ cs[csp++] = c;
+ f = rf;
+ break;
+ case '|':
+ if (rf == ITAL)
+ shim(0);
+ shim(0); roman(c); shim(0); break;
+ case '=':
+ if (rf == ITAL)
+ shim(0);
+ name4('e','q');
+ f |= OP;
+ break;
+ case '+':
+ if (rf == ITAL)
+ shim(0);
+ name4('p', 'l');
+ f |= OP;
+ break;
+ case '>': case '<':
+ if (rf == ITAL)
+ shim(0);
+ if (p1[psp]=='=') { /* look ahead for == <= >= */
+ name4(c,'=');
+ psp++;
+ } else {
+ cs[csp++] = c;
+ }
+ f |= OP;
+ break;
+ case '-':
+ if (rf == ITAL)
+ shim(0);
+ if (p1[psp]=='>') {
+ name4('-','>'); psp++;
+ } else {
+ name4('m','i');
+ }
+ f |= OP;
+ break;
+ case '/':
+ if (rf == ITAL)
+ shim(0);
+ name4('s','l');
+ f |= OP;
+ break;
+ case '~': case ' ':
+ shim(0); shim(0); break;
+ case '^':
+ shim(0); break;
+ case '\\': /* troff - pass 2 or 3 more chars */
+ if (rf == ITAL)
+ shim(0);
+ cs[csp++] = c; cs[csp++] = c = p1[psp++]; cs[csp++] = p1[psp++];
+ if (c=='(') cs[csp++] = p1[psp++];
+ if (c=='*' && cs[csp-1] == '(') {
+ cs[csp++] = p1[psp++];
+ cs[csp++] = p1[psp++];
+ } else if (c == '[' || (c == '*' && cs[csp-1] == '[')) {
+ do
+ cs[csp++] = p1[psp++];
+ while (p1[psp-1] != ' ' && p1[psp-1] != '\t' &&
+ p1[psp-1] != '\n' && p1[psp-1] != ']');
+ if (cs[csp-1] != ']') {
+ csp--;
+ psp--;
+ }
+ }
+ break;
+ case '\'':
+ cs[csp++] = '\\'; cs[csp++] = 'f'; cs[csp++] = rf==ITAL ? ITAL : ROM;
+ name4('f','m');
+ cs[csp++] = '\\'; cs[csp++] = 'f'; cs[csp++] = 'P';
+ f = rf==ITAL ? ITAL : ROM;
+ break;
+
+ case 'f':
+ if (ft == ITAL) {
+ cs[csp++] = '\\'; cs[csp++] = '^';
+ cs[csp++] = 'f';
+ cs[csp++] = '\\'; cs[csp++] = '|'; /* trying | instead of ^ */
+ f = ITAL;
+ }
+ else
+ cs[csp++] = 'f';
+ break;
+ case 'j':
+ if (ft == ITAL) {
+ cs[csp++] = '\\'; cs[csp++] = '^';
+ cs[csp++] = 'j';
+ f = ITAL;
+ }
+ else
+ cs[csp++] = 'j';
+ break;
+ default:
+ cs[csp++] = c;
+ f = ft==ITAL ? ITAL : ROM;
+ break;
+ }
+ return(f);
+}
+
+void
+shim(int small) {
+ cs[csp++] = '\\'; cs[csp++] = small ? '^' : '|';
+}
+
+void
+roman(int c) {
+ cs[csp++] = '\\'; cs[csp++] = 'f'; cs[csp++] = ROM;
+ cs[csp++] = c;
+ cs[csp++] = '\\'; cs[csp++] = 'f'; cs[csp++] = 'P';
+}
+
+void
+name4(int c1,int c2) {
+ cs[csp++] = '\\';
+ cs[csp++] = '(';
+ cs[csp++] = c1;
+ cs[csp++] = c2;
+}
diff --git a/eqn/version.c b/eqn/version.c
new file mode 100644
index 0000000000000..5961b90f614b8
--- /dev/null
+++ b/eqn/version.c
@@ -0,0 +1,37 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+#ifdef NEQN
+static const char sccsid[] USED = "@(#)/usr/ucb/neqn.sl 5.12 (gritter) 1/13/08";
+#else
+static const char sccsid[] USED = "@(#)/usr/ucb/eqn.sl 5.12 (gritter) 1/13/08";
+#endif
+/* SLIST */
+/*
+diacrit.c: * Sccsid @(#)diacrit.c 1.7 (gritter) 1/13/08
+e.h: * Sccsid @(#)e.h 1.13 (gritter) 1/13/08
+e.y: * Sccsid @(#)e.y 1.7 (gritter) 10/2/07
+eqnbox.c: * Sccsid @(#)eqnbox.c 1.7 (gritter) 1/13/08
+font.c: * Sccsid @(#)font.c 1.5 (gritter) 1/13/08
+fromto.c: * Sccsid @(#)fromto.c 1.5 (gritter) 10/19/06
+funny.c: * Sccsid @(#)funny.c 1.6 (gritter) 10/19/06
+glob.c: * Sccsid @(#)glob.c 1.8 (gritter) 10/19/06
+integral.c: * Sccsid @(#)integral.c 1.5 (gritter) 10/19/06
+io.c: * Sccsid @(#)io.c 1.13 (gritter) 1/13/08
+lex.c: * Sccsid @(#)lex.c 1.7 (gritter) 11/21/07
+lookup.c: * Sccsid @(#)lookup.c 1.5 (gritter) 9/18/05
+mark.c: * Sccsid @(#)mark.c 1.3 (gritter) 8/12/05
+matrix.c: * Sccsid @(#)matrix.c 1.4 (gritter) 10/29/05
+move.c: * Sccsid @(#)move.c 1.4 (gritter) 10/29/05
+over.c: * Sccsid @(#)over.c 1.5 (gritter) 10/19/06
+paren.c: * Sccsid @(#)paren.c 1.4 (gritter) 10/29/05
+pile.c: * Sccsid @(#)pile.c 1.4 (gritter) 10/29/05
+shift.c: * Sccsid @(#)shift.c 1.6 (gritter) 1/13/08
+size.c: * Sccsid @(#)size.c 1.5 (gritter) 10/19/06
+sqrt.c: * Sccsid @(#)sqrt.c 1.6 (gritter) 1/13/08
+text.c: * Sccsid @(#)text.c 1.8 (gritter) 1/13/08
+*/
diff --git a/eqn/yyval.sed b/eqn/yyval.sed
new file mode 100644
index 0000000000000..fbbc5e88770f5
--- /dev/null
+++ b/eqn/yyval.sed
@@ -0,0 +1,22 @@
+#
+# Sccsid @(#)yyval.sed 1.2 (gritter) 10/2/07
+#
+# bison has a yacc-compatible yyval, but it is a local variable inside
+# yyparse(). Making the variable global is necessary to make bc work
+# with a bison-generated parser.
+1,2 {
+ /Bison/ {
+ :look
+ /second part of user declarations/ {
+ i\
+ YYSTYPE yyval;
+ :repl
+ s/^[ ]*YYSTYPE[ ]*yyval;//
+ n
+ t
+ b repl
+ }
+ n
+ b look
+ }
+}
diff --git a/grap/Makefile.mk b/grap/Makefile.mk
new file mode 100644
index 0000000000000..8fa3f470c883f
--- /dev/null
+++ b/grap/Makefile.mk
@@ -0,0 +1,41 @@
+OBJ = coord.o for.o frame.o grap.o grapl.o input.o label.o main.o misc.o \
+ plot.o print.o ticks.o version.o
+
+FLAGS = -DLIBDIR='"$(LIBDIR)"' $(DEFINES) -I../include
+
+YFLAGS = -d
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: grap.c grapl.c grap
+
+grap: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -lm -o grap
+
+y.tab.h: grap.c
+
+install:
+ $(INSTALL) -c grap $(ROOT)$(BINDIR)/grap
+ $(STRIP) $(ROOT)$(BINDIR)/grap
+ test -d $(ROOT)$(LIBDIR) || mkdir -p $(ROOT)$(LIBDIR)
+ $(INSTALL) -c -m 644 grap.defines $(ROOT)$(LIBDIR)/grap.defines
+ $(INSTALL) -c -m 644 grap.1 $(ROOT)$(MANDIR)/man1/grap.1
+
+clean:
+ rm -f $(OBJ) grapl.c grap.c y.tab.h grap core log *~
+
+mrproper: clean
+
+coord.o: coord.c grap.h y.tab.h
+for.o: for.c grap.h y.tab.h
+frame.o: frame.c grap.h y.tab.h
+grap.o: grap.c grap.h
+grapl.o: grapl.c grap.h y.tab.h
+input.o: input.c grap.h y.tab.h
+label.o: label.c grap.h y.tab.h
+main.o: main.c grap.h y.tab.h
+misc.o: misc.c grap.h y.tab.h
+plot.o: plot.c grap.h y.tab.h
+print.o: print.c grap.h y.tab.h
+ticks.o: ticks.c grap.h y.tab.h
diff --git a/grap/coord.c b/grap/coord.c
new file mode 100644
index 0000000000000..491c41e9a4c85
--- /dev/null
+++ b/grap/coord.c
@@ -0,0 +1,83 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)coord.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "grap.h"
+#include "y.tab.h"
+
+char *dflt_coord = "gg";
+char *curr_coord = "gg";
+int ncoord = 0; /* number of explicit coord's given */
+
+Point xcoord;
+Point ycoord;
+int xcflag = 0; /* 1 if xcoord set */
+int ycflag = 0;
+int logcoord = 0;
+
+void coord_x(Point pt) /* remember x coord */
+{
+ xcoord = pt;
+ xcflag = 1;
+ margin = 0; /* no extra space around picture if explicit coords */
+}
+
+void coord_y(Point pt)
+{
+ ycoord = pt;
+ ycflag = 1;
+ margin = 0; /* no extra space if explicit coords */
+}
+
+void coordlog(int n) /* remember log scaling */
+{
+ logcoord = n;
+}
+
+void coord(Obj *p) /* set coord range */
+{
+ static char buf[10];
+
+ ncoord++;
+ if (ncoord > 1 && strcmp(p->name, dflt_coord) == 0) {
+ /* resetting default coordinate by implication */
+ snprintf(buf, sizeof(buf), "gg%d", ncoord);
+ dflt_coord = buf;
+ p = lookup(dflt_coord, 1);
+ }
+ if (xcflag) {
+ p->coord |= XFLAG;
+ p->pt.x = min(xcoord.x,xcoord.y); /* "xcoord" is xmin, xmax */
+ p->pt1.x = max(xcoord.x,xcoord.y);
+ if ((logcoord&XFLAG) && p->pt.x <= 0.0)
+ FATAL("can't have log of x coord %g,%g", p->pt.x, p->pt1.x);
+ xcflag = 0;
+ }
+ if (ycflag) {
+ p->coord |= YFLAG;
+ p->pt.y = min(ycoord.x,ycoord.y); /* "ycoord" is ymin, ymax */
+ p->pt1.y = max(ycoord.x,ycoord.y);
+ if ((logcoord&YFLAG) && p->pt.y <= 0.0)
+ FATAL("can't have log of y coord %g,%g", p->pt.y, p->pt1.y);
+ ycflag = 0;
+ }
+ p->log = logcoord;
+ logcoord = 0;
+ auto_x = 0;
+}
+
+void resetcoord(Obj *p) /* reset current coordinate */
+{
+ curr_coord = p->name;
+}
diff --git a/grap/for.c b/grap/for.c
new file mode 100644
index 0000000000000..c3e8a4a6918e6
--- /dev/null
+++ b/grap/for.c
@@ -0,0 +1,101 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)for.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include "grap.h"
+#include "y.tab.h"
+
+typedef struct {
+ Obj *var; /* index variable */
+ double to; /* limit */
+ double by;
+ int op; /* operator */
+ char *str; /* string to push back */
+} For;
+
+#define MAXFOR 10
+
+For forstk[MAXFOR]; /* stack of for loops */
+For *forp = forstk; /* pointer to current top */
+
+void forloop(Obj *var, double from, double to, int op, double by, char *str) /* set up a for loop */
+{
+ fprintf(tfd, "# for %s from %g to %g by %c %g \n",
+ var->name, from, to, op, by);
+ if (++forp >= forstk+MAXFOR)
+ FATAL("for loop nested too deep");
+ forp->var = var;
+ forp->to = to;
+ forp->op = op;
+ forp->by = by;
+ forp->str = str;
+ setvar(var, from);
+ nextfor();
+ unput('\n');
+}
+
+void nextfor(void) /* do one iteration of a for loop */
+{
+ /* BUG: this should depend on op and direction */
+ if (forp->var->fval > SLOP * forp->to) { /* loop is done */
+ free(forp->str);
+ if (--forp < forstk)
+ FATAL("forstk popped too far");
+ } else { /* another iteration */
+ pushsrc(String, "\nEndfor\n");
+ pushsrc(String, forp->str);
+ }
+}
+
+void endfor(void) /* end one iteration of for loop */
+{
+ switch (forp->op) {
+ case '+':
+ case ' ':
+ forp->var->fval += forp->by;
+ break;
+ case '-':
+ forp->var->fval -= forp->by;
+ break;
+ case '*':
+ forp->var->fval *= forp->by;
+ break;
+ case '/':
+ forp->var->fval /= forp->by;
+ break;
+ }
+ nextfor();
+}
+
+char *ifstat(double expr, char *thenpart, char *elsepart)
+{
+ dprintf("if %g then <%s> else <%s>\n", expr, thenpart, elsepart? elsepart : "");
+ if (expr) {
+ unput('\n');
+ pushsrc(Free, thenpart);
+ pushsrc(String, thenpart);
+ unput('\n');
+ if (elsepart)
+ free(elsepart);
+ return thenpart; /* to be freed later */
+ } else {
+ free(thenpart);
+ if (elsepart) {
+ unput('\n');
+ pushsrc(Free, elsepart);
+ pushsrc(String, elsepart);
+ unput('\n');
+ }
+ return elsepart;
+ }
+}
diff --git a/grap/frame.c b/grap/frame.c
new file mode 100644
index 0000000000000..e01b2835efe2a
--- /dev/null
+++ b/grap/frame.c
@@ -0,0 +1,83 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)frame.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include "grap.h"
+#include "y.tab.h"
+
+double frame_ht; /* default frame height */
+double frame_wid; /* and width */
+
+int nsides = 0; /* how many sides given on this frame */
+char *sides[] = {
+ "\tline from Frame.nw to Frame.ne",
+ "\tline from Frame.sw to Frame.se",
+ "\tline from Frame.sw to Frame.nw",
+ "\tline from Frame.se to Frame.ne"
+};
+char *newsides[4] = { 0, 0, 0, 0 }; /* filled in later */
+
+void frame(void) /* pump out frame definition, reset for next */
+{
+ int i;
+
+ fprintf(tfd, "\tframeht = %g\n", frame_ht);
+ fprintf(tfd, "\tframewid = %g\n", frame_wid);
+ fprintf(tfd, "Frame:\tbox ht frameht wid framewid with .sw at 0,0 ");
+ if (nsides == 0)
+ fprintf(tfd, "\n");
+ else {
+ fprintf(tfd, "invis\n");
+ for (i = 0; i < 4; i++) {
+ if (newsides[i]) {
+ fprintf(tfd, "%s\n", newsides[i]);
+ free(newsides[i]);
+ newsides[i] = 0;
+ } else
+ fprintf(tfd, "%s\n", sides[i]);
+ }
+ nsides = 0;
+ }
+}
+
+void frameht(double f) /* set height of frame */
+{
+ frame_ht = f;
+}
+
+void framewid(double f) /* set width of frame */
+{
+ frame_wid = f;
+}
+
+void frameside(int type, Attr *desc) /* create and remember sides */
+{
+ int n = 0;
+ char buf[100];
+
+ nsides++;
+ switch (type) {
+ case 0: /* no side specified; kludge up all */
+ frameside(TOP, desc);
+ frameside(BOT, desc);
+ frameside(LEFT, desc);
+ frameside(RIGHT, desc);
+ return;
+ case TOP: n = 0; break;
+ case BOT: n = 1; break;
+ case LEFT: n = 2; break;
+ case RIGHT: n = 3; break;
+ }
+ snprintf(buf, sizeof(buf), "%s %s", sides[n], desc_str(desc));
+ newsides[n] = tostring(buf);
+}
diff --git a/grap/grap.1 b/grap/grap.1
new file mode 100644
index 0000000000000..a3a96a5cb2b66
--- /dev/null
+++ b/grap/grap.1
@@ -0,0 +1,430 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+.\"
+.\" Derived from Plan 9 v4 /opt/unix/plan9v4/sys/man/1/grap
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)grap.1 1.5 (gritter) 2/2/07
+.TH GRAP 1 "2/2/07" "Heirloom Documentation Tools" "User Commands"
+.SH NAME
+grap \- pic preprocessor for drawing graphs
+.SH SYNOPSIS
+\fBgrap\fR [\fB\-SU\fR] [\fIfile\fR]
+.SH DESCRIPTION
+.I Grap
+is a
+.IR pic (1)
+preprocessor for drawing graphs on a typesetter.
+Graphs are surrounded by the
+.I troff
+`commands'
+.B \&.G1
+and
+.BR \&.G2 .
+Data are scaled and plotted,
+with tick marks supplied automatically.
+Commands exist to modify the frame,
+add labels, override the default ticks,
+change the plotting style,
+define coordinate ranges and transformations,
+and include data from files.
+In addition,
+.I grap
+provides the same loops, conditionals, and macro processing that
+.I pic
+does.
+.PP
+.BI frame
+.B ht
+.I e
+.B wid
+.I e
+.B top
+.B dotted
+.IR ... :
+Set the frame around the graph to specified
+.B ht
+and
+.BR wid ;
+default is 2 by 3 (inches).
+The line
+.I styles
+.RB ( dotted ,
+.BR dashed ,
+.BR invis ,
+.BR solid
+(default))
+of the
+.I sides
+.RB ( top ,
+.BR bot ,
+.BR left ,
+.BR right )
+of the frame can be set
+independently.
+.PP
+.B label
+.I side
+.B \&"a label"
+.B \&"as a set of strings"
+.IR adjust :
+Place label on specified side; default side is bottom.
+.I adjust
+is
+.B up
+(or
+.B down
+.B left
+.BR right )
+.I expr
+to shift default position;
+.B width
+.I expr
+sets the width explicitly.
+.PP
+.BI ticks
+.I side
+.B in
+.B at
+.IR "optname expr, expr, ..." :
+Put ticks on
+.I side
+at
+.I "expr, ...,
+and label with
+.I \&"expr"\f1.
+If any
+.I expr
+is followed by "...", label tick with "...",
+and turn off all automatic labels.
+If "..." contains
+.BR %f 's,
+they will be interpreted as
+.B printf
+formatting instructions for the tick value.
+Ticks point
+.B in
+or
+.B out
+(default out).
+Tick iterator: instead of
+.B at
+.IR \&... ,
+use
+.BI from
+.I expr
+.B to
+.I expr
+.B by
+.I "op expr
+where
+.I op
+is optionally
+.B +\-*/
+for additive or multiplicative steps.
+.B by
+can be omitted, to give steps of size 1.
+If no ticks are requested, they are supplied automatically;
+suppress this with
+.B ticks
+.BR off .
+Automatic ticks normally
+leave a margin of 7% on each side; set this to anything by
+.B margin
+.B =
+.IR expr .
+.PP
+.B grid
+.I "side linedesc"
+.B at
+.IR "optname expr, expr, ..." :
+Draw grids perpendicular to
+.I side
+in style
+.I linedesc
+at
+.I "expr, ....\&
+Iterators and labels work as with ticks.
+.PP
+.B coord
+.I optname
+.B x
+.I "min, max"
+.B y
+.I "min, max"
+.B "log x
+.BR " log y" :
+Set range of coords and optional log scaling on either or both.
+This overrides computation of data range.
+Default value of
+.I optname
+is current coordinate system
+(each
+.B coord
+defines a new coordinate system).
+.PP
+.B plot
+.I \&"str"
+.B at
+.IR point ;
+.B
+.I \&"str"
+.B at
+.IR point :
+Put
+.I str
+at
+.IR point .
+Text position can be qualified with
+.BR rjust ,
+.BR ljust ,
+.BR above ,
+.BR below
+after "...".
+.PP
+.B line
+.B from
+.I point
+.B to
+.IR "point linedesc" :
+Draw line from here to there.
+.B arrow
+works in place of
+.BR line .
+.PP
+.B next
+.I optname
+.B at
+.IR "point linedesc" :
+Continue plot of data in
+.I optname to
+.IR point ;
+default is current.
+.PP
+.BI draw
+.IR "optname linedesc ..." :
+Set mode for
+.BR next :
+use this style from now on,
+and plot "..." at each point (if given).
+.PP
+.BI new
+.IR "optname linedesc ..." :
+Set mode for
+.BR next ,
+but disconnect from previous.
+.PP
+A list of numbers
+.I "x y1 y2 y3 ...
+is treated as
+.B plot
+.B bullet
+.B at
+.IR x,y1 ;
+.B plot
+.B bullet
+.B at
+.IR x,y2 ;
+etc., or as
+.B next
+.B at
+.I x,y1
+etc., if
+.B draw
+is specified.
+Abscissae of 1,2,3,... are provided if there is only one input number per line.
+.PP
+A
+point
+.I "optname expr, expr
+maps the point to the named coordinate system.
+A
+.I linedesc
+is one of
+.B dot
+.B dash
+.B invis
+.B solid
+optionally followed by an expression.
+.PP
+.BI define
+.I name
+.BI { whatever } \f1:
+Define a macro.
+There are macros already defined for standard plotting
+symbols like
+.BR bullet ,
+.BR circle ,
+.BR star ,
+.BR plus ,
+etc., in
+.BR /sys/lib/grap.defines ,
+which is included if it exists.
+.PP
+.I var
+.B =
+.IR expr :
+Evaluate an expression.
+Operators are
+.B=
+.B +
+.B \-
+.B *
+and
+.BR / .
+Functions are
+.B log
+and
+.B exp
+(both base 10),
+.BR sin ,
+.BR cos ,
+.BR sqrt ;
+.B rand
+returns random number on [0,1);
+.BI max( e , e )\f1,
+.BI min( e , e )\f1,
+.BI int( e )\f1.
+.PP
+.B print
+.IR expr ;
+.B print
+\fR"\f2...\fR"\f1:
+As a debugging aid, print
+.I expr
+or
+.I string
+on the standard error.
+.PP
+.B copy
+\fR"\fIfile name\fR"\fR:
+Include this file right here.
+.PP
+.B copy
+.B thru
+.IR macro :
+Pass rest of input (until
+.BR \&.G2 )
+through
+.IR macro ,
+treating each field (non-blank, or "...") as an argument.
+.I macro
+can be the name of a macro previously defined,
+or the body of one in place, like
+.BR "/plot $1 at $2,$3/" .
+.PP
+.B copy
+.B thru
+.I macro
+.B until
+\fR"\fIstring\fR"\fR:
+Stop copy when input is
+.I string
+(left-justified).
+.PP
+.BI pic
+.IR "remainder of line" :
+Copy to output with leading blanks removed.
+.PP
+.BI graph
+.IR "Name pic-position" :
+Start a new frame, place it at specified position,
+e.g.,
+.B graph
+.B Thing2
+.BR "with .sw at Thing1.se + (0.1,0)" .
+.I Name
+must be capitalized to keep
+.I pic
+happy.
+.PP
+.BI \&. "anything at beginning of
+.IR line :
+Copied verbatim.
+.PP
+.B sh
+.BI % anything
+.BR % :
+Pass everything between the
+.BR % 's
+to the shell;
+as with macros,
+.B %
+may be any character and
+.I anything
+may include newlines.
+The
+.B \-S
+option disables execution of the shell command;
+the
+.B \-U
+option reverts the effect of a previous
+.IR \-S .
+.PP
+.B #
+.IR anything :
+A comment, which is discarded.
+.PP
+Order is mostly irrelevant; no category is mandatory.
+Any arguments on the
+.B \&.G1
+line are placed on the generated
+.B \&.PS
+line for
+.IR pic .
+.\".SH EXAMPLES
+.\".EX
+.\".ps -1
+.\".vs -1
+.\"\&.G1
+.\"frame ht 1 top invis right invis
+.\"coord x 0, 10 y 1, 3 log y
+.\"ticks left in at 1 "bottommost tick", 2,3 "top tick"
+.\"ticks bot in from 0 to 10 by 2
+.\"label bot "silly graph"
+.\"label left "left side label" "here"
+.\"grid left dashed at 2.5
+.\"copy thru / circle at $1,$2 /
+.\"1 1
+.\"2 1.5
+.\"3 2
+.\"4 1.5
+.\"10 3
+.\"\&.G2
+.\".G1
+.\"frame ht 1 top invis right invis
+.\"coord x 0, 10 y 1, 3 log y
+.\"ticks left in at 1 "bottommost tick", 2,3 "top tick"
+.\"ticks bot in from 0 to 10 by 2
+.\"label bot "silly graph"
+.\"label left "left side label" "here"
+.\"grid left dashed at 2.5
+.\"copy thru / circle at $1,$2 /
+.\"1 1
+.\"2 1.5
+.\"3 2
+.\"4 1.5
+.\"10 3
+.\".G2
+.\".ps
+.\".vs
+.\".EE
+.SH FILES
+.TP
+.B /usr/ucblib/grap.defines
+definitions of standard plotting characters, e.g., bullet
+.\".SH SOURCE
+.\".B /sys/src/cmd/grap
+.SH "SEE ALSO"
+.IR pic (1),
+.IR troff (1)
+.br
+J. L. Bentley and B. W. Kernighan,
+``GRAP\(emA Language for Typesetting Graphs'',
+.I
+Unix Research System Programmer's Manual,
+Tenth Edition, Volume 2.
diff --git a/grap/grap.defines b/grap/grap.defines
new file mode 100644
index 0000000000000..ac13602695831
--- /dev/null
+++ b/grap/grap.defines
@@ -0,0 +1,26 @@
+#
+# Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+#
+# Derived from Plan 9 v4 /sys/lib/grap.defines
+#
+# Copyright (C) 2003, Lucent Technologies Inc. and others.
+# All Rights Reserved.
+#
+# Distributed under the terms of the Lucent Public License Version 1.02.
+#
+
+# Sccsid @(#)grap.defines 1.2 (gritter) 10/18/05
+
+# These definitions are right for the 202,
+# but might need fiddling elsewhere
+
+define bullet % "\s-5\(bu\s0" %
+define plus % "\s-3\(pl\s0" %
+define box % "\s-4\(bx\s0" %
+define star % "\(**" %
+define dot % "\v'-.2m'\s+4.\s0\v'.2m'" %
+define times % "\s-3\(mu\s0" %
+define htick % "\-" %
+define vtick % "\(or" %
+define square % "\s-3\(sq\s0" %
+define delta % "\s-3\(*D\s0" %
diff --git a/grap/grap.h b/grap/grap.h
new file mode 100644
index 0000000000000..cbba8eb38d0f0
--- /dev/null
+++ b/grap/grap.h
@@ -0,0 +1,257 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)grap.h 1.5 (gritter) 12/5/05 */
+extern void FATAL(const char *, ...);
+extern void WARNING(const char *, ...);
+
+#include "global.h"
+
+#define dprintf if(dbg)printf
+
+#define String 01
+#define Macro 02
+#define File 04
+#define Char 010
+#define Thru 020
+#define Free 040
+
+#define MARGIN 0.07 /* default margin around data */
+#define SLOP 1.001 /* slop for limits of for loops */
+#define FRAMEWID 3 /* default width for boxes and ellipses */
+#define FRAMEHT 2 /* default height and line length */
+#define TICKLEN 0.1
+
+#define MAXNUM 200
+
+#define XFLAG 01
+#define YFLAG 02
+
+#define INTICK 01
+#define OUTICK 02
+
+#define BOT 01
+#define TOP 02
+#define RIGHT 04
+#define LEFT 010
+
+#define RJUST 01
+#define LJUST 02
+#define ABOVE 04
+#define BELOW 010
+
+typedef struct infile {
+ FILE *fin;
+ char *fname;
+ int lineno;
+} Infile;
+
+typedef struct { /* input source */
+ int type; /* Macro, String, File */
+ char *sp; /* if String or Macro */
+} Src;
+
+extern Src src[], *srcp; /* input source stack */
+
+#define MAXARGS 100
+typedef struct { /* argument stack */
+ char *argstk[MAXARGS]; /* pointers to args */
+ char *argval; /* points to space containing args */
+} Arg;
+
+extern Infile infile[10];
+extern Infile *curfile;
+
+typedef struct {
+ struct obj *obj;
+ double x, y;
+} Point;
+
+typedef struct attr { /* e.g., DASH 1.1 or "..." rjust size *.5 */
+ int type;
+ double fval;
+ char *sval;
+ int just; /* justification, for STRING type */
+ int op; /* optional operator, ditto */
+ struct attr *next;
+} Attr;
+
+typedef struct obj { /* a name and its properties */
+ char *name;
+ char *val; /* body of define, etc. */
+ double fval; /* if a numeric variable */
+ Point pt; /* usually for max and min */
+ Point pt1;
+ int type; /* NAME, DEFNAME, ... */
+ int first; /* 1 after 1st item seen */
+ int coord; /* 1 if coord system specified for this name */
+ int log; /* x, y, or z (= x+y) */
+ Attr *attr; /* DASH, etc., for now */
+ struct obj *next;
+} Obj;
+
+#define YYSTYPE YYSTYPE
+typedef union { /* the yacc stack type */
+ int i;
+ char *p;
+ double f;
+ Point pt;
+ Obj *op;
+ Attr *ap;
+} YYSTYPE;
+
+extern YYSTYPE yylval;
+
+extern int dbg;
+
+extern int ntext;
+extern double num[MAXNUM];
+extern int nnum;
+extern int ntick, tside;
+
+extern char *tostring(char *);
+extern char *grow(char *, char *, int, int);
+
+extern int lineno;
+extern int synerr;
+extern int codegen;
+extern char tempfile[];
+extern FILE *tfd;
+extern int Sflag;
+
+extern Point ptmin, ptmax;
+
+extern char *dflt_coord;
+extern char *curr_coord;
+extern int ncoord;
+extern int auto_x;
+extern double margin;
+extern int autoticks;
+extern int pointsize, ps_set;
+
+
+#define logit(x) (x) = log10(x)
+#define Log10(x) errcheck(log10(x), "log")
+#define Exp(x) errcheck(exp(x), "exp")
+#define Sqrt(x) errcheck(sqrt(x), "sqrt")
+
+#define min(x,y) (((x) <= (y)) ? (x) : (y))
+#define max(x,y) (((x) >= (y)) ? (x) : (y))
+
+extern void yyerror(char *);
+extern void coord_x(Point);
+extern void coord_y(Point);
+extern void coordlog(int);
+extern void coord(Obj *);
+extern void resetcoord(Obj *);
+extern void savenum(int, double);
+extern void setjust(int);
+extern void setsize(int, double);
+extern void range(Point);
+extern void halfrange(Obj *, int, double);
+extern Obj *lookup(char *, int);
+extern double getvar(Obj *);
+extern double setvar(Obj *, double);
+extern Point makepoint(Obj *, double, double);
+extern Attr *makefattr(int, double);
+extern Attr *makesattr(char *);
+extern Attr *makeattr(int, double, char *, int, int);
+extern Attr *addattr(Attr *, Attr *);
+extern void freeattr(Attr *);
+extern char *slprint(Attr *);
+extern char *juststr(int);
+extern char *sprntf(char *, Attr *);
+extern void forloop(Obj *, double, double, int, double, char *);
+extern void nextfor(void);
+extern void endfor(void);
+extern char *ifstat(double, char *, char *);
+extern void frame(void);
+extern void frameht(double);
+extern void framewid(double);
+extern void frameside(int, Attr *);
+extern void pushsrc(int, char *);
+extern void popsrc(void);
+extern void definition(char *);
+extern char *delimstr(char *);
+extern int baldelim(int, char *);
+extern void dodef(Obj *);
+extern int getarg(char *);
+#ifdef FLEX_SCANNER
+extern int xxinput(void);
+extern int xxunput(int);
+#else /* !FLEX_SCANNER */
+#define input xxinput
+#define unput xxunput
+extern int input(void);
+extern int unput(int);
+#endif /* !FLEX_SCANNER */
+extern int nextchar(void);
+extern void do_thru(void);
+extern void pbstr(char *);
+extern double errcheck(double, char *);
+extern void yyerror(char *);
+extern void eprint(void);
+extern int yywrap(void);
+extern void copyfile(char *);
+extern void copydef(Obj *);
+extern Obj *copythru(char *);
+extern char *addnewline(char *);
+extern void copyuntil(char *);
+extern void copy(void);
+extern void shell_init(void);
+extern void shell_text(char *);
+extern void shell_exec(void);
+extern void labelwid(double);
+extern void labelmove(int, double);
+extern void label(int, Attr *);
+extern void lab_adjust(void);
+extern char *sizeit(Attr *);
+extern void line(int, Point, Point, Attr *);
+extern void circle(double, Point);
+extern char *xyname(Point);
+extern void pic(char *);
+extern void numlist(void);
+extern void plot(Attr *, Point);
+extern void plotnum(double, char *, Point);
+extern void drawdesc(int, Obj *, Attr *, char *);
+extern void next(Obj *, Point, Attr *);
+extern void print(void);
+extern void endstat(void);
+extern void graph(char *);
+extern void setup(void);
+extern void do_first(void);
+extern void reset(void);
+extern void opentemp(void);
+extern void savetick(double, char *);
+extern void dflt_tick(double);
+extern void tickside(int);
+extern void tickoff(int);
+extern void gridtickoff(void);
+extern void setlist(void);
+extern void tickdir(int, double, int);
+extern void ticks(void);
+extern double modfloor(double, double);
+extern double modceil(double, double);
+extern void do_autoticks(Obj *);
+extern void logtick(double, double, double);
+extern Obj *setauto(void);
+extern void autoside(Obj *, int);
+extern void autolog(Obj *, int);
+extern void iterator(double, double, int, double, char *);
+extern void ticklist(Obj *, int);
+extern void print_ticks(int, int, Obj *, char *, char *);
+extern void maketick(int, char *, int, int, double, char *, char *, char *);
+extern void griddesc(Attr *);
+extern void gridlist(Obj *);
+extern char *desc_str(Attr *);
+extern int sidelog(int, int);
+
+extern Obj *objlist;
diff --git a/grap/grap.y b/grap/grap.y
new file mode 100644
index 0000000000000..4c6fc9d4395e6
--- /dev/null
+++ b/grap/grap.y
@@ -0,0 +1,410 @@
+%{
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)grap.y 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include "grap.h"
+
+#ifndef RAND_MAX
+#define RAND_MAX 32767 /* if your rand() returns bigger, change this too */
+#endif
+
+extern int yylex(void);
+extern int yyparse(void);
+
+%}
+
+%token <i> FRAME TICKS GRID LABEL COORD
+%token <i> LINE ARROW CIRCLE DRAW NEW PLOT NEXT
+%token <p> PIC
+%token <i> COPY THRU UNTIL
+%token <i> FOR FROM TO BY AT WITH
+%token <i> IF
+%token <p> GRAPH THEN ELSE DOSTR
+%token <i> DOT DASH INVIS SOLID
+%token <i> TEXT JUST SIZE
+%token <i> LOG EXP SIN COS ATAN2 SQRT RAND MAX MIN INT PRINT SPRINTF
+%token <i> X Y SIDE IN OUT OFF UP DOWN ACROSS
+%token <i> HEIGHT WIDTH RADIUS
+%token <f> NUMBER
+%token <op> NAME VARNAME DEFNAME
+%token <p> STRING
+%token <i> ST '(' ')' ','
+
+%right <f> '='
+%left <f> OR
+%left <f> AND
+%nonassoc <f> GT LT LE GE EQ NE
+%left <f> '+' '-'
+%left <f> '*' '/' '%'
+%right <f> UMINUS NOT
+%right <f> '^'
+
+%type <f> expr optexpr if_expr number assign
+%type <i> optop
+%type <p> optstring if
+%type <op> optname iterator name
+%type <pt> point
+%type <i> side optside numlist comma linetype drawtype
+%type <ap> linedesc optdesc stringlist string stringattr sattrlist exprlist
+%type <i> frameitem framelist coordlog
+%type <f> string_expr
+
+%%
+
+top:
+ graphseq { if (codegen && !synerr) graph((char *) 0); }
+ | /* empty */ { codegen = 0; }
+ | error { codegen = 0; WARNING("syntax error"); }
+ ;
+
+graphseq:
+ statlist
+ | graph statlist
+ | graphseq graph statlist
+ ;
+graph:
+ GRAPH { graph($1); endstat(); }
+ ;
+
+statlist:
+ ST
+ | stat ST { endstat(); }
+ | statlist stat ST { endstat(); }
+ ;
+
+stat:
+ FRAME framelist { codegen = 1; }
+ | ticks { codegen = 1; }
+ | grid { codegen = 1; }
+ | label { codegen = 1; }
+ | coord
+ | plot { codegen = 1; }
+ | line { codegen = 1; }
+ | circle { codegen = 1; }
+ | draw
+ | next { codegen = 1; }
+ | PIC { codegen = 1; pic($1); }
+ | for
+ | if
+ | copy
+ | numlist { codegen = 1; numlist(); }
+ | assign
+ | PRINT expr { fprintf(stderr, "\t%g\n", $2); }
+ | PRINT string { fprintf(stderr, "\t%s\n", $2->sval); freeattr($2); }
+ | /* empty */
+ ;
+
+numlist:
+ number { savenum(0, $1); $$ = 1; }
+ | numlist number { savenum($1, $2); $$ = $1+1; }
+ | numlist comma number { savenum($1, $3); $$ = $1+1; }
+ ;
+number:
+ NUMBER
+ | '-' NUMBER %prec UMINUS { $$ = -$2; }
+ | '+' NUMBER %prec UMINUS { $$ = $2; }
+ ;
+
+label:
+ LABEL optside stringlist lablist { label($2, $3); }
+ ;
+lablist:
+ labattr
+ | lablist labattr
+ | /* empty */
+ ;
+labattr:
+ UP expr { labelmove($1, $2); }
+ | DOWN expr { labelmove($1, $2); }
+ | SIDE expr { labelmove($1, $2); /* LEFT or RIGHT only */ }
+ | WIDTH expr { labelwid($2); }
+ ;
+
+framelist:
+ framelist frameitem
+ | /* empty */ { $$ = 0; }
+ ;
+frameitem:
+ HEIGHT expr { frameht($2); }
+ | WIDTH expr { framewid($2); }
+ | side linedesc { frameside($1, $2); }
+ | linedesc { frameside(0, $1); }
+ ;
+side:
+ SIDE
+ ;
+optside:
+ side
+ | /* empty */ { $$ = 0; }
+ ;
+
+linedesc:
+ linetype optexpr { $$ = makeattr($1, $2, (char *) 0, 0, 0); }
+ ;
+linetype:
+ DOT | DASH | SOLID | INVIS
+ ;
+optdesc:
+ linedesc
+ | /* empty */ { $$ = makeattr(0, 0.0, (char *) 0, 0, 0); }
+ ;
+
+ticks:
+ TICKS tickdesc { ticks(); }
+ ;
+tickdesc:
+ tickattr
+ | tickdesc tickattr
+ ;
+tickattr:
+ side { tickside($1); }
+ | IN expr { tickdir(IN, $2, 1); }
+ | OUT expr { tickdir(OUT, $2, 1); }
+ | IN { tickdir(IN, 0.0, 0); }
+ | OUT { tickdir(OUT, 0.0, 0); }
+ | AT optname ticklist { setlist(); ticklist($2, AT); }
+ | iterator { setlist(); ticklist($1, AT); }
+ | side OFF { tickoff($1); }
+ | OFF { tickoff(LEFT|RIGHT|TOP|BOT); }
+ | labattr
+ ;
+ticklist:
+ tickpoint
+ | ticklist comma tickpoint
+ ;
+tickpoint:
+ expr { savetick($1, (char *) 0); }
+ | expr string { savetick($1, $2->sval); }
+ ;
+iterator:
+ FROM optname expr TO optname expr BY optop expr optstring
+ { iterator($3, $6, $8, $9, $10); $$ = $2; }
+ | FROM optname expr TO optname expr optstring
+ { iterator($3, $6, '+', 1.0, $7); $$ = $2; }
+ ;
+optop:
+ '+' { $$ = '+'; }
+ | '-' { $$ = '-'; }
+ | '*' { $$ = '*'; }
+ | '/' { $$ = '/'; }
+ | /* empty */ { $$ = ' '; }
+ ;
+optstring:
+ string { $$ = $1->sval; }
+ | /* empty */ { $$ = (char *) 0; }
+ ;
+
+grid:
+ GRID griddesc { ticks(); }
+ ;
+griddesc:
+ gridattr
+ | griddesc gridattr
+ ;
+gridattr:
+ side { tickside($1); }
+ | X { tickside(BOT); }
+ | Y { tickside(LEFT); }
+ | linedesc { griddesc($1); }
+ | AT optname ticklist { setlist(); gridlist($2); }
+ | iterator { setlist(); gridlist($1); }
+ | TICKS OFF { gridtickoff(); }
+ | OFF { gridtickoff(); }
+ | labattr
+ ;
+
+line:
+ LINE FROM point TO point optdesc { line($1, $3, $5, $6); }
+ | LINE optdesc FROM point TO point { line($1, $4, $6, $2); }
+ ;
+circle:
+ CIRCLE RADIUS expr AT point { circle($3, $5); }
+ | CIRCLE AT point RADIUS expr { circle($5, $3); }
+ | CIRCLE AT point { circle(0.0, $3); }
+ ;
+
+stringlist:
+ string
+ | stringlist string { $$ = addattr($1, $2); }
+ ;
+string:
+ STRING sattrlist { $$ = makesattr($1); }
+ | SPRINTF '(' STRING ')' sattrlist
+ { $$ = makesattr(sprntf($3, (Attr*) 0)); }
+ | SPRINTF '(' STRING ',' exprlist ')' sattrlist
+ { $$ = makesattr(sprntf($3, $5)); }
+ ;
+exprlist:
+ expr { $$ = makefattr(NUMBER, $1); }
+ | exprlist ',' expr { $$ = addattr($1, makefattr(NUMBER, $3)); }
+ ;
+sattrlist:
+ stringattr
+ | sattrlist stringattr
+ | /* empty */ { $$ = (Attr *) 0; }
+ ;
+stringattr:
+ JUST { setjust($1); }
+ | SIZE optop expr { setsize($2, $3); }
+ ;
+
+coord:
+ COORD optname coordlist { coord($2); }
+ | COORD optname { resetcoord($2); }
+ ;
+coordlist:
+ coorditem
+ | coordlist coorditem
+ ;
+coorditem:
+ coordlog { coordlog($1); }
+ | X point { coord_x($2); }
+ | Y point { coord_y($2); }
+ | X optname expr TO expr { coord_x(makepoint($2, $3, $5)); }
+ | Y optname expr TO expr { coord_y(makepoint($2, $3, $5)); }
+ | X FROM optname expr TO expr { coord_x(makepoint($3, $4, $6)); }
+ | Y FROM optname expr TO expr { coord_y(makepoint($3, $4, $6)); }
+ ;
+coordlog:
+ LOG X { $$ = XFLAG; }
+ | LOG Y { $$ = YFLAG; }
+ | LOG X LOG Y { $$ = XFLAG|YFLAG; }
+ | LOG Y LOG X { $$ = XFLAG|YFLAG; }
+ | LOG LOG { $$ = XFLAG|YFLAG; }
+ ;
+
+plot:
+ stringlist AT point { plot($1, $3); }
+ | PLOT stringlist AT point { plot($2, $4); }
+ | PLOT expr optstring AT point { plotnum($2, $3, $5); }
+ ;
+
+draw:
+ drawtype optname linedesc { drawdesc($1, $2, $3, (char *) 0); }
+ | drawtype optname optdesc string { drawdesc($1, $2, $3, $4->sval); }
+ | drawtype optname string optdesc { drawdesc($1, $2, $4, $3->sval); }
+ ;
+drawtype:
+ DRAW
+ | NEW
+ ;
+
+next:
+ NEXT optname AT point optdesc { next($2, $4, $5); }
+
+copy:
+ COPY copylist { copy(); }
+ ;
+copylist:
+ copyattr
+ | copylist copyattr
+ ;
+copyattr:
+ string { copyfile($1->sval); }
+ | THRU DEFNAME { copydef($2); }
+ | UNTIL string { copyuntil($2->sval); }
+ ;
+
+for:
+ FOR name FROM expr TO expr BY optop expr DOSTR
+ { forloop($2, $4, $6, $8, $9, $10); }
+ | FOR name FROM expr TO expr DOSTR
+ { forloop($2, $4, $6, '+', 1.0, $7); }
+ | FOR name '=' expr TO expr BY optop expr DOSTR
+ { forloop($2, $4, $6, $8, $9, $10); }
+ | FOR name '=' expr TO expr DOSTR
+ { forloop($2, $4, $6, '+', 1.0, $7); }
+ ;
+
+if:
+ IF if_expr THEN ELSE { $$ = ifstat($2, $3, $4); }
+ | IF if_expr THEN { $$ = ifstat($2, $3, (char *) 0); }
+ ;
+if_expr:
+ expr
+ | string_expr
+ | if_expr AND string_expr { $$ = $1 && $3; }
+ | if_expr OR string_expr { $$ = $1 || $3; }
+ ;
+string_expr:
+ STRING EQ STRING { $$ = strcmp($1,$3) == 0; free($1); free($3); }
+ | STRING NE STRING { $$ = strcmp($1,$3) != 0; free($1); free($3); }
+ ;
+
+point:
+ optname expr comma expr { $$ = makepoint($1, $2, $4); }
+ | optname '(' expr comma expr ')' { $$ = makepoint($1, $3, $5); }
+ ;
+comma:
+ ',' { $$ = ','; }
+ ;
+
+optname:
+ NAME { $$ = $1; }
+ | /* empty */ { $$ = lookup(curr_coord, 1); }
+ ;
+
+expr:
+ NUMBER
+ | assign
+ | '(' string_expr ')' { $$ = $2; }
+ | VARNAME { $$ = getvar($1); }
+ | expr '+' expr { $$ = $1 + $3; }
+ | expr '-' expr { $$ = $1 - $3; }
+ | expr '*' expr { $$ = $1 * $3; }
+ | expr '/' expr { if ($3 == 0.0) {
+ WARNING("division by 0"); $3 = 1; }
+ $$ = $1 / $3; }
+ | expr '%' expr { if ((long)$3 == 0) {
+ WARNING("mod division by 0"); $3 = 1; }
+ $$ = (long)$1 % (long)$3; }
+ | '-' expr %prec UMINUS { $$ = -$2; }
+ | '+' expr %prec UMINUS { $$ = $2; }
+ | '(' expr ')' { $$ = $2; }
+ | LOG '(' expr ')' { $$ = Log10($3); }
+ | EXP '(' expr ')' { $$ = Exp($3 * log(10.0)); }
+ | expr '^' expr { $$ = pow($1, $3); }
+ | SIN '(' expr ')' { $$ = sin($3); }
+ | COS '(' expr ')' { $$ = cos($3); }
+ | ATAN2 '(' expr ',' expr ')' { $$ = atan2($3, $5); }
+ | SQRT '(' expr ')' { $$ = Sqrt($3); }
+ | RAND '(' ')' { $$ = (double)random() / (double)RAND_MAX; }
+ | MAX '(' expr ',' expr ')' { $$ = $3 >= $5 ? $3 : $5; }
+ | MIN '(' expr ',' expr ')' { $$ = $3 <= $5 ? $3 : $5; }
+ | INT '(' expr ')' { $$ = (long) $3; }
+ | expr GT expr { $$ = $1 > $3; }
+ | expr LT expr { $$ = $1 < $3; }
+ | expr LE expr { $$ = $1 <= $3; }
+ | expr GE expr { $$ = $1 >= $3; }
+ | expr EQ expr { $$ = $1 == $3; }
+ | expr NE expr { $$ = $1 != $3; }
+ | expr AND expr { $$ = $1 && $3; }
+ | expr OR expr { $$ = $1 || $3; }
+ | NOT expr { $$ = !($2); }
+ ;
+assign:
+ name '=' expr { $$ = setvar($1, $3); }
+ ;
+
+name:
+ NAME
+ | VARNAME
+ ;
+
+optexpr:
+ expr
+ | /* empty */ { $$ = 0.0; }
+ ;
diff --git a/grap/grapl.l b/grap/grapl.l
new file mode 100644
index 0000000000000..763537270e89a
--- /dev/null
+++ b/grap/grapl.l
@@ -0,0 +1,246 @@
+%{
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)grapl.l 1.4 (gritter) 11/22/05 */
+%}
+%Start A str def thru sh
+
+%{
+#ifndef FLEX_SCANNER
+#undef input
+#undef unput
+#endif /* !FLEX_SCANNER */
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <unistd.h>
+#include "grap.h"
+#include "y.tab.h"
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+#define YY_INPUT(buf, result, max_size) { \
+ int c = xxinput(); \
+ result = (c == EOF || c == 0) ? YY_NULL : (buf[0] = c, 1); \
+}
+#define witchcraft YY_START
+#else /* !FLEX_SCANNER */
+#define witchcraft yybgin-yysvec-1
+#endif /* !FLEX_SCANNER */
+
+int yyback(int *, int);
+int yylook(void);
+int yywrap(void);
+void shell_init(void), shell_exec(void), shell_text(char *);
+
+#define CADD cbuf[clen++] = yytext[0]; \
+ if (clen >= CBUFLEN-1) { \
+ WARNING("string too long", cbuf); BEGIN A; }
+#define CBUFLEN 1500
+char cbuf[CBUFLEN];
+int clen, cflag;
+int c, delim, shcnt;
+%}
+
+A [a-zA-Z_]
+B [a-zA-Z0-9_]
+D [0-9]
+WS [ \t]
+
+%%
+ if (witchcraft == 0) {
+ BEGIN A;
+ }
+
+<A>{WS} ;
+<A>"\\"\n ;
+<A>\n return(ST);
+<A>";" return(ST);
+
+<A>line return(yylval.i = LINE);
+<A>arrow { yylval.i = ARROW; return(LINE); }
+<A>circle return(yylval.i = CIRCLE);
+<A>frame return(FRAME);
+<A>tick(s)? return(TICKS);
+<A>grid(line)?(s)? return(GRID);
+<A>coord(s)? return(COORD);
+<A>log return(LOG);
+<A>exp return(EXP);
+<A>sin return(SIN);
+<A>cos return(COS);
+<A>atan2 return(ATAN2);
+<A>sqrt return(SQRT);
+<A>rand return(RAND);
+<A>max return(MAX);
+<A>min return(MIN);
+<A>int return(INT);
+<A>print return(PRINT);
+<A>sprintf return(SPRINTF);
+<A>pic{WS}.* { yylval.p = tostring(yytext+3); return(PIC); }
+<A>graph{WS}.* { yylval.p = tostring(yytext+5); return(GRAPH); }
+
+<A>for return(FOR);
+<A>^Endfor\n { endfor(); }
+<A>do { yylval.p = delimstr("loop body"); BEGIN A; return(DOSTR); }
+
+<A>copy|include { return(COPY); }
+<A>thru|through { BEGIN thru; return(THRU); }
+<thru>{WS}+ ;
+<thru>{A}{B}*|. { yylval.op = copythru(yytext); BEGIN A; return(DEFNAME); }
+<A>until return(UNTIL);
+
+<A>if return(IF);
+<A>then { yylval.p = delimstr("then part"); BEGIN A; return(THEN); }
+<A>else { yylval.p = delimstr("else part"); BEGIN A; return(ELSE); }
+
+<A>next return(NEXT);
+<A>draw return(yylval.i = DRAW);
+<A>new return(yylval.i = NEW);
+<A>plot return(yylval.i = PLOT);
+<A>label(s)? return(LABEL);
+<A>x return(X);
+<A>y return(Y);
+
+<A>top { yylval.i = TOP; return SIDE; }
+<A>bot(tom)? { yylval.i = BOT; return SIDE; }
+<A>left { yylval.i = LEFT; return SIDE; }
+<A>right { yylval.i = RIGHT; return SIDE; }
+<A>up return(yylval.i = UP);
+<A>down return(yylval.i = DOWN);
+<A>across return(yylval.i = ACROSS);
+<A>height|ht return(yylval.i = HEIGHT);
+<A>wid(th)? return(yylval.i = WIDTH);
+<A>rad(ius)? return(yylval.i = RADIUS);
+<A>invis return(yylval.i = INVIS);
+<A>dot(ted) return(yylval.i = DOT);
+<A>dash(ed) return(yylval.i = DASH);
+<A>solid return(yylval.i = SOLID);
+
+<A>ljust { yylval.i = LJUST; return JUST; }
+<A>rjust { yylval.i = RJUST; return JUST; }
+<A>above { yylval.i = ABOVE; return JUST; }
+<A>below { yylval.i = BELOW; return JUST; }
+<A>size return(yylval.i = SIZE);
+
+<A>from return(yylval.i = FROM);
+<A>to return(yylval.i = TO);
+<A>by|step return(yylval.i = BY);
+<A>at return(yylval.i = AT);
+<A>with return(yylval.i = WITH);
+<A>in return(yylval.i = IN);
+<A>out return(yylval.i = OUT);
+<A>off return(yylval.i = OFF);
+
+<A>sh{WS}+ { BEGIN sh;
+ if ((delim = input()) == '{') {
+ shcnt = 1;
+ delim = '}';
+ }
+ shell_init();
+ }
+<sh>{A}{B}* {
+ int c;
+ Obj *p;
+ if (yytext[0] == delim) {
+ shell_exec();
+ BEGIN A;
+ } else {
+ p = lookup(yytext, 0);
+ if (p != NULL && p->type == DEFNAME) {
+ c = input();
+ xxunput(c);
+ if (c == '(')
+ dodef(p);
+ else
+ pbstr(p->val);
+ } else
+ shell_text(yytext);
+ }
+ }
+<sh>"{" { shcnt++; shell_text(yytext); }
+<sh>"}" { if (delim != '}' || --shcnt > 0)
+ shell_text(yytext);
+ else {
+ shell_exec();
+ BEGIN A;
+ }
+ }
+<sh>.|\n { if (yytext[0] == delim) {
+ shell_exec();
+ BEGIN A;
+ } else
+ shell_text(yytext);
+ }
+
+<A>define{WS}+ { BEGIN def; }
+<def>{A}{B}* { definition(yytext); BEGIN A; }
+
+<A>({D}+("."?){D}*|"."{D}+)((e|E)("+"|-)?{D}+)?i? {
+ yylval.f = atof(yytext); return(NUMBER); }
+
+<A>^"."[^0-9].* { if (yytext[1] == 'G' && yytext[2] == '2') {
+ yylval.i = yytext[2];
+ return(EOF);
+ } else {
+ yylval.p = tostring(yytext);
+ return(PIC);
+ }
+ }
+
+<A>{A}{B}* {
+ int c;
+ Obj *p;
+ p = lookup(yytext, 1);
+ if (p->type == DEFNAME) {
+ c = input();
+ xxunput(c);
+ if (c == '(') /* it's name(...) */
+ dodef(p);
+ else /* no argument list */
+ pbstr(p->val);
+ } else {
+ yylval.op = p;
+ return p->type; /* NAME or VARNAME */
+ }
+ }
+
+<A>"==" return(EQ);
+<A>">=" return(GE);
+<A>"<=" return(LE);
+<A>"!=" return(NE);
+<A>">" return(GT);
+<A>"<" return(LT);
+<A>"&&" return(AND);
+<A>"||" return(OR);
+<A>"!" return(NOT);
+
+<A>\" { BEGIN str; clen = 0; }
+
+<A>#.* ;
+
+<A>. { yylval.i = yytext[0]; return(yytext[0]); }
+
+<str>\" { BEGIN A; cbuf[clen] = 0;
+ yylval.p = tostring(cbuf); return(STRING); }
+<str>\n { WARNING("newline in string"); BEGIN A; return(ST); }
+<str>"\\\"" { cbuf[clen++] = '\\'; cbuf[clen++] = '"'; }
+<str>"\\\\" { cbuf[clen++] = '\\'; cbuf[clen++] = '\\'; }
+<str>. { CADD; }
+
+%%
+
+#ifdef FLEX_SCANNER
+void xxcruft(void)
+{
+ unput(0);
+}
+#endif /* FLEX_SCANNER */
diff --git a/grap/input.c b/grap/input.c
new file mode 100644
index 0000000000000..33451da2cb440
--- /dev/null
+++ b/grap/input.c
@@ -0,0 +1,628 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)input.c 1.7 (gritter) 12/25/06 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include "grap.h"
+#include "y.tab.h"
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+Infile infile[10];
+Infile *curfile = infile;
+
+#define MAXSRC 50
+Src src[MAXSRC]; /* input source stack */
+Src *srcp = src;
+
+void pushsrc(int type, char *ptr) /* new input source */
+{
+ if (++srcp >= src + MAXSRC)
+ FATAL("inputs nested too deep");
+ srcp->type = type;
+ srcp->sp = ptr;
+ if (dbg) {
+ printf("\n%3d ", (int)(srcp - src));
+ switch (srcp->type) {
+ case File:
+ printf("push file %s\n", ((Infile *)ptr)->fname);
+ break;
+ case Macro:
+ printf("push macro <%s>\n", ptr);
+ break;
+ case Char:
+ printf("push char <%c>\n", *ptr);
+ break;
+ case Thru:
+ printf("push thru\n");
+ break;
+ case String:
+ printf("push string <%s>\n", ptr);
+ break;
+ case Free:
+ printf("push free <%s>\n", ptr);
+ break;
+ default:
+ FATAL("pushed bad type %d", srcp->type);
+ }
+ }
+}
+
+void popsrc(void) /* restore an old one */
+{
+ if (srcp <= src)
+ FATAL("too many inputs popped");
+ if (dbg) {
+ printf("%3d ", (int)(srcp - src));
+ switch (srcp->type) {
+ case File:
+ printf("pop file\n");
+ break;
+ case Macro:
+ printf("pop macro\n");
+ break;
+ case Char:
+ printf("pop char <%c>\n", *srcp->sp);
+ break;
+ case Thru:
+ printf("pop thru\n");
+ break;
+ case String:
+ printf("pop string\n");
+ break;
+ case Free:
+ printf("pop free\n");
+ break;
+ default:
+ FATAL("pop weird input %d", srcp->type);
+ }
+ }
+ srcp--;
+}
+
+void definition(char *s) /* collect definition for s and install */
+ /* definitions picked up lexically */
+{
+ char *p;
+ Obj *stp;
+
+ p = delimstr("definition");
+ stp = lookup(s, 0);
+ if (stp != NULL) { /* it's there before */
+ if (stp->type != DEFNAME) {
+ WARNING("%s used as variable and definition", s);
+ return;
+ }
+ free(stp->val);
+ } else {
+ stp = lookup(s, 1);
+ stp->type = DEFNAME;
+ }
+ stp->val = p;
+ dprintf("installing %s as `%s'\n", s, p);
+}
+
+char *delimstr(char *s) /* get body of X ... X */
+ /* message if too big */
+{
+ int c, delim, rdelim, n, deep;
+ static char *buf = NULL;
+ static int nbuf = 0;
+ char *p;
+
+ if (buf == NULL)
+ buf = grow(buf, "buf", nbuf += 1000, sizeof(buf[0]));
+ while ((delim = input()) == ' ' || delim == '\t' || delim == '\n')
+ ;
+ rdelim = baldelim(delim, "{}"); /* could be "(){}[]`'" */
+ deep = 1;
+ for (p = buf; ; ) {
+ c = input();
+ if (c == rdelim)
+ if (--deep == 0)
+ break;
+ if (c == delim)
+ deep++;
+ if (p >= buf + nbuf) {
+ n = p - buf;
+ buf = grow(buf, "buf", nbuf += 1000, sizeof(buf[0]));
+ p = buf + n;
+ }
+ if (c == EOF)
+ FATAL("end of file in %s %c %.20s... %c", s, delim, buf, delim);
+ *p++ = c;
+ }
+ *p = '\0';
+ dprintf("delimstr %s %c <%s> %c\n", s, delim, buf, delim);
+ return tostring(buf);
+}
+
+int baldelim(int c, char *s) /* replace c by balancing entry in s */
+{
+ for ( ; *s; s += 2)
+ if (*s == c)
+ return s[1];
+ return c;
+}
+
+Arg args[10]; /* argument frames */
+Arg *argfp = args; /* frame pointer */
+int argcnt; /* number of arguments seen so far */
+
+void dodef(Obj *stp) /* collect args and switch input to defn */
+{
+ int i, len;
+ char *p;
+ Arg *ap;
+
+ ap = argfp+1;
+ if (ap >= args+10)
+ FATAL("arguments too deep");
+ argcnt = 0;
+ if (input() != '(')
+ FATAL("disaster in dodef");
+ if (ap->argval == 0)
+ ap->argval = malloc(1000);
+ for (p = ap->argval; (len = getarg(p)) != -1; p += len) {
+ ap->argstk[argcnt++] = p;
+ if (input() == ')')
+ break;
+ }
+ for (i = argcnt; i < MAXARGS; i++)
+ ap->argstk[i] = "";
+ if (dbg)
+ for (i = 0; i < argcnt; i++)
+ printf("arg %d.%d = <%s>\n", (int)(ap-args), i+1, ap->argstk[i]);
+ argfp = ap;
+ pushsrc(Macro, stp->val);
+}
+
+int getarg(char *p) /* pick up single argument, store in p, return length */
+{
+ int n, c, npar;
+
+ n = npar = 0;
+ for ( ;; ) {
+ c = input();
+ if (c == EOF)
+ FATAL("end of file in getarg!");
+ if (npar == 0 && (c == ',' || c == ')'))
+ break;
+ if (c == '"') /* copy quoted stuff intact */
+ do {
+ *p++ = c;
+ n++;
+ } while ((c = input()) != '"' && c != EOF);
+ else if (c == '(')
+ npar++;
+ else if (c == ')')
+ npar--;
+ n++;
+ *p++ = c;
+ }
+ *p = 0;
+ unput(c);
+ return(n + 1);
+}
+
+#define PBSIZE 2000
+char pbuf[PBSIZE]; /* pushback buffer */
+char *pb = pbuf-1; /* next pushed back character */
+
+char ebuf[200]; /* collect input here for error reporting */
+char *ep = ebuf;
+
+int begin = 0;
+extern int thru;
+extern Obj *thrudef;
+extern char *untilstr;
+
+int input(void)
+{
+ register int c;
+
+ if (thru && begin) {
+ do_thru();
+ begin = 0;
+ }
+ c = nextchar();
+ dprintf(" <%c>", c);
+ if (ep >= ebuf + sizeof ebuf)
+ ep = ebuf;
+ return (*ep++ = c) & 0377;
+}
+
+int nextchar(void)
+{
+ register int c = 0;
+
+ loop:
+ switch (srcp->type) {
+ case Free: /* free string */
+ free(srcp->sp);
+ popsrc();
+ goto loop;
+ case Thru: /* end of pushed back line */
+ begin = 1;
+ popsrc();
+ c = '\n';
+ break;
+ case Char:
+ if (pb >= pbuf) {
+ c = *pb--;
+ popsrc();
+ break;
+ } else { /* can't happen? */
+ popsrc();
+ goto loop;
+ }
+ case String:
+ c = *srcp->sp++;
+ if (c == '\0') {
+ popsrc();
+ goto loop;
+ } else {
+ if (*srcp->sp == '\0') /* empty, so pop */
+ popsrc();
+ break;
+ }
+ case Macro:
+ c = *srcp->sp++;
+ if (c == '\0') {
+ if (--argfp < args)
+ FATAL("argfp underflow");
+ popsrc();
+ goto loop;
+ } else if (c == '$' && isdigit((int)*srcp->sp)) { /* $3 */
+ int n = 0;
+ while (isdigit((int)*srcp->sp))
+ n = 10 * n + *srcp->sp++ - '0';
+ if (n > 0 && n <= MAXARGS)
+ pushsrc(String, argfp->argstk[n-1]);
+ goto loop;
+ }
+ break;
+ case File:
+ c = getc(curfile->fin);
+ if (c == EOF) {
+ if (curfile == infile)
+ FATAL("end of file inside .G1/.G2");
+ if (curfile->fin != stdin) {
+ fclose(curfile->fin);
+ free(curfile->fname); /* assumes allocated */
+ }
+ curfile--;
+ printf(".lf %d %s\n", curfile->lineno, curfile->fname);
+ popsrc();
+ thru = 0; /* chicken out */
+ thrudef = 0;
+ if (untilstr) {
+ free(untilstr);
+ untilstr = 0;
+ }
+ goto loop;
+ }
+ if (c == '\n')
+ curfile->lineno++;
+ break;
+ }
+ return c;
+}
+
+void do_thru(void) /* read one line, make into a macro expansion */
+{
+ int c, i;
+ char *p;
+ Arg *ap;
+
+ ap = argfp+1;
+ if (ap >= args+10)
+ FATAL("arguments too deep");
+ if (ap->argval == NULL)
+ ap->argval = malloc(1000);
+ p = ap->argval;
+ argcnt = 0;
+ c = nextchar();
+ if (thru == 0) { /* end of file was seen, so thru is done */
+ unput(c);
+ return;
+ }
+ for ( ; c != '\n' && c != EOF; ) {
+ if (c == ' ' || c == '\t') {
+ c = nextchar();
+ continue;
+ }
+ if (argcnt >= MAXARGS)
+ FATAL("too many fields on input line");
+ ap->argstk[argcnt++] = p;
+ if (c == '"') {
+ do {
+ *p++ = c;
+ if ((c = nextchar()) == '\\') {
+ *p++ = c;
+ *p++ = nextchar();
+ c = nextchar();
+ }
+ } while (c != '"' && c != '\n' && c != EOF);
+ *p++ = '"';
+ if (c == '"')
+ c = nextchar();
+ } else {
+ do {
+ *p++ = c;
+ } while ((c = nextchar())!=' ' && c!='\t' && c!='\n' && c!=',' && c!=EOF);
+ if (c == ',')
+ c = nextchar();
+ }
+ *p++ = '\0';
+ }
+ if (c == EOF)
+ FATAL("unexpected end of file in do_thru");
+ if (argcnt == 0) { /* ignore blank line */
+ pushsrc(Thru, (char *) 0);
+ return;
+ }
+ for (i = argcnt; i < MAXARGS; i++)
+ ap->argstk[i] = "";
+ if (dbg)
+ for (i = 0; i < argcnt; i++)
+ printf("arg %d.%d = <%s>\n", (int)(ap-args), i+1, ap->argstk[i]);
+ if (strcmp(ap->argstk[0], ".G2") == 0) {
+ thru = 0;
+ thrudef = 0;
+ pushsrc(String, "\n.G2\n");
+ return;
+ }
+ if (untilstr && strcmp(ap->argstk[0], untilstr) == 0) {
+ thru = 0;
+ thrudef = 0;
+ free(untilstr);
+ untilstr = 0;
+ return;
+ }
+ pushsrc(Thru, (char *) 0);
+ dprintf("do_thru pushing back <%s>\n", thrudef->val);
+ argfp = ap;
+ pushsrc(Macro, thrudef->val);
+}
+
+int unput(int c)
+{
+ if (++pb >= pbuf + sizeof pbuf)
+ FATAL("pushback overflow");
+ if (--ep < ebuf)
+ ep = ebuf + sizeof(ebuf) - 1;
+ *pb = c;
+ pushsrc(Char, pb);
+ return c;
+}
+
+void pbstr(char *s)
+{
+ pushsrc(String, s);
+}
+
+double errcheck(double x, char *s)
+{
+ if (errno == EDOM) {
+ errno = 0;
+ WARNING("%s argument out of domain", s);
+ } else if (errno == ERANGE) {
+ errno = 0;
+ WARNING("%s result out of range", s);
+ }
+ return x;
+}
+
+char errbuf[200];
+
+void yyerror(char *s)
+{
+ extern char *cmdname;
+ int ern = errno; /* cause some libraries clobber it */
+
+ if (synerr)
+ return;
+ fflush(stdout);
+ fprintf(stderr, "%s: %s", cmdname, s);
+ if (ern > 0) {
+ errno = ern;
+ perror("???");
+ }
+ fprintf(stderr, " near %s:%d\n",
+ curfile->fname, curfile->lineno+1);
+ eprint();
+ synerr = 1;
+ errno = 0;
+}
+
+void eprint(void) /* try to print context around error */
+{
+ char *p, *q;
+
+ p = ep - 1;
+ if (p > ebuf && *p == '\n')
+ p--;
+ for ( ; p >= ebuf && *p != '\n'; p--)
+ ;
+ while (*p == '\n')
+ p++;
+ fprintf(stderr, " context is\n\t");
+ for (q=ep-1; q>=p && *q!=' ' && *q!='\t' && *q!='\n'; q--)
+ ;
+ for (; p < q; p++)
+ if (isprint((int)*p))
+ putc(*p, stderr);
+ fprintf(stderr, " >>> ");
+ for (; p < q; p++)
+ if (isprint((int)*p))
+ putc(*p, stderr);
+ fprintf(stderr, " <<< ");
+ while (pb >= pbuf)
+ putc(*pb--, stderr);
+ fgets(ebuf, sizeof ebuf, curfile->fin);
+ fprintf(stderr, "%s", ebuf);
+ pbstr("\n.G2\n"); /* safety first */
+ ep = ebuf;
+}
+
+int yywrap(void) {return 1;}
+
+char *newfile = 0; /* filename for file copy */
+char *untilstr = 0; /* string that terminates a thru */
+int thru = 0; /* 1 if copying thru macro */
+Obj *thrudef = 0; /* macro being used */
+
+void copyfile(char *s) /* remember file to start reading from */
+{
+ newfile = s;
+}
+
+void copydef(Obj *p) /* remember macro Obj */
+{
+ thrudef = p;
+}
+
+Obj *copythru(char *s) /* collect the macro name or body for thru */
+{
+ Obj *p;
+ char *q;
+
+ p = lookup(s, 0);
+ if (p != NULL) {
+ if (p->type == DEFNAME) {
+ p->val = addnewline(p->val);
+ return p;
+ } else
+ FATAL("%s used as define and name", s);
+ }
+ /* have to collect the definition */
+ pbstr(s); /* first char is the delimiter */
+ q = delimstr("thru body");
+ p = lookup("nameless", 1);
+ if (p != NULL)
+ if (p->val)
+ free(p->val);
+ p->type = DEFNAME;
+ p->val = q;
+ p->val = addnewline(p->val);
+ dprintf("installing nameless as `%s'\n", p->val);
+ return p;
+}
+
+char *addnewline(char *p) /* add newline to end of p */
+{
+ int n;
+
+ n = strlen(p);
+ if (p[n-1] != '\n') {
+ p = realloc(p, n+2);
+ p[n] = '\n';
+ p[n+1] = '\0';
+ }
+ return p;
+}
+
+void copyuntil(char *s) /* string that terminates a thru */
+{
+ untilstr = s;
+}
+
+void copy(void) /* begin input from file, etc. */
+{
+ FILE *fin;
+
+ if (newfile) {
+ if ((fin = fopen(newfile, "r")) == NULL)
+ FATAL("can't open file %s", newfile);
+ curfile++;
+ curfile->fin = fin;
+ curfile->fname = tostring(newfile);
+ curfile->lineno = 0;
+ printf(".lf 1 %s\n", curfile->fname);
+ pushsrc(File, curfile->fname);
+ newfile = 0;
+ }
+ if (thrudef) {
+ thru = 1;
+ begin = 1; /* wrong place */
+ }
+}
+
+char shellbuf[1000], *shellp;
+
+void shell_init(void) /* set up to interpret a shell command */
+{
+ fprintf(tfd, "# shell cmd...\n");
+ shellp = shellbuf;
+}
+
+void shell_text(char *s) /* add string to command being collected */
+{
+ /* fprintf(tfd, "#add <%s> to <%s>\n", s, shellbuf); */
+ while (*s) {
+ if (shellp+5 >= &shellbuf[sizeof shellbuf])
+ FATAL("shell command too long");
+ if (*s == '\'') { /* protect interior quotes */
+ *shellp++ = '\'';
+ *shellp++ = '\\';
+ *shellp++ = '\'';
+ }
+ *shellp++ = *s++;
+ }
+}
+
+void shell_exec(void) /* do it */
+{
+ /* fprintf(tfd, "# run <%s>\n", shellbuf); */
+ *shellp = '\0';
+ if (Sflag)
+ WARNING("-S inhibited execution of shell command");
+ else
+ system(shellbuf);
+}
+
+#define LSIZE 128
+
+char *fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = realloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = realloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
diff --git a/grap/label.c b/grap/label.c
new file mode 100644
index 0000000000000..a633597ba14ae
--- /dev/null
+++ b/grap/label.c
@@ -0,0 +1,140 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)label.c 1.2 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <string.h>
+#include "grap.h"
+#include "y.tab.h"
+
+int pointsize = 10; /* assumed pointsize to start */
+int ps_set = 0; /* someone has set pointsize explicitly */
+
+double textht = 1.0/6.0; /* 6 lines/inch */
+double textwid = 1; /* width of text box for vertical */
+
+double lab_up = 0.0; /* extra motion for label */
+double lab_rt = 0.0; /* extra motion for label */
+double lab_wid = 0.0; /* override default width computation */
+
+void labelwid(double amt)
+{
+ lab_wid = amt + .00001;
+}
+
+void labelmove(int dir, double amt) /* record direction & motion of position corr */
+{
+ switch (dir) {
+ case UP: lab_up += amt; break;
+ case DOWN: lab_up -= amt; break;
+ case LEFT: lab_rt -= amt; break;
+ case RIGHT: lab_rt += amt; break;
+ }
+}
+
+void label(int label_side, Attr *stringlist) /* stick label on label_side */
+{
+ int m;
+ Attr *ap;
+
+ fprintf(tfd, "\ttextht = %g\n", textht);
+ if (lab_wid != 0.0) {
+ fprintf(tfd, "\ttextwid = %g\n", lab_wid);
+ lab_wid = 0;
+ } else if (label_side == LEFT || label_side == RIGHT) {
+ textwid = 0;
+ for (ap = stringlist; ap != NULL; ap = ap->next)
+ if ((m = strlen(ap->sval)) > textwid)
+ textwid = m;
+ textwid /= 15; /* estimate width at 15 chars/inch */
+ fprintf(tfd, "\ttextwid = %g\n", textwid);
+ }
+ fprintf(tfd, "Label:\t%s", slprint(stringlist));
+ freeattr(stringlist);
+ switch (label_side) {
+ case BOT:
+ case 0:
+ fprintf(tfd, " with .n at Frame.s - (0,2 * textht)");
+ break;
+ case LEFT:
+ fprintf(tfd, " wid textwid with .e at Frame.w - (0.2,0)");
+ break;
+ case RIGHT:
+ fprintf(tfd, " wid textwid with .w at Frame.e + (0.2,0)");
+ break;
+ case TOP:
+ fprintf(tfd, " with .s at Frame.n + (0,2 * textht)");
+ break;
+ }
+ lab_adjust();
+ fprintf(tfd, "\n");
+ label_side = BOT;
+}
+
+void lab_adjust(void) /* add a string to adjust labels, ticks, etc. */
+{
+ if (lab_up != 0.0 || lab_rt != 0.0)
+ fprintf(tfd, " + (%g,%g)", lab_rt, lab_up);
+}
+
+char *sizeit(Attr *ap) /* add \s..\s to ap->sval */
+{
+ int n;
+ static char buf[1000];
+
+ if (!ap->op) { /* no explicit size command */
+ if (ps_set) {
+ snprintf(buf, sizeof(buf), "\\s%d%s\\s0", pointsize,
+ ap->sval);
+ return buf;
+ } else
+ return ap->sval;
+ } else if (!ps_set) { /* explicit size but no global size */
+ n = (int) ap->fval;
+ switch (ap->op) {
+ case ' ': /* absolute size */
+ snprintf(buf, sizeof(buf), "\\s%d%s\\s0", n, ap->sval);
+ break;
+ case '+': /* better be only one digit! */
+ snprintf(buf, sizeof(buf), "\\s+%d%s\\s-%d", n,
+ ap->sval, n);
+ break;
+ case '-':
+ snprintf(buf, sizeof(buf), "\\s-%d%s\\s+%d", n,
+ ap->sval, n);
+ break;
+ case '*':
+ case '/':
+ return ap->sval; /* ignore for now */
+ }
+ return buf;
+ } else {
+ /* explicit size and a global background size */
+ n = (int) ap->fval;
+ switch (ap->op) {
+ case ' ': /* absolute size */
+ snprintf(buf, sizeof(buf), "\\s%d%s\\s0", n, ap->sval);
+ break;
+ case '+':
+ snprintf(buf, sizeof(buf), "\\s%d%s\\s0", pointsize+n,
+ ap->sval);
+ break;
+ case '-':
+ snprintf(buf, sizeof(buf), "\\s%d%s\\s0", pointsize-n,
+ ap->sval);
+ break;
+ case '*':
+ case '/':
+ return ap->sval; /* ignore for now */
+ }
+ return buf;
+ }
+}
diff --git a/grap/main.c b/grap/main.c
new file mode 100644
index 0000000000000..ac35127bf3f5a
--- /dev/null
+++ b/grap/main.c
@@ -0,0 +1,187 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)main.c 1.5 (gritter) 12/5/05 */
+#include <stdio.h>
+#include <signal.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "grap.h"
+#include "y.tab.h"
+
+int dbg = 0;
+
+#define GRAPDEFINES LIBDIR "/grap.defines"
+char *lib_defines = GRAPDEFINES;
+
+int lib = 1; /* 1 to include lib_defines */
+FILE *tfd = NULL;
+char tempfile[] = "/var/tmp/grapXXXXXX";
+int Sflag;
+
+int synerr = 0;
+int codegen = 0; /* 1=>output for this picture; 0=>no output */
+char *cmdname;
+
+Obj *objlist = NULL; /* all names stored here */
+
+#define BIG 1e30
+Point ptmin = { NULL, -BIG, -BIG };
+Point ptmax = { NULL, BIG, BIG };
+
+extern const char version[];
+
+extern int yyparse(void);
+extern void setdefaults(void);
+extern void getdata(void);
+
+int
+main(int argc, char *argv[])
+{
+ extern void onintr(int), fpecatch(int);
+
+ if (signal(SIGINT, SIG_IGN) != SIG_IGN)
+ signal(SIGINT, onintr);
+ signal(SIGFPE, fpecatch);
+ cmdname = argv[0];
+ close(mkstemp(tempfile));
+ while (argc > 1 && *argv[1] == '-') {
+ switch (argv[1][1]) {
+ case 'd':
+ dbg = 1;
+ tfd = stdout;
+ n_strcpy(tempfile, "grap.temp", sizeof(tempfile));
+ unlink(tempfile);
+ fprintf(stderr, "%s\n", version);
+ break;
+ case 'l': /* turn off /usr/lib inclusion */
+ lib = 0;
+ break;
+ case 'S':
+ Sflag = 1;
+ break;
+ case 'U':
+ Sflag = 0;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ setdefaults();
+ curfile = infile;
+ if (argc <= 1) {
+ curfile->fin = stdin;
+ curfile->fname = tostring("-");
+ pushsrc(File, curfile->fname);
+ getdata();
+ } else
+ while (argc-- > 1) {
+ if ((curfile->fin = fopen(*++argv, "r")) == NULL) {
+ fprintf(stderr, "grap: can't open %s\n", *argv);
+ onintr(0);
+ }
+ curfile->fname = tostring(*argv);
+ pushsrc(File, curfile->fname);
+ getdata();
+ fclose(curfile->fin);
+ free(curfile->fname);
+ }
+ if (!dbg)
+ unlink(tempfile);
+ exit(0);
+}
+
+/*ARGSUSED*/
+void onintr(int n)
+{
+ if (!dbg)
+ unlink(tempfile);
+ exit(1);
+}
+
+void fpecatch(int n)
+{
+ WARNING("floating point exception");
+ onintr(n);
+}
+
+char *grow(char *ptr, char *name, int num, int size) /* make array bigger */
+{
+ char *p;
+
+ if (ptr == NULL)
+ p = malloc(num * size);
+ else
+ p = realloc(ptr, num * size);
+ if (p == NULL)
+ FATAL("can't grow %s to %d", name, num * size);
+ return p;
+}
+
+static struct {
+ char *name;
+ double val;
+} defaults[] ={
+ { "frameht" , FRAMEHT },
+ { "framewid", FRAMEWID },
+ { "ticklen" , TICKLEN },
+ { "slop" , SLOP },
+ { NULL , 0 }
+};
+
+void setdefaults(void) /* set default sizes for variables */
+{
+ int i;
+ Obj *p;
+
+ for (i = 0; defaults[i].name != NULL; i++) {
+ p = lookup(defaults[i].name, 1);
+ setvar(p, defaults[i].val);
+ }
+}
+
+void getdata(void) /* read input */
+{
+ register FILE *fin;
+ char *buf = NULL, *buf1 = NULL;
+ size_t size = 0;
+ int ln;
+ char *fgetline(char **, size_t *, size_t *, FILE *);
+
+ fin = curfile->fin;
+ curfile->lineno = 0;
+ printf(".lf 1 %s\n", curfile->fname);
+ while (fgetline(&buf, &size, NULL, fin) != NULL) {
+ curfile->lineno++;
+ if (*buf == '.' && *(buf+1) == 'G' && *(buf+2) == '1') {
+ setup();
+ fprintf(stdout, ".PS%s", &buf[3]); /* maps .G1 [w] to .PS w */
+ printf("scale = 1\n"); /* defends against cip users */
+ printf(".lf %d\n", curfile->lineno+1);
+ yyparse();
+ fprintf(stdout, ".PE\n");
+ printf(".lf %d\n", curfile->lineno+1);
+ fflush(stdout);
+ } else if (buf[0] == '.' && buf[1] == 'l' && buf[2] == 'f') {
+ buf1 = realloc(buf1, size);
+ if (sscanf(buf+3, "%d %s", &ln, buf1) == 2) {
+ free(curfile->fname);
+ printf(".lf %d %s\n", curfile->lineno = ln, curfile->fname = tostring(buf1));
+ } else
+ printf(".lf %d\n", curfile->lineno = ln);
+ } else
+ fputs(buf, stdout);
+ }
+ free(buf);
+ free(buf1);
+}
diff --git a/grap/misc.c b/grap/misc.c
new file mode 100644
index 0000000000000..fa0360403b81e
--- /dev/null
+++ b/grap/misc.c
@@ -0,0 +1,308 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)misc.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include "grap.h"
+#include "y.tab.h"
+
+int nnum = 0; /* number of saved numbers */
+double num[MAXNUM];
+
+int just; /* current justification mode (RJUST, etc.) */
+int sizeop; /* current optional operator for size change */
+double sizexpr; /* current size change expression */
+
+void savenum(int n, double f) /* save f in num[n] */
+{
+ num[n] = f;
+ nnum = n+1;
+ if (nnum >= MAXNUM)
+ WARNING("too many numbers");
+}
+
+void setjust(int j)
+{
+ just |= j;
+}
+
+void setsize(int op, double expr)
+{
+ sizeop = op;
+ sizexpr = expr;
+}
+
+char *tostring(char *s)
+{
+ register char *p;
+ size_t l;
+
+ l = strlen(s)+1;
+ p = malloc(l);
+ if (p == NULL)
+ FATAL("out of space in tostring on %s", s);
+ n_strcpy(p, s, l);
+ return(p);
+}
+
+void range(Point pt) /* update the range for point pt */
+{
+ Obj *p = pt.obj;
+
+ if (!(p->coord & XFLAG)) {
+ if (pt.x > p->pt1.x)
+ p->pt1.x = pt.x;
+ if (pt.x < p->pt.x)
+ p->pt.x = pt.x;
+ }
+ if (!(p->coord & YFLAG)) {
+ if (pt.y > p->pt1.y)
+ p->pt1.y = pt.y;
+ if (pt.y < p->pt.y)
+ p->pt.y = pt.y;
+ }
+}
+
+void halfrange(Obj *p, int side, double val) /* record max and min for one direction */
+{
+ if (!(p->coord&XFLAG) && (side == LEFT || side == RIGHT)) {
+ if (val < p->pt.y)
+ p->pt.y = val;
+ if (val > p->pt1.y)
+ p->pt1.y = val;
+ } else if (!(p->coord&YFLAG) && (side == TOP || side == BOT)) {
+ if (val < p->pt.x)
+ p->pt.x = val;
+ if (val > p->pt1.x)
+ p->pt1.x = val;
+ }
+}
+
+
+Obj *lookup(char *s, int inst) /* find s in objlist, install if inst */
+{
+ Obj *p;
+ int found = 0;
+
+ for (p = objlist; p; p = p->next){
+ if (strcmp(s, p->name) == 0) {
+ found = 1;
+ break;
+ }
+ }
+ if (p == NULL && inst != 0) {
+ p = (Obj *) calloc(1, sizeof(Obj));
+ if (p == NULL)
+ FATAL("out of space in lookup");
+ p->name = tostring(s);
+ p->type = NAME;
+ p->pt = ptmax;
+ p->pt1 = ptmin;
+ p->fval = 0.0;
+ p->next = objlist;
+ objlist = p;
+ }
+ dprintf("lookup(%s,%d) = %d\n", s, inst, found);
+ return p;
+}
+
+double getvar(Obj *p) /* return value of variable */
+{
+ return p->fval;
+}
+
+double setvar(Obj *p, double f) /* set value of variable to f */
+{
+ if (strcmp(p->name, "pointsize") == 0) { /* kludge */
+ pointsize = f;
+ ps_set = 1;
+ }
+ p->type = VARNAME;
+ return p->fval = f;
+}
+
+Point makepoint(Obj *s, double x, double y) /* make a Point */
+{
+ Point p;
+
+ dprintf("makepoint: %s, %g,%g\n", s->name, x, y);
+ p.obj = s;
+ p.x = x;
+ p.y = y;
+ return p;
+}
+
+Attr *makefattr(int type, double fval) /* set double in attribute */
+{
+ return makeattr(type, fval, (char *) 0, 0, 0);
+}
+
+Attr *makesattr(char *s) /* make an Attr cell containing s */
+{
+ Attr *ap = makeattr(STRING, sizexpr, s, just, sizeop);
+ just = sizeop = 0;
+ sizexpr = 0.0;
+ return ap;
+}
+
+Attr *makeattr(int type, double fval, char *sval, int just, int op)
+{
+ Attr *a;
+
+ a = (Attr *) malloc(sizeof(Attr));
+ if (a == NULL)
+ FATAL("out of space in makeattr");
+ a->type = type;
+ a->fval = fval;
+ a->sval = sval;
+ a->just = just;
+ a->op = op;
+ a->next = NULL;
+ return a;
+}
+
+Attr *addattr(Attr *a1, Attr *ap) /* add attr ap to end of list a1 */
+{
+ Attr *p;
+
+ if (a1 == 0)
+ return ap;
+ if (ap == 0)
+ return a1;
+ for (p = a1; p->next; p = p->next)
+ ;
+ p->next = ap;
+ return a1;
+}
+
+void freeattr(Attr *ap) /* free an attribute list */
+{
+ Attr *p;
+
+ while (ap) {
+ p = ap->next; /* save next */
+ if (ap->sval)
+ free(ap->sval);
+ free((char *) ap);
+ ap = p;
+ }
+}
+
+char *slprint(Attr *stringlist) /* print strings from stringlist */
+{
+ int ntext, n, last_op, last_just;
+ double last_fval;
+ static char buf[1000];
+ Attr *ap;
+
+ buf[0] = '\0';
+ last_op = last_just = 0;
+ last_fval = 0.0;
+ for (ntext = 0, ap = stringlist; ap != NULL; ap = ap->next)
+ ntext++;
+ snprintf(buf, sizeof(buf), "box invis wid 0 ht %d*textht", ntext);
+ n = strlen(buf);
+ for (ap = stringlist; ap != NULL; ap = ap->next) {
+ if (ap->op == 0) { /* propagate last value */
+ ap->op = last_op;
+ ap->fval = last_fval;
+ } else {
+ last_op = ap->op;
+ last_fval = ap->fval;
+ }
+ snprintf(buf+n, sizeof(buf) - n, " \"%s\"",
+ ps_set || ap->op ? sizeit(ap) : ap->sval);
+ if (ap->just)
+ last_just = ap->just;
+ if (last_just)
+ n_strcat(buf+n, juststr(last_just), sizeof(buf) - n);
+ n = strlen(buf);
+ }
+ return buf; /* watch it: static */
+}
+
+char *juststr(int j) /* convert RJUST, etc., into string */
+{
+ static char buf[50];
+
+ buf[0] = '\0';
+ if (j & RJUST)
+ n_strcat(buf, " rjust", sizeof(buf));
+ if (j & LJUST)
+ n_strcat(buf, " ljust", sizeof(buf));
+ if (j & ABOVE)
+ n_strcat(buf, " above", sizeof(buf));
+ if (j & BELOW)
+ n_strcat(buf, " below", sizeof(buf));
+ return buf; /* watch it: static */
+}
+
+char *sprntf(char *s, Attr *ap) /* sprintf(s, attrlist ap) */
+{
+ char buf[500];
+ int n;
+ Attr *p;
+
+ for (n = 0, p = ap; p; p = p->next)
+ n++;
+ switch (n) {
+ case 0:
+ return s;
+ case 1:
+ snprintf(buf, sizeof(buf), s, ap->fval);
+ break;
+ case 2:
+ snprintf(buf, sizeof(buf), s, ap->fval, ap->next->fval);
+ break;
+ case 3:
+ snprintf(buf, sizeof(buf), s, ap->fval, ap->next->fval,
+ ap->next->next->fval);
+ break;
+ case 5:
+ WARNING("too many expressions in sprintf");
+ case 4:
+ snprintf(buf, sizeof(buf), s, ap->fval, ap->next->fval,
+ ap->next->next->fval, ap->next->next->next->fval);
+ break;
+ }
+ free(s);
+ return tostring(buf);
+}
+
+static void
+verror(const char *fmt, va_list ap)
+{
+ char errbuf[4096];
+
+ vsnprintf(errbuf, sizeof errbuf, fmt, ap);
+ yyerror(errbuf);
+}
+
+void FATAL(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ verror(fmt, ap);
+ va_end(ap);
+ exit(1);
+}
+
+void WARNING(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ verror(fmt, ap);
+ va_end(ap);
+}
diff --git a/grap/plot.c b/grap/plot.c
new file mode 100644
index 0000000000000..48f7340de3a33
--- /dev/null
+++ b/grap/plot.c
@@ -0,0 +1,144 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)plot.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include "grap.h"
+#include "y.tab.h"
+
+void line(int type, Point p1, Point p2, Attr *desc) /* draw a line segment */
+{
+ fprintf(tfd, "%s %s from %s",
+ type==LINE ? "line" : "arrow", desc_str(desc), xyname(p1));
+ fprintf(tfd, " to %s", xyname(p2)); /* 'cause xyname is botched */
+ fprintf(tfd, "\n");
+ range(p1);
+ range(p2);
+}
+
+void circle(double r, Point pt) /* draw a circle */
+{
+ if (r > 0.0)
+ fprintf(tfd, "circle rad %g at %s\n", r, xyname(pt));
+ else
+ fprintf(tfd, "\"\\s-3\\(ob\\s0\" at %s\n", xyname(pt));
+ range(pt);
+}
+
+char *xyname(Point pt) /* generate xy name macro for point p */
+{
+ static char buf[200];
+ Obj *p;
+
+ p = pt.obj;
+ if (p->log & XFLAG) {
+ if (pt.x <= 0.0)
+ FATAL("can't take log of x coord %g", pt.x);
+ logit(pt.x);
+ }
+ if (p->log & YFLAG) {
+ if (pt.y <= 0.0)
+ FATAL("can't take log of y coord %g", pt.y);
+ logit(pt.y);
+ }
+ snprintf(buf, sizeof(buf), "xy_%s(%g,%g)", p->name, pt.x, pt.y);
+ return buf; /* WATCH IT: static */
+}
+
+void pic(char *s) /* fire out pic stuff directly */
+{
+ while (*s == ' ')
+ s++;
+ fprintf(tfd, "%s\n", s);
+}
+
+int auto_x = 0; /* counts abscissa if none provided */
+
+void numlist(void) /* print numbers in default way */
+{
+ Obj *p;
+ Point pt;
+ int i;
+ static char *spot = "\\(bu";
+ Attr *ap;
+
+ p = pt.obj = lookup(curr_coord, 1);
+ if (nnum == 1) {
+ nnum = 2;
+ num[1] = num[0];
+ num[0] = ++auto_x;
+ }
+ pt.x = num[0];
+ if (p->attr && p->attr->sval)
+ spot = p->attr->sval;
+ for (i = 1; i < nnum; i++) {
+ pt.y = num[i];
+ if (p->attr == 0 || p->attr->type == 0) {
+ ap = makesattr(tostring(spot));
+ plot(ap, pt);
+ } else
+ next(p, pt, p->attr);
+ }
+ nnum = 0;
+}
+
+void plot(Attr *sl, Point pt) /* put stringlist sl at point pt */
+{
+ fprintf(tfd, "%s at %s\n", slprint(sl), xyname(pt));
+ range(pt);
+ freeattr(sl);
+}
+
+void plotnum(double f, char *fmt, Point pt) /* plot value f at point */
+{
+ char buf[100];
+
+ if (fmt) {
+ snprintf(buf, sizeof(buf), fmt, f);
+ free(fmt);
+ } else if (f >= 0.0)
+ snprintf(buf, sizeof(buf), "%g", f);
+ else
+ snprintf(buf, sizeof(buf), "\\-%g", -f);
+ fprintf(tfd, "\"%s\" at %s\n", buf, xyname(pt));
+ range(pt);
+}
+
+void drawdesc(int type, Obj *p, Attr *desc, char *s) /* set line description for p */
+{
+ p->attr = desc;
+ p->attr->sval = s;
+ if (type == NEW) {
+ p->first = 0; /* so it really looks new */
+ auto_x = 0;
+ }
+}
+
+void next(Obj *p, Point pt, Attr *desc) /* add component to a path */
+{
+ char *s;
+
+ if (p->first == 0) {
+ p->first++;
+ fprintf(tfd, "L%s: %s\n", p->name, xyname(pt));
+ } else {
+ fprintf(tfd, "line %s from L%s to %s; L%s: Here\n",
+ desc_str(desc->type ? desc : p->attr),
+ p->name, xyname(pt), p->name);
+ }
+ if (p->attr && (s=p->attr->sval)) {
+ /* BUG: should fix size here */
+ fprintf(tfd, "\"%s\" at %s\n", s, xyname(pt));
+ }
+ range(pt);
+}
diff --git a/grap/print.c b/grap/print.c
new file mode 100644
index 0000000000000..d8df0d11e8337
--- /dev/null
+++ b/grap/print.c
@@ -0,0 +1,247 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)print.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <ctype.h>
+#include "grap.h"
+#include "y.tab.h"
+
+double margin = MARGIN; /* extra space around edges */
+extern double frame_ht, frame_wid, ticklen;
+extern int just, sizeop, tick_dir;
+extern double sizexpr, lab_up, lab_rt;
+
+char graphname[50] = "Graph";
+char graphpos[200] = "";
+
+void print(void) /* arrange final output */
+{
+ FILE *fd;
+ Obj *p, *dfp;
+ int c;
+ double dx, dy, xfac, yfac;
+
+ if (tfd != NULL) {
+ fclose(tfd); /* end the temp file */
+ tfd = stdout;
+ }
+
+ if ((p=lookup("margin",0)) != NULL)
+ margin = p->fval;
+ if (frame_ht < 0) /* wasn't set explicitly, so use default */
+ frame_ht = getvar(lookup("frameht", 0));
+ if (frame_wid < 0)
+ frame_wid = getvar(lookup("framewid", 0));
+ dfp = NULL;
+ for (p = objlist; p; p = p->next) {
+ dprintf("print: name = <%s>, type = %d\n", p->name, p->type);
+ if (p->type == NAME) {
+ Point pt, pt1;
+ pt = p->pt;
+ pt1 = p->pt1;
+ fprintf(tfd, "\t# %s %g .. %g, %g .. %g\n",
+ p->name, pt.x, pt1.x, pt.y, pt1.y);
+ if (p->log & XFLAG) {
+ if (pt.x <= 0.0)
+ FATAL("can't take log of x coord %g", pt.x);
+ logit(pt.x);
+ logit(pt1.x);
+ }
+ if (p->log & YFLAG) {
+ if (pt.y <= 0.0)
+ FATAL("can't take log of y coord %g", pt.y);
+ logit(pt.y);
+ logit(pt1.y);
+ }
+ if (!(p->coord & XFLAG)) {
+ dx = pt1.x - pt.x;
+ pt.x -= margin * dx;
+ pt1.x += margin * dx;
+ }
+ if (!(p->coord & YFLAG)) {
+ dy = pt1.y - pt.y;
+ pt.y -= margin * dy;
+ pt1.y += margin * dy;
+ }
+ if (autoticks && strcmp(p->name, dflt_coord) == 0) {
+ p->pt = pt;
+ p->pt1 = pt1;
+ if (p->log & XFLAG) {
+ p->pt.x = pow(10.0, pt.x);
+ p->pt1.x = pow(10.0, pt1.x);
+ }
+ if (p->log & YFLAG) {
+ p->pt.y = pow(10.0, pt.y);
+ p->pt1.y = pow(10.0, pt1.y);
+ }
+ dfp = setauto();
+ }
+ dx = pt1.x - pt.x;
+ dy = pt1.y - pt.y;
+ xfac = dx > 0 ? frame_wid/dx : frame_wid/2;
+ yfac = dy > 0 ? frame_ht/dy : frame_ht/2;
+
+ fprintf(tfd, "define xy_%s @ ", p->name);
+ if (dx > 0)
+ fprintf(tfd, "\t(($1)-(%g))*%g", pt.x, xfac);
+ else
+ fprintf(tfd, "\t%g", xfac);
+ if (dy > 0)
+ fprintf(tfd, ", (($2)-(%g))*%g @\n", pt.y, yfac);
+ else
+ fprintf(tfd, ", %g @\n", yfac);
+ fprintf(tfd, "define x_%s @ ", p->name);
+ if (dx > 0)
+ fprintf(tfd, "\t(($1)-(%g))*%g @\n", pt.x, xfac);
+ else
+ fprintf(tfd, "\t%g @\n", xfac);
+ fprintf(tfd, "define y_%s @ ", p->name);
+ if (dy > 0)
+ fprintf(tfd, "\t(($1)-(%g))*%g @\n", pt.y, yfac);
+ else
+ fprintf(tfd, "\t%g @\n", yfac);
+ }
+ }
+ if (codegen)
+ frame();
+ if (codegen && autoticks && dfp)
+ do_autoticks(dfp);
+
+ if ((fd = fopen(tempfile, "r")) != NULL) {
+ while ((c = getc(fd)) != EOF)
+ putc(c, tfd);
+ fclose(fd);
+ }
+ tfd = NULL;
+}
+
+void endstat(void) /* clean up after each statement */
+{
+
+ just = sizeop = 0;
+ lab_up = lab_rt = 0.0;
+ sizexpr = 0.0;
+ nnum = 0;
+ ntick = 0;
+ tside = 0;
+ tick_dir = OUT;
+ ticklen = TICKLEN;
+}
+
+void graph(char *s) /* graph statement */
+{
+ char *p, *os;
+ int c;
+
+ if (codegen) {
+ fprintf(stdout, "%s: [\n", graphname);
+ print(); /* pump out previous graph */
+ fprintf(stdout, "\n] %s\n", graphpos);
+ reset();
+ }
+ if (s) {
+ dprintf("into graph with <%s>\n", s);
+ opentemp();
+ os = s;
+ while ((c = *s) == ' ' || c == '\t')
+ s++;
+ if (c == '\0')
+ WARNING("no name on graph statement");
+ if (!isupper((int)s[0]))
+ WARNING("graph name %s must be capitalized", s);
+ for (p=graphname; (c = *s) != ' ' && c != '\t' && c != '\0'; )
+ *p++ = *s++;
+ *p = '\0';
+ n_strcpy(graphpos, s, sizeof(graphpos));
+ dprintf("graphname = <%s>, graphpos = <%s>\n", graphname, graphpos);
+ free(os);
+ }
+}
+
+void setup(void) /* done at each .G1 */
+{
+ static int firstG1 = 0;
+
+ reset();
+ opentemp();
+ frame_ht = frame_wid = -1; /* reset in frame() */
+ ticklen = getvar(lookup("ticklen", 0));
+ if (firstG1++ == 0)
+ do_first();
+ codegen = synerr = 0;
+ n_strcpy(graphname, "Graph", sizeof(graphname));
+ n_strcpy(graphpos, "", sizeof(graphpos));
+}
+
+void do_first(void) /* done at first .G1: definitions, etc. */
+{
+ extern int lib;
+ extern char *lib_defines;
+ static char buf[50], buf1[50]; /* static because pbstr uses them */
+ FILE *fp;
+ extern int getpid(void);
+
+ snprintf(buf, sizeof(buf), "define pid /%d/\n", getpid());
+ pbstr(buf);
+ if (lib != 0) {
+ if ((fp = fopen(lib_defines, "r")) != NULL) {
+ snprintf(buf1, sizeof(buf1), "copy \"%s\"\n",
+ lib_defines);
+ pbstr(buf1);
+ fclose(fp);
+ } else {
+ fprintf(stderr, "grap warning: can't open %s\n", lib_defines);
+ }
+ }
+}
+
+void reset(void) /* done at each "graph ..." statement */
+{
+ Obj *p, *np, *deflist;
+ extern int tlist, toffside, autodir;
+
+ curr_coord = dflt_coord;
+ ncoord = auto_x = 0;
+ autoticks = LEFT|BOT;
+ autodir = 0;
+ tside = tlist = toffside = 0;
+ tick_dir = OUT;
+ margin = MARGIN;
+ deflist = NULL;
+ for (p = objlist; p; p = np) {
+ np = p->next;
+ if (p->type == DEFNAME || p->type == VARNAME) {
+ p->next = deflist;
+ deflist = p;
+ } else {
+ free(p->name);
+ freeattr(p->attr);
+ free((char *) p);
+ }
+ }
+ objlist = deflist;
+}
+
+void opentemp(void)
+{
+ if (tfd != stdout) {
+ if (tfd != NULL)
+ fclose(tfd);
+ if ((tfd = fopen(tempfile, "w")) == NULL) {
+ fprintf(stderr, "grap: can't open %s\n", tempfile);
+ exit(1);
+ }
+ }
+}
diff --git a/grap/ticks.c b/grap/ticks.c
new file mode 100644
index 0000000000000..63a693d78a35e
--- /dev/null
+++ b/grap/ticks.c
@@ -0,0 +1,508 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/grap/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)ticks.c 1.4 (gritter) 11/27/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include "grap.h"
+#include "y.tab.h"
+
+#define MAXTICK 200
+int ntick = 0;
+double tickval[MAXTICK]; /* tick values (one axis at a time */
+char *tickstr[MAXTICK]; /* and labels */
+
+int tside = 0;
+int tlist = 0; /* 1 => explicit values given */
+int toffside = 0; /* no ticks on these sides */
+int goffside = 0; /* no ticks on grid on these sides */
+int tick_dir = OUT;
+double ticklen = TICKLEN; /* default tick length */
+int autoticks = LEFT|BOT;
+int autodir = 0; /* set LEFT, etc. if automatic ticks go in */
+
+void savetick(double f, char *s) /* remember tick location and label */
+{
+ if (ntick >= MAXTICK)
+ FATAL("too many ticks (%d)", MAXTICK);
+ tickval[ntick] = f;
+ tickstr[ntick] = s;
+ ntick++;
+}
+
+void dflt_tick(double f)
+{
+ if (f == 0) /* avoid negative zero */
+ f = 0;
+ if (f >= 0.0)
+ savetick(f, tostring("%g"));
+ else
+ savetick(f, tostring("\\%g"));
+}
+
+void tickside(int n) /* remember which side these ticks/gridlines go on */
+{
+ tside |= n;
+}
+
+void tickoff(int side) /* remember explicit sides */
+{
+ toffside |= side;
+}
+
+void gridtickoff(void) /* turn grid ticks off on the side previously specified (ugh) */
+{
+ goffside = tside;
+}
+
+void setlist(void) /* remember that there was an explicit list */
+{
+ tlist = 1;
+}
+
+void tickdir(int dir, double val, int explicit) /* remember in/out [expr] */
+{
+ tick_dir = dir;
+ if (explicit)
+ ticklen = val;
+}
+
+void ticks(void) /* set autoticks after ticks statement */
+{
+ /* was there an explicit "ticks [side] off"? */
+ if (toffside)
+ autoticks &= ~toffside;
+ /* was there an explicit list? (eg "ticks at ..." or "ticks from ...") */
+ if (tlist) {
+ if (tside & (BOT|TOP))
+ autoticks &= ~(BOT|TOP);
+ if (tside & (LEFT|RIGHT))
+ autoticks &= ~(LEFT|RIGHT);
+ }
+ /* was there a side without a list? (eg "ticks left in") */
+ if (tside && !tlist) {
+ if (tick_dir == IN)
+ autodir |= tside;
+ if (tside & (BOT|TOP))
+ autoticks = (autoticks & ~(BOT|TOP)) | (tside & (BOT|TOP));
+ if (tside & (LEFT|RIGHT))
+ autoticks = (autoticks & ~(LEFT|RIGHT)) | (tside & (LEFT|RIGHT));
+ }
+ tlist = tside = toffside = goffside = 0;
+ tick_dir = OUT;
+}
+
+double modfloor(double f, double t)
+{
+ t = fabs(t);
+ return floor(f/t) * t;
+}
+
+double modceil(double f, double t)
+{
+ t = fabs(t);
+ return ceil(f/t) * t;
+}
+
+double xtmin, xtmax; /* range of ticks */
+double ytmin, ytmax;
+double xquant, xmult; /* quantization & scale for auto x ticks */
+double yquant, ymult;
+double lograt = 5;
+
+void do_autoticks(Obj *p) /* make set of ticks for default coord only */
+{
+ double x, xl, xu, q;
+
+ if (p == NULL)
+ return;
+ fprintf(tfd, "Autoticks:\t# x %g..%g, y %g..%g",
+ p->pt.x, p->pt1.x, p->pt.y, p->pt1.y);
+ fprintf(tfd, "; xt %g,%g, yt %g,%g, xq,xm = %g,%g, yq,ym = %g,%g\n",
+ xtmin, xtmax, ytmin, ytmax, xquant, xmult, yquant, ymult);
+ if ((autoticks & (BOT|TOP)) && p->pt1.x >= p->pt.x) { /* make x ticks */
+ q = xquant;
+ xl = p->pt.x;
+ xu = p->pt1.x;
+ if (xl >= xu)
+ dflt_tick(xl);
+ else if ((p->log & XFLAG) && xu/xl >= lograt) {
+ for (x = q; x < xu; x *= 10) {
+ logtick(x, xl, xu);
+ if (xu/xl <= 100) {
+ logtick(2*x, xl, xu);
+ logtick(5*x, xl, xu);
+ }
+ }
+ } else {
+ xl = modceil(xtmin - q/100, q);
+ xu = modfloor(xtmax + q/100, q) + q/2;
+ for (x = xl; x <= xu; x += q)
+ dflt_tick(x);
+ }
+ tside = autoticks & (BOT|TOP);
+ ticklist(p, 0);
+ }
+ if ((autoticks & (LEFT|RIGHT)) && p->pt1.y >= p->pt.y) { /* make y ticks */
+ q = yquant;
+ xl = p->pt.y;
+ xu = p->pt1.y;
+ if (xl >= xu)
+ dflt_tick(xl);
+ else if ((p->log & YFLAG) && xu/xl >= lograt) {
+ for (x = q; x < xu; x *= 10) {
+ logtick(x, xl, xu);
+ if (xu/xl <= 100) {
+ logtick(2*x, xl, xu);
+ logtick(5*x, xl, xu);
+ }
+ }
+ } else {
+ xl = modceil(ytmin - q/100, q);
+ xu = modfloor(ytmax + q/100, q) + q/2;
+ for (x = xl; x <= xu; x += q)
+ dflt_tick(x);
+ }
+ tside = autoticks & (LEFT|RIGHT);
+ ticklist(p, 0);
+ }
+}
+
+void logtick(double v, double lb, double ub)
+{
+ float slop = 1.0; /* was 1.001 */
+
+ if (slop * lb <= v && ub >= slop * v)
+ dflt_tick(v);
+}
+
+Obj *setauto(void) /* compute new min,max, and quant & mult */
+{
+ Obj *p, *q;
+
+ if ((q = lookup("lograt",0)) != NULL)
+ lograt = q->fval;
+ for (p = objlist; p; p = p->next)
+ if (p->type == NAME && strcmp(p->name,dflt_coord) == 0)
+ break;
+ if (p) {
+ if ((p->log & XFLAG) && p->pt1.x/p->pt.x >= lograt)
+ autolog(p, 'x');
+ else
+ autoside(p, 'x');
+ if ((p->log & YFLAG) && p->pt1.y/p->pt.y >= lograt)
+ autolog(p, 'y');
+ else
+ autoside(p, 'y');
+ }
+ return p;
+}
+
+void autoside(Obj *p, int side)
+{
+ double r, s, d, ub, lb;
+
+ if (side == 'x') {
+ xtmin = lb = p->pt.x;
+ xtmax = ub = p->pt1.x;
+ } else {
+ ytmin = lb = p->pt.y;
+ ytmax = ub = p->pt1.y;
+ }
+ if (ub <= lb)
+ return; /* cop out on little ranges */
+ d = ub - lb;
+ r = s = 1;
+ while (d * s < 10)
+ s *= 10;
+ d *= s;
+ while (10 * r < d)
+ r *= 10;
+ if (r > d/3)
+ r /= 2;
+ else if (r <= d/6)
+ r *= 2;
+ if (side == 'x') {
+ xquant = r / s;
+ } else {
+ yquant = r / s;
+ }
+}
+
+void autolog(Obj *p, int side)
+{
+ double r, s, t, ub, lb;
+ int flg;
+
+ if (side == 'x') {
+ xtmin = lb = p->pt.x;
+ xtmax = ub = p->pt1.x;
+ flg = p->coord & XFLAG;
+ } else {
+ ytmin = lb = p->pt.y;
+ ytmax = ub = p->pt1.y;
+ flg = p->coord & YFLAG;
+ }
+ for (s = 1; lb * s < 1; s *= 10)
+ ;
+ lb *= s;
+ ub *= s;
+ for (r = 1; 10 * r < lb; r *= 10)
+ ;
+ for (t = 1; t < ub; t *= 10)
+ ;
+ if (side == 'x')
+ xquant = r / s;
+ else
+ yquant = r / s;
+ if (flg)
+ return;
+ if (ub / lb < 100) {
+ if (lb >= 5 * r)
+ r *= 5;
+ else if (lb >= 2 * r)
+ r *= 2;
+ if (ub * 5 <= t)
+ t /= 5;
+ else if (ub * 2 <= t)
+ t /= 2;
+ if (side == 'x') {
+ xtmin = r / s;
+ xtmax = t / s;
+ } else {
+ ytmin = r / s;
+ ytmax = t / s;
+ }
+ }
+}
+
+void iterator(double from, double to, int op, double by, char *fmt) /* create an iterator */
+{
+ double x;
+
+ /* should validate limits, etc. */
+ /* punt for now */
+
+ dprintf("iterate from %g to %g by %g, op = %c, fmt=%s\n",
+ from, to, by, op, fmt ? fmt : "");
+ switch (op) {
+ case '+':
+ case ' ':
+ for (x = from; x <= to + (SLOP-1) * by; x += by)
+ if (fmt)
+ savetick(x, tostring(fmt));
+ else
+ dflt_tick(x);
+ break;
+ case '-':
+ for (x = from; x >= to; x -= by)
+ if (fmt)
+ savetick(x, tostring(fmt));
+ else
+ dflt_tick(x);
+ break;
+ case '*':
+ for (x = from; x <= SLOP * to; x *= by)
+ if (fmt)
+ savetick(x, tostring(fmt));
+ else
+ dflt_tick(x);
+ break;
+ case '/':
+ for (x = from; x >= to; x /= by)
+ if (fmt)
+ savetick(x, tostring(fmt));
+ else
+ dflt_tick(x);
+ break;
+ }
+ if (fmt)
+ free(fmt);
+}
+
+void ticklist(Obj *p, int explicit) /* fire out the accumulated ticks */
+ /* 1 => list, 0 => auto */
+{
+ if (p == NULL)
+ return;
+ fprintf(tfd, "Ticks_%s:\n\tticklen = %g\n", p->name, ticklen);
+ print_ticks(TICKS, explicit, p, "ticklen", "");
+}
+
+void print_ticks(int type, int explicit, Obj *p, char *lenstr, char *descstr)
+{
+ int i, logflag, inside;
+ char buf[100];
+ double tv;
+
+ for (i = 0; i < ntick; i++) /* any ticks given explicitly? */
+ if (tickstr[i] != NULL)
+ break;
+ if (i >= ntick && type == TICKS) /* no, so use values */
+ for (i = 0; i < ntick; i++) {
+ if (tickval[i] >= 0.0)
+ snprintf(buf, sizeof(buf), "%g", tickval[i]);
+ else
+ snprintf(buf, sizeof(buf), "\\-%g",
+ -tickval[i]);
+ tickstr[i] = tostring(buf);
+ }
+ else
+ for (i = 0; i < ntick; i++) {
+ if (tickstr[i] != NULL) {
+ snprintf(buf, sizeof(buf), tickstr[i],
+ tickval[i]);
+ free(tickstr[i]);
+ tickstr[i] = tostring(buf);
+ }
+ }
+ logflag = sidelog(p->log, tside);
+ for (i = 0; i < ntick; i++) {
+ tv = tickval[i];
+ halfrange(p, tside, tv);
+ if (logflag) {
+ if (tv <= 0.0)
+ FATAL("can't take log of tick value %g", tv);
+ logit(tv);
+ }
+ if (type == GRID)
+ inside = LEFT|RIGHT|TOP|BOT;
+ else if (explicit)
+ inside = (tick_dir == IN) ? tside : 0;
+ else
+ inside = autodir;
+ if (tside & BOT)
+ maketick(type, p->name, BOT, inside, tv, tickstr[i], lenstr, descstr);
+ if (tside & TOP)
+ maketick(type, p->name, TOP, inside, tv, tickstr[i], lenstr, descstr);
+ if (tside & LEFT)
+ maketick(type, p->name, LEFT, inside, tv, tickstr[i], lenstr, descstr);
+ if (tside & RIGHT)
+ maketick(type, p->name, RIGHT, inside, tv, tickstr[i], lenstr, descstr);
+ if (tickstr[i]) {
+ free(tickstr[i]);
+ tickstr[i] = NULL;
+ }
+ }
+ ntick = 0;
+}
+
+void maketick(int type, char *name, int side, int inflag, double val, char *lab, char *lenstr, char *descstr)
+{
+ char *sidestr, *td;
+
+ fprintf(tfd, "\tline %s ", descstr);
+ inflag &= side;
+ switch (side) {
+ case BOT:
+ case 0:
+ td = inflag ? "up" : "down";
+ fprintf(tfd, "%s %s from (x_%s(%g),0)", td, lenstr, name, val);
+ break;
+ case TOP:
+ td = inflag ? "down" : "up";
+ fprintf(tfd, "%s %s from (x_%s(%g),frameht)", td, lenstr, name, val);
+ break;
+ case LEFT:
+ td = inflag ? "right" : "left";
+ fprintf(tfd, "%s %s from (0,y_%s(%g))", td, lenstr, name, val);
+ break;
+ case RIGHT:
+ td = inflag ? "left" : "right";
+ fprintf(tfd, "%s %s from (framewid,y_%s(%g))", td, lenstr, name, val);
+ break;
+ }
+ fprintf(tfd, "\n");
+ if (type == GRID && (side & goffside)) /* wanted no ticks on grid */
+ return;
+ sidestr = tick_dir == IN ? "start" : "end";
+ if (lab != NULL) {
+ /* BUG: should fix size of lab here */
+ double wid = strlen(lab)/7.5 + (tick_dir == IN ? 0 : 0.1); /* estimate width at 15 chars/inch */
+ switch (side) {
+ case BOT: case 0:
+ /* can drop "box invis" with new pic */
+ fprintf(tfd, "\tbox invis \"%s\" ht .25 wid 0 with .n at last line.%s",
+ lab, sidestr);
+ break;
+ case TOP:
+ fprintf(tfd, "\tbox invis \"%s\" ht .2 wid 0 with .s at last line.%s",
+ lab, sidestr);
+ break;
+ case LEFT:
+ fprintf(tfd, "\t\"%s \" wid %.2f rjust at last line.%s",
+ lab, wid, sidestr);
+ break;
+ case RIGHT:
+ fprintf(tfd, "\t\" %s\" wid %.2f ljust at last line.%s",
+ lab, wid, sidestr);
+ break;
+ }
+ /* BUG: works only if "down x" comes before "at wherever" */
+ lab_adjust();
+ fprintf(tfd, "\n");
+ }
+}
+
+Attr *grid_desc = 0;
+
+void griddesc(Attr *a)
+{
+ grid_desc = a;
+}
+
+void gridlist(Obj *p)
+{
+ char *framestr;
+
+ if ((tside & (BOT|TOP)) || tside == 0)
+ framestr = "frameht";
+ else
+ framestr = "framewid";
+ fprintf(tfd, "Grid_%s:\n", p->name);
+ tick_dir = IN;
+ print_ticks(GRID, 0, p, framestr, desc_str(grid_desc));
+ if (grid_desc) {
+ freeattr(grid_desc);
+ grid_desc = 0;
+ }
+}
+
+char *desc_str(Attr *a) /* convert DOT to "dotted", etc. */
+{
+ static char buf[50], *p;
+
+ if (a == NULL)
+ return p = "";
+ switch (a->type) {
+ case DOT: p = "dotted"; break;
+ case DASH: p = "dashed"; break;
+ case INVIS: p = "invis"; break;
+ default: p = "";
+ }
+ if (a->fval != 0.0) {
+ snprintf(buf, sizeof(buf), "%s %g", p, a->fval);
+ return buf;
+ } else
+ return p;
+}
+
+int sidelog(int logflag, int side) /* figure out whether to scale a side */
+{
+ if ((logflag & XFLAG) && ((side & (BOT|TOP)) || side == 0))
+ return 1;
+ else if ((logflag & YFLAG) && (side & (LEFT|RIGHT)))
+ return 1;
+ else
+ return 0;
+}
diff --git a/grap/version.c b/grap/version.c
new file mode 100644
index 0000000000000..177d8e0e7bea9
--- /dev/null
+++ b/grap/version.c
@@ -0,0 +1,30 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/grap.sl 5.7 (gritter) 12/25/06";
+const char version[] = "version Dec 30, 1995 5.7 (gritter) 12/25/06";
+/* SLIST */
+/*
+coord.c: Sccsid @(#)coord.c 1.3 (gritter) 10/18/05
+for.c: Sccsid @(#)for.c 1.3 (gritter) 10/18/05
+frame.c: Sccsid @(#)frame.c 1.3 (gritter) 10/18/05
+grap.c: Sccsid @(#)grap.y 1.3 (gritter) 10/18/05
+grap.c: * Sccsid @(#)yaccpar 1.5 (gritter) 11/26/05
+grap.h: Sccsid @(#)grap.h 1.5 (gritter) 12/5/05
+grap.y: Sccsid @(#)grap.y 1.3 (gritter) 10/18/05
+grapl.c: Sccsid @(#)grapl.l 1.4 (gritter) 11/22/05
+grapl.c: * Sccsid @(#)ncform 1.4 (gritter) 11/18/05
+grapl.l: Sccsid @(#)grapl.l 1.4 (gritter) 11/22/05
+input.c: Sccsid @(#)input.c 1.7 (gritter) 12/25/06
+label.c: Sccsid @(#)label.c 1.2 (gritter) 10/18/05
+main.c: Sccsid @(#)main.c 1.5 (gritter) 12/5/05
+misc.c: Sccsid @(#)misc.c 1.3 (gritter) 10/18/05
+plot.c: Sccsid @(#)plot.c 1.3 (gritter) 10/18/05
+print.c: Sccsid @(#)print.c 1.3 (gritter) 10/18/05
+ticks.c: Sccsid @(#)ticks.c 1.4 (gritter) 11/27/05
+grap.defines:# Sccsid @(#)grap.defines 1.2 (gritter) 10/18/05
+*/
diff --git a/heirloom-doctools.spec b/heirloom-doctools.spec
new file mode 100644
index 0000000000000..5b74cb3ec015a
--- /dev/null
+++ b/heirloom-doctools.spec
@@ -0,0 +1,82 @@
+#
+# Sccsid @(#)heirloom-doctools.spec 1.18 (gritter) 3/20/07
+#
+Summary: The Heirloom Documentation Tools.
+Name: heirloom-doctools
+Version: 000000
+Release: 1
+License: Other
+Source: %{name}-%{version}.tar.bz2
+Group: System Environment/Base
+Vendor: Gunnar Ritter <gunnarr@acm.org>
+URL: <http://heirloom.sourceforge.net>
+BuildRoot: %{_tmppath}/%{name}-root
+BuildRequires: heirloom-devtools
+
+%define bindir /usr/ucb
+%define mandir /usr/share/man/5man
+%define libdir /usr/ucblib
+%define docdir %{libdir}/doctools
+%define macdir %{docdir}/tmac
+%define fntdir %{docdir}/font
+%define tabdir %{docdir}/nterm
+%define hypdir %{docdir}/hyphen
+%define pstdir %{docdir}/font/devpost/postscript
+%define refdir %{libdir}/reftools
+%define pubdir /usr/pub
+
+%define xcc gcc
+%define ccc g++
+%define cflags '-O -fomit-frame-pointer'
+%define cppflags '-D__NO_STRING_INLINES -D_GNU_SOURCE'
+%define yacc /usr/ccs/bin/yacc
+%define lex /usr/ccs/bin/lex
+
+#
+# Combine the settings defined above.
+#
+%define makeflags ROOT=%{buildroot} INSTALL=install YACC=%{yacc} LEX=%{lex} MACDIR=%{macdir} FNTDIR=%{fntdir} TABDIR=%{tabdir} HYPDIR=%{hypdir} PUBDIR=%{pubdir} BINDIR=%{bindir} PSTDIR=%{pstdir} LIBDIR=%{libdir} REFDIR=%{refdir} MANDIR=%{mandir} CC=%{xcc} CCC=%{ccc} CFLAGS=%{cflags} CPPFLAGS=%{cppflags}
+
+%description
+The Heirloom Documentation Tools provide troff, nroff, and related
+utilities to format manual pages and other documents for output on
+terminals and printers. They are portable and enhanced versions of
+the respective OpenSolaris utilities, which descend to ditroff and
+the historical Unix troff. troff provides advanced typographical
+features such as kerning, tracking, and hanging characters. It can
+access PostScript Type 1, OpenType, and TrueType fonts directly.
+Internationalized hyphenation, international paper sizes, and UTF-8
+input are supported.
+
+%prep
+rm -rf %{buildroot}
+%setup
+
+%build
+make %{makeflags}
+
+%install
+make %{makeflags} install
+
+rm -f filelist.rpm
+for f in %{bindir} %{macdir} %{fntdir} %{tabdir} %{hypdir} %{pstdir} %{pubdir} \
+ %{libdir} %{refdir}
+do
+ if test -d %{buildroot}/$f
+ then
+ (cd %{buildroot}/$f; find * -type f -o -type l) | sed "s:^:$f/:"
+ else
+ echo $f
+ fi
+done | sort -u | sed '
+ 1i\
+%defattr(-,root,root)\
+%{mandir}\
+%doc README CHANGES LICENSE/*
+' >filelist.rpm
+
+%clean
+cd .. && rm -rf %{_builddir}/%{name}-%{version}
+rm -rf %{buildroot}
+
+%files -f filelist.rpm
diff --git a/include/global.h b/include/global.h
new file mode 100644
index 0000000000000..8e41045d1aa8a
--- /dev/null
+++ b/include/global.h
@@ -0,0 +1,17 @@
+#ifdef HAVE_STRLCPY
+# define n_strcpy(dst, src, dstsize) strlcpy(dst, src, dstsize)
+#else
+# define n_strcpy(dst, src, dstsize) strcpy(dst, src)
+#endif
+
+#ifdef HAVE_STRLCAT
+# define n_strcat(dst, src, dstsize) strlcat(dst, src, dstsize)
+#else
+# define n_strcat(dst, src, dstsize) strcat(dst, src)
+#endif
+
+#ifdef HAVE_WCSLCPY
+# define n_wcscpy(dst, src, size ) wcslcpy(dst, src, size )
+#else
+# define n_wcscpy(dst, src, size ) wcscpy(dst, src)
+#endif
diff --git a/makefile b/makefile
new file mode 100644
index 0000000000000..1de4ad1006c43
--- /dev/null
+++ b/makefile
@@ -0,0 +1,88 @@
+SUBDIRS = \
+ stuff/bst \
+ eqn/eqn.d \
+ eqn/neqn.d \
+ eqn/checkeq.d \
+ eqn/eqnchar.d \
+ tbl \
+ pic \
+ grap \
+ vgrind \
+ refer \
+ mpm \
+ troff/libhnj \
+ troff/libhnj/hyphen.d \
+ troff/troff.d/font \
+ troff/troff.d/font/devhtml \
+ troff/troff.d/tmac.d \
+ troff/troff.d/postscript \
+ troff/troff.d \
+ troff/troff.d/dpost.d \
+ troff/troff.d/dhtml \
+ troff/nroff.d \
+ troff/nroff.d/terms.d \
+ picpack \
+ checknr \
+ ptx \
+ soelim \
+ col
+
+# Removed from SUBDIRS. Add again if required.
+# troff/troff.d/devaps
+
+MAKEFILES = $(SUBDIRS:=/Makefile)
+
+TESTDIRS = \
+ doc/fonts \
+ doc/just \
+ doc/quickstart \
+ doc/troff \
+ test
+
+.PHONY: test
+.SUFFIXES: .mk
+.mk:
+ cat cfg.mk $< >$@
+
+dummy: cfg.mk $(MAKEFILES) all
+
+makefiles: $(MAKEFILES)
+
+.DEFAULT:
+ + for i in $(SUBDIRS); \
+ do \
+ (cd "$$i" && $(MAKE) $@) || exit; \
+ done
+
+mrproper: clean
+ rm -f cfg.mk config.log compat.h
+ + for i in $(SUBDIRS); \
+ do \
+ (cd "$$i" && $(MAKE) $@) || exit; \
+ done
+ rm -f $(MAKEFILES)
+
+test:
+ for i in $(TESTDIRS); do \
+ (cd $$i && $(MAKE) $@) || exit 1; \
+ done
+ @printf "\n*** TEST FINISHED SUCCESSFUL ***\n"
+
+PKGROOT = /var/tmp/heirloom-devtools
+PKGTEMP = /var/tmp
+PKGPROTO = pkgproto
+
+heirloom-doctools.pkg: all
+ rm -rf $(PKGROOT)
+ mkdir -p $(PKGROOT)
+ $(MAKE) ROOT=$(PKGROOT) install
+ rm -f $(PKGPROTO)
+ echo 'i pkginfo' >$(PKGPROTO)
+ (cd $(PKGROOT) && find . -print | pkgproto) | >>$(PKGPROTO) sed 's:^\([df] [^ ]* [^ ]* [^ ]*\) .*:\1 root root:; s:^f\( [^ ]* etc/\):v \1:; s:^f\( [^ ]* var/\):v \1:; s:^\(s [^ ]* [^ ]*=\)\([^/]\):\1./\2:'
+ rm -rf $(PKGTEMP)/$@
+ pkgmk -a `uname -m` -d $(PKGTEMP) -r $(PKGROOT) -f $(PKGPROTO) $@
+ pkgtrans -o -s $(PKGTEMP) `pwd`/$@ $@
+ rm -rf $(PKGROOT) $(PKGPROTO) $(PKGTEMP)/$@
+
+cfg.mk:
+ ./configure
diff --git a/mk.config b/mk.config
new file mode 100644
index 0000000000000..ebd5e1de3ebf2
--- /dev/null
+++ b/mk.config
@@ -0,0 +1,114 @@
+#
+# A BSD-compatible install command.
+#
+INSTALL=install
+
+#
+# Packaging prefix.
+#
+PREFIX=/usr/local
+
+#
+# Where to place binaries.
+#
+BINDIR=$(PREFIX)/ucb
+
+#
+# Where to place libraries.
+#
+LIBDIR=$(PREFIX)/ucblib
+
+#
+# Where to place ASCII charts and the like.
+#
+PUBDIR=$(PREFIX)/pub
+
+#
+# Where to place manual pages.
+#
+MANDIR=$(PREFIX)/share/heirloom-doctools/man
+
+#
+# Where to place the troff macro packages.
+#
+MACDIR=$(LIBDIR)/doctools/tmac
+
+#
+# Where to place the troff font files.
+#
+FNTDIR=$(LIBDIR)/doctools/font
+
+#
+# Where to place PostScript helper files.
+#
+PSTDIR=$(FNTDIR)/devpost/postscript
+
+#
+# Where to place the nroff terminal description files.
+#
+TABDIR=$(LIBDIR)/doctools/nterm
+
+#
+# Where to place troff hyphenation files.
+#
+HYPDIR=$(LIBDIR)/doctools/hyphen
+
+#
+# Where to place files belonging to the "refer" utility.
+#
+REFDIR=$(LIBDIR)/reftools
+
+#
+# Define this if you want troff and nroff to be able to process
+# locale-specific (8-bit) characters. It requires appropriate support
+# from the C library, so it does not work e.g. with diet libc.
+#
+EUC=-DEUC
+
+#
+# Binaries are stripped with this command after installation.
+#
+STRIP=strip
+
+#
+# The C compiler.
+#
+#CC=
+
+#
+# The C++ compiler.
+#
+#CXX=
+
+#
+# Compiler flags.
+#
+#CFLAGS=
+
+#
+# C preprocessor flags.
+#
+# Use -D_GNU_SOURCE for Linux with GNU libc.
+# Use -D_INCLUDE__STDC_A1_SOURCE for HP-UX.
+#
+CPPFLAGS=-D_GNU_SOURCE
+
+#
+# Warning flags for the compiler.
+#
+#WARN=
+
+#
+# Linker flags.
+#
+#LDFLAGS=
+
+#
+# Additional libraries to link with.
+#
+#LIBS=
+
+#
+# A Bourne-compatible shell.
+#
+SHELL=/bin/sh
diff --git a/mpm/Makefile.mk b/mpm/Makefile.mk
new file mode 100644
index 0000000000000..849a45041259c
--- /dev/null
+++ b/mpm/Makefile.mk
@@ -0,0 +1,30 @@
+OBJ = misc.o page.o queue.o range.o slug.o version.o
+
+FLAGS = $(EUC) $(DEFINES)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+.cc.o:
+ $(CXX) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: pm
+
+pm: $(OBJ)
+ $(CXX) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -lm -o pm
+
+install: all
+ test -d $(ROOT)$(LIBDIR) || mkdir -p $(ROOT)$(LIBDIR)
+ $(INSTALL) -c pm $(ROOT)$(LIBDIR)/pm
+ $(STRIP) $(ROOT)$(LIBDIR)/pm
+
+clean:
+ rm -f $(OBJ) pm core log *~
+
+mrproper: clean
+
+misc.o: misc.cc misc.h
+page.o: page.cc misc.h slug.h range.h page.h
+queue.o: queue.cc misc.h slug.h range.h page.h
+range.o: range.cc misc.h slug.h range.h
+slug.o: slug.cc misc.h slug.h
diff --git a/mpm/README b/mpm/README
new file mode 100644
index 0000000000000..369b76bf64e60
--- /dev/null
+++ b/mpm/README
@@ -0,0 +1,191 @@
+from <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+------------------------------------------------------------------------
+
+An experiment in page makeup for troff output...
+
+-mpm is a version of standard -ms that causes extra
+information for vertical justification and figure
+placement to be included in troff output. Commands that
+have been augmented to provide paddable space are
+
+ .SH and .NH
+ .PP and .LP no space if \n(PD is 0; normally .nr PD 0.3v; leave at least 1u
+ .IP and .QP also
+ .EQ and .EN
+ .TS and .TE no space if \n(TS is 0; normally .nr TS 0.5v
+ .PS and .PE
+ .P1 and .P2 display programs in CW font
+ .DS and .DE
+ .QS and .QE
+
+Other commands, registers, strings, etc.:
+
+ .SP n explicit paddable space, just like .sp n.
+ generally you should ALWAYS use .SP instead of .sp.
+ if you need exactly a given vertical space, you can say
+ .SP 3i exactly
+ this space won't be padded.
+ .Tm words prints "words" and the output page number on stderr
+ sorry about the spelling; -ms pre-empted .TM
+ .NE n like .ne. note: does not cause a break
+
+ Others may be added as the need arises.
+
+ .nr FO n Set the page length. This value is the bottom of
+ the text on the page; a bottom title may lie below.
+ default is 10i (== 10 inches).
+ %o, %e are strings containing odd and even page titles
+ %# is the current page number (often useless)
+ .PT is a macro invoked at the top of each "page";
+ it will normally use %e, %o and %#. There is also
+ a .BT for page bottoms if desired.
+ .BP force a page break
+ .FL force all waiting figures out before any more running text
+ .1C, .2C multiple columns; number registers CW and GW set
+ the column and gutter width if you don't like the default.
+ absent a .FC command, all two-column contents collect
+ together on the page
+ .FC freeze current two-column contents and start afresh.
+ necessary if you want to switch between 1 and 2 column
+ text and keep the relative order among them.
+
+Usage is some variant of
+
+ ... | troff -mpm
+
+/usr/lib/tmac/pm is the page-justifier itself; it is called automatically
+by the -mpm macro package. If you are installing this yourself, you will
+have to edit the 2nd line of tmac.pm to arrange that pm is called directly
+from troff.
+
+There are several lines in tmac.pm that say
+ .so /n/coma/usr/bwk/...
+You should delete these; they are placeholders for some experiments.
+
+If you use -mm, you are more or less out of luck, although we will be
+happy to provide a crude and incomplete program that purports to convert
+-mm to -ms. It may suggest what you need but it won't do the job.
+
+To compile pm, you need a C++ compiler, preferably release 2.0 or later.
+Put the .c and .h files in a directory, and type
+ make
+This process may well fail. The usual cause is that different systems
+put function declarations in different header files, and C++ insists that
+all functions be properly declared. You can almost always get through this
+part by adding function declarations. The most likely offender is malloc;
+a line like
+ extern char *malloc(int);
+near the top of slug.c will solve this one.
+
+
+Bugs, etc.:
+
+ not all -ms commands have been decorated; in particular,
+ the rich variety of document types (TM, CSTR, etc.,) is not
+ really supported.
+
+ there are problems with funny first pages and troff input
+ that moves back up the page.
+
+ multiple columns: only .2C is available. The program does not check
+ whether something is wide or narrow: user has responsibility to mark
+ which with .1C or .2C.
+
+ headings are a bit tricky if you want things like
+ running titles that include the current section title.
+ normally a two-pass procedure using .Tm is needed.
+
+ It's a pain to force a blank vertical space of specified height.
+ Try this:
+ .de x
+ \v'\\$1'\0\h'-\w'\0'u'\c
+ ..
+ .x 2.5i
+
+
+If you want to roll your own, the following components are
+included in pm's "command language". They are inserted in
+the troff output in the form of "x X ..." commands, which
+are created either by \X'...' or by the .X macro in -mpm.
+Look at how they are used in /usr/lib/tmac/tmac.pm for examples.
+
+
+BS n breakable stream n = min # lines that must appear on page
+ use: PP, LP, IP, ...
+
+US unbreakable stream use: KS/KE, DS/DE, TS/TE, EQ/EN, PS/PE, etc.
+
+BF v breakable float v = preferred vertical location of box center
+ use: FS/FE
+ use two successive BF's to give two preferences
+
+UF v unbreakable float v = preferred vertical location of box center
+ use: KF/KE
+ use two successive UF's to give two preferences
+
+PT page title use: user has absolute control between PT and END
+ no SP's or other pm commands inside are processed
+
+BT bottom title use: user has absolute control between BT and END
+
+END end end a US, BF, UF, PT, or BT
+ all constructs nest, but a float within another float
+ or a US block will not float within or outside the block
+
+NE n need break page if a VBOX of height n would not fit on page
+ use: .NE n
+
+SP n space paddable space of n
+ use: .SP n
+
+PARM NP v top of pm text at v
+ new page
+
+PARM FO v bottom of pm text at v
+ footer length of text on page = FO-NP
+
+PARM PL v physical page ends at v
+ page length default = FO + NP
+
+PARM MF x tolerance to prevent padding
+ minimum fullness default = 0.9
+
+PARM CT x tolerance for two-column operation
+ column tolerance default = 0.5
+
+PARM DBG x debugging flag
+
+TM str message .Tm words prints <pageno> <tab> <words> on stderr
+
+MC n o multiple column n columns, offset o.
+ Only 1 and 2 columns will work.
+
+CMD BP break page force page break
+
+CMD FL flush force all queued figures out before any more
+ stream material is output
+
+CMD FC freeze columns force out current two-column contents;
+ start a fresh one
+
+Something like this will probably have to be added:
+
+NC new column HARD!
+
+Known botches in the existing implementation of pm:
+
+If a footnote is split across two pages, any associated separator line
+will not be copied. If there are multiple footnotes on one page, there
+will be multiple separators too. -mpm's .FS macro does not provide a
+separator. If you want a separator line, put it in explicitly with
+a call to the .FA macro.
+
+There are not enough settable parameters; in particular, the
+way to control the height is a botch.
+
+
+Historical note: There is a simpler version of pm and -mpm
+called pj and -mpj that only does vertical justification of
+pages that have already been laid out by conventional means.
+This simpler version may be adequate, but it is no longer
+supported and memory of how it works is growing dim.
diff --git a/mpm/misc.cc b/mpm/misc.cc
new file mode 100644
index 0000000000000..e83bf2531e4e4
--- /dev/null
+++ b/mpm/misc.cc
@@ -0,0 +1,66 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)misc.cc 1.3 (gritter) 10/30/05 */
+#include "misc.h"
+#include <stdarg.h>
+
+char *progname;
+int wantwarn = 0;
+
+int dbg = 0;
+// dbg = 1 : dump slugs
+// dbg = 2 : dump ranges
+// dbg = 4 : report function entry
+// dbg = 8 : follow queue progress
+// dbg = 16: follow page fill progress
+
+static void
+msg(void)
+{
+ fprintf(stdout, "\n#MESSAGE TO USER: ");
+}
+
+void
+FATAL(const char *fmt, ...)
+{
+ char buf[4096];
+ va_list ap;
+
+ msg();
+ va_start(ap, fmt);
+ vsnprintf(buf, sizeof buf, fmt, ap);
+ va_end(ap);
+ fputs(buf, stdout);
+ fprintf(stderr, "%s: ", progname);
+ fputs(buf, stderr);
+ fflush(stdout);
+ exit(1);
+}
+
+void
+WARNING(const char *fmt, ...)
+{
+ char buf[4096];
+ va_list ap;
+
+ msg();
+ va_start(ap, fmt);
+ vsnprintf(buf, sizeof buf, fmt, ap);
+ va_end(ap);
+ fputs(buf, stdout);
+ if (wantwarn) {
+ fprintf(stderr, "%s: ", progname);
+ fputs(buf, stderr);
+ }
+ fflush(stdout);
+}
diff --git a/mpm/misc.h b/mpm/misc.h
new file mode 100644
index 0000000000000..d46efd75be4ca
--- /dev/null
+++ b/mpm/misc.h
@@ -0,0 +1,51 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)misc.h 1.3 (gritter) 10/30/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#include <ctype.h>
+#include <string.h>
+
+#ifdef __GLIBC__
+#ifdef _IO_getc_unlocked
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+#ifdef _IO_putc_unlocked
+#undef putc
+#undef putchar
+#define putc(c, f) _IO_putc_unlocked(c, f)
+#define putchar(c) _IO_putc_unlocked(c, stdout)
+#endif
+#endif /* __GLIBC__ */
+
+extern char *progname;
+extern int linenum;
+extern int wantwarn;
+
+extern void FATAL(const char *, ...);
+extern void WARNING(const char *, ...);
+
+#define eq(s,t) (strcmp(s,t) == 0)
+
+inline int max(int x, int y) { return x > y ? x : y; }
+inline int min(int x, int y) { return x > y ? y : x; }
+// already defined in stdlib.h:
+//inline int abs(int x) { return (x >= 0) ? x : -x; }
+
+extern int dbg;
+
+extern int pn, userpn; // actual and user-defined page numbers
+extern int pagetop, pagebot; // printing margins
+extern int physbot; // physical bottom of the page
diff --git a/mpm/page.cc b/mpm/page.cc
new file mode 100644
index 0000000000000..95efd405ff1a1
--- /dev/null
+++ b/mpm/page.cc
@@ -0,0 +1,628 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)page.cc 1.4 (gritter) 10/30/05 */
+#include <locale.h>
+#include "misc.h"
+#include "slug.h"
+#include "range.h"
+#include "page.h"
+
+const int MAXRANGES = 1000;
+static range *ptemp[MAXRANGES]; // for movefloats()
+
+static void swapright(int n) // used by movefloats()
+{
+ range *t = ptemp[n];
+ ptemp[n] = ptemp[n+1];
+ ptemp[n+1] = t;
+ ptemp[n]->setaccum( ptemp[n+1]->accum() -
+ ptemp[n+1]->rawht() + ptemp[n]->rawht() );
+ ptemp[n+1]->setaccum( ptemp[n]->accum() + ptemp[n+1]->rawht() );
+}
+
+// Figure out the goal position for each floating range on scratch,
+// and move it past stream ranges until it's as close to its goal as possible.
+static void movefloats(stream *scratch, double scale)
+{
+ const int Huge = 10000000;
+ int nranges;
+ for (nranges = 0; scratch->more(); scratch->advance())
+ ptemp[nranges++] = scratch->current();
+ scratch->freeall();
+ ufrange rtemp;
+ ptemp[nranges] = &rtemp;
+ rtemp.setgoal(Huge);
+ int accumV = 0; // compute accum values and
+ int i;
+ for (i = 0; i < nranges; i++) { // pick closest goal for floats
+ ptemp[i]->pickgoal(accumV, scale);
+ ptemp[i]->setaccum(accumV += ptemp[i]->rawht());
+ }
+ int j; // index for inner loop below:
+ for (i = nranges; --i >= 0; ) // stably sort floats to bottom
+ for (j = i; j < nranges; j++)
+ if (ptemp[j]->goal() > ptemp[j+1]->goal())
+ swapright(j);
+ else
+ break;
+ if (dbg & 16)
+ printf("#movefloats: before floating, from bottom:\n");
+ for (i = nranges; --i >= 0; ) { // find topmost float
+ if (ptemp[i]->goal() == NOGOAL)
+ break;
+ if (dbg & 16)
+ printf("# serialno %d goal %d height %d\n",
+ ptemp[i]->serialno(), ptemp[i]->goal(),
+ ptemp[i]->rawht());
+ } // i+1 is topmost float
+ for (i++ ; i < nranges; i++) // move each float up the page
+ for (j = i; j > 0; j--) // as long as closer to its goal
+ if (ptemp[j]->goal()
+ <= ptemp[j-1]->accum() + ptemp[j]->rawht()/2
+ && ptemp[j-1]->goal() == NOGOAL)
+ swapright(j-1);
+ else
+ break;
+ if (ptemp[nranges] != &rtemp)
+ FATAL("goal sentinel has disappeared from movefloats");
+ for (i = 0; i < nranges; i++) // copy sorted list back
+ scratch->append(ptemp[i]);
+}
+
+// Traverse the leaves of a tree of ranges, filtering out only SP and VBOX.
+static range *filter(generator *g)
+{
+ range *r;
+ while ((r = g->next()))
+ if (r->isvbox() || r->issp())
+ break;
+ return r;
+}
+
+// Zero out leading and trailing spaces; coalesce adjacent SP's.
+static void trimspace(stream *scratch)
+{
+ range *r, *prevr = 0;
+ generator g;
+ for (g = scratch; (r = filter(&g)) != 0 && r->issp(); prevr = r)
+ r->setheight(0); // zap leading SP
+ for ( ; (r = filter(&g)) != 0; prevr = r)
+ if (r->issp())
+ {
+ if (prevr && prevr->issp()) {
+ // coalesce adjacent SPs
+ r->setheight(max(r->rawht(), prevr->height()));
+ prevr->setheight(0);
+ } else // a VBOX intervened
+ r->setheight(r->rawht());
+ }
+ if (prevr && prevr->issp()) // zap *all* trailing space
+ prevr->setheight(0); // (since it all coalesced
+ // into the last one)
+}
+
+// Pad the non-zero SP's in scratch so the total height is wantht.
+// Note that the SP values in scratch are not the raw values, and
+// indeed may already have been padded.
+static void justify(stream *scratch, int wantht)
+{
+ range *r;
+ int nsp = 0, hsp = 0;
+
+ int adjht = scratch->height();
+ // Find all the spaces.
+ generator g;
+ for (g = scratch; (r = g.next()); )
+ if (r->issp() && r->height() > 0) {
+ nsp++;
+ hsp += r->height();
+ }
+ int excess = wantht - adjht;
+ if (excess < 0)
+ WARNING("something on page %d is oversize by %d\n",
+ userpn, -excess);
+ if (dbg & 16)
+ printf("# justify %d: excess %d nsp %d hsp %d adjht %d\n",
+ userpn, excess, nsp, hsp, adjht);
+ if (excess <= 0 || nsp == 0)
+ return;
+ // Redistribute the excess space.
+ for (g = scratch; (r = g.next()); )
+ if (r->issp() && r->height() > 0) {
+ int delta = (int) ((float)(r->height()*excess)/hsp + 0.5);
+ if (dbg & 16)
+ printf("# pad space %d by %d: hsp %d excess %d\n",
+ r->height(), delta, hsp, excess);
+ r->setheight(r->height() + delta);
+ }
+}
+
+// If r were added to s, would the height of the composed result be at most maxht?
+int wouldfit(range *r, stream *s, int maxht)
+{
+ if (r->rawht() + s->rawht() <= maxht)
+ return 1; // the conservative test succeeded
+ stream scratch; // local playground for costly test
+ for (stream cd = *s; cd.more(); cd.advance())
+ scratch.append(cd.current());
+ scratch.append(r);
+ movefloats(&scratch, ((double) scratch.rawht())/maxht);
+ trimspace(&scratch);
+ int retval = scratch.height() <= maxht;
+ scratch.freeall();
+ return retval;
+}
+
+// If s1 were added to s, would the height of the composed result be at most maxht?
+// The computational structure is similar to that above.
+int wouldfit(stream *s1, stream *s, int maxht)
+{
+ if (s1->rawht() + s->rawht() <= maxht)
+ return 1;
+ stream scratch, cd;
+ for (cd = *s; cd.more(); cd.advance())
+ scratch.append(cd.current());
+ for (cd = *s1; cd.more(); cd.advance())
+ scratch.append(cd.current());
+ movefloats(&scratch, ((double) scratch.rawht())/maxht);
+ trimspace(&scratch);
+ int retval = scratch.height() <= maxht;
+ scratch.freeall();
+ return retval;
+}
+
+// All of stream *s is destined for one column or the other; which is it to be?
+void multicol::choosecol(stream *s, int goalht)
+{
+ stream *dest;
+ if (!leftblocked && wouldfit(s, &(column[0]), goalht))
+ dest = &(column[0]);
+ else {
+ dest = &(column[1]);
+ if (!s->current()->floatable())
+ // a stream item is going into the right
+ // column, so no more can go into the left.
+ leftblocked = 1;
+ }
+ for (stream cd = *s; cd.more(); cd.advance())
+ dest->append(cd.current());
+}
+
+double coltol = 0.5;
+
+// Try, very hard, to put everything in the multicol into two columns
+// so that the total height is at most htavail.
+void multicol::compose(int defonly)
+{
+ if (!nonempty()) {
+ setheight(0);
+ return;
+ }
+ scratch.freeall(); // fill scratch with everything destined
+ // for either column
+ stream cd;
+ for (cd = definite; cd.more(); cd.advance())
+ scratch.append(cd.current());
+ if (!defonly)
+ for (cd = *(currpage->stage); cd.more(); cd.advance())
+ if (cd.current()->numcol() == 2)
+ scratch.append(cd.current());
+ scratch.restoreall(); // in particular, floatables' goals
+ int rawht = scratch.rawht();
+ int halfheight = (int)(coltol*rawht);
+ // choose a goal height
+ int maxht = defonly ? halfheight : htavail;
+secondtry:
+ int i;
+ for (i = 0; i < 2; i++)
+ column[i].freeall();
+ leftblocked = 0;
+ cd = scratch;
+ while (cd.more()) {
+ queue ministage; // for the minimally acceptable chunks
+ ministage.freeall(); // that are to be added to either column
+ while (cd.more() && !cd.current()->issentinel()) {
+ ministage.enqueue(cd.current());
+ cd.advance();
+ }
+ choosecol(&ministage, maxht);
+ if (cd.more() && cd.current()->issentinel())
+ cd.advance(); // past sentinel
+ }
+ if (height() > htavail && maxht != htavail) {
+ // We tried to balance the columns, but
+ // the result was too tall. Go back
+ // and try again with the less ambitious
+ // goal of fitting the space available.
+ maxht = htavail;
+ goto secondtry;
+ }
+ for (i = 0; i < 2; i++) {
+ movefloats(&(column[i]), ((double) column[i].rawht())/currpage->pagesize);
+ trimspace(&(column[i]));
+ }
+ if (dbg & 32) {
+ printf("#multicol::compose: htavail %d maxht %d dv %d\n",
+ htavail, maxht, height());
+ dump();
+ }
+ if (defonly)
+ stretch(height());
+}
+
+// A sequence of two-column ranges waits on the stage.
+// So long as the page's skeleton hasn't changed--that is, the maximum height
+// available to the two-column chunk is the same--we just use the columns that
+// have been built up so far, and choose a column into which to put the stage.
+// If the skeleton has changed, however, then we may need to make entirely
+// new decisions about which column gets what, so we recompose the whole page.
+void multicol::tryout()
+{
+ if (htavail == prevhtavail)
+ choosecol(currpage->stage, htavail);
+ else
+ currpage->compose(DRAFT);
+ prevhtavail = htavail;
+}
+
+// Make both columns the same height.
+// (Maybe this should also be governed by minfull,
+// to prevent padding very underfull columns.)
+void multicol::stretch(int wantht)
+{
+ if (wantht < height())
+ FATAL("page %d: two-column chunk cannot shrink\n", userpn);
+ for (int i = 0; i < 2; i++)
+ justify(&(column[i]), wantht);
+ if (dbg & 16)
+ printf("#col hts: left %d right %d\n",
+ column[0].height(), column[1].height());
+}
+
+// Report an upper bound on how tall the current two-column object is.
+// The (possibly composed) heights of the two columns give a crude upper
+// bound on the total height. If the result is more than the height
+// available for the two-column object, then the columns are each
+// composed to give a better estimate of their heights.
+int multicol::height()
+{
+ int retval = max(column[0].height(), column[1].height());
+ if (retval < htavail)
+ return retval;
+ for (int i = 0; i < 2; i++) {
+ movefloats(&(column[i]), ((double) column[i].height())/currpage->pagesize);
+ trimspace(&(column[i]));
+ }
+ return max(column[0].height(), column[1].height());
+}
+
+void multicol::dump()
+{
+ printf("####2COL dv %d\n", height());
+ printf("# left column:\n");
+ column[0].dump();
+ printf("# right column:\n");
+ column[1].dump();
+}
+
+// From the head of queue qp, peel off a piece whose raw height is at most space.
+int peeloff(stream *qp, int space)
+{
+ stream *s1 = qp->current()->children();
+ if (!(s1 && s1->more() && s1->current()->height() <= space))
+ // in other words, either qp's head is
+ // not nested, or its first subrange
+ return 0; // is also too big, so we give up
+ qp->split();
+ s1 = qp->current()->children();
+ stream *s2 = qp->next()->children();
+ while (s2->more() && s2->current()->rawht() <= space) {
+ s1->append(s2->current());
+ space -= s2->current()->rawht();
+ s2->advance();
+ }
+ return 1;
+}
+
+// There are four possibilities for consecutive calls to tryout().
+// If we're processing a sequence of single-column ranges, tryout()
+// uses the original algorithm: (1) conservative test; (2) costly test;
+// (3) split a breakable item.
+// If we're processing a sequence of double-column ranges, tryout()
+// defers to twocol->tryout(), which gradually builds up the contents
+// of the two columns until they're as tall as they can be without
+// exceeding twocol->htavail.
+// If we're processing a sequence of single-column ranges and we
+// get a double-column range, then we use compose() to build a
+// skeleton page and set twocol->htavail, the maximum height that
+// should be occupied by twocol.
+// If we're processing a sequence of double-column ranges and we
+// get a single-column range, then we should go back and squish
+// the double-column chunk as short as possible before we see if
+// we can fit the single-column range.
+void page::tryout()
+{
+ if (!stage->more())
+ FATAL("empty stage in page::tryout()\n");
+ int curnumcol = stage->current()->numcol();
+ if (dbg & 32) {
+ printf("#page::tryout(): ncol = %d, prevncol = %d; on stage:\n",
+ curnumcol, prevncol);
+ stage->dump();
+ printf("#END of stage contents\n");
+ }
+ switch(curnumcol) {
+ default:
+ FATAL("unexpected number of columns in tryout(): %d\n",
+ stage->current()->numcol());
+ break;
+ case 1:
+ if (prevncol == 2)
+ compose(FINAL);
+ if (wouldfit(stage, &definite, pagesize - twocol->height()))
+ commit();
+ else if (stage->current()->breakable() || (blank()
+ && peeloff(stage,
+ pagesize - (definite.height() +
+ twocol->height())))) {
+ // first add the peeled-off part that fits
+ adddef(stage->dequeue());
+ // then send the rest back for later
+ stage->current()->setbreaking();
+ welsh();
+ } else if (blank()) {
+ stage->current()->rdump();
+ FATAL("A %s is too big to continue.\n",
+ stage->current()->typname());
+ } else
+ welsh();
+ break;
+ case 2:
+ if (prevncol == 1)
+ compose(DRAFT);
+ else
+ twocol->tryout();
+ if (scratch.height() <= pagesize)
+ commit();
+ else
+ welsh();
+ break;
+ }
+ prevncol = curnumcol;
+}
+
+// To compose the page, we (1) fill scratch with the stuff that's meant to
+// go on the page; (2) compose scratch as best we can; (3) set the maximum
+// height available to the two-column part of the page; (4) have the two-
+// column part compose itself.
+// In the computation of twocol->htavail, it does not matter that
+// twocol->height() is merely an upper bound, because it is merely being
+// subtracted out to give the exact total height of the single-column stuff.
+void page::compose(int final)
+{
+ makescratch(final);
+ int adjht = scratch.rawht();
+ if (dbg & 16)
+ printf("# page %d measure %d\n", userpn, adjht);
+ movefloats(&scratch, ((double) adjht)/pagesize);
+ trimspace(&scratch);
+ twocol->htavail = pagesize - (scratch.height() - twocol->height());
+ twocol->compose(final);
+ adjht = scratch.height();
+ if (dbg & 16)
+ printf("# page %d measure %d after trim\n", userpn, adjht);
+}
+
+// Fill the scratch area with ranges destined for the page.
+// If defonly == 0, then add anything that's on stage--this is a trial run.
+// If defonly != 0, use only what's definitely on the page.
+void page::makescratch(int defonly)
+{
+ scratch.freeall();
+ stream cd;
+ for (cd = definite; cd.more(); cd.advance())
+ scratch.append(cd.current());
+ if (!defonly)
+ for (cd = *stage; cd.more(); cd.advance())
+ if (cd.current()->numcol() == 1)
+ scratch.append(cd.current());
+ if (twocol->nonempty())
+ scratch.append(twocol);
+}
+
+// Accept the current contents of the stage.
+// If the stage contains two-column ranges, add a sentinel to indicate the end
+// of a chunk of stage contents.
+void page::commit()
+{
+ if (dbg & 4)
+ printf("#entering page::commit()\n");
+ int numcol = 0;
+ while (stage->more()) {
+ numcol = stage->current()->numcol();
+ adddef(stage->dequeue());
+ }
+ if (numcol == 2)
+ adddef(new sentrange);
+}
+
+// Send the current contents of the stage back to its source.
+void page::welsh()
+{
+ if (dbg & 4)
+ printf("#entering page::welsh()\n");
+ while (stage->more()) {
+ range *r = stage->dequeue();
+ r->enqueue(ANDBLOCK);
+ }
+}
+
+enum { USonly = 1 };
+
+// So long as anything is eligible to go onto the page, keep trying.
+// Once nothing is eligible, compose and justify the page.
+void page::fill()
+{
+ while (stage->prime())
+ stage->pend();
+ compose(FINAL);
+ if (dbg & 16)
+ scratch.dump();
+ if (anymore()) {
+ int adjht = scratch.height();
+ if (adjht > minfull*pagesize) {
+ justify(&scratch, pagesize);
+ adjht = scratch.height();
+ int stretchamt = max(pagesize - adjht, 0);
+ twocol->stretch(twocol->height() + stretchamt);
+ // in case the page's stretchability lies
+ // entirely in its two-column part
+ } else
+ WARNING("page %d only %.0f%% full; will not be adjusted\n",
+ userpn, 100*(double) adjht/pagesize);
+ }
+}
+
+void page::adddef(range *r)
+{
+ if (dbg & 4)
+ printf("#entering page::adddef()\n");
+ switch (r->numcol()) {
+ case 1: definite.append(r);
+ break;
+ case 2: twocol->definite.append(r);
+ break;
+ default: FATAL("%d-column range unexpected\n", r->numcol());
+ }
+}
+
+int multicol::print(int cv, int col)
+{
+ if (col != 0)
+ FATAL("multicolumn output must start in left column\n");
+ int curv = cv, maxv = cv; // print left column
+ for ( ; column[0].more(); column[0].advance()) {
+ curv = column[0].current()->print(curv, 0);
+ maxv = max(maxv, curv);
+ }
+ curv = cv; // print right column
+ for ( ; column[1].more(); column[1].advance()) {
+ curv = column[1].current()->print(curv, 1);
+ maxv = max(maxv, curv);
+ }
+ return maxv;
+}
+
+void page::print()
+{
+ static int tops = 1, bots = 1;
+ if (!scratch.more()) {
+ WARNING("## Here's what's left on squeue:\n");
+ squeue.dump();
+ WARNING("## Here's what's left on bfqueue:\n");
+ bfqueue.dump();
+ WARNING("## Here's what's left on ufqueue:\n");
+ ufqueue.dump();
+ WARNING("page %d appears to be empty\n", userpn);
+ fflush(stderr), fflush(stdout), exit(0);
+ // something is very wrong if this happens
+ }
+ printf("p%d\n", userpn); // print troff output page number
+ if (ptlist.more()) { // print page header
+ ptlist.current()->print(0, 0);
+ ptlist.advance();
+ } else if (tops) {
+ WARNING("ran out of page titles at %d\n", userpn);
+ tops = 0;
+ }
+ int curv = 0;
+ printf("V%d\n", curv = pagetop);// print page contents
+ for ( ; scratch.more(); scratch.advance()) {
+ curv = scratch.current()->print(curv, 0);
+ }
+ if (btlist.more()) { // print page footer
+ btlist.current()->print(0, 0);
+ btlist.advance();
+ } else if (bots) {
+ WARNING("ran out of page bottoms at %d\n", userpn);
+ bots = 0;
+ }
+ printf("V%d\n", physbot); // finish troff output page
+}
+
+int pagetop = 0; // top printing margin
+int pagebot = 0; // bottom printing margin
+int physbot = 0; // physical bottom of page
+
+double minfull = 0.9; // minimum fullness before padding
+
+int pn = 0; // cardinal page number
+int userpn = 0; // page number derived from PT slugs
+
+static void makepage()
+{
+ page pg(pagebot - pagetop);
+ ++pn;
+ userpn = ptlist.more() ? ptlist.current()->pn() : pn;
+ pg.fill();
+ pg.print();
+}
+
+static void conv(FILE *fp)
+{
+ startup(fp); // read slugs, etc.
+ while (anymore())
+ makepage();
+ lastrange->print(0, 0); // trailer
+ checkout(); // check that everything was printed
+}
+
+int
+main(int argc, char **argv)
+{
+ static FILE *fp = stdin;
+ setlocale(LC_CTYPE, "");
+ progname = argv[0];
+ while (argc > 1 && argv[1][0] == '-') {
+ switch (argv[1][1]) {
+ case 'd':
+ dbg = atoi(&argv[1][2]);
+ if (dbg == 0)
+ dbg = ~0;
+ break;
+ case 'm':
+ minfull = 0.01*atof(&argv[1][2]);
+ break;
+ case 'c':
+ coltol = 0.01*atof(&argv[1][2]);
+ break;
+ case 'w':
+ wantwarn = 1;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ if (argc <= 1)
+ conv(stdin);
+ else
+ while (--argc > 0) {
+ if (strcmp(*++argv, "-") == 0)
+ fp = stdin;
+ else if ((fp = fopen(*argv, "r")) == NULL)
+ FATAL("can't open %s\n", *argv);
+ conv(fp);
+ fclose(fp);
+ }
+ exit(0);
+}
diff --git a/mpm/page.h b/mpm/page.h
new file mode 100644
index 0000000000000..21023e83b03d7
--- /dev/null
+++ b/mpm/page.h
@@ -0,0 +1,132 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)page.h 1.3 (gritter) 10/30/05 */
+extern queue squeue; // the three queues on which ranges reside
+extern queue bfqueue;
+extern queue ufqueue;
+
+extern double minfull;
+
+extern double coltol;
+
+int anymore();
+
+// The following is used in some calls to range::enqueue(int = 0).
+#define ANDBLOCK 1
+
+class page;
+
+enum { DRAFT = 0, FINAL = 1 };
+
+// The mergestream currpage->stage serves as a staging area for page makeup:
+// when primed, it contains a minimal acceptable chunk of input ranges.
+// The page must either take or leave everything that's on stage.
+class mergestream : public queue {
+ page *currpage; // current page that's accepting stuff
+ public:
+ mergestream(page *cp) { currpage = cp; unblock(); }
+ void unblock();
+ int prime(); // stage next legal chunk
+ void pend(); // process pending chunk on stage
+};
+
+// The multicol currpage->twocol is the two-column piece of the page to which
+// two-column ranges are currently being added.
+// The page sets htavail to indicate how tall it is allowed to become.
+// All ranges on definite must be placed when the multicol is printed.
+// Each of these definite ranges also resides on one of column[0] and [1],
+// which represent the current best guess about how to divide definite
+// between the two columns.
+class multicol : public range {
+ page *currpage; // current page that's accepting stuff
+ stream definite; // definitely on page
+ stream scratch; // for trial compositions
+ stream column[2]; // left (0) and right (1) columns
+ int leftblocked; // OK to add to left column?
+ int htavail; // max possible ht, set by page::tryout()
+ int prevhtavail; // max 2-colht last time we added something
+ friend class page;
+public:
+ multicol(page *cp) { currpage = cp;
+ leftblocked = 0;
+ htavail = 0;
+ prevhtavail = -1;
+ setgoal(NOGOAL); }
+ // the two-column piece behaves as part
+ // of the stream of single-column input.
+ int numcol() { return 1; }
+ int nonempty() { return definite.more(); }
+ void choosecol(range *, int);// add first arg to one or other column
+ void choosecol(stream*, int);// add *all ranges on first arg*
+ // to one or other column
+ // NOT the same as a mapcar of the
+ // preceding function over the ranges
+ // on the first argument!
+ void compose(int); // divide into two columns
+ void tryout(); // decide which column gets stage contents
+ void stretch(int); // justify both columns to given height
+ int print(int curv, int col);
+ int height(); // an upper bound on actual height
+ int rawht() { return max(column[0].rawht(), column[1].rawht()); }
+ void reheight(int *cv, int *mv)
+ { *cv += height(); *mv = max(*mv, *cv); }
+ void dump();
+ int isvbox() { return nonempty(); } // during trimspace()
+};
+
+// These sentinel ranges are used to separate the ranges on twocol::definite
+// into the chunks in which they came from the staging area.
+// Thus, they preserve the results of the computation that was done to prime
+// page::stage.
+class sentrange : public range {
+ public:
+ sentrange() { }
+ int numcol() { return 2; }
+ int issentinel() { return 1; }
+};
+
+class page {
+ int pagesize; // allowed maximum height
+ int prevncol; // was last item tried 1- or 2-column?
+ int vsince; // how many vboxes from "current" BS
+ // (to avoid putting a single line on
+ // a page with a very large floatable)
+ stream definite; // definitely on page, in input order
+ stream scratch; // playground in which to alter page
+ void cmdproc(); // process any of several commands
+ void parmproc(); // process any of several parameters
+ void tryout(); // see whether current stage contents fit
+ void compose(int); // float and trim current page contents
+ void makescratch(int); // fill scratch area
+ void commit(); // accept the items on stage
+ void welsh(); // reject the items on stage
+ void adddef(range *r); // add to one of the definite queues
+ // (definite or twocol->definite)
+ public:
+ mergestream *stage;
+ friend class mergestream;
+ multicol *twocol;
+ friend class multicol;
+ page(int p) { pagesize = p;
+ prevncol = 1;
+ vsince = 0;
+ stage = new mergestream(this);
+ twocol = new multicol(this); }
+ ~page() { definite.freeall(); scratch.freeall(); }
+ void fill();
+ int blank() { return !definite.more() && !twocol->definite.more();}
+ void print();
+};
+
+// functions in page.c
+extern int main(int, char **);
diff --git a/mpm/queue.cc b/mpm/queue.cc
new file mode 100644
index 0000000000000..b4287fff52cf5
--- /dev/null
+++ b/mpm/queue.cc
@@ -0,0 +1,248 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)queue.cc 1.3 (gritter) 10/30/05 */
+#include "misc.h"
+#include "slug.h"
+#include "range.h"
+#include "page.h"
+
+queue squeue;
+queue bfqueue;
+queue ufqueue;
+
+// We use the stream function current() to access a queue's head.
+// Thus, queue member curr should always point to its first range.
+void queue::check(const char *whence)
+{
+ if (dbg & 8) {
+ const char *p;
+ if (this == &squeue)
+ p = "squeue";
+ else if (this == &bfqueue)
+ p = "bfqueue";
+ else if (this == &ufqueue)
+ p = "ufqueue";
+ else
+ p = "weird queue";
+ printf("#checking %s\n", p);
+ }
+ if (first != curr)
+ FATAL("check(%s): first != curr, line %d\n", whence, curr->rp->lineno());
+}
+
+// When ranges are told to enqueue themselves, they are being rejected from the
+// stage back onto their original queues.
+// They reset any parameters that may have been altered by staging or trial
+// composition.
+
+void range::enqueue(int block)
+{
+ squeue.enqueue(this);
+ if (block)
+ squeue.block();
+}
+
+void ufrange::enqueue(int block)
+{
+ restore(); // both goal positions
+ ufqueue.enqueue(this);
+ if (block)
+ ufqueue.block();
+}
+
+void bfrange::enqueue(int block)
+{
+ restore(); // both goal positions
+ bfqueue.enqueue(this);
+ if (block)
+ bfqueue.block();
+}
+
+int anymore()
+{
+ return !(squeue.empty() && ufqueue.empty() && bfqueue.empty());
+}
+
+void mergestream::unblock()
+{
+ squeue.unblock();
+ bfqueue.unblock();
+ ufqueue.unblock();
+}
+
+// Fill the staging area with a minimal chunk of input ranges.
+int mergestream::prime()
+{
+ if (dbg & 4)
+ printf("#entering mergestream::prime()\n");
+ if (!empty())
+ return 1;
+ int brkok = 1; // is it OK to break after the last
+ // VBOX that was added to the stage?
+ int needheight = -1; // minimum acceptable height of the
+ // chunk being constructed on stage
+ // If the range at the head of any queue is breaking,
+ // deal with it first.
+ if (squeue.more() && squeue.current()->breaking())
+ enqueue(squeue.dequeue());
+ else if (bfqueue.more() && (bfqueue.current()->breaking() ||
+ (bfqueue.serialno() < squeue.serialno())))
+ enqueue(bfqueue.dequeue());
+ else if (ufqueue.more() && (ufqueue.current()->breaking() ||
+ (ufqueue.serialno() < squeue.serialno())))
+ enqueue(ufqueue.dequeue());
+ else while (squeue.more()) {
+ // Fill the stage with enough ranges to be a valid chunk.
+ range *r = squeue.dequeue();
+ if (r->isvbox()) { // VBOX
+ if (dbg & 16)
+ printf("#VBOX: !empty: %d; brkok: %d; vsince: %d\n",
+ !empty(), brkok, currpage->vsince);
+ if (!empty() // there's something there
+ && brkok
+ // it's OK to break here
+ && currpage->vsince >= 2
+ // enough stream has gone onto this page
+ && rawht() >= needheight
+ // current need has been satisfied
+ ) {
+ // the stage already contains enough
+ // ranges, so this one can wait
+ r->enqueue();
+ break;
+ } else {
+ if (r->rawht() > 0) {
+ ++currpage->vsince;
+ brkok = r->brkafter();
+ }
+ enqueue(r);
+ }
+ } else if (r->isnested() || r->issp()) { // US, SP
+ if (!empty() && rawht() >= needheight) {
+ // enough already, wait
+ r->enqueue();
+ break;
+ }
+ currpage->vsince = 0;
+ enqueue(r);
+ if (height() >= needheight)
+ break;
+ } else if (r->isneed()) { // NE
+ if (!empty() && rawht() >= needheight) {
+ // not currently working on an unsatisfied NEed
+ r->enqueue();
+ break;
+ }
+ // deal with overlapping NEeds
+ needheight = rawht() + max(needheight - rawht(), r->needht());
+ enqueue(r);
+ } else if (r->forceflush() == NO) {
+ enqueue(r);
+ } else if (r->forceflush() == YES) {
+ currpage->vsince = 0;
+ if (!empty()) {
+ // ready or not, r must wait
+ r->enqueue();
+ break;
+ }
+ enqueue(r);
+ break;
+ } else
+ FATAL("unexpected %s[%s] in prime(), line %d\n",
+ r->typname(), r->headstr(), r->lineno());
+ }
+ return more(); // 0 if nothing was staged
+}
+
+void page::cmdproc()
+{
+ if (stage->next())
+ FATAL("more than a single command on bsqueue\n");
+ switch (stage->current()->cmdtype()) {
+ case FC: // freeze the current 2-column range and start a new one
+ adddef(stage->dequeue());
+ twocol->compose(FINAL);
+ adddef(twocol);
+ twocol = new multicol(this);
+ break;
+ case BP: // force a page break
+ adddef(stage->dequeue());
+ squeue.block();
+ break;
+ case FL: // flush out all floatables that precede this range:
+ // no more stream input allowed until they're past
+ if (stage->serialno() > ufqueue.serialno() ||
+ stage->serialno() > bfqueue.serialno()) {
+ range *r = stage->dequeue();
+ r->enqueue(ANDBLOCK);
+ } else
+ adddef(stage->dequeue());
+ break;
+ default:
+ stage->current()->dump();
+ FATAL("unknown command\n");
+ }
+}
+
+void page::parmproc()
+{
+ if (stage->next())
+ FATAL("more than a single parameter on bsqueue\n");
+ switch (stage->current()->parmtype()) {
+ case NP: // page top margin
+ if (blank())
+ pagetop = stage->current()->parm();
+ pagesize = pagebot - pagetop;
+ break;
+ case FO:
+ if (blank())
+ pagebot = stage->current()->parm();
+ pagesize = pagebot - pagetop;
+ break;
+ case PL:
+ if (blank())
+ physbot = stage->current()->parm();
+ break;
+ case MF:
+ minfull = 0.01*stage->current()->parm();
+ break;
+ case CT:
+ coltol = 0.01*stage->current()->parm();
+ break;
+ case WARN:
+ wantwarn = stage->current()->parm();
+ break;
+ case DBG:
+ dbg = stage->current()->parm();
+ break;
+ default:
+ stage->current()->dump();
+ FATAL("unknown parameter\n");
+ }
+ adddef(stage->dequeue());
+}
+
+// Process the contents of the staging area; a relic that used to do more.
+void mergestream::pend()
+{
+ if (dbg & 4)
+ printf("#entering mergestream::pend()\n");
+ if (!more())
+ return;
+ if (current()->iscmd())
+ currpage->cmdproc();
+ else if (current()->isparm())
+ currpage->parmproc();
+ else
+ currpage->tryout();
+}
diff --git a/mpm/range.cc b/mpm/range.cc
new file mode 100644
index 0000000000000..88e0e4d055d80
--- /dev/null
+++ b/mpm/range.cc
@@ -0,0 +1,627 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)range.cc 1.3 (gritter) 10/30/05 */
+#include <math.h>
+#include "misc.h"
+#include "slug.h"
+#include "range.h"
+
+void sprange::reheight(int *cv, int *mv)
+{
+ if (*cv != *mv)
+ WARNING("slug %d: an imbedded SP, line %d\n",
+ first->serialno(), first->lineno());
+ *cv += dv;
+ *mv = max(*mv, *cv);
+}
+
+void sprange::rerawht(int *cv, int *mv)
+{
+ *cv += rawht();
+ *mv = max(*mv, *cv);
+}
+
+void nestrange::restore()
+{
+ subrange->restoreall();
+}
+
+void stream::freeall() // not a destructor; called explicitly
+{
+ strblk *p, *q;
+ for (p = first; p; p = q) {
+ q = p->next;
+ delete p;
+ }
+ first = last = curr = 0;
+}
+
+void stream::dump()
+{
+ for (stream s = *this; s.more(); s.advance())
+ s.current()->dump();
+}
+
+void stream::rdump()
+{
+ for (stream s = *this; s.more(); s.advance())
+ s.current()->rdump();
+}
+
+int stream::restoreall()
+{
+ for (stream s = *this; s.more(); s.advance())
+ s.current()->restore();
+ return measure(this);
+}
+
+range *stream::append(range *r)
+{
+ if (last == 0)
+ curr = first = last = new strblk;
+ else {
+ last->next = new strblk;
+ last = last->next;
+ if (curr == 0)
+ curr = last;
+ }
+ last->next = 0;
+ return last->rp = r;
+}
+
+void stream::split() // duplicate current() range
+{
+ strblk *s2 = new strblk;
+ range *r2 = curr->rp->clone();
+ s2->rp = r2;
+ s2->next = curr->next;
+ if (last == curr)
+ last = s2;
+ curr->next = s2;
+ curr->rp->killkids(); // children only in the 2nd one
+ // r2->crosslink(r1);
+}
+
+int stream::height()
+{
+ stream s = *this;
+ int h;
+ for (h = 0; s.more(); s.advance())
+ h += s.current()->height();
+ return h;
+}
+
+int stream::rawht()
+{
+ stream s = *this;
+ int h;
+ for (h = 0; s.more(); s.advance())
+ h += s.current()->rawht();
+ return h;
+}
+
+int measure(stream *sp) // record high-water mark of stream
+{ // sets nested stream heights
+ stream s = *sp;
+ int curv, maxv;
+ for (maxv = curv = 0; s.more(); s.advance())
+ s.current()->reheight(&curv, &maxv);
+ return maxv;
+}
+
+int rawmeasure(stream *sp)
+{
+ stream s = *sp;
+ int curv, maxv;
+ for (maxv = curv = 0; s.more(); s.advance())
+ s.current()->rerawht(&curv, &maxv);
+ return maxv;
+}
+
+void nestrange::rdump()
+{
+ dump();
+ if (subrange)
+ subrange->rdump();
+}
+
+void nestrange::killkids()
+{
+ subrange = new stream;
+}
+
+int nestrange::print(int curv, int col)
+{
+ int ocurv = curv;
+ first->slugout(col);
+ for (stream s = *subrange; s.more(); s.advance())
+ curv = s.current()->print(curv, col);
+ return ocurv + height();
+}
+
+#define macroclone(rangetype) range *rangetype::clone() {\
+ rangetype *t = new rangetype;\
+ *t = *this;\
+ return t; }
+
+macroclone(usrange);
+macroclone(ufrange);
+macroclone(bfrange);
+
+#undef macroclone
+
+#define macropickgoal(rangetype) void rangetype::pickgoal(int acv, double scale) {\
+ if (scale > 1) {\
+ goalV = (int)(scale*goalV);\
+ goal2 = (int)(scale*goal2);\
+ }\
+ if (abs(acv - goalV) > abs(acv-goal2))\
+ goalV = goal2; }
+
+macropickgoal(ufrange)
+macropickgoal(bfrange)
+
+#undef macropickgoal
+
+range *generator::next()
+{
+ range *r;
+ if (child) {
+ if ((r = child->next()))
+ return r;
+ delete child;
+ child = 0;
+ }
+ if (!s.more())
+ return 0;
+ r = s.current();
+ if (r->isnested())
+ child = new generator(r->children());
+ s.advance();
+ return r;
+}
+
+range *queue::enqueue(range *r)
+{
+ if (dbg & 8)
+ printf("#entering queue::enqueue()\n");
+ check("queue::enqueue");
+ if (!last || last->rp->serialno() < r->serialno()) // common case
+ return append(r);
+ if (dbg & 8)
+ printf("#queue::enqueue() pushing back\n");
+ newguy = new strblk;
+ newguy->rp = r;
+ if (r->serialno() < first->rp->serialno()) {
+ newguy->next = first;
+ curr = first = newguy;
+ return newguy->rp;
+ }
+ if (dbg & 8)
+ printf("#queue::enqueue() searching down queue\n");
+ for (curr = first;
+ next() && next()->serialno() < r->serialno();
+ curr = curr->next)
+ ;
+ newguy->next = curr->next;
+ curr->next = newguy;
+ curr = first; // restore important queue condition
+ return newguy->rp;
+}
+
+range *queue::dequeue()
+{
+ if (dbg & 8)
+ printf("#entering queue::dequeue()\n");
+ check("queue::dequeue");
+ curr = first->next;
+ range *retval = first->rp;
+ delete first;
+ first = curr;
+ if (!curr)
+ last = 0;
+ return retval;
+}
+
+// ================================================================================
+
+// functions that munge the troff output stored in slugs[]
+
+// ================================================================================
+
+static void doprefix(FILE *fp) // copy 1st "x" commands to output
+{
+ int c;
+
+ while ((c = getc(fp)) != EOF) {
+ if (c != 'x') {
+ ungetc(c, fp);
+ break;
+ }
+ putchar(c);
+ do {
+ putchar(c = getc(fp));
+ } while (c != '\n');
+ linenum++;
+ }
+// printf("x font 1 R\n"); // horrible kludge: ensure a font for first f1 command
+}
+
+#define DELTASLUGS 15000
+
+static slug *slugs = 0;
+static int nslugs = 0; // slugs has nslugs slots
+static slug *slugp = 0; // next free slug in slugs
+
+static void readslugs(FILE *fp)
+{
+ if ((slugs = (slug *) malloc((nslugs = DELTASLUGS)*sizeof(slug))) == NULL)
+ FATAL("no room for %d-slug array\n", nslugs);
+ slugp = slugs;
+ for (slugp = slugs; ; slugp++) {
+ if (slugp >= slugs+nslugs-2) {
+ int where = slugp - slugs;
+ if ((slugs = (slug *) realloc((char *) slugs, (nslugs += DELTASLUGS)*sizeof(slug))) == NULL)
+ FATAL("no room for %d slugs\n", nslugs);
+ WARNING("now slug array can hold %d slugs\n", nslugs);
+ slugp = slugs + where;
+ }
+ *slugp = getslug(fp);
+ if (slugp->type == EOF)
+ break;
+ }
+ *++slugp = eofslug();
+ printf("# %d slugs\n", (int)(slugp-slugs));
+}
+
+static slug *findend(slug *sp)
+{
+ slug *p;
+ for (p = sp; p->type == sp->type; p++) // skip runs
+ ; // espec UF UF UF
+ for ( ; p < slugp; p++)
+ switch (p->type) {
+ case US:
+ case UF:
+ case BF:
+ case PT:
+ case BT:
+ p = findend(p);
+ break;
+ case END:
+ return p;
+ }
+ FATAL("walked past EOF in findend looking for %d (%s), line %d\n",
+ sp->type, sp->typname(), sp->lineno());
+ return sp;
+}
+
+static int markp(int i, int n, int parm)
+{ // should VBOX i of n be marked to brevent breaking after it?
+ if (i >= n-1)
+ return 0;
+ return i <= parm-2 || i >= n-parm;
+}
+
+static void markbreak(slug *p)
+{
+ // Mark impermissible breakpoints in BS's.
+ // The parm field of a VBOX is >0 if we shouldn't break after it.
+ int parm = 0; // how many lines must stay on page
+ int goahead = 1; // true until we see the next BS
+ int nowmark = 0; // true when we should be marking
+ int n = 0;
+ while (p->type == BS)
+ parm = p++->parm; // latest BS parm applies
+ slug *op = p;
+ while (goahead) {
+ switch (p->type) {
+ case VBOX: // count VBOXes so second pass knows
+ if (p->dv > 0) // knows how far to end of BS
+ n++;
+ break;
+ case US: // mark around EQ/EN, etc.
+ nowmark = 1;
+ p = findend(p);
+ break;
+ case UF: // but not around floats, PTs, and BTs
+ case BF:
+ case PT:
+ case BT:
+ p = findend(p);
+ break;
+ case SP: // naked SP: probable macro botch
+ nowmark = 1; // mark around it anyhow
+ break;
+ case BS: // beginning of next paragraph
+ case END: // probable macro botch
+ case EOF:
+ goahead = 0; // stop work after marking
+ nowmark = 1;
+ default:
+ break;
+ }
+ p++;
+ if (nowmark) {
+ int i = 0; // VBOX counter for second pass
+ while (op < p) {
+ switch (op->type) {
+ case VBOX:
+ if (op->dv > 0)
+ op->parm = markp(i, n, parm);
+ i++;
+ break;
+ case US: // caused second pass to begin
+ case SP:
+ case BS:
+ case END:
+ case EOF:
+ op = p;
+ break;
+ case UF: // skip on this pass too
+ case BF:
+ case PT:
+ case BT:
+ op = findend(op);
+ break;
+ default:
+ break;
+ }
+ op++;
+ }
+ if (i != n)
+ WARNING("markbreak failed : i %d n %d\n", i, n);
+ op = p;
+ nowmark = n = 0;
+ }
+ }
+}
+
+static void fixslugs() // adjust bases and dv's, set parameters, etc.
+{
+ slug *prevV = 0, *p;
+ for (p = slugs; p < slugp; p++) {
+ if (p->type == VBOX) {
+ prevV = p;
+ continue;
+ }
+ if (p->base != 0) {
+ WARNING("%s slug (type %d) has base = %d, line %d\n",
+ p->typname(), p->type, p->base, p->lineno());
+ }
+ if ((p->type == SP) || (p->type == NE))
+ continue;
+ if (p->type == PAGE)
+ prevV = 0;
+ if (p->dv != 0)
+ {
+ if (prevV) {
+ prevV->base = max(prevV->base, p->dv);
+ p->dv = 0;
+ } else {
+ WARNING("s slug (type %d) has dv = %d, line %d\n",
+ p->typname(), p->type, p->dv, p->lineno());
+ }
+ }
+ }
+ prevV = 0;
+ int firstNP = 0, firstFO = 0, firstPL = 0;
+ for (p = slugs; p < slugp; p++) {
+ switch (p->type) {
+ // adjust the dv in a sequence of VBOXes
+ // by subtracting from each the base of the preceding VBOX
+ case VBOX:
+ if (prevV)
+ p->dv -= prevV->base;
+ prevV = p;
+ break;
+ case SP:
+ p->dv = max(p->dv, 0);
+ break;
+ case PAGE:
+ p->neutralize();
+ prevV = 0;
+ break;
+ // record only first "declarations" of Page Top and bottom (FO);
+ case PARM:
+ switch (p->parm) {
+ case NP:
+ if (firstNP++ == 0)
+ pagetop = p->parm2;
+ p->neutralize();
+ break;
+ case FO:
+ if (firstFO++ == 0)
+ pagebot = p->parm2;
+ p->neutralize();
+ break;
+ case PL:
+ if (firstPL++ == 0)
+ physbot = p->parm2;
+ p->neutralize();
+ break;
+ }
+ break;
+ // things that begin groups; not US, which should nest properly
+ case UF:
+ case BF:
+ while ((p+1)->type == p->type) {
+ // join adjacent identical
+ (p+1)->parm2 = p->parm; // parm is latest
+ // parm2 is previous
+ p->neutralize(); // so it's not seen later
+ p++;
+ }
+ break;
+ // none of the above
+ case US:
+ case PT:
+ case BT:
+ case BS:
+ case END:
+ case TM:
+ case COORD:
+ case NE:
+ case MC:
+ case CMD:
+ case EOF:
+ break;
+ default:
+ WARNING("Unknown slug type %d in fixslugs, line %d\n",
+ p->type, p->lineno());
+ break;
+ }
+ }
+ int pagesize = pagebot - pagetop;
+ if (pagesize == 0)
+ FATAL("Page dimensions not declared\n");
+ if (physbot == 0)
+ physbot = pagebot + pagetop;
+ printf("# page top %d bot %d size %d physbot %d\n",
+ pagetop, pagebot, pagesize, physbot);
+ for (p = slugs; p < slugp; p++) {
+ switch (p->type) {
+ // normalize float parameters
+ case BF:
+ case UF:
+ // primary goal
+ p->parm = max(min(p->parm-pagetop, pagesize), 0);
+ // secondary goal
+ p->parm2 = max(min(p->parm2-pagetop, pagesize), 0);
+ break;
+ // normalize need parameters
+ case NE:
+ p->dv = max( min(p->dv, pagesize), 0);
+ break;
+ // mark permissible breaks
+ case BS:
+ markbreak(p);
+ break;
+ }
+ if (dbg & 1)
+ p->dump();
+ }
+}
+
+void checkout()
+{
+ for (slug *p = slugs; p < slugp; p++)
+ switch (p->type) {
+ case PT:
+ case BT:
+ p = findend(p);
+ break;
+ case SP:
+ case VBOX:
+ if (p->seen != 1)
+ WARNING("%s slug %d seen %d times\n",
+ p->typname(), p->serialno(),
+ p->seen);
+ break;
+ }
+}
+
+eofrange *lastrange;
+stream ptlist, btlist;
+
+static slug *makeranges(slug *p, stream *s, int level)
+{
+ stream *t;
+
+ for ( ; p < slugp; p++)
+ switch (p->type) {
+ case VBOX:
+ s->append(new vboxrange(p));
+ break;
+ case SP:
+ s->append(new sprange(p));
+ break;
+ case BS:
+ s->append(new bsrange(p));
+ break;
+ case US:
+ s->append(new usrange(p, t = new stream));
+ p = makeranges(p+1, t, level+1);
+ break;
+ case BF:
+ s->append(new bfrange(p, t = new stream));
+ p = makeranges(p+1, t, level+1);
+ break;
+ case UF:
+ s->append(new ufrange(p, t = new stream));
+ p = makeranges(p+1, t, level+1);
+ break;
+ case PT:
+ ptlist.append(new ptrange(p, t = new stream));
+ p = makeranges(p+1, t, level+1);
+ break;
+ case BT:
+ btlist.append(new btrange(p, t = new stream));
+ p = makeranges(p+1, t, level+1);
+ break;
+ case END:
+ s->append(new endrange(p));
+ return p;
+ case TM:
+ s->append(new tmrange(p));
+ break;
+ case COORD:
+ s->append(new coordrange(p));
+ break;
+ case NE:
+ if (level) {
+ WARNING("Nested NE commands are ignored, line %d\n",
+ p->lineno());
+ p->dv = 0;
+ }
+ s->append(new nerange(p));
+ break;
+ case MC:
+ s->append(new mcrange(p));
+ break;
+ case CMD:
+ if (level)
+ WARNING("Nested command ignored, line %d\n",
+ p->lineno());
+ s->append(new cmdrange(p));
+ break;
+ case PARM:
+ if (level)
+ WARNING("Nested parameter ignored, line %d\n",
+ p->lineno());
+ s->append(new parmrange(p));
+ break;
+ case EOF:
+ lastrange = new eofrange(p);
+ return 0;
+ }
+ return p;
+}
+
+static queue text; // unexamined input ranges; the real data
+
+void startup(FILE *fp)
+{
+ doprefix(fp); // peel off 'x' commands
+ readslugs(fp); // read everything into slugs[]
+ fixslugs(); // measure parameters and clean up
+ makeranges(slugs, &text, 0); // add range superstructure
+ measure(&text); // heights of nested things
+ rawmeasure(&text);
+ while (text.more()) {
+ range *r = text.dequeue();
+ if (dbg & 2)
+ r->dump();
+ r->enqueue();
+ }
+}
diff --git a/mpm/range.h b/mpm/range.h
new file mode 100644
index 0000000000000..c3f4cfac5fe9e
--- /dev/null
+++ b/mpm/range.h
@@ -0,0 +1,348 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)range.h 1.3 (gritter) 10/30/05 */
+const int NOGOAL = -1;
+
+class stream;
+
+enum primeflush { NO, YES, EXPECTED, UNEXPECTED }; // mergestream::prime()
+
+// Ranges do two things. They interpose a layer between slugs and the rest
+// of the program; this is important because of the grossness of the slug
+// data structure (made necessary by its origins in troff output). Ranges also
+// group together other ranges into meaningful chunks like unbreakable stream
+// objects, floatable objects, and page headers and footers.
+// Member function height() returns a range's height as of the latest composition.
+// Member function rawht() returns the range's original height in the input.
+class range {
+ protected:
+ slug *first; // earliest slug in range
+ int accumV; // accumulated V to this point
+ public:
+ range() { first = 0; accumV = 0; }
+ range(slug *p) { first = p; accumV = 0; }
+ char *headstr() {
+ return first ? first->headstr() : (char *)""; }
+ char *typname() { return first->typname(); }
+ int serialno() { return first->serialno(); }
+ int lineno() { return first->lineno(); }
+ virtual void dump() { first->dump(); }
+ virtual void rdump() { dump(); }
+ virtual int print(int cv, int col) {
+ first->slugout(col); return cv; }
+ virtual int floatable() { return 0; }
+ virtual int brkafter() { return 1; }
+ virtual int isnested() { return 0; }
+ virtual int issp() { return 0; }
+ virtual int isvbox() { return 0; }
+ virtual int isneed() { return 0; }
+ virtual int iscmd() { return 0; }
+ virtual int cmdtype() { return -1; }
+ virtual int isparm() { return 0; }
+ virtual int parmtype() { return -1; }
+ virtual int parm() { return -1; }
+ virtual int breakable() { return 0; }
+ virtual int forceflush() { return UNEXPECTED; }
+ virtual int pn() { return 0; }
+ virtual stream *children() { return 0; } // see page::peeloff()
+ virtual void killkids() { }
+ virtual void enqueue(int = 0);
+ virtual int height() { return 0; }
+ virtual int rawht() { return 0; }
+ virtual int needht() { return 0; }
+ virtual void reheight(int *, int *) { }
+ virtual void rerawht(int *, int *) { }
+ virtual void setheight(int) { }
+ virtual void restore() { } // goals of floatables
+ virtual int goal() { return NOGOAL; }
+ int accum() { return accumV; }
+ void setaccum(int n) { accumV = n; }
+ virtual void setgoal(int) { }
+ virtual void pickgoal(int, double) { }
+ virtual int numcol() { return first->numcol(); }
+ virtual int issentinel() { return 0; }
+ virtual range *clone() { return 0; }
+ virtual int breaking() { return 0; }
+ virtual void setbreaking() { }
+};
+
+class vboxrange : public range {
+ int dv; // inherited from slug
+ int base; // inherited from slug
+ int brk; // 0 => ok to break after, 1 => no break
+ public:
+ vboxrange(slug *p) : range(p) { dv = p->dv; base = p->base; brk = p->parm; }
+ void dump() {
+ printf("#### VBOX brk? %d dv %d ht %d\n", brk, dv, dv+base); }
+ int print(int cv, int col) {
+ printf("V%d\n", cv += dv); first->slugout(col); return cv+base; }
+ int brkafter() { return !brk; }
+ int isvbox() { return 1; }
+ int forceflush() { return NO; }
+ int height() { return dv + base; }
+ int rawht() { return first->dv + first->base; }
+ void reheight(int *cv, int *mv) {
+ *cv += dv+base; *mv = max(*mv, *cv); }
+ void rerawht(int *cv, int *mv) {
+ *cv += rawht(); *mv = max(*mv, *cv); }
+};
+
+class sprange : public range {
+ int dv;
+ public:
+ sprange(slug *p) : range(p) { dv = first->dv; }
+ void dump() {
+ printf("#### SP dv %d (originally %d)\n", dv, first->dv); }
+ int print(int cv, int col) {
+ first->slugout(col); return cv + dv; }
+ int issp() { return 1; }
+ int forceflush() { return YES; }
+ int height() { return dv; }
+ int rawht() { return first->dv; }
+ void reheight(int *, int *);
+ void rerawht(int *, int *);
+ void setheight(int n) { dv = n; }
+};
+
+class tmrange : public range {
+ public:
+ tmrange(slug *p) : range(p) { }
+ int forceflush() { return NO; }
+ int print(int cv, int col) { first->slugout(col); return cv; }
+};
+
+class coordrange : public range {
+ public:
+ coordrange(slug *p) : range(p) { }
+ int forceflush() { return NO; }
+ int print(int cv, int col)
+ { first->slugout(col); printf(" Y %d\n", cv); return cv; }
+};
+
+class nerange : public range {
+ public:
+ nerange(slug *p) : range(p) { }
+ int isneed() { return 1; }
+ int forceflush() { return YES; }
+ int needht() { return first->dv; }
+};
+
+class mcrange : public range {
+ public:
+ mcrange(slug *p) : range(p) { }
+ int forceflush() { return YES; }
+};
+
+class cmdrange : public range {
+ public:
+ cmdrange(slug *p) : range(p) { }
+ int iscmd() { return 1; }
+ int forceflush() { return YES; }
+ int cmdtype() { return first->parm; }
+};
+
+class parmrange : public range {
+ public:
+ parmrange(slug *p) : range(p) { }
+ int isparm() { return 1; }
+ int forceflush() { return YES; }
+ int parmtype() { return first->parm; }
+ int parm() { return first->parm2; }
+};
+
+class bsrange : public range {
+ public:
+ bsrange(slug *p) : range(p) { }
+ int forceflush() { return NO; }
+ int print(int cv, int col) { first->slugout(col); return cv; }
+};
+
+class endrange : public range {
+ public:
+ endrange(slug *p) : range(p) { }
+ int forceflush() { return UNEXPECTED; }
+};
+
+class eofrange : public range {
+ public:
+ eofrange(slug *p) : range(p) { }
+ int forceflush() { return UNEXPECTED; }
+};
+
+extern eofrange *lastrange; // the EOF block (trailer, etc.) goes here
+
+int measure(stream *);
+int rawmeasure(stream *);
+
+// A nestrange packages together a sequence of ranges, its subrange.
+// Other parts of the program reach in and alter the dimensions of
+// some of these ranges, so when the height of a range is requested
+// it is computed completely afresh.
+// (Note: the alternative, of keeping around many copies of ranges
+// with different dimensions, was abandoned because of the difficulty
+// of ensuring that exactly one copy of each original range would be
+// output.)
+class nestrange : public range {
+ protected:
+ stream *subrange;
+ int isbreaking;
+ int rawdv;
+ public:
+ nestrange() : range() { subrange = 0; isbreaking = 0; rawdv = -1; }
+ nestrange(slug *p, stream *s) : range(p)
+ { subrange = s; isbreaking = 0; rawdv = -1; }
+ void rdump();
+ virtual void restore();
+ stream *children() { return subrange; }
+ void killkids();
+ int height() { return measure(subrange); }
+ int rawht() { if (rawdv < 0 || isbreaking) rawdv = rawmeasure(subrange);
+ return rawdv; }
+ void reheight(int *cv, int *mv) {
+ *mv += measure(subrange); *cv = max(*mv, *cv); }
+ void rerawht(int *cv, int *mv) {
+ *mv += rawht(); *cv = max(*mv, *cv); }
+ int isnested() { return 1; }
+ int forceflush() { return EXPECTED; }
+ int print(int cv, int col);
+ int breaking() { return isbreaking; }
+ void setbreaking() { isbreaking++; }
+};
+
+class usrange : public nestrange {
+ public:
+ usrange() { }
+ usrange(slug *p, stream *s) : nestrange(p, s) {}
+ void dump() { printf("#### US dv %d\n", height()); }
+ range *clone();
+};
+
+class ufrange : public nestrange {
+ int goalV, goal2;
+ public:
+ ufrange() { }
+ ufrange(slug *p, stream *s) : nestrange(p, s) {
+ goalV = p->parm; goal2 = p->parm2; }
+ void dump() { printf("#### UF dv %d goal %d goal2 %d\n",
+ height(), goalV, goal2); }
+ int floatable() { return 1; }
+ void enqueue(int = 0);
+ range *clone();
+ int goal() { return goalV; }
+ void setgoal(int n) { goalV = goal2 = n; }
+ void pickgoal(int acv, double scale);
+ void restore() { goalV = first->parm; goal2 = first->ht; }
+};
+
+class bfrange : public nestrange {
+ int goalV, goal2;
+ public:
+ bfrange() { }
+ bfrange(slug *p, stream *s) : nestrange(p, s) {
+ goalV = p->parm; goal2 = p->parm2; }
+ void dump() { printf("#### BF dv %d goal %d goal2 %d\n",
+ height(), goalV, goal2); }
+ int floatable() { return 1; }
+ void enqueue(int = 0);
+ range *clone();
+ int goal() { return goalV; }
+ void setgoal(int n) { goalV = goal2 = n; }
+ void pickgoal(int acv, double scale);
+ void restore() { goalV = first->parm; goal2 = first->parm2; }
+ int breakable() { return 1; } // can be broken
+};
+
+class ptrange : public nestrange {
+ int pgno;
+ public:
+ int pn() { return pgno; }
+ ptrange(slug *p, stream *s) : nestrange(p, s) { pgno = p->parm; }
+ void dump() { printf("#### PT pgno %d dv %d\n", pgno, height()); }
+};
+
+class btrange : public nestrange {
+ int pgno;
+ public:
+ btrange(slug *p, stream *s) : nestrange(p, s) { pgno = p->parm; }
+ void dump() { printf("#### BT pgno %d dv %d\n", pgno, height()); }
+};
+
+// A stream is a sequence of ranges; we use this data structure a lot
+// to traverse various sequences that crop up in page-making.
+class stream {
+ protected:
+public:
+ struct strblk { // ranges are linked by these blocks
+ strblk *next;
+ range *rp;
+ };
+ strblk *first;
+ strblk *last;
+ strblk *curr;
+ public:
+ stream() { curr = last = first = 0; }
+ stream(range *r) { curr = last = first = new strblk;
+ last->rp = r; last->next = 0; }
+ void freeall(); // note: not a destructor
+ void dump(); // top level
+ void rdump(); // recursive
+ int restoreall();
+ range *current() { return curr->rp; }
+ range *next() { return curr && curr->next ? curr->next->rp : 0; }
+ void advance() { curr = curr->next; }
+ range *append(range *r);
+ void split();
+ int more() { return curr && curr->rp; }
+ int height();
+ int rawht();
+};
+
+// A generator iterates through all the ranges of a stream
+// (not just the root ranges of nestranges).
+class generator {
+ stream s;
+ generator *child;
+ public:
+ generator() { child = 0; }
+ generator(stream *sp) { s = *sp; child = 0; }
+ range *next();
+};
+
+extern stream ptlist, btlist; // page titles
+
+#undef INFINITY
+#define INFINITY 1000001
+
+// A queue is a distinguished kind of stream.
+// It keeps its contents in order by the serial numbers of the ranges.
+// A queue can be blocked from dequeuing something to indicate
+// that it's not worth considering the queue again on a given page.
+class queue : public stream {
+ strblk *newguy;
+ protected:
+ int blocked;
+ void check(const char *);
+ public:
+ queue() : blocked(0) { }
+ range *enqueue(range *r);
+ range *dequeue();
+ void block() { blocked = 1; }
+ void unblock() { blocked = 0; }
+ int more() { return !blocked && stream::more(); }
+ int empty() { return !stream::more(); }
+ int serialno() { return empty() ? INFINITY : current()->serialno(); }
+};
+
+// functions in range.c
+void checkout();
+void startup(FILE *);
diff --git a/mpm/slug.cc b/mpm/slug.cc
new file mode 100644
index 0000000000000..d5b56045bc880
--- /dev/null
+++ b/mpm/slug.cc
@@ -0,0 +1,642 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)slug.cc 1.7 (gritter) 7/29/06 */
+#include "misc.h"
+#include "slug.h"
+#include <math.h>
+
+static char *bufptr(int);
+
+void slug::coalesce()
+{
+ (this+1)->dp = dp; // pretty grimy, but meant to ensure
+ // that all output goes out.
+ // maybe it has to skip over PT's;
+ // some stuff is getting pushed inside PT..END
+}
+
+void slug::neutralize()
+{
+ switch (type) {
+ case PAGE:
+ case UF:
+ case BF:
+ case PARM:
+ type = NEUTRAL;
+ coalesce();
+ break;
+ default:
+ WARNING("neutralized %d (%s) with %s\n",
+ type, typname(), headstr());
+ break;
+ }
+}
+
+void slug::dump() // print contents of a slug
+{
+ printf("# %d %-4.4s parm %d dv %d base %d s%g f%d H%d\n#\t\t%s\n",
+ serialno(), typname(), parm, dv, base,
+ size, font, hpos, headstr());
+}
+
+char *slug::headstr()
+{
+ const int HEADLEN = 4096;
+ static char buf[2*HEADLEN];
+ int j = 0;
+ char *s = bufptr(dp);
+ int n = (this+1)->dp - dp;
+ if (n >= HEADLEN)
+ n = HEADLEN;
+ for (int i = 0; i < n; i++)
+ switch (s[i]) {
+ case '\n':
+ case '\t':
+ case '\0':
+ case ' ':
+ break;
+ default:
+ buf[j++] = s[i];
+ break;
+ }
+ buf[j] = 0;
+ return buf;
+}
+
+static char *strindex(char s[], const char t[]) // index of earliest t[] in s[]
+{
+ for (int i = 0; s[i] != '\0'; i++) {
+ int j, k;
+ for (j = i, k = 0; t[k]!='\0' && s[j] == t[k]; j++, k++)
+ ;
+ if (k > 0 && t[k] == '\0')
+ return s+i;
+ }
+ return 0;
+}
+
+void slug::slugout(int col)
+{
+ static int numout = 0;
+ if (seen++)
+ WARNING("%s slug #%d seen %d times [%s]\n",
+ typname(), serialno(), seen, headstr());
+ if (type == TM) {
+ char *p;
+ if ((p = strindex(bufptr(dp), "x X TM ")))
+ p += strlen("x X TM "); // skip junk
+ else
+ FATAL("strange TM [%s]\n", headstr());
+ fprintf(stderr, "%d\t", userpn); // page # as prefix
+ for ( ; p < bufptr((this+1)->dp); p++)
+ putc(*p, stderr);
+ } else if (type == COORD) {
+ for (char *p = bufptr(dp); p < bufptr((this+1)->dp) && *p != '\n'; p++)
+ putc(*p, stdout);
+ printf(" # P %d X %d", userpn, hpos + col*offset);
+ return;
+ } else if (type == VBOX) {
+ if (numout++ > 0) { // BUG??? might miss something
+ if (size == (int)size)
+ printf("s%d\n", (int)size);
+ else
+ printf("s-23 %g\n", size);
+ printf("f%d\n", font);
+ }
+ printf("H%d\n", hpos + col*offset);
+ }
+ fwrite(bufptr(dp), sizeof(char), (this+1)->dp - dp, stdout);
+}
+
+char *slug::typname()
+{
+ static char buf[50];
+ const char *p = buf; // return value
+ switch(type) {
+ case EOF: p = "EOF"; break;
+ case VBOX: p = "VBOX"; break;
+ case SP: p = "SP"; break;
+ case BS: p = "BS"; break;
+ case US: p = "US"; break;
+ case BF: p = "BF"; break;
+ case UF: p = "UF"; break;
+ case PT: p = "PT"; break;
+ case BT: p = "BT"; break;
+ case END: p = "END"; break;
+ case NEUTRAL: p = "NEUT"; break;
+ case PAGE: p = "PAGE"; break;
+ case TM: p = "TM"; break;
+ case COORD: p = "COORD"; break;
+ case NE: p = "NE"; break;
+ case CMD: p = "CMD"; break;
+ case PARM: p = "PARM"; break;
+ default: snprintf(buf, sizeof(buf), "weird type %d", type);
+ }
+ return (char *)p;
+}
+
+// ================================================================================
+
+// troff output-specific functions
+
+// ================================================================================
+
+const int DELTABUF = 500000; // grow the input buffer in chunks
+
+static char *inbuf = 0; // raw text input collects here
+static int ninbuf = 0; // byte count for inbuf
+static char *inbp = 0; // next free slot in inbuf
+int linenum = 0; // input line number
+
+static inline void addc(int c) { *inbp++ = c; }
+
+static void adds(char *s)
+{
+ for (char *p = s; *p; p++)
+ addc(*p);
+}
+
+static char *getutf(FILE *fp) // get 1 utf-encoded char (might be multiple bytes)
+{
+ static char buf[100];
+ char *p = buf;
+
+ for (*p = 0; (*p++ = getc(fp)) != EOF; ) {
+ *p = 0;
+#ifdef EUC
+ if (mblen(buf, sizeof buf) > 0) // found a valid character
+#endif
+ break;
+ }
+ return buf;
+}
+
+static char *bufptr(int n) { return inbuf + n; } // scope of inbuf is too local
+
+static inline int wherebuf() { return inbp - inbuf; }
+
+static char *getstr(char *p, char *temp)
+{ // copy next non-blank string from p to temp, update p
+ while (*p == ' ' || *p == '\t' || *p == '\n')
+ p++;
+ if (*p == '\0') {
+ temp[0] = 0;
+ return(NULL);
+ }
+ while (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0')
+ *temp++ = *p++;
+ *temp = '\0';
+ return(p);
+}
+
+/***************************************************************************
+ bounding box of a circular arc Eric Grosse 24 May 84
+
+Conceptually, this routine generates a list consisting of the start,
+end, and whichever north, east, south, and west points lie on the arc.
+The bounding box is then the range of this list.
+ list = {start,end}
+ j = quadrant(start)
+ k = quadrant(end)
+ if( j==k && long way 'round ) append north,west,south,east
+ else
+ while( j != k )
+ append center+radius*[j-th of north,west,south,east unit vectors]
+ j += 1 (mod 4)
+ return( bounding box of list )
+The following code implements this, with simple optimizations.
+***********************************************************************/
+
+static int quadrant(double x, double y)
+{
+ if ( x>=0.0 && y> 0.0) return(1);
+ else if( x< 0.0 && y>=0.0) return(2);
+ else if( x<=0.0 && y< 0.0) return(3);
+ else if( x> 0.0 && y<=0.0) return(4);
+ else return 0; /* shut up lint */
+}
+
+static double xmin, ymin, xmax, ymax; // used by getDy
+
+static void arc_extreme(double x0, double y0, double x1, double y1, double xc, double yc)
+ /* start, end, center */
+{ /* assumes center isn't too far out */
+ double r;
+ int j, k;
+ printf("#start %g,%g, end %g,%g, ctr %g,%g\n", x0,y0, x1,y1, xc,yc);
+ y0 = -y0; y1 = -y1; yc = -yc; // troff's up is eric's down
+ x0 -= xc; y0 -= yc; /* move to center */
+ x1 -= xc; y1 -= yc;
+ xmin = (x0<x1)?x0:x1; ymin = (y0<y1)?y0:y1;
+ xmax = (x0>x1)?x0:x1; ymax = (y0>y1)?y0:y1;
+ r = sqrt(x0*x0 + y0*y0);
+ if (r > 0.0) {
+ j = quadrant(x0,y0);
+ k = quadrant(x1,y1);
+ if (j == k && y1*x0 < x1*y0) {
+ /* viewed as complex numbers, if Im(z1/z0)<0, arc is big */
+ if( xmin > -r) xmin = -r; if( ymin > -r) ymin = -r;
+ if( xmax < r) xmax = r; if( ymax < r) ymax = r;
+ } else {
+ while (j != k) {
+ switch (j) {
+ case 1: if( ymax < r) ymax = r; break; /* north */
+ case 2: if( xmin > -r) xmin = -r; break; /* west */
+ case 3: if( ymin > -r) ymin = -r; break; /* south */
+ case 4: if( xmax < r) xmax = r; break; /* east */
+ }
+ j = j%4 + 1;
+ }
+ }
+ }
+ xmin += xc; ymin += yc; ymin = -ymin;
+ xmax += xc; ymax += yc; ymax = -ymax;
+}
+
+
+static int getDy(char *p, int *dx, int *maxv)
+ // figure out where we are after a D'...'
+{
+ int x, y, x1, y1; // for input values
+ char temp[50];
+ p++; // get to command letter
+ switch (*p++) {
+ case 'l': // line
+ sscanf(p, "%d %d", dx, &y);
+ return *maxv = y;
+ case 'a': // arc
+ sscanf(p, "%d %d %d %d", &x, &y, &x1, &y1);
+ *dx = x1 - x;
+ arc_extreme(0, 0, x+x1, y+y1, x, y); // sets [xy][max|min]
+ printf("#arc bounds x %g, %g; y %g, %g\n",
+ xmin, xmax, ymin, ymax);
+ *maxv = (int) (ymin+0.5);
+ return y + y1;
+ case '~': // spline
+ for (*dx = *maxv = y = 0; (p=getstr(p, temp)) != NULL; ) {
+ // above getstr() gets x value
+ *dx += atoi(temp);
+ p = getstr(p, temp); // this one gets y value
+ y += atoi(temp);
+ *maxv = max(*maxv, y); // ok???
+ if (*p == '\n' || *p == 0) // input is a single line;
+ break; // don't walk off end if realloc
+ }
+ return y;
+ case 'c': // circle, ellipse
+ sscanf(p, "%d", dx);
+ *maxv = *dx/2; // high water mark is ht/2
+ return 0;
+ case 'e':
+ sscanf(p, "%d %d", dx, &y);
+ *maxv = y/2; // high water mark is ht/2
+ return 0;
+ default: // weird stuff
+ return 0;
+ }
+}
+
+static int serialnum = 0;
+
+slug eofslug()
+{
+ slug ret;
+ ret.serialnum = serialnum;
+ ret.type = EOF;
+ ret.dp = wherebuf();
+ return ret;
+}
+
+slug getslug(FILE *fp)
+{
+ if (inbuf == NULL) {
+ if ((inbuf = (char *) malloc(ninbuf = DELTABUF)) == NULL)
+ FATAL("no room for %d character input buffer\n", ninbuf);
+ inbp = inbuf;
+ }
+ if (wherebuf() > ninbuf-5000) {
+ // this is still flaky -- lines can be very long
+ int where = wherebuf(); // where we were
+ if ((inbuf = (char *) realloc(inbuf, ninbuf += DELTABUF)) == NULL)
+ FATAL("no room for %d character input buffer\n", ninbuf);
+ WARNING("grew input buffer to %d characters\n", ninbuf);
+ inbp = inbuf + where; // same offset in new array
+ }
+ static int baseV = 0; // first V command of preceding slug
+ static int curV = 0, curH = 0;
+ static int font = 0;
+ static float size = 0;
+ static int baseadj = 0;
+ static int ncol = 1, offset = 0; // multi-column stuff
+ char str[4096], str2[4096], buf[4096], *p;
+ int firstV = 0, firstH = 0;
+ int maxV = curV;
+ int ocurV = curV, mxv = 0, dx = 0;
+ int sawD = 0; // > 0 if have seen D...
+ slug ret;
+ ret.serialnum = serialnum++;
+ ret.type = VBOX; // use the same as last by default
+ ret.dv = curV - baseV;
+ ret.hpos = curH;
+ ret.base = ret.parm = ret.parm2 = ret.seen = 0;
+ ret.font = font;
+ ret.size = size;
+ ret.dp = wherebuf();
+ ret.ncol = ncol;
+ ret.offset = offset;
+ ret.linenum = linenum; // might be low
+
+ for (;;) {
+ int c, m, n; // for input values
+ int sign; // hoisted from case 'h' below
+ switch (c = getc(fp)) {
+ case EOF:
+ ret.type = EOF;
+ ret.dv = 0;
+ if (baseadj)
+ printf("# adjusted %d bases\n", baseadj);
+ printf("# %d characters, %d lines\n", wherebuf(), linenum);
+ return ret;
+ case 'V':
+ fscanf(fp, "%d", &n);
+ if (firstV++ == 0) {
+ ret.dv = n - baseV;
+ baseV = n;
+ } else {
+ snprintf(buf, sizeof(buf), "v%d", n - curV);
+ adds(buf);
+ }
+ curV = n;
+ maxV = max(maxV, curV);
+ break;
+ case 'H': // absolute H motion
+ fscanf(fp, "%d", &n);
+ if (firstH++ == 0) {
+ ret.hpos = n;
+ } else {
+ snprintf(buf, sizeof(buf), "h%d", n - curH);
+ adds(buf);
+ }
+ curH = n;
+ break;
+ case 'h': // relative H motion
+ addc(c);
+ sign = 1;
+ if ((c = getc(fp)) == '-') {
+ addc(c);
+ sign = -1;
+ c = getc(fp);
+ }
+ for (n = 0; isdigit(c); c = getc(fp)) {
+ addc(c);
+ n = 10 * n + c - '0';
+ }
+ curH += n * sign;
+ ungetc(c, fp);
+ break;
+ case 'x': // device control: x ...
+ addc(c);
+ fgets(buf, (int) sizeof(buf), fp);
+ linenum++;
+ adds(buf);
+ if (buf[0] == ' ' && buf[1] == 'X') { // x X ...
+ if (2 != sscanf(buf+2, "%s %d", str, &n))
+ n = 0;
+ if (eq(str, "SP")) { // X SP n
+ ret.type = SP; // paddable SPace
+ ret.dv = n; // of height n
+ } else if (eq(str, "BS")) {
+ ret.type = BS; // Breakable Stream
+ ret.parm = n; // >=n VBOXES on a page
+ } else if (eq(str, "BF")) {
+ ret.type = BF; // Breakable Float
+ ret.parm = ret.parm2 = n;
+ // n = pref center (as UF)
+ } else if (eq(str, "US")) {
+ ret.type = US; // Unbreakable Stream
+ ret.parm = n;
+ } else if (eq(str, "UF")) {
+ ret.type = UF; // Unbreakable Float
+ ret.parm = ret.parm2 = n;
+ // n = preferred center
+ // to select several,
+ // use several UF lines
+ } else if (eq(str, "PT")) {
+ ret.type = PT; // Page Title
+ ret.parm = n;
+ } else if (eq(str, "BT")) {
+ ret.type = BT; // Bottom Title
+ ret.parm = n;
+ } else if (eq(str, "END")) {
+ ret.type = END;
+ ret.parm = n;
+ } else if (eq(str, "TM")) {
+ ret.type = TM; // Terminal Message
+ ret.dv = 0;
+ } else if (eq(str, "COORD")) {
+ ret.type = COORD;// page COORDinates
+ ret.dv = 0;
+ } else if (eq(str, "NE")) {
+ ret.type = NE; // NEed to break page
+ ret.dv = n; // if <n units left
+ } else if (eq(str, "MC")) {
+ ret.type = MC; // Multiple Columns
+ sscanf(buf+2, "%s %d %d",
+ str, &ncol, &offset);
+ ret.ncol = ncol;
+ ret.offset = offset;
+ } else if (eq(str, "CMD")) {
+ ret.type = CMD; // CoMmaNd
+ sscanf(buf+2, "%s %s", str2, str);
+ if (eq(str, "FC")) // Freeze 2-Col
+ ret.parm = FC;
+ else if (eq(str, "FL")) // FLush
+ ret.parm = FL;
+ else if (eq(str, "BP")) // Break Page
+ ret.parm = BP;
+ else WARNING("unknown command %s\n",
+ str);
+ } else if (eq(str, "PARM")) {
+ ret.type = PARM;// PARaMeter
+ sscanf(buf+2, "%s %s %d", str2, str, &ret.parm2);
+ if (eq(str, "NP")) // New Page
+ ret.parm = NP;
+ else if (eq(str, "FO")) // FOoter
+ ret.parm = FO;
+ else if (eq(str, "PL")) // Page Length
+ ret.parm = PL;
+ else if (eq(str, "MF")) // MinFull
+ ret.parm = MF;
+ else if (eq(str, "CT")) // ColTol
+ ret.parm = CT;
+ else if (eq(str, "WARN")) //WARNings?
+ ret.parm = WARN;
+ else if (eq(str, "DBG"))// DeBuG
+ ret.parm = DBG;
+ else WARNING("unknown parameter %s\n",
+ str);
+ } else
+ break; // out of switch
+ if (firstV > 0)
+ WARNING("weird x X %s in mid-VBOX\n",
+ str);
+ for (;;) {
+ c = getc(fp);
+ ungetc(c, fp);
+ if (c != '+')
+ break;
+ fgets(buf, (int) sizeof(buf), fp);
+ linenum++;
+ adds(buf);
+ }
+ return ret;
+ }
+ break;
+ case 'n': // end of line
+ fscanf(fp, "%d %d", &n, &m);
+ ret.ht = n;
+ ret.base = m;
+ getc(fp); // newline
+ linenum++;
+ snprintf(buf, sizeof(buf), "n%d %d\n", ret.ht,
+ ret.base);
+ adds(buf);
+ if (!firstV++)
+ baseV = curV;
+ // older incarnations of this program used ret.base
+ // in complicated and unreliable ways;
+ // example: if ret.ht + ret.base < ret.dv, ret.base = 0
+ // this was meant to avoid double-counting the space
+ // around displayed equations; it didn't work
+ // Now, we believe ret.base = 0, otherwise we give it
+ // a value we have computed.
+ if (ret.base == 0 && sawD == 0)
+ return ret; // don't fiddle 0-bases
+ if (ret.base != maxV - baseV) {
+ ret.base = maxV - baseV;
+ baseadj++;
+ }
+ if (ret.type != VBOX)
+ WARNING("%s slug (type %d) has base = %d\n",
+ ret.typname(), ret.type, ret.base);
+ return ret;
+ case 'p': // new page
+ fscanf(fp, "%d", &n);
+ ret.type = PAGE;
+ curV = baseV = ret.dv = 0;
+ ret.parm = n; // just in case someone needs it
+ return ret;
+ case 's': { // size change snnn
+ int isize;
+ fscanf(fp, "%d", &isize);
+ if (isize == -23) {
+ fscanf(fp, "%f", &size);
+ snprintf(buf, sizeof(buf),
+ "s-23 %g\n", size);
+ } else {
+ size = isize;
+ snprintf(buf, sizeof(buf),
+ "s%d\n", isize);
+ }
+ adds(buf);
+ }
+ break;
+ case 'f': // font fnnn
+ fscanf(fp, "%d", &font);
+ snprintf(buf, sizeof(buf), "f%d\n", font);
+ adds(buf);
+ break;
+ case '\n':
+ linenum++;
+ /* fall through */
+ case ' ':
+ addc(c);
+ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ // two motion digits plus a character
+ addc(c);
+ n = c - '0';
+ addc(c = getc(fp));
+ curH += 10 * n + c - '0';
+ adds(getutf(fp));
+ if (!firstV++)
+ baseV = curV;
+ break;
+ case 'c': // single ascii character
+ addc(c);
+ adds(getutf(fp));
+ if (!firstV++)
+ baseV = curV;
+ break;
+ case 'C': // Cxyz\n
+ case 'N': // Nnnn\n
+ addc(c);
+ while ((c = getc(fp)) != ' ' && c != '\n')
+ addc(c);
+ addc(c);
+ if (!firstV++)
+ baseV = curV;
+ linenum++;
+ break;
+ case 'D': // draw function: D.*\n
+ sawD++;
+ p = bufptr(wherebuf()); // where does the D start
+ addc(c);
+ while ((c = getc(fp)) != '\n')
+ addc(c);
+ addc(c);
+ if (!firstV++)
+ baseV = curV;
+ ocurV = curV, mxv = 0, dx = 0;
+ curV += getDy(p, &dx, &mxv); // figure out how big it is
+ maxV = max(max(maxV, curV), ocurV+mxv);
+ curH += dx;
+ linenum++;
+ break;
+ case 'v': // relative vertical vnnn
+ addc(c);
+ if (!firstV++)
+ baseV = curV;
+ sign = 1;
+ if ((c = getc(fp)) == '-') {
+ addc(c);
+ sign = -1;
+ c = getc(fp);
+ }
+ for (n = 0; isdigit(c); c = getc(fp)) {
+ addc(c);
+ n = 10 * n + c - '0';
+ }
+ ungetc(c, fp);
+ curV += n * sign;
+ maxV = max(maxV, curV);
+ addc('\n');
+ break;
+ case 'w': // word space
+ addc(c);
+ break;
+ case '#': // comment
+ addc(c);
+ while ((c = getc(fp)) != '\n')
+ addc(c);
+ addc('\n');
+ linenum++;
+ break;
+ default:
+ WARNING("unknown input character %o %c (%50.50s)\n",
+ c, c, bufptr(wherebuf()-50));
+ break;
+ }
+ }
+}
diff --git a/mpm/slug.h b/mpm/slug.h
new file mode 100644
index 0000000000000..4dc5b76109ffd
--- /dev/null
+++ b/mpm/slug.h
@@ -0,0 +1,87 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+ * <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)slug.h 1.5 (gritter) 10/31/05 */
+enum slugtypes {
+ NONE, // can't happen
+ VBOX, // Vertical Box -- printable stuff
+ SP, // paddable SPace
+ BS, // start Breakable Stream
+ US, // start Unbreakable Stream
+ BF, // start Breakable Float
+ UF, // start Unbreakable Float
+ PT, // start Page Top material (header)
+ BT, // start page BoTtom material (footer)
+ END, // ENDs of groups
+ NEUTRAL, // NEUTRALized slugs can do no harm (cf. CIA)
+ PAGE, // beginning of PAGE in troff input
+ TM, // Terminal Message to appear during output
+ COORD, // output page COORDinates
+ NE, // NEed command
+ MC, // Multiple-Column command
+ CMD, // misc CoMmanDs: FC, FL, BP
+ PARM, // misc PARaMeters: NP, FO
+ LASTTYPE // can't happen either
+};
+
+enum cmdtypes {
+ FC, // Freeze 2-Column material
+ FL, // FLush all floats before reading more stream
+ BP // Break Page
+};
+
+enum parmtypes {
+ NP, // distance of top margin from page top (New Page)
+ FO, // distance of bottom margin from page top (FOoter)
+ PL, // distance of physical page bottom from page top (Page Length)
+ MF, // minimum fullness required for padding
+ CT, // tolerance for division into two columns
+ WARN, // warnings to stderr?
+ DBG // debugging flag
+};
+
+class slug {
+ int serialnum;
+ int dp; // offset of data for this slug in inbuf
+ int linenum; // input line number (approx) for this slug
+ int font; // font in effect at slug beginning
+ float size; // size in effect at slug beginning
+ int seen; // 0 until output
+ int ncol; // number of columns (1 or 2)
+ int offset; // horizontal offset for 2 columns
+ public:
+ int type; // VBOX, PP, etc.
+ int parm; // parameter
+ int base; // "depth" of this slug (from n command)
+ int hpos; // abs horizontal position
+ int dv; // height of this slug above its input Vpos
+ union {
+ int ht; // "height" of this slug (from n command)
+ int parm2; // second parameter, since only VBOXes have ht
+ };
+ friend slug getslug(FILE *);
+ friend void checkout();
+ friend slug eofslug();
+ void coalesce(); // with next slug in array slugs[]
+ void neutralize(); // render this one a no-op
+ void dump(); // dump its contents for debugging
+ char *headstr(); // string value of text
+ void slugout(int); // add the slug to the output
+ char *typname(); // printable slug type
+ int serialno() { return serialnum; }
+ int numcol() { return ncol; }
+ int lineno() { return linenum; }
+};
+
+// functions in slug.c
+slug eofslug();
+slug getslug(FILE *);
diff --git a/mpm/version.c b/mpm/version.c
new file mode 100644
index 0000000000000..4ead6741e6dfb
--- /dev/null
+++ b/mpm/version.c
@@ -0,0 +1,20 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucblib/pm.sl 1.5 (gritter) 7/29/06";
+/* SLIST */
+/*
+misc.h: Sccsid @(#)misc.h 1.3 (gritter) 10/30/05
+page.h: Sccsid @(#)page.h 1.3 (gritter) 10/30/05
+range.h: Sccsid @(#)range.h 1.3 (gritter) 10/30/05
+slug.h: Sccsid @(#)slug.h 1.5 (gritter) 10/31/05
+misc.cc: Sccsid @(#)misc.cc 1.3 (gritter) 10/30/05
+page.cc: Sccsid @(#)page.cc 1.4 (gritter) 10/30/05
+queue.cc: Sccsid @(#)queue.cc 1.3 (gritter) 10/30/05
+range.cc: Sccsid @(#)range.cc 1.3 (gritter) 10/30/05
+slug.cc: Sccsid @(#)slug.cc 1.7 (gritter) 7/29/06
+*/
diff --git a/pic/Makefile.mk b/pic/Makefile.mk
new file mode 100644
index 0000000000000..0816eeddbda2c
--- /dev/null
+++ b/pic/Makefile.mk
@@ -0,0 +1,44 @@
+OBJ = arcgen.o blockgen.o boxgen.o circgen.o for.o input.o linegen.o \
+ main.o misc.o movegen.o picl.o picy.o pltroff.o print.o symtab.o \
+ textgen.o version.o
+
+FLAGS = $(DEFINES) -I../include
+
+YFLAGS = -d
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: picy.c picl.c pic
+
+pic: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -lm -o pic
+
+y.tab.h: picy.c
+
+install:
+ $(INSTALL) -c pic $(ROOT)$(BINDIR)/pic
+ $(STRIP) $(ROOT)$(BINDIR)/pic
+ test -d $(ROOT)$(MANDIR)/man1 || mkdir -p $(ROOT)$(MANDIR)/man1
+ $(INSTALL) -c -m 644 pic.1 $(ROOT)$(MANDIR)/man1/pic.1
+
+clean:
+ rm -f $(OBJ) picl.c picy.c y.tab.h pic core log *~
+
+mrproper: clean
+
+arcgen.o: arcgen.c pic.h y.tab.h
+blockgen.o: blockgen.c pic.h y.tab.h
+boxgen.o: boxgen.c pic.h y.tab.h
+circgen.o: circgen.c pic.h y.tab.h
+for.o: for.c pic.h y.tab.h
+input.o: input.c pic.h y.tab.h
+linegen.o: linegen.c pic.h y.tab.h
+main.o: main.c pic.h y.tab.h
+misc.o: misc.c pic.h y.tab.h
+movegen.o: movegen.c pic.h y.tab.h
+picy.o: picy.c pic.h
+pltroff.o: pltroff.c pic.h
+print.o: print.c pic.h y.tab.h
+symtab.o: symtab.c pic.h y.tab.h
+textgen.o: textgen.c pic.h y.tab.h
diff --git a/pic/arcgen.c b/pic/arcgen.c
new file mode 100644
index 0000000000000..c828fef601d56
--- /dev/null
+++ b/pic/arcgen.c
@@ -0,0 +1,235 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)arcgen.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <math.h>
+#include "pic.h"
+#include "y.tab.h"
+
+void arc_extreme(double, double, double, double, double, double);
+int quadrant(double x, double y);
+
+obj *arcgen(int type) /* handles circular and (eventually) elliptical arcs */
+{
+ static double prevw = HT10;
+ static double prevh = HT5;
+ static double prevrad = HT2;
+ static int dtox[2][4] ={ {1, -1, -1, 1}, {1, 1, -1, -1} };
+ static int dtoy[2][4] ={ {1, 1, -1, -1}, {-1, 1, 1, -1} };
+ static int dctrx[2][4] ={ {0, -1, 0, 1}, {0, 1, 0, -1} };
+ static int dctry[2][4] ={ {1, 0, -1, 0}, {-1, 0, 1, 0} };
+ static int nexthv[2][4] ={ {U_DIR, L_DIR, D_DIR, R_DIR}, {D_DIR,
+ R_DIR, U_DIR, L_DIR} };
+ double dx2, dy2, ht, phi, r, d;
+ int i, head, to, at, cw, invis, ddtype, battr;
+ obj *p, *ppos;
+ double fromx, fromy, tox = 0, toy = 0, fillval = 0;
+ Attr *ap;
+
+ prevrad = getfval("arcrad");
+ prevh = getfval("arrowht");
+ prevw = getfval("arrowwid");
+ fromx = curx;
+ fromy = cury;
+ head = to = at = cw = invis = ddtype = battr = 0;
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ case HEAD:
+ head += ap->a_val.i;
+ break;
+ case INVIS:
+ invis = INVIS;
+ break;
+ case HEIGHT: /* length of arrowhead */
+ prevh = ap->a_val.f;
+ break;
+ case WIDTH: /* width of arrowhead */
+ prevw = ap->a_val.f;
+ break;
+ case RADIUS:
+ prevrad = ap->a_val.f;
+ break;
+ case DIAMETER:
+ prevrad = ap->a_val.f / 2;
+ break;
+ case CW:
+ cw = 1;
+ break;
+ case FROM: /* start point of arc */
+ ppos = ap->a_val.o;
+ fromx = ppos->o_x;
+ fromy = ppos->o_y;
+ break;
+ case TO: /* end point of arc */
+ ppos = ap->a_val.o;
+ tox = ppos->o_x;
+ toy = ppos->o_y;
+ to++;
+ break;
+ case AT: /* center of arc */
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ at = 1;
+ break;
+ case UP:
+ hvmode = U_DIR;
+ break;
+ case DOWN:
+ hvmode = D_DIR;
+ break;
+ case RIGHT:
+ hvmode = R_DIR;
+ break;
+ case LEFT:
+ hvmode = L_DIR;
+ break;
+ case FILL:
+ battr |= FILLBIT;
+ if (ap->a_sub == DEFAULT)
+ fillval = getfval("fillval");
+ else
+ fillval = ap->a_val.f;
+ break;
+ }
+ }
+ if (!at && !to) { /* the defaults are mostly OK */
+ curx = fromx + prevrad * dctrx[cw][hvmode];
+ cury = fromy + prevrad * dctry[cw][hvmode];
+ tox = fromx + prevrad * dtox[cw][hvmode];
+ toy = fromy + prevrad * dtoy[cw][hvmode];
+ hvmode = nexthv[cw][hvmode];
+ }
+ else if (!at) {
+ dx2 = (tox - fromx) / 2;
+ dy2 = (toy - fromy) / 2;
+ phi = atan2(dy2, dx2) + (cw ? -PI/2 : PI/2);
+ if (prevrad <= 0.0)
+ prevrad = dx2*dx2+dy2*dy2;
+ for (r=prevrad; (d = r*r - (dx2*dx2+dy2*dy2)) <= 0.0; r *= 2)
+ ; /* this kludge gets around too-small radii */
+ prevrad = r;
+ ht = sqrt(d);
+ curx = fromx + dx2 + ht * cos(phi);
+ cury = fromy + dy2 + ht * sin(phi);
+ dprintf("dx2,dy2=%g,%g, phi=%g, r,ht=%g,%g\n",
+ dx2, dy2, phi, r, ht);
+ }
+ else if (at && !to) { /* do we have all the cases??? */
+ tox = fromx + prevrad * dtox[cw][hvmode];
+ toy = fromy + prevrad * dtoy[cw][hvmode];
+ hvmode = nexthv[cw][hvmode];
+ }
+ if (cw) { /* interchange roles of from-to and heads */
+ double temp;
+ temp = fromx; fromx = tox; tox = temp;
+ temp = fromy; fromy = toy; toy = temp;
+ if (head == HEAD1)
+ head = HEAD2;
+ else if (head == HEAD2)
+ head = HEAD1;
+ }
+ p = makenode(type, 7);
+ arc_extreme(fromx, fromy, tox, toy, curx, cury);
+ p->o_val[0] = fromx;
+ p->o_val[1] = fromy;
+ p->o_val[2] = tox;
+ p->o_val[3] = toy;
+ if (cw) {
+ curx = fromx;
+ cury = fromy;
+ } else {
+ curx = tox;
+ cury = toy;
+ }
+ p->o_val[4] = prevw;
+ p->o_val[5] = prevh;
+ p->o_val[6] = prevrad;
+ p->o_attr = head | (cw ? CW_ARC : 0) | invis | ddtype | battr;
+ p->o_fillval = fillval;
+ if (head)
+ p->o_nhead = getfval("arrowhead");
+ dprintf("arc rad %g at %g %g from %g %g to %g %g head %g %g\n",
+ prevrad, p->o_x, p->o_y,
+ p->o_val[0], p->o_val[1], p->o_val[2], p->o_val[3], p->o_val[4], p->o_val[5]);
+ return(p);
+}
+
+/***************************************************************************
+ bounding box of a circular arc Eric Grosse 24 May 84
+
+Conceptually, this routine generates a list consisting of the start,
+end, and whichever north, east, south, and west points lie on the arc.
+The bounding box is then the range of this list.
+ list = {start,end}
+ j = quadrant(start)
+ k = quadrant(end)
+ if( j==k && long way 'round ) append north,west,south,east
+ else
+ while( j != k )
+ append center+radius*[j-th of north,west,south,east unit vectors]
+ j += 1 (mod 4)
+ return( bounding box of list )
+The following code implements this, with simple optimizations.
+***********************************************************************/
+
+
+void arc_extreme(double x0, double y0, double x1, double y1, double xc, double yc)
+ /* start, end, center */
+{
+ /* assumes center isn't too far out */
+ double r, xmin, ymin, xmax, ymax;
+ int j, k;
+ x0 -= xc; y0 -= yc; /* move to center */
+ x1 -= xc; y1 -= yc;
+ xmin = (x0<x1)?x0:x1; ymin = (y0<y1)?y0:y1;
+ xmax = (x0>x1)?x0:x1; ymax = (y0>y1)?y0:y1;
+ r = sqrt(x0*x0 + y0*y0);
+ if (r > 0.0) {
+ j = quadrant(x0,y0);
+ k = quadrant(x1,y1);
+ if (j == k && y1*x0 < x1*y0) {
+ /* viewed as complex numbers, if Im(z1/z0)<0, arc is big */
+ if( xmin > -r) xmin = -r; if( ymin > -r) ymin = -r;
+ if( xmax < r) xmax = r; if( ymax < r) ymax = r;
+ } else {
+ while (j != k) {
+ switch (j) {
+ case 1: if( ymax < r) ymax = r; break; /* north */
+ case 2: if( xmin > -r) xmin = -r; break; /* west */
+ case 3: if( ymin > -r) ymin = -r; break; /* south */
+ case 4: if( xmax < r) xmax = r; break; /* east */
+ }
+ j = j%4 + 1;
+ }
+ }
+ }
+ xmin += xc; ymin += yc;
+ xmax += xc; ymax += yc;
+ extreme(xmin, ymin);
+ extreme(xmax, ymax);
+}
+
+int
+quadrant(double x, double y)
+{
+ if ( x>=0.0 && y> 0.0) return(1);
+ else if( x< 0.0 && y>=0.0) return(2);
+ else if( x<=0.0 && y< 0.0) return(3);
+ else if( x> 0.0 && y<=0.0) return(4);
+ else return 0; /* shut up lint */
+}
+
diff --git a/pic/blockgen.c b/pic/blockgen.c
new file mode 100644
index 0000000000000..6489a2e6f7897
--- /dev/null
+++ b/pic/blockgen.c
@@ -0,0 +1,238 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)blockgen.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include "pic.h"
+#include "y.tab.h"
+
+#define NBRACK 20 /* depth of [...] */
+#define NBRACE 20 /* depth of {...} */
+
+struct pushstack stack[NBRACK];
+int nstack = 0;
+struct pushstack bracestack[NBRACE];
+int nbstack = 0;
+
+void blockadj(obj *);
+
+obj *leftthing(int c) /* called for {... or [... */
+ /* really ought to be separate functions */
+{
+ obj *p;
+
+ if (c == '[') {
+ if (nstack >= NBRACK)
+ FATAL("[...] nested too deep");
+ stack[nstack].p_x = curx;
+ stack[nstack].p_y = cury;
+ stack[nstack].p_hvmode = hvmode;
+ curx = cury = 0;
+ stack[nstack].p_xmin = xmin;
+ stack[nstack].p_xmax = xmax;
+ stack[nstack].p_ymin = ymin;
+ stack[nstack].p_ymax = ymax;
+ nstack++;
+ xmin = ymin = 30000;
+ xmax = ymax = -30000;
+ p = makenode(BLOCK, 7);
+ p->o_val[4] = nobj; /* 1st item within [...] */
+ if (p->o_nobj != nobj-1)
+ fprintf(stderr, "nobjs wrong%d %d\n", p->o_nobj, nobj);
+ } else {
+ if (nbstack >= NBRACK)
+ FATAL("{...} nested too deep");
+ bracestack[nbstack].p_x = curx;
+ bracestack[nbstack].p_y = cury;
+ bracestack[nbstack].p_hvmode = hvmode;
+ nbstack++;
+ p = NULL;
+ }
+ return(p);
+}
+
+obj *rightthing(obj *p, int c) /* called for ... ] or ... } */
+{
+ obj *q;
+
+ if (c == '}') {
+ nbstack--;
+ curx = bracestack[nbstack].p_x;
+ cury = bracestack[nbstack].p_y;
+ hvmode = bracestack[nbstack].p_hvmode;
+ q = makenode(MOVE, 0);
+ dprintf("M %g %g\n", curx, cury);
+ } else {
+ nstack--;
+ curx = stack[nstack].p_x;
+ cury = stack[nstack].p_y;
+ hvmode = stack[nstack].p_hvmode;
+ q = makenode(BLOCKEND, 7);
+ q->o_val[4] = p->o_nobj + 1; /* back pointer */
+ p->o_val[5] = q->o_nobj - 1; /* forward pointer */
+ if (xmin > xmax) /* nothing happened */
+ xmin = xmax;
+ if (ymin > ymax)
+ ymin = ymax;
+ p->o_val[0] = xmin; p->o_val[1] = ymin;
+ p->o_val[2] = xmax; p->o_val[3] = ymax;
+ p->o_symtab = q->o_symtab = stack[nstack+1].p_symtab;
+ xmin = stack[nstack].p_xmin;
+ ymin = stack[nstack].p_ymin;
+ xmax = stack[nstack].p_xmax;
+ ymax = stack[nstack].p_ymax;
+ }
+ return(q);
+}
+
+obj *blockgen(obj *p, obj *q) /* handles [...] */
+{
+ int i, invis, at, with;
+ double ddval, h, w, xwith, ywith;
+ double x0, y0, x1, y1, cx, cy;
+ obj *ppos;
+ Attr *ap;
+
+ invis = at = 0;
+ with = xwith = ywith = 0;
+ ddval = 0;
+ w = p->o_val[2] - p->o_val[0];
+ h = p->o_val[3] - p->o_val[1];
+ cx = (p->o_val[2] + p->o_val[0]) / 2; /* geom ctr of [] wrt local orogin */
+ cy = (p->o_val[3] + p->o_val[1]) / 2;
+ dprintf("cx,cy=%g,%g\n", cx, cy);
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case HEIGHT:
+ h = ap->a_val.f;
+ break;
+ case WIDTH:
+ w = ap->a_val.f;
+ break;
+ case WITH:
+ with = ap->a_val.i; /* corner */
+ break;
+ case PLACE: /* actually with position ... */
+ ppos = ap->a_val.o;
+ xwith = cx - ppos->o_x;
+ ywith = cy - ppos->o_y;
+ with = PLACE;
+ break;
+ case AT:
+ case FROM:
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ at++;
+ break;
+ case INVIS:
+ invis = INVIS;
+ break;
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ }
+ }
+ if (with) {
+ switch (with) {
+ case NORTH: ywith = -h / 2; break;
+ case SOUTH: ywith = h / 2; break;
+ case EAST: xwith = -w / 2; break;
+ case WEST: xwith = w / 2; break;
+ case NE: xwith = -w / 2; ywith = -h / 2; break;
+ case SE: xwith = -w / 2; ywith = h / 2; break;
+ case NW: xwith = w / 2; ywith = -h / 2; break;
+ case SW: xwith = w / 2; ywith = h / 2; break;
+ }
+ curx += xwith;
+ cury += ywith;
+ }
+ if (!at) {
+ if (isright(hvmode))
+ curx += w / 2;
+ else if (isleft(hvmode))
+ curx -= w / 2;
+ else if (isup(hvmode))
+ cury += h / 2;
+ else
+ cury -= h / 2;
+ }
+ x0 = curx - w / 2;
+ y0 = cury - h / 2;
+ x1 = curx + w / 2;
+ y1 = cury + h / 2;
+ extreme(x0, y0);
+ extreme(x1, y1);
+ p->o_x = curx;
+ p->o_y = cury;
+ p->o_nt1 = ntext1;
+ p->o_nt2 = ntext;
+ ntext1 = ntext;
+ p->o_val[0] = w;
+ p->o_val[1] = h;
+ p->o_val[2] = cx;
+ p->o_val[3] = cy;
+ p->o_val[5] = q->o_nobj - 1; /* last item in [...] */
+ p->o_ddval = ddval;
+ p->o_attr = invis;
+ dprintf("[] %g %g %g %g at %g %g, h=%g, w=%g\n", x0, y0, x1, y1, curx, cury, h, w);
+ if (isright(hvmode))
+ curx = x1;
+ else if (isleft(hvmode))
+ curx = x0;
+ else if (isup(hvmode))
+ cury = y1;
+ else
+ cury = y0;
+ for (i = 0; i <= 5; i++)
+ q->o_val[i] = p->o_val[i];
+ stack[nstack+1].p_symtab = NULL; /* so won't be found again */
+ blockadj(p); /* fix up coords for enclosed blocks */
+ return(p);
+}
+
+void blockadj(obj *p) /* adjust coords in block starting at p */
+{
+ double dx, dy;
+ int n, lev;
+
+ dx = p->o_x - p->o_val[2];
+ dy = p->o_y - p->o_val[3];
+ n = p->o_nobj + 1;
+ dprintf("into blockadj: dx,dy=%g,%g\n", dx, dy);
+ for (lev = 1; lev > 0; n++) {
+ p = objlist[n];
+ if (p->o_type == BLOCK)
+ lev++;
+ else if (p->o_type == BLOCKEND)
+ lev--;
+ dprintf("blockadj: type=%d o_x,y=%g,%g;", p->o_type, p->o_x, p->o_y);
+ p->o_x += dx;
+ p->o_y += dy;
+ dprintf(" becomes %g,%g\n", p->o_x, p->o_y);
+ switch (p->o_type) { /* other absolute coords */
+ case LINE:
+ case ARROW:
+ case SPLINE:
+ p->o_val[0] += dx;
+ p->o_val[1] += dy;
+ break;
+ case ARC:
+ p->o_val[0] += dx;
+ p->o_val[1] += dy;
+ p->o_val[2] += dx;
+ p->o_val[3] += dy;
+ break;
+ }
+ }
+}
diff --git a/pic/boxgen.c b/pic/boxgen.c
new file mode 100644
index 0000000000000..69a29aaaeabb8
--- /dev/null
+++ b/pic/boxgen.c
@@ -0,0 +1,127 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)boxgen.c 1.2 (gritter) 10/18/05 */
+#include <stdio.h>
+#include "pic.h"
+#include "y.tab.h"
+
+obj *boxgen(void)
+{
+ static double prevh = HT;
+ static double prevw = WID; /* golden mean, sort of */
+ int i, at, battr, with;
+ double ddval, fillval, xwith, ywith;
+ double h, w, x0, y0, x1, y1;
+ obj *p, *ppos;
+ Attr *ap;
+
+ h = getfval("boxht");
+ w = getfval("boxwid");
+ at = battr = with = 0;
+ ddval = fillval = xwith = ywith = 0;
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case HEIGHT:
+ h = ap->a_val.f;
+ break;
+ case WIDTH:
+ w = ap->a_val.f;
+ break;
+ case SAME:
+ h = prevh;
+ w = prevw;
+ break;
+ case WITH:
+ with = ap->a_val.i; /* corner */
+ break;
+ case AT:
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ at++;
+ break;
+ case INVIS:
+ battr |= INVIS;
+ break;
+ case NOEDGE:
+ battr |= NOEDGEBIT;
+ break;
+ case DOT:
+ case DASH:
+ battr |= ap->a_type==DOT ? DOTBIT : DASHBIT;
+ if (ap->a_sub == DEFAULT)
+ ddval = getfval("dashwid");
+ else
+ ddval = ap->a_val.f;
+ break;
+ case FILL:
+ battr |= FILLBIT;
+ if (ap->a_sub == DEFAULT)
+ fillval = getfval("fillval");
+ else
+ fillval = ap->a_val.f;
+ break;
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ }
+ }
+ if (with) {
+ switch (with) {
+ case NORTH: ywith = -h / 2; break;
+ case SOUTH: ywith = h / 2; break;
+ case EAST: xwith = -w / 2; break;
+ case WEST: xwith = w / 2; break;
+ case NE: xwith = -w / 2; ywith = -h / 2; break;
+ case SE: xwith = -w / 2; ywith = h / 2; break;
+ case NW: xwith = w / 2; ywith = -h / 2; break;
+ case SW: xwith = w / 2; ywith = h / 2; break;
+ }
+ curx += xwith;
+ cury += ywith;
+ }
+ if (!at) {
+ if (isright(hvmode))
+ curx += w / 2;
+ else if (isleft(hvmode))
+ curx -= w / 2;
+ else if (isup(hvmode))
+ cury += h / 2;
+ else
+ cury -= h / 2;
+ }
+ x0 = curx - w / 2;
+ y0 = cury - h / 2;
+ x1 = curx + w / 2;
+ y1 = cury + h / 2;
+ extreme(x0, y0);
+ extreme(x1, y1);
+ p = makenode(BOX, 2);
+ p->o_val[0] = w;
+ p->o_val[1] = h;
+ p->o_attr = battr;
+ p->o_ddval = ddval;
+ p->o_fillval = fillval;
+ dprintf("B %g %g %g %g at %g %g, h=%g, w=%g\n", x0, y0, x1, y1, curx, cury, h, w);
+ if (isright(hvmode))
+ curx = x1;
+ else if (isleft(hvmode))
+ curx = x0;
+ else if (isup(hvmode))
+ cury = y1;
+ else
+ cury = y0;
+ prevh = h;
+ prevw = w;
+ return(p);
+}
diff --git a/pic/circgen.c b/pic/circgen.c
new file mode 100644
index 0000000000000..0bc255b6278c1
--- /dev/null
+++ b/pic/circgen.c
@@ -0,0 +1,138 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)circgen.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include "pic.h"
+#include "y.tab.h"
+
+obj *circgen(int type)
+{
+ static double rad[2] = { HT2, WID2 };
+ static double rad2[2] = { HT2, HT2 };
+ int i, at, t, with, battr;
+ double xwith, ywith;
+ double r = 0, r2 = 0, ddval, fillval;
+ obj *p, *ppos;
+ Attr *ap;
+
+ battr = at = 0;
+ with = xwith = ywith = fillval = ddval = 0;
+ t = (type == CIRCLE) ? 0 : 1;
+ if (type == CIRCLE)
+ r = r2 = getfval("circlerad");
+ else if (type == ELLIPSE) {
+ r = getfval("ellipsewid") / 2;
+ r2 = getfval("ellipseht") / 2;
+ }
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ case RADIUS:
+ r = ap->a_val.f;
+ break;
+ case DIAMETER:
+ case WIDTH:
+ r = ap->a_val.f / 2;
+ break;
+ case HEIGHT:
+ r2 = ap->a_val.f / 2;
+ break;
+ case SAME:
+ r = rad[t];
+ r2 = rad2[t];
+ break;
+ case WITH:
+ with = ap->a_val.i;
+ break;
+ case AT:
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ at++;
+ break;
+ case INVIS:
+ battr |= INVIS;
+ break;
+ case NOEDGE:
+ battr |= NOEDGEBIT;
+ break;
+ case DOT:
+ case DASH:
+ battr |= ap->a_type==DOT ? DOTBIT : DASHBIT;
+ if (ap->a_sub == DEFAULT)
+ ddval = getfval("dashwid");
+ else
+ ddval = ap->a_val.f;
+ break;
+ case FILL:
+ battr |= FILLBIT;
+ if (ap->a_sub == DEFAULT)
+ fillval = getfval("fillval");
+ else
+ fillval = ap->a_val.f;
+ break;
+ }
+ }
+ if (type == CIRCLE)
+ r2 = r; /* probably superfluous */
+ if (with) {
+ switch (with) {
+ case NORTH: ywith = -r2; break;
+ case SOUTH: ywith = r2; break;
+ case EAST: xwith = -r; break;
+ case WEST: xwith = r; break;
+ case NE: xwith = -r * 0.707; ywith = -r2 * 0.707; break;
+ case SE: xwith = -r * 0.707; ywith = r2 * 0.707; break;
+ case NW: xwith = r * 0.707; ywith = -r2 * 0.707; break;
+ case SW: xwith = r * 0.707; ywith = r2 * 0.707; break;
+ }
+ curx += xwith;
+ cury += ywith;
+ }
+ if (!at) {
+ if (isright(hvmode))
+ curx += r;
+ else if (isleft(hvmode))
+ curx -= r;
+ else if (isup(hvmode))
+ cury += r2;
+ else
+ cury -= r2;
+ }
+ p = makenode(type, 2);
+ p->o_val[0] = rad[t] = r;
+ p->o_val[1] = rad2[t] = r2;
+ if (r <= 0 || r2 <= 0) {
+ WARNING("%s has invalid radius %g\n", (type==CIRCLE) ? "circle" : "ellipse", r<r2 ? r : r2);
+ }
+ p->o_attr = battr;
+ p->o_ddval = ddval;
+ p->o_fillval = fillval;
+ extreme(curx+r, cury+r2);
+ extreme(curx-r, cury-r2);
+ if (type == CIRCLE)
+ dprintf("C %g %g %g\n", curx, cury, r);
+ if (type == ELLIPSE)
+ dprintf("E %g %g %g %g\n", curx, cury, r, r2);
+ if (isright(hvmode))
+ curx += r;
+ else if (isleft(hvmode))
+ curx -= r;
+ else if (isup(hvmode))
+ cury += r2;
+ else
+ cury -= r2;
+ return(p);
+}
diff --git a/pic/for.c b/pic/for.c
new file mode 100644
index 0000000000000..9323aecae54a7
--- /dev/null
+++ b/pic/for.c
@@ -0,0 +1,107 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)for.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include "pic.h"
+#include "y.tab.h"
+
+#define SLOP 1.001
+
+typedef struct {
+ char *var; /* index variable */
+ double to; /* limit */
+ double by;
+ int op; /* operator */
+ char *str; /* string to push back */
+} For;
+
+For forstk[10]; /* stack of for loops */
+For *forp = forstk; /* pointer to current top */
+
+void setfval(char *, double);
+void nextfor(void);
+
+void forloop(char *var, double from, double to, int op,
+ double by, char *str) /* set up a for loop */
+{
+ dprintf("# for %s from %g to %g by %c %g \n",
+ var, from, to, op, by);
+ if (++forp >= forstk+10)
+ FATAL("for loop nested too deep");
+ forp->var = var;
+ forp->to = to;
+ forp->op = op;
+ forp->by = by;
+ forp->str = str;
+ setfval(var, from);
+ nextfor();
+ unput('\n');
+}
+
+void nextfor(void) /* do one iteration of a for loop */
+{
+ /* BUG: this should depend on op and direction */
+ if (getfval(forp->var) > SLOP * forp->to) { /* loop is done */
+ free(forp->str);
+ if (--forp < forstk)
+ FATAL("forstk popped too far");
+ } else { /* another iteration */
+ pushsrc(String, "\nEndfor\n");
+ pushsrc(String, forp->str);
+ }
+}
+
+void endfor(void) /* end one iteration of for loop */
+{
+ struct symtab *p = lookup(forp->var);
+
+ switch (forp->op) {
+ case '+':
+ case ' ':
+ p->s_val.f += forp->by;
+ break;
+ case '-':
+ p->s_val.f -= forp->by;
+ break;
+ case '*':
+ p->s_val.f *= forp->by;
+ break;
+ case '/':
+ p->s_val.f /= forp->by;
+ break;
+ }
+ nextfor();
+}
+
+char *ifstat(double expr, char *thenpart, char *elsepart)
+{
+ dprintf("if %g then <%s> else <%s>\n", expr, thenpart, elsepart? elsepart : "");
+ if (expr) {
+ unput('\n');
+ pushsrc(Free, thenpart);
+ pushsrc(String, thenpart);
+ unput('\n');
+ if (elsepart)
+ free(elsepart);
+ return thenpart; /* to be freed later */
+ } else {
+ free(thenpart);
+ if (elsepart) {
+ unput('\n');
+ pushsrc(Free, elsepart);
+ pushsrc(String, elsepart);
+ unput('\n');
+ }
+ return elsepart;
+ }
+}
diff --git a/pic/input.c b/pic/input.c
new file mode 100644
index 0000000000000..900d985576764
--- /dev/null
+++ b/pic/input.c
@@ -0,0 +1,640 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)input.c 1.8 (gritter) 12/25/06 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include "pic.h"
+#include "y.tab.h"
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+Infile infile[10];
+Infile *curfile = infile;
+
+#define MAXSRC 50
+Src src[MAXSRC]; /* input source stack */
+Src *srcp = src;
+
+void do_thru(void);
+int nextchar(void);
+int getarg(char *);
+void freedef(char *);
+int baldelim(int, char *);
+
+void pushsrc(int type, char *ptr) /* new input source */
+{
+ if (++srcp >= src + MAXSRC)
+ FATAL("inputs nested too deep");
+ srcp->type = type;
+ srcp->sp = ptr;
+ if (dbg > 1) {
+ printf("\n%3d ", (int)(srcp - src));
+ switch (srcp->type) {
+ case File:
+ printf("push file %s\n",
+ ptr ? ((Infile *)ptr)->fname : "(null)");
+ break;
+ case Macro:
+ printf("push macro <%s>\n", ptr);
+ break;
+ case Char:
+ printf("push char <%c>\n", *ptr);
+ break;
+ case Thru:
+ printf("push thru\n");
+ break;
+ case String:
+ printf("push string <%s>\n", ptr);
+ break;
+ case Free:
+ printf("push free <%s>\n", ptr);
+ break;
+ default:
+ FATAL("pushed bad type %d", srcp->type);
+ }
+ }
+}
+
+void popsrc(void) /* restore an old one */
+{
+ if (srcp <= src)
+ FATAL("too many inputs popped");
+ if (dbg > 1) {
+ printf("%3d ", (int)(srcp - src));
+ switch (srcp->type) {
+ case File:
+ printf("pop file\n");
+ break;
+ case Macro:
+ printf("pop macro\n");
+ break;
+ case Char:
+ printf("pop char <%c>\n", *srcp->sp);
+ break;
+ case Thru:
+ printf("pop thru\n");
+ break;
+ case String:
+ printf("pop string\n");
+ break;
+ case Free:
+ printf("pop free\n");
+ break;
+ default:
+ FATAL("pop weird input %d", srcp->type);
+ }
+ }
+ srcp--;
+}
+
+void definition(char *s) /* collect definition for s and install */
+ /* definitions picked up lexically */
+{
+ char *p;
+ struct symtab *stp;
+
+ p = delimstr("definition");
+ stp = lookup(s);
+ if (stp != NULL) { /* it's there before */
+ if (stp->s_type != DEFNAME) {
+ WARNING("%s used as variable and definition", s);
+ return;
+ }
+ free(stp->s_val.p);
+ stp->s_val.p = p;
+ } else {
+ YYSTYPE u;
+ u.p = p;
+ makevar(tostring(s), DEFNAME, u);
+ }
+ dprintf("installing %s as `%s'\n", s, p);
+}
+
+char *delimstr(char *s) /* get body of X ... X */
+ /* message if too big */
+{
+ int c, delim, rdelim, n, deep;
+ static char *buf = NULL;
+ static int nbuf = 0;
+ char *p;
+
+ if (buf == NULL)
+ buf = grow(buf, "buf", nbuf += 1000, sizeof(buf[0]));
+ while ((delim = input()) == ' ' || delim == '\t' || delim == '\n')
+ ;
+ rdelim = baldelim(delim, "{}"); /* could be "(){}[]`'" */
+ deep = 1;
+ for (p = buf; ; ) {
+ c = input();
+ if (c == rdelim)
+ if (--deep == 0)
+ break;
+ if (c == delim)
+ deep++;
+ if (p >= buf + nbuf) {
+ n = p - buf;
+ buf = grow(buf, "buf", nbuf += 1000, sizeof(buf[0]));
+ p = buf + n;
+ }
+ if (c == EOF)
+ FATAL("end of file in %s %c %.20s... %c", s, delim, buf, delim);
+ *p++ = c;
+ }
+ *p = '\0';
+ dprintf("delimstr %s %c <%s> %c\n", s, delim, buf, delim);
+ return tostring(buf);
+}
+
+int baldelim(int c, char *s) /* replace c by balancing entry in s */
+{
+ for ( ; *s; s += 2)
+ if (*s == c)
+ return s[1];
+ return c;
+}
+
+void undefine(char *s) /* undefine macro */
+{
+ while (*s != ' ' && *s != '\t') /* skip "undef..." */
+ s++;
+ while (*s == ' ' || *s == '\t')
+ s++;
+ freedef(s);
+}
+
+
+Arg args[10]; /* argument frames */
+Arg *argfp = args; /* frame pointer */
+int argcnt; /* number of arguments seen so far */
+
+void dodef(struct symtab *stp) /* collect args and switch input to defn */
+{
+ int i, len;
+ char *p;
+ Arg *ap;
+
+ ap = argfp+1;
+ if (ap >= args+10)
+ FATAL("arguments too deep");
+ argcnt = 0;
+ if (input() != '(')
+ FATAL("disaster in dodef");
+ if (ap->argval == 0)
+ ap->argval = malloc(1000);
+ for (p = ap->argval; (len = getarg(p)) != -1; p += len) {
+ ap->argstk[argcnt++] = p;
+ if (input() == ')')
+ break;
+ }
+ for (i = argcnt; i < MAXARGS; i++)
+ ap->argstk[i] = "";
+ if (dbg)
+ for (i = 0; i < argcnt; i++)
+ printf("arg %d.%d = <%s>\n", (int)(ap-args), i+1, ap->argstk[i]);
+ argfp = ap;
+ pushsrc(Macro, stp->s_val.p);
+}
+
+int getarg(char *p) /* pick up single argument, store in p, return length */
+{
+ int n, c, npar;
+
+ n = npar = 0;
+ for ( ;; ) {
+ c = input();
+ if (c == EOF)
+ FATAL("end of file in getarg");
+ if (npar == 0 && (c == ',' || c == ')'))
+ break;
+ if (c == '"') /* copy quoted stuff intact */
+ do {
+ *p++ = c;
+ n++;
+ } while ((c = input()) != '"' && c != EOF);
+ else if (c == '(')
+ npar++;
+ else if (c == ')')
+ npar--;
+ n++;
+ *p++ = c;
+ }
+ *p = 0;
+ unput(c);
+ return(n + 1);
+}
+
+#define PBSIZE 2000
+char pbuf[PBSIZE]; /* pushback buffer */
+char *pb = pbuf-1; /* next pushed back character */
+
+char ebuf[200]; /* collect input here for error reporting */
+char *ep = ebuf;
+
+int begin = 0;
+extern int thru;
+extern struct symtab *thrudef;
+extern char *untilstr;
+
+int input(void)
+{
+ register int c;
+
+ if (thru && begin) {
+ do_thru();
+ begin = 0;
+ }
+ c = nextchar();
+ if (dbg > 1)
+ printf(" <%c>", c);
+ if (ep >= ebuf + sizeof ebuf)
+ ep = ebuf;
+ return (*ep++ = c) & 0377;
+}
+
+int nextchar(void)
+{
+ register int c = 0;
+
+ loop:
+ switch (srcp->type) {
+ case Free: /* free string */
+ free(srcp->sp);
+ popsrc();
+ goto loop;
+ case Thru: /* end of pushed back line */
+ begin = 1;
+ popsrc();
+ c = '\n';
+ break;
+ case Char:
+ if (pb >= pbuf) {
+ c = *pb--;
+ popsrc();
+ break;
+ } else { /* can't happen? */
+ popsrc();
+ goto loop;
+ }
+ case String:
+ c = *srcp->sp++;
+ if (c == '\0') {
+ popsrc();
+ goto loop;
+ } else {
+ if (*srcp->sp == '\0') /* empty, so pop */
+ popsrc();
+ break;
+ }
+ case Macro:
+ c = *srcp->sp++;
+ if (c == '\0') {
+ if (--argfp < args)
+ FATAL("argfp underflow");
+ popsrc();
+ goto loop;
+ } else if (c == '$' && isdigit((int)*srcp->sp)) {
+ int n = 0;
+ while (isdigit((int)*srcp->sp))
+ n = 10 * n + *srcp->sp++ - '0';
+ if (n > 0 && n <= MAXARGS)
+ pushsrc(String, argfp->argstk[n-1]);
+ goto loop;
+ }
+ break;
+ case File:
+ c = getc(curfile->fin);
+ if (c == EOF) {
+ if (curfile == infile)
+ FATAL("end of file inside .PS/.PE");
+ if (curfile->fin != stdin) {
+ fclose(curfile->fin);
+ free(curfile->fname); /* assumes allocated */
+ }
+ curfile--;
+ printlf(curfile->lineno, curfile->fname);
+ popsrc();
+ thru = 0; /* chicken out */
+ thrudef = 0;
+ if (untilstr) {
+ free(untilstr);
+ untilstr = 0;
+ }
+ goto loop;
+ }
+ if (c == '\n')
+ curfile->lineno++;
+ break;
+ }
+ return c;
+}
+
+void do_thru(void) /* read one line, make into a macro expansion */
+{
+ int c, i;
+ char *p;
+ Arg *ap;
+
+ ap = argfp+1;
+ if (ap >= args+10)
+ FATAL("arguments too deep");
+ if (ap->argval == NULL)
+ ap->argval = malloc(1000);
+ p = ap->argval;
+ argcnt = 0;
+ c = nextchar();
+ if (thru == 0) { /* end of file was seen, so thru is done */
+ unput(c);
+ return;
+ }
+ for ( ; c != '\n' && c != EOF; ) {
+ if (c == ' ' || c == '\t') {
+ c = nextchar();
+ continue;
+ }
+ ap->argstk[argcnt++] = p;
+ if (c == '"') {
+ do {
+ *p++ = c;
+ if ((c = nextchar()) == '\\') {
+ *p++ = c;
+ *p++ = nextchar();
+ c = nextchar();
+ }
+ } while (c != '"' && c != '\n' && c != EOF);
+ *p++ = '"';
+ if (c == '"')
+ c = nextchar();
+ } else {
+ do {
+ *p++ = c;
+ } while ((c = nextchar())!=' ' && c!='\t' && c!='\n' && c!=',' && c!=EOF);
+ if (c == ',')
+ c = nextchar();
+ }
+ *p++ = '\0';
+ }
+ if (c == EOF)
+ FATAL("unexpected end of file in do_thru");
+ if (argcnt == 0) { /* ignore blank line */
+ pushsrc(Thru, (char *) 0);
+ return;
+ }
+ for (i = argcnt; i < MAXARGS; i++)
+ ap->argstk[i] = "";
+ if (dbg)
+ for (i = 0; i < argcnt; i++)
+ printf("arg %d.%d = <%s>\n", (int)(ap-args), i+1, ap->argstk[i]);
+ if (strcmp(ap->argstk[0], ".PE") == 0) {
+ thru = 0;
+ thrudef = 0;
+ pushsrc(String, "\n.PE\n");
+ return;
+ }
+ if (untilstr && strcmp(ap->argstk[0], untilstr) == 0) {
+ thru = 0;
+ thrudef = 0;
+ free(untilstr);
+ untilstr = 0;
+ return;
+ }
+ pushsrc(Thru, (char *) 0);
+ dprintf("do_thru pushing back <%s>\n", thrudef->s_val.p);
+ argfp = ap;
+ pushsrc(Macro, thrudef->s_val.p);
+}
+
+int unput(int c)
+{
+ if (++pb >= pbuf + sizeof pbuf)
+ FATAL("pushback overflow");
+ if (--ep < ebuf)
+ ep = ebuf + sizeof(ebuf) - 1;
+ *pb = c;
+ pushsrc(Char, pb);
+ return c;
+}
+
+void pbstr(char *s)
+{
+ pushsrc(String, s);
+}
+
+double errcheck(double x, char *s)
+{
+ if (errno == EDOM) {
+ errno = 0;
+ WARNING("%s argument out of domain", s);
+ } else if (errno == ERANGE) {
+ errno = 0;
+ WARNING("%s result out of range", s);
+ }
+ return x;
+}
+
+void eprint(void);
+
+void yyerror(char *s)
+{
+ extern char *cmdname;
+ int ern = errno; /* cause some libraries clobber it */
+
+ if (synerr)
+ return;
+ fflush(stdout);
+ fprintf(stderr, "%s: %s", cmdname, s);
+ if (ern > 0) {
+ errno = ern;
+ perror("???");
+ }
+ fprintf(stderr, " near %s:%d\n",
+ curfile->fname, curfile->lineno+1);
+ eprint();
+ synerr = 1;
+ errno = 0;
+}
+
+void eprint(void) /* try to print context around error */
+{
+ char *p, *q;
+
+ p = ep - 1;
+ if (p > ebuf && *p == '\n')
+ p--;
+ for ( ; p >= ebuf && *p != '\n'; p--)
+ ;
+ while (*p == '\n')
+ p++;
+ fprintf(stderr, " context is\n\t");
+ for (q=ep-1; q>=p && *q!=' ' && *q!='\t' && *q!='\n'; q--)
+ ;
+ while (p < q)
+ putc(*p++, stderr);
+ fprintf(stderr, " >>> ");
+ while (p < ep)
+ putc(*p++, stderr);
+ fprintf(stderr, " <<< ");
+ while (pb >= pbuf)
+ putc(*pb--, stderr);
+ fgets(ebuf, sizeof ebuf, curfile->fin);
+ fprintf(stderr, "%s", ebuf);
+ pbstr("\n.PE\n"); /* safety first */
+ ep = ebuf;
+}
+
+void yywrap(void) {}
+
+char *newfile = 0; /* filename for file copy */
+char *untilstr = 0; /* string that terminates a thru */
+int thru = 0; /* 1 if copying thru macro */
+struct symtab *thrudef = 0; /* macro being used */
+
+void copyfile(char *s) /* remember file to start reading from */
+{
+ newfile = s;
+}
+
+void copydef(struct symtab *p) /* remember macro symtab ptr */
+{
+ thrudef = p;
+}
+
+struct symtab *copythru(char *s) /* collect the macro name or body for thru */
+{
+ struct symtab *p;
+ char *q, *addnewline(char *);
+
+ p = lookup(s);
+ if (p != NULL) {
+ if (p->s_type == DEFNAME) {
+ p->s_val.p = addnewline(p->s_val.p);
+ return p;
+ } else
+ FATAL("%s used as define and name", s);
+ }
+ /* have to collect the definition */
+ pbstr(s); /* first char is the delimiter */
+ q = delimstr("thru body");
+ s = "nameless";
+ p = lookup(s);
+ if (p != NULL) {
+ if (p->s_val.p)
+ free(p->s_val.p);
+ p->s_val.p = q;
+ } else {
+ YYSTYPE u;
+ u.p = q;
+ p = makevar(tostring(s), DEFNAME, u);
+ }
+ p->s_val.p = addnewline(p->s_val.p);
+ dprintf("installing %s as `%s'\n", s, p->s_val.p);
+ return p;
+}
+
+char *addnewline(char *p) /* add newline to end of p */
+{
+ int n;
+
+ n = strlen(p);
+ if (p[n-1] != '\n') {
+ p = realloc(p, n+2);
+ p[n] = '\n';
+ p[n+1] = '\0';
+ }
+ return p;
+}
+
+void copyuntil(char *s) /* string that terminates a thru */
+{
+ untilstr = s;
+}
+
+void copy(void) /* begin input from file, etc. */
+{
+ FILE *fin;
+
+ if (newfile) {
+ if ((fin = fopen(newfile, "r")) == NULL)
+ FATAL("can't open file %s", newfile);
+ curfile++;
+ curfile->fin = fin;
+ curfile->fname = newfile;
+ curfile->lineno = 0;
+ printlf(1, curfile->fname);
+ pushsrc(File, curfile->fname);
+ newfile = 0;
+ }
+ if (thrudef) {
+ thru = 1;
+ begin = 1; /* wrong place */
+ }
+}
+
+char shellbuf[1000], *shellp;
+
+void shell_init(void) /* set up to interpret a shell command */
+{
+ shellp = shellbuf;
+}
+
+void shell_text(char *s) /* add string to command being collected */
+{
+ while ((*shellp++ = *s++)) {
+ if (shellp >= &shellbuf[sizeof shellbuf])
+ FATAL("shell command too long");
+ }
+ shellp--;
+}
+
+void shell_exec(void) /* do it */
+{
+ *shellp = '\0';
+ if (Sflag)
+ WARNING("-S inhibited execution of shell command");
+ else
+ system(shellbuf);
+}
+
+#define LSIZE 128
+
+char *fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = realloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = realloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
diff --git a/pic/linegen.c b/pic/linegen.c
new file mode 100644
index 0000000000000..f80b64aa6137f
--- /dev/null
+++ b/pic/linegen.c
@@ -0,0 +1,251 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)linegen.c 1.3 (gritter) 10/25/05 */
+#include <stdio.h>
+#include <math.h>
+#include "pic.h"
+#include "y.tab.h"
+
+obj *linegen(int type)
+{
+ static double prevdx = HT;
+ static double prevdy = 0;
+ static double prevw = HT10;
+ static double prevh = HT5;
+ int i, j, some, head, ddtype, invis, chop, battr, with;
+ double ddval, chop1, chop2, x0, y0, x1, y1;
+ double fillval = 0;
+ double theta;
+ double defx, defy, xwith, ywith;
+ obj *p, *ppos;
+ static int xtab[] = { 1, 0, -1, 0 }; /* R=0, U=1, L=2, D=3 */
+ static int ytab[] = { 0, 1, 0, -1 };
+ double dx[500], dy[500];
+ int ndxy;
+ double nx, ny;
+ Attr *ap;
+
+ nx = curx;
+ ny = cury;
+ defx = getfval("linewid");
+ defy = getfval("lineht");
+ prevh = getfval("arrowht");
+ prevw = getfval("arrowwid");
+ dx[0] = dy[0] = ndxy = some = head = invis = battr = with = 0;
+ chop = chop1 = chop2 = 0;
+ ddtype = ddval = xwith = ywith = 0;
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ case HEAD:
+ head += ap->a_val.i;
+ break;
+ case INVIS:
+ invis = INVIS;
+ break;
+ case NOEDGE:
+ battr |= NOEDGEBIT;
+ break;
+ case DOT:
+ case DASH:
+ ddtype = ap->a_type==DOT ? DOTBIT : DASHBIT;
+ if (ap->a_sub == DEFAULT)
+ ddval = getfval("dashwid");
+ else
+ ddval = ap->a_val.f;
+ break;
+ case SAME:
+ dx[ndxy] = prevdx;
+ dy[ndxy] = prevdy;
+ some++;
+ break;
+ case LEFT:
+ dx[ndxy] -= (ap->a_sub==DEFAULT) ? defx : ap->a_val.f;
+ some++;
+ hvmode = L_DIR;
+ break;
+ case RIGHT:
+ dx[ndxy] += (ap->a_sub==DEFAULT) ? defx : ap->a_val.f;
+ some++;
+ hvmode = R_DIR;
+ break;
+ case UP:
+ dy[ndxy] += (ap->a_sub==DEFAULT) ? defy : ap->a_val.f;
+ some++;
+ hvmode = U_DIR;
+ break;
+ case DOWN:
+ dy[ndxy] -= (ap->a_sub==DEFAULT) ? defy : ap->a_val.f;
+ some++;
+ hvmode = D_DIR;
+ break;
+ case HEIGHT: /* length of arrowhead */
+ prevh = ap->a_val.f;
+ break;
+ case WIDTH: /* width of arrowhead */
+ prevw = ap->a_val.f;
+ break;
+ case TO:
+ if (some) {
+ nx += dx[ndxy];
+ ny += dy[ndxy];
+ ndxy++;
+ dx[ndxy] = dy[ndxy] = some = 0;
+ }
+ ppos = attr[i].a_val.o;
+ dx[ndxy] = ppos->o_x - nx;
+ dy[ndxy] = ppos->o_y - ny;
+ some++;
+ break;
+ case BY:
+ if (some) {
+ nx += dx[ndxy];
+ ny += dy[ndxy];
+ ndxy++;
+ dx[ndxy] = dy[ndxy] = some = 0;
+ }
+ ppos = ap->a_val.o;
+ dx[ndxy] = ppos->o_x;
+ dy[ndxy] = ppos->o_y;
+ some++;
+ break;
+ case THEN: /* turn off any previous accumulation */
+ if (some) {
+ nx += dx[ndxy];
+ ny += dy[ndxy];
+ ndxy++;
+ dx[ndxy] = dy[ndxy] = some = 0;
+ }
+ break;
+ case FROM:
+ case AT:
+ ppos = ap->a_val.o;
+ nx = curx = ppos->o_x;
+ ny = cury = ppos->o_y;
+ break;
+ case WITH:
+ with = ap->a_val.i;
+ break;
+ case CHOP:
+ if (ap->a_sub != PLACENAME) {
+ if( chop == 0)
+ chop1 = chop2 = ap->a_val.f;
+ else
+ chop2 = ap->a_val.f;
+ }
+ break;
+ case FILL:
+ battr |= FILLBIT;
+ if (ap->a_sub == DEFAULT)
+ fillval = getfval("fillval");
+ else
+ fillval = ap->a_val.f;
+ break;
+ }
+ }
+ if (with) { /* this doesn't work at all */
+ switch (with) {
+ case CENTER:
+ xwith = (dx[1] - dx[0]) / 2; ywith = (dy[1] - dy[0]) / 2; break;
+ }
+ for (i = 0; i < ndxy; i++) {
+ dx[i] -= xwith;
+ dy[i] -= ywith;
+ }
+ curx += xwith;
+ cury += ywith;
+ }
+ if (some) {
+ nx += dx[ndxy];
+ ny += dy[ndxy];
+ ndxy++;
+ defx = dx[ndxy-1];
+ defy = dy[ndxy-1];
+ } else {
+ defx *= xtab[hvmode];
+ defy *= ytab[hvmode];
+ dx[ndxy] = defx;
+ dy[ndxy] = defy;
+ ndxy++;
+ nx += defx;
+ ny += defy;
+ }
+ prevdx = defx;
+ prevdy = defy;
+ if (chop) {
+ if (chop == 1 && chop1 == 0) /* just said "chop", so use default */
+ chop1 = chop2 = getfval("circlerad");
+ theta = atan2(dy[0], dx[0]);
+ x0 = chop1 * cos(theta);
+ y0 = chop1 * sin(theta);
+ curx += x0;
+ cury += y0;
+ dx[0] -= x0;
+ dy[0] -= y0;
+
+ theta = atan2(dy[ndxy-1], dx[ndxy-1]);
+ x1 = chop2 * cos(theta);
+ y1 = chop2 * sin(theta);
+ nx -= x1;
+ ny -= y1;
+ dx[ndxy-1] -= x1;
+ dy[ndxy-1] -= y1;
+ dprintf("chopping %g %g %g %g; cur=%g,%g end=%g,%g\n",
+ x0, y0, x1, y1, curx, cury, nx, ny);
+ }
+ p = makenode(type, 5 + 2 * ndxy);
+ curx = p->o_val[0] = nx;
+ cury = p->o_val[1] = ny;
+ if (head || type == ARROW) {
+ p->o_nhead = getfval("arrowhead");
+ p->o_val[2] = prevw;
+ p->o_val[3] = prevh;
+ if (head == 0)
+ head = HEAD2; /* default arrow head */
+ }
+ p->o_attr = head | invis | ddtype | battr;
+ p->o_fillval = fillval;
+ p->o_val[4] = ndxy;
+ nx = p->o_x;
+ ny = p->o_y;
+ for (i = 0, j = 5; i < ndxy; i++, j += 2) {
+ p->o_val[j] = dx[i];
+ p->o_val[j+1] = dy[i];
+ if (type == LINE || type == ARROW)
+ extreme(nx += dx[i], ny += dy[i]);
+ else if (type == SPLINE && i < ndxy-1) {
+ /* to compute approx extreme of spline at p,
+ * compute midway between p-1 and p+1,
+ * then go 3/4 from there to p */
+ double ex, ey, xi, yi, xi1, yi1;
+ xi = nx + dx[i]; yi = ny + dy[i]; /* p */
+ xi1 = xi + dx[i+1]; yi1 = yi + dy[i+1]; /* p+1 */
+ ex = (nx+xi1)/2; ey = (ny+yi1)/2; /* midway */
+ ex += 0.75*(xi-ex); ey += 0.75*(yi-ey);
+ extreme(ex, ey);
+ nx = xi; ny = yi;
+ }
+
+ }
+ p->o_ddval = ddval;
+ if (dbg) {
+ printf("S or L from %g %g to %g %g with %d elements:\n", p->o_x, p->o_y, curx, cury, ndxy);
+ for (i = 0, j = 5; i < ndxy; i++, j += 2)
+ printf("%g %g\n", p->o_val[j], p->o_val[j+1]);
+ }
+ extreme(p->o_x, p->o_y);
+ extreme(curx, cury);
+ return(p);
+}
diff --git a/pic/main.c b/pic/main.c
new file mode 100644
index 0000000000000..2dc452dec0615
--- /dev/null
+++ b/pic/main.c
@@ -0,0 +1,313 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)main.c 1.6 (gritter) 12/5/05 */
+#include <stdio.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include "pic.h"
+#include "y.tab.h"
+
+extern const char version[];
+
+obj **objlist = 0; /* store the elements here */
+int nobjlist = 0; /* size of objlist array */
+int nobj = 0;
+
+Attr *attr; /* attributes stored here as collected */
+int nattrlist = 0;
+int nattr = 0; /* number of entries in attr_list */
+
+Text *text = 0; /* text strings stored here as collected */
+int ntextlist = 0; /* size of text[] array */
+int ntext = 0;
+int ntext1 = 0; /* record ntext here on entry to each figure */
+
+double curx = 0;
+double cury = 0;
+
+int hvmode = R_DIR; /* R => join left to right, D => top to bottom, etc. */
+
+int codegen = 0; /* 1=>output for this picture; 0=>no output */
+char *PEstring; /* "PS" or "PE" picked up by lexer */
+
+double deltx = 6; /* max x value in output, for scaling */
+double delty = 6; /* max y value in output, for scaling */
+int dbg = 0;
+int lineno = 0;
+char *filename = "-";
+int synerr = 0;
+int anyerr = 0; /* becomes 1 if synerr ever 1 */
+char *cmdname;
+int Sflag;
+
+double xmin = 30000; /* min values found in actual data */
+double ymin = 30000;
+double xmax = -30000; /* max */
+double ymax = -30000;
+
+void fpecatch(int);
+void getdata(void), setdefaults(void);
+void setfval(char *, double);
+int getpid(void);
+
+int
+main(int argc, char *argv[])
+{
+ char buf[20];
+
+ signal(SIGFPE, fpecatch);
+ cmdname = argv[0];
+ while (argc > 1 && *argv[1] == '-') {
+ switch (argv[1][1]) {
+ case 'd':
+ dbg = atoi(&argv[1][2]);
+ if (dbg == 0)
+ dbg = 1;
+ fprintf(stderr, "%s\n", version);
+ break;
+ case 'V':
+ fprintf(stderr, "%s\n", version);
+ return 0;
+ case 'S':
+ Sflag = 1;
+ break;
+ case 'U':
+ Sflag = 0;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ setdefaults();
+ objlist = (obj **) grow((char *)objlist, "objlist", nobjlist += 1000, sizeof(obj *));
+ text = (Text *) grow((char *)text, "text", ntextlist += 1000, sizeof(Text));
+ attr = (Attr *) grow((char *)attr, "attr", nattrlist += 100, sizeof(Attr));
+
+ snprintf(buf, sizeof(buf), "/%d/", getpid());
+ pushsrc(String, buf);
+ definition("pid");
+
+ curfile = infile;
+ pushsrc(File, curfile->fname);
+ if (argc <= 1) {
+ curfile->fin = stdin;
+ curfile->fname = tostring("-");
+ getdata();
+ } else
+ while (argc-- > 1) {
+ if ((curfile->fin = fopen(*++argv, "r")) == NULL) {
+ fprintf(stderr, "%s: can't open %s\n", cmdname, *argv);
+ exit(1);
+ }
+ curfile->fname = tostring(*argv);
+ getdata();
+ fclose(curfile->fin);
+ free(curfile->fname);
+ }
+ return anyerr;
+}
+
+void fpecatch(int n)
+{
+ FATAL("floating point exception %d", n);
+}
+
+char *grow(char *ptr, char *name, int num, int size) /* make array bigger */
+{
+ char *p;
+
+ if (ptr == NULL)
+ p = malloc(num * size);
+ else
+ p = realloc(ptr, num * size);
+ if (p == NULL)
+ FATAL("can't grow %s to %d", name, num * size);
+ return p;
+}
+
+static struct {
+ char *name;
+ double val;
+ short scalable; /* 1 => adjust when "scale" changes */
+} defaults[] ={
+ { "scale" , SCALE , 1 },
+ { "lineht" , HT , 1 },
+ { "linewid" , HT , 1 },
+ { "moveht" , HT , 1 },
+ { "movewid" , HT , 1 },
+ { "dashwid" , HT10 , 1 },
+ { "boxht" , HT , 1 },
+ { "boxwid" , WID , 1 },
+ { "circlerad" , HT2 , 1 },
+ { "arcrad" , HT2 , 1 },
+ { "ellipseht" , HT , 1 },
+ { "ellipsewid", WID , 1 },
+ { "arrowht" , HT5 , 1 },
+ { "arrowwid" , HT10 , 1 },
+ { "arrowhead" , 2 , 0 }, /* arrowhead style */
+ { "textht" , 0.0 , 1 }, /* 6 lines/inch is also a useful value */
+ { "textwid" , 0.0 , 1 },
+ { "maxpsht" , MAXHT , 0 },
+ { "maxpswid" , MAXWID, 0 },
+ { "fillval" , 0.7 , 0 }, /* gray value for filling boxes */
+ { NULL , 0 , 0 }
+};
+
+void setdefaults(void) /* set default sizes for variables like boxht */
+{
+ int i;
+ YYSTYPE v;
+
+ for (i = 0; defaults[i].name != NULL; i++) {
+ v.f = defaults[i].val;
+ makevar(tostring(defaults[i].name), VARNAME, v);
+ }
+}
+
+void resetvar(void) /* reset variables listed */
+{
+ int i, j;
+
+ if (nattr == 0) { /* none listed, so do all */
+ setdefaults();
+ return;
+ }
+ for (i = 0; i < nattr; i++) {
+ for (j = 0; defaults[j].name != NULL; j++)
+ if (strcmp(defaults[j].name, attr[i].a_val.p) == 0) {
+ setfval(defaults[j].name, defaults[j].val);
+ free(attr[i].a_val.p);
+ break;
+ }
+ }
+}
+
+void checkscale(char *s) /* if s is "scale", adjust default variables */
+{
+ int i;
+ double scale;
+
+ if (strcmp(s, "scale") == 0) {
+ scale = getfval("scale");
+ for (i = 1; defaults[i].name != NULL; i++)
+ if (defaults[i].scalable)
+ setfval(defaults[i].name, defaults[i].val * scale);
+ }
+}
+
+void getdata(void)
+{
+ char *p, *buf = NULL, *buf1 = NULL;
+ size_t size = 0;
+ int ln;
+ void reset(void), openpl(char *), closepl(char *), print(void);
+ int yyparse(void);
+ char *fgetline(char **, size_t *, size_t *, FILE *);
+
+ curfile->lineno = 0;
+ printlf(1, curfile->fname);
+ while (fgetline(&buf, &size, NULL, curfile->fin) != NULL) {
+ curfile->lineno++;
+ if (buf[0] == '.' && buf[1] == 'l' && buf[2] == 'f') {
+ buf1 = realloc(buf1, size);
+ if (sscanf(buf+3, "%d %s", &ln, buf1) == 2) {
+ free(curfile->fname);
+ printlf(curfile->lineno = ln, curfile->fname = tostring(buf1));
+ } else
+ printlf(curfile->lineno = ln, NULL);
+ } else if (*buf == '.') {
+ for (p = buf + 1; *p == ' ' || *p == '\t'; p++);
+ if (!*p || *p != 'P' || p[1] != 'S') {
+ fputs(buf, stdout);
+ continue;
+ }
+ for (p = &buf[3]; *p == ' '; p++)
+ ;
+ if (*p++ == '<') {
+ Infile svfile;
+ svfile = *curfile;
+ buf1 = realloc(buf1, size);
+ sscanf(p, "%s", buf1);
+ if ((curfile->fin=fopen(buf1, "r")) == NULL)
+ FATAL("can't open %s", buf1);
+ curfile->fname = tostring(buf1);
+ getdata();
+ fclose(curfile->fin);
+ free(curfile->fname);
+ *curfile = svfile;
+ printlf(curfile->lineno, curfile->fname);
+ continue;
+ }
+ reset();
+ yyparse();
+ anyerr += synerr;
+ deltx = (xmax - xmin) / getfval("scale");
+ delty = (ymax - ymin) / getfval("scale");
+ if (buf[3] == ' ') { /* next things are wid & ht */
+ if (sscanf(&buf[4],"%lf %lf", &deltx, &delty) < 2)
+ delty = deltx * (ymax-ymin) / (xmax-xmin);
+ /* else {
+ * double xfac, yfac; */
+ /* xfac = deltx / (xmax-xmin);
+ * yfac = delty / (ymax-ymin);
+ * if (xfac <= yfac)
+ * delty = xfac * (ymax-ymin);
+ * else
+ * deltx = yfac * (xmax-xmin);
+ *}
+ */
+ }
+ dprintf("deltx = %g, delty = %g\n", deltx, delty);
+ if (codegen && !synerr) {
+ openpl(&buf[3]); /* puts out .PS, with ht & wid stuck in */
+ printlf(curfile->lineno+1, NULL);
+ print(); /* assumes \n at end */
+ closepl(PEstring); /* does the .PE/F */
+ free(PEstring);
+ }
+ printlf(curfile->lineno+1, NULL);
+ fflush(stdout);
+ } else
+ fputs(buf, stdout);
+ }
+ free(buf);
+ free(buf1);
+}
+
+void reset(void)
+{
+ obj *op;
+ int i;
+ extern int nstack;
+ extern void freesymtab(struct symtab *);
+
+ for (i = 0; i < nobj; i++) {
+ op = objlist[i];
+ if (op->o_type == BLOCK)
+ freesymtab(op->o_symtab);
+ free((char *)objlist[i]);
+ }
+ nobj = 0;
+ nattr = 0;
+ for (i = 0; i < ntext; i++)
+ if (text[i].t_val)
+ free(text[i].t_val);
+ ntext = ntext1 = 0;
+ codegen = synerr = 0;
+ nstack = 0;
+ curx = cury = 0;
+ PEstring = 0;
+ hvmode = R_DIR;
+ xmin = ymin = 30000;
+ xmax = ymax = -30000;
+}
diff --git a/pic/misc.c b/pic/misc.c
new file mode 100644
index 0000000000000..4aa9b06d5c4c1
--- /dev/null
+++ b/pic/misc.c
@@ -0,0 +1,479 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)misc.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <math.h>
+#include "pic.h"
+#include "y.tab.h"
+
+int whatpos(obj *p, int corner, double *px, double *py);
+void makeattr(int type, int sub, YYSTYPE val);
+YYSTYPE getblk(obj *, char *);
+
+int setdir(int n) /* set direction (hvmode) from LEFT, RIGHT, etc. */
+{
+ switch (n) {
+ case UP: hvmode = U_DIR; break;
+ case DOWN: hvmode = D_DIR; break;
+ case LEFT: hvmode = L_DIR; break;
+ case RIGHT: hvmode = R_DIR; break;
+ }
+ return(hvmode);
+}
+
+int curdir(void) /* convert current dir (hvmode) to RIGHT, LEFT, etc. */
+{
+ switch (hvmode) {
+ case R_DIR: return RIGHT;
+ case L_DIR: return LEFT;
+ case U_DIR: return UP;
+ case D_DIR: return DOWN;
+ }
+ FATAL("can't happen curdir");
+ return 0;
+}
+
+double getcomp(obj *p, int t) /* return component of a position */
+{
+ switch (t) {
+ case DOTX:
+ return p->o_x;
+ case DOTY:
+ return p->o_y;
+ case DOTWID:
+ switch (p->o_type) {
+ case BOX:
+ case BLOCK:
+ case TEXT:
+ return p->o_val[0];
+ case CIRCLE:
+ case ELLIPSE:
+ return 2 * p->o_val[0];
+ case LINE:
+ case ARROW:
+ return p->o_val[0] - p->o_x;
+ case PLACE:
+ return 0;
+ }
+ case DOTHT:
+ switch (p->o_type) {
+ case BOX:
+ case BLOCK:
+ case TEXT:
+ return p->o_val[1];
+ case CIRCLE:
+ case ELLIPSE:
+ return 2 * p->o_val[1];
+ case LINE:
+ case ARROW:
+ return p->o_val[1] - p->o_y;
+ case PLACE:
+ return 0;
+ }
+ case DOTRAD:
+ switch (p->o_type) {
+ case CIRCLE:
+ case ELLIPSE:
+ return p->o_val[0];
+ }
+ }
+ WARNING("you asked for a weird dimension or position");
+ return 0;
+}
+
+double exprlist[100];
+int nexpr = 0;
+
+void exprsave(double f)
+{
+ exprlist[nexpr++] = f;
+}
+
+char *sprintgen(char *fmt)
+{
+ char buf[1000];
+
+ snprintf(buf, sizeof(buf), fmt, exprlist[0], exprlist[1], exprlist[2],
+ exprlist[3], exprlist[4]);
+ nexpr = 0;
+ free(fmt);
+ return tostring(buf);
+}
+
+void makefattr(int type, int sub, double f) /* double attr */
+{
+ YYSTYPE val;
+ val.f = f;
+ makeattr(type, sub, val);
+}
+
+void makeoattr(int type, obj *o) /* obj* attr */
+{
+ YYSTYPE val;
+ val.o = o;
+ makeattr(type, 0, val);
+}
+
+void makeiattr(int type, int i) /* int attr */
+{
+ YYSTYPE val;
+ val.i = i;
+ makeattr(type, 0, val);
+}
+
+void maketattr(int sub, char *p) /* text attribute: takes two */
+{
+ YYSTYPE val;
+ val.p = p;
+ makeattr(TEXTATTR, sub, val);
+}
+
+void addtattr(int sub) /* add text attrib to existing item */
+{
+ attr[nattr-1].a_sub |= sub;
+}
+
+void makevattr(char *p) /* varname attribute */
+{
+ YYSTYPE val;
+ val.p = p;
+ makeattr(VARNAME, 0, val);
+}
+
+void makeattr(int type, int sub, YYSTYPE val) /* add attribute type and val */
+{
+ if (type == 0 && val.i == 0) { /* clear table for next stat */
+ nattr = 0;
+ return;
+ }
+ if (nattr >= nattrlist)
+ attr = (Attr *) grow((char *)attr, "attr", nattrlist += 100, sizeof(Attr));
+ dprintf("attr %d: %d %d %d\n", nattr, type, sub, val.i);
+ attr[nattr].a_type = type;
+ attr[nattr].a_sub = sub;
+ attr[nattr].a_val = val;
+ nattr++;
+}
+
+void printexpr(double f) /* print expression for debugging */
+{
+ printf("%g\n", f);
+}
+
+void printpos(obj *p) /* print position for debugging */
+{
+ printf("%g, %g\n", p->o_x, p->o_y);
+}
+
+char *tostring(char *s)
+{
+ register char *p;
+ size_t l;
+
+ l = strlen(s)+1;
+ p = malloc(l);
+ if (p == NULL)
+ FATAL("out of space in tostring on %s", s);
+ n_strcpy(p, s, l);
+ return(p);
+}
+
+obj *makepos(double x, double y) /* make a position cell */
+{
+ obj *p;
+
+ p = makenode(PLACE, 0);
+ p->o_x = x;
+ p->o_y = y;
+ return(p);
+}
+
+obj *makebetween(double f, obj *p1, obj *p2) /* make position between p1 and p2 */
+{
+ obj *p;
+
+ dprintf("fraction = %.2f\n", f);
+ p = makenode(PLACE, 0);
+ p->o_x = p1->o_x + f * (p2->o_x - p1->o_x);
+ p->o_y = p1->o_y + f * (p2->o_y - p1->o_y);
+ return(p);
+}
+
+obj *getpos(obj *p, int corner) /* find position of point */
+{
+ double x, y;
+
+ whatpos(p, corner, &x, &y);
+ return makepos(x, y);
+}
+
+int whatpos(obj *p, int corner, double *px, double *py) /* what is the position (no side effect) */
+{
+ double x, y, x1 = 0, y1 = 0;
+
+ dprintf("whatpos %lo %d %d\n", (long)p, p->o_type, corner);
+ x = p->o_x;
+ y = p->o_y;
+ if (p->o_type != PLACE && p->o_type != MOVE) {
+ x1 = p->o_val[0];
+ y1 = p->o_val[1];
+ }
+ switch (p->o_type) {
+ case PLACE:
+ break;
+ case BOX:
+ case BLOCK:
+ case TEXT:
+ switch (corner) {
+ case NORTH: y += y1 / 2; break;
+ case SOUTH: y -= y1 / 2; break;
+ case EAST: x += x1 / 2; break;
+ case WEST: x -= x1 / 2; break;
+ case NE: x += x1 / 2; y += y1 / 2; break;
+ case SW: x -= x1 / 2; y -= y1 / 2; break;
+ case SE: x += x1 / 2; y -= y1 / 2; break;
+ case NW: x -= x1 / 2; y += y1 / 2; break;
+ case START:
+ if (p->o_type == BLOCK)
+ return whatpos(objlist[(int)p->o_val[2]], START, px, py);
+ case END:
+ if (p->o_type == BLOCK)
+ return whatpos(objlist[(int)p->o_val[3]], END, px, py);
+ }
+ break;
+ case ARC:
+ switch (corner) {
+ case START:
+ if (p->o_attr & CW_ARC) {
+ x = p->o_val[2]; y = p->o_val[3];
+ } else {
+ x = x1; y = y1;
+ }
+ break;
+ case END:
+ if (p->o_attr & CW_ARC) {
+ x = x1; y = y1;
+ } else {
+ x = p->o_val[2]; y = p->o_val[3];
+ }
+ break;
+ }
+ if (corner == START || corner == END)
+ break;
+ x1 = y1 = sqrt((x1-x)*(x1-x) + (y1-y)*(y1-y));
+ /* Fall Through! */
+ case CIRCLE:
+ case ELLIPSE:
+ switch (corner) {
+ case NORTH: y += y1; break;
+ case SOUTH: y -= y1; break;
+ case EAST: x += x1; break;
+ case WEST: x -= x1; break;
+ case NE: x += 0.707 * x1; y += 0.707 * y1; break;
+ case SE: x += 0.707 * x1; y -= 0.707 * y1; break;
+ case NW: x -= 0.707 * x1; y += 0.707 * y1; break;
+ case SW: x -= 0.707 * x1; y -= 0.707 * y1; break;
+ }
+ break;
+ case LINE:
+ case SPLINE:
+ case ARROW:
+ switch (corner) {
+ case START: break; /* already in place */
+ case END: x = x1; y = y1; break;
+ default: /* change! */
+ case CENTER: x = (x+x1)/2; y = (y+y1)/2; break;
+ case NORTH: if (y1 > y) { x = x1; y = y1; } break;
+ case SOUTH: if (y1 < y) { x = x1; y = y1; } break;
+ case EAST: if (x1 > x) { x = x1; y = y1; } break;
+ case WEST: if (x1 < x) { x = x1; y = y1; } break;
+ }
+ break;
+ case MOVE:
+ /* really ought to be same as line... */
+ break;
+ }
+ dprintf("whatpos returns %g %g\n", x, y);
+ *px = x;
+ *py = y;
+ return 1;
+}
+
+obj *gethere(void) /* make a place for curx,cury */
+{
+ dprintf("gethere %g %g\n", curx, cury);
+ return(makepos(curx, cury));
+}
+
+obj *getlast(int n, int t) /* find n-th previous occurrence of type t */
+{
+ int i, k;
+ obj *p;
+
+ k = n;
+ for (i = nobj-1; i >= 0; i--) {
+ p = objlist[i];
+ if (p->o_type == BLOCKEND) {
+ i = p->o_val[4];
+ continue;
+ }
+ if (p->o_type != t)
+ continue;
+ if (--k > 0)
+ continue; /* not there yet */
+ dprintf("got a last of x,y= %g,%g\n", p->o_x, p->o_y);
+ return(p);
+ }
+ FATAL("there is no %dth last", n);
+ return(NULL);
+}
+
+obj *getfirst(int n, int t) /* find n-th occurrence of type t */
+{
+ int i, k;
+ obj *p;
+
+ k = n;
+ for (i = 0; i < nobj; i++) {
+ p = objlist[i];
+ if (p->o_type == BLOCK && t != BLOCK) { /* skip whole block */
+ i = p->o_val[5] + 1;
+ continue;
+ }
+ if (p->o_type != t)
+ continue;
+ if (--k > 0)
+ continue; /* not there yet */
+ dprintf("got a first of x,y= %g,%g\n", p->o_x, p->o_y);
+ return(p);
+ }
+ FATAL("there is no %dth ", n);
+ return(NULL);
+}
+
+double getblkvar(obj *p, char *s) /* find variable s2 in block p */
+{
+ YYSTYPE y;
+
+ y = getblk(p, s);
+ return y.f;
+}
+
+obj *getblock(obj *p, char *s) /* find variable s in block p */
+{
+ YYSTYPE y;
+
+ y = getblk(p, s);
+ return y.o;
+}
+
+YYSTYPE getblk(obj *p, char *s) /* find union type for s in p */
+{
+ static YYSTYPE bug;
+ struct symtab *stp;
+
+ if (p->o_type != BLOCK) {
+ WARNING(".%s is not in that block", s);
+ return(bug);
+ }
+ for (stp = p->o_symtab; stp != NULL; stp = stp->s_next)
+ if (strcmp(s, stp->s_name) == 0) {
+ dprintf("getblk %s found x,y= %g,%g\n",
+ s, (stp->s_val.o)->o_x, (stp->s_val.o)->o_y);
+ return(stp->s_val);
+ }
+ WARNING("there is no .%s in that []", s);
+ return(bug);
+}
+
+obj *fixpos(obj *p, double x, double y)
+{
+ dprintf("fixpos returns %g %g\n", p->o_x + x, p->o_y + y);
+ return makepos(p->o_x + x, p->o_y + y);
+}
+
+obj *addpos(obj *p, obj *q)
+{
+ dprintf("addpos returns %g %g\n", p->o_x+q->o_x, p->o_y+q->o_y);
+ return makepos(p->o_x+q->o_x, p->o_y+q->o_y);
+}
+
+obj *subpos(obj *p, obj *q)
+{
+ dprintf("subpos returns %g %g\n", p->o_x-q->o_x, p->o_y-q->o_y);
+ return makepos(p->o_x-q->o_x, p->o_y-q->o_y);
+}
+
+obj *makenode(int type, int n)
+{
+ obj *p;
+
+ p = (obj *) calloc(1, sizeof(obj) + (n-1)*sizeof(ofloat));
+ if (p == NULL)
+ FATAL("out of space in makenode");
+ p->o_type = type;
+ p->o_count = n;
+ p->o_nobj = nobj;
+ p->o_mode = hvmode;
+ p->o_x = curx;
+ p->o_y = cury;
+ p->o_nt1 = ntext1;
+ p->o_nt2 = ntext;
+ ntext1 = ntext; /* ready for next caller */
+ if (nobj >= nobjlist)
+ objlist = (obj **) grow((char *) objlist, "objlist",
+ nobjlist *= 2, sizeof(obj *));
+ objlist[nobj++] = p;
+ return(p);
+}
+
+void extreme(double x, double y) /* record max and min x and y values */
+{
+ if (x > xmax)
+ xmax = x;
+ if (y > ymax)
+ ymax = y;
+ if (x < xmin)
+ xmin = x;
+ if (y < ymin)
+ ymin = y;
+}
+
+static void
+verror(const char *fmt, va_list ap)
+{
+ char errbuf[4096];
+
+ vsnprintf(errbuf, sizeof errbuf, fmt, ap);
+ yyerror(errbuf);
+}
+
+void FATAL(const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ verror(fmt, ap);
+ va_end(ap);
+ exit(1);
+}
+
+void WARNING(const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ verror(fmt, ap);
+ va_end(ap);
+}
diff --git a/pic/movegen.c b/pic/movegen.c
new file mode 100644
index 0000000000000..bdcc8603af397
--- /dev/null
+++ b/pic/movegen.c
@@ -0,0 +1,98 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)movegen.c 1.2 (gritter) 10/18/05 */
+#include <stdio.h>
+#include "pic.h"
+#include "y.tab.h"
+
+obj *movegen(void)
+{
+ static double prevdx, prevdy;
+ int i, some;
+ double defx, defy, dx, dy;
+ obj *p;
+ obj *ppos;
+ static int xtab[] = { 1, 0, -1, 0 }; /* R=0, U=1, L=2, D=3 */
+ static int ytab[] = { 0, 1, 0, -1 };
+ Attr *ap;
+
+ defx = getfval("movewid");
+ defy = getfval("moveht");
+ dx = dy = some = 0;
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case TEXTATTR:
+ savetext(ap->a_sub, ap->a_val.p);
+ break;
+ case SAME:
+ dx = prevdx;
+ dy = prevdy;
+ some++;
+ break;
+ case LEFT:
+ dx -= (ap->a_sub==DEFAULT) ? defx : ap->a_val.f;
+ some++;
+ hvmode = L_DIR;
+ break;
+ case RIGHT:
+ dx += (ap->a_sub==DEFAULT) ? defx : ap->a_val.f;
+ some++;
+ hvmode = R_DIR;
+ break;
+ case UP:
+ dy += (ap->a_sub==DEFAULT) ? defy : ap->a_val.f;
+ some++;
+ hvmode = U_DIR;
+ break;
+ case DOWN:
+ dy -= (ap->a_sub==DEFAULT) ? defy : ap->a_val.f;
+ some++;
+ hvmode = D_DIR;
+ break;
+ case TO:
+ ppos = ap->a_val.o;
+ dx = ppos->o_x - curx;
+ dy = ppos->o_y - cury;
+ some++;
+ break;
+ case BY:
+ ppos = ap->a_val.o;
+ dx = ppos->o_x;
+ dy = ppos->o_y;
+ some++;
+ break;
+ case FROM:
+ case AT:
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ break;
+ }
+ }
+ if (some) {
+ defx = dx;
+ defy = dy;
+ } else {
+ defx *= xtab[hvmode];
+ defy *= ytab[hvmode];
+ }
+ prevdx = defx;
+ prevdy = defy;
+ extreme(curx, cury);
+ curx += defx;
+ cury += defy;
+ extreme(curx, cury);
+ p = makenode(MOVE, 0);
+ dprintf("M %g %g\n", curx, cury);
+ return(p);
+}
diff --git a/pic/pic.1 b/pic/pic.1
new file mode 100644
index 0000000000000..2df6db736aa90
--- /dev/null
+++ b/pic/pic.1
@@ -0,0 +1,368 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+.\"
+.\" Derived from Plan 9 v4 /opt/unix/plan9v4/sys/man/1/pic
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)pic.1 1.7 (gritter) 2/2/07
+.TH PIC 1 "2/2/07" "Heirloom Documentation Tools" "User Commands"
+.\".de PS \" start picture
+.\". \" $1 is height, $2 is width, both in inches
+.\".if \\$1>0 .sp .35
+.\".ie \\$1>0 .nr $1 \\$1
+.\".el .nr $1 0
+.\".in (\\n(.lu-\\$2)/2u
+.\".ne \\$1
+.\"..
+.\".de PE \" end of picture
+.\".in
+.\".if \\n($1>0 .sp .65
+.\"..
+.SH NAME
+pic \- troff preprocessor for drawing pictures
+.SH SYNOPSIS
+\fBpic\fR [\fB\-SU\fR] [\fIfiles\fR]
+.SH DESCRIPTION
+.I Pic
+is a
+.IR troff (1)
+preprocessor for drawing figures on a typesetter.
+.I Pic
+code is contained between
+.B .PS
+and
+.B .PE
+lines:
+.sp
+.RS
+.nf
+\&.PS \f2optional-width\fP \f2optional-height\fP
+\f2element-list\fP
+\&.PE
+.RE
+.fi
+.LP
+or in a file mentioned in a
+.B .PS
+line:
+.IP
+.BI .PS " " < file
+.LP
+If
+.IR optional-width
+is present, the picture is made that many inches wide,
+regardless of any dimensions used internally.
+The height is scaled in the same proportion unless
+.IR optional-height
+is present.
+If
+.B .PF
+is used instead of
+.BR .PE ,
+the typesetting position after printing is restored to what it was
+upon entry.
+.PP
+Arbitrary whitespace can be inserted between the dot and the token PS, PE or
+PF.
+Macros with these names are ignored by pic if "'" is used instead of ".".
+.PP
+An
+.IR element-list
+is a list of elements:
+.sp
+.nf
+ \f2primitive attribute-list\fP
+ \f2placename\fP : \f2element\fP
+ \f2placename\fP : \f2position\fP
+ \f2var\fP = \f2expr\fP
+ \f2direction\fP
+ { \f2element-list\fP }
+ [ \f2element-list\fP ]
+ for \f2var\fP = \f2expr\fP to \f2expr\fP by \f2expr\fP do { \f2anything\fP }
+ if \f2expr\fP then { \f2anything\fP } else { \f2anything\fP }
+ copy \f2file,\fP copy thru \f2macro,\fP copy \f2file\fP thru \fPmacro\fP
+ sh { \f2commandline\fP }
+ print \f2expr\fP
+ reset \f2optional var-list\fP
+ \f2troff-command\fP
+.fi
+.sp
+.PP
+Elements are separated by newlines or semicolons;
+a long element may be continued by ending the line with a backslash.
+Comments are introduced by a
+.BI #
+and terminated by a newline.
+Variable names begin with a lower case letter;
+place names begin with upper case.
+Place and variable names retain their values
+from one picture to the next.
+.PP
+After each primitive
+the current position moves in the current direction
+.RB ( up , down ,
+.BR left , right
+(default)) by the size of the primitive.
+The current position and direction are saved upon entry
+to a
+.BR { ... }
+block and restored upon exit.
+Elements within a block enclosed in
+.BR [ ... ]
+are treated as a unit;
+the dimensions are determined by the extreme points
+of the contained objects.
+Names, variables, and direction of motion within a block are local to that block.
+.PP
+.IR Troff-command
+is any line that begins with a period.
+Such a line is assumed to make sense in the context where it appears;
+generally, this means only size and font changes.
+.PP
+The
+.I primitive
+objects are:
+.sp
+.nf
+ box circle ellipse arc line arrow spline move \f2text-list\fP
+.fi
+.sp
+.B arrow
+is a synonym for
+.BR "line \->" .
+.PP
+An
+.IR attribute-list
+is a sequence of zero or more attributes;
+each attribute consists of a keyword, perhaps followed by a value.
+.sp
+.nf
+.ta .5i 2.5i
+ h(eigh)t \f2expr\fP wid(th) \f2expr\fP
+ rad(ius) \f2expr\fP diam(eter) \f2expr\fP
+ up \f2opt-expr\fP down \f2opt-expr\fP
+ right \f2opt-expr\fP left \f2opt-expr\fP
+ from \f2position\fP to \f2position\fP
+ at \f2position\fP with \f2corner\fP
+ by \f2expr, expr\fP then
+ dotted \f2opt-expr\fP dashed \f2opt-expr\fP
+ chop \f2opt-expr\fP \-> <\- <\->
+ invis same
+ fill \f2opt-expr\fP
+ \f2text-list\fP \f2expr\fP
+.fi
+.sp
+Missing attributes and values are filled in from defaults.
+Not all attributes make sense for all primitives;
+irrelevant ones are silently ignored.
+The attribute
+.B at
+causes the geometrical center to be put at the specified place;
+.B with
+causes the position on the object to be put at the specified place.
+For lines, splines and arcs,
+.B height
+and
+.B width
+refer to arrowhead size.
+A bare
+.I expr
+implies motion in the current direction.
+.PP
+Text is normally an attribute of some primitive;
+by default it is placed at the geometrical center of the object.
+Stand-alone text is also permitted.
+A text list
+is a list of text items:
+.sp
+.nf
+\f2 text-item\fP:
+ "..." \f2positioning ...\fP
+ sprintf("\f2format\fP", \f2expr\fP, \f2...\fP) \f2positioning ...\fP
+\f2 positioning\fP:
+ center ljust rjust above below
+.fi
+.sp
+If there are multiple text items for some primitive,
+they are arranged vertically and centered except as qualified.
+Positioning requests apply to each item independently.
+Text items may contain
+.I troff
+commands for size and font changes, local motions, etc.,
+but make sure that these are balanced
+so that the entering state is restored before exiting.
+.PP
+A position is ultimately an
+.I x,y
+coordinate pair, but it may be specified in other ways.
+.sp
+.nf
+\f2 position\fP:
+ \f2expr, expr\fP
+ \f2place\fP \(+- \f2expr, expr\fP
+ \f2place\fP \(+- ( \f2expr, expr\fP )
+ ( \f2position\fP,\f2 position\fP ) \f2x\fP\fR from one, \f2y\fP\fR the other\fP
+ \f2expr\fP [\fRof the way\fP] between \f2position\fP and \f2position\fP
+ \f2expr\fP < \f2position\fP , \f2position\fP >
+ ( \f2position\fP )
+.sp
+\f2 place\fP:
+ \f2placename\fP \f2optional-corner\fP
+ \f2corner\fP of \f2placename\fP
+ \f2nth\fP \f2primitive\fP \f2optional-corner\fP
+ \f2corner\fP of \f2nth\fP \f2primitive\fP
+ Here
+.fi
+.sp
+An
+.IR optional-corner
+is one of the eight compass points
+or the center or the start or end of a primitive.
+.sp
+.nf
+\f2 optional-corner\fP:
+ .n .e .w .s .ne .se .nw .sw .c .start .end
+\f2 corner\fP:
+ top bot left right start end
+.fi
+.sp
+Each object in a picture has an ordinal number;
+.IR nth
+refers to this.
+.sp
+.nf
+\f2 nth\fP:
+ \f2n\fPth\f2, n\fPth last
+.fi
+.sp
+.PP
+The built-in variables and their default values are:
+.sp
+.nf
+.ta .5i 2.5i
+ boxwid 0.75 boxht 0.5
+ circlerad 0.25 arcrad 0.25
+ ellipsewid 0.75 ellipseht 0.5
+ linewid 0.5 lineht 0.5
+ movewid 0.5 moveht 0.5
+ textwid 0 textht 0
+ arrowwid 0.05 arrowht 0.1
+ dashwid 0.1 arrowhead 2
+ scale 1
+.fi
+.sp
+These may be changed at any time,
+and the new values remain in force from picture to picture until changed again
+or reset by a
+.L reset
+statement.
+Variables changed within
+.B [
+and
+.B ]
+revert to their previous value upon exit from the block.
+Dimensions are divided by
+.B scale
+during output.
+.PP
+Expressions in
+.I pic
+are evaluated in floating point.
+All numbers representing dimensions are taken to be in inches.
+.sp
+.nf
+\f2 expr\fP:
+ \f2expr\fP \f2op\fP \f2expr\fP
+ \- \f2expr\fP
+ ! \f2expr\fP
+ ( \f2expr\fP )
+ variable
+ number
+ \f2place\fP .x \f2place\fP .y \f2place\fP .ht \f2place\fP .wid \f2place\fP .rad
+ sin(\f2expr\fP) cos(\f2expr\fP) atan2(\f2expr,expr\fP) log(\f2expr\fP) exp(\f2expr\fP)
+ sqrt(\f2expr\fP) max(\f2expr,expr\fP) min(\f2expr,expr\fP) int(\f2expr\fP) rand()
+\f2 op\fP:
+ + \- * / % < <= > >= == != && ||
+.fi
+.sp
+.PP
+The
+.B define
+and
+.B undef
+statements are not part of the grammar.
+.sp
+.nf
+ define \f2name\fP { \f2replacement text\fP }
+ undef \f2name\fP
+.fi
+.sp
+Occurrences of
+.BR $1 ,
+.BR $2 ,
+etc.,
+in the replacement text
+will be replaced by the corresponding arguments if
+.I name
+is invoked as
+.sp
+.nf
+ \f2name\fP(\f2arg1\fP, \f2arg2\fP, ...)
+.fi
+.sp
+Non-existent arguments are replaced by null strings.
+Replacement text
+may contain newlines.
+The
+.B undef
+statement removes the definition of a macro.
+.PP
+The
+.B \-S
+command line option will disable execution of
+.RB ` sh '
+command elements.
+.B \-U
+reverts the effect of a previous
+.IR \-S .
+.\".SH EXAMPLES
+.\".sp
+.\".nf
+.\"arrow "input" above; box "process"; arrow "output" above
+.\"move
+.\"A: ellipse
+.\" circle rad .1 with .w at A.e
+.\" circle rad .05 at 0.5 <A.c, A.ne>
+.\" circle rad .065 at 0.5 <A.c, A.ne>
+.\" spline from last circle.nw left .25 then left .05 down .05
+.\" arc from A.c to A.se rad 0.5
+.\" for i = 1 to 10 do { line from A.s+.025*i,.01*i down i/50 }
+.\".fi
+.\".sp
+.\".PP
+.\".PS
+.\"arrow "input" above; box "process"; arrow "output" above
+.\"move
+.\"A: ellipse
+.\" circle rad .1 with .w at A.e
+.\" circle rad .05 at 0.5 <A.c, A.ne>
+.\" circle rad .065 at 0.5 <A.c, A.ne>
+.\" spline from last circle.nw left .25 then left .05 down .05
+.\" arc from A.c to A.se rad 0.5
+.\" for i = 1 to 10 do { line from A.s+.025*i,.01*i down i/50 }
+.\".PE
+.\".SH SOURCE
+.\".B /sys/src/cmd/pic
+.SH "SEE ALSO"
+.IR grap (1),
+.IR troff (1)
+.br
+B. W. Kernighan,
+``PIC\(ema Graphics Language for Typesetting'',
+.I
+Unix Research System Programmer's Manual,
+Tenth Edition, Volume 2
diff --git a/pic/pic.h b/pic/pic.h
new file mode 100644
index 0000000000000..de6a8cc05d313
--- /dev/null
+++ b/pic/pic.h
@@ -0,0 +1,240 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)pic.h 1.6 (gritter) 12/5/05 */
+
+#include "global.h"
+
+#ifndef PI
+#define PI 3.1415926535897932384626433832795028841971693993751
+#endif
+
+#define MAXWID 8.5 /* default limits max picture to 8.5 x 11; */
+#define MAXHT 11 /* change to taste without peril */
+
+#define dprintf if(dbg)printf
+
+extern void yyerror(char *);
+extern void FATAL(const char *, ...);
+extern void WARNING(const char *, ...);
+
+#define DEFAULT 0
+
+#define HEAD1 1
+#define HEAD2 2
+#define HEAD12 (HEAD1+HEAD2)
+#define INVIS 4
+#define CW_ARC 8 /* clockwise arc */
+#define DOTBIT 16 /* line styles */
+#define DASHBIT 32
+#define FILLBIT 64 /* gray-fill on boxes, etc. */
+#define NOEDGEBIT 128 /* no edge on filled object */
+
+#define CENTER 01 /* text attributes */
+#define LJUST 02
+#define RJUST 04
+#define ABOVE 010
+#define BELOW 020
+#define SPREAD 040
+
+#define SCALE 1.0 /* default scale: units/inch */
+#define WID 0.75 /* default width for boxes and ellipses */
+#define WID2 0.375
+#define HT 0.5 /* default height and line length */
+#define HT2 (HT/2)
+#define HT5 (HT/5)
+#define HT10 (HT/10)
+
+/* these have to be like so, so that we can write */
+/* things like R & V, etc. */
+#define H 0
+#define V 1
+#define R_DIR 0
+#define U_DIR 1
+#define L_DIR 2
+#define D_DIR 3
+#define ishor(n) (((n) & V) == 0)
+#define isvert(n) (((n) & V) != 0)
+#define isright(n) ((n) == R_DIR)
+#define isleft(n) ((n) == L_DIR)
+#define isdown(n) ((n) == D_DIR)
+#define isup(n) ((n) == U_DIR)
+
+typedef float ofloat; /* for o_val[] in obj; could be double */
+
+typedef struct obj { /* stores various things in variable length */
+ int o_type;
+ int o_count; /* number of things */
+ int o_nobj; /* index in objlist */
+ int o_mode; /* hor or vert */
+ float o_x; /* coord of "center" */
+ float o_y;
+ int o_nt1; /* 1st index in text[] for this object */
+ int o_nt2; /* 2nd; difference is #text strings */
+ int o_attr; /* HEAD, CW, INVIS, etc., go here */
+ int o_size; /* linesize */
+ int o_nhead; /* arrowhead style */
+ struct symtab *o_symtab; /* symtab for [...] */
+ float o_ddval; /* value of dot/dash expression */
+ float o_fillval; /* gray scale value */
+ ofloat o_val[1]; /* actually this will be > 1 in general */
+ /* type is not always FLOAT!!!! */
+} obj;
+
+typedef union { /* the yacc stack type */
+ int i;
+ char *p;
+ obj *o;
+ double f;
+ struct symtab *st;
+} YYSTYPE;
+#define YYSTYPE YYSTYPE
+
+extern YYSTYPE yylval;
+
+struct symtab {
+ char *s_name;
+ int s_type;
+ YYSTYPE s_val;
+ struct symtab *s_next;
+};
+
+typedef struct { /* attribute of an object */
+ int a_type;
+ int a_sub;
+ YYSTYPE a_val;
+} Attr;
+
+typedef struct {
+ int t_type; /* CENTER, LJUST, etc. */
+ char t_op; /* optional sign for size changes */
+ char t_size; /* size, abs or rel */
+ char *t_val;
+} Text;
+
+#define String 01
+#define Macro 02
+#define File 04
+#define Char 010
+#define Thru 020
+#define Free 040
+
+typedef struct { /* input source */
+ int type; /* Macro, String, File */
+ char *sp; /* if String or Macro */
+} Src;
+
+extern Src src[], *srcp; /* input source stack */
+
+typedef struct {
+ FILE *fin;
+ char *fname;
+ int lineno;
+} Infile;
+
+extern Infile infile[], *curfile;
+
+#define MAXARGS 20
+typedef struct { /* argument stack */
+ char *argstk[MAXARGS]; /* pointers to args */
+ char *argval; /* points to space containing args */
+} Arg;
+
+extern int dbg;
+extern obj **objlist;
+extern int nobj, nobjlist;
+extern Attr *attr;
+extern int nattr, nattrlist;
+extern Text *text;
+extern int ntextlist;
+extern int ntext;
+extern int ntext1;
+extern double curx, cury;
+extern int hvmode;
+extern int codegen;
+extern char *PEstring;
+extern int Sflag;
+
+char *tostring(char *);
+char *grow(char *, char *, int, int);
+double getfval(char *), getcomp(obj *, int), getblkvar(obj *, char *);
+YYSTYPE getvar(char *);
+struct symtab *lookup(char *), *makevar(char *, int, YYSTYPE);
+char *ifstat(double, char *, char *), *delimstr(char *), *sprintgen(char *);
+void forloop(char *var, double from, double to, int op, double by, char *_str);
+int setdir(int), curdir(void);
+void resetvar(void);
+void checkscale(char *);
+void pushsrc(int, char *);
+void copy(void);
+void copyuntil(char *);
+void copyfile(char *);
+void copydef(struct symtab *);
+void definition(char *);
+struct symtab *copythru(char *);
+#ifdef FLEX_SCANNER
+int xxinput(void);
+int xxunput(int);
+#else /* !FLEX_SCANNER */
+#define input xxinput
+#define unput xxunput
+int input(void);
+int unput(int);
+#endif /* !FLEX_SCANNER */
+void extreme(double, double);
+
+extern double deltx, delty;
+extern int lineno;
+extern int synerr;
+
+extern double xmin, ymin, xmax, ymax;
+
+obj *leftthing(int), *boxgen(void), *circgen(int), *arcgen(int);
+obj *linegen(int), *splinegen(void), *movegen(void);
+obj *textgen(void), *plotgen(void);
+obj *troffgen(char *), *rightthing(obj *, int), *blockgen(obj *, obj *);
+obj *makenode(int, int), *makepos(double, double);
+obj *fixpos(obj *, double, double);
+obj *addpos(obj *, obj *), *subpos(obj *, obj *);
+obj *makebetween(double, obj *, obj *);
+obj *getpos(obj *, int), *gethere(void), *getfirst(int, int);
+obj *getlast(int, int), *getblock(obj *, char *);
+void savetext(int, char *);
+void makeiattr(int, int);
+void makevattr(char *);
+void makefattr(int type, int sub, double f);
+void maketattr(int, char *);
+void makeoattr(int, obj *);
+void makeattr(int type, int sub, YYSTYPE val);
+void printexpr(double);
+void printpos(obj *);
+void exprsave(double);
+void addtattr(int);
+void printlf(int, char *);
+
+struct pushstack {
+ double p_x;
+ double p_y;
+ int p_hvmode;
+ double p_xmin;
+ double p_ymin;
+ double p_xmax;
+ double p_ymax;
+ struct symtab *p_symtab;
+};
+extern struct pushstack stack[];
+extern int nstack;
+extern int cw;
+
+extern double errcheck(double, char *);
+#define Log10(x) errcheck(log10(x), "log")
+#define Exp(x) errcheck(exp(x), "exp")
+#define Sqrt(x) errcheck(sqrt(x), "sqrt")
diff --git a/pic/picl.l b/pic/picl.l
new file mode 100644
index 0000000000000..f1c2d80e3ac23
--- /dev/null
+++ b/pic/picl.l
@@ -0,0 +1,313 @@
+%{
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)picl.l 1.9 (gritter) 8/6/06 */
+%}
+%Start A str def xsc br thru sh
+%e 1700
+%k 150
+%a 1800
+%o 1600
+%p 5000
+%n 700
+
+%{
+#ifndef FLEX_SCANNER
+#undef input
+#undef unput
+#endif /* !FLEX_SCANNER */
+/* #include <stdio.h> lex puts one out for us */
+#include <ctype.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "pic.h"
+#include "y.tab.h"
+
+#ifdef FLEX_SCANNER
+#undef YY_INPUT
+#define YY_INPUT(buf, result, max_size) { \
+ int c = xxinput(); \
+ result = (c == EOF || c == 0) ? YY_NULL : (buf[0] = c, 1); \
+}
+#define witchcraft YY_START
+#else /* !FLEX_SCANNER */
+#define witchcraft yybgin-yysvec-1
+#endif /* !FLEX_SCANNER */
+
+extern char *filename;
+extern struct symtab symtab[];
+
+void pbstr(char *);
+void dodef(struct symtab *stp);
+void undefine(char *s);
+void shell_init(void), shell_exec(void), shell_text(char *);
+void endfor(void);
+
+int yyback(int *, int);
+int yylook(void);
+int yywrap(void);
+
+#define CADD cbuf[clen++]=yytext[0]; \
+ if (clen>=CBUFLEN-1) { WARNING("string too long", cbuf); BEGIN A; }
+#define CBUFLEN 500
+char cbuf[CBUFLEN];
+int c, clen, cflag, delim;
+int ifsw = 0; /* 1 if if statement in progress */
+%}
+
+A [a-zA-Z_]
+B [a-zA-Z0-9_]
+D [0-9]
+WS [ \t]
+FWS ([ \t]|\\\n)
+
+%%
+ switch (witchcraft) {
+ case 0:
+ BEGIN A;
+ break;
+ case xsc:
+ BEGIN A;
+ return('}');
+ case br:
+ BEGIN A;
+ return(']');
+ }
+
+<A>{WS} ;
+<A>"\\"\n ;
+<A>\n { return(ST); }
+<A>";" { return(ST); }
+<A>"}" { BEGIN xsc; return(ST); }
+<A>"]" { BEGIN br; return(ST); }
+<A>"{"{WS}*(#.*)?\n+ { return(yylval.i = yytext[0]); }
+
+<A>^"."{WS}*"PS".* { if (curfile == infile) WARNING(".PS found inside .PS/.PE"); }
+<A>^"."{WS}*"PE".* { if (curfile == infile) {
+ yylval.p = PEstring = tostring(yytext);
+ return(EOF);
+ }
+ }
+<A>^['.].* { yylval.p = tostring(yytext); return(TROFF); }
+
+<A>print return(yylval.i = PRINT);
+<A>box return(yylval.i = BOX);
+<A>circle return(yylval.i = CIRCLE);
+<A>arc return(yylval.i = ARC);
+<A>ellipse return(yylval.i = ELLIPSE);
+<A>arrow return(yylval.i = ARROW);
+<A>spline return(yylval.i = SPLINE);
+<A>line return(yylval.i = LINE);
+<A>move return(yylval.i = MOVE);
+<A>"[]" return(yylval.i = BLOCK);
+<A>reset return(RESET);
+<A>sprintf return(SPRINTF);
+
+<A>same return(SAME);
+<A>between return(BETWEEN);
+<A>and return(AND);
+
+<A>of ;
+<A>the ;
+<A>way ;
+
+<A>"."(e|east) { yylval.i = EAST; return(CORNER); }
+<A>"."(r|right) { yylval.i = EAST; return(CORNER); }
+<A>"."(w|west) { yylval.i = WEST; return(CORNER); }
+<A>"."(l|left) { yylval.i = WEST; return(CORNER); }
+<A>"."(n|north) { yylval.i = NORTH; return(CORNER); }
+<A>"."(t|top) { yylval.i = NORTH; return(CORNER); }
+<A>"."(s|south) { yylval.i = SOUTH; return(CORNER); }
+<A>"."(b|bot|bottom) { yylval.i = SOUTH; return(CORNER); }
+<A>"."(c|center) { yylval.i = CENTER; return(CORNER); }
+<A>".start" { yylval.i = START; return(CORNER); }
+<A>".end" { yylval.i = END; return(CORNER); }
+<A>".ne" { yylval.i = NE; return(CORNER); }
+<A>".se" { yylval.i = SE; return(CORNER); }
+<A>".nw" { yylval.i = NW; return(CORNER); }
+<A>".sw" { yylval.i = SW; return(CORNER); }
+
+<A>top{FWS}+of { yylval.i = NORTH; return(CORNER); }
+<A>north{FWS}+of { yylval.i = NORTH; return(CORNER); }
+<A>bottom{FWS}+of { yylval.i = SOUTH; return(CORNER); }
+<A>south{FWS}+of { yylval.i = SOUTH; return(CORNER); }
+<A>left{FWS}+of { yylval.i = WEST; return(CORNER); }
+<A>west{FWS}+of { yylval.i = WEST; return(CORNER); }
+<A>right{FWS}+of { yylval.i = EAST; return(CORNER); }
+<A>east{FWS}+of { yylval.i = EAST; return(CORNER); }
+<A>center{FWS}+of { yylval.i = CENTER; return(CORNER); }
+<A>start{FWS}+of { yylval.i = START; return(CORNER); }
+<A>end{FWS}+of { yylval.i = END; return(CORNER); }
+<A>upper{FWS}right{FWS}+of { yylval.i = NE; return(CORNER); }
+<A>lower{FWS}right{FWS}+of { yylval.i = SE; return(CORNER); }
+<A>upper{FWS}left{FWS}+of { yylval.i = NW; return(CORNER); }
+<A>lower{FWS}left{FWS}+of { yylval.i = SW; return(CORNER); }
+
+<A>height|ht { yylval.i = HEIGHT; return(ATTR); }
+<A>width|wid { yylval.i = WIDTH; return(ATTR); }
+<A>radius|rad { yylval.i = RADIUS; return(ATTR); }
+<A>diameter|diam { yylval.i = DIAMETER; return(ATTR); }
+<A>size { yylval.i = SIZE; return(ATTR); }
+<A>left { yylval.i = LEFT; return(DIR); }
+<A>right { yylval.i = RIGHT; return(DIR); }
+<A>up { yylval.i = UP; return(DIR); }
+<A>down { yylval.i = DOWN; return(DIR); }
+<A>cw { yylval.i = CW; return(ATTR); }
+<A>clockwise { yylval.i = CW; return(ATTR); }
+<A>ccw { yylval.i = CCW; return(ATTR); }
+<A>invis(ible)? { yylval.i = INVIS; return(ATTR); }
+<A>noedge { yylval.i = INVIS; return ATTR; }
+<A>fill return(yylval.i = FILL);
+<A>solid ;
+<A>dot(ted)? return(yylval.i = DOT);
+<A>dash(ed)? return(yylval.i = DASH);
+<A>chop return(yylval.i = CHOP);
+
+<A>spread { yylval.i = SPREAD; return TEXTATTR; }
+<A>ljust { yylval.i = LJUST; return TEXTATTR; }
+<A>rjust { yylval.i = RJUST; return TEXTATTR; }
+<A>above { yylval.i = ABOVE; return TEXTATTR; }
+<A>below { yylval.i = BELOW; return TEXTATTR; }
+<A>center { yylval.i = CENTER; return TEXTATTR; }
+
+<A>"<-" { yylval.i = HEAD1; return(HEAD); }
+<A>"->" { yylval.i = HEAD2; return(HEAD); }
+<A>"<->" { yylval.i = HEAD12; return(HEAD); }
+
+<A>".x" return(yylval.i = DOTX);
+<A>".y" return(yylval.i = DOTY);
+<A>"."(ht|height) return(yylval.i = DOTHT);
+<A>"."(wid|width) return(yylval.i = DOTWID);
+<A>"."(rad|radius) return(yylval.i = DOTRAD);
+
+<A>from return(yylval.i = FROM);
+<A>to return(yylval.i = TO);
+<A>at return(yylval.i = AT);
+<A>by return(yylval.i = BY);
+<A>with return(yylval.i = WITH);
+<A>last return(yylval.i = LAST);
+
+<A>log return(LOG);
+<A>exp return(EXP);
+<A>sin return(SIN);
+<A>cos return(COS);
+<A>atan2 return(ATAN2);
+<A>sqrt return(SQRT);
+<A>rand return(RAND);
+<A>max return(MAX);
+<A>min return(MIN);
+<A>int return(INT);
+
+<A>"==" return(EQ);
+<A>">=" return(GE);
+<A>"<=" return(LE);
+<A>"!=" return(NEQ);
+<A>">" return(GT);
+<A>"<" return(LT);
+<A>"&&" return(ANDAND);
+<A>"||" return(OROR);
+<A>"!" return(NOT);
+
+<A>Here return(yylval.i = HERE);
+
+<A>for return(FOR);
+<A>^Endfor\n { endfor(); }
+<A>do { yylval.p = delimstr("loop body"); return(DOSTR); }
+
+<A>copy|include return(COPY);
+<A>(thru|through){WS}+ { BEGIN thru; return(THRU); }
+<thru>{A}{B}*|. { yylval.st = copythru(yytext); BEGIN A; return(DEFNAME); }
+<A>until return(UNTIL);
+
+<A>if { ifsw = 1; return(IF); }
+<A>then { if (!ifsw) { yylval.i = THEN; return(ATTR); }
+ yylval.p = delimstr("then part"); ifsw = 0;
+ return(THENSTR); }
+<A>else { yylval.p = delimstr("else part"); return(ELSESTR); }
+
+<A>sh{WS}+ { BEGIN sh;
+ if ((delim = input()) == '{') delim = '}'; /* no nested {} */
+ shell_init(); }
+<sh>{A}{B}* { struct symtab *p;
+ if (yytext[0] == delim) {
+ shell_exec();
+ BEGIN A;
+ } else {
+ p = lookup(yytext);
+ if (p != NULL && p->s_type == DEFNAME) {
+ c = input();
+ xxunput(c);
+ if (c == '(')
+ dodef(p);
+ else
+ pbstr(p->s_val.p);
+ } else
+ shell_text(yytext);
+ }
+ }
+<sh>.|\n { if (yytext[0] == delim) {
+ shell_exec();
+ BEGIN A;
+ } else
+ shell_text(yytext);
+ }
+
+<A>define{WS}+ { BEGIN def; }
+<def>{A}{B}* { definition(yytext); BEGIN A; }
+<A>undef(ine)?{WS}+{A}{B}* { undefine(yytext); }
+
+<A>first { yylval.i = 1; return(NTH); }
+<A>{D}+(th|nd|rd|st) { yylval.i = atoi(yytext); return(NTH); }
+<A>({D}+("."?){D}*|"."{D}+)((e|E)("+"|-)?{D}+)?i? {
+ yylval.f = atof(yytext); return(NUMBER); }
+
+<A>{A}{B}* { struct symtab *p;
+ p = lookup(yytext);
+ if (p != NULL && p->s_type == DEFNAME) {
+ c = input();
+ xxunput(c);
+ if (c == '(') /* it's name(...) */
+ dodef(p);
+ else { /* no argument list */
+ pbstr(p->s_val.p);
+ dprintf("pushing back `%s'\n", p->s_val.p);
+ }
+ } else if (islower((int)yytext[0])) {
+ yylval.p = tostring(yytext);
+ return(VARNAME);
+ } else {
+ yylval.p = tostring(yytext);
+ return(PLACENAME);
+ }
+ }
+
+<A>\" { BEGIN str; clen=0; }
+<str>\" { cbuf[clen]=0; yylval.p = tostring(cbuf); BEGIN A; return(TEXT); }
+<str>\n { cbuf[clen]=0; WARNING("missing quote in string \"%s\"", cbuf);
+ BEGIN A; return(ST); }
+<str>"\\\"" { cbuf[clen++]='"'; }
+<str>"\\"t { cbuf[clen++]='\t'; }
+<str>"\\\\" { cbuf[clen++]='\\'; }
+<str>. { CADD; }
+
+<A>#.* ;
+
+<A>. return(yylval.i = yytext[0]);
+
+%%
+
+#ifdef FLEX_SCANNER
+void xxcruft(void)
+{
+ unput(0);
+}
+#endif /* FLEX_SCANNER */
diff --git a/pic/picy.y b/pic/picy.y
new file mode 100644
index 0000000000000..f1b3f2667cd3e
--- /dev/null
+++ b/pic/picy.y
@@ -0,0 +1,345 @@
+%{
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)picy.y 1.4 (gritter) 11/28/05 */
+
+#include <stdio.h>
+#include "pic.h"
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+
+#ifndef RAND_MAX
+#define RAND_MAX 32767
+#endif
+
+YYSTYPE y;
+
+extern void yyerror(char *);
+extern int yylex(void);
+%}
+
+%token <i> BOX 1 /* DON'T CHANGE THESE! */
+%token <i> LINE 2
+%token <i> ARROW 3
+%token <i> CIRCLE 4
+%token <i> ELLIPSE 5
+%token <i> ARC 6
+%token <i> SPLINE 7
+%token <i> BLOCK 8
+%token <p> TEXT 9
+%token <p> TROFF 10
+%token <i> MOVE 11
+%token <i> BLOCKEND 12
+%token <i> PLACE 13
+%token <i> PRINT RESET THRU UNTIL
+%token <o> FOR IF COPY
+%token <p> THENSTR ELSESTR DOSTR PLACENAME VARNAME SPRINTF
+%token <st> DEFNAME
+%token <i> ATTR TEXTATTR
+%token <i> LEFT RIGHT UP DOWN FROM TO AT BY WITH HEAD CW CCW THEN
+%token <i> HEIGHT WIDTH RADIUS DIAMETER LENGTH SIZE
+%token <i> CORNER HERE LAST NTH SAME BETWEEN AND
+%token <i> EAST WEST NORTH SOUTH NE NW SE SW START END
+%token <i> DOTX DOTY DOTHT DOTWID DOTRAD
+%token <f> NUMBER
+%token <f> LOG EXP SIN COS ATAN2 SQRT RAND MIN MAX INT
+%token <i> DIR
+%token <i> DOT DASH CHOP FILL NOEDGE
+%token <o> ST /* statement terminator */
+
+%right <f> '='
+%left <f> OROR
+%left <f> ANDAND
+%nonassoc <f> GT LT LE GE EQ NEQ
+%left <f> '+' '-'
+%left <f> '*' '/' '%'
+%right <f> UMINUS NOT
+%right <f> '^'
+
+%type <f> expr if_expr asgn
+%type <p> name text
+%type <i> optop exprlist
+%type <o> if for copy
+
+/* this is a lie: picture and position are really the whole union */
+%type <o> leftbrace picture piclist position lbracket
+%type <o> prim place blockname
+%type <i> textlist textattr /* not a sensible value */
+%type <i> last type
+
+%%
+
+top:
+ piclist
+ | /* empty */
+ | error { WARNING("syntax error"); }
+ ;
+
+piclist:
+ picture
+ | piclist picture
+ ;
+
+picture:
+ prim ST { codegen = 1; makeiattr(0, 0); }
+ | leftbrace piclist '}' { rightthing($1, '}'); $$ = $2; }
+ | PLACENAME ':' picture { y.o=$3; makevar($1,PLACENAME,y); $$ = $3; }
+ | PLACENAME ':' ST picture { y.o=$4; makevar($1,PLACENAME,y); $$ = $4; }
+ | PLACENAME ':' position ST { y.o=$3; makevar($1,PLACENAME,y); $$ = $3; }
+ | asgn ST { y.f = $1; $$ = y.o; $$ = makenode(PLACE, 0); }
+ | DIR { setdir($1); $$ = makenode(PLACE, 0); }
+ | PRINT expr ST { printexpr($2); $$ = makenode(PLACE, 0); }
+ | PRINT position ST { printpos($2); $$ = makenode(PLACE, 0); }
+ | PRINT text ST { printf("%s\n", $2); free($2); $$ = makenode(PLACE, 0); }
+ | RESET varlist ST { resetvar(); makeiattr(0, 0); $$ = makenode(PLACE, 0); }
+ | copy
+ | for
+ | if
+ | ST
+ ;
+
+varlist:
+ /* empty */
+ | VARNAME { makevattr($1); }
+ | varlist VARNAME { makevattr($2); }
+ | varlist ',' VARNAME { makevattr($3); }
+ ;
+
+asgn:
+ VARNAME '=' expr { $$=y.f=$3; makevar($1,VARNAME,y); checkscale($1); }
+ ;
+
+copy:
+ COPY copylist { copy(); }
+ ;
+copylist:
+ copyattr
+ | copylist copyattr
+ ;
+copyattr:
+ text { copyfile($1); }
+ | THRU DEFNAME { copydef($2); }
+ | UNTIL text { copyuntil($2); }
+ ;
+
+for:
+ FOR name FROM expr TO expr BY optop expr DOSTR
+ { forloop($2, $4, $6, $8, $9, $10); }
+ | FOR name FROM expr TO expr DOSTR
+ { forloop($2, $4, $6, '+', 1.0, $7); }
+ | FOR name '=' expr TO expr BY optop expr DOSTR
+ { forloop($2, $4, $6, $8, $9, $10); }
+ | FOR name '=' expr TO expr DOSTR
+ { forloop($2, $4, $6, '+', 1.0, $7); }
+ ;
+
+if:
+ IF if_expr THENSTR ELSESTR { ifstat($2, $3, $4); }
+ | IF if_expr THENSTR { ifstat($2, $3, (char *) 0); }
+ ;
+if_expr:
+ expr
+ | text EQ text { $$ = strcmp($1,$3) == 0; free($1); free($3); }
+ | text NEQ text { $$ = strcmp($1,$3) != 0; free($1); free($3); }
+ ;
+
+name:
+ VARNAME { y.f = 0; makevar($1, VARNAME, y); }
+ ;
+optop:
+ '+' { $$ = '+'; }
+ | '-' { $$ = '-'; }
+ | '*' { $$ = '*'; }
+ | '/' { $$ = '/'; }
+ | /* empty */ { $$ = ' '; }
+ ;
+
+
+leftbrace:
+ '{' { $$ = leftthing('{'); }
+ ;
+
+prim:
+ BOX attrlist { $$ = boxgen(); }
+ | CIRCLE attrlist { $$ = circgen($1); }
+ | ELLIPSE attrlist { $$ = circgen($1); }
+ | ARC attrlist { $$ = arcgen($1); }
+ | LINE attrlist { $$ = linegen($1); }
+ | ARROW attrlist { $$ = linegen($1); }
+ | SPLINE attrlist { $$ = linegen($1); }
+ | MOVE attrlist { $$ = movegen(); }
+ | textlist attrlist { $$ = textgen(); }
+ | TROFF { $$ = troffgen($1); }
+ | lbracket piclist ']' { $<o>$=rightthing($1,']'); } attrlist
+ { $$ = blockgen($1, $<o>4); }
+ ;
+
+lbracket:
+ '[' { $$ = leftthing('['); }
+ ;
+
+attrlist:
+ attrlist attr
+ | /* empty */
+ ;
+
+attr:
+ ATTR expr { makefattr($1, !DEFAULT, $2); }
+ | ATTR { makefattr($1, DEFAULT, 0.0); }
+ | expr { makefattr(curdir(), !DEFAULT, $1); }
+ | DIR expr { makefattr($1, !DEFAULT, $2); }
+ | DIR { makefattr($1, DEFAULT, 0.0); }
+ | FROM position { makeoattr($1, $2); }
+ | TO position { makeoattr($1, $2); }
+ | AT position { makeoattr($1, $2); }
+ | BY position { makeoattr($1, $2); }
+ | WITH CORNER { makeiattr(WITH, $2); }
+ | WITH '.' PLACENAME { makeoattr(PLACE, getblock(getlast(1,BLOCK), $3)); }
+ | WITH '.' PLACENAME CORNER
+ { makeoattr(PLACE, getpos(getblock(getlast(1,BLOCK), $3), $4)); }
+ | WITH position { makeoattr(PLACE, $2); }
+ | SAME { makeiattr(SAME, $1); }
+ | TEXTATTR { maketattr($1, (char *) 0); }
+ | HEAD { makeiattr(HEAD, $1); }
+ | DOT expr { makefattr(DOT, !DEFAULT, $2); }
+ | DOT { makefattr(DOT, DEFAULT, 0.0); }
+ | DASH expr { makefattr(DASH, !DEFAULT, $2); }
+ | DASH { makefattr(DASH, DEFAULT, 0.0); }
+ | CHOP expr { makefattr(CHOP, !DEFAULT, $2); }
+ | CHOP { makefattr(CHOP, DEFAULT, 0.0); }
+ | CHOP PLACENAME { makeattr(CHOP, PLACENAME, getvar($2)); }
+ | FILL expr { makefattr(FILL, !DEFAULT, $2); }
+ | FILL { makefattr(FILL, DEFAULT, 0.0); }
+ | NOEDGE { makeiattr(NOEDGE, 0); }
+ | textlist
+ ;
+
+textlist:
+ textattr
+ | textlist textattr
+ ;
+textattr:
+ text { maketattr(CENTER, $1); }
+ | text TEXTATTR { maketattr($2, $1); }
+ | textattr TEXTATTR { addtattr($2); }
+ ;
+text:
+ TEXT
+ | SPRINTF '(' text ')' { $$ = sprintgen($3); }
+ | SPRINTF '(' text ',' exprlist ')' { $$ = sprintgen($3); }
+ ;
+
+exprlist:
+ expr { exprsave($1); $$ = 0; }
+ | exprlist ',' expr { exprsave($3); }
+ ;
+
+position: /* absolute, not relative */
+ place
+ | '(' position ')' { $$ = $2; }
+ | expr ',' expr { $$ = makepos($1, $3); }
+ | position '+' expr ',' expr { $$ = fixpos($1, $3, $5); }
+ | position '-' expr ',' expr { $$ = fixpos($1, -$3, -$5); }
+ | position '+' '(' expr ',' expr ')' { $$ = fixpos($1, $4, $6); }
+ | position '-' '(' expr ',' expr ')' { $$ = fixpos($1, -$4, -$6); }
+ | position '+' place { $$ = addpos($1, $3); }
+ | position '-' place { $$ = subpos($1, $3); }
+ | '(' place ',' place ')' { $$ = makepos(getcomp($2,DOTX), getcomp($4,DOTY)); }
+ | expr LT position ',' position GT { $$ = makebetween($1, $3, $5); }
+ | expr BETWEEN position AND position { $$ = makebetween($1, $3, $5); }
+ ;
+
+place:
+ PLACENAME { y = getvar($1); $$ = y.o; }
+ | PLACENAME CORNER { y = getvar($1); $$ = getpos(y.o, $2); }
+ | CORNER PLACENAME { y = getvar($2); $$ = getpos(y.o, $1); }
+ | HERE { $$ = gethere(); }
+ | last type { $$ = getlast($1, $2); }
+ | last type CORNER { $$ = getpos(getlast($1, $2), $3); }
+ | CORNER last type { $$ = getpos(getlast($2, $3), $1); }
+ | NTH type { $$ = getfirst($1, $2); }
+ | NTH type CORNER { $$ = getpos(getfirst($1, $2), $3); }
+ | CORNER NTH type { $$ = getpos(getfirst($2, $3), $1); }
+ | blockname
+ | blockname CORNER { $$ = getpos($1, $2); }
+ | CORNER blockname { $$ = getpos($2, $1); }
+ ;
+
+blockname:
+ last BLOCK '.' PLACENAME { $$ = getblock(getlast($1,$2), $4); }
+ | NTH BLOCK '.' PLACENAME { $$ = getblock(getfirst($1,$2), $4); }
+ | PLACENAME '.' PLACENAME { y = getvar($1); $$ = getblock(y.o, $3); }
+ ;
+
+last:
+ last LAST { $$ = $1 + 1; }
+ | NTH LAST { $$ = $1; }
+ | LAST { $$ = 1; }
+ ;
+
+type:
+ BOX
+ | CIRCLE
+ | ELLIPSE
+ | ARC
+ | LINE
+ | ARROW
+ | SPLINE
+ | BLOCK
+ ;
+
+expr:
+ NUMBER
+ | VARNAME { $$ = getfval($1); }
+ | asgn
+ | expr '+' expr { $$ = $1 + $3; }
+ | expr '-' expr { $$ = $1 - $3; }
+ | expr '*' expr { $$ = $1 * $3; }
+ | expr '/' expr { if ($3 == 0.0) {
+ WARNING("division by 0"); $3 = 1; }
+ $$ = $1 / $3; }
+ | expr '%' expr { if ((long)$3 == 0) {
+ WARNING("mod division by 0"); $3 = 1; }
+ $$ = (long)$1 % (long)$3; }
+ | '-' expr %prec UMINUS { $$ = -$2; }
+ | '+' expr %prec UMINUS { $$ = $2; }
+ | '(' expr ')' { $$ = $2; }
+ | place DOTX { $$ = getcomp($1, $2); }
+ | place DOTY { $$ = getcomp($1, $2); }
+ | place DOTHT { $$ = getcomp($1, $2); }
+ | place DOTWID { $$ = getcomp($1, $2); }
+ | place DOTRAD { $$ = getcomp($1, $2); }
+ | PLACENAME '.' VARNAME { y = getvar($1); $$ = getblkvar(y.o, $3); }
+ | last BLOCK '.' VARNAME { $$ = getblkvar(getlast($1,$2), $4); }
+ | NTH BLOCK '.' VARNAME { $$ = getblkvar(getfirst($1,$2), $4); }
+ | expr GT expr { $$ = $1 > $3; }
+ | expr LT expr { $$ = $1 < $3; }
+ | expr LE expr { $$ = $1 <= $3; }
+ | expr GE expr { $$ = $1 >= $3; }
+ | expr EQ expr { $$ = $1 == $3; }
+ | expr NEQ expr { $$ = $1 != $3; }
+ | expr ANDAND expr { $$ = $1 && $3; }
+ | expr OROR expr { $$ = $1 || $3; }
+ | NOT expr { $$ = !($2); }
+ | LOG '(' expr ')' { $$ = Log10($3); }
+ | EXP '(' expr ')' { $$ = Exp($3 * log(10.0)); }
+ | expr '^' expr { $$ = pow($1, $3); }
+ | SIN '(' expr ')' { $$ = sin($3); }
+ | COS '(' expr ')' { $$ = cos($3); }
+ | ATAN2 '(' expr ',' expr ')' { $$ = atan2($3, $5); }
+ | SQRT '(' expr ')' { $$ = Sqrt($3); }
+ | RAND '(' ')' { $$ = (float)random() / RAND_MAX; }
+ | MAX '(' expr ',' expr ')' { $$ = $3 >= $5 ? $3 : $5; }
+ | MIN '(' expr ',' expr ')' { $$ = $3 <= $5 ? $3 : $5; }
+ | INT '(' expr ')' { $$ = (long) $3; }
+ ;
diff --git a/pic/pltroff.c b/pic/pltroff.c
new file mode 100644
index 0000000000000..5ec5f53965369
--- /dev/null
+++ b/pic/pltroff.c
@@ -0,0 +1,379 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)pltroff.c 1.3 (gritter) 2/8/06 */
+#include <stdio.h>
+#include <math.h>
+#include <string.h>
+#include "pic.h"
+extern int dbg;
+
+#define abs(n) (n >= 0 ? n : -(n))
+#define max(x,y) ((x)>(y) ? (x) : (y))
+
+char *textshift = "\\v'.2m'"; /* move text this far down */
+
+/* scaling stuff defined by s command as X0,Y0 to X1,Y1 */
+/* output dimensions set by -l,-w options to 0,0 to hmax, vmax */
+/* default output is 6x6 inches */
+
+
+double xscale;
+double yscale;
+
+double hpos = 0; /* current horizontal position in output coordinate system */
+double vpos = 0; /* current vertical position; 0 is top of page */
+
+double htrue = 0; /* where we really are */
+double vtrue = 0;
+
+double X0, Y0; /* left bottom of input */
+double X1, Y1; /* right top of input */
+
+double hmax; /* right end of output */
+double vmax; /* top of output (down is positive) */
+
+extern double deltx;
+extern double delty;
+extern double xmin, ymin, xmax, ymax;
+
+double xconv(double), yconv(double), xsc(double), ysc(double);
+void space(double, double, double, double);
+void hgoto(double), vgoto(double), hmot(double), vmot(double);
+void move(double, double), movehv(double, double);
+void cont(double, double);
+
+void openpl(char *s) /* initialize device; s is residue of .PS invocation line */
+{
+ double maxw, maxh, ratio = 1;
+ double odeltx = deltx, odelty = delty;
+
+ hpos = vpos = 0;
+ maxw = getfval("maxpswid");
+ maxh = getfval("maxpsht");
+ if (deltx > maxw) { /* shrink horizontal */
+ ratio = maxw / deltx;
+ deltx *= ratio;
+ delty *= ratio;
+ }
+ if (delty > maxh) { /* shrink vertical */
+ ratio = maxh / delty;
+ deltx *= ratio;
+ delty *= ratio;
+ }
+ if (ratio != 1) {
+ fprintf(stderr, "pic: %g X %g picture shrunk to", odeltx, odelty);
+ fprintf(stderr, " %g X %g\n", deltx, delty);
+ }
+ space(xmin, ymin, xmax, ymax);
+ printf(".\\\" %g %g %g %g\n", xmin, ymin, xmax, ymax);
+ printf(".\\\" %.3fi %.3fi %.3fi %.3fi\n",
+ xconv(xmin), yconv(ymin), xconv(xmax), yconv(ymax));
+ printf(".nr 00 \\n(.u\n");
+ printf(".nf\n");
+ printf(".PS %.3fi %.3fi %s", yconv(ymin), xconv(xmax), s);
+ /* assumes \n comes as part of s */
+}
+
+void space(double x0, double y0, double x1, double y1) /* set limits of page */
+{
+ X0 = x0;
+ Y0 = y0;
+ X1 = x1;
+ Y1 = y1;
+ xscale = deltx == 0.0 ? 1.0 : deltx / (X1-X0);
+ yscale = delty == 0.0 ? 1.0 : delty / (Y1-Y0);
+}
+
+double xconv(double x) /* convert x from external to internal form */
+{
+ return (x-X0) * xscale;
+}
+
+double xsc(double x) /* convert x from external to internal form, scaling only */
+{
+
+ return (x) * xscale;
+}
+
+double yconv(double y) /* convert y from external to internal form */
+{
+ return (Y1-y) * yscale;
+}
+
+double ysc(double y) /* convert y from external to internal form, scaling only */
+{
+ return (y) * yscale;
+}
+
+void closepl(char *PEline) /* clean up after finished */
+{
+ printf(".if n .do\n");
+ movehv(0.0, 0.0); /* get back to where we started */
+ if (strchr(PEline, 'F') == NULL) {
+ printf(".sp 1+%.3fi\n", yconv(ymin));
+ }
+ printf("%s\n", PEline);
+ printf(".if \\n(00 .fi\n");
+}
+
+void move(double x, double y) /* go to position x, y in external coords */
+{
+ hgoto(xconv(x));
+ vgoto(yconv(y));
+}
+
+void movehv(double h, double v) /* go to internal position h, v */
+{
+ hgoto(h);
+ vgoto(v);
+}
+
+void hmot(double n) /* generate n units of horizontal motion */
+{
+ hpos += n;
+}
+
+void vmot(double n) /* generate n units of vertical motion */
+{
+ vpos += n;
+}
+
+void hgoto(double n)
+{
+ hpos = n;
+}
+
+void vgoto(double n)
+{
+ vpos = n;
+}
+
+double fabs(double x)
+{
+ return x < 0 ? -x : x;
+}
+
+void hvflush(void) /* get to proper point for output */
+{
+ if (fabs(hpos-htrue) >= 0.0005) {
+ printf("\\h'%.3fi'", hpos - htrue);
+ htrue = hpos;
+ }
+ if (fabs(vpos-vtrue) >= 0.0005) {
+ printf("\\v'%.3fi'", vpos - vtrue);
+ vtrue = vpos;
+ }
+}
+
+void flyback(void) /* return to upper left corner (entry point) */
+{
+ printf(".sp -1\n");
+ htrue = vtrue = 0;
+}
+
+void printlf(int n, char *f)
+{
+ if (f)
+ printf(".lf %d %s\n", n, f);
+ else
+ printf(".lf %d\n", n);
+}
+
+void troff(char *s) /* output troff right here */
+{
+ printf("%s\n", s);
+}
+
+void label(char *s, int t, int nh) /* text s of type t nh half-lines up */
+{
+ int q;
+ char *p;
+
+ if (!s)
+ return;
+ hvflush();
+ dprintf("label: %s %o %d\n", s, t, nh);
+ printf("%s", textshift); /* shift down and left */
+ if (t & ABOVE)
+ nh++;
+ else if (t & BELOW)
+ nh--;
+ if (nh)
+ printf("\\v'%du*\\n(.vu/2u'", -nh);
+ /* just in case the text contains a quote: */
+ q = 0;
+ for (p = s; *p; p++)
+ if (*p == '\'') {
+ q = 1;
+ break;
+ }
+ t &= ~(ABOVE|BELOW);
+ if (t & LJUST) {
+ printf("%s", s);
+ } else if (t & RJUST) {
+ if (q)
+ printf("\\h\\(ts-\\w\\(ts%s\\(tsu\\(ts%s", s, s);
+ else
+ printf("\\h'-\\w'%s'u'%s", s, s);
+ } else { /* CENTER */
+ if (q)
+ printf("\\h\\(ts-\\w\\(ts%s\\(tsu/2u\\(ts%s", s, s);
+ else
+ printf("\\h'-\\w'%s'u/2u'%s", s, s);
+ }
+ printf("\n");
+ flyback();
+}
+
+void line(double x0, double y0, double x1, double y1) /* draw line from x0,y0 to x1,y1 */
+{
+ move(x0, y0);
+ cont(x1, y1);
+}
+
+void arrow(double x0, double y0, double x1, double y1, double w, double h,
+ double ang, int nhead) /* draw arrow (without shaft) */
+{
+ double alpha, rot, drot, hyp;
+ double dx, dy;
+ int i;
+
+ rot = atan2(w / 2, h);
+ hyp = sqrt(w/2 * w/2 + h * h);
+ alpha = atan2(y1-y0, x1-x0) + ang;
+ if (nhead < 2)
+ nhead = 2;
+ dprintf("rot=%g, hyp=%g, alpha=%g\n", rot, hyp, alpha);
+ printf(".if t \\{\\\n");
+ for (i = nhead-1; i >= 0; i--) {
+ drot = 2 * rot / (double) (nhead-1) * (double) i;
+ dx = hyp * cos(alpha + PI - rot + drot);
+ dy = hyp * sin(alpha + PI - rot + drot);
+ dprintf("dx,dy = %g,%g\n", dx, dy);
+ line(x1+dx, y1+dy, x1, y1);
+ }
+ printf(".\\}\n");
+}
+
+double lastgray = 0;
+
+void fillstart(double v) /* this works only for postscript, obviously. */
+{ /* uses drechsler's dpost conventions... */
+ hvflush();
+ printf("\\X'BeginObject %g setgray'\n", v);
+ lastgray = v;
+ flyback();
+}
+
+void fillend(int vis, int fill)
+{
+ hvflush();
+ printf("\\X'EndObject gsave eofill grestore %g setgray %s'\n",
+ !vis ? lastgray : 0.0,
+ vis ? "stroke" : "");
+ /* for dashed: [50] 0 setdash just before stroke. */
+ lastgray = 0;
+ flyback();
+}
+
+void box(double x0, double y0, double x1, double y1)
+{
+ move(x0, y0);
+ cont(x0, y1);
+ cont(x1, y1);
+ cont(x1, y0);
+ cont(x0, y0);
+}
+
+void cont(double x, double y) /* continue line from here to x,y */
+{
+ double h1, v1;
+ double dh, dv;
+ int rh = 0;
+
+ h1 = xconv(x);
+ v1 = yconv(y);
+ dh = h1 - hpos;
+ dv = v1 - vpos;
+ if (dh > 0 && !dv) {
+ rh = 1;
+ move(x, y);
+ dh = -dh;
+ }
+ hvflush();
+ printf("\\D'l%.3fi %.3fi'\n", dh, dv);
+ if (rh) move(x, y);
+ flyback(); /* expensive */
+ hpos = h1;
+ vpos = v1;
+}
+
+void circle(double x, double y, double r)
+{
+ move(x-r, y);
+ hvflush();
+ printf("\\D'c%.3fi'\n", xsc(2 * r));
+ flyback();
+}
+
+void spline(double x, double y, double n, ofloat *p, int dashed, double ddval)
+{
+ int i;
+ double dx, dy;
+ double xerr, yerr;
+
+ move(x, y);
+ hvflush();
+ xerr = yerr = 0.0;
+ printf("\\D'~");
+ for (i = 0; i < 2 * n; i += 2) {
+ dx = xsc(xerr += p[i]);
+ xerr -= dx/xscale;
+ dy = ysc(yerr += p[i+1]);
+ yerr -= dy/yscale;
+ printf(" %.3fi %.3fi", dx, -dy); /* WATCH SIGN */
+ }
+ printf("'\n");
+ flyback();
+}
+
+void ellipse(double x, double y, double r1, double r2)
+{
+ double ir1, ir2;
+
+ move(x-r1, y);
+ hvflush();
+ ir1 = xsc(r1);
+ ir2 = ysc(r2);
+ printf("\\D'e%.3fi %.3fi'\n", 2 * ir1, 2 * abs(ir2));
+ flyback();
+}
+
+void arc(double x, double y, double x0, double y0, double x1, double y1) /* draw arc with center x,y */
+{
+
+ move(x0, y0);
+ hvflush();
+ printf("\\D'a%.3fi %.3fi %.3fi %.3fi'\n",
+ xsc(x-x0), -ysc(y-y0), xsc(x1-x), -ysc(y1-y)); /* WATCH SIGNS */
+ flyback();
+}
+
+void dot(void) {
+ hvflush();
+ /* what character to draw here depends on what's available. */
+ /* on the 202, l. is good but small. */
+ /* in general, use a smaller, shifted period and hope */
+
+ printf("\\&\\f1\\h'-.1m'\\v'.03m'\\s-3.\\s+3\\fP\n");
+ flyback();
+}
diff --git a/pic/print.c b/pic/print.c
new file mode 100644
index 0000000000000..b00ea3a7f7dd6
--- /dev/null
+++ b/pic/print.c
@@ -0,0 +1,263 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)print.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <math.h>
+#include "pic.h"
+#include "y.tab.h"
+
+void dotext(obj *);
+void dotline(double, double, double, double, int, double);
+void dotbox(double, double, double, double, int, double);
+void ellipse(double, double, double, double);
+void circle(double, double, double);
+void arc(double, double, double, double, double, double);
+void arrow(double, double, double, double, double, double, double, int);
+void line(double, double, double, double);
+void box(double, double, double, double);
+void spline(double x, double y, double n, ofloat *p, int dashed, double ddval);
+void move(double, double);
+void troff(char *);
+void dot(void);
+void fillstart(double), fillend(int vis, int noedge);
+
+void print(void)
+{
+ obj *p;
+ int i, j, k, m;
+ int fill, vis, invis;
+ double x0, y0, x1 = 0, y1 = 0, ox, oy, dx, dy, ndx, ndy;
+
+ for (i = 0; i < nobj; i++) {
+ p = objlist[i];
+ ox = p->o_x;
+ oy = p->o_y;
+ if (p->o_count >= 1)
+ x1 = p->o_val[0];
+ if (p->o_count >= 2)
+ y1 = p->o_val[1];
+ m = p->o_mode;
+ fill = p->o_attr & FILLBIT;
+ invis = p->o_attr & INVIS;
+ vis = !invis;
+ switch (p->o_type) {
+ case TROFF:
+ troff(text[p->o_nt1].t_val);
+ break;
+ case BOX:
+ case BLOCK:
+ x0 = ox - x1 / 2;
+ y0 = oy - y1 / 2;
+ x1 = ox + x1 / 2;
+ y1 = oy + y1 / 2;
+ if (fill) {
+ move(x0, y0);
+ fillstart(p->o_fillval);
+ }
+ if (p->o_type == BLOCK)
+ ; /* nothing at all */
+ else if (invis && !fill)
+ ; /* nothing at all */
+ else if (p->o_attr & (DOTBIT|DASHBIT))
+ dotbox(x0, y0, x1, y1, p->o_attr, p->o_ddval);
+ else
+ box(x0, y0, x1, y1);
+ if (fill)
+ fillend(vis, fill);
+ move(ox, oy);
+ dotext(p); /* if there are any text strings */
+ if (ishor(m))
+ move(isright(m) ? x1 : x0, oy); /* right side */
+ else
+ move(ox, isdown(m) ? y0 : y1); /* bottom */
+ break;
+ case BLOCKEND:
+ break;
+ case CIRCLE:
+ if (fill)
+ fillstart(p->o_fillval);
+ if (vis || fill)
+ circle(ox, oy, x1);
+ if (fill)
+ fillend(vis, fill);
+ move(ox, oy);
+ dotext(p);
+ /* clang may have found a bug here. Parentheses added
+ * to "?:" operator. (CK) */
+ if (ishor(m))
+ move(ox + (isright(m) ? x1 : -x1), oy);
+ else
+ move(ox, oy + (isup(m) ? x1 : -x1));
+ break;
+ case ELLIPSE:
+ if (fill)
+ fillstart(p->o_fillval);
+ if (vis || fill)
+ ellipse(ox, oy, x1, y1);
+ if (fill)
+ fillend(vis, fill);
+ move(ox, oy);
+ dotext(p);
+ /* Parentheses added (CK) */
+ if (ishor(m))
+ move(ox + (isright(m) ? x1 : -x1), oy);
+ else
+ move(ox, oy - (isdown(m) ? y1 : -y1));
+ break;
+ case ARC:
+ if (fill) {
+ move(ox, oy);
+ fillstart(p->o_fillval);
+ }
+ if (p->o_attr & HEAD1)
+ arrow(x1 - (y1 - oy), y1 + (x1 - ox),
+ x1, y1, p->o_val[4], p->o_val[5], p->o_val[5]/p->o_val[6]/2, p->o_nhead);
+ if (invis && !fill)
+ /* probably wrong when it's cw */
+ move(x1, y1);
+ else
+ arc(ox, oy, x1, y1, p->o_val[2], p->o_val[3]);
+ if (p->o_attr & HEAD2)
+ arrow(p->o_val[2] + p->o_val[3] - oy, p->o_val[3] - (p->o_val[2] - ox),
+ p->o_val[2], p->o_val[3], p->o_val[4], p->o_val[5], -p->o_val[5]/p->o_val[6]/2, p->o_nhead);
+ if (fill)
+ fillend(vis, fill);
+ if (p->o_attr & CW_ARC)
+ move(x1, y1); /* because drawn backwards */
+ move(ox, oy);
+ dotext(p);
+ break;
+ case LINE:
+ case ARROW:
+ case SPLINE:
+ if (fill) {
+ move(ox, oy);
+ fillstart(p->o_fillval);
+ }
+ if (vis && p->o_attr & HEAD1)
+ arrow(ox + p->o_val[5], oy + p->o_val[6], ox, oy, p->o_val[2], p->o_val[3], 0.0, p->o_nhead);
+ if (invis && !fill)
+ move(x1, y1);
+ else if (p->o_type == SPLINE)
+ spline(ox, oy, p->o_val[4], &p->o_val[5], p->o_attr & (DOTBIT|DASHBIT), p->o_ddval);
+ else {
+ dx = ox;
+ dy = oy;
+ for (k=0, j=5; k < p->o_val[4]; k++, j += 2) {
+ ndx = dx + p->o_val[j];
+ ndy = dy + p->o_val[j+1];
+ if (p->o_attr & (DOTBIT|DASHBIT))
+ dotline(dx, dy, ndx, ndy, p->o_attr, p->o_ddval);
+ else
+ line(dx, dy, ndx, ndy);
+ dx = ndx;
+ dy = ndy;
+ }
+ }
+ if (vis && p->o_attr & HEAD2) {
+ dx = ox;
+ dy = oy;
+ for (k = 0, j = 5; k < p->o_val[4] - 1; k++, j += 2) {
+ dx += p->o_val[j];
+ dy += p->o_val[j+1];
+ }
+ arrow(dx, dy, x1, y1, p->o_val[2], p->o_val[3], 0.0, p->o_nhead);
+ }
+ if (fill)
+ fillend(vis, fill);
+ move((ox + x1)/2, (oy + y1)/2); /* center */
+ dotext(p);
+ break;
+ case MOVE:
+ move(ox, oy);
+ break;
+ case TEXT:
+ move(ox, oy);
+ if (vis)
+ dotext(p);
+ break;
+ }
+ }
+}
+
+#define DOTLINE \
+ do { \
+ numdots = sqrt(dx*dx + dy*dy) / prevval + 0.5; \
+ if (numdots > 0) \
+ for (i = 0; i <= numdots; i++) { \
+ a = (double) i / (double) numdots; \
+ move(x0 + (a * dx), y0 + (a * dy)); \
+ dot(); \
+ } \
+ } while (0)
+
+void dotline(double x0, double y0, double x1, double y1, int ddtype, double ddval) /* dotted line */
+{
+ static double prevval = 0.05; /* 20 per inch by default */
+ int i, numdots;
+ double a, b = 0, dx, dy;
+
+ if (ddval == 0)
+ ddval = prevval;
+ prevval = ddval;
+ /* don't save dot/dash value */
+ dx = x1 - x0;
+ dy = y1 - y0;
+ if (ddtype & DOTBIT) {
+ DOTLINE;
+ } else if (ddtype & DASHBIT) {
+ double d, dashsize, spacesize;
+ printf(".ie n \\{\\\n");
+ DOTLINE;
+ printf(".\\}\n");
+ printf(".el \\{\\\n");
+ d = sqrt(dx*dx + dy*dy);
+ if (d <= 2 * prevval) {
+ line(x0, y0, x1, y1);
+ return;
+ }
+ numdots = d / (2 * prevval) + 1; /* ceiling */
+ dashsize = prevval;
+ spacesize = (d - numdots * dashsize) / (numdots - 1);
+ for (i = 0; i < numdots-1; i++) {
+ a = i * (dashsize + spacesize) / d;
+ b = a + dashsize / d;
+ line(x0 + (a*dx), y0 + (a*dy), x0 + (b*dx), y0 + (b*dy));
+ a = b;
+ b = a + spacesize / d;
+ move(x0 + (a*dx), y0 + (a*dy));
+ }
+ line(x0 + (b * dx), y0 + (b * dy), x1, y1);
+ printf(".\\}\n");
+ }
+ prevval = 0.05;
+}
+
+void dotbox(double x0, double y0, double x1, double y1, int ddtype, double ddval) /* dotted or dashed box */
+{
+ dotline(x0, y0, x1, y0, ddtype, ddval);
+ dotline(x1, y0, x1, y1, ddtype, ddval);
+ dotline(x1, y1, x0, y1, ddtype, ddval);
+ dotline(x0, y1, x0, y0, ddtype, ddval);
+}
+
+void dotext(obj *p) /* print text strings of p in proper vertical spacing */
+{
+ int i, nhalf;
+ void label(char *, int, int);
+
+ nhalf = p->o_nt2 - p->o_nt1 - 1;
+ for (i = p->o_nt1; i < p->o_nt2; i++) {
+ label(text[i].t_val, text[i].t_type, nhalf);
+ nhalf -= 2;
+ }
+}
diff --git a/pic/symtab.c b/pic/symtab.c
new file mode 100644
index 0000000000000..d2bb09c7a147a
--- /dev/null
+++ b/pic/symtab.c
@@ -0,0 +1,116 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)symtab.c 1.3 (gritter) 10/18/05 */
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <string.h>
+#include "pic.h"
+#include "y.tab.h"
+
+YYSTYPE getvar(char *s) /* return value of variable s (usually pointer) */
+{
+ struct symtab *p;
+ static YYSTYPE bug;
+
+ p = lookup(s);
+ if (p == NULL) {
+ if (islower((int)s[0]))
+ WARNING("no such variable as %s", s);
+ else
+ WARNING("no such place as %s", s);
+ return(bug);
+ }
+ return(p->s_val);
+}
+
+double getfval(char *s) /* return float value of variable s */
+{
+ YYSTYPE y;
+
+ y = getvar(s);
+ return y.f;
+}
+
+void setfval(char *s, double f) /* set variable s to f */
+{
+ struct symtab *p;
+
+ if ((p = lookup(s)) != NULL)
+ p->s_val.f = f;
+}
+
+struct symtab *makevar(char *s, int t, YYSTYPE v) /* make variable named s in table */
+ /* assumes s is static or from tostring */
+{
+ struct symtab *p;
+
+ for (p = stack[nstack].p_symtab; p != NULL; p = p->s_next)
+ if (strcmp(s, p->s_name) == 0)
+ break;
+ if (p == NULL) { /* it's a new one */
+ p = (struct symtab *) malloc(sizeof(struct symtab));
+ if (p == NULL)
+ FATAL("out of symtab space with %s", s);
+ p->s_next = stack[nstack].p_symtab;
+ stack[nstack].p_symtab = p; /* stick it at front */
+ }
+ p->s_name = s;
+ p->s_type = t;
+ p->s_val = v;
+ return(p);
+}
+
+struct symtab *lookup(char *s) /* find s in symtab */
+{
+ int i;
+ struct symtab *p;
+
+ for (i = nstack; i >= 0; i--) /* look in each active symtab */
+ for (p = stack[i].p_symtab; p != NULL; p = p->s_next)
+ if (strcmp(s, p->s_name) == 0)
+ return(p);
+ return(NULL);
+}
+
+void freesymtab(struct symtab *p) /* free space used by symtab at p */
+{
+ struct symtab *q;
+
+ for ( ; p != NULL; p = q) {
+ q = p->s_next;
+ free(p->s_name); /* assumes done with tostring */
+ free((char *)p);
+ }
+}
+
+void freedef(char *s) /* free definition for string s */
+{
+ struct symtab *p, *q, *op;
+
+ for (p = op = q = stack[nstack].p_symtab; p != NULL; p = p->s_next) {
+ if (strcmp(s, p->s_name) == 0) { /* got it */
+ if (p->s_type != DEFNAME)
+ break;
+ if (p == op) /* 1st elem */
+ stack[nstack].p_symtab = p->s_next;
+ else
+ q->s_next = p->s_next;
+ free(p->s_name);
+ free(p->s_val.p);
+ free((char *)p);
+ return;
+ }
+ q = p;
+ }
+ /* WARNING("%s is not defined at this point", s); */
+}
diff --git a/pic/textgen.c b/pic/textgen.c
new file mode 100644
index 0000000000000..29abb1216992b
--- /dev/null
+++ b/pic/textgen.c
@@ -0,0 +1,123 @@
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+ *
+ * Derived from Plan 9 v4 /sys/src/cmd/pic/
+ *
+ * Copyright (C) 2003, Lucent Technologies Inc. and others.
+ * All Rights Reserved.
+ *
+ * Distributed under the terms of the Lucent Public License Version 1.02.
+ */
+
+/* Sccsid @(#)textgen.c 1.2 (gritter) 10/18/05 */
+#include <stdio.h>
+#include "pic.h"
+#include "y.tab.h"
+
+obj *textgen(void)
+{
+ int i, sub, nstr, at, with, hset, invis;
+ double xwith, ywith, h, w, x0, y0, x1, y1;
+ obj *p, *ppos;
+ Attr *ap;
+
+ at = with = nstr = hset = invis = 0;
+ h = getfval("textht");
+ w = getfval("textwid");
+ for (i = 0; i < nattr; i++) {
+ ap = &attr[i];
+ switch (ap->a_type) {
+ case HEIGHT:
+ h = ap->a_val.f;
+ hset++;
+ break;
+ case WIDTH:
+ w = ap->a_val.f;
+ break;
+ case WITH:
+ with = ap->a_val.i;
+ break;
+ case INVIS:
+ invis = INVIS;
+ break;
+ case AT:
+ ppos = ap->a_val.o;
+ curx = ppos->o_x;
+ cury = ppos->o_y;
+ at++;
+ break;
+ case TEXTATTR:
+ sub = ap->a_sub;
+ if (ap->a_val.p == NULL) /* an isolated modifier */
+ text[ntext-1].t_type = sub;
+ else {
+ savetext(sub, ap->a_val.p);
+ nstr++;
+ }
+ break;
+ }
+ }
+ if (hset == 0) /* no explicit ht cmd */
+ h *= nstr;
+ if (with) {
+ xwith = ywith = 0.0;
+ switch (with) {
+ case NORTH: ywith = -h / 2; break;
+ case SOUTH: ywith = h / 2; break;
+ case EAST: xwith = -w / 2; break;
+ case WEST: xwith = w / 2; break;
+ case NE: xwith = -w / 2; ywith = -h / 2; break;
+ case SE: xwith = -w / 2; ywith = h / 2; break;
+ case NW: xwith = w / 2; ywith = -h / 2; break;
+ case SW: xwith = w / 2; ywith = h / 2; break;
+ }
+ curx += xwith;
+ cury += ywith;
+ }
+ if (!at) {
+ if (isright(hvmode))
+ curx += w / 2;
+ else if (isleft(hvmode))
+ curx -= w / 2;
+ else if (isup(hvmode))
+ cury += h / 2;
+ else
+ cury -= h / 2;
+ }
+ x0 = curx - w / 2;
+ y0 = cury - h / 2;
+ x1 = curx + w / 2;
+ y1 = cury + h / 2;
+ extreme(x0, y0);
+ extreme(x1, y1);
+ dprintf("Text h %g w %g at %g,%g\n", h, w, curx, cury);
+ p = makenode(TEXT, 2);
+ p->o_attr = invis;
+ p->o_val[0] = w;
+ p->o_val[1] = h;
+ if (isright(hvmode))
+ curx = x1;
+ else if (isleft(hvmode))
+ curx = x0;
+ else if (isup(hvmode))
+ cury = y1;
+ else
+ cury = y0;
+ return(p);
+}
+
+obj *troffgen(char *s) /* save away a string of troff commands */
+{
+ savetext(CENTER, s); /* use the existing text mechanism */
+ return makenode(TROFF, 0);
+}
+
+void savetext(int t, char *s) /* record text elements for current object */
+{
+ if (ntext >= ntextlist)
+ text = (Text *) grow((char *) text, "text", ntextlist += 200, sizeof(Text));
+ text[ntext].t_type = t;
+ text[ntext].t_val = s;
+ dprintf("saving %d text %s at %d\n", t, s, ntext);
+ ntext++;
+}
diff --git a/pic/version.c b/pic/version.c
new file mode 100644
index 0000000000000..088c39f1d065b
--- /dev/null
+++ b/pic/version.c
@@ -0,0 +1,33 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/pic.sl 5.10 (gritter) 12/25/06";
+const char version[] = "version July 5, 1993 5.10 (gritter) 12/25/06";
+/* SLIST */
+/*
+arcgen.c: Sccsid @(#)arcgen.c 1.3 (gritter) 10/18/05
+blockgen.c: Sccsid @(#)blockgen.c 1.3 (gritter) 10/18/05
+boxgen.c: Sccsid @(#)boxgen.c 1.2 (gritter) 10/18/05
+circgen.c: Sccsid @(#)circgen.c 1.3 (gritter) 10/18/05
+for.c: Sccsid @(#)for.c 1.3 (gritter) 10/18/05
+input.c: Sccsid @(#)input.c 1.8 (gritter) 12/25/06
+linegen.c: Sccsid @(#)linegen.c 1.3 (gritter) 10/25/05
+main.c: Sccsid @(#)main.c 1.6 (gritter) 12/5/05
+misc.c: Sccsid @(#)misc.c 1.3 (gritter) 10/18/05
+movegen.c: Sccsid @(#)movegen.c 1.2 (gritter) 10/18/05
+pic.h: Sccsid @(#)pic.h 1.6 (gritter) 12/5/05
+picl.c: Sccsid @(#)picl.l 1.9 (gritter) 8/6/06
+picl.c: * Sccsid @(#)ncform 1.4 (gritter) 11/18/05
+picl.l: Sccsid @(#)picl.l 1.9 (gritter) 8/6/06
+picy.c: Sccsid @(#)picy.y 1.4 (gritter) 11/28/05
+picy.c: * Sccsid @(#)yaccpar 1.5 (gritter) 11/26/05
+picy.y: Sccsid @(#)picy.y 1.4 (gritter) 11/28/05
+pltroff.c: Sccsid @(#)pltroff.c 1.3 (gritter) 2/8/06
+print.c: Sccsid @(#)print.c 1.3 (gritter) 10/18/05
+symtab.c: Sccsid @(#)symtab.c 1.3 (gritter) 10/18/05
+textgen.c: Sccsid @(#)textgen.c 1.2 (gritter) 10/18/05
+*/
diff --git a/picpack/Makefile.mk b/picpack/Makefile.mk
new file mode 100644
index 0000000000000..cf72048bbddaf
--- /dev/null
+++ b/picpack/Makefile.mk
@@ -0,0 +1,21 @@
+OBJ = picpack.o getopt.o
+
+FLAGS = -I../troff/troff.d/dpost.d
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: picpack
+
+picpack: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o picpack
+
+install:
+ $(INSTALL) -c picpack $(ROOT)$(BINDIR)/picpack
+ $(STRIP) $(ROOT)$(BINDIR)/picpack
+ $(INSTALL) -c -m 644 picpack.1 $(ROOT)$(MANDIR)/man1/picpack.1
+
+clean:
+ rm -f $(OBJ) picpack core log *~
+
+mrproper: clean
diff --git a/picpack/getopt.c b/picpack/getopt.c
new file mode 100644
index 0000000000000..bb8c53d072cb9
--- /dev/null
+++ b/picpack/getopt.c
@@ -0,0 +1,222 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07
+ */
+/* from OpenSolaris "getopt.c 1.23 05/06/08 SMI" */
+
+/* Copyright (c) 1988 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * See getopt(3C) and SUS/XPG getopt() for function definition and
+ * requirements.
+ *
+ * This actual implementation is a bit looser than the specification
+ * as it allows any character other than ':' to be used as an option
+ * character - The specification only guarantees the alnum characters
+ * ([a-z][A-Z][0-9]).
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+
+extern ssize_t write(int, const void *, size_t);
+
+char *optarg = NULL;
+int optind = 1;
+int opterr = 1;
+int optopt = 0;
+
+#define ERR(s, c) err(s, c, optstring, argv[0])
+static void
+err(const char *s, int c, const char *optstring, const char *argv0)
+{
+ char errbuf[256], *ep = errbuf;
+ const char *cp;
+
+ if (opterr && optstring[0] != ':') {
+ for (cp = argv0; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = ": "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = s; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = " -- "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = c;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = '\n';
+ write(2, errbuf, ep - errbuf);
+ }
+}
+
+/*
+ * getopt_sp is required to keep state between successive calls to getopt()
+ * while extracting aggregated options (ie: -abcd). Hence, getopt() is not
+ * thread safe or reentrant, but it really doesn't matter.
+ *
+ * So, why isn't this "static" you ask? Because the historical Bourne
+ * shell has actually latched on to this little piece of private data.
+ */
+int getopt_sp = 1;
+
+/*
+ * Determine if the specified character (c) is present in the string
+ * (optstring) as a regular, single character option. If the option is found,
+ * return a pointer into optstring pointing at the option character,
+ * otherwise return null. The character ':' is not allowed.
+ */
+static char *
+parse(const char *optstring, const char c)
+{
+ char *cp = (char *)optstring;
+
+ if (c == ':')
+ return (NULL);
+ do {
+ if (*cp == c)
+ return (cp);
+ } while (*cp++ != '\0');
+ return (NULL);
+}
+
+/*
+ * External function entry point.
+ */
+int
+getopt(int argc, char *const *argv, const char *optstring)
+{
+ char c;
+ char *cp;
+
+ /*
+ * Has the end of the options been encountered? The following
+ * implements the SUS requirements:
+ *
+ * If, when getopt() is called:
+ * argv[optind] is a null pointer
+ * *argv[optind] is not the character '-'
+ * argv[optind] points to the string "-"
+ * getopt() returns -1 without changing optind. If
+ * argv[optind] points to the string "--"
+ * getopt() returns -1 after incrementing optind.
+ */
+ if (getopt_sp == 1) {
+ if (optind >= argc || argv[optind][0] != '-' ||
+ argv[optind] == NULL || argv[optind][1] == '\0')
+ return (EOF);
+ else if (strcmp(argv[optind], "--") == 0) {
+ optind++;
+ return (EOF);
+ }
+ }
+
+ /*
+ * Getting this far indicates that an option has been encountered.
+ * Note that the syntax of optstring applies special meanings to
+ * the characters ':' and '(', so they are not permissible as
+ * option letters. A special meaning is also applied to the ')'
+ * character, but its meaning can be determined from context.
+ * Note that the specification only requires that the alnum
+ * characters be accepted.
+ */
+ optopt = c = (unsigned char)argv[optind][getopt_sp];
+ optarg = NULL;
+ if ((cp = parse(optstring, c)) == NULL) {
+ /* LINTED: variable format specifier */
+ ERR("illegal option", c);
+ if (argv[optind][++getopt_sp] == '\0') {
+ optind++;
+ getopt_sp = 1;
+ }
+ return ('?');
+ }
+ optopt = c = *cp;
+
+ /*
+ * A valid option has been identified. If it should have an
+ * option-argument, process that now. SUS defines the setting
+ * of optarg as follows:
+ *
+ * 1. If the option was the last character in the string pointed to
+ * by an element of argv, then optarg contains the next element
+ * of argv, and optind is incremented by 2. If the resulting
+ * value of optind is not less than argc, this indicates a
+ * missing option-argument, and getopt() returns an error
+ * indication.
+ *
+ * 2. Otherwise, optarg points to the string following the option
+ * character in that element of argv, and optind is incremented
+ * by 1.
+ *
+ * The second clause allows -abcd (where b requires an option-argument)
+ * to be interpreted as "-a -b cd".
+ */
+ if (*(cp + 1) == ':') {
+ /* The option takes an argument */
+ if (argv[optind][getopt_sp+1] != '\0') {
+ optarg = &argv[optind++][getopt_sp+1];
+ } else if (++optind >= argc) {
+ /* LINTED: variable format specifier */
+ ERR("option requires an argument", c);
+ getopt_sp = 1;
+ optarg = NULL;
+ return (optstring[0] == ':' ? ':' : '?');
+ } else
+ optarg = argv[optind++];
+ getopt_sp = 1;
+ } else {
+ /* The option does NOT take an argument */
+ if (argv[optind][++getopt_sp] == '\0') {
+ getopt_sp = 1;
+ optind++;
+ }
+ optarg = NULL;
+ }
+ return (c);
+} /* getopt() */
+
+#ifdef __APPLE__
+/*
+ * Starting with Mac OS 10.5 Leopard, <unistd.h> turns getopt()
+ * into getopt$UNIX2003() by default. Consequently, this function
+ * is called instead of the one defined above. However, optind is
+ * still taken from this file, so in effect, options are not
+ * properly handled. Defining an own getopt$UNIX2003() function
+ * works around this issue.
+ */
+int
+getopt$UNIX2003(int argc, char *const argv[], const char *optstring)
+{
+ return getopt(argc, argv, optstring);
+}
+#endif /* __APPLE__ */
diff --git a/picpack/picpack.1 b/picpack/picpack.1
new file mode 100644
index 0000000000000..0968186ec453c
--- /dev/null
+++ b/picpack/picpack.1
@@ -0,0 +1,139 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, September 2005.
+.\"
+.\" Derived from Plan 9 v4 /opt/unix/plan9v4/sys/src/cmd/postscript/picpack/picpack.1
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)picpack.1 1.3 (gritter) 2/2/07
+.Dd February 2, 2007
+.Dt PICPACK 1
+.Os
+.Sh NAME
+.Nm picpack
+.Nd PostScript picture packing preprocessor
+.Sh SYNOPSIS
+.Nm
+.Op Fl k Ar list
+.Op Fl q
+.Op Ar file
+.Ar ...
+.Sh DESCRIPTION
+.Nm
+copies
+.Ar files
+to stdout, expanding picture inclusion requests
+(marked by the
+.Em .BP
+or
+.Em .PI
+macros) into an in-line
+format that can be passed through
+.Cm troff
+and handled by
+.Cm dpost .
+If no
+.Ar files
+are specified
+or if
+.Ar -
+is one of the input
+.Ar files
+standard input is read.
+The following
+.Em options
+are understood:
+.Bl -tag -width 10n
+.It Fl k Ar list
+.Ar list
+is a comma- or space-separated string of words used to locate
+picture inclusion requests.
+The start of every line in the input
+.Ar files
+is compared with each word in
+.Ar list .
+If there is a match, the second string on the line is
+taken as the pathname of a picture file that is added
+to the output file.
+The default
+.Ar list
+is
+.Dq Cm .Bp .PI .
+.It Fl q
+Suppress ``missing picture file'' error messages.
+.El
+.Pp
+.Nm
+is a trivial preprocessor that, in a sense, duplicates some of the
+picture inclusion capabilities already available in
+.Cm dpost .
+.Nm
+should not be used if your formatting command line includes
+a call to
+.Cm dpost .
+Its only purpose is to combine picture files with text in a single
+file that can be passed through
+.Cm troff
+and unpacked, at some later time, by
+.Cm dpost .
+The original picture inclusion mechanism, with files are pulled in by
+.Cm dpost ,
+is the preferred approach.
+.Sh EXAMPLES
+A typical application might be in a distributed printing environment
+where everything up to
+.Cm troff
+is run by the user and everything after
+.Cm troff
+is handled by a spooling daemon
+.Aq perhaps Cm lp .
+In that case the command line would be,
+.Bd -literal
+ pic \fIfile\fP | tbl | eqn | picpack | troff \-mm \-Tpost | lp
+.Ed
+.Pp
+A poor example, although one that should still work, would be,
+.Bd -literal
+ pic \fIfile\fP | tbl | eqn | picpack | troff \-mm | dpost >\fIfile\fP.ps
+.Ed
+.Pp
+In this case picture inclusion requests could (and should) be handled by
+.Cm dpost .
+Running
+.Nm
+is not needed or even recommended.
+It should be dropped from any pipeline that includes a call to
+.Cm dpost .
+.Sh DIAGNOSTICS
+A 0 exit status is returned if
+.Ar files
+were successfully processed.
+.Sh WARNINGS
+Combining pictures and text using the capabilities available in
+.Cm dpost
+is the recommended approach and is always guaranteed to be more
+efficient than
+.Nm .
+RunNmning
+.Nm
+and
+.Cm dpost
+in the same pipeline makes little sense.
+.Pp
+Using
+.Nm
+will likely result in files that can no longer be reliably passed
+through other important
+.Cm troff
+postprocessors like
+.Cm proof .
+At present
+.Nm
+is only guaranteed to work with
+.Cm dpost .
+.Sh SEE ALSO
+.Xr dpost 1 ,
+.Xr troff 1
diff --git a/picpack/picpack.c b/picpack/picpack.c
new file mode 100644
index 0000000000000..5401b00aaea6f
--- /dev/null
+++ b/picpack/picpack.c
@@ -0,0 +1,658 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 2001 by Sun Microsystems, Inc.
+ * All rights reserved.
+ */
+
+/* from OpenSolaris "picpack.c 1.6 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)picpack.sl 5.1 (gritter) 10/25/05";
+
+/*
+ *
+ * picpack - picture packing pre-processor
+ *
+ * A trivial troff pre-processor that copies files to stdout, expanding picture
+ * requests into an in-line format that's passed transparently through troff and
+ * handled by dpost. The program is an attempt to address requirements, expressed
+ * by several organizations, of being able to store a document as a single file
+ * (usually troff input) that can then be sent through dpost and ultimately to
+ * a PostScript printer.
+ *
+ * The program looks for strings listed in the keys[] array at the start of each
+ * line. When a picture request (as listed in keys[]) is found the second string
+ * on the line is taken to be a picture file pathname that's added (in transparent
+ * mode) to the output file. In addition each in-line picture file is preceeded by
+ * device control command (again passed through in transparent mode) that looks
+ * like,
+ *
+ * x X InlinePicture filename bytes
+ *
+ * where bytes is the size of the picture file (which begins on the next line)
+ * and filename is the pathname of the picture file. dpost uses both arguments to
+ * manage in-line pictures (in a big temp file). To handle pictures in diversions
+ * picpack reads each input file twice. The first pass looks for picture inclusion
+ * requests and copies each picture file transparently to the output file, while
+ * second pass just copies the input file to the output file. Things could still
+ * break, but the two pass method should handle most jobs.
+ *
+ * The recognized in-line picture requests are saved in keys[] and by default only
+ * expand .BP and .PI macro calls. The -k option changes the recognized strings,
+ * and may be needed if you've built your own picture inclusion macros on top of
+ * .BP or .PI or decided to list each picture file at the start of your input file
+ * using a dummy macro. For example you could require every in-line picture be
+ * named by a dummy macro (say .iP), then the command line,
+ *
+ * picpack -k.iP file > file.pack
+ *
+ * hits on lines that begin with .iP (rather than .BP or .PI), and the only files
+ * pulled in would be ones named as the second argument to the new .iP macro. The
+ * -k option accepts a space or comma separated list of up to 10 different key
+ * strings. picpack imposes no contraints on key strings, other than not allowing
+ * spaces or commas. A key string can begin with \" and in that case it would be
+ * troff comment.
+ *
+ * Although the program will help some users, there are obvious disadvantages.
+ * Perhaps the most important is that troff output files (with in-line pictures
+ * included) don't fit the device independent language accepted by important post
+ * processors like proof, and that means you won't be able to reliably preview a
+ * packed file on your 5620 or whatever. Another potential problem is that picture
+ * files can be large. Packing everything together in a single file at an early
+ * stage has a better chance of exceeding your system's ulimit.
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <stdarg.h>
+
+#include "gen.h" /* general purpose definitions */
+#include "ext.h" /* external variable definitions */
+
+#define TEMPDIR "/var/tmp"
+
+#include "glob.c"
+
+static char *keys[11] = {".BP", ".PI", NULL};
+static int quiet = FALSE;
+
+static FILE *fp_in; /* input */
+static FILE *fp_out; /* and output files */
+
+static void newkeys(char *);
+static FILE *copystdin(void);
+static void copyfile(int, int);
+static void picpack(void);
+static void do_inline(char *);
+static int gotpicfile(char *);
+static void addpicfile(char *);
+
+char *fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp);
+
+/*****************************************************************************/
+
+
+int
+main(int agc, char **agv)
+
+
+{
+
+
+/*
+ *
+ * A picture packing pre-processor that copies input files to stdout, expanding
+ * picture requests (as listed in keys[]) to an in-line format that can be passed
+ * through troff (using transparent mode) and handled later by dpost.
+ *
+ */
+
+ fp_in = stdin;
+ fp_out = stdout;
+
+ argc = agc; /* global so everyone can use them */
+ argv = agv;
+
+ prog_name = argv[0]; /* just for error messages */
+
+ options(); /* command line options */
+ arguments(); /* translate all the input files */
+ done(); /* clean things up */
+
+ return x_stat; /* everything probably went OK */
+
+} /* End of main */
+
+
+/*****************************************************************************/
+
+
+void
+options(void)
+
+
+{
+
+
+ int ch; /* name returned by getopt() */
+
+/*
+ *
+ * Handles the command line options.
+ *
+ */
+
+
+ while ( (ch = getopt(argc, argv, "k:qDI")) != EOF ) {
+
+ switch ( ch ) {
+
+ case 'k': /* new expansion key strings */
+ newkeys(optarg);
+ break;
+
+ case 'q': /* disables "missing picture" messages */
+ quiet = TRUE;
+ break;
+
+ case 'D': /* debug flag */
+ debug = ON;
+ break;
+
+ case 'I': /* ignore FATAL errors */
+ ignore = ON;
+ break;
+
+ case '?': /* don't know the option */
+ error(FATAL, "");
+ break;
+
+ default:
+ error(FATAL, "missing case for option %c", ch);
+ break;
+
+ } /* End switch */
+ } /* End while */
+
+ argc -= optind; /* get ready for non-options args */
+ argv += optind;
+
+} /* End of options */
+
+
+/*****************************************************************************/
+
+
+static void
+newkeys(
+ char *list /* comma or space separated key strings */
+ )
+
+
+{
+
+
+ char *p; /* next key string from *list */
+ int i; /* goes in keys[i] */
+ int n; /* last key string slot in keys[] */
+
+
+/*
+ *
+ * Separates *list into space or comma separated strings and adds each one to the
+ * keys[] array. The strings in keys[] are used to locate the picture inclusion
+ * requests that are translated to the in-line format. The keys array must end
+ * with a NULL pointer and by default only expands .BP and .PI macro calls.
+ *
+ */
+
+
+ n = (sizeof(keys) / sizeof(char *)) - 1;
+
+ for ( i = 0, p = strtok(list, " ,"); p != NULL; i++, p = strtok(NULL, " ,") )
+ if ( i >= n )
+ error(FATAL, "too many key strings");
+ else keys[i] = p;
+
+ keys[i] = NULL;
+
+} /* End of newkeys */
+
+
+/*****************************************************************************/
+
+
+void
+arguments(void)
+
+
+{
+
+
+/*
+ *
+ * Makes sure all the non-option command line arguments are processed. If we get
+ * here and there aren't any arguments left, or if '-' is one of the input files
+ * we process stdin, after copying it to a temporary file.
+ *
+ */
+
+
+ if ( argc < 1 ) {
+ fp_in = copystdin();
+ picpack();
+ } else
+ while ( argc > 0 ) {
+ if ( strcmp(*argv, "-") == 0 )
+ fp_in = copystdin();
+ else if ( (fp_in = fopen(*argv, "r")) == NULL )
+ error(FATAL, "can't open %s", *argv);
+ picpack();
+ fclose(fp_in);
+ argc--;
+ argv++;
+ } /* End while */
+
+} /* End of arguments */
+
+
+/*****************************************************************************/
+
+
+static FILE *
+copystdin(void)
+
+
+{
+
+
+ char tfile[] = TEMPDIR "/postXXXXXX"; /* temporary file name */
+ int fd_out; /* and its file descriptor */
+ FILE *fp; /* return value - will be new input file */
+
+
+/*
+ *
+ * Copies stdin to a temp file, unlinks the file, and returns the file pointer for
+ * the new temporary file to the caller. Needed because we read each input file
+ * twice in an attempt to handle pictures in diversions.
+ *
+ */
+
+
+ if ( (fd_out = mkstemp(tfile)) == -1 )
+ error(FATAL, "can't create %s", tfile);
+
+ copyfile(fileno(stdin), fd_out);
+ close(fd_out);
+
+ if ( (fp = fopen(tfile, "r")) == NULL )
+ error(FATAL, "can't open %s", tfile);
+
+ unlink(tfile);
+ return(fp);
+
+} /* End of copystdin */
+
+
+/*****************************************************************************/
+
+
+static void
+copyfile(
+ int fd_in, /* input */
+ int fd_out /* and output files */
+)
+
+
+{
+
+
+ char buf[512]; /* internal buffer for reads and writes */
+ int count; /* number of bytes put in buf[] */
+
+
+/*
+ *
+ * Copies file fd_in to fd_out. Handles the second pass for each input file and
+ * also used to copy stdin to a temporary file.
+ *
+ */
+
+
+ while ( (count = read(fd_in, buf, sizeof(buf))) > 0 )
+ if ( write(fd_out, buf, count) != count )
+ error(FATAL, "write error");
+
+} /* End of copyfile */
+
+
+/*****************************************************************************/
+
+
+void
+done(void)
+
+
+{
+
+
+/*
+ *
+ * Finished with all the input files so unlink the temporary file that we used
+ * to record the in-line picture file pathnames.
+ *
+ */
+
+
+ if ( temp_file != NULL )
+ unlink(temp_file);
+
+} /* End of done */
+
+
+/*****************************************************************************/
+
+
+static void
+picpack(void)
+
+
+{
+
+
+ char *line = NULL; /* next input line */
+ size_t linesize = 0;
+ char name[100]; /* picture file names - from BP or PI */
+ int i; /* for looking through keys[] */
+
+
+/*
+ *
+ * Handles the two passes over the next input file. First pass compares the start
+ * of each line in *fp_in with the key strings saved in the keys[] array. If a
+ * match is found do_inline() is called to copy the picture file (the file named
+ * as the second string in line[]) to stdout, provided the file hasn't previously
+ * been copied. The second pass goes back to the start of fp_in and copies it all
+ * to the output file.
+ *
+ */
+
+
+ while ( fgetline(&line, &linesize, NULL, fp_in) != NULL ) {
+ for ( i = 0; keys[i] != NULL; i++ )
+ if ( strncmp(line, keys[i], strlen(keys[i])) == 0 ) {
+ if ( sscanf(line, "%*s %s", name) == 1 ) {
+ strtok(name, "(");
+ if ( gotpicfile(name) == FALSE )
+ do_inline(name);
+ } /* End if */
+ } /* End if */
+ } /* End while */
+
+ fflush(fp_out); /* second pass - copy fp_in to fp_out */
+ fseek(fp_in, 0L, 0);
+ copyfile(fileno(fp_in), fileno(fp_out));
+ free(line);
+
+} /* End of picpack */
+
+
+/*****************************************************************************/
+
+
+static void
+do_inline(
+ char *name /* name of the in-line picture file */
+)
+
+
+{
+
+
+ long size; /* and its size in bytes - from fstat */
+ FILE *fp; /* for reading file *name */
+ int ch; /* next character from picture file */
+ int lastch = '\n'; /* so we know when to put out \! */
+
+ struct stat sbuf; /* for the picture file size */
+
+
+/*
+ *
+ * Copies the picture file *name to the output file in an in-line format that can
+ * be passed through troff and recovered later by dpost. Transparent mode is used
+ * so each line starts with \! and all \ characters must be escaped. The in-line
+ * picture sequence begins with an "x X InlinePicture" device control command that
+ * names the picture file and gives its size (in bytes).
+ *
+ */
+
+
+ if ( (fp = fopen(name, "r")) != NULL ) {
+ fstat(fileno(fp), &sbuf);
+ if ( (size = sbuf.st_size) > 0 ) {
+ fprintf(fp_out, "\\!x X InlinePicture %s %ld\n", name, size);
+ while ( (ch = getc(fp)) != EOF ) {
+ if ( lastch == '\n' )
+ fprintf(fp_out, "\\!");
+ if ( ch == '\\' )
+ putc('\\', fp_out);
+ putc(lastch = ch, fp_out);
+ } /* End while */
+ if ( lastch != '\n' )
+ putc('\n', fp_out);
+ } /* End if */
+ fclose(fp);
+ addpicfile(name);
+ } else if ( quiet == FALSE )
+ error(NON_FATAL, "can't read picture file %s", name);
+
+} /* End of do_inline */
+
+
+/*****************************************************************************/
+
+
+static int
+gotpicfile(char *name)
+
+
+{
+
+
+ char buf[100];
+ FILE *fp_pic;
+
+
+/*
+ *
+ * Checks the list of previously added picture files in *temp_file and returns
+ * FALSE if it's a new file and TRUE otherwise. Probably should open the temp
+ * file once for update and leave it open, rather than opening and closing it
+ * every time.
+ *
+ */
+
+
+ if ( temp_file != NULL )
+ if ( (fp_pic = fopen(temp_file, "r")) != NULL ) {
+ while ( fscanf(fp_pic, "%s", buf) != EOF )
+ if ( strcmp(buf, name) == 0 ) {
+ fclose(fp_pic);
+ return(TRUE);
+ } /* End if */
+ fclose(fp_pic);
+ } /* End if */
+
+ return(FALSE);
+
+} /* End of gotpicfile */
+
+
+/*****************************************************************************/
+
+
+static void
+addpicfile(char *name)
+
+
+{
+
+
+ FILE *fp_pic;
+ static char template[] = TEMPDIR "/picpacXXXXXX";
+
+
+/*
+ *
+ * Adds string *name to the list of in-line picture files that's maintained in
+ * *temp_file. Should undoubtedly open the file once for update and use fseek()
+ * to move around in the file!
+ *
+ */
+
+
+ if ( temp_file == NULL )
+ if ( close(mkstemp(temp_file = template)) < 0 )
+ return;
+
+ if ( (fp_pic = fopen(temp_file, "a")) != NULL ) {
+ fprintf(fp_pic, "%s\n", name);
+ fclose(fp_pic);
+ } /* End if */
+
+} /* End of addpicfile */
+
+
+/*****************************************************************************/
+
+void *
+srealloc(void *p, size_t size)
+{
+ if ((p = realloc(p, size)) == NULL) {
+ write(2, "Can't malloc\n", 13);
+ _exit(0177);
+ }
+ return p;
+}
+
+#define LSIZE 128 /* initial line size */
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+char *
+fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = srealloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = srealloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
+/* from OpenSolaris "misc.c 1.6 05/06/08 SMI" */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+/*
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+void
+error(int kind, char *mesg, ...)
+{
+
+
+/*
+ *
+ * Called when we've run into some kind of program error. *mesg is printed using
+ * the control string arguments a?. We'll quit if we're not ignoring errors and
+ * kind is FATAL.
+ *
+ */
+
+
+ if ( mesg != NULL && *mesg != '\0' ) {
+ va_list ap;
+
+ fprintf(stderr, "%s: ", prog_name);
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ if ( lineno > 0 )
+ fprintf(stderr, " (line %ld)", lineno);
+ if ( position > 0 )
+ fprintf(stderr, " (near byte %ld)", position);
+ putc('\n', stderr);
+ } /* End if */
+
+ if ( kind == FATAL && ignore == OFF ) {
+ if ( temp_file != NULL )
+ unlink(temp_file);
+ exit(x_stat | 01);
+ } /* End if */
+
+} /* End of error */
diff --git a/pkginfo b/pkginfo
new file mode 100644
index 0000000000000..f9ea78cd96326
--- /dev/null
+++ b/pkginfo
@@ -0,0 +1,11 @@
+# Sccsid @(#)pkginfo 1.1 (gritter) 2/24/07
+PKG=heirloom-doctools
+NAME=Heirloom Documentation Tools
+DESC=nroff, troff, and related utilities
+VENDOR=Gunnar Ritter
+HOTLINE=http://heirloom.sourceforge.net
+EMAIL=gunnarr@acm.org
+VERSION=070224
+ARCH=IA32,i386
+CATEGORY=utilities
+BASEDIR=/
diff --git a/ptx/Makefile.mk b/ptx/Makefile.mk
new file mode 100644
index 0000000000000..dfef54161fe5e
--- /dev/null
+++ b/ptx/Makefile.mk
@@ -0,0 +1,23 @@
+OBJ = ptx.o
+
+FLAGS = -DLIBDIR='"$(LIBDIR)"' $(EUC)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: ptx
+
+ptx: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o ptx
+
+install:
+ $(INSTALL) -c ptx $(ROOT)$(BINDIR)/ptx
+ $(STRIP) $(ROOT)$(BINDIR)/ptx
+ $(INSTALL) -c -m 644 ptx.1 $(ROOT)$(MANDIR)/man1/ptx.1
+ test -d $(ROOT)$(LIBDIR) || mkdir -p $(ROOT)$(LIBDIR)
+ $(INSTALL) -c -m 644 eign $(ROOT)$(LIBDIR)/eign
+
+clean:
+ rm -f $(OBJ) ptx core log *~
+
+mrproper: clean
diff --git a/ptx/eign b/ptx/eign
new file mode 100644
index 0000000000000..1b1aecb877881
--- /dev/null
+++ b/ptx/eign
@@ -0,0 +1,400 @@
+a
+about
+above
+across
+act
+action
+after
+again
+against
+ago
+air
+all
+almost
+along
+already
+also
+although
+always
+american
+among
+an
+and
+another
+any
+anything
+are
+area
+areas
+around
+as
+asked
+at
+available
+away
+back
+be
+became
+because
+become
+been
+before
+began
+behind
+being
+best
+better
+between
+big
+board
+body
+both
+boy
+brought
+business
+but
+by
+called
+came
+can
+cannot
+car
+case
+certain
+change
+children
+church
+city
+close
+college
+come
+community
+company
+could
+country
+course
+court
+day
+days
+death
+development
+did
+didn't
+different
+do
+does
+don't
+done
+door
+down
+during
+each
+early
+economic
+either
+end
+enough
+even
+ever
+every
+example
+experience
+eyes
+face
+fact
+family
+far
+federal
+feet
+felt
+few
+field
+find
+first
+five
+for
+force
+form
+found
+four
+free
+from
+gave
+general
+get
+give
+given
+go
+god
+going
+good
+got
+government
+great
+group
+had
+half
+hand
+hands
+has
+have
+having
+he
+head
+heard
+held
+help
+her
+here
+high
+him
+himself
+his
+history
+home
+house
+how
+however
+human
+i
+i'm
+if
+important
+in
+individual
+information
+interest
+into
+is
+it
+it's
+its
+itself
+job
+john
+just
+keep
+kind
+knew
+know
+known
+large
+last
+later
+law
+least
+left
+less
+let
+life
+light
+like
+line
+little
+local
+long
+look
+looked
+love
+made
+major
+make
+making
+man
+many
+matter
+may
+me
+means
+members
+men
+might
+mind
+miss
+moment
+money
+more
+most
+mr
+mrs
+much
+must
+my
+name
+national
+need
+never
+new
+next
+night
+no
+not
+nothing
+now
+number
+of
+off
+office
+often
+old
+on
+once
+one
+only
+open
+or
+order
+other
+others
+our
+out
+over
+own
+part
+past
+people
+per
+perhaps
+period
+place
+point
+political
+position
+possible
+power
+present
+president
+probably
+problem
+problems
+program
+public
+put
+question
+quite
+rather
+real
+really
+reason
+result
+right
+room
+said
+same
+saw
+say
+school
+second
+see
+seemed
+seems
+seen
+sense
+service
+set
+several
+shall
+she
+should
+show
+side
+since
+small
+so
+social
+society
+some
+something
+south
+special
+state
+states
+still
+street
+study
+such
+sure
+system
+take
+taken
+tell
+than
+that
+the
+their
+them
+themselves
+then
+there
+these
+they
+thing
+things
+think
+this
+those
+though
+thought
+three
+through
+thus
+time
+times
+to
+today
+together
+told
+too
+took
+toward
+true
+turn
+turned
+two
+under
+united
+until
+up
+upon
+us
+use
+used
+very
+want
+war
+was
+water
+way
+we
+week
+well
+went
+were
+west
+what
+when
+where
+whether
+which
+while
+white
+who
+whole
+whose
+why
+will
+with
+within
+without
+word
+words
+work
+world
+would
+year
+years
+yet
+york
+you
+young
+your
diff --git a/ptx/ptx.1 b/ptx/ptx.1
new file mode 100644
index 0000000000000..c5ff8679c8998
--- /dev/null
+++ b/ptx/ptx.1
@@ -0,0 +1,158 @@
+.\"
+.\" Sccsid @(#)ptx.1 1.6 (gritter) 2/2/07
+.\" Parts taken from ptx(1), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.Dd February 2, 2007
+.Dt PTX 1
+.Os
+.Sh NAME
+.Nm ptx
+.Nd permuted index
+.Sh SYNOPSIS
+.Nm
+.Op Fl ftr
+.Op Fl w Ar n
+.Op Fl g Ar n
+.Op Fl o Ar only
+.Op Fl i Ar ignore
+.Op Fl b Ar break
+.Op Ar input Op Ar output
+.Sh DESCRIPTION
+.Nm
+generates a permuted index to file
+.Ar input
+on file
+.Ar output
+(standard input and output default).
+It has three phases: the first does the permutation, generating
+one line for each keyword in an input line.
+The keyword is rotated to the front.
+The permuted file is then
+sorted.
+Finally, the sorted lines are rotated so the keyword
+comes at the middle of the page.
+.Nm
+produces output in the form:
+.Bd -literal -offset XXXXX
+\&.xx "tail" "before keyword" "keyword and after" "head"
+.Ed
+.Pp
+where .xx may be an
+.Cm nroff
+or
+.Xr troff 1
+macro
+for user-defined formatting.
+Once choice for this macro is supplied in the
+.Sq Fl mptx
+macro package.
+The
+.Em before keyword
+and
+.Em keyword and after
+fields incorporate as much of the line as will fit
+around the keyword when it is printed at the middle of the page.
+.Em tail
+and
+.Em head
+at least one of which is an empty string "",
+are wrapped-around pieces small enough to fit
+in the unused space at the opposite end of the line.
+When original text must be discarded, `/' marks the spot.
+.Pp
+The following options can be applied:
+.Bl -tag -width XXXXX
+.It Fl f
+Fold upper and lower case letters for sorting.
+.It Fl t
+Prepare the output for the phototypesetter,
+i.e. set the default line length to 100 characters.
+.It Fl w Ar n
+Use the next argument,
+.Ar n,
+as the width of the output line.
+The default line length is 72 characters.
+.It Fl g Ar n
+Use the next argument,
+.Ar n,
+as the number of characters to allow for each gap
+among the four parts of the line as finally printed.
+The default gap is 3 characters.
+.It Fl o Ar only
+Use as keywords only the words given in the
+.Ar only
+file.
+.It Fl i Ar ignore
+Do not use as keywords any words given in the
+.Ar ignore
+file.
+If the
+.Fl i
+and
+.Fl o
+options are missing, use
+.Pa /usr/ucblib/eign
+as the
+.Ar ignore
+file.
+.It Fl b Ar break
+Use the characters in the
+.Ar break
+file to separate words.
+In any case, tab, newline, and space characters are always used as break
+characters.
+.It Fl r
+Take any leading nonblank characters of each input line to
+be a reference identifier (as to a page or chapter)
+separate from the text of the line.
+Attach that identifier as a 5th field on each output line.
+.El
+.Sh ENVIRONMENT VARIABLES
+.Bl -tag -width XXXXXXXXXXXX
+.It Ev LANG , Ev LC_ALL
+See
+.Xr locale 7 .
+.It Ev LC_COLLATE
+Determines the sort order.
+.It Ev LC_CTYPE
+Determines the mapping of bytes to characters.
+.El
+.Sh FILES
+.Bl -ohang -compact
+.It Pa /usr/5bin/sort
+.It Pa /usr/ucblib/eign
+.It Pa /usr/ucblib/doctools/tmac/ptx
+.El
+.Sh NOTES
+Line length counts do not account for overstriking or
+proportional spacing.
diff --git a/ptx/ptx.c b/ptx/ptx.c
new file mode 100644
index 0000000000000..1a07f3d5179c6
--- /dev/null
+++ b/ptx/ptx.c
@@ -0,0 +1,713 @@
+/* from Unix 7th Edition /usr/src/cmd/ptx.c */
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, November 2005.
+ */
+/*
+ * Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * Redistributions of source code and documentation must retain the
+ * above copyright notice, this list of conditions and the following
+ * disclaimer.
+ * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed or owned by Caldera
+ * International, Inc.
+ * Neither the name of Caldera International, Inc. nor the names of
+ * other contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+ * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+ * LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/ptx.sl 1.5 (gritter) 11/6/05";
+
+/* permuted title index
+ ptx [-t] [-i ignore] [-o only] [-w num] [-f] [input] [output]
+ Ptx reads the input file and permutes on words in it.
+ It excludes all words in the ignore file.
+ Alternately it includes words in the only file.
+ if neither is given it excludes the words in /usr/lib/eign.
+
+ The width of the output line can be changed to num
+ characters. If omitted 72 is default unless troff than 100.
+ the -f flag tells the program to fold the output
+ the -t flag says the output is for troff and the
+ output is then wider.
+
+ make: cc ptx.c -lS
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#ifdef EUC
+#include <wchar.h>
+#include <wctype.h>
+#endif
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <locale.h>
+#include <limits.h>
+#define DEFLTX LIBDIR "/eign"
+#define TILDE 0177
+#define SORT "sort"
+#define N 30
+#define MAX N*BUFSIZ
+#define MAXT 2048
+#define MASK 03777
+#define SET 1
+
+#define isabreak(c) (btable[c])
+
+#ifdef __GLIBC__
+#ifdef _IO_getc_unlocked
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+#ifdef _IO_putc_unlocked
+#undef putc
+#define putc(c, f) _IO_putc_unlocked(c, f)
+#endif
+#endif
+
+#define getline xxgetline
+
+static int status;
+
+#ifdef EUC
+#define NCHARS 0x110000
+#else /* !EUC */
+#define NCHARS 256
+#define iswupper isupper
+#define towlower tolower
+#define iswspace isspace
+#define wchar_t unsigned char
+#endif /* !EUC */
+
+static const wchar_t *hasht[MAXT];
+static wchar_t *line;
+static wchar_t btable[NCHARS];
+static int ignore;
+static int only;
+static int llen = 72;
+static int gap = 3;
+static int gutter = 3;
+static int mlen;
+static int wlen;
+static int rflag;
+static int halflen;
+static wchar_t *strtbufp, *endbufp;
+static char *empty = "";
+
+static char *infile;
+static FILE *inptr /*= stdin*/;
+
+static char *outfile;
+static FILE *outptr /*= stdout*/;
+
+static char *sortfile; /* output of sort program */
+static char nofold[] = {'-', 'd', 't', TILDE, 0};
+static char fold[] = {'-', 'd', 'f', 't', TILDE, 0};
+static char *sortopt = nofold;
+static FILE *sortptr;
+
+static char *bfile; /*contains user supplied break chars */
+static FILE *bptr;
+
+static void msg(const char *, const char *);
+static void diag(const char *, const char *);
+static wchar_t *getline(void);
+static void cmpline(const wchar_t *);
+static int cmpword(const wchar_t *, const wchar_t *, const wchar_t *);
+static void putline(const wchar_t *, const wchar_t *);
+static void getsort(void);
+static wchar_t *rtrim(const wchar_t *, const wchar_t *, int);
+static wchar_t *ltrim(const wchar_t *, const wchar_t *, int);
+static void putout(const wchar_t *, const wchar_t *);
+static void onintr(int);
+static int hash(const wchar_t *, const wchar_t *);
+static int storeh(int, const wchar_t *);
+
+
+#ifdef EUC
+static wint_t peekc = WEOF;
+
+static wint_t
+GETC(FILE *fp)
+{
+ char mb[MB_LEN_MAX+1];
+ wchar_t wc;
+ int c, i, n;
+ mbstate_t state;
+
+ if (peekc != WEOF) {
+ wc = peekc;
+ peekc = WEOF;
+ return wc;
+ }
+bad: if ((c = getc(fp)) == EOF)
+ return WEOF;
+ if (c & 0200) {
+ i = 0;
+ for (;;) {
+ mb[i++] = c;
+ mb[i] = 0;
+ memset(&state, 0, sizeof state);
+ if ((n = mbrtowc(&wc, mb, i, &state)) == (size_t)-1)
+ goto bad;
+ if (n == (size_t)-2) {
+ if ((c = getc(fp)) == EOF)
+ return WEOF;
+ continue;
+ }
+ if (wc >= NCHARS)
+ goto bad;
+ return wc;
+ }
+ }
+ return c;
+}
+
+static void
+UNGETC(int c, FILE *fp)
+{
+ peekc = c;
+}
+
+static int
+PUTC(int c, FILE *fp)
+{
+ char mb[MB_LEN_MAX];
+ int i, n;
+
+ if ((n = wctomb(mb, c)) > 0) {
+ for (i = 0; i < n; i++)
+ putc(mb[i]&0377, fp);
+ return c;
+ } else if (n == 0) {
+ putc(0, fp);
+ return 0;
+ } else
+ return EOF;
+}
+
+#define L "l"
+
+#else /* !EUC */
+#define GETC(f) getc(f)
+#define UNGETC(c, f) ungetc(c, f)
+#define PUTC(c, f) putc(c, f)
+#define L
+#endif /* !EUC */
+int
+main(int argc,char **argv)
+{
+ char template[] = "/tmp/ptxsXXXXXX";
+ register int c;
+ register wchar_t *bufp;
+ int pid;
+ wchar_t *pend;
+
+ char *xfile;
+ FILE *xptr;
+
+ setlocale(LC_CTYPE, "");
+ inptr = stdin;
+ outptr = stdout;
+ if(signal(SIGHUP,onintr)==SIG_IGN)
+ signal(SIGHUP,SIG_IGN);
+ if(signal(SIGINT,onintr)==SIG_IGN)
+ signal(SIGINT,SIG_IGN);
+ signal(SIGPIPE,onintr);
+ signal(SIGTERM,onintr);
+
+/* argument decoding */
+
+ xfile = DEFLTX;
+ argv++;
+ while(argc>1 && **argv == '-') {
+ switch (*++*argv){
+
+ case 'r':
+ rflag++;
+ break;
+ case 'f':
+ sortopt = fold;
+ break;
+
+ case 'w':
+ if(argc >= 2) {
+ argc--;
+ wlen++;
+ llen = atoi(*++argv);
+ if(llen == 0)
+ diag("Wrong width:",*argv);
+ break;
+ }
+
+ case 't':
+ if(wlen == 0)
+ llen = 100;
+ break;
+ case 'g':
+ if(argc >=2) {
+ argc--;
+ gap = gutter = atoi(*++argv);
+ }
+ break;
+
+ case 'i':
+ if(only)
+ diag("Only file already given.",empty);
+ if (argc>=2){
+ argc--;
+ ignore++;
+ xfile = *++argv;
+ }
+ break;
+
+ case 'o':
+ if(ignore)
+ diag("Ignore file already given",empty);
+ if (argc>=2){
+ only++;
+ argc--;
+ xfile = *++argv;
+ }
+ break;
+
+ case 'b':
+ if(argc>=2) {
+ argc--;
+ bfile = *++argv;
+ }
+ break;
+
+ default:
+ msg("Illegal argument:",*argv);
+ }
+ argc--;
+ argv++;
+ }
+
+ if(argc>3)
+ diag("Too many filenames",empty);
+ else if(argc==3){
+ infile = *argv++;
+ outfile = *argv;
+ if((outptr = fopen(outfile,"w")) == NULL)
+ diag("Cannot open output file:",outfile);
+ } else if(argc==2) {
+ infile = *argv;
+ outfile = 0;
+ }
+
+
+ /* Default breaks of blank, tab and newline */
+ btable[' '] = SET;
+ btable['\t'] = SET;
+ btable['\n'] = SET;
+ if(bfile) {
+ if((bptr = fopen(bfile,"r")) == NULL)
+ diag("Cannot open break char file",bfile);
+
+ while((c = GETC(bptr)) != EOF)
+ btable[c] = SET;
+ }
+
+/* Allocate space for a buffer. If only or ignore file present
+ read it into buffer. Else read in default ignore file
+ and put resulting words in buffer.
+ */
+
+
+ if((strtbufp = calloc(N,BUFSIZ)) == NULL)
+ diag("Out of memory space",empty);
+ bufp = strtbufp;
+ endbufp = strtbufp+MAX;
+
+ if((xptr = fopen(xfile,"r")) == NULL)
+ diag("Cannot open file",xfile);
+
+ while(bufp < endbufp && (c = GETC(xptr)) != EOF) {
+ if(isabreak(c)) {
+ if(storeh(hash(strtbufp,bufp),strtbufp))
+ diag("Too many words",xfile);
+ *bufp++ = '\0';
+ strtbufp = bufp;
+ }
+ else {
+ *bufp++ = (iswupper(c)?towlower(c):c);
+ }
+ }
+ if (bufp >= endbufp)
+ diag("Too many words in file",xfile);
+ endbufp = --bufp;
+
+ /* open output file for sorting */
+
+ close(mkstemp(template));
+ sortfile = template;
+ if((sortptr = fopen(sortfile, "w")) == NULL)
+ diag("Cannot open output for sorting:",sortfile);
+
+/* get a line of data and compare each word for
+ inclusion or exclusion in the sort phase
+*/
+
+ if (infile!=0 && (inptr = fopen(infile,"r")) == NULL)
+ diag("Cannot open data: ",infile);
+ while((pend=getline()))
+ cmpline(pend);
+ fclose(sortptr);
+
+ switch (pid = fork()){
+
+ case -1: /* cannot fork */
+ diag("Cannot fork",empty);
+
+ case 0: /* child */
+ execlp(SORT, SORT, sortopt, "+0", "-1", "+1",
+ sortfile, "-o", sortfile, NULL);
+
+ default: /* parent */
+ while(wait(&status) != pid);
+ }
+
+
+ getsort();
+ onintr(0);
+ /*NOTREACHED*/
+ return 0;
+}
+
+static void
+msg(const char *s,const char *arg)
+{
+ fprintf(stderr,"%s %s\n",s,arg);
+ return;
+}
+static void
+diag(const char *s,const char *arg)
+{
+
+ msg(s,arg);
+ exit(1);
+}
+
+
+static wchar_t *
+getline(void)
+{
+
+ register int c;
+ register int i = 0;
+
+
+ if (line == NULL)
+ line = calloc(1, mlen = 1);
+ /* Throw away leading white space */
+
+ while(iswspace(c=GETC(inptr)))
+ ;
+ if(c==EOF)
+ return(0);
+ UNGETC(c,inptr);
+ while(( c=GETC(inptr)) != EOF) {
+ switch (c) {
+
+ case '\n':
+ while(iswspace(line[--i]));
+ line[++i] = '\n';
+ return(&line[i]);
+ case '\t':
+ c = ' ';
+ /*FALLTHRU*/
+ break;
+ default:
+ if (i+1 >= mlen)
+ line = realloc(line, mlen += 200);
+ line[i++] = c;
+ }
+ }
+ return(0);
+}
+
+static void
+cmpline(const wchar_t *pend)
+{
+
+ const wchar_t *pstrt, *pchar, *cp;
+ const wchar_t **hp;
+ int flag;
+
+ pchar = line;
+ if(rflag)
+ while(pchar<pend&&!iswspace(*pchar))
+ pchar++;
+ while(pchar<pend){
+ /* eliminate white space */
+ if(isabreak(*pchar++))
+ continue;
+ pstrt = --pchar;
+
+ flag = 1;
+ while(flag){
+ if(isabreak(*pchar)) {
+ hp = &hasht[hash(pstrt,pchar)];
+ pchar--;
+ while((cp = *hp++)){
+ if(hp == &hasht[MAXT])
+ hp = hasht;
+ /* possible match */
+ if(cmpword(pstrt,pchar,cp)){
+ /* exact match */
+ if(!ignore && only)
+ putline(pstrt,pend);
+ flag = 0;
+ break;
+ }
+ }
+ /* no match */
+ if(flag){
+ if(ignore || !only)
+ putline(pstrt,pend);
+ flag = 0;
+ }
+ }
+ pchar++;
+ }
+ }
+}
+
+static int
+cmpword(const wchar_t *cpp,const wchar_t *pend,const wchar_t *hpp)
+{
+ int c;
+
+ while(*hpp != '\0'){
+ c = *cpp++;
+ if((iswupper(c)?towlower(c):c) != *hpp++)
+ return(0);
+ }
+ if(--cpp == pend) return(1);
+ return(0);
+}
+
+static void
+putline(const wchar_t *strt, const wchar_t *end)
+{
+ const wchar_t *cp;
+
+ for(cp=strt; cp<end; cp++)
+ PUTC(*cp, sortptr);
+ /* Add extra blank before TILDE to sort correctly
+ with -fd option */
+ putc(' ',sortptr);
+ putc(TILDE,sortptr);
+ for (cp=line; cp<strt; cp++)
+ PUTC(*cp,sortptr);
+ putc('\n',sortptr);
+}
+
+static void
+getsort(void)
+{
+ register int c;
+ register wchar_t *tilde = NULL, *linep, *ref;
+ wchar_t *p1a,*p1b,*p2a,*p2b,*p3a,*p3b,*p4a,*p4b;
+ int w;
+
+ if((sortptr = fopen(sortfile,"r")) == NULL)
+ diag("Cannot open sorted data:",sortfile);
+
+ halflen = (llen-gutter)/2;
+ linep = line;
+ while((c = GETC(sortptr)) != EOF) {
+ switch(c) {
+
+ case TILDE:
+ tilde = linep;
+ break;
+
+ case '\n':
+ while(iswspace(linep[-1]))
+ linep--;
+ ref = tilde;
+ if(rflag) {
+ while(ref<linep&&!iswspace(*ref))
+ ref++;
+ *ref++ = 0;
+ }
+ /* the -1 is an overly conservative test to leave
+ space for the / that signifies truncation*/
+ p3b = rtrim(p3a=line,tilde,halflen-1);
+ if(p3b-p3a>halflen-1)
+ p3b = p3a+halflen-1;
+ p2a = ltrim(ref,p2b=linep,halflen-1);
+ if(p2b-p2a>halflen-1)
+ p2a = p2b-halflen-1;
+ p1b = rtrim(p1a=p3b+(iswspace(p3b[0])!=0),tilde,
+ w=halflen-(p2b-p2a)-gap);
+ if(p1b-p1a>w)
+ p1b = p1a;
+ p4a = ltrim(ref,p4b=p2a-(iswspace(p2a[-1])!=0),
+ w=halflen-(p3b-p3a)-gap);
+ if(p4b-p4a>w)
+ p4a = p4b;
+ fprintf(outptr,".xx \"");
+ putout(p1a,p1b);
+ /* tilde-1 to account for extra space before TILDE */
+ if(p1b!=(tilde-1) && p1a!=p1b)
+ fprintf(outptr,"/");
+ fprintf(outptr,"\" \"");
+ if(p4a==p4b && p2a!=ref && p2a!=p2b)
+ fprintf(outptr,"/");
+ putout(p2a,p2b);
+ fprintf(outptr,"\" \"");
+ putout(p3a,p3b);
+ /* ++p3b to account for extra blank after TILDE */
+ /* ++p3b to account for extra space before TILDE */
+ if(p1a==p1b && ++p3b!=tilde)
+ fprintf(outptr,"/");
+ fprintf(outptr,"\" \"");
+ if(p1a==p1b && p4a!=ref && p4a!=p4b)
+ fprintf(outptr,"/");
+ putout(p4a,p4b);
+ if(rflag)
+ fprintf(outptr,"\" %" L "s\n",tilde);
+ else
+ fprintf(outptr,"\"\n");
+ linep = line;
+ break;
+
+ case '"':
+ /* put double " for " */
+ *linep++ = c;
+ default:
+ *linep++ = c;
+ }
+ }
+}
+
+static wchar_t *
+rtrim(const wchar_t *a,const wchar_t *c,int d)
+{
+ const wchar_t *b,*x;
+ b = c;
+ for(x=a+1; x<=c&&x-a<=d; x++)
+ if((x==c||iswspace(x[0]))&&!isspace(x[-1]))
+ b = x;
+ if(b<c&&!iswspace(b[0]))
+ b++;
+ return((wchar_t *)b);
+}
+
+static wchar_t *
+ltrim(const wchar_t *c,const wchar_t *b,int d)
+{
+ const wchar_t *a,*x;
+ a = c;
+ for(x=b-1; x>=c&&b-x<=d; x--)
+ if(!iswspace(x[0])&&(x==c||isspace(x[-1])))
+ a = x;
+ if(a>c&&!iswspace(a[-1]))
+ a--;
+ return((wchar_t *)a);
+}
+
+static void
+putout(const wchar_t *strt,const wchar_t *end)
+{
+ const wchar_t *cp;
+
+ cp = strt;
+
+ for(cp=strt; cp<end; cp++) {
+ PUTC(*cp,outptr);
+ }
+}
+
+static void
+onintr(int st)
+{
+
+ if(*sortfile)
+ unlink(sortfile);
+ exit(st);
+}
+
+static int
+hash(const wchar_t *strtp,const wchar_t *endp)
+{
+ const wchar_t *cp;
+ int c, i, j, k;
+
+ /* Return zero hash number for single letter words */
+ if((endp - strtp) == 1)
+ return(0);
+
+ cp = strtp;
+ c = *cp++;
+ i = (iswupper(c)?towlower(c):c);
+ c = *cp;
+ j = (iswupper(c)?towlower(c):c);
+ i = i*j;
+ cp = --endp;
+ c = *cp--;
+ k = (iswupper(c)?towlower(c):c);
+ c = *cp;
+ j = (iswupper(c)?towlower(c):c);
+ j = k*j;
+
+ k = (i ^ (j>>2)) & MASK;
+ return(k);
+}
+
+static int
+storeh(int num,const wchar_t *strtp)
+{
+ int i;
+
+ for(i=num; i<MAXT; i++) {
+ if(hasht[i] == 0) {
+ hasht[i] = strtp;
+ return(0);
+ }
+ }
+ for(i=0; i<num; i++) {
+ if(hasht[i] == 0) {
+ hasht[i] = strtp;
+ return(0);
+ }
+ }
+ return(1);
+}
diff --git a/refer/Makefile.mk b/refer/Makefile.mk
new file mode 100644
index 0000000000000..b4c678517e901
--- /dev/null
+++ b/refer/Makefile.mk
@@ -0,0 +1,128 @@
+ROBJ = glue1.o refer1.o refer2.o refer4.o refer5.o refer6.o mkey3.o \
+ refer7.o refer8.o hunt2.o hunt3.o deliv2.o hunt5.o hunt6.o \
+ hunt8.o glue3.o hunt7.o hunt9.o glue2.o glue4.o glue5.o refer0.o \
+ shell.o version.o
+AOBJ = addbib.o version.o
+LOBJ = lookbib.o version.o
+SOBJ = sortbib.o version.o
+MOBJ = mkey1.o mkey2.o mkey3.o deliv2.o version.o
+IOBJ = inv1.o inv2.o inv3.o inv5.o inv6.o deliv2.o version.o
+HOBJ = hunt1.o hunt2.o hunt3.o hunt5.o hunt6.o hunt7.o glue5.o refer3.o \
+ hunt9.o shell.o deliv2.o hunt8.o glue4.o tick.o version.o
+
+
+FLAGS = -DMACDIR='"$(MACDIR)"' -DREFDIR='"$(REFDIR)"' $(EUC) $(DEFINES) \
+ -I../include
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: refer addbib lookbib sortbib roffbib indxbib mkey inv hunt papers/runinv
+
+refer: $(ROBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(ROBJ) $(LIBS) -o $@
+
+addbib: $(AOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(AOBJ) $(LIBS) -o $@
+
+lookbib: $(LOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(LOBJ) $(LIBS) -o $@
+
+sortbib: $(SOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(SOBJ) $(LIBS) -o $@
+
+mkey: $(MOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(MOBJ) $(LIBS) -o $@
+
+inv: $(IOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(IOBJ) $(LIBS) -o $@
+
+hunt: $(HOBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(HOBJ) $(LIBS) -o $@
+
+indxbib: indxbib.sh
+ rm -f $@
+ echo '#!$(SHELL)' >$@
+ sed 's:@REFDIR@:$(REFDIR):g' indxbib.sh >>$@
+
+roffbib: roffbib.sh
+ rm -f $@
+ echo '#!$(SHELL)' >$@
+ sed 's:@BINDIR@:$(BINDIR):g' roffbib.sh >>$@
+
+papers/runinv: papers/runinv.sh
+ rm -f $@
+ echo '#!$(SHELL)' >$@
+ sed 's:@REFDIR@:$(REFDIR):g' papers/runinv.sh >>$@
+
+install: all
+ for i in refer addbib lookbib sortbib; \
+ do \
+ $(INSTALL) -c $$i $(ROOT)$(BINDIR)/$$i || exit; \
+ $(STRIP) $(ROOT)$(BINDIR)/$$i || exit; \
+ done
+ $(INSTALL) -c roffbib $(ROOT)$(BINDIR)/roffbib
+ $(INSTALL) -c indxbib $(ROOT)$(BINDIR)/indxbib
+ test -d $(ROOT)$(REFDIR) || mkdir -p $(ROOT)$(REFDIR)
+ for i in hunt inv mkey; \
+ do \
+ $(INSTALL) -c $$i $(ROOT)$(REFDIR)/$$i || exit; \
+ $(STRIP) $(ROOT)$(REFDIR)/$$i || exit; \
+ done
+ test -d $(ROOT)$(REFDIR)/papers || mkdir -p $(ROOT)$(REFDIR)/papers
+ $(INSTALL) -c -m 644 \
+ papers/Rbstjissue $(ROOT)$(REFDIR)/papers/Rbstjissue
+ $(INSTALL) -c -m 644 papers/Rv7man $(ROOT)$(REFDIR)/papers/Rv7man
+ $(INSTALL) -c papers/runinv $(ROOT)$(REFDIR)/papers/runinv
+ cd $(ROOT)$(REFDIR)/papers && PATH=$(ROOT)$(REFDIR):$$PATH ./runinv
+ for i in addbib.1 lookbib.1 refer.1 roffbib.1 sortbib.1; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(MANDIR)/man1/$$i || exit; \
+ done
+ rm -f $(ROOT)$(MANDIR)/man1/indxbib.1
+ ln -s lookbib.1 $(ROOT)$(MANDIR)/man1/indxbib.1
+
+clean:
+ rm -f $(ROBJ) refer $(AOBJ) addbib $(LOBJ) lookbib \
+ $(SOBJ) sortbib roffbib indxbib $(MOBJ) mkey \
+ $(IOBJ) inv $(HOBJ) hunt papers/runinv core log *~
+
+mrproper: clean
+
+addbib.o: addbib.c
+deliv2.o: deliv2.c refer..c
+glue1.o: glue1.c refer..c
+glue2.o: glue2.c refer..c
+glue3.o: glue3.c refer..c
+glue4.o: glue4.c refer..c
+glue5.o: glue5.c refer..c
+hunt1.o: hunt1.c refer..c
+hunt2.o: hunt2.c refer..c
+hunt3.o: hunt3.c refer..c
+hunt5.o: hunt5.c
+hunt6.o: hunt6.c refer..c
+hunt7.o: hunt7.c refer..c
+hunt8.o: hunt8.c refer..c
+hunt9.o: hunt9.c
+inv1.o: inv1.c refer..c
+inv2.o: inv2.c refer..c
+inv3.o: inv3.c
+inv5.o: inv5.c refer..c
+inv6.o: inv6.c refer..c
+lookbib.o: lookbib.c
+mkey1.o: mkey1.c refer..c
+mkey2.o: mkey2.c refer..c
+mkey3.o: mkey3.c refer..c
+refer0.o: refer0.c refer..c
+refer1.o: refer1.c refer..c
+refer2.o: refer2.c refer..c
+refer3.o: refer3.c refer..c
+refer4.o: refer4.c refer..c
+refer5.o: refer5.c refer..c
+refer6.o: refer6.c refer..c
+refer7.o: refer7.c refer..c
+refer8.o: refer8.c refer..c
+shell.o: shell.c
+sortbib.o: sortbib.c
+tick.o: tick.c
+version.o: version.c
diff --git a/refer/addbib.1 b/refer/addbib.1
new file mode 100644
index 0000000000000..c8aac57d3bb85
--- /dev/null
+++ b/refer/addbib.1
@@ -0,0 +1,195 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Sccsid @(#)addbib.1b 1.4 (gritter) 12/12/05
+.\"
+.\"
+.\" from 4.3BSD-Tahoe addbib.1 6.1 (Berkeley) 4/29/85
+.\"
+.\".TH ADDBIB 1 "April 29, 1985"
+.Dd December 12, 2005
+.Dt ADDBIB 1
+.Os
+.Sh NAME
+.Nm addbib
+.Nd create or extend bibliographic database
+.Sh SYNOPSIS
+.Nm
+.Op Fl p Ar promptfile
+.Op Fl a
+.Ar database
+.Sh DESCRIPTION
+When this program starts up, answering
+.Sq y
+to the initial
+.Dq Instructions?
+prompt yields directions; typing
+.Sq n
+or
+.Cm RETURN
+skips them.
+.Nm
+then prompts for various bibliographic fields, reads responses from the
+terminal, and sends output records to a
+.Ar database .
+A null response
+.Aq just Cm RETURN
+means to leave out that field. A minus sign
+.Aq -
+means to go back to the previous field. A trailing backslash allows a field to
+be continued on the next line. The repeating
+.Dq Continue?
+prompt allows the user either to resume by typing
+.Sq y
+or
+.Cm RETURN ,
+to quit the current session by typing
+.Sq n
+or
+.Sq q ,
+or to edit the
+.Ar database
+with any system editor
+.Aq Cm vi , Cm ex , Cm edit , Cm ed ,
+.Pp
+The
+.Fl a
+option suppresses prompting for an abstract; asking for an abstract is the
+default. Abstracts are ended with a
+.Cm CTRL-d .
+The
+.Fl p
+option causes
+.Nm
+to use a new prompting skeleton, defined in
+.Ar promptfile .
+This file should contain prompt strings, a tab, and the key-letters to be
+written to the
+.Ar database .
+.Pp
+The most common key-letters and their meanings are given below.
+.Nm
+insulates you from these key-letters, since it gives you prompts in English,
+but if you edit the bibliography file later on, you will need to know this
+information.
+.Bl -column "Col1, Col2"
+.It Sx \&%A Ta Author's name
+.It Sx \&%B Ta Book containing article referenced
+.It Sx \&%C Ta City (place of publication)
+.It Sx \&%D Ta Date of publication
+.It Sx \&%E Ta Editor of book containing article referenced
+.It Sx \&%F Ta Footnote number or label (supplied by Cm refer )
+.It Sx \&%G Ta Government order number
+.It Sx \&%H Ta Header commentary, printed before reference
+.It Sx \&%I Ta Issuer (publisher)
+.It Sx \&%J Ta Journal containing article
+.It Sx \&%K Ta Keywords to use in locating reference
+.It Sx \&%L Ta Label field used by Fl k
+option of
+.Cm refer
+.It Sx \&%M Ta Bell Labs Memorandum (undefined)
+.It Sx \&%N Ta Number within volume
+.It Sx \&%O Ta Other commentary, printed at end of reference
+.It Sx \&%P Ta Page number(s)
+.It Sx \&%Q Ta Corporate or Foreign Author (unreversed)
+.It Sx \&%R Ta Report, paper, or thesis (unpublished)
+.It Sx \&%S Ta Series title
+.It Sx \&%T Ta Title of article or book
+.It Sx \&%V Ta Volume number
+.It Sx \&%X Ta Abstract \(em used by Cm roffbib ,
+not by
+.Cm refer
+.It Sx %Y,Z Ta ignored by Cm refer
+.El
+.sp
+Except for
+.Sq A ,
+each field should be given just once. Only relevant fields should be supplied.
+An example is:
+.Bl -column "Col1, Col2"
+.It Sx \&%A Ta Bill Tuthill
+.It Sx \&%T Ta Refer \(em A Bibliography System
+.It Sx \&%I Ta Computing Services
+.It Sx \&%C Ta Berkeley
+.It Sx \&%D Ta 1982
+.It Sx \&%O Ta Cm UNX 4.3.5.
+.El
+.Sh FILES
+.Bl -tag -width promptfile
+.It promptfile
+optional file to define prompting
+.El
+.Sh SEE ALSO
+.Xr indxbib 1 ,
+.Xr lookbib 1 ,
+.Xr refer 1 ,
+.Xr roffbib 1 ,
+.Xr sortbib 1
+.Sh NOTES
+Written by Al Stangenberger & Bill Tuthill.
diff --git a/refer/addbib.c b/refer/addbib.c
new file mode 100644
index 0000000000000..1bb82bd95f1bf
--- /dev/null
+++ b/refer/addbib.c
@@ -0,0 +1,316 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "addbib.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)addbib.c 1.3 (gritter) 10/22/05
+ */
+
+
+#include <locale.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <signal.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
+#define MAXENT 50
+
+static struct skeleton {
+ char prompt[20]; /* prompt user for entry */
+ char keylet[5]; /* key letter for database */
+} bibskel[MAXENT] = {
+ { " Author:", "%A" },
+ { " Title:", "%T" },
+ { " Journal:", "%J" },
+ { " Volume:", "%V" },
+ { " Pages:", "%P" },
+ { "Publisher:", "%I" },
+ { " City:", "%C" },
+ { " Date:", "%D" },
+ { " Other:", "%O" },
+ { " Keywords:", "%K" }
+};
+
+static int entries = 10; /* total number of entries in bibskel */
+static int abstract = 1; /* asking for abstracts is the default */
+
+static void usage(void);
+static void addbib(FILE *, char *);
+static void trim(char *);
+static void bibedit(FILE *, char *, char *);
+static void instruct(void);
+static void rd_skel(char *);
+
+static void
+usage(void) /* print proper usage and exit */
+{
+ puts("Usage: addbib [-p promptfile] [-a] database\n\
+\t-p: the promptfile defines alternate fields\n\
+\t-a: don't include prompting for the abstract\n");
+ exit(1);
+}
+
+int
+main(int argc, char **argv) /* addbib: bibliography entry program */
+{
+ FILE *fp;
+ int i;
+
+ if (argc == 1)
+ {
+ puts("You must specify a bibliography file (database).");
+ usage();
+ }
+ for (i = 1; argv[i][0] == '-'; i++)
+ {
+ if (argv[i][1] == 'p')
+ {
+ if (i >= argc - 2)
+ {
+ puts("Not enough arguments for -p option.");
+ usage();
+ }
+ rd_skel(argv[++i]);
+ }
+ else if (argv[i][1] == 'a')
+ {
+ if (i >= argc - 1)
+ {
+ puts("No bibliofile specified after -a.");
+ usage();
+ }
+ abstract = 0;
+ }
+ else /* neither -p nor -a */
+ {
+ printf("Invalid command line flag: %s\n", argv[i]);
+ usage();
+ }
+ }
+ if (i < argc - 1)
+ {
+ puts("Too many arguments with no options.");
+ usage();
+ }
+ if ((fp = fopen(argv[i], "a")) == NULL)
+ {
+ perror(argv[i]);
+ exit(1);
+ }
+ addbib(fp, argv[i]); /* loop for input */
+ return 0;
+}
+
+static void
+addbib(FILE *fp, char *argv) /* add entries to a bibliographic database */
+{
+ char line[BUFSIZ];
+ int i = 0, firstln;
+
+ printf("Instructions? ");
+ fgets(line, BUFSIZ, stdin);
+ if (line[0] == 'y' || line[0] == 'Y')
+ instruct();
+ while (1)
+ {
+ putchar('\n');
+ putc('\n', fp);
+ for (i = 0; i < entries; i++)
+ {
+ printf("%s\t", bibskel[i].prompt);
+ if (fgets(line, BUFSIZ, stdin) == NULL)
+ {
+ clearerr(stdin);
+ break;
+ }
+ if (line[0] == '-' && line[1] == '\n')
+ {
+ i -= 2;
+ if (i < -1)
+ {
+ printf("Too far back.\n");
+ i++;
+ }
+ continue;
+ }
+ else if (line[strlen(line)-2] == '\\')
+ {
+ if (line[0] != '\\')
+ {
+ line[strlen(line)-2] = '\n';
+ line[strlen(line)-1] = 0;
+ trim(line);
+ fprintf(fp, "%s %s",
+ bibskel[i].keylet, line);
+ }
+ printf("> ");
+ again:
+ fgets(line, BUFSIZ, stdin);
+ if (line[strlen(line)-2] == '\\')
+ {
+ line[strlen(line)-2] = '\n';
+ line[strlen(line)-1] = 0;
+ trim(line);
+ fputs(line, fp);
+ printf("> ");
+ goto again;
+ }
+ trim(line);
+ fputs(line, fp);
+ }
+ else if (line[0] != '\n')
+ {
+ trim(line);
+ fprintf(fp, "%s %s", bibskel[i].keylet, line);
+ }
+ }
+ if (abstract)
+ {
+ puts(" Abstract: (ctrl-d to end)");
+ firstln = 1;
+ while (fgets(line, BUFSIZ, stdin))
+ {
+ if (firstln && line[0] != '%')
+ {
+ fprintf(fp, "%%X ");
+ firstln = 0;
+ }
+ fputs(line, fp);
+ }
+ clearerr(stdin);
+ }
+ fflush(fp); /* write to file at end of each cycle */
+ if (ferror(fp))
+ {
+ perror(argv);
+ exit(1);
+ }
+ editloop:
+ printf("\nContinue? ");
+ fgets(line, BUFSIZ, stdin);
+ if (line[0] == 'e' || line[0] == 'v')
+ {
+ bibedit(fp, line, argv);
+ goto editloop;
+ }
+ if (line[0] == 'q' || line[0] == 'n')
+ return;
+ }
+}
+
+static void
+trim(char *line) /* trim line of trailing white space */
+{
+ int n;
+
+ n = strlen(line);
+ while (--n >= 0)
+ {
+ if (!isspace((int)line[n]))
+ break;
+ }
+ line[++n] = '\n';
+ line[++n] = 0;
+}
+
+static void
+bibedit(FILE *fp, char *cmd, char *arg) /* edit database with edit, ex, or vi */
+{
+ int i = 0, status, pid;
+
+ fclose(fp);
+ while (!isspace((int)cmd[i]))
+ i++;
+ cmd[i] = 0;
+ if ((pid = fork()) == 0)
+ {
+ if (cmd[0] == 'v' && cmd[1] == 'i')
+ execlp(cmd, cmd, "+$", arg, NULL);
+ else /* either ed, ex, or edit */
+ execlp(cmd, cmd, arg, NULL);
+ }
+ signal(SIGINT, SIG_IGN);
+ signal(SIGQUIT, SIG_IGN);
+ while (wait(&status) != pid);
+ signal(SIGINT, SIG_DFL);
+ signal(SIGQUIT, SIG_DFL);
+ if ((fp = fopen(arg, "a")) == NULL)
+ {
+ perror(arg);
+ exit(1);
+ }
+}
+
+static void
+instruct(void) /* give user elementary directions */
+{
+ putchar('\n');
+ puts("Addbib will prompt you for various bibliographic fields.\n"
+"If you don't need a particular field, just hit RETURN,\n"
+"\tand that field will not appear in the output file.\n"
+"If you want to return to previous fields in the skeleton,\n"
+"\ta single minus sign will go back a field at a time.\n"
+"\t(This is the best way to input multiple authors.)\n"
+"If you have to continue a field or add an unusual field,\n"
+"\ta trailing backslash will allow a temporary escape.\n"
+"Finally, (without -a) you will be prompted for an abstract\n"
+"Type in as many lines as you need, and end with a ctrl-d.\n"
+"To quit, type `q' or `n' when asked if you want to continue.\n"
+"To edit the database, type `edit', `vi', or `ex' instead.");
+
+}
+
+static void
+rd_skel(char *arg) /* redo bibskel from user-supplied file */
+{
+ FILE *pfp;
+ char str[BUFSIZ];
+ int entry, i, j;
+
+ if ((pfp = fopen(arg, "r")) == NULL)
+ {
+ fprintf(stderr, "Promptfile ");
+ perror(arg);
+ exit(1);
+ }
+ for (entry = 0; fgets(str, BUFSIZ, pfp); entry++)
+ {
+ for (i = 0; str[i] != '\t' && str[i] != '\n'; i++)
+ bibskel[entry].prompt[i] = str[i];
+ bibskel[entry].prompt[i] = 0;
+ if (str[i] == '\n')
+ {
+ fprintf(stderr, "No tabs between promptfile fields.\n");
+ fprintf(stderr, "Format: prompt-string <TAB> %%key\n");
+ exit(1);
+ }
+ for (i++, j = 0; str[i] != '\n'; i++, j++)
+ bibskel[entry].keylet[j] = str[i];
+ bibskel[entry].keylet[j] = 0;
+
+ if (entry >= MAXENT)
+ {
+ fprintf(stderr, "Too many entries in promptfile.\n");
+ exit(1);
+ }
+ }
+ entries = entry;
+ fclose(pfp);
+}
diff --git a/refer/deliv2.c b/refer/deliv2.c
new file mode 100644
index 0000000000000..4d1682b304549
--- /dev/null
+++ b/refer/deliv2.c
@@ -0,0 +1,84 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "deliv2.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)deliv2.c 1.3 (gritter) 10/22/05
+ */
+
+
+#include <stdio.h>
+#include <locale.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include "refer..c"
+
+int
+hash (const char *s)
+{
+ int c, n;
+ for(n=0; (c= *s); s++)
+ n += (c*n+ (c << (unsigned)n%4));
+ return(n>0 ? n : -n);
+}
+
+void
+err (const char *s, ...)
+{
+ va_list ap;
+ fprintf(stderr, "Error: ");
+ va_start(ap, s);
+ vfprintf(stderr, s, ap);
+ va_end(ap);
+ putc('\n', stderr);
+ exit(1);
+}
+
+int
+prefix(const char *t, const char *s)
+{
+ int c;
+
+ while ((c= *t++) == *s++)
+ if (c==0) return(1);
+ return(c==0 ? 1: 0);
+}
+
+char *
+mindex(const char *s, int c)
+{
+ register const char *p;
+ for( p=s; *p; p++)
+ if (*p ==c)
+ return((char *)p);
+ return(0);
+}
+
+void *
+zalloc(int m,int n)
+{
+ void *
+# if D1
+ fprintf(stderr, "calling calloc for %d*%d bytes\n",m,n);
+# endif
+ t = calloc(m,n);
+# if D1
+ fprintf(stderr, "calloc returned %p\n", t);
+# endif
+ return(t);
+}
diff --git a/refer/glue1.c b/refer/glue1.c
new file mode 100644
index 0000000000000..4b1d789ad46f7
--- /dev/null
+++ b/refer/glue1.c
@@ -0,0 +1,324 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+
+/* from OpenSolaris "glue1.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glue1.c 1.4 (gritter) 9/7/08
+ */
+
+#include <stdio.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <limits.h>
+#include "refer..c"
+#define unopen(fil) {if (fil!=NULL) {fclose(fil); fil=NULL;}}
+
+extern char refdir[];
+int lmaster = 1000;
+int reached = 0;
+FILE *fd = 0;
+int *hfreq, hfrflg;
+int colevel = 0;
+static union firetruck {
+ unsigned *a;
+ long *b;
+} master;
+int iflong;
+extern char *fgnames[], **fgnamp;
+int prfreqs = 0;
+int typeindex = 0;
+char usedir[PATH_MAX];
+static int full = 1000;
+static int tags = 0;
+char *sinput, *soutput, *tagout;
+long indexdate = 0;
+int soutlen = 1000;
+int taglen = 1000;
+
+void
+huntmain(int argc,char **argv)
+{
+ /* read query from stdin, expect name of indexes in argv[1] */
+ static FILE *fa, *fb, *fc;
+ char indexname[PATH_MAX], *qitem[100], *rprog = 0;
+ char grepquery[200];
+ static char oldname[30] ;
+ static int nhash = 0;
+ static int maxhash = 0;
+ int falseflg = 0, nitem, nfound, frtbl;
+ static long *hpt = 0;
+ unsigned *masterp;
+
+# if D1
+ fprintf(stderr, "in glue1 argc %d argv %o %o\n", argc, argv[0],argv[1]);
+# endif
+ savedir();
+ while (argv[1][0] == '-')
+ {
+# if D1
+ fprintf(stderr, "argv.1 is %s\n",argv[1]);
+# endif
+ switch(argv[1][1])
+ {
+ case 'a': /* all output, incl. false drops */
+ falseflg = 1;
+ break;
+ case 'r':
+ argc--;
+ argv++;
+ rprog = argv[1];
+ break;
+ case 'F': /* put out full text */
+ full = setfrom(argv[1][2]);
+ break;
+ case 'T': /* put out tags */
+ tags = setfrom(argv[1][2]);
+ break;
+ case 'i': /* input in argument string */
+ argc--;
+ argv++;
+ sinput = argv[1];
+ break;
+ case 's': /*text output to string */
+ case 'o':
+ argc--;
+ argv++;
+ soutput = argv[1];
+ if ((intptr_t) argv[2]<16000)
+ {
+ soutlen = (intptr_t) argv[2];
+ argc--;
+ argv++;
+ }
+ break;
+ case 't': /*tag output to string */
+ argc--;
+ argv++;
+ tagout = argv[1];
+ if ((intptr_t)argv[2]<16000)
+ {
+ taglen = (intptr_t)argv[2];
+ argc--;
+ argv++;
+ }
+ break;
+ case 'l': /* specify length of lists */
+ argc--;
+ argv++;
+ lmaster = atoi(argv[1]);
+# if D1
+ fprintf(stderr, "lmaster now %d\n",lmaster);
+# endif
+ break;
+ case 'C':
+ argc--;
+ argv++;
+ colevel = atoi(argv[1]);
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ n_strcpy (indexname, todir(argv[1]), sizeof(indexname));
+# if D1
+ fprintf(stderr, "in huntmain indexname %s typeindex %d\n", indexname, typeindex);
+# endif
+ if (typeindex == 0 || strcmp (oldname, indexname) !=0)
+ {
+ n_strcpy (oldname, indexname, sizeof(oldname));
+ unopen(fa);
+ unopen(fb);
+ unopen(fc);
+
+ if (ckexist(indexname, ".ib"))
+ {
+# if D1
+ fprintf(stderr, "found old index\n");
+# endif
+ fa = iopen(indexname, ".ia");
+ fb = iopen(indexname, ".ib");
+ fc = iopen(indexname, ".ic");
+ typeindex =1;
+# if D1
+ fprintf(stderr, "opened f's as %o %o %o\n",fa,fb,fc);
+# endif
+ indexdate = gdate(fb);
+ fread (&nhash, sizeof(nhash), 1, fa);
+ fread (&iflong, sizeof(iflong), 1, fa);
+ if (nhash > maxhash)
+ {
+ if (hpt)
+ free (hpt);
+ hpt=0;
+ if (hfreq)
+ free(hfreq);
+ hfreq=0;
+ maxhash=nhash;
+# if D1
+ fprintf(stderr, "Freed if needed maxhash %d\n",maxhash);
+# endif
+ }
+ if (hpt==0)
+ hpt = zalloc(nhash, sizeof(*hpt));
+# if D1
+ fprintf(stderr, "hpt now %o\n",hpt);
+# endif
+ if (hpt == NULL)
+ err("No space for hash list (%d)", nhash);
+ fread( hpt, sizeof(*hpt), nhash, fa);
+ if (hfreq==0)
+ hfreq=zalloc(nhash, sizeof(*hfreq));
+ if (hfreq==NULL)
+ err("No space for hash frequencies (%d)",
+ nhash);
+ frtbl = fread(hfreq, sizeof(*hfreq), nhash, fa);
+ hfrflg = (frtbl == nhash);
+# if D1
+ fprintf(stderr,"Read pointer files\n");
+# endif
+ if (master.a == NULL)
+ {
+ if (iflong)
+ master.b = zalloc(lmaster, sizeof(long));
+ else
+ master.a = zalloc(lmaster, sizeof(int));
+ }
+ if (master.a == NULL)
+ err("no space for answer list", 0);
+ }
+ else
+ if (makefgrep(indexname))
+ typeindex=2;
+ else
+ {
+ err("No files %s\n", indexname);
+ exit(1);
+ }
+ }
+
+ if (iflong)
+ masterp = (unsigned *) master.b;
+ else
+ masterp = master.a;
+
+# if D1
+ fprintf(stderr, "typeindex now %d\n",typeindex);
+# endif
+ tagout[0]=0;
+ if (typeindex==2)
+ {
+ grepcall(sinput, tagout, indexname);
+# if D1
+ fprintf(stderr, " back from grepcall\n");
+# endif
+ restodir();
+ return;
+ }
+ nitem = getq(qitem);
+# if D1
+ fprintf(stderr, "approaching doquery fb %o\n", fb);
+# endif
+ nfound = doquery(hpt, nhash, fb, nitem, qitem, masterp);
+# ifdef D1
+ fprintf(stderr, "return from doquery with nfound %d\n", nfound);
+# endif
+ if (falseflg == 0)
+ nfound = baddrop(masterp, nfound, fc, nitem, qitem, rprog, full);
+# ifdef D1
+ fprintf(stderr, "after baddrop with nfound %d\n",nfound);
+ fprintf(stderr, "tagout is /%s/, sout /%s/\n",tagout, soutput);
+# endif
+ if (tags)
+ result (masterp, nfound >tags ? tags : nfound, fc);
+# if D1
+ fprintf(stderr, "done with huntmain\n");
+ fprintf(stderr, "tagout is /%s/\n", tagout);
+ fprintf(stderr, "string out is /%s/\n", soutput);
+# endif
+ if (fgnamp>fgnames)
+ {
+ char **fgp;
+ int k;
+# if D1
+ fprintf(stderr, "were %d bad files\n", fgnamp-fgnames);
+# endif
+ grepquery[0]=0;
+ for(k=0; k<nitem; k++)
+ {
+ n_strcat(grepquery, " ", sizeof(grepquery));
+ n_strcat(grepquery, qitem[k], sizeof(grepquery));
+ }
+ for(fgp=fgnames; fgp<fgnamp; fgp++)
+ {
+# if D1
+ fprintf(stderr, "Now on %s query /%s/\n", *fgp, grepquery);
+# endif
+ makefgrep(*fgp);
+ grepcall(grepquery, tagout, *fgp);
+# if D1
+ fprintf(stderr, "tagout now /%s/\n", tagout);
+# endif
+ }
+ }
+ restodir();
+}
+
+char *
+todir(char *t)
+{
+ char *s;
+
+ usedir[0] = 0;
+ s=t;
+ while (*s) s++;
+ while (s>=t && *s != '/') s--;
+ if (s<t) return(t);
+ *s++ = 0;
+ t = (*t ? t : "/");
+ chdir (t);
+ n_strcpy (usedir,t,sizeof(usedir));
+ return(s);
+}
+
+int
+setfrom(int c)
+{
+ switch(c)
+ {
+ case 'y':
+ case '\0':
+ default:
+ return(1000);
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ return(c-'0');
+ case 'n':
+ case '0':
+ return(0);
+ }
+}
diff --git a/refer/glue2.c b/refer/glue2.c
new file mode 100644
index 0000000000000..1b380bf2a9bd6
--- /dev/null
+++ b/refer/glue2.c
@@ -0,0 +1,41 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "glue2.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glue2.c 1.3 (gritter) 10/22/05
+ */
+
+#include <unistd.h>
+#include "refer..c"
+
+
+char refdir[4096];
+
+void
+savedir(void)
+{
+ if (refdir[0]==0)
+ getcwd(refdir, sizeof refdir);
+}
+
+void
+restodir(void)
+{
+ chdir(refdir);
+}
diff --git a/refer/glue3.c b/refer/glue3.c
new file mode 100644
index 0000000000000..24db28dd08bbd
--- /dev/null
+++ b/refer/glue3.c
@@ -0,0 +1,126 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* from OpenSolaris "glue3.c 1.7 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glue3.c 1.5 (gritter) 9/7/08
+ */
+
+
+#include "refer..c"
+#include <string.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#define move(x, y) close(y); dup(x); close(x);
+
+int
+corout(char *in, char *out, char *rprog, char *arg, int outlen)
+{
+ int pipev[2], fr1, fr2, fw1, fw2, n;
+ int pid;
+
+# if D1
+ fprintf(stderr, "in corout, rprog /%s/ in /%s/\n",
+ rprog ? rprog : "", strlen(in) ? in : "");
+# endif
+
+ if (strcmp (rprog, "hunt") ==0)
+ return(callhunt(in, out, arg, outlen));
+ if (strcmp (rprog, "deliv")==0)
+ return(dodeliv(in, out, arg, outlen));
+ pipe (pipev);
+ fr1= pipev[0];
+ fw1 = pipev[1];
+ pipe (pipev);
+ fr2= pipev[0];
+ fw2 = pipev[1];
+ if ((pid = fork())==0)
+ {
+ close (fw1);
+ close (fr2);
+ move (fr1, 0);
+ move (fw2, 1);
+ if (rprog[0]!= '/')
+ chdir(REFDIR);
+ execl(rprog, "deliv", arg, NULL);
+ err("Can't run %s", rprog);
+ }
+ close(fw2);
+ close(fr1);
+ if (strlen(in) > 0)
+ write (fw1, in , strlen(in));
+ close(fw1);
+ while (wait(0) != pid);
+ n = read (fr2, out, outlen);
+ out[n]=0;
+ close(fr2);
+ return 0;
+}
+
+# define ALEN 50
+
+int
+callhunt(char *in, char *out, char *arg, int outlen)
+{
+ char *argv[20], abuff[ALEN];
+ int argc;
+ extern char one[];
+ extern int onelen;
+ argv[0] = "hunt";
+ argv[1] = "-i";
+ argv[2] = in;
+ argv[3] = "-t";
+ argv[4] = out;
+ argv[5] = (char *)(intptr_t)outlen;
+ argv[6] = "-T";
+ argv[7] = "-F1";
+ argv[8] = "-o";
+ argv[9] = one;
+ argv[10] = (char *)(intptr_t)onelen;
+ argv[11] = abuff;
+ if (strlen(arg) > ALEN)
+ err("abuff not big enough %d", strlen(arg));
+ strcpy (abuff,arg);
+ argc = 6;
+ huntmain (argc,argv);
+ return(0);
+}
+
+int
+dodeliv(char *in, char *out, char *arg, int outlen)
+{
+ char *mout;
+ int mlen;
+# if D1
+ fprintf(stderr, "in dodeliv, arg /%s/\n", arg?arg:"");
+# endif
+ if (arg && arg[0])
+ chdir(arg);
+
+ mlen = findline(in, &mout, outlen,0L);
+
+ if (mlen>0)
+ {
+ strncpy(out, mout, outlen);
+ free (mout);
+ }
+ restodir();
+ return 0;
+}
diff --git a/refer/glue4.c b/refer/glue4.c
new file mode 100644
index 0000000000000..4c7133429d780
--- /dev/null
+++ b/refer/glue4.c
@@ -0,0 +1,138 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "glue4.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glue4.c 1.4 (gritter) 9/7/08
+ */
+
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <string.h>
+#include "refer..c"
+
+extern char gfile[];
+extern char usedir[];
+
+int
+grepcall (char *in, char *out, char *arg)
+{
+ char line[200], *s, argig[100], *cv[50];
+ char *inp, inb[500];
+ FILE *gf;
+ int c, alph = 0, nv = 0;
+ int sv0, sv1;
+ n_strcpy (argig, arg, sizeof(argig));
+ n_strcat(argig, ".ig", sizeof(argig));
+ n_strcpy (inp=inb, in, sizeof(inb));
+ if (gfile[0]==0)
+ sprintf(gfile, "/tmp/rj%dg", (int)getpid());
+# if D1
+ fprintf(stderr, "in grepcall, gfile %s in %o out %o\n", gfile,in,out);
+# endif
+ for(cv[nv++] = "fgrep"; (c = *inp); inp++)
+ {
+ if (c== ' ')
+ c = *inp = 0;
+ else if (isupper(c))
+ *inp = tolower(c);
+ alph = (c==0) ? 0 : alph+1;
+ if (alph == 1)
+ cv[nv++] = inp;
+ if (alph > 6)
+ *inp = 0;
+ }
+# if D1
+ fprintf(stderr, "%d args set up\n", nv);
+# endif
+ {
+ sv0 = dup(0);
+ close(0);
+ if (open (argig, O_RDONLY) != 0)
+ err("Can't read fgrep index %s", argig);
+ sv1 = dup(1);
+ close(1);
+ if (creat(gfile, 0666) != 1)
+ err("Can't write fgrep output %s", gfile);
+ fgrep(nv, cv);
+# if D1
+ fprintf(stderr, "fgrep returned, output is..\n");
+# endif
+ close (0);
+ dup(sv0);
+ close(sv0);
+ close (1);
+ dup(sv1);
+ close(sv1);
+ }
+
+# if D1
+ fprintf(stderr, "back from fgrep\n");
+# endif
+ gf = fopen(gfile, "r");
+ if (gf==NULL)
+ err("can't read fgrep output %s", gfile);
+ while (fgets(line, 100, gf) == line)
+ {
+ line[100]=0;
+# if D1
+ fprintf(stderr, "read line as //%s//\n",line);
+# endif
+ for(s=line; *s && (*s != '\t'); s++);
+ if (*s == '\t')
+ {
+ *s++ = '\n';
+ *s++ = 0;
+ }
+ if (line[0]) {
+ if (usedir[0]) {
+ strcat(out, usedir);
+ strcat(out, "/");
+ }
+ strcat(out, line);
+ }
+# if D1
+ fprintf(stderr, "out now /%s/\n",out);
+# endif
+ while (*s) s++;
+# if D1
+ fprintf(stderr, "line %o s %o s-1 %o\n",line,s,s[-1]);
+# endif
+ if (s[-1]!= '\n')
+ while (!feof(gf) && getc(gf)!= '\n') ;
+ }
+ fclose(gf);
+# if D1
+ fprintf(stderr, "back from reading %, out %s\n",out);
+# else
+ unlink (gfile);
+# endif
+ return(0);
+}
+
+void
+clfgrep(void)
+{
+ if (gfile[0])
+ unlink(gfile);
+}
diff --git a/refer/glue5.c b/refer/glue5.c
new file mode 100644
index 0000000000000..85a693cb82fb0
--- /dev/null
+++ b/refer/glue5.c
@@ -0,0 +1,405 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "glue5.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glue5.c 1.4 (gritter) 10/2/07
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include "refer..c"
+/*
+ * fgrep -- print all lines containing any of a set of keywords
+ *
+ * status returns:
+ * 0 - ok, and some matches
+ * 1 - ok, but no matches
+ * 2 - some error
+ */
+#define MAXSIZ 700
+#define QSIZE 400
+struct words {
+ char inp;
+ char out;
+ struct words *nst;
+ struct words *link;
+ struct words *fail;
+}
+*www, *smax, *q;
+
+char buf[2*BUFSIZ];
+int nsucc;
+int need;
+char *instr;
+int inct;
+int rflag;
+int xargc;
+char **xargv;
+int numwords;
+int nfound;
+static int flag = 0;
+
+static void execute(void);
+static void cgotofn(void);
+static int gch(void);
+static void overflo(void);
+static void cfail(void);
+static int new(struct words *);
+
+int
+fgrep(int argc, char **argv)
+{
+ nsucc = need = inct = rflag = numwords = nfound = 0;
+ instr = 0;
+ flag = 0;
+ if (www==0)
+ www = zalloc(MAXSIZ, sizeof (*www));
+ if (www==NULL)
+ err("Can't get space for machines", 0);
+ for (q=www; q<www+MAXSIZ; q++) {
+ q->inp =0; q->out =0; q->nst =0; q->link =0; q->fail =0;
+ }
+ xargc = argc-1;
+ xargv = argv+1;
+ while (xargc>0 && xargv[0][0]=='-')
+ {
+ switch(xargv[0][1])
+ {
+ case 'r': /* return value only */
+ rflag++;
+ break;
+ case 'n': /* number of answers needed */
+ need = (intptr_t) xargv[1];
+ xargv++; xargc--;
+ break;
+ case 'i':
+ instr = xargv[1];
+ inct = (intptr_t) xargv[2]+2;
+# if D2
+fprintf(stderr,"inct %d xargv.2. %o %d\n",inct, xargv[2],xargv[2]);
+# endif
+ xargv += 2; xargc -= 2;
+ break;
+ }
+ xargv++; xargc--;
+ }
+ if (xargc<=0)
+ {
+ write (2, "bad fgrep call\n", 15);
+ exit(2);
+ }
+# if D1
+ fprintf(stderr, "before cgoto\n");
+# endif
+ cgotofn();
+# if D1
+ fprintf(stderr, "before cfail\n");
+# endif
+ cfail();
+# if D1
+ fprintf(stderr, "before execute instr %.20s\n", instr? instr: "");
+ fprintf(stderr, "end of string %d %c %c %c\n", inct,
+ instr ? instr[inct-3] : '\0',
+ instr ? instr[inct-2] : '\0',
+ instr ? instr[inct-1] : '\0');
+# endif
+ execute();
+# if D1
+ fprintf(stderr, "returning nsucc %d\n", nsucc);
+ fprintf(stderr, "fgrep done www %o\n",www);
+# endif
+ return(nsucc == 0);
+}
+
+static void
+execute(void)
+{
+ register char *p;
+ register struct words *c;
+ register int ch;
+ register int ccount;
+ int f;
+ char *nlp;
+ f=0;
+ ccount = instr ? inct : 0;
+ nfound=0;
+ p = instr ? instr : buf;
+ if (need == 0) need = numwords;
+ nlp = p;
+ c = www;
+# if D2
+fprintf(stderr, "in execute ccount %d inct %d\n",ccount, inct );
+# endif
+ for (;;) {
+# if D3
+fprintf(stderr, "down ccount\n");
+# endif
+ if (--ccount <= 0) {
+# if D2
+fprintf(stderr, "ex loop ccount %d instr %o\n",ccount, instr);
+# endif
+ if (instr) break;
+ if (p == &buf[2*BUFSIZ]) p = buf;
+ if (p > &buf[BUFSIZ]) {
+ if ((ccount = read(f, p, &buf[2*BUFSIZ] - p)) <= 0) break;
+ }
+ else if ((ccount = read(f, p, BUFSIZ)) <= 0) break;
+# if D2
+fprintf(stderr, " normal read %d bytres\n", ccount);
+{char xx[20]; sprintf(xx, "they are %%.%ds\n", ccount);
+fprintf(stderr, xx, p);
+}
+# endif
+ }
+nstate:
+ ch = *p;
+# if D2
+fprintf(stderr, "roaming along in ex ch %c c %o\n",ch,c);
+# endif
+ if (isupper(ch)) ch |= 040;
+ if (c->inp == ch) {
+ c = c->nst;
+ }
+ else if (c->link != 0) {
+ c = c->link;
+ goto nstate;
+ }
+ else {
+ c = c->fail;
+ if (c==0) {
+ c = www;
+istate:
+ if (c->inp == ch) {
+ c = c->nst;
+ }
+ else if (c->link != 0) {
+ c = c->link;
+ goto istate;
+ }
+ }
+ else goto nstate;
+ }
+ if (c->out && new (c)) {
+# if D2
+fprintf(stderr, " found: nfound %d need %d\n",nfound,need);
+# endif
+ if (++nfound >= need)
+ {
+# if D1
+fprintf(stderr, "found, p %o nlp %o ccount %d buf %o buf[2*BUFSIZ] %o\n",p,nlp,ccount,buf,buf+2*BUFSIZ);
+# endif
+ if (instr==0)
+ while (*p++ != '\n') {
+# if D3
+fprintf(stderr, "down ccount2\n");
+# endif
+ if (--ccount <= 0) {
+ if (p == &buf[2*BUFSIZ]) p = buf;
+ if (p > &buf[BUFSIZ]) {
+ if ((ccount = read(f, p, &buf[2*BUFSIZ] - p)) <= 0) break;
+ }
+ else if ((ccount = read(f, p, BUFSIZ)) <= 0) break;
+# if D2
+fprintf(stderr, " read %d bytes\n",ccount);
+{ char xx[20]; sprintf(xx, "they are %%.%ds\n", ccount);
+fprintf(stderr, xx, p);
+}
+# endif
+ }
+ }
+ nsucc = 1;
+ if (rflag==0)
+ {
+# if D2
+fprintf(stderr, "p %o nlp %o buf %o\n",p,nlp,buf);
+if (p>nlp)
+{write (2, "XX\n", 3); write (2, nlp, p-nlp); write (2, "XX\n", 3);}
+# endif
+ if (p > nlp) write(1, nlp, p-nlp);
+ else {
+ write(1, nlp, &buf[2*BUFSIZ] - nlp);
+ write(1, buf, p-&buf[0]);
+ }
+ if (p[-1]!= '\n') write (1, "\n", 1);
+ }
+ if (instr==0)
+ {
+ nlp = p;
+ c = www;
+ nfound=0;
+ }
+ }
+ else
+ ccount++;
+ continue;
+ }
+# if D2
+fprintf(stderr, "nr end loop p %o\n",p);
+# endif
+ if (instr)
+ p++;
+ else
+ if (*p++ == '\n')
+ {
+ nlp = p;
+ c = www;
+ nfound=0;
+ }
+ }
+ if (instr==0)
+ close(f);
+}
+
+static void
+cgotofn(void) {
+ register int c;
+ register struct words *s;
+ s = smax = www;
+nword:
+ for(;;) {
+# if D1
+ fprintf(stderr, " in for loop c now %o %c\n",c, c>' ' ? c : ' ');
+# endif
+ if ((c = gch())==0) return;
+ else if (c == '\n') {
+ s->out = 1;
+ s = www;
+ }
+ else {
+loop:
+ if (s->inp == c) {
+ s = s->nst;
+ continue;
+ }
+ if (s->inp == 0) goto enter;
+ if (s->link == 0) {
+ if (smax >= &www[MAXSIZ - 1]) overflo();
+ s->link = ++smax;
+ s = smax;
+ goto enter;
+ }
+ s = s->link;
+ goto loop;
+ }
+ }
+
+enter:
+ do {
+ s->inp = c;
+ if (smax >= &www[MAXSIZ - 1]) overflo();
+ s->nst = ++smax;
+ s = smax;
+ }
+ while ((c = gch()) != '\n');
+ smax->out = 1;
+ s = www;
+ numwords++;
+ goto nword;
+
+}
+
+static int
+gch(void)
+{
+ static char *s;
+ if (flag==0)
+ {
+ flag=1;
+ s = *xargv++;
+# if D1
+ fprintf(stderr, "next arg is %s xargc %d\n", xargc > 0 ? s : "", xargc);
+# endif
+ if (xargc-- <=0) return(0);
+ }
+ if (*s) return(*s++);
+ for(flag=0; flag<2*BUFSIZ; flag++)
+ buf[flag]=0;
+ flag=0;
+ return('\n');
+}
+
+static void
+overflo(void) {
+ write(2,"wordlist too large\n", 19);
+ exit(2);
+}
+static void
+cfail(void) {
+ struct words *queue[QSIZE];
+ struct words **front, **rear;
+ struct words *state;
+ register char c;
+ register struct words *s;
+ s = www;
+ front = rear = queue;
+init:
+ if ((s->inp) != 0) {
+ *rear++ = s->nst;
+ if (rear >= &queue[QSIZE - 1]) overflo();
+ }
+ if ((s = s->link) != 0) {
+ goto init;
+ }
+
+ while (rear!=front) {
+ s = *front;
+ if (front == &queue[QSIZE-1])
+ front = queue;
+ else front++;
+cloop:
+ if ((c = s->inp) != 0) {
+ *rear = (q = s->nst);
+ if (front < rear)
+ if (rear >= &queue[QSIZE-1])
+ if (front == queue) overflo();
+ else rear = queue;
+ else rear++;
+ else
+ if (++rear == front) overflo();
+ state = s->fail;
+floop:
+ if (state == 0) state = www;
+ if (state->inp == c) {
+ q->fail = state->nst;
+ if ((state->nst)->out == 1) q->out = 1;
+ continue;
+ }
+ else if ((state = state->link) != 0)
+ goto floop;
+ }
+ if ((s = s->link) != 0)
+ goto cloop;
+ }
+}
+
+static struct words *seen[50];
+static int
+new (struct words *x)
+{
+ int i;
+ for(i=0; i<nfound; i++)
+ if (seen[i]==x)
+ return(0);
+ seen[i]=x;
+ return(1);
+}
diff --git a/refer/hunt1.c b/refer/hunt1.c
new file mode 100644
index 0000000000000..01539be405289
--- /dev/null
+++ b/refer/hunt1.c
@@ -0,0 +1,316 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt1.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt1.c 1.4 (gritter) 9/7/08
+ */
+
+# include <locale.h>
+# include <stdio.h>
+# include <assert.h>
+# include <inttypes.h>
+# include <stdlib.h>
+# include <unistd.h>
+# include <string.h>
+# include <limits.h>
+# include "refer..c"
+extern char refdir[];
+extern int keepold;
+extern char *fgnames[];
+extern char **fgnamp;
+FILE *fd =NULL;
+int lmaster =500;
+int *hfreq, hfrflg;
+int colevel =0;
+int measure=0;
+int soutlen =1000;
+int reached =0;
+int iflong =0;
+int prfreqs =0;
+char usedir[PATH_MAX];
+char gfile[50];
+static int full =1000;
+static int tags =0;
+char *sinput, *soutput, *tagout;
+long indexdate =0;
+
+int
+main(int argc,char **argv)
+{
+ /* read query from stdin, expect name of indexes in argv[1] */
+ static FILE *fa, *fb, *fc;
+ char nma[PATH_MAX], nmb[PATH_MAX], nmc[PATH_MAX],
+ *qitem[100], *rprog = NULL;
+ char nmd[PATH_MAX], grepquery[256];
+ static char oldname[30] ;
+ static int was =0;
+ /* these pointers are unions of pointer to int and pointer to long */
+ long *hpt = 0;
+ unsigned *master =0;
+ int falseflg, nhash, nitem, nfound = 0, frtbl, kk;
+
+ /* special wart for refpart: default is tags only */
+
+ falseflg = 0;
+
+ while (argc > 1 && argv[1][0] == '-')
+ {
+ switch(argv[1][1])
+ {
+ case 'a': /* all output, incl. false drops */
+ falseflg = 1;
+ break;
+ case 'r':
+ argc--;
+ argv++;
+ rprog = argv[1];
+ break;
+ case 'F': /* put out full text */
+ full = setfrom(argv[1][2]);
+ break;
+ case 'T': /* put out tags */
+ tags = setfrom(argv[1][2]);
+ break;
+ case 'i': /* input in argument string */
+ argc--;
+ argv++;
+ sinput = argv[1];
+ break;
+ case 's': /*text output to string */
+ case 'o':
+ argc--;
+ argv++;
+ soutput = argv[1];
+ if ((intptr_t) argv[2]<16000)
+ {
+ soutlen = (intptr_t)argv[2];
+ argc--;
+ argv++;
+ }
+ break;
+ case 't': /*tag output to string */
+ argc--;
+ argv++;
+ tagout = argv[1];
+ break;
+ case 'l': /* length of internal lists */
+ argc--;
+ argv++;
+ lmaster = atoi(argv[1]);
+ break;
+ case 'g': /* suppress fgrep search on old files */
+ keepold = 0;
+ break;
+ case 'C': /* coordination level */
+ colevel = atoi(argv[1]+2);
+# if D1
+ fprintf(stderr, "colevel set to %d\n",colevel);
+# endif
+ break;
+ case 'P': /* print term freqs */
+ prfreqs=1;
+ break;
+ case 'm':
+ measure=1;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ if(argc < 2)
+ exit(1);
+ n_strcpy (nma, todir(argv[1]), sizeof(nma));
+ if (was == 0 || strcmp (oldname, nma) !=0)
+ {
+ n_strcpy (oldname,nma, sizeof(oldname));
+ n_strcpy (nmb, nma, sizeof(nmb));
+ n_strcpy (nmc, nmb, sizeof(nmc));
+ n_strcpy(nmd,nma, sizeof(nmd));
+ n_strcat (nma, ".ia", sizeof(nma));
+ n_strcat (nmb, ".ib", sizeof(nmb));
+ n_strcat (nmc, ".ic", sizeof(nmc));
+ n_strcat (nmd, ".id", sizeof(nmd));
+ if (was)
+ {
+ fclose(fa);
+ fclose(fb);
+ fclose(fc);
+ }
+
+ fa = fopen(nma, "r");
+ if (fa==NULL)
+ {
+ size_t s = strlen(oldname)+2;
+ n_strcpy(*fgnamp++ = calloc(s,1), oldname, s);
+ fb=NULL;
+ goto search;
+ }
+ fb = fopen(nmb, "r");
+ fc = fopen(nmc, "r");
+ was =1;
+ if (fb== NULL || fc ==NULL)
+ {
+ err("Index incomplete %s", nmb);
+ exit(1);
+ }
+ indexdate = gdate(fb);
+ fd = fopen(nmd, "r");
+ }
+ fseek (fa, 0, SEEK_SET);
+ fread (&nhash, sizeof(nhash), 1, fa);
+ fread (&iflong, sizeof(iflong), 1, fa);
+ if(master==0)
+ master = calloc (lmaster, iflong? sizeof(long): sizeof(unsigned));
+ hpt = calloc(nhash, sizeof(*hpt));
+ kk=fread( hpt, sizeof(*hpt), nhash, fa);
+# if D1
+ fprintf(stderr,"read %d hashes, iflong %d, nhash %d\n", kk, iflong, nhash);
+# endif
+ assert (kk==nhash);
+ hfreq = calloc(nhash, sizeof(*hfreq));
+ assert (hfreq != NULL);
+ frtbl = fread(hfreq, sizeof(*hfreq), nhash, fa);
+ hfrflg = (frtbl == nhash);
+# if D1
+ fprintf(stderr, "read freqs %d\n", frtbl);
+# endif
+
+search:
+ while (1)
+ {
+ nitem = getq(qitem);
+ if (measure) tick();
+ if (nitem==0) continue;
+ if (nitem < 0) break;
+ if (tagout) tagout[0]=0;
+ if (fb!=NULL)
+ {
+ nfound = doquery(hpt, nhash, fb, nitem, qitem, master);
+# if D1
+ fprintf(stderr,"after doquery nfound %d\n", nfound);
+# endif
+ fgnamp=fgnames;
+ if (falseflg == 0)
+ nfound = baddrop(master, nfound, fc, nitem, qitem, rprog, full);
+# if D1
+ fprintf(stderr,"after baddrop nfound %d\n", nfound);
+# endif
+ }
+ if (fgnamp>fgnames)
+ {
+ char **fgp, tgbuff[100];
+ int k;
+# if D1
+ fprintf(stderr, "were %d bad files\n", fgnamp-fgnames);
+# endif
+ memset(tgbuff, 0, sizeof (tgbuff));
+ grepquery[0]=0;
+ for(k=0; k<nitem; k++)
+ {
+ n_strcat(grepquery, " ", sizeof(grepquery));
+ n_strcat(grepquery, qitem[k],
+ sizeof(grepquery));
+ }
+# if D1
+ fprintf(stderr, "grepquery %s\n",grepquery);
+# endif
+ for(fgp=fgnames; fgp<fgnamp; fgp++)
+ {
+# if D1
+ fprintf(stderr, "Now on %s query /%s/\n", *fgp, grepquery);
+# endif
+ makefgrep(*fgp);
+# if D1
+ fprintf(stderr, "grepmade\n");
+# endif
+ if (tagout==0)
+ tagout=tgbuff;
+ grepcall(grepquery, tagout, *fgp);
+# if D1
+ fprintf(stderr, "tagout now /%s/\n", tagout);
+# endif
+ if (full)
+ {
+ int nout;
+ char *bout;
+ char *tagp;
+ char *oldtagp;
+ tagp = tagout;
+ while (*tagp) {
+ oldtagp = tagp;
+ while (*tagp && (*tagp != '\n'))
+ tagp++;
+ if (*tagp)
+ tagp++;
+ nout = findline(oldtagp, &bout, 1000, 0L);
+ if (nout > 0)
+ {
+ fputs(bout, stdout);
+ free(bout);
+ }
+ }
+ }
+ }
+ }
+ if (tags)
+ result (master, nfound >tags ? tags: nfound, fc);
+ if (measure) tock();
+ }
+ /* NOTREACHED */
+ return 0;
+}
+
+char *
+todir(char *t)
+{
+ char *s;
+ s=t;
+ while (*s) s++;
+ while (s>=t && *s != '/') s--;
+ if (s<t) return(t);
+ *s++ = 0;
+ t = (*t ? t : "/");
+ chdir (t);
+ n_strcpy (usedir,t, sizeof(usedir));
+ return(s);
+}
+int
+setfrom(int c)
+{
+ switch(c)
+ {
+ case 'y':
+ case '\0':
+ default:
+ return(1000);
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ return(c-'0');
+ case 'n':
+ case '0':
+ return(0);
+ }
+}
diff --git a/refer/hunt2.c b/refer/hunt2.c
new file mode 100644
index 0000000000000..5513b419072ec
--- /dev/null
+++ b/refer/hunt2.c
@@ -0,0 +1,308 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt2.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt2.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdlib.h>
+#include "refer..c"
+
+static int *coord = 0;
+int hh[50];
+extern int *hfreq, hfrflg;
+extern int prfreqs;
+union ptr {
+ unsigned *a;
+ long *b;
+};
+
+int
+doquery(long *hpt, int nhash, FILE *fb, int nitem, char **qitem, unsigned *mptr)
+{
+ long k;
+ union ptr prevdrop, master;
+ int nf = 0, best = 0, nterm = 0, i, g, j;
+ int *prevcoord;
+ long lp;
+ extern int lmaster, colevel, reached;
+ extern int iflong;
+
+ if (iflong) {
+ master.b = (long *) mptr;
+ }
+ else {
+ master.a = mptr;
+ }
+
+# if D1
+ fprintf(stderr, "entering doquery nitem %d\n",nitem);
+ fprintf(stderr, "first few hashes are %ld %ld %ld %ld %ld\n", hpt[0],hpt[1],hpt[2],hpt[3],hpt[4]);
+ fprintf(stderr, "and frequencies are %d %d %d %d %d\n",hfreq[0],hfreq[1],hfreq[2],hfreq[3],hfreq[4]);
+# endif
+ assert (lmaster>0);
+ if (coord==0)
+ coord = zalloc(lmaster, sizeof(lmaster));
+ if (colevel>0)
+ {
+ if (iflong)
+ prevdrop.b = zalloc(lmaster, sizeof(long));
+ else
+ prevdrop.a = zalloc(lmaster, sizeof(int));
+ prevcoord = zalloc(lmaster, sizeof(lmaster));
+ }
+ else
+ {
+ prevdrop.a=master.a;
+ prevcoord=coord;
+ }
+# if D1
+ fprintf(stderr, "nitem %d\n",nitem);
+# endif
+ for(i=0; i<nitem; i++)
+ {
+ hh[i] = hash(qitem[i])%nhash;
+# if D1
+ fprintf(stderr,"query wd X%sX has hash %d\n", qitem[i], hh[i]);
+# endif
+ }
+# if D1
+ fprintf(stderr, "past that loop nhash %d hpt is %lo\n", nhash, hpt);
+# endif
+ if (prfreqs)
+ for(i=0; i<nitem; i++)
+ fprintf(stderr,"item %s hash %d hfreq %d\n",qitem[i], hh[i], hfreq[hh[i]]);
+ /* if possible, sort query into decreasing frequency of hashes */
+ if (hfrflg)
+ shell (nitem, hcomp, hexch);
+# if D1
+ for(i=0; i<nitem; i++)
+ fprintf(stderr, "item hash %d frq %d\n", hh[i], hfreq[hh[i]]);
+# endif
+ lp = hpt [hh[0]];
+# if D1
+ fprintf(stderr,"first item hash %d lp %ld 0%lo\n", hh[0],lp,lp);
+# endif
+ assert (fb!=NULL);
+ assert (fseek(fb, lp, SEEK_SET) != -1);
+ for(i=0; i<lmaster; i++)
+ {
+ if (iflong)
+ master.b[i] = getl(fb);
+ else
+ master.a[i] = getw(fb);
+ coord[i]=1;
+# if D2
+ if (iflong)
+ fprintf(stderr,"master has %ld\n",(master.b[i]));
+ else
+ fprintf(stderr,"master has %d\n",(master.a[i]));
+# endif
+ assert (i<lmaster);
+ if (iflong)
+ {
+ if (master.b[i] == -1L) break;
+ }
+ else
+ {
+ if (master.a[i] == -1) break;
+ }
+ }
+ nf= i;
+ for(nterm=1; nterm<nitem; nterm++)
+ {
+# ifdef D1
+ fprintf(stderr, "item %d, hash %d\n", nterm, hh[nterm]);
+# endif
+ if (colevel>0)
+ {
+ for(j=0; j<nf; j++)
+ {
+ if (iflong)
+ prevdrop.b[j] = master.b[j];
+ else
+ prevdrop.a[j] = master.a[j];
+ prevcoord[j] = coord[j];
+ }
+ }
+ lp = hpt[hh[nterm]];
+ assert (fseek(fb, lp, SEEK_SET) != -1);
+# if D1
+ fprintf(stderr,"item %d hash %d seek to %ld\n",nterm,hh[nterm],lp);
+# endif
+ g=j=0;
+ while (1)
+ {
+ if (iflong)
+ k = getl(fb);
+ else
+ k = getw(fb);
+ if (k== -1) break;
+# if D2
+ fprintf(stderr,"next term finds %ld\n",k);
+# endif
+# if D3
+ if (iflong)
+ fprintf(stderr, "bfwh j %d nf %d master %ld k %ld\n",j,nf,prevdrop.b[j],(long)(k));
+ else
+ fprintf(stderr, "bfwh j %d nf %d master %ld k %ld\n",j,nf,prevdrop.a[j],(long)(k));
+# endif
+ while (j<nf && (iflong?prevdrop.b[j]:prevdrop.a[j])<k)
+ {
+# if D3
+ if (iflong)
+ fprintf(stderr, "j %d nf %d prevdrop %ld prevcoord %d colevel %d nterm %d k %ld\n",
+ j,nf,prevdrop.b[j], prevcoord[j], colevel, nterm, (long)(k));
+ else
+ fprintf(stderr, "j %d nf %d prevdrop %ld prevcoord %d colevel %d nterm %d k %ld\n",
+ j,nf,prevdrop.a[j], prevcoord[j], colevel, nterm, (long)(k));
+# endif
+ if (prevcoord[j] + colevel <= nterm)
+ j++;
+ else
+ {
+ assert (g<lmaster);
+ if (iflong)
+ master.b[g] = prevdrop.b[j];
+ else
+ master.a[g] = prevdrop.a[j];
+ coord[g++] = prevcoord[j++];
+# if D1
+ if (iflong)
+ fprintf(stderr, " not skip g %d doc %d coord %d note %d\n",g,master.b[g-1], coord[g-1],master.b[j-1]);
+ else
+ fprintf(stderr, " not skip g %d doc %ld coord %d nterm %d\n",g,master.a[g-1], coord[g-1],nterm);
+# endif
+ continue;
+ }
+ }
+ if (colevel==0 && j>=nf) break;
+ if (j<nf && (iflong? prevdrop.b[j]: prevdrop.a[j]) == k)
+ {
+ if (iflong)
+ master.b[g]=k;
+ else
+ master.a[g]=k;
+ coord[g++] = prevcoord[j++]+1;
+# if D1
+ if (iflong)
+ fprintf(stderr, " at g %d item %ld coord %d note %ld\n",g,master.b[g-1],coord[g-1],master.b[j-1]);
+ else
+ fprintf(stderr, " at g %d item %d coord %d note %d\n",g,master.a[g-1],coord[g-1],master.a[j-1]);
+# endif
+ }
+ else
+ if (colevel >= nterm)
+ {
+ if (iflong)
+ master.b[g]=k;
+ else
+ master.a[g]=k;
+ coord[g++] = 1;
+ }
+ }
+# if D1
+ fprintf(stderr,"now have %d items\n",g);
+# endif
+ if (colevel>0)
+ for ( ; j<nf; j++)
+ if ((iflong?prevdrop.b[j]:prevdrop.a[j])+colevel > nterm)
+ {
+ assert(g<lmaster);
+ if (iflong)
+ master.b[g] = prevdrop.b[j];
+ else
+ master.a[g] = prevdrop.a[j];
+ coord[g++] = prevcoord[j];
+# if D3
+ if(iflong)
+ fprintf(stderr, "copied over %ld coord %d\n",master.b[g-1], coord[g-1]);
+ else
+ fprintf(stderr, "copied over %d coord %d\n",master.a[g-1], coord[g-1]);
+# endif
+ }
+ nf = g;
+ }
+ if (colevel>0)
+ {
+ best=0;
+ for(j=0; j<nf; j++)
+ if (coord[j]>best) best = coord[j];
+# if D1
+ fprintf(stderr, "colevel %d best %d\n", colevel, best);
+# endif
+ reached = best;
+ for(g=j=0; j<nf; j++)
+ if (coord[j]==best)
+ {
+ if (iflong)
+ master.b[g++] = master.b[j];
+ else
+ master.a[g++] = master.a[j];
+ }
+ nf=g;
+# if D1
+ fprintf(stderr, "yet got %d\n",nf);
+# endif
+ }
+# ifdef D1
+ fprintf(stderr, " returning with %d\n",nf);
+# endif
+ if (colevel)
+ {
+ free(prevdrop.a);
+ free(prevcoord);
+ }
+# if D3
+ for(g=0;g<nf;g++)
+ if(iflong)
+ fprintf(stderr,":%ld\n",master.b[g]);
+ else
+ fprintf(stderr,":%d\n",master.a[g]);
+# endif
+ return(nf);
+}
+
+long
+getl(FILE *fb)
+{
+ return(getw(fb));
+}
+
+void
+putl(long ll, FILE *f)
+{
+ putw(ll, f);
+}
+
+int
+hcomp(int n1, int n2)
+{
+ return (hfreq[hh[n1]]<=hfreq[hh[n2]]);
+}
+
+int
+hexch(int n1, int n2)
+{
+ int t;
+ t = hh[n1];
+ hh[n1] = hh[n2];
+ hh[n2] = t;
+ return 0;
+}
diff --git a/refer/hunt3.c b/refer/hunt3.c
new file mode 100644
index 0000000000000..85f2050394259
--- /dev/null
+++ b/refer/hunt3.c
@@ -0,0 +1,70 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt3.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt3.c 1.3 (gritter) 10/22/05
+ */
+
+#include <locale.h>
+#include "refer..c"
+#define BSIZ 250
+
+int
+getq(char **v)
+{
+ static char buff[BSIZ];
+ static int eof = 0;
+ extern char *sinput;
+ char *p;
+ int c, n = 0, las = 0;
+ if (eof) return(-1);
+ p = buff;
+ while ( (c = (sinput ? *sinput++ : getchar()) ) > 0)
+ {
+ if (c== '\n')
+ break;
+ if (isalpha(c) || isdigit(c))
+ {
+ if (las==0)
+ {
+ v[n++] = p;
+ las=1;
+ }
+ if (las++ <= 6)
+ *p++ = c;
+ }
+ else
+ {
+ if (las>0)
+ *p++ = 0;
+ las=0;
+ }
+ }
+ *p=0;
+ if (p > buff + BSIZ)
+ fprintf(stderr, "query long than %d characters\n", BSIZ);
+ assert(p < buff + BSIZ);
+ if (sinput==0 && c<= 0) eof=1;
+# if D1
+ fprintf(stderr, "no. keys %d\n",n);
+ for(c=0; c<n; c++)
+ fprintf(stderr, "keys X%sX\n", v[c]);
+# endif
+ return(n);
+}
diff --git a/refer/hunt5.c b/refer/hunt5.c
new file mode 100644
index 0000000000000..56729c97ff886
--- /dev/null
+++ b/refer/hunt5.c
@@ -0,0 +1,85 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt5.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt5.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+extern char *soutput, *tagout, usedir[];
+union ptr {
+ unsigned *a;
+ long *b;
+};
+
+void
+result(unsigned *mptr, int nf, FILE *fc)
+{
+ int i, c;
+ char *s;
+ long lp;
+ extern int iflong;
+ char res[100];
+ union ptr master;
+
+ if (iflong) {
+ master.b = (long *) mptr;
+ }
+ else {
+ master.a = mptr;
+ }
+
+ for(i=0; i<nf; i++)
+ {
+ lp = iflong ? master.b[i] : master.a[i];
+ fseek(fc,lp, SEEK_SET);
+ fgets(res, sizeof res, fc);
+ for(s=res; (c = *s); s++)
+ if (c== ';')
+ {
+ *s=0;
+ break;
+ }
+ if (tagout !=0)
+ {
+ if (res[0]=='/' || usedir[0]==0)
+ sprintf(tagout, "%s", res);
+ else
+ sprintf(tagout, "%s/%s", usedir, res);
+ while (*tagout) tagout++;
+ }
+ else
+ {
+ if (res[0]!='/' || usedir[0]==0)
+ printf("%s/", usedir);
+ printf("%s\n", res);
+ }
+ }
+}
+
+long
+gdate(FILE *f)
+{
+ struct stat sb;
+ fstat (fileno(f), &sb);
+ return (sb . st_mtime);
+}
diff --git a/refer/hunt6.c b/refer/hunt6.c
new file mode 100644
index 0000000000000..b21fe57fee609
--- /dev/null
+++ b/refer/hunt6.c
@@ -0,0 +1,176 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt6.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt6.c 1.4 (gritter) 10/2/07
+ */
+
+#include <stdio.h>
+#include <assert.h>
+#include <string.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include "refer..c"
+#define TXTLEN 1000
+
+char *outbuf = 0;
+extern char *soutput;
+extern int soutlen, iflong;
+extern long indexdate;
+union ptr {
+ unsigned *a;
+ long *b;
+};
+
+int
+baddrop(unsigned *mptr, int nf, FILE *fc, int nitem, char **qitem,
+ char *rprog, int full)
+{
+ /* checks list of drops for real bad drops; finds items with "deliv" */
+ int i, g, j, need, na, len = 0;
+ long lp;
+ char res[100], *ar[50], output[TXTLEN], *mput;
+ union ptr master;
+ extern int colevel, reached;
+
+ if (iflong) {
+ master.b = (long *) mptr;
+ }
+ else {
+ master.a = mptr;
+ }
+
+# if D1
+ if (iflong)
+ fprintf(stderr,"in baddrop, nf %d master %ld %ld %ld\n",
+ nf, master.b[0], master.b[1], master.b[2]);
+ else
+ fprintf(stderr,"in baddrop, nf %d master %d %d %d\n",
+ nf, master.a[0], master.a[1], master.a[2]);
+# endif
+ for (i=g=0; i<nf; i++)
+ {
+ lp = iflong ? master.b[i] : master.a[i];
+# if D1
+ if (iflong)
+ fprintf(stderr, "i %d master %lo lp %lo\n",
+ i, master.b[i], lp);
+ else
+ fprintf(stderr, "i %d master %o lp %lo\n",
+ i, master.a[i], lp);
+# endif
+ fseek (fc, lp, SEEK_SET);
+ fgets( res, sizeof res, fc);
+# if D1
+ fprintf(stderr, "tag %s", res);
+# endif
+ if (!auxil(res,output))
+ {
+ char *s;
+ int c;
+# if D1
+ fprintf(stderr, "not auxil try rprog %c\n",
+ rprog? 'y': 'n');
+# endif
+ for(s=res; (c= *s); s++)
+ if (c == ';' || c == '\n')
+ {
+ *s=0;
+ break;
+ }
+
+ if (rprog)
+ len = corout(res, output, rprog, 0, TXTLEN);
+ else
+ {
+ len = findline(res, &mput, TXTLEN, indexdate);
+ if (len > 0) /* copy and free */
+ {
+ strncpy(output, mput, TXTLEN);
+ free(mput);
+ }
+ else /* insufficient memory or other... */
+ len = 0;
+ }
+ }
+# if D1
+ assert (len <TXTLEN);
+ fprintf(stderr,"item %d of %d, tag %s len %d output\n%s\n..\n",
+ i, nf, res, len, output);
+# endif
+ if (len==0)
+ continue;
+ need = colevel ? reached : nitem;
+ na=0;
+ ar[na++] = "fgrep";
+ ar[na++] = "-r";
+ ar[na++] = "-n";
+ ar[na++] = (char *)(intptr_t) need;
+ ar[na++] = "-i";
+ ar[na++] = output;
+ ar[na++] = (char *)(intptr_t) len;
+ for(j=0; j<nitem; j++)
+ ar[na++] = qitem[j];
+# ifdef D1
+ fprintf(stderr, "calling fgrep len %d ar[4] %s %o %d \n",
+ len,ar[4],ar[5],ar[6]);
+# endif
+ if (fgrep(na, ar)==0)
+ {
+# ifdef D1
+ fprintf(stderr, "fgrep found it\n");
+# endif
+ if (iflong)
+ master.b[g++] = master.b[i];
+ else
+ master.a[g++] = master.a[i];
+ if (full >= g)
+ {
+ if (soutput==0)
+ fputs(output, stdout);
+ else
+ strcpy (soutput, output);
+ }
+ }
+# ifdef D1
+ fprintf(stderr, "after fgrep\n");
+# endif
+ }
+ return(g);
+}
+
+int
+auxil(char * res, char *output)
+{
+ extern FILE *fd;
+ long lp, c;
+ int len;
+ if (fd==0)return(0);
+ while ((c = *res++))
+ {
+ if (c == ';')
+ {
+ sscanf(res, "%ld,%d", &lp, &len);
+ fseek (fd, lp, SEEK_SET);
+ fgets(output, len, fd);
+ return(1);
+ }
+ }
+ return(0);
+}
diff --git a/refer/hunt7.c b/refer/hunt7.c
new file mode 100644
index 0000000000000..dcb98f58256df
--- /dev/null
+++ b/refer/hunt7.c
@@ -0,0 +1,143 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt7.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt7.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <locale.h>
+#include <assert.h>
+#include <string.h>
+#include <stdlib.h>
+#include "refer..c"
+#define SAME 0
+#define FGCT 10
+#define FGSIZE 150
+
+int keepold = 1; /* keep old things for fgrep search */
+char fgspace[FGSIZE];
+char *fgp = fgspace;
+char *fgnames[FGCT];
+char **fgnamp = fgnames;
+
+int
+findline(char *in, char **out, int outlen, long indexdate)
+{
+ static char name[100] = "";
+ char *p, **ftp;
+ static FILE *fa = NULL;
+ long lp, llen;
+# ifdef D1
+ int len;
+# endif
+ int k, nofil;
+
+# if D1
+ fprintf(stderr, "findline: %s\n", in);
+# endif
+ if (mindex(in, '!'))
+ /* return(remote(in, *out)); /\* Does NOTHING */
+ return(0);
+
+ nofil = in[0]==0;
+ for(p=in; *p && *p != ':' && *p != ';'; p++)
+ ;
+ if (*p) *p++=0;
+ else p=in;
+ k = sscanf(p, "%ld,%ld", &lp, &llen);
+# ifdef D1
+ fprintf(stderr, "p %s k %d lp %ld llen %ld\n",p,k,lp,llen);
+# endif
+ if (k<2)
+ {
+ lp = 0;
+ llen=outlen;
+ }
+# ifdef D1
+ fprintf(stderr, "lp %ld llen %ld\n",lp, llen);
+# endif
+# ifdef D1
+ fprintf(stderr, "fa now %o, p %o in %o %s\n",fa, p,in,in);
+# endif
+ if (nofil)
+ {
+# if D1
+ fprintf(stderr, "set fa to stdin\n");
+# endif
+ fa = stdin;
+ }
+ else
+ if (strcmp (name, in) != 0 || 1)
+ {
+# if D1
+ fprintf(stderr, "old: %s new %s not equal\n",name,in);
+# endif
+ if (fa != NULL)
+ fa = freopen(in, "r", fa);
+ else
+ fa = fopen(in, "r");
+# if D1
+ if (fa==NULL)
+ fprintf(stderr, "failed to (re)open *%s*\n",in);
+# endif
+ if (fa == NULL)
+ return(0);
+ /* err("Can't open %s", in); */
+ strcpy(name, in);
+ if (gdate(fa) > indexdate && indexdate != 0)
+ {
+ if (keepold)
+ {
+ for(ftp=fgnames; ftp<fgnamp; ftp++)
+ if (strcmp(*ftp, name)==SAME)
+ return(0);
+ strcpy (*fgnamp++ = fgp, name);
+ assert(fgnamp<fgnames+FGCT);
+ while (*fgp && *fgp!=':')
+ fgp++;
+ *fgp++ = 0;
+ assert (fgp<fgspace+FGSIZE);
+ return(0);
+ }
+ fprintf(stderr, "Warning: index predates file '%s'\n", name);
+ }
+ }
+# if D1
+ else
+ fprintf(stderr, "old %s new %s same fa %o\n", name,in,fa);
+# endif
+ if (fa != NULL)
+ {
+ fseek(fa, lp, SEEK_SET);
+ *out = malloc(llen + 1);
+ if (*out == NULL) {
+ return(0);
+ }
+# ifdef D1
+ len =
+# endif
+ fread(*out, 1, llen, fa);
+ *(*out + llen) = 0;
+# ifdef D1
+ fprintf(stderr, "length as read is %d\n",len);
+# endif
+ }
+ return(llen);
+}
diff --git a/refer/hunt8.c b/refer/hunt8.c
new file mode 100644
index 0000000000000..e1a05b0dac1e9
--- /dev/null
+++ b/refer/hunt8.c
@@ -0,0 +1,105 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt8.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt8.c 1.4 (gritter) 01/12/07
+ */
+
+#include <locale.h>
+#include <stdio.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <time.h>
+#include <unistd.h>
+#include "refer..c"
+#define unopen(fil) {if (fil!=NULL) {fclose(fil); fil=NULL;}}
+
+extern long indexdate;
+
+void
+runbib (const char *s)
+{
+ /* make a file suitable for fgrep */
+ char tmp[4096];
+ snprintf(tmp, sizeof tmp, REFDIR "/mkey '%s' > '%s.ig'", s,s);
+ system(tmp);
+}
+
+int
+makefgrep(char *indexname)
+{
+ FILE *fa, *fb;
+ if (ckexist(indexname, ".ig"))
+ {
+ /* existing gfrep -type index */
+# if D1
+ fprintf(stderr, "found fgrep\n");
+# endif
+ fa = iopen(indexname, ".ig");
+ fb = iopen(indexname, "");
+ if (gdate(fb)>gdate(fa))
+ {
+ if (fa!=NULL)
+ fclose(fa);
+ runbib(indexname);
+ fa= iopen(indexname, ".ig");
+ }
+ indexdate = gdate(fa);
+ unopen(fa);
+ unopen(fb);
+ }
+ else
+ if (ckexist(indexname, ""))
+ {
+ time_t t;
+ /* make fgrep */
+# if D1
+ fprintf(stderr, "make fgrep\n");
+# endif
+ runbib(indexname);
+ time(&t);
+ indexdate = t;
+ }
+ else /* failure */
+ return(0);
+ return(1); /* success */
+}
+
+int
+ckexist(const char *s, const char *t)
+{
+ char fnam[4096];
+ snprintf(fnam, sizeof fnam, "%s%s", s, t);
+ return (access(fnam, 04) != -1);
+}
+
+FILE *
+iopen(const char *s, const char *t)
+{
+ char fnam[4096];
+ FILE *f;
+ snprintf(fnam, sizeof fnam, "%s%s", s, t);
+ f = fopen (fnam, "r");
+ if (f == NULL)
+ {
+ err("Missing expected file %s", fnam);
+ exit(1);
+ }
+ return(f);
+}
diff --git a/refer/hunt9.c b/refer/hunt9.c
new file mode 100644
index 0000000000000..1602c7dd10064
--- /dev/null
+++ b/refer/hunt9.c
@@ -0,0 +1,29 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "hunt9.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hunt9.c 1.3 (gritter) 10/22/05
+ */
+
+void
+remote(const char *in, const char *out)
+{
+ /* "in" is a long distance file name: get it */
+ ;
+}
diff --git a/refer/indxbib.sh b/refer/indxbib.sh
new file mode 100755
index 0000000000000..755230f40ae52
--- /dev/null
+++ b/refer/indxbib.sh
@@ -0,0 +1,28 @@
+# Copyright 1988 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+
+# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
+# All Rights Reserved
+
+# Copyright (c) 1980 Regents of the University of California.
+# All rights reserved. The Berkeley software License Agreement
+# specifies the terms and conditions for redistribution.
+
+# from OpenSolaris "indxbib.sh 1.5 05/06/03 SMI"
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Sccsid @(#)indxbib.sh 1.3 (gritter) 10/22/05
+#
+# indxbib sh script
+#
+if test x"$1" != x
+ then @REFDIR@/mkey "$@" | @REFDIR@/inv "_$1"
+ mv "_$1.ia" "$1.ia"
+ mv "_$1.ib" "$1.ib"
+ mv "_$1.ic" "$1.ic"
+else
+ echo 'Usage: indxbib database [ ... ]
+ first argument is the basename for indexes
+ indexes will be called database.{ia,ib,ic}'
+fi
diff --git a/refer/inv1.c b/refer/inv1.c
new file mode 100644
index 0000000000000..0d47474555758
--- /dev/null
+++ b/refer/inv1.c
@@ -0,0 +1,179 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "inv1.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)inv1.c 1.3 (gritter) 10/22/05
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <locale.h>
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+#include "refer..c"
+
+int
+main(int argc, char **argv)
+{
+ /* Make inverted file indexes. Reads a stream from mkey which
+ * gives record pointer items and keys. Generates set of files
+ * a. NHASH pointers to file b.
+ * b. lists of record numbers.
+ * c. record pointer items.
+ *
+ * these files are named xxx.ia, xxx.ib, xxx.ic;
+ * where xxx is taken from arg1.
+ * If the files exist they are updated.
+ */
+
+ FILE *fa, *fb, *fc, *fta, *ftb;
+ FILE *fd = NULL;
+ int nhash = 256;
+ int appflg = 1;
+ int keepkey = 0, pipein = 0;
+ char nma[100], nmb[100], nmc[100], com[100], nmd[100];
+ char tmpa[20], tmpb[20], tmpc[20];
+ char *remove = NULL;
+ int chatty = 0, docs, hashes;
+ long keys;
+ int iflong =0;
+ char *sortdir;
+
+ sortdir = (access("/crp/tmp", 06)==0) ? "/crp/tmp" : "/var/tmp";
+ while (argc>1 && argv[1][0] == '-')
+ {
+ switch(argv[1][1])
+ {
+ case 'h': /* size of hash table */
+ nhash = atoi (argv[1]+2);
+ break;
+ case 'n': /* new, don't append */
+ appflg=0;
+ break;
+ case 'a': /* append to old file */
+ appflg=1;
+ break;
+ case 'v': /* verbose output */
+ chatty=1;
+ break;
+ case 'd': /* keep keys on file .id for check on searching */
+ keepkey=1;
+ break;
+ case 'p': /* pipe into sort (saves space, costs time)*/
+ pipein = 1;
+ break;
+ case 'i': /* input is on file, not stdin */
+ close(0);
+ if (open(argv[2], O_RDONLY) != 0)
+ err("Can't read input %s", argv[2]);
+ if (argv[1][2]=='u') /* unlink */
+ remove = argv[2];
+ argc--;
+ argv++;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ n_strcpy (nma, argc >= 2 ? argv[1] : "Index", sizeof(nma));
+ n_strcpy (nmb, nma, sizeof(nmb));
+ n_strcpy (nmc, nma, sizeof(nmc));
+ n_strcpy (nmd, nma, sizeof(nmd));
+ n_strcat (nma, ".ia", sizeof(nma));
+ n_strcat (nmb, ".ib", sizeof(nmb));
+ n_strcat (nmc, ".ic", sizeof(nmc));
+ n_strcat (nmd, ".id", sizeof(nmd));
+
+ snprintf(tmpa, sizeof tmpa, "junk%di", (int)getpid());
+ if (pipein)
+ {
+ snprintf(com, sizeof com, "sort -T %s -o %s", sortdir, tmpa);
+ fta = popen(com, "w");
+ }
+ else /* use tmp file */
+ {
+ fta = fopen(tmpa, "w");
+ assert (fta != NULL);
+ }
+ fb = 0;
+ if (appflg )
+ {
+ if ((fb = fopen(nmb, "r")))
+ {
+ snprintf(tmpb, sizeof tmpb, "junk%dj", (int)getpid());
+ ftb = fopen(tmpb, "w");
+ if (ftb==NULL)
+ err("Can't get scratch file %s",tmpb);
+ nhash = recopy(ftb, fb, fopen(nma, "r"), nhash);
+ fclose(ftb);
+ }
+ else
+ appflg=0;
+ }
+ fc = fopen(nmc, appflg ? "a" : "w");
+ if (keepkey)
+ fd = keepkey ? fopen(nmd, "w") : 0;
+ docs = newkeys(fta, stdin, fc, nhash, fd, &iflong);
+ fclose(stdin);
+ if (remove != NULL)
+ unlink(remove);
+ fclose(fta);
+ if (pipein)
+ {
+ pclose(fta);
+ }
+ else
+ {
+ snprintf(com, sizeof com,
+ "sort -T %s %s -o %s", sortdir, tmpa, tmpa);
+ system(com);
+ }
+ if (appflg)
+ {
+ snprintf(tmpc, sizeof tmpc, "junk%dk", (int)getpid());
+ snprintf(com, sizeof com, "mv %s %s", tmpa, tmpc);
+ system(com);
+ snprintf(com, sizeof com, "sort -T %s -m %s %s -o %s", sortdir,
+ tmpb, tmpc, tmpa);
+ system(com);
+ }
+ fta = fopen(tmpa, "r");
+ fa = fopen(nma, "w");
+ fb = fopen(nmb, "w");
+ whash(fta, fa, fb, nhash, iflong, &keys, &hashes);
+ fclose(fta);
+# ifndef D1
+ unlink(tmpa);
+# endif
+ if (appflg)
+ {
+ unlink(tmpb);
+ unlink(tmpc);
+ }
+ if (chatty)
+
+ printf ("%ld key occurrences, %d hashes, %d docs\n",
+ keys, hashes, docs);
+
+ return 0;
+}
diff --git a/refer/inv2.c b/refer/inv2.c
new file mode 100644
index 0000000000000..8a04d2c6e7860
--- /dev/null
+++ b/refer/inv2.c
@@ -0,0 +1,118 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "inv2.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)inv2.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <assert.h>
+#include <string.h>
+#include "refer..c"
+#define LINESIZ 1250
+
+int
+newkeys (FILE *outf, FILE *inf, FILE *recf, int nhash, FILE *fd, int *iflong)
+{
+ /* reads key lines from inf; hashes and writes on outf;
+ * writes orig key on recf, records pointer on outf too.
+ * format of outf is : hash code space record pointer
+ */
+
+ long lp;
+ long ld = 0;
+ int ll = 0, lt = 0;
+ char line[LINESIZ];
+ char key[30], bkeys[40];
+ char *p, *s;
+ char *keyv[500];
+ int i, nk, ndoc = 0, more = 0, c;
+
+ lp = ftell (recf);
+ while (fgets(line, LINESIZ, inf))
+ {
+ p = line;
+ while (*p != '\t') p++;
+ *p++ =0;
+ fputs(line, recf);
+ if (fd)
+ {
+ snprintf(bkeys, sizeof(bkeys), ";%ld", ld);
+ ll = strlen(p);
+ lt = strlen(bkeys);
+ fputs(bkeys, recf);
+ snprintf(bkeys, sizeof(bkeys), ",%d", ll);
+ lt += strlen(bkeys);
+ fputs(bkeys, recf);
+ ld += ll;
+ fputs(p, fd);
+ }
+ putc('\n',recf);
+ for(s=p; *s; s++);
+ if (*--s == '\n')
+ {
+ more=0;
+ *s=0;
+ }
+ else
+ more=1;
+ assert (fd==0 || more==0);
+ nk = getargs(p, keyv);
+ if (more)
+ nk--;
+ for(i=0; i<nk; i++)
+ fprintf(outf,"%04d %06ld\n",hash(keyv[i])%nhash, lp);
+# if D1
+ for(i=0; i<nk; i++)
+ printf("key %s hash %d\n",keyv[i],hash(keyv[i])%nhash);
+# endif
+ if (more) /* allow more than LINESIZ keys */
+ {
+ n_strcpy(key, keyv[nk], sizeof(key));
+ for(s=key; *s; s++);
+ while ( (c=getc(inf)) != '\n')
+ {
+ if (c != ' ')
+ {
+ *s++ = c;
+ continue;
+ }
+ *s=0;
+ if (s>key)
+ fprintf(outf, "%04d %06ld\n",hash(key)%nhash, lp);
+ s = key;
+ }
+ }
+ lp += (strlen(line)+lt+1);
+ ndoc++;
+ }
+ *iflong = (lp>=65536L);
+ if (sizeof(int)>2) *iflong=1; /* force long on VAX */
+ fclose(recf);
+ return(ndoc);
+}
+
+char *
+trimnl(char *p)
+{
+ while (*p) p++;
+ p--;
+ if (*p == '\n') *p=0;
+ return p;
+}
diff --git a/refer/inv3.c b/refer/inv3.c
new file mode 100644
index 0000000000000..294b3eda0a887
--- /dev/null
+++ b/refer/inv3.c
@@ -0,0 +1,43 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "inv3.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)inv3.c 1.3 (gritter) 10/22/05
+ */
+
+int
+getargs(char *s, char **arps)
+{
+ int i = 0;
+
+ while (1)
+ {
+ arps[i++] = s;
+ while (*s != 0 && *s!=' '&& *s != '\t')
+ s++;
+ if (*s == 0)
+ break;
+ *s++ = 0;
+ while (*s==' ' || *s=='\t')
+ s++;
+ if (*s==0)
+ break;
+ }
+ return(i);
+}
diff --git a/refer/inv5.c b/refer/inv5.c
new file mode 100644
index 0000000000000..02e81e59c3392
--- /dev/null
+++ b/refer/inv5.c
@@ -0,0 +1,78 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "inv5.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)inv5.c 1.5 (gritter) 12/25/06
+ */
+
+#include <stdio.h>
+#include <locale.h>
+#include <stdlib.h>
+#include "refer..c"
+
+int
+recopy (FILE *ft, FILE *fb, FILE *fa, int nhash)
+{
+ /* copy fb (old hash items/pointers) to ft (new ones) */
+ int n, i, iflong;
+ int *hpt_s = 0;
+ int (*getfun)(FILE *);
+ long *hpt_l = 0;
+ long k, lp;
+ if (fa==NULL)
+ {
+ err("No old pointers",0);
+ return 0;
+ }
+ fread(&n, sizeof(n), 1, fa);
+ fread(&iflong, sizeof(iflong), 1, fa);
+ if (iflong)
+ {
+ hpt_l = calloc(sizeof(*hpt_l), n+1);
+ n =fread(hpt_l, sizeof(*hpt_l), n, fa);
+ }
+ else
+ {
+ hpt_s = calloc(sizeof(*hpt_s), n+1);
+ n =fread(hpt_s, sizeof(*hpt_s), n, fa);
+ }
+ if (n!= nhash)
+ fprintf(stderr, "Changing hash value to old %d\n",n);
+ fclose(fa);
+ if (iflong)
+ getfun = (int(*)(FILE *))getl;
+ else
+#ifdef EUC
+ getfun = getw;
+#else
+ getfun = fgetc;
+#endif
+ for(i=0; i<n; i++)
+ {
+ if (iflong)
+ lp = hpt_l[i];
+ else
+ lp = hpt_s[i];
+ fseek(fb, lp, SEEK_SET);
+ while ( (k= (*getfun)(fb) ) != -1)
+ fprintf(ft, "%04d %06ld\n",i,k);
+ }
+ fclose(fb);
+ return(n);
+}
diff --git a/refer/inv6.c b/refer/inv6.c
new file mode 100644
index 0000000000000..a6540f0cdf037
--- /dev/null
+++ b/refer/inv6.c
@@ -0,0 +1,102 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "inv6.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)inv6.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <assert.h>
+#include <stdlib.h>
+#include "refer..c"
+
+void
+whash(FILE *ft, FILE *fa, FILE *fb, int nhash, int iflong, long *ptotct, int *phused)
+{
+ char line[100];
+ int hash = 0, hused = 0;
+ long totct = 0L;
+ int ct = 0;
+ long point;
+ long opoint = -1;
+ int k;
+ long lp;
+ long *hpt;
+ int *hfreq;
+
+ hpt = calloc (nhash+1, sizeof(*hpt));
+ assert (hpt != NULL);
+ hfreq = calloc (nhash, sizeof(*hfreq));
+ assert (hfreq != NULL);
+ hpt[0] = 0;
+ lp= 0;
+ while (fgets(line, 100, ft))
+ {
+ totct++;
+ sscanf(line, "%d %ld", &k, &point);
+ if (hash < k)
+ {
+ hused++;
+ if (iflong) putl(-1L, fb);
+ else putw(-1, fb);
+ hfreq[hash]=ct;
+ while (hash<k)
+ {
+ hpt[++hash] = lp;
+ hfreq[hash] = 0;
+ }
+ hpt[hash] = lp += iflong? sizeof(long) : sizeof(int);
+ opoint= -1;
+ ct=0;
+ }
+ if (point!=opoint)
+ {
+ if (iflong)
+ putl(opoint=point, fb);
+ else
+ putw( (int)(opoint=point), fb);
+ lp += iflong? sizeof(long) : sizeof(int);
+ ct++;
+ }
+ }
+ if (iflong) putl(-1L, fb);
+ else putw(-1,fb);
+ while (hash<nhash)
+ hpt[++hash]=lp;
+ fwrite(&nhash, sizeof(nhash), 1, fa);
+ fwrite(&iflong, sizeof(iflong), 1, fa);
+ fwrite(hpt, sizeof(*hpt), nhash, fa);
+ free(hpt);
+ fwrite (hfreq, sizeof(*hfreq), nhash, fa);
+ free(hfreq);
+ *ptotct = totct;
+ *phused = hused;
+}
+
+void
+putl(long ll, FILE *f)
+{
+ putw(ll, f);
+}
+
+long
+getl(FILE *f)
+{
+ return(getw(f));
+}
diff --git a/refer/lookbib.1 b/refer/lookbib.1
new file mode 100644
index 0000000000000..03e7554ce205c
--- /dev/null
+++ b/refer/lookbib.1
@@ -0,0 +1,174 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Sccsid @(#)lookbib.1b 1.5 (gritter) 9/6/08
+.\"
+.\" from 4.3BSD-Tahoe lookbib.1 6.1 (Berkeley) 4/29/85
+.\"
+.\".TH LOOKBIB 1 "April 29, 1985"
+.Dd September 6, 2008
+.Dt LOOKBIB 1
+.Os
+.Sh NAME
+.Nm indxbib ,
+.Nm lookbib
+.Nd build inverted index for a bibliography, find references in a bibliography
+.Sh SYNOPSIS
+.Nm
+.Ar database ...
+.Nm lookbib
+.Ar database
+.Sh DESCRIPTION
+.Nm
+makes an inverted index to the named
+.Ar databases
+(or files) for use by
+.Xr lookbib 1
+and
+.Xr refer 1 .
+These files contain bibliographic references
+(or other kinds of information) separated by blank lines.
+.Pp
+A bibliographic reference is a set of lines,
+constituting fields of bibliographic information.
+Each field starts on a line beginning with a ``%'',
+followed by a key-letter, then a blank,
+and finally the contents of the field,
+which may continue until the next line starting with ``%''.
+.Pp
+.Nm
+is a shell script that calls
+.Pa /usr/ucblib/reftools/mkey
+and
+.Pa /usr/ucblib/reftools/inv.
+The first program,
+.Cm mkey ,
+truncates words to 6 characters,
+and maps upper case to lower case.
+It also discards words shorter than 3 characters,
+words among the 100 most common English words,
+and numbers (dates) < 1900 or > 2000.
+These parameters can be changed; see page 4 of the
+.Cm Refer
+document by Mike Lesk.
+The second program,
+.Cm inv,
+creates an entry file (.ia),
+a posting file (.ib), and a tag file (.ic),
+all in the working directory.
+.Pp
+.Nm lookbib
+uses an inverted index made by
+.Nm
+to find sets of bibliographic references.
+It reads keywords typed after the ``>'' prompt on the terminal,
+and retrieves records containing all these keywords.
+If nothing matches, nothing is returned except another ``>'' prompt.
+.Pp
+.Nm lookbib
+will ask if you need instructions, and will print some brief information if
+you reply ``y''.
+.Pp
+It is possible to search multiple databases,
+as long as they have a common index made by
+.Nm .
+In that case, only the first argument given to
+.Nm
+is specified to
+.Nm lookbib .
+.Pp
+If
+.Nm lookbib
+does not find the index files (the .i[abc] files),
+it looks for a reference file with the same name as the argument,
+without the suffixes.
+It creates a file with a `.ig' suffix, suitable for use with
+.Cm fgrep .
+It then uses this fgrep file to find references.
+This method is simpler to use, but the .ig file is slower to use
+than the .i[abc] files, and does not allow the use of multiple reference files.
+.Sh FILES
+.Pa x Ns .ia,
+.Pa x Ns .ib,
+.Pa x Ns .ic,
+where
+.Em x
+is the first argument, or if these are not present, then
+.Pa x Ns .ig,
+.Pa x
+.Sh SEE ALSO
+.Xr addbib 1 ,
+.Xr lookbib 1 ,
+.Xr refer 1 ,
+.Xr roffbib 1 ,
+.Xr sortbib 1
+.Sh NOTES
+Probably all dates should be indexed,
+since many disciplines refer to literature
+written in the 1800s or earlier.
diff --git a/refer/lookbib.c b/refer/lookbib.c
new file mode 100644
index 0000000000000..cafd7366c517b
--- /dev/null
+++ b/refer/lookbib.c
@@ -0,0 +1,99 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "lookbib.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)lookbib.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <locale.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+static void map_lower(char *);
+static void instruct(void);
+
+int
+main(int argc, char **argv) /* look in biblio for record matching keywords */
+{
+ FILE *hfp;
+ char s[BUFSIZ], hunt[BUFSIZ];
+
+ if (argc == 1 || argc > 2) {
+ fputs("Usage: lookbib database\n\
+\tfinds citations specified on standard input\n", stderr);
+ exit(1);
+ }
+ snprintf(s, sizeof s, "%s.ia", argv[1]);
+ if (access(s, 0) == -1) {
+ snprintf (s, sizeof(s), "%s", argv[1]);
+ if (access(s, 0) == -1) {
+ perror(s);
+ fprintf(stderr, "\tNeither index file %s.ia \
+nor reference file %s found\n", s, s);
+ exit(1);
+ }
+ }
+ snprintf(hunt, sizeof hunt, REFDIR "/hunt %s", argv[1]);
+ if (isatty(fileno(stdin))) {
+ fprintf(stderr, "Instructions? ");
+ fgets(s, BUFSIZ, stdin);
+ if (*s == 'y')
+ instruct();
+ }
+ again:
+ fprintf(stderr, "> ");
+ if (fgets(s, BUFSIZ, stdin)) {
+ if (*s == '\n')
+ goto again;
+ if (strlen(s) <= 3)
+ goto again;
+ if ((hfp = popen(hunt, "w")) == NULL) {
+ perror("lookbib: " REFDIR "/hunt");
+ exit(1);
+ }
+ map_lower(s);
+ fputs(s, hfp);
+ pclose(hfp);
+ goto again;
+ }
+ fprintf(stderr, "EOT\n");
+ return 0;
+}
+
+static void
+map_lower(char *s) /* map string s to lower case */
+{
+ for ( ; *s; ++s)
+ if (isupper((int)*s))
+ *s = tolower((int)*s);
+}
+
+static void
+instruct(void)
+{
+ fputs(
+"\nType keywords (such as author and date) after the > prompt.\n\
+References with those keywords are printed if they exist;\n\
+\tif nothing matches you are given another prompt.\n\
+To quit lookbib, press CTRL-d after the > prompt.\n\n", stderr);
+
+}
diff --git a/refer/mkey1.c b/refer/mkey1.c
new file mode 100644
index 0000000000000..57cfc518e0a6f
--- /dev/null
+++ b/refer/mkey1.c
@@ -0,0 +1,119 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "mkey1.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)mkey1.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <locale.h>
+#include <stdlib.h>
+#include "refer..c"
+
+extern char *comname; /* "/usr/lib/refer/eign" */
+int wholefile = 0;
+int keycount = 100;
+int labels = 1;
+int minlen = 3;
+extern int comcount;
+char *iglist = "XYZ#";
+
+int
+main (int argc,char **argv)
+{
+ /* this program expects as its arguments a list of
+ * files and generates a set of lines of the form
+ * filename:byte-add,length (tab) key1 key2 key3
+ * where the byte addresses give the position within
+ * the file and the keys are the strings off the lines
+ * which are alphabetic, first six characters only.
+ */
+
+ int i;
+ char *name, qn[200];
+ char *inlist = 0;
+
+ FILE *f, *ff;
+
+ while (argc>1 && argv[1][0] == '-')
+ {
+ switch(argv[1][1])
+ {
+ case 'c':
+ comname = argv[2];
+ argv++;
+ argc--;
+ break;
+ case 'w':
+ wholefile = 1;
+ break;
+ case 'f':
+ inlist = argv[2];
+ argv++;
+ argc--;
+ break;
+ case 'i':
+ iglist = argv[2];
+ argv++;
+ argc--;
+ break;
+ case 'l':
+ minlen = atoi(argv[1]+2);
+ if (minlen<=0) minlen=3;
+ break;
+ case 'n': /* number of common words to use */
+ comcount = atoi(argv[1]+2);
+ break;
+ case 'k': /* number of keys per file max */
+ keycount = atoi(argv[1]+2);
+ break;
+ case 's': /* suppress labels, search only */
+ labels = 0;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ if (inlist)
+ {
+ ff = fopen(inlist, "r");
+ while (fgets(qn, 200, ff))
+ {
+ trimnl(qn);
+ f = fopen (qn, "r");
+ if (f!=NULL)
+ dofile(f, qn);
+ else
+ fprintf(stderr, "Can't read %s\n",qn);
+ }
+ }
+ else
+ if (argc<=1)
+ dofile(stdin, "");
+ else
+ for(i=1; i<argc; i++)
+ {
+ f = fopen(name=argv[i], "r");
+ if (f==NULL)
+ err("No file %s",name);
+ else
+ dofile(f, name);
+ }
+ return 0;
+}
diff --git a/refer/mkey2.c b/refer/mkey2.c
new file mode 100644
index 0000000000000..6b55d8fa8baed
--- /dev/null
+++ b/refer/mkey2.c
@@ -0,0 +1,167 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "mkey2.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)mkey2.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <string.h>
+#include "refer..c"
+#define MAXLINE 500
+
+static int eof = 0;
+static long lp, lim;
+static int alph, used, prevc;
+static char *p, key[20];
+
+void
+dofile(FILE *f, char *name)
+{
+ /* read file f & spit out keys & ptrs */
+
+ char line[MAXLINE], *s;
+ extern int keycount;
+ int c;
+ extern int wholefile;
+ alph=used=prevc=eof=0;
+
+ lp=0;
+ if (wholefile==0)
+ while ((lim = grec(line,f)))
+ {
+# if D1
+ fprintf(stderr, "line: /%s",line);
+# endif
+ used=alph=0;
+ p = key;
+ for(s=line; (c= *s) && (used<keycount); s++)
+ chkey(c, name);
+ lp += lim;
+ if (used) putchar('\n');
+ }
+ else
+ {
+ p=key;
+ used=alph=0;
+ while ( (c=getc(f)) != EOF && used<keycount)
+ chkey (c, name);
+ if (used) putchar('\n');
+ }
+ fclose(f);
+}
+
+int
+outkey(char *ky, int lead, int trail)
+{
+ int n;
+ extern int minlen;
+ n = strlen(ky);
+ if (n<minlen) return (0);
+ if (n<3)
+ {
+ if (trail == '.') return(0);
+ if (mindex(".%,!#$%&'();+:*", lead)!=0) return(0);
+ }
+ if (isdigit((int)ky[0]))
+ /* Allow years 1000 - 2099 */
+ if (!(ky[0] == '1' || (ky[0] == '2' && ky[1] == '0')) || n != 4)
+ return(0);
+ if (common(ky))
+ return(0);
+ return(1);
+}
+
+long
+grec (char *s, FILE *f)
+{
+ char tm[200];
+ int curtype = 0;
+ long len = 0L, tlen = 0L;
+ extern int wholefile;
+ extern char *iglist;
+ if (eof) return(0);
+ *s = 0;
+ while (fgets(tm, sizeof tm, f))
+ {
+ tlen += strlen(tm);
+ if (tm[0] == '%' || tm[0] == '.')
+ curtype = tm[1];
+ if (tlen < MAXLINE && mindex(iglist,curtype)==0)
+ n_strcat(s, tm, MAXLINE);
+ len = tlen;
+ if (wholefile==0 && tm[0] == '\n')
+ return(len);
+ if (wholefile>0 && len >= MAXLINE)
+ {
+ fseek (f, 0, SEEK_END);
+ return(ftell(f));
+ }
+ }
+ eof=1;
+ return(s[0] ? len : 0L);
+}
+
+char *
+trimnl(char *ln)
+{
+ register char *p = ln;
+ while (*p) p++;
+ p--;
+ if (*p == '\n') *p=0;
+ return(ln);
+}
+
+void
+chkey (int c, char *name)
+{
+ extern int labels;
+ extern int wholefile;
+ if (isalpha(c) || isdigit(c))
+ {
+ if (alph++ < 6)
+ *p++ = c;
+ }
+ else
+ {
+ *p = 0;
+ for(p=key; *p; p++)
+ *p |= 040;
+ if (outkey(p=key,prevc,c))
+ {
+ if (used==0)
+ {
+ if (labels)
+ {
+ if (wholefile==0)
+ printf("%s:%ld,%ld\t", name, lp, lim);
+ else
+ printf("%s\t", name);
+ }
+ }
+ else
+ putchar(' ');
+ fputs(key, stdout);
+ used++;
+ }
+ prevc=c;
+ alph=0;
+ }
+}
diff --git a/refer/mkey3.c b/refer/mkey3.c
new file mode 100644
index 0000000000000..6978582da9fb5
--- /dev/null
+++ b/refer/mkey3.c
@@ -0,0 +1,79 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "mkey3.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)mkey3.c 1.3 (gritter) 10/22/05
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "refer..c"
+#define COMNUM 500
+#define COMTSIZE 997
+
+char *comname = REFDIR "/eign";
+static int cgate = 0;
+extern char *comname;
+int comcount = 100;
+static char cbuf[COMNUM*9];
+static char *cwds[COMTSIZE];
+static char *cbp;
+
+int
+common (char *s)
+{
+ if (cgate==0) cominit();
+ return (c_look(s, 1));
+}
+
+void
+cominit(void)
+{
+ int i;
+ FILE *f;
+ cgate=1;
+ f = fopen(comname, "r");
+ if (f==NULL) return;
+ cbp=cbuf;
+ for(i=0; i<comcount; i++)
+ {
+ if (fgets(cbp, 15, f)==NULL)
+ break;
+ trimnl(cbp);
+ c_look (cbp, 0);
+ while (*cbp++);
+ }
+ fclose(f);
+}
+
+int
+c_look (char *s, int fl)
+{
+ int h;
+ h = hash(s) % (COMTSIZE);
+ while (cwds[h] != 0)
+ {
+ if (strcmp(s, cwds[h])==0)
+ return(1);
+ h = (h+1) % (COMTSIZE);
+ }
+ if (fl==0)
+ cwds[h] = s;
+ return(0);
+}
diff --git a/refer/papers/Rbstjissue b/refer/papers/Rbstjissue
new file mode 100644
index 0000000000000..c4f25551b8789
--- /dev/null
+++ b/refer/papers/Rbstjissue
@@ -0,0 +1,224 @@
+%T U\s-2NIX\s0 Time-Sharing System: Preface
+%A T. H. Crowley
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1897-1898
+%D 1978
+%K bstj unix
+
+%T U\s-2NIX\s0 Time-Sharing System: Foreword
+%A M. D. McIlroy
+%A E. N. Pinson
+%A B. A. Tague
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1899-1904
+%D 1978
+%K unix bstj
+
+%T The U\s-2NIX\s0 Time-Sharing System
+%K unix bstj
+%A D. M. Ritchie
+%A K. Thompson
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1905-1929
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: U\s-2NIX\s0 Implementation
+%K unix bstj
+%A K. Thompson
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1931-1946
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: A Retrospective
+%K unix bstj
+%A D. M. Ritchie
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1947-1969
+%D 1978
+%O Also in \f1Proc. Hawaii International Conference on Systems Science,\f1 Honolulu, Hawaii, Jan. 1977.
+
+%T U\s-2NIX\s0 Time-Sharing System: The U\s-2NIX\s0 Shell
+%A S. R. Bourne
+%K unix bstj
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1971-1990
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: The C Programming Language
+%A D. M. Ritchie
+%A S. C. Johnson
+%A M. E. Lesk
+%A B. W. Kernighan
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1991-2019
+%D 1978
+%K bstj
+
+%T U\s-2NIX\s0 Time-Sharing System: Portability of C Programs and the U\s-2NIX\s0 System
+%K unix bstj
+%A S. C. Johnson
+%A D. M. Ritchie
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2021-2048
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: The M\s-2ERT\s0 Operating System
+%A H. Lycklama
+%A D. L. Bayer
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%K mert
+%P 2049-2086
+%D 1978
+%K bstj
+
+%T U\s-2NIX\s0 Time-Sharing System: U\s-2NIX\s0 on a Microprocessor
+%K unix bstj
+%A H. Lycklama
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2087-2101
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: A Minicomputer Satellite Processor System
+%A H. Lycklama
+%A C. Christensen
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2103-2113
+%D 1978
+%K bstj unix
+
+%T U\s-2NIX\s0 Time-Sharing System: Document Preparation
+%K unix bstj
+%A B. W. Kernighan
+%A M. E. Lesk
+%A J. F. Ossanna
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2115-2135
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: Statistical Text Processing
+%K unix bstj
+%A L. E. McMahon
+%A L. L. Cherry
+%A R. Morris
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2137-2154
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: Language Development Tools
+%K unix bstj
+%A S. C. Johnson
+%A M. E. Lesk
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2155-2175
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: The Programmer's Workbench
+%A T. A. Dolotta
+%A R. C. Haight
+%A J. R. Mashey
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2177-2200
+%D 1978
+%K unix bstj
+
+%T U\s-2NIX\s0 Time-Sharing System: The U\s-2NIX\s0 Operating System as
+a Base for Applications
+%K unix bstj
+%A G. W. R. Luderer
+%A J. F. Maranzano
+%A B. A. Tague
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2201-2207
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: Microcomputer Control of Apparatus, Machinery, and Experiments
+%K unix bstj
+%A B. C. Wonsiewicz
+%A A. R. Storm
+%A J. D. Sieber
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2209-2232
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: Circuit Design Aids
+%K unix bstj
+%A A. G. Fraser
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2233-2249
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: A Support Environment for M\s-2AC\s0-8 Systems
+%A H. D. Rovegno
+%K mac8 unix
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2251-2263
+%K bstj
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: No. 4 ESS Diagnostic Environment
+%K unix bstj
+%A S. P. Pekarich
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2265-2274
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: R\s-2BCS\s0/R\s-2CMAS\s0 \(em Converting to the M\s-2ERT\s0 Operating System
+%K unix bstj
+%A E. R. Nagelberg
+%A M. A. Pilla
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2275-2287
+%D 1978
+
+%T U\s-2NIX\s0 Time-Sharing System: The Network Operations Center System
+%K unix bstj
+%A H. Cohen
+%A J. C. Kaufeld, Jr.
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2289-2304
+%D 1978
+
diff --git a/refer/papers/Rv7man b/refer/papers/Rv7man
new file mode 100644
index 0000000000000..e5da45212e3b6
--- /dev/null
+++ b/refer/papers/Rv7man
@@ -0,0 +1,405 @@
+%A L. P. Deutsch
+%A B. W. Lampson
+%T An online editor
+%J Comm. Assoc. Comp. Mach.
+%V 10
+%N 12
+%D December 1967
+%P 793-799, 803
+%K qed
+
+.[
+%r 17
+%K cstr
+%R Comp. Sci. Tech. Rep. No. 17
+%I Bell Laboratories
+%C Murray Hill, New Jersey
+%A B. W. Kernighan
+%A L. L. Cherry
+%T A System for Typesetting Mathematics
+%d May 1974, revised April 1977
+%J Comm. Assoc. Comp. Mach.
+%K acm cacm
+%V 18
+%P 151-157
+%D March 1975
+.]
+
+%T U\s-2NIX\s0 Time-Sharing System: Document Preparation
+%K unix bstj
+%A B. W. Kernighan
+%A M. E. Lesk
+%A J. F. Ossanna
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2115-2135
+%D 1978
+
+%A T. A. Dolotta
+%A J. R. Mashey
+%T An Introduction to the Programmer's Workbench
+%J Proc. 2nd Int. Conf. on Software Engineering
+%D October 13-15, 1976
+%P 164-168
+
+%T U\s-2NIX\s0 Time-Sharing System: The Programmer's Workbench
+%A T. A. Dolotta
+%A R. C. Haight
+%A J. R. Mashey
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2177-2200
+%D 1978
+%K unix bstj
+
+%T U\s-2NIX\s0 Time-Sharing System: U\s-2NIX\s0 on a Microprocessor
+%K unix bstj
+%A H. Lycklama
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2087-2101
+%D 1978
+
+%T The C Programming Language
+%A B. W. Kernighan
+%A D. M. Ritchie
+%I Prentice-Hall
+%C Englewood Cliffs, New Jersey
+%D 1978
+
+%T Computer Recreations
+%A Aleph-null
+%J Software Practice and Experience
+%V 1
+%N 2
+%D April-June 1971
+%P 201-204
+
+%T U\s-2NIX\s0 Time-Sharing System: The U\s-2NIX\s0 Shell
+%A S. R. Bourne
+%K unix bstj
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1971-1990
+%D 1978
+
+%A L. P. Deutsch
+%A B. W. Lampson
+%T \*sSDS\*n 930 time-sharing system preliminary reference manual
+%R Doc. 30.10.10, Project \*sGENIE\*n
+%C Univ. Cal. at Berkeley
+%D April 1965
+
+%A R. J. Feiertag
+%A E. I. Organick
+%T The Multics input-output system
+%J Proc. Third Symposium on Operating Systems Principles
+%D October 18-20, 1971
+%P 35-41
+
+%A D. G. Bobrow
+%A J. D. Burchfiel
+%A D. L. Murphy
+%A R. S. Tomlinson
+%T \*sTENEX\*n, a Paged Time Sharing System for the \*sPDP\*n-10
+%J Comm. Assoc. Comp. Mach.
+%V 15
+%N 3
+%D March 1972
+%K tenex
+%P 135-143
+
+%A R. E. Griswold
+%A D. R. Hanson
+%T An Overview of SL5
+%J SIGPLAN Notices
+%V 12
+%N 4
+%D April 1977
+%P 40-50
+
+%A E. W. Dijkstra
+%T Cooperating Sequential Processes
+%B Programming Languages
+%E F. Genuys
+%I Academic Press
+%C New York
+%D 1968
+%P 43-112
+
+%A J. A. Hawley
+%A W. B. Meyer
+%T M\s-2UNIX\s0, A Multiprocessing Version of U\s-2NIX\s0
+%K munix unix
+%R M.S. Thesis
+%I Naval Postgraduate School
+%C Monterey, Cal.
+%D 1975
+
+%T The U\s-2NIX\s0 Time-Sharing System
+%K unix bstj
+%A D. M. Ritchie
+%A K. Thompson
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 1905-1929
+%D 1978
+
+%A E. I. Organick
+%T The M\s-2ULTICS\s0 System
+%K multics
+%I M.I.T. Press
+%C Cambridge, Mass.
+%D 1972
+
+%T UNIX for Beginners
+%A B. W. Kernighan
+%D 1978
+
+%T U\s-2NIX\s0 Programmer's Man\&ual
+%A K. Thompson
+%A D. M. Ritchie
+%K unix
+%I Bell Laboratories
+%O Seventh Edition.
+%D 1978
+
+%A K. Thompson
+%T The U\s-2NIX\s0 Command Language
+%B Structured Programming\(emInfotech State of the Art Report
+%I Infotech International Ltd.
+%C Nicholson House, Maidenhead, Berkshire, England
+%D March 1975
+%P 375-384
+%K unix
+%X pwb
+Brief description of shell syntax and semantics, without much
+detail on implementation.
+Much on pipes and convenience of hooking programs together.
+Includes SERMONETTE:
+"Many familiar computing `concepts' are missing from UNIX.
+Files have no records. There are no access methods.
+There are no file types. These concepts fill a much-needed gap.
+I sincerely hope that when future systems are designed by
+manufacturers the value of some of these ingrained notions is re-examined.
+Like the politician and his `common man', manufacturers have
+their `average user'.
+
+%A J. R. Mashey
+%T PWB/UNIX Shell Tutorial
+%D September 30, 1977
+
+%A D. F. Hartley (Ed.)
+%T The Cambridge Multiple Access System \- Users Reference Manual
+%I University Mathematical Laboratory
+%C Cambridge, England
+%D 1968
+
+%A P. A. Crisman (Ed.)
+%T The Compatible Time-Sharing System
+%I M.I.T. Press
+%K whole ctss book
+%C Cambridge, Mass.
+%D 1965
+
+%T LR Parsing
+%A A. V. Aho
+%A S. C. Johnson
+%J Comp. Surveys
+%V 6
+%N 2
+%P 99-124
+%D June 1974
+
+%T Deterministic Parsing of Ambiguous Grammars
+%A A. V. Aho
+%A S. C. Johnson
+%A J. D. Ullman
+%J Comm. Assoc. Comp. Mach.
+%K acm cacm
+%V 18
+%N 8
+%P 441-452
+%D August 1975
+
+%A A. V. Aho
+%A J. D. Ullman
+%T Principles of Compiler Design
+%I Addison-Wesley
+%C Reading, Mass.
+%D 1977
+
+.[
+%r 65
+%R Comp. Sci. Tech. Rep. No. 65
+%K CSTR
+%A S. C. Johnson
+%T Lint, a C Program Checker
+%D December 1977
+%O updated version TM 78-1273-3
+%D 1978
+.]
+
+%T A Portable Compiler: Theory and Practice
+%A S. C. Johnson
+%J Proc. 5th ACM Symp. on Principles of Programming Languages
+%P 97-104
+%D January 1978
+
+.[
+%r 39
+%K CSTR
+%R Comp. Sci. Tech. Rep. No. 39
+%I Bell Laboratories
+%C Murray Hill, New Jersey
+%A M. E. Lesk
+%T Lex \(em A Lexical Analyzer Generator
+%D October 1975
+.]
+
+.[
+%r 32
+%K CSTR
+%R Comp. Sci. Tech. Rep. No. 32
+%I Bell Laboratories
+%C Murray Hill, New Jersey
+%A S. C. Johnson
+%T Yacc \(em Yet Another Compiler-Compiler
+%D July 1975
+.]
+
+%T U\s-2NIX\s0 Time-Sharing System: Portability of C Programs and the U\s-2NIX\s0 System
+%K unix bstj
+%A S. C. Johnson
+%A D. M. Ritchie
+%J Bell Sys. Tech. J.
+%V 57
+%N 6
+%P 2021-2048
+%D 1978
+
+%T Typing Documents on UNIX and GCOS: The -ms Macros for Troff
+%A M. E. Lesk
+%D 1977
+
+%A K. Thompson
+%A D. M. Ritchie
+%T U\s-2NIX\s0 Programmer's Manual
+%K unix
+%I Bell Laboratories
+%O Sixth Edition
+%D May 1975
+
+%T The Network U\s-2NIX\s0 System
+%K unix
+%A G. L. Chesson
+%J Operating Systems Review
+%V 9
+%N 5
+%P 60-66
+%D 1975
+%O Also in \f2Proc. 5th Symp. on Operating Systems Principles.\f1
+
+%T Spider \(em An Experimental Data Communications System
+%Z ctr127
+%A A. G. Fraser
+%J Proc. IEEE Conf. on Communications
+%P 21F
+%O IEEE Cat. No. 74CH0859-9-CSCB.
+%D June 1974
+
+%T A Virtual Channel Network
+%A A. G. Fraser
+%J Datamation
+%P 51-56
+%D February 1975
+
+.[
+%r 41
+%K CSTR
+%R Comp. Sci. Tech. Rep. No. 41
+%I Bell Laboratories
+%C Murray Hill, New Jersey
+%A J. W. Hunt
+%A M. D. McIlroy
+%T An Algorithm for Differential File Comparison
+%D June 1976
+.]
+
+%A F. P. Brooks, Jr.
+%T The Mythical Man-Month
+%I Addison-Wesley
+%C Reading, Mass.
+%D 1975
+%X pwb
+Readable, classic reference on software engineering and
+problems of large projects, from someone with experience in them.
+Required reading for any software engineer, even if conclusions may not
+always be agreed with.
+%br
+"The second is the most dangerous system a man every designs." p.55.
+%br
+"Hence plan to throw one away; you will, anyhow." p.116.
+%br
+"Cosgrove has perceptively pointed out that the programmer delivers
+satisfaction of a user need rather than any tangible product.
+And both the actual need and the user's perception of that need
+will change as programs are built, tested, and used." p.117.
+%br
+"The total cost of maintaining a widely used program is typically 40 percent
+or more of the cost of developing it." p.121.
+%br
+"As shown above, amalgamating prose and program reduces the total
+number of characters to be stored." p.175.
+
+%T A Portable Compiler for the Language C
+%A A. Snyder
+%I Master's Thesis, M.I.T.
+%C Cambridge, Mass.
+%D 1974
+
+%T The C Language Calling Sequence
+%A M. E. Lesk
+%A S. C. Johnson
+%A D. M. Ritchie
+%D 1977
+
+%T Optimal Code Generation for Expression Trees
+%A A. V. Aho
+%A S. C. Johnson
+%D 1975
+%J J. Assoc. Comp. Mach.
+%K acm jacm
+%V 23
+%N 3
+%P 488-501
+%O Also in \f2Proc. ACM Symp. on Theory of Computing,\f1 pp. 207-217, 1975.
+
+%A R. Sethi
+%A J. D. Ullman
+%T The Generation of Optimal Code for Arithmetic Expressions
+%J J. Assoc. Comp. Mach.
+%K acm jacm
+%V 17
+%N 4
+%D October 1970
+%P 715-728
+%O Reprinted as pp. 229-247 in \fICompiler Techniques\fR, ed. B. W. Pollack, Auerbach, Princeton NJ (1972).
+%X pwb
+Optimal approach for straight-line, fixed
+number of regs.
+
+%T Code Generation for Machines with Multiregister
+Operations
+%A A. V. Aho
+%A S. C. Johnson
+%A J. D. Ullman
+%J Proc. 4th ACM Symp. on Principles of Programming Languages
+%P 21-28
+%D January 1977
+
diff --git a/refer/papers/runinv.sh b/refer/papers/runinv.sh
new file mode 100755
index 0000000000000..1fe03bdad4111
--- /dev/null
+++ b/refer/papers/runinv.sh
@@ -0,0 +1,17 @@
+# Copyright(c) 1988, Sun Microsystems, Inc.
+# All Rights Reserved
+
+# from OpenSolaris "runinv 1.3 98/06/26 SMI"
+
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Sccsid @(#)runinv.sh 1.3 (gritter) 10/25/05
+#
+
+PATH=@REFDIR@:/usr/5bin:$PATH export PATH
+
+mkey R* | inv -v -h997 -n Xind
+mv Xind.ia Ind.ia
+mv Xind.ib Ind.ib
+mv Xind.ic Ind.ic
diff --git a/refer/refer..c b/refer/refer..c
new file mode 100644
index 0000000000000..d98f71626558c
--- /dev/null
+++ b/refer/refer..c
@@ -0,0 +1,180 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer..c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer..c 1.5 (gritter) 12/25/06
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <assert.h>
+#include "global.h"
+#ifndef EUC
+#undef getw
+#define getw(f) getc(f)
+#undef putw
+#define putw(c, f) putc(c, f)
+#endif /* !EUC */
+
+#define FLAG 003
+#define AFLAG 007
+#define NRFTXT 10000
+#define NRFTBL 500
+#define NTFILE 20
+#define QLEN 512
+#define ANSLEN 4000
+#define TAGLEN 400
+#define NSERCH 20
+#define MXSIG 200 /* max bytes in aggregate signal */
+
+extern FILE *in;
+extern int endpush, sort, labels, keywant, bare;
+extern int biblio, science, postpunct;
+extern char *smallcaps;
+extern char *comname;
+extern char *keystr;
+extern char *convert;
+extern int authrev;
+extern int nmlen, dtlen;
+extern char *rdata[], **search;
+extern int refnum;
+extern char *reftable[];
+extern char *rtp, reftext[];
+extern int sep;
+extern char tfile[];
+extern char gfile[];
+extern char ofile[];
+extern char hidenam[];
+extern char *Ifile; extern int Iline;
+extern FILE *fo, *ftemp;
+
+/* deliv2.c */
+int hash(const char *);
+void err(const char *, ...);
+int prefix(const char *, const char *);
+char *mindex(const char *, int);
+void *zalloc(int, int);
+/* glue1.c */
+void huntmain(int, char **);
+char *todir(char *);
+int setfrom(int);
+/* glue2.c */
+void savedir(void);
+void restodir(void);
+/* glue3.c */
+int corout(char *, char *, char *, char *, int);
+int callhunt(char *, char *, char *, int);
+int dodeliv(char *, char *, char *, int);
+/* glue4.c */
+int grepcall(char *, char *, char *);
+void clfgrep(void);
+/* glue5.c */
+int fgrep(int, char **);
+/* hunt1.c */
+char *todir(char *);
+int setfrom(int);
+/* hunt2.c */
+int doquery(long *, int, FILE *, int, char **, unsigned *);
+long getl(FILE *);
+void putl(long, FILE *);
+int hcomp(int, int);
+int hexch(int, int);
+/* hunt3.c */
+int getq(char **);
+/* hunt5.c */
+void result(unsigned *, int, FILE *);
+long gdate(FILE *);
+/* hunt6.c */
+int baddrop(unsigned *, int, FILE *, int, char **, char *, int);
+int auxil(char *, char *);
+/* hunt7.c */
+int findline(char *, char **, int, long);
+/* hunt8.c */
+void runbib(const char *);
+int makefgrep(char *);
+int ckexist(const char *, const char *);
+FILE *iopen(const char *, const char *);
+/* hunt9.c */
+void remote(const char *, const char *);
+/* inv2.c */
+int newkeys(FILE *, FILE *, FILE *, int, FILE *, int *);
+char *trimnl(char *);
+/* inv3.c */
+int getargs(char *, char **);
+/* inv5.c */
+int recopy(FILE *, FILE *, FILE *, int);
+/* inv6.c */
+void whash(FILE *, FILE *, FILE *, int, int, long *, int *);
+void putl(long, FILE *);
+long getl(FILE *);
+/* mkey2.c */
+void dofile(FILE *, char *);
+int outkey(char *, int, int);
+long grec(char *, FILE *);
+char *trimnl(char *);
+void chkey(int, char *);
+/* mkey3.c */
+int common(char *);
+void cominit(void);
+int c_look(char *, int);
+/* refer2.c */
+void doref(char *);
+int newline(const char *);
+void choices(char *);
+int control(int);
+/* refer3.c */
+int corout(char *, char *, char *, char *, int);
+/* refer4.c */
+void output(const char *);
+void append(char *);
+void flout(void);
+char *trimnl(char *);
+/* refer5.c */
+void putsig(int, char **, int, char *, char *, int);
+char *fpar(int, char **, char *, size_t, int, int, int);
+void putkey(int, char **, int, char *);
+void tokeytab(const char *, int);
+int keylet(char *, int);
+void mycpy(char *, const char *);
+void mycpy2(char *, const char *, int);
+void initadd(char *, const char *, const char *);
+char *artskp(char *);
+/* refer6.c */
+void putref(int, char **);
+int tabs(char **, char *);
+char *class(int, char **);
+int hastype(int, char **, int);
+char *caps(char *, char *);
+char *revauth(char *, char *);
+int last(const char *);
+/* refer7.c */
+int chkdup(const char *);
+void dumpold(void);
+void recopy1(char *);
+void condense(int *, int, char *);
+int wswap(const void *, const void *);
+/* refer8.c */
+char *input(char *, size_t);
+char *lookat(void);
+void addch(char *, int);
+/* shell.c */
+void shell(int, int (*)(int, int), int (*)(int, int));
+/* tick.c */
+void tick(void);
+void tock(void);
diff --git a/refer/refer.1 b/refer/refer.1
new file mode 100644
index 0000000000000..3af187e1aea57
--- /dev/null
+++ b/refer/refer.1
@@ -0,0 +1,300 @@
+.\" from 4.3BSD-Tahoe refer.1 6.2 (Berkeley) 5/12/86
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Sccsid @(#)refer.1b 1.4 (gritter) 12/12/05
+.\"
+.\"
+.\".TH REFER 1 "May 12, 1986"
+.Dd December 12, 2005
+.Dt REFER 1
+.Os
+.Sh NAME
+.Nm refer
+.Nd find and insert literature references in documents
+.Sh SYNOPSIS
+.Nm
+.Op Fl abcenPS
+.Op Fl f Ns Ar n
+.Op Fl k Ns Ar x
+.Op Fl l Ns Ar m , Ns Ar n
+.Op Fl p Ar bib
+.Op Fl s Ns Ar keys
+.Op Fl B Ns Ar l , Ns Ar m
+.Op Ar
+.Sh DESCRIPTION
+.Nm
+is a preprocessor for
+.Cm nroff
+or
+.Xr troff 1
+that finds and formats references for footnotes or endnotes.
+It is also the base for a series of programs designed to
+index, search, sort, and print stand-alone bibliographies,
+or other data entered in the appropriate form.
+.Pp
+Given an incomplete citation with sufficiently precise keywords,
+.Cm refer
+will search a bibliographic database for references
+containing these keywords anywhere in the title, author, journal, etc.
+The input file (or standard input)
+is copied to standard output,
+except for lines between .[ and .] delimiters,
+which are assumed to contain keywords,
+and are replaced by information from the bibliographic database.
+The user may also search different databases,
+override particular fields, or add new fields.
+The reference data, from whatever source, are assigned to a set of
+.Cm troff
+strings.
+Macro packages such as
+.Xr ms 7
+print the finished reference text from these strings.
+By default references are flagged by footnote numbers.
+.Pp
+The following options are available:
+.Bl -tag -width XXXXXXXX
+.It Fl a Ns Ar n
+Reverse the first
+.Ar n
+author names (Jones, J. A. instead of J. A. Jones).
+If
+.Ar n
+is omitted all author names are reversed.
+.It Fl b
+Bare mode: do not put any flags in text (neither numbers nor labels).
+.It Fl c Ns Ar keys
+Capitalize (with C\s-2APS\s0 S\s-2MALL\s+2 C\s-2APS\s0)
+the fields whose key-letters are in
+.Ar keys .
+.It Fl e
+Instead of leaving the references where encountered,
+accumulate them until a sequence of the form
+.Bd -literal
+ .[
+ $LIST$
+ .]
+.Ed
+is encountered, and then write out all references collected so far.
+Collapse references to same source.
+.It Fl f Ns Ar n
+Set the footnote number to
+.Ar n
+instead of the default of 1 (one).
+With labels rather than numbers,
+this flag is a no-op.
+.It Fl k Ns Ar x
+Instead of numbering references, use labels as specified in a
+reference data line beginning
+.Ar \&%x;
+by default
+.Ar x
+is
+.Em L.
+.It Fl l Ns Ar m , Ns Ar n
+Instead of numbering references, use labels made from
+the senior author's last name and the year of publication.
+Only the first
+.Ar m
+letters of the last name
+and the last
+.Ar n
+digits of the date are used.
+If either
+.Ar m
+or
+.Ar n
+is omitted the entire name or date respectively is used.
+.It Fl n
+Do not search the default file
+.Pa /usr/ucblib/reftools/papers/Ind .
+If there is a REFER environment variable,
+the specified file will be searched instead of the default file;
+in this case the
+.Fl n
+flag has no effect.
+.It Fl p Ar bib
+Take the next argument
+.Ar bib
+as a file of references to be searched.
+The default file is searched last.
+.It Fl s Ar keys
+Sort references by fields whose key-letters are in the
+.Ar keys
+string;
+permute reference numbers in text accordingly.
+Implies
+.Fl e .
+The key-letters in
+.Ar keys
+may be followed by a number to indicate how many such fields
+are used, with
+.Em +
+taken as a very large number.
+The default is
+.Em AD
+which sorts on the senior author and then date; to sort, for example,
+on all authors and then title, use
+.Fl -s Ns Ar A+T .
+.It Fl B Ns Ar l . Ns Ar m
+Bibliography mode.
+Take a file composed of records separated by blank lines,
+and turn them into
+.Cm troff
+input.
+Label
+.Em l
+will be turned into the macro
+.Em .m
+with
+.Em l
+defaulting to
+.Em \&%X
+and
+.Em .m
+defaulting to
+.Em .AP
+(annotation paragraph).
+.It Fl P
+Place punctuation marks .,:;?! after the reference signal,
+rather than before.
+(Periods and commas used to be done with strings.)
+.It Fl S
+Produce references in the Natural or Social Science format.
+.El
+.Pp
+To use your own references,
+put them in the format described below.
+They can be searched more rapidly by running
+.Xr indxbib 1
+on them before using
+.Cm refer;
+failure to index results in a linear search.
+When
+.Cm refer
+is used with the
+.Cm eqn ,
+.Cm neqn
+or
+.Cm tbl
+preprocessors
+.Cm refer
+should be first, to minimize the volume
+of data passed through pipes.
+.Pp
+The
+.Cm refer
+preprocessor and associated programs
+expect input from a file of references
+composed of records separated by blank lines.
+A record is a set of lines (fields),
+each containing one kind of information.
+Fields start on a line beginning with a ``%'',
+followed by a key-letter, then a blank,
+and finally the contents of the field,
+and continue until the next line starting with ``%''.
+The output ordering and formatting of fields
+is controlled by the macros specified for
+.Cm nroff Ns / Ns Cm troff
+(for footnotes and endnotes) or
+.Cm roffbib
+(for stand-alone bibliographies).
+For a list of the most common key-letters
+and their corresponding fields, see
+.Xr addbib 1 .
+An example of a
+.Cm refer
+entry is given below.
+.Sh EXAMPLE
+.Bd -literal
+%A M. E. Lesk
+%T Some Applications of Inverted Indexes on the \s-1UNIX\s0 System
+%B \s-1UNIX\s0 Programmer's Manual
+%V 2b
+%I Bell Laboratories
+%C Murray Hill, NJ
+%D 1978
+.Ed
+.Sh FILES
+.Bl -tag -width /usr/ucblib/reftools/papers
+.It Pa /usr/ucblib/reftools/papers
+directory of default publication lists
+.It Pa /usr/ucblib/reftools
+directory of companion programs
+.El
+.Sh SEE ALSO
+.Xr addbib 1 ,
+.Xr indxbib 1 ,
+.Xr lookbib 1 ,
+.Xr roffbib 1 ,
+.Xr sortbib 1
+.Sh NOTES
+Blank spaces at the end of lines in bibliography fields
+will cause the records to sort and reverse incorrectly.
+Sorting large numbers of references causes a core dump.
+.Pp
+Written by Mike Lesk.
diff --git a/refer/refer0.c b/refer/refer0.c
new file mode 100644
index 0000000000000..7ad95a2968ab3
--- /dev/null
+++ b/refer/refer0.c
@@ -0,0 +1,54 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer0.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer0.c 1.3 (gritter) 10/22/05
+ */
+
+#include "refer..c"
+
+FILE *in /*= stdin*/;
+FILE *fo /*= stdout*/;
+FILE *ftemp /*= stdout*/;
+int endpush = 0;
+int sort = 0;
+int labels = 0;
+int keywant = 0;
+int bare = 0;
+int biblio = 0;
+int science = 0;
+int postpunct = 0;
+int authrev = 0;
+char *smallcaps = "";
+char *keystr = "AD";
+char *convert = "X.AP";
+int nmlen = 0, dtlen = 0;
+char *rdata[NSERCH];
+char **search = rdata;
+int refnum = 0;
+char reftext[NRFTXT];
+char *reftable[NRFTBL];
+char *rtp = reftext;
+int sep = '\n';
+char tfile[NTFILE];
+char ofile[NTFILE];
+char gfile[NTFILE];
+char hidenam[NTFILE];
+char *Ifile = "standard input";
+int Iline = 0;
diff --git a/refer/refer1.c b/refer/refer1.c
new file mode 100644
index 0000000000000..5243fe3079796
--- /dev/null
+++ b/refer/refer1.c
@@ -0,0 +1,194 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer1.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer1.c 1.3 (gritter) 10/22/05
+ */
+
+#include <signal.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "refer..c"
+
+static void signals(void);
+static void intr(int);
+static void cleanup(void);
+
+int
+main(int argc,char **argv) /* process command-line arguments */
+{
+ char line[BUFSIZ], *s;
+ int nodeflt = 0;
+
+ in = stdin;
+ fo = stdout;
+ ftemp = stdout;
+ signals();
+ while (argc > 1 && argv[1][0] == '-') {
+ switch(argv[1][1]) {
+ case 'e':
+ endpush++;
+ break;
+ case 's':
+ sort++;
+ endpush = 1;
+ if (argv[1][2])
+ keystr = argv[1]+2;
+ break;
+ case 'l':
+ labels++;
+ s = argv[1]+2;
+ nmlen = atoi(s);
+ while (*s)
+ if (*s++ == ',')
+ break;
+ dtlen = atoi(s);
+ break;
+ case 'k':
+ keywant = (argv[1][2] ? argv[1][2] : 'L');
+ labels++;
+ break;
+ case 'n':
+ nodeflt = 1;
+ break;
+ case 'p':
+ argc--;
+ argv++;
+ *search++ = argv[1];
+ if (search-rdata > NSERCH)
+ err("too many -p options (%d)", NSERCH);
+ break;
+ case 'a':
+ authrev = atoi(argv[1]+2);
+ if (authrev<=0)
+ authrev = 1000;
+ break;
+ case 'b':
+ bare = (argv[1][2] == '1') ? 1 : 2;
+ break;
+ case 'c':
+ smallcaps = argv[1]+2;
+ break;
+ case 'f':
+ refnum = atoi(argv[1]+2) - 1;
+ break;
+ case 'B':
+ biblio++;
+ bare = 2;
+ if (argv[1][2])
+ convert = argv[1]+2;
+ break;
+ case 'S':
+ science++;
+ labels = 1;
+ break;
+ case 'P':
+ postpunct++;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+ if (getenv("REFER") != NULL)
+ *search++ = getenv("REFER");
+ else if (nodeflt == 0)
+ *search++ = REFDIR "/papers/Ind";
+ if (sort && !labels) {
+ snprintf(ofile, NTFILE, "/tmp/rj%db", (int)getpid());
+ ftemp = fopen(ofile, "w");
+ if (ftemp == NULL) {
+ fprintf(stderr, "Can't open scratch file\n");
+ exit(1);
+ }
+ }
+ if (endpush) {
+ snprintf(tfile, NTFILE, "/tmp/rj%da", (int)getpid());
+ fo = fopen(tfile, "w");
+ if (fo == NULL) {
+ fo = ftemp;
+ fprintf(stderr, "Can't open scratch file");
+ }
+ sep = 002; /* separate records without confusing sort..*/
+ } else
+ fo = ftemp;
+ do {
+ if (argc > 1) {
+ fclose(in);
+ Iline = 0;
+ in = fopen(Ifile = argv[1], "r");
+ argc--;
+ argv++;
+ if (in == NULL) {
+ err("Can't read %s", Ifile);
+ continue;
+ }
+ }
+ while (input(line, sizeof(line))) {
+ Iline++;
+ if (biblio && *line == '\n')
+ doref(line);
+ else if (biblio && Iline == 1 && *line == '%')
+ doref(line);
+ else if (!prefix(".[", line))
+ output(line);
+ else
+ doref(line);
+ }
+ } while (argc > 1);
+
+ if (endpush && fo != NULL)
+ dumpold();
+ output("");
+ if (sort && !labels)
+ recopy1(ofile);
+ clfgrep();
+ cleanup();
+ return 0;
+}
+
+static void
+signals(void)
+{
+ if (signal(SIGINT, SIG_IGN) != SIG_IGN)
+ signal(SIGINT, intr);
+ signal(SIGHUP, intr);
+ signal(SIGPIPE, intr);
+ signal(SIGTERM, intr);
+}
+
+static void intr(int unused)
+{
+ signal(SIGINT, SIG_IGN);
+ cleanup();
+ exit(1);
+}
+
+static void
+cleanup(void)
+{
+ if (tfile[0])
+ unlink(tfile);
+ if (gfile[0])
+ unlink(gfile);
+ if (ofile[0])
+ unlink(ofile);
+ if (hidenam[0])
+ unlink(hidenam);
+}
diff --git a/refer/refer2.c b/refer/refer2.c
new file mode 100644
index 0000000000000..cf94dcd3a265e
--- /dev/null
+++ b/refer/refer2.c
@@ -0,0 +1,215 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer2.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer2.c 1.4 (gritter) 9/7/08
+ */
+
+#include "refer..c"
+#include <locale.h>
+#include <string.h>
+#include <stdlib.h>
+#include <limits.h>
+#define NFLD 30
+#define TLEN PATH_MAX
+
+extern FILE *in;
+char one[ANSLEN];
+int onelen = ANSLEN;
+static char dr [100] = "";
+
+void
+doref(char *line1)
+{
+ char buff[QLEN], dbuff[3*QLEN];
+ char answer[ANSLEN], temp[TLEN], line[BUFSIZ];
+ char *p, **sr, *flds[NFLD], *r;
+ int nf, nr, query = 0, alph, digs;
+
+ again:
+ buff[0] = dbuff[0] = 0;
+ if (biblio && Iline == 1 && line1[0] == '%')
+ n_strcat(dbuff, line1, sizeof(dbuff));
+ while (input(line, sizeof(line))) { /* get query */
+ Iline++;
+ if (prefix(".]", line))
+ break;
+ if (biblio && line[0] == '\n')
+ break;
+ if (biblio && line[0] == '%' && line[1] == *convert)
+ break;
+ if (control(line[0]))
+ query = 1;
+ n_strcat(query ? dbuff : buff, line, query ?
+ sizeof(dbuff) : sizeof(buff));
+ if (strlen(buff) > QLEN)
+ err("query too long (%d)", strlen(buff));
+ if (strlen(dbuff) > 3 * QLEN)
+ err("record at line %d too long", Iline-1);
+ }
+ if (biblio && line[0] == '\n' && feof(in))
+ return;
+ if (strcmp(buff, "$LIST$\n")==0) {
+ assert (dbuff[0] == 0);
+ dumpold();
+ return;
+ }
+ answer[0] = 0;
+ for (p = buff; *p; p++) {
+ if (isupper((int)*p))
+ *p |= 040;
+ }
+ alph = digs = 0;
+ for (p = buff; *p; p++) {
+ if (isalpha((int)*p))
+ alph++;
+ else
+ if (isdigit((int)*p))
+ digs++;
+ else {
+ *p = 0;
+ if ((alph+digs < 3) || common(p-alph)) {
+ r = p-alph;
+ while (r < p)
+ *r++ = ' ';
+ }
+ if (alph == 0 && digs > 0) {
+ r = p-digs;
+ if (digs != 4 || atoi(r)/100 != 19) {
+ while (r < p)
+ *r++ = ' ';
+ }
+ }
+ *p = ' ';
+ alph = digs = 0;
+ }
+ }
+ one[0] = 0;
+ if (buff[0]) { /* do not search if no query */
+ for (sr = rdata; sr < search; sr++) {
+ temp[0] = 0;
+ corout(buff, temp, "hunt", *sr, TLEN);
+ assert(strlen(temp) < TLEN);
+ if (strlen(temp)+strlen(answer) > BUFSIZ)
+ err("Accumulated answers too large",0);
+ n_strcat(answer, temp, sizeof(answer));
+ if (strlen(answer)>BUFSIZ)
+ err("answer too long (%d)", strlen(answer));
+ if (newline(answer) > 0)
+ break;
+ }
+ }
+ assert(strlen(one) < ANSLEN);
+ assert(strlen(answer) < ANSLEN);
+ if (buff[0])
+ switch (newline(answer)) {
+ case 0:
+ fprintf(stderr, "No such paper: %s\n", buff);
+ return;
+ default:
+ fprintf(stderr, "Too many hits: %s\n", trimnl(buff));
+ choices(answer);
+ p = buff;
+ while (*p != '\n')
+ p++;
+ *++p = 0;
+ case 1:
+ if (endpush)
+ if ((nr = chkdup(answer))) {
+ if (bare < 2) {
+ nf = tabs(flds, one);
+ nf += tabs(flds+nf, dbuff);
+ assert(nf < NFLD);
+ putsig(nf,flds,nr,line1,line,0);
+ }
+ return;
+ }
+ if (one[0] == 0)
+ corout(answer, one, "deliv", dr, QLEN);
+ break;
+ }
+ assert(strlen(buff) < QLEN);
+ assert(strlen(one) < ANSLEN);
+ nf = tabs(flds, one);
+ nf += tabs(flds+nf, dbuff);
+ assert(nf < NFLD);
+ refnum++;
+ if (sort)
+ putkey(nf, flds, refnum, keystr);
+ if (bare < 2)
+ putsig(nf, flds, refnum, line1, line, 1);
+ else
+ flout();
+ putref(nf, flds);
+ if (biblio && line[0] == '\n')
+ goto again;
+ if (biblio && line[0] == '%' && line[1] == *convert)
+ fprintf(fo, "%s%c%s", convert+1, sep, line+3);
+}
+
+int
+newline(const char *s)
+{
+ int k = 0, c;
+
+ while ((c = *s++))
+ if (c == '\n')
+ k++;
+ return(k);
+}
+
+void
+choices(char *buff)
+{
+ char ob[BUFSIZ], *p, *r, *q, *t;
+ int nl;
+
+ for (r = p = buff; *p; p++) {
+ if (*p == '\n') {
+ *p++ = 0;
+ corout(r, ob, "deliv", dr, BUFSIZ);
+ nl = 1;
+ for (q = ob; *q; q++) {
+ if (nl && (q[0]=='.'||q[0]=='%') && q[1]=='T') {
+ q += 3;
+ for (t = q; *t && *t != '\n'; t++)
+ ;
+ *t = 0;
+ fprintf(stderr, "%.70s\n", q);
+ q = 0;
+ break;
+ }
+ nl = *q == '\n';
+ }
+ if (q)
+ fprintf(stderr, "??? at %s\n",r);
+ r=p;
+ }
+ }
+}
+
+int
+control(int c)
+{
+ if (c == '.')
+ return(1);
+ if (c == '%')
+ return(1);
+ return(0);
+}
diff --git a/refer/refer3.c b/refer/refer3.c
new file mode 100644
index 0000000000000..85cb5c82177ca
--- /dev/null
+++ b/refer/refer3.c
@@ -0,0 +1,60 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer3.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer3.c 1.3 (gritter) 10/22/05
+ */
+
+#include <unistd.h>
+#include <string.h>
+#include <sys/wait.h>
+#include "refer..c"
+#define move(x, y) close(y); dup(x); close(x);
+
+int
+corout(char *in, char *out, char *rprog, char *arg, int outlen)
+{
+ int pipev[2], fr1, fr2, fw1, fw2, n;
+ int pid, status;
+
+ pipe(pipev);
+ fr1 = pipev[0];
+ fw1 = pipev[1];
+ pipe(pipev);
+ fr2 = pipev[0];
+ fw2 = pipev[1];
+ if ((pid = fork()) == 0)
+ {
+ close(fw1);
+ close(fr2);
+ move(fr1, 0);
+ move(fw2, 1);
+ execl(rprog, "deliv", arg, NULL);
+ err("Can't run %s", rprog);
+ }
+ close(fw2);
+ close(fr1);
+ write(fw1, in , strlen(in));
+ close(fw1);
+ while (wait(&status) != pid);
+ n = read(fr2, out, outlen);
+ out[n] = 0;
+ close(fr2);
+ return(n);
+}
diff --git a/refer/refer4.c b/refer/refer4.c
new file mode 100644
index 0000000000000..b121d268f0363
--- /dev/null
+++ b/refer/refer4.c
@@ -0,0 +1,108 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer4.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer4.c 1.3 (gritter) 10/22/05
+ */
+
+#include "refer..c"
+#include <locale.h>
+#include <string.h>
+
+#define punctuat(c) (c=='.' || c=='?' || c=='!' || c==',' || c==';' || c==':')
+
+static int gate = 0;
+static char buff[BUFSIZ];
+
+void
+output(const char *s)
+{
+ if (gate)
+ fputs(buff,ftemp);
+ else
+ gate = 1;
+ if (strlen(s) > sizeof buff)
+ err("one buff too big (%d)!", sizeof buff);
+ n_strcpy(buff, s, sizeof(buff));
+}
+
+void
+append(char *s)
+{
+ char *p;
+ int lch;
+
+ trimnl(buff);
+ for (p = buff; *p; p++)
+ ;
+ lch = *--p;
+ if (postpunct && punctuat(lch))
+ *p = 0;
+ else /* pre-punctuation */
+ switch (lch) {
+ case '.':
+ case '?':
+ case '!':
+ case ',':
+ case ';':
+ case ':':
+ *p++ = lch;
+ *p = 0;
+ }
+ n_strcat(buff, s, sizeof(buff));
+ if (postpunct)
+ switch(lch) {
+ case '.':
+ case '?':
+ case '!':
+ case ',':
+ case ';':
+ case ':':
+ for(p = buff; *p; p++)
+ ;
+ if (*--p == '\n')
+ *p = 0;
+ *p++ = lch;
+ *p++ = '\n';
+ *p = 0;
+ }
+ if (strlen(buff) > BUFSIZ)
+ err("output buff too long (%d)", BUFSIZ);
+}
+
+void
+flout(void)
+{
+ if (gate)
+ fputs(buff,ftemp);
+ gate = 0;
+}
+
+char *
+trimnl(char *ln)
+{
+ register char *p = ln;
+
+ while (*p)
+ p++;
+ p--;
+ if (*p == '\n')
+ *p = 0;
+ return(ln);
+}
diff --git a/refer/refer5.c b/refer/refer5.c
new file mode 100644
index 0000000000000..ee9ea3f4b7715
--- /dev/null
+++ b/refer/refer5.c
@@ -0,0 +1,360 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer5.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer5.c 1.3 (gritter) 10/22/05
+ */
+
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "refer..c"
+#define SAME 0
+#define NFLAB 3000 /* number of bytes to record all labels */
+#define NLABC 1000 /* max number of labels */
+
+static char sig[MXSIG];
+static char bflab[NFLAB];
+static char *labtab[NLABC];
+static char *lbp = bflab;
+static char labc[NLABC];
+static char stbuff[50];
+static int prevsig;
+
+void
+putsig (int nf, char **flds, int nref, char *nstline,
+ char *endline, int toindex) /* choose signal style */
+{
+ char t[100], t1[MXSIG], t2[100], format[10], *sd, *stline;
+ int addon = 0, another = 0;
+ static FILE *fhide = 0;
+
+ if (labels) {
+ if (nf == 0) /* old */
+ snprintf(t, sizeof(t), "%s%c", labtab[nref],
+ labc[nref]);
+ else {
+ *t = 0;
+ if (keywant)
+ fpar(nf, flds, t, sizeof(t), keywant, 1, 0);
+ if (science && t[0] == 0) {
+ if (fpar(nf, flds, t, sizeof(t), 'A', 1, 0)
+ != 0) {
+ if (fpar(nf, flds, t2, sizeof(t2),
+ 'D', 1, 0) != 0) {
+ n_strcat(t, ", ", sizeof(t));
+ n_strcat(t, t2, sizeof(t));
+ }
+ }
+ } else if (t[0] == 0) {
+ if (nmlen > 0) {
+ snprintf(format, sizeof(format),
+ "%%.%ds%%s", nmlen);
+ } else {
+ snprintf(format, sizeof(format),
+ "%%s%%s");
+ }
+ /* format is %s%s for default labels */
+ /* or %.3s%s eg if wanted */
+ if (fpar(nf, flds, t2, sizeof(t2), 'D', 1, 0)) {
+ sd = t2;
+ if (dtlen > 0) {
+ int n = strlen(sd) - dtlen;
+ if (n > 0)
+ sd += n;
+ }
+ } else {
+ sd = "";
+ }
+ t1[0] = 0;
+ fpar(nf, flds, t1, sizeof(t1), 'A', 1, 0);
+ snprintf(t, sizeof(t), format, t1, sd);
+ }
+ if (keywant) {
+ addon = 0;
+ for (sd = t; *sd; sd++)
+ ;
+ if (*--sd == '-') {
+ addon = 1;
+ *sd = 0;
+ }
+ }
+ if ((!keywant || addon) && !science) {
+ addch(t, keylet(t, nref));
+ }
+ else {
+ tokeytab (t,nref);
+ }
+ }
+ }
+ else {
+ if (sort)
+ snprintf(t, sizeof(t), "%c%d%c", FLAG, nref, FLAG);
+ else
+ snprintf(t, sizeof(t), "%d", nref);
+ }
+ another = (sd = lookat()) ? prefix(".[", sd) : 0;
+ if (another && (strcmp(".[\n", sd) != SAME))
+ fprintf(stderr, (char *)"File %s line %d: punctuation ignored from: %s",
+ Ifile, Iline, sd);
+ if ((strlen(sig) + strlen(t)) > MXSIG)
+ err("sig overflow (%d)", MXSIG);
+ n_strcat(sig, t, sizeof(sig));
+#if EBUG
+ fprintf(stderr, "sig is now %s leng %d\n",sig,strlen(sig));
+#endif
+ trimnl(nstline);
+ trimnl(endline);
+ stline = stbuff;
+ if (prevsig == 0) {
+ n_strcpy (stline, nstline, sizeof(stbuff));
+ prevsig=1;
+ }
+ if (stline[2] || endline[2]) {
+ stline += 2;
+ endline += 2;
+ }
+ else {
+ stline = "\\*([.";
+ endline = "\\*(.]";
+ }
+ if (science) {
+ stline = " (";
+ endline = ")";
+ }
+ if (bare == 0) {
+ if (!another) {
+ snprintf(t1, sizeof(t1), "%s%s%s\n", stline, sig,
+ endline);
+ if (strlen(t1) > MXSIG)
+ err("t1 overflow (%d)", MXSIG);
+ append(t1);
+ flout();
+ sig[0] = 0;
+ prevsig = 0;
+ if (fo == fhide) {
+ int ch;
+ fclose(fhide);
+ fhide = fopen(hidenam, "r");
+ fo = ftemp;
+ while ((ch = getc(fhide)) != EOF)
+ putc(ch, fo);
+ fclose(fhide);
+ unlink(hidenam);
+ }
+ }
+ else {
+ if (labels) {
+ n_strcat(sig, ",\\|", sizeof(sig));
+ } else {
+ /*
+ * Seperate reference numbers with AFLAG
+ * for later sorting and condensing.
+ */
+ t1[0] = AFLAG;
+ t1[1] = '\0';
+ n_strcat(sig, t1, sizeof(sig));
+ }
+ if (fo == ftemp) { /* hide if need be */
+ snprintf(hidenam, NTFILE,
+ "/tmp/rj%dc", (int)getpid());
+#if EBUG
+ fprintf(stderr, "hiding in %s\n", hidenam);
+#endif
+ fhide = fopen(hidenam, "w");
+ if (fhide == NULL)
+ err("Can't get scratch file %s",
+ hidenam);
+ fo = fhide;
+ }
+ }
+ }
+ if (bare < 2)
+ if (nf > 0 && toindex)
+ fprintf(fo,".ds [F %s%c",t,sep);
+ if (bare > 0)
+ flout();
+#if EBUG
+ fprintf(stderr, "sig is now %s\n",sig);
+#endif
+}
+
+char *
+fpar (int nf, char **flds, char *out, size_t outsiz, int c, int seq,
+ int prepend)
+{
+ char *p, *s;
+ int i, fnd = 0;
+
+ for(i = 0; i < nf; i++)
+ if (flds[i][1] == c && ++fnd >= seq) {
+ /* for titles use first word otherwise last */
+ if (c == 'T' || c == 'J') {
+ p = flds[i]+3;
+ if (prefix("A ", p))
+ p += 2;
+ if (prefix("An ", p))
+ p += 3;
+ if (prefix("The ", p))
+ p += 4;
+ mycpy2(out, p, 20);
+ return(out);
+ }
+ /* if its not 'L' then use just the last word */
+ s = p = flds[i]+2;
+ if (c != 'L') {
+ for(; *p; p++);
+ while (p > s && *p != ' ')
+ p--;
+ }
+ /* special wart for authors */
+ if (c == 'A' && (p[-1] == ',' || p[1] =='(')) {
+ p--;
+ while (p > s && *p != ' ')
+ p--;
+ mycpy(out, p+1);
+ }
+ else
+ n_strcpy(out, p+1, outsiz);
+ if (c == 'A' && prepend)
+ initadd(out, flds[i]+2, p);
+ return(out);
+ }
+ return(0);
+}
+
+void
+putkey(int nf, char **flds, int nref, char *keystr)
+{
+ char t1[50], *sf;
+ int ctype, i, count;
+
+ fprintf(fo, ".\\\"");
+ if (nf <= 0)
+ fprintf(fo, "%s%c%c", labtab[nref], labc[nref], sep);
+ else {
+ while ((ctype = *keystr++)) {
+ count = atoi(keystr);
+ if (*keystr=='+')
+ count=999;
+ if (count <= 0)
+ count = 1;
+ for(i = 1; i <= count; i++) {
+ sf = fpar(nf, flds, t1, sizeof(t1), ctype, i, 1);
+ if (sf == 0)
+ break;
+ sf = artskp(sf);
+ fprintf(fo, "%s%c", sf, '-');
+ }
+ }
+ fprintf(fo, "%c%d%c%c", FLAG, nref, FLAG, sep);
+ }
+}
+
+
+void
+tokeytab (const char *t, int nref)
+{
+ n_strcpy(labtab[nref]=lbp, t, sizeof(bflab) - (lbp - bflab));
+ while (*lbp++)
+ ;
+}
+
+int
+keylet(char *t, int nref)
+{
+ int i;
+ int x = 'a' - 1;
+
+ for(i = 1; i < nref; i++) {
+ if (strcmp(labtab[i], t) == 0)
+ x = labc[i];
+ }
+ tokeytab (t, nref);
+ if (lbp-bflab > NFLAB)
+ err("bflab overflow (%d)", NFLAB);
+ if (nref > NLABC)
+ err("nref in labc overflow (%d)", NLABC);
+#if EBUG
+ fprintf(stderr, "lbp up to %d of %d\n", lbp-bflab, NFLAB);
+#endif
+ return(labc[nref] = x+1);
+}
+
+void
+mycpy(char *s, const char *t)
+{
+ while (*t && *t != ',' && *t != ' ')
+ *s++ = *t++;
+ *s = 0;
+}
+
+void
+mycpy2(char *s, const char *t, int n)
+{
+ int c;
+
+ while (n-- && (c= *t++) > 0) {
+ if (c == ' ')
+ c = '-';
+ *s++ = c;
+ }
+ *s = 0;
+}
+
+void
+initadd(char *to, const char *from, const char *stop)
+{
+ int c, nalph = 1;
+
+ while (*to)
+ to++;
+ while (from < stop) {
+ c = *from++;
+ if (!isalpha(c)) {
+ if (nalph)
+ *to++ = '.';
+ nalph = 0;
+ continue;
+ }
+ if (nalph++ == 0)
+ *to++ = c;
+ }
+ *to = 0;
+}
+
+static char *articles[] = {
+ "the ", "an ", "a ", 0
+};
+
+char *
+artskp(char *s) /* skips over initial "a ", "an ", "the " in s */
+{
+
+ char **p, *r1, *r2;
+
+ for (p = articles; *p; p++) {
+ r2 = s;
+ for (r1 = *p; ((*r1 ^ *r2) & ~040 ) == 0; r1++)
+ r2++;
+ if (*r1 == 0 && *r2 != 0)
+ return(r2);
+ }
+ return(s);
+}
diff --git a/refer/refer6.c b/refer/refer6.c
new file mode 100644
index 0000000000000..91a8abb71a64f
--- /dev/null
+++ b/refer/refer6.c
@@ -0,0 +1,249 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer6.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer6.c 1.3 (gritter) 10/22/05
+ */
+
+#include "refer..c"
+#define dsde (macro? "de" : "ds")
+#define ifnl (macro? sep : ' ')
+
+void
+putref(int n, char **tvec)
+{
+ char *s, *tx;
+ char buf1[BUFSIZ], buf2[50];
+ int nauth = 0, i, lastype = 0, cch, macro = 0, la;
+ int lauth = 0, ltitle = 0, lother = 0;
+
+ fprintf(fo, ".]-%c", sep);
+ for (i = 0; i < n; i++) {
+ s = tvec[i];
+ if (*s == 0)
+ continue;
+ if (control(s[0])) {
+ if (lastype && macro)
+ fprintf(fo, "..%c", sep);
+ if (control(s[1])) {
+ cch = s[2];
+ tx = s+3;
+ macro = 1;
+ }
+ else {
+ cch = s[1];
+ tx = s+2;
+ macro = 0;
+ }
+ }
+ else {
+ cch = lastype;
+ tx = s;
+ }
+#if EBUG
+ fprintf(stderr, "smallcaps %s cch %c\n",smallcaps, cch);
+#endif
+ if (mindex(smallcaps, cch))
+ tx = caps(tx, buf1);
+#if EBUG
+ fprintf(stderr, " s %o tx %o %s\n",s,tx,tx);
+#endif
+ if (!control(s[0])) { /* append to previous item */
+ if (lastype != 0) {
+ if (macro)
+ fprintf(fo, "%s%c", tx, sep);
+ else
+ fprintf(fo, ".as [%c \" %s%c",lastype,tx,sep);
+ if (lastype == 'T')
+ ltitle = (mindex(".;,?", last(tx))!=0);
+ if (lastype == 'A')
+ lauth = last(tx) == '.';
+ }
+ continue;
+ }
+ if (mindex("XYZ[]", cch)) { /* skip these */
+ lastype = 0;
+ continue;
+ }
+ else {
+ if (cch == 'A') {
+ if (nauth < authrev)
+ tx = revauth(tx, buf2);
+ if (nauth++ == 0)
+ if (macro)
+ fprintf(fo,
+ ".de [%c%c%s%c",cch,sep,tx,sep);
+ else
+ fprintf(fo,
+ ".ds [%c%s%c", cch,tx,sep);
+ else {
+ la = (tvec[i+1][1]!='A');
+ fprintf(fo, ".as [A \"");
+ if (la == 0 || nauth != 2)
+ fprintf(fo, ",");
+ if (la)
+ fprintf(fo,"%s",
+ mindex(smallcaps, 'A') ? " \\s-2AND\\s+2" : " and");
+ fprintf(fo, "%s%c", tx, sep);
+ }
+ lauth = last(tx) == '.';
+ }
+ else {
+ if (macro)
+ fprintf(fo,
+ ".de [%c%c%s%c",cch,sep,tx,sep);
+ else
+ fprintf(fo, ".ds [%c%s%c",cch,tx, sep);
+ }
+ }
+ if (cch == 'P')
+ fprintf(fo, ".nr [P %d%c", mindex(s, '-')!=0, sep);
+ lastype = cch;
+ if (cch == 'T')
+ ltitle = (mindex(".;,?", last(tx)) != 0);
+ if (cch == 'O')
+ lother = (mindex(".;,?", last(tx)) != 0);
+ }
+ if (lastype && macro)
+ fprintf(fo, "..%c", sep);
+ fprintf(fo, ".nr [T %d%c", ltitle, sep);
+ fprintf(fo, ".nr [A %d%c", lauth, sep);
+ fprintf(fo, ".nr [O %d%c", lother, sep);
+ fprintf(fo, ".][ %s%c", class(n, tvec), '\n');
+}
+
+int
+tabs (char **sv, char *line)
+{
+ char *p;
+ int n = 0;
+
+ sv[n++] = line;
+ for (p = line; *p; p++) {
+ if (*p == '\n') {
+ *p = 0;
+ sv[n++] = p+1;
+ }
+ }
+ return(n-1);
+}
+
+char *
+class (int nt, char **tv)
+{
+ if (hastype (nt, tv, 'J'))
+ return("1 journal-article");
+ if (hastype (nt, tv, 'B'))
+ return("3 article-in-book");
+ if (hastype (nt, tv, 'R'))
+ return ("4 tech-report");
+ if (hastype (nt, tv, 'G'))
+ return ("4 tech-report");
+ if (hastype (nt, tv, 'I'))
+ return("2 book");
+ if (hastype (nt, tv,'M'))
+ return ("5 bell-tm");
+ return("0 other");
+}
+
+int
+hastype (int nt, char **tv, int c)
+{
+ int i;
+ for (i = 0; i < nt; i++)
+ if (control(tv[i][0]) && tv[i][1]==c )
+ return(1);
+ return(0);
+}
+
+char *
+caps(char *a, char *b)
+{
+ char *p;
+ int c, alph, this;
+
+ p = b;
+ alph = 0;
+ while ((c = *a++)) {
+ this = isalpha(c);
+ if (this && alph == 1) {
+ *b++ = '\\';
+ *b++ = 's';
+ *b++ = '-';
+ *b++ = '2';
+ }
+ if (!this && alph > 1) {
+ *b++ = '\\';
+ *b++ = 's';
+ *b++ = '+';
+ *b++ = '2';
+ }
+ if (this)
+ c &= (~040);
+ *b++ = c;
+ alph = this ? alph+1 : 0;
+ }
+ if (alph > 1) {
+ *b++ = '\\';
+ *b++ = 's';
+ *b++ = '+';
+ *b++ = '2';
+ }
+ *b = 0;
+ return(p);
+}
+
+char *
+revauth(char *s, char *b)
+{
+ char *init, *name, *jr, *p, *bcop;
+
+ bcop = b;
+ init = name = s;
+ while (*name)
+ name++;
+ jr = name;
+ while (name > init && *name!= ' ')
+ name--;
+ if (name[-1] == ',' || name[-1]== '(' ) {
+ jr = --name;
+ while (name>init && *name != ' ')
+ name--;
+ }
+ p = name;
+ while (p < jr)
+ *b++ = *p++;
+ *b++ = ',';
+ while (init < name)
+ *b++ = *init++;
+ if (*jr)
+ jr++;
+ while(*jr)
+ *b++ = *jr++;
+ *b++ = 0;
+ return(bcop);
+}
+
+int
+last(const char *s)
+{
+ while (*s)
+ s++;
+ return(*--s);
+}
diff --git a/refer/refer7.c b/refer/refer7.c
new file mode 100644
index 0000000000000..6a185f0c7d029
--- /dev/null
+++ b/refer/refer7.c
@@ -0,0 +1,183 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer7.c 1.4 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer7.c 1.3 (gritter) 10/22/05
+ */
+
+#include "refer..c"
+#include <locale.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int newr[250];
+
+int
+chkdup(const char *tag)
+{
+ int i;
+
+ for(i = 1; i <= refnum; i++) {
+ if (reftable[i] && strcmp(reftable[i], tag)==0)
+ return(i);
+ }
+ reftable[refnum+1] = rtp;
+ if (refnum >= NRFTBL)
+ err("too many references (%d) for table", refnum);
+ n_strcpy(rtp, tag, NRFTXT - (rtp - reftext));
+ while (*rtp++);
+ if (rtp > reftext + NRFTXT)
+ err("reference pointers too long (%d)", rtp-reftext);
+ return(0);
+}
+
+void
+dumpold(void)
+{
+ FILE *fi;
+ int c, g1 = 0, nr = 1;
+
+ if (!endpush)
+ return;
+ fclose(fo);
+ fo = NULL;
+ if (sort) {
+ char comm[100];
+ snprintf(comm, sizeof(comm), "sort -f %s -o %s", tfile, tfile);
+ system(comm);
+ }
+ fi = fopen(tfile, "r");
+ if (fi == NULL)
+ return;
+ flout();
+ fprintf(ftemp, ".]<\n");
+ while ((c = getc(fi)) > 0) {
+ if (c == '\n') {
+ nr++;
+ g1 = 0;
+ }
+ if (c == sep)
+ c = '\n';
+ if (c == FLAG) {
+ /* make old-new ref number table */
+ char tb[20];
+ char *s = tb;
+ while ((c = getc(fi)) != FLAG)
+ *s++ = c;
+ *s = 0;
+ if (g1++ == 0)
+ newr[atoi(tb)] = nr;
+#if EBUG
+ fprintf(stderr,
+ "nr %d assigned to atoi(tb) %d\n",nr,atoi(tb));
+# endif
+ fprintf(ftemp,"%d", nr);
+ continue;
+ }
+ putc(c, ftemp);
+ }
+ fclose(fi);
+#ifndef TF
+ unlink(tfile);
+#endif
+ fprintf(ftemp, ".]>\n");
+}
+
+void
+recopy1 (char *fnam)
+{
+ int c;
+ int *wref = NULL;
+ int wcnt = 0;
+ int wsize = 50;
+ int finalrn;
+ char sig[MXSIG];
+
+ wref = calloc((unsigned)wsize, (unsigned)sizeof(int));
+ fclose(ftemp);
+ ftemp = fopen(fnam, "r");
+ if (ftemp == NULL) {
+ fprintf(stderr, "Can't reopen %s\n", fnam);
+ exit(1);
+ }
+ while ((c = getc(ftemp)) != EOF) {
+ if (c == FLAG) {
+ char tb[10];
+ char *s = tb;
+ while ((c = getc(ftemp)) != FLAG)
+ *s++ = c;
+ *s = 0;
+ /*
+ * If sort was done, permute the reference number
+ * to obtain the final reference number, finalrn.
+ */
+ if (sort)
+ finalrn = newr[atoi(tb)];
+ else
+ finalrn = atoi(tb);
+ if ((++wcnt > wsize) &&
+ ((wref=realloc(wref,(wsize+=50)*sizeof(int)))==NULL)){
+ fprintf(stderr, "Ref condense out of memory.");
+ exit(1);
+ }
+ wref[wcnt-1] = finalrn;
+ if ((c = getc(ftemp)) == AFLAG)
+ continue;
+ wref[wcnt] = 0;
+ condense(wref,wcnt,sig);
+ wcnt = 0;
+ printf("%s", sig);
+ }
+ putchar(c);
+ }
+ fclose(ftemp);
+ unlink(fnam);
+}
+
+/*
+ * sort and condense reference signals when they are placed in
+ * the text. Viz, the signal 1,2,3,4 is condensed to 1-4 and signals
+ * of the form 5,2,9 are converted to 2,5,9
+ */
+void
+condense(int *wref, int wcnt, char *sig)
+{
+ register int i = 0;
+ char wt[4];
+
+ qsort(wref, wcnt, sizeof(int), wswap);
+ sig[0] = 0;
+ while (i < wcnt) {
+ snprintf(wt, sizeof(wt), "%d",wref[i]);
+ n_strcat(sig,wt, MXSIG);
+ if ((i+2 < wcnt) && (wref[i] == (wref[i+2] - 2))) {
+ while (wref[i] == (wref[i+1] - 1))
+ i++;
+ n_strcat(sig, "-", MXSIG);
+ } else if (++i < wcnt)
+ n_strcat(sig,",\\|", MXSIG);
+ }
+}
+
+int
+wswap(register const void *iw1, register const void *iw2)
+{
+ return(*(const int *)iw1 - *(const int *)iw2);
+}
diff --git a/refer/refer8.c b/refer/refer8.c
new file mode 100644
index 0000000000000..31feb951f1947
--- /dev/null
+++ b/refer/refer8.c
@@ -0,0 +1,61 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "refer8.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)refer8.c 1.3 (gritter) 10/22/05
+ */
+
+#include <string.h>
+#include "refer..c"
+
+static char ahead[1024];
+static int peeked = 0;
+static char *noteof = (char *) 1;
+
+char *
+input(char *s, size_t l)
+{
+ if (peeked) {
+ peeked = 0;
+ if (noteof == 0)
+ return(0);
+ if (s != ahead) n_strcpy(s, ahead, l);
+ return(s);
+ }
+ return(fgets(s, 1000, in));
+}
+
+char *
+lookat(void)
+{
+ if (peeked)
+ return(ahead);
+ noteof = input(ahead, sizeof(ahead));
+ peeked = 1;
+ return(noteof);
+}
+
+void
+addch(char *s, int c)
+{
+ while (*s)
+ s++;
+ *s++ = c;
+ *s = 0;
+}
diff --git a/refer/roffbib.1 b/refer/roffbib.1
new file mode 100644
index 0000000000000..815abf8f592d0
--- /dev/null
+++ b/refer/roffbib.1
@@ -0,0 +1,171 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Sccsid @(#)roffbib.1b 1.4 (gritter) 12/12/05
+.\"
+.\"
+.\" from 4.3BSD-Tahoe roffbib.1 6.2 (Berkeley) 5/7/86
+.\"
+.\".TH ROFFBIB 1 "May 7, 1986"
+.Dd December 12, 2005
+.Dt ROFFBIB 1
+.Os
+.Sh NAME
+.Nm roffbib
+.Nd run off bibliographic database
+.Sh SYNOPSIS
+.Nm
+.Op Fl ehnorsxVQ
+.Op Fl T Ns Ar term
+.Op Fl m Ns Ar mac
+.Op Ar
+.Sh DESCRIPTION
+.Nm
+prints out all records in a bibliographic database,
+in bibliography format rather than as footnotes or endnotes.
+Generally it is used in conjunction with
+.Cm sortbib :
+.Bd -literal
+sortbib database | roffbib
+.Ed
+.Nm
+accepts most of the options understood by
+.Xr nroff 1 ,
+most importantly the
+.Fl T
+flag to specify terminal type.
+.Pp
+If abstracts or comments are entered following the %X field key,
+.Nm
+will format them into paragraphs for an annotated bibliography.
+Several %X fields may be given if several
+annotation paragraphs are desired.
+The
+.Fl x
+flag will suppress the printing of these abstracts.
+.Pp
+A user-defined set of macros
+may be specified after the
+.Fl m
+option.
+There should be a space between the
+.Fl m
+and the macro filename.
+This set of macros will replace the ones
+defined in
+.Pa /usr/ucblib/doctools/tmac/bib .
+The
+.Fl V
+flag will send output to the Versatec; the
+.Fl Q
+flag will queue output for the phototypesetter.
+.Pp
+Four command-line registers control formatting style
+of the bibliography, much like the number registers of
+.Xr ms 7 .
+The command-line argument
+.Fl r Ns Ar N1
+will number
+the references starting at one (1).
+The flag
+.Fl r Ns Ar V2
+will double space the biblio\%graphy,
+while
+.Fl r Ns Ar V1
+will double space references
+but single space annotation paragraphs.
+The line length can be changed from the default 6.5 inches
+to 6 inches with the
+.Fl r Ns Ar L6i
+argument,
+and the page offset can be set from the default of 0
+to one inch by specifying
+.Fl r Ns Ar O1i
+(capital O, not zero).
+Note: with the
+.Fl V
+and
+.Fl Q
+flags
+the default page offset is already one inch.
+.Sh FILES
+.Bl -tag -width /usr/ucblib/doctools/tmac/bib
+.It Pa /usr/ucblib/doctools/tmac/bib
+file of macros used by
+.Cm nroff Ns / Ns Cm troff
+.El
+.Sh SEE ALSO
+.Xr addbib 1 ,
+.Xr indxbib 1 ,
+.Xr lookbib 1 ,
+.Xr refer 1 ,
+.Xr sortbib 1
+.Sh NOTES
+Users have to rewrite macros
+to create customized formats.
diff --git a/refer/roffbib.sh b/refer/roffbib.sh
new file mode 100755
index 0000000000000..d575b9181de95
--- /dev/null
+++ b/refer/roffbib.sh
@@ -0,0 +1,56 @@
+# Copyright 1988 Sun Microsystems, Inc. All Rights Reserved.
+# Use is subject to license terms.
+
+# Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
+# All Rights Reserved
+
+# Copyright (c) 1980 Regents of the University of California.
+# All rights reserved. The Berkeley software License Agreement
+# specifies the terms and conditions for redistribution.
+
+# from OpenSolaris "roffbib.sh 1.6 05/06/03 SMI"
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Sccsid @(#)roffbib.sh 1.3 (gritter) 10/22/05
+
+#
+# roffbib sh script
+#
+flags=
+abstr=
+headr=BIBLIOGRAPHY
+xroff=@BINDIR@/nroff
+macro=-mbib
+
+for i
+do case $1 in
+ -[onsrT]*|-[qeh])
+ flags="$flags $1"
+ shift ;;
+ -x)
+ abstr="X.ig ]-"
+ shift ;;
+ -m)
+ shift
+ macro="-m$1"
+ shift ;;
+ -Q)
+ xroff="@BINDIR@/troff"
+ shift ;;
+ -H)
+ shift
+ headr="$1"
+ shift ;;
+ -*)
+ echo "roffbib: unknown flag: $1"
+ shift
+ esac
+done
+if test "x$1" != x
+then
+ (echo .ds TL $headr; @BINDIR@/refer -a1 -B"$abstr" "$@") | \
+ $xroff $flags $macro
+else
+ (echo .ds TL $headr; @BINDIR@/refer -a1 -B"$abstr") | $xroff $flags $macro
+fi
diff --git a/refer/shell.c b/refer/shell.c
new file mode 100644
index 0000000000000..3dbc9f41aa988
--- /dev/null
+++ b/refer/shell.c
@@ -0,0 +1,51 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "shell.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)shell.c 1.4 (gritter) 12/25/06
+ */
+
+/*
+ * SORTS UP.
+ * IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP
+ * THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP
+ */
+void
+shell (int n, int (*comp)(int, int), int (*exch)(int, int))
+{
+ int igap, iplusg, iex, i, imax;
+ igap=n;
+ while (igap > 1)
+ {
+ igap /= 2;
+ imax = n-igap;
+ do
+ {
+ iex=0;
+ for(i=0; i<imax; i++)
+ {
+ iplusg = i + igap;
+ if ((*comp) (i, iplusg) ) continue;
+ (*exch) (i, iplusg);
+ iex=1;
+ }
+ }
+ while (iex>0);
+ }
+}
diff --git a/refer/sortbib.1 b/refer/sortbib.1
new file mode 100644
index 0000000000000..f4694e3916b8d
--- /dev/null
+++ b/refer/sortbib.1
@@ -0,0 +1,146 @@
+.\" Copyright (c) 1983 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" Sccsid @(#)sortbib.1b 1.4 (gritter) 12/12/05
+.\"
+.\" from 4.3BSD-Tahoe sortbib.1 6.1 (Berkeley) 4/29/85
+.\"
+.\".TH SORTBIB 1 "April 29, 1985"
+.Dd December 12, 2005
+.Dt SORTBIB 1
+.Os
+.Sh NAME
+.Nm sortbib
+.Nd sort bibliographic database
+.Sh SYNOPSIS
+.Nm
+.Op Fl s Ar KEYS
+.Ar database
+.Ar ...
+.Sh DESCRIPTION
+.Nm
+sorts files of records containing
+.Cm refer
+key-letters by user-specified keys. Records may be separated by blank lines,
+or by \&.[ and \&.] delimiters, but the two styles may not be mixed together.
+This program reads through each
+.Ar database
+and pulls out key fields, which are sorted separately. The sorted key fields
+contain the file pointer, byte offset, and length of corresponding records.
+These records are delivered using disk seeks and reads, so
+.Nm
+may not be used in a pipeline to read standard input.
+.Pp
+By default,
+.Nm
+alphabetizes by the first %A and the %D fields,
+which contain the senior author and date.
+The
+.Fl s
+option is used to specify new
+.Ar KEYS .
+For instance,
+.Fl -s Ar ATD
+will sort by author, title, and date,
+while
+.Fl s Ar A+D
+will sort by all authors, and date.
+Sort keys past the fourth are not meaningful.
+No more than 16 databases may be sorted together at one time.
+Records longer than 4096 characters will be truncated.
+.Pp
+.Nm
+sorts on the last word on the %A line,
+which is assumed to be the author's last name.
+A word in the final position, such as ``jr.'' or ``ed.'',
+will be ignored if the name beforehand ends with a comma.
+Authors with two-word last names or unusual constructions
+can be sorted correctly by using the
+.Cm nroff
+convention ``\e0'' in place of a blank.
+A %Q field is considered to be the same as %A,
+except sorting begins with the first, not the last, word.
+.Nm
+sorts on the last word of the %D line, usually the year.
+It also ignores leading articles (like ``A'' or ``The'')
+when sorting by titles in the %T or %J fields;
+it will ignore articles of any modern European language.
+If a sort-significant field is absent from a record,
+.Nm
+places that record before other records containing that field.
+.Sh SEE ALSO
+.Xr addbib 1 ,
+.Xr indxbib 1 ,
+.Xr lookbib 1 ,
+.Xr refer 1 ,
+.Xr roffbib 1
+.Sh NOTES
+Records with missing author fields should probably be sorted by title.
+.Pp
+Written by Greg Shenaut & Bill Tuthill.
diff --git a/refer/sortbib.c b/refer/sortbib.c
new file mode 100644
index 0000000000000..be70a7003c2a4
--- /dev/null
+++ b/refer/sortbib.c
@@ -0,0 +1,343 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983-1988 by Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "sortbib.c 1.9 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)sortbib.c 1.3 (gritter) 10/22/05
+ */
+
+#include <locale.h>
+#include <stdio.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "global.h"
+
+#define BUF BUFSIZ
+#define MXFILES 16
+
+char tempfile[32]; /* temporary file for sorting keys */
+int tmpfd = -1;
+char *keystr = "AD"; /* default sorting on author and date */
+int multauth = 0; /* by default sort on senior author only */
+int oneauth; /* has there been author in the record? */
+
+static void sortbib(FILE *, FILE *, int);
+static void deliver(FILE **, FILE *);
+static void parse(char *, char [][BUF]);
+static int article(const char *);
+static void eval(char *);
+static void error(const char *);
+static void onintr(int);
+static int endcomma(char *);
+
+int
+main(int argc, char **argv) /* sortbib: sort bibliographic database in place */
+{
+ FILE *fp[MXFILES], *tfp;
+ int i;
+
+ if (argc == 1) /* can't use stdin for seeking anyway */
+ {
+ puts("Usage: sortbib [-sKEYS] database [...]\n\
+\t-s: sort by fields in KEYS (default is AD)");
+ exit(1);
+ }
+ if (argc > 2 && argv[1][0] == '-' && argv[1][1] == 's')
+ {
+ /* if a key is specified use it, otherwise use default key */
+ if (argv[1][2] != '\0')
+ keystr = argv[1] + 2;
+ eval(keystr); /* evaluate A+ for multiple authors */
+ argv++; argc--;
+ }
+ if (argc > MXFILES+1) /* too many open file streams */
+ {
+ fprintf(stderr,
+ "sortbib: More than %d databases specified\n",
+ MXFILES);
+ exit(1);
+ }
+ for (i = 1; i < argc; i++) /* open files in arg list */
+ if ((fp[i-1] = fopen(argv[i], "r")) == NULL)
+ error(argv[i]);
+ /* tempfile for sorting keys */
+ n_strcpy(tempfile, "/tmp/SbibXXXXXX", sizeof(tempfile));
+ if ((tmpfd = mkstemp(tempfile)) == -1)
+ error(tempfile);
+
+ close(tmpfd);
+ if (signal(SIGINT, SIG_IGN) != SIG_IGN) /* remove if interrupted */
+ signal(SIGINT, onintr);
+ if ((tfp = fopen(tempfile, "w")) == NULL) {
+ unlink(tempfile);
+ error(tempfile);
+ }
+ for (i = 0; i < argc-1; i++) /* read keys from bib files */
+ sortbib(fp[i], tfp, i);
+ fclose(tfp);
+ deliver(fp, tfp); /* do disk seeks and read from biblio files */
+ unlink(tempfile);
+ return 0;
+}
+
+static int rsmode = 0; /* record separator: 1 = null line, 2 = bracket */
+
+static void
+sortbib(FILE *fp, FILE *tfp, int i) /* read records, prepare list for sorting */
+{
+ long offset, lastoffset = 0; /* byte offsets in file */
+ int length, newrec = 0, recno = 0; /* reclen, new rec'd?, number */
+ char line[BUF], fld[4][BUF]; /* one line, the sort fields */
+
+ /* measure byte offset, then get new line */
+ while (offset = ftell(fp), fgets(line, BUF, fp))
+ {
+ if (recno == 0) /* accept record w/o initial newline */
+ newrec = 1;
+ if (line[0] == '\n') /* accept null line record separator */
+ {
+ if (!rsmode)
+ rsmode = 1; /* null line mode */
+ if (rsmode == 1)
+ newrec = 1;
+ }
+ if (line[0] == '.' && line[1] == '[') /* also accept .[ .] */
+ {
+ if (!rsmode)
+ rsmode = 2; /* bracket pair mode */
+ if (rsmode == 2)
+ newrec = 1;
+ }
+ if (newrec) /* by whatever means above */
+ {
+ newrec = 0;
+ length = offset - lastoffset; /* measure rec len */
+ if (length > BUF*8) {
+ fprintf(stderr,
+ "sortbib: record %d longer than %d (%d)\n",
+ recno, BUF*8, length);
+ unlink(tempfile);
+ exit(1);
+ }
+ if (recno++) /* info for sorting */
+ {
+ fprintf(tfp, "%d %ld %d : %s %s %s %s\n",
+ i, lastoffset, length,
+ fld[0], fld[1], fld[2], fld[3]);
+ if (ferror(tfp)) {
+ unlink(tempfile);
+ error(tempfile);
+ }
+ }
+ *fld[0] = *fld[1] = *fld[2] = *fld[3] = 0;
+ oneauth = 0; /* reset number of authors */
+ lastoffset = offset; /* save for next time */
+ }
+ if (line[0] == '%') /* parse out fields to be sorted */
+ parse(line, fld);
+ }
+ offset = ftell(fp); /* measure byte offset at EOF */
+ length = offset - lastoffset; /* measure final record length */
+ if (length > BUF*8)
+ {
+ fprintf(stderr,
+ "sortbib: record %d longer than %d (%d)\n",
+ recno, BUF*8, length);
+ unlink(tempfile);
+ exit(1);
+ }
+ if (line[0] != '\n') /* ignore null line just before EOF */
+ {
+ fprintf(tfp, "%d %ld %d : %s %s %s %s\n",
+ i, lastoffset, length,
+ fld[0], fld[1], fld[2], fld[3]);
+ if (ferror(tfp)) {
+ unlink(tempfile);
+ error(tempfile); /* disk error in /tmp */
+ }
+ }
+}
+
+static void
+deliver(FILE **fp, FILE *tfp) /* deliver sorted entries out of database(s) */
+{
+ char str[BUF], buff[BUF*8]; /* for tempfile & databases */
+ char cmd[80]; /* for using system sort command */
+ long int offset;
+ int i, length;
+
+ /* when sorting, ignore case distinctions; tab char is ':' */
+ snprintf(cmd, sizeof(cmd), "sort +4f +0n +1n %s -o %s", tempfile,
+ tempfile);
+ if (system(cmd) == 127) {
+ unlink(tempfile);
+ error("sortbib");
+ }
+ tfp = fopen(tempfile, "r");
+ while (fgets(str, sizeof (str), tfp))
+ {
+ /* get file pointer, record offset, and length */
+ if (sscanf(str, "%d %ld %d :", &i, &offset, &length) != 3)
+ error("sortbib: sorting error");
+ /* seek to proper disk location in proper file */
+ if (fseek(fp[i], offset, SEEK_SET) == -1) {
+ unlink(tempfile);
+ error("sortbib");
+ }
+ /* read exactly one record from bibliography */
+ if (fread(buff, sizeof (*buff), length, fp[i]) == 0) {
+ unlink(tempfile);
+ error("sortbib");
+ }
+ /* add newline between unseparated records */
+ if (buff[0] != '\n' && rsmode == 1)
+ putchar('\n');
+ /* write record buffer to standard output */
+ if (fwrite(buff, sizeof (*buff), length, stdout) == 0) {
+ unlink(tempfile);
+ error("sortbib");
+ }
+ }
+}
+
+static void
+parse(char *line, char fld[][BUF]) /* get fields out of line, prepare for sorting */
+{
+ char wd[8][BUF/4];
+ int n, i, j;
+
+ for (i = 0; i < 8; i++) /* zap out old strings */
+ *wd[i] = 0;
+ n = sscanf(line, "%s %s %s %s %s %s %s %s",
+ wd[0], wd[1], wd[2], wd[3], wd[4], wd[5], wd[6], wd[7]);
+ for (i = 0; i < 4; i++)
+ {
+ if (wd[0][1] == keystr[i])
+ {
+ if (wd[0][1] == 'A')
+ {
+ if (oneauth && !multauth) /* no repeat */
+ break;
+ else if (oneauth) /* mult auths */
+ n_strcat(fld[i], "~~", BUF);
+ if (!endcomma(wd[n-2])) /* surname */
+ n_strcat(fld[i], wd[n-1], BUF);
+ else { /* jr. or ed. */
+ n_strcat(fld[i], wd[n-2], BUF);
+ n--;
+ }
+ n_strcat(fld[i], " ", BUF);
+ for (j = 1; j < n-1; j++)
+ n_strcat(fld[i], wd[j], BUF);
+ oneauth = 1;
+ } else if (wd[0][1] == 'D') {
+ n_strcat(fld[i], wd[n-1], BUF); /* year */
+ if (n > 2)
+ n_strcat(fld[i], wd[1], BUF); /* month */
+ } else if (wd[0][1] == 'T' || wd[0][1] == 'J') {
+ j = 1;
+ if (article(wd[1])) /* skip article */
+ j++;
+ for (; j < n; j++)
+ n_strcat(fld[i], wd[j], BUF);
+ } else /* any other field */
+ for (j = 1; j < n; j++)
+ n_strcat(fld[i], wd[j], BUF);
+ }
+ /* %Q quorporate or queer author - unreversed %A */
+ else if (wd[0][1] == 'Q' && keystr[i] == 'A')
+ for (j = 1; j < n; j++)
+ n_strcat(fld[i], wd[j], BUF);
+ }
+}
+
+static int
+article(const char *str) /* see if string contains an article */
+{
+ if (strcmp("The", str) == 0) /* English */
+ return (1);
+ if (strcmp("A", str) == 0)
+ return (1);
+ if (strcmp("An", str) == 0)
+ return (1);
+ if (strcmp("Le", str) == 0) /* French */
+ return (1);
+ if (strcmp("La", str) == 0)
+ return (1);
+ if (strcmp("Der", str) == 0) /* German */
+ return (1);
+ if (strcmp("Die", str) == 0)
+ return (1);
+ if (strcmp("Das", str) == 0)
+ return (1);
+ if (strcmp("El", str) == 0) /* Spanish */
+ return (1);
+ if (strcmp("Den", str) == 0) /* Scandinavian */
+ return (1);
+ return (0);
+}
+
+static void
+eval(char *keystr) /* evaluate key string for A+ marking */
+{
+ int i, j;
+
+ for (i = 0, j = 0; keystr[i]; i++, j++)
+ {
+ if (keystr[i] == '+')
+ {
+ multauth = 1;
+ i++;
+ }
+ if (keystr[i] == 0)
+ break;
+ keystr[j] = keystr[i];
+ }
+ keystr[j] = 0;
+}
+
+static void
+error(const char *s) /* exit in case of various system errors */
+{
+ perror(s);
+ exit(1);
+}
+
+static void
+onintr(int unused) /* remove tempfile in case of interrupt */
+{
+ fprintf(stderr, "\nInterrupt\n");
+ unlink(tempfile);
+ exit(1);
+}
+
+static int
+endcomma(char *str)
+{
+ int n;
+
+ n = strlen(str) - 1;
+ if (str[n] == ',')
+ {
+ str[n] = '\0';
+ return (1);
+ }
+ return (0);
+}
diff --git a/refer/tick.c b/refer/tick.c
new file mode 100644
index 0000000000000..f11885f6c4e13
--- /dev/null
+++ b/refer/tick.c
@@ -0,0 +1,62 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tick.c 1.3 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tick.c 1.3 (gritter) 10/22/05
+ */
+
+/* time programs */
+# include "sys/times.h"
+# include "time.h"
+# include "stdio.h"
+# include "sys/types.h"
+
+struct tbuffer {
+ long proc_user_time;
+ long proc_system_time;
+ long child_user_time;
+ long child_system_time;
+};
+static long start, user, systm;
+void
+tick(void)
+{
+ struct tms tx;
+ time_t tp;
+ times (&tx);
+ time (&tp);
+ user = tx.tms_utime;
+ systm= tx.tms_stime;
+ start = tp;
+}
+void
+tock(void)
+{
+ struct tms tx;
+ time_t tp;
+ float lap, use, sys;
+ if (start==0) return;
+ times (&tx);
+ time (&tp);
+ lap = (tp - start)/60.;
+ use = (tx.tms_utime - user)/60.;
+ sys = (tx.tms_stime - systm)/60.;
+ printf("Elapsed %.2f CPU %.2f (user %.2f, sys %.2f)\n",
+ lap, use+sys, use, sys);
+}
diff --git a/refer/version.c b/refer/version.c
new file mode 100644
index 0000000000000..5cf2cccdf1315
--- /dev/null
+++ b/refer/version.c
@@ -0,0 +1,48 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/refer.sl 5.5 (gritter) 9/7/08";
+/* SLIST */
+/*
+addbib.c: * Sccsid @(#)addbib.c 1.3 (gritter) 10/22/05
+deliv2.c: * Sccsid @(#)deliv2.c 1.3 (gritter) 10/22/05
+glue1.c: * Sccsid @(#)glue1.c 1.4 (gritter) 9/7/08
+glue2.c: * Sccsid @(#)glue2.c 1.3 (gritter) 10/22/05
+glue3.c: * Sccsid @(#)glue3.c 1.5 (gritter) 9/7/08
+glue4.c: * Sccsid @(#)glue4.c 1.4 (gritter) 9/7/08
+glue5.c: * Sccsid @(#)glue5.c 1.4 (gritter) 10/2/07
+hunt1.c: * Sccsid @(#)hunt1.c 1.4 (gritter) 9/7/08
+hunt2.c: * Sccsid @(#)hunt2.c 1.3 (gritter) 10/22/05
+hunt3.c: * Sccsid @(#)hunt3.c 1.3 (gritter) 10/22/05
+hunt5.c: * Sccsid @(#)hunt5.c 1.3 (gritter) 10/22/05
+hunt6.c: * Sccsid @(#)hunt6.c 1.4 (gritter) 10/2/07
+hunt7.c: * Sccsid @(#)hunt7.c 1.3 (gritter) 10/22/05
+hunt8.c: * Sccsid @(#)hunt8.c 1.4 (gritter) 01/12/07
+hunt9.c: * Sccsid @(#)hunt9.c 1.3 (gritter) 10/22/05
+inv1.c: * Sccsid @(#)inv1.c 1.3 (gritter) 10/22/05
+inv2.c: * Sccsid @(#)inv2.c 1.3 (gritter) 10/22/05
+inv3.c: * Sccsid @(#)inv3.c 1.3 (gritter) 10/22/05
+inv5.c: * Sccsid @(#)inv5.c 1.5 (gritter) 12/25/06
+inv6.c: * Sccsid @(#)inv6.c 1.3 (gritter) 10/22/05
+lookbib.c: * Sccsid @(#)lookbib.c 1.3 (gritter) 10/22/05
+mkey1.c: * Sccsid @(#)mkey1.c 1.3 (gritter) 10/22/05
+mkey2.c: * Sccsid @(#)mkey2.c 1.3 (gritter) 10/22/05
+mkey3.c: * Sccsid @(#)mkey3.c 1.3 (gritter) 10/22/05
+refer..c: * Sccsid @(#)refer..c 1.5 (gritter) 12/25/06
+refer0.c: * Sccsid @(#)refer0.c 1.3 (gritter) 10/22/05
+refer1.c: * Sccsid @(#)refer1.c 1.3 (gritter) 10/22/05
+refer2.c: * Sccsid @(#)refer2.c 1.4 (gritter) 9/7/08
+refer3.c: * Sccsid @(#)refer3.c 1.3 (gritter) 10/22/05
+refer4.c: * Sccsid @(#)refer4.c 1.3 (gritter) 10/22/05
+refer5.c: * Sccsid @(#)refer5.c 1.3 (gritter) 10/22/05
+refer6.c: * Sccsid @(#)refer6.c 1.3 (gritter) 10/22/05
+refer7.c: * Sccsid @(#)refer7.c 1.3 (gritter) 10/22/05
+refer8.c: * Sccsid @(#)refer8.c 1.3 (gritter) 10/22/05
+shell.c: * Sccsid @(#)shell.c 1.4 (gritter) 12/25/06
+sortbib.c: * Sccsid @(#)sortbib.c 1.3 (gritter) 10/22/05
+tick.c: * Sccsid @(#)tick.c 1.3 (gritter) 10/22/05
+*/
diff --git a/soelim/Makefile.mk b/soelim/Makefile.mk
new file mode 100644
index 0000000000000..4d4740dbd464f
--- /dev/null
+++ b/soelim/Makefile.mk
@@ -0,0 +1,21 @@
+OBJ = soelim.o
+
+FLAGS =
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: soelim
+
+soelim: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o soelim
+
+install:
+ $(INSTALL) -c soelim $(ROOT)$(BINDIR)/soelim
+ $(STRIP) $(ROOT)$(BINDIR)/soelim
+ $(INSTALL) -c -m 644 soelim.1 $(ROOT)$(MANDIR)/man1/soelim.1
+
+clean:
+ rm -f $(OBJ) soelim core log *~
+
+mrproper: clean
diff --git a/soelim/soelim.1 b/soelim/soelim.1
new file mode 100644
index 0000000000000..4f676f58ece92
--- /dev/null
+++ b/soelim/soelim.1
@@ -0,0 +1,74 @@
+.\"
+.\" Sccsid @(#)soelim.1b 1.2 (gritter) 8/13/05
+.\" Derived from 3BSD soelim(1) 2/24/79:
+.\" Copyright (c) 1980, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.TH SOELIM 1 "8/13/05" "Heirloom Documentation Tools" "BSD System Compatibility"
+.SH NAME
+soelim \- eliminate \&.so's from nroff input
+.SH SYNOPSIS
+\fBsoelim\fR [\fIfile\fR] ...
+.SH DESCRIPTION
+.I Soelim
+reads the specified files or the standard input and performs the textual
+inclusion implied by the
+.I nroff
+directives of the form
+.PP
+.DT
+ \&.so somefile
+.PP
+when they appear at the beginning of input lines.
+This is useful since programs such as
+.I tbl
+do not normally do this;
+it allows the placement of individual tables
+in separate files to be run as a part of a large document.
+.PP
+Note that inclusion can be suppressed by using
+`\'' instead of `\.', i.e.
+.PP
+.DT
+ \'so /usr/ucblib/doctools/tmac/s
+.PP
+A sample usage of
+.I soelim
+would be
+.PP
+ soelim exum?.n | tbl | nroff \-ms | col | lp
+.SH SEE\ ALSO
+more(1)
+.SH NOTES
+The format of the source commands must involve no strangeness \-
+exactly one
+blank must precede and no blanks follow the file name.
+.sp
+Written by William Joy.
diff --git a/soelim/soelim.c b/soelim/soelim.c
new file mode 100644
index 0000000000000..2652ba61577f9
--- /dev/null
+++ b/soelim/soelim.c
@@ -0,0 +1,151 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "soelim.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/soelim.sl 5.1 (gritter) 10/25/05";
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+/*
+ * soelim - a filter to process n/troff input eliminating .so's
+ *
+ * Author: Bill Joy UCB July 8, 1977
+ *
+ * This program eliminates .so's from a n/troff input stream.
+ * It can be used to prepare safe input for submission to the
+ * phototypesetter since the software supporting the operator
+ * doesn't let him do chdir.
+ *
+ * This is a kludge and the operator should be given the
+ * ability to do chdir.
+ *
+ * This program is more generally useful, it turns out, because
+ * the program tbl doesn't understand ".so" directives.
+ */
+#define STDIN_NAME "-"
+
+int process(char *);
+
+int
+main(int argc, char **argv)
+{
+
+ argc--;
+ argv++;
+ if (argc == 0) {
+ process(STDIN_NAME);
+ exit(0);
+ }
+ do {
+ process(argv[0]);
+ argv++;
+ argc--;
+ } while (argc > 0);
+ exit(0);
+}
+
+int process(char *file)
+{
+ register int n;
+ register int c;
+ static char *fname = NULL;
+ static size_t fnsize = 0;
+ FILE *soee;
+ int isfile;
+
+ if (!strcmp(file, STDIN_NAME)) {
+ soee = stdin;
+ } else {
+ soee = fopen(file, "r");
+ if (soee == NULL) {
+ perror(file);
+ return(-1);
+ }
+ }
+ for (;;) {
+ c = getc(soee);
+ if (c == EOF)
+ break;
+ if (c != '.')
+ goto simple;
+ c = getc(soee);
+ if (c != 's') {
+ putchar('.');
+ goto simple;
+ }
+ c = getc(soee);
+ if (c != 'o') {
+ printf(".s");
+ goto simple;
+ }
+ do
+ c = getc(soee);
+ while (c == ' ' || c == '\t');
+ n = 0;
+ isfile = 0;
+ for (;;) {
+ switch (c) {
+
+ case ' ':
+ case '\t':
+ case '\n':
+ case EOF:
+ goto donename;
+
+ default:
+ if (n+1 >= fnsize)
+ fname = realloc(fname, fnsize += 128);
+ fname[n++] = c;
+ c = getc(soee);
+ isfile++;
+ continue;
+ }
+ }
+donename:
+ if (n == 0) {
+ printf(".so");
+ goto simple;
+ }
+ fname[n] = 0;
+ if (process(fname) < 0)
+ if (isfile)
+ printf(".so %s\n", fname);
+ continue;
+simple:
+ if (c == EOF)
+ break;
+ putchar(c);
+ if (c != '\n') {
+ c = getc(soee);
+ goto simple;
+ }
+ }
+ if (soee != stdin) {
+ fclose(soee);
+ }
+ return(0);
+}
diff --git a/stuff/bst/Makefile.mk b/stuff/bst/Makefile.mk
new file mode 100644
index 0000000000000..82c6431d40219
--- /dev/null
+++ b/stuff/bst/Makefile.mk
@@ -0,0 +1,10 @@
+OBJ= bst.o
+
+all: $(OBJ)
+
+install:
+
+clean:
+ rm -f $(OBJ)
+
+mrproper: clean
diff --git a/stuff/bst/bst.c b/stuff/bst/bst.c
new file mode 100644
index 0000000000000..2ca77724d6cb6
--- /dev/null
+++ b/stuff/bst/bst.c
@@ -0,0 +1,382 @@
+/*
+ * Copyright (c) 2015-2016, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include "bst.h"
+
+#define NODE_FOUND 0
+#define INSERT_LEFT 1
+#define INSERT_RIGHT 2
+#define TREE_EMPTY 3
+
+static int srch_node(struct bst *, union bst_val, struct bst_node **);
+
+/* Returns:
+ * 0 No error
+ * BST_EEXIST Key already exists */
+
+int
+bst_padd(struct bst *bst, union bst_val key, union bst_val data, int bal) {
+ struct bst_node *n, *c, *gc, *t;
+ int i;
+ if ((i = srch_node(bst, key, &n)) == NODE_FOUND) {
+ fprintf(stderr, "bst_add: Key does already exist\n");
+ return BST_EEXIST;
+ }
+ c = malloc(sizeof(struct bst_node));
+ c->left = c->right = NULL;
+ c->bf = 0;
+ switch (i) {
+ case INSERT_LEFT:
+ n->left = c;
+ break;
+ case INSERT_RIGHT:
+ n->right = c;
+ break;
+ default:
+ bst->root = c;
+ }
+ c->parent = n;
+ c->key = key;
+ c->data = data;
+ if (!bal)
+ return 0;
+ gc = NULL;
+ while (n) {
+ if (n->left == c)
+ n->bf++;
+ else
+ n->bf--;
+ if (!n->bf)
+ break;
+ if (n->bf == -2) {
+ if (c->bf == -1) {
+ if (!(t = c->parent = n->parent))
+ bst->root = c;
+ else if (t->left == n)
+ t->left = c;
+ else
+ t->right = c;
+ n->parent = c;
+ if ((t = n->right = c->left))
+ t->parent = n;
+ c->left = n;
+ n->bf = c->bf = 0;
+ } else if (c->bf == 1) {
+ if ((t = c->left = gc->right))
+ t->parent = c;
+ gc->right = c;
+ c->parent = gc;
+ if (!(t = gc->parent = n->parent))
+ bst->root = gc;
+ else if (t->left == n)
+ t->left = gc;
+ else
+ t->right = gc;
+ n->parent = gc;
+ if ((t = n->right = gc->left))
+ t->parent = n;
+ gc->left = n;
+ if (!gc->bf)
+ n->bf = c->bf = 0;
+ else if (gc->bf > 0) {
+ n->bf = 0;
+ c->bf = -1;
+ } else {
+ n->bf = 1;
+ c->bf = 0;
+ }
+ gc->bf = 0;
+ }
+ break;
+ }
+ if (n->bf == 2) {
+ if (c->bf == 1) {
+ if (!(t = c->parent = n->parent))
+ bst->root = c;
+ else if (t->left == n)
+ t->left = c;
+ else
+ t->right = c;
+ n->parent = c;
+ if ((t = n->left = c->right))
+ t->parent = n;
+ c->right = n;
+ n->bf = c->bf = 0;
+ } else if (c->bf == -1) {
+ if ((t = c->right = gc->left))
+ t->parent = c;
+ gc->left = c;
+ c->parent = gc;
+ if (!(t = gc->parent = n->parent))
+ bst->root = gc;
+ else if (t->left == n)
+ t->left = gc;
+ else
+ t->right = gc;
+ n->parent = gc;
+ if ((t = n->left = gc->right))
+ t->parent = n;
+ gc->right = n;
+ if (!gc->bf)
+ n->bf = c->bf = 0;
+ else if (gc->bf > 0) {
+ c->bf = 0;
+ n->bf = -1;
+ } else {
+ c->bf = 1;
+ n->bf = 0;
+ }
+ gc->bf = 0;
+ }
+ break;
+ }
+ gc = c;
+ c = n;
+ n = n->parent;
+ }
+ return 0;
+}
+
+/* Delete node
+ *
+ * Returns:
+ * 0 No error
+ * BST_ENOENT Key not found */
+
+int
+bst_pdel(struct bst *bst, union bst_val key, int bal) {
+ struct bst_node *n;
+ if (srch_node(bst, key, &n) != NODE_FOUND) {
+ return BST_ENOENT;
+ }
+ bst_pdel_node(bst, n, bal);
+ return 0;
+}
+
+void
+bst_pdel_node(struct bst *bst, struct bst_node *n, int bal) {
+ struct bst_node *p, **pp, *t, *x;
+ int bfc;
+ if (!(t = n->parent)) {
+ p = NULL;
+ pp = &bst->root;
+ } else {
+ p = t;
+ if (p->left == n) {
+ pp = &p->left;
+ bfc = -1;
+ } else {
+ pp = &p->right;
+ bfc = 1;
+ }
+ }
+ if (!n->left) {
+ if ((*pp = t = n->right))
+ t->parent = p;
+ } else if (!n->right) {
+ *pp = t = n->left;
+ t->parent = p;
+ } else {
+ for (t = n->right; t->left; t = t->left)
+ ;
+ if (t == n->right) {
+ p = t;
+ bfc = 1;
+ } else {
+ if ((t->parent->left = t->right))
+ t->right->parent = t->parent;
+ t->right = n->right;
+ t->right->parent = t;
+ p = t->parent;
+ bfc = -1;
+ }
+ *pp = t;
+ t->parent = n->parent;
+ t->left = n->left;
+ t->left->parent = t;
+ t->bf = n->bf;
+ }
+ free(n);
+ if (!bal)
+ return;
+ while (p) {
+ int bf;
+ switch(p->bf += bfc) {
+ case -1:
+ case 1:
+ return;
+ case -2:
+ if ((bf = (n = p->right)->bf) != 1) {
+ if (!(t = n->parent = p->parent))
+ bst->root = n;
+ else if (t->left == p)
+ t->left = n;
+ else
+ t->right = n;
+ p->parent = n;
+ if ((t = p->right = n->left))
+ t->parent = p;
+ n->left = p;
+ if (bf) {
+ p->bf = n->bf = 0;
+ } else {
+ n->bf = 1;
+ p->bf = -1;
+ return;
+ }
+ p = n;
+ } else {
+ x = n->left;
+ if ((t = n->left = x->right))
+ t->parent = n;
+ x->right = n;
+ n->parent = x;
+ if (!(t = x->parent = p->parent))
+ bst->root = x;
+ else if (t->left == p)
+ t->left = x;
+ else
+ t->right = x;
+ p->parent = x;
+ if ((t = p->right = x->left))
+ t->parent = p;
+ x->left = p;
+ if (!(bf = x->bf))
+ p->bf = n->bf = 0;
+ else if (bf > 0) {
+ p->bf = 0;
+ n->bf = -1;
+ } else {
+ p->bf = 1;
+ n->bf = 0;
+ }
+ x->bf = 0;
+ p = x;
+ }
+ break;
+ case 2:
+ if ((bf = (n = p->left)->bf) != -1) {
+ if (!(t = n->parent = p->parent))
+ bst->root = n;
+ else if (t->left == p)
+ t->left = n;
+ else
+ t->right = n;
+ p->parent = n;
+ if ((t = p->left = n->right))
+ t->parent = p;
+ n->right = p;
+ if (bf) {
+ p->bf = n->bf = 0;
+ } else {
+ n->bf = -1;
+ p->bf = 1;
+ return;
+ }
+ p = n;
+ } else {
+ x = n->right;
+ if ((t = n->right = x->left))
+ t->parent = n;
+ x->left = n;
+ n->parent = x;
+ if (!(t = x->parent = p->parent))
+ bst->root = x;
+ else if (t->left == p)
+ t->left = x;
+ else
+ t->right = x;
+ p->parent = x;
+ if ((t = p->left = x->right))
+ t->parent = p;
+ x->right = p;
+ if (!(bf = x->bf))
+ p->bf = n->bf = 0;
+ else if (bf > 0) {
+ n->bf = 0;
+ p->bf = -1;
+ } else {
+ n->bf = 1;
+ p->bf = 0;
+ }
+ x->bf = 0;
+ p = x;
+ }
+ }
+ n = p;
+ if ((p = p->parent)) {
+ if (n == p->left)
+ bfc = -1;
+ else
+ bfc = 1;
+ }
+ }
+}
+
+int /* 0: found, !0: not found */
+bst_srch(struct bst *bst, union bst_val key, struct bst_node **node)
+{
+ struct bst_node *n;
+ int retval;
+ if ((retval = srch_node(bst, key, &n)) == NODE_FOUND && node)
+ *node = n;
+ return retval;
+}
+
+/* Returns:
+ * NODE_FOUND Found in node
+ * INSERT_LEFT Not found, insert to node->left
+ * INSERT_RIGHT Not found, insert to node->right
+ * TREE_EMPTY Tree empty (node = NULL) */
+
+static int
+srch_node(struct bst *bst, union bst_val key, struct bst_node **node) {
+ struct bst_node *n = bst->root, *c;
+ int retval = TREE_EMPTY;
+ int d;
+ while (n) {
+ d = bst->cmp(key, n->key);
+ if (d < 0) {
+ c = n->left;
+ } else if (d > 0) {
+ c = n->right;
+ } else {
+ retval = NODE_FOUND;
+ goto end;
+ }
+ if (!c) {
+ retval = d > 0 ? INSERT_RIGHT : INSERT_LEFT;
+ goto end;
+ }
+ n = c;
+ }
+end:
+ *node = n;
+ return retval;
+}
diff --git a/stuff/bst/bst.h b/stuff/bst/bst.h
new file mode 100644
index 0000000000000..fdcbf1baf1be4
--- /dev/null
+++ b/stuff/bst/bst.h
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2015-2016, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <time.h>
+#include <stdint.h>
+
+#define BST_EEXIST -2
+#define BST_ENOENT -4
+
+union bst_val {
+ void *p;
+ int i;
+ long l;
+ uint64_t u64;
+ time_t t;
+};
+
+struct bst_node {
+ union bst_val key;
+ union bst_val data;
+ int bf;
+ struct bst_node *parent, *left, *right;
+};
+
+struct bst {
+ struct bst_node *root;
+ int (*cmp)(union bst_val, union bst_val);
+};
+
+int bst_padd(struct bst *, union bst_val, union bst_val, int);
+int bst_srch(struct bst *, union bst_val, struct bst_node **);
+int bst_pdel(struct bst *, union bst_val, int);
+void bst_pdel_node(struct bst *, struct bst_node *, int);
+
+#define avl_add(t, k, v) bst_padd(t, k, v, 1)
+#define avl_del(t, k) bst_pdel(t, k, 1)
+#define avl_del_node(t, n) bst_pdel_node(t, n, 1)
+
+/* The following functions perform non-balancing BST operations. These are
+ * useful when deleting (visited) notes while walking through the tree. */
+
+#define bst_add(t, k, v) bst_padd(t, k, v, 0)
+#define bst_del(t, k) bst_pdel(t, k, 0)
+#define bst_del_node(t, n) bst_pdel_node(t, n, 0)
diff --git a/stuff/demo/PDFX_def.ps b/stuff/demo/PDFX_def.ps
new file mode 100644
index 0000000000000..c62813804a316
--- /dev/null
+++ b/stuff/demo/PDFX_def.ps
@@ -0,0 +1,30 @@
+%!
+% Changes by Gunnar Ritter, Freiburg i. Br., Germany, December 2005
+% Sccsid @(#)PDFX_def.ps 1.3 (gritter) 1/20/06
+% from Ghostscript 8.53 PDFX_def.ps,v 1.1 2005/09/12 11:34:50 leonardo Exp
+%
+% This is a sample prefix file for creating a PDF/X-3 document.
+% It has been changed such that the resulting document passed the
+% preflight check of Acrobat 7.0.5.
+
+% Define entries to the document Info dictionary:
+[ /GTS_PDFXVersion (PDF/X-3:2002) % Intended version of the standard
+ /Title (Title) % Overridden by "\X'PDFMark: Title ...'".
+ /Trapped /False % Must be so (Ghostscript doesn't provide other).
+ /DOCINFO pdfmark
+
+% Define the output intent dictionary:
+[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark
+[{OutputIntent_PDFX} <<
+ /Type /OutputIntent % Must be so (the standard requires).
+ /S /GTS_PDFX % Must be so (the standard requires).
+ % The troff demonstration document uses only black so these entries are
+ % included just for conformance. If you actually use colors, you will
+ % have to retrieve an ICC profile and to convert all colors and images
+ % using a CMS (e.g. <http://www.littlecms.com>) to the intended output
+ % profile before they get used in troff and dpost.
+ /Info (Europe ISO Uncoated Yellowish FOGRA30)
+ /OutputConditionIdentifier (FOGRA30)
+ /RegistryName (http://www.color.org)
+>> /PUT pdfmark
+[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark
diff --git a/stuff/demo/README b/stuff/demo/README
new file mode 100644
index 0000000000000..08c4ee2f71ed5
--- /dev/null
+++ b/stuff/demo/README
@@ -0,0 +1,15 @@
+README for the Heirloom Troff Demonstration Page
+================================================
+
+To build this document, you either need the Type 1 Adobe
+Caslon font including the Expert sets, or its OpenType
+variant Adobe Caslon Pro, and need to set the TROFFONTS
+variable accordingly. Adobe Caslon Pro is available as
+part of the "Adobe Type Basics OpenType Edition" package.
+
+Note that as of autumn 2005, it was not possible to
+download fonts bought directly from Adobe using a Linux
+system. There are many other shops that sell Adobe fonts,
+though, and these usually allow downloads for Linux users.
+
+Gunnar Ritter 01/08/07
diff --git a/stuff/demo/makefile b/stuff/demo/makefile
new file mode 100644
index 0000000000000..21cfd5b22b42f
--- /dev/null
+++ b/stuff/demo/makefile
@@ -0,0 +1,19 @@
+.SUFFIXES: .tr .ps .pdf
+
+# You need at least Ghostscript 8.53 to create PDF/X documents.
+DISTFLAGS = -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite \
+ -sProcessColorModel=DeviceGray -dPDFX
+
+.tr.ps:
+ troff $(TFLAGS) $< | dpost >$@
+
+.ps.pdf:
+ gs -sOutputFile=$@ $(DISTFLAGS) -f PDFX_def.ps -f $<
+
+all: troffdemo.ps troffdemo_otf.ps troffdemo.pdf troffdemo_otf.pdf
+
+troffdemo_otf.ps: troffdemo.tr troffdemo_otf.tr
+
+clean:
+ rm -f troffdemo.pdf troffdemo.ps troffdemo_otf.ps \
+ troffdemo_otf.pdf core log *~
diff --git a/stuff/demo/troffdemo.tr b/stuff/demo/troffdemo.tr
new file mode 100644
index 0000000000000..3320a36636641
--- /dev/null
+++ b/stuff/demo/troffdemo.tr
@@ -0,0 +1,224 @@
+.\" Heirloom troff demonstration page
+.\" Sccsid @(#)troffdemo.tr 1.37 (gritter) 10/28/06
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Enable long request names and warnings.
+.do xflag 3
+.warn all
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Set the document size.
+.mediasize a4
+.ll 17c
+.po 2c
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Set PDF attributes.
+\X'PDFMark: Author Gunnar Ritter'
+\X'PDFMark: Keywords Heirloom Documentation Tools, troff, PostScript, fonts'
+\X'PDFMark: Subject Heirloom troff and PostScript fonts'
+\X'PDFMark: Title Heirloom Troff Demonstration Page'
+\X'PS: [ {Catalog} << /ViewerPreferences << /DisplayDocTitle true >> >> /PUT pdfmark'
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" This document can be built with both the Type 1 Adobe Caslon and the
+.\" OpenType Adobe Caslon Pro family. The "O" number register controls
+.\" which kind of fonts is used.
+.ie (\nO=0) \{\
+. fp 1 R awrg____ pfb
+. fp 0 V awrg____ pfb
+. fp 2 I awi_____ pfb
+. fp 0 E axrg____ pfb
+. fp 0 IE axi_____ pfb
+. fp 0 O awor____ pfb
+. \" Configure to use small caps, ligatures, and old-style numerals.
+. fallback R E
+. fallback V E
+. fallback E R
+. fallback I IE
+. flig R 31
+. flig I 31
+. hidechar R 0123456789
+. hidechar I 0123456789
+. ds rhand \[ornament28a]
+. ds orn1 \[ornament2a]
+. ds orn2 \[ornament26d]
+. ds orn3 \[ornament26a]
+. ds orn4 \[ornament3a]
+. ds thistle \[ornament10]
+. ds m0 E 0
+. ds m1 E 1
+. ds m2 E 2
+. ds m3 E 3
+. ds m4 E 4
+. ds m5 E 5
+. ds m6 E 6
+. ds m7 E 7
+. ds m8 E 8
+. ds m9 E 9
+. kernpair R B E r -15
+. kernpair E \(ff R e -5
+. kernpair IE \(ff R \ 83
+.\}
+.el \{\
+. fp 1 R ACaslonPro-Regular otf
+. fp 0 V ACaslonPro-Regular otf
+. fp 2 I ACaslonPro-Italic otf
+. fp 0 E ACaslonPro-Regular otf
+. fp 0 O ACaslonPro-Regular otf
+. feature R +pnum +onum
+. feature E +smcp
+. ds rhand \[orn.045]
+. ds orn1 \[orn.040]
+. ds orn2 \[orn.030]
+. ds orn3 \[orn.035]
+. ds orn4 \[orn.041]
+. ds thistle \[orn.002]
+. ds m0 R \[zerooldstyle]
+. ds m1 R \[oneoldstyle]
+. ds m2 R \[twooldstyle]
+. ds m3 R \[threeoldstyle]
+. ds m4 R \[fouroldstyle]
+. ds m5 R \[fiveoldstyle]
+. ds m6 R \[sixoldstyle]
+. ds m7 R \[sevenoldstyle]
+. ds m8 R \[eightoldstyle]
+. ds m9 R \[nineoldstyle]
+. kernpair I \(ff R \ 83
+.\}
+.\" The expert font needs letter space tracking for use as small caps.
+.track E 1 .3 24 3
+.\" The caps font needs to be tracked and zoomed.
+.track V 1 .3 24 3
+.fzoom V .9
+.\" Adobe Caslon also needs minor tracking for the roman and the italic.
+.track R 1 .4 24 0
+.track I 1 .4 24 0
+.\" Hanging characters.
+.rhang R y -20 , 65 \(hy 30
+.rhang E \(hy 30
+.\" Additional kerning pairs, mostly for old-style numerals.
+.kernpair R / \*(m0 -70
+.kernpair R / \*(m1 -20
+.kernpair R / \*(m2 -50
+.kernpair R / \*(m3 -15
+.kernpair R / \*(m4 -115
+.kernpair R / \*(m5 -40
+.kernpair R / \*(m6 -40
+.kernpair R / \*(m7 -50
+.kernpair R / \*(m8 -20
+.kernpair R / \*(m9 -100
+.kernpair \*(m0 R / 70
+.kernpair \*(m1 R / 80
+.kernpair \*(m2 R / 60
+.kernpair \*(m3 R / 70
+.kernpair \*(m4 R / 50
+.kernpair \*(m5 R / 70
+.kernpair \*(m6 R / 30
+.kernpair \*(m7 R / 40
+.kernpair \*(m8 R / 50
+.kernpair \*(m9 R / 32
+.kernpair R p R t -12
+.kernpair R & R c 60
+.kernpair V \ V A -90
+.kernpair V M V \ -80
+.kernpair V \ V P -50
+.kernpair V B V \ -70
+.\" General spacing.
+.kernbefore R ; 66 : 66
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Use a narrow word space, and disable sentence spacing.
+.ss 9 0
+.\" Enable automatic hyphenation.
+.hy
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Macro for a feature description item.
+.ds rh \s(14\fO\*[rhand]\fP\s0
+.de F
+. sp
+. in \w'\\*(rh\ 'u
+. ti 0
+\\*(rh\ \c
+..
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Build and draw the ornaments at the top of the page.
+.de repeat1
+. if \\n-[repetitions]>0 \{
+. as \\$2 \\$1
+. repeat1 \\$1 \\$2
+. \}
+..
+.de repeat
+. nr repetitions \\$1 1
+. rm \\$2
+. repeat1 \\$3 \\$2
+..
+.nr hl \n(.l/2
+.ps 22.9
+.ft O
+.repeat 9 left \*[orn2]
+.repeat 9 right \*[orn3]
+.sp |2.2c
+.ce
+\*[orn1]\*[left]\*[right]\*[orn4]
+.\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+.\" Begin of title
+.sp |3.9c
+.po \n(.ou+3P
+.ll \n(.lu-6P
+.ad c
+.ps 24
+.vs 15
+\fRHeirloom Documentation Tools
+.sp 1c
+\fITroff\| Demonstration Page
+.sp 1c
+\s(21\fO\*[thistle]
+.sp .4c
+.ps 12
+\fEGunnar Ritter\fR
+.br
+10/28/06
+.sp 2v
+.ad p
+.ps 12
+.\" Begin of text
+The \fItroff\fP text processor
+from the Heirloom Documentation Tools project
+is a variant of the Unix application
+originally written by \fEJoseph F. Ossanna\fR
+and \fEBrian W. Kernighan.\fR
+It has been derived from source code provided by
+the OpenSolaris project.
+Amongst many enhancements,
+Heirloom \fItroff\fP provides extended
+capabilities to work with PostScript fonts:
+.F
+PostScript Type 1 and OpenType fonts can be used
+as supplied by their vendor
+without any need for conversion;
+\fItroff\fP can access font metrics directly
+in the \fVAFM\fP or OpenType files,
+and the \fIdpost\fR post-processor
+can embed glyph data from \fVPFB\fP or OpenType files
+into the PostScript output it generates.
+.F
+With both Type 1 ``expert'' and OpenType fonts,
+\fItroff\fR can be configured
+such that it sets extra characters transparently
+in alternation with base characters
+to produce extra ligatures, as in the words
+``effective,'' ``office,'' ``offline,''
+\fESmall Capitals\fR,
+or the old-style numerals 0 1 2 3 4 5 6 7 8 9
+without the need to type escape sequences for individual characters.
+.F
+Pairwise kerning and letter space tracking are supported;
+the page title provides an example for the former,
+and the latter is used for the \fESmall Capitals\fR, and,
+at a minor rate, to adjust the regular font of this document.
+.F
+Hanging characters can be used to achieve better visual alignment
+of commas, hyphens, &c. to the page margins.
+.sp
+.in 0
+Heirloom \fItroff\fP is free software;
+its \fIC\fP source code can be obtained at no charge from
+\[less]http\&://n-t-roff.github.io/heirloom/doctools.html\[greater]
+It runs on a wide variety of Unix systems.
diff --git a/stuff/demo/troffdemo_otf.tr b/stuff/demo/troffdemo_otf.tr
new file mode 100644
index 0000000000000..3ad12061588f5
--- /dev/null
+++ b/stuff/demo/troffdemo_otf.tr
@@ -0,0 +1,2 @@
+.nr O 1
+.so troffdemo.tr
diff --git a/stuff/footnotes.tr b/stuff/footnotes.tr
new file mode 100644
index 0000000000000..e063d854f60b3
--- /dev/null
+++ b/stuff/footnotes.tr
@@ -0,0 +1,143 @@
+.\"
+.\" How to use fractional numerals for footnote indices
+.\" ===================================================
+.\"
+.\" Fractional numerals should be preferred for typesetting footnote
+.\" indices if possible; they usually come with the "expert" types.
+.\" If the smaller size of regular numeral is chosen instead, the
+.\" width of the letter parts becomes too small.
+.\"
+.\" Sccsid @(#)footnotes.tr 1.5 (gritter) 2/5/06
+.\"
+.\" Long request names will be used later.
+.do xflag 3
+.\" Enable all warnings.
+.warn
+.\" This is only to improve the readability of the output.
+.sp 2c
+.ps 14
+.vs 17
+.hy
+.ss 10 0
+.\" This example uses Monotype Van Dijck, but the same works with
+.\" any PostScript expert font; just replace the AFM file name.
+.fp 1 R van_____ pfb
+.fp 0 E vany____ pfb
+.fallback R E
+.\" First, initialize the footnote count.
+.nr FEcount 0 1
+.\" Initialize the footnote environment.
+.ev FEenv
+. evc 0
+.ev
+.\" The text that goes into the footnote starts with this macro. Note
+.\" that it has to be called before the \** string can be used.
+.de FS
+. ev FEenv
+. da FEtext
+. ps 10
+\!. vs 12
+. \" This is to align one- and two-digit numbers.
+. ie (\\n+[FEcount]<10) .ds FEspace \0
+. el .ds FEspace
+\\*[FEspace]\\n[FEcount].\|\|\c
+..
+.\" Macro that ends the footnote text and initializes the \** string.
+.de FE
+. br
+\!. br
+. da
+. ev
+. nr FEtmp \\n[FEcount]
+. ds *
+. FEbuild
+. ds * \^\\**
+..
+.\" This recursive macro that does the real work. With each step,
+.\" the leading digit is cut off, and a matching fractional numeral
+.\" is added to the footnote number string.
+.de FEbuild
+. if (\\n[FEtmp]>0) \{\
+. nr FEbuild (\\n[FEtmp]%10)
+. ie (\\n[FEbuild]=0) .ds * \[zerosuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=1) .ds * \[onesuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=2) .ds * \[twosuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=3) .ds * \[threesuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=4) .ds * \[foursuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=5) .ds * \[fivesuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=6) .ds * \[sixsuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=7) .ds * \[sevensuperior]\\**
+. el \{\
+. ie (\\n[FEbuild]=8) .ds * \[eightsuperior]\\**
+. el .ds * \[ninesuperior]\\**
+. \}
+. \}
+. \}
+. \}
+. \}
+. \}
+. \}
+. \}
+. nr FEtmp (\\n[FEtmp]/10)
+. FEbuild
+. \}
+..
+.\" The example text begins here.
+.FS
+This is footnote text.
+.FE
+This is the text to which the first footnote\** belongs.
+.FS
+This is also footnote text.
+.FE
+Another footnote\** belongs to this text.
+.FS
+Text of the third footnote.
+.FE
+Text to which the third footnote\** belongs.
+.FS
+Fourth footnote.
+.FE
+For the fourth,\**
+.FS
+It gets boring.
+.FE
+fifth,\**
+.FS
+But it must be done.
+.FE
+and sixth\** footnote.
+.FS
+Seven\^?
+.FE
+The seventh footnote\** is left alone.
+.FS
+Ah. I see.
+.FE
+But the text for footnote eight,\**
+.FS
+Text of the another footnote.
+.FE
+nine,\**
+.FS
+Have reached ten now.
+.FE
+and ten\** is combined again.
+.FS
+Text of the eleventh footnote.
+.FE
+Yet another footnote\** text.
+.FS
+Finished.
+.FE
+There shall be twelve\** of them in total.
+.\" For real work, .FEtext is usually put in a trap, of course.
+.sp 1i
+.FEtext
diff --git a/stuff/odt2tr.xsl b/stuff/odt2tr.xsl
new file mode 100644
index 0000000000000..2e9fb8a8fb112
--- /dev/null
+++ b/stuff/odt2tr.xsl
@@ -0,0 +1,628 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Sccsid @(#)odt2tr.xsl 1.14 (gritter) 10/10/06
+
+ A simplistic OpenDocument to troff converter in form of
+ an XSLT stylesheet. See the usage instructions below.
+-->
+
+<!--
+ Copyright (c) 2006 Gunnar Ritter
+
+ This software is provided 'as-is', without any express or
+ implied warranty. In no event will the authors be held liable
+ for any damages arising from the use of this software.
+
+ Permission is granted to anyone to use this software for
+ any purpose, including commercial applications, and to
+ alter it and redistribute it freely, subject to the following
+ restrictions:
+
+ 1. The origin of this software must not be misrepresented; you
+ must not claim that you wrote the original software. If you
+ use this software in a product, an acknowledgment in the
+ product documentation would be appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and
+ must not be misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source
+ distribution.
+-->
+
+<!--
+ The main purpose of this stylesheet is to extract texts
+ from office documents for typesetting, a typical task
+ when producing a book: Most authors use word processors
+ and hand in (be it proprietary or open format) office
+ documents. When converting them to troff, some formatting
+ elements (italics, headings, footnotes, etc.) should be
+ preserved, although the general layout is a decision of
+ the typesetter. The stylesheet thus makes an attempt to
+ save the former but discards the latter. This is not
+ always possible - an office document is organized as a
+ set of "styles" which have only restricted significance
+ as generic markup elements. Since the styles are typically
+ useless for typesetting, they are discarded, but some
+ of their markup information is directly included in the
+ generated troff document.
+
+ Since OpenOffice can read many word processor formats,
+ the first conversion step usually is to open the author's
+ document in OpenOffice and to save it as OpenDocument text
+ (.odt).
+
+ Now use cpio or unzip to extract the .odt file (which is
+ actually a zip archive). This will produce, amongst others,
+ a file named content.xml. Then (using xsltproc from libxml2,
+ or perhaps another XSLT processor), execute:
+
+ xsltproc odt2tr.xsl content.xml >converted.tr
+
+ No macro set is supplied with the generated troff document,
+ but the generated macros are roughly compatible with -mm,
+ which makes it possible to obtain a preview by
+
+ tbl converted.tr | troff -mm | dpost >converted.ps
+
+ It is normally necessary (and part of the process for which
+ the stylesheet is intended) to further edit the output.
+
+ The generated troff document contains the following markup:
+
+ \fX The following fonts are expected: R, I,
+ B, BI, and SC (for small capitals). All
+ other font information is discarded.
+
+ .H A heading of with four arguments: The first
+ argument is the heading level (1, 2, 3, ...);
+ the second argument contains the heading text.
+ The third argument contains markup for the
+ heading, and the third contains markup reset
+ instructions. These are separated from the
+ text to ease the creation of table of contents
+ entries.
+
+ .P A paragraph. Actually, almost any <text:p>
+ tag results in a .P call, although <text:p>
+ may also have been generated in place of a
+ heading. There is no way to automatically
+ distinguish between them, so some handwork
+ is to be expected.
+
+ .IP An indented paragraph. The indent amount is
+ added as a comment but is not passed. This
+ is because it is the typesetter's, not the
+ author's, decision.
+
+ Temporary indents result in a comment after
+ a .P or .IP call but there is no code emitted
+ for them.
+
+ .br A hard line break.
+
+ line break A line break is generated instead of a space
+ following a "." or another sentence-ending
+ character under most circumstances. Since
+ there is no markup for such characters in the
+ original document, some handwork is to be
+ expected. This issue can be ignored if troff
+ is configured not to insert an additional
+ space following a sentence-ending character.
+
+ .ML Begin a marked list. The single argument is
+ the mark character.
+
+ .AL Begin a numbered list.
+
+ .LE End a list (bulleted or numbered).
+
+ .LI Start a list item.
+
+ .LP Paragraph (any <text:p> tag) inside a list.
+
+ \*F The numbering for the next footnote.
+
+ .FS/.FE Footnote text start/end macros.
+
+ .TS/.TE/T{/T} Table structure for tbl. All table markup is
+ discarded; all columns are left-aligned in
+ the generated document. It is expected that
+ the typesetter will apply the exact format
+ by hand.
+
+ Of course, it is easy to modify the stylesheet if other macro
+ names are more suitable.
+-->
+<stylesheet
+ xmlns="http://www.w3.org/1999/XSL/Transform"
+ xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
+ xmlns:date="http://exslt.org/dates-and-times"
+ xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
+ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
+ xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
+ xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0"
+ version="1.0">
+
+<output method="text" omit-xml-declaration="yes" encoding="utf-8"/>
+
+<strip-space elements="*"/>
+<preserve-space elements="text:h text:p text:span"/>
+
+<template name="println">
+ <param name="t"/>
+ <if test='starts-with($t, ".") or starts-with($t, "&apos;")'>\&amp;</if>
+ <value-of select="$t"/>
+</template>
+
+<template name="fold">
+ <param name="t"/>
+ <choose>
+ <when test="contains($t, '&#10;')">
+ <call-template name="fold">
+ <with-param name="t" select="substring-before($t, '&#10;')"/>
+ </call-template>
+ <text>&#10;</text>
+ <call-template name="fold">
+ <with-param name="t" select="substring-after($t, '&#10;')"/>
+ </call-template>
+ </when>
+ <otherwise>
+ <choose>
+ <when test="string-length($t) > 66">
+ <variable name="p" select="substring($t, 1, 50)"/>
+ <variable name="s" select="substring($t, 51)"/>
+ <choose>
+ <when test="contains($s, ' ')">
+ <variable name="m" select="substring-before($s, ' ')"/>
+ <value-of select="$p"/><value-of select="$m"/><text>&#10;</text>
+ <call-template name="fold">
+ <with-param name="t" select="substring-after($s, ' ')"/>
+ </call-template>
+ </when>
+ <otherwise>
+ <call-template name="println">
+ <with-param name="t" select="$t"/>
+ </call-template>
+ </otherwise>
+ </choose>
+ </when>
+ <otherwise>
+ <call-template name="println">
+ <with-param name="t" select="$t"/>
+ </call-template>
+ </otherwise>
+ </choose>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="lastword">
+ <param name="t"/>
+ <variable name="u" select="translate($t, ' .', ' ')"/>
+ <choose>
+ <when test="contains($u, ' ')">
+ <call-template name="lastword">
+ <with-param name="t">
+ <value-of select="substring-after($u, ' ')"/>
+ </with-param>
+ </call-template>
+ </when>
+ <otherwise>
+ <value-of select="$t"/>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="spconv">
+ <param name="t"/>
+ <variable name="u" select="translate($t, '.:!?', '....')"/>
+ <choose>
+ <when test="contains($u, '. ')">
+ <variable name="p" select="substring-before($u, '. ')"/>
+ <variable name="n" select="string-length($p)"/>
+ <value-of select="substring($t, 1, $n)"/><value-of select="substring($t, $n+1, 1)"/>
+ <choose>
+ <when test="$n &lt; string-length($t) - 2">
+ <variable name="w">
+ <call-template name="lastword">
+ <with-param name="t">
+ <value-of select="$p"/>
+ </with-param>
+ </call-template>
+ </variable>
+ <choose>
+ <when test="string-length($w) > 2">
+ <text>&#10;</text>
+ </when>
+ <otherwise>
+ <text> </text>
+ </otherwise>
+ </choose>
+ <call-template name="spconv">
+ <with-param name="t">
+ <value-of select="substring($t, $n + 3)"/>
+ </with-param>
+ </call-template>
+ </when>
+ <otherwise>
+ <text> </text>
+ </otherwise>
+ </choose>
+ </when>
+ <otherwise>
+ <value-of select="$t"/>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="dqconv">
+ <param name="t"/>
+ <choose>
+ <when test="contains($t, '&quot;')">
+ <value-of select="substring-before($t, '&quot;')"/>\(dq<call-template name="dqconv">
+ <with-param name="t">
+ <value-of select="substring-after($t, '&quot;')"/>
+ </with-param>
+ </call-template>
+ </when>
+ <otherwise>
+ <value-of select="$t"/>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="rsconv">
+ <param name="t"/>
+ <choose>
+ <when test="contains($t, '\')">
+ <call-template name="dqconv">
+ <with-param name="t">
+ <value-of select="substring-before($t, '\')"/>
+ </with-param>
+ </call-template>\(rs<call-template name="rsconv">
+ <with-param name="t">
+ <value-of select="substring-after($t, '\')"/>
+ </with-param>
+ </call-template>
+ </when>
+ <otherwise>
+ <call-template name="dqconv">
+ <with-param name="t">
+ <value-of select="$t"/>
+ </with-param>
+ </call-template>
+ </otherwise>
+ </choose>
+</template>
+
+<template match="text()">
+ <choose>
+ <when test='starts-with(., ". ")'>
+ <text>\&amp;</text>
+ <value-of select="substring(., 1, 1)"/><text>&#10;</text>
+ <call-template name="text">
+ <with-param name="t" select="substring(., 3)"/>
+ </call-template>
+ </when>
+ <otherwise>
+ <call-template name="text">
+ <with-param name="t" select="."/>
+ </call-template>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="text">
+ <param name="t"/>
+ <variable name="n" select="string-length($t)"/>
+ <variable name="z" select="substring($t, $n)"/>
+ <choose>
+ <when test="$z = ' ' and $n > 8 and following-sibling::node() and
+ (following::node()[position() = 1][self::text()] or
+ following::node()[position() = 1][self::text:span])">
+ <call-template name="foldtext">
+ <with-param name="t" select="substring($t, 1, $n - 1)"/>
+ </call-template>
+ <text>&#10;</text>
+ </when>
+ <otherwise>
+ <call-template name="foldtext">
+ <with-param name="t" select="$t"/>
+ </call-template>
+ </otherwise>
+ </choose>
+</template>
+
+<template name="foldtext">
+ <param name="t"/>
+ <call-template name="fold">
+ <with-param name="t">
+ <call-template name="spconv">
+ <with-param name="t">
+ <call-template name="rsconv">
+ <with-param name="t">
+ <value-of select="$t"/>
+ </with-param>
+ </call-template>
+ </with-param>
+ </call-template>
+ </with-param>
+ </call-template>
+</template>
+
+<template match="text:h//text()">
+ <if test='starts-with(., ".") or starts-with(., "&apos;")'>\&amp;</if>
+ <call-template name="rsconv">
+ <with-param name="t">
+ <value-of select="."/>
+ </with-param>
+ </call-template>
+</template>
+
+<template match="text:s"/>
+
+<template match="text:tab[preceding-sibling::text() or
+ following-sibling::text()]">
+ <text>&#9;</text>
+</template>
+
+<template name="parastyle">
+ <choose>
+ <when test="number(translate(//style:style[@style:name =
+ current()/@text:style-name]/style:paragraph-properties/@fo:margin-left,
+ 'cimnptx', ' ')) > 0">
+ <text>.IP \" indent </text>
+ <value-of select="//style:style[@style:name =
+ current()/@text:style-name]/style:paragraph-properties/@fo:margin-left"/>
+ <text>&#10;</text>
+ </when>
+ <otherwise>
+ <text>.P&#10;</text>
+ </otherwise>
+ </choose>
+ <choose>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:paragraph-properties/@fo:text-indent">
+ <text>.\" temporary indent </text>
+ <value-of select="//style:style[@style:name =
+ current()/@text:style-name]/style:paragraph-properties/@fo:text-indent"/>
+ <text>&#10;</text>
+ </when>
+ </choose>
+</template>
+
+<template name="textstyle">
+ <choose>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-variant =
+ 'small-caps'">
+ <text>\f(SC</text>
+ </when>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-style =
+ 'italic' and
+ //style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-weight =
+ 'bold'">
+ <text>\f(BI</text>
+ </when>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-style =
+ 'italic'">
+ <text>\fI</text>
+ </when>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-weight =
+ 'bold'">
+ <text>\fB</text>
+ </when>
+ </choose>
+ <!-- discard font sizes
+ <choose>
+ <when test="contains(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ 'pt')">
+ <text>\s[<value-of select="substring-before(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ 'p')"/>]</text>
+ </when>
+ <when test="contains(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ '%')">
+ <text>\s[\n(PS*<value-of
+ select="substring-before(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ '%')"/>/100]</text>
+ </when>
+ </choose>
+ -->
+</template>
+
+<template name="endtextstyle">
+ <choose>
+ <when test="//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-variant =
+ 'small-caps' or
+ //style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-style =
+ 'italic' or
+ //style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-weight =
+ 'bold'">
+ <text>\fR</text>
+ </when>
+ </choose>
+ <!-- discard font sizes
+ <choose>
+ <when test="contains(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ 'pt')">
+ <text>\s[\n(PS]</text>
+ </when>
+ <when test="contains(//style:style[@style:name =
+ current()/@text:style-name]/style:text-properties/@fo:font-size,
+ '%')">
+ <text>\s[\n(PS]</text>
+ </when>
+ </choose>
+ -->
+</template>
+
+<template name="liststyle">
+ <choose>
+ <when test="//text:list-style[@style:name =
+ current()/@text:style-name]/text:list-level-style-bullet">
+ <text>.ML </text>
+ <value-of select="//text:list-style[@style:name =
+ current()/@text:style-name]/text:list-level-style-bullet[1]/@text:bullet-char"/>
+ <text>&#10;</text>
+ </when>
+ <when test="//text:list-style[@style:name =
+ current()/@text:style-name]/text:list-level-style-number">
+ <text>.AL&#10;</text>
+ </when>
+ <otherwise>
+ <text>.AL&#10;</text>
+ </otherwise>
+ </choose>
+</template>
+
+<template match="text:span">
+ <call-template name="textstyle"/>
+ <apply-templates/>
+ <call-template name="endtextstyle"/>
+</template>
+
+<template match="text:p//text:line-break">
+ <if test="preceding-sibling::node()">
+ <if test="preceding::node()[position() = 1][self::text()] or
+ preceding::node()[position() = 1][self::text:span] or
+ preceding::node()[position() = 1][self::text:s]">
+ <text>&#10;</text>
+ </if>
+ <text>.br</text>
+ <if test="following-sibling::node()">
+ <text>&#10;</text>
+ </if>
+ </if>
+</template>
+
+<template match="text:p[descendant-or-self::text()]">
+ <call-template name="parastyle"/>
+ <call-template name="textstyle"/>
+ <apply-templates/>
+ <call-template name="endtextstyle"/>
+ <text>&#10;</text>
+</template>
+
+<template match="text:list-item/text:p[descendant-or-self::text()]">
+ <text>.LP&#10;</text>
+ <call-template name="textstyle"/>
+ <apply-templates/>
+ <call-template name="endtextstyle"/>
+</template>
+
+<template match="text:list">
+ <call-template name="liststyle"/>
+ <apply-templates/>
+ <text>.LE&#10;</text>
+</template>
+
+<template match="text:list-item">
+ <text>.LI&#10;</text>
+ <apply-templates/>
+ <text>&#10;</text>
+</template>
+
+<template match="text:h">
+ <text>.H </text>
+ <value-of select="@text:outline-level"/>
+ <text> "</text>
+ <apply-templates/>
+ <text>" "</text>
+ <call-template name="textstyle"/>
+ <text>" "</text>
+ <call-template name="endtextstyle"/>
+ <text>"&#10;</text>
+</template>
+
+<template match="text:note">
+ <text>\*F\c&#10;</text>
+ <apply-templates/>
+</template>
+
+<template match="text:note-citation">
+ <text>.\" footnote </text>
+ <apply-templates/>
+ <text>&#10;</text>
+</template>
+
+<template match="text:note-body">
+ <text>.FS&#10;</text>
+ <apply-templates mode="footnote"/>
+ <text>.FE&#10;</text>
+</template>
+
+<template match="text:p[1]" mode="footnote">
+ <apply-templates/>
+ <text>&#10;</text>
+</template>
+
+<template match="table:table">
+ <text>.TS&#10;</text>
+ <apply-templates/>
+ <text>.TE&#10;</text>
+</template>
+
+<template match="table:table-column">
+ <call-template name="tablekey">
+ <with-param name="n" select="@table:number-columns-repeated"/>
+ </call-template>
+ <if test="not(following-sibling::table:table-column)">
+ <text>.&#10;</text>
+ </if>
+</template>
+
+<template name="tablekey">
+ <text>l </text>
+ <if test="$n > 1">
+ <call-template name="tablekey">
+ <with-param name="n" select="$n - 1"/>
+ </call-template>
+ </if>
+</template>
+
+<template match="table:table-row">
+ <apply-templates/>
+</template>
+
+<template match="table:table-cell">
+ <text>T{&#10;</text>
+ <apply-templates/>
+ <text>T}</text>
+ <choose>
+ <when test="following-sibling::table:table-cell">
+ <text>&#9;</text>
+ </when>
+ <otherwise>
+ <text>&#10;</text>
+ </otherwise>
+ </choose>
+</template>
+
+<template match="table:table-cell/text:p[1][descendant::text()]">
+ <call-template name="textstyle"/>
+ <apply-templates/>
+ <call-template name="endtextstyle"/>
+ <text>&#10;</text>
+</template>
+
+<template match="/">
+ <text>.\" Converted by odt2tr.xsl 1.14 (gritter) 10/10/06 on </text>
+ <value-of select="date:date-time()"/>
+ <text>&#10;</text>
+ <apply-templates/>
+</template>
+
+</stylesheet>
diff --git a/stuff/showfont.sh b/stuff/showfont.sh
new file mode 100755
index 0000000000000..80d9f4e5cc2f5
--- /dev/null
+++ b/stuff/showfont.sh
@@ -0,0 +1,114 @@
+#!/sbin/sh
+
+#
+# This script uses troff to print the characters and character names of
+# one or more PostScript fonts. It accepts the AFM files of the respective
+# fonts as arguments, and expects these files to be in the current directory.
+# If matching PFB, PFA, or T42 files also exist in the current directory,
+# they are included. Alternatively, it prints the characters in an OpenType
+# font.
+#
+
+# Sccsid @(#)showfont.sh 1.10 (gritter) 3/15/07
+
+pwd=`pwd`
+
+for i
+do (
+ case $i in
+ *.otf|*.ttf)
+ supply=$i
+ name=`otf_info -n "$i"` || continue
+ ;;
+ *)
+ base=`expr "$i" : '\(.*\)\.afm'`
+ if test -f "$base.pfa"
+ then
+ supply=$base.pfa
+ elif test -f "$base.pfb"
+ then
+ supply=$base.pfb
+ elif test -f "$base.t42"
+ then
+ supply=$base.t42
+ else
+ unset supply
+ fi
+ ;;
+ esac
+ cat <<-!
+ .mediasize a4
+ .nr PE 10.8i
+ .fp 0 X $i $supply
+ .ps 10
+ .vs 14
+ .ta 12pC 24p
+ .nr CL 0 1
+ .nr PN 1 1
+ .de NC
+ . sp |6P
+ . po +8P
+ . if (\\\\n+(CL%5=0) \\{\\
+ . wh \\\\n(PEu
+ . bp
+ . wh \\\\n(PEu NC
+ . po 1i
+ . sp |4P
+ \\\\*(FN (Page \\\\n+(PN)
+ . sp |6P
+ . \\}
+ ..
+ .wh \\n(PEu NC
+ .sp 6P
+ !
+ case $i in
+ *.otf|*.ttf)
+ echo "$name" | nawk '{
+ printf(".ds FN \\fH\\s(12'"$i"' \\(em %s\n", $2)
+ print ".mk S"
+ print ".sp 0"
+ printf("\\X'"'"'PDFMark: Bookmark 0 %s'"'"'\n", $2)
+ print ".sp |4P"
+ print "\\*(FN"
+ print ".sp |\\nSu"
+ }'
+ otf_info -c "$i" | nawk '{
+ printf("\t\\s(11\\fX\\[%s]\t\\s8\\fH%s\n", $2, $2)
+ print ".br"
+ }'
+ ;;
+ *)
+ nawk <"$i" '
+ $1 == "FontName" {
+ printf(".ds FN \\fH\\s(12'"$i"' \\(em %s\n", $2)
+ print ".mk S"
+ print ".sp 0"
+ printf("\\X'"'"'PDFMark: Bookmark 0 %s'"'"'\n", $2)
+ print ".sp |4P"
+ print "\\*(FN"
+ print ".sp |\\nSu"
+ }
+ $1 == "StartCharMetrics" {
+ state = 1
+ }
+ state == 1 && $1 == "C" && \
+ match($0, /(^|;)[ ]*N[ ]*/) {
+ name = substr($0, RSTART+RLENGTH+1)
+ match(name, /[ ;]/)
+ name = substr(name, 1, RSTART-1)
+ printf("\t\\s(11\\fX\\[%s]\t\\s8\\fH%s\n",\
+ name, name)
+ print ".br"
+ n++
+ }
+ state == 1 && $1 == "EndCharMetrics" {
+ state = 0
+ }
+ '
+ ;;
+ esac
+ cat <<-!
+ .wh \\n(PEu
+ !
+ ) | TROFFONTS=/:$pwd troff -x
+done | dpost
diff --git a/tbl/Makefile.mk b/tbl/Makefile.mk
new file mode 100644
index 0000000000000..13910de6b9e42
--- /dev/null
+++ b/tbl/Makefile.mk
@@ -0,0 +1,45 @@
+OBJ = t0.o t1.o t2.o t3.o t4.o t5.o t6.o t7.o t8.o t9.o tb.o tc.o te.o \
+ tf.o tg.o ti.o tm.o ts.o tt.o tu.o tv.o version.o
+
+FLAGS = -DMACDIR='"$(MACDIR)"'
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: tbl
+
+tbl: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o tbl
+
+install:
+ $(INSTALL) -c tbl $(ROOT)$(BINDIR)/tbl
+ $(STRIP) $(ROOT)$(BINDIR)/tbl
+ $(INSTALL) -c -m 644 tbl.1 $(ROOT)$(MANDIR)/man1/tbl.1
+
+clean:
+ rm -f $(OBJ) tbl core log *~
+
+mrproper: clean
+
+t..o: t..c
+t0.o: t0.c t..c
+t1.o: t1.c t..c
+t2.o: t2.c t..c
+t3.o: t3.c t..c
+t4.o: t4.c t..c
+t5.o: t5.c t..c
+t6.o: t6.c t..c
+t7.o: t7.c t..c
+t8.o: t8.c t..c
+t9.o: t9.c t..c
+tb.o: tb.c t..c
+tc.o: tc.c t..c
+te.o: te.c t..c
+tf.o: tf.c t..c
+tg.o: tg.c t..c
+ti.o: ti.c t..c
+tm.o: tm.c t..c
+ts.o: ts.c
+tt.o: tt.c t..c
+tu.o: tu.c t..c
+tv.o: tv.c t..c
diff --git a/tbl/t..c b/tbl/t..c
new file mode 100644
index 0000000000000..1181f66620224
--- /dev/null
+++ b/tbl/t..c
@@ -0,0 +1,223 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t..c 1.4 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t..c 1.19 (gritter) 9/11/06
+ */
+
+/* t..c : external declarations */
+
+# include <stdio.h>
+# include <ctype.h>
+# include <inttypes.h>
+
+# if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+# undef getc
+# define getc(f) _IO_getc_unlocked(f)
+# endif
+
+# define MAXCHS 2000
+# define MAXSTR 1024
+# define MAXRPT 100
+# define CLLEN 100
+# define SHORTLINE 4
+# define BIGBUF 8192
+extern int MAXLIN;
+extern int MAXCOL;
+extern int MAXHEAD;
+extern int nlin, ncol, iline, nclin, nslin;
+extern int **style;
+extern int **ctop;
+extern char ***font;
+extern char ***csize;
+extern char ***vsize;
+extern char **cll;
+extern int *xcol;
+extern int *stynum;
+extern int F1, F2;
+extern int **lefline;
+extern int *fullbot;
+extern char **instead;
+extern int expflg;
+extern int xcolflg;
+extern int ctrflg;
+extern int evenflg;
+extern int *evenup;
+extern int boxflg;
+extern int dboxflg;
+extern int decimalpoint;
+extern int linsize;
+extern int tab;
+extern int pr1403;
+extern int graphics;
+extern int Graphics;
+extern int linsize, delim1, delim2;
+extern int allflg;
+extern int textflg;
+extern int left1flg;
+extern int rightl;
+struct colstr {char *col, *rcol;};
+extern struct colstr **table;
+extern char *cspace, *cstore, *cbase;
+extern char *exstore, *exlim;
+extern int *sep;
+extern int *used, *lused, *rused;
+extern int *linestop;
+extern char *leftover;
+extern char *last, *ifile;
+extern int *topat;
+extern intptr_t texname;
+extern int texct;
+extern int texct2;
+extern char texstr[];
+extern int linstart;
+extern int nokeep;
+
+extern const char *progname;
+extern int utf8;
+extern int tlp;
+extern int nflm;
+
+extern FILE *tabin, *tabout;
+# define CRIGHT 80
+# define CLEFT 40
+# define CMID 60
+# define S1 31
+# define S2 32
+# define TMP 38
+# define SF 35
+# define SL 34
+# define LSIZE 33
+# define SIND 37
+# define SVS 36
+/* this refers to the relative position of lines */
+# define LEFT 1
+# define RIGHT 2
+# define THRU 3
+# define TOP 1
+# define BOT 2
+
+/* t1.c */
+int tbl(int, char *[]);
+void setinp(int, char **);
+int swapin(void);
+/* t2.c */
+void tableput(void);
+/* t3.c */
+int getcomm(void);
+void backrest(char *);
+/* t4.c */
+int getspec(void);
+int readspec(void);
+/* t5.c */
+int gettbl(void);
+int nodata(int);
+int oneh(int);
+int permute(void);
+int vspand(int, int, int);
+int vspen(char *);
+/* t6.c */
+void maktab(void);
+void wide(char *, char *, char *);
+int filler(char *);
+/* t7.c */
+int runout(void);
+void runtabs(int, int);
+int ifline(char *);
+void need(void);
+void deftail(void);
+/* t8.c */
+void putline(int, int);
+void puttext(char *, char *, char *);
+void funnies(int, int);
+void putfont(char *);
+void putsize(char *);
+/* t9.c */
+int yetmore(void);
+int domore(char *);
+/* tb.c */
+void checkuse(void);
+int real(char *);
+char *chspace(void);
+void updspace(char *, char *, int);
+struct colstr *alocv(int);
+void release(void);
+/* tc.c */
+int choochar(void);
+int point(int);
+/* te.c */
+int error(char *);
+char *errmsg(int);
+char *gets1(char **, char **, size_t *);
+void un1getc(int);
+int get1char(void);
+/* tf.c */
+void savefill(void);
+void rstofill(void);
+void endoff(void);
+void ifdivert(void);
+void saveline(void);
+void restline(void);
+void cleanfc(void);
+void warnon(void);
+void warnoff(void);
+void svgraph(void);
+/* tg.c */
+char *get_text(char *, int, int, char *, char *);
+void untext(void);
+char *nreg(char *, size_t, const char *, int);
+/* ti.c */
+int interv(int, int);
+int interh(int, int);
+int up1(int);
+/* tm.c */
+char *maknew(char *);
+int ineqn(char *, char *);
+/* ts.c */
+int match(char *, char *);
+int prefix(char *, char *);
+int cprefix(char *, char *);
+int letter(int);
+int numb(char *);
+int digit(int);
+int max(int, int);
+void tcopy(char *, char *);
+/* tt.c */
+int ctype(int, int);
+int min(int, int);
+int fspan(int, int);
+int lspan(int, int);
+int ctspan(int, int);
+void tohcol(int);
+int allh(int);
+int thish(int, int);
+/* tu.c */
+void makeline(int, int, int);
+void fullwide(int, int);
+void drawline(int, int, int, int, int, int);
+void getstop(void);
+int left(int, int, int *);
+int lefdata(int, int);
+int next(int);
+int prev(int);
+/* tv.c */
+void drawvert(int, int, int, int);
+int midbar(int, int);
+int midbcol(int, int);
+int barent(char *);
diff --git a/tbl/t0.c b/tbl/t0.c
new file mode 100644
index 0000000000000..8b59c2b4fdd8a
--- /dev/null
+++ b/tbl/t0.c
@@ -0,0 +1,85 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t0.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t0.c 1.12 (gritter) 9/11/06
+ */
+
+ /* t0.c: storage allocation */
+# include "t..c"
+int MAXLIN;
+int MAXCOL;
+int MAXHEAD;
+int expflg = 0;
+int xcolflg;
+int ctrflg = 0;
+int boxflg = 0;
+int dboxflg = 0;
+int decimalpoint = '.';
+int tab = '\t';
+int linsize;
+int pr1403;
+int graphics;
+int Graphics;
+int delim1, delim2;
+int *evenup, evenflg; /* evenup[MAXCOL] */
+int F1 = 0;
+int F2 = 0;
+int allflg = 0;
+char *leftover = 0;
+int textflg = 0;
+int left1flg = 0;
+int rightl = 0;
+char *cstore, *cspace, *cbase;
+char *last;
+struct colstr **table; /* *table[MAXLIN] */
+int **style; /* style[MAXHEAD][MAXCOL] */
+int **ctop; /* ctop[MAXHEAD][MAXCOL] */
+char ***font; /* font[MAXHEAD][MAXCOL][CLLEN] */
+char ***csize; /* csize[MAXHEAD][MAXCOL][20] */
+char ***vsize; /* vsize[MAXHEAD][MAXCOL][20] */
+int **lefline; /* lefline[MAXHEAD][MAXCOL] */
+char **cll; /* cll[MAXCOL][CLLEN] */
+int *xcol;
+/*char *rpt[MAXHEAD][MAXCOL];*/
+/*char rpttx[MAXRPT];*/
+int *stynum; /* stynum[MAXLIN+1] */
+int nslin, nclin;
+int *sep; /* sep[MAXCOL] */
+int *fullbot; /* fullbot[MAXLIN] */
+char **instead; /* *instead[MAXLIN] */
+int *used, *lused, *rused; /* MAXCOL */
+int *linestop; /* linestop[MAXLIN] */
+int *topat; /* topat[MAXLIN] */
+int nlin, ncol;
+int iline = 1;
+char *ifile = "Input";
+intptr_t texname = 'a';
+int texct = 0;
+int texct2 = -1;
+char texstr[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789";
+int linstart;
+int nokeep;
+char *exstore, *exlim;
+const char *progname;
+FILE *tabin /*= stdin */;
+FILE *tabout /* = stdout */;
+int utf8;
+int tlp;
+int nflm;
diff --git a/tbl/t1.c b/tbl/t1.c
new file mode 100644
index 0000000000000..f9e4776dde4c6
--- /dev/null
+++ b/tbl/t1.c
@@ -0,0 +1,189 @@
+/* Co/pyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t1.c 1.9 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t1.c 1.12 (gritter) 9/8/06
+ */
+
+ /* t1.c: main control and input switching */
+#
+# include "t..c"
+#include <signal.h>
+#include <stdlib.h>
+#include <string.h>
+#include <libgen.h>
+#include <locale.h>
+# ifdef gcos
+/* required by GCOS because file is passed to "tbl" by troff preprocessor */
+# define _f1 _f
+extern FILE *_f[];
+# endif
+
+# ifndef gcos
+# define MACROS "/usr/doctools/tmac/tmac.s"
+# define MACROSS MACDIR "/s"
+# define PYMACS "/usr/doctools/tmac/tmac.m"
+# define PYMACSS MACDIR "/m"
+# define MEMACSS MACDIR "/e"
+# endif
+
+# ifdef gcos
+# define MACROS "cc/troff/smac"
+# define PYMACS "cc/troff/mmac"
+# endif
+
+# define ever (;;)
+
+int
+main(int argc, char *argv[])
+{
+# ifndef gcos
+void badsig(int);
+# endif
+ progname = basename(argv[0]);
+# ifndef gcos
+signal(SIGPIPE, badsig);
+# endif
+# ifdef gcos
+if(!intss()) tabout = fopen("qq", "w"); /* default media code is type 5 */
+# endif
+exit(tbl(argc,argv));
+}
+
+
+int
+tbl(int argc, char *argv[])
+{
+char *line = NULL;
+size_t linesize = 0;
+/* required by GCOS because "stdout" is set by troff preprocessor */
+tabin=stdin; tabout=stdout;
+setinp(argc,argv);
+while (gets1(&line, &line, &linesize))
+ {
+ fprintf(tabout, "%s\n",line);
+ if (cprefix("TS", line))
+ tableput();
+ }
+fclose(tabin);
+free(line);
+return(0);
+}
+int sargc;
+char **sargv;
+void
+setinp(int argc, char **argv)
+{
+ sargc = argc;
+ sargv = argv;
+ sargc--; sargv++;
+ if (sargc>0)
+ swapin();
+ if (pr1403 || utf8 || tlp) nflm = 1;
+}
+int
+swapin(void)
+{
+ char *optarg;
+ while (sargc>0 && **sargv=='-') /* Mem fault if no test on sargc */
+ {
+ if (sargc<=0) return(0);
+ if (match("-me", *sargv))
+ {
+ *sargv = MEMACSS;
+ break;
+ }
+ if (match("-ms", *sargv))
+ {
+ *sargv = MACROSS;
+ break;
+ }
+ if (match("-mm", *sargv))
+ {
+ *sargv = PYMACSS;
+ break;
+ }
+ if ((*sargv)[1] == 'T') {
+ optarg = *sargv + 2;
+ if (!*optarg) {
+ sargc--; sargv++;
+ if (!sargc || **sargv == '-') {
+ fprintf(stderr, "%s: Argument expected"
+ " after option -T\n", progname);
+ exit(1);
+ }
+ optarg = *sargv;
+ }
+ if (*optarg == 'X' && !optarg[1]) {
+ pr1403=1;
+ } else if (!strcmp(optarg, "lp")) {
+ tlp = 1;
+ utf8 = 0;
+ Graphics = 0;
+ } else if (!strcmp(optarg, "locale")) {
+ Graphics = 0;
+ if (strstr(setlocale(LC_ALL, ""), "UTF-8")) {
+ utf8 = 1;
+ tlp = 0;
+ } else {
+ tlp = 1;
+ }
+ }
+ }
+ else if (match("-g", *sargv))
+ {
+ Graphics=1;
+ utf8 = 0;
+ tlp = 0;
+ }
+ else {
+ (void) fprintf(stderr, "%s: Invalid option "
+ "(%s).\n", progname, *sargv);
+ (void) fprintf(stderr, "Usage: %s [ -me ] "
+ "[ -mm ] [ -ms ] [ filename ... ]\n", progname);
+ exit(1);
+ }
+ sargc--; sargv++;
+ }
+ if (sargc<=0) return(0);
+# ifndef gcos
+/* file closing is done by GCOS troff preprocessor */
+ if (tabin!=stdin) fclose(tabin);
+# endif
+ tabin = fopen(ifile= *sargv, "r");
+ iline=1;
+# ifndef gcos
+/* file names are all put into f. by the GCOS troff preprocessor */
+ fprintf(tabout, ".ds f. %s\n",ifile);
+# endif
+ fprintf(tabout, ".lf 1 %s\n", ifile);
+ if (tabin==NULL)
+ return error("Can't open file");
+ sargc--;
+ sargv++;
+ return(1);
+}
+# ifndef gcos
+void
+badsig(int unused)
+{
+signal(SIGPIPE, SIG_IGN);
+ exit(0);
+}
+# endif
diff --git a/tbl/t2.c b/tbl/t2.c
new file mode 100644
index 0000000000000..3f9b230fc3c69
--- /dev/null
+++ b/tbl/t2.c
@@ -0,0 +1,49 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t2.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t2.c 1.3 (gritter) 7/23/05
+ */
+
+ /* t2.c: subroutine sequencing for one table */
+# include "t..c"
+void
+tableput(void) {
+ saveline();
+ savefill();
+ ifdivert();
+ cleanfc();
+ if (getcomm())
+ return;
+ if (getspec())
+ return;
+ if (gettbl())
+ return;
+ getstop();
+ checkuse();
+ if (choochar())
+ return;
+ maktab();
+ if (runout())
+ return;
+ release();
+ rstofill();
+ endoff();
+ restline();
+}
diff --git a/tbl/t3.c b/tbl/t3.c
new file mode 100644
index 0000000000000..ff2855283e4c7
--- /dev/null
+++ b/tbl/t3.c
@@ -0,0 +1,132 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t3.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t3.c 1.12 (gritter) 9/11/06
+ */
+
+ /* t3.c: interpret commands affecting whole table */
+# include "t..c"
+# include <string.h>
+# include <stdlib.h>
+struct optstr {char *optnam; int *optadd;} options [] = {
+ { "expand", &expflg },
+ { "EXPAND", &expflg },
+ { "center", &ctrflg },
+ { "CENTER", &ctrflg },
+ { "box", &boxflg },
+ { "BOX", &boxflg },
+ { "allbox", &allflg },
+ { "ALLBOX", &allflg },
+ { "doublebox", &dboxflg },
+ { "DOUBLEBOX", &dboxflg },
+ { "frame", &boxflg },
+ { "FRAME", &boxflg },
+ { "doubleframe", &dboxflg },
+ { "DOUBLEFRAME", &dboxflg },
+ { "tab", &tab },
+ { "TAB", &tab },
+ { "linesize", &linsize },
+ { "LINESIZE", &linsize },
+ { "decimalpoint", &decimalpoint },
+ { "DECIMALPOINT", &decimalpoint },
+ { "delim", &delim1 },
+ { "DELIM", &delim1 },
+ { "graphics", &graphics },
+ { "GRAPICS", &graphics },
+ { "nokeep", &nokeep },
+ { "NOKEEP", &nokeep },
+ { "left", NULL },
+ { NULL, NULL }
+};
+
+int
+getcomm(void) {
+ char *line = NULL, *cp, nb[25], *t;
+ size_t linesize = 0;
+ struct optstr *lp;
+ int c, ci, found;
+ for(lp= options; lp->optadd; lp++)
+ *(lp->optadd) = 0;
+ texname = texstr[texct=0];
+ texct2 = -1;
+ tab = '\t';
+ decimalpoint = '.';
+ if (pr1403) graphics = 0;
+ else graphics = Graphics;
+ printf(".nr %d \\n(.s\n", LSIZE);
+ gets1(&line, &line, &linesize);
+ /* see if this is a command line */
+ if (strchr(line,';') == NULL) {
+ backrest(line);
+ free(line);
+ return 0;
+ }
+ for(cp=line; (c = *cp) != ';'; cp++) {
+ if (!letter(c)) continue;
+ found=0;
+ for(lp= options; lp->optnam; lp++) {
+ if (prefix(lp->optnam, cp)) {
+ cp += strlen(lp->optnam);
+ if (letter(*cp))
+ return
+ error("Misspelled global option");
+ while (*cp==' ')cp++;
+ t=nb;
+ if ( *cp == '(')
+ while ((ci= *++cp) != ')')
+ *t++ = ci;
+ else cp--;
+ *t++ = 0; *t=0;
+ if (!lp->optadd)
+ goto found;
+ *(lp->optadd) = 1;
+ if (lp->optadd == &tab || lp->optadd ==
+ &decimalpoint) {
+ if (nb[0])
+ *(lp->optadd) = nb[0];
+ }
+ if (lp->optadd == &linsize)
+ printf(".nr %d %s\n", LSIZE, nb);
+ if (lp->optadd == &delim1) {
+ delim1 = nb[0];
+ delim2 = nb[1];
+ }
+found:
+ found=1;
+ break;
+ }
+ }
+ if (!found)
+ return error("Illegal option");
+ }
+ cp++;
+ backrest(cp);
+ free(line);
+ return 0;
+}
+
+void
+backrest(char *cp) {
+ char *s;
+ for(s=cp; *s; s++);
+ un1getc('\n');
+ while (s>cp)
+ un1getc(*--s);
+}
diff --git a/tbl/t4.c b/tbl/t4.c
new file mode 100644
index 0000000000000..9810576b2140e
--- /dev/null
+++ b/tbl/t4.c
@@ -0,0 +1,473 @@
+/*
+ * Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "t4.c 1.10 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ * Portions Copyright (c) 2015 Carsten Kunze
+ *
+ * Sccsid @(#)t4.c 1.7 (gritter) 9/8/06
+ */
+
+ /* t4.c: read table specification */
+# include "t..c"
+# include <stdlib.h>
+# include <string.h>
+int oncol;
+static int morecols(int);
+static int moreheads(int);
+static void initspec(int);
+static void inithead(int, int);
+
+int
+getspec(void) {
+ int i;
+ moreheads(0);
+ morecols(0);
+ initspec(0);
+ nclin=ncol=0;
+ oncol =0;
+ left1flg=rightl=0;
+ if (readspec())
+ return -1;
+ fprintf(tabout, ".rm");
+ for(i=0; i<ncol; i++)
+ fprintf(tabout, " %02d", 80+i);
+ fprintf(tabout, "\n");
+ return 0;
+}
+
+int
+readspec(void)
+{
+ int icol, c, sawchar, stopc, i;
+ char sn[10], *snp, *temp;
+ sawchar=icol=0;
+ while ((c=get1char()))
+ {
+ switch(c)
+ {
+ default:
+ if (c != tab)
+ return error("bad table specification character");
+ case ' ': /* note this is also case tab */
+ continue;
+ case '\n':
+ if(sawchar==0) continue;
+ case ',':
+ case '.': /* end of table specification */
+ ncol = max(ncol, icol);
+ if (lefline[nclin][ncol]>0) {ncol++; rightl++;};
+ if(sawchar)
+ nclin++;
+ if (nclin>=MAXHEAD && !moreheads(nclin))
+ return error("too many lines in specification");
+ icol=0;
+ if (ncol==0 || nclin==0)
+ return error("no specification");
+ if (c== '.')
+ {
+ while ((c=get1char()) && c != '\n')
+ if (c != ' ' && c != '\t')
+ return error(
+ "dot not last character on format line");
+ /* fix up sep - default is 3 except at edge */
+ for(icol=0; icol<ncol; icol++)
+ if (sep[icol]<0)
+ sep[icol] = icol+1<ncol ? 3 : 1;
+ if (oncol == 0)
+ oncol = ncol;
+ else if (oncol +2 <ncol)
+ return error("tried to widen table in T&, not allowed");
+ return 0;
+ }
+ sawchar=0;
+ continue;
+ case 'C': case 'S': case 'R': case 'N': case 'L': case 'A':
+ c += ('a'-'A');
+ case '_': if (c=='_') c= '-';
+ case '=': case '-':
+ case '^':
+ case 'c': case 's': case 'n': case 'r': case 'l': case 'a':
+ style[nclin][icol]=c;
+ if (c== 's' && icol<=0)
+ return error("first column can not be S-type");
+ if (c=='s' && style[nclin][icol-1] == 'a')
+ {
+ fprintf(tabout,
+ ".tm warning: can't span a-type cols, changed to l\n");
+ style[nclin][icol-1] = 'l';
+ }
+ if (c=='s' && style[nclin][icol-1] == 'n')
+ {
+ fprintf(tabout,
+ ".tm warning: can't span n-type cols, changed to c\n");
+ style[nclin][icol-1] = 'c';
+ }
+ icol++;
+ if (c=='^' && nclin<=0)
+ return error("first row can not contain vertical span");
+ if (icol>=MAXCOL && !morecols(icol))
+ return error("too many columns in table");
+ sawchar=1;
+ continue;
+ case 'b': case 'i':
+ c += 'A'-'a';
+ /* FALLTHRU */
+ case 'B': case 'I':
+ if (sawchar == 0)
+ continue;
+ if (icol==0) continue;
+ snp=font[nclin][icol-1];
+ snp[0]= (c=='I' ? '2' : '3');
+ snp[1]=0;
+ continue;
+ case 't': case 'T':
+ if (sawchar == 0) {
+ continue;
+ }
+ if (icol>0)
+ ctop[nclin][icol-1] = 1;
+ continue;
+ case 'd': case 'D':
+ if (sawchar == 0)
+ continue;
+ if (icol>0)
+ ctop[nclin][icol-1] = -1;
+ continue;
+ case 'f': case 'F':
+ if (sawchar == 0)
+ continue;
+ if (icol==0) continue;
+ snp=font[nclin][icol-1];
+ snp[0]=snp[1]=stopc=0;
+ for(i=0; i<CLLEN; i++)
+ {
+ if (stopc==0 && i==2) break;
+ do
+ c = get1char();
+ while (i==0 && c==' ');
+ if (i==0 && c=='(')
+ {
+ stopc=')';
+ c = get1char();
+ }
+ if (c==0) break;
+ if (c==stopc) {stopc=0; break;}
+ if (stopc==0) if (c==' ' || c== tab ) break;
+ if (c=='.'){un1getc(c); break;}
+ if (c=='\n'){un1getc(c); break;}
+ snp[i] = c;
+ if (c>= '0' && c<= '9') break;
+ }
+ if (stopc) if (get1char()!=stopc)
+ return error("Nonterminated font name");
+ continue;
+ case 'P': case 'p':
+ if (sawchar == 0)
+ continue;
+ if (icol<=0) continue;
+ temp = snp = csize[nclin][icol-1];
+ while ((c = get1char()))
+ {
+ if (c== ' ' || c== tab || c=='\n') break;
+ if (c=='-' || c == '+')
+ if (snp>temp)
+ break;
+ else
+ *snp++=c;
+ else
+ if (digit(c))
+ *snp++ = c;
+ else break;
+ if (snp-temp>20)
+ return error("point size too large");
+ }
+ *snp = 0;
+ if (atoi(temp)>36)
+ return error("point size unreasonable");
+ un1getc (c);
+ continue;
+ case 'V': case 'v':
+ if (sawchar == 0)
+ continue;
+ if (icol<=0) continue;
+ temp = snp = vsize[nclin][icol-1];
+ while ((c = get1char()))
+ {
+ if (c== ' ' || c== tab || c=='\n') break;
+ if (c=='-' || c == '+')
+ if (snp>temp)
+ break;
+ else
+ *snp++=c;
+ else
+ if (digit(c))
+ *snp++ = c;
+ else break;
+ if (snp-temp>20)
+ return error(
+ "vertical spacing value too large");
+ }
+ *snp=0;
+ un1getc(c);
+ continue;
+ case 'w': case 'W':
+ if (sawchar == 0) {
+ /*
+ * This should be an error case.
+ * However, for the backward-compatibility,
+ * treat as if 'c' was specified.
+ */
+ style[nclin][icol] = 'c';
+ icol++;
+ if (icol >= MAXCOL && !morecols(icol)) {
+ return error("too many columns in table");
+ }
+ sawchar = 1;
+ }
+
+ snp = cll [icol-1];
+ /* Dale Smith didn't like this check
+ * possible to have two text blocks
+ * of different widths now ....
+ if (*snp)
+ {
+ fprintf(tabout,
+ "Ignored second width specification");
+ continue;
+ }
+ * end commented out code ... */
+ stopc=0;
+ while ((c = get1char()))
+ {
+ if (snp==cll[icol-1] && c==' ')
+ continue;
+ if (snp==cll[icol-1] && c=='(')
+ {
+ stopc = ')';
+ continue;
+ }
+ if ( !stopc && (c>'9' || c< '0'))
+ break;
+ if (stopc && c== stopc)
+ break;
+ if (snp-cll[icol-1]>CLLEN)
+ return error ("column width too long");
+ *snp++ =c;
+ }
+ *snp=0;
+ if (!stopc)
+ un1getc(c);
+ continue;
+ case 'x': case 'X':
+ if (!sawchar || icol < 1) break;
+ xcol[icol-1] = 1;
+ xcolflg++;
+ expflg = 0;
+ break;
+ case 'e': case 'E':
+ if (sawchar == 0)
+ continue;
+ if (icol<1) continue;
+ evenup[icol-1]=1;
+ evenflg=1;
+ continue;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ sn[0] = c;
+ snp=sn+1;
+ while (digit(*snp++ = c = get1char()))
+ ;
+ un1getc(c);
+ sep[icol-1] = max(sep[icol-1], numb(sn));
+ continue;
+ case '|':
+ lefline[nclin][icol]++;
+ if (icol==0) left1flg=1;
+ continue;
+ }
+ }
+ return error("EOF reading table specification");
+}
+
+static int
+morecols(int n)
+{
+ int i, j, inc = 10, maxcol;
+ void *vp;
+ if (n < MAXCOL) return(1);
+ while ((maxcol = MAXCOL + inc) < n) inc *= 2;
+ for (i=0; i<MAXHEAD; i++)
+ {
+ if ((vp = realloc(style[i], maxcol * sizeof **style)) == NULL)
+ return(0);
+ style[i] = vp;
+ if ((vp = realloc(ctop[i], maxcol * sizeof **ctop)) == NULL)
+ return(0);
+ ctop[i] = vp;
+ if ((vp = realloc(font[i], maxcol * sizeof **font)) == NULL)
+ return(0);
+ font[i] = vp;
+ if ((vp = realloc(csize[i], maxcol * sizeof **csize)) == NULL)
+ return(0);
+ csize[i] = vp;
+ if ((vp = realloc(vsize[i], maxcol * sizeof **vsize)) == NULL)
+ return(0);
+ vsize[i] = vp;
+ if ((vp = realloc(lefline[i], maxcol * sizeof **lefline)) == NULL)
+ return(0);
+ lefline[i] = vp;
+ for (j=MAXCOL; j<maxcol; j++)
+ {
+ if ((font[i][j] = calloc(CLLEN, sizeof ***font)) == NULL)
+ return(0);
+ if ((csize[i][j] = calloc(20, sizeof ***csize)) == NULL)
+ return(0);
+ if ((vsize[i][j] = calloc(20, sizeof ***vsize)) == NULL)
+ return(0);
+ }
+ }
+ if ((vp = realloc(cll, maxcol * sizeof *cll)) == NULL)
+ return(0);
+ cll = vp;
+ for (j=MAXCOL; j<maxcol; j++)
+ if ((cll[j] = calloc(CLLEN, sizeof **cll)) == NULL)
+ return(0);
+ if ((vp = realloc(xcol, maxcol * sizeof(*xcol))) == NULL)
+ return 0;
+ xcol = vp;
+ if ((vp = realloc(evenup, maxcol * sizeof *evenup)) == NULL)
+ return(0);
+ evenup = vp;
+ if ((vp = realloc(sep, maxcol * sizeof *sep)) == NULL)
+ return(0);
+ sep = vp;
+ if ((vp = realloc(used, maxcol * sizeof *used)) == NULL)
+ return(0);
+ used = vp;
+ if ((vp = realloc(lused, maxcol * sizeof *lused)) == NULL)
+ return(0);
+ lused = vp;
+ if ((vp = realloc(rused, maxcol * sizeof *rused)) == NULL)
+ return(0);
+ rused = vp;
+ if ((vp = realloc(topat, maxcol * sizeof *topat)) == NULL)
+ return(0);
+ topat = vp;
+ MAXCOL = maxcol;
+ initspec(MAXCOL - inc);
+ return(1);
+}
+static int
+moreheads(int n)
+{
+ int i, j, inc = 10, maxhead;
+ void *vp;
+ if (n<MAXHEAD) return(1);
+ while ((maxhead = MAXHEAD + inc) < n) inc *= 2;
+ if ((vp = realloc(style, maxhead * sizeof *style)) == NULL)
+ return(0);
+ style = vp;
+ if ((vp = realloc(ctop, maxhead * sizeof *ctop)) == NULL)
+ return(0);
+ ctop = vp;
+ if ((vp = realloc(font, maxhead * sizeof *font)) == NULL)
+ return(0);
+ font = vp;
+ if ((vp = realloc(csize, maxhead * sizeof *csize)) == NULL)
+ return(0);
+ csize = vp;
+ if ((vp = realloc(vsize, maxhead * sizeof *vsize)) == NULL)
+ return(0);
+ vsize = vp;
+ if ((vp = realloc(lefline, maxhead * sizeof *lefline)) == NULL)
+ return(0);
+ lefline = vp;
+ if (MAXCOL == 0)
+ {
+ memset(style, 0, maxhead * sizeof *style);
+ memset(ctop, 0, maxhead * sizeof *ctop);
+ memset(font, 0, maxhead * sizeof *font);
+ memset(csize, 0, maxhead * sizeof *csize);
+ memset(vsize, 0, maxhead * sizeof *vsize);
+ memset(lefline, 0, maxhead * sizeof *lefline);
+ }
+ if (MAXCOL) for (i=MAXHEAD; i<maxhead; i++)
+ {
+ if ((vp = calloc(MAXCOL, sizeof **style)) == NULL)
+ return(0);
+ style[i] = vp;
+ if ((vp = calloc(MAXCOL, sizeof **ctop)) == NULL)
+ return(0);
+ ctop[i] = vp;
+ if ((vp = calloc(MAXCOL, sizeof **font)) == NULL)
+ return(0);
+ font[i] = vp;
+ if ((vp = calloc(MAXCOL, sizeof **csize)) == NULL)
+ return(0);
+ csize[i] = vp;
+ if ((vp = calloc(MAXCOL, sizeof **vsize)) == NULL)
+ return(0);
+ vsize[i] = vp;
+ if ((vp = calloc(MAXCOL, sizeof **lefline)) == NULL)
+ return(0);
+ lefline[i] = vp;
+ for (j=0; j<MAXCOL; j++)
+ {
+ if ((vp = calloc(CLLEN, sizeof ***font)) == NULL)
+ return(0);
+ font[i][j] = vp;
+ if ((vp = calloc(20, sizeof ***csize)) == NULL)
+ return(0);
+ csize[i][j] = vp;
+ if ((vp = calloc(20, sizeof ***vsize)) == NULL)
+ return(0);
+ vsize[i][j] = vp;
+ }
+ }
+ MAXHEAD = maxhead;
+ for (j=0; j<MAXCOL; j++)
+ inithead(MAXHEAD-inc, j);
+ return(1);
+}
+static void
+initspec(int scol)
+{
+ int icol;
+ for(icol=scol; icol<MAXCOL; icol++)
+ {
+ sep[icol]= -1;
+ evenup[icol]=0;
+ cll[icol][0]=0;
+ xcol[icol] = 0;
+ inithead(0, icol);
+ }
+ xcolflg = 0;
+}
+static void
+inithead(int shead, int icol)
+{
+int i;
+for(i=shead; i<MAXHEAD; i++)
+ {
+ csize[i][icol][0]=0;
+ vsize[i][icol][0]=0;
+ font[i][icol][0] = lefline[i][icol] = 0;
+ ctop[i][icol]=0;
+ style[i][icol]= 'l';
+ }
+}
diff --git a/tbl/t5.c b/tbl/t5.c
new file mode 100644
index 0000000000000..ab44521d5ddec
--- /dev/null
+++ b/tbl/t5.c
@@ -0,0 +1,250 @@
+/*
+ * Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "t5.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t5.c 1.8 (gritter) 10/2/07
+ */
+
+ /* t5.c: read data for table */
+# include <stdlib.h>
+# include <string.h>
+# include "t..c"
+# include <inttypes.h>
+
+static int morelines(int);
+
+int
+gettbl(void)
+{
+ int icol, ch;
+ char *ocbase;
+ size_t linesize = MAXSTR;
+ morelines(0);
+ if (!(cbase = cstore = cspace = chspace()))
+ return -1;
+ textflg=0;
+ for (nlin=nslin=0; ocbase=cbase, gets1(&cbase, &cstore, &linesize); nlin++)
+ {
+ cspace += cbase - ocbase;
+ stynum[nlin]=nslin;
+ if (cprefix("TE", cstore))
+ {
+ leftover=0;
+ break;
+ }
+ if (cprefix("TC", cstore) || cprefix("T&", cstore))
+ {
+ if (readspec())
+ return -1;
+ nslin++;
+ }
+ if (nlin>=MAXLIN && !morelines(nlin))
+ {
+ leftover=cstore;
+ break;
+ }
+ table[nlin] = NULL;
+ fullbot[nlin]=0;
+ if (cstore[0] == '.' && !isdigit((unsigned char)cstore[1]))
+ {
+ instead[nlin] = cstore;
+ while (*cstore++);
+ continue;
+ }
+ else instead[nlin] = 0;
+ if (nodata(nlin))
+ {
+ if ((ch = oneh(nlin)))
+ fullbot[nlin]= ch;
+ nlin++;
+ nslin++;
+ instead[nlin]=(char *)0;
+ fullbot[nlin]=0;
+ }
+ if ((table[nlin] = alocv((ncol+2)*sizeof(table[0][0])))
+ == (struct colstr *)-1)
+ return -1;
+ if (cstore[1]==0)
+ switch(cstore[0])
+ {
+ case '_': fullbot[nlin]= '-'; continue;
+ case '=': fullbot[nlin]= '='; continue;
+ }
+ stynum[nlin] = nslin;
+ nslin = min(nslin+1, nclin-1);
+ for (icol = 0; icol <ncol; icol++)
+ {
+ table[nlin][icol].col = cstore;
+ table[nlin][icol].rcol=0;
+ ch=1;
+ if (match(cstore, "T{")) { /* text follows */
+ /* get_text was originally gettext and was renamed */
+ if ((table[nlin][icol].col =
+ get_text(cstore, nlin, icol,
+ font[stynum[nlin]][icol],
+ csize[stynum[nlin]][icol])) == (char *)-1)
+ return -1;
+ } else {
+ for(; (ch= *cstore) != '\0' && ch != tab; cstore++)
+ ;
+ *cstore++ = '\0';
+ switch(ctype(nlin,icol)) /* numerical or alpha, subcol */
+ {
+ case 'n':
+ if ((table[nlin][icol].rcol =
+ maknew(table[nlin][icol].col))
+ == (char *)-1)
+ return -1;
+ break;
+ case 'a':
+ table[nlin][icol].rcol = table[nlin][icol].col;
+ table[nlin][icol].col = "";
+ break;
+ }
+ }
+ while (ctype(nlin,icol+1)== 's') /* spanning */
+ table[nlin][++icol].col = "";
+ if (ch == '\0') break;
+ }
+ while (++icol <ncol+2)
+ {
+ table[nlin][icol].col = "";
+ table [nlin][icol].rcol=0;
+ }
+ while (*cstore != '\0')
+ cstore++;
+ if (cstore-cspace > MAXCHS)
+ if (!(cbase = cstore = cspace = chspace()))
+ return -1;
+ }
+ last = cstore;
+ if (permute())
+ return -1;
+ if (textflg) untext();
+ return 0;
+}
+
+int
+nodata(int il)
+{
+ int c;
+ for (c=0; c<ncol;c++)
+ {
+ switch(ctype(il,c))
+ {
+ case 'c': case 'n': case 'r': case 'l': case 's': case 'a':
+ return(0);
+ }
+ }
+ return(1);
+}
+int
+oneh(int lin)
+{
+ int k, icol;
+ k = ctype(lin,0);
+ for(icol=1; icol<ncol; icol++)
+ {
+ if (k != ctype(lin,icol))
+ return(0);
+ }
+ return(k);
+}
+
+# define SPAN "\\^"
+
+int
+permute(void)
+{
+ int irow, jcol, is;
+ char *start, *strig;
+ for(jcol=0; jcol<ncol; jcol++)
+ {
+ for(irow=1; irow<nlin; irow++)
+ {
+ if (vspand(irow,jcol,0))
+ {
+ is = prev(irow);
+ if (is<0)
+ return error("Vertical spanning in "
+ "first row not allowed");
+ start = table[is][jcol].col;
+ strig = table[is][jcol].rcol;
+ while (irow<nlin &&vspand(irow,jcol,0))
+ irow++;
+ table[--irow][jcol].col = start;
+ table[irow][jcol].rcol = strig;
+ while (is<irow)
+ {
+ table[is][jcol].rcol =0;
+ table[is][jcol].col= SPAN;
+ is = next(is);
+ }
+ }
+ }
+ }
+ return 0;
+}
+
+int
+vspand(int ir, int ij, int ifform)
+{
+ if (ir<0) return(0);
+ if (ir>=nlin)return(0);
+ if (instead[ir]) return(0);
+ if (ifform==0 && ctype(ir,ij)=='^') return(1);
+ if (table[ir]==0) return(0);
+ if (table[ir][ij].rcol!=0) return(0);
+ if (fullbot[ir]) return(0);
+ return(vspen(table[ir][ij].col));
+}
+int
+vspen(char *s)
+{
+ if (s==0) return(0);
+ if (!point((intptr_t)s)) return(0);
+ return(match(s, SPAN));
+}
+static int
+morelines(int n)
+{
+ int inc = 200, maxlin;
+ void *vp;
+ if (n>MAXLIN) return(1);
+ while ((maxlin = MAXLIN + inc) < n) inc *= 2;
+ if ((vp = realloc(table, maxlin * sizeof *table)) == NULL)
+ return(0);
+ table = vp;
+ if ((vp = realloc(stynum, (maxlin + 1) * sizeof *stynum)) == NULL)
+ return(0);
+ stynum = vp;
+ if ((vp = realloc(fullbot, maxlin * sizeof *fullbot)) == NULL)
+ return(0);
+ fullbot = vp;
+ memset(&fullbot[MAXLIN], 0, inc * sizeof *fullbot);
+ if ((vp = realloc(instead, maxlin * sizeof *instead)) == NULL)
+ return(0);
+ instead = vp;
+ memset(&instead[MAXLIN], 0, inc * sizeof *instead);
+ if ((vp = realloc(linestop, maxlin * sizeof *linestop)) == NULL)
+ return(0);
+ linestop = vp;
+ MAXLIN = maxlin;
+ return(1);
+}
diff --git a/tbl/t6.c b/tbl/t6.c
new file mode 100644
index 0000000000000..82f59d8da4569
--- /dev/null
+++ b/tbl/t6.c
@@ -0,0 +1,250 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t6.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ * Portions Copyright (c) 2015 Carsten Kunze
+ *
+ * Sccsid @(#)t6.c 1.6 (gritter) 2/8/06
+ */
+
+ /* t6.c: compute tab stops */
+# define tx(a) ((a)!=(char *)0 && !point((intptr_t)(a)))
+# include "t..c"
+# include <inttypes.h>
+void
+maktab(void)
+{
+# define FN(i,c) font[stynum[i]][c]
+# define SZ(i,c) csize[stynum[i]][c]
+ /* define the tab stops of the table */
+ int icol, ilin, tsep, k, ik, vforml, il, text;
+ int doubled[MAXCOL], acase[MAXCOL];
+ char *s;
+ char space[40];
+ for(icol=0; icol <ncol; icol++)
+ {
+ doubled[icol] = acase[icol] = 0;
+ fprintf(tabout, ".nr %d 0\n", icol+CRIGHT);
+ for(text=0; text<2; text++)
+ {
+ if (text) {
+ warnoff();
+ fprintf(tabout, ".%02d\n.rm %02d\n", icol+80, icol+80);
+ warnon();
+ }
+ for(ilin=0; ilin<nlin; ilin++)
+ {
+ if (instead[ilin]|| fullbot[ilin]) continue;
+ vforml=ilin;
+ for(il=prev(ilin); il>=0 && vspen(table[il][icol].col); il=prev(il))
+ vforml=il;
+ if (fspan(vforml,icol)) continue;
+ if (filler(table[ilin][icol].col)) continue;
+ switch(ctype(vforml,icol))
+ {
+ case 'a':
+ acase[icol]=1;
+ s = table[ilin][icol].col;
+ if (tx(s) && text)
+ {
+ if (doubled[icol]==0)
+ fprintf(tabout, ".nr %d 0\n.nr %d 0\n",S1,S2);
+ doubled[icol]=1;
+ nreg(space, sizeof(space), s,
+ '-');
+ fprintf(tabout, ".if %s>\\n(%d .nr %d %s\n",space,S2,S2,space);
+ }
+ case 'n':
+ if (table[ilin][icol].rcol!=0)
+ {
+ if (doubled[icol]==0 && text==0)
+ fprintf(tabout, ".nr %d 0\n.nr %d 0\n", S1, S2);
+ doubled[icol]=1;
+ if (real(s=table[ilin][icol].col) && !vspen(s))
+ {
+ if (tx(s) != text) continue;
+ fprintf(tabout, ".nr %d ", TMP);
+ wide(s, FN(vforml,icol), SZ(vforml,icol)); fprintf(tabout, "\n");
+ fprintf(tabout, ".if \\n(%d<\\n(%d .nr %d \\n(%d\n", S1, TMP, S1, TMP);
+ }
+ if (text==0 && real(s=table[ilin][icol].rcol) && !vspen(s) && !barent(s))
+ {
+ fprintf(tabout, ".nr %d \\w%c%s%c\n",TMP, F1, s, F1);
+ fprintf(tabout, ".if \\n(%d<\\n(%d .nr %d \\n(%d\n",S2,TMP,S2,TMP);
+ }
+ continue;
+ }
+ case 'r':
+ case 'c':
+ case 'l':
+ if (real(s=table[ilin][icol].col) && !vspen(s))
+ {
+ if (tx(s) != text) continue;
+ fprintf(tabout, ".nr %d ", TMP);
+ wide(s, FN(vforml,icol), SZ(vforml,icol)); fprintf(tabout, "\n");
+ fprintf(tabout, ".if \\n(%d<\\n(%d .nr %d \\n(%d\n", icol+CRIGHT, TMP, icol+CRIGHT, TMP);
+ }
+ }
+ }
+ }
+ if (acase[icol])
+ {
+ fprintf(tabout, ".if \\n(%d>=\\n(%d .nr %d \\n(%du+2n\n",S2,icol+CRIGHT,icol+CRIGHT,S2);
+ }
+ if (doubled[icol])
+ {
+ fprintf(tabout, ".nr %d \\n(%d\n", icol+CMID, S1);
+ fprintf(tabout, ".nr %d \\n(%d+\\n(%d\n",TMP,icol+CMID,S2);
+ fprintf(tabout, ".if \\n(%d>\\n(%d .nr %d \\n(%d\n",TMP,icol+CRIGHT,icol+CRIGHT,TMP);
+ fprintf(tabout, ".if \\n(%d<\\n(%d .nr %d +(\\n(%d-\\n(%d)/2\n",TMP,icol+CRIGHT,icol+CMID,icol+CRIGHT,TMP);
+ }
+ if (cll[icol][0])
+ {
+ fprintf(tabout, ".nr %d %sn\n", TMP, cll[icol]);
+ fprintf(tabout, ".if \\n(%d<\\n(%d .nr %d \\n(%d\n",icol+CRIGHT, TMP, icol+CRIGHT, TMP);
+ }
+ for(ilin=0; ilin<nlin; ilin++)
+ if ((k=lspan(ilin, icol)))
+ {
+ s=table[ilin][icol-k].col;
+ if (!real(s) || barent(s) || vspen(s) ) continue;
+ fprintf(tabout, ".nr %d ", TMP);
+ wide(table[ilin][icol-k].col, FN(ilin,icol-k), SZ(ilin,icol-k));
+ for(ik=k; ik>=0; ik--)
+ {
+ fprintf(tabout, "-\\n(%d",CRIGHT+icol-ik);
+ if (!expflg && ik>0) fprintf(tabout, "-%dn", sep[icol-ik]);
+ }
+ fprintf(tabout, "\n");
+ fprintf(tabout, ".if \\n(%d>0 .nr %d \\n(%d/%d\n", TMP, TMP, TMP, k);
+ fprintf(tabout, ".if \\n(%d<0 .nr %d 0\n", TMP, TMP);
+ for(ik=0; ik<k; ik++)
+ {
+ if (doubled[icol-k+ik])
+ fprintf(tabout, ".nr %d +\\n(%d/2\n", icol-k+ik+CMID, TMP);
+ fprintf(tabout, ".nr %d +\\n(%d\n", icol-k+ik+CRIGHT, TMP);
+ }
+ }
+ }
+ if (textflg) untext();
+ /* if even requested, make all columns widest width */
+# define TMP1 S1
+# define TMP2 S2
+ if (evenflg)
+ {
+ fprintf(tabout, ".nr %d 0\n", TMP);
+ for(icol=0; icol<ncol; icol++)
+ {
+ if (evenup[icol]==0) continue;
+ fprintf(tabout, ".if \\n(%d>\\n(%d .nr %d \\n(%d\n",
+ icol+CRIGHT, TMP, TMP, icol+CRIGHT);
+ }
+ for(icol=0; icol<ncol; icol++)
+ {
+ if (evenup[icol]==0)
+ /* if column not evened just retain old interval */
+ continue;
+ if (doubled[icol])
+ fprintf(tabout, ".nr %d (100*\\n(%d/\\n(%d)*\\n(%d/100\n",
+ icol+CMID, icol+CMID, icol+CRIGHT, TMP);
+ /* that nonsense with the 100's and parens tries
+ to avoid overflow while proportionally shifting
+ the middle of the number */
+ fprintf(tabout, ".nr %d \\n(%d\n", icol+CRIGHT, TMP);
+ }
+ }
+ /* now adjust for total table width */
+ for(tsep=icol=0; icol<ncol; icol++)
+ tsep+= sep[icol];
+ if (expflg)
+ {
+ fprintf(tabout, ".nr %d 0", TMP);
+ for(icol=0; icol<ncol; icol++)
+ fprintf(tabout, "+\\n(%d", icol+CRIGHT);
+ fprintf(tabout, "\n");
+ fprintf(tabout, ".nr %d \\n(.l-\\n(.i-\\n(%d%s\n", TMP, TMP,
+ (utf8 || tlp) && (boxflg || dboxflg || allflg) ? "-1n" : "");
+ if (boxflg || dboxflg || allflg)
+ tsep += 1;
+ else
+ tsep -= sep[ncol-1];
+ fprintf(tabout, ".nr %d \\n(%d/%d\n", TMP, TMP, tsep);
+ fprintf(tabout, ".if \\n(%d<1n .nr %d 1n\n", TMP, TMP);
+ }
+ else if (xcolflg) {
+ fprintf(tabout, ".nr %d 0", TMP);
+ for(icol=0; icol<ncol; icol++)
+ fprintf(tabout, "+\\n(%d", icol+CRIGHT);
+ fprintf(tabout, "\n");
+ fprintf(tabout, ".nr %d \\n(.l-\\n(.i-\\n(%d-%dn/%d\n", TMP,
+ TMP, tsep + ((boxflg || dboxflg || allflg) ?
+ (utf8 || tlp) ? 2 : 1 : -1), xcolflg);
+ for(icol=0; icol<ncol; icol++) {
+ if (!xcol[icol]) continue;
+ fprintf(tabout, ".nr %d +\\n(%d\n", icol+CRIGHT, TMP);
+ }
+ fprintf(tabout, ".nr %d 1n\n", TMP);
+ }
+ else
+ fprintf(tabout, ".nr %d 1n\n", TMP);
+ fprintf(tabout, ".nr %d 0\n",CRIGHT-1);
+ tsep= (boxflg || allflg || dboxflg || left1flg) ? 1 : 0;
+ for(icol=0; icol<ncol; icol++)
+ {
+ fprintf(tabout, ".nr %d \\n(%d+(%d*\\n(%d)\n",icol+CLEFT, icol+CRIGHT-1, tsep, TMP);
+ fprintf(tabout, ".nr %d +\\n(%d\n",icol+CRIGHT, icol+CLEFT);
+ if (doubled[icol])
+ {
+ /* the next line is last-ditch effort to avoid zero field width */
+ /*fprintf(tabout, ".if \\n(%d=0 .nr %d 1\n",icol+CMID, icol+CMID);*/
+ fprintf(tabout, ".nr %d +\\n(%d\n", icol+CMID, icol+CLEFT);
+ /* fprintf(tabout, ".if n .if \\n(%d%%24>0 .nr %d +12u\n",icol+CMID, icol+CMID); */
+ }
+ tsep=sep[icol];
+ }
+ if (rightl)
+ fprintf(tabout, ".nr %d (\\n(%d+\\n(%d)/2\n",ncol+CRIGHT-1, ncol+CLEFT-1, ncol+CRIGHT-2);
+ fprintf(tabout, ".nr TW \\n(%d\n", ncol+CRIGHT-1);
+ if (boxflg || allflg || dboxflg)
+ fprintf(tabout, ".nr TW +%d*\\n(%d\n", sep[ncol-1], TMP);
+ fprintf(tabout,
+ ".if t .if \\n(TW>\\n(.l .tm Table at line %d file %s is too wide - \\n(TW units\n", iline-1, ifile);
+ return;
+}
+void
+wide(char *s, char *fn, char *size)
+{
+ char space[40];
+ if (point((intptr_t)s))
+ {
+ fprintf(tabout, "\\w%c", F1);
+ if (*fn>0) putfont(fn);
+ if (*size) putsize(size);
+ fprintf(tabout, "%s", s);
+ if (*fn>0) putfont("P");
+ if (*size) putsize("0");
+ fprintf(tabout, "%c",F1);
+ }
+ else
+ fprintf(tabout, "%s", nreg(space, sizeof(space), s, '-'));
+}
+int
+filler(char *s)
+{
+return (point((intptr_t)s) && s[0]=='\\' && s[1] == 'R');
+}
diff --git a/tbl/t7.c b/tbl/t7.c
new file mode 100644
index 0000000000000..ec4026b5cb7bf
--- /dev/null
+++ b/tbl/t7.c
@@ -0,0 +1,181 @@
+/*
+ * Copyright (c) 1983-1998 by Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t7.c 1.5 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t7.c 1.8 (gritter) 10/25/06
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+ /* t7.c: control to write table entries */
+# include "t..c"
+# include <inttypes.h>
+# define realsplit ((ct=='a'||ct=='n') && table[ldata][c].rcol)
+
+int
+runout(void)
+{
+ int i;
+ if ((boxflg || allflg || dboxflg) && !nokeep) need();
+ if (ctrflg)
+ {
+ fprintf(tabout, ".nr #I \\n(.i\n");
+ fprintf(tabout, ".in +(\\n(.lu-\\n(TWu-\\n(.iu)/2u\n");
+ }
+ fprintf(tabout, ".fc %c %c\n", F1, F2);
+ fprintf(tabout, ".nr #T 0-1\n");
+ deftail();
+ for(i=0; i<nlin; i++)
+ putline(i,i);
+ if (leftover)
+ if (yetmore())
+ return -1;
+ fprintf(tabout, ".fc\n");
+ fprintf(tabout, ".nr T. 1\n");
+ fprintf(tabout, ".T# 1\n");
+ if (ctrflg)
+ fprintf(tabout, ".in \\n(#Iu\n");
+ return 0;
+}
+
+void
+runtabs(int lform, int ldata)
+{
+ int c, ct, vforml, lf;
+ fprintf(tabout, ".ta ");
+ for(c=0; c<ncol; c++)
+ {
+ vforml=lform;
+ for (lf=prev(lform); lf>=0 && vspen(table[lf][c].col);
+ lf=prev(lf))
+ vforml=lf;
+ if (fspan(vforml,c))
+ continue;
+ switch(ct=ctype(vforml,c))
+ {
+ case 'n':
+ case 'a':
+ if (table[ldata][c].rcol)
+ if (lused[c]) /*Zero field width*/
+ fprintf(tabout, "\\n(%du ",c+CMID);
+ case 'c':
+ case 'l':
+ case 'r':
+ if (realsplit? rused[c]: (used[c]+lused[c]))
+ fprintf(tabout, "\\n(%du ",c+CRIGHT);
+ continue;
+ case 's':
+ if (lspan(lform, c))
+ fprintf(tabout, "\\n(%du ", c+CRIGHT);
+ continue;
+ }
+ }
+ fprintf(tabout, "\n");
+}
+
+int
+ifline(char *s) {
+ if (!point((intptr_t)s) || !*s)
+ return 0;
+ if (*s == '\\')
+ s++;
+ if (s[1])
+ return 0;
+ if (*s == '_')
+ return '-';
+ if (*s == '=')
+ return '=';
+ return 0;
+}
+
+void
+need(void)
+{
+ int texlin, horlin, i;
+
+ for(texlin = horlin = i = 0; i < nlin; i++) {
+ if (allh(i))
+ horlin++;
+ else if (instead[i] != 0)
+ continue;
+ else
+ texlin++;
+ }
+ /*
+ * For nroff runs, we need to reserve space for the full height of the
+ * horizontal rules. If we don't reserve sufficient height, we'll have
+ * problems trying to draw the vertical lines across the page boundary.
+ */
+ (void) fprintf(tabout, ".ie n .ne %dv\n", 2 * texlin + 2 * horlin + 2);
+ (void) fprintf(tabout, ".el .ne %dv\n", texlin + 1);
+}
+
+void
+deftail(void)
+{
+ int i, c, lf, lwid;
+ for(i=0; i<MAXHEAD; i++)
+ if (linestop[i])
+ fprintf(tabout, ".nr #%c 0-1\n", linestop[i]+'a'-1);
+ fprintf(tabout, ".nr #a 0-1\n");
+ fprintf(tabout, ".eo\n");
+ fprintf(tabout, ".de T# 00\n");
+ fprintf(tabout, ".ds #d .d\n");
+ fprintf(tabout, ".if \\(ts\\n(.z\\(ts\\(ts .ds #d nl\n");
+ fprintf(tabout, ".mk ##\n");
+ fprintf(tabout, ".nr ## -1v\n");
+ if (graphics)
+ svgraph();
+ fprintf(tabout, ".ls 1\n");
+ for(i=0; i<MAXHEAD; i++)
+ if (linestop[i])
+ fprintf(tabout, ".if \\n(#T>=0 .nr #%c \\n(#T\n",linestop[i]+'a'-1);
+ if (boxflg || allflg || dboxflg) { /* bottom of table line */
+ if (!nflm)
+ fprintf(tabout, ".if \\n(T. .vs \\n(.vu-\\n(.sp\n");
+ fprintf(tabout, ".if \\n(T. ");
+ drawline(nlin,0,ncol, dboxflg ? '=' : '-',1,0);
+ fprintf(tabout, "\n");
+ if (!nflm)
+ fprintf(tabout, ".if \\n(T. .vs\n");
+ /* T. is really an argument to a macro but because of
+ eqn we don't dare pass it as an argument and reference by $1 */
+ }
+ if (!(utf8 || tlp)) {
+ for(c=0; c<ncol; c++)
+ {
+ if (nlin>0 && (lf=left(nlin-1,c, &lwid))>=0)
+ {
+ fprintf(tabout, ".if \\n(#%c>=0 .sp -1\n",linestop[lf]+'a'-1);
+ fprintf(tabout, ".if \\n(#%c>=0 ", linestop[lf]+'a'-1);
+ tohcol(c);
+ drawvert(lf, nlin-1, c, lwid);
+ fprintf(tabout, "\\h'|\\n(TWu'\n");
+ }
+ }
+ if (boxflg || allflg || dboxflg) /* right hand line */
+ {
+ fprintf(tabout, ".if \\n(#a>=0 .sp -1\n");
+ fprintf(tabout, ".if \\n(#a>=0 \\h'|\\n(TWu'");
+ drawvert (0, nlin-1, ncol, dboxflg? 2 : 1);
+ fprintf(tabout, "\n");
+ }
+ }
+ fprintf(tabout, ".ls\n");
+ fprintf(tabout, ".00\n");
+ fprintf(tabout, ".ec\n");
+}
diff --git a/tbl/t8.c b/tbl/t8.c
new file mode 100644
index 0000000000000..2fe8b352b5b66
--- /dev/null
+++ b/tbl/t8.c
@@ -0,0 +1,425 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "t8.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ * Portions Copyright (c) 2015 Carsten Kunze
+ *
+ * Sccsid @(#)t8.c 1.12 (gritter) 10/2/07
+ */
+
+ /* t8.c: write out one line of output table */
+# include "t..c"
+# include <inttypes.h>
+# define realsplit ((ct=='a'||ct=='n') && table[nl][c].rcol)
+int watchout;
+int once;
+void
+putline (
+ /* i is line number for deciding format */
+ /* nl is line number for finding data usually identical */
+ int i,
+ int nl
+)
+ /* i is line number for deciding format */
+ /* nl is line number for finding data usually identical */
+{
+ int c, lf, ct, form, lwid, vspf, ip = -1, cmidx = 0, exvspen, vforml;
+ int vct, chfont;
+ char *s, *size, *fn;
+ char space[40];
+ watchout=vspf=exvspen=0;
+ if (graphics)
+ svgraph();
+ if (i==0) once=0;
+ if (i==0 && ( allflg || boxflg || dboxflg))
+ {
+ fullwide(0, dboxflg? '=' : '-');
+ }
+ if (instead[nl]==0 && fullbot[nl] ==0)
+ for(c=0; c<ncol; c++)
+ {
+ s = table[nl][c].col;
+ if (s==0) continue;
+ if (vspen(s))
+ {
+ for(ip=nl; ip<nlin; ip=next(ip))
+ if (!vspen(s=table[ip][c].col)) break;
+ if (s!=(char *)0 && !point((intptr_t)s))
+ fprintf(tabout, ".ne %su+\\n(.Vu\n",
+ nreg(space, sizeof(space), s,
+ '|'));
+ continue;
+ }
+ if (point((intptr_t)s)) continue;
+ fprintf(tabout, ".ne %su+\\n(.Vu\n",
+ nreg(space, sizeof(space), s, '|'));
+ watchout=1;
+ }
+ if (linestop[nl])
+ fprintf(tabout, ".mk #%c\n", linestop[nl]+'a'-1);
+ lf = prev(nl);
+ if (instead[nl])
+ {
+ puts(instead[nl]);
+ return;
+ }
+ if (fullbot[nl])
+ {
+ switch (ct=fullbot[nl])
+ {
+ case '=':
+ case '-':
+ fullwide(nl,ct);
+ }
+ return;
+ }
+ for(c=0; c<ncol; c++)
+ {
+ if (instead[nl]==0 && fullbot[nl]==0)
+ if (vspen(table[nl][c].col)) vspf=1;
+ if (lf>=0)
+ if (vspen(table[lf][c].col)) vspf=1;
+ }
+ if (vspf)
+ {
+ fprintf(tabout, ".nr #^ \\n(\\*(#du\n");
+ fprintf(tabout, ".nr #- \\n(#^\n"); /* current line position relative to bottom */
+ }
+ vspf=0;
+ chfont=0;
+ for(c=0; c<ncol; c++)
+ {
+ s = table[nl][c].col;
+ if (s==0) continue;
+ chfont |= (intptr_t)(font[stynum[nl]][c]);
+ if (point((intptr_t)s) ) continue;
+ lf=prev(nl);
+ nreg(space, sizeof(space), s, '|');
+ warnoff();
+ if (lf>=0 && vspen(table[lf][c].col))
+ fprintf(tabout, ".if (%s+\\n(^%c-1v)>\\n(#- .nr #- +(%s+\\n(^%c-\\n(#--1v)\n",space,'a'+c,space,'a'+c);
+ else
+ fprintf(tabout, ".if (%s+\\n(#^-1v)>\\n(#- .nr #- +(%s+\\n(#^-\\n(#--1v)\n",space,space);
+ }
+ warnon();
+ if (allflg && once>0 )
+ fullwide(i,'-');
+ once=1;
+ runtabs(i, nl);
+ if (allh(nl) && !nflm)
+ {
+ fprintf(tabout, ".nr %d \\n(.v\n", SVS);
+ fprintf(tabout, ".vs \\n(.vu-\\n(.sp\n");
+ }
+ if (chfont)
+ fprintf(tabout, ".nr %2d \\n(.f\n", S1);
+ fprintf(tabout, ".nr 35 1m\n");
+ if ((utf8 || tlp) && (boxflg || allflg || dboxflg)) { /* right hand line */
+ fprintf(tabout, "\\h'|\\n(TWu'");
+ fprintf(tabout, "%s", tlp ? "|" :
+ dboxflg ? "\\U'2551'" : /* â•‘ */
+ "\\U'2502'"); /* │ */
+ }
+ fprintf(tabout, "\\&");
+ vct = 0;
+ for(c=0; c<ncol; c++)
+ {
+ if (utf8 || tlp) {
+ char *s = table[nl][c ? c-1 : 0].col;
+ if ((lwid = lefdata(i, c)) && (!ifline(s) ||
+ *s == '\\')) {
+ tohcol(c);
+ fprintf(tabout, "%s",
+ tlp ? "|" :
+ lwid == 2 ? "\\U'2551'" : /* â•‘ */
+ "\\U'2502'"); /* │ */
+ vct += 2;
+ }
+ } else
+ if (watchout==0 && i+1<nlin && (lf=left(i,c, &lwid))>=0)
+ {
+ tohcol(c);
+ drawvert(lf, i, c, lwid);
+ vct += 2;
+ }
+ if (rightl && c+1==ncol) continue;
+ vforml=i;
+ for(lf=prev(nl); lf>=0 && vspen(table[lf][c].col); lf=prev(lf))
+ vforml= lf;
+ form= ctype(vforml,c);
+ if (form != 's')
+ {
+ ct = c+CLEFT;
+ if (form=='a') ct = c+CMID;
+ if (form=='n' && table[nl][c].rcol && lused[c]==0) ct= c+CMID;
+ fprintf(tabout, "\\h'|\\n(%du'", ct);
+ }
+ s= table[nl][c].col;
+ fn = font[stynum[vforml]][c];
+ size = csize[stynum[vforml]][c];
+ if (*size==0)size=0;
+ switch(ct=ctype(vforml, c))
+ {
+ case 'n':
+ case 'a':
+ if (table[nl][c].rcol)
+ {
+ if (lused[c]) /*Zero field width*/
+ {
+ ip = prev(nl);
+ if (ip>=0)
+ if (vspen(table[ip][c].col))
+ {
+ if (exvspen==0)
+ {
+ fprintf(tabout, "\\v'-(\\n(\\*(#du-\\n(^%cu", c+'a');
+ if (cmidx)
+ fprintf(tabout, "-((\\n(#-u-\\n(^%cu)/2u)", c+'a');
+ vct++;
+ fprintf(tabout, ")'");
+ exvspen=1;
+ }
+ }
+ fprintf(tabout, "%c%c",F1,F2);
+ puttext(s,fn,size);
+ fprintf(tabout, "%c",F1);
+ }
+ s= table[nl][c].rcol;
+ form=1;
+ break;
+ }
+ case 'c':
+ form=3; break;
+ case 'r':
+ form=2; break;
+ case 'l':
+ form=1; break;
+ case '-':
+ case '=':
+ if (real(table[nl][c].col))
+ fprintf(stderr,"%s: line %d: Data ignored on table line %d\n", ifile, iline-1, i+1);
+ makeline(i,c,ct);
+ continue;
+ default:
+ continue;
+ }
+ if (realsplit ? rused[c]: used[c]) /*Zero field width*/
+ {
+ /* form: 1 left, 2 right, 3 center adjust */
+ if (ifline(s))
+ {
+ makeline(i,c,ifline(s));
+ continue;
+ }
+ if (filler(s))
+ {
+ printf("\\l'|\\n(%du\\&%s'", c+CRIGHT, s+2);
+ continue;
+ }
+ ip = prev(nl);
+ cmidx = ctop[stynum[nl]][c]==0;
+ if (ip>=0)
+ if (vspen(table[ip][c].col))
+ {
+ if (exvspen==0)
+ {
+ fprintf(tabout, "\\v'-(\\n(\\*(#du-\\n(^%cu", c+'a');
+ if (cmidx)
+ fprintf(tabout, "-((\\n(#-u-\\n(^%cu)/2u)", c+'a');
+ vct++;
+ fprintf(tabout, ")'");
+ }
+ }
+ fprintf(tabout, "%c", F1);
+ if (form!= 1)
+ fprintf(tabout, "%c", F2);
+ if (vspen(s))
+ vspf=1;
+ else
+ puttext(s, fn, size);
+ if (form !=2)
+ fprintf(tabout, "%c", F2);
+ fprintf(tabout, "%c", F1);
+ }
+ if (ip>=0)
+ {
+ if (vspen(table[ip][c].col))
+ {
+ exvspen = (c+1 < ncol) && vspen(table[ip][c+1].col) &&
+ (topat[c] == topat[c+1]) &&
+ (cmidx == (ctop [stynum[nl]][c+1]==0)) && (left(i,c+1,&lwid)<0);
+ if (exvspen==0)
+ {
+ fprintf(tabout, "\\v'(\\n(\\*(#du-\\n(^%cu", c+'a');
+ if (cmidx)
+ fprintf(tabout, "-((\\n(#-u-\\n(^%cu)/2u)", c+'a');
+ vct++;
+ fprintf(tabout, ")'");
+ }
+ }
+ else
+ exvspen=0;
+ }
+ /* if lines need to be split for gcos here is the place for a backslash */
+ if (vct > 7 && c < ncol)
+ {
+ fprintf(tabout, "\n.sp -1\n\\&");
+ vct=0;
+ }
+ }
+ fprintf(tabout, "\n");
+ if (allh(nl) && !nflm) fprintf(tabout, ".vs \\n(%du\n", SVS);
+ if (watchout)
+ funnies(i,nl);
+ if (vspf)
+ {
+ for(c=0; c<ncol; c++)
+ if (vspen(table[nl][c].col) && (nl==0 || (lf=prev(nl))<0 || !vspen(table[lf][c].col)))
+ {
+ fprintf(tabout, ".nr ^%c \\n(#^u\n", 'a'+c);
+ topat[c]=nl;
+ }
+ }
+}
+void
+puttext(char *s, char *fn, char *size)
+{
+ if (point((intptr_t)s))
+ {
+ putfont(fn);
+ putsize(size);
+ fprintf(tabout, "%s",s);
+ if (*fn>0) fprintf(tabout, "\\f\\n(%2d", S1);
+ if (size!=0) putsize("0");
+ }
+}
+void
+funnies(int stl, int lin)
+{
+ /* write out funny diverted things */
+ int c, pl, lwid, dv, lf, ct = 0;
+ intptr_t s;
+ char *fn;
+ char space[40];
+ fprintf(tabout, ".mk ##\n"); /* rmember current vertical position */
+ fprintf(tabout, ".nr %d \\n(##\n", S1); /* bottom position */
+ for(c=0; c<ncol; c++)
+ {
+ s = (intptr_t)table[lin][c].col;
+ if (point(s)) continue;
+ if (s==0) continue;
+ fprintf(tabout, ".sp |\\n(##u-1v\n");
+ fprintf(tabout, ".nr %d ", SIND);
+ for(pl=stl; pl>=0 && !isalpha(ct=ctype(pl,c)); pl=prev(pl))
+ ;
+ switch (ct)
+ {
+ case 'n':
+ case 'c':
+ fprintf(tabout, "(\\n(%du+\\n(%du-%su)/2u\n",
+ c + CLEFT, c - 1 + ctspan(lin, c) + CRIGHT,
+ nreg(space, sizeof(space), (char *)s, '-'));
+ break;
+ case 'l':
+ fprintf(tabout, "\\n(%du\n",c+CLEFT);
+ break;
+ case 'a':
+ fprintf(tabout, "\\n(%du\n",c+CMID);
+ break;
+ case 'r':
+ fprintf(tabout, "\\n(%du-%su\n", c + CRIGHT,
+ nreg(space, sizeof(space), (char *)s, '-'));
+ break;
+ }
+ fprintf(tabout, ".in +\\n(%du\n", SIND);
+ fn=font[stynum[stl]][c];
+ putfont(fn);
+ pl = prev(stl);
+ if (stl>0 && pl>=0 && vspen(table[pl][c].col))
+ {
+ fprintf(tabout, ".sp |\\n(^%cu\n", 'a'+c);
+ if (ctop[stynum[stl]][c]==0)
+ {
+ fprintf(tabout,
+ ".nr %d \\n(#-u-\\n(^%c-%s+1v\n", TMP,
+ 'a' + c, nreg(space, sizeof(space),
+ (char *)s, '|'));
+ fprintf(tabout, ".if \\n(%d>0 .sp \\n(%du/2u\n", TMP, TMP);
+ }
+ }
+ if (s<128)
+ fprintf(tabout, ".%c+\n",(int)s);
+ else
+ fprintf(tabout, ".do %ld+\n",s);
+ fprintf(tabout, ".in -\\n(%du\n", SIND);
+ if (*fn>0) putfont("P");
+ fprintf(tabout, ".mk %d\n", S2);
+ fprintf(tabout, ".if \\n(%d>\\n(%d .nr %d \\n(%d\n", S2, S1, S1, S2);
+ }
+ fprintf(tabout, ".sp |\\n(%du\n", S1);
+ for(c=dv=0; c<ncol; c++)
+ {
+ if (utf8 || tlp) {
+ if ((lwid = lefdata(stl,c))) {
+ if (!dv++)
+ fprintf(tabout, ".sp -1\n");
+ tohcol(c);
+ dv++;
+ fprintf(tabout,
+ "\\L'-(\\n(%du-\\n(##u)%s'", S1,
+ tlp ? "|" :
+ lwid == 2 ? "\\U'2551'" : /* â•‘ */
+ "\\U'2502'"); /* │ */
+ fprintf(tabout, "\\v'\\n(%du-\\n(##u'", S1);
+ }
+ } else
+ if (stl+1< nlin && (lf=left(stl,c,&lwid))>=0)
+ {
+ if (dv++ == 0)
+ fprintf(tabout, ".sp -1\n");
+ tohcol(c);
+ dv++;
+ drawvert(lf, stl, c, lwid);
+ }
+ }
+ if ((utf8 || tlp) && (allflg || boxflg || dboxflg)) {
+ if (!dv++)
+ fprintf(tabout, ".sp -1\n");
+ fprintf(tabout, "\\h'|\\n(TWu'");
+ fprintf(tabout,
+ "\\L'-(\\n(%du-\\n(##u)%s'", S1,
+ tlp ? "|" :
+ lwid == 2 ? "\\U'2551'" : /* â•‘ */
+ "\\U'2502'"); /* │ */
+ fprintf(tabout, "\\v'\\n(%du-\\n(##u'", S1);
+ }
+ if (dv)
+ fprintf(tabout,"\n");
+}
+void
+putfont(char *fn)
+{
+ if (fn && *fn)
+ fprintf(tabout, fn[1] ? "\\f(%.2s" : "\\f%.2s", fn);
+}
+void
+putsize(char *s)
+{
+ if (s && *s)
+ fprintf(tabout, "\\s%s",s);
+}
diff --git a/tbl/t9.c b/tbl/t9.c
new file mode 100644
index 0000000000000..924cd94b9b350
--- /dev/null
+++ b/tbl/t9.c
@@ -0,0 +1,92 @@
+/*
+ * Copyright 1983-2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "t9.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t9.c 1.7 (gritter) 2/26/06
+ */
+
+ /* t9.c: write lines for tables over MAXLIN lines */
+# include "t..c"
+
+static int useln;
+
+int
+yetmore(void) {
+ size_t linesize = MAXSTR;
+ int i;
+ for(useln=0; useln<MAXLIN && table[useln]==0; useln++);
+ if (useln>=MAXLIN)
+ return error("Weird. No data in table.");
+ table[0]=table[useln];
+ for(useln=nlin-1; useln>=0 && (fullbot[useln] || instead[useln]);
+ useln--);
+ if (useln<0)
+ return error("Weird. No real lines in table.");
+ if (domore(leftover) == -1)
+ return -1;
+ while (gets1(&cbase, &cspace, &linesize) && (cstore=cspace) &&
+ (i = domore(cstore)))
+ if (i == -1)
+ return -1;
+ last =cstore;
+ return 0;
+}
+
+int
+domore(char *dataln) {
+ int icol, ch;
+ if (cprefix("TE", dataln))
+ return(0);
+ if (dataln[0] == '.' && !isdigit((unsigned char)dataln[1])) {
+ puts(dataln);
+ return(1);
+ }
+ instead[0]=0;
+ fullbot[0]=0;
+ if (dataln[1]==0)
+ switch(dataln[0]) {
+ case '_': fullbot[0]= '-'; putline(useln,0); return(1);
+ case '=': fullbot[0]= '='; putline(useln, 0); return(1);
+ }
+ for (icol = 0; icol <ncol; icol++) {
+ table[0][icol].col = dataln;
+ table[0][icol].rcol=0;
+ for(; (ch= *dataln) != '\0' && ch != tab; dataln++)
+ ;
+ *dataln++ = '\0';
+ switch(ctype(useln,icol)) {
+ case 'n':
+ if ((table[0][icol].rcol = maknew(table[0][icol].col))
+ == (char *)-1)
+ return -1;
+ break;
+ case 'a':
+ table[0][icol].rcol = table[0][icol].col;
+ table[0][icol].col= "";
+ break;
+ }
+ while (ctype(useln,icol+1)== 's') /* spanning */
+ table[0][++icol].col = "";
+ if (ch == '\0') break;
+ }
+ while (++icol <ncol)
+ table[0][icol].col = "";
+ putline(useln,0);
+ return(1);
+}
diff --git a/tbl/tb.c b/tbl/tb.c
new file mode 100644
index 0000000000000..5a4a975ec9d7c
--- /dev/null
+++ b/tbl/tb.c
@@ -0,0 +1,154 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tb.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tb.c 1.7 (gritter) 9/8/06
+ */
+
+ /* tb.c: check which entries exist, also storage allocation */
+# include "t..c"
+# include <stdlib.h>
+# include <string.h>
+# include <inttypes.h>
+void
+checkuse(void)
+{
+int i,c, k;
+for(c=0; c<ncol; c++)
+ {
+ used[c]=lused[c]=rused[c]=0;
+ for(i=0; i<nlin; i++)
+ {
+ if (instead[i] || fullbot[i]) continue;
+ k = ctype(i,c);
+ if (k== '-' || k == '=') continue;
+ if ((k=='n'||k=='a'))
+ {
+ rused[c]|= real(table[i][c].rcol);
+ if( !real(table[i][c].rcol))
+ used[c] |= real(table[i][c].col);
+ if (table[i][c].rcol)
+ lused[c] |= real(table[i][c].col);
+ }
+ else
+ used[c] |= real(table[i][c].col);
+ }
+ }
+}
+int
+real(char *s)
+{
+if (s==0) return(0);
+if (!point((intptr_t)s)) return(1);
+if (*s==0) return(0);
+return(1);
+}
+int spcount = 0;
+int maxvec = 0;
+char **spvecs;
+
+char *
+chspace(void) {
+ char *pp;
+ int n;
+ if (spcount>=maxvec) {
+ n = maxvec + 20;
+ spvecs = realloc(spvecs, n * sizeof *spvecs);
+ if (spvecs == NULL) {
+ error("Too many characters in table");
+ return NULL;
+ }
+ do
+ spvecs[maxvec] = 0;
+ while (++maxvec < n);
+ }
+ if (spvecs[spcount])
+ return(spvecs[spcount++]);
+ spvecs[spcount++]= pp = calloc(MAXCHS+MAXSTR,1);
+ if (pp == 0) {
+ error("no space for characters");
+ return NULL;
+ }
+ return(pp);
+}
+
+void
+updspace(char *old, char *new, int area)
+{
+int i, j, d = new - old;
+for (i = 0; i < spcount; i++)
+ if (spvecs[i] == old) {
+ spvecs[i] = new;
+ for (i = 0; i < nlin; i++) {
+ if (instead[i] >= old && instead[i] < &old[area])
+ instead[i] += d;
+ if (table[i])
+ for (j = 0; j <= ncol; j++)
+ if (table[i][j].col >= old &&
+ table[i][j].col < &old[area])
+ table[i][j].col += d;
+ }
+ if (leftover >= old && leftover < &old[area])
+ leftover += d;
+ break;
+ }
+}
+
+static int MAXPC;
+char *thisvec;
+int tpcount = -1;
+char **tpvecs;
+
+struct colstr *
+alocv(int n) {
+ int *tp, *q;
+ if (tpcount<0 || thisvec+n > tpvecs[tpcount]+MAXCHS) {
+ tpcount++;
+ if (tpcount >= MAXPC) {
+ tpvecs = realloc(tpvecs, (tpcount+1) * sizeof *tpvecs);
+ if (tpvecs == 0) goto nospace;
+ memset(&tpvecs[MAXPC], 0, (tpcount+1-MAXPC) * sizeof *tpvecs);
+ MAXPC = tpcount+1;
+ }
+ if (tpvecs[tpcount]==0) {
+ tpvecs[tpcount] = calloc(MAXCHS,1);
+ }
+ thisvec = tpvecs[tpcount];
+ if (thisvec == 0) {
+nospace:
+ error("no space for vectors");
+ return (struct colstr *)-1;
+ }
+ }
+ tp=(int *)thisvec;
+ thisvec+=n;
+ for(q=tp; q<(int *)thisvec; q++)
+ *q=0;
+ return (struct colstr *)tp;
+}
+
+void
+release(void)
+{
+extern char *exstore;
+/* give back unwanted space in some vectors */
+spcount=0;
+tpcount= -1;
+exstore=0;
+}
diff --git a/tbl/tbl.1 b/tbl/tbl.1
new file mode 100644
index 0000000000000..c6a09db59e2f5
--- /dev/null
+++ b/tbl/tbl.1
@@ -0,0 +1,187 @@
+'\" t
+.\" Sccsid @(#)tbl.1b 1.7 (gritter) 9/9/06
+.\" Derived from tbl(1), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.Dd March 2, 2015
+.Dt TBL 1 "Heirloom Documentation Tools"
+.Sh NAME
+.Nm tbl
+.Nd format tables for nroff or troff
+.Sh SYNOPSIS
+.Nm
+.Op Fl g | Fl T Ar name
+.Op Fl me | Fl mm | Fl ms
+.Op Ar
+.Sh DESCRIPTION
+.Nm
+is a preprocessor for formatting tables for
+.Xr nroff
+or
+.Xr troff .
+The input files are copied to the standard output,
+except for lines between
+.Li .TS
+and
+.Li .TE
+command lines, which are assumed to describe tables
+and reformatted.
+Arbitrary whitespace can be inserted between the dot and the commands
+.Li .TS
+or
+.Li .TE .
+Macros with these names are ignored by tbl if
+.Sq '
+is used instead of
+.Sq \&. .
+.Sh OPTIONS
+.Bl -tag -width ".Fl T Ar name"
+.It Fl g
+.Nm
+normally uses line drawing commands with repeated
+underline and box rule characters
+(\el and \eL).
+With the
+.Fl g
+option,
+graphic drawing commands (\eD) are used instead.
+(This should only be used when processing troff input.)
+Option
+.Fl g
+overrides a previous
+.Fl T Ar name .
+.It Fl me | mm | ms
+With these options the respective macro packages
+are copied to the beginning of the output.
+Details are given in the reference manual.
+.It Fl T Ar name
+Configure nroff input processing.
+.Ar name
+can be one of:
+. Bl -tag -width ".Cm locale"
+. It Cm locale
+If
+. Nm
+is used to process nroff input in an UTF-8 locale and
+. Fl Tlocale
+is given lines are printed using Unicode box characters
+instead of underline and box rule characters.
+If the current locale does not support UTF-8 this Option
+has the same effect as
+. Fl Tlp .
+Option
+. Fl Tlocale
+overrides a previous
+. Fl g .
+. It Cm lp
+Use ASCII characters (\-, =, |, +)
+instead of underline and box rule characters.
+Overrides a previous
+. Fl g .
+. It Cm X
+The
+. Fl TX
+option causes
+. Nm
+not to produce fractional line motions.
+. El
+.El
+.Sh "EXTENSIONS TO THE AT&T TBL KEY LETTERS
+.Bl -tag -width ".Cm x , X"
+.It Cm x , X
+Expand column to make table as wide as the current line length.
+If there is more then one column with a x specifier these
+columns are expanded by the same amount.
+This feature had been a GNU tbl extension.
+.El
+.Sh EXAMPLE
+As an example, letting \(rst represent a tab (which should
+be typed as a genuine tab)
+the input
+.Bd -unfilled -literal -offset indent
+\&.TS
+c s s
+c c s
+c c c
+l n n.
+Household Population
+Town\\tHouseholds
+\\tNumber\\tSize
+Bedminster\\t789\\t3.26
+Bernards Twp.\\t3087\\t3.74
+Bernardsville\\t2018\\t3.30
+Bound Brook\\t3425\\t3.04
+Branchburg\\t1644\\t3.49
+Bridgewater\\t7897\\t3.81
+Far Hills\\t240\\t3.19
+\&.TE
+.Ed
+.Pp
+yields
+.Pp
+.TS
+c s s
+c c s
+c c c
+l n n.
+Household Population
+Town Households
+ Number Size
+Bedminster 789 3.26
+Bernards Twp. 3087 3.74
+Bernardsville 2018 3.30
+Bound Brook 3425 3.04
+Branchburg 1644 3.49
+Bridgewater 7897 3.81
+Far Hills 240 3.19
+.TE
+.Pp
+If no arguments are given,
+.Nm
+reads the standard input,
+so it may be used as a filter.
+When it is used with
+.Xr eqn
+or
+.Xr neqn
+the
+.Nm
+command should be first, to minimize the volume
+of data passed through
+pipes.
+.Sh SEE ALSO
+.Xr troff 1 ,
+.Xr eqn 1
+.Rs
+.%A "M. E. Lesk"
+.%T TBL
+.Re
diff --git a/tbl/tc.c b/tbl/tc.c
new file mode 100644
index 0000000000000..02a91f733dbca
--- /dev/null
+++ b/tbl/tc.c
@@ -0,0 +1,87 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tc.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tc.c 1.5 (gritter) 10/15/05
+ */
+
+ /* tc.c: find character not in table to delimit fields */
+# include "t..c"
+# include <inttypes.h>
+
+int
+choochar(void) {
+ /* choose funny characters to delimit fields */
+ int had[128], ilin, icol, k;
+ char *s;
+ for(icol=0; icol<128; icol++)
+ had[icol]=0;
+ F1 = F2 = 0;
+ for(ilin=0;ilin<nlin;ilin++) {
+ if (instead[ilin]) continue;
+ if (fullbot[ilin]) continue;
+ for(icol=0; icol<ncol; icol++) {
+ k = ctype(ilin, icol);
+ if (k==0 || k == '-' || k == '=')
+ continue;
+ s = table[ilin][icol].col;
+ if (point((intptr_t)s))
+ while (*s) {
+ if (*s > 0 && *(unsigned char *)s <= 127)
+ had[(int)*s++]=1;
+ else
+ s++;
+ }
+ s=table[ilin][icol].rcol;
+ if (point((intptr_t)s))
+ while (*s) {
+ if (*s > 0 && *(unsigned char *)s <= 127)
+ had[(int)*s++]=1;
+ else
+ s++;
+ }
+ }
+ }
+ /* choose first funny character */
+ for(s="\002\003\005\006\007!%&#/?,:;<=>@`^~_{}+-*ABCDEFGHIJKMNOPQRSTUVWXYZabcdefgjkoqrstwxyz";
+ *s; s++) {
+ if (had[(int)*s]==0) {
+ F1= *s;
+ had[F1]=1;
+ break;
+ }
+ }
+ /* choose second funny character */
+ for(s="\002\003\005\006\007:_~^`@;,<=>#%&!/?{}+-*ABCDEFGHIJKMNOPQRSTUVWXZabcdefgjkoqrstuwxyz";
+ *s; s++) {
+ if (had[(int)*s]==0) {
+ F2= *s;
+ break;
+ }
+ }
+ if (F1==0 || F2==0)
+ return error(
+ "couldn't find characters to use for delimiters");
+ return 0;
+}
+
+int
+point(int s) {
+ return s >= 4096 || s < 0;
+}
diff --git a/tbl/te.c b/tbl/te.c
new file mode 100644
index 0000000000000..061aa2df3b346
--- /dev/null
+++ b/tbl/te.c
@@ -0,0 +1,122 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright 1983-1988,2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* from OpenSolaris "te.c 1.6 05/06/02 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)te.c 1.13 (gritter) 8/6/06
+ */
+
+ /* te.c: error message control, input line count */
+# include "t..c"
+# include <errno.h>
+# include <string.h>
+# include <stdlib.h>
+
+int
+error(char *s) {
+ fprintf(stderr, "\n%s: line %d: %s\n", ifile, iline, s);
+ fprintf(stderr, "%s quits\n", progname);
+ return -1;
+}
+
+char *
+errmsg(int errnum)
+{
+ return (strerror(errnum));
+}
+char *
+gets1(char **bp, char **sp, size_t *zp)
+{
+char *s, *p = 0;
+int c, n = 0;
+int nbl;
+for (;;)
+ {
+ iline++;
+ for (;;)
+ {
+ if (n + MAXCHS >= *zp)
+ {
+ int oz = *zp;
+ *zp = n + MAXCHS + 128;
+ if ((p = realloc(*bp, *zp))==NULL)
+ error("Line too long");
+ updspace(*bp, p, oz);
+ *sp += p - *bp;
+ *bp = p;
+ }
+ if ((c = getc(tabin))==EOF)
+ {
+ if (ferror(tabin))
+ error(errmsg(errno));
+ if (swapin()==0)
+ return(0);
+ iline++;
+ continue;
+ }
+ if (c=='\n')
+ {
+ p = *sp;
+ s = n ? &(*sp)[n-1] : *sp;
+ (*sp)[n] = '\0';
+ break;
+ }
+ (*sp)[n++] = c;
+ }
+ for(nbl=0; *s == '\\' && s>p; s--)
+ nbl++;
+ if (linstart && nbl % 2) /* fold escaped nl if in table */
+ {
+ n--;
+ continue;
+ }
+ break;
+ }
+
+return(p);
+}
+# define BACKMAX 500
+char backup[BACKMAX];
+char *backp = backup;
+void
+un1getc(int c)
+{
+if (c=='\n')
+ iline--;
+*backp++ = c;
+if (backp >= backup+BACKMAX)
+ error("too much backup");
+}
+int
+get1char(void)
+{
+int c;
+if (backp>backup)
+ c = *--backp;
+else
+ c=getc(tabin);
+if (c== EOF) /* EOF */
+ {
+ if (swapin() ==0)
+ error("unexpected EOF");
+ c = getc(tabin);
+ }
+if (c== '\n')
+ iline++;
+return(c);
+}
diff --git a/tbl/tf.c b/tbl/tf.c
new file mode 100644
index 0000000000000..5deee8629096f
--- /dev/null
+++ b/tbl/tf.c
@@ -0,0 +1,109 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tf.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tf.c 1.9 (gritter) 9/9/06
+ */
+
+ /* tf.c: save and restore fill mode around table */
+# include "t..c"
+void
+savefill(void)
+{
+/* remembers various things: fill mode, vs, ps in mac 35 (SF) */
+fprintf(tabout, ".de %d 00\n",SF);
+fprintf(tabout, ".ps \\n(.s\n");
+fprintf(tabout, ".vs \\n(.vu\n");
+fprintf(tabout, ".in \\n(.iu\n");
+fprintf(tabout, ".if \\n(.u .fi\n");
+fprintf(tabout, ".if \\n(.j .ad\n");
+fprintf(tabout, ".if \\n(.j=0 .na\n");
+fprintf(tabout, ".00\n");
+fprintf(tabout, ".nf\n");
+/* set obx offset if useful */
+fprintf(tabout, ".nr #~ 0\n");
+fprintf(tabout, ".if n .nr #~ 0.6n\n");
+}
+void
+rstofill(void)
+{
+fprintf(tabout, ".%d\n",SF);
+}
+void
+endoff(void)
+{
+int i;
+ warnoff();
+ for(i=0; i<MAXHEAD; i++)
+ if (linestop[i])
+ fprintf(tabout, ".nr #%c 0\n", 'a'+i);
+ for(i=0; i<texct; i++)
+ fprintf(tabout, ".rm %c+\n",texstr[i]);
+ for(i=300; i<=texct2; i++)
+ fprintf(tabout, ".do rm %d+\n",i);
+ warnon();
+fprintf(tabout,".lf %d %s\n", iline - 1, ifile);
+fprintf(tabout, "%s\n", last);
+}
+void
+ifdivert(void)
+{
+fprintf(tabout, ".ds #d .d\n");
+fprintf(tabout, ".if \\(ts\\n(.z\\(ts\\(ts .ds #d nl\n");
+}
+void
+saveline(void)
+{
+fprintf(tabout,".lf 2 table-at-line-%d-of-%s\n", iline-1, ifile);
+fprintf(tabout, ".de 00\n..\n");
+fprintf(tabout, ".do nr w. \\n[.warn]\n");
+warnoff();
+fprintf(tabout, ".if \\n+(b.=1 .nr d. \\n(.c-\\n(c.-1\n");
+warnon();
+linstart=iline;
+}
+void
+restline(void)
+{
+warnoff();
+fprintf(tabout,".if \\n-(b.=0 .nr c. \\n(.c-\\n(d.-%d\n", iline-linstart);
+warnon();
+fprintf(tabout,".lf %d %s\n", iline, ifile);
+linstart = 0;
+}
+void
+cleanfc(void)
+{
+fprintf(tabout, ".fc\n");
+}
+void
+warnoff(void)
+{
+fprintf(tabout, ".if \\n(.X>0 .do warn -mac -reg\n");
+}
+void
+warnon(void)
+{
+fprintf(tabout, ".if \\n(.X>0 .do warn \\n(w.\n");
+}
+void
+svgraph(void)
+{
+fprintf(tabout, ".nr #D .2m\n");
+}
diff --git a/tbl/tg.c b/tbl/tg.c
new file mode 100644
index 0000000000000..3b65254aa29a9
--- /dev/null
+++ b/tbl/tg.c
@@ -0,0 +1,127 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tg.c 1.6 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tg.c 1.10 (gritter) 10/2/07
+ */
+
+ /* tg.c: process included text blocks */
+# include "t..c"
+# include <stdlib.h>
+# include <inttypes.h>
+
+/* get_text was originally gettext and was renamed */
+char *
+get_text(char *sp, int ilin, int icol, char *fn, char *sz)
+{
+ /* get a section of text */
+ char *line = NULL;
+ size_t linesize = 0;
+ char *oname;
+ char *vs;
+ if (texname==0) texct2 = texname = 300;
+ if (texct2>0 && point(texct2)) {
+ error("Too many text block diversions");
+ return (char *)-1;
+ }
+ if (textflg==0)
+ {
+ fprintf(tabout, ".nr %d \\n(.lu\n", SL); /* remember old line length */
+ textflg=1;
+ }
+ fprintf(tabout, ".eo\n");
+ fprintf(tabout, ".am %02d 00\n", icol+80);
+ fprintf(tabout, ".br\n");
+ if (texct2 < 0)
+ fprintf(tabout, ".di %c+\n", (int)texname);
+ else
+ fprintf(tabout, ".do di %d+\n", texct2);
+ rstofill();
+ if (fn && *fn) fprintf(tabout, ".nr %d \\n(.f\n.ft %s\n", S1, fn);
+ fprintf(tabout, ".ft \\n(.f\n"); /* protect font */
+ vs = vsize[stynum[ilin]][icol];
+ if ((sz && *sz) || (vs && *vs))
+ {
+ fprintf(tabout, ".nr %d \\n(.v\n", S2);
+ if (vs==0 || *vs==0) vs= "\\n(.s+2";
+ if (sz && *sz)
+ fprintf(tabout, ".ps %s\n",sz);
+ fprintf(tabout, ".vs %s\n",vs);
+ fprintf(tabout, ".if \\n(%du>\\n(.vu .sp \\n(%du-\\n(.vu\n", S2,S2);
+ }
+ if (cll[icol][0])
+ fprintf(tabout, ".ll %sn\n", cll[icol]);
+ else
+ fprintf(tabout, ".ll \\n(%du*%du/%du\n",SL,ctspan(ilin,icol),ncol+1);
+ fprintf(tabout,".if \\n(.l<\\n(%d .ll \\n(%du\n", icol+CRIGHT, icol+CRIGHT);
+ if (ctype(ilin,icol)=='a')
+ fprintf(tabout, ".ll -2n\n");
+ fprintf(tabout, ".in 0\n");
+ while (gets1(&line, &line, &linesize))
+ {
+ if (line[0]=='T' && line[1]=='}' && line[2]== tab) break;
+ if (match("T}", line)) break;
+ fprintf(tabout, "%s\n", line);
+ }
+ if (fn && *fn) fprintf(tabout, ".ft \\n(%d\n", S1);
+ if (sz && *sz) fprintf(tabout, ".br\n.ps\n.vs\n");
+ fprintf(tabout, ".br\n");
+ fprintf(tabout, ".di\n");
+ if (texct2 < 0)
+ {
+ fprintf(tabout, ".nr %c| \\n(dn\n", (int)texname);
+ fprintf(tabout, ".nr %c- \\n(dl\n", (int)texname);
+ }
+ else
+ {
+ fprintf(tabout, ".do nr %d| \\n(dn\n", texct2);
+ fprintf(tabout, ".do nr %d- \\n(dl\n", texct2);
+ }
+ fprintf(tabout, ".00\n");
+ fprintf(tabout, ".ec \\\n");
+ /* copy remainder of line */
+ if (line[2])
+ tcopy (sp, line+3);
+ else
+ *sp=0;
+ oname = (char *)texname;
+ if (texct2 < 0)
+ texname = texstr[++texct];
+ else
+ texname = ++texct2;
+ free(line);
+ return oname;
+}
+void
+untext(void)
+{
+ rstofill();
+ fprintf(tabout, ".nf\n");
+ fprintf(tabout, ".ll \\n(%du\n", SL);
+}
+char *
+nreg(char *space, size_t siz, const char *_n, int c)
+{
+ int n = (intptr_t)_n;
+ if (n < 128)
+ snprintf(space, siz, "\\n(%c%c", n, c);
+ else
+ snprintf(space, siz, "\\n[%d%c]", n, c);
+ return(space);
+}
diff --git a/tbl/ti.c b/tbl/ti.c
new file mode 100644
index 0000000000000..8357a41684218
--- /dev/null
+++ b/tbl/ti.c
@@ -0,0 +1,82 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "ti.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ti.c 1.3 (gritter) 7/23/05
+ */
+
+ /* ti.c: classify line intersections */
+# include "t..c"
+/* determine local environment for intersections */
+int
+interv(int i, int c)
+{
+int ku, kl;
+if (c>=ncol || c == 0)
+ {
+ if (dboxflg)
+ {
+ if (i==0) return(BOT);
+ if (i>=nlin) return(TOP);
+ return(THRU);
+ }
+ if (c>=ncol)
+ return(0);
+ }
+ku = i>0 ? lefdata(i-1,c) : 0;
+if (i+1 >= nlin)
+ kl=0;
+else
+kl = lefdata(allh(i) ? i+1 : i, c);
+if (ku==2 && kl==2) return(THRU);
+if (ku ==2) return(TOP);
+if (kl==BOT) return(2);
+return(0);
+}
+int
+interh(int i, int c)
+{
+int kl, kr;
+if (fullbot[i]== '=' || (dboxflg && (i==0 || i>= nlin-1)))
+ {
+ if (c==ncol)
+ return(LEFT);
+ if (c==0)
+ return(RIGHT);
+ return(THRU);
+ }
+if (i>=nlin) return(0);
+kl = c>0 ? thish (i,c-1) : 0;
+if (kl<=1 && i>0 && allh(up1(i)))
+ kl = c>0 ? thish(up1(i),c-1) : 0;
+kr = thish(i,c);
+if (kr<=1 && i>0 && allh(up1(i)))
+ kr = c>0 ? thish(up1(i), c) : 0;
+if (kl== '=' && kr == '=') return(THRU);
+if (kl== '=') return(LEFT);
+if (kr== '=') return(RIGHT);
+return(0);
+}
+int
+up1(int i)
+{
+i--;
+while (instead[i] && i>0) i--;
+return(i);
+}
diff --git a/tbl/tm.c b/tbl/tm.c
new file mode 100644
index 0000000000000..41e8141d5f8c0
--- /dev/null
+++ b/tbl/tm.c
@@ -0,0 +1,91 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tm.c 1.5 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tm.c 1.5 (gritter) 9/15/05
+ */
+
+ /* tm.c: split numerical fields */
+# include "t..c"
+
+char *
+maknew(char *str)
+{
+ /* make two numerical fields */
+ int c;
+ char *dpoint, *p, *q, *ba;
+ p = str;
+ for (ba= 0; (c = *str); str++)
+ if (c == '\\' && *(str+1)== '&')
+ ba=str;
+ str=p;
+ if (ba==0) {
+ for (dpoint=0; *str; str++) {
+ if ((*str&0377)==decimalpoint && !ineqn(str,p) &&
+ ((str>p && digit(*(str-1))) ||
+ digit(*(str+1))))
+ dpoint=str;
+ }
+ if (dpoint==0)
+ for(; str>p; str--) {
+ if (digit( * (str-1) ) && !ineqn(str, p))
+ break;
+ }
+ if (!dpoint && p==str) /* not numerical, don't split */
+ return NULL;
+ if (dpoint) str=dpoint;
+ }
+ else
+ str = ba;
+ p =str;
+ if (exstore ==0 || exstore >exlim) {
+ if (!(exstore = chspace()))
+ return (char *)-1;
+ exlim= exstore+MAXCHS;
+ }
+ q = exstore;
+ ba = exstore + MAXSTR;
+ do {
+ if (exstore > ba) {
+ error("numeric field too big");
+ return (char *)-1;
+ }
+ } while ((*exstore++ = *str++));
+ *p = 0;
+ return(q);
+}
+
+int
+ineqn(char *s, char *p)
+{
+/* true if s is in a eqn within p */
+int ineq = 0, c;
+while ((c = *p))
+ {
+ if (s == p)
+ return(ineq);
+ p++;
+ if ((ineq == 0) && (c == delim1))
+ ineq = 1;
+ else
+ if ((ineq == 1) && (c == delim2))
+ ineq = 0;
+ }
+return(0);
+}
diff --git a/tbl/ts.c b/tbl/ts.c
new file mode 100644
index 0000000000000..7d7e7f8f65956
--- /dev/null
+++ b/tbl/ts.c
@@ -0,0 +1,89 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "ts.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ts.c 1.3 (gritter) 7/23/05
+ */
+
+ /* ts.c: minor string processing subroutines */
+int
+match(char *s1, char *s2)
+{
+ while (*s1 == *s2)
+ if (*s1++ == '\0')
+ return(1);
+ else
+ s2++;
+ return(0);
+}
+
+int
+prefix(char *small, char *big) {
+ int c;
+ while ((c= *small++) == *big++)
+ if (c==0) return(1);
+ return(c==0);
+}
+
+/* returns: 1 for match, 0 else */
+int
+cprefix(char *ctl, char *line)
+{
+ char c;
+
+ if (*line++ != '.') return 0;
+ while (*line == ' ' || *line == '\t') line++;
+ while ((c = *ctl++) == *line++)
+ if (!c) return 1;
+ return !c;
+}
+
+int
+letter(int ch)
+ {
+ if (ch >= 'a' && ch <= 'z')
+ return(1);
+ if (ch >= 'A' && ch <= 'Z')
+ return(1);
+ return(0);
+ }
+int
+numb(char *str)
+ {
+ /* convert to integer */
+ int k;
+ for (k=0; *str >= '0' && *str <= '9'; str++)
+ k = k*10 + *str - '0';
+ return(k);
+ }
+int
+digit(int x)
+ {
+ return(x>= '0' && x<= '9');
+ }
+int
+max(int a, int b)
+{
+return( a>b ? a : b);
+}
+void
+tcopy(char *s, char *t)
+{
+ while ((*s++ = *t++));
+}
diff --git a/tbl/tt.c b/tbl/tt.c
new file mode 100644
index 0000000000000..3b8e2f3c8b20e
--- /dev/null
+++ b/tbl/tt.c
@@ -0,0 +1,117 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tt.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tt.c 1.3 (gritter) 7/23/05
+ */
+
+ /* tt.c: subroutines for drawing horizontal lines */
+# include "t..c"
+# include <inttypes.h>
+int
+ctype(int il, int ic)
+{
+ if (instead[il])
+ return(0);
+ if (fullbot[il])
+ return(0);
+ il = stynum[il];
+ return(style[il][ic]);
+}
+int
+min(int a, int b)
+{
+return(a<b ? a : b);
+}
+int
+fspan(int i, int c)
+{
+c++;
+return(c<ncol && ctype(i,c)=='s');
+}
+int
+lspan(int i, int c)
+{
+int k;
+if (ctype(i,c) != 's') return(0);
+c++;
+if (c < ncol && ctype(i,c)== 's')
+ return(0);
+for(k=0; ctype(i,--c) == 's'; k++);
+return(k);
+}
+int
+ctspan(int i, int c)
+{
+int k;
+c++;
+for(k=1; c<ncol && ctype(i,c)=='s'; k++)
+ c++;
+return(k);
+}
+void
+tohcol(int ic)
+{
+ if (ic==0)
+ fprintf(tabout, "\\h'|0'");
+ else
+ fprintf(tabout, "\\h'(|\\n(%du+|\\n(%du)/2u'", ic+CLEFT, ic+CRIGHT-1);
+}
+int
+allh(int i)
+{
+ /* return true if every element in line i is horizontal */
+ /* also at least one must be horizontl */
+ int c, one, k;
+ if (fullbot[i]) return(1);
+ for(one=c=0; c<ncol; c++)
+ {
+ k = thish(i,c);
+ if (k==0) return(0);
+ if (k==1) continue;
+ one=1;
+ }
+ return(one);
+}
+int
+thish(int i, int c)
+{
+ int t;
+ char *s;
+ struct colstr *pc;
+ if (c<0)return(0);
+ if (i<0) return(0);
+ t = ctype(i,c);
+ if (t=='_' || t == '-')
+ return('-');
+ if (t=='=')return('=');
+ if (t=='^') return(1);
+ if (fullbot[i] )
+ return(fullbot[i]);
+ if (t=='s') return(thish(i,c-1));
+ if (t==0) return(1);
+ pc = &table[i][c];
+ s = (t=='a' ? pc->rcol : pc->col);
+ if (s==0 || (point((intptr_t)s) && *s==0))
+ return(1);
+ if (vspen(s)) return(1);
+ if ((t=barent( s)))
+ return(t);
+ return(0);
+}
diff --git a/tbl/tu.c b/tbl/tu.c
new file mode 100644
index 0000000000000..d8756b0d2e4aa
--- /dev/null
+++ b/tbl/tu.c
@@ -0,0 +1,401 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tu.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ * Portions Copyright (c) 2015 Carsten Kunze
+ *
+ * Sccsid @(#)tu.c 1.4 (gritter) 9/8/06
+ */
+
+ /* tu.c: draws horizontal lines */
+# include "t..c"
+# include <string.h>
+
+/* 0 1 2
+ * lintype - =
+ * tl | ||
+ * bl | ||
+ * c |< ~ >| */
+
+static char *udbdc[2][3][3][3] = { /* vs. uhbdc */
+ { { { NULL , /* 0000 */
+ NULL , /* 0001 */
+ NULL } , /* 0002 */
+ { "\\U'250C'" /* ┌ */ , /* 0010 */
+ "\\U'252C'" /* ┬ */ , /* 0011 */
+ "\\U'2510'" /* â” */ } , /* 0012 */
+ { "\\U'2553'" /* â•“ */ , /* 0020 */
+ "\\U'2565'" /* â•¥ */ , /* 0021 */
+ "\\U'2556'" /* â•– */ } } , /* 0022 */
+ { { "\\U'2514'" /* â”” */ , /* 0100 */
+ "\\U'2534'" /* â”´ */ , /* 0101 */
+ "\\U'2518'" /* ┘ */ } , /* 0102 */
+ { "\\U'251c'" /* ├ */ , /* 0110 */
+ "\\U'253c'" /* ┼ */ , /* 0111 */
+ "\\U'2524'" /* ┤ */ } , /* 0112 */
+ { "\\U'2553'" /* â•“ */ , /* 0120 ! */
+ "\\U'2565'" /* â•¥ */ , /* 0121 ! */
+ "\\U'2556'" /* â•– */ } } , /* 0122 ! */
+ { { "\\U'2559'" /* â•™ */ , /* 0200 */
+ "\\U'2568'" /* ╨ */ , /* 0201 */
+ "\\U'255C'" /* ╜ */ } , /* 0202 */
+ { "\\U'2559'" /* â•™ */ , /* 0210 ! */
+ "\\U'2568'" /* ╨ */ , /* 0211 ! */
+ "\\U'255C'" /* ╜ */ } , /* 0212 ! */
+ { "\\U'255F'" /* ╟ */ , /* 0220 */
+ "\\U'256B'" /* â•« */ , /* 0221 */
+ "\\U'2562'" /* â•¢ */ } } } , /* 0222 */
+ { { { NULL , /* 1000 */
+ NULL , /* 1001 */
+ NULL } , /* 1002 */
+ { "\\U'2552'" /* â•’ */ , /* 1010 */
+ "\\U'2564'" /* ╤ */ , /* 1011 */
+ "\\U'2555'" /* â•• */ } , /* 1012 */
+ { "\\U'2554'" /* â•” */ , /* 1020 */
+ "\\U'2566'" /* ╦ */ , /* 1021 */
+ "\\U'2557'" /* â•— */ } } , /* 1022 */
+ { { "\\U'2558'" /* ╘ */ , /* 1100 */
+ "\\U'2567'" /* â•§ */ , /* 1101 */
+ "\\U'255B'" /* â•› */ } , /* 1102 */
+ { "\\U'255E'" /* ╞ */ , /* 1110 */
+ "\\U'256A'" /* ╪ */ , /* 1111 */
+ "\\U'2561'" /* â•¡ */ } , /* 1112 */
+ { "\\U'2554'" /* â•” */ , /* 1120 ! */
+ "\\U'2566'" /* ╦ */ , /* 1121 ! */
+ "\\U'2557'" /* â•— */ } } , /* 1122 ! */
+ { { "\\U'255A'" /* ╚ */ , /* 1200 */
+ "\\U'2569'" /* â•© */ , /* 1201 */
+ "\\U'255D'" /* â• */ } , /* 1202 */
+ { "\\U'255A'" /* ╚ */ , /* 1210 ! */
+ "\\U'2569'" /* â•© */ , /* 1211 ! */
+ "\\U'255D'" /* â• */ } , /* 1212 ! */
+ { "\\U'2560'" /* â•  */ , /* 1220 */
+ "\\U'256C'" /* ╬ */ , /* 1221 */
+ "\\U'2563'" /* â•£ */ } } } /* 1222 */
+};
+
+static char *grbe(int i, int lintype);
+static char *glibe(int, int, int, int, int);
+
+void
+makeline(int i, int c, int lintype)
+{
+ int cr, type, shortl;
+ type = thish(i,c);
+ if (type==0) return;
+ cr=c;
+ shortl = (table[i][c].col[0]=='\\');
+ if (c>0 && !shortl && thish(i,c-1) == type)return;
+ if (shortl==0)
+ for(cr=c; cr < ncol && (ctype(i,cr)=='s'||type==thish(i,cr)); cr++);
+ else
+ for(cr=c+1; cr<ncol && ctype(i,cr)=='s'; cr++);
+ drawline(i, c, cr-1, lintype, 0, shortl);
+}
+void
+fullwide(int i, int lintype)
+{
+ int cr, cl;
+ if (!nflm)
+ fprintf(tabout, ".nr %d \\n(.v\n.vs \\n(.vu-\\n(.sp\n", SVS);
+ cr= 0;
+ while (cr<ncol)
+ {
+ cl=cr;
+ while (i>0 && vspand(prev(i),cl,1))
+ cl++;
+ for(cr=cl; cr<ncol; cr++)
+ if (i>0 && vspand(prev(i),cr,1))
+ break;
+ if (cl<ncol)
+ drawline(i,cl,(cr<ncol?cr-1:cr),lintype,1,0);
+ }
+ fprintf(tabout, "\n");
+ if (!nflm)
+ fprintf(tabout, ".vs \\n(%du\n", SVS);
+}
+
+void
+drawline(int i, int cl, int cr, int lintype, int noheight, int shortl)
+{
+ char *exhr, *exhl, *lnch;
+ int lcount, ln, linpos, oldpos, nodata;
+ lcount=0;
+ exhr=exhl= "";
+ switch(lintype)
+ {
+ case '-': lcount=1;break;
+ case '=': lcount = nflm ? 1 : 2; break;
+ case SHORTLINE: lcount=1; break;
+ }
+ if (lcount<=0) return;
+ nodata = cr-cl>=ncol || noheight || allh(i);
+ if (!nflm) {
+ if (!nodata)
+ fprintf(tabout, "\\v'-.5m'");
+ if (graphics)
+ fprintf(tabout, "\\v'\\n(#Du'");
+ }
+ for(ln=oldpos=0; ln<lcount; ln++)
+ {
+ linpos = 2*ln - lcount +1;
+ if (linpos != oldpos)
+ fprintf(tabout, "\\v'%dp'", linpos-oldpos);
+ oldpos=linpos;
+ if (shortl==0)
+ {
+ tohcol(cl);
+ if (lcount>1)
+ {
+ switch(interv(i,cl))
+ {
+ case TOP: exhl = ln==0 ? "1p" : "-1p"; break;
+ case BOT: exhl = ln==1 ? "1p" : "-1p"; break;
+ case THRU: exhl = "1p"; break;
+ }
+ if (exhl[0])
+ fprintf(tabout, "\\h'%s'", exhl);
+ }
+ else if (lcount==1)
+ {
+ switch(interv(i,cl))
+ {
+ case TOP: case BOT: exhl = "-1p"; break;
+ case THRU: exhl = "1p"; break;
+ }
+ if (exhl[0])
+ fprintf(tabout, "\\h'%s'", exhl);
+ }
+ if (lcount>1)
+ {
+ switch(interv(i,cr+1))
+ {
+ case TOP: exhr = ln==0 ? "-1p" : "+1p"; break;
+ case BOT: exhr = ln==1 ? "-1p" : "+1p"; break;
+ case THRU: exhr = "-1p"; break;
+ }
+ }
+ else if (lcount==1)
+ {
+ switch(interv(i,cr+1))
+ {
+ case TOP: case BOT: exhr = "+1p"; break;
+ case THRU: exhr = "-1p"; break;
+ }
+ }
+ }
+ else
+ fprintf(tabout, "\\h'|\\n(%du'", cl+CLEFT);
+ if (!graphics)
+ fprintf(tabout, "\\s\\n(%d",LSIZE);
+ if (linsize)
+ fprintf(tabout, "\\v'-\\n(%dp/6u'", LSIZE);
+ if (shortl) {
+ if (graphics)
+ fprintf(tabout, "\\D'l |\\n(%du 0'", cr+CRIGHT);
+ else
+ fprintf(tabout, "\\l'|\\n(%du%s'", cr+CRIGHT,
+ utf8 ? "\\U'2500'" : /* ─ */
+ tlp ? "\\-" :
+ "");
+ }
+ else if (graphics) {
+ if (cr+1>=ncol)
+ fprintf(tabout, "\\D'l |\\n(TWu%s 0'", exhr);
+ else
+ fprintf(tabout, "\\D'l (|\\n(%du+|\\n(%du)/2u%s 0'",
+ cr+CRIGHT, cr+1+CLEFT, exhr);
+ }
+ else
+ {
+ lnch = "\\(ul";
+ if (utf8)
+ lnch = lintype == '=' ? "\\U'2550'" : /* â• */
+ "\\U'2500'" ; /* ─ */
+ else if (tlp)
+ lnch = lintype == '=' ? "\\&=" : "\\-";
+ else
+ if (pr1403)
+ lnch = lintype == '=' ? "\\&=" : "\\(ru";
+ if (cr+1>=ncol)
+ fprintf(tabout, "\\l'|\\n(TWu%s%s'", exhr,lnch);
+ else
+ fprintf(tabout, "\\l'(|\\n(%du+|\\n(%du)/2u%s%s'", cr+CRIGHT,
+ cr+1+CLEFT, exhr, lnch);
+ }
+ if (linsize)
+ fprintf(tabout, "\\v'\\n(%dp/6u'", LSIZE);
+ if (!graphics)
+ fprintf(tabout, "\\s0");
+ }
+ if (oldpos!=0)
+ fprintf(tabout, "\\v'%dp'", -oldpos);
+ if (graphics)
+ fprintf(tabout, "\\v'-\\n(#Du'");
+ if (!nodata)
+ fprintf(tabout, "\\v'+.5m'");
+ if (!shortl && (utf8 || tlp)) {
+ int corred, c, ccr, licr;
+ char *s;
+ ccr = cr;
+ if (ccr == cl) ccr++;
+ corred = 0;
+ if (ccr == ncol && (boxflg || allflg || dboxflg) &&
+ (s = grbe(i, lintype))) {
+ fprintf(tabout, "\n.sp -1\n");
+ corred = 1;
+ fprintf(tabout, "\\h'|\\n(TWu'");
+ fprintf(tabout, "%s", s);
+ }
+ licr = ccr;
+ if (licr == ncol) {
+ licr--;
+ if (!(boxflg || allflg || dboxflg)) ccr--;
+ }
+ for(c = cl; c <= licr; c++) {
+ if ((s = glibe(i, c, cl, ccr, lintype))) {
+ if (!corred) {
+ fprintf(tabout, "\n.sp -1\n");
+ corred = 1;
+ }
+ tohcol(c);
+ fprintf(tabout, "%s", s);
+ }
+ }
+ }
+}
+
+static char *glibe(int i, int c, int cl, int cr, int lintype) {
+ char *s = NULL;
+ int tl, bl;
+ int cx = c == cl ? 0 :
+ c == cr ? 2 : 1 ;
+ lintype = lintype == '=' ? 1 : 0;
+ if (!i) {
+ bl = lefdata(1, c);
+ if (bl >= 1 && bl <= 2)
+ s = tlp ? "+" :
+ udbdc[lintype][0][bl][cx];
+ } else if (i < nlin - 1) {
+ tl = lefdata(i - 1, c);
+ bl = lefdata(i + 1, c);
+ if (tl >= 0 && tl <= 2 && bl >= 0 && bl <= 2)
+ {
+ if (tlp) {
+ if (tl || bl) s = "+";
+ } else
+ s = udbdc[lintype][tl][bl][cx];
+ }
+ } else {
+ tl = lefdata(i - 1, c);
+ if (tl >= 1 && tl <= 2)
+ s = tlp ? "+" :
+ udbdc[lintype][tl][0][cx];
+ }
+ return s;
+}
+
+static char *grbe(int i, int lintype) {
+ int tl, bl;
+ lintype = lintype == '=' ? 1 : 0;
+ tl = !i ? 0 :
+ dboxflg ? 2 : 1;
+ bl = i && i >= nlin - 1 ? 0 :
+ dboxflg ? 2 : 1;
+ if (utf8) return udbdc[lintype][tl][bl][2];
+ else if (tl || bl) return "+";
+ else return NULL;
+}
+
+void
+getstop(void)
+{
+int i,c,k,junk, stopp;
+stopp=1;
+for(i=0; i<MAXLIN; i++)
+ linestop[i]=0;
+for(i=0; i<nlin; i++)
+ for(c=0; c<ncol; c++)
+ {
+ k = left(i,c,&junk);
+ if (k>=0 && linestop[k]==0)
+ linestop[k]= ++stopp;
+ }
+if (boxflg || allflg || dboxflg)
+ linestop[0]=1;
+}
+int
+left(int i, int c, int *lwidp)
+{
+ int kind, li = 0, lj;
+ /* returns -1 if no line to left */
+ /* returns number of line where it starts */
+ /* stores into lwid the kind of line */
+ *lwidp=0;
+ kind = lefdata(i,c);
+ if (kind==0) return(-1);
+ if (i+1<nlin)
+ if (lefdata(next(i),c)== kind) return(-1);
+ while (i>=0 && lefdata(i,c)==kind)
+ i=prev(li=i);
+ if (prev(li)== -1) li=0;
+ *lwidp=kind;
+ for(lj= i+1; lj<li; lj++)
+ if (instead[lj] && strcmp(instead[lj], ".TH")==0)
+ return(li);
+ for(i= i+1; i<li; i++)
+ if (fullbot[i])
+ li=i;
+ return(li);
+}
+int
+lefdata(int i, int c)
+{
+ int ck;
+ if (i>=nlin) i=nlin-1;
+ if (ctype(i,c) == 's')
+ {
+ for(ck=c; ctype(i,ck)=='s'; ck--);
+ if (thish(i,ck)==0)
+ return(0);
+ }
+ i =stynum[i];
+ i = lefline[i][c];
+ if (i>0) return(i);
+ if (dboxflg && c==0) return(2);
+ if (allflg)return(1);
+ if (boxflg && c==0) return(1);
+ return(0);
+}
+int
+next(int i)
+{
+while (i+1 <nlin)
+ {
+ i++;
+ if (!fullbot[i] && !instead[i]) break;
+ }
+return(i);
+}
+int
+prev(int i)
+{
+while (--i >=0 && (fullbot[i] || instead[i]))
+ ;
+return(i);
+}
diff --git a/tbl/tv.c b/tbl/tv.c
new file mode 100644
index 0000000000000..6376ad022d650
--- /dev/null
+++ b/tbl/tv.c
@@ -0,0 +1,186 @@
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/*
+ * Copyright (c) 1983, 1984 1985, 1986, 1987, 1988, Sun Microsystems, Inc.
+ * All Rights Reserved.
+ */
+
+/* from OpenSolaris "tv.c 1.3 05/06/02 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tv.c 1.4 (gritter) 9/8/06
+ */
+
+ /* tv.c: draw vertical lines */
+# include "t..c"
+# include <inttypes.h>
+void
+drawvert(int start, int end, int c, int lwid)
+{
+ char *exb=0, *ext=0;
+ int tp=0, sl, ln, pos, epb, ept, vm;
+ end++;
+ vm='v';
+ /* note: nr 35 has value of 1m outside of linesize */
+ while (instead[end]) end++;
+ for(ln=0; ln<lwid; ln++)
+ {
+ epb=ept=0;
+ pos = 2*ln-lwid+1;
+ if (pos!=tp) fprintf(tabout, "\\h'%dp'", pos-tp);
+ tp = pos;
+ if (end<nlin)
+ {
+ if (fullbot[end]|| (!instead[end] && allh(end)))
+ epb=2;
+ else
+ switch (midbar(end,c))
+ {
+ case '-':
+ exb = "1v-.5m"; break;
+ case '=':
+ exb = "1v-.5m";
+ epb = 1; break;
+ }
+ }
+ if (lwid>1)
+ switch(interh(end, c))
+ {
+ case THRU: epb -= 1; break;
+ case RIGHT: epb += (ln==0 ? 1 : -1); break;
+ case LEFT: epb += (ln==1 ? 1 : -1); break;
+ }
+ if (lwid==1)
+ switch(interh(end,c))
+ {
+ case THRU: epb -= 1; break;
+ case RIGHT: case LEFT: epb += 1; break;
+ }
+ if (start>0)
+ {
+ sl = start-1;
+ while (sl>=0 && instead[sl]) sl--;
+ if (sl>=0 && (fullbot[sl] || allh(sl)))
+ ept=0;
+ else
+ if (sl>=0)
+ switch(midbar(sl,c))
+ {
+ case '-':
+ ext = ".5m"; break;
+ case '=':
+ ext= ".5m"; ept = -1; break;
+ default:
+ vm = 'm'; break;
+ }
+ else
+ ept = -4;
+ }
+ else if (start==0 && allh(0))
+ {
+ ept=0;
+ vm = 'm';
+ }
+ if (lwid>1)
+ switch(interh(start,c))
+ {
+ case THRU: ept += 1; break;
+ case LEFT: ept += (ln==0 ? 1 : -1); break;
+ case RIGHT: ept += (ln==1 ? 1 : -1); break;
+ }
+ else if (lwid==1)
+ switch(interh(start,c))
+ {
+ case THRU: ept += 1; break;
+ case LEFT: case RIGHT: ept -= 1; break;
+ }
+ if (exb)
+ fprintf(tabout, "\\v'%s'", exb);
+ if (epb)
+ fprintf(tabout, "\\v'%dp'", epb);
+ if (graphics)
+ fprintf(tabout, "\\v'\\n(#Du'");
+ else
+ fprintf(tabout, "\\s\\n(%d",LSIZE);
+ if (linsize)
+ fprintf(tabout, "\\v'-\\n(%dp/6u'", LSIZE);
+ fprintf(tabout, "\\h'-\\n(#~u'"); /* adjustment for T450 nroff boxes */
+ if (graphics)
+ fprintf(tabout, "\\D'l 0 |\\n(#%cu-%s", linestop[start]+'a'-1, vm=='v'? "1v" : "\\n(35u");
+ else
+ fprintf(tabout, "\\L'|\\n(#%cu-%s", linestop[start]+'a'-1, vm=='v'? "1v" : "\\n(35u");
+ if (ext)
+ fprintf(tabout, "-(%s)",ext);
+ if (exb)
+ fprintf(tabout, "-(%s)", exb);
+ pos = ept-epb;
+ if (pos)
+ fprintf(tabout, "%s%dp", pos>=0? "+" : "", pos);
+ /* the string #d is either "nl" or ".d" depending
+ on diversions; on GCOS not the same */
+ fprintf(tabout, "'");
+ if (graphics)
+ fprintf(tabout, "\\v'-\\n(#Du'");
+ else
+ fprintf(tabout, "\\s0");
+ fprintf(tabout, "\\v'\\n(\\*(#du-\\n(#%cu+%s", linestop[start]+'a'-1,vm=='v' ? "1v" : "\\n(35u");
+ if (ext)
+ fprintf(tabout, "+%s",ext);
+ if (ept)
+ fprintf(tabout, "%s%dp", (-ept)>0 ? "+" : "", (-ept));
+ fprintf(tabout, "'");
+ if (linsize)
+ fprintf(tabout, "\\v'\\n(%dp/6u'", LSIZE);
+ }
+}
+
+
+int
+midbar(int i, int c)
+{
+ int k;
+ k = midbcol(i,c);
+ if (k==0 && c>0)
+ k = midbcol(i, c-1);
+ return(k);
+}
+int
+midbcol(int i, int c)
+{
+ int ct;
+ while ( (ct=ctype(i,c)) == 's')
+ c--;
+ if (ct=='-' || ct == '=')
+ return(ct);
+ if ((ct=barent(table[i][c].col)))
+ return(ct);
+ return(0);
+}
+
+int
+barent(char *s)
+{
+ if (s==0) return (1);
+ if (!point((intptr_t)s)) return(1);
+ if (s[0]== '\\') s++;
+ if (s[1]!= 0)
+ return(0);
+ switch(s[0])
+ {
+ case '_':
+ return('-');
+ case '=':
+ return('=');
+ }
+ return(0);
+}
diff --git a/tbl/version.c b/tbl/version.c
new file mode 100644
index 0000000000000..4dd58bcffbb03
--- /dev/null
+++ b/tbl/version.c
@@ -0,0 +1,33 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/tbl.sl 5.19 (gritter) 10/2/07";
+/* SLIST */
+/*
+t..c: * Sccsid @(#)t..c 1.19 (gritter) 9/11/06
+t0.c: * Sccsid @(#)t0.c 1.12 (gritter) 9/11/06
+t1.c: * Sccsid @(#)t1.c 1.12 (gritter) 9/8/06
+t2.c: * Sccsid @(#)t2.c 1.3 (gritter) 7/23/05
+t3.c: * Sccsid @(#)t3.c 1.12 (gritter) 9/11/06
+t4.c: * Sccsid @(#)t4.c 1.7 (gritter) 9/8/06
+t5.c: * Sccsid @(#)t5.c 1.8 (gritter) 10/2/07
+t6.c: * Sccsid @(#)t6.c 1.6 (gritter) 2/8/06
+t7.c: * Sccsid @(#)t7.c 1.8 (gritter) 10/25/06
+t8.c: * Sccsid @(#)t8.c 1.12 (gritter) 10/2/07
+t9.c: * Sccsid @(#)t9.c 1.7 (gritter) 2/26/06
+tb.c: * Sccsid @(#)tb.c 1.7 (gritter) 9/8/06
+tc.c: * Sccsid @(#)tc.c 1.5 (gritter) 10/15/05
+te.c: * Sccsid @(#)te.c 1.13 (gritter) 8/6/06
+tf.c: * Sccsid @(#)tf.c 1.9 (gritter) 9/9/06
+tg.c: * Sccsid @(#)tg.c 1.10 (gritter) 10/2/07
+ti.c: * Sccsid @(#)ti.c 1.3 (gritter) 7/23/05
+tm.c: * Sccsid @(#)tm.c 1.5 (gritter) 9/15/05
+ts.c: * Sccsid @(#)ts.c 1.3 (gritter) 7/23/05
+tt.c: * Sccsid @(#)tt.c 1.3 (gritter) 7/23/05
+tu.c: * Sccsid @(#)tu.c 1.4 (gritter) 9/8/06
+tv.c: * Sccsid @(#)tv.c 1.4 (gritter) 9/8/06
+*/
diff --git a/test/eqn/eqn.more b/test/eqn/eqn.more
new file mode 100644
index 0000000000000..f6bcaf4ca5b62
--- /dev/null
+++ b/test/eqn/eqn.more
@@ -0,0 +1,140 @@
+a b
+a⎽ab2⎽
+b
+C=Ax+By
+Formel #y sub 1 = 75# im Text vor delim.
+Formel y2=85 im Text nach _d_e_l_i_m.
+Formel y2=85 im Text mit _d_e_l_i_m
+? _u_n_d !.
+Formel #y sub 3 = 95# nach ddddeeeelllliiiimmmm off.
+C = Ax + By
+C=Ax+By
+x1 +x2 +s1 =10
+−2x1 +s1 =42
+y12=x2+1
+ak2k
+a
+eik+1
+Ï€r2
+∇y/∇x
+∂x/∂t ∞
+Exp⎽e⎽c⎽t⎽e⎽d⎽ Value = Σ πiXi
+\│b2⎽−4ac ⌉ i=1
+3\│x⌈ 1⎽+⎽1⎽n⎽⎪
+P1=R⎪1½− i ⌋
+0 ⌊−1
+ ⌈
+ ⎪
+ ⎪ν1⌉
+P = ⎪ν2⎪
+ ⎪. ⎪
+ ⎪. ⎪
+ ⎪. ⎪
+ ⌊νN⎪
+ ⎧⎪
+ ⎪⌋0
+fX(x)=⎨2x x<0
+ ⎪ 0 0≤x≤1
+cre^pe.s.⎩ x>1
+C_it_ro en
+a⎽+b
+Xst
+Test:
+1/2i,2i
+cos(x)+cos(x)
+μ = λtt
+ = ∫λdz
+qP 0
+α β
+½½
+x=y
+A+B
+∂⎽2⎽f⎽=x⎽2⎽+y⎽⎽2⎽⎽⎽⎽⎽⎽
+∂x2⎽−b⎽a⎽±2⎽\│⎽b⎽b2⎽2−⎽4⎽a⎽c⎽
+x= 2a
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ⎧
+ ⎪ ⎽ ⎽
+ ⎪⎽⎽⎽1⎽⎽⎽⎽⎽ log \⎽│⎽⎽⎽ae⎽m⎽x⎽−⎽\⎽│⎽⎽⎽b
+ ⎪2m\│ab \│aemx+\│b
+ ⎪ ⎽
+∫⎽⎽⎽⎽d⎽x⎽⎽⎽⎽⎽ = ⎨⎽⎽1⎽⎽⎽⎽⎽ tanh−1(\⎽│⎽⎽⎽aemx)
+ aemx−be−mx ⎪m\│ab \│b
+ ⎪ ⎽
+ ⎪⎽⎽−⎽⎽⎽1⎽⎽ coth−1(\⎽│⎽⎽⎽aemx)
+ ⎪m\│ab \│b
+x=f(y/2)+y/2 ⎩
+x=y+z
+x = y + z
+(a2/b2)½
+x=y+α+β
+{ size alpha }{ size alpha }
+ ⎧ ⎫
+G(z) = eln G(z) = exp⎪ S⎽k⎽z⎽k⎽⎪ Skzk/k
+ ⎪ Σ k ⎪ = Π e ⎫
+ ⎩k≥1 ⎭⎽⎽2⎽k⎽z≥⎽41+...⎪
+ ⎫⎧ S2 ⎪...
+ ⎧ ⎽2⎽z⎽2⎽+...⎪⎪ S⎽2⎽z⎽2⎽+ ⎭
+ =⎪ S1 ⎪⎪1+ 2 22.2!
+ ⎪1+S1z+ 2! ⎭⎩
+ ⎩ ⎫
+ ⎪
+ ⎧ km ⎪
+ ⎪ k2 ⎽⎽S⎽m⎽⎽⎽⎪zm
+ ⎪ k1 ⎽⎽S⎽2⎽⎽⎽ ... km ⎪
+ = Σ ⎪ ⎽⎽S⎽1⎽⎽⎽ k2 m km!⎪
+ m≥0⎪ Σ k1 2 k2! ⎭
+ ⎪ k1,k2,...,km≥0 1 k1!
+dsum(i=1,⎩nk,1)+2k2d+s.u.m.(+jm=k1m,=nm,x sub ij)
+a=b+c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/eqn/eqn.ps b/test/eqn/eqn.ps
new file mode 100644
index 0000000000000..f25619c7feffb
--- /dev/null
+++ b/test/eqn/eqn.ps
@@ -0,0 +1,1733 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Italic Times-Roman Symbol Courier Times-Bold Helvetica
+%%Pages: 2
+%%DocumentNeededResources: font Times-Italic
+%%+ font Times-Roman
+%%+ font Symbol
+%%+ font Courier
+%%+ font Times-Bold
+%%+ font Helvetica
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Italic findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/Times-Italic-@12 exch definefont pop
+/@12 /Times-Italic-@12 def
+/&12 {@12 F} bind def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+/Encoding-@19@0 [
+/.notdef /cent /dagger /onequarter /threequarters /onehalf /endash
+/acute /grave /underscore /section /daggerdbl /backslash /quotedbl
+/bar /quotedblleft /quotedblright /space /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /.notdef /quotedbl
+/numbersign /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /less /.notdef /greater /.notdef
+/at /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /backslash
+/.notdef /circumflex /underscore /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /bar /.notdef /tilde /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@19@0 def
+ currentdict
+end
+/Times-Roman-tmp-@19 exch definefont pop
+/Times-Roman-tmp-@19 /Times-Roman-@19 S1defs cf
+/Times-Roman-tmp-@19 undefinefont
+/@19 /Times-Roman-@19 def
+/&19 {@19 F} bind def
+/Encoding-@20@0 [
+/.notdef /arrowright /parenleftex /universal /existential /asteriskmath
+/plus /minus /equal /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
+/Eta /Iota /Kappa /Lambda /Mu /Nu /Omicron /Pi /Rho /Theta /Sigma
+/Tau /Upsilon /Omega /Xi /Psi /space /exclam /Zeta /numbersign
+/underscore /percent /ampersand /radicalex /parenleft /parenright
+/alpha /plus /comma /minus /period /slash /zero /one /two /three
+/four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /beta /chi /delta /epsilon /phi /gamma
+/eta /iota /kappa /lambda /mu /nu /omicron /pi /theta /rho /sigma
+/tau /upsilon /omega /xi /psi /zeta /similar /minute /lessequal
+/fraction /bracketleft /infinity /bracketright /arrowleft /underscore
+/arrowup /arrowdown /degree /plusminus /greaterequal /multiply
+/proportional /partialdiff /bullet /divide /notequal /equivalence
+/approxequal /aleph /circlemultiply /circleplus /emptyset /intersection
+/union /propersuperset /reflexsuperset /propersubset /reflexsubset
+/element /gradient /registerserif /copyrightserif /braceleft
+/bar /braceright /similar /trademarkserif /radical /logicalnot
+/logicalor /bracketlefttp /bracketleftbt /bracelefttp /braceleftmid
+/braceleftbt /braceex /integral /bracketrighttp /bracketrightbt
+/bracerighttp /bracerightmid /bracerightbt /sigma1 /bracketleftex
+/space /suchthat /congruent /theta1 /therefore /perpendicular
+/phi1 /omega1 /Euro /Upsilon1 /florin /club /diamond /heart /spade
+/arrowboth /second /ellipsis /arrowvertex /arrowhorizex /carriagereturn
+/Ifraktur /Rfraktur /weierstrass /notsubset /notelement /angle
+/product /dotmath /logicaland /arrowdblboth /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /lozenge /angleleft /registersans
+/copyrightsans /trademarksans /summation /parenlefttp /parenleftbt
+/angleright /integraltp /integralex /integralbt /parenrighttp
+/parenrightex /parenrightbt /bracketrightex /apple /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Symbol findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@20@0 def
+ currentdict
+end
+/Symbol-tmp-@20 exch definefont pop
+_Sdefsadj
+/Symbol-tmp-@20 /Symbol-@20 Sdefs cf
+/Symbol-tmp-@20 undefinefont
+/@20 /Symbol-@20 def
+/&20 {@20 F} bind def
+/Encoding-@15@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Courier findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@15@0 def
+ currentdict
+end
+/Courier-@15 exch definefont pop
+/@15 /Courier-@15 def
+/&15 {@15 F} bind def
+/Encoding-@13@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Bold findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@13@0 def
+ currentdict
+end
+/Times-Bold-@13 exch definefont pop
+/@13 /Times-Bold-@13 def
+/&13 {@13 F} bind def
+/Encoding-@16@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Helvetica findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@16@0 def
+ currentdict
+end
+/Helvetica-@16 exch definefont pop
+/@16 /Helvetica-@16 def
+/&16 {@16 F} bind def
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+10 @12 f
+(a)5000 12000 w
+(b)20000 v
+(a)5000 24000 w
+(b)8000 v
+(b)9833 49000 w
+(a)7500 34000 w
+7 @11 f
+(2)13666 36000 w
+10 @19 f
+(\011)6000 39000 w
+(\011\011)8666 v
+&12
+(C)5000 59000 w
+&20
+(\010)13336 v
+&12
+(Ax)18826 v
+&20
+(\006)31042 v
+&12
+(By)36532 v
+&11
+(F)5000 71000 w
+( T)3150(ormel #y sub 1 = 75# im)3330 2 10410 u
+(e)122370 v
+(xt v)3330 1 126660 u
+(or)142570 v
+&15
+(delim)154230 v
+&11
+(.)184230 v
+(F)5000 83000 w
+(ormel)10410 v
+&12
+(y)37070 v
+7 @11 f
+(2)42676 85000 w
+10 @20 f
+(\010)46176 83000 w
+&11
+( T)3150(85 im)3330 2 51666 u
+(e)84116 v
+(xt nach)3330 1 88406 u
+&12
+(delim)121726 v
+&11
+(.)143946 v
+(F)5000 95000 w
+(ormel)10410 v
+&12
+(y)37070 v
+7 @11 f
+(2)42676 97000 w
+10 @20 f
+(\010)46176 95000 w
+&11
+( T)3150(85 im)3330 2 51666 u
+(e)84116 v
+(xt mit)3330 1 88406 u
+&12
+(delim)116186 v
+(? und !.)3330 1 5000 107000 t
+(F)5000 119000 w
+(ormel #y sub 3 = 95# nac)3330 1 10060 u
+(h)117740 v
+&13
+(delim)126070 v
+&16
+(off)153290 v
+&12
+(.)164410 v
+(C)5000 131000 w
+&20
+(\010)15833 v
+&12
+(Ax)24473 v
+&20
+(\006)39186 v
+&12
+(By)48006 v
+(C)5000 143000 w
+&20
+(\010)14169 v
+&12
+(Ax)21325 v
+&20
+(\006)34374 v
+&12
+(By)41530 v
+(x)5000 155000 w
+7 @11 f
+(1)10606 157000 w
+10 @20 f
+(\006)41000 155000 w
+&12
+(x)46490 v
+7 @11 f
+(2)52096 157000 w
+10 @20 f
+(\006)77000 155000 w
+&12
+(s)82490 v
+7 @11 f
+(1)87546 157000 w
+10 @20 f
+(\010)113000 155000 w
+&11
+(10)120156 v
+&20
+(\007)5000 167000 w
+&11
+(2)10490 v
+&12
+(x)15490 v
+7 @11 f
+(1)21096 169000 w
+10 @20 f
+(\006)77000 167000 w
+&12
+(s)82490 v
+7 @11 f
+(1)87546 169000 w
+10 @20 f
+(\010)113000 167000 w
+&11
+(42)120156 v
+&12
+(y)5000 179000 w
+7 @11 f
+(1)10606 181000 w
+10 @20 f
+(\010)14106 179000 w
+&12
+(x)19596 v
+7 @11 f
+(2)25202 175000 w
+10 @20 f
+(\006)28702 179000 w
+&11
+(1)34192 v
+&12
+(a)5000 191000 w
+7 s
+(k)10000 193000 w
+&11
+(2)12332 187000 w
+10 @12 f
+(a)5000 204500 w
+7 @11 f
+(2)11166 198000 w
+4 @12 f
+(k)14666 200500 w
+10 s
+(e)5000 217300 w
+7 s
+(i)10606 213300 w
+4 s
+(k)13218 210500 w
+&20
+(\006)15660 v
+&11
+(1)17856 v
+10 @20 f
+(\115)5000 229300 w
+&12
+(r)10490 v
+7 @11 f
+(2)15546 225300 w
+10 @20 f
+(\170)5000 241300 w
+&12
+(y)12130 v
+&20
+(\132\170)18236 v
+&12
+(x)27036 v
+&20
+(\147)5000 253300 w
+&12
+(x)9940 v
+&20
+(\132\147)16046 v
+&12
+(t)22656 v
+(Expected)5000 270300 w
+(V)45463 v
+(alue)50463 v
+&20
+(\010)71846 v
+7 @12 f
+(i)80666 280300 w
+&20
+(\010)83778 v
+&11
+(1)87621 v
+15 @20 f
+(\032)81453 273300 w
+7 s
+(\134)83338 260300 w
+10 s
+(\115)91120 270300 w
+7 @12 f
+(i)96610 272300 w
+10 s
+(X)100222 270300 w
+7 s
+(i)106332 272300 w
+9 @20 f
+(\200\047)5000 288500 w
+(\047\047\047\047\047\047)14212 v
+10 @12 f
+(b)9950 290300 w
+7 @11 f
+(2)16116 286300 w
+10 @20 f
+(\007)19616 290300 w
+&11
+(4)25106 v
+&12
+(ac)30106 v
+7 @11 f
+(3)5000 298300 w
+9 @20 f
+(\200\047)8500 300500 w
+(\047)15056 v
+10 @12 f
+(x)13450 302300 w
+(P)5000 322300 w
+&20
+(\010)12776 v
+&12
+(R)18266 v
+&20
+(\203)26042 311300 w
+(\210)26042 321300 w
+(\204)26042 331300 w
+&11
+(1)31042 322300 w
+&20
+(\007)37708 v
+&12
+(i)56302 329300 w
+&11
+(1)47364 316300 w
+&20
+(\006)52364 v
+&11
+(1)57854 v
+7 @12 f
+(n)62854 312300 w
+10 @19 f
+(\011)45864 319300 w
+(\011\011\011\011)49520 v
+&20
+(\212)72186 311300 w
+(\210)72186 321300 w
+(\213)72186 331300 w
+&11
+(0)5000 354300 w
+(1)5000 340300 w
+&20
+(\007)16660 354300 w
+&11
+(1)22150 v
+(\011)19650 340300 w
+&12
+(P)5000 393300 w
+&20
+(\010)15273 v
+(\203)25759 361300 w
+(\210)25759 371300 w
+(\210)25759 381300 w
+(\210)25759 391300 w
+(\210)25759 401300 w
+(\210)25759 411300 w
+(\204)25759 421300 w
+(\113)30759 418300 w
+7 @12 f
+(N)35969 420300 w
+10 s
+(.)35281 405300 w
+(.)35281 395300 w
+(.)35281 385300 w
+&20
+(\113)32176 376300 w
+7 @11 f
+(2)37386 378300 w
+10 @20 f
+(\113)32176 364300 w
+7 @11 f
+(1)37386 366300 w
+10 @20 f
+(\212)43970 361300 w
+(\210)43970 371300 w
+(\210)43970 381300 w
+(\210)43970 391300 w
+(\210)43970 401300 w
+(\210)43970 411300 w
+(\213)43970 421300 w
+&12
+(f)5833 450300 w
+7 s
+(X)10279 452300 w
+10 @11 f
+(\()16222 450300 w
+&12
+(x)19552 v
+&11
+(\))24825 v
+&20
+(\010)29821 v
+(\205)38643 429300 w
+(\210)38643 439300 w
+(\206)38643 449300 w
+(\210)38643 459300 w
+(\207)38643 469300 w
+&11
+(0)47983 464300 w
+(2)43543 450300 w
+&12
+(x)48543 v
+&11
+(0)47983 436300 w
+&12
+(x)59643 464300 w
+(>)65749 v
+&11
+(1)72499 v
+(0)59643 450300 w
+&20
+(\131)64643 v
+&12
+(x)70133 v
+&20
+(\131)75406 v
+&11
+(1)80896 v
+&12
+(x)59643 436300 w
+(<)65749 v
+&11
+(0)72499 v
+&12
+(cr)5000 480300 w
+(e)12960 v
+(^)13515 v
+(pes)17400 v
+(Citr)5000 492300 w
+(o)20670 v
+(..)21670 485600 w
+(en)25670 492300 w
+(a)5000 504300 w
+7 @20 f
+(\001)5046 500300 w
+10 s
+(\006)11667 504300 w
+&12
+(b)17157 v
+7 @20 f
+(\001)17703 497800 w
+10 @12 f
+(X)5000 516300 w
+&20
+(\047)7000 516600 w
+(\047)7110 v
+7 @12 f
+(st)11110 518300 w
+10 s
+(T)5000 528300 w
+(est:)9640 v
+&11
+(1)5000 540300 w
+&20
+(\132)10000 v
+&11
+(2)11670 v
+&12
+(i)16670 v
+&11
+(,)19450 v
+(2)23616 v
+7 @12 f
+(i)28616 536300 w
+10 s
+(cos\(x\))5000 552300 w
+&20
+(\006)31096 v
+&11
+(cos\()36586 v
+&12
+(x)53246 v
+&11
+(\))58519 v
+&20
+(\112)5000 564300 w
+(\010)14090 v
+(\111)22910 v
+&12
+(t)28400 v
+&20
+(\010)15756 584400 w
+7 @11 f
+(0)26326 594400 w
+14 @20 f
+(\211)24576 585400 w
+7 @12 f
+(t)27103 571300 w
+10 @20 f
+(\111)31576 584400 w
+&12
+(dz)37066 v
+&13
+(qP)5000 604400 w
+&20
+(\052)5000 616400 w
+(\100)14640 v
+&11
+(\011)5000 628400 w
+(\011)5500 v
+13 @12 f
+(x)5000 641400 w
+10 @20 f
+(\010)12438 v
+&12
+(y)17928 v
+8 s
+(A)5000 653400 w
+&20
+(\006)11221 v
+&12
+(B)15613 v
+10 @20 f
+(\147)7500 678400 w
+&12
+(x)12440 v
+7 @11 f
+(2)18046 674400 w
+10 @20 f
+(\147)7664 664400 w
+7 @11 f
+(2)12604 660400 w
+10 @12 f
+(f)16937 664400 w
+&19
+(\011)6001 667400 w
+(\011\011\011)8047 v
+&20
+(\010)24047 670400 w
+&12
+(a)32037 678400 w
+7 @11 f
+(2)38203 674400 w
+10 @12 f
+(x)32317 664400 w
+7 @11 f
+(2)37923 660400 w
+10 @19 f
+(\011)30537 667400 w
+(\011\011)33203 v
+&20
+(\006)44203 670400 w
+&12
+(b)52193 678400 w
+7 @11 f
+(2)58359 674400 w
+10 @12 f
+(y)52473 664400 w
+7 @11 f
+(2)58079 660400 w
+10 @19 f
+(\011)50693 667400 w
+(\011\011)53359 v
+&12
+(x)5000 693200 w
+&20
+(\010)11106 v
+&11
+(2)40608 700200 w
+&12
+(a)45608 v
+&20
+(\007)19096 687200 w
+&12
+(b)24586 v
+&20
+(\143)30419 v
+9 s
+(\200\047)35909 685400 w
+(\047\047\047\047\047\047)45121 v
+10 @12 f
+(b)40859 687200 w
+7 @11 f
+(2)47025 683200 w
+10 @20 f
+(\007)50525 687200 w
+&11
+(4)56015 v
+&12
+(ac)61015 v
+&19
+(\011)17596 690200 w
+(\011\011\011\011\011\011\011\011\011\011\011)18621 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+14 @20 f
+(\211)5000 50700 w
+10 @12 f
+(ae)14500 57700 w
+7 s
+(mx)25106 53700 w
+10 @20 f
+(\007)34934 57700 w
+&12
+(be)40424 v
+7 @20 f
+(\007)51030 53700 w
+&12
+(mx)54873 v
+10 s
+(dx)34881 43700 w
+&19
+(\011)13001 46700 w
+(\011\011\011\011\011\011\011\011\011\011)16202 v
+&20
+(\010)70532 49700 w
+(\205)81018 9000 w
+(\210)81018 19000 w
+(\210)81018 29000 w
+(\210)81018 39000 w
+(\206)81018 49000 w
+(\210)81018 59000 w
+(\210)81018 69000 w
+(\210)81018 79000 w
+(\207)81018 89000 w
+&12
+(m)88418 86100 w
+9 @20 f
+(\200\047)96471 84300 w
+(\047\047)104087 v
+10 @12 f
+(ab)101421 86100 w
+&20
+(\007)95508 72300 w
+&11
+(1)100998 v
+&19
+(\011)86919 75300 w
+(\011\011\011\011\011)89588 v
+&11
+(coth)118918 78300 w
+7 @20 f
+(\007)136138 74300 w
+&11
+(1)139981 v
+10 s
+(\()143481 78300 w
+9 @20 f
+(\200\047)149311 84300 w
+(\047)156427 v
+10 @12 f
+(b)154261 86100 w
+9 @20 f
+(\200\047)149311 70500 w
+(\047)156427 v
+10 @12 f
+(a)154261 72300 w
+&19
+(\011)147811 75300 w
+(\011\011)152427 v
+&12
+(e)163427 78300 w
+7 s
+(mx)169033 74300 w
+10 @11 f
+(\))178861 78300 w
+&12
+(m)88418 57500 w
+9 @20 f
+(\200\047)96471 55700 w
+(\047\047)104087 v
+10 @12 f
+(ab)101421 57500 w
+&11
+(1)98253 43700 w
+&19
+(\011)86919 46700 w
+(\011\011\011\011\011)89588 v
+&11
+(tanh)118918 49700 w
+7 @20 f
+(\007)136138 45700 w
+&11
+(1)139981 v
+10 s
+(\()143481 49700 w
+9 @20 f
+(\200\047)149311 55700 w
+(\047)156427 v
+10 @12 f
+(b)154261 57500 w
+9 @20 f
+(\200\047)149311 41900 w
+(\047)156427 v
+10 @12 f
+(a)154261 43700 w
+&19
+(\011)147811 46700 w
+(\011\011)152427 v
+&12
+(e)163427 49700 w
+7 s
+(mx)169033 45700 w
+10 @11 f
+(\))178861 49700 w
+(2)88418 28700 w
+&12
+(m)93418 v
+9 @20 f
+(\200\047)101471 26900 w
+(\047\047)109087 v
+10 @12 f
+(ab)106421 28700 w
+&11
+(1)100753 14900 w
+&19
+(\011)86919 17900 w
+(\011\011\011\011\011\011)89588 v
+&11
+(log)123918 20900 w
+9 @20 f
+(\200\047)142528 27100 w
+(\047)149644 v
+10 @12 f
+(a)147478 28900 w
+(e)154144 v
+7 s
+(mx)159750 24900 w
+10 @20 f
+(\006)169578 28900 w
+9 s
+(\200\047)175068 27100 w
+(\047)182184 v
+10 @12 f
+(b)180018 28900 w
+9 @20 f
+(\200\047)142528 13100 w
+(\047)149644 v
+10 @12 f
+(a)147478 14900 w
+(e)154144 v
+7 s
+(mx)159750 10900 w
+10 @20 f
+(\007)169578 14900 w
+9 s
+(\200\047)175068 13100 w
+(\047)182184 v
+10 @12 f
+(b)180018 14900 w
+&19
+(\011)141028 17900 w
+(\011\011\011\011\011\011\011\011\011)143184 v
+&12
+(x)5000 100000 w
+&20
+(\010)11106 v
+&12
+(f)17429 v
+&11
+(\()23541 v
+&12
+(y)26871 v
+&20
+(\132)32977 v
+&11
+(2\))34647 v
+&20
+(\006)42977 v
+&12
+(y)48467 v
+&20
+(\132)54573 v
+&11
+(2)56243 v
+&12
+(x)5000 112000 w
+&20
+(\010)11106 v
+&12
+(y)16596 v
+&20
+(\006)22702 v
+&12
+(z)28192 v
+(x)5000 124000 w
+&20
+(\010)13603 v
+&12
+(y)22423 v
+&20
+(\006)31026 v
+&12
+(z)39846 v
+&11
+(\()5000 136000 w
+&12
+(a)8330 v
+7 @11 f
+(2)14496 132000 w
+10 @20 f
+(\132)17996 136000 w
+&12
+(b)19666 v
+7 @11 f
+(2)25832 138000 w
+10 s
+(\))29332 136000 w
+7 s
+(\011)32662 132000 w
+14 @13 f
+(x)5000 150000 w
+10 @20 f
+(\010)12000 v
+&12
+(y)17490 v
+&20
+(\006)23596 v
+14 s
+(\052\006\100)29086 v
+10 @12 f
+({ size alpha })3330 1 5000 162000 t
+&11
+({ size alpha })3330 1 60770 u
+&12
+(G)5000 181500 w
+&11
+(\()13886 v
+&12
+(z)17216 v
+&11
+(\))21939 v
+&20
+(\010)28599 v
+&12
+(e)37419 v
+7 @11 f
+(ln)43025 177500 w
+&12
+(G)50802 v
+&11
+(\()57022 v
+&12
+(z)59353 v
+&11
+(\))62659 v
+10 @20 f
+(\010)68320 181500 w
+&11
+(e)77140 v
+(xp)81430 v
+&20
+(\205)93096 171000 w
+(\210)93096 181000 w
+(\207)93096 191000 w
+7 @12 f
+(k)97996 191500 w
+&20
+(\144)102270 v
+&11
+(1)106113 v
+15 @20 f
+(\032)99364 184500 w
+10 @12 f
+(k)119694 188500 w
+(S)112112 173500 w
+7 s
+(k)117112 175500 w
+10 s
+(z)121886 173500 w
+7 s
+(k)126942 169500 w
+10 @19 f
+(\011)110612 178500 w
+(\011\011\011\011)113216 v
+&20
+(\214)135882 171000 w
+(\210)135882 181000 w
+(\216)135882 191000 w
+(\010)144152 181500 w
+7 @12 f
+(k)152972 191500 w
+&20
+(\144)157246 v
+&11
+(1)161089 v
+15 @20 f
+(\027)153020 184500 w
+10 @12 f
+(e)164588 181500 w
+7 s
+(S)170194 175000 w
+4 s
+(k)173694 177500 w
+7 s
+(z)176636 175000 w
+4 s
+(k)180025 172200 w
+7 @20 f
+(\132)182967 175000 w
+&12
+(k)184136 v
+10 @20 f
+(\010)28599 211000 w
+(\205)35755 199000 w
+(\210)35755 209000 w
+(\207)35755 219000 w
+&11
+(1)40655 211000 w
+&20
+(\006)45655 v
+&12
+(S)51145 v
+7 @11 f
+(1)57311 213000 w
+10 @12 f
+(z)60811 211000 w
+&20
+(\006)66367 v
+&11
+(2!)79886 218000 w
+&12
+(S)74357 203000 w
+7 @11 f
+(1)80523 205000 w
+(2)81689 199000 w
+10 @12 f
+(z)85189 203000 w
+7 @11 f
+(2)90245 199000 w
+10 @19 f
+(\011)72857 208000 w
+(\011\011\011\011)75245 v
+&20
+(\006)96245 211000 w
+&12
+(...)101735 v
+&20
+(\214)110901 199000 w
+(\210)110901 209000 w
+(\216)110901 219000 w
+(\205)117507 199500 w
+(\210)117507 209500 w
+(\207)117507 219500 w
+&11
+(1)122407 211000 w
+&20
+(\006)127407 v
+&11
+(2)142008 218000 w
+&12
+(S)135397 203000 w
+7 @11 f
+(2)141563 205000 w
+10 @12 f
+(z)145063 203000 w
+7 @11 f
+(2)150119 199000 w
+10 @19 f
+(\011)133897 208000 w
+(\011\011\011\011)135119 v
+&20
+(\006)156119 211000 w
+&11
+(2)164138 219000 w
+7 s
+(2)169138 215000 w
+10 @12 f
+(.)172638 216000 w
+&11
+(2!)175138 219000 w
+&12
+(S)164109 203000 w
+7 @11 f
+(2)170275 205000 w
+(2)171441 199000 w
+10 @12 f
+(z)174941 203000 w
+7 @11 f
+(4)179997 199000 w
+10 @19 f
+(\011)162609 208000 w
+(\011\011\011\011)164997 v
+&20
+(\006)185997 211000 w
+&12
+(...)191487 v
+&20
+(\214)200653 199500 w
+(\210)200653 209500 w
+(\216)200653 219500 w
+&12
+(...)205593 211000 w
+&20
+(\010)28599 244750 w
+7 @12 f
+(m)34089 254750 w
+&20
+(\144)40309 v
+&11
+(0)44152 v
+15 @20 f
+(\032)36430 247750 w
+10 s
+(\205)49317 228500 w
+(\210)49317 238500 w
+(\210)49317 248500 w
+(\210)49317 258500 w
+(\207)49317 268500 w
+7 @12 f
+(k)54217 264250 w
+4 @11 f
+(1)57991 266750 w
+7 @20 f
+(\006)59991 264250 w
+&11
+(2)63834 v
+&12
+(k)67334 v
+4 @11 f
+(2)71108 266750 w
+7 @20 f
+(\006)73108 264250 w
+&12
+(...)76951 v
+&20
+(\006)82201 v
+&12
+(mk)86044 v
+4 s
+(m)94206 266750 w
+7 @20 f
+(\010)98260 264250 w
+&12
+(m)102103 v
+(k)56582 254750 w
+4 @11 f
+(1)60356 257250 w
+7 s
+(,)62356 254750 w
+&12
+(k)65272 v
+4 @11 f
+(2)69046 257250 w
+7 @12 f
+(,)71046 254750 w
+(.)75127 v
+(.)79208 v
+(.)83289 v
+(,)87370 v
+(k)90286 v
+4 s
+(m)93394 257250 w
+7 @20 f
+(\144)97448 254750 w
+&11
+(0)101291 v
+15 @20 f
+(\032)76247 247750 w
+10 @11 f
+(1)109657 255250 w
+7 @12 f
+(k)114657 248750 w
+4 @11 f
+(1)118431 251250 w
+10 @12 f
+(k)120431 255250 w
+7 @11 f
+(1)126037 257250 w
+10 s
+(!)129537 255250 w
+&12
+(S)115292 236750 w
+7 @11 f
+(1)121458 238750 w
+&12
+(k)121458 229750 w
+4 @11 f
+(1)125232 232750 w
+10 @19 f
+(\011)108157 241750 w
+(\011\011\011\011\011)109367 v
+&11
+(2)141197 255250 w
+7 @12 f
+(k)146197 248750 w
+4 @11 f
+(2)149971 251250 w
+10 @12 f
+(k)151971 255250 w
+7 @11 f
+(2)157577 257250 w
+10 s
+(!)161077 255250 w
+&12
+(S)146832 236750 w
+7 @11 f
+(2)152998 238750 w
+&12
+(k)152998 229750 w
+4 @11 f
+(2)156772 232750 w
+10 @19 f
+(\011)139697 241750 w
+(\011\011\011\011\011)140907 v
+&12
+(...)170237 244750 w
+(m)180237 255250 w
+7 s
+(k)188623 248750 w
+4 s
+(m)191731 251250 w
+10 s
+(k)195785 255250 w
+7 s
+(m)200225 257250 w
+10 @11 f
+(!)206945 255250 w
+&12
+(S)188592 236750 w
+7 s
+(m)193592 238750 w
+(k)194758 229750 w
+4 s
+(m)197866 232750 w
+10 @19 f
+(\011)178737 241750 w
+(\011\011\011\011\011\011)181775 v
+&20
+(\214)214441 228500 w
+(\210)214441 238500 w
+(\210)214441 248500 w
+(\210)214441 258500 w
+(\216)214441 268500 w
+&12
+(z)219381 244750 w
+7 s
+(m)224437 240750 w
+10 s
+(dsum)5000 279500 w
+&11
+(\()27776 v
+&12
+(i=1)31106 v
+&11
+(,)45636 v
+&12
+(n)49802 v
+&11
+(,)54802 v
+(\))58968 v
+&12
+(dsum)72288 v
+&11
+(\()95064 v
+&12
+(j=1)98394 v
+&11
+(,)112924 v
+&12
+(n)117090 v
+&11
+(,)122090 v
+&12
+(x sub ij)3330 1 126256 u
+&11
+(\))156806 v
+20 @15 f
+(a)5000 291500 w
+&20
+(\010)17000 v
+&15
+(b)27980 v
+&20
+(\006)39980 v
+&15
+(c)50960 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Trailer
+done
+%%EOF
diff --git a/test/eqn/eqn.roff b/test/eqn/eqn.roff
new file mode 100644
index 0000000000000..c27644e817c99
--- /dev/null
+++ b/test/eqn/eqn.roff
@@ -0,0 +1,182 @@
+.if t \{\
+. po 1n
+. pl 29c
+. ll 20c
+.\}
+.nf
+.EQ
+a fwd 100 b
+.EN
+.EQ
+a back 20 b
+.EN
+.EQ
+a sub 2 over b
+.EN
+.EQ I (13a)
+C=Ax+By
+.EN
+Formel #y sub 1 = 75# im Text vor \f(CWdelim\fP.
+.EQ
+delim ##
+.EN
+Formel #y sub 2 = 85# im Text nach \fIdelim\fP.
+.EQ
+delim ?!
+.EN
+Formel ?y sub 2 = 85! im Text mit \fIdelim
+.EQ
+delim off
+.EN
+? und !\fP.
+Formel #y sub 3 = 95# nach \fBdelim\fP \fHoff\fP.
+.EQ
+C~=~Ax~+~By
+.EN
+.EQ
+C^=^Ax^+^By
+.EN
+.ta 0.5i +0.5i +0.5i
+.EQ
+x sub 1 +x sub 2 +s sub 1 =^10
+.EN
+.EQ
+-2x sub 1 +s sub 1 =^42
+.EN
+.EQ
+delim $$
+.EN
+$y sub 1 = x sup 2 + 1$
+$a sub k sup 2$
+$a sup 2 sub k$
+.EQ
+e sup {i sup {k + 1}}
+.EN
+$pi r sup 2$
+$del y / del x$
+$partial x / partial t$
+$Expected~Value~=~sum from {i=1} to inf pi sub i X sub i$
+.EQ
+sqrt {b sup 2 - 4ac}
+.EN
+.EQ
+"" sup 3 sqrt x
+.EN
+$P=R left [ 1^-^{1+1 sup n} over i right ]$
+.EQ
+matrix {
+ lcol {1 above 0}
+ rcol {half above -1}
+}
+.EN
+.EQ
+P~=~left [
+ pile { nu sub 1 above nu sub 2 above cdot
+ above cdot above cdot above nu sub N }
+right ]
+.EN
+.EQ
+f sub X (x)^=^left {
+ rpile { 0 above 2x above 0 }
+ ~~lpile { x < 0 above 0 <= x <= 1 above x > 1 }
+.EN
+$cr e hat pes$
+$Citr o dotdot en$
+$a vec + b vec$
+$X bar sub st$
+.EQ
+define 2i '2 sup i'
+define 1/2i '1 over 2i'
+.EN
+Test:
+$1/2i, 2i$
+$italic "cos(x)" + cos (x)$
+.EQ
+mu~mark =~lambda t
+.EN
+.EQ
+lineup =~int from 0 to t lambda dz
+.EN
+$bold qP$
+$roman alpha~beta$
+$fat half$
+$size +3 x =y$
+$size 8 {A + B}$
+.EQ
+{partial sup 2 f} over {partial x sup 2} =
+x sup 2 over a sup 2 + y sup 2 over b sup 2
+.EN
+.EQ
+x = {-b +- sqrt{b sup 2 -4ac}} over 2a
+.EN
+.bp
+.EQ
+define emx "{e sup mx}"
+define mab "{m sqrt ab}"
+define sa "{sqrt a}"
+define sb "{sqrt b}"
+int dx over {a emx - be sup -mx} ~=~
+left { lpile {
+ 1 over {2 mab} ~log~
+ {sa emx - sb} over {sa emx + sb}
+ above
+ 1 over mab ~ tanh sup -1 ( sa over sb emx )
+ above
+ -1 over mab ~ coth sup -1 ( sa over sb emx )
+}
+.EN
+.EQ I (3.1a)
+x = f(y/2)+y/2
+.EN
+.EQ
+x = y
+ + z
+.EN
+.EQ
+x~=~y~+~z
+.EN
+.EQ
+(a sup 2 /b sub 2 ) sup half
+.EN
+.EQ
+size 14 bold x = y +
+ size 14 {alpha + beta}
+.EN
+.EQ
+"{ size alpha }"
+roman "{ size alpha }"
+.EN
+.EQ I
+G(z)~mark =~ e sup { ln ~ G(z) }
+~=~ exp left (
+sum from k>=1 {S sub k z sup k} over k right )
+~=~ prod from k>=1 e sup {S sub k z sup k /k}
+.EN
+.EQ I
+lineup = left ( 1 + S sub 1 z +
+{ S sub 1 sup 2 z sup 2 } over 2! + ... right )
+left ( 1+ { S sub 2 z sup 2 } over 2
++ { S sub 2 sup 2 z sup 4 } over { 2 sup 2 cdot 2! }
++ ... right ) ...
+.EN
+.EQ I
+lineup = sum from m>=0 left (
+sum from
+pile { k sub 1 ,k sub 2 ,..., k sub m >=0
+above
+k sub 1 +2k sub 2 + ... +mk sub m =m}
+{ S sub 1 sup {k sub 1} } over {1 sup k sub 1 k sub 1 ! } ~
+{ S sub 2 sup {k sub 2} } over {2 sup k sub 2 k sub 2 ! } ~
+...
+{ S sub m sup {k sub m} } over {m sup k sub m k sub m ! }
+right ) z sup m
+.EN
+.EQ
+define dsum % sum from $1 to $2 $3 %
+dsum("i=1", n, "")~~~dsum("j=1", n, "x sub ij")
+.EN
+.EQ
+gsize 20
+gfont CW
+a=b+c
+.EN
diff --git a/test/eqn/makefile b/test/eqn/makefile
new file mode 100644
index 0000000000000..e5ab15db9ee49
--- /dev/null
+++ b/test/eqn/makefile
@@ -0,0 +1,23 @@
+.SUFFIXES: .roff .more .ps
+
+test:
+ mv eqn.more eqn.more.orig
+ make eqn.more
+ diff eqn.more eqn.more.orig
+ rm eqn.more
+ mv eqn.more.orig eqn.more
+ mv eqn.ps eqn.ps.orig
+ make eqn.ps
+ sed 's/.CreationDate.*/%/' eqn.ps > eqn.ps.sed
+ diff eqn.ps.sed eqn.ps.orig
+ rm eqn.ps eqn.ps.sed
+ mv eqn.ps.orig eqn.ps
+
+clean:
+ rm -f *.more *.ps
+
+.roff.more:
+ neqn $< | nroff -Tlocale | col -x > $@
+
+.roff.ps:
+ eqn $< | troff | dpost > $@
diff --git a/test/grap/data/rawgrades b/test/grap/data/rawgrades
new file mode 100644
index 0000000000000..8591d64b9ae4e
--- /dev/null
+++ b/test/grap/data/rawgrades
@@ -0,0 +1,6 @@
+100
+67
+34
+89
+86
+79
diff --git a/test/grap/data/ttrev.data b/test/grap/data/ttrev.data
new file mode 100644
index 0000000000000..9b17b426d7234
--- /dev/null
+++ b/test/grap/data/ttrev.data
@@ -0,0 +1,5 @@
+1981 0
+1982 4
+1983 8
+1984 17
+1985 36
diff --git a/test/grap/grap.more b/test/grap/grap.more
new file mode 100644
index 0000000000000..e7ef8278a27df
--- /dev/null
+++ b/test/grap/grap.more
@@ -0,0 +1,66 @@
+ ──────────────────────────────â”
+ 100 ─│ │
+ │ │
+ 80 ─│ │
+ │ │
+ 60 ─│ │
+MiDlolliloanrss of│ │
+ 40 ─│ │
+ │ Expenses │
+ 20 ─│ │
+ │ Revenues │
+ 0 ─│ ────── │
+ │──────────┬───┬───┬────┬───┬───┬───┬─│┘
+ 19│83 │19│85 │19│87 │19│89
+
+ (PrToTjIe:ctReedvevnauleusesanidndEixcpaetnedditbuyre.s....)
+
+ ──────────────────────────────â”
+10─0│ • │
+ │ • │
+ │ • │
+80─│ •│
+ │ │
+ │ • │
+60─│ │
+ │ │
+ │ │
+40─│ │
+ │ • │
+ │└───┬──────┬─────┬─────┬─────┬──────│
+ │1 │2 │3 │4 │5 │6
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/grap/grap.ps b/test/grap/grap.ps
new file mode 100644
index 0000000000000..9e77dfe643d5c
--- /dev/null
+++ b/test/grap/grap.ps
@@ -0,0 +1,561 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Roman
+%%Pages: 1
+%%DocumentNeededResources: font Times-Roman
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+10 @11 f
+153576 12000 153576 156000 Dl
+153576 12000 369576 12000 Dl
+369576 156000 369576 12000 Dl
+153576 156000 369576 156000 Dl
+(Millions of)3330 1 75644 80000 t
+(Dollars)83704 92000 w
+(TTI: Re)3330 1 194571 188000 t
+(v)227091 v
+(enues and Expenditures)3330 1 231941 u
+(\(Projected v)3330 1 190471 200000 t
+(alues indicated by .....\))3330 1 239651 u
+146376 147144 153576 147144 Dl
+(0)138046 149144 w
+146376 121872 153576 121872 Dl
+(20)133046 123872 w
+146376 96600 153576 96600 Dl
+(40)133046 98600 w
+146376 71400 153576 71400 Dl
+(60)133046 73400 w
+146376 46128 153576 46128 Dl
+(80)133046 48128 w
+146376 20856 153576 20856 Dl
+(100)128046 22856 w
+214200 163200 214200 156000 Dl
+(1983)204200 174200 w
+261576 163200 261576 156000 Dl
+(1985)251576 174200 w
+308952 163200 308952 156000 Dl
+(1987)298952 174200 w
+356328 163200 356328 156000 Dl
+(1989)346328 174200 w
+237888 163200 237888 156000 Dl
+285264 163200 285264 156000 Dl
+332640 163200 332640 156000 Dl
+8 s
+(Re)285264 136544 w
+(v)293952 v
+(enues)297832 v
+(Expenses)246468 108752 w
+10 s
+190584 142104 166896 147144 Dl
+214200 137064 190512 142104 Dl
+237888 125688 214200 137064 Dl
+261576 101712 237888 125688 Dl
+97200 216024 97200 360024 Dl
+97200 216024 313200 216024 Dl
+313200 360024 313200 216024 Dl
+97200 360024 313200 360024 Dl
+110448 367224 110448 360024 Dl
+(1)107948 378224 w
+148392 367224 148392 360024 Dl
+(2)145892 378224 w
+186264 367224 186264 360024 Dl
+(3)183764 378224 w
+224136 367224 224136 360024 Dl
+(4)221636 378224 w
+262008 367224 262008 360024 Dl
+(5)259508 378224 w
+299952 367224 299952 360024 Dl
+(6)297452 378224 w
+90000 339720 97200 339720 Dl
+(40)76670 341720 w
+90000 301416 97200 301416 Dl
+(60)76670 303416 w
+90000 263112 97200 263112 Dl
+(80)76670 265112 w
+90000 224880 97200 224880 Dl
+(100)71670 226880 w
+(\022)108698 v
+(\022)146642 290024 w
+(\022)184514 353168 w
+(\022)222386 247904 w
+(\022)260258 253664 w
+(\022)298202 267056 w
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Trailer
+done
+%%EOF
diff --git a/test/grap/grap.roff b/test/grap/grap.roff
new file mode 100644
index 0000000000000..55e60165c18a3
--- /dev/null
+++ b/test/grap/grap.roff
@@ -0,0 +1,30 @@
+.G1
+label left "Millions of" "Dollars" left .2
+label bot "TTI: Revenues and Expenditures"\
+ "(Projected values indicated by .....)"
+ticks left out from 0 to 100 by 20
+ticks bot out from 1983 to 1989 by 2
+ticks bot out from 1984 to 1988 by 2 ""
+"Revenues" size -2 ljust at 1986, 10
+"Expenses" size -2 at 1985, 32
+draw solid; copy "data/ttrev.data"
+.G2
+.G1
+copy "data/rawgrades"
+.G2
+.EQ
+delim $$
+.EN
+.\".G1
+.\"coord x 1, 10 y 1, 100 log y
+.\"grid bot dotted from 2 to 9
+.\"grid left dotted at 10 "10", 50 "50"
+.\"draw solid bullet
+.\"label left "log y" left 0.1
+.\"label bot "x" up 0.1
+.\""$y = x sup 2$" at 3, 15
+.\"for i = 1 to 10 do
+.\"{
+.\" next at i, i*i
+.\"}
+.\".G2
diff --git a/test/grap/makefile b/test/grap/makefile
new file mode 100644
index 0000000000000..ecbdc0275473a
--- /dev/null
+++ b/test/grap/makefile
@@ -0,0 +1,25 @@
+NAM= grap
+
+.SUFFIXES: .roff .more .ps
+
+test:
+ mv $(NAM).more $(NAM).more.orig
+ make $(NAM).more
+ diff $(NAM).more $(NAM).more.orig
+ rm $(NAM).more
+ mv $(NAM).more.orig $(NAM).more
+ mv $(NAM).ps $(NAM).ps.orig
+ make $(NAM).ps
+ sed 's/.CreationDate.*/%/' $(NAM).ps > $(NAM).ps.sed
+ diff $(NAM).ps.sed $(NAM).ps.orig
+ rm $(NAM).ps $(NAM).ps.sed
+ mv $(NAM).ps.orig $(NAM).ps
+
+clean:
+ rm -f *.more *.ps
+
+.roff.more:
+ grap $< | pic | neqn | nroff -Tlocale | col -x > $@
+
+.roff.ps:
+ grap $< | pic | eqn | troff | dpost > $@
diff --git a/test/makefile b/test/makefile
new file mode 100644
index 0000000000000..64c266d8a8baf
--- /dev/null
+++ b/test/makefile
@@ -0,0 +1,13 @@
+DIRS= \
+ eqn \
+ grap \
+ pic \
+ refer/32 \
+ refer/ab \
+ tbl
+
+# should be .DEFAULT but doesn't work with GNU make
+test:
+ for i in $(DIRS); do \
+ (cd $$i && $(MAKE) $@) || exit 1; \
+ done
diff --git a/test/pic/makefile b/test/pic/makefile
new file mode 100644
index 0000000000000..64137c7913356
--- /dev/null
+++ b/test/pic/makefile
@@ -0,0 +1,25 @@
+NAM= pic
+
+.SUFFIXES: .roff .more .ps
+
+test:
+ mv $(NAM).more $(NAM).more.orig
+ make $(NAM).more
+ diff $(NAM).more $(NAM).more.orig
+ rm $(NAM).more
+ mv $(NAM).more.orig $(NAM).more
+ mv $(NAM).ps $(NAM).ps.orig
+ make $(NAM).ps
+ sed 's/.CreationDate.*/%/' $(NAM).ps > $(NAM).ps.sed
+ diff $(NAM).ps.sed $(NAM).ps.orig
+ rm $(NAM).ps $(NAM).ps.sed
+ mv $(NAM).ps.orig $(NAM).ps
+
+clean:
+ rm -f *.more *.ps
+
+.roff.more:
+ grap $< | pic | neqn | nroff -Tlocale | col -x > $@
+
+.roff.ps:
+ grap $< | pic | eqn | troff | dpost > $@
diff --git a/test/pic/pic.more b/test/pic/pic.more
new file mode 100644
index 0000000000000..78c8b3a6fd0f2
--- /dev/null
+++ b/test/pic/pic.more
@@ -0,0 +1,140 @@
+ O
+ / | \
+#<â€>O<â€>#
+
+
+
+
+ │
+ │
+ │
+ │
+ │
+ │
+ │
+─┌──────┠┌───────â”
+│ │ │ │
+│ │ │ │
+│└───────│┘ │└───────│┘
+
+Zwischenzeile
+
+
+
+
+
+
+
+
+
+
+
+ ┌───────┠.................... ┌───────â”
+document─────│ PIC │─────(.o...TpBtLi/oEnQa.─lN...)────│ TROFF │─────typesetter
+ │ │ ... ... │ │
+ │└───────│┘ .................... │└───────│┘
+─at─h─li─is─nies
+
+─at─nh─i─as─rirsow
+
+.ld..ia..ns..eh..e..d
+
+ ─────
+
+
+─────
+─┌──────┠┌───────â”
+│ │ │ │
+│ │ │ │
+│└───────│┘ │└───────│┘
+ ┌───────â”
+ ───── ─────│ │
+ │ │
+ │└───────│┘
+──────────────────────────────
+│──────────────────────────────│
+ ┌────────────────────
+ │
+ │
+height │
+ │
+ │
+ │
+
+
+
+
+
+
+
+
+
+ │
+ │
+ │
+│
+│
+│
+.................... ....................
+.... ............... ............... ....
+... ... ... ...
+.................... ....................
+.....................................................................................................
+. . . . . . . . . . . . . . . . . . . . .
+
+. . . . . . . . . . .
+. . . . . .
+
+ input───── output
+
+ above
+─o─n──t─op of ─ba─eb─lo─ov─we ─a─b─o─v─e ─b─e─l─o─w on──t─o─p─of
+Fileende below
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/pic/pic.ps b/test/pic/pic.ps
new file mode 100644
index 0000000000000..66f1049ed9b2f
--- /dev/null
+++ b/test/pic/pic.ps
@@ -0,0 +1,849 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Roman
+%%Pages: 2
+%%DocumentNeededResources: font Times-Roman
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+10 @11 f
+(O)13320 12000 w
+(/)6660 24000 w
+(\023)12770 v
+(\017)18100 v
+(#<\001>O<\001>#)0 36000 w
+10 @11 f
+124200 66000 54000 36000 De
+126000 199200 50400 50400 De
+0 181200 0 217200 Dl
+0 181200 54000 181200 Dl
+54000 217200 54000 181200 Dl
+0 217200 54000 217200 Dl
+248400 181200 248400 217200 Dl
+248400 181200 302400 181200 Dl
+302400 217200 302400 181200 Dl
+248400 217200 302400 217200 Dl
+27000 181200 132120 78744 Dl
+27000 181200 30888 174864 Dl
+27000 181200 33408 177456 Dl
+275400 181200 170280 78744 Dl
+275400 181200 268992 177456 Dl
+275400 181200 271512 174864 Dl
+151200 84000 153000 91200 Dl
+151200 84000 149400 91200 Dl
+151200 174000 151200 84000 Dl
+151200 174000 149400 166800 Dl
+151200 174000 153000 166800 Dl
+(Zwischenzeile)0 236400 w
+0 266400 36000 36000 De
+0 332400 72000 72000 De
+0 398400 54000 36000 De
+(document)7280 400400 w
+54000 398400 90000 398400 Dl
+90000 398400 82800 400200 Dl
+90000 398400 82800 396600 Dl
+90000 380400 90000 416400 Dl
+90000 380400 144000 380400 Dl
+144000 416400 144000 380400 Dl
+90000 416400 144000 416400 Dl
+(PIC)109220 400400 w
+144000 398400 180000 398400 Dl
+180000 398400 172800 400200 Dl
+180000 398400 172800 396600 Dl
+180000 416400 183600 416400 Dl
+187200 416400 190800 416400 Dl
+194400 416400 198000 416400 Dl
+201600 416400 205200 416400 Dl
+208800 416400 212400 416400 Dl
+216000 416400 219600 416400 Dl
+223200 416400 226800 416400 Dl
+230400 416400 234000 416400 Dl
+234000 412800 234000 416400 Dl
+234000 404736 234000 408336 Dl
+234000 396600 234000 400200 Dl
+234000 388536 234000 392136 Dl
+234000 380400 234000 384000 Dl
+230400 380400 234000 380400 Dl
+223200 380400 226800 380400 Dl
+216000 380400 219600 380400 Dl
+208800 380400 212400 380400 Dl
+201600 380400 205200 380400 Dl
+194400 380400 198000 380400 Dl
+187200 380400 190800 380400 Dl
+180000 380400 183600 380400 Dl
+180000 384000 180000 380400 Dl
+180000 392064 180000 388464 Dl
+180000 400200 180000 396600 Dl
+180000 408264 180000 404664 Dl
+180000 416400 180000 412800 Dl
+(TBL/EQN)185890 394400 w
+(\(optional\))187280 406400 w
+234000 398400 270000 398400 Dl
+270000 398400 262800 400200 Dl
+270000 398400 262800 396600 Dl
+270000 380400 270000 416400 Dl
+270000 380400 324000 380400 Dl
+324000 416400 324000 380400 Dl
+270000 416400 324000 416400 Dl
+(TR)281640 400400 w
+(OFF)294020 v
+324000 398400 360000 398400 Dl
+360000 398400 352800 400200 Dl
+360000 398400 352800 396600 Dl
+360000 398400 54000 36000 De
+(typesetter)367560 400400 w
+0 428400 36000 428400 Dl
+(this is)3330 1 5775 424400 t
+(a line)3330 1 6615 436400 t
+0 452400 36000 452400 Dl
+36000 452400 28800 454200 Dl
+36000 452400 28800 450600 Dl
+(this is)3330 1 5775 448400 t
+(an arro)3330 1 80 460400 t
+(w)28700 v
+0 476400 3600 476400 Dl
+8136 476400 11736 476400 Dl
+16200 476400 19800 476400 Dl
+24336 476400 27936 476400 Dl
+32400 476400 36000 476400 Dl
+(dashed)4115 472400 w
+(line)10500 484400 w
+0 536400 36000 536400 Dl
+36000 536400 0 -18000 18000 0 Da
+72000 500400 0 18000 -18000 0 Da
+72000 500400 108000 500400 Dl
+108000 500400 100800 502200 Dl
+108000 500400 100800 498600 Dl
+0 548400 0 584400 Dl
+0 548400 54000 548400 Dl
+54000 584400 54000 548400 Dl
+0 584400 54000 584400 Dl
+90000 548400 90000 584400 Dl
+90000 548400 144000 548400 Dl
+144000 584400 144000 548400 Dl
+90000 584400 144000 584400 Dl
+162000 596400 162000 632400 Dl
+162000 596400 216000 596400 Dl
+216000 632400 216000 596400 Dl
+162000 632400 216000 632400 Dl
+126000 614400 162000 614400 Dl
+126000 614400 133200 612600 Dl
+126000 614400 133200 616200 Dl
+72000 614400 54000 36000 De
+36000 614400 72000 614400 Dl
+36000 614400 43200 612600 Dl
+36000 614400 43200 616200 Dl
+0 614400 36000 36000 De
+0 648000 0 655200 Dl
+0 648000 216000 648000 Dl
+216000 655200 216000 648000 Dl
+0 655200 216000 655200 Dl
+216000 651600 14400 14400 De
+179530 670800 35530 742800 Dl
+35530 670800 179530 670800 Dl
+35530 670800 42730 669000 Dl
+35530 670800 42730 672600 Dl
+28330 670800 30130 678000 Dl
+28330 670800 26530 678000 Dl
+28330 742800 28330 670800 Dl
+28330 742800 26530 735600 Dl
+28330 742800 30130 735600 Dl
+(height)0 708800 w
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+10 @11 f
+36000 12000 0 48000 Dl
+36000 48000 36000 12000 Dl
+0 84000 36000 48000 Dl
+0 48000 0 84000 Dl
+7 s
+(.)-1000 132300 w
+(.)2600 v
+(.)6200 v
+(.)9800 v
+(.)13400 v
+(.)17000 v
+(.)20600 v
+(.)24200 v
+(.)27800 v
+(.)31400 v
+(.)35000 v
+(.)38600 v
+(.)42200 v
+(.)45800 v
+(.)49400 v
+(.)53000 v
+(.)53000 v
+(.)53000 128700 w
+(.)53000 125100 w
+(.)53000 121500 w
+(.)53000 117900 w
+(.)53000 114300 w
+(.)53000 110700 w
+(.)53000 107100 w
+(.)53000 103500 w
+(.)53000 99900 w
+(.)53000 96300 w
+(.)53000 v
+(.)49400 v
+(.)45800 v
+(.)42200 v
+(.)38600 v
+(.)35000 v
+(.)31400 v
+(.)27800 v
+(.)24200 v
+(.)20600 v
+(.)17000 v
+(.)13400 v
+(.)9800 v
+(.)6200 v
+(.)2600 v
+(.)-1000 v
+(.)-1000 v
+(.)-1000 99900 w
+(.)-1000 103500 w
+(.)-1000 107100 w
+(.)-1000 110700 w
+(.)-1000 114300 w
+(.)-1000 117900 w
+(.)-1000 121500 w
+(.)-1000 125100 w
+(.)-1000 128700 w
+(.)-1000 132300 w
+(.)53000 114300 w
+(.)56600 v
+(.)60200 v
+(.)63800 v
+(.)67400 v
+(.)71000 v
+(.)74600 v
+(.)78200 v
+(.)81800 v
+(.)85400 v
+(.)89000 v
+10 s
+126000 114000 129600 114000 Dl
+134136 114000 137736 114000 Dl
+142200 114000 145800 114000 Dl
+150336 114000 153936 114000 Dl
+158400 114000 162000 114000 Dl
+162000 132000 165600 132000 Dl
+169200 132000 172800 132000 Dl
+176400 132000 180000 132000 Dl
+183600 132000 187200 132000 Dl
+190800 132000 194400 132000 Dl
+198000 132000 201600 132000 Dl
+205200 132000 208800 132000 Dl
+212400 132000 216000 132000 Dl
+216000 128400 216000 132000 Dl
+216000 120336 216000 123936 Dl
+216000 112200 216000 115800 Dl
+216000 104136 216000 107736 Dl
+216000 96000 216000 99600 Dl
+212400 96000 216000 96000 Dl
+205200 96000 208800 96000 Dl
+198000 96000 201600 96000 Dl
+190800 96000 194400 96000 Dl
+183600 96000 187200 96000 Dl
+176400 96000 180000 96000 Dl
+169200 96000 172800 96000 Dl
+162000 96000 165600 96000 Dl
+162000 99600 162000 96000 Dl
+162000 107664 162000 104064 Dl
+162000 115800 162000 112200 Dl
+162000 123864 162000 120264 Dl
+162000 132000 162000 128400 Dl
+0 144000 3600 144000 Dl
+7272 144000 10872 144000 Dl
+14544 144000 18144 144000 Dl
+21816 144000 25416 144000 Dl
+29088 144000 32688 144000 Dl
+36360 144000 39960 144000 Dl
+43632 144000 47232 144000 Dl
+50904 144000 54504 144000 Dl
+58176 144000 61776 144000 Dl
+65448 144000 69048 144000 Dl
+72720 144000 76320 144000 Dl
+79992 144000 83592 144000 Dl
+87264 144000 90864 144000 Dl
+94536 144000 98136 144000 Dl
+101808 144000 105408 144000 Dl
+109080 144000 112680 144000 Dl
+116352 144000 119952 144000 Dl
+123624 144000 127224 144000 Dl
+130896 144000 134496 144000 Dl
+138168 144000 141768 144000 Dl
+145440 144000 149040 144000 Dl
+152712 144000 156312 144000 Dl
+159984 144000 163584 144000 Dl
+167256 144000 170856 144000 Dl
+174528 144000 178128 144000 Dl
+181872 144000 185472 144000 Dl
+189144 144000 192744 144000 Dl
+196416 144000 200016 144000 Dl
+203688 144000 207288 144000 Dl
+210960 144000 214560 144000 Dl
+218232 144000 221832 144000 Dl
+225504 144000 229104 144000 Dl
+232776 144000 236376 144000 Dl
+240048 144000 243648 144000 Dl
+247320 144000 250920 144000 Dl
+254592 144000 258192 144000 Dl
+261864 144000 265464 144000 Dl
+269136 144000 272736 144000 Dl
+276408 144000 280008 144000 Dl
+283680 144000 287280 144000 Dl
+290952 144000 294552 144000 Dl
+298224 144000 301824 144000 Dl
+305496 144000 309096 144000 Dl
+312768 144000 316368 144000 Dl
+320040 144000 323640 144000 Dl
+327312 144000 330912 144000 Dl
+334584 144000 338184 144000 Dl
+341856 144000 345456 144000 Dl
+349128 144000 352728 144000 Dl
+356400 144000 360000 144000 Dl
+0 162000 18000 162000 Dl
+34200 162000 52200 162000 Dl
+68400 162000 86400 162000 Dl
+102600 162000 120600 162000 Dl
+136800 162000 154800 162000 Dl
+171000 162000 189000 162000 Dl
+205200 162000 223200 162000 Dl
+239400 162000 257400 162000 Dl
+273600 162000 291600 162000 Dl
+307800 162000 325800 162000 Dl
+342000 162000 360000 162000 Dl
+0 180000 36000 180000 Dl
+64800 180000 100800 180000 Dl
+129600 180000 165600 180000 Dl
+194400 180000 230400 180000 Dl
+259200 180000 295200 180000 Dl
+324000 180000 360000 180000 Dl
+0 198000 72000 198000 Dl
+144000 198000 216000 198000 Dl
+288000 198000 360000 198000 Dl
+(input)16720 230000 w
+54000 228000 90000 228000 Dl
+90000 228000 82800 229800 Dl
+90000 228000 82800 226200 Dl
+(output)104220 230000 w
+0 258000 36000 258000 Dl
+36000 258000 28800 259800 Dl
+36000 258000 28800 256200 Dl
+(on top of)3330 1 -885 260000 t
+72000 258000 108000 258000 Dl
+108000 258000 100800 259800 Dl
+108000 258000 100800 256200 Dl
+(abo)78210 254000 w
+(v)92500 v
+(e)97350 v
+(belo)77905 266000 w
+(w)94875 v
+144000 258000 180000 258000 Dl
+180000 258000 172800 259800 Dl
+180000 258000 172800 256200 Dl
+(abo)150210 254000 w
+(v)164500 v
+(e)169350 v
+216000 258000 252000 258000 Dl
+252000 258000 244800 259800 Dl
+252000 258000 244800 256200 Dl
+(belo)221905 266000 w
+(w)238875 v
+288000 258000 324000 258000 Dl
+324000 258000 316800 259800 Dl
+324000 258000 316800 256200 Dl
+(abo)294210 248000 w
+(v)308500 v
+(e)313350 v
+(on top of)3330 1 287115 260000 t
+(belo)293905 272000 w
+(w)310875 v
+(Fileende)0 270000 w
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Trailer
+done
+%%EOF
diff --git a/test/pic/pic.roff b/test/pic/pic.roff
new file mode 100644
index 0000000000000..33d4ccefbabf8
--- /dev/null
+++ b/test/pic/pic.roff
@@ -0,0 +1,93 @@
+.pl 29.7c
+.ll 21c
+.po 0
+.nf
+ O
+ / | \e
+#<->O<->#
+.fi
+.PS
+down
+ellipse
+move down 1.25
+circle radius .35
+move left 1i from left of last circle; box
+move right 1i from right of last circle; box
+arrow from lower left of last ellipse to top of 1st box
+arrow from lower right of last ellipse to top of 2nd box
+arrow <-> from bottom of last ellipse to top of last circle
+.PE
+Zwischenzeile
+.PS
+circle
+.PE
+.PS
+circle radius .5
+.PE
+.PS
+ellipse "document"
+arrow
+box "PIC"
+arrow
+box "TBL/EQN" "(optional)" dashed
+arrow
+box "TROFF"
+arrow
+ellipse "typesetter"
+.PE
+.PS
+line "this is" "a line"
+.PE
+.sp
+.PS
+arrow "this is" "an arrow"
+.PE
+.sp
+.PS
+line dashed "dashed" "line"
+.PE
+.sp
+.PS
+line; arc; arc cw; arrow
+.PE
+.PS
+box; move; box
+.PE
+.PS
+left; box; arrow; ellipse; arrow; circle
+.PE
+.PS
+box width 3 height 0.1; circle radius 0.1
+.PE
+.in \w'height 'u
+.PS
+line up 1 right 2
+arrow left 2
+move left 0.1
+line <-> down 1 "height " rjust
+.PE
+.in
+.bp
+.PS
+line up right; line down; line down left; line up
+.PE
+.PS
+box dotted; line dotted; move; line dashed; box dashed
+.PE
+.PS
+line right 5 dashed; move left 5 down .25; right
+line right 5 dashed 0.25; move left 5 down .25; right
+line right 5 dashed 0.5; move left 5 down .25; right
+line right 5 dashed 1
+.PE
+.PS
+box invis "input"; arrow; box invis "output"
+.PE
+.PS
+arrow "on top of"; move
+arrow "above" "below"; move
+arrow "above" above; move
+arrow "below" below; move
+arrow "above" "on top of" "below"
+.PE
+Fileende
diff --git a/test/refer/32/bib b/test/refer/32/bib
new file mode 100644
index 0000000000000..65f55a53840d6
--- /dev/null
+++ b/test/refer/32/bib
@@ -0,0 +1,3 @@
+%T OpenBSD.org
+%I The OpenBSD Foundation
+%B http://www.openbsd.org/
diff --git a/test/refer/32/makefile b/test/refer/32/makefile
new file mode 100644
index 0000000000000..c1383a242eb27
--- /dev/null
+++ b/test/refer/32/makefile
@@ -0,0 +1,6 @@
+test:
+ mv out out.orig
+ printf '.[\nopenbsd\n.]\n' | refer -p bib > out
+ diff out out.orig
+ rm out *.ig
+ mv out.orig out
diff --git a/test/refer/32/out b/test/refer/32/out
new file mode 100644
index 0000000000000..3ec37f99c8187
--- /dev/null
+++ b/test/refer/32/out
@@ -0,0 +1,9 @@
+.ds [F 1
+.]-
+.ds [T OpenBSD.org
+.ds [I The OpenBSD Foundation
+.ds [B http://www.openbsd.org/
+.nr [T 0
+.nr [A 0
+.nr [O 0
+.][ 3 article-in-book
diff --git a/test/refer/ab/ab.bib b/test/refer/ab/ab.bib
new file mode 100644
index 0000000000000..c60ecf317bc84
--- /dev/null
+++ b/test/refer/ab/ab.bib
@@ -0,0 +1,2 @@
+%B foo
+%T bar
diff --git a/test/refer/ab/ab.ms b/test/refer/ab/ab.ms
new file mode 100644
index 0000000000000..cea0aaa041059
--- /dev/null
+++ b/test/refer/ab/ab.ms
@@ -0,0 +1,5 @@
+.pl 20
+.PP
+.[
+foo
+.]
diff --git a/test/refer/ab/makefile b/test/refer/ab/makefile
new file mode 100644
index 0000000000000..1a547aa84acd1
--- /dev/null
+++ b/test/refer/ab/makefile
@@ -0,0 +1,7 @@
+test:
+ mv out out.orig
+ refer -p ab.bib ab.ms | nroff -Tlocale -ms | \
+ sed '/^[[:space:]]*[A-Z]/d' > out
+ diff out out.orig
+ rm out *.ig
+ mv out.orig out
diff --git a/test/refer/ab/out b/test/refer/ab/out
new file mode 100644
index 0000000000000..23913a892a697
--- /dev/null
+++ b/test/refer/ab/out
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+_________________________
+ [1] “bar,†in _f_o_o.
+
+
+
+
+
+
diff --git a/test/tbl/1cell-allbox.roff b/test/tbl/1cell-allbox.roff
new file mode 100644
index 0000000000000..5d97c5aab5695
--- /dev/null
+++ b/test/tbl/1cell-allbox.roff
@@ -0,0 +1,5 @@
+.TS
+allbox;
+c.
+X
+.TE
diff --git a/test/tbl/ND.roff b/test/tbl/ND.roff
new file mode 100644
index 0000000000000..5ce3cc519935e
--- /dev/null
+++ b/test/tbl/ND.roff
@@ -0,0 +1 @@
+.ND
diff --git a/test/tbl/ab1.roff b/test/tbl/ab1.roff
new file mode 100644
index 0000000000000..c9108bbff7219
--- /dev/null
+++ b/test/tbl/ab1.roff
@@ -0,0 +1,7 @@
+.TS
+center box;
+cb | cb, c | ci.
+NES Gamepad Keyboard
+=
+Up Keypad Up
+.TE
diff --git a/test/tbl/ab2.roff b/test/tbl/ab2.roff
new file mode 100644
index 0000000000000..efdcefcb043eb
--- /dev/null
+++ b/test/tbl/ab2.roff
@@ -0,0 +1,7 @@
+.TS
+center doublebox;
+c | c, c | c.
+foo1 foo2
+=
+bar baz
+.TE
diff --git a/test/tbl/expand.nr b/test/tbl/expand.nr
new file mode 100644
index 0000000000000..64e72461f0ab1
--- /dev/null
+++ b/test/tbl/expand.nr
@@ -0,0 +1,55 @@
+Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla.
+.TS
+expand;
+l l l l.
+a bb ccc dddd
+.TE
+.TS
+expand allbox;
+l l l l.
+a bb ccc dddd
+.TE
+.TS
+expand;
+llll|.
+_
+a bb ccc dddd
+_
+.TE
+\(-> Heirloom: Too narrow
+.TS
+expand;
+|llll|.
+_
+a bb ccc dddd
+_
+.TE
+\(-> Heirloom: Nearly correct (a little bit too narrow)
+.TS
+expand;
+|llll.
+_
+a bb ccc dddd
+_
+.TE
+\(-> Heirloom: Too wide!
+.TS
+llll.
+a bb ccc dddd
+.TE
+.TS
+lx lx l l.
+a bb ccc dddd
+.TE
+.TS
+allbox;
+lx lx l l.
+a bb ccc dddd
+.TE
+.TS
+allbox;
+l l l lx.
+a bb ccc dddd
+.TE
diff --git a/test/tbl/linienbsp.roff b/test/tbl/linienbsp.roff
new file mode 100644
index 0000000000000..ed174f17efbdd
--- /dev/null
+++ b/test/tbl/linienbsp.roff
@@ -0,0 +1,16 @@
+.TS
+| CB S S |
+| CB S S |
+| LI CI LI |
+| C | C | C |.
+_
+Single-Column
+Horizontal Lines
+Code Meaning Example
+=
+\&_ Joined, single line. _
+\&= Joined, double line. =
+\e_ Orphaned, single line. \_
+\eRx Repeated \f2x\fP. \Rx
+_
+.TE
diff --git a/test/tbl/makefile b/test/tbl/makefile
new file mode 100644
index 0000000000000..0ef00dc68ac2d
--- /dev/null
+++ b/test/tbl/makefile
@@ -0,0 +1,44 @@
+.SUFFIXES: .roff .doc .more .ps
+
+test:
+ # tbl.more
+ mv tbl.more tbl.more.orig
+ make tbl.more
+ #diff tbl.more.orig tbl.more
+ rm tbl.more
+ mv tbl.more.orig tbl.more
+ # tbl.ps
+ mv tbl.ps tbl.ps.orig
+ make tbl.ps
+ sed 's/.CreationDate.*/%/' tbl.ps > tbl.ps.sed
+ diff tbl.ps.orig tbl.ps.sed
+ rm tbl.ps tbl.ps.sed
+ mv tbl.ps.orig tbl.ps
+ # tbl.doc.more
+ mv tbl.doc.more tbl.doc.more.orig
+ make tbl.doc.more
+ diff tbl.doc.more.orig tbl.doc.more
+ rm tbl.doc.more
+ mv tbl.doc.more.orig tbl.doc.more
+ # tbl.doc.ps
+ mv tbl.doc.ps tbl.doc.ps.orig
+ make tbl.doc.ps
+ sed 's/.CreationDate.*/%/' tbl.doc.ps > tbl.doc.ps.sed
+ diff tbl.doc.ps.orig tbl.doc.ps.sed
+ rm tbl.doc.ps tbl.doc.ps.sed
+ mv tbl.doc.ps.orig tbl.doc.ps
+
+clean:
+ rm -f *.more *.ps
+
+.roff.more:
+ soelim $< | tbl -Tlocale | neqn | nroff -Tlocale | col -x > $@
+
+.roff.ps:
+ soelim $< | tbl -g | eqn | troff | dpost > $@
+
+tbl.doc.more: tbl.doc
+ tbl -Tlocale ND.roff tbl.doc | neqn | nroff -Tlocale -ms | col -x > $@
+
+tbl.doc.ps: tbl.doc
+ tbl -g tbl.doc | eqn | troff -ms | dpost > $@
diff --git a/test/tbl/mid-sq.roff b/test/tbl/mid-sq.roff
new file mode 100644
index 0000000000000..4c7eacf4faefd
--- /dev/null
+++ b/test/tbl/mid-sq.roff
@@ -0,0 +1,16 @@
+(\n%)
+.br
+.TS
+c c c
+c c c
+c | c | c
+c c c
+c c c.
+a b c
+ _
+d e f
+ _
+g h i
+.TE
+(\n%)
+.br
diff --git a/test/tbl/mm.roff b/test/tbl/mm.roff
new file mode 100644
index 0000000000000..08bd3502e502b
--- /dev/null
+++ b/test/tbl/mm.roff
@@ -0,0 +1,69 @@
+\&
+.sp 40
+.TS H
+box;
+cb cb cb
+l l l.
+Spalte 1 Spalte 1 Spalte 1
+.TH N
+a b c
+d e f
+g h i
+j k l
+m n o
+r s t
+u v w
+x y z
+0 1 2
+3 4 5
+6 7 8
+A B C
+D E F
+G H I
+J K L
+M N O
+P Q R
+S T U
+V W X
+Y Z aa
+bb cc dd
+ee ff gg
+hh ii jj
+kk ll mm
+nn oo rr
+ss tt uu
+vv ww xx
+yy zz 00
+11 22 33
+44 55 66
+77 88 99
+AA BB CC
+DD EE FF
+GG HH II
+JJ KK LL
+MM NN OO
+PP QQ RR
+SS TT UU
+VV WW XX
+YY ZZ aaa
+bbb ccc ddd
+eee fff ggg
+hhh iii jjj
+kkk lll mmm
+nnn ooo ppp
+qqq rrr sss
+ttt uuu vvv
+www xxx yyy
+zzz 000 111
+222 333 444
+555 666 777
+888 999 aaaa
+bbbb cccc dddd
+eeee ffff gggg
+hhhh iiii jjjj
+kkkk llll mmmm
+nnnn oooo pppp
+qqqq rrrr ssss
+tttt uuuu vvvv
+wwww xxxx yyyy
+.TE
diff --git a/test/tbl/n.roff b/test/tbl/n.roff
new file mode 100644
index 0000000000000..93df4439125de
--- /dev/null
+++ b/test/tbl/n.roff
@@ -0,0 +1,14 @@
+(\n%)
+.br
+.TS
+n.
+13
+4.2
+26.4.12
+abc
+abc\&
+43\&3.22
+749.12
+.TE
+(\n%)
+.br
diff --git a/test/tbl/no-unicode.roff b/test/tbl/no-unicode.roff
new file mode 100644
index 0000000000000..e9072faae8357
--- /dev/null
+++ b/test/tbl/no-unicode.roff
@@ -0,0 +1,13 @@
+.br
+(\n%)
+.br
+.TS
+c || c
+c | c.
+A B
+_
+C D
+.TE
+.br
+(\n%)
+.br
diff --git a/test/tbl/short-v.roff b/test/tbl/short-v.roff
new file mode 100644
index 0000000000000..9b3ee06d6f41b
--- /dev/null
+++ b/test/tbl/short-v.roff
@@ -0,0 +1,15 @@
+.TS
+l | r
+l || r
+l | r
+l r
+l || r
+l r.
+a b
+c d
+=
+e f
+g h
+i j
+k l
+.TE
diff --git a/test/tbl/supermarket.roff b/test/tbl/supermarket.roff
new file mode 100644
index 0000000000000..a3dc79e4cc1aa
--- /dev/null
+++ b/test/tbl/supermarket.roff
@@ -0,0 +1,19 @@
+.TS
+center box tab(;);
+c c c
+l l n.
+Store;Item;Cost
+=
+Supermarket;Bread;1.50
+;Milk;2.00
+;Cake;1.40
+;;\_
+;Sub-total;4.90
+_
+Clothes;Shirt;12.70
+;Pants;14.25
+;;\_
+;Sub-total;27.05
+;_;_
+;Total;31.95
+.TE
diff --git a/test/tbl/tbl-backslash.roff b/test/tbl/tbl-backslash.roff
new file mode 100644
index 0000000000000..1f5e94c5bac16
--- /dev/null
+++ b/test/tbl/tbl-backslash.roff
@@ -0,0 +1,5 @@
+.TS
+allbox;
+lll.
+\\\\\\\\ \e\e\e\e \(rs\(rs\(rs\(rs
+.TE
diff --git a/test/tbl/tbl.doc b/test/tbl/tbl.doc
new file mode 100644
index 0000000000000..1832bf4022689
--- /dev/null
+++ b/test/tbl/tbl.doc
@@ -0,0 +1,1940 @@
+.\" tbl tbl.man | eqn -Txxx | troff -ms -Txxx
+.if t .ds ^ \^\s+4\v@.3m@^\v@-.3m@\s-4\^
+.if n .ds ^ ^
+.ds :? TBL
+.de PT
+.lt \\n(LLu
+.pc %
+.nr PN \\n%
+.if \\n%-1 .if o .tl '\s9\f2\*(:?\fP''\\n(PN\s0'
+.if \\n%-1 .if e .tl '\s9\\n(PN''\f2\*(:?\^\fP\s0'
+.lt \\n(.lu
+..
+.hy 14
+.bd S 3 3
+.TL
+T\s-2BL\s+2\-A Program to Format Tables
+.AU
+M. E. Lesk
+.AI
+.MH
+.AB
+.I
+Tbl
+.R
+is a document formatting preprocessor for
+.I
+troff
+.R
+or
+.I
+nroff
+.R
+which makes
+even
+fairly complex tables easy to specify and enter.
+It is available on
+the
+.UX
+system,
+and on Honeywell 6000
+\s-1GCOS\s+1.
+Tables are made up of columns which may be independently centered, right-adjusted,
+left-adjusted, or aligned by decimal points.
+Headings may be placed over single columns or groups of columns.
+A table entry may contain equations, or may consist of several rows of text.
+Horizontal or vertical lines may be drawn as desired
+in the table,
+and any table or element may be enclosed in a box.
+For example:
+.in 0
+.ll
+.sp .5
+.TS
+center, box;
+c s s s
+c s s s
+c |c |c |c
+c |c |c |c
+l |n |n |n.
+1970 Federal Budget Transfers
+\s-2(in billions of dollars)\s0
+=
+State Taxes Money Net
+\^ collected spent \^
+_
+New York 22.91 21.35 \-1.56
+New Jersey 8.33 6.96 \-1.37
+Connecticut 4.12 3.10 \-1.02
+Maine 0.74 0.67 \-0.07
+California 22.29 22.42 +0.13
+New Mexico 0.70 1.49 +0.79
+Georgia 3.30 4.28 +0.98
+Mississippi 1.15 2.32 +1.17
+Texas 9.33 11.13 +1.80
+.TE
+.AE
+.tr #
+.de e1
+.nr \\$1 \\$2
+..
+.de e2
+.if !\\n(\\$1=\\n% .tm Error in example \\$1: referred to page \\n(\\$1, is on page \\n%
+.rr \\$1
+..
+.di qq
+.EQ
+delim $$
+.EN
+.di
+.rm qq
+.SH
+INTRODUCTION
+.PP
+.I
+Tbl
+.R
+turns a simple description
+of a table into a
+.I
+troff
+.R
+or
+.I
+nroff
+.R
+[1]
+program (list of requests) that prints the table.
+.I
+Tbl
+.R
+may be used on the
+\s-1UNIX\s+1
+[2] system and on the Honeywell 6000
+\s-1GCOS\s+1
+system.
+It
+attempts to isolate a portion of a job that it can
+successfully
+handle and leave the remainder for other programs.
+Thus
+.I
+tbl
+.R
+may be used with the equation formatting
+program
+.I
+eqn
+.R
+[3]
+and/or various
+\f2nroff\^/\^troff\^\fR
+layout macro packages
+[4,5,6],
+but does not duplicate their functions.
+.PP
+This memorandum is divided into two parts.
+First we give the rules for preparing
+.I
+tbl
+.R
+input; then some examples are shown.
+The description of rules is precise but technical, and
+the beginning user may prefer to read the examples first,
+as they show some common table arrangements.
+A section explaining how to invoke
+.I
+tbl
+.R
+precedes the examples.
+To avoid repetition, henceforth read
+.I
+``troff\^''
+.R
+as
+.I
+``troff
+.R
+or
+.I
+nroff.''
+.R
+.ds . \^\s14.\s0
+.br
+.if t .ne 4v
+.PP
+The input to
+.I
+tbl
+.R
+is text for a document, with tables preceded by a ``\*.TS''
+(table start)
+command and followed by a ``\*.TE''
+(table end) command.
+.I
+Tbl
+.R
+processes the tables, generating
+.I
+troff
+.R
+formatting requests,
+and leaves the remainder of the text unchanged.
+The ``\*.TS'' and ``\*.TE''
+lines are copied, too, so that
+.I
+troff
+.R
+layout macros
+(such as the memorandum formatting macros [4,6]\|) can use these lines
+to delimit and place tables as they see fit.
+In particular, any arguments on the ``\*.TS'' or ``\*.TE''
+lines
+are copied but otherwise ignored, and may be used by document layout
+macro requests.
+The format of the input is as follows:
+.DS
+\&text
+\&\*.TS
+\&\fItable\fR
+\&\*.TE
+\&text
+\&\*.TS
+\&\fItable\fR
+\&\*.TE
+\&text
+\&\&\*.\|\*.\|\*.
+.DE
+where the format of each table is as follows:
+.DS
+\&\*.TS
+\fIoptions \fB;\fR
+\fIformat \*.
+data
+\&\fR\*.TE
+.DE
+Each table is independent, and must contain formatting
+information
+followed by the data to be entered in the table.
+The formatting information, which describes the
+individual columns and rows of the table, may be preceded
+by a few options that affect the entire table.
+A detailed description of tables is given in the next section.
+.sp .5
+.SH
+INPUT \|COMMANDS
+.PP
+As indicated above, a table contains, first, global options,
+then a format section describing the layout of the table
+entries, and then the data to be printed.
+The format and data
+are always required, but not the options.
+The various parts of the table are entered as follows:
+.sp .5v
+.IP "1)"
+O\s-2PTIONS.\s0
+There may be a single line of options
+affecting the whole table.
+If present, this line must follow the \*.TS line immediately
+and must contain a list of option names
+separated by spaces, tabs, or commas, and must be terminated by a semicolon.
+The allowable options are:
+.RS
+.IP "##\fBcenter\fR" 13
+\- center the table (default is left-adjust);
+.IP "##\fBexpand\fR"
+\- make the table as wide as the current line length;
+.IP "##\fBbox\fR"
+\- enclose the table in a box;
+.IP "##\fBallbox\fR"
+\- enclose each item in the table in a box;
+.IP "##\fBdoublebox\fR"
+\- enclose the table in two boxes;
+.IP "##\fBtab\fR#(\fIx\fR\^)"
+\- use \fIx\fR instead of tab to separate data items.
+.IP "##\fBlinesize\fR#(\fIn\fR\^)"
+\- set lines or rules (e.g., from \fBbox\fR) in \fIn\fR-point type;
+.IP "##\fBdelim\fR#(\fIxy\fR\^)"
+\- recognize \fIx\fR and \fIy\fR as the \fIeqn\fR delimiters.
+.RE
+.IP
+The
+.I
+tbl
+.R
+program
+tries to keep boxed tables on one page by issuing
+appropriate ``need'' (\fI\*.ne\fR\^) requests.
+These requests are calculated from the number of lines in the tables,
+and if there are spacing requests embedded in the input,
+the \fI\*.ne\fR\^ requests may be inaccurate;
+use normal
+.I
+troff
+.R
+procedures, such as keep-release macros, in that case.
+The user who must have a multi-page boxed table
+should use macros designed for this purpose,
+as explained below under `Usage.'
+.sp .5v
+.IP "2)"
+F\s-2ORMAT\s0.
+The format section of the table specifies the layout
+of the columns.
+Each line in this section corresponds to one line
+of the table (except that the last line corresponds to all following
+lines up to the next \*.T&, if any\-see below),
+and each line contains a key-letter for each column
+of the table.
+It is good practice to separate the key letters for each
+column by spaces or tabs.
+Each key-letter is one of the following:
+.RS
+.cs B 24
+.IP "##\fBL\fR#or#\fBl\fR" 10
+to indicate a left-adjusted column entry;
+.IP "##\fBR\fR#or#\fBr\fR"
+to indicate a right-adjusted column entry;
+.IP "##\fBC\fR#or#\fBc\fR"
+to indicate a centered column entry;
+.IP "##\fBN\fR#or#\fBn\fR"
+to indicate a numerical column entry, to be aligned with other
+numerical entries so that the units digits of numbers line up;
+.IP "##\fBA\fR#or#\fBa\fR"
+to indicate an alphabetic subcolumn;
+all corresponding entries are aligned on the left, and positioned
+so that the widest is centered within the column (see
+example on page 13);
+.IP "##\fBS\fR#or#\fBs\fR"
+to indicate a spanned heading, i.e., to indicate that the
+entry from the previous column continues across this
+column
+(not allowed for the first column of the table, obviously); or
+.br
+.cs B
+.IP "##\fB\*^\fR"
+to indicate a vertically spanned heading, i.e., to indicate that
+the entry from the previous row continues down through this row
+(not allowed for the first row of the table, obviously).
+.RE
+.LP
+.ns
+.IP
+When numerical alignment is specified, a location for the decimal
+point is sought.
+The rightmost dot (\*.)
+adjacent to a digit is used as a decimal point; if there is no
+dot adjoining a digit, the rightmost digit is used as a units digit;
+if no alignment is indicated, the item is centered in the column.
+However, the special non-printing character string \e& may be used
+to override unconditionally dots
+and digits, or to align alphabetic data;
+this string lines up where a dot normally would,
+and then disappears from the final output.
+In the example below, the items shown at the left will be
+aligned (in a numerical column) as shown on the right:
+.KS
+.TS
+center;
+l6 n.
+13 13
+4\*.2 4\&\*.2
+26\*.4\*.12 26\*.4\&\*.12
+abc abc
+abc\e& abc\&
+43\e&3\*.22 43\&3\*.22
+749\*.12 749\&\*.12
+.TE
+.KE
+.IP
+\fBNote:\fR
+If numerical data are used in the same column with wider
+.B L
+or
+.B r
+type table entries, the widest \fInumber\fR is centered relative
+to the wider
+.B L
+or
+.B r
+items (\fBL\fR is used instead of \fBl\fR for readability;
+they have the same meaning as key-letters).
+Alignment within the numerical items is preserved.
+This is similar to the behavior of
+.B a
+type data, as explained above.
+However,
+alphabetic subcolumns (requested by the
+.B
+a
+.R
+key-letter)
+are always slightly indented relative to
+.B
+L
+.R
+items;
+if necessary, the column width is increased to force this.
+This is not true for \fBn\fR type entries.
+.IP "##\fBWarning:\fR#"
+The \fBn\fR and \fBa\fR items should not be used in
+the same column.
+.IP
+For readability, the key-letters describing each column should
+be separated by spaces.
+The end of the format section is indicated by a period.
+The layout of the key-letters in the format section resembles
+the layout of the actual data in the table.
+Thus a simple format might appear as:
+.br
+.ne 3
+.in +2
+.nf
+c s s
+l n n \*.
+.fi
+.in -2
+which specifies a table of three columns. The first line
+of the table contains a heading centered across all three
+columns; each remaining line contains a left-adjusted item
+in the first column followed by two columns of numerical
+data.
+A sample table in this format might be:
+.br
+.ne 6v
+.br
+.in +4
+.TS
+c s s
+l n n.
+Overall title
+Item-a 34.22 9.1
+Item-b 12.65 .02
+Items: c,d,e 23 5.8
+Total 69.87 14.92
+.TE
+.in -4
+There are some additional features of the key-letter system:
+.RS
+.IP "##\fIHorizontal lines\fR#"
+\- A key-letter may be replaced by `\(ul'
+(underscore) to indicate
+a horizontal line in place of the corresponding column entry,
+or by `=' to indicate a double horizontal line.
+If an adjacent column contains a horizontal line, or if
+there are vertical lines adjoining this column,
+this horizontal line is extended to meet the nearby lines.
+If any data entry is provided for this column, it is ignored and
+a warning message is printed.
+.QQ do the D(x) and M(x) to draw a line of 'x' characters.
+.QQ D will draw divided lines, M merged lines. thus - is simple M(\(ru)
+.IP "##\fIVertical lines\fR#"
+\- A vertical bar may be placed between column key-letters.
+This will
+cause a vertical line between the corresponding columns of the table.
+A vertical bar to the left of the first key-letter
+or to the right of the last one produces a line at the
+edge of the table.
+If two vertical bars appear between key-letters, a double vertical
+line is drawn.
+.IP "##\fISpace between columns\fR#"
+\- A number may follow the key-letter.
+This indicates the amount of separation
+between this column and the next column.
+The number normally specifies the separation in
+.I
+ens
+.R
+(one
+en
+.ne 3
+is about the width of the letter `n').*\
+.FS
+* More precisely, an en is a number of points (1 point = 1/72 inch)
+equal to half the current type size.
+.FE
+If the \fIexpand\fR option is used, then these numbers are multiplied
+by a constant such that the table is as wide as the current line length.
+The default column separation number is 3.
+If the separation is changed the worst case (largest space requested) governs.
+.IP "##\fIVertical spanning\fR#"
+\- Normally, vertically spanned items extending over several
+rows of the table are centered in their vertical range.
+If a key-letter is followed by
+.B
+t
+.R
+or
+.B T ,
+any corresponding vertically spanned item
+will begin at the top line of its range.
+.IP "##\fIFont changes\fR#"
+\- A key-letter may be followed by a string containing a font
+name or number
+preceded by the letter
+.B f
+or
+.B F .
+This indicates that the corresponding column should be in a different
+font from the default font (usually Roman).
+All font names are one or two letters; a one-letter font
+name should be separated from whatever follows by a space or tab.
+The single letters
+\f3B\f1, \f3b\f1, \f3I\f1,
+and
+\f3i\f1
+are shorter synonyms for
+.B f\^B
+and
+.B f\^I .
+Font-change requests given with the table entries
+override these specifications.
+.IP "##\fIPoint size changes\fR#"
+\- A key-letter may be followed by the letter
+.B p
+or
+.B P
+and a number to indicate the point size of the corresponding table entries.
+The number may be a signed digit, in which case it is taken as
+an increment or decrement
+from the current point size.
+If both a point size and a column separation value are given,
+one or more blanks must separate them.
+.IP "##\fIVertical spacing changes\fR#"
+\- A key-letter may be followed by the letter
+.B v
+or
+.B V
+and a number to indicate the vertical line spacing to be used
+within a multi-line corresponding table entry.
+The number may be a signed digit, in which case it is taken as an increment
+or decrement from the current vertical spacing.
+A column separation value must be separated by blanks or some other
+specification from a vertical spacing request.
+This request has no effect unless the corresponding table entry
+is a text block (see below).
+.IP "##\fIColumn width indication\fR#"
+\- A key-letter may be followed by the letter
+.B w
+or
+.B W
+and a width value in parentheses.
+This width is used as a minimum column width.
+If the largest element in the column is not as wide as the width value
+given after the \fBw\fR, the largest element is assumed to be that wide.
+If the largest element in the column is wider than the specified value,
+its width is used.
+The width is also used as a default line
+length for included text blocks.
+Normal
+.I
+troff
+.R
+units can be used to scale the width value; if none are used,
+the default is
+ens.
+If the width specification is a unitless integer
+the parentheses may be omitted.
+If the width value is changed in a column, the \fIlast\fR one given controls.
+.IP "##\fIEqual-width columns\fR#"
+\- A key-letter may be followed by the letter
+.B e
+or
+.B E
+to indicate equal-width columns.
+All columns whose
+key-letters are followed by \fBe\fR or \fBE\fR are made the same width.
+This permits the user to get a group of regularly spaced
+columns.
+.IP "##\fIStaggered columns\fR#"
+\- A key-letter may be followed by the letter
+.B u
+or
+.B U
+to indicate that the corresponding entry is to be moved up one-half line.
+This makes it easy, for example, to have a column of differences
+between numbers in an adjoining column.
+The \fIallbox\fR option does not work with staggered columns.
+.IP "##\fIZero-width item\fR#"
+\- A key-letter may be followed by the letter
+.B z
+or
+.B Z
+to indicate that the corresponding
+data item is to be ignored in calculating column widths.
+This may be useful, for example, in allowing headings
+to run across adjacent columns where spanned headings
+would be inappropriate.
+.IP "##\fBNote:\fR#"
+The order of the above features is immaterial; they need not be separated
+by spaces, except as indicated above to avoid ambiguities involving
+point size and font changes.
+Thus
+a numerical column entry in italic font and 12-point type with a minimum
+width of 2.5 inches and separated by 6 ens from the next column could
+be specified as
+.in +5
+np12w(2\*.5i)f\|I 6
+.in -5
+.IP "##\fIAlternative notation\fR#"
+\- Instead of listing the format of successive lines of a table
+on consecutive lines of the format section,
+successive line formats may be given on the same line, separated
+by commas, so that the format for the example
+above might have been written:
+.in +5
+.ss 18
+c s s \fB,\fR l n n \*.
+.in -5
+.ss 12
+.IP "##\fIDefault\fR#"
+\- Column descriptors missing from the end
+of a format line are assumed to be \fBL\fR.
+The longest line in the format section, however,
+defines the number of columns
+in the table;
+extra columns in the data are ignored silently.
+.QQ put in the diagnostics.
+.RE
+.sp .5v
+.IP "3)"
+D\s-2ATA\s0.
+The data for the table are typed after the format.
+Normally, each table line is typed as one line of data.
+Very long input lines can be broken: any line whose last character is
+\e is combined with the following line (and the \e vanishes).
+The data for different columns (the table entries) are separated by tabs,
+or by whatever character has been specified in the option
+.I tabs
+option.
+There are a few special cases:
+.RS
+.IP "##\fITroff requests within tables\fR#"
+\- An input line
+beginning with a `\*.' followed by anything
+but a number is assumed to be a request to
+.I
+troff
+.R
+and is passed through unchanged, retaining its position in the table.
+So, for example, space within a table may be produced by ``\*.sp''
+requests
+in the data.
+.IP "##\fIFull width horizontal lines\fR#"
+\- An input
+.I line
+containing only the character $fat "\(ul" $ (underscore)
+or \fB=\fR (equal sign) is taken to be a single or double
+line, respectively, extending the
+full width
+of the
+.I table.
+.IP "##\fISingle column horizontal lines\fR#"
+\- An input table
+.I entry
+containing only the character $fat "\(ul" $ or \fB=\fR
+is taken to be a single or double line extending
+the full width of the
+.I column.
+Such lines are extended to meet horizontal or vertical
+lines adjoining this column.
+To obtain these characters explicitly in a column, either
+precede them by \e& or
+follow them by a space before the usual tab or new-line.
+.IP "##\fIShort horizontal lines\fR#"
+\- An input table
+.I entry
+containing only the string \e\^\(ul
+is taken to be a single line as wide as the contents of
+the column.
+It is not extended to meet
+adjoining lines.
+.IP "##\fIRepeated characters\fR#"
+\- An input table
+.I entry
+containing only a string of the form $fat "\e"$\f3R\f2x\f1
+where
+.I x
+is any character is replaced by repetitions of the character
+.I x
+as wide as the data in the column.
+The sequence of
+.I x 's
+is not extended to meet adjoining columns.
+.IP "##\fIVertically spanned items\fR#"
+\- An input table entry containing only the
+character string
+\e\*^
+indicates that the table entry immediately
+above spans downward over this row.
+It is equivalent
+to a table format key-letter of `\*^'.
+.IP "##\fIText blocks\fR#"
+\- In order to include a block of text as a table entry,
+precede it by $fat roman "T{" $ and follow
+it by $fat roman "T}" $.
+Thus the sequence
+.in +2
+.nf
+ \*.\|\*.\|\*. $fat roman "T{"$
+.I
+ block of
+ text
+.R
+ $fat roman "T}"$ \*.\|\*.\|\*.
+.in -2
+.fi
+is the way to enter, as a single entry in the table, something
+that cannot conveniently be typed as a simple string between
+tabs.
+Note that the $fat roman "T}" $ end delimiter must begin a line;
+additional columns of data may follow after a tab on the same line.
+See the example on page 11 for an illustration of included text blocks
+.e1 aa 11
+in a table.
+If more than thirty or so text blocks are used in a table,
+various limits in the
+.I
+troff
+.R
+program are likely to be exceeded,
+producing diagnostics such as `too many string/macro names' or `too many
+number registers.'
+.IP
+Text blocks are pulled out from the table, processed separately by
+.I
+troff,
+.R
+and replaced in the table as a solid block.
+If no line length
+is specified in the
+.I
+block of text
+.R
+itself, or in the table format,
+the default is to use
+$ L times C / (N+1) $
+where
+.I
+L
+.R
+is the current line length,
+.I
+C
+.R
+is the number of table columns spanned by the text,
+and
+.I
+N
+.R
+is the total number of columns in the table.
+The other parameters (point size, font, etc.) used in setting the
+.I
+block of text
+.R
+are those in effect at the beginning of the table (including
+the effect of the ``\*.TS'' macro)
+and any table format specifications of size, spacing, and font,
+using the \fBp\fR, \fBv\fR and \fBf\fR modifiers to the column key-letters.
+Requests within the text block itself are also recognized, of course.
+However,
+.I troff
+requests within the table data but not within the text block
+do not affect that block.
+.br
+.di RR
+. this is going down a rat-hole
+.EQ
+delim off
+.EN
+.di
+.rm RR
+.IP "##\fBWarnings:\fR#"
+Although any number of lines may be present in a table,
+only the first 200 lines are used in
+setting up the table;
+a multi-page table,
+of course, may be arranged as several single-page tables
+if this proves to be a problem.
+Other difficulties with formatting may arise because,
+in the calculation of column widths all table entries
+are assumed to be in the font and size being used when
+the ``\*.TS'' command was encountered, except for font and size changes
+indicated (a) in the table format section and (b)
+within the table data (as in the entry
+\fB\es+3\efIData\efP\es0\fR).
+Therefore, although arbitrary
+.I
+troff
+.R
+requests may be sprinkled in a table, care must be taken
+to avoid confusing the width calculations;
+use requests such as `\*.ps' with care.
+.sp .5v
+.RE
+.IP "4)"
+A\s-2DDITIONAL COMMAND LINES\s0.
+If the format of a table must be changed after
+many similar lines, as with sub-headings or summarizations, the ``\*.T&''
+(table continue)
+command can be used
+to change column parameters.
+The outline of such a table input is:
+.DS
+.ft R
+\&\*.TS
+.ft I
+\&options \fB;\fP
+\&format \*.
+\&data
+\&\*.\|\*.\|\*.
+.ft R
+\&\*.T&
+.ft I
+\&format \*.
+\&data
+.ft R
+\&\*.T&
+.ft I
+\&format \*.
+\&data
+.ft R
+\&\*.TE
+.DE
+as in the examples on pages 10 and 13.
+.e1 ab 10
+.e1 ac 13
+Using this procedure, each table line can be close to its corresponding format line.
+.IP "##\fBWarning:\fR#"
+It is not possible to change the number of columns, the space
+between columns, the global options such as \fIbox,\fR
+or the selection of columns to be made equal-width.
+Furthermore,
+``\*.T&'' is not recognized after the first 200 lines of a table.
+.tr ##
+.SH
+USAGE
+.PP
+On
+\s-1UNIX\s+1,
+.I
+tbl
+.R
+can be run on a simple table with the command
+.DS
+.lg 0
+\!.lg 0
+tbl \|input-file \|\(bv \|troff
+.lg 0
+\!.lg 0
+.DE
+but
+for more complicated use, where there are several input files,
+and they contain equations and \fIms\fR (or \fImm\fR) macro requests as well
+as tables, the normal command would be
+.DS
+.lg 0
+\!.lg 0
+tbl \|file-1 \|file-2 \|\*.\|\*.\|\*. \|\(bv \|eqn \|\(bv \|troff \|\-ms\h'.5i'(or \|\-mm)
+.lg 0
+\!.lg 0
+.DE
+and, of course, the usual options may be used on the
+.I
+troff
+.R
+and
+.I
+eqn
+.R
+commands.
+The usage for
+.I
+nroff
+.R
+is similar
+to that for
+.I
+troff,
+.R
+but only
+\fI\s-1TELETYPE\s+1\^\fR\(rg Model 37 and
+Diablo-mechanism (\s-1DASI\s+1 or \s-1GSI\s+1)
+terminals can print boxed tables directly.
+If a file name is ``\fB\-\fR'',
+the standard input is read at that point.
+.PP
+For the convenience of users employing line printers without
+adequate driving tables or post-filters, there is a special
+.I \-TX
+command-line option to
+.I tbl
+which produces output that does not have fractional line
+motions in it.
+The only other command-line options recognized by
+.I tbl
+are
+.I \-ms
+and
+.I \-mm
+which are turned into
+commands to fetch the corresponding macro files;
+usually it is more convenient to place these arguments
+on the
+.I troff
+part of the command line,
+but they are accepted by
+.I tbl
+as well.
+.PP
+Note that when
+.I
+eqn
+.R
+and
+.I
+tbl
+.R
+are used together on the same file
+.I
+tbl
+.R
+should be used first.
+If there are no equations within tables,
+either order works, but it is usually faster
+to run
+.I
+tbl
+.R
+first, since
+.I
+eqn
+.R
+normally produces a larger expansion of the input
+than
+.I
+tbl.
+.R
+However, if there are equations within tables
+(using the
+.I
+delim
+.R
+mechanism in
+.I
+eqn\fR),
+.I
+tbl
+.R
+must be first or the output will be scrambled.
+Users must also beware of using equations in
+\fBn\fR-style columns; this is nearly always wrong,
+since
+.I
+tbl
+.R
+attempts to split numerical format items into two parts and this
+is not possible with equations.
+The user can defend against this by giving the
+.I delim(xx)
+table option;
+this prevents splitting of numerical columns within the delimiters.
+For example, if the
+.I eqn
+delimiters
+are
+.B $$ ,
+giving
+.B delim($$)
+causes
+a numerical column such as
+\fB1245\ $+\-\ 16$\fR
+to be divided after 1245, not after 16.
+.PP
+.I Tbl
+accepts up to about 35 columns, but the actual number
+that can be processed
+may be smaller, depending on availability of
+.I troff
+number registers.
+The user must avoid number register names used
+by
+.I tbl,
+which include two-digit numbers from 31 to 99
+and strings of the form
+\fB4\fIx\fR, \fB5\fIx\fR,
+\fB#\fIx\fR, \fIx\fB+\fR, \fIx\fR\(bv, \*^\fIx\fR, and \fIx\fB\-\fR,
+where
+\fIx\fR is any lower-case letter.
+The names
+\fB##\fR, \fB#\-\fR, and \fB#\fR\*^ are also used in certain circumstances.
+To conserve register names, the
+\fBn\fR
+and
+\fBa\fR
+formats share a register;
+hence the restriction above that they may not be used in the same column.
+.PP
+For aid in writing layout macros,
+.I
+tbl
+.R
+defines a number register TW which is
+the table width; it is defined by the time that the ``\*.TE'' macro
+is invoked and may be used in the expansion of that macro.
+More importantly, to assist in laying out multi-page boxed tables
+the macro T# is defined to produce the bottom lines and side lines of a boxed
+table, and then invoked at its end.
+By use of this macro
+in the page footer a multi-page table can be boxed.
+In particular, the
+.I ms
+and
+.I mm
+macros can be used to print a multi-page boxed table with a repeated heading
+by giving the
+argument H to the ``\*.TS'' macro.
+If the table start macro is written
+.br
+ \&\*.TS H
+.br
+a line of the form
+.br
+ \&\*.TH
+.br
+must be given in the table after any table heading (or at the start if none).
+Material up to the ``\*.TH'' is placed at the top of each page of table;
+the remaining lines in the table are placed on several pages as required.
+Note that this is
+.I
+not
+.R
+a feature of
+.I
+tbl,
+.R
+but of the \fIms\fR and \fImm\fR macros.
+.SH
+EXAMPLES
+.PP
+Here are some examples illustrating features of
+.I
+tbl.
+.R
+.ds T \|\h'.4n'\v'-.2n'\s6\zT\s0\s10\v'.2n'\h'-.4n'\(ci\|\s0
+The symbol \*T in the input represents a tab character.
+.de IN
+.po \\n(POu
+.sp |\\n(.hu
+.sp
+.ne \\$1
+.mk
+.B
+Input:
+.R
+.sp .5
+.nf
+.in +3n
+.lg 0
+..
+.de OU
+.br
+.lg
+.in -3n
+.rt
+.po +3i
+.B
+Output:
+.R
+.sp .5
+..
+.rm TS
+.rm TE
+.nf
+.IN 2.5i
+\&\*.TS
+\&box;
+\&c c c
+\&l l l\*.
+\&Language\*TAuthors\*TRuns on
+\&
+\&Fortran\*TMany\*TAlmost anything
+\&PL/1\*TIBM\*T360/370
+\&C\*TBTL\*T11/45,H6000,370
+\&BLISS\*TCarnegie-Mellon\*TPDP-10,11
+\&IDS\*THoneywell\*TH6000
+\&Pascal\*TStanford\*T370
+\&\*.TE
+.OU
+.TS
+box;
+c c c
+l l l.
+Language Authors Runs on
+
+Fortran Many Almost anything
+PL/1 IBM 360/370
+C BTL 11/45,H6000,370
+BLISS Carnegie-Mellon PDP-10,11
+IDS Honeywell H6000
+Pascal Stanford 370
+.TE
+.IN 2.8i
+\&\*.TS
+\&allbox;
+\&c s s
+\&c c c
+\&n n n\*.
+\&AT&T Common Stock
+\&Year\*TPrice\*TDividend
+\&1971\*T41-54\*T$2\*.60
+\&2\*T41-54\*T2\*.70
+\&3\*T46-55\*T2\*.87
+\&4\*T40-53\*T3\*.24
+\&5\*T45-52\*T3\*.40
+\&6\*T51-59\*T\*.95*
+\&\*.TE
+\&* (first quarter only)
+.OU
+.TS
+allbox;
+c s s
+c c c
+n n n.
+AT&T Common Stock
+Year Price Dividend
+1971 41-54 $2.60
+2 41-54 2.70
+3 46-55 2.87
+4 40-53 3.24
+5 45-52 3.40
+6 51-59 .95*
+.TE
+* (first quarter only)
+.IN 4i
+\&\*.TS
+\&box;
+\&c s s
+\&c | c | c
+\&l | l | n\*.
+\&Major New York Bridges
+\&=
+\&Bridge\*TDesigner\*TLength
+\&\(ul
+\&Brooklyn\*TJ\*. A\*. Roebling\*T1595
+\&Manhattan\*TG\*. Lindenthal\*T1470
+\&Williamsburg\*TL\*. L\*. Buck\*T1600
+\&\(ul
+\&Queensborough\*TPalmer &\*T1182
+\&\*T Hornbostel
+\&\(ul
+\&\*T\*T1380
+\&Triborough\*TO\*. H\*. Ammann\*T\(ul
+\&\*T\*T383
+\&\(ul
+\&Bronx Whitestone\*TO\*. H\*. Ammann\*T2300
+\&Throgs Neck\*TO\*. H\*. Ammann\*T1800
+\&\(ul
+\&George Washington\*TO\*. H\*. Ammann\*T3500
+\&\*.TE
+.OU
+.TS
+box;
+c s s
+c | c | c
+l | l | n.
+Major New York Bridges
+=
+Bridge Designer Length
+_
+Brooklyn J. A. Roebling 1595
+Manhattan G. Lindenthal 1470
+Williamsburg L. L. Buck 1600
+_
+Queensborough Palmer & 1182
+ Hornbostel
+_
+ 1380
+Triborough O. H. Ammann _
+ 383
+_
+Bronx Whitestone O. H. Ammann 2300
+Throgs Neck O. H. Ammann 1800
+_
+George Washington O. H. Ammann 3500
+.TE
+.IN 3.0i
+\&\*.TS
+\&c c
+\&np-2 | n | \*.
+\&\*TStack
+\&\*T\(ul
+\&1\*T46
+\&\*T\(ul
+\&2\*T23
+\&\*T\(ul
+\&3\*T15
+\&\*T\(ul
+\&4\*T6\*.5
+\&\*T\(ul
+\&5\*T2\*.1
+\&\*T\(ul
+\&\*.TE
+.OU
+.TS
+c c
+np-2 | n |.
+ Stack
+ _
+1 46
+ _
+2 23
+ _
+3 15
+ _
+4 6.5
+ _
+5 2.1
+ _
+.TE
+.IN 2.5i
+\&\*.TS
+\&box;
+\&L L L
+\&L L \(ul
+\&L L | LB
+\&L L \(ul
+\&L L L\*.
+\&january\*Tfebruary\*Tmarch
+\&april\*Tmay
+\&june\*Tjuly\*TMonths
+\&august\*Tseptember
+\&october\*Tnovember\*Tdecember
+\&\*.TE
+.OU
+.TS
+box;
+L L L
+L L _
+L L | LB
+L L _
+L L L.
+january february march
+april may
+june july Months
+august september
+october november december
+.TE
+.IN 5.0i
+.e2 ab
+\&\*.TS
+\&box;
+\&cfB s s s\*.
+\&Composition of Foods
+\&\(ul
+\&\*.T&
+\&c | c s s
+\&c | c s s
+\&c | c | c | c\*.
+\&Food\*TPercent by Weight
+\&\e\*^\*T\(ul
+\&\e\*^\*TProtein\*TFat\*TCarbo-
+\&\e\*^\*T\e\*^\*T\e\*^\*Thydrate
+\&\(ul
+\&\*.T&
+\&l | n | n | n\*.
+\&Apples\*T\*.4\*T\*.5\*T13\*.0
+\&Halibut\*T18\*.4\*T5\*.2\*T\*.\|\*.\|\*.
+\&Lima beans\*T7\*.5\*T\*.8\*T22\*.0
+\&Milk\*T3\*.3\*T4\*.0\*T5\*.0
+\&Mushrooms\*T3\*.5\*T\*.4\*T6\*.0
+\&Rye bread\*T9\*.0\*T\*.6\*T52\*.7
+\&\*.TE
+.OU
+.TS
+box;
+cfB s s s.
+Composition of Foods
+_
+.T&
+c |c s s
+c |c s s
+c |c |c |c.
+Food Percent by Weight
+\^ _
+\^ Protein Fat Carbo-
+\^ \^ \^ hydrate
+_
+.T&
+l |n |n |n.
+Apples .4 .5 13.0
+Halibut 18.4 5.2 ...
+Lima beans 7.5 .8 22.0
+Milk 3.3 4.0 5.0
+Mushrooms 3.5 .4 6.0
+Rye bread 9.0 .6 52.7
+.TE
+.IN 3.7i
+.e2 aa
+\&\*.TS
+\&allbox;
+\&cfI s s
+\&c cw(1i) cw(1i)
+\&lp9 lp9 lp9 \*.
+\&New York Area Rocks
+\&Era\*TFormation\*TAge (years)
+\&Precambrian\*TReading Prong\*T>1 billion
+\&Paleozoic\*TManhattan Prong\*T400 million
+\&Mesozoic\*TT{
+\&\*.na
+\&Newark Basin, incl\*.
+\&Stockton, Lockatong, and Brunswick
+\&formations; also Watchungs
+\&and Palisades\*.
+\&\*.ad
+\&T}\*T200 million
+\&Cenozoic\*TCoastal Plain\*TT{
+\&\*.na
+\&On Long Island 30,000 years;
+\&Cretaceous sediments redeposited
+\&by recent glaciation\*.
+\&\*.ad
+\&T}
+\&\*.TE
+.OU
+.fi
+.TS
+allbox;
+cfI s s
+c cw(1i) cw(1i)
+lp9 lp9 lp9 .
+New York Area Rocks
+Era Formation Age (years)
+Precambrian Reading Prong >1 billion
+Paleozoic Manhattan Prong 400 million
+Mesozoic T{
+.na
+Newark Basin, incl.
+Stockton, Lockatong, and Brunswick
+formations; also Watchungs
+and Palisades.
+.ad
+T} 200 million
+Cenozoic Coastal Plain T{
+.na
+On Long Island 30,000 years;
+Cretaceous sediments redeposited
+by recent glaciation.
+.ad
+T}
+.TE
+.IN 2i
+\&\*.EQ
+\&delim $$
+\&\*.EN
+.sp
+\&\*.\|\*.\|\*.
+.sp
+\&\*.TS
+\&doublebox;
+\&c c
+\&l l\*.
+\&Name\*TDefinition
+\&\*.sp
+\&\*.vs +2p
+\&Gamma\*T$GAMMA (z) = int sub 0 sup inf t sup {z-1} e sup -t dt$
+\&Sine\*T$sin (x) = 1 over 2i ( e sup ix - e sup -ix )$
+\&Error\*T$ roman erf (z) = 2 over sqrt pi int sub 0 sup z e sup {-t sup 2} dt$
+\&Bessel\*T$ J sub 0 (z) = 1 over pi int sub 0 sup pi cos ( z sin theta ) d theta $
+\&Zeta\*T$ zeta (s) = sum from k=1 to inf k sup -s ~~( Re~s > 1)$
+\&\*.vs -2p
+\&\*.sp 2p
+\&\*.TE
+.di qq
+.EQ
+delim $$
+.EN
+.di
+.rm qq
+.rs
+.OU
+.TS
+doublebox;
+c c
+l l.
+Name Definition
+.sp
+.vs +2p
+Gamma $GAMMA (z) = int sub 0 sup inf t sup {z-1} e sup -t dt$
+Sine $sin (x) = 1 over 2i ( e sup ix - e sup -ix )$
+Error $ roman erf (z) = 2 over sqrt pi int sub 0 sup z e sup {-t sup 2} dt$
+Bessel $ J sub 0 (z) = 1 over pi int sub 0 sup pi cos ( z sin theta ) d theta $
+Zeta $ zeta (s) = sum from k=1 to inf k sup -s ~~( Re~s > 1)$
+.vs -2p
+.sp 2p
+.TE
+.ds : \|:\|
+.IN 2i
+\&\*.TS
+\&box, tab(\*:);
+\&cb s s s s
+\&cp-2 s s s s
+\&c |\|| c | c | c | c
+\&c |\|| c | c | c | c
+\&r2 |\|| n2 | n2 | n2 | n\*.
+\&Readability of Text
+\&Line Width and Leading for 10-Point Type
+\&=
+\&Line\*:Set\*:1-Point\*:2-Point\*:4-Point
+\&Width\*:Solid\*:Leading\*:Leading\*:Leading
+\&_
+\&9 Pica\*:\e\-9\*.3\*:\e\-6\*.0\*:\e\-5\*.3\*:\e\-7\*.1
+\&14 Pica\*:\e\-4\*.5\*:\e\-0\*.6\*:\e\-0\*.3\*:\e\-1\*.7
+\&19 Pica\*:\e\-5\*.0\*:\e\-5\*.1\*: 0\*.0\*:\e\-2\*.0
+\&31 Pica\*:\e\-3\*.7\*:\e\-3\*.8\*:\e\-2\*.4\*:\e\-3\*.6
+\&43 Pica\*:\e\-9\*.1\*:\e\-9\*.0\*:\e\-5\*.9\*:\e\-8\*.8
+\&\*.TE
+.OU
+.TS
+box, tab(:);
+cb s s s s
+cp-2 s s s s
+c ||c |c |c |c
+c ||c |c |c |c
+r2 ||n2 |n2 |n2 |n.
+Readability of Text
+Line Width and Leading for 10-Point Type
+=
+Line:Set:1-Point:2-Point:4-Point
+Width:Solid:Leading:Leading:Leading
+_
+9 Pica:\-9.3:\-6.0:\-5.3:\-7.1
+14 Pica:\-4.5:\-0.6:\-0.3:\-1.7
+19 Pica:\-5.0:\-5.1: 0.0:\-2.0
+31 Pica:\-3.7:\-3.8:\-2.4:\-3.6
+43 Pica:\-9.1:\-9.0:\-5.9:\-8.8
+.TE
+.IN 7i
+.e2 ac
+\&\*.TS
+\&c s
+\&cip-2 s
+\&l n
+\&a n\*.
+\&Some London Transport Statistics
+\&(Year 1964)
+\&Railway route miles\*T244
+\&Tube\*T66
+\&Sub-surface\*T22
+\&Surface\*T156
+\&\*.sp \*.5
+\&\*.T&
+\&l r
+\&a r\*.
+\&Passenger traffic \e\- railway
+\&Journeys\*T674 million
+\&Average length\*T4\*.55 miles
+\&Passenger miles\*T3,066 million
+\&\*.T&
+\&l r
+\&a r\*.
+\&Passenger traffic \e\- road
+\&Journeys\*T2,252 million
+\&Average length\*T2\*.26 miles
+\&Passenger miles\*T5,094 million
+\&\*.T&
+\&l n
+\&a n\*.
+\&\*.sp \*.5
+\&Vehicles\*T12,521
+\&Railway motor cars\*T2,905
+\&Railway trailer cars\*T1,269
+\&Total railway\*T4,174
+\&Omnibuses\*T8,347
+\&\*.T&
+\&l n
+\&a n\*.
+\&\*.sp \*.5
+\&Staff\*T73,739
+\&Administrative, etc\*.\*T5,582
+\&Civil engineering\*T5,134
+\&Electrical eng\*.\*T1,714
+\&Mech\*. eng\*. \e\- railway\*T4,310
+\&Mech\*. eng\*. \e\- road\*T9,152
+\&Railway operations\*T8,930
+\&Road operations\*T35,946
+\&Other\*T2,971
+\&\*.TE
+.OU
+.TS
+c s
+cip-2 s
+l n
+a n.
+Some London Transport Statistics
+(Year 1964)
+Railway route miles 244
+Tube 66
+Sub-surface 22
+Surface 156
+.sp .5
+.T&
+l r
+a r.
+Passenger traffic \(mi railway
+Journeys 674 million
+Average length 4.55 miles
+Passenger miles 3,066 million
+.T&
+l r
+a r.
+Passenger traffic \(mi road
+Journeys 2,252 million
+Average length 2.26 miles
+Passenger miles 5,094 million
+.T&
+l n
+a n.
+.sp .5
+Vehicles 12,521
+Railway motor cars 2,905
+Railway trailer cars 1,269
+Total railway 4,174
+Omnibuses 8,347
+.T&
+l n
+a n.
+.sp .5
+Staff 73,739
+Administrative, etc. 5,582
+Civil engineering 5,134
+Electrical eng. 1,714
+Mech. eng. \(mi railway 4,310
+Mech. eng. \(mi road 9,152
+Railway operations 8,930
+Road operations 35,946
+Other 2,971
+.TE
+.po \n(POu
+.sp |\n(.hu
+.de IN
+.sp
+.ne 1i
+.B
+Input:
+.R
+.sp .5
+.in +3n
+.nf
+.lg 0
+..
+.de OU
+.sp
+.lg
+.in -3n
+.ne 1i
+.B
+Output:
+.R
+.sp .5
+..
+.ns
+.EQ
+delim off
+.EN
+.IN
+\&\*.ps 8
+\&\*.vs 10p
+\&\*.TS
+center box;
+\&c s s
+\&ci s s
+\&c c c
+\&lB l n\*.
+\&New Jersey Representatives
+\&(Democrats)
+\&\*.sp \*.5
+\&Name\*TOffice address\*TPhone
+\&\*.sp \*.5
+\&James J\*. Florio\*T23 S\*. White Horse Pike, Somerdale 08083\*T609-627-8222
+\&William J\*. Hughes\*T2920 Atlantic Ave\*., Atlantic City 08401\*T609-345-4844
+\&James J\*. Howard\*T801 Bangs Ave\*., Asbury Park 07712\*T201-774-1600
+\&Frank Thompson, Jr\*.\*T10 Rutgers Pl\*., Trenton 08618\*T609-599-1619
+\&Andrew Maguire\*T115 W\*. Passaic St\*., Rochelle Park 07662\*T201-843-0240
+\&Robert A\*. Roe\*TU\*.S\*.P\*.O\*., 194 Ward St\*., Paterson 07510\*T201-523-5152
+\&Henry Helstoski\*T666 Paterson Ave\*., East Rutherford 07073\*T201-939-9090
+\&Peter W\*. Rodino, Jr\*.\*TSuite 1435A, 970 Broad St\*., Newark 07102\*T201-645-3213
+\&Joseph G\*. Minish\*T308 Main St\*., Orange 07050\*T201-645-6363
+\&Helen S\*. Meyner\*T32 Bridge St\*., Lambertville 08530\*T609-397-1830
+\&Dominick V\*. Daniels\*T895 Bergen Ave\*., Jersey City 07306\*T201-659-7700
+\&Edward J\*. Patten\*TNatl\*. Bank Bldg\*., Perth Amboy 08861\*T201-826-4610
+\&\*.sp \*.5
+\&\*.T&
+\&ci s s
+\&lB l n\*.
+\&(Republicans)
+\&\*.sp \*.5v
+\&Millicent Fenwick\*T41 N\*. Bridge St\*., Somerville 08876\*T201-722-8200
+\&Edwin B\*. Forsythe\*T301 Mill St\*., Moorestown 08057\*T609-235-6622
+\&Matthew J\*. Rinaldo\*T1961 Morris Ave\*., Union 07083\*T201-687-4235
+\&\*.TE
+\&\*.ps 10
+\&\*.vs 12p
+.ne 3.2i
+.OU
+.ps 8
+.vs 10p
+.TS
+center box;
+c s s
+ci s s
+c c c
+lB l n.
+New Jersey Representatives
+(Democrats)
+.sp .5
+Name Office address Phone
+.sp .5
+James J. Florio 23 S. White Horse Pike, Somerdale 08083 609-627-8222
+William J. Hughes 2920 Atlantic Ave., Atlantic City 08401 609-345-4844
+James J. Howard 801 Bangs Ave., Asbury Park 07712 201-774-1600
+Frank Thompson, Jr. 10 Rutgers Pl., Trenton 08618 609-599-1619
+Andrew Maguire 115 W. Passaic St., Rochelle Park 07662 201-843-0240
+Robert A. Roe U.S.P.O., 194 Ward St., Paterson 07510 201-523-5152
+Henry Helstoski 666 Paterson Ave., East Rutherford 07073 201-939-9090
+Peter W. Rodino, Jr. Suite 1435A, 970 Broad St., Newark 07102 201-645-3213
+Joseph G. Minish 308 Main St., Orange 07050 201-645-6363
+Helen S. Meyner 32 Bridge St., Lambertville 08530 609-397-1830
+Dominick V. Daniels 895 Bergen Ave., Jersey City 07306 201-659-7700
+Edward J. Patten Natl. Bank Bldg., Perth Amboy 08861 201-826-4610
+.sp .5
+.T&
+ci s s
+lB l n.
+(Republicans)
+.sp .5v
+Millicent Fenwick 41 N. Bridge St., Somerville 08876 201-722-8200
+Edwin B. Forsythe 301 Mill St., Moorestown 08057 609-235-6622
+Matthew J. Rinaldo 1961 Morris Ave., Union 07083 201-687-4235
+.TE
+.ps 10
+.vs 12p
+.sp
+.fi
+This is a paragraph of normal text placed here only to indicate where
+the left and right margins are.
+In this way the reader can judge
+the appearance of centered tables or expanded tables, and observe
+how such tables are formatted.
+.IN
+\&\*.TS
+\&expand;
+\&c s s s
+\&c c c c
+\&l l n n\*.
+\&Bell Labs Locations
+\&Name\*TAddress\*TArea Code\*TPhone
+\&Holmdel\*THolmdel, N\*. J\*. 07733\*T201\*T949-3000
+\&Murray Hill\*TMurray Hill, N\*. J\*. 07974\*T201\*T582-6377
+\&Whippany\*TWhippany, N\*. J\*. 07981\*T201\*T386-3000
+\&Indian Hill\*TNaperville, Illinois 60540\*T312\*T690-2000
+\&\*.TE
+.ne 1.3i
+.OU
+.TS
+expand;
+c s s s
+c c c c
+l l n n.
+Bell Labs Locations
+Name Address Area Code Phone
+Holmdel Holmdel, N. J. 07733 201 949-3000
+Murray Hill Murray Hill, N. J. 07974 201 582-6377
+Whippany Whippany, N. J. 07981 201 386-3000
+Indian Hill Naperville, Illinois 60540 312 690-2000
+.TE
+.br
+.ps 8
+.vs 9p
+.ne 5i
+.IN
+\&\*.TS
+\&box;
+\&cb s s s
+\&c | c | c s
+\&ltiw(1i) | ltw(2i) | lp8 | lw(1\*.6i)p8\*.
+\&Some Interesting Places
+\&_
+\&Name\*TDescription\*TPractical Information
+\&_
+\&T{
+\&American Museum of Natural History
+\&T}\*TT{
+\&The collections fill 11\*.5 acres (Michelin) or 25 acres (MTA)
+\&of exhibition halls on four floors\*.
+\&There is a full-sized replica
+\&of a blue whale and the world's largest star sapphire (stolen in 1964)\*.
+\&T}\*THours\*T10-5, ex\*. Sun 11-5, Wed\*. to 9
+\&\e\*^\*T\e\*^\*TLocation\*TT{
+\&Central Park West & 79th St\*.
+\&T}
+\&\e\*^\*T\e\*^\*TAdmission\*TDonation: $1\*.00 asked
+\&\e\*^\*T\e\*^\*TSubway\*TAA to 81st St\*.
+\&\e\*^\*T\e\*^\*TTelephone\*T212-873-4225
+\&_
+\&Bronx Zoo\*TT{
+\&About a mile long and \*.6 mile wide, this is the largest zoo in America\*.
+\&A lion eats 18 pounds
+\&of meat a day while a sea lion eats 15 pounds of fish\*.
+\&T}\*THours\*TT{
+\&10-4:30 winter, to 5:00 summer
+\&T}
+\&\e\*^\*T\e\*^\*TLocation\*TT{
+\&185th St\*. & Southern Blvd, the Bronx\*.
+\&T}
+\&\e\*^\*T\e\*^\*TAdmission\*T$1\*.00, but Tu,We,Th free
+\&\e\*^\*T\e\*^\*TSubway\*T2, 5 to East Tremont Ave\*.
+\&\e\*^\*T\e\*^\*TTelephone\*T212-933-1759
+\&_
+\&Brooklyn Museum\*TT{
+\&Five floors of galleries contain American and ancient art\*.
+\&There are American period rooms and architectural ornaments saved
+\&from wreckers, such as a classical figure from Pennsylvania Station\*.
+\&T}\*THours\*TWed-Sat, 10-5, Sun 12-5
+\&\e\*^\*T\e\*^\*TLocation\*TT{
+\&Eastern Parkway & Washington Ave\*., Brooklyn\*.
+\&T}
+\&\e\*^\*T\e\*^\*TAdmission\*TFree
+\&\e\*^\*T\e\*^\*TSubway\*T2,3 to Eastern Parkway\*.
+\&\e\*^\*T\e\*^\*TTelephone\*T212-638-5000
+\&_
+\&T{
+\&New-York Historical Society
+\&T}\*TT{
+\&All the original paintings for Audubon's
+\&\*.I
+\&Birds of America
+\&\*.R
+\&are here, as are exhibits of American decorative arts, New York history,
+\&Hudson River school paintings, carriages, and glass paperweights\*.
+\&T}\*THours\*TT{
+\&Tues-Fri & Sun, 1-5; Sat 10-5
+\&T}
+\&\e\*^\*T\e\*^\*TLocation\*TT{
+\&Central Park West & 77th St\*.
+\&T}
+\&\e\*^\*T\e\*^\*TAdmission\*TFree
+\&\e\*^\*T\e\*^\*TSubway\*TAA to 81st St\*.
+\&\e\*^\*T\e\*^\*TTelephone\*T212-873-3400
+\&\*.TE
+.br
+.ps \n(PS
+.vs \n(VSp
+.OU
+.fi
+.rr 10 11 12 13 14 15 16 17 18 19 20 21 22 98 99
+.rr 60 61 62 63 64 65 66 67 68 69 70
+.rr 43 44 45 46 47 48 49 50 51 52 53
+.rr 83 84 85 86 87 88 89 90 91 92 93
+.rr #a
+.rr #b
+.rr #c
+.rr #d
+.rr #e
+.rr YY
+.rr OJ
+.rr P
+.rr AV CW GW DW FL KN SJ A1 A2 A3 I1 I2 I3
+.in 0
+.TS
+box;
+cb s s s
+c | c | c s
+ltiw(1i) | ltw(2i) | lp8| lw(1.6i)p8.
+Some Interesting Places
+_
+Name Description Practical Information
+_
+T{
+American Museum of Natural History
+T} T{
+The collections fill 11.5 acres (Michelin) or 25 acres (MTA)
+of exhibition halls on four floors.
+There is a full-sized replica
+of a blue whale and the world's largest star sapphire (stolen in 1964).
+T} Hours 10-5, ex. Sun 11-5, Wed. to 9
+\^ \^ Location T{
+Central Park West & 79th St.
+T}
+\^ \^ Admission Donation: $1.00 asked
+\^ \^ Subway AA to 81st St.
+\^ \^ Telephone 212-873-4225
+_
+Bronx Zoo T{
+About a mile long and .6 mile wide, this is the largest zoo in America.
+A lion eats 18 pounds
+of meat a day while a sea lion eats 15 pounds of fish.
+T} Hours T{
+10-4:30 winter, to 5:00 summer
+T}
+\^ \^ Location T{
+185th St. & Southern Blvd, the Bronx.
+T}
+\^ \^ Admission $1.00, but Tu,We,Th free
+\^ \^ Subway 2, 5 to East Tremont Ave.
+\^ \^ Telephone 212-933-1759
+_
+Brooklyn Museum T{
+Five floors of galleries contain American and ancient art.
+There are American period rooms and architectural ornaments saved
+from wreckers, such as a classical figure from Pennsylvania Station.
+T} Hours Wed-Sat, 10-5, Sun 12-5
+\^ \^ Location T{
+Eastern Parkway & Washington Ave., Brooklyn.
+T}
+\^ \^ Admission Free
+\^ \^ Subway 2,3 to Eastern Parkway.
+\^ \^ Telephone 212-638-5000
+_
+T{
+New-York Historical Society
+T} T{
+All the original paintings for Audubon's
+.I
+Birds of America
+.R
+are here, as are exhibits of American decorative arts, New York history,
+Hudson River school paintings, carriages, and glass paperweights.
+T} Hours T{
+Tues-Fri & Sun, 1-5; Sat 10-5
+T}
+\^ \^ Location T{
+Central Park West & 77th St.
+T}
+\^ \^ Admission Free
+\^ \^ Subway AA to 81st St.
+\^ \^ Telephone 212-873-3400
+.TE
+.rr 40
+.rr 41
+.rr 42
+.rr 43
+.rr 80
+.rr 81
+.rr 82
+.rr 83
+.rr 60
+.rr 61
+.rr 62
+.rr 63
+.rr #a
+.rr #b
+.rr #c
+.rr #d
+.rr #e
+.rr ##
+.ne 2i
+.fi
+.LP
+.SH
+ACKNOWLEDGEMENTS
+.PP
+Many thanks are due to J. C. Blinn, who has done a large amount
+of testing and assisted with the design of the program.
+He has also written many of the more intelligible sentences
+in this document and helped edit all of it.
+All phototypesetting programs on \s-1UNIX\s+1 are dependent on the work
+of the late J. F. Ossanna, whose assistance with this program in particular
+had been most helpful.
+This program is patterned on a table formatter
+written by J. F. Gimpel.
+The assistance of
+T. A. Dolotta, B. W. Kernighan, and J. N. Sturman
+is gratefully acknowledged.
+.ne 2i
+.SH
+REFERENCES
+.IP "[1]"
+J. F. Ossanna.
+.I
+N\s-1ROFF/TROFF\s+1 User's Manual,
+.R
+Bell Laboratories, 1976.
+.nr PD 0v
+.IP "[2]"
+D. M. Ritchie and K. Thompson.
+The U\s-1NIX\s+1 Time-Sharing System,
+\fI\s-1CACM\s+1\fR \fB17\fR(7):365-75 (July 1974).
+.IP "[3]"
+B. W. Kernighan and L. L. Cherry.
+A System for Typesetting Mathematics,
+\fI\s-1CACM\s+1\fR \fB18\fR(3):151-56 (Mar. 1975).
+.IP "[4]"
+M. E. Lesk.
+.I
+Typing Documents on U\s-1NIX\s+1,
+.R
+Bell Laboratories, 1976.
+.IP "[5]"
+M. E. Lesk and B. W. Kernighan.
+Computer Typesetting of Technical Journals on U\s-1NIX\s+1,
+\fIProc. AFIPS NCC,\fR vol. 46, pp. 879-88 (1977).
+.IP "[6]"
+D. W. Smith and J. R. Mashey.
+.I
+MM\-Memorandum Macros,
+.R
+Bell Laboratories, 1980.
+.sp 2v
+.SH
+.ce
+List of Tbl Command Characters and Words
+.sp
+.LP
+.EQ
+delim $$
+gfont roman
+.EN
+.TS
+center;
+cI cI cI
+aB lf1 nf1 .
+Command Meaning Section
+a A Alphabetic subcolumn 2
+allbox Draw box around all items 1
+b B Boldface item 2
+box Draw box around table 1
+c C Centered column 2
+center Center table in page 1
+delim \fR(\fIxy\^\fR) Define \fIeqn\fR delimiters 1
+doublebox Draw double box around table 1
+e E Equal-width columns 2
+expand Make table full line width 1
+f F Font change 2
+i I Italic item 2
+l L Left adjusted column 2
+linesize \fR(\fIn\^\fR) Set size for rules 1
+n N Numerical column 2
+\fInnn\fR Column separation 2
+p P Point size change 2
+r R Right adjusted column 2
+s S Spanned item 2
+t T Vertical spanning at top 2
+tab \fR(\fIx\^\fR) Change data separator character 1
+\fBT\&{\|.\|.\|.\|T\&}\fR Text block 3
+u U Staggered columns 2
+v V Vertical spacing change 2
+w W Minimum width value 2
+z Z Zero-width item 2
+\&\fB.\fIxx\fR Included \fItroff\fR request 3
+\(bv Vertical line 2
+\(bv\|\(bv Double vertical line 2
+\*^ Vertical span 2
+\e\*^ Vertical span 3
+\(eq Double horizontal line 2,3
+\(ul Horizontal line 2,3
+\e\^\(ul Short horizontal line 3
+\e\f3R\f2x Repeat character 3
+\- Name of standard input Usage
+.TE
+.D3 "January 1981"
diff --git a/test/tbl/tbl.doc.more b/test/tbl/tbl.doc.more
new file mode 100644
index 0000000000000..1c980bab84ad7
--- /dev/null
+++ b/test/tbl/tbl.doc.more
@@ -0,0 +1,1650 @@
+
+
+
+
+
+
+
+
+
+ TTTTBBBBLLLL----AAAA PPPPrrrrooooggggrrrraaaammmm ttttoooo FFFFoooorrrrmmmmaaaatttt TTTTaaaabbbblllleeeessss
+
+
+ M. E. Lesk
+
+
+
+ _A_B_S_T_R_A_C_T
+
+ _T_b_l is a document formatting preprocessor for
+ _t_r_o_f_f or _n_r_o_f_f which makes even fairly complex
+ tables easy to specify and enter. It is available
+ on the UNIX† system, and on Honeywell 6000 GCOS.
+ Tables are made up of columns which may be
+ independently centered, rightâ€adjusted, leftâ€
+ adjusted, or aligned by decimal points. Headings
+ may be placed over single columns or groups of
+ columns. A table entry may contain equations, or
+ may consist of several rows of text. Horizontal
+ or vertical lines may be drawn as desired in the
+ table, and any table or element may be enclosed in
+ a box. For example:
+
+
+ ─┌────────────────────────────────────────â”
+ │ 1970 Federal Budget Transfers │
+ │ (in billions of dollars) │
+ â•╞â•â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•¡
+ │ │ Taxes │ Money │ │
+ │ State │ collected │ spent │ Net │
+ ─├─────────────┼────────────┼────────┼───────┤
+ │New York │ 22.91 │ 21.35 │ -1.56 │
+ │New Jersey │ 8.33 │ 6.96 │ -1.37 │
+ │Connecticut │ 4.12 │ 3.10 │ -1.02 │
+ │Maine │ 0.74 │ 0.67 │ -0.07 │
+ │California │ 22.29 │ 22.42 │ +0.13 │
+ │New Mexico │ 0.70 │ 1.49 │ +0.79 │
+ │Georgia │ 3.30 │ 4.28 │ +0.98 │
+ │Mississippi │ 1.15 │ 2.32 │ +1.17 │
+ │Texas │ 9.33 │ 11.13 │ +1.80 │
+ ─└─────────────┴────────────┴────────┴───────┘
+
+
+
+
+
+
+_________________________
+† UNIX is a registered trademark of The Open Group in
+the U.S. and other countries.
+
+
+
+
+
+
+
+
+
+
+2 _T_B_L
+
+
+_I_N_T_R_O_D_U_C_T_I_O_N
+
+ _T_b_l turns a simple description of a table into a _t_r_o_f_f
+or _n_r_o_f_f [1] program (list of requests) that prints the
+table. _T_b_l may be used on the UNIX [2] system and on the
+Honeywell 6000 GCOS system. It attempts to isolate a porâ€
+tion of a job that it can successfully handle and leave the
+remainder for other programs. Thus _t_b_l may be used with the
+equation formatting program _e_q_n [3] and/or various
+_n_r_o_f_f/_t_r_o_f_f layout macro packages [4,5,6], but does not
+duplicate their functions.
+
+ This memorandum is divided into two parts. First we
+give the rules for preparing _t_b_l input; then some examples
+are shown. The description of rules is precise but techniâ€
+cal, and the beginning user may prefer to read the examples
+first, as they show some common table arrangements. A secâ€
+tion explaining how to invoke _t_b_l precedes the examples. To
+avoid repetition, henceforth read ‘‘_t_r_o_f_f’’ as ‘‘_t_r_o_f_f or
+_n_r_o_f_f.’’
+
+ The input to _t_b_l is text for a document, with tables
+preceded by a ‘‘.TS’’ (table start) command and followed by
+a ‘‘.TE’’ (table end) command. _T_b_l processes the tables,
+generating _t_r_o_f_f formatting requests, and leaves the
+remainder of the text unchanged. The ‘‘.TS’’ and ‘‘.TE’’
+lines are copied, too, so that _t_r_o_f_f layout macros (such as
+the memorandum formatting macros [4,6]) can use these lines
+to delimit and place tables as they see fit. In particular,
+any arguments on the ‘‘.TS’’ or ‘‘.TE’’ lines are copied but
+otherwise ignored, and may be used by document layout macro
+requests. The format of the input is as follows:
+
+ text
+ .TS
+ _t_a_b_l_e
+ .TE
+ text
+ .TS
+ _t_a_b_l_e
+ .TE
+ text
+ ...
+
+where the format of each table is as follows:
+
+ .TS
+ _o_p_t_i_o_n_s ;;;;
+ _f_o_r_m_a_t .
+ _d_a_t_a
+ .TE
+
+Each table is independent, and must contain formatting
+information followed by the data to be entered in the table.
+
+
+
+
+
+
+
+
+
+_T_B_L 3
+
+
+The formatting information, which describes the individual
+columns and rows of the table, may be preceded by a few
+options that affect the entire table. A detailed descripâ€
+tion of tables is given in the next section.
+
+_I_N_P_U_T _C_O_M_M_A_N_D_S
+
+ As indicated above, a table contains, first, global
+options, then a format section describing the layout of the
+table entries, and then the data to be printed. The format
+and data are always required, but not the options. The
+various parts of the table are entered as follows:
+
+1) OPTIONS. There may be a single line of options affectâ€
+ ing the whole table. If present, this line must follow
+ the .TS line immediately and must contain a list of
+ option names separated by spaces, tabs, or commas, and
+ must be terminated by a semicolon. The allowable
+ options are:
+
+ cccceeeennnntttteeeerrrr - center the table (default is leftâ€
+ adjust);
+
+ eeeexxxxppppaaaannnndddd - make the table as wide as the current
+ line length;
+
+ bbbbooooxxxx - enclose the table in a box;
+
+ aaaallllllllbbbbooooxxxx - enclose each item in the table in a box;
+
+ ddddoooouuuubbbblllleeeebbbbooooxxxx - enclose the table in two boxes;
+
+ ttttaaaabbbb (_x) - use _x instead of tab to separate data
+ items.
+
+ lllliiiinnnneeeessssiiiizzzzeeee (_n)- set lines or rules (e.g., from bbbbooooxxxx) in
+ _nâ€point type;
+
+ ddddeeeelllliiiimmmm (_x_y) - recognize _x and _y as the _e_q_n delimiters.
+
+ The _t_b_l program tries to keep boxed tables on one page
+ by issuing appropriate ‘‘need’’ (._n_e) requests. These
+ requests are calculated from the number of lines in the
+ tables, and if there are spacing requests embedded in
+ the input, the ._n_e requests may be inaccurate; use norâ€
+ mal _t_r_o_f_f procedures, such as keepâ€release macros, in
+ that case. The user who must have a multiâ€page boxed
+ table should use macros designed for this purpose, as
+ explained below under ‘Usage.’
+
+2) FORMAT. The format section of the table specifies the
+ layout of the columns. Each line in this section
+ corresponds to one line of the table (except that the
+ last line corresponds to all following lines up to the
+
+
+
+
+
+
+
+
+
+4 _T_B_L
+
+
+ next and each line contains a keyâ€letter for each
+ column of the table. It is good practice to separate
+ the key letters for each column by spaces or tabs.
+ Each keyâ€letter is one of the following:
+
+ LLLL or llll to indicate a leftâ€adjusted column entry;
+
+ RRRR or rrrr to indicate a rightâ€adjusted column entry;
+
+ CCCC or cccc to indicate a centered column entry;
+
+ NNNN or nnnn to indicate a numerical column entry, to be
+ aligned with other numerical entries so that
+ the units digits of numbers line up;
+
+ AAAA or aaaa to indicate an alphabetic subcolumn; all
+ corresponding entries are aligned on the
+ left, and positioned so that the widest is
+ centered within the column (see example on
+ page 13);
+
+ SSSS or ssss to indicate a spanned heading, i.e., to indiâ€
+ cate that the entry from the previous column
+ continues across this column (not allowed for
+ the first column of the table, obviously); or
+
+ ^^^^ to indicate a vertically spanned heading,
+ i.e., to indicate that the entry from the
+ previous row continues down through this row
+ (not allowed for the first row of the table,
+ obviously).
+
+ When numerical alignment is specified, a location for
+ the decimal point is sought. The rightmost dot (.)
+ adjacent to a digit is used as a decimal point; if
+ there is no dot adjoining a digit, the rightmost digit
+ is used as a units digit; if no alignment is indicated,
+ the item is centered in the column. However, the speâ€
+ cial nonâ€printing character string \& may be used to
+ override unconditionally dots and digits, or to align
+ alphabetic data; this string lines up where a dot norâ€
+ mally would, and then disappears from the final output.
+ In the example below, the items shown at the left will
+ be aligned (in a numerical column) as shown on the
+ right:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 5
+
+
+
+
+ 13 13
+ 4.2 4.2
+ 26.4.12 26.4.12
+ abc abc
+ abc\& abc
+ 43\&3.22 433.22
+ 749.12 749.12
+
+
+ NNNNooootttteeee:::: If numerical data are used in the same column
+ with wider _L or _r type table entries, the widest _n_u_m_b_e_r
+ is centered relative to the wider _L or _r items (LLLL is
+ used instead of llll for readability; they have the same
+ meaning as keyâ€letters). Alignment within the numeriâ€
+ cal items is preserved. This is similar to the
+ behavior of _a type data, as explained above. However,
+ alphabetic subcolumns (requested by the _a keyâ€letter)
+ are always slightly indented relative to _L items; if
+ necessary, the column width is increased to force this.
+ This is not true for nnnn type entries.
+
+ WWWWaaaarrrrnnnniiiinnnngggg::::
+ The nnnn and aaaa items should not be used in the same
+ column.
+
+ For readability, the keyâ€letters describing each column
+ should be separated by spaces. The end of the format
+ section is indicated by a period. The layout of the
+ keyâ€letters in the format section resembles the layout
+ of the actual data in the table. Thus a simple format
+ might appear as:
+ c s s
+ l n n .
+ which specifies a table of three columns. The first
+ line of the table contains a heading centered across
+ all three columns; each remaining line contains a
+ leftâ€adjusted item in the first column followed by two
+ columns of numerical data. A sample table in this forâ€
+ mat might be:
+
+
+ Overall title
+ Itemâ€a 34.22 9.1
+ Itemâ€b 12.65 .02
+ Items: c,d,e 23 5.8
+ Total 69.87 14.92
+
+ There are some additional features of the keyâ€letter system:
+
+ _H_o_r_i_z_o_n_t_a_l _l_i_n_e_s
+ - A keyâ€letter may be replaced by ‘_’ (underscore)
+ to indicate a horizontal line in place of the
+
+
+
+
+
+
+
+
+
+6 _T_B_L
+
+
+ corresponding column entry, or by ‘=’ to indicate
+ a double horizontal line. If an adjacent column
+ contains a horizontal line, or if there are vertiâ€
+ cal lines adjoining this column, this horizontal
+ line is extended to meet the nearby lines. If any
+ data entry is provided for this column, it is
+ ignored and a warning message is printed.
+
+ _V_e_r_t_i_c_a_l _l_i_n_e_s
+ - A vertical bar may be placed between column
+ keyâ€letters. This will cause a vertical line
+ between the corresponding columns of the table. A
+ vertical bar to the left of the first keyâ€letter
+ or to the right of the last one produces a line at
+ the edge of the table. If two vertical bars
+ appear between keyâ€letters, a double vertical line
+ is drawn.
+
+ _S_p_a_c_e _b_e_t_w_e_e_n _c_o_l_u_m_n_s
+ - A number may follow the keyâ€letter. This indiâ€
+ cates the amount of separation between this column
+ and the next column. The number normally speciâ€
+ fies the separation in _e_n_s (one en is about the
+ width of the letter ‘n’).* If the _e_x_p_a_n_d option
+ is used, then these numbers are multiplied by a
+ constant such that the table is as wide as the
+ current line length. The default column separaâ€
+ tion number is 3. If the separation is changed
+ the worst case (largest space requested) governs.
+
+ _V_e_r_t_i_c_a_l _s_p_a_n_n_i_n_g
+ - Normally, vertically spanned items extending
+ over several rows of the table are centered in
+ their vertical range. If a keyâ€letter is followed
+ by _t or _T, any corresponding vertically spanned
+ item will begin at the top line of its range.
+
+ _F_o_n_t _c_h_a_n_g_e_s
+ - A keyâ€letter may be followed by a string conâ€
+ taining a font name or number preceded by the
+ letter _f or _F. This indicates that the
+ corresponding column should be in a different font
+ from the default font (usually Roman). All font
+ names are one or two letters; a oneâ€letter font
+ name should be separated from whatever follows by
+ a space or tab. The single letters BBBB, bbbb, IIII, and iiii
+ are shorter synonyms for _f_B and _f_I. Fontâ€change
+ requests given with the table entries override
+ these specifications.
+
+_________________________
+* More precisely, an en is a number of points (1 point
+= 1/72 inch) equal to half the current type size.
+
+
+
+
+
+
+
+
+
+
+_T_B_L 7
+
+
+ _P_o_i_n_t _s_i_z_e _c_h_a_n_g_e_s
+ - A keyâ€letter may be followed by the letter _p or
+ _P and a number to indicate the point size of the
+ corresponding table entries. The number may be a
+ signed digit, in which case it is taken as an
+ increment or decrement from the current point
+ size. If both a point size and a column separaâ€
+ tion value are given, one or more blanks must
+ separate them.
+
+ _V_e_r_t_i_c_a_l _s_p_a_c_i_n_g _c_h_a_n_g_e_s
+ - A keyâ€letter may be followed by the letter _v or
+ _V and a number to indicate the vertical line spacâ€
+ ing to be used within a multiâ€line corresponding
+ table entry. The number may be a signed digit, in
+ which case it is taken as an increment or decreâ€
+ ment from the current vertical spacing. A column
+ separation value must be separated by blanks or
+ some other specification from a vertical spacing
+ request. This request has no effect unless the
+ corresponding table entry is a text block (see
+ below).
+
+ _C_o_l_u_m_n _w_i_d_t_h _i_n_d_i_c_a_t_i_o_n
+ - A keyâ€letter may be followed by the letter _w or
+ _W and a width value in parentheses. This width is
+ used as a minimum column width. If the largest
+ element in the column is not as wide as the width
+ value given after the wwww, the largest element is
+ assumed to be that wide. If the largest element
+ in the column is wider than the specified value,
+ its width is used. The width is also used as a
+ default line length for included text blocks.
+ Normal _t_r_o_f_f units can be used to scale the width
+ value; if none are used, the default is ens. If
+ the width specification is a unitless integer the
+ parentheses may be omitted. If the width value is
+ changed in a column, the _l_a_s_t one given controls.
+
+ _E_q_u_a_lâ€_w_i_d_t_h _c_o_l_u_m_n_s
+ - A keyâ€letter may be followed by the letter _e or
+ _E to indicate equalâ€width columns. All columns
+ whose keyâ€letters are followed by eeee or EEEE are made
+ the same width. This permits the user to get a
+ group of regularly spaced columns.
+
+ _S_t_a_g_g_e_r_e_d _c_o_l_u_m_n_s
+ - A keyâ€letter may be followed by the letter _u or
+ _U to indicate that the corresponding entry is to
+ be moved up oneâ€half line. This makes it easy,
+ for example, to have a column of differences
+ between numbers in an adjoining column. The
+ _a_l_l_b_o_x option does not work with staggered
+ columns.
+
+
+
+
+
+
+
+
+
+8 _T_B_L
+
+
+ _Z_e_r_oâ€_w_i_d_t_h _i_t_e_m
+ - A keyâ€letter may be followed by the letter _z or
+ _Z to indicate that the corresponding data item is
+ to be ignored in calculating column widths. This
+ may be useful, for example, in allowing headings
+ to run across adjacent columns where spanned headâ€
+ ings would be inappropriate.
+
+ NNNNooootttteeee::::
+ The order of the above features is immaterial;
+ they need not be separated by spaces, except as
+ indicated above to avoid ambiguities involving
+ point size and font changes. Thus a numerical
+ column entry in italic font and 12â€point type with
+ a minimum width of 2.5 inches and separated by 6
+ ens from the next column could be specified as
+ np12w(2.5i)fI 6
+
+ _A_l_t_e_r_n_a_t_i_v_e _n_o_t_a_t_i_o_n
+ - Instead of listing the format of successive
+ lines of a table on consecutive lines of the forâ€
+ mat section, successive line formats may be given
+ on the same line, separated by commas, so that the
+ format for the example above might have been writâ€
+ ten:
+ c s s ,,,, l n n .
+
+ _D_e_f_a_u_l_t
+ - Column descriptors missing from the end of a
+ format line are assumed to be LLLL. The longest line
+ in the format section, however, defines the number
+ of columns in the table; extra columns in the data
+ are ignored silently.
+
+3) DATA. The data for the table are typed after the forâ€
+ mat. Normally, each table line is typed as one line of
+ data. Very long input lines can be broken: any line
+ whose last character is \ is combined with the followâ€
+ ing line (and the \ vanishes). The data for different
+ columns (the table entries) are separated by tabs, or
+ by whatever character has been specified in the option
+ _t_a_b_s option. There are a few special cases:
+
+ _T_r_o_f_f _r_e_q_u_e_s_t_s _w_i_t_h_i_n _t_a_b_l_e_s
+ - An input line beginning with a ‘.’ followed by
+ anything but a number is assumed to be a request
+ to _t_r_o_f_f and is passed through unchanged, retainâ€
+ ing its position in the table. So, for example,
+ space within a table may be produced by ‘‘.sp’’
+ requests in the data.
+
+ _F_u_l_l _w_i_d_t_h _h_o_r_i_z_o_n_t_a_l _l_i_n_e_s
+ - An input _l_i_n_e containing only the character __
+ (underscore) or ==== (equal sign) is taken to be a
+
+
+
+
+
+
+
+
+
+_T_B_L 9
+
+
+ single or double line, respectively, extending the
+ full width of the _t_a_b_l_e.
+
+ _S_i_n_g_l_e _c_o_l_u_m_n _h_o_r_i_z_o_n_t_a_l _l_i_n_e_s
+ - An input table _e_n_t_r_y containing only the characâ€
+ ter __ or ==== is taken to be a single or double line
+ extending the full width of the _c_o_l_u_m_n. Such
+ lines are extended to meet horizontal or vertical
+ lines adjoining this column. To obtain these
+ characters explicitly in a column, either precede
+ them by \& or follow them by a space before the
+ usual tab or newâ€line.
+
+ _S_h_o_r_t _h_o_r_i_z_o_n_t_a_l _l_i_n_e_s
+ - An input table _e_n_t_r_y containing only the string
+ \_ is taken to be a single line as wide as the
+ contents of the column. It is not extended to
+ meet adjoining lines.
+
+ _R_e_p_e_a_t_e_d _c_h_a_r_a_c_t_e_r_s
+ - An input table _e_n_t_r_y containing only a string of
+ the form \\RRRR_x where _x is any character is replaced
+ by repetitions of the character _x as wide as the
+ data in the column. The sequence of _x’s is not
+ extended to meet adjoining columns.
+
+ _V_e_r_t_i_c_a_l_l_y _s_p_a_n_n_e_d _i_t_e_m_s
+ - An input table entry containing only the characâ€
+ ter string \^ indicates that the table entry
+ immediately above spans downward over this row.
+ It is equivalent to a table format keyâ€letter of
+ ‘^’.
+
+ _T_e_x_t _b_l_o_c_k_s
+ - In order to include a block of text as a table
+ entry, precede it by TT{{ and follow it by TT}}. Thus
+ the sequence
+ ... TT{{
+ _b_l_o_c_k _o_f
+ _t_e_x_t
+ TT}} ...
+ is the way to enter, as a single entry in the
+ table, something that cannot conveniently be typed
+ as a simple string between tabs. Note that the TT}}
+ end delimiter must begin a line; additional
+ columns of data may follow after a tab on the same
+ line. See the example on page 11 for an illustraâ€
+ tion of included text blocks in a table. If more
+ than thirty or so text blocks are used in a table,
+ various limits in the _t_r_o_f_f program are likely to
+ be exceeded, producing diagnostics such as ‘too
+ many string/macro names’ or ‘too many number
+ registers.’
+
+
+
+
+
+
+
+
+
+
+10 _T_B_L
+
+
+ Text blocks are pulled out from the table, proâ€
+ cessed separately by _t_r_o_f_f, and replaced in the
+ table as a solid block. If no line length is
+ specified in the _b_l_o_c_k _o_f _t_e_x_t itself, or in the
+ table format, the default is to use L×C/(N+1)
+ where _L is the current line length, _C is the
+ number of table columns spanned by the text, and _N
+ is the total number of columns in the table. The
+ other parameters (point size, font, etc.) used in
+ setting the _b_l_o_c_k _o_f _t_e_x_t are those in effect at
+ the beginning of the table (including the effect
+ of the ‘‘.TS’’ macro) and any table format specifâ€
+ ications of size, spacing, and font, using the pppp,
+ vvvv and ffff modifiers to the column keyâ€letters.
+ Requests within the text block itself are also
+ recognized, of course. However, _t_r_o_f_f requests
+ within the table data but not within the text
+ block do not affect that block.
+
+ WWWWaaaarrrrnnnniiiinnnnggggssss::::
+ Although any number of lines may be present in a
+ table, only the first 200 lines are used in setâ€
+ ting up the table; a multiâ€page table, of course,
+ may be arranged as several singleâ€page tables if
+ this proves to be a problem. Other difficulties
+ with formatting may arise because, in the calculaâ€
+ tion of column widths all table entries are
+ assumed to be in the font and size being used when
+ the ‘‘.TS’’ command was encountered, except for
+ font and size changes indicated (a) in the table
+ format section and (b) within the table data (as
+ in the entry \\\\ssss++++3333\\\\ffffIIIIDDDDaaaattttaaaa\\\\ffffPPPP\\\\ssss0000). Therefore,
+ although arbitrary _t_r_o_f_f requests may be sprinkled
+ in a table, care must be taken to avoid confusing
+ the width calculations; use requests such as ‘.ps’
+ with care.
+
+4) ADDITIONAL COMMAND LINES. If the format of a table
+ must be changed after many similar lines, as with subâ€
+ headings or summarizations, the ‘‘.T&’’ (table conâ€
+ tinue) command can be used to change column parameters.
+ The outline of such a table input is:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 11
+
+
+
+ .TS
+ _o_p_t_i_o_n_s ;;;;
+ _f_o_r_m_a_t .
+ _d_a_t_a
+ ...
+ .T&
+ _f_o_r_m_a_t .
+ _d_a_t_a
+ .T&
+ _f_o_r_m_a_t .
+ _d_a_t_a
+ .TE
+
+ as in the examples on pages 10 and 13. Using this proâ€
+ cedure, each table line can be close to its correspondâ€
+ ing format line.
+
+ WWWWaaaarrrrnnnniiiinnnngggg::::
+ It is not possible to change the number of columns, the
+ space between columns, the global options such as _b_o_x,
+ or the selection of columns to be made equalâ€width.
+ Furthermore, ‘‘.T&’’ is not recognized after the first
+ 200 lines of a table.
+
+_U_S_A_G_E
+
+ On UNIX, _t_b_l can be run on a simple table with the comâ€
+mand
+
+ tbl inputâ€file ⎪ troff
+
+but for more complicated use, where there are several input
+files, and they contain equations and _m_s (or _m_m) macro
+requests as well as tables, the normal command would be
+
+ tbl fileâ€1 fileâ€2 ... ⎪ eqn ⎪ troff -ms (or -mm)
+
+and, of course, the usual options may be used on the _t_r_o_f_f
+and _e_q_n commands. The usage for _n_r_o_f_f is similar to that
+for _t_r_o_f_f, but only _T_E_L_E_T_Y_P_E® Model 37 and Diabloâ€mechanism
+(DASI or GSI) terminals can print boxed tables directly. If
+a file name is ‘‘----’’, the standard input is read at that
+point.
+
+ For the convenience of users employing line printers
+without adequate driving tables or postâ€filters, there is a
+special -_T_X commandâ€line option to _t_b_l which produces output
+that does not have fractional line motions in it. The only
+other commandâ€line options recognized by _t_b_l are -_m_s and -_m_m
+which are turned into commands to fetch the corresponding
+macro files; usually it is more convenient to place these
+arguments on the _t_r_o_f_f part of the command line, but they
+are accepted by _t_b_l as well.
+
+
+
+
+
+
+
+
+
+12 _T_B_L
+
+
+ Note that when _e_q_n and _t_b_l are used together on the
+same file _t_b_l should be used first. If there are no equaâ€
+tions within tables, either order works, but it is usually
+faster to run _t_b_l first, since _e_q_n normally produces a
+larger expansion of the input than _t_b_l. However, if there
+are equations within tables (using the _d_e_l_i_m mechanism in
+_e_q_n), tbl must be first or the output will be scrambled.
+Users must also beware of using equations in nnnnâ€style
+columns; this is nearly always wrong, since _t_b_l attempts to
+split numerical format items into two parts and this is not
+possible with equations. The user can defend against this
+by giving the _d_e_l_i_m(_x_x) table option; this prevents splitâ€
+ting of numerical columns within the delimiters. For examâ€
+ple, if the _e_q_n delimiters are $$, giving _d_e_l_i_m($$) causes a
+numerical column such as 1111222244445555 $$$$++++---- 11116666$$$$ to be divided after
+1245, not after 16.
+
+ _T_b_l accepts up to about 35 columns, but the actual
+number that can be processed may be smaller, depending on
+availability of _t_r_o_f_f number registers. The user must avoid
+number register names used by _t_b_l, which include twoâ€digit
+numbers from 31 to 99 and strings of the form 4444_x, 5555_x, ####_x,
+_x++++, _x⎪, ^_x, and _x----, where _x is any lowerâ€case letter. The
+names ########, ####----, and ####^ are also used in certain circumstances.
+To conserve register names, the nnnn and aaaa formats share a
+register; hence the restriction above that they may not be
+used in the same column.
+
+ For aid in writing layout macros, _t_b_l defines a number
+register TW which is the table width; it is defined by the
+time that the ‘‘.TE’’ macro is invoked and may be used in
+the expansion of that macro. More importantly, to assist in
+laying out multiâ€page boxed tables the macro T# is defined
+to produce the bottom lines and side lines of a boxed table,
+and then invoked at its end. By use of this macro in the
+page footer a multiâ€page table can be boxed. In particular,
+the _m_s and _m_m macros can be used to print a multiâ€page boxed
+table with a repeated heading by giving the argument H to
+the ‘‘.TS’’ macro. If the table start macro is written
+ .TS H
+a line of the form
+ .TH
+must be given in the table after any table heading (or at
+the start if none). Material up to the ‘‘.TH’’ is placed at
+the top of each page of table; the remaining lines in the
+table are placed on several pages as required. Note that
+this is _n_o_t a feature of _t_b_l, but of the _m_s and _m_m macros.
+
+_E_X_A_M_P_L_E_S
+
+ Here are some examples illustrating features of _t_b_l.
+The symbol Tâ—‹ in the input represents a tab character.
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 13
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌─────────────────────────────────────────────â”
+ box; │Language Authors Runs on │
+ c c c │ │
+ l l l. │Fortran Many Almost anything │
+ LanguageT○AuthorsT○Runs on │PL/1 IBM 360/370 │
+ │C BTL 11/45,H6000,370 │
+ FortranTâ—‹ManyTâ—‹Almost anything│BLISS Carnegieâ€Mellon PDPâ€10,11 │
+ PL/1T○IBMT○360/370 │IDS Honeywell H6000 │
+ CT○BTLT○11/45,H6000,370 │Pascal Stanford 370 │
+ BLISSTâ—‹Carnegieâ€MellonTâ—‹PDPâ€10â””─,─1─1───────────────────────────────────────────┘
+ IDSTâ—‹HoneywellTâ—‹H6000
+ PascalTâ—‹StanfordTâ—‹370
+ .TE
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌──────┬────────┬──────────â”
+ allbox; │ AT&T Common Stock │
+ c s s ─├──────┬────────┬──────────┤
+ c c c │Year │ Price │ Dividend │
+ n n n. ─├──────┼────────┼──────────┤
+ AT&T Common Stock │1971 │ 41â€54 │ $2.60 │
+ YearT○PriceT○Dividend ─├──────┼────────┼──────────┤
+ 1971Tâ—‹41â€54Tâ—‹$2.60 │ 2 │ 41â€54 │ 2.70 │
+ 2Tâ—‹41â€54Tâ—‹2.70 ─├──────┼────────┼──────────┤
+ 3Tâ—‹46â€55Tâ—‹2.87 │ 3 │ 46â€55 │ 2.87 │
+ 4Tâ—‹40â€53Tâ—‹3.24 ─├──────┼────────┼──────────┤
+ 5Tâ—‹45â€52Tâ—‹3.40 │ 4 │ 40â€53 │ 3.24 │
+ 6Tâ—‹51â€59Tâ—‹.95* ─├──────┼────────┼──────────┤
+ .TE │ 5 │ 45â€52 │ 3.40 │
+ * (first quarter only) ─└──────┴────────┴──────────┘
+ │ 6 │ 51â€59 │ .95* │
+ ─└──────┴────────┴──────────┘
+ * (first quarter only)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+14 _T_B_L
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌───────────────────┬─────────────────┬────────â”
+ box; │ Major New York Bridges │
+ c s s â•╞â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•¡
+ c | c | c │ Bridge │ Designer │ Length │
+ l | l | n. ─├───────────────────┼─────────────────┼────────┤
+ Major New York Bridges │Brooklyn │ J. A. Roebling │ 1595 │
+ = │Manhattan │ G. Lindenthal │ 1470 │
+ BridgeT○DesignerT○Length │Williamsburg │ L. L. Buck │ 1600 │
+ _ ─├───────────────────┼─────────────────┼────────┤
+ BrooklynT○J. A. RoeblingT○1595│Queensborough │ Palmer & │ 1182 │
+ ManhattanT○G. LindenthalT○1470│ │ Hornbostel │ │
+ WilliamsburgT○L. L. BuckT○1600├────────────────────┼─────────────────┼────────┤
+ _ │ │ │ 1380 │
+ QueensboroughT○Palmer &T○1182│Triborough │ O. H. Ammann │─├───────│┤
+ T○ Hornbostel │ │ │ 383 │
+ _ ─├───────────────────┼─────────────────┼────────┤
+ T○T○1380 │Bronx Whitestone │ O. H. Ammann │ 2300 │
+ TriboroughT○O. H. AmmannT○_ │Throgs Neck │ O. H. Ammann │ 1800 │
+ T○T○383 ─├───────────────────┼─────────────────┼────────┤
+ _ │George Washington │ O. H. Ammann │ 3500 │
+ Bronx WhitestoneT○O. H. Amman└─n─T─○2─3─0─0──────────────┴─────────────────┴────────┘
+ Throgs NeckTâ—‹O. H. AmmannTâ—‹1800
+ _
+ George WashingtonTâ—‹O. H. AmmannTâ—‹3500
+ .TE
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS Stack
+ c c │┌───────â”
+ npâ€2 | n | . 1 │ 46 │
+ T○Stack │├───────┤
+ T○_ 2 │ 23 │
+ 1T○46 │├───────┤
+ T○_ 3 │ 15 │
+ 2T○23 │├───────┤
+ T○_ 4 │ 6.5 │
+ 3T○15 │├───────┤
+ T○_ 5 │ 2.1 │
+ 4T○6.5 │└───────┘
+ Tâ—‹_
+ 5Tâ—‹2.1
+ Tâ—‹_
+ .TE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 15
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌───────────────────────────────â”
+ box; │january february march │
+ L L L │april may ─┌─────────│┤
+ L L _ │june july │ MMMMoooonnnntttthhhhssss │
+ L L | LB │august september ─└─────────│┤
+ L L _ │october november december │
+ L L L. ─└───────────────────────────────┘
+ januaryTâ—‹februaryTâ—‹march
+ aprilTâ—‹may
+ juneTâ—‹julyTâ—‹Months
+ augustTâ—‹september
+ octoberTâ—‹novemberTâ—‹december
+ .TE
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌─────────────────────────────────────â”
+ box; │ CCCCoooommmmppppoooossssiiiittttiiiioooonnnn ooooffff FFFFooooooooddddssss │
+ cfB s s s. ─├─────────────────────────────────────┤
+ Composition of Foods │ │ Percent by Weight │
+ _ │ │├──────────┬──────â”─────────│
+ .T& │ Food │ │ │ Carbo†│
+ c | c s s │ │ Protein │ Fat │ hydrate │
+ c | c s s ─├────────────┼──────────┼──────┼─────────┤
+ c | c | c | c. │Apples │ .4 │ .5 │ 13.0 │
+ FoodT○Percent by Weight │Halibut │ 18.4 │ 5.2 │ ... │
+ \^T○_ │Lima beans │ 7.5 │ .8 │ 22.0 │
+ \^T○ProteinT○FatT○Carbo†│Milk │ 3.3 │ 4.0 │ 5.0 │
+ \^T○\^T○\^T○hydrate │Mushrooms │ 3.5 │ .4 │ 6.0 │
+ _ │Rye bread │ 9.0 │ .6 │ 52.7 │
+ .T& ─└────────────┴──────────┴──────┴─────────┘
+ l | n | n | n.
+ ApplesTâ—‹.4Tâ—‹.5Tâ—‹13.0
+ HalibutTâ—‹18.4Tâ—‹5.2Tâ—‹...
+ Lima beansTâ—‹7.5Tâ—‹.8Tâ—‹22.0
+ MilkTâ—‹3.3Tâ—‹4.0Tâ—‹5.0
+ MushroomsTâ—‹3.5Tâ—‹.4Tâ—‹6.0
+ Rye breadTâ—‹9.0Tâ—‹.6Tâ—‹52.7
+ .TE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+16 _T_B_L
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌─────────────┬──────────────────┬─────────────â”
+ allbox; │ _N_e_w _Y_o_r_k _A_r_e_a _R_o_c_k_s │
+ cfI s s ─├─────────────┬──────────────────┬─────────────┤
+ c cw(1i) cw(1i) │ Era │ Formation │ Age (years) │
+ lp9 lp9 lp9 . ─├─────────────┼──────────────────┼─────────────┤
+ New York Area Rocks │Precambrian │ Reading Prong │ >1 billion │
+ EraT○FormationT○Age (years) ─├─────────────┼──────────────────┼─────────────┤
+ PrecambrianT○Reading ProngT○>1│Pbailleloizoonic │ Manhattan Prong │ 400 million │
+ PaleozoicT○Manhattan ProngT○40├─0──m─i─l─l─i─o─n─────┼──────────────────┼─────────────┤
+ MesozoicT○T{ │Mesozoic │ Newark Basin, │ 200 million │
+ .na │ │ incl. Stock†│ │
+ Newark Basin, incl. │ │ ton, Lockatong, │ │
+ Stockton, Lockatong, and Bru│nswick │ and Brunswick │ │
+ formations; also Watchungs │ │ formations; │ │
+ and Palisades. │ │ also Watchungs │ │
+ .ad │ │ and Palisades. │ │
+ T}T○200 million ─└─────────────┴──────────────────┴─────────────┘
+ CenozoicT○Coastal PlainT○T{ │Cenozoic │ Coastal Plain │ On Long │
+ .na │ │ │ Island │
+ On Long Island 30,000 years;│ │ │ 30,000 │
+ Cretaceous sediments redepos│ited │ │ years; Cre†│
+ by recent glaciation. │ │ │ taceous │
+ .ad │ │ │ sediments │
+ T} │ │ │ redeposited │
+ .TE │ │ │ by recent │
+ │ │ │ glaciation. │
+ ─└─────────────┴──────────────────┴─────────────┘
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .EQ â•â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
+ delim $$ â•‘ Name Definition â•‘
+ .EN ∞tz−1e−tdt
+ ║Gamma Γ(z)=∫0⎽1⎽(eix−e−ix) ║
+ ... ║Sine sin(x)=2iπcozse(−zts2idntθ)dθ ║
+ ║Error erf(z)=⎽1⎽∫20⎽⎽⎽∫0 ║
+ .TS ║Bessel J0(z)=π∞\│π ║
+ doublebox; ║Zeta ζ(s)= Σ k−s (Re s>1) ║
+ c c â•╚â•â•â•â•â•â•â•â•â•â•â•â•â•â•kâ•=â•1â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
+ l l.
+ NameTâ—‹Definition
+ .sp
+ .vs +2p
+ GammaTâ—‹$GAMMA (z) = int sub 0 sup inf t sup {zâ€1} e sup â€t dt$
+ SineTâ—‹$sin (x) = 1 over 2i ( e sup ix †e sup â€ix )$
+ ErrorTâ—‹$ roman erf (z) = 2 over sqrt pi int sub 0 sup z e sup {â€t sup 2} dt$
+ BesselTâ—‹$ J sub 0 (z) = 1 over pi int sub 0 sup pi cos ( z sin theta ) d theta $
+ ZetaTâ—‹$ zeta (s) = sum from k=1 to inf k sup â€s ~~( Re~s > 1)$
+ .vs â€2p
+ .sp 2p
+ .TE
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 17
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS ─┌──────────────────────────────────────────â”
+ box, tab(:); │ RRRReeeeaaaaddddaaaabbbbiiiilllliiiittttyyyy ooooffff TTTTeeeexxxxtttt │
+ cb s s s s │Line Width and Leading for 10â€Point Type │
+ cpâ€2 s s s s â•╞â•â•â•â•â•â•â•â•â•╦â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•¡
+ c || c | c | c | c │ Line â•‘ Set │1â€Point │2â€Point │4â€Point │
+ c || c | c | c | c │ Width ║Solid │Leading │Leading │Leading │
+ r2 || n2 | n2 | n2 | n. ─├─────────╫───────┼─────────┼─────────┼────────┤
+ Readability of Text │ 9 Pica ║-9.3 │ -6.0 │ -5.3 │ -7.1 │
+ Line Width and Leading for 1│01â€4PoPiincta Tâ•‘y-p4e.5 │ -0.6 │ -0.3 │ -1.7 │
+ = │19 Pica ║-5.0 │ -5.1 │ 0.0 │ -2.0 │
+ Line:Set:1â€Point:2â€Point:4â€P│o3i1ntPica â•‘-3.7 │ -3.8 │ -2.4 │ -3.6 │
+ Width:Solid:Leading:Leading:│L4e3adPiincga ║-9.1 │ -9.0 │ -5.9 │ -8.8 │
+ _ ─└─────────╨───────┴─────────┴─────────┴────────┘
+ 9 Pica:\-9.3:\-6.0:\-5.3:\-7.1
+ 14 Pica:\-4.5:\-0.6:\-0.3:\-1.7
+ 19 Pica:\-5.0:\-5.1: 0.0:\-2.0
+ 31 Pica:\-3.7:\-3.8:\-2.4:\-3.6
+ 43 Pica:\-9.1:\-9.0:\-5.9:\-8.8
+ .TE
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+18 _T_B_L
+
+
+_I_n_p_u_t: _O_u_t_p_u_t:
+ .TS Some London Transport Statistics
+ c s (_Y_e_a_r _1_9_6_4)
+ cipâ€2 s Railway route miles 244
+ l n Tube 66
+ a n. Subâ€surface 22
+ Some London Transport StatisticSsurface 156
+ (Year 1964) Passenger traffic − railway
+ Railway route milesTâ—‹244 Journeys 674 million
+ TubeTâ—‹66 Average length 4.55 miles
+ Subâ€surfaceTâ—‹22 Passenger miles 3,066 million
+ SurfaceT○156 Passenger traffic − road
+ .sp .5 Journeys 2,252 million
+ .T& Average length 2.26 miles
+ l r Passenger miles 5,094 million
+ a r. Vehicles 12,521
+ Passenger traffic \- railway Railway motor cars 2,905
+ JourneysTâ—‹674 million Railway trailer cars 1,269
+ Average lengthTâ—‹4.55 miles Total railway 4,174
+ Passenger milesTâ—‹3,066 million Omnibuses 8,347
+ .T& Staff 73,739
+ l r Administrative, etc. 5,582
+ a r. Civil engineering 5,134
+ Passenger traffic \- road Electrical eng. 1,714
+ JourneysT○2,252 million Mech. eng. − railway 4,310
+ Average lengthT○2.26 miles Mech. eng. − road 9,152
+ Passenger milesTâ—‹5,094 million Railway operations 8,930
+ .T& Road operations 35,946
+ l n Other 2,971
+ a n.
+ .sp .5
+ VehiclesTâ—‹12,521
+ Railway motor carsTâ—‹2,905
+ Railway trailer carsTâ—‹1,269
+ Total railwayTâ—‹4,174
+ OmnibusesTâ—‹8,347
+ .T&
+ l n
+ a n.
+ .sp .5
+ StaffTâ—‹73,739
+ Administrative, etc.Tâ—‹5,582
+ Civil engineeringTâ—‹5,134
+ Electrical eng.Tâ—‹1,714
+ Mech. eng. \- railwayTâ—‹4,310
+ Mech. eng. \- roadTâ—‹9,152
+ Railway operationsTâ—‹8,930
+ Road operationsTâ—‹35,946
+ OtherTâ—‹2,971
+ .TE
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 19
+
+
+_I_n_p_u_t:
+ .ps 8
+ .vs 10p
+ .TS
+ center box;
+ c s s
+ ci s s
+ c c c
+ lB l n.
+ New Jersey Representatives
+ (Democrats)
+ .sp .5
+ NameTâ—‹Office addressTâ—‹Phone
+ .sp .5
+ James J. FlorioTâ—‹23 S. White Horse Pike, Somerdale 08083Tâ—‹609â€627â€8222
+ William J. HughesTâ—‹2920 Atlantic Ave., Atlantic City 08401Tâ—‹609â€345â€4844
+ James J. HowardTâ—‹801 Bangs Ave., Asbury Park 07712Tâ—‹201â€774â€1600
+ Frank Thompson, Jr.Tâ—‹10 Rutgers Pl., Trenton 08618Tâ—‹609â€599â€1619
+ Andrew MaguireTâ—‹115 W. Passaic St., Rochelle Park 07662Tâ—‹201â€843â€0240
+ Robert A. RoeTâ—‹U.S.P.O., 194 Ward St., Paterson 07510Tâ—‹201â€523â€5152
+ Henry HelstoskiTâ—‹666 Paterson Ave., East Rutherford 07073Tâ—‹201â€939â€9090
+ Peter W. Rodino, Jr.Tâ—‹Suite 1435A, 970 Broad St., Newark 07102Tâ—‹201â€645â€3213
+ Joseph G. MinishTâ—‹308 Main St., Orange 07050Tâ—‹201â€645â€6363
+ Helen S. MeynerTâ—‹32 Bridge St., Lambertville 08530Tâ—‹609â€397â€1830
+ Dominick V. DanielsTâ—‹895 Bergen Ave., Jersey City 07306Tâ—‹201â€659â€7700
+ Edward J. PattenTâ—‹Natl. Bank Bldg., Perth Amboy 08861Tâ—‹201â€826â€4610
+ .sp .5
+ .T&
+ ci s s
+ lB l n.
+ (Republicans)
+ .sp .5v
+ Millicent FenwickTâ—‹41 N. Bridge St., Somerville 08876Tâ—‹201â€722â€8200
+ Edwin B. ForsytheTâ—‹301 Mill St., Moorestown 08057Tâ—‹609â€235â€6622
+ Matthew J. RinaldoTâ—‹1961 Morris Ave., Union 07083Tâ—‹201â€687â€4235
+ .TE
+ .ps 10
+ .vs 12p
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+20 _T_B_L
+
+
+_O_u_t_p_u_t:
+─┌───────────────────────────────────────────────────────────────────────────────â”
+│ New Jersey Representatives │
+│ (_D_e_m_o_c_r_a_t_s) │
+│ Name Office address Phone │
+│JJJJaaaammmmeeeessss JJJJ.... FFFFlllloooorrrriiiioooo 23 S. White Horse Pike, Somerdale 08083 609â€627â€8222 │
+│WWWWiiiilllllllliiiiaaaammmm JJJJ.... HHHHuuuugggghhhheeeessss 2920 Atlantic Ave., Atlantic City 08401 609â€345â€4844 │
+│JJJJaaaammmmeeeessss JJJJ.... HHHHoooowwwwaaaarrrrdddd 801 Bangs Ave., Asbury Park 07712 201â€774â€1600 │
+│FFFFrrrraaaannnnkkkk TTTThhhhoooommmmppppssssoooonnnn,,,, JJJJrrrr.... 10 Rutgers Pl., Trenton 08618 609â€599â€1619 │
+│AAAAnnnnddddrrrreeeewwww MMMMaaaagggguuuuiiiirrrreeee 115 W. Passaic St., Rochelle Park 07662 201â€843â€0240 │
+│RRRRoooobbbbeeeerrrrtttt AAAA.... RRRRooooeeee U.S.P.O., 194 Ward St., Paterson 07510 201â€523â€5152 │
+│HHHHeeeennnnrrrryyyy HHHHeeeellllssssttttoooosssskkkkiiii 666 Paterson Ave., East Rutherford 07073 201â€939â€9090 │
+│PPPPeeeetttteeeerrrr WWWW.... RRRRooooddddiiiinnnnoooo,,,, JJJJrrrr.... Suite 1435A, 970 Broad St., Newark 07102 201â€645â€3213 │
+│JJJJoooosssseeeepppphhhh GGGG.... MMMMiiiinnnniiiisssshhhh 308 Main St., Orange 07050 201â€645â€6363 │
+│HHHHeeeelllleeeennnn SSSS.... MMMMeeeeyyyynnnneeeerrrr 32 Bridge St., Lambertville 08530 609â€397â€1830 │
+│DDDDoooommmmiiiinnnniiiicccckkkk VVVV.... DDDDaaaannnniiiieeeellllssss 895 Bergen Ave., Jersey City 07306 201â€659â€7700 │
+│EEEEddddwwwwaaaarrrrdddd JJJJ.... PPPPaaaatttttttteeeennnn Natl. Bank Bldg., Perth Amboy 08861 201â€826â€4610 │
+│ (_R_e_p_u_b_l_i_c_a_n_s) │
+│MMMMiiiilllllllliiiicccceeeennnntttt FFFFeeeennnnwwwwiiiicccckkkk 41 N. Bridge St., Somerville 08876 201â€722â€8200 │
+│EEEEddddwwwwiiiinnnn BBBB.... FFFFoooorrrrssssyyyytttthhhheeee 301 Mill St., Moorestown 08057 609â€235â€6622 │
+│MMMMaaaatttttttthhhheeeewwww JJJJ.... RRRRiiiinnnnaaaallllddddoooo 1961 Morris Ave., Union 07083 201â€687â€4235 │
+─└───────────────────────────────────────────────────────────────────────────────┘
+
+This is a paragraph of normal text placed here only to indiâ€
+cate where the left and right margins are. In this way the
+reader can judge the appearance of centered tables or
+expanded tables, and observe how such tables are formatted.
+
+_I_n_p_u_t:
+ .TS
+ expand;
+ c s s s
+ c c c c
+ l l n n.
+ Bell Labs Locations
+ NameTâ—‹AddressTâ—‹Area CodeTâ—‹Phone
+ HolmdelTâ—‹Holmdel, N. J. 07733Tâ—‹201Tâ—‹949â€3000
+ Murray HillTâ—‹Murray Hill, N. J. 07974Tâ—‹201Tâ—‹582â€6377
+ WhippanyTâ—‹Whippany, N. J. 07981Tâ—‹201Tâ—‹386â€3000
+ Indian HillTâ—‹Naperville, Illinois 60540Tâ—‹312Tâ—‹690â€2000
+ .TE
+
+_O_u_t_p_u_t:
+ Bell Labs Locations
+ Name Address Area Code Phone
+Holmdel Holmdel, N. J. 07733 201 949â€3000
+Murray Hill Murray Hill, N. J. 07974 201 582â€6377
+Whippany Whippany, N. J. 07981 201 386â€3000
+Indian Hill Naperville, Illinois 60540 312 690â€2000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 21
+
+
+_I_n_p_u_t:
+ .TS
+ box;
+ cb s s s
+ c | c | c s
+ ltiw(1i) | ltw(2i) | lp8 | lw(1.6i)p8.
+ Some Interesting Places
+ _
+ NameTâ—‹DescriptionTâ—‹Practical Information
+ _
+ T{
+ American Museum of Natural History
+ T}Tâ—‹T{
+ The collections fill 11.5 acres (Michelin) or 25 acres (MTA)
+ of exhibition halls on four floors.
+ There is a fullâ€sized replica
+ of a blue whale and the world’s largest star sapphire (stolen in 1964).
+ T}Tâ—‹HoursTâ—‹10â€5, ex. Sun 11â€5, Wed. to 9
+ \^Tâ—‹\^Tâ—‹LocationTâ—‹T{
+ Central Park West & 79th St.
+ T}
+ \^Tâ—‹\^Tâ—‹AdmissionTâ—‹Donation: $1.00 asked
+ \^Tâ—‹\^Tâ—‹SubwayTâ—‹AA to 81st St.
+ \^Tâ—‹\^Tâ—‹TelephoneTâ—‹212â€873â€4225
+ _
+ Bronx ZooTâ—‹T{
+ About a mile long and .6 mile wide, this is the largest zoo in America.
+ A lion eats 18 pounds
+ of meat a day while a sea lion eats 15 pounds of fish.
+ T}Tâ—‹HoursTâ—‹T{
+ 10â€4:30 winter, to 5:00 summer
+ T}
+ \^Tâ—‹\^Tâ—‹LocationTâ—‹T{
+ 185th St. & Southern Blvd, the Bronx.
+ T}
+ \^Tâ—‹\^Tâ—‹AdmissionTâ—‹$1.00, but Tu,We,Th free
+ \^Tâ—‹\^Tâ—‹SubwayTâ—‹2, 5 to East Tremont Ave.
+ \^Tâ—‹\^Tâ—‹TelephoneTâ—‹212â€933â€1759
+ _
+ Brooklyn MuseumTâ—‹T{
+ Five floors of galleries contain American and ancient art.
+ There are American period rooms and architectural ornaments saved
+ from wreckers, such as a classical figure from Pennsylvania Station.
+ T}Tâ—‹HoursTâ—‹Wedâ€Sat, 10â€5, Sun 12â€5
+ \^Tâ—‹\^Tâ—‹LocationTâ—‹T{
+ Eastern Parkway & Washington Ave., Brooklyn.
+ T}
+ \^Tâ—‹\^Tâ—‹AdmissionTâ—‹Free
+ \^Tâ—‹\^Tâ—‹SubwayTâ—‹2,3 to Eastern Parkway.
+ \^Tâ—‹\^Tâ—‹TelephoneTâ—‹212â€638â€5000
+ _
+ T{
+ Newâ€York Historical Society
+ T}Tâ—‹T{
+
+
+
+
+
+
+
+
+
+22 _T_B_L
+
+
+ All the original paintings for Audubon’s
+ .I
+ Birds of America
+ .R
+ are here, as are exhibits of American decorative arts, New York history,
+ Hudson River school paintings, carriages, and glass paperweights.
+ T}Tâ—‹HoursTâ—‹T{
+ Tuesâ€Fri & Sun, 1â€5; Sat 10â€5
+ T}
+ \^Tâ—‹\^Tâ—‹LocationTâ—‹T{
+ Central Park West & 77th St.
+ T}
+ \^Tâ—‹\^Tâ—‹AdmissionTâ—‹Free
+ \^Tâ—‹\^Tâ—‹SubwayTâ—‹AA to 81st St.
+ \^Tâ—‹\^Tâ—‹TelephoneTâ—‹212â€873â€3400
+ .TE
+
+_O_u_t_p_u_t:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+_T_B_L 23
+
+
+─┌─────────────────┬───────────────────────┬───────────────────────────────────────────â”
+│ SSSSoooommmmeeee IIIInnnntttteeeerrrreeeessssttttiiiinnnngggg PPPPllllaaaacccceeeessss │
+─├─────────────────┬───────────────────────┬───────────────────────────────────────────┤
+│ Name │ Description │ Practical Information │
+─├─────────────────┼───────────────────────┼────────────┬───────────────────────────────┤
+│_A_m_e_r_i_c_a_n _M_u_s_e_u_m │││││ The collections fill │ Hours │ 10â€5, ex. Sun 11â€5, Wed. to 9 │
+│_o_f _N_a_t_u_r_a_l _H_i_s†11.5 acres (Miche†│ Location │ Central Park West & 79th St. │
+│_t_o_r_y lin) or 25 acres │ Admission │ Donation: $1.00 asked │
+│ (MTA) of exhibition │ Subway │ AA to 81st St. │
+│ halls on four │ Telephone │ 212â€873â€4225 │
+│ │ floors. There is a │ │ │
+│ │ fullâ€sized replica │ │ │
+│ │ of a blue whale and │ │ │
+│ │ the world’s largest │ │ │
+│ │ star sapphire │ │ │
+│ │ (stolen in 1964). │ │ │
+─├─────────────────┼───────────────────────┼────────────┼───────────────────────────────┤
+│_B_r_o_n_x _Z_o_o │││││ About a mile long │ Hours │ 10â€4:30 winter, to 5:00 sum†│
+│ │ and .6 mile wide, │ │ mer │
+│ this is the largest │ Location │ 185th St. & Southern Blvd, │
+│ │ zoo in America. A │ │ the Bronx. │
+│ lion eats 18 pounds │ Admission │ $1.00, but Tu,We,Th free │
+│ of meat a day while │ Subway │ 2, 5 to East Tremont Ave. │
+│ a sea lion eats 15 │ Telephone │ 212â€933â€1759 │
+│ │ pounds of fish. │ │ │
+─├─────────────────┼───────────────────────┼────────────┼───────────────────────────────┤
+│_B_r_o_o_k_l_y_n _M_u_s_e_u_m │││││ Five floors of gal†│ Hours │ Wedâ€Sat, 10â€5, Sun 12â€5 │
+│ leries contain Amer†│ Location │ Eastern Parkway & Washington │
+│ │ ican and ancient │ │ Ave., Brooklyn. │
+│ art. There are │ Admission │ Free │
+│ American period │ Subway │ 2,3 to Eastern Parkway. │
+│ rooms and architec†│ Telephone │ 212â€638â€5000 │
+│ │ tural ornaments │ │ │
+│ │ saved from wreckers, │ │ │
+│ │ such as a classical │ │ │
+│ │ figure from Pennsyl†│ │ │
+│ │ vania Station. │ │ │
+─├─────────────────┼───────────────────────┼────────────┼───────────────────────────────┤
+│_N_e_wâ€_Y_o_r_k _H_i_s†││││ All the original │ Hours │ Tuesâ€Fri & Sun, 1â€5; Sat 10â€5 │
+│_t_o_r_i_c_a_l _S_o_c_i_e_t_y paintings for │ Location │ Central Park West & 77th St. │
+│ Audubon’s _B_i_r_d_s _o_f │ Admission │ Free │
+│ _A_m_e_r_i_c_a are here, as │ Subway │ AA to 81st St. │
+│ │ are exhibits of │ Telephone │ 212â€873â€3400 │
+│ │ American decorative │ │ │
+│ │ arts, New York his†│ │ │
+│ │ tory, Hudson River │ │ │
+│ │ school paintings, │ │ │
+│ │ carriages, and glass │ │ │
+│ │ paperweights. │ │ │
+─└─────────────────┴───────────────────────┴────────────┴───────────────────────────────┘
+
+
+
+
+
+
+
+
+
+
+
+
+
+24 _T_B_L
+
+
+_A_C_K_N_O_W_L_E_D_G_E_M_E_N_T_S
+
+ Many thanks are due to J. C. Blinn, who has done a
+large amount of testing and assisted with the design of the
+program. He has also written many of the more intelligible
+sentences in this document and helped edit all of it. All
+phototypesetting programs on UNIX are dependent on the work
+of the late J. F. Ossanna, whose assistance with this proâ€
+gram in particular had been most helpful. This program is
+patterned on a table formatter written by J. F. Gimpel. The
+assistance of T. A. Dolotta, B. W. Kernighan, and J. N.
+Sturman is gratefully acknowledged.
+
+_R_E_F_E_R_E_N_C_E_S
+
+[1] J. F. Ossanna. _N_R_O_F_F/_T_R_O_F_F _U_s_e_r’_s _M_a_n_u_a_l, Bell Laboraâ€
+ tories, 1976.
+[2] D. M. Ritchie and K. Thompson. The UNIX Timeâ€Sharing
+ System, _C_A_C_M 11117777(7):365â€75 (July 1974).
+[3] B. W. Kernighan and L. L. Cherry. A System for
+ Typesetting Mathematics, _C_A_C_M 11118888(3):151â€56 (Mar. 1975).
+[4] M. E. Lesk. _T_y_p_i_n_g _D_o_c_u_m_e_n_t_s _o_n _U_N_I_X, Bell Laboraâ€
+ tories, 1976.
+[5] M. E. Lesk and B. W. Kernighan. Computer Typesetting
+ of Technical Journals on UNIX, _P_r_o_c. _A_F_I_P_S _N_C_C, vol.
+ 46, pp. 879â€88 (1977).
+[6] D. W. Smith and J. R. Mashey. _M_M-_M_e_m_o_r_a_n_d_u_m _M_a_c_r_o_s,
+ Bell Laboratories, 1980.
+
+
+
+ _L_i_s_t _o_f _T_b_l _C_o_m_m_a_n_d _C_h_a_r_a_c_t_e_r_s _a_n_d _W_o_r_d_s
+
+ _C_o_m_m_a_n_d _M_e_a_n_i_n_g _S_e_c_t_i_o_n
+ aaaa AAAA Alphabetic subcolumn 2
+ aaaallllllllbbbbooooxxxx Draw box around all items 1
+ bbbb BBBB Boldface item 2
+ bbbbooooxxxx Draw box around table 1
+ cccc CCCC Centered column 2
+ cccceeeennnntttteeeerrrr Center table in page 1
+ ddddeeeelllliiiimmmm (_x_y) Define _e_q_n delimiters 1
+ ddddoooouuuubbbblllleeeebbbbooooxxxx Draw double box around table 1
+ eeee EEEE Equalâ€width columns 2
+ eeeexxxxppppaaaannnndddd Make table full line width 1
+ ffff FFFF Font change 2
+ iiii IIII Italic item 2
+ llll LLLL Left adjusted column 2
+ lllliiiinnnneeeessssiiiizzzzeeee (_n) Set size for rules 1
+ nnnn NNNN Numerical column 2
+ _n_n_n Column separation 2
+ pppp PPPP Point size change 2
+ rrrr RRRR Right adjusted column 2
+ ssss SSSS Spanned item 2
+ tttt TTTT Vertical spanning at top 2
+
+
+
+
+
+
+
+
+
+_T_B_L 25
+
+
+ ttttaaaabbbb (_x) Change data separator character 1
+ TTTT{{{{............TTTT}}}} Text block 3
+ uuuu UUUU Staggered columns 2
+ vvvv VVVV Vertical spacing change 2
+ wwww WWWW Minimum width value 2
+ zzzz ZZZZ Zeroâ€width item 2
+ ...._x_x Included _t_r_o_f_f request 3
+ ⎪⎪⎪⎪ Vertical line 2
+ ⎪⎪⎪⎪⎪⎪⎪⎪ Double vertical line 2
+ ^^^^ Vertical span 2
+ \\\\^^^^ Vertical span 3
+ ==== Double horizontal line 2,3
+ ____ Horizontal line 2,3
+ \\\\____ Short horizontal line 3
+ \\\\RRRR_x Repeat character 3
+ ---- Name of standard input Usage
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/tbl/tbl.doc.ps b/test/tbl/tbl.doc.ps
new file mode 100644
index 0000000000000..4d740ec8bf348
--- /dev/null
+++ b/test/tbl/tbl.doc.ps
@@ -0,0 +1,8142 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Bold Times-Italic Times-Roman Symbol
+%%Pages: 18
+%%DocumentNeededResources: font Times-Bold
+%%+ font Times-Italic
+%%+ font Times-Roman
+%%+ font Symbol
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
+%%BeginResource: procset dpost_charci 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/ci 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_ci {
+ pop
+ size 3 mul 8 div /rad exch def
+ currentpoint
+ newpath
+ rad add exch rad add exch rad 0 360 arc
+ stroke
+} def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@13@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Bold findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@13@0 def
+ currentdict
+end
+/Times-Bold-@13 exch definefont pop
+/@13 /Times-Bold-@13 def
+/&13 {@13 F} bind def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Italic findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/Times-Italic-@12 exch definefont pop
+/@12 /Times-Italic-@12 def
+/&12 {@12 F} bind def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+/Encoding-@19@0 [
+/.notdef /cent /dagger /onequarter /threequarters /onehalf /endash
+/acute /grave /underscore /section /daggerdbl /backslash /quotedbl
+/bar /quotedblleft /quotedblright /space /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /.notdef /quotedbl
+/numbersign /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /less /.notdef /greater /.notdef
+/at /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /backslash
+/.notdef /circumflex /underscore /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /bar /.notdef /tilde /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@19@0 def
+ currentdict
+end
+/Times-Roman-tmp-@19 exch definefont pop
+/Times-Roman-tmp-@19 /Times-Roman-@19 S1defs cf
+/Times-Roman-tmp-@19 undefinefont
+/@19 /Times-Roman-@19 def
+/&19 {@19 F} bind def
+/Encoding-@20@0 [
+/.notdef /arrowright /parenleftex /universal /existential /asteriskmath
+/plus /minus /equal /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
+/Eta /Iota /Kappa /Lambda /Mu /Nu /Omicron /Pi /Rho /Theta /Sigma
+/Tau /Upsilon /Omega /Xi /Psi /space /exclam /Zeta /numbersign
+/underscore /percent /ampersand /radicalex /parenleft /parenright
+/alpha /plus /comma /minus /period /slash /zero /one /two /three
+/four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /beta /chi /delta /epsilon /phi /gamma
+/eta /iota /kappa /lambda /mu /nu /omicron /pi /theta /rho /sigma
+/tau /upsilon /omega /xi /psi /zeta /similar /minute /lessequal
+/fraction /bracketleft /infinity /bracketright /arrowleft /underscore
+/arrowup /arrowdown /degree /plusminus /greaterequal /multiply
+/proportional /partialdiff /bullet /divide /notequal /equivalence
+/approxequal /aleph /circlemultiply /circleplus /emptyset /intersection
+/union /propersuperset /reflexsuperset /propersubset /reflexsubset
+/element /gradient /registerserif /copyrightserif /braceleft
+/bar /braceright /similar /trademarkserif /radical /logicalnot
+/logicalor /bracketlefttp /bracketleftbt /bracelefttp /braceleftmid
+/braceleftbt /braceex /integral /bracketrighttp /bracketrightbt
+/bracerighttp /bracerightmid /bracerightbt /sigma1 /bracketleftex
+/space /suchthat /congruent /theta1 /therefore /perpendicular
+/phi1 /omega1 /Euro /Upsilon1 /florin /club /diamond /heart /spade
+/arrowboth /second /ellipsis /arrowvertex /arrowhorizex /carriagereturn
+/Ifraktur /Rfraktur /weierstrass /notsubset /notelement /angle
+/product /dotmath /logicaland /arrowdblboth /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /lozenge /angleleft /registersans
+/copyrightsans /trademarksans /summation /parenlefttp /parenleftbt
+/angleright /integraltp /integralex /integralbt /parenrighttp
+/parenrightex /parenrightbt /bracketrightex /apple /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Symbol findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@20@0 def
+ currentdict
+end
+/Symbol-tmp-@20 exch definefont pop
+_Sdefsadj
+/Symbol-tmp-@20 /Symbol-@20 Sdefs cf
+/Symbol-tmp-@20 undefinefont
+/@20 /Symbol-@20 def
+/&20 {@20 F} bind def
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+12 @13 f
+(T)198674 120000 w
+10 s
+(BL)206678 v
+12 s
+(\012A Pr)3996 1 220018 u
+(ogram to F)3996 1 251122 u
+(ormat T)3636 1 309466 u
+(ables)351322 v
+10 @12 f
+(M. E. Lesk)3330 1 265785 144000 t
+(ABSTRA)264535 186000 w
+(CT)299235 v
+(Tbl)133000 210000 w
+&11
+( preprocessor for)4502(is a document formatting)4501 2 150841 u
+&12
+(tr)333370 v
+(of)339590 v
+(f)347190 v
+&11
+(or)354472 v
+&12
+(nr)367304 v
+(of)375744 v
+(f)383344 v
+&11
+(which mak)4502 1 390626 u
+(es e)4502 1 436688 u
+(v)453710 v
+(en)458560 v
+(f)108000 222000 w
+(airly comple)4161 1 111230 u
+(x tables easy to specify and enter)4161 1 163011 u
+( a)4162( is)4161(. It)7491 3 304617 u
+(v)339951 v
+(ailable on the)4162 1 344701 u
+9 s
+(UNIX)406067 v
+10 s
+(\005 system,)4162 1 428558 u
+(and on Hone)6087 1 108000 234000 t
+(ywell 6000)6087 1 166124 u
+9 s
+(GCOS)220518 v
+10 s
+(. T)9237 1 244521 u
+( columns which may be)6086(ables are made up of)6087 2 261568 u
+( decimal points.)6257
+(independently centered, right\001adjusted, left\001adjusted, or aligned b\
+y)6256 2 108000 246000 t
+(Headings may be placed o)3339 1 108000 258000 t
+(v)216736 v
+( table entry may)3338( A)6118( of columns.)3338
+(er single columns or groups)3339 4 221586 u
+(contain equations, or may consist of se)4009 1 108000 270000 t
+(v)272064 v
+(eral ro)4009 1 276914 u
+(ws of te)4009 1 303993 u
+( or v)4010(xt. Horizontal)7339 2 338521 u
+(ertical lines)4010 1 420110 u
+(may be dra)3960 1 108000 282000 t
+(wn as desired in the table, and an)3960 1 155200 u
+(y table or element may be enclosed in a)3960 1 298020 u
+(box. F)6660 1 108000 294000 t
+(or e)3330 1 137570 u
+(xample:)153520 v
+10 @11 f
+385390 322000 190610 322000 Dl
+( T)3150(1970 Federal Budget)3330 2 224950 332000 t
+(ransfers)319400 v
+8 s
+(\(in billions of dollars\))2664 1 252004 344000 t
+10 s
+385390 347000 190610 347000 Dl
+385390 349000 190610 349000 Dl
+(T)269555 358000 w
+(ax)274865 v
+(es)284155 v
+(Mone)314070 v
+(y)337250 v
+(State)211790 364000 w
+(collected)262970 370000 w
+(spent)317605 v
+(Net)361600 364000 w
+385390 374000 190610 374000 Dl
+(Ne)195610 384000 w
+(w Y)2430 1 207020 u
+(ork)222790 v
+(22.91)269770 v
+(21.35)316910 v
+(\0121.56)357890 v
+(Ne)195610 396000 w
+(w Jerse)3330 1 207020 u
+(y)237410 v
+(8.33)274770 v
+(6.96)321910 v
+(\0121.37)357890 v
+(Connecticut)195610 408000 w
+(4.12)274770 v
+(3.10)321910 v
+(\0121.02)357890 v
+(Maine)195610 420000 w
+(0.74)274770 v
+(0.67)321910 v
+(\0120.07)357890 v
+(California)195610 432000 w
+(22.29)269770 v
+(22.42)316910 v
+(+0.13)357250 v
+(Ne)195610 444000 w
+(w Me)3330 1 207020 u
+(xico)230750 v
+(0.70)274770 v
+(1.49)321910 v
+(+0.79)357250 v
+(Geor)195610 456000 w
+(gia)215420 v
+(3.30)274770 v
+(4.28)321910 v
+(+0.98)357250 v
+(Mississippi)195610 468000 w
+(1.15)274770 v
+(2.32)321910 v
+(+1.17)357250 v
+(T)195610 480000 w
+(e)201020 v
+(xas)205310 v
+(9.33)274770 v
+(11.13)316910 v
+(+1.80)357250 v
+385390 484000 190610 484000 Dl
+190610 322000 190610 484000 Dl
+255470 349000 255470 484000 Dl
+306570 349000 306570 484000 Dl
+349750 349000 349750 484000 Dl
+385390 322000 385390 484000 Dl
+&13
+(INTR)72000 530000 w
+(ODUCTION)96700 v
+&12
+(Tbl)97000 545600 w
+&11
+(turns a simple description of a table into a)4534 1 114874 u
+&12
+(tr)303440 v
+(of)309660 v
+(f)317260 v
+&11
+(or)324575 v
+&12
+(nr)337440 v
+(of)345880 v
+(f)353480 v
+&11
+([1] program \(list of requests\) that)4535 1 360795 u
+(prints the table.)3429 1 72000 557600 t
+&12
+(Tbl)142557 v
+&11
+(may be used on the)3428 1 159326 u
+9 s
+(UNIX)243676 v
+10 s
+([2] system and on the Hone)3428 1 269595 u
+(ywell 6000)3428 1 384345 u
+9 s
+(GCOS)433421 v
+10 s
+(system. It)6758 1 460852 u
+( of a job that it can successfully handle and lea)4178
+(attempts to isolate a portion)4177 2 72000 569600 t
+(v)393028 v
+(e the remainder for other)4178 1 397878 u
+(programs. Thus)6547 1 72000 581600 t
+&12
+(tbl)142214 v
+&11
+(may be used with the equation formatting program)3397 1 156171 u
+&12
+(eqn)368877 v
+&11
+([3] and/or v)3396 1 386713 u
+(arious)435465 v
+&12
+(nr)463301 v
+(of)471741 v
+(f)479341 v
+(/)482954 v
+(tr)486567 v
+(of)492787 v
+(f)500387 v
+&11
+(layout macro packages [4,5,6], b)3330 1 72000 593600 t
+(ut does not duplicate their functions.)3330 1 205920 u
+(This memorandum is di)3871 1 97000 609200 t
+(vided into tw)3871 1 196143 u
+( we gi)3871( First)7201(o parts.)3871 3 251565 u
+(v)334849 v
+( preparing)3872(e the rules for)3871 2 339699 u
+&12
+(tbl)445136 v
+&11
+(input; then)3872 1 459568 u
+(some e)3452 1 72000 621200 t
+(xamples are sho)3452 1 100852 u
+( description of rules is precise b)3452(wn. The)6602 2 166936 u
+(ut technical, and the be)3452 1 336520 u
+(ginning user may)3451 1 432658 u
+(prefer to read the e)3777 1 72000 633200 t
+(xamples)152478 v
+(\003rst, as the)3777 1 189585 u
+(y sho)3777 1 235599 u
+( section e)3778( A)6558( table arrangements.)3778(w some common)3777 4 258016 u
+(xplaining)466220 v
+(ho)72000 645200 w
+(w to in)3330 1 81750 u
+(v)110790 v
+(ok)115590 v
+(e)125490 v
+&12
+(tbl)133260 v
+&11
+(precedes the e)3330 1 147150 u
+(xamples. T)6480 1 205300 u
+(o a)3330 1 252920 u
+(v)265490 v
+(oid repetition, henceforth read)3330 1 270290 u
+&12
+(\027)397190 v
+(\027tr)399410 v
+(of)408960 v
+(f)416560 v
+(\030)420173 v
+(\030)422393 v
+&11
+(as)427943 v
+&12
+(\027)439603 v
+(\027tr)441823 v
+(of)451373 v
+(f)458973 v
+&11
+(or)465083 v
+&12
+(nr)476743 v
+(of)485183 v
+(f)492783 v
+(.)495413 v
+(\030)496513 v
+(\030)498733 v
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 698000 w
+&11
+(\005)72000 708000 w
+7 s
+(UNIX)78664 v
+8 s
+(is a re)2664 1 98821 u
+( Open Group in the U.S. and other countries.)2664( The)2520
+(gistered trademark of)2664 3 119133 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+9 @11 f
+(2)72000 48000 w
+&12
+(TBL)487743 v
+10 @11 f
+(The input to)4205 1 97000 84000 t
+&12
+(tbl)153505 v
+&11
+(is te)4205 1 168270 u
+(xt for a document, with tables preceded by a)4205 1 186215 u
+(\027)381520 v
+(\027)384110 v
+14 s
+(.)388273 v
+10 s
+(TS\030)391773 v
+( start\) command)4206(\030 \(table)3465 2 406033 u
+(and follo)4545 1 72000 96000 t
+(wed by a)4544 1 109625 u
+(\027)154357 v
+(\027)156947 v
+14 s
+(.)161110 v
+10 s
+(TE\030)164610 v
+( end\) command.)4544(\030 \(table)3804 2 179420 u
+&12
+(Tbl)285996 v
+&11
+(processes the tables, generating)4544 1 303880 u
+&12
+(tr)440636 v
+(of)446856 v
+(f)454456 v
+&11
+(formatting)461780 v
+(requests, and lea)3764 1 72000 108000 t
+(v)140698 v
+( te)3765(es the remainder of the)3764 2 145548 u
+( The)6915(xt unchanged.)3765 2 253079 u
+(\027)336674 v
+(\027)339264 v
+14 s
+(.)343427 v
+10 s
+(TS\030)346927 v
+(\030 and)3025 1 361187 u
+(\027)385747 v
+(\027)388337 v
+14 s
+(.)392500 v
+10 s
+(TE\030)396000 v
+( are copied, too,)3765(\030 lines)3025 2 410810 u
+(so that)4387 1 72000 120000 t
+&12
+(tr)104664 v
+(of)110884 v
+(f)118484 v
+&11
+( formatting macros [4,6])4386(layout macros \(such as the memorandum)4387 2 125651 u
+(\) can use these lines to)4386 1 404310 u
+(delimit and place tables as the)3973 1 72000 132000 t
+(y see)3973 1 199475 u
+( particular)3974(\003t. In)7303 2 225191 u
+(, an)3974 1 293558 u
+(y ar)3974 1 309322 u
+(guments on the)3974 1 325886 u
+(\027)393918 v
+(\027)396508 v
+14 s
+(.)400671 v
+10 s
+(TS\030)404171 v
+(\030 or)3234 1 418431 u
+(\027)437299 v
+(\027)439889 v
+14 s
+(.)444052 v
+10 s
+(TE\030)447552 v
+( are)3974(\030 lines)3234 2 462362 u
+(copied b)3800 1 72000 144000 t
+( format of the)3799( The)6949( used by document layout macro requests.)3799
+(ut otherwise ignored, and may be)3800 4 107260 u
+(input is as follo)3330 1 72000 156000 t
+(ws:)136190 v
+(te)108000 174000 w
+(xt)115070 v
+14 s
+(.)108833 186000 w
+10 s
+(TS)112333 v
+&12
+(table)108000 198000 w
+14 @11 f
+(.)108833 210000 w
+10 s
+(TE)112333 v
+(te)108000 222000 w
+(xt)115070 v
+14 s
+(.)108833 234000 w
+10 s
+(TS)112333 v
+&12
+(table)108000 246000 w
+14 @11 f
+(.)108833 258000 w
+10 s
+(TE)112333 v
+(te)108000 270000 w
+(xt)115070 v
+14 s
+(.)108833 282000 w
+(.)114832 v
+(.)120831 v
+10 s
+(where the format of each table is as follo)3330 1 72000 300000 t
+(ws:)241680 v
+14 s
+(.)108833 318000 w
+10 s
+(TS)112333 v
+&12
+(options)108000 330000 w
+&13
+(;)140780 v
+&12
+(format)108000 342000 w
+14 s
+(.)138833 v
+10 s
+(data)108000 354000 w
+14 @11 f
+(.)108833 366000 w
+10 s
+(TE)112333 v
+(Each table is independent, and must contain formatting information follo)4061 1 72000 384000 t
+( the data to be entered)4062(wed by)4061 2 377439 u
+( formatting information, which describes the indi)3682( The)6832
+(in the table.)3682 3 72000 396000 t
+(vidual columns and ro)3682 1 346898 u
+(ws of the table,)3682 1 439354 u
+(may be preceded by a fe)3885 1 72000 408000 t
+(w options that af)3885 1 176135 u
+( detailed description of tables is gi)3885( A)6665(fect the entire table.)3885 3 246980 u
+(v)489710 v
+(en)494560 v
+(in the ne)3330 1 72000 420000 t
+(xt section.)3330 1 107950 u
+&13
+(INPUT COMMANDS)4996 1 72000 450000 t
+&11
+(As indicated abo)3490 1 97000 465600 t
+(v)166040 v
+(e, a table contains,)3490 1 170890 u
+(\003rst, global options, then a format section describing the lay\001)3490 1 251500 u
+( format and data are al)4044( The)7194( and then the data to be printed.)4044
+(out of the table entries,)4045 4 72000 477600 t
+(w)427062 v
+(ays required, b)4044 1 434182 u
+(ut)496220 v
+( v)3330( The)6480(not the options.)3330 3 72000 489600 t
+(arious parts of the table are entered as follo)3330 1 165720 u
+(ws:)344840 v
+(1\))72000 511200 w
+(O)97000 v
+8 s
+(PTIONS.)104220 v
+10 s
+( be a single line of options af)4427(There may)4426 2 141796 u
+( present, this line)4427( If)7757(fecting the whole table.)4427 3 315821 u
+(must follo)5418 1 97000 523200 t
+(w the)5418 1 140508 u
+14 s
+(.)171617 v
+10 s
+( names separated by)5417
+(TS line immediately and must contain a list of option)5418 2 175117 u
+( allo)3330( The)6480
+(spaces, tabs, or commas, and must be terminated by a semicolon.)3330 3 97000 535200 t
+(w)405930 v
+(able options are:)3330 1 413050 u
+&13
+(center)103660 550800 w
+&11
+(\012 center the table \(def)3330 1 162000 u
+(ault is left\001adjust\);)3330 1 252410 u
+&13
+(expand)103660 566400 w
+&11
+(\012 mak)3330 1 162000 u
+(e the table as wide as the current line length;)3330 1 187450 u
+&13
+(box)103660 582000 w
+&11
+(\012 enclose the table in a box;)3330 1 162000 u
+&13
+(allbox)103660 597600 w
+&11
+(\012 enclose each item in the table in a box;)3330 1 162000 u
+&13
+(doublebox)103660 613200 w
+&11
+(\012 enclose the table in tw)3330 1 162000 u
+(o box)3330 1 262980 u
+(es;)286160 v
+&13
+(tab)103660 628800 w
+&11
+(\()120880 v
+&12
+(x)124210 v
+&11
+(\))129483 v
+(\012 use)3330 1 162000 u
+&12
+(x)186990 v
+&11
+(instead of tab to separate data items.)3330 1 194760 u
+&13
+(linesize)103660 644400 w
+&11
+(\()138100 v
+&12
+(n)141430 v
+&11
+(\))147263 v
+(\012 set lines or rules \(e.g., from)3330 1 162000 u
+&13
+(box)287790 v
+&11
+(\) in)3330 1 303350 u
+&12
+(n)321120 v
+&11
+(\001point type;)3330 1 326120 u
+&13
+(delim)103660 660000 w
+&11
+(\()130880 v
+&12
+(xy)134210 v
+&11
+(\))143923 v
+(\012 recognize)3330 1 162000 u
+&12
+(x)212530 v
+&11
+(and)220300 v
+&12
+(y)238070 v
+&11
+(as the)3330 1 245840 u
+&12
+(eqn)273050 v
+&11
+(delimiters.)290820 v
+(The)97000 675600 w
+&12
+(tbl)117694 v
+&11
+(program tries to k)5144 1 133398 u
+(eep box)5144 1 212610 u
+( issuing appropriate)5145(ed tables on one page by)5144 2 246484 u
+(\027)447609 v
+(\027need\030)450199 v
+(\030 \()4405 1 474999 u
+14 @12 f
+(.)486897 v
+10 s
+(ne)490397 v
+&11
+(\))500670 v
+( are calculated from the number of lines in the tables, and if there are)4448
+( requests)4449(requests. These)7599 3 97000 687600 t
+(spacing requests embedded in the input, the)3631 1 97000 699600 t
+14 @12 f
+(.)282951 v
+10 s
+(ne)286451 v
+&11
+(requests may be inaccurate; use normal)3632 1 300356 u
+&12
+(tr)467108 v
+(of)473328 v
+(f)480928 v
+&11
+(pro\001)487340 v
+(cedures, such as k)4063 1 97000 711600 t
+( must ha)4062( user who)4063( The)7213
+(eep\001release macros, in that case.)4063 4 173789 u
+(v)410464 v
+(e a multi\001page box)4062 1 415314 u
+(ed)494560 v
+(table should use macros designed for this purpose, as e)3330 1 97000 723600 t
+(xplained belo)3330 1 323730 u
+(w under)3330 1 378470 u
+(\027Usage.)415120 v
+(\030)445240 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Page: 3 3
+save
+mark
+3 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(3)499500 v
+10 s
+(2\))72000 84000 w
+(F)97000 v
+8 s
+(ORMA)102560 v
+(T)125672 v
+10 s
+( line in this)4257( Each)7587
+( section of the table speci\003es the layout of the columns.)4257( format)4256
+(. The)7406 5 130560 u
+( one line of the table \(e)3938(section corresponds to)3939 2 97000 96000 t
+(xcept that the last line corresponds to all follo)3938 1 289986 u
+(wing)484000 v
+(lines up to the ne)3345 1 97000 108000 t
+(xt)168560 v
+14 s
+(.)180518 v
+10 s
+(T&, if an)3345 1 184018 u
+(y\012see belo)3345 1 222498 u
+( contains a k)3346(w\), and each line)3345 2 265583 u
+(e)389136 v
+(y\001letter for each column of)3346 1 393426 u
+( is good practice to separate the k)3742( It)7072(the table.)3742 3 97000 120000 t
+(e)290258 v
+( Each)7071( column by spaces or tabs.)3741(y letters for each)3742 3 294548 u
+(k)97000 132000 w
+(e)101900 v
+(y\001letter is one of the follo)3330 1 106190 u
+(wing:)212020 v
+&13
+(L)103659 147600 w
+&11
+(or)113657 v
+&13
+(l)127260 v
+&11
+(to indicate a left\001adjusted column entry;)3330 1 147000 u
+&13
+(R)103384 163200 w
+&11
+(or)113657 v
+&13
+(r)126430 v
+&11
+(to indicate a right\001adjusted column entry;)3330 1 147000 u
+&13
+(C)103384 178800 w
+&11
+(or)113657 v
+&13
+(c)126430 v
+&11
+(to indicate a centered column entry;)3330 1 147000 u
+&13
+(N)103384 194400 w
+&11
+(or)113657 v
+&13
+(n)125870 v
+&11
+( column entry)4631(to indicate a numerical)4630 2 147000 u
+(, to be aligned with other numerical entries so)4631 1 303922 u
+(that the units digits of numbers line up;)3330 1 147000 206400 t
+&13
+(A)103384 222000 w
+&11
+(or)113657 v
+&13
+(a)126150 v
+&11
+( aligned on the left,)3899
+(to indicate an alphabetic subcolumn; all corresponding entries are)3898 2 147000 u
+( the column \(see e)3688
+(and positioned so that the widest is centered within)3689 2 147000 234000 t
+(xample on page)3688 1 438304 u
+(13\);)147000 246000 w
+&13
+(S)104213 261600 w
+&11
+(or)113657 v
+&13
+(s)126705 v
+&11
+( spanned heading, i.e., to indicate that the entry from the pre)3458
+(to indicate a)3457 2 147000 u
+(vious column)3458 1 448872 u
+( this column \(not allo)3413(continues across)3414 2 147000 273600 t
+(wed for the)3413 1 302696 u
+(\003rst column of the table, ob)3413 1 353475 u
+(viously\);)468440 v
+(or)147000 285600 w
+14 @13 f
+(^)104493 305400 w
+10 @11 f
+( v)3668(to indicate a)3667 2 147000 301200 t
+(ertically spanned heading, i.e., to indicate that the entry from the prev\
+i\001)3668 1 206732 u
+(ous ro)4127 1 147000 313200 t
+(w continues do)4127 1 173097 u
+(wn through this ro)4127 1 236651 u
+(w \(not allo)4127 1 314892 u
+(wed for the)4127 1 361226 u
+(\003rst ro)4126 1 414146 u
+(w of the table,)4126 1 441912 u
+(ob)147000 325200 w
+(viously\).)156850 v
+( rightmost)3770( The)6920( is sought.)3770
+(When numerical alignment is speci\003ed, a location for the decimal point\
+)3769 4 97000 340800 t
+(dot \()3343 1 97000 352800 t
+14 s
+(.)117286 v
+10 s
+( dot adjoining a digit, the right\001)3342
+( to a digit is used as a decimal point; if there is no)3343(\) adjacent)6673 3 120786 u
+( used as a units digit; if no alignment is indicated, the item is centere\
+d in the column.)3468
+(most digit is)3467 2 97000 364800 t
+(Ho)97000 376800 w
+(we)108970 v
+(v)120380 v
+(er)125230 v
+(, the special non\001printing character string)3361 1 132600 u
+( o)3360(\017& may be used to)3361 2 304676 u
+(v)389660 v
+(erride unconditionally dots)3360 1 394510 u
+(and digits, or to align alphabetic data; this string lines up where a dot\
+ normally w)4014 1 97000 388800 t
+(ould, and then)4015 1 444030 u
+(disappears from the)3335 1 97000 400800 t
+( the e)3334( In)6664(\003nal output.)3334 3 180874 u
+(xample belo)3334 1 268220 u
+(w)317964 v
+(, the items sho)3334 1 324534 u
+(wn at the left will be aligned)3334 1 384566 u
+(\(in a numerical column\) as sho)3330 1 97000 412800 t
+(wn on the right:)3330 1 224490 u
+(13)246220 442800 w
+(13)325446 v
+(4)246220 454800 w
+14 s
+(.)252053 v
+10 s
+(2)255553 v
+(4)330446 v
+14 s
+(.)336279 v
+10 s
+(2)339779 v
+(26)246220 466800 w
+14 s
+(.)257053 v
+10 s
+(4)260553 v
+14 s
+(.)266386 v
+10 s
+(12)269886 v
+(26)316113 v
+14 s
+(.)326946 v
+10 s
+(4)330446 v
+14 s
+(.)336279 v
+10 s
+(12)339779 v
+(abc)246220 478800 w
+(abc)328506 v
+(abc\017&)246220 490800 w
+(abc)321566 v
+(43\017&3)246220 502800 w
+14 s
+(.)272613 v
+10 s
+(22)276113 v
+(433)325446 v
+14 s
+(.)341279 v
+10 s
+(22)344779 v
+(749)246220 514800 w
+14 s
+(.)262053 v
+10 s
+(12)265553 v
+(749)320446 v
+14 s
+(.)336279 v
+10 s
+(12)339779 v
+&13
+(Note:)97000 542400 w
+&11
+( data are used in the same column with wider)4329(If numerical)4328 2 127978 u
+&13
+(L)380546 v
+&11
+(or)391545 v
+&13
+(r)404204 v
+&11
+(type table entries, the)4329 1 412973 u
+(widest)97000 554400 w
+&12
+(number)126515 v
+&11
+(is centered relati)3405 1 160470 u
+(v)228120 v
+(e to the wider)3404 1 232970 u
+&13
+(L)293796 v
+&11
+(or)303870 v
+&13
+(r)315604 v
+&11
+(items \()3404 1 323448 u
+&13
+(L)351852 v
+&11
+(is used instead of)3404 1 361926 u
+&13
+(l)437202 v
+&11
+(for readability;)3404 1 443386 u
+(the)97000 566400 w
+(y ha)4244 1 109070 u
+(v)127554 v
+( k)4245(e the same meaning as)4244 2 132404 u
+(e)238505 v
+( within the numerical items is preserv)4245(y\001letters\). Alignment)7025 2 242795 u
+(ed.)492060 v
+(This is similar to the beha)5159 1 97000 578400 t
+(vior of)5159 1 213705 u
+&13
+(a)248463 v
+&11
+( e)5158(type data, as)5159 2 258622 u
+(xplained abo)5158 1 323098 u
+(v)376986 v
+(e. Ho)8488 1 381836 u
+(we)409234 v
+(v)420644 v
+(er)425494 v
+(, alphabetic sub\001)5158 1 432864 u
+(columns \(requested by the)3898 1 97000 590400 t
+&13
+(a)210352 v
+&11
+(k)219250 v
+(e)224150 v
+(y\001letter\) are al)3898 1 228440 u
+(w)287776 v
+(ays slightly indented relati)3898 1 294896 u
+(v)404670 v
+(e to)3898 1 409520 u
+&13
+(L)429536 v
+&11
+(items; if neces\001)3898 1 440104 u
+(sary)97000 602400 w
+( is not true for)3330( This)6480
+(, the column width is increased to force this.)3330 3 113010 u
+&13
+(n)384420 v
+&11
+(type entries.)3330 1 393310 u
+&13
+(W)78660 618000 w
+(ar)88010 v
+(ning:)97300 v
+&11
+(The)97000 630000 w
+&13
+(n)115880 v
+&11
+(and)124770 v
+&13
+(a)142540 v
+&11
+(items should not be used in the same column.)3330 1 150870 u
+(F)97000 645600 w
+(or readability)3610 1 102410 u
+(, the k)3610 1 156470 u
+(e)183310 v
+( end of)3610( The)6760
+(y\001letters describing each column should be separated by spaces.)3610 3 187600 u
+( layout of the k)4548( The)7698( is indicated by a period.)4548
+(the format section)4549 4 97000 657600 t
+(e)373758 v
+(y\001letters in the format section)4548 1 378048 u
+( a simple format might appear as:)3330( Thus)6480
+(resembles the layout of the actual data in the table.)3330 3 97000 669600 t
+(c s s)6660 1 117000 681600 t
+(l n n)6660 1 117000 693600 t
+14 s
+(.)147263 v
+10 s
+( The)4214(which speci\003es a table of three columns.)4394 2 97000 705600 t
+( the table contains a heading centered)4395(\003rst line of)4394 2 294992 u
+( line contains a left\001adjusted item in the)3729
+(across all three columns; each remaining)3730 2 97000 717600 t
+(\003rst column fol\001)3729 1 436542 u
+(lo)97000 729600 w
+(wed by tw)3330 1 104530 u
+( sample table in this format might be:)3330( A)6110
+(o columns of numerical data.)3330 3 147750 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 3
+%%Page: 4 4
+save
+mark
+4 pagesetup
+9 @11 f
+(4)72000 48000 w
+&12
+(TBL)487743 v
+10 @11 f
+(Ov)108740 84000 w
+(erall title)3330 1 120810 u
+(Item\001a)137000 96000 w
+(34.22)199210 v
+(9.1)241710 v
+(Item\001b)137000 108000 w
+(12.65)199210 v
+(.02)246710 v
+(Items: c,d,e)3330 1 137000 120000 t
+(23)199210 v
+(5.8)241710 v
+(T)137000 132000 w
+(otal)142310 v
+(69.87)199210 v
+(14.92)236710 v
+(There are some additional features of the k)3330 1 97000 156000 t
+(e)274050 v
+(y\001letter system:)3330 1 278340 u
+&12
+(Horizontal lines)3330 1 103660 171600 t
+&11
+( k)3977(\012 A)3427 2 122000 183600 t
+(e)146524 v
+(y\001letter may be replaced by)3977 1 150814 u
+(\027)270109 v
+&20
+(\044)273439 v
+&11
+( to indicate a horizontal line in place of)3978(\030 \(underscore\))3237 2 278439 u
+(the corresponding column entry)4114 1 122000 195600 t
+(, or by)4114 1 253672 u
+( an adja\001)4114( If)7444( indicate a double horizontal line.)4114
+(\027=\030 to)3374 4 286844 u
+(cent column contains a horizontal line, or if there are v)4244 1 122000 207600 t
+(ertical lines adjoining this column,)4245 1 358410 u
+(this horizontal line is e)4133 1 122000 219600 t
+( an)4132( If)7462( lines.)4132(xtended to meet the nearby)4133 4 219492 u
+(y data entry is pro)4132 1 387400 u
+(vided for)4132 1 465988 u
+(this column, it is ignored and a w)3330 1 122000 231600 t
+(arning message is printed.)3330 1 261040 u
+&12
+(V)103660 247200 w
+(ertical lines)3330 1 108660 u
+&11
+( v)3946(\012 A)3396 2 122000 259200 t
+( placed between column k)3947(ertical bar may be)3946 2 146412 u
+(e)332778 v
+( will cause a v)3947(y\001letters. This)7097 2 337068 u
+(ertical line)3947 1 460063 u
+( v)3956( A)6736( the table.)3956(between the corresponding columns of)3957 4 122000 271200 t
+(ertical bar to the left of the)3956 1 347632 u
+(\003rst k)3956 1 466964 u
+(e)491380 v
+(y\001)495670 v
+( tw)3714( If)7044( line at the edge of the table.)3714
+(letter or to the right of the last one produces a)3713 4 122000 283200 t
+(o v)3714 1 465446 u
+(ertical)479010 v
+(bars appear between k)3330 1 122000 295200 t
+(e)213520 v
+(y\001letters, a double v)3330 1 217810 u
+(ertical line is dra)3330 1 299580 u
+(wn.)368850 v
+&12
+(Space between columns)3330 1 103660 310800 t
+&11
+( number may follo)3468(\012 A)2918 2 122000 322800 t
+(w the k)3468 1 213952 u
+(e)245228 v
+(y\001letter)249518 v
+( indicates the amount of separation between this)3469(. This)6619 2 277848 u
+(column and the ne)3881 1 122000 334800 t
+( in)3880( number normally speci\003es the separation)3881( The)7031
+(xt column.)3881 4 199593 u
+&12
+(ens)455700 v
+&11
+(\(one en)3880 1 472910 u
+(is about the width of the letter)3891 1 122000 346800 t
+( the)3891(\027n\030\).* If)7221 2 254227 u
+&12
+(e)310600 v
+(xpand)314840 v
+&11
+( these numbers are)3892(option is used, then)3891 2 343171 u
+( The)8375( as the current line length.)5225
+(multiplied by a constant such that the table is as wide)5226 3 122000 358800 t
+(def)122000 370800 w
+( is changed the w)3847( the separation)3846( If)7176
+(ault column separation number is 3.)3846 4 134670 u
+(orst case \(lar)3847 1 434286 u
+(gest)487890 v
+(space requested\) go)3330 1 122000 382800 t
+(v)202370 v
+(erns.)207220 v
+&12
+(V)103660 398400 w
+(ertical spanning)3330 1 108660 u
+&11
+(\012 Normally)3360 1 122000 410400 t
+(, v)3360 1 168040 u
+(ertically spanned items e)3360 1 178750 u
+(xtending o)3360 1 280330 u
+(v)323540 v
+(er se)3360 1 328390 u
+(v)347600 v
+(eral ro)3360 1 352450 u
+(ws of the table are centered in)3360 1 378880 u
+(their v)5336 1 122000 422400 t
+( a k)5336( If)8666(ertical range.)5336 3 150516 u
+(e)240890 v
+(y\001letter is follo)5336 1 245180 u
+(wed by)5336 1 310042 u
+&13
+(t)347374 v
+&11
+(or)356040 v
+&13
+(T)369705 v
+&11
+(, an)5335 1 376375 u
+(y corresponding v)5335 1 393500 u
+(ertically)471230 v
+(spanned item will be)3330 1 122000 434400 t
+(gin at the top line of its range.)3330 1 207390 u
+&12
+(F)103660 450000 w
+(ont c)3330 1 108720 u
+(hang)129120 v
+(es)149020 v
+&11
+( k)3980(\012 A)3430 2 122000 462000 t
+(e)146530 v
+(y\001letter may be follo)3980 1 150820 u
+(wed by a string containing a font name or number preceded by)3980 1 236940 u
+(the letter)3715 1 122000 474000 t
+&13
+(f)162200 v
+&11
+(or)169245 v
+&13
+(F)181290 v
+&11
+( that the corresponding column should be in a dif)3714( indicates)3715
+(. This)6865 3 187400 u
+(ferent font)3714 1 460856 u
+(from the def)4169 1 122000 486000 t
+( or tw)4170( font names are one)4169( All)6949
+(ault font \(usually Roman\).)4169 4 174668 u
+(o letters; a one\001letter)4170 1 416510 u
+(font name should be separated from whate)3906 1 122000 498000 t
+(v)300146 v
+(er follo)3906 1 304996 u
+(ws by a space or tab)3906 1 335312 u
+( single letters)3906(. The)7056 2 422752 u
+&13
+(B)122000 510000 w
+&11
+(,)128670 v
+&13
+(b)135890 v
+&11
+(,)141450 v
+&13
+(I)148670 v
+&11
+(, and)4720 1 152560 u
+&13
+(i)178940 v
+&11
+(are shorter synon)4720 1 186440 u
+(yms for)4720 1 259600 u
+&13
+(f)297370 v
+(B)301533 v
+&11
+(and)312923 v
+&13
+(f)332083 v
+(I)336246 v
+&11
+(. F)8050 1 340136 u
+(ont\001change requests gi)4721 1 356096 u
+(v)450268 v
+(en with the)4721 1 455118 u
+(table entries o)3330 1 122000 522000 t
+(v)179610 v
+(erride these speci\003cations.)3330 1 184460 u
+&12
+(P)103660 537600 w
+(oint size c)3330 1 108970 u
+(hang)150480 v
+(es)170380 v
+&11
+( k)3701(\012 A)3151 2 122000 549600 t
+(e)145972 v
+(y\001letter may be follo)3701 1 150262 u
+(wed by the letter)3701 1 235545 u
+&13
+(p)309780 v
+&11
+(or)319042 v
+&13
+(P)331074 v
+&11
+(and a number to indicate the point size)3702 1 340886 u
+( a signed digit, in which case it is)4167( number may be)4168( The)7318
+(of the corresponding table entries.)4168 4 122000 561600 t
+(tak)122000 573600 w
+( both a point size and a)3936( If)7266
+( increment or decrement from the current point size.)3936(en as an)3935 4 134120 u
+(column separation v)3330 1 122000 585600 t
+(alue are gi)3330 1 204510 u
+(v)247570 v
+(en, one or more blanks must separate them.)3330 1 252420 u
+&12
+(V)103660 601200 w
+(ertical spacing c)3330 1 108660 u
+(hang)176830 v
+(es)196730 v
+&11
+( k)4225(\012 A)3675 2 122000 613200 t
+(e)147020 v
+(y\001letter may be follo)4225 1 151310 u
+(wed by the letter)4225 1 238165 u
+&13
+(v)314495 v
+&11
+(or)323720 v
+&13
+(V)336275 v
+&11
+(and a number to indicate the v)4225 1 347720 u
+(ertical)479010 v
+(line spacing to be used within a multi\001line corresponding table entry)3470 1 122000 625200 t
+( number may be a)3470(. The)6620 2 403800 u
+( which case it is tak)3392(signed digit, in)3391 2 122000 637200 t
+(en as an increment or decrement from the current v)3392 1 266472 u
+(ertical)479010 v
+( v)4259( column separation)4260(spacing. A)7040 3 122000 649200 t
+(alue must be separated by blanks or some other speci\003ca\001)4259 1 257939 u
+(tion from a v)4670 1 122000 661200 t
+( request has no ef)4670( This)7820(ertical spacing request.)4670 3 180300 u
+(fect unless the corresponding)4670 1 380570 u
+(table entry is a te)3330 1 122000 673200 t
+(xt block \(see belo)3330 1 193490 u
+(w\).)266550 v
+8 @19 f
+(\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011\
+)72000 698000 w
+&11
+(* More precisely)2664 1 72000 708000 t
+(, an en is a number of points \(1 point = 1/72 inch\) equal to half the c\
+urrent type size.)2664 1 127016 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 4 4
+%%Page: 5 5
+save
+mark
+5 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(5)499500 v
+10 @12 f
+(Column width indication)3330 1 103660 84000 t
+&11
+( k)3391(\012 A)2841 2 122000 96000 t
+(e)145352 v
+(y\001letter may be follo)3391 1 149642 u
+( the letter)3392(wed by)3391 2 233995 u
+&13
+(w)306992 v
+&11
+(or)317604 v
+&13
+(W)329326 v
+&11
+(and a width v)3392 1 342718 u
+( This)6542(alue in parentheses.)3392 2 399304 u
+( the lar)4067( If)7397( used as a minimum column width.)4067(width is)4068 4 122000 108000 t
+(gest element in the column is not as)4067 1 349981 u
+(wide as the width v)3340 1 122000 120000 t
+(alue gi)3340 1 202880 u
+(v)230410 v
+(en after the)3340 1 235260 u
+&13
+(w)285260 v
+&11
+(, the lar)3340 1 292480 u
+( If)6670(gest element is assumed to be that wide.)3340 2 324250 u
+(the lar)4055 1 122000 132000 t
+( wider than the speci\003ed v)4054(gest element in the column is)4055 2 148645 u
+( The)7204(alue, its width is used.)4054 2 386140 u
+( a def)4019(width is also used as)4018 2 122000 144000 t
+(ault line length for included te)4019 1 235440 u
+( Normal)7349(xt blocks.)4019 2 363705 u
+&12
+(tr)446032 v
+(of)452252 v
+(f)459852 v
+&11
+(units can)4019 1 466651 u
+(be used to scale the width v)3499 1 122000 156000 t
+(alue; if none are used, the def)3499 1 238284 u
+( width speci\003ca\001)3498( the)3499( If)6829(ault is ens.)3499 4 362198 u
+(tion is a unitless inte)3526 1 122000 168000 t
+( the width v)3527( If)6857(ger the parentheses may be omitted.)3526 3 208184 u
+(alue is changed in a)3527 1 421022 u
+(column, the)3330 1 122000 180000 t
+&12
+(last)173380 v
+&11
+(one gi)3330 1 191160 u
+(v)216460 v
+(en controls.)3330 1 221310 u
+&12
+(Equal\001width columns)3330 1 103660 195600 t
+&11
+( k)4308(\012 A)3758 2 122000 207600 t
+(e)147186 v
+(y\001letter may be follo)4308 1 151476 u
+(wed by the letter)4308 1 238580 u
+&13
+(e)315242 v
+&11
+(or)323990 v
+&13
+(E)336628 v
+&11
+( All)7089( columns.)4309(to indicate equal\001width)4308 3 347606 u
+(columns whose k)4054 1 122000 219600 t
+(e)194448 v
+(y\001letters are follo)4054 1 198738 u
+(wed by)4054 1 270466 u
+&13
+(e)305233 v
+&11
+(or)313726 v
+&13
+(E)326109 v
+&11
+( permits)4053( This)7203(are made the same width.)4053 3 336832 u
+(the user to get a group of re)3330 1 122000 231600 t
+(gularly spaced columns.)3330 1 237910 u
+&12
+(Sta)103660 247200 w
+(g)116340 v
+(g)121240 v
+(er)126140 v
+(ed columns)3330 1 134100 u
+&11
+( k)3647(\012 A)3097 2 122000 259200 t
+(e)145864 v
+(y\001letter may be follo)3647 1 150154 u
+(wed by the letter)3647 1 235275 u
+&13
+(u)309293 v
+&11
+(or)318500 v
+&13
+(U)330477 v
+&11
+( entry)3648(to indicate that the corresponding)3647 2 341344 u
+( mo)4814(is to be)4815 2 122000 271200 t
+(v)172964 v
+( mak)4814( This)7964(ed up one\001half line.)4814 3 177814 u
+(es it easy)4814 1 310194 u
+(, for e)4814 1 350832 u
+(xample, to ha)4814 1 378910 u
+(v)437498 v
+(e a column of)4814 1 442348 u
+(dif)122000 283200 w
+( The)6532(ferences between numbers in an adjoining column.)3382 2 132860 u
+&12
+(allbox)367186 v
+&11
+(option does not w)3383 1 395568 u
+(ork with)3383 1 469507 u
+(staggered columns.)3330 1 122000 295200 t
+&12
+(Zer)103660 310800 w
+(o\001width item)3330 1 117100 u
+&11
+( k)3974(\012 A)3424 2 122000 322800 t
+(e)146518 v
+(y\001letter may be follo)3974 1 150808 u
+(wed by the letter)3974 1 236910 u
+&13
+(z)312236 v
+&11
+(or)320650 v
+&13
+(Z)332954 v
+&11
+( corresponding data)3975(to indicate that the)3974 2 343598 u
+( may be useful, for e)4583( This)7733( calculating column widths.)4583
+(item is to be ignored in)4584 4 122000 334800 t
+(xample, in)4583 1 459697 u
+(allo)122000 346800 w
+(wing headings to run across adjacent columns where spanned headings w)4229 1 136750 u
+(ould be inap\001)4230 1 447770 u
+(propriate.)122000 358800 w
+&13
+(Note:)103660 374400 w
+&11
+(The order of the abo)3754 1 122000 386400 t
+(v)208506 v
+(e features is immaterial; the)3754 1 213356 u
+(y need not be separated by spaces, e)3754 1 329312 u
+(xcept)482340 v
+(as indicated abo)5420 1 122000 398400 t
+(v)192120 v
+(e to a)5420 1 196970 u
+(v)224270 v
+(oid ambiguities in)5420 1 229070 u
+(v)306740 v
+( a)5420( Thus)8570(olving point size and font changes.)5420 3 311540 u
+( minimum width of 2.5 inches)3450
+(numerical column entry in italic font and 12\001point type with a)3449 2 122000 410400 t
+(and separated by 6 ens from the ne)3330 1 122000 422400 t
+(xt column could be speci\003ed as)3330 1 266790 u
+(np12w\(2)172000 434400 w
+14 s
+(.)208383 v
+10 s
+(5i\)f)211883 v
+(I 6)6660 1 227989 u
+&12
+(Alternative notation)3330 1 103660 450000 t
+&11
+(\012 Instead of listing the format of successi)3742 1 122000 462000 t
+(v)295144 v
+( on consecuti)3743(e lines of a table)3742 2 299994 u
+(v)425508 v
+(e lines of the for)3743 1 430358 u
+(\001)500670 v
+(mat section, successi)4034 1 122000 474000 t
+(v)208418 v
+(e line formats may be gi)4034 1 213268 u
+(v)317618 v
+( the same line, separated by commas,)4033(en on)4034 2 322468 u
+(so that the format for the e)3330 1 122000 486000 t
+(xample abo)3330 1 232920 u
+(v)279980 v
+(e might ha)3330 1 284830 u
+(v)328510 v
+(e been written:)3330 1 333360 u
+(c s s)5000 1 172000 498000 t
+&13
+(,)199220 v
+&11
+(l n n)5000 1 206720 u
+14 s
+(.)235333 v
+10 @12 f
+(Default)103660 513600 w
+&11
+( the end of a format line are assumed to be)4844
+(\012 Column descriptors missing from)4843 2 122000 525600 t
+&13
+(L)471286 v
+&11
+(. The)7994 1 477956 u
+(longest line in the format section, ho)4943 1 122000 537600 t
+(we)282788 v
+(v)294198 v
+(er)299048 v
+( the table;)4942(, de\003nes the number of columns in)4943 2 306418 u
+(e)122000 549600 w
+(xtra columns in the data are ignored silently)3330 1 126290 u
+(.)307260 v
+(3\))72000 571200 w
+(D)97000 v
+8 s
+(A)104220 v
+(T)109108 v
+(A)113252 v
+10 s
+( Normally)6760( the format.)3430( data for the table are typed after)3429
+(. The)6579 4 119028 u
+(, each table line is typed as one)3430 1 373070 u
+( V)6768(line of data.)3938 2 97000 583200 t
+( input lines can be brok)3937(ery long)3938 2 160244 u
+(en: an)3937 1 295417 u
+(y line whose last character is)3937 1 320864 u
+(\017 is combined)3937 1 447236 u
+(with the follo)3643 1 97000 595200 t
+(wing line \(and the)3643 1 152926 u
+(\017 v)3643 1 232488 u
+( data for dif)3643(anishes\). The)6793 2 243661 u
+( entries\) are)3644(ferent columns \(the table)3643 2 351383 u
+(separated by tabs, or by whate)4215 1 97000 607200 t
+(v)226405 v
+(er character has been speci\003ed in the option)4215 1 231255 u
+&12
+(tabs)422705 v
+&11
+(option. There)7364 1 445256 u
+(are a fe)3330 1 97000 619200 t
+(w special cases:)3330 1 127830 u
+&12
+(T)103660 634800 w
+(r)108670 v
+(of)112110 v
+(f r)3330 1 119710 u
+(equests within tables)3330 1 129340 u
+&11
+( be)3720( input line)3719(\012 An)3169 3 122000 646800 t
+(ginning with a)3720 1 198397 u
+(\027)262337 v
+14 s
+(.)266500 v
+10 s
+(\030 follo)2980 1 270000 u
+(wed by an)3720 1 294950 u
+(ything b)3720 1 338340 u
+(ut a number is assumed to be a)3720 1 372420 u
+(request to)3788 1 122000 658800 t
+&12
+(tr)166236 v
+(of)172456 v
+(f)180056 v
+&11
+( for)3788( So,)7118
+(and is passed through unchanged, retaining its position in the table.)3788 3 186624 u
+(e)122000 670800 w
+(xample, space within a table may be produced by)3330 1 126290 u
+(\027)333720 v
+(\027)336310 v
+14 s
+(.)340473 v
+10 s
+(sp\030)343973 v
+( in the data.)3330(\030 requests)2590 2 355453 u
+&12
+(Full width horizontal lines)3330 1 103660 686400 t
+&11
+( input)3455(\012 An)2905 2 122000 698400 t
+&12
+(line)169595 v
+&11
+(containing only the character)3455 1 189716 u
+&20
+(\044)312396 v
+(\044)312896 v
+&11
+(\(underscore\) or)3456 1 321352 u
+&13
+(=)387124 v
+&11
+(\(equal sign\) is tak)3456 1 396280 u
+(en to be)3456 1 470428 u
+(a single or double line, respecti)3330 1 122000 710400 t
+(v)250880 v
+(ely)255730 v
+(, e)3330 1 267300 u
+(xtending the full width of the)3330 1 277420 u
+&12
+(table)401840 v
+(.)421690 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 5 5
+%%Page: 6 6
+save
+mark
+6 pagesetup
+9 @11 f
+(6)72000 48000 w
+&12
+(TBL)487743 v
+10 s
+(Single column horizontal lines)3330 1 103660 84000 t
+&11
+( input table)3441(\012 An)2891 2 122000 96000 t
+&12
+(entry)192434 v
+&11
+(containing only the character)3442 1 218092 u
+&20
+(\044)340720 v
+(\044)341220 v
+&11
+(or)349662 v
+&13
+(=)361434 v
+&11
+(is tak)3442 1 370576 u
+(en to be a single or double)3442 1 392808 u
+(line e)4101 1 122000 108000 t
+(xtending the full width of the)4101 1 145391 u
+&12
+(column.)274437 v
+&11
+(Such lines are e)4101 1 312144 u
+( or)4100(xtended to meet horizontal)4101 2 379837 u
+(v)122000 120000 w
+( T)6525(ertical lines adjoining this column.)3375 2 126850 u
+( e)3376(o obtain these characters)3375 2 280795 u
+(xplicitly in a column, either)3376 1 389666 u
+(precede them by)3330 1 122000 132000 t
+(\017& or follo)3330 1 193080 u
+(w them by a space before the usual tab or ne)3330 1 237270 u
+(w\001line.)423050 v
+&12
+(Short horizontal lines)3330 1 103660 147600 t
+&11
+( input table)3927(\012 An)3377 2 122000 159600 t
+&12
+(entry)194378 v
+&11
+(containing only the string)3927 1 220521 u
+(\017)331229 v
+&20
+(\044)334842 v
+&11
+(is tak)3927 1 343769 u
+(en to be a single line as wide as)3928 1 366486 u
+( is not e)3330( It)6660(the contents of the column.)3330 3 122000 171600 t
+(xtended to meet adjoining lines.)3330 1 280420 u
+&12
+(Repeated c)3330 1 103660 187200 t
+(har)148490 v
+(acter)162230 v
+(s)182680 v
+&11
+( input table)3675(\012 An)3125 2 122000 199200 t
+&12
+(entry)193370 v
+&11
+( form)3676(containing only a string of the)3675 2 219261 u
+&12
+(\017)372198 v
+(\017)372698 v
+&13
+(R)375478 v
+&12
+(x)382698 v
+&11
+(where)390814 v
+&12
+(x)418920 v
+&11
+(is an)3676 1 428702 u
+(y character is)3676 1 448338 u
+(replaced by repetitions of the character)3737 1 122000 211200 t
+&12
+(x)287702 v
+&11
+( sequence)3736( The)6886( as the data in the column.)3736(as wide)3737 4 297545 u
+(of)122000 223200 w
+&12
+(x)133660 v
+&11
+(\030)139766 v
+(s is not e)3330 1 142546 u
+(xtended to meet adjoining columns.)3330 1 180166 u
+&12
+(V)103660 238800 w
+(ertically spanned items)3330 1 108660 u
+&11
+( entry containing only the character string)4085( input table)4084
+(\012 An)3534 3 122000 250800 t
+(\017)371707 v
+14 s
+(^)375320 255000 w
+10 s
+(indicates that the table entry)4085 1 384900 250800 t
+(immediately abo)4440 1 122000 262800 t
+(v)190730 v
+(e spans do)4440 1 195580 u
+(wnw)240870 v
+(ard o)4440 1 260210 u
+(v)282270 v
+(er this ro)4440 1 287120 u
+(w)326300 v
+( is equi)4440(. It)7770 2 332870 u
+(v)381770 v
+(alent to a table format k)4440 1 386520 u
+(e)491380 v
+(y\001)495670 v
+(letter of)3330 1 122000 274800 t
+(\027)157540 v
+14 s
+(^)161703 279000 w
+10 s
+(\030.)167198 274800 w
+&12
+(T)103660 290400 w
+(e)108300 v
+(xt bloc)3330 1 112540 u
+(ks)140110 v
+&11
+( block of te)3735(\012 In order to include a)3734 2 122000 302400 t
+(xt as a table entry)3735 1 265585 u
+( T{)3555(, precede it by)3735 2 340415 u
+(T{ and follo)3735 1 404825 u
+( T})3555(w it by)3735 2 456285 u
+(T}.)490590 v
+(Thus the sequence)3330 1 122000 314400 t
+14 s
+(.)149493 326400 w
+(.)155492 v
+(.)161491 v
+10 s
+(T{)168141 v
+(T{)168641 v
+&12
+(bloc)148660 338400 w
+(k of)3330 1 165680 u
+(te)148660 350400 w
+(xt)155680 v
+&11
+(T})148480 362400 w
+(T})148980 v
+14 s
+(.)164053 v
+(.)170052 v
+(.)176051 v
+10 s
+(is the w)4603 1 122000 374400 t
+(ay to enter)4603 1 157216 u
+( con)4604(, as a single entry in the table, something that cannot)4603 2 203232 u
+(v)452886 v
+(eniently be)4604 1 457736 u
+( T})4202( the)4382( that)4383( Note)7713
+(typed as a simple string between tabs.)4383 5 122000 386400 t
+(T} end delimiter must be)4382 1 352508 u
+(gin a line;)4382 1 460236 u
+( data may follo)4442(additional columns of)4441 2 122000 398400 t
+( the e)4442( See)7772(w after a tab on the same line.)4442 3 278948 u
+(xample on)4442 1 460118 u
+(page 11 for an illustration of included te)3850 1 122000 410400 t
+( more than thirty or so te)3849( If)7179( in a table.)3849(xt blocks)3850 4 292110 u
+(xt)496220 v
+(blocks are used in a table, v)3553 1 122000 422400 t
+( the)3554(arious limits in)3553 2 238878 u
+&12
+(tr)320322 v
+(of)326542 v
+(f)334142 v
+&11
+(program are lik)3554 1 340476 u
+(ely to be e)3554 1 404134 u
+(xceeded, pro\001)3554 1 448526 u
+(ducing diagnostics such as)3330 1 122000 434400 t
+(\027too man)3330 1 234200 u
+( or)2590(y string/macro names\030)3330 2 270710 u
+(\027too man)3330 1 376050 u
+(y number re)3330 1 412560 u
+(gisters.)462390 v
+(\030)490300 v
+(T)122000 450000 w
+(e)127410 v
+(xt blocks are pulled out from the table, processed separately by)3836 1 131700 u
+&12
+(tr)401346 v
+(of)407566 v
+(f)415166 v
+(,)417846 v
+&11
+(and replaced in the)3836 1 424182 u
+( no line length is speci\003ed in the)3483( If)6813
+(table as a solid block.)3483 3 122000 462000 t
+&12
+(bloc)365869 v
+(k of te)3483 1 382889 u
+(xt)409095 v
+&11
+(itself, or in the table)3483 1 419798 u
+(format, the def)3646 1 122000 474000 t
+(ault is to use)3646 1 183342 u
+&12
+(L)240706 v
+&20
+(\145)247099 v
+&12
+(C)252589 v
+&20
+(\132)260925 v
+&11
+(\()262595 v
+&12
+(N)265925 v
+&20
+(\006)274261 v
+&11
+(1\) where)3646 1 279751 u
+&12
+(L)319803 v
+&11
+(is the current line length,)3646 1 329009 u
+&12
+(C)436949 v
+&11
+(is the number)3647 1 447266 u
+(of table columns spanned by the te)4442 1 122000 486000 t
+(xt, and)4442 1 272372 u
+&12
+(N)305976 v
+&11
+( columns in the table.)4441(is the total number of)4442 2 317088 u
+( used in setting the)4651(The other parameters \(point size, font, etc.\))4650 2 122000 498000 t
+&12
+(bloc)396165 v
+(k of te)4651 1 413185 u
+(xt)441727 v
+&11
+(are those in)4651 1 453598 u
+(ef)122000 510000 w
+(fect at the be)3765 1 129520 u
+(ginning of the table \(including the ef)3764 1 184535 u
+(fect of the)3764 1 338519 u
+(\027)385351 v
+(\027)387941 v
+14 s
+(.)392104 v
+10 s
+(TS\030)395604 v
+( and an)3764(\030 macro\))3024 2 409864 u
+(y table)3764 1 475796 u
+(format speci\003cations of size, spacing, and font, using the)3495 1 122000 522000 t
+&13
+(p)360925 v
+&11
+(,)366485 v
+&13
+(v)372480 v
+&11
+(and)380975 v
+&13
+(f)398910 v
+&11
+(modi\003ers to the column)3495 1 405735 u
+(k)122000 534000 w
+(e)126900 v
+( within the te)4184(y\001letters. Requests)7514 2 131190 u
+( Ho)7513(xt block itself are also recognized, of course.)4183 2 267486 u
+(we)477870 v
+(v)489280 v
+(er)494130 v
+(,)501500 v
+&12
+(tr)122000 546000 w
+(of)128220 v
+(f)135820 v
+&11
+(requests within the table data b)3330 1 143596 u
+(ut not within the te)3330 1 271696 u
+(xt block do not af)3330 1 350426 u
+(fect that block.)3330 1 424046 u
+&13
+(W)103660 561600 w
+(ar)113010 v
+(nings:)122300 v
+&11
+(Although an)3593 1 122000 573600 t
+( of lines may be present in a table, only the)3594(y number)3593 2 172663 u
+(\003rst 200 lines are used in)3594 1 398260 u
+( multi\001page table, of course, may be arranged as se)4304
+(setting up the table; a)4305 2 122000 585600 t
+(v)433756 v
+(eral single\001page)4304 1 438606 u
+( pro)3938(tables if this)3937 2 122000 597600 t
+(v)190882 v
+( dif\003culties with formatting may arise because,)3938( Other)7268
+(es to be a problem.)3938 3 195732 u
+( of column widths all table entries are assumed to be in the font and siz\
+e)3944
+(in the calculation)3945 2 122000 609600 t
+(being used when the)4483 1 122000 621600 t
+(\027)214362 v
+(\027)216952 v
+14 s
+(.)221115 v
+10 s
+(TS\030)224615 v
+( w)4484(\030 command)3743 2 238875 u
+(as encountered, e)4484 1 296992 u
+(xcept for font and size changes)4484 1 369950 u
+( format section and \(b\) within the table data \(as in the entry)5476
+(indicated \(a\) in the table)5477 2 122000 633600 t
+&13
+(\017s+3\017fIData\017fP\017s0)122000 645600 w
+&11
+( although arbitrary)3859(\). Therefore,)7009 2 193810 u
+&12
+(tr)329576 v
+(of)335796 v
+(f)343396 v
+&11
+( table,)3860(requests may be sprinkled in a)3859 2 350035 u
+( tak)3375(care must be)3376 2 122000 657600 t
+(en to a)3375 1 189787 u
+(v)217997 v
+(oid confusing the width calculations; use requests such as)3375 1 222797 u
+(\027)463702 v
+14 s
+(.)467865 v
+10 s
+(ps\030 with)2635 1 471365 u
+(care.)122000 669600 w
+(4\))72000 691200 w
+(A)97000 v
+8 s
+(DDITION)104220 v
+(AL COMMAND LINES)3116 1 137260 u
+10 s
+( the format of a table must be changed after man)3782(. If)7112 2 219484 u
+(y similar lines,)3782 1 442266 u
+(as with sub\001headings or summarizations, the)4847 1 97000 703200 t
+(\027)291342 v
+(\027)293932 v
+14 s
+(.)298095 v
+10 s
+(T&\030)301595 v
+( can be used to)4846( continue\) command)4847(\030 \(table)4107 3 318075 u
+( outline of such a table input is:)3330( The)6480
+(change column parameters.)3330 3 97000 715200 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 6 6
+%%Page: 7 7
+save
+mark
+7 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(7)499500 v
+14 s
+(.)133833 90000 w
+10 s
+(TS)137333 v
+&12
+(options)133000 102000 w
+&13
+(;)165780 v
+&12
+(format)133000 114000 w
+14 s
+(.)163833 v
+10 s
+(data)133000 126000 w
+14 s
+(.)133833 138000 w
+(.)139832 v
+(.)145831 v
+&11
+(.)133833 150000 w
+10 s
+(T&)137333 v
+&12
+(format)133000 162000 w
+14 s
+(.)163833 v
+10 s
+(data)133000 174000 w
+14 @11 f
+(.)133833 186000 w
+10 s
+(T&)137333 v
+&12
+(format)133000 198000 w
+14 s
+(.)163833 v
+10 s
+(data)133000 210000 w
+14 @11 f
+(.)133833 222000 w
+10 s
+(TE)137333 v
+(as in the e)3859 1 97000 240000 t
+( procedure, each table line can be close to its)3860( this)3859( Using)7189
+(xamples on pages 10 and 13.)3859 4 141197 u
+(corresponding format line.)3330 1 97000 252000 t
+&13
+(W)78660 267600 w
+(ar)88010 v
+(ning:)97300 v
+&11
+( columns, the global options)3392
+(It is not possible to change the number of columns, the space between)3391 2 97000 279600 t
+(such as)4756 1 97000 291600 t
+&12
+(box,)133172 v
+&11
+( Furthermore,)8086(or the selection of columns to be made equal\001width.)4756 2 154868 u
+(\027)445717 v
+(\027)448307 v
+14 s
+(.)452470 v
+10 s
+(T&\030)455970 v
+( not)4755(\030 is)4015 2 472450 u
+(recognized after the)3330 1 97000 303600 t
+(\003rst 200 lines of a table.)3330 1 181400 u
+&13
+(USA)72000 327600 w
+(GE)91450 v
+&11
+(On)97000 343200 w
+9 s
+(UNIX)112550 v
+10 s
+(,)135041 v
+&12
+(tbl)140871 v
+&11
+(can be run on a simple table with the command)3330 1 154761 u
+(tbl input\001f)4996 1 108000 361200 t
+(ile)150576 v
+&20
+(\210)165572 v
+&11
+(trof)175508 v
+(f)189698 v
+(b)72000 379200 w
+( se)3611(ut for more complicated use, where there are)3610 2 76800 u
+(v)275091 v
+(eral input f)3611 1 279941 u
+(iles, and the)3611 1 325843 u
+(y contain equations and)3611 1 375965 u
+&12
+(ms)477619 v
+&11
+(\(or)492340 v
+&12
+(mm)72000 391200 w
+&11
+(\) macro requests as well as tables, the normal command w)3330 1 86440 u
+(ould be)3330 1 327650 u
+(tbl f)4996 1 108000 409200 t
+(ile\0011 f)4996 1 126686 u
+(ile\0012)153142 v
+14 s
+(.)177301 v
+(.)183300 v
+(.)189299 v
+10 @20 f
+(\210)197795 v
+&11
+(eqn)207731 v
+&20
+(\210)227167 v
+&11
+(trof)237103 v
+(f)251293 v
+(\012ms)259619 v
+(\(or)312289 v
+(\012mm\))328945 v
+(and, of course, the usual options may be used on the)4116 1 72000 427200 t
+&12
+(tr)301136 v
+(of)307356 v
+(f)314956 v
+&11
+(and)321852 v
+&12
+(eqn)340408 v
+&11
+( usage for)4117(commands. The)7267 2 358965 u
+&12
+(nr)474393 v
+(of)482833 v
+(f)490433 v
+&11
+(is)497330 v
+(similar to that for)3712 1 72000 439200 t
+&12
+(tr)149068 v
+(of)155288 v
+(f)162888 v
+(,)165568 v
+&11
+(b)171780 v
+(ut only)3712 1 176580 u
+9 @12 f
+(TELETYPE)209564 v
+10 @20 f
+(\171)252409 v
+&11
+(Model 37 and Diablo\001mechanism \()3712 1 264021 u
+9 s
+(D)408849 v
+(ASI)414987 v
+10 s
+(or)433198 v
+9 s
+(GSI)445240 v
+10 s
+(\) terminals)3711 1 459739 u
+(can print box)3330 1 72000 451200 t
+(ed tables directly)3330 1 126280 u
+( a f)3330(. If)6660 2 195610 u
+(ile name is)3330 1 225660 u
+(\027)273980 v
+(\027)276570 v
+&13
+(\012)279900 v
+&11
+(\030)284900 v
+(\030, the standard input is read at that point.)3330 1 287490 u
+(F)97000 466800 w
+(or the con)5238 1 102410 u
+(v)147476 v
+(enience of users emplo)5238 1 152326 u
+( without adequate dri)5239(ying line printers)5238 2 252360 u
+(ving tables or post\001)5239 1 418843 u
+(f)72000 478800 w
+(ilters, there is a special)4693 1 75130 u
+&12
+(\012TX)179965 v
+&11
+(command\001line option to)4693 1 202994 u
+&12
+(tbl)308183 v
+&11
+(which produces output that does not ha)4693 1 325102 u
+(v)494710 v
+(e)499560 v
+( only other command\001line options recognized by)3421( The)6571
+(fractional line motions in it.)3420 3 72000 490800 t
+&12
+(tbl)412558 v
+&11
+(are)428205 v
+&12
+(\012ms)443836 v
+&11
+(and)465033 v
+&12
+(\012mm)482894 v
+&11
+(which are turned into commands to fetch the corresponding macro f)3509 1 72000 502800 t
+( is more con)3508(iles; usually it)3509 2 353500 u
+(v)463422 v
+(enient to)3508 1 468272 u
+(place these ar)3330 1 72000 514800 t
+(guments on the)3330 1 127900 u
+&12
+(tr)194000 v
+(of)200220 v
+(f)207820 v
+&11
+(part of the command line, b)3330 1 215596 u
+(ut the)3330 1 330086 u
+(y are accepted by)3330 1 353266 u
+&12
+(tbl)428776 v
+&11
+(as well.)3330 1 444332 u
+(Note that when)3332 1 97000 530400 t
+&12
+(eqn)163096 v
+&11
+(and)180868 v
+&12
+(tbl)198640 v
+&11
+( same f)3333(are used together on the)3332 2 212532 u
+(ile)341736 v
+&12
+(tbl)355069 v
+&11
+(should be used f)3333 1 368962 u
+( there are)3333(irst. If)6663 2 436531 u
+(no equations within tables, either order w)3588 1 72000 542400 t
+(orks, b)3588 1 244238 u
+(ut it is usually f)3588 1 272346 u
+(aster to run)3588 1 338828 u
+&12
+(tbl)389582 v
+&11
+(f)403729 v
+(irst, since)3587 1 406859 u
+&12
+(eqn)449863 v
+&11
+(normally)467890 v
+(produces a lar)4035 1 72000 554400 t
+(ger e)4035 1 130980 u
+( than)4036(xpansion of the input)4035 2 152075 u
+&12
+(tbl.)266692 v
+&11
+(Ho)287118 v
+(we)299088 v
+(v)310498 v
+(er)315348 v
+(, if there are equations within tables \(using)4036 1 322718 u
+(the)72000 566400 w
+&12
+(delim)87760 v
+&11
+(mechanism in)3540 1 113520 u
+&12
+(eqn)173930 v
+&11
+(\),)188370 v
+&12
+(tbl)197740 v
+&11
+(must be f)3540 1 211840 u
+( must also be)3539( Users)6869(irst or the output will be scrambled.)3539 3 250940 u
+(w)484670 v
+(are)491790 v
+( in)3732(of using equations)3731 2 72000 578400 t
+&13
+(n)163036 v
+&11
+(\001style columns; this is nearly al)3732 1 168596 u
+(w)299376 v
+(ays wrong, since)3732 1 306496 u
+&12
+(tbl)379622 v
+&11
+(attempts to split numerical)3732 1 393914 u
+(format items into tw)3604 1 72000 590400 t
+( user can defend ag)3603( The)6753( is not possible with equations.)3603
+(o parts and this)3604 4 156602 u
+(ainst this by)3603 1 453454 u
+(gi)72000 602400 w
+(ving the)3356 1 79530 u
+&12
+(delim\(xx\))116242 v
+&11
+(table option; this pre)3356 1 159024 u
+(v)243842 v
+( F)6686(ents splitting of numerical columns within the delimiters.)3356 2 248692 u
+(or)495670 v
+(e)72000 614400 w
+(xample, if the)7399 1 76290 u
+&12
+(eqn)148756 v
+&11
+(delimiters are)7398 1 172260 u
+&13
+($$)239266 v
+&11
+(, gi)7398 1 249266 u
+(ving)266694 v
+&13
+(delim\($$\))291872 v
+&11
+(causes a numerical column such as)7398 1 339820 u
+&13
+(1245)72000 626400 w
+($+\012)95330 v
+(16$)114360 v
+&11
+(to be di)3330 1 132690 u
+(vided after 1245, not after 16.)3330 1 164100 u
+&12
+(Tbl)97000 642000 w
+&11
+( to about 35 columns, b)3588(accepts up)3587 2 115593 u
+(ut the actual number that can be processed may be smaller)3588 1 257740 u
+(,)501500 v
+(depending on a)3435 1 72000 654000 t
+(v)134770 v
+(ailability of)3435 1 139520 u
+&12
+(tr)190280 v
+(of)196500 v
+(f)204100 v
+&11
+(number re)3434 1 211980 u
+( user must a)3434(gisters. The)6584 2 253584 u
+(v)354980 v
+(oid number re)3434 1 359780 u
+(gister names used by)3434 1 417598 u
+&12
+(tbl,)72000 666000 w
+&11
+(which include tw)3800 1 90526 u
+( from 31 to 99 and strings of the form)3801(o\001digit numbers)3800 2 161906 u
+&13
+(4)393146 v
+&12
+(x)398146 v
+&11
+(,)402586 v
+&13
+(5)408887 v
+&12
+(x)413887 v
+&11
+(,)418327 v
+&13
+(#)424628 v
+&12
+(x)429628 v
+&11
+(,)434068 v
+&12
+(x)440369 v
+&13
+(+)444809 v
+&11
+(,)450509 v
+&12
+(x)456810 v
+&20
+(\210)461250 v
+&11
+(,)466190 v
+14 s
+(^)473324 670200 w
+10 @12 f
+(x)478819 666000 w
+&11
+(, and)3801 1 483259 u
+&12
+(x)72000 678000 w
+&13
+(\012)76440 v
+&11
+(, where)3837 1 81440 u
+&12
+(x)116044 v
+&11
+(is an)3837 1 124321 u
+(y lo)3837 1 144118 u
+(wer)160485 v
+(\001case letter)3837 1 175275 u
+( names)3837(. The)6987 2 219652 u
+&13
+(##)277913 v
+&11
+(,)287913 v
+&13
+(#\012)294250 v
+&11
+(, and)3837 1 304250 u
+&13
+(#)328864 v
+14 @11 f
+(^)334697 682200 w
+10 s
+( used in certain circumstances.)3836(are also)3837 2 344029 678000 t
+(T)72000 690000 w
+(o conserv)4161 1 77310 u
+(e re)4161 1 117421 u
+(gister names, the)4161 1 133642 u
+&13
+(n)208615 v
+&11
+(and)218336 v
+&13
+(a)236937 v
+&11
+(formats share a re)4161 1 246098 u
+( abo)4162(gister; hence the restriction)4161 2 322291 u
+(v)454316 v
+(e that the)4162 1 459166 u
+(y)499000 v
+(may not be used in the same column.)3330 1 72000 702000 t
+(F)97000 717600 w
+(or aid in writing layout macros,)3777 1 102410 u
+&12
+(tbl)238672 v
+&11
+(def)253009 v
+(ines a number re)3777 1 265579 u
+( table width; it is)3778( which is the)3777(gister TW)3597 3 335630 u
+(def)72000 729600 w
+(ined by the time that the)3869 1 84570 u
+(\027)192224 v
+(\027)194814 v
+14 s
+(.)198977 v
+10 s
+(TE\030)202477 v
+( is in)3869(\030 macro)3129 2 217287 u
+(v)270524 v
+(ok)275324 v
+( e)3868(ed and may be used in the)3869 2 285224 u
+(xpansion of that macro.)3868 1 405466 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 7 7
+%%Page: 8 8
+save
+mark
+8 pagesetup
+9 @11 f
+(8)72000 48000 w
+&12
+(TBL)487743 v
+10 @11 f
+(More importantly)3473 1 72000 84000 t
+(, to assist in laying out multi\001page box)3473 1 143153 u
+( is def)3474( T#)3294(ed tables the macro)3474 3 303154 u
+(ined to produce the)3474 1 424148 u
+(bottom lines and side lines of a box)3974 1 72000 96000 t
+(ed table, and then in)3973 1 224108 u
+(v)310420 v
+(ok)315220 v
+( use of this macro in the)3973( By)7303(ed at its end.)3973 3 325120 u
+(page footer a multi\001page table can be box)3531 1 72000 108000 t
+( particular)3531(ed. In)6861 2 244857 u
+(, the)3531 1 313439 u
+&12
+(ms)335222 v
+&11
+(and)351530 v
+&12
+(mm)369502 v
+&11
+(macros can be used to print)3532 1 389140 u
+(a multi\001page box)3534 1 72000 120000 t
+(ed table with a repeated heading by gi)3534 1 141688 u
+(ving the ar)3534 1 300586 u
+( the)3533(gument H to)3534 2 345244 u
+(\027)416598 v
+(\027)419188 v
+14 s
+(.)423351 v
+10 s
+(TS\030)426851 v
+( the)3533( If)6863(\030 macro.)2793 3 441111 u
+(table start macro is written)3330 1 72000 132000 t
+14 s
+(.)97833 144000 w
+10 s
+(TS H)3330 1 101333 u
+(a line of the form)3330 1 72000 156000 t
+14 s
+(.)97833 168000 w
+10 s
+(TH)101333 v
+(must be gi)3609 1 72000 180000 t
+(v)115638 v
+(en in the table after an)3609 1 120488 u
+( up to the)3610( Material)6940( if none\).)3610
+(y table heading \(or at the start)3609 4 215023 u
+(\027)464957 v
+(\027)467547 v
+14 s
+(.)471710 v
+10 s
+(TH\030)475210 v
+(\030 is)2870 1 491130 u
+( lines in the table are placed on se)3958
+(placed at the top of each page of table; the remaining)3959 2 72000 192000 t
+(v)445144 v
+(eral pages as)3958 1 449994 u
+( that this is)3330(required. Note)6660 2 72000 204000 t
+&12
+(not)183360 v
+&11
+(a feature of)3330 1 199470 u
+&12
+(tbl,)249990 v
+&11
+(b)266380 v
+(ut of the)3330 1 271180 u
+&12
+(ms)309500 v
+&11
+(and)323940 v
+&12
+(mm)341710 v
+&11
+(macros.)359480 v
+&13
+(EXAMPLES)72000 228000 w
+&11
+(Here are some e)3969 1 97000 243600 t
+(xamples illustrating features of)3969 1 165947 u
+&12
+(tbl.)298473 v
+&11
+(The symbol)3969 1 318832 u
+6 s
+(T)375436 242600 w
+10 s
+()373436 243600 w
+10 @11 f
+373436 243600 m
+7320 build_ci
+380756 243600 m
+( input represents a tab)3970(in the)3969 2 386391 u
+(character)72000 255600 w
+(.)108090 v
+&13
+(Input:)72000 279600 w
+14 @11 f
+(.)87833 297600 w
+10 s
+(TS)91333 v
+(box;)87000 309600 w
+(c c c)3330 1 87000 321600 t
+(l l l)3330 1 87000 333600 t
+14 s
+(.)102833 v
+10 s
+(Language)87000 345600 w
+6 s
+(T)130096 344600 w
+10 s
+()128096 345600 w
+128096 345600 m
+7320 build_ci
+135416 345600 m
+(Authors)137082 v
+6 s
+(T)172968 344600 w
+10 s
+()170968 345600 w
+170968 345600 m
+7320 build_ci
+178288 345600 m
+(Runs on)3330 1 179954 u
+(F)87000 369600 w
+(ortran)92410 v
+6 s
+(T)119956 368600 w
+10 s
+()117956 369600 w
+117956 369600 m
+7320 build_ci
+125276 369600 m
+(Man)126942 v
+(y)145122 v
+6 s
+(T)153788 368600 w
+10 s
+()151788 369600 w
+151788 369600 m
+7320 build_ci
+159108 369600 m
+(Almost an)3330 1 160774 u
+(ything)202844 v
+(PL/1)87000 381600 w
+6 s
+(T)110116 380600 w
+10 s
+()108116 381600 w
+108116 381600 m
+7320 build_ci
+115436 381600 m
+(IBM)117102 v
+6 s
+(T)139658 380600 w
+10 s
+()137658 381600 w
+137658 381600 m
+7320 build_ci
+144978 381600 m
+(360/370)146644 v
+(C)87000 393600 w
+6 s
+(T)97336 392600 w
+10 s
+()95336 393600 w
+95336 393600 m
+7320 build_ci
+102656 393600 m
+(BTL)104322 v
+6 s
+(T)126878 392600 w
+10 s
+()124878 393600 w
+124878 393600 m
+7320 build_ci
+132198 393600 m
+(11/45,H6000,370)133864 v
+(BLISS)87000 405600 w
+6 s
+(T)117896 404600 w
+10 s
+()115896 405600 w
+115896 405600 m
+7320 build_ci
+123216 405600 m
+(Carne)124882 v
+(gie\001Mellon)148612 v
+6 s
+(T)196718 404600 w
+10 s
+()194718 405600 w
+194718 405600 m
+7320 build_ci
+202038 405600 m
+(PDP\00110,11)203704 v
+(IDS)87000 417600 w
+6 s
+(T)106776 416600 w
+10 s
+()104776 417600 w
+104776 417600 m
+7320 build_ci
+112096 417600 m
+(Hone)113762 v
+(ywell)135272 v
+6 s
+(T)161158 416600 w
+10 s
+()159158 417600 w
+159158 417600 m
+7320 build_ci
+166478 417600 m
+(H6000)168144 v
+(P)87000 429600 w
+(ascal)92410 v
+6 s
+(T)116066 428600 w
+10 s
+()114066 429600 w
+114066 429600 m
+7320 build_ci
+121386 429600 m
+(Stanford)123052 v
+6 s
+(T)161158 428600 w
+10 s
+()159158 429600 w
+159158 429600 m
+7320 build_ci
+166478 429600 m
+(370)168144 v
+14 s
+(.)87833 441600 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 279600 w
+505600 289600 288000 289600 Dl
+&11
+(Language)293000 299600 w
+(Authors)365405 v
+(Runs on)3330 1 448655 u
+(F)293000 323600 w
+(ortran)298410 v
+(Man)347430 v
+(y)365610 v
+(Almost an)3330 1 430600 u
+(ything)472670 v
+(PL/1)293000 335600 w
+(IBM)347430 v
+(360/370)430600 v
+(C)293000 347600 w
+(BTL)347430 v
+(11/45,H6000,370)430600 v
+(BLISS)293000 359600 w
+(Carne)347430 v
+(gie\001Mellon)371160 v
+(PDP\00110,11)430600 v
+(IDS)293000 371600 w
+(Hone)347430 v
+(ywell)368940 v
+(H6000)430600 v
+(P)293000 383600 w
+(ascal)298410 v
+(Stanford)347430 v
+(370)430600 v
+505600 387600 288000 387600 Dl
+288000 289600 288000 387600 Dl
+505600 289600 505600 387600 Dl
+&13
+(Input:)72000 465600 w
+14 @11 f
+(.)87833 483600 w
+10 s
+(TS)91333 v
+(allbox;)87000 495600 w
+(c s s)3330 1 87000 507600 t
+(c c c)3330 1 87000 519600 t
+(n n n)3330 1 87000 531600 t
+14 s
+(.)109493 v
+10 s
+(A)87000 543600 w
+(T&T Common Stock)3330 1 93110 u
+(Y)87000 555600 w
+(ear)93220 v
+6 s
+(T)109096 554600 w
+10 s
+()107096 555600 w
+107096 555600 m
+7320 build_ci
+114416 555600 m
+(Price)116082 v
+6 s
+(T)140298 554600 w
+10 s
+()138298 555600 w
+138298 555600 m
+7320 build_ci
+145618 555600 m
+(Di)147284 v
+(vidend)157034 v
+(1971)87000 567600 w
+6 s
+(T)110666 566600 w
+10 s
+()108666 567600 w
+108666 567600 m
+7320 build_ci
+115986 567600 m
+(41\00154)117652 v
+6 s
+(T)144648 566600 w
+10 s
+()142648 567600 w
+142648 567600 m
+7320 build_ci
+149968 567600 m
+($2)151634 v
+14 s
+(.)162467 v
+10 s
+(60)165967 v
+(2)87000 579600 w
+6 s
+(T)95666 578600 w
+10 s
+()93666 579600 w
+93666 579600 m
+7320 build_ci
+100986 579600 m
+(41\00154)102652 v
+6 s
+(T)129648 578600 w
+10 s
+()127648 579600 w
+127648 579600 m
+7320 build_ci
+134968 579600 m
+(2)136634 v
+14 s
+(.)142467 v
+10 s
+(70)145967 v
+(3)87000 591600 w
+6 s
+(T)95666 590600 w
+10 s
+()93666 591600 w
+93666 591600 m
+7320 build_ci
+100986 591600 m
+(46\00155)102652 v
+6 s
+(T)129648 590600 w
+10 s
+()127648 591600 w
+127648 591600 m
+7320 build_ci
+134968 591600 m
+(2)136634 v
+14 s
+(.)142467 v
+10 s
+(87)145967 v
+(4)87000 603600 w
+6 s
+(T)95666 602600 w
+10 s
+()93666 603600 w
+93666 603600 m
+7320 build_ci
+100986 603600 m
+(40\00153)102652 v
+6 s
+(T)129648 602600 w
+10 s
+()127648 603600 w
+127648 603600 m
+7320 build_ci
+134968 603600 m
+(3)136634 v
+14 s
+(.)142467 v
+10 s
+(24)145967 v
+(5)87000 615600 w
+6 s
+(T)95666 614600 w
+10 s
+()93666 615600 w
+93666 615600 m
+7320 build_ci
+100986 615600 m
+(45\00152)102652 v
+6 s
+(T)129648 614600 w
+10 s
+()127648 615600 w
+127648 615600 m
+7320 build_ci
+134968 615600 m
+(3)136634 v
+14 s
+(.)142467 v
+10 s
+(40)145967 v
+(6)87000 627600 w
+6 s
+(T)95666 626600 w
+10 s
+()93666 627600 w
+93666 627600 m
+7320 build_ci
+100986 627600 m
+(51\00159)102652 v
+6 s
+(T)129648 626600 w
+10 s
+()127648 627600 w
+127648 627600 m
+7320 build_ci
+134968 627600 m
+14 s
+(.)137467 v
+10 s
+(95*)140967 v
+14 s
+(.)87833 639600 w
+10 s
+(TE)91333 v
+(* \(f)3330 1 87000 651600 t
+(irst quarter only\))3330 1 101790 u
+&13
+(Output:)288000 465600 w
+408300 475600 288000 475600 Dl
+&11
+(A)301760 485600 w
+(T&T Common Stock)3330 1 307870 u
+408300 489600 288000 489600 Dl
+(Y)293785 499600 w
+(ear)300005 v
+(Price)329390 v
+(Di)366330 v
+(vidend)376080 v
+408300 503600 288000 503600 Dl
+(1971)293000 513600 w
+(41\00154)328000 v
+($2.60)371065 v
+408300 517600 288000 517600 Dl
+(2)308000 527600 w
+(41\00154)328000 v
+(2.70)376065 v
+408300 531600 288000 531600 Dl
+(3)308000 541600 w
+(46\00155)328000 v
+(2.87)376065 v
+408300 545600 288000 545600 Dl
+(4)308000 555600 w
+(40\00153)328000 v
+(3.24)376065 v
+408300 559600 288000 559600 Dl
+(5)308000 569600 w
+(45\00152)328000 v
+(3.40)376065 v
+408300 573600 288000 573600 Dl
+(6)308000 583600 w
+(51\00159)328000 v
+(.95*)381065 v
+408300 587600 288000 587600 Dl
+288000 475600 288000 587600 Dl
+320500 489600 320500 587600 Dl
+358830 489600 358830 587600 Dl
+408300 475600 408300 587600 Dl
+(* \(\003rst quarter only\))3330 1 288000 597600 t
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 8 8
+%%Page: 9 9
+save
+mark
+9 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(9)499500 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(TS)91333 v
+(box;)87000 114000 w
+(c s s)3330 1 87000 126000 t
+(c)87000 138000 w
+(\023 c)3330 1 94770 u
+(\023 c)3330 1 107870 u
+(l)87000 150000 w
+(\023 l)3330 1 93110 u
+(\023 n)3330 1 104550 u
+14 s
+(.)115713 v
+10 s
+(Major Ne)3330 1 87000 162000 t
+(w Y)2430 1 126180 u
+(ork Bridges)3330 1 141950 u
+(=)87000 174000 w
+(Bridge)87000 186000 w
+6 s
+(T)117886 185000 w
+10 s
+()115886 186000 w
+115886 186000 m
+7320 build_ci
+123206 186000 m
+(Designer)124872 v
+6 s
+(T)164638 185000 w
+10 s
+()162638 186000 w
+162638 186000 m
+7320 build_ci
+169958 186000 m
+(Length)171624 v
+&20
+(\044)87000 198000 w
+&11
+(Brooklyn)87000 210000 w
+6 s
+(T)128446 209000 w
+10 s
+()126446 210000 w
+126446 210000 m
+7320 build_ci
+133766 210000 m
+(J)135432 v
+14 s
+(.)140155 v
+10 s
+(A)146435 v
+14 s
+(.)154488 v
+10 s
+(Roebling)161318 v
+6 s
+(T)201654 209000 w
+10 s
+()199654 210000 w
+199654 210000 m
+7320 build_ci
+206974 210000 m
+(1595)208640 v
+(Manhattan)87000 222000 w
+6 s
+(T)133436 221000 w
+10 s
+()131436 222000 w
+131436 222000 m
+7320 build_ci
+138756 222000 m
+(G)140422 v
+14 s
+(.)148475 v
+10 s
+(Lindenthal)155305 v
+6 s
+(T)202301 221000 w
+10 s
+()200301 222000 w
+200301 222000 m
+7320 build_ci
+207621 222000 m
+(1470)209287 v
+(W)87000 234000 w
+(illiamsb)96040 v
+(ur)128070 v
+(g)136220 v
+6 s
+(T)144886 233000 w
+10 s
+()142886 234000 w
+142886 234000 m
+7320 build_ci
+150206 234000 m
+(L)151872 v
+14 s
+(.)158815 v
+10 s
+(L)165645 v
+14 s
+(.)172588 v
+10 s
+(Buck)179418 v
+6 s
+(T)204194 233000 w
+10 s
+()202194 234000 w
+202194 234000 m
+7320 build_ci
+209514 234000 m
+(1600)211180 v
+&20
+(\044)87000 246000 w
+&11
+(Queensborough)87000 258000 w
+6 s
+(T)153986 257000 w
+10 s
+()151986 258000 w
+151986 258000 m
+7320 build_ci
+159306 258000 m
+(P)160972 v
+(almer &)3330 1 166382 u
+6 s
+(T)203928 257000 w
+10 s
+()201928 258000 w
+201928 258000 m
+7320 build_ci
+209248 258000 m
+(1182)210914 v
+6 s
+(T)90666 269000 w
+10 s
+()88666 270000 w
+88666 270000 m
+7320 build_ci
+95986 270000 m
+(Hornbostel)104312 v
+&20
+(\044)87000 282000 w
+6 @11 f
+(T)90666 293000 w
+10 s
+()88666 294000 w
+88666 294000 m
+7320 build_ci
+95986 294000 m
+6 s
+(T)101318 293000 w
+10 s
+()99318 294000 w
+99318 294000 m
+7320 build_ci
+106638 294000 m
+(1380)108304 v
+(T)87000 306000 w
+(riborough)92760 v
+6 s
+(T)135866 305000 w
+10 s
+()133866 306000 w
+133866 306000 m
+7320 build_ci
+141186 306000 m
+(O)142852 v
+14 s
+(.)150905 v
+10 s
+(H)157735 v
+14 s
+(.)165788 v
+10 s
+(Ammann)172068 v
+6 s
+(T)212954 305000 w
+10 s
+()210954 306000 w
+210954 306000 m
+7320 build_ci
+218274 306000 m
+&20
+(\044)219940 v
+6 @11 f
+(T)90666 317000 w
+10 s
+()88666 318000 w
+88666 318000 m
+7320 build_ci
+95986 318000 m
+6 s
+(T)101318 317000 w
+10 s
+()99318 318000 w
+99318 318000 m
+7320 build_ci
+106638 318000 m
+(383)108304 v
+&20
+(\044)87000 330000 w
+&11
+(Bronx Whitestone)3030 1 87000 342000 t
+6 s
+(T)164246 341000 w
+10 s
+()162246 342000 w
+162246 342000 m
+7320 build_ci
+169566 342000 m
+(O)171232 v
+14 s
+(.)179285 v
+10 s
+(H)186115 v
+14 s
+(.)194168 v
+10 s
+(Ammann)200448 v
+6 s
+(T)241334 341000 w
+10 s
+()239334 342000 w
+239334 342000 m
+7320 build_ci
+246654 342000 m
+(2300)248320 v
+(Throgs Neck)3330 1 87000 354000 t
+6 s
+(T)143426 353000 w
+10 s
+()141426 354000 w
+141426 354000 m
+7320 build_ci
+148746 354000 m
+(O)150412 v
+14 s
+(.)158465 v
+10 s
+(H)165295 v
+14 s
+(.)173348 v
+10 s
+(Ammann)179628 v
+6 s
+(T)220514 353000 w
+10 s
+()218514 354000 w
+218514 354000 m
+7320 build_ci
+225834 354000 m
+(1800)227500 v
+&20
+(\044)87000 366000 w
+&11
+(Geor)87000 378000 w
+(ge W)3030 1 106810 u
+(ashington)127920 v
+6 s
+(T)170476 377000 w
+10 s
+()168476 378000 w
+168476 378000 m
+7320 build_ci
+175796 378000 m
+(O)177462 v
+14 s
+(.)185515 v
+10 s
+(H)192345 v
+14 s
+(.)200398 v
+10 s
+(Ammann)206678 v
+6 s
+(T)247564 377000 w
+10 s
+()245564 378000 w
+245564 378000 m
+7320 build_ci
+252884 378000 m
+(3500)254550 v
+14 s
+(.)87833 390000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 84000 w
+498910 94000 288000 94000 Dl
+&11
+(Major Ne)3330 1 342095 104000 t
+(w Y)2430 1 381275 u
+(ork Bridges)3330 1 397045 u
+498910 107000 288000 107000 Dl
+498910 109000 288000 109000 Dl
+(Bridge)319295 118000 w
+(Designer)401145 v
+(Length)465580 v
+498910 122000 288000 122000 Dl
+(Brooklyn)293000 132000 w
+( Roebling)3330(J. A.)2780 2 387810 u
+(1595)469745 v
+(Manhattan)293000 144000 w
+(G. Lindenthal)3330 1 387810 u
+(1470)469745 v
+(W)293000 156000 w
+(illiamsb)302040 v
+(ur)334070 v
+(g)342220 v
+(L. L. Buck)3330 1 387810 u
+(1600)469745 v
+498910 160000 288000 160000 Dl
+(Queensborough)293000 170000 w
+(P)387810 v
+(almer &)3330 1 393220 u
+(1182)469745 v
+(Hornbostel)394470 182000 w
+498910 186000 288000 186000 Dl
+(1380)469745 196000 w
+(T)293000 208000 w
+(riborough)298760 v
+( Ammann)2780(O. H.)3330 2 387810 u
+498910 205000 458080 205000 Dl
+(383)474745 220000 w
+498910 224000 288000 224000 Dl
+(Bronx Whitestone)3030 1 293000 234000 t
+( Ammann)2780(O. H.)3330 2 387810 u
+(2300)469745 v
+(Throgs Neck)3330 1 293000 246000 t
+( Ammann)2780(O. H.)3330 2 387810 u
+(1800)469745 v
+498910 250000 288000 250000 Dl
+(Geor)293000 260000 w
+(ge W)3030 1 312810 u
+(ashington)333920 v
+( Ammann)2780(O. H.)3330 2 387810 u
+(3500)469745 v
+498910 264000 288000 264000 Dl
+288000 94000 288000 264000 Dl
+380310 109000 380310 264000 Dl
+458080 109000 458080 264000 Dl
+498910 94000 498910 264000 Dl
+&13
+(Input:)72000 414000 w
+14 @11 f
+(.)87833 432000 w
+10 s
+(TS)91333 v
+(c c)3330 1 87000 444000 t
+(np\0012)87000 456000 w
+(\023 n)3330 1 108660 u
+(\023)122320 v
+14 s
+(.)128483 v
+6 s
+(T)90666 467000 w
+10 s
+()88666 468000 w
+88666 468000 m
+7320 build_ci
+95986 468000 m
+(Stack)97652 v
+6 s
+(T)90666 479000 w
+10 s
+()88666 480000 w
+88666 480000 m
+7320 build_ci
+95986 480000 m
+&20
+(\044)97652 v
+&11
+(1)87000 492000 w
+6 s
+(T)95666 491000 w
+10 s
+()93666 492000 w
+93666 492000 m
+7320 build_ci
+100986 492000 m
+(46)102652 v
+6 s
+(T)90666 503000 w
+10 s
+()88666 504000 w
+88666 504000 m
+7320 build_ci
+95986 504000 m
+&20
+(\044)97652 v
+&11
+(2)87000 516000 w
+6 s
+(T)95666 515000 w
+10 s
+()93666 516000 w
+93666 516000 m
+7320 build_ci
+100986 516000 m
+(23)102652 v
+6 s
+(T)90666 527000 w
+10 s
+()88666 528000 w
+88666 528000 m
+7320 build_ci
+95986 528000 m
+&20
+(\044)97652 v
+&11
+(3)87000 540000 w
+6 s
+(T)95666 539000 w
+10 s
+()93666 540000 w
+93666 540000 m
+7320 build_ci
+100986 540000 m
+(15)102652 v
+6 s
+(T)90666 551000 w
+10 s
+()88666 552000 w
+88666 552000 m
+7320 build_ci
+95986 552000 m
+&20
+(\044)97652 v
+&11
+(4)87000 564000 w
+6 s
+(T)95666 563000 w
+10 s
+()93666 564000 w
+93666 564000 m
+7320 build_ci
+100986 564000 m
+(6)102652 v
+14 s
+(.)108485 v
+10 s
+(5)111985 v
+6 s
+(T)90666 575000 w
+10 s
+()88666 576000 w
+88666 576000 m
+7320 build_ci
+95986 576000 m
+&20
+(\044)97652 v
+&11
+(5)87000 588000 w
+6 s
+(T)95666 587000 w
+10 s
+()93666 588000 w
+93666 588000 m
+7320 build_ci
+100986 588000 m
+(2)102652 v
+14 s
+(.)108485 v
+10 s
+(1)111985 v
+6 s
+(T)90666 599000 w
+10 s
+()88666 600000 w
+88666 600000 m
+7320 build_ci
+95986 600000 m
+&20
+(\044)97652 v
+14 @11 f
+(.)87833 612000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 414000 w
+&11
+(Stack)307000 432000 w
+336720 436000 299500 436000 Dl
+8 s
+(1)288000 446000 w
+10 s
+(46)309360 v
+336720 450000 299500 450000 Dl
+8 s
+(2)288000 460000 w
+10 s
+(23)309360 v
+336720 464000 299500 464000 Dl
+8 s
+(3)288000 474000 w
+10 s
+(15)309360 v
+336720 478000 299500 478000 Dl
+8 s
+(4)288000 488000 w
+10 s
+(6.5)314360 v
+336720 492000 299500 492000 Dl
+8 s
+(5)288000 502000 w
+10 s
+(2.1)314360 v
+336720 506000 299500 506000 Dl
+299500 436000 299500 506000 Dl
+336720 436000 336720 506000 Dl
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 9 9
+%%Page: 10 10
+save
+mark
+10 pagesetup
+9 @11 f
+(10)72000 48000 w
+&12
+(TBL)487743 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(TS)91333 v
+(box;)87000 114000 w
+(L L L)3330 1 87000 126000 t
+(L L)3330 1 87000 138000 t
+&20
+(\044)105880 v
+&11
+(L L)3330 1 87000 150000 t
+(\023 LB)3330 1 105880 u
+(L L)3330 1 87000 162000 t
+&20
+(\044)105880 v
+&11
+(L L L)3330 1 87000 174000 t
+14 s
+(.)112823 v
+10 s
+(january)87000 186000 w
+6 s
+(T)120656 185000 w
+10 s
+()118656 186000 w
+118656 186000 m
+7320 build_ci
+125976 186000 m
+(february)127642 v
+6 s
+(T)165178 185000 w
+10 s
+()163178 186000 w
+163178 186000 m
+7320 build_ci
+170498 186000 m
+(march)172164 v
+(april)87000 198000 w
+6 s
+(T)108996 197000 w
+10 s
+()106996 198000 w
+106996 198000 m
+7320 build_ci
+114316 198000 m
+(may)115982 v
+(june)87000 210000 w
+6 s
+(T)107886 209000 w
+10 s
+()105886 210000 w
+105886 210000 m
+7320 build_ci
+113206 210000 m
+(july)114872 v
+6 s
+(T)134098 209000 w
+10 s
+()132098 210000 w
+132098 210000 m
+7320 build_ci
+139418 210000 m
+(Months)141084 v
+(august)87000 222000 w
+6 s
+(T)116776 221000 w
+10 s
+()114776 222000 w
+114776 222000 m
+7320 build_ci
+122096 222000 m
+(september)123762 v
+(october)87000 234000 w
+6 s
+(T)120656 233000 w
+10 s
+()118656 234000 w
+118656 234000 m
+7320 build_ci
+125976 234000 m
+(no)127642 v
+(v)137492 v
+(ember)142342 v
+6 s
+(T)170998 233000 w
+10 s
+()168998 234000 w
+168998 234000 m
+7320 build_ci
+176318 234000 m
+(december)177984 v
+14 s
+(.)87833 246000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 84000 w
+437960 94000 288000 94000 Dl
+&11
+(january)293000 104000 w
+(february)337990 v
+(march)394090 v
+(april)293000 116000 w
+(may)337990 v
+437960 113000 386590 113000 Dl
+(june)293000 128000 w
+(july)337990 v
+386590 113000 386590 137000 Dl
+&13
+(Months)394090 128000 w
+&11
+(august)293000 140000 w
+(september)337990 v
+437960 137000 386590 137000 Dl
+(october)293000 152000 w
+(no)337990 v
+(v)347840 v
+(ember)352690 v
+(december)394090 v
+437960 156000 288000 156000 Dl
+288000 94000 288000 156000 Dl
+437960 94000 437960 156000 Dl
+&13
+(Input:)72000 270000 w
+14 @11 f
+(.)87833 288000 w
+10 s
+(TS)91333 v
+(box;)87000 300000 w
+(cfB s s s)3330 1 87000 312000 t
+14 s
+(.)123933 v
+10 s
+(Composition of F)3330 1 87000 324000 t
+(oods)159080 v
+&20
+(\044)87000 336000 w
+14 @11 f
+(.)87833 348000 w
+10 s
+(T&)91333 v
+(c)87000 360000 w
+(\023 c s s)3330 1 98100 u
+(c)87000 372000 w
+(\023 c s s)3330 1 98100 u
+(c)87000 384000 w
+(\023 c)3330 1 101430 u
+(\023 c)3330 1 117860 u
+(\023 c)3330 1 134290 u
+14 s
+(.)144893 v
+10 s
+(F)87000 396000 w
+(ood)92410 v
+6 s
+(T)111076 395000 w
+10 s
+()109076 396000 w
+109076 396000 m
+7320 build_ci
+116396 396000 m
+( W)3030(Percent by)3330 2 118062 u
+(eight)173052 v
+(\017)87000 408000 w
+14 s
+(^)90613 412200 w
+6 s
+(T)99774 407000 w
+10 s
+()97774 408000 w
+97774 408000 m
+7320 build_ci
+105094 408000 m
+&20
+(\044)106760 v
+&11
+(\017)87000 420000 w
+14 s
+(^)90613 424200 w
+6 s
+(T)99774 419000 w
+10 s
+()97774 420000 w
+97774 420000 m
+7320 build_ci
+105094 420000 m
+(Protein)106760 v
+6 s
+(T)139316 419000 w
+10 s
+()137316 420000 w
+137316 420000 m
+7320 build_ci
+144636 420000 m
+(F)146302 v
+(at)151712 v
+6 s
+(T)162598 419000 w
+10 s
+()160598 420000 w
+160598 420000 m
+7320 build_ci
+167918 420000 m
+(Carbo\001)169584 v
+(\017)87000 432000 w
+14 s
+(^)90613 436200 w
+6 s
+(T)99774 431000 w
+10 s
+()97774 432000 w
+97774 432000 m
+7320 build_ci
+105094 432000 m
+(\017)106760 v
+14 s
+(^)110373 436200 w
+6 s
+(T)119534 431000 w
+10 s
+()117534 432000 w
+117534 432000 m
+7320 build_ci
+124854 432000 m
+(\017)126520 v
+14 s
+(^)130133 436200 w
+6 s
+(T)139294 431000 w
+10 s
+()137294 432000 w
+137294 432000 m
+7320 build_ci
+144614 432000 m
+(h)146280 v
+(ydrate)151230 v
+&20
+(\044)87000 444000 w
+14 @11 f
+(.)87833 456000 w
+10 s
+(T&)91333 v
+(l)87000 468000 w
+(\023 n)3330 1 96440 u
+(\023 n)3330 1 113430 u
+(\023 n)3330 1 130420 u
+14 s
+(.)141583 v
+10 s
+(Apples)87000 480000 w
+6 s
+(T)118996 479000 w
+10 s
+()116996 480000 w
+116996 480000 m
+7320 build_ci
+124316 480000 m
+14 s
+(.)126815 v
+10 s
+(4)130315 v
+6 s
+(T)138981 479000 w
+10 s
+()136981 480000 w
+136981 480000 m
+7320 build_ci
+144301 480000 m
+14 s
+(.)146800 v
+10 s
+(5)150300 v
+6 s
+(T)158966 479000 w
+10 s
+()156966 480000 w
+156966 480000 m
+7320 build_ci
+164286 480000 m
+(13)165952 v
+14 s
+(.)176785 v
+10 s
+(0)180285 v
+(Halib)87000 492000 w
+(ut)109020 v
+6 s
+(T)120466 491000 w
+10 s
+()118466 492000 w
+118466 492000 m
+7320 build_ci
+125786 492000 m
+(18)127452 v
+14 s
+(.)138285 v
+10 s
+(4)141785 v
+6 s
+(T)150451 491000 w
+10 s
+()148451 492000 w
+148451 492000 m
+7320 build_ci
+155771 492000 m
+(5)157437 v
+14 s
+(.)163270 v
+10 s
+(2)166770 v
+6 s
+(T)175436 491000 w
+10 s
+()173436 492000 w
+173436 492000 m
+7320 build_ci
+180756 492000 m
+14 s
+(.)183255 v
+(.)189254 v
+(.)195253 v
+10 s
+(Lima beans)3330 1 87000 504000 t
+6 s
+(T)137876 503000 w
+10 s
+()135876 504000 w
+135876 504000 m
+7320 build_ci
+143196 504000 m
+(7)144862 v
+14 s
+(.)150695 v
+10 s
+(5)154195 v
+6 s
+(T)162861 503000 w
+10 s
+()160861 504000 w
+160861 504000 m
+7320 build_ci
+168181 504000 m
+14 s
+(.)170680 v
+10 s
+(8)174180 v
+6 s
+(T)182846 503000 w
+10 s
+()180846 504000 w
+180846 504000 m
+7320 build_ci
+188166 504000 m
+(22)189832 v
+14 s
+(.)200665 v
+10 s
+(0)204165 v
+(Milk)87000 516000 w
+6 s
+(T)110116 515000 w
+10 s
+()108116 516000 w
+108116 516000 m
+7320 build_ci
+115436 516000 m
+(3)117102 v
+14 s
+(.)122935 v
+10 s
+(3)126435 v
+6 s
+(T)135101 515000 w
+10 s
+()133101 516000 w
+133101 516000 m
+7320 build_ci
+140421 516000 m
+(4)142087 v
+14 s
+(.)147920 v
+10 s
+(0)151420 v
+6 s
+(T)160086 515000 w
+10 s
+()158086 516000 w
+158086 516000 m
+7320 build_ci
+165406 516000 m
+(5)167072 v
+14 s
+(.)172905 v
+10 s
+(0)176405 v
+(Mushrooms)87000 528000 w
+6 s
+(T)138446 527000 w
+10 s
+()136446 528000 w
+136446 528000 m
+7320 build_ci
+143766 528000 m
+(3)145432 v
+14 s
+(.)151265 v
+10 s
+(5)154765 v
+6 s
+(T)163431 527000 w
+10 s
+()161431 528000 w
+161431 528000 m
+7320 build_ci
+168751 528000 m
+14 s
+(.)171250 v
+10 s
+(4)174750 v
+6 s
+(T)183416 527000 w
+10 s
+()181416 528000 w
+181416 528000 m
+7320 build_ci
+188736 528000 m
+(6)190402 v
+14 s
+(.)196235 v
+10 s
+(0)199735 v
+(Rye bread)3330 1 87000 540000 t
+6 s
+(T)132316 539000 w
+10 s
+()130316 540000 w
+130316 540000 m
+7320 build_ci
+137636 540000 m
+(9)139302 v
+14 s
+(.)145135 v
+10 s
+(0)148635 v
+6 s
+(T)157301 539000 w
+10 s
+()155301 540000 w
+155301 540000 m
+7320 build_ci
+162621 540000 m
+14 s
+(.)165120 v
+10 s
+(6)168620 v
+6 s
+(T)177286 539000 w
+10 s
+()175286 540000 w
+175286 540000 m
+7320 build_ci
+182606 540000 m
+(52)184272 v
+14 s
+(.)195105 v
+10 s
+(7)198605 v
+14 s
+(.)87833 552000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 270000 w
+462240 280000 288000 280000 Dl
+(Composition of F)3330 1 327745 290000 t
+(oods)403045 v
+462240 294000 288000 294000 Dl
+&11
+( W)3030(Percent by)3330 2 369015 304000 t
+(eight)424005 v
+462240 308000 348280 308000 Dl
+(Carbo\001)428385 318000 w
+(F)306685 317000 w
+(ood)312095 v
+(Protein)355780 324000 w
+(F)399670 v
+(at)405080 v
+(h)427300 330000 w
+(ydrate)432250 v
+462240 334000 288000 334000 Dl
+(Apples)293000 344000 w
+(.4)371475 v
+(.5)404735 v
+(13.0)433520 v
+(Halib)293000 356000 w
+(ut)315020 v
+(18.4)361475 v
+(5.2)399735 v
+(...)438520 v
+(Lima beans)3330 1 293000 368000 t
+(7.5)366475 v
+(.8)404735 v
+(22.0)433520 v
+(Milk)293000 380000 w
+(3.3)366475 v
+(4.0)399735 v
+(5.0)438520 v
+(Mushrooms)293000 392000 w
+(3.5)366475 v
+(.4)404735 v
+(6.0)438520 v
+(Rye bread)3330 1 293000 404000 t
+(9.0)366475 v
+(.6)404735 v
+(52.7)433520 v
+462240 408000 288000 408000 Dl
+288000 280000 288000 408000 Dl
+348280 294000 348280 408000 Dl
+392170 308000 392170 408000 Dl
+419800 308000 419800 408000 Dl
+462240 280000 462240 408000 Dl
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 10 10
+%%Page: 11 11
+save
+mark
+11 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(11)495000 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(TS)91333 v
+(allbox;)87000 114000 w
+( s)9990(cfI s)6660 2 87000 126000 t
+( cw\(1i\))9990(c cw\(1i\))13320 2 87000 138000 t
+(lp9 lp9 lp9)3330 1 87000 150000 t
+14 s
+(.)136163 v
+10 s
+(Ne)87000 162000 w
+(w Y)2430 1 98410 u
+( Rocks)3330(ork Area)2780 2 114180 u
+(Era)87000 174000 w
+6 s
+(T)104546 173000 w
+10 s
+()102546 174000 w
+102546 174000 m
+7320 build_ci
+109866 174000 m
+(F)111532 v
+(ormation)116942 v
+6 s
+(T)156718 173000 w
+10 s
+()154718 174000 w
+154718 174000 m
+7320 build_ci
+162038 174000 m
+(Age \(years\))3330 1 163704 u
+(Precambrian)87000 186000 w
+6 s
+(T)141206 185000 w
+10 s
+()139206 186000 w
+139206 186000 m
+7320 build_ci
+146526 186000 m
+(Reading Prong)3330 1 148192 u
+6 s
+(T)212408 185000 w
+10 s
+()210408 186000 w
+210408 186000 m
+7320 build_ci
+217728 186000 m
+(>1 billion)3330 1 219394 u
+(P)87000 198000 w
+(aleozoic)92410 v
+6 s
+(T)129396 197000 w
+10 s
+()127396 198000 w
+127396 198000 m
+7320 build_ci
+134716 198000 m
+(Manhattan Prong)3330 1 136382 u
+6 s
+(T)210038 197000 w
+10 s
+()208038 198000 w
+208038 198000 m
+7320 build_ci
+215358 198000 m
+(400 million)3330 1 217024 u
+(Mesozoic)87000 210000 w
+6 s
+(T)129546 209000 w
+10 s
+()127546 210000 w
+127546 210000 m
+7320 build_ci
+134866 210000 m
+(T{)136532 v
+14 s
+(.)87833 222000 w
+10 s
+(na)91333 v
+(Ne)87000 234000 w
+(w)98410 v
+(ark Basin, incl)3330 1 105530 u
+14 s
+(.)166073 v
+10 s
+(Stockton, Lockatong, and Brunswick)3330 1 87000 246000 t
+( W)3030(formations; also)3330 2 87000 258000 t
+(atchungs)164220 v
+(and P)3330 1 87000 270000 t
+(alisades)110180 v
+14 s
+(.)142673 v
+(.)87833 282000 w
+10 s
+(ad)91333 v
+(T})87000 294000 w
+6 s
+(T)101576 293000 w
+10 s
+()99576 294000 w
+99576 294000 m
+7320 build_ci
+106896 294000 m
+(200 million)3330 1 108562 u
+(Cenozoic)87000 306000 w
+6 s
+(T)128436 305000 w
+10 s
+()126436 306000 w
+126436 306000 m
+7320 build_ci
+133756 306000 m
+(Coastal Plain)3330 1 135422 u
+6 s
+(T)192978 305000 w
+10 s
+()190978 306000 w
+190978 306000 m
+7320 build_ci
+198298 306000 m
+(T{)199964 v
+14 s
+(.)87833 318000 w
+10 s
+(na)91333 v
+(On Long Island 30,000 years;)3330 1 87000 330000 t
+(Cretaceous sediments redeposited)3330 1 87000 342000 t
+(by recent glaciation)3330 1 87000 354000 t
+14 s
+(.)168363 v
+(.)87833 366000 w
+10 s
+(ad)91333 v
+(T})87000 378000 w
+14 s
+(.)87833 390000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 84000 w
+517486 94000 288000 94000 Dl
+&12
+(Ne)359038 104000 w
+(w Y)2580 1 369998 u
+(ork Ar)3150 1 383888 u
+(ea Roc)3330 1 409998 u
+(ks)438118 v
+517486 108000 288000 108000 Dl
+&11
+(Era)308803 118000 w
+(F)368726 v
+(ormation)374136 v
+(Age \(years\))3330 1 452611 u
+517486 122000 288000 122000 Dl
+9 s
+(Precambrian)293000 132000 w
+(Reading Prong)2997 1 353486 u
+(>1 billion)2997 1 440486 u
+10 s
+517486 136000 288000 136000 Dl
+9 s
+(P)293000 146000 w
+(aleozoic)297869 v
+(Manhattan Prong)2997 1 353486 u
+(400 million)2997 1 440486 u
+10 s
+517486 150000 288000 150000 Dl
+9 s
+(Mesozoic)293000 160000 w
+(200 million)2997 1 440486 u
+(Ne)353486 v
+(w)363755 v
+(ark Basin,)2997 1 370163 u
+(incl. Stockton,)5994 1 353486 171000 t
+(Lockatong, and)2997 1 353486 182000 t
+(Brunswick forma\001)2997 1 353486 193000 t
+(tions; also)2997 1 353486 204000 t
+(W)353486 215000 w
+(atchungs and)2997 1 361262 u
+(P)353486 226000 w
+(alisades.)358355 v
+10 s
+517486 230000 288000 230000 Dl
+9 s
+(Cenozoic)293000 240000 w
+(Coastal Plain)2997 1 353486 u
+(On Long Island)2997 1 440486 u
+(30,000 years; Cre\001)2997 1 440486 251000 t
+(taceous sediments)2997 1 440486 262000 t
+(redeposited by)2997 1 440486 273000 t
+(recent glaciation.)2997 1 440486 284000 t
+10 s
+517486 288000 288000 288000 Dl
+288000 94000 288000 288000 Dl
+345986 108000 345986 288000 Dl
+432986 108000 432986 288000 Dl
+517486 94000 517486 288000 Dl
+&13
+(Input:)72000 414000 w
+14 @11 f
+(.)87833 432000 w
+10 s
+(EQ)91333 v
+(delim $$)3330 1 87000 444000 t
+14 s
+(.)87833 456000 w
+10 s
+(EN)91333 v
+14 s
+(.)87833 480000 w
+(.)93832 v
+(.)99831 v
+(.)87833 504000 w
+10 s
+(TS)91333 v
+(doublebox;)87000 516000 w
+(c c)3330 1 87000 528000 t
+(l l)3330 1 87000 540000 t
+14 s
+(.)96723 v
+10 s
+(Name)87000 552000 w
+6 s
+(T)114546 551000 w
+10 s
+()112546 552000 w
+112546 552000 m
+7320 build_ci
+119866 552000 m
+(Def)121532 v
+(inition)136322 v
+14 s
+(.)87833 564000 w
+10 s
+(sp)91333 v
+14 s
+(.)87833 576000 w
+10 s
+(vs +2p)3330 1 91333 u
+(Gamma)87000 588000 w
+6 s
+(T)122326 587000 w
+10 s
+()120326 588000 w
+120326 588000 m
+7320 build_ci
+127646 588000 m
+( sup {z\0011} e sup)3330( t)6660($GAMMA \(z\) = int sub 0 sup inf)3330 3 129312 u
+(\001t dt$)3330 1 348932 u
+(Sine)87000 600000 w
+6 s
+(T)108446 599000 w
+10 s
+()106446 600000 w
+106446 600000 m
+7320 build_ci
+113766 600000 m
+($sin \(x\) = 1 o)3330 1 115432 u
+(v)172572 v
+(er 2i \( e sup ix)3330 1 177422 u
+(\001 e sup)3330 1 242392 u
+(\001ix \)$)3330 1 274042 u
+(Error)87000 612000 w
+6 s
+(T)111766 611000 w
+10 s
+()109766 612000 w
+109766 612000 m
+7320 build_ci
+117086 612000 m
+($ roman erf \(z\) = 2 o)3330 1 118752 u
+(v)206972 v
+(er sqrt pi int sub 0 sup z e sup {\001t sup 2} dt$)3330 1 211822 u
+(Bessel)87000 624000 w
+6 s
+(T)116776 623000 w
+10 s
+()114776 624000 w
+114776 624000 m
+7320 build_ci
+122096 624000 m
+($ J sub 0 \(z\) = 1 o)3330 1 123762 u
+(v)201442 v
+(er pi int sub 0 sup pi cos \( z sin theta \) d theta $)3330 1 206292 u
+(Zeta)87000 636000 w
+6 s
+(T)108436 635000 w
+10 s
+()106436 636000 w
+106436 636000 m
+7320 build_ci
+113756 636000 m
+($ zeta \(s\) = sum from k=1 to inf k sup)3330 1 115422 u
+(\001s ~~\( Re~s > 1\)$)3330 1 278872 u
+14 s
+(.)87833 648000 w
+10 s
+(vs)91333 v
+(\0012p)103553 v
+14 s
+(.)87833 660000 w
+10 s
+(sp 2p)3330 1 91333 u
+14 s
+(.)87833 672000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 414000 w
+446774 423000 287000 423000 Dl
+444774 425000 289000 425000 Dl
+&11
+(Name)296890 434000 w
+(De\003nition)369937 v
+(Gamma)293000 461100 w
+&20
+(\017)339660 v
+&11
+(\()345690 v
+&12
+(z)349020 v
+&11
+(\))353743 v
+&20
+(\010)357073 v
+14 s
+(\211)362563 462100 w
+7 @11 f
+(0)366763 466900 w
+&20
+(\134)370729 451500 w
+10 @12 f
+(t)375839 461100 w
+7 s
+(z)379785 457100 w
+&20
+(\007)383674 v
+&11
+(1)387517 v
+10 @12 f
+(e)391017 461100 w
+7 @20 f
+(\007)396623 457100 w
+&12
+(t)400466 v
+10 s
+(dt)404078 461100 w
+&11
+(Sine)293000 480100 w
+(sin\()339660 v
+&12
+(x)354660 v
+&11
+(\))359933 v
+&20
+(\010)363263 v
+&11
+(2)371253 487100 w
+&12
+(i)376253 v
+&11
+(1)372643 474100 w
+&19
+(\011)369753 477100 w
+(\011\011)370533 v
+&11
+(\()381533 480100 w
+&12
+(e)384863 v
+7 s
+(ix)390469 476100 w
+10 @20 f
+(\007)397189 480100 w
+&12
+(e)402679 v
+7 @20 f
+(\007)408285 476100 w
+&12
+(ix)412128 v
+10 @11 f
+(\))418848 480100 w
+(Error)293000 503100 w
+(erf\()339660 v
+&12
+(z)354090 v
+&11
+(\))358813 v
+&20
+(\010)362143 v
+9 s
+(\200\047)370133 509100 w
+(\047)376073 v
+10 s
+(\115)375083 510900 w
+&11
+(2)372853 497100 w
+&19
+(\011)368633 500100 w
+(\011\011)372073 v
+14 @20 f
+(\211)383073 504100 w
+7 @11 f
+(0)387273 508900 w
+&12
+(z)391239 493500 w
+10 s
+(e)393962 503100 w
+7 @20 f
+(\007)399568 499100 w
+&12
+(t)403411 v
+4 @11 f
+(2)406023 496300 w
+10 @12 f
+(dt)408023 503100 w
+&11
+(Bessel)293000 526900 w
+&12
+(J)339660 v
+7 @11 f
+(0)345266 528900 w
+10 s
+(\()348766 526900 w
+&12
+(z)352096 v
+&11
+(\))356819 v
+&20
+(\010)360149 v
+(\115)368139 533900 w
+&11
+(1)368384 520900 w
+&19
+(\011)366639 523900 w
+(\011)370129 v
+14 @20 f
+(\211)376129 527900 w
+7 @11 f
+(0)380329 532700 w
+&20
+(\115)384295 517300 w
+10 @11 f
+(cos\()388138 526900 w
+&12
+(z)404798 v
+&11
+(sin)409521 v
+&20
+(\116)421191 v
+&11
+(\))426401 v
+&12
+(d)429731 v
+&20
+(\116)435564 v
+&11
+(Zeta)293000 550900 w
+&20
+(\126)339660 v
+&11
+(\()344600 v
+&12
+(s)347930 v
+&11
+(\))352653 v
+&20
+(\010)355983 v
+7 @12 f
+(k)361473 560900 w
+&20
+(\010)365747 v
+&11
+(1)369590 v
+15 @20 f
+(\032)362841 553900 w
+7 s
+(\134)364726 540900 w
+10 @12 f
+(k)373089 550900 w
+7 @20 f
+(\007)378695 546900 w
+&12
+(s)382538 v
+10 @11 f
+(\(Re)393587 550900 w
+&12
+(s)411357 v
+(>)416913 v
+&11
+(1\))423663 v
+444774 563900 289000 563900 Dl
+446774 565900 287000 565900 Dl
+287000 423000 287000 565900 Dl
+289000 425000 289000 563900 Dl
+444774 425000 444774 563900 Dl
+446774 423000 446774 565900 Dl
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 11 11
+%%Page: 12 12
+save
+mark
+12 pagesetup
+9 @11 f
+(12)72000 48000 w
+&12
+(TBL)487743 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(TS)91333 v
+(box, tab\()3330 1 87000 114000 t
+(:)125046 v
+(\);)129492 v
+(cb s s s s)3330 1 87000 126000 t
+(cp\0012 s s s s)3330 1 87000 138000 t
+(c)87000 150000 w
+(\023)94770 v
+(\023 c)3330 1 98436 u
+(\023 c)3330 1 111536 u
+(\023 c)3330 1 124636 u
+(\023 c)3330 1 137736 u
+(c)87000 162000 w
+(\023)94770 v
+(\023 c)3330 1 98436 u
+(\023 c)3330 1 111536 u
+(\023 c)3330 1 124636 u
+(\023 c)3330 1 137736 u
+(r2)87000 174000 w
+(\023)98660 v
+(\023 n2)3330 1 102326 u
+(\023 n2)3330 1 120986 u
+(\023 n2)3330 1 139646 u
+(\023 n)3330 1 158306 u
+14 s
+(.)169469 v
+10 s
+( T)3150(Readability of)3330 2 87000 186000 t
+(e)153330 v
+(xt)157620 v
+(Line W)3030 1 87000 198000 t
+( T)3150(idth and Leading for 10\001Point)3330 2 117400 u
+(ype)248060 v
+(=)87000 210000 w
+(Line)87000 222000 w
+(:)106996 v
+(Set)111442 v
+(:)125888 v
+(1\001Point)130334 v
+(:)161450 v
+(2\001Point)165896 v
+(:)197012 v
+(4\001Point)201458 v
+(W)87000 234000 w
+(idth)96040 v
+(:)113266 v
+(Solid)117712 v
+(:)140498 v
+(Leading)144944 v
+(:)179380 v
+(Leading)183826 v
+(:)218262 v
+(Leading)222708 v
+(_)87000 246000 w
+(9 Pica)3330 1 87000 258000 t
+(:)114216 v
+(\017\0129)118662 v
+14 s
+(.)132275 v
+10 s
+(3)135775 v
+(:)142441 v
+(\017\0126)146887 v
+14 s
+(.)160500 v
+10 s
+(0)164000 v
+(:)170666 v
+(\017\0125)175112 v
+14 s
+(.)188725 v
+10 s
+(3)192225 v
+(:)198891 v
+(\017\0127)203337 v
+14 s
+(.)216950 v
+10 s
+(1)220450 v
+(14 Pica)3330 1 87000 270000 t
+(:)119216 v
+(\017\0124)123662 v
+14 s
+(.)137275 v
+10 s
+(5)140775 v
+(:)147441 v
+(\017\0120)151887 v
+14 s
+(.)165500 v
+10 s
+(6)169000 v
+(:)175666 v
+(\017\0120)180112 v
+14 s
+(.)193725 v
+10 s
+(3)197225 v
+(:)203891 v
+(\017\0121)208337 v
+14 s
+(.)221950 v
+10 s
+(7)225450 v
+(19 Pica)3330 1 87000 282000 t
+(:)119216 v
+(\017\0125)123662 v
+14 s
+(.)137275 v
+10 s
+(0)140775 v
+(:)147441 v
+(\017\0125)151887 v
+14 s
+(.)165500 v
+10 s
+(1)169000 v
+(: 0)4996 1 175666 u
+14 s
+(.)189275 v
+10 s
+(0)192775 v
+(:)199441 v
+(\017\0122)203887 v
+14 s
+(.)217500 v
+10 s
+(0)221000 v
+(31 Pica)3330 1 87000 294000 t
+(:)119216 v
+(\017\0123)123662 v
+14 s
+(.)137275 v
+10 s
+(7)140775 v
+(:)147441 v
+(\017\0123)151887 v
+14 s
+(.)165500 v
+10 s
+(8)169000 v
+(:)175666 v
+(\017\0122)180112 v
+14 s
+(.)193725 v
+10 s
+(4)197225 v
+(:)203891 v
+(\017\0123)208337 v
+14 s
+(.)221950 v
+10 s
+(6)225450 v
+(43 Pica)3330 1 87000 306000 t
+(:)119216 v
+(\017\0129)123662 v
+14 s
+(.)137275 v
+10 s
+(1)140775 v
+(:)147441 v
+(\017\0129)151887 v
+14 s
+(.)165500 v
+10 s
+(0)169000 v
+(:)175666 v
+(\017\0125)180112 v
+14 s
+(.)193725 v
+10 s
+(9)197225 v
+(:)203891 v
+(\017\0128)208337 v
+14 s
+(.)221950 v
+10 s
+(8)225450 v
+14 s
+(.)87833 318000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 84000 w
+487980 94000 288000 94000 Dl
+( T)3030(Readability of)3330 2 346660 104000 t
+(ext)416550 v
+8 @11 f
+(Line W)2424 1 317790 116000 t
+( T)2520(idth and Leading for 10\001Point)2664 2 342110 u
+(ype)446638 v
+10 s
+487980 119000 288000 119000 Dl
+487980 121000 288000 121000 Dl
+(Line)299110 130000 w
+(Set)337720 v
+(1\001Point)366330 v
+(2\001Point)409100 v
+(4\001Point)451870 v
+(W)295975 142000 w
+(idth)305015 v
+(Solid)333550 v
+(Leading)364670 v
+(Leading)407440 v
+(Leading)450210 v
+487980 146000 288000 146000 Dl
+(9 Pica)3330 1 298000 156000 t
+(\0129.3)335360 v
+(\0126.0)372305 v
+(\0125.3)415075 v
+(\0127.1)457845 v
+(14 Pica)3330 1 293000 168000 t
+(\0124.5)335360 v
+(\0120.6)372305 v
+(\0120.3)415075 v
+(\0121.7)457845 v
+(19 Pica)3330 1 293000 180000 t
+(\0125.0)335360 v
+(\0125.1 0.0)30270 1 372305 u
+(\0122.0)457845 v
+(31 Pica)3330 1 293000 192000 t
+(\0123.7)335360 v
+(\0123.8)372305 v
+(\0122.4)415075 v
+(\0123.6)457845 v
+(43 Pica)3330 1 293000 204000 t
+(\0129.1)335360 v
+(\0129.0)372305 v
+(\0125.9)415075 v
+(\0128.8)457845 v
+487980 208000 288000 208000 Dl
+288000 94000 288000 208000 Dl
+327550 121000 327550 208000 Dl
+329550 121000 329550 208000 Dl
+359670 121000 359670 208000 Dl
+402440 121000 402440 208000 Dl
+445210 121000 445210 208000 Dl
+487980 94000 487980 208000 Dl
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 12 12
+%%Page: 13 13
+save
+mark
+13 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(13)495000 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(TS)91333 v
+(c s)3330 1 87000 114000 t
+(cip\0012 s)3330 1 87000 126000 t
+(l n)3330 1 87000 138000 t
+(a n)3330 1 87000 150000 t
+14 s
+(.)100603 v
+10 s
+( T)3150(Some London)3330 2 87000 162000 t
+(ransport Statistics)3330 1 153130 u
+(\(Y)87000 174000 w
+(ear 1964\))3330 1 96550 u
+(Rail)87000 186000 w
+(w)103570 v
+(ay route miles)3330 1 110690 u
+6 s
+(T)172676 185000 w
+10 s
+()170676 186000 w
+170676 186000 m
+7320 build_ci
+177996 186000 m
+(244)179662 v
+(T)87000 198000 w
+(ube)92660 v
+6 s
+(T)110766 197000 w
+10 s
+()108766 198000 w
+108766 198000 m
+7320 build_ci
+116086 198000 m
+(66)117752 v
+(Sub\001surf)87000 210000 w
+(ace)121340 v
+6 s
+(T)138326 209000 w
+10 s
+()136326 210000 w
+136326 210000 m
+7320 build_ci
+143646 210000 m
+(22)145312 v
+(Surf)87000 222000 w
+(ace)104120 v
+6 s
+(T)121106 221000 w
+10 s
+()119106 222000 w
+119106 222000 m
+7320 build_ci
+126426 222000 m
+(156)128092 v
+14 s
+(.)87833 234000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+14 s
+(.)87833 246000 w
+10 s
+(T&)91333 v
+(l r)3330 1 87000 258000 t
+(a r)3330 1 87000 270000 t
+14 s
+(.)98933 v
+10 s
+(P)87000 282000 w
+(assenger traf)3330 1 92410 u
+(f)143800 v
+(ic)146930 v
+(\017\012 rail)3330 1 157480 u
+(w)181820 v
+(ay)188940 v
+(Journe)87000 294000 w
+(ys)113510 v
+6 s
+(T)126066 293000 w
+10 s
+()124066 294000 w
+124066 294000 m
+7320 build_ci
+131386 294000 m
+(674 million)3330 1 133052 u
+(A)87000 306000 w
+(v)93480 v
+(erage length)3330 1 98330 u
+6 s
+(T)151976 305000 w
+10 s
+()149976 306000 w
+149976 306000 m
+7320 build_ci
+157296 306000 m
+(4)158962 v
+14 s
+(.)164795 v
+10 s
+(55 miles)3330 1 168295 u
+(P)87000 318000 w
+(assenger miles)3330 1 92410 u
+6 s
+(T)155506 317000 w
+10 s
+()153506 318000 w
+153506 318000 m
+7320 build_ci
+160826 318000 m
+(3,066 million)3330 1 162492 u
+14 s
+(.)87833 330000 w
+10 s
+(T&)91333 v
+(l r)3330 1 87000 342000 t
+(a r)3330 1 87000 354000 t
+14 s
+(.)98933 v
+10 s
+(P)87000 366000 w
+(assenger traf)3330 1 92410 u
+(f)143800 v
+(ic)146930 v
+(\017\012 road)3330 1 157480 u
+(Journe)87000 378000 w
+(ys)113510 v
+6 s
+(T)126066 377000 w
+10 s
+()124066 378000 w
+124066 378000 m
+7320 build_ci
+131386 378000 m
+(2,252 million)3330 1 133052 u
+(A)87000 390000 w
+(v)93480 v
+(erage length)3330 1 98330 u
+6 s
+(T)151976 389000 w
+10 s
+()149976 390000 w
+149976 390000 m
+7320 build_ci
+157296 390000 m
+(2)158962 v
+14 s
+(.)164795 v
+10 s
+(26 miles)3330 1 168295 u
+(P)87000 402000 w
+(assenger miles)3330 1 92410 u
+6 s
+(T)155506 401000 w
+10 s
+()153506 402000 w
+153506 402000 m
+7320 build_ci
+160826 402000 m
+(5,094 million)3330 1 162492 u
+14 s
+(.)87833 414000 w
+10 s
+(T&)91333 v
+(l n)3330 1 87000 426000 t
+(a n)3330 1 87000 438000 t
+14 s
+(.)100603 v
+(.)87833 450000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+(V)87000 462000 w
+(ehicles)93110 v
+6 s
+(T)124546 461000 w
+10 s
+()122546 462000 w
+122546 462000 m
+7320 build_ci
+129866 462000 m
+(12,521)131532 v
+(Rail)87000 474000 w
+(w)103570 v
+(ay motor cars)3330 1 110690 u
+6 s
+(T)170446 473000 w
+10 s
+()168446 474000 w
+168446 474000 m
+7320 build_ci
+175766 474000 m
+(2,905)177432 v
+(Rail)87000 486000 w
+(w)103570 v
+(ay trailer cars)3330 1 110690 u
+6 s
+(T)170436 485000 w
+10 s
+()168436 486000 w
+168436 486000 m
+7320 build_ci
+175756 486000 m
+(1,269)177422 v
+(T)87000 498000 w
+(otal rail)3330 1 92310 u
+(w)123870 v
+(ay)130990 v
+6 s
+(T)144096 497000 w
+10 s
+()142096 498000 w
+142096 498000 m
+7320 build_ci
+149416 498000 m
+(4,174)151082 v
+(Omnib)87000 510000 w
+(uses)114580 v
+6 s
+(T)135466 509000 w
+10 s
+()133466 510000 w
+133466 510000 m
+7320 build_ci
+140786 510000 m
+(8,347)142452 v
+14 s
+(.)87833 522000 w
+10 s
+(T&)91333 v
+(l n)3330 1 87000 534000 t
+(a n)3330 1 87000 546000 t
+14 s
+(.)100603 v
+(.)87833 558000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+(Staf)87000 570000 w
+(f)102860 v
+6 s
+(T)109856 569000 w
+10 s
+()107856 570000 w
+107856 570000 m
+7320 build_ci
+115176 570000 m
+(73,739)116842 v
+(Administrati)87000 582000 w
+(v)137310 v
+(e, etc)3330 1 142160 u
+14 s
+(.)164923 v
+6 s
+(T)172089 581000 w
+10 s
+()170089 582000 w
+170089 582000 m
+7320 build_ci
+177409 582000 m
+(5,582)179075 v
+(Ci)87000 594000 w
+(vil engineering)3330 1 96200 u
+6 s
+(T)160966 593000 w
+10 s
+()158966 594000 w
+158966 594000 m
+7320 build_ci
+166286 594000 m
+(5,134)167952 v
+(Electrical eng)3330 1 87000 606000 t
+14 s
+(.)143923 v
+6 s
+(T)151089 605000 w
+10 s
+()149089 606000 w
+149089 606000 m
+7320 build_ci
+156409 606000 m
+(1,714)158075 v
+(Mech)87000 618000 w
+14 s
+(.)110603 v
+10 s
+(eng)117433 v
+14 s
+(.)132706 v
+10 s
+(\017\012 rail)3330 1 139536 u
+(w)163876 v
+(ay)170996 v
+6 s
+(T)184102 617000 w
+10 s
+()182102 618000 w
+182102 618000 m
+7320 build_ci
+189422 618000 m
+(4,310)191088 v
+(Mech)87000 630000 w
+14 s
+(.)110603 v
+10 s
+(eng)117433 v
+14 s
+(.)132706 v
+10 s
+(\017\012 road)3330 1 139536 u
+6 s
+(T)172082 629000 w
+10 s
+()170082 630000 w
+170082 630000 m
+7320 build_ci
+177402 630000 m
+(9,152)179068 v
+(Rail)87000 642000 w
+(w)103570 v
+(ay operations)3330 1 110690 u
+6 s
+(T)168786 641000 w
+10 s
+()166786 642000 w
+166786 642000 m
+7320 build_ci
+174106 642000 m
+(8,930)175772 v
+(Road operations)3330 1 87000 654000 t
+6 s
+(T)156766 653000 w
+10 s
+()154766 654000 w
+154766 654000 m
+7320 build_ci
+162086 654000 m
+(35,946)163752 v
+(Other)87000 666000 w
+6 s
+(T)113436 665000 w
+10 s
+()111436 666000 w
+111436 666000 m
+7320 build_ci
+118756 666000 m
+(2,971)120422 v
+14 s
+(.)87833 678000 w
+10 s
+(TE)91333 v
+&13
+(Output:)288000 84000 w
+&11
+( T)3150(Some London)3330 2 308185 102000 t
+(ransport Statistics)3330 1 374315 u
+8 @12 f
+(\(Y)358176 114000 w
+(ear 1964\))2664 1 364552 u
+10 @11 f
+(Rail)288000 126000 w
+(w)304570 v
+(ay route miles)3330 1 311690 u
+(244)438105 v
+(T)298755 138000 w
+(ube)304415 v
+(66)443105 v
+(Sub\001surf)298755 150000 w
+(ace)333095 v
+(22)443105 v
+(Surf)298755 162000 w
+(ace)315875 v
+(156)438105 v
+(P)288000 180000 w
+(assenger traf\003c)3330 1 293410 u
+&20
+(\007)358380 v
+&11
+(rail)367200 v
+(w)380430 v
+(ay)387550 v
+(Journe)298755 192000 w
+(ys)325265 v
+(674 million)3330 1 419490 u
+(A)298755 204000 w
+(v)305235 v
+(erage length)3330 1 310085 u
+(4.55 miles)3330 1 424220 u
+(P)298755 216000 w
+(assenger miles)3330 1 304165 u
+(3,066 million)3330 1 411990 u
+(P)288000 228000 w
+(assenger traf\003c)3330 1 293410 u
+&20
+(\007)358380 v
+&11
+(road)367200 v
+(Journe)298755 240000 w
+(ys)325265 v
+(2,252 million)3330 1 411990 u
+(A)298755 252000 w
+(v)305235 v
+(erage length)3330 1 310085 u
+(2.26 miles)3330 1 424220 u
+(P)298755 264000 w
+(assenger miles)3330 1 304165 u
+(5,094 million)3330 1 411990 u
+(V)288000 282000 w
+(ehicles)294110 v
+(12,521)425605 v
+(Rail)298755 294000 w
+(w)315325 v
+(ay motor cars)3330 1 322445 u
+(2,905)430605 v
+(Rail)298755 306000 w
+(w)315325 v
+(ay trailer cars)3330 1 322445 u
+(1,269)430605 v
+(T)298755 318000 w
+(otal rail)3330 1 304065 u
+(w)335625 v
+(ay)342745 v
+(4,174)430605 v
+(Omnib)298755 330000 w
+(uses)326335 v
+(8,347)430605 v
+(Staf)288000 348000 w
+(f)303860 v
+(73,739)425605 v
+(Administrati)298755 360000 w
+(v)349065 v
+(e, etc.)3330 1 353915 u
+(5,582)430605 v
+(Ci)298755 372000 w
+(vil engineering)3330 1 307955 u
+(5,134)430605 v
+(Electrical eng.)3330 1 298755 384000 t
+(1,714)430605 v
+(Mech. eng.)3330 1 298755 396000 t
+&20
+(\007)347625 v
+&11
+(rail)356445 v
+(w)369675 v
+(ay)376795 v
+(4,310)430605 v
+(Mech. eng.)3330 1 298755 408000 t
+&20
+(\007)347625 v
+&11
+(road)356445 v
+(9,152)430605 v
+(Rail)298755 420000 w
+(w)315325 v
+(ay operations)3330 1 322445 u
+(8,930)430605 v
+(Road operations)3330 1 298755 432000 t
+(35,946)425605 v
+(Other)298755 444000 w
+(2,971)430605 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 13 13
+%%Page: 14 14
+save
+mark
+14 pagesetup
+9 @11 f
+(14)72000 48000 w
+&12
+(TBL)487743 v
+10 @13 f
+(Input:)72000 84000 w
+14 @11 f
+(.)87833 102000 w
+10 s
+(ps 8)3330 1 91333 u
+14 s
+(.)87833 114000 w
+10 s
+(vs 10p)3330 1 91333 u
+14 s
+(.)87833 126000 w
+10 s
+(TS)91333 v
+(center box;)3330 1 87000 138000 t
+(c s s)3330 1 87000 150000 t
+(ci s s)3330 1 87000 162000 t
+(c c c)3330 1 87000 174000 t
+(lB l n)3330 1 87000 186000 t
+14 s
+(.)111723 v
+10 s
+(Ne)87000 198000 w
+(w Jerse)3330 1 98410 u
+(y Representati)3330 1 128800 u
+(v)186870 v
+(es)191720 v
+(\(Democrats\))87000 210000 w
+14 s
+(.)87833 222000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+(Name)87000 234000 w
+6 s
+(T)114546 233000 w
+10 s
+()112546 234000 w
+112546 234000 m
+7320 build_ci
+119866 234000 m
+(Of)121532 v
+(f)131832 v
+(ice address)3330 1 134962 u
+6 s
+(T)183608 233000 w
+10 s
+()181608 234000 w
+181608 234000 m
+7320 build_ci
+188928 234000 m
+(Phone)190594 v
+14 s
+(.)87833 246000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+(James J)3330 1 87000 258000 t
+14 s
+(.)119493 v
+10 s
+(Florio)126323 v
+6 s
+(T)154439 257000 w
+10 s
+()152439 258000 w
+152439 258000 m
+7320 build_ci
+159759 258000 m
+(23 S)3330 1 161425 u
+14 s
+(.)181148 v
+10 s
+(White Horse Pik)3330 1 187678 u
+(e, Somerdale 08083)3330 1 255898 u
+6 s
+(T)340934 257000 w
+10 s
+()338934 258000 w
+338934 258000 m
+7320 build_ci
+346254 258000 m
+(609\001627\0018222)347920 v
+(W)87000 270000 w
+(illiam J)3330 1 96040 u
+14 s
+(.)127433 v
+10 s
+(Hughes)134263 v
+6 s
+(T)168479 269000 w
+10 s
+()166479 270000 w
+166479 270000 m
+7320 build_ci
+173799 270000 m
+(2920 Atlantic A)2780 1 175465 u
+(v)239725 v
+(e)244575 v
+14 s
+(.)249848 v
+10 s
+( City 08401)3330(, Atlantic)2780 2 253348 u
+6 s
+(T)343404 269000 w
+10 s
+()341404 270000 w
+341404 270000 m
+7320 build_ci
+348724 270000 m
+(609\001345\0014844)350390 v
+(James J)3330 1 87000 282000 t
+14 s
+(.)119493 v
+10 s
+(Ho)126323 v
+(w)138293 v
+(ard)145413 v
+6 s
+(T)161849 281000 w
+10 s
+()159849 282000 w
+159849 282000 m
+7320 build_ci
+167169 282000 m
+( A)2780(801 Bangs)3330 2 168835 u
+(v)221425 v
+(e)226275 v
+14 s
+(.)231548 v
+10 s
+(, Asb)2780 1 235048 u
+(ury P)3330 1 256238 u
+(ark 07712)3330 1 278308 u
+6 s
+(T)323074 281000 w
+10 s
+()321074 282000 w
+321074 282000 m
+7320 build_ci
+328394 282000 m
+(201\001774\0011600)330060 v
+( Jr)3330(Frank Thompson,)3150 2 87000 294000 t
+14 s
+(.)170143 v
+6 s
+(T)177309 293000 w
+10 s
+()175309 294000 w
+175309 294000 m
+7320 build_ci
+182629 294000 m
+(10 Rutgers Pl)3330 1 184295 u
+14 s
+(.)241238 v
+10 s
+(, T)3150 1 244738 u
+(renton 08618)3330 1 256148 u
+6 s
+(T)313694 293000 w
+10 s
+()311694 294000 w
+311694 294000 m
+7320 build_ci
+319014 294000 m
+(609\001599\0011619)320680 v
+(Andre)87000 306000 w
+(w Maguire)3330 1 111740 u
+6 s
+(T)159836 305000 w
+10 s
+()157836 306000 w
+157836 306000 m
+7320 build_ci
+165156 306000 m
+(115 W)3030 1 166822 u
+14 s
+(.)195125 v
+10 s
+(P)201955 v
+(assaic St)3330 1 207365 u
+14 s
+(.)243748 v
+10 s
+(, Rochelle P)3330 1 247248 u
+(ark 07662)3330 1 297368 u
+6 s
+(T)342134 305000 w
+10 s
+()340134 306000 w
+340134 306000 m
+7320 build_ci
+347454 306000 m
+(201\001843\0010240)349120 v
+(Robert A)2780 1 87000 318000 t
+14 s
+(.)125053 v
+10 s
+(Roe)131883 v
+6 s
+(T)151659 317000 w
+10 s
+()149659 318000 w
+149659 318000 m
+7320 build_ci
+156979 318000 m
+(U)158645 v
+14 s
+(.)166698 v
+10 s
+(S)170198 v
+14 s
+(.)176591 v
+10 s
+(P)180091 v
+14 s
+(.)186484 v
+10 s
+(O)189984 v
+14 s
+(.)198037 v
+10 s
+( W)3030(, 194)3330 2 201537 u
+(ard St)3330 1 234037 u
+14 s
+(.)259310 v
+10 s
+(, P)3330 1 262810 u
+(aterson 07510)3330 1 274050 u
+6 s
+(T)334926 317000 w
+10 s
+()332926 318000 w
+332926 318000 m
+7320 build_ci
+340246 318000 m
+(201\001523\0015152)341912 v
+(Henry Helstoski)3330 1 87000 330000 t
+6 s
+(T)156766 329000 w
+10 s
+()154766 330000 w
+154766 330000 m
+7320 build_ci
+162086 330000 m
+(666 P)3330 1 163752 u
+(aterson A)2780 1 187492 u
+(v)225632 v
+(e)230482 v
+14 s
+(.)235755 v
+10 s
+(, East Rutherford 07073)3330 1 239255 u
+6 s
+(T)341511 329000 w
+10 s
+()339511 330000 w
+339511 330000 m
+7320 build_ci
+346831 330000 m
+(201\001939\0019090)348497 v
+(Peter W)3030 1 87000 342000 t
+14 s
+(.)120853 v
+10 s
+(Rodino, Jr)3330 1 127683 u
+14 s
+(.)171016 v
+6 s
+(T)178182 341000 w
+10 s
+()176182 342000 w
+176182 342000 m
+7320 build_ci
+183502 342000 m
+(Suite 1435A, 970 Broad St)3330 1 185168 u
+14 s
+(.)297381 v
+10 s
+(, Ne)3330 1 300881 u
+(w)318121 v
+(ark 07102)3330 1 325241 u
+6 s
+(T)370007 341000 w
+10 s
+()368007 342000 w
+368007 342000 m
+7320 build_ci
+375327 342000 m
+(201\001645\0013213)376993 v
+(Joseph G)3330 1 87000 354000 t
+14 s
+(.)125603 v
+10 s
+(Minish)132433 v
+6 s
+(T)164439 353000 w
+10 s
+()162439 354000 w
+162439 354000 m
+7320 build_ci
+169759 354000 m
+(308 Main St)3330 1 171425 u
+14 s
+(.)223368 v
+10 s
+(, Orange 07050)3330 1 226868 u
+6 s
+(T)294124 353000 w
+10 s
+()292124 354000 w
+292124 354000 m
+7320 build_ci
+299444 354000 m
+(201\001645\0016363)301110 v
+(Helen S)3330 1 87000 366000 t
+14 s
+(.)120603 v
+10 s
+(Me)127433 v
+(yner)140613 v
+6 s
+(T)162049 365000 w
+10 s
+()160049 366000 w
+160049 366000 m
+7320 build_ci
+167369 366000 m
+(32 Bridge St)3330 1 169035 u
+14 s
+(.)222088 v
+10 s
+(, Lambertville 08530)3330 1 225588 u
+6 s
+(T)315074 365000 w
+10 s
+()313074 366000 w
+313074 366000 m
+7320 build_ci
+320394 366000 m
+(609\001397\0011830)322060 v
+(Dominick V)2830 1 87000 378000 t
+14 s
+(.)137883 v
+10 s
+(Daniels)144713 v
+6 s
+(T)178929 377000 w
+10 s
+()176929 378000 w
+176929 378000 m
+7320 build_ci
+184249 378000 m
+(895 Ber)3330 1 185915 u
+(gen A)2780 1 218505 u
+(v)242205 v
+(e)247055 v
+14 s
+(.)252328 v
+10 s
+(, Jerse)3330 1 255828 u
+(y City 07306)3330 1 281498 u
+6 s
+(T)339054 377000 w
+10 s
+()337054 378000 w
+337054 378000 m
+7320 build_ci
+344374 378000 m
+(201\001659\0017700)346040 v
+(Edw)87000 390000 w
+(ard J)3330 1 105230 u
+14 s
+(.)126053 v
+10 s
+(P)132883 v
+(atten)138293 v
+6 s
+(T)161399 389000 w
+10 s
+()159399 390000 w
+159399 390000 m
+7320 build_ci
+166719 390000 m
+(Natl)168385 v
+14 s
+(.)186438 v
+10 s
+(Bank Bldg)3330 1 193268 u
+14 s
+(.)237991 v
+10 s
+( Ambo)2780(, Perth)3330 2 241491 u
+(y 08861)3330 1 296111 u
+6 s
+(T)333107 389000 w
+10 s
+()331107 390000 w
+331107 390000 m
+7320 build_ci
+338427 390000 m
+(201\001826\0014610)340093 v
+14 s
+(.)87833 402000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5)107886 v
+14 s
+(.)87833 414000 w
+10 s
+(T&)91333 v
+(ci s s)3330 1 87000 426000 t
+(lB l n)3330 1 87000 438000 t
+14 s
+(.)111723 v
+10 s
+(\(Republicans\))87000 450000 w
+14 s
+(.)87833 462000 w
+10 s
+(sp)91333 v
+14 s
+(.)104386 v
+10 s
+(5v)107886 v
+(Millicent Fenwick)3330 1 87000 474000 t
+6 s
+(T)165106 473000 w
+10 s
+()163106 474000 w
+163106 474000 m
+7320 build_ci
+170426 474000 m
+(41 N)3330 1 172092 u
+14 s
+(.)193475 v
+10 s
+(Bridge St)3330 1 200305 u
+14 s
+(.)240028 v
+10 s
+(, Somerville 08876)3330 1 243528 u
+6 s
+(T)325244 473000 w
+10 s
+()323244 474000 w
+323244 474000 m
+7320 build_ci
+330564 474000 m
+(201\001722\0018200)332230 v
+(Edwin B)3330 1 87000 486000 t
+14 s
+(.)123943 v
+10 s
+(F)130773 v
+(orsythe)136183 v
+6 s
+(T)169289 485000 w
+10 s
+()167289 486000 w
+167289 486000 m
+7320 build_ci
+174609 486000 m
+(301 Mill St)3330 1 176275 u
+14 s
+(.)224338 v
+10 s
+(, Mooresto)3330 1 227838 u
+(wn 08057)3330 1 271748 u
+6 s
+(T)315964 485000 w
+10 s
+()313964 486000 w
+313964 486000 m
+7320 build_ci
+321284 486000 m
+(609\001235\0016622)322950 v
+(Matthe)87000 498000 w
+(w J)3330 1 115080 u
+14 s
+(.)130353 v
+10 s
+(Rinaldo)137183 v
+6 s
+(T)172519 497000 w
+10 s
+()170519 498000 w
+170519 498000 m
+7320 build_ci
+177839 498000 m
+( A)2780(1961 Morris)3330 2 179505 u
+(v)239315 v
+(e)244165 v
+14 s
+(.)249438 v
+10 s
+(, Union 07083)3330 1 252938 u
+6 s
+(T)315764 497000 w
+10 s
+()313764 498000 w
+313764 498000 m
+7320 build_ci
+321084 498000 m
+(201\001687\0014235)322750 v
+14 s
+(.)87833 510000 w
+10 s
+(TE)91333 v
+14 s
+(.)87833 522000 w
+10 s
+(ps 10)3330 1 91333 u
+14 s
+(.)87833 534000 w
+10 s
+(vs 12p)3330 1 91333 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 14 14
+%%Page: 15 15
+save
+mark
+15 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(15)495000 v
+10 @13 f
+(Output:)72000 84000 w
+8 @11 f
+435216 93600 140784 93600 Dl
+(Ne)242780 102000 w
+(w Jerse)2664 1 251908 u
+(y Representati)2664 1 276220 u
+(v)322676 v
+(es)326556 v
+&12
+(\(Democr)267844 112000 w
+(ats\))296156 v
+&11
+(Name)172048 127000 w
+(Of\003ce address)2664 1 278828 u
+(Phone)398552 v
+&13
+(J)144784 142000 w
+(ames J)2664 1 148664 u
+(. Florio)2664 1 172496 u
+&11
+( Horse Pik)2664( White)2424(23 S.)2664 3 230416 u
+(e, Somerdale 08083)2664 1 304528 u
+(609\001627\0018222)385888 v
+&13
+(W)144784 152000 w
+(illiam J)2664 1 152640 u
+(. Hughes)2664 1 178704 u
+&11
+(2920 Atlantic A)2224 1 230416 u
+(v)281824 v
+( City 08401)2664(e., Atlantic)2224 2 285704 u
+(609\001345\0014844)385888 v
+&13
+(J)144784 162000 w
+(ames J)2664 1 148664 u
+(. Ho)2664 1 172496 u
+(ward)187304 v
+&11
+( A)2224(801 Bangs)2664 2 230416 u
+(v)272488 v
+(e., Asb)2224 1 276368 u
+(ury P)2664 1 298872 u
+(ark 07712)2664 1 316528 u
+(201\001774\0011600)385888 v
+&13
+( Jr)2664(Frank Thompson,)2424 2 144784 172000 t
+(.)216416 v
+&11
+( T)2520(10 Rutgers Pl.,)2664 2 230416 u
+(renton 08618)2664 1 286432 u
+(609\001599\0011619)385888 v
+&13
+(Andr)144784 182000 w
+(ew Maguir)2664 1 162864 u
+(e)200488 v
+&11
+(115 W)2424 1 230416 u
+(. P)2664 1 251656 u
+(assaic St., Rochelle P)2664 1 260648 u
+(ark 07662)2664 1 331184 u
+(201\001843\0010240)385888 v
+&13
+( Roe)2664(Robert A.)2224 2 144784 192000 t
+&11
+(U.S.P)230416 v
+( W)2424(.O., 194)2664 2 248200 u
+(ard St., P)2664 1 283976 u
+(aterson 07510)2664 1 314520 u
+(201\001523\0015152)385888 v
+&13
+(Henry Helstoski)2664 1 144784 202000 t
+&11
+(666 P)2664 1 230416 u
+(aterson A)2224 1 249408 u
+(v)279920 v
+(e., East Rutherford 07073)2664 1 283800 u
+(201\001939\0019090)385888 v
+&13
+(P)144784 212000 w
+(eter W)2424 1 149512 u
+(. Rodino, Jr)2664 1 172520 u
+(.)213496 v
+&11
+(Suite 1435A, 970 Broad St., Ne)2664 1 230416 u
+(w)335312 v
+(ark 07102)2664 1 341008 u
+(201\001645\0013213)385888 v
+&13
+(J)144784 222000 w
+(oseph G. Minish)2664 1 148664 u
+&11
+(308 Main St., Orange 07050)2664 1 230416 u
+(201\001645\0016363)385888 v
+&13
+(Helen S. Meyner)2664 1 144784 232000 t
+&11
+(32 Bridge St., Lambertville 08530)2664 1 230416 u
+(609\001397\0011830)385888 v
+&13
+(Dominick V)2304 1 144784 242000 t
+(. Daniels)2664 1 185040 u
+&11
+(895 Ber)2664 1 230416 u
+(gen A)2224 1 256488 u
+(v)275448 v
+(e., Jerse)2664 1 279328 u
+(y City 07306)2664 1 305416 u
+(201\001659\0017700)385888 v
+&13
+(Ed)144784 252000 w
+(ward J)2664 1 154448 u
+(. P)2664 1 178728 u
+(atten)188200 v
+&11
+( Ambo)2224(Natl. Bank Bldg., Perth)2664 2 230416 u
+(y 08861)2664 1 329664 u
+(201\001826\0014610)385888 v
+&12
+(\(Republicans\))265560 267000 w
+&13
+(Millicent F)2664 1 144784 282000 t
+(enwick)182800 v
+&11
+(41 N. Bridge St., Somerville 08876)2664 1 230416 u
+(201\001722\0018200)385888 v
+&13
+(Ed)144784 292000 w
+(win B. F)2664 1 154448 u
+(orsythe)184248 v
+&11
+(301 Mill St., Mooresto)2664 1 230416 u
+(wn 08057)2664 1 305328 u
+(609\001235\0016622)385888 v
+&13
+(Matthew J)2664 1 144784 302000 t
+(. Rinaldo)2664 1 181944 u
+&11
+( A)2224(1961 Morris)2664 2 230416 u
+(v)278264 v
+(e., Union 07083)2664 1 282144 u
+(201\001687\0014235)385888 v
+435216 305600 140784 305600 Dl
+140784 93600 140784 305600 Dl
+435216 93600 435216 305600 Dl
+10 s
+(This is a paragraph of normal te)3651 1 72000 328000 t
+(xt placed here only to indicate where the left and right mar)3651 1 206506 u
+( In)6982(gins are.)3651 2 453657 u
+(this w)4393 1 72000 340000 t
+( centered tables or e)4392(ay the reader can judge the appearance of)4393 2 97963 u
+(xpanded tables, and observ)4392 1 364362 u
+(e ho)4392 1 478198 u
+(w)496780 v
+(such tables are formatted.)3330 1 72000 352000 t
+&13
+(Input:)72000 376000 w
+14 @11 f
+(.)87833 394000 w
+10 s
+(TS)91333 v
+(e)87000 406000 w
+(xpand;)91290 v
+(c s s s)3330 1 87000 418000 t
+(c c c c)3330 1 87000 430000 t
+(l l n n)3330 1 87000 442000 t
+14 s
+(.)113383 v
+10 s
+(Bell Labs Locations)3330 1 87000 454000 t
+(Name)87000 466000 w
+6 s
+(T)114546 465000 w
+10 s
+()112546 466000 w
+112546 466000 m
+7320 build_ci
+119866 466000 m
+(Address)121532 v
+6 s
+(T)157968 465000 w
+10 s
+()155968 466000 w
+155968 466000 m
+7320 build_ci
+163288 466000 m
+(Area Code)3330 1 164954 u
+6 s
+(T)212490 465000 w
+10 s
+()210490 466000 w
+210490 466000 m
+7320 build_ci
+217810 466000 m
+(Phone)219476 v
+(Holmdel)87000 478000 w
+6 s
+(T)125666 477000 w
+10 s
+()123666 478000 w
+123666 478000 m
+7320 build_ci
+130986 478000 m
+(Holmdel, N)3330 1 132652 u
+14 s
+(.)181535 v
+10 s
+(J)188365 v
+14 s
+(.)193088 v
+10 s
+(07733)199918 v
+6 s
+(T)228584 477000 w
+10 s
+()226584 478000 w
+226584 478000 m
+7320 build_ci
+233904 478000 m
+(201)235570 v
+6 s
+(T)254236 477000 w
+10 s
+()252236 478000 w
+252236 478000 m
+7320 build_ci
+259556 478000 m
+(949\0013000)261222 v
+(Murray Hill)3330 1 87000 490000 t
+6 s
+(T)139546 489000 w
+10 s
+()137546 490000 w
+137546 490000 m
+7320 build_ci
+144866 490000 m
+(Murray Hill, N)3330 1 146532 u
+14 s
+(.)209295 v
+10 s
+(J)216125 v
+14 s
+(.)220848 v
+10 s
+(07974)227678 v
+6 s
+(T)256344 489000 w
+10 s
+()254344 490000 w
+254344 490000 m
+7320 build_ci
+261664 490000 m
+(201)263330 v
+6 s
+(T)281996 489000 w
+10 s
+()279996 490000 w
+279996 490000 m
+7320 build_ci
+287316 490000 m
+(582\0016377)288982 v
+(Whippan)87000 502000 w
+(y)123510 v
+6 s
+(T)132176 501000 w
+10 s
+()130176 502000 w
+130176 502000 m
+7320 build_ci
+137496 502000 m
+(Whippan)139162 v
+(y)175672 v
+(, N)3330 1 180022 u
+14 s
+(.)193905 v
+10 s
+(J)200735 v
+14 s
+(.)205458 v
+10 s
+(07981)212288 v
+6 s
+(T)240954 501000 w
+10 s
+()238954 502000 w
+238954 502000 m
+7320 build_ci
+246274 502000 m
+(201)247940 v
+6 s
+(T)266606 501000 w
+10 s
+()264606 502000 w
+264606 502000 m
+7320 build_ci
+271926 502000 m
+(386\0013000)273592 v
+(Indian Hill)3330 1 87000 514000 t
+6 s
+(T)135106 513000 w
+10 s
+()133106 514000 w
+133106 514000 m
+7320 build_ci
+140426 514000 m
+(Naperville, Illinois 60540)3330 1 142092 u
+6 s
+(T)250468 513000 w
+10 s
+()248468 514000 w
+248468 514000 m
+7320 build_ci
+255788 514000 m
+(312)257454 v
+6 s
+(T)276120 513000 w
+10 s
+()274120 514000 w
+274120 514000 m
+7320 build_ci
+281440 514000 m
+(690\0012000)283106 v
+14 s
+(.)87833 526000 w
+10 s
+(TE)91333 v
+&13
+(Output:)72000 550000 w
+&11
+(Bell Labs Locations)3330 1 246894 568000 t
+(Name)84500 580000 w
+(Address)222253 v
+(Area Code)3330 1 356396 u
+(Phone)472334 v
+(Holmdel)72000 592000 w
+(Holmdel, N. J. 07733)3330 1 186283 u
+(201)370831 v
+(949\0013000)465669 v
+(Murray Hill)3330 1 72000 604000 t
+(Murray Hill, N. J. 07974)3330 1 186283 u
+(201)370831 v
+(582\0016377)465669 v
+(Whippan)72000 616000 w
+(y)108510 v
+(Whippan)186283 v
+(y)222793 v
+(, N. J. 07981)3330 1 227143 u
+(201)370831 v
+(386\0013000)465669 v
+(Indian Hill)3330 1 72000 628000 t
+(Naperville, Illinois 60540)3330 1 186283 u
+(312)370831 v
+(690\0012000)465669 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 15 15
+%%Page: 16 16
+save
+mark
+16 pagesetup
+9 @11 f
+(16)72000 45000 w
+&12
+(TBL)487743 v
+8 @13 f
+(Input:)72000 81000 w
+14 @11 f
+(.)84666 94500 w
+8 s
+(TS)88166 v
+(box;)84000 103500 w
+(cb s s s)7992 1 84000 112500 t
+(c)84000 121500 w
+(\023 c)2664 1 90216 u
+( s)7992(\023 c)2664 2 100696 u
+(ltiw\(1i\))84000 130500 w
+(\023 ltw\(2i\))2664 1 110664 u
+(\023 lp8)2664 1 139368 u
+(\023 l)2664 1 156520 u
+(w\(1)162928 v
+14 s
+(.)176034 v
+8 s
+(6i\)p8)179534 v
+14 s
+(.)197088 v
+8 s
+(Some Interesting Places)2664 1 84000 139500 t
+(_)84000 148500 w
+(Name)84000 157500 w
+6 s
+(T)106037 156700 w
+10 s
+()104037 157700 w
+104037 157700 m
+7320 build_ci
+111357 157700 m
+8 s
+(Description)113023 v
+6 s
+(T)153284 156900 w
+10 s
+()151284 157900 w
+151284 157900 m
+7320 build_ci
+158604 157900 m
+8 s
+(Practical Information)2664 1 160270 u
+(_)84000 166500 w
+(T{)84000 175500 w
+(American Museum of Natural History)2664 1 84000 184500 t
+(T})84000 193500 w
+6 s
+(T)95661 192700 w
+10 s
+()93661 193700 w
+93661 193700 m
+7320 build_ci
+100981 193700 m
+8 s
+(T{)102647 v
+(The collections f)2664 1 84000 202500 t
+(ill 11)2664 1 138936 u
+14 s
+(.)156938 v
+8 s
+(5 acres \(Michelin\) or 25 acres \(MT)2664 1 160438 u
+(A\))276086 v
+(of e)2664 1 84000 211500 t
+(xhibition halls on four floors)2664 1 96760 u
+14 s
+(.)192082 v
+8 s
+(There is a full\001sized replica)2664 1 84000 220500 t
+(of a blue whale and the w)2664 1 84000 229500 t
+(orld\030)170104 v
+(s lar)2664 1 185216 u
+(gest star sapphire \(stolen in 1964\))2664 1 199288 u
+14 s
+(.)311482 v
+8 s
+(T})84000 238500 w
+6 s
+(T)95661 237700 w
+10 s
+()93661 238700 w
+93661 238700 m
+7320 build_ci
+100981 238700 m
+8 s
+(Hours)102647 v
+6 s
+(T)125132 237900 w
+10 s
+()123132 238900 w
+123132 238900 m
+7320 build_ci
+130452 238900 m
+8 s
+(10\0015, e)2664 1 132118 u
+(x)154878 v
+14 s
+(.)159544 v
+8 s
+( W)2424(Sun 11\0015,)2664 2 165708 u
+(ed)206820 v
+14 s
+(.)215038 v
+8 s
+(to 9)2664 1 221202 u
+(\017)84000 247500 w
+12 s
+(^)86890 251100 w
+6 s
+(T)94485 246700 w
+10 s
+()92485 247700 w
+92485 247700 m
+7320 build_ci
+99805 247700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 251300 w
+6 s
+(T)111956 246900 w
+10 s
+()109956 247900 w
+109956 247900 m
+7320 build_ci
+117276 247900 m
+8 s
+(Location)118942 v
+6 s
+(T)150315 247100 w
+10 s
+()148315 248100 w
+148315 248100 m
+7320 build_ci
+155635 248100 m
+8 s
+(T{)157301 v
+(Central P)2664 1 84000 256500 t
+(ark W)2424 1 114544 u
+(est & 79th St)2664 1 134096 u
+14 s
+(.)178762 v
+8 s
+(T})84000 265500 w
+(\017)84000 274500 w
+12 s
+(^)86890 278100 w
+6 s
+(T)94485 273700 w
+10 s
+()92485 274700 w
+92485 274700 m
+7320 build_ci
+99805 274700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 278300 w
+6 s
+(T)111956 273900 w
+10 s
+()109956 274900 w
+109956 274900 m
+7320 build_ci
+117276 274900 m
+8 s
+(Admission)118942 v
+6 s
+(T)156547 274100 w
+10 s
+()154547 275100 w
+154547 275100 m
+7320 build_ci
+161867 275100 m
+8 s
+(Donation: $1)2664 1 163533 u
+14 s
+(.)206863 v
+8 s
+(00 ask)2664 1 210363 u
+(ed)231611 v
+(\017)84000 283500 w
+12 s
+(^)86890 287100 w
+6 s
+(T)94485 282700 w
+10 s
+()92485 283700 w
+92485 283700 m
+7320 build_ci
+99805 283700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 287300 w
+6 s
+(T)111956 282900 w
+10 s
+()109956 283900 w
+109956 283900 m
+7320 build_ci
+117276 283900 m
+8 s
+(Subw)118942 v
+(ay)137086 v
+6 s
+(T)147571 283100 w
+10 s
+()145571 284100 w
+145571 284100 m
+7320 build_ci
+152891 284100 m
+8 s
+(AA to 81st St)2664 1 154557 u
+14 s
+(.)200999 v
+8 s
+(\017)84000 292500 w
+12 s
+(^)86890 296100 w
+6 s
+(T)94485 291700 w
+10 s
+()92485 292700 w
+92485 292700 m
+7320 build_ci
+99805 292700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 296300 w
+6 s
+(T)111956 291900 w
+10 s
+()109956 292900 w
+109956 292900 m
+7320 build_ci
+117276 292900 m
+8 s
+(T)118942 v
+(elephone)123270 v
+6 s
+(T)155083 292100 w
+10 s
+()153083 293100 w
+153083 293100 m
+7320 build_ci
+160403 293100 m
+8 s
+(212\001873\0014225)162069 v
+(_)84000 301500 w
+(Bronx Zoo)2664 1 84000 310500 t
+6 s
+(T)122485 309700 w
+10 s
+()120485 310700 w
+120485 310700 m
+7320 build_ci
+127805 310700 m
+8 s
+(T{)129471 v
+(About a mile long and)2664 1 84000 319500 t
+14 s
+(.)161538 v
+8 s
+(6 mile wide, this is the lar)2664 1 165038 u
+( America)2224(gest zoo in)2664 2 251766 u
+14 s
+(.)318192 v
+8 s
+(A lion eats 18 pounds)2664 1 84000 328500 t
+(of meat a day while a sea lion eats 15 pounds of f)2664 1 84000 337500 t
+(ish)250000 v
+14 s
+(.)260002 v
+8 s
+(T})84000 346500 w
+6 s
+(T)95661 345700 w
+10 s
+()93661 346700 w
+93661 346700 m
+7320 build_ci
+100981 346700 m
+8 s
+(Hours)102647 v
+6 s
+(T)125132 345900 w
+10 s
+()123132 346900 w
+123132 346900 m
+7320 build_ci
+130452 346900 m
+8 s
+(T{)132118 v
+(10\0014:30 winter)2664 1 84000 355500 t
+(, to 5:00 summer)2664 1 131672 u
+(T})84000 364500 w
+(\017)84000 373500 w
+12 s
+(^)86890 377100 w
+6 s
+(T)94485 372700 w
+10 s
+()92485 373700 w
+92485 373700 m
+7320 build_ci
+99805 373700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 377300 w
+6 s
+(T)111956 372900 w
+10 s
+()109956 373900 w
+109956 373900 m
+7320 build_ci
+117276 373900 m
+8 s
+(Location)118942 v
+6 s
+(T)150315 373100 w
+10 s
+()148315 374100 w
+148315 374100 m
+7320 build_ci
+155635 374100 m
+8 s
+(T{)157301 v
+(185th St)2664 1 84000 382500 t
+14 s
+(.)112226 v
+8 s
+(& Southern Blvd, the Bronx)2664 1 118390 u
+14 s
+(.)212160 v
+8 s
+(T})84000 391500 w
+(\017)84000 400500 w
+12 s
+(^)86890 404100 w
+6 s
+(T)94485 399700 w
+10 s
+()92485 400700 w
+92485 400700 m
+7320 build_ci
+99805 400700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 404300 w
+6 s
+(T)111956 399900 w
+10 s
+()109956 400900 w
+109956 400900 m
+7320 build_ci
+117276 400900 m
+8 s
+(Admission)118942 v
+6 s
+(T)156547 400100 w
+10 s
+()154547 401100 w
+154547 401100 m
+7320 build_ci
+161867 401100 m
+8 s
+($1)163533 v
+14 s
+(.)172199 v
+8 s
+(00, b)2664 1 175699 u
+(ut T)2520 1 192203 u
+(u,W)205475 v
+(e,Th free)2664 1 218387 u
+(\017)84000 409500 w
+12 s
+(^)86890 413100 w
+6 s
+(T)94485 408700 w
+10 s
+()92485 409700 w
+92485 409700 m
+7320 build_ci
+99805 409700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 413300 w
+6 s
+(T)111956 408900 w
+10 s
+()109956 409900 w
+109956 409900 m
+7320 build_ci
+117276 409900 m
+8 s
+(Subw)118942 v
+(ay)137086 v
+6 s
+(T)147571 409100 w
+10 s
+()145571 410100 w
+145571 410100 m
+7320 build_ci
+152891 410100 m
+8 s
+( T)2520(2, 5 to East)2664 2 154557 u
+(remont A)2224 1 199677 u
+(v)229749 v
+(e)233629 v
+14 s
+(.)237847 v
+8 s
+(\017)84000 418500 w
+12 s
+(^)86890 422100 w
+6 s
+(T)94485 417700 w
+10 s
+()92485 418700 w
+92485 418700 m
+7320 build_ci
+99805 418700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 422300 w
+6 s
+(T)111956 417900 w
+10 s
+()109956 418900 w
+109956 418900 m
+7320 build_ci
+117276 418900 m
+8 s
+(T)118942 v
+(elephone)123270 v
+6 s
+(T)155083 418100 w
+10 s
+()153083 419100 w
+153083 419100 m
+7320 build_ci
+160403 419100 m
+8 s
+(212\001933\0011759)162069 v
+(_)84000 427500 w
+(Brooklyn Museum)2664 1 84000 436500 t
+6 s
+(T)147821 435700 w
+10 s
+()145821 436700 w
+145821 436700 m
+7320 build_ci
+153141 436700 m
+8 s
+(T{)154807 v
+(Fi)84000 445500 w
+(v)90472 v
+(e floors of g)2664 1 94352 u
+( and ancient art)2664( American)2224(alleries contain)2664 3 135184 u
+14 s
+(.)270026 v
+8 s
+( period rooms and architectural ornaments sa)2664( American)2224
+(There are)2664 3 84000 454500 t
+(v)296648 v
+(ed)300528 v
+(from wreck)2664 1 84000 463500 t
+(ers, such as a classical f)2664 1 121680 u
+(igure from Pennsylv)2664 1 200816 u
+(ania Station)2664 1 267272 u
+14 s
+(.)306602 v
+8 s
+(T})84000 472500 w
+6 s
+(T)95661 471700 w
+10 s
+()93661 472700 w
+93661 472700 m
+7320 build_ci
+100981 472700 m
+8 s
+(Hours)102647 v
+6 s
+(T)125132 471900 w
+10 s
+()123132 472900 w
+123132 472900 m
+7320 build_ci
+130452 472900 m
+8 s
+(W)132118 v
+(ed\001Sat, 10\0015, Sun 12\0015)2664 1 139030 u
+(\017)84000 481500 w
+12 s
+(^)86890 485100 w
+6 s
+(T)94485 480700 w
+10 s
+()92485 481700 w
+92485 481700 m
+7320 build_ci
+99805 481700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 485300 w
+6 s
+(T)111956 480900 w
+10 s
+()109956 481900 w
+109956 481900 m
+7320 build_ci
+117276 481900 m
+8 s
+(Location)118942 v
+6 s
+(T)150315 481100 w
+10 s
+()148315 482100 w
+148315 482100 m
+7320 build_ci
+155635 482100 m
+8 s
+(T{)157301 v
+(Eastern P)2664 1 84000 490500 t
+(arkw)114984 v
+( W)2424(ay &)2664 2 130896 u
+(ashington A)2224 1 156672 u
+(v)195192 v
+(e)199072 v
+14 s
+(.)203290 v
+8 s
+(, Brooklyn)2664 1 206790 u
+14 s
+(.)242344 v
+8 s
+(T})84000 499500 w
+(\017)84000 508500 w
+12 s
+(^)86890 512100 w
+6 s
+(T)94485 507700 w
+10 s
+()92485 508700 w
+92485 508700 m
+7320 build_ci
+99805 508700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 512300 w
+6 s
+(T)111956 507900 w
+10 s
+()109956 508900 w
+109956 508900 m
+7320 build_ci
+117276 508900 m
+8 s
+(Admission)118942 v
+6 s
+(T)156547 508100 w
+10 s
+()154547 509100 w
+154547 509100 m
+7320 build_ci
+161867 509100 m
+8 s
+(Free)163533 v
+(\017)84000 517500 w
+12 s
+(^)86890 521100 w
+6 s
+(T)94485 516700 w
+10 s
+()92485 517700 w
+92485 517700 m
+7320 build_ci
+99805 517700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 521300 w
+6 s
+(T)111956 516900 w
+10 s
+()109956 517900 w
+109956 517900 m
+7320 build_ci
+117276 517900 m
+8 s
+(Subw)118942 v
+(ay)137086 v
+6 s
+(T)147571 517100 w
+10 s
+()145571 518100 w
+145571 518100 m
+7320 build_ci
+152891 518100 m
+8 s
+(2,3 to Eastern P)2664 1 154557 u
+(arkw)207093 v
+(ay)223005 v
+14 s
+(.)231223 v
+8 s
+(\017)84000 526500 w
+12 s
+(^)86890 530100 w
+6 s
+(T)94485 525700 w
+10 s
+()92485 526700 w
+92485 526700 m
+7320 build_ci
+99805 526700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 530300 w
+6 s
+(T)111956 525900 w
+10 s
+()109956 526900 w
+109956 526900 m
+7320 build_ci
+117276 526900 m
+8 s
+(T)118942 v
+(elephone)123270 v
+6 s
+(T)155083 526100 w
+10 s
+()153083 527100 w
+153083 527100 m
+7320 build_ci
+160403 527100 m
+8 s
+(212\001638\0015000)162069 v
+(_)84000 535500 w
+(T{)84000 544500 w
+(Ne)84000 553500 w
+(w\001Y)93128 v
+(ork Historical Society)2664 1 106464 u
+(T})84000 562500 w
+6 s
+(T)95661 561700 w
+10 s
+()93661 562700 w
+93661 562700 m
+7320 build_ci
+100981 562700 m
+8 s
+(T{)102647 v
+( Audubon\030)2224(All the original paintings for)2664 2 84000 571500 t
+(s)212432 v
+14 s
+(.)84666 580500 w
+8 s
+(I)88166 v
+( America)2224(Birds of)2664 2 84000 589500 t
+14 s
+(.)84666 598500 w
+8 s
+(R)88166 v
+(are here, as are e)2664 1 84000 607500 t
+( decorati)2664( American)2224(xhibits of)2664 3 140056 u
+(v)233168 v
+(e arts, Ne)2664 1 237048 u
+(w Y)1944 1 268608 u
+(ork history)2664 1 281224 u
+(,)316256 v
+(Hudson Ri)2664 1 84000 616500 t
+(v)118912 v
+(er school paintings, carriages, and glass paperweights)2664 1 122792 u
+14 s
+(.)298962 v
+8 s
+(T})84000 625500 w
+6 s
+(T)95661 624700 w
+10 s
+()93661 625700 w
+93661 625700 m
+7320 build_ci
+100981 625700 m
+8 s
+(Hours)102647 v
+6 s
+(T)125132 624900 w
+10 s
+()123132 625900 w
+123132 625900 m
+7320 build_ci
+130452 625900 m
+8 s
+(T{)132118 v
+(T)84000 634500 w
+(ues\001Fri & Sun, 1\0015; Sat 10\0015)2664 1 88528 u
+(T})84000 643500 w
+(\017)84000 652500 w
+12 s
+(^)86890 656100 w
+6 s
+(T)94485 651700 w
+10 s
+()92485 652700 w
+92485 652700 m
+7320 build_ci
+99805 652700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 656300 w
+6 s
+(T)111956 651900 w
+10 s
+()109956 652900 w
+109956 652900 m
+7320 build_ci
+117276 652900 m
+8 s
+(Location)118942 v
+6 s
+(T)150315 652100 w
+10 s
+()148315 653100 w
+148315 653100 m
+7320 build_ci
+155635 653100 m
+8 s
+(T{)157301 v
+(Central P)2664 1 84000 661500 t
+(ark W)2424 1 114544 u
+(est & 77th St)2664 1 134096 u
+14 s
+(.)178762 v
+8 s
+(T})84000 670500 w
+(\017)84000 679500 w
+12 s
+(^)86890 683100 w
+6 s
+(T)94485 678700 w
+10 s
+()92485 679700 w
+92485 679700 m
+7320 build_ci
+99805 679700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 683300 w
+6 s
+(T)111956 678900 w
+10 s
+()109956 679900 w
+109956 679900 m
+7320 build_ci
+117276 679900 m
+8 s
+(Admission)118942 v
+6 s
+(T)156547 679100 w
+10 s
+()154547 680100 w
+154547 680100 m
+7320 build_ci
+161867 680100 m
+8 s
+(Free)163533 v
+(\017)84000 688500 w
+12 s
+(^)86890 692100 w
+6 s
+(T)94485 687700 w
+10 s
+()92485 688700 w
+92485 688700 m
+7320 build_ci
+99805 688700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 692300 w
+6 s
+(T)111956 687900 w
+10 s
+()109956 688900 w
+109956 688900 m
+7320 build_ci
+117276 688900 m
+8 s
+(Subw)118942 v
+(ay)137086 v
+6 s
+(T)147571 688100 w
+10 s
+()145571 689100 w
+145571 689100 m
+7320 build_ci
+152891 689100 m
+8 s
+(AA to 81st St)2664 1 154557 u
+14 s
+(.)200999 v
+8 s
+(\017)84000 697500 w
+12 s
+(^)86890 701100 w
+6 s
+(T)94485 696700 w
+10 s
+()92485 697700 w
+92485 697700 m
+7320 build_ci
+99805 697700 m
+8 s
+(\017)101471 v
+12 s
+(^)104361 701300 w
+6 s
+(T)111956 696900 w
+10 s
+()109956 697900 w
+109956 697900 m
+7320 build_ci
+117276 697900 m
+8 s
+(T)118942 v
+(elephone)123270 v
+6 s
+(T)155083 697100 w
+10 s
+()153083 698100 w
+153083 698100 m
+7320 build_ci
+160403 698100 m
+8 s
+(212\001873\0013400)162069 v
+14 s
+(.)84666 706500 w
+8 s
+(TE)88166 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 16 16
+%%Page: 17 17
+save
+mark
+17 pagesetup
+9 @12 f
+(TBL)72000 48000 w
+&11
+(17)495000 v
+10 @13 f
+(Output:)72000 84000 w
+494292 94000 72000 94000 Dl
+(Some Inter)3330 1 231581 104000 t
+(esting Places)3330 1 279721 u
+494292 108000 72000 108000 Dl
+&11
+(Name)101770 118000 w
+(Description)214090 v
+(Practical Information)3330 1 363811 u
+494292 122000 72000 122000 Dl
+8 s
+(Hours)324420 132000 w
+(10\0015, e)2664 1 374092 u
+( W)2424(x. Sun 11\0015,)2664 2 396852 u
+(ed. to 9)2664 1 446628 u
+(Location)324420 144000 w
+(Central P)2664 1 374092 u
+(ark W)2424 1 404636 u
+(est & 79th St.)2664 1 424188 u
+(Admission)324420 156000 w
+(Donation: $1.00 ask)2664 1 374092 u
+(ed)440004 v
+(Subw)324420 168000 w
+(ay)342564 v
+(AA to 81st St.)2664 1 374092 u
+(T)324420 180000 w
+(elephone)328748 v
+(212\001873\0014225)374092 v
+10 @12 f
+(American)77000 132000 w
+(Museum of)31760 1 77000 144000 t
+(Natur)77000 156000 w
+(al History)3330 1 100190 u
+&11
+(The collections)8990 1 165420 132000 t
+(\003ll 11.5 acres)8990 1 242280 u
+(\(Michelin\) or 25 acres \(MT)5216 1 165420 144000 t
+(A\) of)5216 1 285324 u
+(e)165420 156000 w
+(xhibition halls on four)8190 1 169710 u
+(\004oors.)284140 v
+( full\001sized replica of a)5303(There is a)5304 2 165420 168000 t
+(blue whale and the w)3972 1 165420 180000 t
+(orld\030)256188 v
+(s lar)3972 1 275078 u
+(gest)293310 v
+(star sapphire \(stolen in 1964\).)3330 1 165420 192000 t
+494292 196000 72000 196000 Dl
+8 s
+(Hours)324420 206000 w
+(10\0014:30 winter)2664 1 374092 u
+(, to 5:00 summer)2664 1 421764 u
+(Location)324420 218000 w
+( the)5172(185th St. & Southern Blvd,)5171 2 374092 u
+(Bronx.)374092 228000 w
+(Admission)324420 240000 w
+($1.00, b)2664 1 374092 u
+(ut T)2520 1 400596 u
+(u,W)413868 v
+(e,Th free)2664 1 426780 u
+(Subw)324420 252000 w
+(ay)342564 v
+( T)2520(2, 5 to East)2664 2 374092 u
+(remont A)2224 1 419212 u
+(v)449284 v
+(e.)453164 v
+10 @12 f
+(Br)77000 206000 w
+(onx Zoo)3330 1 86550 u
+8 @11 f
+(T)324420 264000 w
+(elephone)328748 v
+(212\001933\0011759)374092 v
+10 s
+( long and .6 mile)6547(About a mile)6546 2 165420 206000 t
+(wide, this is the lar)6670 1 165420 218000 t
+(gest zoo in)6670 1 257750 u
+( lion eats 18 pounds)5414(America. A)8194 2 165420 230000 t
+( day while a sea lion eats)3351(of meat a)3352 2 165420 242000 t
+(15 pounds of)3330 1 165420 254000 t
+(\003sh.)222630 v
+494292 268000 72000 268000 Dl
+8 s
+(Hours)324420 278000 w
+(W)374092 v
+(ed\001Sat, 10\0015, Sun 12\0015)2664 1 381004 u
+(Location)324420 290000 w
+(Eastern P)6469 1 374092 u
+(arkw)408881 v
+( W)6230(ay &)6469 2 424793 u
+(ashington)458180 v
+(A)374092 300000 w
+(v)379276 v
+(e., Brooklyn.)2664 1 383156 u
+(Admission)324420 312000 w
+(Free)374092 v
+(Subw)324420 324000 w
+(ay)342564 v
+(2,3 to Eastern P)2664 1 374092 u
+(arkw)426628 v
+(ay)442540 v
+(.)449572 v
+10 @12 f
+(Br)77000 278000 w
+(ooklyn Museum)3330 1 86550 u
+8 @11 f
+(T)324420 336000 w
+(elephone)328748 v
+(212\001638\0015000)374092 v
+10 s
+(Fi)165420 278000 w
+(v)173510 v
+(e)178360 v
+(\004oors of g)8060 1 190860 u
+(alleries contain)8060 1 243040 u
+( There)8582( art.)5432(American and ancient)5433 3 165420 290000 t
+( period rooms and)6980(are American)6430 2 165420 302000 t
+(architectural ornaments sa)3500 1 165420 314000 t
+(v)272190 v
+(ed from)3500 1 277040 u
+(wreck)165420 326000 w
+(ers, such as a classical)3440 1 189750 u
+(\003gure)286090 v
+(from Pennsylv)3330 1 165420 338000 t
+(ania Station.)3330 1 224610 u
+494292 342000 72000 342000 Dl
+8 s
+(Hours)324420 352000 w
+(T)374092 v
+(ues\001Fri & Sun, 1\0015; Sat 10\0015)2664 1 378620 u
+(Location)324420 364000 w
+(Central P)2664 1 374092 u
+(ark W)2424 1 404636 u
+(est & 77th St.)2664 1 424188 u
+(Admission)324420 376000 w
+(Free)374092 v
+(Subw)324420 388000 w
+(ay)342564 v
+(AA to 81st St.)2664 1 374092 u
+(T)324420 400000 w
+(elephone)328748 v
+(212\001873\0013400)374092 v
+10 @12 f
+(Ne)77000 352000 w
+(w\001Y)87960 v
+(ork Histor)5800 1 102600 u
+(\001)147090 v
+(ical Society)3330 1 77000 364000 t
+&11
+(All the original paintings for)9890 1 165420 352000 t
+(Audubon\030)165420 364000 w
+(s)205420 v
+&12
+(Bir)215590 v
+( America)6100(ds of)6280 2 228000 u
+&11
+(are)297210 v
+(here, as are e)5004 1 165420 376000 t
+( American)4454(xhibits of)5004 2 224972 u
+(decorati)165420 388000 w
+(v)197380 v
+(e arts, Ne)4750 1 202230 u
+(w Y)3850 1 244520 u
+(ork history)4750 1 261710 u
+(,)306920 v
+(Hudson Ri)8596 1 165420 400000 t
+(v)214326 v
+(er school paintings,)8597 1 219176 u
+(carriages, and glass paperweights.)3330 1 165420 412000 t
+494292 416000 72000 416000 Dl
+72000 94000 72000 416000 Dl
+157920 108000 157920 416000 Dl
+316920 108000 316920 416000 Dl
+366592 122000 366592 416000 Dl
+494292 94000 494292 416000 Dl
+&13
+(A)72000 441600 w
+(CKNO)78670 v
+(WLEDGEMENTS)108170 v
+&11
+(Man)97000 457200 w
+( a lar)3590(y thanks are due to J. C. Blinn, who has done)3589 2 115180 u
+(ge amount of testing and assisted with the)3590 1 328880 u
+( has also written man)4356( He)7687(design of the program.)4357 3 72000 469200 t
+(y of the more intelligible sentences in this document)4356 1 279722 u
+( phototypesetting programs on)3669( All)6449(and helped edit all of it.)3669 3 72000 481200 t
+9 s
+(UNIX)321180 v
+10 s
+(are dependent on the w)3670 1 347340 u
+(ork of the late)3670 1 444670 u
+(J. F)3697 1 72000 493200 t
+( program is)3696( This)6846
+( with this program in particular had been most helpful.)3696
+(. Ossanna, whose assistance)3697 4 86847 u
+( J. F)4727(patterned on a table formatter written by)4726 2 72000 505200 t
+( T)4547( assistance of)4727( The)7877(. Gimpel.)4727 4 267590 u
+( W)4427( Dolotta, B.)4727(. A.)4177 3 398435 u
+(. K)4727 1 478903 u
+(er)493100 v
+(\001)500670 v
+(nighan, and J. N. Sturman is gratefully ackno)3330 1 72000 517200 t
+(wledged.)258650 v
+&13
+(REFERENCES)72000 541200 w
+&11
+([1])72000 556800 w
+(J. F)3330 1 97000 u
+(. Ossanna.)3330 1 111480 u
+&12
+(N)160350 v
+9 s
+(R)167020 v
+(OFF/TR)172159 v
+(OFF)202300 v
+10 s
+(User\030)223126 v
+(s Manual,)3330 1 245496 u
+&11
+(Bell Laboratories, 1976.)3330 1 289656 u
+([2])72000 568800 w
+( U)5113( The)8263( Thompson.)4933( Ritchie and K.)5113(D. M.)5112 5 97000 u
+9 s
+(NIX)277970 v
+10 s
+(T)298896 v
+(ime\001Sharing System,)5113 1 304656 u
+9 @12 f
+(CA)396272 v
+(CM)407504 v
+10 @13 f
+(17)426117 v
+&11
+(\(7\):365\00175 \(July)5113 1 436117 u
+(1974\).)97000 580800 w
+([3])72000 592800 w
+(B. W)3919 1 97000 u
+(. K)4219 1 118609 u
+(ernighan and L. L. Cherry)4220 1 132298 u
+( T)4040( System for)4220(. A)7000 3 242948 u
+(ypesetting Mathematics,)4220 1 318568 u
+9 @12 f
+(CA)422278 v
+(CM)433510 v
+10 @13 f
+(18)451230 v
+&11
+(\(3\):151\00156)461230 v
+(\(Mar)97000 604800 w
+(. 1975\).)3330 1 116440 u
+([4])72000 616800 w
+(M. E. Lesk.)3330 1 97000 u
+&12
+(T)152260 v
+(yping Documents on U)3330 1 157080 u
+9 s
+(NIX)251500 v
+10 s
+(,)265999 v
+&11
+(Bell Laboratories, 1976.)3330 1 271829 u
+([5])72000 628800 w
+( W)4113(M. E. Lesk and B.)4413 2 97000 u
+(. K)4413 1 190335 u
+( T)4233(ernighan. Computer)7743 2 204218 u
+( T)4234(ypesetting of)4413 2 298994 u
+(echnical Journals on U)4414 1 362491 u
+9 s
+(NIX)459603 v
+10 s
+(,)475596 v
+&12
+(Pr)482510 v
+(oc.)492060 v
+(AFIPS NCC,)3330 1 97000 640800 t
+&11
+(v)152830 v
+(ol. 46, pp. 879\00188 \(1977\).)3330 1 157630 u
+([6])72000 652800 w
+(D. W)3030 1 97000 u
+(. Smith and J. R. Mashe)3330 1 118270 u
+(y)217830 v
+(.)222180 v
+&12
+(MM\012Memor)231340 v
+(andum Macr)3330 1 281730 u
+(os,)333490 v
+&11
+(Bell Laboratories, 1980.)3330 1 348210 u
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 17 17
+%%Page: 18 18
+save
+mark
+18 pagesetup
+9 @11 f
+(18)72000 48000 w
+&12
+(TBL)487743 v
+10 @13 f
+( W)3030( Command Characters and)3330( Tbl)3030(List of)3330 4 189795 84000 t
+(ords)367315 v
+&12
+(Command)172479 108000 w
+(Meaning)283691 v
+(Section)381711 v
+&13
+(a A)2780 1 169848 120000 t
+&11
+(Alphabetic subcolumn)3330 1 236221 u
+(2)397681 v
+&13
+(allbox)169848 132000 w
+&11
+(Dra)236221 v
+(w box around all items)3330 1 251061 u
+(1)397681 v
+&13
+(b B)3330 1 169848 144000 t
+&11
+(Boldf)236221 v
+(ace item)3330 1 258901 u
+(2)397681 v
+&13
+(box)169848 156000 w
+&11
+(Dra)236221 v
+(w box around table)3330 1 251061 u
+(1)397681 v
+&13
+(c C)3330 1 169848 168000 t
+&11
+(Centered column)3330 1 236221 u
+(2)397681 v
+&13
+(center)169848 180000 w
+&11
+(Center table in page)3330 1 236221 u
+(1)397681 v
+&13
+(delim)169848 192000 w
+&11
+(\()197068 v
+&12
+(xy)200398 v
+&11
+(\))210111 v
+(De\003ne)236221 v
+&12
+(eqn)266211 v
+&11
+(delimiters)283981 v
+(1)397681 v
+&13
+(doublebox)169848 204000 w
+&11
+(Dra)236221 v
+(w double box around table)3330 1 251061 u
+(1)397681 v
+&13
+(e E)3330 1 169848 216000 t
+&11
+(Equal\001width columns)3330 1 236221 u
+(2)397681 v
+&13
+(expand)169848 228000 w
+&11
+(Mak)236221 v
+(e table full line width)3330 1 254451 u
+(1)397681 v
+&13
+(f F)3330 1 169848 240000 t
+&11
+(F)236221 v
+(ont change)3330 1 241631 u
+(2)397681 v
+&13
+(i I)3330 1 169848 252000 t
+&11
+(Italic item)3330 1 236221 u
+(2)397681 v
+&13
+(l L)3330 1 169848 264000 t
+&11
+(Left adjusted column)3330 1 236221 u
+(2)397681 v
+&13
+(linesize)169848 276000 w
+&11
+(\()204288 v
+&12
+(n)207618 v
+&11
+(\))213451 v
+(Set size for rules)3330 1 236221 u
+(1)397681 v
+&13
+(n N)3330 1 169848 288000 t
+&11
+(Numerical column)3330 1 236221 u
+(2)397681 v
+&12
+(nnn)169848 300000 w
+&11
+(Column separation)3330 1 236221 u
+(2)397681 v
+&13
+(p P)3330 1 169848 312000 t
+&11
+(Point size change)3330 1 236221 u
+(2)397681 v
+&13
+(r R)3330 1 169848 324000 t
+&11
+(Right adjusted column)3330 1 236221 u
+(2)397681 v
+&13
+(s S)3330 1 169848 336000 t
+&11
+(Spanned item)3330 1 236221 u
+(2)397681 v
+&13
+(t T)3030 1 169848 348000 t
+&11
+(V)236221 v
+(ertical spanning at top)3330 1 242331 u
+(2)397681 v
+&13
+(tab)169848 360000 w
+&11
+(\()187068 v
+&12
+(x)190398 v
+&11
+(\))195671 v
+(Change data separator character)3330 1 236221 u
+(1)397681 v
+&13
+(T{)169848 372000 w
+(.)182124 v
+(.)186290 v
+(.)190456 v
+(T})194622 v
+&11
+(T)236221 v
+(e)241631 v
+(xt block)3330 1 245921 u
+(3)397681 v
+&13
+(u U)3330 1 169848 384000 t
+&11
+(Staggered columns)3330 1 236221 u
+(2)397681 v
+&13
+(v V)2880 1 169848 396000 t
+&11
+(V)236221 v
+(ertical spacing change)3330 1 242331 u
+(2)397681 v
+&13
+(w W)3030 1 169848 408000 t
+&11
+(Minimum width v)3330 1 236221 u
+(alue)310421 v
+(2)397681 v
+&13
+(z Z)3330 1 169848 420000 t
+&11
+(Zero\001width item)3330 1 236221 u
+(2)397681 v
+&13
+(.)169848 432000 w
+&12
+(xx)172348 v
+&11
+(Included)236221 v
+&12
+(tr)274541 v
+(of)280761 v
+(f)288361 v
+&11
+(request)294471 v
+(3)397681 v
+&20
+(\210)169848 444000 w
+&11
+(V)236221 v
+(ertical line)3330 1 242331 u
+(2)397681 v
+&20
+(\210)169848 456000 w
+(\210)176454 v
+&11
+(Double v)3330 1 236221 u
+(ertical line)3330 1 273841 u
+(2)397681 v
+14 @13 f
+(^)170681 472200 w
+10 @11 f
+(V)236221 468000 w
+(ertical span)3330 1 242331 u
+(2)397681 v
+&13
+(\017)169848 480000 w
+14 s
+(^)173461 484200 w
+10 @11 f
+(V)236221 480000 w
+(ertical span)3330 1 242331 u
+(3)397681 v
+&20
+(\010)169848 492000 w
+&11
+(Double horizontal line)3330 1 236221 u
+(2,3)390181 v
+&20
+(\044)169848 504000 w
+&11
+(Horizontal line)3330 1 236221 u
+(2,3)390181 v
+&13
+(\017)169848 516000 w
+&20
+(\044)173461 v
+&11
+(Short horizontal line)3330 1 236221 u
+(3)397681 v
+&13
+(\017R)169848 528000 w
+&12
+(x)179848 v
+&11
+(Repeat character)3330 1 236221 u
+(3)397681 v
+&13
+(\012)169848 540000 w
+&11
+(Name of standard input)3330 1 236221 u
+(Usage)383936 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 18 18
+%%Trailer
+done
+%%EOF
diff --git a/test/tbl/tbl.more b/test/tbl/tbl.more
new file mode 100644
index 0000000000000..d6fe6cddcba51
--- /dev/null
+++ b/test/tbl/tbl.more
@@ -0,0 +1,196 @@
+ ─┌─────────────────────────────────â”
+ │ Production of Audio Equipment │
+ │ (units: 1000 sets) │
+ ─├─────────────────────────────────┤
+ │ Product 1984 1985 │
+ ─├─────────────────────────────────┤
+ │General radio 8,895 8,770 │
+ │Clock radio 5,467 6,500 │
+ │Radio/cassette 29,734 27,523 │
+ │Tape deck 11,788 14,300 │
+ │Car radio 9,450 10,398 │
+ │Car stereo 15,670 17,456 │
+ ─└─────────────────────────────────┘
+ ─┌──────────────────────────────────────────â”
+ │ Output Devices │
+ │ Port Device │
+ │ 1 User console │
+ │ 2 Monochromatic graphics terminal │
+ │3, 4, 5 Color graphics terminal │
+ ─└──────────────────────────────────────────┘
+─┌──────────────────────────────â”
+│ 1984 (Jan.â€July) │
+│ ─┌──────────│┤
+│Items Units │ 1984/1983 │
+│ │ (%) │
+─├───────────────────┴───────────┤
+│TV 3,889,543 145.7 │
+│Color 2,766,004 110.7 │
+│B/W 1,123,539 12.5 │
+─└──────────────────────────────┘
+(1)
+─┌────────────────────┬─────────────────────────────────────────────â”
+│ SSSSoooommmmeeee PPPPaaaatttttttteeeerrrrnnnnâ€MMMMaaaattttcccchhhhiiiinnnngggg CCCChhhhaaaarrrraaaacccctttteeeerrrrssss iiiinnnn _v_i │
+─├────────────────────┬─────────────────────────────────────────────┤
+│_S_p_e_c_i_a_l _C_h_a_r_a_c_t_e_r_s │ _U_s_a_g_e │
+─├────────────────────┼─────────────────────────────────────────────┤
+│ . │ Matches any single characterexcept _n_e_w_l_i_n_e. │
+│ │ │
+│ * │ Matches any number (including zero) of the │
+│ │ single character (including a character │
+│ │ specified by e regular expression) that im†│
+│ │ mediately precedes it. │
+│ │ │
+│ [...] │ Matches any _o_n_e of the characters enclosed │
+│ │ between the brackets. A range of consecu†│
+│ │ tive characters can be specified by │
+│ │ separating the first and last character in │
+│ │ the range with a hyphen. │
+─└────────────────────┴─────────────────────────────────────────────┘
+(1)
+(1)
+ â•â•”â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•—
+ ║ffffoooonnnntttt ppppoooossssiiiittttiiiioooonnnn │ ffffoooonnnntttt ║
+ â•â• â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╪â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•£
+ ║ 1 │ Times Roman ║
+ ─╟───────────────┼──────────────────╢
+ ║ 2 │ _T_i_m_e_s _I_t_a_l_i_c ║
+ ─╟───────────────┼──────────────────╢
+ ║ 3 │ TTTTiiiimmmmeeeessss BBBBoooolllldddd ║
+ ─╟───────────────┼──────────────────╢
+ ║ 4 │ Helvetica ║
+ ─╟───────────────┼──────────────────╢
+ â•‘ 5 │ Constantâ€Width â•‘
+ â•╚â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•§â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
+(1)
+ UUUUnnnniiiitttt
+ IIIItttteeeemmmm QQQQnnnnttttyyyy.... PPPPrrrriiiicccceeee CCCCoooosssstttt
+â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
+ Dt. Coke 2 1.39 2.78
+ Crest 1 1.99 1.99
+ Kiwi Pol. 1 0.79 0.79
+ Selzer 6 0.25 1.50
+ ─────
+ Subtotal 7.06
+ 6% Tax 0.42
+ ─────
+ Total 7.48
+ â•â•â•â•â•
+(1)
+ ─┌─────────────────┬────────â”
+ │iiiitttteeeemmmm ddddeeeennnnoooottttaaaattttiiiioooonnnn │ iiiitttteeeemmmm │
+ â•╞â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╪â•â•â•â•â•â•â•â•â•¡
+ │ sum │ Σ │
+ ─├─────────────────┼────────┤
+ │ int │ ∫ │
+ ─├─────────────────┼────────┤
+ │ prod │ Π │
+ ─├─────────────────┼────────┤
+ │ union │ ∪ │
+ ─├─────────────────┼────────┤
+ │ inter │ ∩ │
+ ─├─────────────────┼────────┤
+ │ oppE │ oppE │
+ ─└─────────────────┴────────┘
+ EEEEuuuulllleeeerrrr’ssss IIIIddddeeeennnnttttiiiittttiiiieeeessss
+ ─┌───────────────────────────â”
+ │eeeexxxxpppprrrreeeessssssssiiiioooonnnn e⎽i⎽i⎽θiiid⎽ddde⎽−eeen⎽nnnt⎽ettti⎽−iiit⎽ittty⎽θyyy │
+ │sin θ e⎽i⎽θ⎽⎽2⎽+i⎽e⎽−⎽i⎽θ⎽ │
+ │cos θ 2 │
+ │tan θ ⎽⎽e⎽i⎽θ⎽⎽−⎽⎽e⎽−⎽i⎽θ⎽⎽ │
+ ─└─────────────i─(─e─i─θ──+──e─−─i─θ─)──┘
+─┌──â”
+│X │
+─└──┘
+─┌────────────────────────────────────────â”
+│ SSSSiiiinnnngggglllleeeeâ€CCCCoooolllluuuummmmnnnn │
+│ HHHHoooorrrriiiizzzzoooonnnnttttaaaallll LLLLiiiinnnneeeessss │
+│_C_o_d_e _M_e_a_n_i_n_g _E_x_a_m_p_l_e │
+â•╞â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•╤â•â•â•â•â•â•â•â•â•â•¡
+│ _ │ Joined, single line. │├─────────┤
+│ = │ Joined, double line. │╞â•â•â•â•â•â•â•â•â•â•¡
+│ \_ │ Orphaned, single line. │ ─────── │
+│\Rx │ Repeated _x. │ xxxxxxx │
+─└──────┴─────────────────────────┴─────────┘
+ ─┌────────────────────────────────â”
+ │ Store Item Cost │
+ â•╞â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•¡
+ │Supermarket Bread 1.50 │
+ │ Milk 2.00 │
+ │ Cake 1.40 │
+ │ ───── │
+ │ Subâ€total 4.90 │
+ ─├────────────────────────────────┤
+ │Clothes Shirt 12.70 │
+ │ Pants 14.25 │
+ │ ───── │
+ │ Subâ€total 27.05 │
+ │ ───────────────────│
+ │ Total 31.95 │
+ ─└────────────────────────────────┘
+(1)
+A â•‘ B
+───╜──
+C │ D
+(1)
+ ─┌─────────────┬───────────â”
+ │NNNNEEEESSSS GGGGaaaammmmeeeeppppaaaadddd │ KKKKeeeeyyyybbbbooooaaaarrrrdddd │
+ â•╞â•â•â•â•â•â•â•â•â•â•â•â•â•╪â•â•â•â•â•â•â•â•â•â•â•â•¡
+ │ Up │ _K_e_y_p_a_d _U_p │
+ ─└─────────────┴───────────┘
+ â•â•”â•â•â•â•â•â•╤â•â•â•â•â•â•â•—
+ ║foo1 │ foo2 ║
+ â•â• â•â•â•â•â•â•╪â•â•â•â•â•â•â•£
+ ║bar │ baz ║
+ â•╚â•â•â•â•â•â•â•§â•â•â•â•â•â•â•
+(1)
+a b c
+ ┌───â”
+d │ e │ f
+ └───┘
+g h i
+(1)
+Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
+bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
+bla bla bla bla bla bla bla bla bla.
+a bb ccc dddd
+─┌─────────────┬─────────────────┬─────────────────┬────────────────â”
+│ a │ bb │ ccc │ dddd │
+─└─────────────┴─────────────────┴─────────────────┴────────────────┘
+──────────────────────────────────────────────────────────â”
+a bb ccc dddd │
+──────────────────────────────────────────────────────────┘
+→ Heirloom: Too narrow
+─┌──────────────────────────────────────────────────────────────â”
+│ a bb ccc dddd │
+─└──────────────────────────────────────────────────────────────┘
+→ Heirloom: Nearly correct (a little bit too narrow)
+─┌──────────────────────────────────────────────────────────────────────
+│ a bb ccc dddd
+─└──────────────────────────────────────────────────────────────────────
+→ Heirloom: Too wide!
+a bb ccc dddd
+a bb ccc dddd
+─┌─────────────────────────┬──────────────────────────┬──────┬──────â”
+│a │bb │ ccc │ dddd │
+─└─────────────────────────┴──────────────────────────┴──────┴──────┘
+─┌───┬─────┬──────┬─────────────────────────────────────────────────â”
+│a │ bb │ ccc │ dddd │
+─└───┴─────┴──────┴─────────────────────────────────────────────────┘
+(1)
+ 13
+ 4.2
+26.4.12
+ abc
+ abc
+ 433.22
+ 749.12
+(1)
+a │ b
+c â•‘ d
+â•â•â•â•â•â•
+e │ f
+g h
+i â•‘ j
+k l
diff --git a/test/tbl/tbl.ps b/test/tbl/tbl.ps
new file mode 100644
index 0000000000000..c42c95650ccc5
--- /dev/null
+++ b/test/tbl/tbl.ps
@@ -0,0 +1,1389 @@
+%!PS-Adobe-3.0
+%%Creator: Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11
+%%
+%%DocumentFonts: Times-Roman Times-Bold Times-Italic Helvetica Courier Symbol
+%%Pages: 3
+%%DocumentNeededResources: font Times-Roman
+%%+ font Times-Bold
+%%+ font Times-Italic
+%%+ font Helvetica
+%%+ font Courier
+%%+ font Symbol
+%%EndComments
+%%BeginProlog
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
+%%EndProlog
+%%BeginSetup
+[ %
+ /Creator (Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11)
+/DOCINFO pdfmark
+/_custompagesetup {
+} def
+/_marks {
+} def
+/Encoding-@11@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@11@0 def
+ currentdict
+end
+/Times-Roman-@11 exch definefont pop
+/@11 /Times-Roman-@11 def
+/&11 {@11 F} bind def
+/Encoding-@13@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Bold findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@13@0 def
+ currentdict
+end
+/Times-Bold-@13 exch definefont pop
+/@13 /Times-Bold-@13 def
+/&13 {@13 F} bind def
+/Encoding-@12@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Times-Italic findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@12@0 def
+ currentdict
+end
+/Times-Italic-@12 exch definefont pop
+/@12 /Times-Italic-@12 def
+/&12 {@12 F} bind def
+/Encoding-@16@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Helvetica findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@16@0 def
+ currentdict
+end
+/Helvetica-@16 exch definefont pop
+/@16 /Helvetica-@16 def
+/&16 {@16 F} bind def
+/Encoding-@15@0 [
+/.notdef /hyphen /cent /fi /fl /dagger /emdash /onequarter /threequarters
+/onehalf /endash /acute /grave /section /daggerdbl /backslash
+/quotedbl /ring /bullet /bar /quotedblleft /quotedblright /quotesingle
+/quoteleft /quoteright /space /asciicircum /asciitilde /exclamdown
+/sterling /fraction /yen /space /exclam /quotedbl /numbersign
+/dollar /percent /ampersand /quoteright /parenleft /parenright
+/asterisk /plus /comma /hyphen /period /slash /zero /one /two
+/three /four /five /six /seven /eight /nine /colon /semicolon
+/less /equal /greater /question /at /A /B /C /D /E /F /G /H /I
+/J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft
+/backslash /bracketright /circumflex /underscore /quoteleft /a
+/b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v
+/w /x /y /z /braceleft /bar /braceright /tilde /florin /currency
+/guillemotleft /guilsinglleft /guilsinglright /periodcentered
+/paragraph /quotesinglbase /quotedblbase /guillemotright /ellipsis
+/perthousand /questiondown /macron /breve /dotaccent /dieresis
+/cedilla /hungarumlaut /ogonek /caron /AE /ordfeminine /Lslash
+/Oslash /OE /ordmasculine /ae /dotlessi /lslash /oslash /oe /germandbls
+/Idieresis /eacute /Ydieresis /divide /Yacute /Acircumflex /aacute
+/Ucircumflex /yacute /ecircumflex /Udieresis /Uacute /Edieresis
+/copyright /aring /agrave /atilde /scaron /iacute /ucircumflex
+/acircumflex /ccedilla /Thorn /threesuperior /Ograve /Agrave
+/multiply /uacute /ydieresis /icircumflex /Ecircumflex /adieresis
+/edieresis /Iacute /plusminus /brokenbar /registered /Egrave
+/Zcaron /Eth /Ccedilla /Aacute /Adieresis /egrave /Oacute /oacute
+/idieresis /Ocircumflex /Ugrave /thorn /twosuperior /Odieresis
+/mu /igrave /trademark /Igrave /ocircumflex /ntilde /Eacute /Scaron
+/degree /ograve /ugrave /Ntilde /otilde /Atilde /Aring /Otilde
+/minus /Icircumflex /logicalnot /odieresis /udieresis /eth /zcaron
+/onesuperior /Euro /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+] def
+/Courier findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@15@0 def
+ currentdict
+end
+/Courier-@15 exch definefont pop
+/@15 /Courier-@15 def
+/&15 {@15 F} bind def
+/Encoding-@20@0 [
+/.notdef /arrowright /parenleftex /universal /existential /asteriskmath
+/plus /minus /equal /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma
+/Eta /Iota /Kappa /Lambda /Mu /Nu /Omicron /Pi /Rho /Theta /Sigma
+/Tau /Upsilon /Omega /Xi /Psi /space /exclam /Zeta /numbersign
+/underscore /percent /ampersand /radicalex /parenleft /parenright
+/alpha /plus /comma /minus /period /slash /zero /one /two /three
+/four /five /six /seven /eight /nine /colon /semicolon /less
+/equal /greater /question /beta /chi /delta /epsilon /phi /gamma
+/eta /iota /kappa /lambda /mu /nu /omicron /pi /theta /rho /sigma
+/tau /upsilon /omega /xi /psi /zeta /similar /minute /lessequal
+/fraction /bracketleft /infinity /bracketright /arrowleft /underscore
+/arrowup /arrowdown /degree /plusminus /greaterequal /multiply
+/proportional /partialdiff /bullet /divide /notequal /equivalence
+/approxequal /aleph /circlemultiply /circleplus /emptyset /intersection
+/union /propersuperset /reflexsuperset /propersubset /reflexsubset
+/element /gradient /registerserif /copyrightserif /braceleft
+/bar /braceright /similar /trademarkserif /radical /logicalnot
+/logicalor /bracketlefttp /bracketleftbt /bracelefttp /braceleftmid
+/braceleftbt /braceex /integral /bracketrighttp /bracketrightbt
+/bracerighttp /bracerightmid /bracerightbt /sigma1 /bracketleftex
+/space /suchthat /congruent /theta1 /therefore /perpendicular
+/phi1 /omega1 /Euro /Upsilon1 /florin /club /diamond /heart /spade
+/arrowboth /second /ellipsis /arrowvertex /arrowhorizex /carriagereturn
+/Ifraktur /Rfraktur /weierstrass /notsubset /notelement /angle
+/product /dotmath /logicaland /arrowdblboth /arrowdblleft /arrowdblup
+/arrowdblright /arrowdbldown /lozenge /angleleft /registersans
+/copyrightsans /trademarksans /summation /parenlefttp /parenleftbt
+/angleright /integraltp /integralex /integralbt /parenrighttp
+/parenrightex /parenrightbt /bracketrightex /apple /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Symbol findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@20@0 def
+ currentdict
+end
+/Symbol-tmp-@20 exch definefont pop
+_Sdefsadj
+/Symbol-tmp-@20 /Symbol-@20 Sdefs cf
+/Symbol-tmp-@20 undefinefont
+/@20 /Symbol-@20 def
+/&20 {@20 F} bind def
+/Encoding-@19@0 [
+/.notdef /cent /dagger /onequarter /threequarters /onehalf /endash
+/acute /grave /underscore /section /daggerdbl /backslash /quotedbl
+/bar /quotedblleft /quotedblright /space /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /space /.notdef /quotedbl
+/numbersign /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /less /.notdef /greater /.notdef
+/at /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /backslash
+/.notdef /circumflex /underscore /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /bar /.notdef /tilde /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+/.notdef ] def
+/Times-Roman findfont
+dup length dict begin
+ {1 index /FID ne {def} {pop pop} ifelse} forall
+ /Encoding Encoding-@19@0 def
+ currentdict
+end
+/Times-Roman-tmp-@19 exch definefont pop
+/Times-Roman-tmp-@19 /Times-Roman-@19 S1defs cf
+/Times-Roman-tmp-@19 undefinefont
+/@19 /Times-Roman-@19 def
+/&19 {@19 F} bind def
+mark
+/resolution 72000 def
+setup
+3 setdecoding
+%%EndSetup
+%%Page: 1 1
+save
+mark
+1 pagesetup
+10 @11 f
+374022 4000 221252 4000 Dl
+( Equipment)3330( Audio)2780(Production of)3330 3 232362 14000 t
+(\(units: 1000 sets\))3330 1 262362 26000 t
+374022 30000 221252 30000 Dl
+(Product)239582 40000 w
+(1984)302772 v
+(1985)345272 v
+374022 44000 221252 44000 Dl
+(General radio)3330 1 226252 54000 t
+(8,895)304022 v
+(8,770)346522 v
+(Clock radio)3330 1 226252 66000 t
+(5,467)304022 v
+(6,500)346522 v
+(Radio/cassette)226252 78000 w
+(29,734)299022 v
+(27,523)341522 v
+(T)226252 90000 w
+(ape deck)3330 1 231562 u
+(11,788)299022 v
+(14,300)341522 v
+(Car radio)3330 1 226252 102000 t
+(9,450)304022 v
+(10,398)341522 v
+(Car stereo)3330 1 226252 114000 t
+(15,670)299022 v
+(17,456)341522 v
+374022 118000 221252 118000 Dl
+221252 4000 221252 118000 Dl
+374022 4000 374022 118000 Dl
+392342 120000 202932 120000 Dl
+(Output De)3330 1 266102 130000 t
+(vices)308622 v
+(Port)212927 148000 w
+(De)304432 v
+(vice)315842 v
+(1)218762 166000 w
+(User console)3330 1 249592 u
+(2)218762 178000 w
+(Monochromatic graphics terminal)3330 1 249592 u
+(3, 4, 5)3330 1 207932 190000 t
+(Color graphics terminal)3330 1 249592 u
+392342 194000 202932 194000 Dl
+202932 120000 202932 194000 Dl
+392342 120000 392342 194000 Dl
+159733 196000 14173 196000 Dl
+(1984 \(Jan.\001July\))3330 1 54043 206000 t
+159733 210000 104453 210000 Dl
+(1984/1983)111953 220000 w
+(Items)19453 225000 w
+(Units)66118 v
+104453 210000 104453 236000 Dl
+(\(%\))125848 232000 w
+159733 236000 14173 236000 Dl
+(TV)19173 246000 w
+(3,889,543)56953 v
+(145.7)122093 v
+(Color)19173 258000 w
+(2,766,004)56953 v
+(110.7)122093 v
+(B/W)19173 270000 w
+(1,123,539)56953 v
+(12.5)127093 v
+159733 274000 14173 274000 Dl
+14173 196000 14173 274000 Dl
+159733 196000 159733 274000 Dl
+(\(1\))14173 284000 w
+363173 288000 14173 288000 Dl
+&13
+(Some P)3330 1 100488 298000 t
+(atter)133158 v
+(n\001Matching Characters in)3330 1 153548 u
+&12
+(vi)269638 v
+363173 302000 14173 302000 Dl
+(Special Char)3330 1 25413 312000 t
+(acter)78593 v
+(s)99043 v
+(Usa)228498 v
+(g)244508 v
+(e)249408 v
+363173 316000 14173 316000 Dl
+(.)62923 326000 w
+&11
+(Matches an)3330 1 124173 u
+(y single charactere)3330 1 170673 u
+(xcept)247153 v
+&12
+(ne)272143 v
+(wline)281433 v
+&11
+(.)303103 v
+(*)61673 350000 w
+(Matches an)3606 1 124173 u
+( single char)3607(y number \(including zero\) of the)3606 2 170949 u
+(\001)354843 v
+(acter \(including a character speci\003ed by e re)5200 1 124173 362000 t
+(gular e)5200 1 319803 u
+(x\001)349843 v
+(pression\) that immediately precedes it.)3330 1 124173 374000 t
+([...])57093 398000 w
+(Matches an)3722 1 124173 u
+(y)171065 v
+&12
+(one)179787 v
+&11
+( characters enclosed between the)3723(of the)3722 2 197949 u
+(brack)124173 410000 w
+( range of consecuti)6726(ets. A)9506 2 146283 u
+(v)264857 v
+( can be)6725(e characters)6726 2 269707 u
+(speci\003ed by separating the)3844 1 124173 422000 t
+( last character in the)3845(\003rst and)3844 2 238419 u
+(range with a h)3330 1 124173 434000 t
+(yphen.)183543 v
+363173 438000 14173 438000 Dl
+14173 288000 14173 438000 Dl
+116673 302000 116673 438000 Dl
+363173 288000 363173 438000 Dl
+(\(1\))14173 448000 w
+(\(1\))14173 460000 w
+385237 463000 210037 463000 Dl
+383237 465000 212037 465000 Dl
+&13
+(f)216037 474000 w
+(ont position)3330 1 219117 u
+(f)323752 v
+(ont)326832 v
+383237 477000 212037 477000 Dl
+383237 479000 212037 479000 Dl
+&11
+(1)240637 488000 w
+(T)290237 v
+(imes Roman)3330 1 295997 u
+383237 492000 212037 492000 Dl
+(2)240637 502000 w
+&12
+(T)290237 v
+(imes Italic)3330 1 295247 u
+383237 506000 212037 506000 Dl
+&11
+(3)240637 516000 w
+&13
+(T)290237 v
+(imes Bold)3330 1 296727 u
+383237 520000 212037 520000 Dl
+&11
+(4)240637 530000 w
+&16
+(Helv)290237 v
+(etica)309987 v
+383237 534000 212037 534000 Dl
+&11
+(5)240637 544000 w
+&15
+(Constant\001Width)290237 v
+383237 547000 212037 547000 Dl
+385237 549000 210037 549000 Dl
+210037 463000 210037 549000 Dl
+212037 465000 212037 547000 Dl
+277737 465000 277737 547000 Dl
+383237 465000 383237 547000 Dl
+385237 463000 385237 549000 Dl
+&11
+(\(1\))14173 558000 w
+&13
+(Unit)124038 570000 w
+(Item)28763 582000 w
+(Qnty)78343 v
+(.)99313 v
+(Price)122378 v
+(Cost)165153 v
+184593 585000 14173 585000 Dl
+184593 587000 14173 587000 Dl
+&11
+(Dt. Cok)3330 1 19173 596500 t
+(e)51573 v
+(2)87578 v
+(1.39)117035 v
+(2.78)166123 v
+(Crest)19173 608500 w
+(1)87578 v
+(1.99)117035 v
+(1.99)166123 v
+(Kiwi Pol.)3330 1 19173 620500 t
+(1)87578 v
+(0.79)117035 v
+(0.79)166123 v
+(Selzer)19173 632500 w
+(6)87578 v
+(0.25)117035 v
+(1.50)166123 v
+184593 636500 157653 636500 Dl
+(Subtotal)116813 646500 w
+(7.06)166123 v
+(6)117035 658500 w
+(% T)3150 1 123701 u
+(ax)140491 v
+(0.42)166123 v
+184593 662500 157653 662500 Dl
+(T)123328 672500 w
+(otal)128638 v
+(7.48)166123 v
+184593 678500 157653 678500 Dl
+184593 680500 157653 680500 Dl
+(\(1\))14173 689500 w
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 1 1
+%%Page: 2 2
+save
+mark
+2 pagesetup
+10 @11 f
+360410 4000 234864 4000 Dl
+&13
+(item denotation)3330 1 239864 17000 t
+(item)329582 v
+360410 23000 234864 23000 Dl
+360410 25000 234864 25000 Dl
+&15
+(sum)264749 37000 w
+15 @20 f
+(\032)327634 40000 w
+10 @11 f
+360410 45000 234864 45000 Dl
+&15
+(int)264749 59100 w
+14 @20 f
+(\211)327634 60100 w
+10 @11 f
+360410 67100 234864 67100 Dl
+&15
+(prod)261749 80100 w
+15 @20 f
+(\027)327634 83100 w
+10 @11 f
+360410 88100 234864 88100 Dl
+&15
+(union)258749 101100 w
+15 @20 f
+(\162)327634 104100 w
+10 @11 f
+360410 109100 234864 109100 Dl
+&15
+(inter)258749 122100 w
+15 @20 f
+(\161)327634 125100 w
+10 @11 f
+360410 130100 234864 130100 Dl
+&15
+(oppE)261749 143100 w
+&12
+(oppE)327634 v
+360410 150100 234864 150100 Dl
+234864 4000 234864 150100 Dl
+315134 4000 315134 150100 Dl
+360410 4000 360410 150100 Dl
+&13
+(Euler\030)260602 160100 w
+(s Identities)3330 1 287452 u
+360379 167100 234896 167100 Dl
+(expr)239896 177100 w
+(ession)259156 v
+(identity)311157 v
+&11
+(sin)239896 200700 w
+&20
+(\116)254896 v
+&11
+(2)318104 207700 w
+&12
+(i)323104 v
+(e)302216 194700 w
+7 s
+(i)307822 190700 w
+&20
+(\116)310351 v
+10 s
+(\007)317328 194700 w
+&12
+(e)326148 v
+7 @20 f
+(\007)331754 190700 w
+&12
+(i)335597 v
+&20
+(\116)338126 v
+10 @19 f
+(\011)300716 197700 w
+(\011\011\011\011\011\011\011\011)303273 v
+&11
+(cos)239896 225700 w
+&20
+(\116)256556 v
+&11
+(2)319494 232700 w
+&12
+(e)302216 219700 w
+7 s
+(i)307822 215700 w
+&20
+(\116)310351 v
+10 s
+(\006)317328 219700 w
+&12
+(e)326148 v
+7 @20 f
+(\007)331754 215700 w
+&12
+(i)335597 v
+&20
+(\116)338126 v
+10 @19 f
+(\011)300716 222700 w
+(\011\011\011\011\011\011\011\011)303273 v
+&11
+(tan)239896 250700 w
+&20
+(\116)255446 v
+&12
+(i)302216 258700 w
+&11
+(\()306662 v
+&12
+(e)309992 v
+7 s
+(i)315598 254700 w
+&20
+(\116)318127 v
+10 s
+(\006)325104 258700 w
+&12
+(e)333924 v
+7 @20 f
+(\007)339530 254700 w
+&12
+(i)343373 v
+&20
+(\116)345902 v
+10 @11 f
+(\))349549 258700 w
+&12
+(e)307769 244700 w
+7 s
+(i)313375 240700 w
+&20
+(\116)315904 v
+10 s
+(\007)322881 244700 w
+&12
+(e)331701 v
+7 @20 f
+(\007)337307 240700 w
+&12
+(i)341150 v
+&20
+(\116)343679 v
+10 @19 f
+(\011)300716 247700 w
+(\011\011\011\011\011\011\011\011\011\011)304379 v
+360379 264300 234896 264300 Dl
+234896 167100 234896 264300 Dl
+360379 167100 360379 264300 Dl
+31393 266300 14173 266300 Dl
+&11
+(X)19173 276300 w
+31393 280300 14173 280300 Dl
+14173 266300 14173 280300 Dl
+31393 266300 31393 280300 Dl
+202753 282300 14173 282300 Dl
+&13
+(Single\001Column)75263 292300 w
+(Horizontal Lines)3330 1 70823 304300 t
+&12
+(Code)19173 316300 w
+(Meaning)82498 v
+(Example)160263 v
+202753 319300 14173 319300 Dl
+202753 321300 14173 321300 Dl
+&11
+(_)27228 330300 w
+(Joined, single line.)3330 1 61943 u
+202753 327300 152763 327300 Dl
+(=)26908 342300 w
+(Joined, double line.)3330 1 60278 u
+202753 338300 152763 338300 Dl
+202753 340300 152763 340300 Dl
+(\017_)25838 354300 w
+(Orphaned, single line.)3330 1 55283 u
+195253 351300 160263 351300 Dl
+(\017Rx)22503 366300 w
+(Repeated)76533 v
+&12
+(x)117073 v
+&11
+(.)121513 v
+(xxxxxx)165253 v
+202753 370300 14173 370300 Dl
+14173 282300 14173 370300 Dl
+47783 321300 47783 370300 Dl
+152763 321300 152763 370300 Dl
+202753 282300 202753 370300 Dl
+372722 372300 222552 372300 Dl
+(Store)242497 382300 w
+(Item)302722 v
+(Cost)347302 v
+372722 385300 222552 385300 Dl
+372722 387300 222552 387300 Dl
+(Supermark)227552 396300 w
+(et)271332 v
+(Bread)293552 v
+(1.50)350222 v
+(Milk)293552 408300 w
+(2.00)350222 v
+(Cak)293552 420300 w
+(e)309562 v
+(1.40)350222 v
+367722 424300 345222 424300 Dl
+(Sub\001total)293552 434300 w
+(4.90)350222 v
+372722 438300 222552 438300 Dl
+(Clothes)227552 448300 w
+(Shirt)293552 v
+(12.70)345222 v
+(P)293552 460300 w
+(ants)298962 v
+(14.25)345222 v
+367722 464300 345222 464300 Dl
+(Sub\001total)293552 474300 w
+(27.05)345222 v
+372722 478300 286052 478300 Dl
+(T)293552 488300 w
+(otal)298862 v
+(31.95)345222 v
+372722 492300 222552 492300 Dl
+222552 372300 222552 492300 Dl
+372722 372300 372722 492300 Dl
+(\(2\))14173 502300 w
+(A)14173 514300 w
+27893 504300 27893 518300 Dl
+29893 504300 29893 518300 Dl
+(B)36668 514300 w
+43613 518300 14173 518300 Dl
+(C)14448 528300 w
+(D)36393 v
+28893 518300 28893 530300 Dl
+(\(2\))14173 540300 w
+365087 544300 230187 544300 Dl
+&13
+(NES Gamepad)3330 1 235187 554300 t
+(K)316097 v
+(eyboard)323627 v
+365087 557300 230187 557300 Dl
+365087 559300 230187 559300 Dl
+&11
+(Up)261302 568300 w
+&12
+(K)314637 v
+(e)320957 v
+(ypad Up)3330 1 325097 u
+365087 572300 230187 572300 Dl
+230187 544300 230187 572300 Dl
+307137 544300 307137 572300 Dl
+365087 544300 365087 572300 Dl
+329467 573300 265807 573300 Dl
+327467 575300 267807 575300 Dl
+&11
+(foo1)271807 584300 w
+(foo2)305137 v
+327467 587300 267807 587300 Dl
+327467 589300 267807 589300 Dl
+(bar)274587 598300 w
+(baz)307362 v
+327467 601300 267807 601300 Dl
+329467 603300 265807 603300 Dl
+265807 573300 265807 603300 Dl
+267807 575300 267807 601300 Dl
+297637 575300 297637 601300 Dl
+327467 575300 327467 601300 Dl
+329467 573300 329467 603300 Dl
+(\(2\))14173 612300 w
+(a)14453 624300 w
+(b)34173 v
+(c)54173 v
+46673 628300 26673 628300 Dl
+(d)14173 638300 w
+26673 628300 26673 642300 Dl
+(e)34453 638300 w
+46673 628300 46673 642300 Dl
+(f)54728 638300 w
+46673 642300 26673 642300 Dl
+(g)14173 652300 w
+(h)34173 v
+(i)55003 v
+(\(2\))14173 664300 w
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 2 2
+%%Page: 3 3
+save
+mark
+3 pagesetup
+10 @11 f
+( bla bla bla bla)3582
+(Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla b\
+la bla bla bla bla bla bla bla bla bla bla bla bla bla)3581 2 14173 12000 t
+(bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla b\
+la bla bla.)3330 1 14173 24000 t
+(a)14173 36000 w
+(bb)191668 v
+(ccc)374723 v
+(dddd)561098 v
+581100 40000 14173 40000 Dl
+(a)61370 50000 w
+(bb)207401 v
+(ccc)358992 v
+(dddd)513903 v
+581100 54000 14173 54000 Dl
+14173 40000 14173 54000 Dl
+136605 40000 136605 54000 Dl
+288196 40000 288196 54000 Dl
+443107 40000 443107 54000 Dl
+581100 40000 581100 54000 Dl
+516205 56000 14173 56000 Dl
+(a)14173 66000 w
+(bb)148405 v
+(ccc)288197 v
+(dddd)431309 v
+516205 70000 14173 70000 Dl
+516205 56000 516205 70000 Dl
+&20
+(\001)14173 80000 w
+&11
+(Heirloom: T)3150 1 27373 u
+(oo narro)3330 1 76943 u
+(w)111123 v
+559469 84000 14173 84000 Dl
+(a)57437 94000 w
+(bb)191669 v
+(ccc)331461 v
+(dddd)474573 v
+559469 98000 14173 98000 Dl
+14173 84000 14173 98000 Dl
+559469 84000 559469 98000 Dl
+&20
+(\001)14173 108000 w
+&11
+(Heirloom: Nearly correct \(a little bit too narro)3330 1 27373 u
+(w\))217063 v
+638783 112000 14173 112000 Dl
+(a)71858 122000 w
+(bb)249353 v
+(ccc)432408 v
+(dddd)618783 v
+638783 126000 14173 126000 Dl
+14173 112000 14173 126000 Dl
+&20
+(\001)14173 136000 w
+&11
+(Heirloom: T)3150 1 27373 u
+(oo wide!)3330 1 76943 u
+(a)14173 148000 w
+(bb)33613 v
+(ccc)58613 v
+(dddd)86933 v
+(a)14173 160000 w
+(bb)270697 v
+(ccc)532781 v
+(dddd)561101 v
+581101 164000 14173 164000 Dl
+(a)19173 174000 w
+(bb)270697 v
+(ccc)527781 v
+(dddd)556101 v
+581101 178000 14173 178000 Dl
+14173 164000 14173 178000 Dl
+263197 164000 263197 178000 Dl
+520281 164000 520281 178000 Dl
+548601 164000 548601 178000 Dl
+581101 164000 581101 178000 Dl
+581102 180000 14173 180000 Dl
+(a)19173 190000 w
+(bb)38613 v
+(ccc)63613 v
+(dddd)91933 v
+581102 194000 14173 194000 Dl
+14173 180000 14173 194000 Dl
+31113 180000 31113 194000 Dl
+56113 180000 56113 194000 Dl
+84433 180000 84433 194000 Dl
+581102 180000 581102 194000 Dl
+(\(3\))14173 204000 w
+(13)21673 216000 w
+(4.2)26673 228000 w
+(26.4.12)14173 240000 w
+(abc)24733 252000 w
+(abc)17793 264000 w
+(433.22)21673 276000 w
+(749.12)16673 288000 w
+(\(3\))14173 300000 w
+(a)14173 312000 w
+26673 302000 26673 314000 Dl
+(b)34173 312000 w
+(c)14173 324000 w
+25673 316000 25673 327000 Dl
+27673 316000 27673 327000 Dl
+(d)34173 324000 w
+39173 327000 14173 327000 Dl
+39173 329000 14173 329000 Dl
+(e)14173 338000 w
+26673 329000 26673 340000 Dl
+(f)35843 338000 w
+(g)14173 350000 w
+(h)34173 v
+(i)14173 362000 w
+25673 354000 25673 364000 Dl
+27673 354000 27673 364000 Dl
+(j)36393 362000 w
+(k)14173 374000 w
+(l)36393 v
+_marks
+cleartomark
+showpage
+restore
+%%EndPage: 3 3
+%%Trailer
+done
+%%EOF
diff --git a/test/tbl/tbl.roff b/test/tbl/tbl.roff
new file mode 100644
index 0000000000000..98d360865cb56
--- /dev/null
+++ b/test/tbl/tbl.roff
@@ -0,0 +1,154 @@
+.ie n \{\
+. pl 2000000000u
+.\}
+.el \{\
+. pl 29.7c
+. ll 20c
+. po 0.5c
+.\}
+.TS
+center,box;
+c s s
+c s s
+c c c
+l r r.
+Production of Audio Equipment
+(units: 1000 sets)
+_
+Product 1984 1985
+_
+General radio 8,895 8,770
+Clock radio 5,467 6,500
+Radio/cassette 29,734 27,523
+Tape deck 11,788 14,300
+Car radio 9,450 10,398
+Car stereo 15,670 17,456
+.TE
+.TS
+center,box,tab(@);
+c s
+c c
+c l.
+Output Devices
+.sp .5
+Port@Device
+.sp .5
+1@User console
+2@Monochromatic graphics terminal
+3, 4, 5@Color graphics terminal
+.TE
+.so tv.roff
+.so vi.roff
+(\n%)
+.br
+.TS
+doublebox, center;
+cb | cb
+a | a.
+font position font
+=
+1 Times Roman
+_
+2 \fITimes Italic\fP
+_
+3 \fBTimes Bold\fP
+_
+4 \fHHelvetica\fP
+_
+5 \f(CWConstant-Width\fP
+.TE
+(\n%)
+.br
+.TS
+cb cb cb cb
+cb cb cb cb
+a n n n.
+ Unit
+Item Qnty. Price Cost
+=
+.sp .5p
+Dt. Coke 2 1.39 2.78
+Crest 1 1.99 1.99
+Kiwi Pol. 1 0.79 0.79
+Selzer 6 0.25 1.50
+ _
+ Subtotal 7.06
+ 6\|% Tax 0.42
+ _
+ Total 7.48
+.sp 3p
+ =
+.TE
+(\n%)
+.br
+.if t .bp
+.EQ
+delim $$
+.EN
+.TS
+center,box delim($$);
+cb | cb
+cfCW | a.
+.sp 3p
+item denotation item
+.sp 3p
+=
+.sp 3p
+sum $sum$
+.sp 3p
+_
+.sp 3p
+int $int$
+.sp 3p
+_
+.sp 3p
+prod $prod$
+.sp 3p
+_
+.sp 3p
+union $union$
+.sp 3p
+_
+.sp 3p
+inter $inter$
+.sp 3p
+_
+.sp 3p
+oppE $oppE$
+.sp 3p
+.TE
+.ce
+\fBEuler's Identities\fR
+.sp 3p
+.TS
+delim($$),center box;
+c c
+l l.
+\fBexpression\fR \fBidentity\fR
+.sp 0.05i
+.vs +3p
+$sin~theta$ \
+${e sup {i theta}~-~e sup {-i theta}} over 2i$
+$cos~theta$ \
+${e sup {i theta}~+~e sup {-i theta}} over 2$
+$tan~theta$ \
+${e sup {i theta}~-~e sup {-i theta}} over \
+{i(e sup {i theta}~+~e sup{-i theta})}$
+.vs -3p
+.sp 0.05i
+.TE
+.so 1cell-allbox.roff
+.so linienbsp.roff
+.so supermarket.roff
+.so no-unicode.roff
+.so ab1.roff
+.so ab2.roff
+.so mid-sq.roff
+.if t .bp
+.so expand.nr
+.so n.roff
+.so short-v.roff
+.if n \{\
+. br
+. pl 0
+.\}
diff --git a/test/tbl/tv.roff b/test/tbl/tv.roff
new file mode 100644
index 0000000000000..179e3d4781501
--- /dev/null
+++ b/test/tbl/tv.roff
@@ -0,0 +1,16 @@
+.TS
+box,tab(&);
+c s s
+c c _
+^ ^ | c
+^ ^ | c
+l r n.
+1984 (Jan.-July)
+Items&Units
+&&1984/1983
+&&(%)
+_
+TV&3,889,543&145.7
+Color&2,766,004&110.7
+B/W&1,123,539&12.5
+.TE
diff --git a/test/tbl/vi.roff b/test/tbl/vi.roff
new file mode 100644
index 0000000000000..84ee85c5f1940
--- /dev/null
+++ b/test/tbl/vi.roff
@@ -0,0 +1,31 @@
+(\n%)
+.br
+.TS
+box,tab(@);
+cb s
+cI| cI
+cw(1.25i)| lw(3.25i).
+Some Pattern-Matching Characters in \fIvi\fR
+_
+Special Characters@Usage
+_
+\fI.\fR@Matches any single character\
+except \fInewline\fR.
+
+*@T{
+Matches any number (including zero) of the
+single character (including
+a character specified by e regular expression)
+that immediately precedes it.
+T}
+
+[...]@T{
+Matches any \fIone\fR of the characters enclosed
+between the brackets.
+A range of consecutive characters can be
+specified by separating the
+first and last character in the range with a hyphen.
+T}
+.TE
+(\n%)
+.br
diff --git a/troff/ext.h b/troff/ext.h
new file mode 100644
index 0000000000000..ec171f1c0685c
--- /dev/null
+++ b/troff/ext.h
@@ -0,0 +1,600 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "ext.h 1.10 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ext.h 1.111 (gritter) 10/23/09
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze <carsten.kunze at arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <sys/types.h>
+
+extern char **argp;
+extern char *chname;
+extern char *eibuf;
+extern char *ibufp;
+extern char *obufp;
+extern char *xbufp;
+extern char *xeibuf;
+extern char *cfname[NSO+1];
+extern char devname[20];
+extern char ibuf[IBUFSZ];
+extern char **mfiles;
+extern char *nextf;
+extern char obuf[], *obufp;
+extern char *termtab, *fontfile;
+extern char xbuf[IBUFSZ];
+extern filep apptr;
+extern filep ip;
+extern filep nextb;
+extern filep offset;
+extern filep roff;
+extern filep woff;
+#ifdef NROFF
+extern long lvmot;
+extern size_t *chtab;
+#else
+extern short *chtab;
+extern int html;
+#endif
+extern int *pnp;
+extern int *pstab;
+extern int app;
+extern int ascii;
+extern int bd;
+extern int *bdtab;
+extern int blmac;
+extern int lsmac;
+extern int glss;
+extern int lsn;
+extern int ccs;
+extern int charf;
+extern tchar **chartab;
+extern struct charout *charout;
+extern int charoutsz;
+extern int clonef;
+extern int copyf;
+extern int cs;
+extern int defaultpl;
+extern int defcf;
+extern int dfact;
+extern int dfactd;
+extern int diflg;
+extern int dilev;
+extern int donef;
+extern int donep;
+extern int dotT;
+extern int dpn;
+extern int dl;
+extern int ds;
+extern int ecs;
+extern int ejf;
+extern int em;
+extern int eqflg;
+extern int error;
+extern int esc;
+extern int eschar;
+extern int ev;
+extern int fc;
+extern char *fchartab;
+extern int flss;
+extern int fmtchar;
+extern int *fontlab;
+extern int gflag;
+extern int hflg;
+extern int ifi;
+extern int ifile;
+extern int ifl[NSO];
+extern int iflg;
+extern int init;
+extern int lastkern;
+extern int lasttrack;
+extern int lead;
+extern int lg;
+extern int lgf;
+extern int macerr;
+extern int mb_cur_max;
+extern int mflg;
+extern int mfont;
+extern int minflg;
+extern int minspc;
+extern int mpts;
+extern int ndone;
+extern struct contab *newmn;
+extern int nflush;
+extern int nfo;
+extern int nfonts;
+extern int nform;
+extern int nhyp;
+extern int nlflg;
+extern int nmfi;
+extern int no_out;
+extern int nofeed;
+extern int nolt;
+extern int nonumb;
+extern int noscale;
+extern int npn;
+extern int npnflg;
+extern int nx;
+extern int oldbits;
+extern struct contab *oldmn;
+extern int *olt;
+extern int over;
+extern int padc;
+extern int padj;
+extern int pfont;
+extern int pfrom;
+extern pid_t pipeflg;
+extern int pl;
+extern int pnlist[];
+extern int po1;
+extern int po;
+extern int ppts;
+extern int print;
+extern int ptid;
+extern int pto;
+extern int quiet;
+extern int ralss;
+extern int rargc;
+extern int raw;
+extern int rawwidth;
+extern long realpage;
+extern int res;
+extern int setwdf;
+extern int sfont;
+extern int smnt;
+extern int stdi;
+extern int stop;
+extern int sv;
+extern int tabch, ldrch;
+extern int tailflg;
+extern int tflg;
+extern int totout;
+extern int trap;
+extern int *trtab;
+extern int *trintab;
+extern int *trnttab;
+extern int tryglf;
+extern int tty;
+extern int ttyod;
+extern int Tflg;
+extern int ulfont;
+extern int vflag;
+extern int vpt;
+extern int wbfi;
+extern int widthp;
+extern int xflag;
+extern int xfont;
+extern int xpts;
+extern int no_out;
+extern int ejl;
+extern struct s *frame, *stk, *nxf;
+extern tchar **hyp;
+extern tchar *olinep;
+extern tchar *pbbuf;
+extern int pbsize;
+extern int pbp;
+extern int lastpbp;
+extern tchar ch;
+extern tchar nrbits;
+extern tchar *oline;
+extern size_t olinesz;
+extern struct widcache { /* width cache, indexed by character */
+ int fontpts;
+ int rst;
+ int rsb;
+ int width;
+ int track;
+ char *evid;
+} *widcache;
+extern char *gchtab;
+extern struct d *d;
+extern struct d *dip;
+extern int initbdtab[];
+
+#ifdef EUC
+#include <stddef.h>
+extern int multi_locale;
+extern int csi_width[];
+extern char mbbuf1[];
+extern char *mbbuf1p;
+extern wchar_t twc;
+extern int (*wdbdg)(wchar_t, wchar_t, int);
+extern wchar_t *(*wddlm)(wchar_t, wchar_t, int);
+#endif /* EUC */
+extern int **lhangtab;
+extern int **rhangtab;
+extern int **kernafter;
+extern int **kernbefore;
+extern int **ftrtab;
+extern char *lgmark;
+extern struct lgtab **lgtab;
+extern int ***lgrevtab;
+extern int spreadwarn;
+extern int spreadlimit;
+extern int lastrq;
+extern int noschr;
+extern int argdelim;
+extern int bol;
+extern int prdblesc;
+extern int gemu;
+extern int chomp;
+extern int chompend;
+
+/* n1.c */
+extern void mainloop(void);
+extern int tryfile(char *, char *, int);
+extern void catch(int);
+extern void kcatch(int);
+extern void init0(void);
+extern void init1(char);
+extern void init2(void);
+extern void cvtime(void);
+extern int ctoi(register char *);
+extern void mesg(int);
+extern void errprint(const char *, ...);
+#define fdprintf xxfdprintf
+extern void fdprintf(int, char *, ...);
+extern char *roff_sprintf(char *, size_t, char *, ...);
+extern int control(register int, register int);
+extern int getrq2(void);
+extern int getrq(int);
+extern tchar getch(void);
+extern void setxon(void);
+extern tchar getch0(void);
+extern void pushback(register tchar *);
+extern void cpushback(register char *);
+extern tchar *growpbbuf(void);
+extern int nextfile(void);
+extern int popf(void);
+extern void flushi(void);
+extern int getach(void);
+extern int rgetach(void);
+extern void casenx(void);
+extern int getname(void);
+extern void caseso(void);
+extern void casepso(void);
+extern void caself(void);
+extern void casecf(void);
+extern void casesy(void);
+extern void getpn(register char *);
+extern void setrpt(void);
+extern void casedb(void);
+extern void casexflag(void);
+extern void casecp(void);
+extern void caserecursionlimit(void);
+extern void casechar(int);
+extern void casefchar(void);
+extern void caserchar(void);
+extern tchar setchar(tchar);
+extern tchar sfmask(tchar);
+extern int issame(tchar, tchar);
+/* n2.c */
+extern int pchar(register tchar);
+extern void pchar1(register tchar);
+extern void outascii(tchar);
+extern void oputs(register char *);
+extern void flusho(void);
+extern void caseoutput(void);
+extern void done(int);
+extern void done1(int);
+extern void done2(int);
+extern void done3(int);
+extern void edone(int);
+extern void casepi(void);
+/* n3.c */
+extern void *growcontab(void);
+extern void *growblist(void);
+extern void caseig(void);
+extern void casern(void);
+extern void maddhash(register struct contab *);
+extern void munhash(register struct contab *);
+extern filep finds(register int, int, int);
+extern void caserm(void);
+extern void caseas(void);
+extern void caseds(void);
+extern void caseam(void);
+extern void casede(void);
+extern struct contab *findmn(register int);
+extern struct contab *findmx(register int);
+extern int skip(int);
+extern int copyb(void);
+extern void copys(void);
+extern filep alloc(void);
+extern void ffree(filep);
+extern void wbt(tchar);
+extern void wbf(register tchar);
+extern void wbfl(void);
+extern tchar rbf(void);
+extern tchar rbf0(register filep);
+extern filep incoff(register filep);
+extern tchar popi(void);
+extern int pushi(filep, int, enum flags);
+extern void sfree(struct s *);
+extern struct s *macframe(void);
+extern int getsn(int);
+extern int setstr(void);
+extern void collect(void);
+extern void seta(void);
+extern void casebox(void);
+extern void caseboxa(void);
+extern void caseda(int);
+extern void casedi(int);
+extern void casedt(void);
+extern void caseals(void);
+extern void casewatch(int);
+extern void caseunwatch(void);
+extern void prwatch(struct contab *, int, int);
+extern void casetl(void);
+extern void casepc(void);
+extern void casechop(void);
+extern void casepm(void);
+extern void stackdump(void);
+extern char *macname(int);
+extern int maybemore(int, int);
+extern tchar setuc(void);
+extern int makerq(const char *);
+/* n4.c */
+extern void *grownumtab(void);
+extern void setn(void);
+extern int wrc(tchar);
+extern void setn1(int, int, tchar);
+extern void nunhash(register struct numtab *);
+extern struct numtab *findr(register int);
+extern struct numtab *usedr(register int);
+extern int fnumb(register int, register int (*)(tchar));
+extern int decml(register int, register int (*)(tchar));
+extern int roman(int, int (*)(tchar));
+extern int roman0(int, int (*)(tchar), char *, char *);
+extern int abc(int, int (*)(tchar));
+extern int abc0(int, int (*)(tchar));
+extern int hatoi(void);
+#undef atof
+#define atof xxatof
+extern float atof(void);
+extern long long atoi0(void);
+extern double atof0(void);
+extern void setnr(const char *, int, int);
+extern void setnrf(const char *, float, float);
+extern void caserr(void);
+extern void casernn(void);
+extern void casenr(void);
+extern void casenrf(void);
+extern void caselnr(void);
+extern void caselnrf(void);
+extern void setr(void);
+extern void caseaf(void);
+extern void setaf(void);
+extern void casealn(void);
+extern void casewatchn(int);
+extern void caseunwatchn(void);
+extern void prwatchn(struct numtab *);
+extern int vnumb(int *);
+extern int hnumb(int *);
+extern int inumb(int *);
+extern int inumb2(int *, int *);
+extern float atop(void);
+extern int quant(int, int);
+extern tchar moflo(int);
+/* n5.c */
+extern void save_tty(void);
+extern void casead(void);
+extern void casena(void);
+extern void casefi(void);
+extern void casenf(void);
+extern void casepadj(void);
+extern void casers(void);
+extern void casens(void);
+extern void casespreadwarn(void);
+extern int chget(int);
+extern void casecc(void);
+extern void casec2(void);
+extern void casehc(void);
+extern void casetc(void);
+extern void caselc(void);
+extern void casehy(void);
+extern void casenh(void);
+extern void casehlm(void);
+extern void casehcode(void);
+extern void caseshc(void);
+extern void casehylen(void);
+extern void casehypp(void);
+extern void casepshape(void);
+extern void caselpfx(void);
+extern int max(int, int);
+extern int min(int, int);
+extern void casece(void);
+extern void caserj(void);
+extern void casebrnl(void);
+extern void casebrpnl(void);
+extern void casein(void);
+extern void casell(void);
+extern void caselt(void);
+extern void caseti(void);
+extern void casels(void);
+extern void casepo(void);
+extern void casepl(void);
+extern void casewh(void);
+extern void casedwh(void);
+extern void casech(void);
+extern void casedch(void);
+extern void casevpt(void);
+extern tchar setolt(void);
+extern int findn(struct d *, int);
+extern void casepn(void);
+extern void casebp(void);
+extern void casetm(int);
+extern void casetmc(void);
+extern void caseerrprint(void);
+extern void caseopen(void);
+extern void caseopena(void);
+extern void casewrite(void);
+extern void casewritec(void);
+extern void casewritem(void);
+extern void caseclose(void);
+extern void casesp(int);
+extern void casebrp(void);
+extern void caseblm(void);
+extern void caselsm(void);
+extern void casert(void);
+extern void caseem(void);
+extern void casefl(void);
+extern void caseev(void);
+extern void caseevc(void);
+extern void evc(struct env *, struct env *);
+extern void evcline(struct env *, struct env *);
+extern void relsev(struct env *);
+extern void caseel(void);
+extern void caseie(void);
+extern void caseif(int);
+extern void casenop(void);
+extern void casechomp(void);
+extern void casereturn(void);
+extern void casewhile(void);
+extern void casebreak(void);
+extern void casecontinue(int);
+extern void eatblk(int);
+extern int cmpstr(tchar);
+extern void caserd(void);
+extern int rdtty(void);
+extern void caseec(void);
+extern void caseeo(void);
+extern void caseecs(void);
+extern void caseecr(void);
+extern void caseescoff(void);
+extern void caseescon(void);
+extern void caseta(void);
+extern void casene(void);
+extern void casetr(int);
+extern void casetrin(void);
+extern void casetrnt(void);
+extern void casecu(void);
+extern void caseul(void);
+extern void caseuf(void);
+extern void caseit(int);
+extern void caseitc(void);
+extern void casemc(void);
+extern void casesentchar(void);
+extern void casetranschar(void);
+extern void casebreakchar(void);
+extern void casenhychar(void);
+extern void caseconnectchar(void);
+extern void casemk(void);
+extern void casesv(void);
+extern void caseos(void);
+extern void casenm(void);
+extern void getnm(int *, int);
+extern void casenn(void);
+extern void caseab(void);
+extern void restore_tty(void);
+extern void set_tty(void);
+extern void echo_off(void);
+extern void echo_on(void);
+/* n7.c */
+extern int collectmb(tchar);
+extern void tbreak(void);
+extern void donum(void);
+extern void text(void);
+extern void nofill(void);
+extern void callsp(void);
+extern void ckul(void);
+extern int storeline(register tchar, int);
+extern void newline(int);
+extern int findn1(struct d *, int);
+extern void chkpn(void);
+extern int findt(struct d *, int);
+extern int findt1(void);
+extern void eject(struct s *);
+extern int movword(void);
+extern void horiz(int);
+extern void setnel(void);
+extern int getword(int);
+extern void storeword(register tchar, register int);
+extern void growpgsize(void);
+/* n8.c */
+extern void hyphen(tchar *);
+extern int punct(tchar);
+extern int alph(tchar);
+extern void caseht(void);
+extern void casehw(void);
+extern int exword(void);
+extern int suffix(void);
+extern int maplow(tchar);
+extern int vowel(tchar);
+extern tchar *chkvow(tchar *);
+extern void digram(void);
+extern int dilook(tchar, tchar, const char [26][13]);
+extern void casehylang(void);
+/* n9.c */
+extern tchar setz(void);
+extern void setline(void);
+extern tchar eat(tchar);
+extern void setov(void);
+extern void setbra(void);
+extern void setvline(void);
+extern void setdraw(void);
+extern void casefc(void);
+extern tchar setfield(int);
+extern tchar setpenalty(void);
+extern tchar setdpenal(void);
+extern tchar mkxfunc(int, int);
+extern void pushinlev(void);
+extern tchar popinlev(void);
+extern void localize(void);
+extern void caselc_ctype(void);
+extern void casepsbb(void);
+extern void casewarn(void);
+extern void nosuch(int);
+extern void illseq(int, const char *, int);
+extern void missing(void);
+extern void nodelim(int);
+extern void storerq(int);
+extern int fetchrq(tchar *);
+extern void morechars(int);
+#ifdef NROFF
+extern void caseutf8conv(void);
+extern int addch(char *);
+#endif
diff --git a/troff/hytab.c b/troff/hytab.c
new file mode 100644
index 0000000000000..604236357a54a
--- /dev/null
+++ b/troff/hytab.c
@@ -0,0 +1,171 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "hytab.c 1.5 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)hytab.c 1.4 (gritter) 8/16/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * Hyphenation digram tables
+ */
+
+const unsigned char bxh[1][13] = {
+ { 0060,0000,0040,0000,0040,0000,0000,0040,0000,0000,0040,0000,0040 }
+};
+
+const unsigned char hxx[26][13] = {
+ { 0006,0042,0041,0123,0021,0024,0063,0042,0002,0043,0021,0001,0022 },
+ { 0140,0000,0200,0003,0260,0006,0000,0160,0007,0000,0140,0000,0320 },
+ { 0220,0000,0160,0005,0240,0010,0000,0100,0006,0000,0200,0000,0320 },
+ { 0240,0000,0120,0003,0140,0000,0000,0240,0010,0000,0220,0000,0160 },
+ { 0042,0023,0041,0040,0040,0022,0043,0041,0030,0064,0021,0000,0041 },
+ { 0100,0000,0140,0000,0220,0006,0000,0140,0003,0000,0200,0000,0000 },
+ { 0200,0000,0120,0002,0220,0010,0000,0160,0006,0000,0140,0000,0320 },
+ { 0020,0000,0020,0000,0020,0000,0000,0020,0000,0000,0020,0000,0000 },
+ { 0043,0163,0065,0044,0022,0043,0104,0042,0061,0146,0061,0000,0007 },
+ { 0100,0000,0140,0000,0040,0000,0000,0100,0000,0000,0120,0000,0000 },
+ { 0140,0000,0040,0011,0060,0004,0001,0120,0003,0000,0140,0000,0040 },
+ { 0200,0000,0100,0000,0140,0000,0000,0140,0000,0000,0140,0000,0240 },
+ { 0200,0000,0140,0000,0160,0000,0000,0220,0000,0000,0140,0000,0240 },
+ { 0200,0000,0140,0000,0160,0000,0000,0220,0000,0000,0060,0000,0240 },
+ { 0021,0043,0041,0121,0040,0023,0042,0003,0142,0042,0061,0001,0022 },
+ { 0120,0000,0140,0010,0140,0010,0000,0140,0002,0000,0120,0000,0120 },
+ { 0000,0000,0000,0000,0360,0000,0000,0000,0000,0000,0160,0000,0000 },
+ { 0100,0000,0040,0005,0120,0000,0000,0100,0000,0000,0060,0000,0140 },
+ { 0140,0040,0100,0001,0240,0041,0000,0242,0000,0002,0140,0000,0100 },
+ { 0240,0000,0120,0002,0200,0000,0000,0320,0007,0000,0240,0000,0340 },
+ { 0101,0021,0041,0020,0040,0005,0042,0121,0002,0021,0201,0000,0020 },
+ { 0160,0000,0100,0000,0140,0000,0000,0160,0006,0000,0220,0000,0140 },
+ { 0140,0000,0020,0001,0020,0000,0000,0100,0001,0000,0300,0000,0000 },
+ { 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000 },
+ { 0106,0041,0040,0147,0040,0000,0063,0041,0001,0102,0160,0002,0002 },
+ { 0300,0000,0040,0017,0140,0017,0000,0240,0000,0000,0140,0000,0120 }
+};
+
+const unsigned char bxxh[26][13] = {
+ { 0005,0150,0153,0062,0062,0246,0152,0127,0146,0203,0310,0017,0206 },
+ { 0100,0000,0120,0000,0140,0000,0000,0100,0000,0000,0120,0000,0060 },
+ { 0100,0000,0040,0000,0060,0000,0000,0060,0000,0000,0220,0000,0040 },
+ { 0100,0000,0120,0000,0200,0000,0000,0100,0000,0000,0140,0000,0060 },
+ { 0043,0142,0046,0140,0062,0147,0210,0131,0046,0106,0246,0017,0111 },
+ { 0060,0000,0020,0000,0060,0000,0000,0040,0000,0000,0100,0000,0000 },
+ { 0060,0000,0040,0000,0040,0000,0000,0040,0000,0000,0100,0000,0040 },
+ { 0100,0000,0100,0000,0100,0000,0000,0040,0000,0000,0100,0000,0140 },
+ { 0066,0045,0145,0140,0000,0070,0377,0030,0130,0103,0003,0017,0006 },
+ { 0040,0000,0040,0000,0020,0000,0000,0040,0000,0000,0100,0000,0000 },
+ { 0200,0000,0020,0000,0140,0000,0000,0120,0000,0000,0120,0000,0040 },
+ { 0120,0000,0040,0000,0060,0000,0000,0060,0000,0000,0160,0000,0040 },
+ { 0120,0000,0040,0000,0120,0000,0000,0040,0000,0000,0160,0000,0040 },
+ { 0120,0000,0020,0000,0140,0000,0000,0120,0000,0000,0140,0000,0040 },
+ { 0051,0126,0150,0140,0060,0210,0146,0006,0006,0165,0003,0017,0244 },
+ { 0120,0000,0040,0000,0160,0000,0000,0140,0000,0000,0060,0000,0140 },
+ { 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000 },
+ { 0140,0000,0140,0000,0060,0000,0000,0100,0000,0000,0140,0000,0020 },
+ { 0120,0000,0020,0000,0060,0000,0000,0060,0000,0000,0060,0000,0040 },
+ { 0140,0000,0020,0000,0100,0000,0000,0140,0000,0000,0140,0000,0020 },
+ { 0070,0125,0051,0162,0120,0105,0126,0104,0006,0044,0000,0017,0052 },
+ { 0140,0000,0020,0000,0140,0000,0000,0060,0000,0000,0060,0000,0040 },
+ { 0020,0000,0000,0000,0020,0000,0000,0000,0000,0000,0000,0000,0060 },
+ { 0140,0000,0160,0000,0200,0000,0000,0140,0000,0000,0000,0000,0240 },
+ { 0065,0042,0060,0200,0000,0210,0222,0146,0006,0204,0220,0012,0003 },
+ { 0240,0000,0020,0000,0120,0000,0000,0200,0000,0000,0200,0000,0240 }
+};
+
+const unsigned char xhx[26][13] = {
+ { 0032,0146,0042,0107,0076,0102,0042,0146,0202,0050,0006,0000,0051 },
+ { 0036,0377,0057,0013,0057,0366,0377,0057,0001,0377,0057,0000,0040 },
+ { 0037,0377,0020,0000,0100,0022,0377,0057,0362,0116,0100,0000,0017 },
+ { 0057,0377,0057,0031,0137,0363,0377,0037,0362,0270,0077,0000,0117 },
+ { 0074,0142,0012,0236,0076,0125,0063,0165,0341,0046,0047,0000,0024 },
+ { 0020,0017,0075,0377,0040,0001,0377,0017,0001,0204,0020,0000,0040 },
+ { 0057,0017,0057,0340,0140,0362,0314,0117,0003,0302,0100,0000,0057 },
+ { 0057,0357,0077,0017,0100,0366,0314,0057,0342,0346,0037,0000,0060 },
+ { 0252,0145,0072,0157,0377,0165,0063,0066,0164,0050,0363,0000,0362 },
+ { 0000,0000,0020,0000,0020,0000,0000,0017,0000,0000,0020,0000,0000 },
+ { 0117,0017,0237,0377,0200,0354,0125,0110,0004,0257,0000,0000,0300 },
+ { 0057,0367,0054,0357,0157,0216,0314,0114,0217,0353,0053,0000,0057 },
+ { 0077,0213,0077,0077,0177,0317,0377,0114,0377,0352,0077,0000,0076 },
+ { 0077,0213,0077,0077,0157,0177,0377,0054,0377,0352,0117,0000,0075 },
+ { 0125,0230,0065,0216,0057,0066,0063,0047,0345,0126,0011,0000,0033 },
+ { 0057,0377,0051,0360,0120,0361,0273,0056,0001,0256,0057,0000,0060 },
+ { 0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000 },
+ { 0076,0310,0056,0310,0137,0174,0273,0055,0335,0266,0033,0000,0155 },
+ { 0077,0157,0057,0360,0057,0063,0042,0024,0077,0206,0020,0000,0040 },
+ { 0057,0037,0077,0360,0100,0365,0377,0037,0362,0176,0050,0000,0026 },
+ { 0167,0146,0042,0112,0077,0110,0062,0254,0366,0052,0377,0000,0163 },
+ { 0060,0000,0040,0000,0120,0000,0377,0060,0012,0000,0037,0000,0257 },
+ { 0037,0232,0157,0361,0040,0003,0125,0010,0001,0256,0000,0000,0340 },
+ { 0377,0377,0377,0377,0377,0377,0377,0377,0377,0377,0377,0017,0277 },
+ { 0253,0315,0257,0216,0377,0206,0146,0306,0371,0126,0232,0000,0004 },
+ { 0057,0012,0100,0360,0160,0360,0000,0040,0000,0017,0157,0000,0176 }
+};
+
+const unsigned char xxh[26][13] = {
+ { 0045,0150,0154,0162,0042,0246,0210,0147,0152,0103,0230,0017,0206 },
+ { 0100,0000,0040,0000,0140,0000,0000,0100,0000,0021,0120,0017,0060 },
+ { 0100,0000,0040,0002,0140,0320,0000,0060,0000,0001,0220,0017,0040 },
+ { 0100,0001,0120,0001,0241,0000,0000,0100,0000,0020,0140,0017,0060 },
+ { 0023,0162,0046,0142,0022,0207,0210,0131,0052,0106,0250,0017,0110 },
+ { 0060,0000,0042,0000,0160,0000,0000,0040,0000,0212,0100,0017,0000 },
+ { 0140,0000,0040,0002,0140,0000,0000,0120,0000,0040,0120,0017,0040 },
+ { 0100,0000,0100,0000,0140,0001,0021,0140,0000,0046,0100,0017,0140 },
+ { 0066,0045,0025,0201,0020,0130,0146,0030,0130,0103,0025,0017,0006 },
+ { 0100,0000,0040,0000,0020,0000,0000,0040,0000,0000,0200,0017,0000 },
+ { 0200,0000,0020,0001,0140,0000,0000,0140,0000,0000,0120,0017,0040 },
+ { 0120,0026,0042,0020,0140,0161,0042,0143,0000,0022,0162,0017,0040 },
+ { 0121,0042,0060,0020,0140,0200,0000,0123,0000,0021,0220,0017,0041 },
+ { 0121,0042,0060,0120,0140,0200,0000,0123,0000,0021,0160,0017,0041 },
+ { 0051,0126,0150,0141,0060,0210,0146,0066,0026,0165,0026,0017,0247 },
+ { 0120,0000,0040,0003,0160,0000,0000,0140,0000,0021,0100,0017,0140 },
+ { 0000,0000,0000,0000,0200,0000,0000,0000,0000,0000,0000,0017,0000 },
+ { 0141,0023,0122,0040,0160,0143,0042,0142,0000,0047,0143,0017,0020 },
+ { 0120,0000,0040,0006,0140,0060,0000,0141,0000,0026,0100,0017,0040 },
+ { 0140,0000,0020,0007,0100,0000,0000,0140,0000,0001,0140,0017,0020 },
+ { 0110,0125,0051,0162,0120,0125,0127,0104,0006,0104,0000,0017,0052 },
+ { 0140,0000,0040,0000,0160,0000,0000,0140,0000,0000,0060,0017,0000 },
+ { 0040,0005,0020,0000,0040,0313,0231,0030,0000,0140,0000,0017,0056 },
+ { 0140,0000,0160,0000,0200,0000,0000,0140,0000,0000,0000,0017,0240 },
+ { 0065,0042,0060,0040,0000,0206,0231,0146,0006,0224,0220,0017,0004 },
+ { 0240,0000,0020,0000,0140,0000,0000,0220,0000,0000,0200,0017,0141 }
+};
diff --git a/troff/libhnj/AUTHORS b/troff/libhnj/AUTHORS
new file mode 100644
index 0000000000000..d98daadc2b8af
--- /dev/null
+++ b/troff/libhnj/AUTHORS
@@ -0,0 +1,19 @@
+This was taken from the OpenOffice project. Bug reports should be sent
+to the usual address for the Heirloom Documentation Tools project, as
+given in the top-level README file.
+
+ Gunnar Ritter 8/26/05
+
+
+---
+This is part of libhnj library, but it is heavily modified, so write
+bug reports to me:
+Peter Novodvorsky <nidd@alt-linux.org>
+
+
+---
+Libhnj was written and is maintained by:
+Raph Levien <raph@acm.org>
+
+Please contact the author for information about licensing for
+proprietary applications.
diff --git a/troff/libhnj/Makefile.mk b/troff/libhnj/Makefile.mk
new file mode 100644
index 0000000000000..30ede3c725967
--- /dev/null
+++ b/troff/libhnj/Makefile.mk
@@ -0,0 +1,22 @@
+FLAGS =
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+OBJ = hnjalloc.o hyphen.o
+
+all: libhnj.a test
+
+libhnj.a: $(OBJ)
+ $(AR) crs $@ $(OBJ)
+
+test: test.o libhnj.a
+ $(CC) $(CFLAGS) $(LDFLAGS) test.o -L. -lhnj -o test
+
+install:
+
+clean:
+ rm -f $(OBJ) test test.o core log *~
+
+mrproper: clean
+ rm -f libhnj.a
diff --git a/troff/libhnj/README b/troff/libhnj/README
new file mode 100644
index 0000000000000..fcd3cc00a4eef
--- /dev/null
+++ b/troff/libhnj/README
@@ -0,0 +1,13 @@
+This was part of libhnj library by Raph Levien. I've cut only hyphenation
+part from it, to use in OOo.
+
+---
+LibHnj is a library for high quality hyphenation and justification. It
+is dual licensed under both LGPL and MPL to encourage widespread use.
+The parseAFM.[ch] files are written by Adobe and distributed under a
+slightly different license, but one that appears to be compatible with
+both LGPL and MPL.
+
+The code is currently fairly rough. In particular, psset has many
+fixed-size buffers and is simply not suitable for production. Further
+speedups are also possible, although the code isn't exactly slow now.
diff --git a/troff/libhnj/README.hyphen b/troff/libhnj/README.hyphen
new file mode 100644
index 0000000000000..8b740a8ba0af0
--- /dev/null
+++ b/troff/libhnj/README.hyphen
@@ -0,0 +1,96 @@
+Brief explanation of the hyphenation algorithm herein.
+
+Raph Levien <raph@acm.org>
+4 Aug 1998
+
+ The hyphenation algorithm is basically the same as Knuth's TeX
+algorithm. However, the implementation is quite a bit faster.
+
+ The hyphenation files from TeX can almost be used directly. There
+is a preprocessing step, however. If you don't do the preprocessing
+step, you'll get bad hyphenations (i.e. a silent failure).
+
+ Start with a file such as hyphen.us. This is the TeX ushyph1.tex
+file, with the exception dictionary encoded using the same rules as
+the main portion of the file. Any line beginning with % is a comment.
+Each other line should contain exactly one rule.
+
+ Then, do the preprocessing - "perl substrings.pl hyphen.us". The
+resulting file is hyphen.mashed. It's in Perl, and it's fairly slow
+(it uses brute force algorithms; about 17 seconds on a P100), but it
+could probably be redone in C with clever algorithms. This would be
+valuable, for example, if it was handle user-supplied exception
+dictionaries by integrating them into the rule table.
+
+ Once the rules are preprocessed, loading them is quite quick -
+about 200ms on a P100. It then hyphenates at about 40,000 words per
+second on a P100. I haven't benchmarked it against other
+implementations (both TeX and groff contain essentially the same
+algorithm), but expect that it runs quite a bit faster than any of
+them.
+
+Knuth's algorithm
+
+ This section contains a brief explanation of Knuth's algorithm, in
+case you missed it from the TeX books. We'll use the semi-word
+"example" as our running example.
+
+ Since the beginning and end of a word are special, the algorithm is
+actually run over the prepared word (prep_word in the source)
+".example.". Knuths algorithm basically just does pattern matches from
+the rule set, then applies the matches. The patterns in this case that
+match are "xa", "xam", "mp", and "pl". These are actually stored as
+"x1a", "xam3", "4m1p", and "1p2l2". Whenever numbers appear between
+the letters, they are added in. If two (or more) patterns have numbers
+in the same place, the highest number wins. Here's the example:
+
+ . e x a m p l e .
+ x1a
+ x a m3
+ 4m1p
+ 1p2l2
+ -----------------
+ . e x1a4m3p2l2e .
+
+ Finally, hyphens are placed wherever odd numbers appear. They are,
+however, suppressed after the first letter and before the last letter
+of the word (TeX actually suppresses them before the next-to-last, as
+well). So, it's "ex-am-ple", which is correct.
+
+ Knuth uses a trie to implement this. I.e. he stores each rule in a
+trie structure. For each position in the word, he searches the trie,
+searching for a match. Most patterns are short, so efficiency should
+be quite good.
+
+Theory of the algorithm
+
+ The algorithm works as a slightly modified finite state machine.
+There are two kinds of transitions: those that consume one letter of
+input (which work just like your regular finite state machine), and
+"fallback" transitions, which don't consume any input. If no
+transition matching the next letter is found, the fallback is used.
+One way of looking at this is a form of compression of the transition
+tables - i.e. it behaves the same as a completely vanilla state
+machine in which the actual transition table of a node is made up of
+the union of transition tables of the node itself, plus its fallbacks.
+
+ Each state is represented by a string. Thus, if the current state
+is "am" and the next letter is "p", then the next state is "amp".
+Fallback transitions go to states which chop off one or (sometimes)
+more letters from the beginning. For example, if none of the
+transitions from "amp" match the next letter, then it will fall back
+to "mp". Similarly, if none of the transitions from "mp" match the
+next letter, it will fall back to "m".
+
+ Each state is also associated with a (possibly null) "match"
+string. This represents the union of all patterns which are
+right-justified substrings of the match string. I.e. the pattern "mp"
+is a right-justified substring of the state "amp", so it's numbers get
+added in. The actual calculation of this union is done by the
+Perl preprocessing script, but could probably be done in C just about
+as easily.
+
+ Because each state transition either consumes one input character
+or shortens the state string by one character, the total number of
+state transitions is linear in the length of the word.
+
diff --git a/troff/libhnj/hnjalloc.c b/troff/libhnj/hnjalloc.c
new file mode 100644
index 0000000000000..d0a8b9d48bf02
--- /dev/null
+++ b/troff/libhnj/hnjalloc.c
@@ -0,0 +1,97 @@
+/* LibHnj is dual licensed under LGPL and MPL. Boilerplate for both
+ * licenses follows.
+ */
+
+/* LibHnj - a library for high quality hyphenation and justification
+ * Copyright (C) 1998 Raph Levien, (C) 2001 ALTLinux, Moscow
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307 USA.
+*/
+
+/*
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.0 (the "MPL"); you may not use this file except in
+ * compliance with the MPL. You may obtain a copy of the MPL at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the MPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
+ * for the specific language governing rights and limitations under the
+ * MPL.
+ *
+ */
+
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+ *
+ * Sccsid @(#)hnjalloc.c 1.3 (gritter) 8/26/05
+ */
+
+/* wrappers for malloc */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "hyphen.h"
+
+void *
+hnj_malloc (int size, HyphenDict *hp)
+{
+ void *p;
+
+#if 0
+ if (hp && hp->space == NULL)
+ hp->spptr = hp->space = malloc(hp->spacesize = 262144);
+ if (hp && hp->space && &hp->spptr[size] < &hp->space[hp->spacesize]) {
+ p = hp->spptr;
+ hp->spptr += size;
+ } else
+#endif
+ {
+ if ((p = malloc(size)) == NULL)
+ {
+ fprintf (stderr, "can't allocate %d bytes\n", size);
+ exit (1);
+ }
+ }
+ return p;
+}
+
+void *
+hnj_realloc (void *p, int size, HyphenDict *hp)
+{
+#if 0
+ if (hp && p >= (void *)hp->space && p < (void *)&hp->space[hp->spacesize])
+ abort();
+#endif
+ p = realloc (p, size);
+ if (p == NULL)
+ {
+ fprintf (stderr, "can't allocate %d bytes\n", size);
+ exit (1);
+ }
+ return p;
+}
+
+void
+hnj_free (void *p, HyphenDict *hp)
+{
+#if 0
+ if (hp && p >= (void *)hp->space && p < (void *)&hp->space[hp->spacesize])
+ return;
+#endif
+ free (p);
+}
+
diff --git a/troff/libhnj/hnjalloc.h b/troff/libhnj/hnjalloc.h
new file mode 100644
index 0000000000000..ac69870a3233a
--- /dev/null
+++ b/troff/libhnj/hnjalloc.h
@@ -0,0 +1,53 @@
+/* LibHnj is dual licensed under LGPL and MPL. Boilerplate for both
+ * licenses follows.
+ */
+
+/* LibHnj - a library for high quality hyphenation and justification
+ * Copyright (C) 1998 Raph Levien
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307 USA.
+*/
+
+/*
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.0 (the "MPL"); you may not use this file except in
+ * compliance with the MPL. You may obtain a copy of the MPL at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the MPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
+ * for the specific language governing rights and limitations under the
+ * MPL.
+ *
+ */
+
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+ *
+ * Sccsid @(#)hnjalloc.h 1.2 (gritter) 8/25/05
+ */
+
+/* wrappers for malloc */
+
+void *
+hnj_malloc (int size, HyphenDict *);
+
+void *
+hnj_realloc (void *p, int size, HyphenDict *);
+
+void
+hnj_free (void *p, HyphenDict *);
+
diff --git a/troff/libhnj/hyphen.c b/troff/libhnj/hyphen.c
new file mode 100644
index 0000000000000..3d74b3becf8ce
--- /dev/null
+++ b/troff/libhnj/hyphen.c
@@ -0,0 +1,515 @@
+/* LibHnj is dual licensed under LGPL and MPL. Boilerplate for both
+ * licenses follows.
+ */
+
+/* LibHnj - a library for high quality hyphenation and justification
+ * Copyright (C) 1998 Raph Levien,
+ * (C) 2001 ALTLinux, Moscow (http://www.alt-linux.org),
+ * (C) 2001 Peter Novodvorsky (nidd@cs.msu.su)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307 USA.
+*/
+
+/*
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.0 (the "MPL"); you may not use this file except in
+ * compliance with the MPL. You may obtain a copy of the MPL at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the MPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
+ * for the specific language governing rights and limitations under the
+ * MPL.
+ *
+ */
+
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+ *
+ * Sccsid @(#)hyphen.c 1.5 (gritter) 4/19/06
+ */
+
+#include <stdlib.h> /* for NULL, malloc */
+#include <stdio.h> /* for fprintf */
+#include <string.h> /* for strdup */
+
+#ifdef UNX
+#include <unistd.h> /* for exit */
+#endif
+
+#define noVERBOSE
+
+#include "hyphen.h"
+#include "hnjalloc.h"
+
+static char *
+hnj_strdup (const char *s, HyphenDict *hp)
+{
+ char *new;
+ int l;
+
+ l = strlen (s);
+ new = hnj_malloc (l + 1, hp);
+ memcpy (new, s, l);
+ new[l] = 0;
+ return new;
+}
+
+/* a little bit of a hash table implementation. This simply maps strings
+ to state numbers */
+
+typedef struct _HashTab HashTab;
+typedef struct _HashEntry HashEntry;
+
+/* A cheap, but effective, hack. */
+#define HASH_SIZE 31627
+
+struct _HashTab {
+ HashEntry *entries[HASH_SIZE];
+};
+
+struct _HashEntry {
+ HashEntry *next;
+ char *key;
+ int val;
+};
+
+/* a char* hash function from ASU - adapted from Gtk+ */
+static unsigned int
+hnj_string_hash (const char *s)
+{
+ const char *p;
+ unsigned int h=0, g;
+
+ for(p = s; *p != '\0'; p += 1) {
+ h = ( h << 4 ) + *p;
+ if ( ( g = h & 0xf0000000 ) ) {
+ h = h ^ (g >> 24);
+ h = h ^ g;
+ }
+ }
+ return h /* % M */;
+}
+
+static HashTab *
+hnj_hash_new (HyphenDict *hp)
+{
+ HashTab *hashtab;
+ int i;
+
+ hashtab = hnj_malloc (sizeof(HashTab), hp);
+ for (i = 0; i < HASH_SIZE; i++)
+ hashtab->entries[i] = NULL;
+
+ return hashtab;
+}
+
+static void
+hnj_hash_free (HashTab *hashtab, HyphenDict *hp)
+{
+ int i;
+ HashEntry *e, *next;
+
+ for (i = 0; i < HASH_SIZE; i++)
+ for (e = hashtab->entries[i]; e; e = next)
+ {
+ next = e->next;
+ hnj_free (e->key, hp);
+ hnj_free (e, hp);
+ }
+
+ hnj_free (hashtab, hp);
+}
+
+/* assumes that key is not already present! */
+static void
+hnj_hash_insert (HashTab *hashtab, const char *key, int val, HyphenDict *hp)
+{
+ int i;
+ HashEntry *e;
+
+ i = hnj_string_hash (key) % HASH_SIZE;
+ e = hnj_malloc (sizeof(HashEntry), hp);
+ e->next = hashtab->entries[i];
+ e->key = hnj_strdup (key, hp);
+ e->val = val;
+ hashtab->entries[i] = e;
+}
+
+/* return val if found, otherwise -1 */
+static int
+hnj_hash_lookup (HashTab *hashtab, const char *key)
+{
+ int i;
+ HashEntry *e;
+
+ i = hnj_string_hash (key) % HASH_SIZE;
+ for (e = hashtab->entries[i]; e; e = e->next)
+ if (!strcmp (key, e->key))
+ return e->val;
+ return -1;
+}
+
+/* Get the state number, allocating a new state if necessary. */
+static int
+hnj_get_state (HyphenDict *dict, HashTab *hashtab, const char *string)
+{
+ int state_num;
+
+ state_num = hnj_hash_lookup (hashtab, string);
+
+ if (state_num >= 0)
+ return state_num;
+
+ hnj_hash_insert (hashtab, string, dict->num_states, dict);
+ /* predicate is true if dict->num_states is a power of two */
+ if (dict->num_states >= dict->alc_states)
+ {
+ dict->alc_states *= 2;
+ dict->states = hnj_realloc (dict->states,
+ dict->alc_states *
+ sizeof(HyphenState), dict);
+ }
+ dict->states[dict->num_states].match = NULL;
+ dict->states[dict->num_states].fallback_state = -1;
+ dict->states[dict->num_states].num_trans = 0;
+ dict->states[dict->num_states].trans = NULL;
+ return dict->num_states++;
+}
+
+/* add a transition from state1 to state2 through ch - assumes that the
+ transition does not already exist */
+static void
+hnj_add_trans (HyphenDict *dict, int state1, int state2, char ch)
+{
+ int num_trans;
+
+ num_trans = dict->states[state1].num_trans;
+ if (num_trans == 0)
+ {
+ dict->states[state1].alc_trans = 64;
+ dict->states[state1].trans = hnj_realloc (NULL,
+ dict->states[state1].alc_trans * sizeof(HyphenTrans), dict);
+ }
+ else if (num_trans >= dict->states[state1].alc_trans)
+ {
+ dict->states[state1].alc_trans *= 2;
+ dict->states[state1].trans = hnj_realloc (dict->states[state1].trans,
+ dict->states[state1].alc_trans *
+ sizeof(HyphenTrans), dict);
+ }
+ dict->states[state1].trans[num_trans].ch = ch;
+ dict->states[state1].trans[num_trans].new_state = state2;
+ dict->states[state1].num_trans++;
+}
+
+#ifdef VERBOSE
+HashTab *global;
+
+static char *
+get_state_str (int state)
+{
+ int i;
+ HashEntry *e;
+
+ for (i = 0; i < HASH_SIZE; i++)
+ for (e = global->entries[i]; e; e = e->next)
+ if (e->val == state)
+ return e->key;
+ return NULL;
+}
+#endif
+
+HyphenDict *
+hnj_hyphen_load (const char *fn)
+{
+ HyphenDict *dict;
+ HashTab *hashtab;
+ FILE *f;
+ char buf[80];
+ char word[80];
+ char pattern[80];
+ int state_num, last_state;
+ int i, j;
+ char ch;
+ int found;
+ HashEntry *e;
+
+ f = fopen (fn, "r");
+ if (f == NULL)
+ return NULL;
+
+ hashtab = hnj_hash_new (NULL);
+#ifdef VERBOSE
+ global = hashtab;
+#endif
+ hnj_hash_insert (hashtab, "", 0, NULL);
+
+ dict = hnj_malloc (sizeof(HyphenDict), NULL);
+ memset(dict, 0, sizeof *dict);
+ dict->num_states = 1;
+ dict->alc_states = 12288;
+ dict->states = hnj_realloc (NULL, dict->alc_states*sizeof(HyphenState), dict);
+ dict->states[0].match = NULL;
+ dict->states[0].fallback_state = -1;
+ dict->states[0].num_trans = 0;
+ dict->states[0].trans = NULL;
+
+ /* read in character set info */
+ for (i=0;i<MAX_NAME;i++) dict->cset[i]= 0;
+ fgets(dict->cset, sizeof(dict->cset),f);
+ for (i=0;i<MAX_NAME;i++)
+ if ((dict->cset[i] == '\r') || (dict->cset[i] == '\n'))
+ dict->cset[i] = 0;
+
+ while (fgets (buf, sizeof(buf), f) != NULL)
+ {
+ if (buf[0] != '%')
+ {
+ j = 0;
+ pattern[j] = '0';
+ for (i = 0; ((buf[i] > ' ') || (buf[i] < 0)); i++)
+ {
+ if (buf[i] >= '0' && buf[i] <= '9')
+ pattern[j] = buf[i];
+ else
+ {
+ word[j] = buf[i];
+ pattern[++j] = '0';
+ }
+ }
+ word[j] = '\0';
+ pattern[j + 1] = '\0';
+
+ /* Optimize away leading zeroes */
+ for (i = 0; pattern[i] == '0'; i++);
+
+#ifdef VERBOSE
+ printf ("word %s pattern %s, j = %d\n", word, pattern + i, j);
+#endif
+ found = hnj_hash_lookup (hashtab, word);
+ state_num = hnj_get_state (dict, hashtab, word);
+ dict->states[state_num].match = hnj_strdup (pattern + i, dict);
+
+ /* now, put in the prefix transitions */
+ for (; found < 0 ;j--)
+ {
+ last_state = state_num;
+ ch = word[j - 1];
+ word[j - 1] = '\0';
+ found = hnj_hash_lookup (hashtab, word);
+ state_num = hnj_get_state (dict, hashtab, word);
+ hnj_add_trans (dict, state_num, last_state, ch);
+ }
+ }
+ }
+
+ /* Could do unioning of matches here (instead of the preprocessor script).
+ If we did, the pseudocode would look something like this:
+
+ foreach state in the hash table
+ foreach i = [1..length(state) - 1]
+ state to check is substr (state, i)
+ look it up
+ if found, and if there is a match, union the match in.
+
+ It's also possible to avoid the quadratic blowup by doing the
+ search in order of increasing state string sizes - then you
+ can break the loop after finding the first match.
+
+ This step should be optional in any case - if there is a
+ preprocessed rule table, it's always faster to use that.
+
+*/
+
+ /* put in the fallback states */
+ for (i = 0; i < HASH_SIZE; i++)
+ for (e = hashtab->entries[i]; e; e = e->next)
+ {
+ state_num = -1;
+ for (j = 1; e->key[j-1]; j++)
+ {
+ state_num = hnj_hash_lookup (hashtab, e->key + j);
+ if (state_num >= 0)
+ break;
+ }
+ /* KBH: FIXME state 0 fallback_state should always be -1? */
+ if (e->val && state_num >= 0)
+ dict->states[e->val].fallback_state = state_num;
+ }
+#ifdef VERBOSE
+ for (i = 0; i < HASH_SIZE; i++)
+ for (e = hashtab->entries[i]; e; e = e->next)
+ {
+ printf ("%d string %s state %d, fallback=%d\n", i, e->key, e->val,
+ dict->states[e->val].fallback_state);
+ for (j = 0; j < dict->states[e->val].num_trans; j++)
+ printf (" %c->%d\n", dict->states[e->val].trans[j].ch,
+ dict->states[e->val].trans[j].new_state);
+ }
+#endif
+
+#ifndef VERBOSE
+ hnj_hash_free (hashtab, dict);
+#endif
+
+ return dict;
+}
+
+void hnj_hyphen_free (HyphenDict *dict)
+{
+ int state_num;
+ HyphenState *hstate;
+
+ for (state_num = 0; state_num < dict->num_states; state_num++)
+ {
+ hstate = &dict->states[state_num];
+ if (hstate->match)
+ hnj_free (hstate->match, dict);
+ if (hstate->trans)
+ hnj_free (hstate->trans, dict);
+ }
+
+ hnj_free (dict->states, dict);
+
+ hnj_free (dict, NULL);
+}
+
+#define MAX_WORD 256
+
+int hnj_hyphen_hyphenate (HyphenDict *dict,
+ const char *word, int word_size,
+ char *hyphens)
+{
+ char prep_word_buf[MAX_WORD];
+ char *prep_word;
+ int i, j, k;
+ int state;
+ char ch;
+ HyphenState *hstate;
+ char *match;
+ int offset;
+
+ if (word_size + 3 < MAX_WORD)
+ prep_word = prep_word_buf;
+ else
+ prep_word = hnj_malloc (word_size + 3, dict);
+
+ j = 0;
+ prep_word[j++] = '.';
+
+ for (i = 0; i < word_size; i++)
+ prep_word[j++] = word[i];
+
+ for (i = 0; i < j; i++)
+ hyphens[i] = '0';
+
+ prep_word[j++] = '.';
+
+ prep_word[j] = '\0';
+#ifdef VERBOSE
+ printf ("prep_word = %s\n", prep_word);
+#endif
+
+ /* now, run the finite state machine */
+ state = 0;
+ for (i = 0; i < j; i++)
+ {
+ ch = prep_word[i];
+ for (;;)
+ {
+
+ if (state == -1) {
+ /* return 1;
+ * KBH: FIXME shouldn't this be as follows?
+ */
+ state = 0;
+ goto try_next_letter;
+ }
+
+#ifdef VERBOSE
+ char *state_str;
+ state_str = get_state_str (state);
+
+ for (k = 0; k < i - strlen (state_str); k++)
+ putchar (' ');
+ printf ("%s", state_str);
+#endif
+
+ hstate = &dict->states[state];
+ for (k = 0; k < hstate->num_trans; k++)
+ if (hstate->trans[k].ch == ch)
+ {
+ state = hstate->trans[k].new_state;
+ goto found_state;
+ }
+ state = hstate->fallback_state;
+#ifdef VERBOSE
+ printf (" falling back, fallback_state %d\n", state);
+#endif
+ }
+ found_state:
+#ifdef VERBOSE
+ printf ("found state %d\n",state);
+#endif
+ /* Additional optimization is possible here - especially,
+ elimination of trailing zeroes from the match. Leading zeroes
+ have already been optimized. */
+ match = dict->states[state].match;
+ if (match)
+ {
+ offset = i + 1 - strlen (match);
+#ifdef VERBOSE
+ for (k = 0; k < offset; k++)
+ putchar (' ');
+ printf ("%s\n", match);
+#endif
+ /* This is a linear search because I tried a binary search and
+ found it to be just a teeny bit slower. */
+ for (k = 0; match[k]; k++)
+ if (offset + k < word_size && hyphens[offset + k] < match[k])
+ hyphens[offset + k] = match[k];
+ }
+
+ /* KBH: we need this to make sure we keep looking in a word
+ * for patterns even if the current character is not known in state 0
+ * since patterns for hyphenation may occur anywhere in the word
+ */
+ try_next_letter: ;
+
+ }
+#ifdef VERBOSE
+ for (i = 0; i < j; i++)
+ putchar (hyphens[i]);
+ putchar ('\n');
+#endif
+
+ for (i = 0; i < j - 4; i++)
+#if 0
+ if (hyphens[i + 1] & 1)
+ hyphens[i] = '-';
+#else
+ hyphens[i] = hyphens[i + 1];
+#endif
+ hyphens[0] = '0';
+ for (; i < word_size; i++)
+ hyphens[i] = '0';
+ hyphens[word_size] = '\0';
+
+ if (prep_word != prep_word_buf)
+ hnj_free (prep_word, dict);
+ return 0;
+}
diff --git a/troff/libhnj/hyphen.d/Makefile.mk b/troff/libhnj/hyphen.d/Makefile.mk
new file mode 100644
index 0000000000000..b8dca044d0c58
--- /dev/null
+++ b/troff/libhnj/hyphen.d/Makefile.mk
@@ -0,0 +1,12 @@
+all:
+
+install: all
+ test -d $(ROOT)$(HYPDIR) || mkdir -p $(ROOT)$(HYPDIR)
+ for i in *.dic; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(HYPDIR)/$$i || exit; \
+ done
+
+clean:
+
+mrproper: clean
diff --git a/troff/libhnj/hyphen.d/NOTES b/troff/libhnj/hyphen.d/NOTES
new file mode 100644
index 0000000000000..fb9114ecaa46c
--- /dev/null
+++ b/troff/libhnj/hyphen.d/NOTES
@@ -0,0 +1,58 @@
+Adding hyphenation files to troff
+=================================
+
+There are principally two methods to obtain hyphenation files for
+use with troff:
+
+1. Get an OpenOffice hyphenation file. The file format of these should
+ be principally compatible; however, the results when hyphenating with
+ them were rather mediocre. I have not followed this issue further.
+ Replace the first line with the string "UTF-8" and recode the rest
+ of the file from the original encoding to UTF-8.
+
+2. Derive a hyphenation file from TeX sources in the following steps:
+
+ a) Verify that you are allowed to do this by reading the license of
+ the individual file.
+
+ b) Create a temporary copy of the file for the next steps.
+
+ c) Delete everything except the \patterns{} and \hyphenation{} parts;
+ the latter may be missing.
+
+ d) Delete all remaining comments, i.e. any "%" character and following
+ ones to the end of the line.
+
+ e) Recode the \hyphenation{} part, if any, to the same format as the
+ \patterns{} part. Replace each hyphen by a "9", and insert an "8"
+ after any letter that is not followed by a hyphen. The first and
+ last characters of each word are not hyphenated anyway, so there
+ is no need to insert an "8" there. Surround each word by dots. In
+ effect, "phil-an-thropic" becomes ".ph8i8l9a8n9t8h8r8o8p8ic."
+
+ f) Delete remaining part separators, if any.
+
+ g) Reformat the file such that each pattern is on a single line, and
+ delete any other white space.
+
+ h) Replace any non-ASCII characters in one of the TeX encodings by
+ their UTF-8 equivalents.
+
+ i) Run "perl substring.pl tmp_file". This will print a lot of output,
+ and will finally generate the file "hyphen.mashed". Move it to
+ "hyph_<lc>_<CC>[@extra].dic", where "lc" is a language code, and
+ "CC" is a country code, as appropriate. The optional "@extra" part
+ may be added to describe special variations.
+
+ j) Add the line "UTF-8" as the first line of the new file.
+
+ k) Insert copyright/authorship statements from the original file into
+ the new one using "%" as a comment character. Supply any information
+ that is additionally demanded by the license of the original.
+
+ l) Insert a prominent remark that you changed the file, and that you
+ will accept bug reports for your variant.
+
+ m) Contribute your work if you like.
+
+Gunnar Ritter 9/3/05
diff --git a/troff/libhnj/hyphen.d/hyph_de_DE.dic b/troff/libhnj/hyphen.d/hyph_de_DE.dic
new file mode 100644
index 0000000000000..a8392e50a6ff7
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_de_DE.dic
@@ -0,0 +1,7462 @@
+UTF-8
+% This file has been derived from `dehyphn.tex', revision level 31,
+% to which the following applies:
+% -----------------------------------------------------------------
+% Copyright (C) 1988,1991 Rechenzentrum der Ruhr-Universitaet Bochum
+% [german hyphen patterns]
+% Copyright (C) 1993,1994,1999 Bernd Raichle/DANTE e.V.
+% [macros, adaption for TeX 2]
+% Copyright (C) 1998--2001 Walter Schmidt
+% [adaption to new German orthography]
+%
+% -----------------------------------------------------------------
+% IMPORTANT NOTICE:
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_de_DE.dic 1.3 (gritter) 9/3/05
+.1be
+.1bi
+.1br
+.1che6f5
+.1da8c
+.1de
+.1di
+.1fe
+.1fu
+.1ga
+.1ge
+.1k2o
+.1ka
+.1kr8
+.1kü
+.1li
+.1lös
+.1ma
+.1mi
+.1p2o
+.1pe
+.1ph6
+.1se
+.1si
+.1spi
+.1sy
+.1tag
+.1ve
+.1wah
+.1weg
+.1zi
+.1zu
+.2e1ri
+.2er3ei
+.6a1ba
+.8ar6tei
+.a1b1l8
+.a1b1r
+.a1b3u
+.a1be
+.a1bi2
+.a1d
+.a1do
+.a1n1e
+.a2l1t
+.a2r1s
+.a2r1t
+.a3na3c
+.a6n1s
+.aa6l
+.ab3a4s
+.ab3ei
+.ab3it
+.ad3o4r
+.alti6
+.an2gs
+.an5a2l1g
+.ang8s2t1
+.ap1p
+.ar6sc
+.ar6ta
+.as2z
+.au2f1
+.au2s3
+.b6ie
+.be2r1t
+.be3na
+.be5er1b
+.ber6t5r6
+.bi2ms
+.bie6r5
+.bim6s5t
+.br6u6s
+.brot3
+.c8h6
+.d2a1ri
+.da1r5u
+.da2r
+.dar5in
+.de1re
+.de1sp2
+.de3s1z
+.de5r6en
+.de8s2p2o
+.den6ka
+.des6pe
+.dia3s4
+.dien4
+.dy2s1
+.e1p2o1
+.e1r5er
+.e1re
+.e1s1p2
+.e2n1d
+.e2s8t1l
+.e6hr
+.e8rd
+.eh1re
+.ehre6n5
+.ei1ne6
+.ei6n5eh
+.ei6ns
+.ei8nen
+.ein5sa
+.en1de
+.en1te
+.en3k4
+.en4t3r6
+.en6d5r4
+.en6der
+.en8ta8
+.en8tei
+.er1b
+.er1ba
+.er1be
+.er1du
+.er1w
+.er3in
+.er3o4b
+.er6b5ei
+.er6ban
+.er6bla
+.er6d5um
+.erbl8
+.erwi5s
+.es8t1n
+.ex1a2
+.ex3em
+.fa2ls
+.fal6sc
+.fe6s1t5a
+.flu4g3
+.furc8h8
+.ga1ne
+.ga6ner
+.ge1s6
+.ge3n4a
+.ge5rö8
+.ha2lb5
+.hal1be6
+.hal6br
+.hau4t
+.haup4
+.he4r3e
+.he5x
+.hei1ma6
+.her6za
+.hi2r1s
+.hin3
+.hir8sc
+.ho4c
+.hu3sa
+.hy5o
+.i1be5
+.i1ma
+.i1ni6
+.i1s5chi
+.ima6ge
+.in1
+.isc8h
+.ja6gd5
+.ka6l1k
+.ka6ph
+.kal6k5o
+.ki4e
+.kop6f3
+.kraf6
+.kü5ra
+.l8i1i
+.la2b1b
+.lab6br
+.liie6
+.lo6s5k2
+.lö4s3t
+.ma5d2
+.mi2t1
+.mis2s1
+.no1to
+.no6th
+.no6top
+.o1b1l8
+.o1be
+.o1st3a
+.o2r1t
+.o8bs2
+.ob2e8ri
+.ob6s1t5e
+.or2ts
+.or3c
+.ort6s5e
+.os1te
+.oste8r
+.p8er
+.pe3t2s
+.pe4re6
+.po8str6
+.r6au4m3
+.re5an
+.ro8q
+.ru5the
+.rü5b6e2
+.sc8h8
+.se5n6h
+.se5ra
+.se6e
+.si2e
+.sp2
+.spi1k
+.spi6ke
+.st4
+.sy2n1
+.t8o1ni
+.ta1ge
+.ta8th
+.tage4s5
+.tan6kl8
+.te6e
+.te8str6
+.to1d
+.to1de4
+.to6der
+.to6we
+.to8nin
+.u1ne6
+.u1re
+.u2mp
+.um1
+.umpf4
+.un1
+.un1ge
+.ung8e5n
+.ur1c
+.ur5en
+.v2e1ri
+.v2or1
+.ve6rin
+.ver1
+.vora8
+.wah6l5
+.we1ge
+.we8ge1s
+.we8s2t
+.wes3te
+.wo6r
+.wor3a
+.wu6n4s
+.z2uc
+.zi4e
+.zuc8h8
+.ä2n1d
+.än1de
+.ände8re
+.öc8h8
+1a2b1f8
+1a2b1g2
+1a2b1n
+1a2b1w
+1a2d1v
+1a2g8o1g
+1a2sth
+1a2th1l
+1ab1k2o
+1abdr4
+1abhä
+1ad1j
+1adle
+1aero
+1afri
+1ag1gr4
+1ak1k2o
+1aka1d
+1al1gi
+1an1fä
+1an1r
+1an5l6
+1anfa
+1ap1pa
+1ar2z1t
+1au1to
+1au2f1n
+1au2f1w
+1au2s1b2
+1au2s1f2
+1au2s1w
+1au2s3g2
+1aus1z
+1ba
+1be
+1bi
+1blat
+1blu
+1bo
+1br
+1bu
+1by1
+1bä
+1bü
+1c6r
+1c8hae
+1c8o
+1ca
+1ce
+1che1f
+1ci
+1ck2e1ru
+1cka1d
+1cke.
+1cke1re
+1cke2r1t
+1cke2rn
+1ckel
+1cken
+1cker.
+1ckie
+1ckig
+1ckun
+1cu
+1cy
+1da.
+1dac
+1dat
+1de
+1di
+1do
+1drah
+1dria
+1dru
+1drü
+1du
+1dä
+1dü
+1e2t1n
+1e4k1d
+1e8x3p2
+1egy
+1eign8
+1elek
+1emp1f
+1emp1t
+1emto
+1en2t1z
+1extr6
+1f8ran
+1fe
+1fi
+1flor
+1fo
+1fr2is
+1fu
+1fä
+1fü
+1g2li1k
+1g2lim
+1g2ly
+1g6hr
+1ga
+1gan6g5a
+1ge
+1gi
+1gl2on
+1gla1d
+1glas
+1gle.
+1glem
+1gloa
+1glop
+1glü
+1gna
+1gno
+1go
+1gr4
+1gu
+1gä
+1gö
+1gü
+1haa
+1he2m1m
+1hoh
+1holz
+1in1fo
+1k2o
+1ka
+1kla
+1klä
+1kr8
+1ku
+1kä
+1kö
+1kü
+1la.
+1la1w
+1la2n1d
+1le6hr
+1ler
+1li
+1lo1k
+1los.
+1lun
+1ly
+1lös
+1ma
+1me
+1mi
+1mo
+1mun
+1my
+1män
+1mü
+1n2a1ri
+1n2ah
+1n2ar.
+1n8aß
+1na.
+1na1ma
+1na1ni
+1na1v
+1nae
+1nag
+1nai
+1nann
+1nau1e
+1ne
+1ni
+1nu
+1nys
+1näc
+1nöt
+1o2zea
+1o6ns
+1o8o1g
+1ob1j
+1of1fi
+1okta
+1opti
+1or1ga
+1or2d1n6
+1oram
+1p2o
+1p2sy
+1pak
+1pap
+1pau
+1pe
+1ph
+1pis
+1pres
+1pro1d
+1prob
+1präs
+1prüf
+1pu
+1q6ui
+1r2ig
+1r4uf
+1rar1h8
+1re.
+1re1no
+1rer
+1rinn
+1ro6hr
+1ru2ts
+1s2ki.
+1s2pek
+1s2phä
+1s2pur
+1sa.
+1sa2n1d
+1saa
+1saf
+1sag
+1sai
+1sal
+1sam
+1sas
+1sat
+1sche
+1schi
+1scho
+1schu
+1se
+1si
+1so
+1span
+1spi
+1spra
+1spru
+1spü
+1sta
+1sto
+1stu
+1stä
+1stö
+1stü
+1su
+1sy
+1sä
+1süc
+1sün
+1t2a1ri
+1t2sua
+1t2uc
+1t6hr6
+1t8heo
+1ta1fe4
+1ta1le
+1tag
+1te2il
+1the.
+1thes
+1thet
+1thy
+1ti2l1g
+1trag
+1trai
+1trib
+1träg
+1tu1e
+1tu2m1h
+1tu2ms
+1ty1
+1tön
+1tür.
+1u2n2if
+1un1fä
+1ve
+1wah
+1was
+1weg
+1wi1d
+1wj
+1xag
+1xe.
+1xen
+1xes
+1xi
+1xo
+1xu
+1zah
+1ze
+1zi
+1zo
+1zu
+1zwi
+1zy
+1zä
+1zö
+1zü
+1ße
+1ßi
+1ßu8
+1ähn5l6
+1äug
+1äuß
+1ö2k2o
+1öl.
+2a1re
+2a1ri
+2a1ti
+2ar2b1t
+2b1b
+2b1c
+2b1d
+2b1f8
+2b1g2
+2b1h
+2b1k2
+2b1lun
+2b1m
+2b1n
+2b1p2
+2b1t
+2b1w
+2c2ks
+2ch.
+2chn6
+2chs
+2cht
+2ck.
+2d1a2b1g2
+2d1an5l6
+2d1ar1b
+2d1auf
+2d1aus
+2d1b
+2d1c
+2d1d
+2d1e6hr
+2d1f
+2d1g
+2d1h
+2d1i6ns
+2d1k
+2d1l
+2d1m
+2d1n6
+2d1o8r1g
+2d1p
+2d1rer
+2d1u2n1d
+2d1v
+2d1w
+2d1z
+2deal
+2deol
+2dju
+2ds
+2dt
+2e1ni
+2e1ri
+2e1ru
+2erei
+2f1a2r1t
+2f1b2
+2f1d
+2f1ec2k
+2f1g2
+2f1k2
+2f1m
+2f1n
+2f1op
+2f1p8
+2f1w
+2f1z
+2f2f1f
+2ff
+2fs
+2ft
+2g1a2t1m8
+2g1a6r1m
+2g1ar1c
+2g1b
+2g1f8
+2g1g
+2g1k
+2g1ler
+2g1m
+2g1n2ah
+2g1p2
+2g1r2ig
+2g1t
+2g1w
+2g8o1g
+2grot
+2gs
+2gue.
+2ha1ni
+2hal.
+2hein
+2hoi
+2hö.
+2höe
+2i1ge
+2i1v
+2if
+2il
+2io
+2ip
+2k1an5l6
+2k1b
+2k1c
+2k1eig
+2k1f8
+2k1g
+2k1h
+2k1k2
+2k1m
+2k1p2
+2k1rec
+2k1t
+2k1w
+2k1z
+2klic
+2kr2ip
+2krib
+2ks
+2l1a2m1t
+2l1a8b1s
+2l1g
+2l1m
+2l1o8rd
+2l1t
+2l1u2m1f6
+2l1u2m1w
+2l1w
+2l1äug
+2lb
+2lic2k
+2ließ
+2lint
+2ls
+2luh
+2m1a2mp
+2m1b
+2m1c
+2m1d
+2m1f6
+2m1g
+2m1h
+2m1i2m1m
+2m1k8
+2m1l
+2m1m
+2m1r
+2m1t
+2m1v
+2m1w
+2m1z
+2mp
+2ms
+2n1a2r1t
+2n1ang
+2n1ar1c
+2n1d
+2n1e2mp
+2n1e2rr
+2n1egy
+2n1erz
+2n1i2mp
+2n1i2n1d
+2n1i6ns
+2n1o2r1t
+2n1on1k
+2n1u2n1d
+2n1unt
+2na1x
+2nec
+2no2b1t
+2nu6r
+2nup
+2p1haf
+2p1ler
+2p2ft
+2p2uc
+2p3lig
+2p3r2ig
+2pe2rr
+2pek
+2ph.
+2po2rn
+2pst
+2r1a2r1t
+2r1ar1b
+2r1ex
+2r1ir
+2r1s
+2r1t
+2r1u2m1g
+2r1u2m1l
+2r1unt
+2r1ur
+2r2t3a2r1t
+2r8tu2r1t
+2ra6ll
+2re2m1t
+2reh
+2ress
+2rn
+2rr
+2ru2ms
+2s1a2r1t
+2s1a2t1l
+2s1a6ns
+2s1a8b1s
+2s1ar1b
+2s1aus
+2s1b2
+2s1c8o
+2s1ca
+2s1d
+2s1e2mp
+2s1eig
+2s1f2
+2s1i6ns
+2s1in1f
+2s1in1h
+2s1ku
+2s1m
+2s1o1do
+2s1o8rd
+2s1pap
+2s1pf
+2s1pis
+2s1r
+2s1sc8h
+2s1se
+2s1si
+2s1so
+2s1sä
+2s1ta.
+2s1ta1ni
+2s1tag
+2s1tan.
+2s1trua
+2s1tu1e
+2s1tung
+2s1unt
+2s1v
+2s1w
+2s1ü2b
+2s2cht
+2s2s1ei
+2s2t1b2
+2s2t1g2
+2s2t1k2
+2s2t1l
+2s2t1m8
+2s2t1s6
+2s2t1t
+2s2t1v
+2s2t1w
+2s2t5r2ig
+2s3g2
+2s3kow
+2s4ch1h
+2s5pla
+2s5pol
+2s6ch1f2
+2s7tus
+2sch1g
+2sch1k2
+2sch1z
+2siat
+2skau
+2ssa
+2ssö
+2ssü
+2st.
+2sth
+2t1a2m1t
+2t1a6r1m
+2t1an1r
+2t1b2
+2t1c
+2t1d
+2t1e6hr
+2t1f2
+2t1g2
+2t1h2il
+2t1haa
+2t1hau
+2t1hö
+2t1j
+2t1k2
+2t1l
+2t1m8
+2t1n
+2t1ony
+2t1p2
+2t1r2ig
+2t1t
+2t1unt
+2t1v
+2t1w
+2ta2r1t
+2ta6rk
+2te1he
+2th.
+2th1l
+2th1m
+2to1ti
+2trec
+2ts
+2tz
+2uc
+2v1b
+2v1f
+2v1g
+2v1k
+2v1l
+2v1m
+2v1p
+2v1t
+2v1v
+2v1z
+2v2s
+2w1l
+2z1a1ra
+2z1b
+2z1ex
+2z1f8
+2z1k
+2z1l
+2z1m
+2z1s8
+2z1t
+2z1v
+2z1z
+2z1ü2b
+2ß1ei
+3a8na1ly
+3abtei
+3adres
+3al8a6r1m
+3album
+3an1n2ah
+3angab
+3angri
+3anzug
+3apfel
+3arbei
+3atlas
+3au2s1d
+3auf1fü
+3auf1ga
+3auf1tr6
+3auge.
+3blau.
+3ble.
+3blä
+3blü
+3ch2a1ri
+3effek
+3eifri
+3ele1me
+3entl8a
+3er1klä
+3erb1se
+3ernst
+3europ
+3flöt
+3för
+3gleic
+3glie1d
+3i2deal
+3i2deol
+3indus
+3infek
+3jä
+3klei1d
+3kow
+3lig
+3lo2ch.
+3losig
+3lä2n1d
+3man
+3mas
+3mes
+3mi2t1t
+3mäß
+3müt
+3na1z
+3na2cht
+3o4pe1ra
+3ob2st.
+3paa
+3par2t1n
+3pe2r1s
+3preis
+3rable
+3re1a2k1t
+3refl
+3ro2ck.
+3rö6ll
+3rü2mp
+3s2kr2ip
+3s2krib
+3s2t2if
+3s2t2il
+3s2te2if
+3s2te2m1m
+3s2te2mp
+3s2te6ll
+3s2tec
+3s2teg
+3s2teh
+3s2teig
+3s2tein
+3s2telz
+3s2tep
+3s2teu1e
+3s2ti1tu
+3s2tic
+3s2tie1b
+3s2tieg
+3s2tim
+3s2tink
+3s2trec
+3s2uc
+3s4kin.
+3s8au1e
+3s8eit
+3s8prec
+3sa2ck.
+3sa8r1g
+3scha.
+3schaf
+3schal
+3schri
+3sel.
+3str8aß
+3strum
+3t2hal.
+3t4hea
+3this
+3to1be
+3trau1e
+3treib
+3troc
+3umfan
+3un1glü
+3undzw8
+3unfal
+3ur5tei
+3urlau
+3ursac
+3zaun
+3ä2t1k2
+3äq
+3ärmel
+3ärz2t1l
+3ü4ber1
+4a1tr6
+4aner.
+4blic8h
+4c2k1h
+4ch1h
+4ck1ent
+4d3a2r1t
+4d3in1h
+4d3reg
+4d3uh
+4drec8h
+4e1lo
+4e1mo
+4e5re.
+4ene.
+4ener.
+4erer.
+4f1h
+4f3lein
+4ferd.
+4fling
+4g1v
+4g3ei1se
+4g3ex3
+4g3i6ns
+4g3reic
+4g3uh
+4gak
+4grut
+4he1rap
+4k1d
+4k3arti
+4k3leit
+4k3ra1d
+4k3reic
+4k3ä1mi
+4kus1ti
+4l1au1to
+4l1en2t1z
+4l3e8r1g
+4l3en2t1w
+4l3in1du
+4l3in1h
+4l3o4p8er
+4l3o6hr
+4l3un1te
+4laus3s4
+4lektr6
+4leu1ro
+4li1sam
+4lin2k1t
+4lipp
+4lo2r1t
+4lu8r1g
+4m3ar1be
+4m5auf
+4ma2g1g
+4n1ein
+4n1int
+4n1o8r1g
+4n1u6hr
+4n3e4lem
+4n3en3th
+4n3i6gel
+4n3o4p8er
+4n3o8bs
+4nauf
+4p1d
+4peic
+4per1si
+4ph3t1he
+4plei
+4r3e8rd
+4r3ei6ns
+4r3ein1a4
+4r3en2t1w
+4r3enth
+4r3er6ns
+4r3erla
+4ra2l1g
+4reben
+4rinst
+4ro1fe
+4s1a2ff
+4s1a2k1t
+4s1en2t1z
+4s1j
+4s1or1ga
+4s1t2uc
+4s1ta1fe4
+4s1te2il
+4s1trai
+4s1tür.
+4s2ta2l1g
+4s2ti2g1m
+4s2tin1f
+4s3alpi
+4s3ox
+4s3pe2r1s
+4s5t8e2ch3n6
+4so1pe
+4st1r4uf
+4st3a6ns
+4st3o1pe
+4t1au2f1n
+4t1elek
+4t1holz
+4t1hä
+4t1reg
+4t3en2t1w
+4t3er2b1t
+4t3re1z
+4ta8b1s
+4tab.
+4te2ff
+4tein1h
+4teis
+4ths
+4tre2if
+4tüb
+4v3w
+4v5n
+4xis1te
+4z1h
+4z1p
+4z3ak
+4z3e2ff
+4z3i2mp
+4z3oh
+4ze2mp
+5a4gent
+5a6blag
+5a6blö
+5a6brec
+5a6l5eth
+5a6mei1se
+5a6n1o2d
+5a6n3o1ma
+5a6no8rd
+5ab1ze
+5ab1zu
+5ad1di
+5akro1
+5anfe2r1t
+5ange1bo
+5anhä
+5anschl6
+5anstal
+5antenn
+5anwä
+5anzeig
+5anzieh
+5anäs
+5atlant
+5au4f3ent
+5blit
+5blum
+5blö
+5ch4lor
+5cha1ra
+5cha1to
+5chia1d
+5chias
+5cho.
+5chth2on
+5cä1
+5d4eic
+5d6scha.
+5dschi1k
+5e6las1ti
+5elte2rn
+5ener1gi
+5entwic
+5entwu
+5epi1d
+5epos
+5erfül
+5erge2b1n
+5ergänz
+5erhö1hu
+5erlös.
+5erstat
+5erwer1b
+5essenz
+5f8läc
+5flop
+5fr4ei.
+5ghel.
+5glaub
+5gleis
+5glom
+5go1gr4
+5gr2if
+5he2ft
+5hi2tz
+5horn.
+5in1j
+5in1s2pe
+5index
+5ing2e1ni
+5inhab
+5instit
+5instru
+5inte1re
+5inter1v
+5jo
+5kl2ip
+5klet
+5klop
+5l6uk
+5la1du
+5laken
+5lampe.
+5le2uc
+5lei1stu
+5lip1t
+5loge.
+5lohn
+5läuf
+5me6ld
+5mot
+5mün
+5n6a2r1s
+5n6äi
+5na6ui
+5nan1c
+5napf.
+5ne1ei
+5nä1e
+5näus
+5nü.
+5nüß
+5o4be2r1s
+5o6rient
+5ohm.
+5olym
+5orgel.
+5p6ty1
+5p8ar5tei
+5pa1d
+5pf8lanz
+5pin1se
+5pla
+5po1ti
+5pol
+5pr8o1g
+5prinz
+5py
+5ra3fal
+5ra6ld
+5ran1gi
+5re1ha
+5ren1te
+5rhy1t
+5rout
+5rö6hr
+5römis
+5s4hop
+5s4tre2if
+5s6au1se
+5s6h2ip
+5s6pom
+5s6z4ene.
+5scha1de
+5schlag
+5schlu
+5schö
+5schü
+5sein.
+5spal
+5spring
+5spän
+5söm
+5süß
+5t4he1rap
+5t6si1k
+5t8e2ch3n6
+5tau1se
+5tep1pi
+5tha.
+5ther1f
+5thi.
+5ti1te
+5to2cht
+5toll.
+5topf.
+5tropf
+5trub
+5trup
+5trüb
+5täg
+5tüc8h
+5umlau
+5undein
+5unge1a2
+5w2a1re
+5wec8h
+5wei1se
+5wer1du
+5werk.
+5wi2r1t
+5wunde.
+5ya.
+5zange.
+5zwec2k
+5ßa.
+5änd2e1ru
+5ärge2rn
+5ö6dem
+5öf2f1n
+5öste2rr
+5ü2bu
+6a1ba
+6a1tu
+6a2t1f2
+6a2t1g2
+6a2t1n
+6ab8el
+6aum
+6b1la1d
+6b1v
+6b3lein
+6b5eisen
+6blag
+6ch1b2
+6ch1f2
+6ch1p
+6ch2m
+6ch3unt
+6chei
+6cher1kl8
+6chi6ns
+6chuh
+6d1a2b1w
+6d1re.
+6d5a6l1k
+6d5o1be
+6d5ony
+6d5r1h8
+6d5unt
+6da2b1t
+6da6ns
+6dan1zu
+6de2ff
+6din1f
+6dje
+6do1th
+6do8rd
+6dur1l
+6dursa
+6däh
+6e1nat
+6e1ro.
+6e3roi
+6elan
+6ele1f
+6enem.
+6enen
+6enes
+6eren.
+6f1an5l6
+6f1c
+6f1j
+6f1r2ig
+6f1v
+6f1äug
+6f3l2on
+6f5otte
+6f5u2ms
+6fap
+6fun1f
+6g1a2b1w
+6g1an5l6
+6g1hei
+6g1hi
+6g1rec
+6g3arti
+6g5a2m1t
+6g5auf
+6g5en2t1f2
+6g5erz.
+6g5oh
+6g5unt
+6gar1b
+6gd
+6glass
+6gn.
+6gonist
+6groh
+6gue1d
+6gä6r1m
+6güb
+6h1e2mp
+6ha1le
+6hanz
+6har1b
+6ho8r1g
+6hr
+6jm
+6k1en2t1z
+6k1r2ig
+6k1v
+6k3ar1be
+6k5ein
+6k5eis
+6k5l6er.
+6k5ox
+6kin1h
+6kner
+6kro1ba
+6l1e8x3p2
+6l1h
+6l1j
+6l1k
+6l1p
+6l1ü1b6e2
+6l5a2t1m8
+6l5en2t1s
+6l5er1de
+6l5erzie
+6l5in1j
+6l5u6n2io
+6la2ff
+6lan1ä
+6lann
+6larm.
+6ld
+6le1pi
+6le2ff
+6lendun
+6ler1kl8
+6ll
+6ln
+6lo8r1g
+6lu2r1s
+6ly2m1p2
+6m1ap1pa
+6m5ony
+6m5uh
+6mj
+6möl
+6n1a6r1m
+6n1au1to
+6n1au2s1b2
+6n1opti
+6n1ü2b
+6n5e2b1n
+6n5e4ne8r1g
+6n5erde.
+6n5erhö
+6n5ertra
+6n5in1h
+6n5inn
+6n5o6le3u
+6n5ox
+6n5u2m1w
+6n5u2ms
+6n5un1r
+6na2t1m8
+6nair
+6nopf
+6ns
+6nu1ni
+6o1se
+6p1m
+6p5heit
+6p5les
+6p5ling
+6p5uh
+6paug
+6ph1b2
+6ph1g
+6ph1z
+6phn
+6r1arz
+6r1eign8
+6r1emp1f
+6r1m
+6r1o8o1g
+6r3ein1b2
+6r5einn
+6r5er1nä
+6r5erreg
+6r5i6tal
+6r5olym
+6ra1ha
+6ra2t1l
+6ra8b1z
+6ran1ga
+6rapf
+6raus.
+6rein1g
+6rein1r
+6rer8bs
+6rewo
+6rinner
+6rk
+6ro8bs
+6run1f
+6run2d1z
+6s1a2b1t
+6s1a2b1w
+6s1an5l6
+6s1arz
+6s1che1f
+6s1cu
+6s1e8x3p2
+6s1prob
+6s1ta1le
+6s1träg
+6s1äuß
+6s2chs
+6s2t1c
+6s2t1d
+6s2t1f2
+6s2t1i2n1d
+6s2t1p2
+6s2tz
+6s3a4der
+6s3an1tr6
+6s3e4lem
+6s3preis
+6s3tre1f
+6s4t3eu1ro
+6s5eid.
+6s5ein1h
+6s5en2t1s
+6s5i6de1e
+6s5o4fen
+6s5pig
+6s5pin1se
+6s5po1ti
+6s5pos
+6s5py
+6s5tep1pi
+6s5toll.
+6s5topf.
+6s5tr6aum
+6s5u6ran
+6s5ä2n1d
+6s6ch1p
+6salter
+6sch1n8aß
+6sch1v
+6sch3mäß
+6scho8rd
+6ser1öf
+6sk.
+6skn8
+6sna
+6snot
+6ss5um
+6st1re1no
+6st3re1v
+6st5a8n1w
+6st5an1f
+6star1b
+6staus
+6sto8rd
+6stres
+6sumfa
+6surte
+6säu1gi
+6t1an5l6
+6t1au2s3g2
+6t1eign8
+6t1hab
+6t1q
+6t1re1d
+6t1röh
+6t1äuß
+6t3a2cht
+6t3er1klä
+6t3ha2n1d
+6t5a6mer
+6t5haf
+6t5herz
+6t5o6fen
+6t5ro1sa
+6t5u2m1r
+6ta2mp
+6tadr4
+6tar1be
+6tarz
+6terben
+6th1opti
+6tha2ls
+6top1t
+6tu2n1d
+6tuh
+6tun1f
+6ty6o
+6täh
+6ui
+6uk
+6und.
+6v5c
+6v5h
+6vang
+6var1b
+6vd
+6ve5g6
+6w5t
+6w5w
+6wk
+6ws2
+6x1l
+6x3w
+6z1am
+6z1c
+6z1d
+6z1j
+6z1n
+6z1r
+6z1wo
+6z1öl.
+6z5as
+6z5engel
+6z5in1f
+6z5in1ni
+6z5u6hr
+6ß5um
+6äi
+8a1fä
+8a1lu
+8a1ta
+8ad.
+8afa
+8ame.
+8apl8
+8ar5tei
+8atmus
+8aß
+8b1leg
+8b1leh
+8b1los
+8b1z
+8b5riem
+8ba8del
+8be1cke.
+8be2cht
+8be2ff
+8bex
+8blam
+8blei1d
+8bleih
+8bling
+8bo2ff
+8bon1k
+8bre1f
+8bröh
+8bs
+8c1t
+8c6hanz
+8ch1j
+8chob
+8chw
+8cor1b
+8d1ren
+8d3reic
+8d5a2m1t
+8da1br
+8da2t1m8
+8daas
+8dan1zi
+8darz
+8deng8en
+8denge.
+8der2d1b
+8deul
+8di2n1d
+8drak
+8drem
+8dres.
+8dri2n1d
+8drut
+8ds1l
+8du2m1l
+8du2m1w
+8du2r1t
+8dä2n1d
+8e2ch3n6
+8eifen
+8er6a1ba
+8f1ric
+8f5elte2rn
+8fe2mp
+8fei6ns
+8fin1f
+8flib
+8fä6r1m
+8föf
+8g3leu
+8ga8b1z
+8gan1sc
+8ge2ff
+8gerhö
+8gl.
+8gnac8h
+8gnot
+8go8rd
+8gof
+8grenn
+8gu2ms
+8gä8m
+8hae
+8han.
+8he2l1t
+8heo
+8höi
+8i1i
+8ind.
+8k3lig
+8k5en2t1s
+8ka2chs
+8ka2k1z
+8kapf
+8karz
+8ke2mp
+8keic
+8ki1k
+8ki8ö8
+8klac
+8l1a2b1f8
+8l1a2d1v
+8l1ap1pa
+8l1r
+8la2b1h
+8la2m1b
+8la8n1w
+8lan1me
+8lc
+8le1p2o
+8le2mp
+8leinn
+8len1zy
+8len2ds
+8leo1z
+8ler8bs
+8lerö8
+8lesel
+8li2m1b2
+8lin1v
+8lo1bl8
+8lu8fe
+8m1a2b1g2
+8m1q
+8m5an1st
+8mal1de
+8man1gr4
+8me2mp
+8mentsp2
+8mof
+8n1a2b1n
+8n1a2m1t
+8n1w
+8n5en2t1n
+8n5en2t1s
+8na1ly
+8na8n1w
+8ne2m1b
+8neis
+8nen2t1b2
+8nen2t1l
+8ner1bi
+8nerlö
+8neuß
+8nin1f
+8no2st.
+8nu2m1l
+8o1g
+8o1ni
+8p5c
+8ph1d
+8ph1k2
+8poh
+8proß
+8pär
+8r1en2t1z
+8r1g
+8r1j
+8r5e2l1t
+8ra2b1k2
+8ra8n1w
+8ramei
+8ran1f
+8rd
+8re2ff
+8reier
+8ren2t1l
+8rer1kl8
+8rerhö
+8rerlö
+8ru6ns
+8s1a8n1w
+8s1kü
+8s1zu
+8s2ch.
+8s2t1a2m1t
+8s2t1r2is
+8s3paa
+8s3treib
+8s5er1zi
+8s5täg
+8s5tüc8h
+8s6ch1b2
+8s6ch3unt
+8sa1p2o
+8sch1r2ig
+8sch1ric
+8schan1c
+8schex
+8schrou
+8se2ff
+8sermä
+8sexa
+8sphi
+8sta6l1k
+8ste2s1se
+8stun.
+8su2m1k8
+8syl.
+8t1au2s1f2
+8t1e8x3p2
+8t1en2t1z
+8t1ob1j
+8t3reis
+8t5an1tr6
+8ta8b1z
+8tanwa
+8taus.
+8tei1w
+8telem
+8ter8bs
+8terbar
+8terhö
+8thak
+8thir
+8toc2k
+8tre1p2o
+8tu2m1t
+8tym
+8tä8st
+8tö8k
+8van1b2
+8vint
+8vo8f
+8vra
+8w1n
+8wer1c
+8x1b
+8x1h
+8x1t
+8x3p2
+8x5o6d
+8xa2m1t
+8xf
+8xi1d
+8xn
+8z1an5l6
+8z5wes
+8za6d
+8zein
+8zer1gä
+8zerz
+8zinsuf
+8zunem
+8zungl
+8ße8g
+8ße8h
+8ßem
+a1b1lu
+a1be
+a1bi
+a1bl8
+a1br
+a1bu
+a1bä
+a1ce
+a1che
+a1chi
+a1cho
+a1chu
+a1chy
+a1d
+a1de
+a1di
+a1do
+a1e2d
+a1er.
+a1fe
+a1fu
+a1g5las
+a1ga
+a1ge
+a1gn8
+a1go
+a1gu
+a1ha
+a1he
+a1hi
+a1hu
+a1j
+a1ka
+a1ke
+a1ki
+a1kr8
+a1le
+a1ler
+a1li
+a1lo
+a1lä
+a1ma
+a1me
+a1mu
+a1mä
+a1na1d
+a1nas
+a1nat
+a1ne
+a1ni
+a1no
+a1nö
+a1os
+a1p2o
+a1pa
+a1ph
+a1pi
+a1pr6
+a1ra
+a1rol
+a1ru
+a1ry
+a1sa
+a1sche
+a1str6
+a1te
+a1th
+a1to
+a1tä
+a1tü
+a1v
+a1ve
+a1w
+a1x
+a1xi
+a1ya
+a1z
+a1zi
+a2b1d
+a2b1h
+a2b1k2
+a2b1m
+a2b1t
+a2c2ks
+a2ch5n6
+a2d1d
+a2d1l
+a2dre
+a2dt1
+a2f1ex1
+a2ff
+a2ft
+a2g1g
+a2h5ein
+a2if6
+a2k1k2
+a2l1g
+a2l1t
+a2l3int
+a2lb
+a2ls
+a2m1m
+a2m1t
+a2mp
+a2ms
+a2n1d
+a2n1ec
+a2ph1t2
+a2r1s
+a2r1t
+a2r3a6ll
+a2rn
+a2s1to
+a2t1l
+a2t1m8
+a2t1t
+a2tz
+a2uc
+a2xia
+a3fal
+a3in1se
+a3ismu
+a3na2c
+a3pü
+a3ros
+a3s4hi
+a4ce.
+a4h3er1h8
+a4ka1de
+a4l3ein
+a4l5ob
+a4r3af
+a4s3tel
+a5arti
+a5chal
+a5far
+a5fat
+a5ho
+a5i8s2ch.
+a5lal
+a5ny
+a5pä
+a6bl8aß
+a6ch3m
+a6ch5er1f
+a6d5ac
+a6dä
+a6f5um
+a6fen2t1l
+a6g5u2n1d
+a6hr
+a6l5e6be
+a6le2r1t
+a6ll
+a6lur
+a6ma1te
+a6n5e8rd
+a6n5er1ke
+a6ns
+a6po1th
+a6pos2t
+a6rk
+a6s2chn6
+a6schec
+a6t5ops
+a6t5ort.
+a6t5ru
+a6tapf
+a6te1li
+a6uk
+a6wes
+a6x2io
+a8b1s
+a8b1z
+a8blä
+a8ch1w
+a8chent
+a8dein
+a8l1c
+a8lel
+a8ler1b
+a8ler1h8
+a8n1w
+a8n5eis
+a8ner1f
+a8r1g
+a8ror
+aa1c
+aa1l5e
+aa2gr4
+aa2r1t
+aa2s1t
+aa2t2s
+aa6r5a
+ab1ir
+ab1la
+ab1ma
+ab1ra
+ab1re
+ab1ro
+ab1ur
+ab1än
+ab3a2r1t
+ab4ler
+ab5e2r1r
+ab5e2s1se
+ab5e6rk
+ab8s1k2
+abe2n1d
+aben6dr4
+abma5c
+abs2z
+abäu8
+ac1k2o
+ac2k
+ac6hr
+ac8h
+ach1l6
+ach3re
+ach5a2r1t
+ach5au
+ach5äf
+ach6er.
+ack5sta
+acks6t8
+ad1op
+ad3ant
+ad8ar
+ade5o8
+adi5en
+adr4
+ae1r
+af1an
+af1au
+af1fr6
+af1re
+af1te
+af1tr6
+af5rau
+af6tent
+af6tra
+afr6
+aft5re
+ag1lo
+ag2ne
+ag5a1be
+ag8er
+age1s
+age1s5e
+ah1le
+ah1ma
+ah1re
+ah1ru
+ah2r1t
+ah4m3ar
+ah8rei
+ah8ö
+ahl1a
+ahn1a
+ahr5ab
+ahr8ti
+ahra6
+ahre4s3
+ahre6n8s
+ai1d
+ai1e
+ai1re
+ai1s8e
+ai1so6
+ai2s1m
+ai3d2s
+ai4re.
+ai6ns
+ais6n
+aisc8h
+al1be
+al1bu
+al1la
+al1le
+al1sc
+al4g1li
+al4l3ar
+al4lab
+al4t3re
+al4the
+al5a6ns
+al6s6ch2m
+al6u5i
+al8be1b
+al8ber1w
+al8lan
+alb5la
+albl8
+ale1b
+alle3g
+alsc8h
+altr6
+alu3ta
+am1me
+am1sc
+am2n8
+am2ta
+am6m5ei
+am6mum
+am6s8chw
+ampf3a6
+amsc8h
+an1de
+an1e2k
+an1f
+an1fe
+an1ga
+an1ge
+an1gr4
+an1h
+an1k2n8
+an1kl8
+an1kr8
+an1m
+an1ma
+an1na
+an1ne
+an1s2z
+an1sa
+an1sc
+an1so
+an1st
+an1sta
+an1te
+an1th
+an1ze
+an1zi
+an1zu
+an1ä
+an2g5t6
+an2gn8
+an2io
+an3a1k2o
+an3a1me
+an3a2ra
+an3a6l1p
+an3g1li
+an4kro
+an4so1z
+an4z3e1d
+an5as1ti
+an5i8on
+an6i1k
+an6kno
+an8dent
+ana1di
+ana2t5s
+anadi5e
+ande4s3
+ane6rk
+ang6lis
+ange1b
+ani4ka
+ani5g
+anma5c
+anmar4
+anne4s3
+ansc8h
+anö8d
+ap1fe
+ap1pr6
+aph5ä6
+apo1c
+apo1s
+ar1b
+ar1be
+ar1c
+ar1ke
+ar1l
+ar1na
+ar1o2d
+ar1ü2
+ar2gl
+ar2ie
+ar2on
+ar3ein
+ar3ony
+ar4nan
+ar5o6c8h
+ar5ox
+ar5öm
+ar6les
+ar6schl6
+ar6t5ri
+ar8ke2r1s
+ar8zä
+ari5es
+arsc8h
+artr6
+arz1w8
+arä8m
+arö6
+as1h
+as1pa
+as1te
+as2s3te
+as5te1v
+as6ch3m
+asc8h
+asch5l6
+asp2
+asp5l8
+ast3re
+at2t1h
+at3hal
+at5t6hä
+at8a5pl8
+ata3la
+ata5c
+ate5ran
+aten5a
+ath6a
+atl8a
+ato2r1t
+ato6ra
+atz1w8
+au1a
+au1br
+au1e
+au1fe
+au1ge
+au1kl8
+au1le
+au1ma
+au1si
+au1te
+au1th
+au1ße8
+au2f1g2
+au2f1t
+au2ff
+au2m5p
+au4kle
+au4sta
+au6bre
+au8mar
+au8sin
+auc8h
+auch3a
+aue4l
+aule8s
+aus3s4
+aut5eng
+av2e1r6i
+ave5r6a
+aver1
+azi5er.
+b1ga
+b1ge1
+b1j
+b1kü6
+b1le1b
+b1le1d
+b1li
+b1loh
+b1o2r1t
+b1q
+b1r2ig
+b1rup
+b1s2p2
+b1sa
+b1sc
+b1se
+b1so
+b1su
+b2b1li
+b2il
+b2l2io
+b2ruz
+b2s1ar
+b2st1h
+b2t1h
+b3stru
+b3ü4ber1
+b4e1l8o
+b4li2n1d
+b4li2tz
+b5re1d
+b5stä
+b5ä6s5
+b6ie
+b6la.
+b6la1v
+b6ri1ga
+b6sun
+b6ui
+b6ü5be1re
+b8el
+b8er.
+b8la2t1t
+b8sang
+b8sof
+b8u1re
+ba1d
+ba1de
+ba1la
+ba1na
+ba1ro
+ba5ot
+ba8rd
+ban6k5r8
+bar1di
+bardi6n
+bas1te
+basten6
+bau3sp2
+bb6le
+bbl8
+be1a
+be1c8h
+be1en
+be1f2
+be1g2
+be1hö8
+be1lu
+be1ne
+be1no
+be1nä
+be1nü
+be1o2
+be1ra
+be1rü
+be1s2p2
+be1s8c
+be1se
+be1un
+be1ur
+be1z
+be2e8rei
+be2n1d
+be2r1r
+be2ts
+be3na2c
+be4nor
+be5e1ta
+be5el
+be5th6a
+be6n5e2r1s
+be6n5er1w
+be6ns
+be6zwec
+be8at.
+be8r1g
+be8rac
+bec2k
+bee3r4e
+bei1s
+bei1se
+bei3tr6
+belu3t2
+ben1d6o
+ben4se6
+bens5el
+ber1ga
+ber8gab.
+bes5er1h8
+bet5sc
+bezw8
+bga2s5
+bho1le6
+bi1bl8
+bi1el
+bi1la
+bi1lä5
+bi1na
+bi1no
+bi2t1t
+bi4no1k
+bi5tr6
+bi6stu
+bit4t5r6
+bl4e4m3o2
+bl8
+blu2ts
+blut3a
+blut5sc
+blä6s5c
+blü8sc
+bo1c8h
+bo1d
+bo1ra
+bo5d6s
+boe5
+br2ie
+bra2il6
+brast8
+bre4a
+bro1s
+brö2s5c
+bs2ti
+bs3er1l
+bs3erz
+bstr6
+bu1ie
+bu1si
+bu6l6k
+bu6sin
+by1t
+by6te.
+bü1b6e2
+bü1ge6
+bü2r1s
+büge1l5e
+bür6sc
+c1c
+c1k1r8
+c1k2o
+c1ka
+c1ku
+c2a6re
+c2hoi
+c2k
+c2l
+c3q
+c6hr
+c8h
+ca5la
+ca5y
+cag6
+ce1li
+ce1ro
+celi4c
+celic8h5
+ch1ah
+ch1ni
+ch1ti
+ch3a2k1t
+ch3e2il
+ch3eis
+ch3ren
+ch3rü
+ch6res
+ch6tin
+ch8n6ie
+cha1me
+cha6mer
+che6rk
+chl6
+choi8d
+cht3hi
+cht5h6a
+chu2t6t
+chu4la
+ci5tr6
+ck1ei
+ck3l8
+ck3n8
+ck5o8f
+ck5stra
+ck6s5u
+ckst8
+ckstr6
+con6ne
+cos6t
+cö5
+d1ap
+d1dä
+d1j
+d1ni6
+d1ric
+d1sa
+d1sat6
+d1sc
+d1schi
+d1se
+d1sp2
+d1st
+d1sü
+d1ta
+d1te
+d1ti
+d1to
+d1tu
+d2e1ru
+d2erei
+d2il
+d2io
+d2ip
+d2t1s6
+d3ar1c
+d3d2h
+d4s1pak
+d5de
+d5q
+d5r6a2n1d
+d5rei1fe
+d5tä
+d5ö4st
+d5öl
+d6rec2k
+d6san
+d6ui
+d8e2r1s
+d8se8r1g
+d8spä
+da1ni
+da2gr4
+da2r1a8
+da6r1m
+dan1c
+dan1ce
+dan1ke
+dan6ce.
+dan6ie
+dan8ker
+dani5er
+danla6
+dar1me
+dar6men
+ddä2m1m
+ddäm1me8
+de1e
+de1f
+de1fe6
+de1la
+de1ma
+de1mu
+de1ne
+de1re
+de1ro
+de1sa
+de1si
+de1so
+de1sp2
+de2ls
+de2r1r
+de2su
+de3cha
+de4mag
+de4s3am
+de4s3an
+de4sau
+de4sin
+de4spr6
+de5an
+de5isc
+de5o6d
+de5ram
+de5us.
+de6s2il
+de8lar
+de8mun
+de8nep
+de8rd
+de8sor
+dec8h
+del1sp2
+del6s5e
+del6spr6
+den1ge
+dene6r
+der5ein
+der5um
+df2l
+di1ce5
+di1gn8
+di1la
+di1na
+di1se
+di1ta
+di1ti
+di2l8s
+di3c6hr
+di3p4t
+di5a1ra
+di5ena
+di5o6d
+di5s8p8er
+di6s5to
+di8sen
+di8tan
+di8tin
+dia5c
+dic8h
+dis1p2
+dis1pe
+dis3tr6
+dn1j
+dnje6
+do2r1t
+do2t1t
+do3ran
+do6ber1f
+dor4t3h
+dott8e
+dr4
+dre2if
+dro5x
+droi6
+drö2s5c
+drü5b
+drü8sc
+ds2p2o
+dsc8h
+dse8e
+du1b6
+du1e
+du2ft
+du2r1s
+du5a2ls
+du5ie
+du8ni
+du8sc6hr
+duf4t3r6
+dur2c
+durc8h3
+dus1t
+dusc8h
+dwa8l
+dä6r
+dö1b
+dö8bl8
+dö8sc
+dör1f
+dör6fl
+e1a2k1t
+e1a2l1g
+e1a2l1t
+e1a2n1d
+e1a6l1k
+e1a6ll
+e1a6rk
+e1ac
+e1ah
+e1al.
+e1am
+e1ar.
+e1aus
+e1b
+e1ba
+e1be
+e1che
+e1chi
+e1chu
+e1d
+e1e6ll
+e1e8rd
+e1ei
+e1ex
+e1f
+e1fe
+e1ge
+e1ha
+e1he
+e1hi
+e1ho
+e1hu
+e1hy
+e1hä
+e1hö
+e1i2rr
+e1j
+e1k2l8
+e1ke
+e1ki
+e1kn8
+e1la
+e1le
+e1ler
+e1li
+e1lu
+e1lä
+e1lü
+e1mu
+e1mä
+e1na1d
+e1ne
+e1no
+e1nu
+e1nös
+e1nüg
+e1o8r1g
+e1o8rd
+e1on.
+e1p2f
+e1p2o
+e1pa
+e1pe
+e1pi
+e1pl8
+e1pr6
+e1pä
+e1q
+e1r2on
+e1r4uf
+e1r8o1g
+e1ra.
+e1rap
+e1rat
+e1re
+e1rer
+e1ro1d
+e1rom
+e1ros
+e1rot
+e1ry
+e1sa
+e1sc
+e1se
+e1si
+e1so
+e1sp2
+e1sta
+e1sto
+e1str6
+e1su
+e1sü
+e1t2a1ri
+e1t8ag
+e1ta
+e1te
+e1ti
+e1to
+e1tr6
+e1tu
+e1tä
+e1tö
+e1tü
+e1um.
+e1v
+e1ve
+e1w
+e1xo
+e1z
+e1ße
+e1ä2
+e1ü
+e2chs
+e2ff
+e2i1o
+e2if
+e2il
+e2l1al
+e2l1g2
+e2l1t
+e2lb
+e2ls
+e2m1d
+e2m1m
+e2m1t
+e2mp
+e2n1d
+e2nec
+e2nex
+e2r1or
+e2r1s
+e2r1t
+e2r3a6ll
+e2r3ess
+e2r3u2ms
+e2r5e2h
+e2rn
+e2s1l
+e2s1se
+e2s1z
+e2t1t
+e2t3rec
+e2ts
+e2tz
+e2wig
+e3a2r1t
+e3hüt
+e3in1sä
+e3ny
+e3on1f
+e3r2a1ri
+e3r4ei.
+e3r6a2n1d
+e3r6aum
+e3ra1ne
+e3rol
+e3rop8
+e3rös.
+e4l3e2rr
+e4l3o1fe
+e4n3auf
+e4n3o8rd
+e4ne8r1g
+e4nent
+e4r3en1m
+e4r3erz
+e4r3i2n1d
+e4r3u6hr
+e5a2l1w
+e5a2t1t
+e5a6l1p
+e5a6r1m
+e5a8lin
+e5al1f
+e5ar1f
+e5at.
+e5c2l
+e5o2k1k2
+e5o6fe
+e5on1k
+e5on1r
+e5on5l6
+e5opf
+e5ops
+e5or.
+e5r6ab8el
+e5r6us
+e5r8anz.
+e5ra1bi
+e5thel
+e5unter
+e5ö8
+e6a1te
+e6a5t6l
+e6au.
+e6b5am
+e6ch3m
+e6fau
+e6h5ac8h
+e6hap
+e6hr
+e6l3a2r1t
+e6l5a6ns
+e6l5e1he
+e6l5e1pi
+e6l5ein1h
+e6l5ersc
+e6l5i6ns
+e6lan1f
+e6lau1ge
+e6lemen
+e6len1te
+e6ll
+e6n3er1f
+e6n5e6hr
+e6n5eim
+e6n5erla
+e6n5ess
+e6n5opf
+e6nerst
+e6nober
+e6ns
+e6p5e6g
+e6pidem
+e6pos.
+e6r1m
+e6r1ü2b
+e6r5e6r1m
+e6r5ein1r
+e6r5i6n5i6
+e6r5iat
+e6r5int
+e6rk
+e6s4ta8b1s
+e6s5a6v
+e6st5ak
+e6st5res
+e6staf
+e6ui
+e6uk2
+e8a2ts
+e8bs
+e8cherz
+e8fe8b
+e8i1ni
+e8l1an5l6
+e8le2if
+e8lel
+e8n3eis
+e8ne2ff
+e8ne8rd
+e8pee
+e8r1g
+e8rei1ne
+e8s1ap
+e8s1h
+e8stob
+e8tscha
+e8x1t
+e8ßes
+ea1be
+ea1li
+ea1ni
+ea4ben
+ea6nim
+eb1li
+eb1se
+eb1si
+eb4lie
+eb4s3in
+eb4ser
+ebe6ns
+eben4s5e6
+ebl8
+ec1ka
+ec2k
+ec6h1r
+ec8h
+ech1se
+ech4su
+ech8se2n1d
+eck5an
+ee1le
+ee1ta
+ee3e
+ee3r4e
+ee5a
+ee5g
+ee5isc
+ee5lö
+ee5rä
+ee6le2n1d
+ee6tat
+ee8reng
+eei4s3t
+eere6s5
+ef3rom
+ef5fe
+efr6
+eg1los
+ege6ra
+eglo6si
+eh1le
+eh1mu
+eh1ne
+eh1re
+eh1ri
+eh1ru
+eh1w
+eh2n5ec
+eh3l5ein
+eh5a6ns
+eh5auf
+eh6r5um
+ehl3a
+ehr1a
+ehre6n
+ei1a
+ei1ba
+ei1d
+ei1de
+ei1e
+ei1fe
+ei1ma
+ei1ne
+ei1no
+ei1sa
+ei1se
+ei1so
+ei1ta
+ei1tu
+ei2ds
+ei2ts
+ei3d4sc
+ei4dar
+ei4nor
+ei4t3al
+ei5ru
+ei5s2chn6
+ei6bar
+ei6d5ei
+ei6l1d
+ei6mab
+ei6n5o1d
+ei6ne1te
+ei6ns
+ei6s5ent
+ei6t5um
+ei6thi
+ei8der1f
+ei8mag
+ei8nat
+ei8ner1h8
+ei8ness
+ei8no1k
+ei8sab
+ei8sol
+ei8tho
+eia6s
+eic6h5r
+eic8h
+eich3a
+eifr6
+ein1a4
+ein1g
+ein1k
+eisc8h
+eit1h
+eit1sam
+eit3ar
+eit8sa2m1t
+ek2ni4
+el1f
+el1l8er
+el1le
+el1so
+el3a6r1m
+el3ar1b
+el5ten
+el8bs
+el8soh
+el8tent
+elb1st5a
+ele2r1s
+ele6h
+elf2l
+elut2
+em1de
+em1me
+em8dei
+em8meis
+emo5s
+emu6rk4
+emur2ks5
+en1a6p
+en1a6s
+en1am
+en1ar
+en1c
+en1de
+en1ni
+en1no
+en1se
+en1sp2
+en1ta
+en1te
+en1ti
+en1tr6
+en1za
+en1öf
+en2ce
+en2t1l
+en2t1w
+en3a2l1t
+en3an.
+en3ant
+en3anz
+en3aus
+en3glo
+en4t3a5go
+en5a2chs
+en5a6ben
+en5a6ll
+en5ac2k
+en5af
+en5e2r1s
+en5ec2k
+en5er1w
+en5t6ag
+en6ns8
+en6ti1d
+en6u5i
+en8dess
+en8se2r1s
+en8ter1bu
+en8zan
+ena1be
+ena2c
+enac8h
+end5e8r1g
+end5er1f
+enda6l
+ene1f
+ener1l
+enn6i6s5
+enn6os4
+eno1be
+eno8f
+ens1k2
+ens1p2o
+ens3s4
+ens6por
+ens8kl8
+ent5ric
+enter1b
+eo1c
+eo1k
+eo1t
+eo5r6h8
+ep4p3a
+ep5ent
+epi1de
+er1b
+er1c
+er1f
+er1fü
+er1ga
+er1ge
+er1gä
+er1h8
+er1kl8
+er1l
+er1lös
+er1me
+er1na
+er1o2f
+er1sta
+er1w
+er2g5h
+er2it
+er2t1h
+er3a2m1t
+er3a6ns
+er3a6si
+er3a8b1s
+er3ac8h
+er3ar1c
+er3auf
+er3ec2k
+er3zwu
+er5a6ben
+er5aal
+er5e2g1g
+er5er5o
+er5erst
+er5i6ns
+er5it2io
+er5ox
+er5t6her
+er5tei
+er5zwa
+er5äs
+er6nab
+er6ns
+er6t5ein
+er8bs
+er8gan.
+era1be
+era2t3s
+era5e
+era5k6l8
+ere2r1s
+erge1b
+eri1ti
+eri5ak
+erme6n6s
+ero5i1d
+ero8i1de
+ersc8h4
+eru2f4s3
+erzw8
+erä8m
+erö8
+es1k2
+es1k2o
+es1pe
+es2il
+es2p2o
+es2pu
+es3int
+es3ur
+es4kop
+es4pei6s5
+es5e1be
+es5i6ll
+esa8b
+esc8h
+esch4l6
+ese1a
+ese1b
+eser1v
+eser1ve5
+eso8b
+est3ar
+et1ze
+et2t1r6
+et2th
+et5hal
+et6tei
+et8a8ta
+et8se
+et8zent
+et8zw8
+etar2i5e
+eten6te
+eth6a
+etsc8h
+etu1s
+eu1a2
+eu1e
+eu1er
+eu1ni
+eu1o6
+eu1ro
+eu1sp2
+eu2e8rei
+eu5fe
+eu5p
+eu5str6
+eu6n2io
+eu8zo
+eue1re
+euin5
+eun1te
+ev2e1r4i
+eva2l6s
+eve2re2
+eve5r6en
+ever1
+ex1or
+ey3er.
+f1fa
+f1fla
+f1ge
+f1li
+f1q
+f1rib
+f1sc
+f1se
+f1stä
+f1tak
+f1te
+f1ti
+f1tr6
+f1tu
+f2fs
+f2il
+f2lix
+f2on
+f2s1er
+f2t1w
+f2t1z
+f2ts
+f3reic
+f3rest
+f5eis
+f5fe
+f5ram
+f5str6
+f5to
+f6eim
+f6f5a6r1m
+f8in.
+f8lanz
+f8r8aß
+f8re.
+fa1d
+fa1de8
+fa1na
+fa1sc
+fa2l1t
+fa2rr
+fa3y
+fa5el.
+fa6ch5i
+fa6del
+fa6ll
+fac8h
+fal6lo
+falt8e
+fan4gr4
+far1b
+far4bl8
+far6ba
+far6r5a
+fau8str6
+fe1d
+fe1le
+fe1sto
+fe1stu
+fe1ta
+fe2l1t
+fe2rr
+fe2s1ta
+fe2t1t
+fe5rant
+fe6dr4
+fe6str6
+fe6stum
+fe8rd
+fe8stof
+fe8t8ag
+feh1le
+feh6lei
+fel5en
+fer1ri8
+fet6ta
+fex1
+ff1li
+ff3lei
+ff4lie
+ff6s5ta
+ff8sa
+ffe1le
+ffe5in
+ffe6la
+ffe8ler
+ffl8e
+fge1w
+fgewen6
+fi1d4
+fi1la
+fi1le
+fi1na
+fi2l1m
+fi3ds
+fi6u
+fi8lei
+fi8scho
+fie1b4
+fil4m5a
+fisc8h
+fl8e
+fo2r1s
+fo2r1t
+fo2t1t
+fo5ra
+fo5ru
+fo6na
+fo6r1m
+foh1
+for1me
+for6t5r6
+for8mei
+for8str6
+for8th
+fr2on
+fr6
+frei1
+fro8na
+fräs5t
+fs3tät
+ft1h
+ft1sc
+ft1wi3d4
+ft2so
+ft5e6h
+ft5ra1d
+fte1re6
+fu1ße
+fu8ße2n1d
+fun4ka
+fuße6n
+fä1c
+fä8ß
+fö1de3
+fün1f
+fün4f3u
+g1da
+g1ha
+g1ho
+g1hö
+g1j
+g1li
+g1los
+g1nas
+g1ne
+g1ni
+g1q
+g1s8a2n1d
+g1sc
+g1se
+g1si
+g1z
+g2e1ni
+g2e1ri
+g2il
+g2lie
+g2n6ie
+g2s1er
+g2s1o
+g2s1u
+g2t1h
+g3a4der
+g3lauf
+g3lein
+g3n6is
+g3te
+g4loss
+g5aus
+g5c
+g5henn
+g5lag
+g5le1b
+g5luf
+g5rahm
+g5reit
+g5riem
+g5ring
+g5s8e2il
+g5sah
+g6l2io
+g8neu
+g8o1ni
+ga1d
+ga1de
+ga1la
+ga1na
+ga1ne
+ga1str6
+ga2r1t
+ga5isc
+ga5n1j
+ga5ro
+ga6bl8
+ga6ns
+ga6st3re
+ga8ho
+ga8sa
+ga8sc
+gan5er1b
+gau5fr6
+ge1a2
+ge1e2
+ge1f2
+ge1g2l
+ge1im
+ge1or
+ge1ra
+ge1ro
+ge1rä
+ge1rü
+ge1s
+ge1s2p2
+ge2l1t
+ge2lb
+ge2s7te.
+ge2s7ten
+ge2s7ter
+ge2s7ti1k
+ge3nä
+ge5lö
+ge5unt
+ge6an
+ge6es
+ge6rab
+ge8at.
+ge8nin
+geist5r6
+gel1br
+gel2t8s
+gel8bra
+gen3k
+ger1h8
+ger8au
+ger8i6ns
+ges1te
+ges1ti
+gi1me
+gi1na
+gi5la
+gi8me.
+gis1tr6
+glan4z3
+gli8a
+gn8
+gna2c
+go1ra
+goe1
+gon6i5e
+gon6is
+gr2i4e
+gra4s3t
+gra8m
+gre6ge
+gro6ß
+gs1ab
+gs1ak
+gs1an
+gs1ar
+gs1au
+gs1e1f
+gs1in
+gs1pr6
+gs3s4
+gs5ein
+gso2r
+gsp2
+gu2e
+gu2s1to
+gu2tu
+gu5as
+gut3h
+gy1n
+h1a2t1m8
+h1b2
+h1c
+h1d
+h1e2if
+h1f2
+h1g
+h1go
+h1h
+h1iat
+h1j
+h1k2
+h1l8aß
+h1las
+h1le1d
+h1ler
+h1li
+h1läs
+h1me
+h1ne
+h1ni
+h1nol
+h1nu
+h1p
+h1q
+h1rai
+h1re1d
+h1rer
+h1ric
+h1sam
+h1sc
+h1se
+h1so
+h1sp2
+h1str6
+h1stu
+h1su
+h1sü
+h1te
+h1ti
+h1tu
+h1v
+h1z
+h2e1ru
+h2il
+h2io
+h2l2if
+h2l2ip
+h2l5int
+h2lim
+h2lit
+h2n2ip
+h2n2uc
+h2n8erz
+h2nee
+h2nei
+h2nel
+h2nit
+h2nu1d
+h2nul
+h2on
+h2r1t
+h2rom
+h2t1ec
+h2t1eu
+h2t3e1he
+h2ts
+h2tz8
+h3ar1be
+h3ar1me
+h3e2cht
+h3er1bi
+h3l6o1se
+h3lein
+h3reg
+h3weis
+h4lor
+h4r3er1b
+h4s3tum
+h4sob
+h4spun
+h4t3e2ff
+h4t3e2if
+h4t3ein
+h4t3eis
+h4t3er1h8
+h4t3ex
+h5an1th
+h5e6he.
+h5l6er.
+h5lai
+h5r6aum
+h5ta.
+h5tab
+h5tanz
+h5taub
+h5tüm
+h5uhr.
+h5up.
+h5weib
+h6enen
+h6jo
+h6ne2tz
+h6ns
+h6rum
+h6s5a2m1t
+h6s5ec
+h6s5er1l
+h6t5ersc
+h6te2mp
+h6ter1fü
+h8a8ß
+h8l1c
+h8lin1f
+h8r1g2
+h8r4ei.
+h8rank
+h8re2r1t
+h8sp8aß
+h8spel
+h8te1se
+h8teim
+h8ten2t1f2
+h8ter1gr4
+h8terst
+h8tess
+ha1b8r
+ha1d
+ha1de
+ha1la
+ha1na
+ha2ft
+ha2lb
+ha2n1d
+ha2t1h
+ha5el.
+ha5ro
+ha6r1m
+ha8del
+hade4n
+haf6tr6
+hal4b5a
+han1ge
+han6dr4
+han6ge.
+hau1sa
+hau6san
+he1b
+he1d
+he1f
+he1he
+he1me
+he1ne
+he1ro
+he1sp2
+he1st
+he1ta6
+he1xa
+he2bl8
+he2k1t
+he2nu
+he3cho
+he3i2s1m
+he4r3um
+he4s1pe
+he5d6s
+he5i2st.
+he5rak
+he5th
+he6ll
+he6mer
+he8q
+he8ro8b
+hec8h
+hei1d
+hei2t8s3
+hei8ds
+hek6ta
+hel1la
+hel8lau
+hen1tr6
+hen5e2n1d
+hen5klo
+hen6tri
+henkl8
+her1b
+her1ze
+her3ab
+her3an
+her3au
+her6z5er
+het5am
+heu3sc
+hey5e
+hgol8
+hi1k
+hi1sp2
+hi1th
+hi2e6r5i
+hi2nu
+hi2rn
+hi5k1t
+hi5nak
+hi5ob
+hi5tr6
+hil1a2
+hil1f
+hil4fr6
+hin4ta
+hir5n5e
+hir6ner
+hl8am
+hla2b1b4
+hla4ga
+hla6gr4
+hme5e
+hn3eig
+hn5sp2
+hne4p3f
+hne8n
+ho1la
+ho1ra
+ho2rn
+ho3s1l
+ho4l3ar
+ho4spi
+hoc8h1
+hoh1le
+hoh8lei
+hos1p2
+hpi6
+hr1c
+hr1c6r
+hr1z
+hr2t1h
+hr5i6ns
+hr6t5er1l
+hr6t5ra
+hr8tri
+hrcre8
+hrtr6
+hs1pe
+hs1pu
+hs3ac8h
+hs3u2n1d
+hs6p2o
+hs8erle
+ht1ak
+ht1ar
+ht1at
+ht1he
+ht1sc
+ht1se
+ht3ac
+ht3ang
+ht5hu
+ht5rak
+ht6sex
+ht8s1k2
+ht8so
+hte1f
+hte1re
+hte2r1s
+hte8r1g
+hte8ren
+hter1f4
+htr6
+hts3ah
+hu1le
+hu6b5r
+hu6hr
+hu6ld
+hu8lent
+hu8lä
+hub5l8
+huh1l
+huld5a6
+hä1k
+hä1ma
+hä1sche
+hä2l8s
+hä2t1s
+hä8kl8
+hä8sche.
+häm6a8tu8
+häsc8h
+häu4s3c
+hö6s
+hös5c
+hü2ls
+hü2t1t
+hüh1ne6
+hül4s3t
+hütte8re
+i1a2l1g
+i1a2l1t
+i1a2lb
+i1a2ls
+i1a2s1m
+i1a6l1k
+i1a6l1p
+i1a6ld
+i1a6ll
+i1a8l1r
+i1af
+i1al.
+i1al1a
+i1al1f
+i1al1v
+i1an.
+i1ang
+i1ant
+i1anz
+i1ar.
+i1as.
+i1ass
+i1at.
+i1au
+i1be
+i1br
+i1bu
+i1bü
+i1che
+i1chi
+i1cho
+i1chu
+i1d
+i1de
+i1di
+i1e2n1d
+i1e2t1t
+i1e4lek
+i1ei
+i1en.
+i1en1p2
+i1en1r
+i1enz
+i1fa
+i1fre
+i1ga
+i1gr4
+i1ha
+i1he
+i1hi
+i1hu
+i1j
+i1k
+i1ka
+i1ku
+i1lag
+i1lau
+i1le
+i1li
+i1lo
+i1lu
+i1lä
+i1ma
+i1me
+i1mi
+i1mu
+i1mä
+i1n2ah
+i1nat
+i1ne
+i1ni
+i1no
+i1när
+i1nös
+i1o6n2s1
+i1o8x
+i1ol.
+i1om.
+i1on.
+i1ont
+i1or.
+i1os.
+i1ot.
+i1p2l8
+i1pa
+i1pi
+i1pr6
+i1q
+i1ra
+i1re
+i1ri
+i1ro
+i1sa
+i1sam
+i1sche
+i1se
+i1si
+i1so
+i1sta
+i1sto
+i1stu
+i1ta
+i1te
+i1thi
+i1tho
+i1ti
+i1to
+i1tri
+i1tu
+i1tä
+i1tü
+i1u
+i1ve
+i1w
+i1xe
+i1z
+i1ze
+i1zi
+i1ße
+i1ä6r
+i1ö8
+i2c2ks
+i2ch1n6
+i2cht
+i2d1t
+i2e1re
+i2e1ru
+i2erei
+i2ff
+i2ft
+i2g3rot
+i2gs
+i2l1t
+i2m1b2
+i2m1m
+i2n1d
+i2n1ei
+i2r1s
+i2rn
+i2rr
+i2s1au
+i2s1tal
+i2s1tol
+i2s1tor
+i2t1a2m
+i2t1m8
+i2t1t
+i2ts
+i2tz
+i2vob
+i3a2n1d
+i3a6l1h
+i3alz
+i3ank
+i3e6ll
+i3en1f
+i3ern.
+i3oral
+i4blis
+i4l3ipp
+i4s3er1h8
+i4t5ab.
+i4t8hä
+i5a2d1n6
+i5a2l1w
+i5a2rr
+i5a2st.
+i5a2ts
+i5a2z1z
+i5ak.
+i5alei
+i5ann
+i5en1v
+i5enn
+i5ensa
+i5f6lie
+i5gla
+i5go
+i5lac
+i5las
+i5mö
+i5nec
+i5ny
+i5o8p1t
+i5on1b2
+i5ops
+i5orc
+i5r6us
+i5ry
+i5rä
+i5s1ty1
+i5sö
+i5t6hr6
+i5xa
+i5ät.
+i5äv
+i6a1p2o
+i6b1r2ig
+i6b5ei1s
+i6b5eig
+i6b5unt
+i6büb
+i6ch3m
+i6ch5ei
+i6ch5i6ns
+i6cher1b
+i6diot
+i6fau
+i6h1r
+i6k5unt
+i6kak
+i6kes
+i6ll
+i6ns
+i6r1m
+i6sar
+i6v5e1ne
+i6va1d
+i6z5w8
+i6ß5e2r1s
+i8ch1w
+i8gess
+i8ha6ns
+i8ham
+i8hum
+i8kerz
+i8lel
+i8ma2r1t
+i8me1le
+i8mi1d
+i8ner1w
+i8s5tum
+i8s6chei
+i8sa2m1t
+i8scheh
+i8si2n1d
+i8ta1x
+i8tersc
+i8ti8d
+i8tof
+i8vei
+i8ver1h8
+i8vur
+i8zir
+ia1d
+ia1le
+ia1n8e
+ia1ra
+ia1z
+ia5na
+ia6rab
+ia8ne8b
+ib1li
+ib2le
+ibl8
+ic2k
+ic5l
+ic8h
+ich1l6
+icht3r6
+icht5an
+ick6s5te
+ickst8
+id2io
+id3a6r1m
+id5rec
+ide5rö8
+ide8na
+idr4
+ie1a
+ie1b
+ie1b1r
+ie1ba
+ie1be
+ie1d
+ie1e8
+ie1f
+ie1le
+ie1n6e
+ie1r8er
+ie1sc
+ie1ta
+ie1te
+ie1tr6
+ie2bl8
+ie2dr4
+ie2f1l
+ie2f1t
+ie2f5f
+ie2rn
+ie4bre
+ie4fro
+ie4l3ec
+ie4rap
+ie4rec
+ie5o
+ie5the
+ie5un
+ie6b5ar
+ie6f5a1d
+ie6ns
+ie6r5ein
+ie6r5eis
+ie6s5che
+ie6t5ri
+ie6tau
+ie8bra
+ie8bä
+ie8lei
+ie8ru2n1d
+ie8rum
+ie8te2r1t
+iebe4s3
+iefr6
+ien1ne
+ien1sta
+ien6ne.
+ien8stal
+ier3a4b
+iesc8h
+iex5
+if1fr6
+if1li
+if5ang
+if5lac
+if6t5r6
+ifr6
+ift5a
+ig2ni
+ig3a2r1t
+ig3s2p2
+ig5he
+ige1s
+ign8
+ih1n
+ih1w
+ii2s
+ii2t
+ik4ler
+ikl8
+il1f
+il1le
+il2fl
+il2ip
+il3a6ns
+il6auf
+il6l5enn
+ile8h
+ilt8e
+im1me
+imme6l5a
+in1au
+in1de
+in1du
+in1f
+in1fe
+in1ge
+in1h
+in1kä
+in1na
+in1sp2
+in1str6
+in1te
+in1äs
+in2gs
+in3o4ku
+in3the
+in4d3an
+in5sau
+in5t2r6
+in5öd
+in6ie
+in8kät
+in8nan
+ina5he
+inau8s
+ind2r4
+ing5s6o
+ing8en
+ini5er.
+ino1k
+inoi8d
+ins1ti
+ins1z
+ins4ze
+inä2
+inö8
+io1a8
+io1c
+io1d
+io1de4
+io2di
+io3rat
+ioi8
+ir1b
+ir1me
+ir1na
+ir2m1o2
+ir5rho
+ir6bl8
+ir6sc6h5r
+ir6schl6
+ir8me8d
+ir8nak
+irr1h8
+irsc8h
+is1k2
+is1k2o
+is1p2o
+is2on
+is2s3te
+is3e2rr
+is4kop
+is6ch5m
+is6por
+is8e1le
+isc6h3r
+isc8h
+ischä8
+ise3ra
+isi1d
+isi6de
+iso1n5e
+isp2
+it1me
+it1sc
+it1ze
+it2se
+it3ran
+it3rau
+it5spa
+it6z1w8
+it6z5e8r1g
+it8tru
+ite2r1s
+iti1k
+iti6kl8
+itmen4
+itr2i5o
+itr6
+itsp2
+ittr6
+itä2ts5
+itä6r5e8
+ität2
+iu6r
+iv2a1ti
+iva8tin
+iver1
+iwi2
+ize8n
+iä8m
+iü8
+j2uc
+ja5la
+je2t3r6
+jo1ra
+jo5as
+jou6l
+ju1ge
+ju5cha
+juc8h
+juge2n1d5
+jugen4
+jun2g5s6
+k1ler
+k1li
+k1ma
+k1ne
+k1q
+k1sa
+k1sal
+k1sam
+k1sc
+k1se
+k1spi
+k1spr6
+k1su
+k2if
+k2io
+k2lim
+k2lin
+k2ni
+k2s1ex
+k2s1uf
+k2t1h
+k2t1s
+k2t3rec
+k2uc
+k3en2t1f2
+k3leib
+k3lek
+k3lor
+k3man
+k3ou
+k3u6hr
+k4e8lo
+k5ente.
+k5erlau
+k5lag8er
+k5s1pe
+k5spat
+k6sab
+k6san
+k6ui
+k8a6pl8
+k8sa2m1t
+k8sp2il
+k8tein
+k8tin1f
+ka1la
+ka1na
+ka1ro
+ka1rä
+ka1si
+ka1te
+ka2m5t
+ka2r1t
+ka2t1t
+ka5r6a
+ka6l5d
+ka6te1b
+kac8h
+kar1b
+kar1p
+kar6p5f
+kasi5e
+kat8ta
+kau2f6s
+kau3t2
+ke1la
+ke1le
+ke1ra
+ke6hr
+ke6lar
+ke8leis
+keh2r6s
+kehrs5a
+ken1te
+ker1l
+ki5fl
+ki5os
+ki5sp2
+ki5th
+kin2g6s5
+kl8
+kla1ge
+kle1b
+kle4br
+kle5isc
+kma1ni
+kman6i5e
+kn8
+knä8
+ko1a2
+ko1d
+ko1de
+ko1i
+ko1mi
+ko1op
+ko1or
+ko1ph
+ko2ts
+ko3ra
+ko5ru
+ko5t6sc
+ko6de.
+ko6min
+ko6pht2
+ko8rd
+koi8t
+kor1de
+kor6d5er
+kre5i1e
+ks1p2o
+ks6por
+ksa2l8s
+ksp2
+kst8
+kt5a6re
+kta8l
+kte8re
+ktr6
+ku1c8h
+ku1ra
+ku1ta
+ku2m2s1
+ku2s1to
+ku4ro
+ku5ie
+ku6n2s
+ku8rau
+ku8ß
+kuc2k8
+kun1f
+kun2ft
+kunf2ts5
+kunst3
+kurz1
+ky5n
+kä1se5
+kä4m
+kö1c
+kö1s
+kü1c
+kü2r1s
+kür6sc
+l1ba
+l1be
+l1bi
+l1che
+l1chi
+l1de
+l1dü
+l1f
+l1ge
+l1k2o
+l1la
+l1le
+l1ler
+l1li
+l1lo
+l1lu
+l1lä
+l1mo
+l1na
+l1no
+l1ph
+l1q
+l1sa
+l1sc
+l1se
+l1sp2
+l1str6
+l1su
+l1sü
+l1t5u2ms
+l1u6hr
+l1v
+l1ve
+l1ze
+l1zo
+l1öl
+l2a1re
+l2a1t8i
+l2erei
+l2i1v
+l2il
+l2ip
+l2ks
+l2l1b
+l2l1t
+l2ls
+l2on
+l2p1t
+l2pst
+l2t1ho
+l2ts
+l3ar1be
+l3glie1d6
+l3u2r1t
+l3zwei
+l4b3i6ns
+l4d3ei
+l4e1mo2
+l4l3eim
+l4l3o2r1t
+l4l3u8r1g
+l4le1ti
+l4s3e2r1s
+l4t3ein
+l4t3hei
+l5blo
+l5cho
+l5l2ip
+l5lü
+l5o4fen
+l5s6la
+l5ten
+l6ch3m
+l6düb
+l6enen
+l6er.
+l6l1d6
+l6l5ei1se
+l6lüb
+l6m5o6d
+l6o1se
+l6s1a6r1m
+l6s5e8r1g
+l6t5a2mp
+l6t5eng
+l6t5er1p
+l6t5i6b
+l6ui
+l8ar.
+l8bab
+l8bauf
+l8be1de
+l8bs
+l8ch5w
+l8che2r1t
+l8en.
+l8er1gr4
+l8gh
+l8keim
+l8kj
+l8l1c
+l8la2b1t
+l8o1g
+l8p1n
+l8pho
+l8s1h
+l8sec
+l8su1ni
+l8trö
+l8zess
+l8zo8f
+la1b2r
+la1d
+la1ke
+la1me
+la1na
+la1sc
+la2f5t
+la2gn8
+la2mp
+la4r4af
+la5ra
+la6mer
+la6r1m
+la6r5a6s
+la8dr4
+la8rag
+la8ran
+la8rei
+la8sa
+la8sta
+lac6h3r
+lac8h
+lam1pe
+lan1m
+lan4d3a
+lan4d3r4
+lan4gr4
+lap6pr6
+lap8p1l8
+lar1b
+lb1sta
+lbe1d
+lbl8
+lbs1t3e
+lbst5an
+lc8h
+ld1re
+ldr4
+le1b
+le1br
+le1d
+le1f
+le1ga
+le1le
+le1ler
+le1ne
+le1re
+le1se
+le1si
+le2bl8
+le2cht
+le2k1t
+le2n1d
+le2t1s
+le3s1k2o
+le3th6a
+le4gas
+le4r3er
+le5xe
+le6l5e2r1s
+le6p2ip
+le6rk
+le8bre
+le8in1f
+le8ne2n1d
+le8rd
+le8re2n1d
+le8reis
+lec8h
+lech2t6s5
+led2r4
+lei6br
+len1du
+len8er1w
+ler1b
+ler1zi
+les1k2
+lesi5e
+leu4s3t
+lg1li
+lg2lie3
+lge2n1d8
+li1ar
+li1as
+li1d
+li1en
+li1g6n8
+li1ga
+li1l8a
+li1na
+li1sa
+li2n1d
+li5en6n
+li8dr4
+li8e2r1s
+li8e2r1t
+li8ga8b
+lin2gs5
+lin2k4s3
+livi5e
+lk2l8
+lk2sa
+lk2se
+lko8f
+lkor8
+ll1sp2
+ll3a4be
+ll5o1v
+ll6spr6
+ll8an5l6
+ller3a
+llte8
+lo1fe
+lo1ge
+lo1pe
+lo1ra
+lo1ru
+lo1si
+lo1v
+lo1wi5
+lo6br
+lo6ve
+lo8sei
+loc8h
+lp2f
+lp4s3te
+ls1l
+ls1p2o
+ls2pu
+ls4por
+lt1sc
+lt1se
+lt2i1l
+lt3her
+lt4s3o
+lt6s1er
+ltr6
+lu1d
+lu1en8
+lu1ni
+lu1te
+lu1to
+lu2dr4
+lu2ft
+lu2t1r6
+lu3the
+lu4sto
+lu5it
+lu5ol
+lu6g5r4
+lu6st5re
+lu6t5e6g
+lu6t5or
+lu6tal
+lu6ß5
+lu8br
+lu8su
+lu8te8r1g
+luf8tr6
+luft3a
+lus1tr6
+lv2e5r6u8
+lver1
+ly1no
+lya6
+lz5wu
+lzw8
+lä2t1s
+lä5on
+lä5v
+lä6sc
+läu6s5c
+lö1ß6t
+m1b6r
+m1ma
+m1me
+m1n8
+m1o6ns
+m1p2o
+m1pa
+m1ph
+m1pi
+m1pl8
+m1pr6
+m1pu
+m1pö
+m1sc
+m1str6
+m2ds
+m2il
+m2m1n8
+m2ms
+m2on
+m2plu
+m2t1h
+m2ts
+m3spri
+m5ni
+m6m5ak
+m6ma1d2
+m8a1lu8
+m8men2t1w
+m8menth
+m8män
+m8o1g
+m8tein
+ma1d2
+ma1g8n8
+ma1la
+ma1li
+ma1ni
+ma1r4o
+ma1sc
+ma1tö
+ma2n1d2
+ma2r1s
+ma5chan
+ma5el
+ma5yo
+ma6l5d
+ma6ns
+ma6rk
+ma8lau
+ma8lut
+mac8h
+mali5e
+man2i5o
+man3ds
+mar1b
+mar8kr8
+mar8s6ch2m
+marsc8h
+md6sä
+me1c8h
+me1ra
+me1ro
+me1se
+me1ta
+me1th
+me2ls
+me2n1d
+me5isc
+me5nal
+me6ns
+me6s5ei
+me8r1g
+me8ß
+mel8sa
+men1sc
+men2t1s
+men4dr4
+men8s8chw
+men8schl6
+mensc8h
+mer4gl
+meta3s2
+mi1a
+mi1la
+mi1na
+mi1sa
+mi4s3an
+mi5nü
+mi5t6ra
+mi6a1le
+mi6ß5
+mit1h
+mitr6
+mitta8
+mm5sp2
+mm5u2ms
+mme6ra
+mmu2t5s
+mo1d
+mo1ga
+mo1k
+mo1no
+mo1pa6
+mo1ra
+mo1sc
+mo1sp2
+mo2n1d
+mo4dr4
+mo4kla
+mo4n3o1d
+mo5ar
+mo6l5d
+mo8gal
+mo8rd
+mok2l8
+mon1t8a
+mon2s1tr6
+mon8do
+mor8d5a
+moy5
+mp1t
+mp2li
+mp8th
+mpf3l
+mpfa6
+mphe6
+mpin6
+mpo8s1te
+mprä5
+mpu5ts
+mput6
+ms5au
+ms6p2o
+msc8h
+msch4l6
+msp2
+mspr6
+mt1ar
+mt6se
+mt8sä
+mu1mi1
+mu1se
+mu1ta
+mu2n1d
+mu5e
+mun6dr4
+muse5e
+mvo6ll3
+mvol2
+mä1k
+mä1s
+mä5tr6
+mä6kl8
+mäu4s3c
+mö1b2
+n1a2k1t
+n1a2mp
+n1a2n1d
+n1a6ns
+n1a8b1s
+n1a8b1z
+n1afr6
+n1b2
+n1ba
+n1c
+n1de
+n1do
+n1du
+n1f
+n1ga
+n1ge
+n1gr4
+n1gu
+n1gy
+n1gä
+n1h
+n1j
+n1k2n8
+n1ka
+n1ke
+n1ki
+n1kr8
+n1ku
+n1kü
+n1li
+n1m
+n1me
+n1na
+n1ne
+n1ni
+n1no
+n1nu
+n1ny
+n1nä
+n1nö
+n1nü
+n1o4ram
+n1ony
+n1p2
+n1q
+n1r
+n1s2pe
+n1sac
+n1sc
+n1se
+n1si
+n1spr6
+n1sta
+n1sto
+n1str6
+n1ta
+n1tag
+n1te
+n1ti
+n1to
+n1tr6
+n1tu
+n1tä
+n1tö
+n1tü
+n1v
+n1za
+n1zi
+n1zo
+n1zu
+n1zw8
+n1zwi
+n1öl
+n2d1ak
+n2d1ei
+n2d1j
+n2d1n6
+n2ds
+n2dt
+n2erei
+n2f5f
+n2ft
+n2g1g2
+n2g1um
+n2gs
+n2i1ge
+n2il
+n2k1t
+n2ks
+n2t1l
+n2t1m8
+n2t1s
+n2t1z
+n2t3a2r1t
+n2t3a6rk
+n2t3o4ti
+n2t3rec
+n2z1ar
+n3aug
+n3ther
+n3thus
+n4t3a4go
+n4t3eis
+n4t3rin
+n4t3rot
+n4trü
+n5a6uk
+n5ab.
+n5klö
+n5l6
+n5u1ri
+n5ärz
+n5ö2z
+n6a5um
+n6and.
+n6ch5m
+n6d5a6ns
+n6d5o2r6t
+n6g5d
+n6glic
+n6i1k
+n6ie
+n6is
+n6ji
+n6k5in1h
+n6küb
+n6os
+n6s5tat.
+n6se6rk
+n6stob
+n6ui
+n6z5a6b
+n6z5unt
+n6zaus
+n6zwir
+n8a6rk
+n8a8rd
+n8ar1v
+n8derhi
+n8du2m1d
+n8ers.
+n8g5ac
+n8gäl
+n8k5not
+n8ka1d
+n8kerla
+n8krü
+n8kuh
+n8ne8r1g
+n8o1ni
+n8s5er1f
+n8se8r1g
+n8sel1f
+n8sint
+n8tin1h
+n8töl
+n8zof
+n8äl
+na1ch3e
+na1k2o
+na1m2n8
+na1me
+na2c
+na2ra
+na2ts
+na4kol
+na4mer
+na5el
+na6bä
+na8ha
+na8ho
+nac8h
+nal1a
+nan6ce
+nat6s5e
+nbau5s
+nc8h
+nche5e
+nd1ni6
+nd1sa
+nd1sam
+nd1st
+nd2s1te
+nd3rec
+nd3rot
+nd6sau
+nd8sa2m1t
+nda8d
+nde1la
+nde1sta
+nde2ls
+nde4se
+nde8lac
+nde8stal
+ndel6sa
+nder1h8
+ndn6is5
+ndr4
+ndt1h
+ne1b
+ne1g4l
+ne1le
+ne1ne
+ne1ra
+ne1re
+ne1si
+ne2bl8
+ne2r1s
+ne2r1t
+ne5as
+ne5en
+ne5r8al
+ne8ras
+ne8rd
+nen1a
+nen3k
+ner1b
+ner1de
+ner1f
+ner1fo
+ner1h8
+ner1l
+nere5i6d
+nerfor6
+nertr6
+nesi3e
+net1h
+neu4ra
+neu5sc
+nf1li
+nf2l
+nf2ts
+nf5lin
+nfl8e
+nflei8
+nft8st
+ng1h
+ng1li
+ng2se4
+ng2si
+ng3r2ip
+ng8en
+ng8ru
+nge1ra
+nge8ram
+nhe6r5e
+ni1bl8
+ni1d
+ni1de
+ni1en
+ni1la
+ni1ni
+ni1th
+ni1tr6
+ni5chä
+ni5na
+ni8de1e
+ni8e2t1n
+ni8nit
+nic8h
+nie6s5te
+niet5h
+nis1tr6
+nk3rot
+nk5a6ns
+nk5s1p2o
+nk6t5r6
+nker1l
+nkl8
+nksp2
+nli4mi
+nme6n4s
+nn1ta
+nn2i5o
+nn4t3ak
+nnt1h
+nnu1e
+no1bl8
+no1che8
+no1d
+no1di
+no1le
+no1ma
+no1pe
+no1st
+no1ta
+no1te
+no1ty1
+no3ra
+no4b3la
+no4dis
+no4mal
+no5a
+no5isc
+no6die
+no8ia
+no8rd
+no8tan
+no8ter
+noc8h
+non6ie
+noni6er
+nop1t
+nor6da
+noty6pe
+nrös3
+ns3ang
+ns5er1w
+nsp2
+nt1h6a
+nt1me
+nt2e6rei
+nt2s1k2
+nt5an1h
+nt5hie
+nt6har
+nt8rea
+nt8rep
+nt8rop
+nte1ne
+nte1re
+nte5n6ar
+nte8nei
+nter3a
+nti1c
+nti1t
+ntlo6b
+ntmen8
+ntra5f
+ntra5ut
+nts6an
+nu1a
+nu3s1kr8
+nu5el
+nu5en
+nu5ie
+nu5ta
+nus1k2
+nzi4ga
+nä6m
+nä6re
+o1a2m
+o1an
+o1ba
+o1be
+o1bl8
+o1che
+o1d
+o1de
+o1e1f
+o1e2l
+o1e2p
+o1er.
+o1fa
+o1fr6
+o1ha
+o1he
+o1hi
+o1ho
+o1hu
+o1hy
+o1hä
+o1i2s1m
+o1id.
+o1j
+o1k
+o1kla
+o1la
+o1le
+o1le1r
+o1lo
+o1lu
+o1ly
+o1ma
+o1me
+o1mu
+o1mun
+o1mä
+o1mö
+o1na
+o1ne
+o1no
+o1nä
+o1pa
+o1pe
+o1pi
+o1pl8
+o1pr6
+o1pä
+o1q
+o1r6us
+o1ra.
+o1re
+o1ri
+o1ro
+o1ry
+o1rä
+o1s1k2
+o1sa
+o1sa3i
+o1so
+o1sta
+o1stu
+o1su6
+o1ta
+o1te
+o1th
+o1ti
+o1to
+o1tri
+o1tro
+o1tu
+o1v
+o1wa
+o1we
+o1wi
+o1wi1d6
+o1wo
+o1xe
+o1z
+o1ze
+o1zo
+o1ße
+o2b1li
+o2cht
+o2d1ag
+o2d1d
+o2dt
+o2ff
+o2k1t
+o2l1g
+o2l1s
+o2m1b
+o2mab
+o2ms
+o2n1a1x
+o2p1li
+o2r1t
+o2re2h
+o2rn
+o2rr
+o2s1o2d
+o2s1tul
+o2t1t
+o2t6h1r6
+o2ts
+o3chi
+o3chro
+o3chu
+o3i2st.
+o3m6an
+o3p4ter
+o3pf1li
+o3ra1d
+o3s4p8er
+o3stra
+o3t1su
+o4b2e1ru
+o4no2k1t
+o4stam
+o5ab.
+o5e6b
+o5e6der.
+o5e8x
+o5fla
+o5i2ds
+o5i6tu
+o5i8s2ch.
+o5ia
+o5p6n
+o5pö
+o5ras
+o5re.
+o5s6ze
+o5u6gr4
+o5wu
+o5yo
+o6ber1h8
+o6ch3m
+o6h5eis
+o6hr
+o6l1k
+o6ld
+o6ll
+o6n5er1b
+o6rang
+o6s5ur
+o6ske
+o6ski
+o6stau
+o6taus
+o6ter1w
+o6ui
+o6wer.
+o8ala
+o8bs
+o8ch1w
+o8chec
+o8i1di
+o8klä
+o8mau
+o8merz
+o8munt
+o8r1g
+o8r5ein
+o8ra2d1d
+o8rauf
+o8rd
+o8se6rk
+oa2l
+ob1ac
+ob5s1k2
+ob5s1z
+ob8sta
+obe1se
+obe4ra
+obe6ser
+obst5re
+obstr6
+oc6hr
+oc8h
+och1l6
+och3to
+oche8b
+ocho8f
+od1tr6
+od2dr4
+ode5i
+ode6n5e
+oe1d
+oe1de
+oe8du
+of1fa
+of6f5la
+of8fan
+of8fin
+og2n8
+oh1le
+oh1re
+oh1ru
+oh1w
+oh2ni
+oh4l3er
+ohl1a
+oi1d
+oi1se
+oi8dr4
+oisc8h
+oiset6
+ok2l8
+ok3lau
+ol1la
+ol1le
+ol2k2l8
+ol2k4s1
+ol2ster
+ol6gl
+ol6lel
+ol6s1k2
+ol8lak
+ol8lauf.
+ol8less
+old5am
+old5r4
+ole3u
+ole5in
+ols1te
+oly1e2
+om1be4
+om5sp2
+on1k
+on1na
+on2t1s8
+on6ie
+on6n5a6b
+on8ent
+ona8m
+oni5er.
+ono1c
+ono1k
+oo2pe
+oo2sa
+oo8f
+op1t
+op6p1l8
+op8er
+op8pa
+opf2l
+opf3lo
+opf3r6
+or1da
+or1de
+or1do
+or1f
+or1ge
+or1na
+or1r2h8
+or1ü2
+or2gl
+or2ie
+or4d3a4m
+or4dos
+or5cha
+or6enn
+or6t5an
+or8dei
+or8deu
+or8f1li
+or8fla
+or8nan
+or8nä
+or8tau
+or8te1re
+orc8h
+ore5isc
+ori1en
+os1n
+os1ni
+os1pe
+os1z
+os2k2o
+os2kl8
+os2kr8
+osn6i5e
+osp2
+ost3re
+ostr6
+ot1re
+ot1sc
+ot2t3h
+ot2t5r6
+ot3auf
+ot6t5e8r1g
+ot8tö
+othe5u
+oto1a
+otr6
+ou1ra
+ou1t6a
+ou3e
+ou5f6l
+ou5ie
+ou6rar
+ouf1
+oy1e
+oy1i
+oy5al.
+oza2r
+ozo3is
+oß1t
+oß5e2l1t
+oö8
+p1b
+p1fe
+p1g
+p1k
+p1li
+p1n
+p1pa
+p1pe
+p1pi
+p1t
+p1v
+p1z
+p2a1re
+p2f1ec
+p2f1f
+p2il
+p2io
+p2lau
+p2li1z
+p2p1h
+p2pst
+p2t1s
+p3lein
+p3w
+p4fei
+p5ho6ll
+p5pö
+p5schl6
+p5ä6m
+p6li1k
+p6p5ei
+p8er
+p8to8d
+pa1la
+pa1ni
+pa1no
+pa1th
+pa2r1t
+pa2s1se
+pa4nor
+pa4th6a
+pa6ce
+pa6n1s2
+pa6rk
+pa8na8t
+pa8rei
+pag2
+pan6ie
+pani5el
+pap8s
+par2o8n
+par5o6ti
+par8kr8
+part8e
+pas6sep
+pau3sc
+pe1ra
+pe1re6
+pe2t2s
+pe3rü
+pe4rem
+pe4sta
+pe5isc
+pen3k
+pen8to8
+per1ra
+per5e1b
+per5ea
+per8ran
+pf2l
+pf3lei
+pf3ta
+pf8leg
+pfl8e
+ph3th6a
+ph5e1me
+phi6e
+pht2
+phu6
+pi1en
+pi1la
+pi1na
+pi1s2k2
+pi1th
+pi5e2rr
+pi6ns
+pi8o1ni
+pion6i8e
+pl8
+plo1mi
+plo8min
+po1la
+po1ly1
+po1ra
+po2r1t
+po3ny
+po5rö
+po8lan
+por4t3h
+pp1l8
+pp1s
+pp2s1te
+pp5f
+pp5ren
+ppe6la
+ppp6
+ppr6
+pr6
+pro1te
+pro6t5a
+pro8p1t
+prote5i
+prä1te4
+prä3l
+psc8h
+pu1b2
+pu1d
+pu1re
+pu1ta
+pu2dr4
+pu2ff
+pu5s6h
+pu6n8s
+pu8rei
+puf8fr6
+py5l
+pä1de
+pä2t1s
+pä6der
+pä8nu
+pät5h
+qu6
+r1a2b1t
+r1a6r1m
+r1b
+r1bo
+r1br
+r1ce
+r1che
+r1da
+r1dac
+r1de
+r1di
+r1do
+r1dr4
+r1f
+r1fe
+r1ga
+r1ge
+r1go
+r1gr4
+r1h8
+r1k2n8
+r1ke
+r1ki
+r1ku
+r1kä
+r1l
+r1ma
+r1mi
+r1mo
+r1na
+r1no
+r1nä
+r1nü
+r1p
+r1pe
+r1q
+r1ra
+r1re
+r1rer6
+r1ri
+r1ro
+r1ru
+r1rä
+r1rö
+r1rü
+r1se
+r1sta
+r1v
+r1ve
+r1w
+r1x
+r1za
+r1ze
+r1zu
+r1öf
+r1ör
+r2cht
+r2g1ni2
+r2gs
+r2hy
+r2i1v
+r2ie
+r2if
+r2il
+r2io
+r2is
+r2it
+r2k1t
+r2ks
+r2ms
+r2on
+r2p1t
+r2ps
+r2s1h
+r2s1l
+r2s1te
+r2s1ti
+r2s1w
+r2s1z
+r2ts
+r2z1t
+r3an1gr4
+r3anal
+r3eint
+r3en1ni
+r3k2lin
+r3man
+r3o2r1t
+r3ry
+r4a1tr6
+r4ei.
+r4g3ret
+r4m3a1ph
+r4san1f
+r4t3er1h8
+r4t3hei
+r4t3int
+r4t5re2if
+r5atta
+r5au4sta
+r5ertr6
+r5erwec
+r5erö8
+r5li
+r5ne
+r5rhö
+r5t6hu
+r5tei
+r6a2n1d
+r6b1ler
+r6ch3m
+r6kuh
+r6m1an5l6
+r6n1h
+r6n5oc
+r6ne2if
+r6nex
+r6ns
+r6s1ka
+r6sab
+r6ski
+r6stauf
+r6t5u2n1d
+r6ui
+r6us
+r6z5al
+r6z5er1f
+r8a5pl8
+r8afa
+r8anz.
+r8bre2cht
+r8bs
+r8ces
+r8ch1w
+r8d1ap
+r8da2chs
+r8dir
+r8drau
+r8e1di
+r8fe8rd
+r8gah
+r8gob
+r8in1de
+r8in1sp2
+r8min1f
+r8mob
+r8s1k2o
+r8ster1w
+r8stran
+r8taut
+r8te1pe
+r8terla
+r8z1ar
+r8ze8rd
+r8zum
+ra1bl8
+ra1d
+ra1fe
+ra1li
+ra1me
+ra1te
+ra1th
+ra2br
+ra2dr4
+ra2g3n8
+ra2l5t
+ra2t1t
+ra4dan
+ra4f3er
+ra4t3ro
+ra5gla
+ra5or
+ra5ro
+ra6b1la
+ra6ns
+ra6t5he
+ra8li6ns
+ra8tei
+ral5am
+ran1de
+ran4dr4
+ran8der
+ran8g1li
+rans5pa
+ransp2
+rap1se
+rap6s5er
+rau1e
+rau1te
+rau2t5s
+rau8tel
+raue4n
+ray1
+rb1li
+rb4lie
+rb5lass
+rb6s5tä
+rbl8
+rbon6n
+rbrec8h
+rc6hr
+rc8h
+rch1l6
+rch3re
+rch3tr6
+rd2io5
+rd3ost
+rda5ro
+rdac8h
+rde5i6ns
+re1ak
+re1am
+re1as
+re1b
+re1be
+re1d
+re1f
+re1li
+re1on
+re1q
+re1q6ui5
+re1sc
+re1w
+re2mp
+re2r1t
+re2rn
+re2rr
+re2sa
+re3a2ls
+re3er
+re5i2mp
+re5u8ni
+re6am.
+re6bl8
+re6rk
+re8s6ch2m
+rec8h
+rech5a
+rei1e
+rei2ch6s5
+reic8h
+reli3e
+ren4zw8
+ren5a6b
+ren8gl
+requ6
+rer1b
+rer1h8
+rer1l
+rer1re
+rer1w
+rer4bl8
+rer5o
+resc8h
+rf1li
+rf4lie
+rg1se
+rg6ne
+rg8sel
+rge1b
+rge1s
+rge4bl8
+rge5na
+rgest4
+rgn8
+ri1ar
+ri1d
+ri1el
+ri1en
+ri1fa
+ri1fe
+ri1k
+ri1mä8
+ri1na
+ri1no1
+ri1nä2
+ri1o2d
+ri1ta
+ri1ve
+ri2d2g
+ri2n1d
+ri3er.
+ri3o6st
+ri3s1k2o
+ri5cha
+ri5ers.
+ri5la
+ri5o6c8h
+ri5s1v
+ri5tr6
+ri6e1le
+ri6fan
+ri6ns
+ri6ve.
+ri8ei
+ri8fer
+ri8fr6
+ri8kn8
+ri8spr6
+ric8h
+rie2g4s5
+rie2r1s
+rin1ne
+rin4ga
+rin6gr4
+rio1c
+ris1k2
+risp2
+rk1li
+rk3str6
+rk4t3an
+rk6to
+rke6hr
+rkeh2r6s5
+rkl8
+rkst8
+rkä4s3t
+rli1ne
+rline5a
+rm5sa
+rma4p
+rn1k
+rn1sp2
+rn2ei
+rna8be
+ro1be
+ro1c8h
+ro1d
+ro1e
+ro1he
+ro1in
+ro1ly
+ro1ph
+ro1s2p2
+ro1ta
+ro1tr6
+ro4tau
+ro5de
+ro5i1d
+ro5isc
+ro5s6w
+ro6be2rn
+ro6phan
+ro6ts
+ro8he2r1t
+roc2k
+rp2f
+rp8er
+rpe8re6
+rr1h8
+rr6hos
+rr8or
+rro8f
+rror5a
+rs1k2
+rs1wi3d4
+rs2kl8
+rs2p2
+rse5na
+rse6e
+rstr6
+rt1sc
+rt1se
+rt5e2i1ge
+rt6s1er
+rt6s5o
+rt6s5u
+rter1l
+rtr6
+ru1be6
+ru1en
+ru1ie
+ru2fs
+ru2n1d
+ru6sta
+ru6tr6
+ruf4st
+run1de
+run4d5r4
+run8der
+rus1tr6
+rven1
+rvi2c
+rz4t3h
+rz5ac
+rz8er1h8
+rä4s1te
+räu8sc
+rö1mi
+rö2sc
+rö5le
+s1a6r1m
+s1ap
+s1c6r
+s1ge
+s1h
+s1k2
+s1k2o
+s1ka
+s1kr8
+s1l
+s1n
+s1p2o
+s1pe
+s1ph
+s1pu
+s1q
+s1sche
+s1su
+s1te
+s1ti
+s1ty1
+s1z
+s1ze
+s1äug
+s2chn6
+s2e1ri
+s2erei
+s2i1f2
+s2il
+s2on
+s2pec
+s2pul
+s2s1b8
+s2s1to
+s2s1tr6
+s2s3chen
+s2s3d
+s2s3f2
+s2s3g2
+s2s3h
+s2s3k2
+s2s3l
+s2s3m
+s2s3n
+s2s3p8
+s2s3r
+s2s3s2
+s2s3ti
+s2s3v
+s2s3w
+s2s3z
+s2s5ec
+s2s5q
+s2st3hei
+s2sth
+s2ti4el
+s2ti8r
+s2tyl
+s3a4ben
+s3s2ter
+s3tral
+s4ce
+s4low
+s4peis
+s4ze2n1d
+s5an1b2
+s5angeh
+s5au2ff
+s6a1ph
+s6aur
+s6ch2m
+s6ke1le
+s6ki1z
+s6pe8r1g
+s6pes
+s8a1fa
+s8a1t8a
+s8ar.
+s8e2il
+s8er.
+s8he1w
+s8kj
+s8lal
+s8t1hi
+s8tro1ma
+sa1be
+sa1d
+sa1de
+sa1i2k1
+sa1la
+sa1to
+sa2bl8
+sa2l1t
+sa5fr6
+sa5ro
+sa6l1p
+sa6u5i
+sa8tom
+sac2k
+salz3a
+san1ge
+san2c
+sap5p6
+sc6hr
+sc8h
+sch3ta
+sch3tr6
+sch5a1me
+scha1d
+schl6
+scre6
+se1ap
+se1b
+se1be
+se1ei
+se1f
+se1ha
+se1la
+se1le
+se1ler
+se1ne
+se1r5inn
+se1re
+se1um
+se2lb4
+se3er1l
+se4lar
+se5an
+se5ec
+se5nec
+se6ben
+se6han
+se6r1m
+se8hi
+se8hö
+se8ler1l
+se8reim
+see5i6g
+sei1d
+sei5n6e
+sen3a2c
+serö8
+sfa6ll
+sfal1le
+sfal8ler
+sge5b2
+si1b
+si1d
+si1de
+si1en
+si1g2n8
+si1k
+si1ka
+si1la
+si1na
+si2cht
+si2kl8
+si2lb
+si4kin
+si5e2rr
+si5ru
+si5str6
+si6g5r4
+si8kau
+si8kü
+sic8h
+sich2t6s
+sie1ge
+siege6s5
+sik1i
+sil6br
+sin1ne
+sin5g1h
+sinne6s5
+ske8l6c
+skelc8h5
+slei3t
+so1c8h
+so1d
+so1fe
+so1lo3
+so1ra
+so2u5c
+so3un
+so4dor
+so5o8f
+so8r1g
+sp2
+sp8er
+spi4e
+spi6ns
+spl8
+spr6
+ss1te
+sse8nu
+ssi1ni
+ssin6i6s
+ssoi6r
+sss2t8
+st1h6a
+st1ho
+st3hei
+st5hu
+st5r6o1se
+sta3la
+sta4te
+stec8h
+sto6ll
+str6
+stu5a
+su1e
+su1ma
+su1ra
+su2b1
+su2fe
+su2m1f6
+su2r1t
+su8mar
+sup1p2
+sy1ne4
+sy2na
+sy5la
+syn1
+sze1ne
+sü8di
+t1he1b
+t1hum
+t1hü
+t1i2n1d
+t1rüc
+t1rüs
+t1sac
+t1sal
+t1se
+t1si
+t1so
+t1st
+t1sta
+t1sto
+t1su
+t1ze
+t1zo
+t1zu
+t1zä
+t2erei
+t2i1ge
+t2i1v
+t2il
+t2o6ns
+t2s1te
+t2s1th
+t2s1u8n
+t2s1uf
+t2s1ur
+t2ts
+t3a6ns
+t3ab1sc
+t3arti
+t3eu1ro
+t3heit
+t3hel1f
+t3him
+t3rahm
+t3re1v
+t3rec8h
+t3s2te2rn
+t3sc6hr
+t3ü4ber1
+t4re.
+t4s3int
+t4s3tor
+t4se6rk
+t4z3um
+t5a8n1w
+t5au2f1b2
+t5au8s1l
+t5e6sel
+t5einhe
+t5eisen
+t5erbe.
+t5erde.
+t5h1j
+t5hah
+t5he2il
+t5hob
+t5hof
+t5roß
+t5s6por
+t5schä
+t5u6hr
+t5ä2l1t
+t5öffen
+t6a1ba
+t6chu
+t6ra6ns
+t6ric2k
+t6s5a2l1t
+t6s5tanz
+t6sprei
+t6stit
+t6u1i
+t6z5ei.
+t6zor
+t6zäu
+t6ü5b8er.
+t8erscha
+t8ou
+t8rec2k
+t8ree
+t8rink
+t8s1h
+t8ser1f
+t8sum.
+t8zec
+t8än
+ta1b2l8
+ta1br
+ta1d
+ta1de
+ta1ge
+ta1ler
+ta1me
+ta1ni
+ta1nu6
+ta1ra
+ta1ro
+ta1sc
+ta1si
+ta2d2t1
+ta2d6s
+ta2gs
+ta2k1t
+ta2n1d
+ta2s1ta
+ta5ir.
+ta6b1re
+ta6der
+ta6ga6
+ta6l5e2r1t
+ta6si1en
+ta8ban
+ta8gei
+ta8leng
+ta8rau
+ta8s1to
+ta8stem
+taa2t2s3
+taba6k
+tac8h
+tag6s5t
+tage4s
+tah8
+tahl3
+tai1ne
+tai6ne.
+tak8ta
+tal3au
+tam1pe6
+tan2ds
+tan5d6a
+tan6i5e
+tan8dr4
+tan8zw8
+tand1s5a
+tar1b
+tas1te
+tc8h
+te1b
+te1be
+te1f
+te1gr4
+te1ha
+te1la
+te1le
+te1ma
+te1ne
+te1pl8
+te1re
+te1rer
+te1se
+te1xa
+te2am
+te2r1s
+te2rn
+te2rr
+te2s1ta
+te2s3ti
+te3ral
+te4g3re
+te4hel
+te4lar
+te5id.
+te6hau
+te6man
+te6n5ag
+te6ns
+te6p1li
+te6rk
+te8ben
+te8lam
+te8rd
+te8re2r1s
+te8stau
+te8x1t
+tea4s
+tec8h
+tei1d
+tei1se
+tei8gr4
+teig5l
+ten1s4p2
+ten1tr6
+ten5k
+ten8er1w
+ten8tro
+ter1b
+ter1ba
+ter1be
+ter1de
+ter1f4
+ter1h8
+ter1kl8
+ter1no
+ter1re
+ter5a6b
+ter5au
+ter5e1be
+ter5ein
+ter6re.
+ter8nor
+tere1b
+tersc8h4
+tex3e
+tex6ta
+th1n
+th6a
+thop1t
+ti1a2m
+ti1b
+ti1en
+ti1k
+ti1ve
+ti3spa
+ti5lat
+ti5str6
+ti5tr6
+ti8gerz
+ti8kin
+ti8vel
+ti8vr
+tie1f
+tie1fe
+tie6fer
+tig3l
+tin4k3l8
+tisp2
+tl8a
+to1d
+to1de4
+to1e
+to1fe
+to1in
+to1me
+to1pe
+to1ra
+to1s
+to1s1k2
+to1tr6
+to2s1te
+to3cha
+to4p8er
+to6ll
+to6s1ka
+to8del
+to8du
+to8me1ne
+toc8h
+toi6r
+tos2l
+tr2ie
+tr2io
+tr2on
+tr5ü3bu
+tr6
+tr6e6t5r6
+tr8afa
+tra2f5t
+tra3sc
+tra5cha
+tra6gl
+tra6gr4
+tra6st
+tra8far
+trac8h
+tri1z
+tri1zi5
+tri6er
+tri6o5d
+tro1a
+tro1ma
+tro3m6an
+tro3ny
+tro5i8d
+tro8man.
+troc2k
+trocke6
+trut5
+ts1ab
+ts1ak
+ts1an
+ts1ar
+ts1er
+ts1p2o
+ts1ti
+ts3auf
+ts3ent
+ts5ort.
+tsa8d
+tsc8h
+tse1e5i
+tse6e
+tsei6n6s
+tso2r1t
+tsp2
+tspr6
+tt1h6a
+tt1sc
+tt1se
+tt5e2if
+tt5s6z
+tt8ret
+tt8s1er
+tte6sa
+ttr6
+tu1re
+tu4r3er
+tu5ra
+tu6it
+tu6rau
+tu6re.
+tuc8h
+tuch5a
+ty6a
+ty8la
+tz1an
+tz1ar
+tz5al
+tzeh6
+tzehn5
+tä1re8
+tö2ff
+töf5fe
+tü1b6e2
+u1au
+u1ba
+u1bi
+u1br
+u1bü
+u1che
+u1chi
+u1chu
+u1d
+u1ei
+u1er
+u1fa
+u1fe
+u1ga
+u1ge
+u1go
+u1ha
+u1he
+u1hi
+u1ho
+u1hu
+u1hä
+u1hö
+u1ig
+u1j
+u1k6n8
+u1ke
+u1ki
+u1kl8
+u1la
+u1le
+u1lo
+u1lu
+u1lä
+u1lö
+u1mo
+u1mu
+u1n1a
+u1ne
+u1ni
+u1no
+u1p2l8
+u1pa
+u1pi
+u1pr6
+u1q
+u1ra
+u1re
+u1ri
+u1ro
+u1ru
+u1ry
+u1rü
+u1sa
+u1sag
+u1sche
+u1se
+u1sta
+u1su
+u1tal
+u1tan
+u1tas
+u1te
+u1ti
+u1to
+u1tr6
+u1tu
+u1u
+u1v
+u1ve
+u1w
+u1xe
+u1yi
+u1ze
+u1ße
+u2bab
+u2ch5n6
+u2cht
+u2est
+u2f1ei
+u2ff
+u2fs
+u2ft
+u2l1t
+u2m1f6
+u2m1l
+u2mp
+u2n1d
+u2n1ec
+u2p4s3t
+u2r1s
+u2r1t
+u2r1u6r
+u2rn
+u2s1ar
+u2s1au
+u2s1ei
+u2s1uf
+u2ts
+u2tz
+u2z1eh
+u3a2n1d
+u3a6l1h
+u3a6l1p
+u3al.
+u3an.
+u3i6ns
+u4f3ent
+u4st3a4b
+u4t3hei
+u4tent
+u5a2lb
+u5a6l1k
+u5a6ns
+u5al1f
+u5ar.
+u5bö
+u5i8s2ch.
+u5ky
+u5mö
+u5os.
+u5rö
+u5ya
+u5ö
+u6b5r2it
+u6ch3m
+u6ch5ec
+u6e1la
+u6ep
+u6gap
+u6hr
+u6ld
+u6ll
+u6ln
+u6ns
+u6r1m
+u6r5a6ns
+u6rak
+u6rana
+u6terin
+u8bs
+u8büb
+u8ch1w
+u8e1sc
+u8e1v
+u8fer1h8
+u8ga1d
+u8ga2b1t
+u8gn8
+u8klu
+u8mo8f
+u8n3eis
+u8r1g
+u8ra2t1t
+u8rap
+u8s1l
+u8schec
+u8su2rn
+u8teic
+u8ter1f4
+u8zer1h8
+ua1y
+ua5na
+ua6th
+ub6ie
+ubi5er.
+ubs2k2
+uc1k1a
+uc2k
+uc6h1r
+uc8h
+uch1l6
+uch5to
+ucht5re
+uchtr6
+uck5in
+ud4a
+ue1ne8
+ue1re
+ue1rer
+ue8rer1l
+uer1a
+uer5o
+uf1fr6
+uf1l
+uf1ra
+uf1re
+uf1rä
+uf1rü
+uf1s2p2
+uf1st
+uf2t1s
+ufr6
+uge1b8
+ugo3s4
+uh1le
+uh1re
+uh1w
+ui5en
+uin1te
+uin8tes
+uisc8h
+ul1la
+ul1le
+ul1ni8
+ul1v
+ul2ds
+ul2vr
+ul6lau
+ul6le6l
+ul6lo
+ul8lac
+uld8se
+ulo6i
+ult6a
+ult8e
+um1ph
+um8pho
+umu8s
+un1de
+un1du
+un1dü8
+un1f
+un1ge
+un1kr8
+un1p2
+un1v
+un2al
+un2d1ei
+un2d1z
+un2g2s1
+un2k5s
+un4d3um
+un4it
+un6at
+un8düb
+un8gä
+un8kro
+unau2
+une2b
+une2h
+unpa2
+uns2p2
+unvo6ll5
+unvol4
+up1t
+up2t1a
+ur1gr4
+ur1l
+ur1me
+ur1na
+ur1se
+ur2za
+ur3a2l5t
+ur3eig
+ur4s1k2
+ur5a6ri
+ur5a8b1s
+ur5ah
+ur5i6ns
+ur5ä6m
+ur6u5i6
+ur6zä
+ur8gri
+ur8nan
+ur8sau
+ur8sei
+ura8d
+urmen6
+urü8c2k3
+us2s3te
+us3tau
+us8chw
+usa4gi
+usc8h
+usch5wi
+use1ke
+use8kel
+ut1ac
+ut1ar
+ut1au
+ut1hu
+ut1s6p2
+ut1sa
+ut1st
+ut2e1ri
+ut5ho
+ut6stro
+uta8m
+uti1ne5
+uti6q
+uto5c
+utstr6
+utz5w8
+uve3r4ä
+uve5n
+uver1
+uy5e6
+uße1n5e
+uße6n
+v2e2ru8
+v2il
+v2or1
+v4a2t1r6
+v6re
+v8a6t5a
+va1te
+va8r8d
+va8tei
+ve1s
+ve2re2
+ve2s1te
+ve2s1ti
+ve2s1to
+ve2s3p2
+ve3xe
+ve8r1g8
+ver1
+ver5b
+verb8l8
+vi1g4
+vi1le
+vi1ru
+vi1tr6
+vi6el
+vi6ll
+vi8le8h
+vie6w5
+vil1le
+vil6le.
+vo1ri
+vo2il
+vo2re
+vo2ro
+vo6ll
+vo8rin
+voi6le
+vol1le
+vol8le2n1d
+vol8li
+w1d
+w1s1k2
+w5c
+wa2ff
+wa2l1t
+wa2n1d
+wa5la
+wa6g5n8
+wa6ld
+wa8ru
+waf5fe8
+wah8n
+wal1di
+wal6ta
+wal8din
+wan4dr4
+war4za
+we1f
+we1ge
+we2g1r4
+we2l2t
+we2r1t
+we2sp2
+we2t1t
+we6fl
+we6hr
+we6rat
+we6rk
+we8geng
+we8rd
+we8s4te2n1d
+we8str6
+we8stö
+weg3l
+weg5h
+weh1re
+weh6r5er
+weit3r6
+welt3r6
+wer1f
+wer4fl
+wer4ka
+wer4ta
+wer8ku
+wer8te6r1m
+wes1te
+wet8ta
+wi1k6
+wi2chs
+wi2dr4
+wi2m1m
+wi2n1d
+wic8h
+wich6s5t
+wie1d
+wie1de4
+wieder5
+wim6ma
+win4d3r4
+wisc8h
+wisch5l6
+wo1c
+wo1che6
+wo2r1t
+woc8h
+wol6f
+wor6t5r6
+wu1sc
+wu2n1d
+wu2t1
+wun1de
+wun6gr4
+wy5a
+wä1sc
+wä6r1m
+wär1me5
+x1ak
+x1an
+x1c
+x1erz
+x1g
+x1k
+x1m
+x1r
+x1s6
+x1z
+x2t1h
+x3a4men
+x3e4g
+x5ul
+x6tak
+x8ter1f4
+xa1me
+xe1ro
+xi8so
+xu1e
+y1b
+y1c
+y1d
+y1g
+y1j
+y1k2
+y1lak
+y1le
+y1lo
+y1na
+y1o4p
+y1on.
+y1p2o1
+y1pr6
+y1r
+y1si
+y1t
+y1z
+y2m1p2
+y2r1r2
+y2s5iat
+y3mu
+y3w
+y4chia
+y5an.
+y5ank
+y5e2rn
+y5h
+y5in
+y5la1x
+y5lu
+y5ou
+y6cha
+y8m1n8
+y8ps
+yc8h
+yen6n
+yl1al
+yla8m
+yn1t
+yno2d
+yr2i3e
+ys8ty1
+yä8m
+z1g
+z1wal
+z1wel
+z1wer
+z1zi
+z2e1r8i
+z4t3e2n1d
+z4t3hei
+z5a6b
+z5auf
+z5q
+z6we8r1g
+z8o1g
+z8thi
+za1b5l8
+za5is
+zan1ge
+ze1d
+ze1di
+ze1f
+ze1le
+ze1ro
+ze2l1t
+ze2r1s8
+ze2r1t
+ze4di1k
+ze6la
+ze8lec
+ze8r1g
+ze8s1te
+zei1te
+zei4ta
+zei8te2r1s
+zel8th
+zen1ge
+zen1zi
+zen8zin
+zer8tab
+zer8tag
+zerta8
+zeu6gr4
+zi1en
+zi1na
+zi1tr6
+zi5es.
+zi5th
+zi6ns
+zin1se
+zin1su
+zin6s5er
+zist5r6
+zo1on
+zo2rn
+zo6gl
+zor6na8
+zu1b4
+zu1f2
+zu1n2a
+zu1ne
+zu1o
+zu1s8
+zu1z
+zu3al
+zun1f8
+zup8fi
+zw8
+zwei3s
+zwi1s
+zz8a
+zzi1s
+zö1le
+ß1a8
+ß1b8
+ß1c
+ß1d
+ß1f8
+ß1g
+ß1h
+ß1k
+ß1l
+ß1m
+ß1n
+ß1o
+ß1p8
+ß1r
+ß1s2
+ß1ta
+ß1te
+ß1ti
+ß1tr6
+ß1v
+ß1w
+ß1z
+ß5ec
+ß5q
+ß5to
+ß8as
+ßst8
+ßt3hei
+ä1a6
+ä1che
+ä1de
+ä1di
+ä1e
+ä1gna
+ä1he
+ä1hi
+ä1hu
+ä1isc
+ä1k
+ä1le
+ä1mi
+ä1ne
+ä1no
+ä1pa
+ä1re
+ä1ri
+ä1ro
+ä1ru
+ä1sche
+ä1se
+ä1te
+ä1ti
+ä1to
+ä1um.
+ä1us.
+ä1z
+ä2chs
+ä2ft
+ä2gs
+ä2ls
+ä2m8s
+ä2n1d
+ä2r1t
+ä2s1th
+ä2ts
+ä3chi
+ä5chu
+ä5fa
+ä5i2s1m
+ä5j
+ä5na
+ä5rö
+ä5tu
+ä6d5ia
+ä6g5nan
+ä6hr
+ä6i1sche
+ä6ns
+ä6r1m
+ä6s5chen
+ä6thy
+ä6u5i
+ä8l1c
+ä8lei
+ä8r1g
+äb1l8
+äc1k5a
+äc2k
+äc8h
+äch8sc
+äch8sp2
+äd1a
+äd5era
+äf1l
+äf2t6s
+äg1h
+äg3le
+äg5str6
+ägn8
+äh1le
+äh1re
+äh1ru
+äh1w
+äh5ne
+äh5ri
+äisc8h
+äl1sc
+äl6schl6
+älsc8h
+äm8n8
+ämi1e
+än1de
+än6s5c
+äne5i8
+äng3l
+änk5l8
+äp6s5c
+är1c
+är1ge
+är1me
+är2t6s5
+är2z1t
+är6gl
+äre8m
+äsc8h
+äse6n8s
+ät2e1ri4
+ät8schl6
+äta8b
+äter5it
+äts1p2
+ätsc8h
+äu1e
+äu8ga
+äub1l8
+ö1b
+ö1che
+ö1de
+ö1he
+ö1hu
+ö1is
+ö1ke
+ö1mu
+ö1ni
+ö1no
+ö1re
+ö1ri
+ö1ru
+ö1te
+ö1ti
+ö1tu
+ö1v
+ö1w
+ö2chs
+ö2cht6
+ö2ff
+ö2r1t
+ö2z
+ö5chi
+ö5na
+ö5o6t
+ö5th
+ö6hr
+ö6l1k
+ö6l1p
+ö8r1g
+öc8h
+öch8s2tei
+öch8str6
+öchs1te
+öh1l8
+öh1re
+öl6k5l8
+öl8pl8
+öni2g6s3
+öp6s5c
+öpf3l
+ör8g1li
+ör8tr6
+ös1te
+öwe8
+ü1b1r
+ü1b6e2
+ü1che
+ü1chi
+ü1de
+ü1di
+ü1ge
+ü1he
+ü1hu
+ü1le
+ü1lu
+ü1re
+ü1ri
+ü1ro
+ü1ru
+ü1se
+ü1te
+ü1ti
+ü1tu
+ü1v
+ü2chs
+ü2d1o4
+ü2d5s6
+ü2ls
+ü2n1d
+ü2r1s
+ü2t1t
+ü2tz
+ü3k
+ü3ta
+ü5pi
+ü6deu
+ü6h5e6rk
+ü6hr
+ü6l1p
+ü6ll
+ü8c2k
+ü8ch3l6
+ü8heh
+ü8r1g
+ü8rei
+ü8sta
+ü8stes
+üb1l8
+üc1k1a
+üc8h
+üch6s5c
+ück5e2r1s
+üd1a2
+üdi8t
+üg1l
+üge4l5a
+üh1le
+üh1re
+üh1ru
+üh1w
+üh5a
+ül4l5a
+ül4ps
+ül6s5c
+ül8lo
+ün1f
+ün1fe
+ün6zw8
+ün8da
+ün8fei
+ün8za
+ünk5l8
+ür1f
+ür1ge
+ür8fl
+ür8fr6
+ür8geng
+ür8sta
+üs1te
+üs2s3te
+üse8n
+üt1ze
+üt8tr6
+üt8zei
diff --git a/troff/libhnj/hyphen.d/hyph_de_DE@traditional.dic b/troff/libhnj/hyphen.d/hyph_de_DE@traditional.dic
new file mode 100644
index 0000000000000..a56c48c37f6b0
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_de_DE@traditional.dic
@@ -0,0 +1,7382 @@
+UTF-8
+% This file has been derived from `dehypht.tex' as of 03 March 1999,
+% to which the following applies:
+% -----------------------------------------------------------------
+% Copyright (C) 1988,1991 Rechenzentrum der Ruhr-Universitaet Bochum
+% [german hyphen patterns]
+% Copyright (C) 1993,1994,1999 Bernd Raichle/DANTE e.V.
+% [macros, adaption for TeX 2]
+%
+% -----------------------------------------------------------------
+% IMPORTANT NOTICE:
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_de_DE@traditional.dic 1.3 (gritter) 9/3/05
+.aa6l
+.a1b1l8
+.a1b1r
+.ab3a4s
+.6a1ba
+.ab3ei
+.a1be
+.a1bi2
+.ab3it
+.a1b3u
+.ad3o4r
+.a1d
+.a1do
+.alti6
+.a2l1t
+.a1n1e
+.a6n1s
+.an5a2l1g
+.a3na3c
+.an2g8s
+.ap1p
+.ar6sc
+.a2r1s
+.ar6ta
+.a2r1t
+.8ar6tei
+.as2z
+.au2f1
+.au2s3
+.be3na
+.1be
+.be5er1b
+.ber6t5r6
+.be2r1t
+.bie6r5
+.1bi
+.b6ie
+.bim6s5t
+.bi2ms
+.brot3
+.1br
+.br6u6s
+.c8h6
+.1che6f5
+.da2r
+.1da8c
+.dar5in
+.d2a1ri
+.da1r5u
+.de3s1z
+.1de
+.de5r6en
+.de1re
+.de8s2p2o
+.de1sp2
+.den6ka
+.des6pe
+.dia3s4
+.1di
+.dien4
+.dy2s1
+.ehre6n5
+.eh1re
+.e6hr
+.ei1ne6
+.ei6n5eh
+.ei8nen
+.ein5sa
+.ei6ns
+.en3k4
+.en4t3r6
+.en6d5r4
+.e2n1d
+.en6der
+.en1de
+.en8ta8
+.en8tei
+.en1te
+.e1p2o1
+.2er3ei
+.e1re
+.er3in
+.2e1ri
+.er3o4b
+.e1r5er
+.er6b5ei
+.er1b
+.er1be
+.er6ban
+.er1ba
+.er6bla
+.erbl8
+.er6d5um
+.e8rd
+.er1du
+.erwi5s
+.er1w
+.e1s1p2
+.es8t
+.ex1a2
+.ex3em
+.fal6sc
+.fa2ls
+.fe6st5a
+.1fe
+.flu4g3
+.furc8h8
+.1fu
+.ga6ner
+.1ga
+.ga1ne
+.ge3n4a
+.1ge
+.ge5rö8
+.ge1s6
+.ha2lb5
+.hal6br
+.hal1be6
+.hau4t
+.haup4
+.he4r3e
+.he5x
+.hei1ma6
+.her6za
+.hin3
+.hir8sc
+.hi2r1s
+.ho4c
+.hu3sa
+.hy5o
+.i1be5
+.ima6ge
+.i1ma
+.in1
+.i1ni6
+.i1s5chi
+.isc8h
+.ja6gd5
+.ka6ph
+.1ka
+.kal6k5o
+.ka6l1k
+.ki4e
+.kop6f3
+.1k2o
+.kraf6
+.1kr8
+.kü5ra
+.1kü
+.lab6br
+.la2b1b
+.liie6
+.1li
+.l8i1i
+.lo6s5k2
+.lö4s3t
+.1lös
+.ma5d2
+.1ma
+.mi2t1
+.1mi
+.no6th
+.no6top
+.no1to
+.o1b1l8
+.o8bs2
+.ob6st5e
+.ob2e8ri
+.o1be
+.or3c
+.ort6s5e
+.o2r1t
+.or2ts
+.o1st3a
+.oste8r
+.o1ste
+.pe3t2s
+.1pe
+.pe4re6
+.p8er
+.1ph6
+.po8str6
+.1p2o
+.r6au4m3
+.re5an
+.ro8q
+.ru5the
+.rü5b6e2
+.rü8stet
+.rü1ste
+.sc8h8
+.se5n6h
+.1se
+.se5ra
+.se6e
+.si2e
+.1si
+.spi6ke
+.sp2
+.1spi
+.spi1k
+.st4
+.sy2n1
+.1sy
+.ta8th
+.tage4s5
+.1tag
+.ta1ge
+.tan6kl8
+.te6e
+.te8str6
+.to6der
+.to1de4
+.to1d
+.to6we
+.to8nin
+.t8o1ni
+.um1
+.umpf4
+.u2mp
+.un1
+.u1ne6
+.ung8e5n
+.un1ge
+.ur1c
+.ur5en
+.u1re
+.ve6rin
+.1ve
+.ver1
+.v2e1ri
+.vora8
+.v2or1
+.wah6l5
+.1wah
+.we8ge1s
+.1weg
+.we1ge
+.wo6r
+.wor3a
+.wu6n4s
+.zi4e
+.1zi
+.zuc8h8
+.1zu
+.z2uc
+.ände8re
+.ä2n1d
+.än1de
+.öc8h8
+1abdr4
+a2b1d
+1a2b1f8
+1a2b1g2
+1abhä
+a2b1h
+1ab1k2o
+a2b1k2
+1a2b1n
+1a2b1w
+a1d
+1ad1j
+1adle
+a2d1l
+1a2d1v
+ae1r
+1aero
+1afri
+afr6
+1ag1gr4
+a2g1g
+1a2g8o1g
+a1go
+1aka1d
+a1ka
+1ak1k2o
+a2k1k2
+1al1gi
+a2l1g
+1anfa
+an1f
+1an1fä
+1an5l6
+1an1r
+1ap1pa
+1ar2z1t
+1a2sth
+a1th
+1a2th1l
+1au2f1n
+1au2f1w
+1au2s1b2
+1au2s1f2
+1au2s3g2
+1au2s1w
+1aus1z
+1au1to
+1ba
+1be
+1bi
+bl8
+1blat
+1blu
+1bo
+1br
+1bu
+1by1
+1bä
+1bü
+1c6r
+1c8o
+1ca
+1ce
+c8h
+1c8hae
+1che1f
+1ci
+1cu
+1cy
+1da.
+1dac
+1dat
+1de
+1di
+1do
+dr4
+1drah
+1dria
+1dru
+1drü
+1du
+1dä
+1dü
+1egy
+1eign8
+1e4k1d
+e1le
+1elek
+1emp1f
+e2mp
+1emp1t
+1emto
+e2m1t
+1en2t1z
+1e2t1n
+1e8x3p2
+1extr6
+e8x1t
+fr6
+1f8ran
+1fe
+1fi
+1flor
+1fo
+1fr2is
+1fu
+1fä
+1fü
+1g2li1k
+g1li
+1g2lim
+1g2ly
+1ga
+1ge
+1g6hr
+1gi
+1gla1d
+1glas
+1gle.
+1glem
+1gloa
+1gl2on
+1glop
+1glü
+gn8
+1gna
+1gno
+1go
+1gr4
+1gu
+1gä
+1gö
+1gü
+1haa
+1he2m1m
+1hoh
+1holz
+1in1fo
+in1f
+1k2o
+1ka
+kl8
+1kla
+1klä
+1kr8
+1ku
+1kä
+1kö
+1kü
+1la.
+1la2n1d
+1la1w
+1le6hr
+1ler
+1li
+1lo1k
+1los.
+1lun
+1ly
+1lös
+1ma
+1me
+1mi
+1mo
+1mun
+1my
+1män
+1mü
+1n2ah
+1n2ar.
+1na.
+1nae
+1nag
+1nai
+1na1ma
+1na1ni
+1nann
+1n2a1ri
+1nau1e
+1na1v
+1n8aß
+1ne
+1ni
+1nu
+1ny1s
+1näc
+1nöt
+o1z
+1o2zea
+o1ze
+1ob1j
+1of1fi
+o2ff
+o1k
+1okta
+o2k1t
+1o6ns
+1o8o1g
+1opti
+op1t
+1oram
+1or2d1n6
+o8rd
+1or1ga
+o8r1g
+1p2o
+1p2sy
+1pak
+1pap
+1pau
+1pe
+1ph
+1pis
+pr6
+1pres
+1prob
+1pro1d
+1präs
+1prüf
+1pu
+qu6
+1q6ui
+1r2ig
+1r4uf
+1rar1h8
+1re.
+1re1no
+1rer
+1rinn
+1ro6hr
+1ru2ts
+s1k2
+1s2ki.
+sp2
+1s2phä
+s1ph
+1s2pur
+s1pu
+1sa.
+1saa
+1saf
+1sag
+1sai
+1sal
+1sam
+1sa2n1d
+1sas
+1sat
+1sche
+sc8h
+1schi
+1scho
+1schu
+1se
+1si
+1so
+1span
+1s2pek
+s1pe
+1spi
+1spra
+spr6
+1spru
+1spü
+1sta
+1ste
+1sti
+1sto
+1stu
+1stä
+1stö
+1stü
+1su
+1sy
+1sä
+1süc
+1sün
+2ts
+1t2sua
+t1su
+1ta1fe4
+1tag
+1ta1le
+1t2a1ri
+1te2il
+1the.
+1t8heo
+1thes
+1thet
+1t6hr6
+1thy
+1ti2l1g
+t2il
+tr6
+1trag
+1trai
+1trib
+1träg
+1tu1e
+1t2uc
+1tu2m1h
+1tu2ms
+1ty1
+1tön
+1tür.
+1u2n2if
+u1ni
+1un1fä
+un1f
+1ve
+1wah
+1was
+1weg
+1wi1d
+1wj
+1xag
+1xe.
+1xen
+1xes
+1xi
+1xo
+1xu
+1zah
+1ze
+1zi
+1zo
+1zu
+zw8
+1zwi
+1zy
+1zä
+1zö
+1zü
+1ße
+1ßi
+1ßu8
+1ähn5l6
+1äug
+1äuß
+1ö2k2o
+1öl.
+2a1re
+2a1ri
+2a1ti
+2ar2b1t
+ar1b
+2b1b
+2b1c
+2b1d
+2b1f8
+2b1g2
+2b1h
+2b1k2
+2b1m
+2b1n
+2b1p2
+2b1t
+2b1w
+2b1lun
+2ch.
+2chn6
+2chs
+2cht
+c2k
+2ck.
+2c2ks
+2d1ar1b
+2d1auf
+2d1aus
+2d1b
+2d1c
+2d1d
+2d1e6hr
+2d1f
+2d1g
+2d1h
+2d1i6ns
+2d1k
+2d1l
+2d1m
+2d1n6
+2d1o8r1g
+2d1p
+2d1u2n1d
+2d1v
+2d1w
+2d1z
+2d1a2b1g2
+2d1an5l6
+2deal
+2deol
+d1j
+2dju
+2d1rer
+2ds
+2dt
+2e1ri
+2e1ru
+2e1ni
+e1re
+2erei
+2f1a2r1t
+2f1b2
+2f1d
+2f1ec2k
+2f1g2
+2f1k2
+2f1m
+2f1n
+2f1op
+2f1p8
+2f1w
+2f1z
+2ff
+2fs
+2ft
+2g1ar1c
+2g1a6r1m
+2g1a2t1m8
+2g1b
+2g1f8
+2g1g
+2g1k
+2g1m
+2g1p2
+2g1t
+2g1w
+2g1ler
+2g1n2ah
+2g8o1g
+2g1r2ig
+2grot
+2gs
+gu2e
+2gue.
+2hal.
+2ha1ni
+2hein
+2hoi
+2hö.
+2höe
+2i1v
+2if
+2i1ge
+2il
+2io
+2ip
+2k1b
+2k1c
+2k1eig
+2k1f8
+2k1g
+2k1h
+2k1k2
+2k1m
+2k1p2
+2k1rec
+2k1t
+2k1w
+2k1z
+2k1an5l6
+2klic
+k1li
+2krib
+2kr2ip
+2ks
+2l1a8b1s
+2l1a2m1t
+2l1g
+2l1m
+2l1o8rd
+2l1t
+2l1u2m1f6
+2l1u2m1w
+2l1w
+2lb
+2lic2k
+2ließ
+2lint
+2ls
+2luh
+2l1äug
+2m1a2mp
+2m1b
+2m1c
+2m1d
+2m1f6
+2m1g
+2m1h
+2m1i2m1m
+2m1k8
+2m1l
+2m1m
+2m1r
+2m1t
+2m1v
+2m1w
+2m1z
+2mp
+2ms
+2n1ang
+2n1ar1c
+2n1a2r1t
+2n1d
+2n1e2mp
+2n1e2rr
+2n1erz
+2n1i2mp
+2n1i2n1d
+2n1i6ns
+2n1on1k
+2n1o2r1t
+2n1u2n1d
+2n1unt
+2na1x
+2nec
+2n1egy
+2no2b1t
+2nu6r
+2nup
+2p1haf
+2p3r2ig
+2pek
+p8er
+2pe2rr
+2p2ft
+2ph.
+pl8
+2p1ler
+2p3lig
+p1li
+2po2rn
+2pst
+2p2uc
+2r1ar1b
+2r1a2r1t
+2r1ex
+2r1ir
+2r1s
+2r1t
+2r1u2m1g
+2r1u2m1l
+2r1unt
+2r1ur
+2ra6ll
+2reh
+2re2m1t
+2re2s1s2
+2rn
+2rr
+2ru2ms
+2s1a8b1s
+2s1a6ns
+2s1ar1b
+2s1a2r1t
+2s1a2t1l
+2s1aus
+2s1b2
+2s1d
+2s1eig
+2s1e2mp
+2s1f2
+2s1in1f
+2s1in1h
+2s1i6ns
+2s1m
+2s1o1do
+so1d
+2s1o8rd
+2s1pf
+2s1r
+2s1s2
+2s1unt
+2s1v
+2s1w
+2s1ü2b
+2s3g2
+2s1ca
+2s6ch1f2
+2sch1g
+2s4ch1h
+2sch1k2
+2s2cht
+2sch1z
+2s1c8o
+2siat
+2skau
+s1ka
+2s3kow
+s1k2o
+2s1ku
+2s1pap
+2s1pis
+2s5pla
+spl8
+2s5pol
+s1p2o
+2st.
+2s2t1s6
+2s1tag
+2s2t1b2
+2s2t1g2
+2sth
+2s2t1k2
+2s2t1l
+2s2t1m8
+2s2t1t
+2s1tu1e
+2s2t1v
+2s2t1w
+2t1a2m1t
+2t1a6r1m
+2t1b2
+2t1c
+2t1d
+2t1e6hr
+2t1f2
+2t1g2
+th6a
+2t1hau
+2t1h2il
+2t1hö
+2t1j
+2t1k2
+2t1l
+2t1m8
+2t1n
+2t1ony
+2t1p2
+2t1t
+2t1unt
+2t1v
+2t1w
+2t1an1r
+2ta6rk
+2ta2r1t
+2te1he
+2th.
+2th1l
+2th1m
+2t1haa
+2to1ti
+2trec
+2t1r2ig
+2tz
+2uc
+2v1b
+2v1f
+2v1g
+2v1k
+2v1l
+2v1m
+2v1p
+2v1s
+2v1t
+2v1v
+2v1z
+2w1l
+2z1a1ra
+2z1b
+2z1ex
+2z1f8
+2z1k
+2z1l
+2z1m
+2z1s8
+2z1t
+2z1v
+2z1z
+2z1ü2b
+2ß1ei
+3abtei
+a2b1t
+a2dre
+3adres
+adr4
+3al8a6r1m
+3album
+a2lb
+al1bu
+3a8na1ly
+3angab
+an1ga
+3angri
+an1gr4
+3an1n2ah
+an1na
+3anzug
+an1zu
+3apfel
+ap1fe
+3arbei
+ar1be
+3atlas
+a2t1l
+atl8a
+3auf1fü
+au2ff
+3auf1ga
+au2f1g2
+au2f1t
+3auf1tr6
+3auge.
+au1ge
+3au2s1d
+3au2s1s2
+3blau.
+3ble.
+3blä
+3blü
+3ch2a1ri
+e1f
+3effek
+e2ff
+ef5fe
+3eifri
+e2if
+eifr6
+3ele1me
+3entl8a
+en2t1l
+3erb1se
+er1b
+er8bs
+er1kl8
+3er1klä
+e6rk
+3ernst
+e2rn
+er6ns
+3europ
+eu1ro
+3flöt
+3för
+3gleic
+g2lie
+3glie1d
+i1d
+3i2deal
+i1de
+3i2deol
+3indu1s
+i2n1d
+in1du
+3infek
+in1fe
+3jä
+3klei1d
+3kow
+3lig
+3lo2ch.
+loc8h
+3losig
+lo1si
+3lä2n1d
+3man
+3mas
+3mes
+3mi2t1t
+3mäß
+3müt
+na2c
+3na2cht
+nac8h
+3na1z
+3o4pe1ra
+o1pe
+op8er
+3ob2st.
+o8bs
+3paa
+3par2t1n
+pa2r1t
+3pe2r1s
+3preis
+3rable
+ra1bl8
+re1ak
+3re1a2k1t
+3refl
+re1f
+3ro2ck.
+roc2k
+3rö6ll
+3rü2mp
+3s2tel
+3s4kin.
+3s4tral
+str6
+3s4tro1a
+3s8au1e
+3s8eit
+3s8prec
+3sa2ck.
+sac2k
+3sa8r1g
+3scha.
+3schaf
+3schal
+3schri
+sc6hr
+3sel.
+3s2krib
+s1kr8
+3s2kr2ip
+3str8aß
+3s2trec
+3strum
+3s2uc
+3t4hea
+3t2hal.
+3this
+3to1be
+3trau1e
+3treib
+3troc
+3umfan
+u2m1f6
+3undzw8
+u2n1d
+un2d1z
+3unfal
+3un1glü
+3urlau
+ur1l
+3ursac
+u2r1s
+3ur5tei
+u2r1t
+3zaun
+3äq
+3ärmel
+ä6r1m
+är1me
+3ärz2t1l
+är2z1t
+3ä2t1k2
+ü1b6e2
+3ü4ber1
+4a1tr6
+4aner.
+a1ne
+4blic8h
+b1li
+4ch1h
+4c2k1h
+4d3a2r1t
+4d3in1h
+4d3reg
+4d3uh
+4drec8h
+4e1lo
+4e5re.
+4e1mo
+4ene.
+e1ne
+4ener.
+4erer.
+e1rer
+4f1h
+fl8e
+4f3lein
+4ferd.
+fe8rd
+4fling
+f1li
+4g1v
+4g3ei1se
+4g3ex3
+4g3i6ns
+4g3reic
+4g3uh
+4gak
+4grut
+4he1rap
+4k1d
+4k3arti
+ka2r1t
+4k3leit
+4k3ra1d
+4k3reic
+kä4m
+4k3ä1mi
+ku1st
+4ku1sti
+4l3en2t1w
+4l3e8r1g
+4l3in1du
+li2n1d
+4l3in1h
+4l3o4p8er
+lo1pe
+4l3o6hr
+4l3un1te
+4l3au2s1s2
+4l1au1to
+4lektr6
+le2k1t
+4l1en2t1z
+4leu1ro
+4lin2k1t
+4lipp
+l2ip
+4li1sam
+li1sa
+4lo2r1t
+4lu8r1g
+4m3ar1be
+mar1b
+4m5auf
+4ma2g1g
+4n1ein
+4n1int
+4n1o8r1g
+4n1u6hr
+4n3e4lem
+ne1le
+4n3en3th
+4n3i6gel
+n2i1ge
+4n3o4p8er
+no1pe
+4n3o8bs
+4nauf
+4p1d
+4peic
+4per1si
+pht2
+4ph3t1he
+4plei
+4r3ein1a4
+4r3ei6ns
+4r3enth
+4r3en2t1w
+4r3e8rd
+4r3erla
+rer1l
+4r3er6ns
+re2rn
+4ra2l1g
+4reben
+re1b
+re1be
+4rinst
+ri6ns
+4ro1fe
+4s1a2ff
+4s1a2k1t
+4s1j
+4s3alpi
+sa6l1p
+4s3ox
+4s1en2t1z
+4so1pe
+4s1or1ga
+so8r1g
+4s3pe2r1s
+sp8er
+4st3o1pe
+4s1ta1fe4
+4sta2l1g
+4st3a6ns
+4s1te2il
+4sti2g1m
+4stin1f
+4s1trai
+4st1r4uf
+4s1t2uc
+4s1tür.
+4t1hä
+4t1reg
+4t3en2t1w
+4t3er2b1t
+ter1b
+4t3re1z
+4tab.
+4ta8b1s
+4t1au2f1n
+4te2ff
+te1f
+4tein1h
+4teis
+4t1elek
+te1le
+4t1holz
+4ths
+4tre2if
+4tüb
+4v3w
+4v5n
+4xi1ste
+4z1h
+4z1p
+4z3ak
+4z3e2ff
+ze1f
+4z3i2mp
+4z3oh
+4ze2mp
+5a4gent
+a1ge
+a1bl8
+5a6blö
+ab1re
+5a6brec
+a1br
+a1le
+5a6l5eth
+5a6mei1se
+a1me
+a1no
+5a6n1o2d
+5a6n3o1ma
+5a6no8rd
+ab1la
+5a6blag
+5ab1ze
+a8b1z
+5ab1zu
+5ad1di
+a2d1d
+5akro1
+a1kr8
+5anfe2r1t
+an1fe
+5ange1bo
+an1ge
+ange1b
+5anhä
+an1h
+5anschl6
+a6ns
+an1sc
+ansc8h
+an1st
+5anstal
+an1sta
+5antenn
+an1te
+5anwä
+a8n1w
+5anzeig
+an1ze
+5anzieh
+an1zi
+an1ä
+5anäs
+5atlant
+5au4f3ent
+au1fe
+5blit
+5blum
+5blö
+5cha1ra
+5cha1to
+5chia1d
+5chias
+chl6
+5ch4lor
+5cho.
+5chth2on
+5cä1
+5d4eic
+d1sc
+5d6scha.
+dsc8h
+5dschi1k
+d1schi
+e1la
+5e6la1sti
+5elte2rn
+e2l1t
+e4ne8r1g
+5ener1gi
+5entwic
+en2t1w
+5entwu
+e1pi
+5epi1d
+5epos
+e1p2o
+5erfül
+er1f
+er1fü
+5erge2b1n
+e8r1g
+er1ge
+erge1b
+5ergänz
+er1gä
+5erhö1hu
+er1h8
+5erlös.
+er1l
+er1lös
+5erstat
+e2r1s
+er1sta
+5erwer1b
+er1w
+5essenz
+e2s1s2
+es1se
+5f8läc
+5flop
+frei1
+5fr4ei.
+5ghel.
+5glaub
+5gleis
+5glom
+5go1gr4
+5gr2if
+5he2ft
+he1f
+5hi2tz
+5horn.
+ho2rn
+5index
+in1de
+5ing2e1ni
+ing8en
+in1ge
+5inhab
+in1h
+5in1j
+in1sp2
+5in1s2pe
+i6ns
+5instit
+in1sti
+5instru
+in1str6
+5inte1re
+in1te
+5inter1v
+5jo
+5klet
+5kl2ip
+5klop
+5la1du
+la1d
+5laken
+la1ke
+5lampe.
+la2mp
+lam1pe
+5lei1stu
+5le2uc
+5lip1t
+5loge.
+l8o1g
+lo1ge
+5lohn
+5l6uk
+5läuf
+5me6ld
+5mot
+5mün
+5n6a2r1s
+5nan1c
+5napf.
+5na6ui
+5ne1ei
+5nä1e
+5n6äi
+5näus
+5nü.
+5nüß
+5o4be2r1s
+o1be
+o1ri
+5o6rient
+or2ie
+ori1en
+5ohm.
+5olym
+o1ly
+5orgel.
+or1ge
+p1t
+5p6ty1
+5pa1d
+part8e
+5p8ar5tei
+pf2l
+5pf8lanz
+5pin1se
+pi6ns
+5pla
+5pol
+5po1ti
+5prinz
+5pr8o1g
+5py
+5ra3fal
+r8afa
+5ra6ld
+5ran1gi
+5re1ha
+5ren1te
+r1h8
+r2hy
+5rhy1t
+5rout
+5rö6hr
+5römis
+rö1mi
+s1h
+5s4hop
+5s6au1se
+5s6h2ip
+5s6pom
+5s6tria
+s1z
+5s6z4ene.
+s1ze
+sze1ne
+5scha1de
+scha1d
+5schlag
+schl6
+5schlu
+5schö
+5schü
+5sein.
+5spal
+5spring
+5spän
+5stra.
+5s4tre2if
+5stri1k
+5söm
+5süß
+5t6si1k
+t1si
+5tau1se
+5t8e2ch3n6
+tec8h
+5tep1pi
+5tha.
+5t4he1rap
+5ther1f
+5thi.
+5ti1te
+5to2cht
+toc8h
+5toll.
+to6ll
+5topf.
+5tropf
+5trub
+5trup
+5trüb
+5täg
+5tüc8h
+5umlau
+u2m1l
+5undein
+un2d1ei
+un1de
+5unge1a2
+un1ge
+5w2a1re
+5wec8h
+5wei1se
+5wer1du
+we8rd
+5werk.
+we6rk
+5wi2r1t
+5wunde.
+wu2n1d
+wun1de
+5ya.
+5zange.
+zan1ge
+5zwec2k
+ß1a8
+5ßa.
+5änd2e1ru
+ä2n1d
+än1de
+5ärge2rn
+ä8r1g
+är1ge
+5ö6dem
+ö1de
+5öf2f1n
+ö2ff
+5öste2rr
+ö1ste
+5ü2bu
+6a1tu
+6a1ba
+6ab8el
+a1be
+6a2t1f2
+6a2t1g2
+6a2t1n
+6aum
+6b1la1d
+6b1v
+6b3lein
+bei1s
+6b5eisen
+bei1se
+6blag
+6ch2m
+6ch3unt
+6ch1b2
+6chei
+6cher1kl8
+che6rk
+6ch1f2
+6chi6ns
+6ch1p
+6chuh
+6d5a6l1k
+6d5o1be
+6d5ony
+6d5r1h8
+6d5unt
+6da2b1t
+6d1a2b1w
+6da6ns
+6dan1zu
+6de2ff
+de1f
+6din1f
+6dje
+6do8rd
+6do1th
+6d1re.
+6dur1l
+6dursa
+du2r1s
+6däh
+6e1nat
+6e1ro.
+6e3roi
+6elan
+6ele1f
+6enem.
+6enen
+6enes
+6eren.
+6f1c
+6f1j
+6f1v
+6f3l2on
+6f5otte
+fo2t1t
+6f5u2ms
+6f1an5l6
+6fap
+6f1r2ig
+6fun1f
+6f1äug
+6g1hei
+6g1hi
+6g1rec
+6g3arti
+ga2r1t
+6g5a2m1t
+6g5auf
+6g5en2t1f2
+6g5erz.
+6g5oh
+6g5unt
+6g1a2b1w
+6g1an5l6
+6gar1b
+6gd
+6gla2s1s2
+6gn.
+6gonist
+g8o1ni
+gon6is
+6groh
+6gue1d
+6gä6r1m
+6güb
+6h1e2mp
+6ha1le
+6hanz
+6har1b
+6ho8r1g
+6hr
+6jm
+6k1v
+6k3ar1be
+kar1b
+6k5ein
+6k5eis
+6k5l6er.
+k1ler
+6k5ox
+6k1en2t1z
+6kin1h
+kn8
+6kner
+k1ne
+6k1r2ig
+6kro1ba
+6l1h
+6l1j
+6l1k
+6l1p
+6l1ü1b6e2
+6l5a2t1m8
+6l5en2t1s
+6l5er1de
+le8rd
+6l5erzie
+ler1zi
+6l5u6n2io
+lu1ni
+6la2ff
+6lann
+6lan1ä
+6larm.
+la6r1m
+6ld
+6le2ff
+le1f
+6lendun
+le2n1d
+len1du
+6le1pi
+6ler1kl8
+le6rk
+6l1e8x3p2
+6l5in1j
+6ll
+6ln
+6lo8r1g
+6lu2r1s
+6ly2m1p2
+m2on
+6m5ony
+6m5uh
+6m1ap1pa
+6mj
+6möl
+6n1a6r1m
+6n1ü2b
+6n5e2b1n
+ne1b
+6n5e4ne8r1g
+ne1ne
+6n5erde.
+ne8rd
+ner1de
+6n5erhö
+ner1h8
+6n5ertra
+ne2r1t
+nertr6
+6n5in1h
+6n5inn
+6n5o6le3u
+no1le
+6n5ox
+6n5u2ms
+6n5u2m1w
+6n5un1r
+6nair
+6na2t1m8
+6n1au2s1b2
+6n1au1to
+6nopf
+6n1opti
+nop1t
+6ns
+6nu1ni
+6o1se
+6p1m
+6p5heit
+6p5les
+6p5ling
+6p5uh
+6paug
+6ph1b2
+6ph1g
+6phn
+6ph1z
+6r1arz
+6r1m
+6r3ein1b2
+6r5einn
+6r5er1nä
+6r5erreg
+re2rr
+rer1re
+r2it
+6r5i6tal
+ri1ta
+6ra8b1z
+6ra1ha
+6ran1ga
+6rapf
+6ra2t1l
+6raus.
+6r1eign8
+6rein1g
+6rein1r
+6r1emp1f
+re2mp
+6rer8bs
+rer1b
+6rewo
+re1w
+6rinner
+rin1ne
+6rk
+6ro8bs
+6r5olym
+ro1ly
+6r1o8o1g
+6run2d1z
+ru2n1d
+6run1f
+6s1a2b1t
+6s1arz
+6s3a4der
+sa1d
+sa1de
+6s3an1tr6
+6s3e4lem
+se1le
+6s3tre1f
+6s5eid.
+sei1d
+6s5ein1h
+6s5en2t1s
+6s5i6de1e
+si1d
+si1de
+6s5o4fen
+so1fe
+6s5pig
+6s5pos
+6s5tr6aum
+6s5u6ran
+su1ra
+6s5ä2n1d
+6s1a2b1w
+6salter
+sa2l1t
+6s1an5l6
+6s1che1f
+6sch3mäß
+s6ch2m
+6sch1n8aß
+s2chn6
+6scho8rd
+6s6ch1p
+6s2chs
+6sch1v
+6s1cu
+6ser1öf
+serö8
+6s1e8x3p2
+6sk.
+6skn8
+s1n
+6sna
+6snot
+6s5pin1se
+spi6ns
+6s5po1ti
+6s3preis
+6s1prob
+6s5py
+6st5an1f
+6s1ta1le
+6st5a8n1w
+6star1b
+6staus
+6s2t1c
+6s2t1d
+6s5tep1pi
+6s2t1f2
+6st1i2n1d
+6s5toll.
+sto6ll
+6s5topf.
+6sto8rd
+6s2t1p2
+6st1re1no
+6stres
+6st3re1v
+6s2t1r2ig
+6s1träg
+6s2tz
+6sumfa
+su2m1f6
+6surte
+su2r1t
+6säu1gi
+s1äug
+6s1äuß
+6t1hab
+6t1q
+6t1re1d
+6t1röh
+6t3a2cht
+tac8h
+6t3ha2n1d
+6t5a6mer
+ta1me
+6t5haf
+6t5herz
+6t5o6fen
+to1fe
+6t5ro1sa
+6t5u2m1r
+6tadr4
+ta1d
+6ta2mp
+6t1an5l6
+6tar1be
+tar1b
+6tarz
+6t1au2s3g2
+6t1eign8
+6terben
+ter1be
+6t3er1klä
+ter1kl8
+te6rk
+6tha2ls
+6th1opti
+thop1t
+6top1t
+6tuh
+6tu2n1d
+6tun1f
+6ty6o
+6täh
+6t1äuß
+6ui
+6uk
+6und.
+6v5c
+6v5h
+6vang
+6var1b
+6vd
+6ve5g6
+6w5t
+6w5w
+6wk
+6ws2
+6x1l
+6x3w
+6z1am
+6z1c
+6z1d
+6z1j
+6z1n
+6z1r
+6z1wo
+6z5as
+6z5engel
+zen1ge
+6z5in1f
+6z5in1ni
+6z5u6hr
+6z1öl.
+6ß5um
+6äi
+8a1lu
+8a1ta
+8ad.
+8afa
+8a1fä
+8ame.
+8apl8
+8ar5tei
+a2r1t
+8atmus
+a2t1m8
+8aß
+8b1leg
+8b1leh
+8b1los
+8b1z
+8b5riem
+br2ie
+8ba8del
+ba1d
+ba1de
+be1c8h
+8be2cht
+8becke.
+bec2k
+be1f2
+8be2ff
+8bex
+8blam
+8blei1d
+8bleih
+8bling
+8bo2ff
+8bon1k
+8bre1f
+8bröh
+8bs
+8c1t
+8c6hanz
+8ch1j
+8chob
+8chw
+8cor1b
+8d1ren
+8d3reic
+8d5a2m1t
+8daas
+8da1br
+8dan1zi
+8darz
+8da2t1m8
+8denge.
+den1ge
+8deng8en
+8der2d1b
+de8rd
+8deul
+8di2n1d
+8drak
+8drem
+8dres.
+8dri2n1d
+8drut
+8ds1l
+8du2m1l
+8du2m1w
+8du2r1t
+8dä2n1d
+8e2ch3n6
+ec8h
+8eifen
+ei1fe
+8er6a1ba
+8f1ric
+8fei6ns
+8f5elte2rn
+fe2l1t
+8fe2mp
+8fin1f
+8flib
+8fä6r1m
+8föf
+8g3leu
+8ga8b1z
+8gan1sc
+ga6ns
+ge1f2
+8ge2ff
+8gerhö
+ger1h8
+8gl.
+8gnac8h
+gna2c
+8gnot
+8gof
+8go8rd
+8grenn
+8gu2ms
+8gä8m
+8hae
+8han.
+8he2l1t
+8heo
+8höi
+8i1i
+8ind.
+8k5en2t1s
+8ka2chs
+kac8h
+8ka2k1z
+8kapf
+8karz
+8keic
+8ke2mp
+8ki8ö8
+8ki1k
+8klac
+8k3lig
+8l1r
+8l1a2b1f8
+8la2b1h
+8l1a2d1v
+8la2m1b
+8lan1me
+lan1m
+8la8n1w
+8l1ap1pa
+8lc
+8leinn
+8le2mp
+8len2ds
+8len1zy
+8leo1z
+8le1p2o
+8ler8bs
+ler1b
+8lerö8
+8lesel
+le1se
+8li2m1b2
+8lin1v
+8lo1bl8
+8lu8fe
+8m1q
+8m5an1st
+ma6ns
+8m1a2b1g2
+ma6l5d
+8mal1de
+8man1gr4
+8me2mp
+8mentsp2
+men2t1s
+8mof
+8n1a2m1t
+8n1w
+8n5en2t1n
+8n5en2t1s
+8n1a2b1n
+8na1ly
+8na8n1w
+8neis
+8ne2m1b
+8nen2t1b2
+8nen2t1l
+8ner1bi
+ner1b
+8nerlö
+ner1l
+8neuß
+8nin1f
+n6os
+no1st
+8no2st.
+8nu2m1l
+8o1g
+8o1ni
+8p5c
+8ph1d
+8ph1k2
+8poh
+8proß
+8pär
+8r1g
+8r1j
+8r5e2l1t
+8ra2b1k2
+8ramei
+ra1me
+8ran1f
+8ra8n1w
+8rd
+8re2ff
+8reier
+rei1e
+8ren2t1l
+8r1en2t1z
+8rerhö
+rer1h8
+8rer1kl8
+re6rk
+8rerlö
+8ru6ns
+8s1a8n1w
+8s5er1zi
+s1ap
+8sa1p2o
+8s2ch.
+8schan1c
+8s6ch1b2
+8schex
+8sch1ric
+8sch1r2ig
+8schrou
+8s6ch3unt
+8se2ff
+se1f
+8sermä
+se6r1m
+8sexa
+8s1kü
+8s3paa
+8sphi
+8sta6l1k
+8s2t1a2m1t
+8ste2m1b
+8ste1se
+8stes1se
+ste2s1s2
+8s3treib
+8stri1si
+str2is
+8stun.
+8s5täg
+8s5tüc8h
+8su2m1k8
+8syl.
+8s1zu
+8t3reis
+8t5an1tr6
+8ta8b1z
+t5a8n1w
+8tanwa
+8taus.
+8t1au2s1f2
+8tei1w
+8telem
+8t1en2t1z
+8terbar
+ter1ba
+8ter8bs
+8terhö
+ter1h8
+8t1e8x3p2
+8thak
+8thir
+8t1ob1j
+8toc2k
+8tre1p2o
+8tu2m1t
+8tym
+8tä8st
+8tö8k
+8van1b2
+8vint
+8vo8f
+8vra
+8w1n
+8wer1c
+8x1b
+8x1h
+8x1t
+8x3p2
+8x5o6d
+8xa2m1t
+8xf
+8xi1d
+8xn
+8z5wes
+8za6d
+8z1an5l6
+8zein
+8zer1gä
+ze8r1g
+8zerz
+8zinsuf
+zi6ns
+zin1su
+8zunem
+zu1ne
+8zungl
+8ße8g
+8ße8h
+8ßem
+a1che
+ac8h
+a1chi
+a1cho
+a1chu
+a1chy
+a1e2d
+a1er.
+a1gn8
+a1ha
+a1he
+a1hi
+a1hu
+a1j
+a1ke
+a1ki
+a1lo
+a1lä
+a1mu
+a1mä
+a1na1d
+a1nas
+a1nat
+a1nö
+a1os
+a1pa
+a1pi
+a1pr6
+a1ra
+a1rol
+a1ru
+a1ry
+a1sa
+a1str6
+a1te
+a1to
+a1tä
+a1tü
+a1v
+a1w
+a1x
+a1ya
+a1z
+a2f1ex1
+a1fe
+a2ph1t2
+a1ph
+a2xia
+a1xi
+a3fal
+a3in1se
+ai6ns
+a3ismu
+ai2s1m
+a3na2c
+a3pü
+a3ros
+a3s4hi
+as1h
+a4ce.
+a1ce
+a4h3er1h8
+a4ka1de
+a4l3ein
+a4l5ob
+a4r3af
+a5arti
+aa2r1t
+a5chal
+a5far
+a5fat
+a5ho
+a5i8s2ch.
+aisc8h
+a5lal
+a5ny
+a5pä
+a6bl8aß
+a6ch5er1f
+a6d5ac
+a6dä
+a6f5um
+a1fu
+a6fen2t1l
+a6g5u2n1d
+a1gu
+a6l5e6be
+ale1b
+a6le2r1t
+a1ler
+a6lur
+a6ma1te
+a1ma
+a6n5e8rd
+a6n5er1ke
+ane6rk
+apo1s
+a6po1ste
+a1p2o
+a6po1th
+a6schec
+a1sche
+asc8h
+a6s2chn6
+a6stoc
+a1sto
+a6t5ops
+a6t5ort.
+ato2r1t
+a6t5ru
+a6tapf
+a6te1li
+a6wes
+a6x2io
+a8blä
+a8chent
+a8dein
+a1de
+a8lel
+a8ler1b
+a8ler1h8
+a8ner1f
+a8ror
+a8ste1b
+a1ste
+aa1c
+aa2gr4
+aa2s1t
+aa6r5a
+aa1l5e
+aa2t2s
+ab1ir
+a1bi
+a1b1lu
+ab1ra
+ab1ro
+a8b1s
+ab1ur
+a1bu
+ab1än
+a1bä
+ab3a2r1t
+ab4ler
+ab5e6rk
+ab5e2r1r
+ab5es1se
+abe2s1s2
+ab8s1k2
+aben6dr4
+abe2n1d
+abma5c
+a2b1m
+ab1ma
+abs2z
+abäu8
+ach1l6
+a8ch1w
+a6ch3m
+ach3re
+ac6hr
+ach5a2r1t
+ach5au
+a2ch5n6
+ach5äf
+ach6er.
+ac1k2o
+ac2k
+acks6t8
+ack5sta
+a2c2ks
+ad1op
+a1do
+ad3ant
+ad8ar
+ade5o8
+adi5en
+a1di
+a2dt1
+af1an
+af1au
+af1fr6
+a2ff
+af1re
+af5rau
+af6tent
+a2ft
+af1te
+af6tra
+af1tr6
+aft5re
+ag1lo
+ag2ne
+ag5a1be
+a1ga
+a1g5las
+ag8er
+age1s5e
+age1s
+ah1le
+ah1re
+a6hr
+ah1ru
+ah4m3ar
+ah1ma
+a2h5ein
+ah8rei
+ah8ö
+ahl1a
+ahn1a
+ahra6
+ahr5ab
+ahr8ti
+ah2r1t
+ahre4s3
+ahre6n8s
+ai1e
+ai3d2s
+ai1d
+ai4re.
+ai1re
+a2if6
+ais6n
+ai1s8e
+ai1so6
+a8l1c
+a2l3int
+a1li
+al4g1li
+al4l3ar
+a6ll
+al1la
+al4lab
+al4t3re
+a2l1t
+altr6
+al4the
+al5a6ns
+al6s6ch2m
+a2ls
+al1sc
+alsc8h
+al8be1b
+al1be
+al8ber1w
+al8lan
+alb5la
+albl8
+alle3g
+al1le
+altist5
+alu3ta
+al6u5i
+am2n8
+am2ta
+a2m1t
+am6m5ei
+a2m1m
+am1me
+am6mum
+am6s8chw
+a2ms
+am1sc
+amsc8h
+ampf3a6
+a2mp
+an1e2k
+a2n1ec
+an1kl8
+an1s2z
+an1sa
+an1th
+an2gn8
+an3a1k2o
+an3a6l1p
+an3a1me
+an3a2ra
+an3g1li
+an4kro
+an1kr8
+an4so1z
+an1so
+an4z3e1d
+an5a1sti
+a8n5eis
+an5i8on
+a1ni
+an2io
+an6kno
+an1k2n8
+an8dent
+a2n1d
+an1de
+anadi5e
+ana1di
+ana2t5s
+ande4s3
+an2g5t6
+ang6lis
+ani4ka
+an6i1k
+ani5g
+anma5c
+an1m
+an1ma
+anmar4
+anne4s3
+an1ne
+anö8d
+ap1pr6
+aph5ä6
+apo1c
+ar1c
+ar1o2d
+ar1ü2
+ar2gl
+a8r1g
+a2r3a6ll
+ar3ein
+ar3ony
+ar2on
+ar4nan
+a2rn
+ar1na
+ar5o6c8h
+ar5ox
+arö6
+ar5öm
+ar6les
+ar1l
+ar6schl6
+a2r1s
+arsc8h
+ar6t5ri
+artr6
+ar8ke2r1s
+a6rk
+ar1ke
+ar8zä
+ari5es
+ar2ie
+arz1w8
+arä8m
+as1pa
+asp2
+as5te1v
+as6ch3m
+asch5l6
+asp5l8
+ast3re
+at2t1h
+a2t1t
+at3hal
+ath6a
+at5t6hä
+ata3la
+ata5c
+at8a5pl8
+ate5ran
+aten5a
+ato6ra
+atz1w8
+a2tz
+au1a
+au1e
+au1th
+au4kle
+a6uk
+au1kl8
+au4sta
+au6bre
+au1br
+au8mar
+au1ma
+au8sin
+au1si
+auch3a
+a2uc
+auc8h
+aue4l
+aule8s
+au1le
+au2m5p
+aut5eng
+au1te
+au1ße8
+ave5r6a
+a1ve
+aver1
+av2e1r6i
+azi5er.
+a1zi
+b1j
+b1le1b
+b1le1d
+b1loh
+b1o2r1t
+b1q
+b1rup
+b1s2p2
+b1sa
+b1sc
+b2b1li
+bbl8
+b2l2io
+b2ruz
+b2s1ar
+b2t1h
+b3stru
+bstr6
+b4li2n1d
+b4li2tz
+b5re1d
+b5stä
+b5ä6s5
+b6ie
+b6la.
+b6la1v
+b6ri1ga
+b1r2ig
+b6sun
+b1su
+b6ü5be1re
+bü1b6e2
+b3ü4ber1
+b8el
+b8er.
+b8la2t1t
+b8sang
+b8sof
+b1so
+b8u1re
+ba1la
+ba1na
+ba1ro
+ba5ot
+ban6k5r8
+bardi6n
+ba8rd
+bar1di
+basten6
+ba1ste
+bau3sp2
+bb6le
+be1a
+be1en
+be1g2
+be1nä
+be1nü
+be1o2
+be1ra
+be1rü
+be1un
+be1ur
+be3na2c
+be4nor
+be1no
+be5el
+be5e1ta
+be5th6a
+be6n5e2r1s
+be1ne
+be6n5er1w
+be6zwec
+be1z
+bezw8
+be8at.
+be8rac
+be2e8rei
+bee3r4e
+be1hö8
+bei3tr6
+b4e1l8o
+belu3t2
+be1lu
+ben4se6
+be6ns
+ben1d6o
+be2n1d
+bens5el
+be2r1r
+ber8gab.
+be8r1g
+ber1ga
+be1s2p2
+bes5er1h8
+be1se
+be1s8c
+bet5sc
+be2ts
+bfe6st5e
+b1fe
+bga2s5
+b1ga
+b1ge1
+bho1le6
+bi1bl8
+bi1el
+bi1la
+b2il
+bi1na
+bi4no1k
+bi1no
+bi5str6
+bi5tr6
+bi6stu
+bi1lä5
+bit4t5r6
+bi2t1t
+b1kü6
+bl4e4m3o2
+blei3s
+blut3a
+blut5sc
+blu2ts
+blä6s5c
+blü8sc
+bo1c8h
+bo1ra
+bo5d6s
+bo1d
+boe5
+bra2il6
+brast8
+bre4a
+bro1s
+brö2s5c
+bs3er1l
+b1se
+bs3erz
+b2st1h
+bu1ie
+b6ui
+bu6sin
+bu1si
+bu6l6k
+by6te.
+by1t
+bzi1s
+b1zi
+bü1ge6
+büge1l5e
+bür6sc
+bü2r1s
+c1c
+c2l
+c3q
+ca5la
+ca5y
+c2a6re
+cag6
+ce1ro
+celi4c
+ce1li
+celic8h5
+ch1ah
+ch3a2k1t
+ch3e2il
+ch3eis
+ch3ren
+c6hr
+ch3rü
+ch6res
+ch6tin
+ch1ti
+ch8n6ie
+ch1ni
+cha6mer
+cha1me
+choi8d
+c2hoi
+cht3hi
+cht5h6a
+chu4la
+chu2t6t
+ci5tr6
+ck1ei
+c1k1r8
+ck3l8
+ck3n8
+ck5o8f
+c1k2o
+ck5stra
+ckst8
+ckstr6
+ck6s5u
+con6ne
+cos6t
+cö5
+d1ap
+d1ric
+d1sa
+d1sp2
+d1st
+d1sü
+d1ta
+d1te
+d1ti
+d1to
+d1tu
+d3ar1c
+d3d2h
+d4s1pak
+d5de
+d5q
+d5r6a2n1d
+d5rei1fe
+dre2if
+d5tä
+d5ö4st
+d5öl
+d6rec2k
+d6san
+d8e2r1s
+d8se8r1g
+d1se
+d8spä
+da2gr4
+da2r1a8
+dan6ce.
+dan1c
+dan1ce
+dan8ker
+dan1ke
+dani5er
+da1ni
+dan6ie
+danla6
+dar6men
+da6r1m
+dar1me
+ddäm1me8
+d1dä
+ddä2m1m
+de1e
+de1ro
+de2su
+de3cha
+dec8h
+de4mag
+de1ma
+de4s3am
+de1sa
+de4s3an
+de4sau
+de4sin
+de1si
+de4spr6
+de1sp2
+de5an
+de5isc
+de5o6d
+de5ram
+de5us.
+de6s2il
+de8lar
+de1la
+de8mun
+de1mu
+de8nep
+de1ne
+de8sor
+de1so
+de1fe6
+del6s5e
+de2ls
+del6spr6
+del1sp2
+dene6r
+de2r1r
+der5ein
+de1re
+d2erei
+der5um
+d2e1ru
+df2l
+di1gn8
+di1la
+d2il
+di1na
+di3c6hr
+dic8h
+di3p4t
+d2ip
+di5a1ra
+di5ena
+di5o6d
+d2io
+dis1p2
+di5s8p8er
+dis1pe
+di6s5to
+di8sen
+di1se
+di8tan
+di1ta
+di8tin
+di1ti
+dia5c
+di1ce5
+di2l8s
+dis5tra
+distr6
+d1ni6
+dnje6
+dn1j
+do3ran
+do6ber1f
+do6ste
+dor4t3h
+do2r1t
+dott8e
+do2t1t
+dro5x
+droi6
+drö2s5c
+drü5b
+drü8sc
+ds2p2o
+d1sat6
+dse8e
+d2t1s6
+du1b6
+du1e
+du1s
+du5a2ls
+du5ie
+d6ui
+du8ni
+du8sc6hr
+dusc8h
+duf4t3r6
+du2ft
+dur2c
+durc8h3
+dwa8l
+dä6r
+dö8bl8
+dö1b
+dö8sc
+dör6fl
+dör1f
+dö1s3te
+e1ac
+e1ah
+e1a2k1t
+e1al.
+e1a2l1g
+e1a6l1k
+e1a6ll
+e1a2l1t
+e1am
+e1a2n1d
+e1ar.
+e1a6rk
+e1aus
+e1b
+e1che
+e1chi
+e1chu
+e1d
+e1ei
+e1e6ll
+e1e8rd
+e1ex
+e1ha
+e1he
+e1hi
+e1ho
+e1hu
+e1hy
+e1hä
+e1hö
+e1i2rr
+e1j
+e1k2l8
+e1ke
+e1ki
+e1kn8
+e1lu
+e1lä
+e1lü
+e1mu
+e1mä
+e1na1d
+e1no
+e1nös
+e1nüg
+e1on.
+e1o8rd
+e1o8r1g
+e1p2f
+e1pa
+e1pl8
+e1pr6
+e1pä
+e1q
+e1ra.
+e1rap
+e1rat
+e1ro1d
+e1r8o1g
+e1rom
+e1r2on
+e1ros
+e1rot
+e1ry
+e1sa
+e1sc
+e1sp2
+e1str6
+e1sü
+e1ta
+e1te
+e1ti
+e1to
+e1tr6
+e1tu
+e1tä
+e1tö
+e1tü
+e1um.
+e1v
+e1w
+e1z
+e1ä2
+e1ü
+e2l1al
+e2nex
+e2r1or
+e2s1l
+e2s1z
+e2wig
+e3a2r1t
+e3hüt
+e3in1sä
+ei6ns
+e3ny
+e3on1f
+e3r6a2n1d
+e3ra1ne
+e3r2a1ri
+e3r6aum
+e3r4ei.
+e3rol
+e3rop8
+erö8
+e3rös.
+e4l3e2rr
+e1ler
+e4l3o1fe
+e4n3o8rd
+e4nent
+e4r3en1m
+e4r3erz
+e4r3i2n1d
+e4r3u6hr
+e5a8lin
+ea1li
+e5al1f
+e5a6l1p
+e5a2l1w
+e5ar1f
+e5a6r1m
+e5at.
+e5a2t1t
+e5c2l
+e5o6fe
+e5o2k1k2
+eo1k
+e5on1k
+e5on5l6
+e5on1r
+e5opf
+e5ops
+e5or.
+e5r6ab8el
+era1be
+e5ra1bi
+e5r8anz.
+e5r6us
+e5thel
+e5unter
+eun1te
+e5ö8
+e6a5t6l
+e6a1te
+e6au.
+e6b5am
+e1ba
+e6fau
+e6h5ac8h
+e6hap
+e6l3a2r1t
+e6l5a6ns
+ele6h
+e6l5e1he
+e6l5ein1h
+e6l5ersc
+ele2r1s
+e6l5i6ns
+e1li
+e6lan1f
+e6lau1ge
+e6lemen
+e6len1te
+e6n3er1f
+e6n5e6hr
+e6n5eim
+e6n5erla
+ener1l
+e6n5e2s1s2
+en5e2r1s
+e6nerst
+e6nober
+eno1be
+e6p5e6g
+e1pe
+e6pidem
+epi1de
+e6pos.
+e6r1ü2b
+e6r5e6r1m
+e6r5i6n5i6
+e6r5iat
+e6r5int
+e6s5a6v
+e6st5ak
+e1sta
+e6s4ta8b1s
+e6staf
+e8a2ts
+e8cherz
+e8fe8b
+e1fe
+e8i1ni
+e8l1an5l6
+e8le2if
+e8lel
+e8ne2ff
+ene1f
+e8ne8rd
+e8pee
+e8rei1ne
+e8s1ap
+e8s1h
+e8stob
+e1sto
+e8tscha
+e2ts
+etsc8h
+e8ßes
+e1ße
+ea4ben
+ea1be
+ea6nim
+ea1ni
+eb4lie
+ebl8
+eb1li
+eb4s3in
+e8bs
+eb1si
+eb4ser
+eb1se
+eben4s5e6
+e1be
+ebe6ns
+ec6h1r
+e6ch3m
+ech4su
+e2chs
+ech8se2n1d
+ech1se
+eck5an
+ec2k
+ec1ka
+ee3e
+ee3r4e
+ee5a
+ee5g
+ee5isc
+ee5lö
+ee5rä
+ee6le2n1d
+ee1le
+ee6tat
+ee1ta
+ee8reng
+eei4s3t
+eere6s5
+ef3rom
+efr6
+ege6ra
+e1ge
+eglo6si
+eg1los
+eh1le
+eh1mu
+eh1re
+e6hr
+eh1ri
+eh1ru
+eh1w
+eh5a6ns
+eh5auf
+ehl3a
+eh3l5ein
+eh2n5ec
+eh1ne
+ehr1a
+eh6r5um
+ehre6n
+ei1a
+ei1e
+e2i1o
+ei3d4sc
+ei1d
+ei2ds
+ei4dar
+ei4nor
+ei1no
+ei4t3al
+ei1ta
+ei5ru
+ei5s2chn6
+eisc8h
+ei6bar
+ei1ba
+ei6d5ei
+ei1de
+ei6mab
+ei1ma
+ei6n5o1d
+ei6ne1te
+ei1ne
+ei6s5ent
+ei1se
+ei6t5um
+ei1tu
+eit1h
+ei6thi
+ei8der1f
+ei8mag
+ein1a4
+ei8nat
+ei8ner1h8
+ei8ne2s1s2
+ei8no1k
+ei8sab
+ei1sa
+ei8sol
+ei1so
+ei8tho
+eia6s
+eich3a
+eic8h
+eic6h5r
+ei6l1d
+e2il
+ein1g
+ein1k
+eit3ar
+eit8sa2m1t
+ei2ts
+eit1sam
+ek2ni4
+el3ar1b
+el3a6r1m
+e6l5e1pi
+el8soh
+e2ls
+el1so
+el8tent
+el5ten
+elb1st5a
+e2lb
+el8bs
+elf2l
+el1f
+e2l1g2
+el1l8er
+e6ll
+el1le
+elut2
+em8dei
+e2m1d
+em1de
+em8meis
+e2m1m
+em1me
+emo5s
+emu6rk4
+emur2ks5
+en1a6p
+en1a6s
+en1am
+en1ar
+en1sp2
+e6ns
+en1öf
+en2ce
+en1c
+en3a2l1t
+en3an.
+en3ant
+en3anz
+e4n3auf
+en3aus
+e8n3eis
+en3glo
+en5a6ben
+ena1be
+en5a2chs
+ena2c
+enac8h
+en5ac2k
+en5af
+en5a6ll
+en5ec2k
+e2nec
+en5er1w
+e6n5opf
+en5t6ag
+en1ta
+en6ti1d
+en1ti
+en8de2s1s2
+e2n1d
+en1de
+en8se2r1s
+en1se
+en8ter1bu
+en1te
+enter1b
+en8zan
+en1za
+end5er1f
+end5e8r1g
+enda6l
+enn6i6s5
+en1ni
+enn6os4
+en1no
+en6ns8
+eno8f
+ens6por
+ens1p2o
+ens8kl8
+ens1k2
+ent5ric
+en1tr6
+en4t3a5go
+en6u5i
+e1nu
+eo1c
+eo1t
+eo5r6h8
+ep4p3a
+ep5ent
+er1c
+er1o2f
+er2g5h
+er2t1h
+e2r1t
+er3a6si
+er3a8b1s
+er3ac8h
+e2r3a6ll
+er3a2m1t
+er3a6ns
+er3ar1c
+er3auf
+er3ec2k
+e2r3e2s1s2
+e2r3u2ms
+er3zwu
+erzw8
+er5a6ben
+er5aal
+e2r5e2h
+er5e2g1g
+e6r5ein1r
+er5er5o
+er5erst
+ere2r1s
+er5i6ns
+er5it2io
+er2it
+eri1ti
+er5ox
+er5t6her
+er5zwa
+er5äs
+er6nab
+er1na
+er6t5ein
+er5tei
+er8gan.
+er1ga
+era5e
+era5k6l8
+era2t3s
+eri5ak
+erme6n6s
+e6r1m
+er1me
+ero8i1de
+ero5i1d
+ersc8h4
+eru2f4s3
+e1r4uf
+erä8m
+es2p2o
+es2pu
+es3int
+e1si
+es3ur
+e1su
+es4kop
+es1k2
+es1k2o
+es5e1be
+e1se
+ese1b
+es5i6ll
+es2il
+esa8b
+esch4l6
+esc8h
+ese1a
+eser1ve5
+eser1v
+eso8b
+e1so
+es4pei6s5
+es1pe
+est3ar
+e6st5res
+et2t1r6
+e2t1t
+et2th
+e2t3rec
+et5hal
+eth6a
+et6tei
+e1t8ag
+et8se
+et8zent
+e2tz
+et1ze
+et8zw8
+et8a8ta
+etar2i5e
+e1t2a1ri
+eten6te
+etu1s
+eu1a2
+eu1e
+eu1o6
+eu1sp2
+eu5fe
+eu5p
+eu5str6
+eu6n2io
+eu1ni
+eu8zo
+eu2e8rei
+eu1er
+eue1re
+euin5
+e6ui
+e6uk2
+eva2l6s
+eve5r6en
+e1ve
+ever1
+eve2re2
+ev2e1r4i
+ex1or
+e1xo
+ey3er.
+f1fa
+f1fla
+f1q
+f1rib
+f1sc
+f1tak
+f1te
+f1ti
+f1tr6
+f1tu
+f2lix
+f2on
+f2s1er
+f1se
+f3reic
+f3rest
+f5eis
+f5fe
+f5ram
+f5str6
+f5to
+f6eim
+f6f5a6r1m
+f8in.
+f8lanz
+f8r8aß
+f8re.
+fa1na
+fa1sc
+fa3y
+fa5el.
+fa6ch5i
+fac8h
+fa1de8
+fa6del
+fa1d
+fal6lo
+fa6ll
+falt8e
+fa2l1t
+fan4gr4
+far4bl8
+far1b
+far6ba
+far6r5a
+fa2rr
+fau8str6
+fe5rant
+fe6dr4
+fe1d
+fe6str6
+fe6stum
+fe1stu
+fe8stof
+fe1sto
+fe8t8ag
+fe1ta
+feh6lei
+feh1le
+fel5en
+fe1le
+fer1ri8
+fe2rr
+fet6ta
+fe2t1t
+fex1
+2f2f1f
+ff3lei
+ffl8e
+ff4lie
+ff1li
+ff6s5ta
+f2fs
+ff8sa
+ffe5in
+ffe6la
+ffe8ler
+ffe1le
+fgewen6
+f1ge
+fge1w
+fi1la
+f2il
+fi1na
+fi1d4
+fi3ds
+fi6u
+fi8lei
+fi1le
+fi8scho
+fisc8h
+fie1b4
+fil4m5a
+fi2l1m
+fo5ra
+fo5ru
+fo6na
+foh1
+for6t5r6
+fo2r1t
+for8mei
+fo6r1m
+for1me
+for8str6
+fo2r1s
+for8th
+fro8na
+fr2on
+fräs5t
+fs3tät
+f1stä
+ft1h
+ft1sc
+f2ts
+f2t1z
+ft2so
+ft5e6h
+ft5ra1d
+fte1re6
+ft1wi3d4
+f2t1w
+fu8ße2n1d
+fuße6n
+fu1ße
+fun4ka
+fä1c
+fä8ß
+fö1de3
+fün4f3u
+fün1f
+g1da
+g1ha
+g1ho
+g1hö
+g1j
+g1los
+g1nas
+g1q
+g1sc
+g1z
+g2n6ie
+g1ni
+g2s1er
+g1se
+g2s1o
+g2s1u
+g2t1h
+g3a4der
+ga1d
+ga1de
+g3lauf
+g3lein
+g3n6is
+g3te
+g4lo2s1s2
+g5aus
+g5c
+g5henn
+g5lag
+g5le1b
+g5luf
+g5rahm
+g5reit
+gr2i4e
+g5riem
+g5ring
+g5sah
+g5s8e2il
+g6l2io
+g8neu
+g1ne
+ga1la
+ga1na
+ga5isc
+ga5n1j
+ga5ro
+ga6bl8
+ga6st3re
+ga1str6
+ga8ho
+ga8sa
+ga8sc
+gan5er1b
+ga1ne
+1gan6g5a
+gau5fr6
+ge1a2
+ge1e2
+ge1g2l
+ge1im
+ge1or
+ge1ra
+ge1ro
+ge1rä
+ge1rü
+ge1s
+ge3nä
+ge5lö
+ge5unt
+ge6an
+ge6es
+ge6rab
+ge8at.
+ge8nin
+g2e1ni
+geist5r6
+gel8bra
+ge2lb
+gel1br
+gel2t8s
+ge2l1t
+gen3k
+ger8au
+ger8i6ns
+g2e1ri
+ge1s2p2
+gi1na
+gi3str6
+gi5la
+g2il
+gi8me.
+gi1me
+glan4z3
+gli8a
+go1ra
+goe1
+gon6i5e
+gra4s3t
+gra8m
+gre6ge
+gro6ß
+gs1ab
+gs1ak
+gs1an
+gs1ar
+gs1au
+gs1e1f
+gs1in
+g1si
+gs1pr6
+gsp2
+gs5ein
+g1s8a2n1d
+gso2r
+gu1s
+gu2tu
+gu5as
+gut3h
+gy1n
+h1a2t1m8
+h1b2
+h1c
+h1d
+h1e2if
+h1f2
+h1g
+h1h
+h1iat
+h1j
+h1k2
+h1las
+h1l8aß
+h1le1d
+h1läs
+h1nol
+h1p
+h1q
+h1rai
+h1re1d
+h1ric
+h1sc
+h1sp2
+h1str6
+h1sü
+h1te
+h1ti
+h1tu
+h1v
+h1z
+h2l2if
+h1li
+h2lim
+h2l2ip
+h2lit
+h2nee
+h1ne
+h2nei
+h2nel
+h2n2ip
+h1ni
+h2nit
+h2n2uc
+h1nu
+h2nu1d
+h2nul
+h2on
+h2rom
+h2t1ec
+h2t1eu
+h3ar1be
+h3ar1me
+ha6r1m
+h3e2cht
+hec8h
+h3er1bi
+her1b
+h3lein
+h3l6o1se
+h3reg
+h3weis
+h4lor
+h4r3er1b
+h1rer
+h4s3tum
+h1stu
+h4sob
+h1so
+h4spun
+hs1pu
+h4t3e2if
+h4t3ein
+h4t3er1h8
+h4t3ex
+h5an1th
+h5e6he.
+he1he
+h5lai
+h5l6er.
+h1ler
+h5r6aum
+h5ta.
+h5tab
+h5tanz
+h5taub
+h5tüm
+h5uhr.
+hu6hr
+h5up.
+h5weib
+h6jo
+h6ne2tz
+h6rum
+h6s5a2m1t
+h1sam
+h6s5ec
+h1se
+h6s5er1l
+h6t5ersc
+hte2r1s
+h6te2mp
+h6ter1fü
+hter1f4
+h8lin1f
+h8rank
+h8r4ei.
+h8re2r1t
+h8sp8aß
+h8spel
+hs1pe
+h8teim
+h8ten2t1f2
+h8ter1gr4
+hte8r1g
+h8terst
+h8te1se
+h8te2s1s2
+ha1la
+ha1na
+ha2t1h
+ha5el.
+ha5ro
+ha8del
+ha1d
+ha1de
+h8a8ß
+ha1b8r
+hade4n
+haf6tr6
+ha2ft
+hal4b5a
+ha2lb
+han6dr4
+ha2n1d
+han6ge.
+han1ge
+hau6san
+hau1sa
+he1ro
+he1st
+he1xa
+he2bl8
+he1b
+he2nu
+he3cho
+he3i2s1m
+he4r3um
+h2e1ru
+he4s1pe
+he1sp2
+he5d6s
+he1d
+he5i2st.
+he5rak
+he5th
+he6mer
+he1me
+he8q
+he8ro8b
+hei8ds
+hei1d
+hei2t8s3
+hek6ta
+he2k1t
+hel8lau
+he6ll
+hel1la
+hen5e2n1d
+h6enen
+he1ne
+hen5klo
+henkl8
+hen6tri
+hen1tr6
+her3ab
+her3an
+her3au
+her6z5er
+her1ze
+he1ta6
+het5am
+heu3sc
+hey5e
+hgol8
+h1go
+hi1sp2
+hi1th
+hi2nu
+hi5k1t
+hi1k
+hi5nak
+hi5ob
+h2io
+hi5tr6
+hi2e6r5i
+hil1a2
+h2il
+hil4fr6
+hil1f
+hin4ta
+hir5n5e
+hir6ner
+hi2rn
+h8l1c
+h2l5int
+hl8am
+hla4ga
+hla6gr4
+hla2b1b4
+hme5e
+h1me
+hn3eig
+hn5sp2
+h6ns
+h2n8erz
+hne4p3f
+hne8n
+ho1ra
+ho3s1l
+ho4l3ar
+ho1la
+hos1p2
+ho4spi
+hoc8h1
+hoh8lei
+hoh1le
+hpi6
+hr1c
+hr1z
+hr2t1h
+h2r1t
+hr5i6ns
+hr6t5er1l
+hr6t5ra
+hrtr6
+hr8tri
+hrcre8
+hr1c6r
+h8r1g2
+hs3ac8h
+hs3u2n1d
+h1su
+hs6p2o
+hs8erle
+ht1ak
+ht1ar
+ht1at
+ht1he
+ht1sc
+h2ts
+ht3ac
+ht3ang
+h4t3e2ff
+hte1f
+h2t3e1he
+h4t3eis
+ht5hu
+ht5rak
+htr6
+ht6sex
+ht1se
+ht8s1k2
+ht8so
+hte8ren
+hte1re
+hts3ah
+h2tz8
+hu6b5r
+hu8lent
+hu1le
+hu8lä
+hub5l8
+huh1l
+huld5a6
+hu6ld
+hä8kl8
+hä1k
+hä8sche.
+hä1sche
+häsc8h
+hä2l8s
+häm6a8tu8
+hä1ma
+hä2t1s
+häu4s3c
+hö6s
+hös5c
+hüh1ne6
+hül4s3t
+hü2ls
+hütte8re
+hü2t1t
+i1af
+i1al.
+i1al1a
+i1a2lb
+i1a6ld
+i1al1f
+i1a2l1g
+i1a6l1k
+i1a6ll
+i1a6l1p
+i1a8l1r
+i1a2ls
+i1a2l1t
+i1al1v
+i1an.
+i1ang
+i1ant
+i1anz
+i1ar.
+i1as.
+i1a2s1m
+i1a2s1s2
+i1at.
+i1au
+i1che
+ic8h
+i1chi
+i1cho
+i1chu
+i1ei
+i1en.
+i1e2n1d
+i1en1p2
+i1en1r
+i1enz
+i1e2t1t
+i1fa
+i1fre
+ifr6
+i1ha
+i1he
+i1hi
+i1hu
+i1j
+i1k
+i1lag
+i1lau
+i1le
+i1lo
+i1lu
+i1lä
+i1mu
+i1mä
+i1nat
+i1no
+inä2
+i1när
+inö8
+i1nös
+i1o8x
+i1ol.
+i1om.
+i1on.
+i1ont
+i1or.
+i1os.
+i1ot.
+i1p2l8
+i1pa
+i1pi
+i1pr6
+i1q
+i1ra
+i1re
+i1ri
+i1ro
+i1sa
+i1ta
+i1te
+i1thi
+i1tho
+i1ti
+i1to
+i1tri
+itr6
+i1tu
+i1tä
+i1tü
+i1u
+i1w
+i1xe
+i1z
+i1ä6r
+i1ö8
+i2e1re
+i2n1ei
+i1ne
+i2s1au
+i2t1a2m
+i2vob
+i3a6l1h
+i3alz
+i3a2n1d
+i3ank
+i3e6ll
+i3en1f
+i3ern.
+ie2rn
+i3oral
+i4blis
+ibl8
+ib1li
+i4s3er1h8
+i1se
+i5a2d1n6
+ia1d
+i5ak.
+i5alei
+ia1le
+i5a2l1w
+i5ann
+i5a2rr
+i5a2st.
+i5a2ts
+i5a2z1z
+ia1z
+i5enn
+i5ensa
+ie6ns
+i5en1v
+i5f6lie
+if1li
+i5gla
+i5go
+i5lac
+i5las
+i5mö
+i5nec
+i5ny
+i5o8p1t
+i5on1b2
+i5ops
+i5orc
+i5r6us
+i5ry
+i5rä
+i5s1ty1
+i5sö
+i5t6hr6
+i5xa
+i5ät.
+i5äv
+i6a1p2o
+i6b5eig
+i1be
+i6b5ei1s
+i6b5unt
+i1bu
+i6b1r2ig
+i1br
+i6büb
+i1bü
+i6cher1b
+i6diot
+i1di
+id2io
+i6fau
+i6k5unt
+i1ku
+i6kak
+i1ka
+i6kes
+i6sar
+i6v5e1ne
+i1ve
+i6va1d
+i6z5w8
+i6ß5e2r1s
+i1ße
+i8ge2s1s2
+ige1s
+i8ham
+i8ha6ns
+i8hum
+i8kerz
+i8lel
+i8ma2r1t
+i1ma
+i8me1le
+i1me
+i8mi1d
+i1mi
+i8ner1w
+i8s5tum
+i1stu
+i8sa2m1t
+i1sam
+i8scheh
+i1sche
+isc8h
+i8s6chei
+i8si2n1d
+i1si
+i8ta1x
+i8tersc
+ite2r1s
+i8ti8d
+i8tof
+i8vei
+i8ver1h8
+iver1
+i8vur
+i8zir
+i1zi
+ia5na
+ia6rab
+ia1ra
+ia1n8e
+ia8ne8b
+ib2le
+ic5l
+ich1l6
+i2ch1n6
+i8ch1w
+i6ch3m
+i6ch5ei
+i6ch5i6ns
+icht3r6
+i2cht
+icht5an
+ick6s5te
+ic2k
+i2c2ks
+ickst8
+i2d1t
+id3a6r1m
+id5rec
+idr4
+ide5rö8
+ide8na
+ie1a
+ie1e8
+ie2bl8
+ie1b
+ie2dr4
+ie1d
+ie2f1l
+ie1f
+ie1b1r
+ie4bre
+ie4fro
+iefr6
+ie4l3ec
+ie1le
+i1e4lek
+ie4rap
+ie4rec
+ie5o
+ie5the
+ie5un
+ie6b5ar
+ie1ba
+ie6f5a1d
+ie6r5ein
+i2erei
+ie6r5eis
+ie6s5che
+ie1sc
+iesc8h
+ie6t5ri
+ie1tr6
+ie6tau
+ie1ta
+ie8bra
+ie8bä
+ie8lei
+ie8rum
+i2e1ru
+ie8ru2n1d
+ie8te2r1t
+ie1te
+iebe4s3
+ie1be
+ie2f1t
+ie2f5f
+ie1n6e
+ien6ne.
+ien1ne
+ien8stal
+ien1sta
+ier3a4b
+ie1r8er
+iex5
+if1fr6
+i2ff
+if5ang
+if5lac
+if6t5r6
+i2ft
+ift5a
+ig2ni
+ign8
+ig3a2r1t
+i1ga
+i2g3rot
+i1gr4
+ig3s2p2
+i2gs
+ig5he
+ih1n
+i6h1r
+ih1w
+ii2s
+ii2t
+ik4ler
+ikl8
+il2fl
+il1f
+il3a6ns
+i4l3ipp
+i1li
+il2ip
+il6auf
+il6l5enn
+i6ll
+il1le
+ile8h
+ilt8e
+i2l1t
+i2m1b2
+imme6l5a
+i2m1m
+im1me
+in1au
+in1äs
+in3o4ku
+ino1k
+in3the
+in4d3an
+in5sau
+in5t2r6
+in5öd
+in8kät
+in1kä
+in8nan
+in1na
+ina5he
+i1n2ah
+inau8s
+ind2r4
+ing5s6o
+in2gs
+ini5er.
+i1ni
+in6ie
+inoi8d
+ins4ze
+ins1z
+io1a8
+io1c
+io2di
+io1d
+io3rat
+io1de4
+ioi8
+i1o6n2s1
+ir2m1o2
+i6r1m
+ir5rho
+i2rr
+irr1h8
+ir6bl8
+ir1b
+ir6sc6h5r
+i2r1s
+irsc8h
+ir6schl6
+ir8me8d
+ir1me
+ir8nak
+i2rn
+ir1na
+is3e2rr
+is4kop
+is1k2
+is1k2o
+is6por
+isp2
+is1p2o
+is8e1le
+isc6h3r
+is6ch5m
+ischä8
+ise3ra
+isi6de
+isi1d
+iso1n5e
+i1so
+is2on
+it1sc
+i2ts
+it2se
+it3ran
+it3rau
+i4t5ab.
+it5spa
+itsp2
+it6z1w8
+i2tz
+it6z5e8r1g
+it1ze
+i4t8hä
+it8tru
+i2t1t
+ittr6
+iti6kl8
+iti1k
+itmen4
+i2t1m8
+it1me
+itr2i5o
+itä6r5e8
+ität2
+itä2ts5
+iu6r
+iva8tin
+iv2a1ti
+iwi2
+ize8n
+i1ze
+iä8m
+iü8
+ja5la
+je2t3r6
+jo1ra
+jo5as
+jou6l
+ju1s
+ju5cha
+j2uc
+juc8h
+jugen4
+ju1ge
+juge2n1d5
+jun2g5s6
+k1q
+k1sa
+k1sc
+k1spr6
+ksp2
+k2lim
+k2lin
+k2ni
+k2s1ex
+k1se
+k2s1uf
+k1su
+k2t1h
+k3en2t1f2
+k3leib
+k3lek
+k3lor
+k3ou
+k3u6hr
+k5ente.
+ken1te
+k5erlau
+ker1l
+k5lag8er
+kla1ge
+k5spat
+k5s1pe
+k6sab
+k6san
+k8sa2m1t
+k1sam
+k8sp2il
+k1spi
+k8tein
+k8tin1f
+ka1la
+ka1na
+ka1ro
+ka1rä
+ka5r6a
+k8a6pl8
+ka6te1b
+ka1te
+ka6l5d
+ka2m5t
+kar6p5f
+kar1p
+kasi5e
+ka1si
+kat8ta
+ka2t1t
+kau3t2
+kau2f6s
+ke1ra
+ke6lar
+ke1la
+ke8leis
+ke1le
+k4e8lo
+keh2r6s
+ke6hr
+kehrs5a
+ki5fl
+k2if
+ki5os
+k2io
+ki5sp2
+ki5th
+kin2g6s5
+kle4br
+kle1b
+kle5isc
+kman6i5e
+k1ma
+k3man
+kma1ni
+knä8
+ko1a2
+ko1i
+ko1op
+ko1or
+ko3ra
+ko5ru
+ko5t6sc
+ko2ts
+ko6de.
+ko1d
+ko1de
+ko6min
+ko1mi
+ko6pht2
+ko1ph
+koi8t
+kor6d5er
+ko8rd
+kor1de
+kre5i1e
+ks6por
+ks1p2o
+ksa2l8s
+k1sal
+kst8
+k2t1s
+k2t3rec
+ktr6
+kt5a6re
+kta8l
+kte8re
+ku1c8h
+k2uc
+ku1ta
+ku4ro
+ku5ie
+k6ui
+ku8rau
+ku1ra
+ku8ß
+kuc2k8
+ku2m2s1
+ku6n2s
+kunf2ts5
+kun1f
+kun2ft
+kunst3
+kurz1
+ky5n
+kä1se5
+kö1c
+kö1s
+kü1c
+kü1s
+kür6sc
+kü2r1s
+l1che
+lc8h
+l1chi
+l1f
+l1la
+l1le
+l1lo
+l1lu
+l1lä
+l1na
+l1no
+l1q
+l1sa
+l1sc
+l1sp2
+l1str6
+l1sü
+l1u6hr
+l1v
+l1öl
+l2on
+l2p1t
+l2t1ho
+l3ar1be
+lar1b
+l3u2r1t
+l3zwei
+lzw8
+l4b3i6ns
+l1bi
+l4d3ei
+l1de
+l4l3eim
+l4le1ti
+l4s3e2r1s
+l1se
+l4t3ein
+l4t3hei
+l5blo
+lbl8
+l5cho
+l5l2ip
+l1li
+l5lü
+l5o4fen
+lo1fe
+l5s6la
+ls1l
+l5ten
+l6düb
+l1dü
+l6er.
+l6l5ei1se
+l6lüb
+l6m5o6d
+l1mo
+l6s5e8r1g
+l6s1a6r1m
+l6t5eng
+l6t5er1p
+l6t5i6b
+l8ar.
+l8bab
+l1ba
+l8bauf
+l8be1de
+l1be
+lbe1d
+l8che2r1t
+l8en.
+l8er1gr4
+l8gh
+l8keim
+l8kj
+l8la2b1t
+l8pho
+l1ph
+l8p1n
+l8sec
+l8s1h
+l8su1ni
+l1su
+l8trö
+ltr6
+l8ze2s1s2
+l1ze
+l8zo8f
+l1zo
+la1na
+la1sc
+la2gn8
+la5ra
+la6mer
+la1me
+la6r5a6s
+la8dr4
+la8rag
+la8ran
+la8rei
+l2a1re
+la8sa
+la8sta
+la1b2r
+lac6h3r
+lac8h
+la2f5t
+lan4d3a
+lan4d3r4
+lan4gr4
+lap6pr6
+lap8p1l8
+la4r4af
+l2a1t8i
+lb1st3e
+l8bs
+lbst5an
+lb1sta
+l6ch3m
+l8ch5w
+ld1re
+ldr4
+le2bl8
+le1b
+le3s1k2o
+les1k2
+le3th6a
+le4gas
+le1ga
+le4r3er
+le1re
+le5xe
+le6l5e2r1s
+le1le
+le1ler
+le6p2ip
+le8bre
+le1br
+le8in1f
+le8ne2n1d
+l6enen
+le1ne
+le8reis
+l2erei
+le8re2n1d
+lech2t6s5
+lec8h
+le2cht
+led2r4
+le1d
+lei6br
+l4e1mo2
+len8er1w
+lesi5e
+le1si
+le2t1s
+leu4s3t
+lge2n1d8
+l1ge
+lg2lie3
+lg1li
+l3glie1d6
+li1ar
+li1as
+li1en
+li1g6n8
+li1l8a
+l2il
+li1na
+li8dr4
+li1d
+li8e2r1s
+li8e2r1t
+li8ga8b
+li1ga
+li5en6n
+lin2gs5
+lin2k4s3
+lion5s6t
+l2io
+li1o6n2s1
+livi5e
+l2i1v
+lk2l8
+lk2sa
+l2ks
+lk2se
+lko8f
+l1k2o
+lkor8
+l2l1b
+l8l1c
+l6l1d6
+ll3a4be
+l4l3o2r1t
+l4l3u8r1g
+ll5o1v
+ll6spr6
+l2ls
+ll1sp2
+ll8an5l6
+ller3a
+l1ler
+llte8
+l2l1t
+lo1ra
+lo1ru
+lo6br
+lo6ve
+lo1v
+lo8sei
+l6o1se
+lo1wi5
+lp2f
+lp4s3te
+l2pst
+ls2pu
+ls4por
+ls1p2o
+lt1sc
+l2ts
+lt3her
+lt4s3o
+l6t5a2mp
+l1t5u2ms
+lt6s1er
+lt1se
+lt2i1l
+lu1en8
+lu2dr4
+lu1d
+lu2t1r6
+lu3str6
+lu3the
+lu4sto
+lu5it
+l6ui
+lu5ol
+lu6g5r4
+lu6st5re
+lu6t5e6g
+lu1te
+lu6t5or
+lu1to
+lu6tal
+lu6ß5
+lu8br
+lu8su
+lu8te8r1g
+luf8tr6
+lu2ft
+luft3a
+lv2e5r6u8
+l1ve
+lver1
+ly1no
+lya6
+lz5wu
+lä5on
+lä5v
+lä6sc
+lä2t1s
+läu6s5c
+lö1ß6t
+m1n8
+m1pa
+m1pi
+m1pl8
+m1pr6
+m1pö
+m1sc
+m1str6
+m2m1n8
+m2plu
+m2t1h
+m3spri
+msp2
+mspr6
+m5ni
+m6m5ak
+m1ma
+m6ma1d2
+m8menth
+m1me
+m8men2t1w
+m8män
+m8tein
+ma1la
+ma1r4o
+ma1sc
+ma1tö
+ma5chan
+mac8h
+ma5el
+ma5yo
+ma8lau
+m8a1lu8
+ma8lut
+ma1d2
+ma1g8n8
+mali5e
+ma1li
+ma2n1d2
+man3ds
+man2i5o
+ma1ni
+mar8kr8
+ma6rk
+mar8s6ch2m
+ma2r1s
+marsc8h
+m1b6r
+md6sä
+m2ds
+me1c8h
+me1ra
+me1ro
+me1th
+me5isc
+me5nal
+me6s5ei
+me1se
+me8ß
+mel8sa
+me2ls
+men4dr4
+me2n1d
+men8schl6
+me6ns
+men1sc
+mensc8h
+men8s8chw
+mer4gl
+me8r1g
+mi1a
+mi1la
+m2il
+mi1na
+mi4s3an
+mi1sa
+mi5nü
+mi5t6ra
+mitr6
+mi6a1le
+mi6ß5
+mit1h
+mitta8
+mm5sp2
+m2ms
+mm5u2ms
+mme6ra
+mmu2t5s
+mo1ra
+mo1sc
+mo1sp2
+mo4dr4
+mo1d
+mo4kla
+mo1k
+mok2l8
+mo4n3o1d
+mo1no
+mo5ar
+mo8gal
+m8o1g
+mo1ga
+mo6l5d
+mon8do
+mo2n1d
+mon1t8a
+mo1pa6
+mor8d5a
+mo8rd
+moy5
+mp2li
+mp8th
+mp1t
+mpf3l
+mpfa6
+mphe6
+m1ph
+mpin6
+mpo8ste
+m1p2o
+mprä5
+mput6
+mpu5ts
+m1pu
+ms5au
+ms6p2o
+msch4l6
+msc8h
+mt1ar
+mt6se
+m2ts
+mt8sä
+mu1ta
+mu5e
+mu1mi1
+mun6dr4
+mu2n1d
+muse5e
+mu1se
+mvol2
+mvo6ll3
+mä1s
+mä5tr6
+mä6kl8
+mä1k
+mäu4s3c
+mö1b2
+n1a8b1s
+n1a8b1z
+n1afr6
+n1a2k1t
+n1a2mp
+n1a2n1d
+n1a6ns
+n1b2
+n1c
+n1f
+n1gy
+n1h
+n1j
+n1k2n8
+n1ke
+n1ki
+n1m
+n1na
+n1no
+n1ny
+n1nä
+n1nö
+n1nü
+n1ony
+n1p2
+n1q
+n1r
+n1s2pe
+nsp2
+n1sac
+n1sc
+n1spr6
+n1str6
+n1ta
+n1te
+n1ti
+n1to
+n1tr6
+n1tu
+n1tä
+n1tö
+n1tü
+n1v
+n1za
+n1zw8
+n1öl
+n2d1ak
+n2d1ei
+n1de
+n2d1j
+n2g1um
+n1gu
+n2z1ar
+n3aug
+n3ther
+n3thus
+n4t3a4go
+n1tag
+n4t3rin
+n4t3rot
+n4trü
+n5ab.
+n5a6uk
+n5klö
+nkl8
+n5l6
+n5s6te.
+n1ste
+n5u1ri
+n5ärz
+n5ö2z
+n6and.
+n6d5o2r6t
+n1do
+n6glic
+ng1li
+n6ie
+n6i1k
+n6is
+n6ji
+n6küb
+n1kü
+n6s5tat.
+n1sta
+n6se6rk
+n1se
+n6stob
+n1sto
+n6z5unt
+n1zu
+n6z5a6b
+n6zaus
+n6zwir
+n1zwi
+n8a8rd
+n8a6rk
+n8ar1v
+n8derhi
+nder1h8
+n8du2m1d
+n1du
+n8ers.
+ne2r1s
+n8g5ac
+n1ga
+n8gäl
+n1gä
+n8k5not
+n8ka1d
+n1ka
+n8kerla
+nker1l
+n8krü
+n1kr8
+n8kuh
+n1ku
+n8ne8r1g
+n1ne
+n8s5er1f
+n8sel1f
+n8se8r1g
+n8sint
+n1si
+n8tin1h
+n8töl
+n8zof
+n1zo
+n8äl
+na1m2n8
+na2ra
+na4kol
+na1k2o
+na4mer
+na1me
+na5el
+n6a5um
+na6bä
+na8ha
+na8ho
+na1ch3e
+nal1a
+nan6ce
+nat6s5e
+na2ts
+nbau5s
+n1ba
+n6ch5m
+nc8h
+nche5e
+nd3rec
+ndr4
+nd3rot
+n6d5a6ns
+nd6sau
+n2ds
+nd1sa
+nd8sa2m1t
+nd1sam
+nda8d
+nde4se
+nde8lac
+nde1la
+nde8stal
+nde1sta
+ndel6sa
+nde2ls
+ndn6is5
+n2d1n6
+nd1ni6
+ndt1h
+n2dt
+ne1g4l
+ne1ra
+ne2bl8
+ne5as
+ne5en
+ne5r8al
+ne8ras
+nen1a
+nen3k
+nere5i6d
+ne1re
+n2erei
+nerfor6
+ner1f
+ner1fo
+nesi3e
+ne1si
+net1h
+neu4ra
+neu5sc
+nf2l
+n2f5f
+nf5lin
+nf1li
+nflei8
+nfl8e
+nft8st
+n2ft
+nf2ts
+ng1h
+ng2se4
+n2gs
+ng2si
+ng3r2ip
+n1gr4
+n6g5d
+ng8en
+n1ge
+ng8ru
+nge8ram
+nge1ra
+n2g1g2
+nhe6r5e
+ni1bl8
+ni1en
+ni1la
+n2il
+ni1th
+ni1tr6
+ni3str6
+ni5chä
+nic8h
+ni5na
+ni8de1e
+ni1d
+ni1de
+ni8e2t1n
+ni8nit
+ni1ni
+nie6s5te
+niet5h
+nk3rot
+nk5a6ns
+n6k5in1h
+nk5s1p2o
+n2ks
+nksp2
+nk6t5r6
+n2k1t
+nli4mi
+n1li
+nme6n4s
+n1me
+nn4t3ak
+nn1ta
+nn2i5o
+n1ni
+nnt1h
+nnu1e
+n1nu
+no3ra
+no4b3la
+no1bl8
+no4dis
+no1d
+no1di
+no4mal
+no1ma
+n1o4ram
+no5a
+no5isc
+no6die
+no8ia
+no8tan
+no1ta
+no8ter
+no1te
+no1che8
+noc8h
+noni6er
+n8o1ni
+non6ie
+nor6da
+no8rd
+noty6pe
+no1ty1
+nrös3
+ns3ang
+ns5er1w
+nt1h6a
+n2t1s
+n2t1z
+nt2s1k2
+n2t3a6rk
+n2t3a2r1t
+n4t3eis
+n2t3o4ti
+n2t3rec
+nt5an1h
+nt5hie
+nt6har
+nt8rea
+nt8rep
+nt8rop
+nte5n6ar
+nt2e6rei
+nte1re
+nte8nei
+nte1ne
+nter3a
+nti1c
+nti1t
+ntlo6b
+n2t1l
+ntmen8
+n2t1m8
+nt1me
+ntra5f
+ntra5ut
+nts6an
+nu1a
+nu3s1kr8
+nus1k2
+nu5el
+nu5en
+nu5ie
+n6ui
+nu5ta
+nzi4ga
+n1zi
+nä6m
+nä6re
+o1a2m
+o1an
+o1bl8
+o1che
+oc8h
+o1d
+o1e2l
+o1e2p
+o1e1f
+o1er.
+o1fa
+o1fr6
+o1ha
+o1he
+o1hi
+o1ho
+o1hu
+o1hy
+o1hä
+o1id.
+oi1d
+o1i2s1m
+o1j
+o1la
+o1le
+o1lo
+o1lu
+o1mu
+o1mä
+o1mö
+o1na
+o1no
+o1nä
+o1pa
+o1pi
+o1pl8
+o1pr6
+o1pä
+o1q
+o1ra.
+o1re
+o1ro
+o1r6us
+o1ry
+o1rä
+o1sa
+o1s1k2
+o1ta
+o1te
+o1th
+o1ti
+o1to
+o1tri
+otr6
+o1tro
+o1tu
+o1v
+o1wa
+o1we
+o1wi
+o1wo
+o1xe
+o2b1li
+o2d1ag
+o2mab
+o1ma
+o2p1li
+o2s1o2d
+o1so
+o2t6h1r6
+o3chi
+o3chro
+oc6hr
+o3chu
+o3i2st.
+o3p4ter
+o3pf1li
+opf2l
+o3ra1d
+o3s4p8er
+osp2
+os1pe
+o3stra
+ostr6
+o3t1su
+o2ts
+o4b2e1ru
+o4no2k1t
+ono1k
+o4stam
+o1sta
+o5ab.
+o5e6b
+o5e6der.
+oe1d
+oe1de
+o5e8x
+o5fla
+o5i6tu
+o5ia
+o5i2ds
+o5i8s2ch.
+oisc8h
+o5p6n
+o5pö
+o5ras
+o5re.
+o5s6ze
+os1z
+o5u6gr4
+o5wu
+o5yo
+o6ber1h8
+o6h5eis
+o6n5er1b
+o1ne
+o6rang
+o1su6
+o6s5ur
+o6ske
+o6ski
+o6stau
+o6taus
+o6ter1w
+o6wer.
+oa2l
+o8ala
+o8chec
+o8i1di
+ok2l8
+o8klä
+o8mau
+o8merz
+o1me
+o8munt
+o1mun
+o8r5ein
+o8ra2d1d
+o8rauf
+o8se6rk
+ob1ac
+o1ba
+ob5s1k2
+ob5s1z
+ob8sta
+obe4ra
+obe6ser
+obe1se
+obst5re
+obstr6
+och1l6
+o8ch1w
+o6ch3m
+och3to
+o2cht
+oche8b
+ocho8f
+od1tr6
+o2dt
+od2dr4
+o2d1d
+ode5i
+o1de
+ode6n5e
+oe8du
+of6f5la
+of8fan
+of1fa
+of8fin
+og2n8
+oh1le
+oh1re
+o6hr
+oh1ru
+oh1w
+oh2ni
+oh4l3er
+ohl1a
+oi8dr4
+oiset6
+oi1se
+ok3lau
+o1kla
+o2l1s
+ol2k2l8
+o6l1k
+ol6gl
+o2l1g
+ol6lel
+o6ll
+ol1le
+ol6s1k2
+ol8lak
+ol1la
+ol8lauf.
+ol8le2s1s2
+old5am
+o6ld
+old5r4
+o1le1r
+ole3u
+ole5in
+ol2k4s1
+oly1e2
+om5sp2
+o2ms
+o3m6an
+om1be4
+o2m1b
+o2n1a1x
+on1k
+on6n5a6b
+on1na
+on8ent
+ona8m
+oni5er.
+on6ie
+ono1c
+on2t1s8
+oo2pe
+oo2sa
+oo8f
+op6p1l8
+op8pa
+opf3lo
+opf3r6
+or1r2h8
+o2rr
+or1ü2
+or2gl
+or4d3a4m
+or1da
+or4dos
+or1do
+or5cha
+orc8h
+or6enn
+or6t5an
+o2r1t
+or8dei
+or1de
+or8deu
+or8fla
+or1f
+or8f1li
+or8nan
+o2rn
+or1na
+or8nä
+or8tau
+or8te1re
+o2re2h
+ore5isc
+os2kl8
+os2k2o
+os2kr8
+o1sa3i
+osn6i5e
+os1n
+os1ni
+ost3re
+ot1re
+ot1sc
+ot2t3h
+o2t1t
+ot2t5r6
+ot3auf
+ot6t5e8r1g
+ot8tö
+othe5u
+oto1a
+ou1t6a
+ou3e
+ouf1
+ou5f6l
+ou5ie
+o6ui
+ou6rar
+ou1ra
+o1wi1d6
+oy1e
+oy1i
+oy5al.
+oza2r
+ozo3is
+o1zo
+oß1t
+oß5e2l1t
+o1ße
+oö8
+p1b
+p1g
+p1k
+p1n
+p1pa
+p1pi
+p1v
+p1z
+p2f1ec
+p1fe
+p2lau
+p2li1z
+p2p1h
+p3lein
+p3w
+p4fei
+p5ho6ll
+p5pö
+p5schl6
+psc8h
+p5ä6m
+p6li1k
+p6p5ei
+p1pe
+p8to8d
+pa1la
+pa4nor
+pa1no
+pa4th6a
+pa1th
+pa6ce
+pa8na8t
+pa8rei
+p2a1re
+pag2
+pa6n1s2
+pani5el
+pa1ni
+pan6ie
+pap8s
+par5o6ti
+par8kr8
+pa6rk
+par2o8n
+pas6sep
+pa2s1s2
+pas1se
+pau3sc
+pe1ra
+pe3rü
+pe1re6
+pe4rem
+pe4sta
+pe5isc
+pen3k
+pen8to8
+per5ea
+per5e1b
+per8ran
+per1ra
+pe2t2s
+p2f1f
+pf3lei
+pfl8e
+pf3ta
+pf8leg
+ph3th6a
+ph5e1me
+phi6e
+phu6
+pi1en
+pi1la
+p2il
+pi1na
+pi1s2k2
+pi1th
+pi5e2rr
+pion6i8e
+p2io
+pi8o1ni
+plo8min
+plo1mi
+po1ra
+po3ny
+po5rö
+po8lan
+po1la
+po1ly1
+por4t3h
+po2r1t
+pp1l8
+pp1s
+pp5f
+pp5ren
+ppr6
+ppe6la
+ppp6
+pro6t5a
+pro8p1t
+prote5i
+pro1te
+prä3l
+prä1te4
+p2t1s
+pu1b2
+pu1ta
+pu2dr4
+pu1d
+pu5s6h
+pu8rei
+pu1re
+puf8fr6
+pu2ff
+pu6n8s
+py5l
+pä6der
+pä1de
+pä8nu
+pä2t1s
+pät5h
+r1a2b1t
+r1a6r1m
+r1b
+r1che
+rc8h
+r1da
+r1dr4
+r1f
+r1k2n8
+r1ke
+r1ki
+r1l
+r1na
+r1no
+r1nä
+r1nü
+r1p
+r1q
+r1ra
+r1re
+r1ri
+r1ro
+r1ru
+r1rä
+r1rö
+r1rü
+r1v
+r1w
+r1x
+r1za
+r1öf
+r1ör
+r2g1ni2
+rgn8
+r2ie
+r2is
+r2on
+r2ps
+r2p1t
+r2s1h
+r2s1l
+r2s1z
+r3anal
+r3an1gr4
+r3eint
+r3en1ni
+r3k2lin
+rkl8
+rk1li
+r3o2r1t
+r3ry
+r4ei.
+r4g3ret
+r1gr4
+rma4p
+r4m3a1ph
+r1ma
+r4san1f
+r4t3er1h8
+r4t3hei
+r4t3int
+r5atta
+ra2t1t
+r5au4sta
+r5ertr6
+re2r1t
+r5erwec
+rer1w
+r5erö8
+r5li
+r5ne
+r5rhö
+rr1h8
+r5t6hu
+r5tei
+r6a2n1d
+r6b1ler
+rbl8
+r6kuh
+r1ku
+r6m1an5l6
+r3man
+r6n5oc
+rn2ei
+r6ne2if
+r6nex
+r6n1h
+r6sab
+r6s1ka
+rs1k2
+r6ski
+r6stauf
+r1sta
+r6us
+r6z5al
+r6z5er1f
+r1ze
+r8anz.
+r8bre2cht
+r1br
+rbrec8h
+r8ces
+r1ce
+r8da2chs
+r1dac
+rdac8h
+r8d1ap
+r8dir
+r1di
+r8drau
+r8e1di
+re1d
+r8fe8rd
+r1fe
+r8gah
+r1ga
+r8gob
+r1go
+r8in1de
+ri2n1d
+r8in1sp2
+r8min1f
+r1mi
+r8mob
+r1mo
+r8s1k2o
+r8ster1w
+r1ste
+r8stran
+rstr6
+r8taut
+r8te1pe
+r8terla
+rter1l
+2r8tu2r1t
+r8z1ar
+r8ze8rd
+r8zum
+r1zu
+ra2br
+ra2dr4
+ra1d
+ra2g3n8
+ra4dan
+ra4f3er
+ra1fe
+ra4t3ro
+r4a1tr6
+ra5gla
+ra5or
+r8a5pl8
+ra5ro
+ra6b1la
+ra6t5he
+ra1th
+ra8li6ns
+ra1li
+ra8tei
+ra1te
+ral5am
+ra2l5t
+ran4dr4
+ran8der
+ran1de
+ran8g1li
+rans5pa
+ra6ns
+ransp2
+rap6s5er
+rap1se
+rau8tel
+rau1te
+raue4n
+rau1e
+rau2t5s
+ray1
+rb4lie
+rb1li
+rb5la2s1s2
+rb6s5tä
+r8bs
+rbon6n
+r1bo
+rch1l6
+r8ch1w
+r6ch3m
+rch3re
+rc6hr
+rch3tr6
+r2cht
+rd3ost
+r1do
+rda5ro
+rde5i6ns
+r1de
+rd2io5
+re1as
+re1on
+re2sa
+re3a2ls
+re3er
+re5i2mp
+re5u8ni
+re6am.
+re1am
+re6bl8
+re8s6ch2m
+re1sc
+resc8h
+rech5a
+rec8h
+rei2ch6s5
+reic8h
+reli3e
+re1li
+ren4zw8
+ren5a6b
+ren8gl
+re1q6ui5
+re1q
+requ6
+rer4bl8
+rer5o
+rf4lie
+rf1li
+rg6ne
+rg8sel
+r2gs
+rg1se
+rge4bl8
+r1ge
+rge1b
+rge5na
+rgest4
+rge1s
+ri1ar
+ri1el
+ri1en
+ri1na
+ri1nä2
+ri1o2d
+r2io
+ri3er.
+ri3o6st
+ri3s1k2o
+ris1k2
+ri5cha
+ric8h
+ri5ers.
+rie2r1s
+ri5la
+r2il
+ri5o6c8h
+rio1c
+ri5s1v
+ri5tr6
+ri6e1le
+ri6fan
+r2if
+ri1fa
+ri6ve.
+r2i1v
+ri1ve
+ri8ei
+ri8fer
+ri1fe
+ri8fr6
+ri8kn8
+ri1k
+ri8spr6
+risp2
+ri8stü
+ri2d2g
+ri1d
+rie2g4s5
+ri1mä8
+rin4ga
+rin6gr4
+ri1no1
+rk3str6
+r2ks
+rkst8
+rk4t3an
+r2k1t
+rk6to
+rkeh2r6s5
+rke6hr
+rkä4s3t
+r1kä
+rline5a
+rli1ne
+rm5sa
+r2ms
+rn1k
+rn1sp2
+r6ns
+rna8be
+ro1c8h
+ro1e
+ro1in
+ro1s2p2
+ro1tr6
+ro4tau
+ro1ta
+ro5de
+ro1d
+ro5i1d
+ro5isc
+ro5s6w
+ro6be2rn
+ro1be
+ro6phan
+ro1ph
+ro6ts
+ro8he2r1t
+ro1he
+rp2f
+rpe8re6
+r1pe
+rp8er
+rr6hos
+rr8or
+r1rer6
+rro8f
+rror5a
+rs2kl8
+rs2p2
+rse5na
+r1se
+rse6e
+rs1wi3d4
+r2s1w
+rt1sc
+r2ts
+2r2t3a2r1t
+rt5e2i1ge
+r4t5re2if
+rtr6
+r6t5u2n1d
+rt6s5o
+rt6s5u
+rt6s1er
+rt1se
+ru1en
+ru1ie
+r6ui
+ru3str6
+ru6sta
+ru6tr6
+ru1be6
+ruf4st
+ru2fs
+run4d5r4
+run8der
+run1de
+rven1
+r1ve
+rvi2c
+rz4t3h
+r2z1t
+rz5ac
+rz8er1h8
+rä4ste
+räu8sc
+rö2sc
+rö5le
+s1a6r1m
+s1l
+s1q
+s2on
+s2pec
+s2pul
+s2tyl
+s1ty1
+s3a4ben
+sa1be
+s4ce
+s4low
+s4peis
+s4ze2n1d
+s5an1b2
+s5angeh
+san1ge
+s5au2ff
+s6a1ph
+s6aur
+s6ke1le
+s6ki1z
+s6pe8r1g
+s6pes
+s8ar.
+s8e2il
+s8er.
+s8he1w
+s8kj
+s8lal
+s8t1hi
+s8tro1ma
+s8a1fa
+sa1i2k1
+sa1la
+sa2bl8
+sa5fr6
+sa5ro
+sa8tom
+sa1to
+salz3a
+san2c
+sap5p6
+s8a1t8a
+sa6u5i
+sch3ta
+sch3tr6
+sch5a1me
+scre6
+s1c6r
+se1ap
+se1um
+se3er1l
+se4lar
+se1la
+se5an
+se5ec
+se5nec
+se1ne
+se6ben
+se1b
+se1be
+se6han
+se1ha
+se8hi
+se8hö
+se8ler1l
+se1ler
+se8reim
+se1re
+s2erei
+see5i6g
+se1ei
+sei5n6e
+se2lb4
+sen3a2c
+se1r5inn
+s2e1ri
+sfal8ler
+sfa6ll
+sfal1le
+sge5b2
+s1ge
+si1b
+si1en
+s2i1f2
+si1g2n8
+si1la
+s2il
+si1na
+si2kl8
+si1k
+sik1i
+si4kin
+si5e2rr
+si5ru
+si5str6
+si6g5r4
+si8kau
+si1ka
+si8kü
+sich2t6s
+sic8h
+si2cht
+siege6s5
+sie1ge
+sil6br
+si2lb
+sin5g1h
+sinne6s5
+sin1ne
+ske8l6c
+skelc8h5
+slei3t
+so1c8h
+so1ra
+so3un
+so4dor
+so5o8f
+so1lo3
+so2u5c
+spi4e
+sse8nu
+s1se
+ssin6i6s
+s1si
+ssi1ni
+ssoi6r
+s1so
+st1h6a
+st1ho
+st3e2lb
+st3hei
+st5hu
+st5r6o1se
+sta3la
+sta4te
+sti3na
+sti4el
+sti8r
+stu5a
+su1e
+su2b1
+su2fe
+su8mar
+su1ma
+sup1p2
+syn1
+sy2na
+sy5la
+sy1ne4
+sü8di
+t1he1b
+t1hum
+t1hü
+t1i2n1d
+t1rüc
+t1rüs
+t1sac
+t1st
+t2o6ns
+t2s1u8n
+t2s1uf
+t2s1ur
+t3ab1sc
+t3a6ns
+t3arti
+t3eu1ro
+t3heit
+t3hel1f
+t3him
+t3rahm
+t3rec8h
+t3re1v
+t3sc6hr
+tsc8h
+t4re.
+t4s3int
+t4s3tor
+t1sto
+ts1er
+t4se6rk
+t1se
+t4z3um
+t1zu
+t5au2f1b2
+t5au8s1l
+t5e6sel
+te1se
+t5einhe
+t5eisen
+tei1se
+t5erbe.
+t5erde.
+te8rd
+ter1de
+t5hah
+t5he2il
+t5h1j
+t5hob
+t5hof
+t5roß
+t5s6por
+tsp2
+ts1p2o
+t5schä
+t5u6hr
+t5ä2l1t
+t5öffen
+tö2ff
+töf5fe
+t6chu
+tc8h
+t6ra6ns
+t6ric2k
+t6s5a2l1t
+t1sal
+t6s5tanz
+t1sta
+t6sprei
+tspr6
+t6stit
+t1sti
+t6z5ei.
+t1ze
+t6zor
+t1zo
+t6zäu
+t1zä
+t6ü5b8er.
+tü1b6e2
+t3ü4ber1
+t8erscha
+tersc8h4
+te2r1s
+t8ou
+t8rec2k
+t8ree
+t8rink
+t8ser1f
+t8s1h
+t8sum.
+t8zec
+t8än
+ta1ro
+ta1sc
+ta5ir.
+ta6b1re
+ta1br
+ta6der
+ta1de
+ta6ga6
+ta6si1en
+ta1si
+ta8ban
+t6a1ba
+ta8gei
+ta1ge
+ta8leng
+ta8rau
+ta1ra
+ta8stem
+ta1ste
+ta8sto
+taa2t2s3
+ta1b2l8
+taba6k
+ta2d2t1
+ta2d6s
+tag6s5t
+ta2gs
+tage4s
+tah8
+tahl3
+tai6ne.
+tai1ne
+tak8ta
+ta2k1t
+tal3au
+ta6l5e2r1t
+ta1ler
+tam1pe6
+tan5d6a
+ta2n1d
+tan8dr4
+tan8zw8
+tand1s5a
+tan2ds
+tan6i5e
+ta1ni
+ta1nu6
+te1xa
+te2am
+te3ral
+te4g3re
+te1gr4
+te4hel
+te4lar
+te1la
+te5id.
+tei1d
+te6hau
+te1ha
+te6man
+te1ma
+te6n5ag
+te6p1li
+te1pl8
+te8ben
+te1b
+te1be
+te8lam
+te8re2r1s
+te1re
+te1rer
+te8stau
+te1sta
+tea4s
+tei8gr4
+teig5l
+ten5k
+ten8er1w
+te1ne
+ten8tro
+ten1tr6
+ten1s4p2
+te6ns
+ter5a6b
+ter5au
+ter5e1be
+tere1b
+ter5ein
+t2erei
+ter6re.
+te2rr
+ter1re
+ter8nor
+te2rn
+ter1no
+ter1f4
+tex3e
+tex6ta
+te8x1t
+th1n
+ti1a2m
+ti1b
+ti1en
+ti3spa
+tisp2
+ti5lat
+ti5str6
+ti5tr6
+ti8gerz
+t2i1ge
+ti8kin
+ti1k
+ti8vel
+t2i1v
+ti1ve
+ti8vr
+tie6fer
+tie1f
+tie1fe
+tig3l
+tin4k3l8
+tl8a
+to1e
+to1in
+to1ra
+to1s
+to1tr6
+to3cha
+to4p8er
+to1pe
+to6s1ka
+to1s1k2
+to1de4
+to8del
+to1d
+to8du
+to8me1ne
+to1me
+toi6r
+tos2l
+tra3sc
+tra5cha
+trac8h
+tra6gl
+tra6gr4
+tra6st
+tra8far
+tr8afa
+tra2f5t
+tr6e6t5r6
+tri6er
+tr2ie
+tri6o5d
+tr2io
+tri1zi5
+tri1z
+tro1a
+tro3ny
+tr2on
+tro8man.
+tro3m6an
+tro1ma
+trocke6
+troc2k
+tro5i8d
+trut5
+tr5ü3bu
+ts1ab
+ts1ak
+ts1an
+ts1ar
+t2s1th
+ts3auf
+ts3ent
+ts5ort.
+t1so
+tso2r1t
+tsa8d
+tse6e
+tse1e5i
+tsei6n6s
+tt1h6a
+tt1sc
+t2ts
+tt5e2if
+tt5s6z
+tt8ret
+ttr6
+tt8s1er
+tt1se
+tte6sa
+t6u1i
+tu4r3er
+tu1re
+tu5ra
+tu6it
+tu6rau
+tu6re.
+tuch5a
+tuc8h
+ty6a
+ty8la
+tz1an
+tz1ar
+tz5al
+tzeh6
+tzehn5
+tä1re8
+u1au
+u1che
+uc8h
+u1chi
+u1chu
+u1d
+u1ei
+u1er
+u1fa
+u1ha
+u1he
+u1hi
+u1ho
+u1hu
+u1hä
+u1hö
+u1ig
+u1j
+u1k6n8
+u1ke
+u1ki
+u1kl8
+u1la
+u1le
+u1lo
+u1lu
+u1lä
+u1lö
+u1mu
+u1n1a
+u1no
+u1p2l8
+u1pa
+u1pi
+u1pr6
+u1q
+u1ra
+u1re
+u1ri
+u1ro
+u1ru
+u1ry
+u1rü
+u1sa
+u1tal
+u1tan
+u1tas
+u1te
+u1ti
+u1to
+u1tr6
+u1tu
+u1u
+u1v
+u1w
+u1xe
+u1yi
+u2bab
+u1ba
+u2est
+u2f1ei
+u1fe
+u2s1ar
+u2s1au
+u2s1ei
+u1se
+u2s1uf
+u1su
+u2z1eh
+u1ze
+u3al.
+u3a6l1h
+u3a6l1p
+u3an.
+u3a2n1d
+u3i6ns
+u3s4ter
+u1ste
+u4f3ent
+u4st3a4b
+u1sta
+u4t3hei
+u4tent
+u5a2lb
+u5al1f
+u5a6l1k
+u5a6ns
+u5ar.
+u5bö
+u5i8s2ch.
+uisc8h
+u5ky
+u5mö
+u5os.
+u5rö
+u5ya
+u5ö
+u6b5r2it
+u1br
+u6ch5ec
+u6e1la
+u6ep
+u6gap
+u1ga
+u6r5a6ns
+u6rak
+u6rana
+u6terin
+ut2e1ri
+u8büb
+u1bü
+u8e1sc
+u8e1v
+u8fer1h8
+u8ga2b1t
+u8ga1d
+u8gn8
+u8klu
+u8rap
+u8ra2t1t
+u8schec
+u1sche
+usc8h
+u8s1l
+u8su2rn
+u8teic
+u8ter1f4
+u8zer1h8
+ua1y
+ua5na
+ua6th
+ubi5er.
+u1bi
+ub6ie
+ubs2k2
+u8bs
+uch1l6
+uc6h1r
+u8ch1w
+u6ch3m
+u2ch5n6
+uch5to
+u2cht
+ucht5re
+uchtr6
+uc1k1a
+uc2k
+uck5in
+ud4a
+ue8rer1l
+ue1re
+ue1rer
+ue1ne8
+uer1a
+uer5o
+uf1fr6
+u2ff
+uf1l
+uf1ra
+ufr6
+uf1re
+uf1rä
+uf1rü
+uf1s2p2
+u2fs
+uf1st
+uf2t1s
+u2ft
+uge1b8
+u1ge
+ugo3s4
+u1go
+uh1le
+uh1re
+u6hr
+uh1w
+ui5en
+uin8tes
+uin1te
+ul2vr
+ul1v
+ul6lau
+u6ll
+ul1la
+ul6le6l
+ul1le
+ul6lo
+ul8lac
+uld8se
+u6ld
+ul2ds
+ul1ni8
+u6ln
+ulo6i
+ult6a
+u2l1t
+ult8e
+um8pho
+u2mp
+um1ph
+u8mo8f
+u1mo
+umu8s
+u2n1ec
+u1ne
+un2al
+u8n3eis
+un4d3um
+un1du
+un4it
+un6at
+un1dü8
+un8düb
+un8gä
+un8kro
+un1kr8
+unau2
+une2b
+une2h
+un2g2s1
+un2k5s
+unpa2
+un1p2
+uns2p2
+u6ns
+unvol4
+un1v
+unvo6ll5
+up2t1a
+up1t
+u2p4s3t
+ur2za
+ur3a2l5t
+ur3eig
+ur4s1k2
+ur5a6ri
+ur5a8b1s
+ur5ah
+ur5i6ns
+ur5ä6m
+ur6zä
+ur8gri
+u8r1g
+ur1gr4
+ur8nan
+u2rn
+ur1na
+ur8sau
+ur8sei
+ur1se
+ura8d
+urmen6
+u6r1m
+ur1me
+ur6u5i6
+u2r1u6r
+urü8c2k3
+us3tau
+usa4gi
+u1sag
+usch5wi
+us8chw
+use8kel
+use1ke
+ut1ac
+ut1ar
+ut1au
+ut1hu
+ut1s6p2
+u2ts
+ut1sa
+ut5ho
+ut6stro
+ut1st
+utstr6
+uta8m
+uti6q
+uti1ne5
+uto5c
+utz5w8
+u2tz
+uve3r4ä
+u1ve
+uver1
+uve5n
+uy5e6
+uße6n
+u1ße
+uße1n5e
+v2or1
+v6re
+v4a2t1r6
+v8a6t5a
+va8tei
+va1te
+va8r8d
+ve1s
+ver1
+ve2re2
+v2e2ru8
+ve2s3p2
+ve3xe
+ver5b
+verb8l8
+ve8r1g8
+vi1g4
+vi1ru
+vi1tr6
+vi6el
+vi8le8h
+v2il
+vi1le
+vie6w5
+vil6le.
+vi6ll
+vil1le
+vo2re
+vo2ro
+vo8rin
+vo1ri
+voi6le
+vo2il
+vol8le2n1d
+vo6ll
+vol1le
+vol8li
+w1d
+w1s1k2
+w5c
+wa5la
+wa6g5n8
+wa8ru
+waf5fe8
+wa2ff
+wah8n
+wal6ta
+wa2l1t
+wal8din
+wa6ld
+wal1di
+wan4dr4
+wa2n1d
+war4za
+we2g1r4
+we2sp2
+we6fl
+we1f
+we6rat
+we6steu
+we1ste
+we8geng
+we1ge
+we8ste2n1d
+we8str6
+we8stö
+weg3l
+weg5h
+weh6r5er
+weh1re
+we6hr
+weit3r6
+we2l2t
+welt3r6
+wer4fl
+wer1f
+wer4ka
+wer4ta
+we2r1t
+wer8ku
+wer8te6r1m
+wet8ta
+we2t1t
+wi2dr4
+wich6s5t
+wic8h
+wi2chs
+wie1de4
+wie1d
+wieder5
+wi1k6
+wim6ma
+wi2m1m
+win4d3r4
+wi2n1d
+wisch5l6
+wisc8h
+wo1c
+wo1che6
+woc8h
+wol6f
+wor6t5r6
+wo2r1t
+wu1sc
+wu2t1
+wun6gr4
+wy5a
+wä1sc
+wär1me5
+wä6r1m
+x1ak
+x1an
+x1c
+x1erz
+x1g
+x1k
+x1m
+x1r
+x1s6
+x1z
+x2t1h
+x3a4men
+xa1me
+x3e4g
+x5ul
+x6tak
+x8ter1f4
+xe1ro
+xi8so
+xu1e
+y1b
+y1c
+y1d
+y1g
+y1j
+y1k2
+y1lak
+y1le
+y1lo
+y1na
+y1o4p
+y1on.
+y1pr6
+y1r
+y1s
+y1t
+y1z
+y3mu
+y3w
+y4chia
+yc8h
+y5an.
+y5ank
+y5e2rn
+y5h
+y5in
+y5la1x
+y5lu
+y5ou
+y6cha
+y8m1n8
+y8ps
+yen6n
+yl1al
+yla8m
+y2m1p2
+yn1t
+yno2d
+y1p2o1
+y2r1r2
+yr2i3e
+y2s5iat
+y1si
+ys8ty1
+yä8m
+z1g
+z1wal
+z1wel
+z1wer
+z4t3e2n1d
+z4t3hei
+z5a6b
+z5auf
+z5q
+z6we8r1g
+z8thi
+za5is
+za1b5l8
+ze1ro
+ze4di1k
+ze1d
+ze1di
+ze6la
+ze8lec
+ze1le
+ze8ste
+zei4ta
+zei8te2r1s
+zei1te
+zel8th
+ze2l1t
+zen8zin
+zen1zi
+z2e1r8i
+zerta8
+zer8tab
+ze2r1t
+zer8tag
+ze2r1s8
+zeu6gr4
+zi1en
+zi1na
+zi1tr6
+zi5es.
+zi5th
+zin6s5er
+zin1se
+zist5r6
+zo1on
+zo6gl
+z8o1g
+zor6na8
+zo2rn
+zu1b4
+zu1f2
+zu1o
+zu1s8
+zu1z
+zu3al
+zu1n2a
+zun1f8
+zup8fi
+zwei3s
+zwi1s
+zz8a
+zzi1s
+z1zi
+zö1le
+ß1b8
+ß1c
+ß1d
+ß1f8
+ß1g
+ß1h
+ß1k
+ß1l
+ß1m
+ß1n
+ß1o
+ß1p8
+ß1r
+ß1s2
+ß1ta
+ß1te
+ß1ti
+ß1tr6
+ß1v
+ß1w
+ß1z
+ß5ec
+ß5q
+ß5to
+ß8as
+ßmana8
+ß1ma
+ß3man
+ßst8
+ßt3hei
+ä1a6
+ä1che
+äc8h
+ä1e
+ä1he
+ä1hi
+ä1hu
+ä1isc
+ä1k
+ä1le
+ä1no
+ä1pa
+ä1re
+ä1ri
+ä1ro
+ä1ru
+ä1te
+ä1ti
+ä1to
+ä1um.
+ä1us.
+ä1z
+ä3chi
+ä5chu
+ä5fa
+ä5i2s1m
+ä5j
+ä5na
+ä5rö
+ä5tu
+ä6d5ia
+ä1di
+ä6g5nan
+ägn8
+ä1gna
+ä6i1sche
+äisc8h
+ä6s5chen
+ä1sche
+äsc8h
+ä6thy
+ä8lei
+äb1l8
+äch8sc
+ä2chs
+äch8sp2
+äc1k5a
+äc2k
+äd1a
+äd5era
+ä1de
+äf1l
+äf2t6s
+ä2ft
+äg1h
+äg3le
+äg5str6
+ä2gs
+äh1le
+äh1re
+ä6hr
+äh1ru
+äh1w
+äh5ne
+äh5ri
+ä8l1c
+äl6schl6
+ä2ls
+äl1sc
+älsc8h
+äm8n8
+ä2m8s
+ämi1e
+ä1mi
+än6s5c
+ä6ns
+äne5i8
+ä1ne
+äng3l
+änk5l8
+äp6s5c
+är1c
+är6gl
+äre8m
+är2t6s5
+ä2r1t
+ä2s1th
+äse6n8s
+ä1se
+ät8schl6
+ä2ts
+ätsc8h
+äta8b
+ät2e1ri4
+äter5it
+äts1p2
+äu1e
+ä6u5i
+äu8ga
+äub1l8
+ö1b
+ö1che
+öc8h
+ö1he
+ö1hu
+ö1is
+ö1ke
+ö1mu
+ö1no
+ö1re
+ö1ri
+ö1ru
+ö1te
+ö1ti
+ö1tu
+ö1v
+ö1w
+ö2z
+ö5chi
+ö5na
+ö5o6t
+ö5th
+öch8stei
+ö2chs
+öch1ste
+öch8str6
+ö2cht6
+öh1l8
+öh1re
+ö6hr
+öl6k5l8
+ö6l1k
+öl8pl8
+ö6l1p
+öni2g6s3
+ö1ni
+öp6s5c
+öpf3l
+ör8g1li
+ö8r1g
+ör8tr6
+ö2r1t
+öwe8
+ü1che
+üc8h
+ü1chi
+ü1he
+ü1hu
+ü1le
+ü1lu
+ü1re
+ü1ri
+ü1ro
+ü1ru
+ü1te
+ü1ti
+ü1tu
+ü1v
+ü2d1o4
+ü3k
+ü3ta
+ü5pi
+ü6deu
+ü1de
+ü6h5e6rk
+ü6s5te1te
+ü1ste
+ü8ch3l6
+ü8c2k
+ü8heh
+ü8rei
+ü8sta
+ü8stes
+üb1l8
+ü1b1r
+üch6s5c
+ü2chs
+üc1k1a
+ück5e2r1s
+üd1a2
+ü2d5s6
+üdi8t
+ü1di
+üg1l
+üge4l5a
+ü1ge
+üh1le
+üh1re
+ü6hr
+üh1ru
+üh1w
+üh5a
+ül4l5a
+ü6ll
+ül4ps
+ü6l1p
+ül6s5c
+ü2ls
+ül8lo
+ün6zw8
+ün8da
+ü2n1d
+ün8fei
+ün1f
+ün1fe
+ün8za
+ünk5l8
+ür8fl
+ür1f
+ür8fr6
+ür8geng
+ü8r1g
+ür1ge
+ür8sta
+ü2r1s
+ür8ster
+ür1ste
+üse8n
+ü1se
+üt8tr6
+ü2t1t
+üt8zei
+ü2tz
+üt1ze
diff --git a/troff/libhnj/hyphen.d/hyph_en_US.dic b/troff/libhnj/hyphen.d/hyph_en_US.dic
new file mode 100644
index 0000000000000..ea8cf7897538b
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_en_US.dic
@@ -0,0 +1,5551 @@
+UTF-8
+% This file has been derived from Donald Knuth's `hyphen.tex',
+% to which the following applies:
+% -----------------------------------------------------------------
+% The Plain TeX hyphenation tables [NOT TO BE CHANGED IN ANY WAY!]
+% Unlimited copying and redistribution of this file are permitted as long
+% as this file is not modified. Modifications are permitted, but only if
+% the resulting file is not named hyphen.tex.
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_en_US.dic 1.2 (gritter) 9/3/05
+.1ca
+.1ci2
+.1co
+.1do
+.1du
+.1fo
+.1g2i5a
+.1ga2
+.1gen
+.1geo
+.1go
+.1ma
+.1mo
+.1mu
+.1ta4
+.1tim
+.1to
+.2a2r
+.2ang4
+.2c1it
+.2ch4
+.2e1b4
+.2i2n3s2
+.2id
+.2ine2
+.2p2ed
+.2s1in
+.2t1in
+.2tab
+.2us
+.3di2c1t
+.3p2i1o
+.3s4c2i3e4
+.3ten5a2n
+.4a1ma
+.4bes4
+.4eu3
+.4i4n2k2
+.4ir
+.4oth3
+.5se2l2f5
+.a1to
+.a2ch4
+.a2d
+.a2f
+.a2f1t
+.a2n
+.a2s1s
+.a2tom5
+.a4l3t
+.a4r5s2
+.ad1d4
+.ad4der
+.am5at
+.an1i5m
+.an1t4
+.an3te
+.an5c
+.ant2i
+.anti5s
+.ar1ti
+.ar4t2ie4
+.ar4ty
+.as1p
+.as1so
+.as3c
+.as9s8o9c8i8a8t8es.
+.as9s8o9c8i8a8te.
+.asso1ci
+.asso3c2i1a
+.aster5
+.au1d
+.av4i
+.awn4
+.b4e5s2to
+.ba2n
+.ba4g
+.ba5na
+.bas4e
+.be3s1m
+.be5r1a
+.ber4
+.bri2
+.bu4t3t2
+.but4ti
+.c2a2r
+.ca1pa
+.ca2n
+.ca4m1p
+.ca4t
+.cam4pe
+.can5c
+.capa5b
+.car5ol
+.ce4la
+.ch4il2
+.chil1l
+.chill5i
+.cit5r
+.co3e2
+.co4r
+.cor5n1er
+.corn2e
+.d4em
+.de1c4l4
+.de1mo
+.de1s4c
+.de3o
+.de3r1a
+.de3r1i
+.de4moi2
+.de8c9l8i9n8a9t8i8on.
+.decl4i1na
+.declin2at
+.declina1t2io
+.declinatio2n
+.des2
+.dic1t2io5
+.do4t
+.du4c
+.du4m1b5
+.e1na
+.e1q
+.e2a2r
+.e2l5d
+.e2n3s2
+.ear2t
+.earth5
+.eas3i
+.eer4
+.eg2
+.el3em
+.en3g
+.enam3
+.eq2ui2
+.eq5ui5t
+.equ2
+.er1r4
+.er4ri
+.es3
+.eye5
+.fes3
+.fo2r
+.for1m
+.for2me
+.for5mer
+.ge2
+.ge5o2g
+.gen3t4
+.gi4b
+.go4r
+.h1es3
+.h2ero
+.h2ie4
+.h4and
+.ha2n
+.ha4n5k2
+.hand5i
+.he2
+.he4t3
+.hero5i2
+.hi3b
+.hi3er
+.ho2n
+.hon3o
+.hon5ey
+.hov5
+.i1do
+.i4m1p
+.id4l
+.idol3
+.im2pi
+.im3m
+.im5p1i2n
+.in1
+.in3ci
+.ir5r4
+.is4i
+.ju3r
+.l1i4t
+.l2i3o
+.l2i4g
+.l4ath5
+.la4cy
+.la4m
+.lat5er
+.le2
+.leg5e
+.len4
+.lep5
+.lev1
+.li1g5a
+.li2n
+.m2a2r
+.m2is1
+.ma1g5a5
+.ma1n5a
+.ma2n
+.mal5o
+.mar5ti
+.me1te
+.me2
+.me5ter
+.mer3c
+.mis4t5i
+.mo2n
+.mo2r
+.mo3ro
+.mon3e
+.mu2ta5b
+.mu5ta
+.ni4c
+.o1ra
+.o2ft
+.ob2l2
+.ob8l8i8g9a9t8o8ry.
+.obl2ig
+.obli1ga
+.obliga1to
+.obligato1ry
+.od1d5
+.od2
+.of5te
+.or1d
+.or3c
+.or3t
+.or5a1to
+.os3
+.os4tl
+.ou2
+.out3
+.p2e2d2a
+.p2i4e4
+.p3re1s2e
+.pe2t
+.pe5te
+.pe5tit
+.ped5al
+.ph4il2
+.ph8i8l9a8n9t8h8r8o8p8ic.
+.phi1la
+.phila2n
+.philan1t
+.philant4hr4
+.philanthrop3ic
+.pi2t
+.pio5n4
+.pr2
+.pr8e8s8e8n8ts.
+.pr8e8s8e8nt.
+.pr8o8j8e8c8ts.
+.pr8o8j8e8ct.
+.pre3m
+.presen1t
+.presen4t4s2
+.pro1je
+.pro5j
+.proje2c1t
+.projec4t1s2
+.r2i4g
+.ra1t2io
+.ra2n
+.ra4c
+.ran4t
+.ratio2n4
+.ratio5n1a
+.re1c2i
+.re1co
+.re1f
+.re1fo
+.re2cog
+.re3tri
+.re5mit
+.re5stat
+.re8c8i9p8r8o8c8i8ty.
+.re8f9o8r9m8a9t8i8on.
+.re8t9r8i9b8u9t8i8on.
+.re9c8o8g9n8i9z8a8n8ce.
+.rec2ip
+.rec3ogniz
+.recipr2
+.recipr2oc
+.recipro1ci
+.recipro2c1it
+.reciproci1ty
+.recog1ni
+.recogniza1
+.recogniza2n
+.ree2
+.refo2r
+.refor1m
+.refor1ma
+.reforma1t2io
+.reformatio2n
+.res1ta
+.res2
+.res2t
+.retr4ib
+.retri3bu1t2io
+.retrib4u1t2i
+.retributio2n
+.ri2t5u
+.ro4q
+.ros5t
+.row5d
+.ru4d
+.s1ci
+.s1ta
+.s2h2
+.s2tab
+.s3ing4
+.s4y2
+.se2n
+.se5r2ie4
+.sel1l5
+.ser1i
+.si2
+.st4
+.sta5b2l2
+.t4i4n5k2
+.ta9b8le.
+.tab2l2
+.te1na
+.te4
+.th2
+.ti1m5o5
+.ti2
+.til4
+.ting4
+.to1n4a
+.to2n
+.to2u5s
+.to4p
+.top5i
+.tou2
+.tr4ib
+.trib5ut
+.u1n1a
+.u2n1e
+.u4n5k2
+.un1de
+.un3ce
+.un3u4
+.un5o
+.under5
+.up3
+.ure3
+.us5a2
+.ve5r1a
+.ven4de
+.wi2
+.wil2
+.wil5i
+.ye4
+1bat
+1bel
+1bil
+1c2us
+1c4l4
+1ca
+1cen
+1ci
+1co
+1cy
+1d2a
+1d2i1v
+1d2io
+1d4i3a
+1den
+1di1na
+1do
+1dr
+1du
+1e4f1f
+1ex3p
+1fa
+1fi
+1fo
+1fy
+1g2i4a
+1ga
+1gen
+1geo
+1gle
+1go
+1gr
+1gy
+1hea2d1
+1ho2us
+1je
+1k2no
+1kee
+1l4ine
+1len1t
+1lut
+1ly
+1ma
+1men
+1mo
+1mu
+1na
+1nen
+1nes
+1nou2
+1o1gis
+1o1gy
+1p2l2
+1p4or
+1pa
+1phy
+1pos
+1room
+1s2io
+1s2iv
+1sis
+1so
+1su
+1t2i1a
+1t2io
+1t2iv
+1ta
+1tan1ta3
+1tee
+1ten1t
+1teo
+1ter1i
+1tim
+1tiz
+1to
+1tra
+1tu
+1ty
+1va
+1wo2
+1zo
+2a2r
+2adi
+2ale
+2ang
+2b1b
+2b3if
+2b5s2
+2bf
+2bt
+2c1it
+2c1t
+2c5ah
+2ce.
+2cen4e
+2ch
+2cim
+2cin
+2cog
+2d1ed
+2d1ly
+2d1s2
+2d3a4b
+2d3lo
+2d5of
+2dag
+2de.
+2e1b
+2e2d2a
+2e2re.
+2e2ss
+2er1b
+2ero
+2est4r
+2f3ic.
+2f3s
+2fed
+2fin
+2ft
+2g5y3n
+2gam
+2ge.
+2ged
+2gue
+2h1n
+2i1a
+2i1ci
+2i1no
+2i1t2io
+2i2n1s2
+2i4n1n2
+2id
+2ie4
+2ig
+2il1it
+2in.
+2in4th
+2ine
+2ini
+2int.
+2io
+2ip
+2is.
+2is1c
+2ite
+2ith
+2iv
+2l1b
+2l1n2
+2l1s2
+2l1w
+2l3h
+2ld
+2lf
+2lm
+2lout
+2lp
+2lys4
+2mab
+2mah
+2med
+2mes
+2mh
+2n1a2b
+2n1s2
+2ne.
+2ned
+2nes.
+2nest
+2o2g5y3n
+2ok
+2ond
+2oph
+2p1s2
+2p1t
+2p2ed
+2p3k2
+2p3n
+2que.
+2r2ed
+2rab
+2re.
+2s1ab
+2s1in
+2s1m
+2s1pa
+2s3g
+2s5peo
+2sh.
+2sper
+2ss
+2st.
+2t1b
+2t1ed
+2t1f
+2t1in
+2t1n2
+2t2ig
+2t3up.
+2t4h1s2
+2tab
+2taw
+2th.
+2ti2b
+2tl
+2tof
+2trim
+2tyl
+2ui2
+2us
+2v1a4b
+2vil
+2wac
+2z1i
+2ze
+3a3g4o4g
+3alyz
+3ana1ly
+3away
+3b2i3t2io
+3b2ie4
+3bet
+3bit5u1a
+3bod
+3boo2
+3bu1t2io
+3c2i1a
+3c4ul1tu2
+3c4ut
+3cei2
+3cel1l
+3cen1t
+3cenc
+3cep
+3ces1si
+3chemi
+3chit
+3cho2
+3cil1i
+3cin2at
+3cun
+3d2id
+3dat
+3demic
+3di2c1t
+3di2ne.
+3dle.
+3dled
+3dles.
+3do.
+3dos
+3dox
+3efit
+3fu
+3g2us
+3g4in.
+3g4ir
+3g4o4g
+3gal1i
+3giz
+3glo
+3go.
+3guar2d
+3gun
+3he2a2r
+3hol4e
+3hood
+3i4s3f
+3ka.
+3l2e2ss
+3l4and
+3l4er1i
+3l4ik
+3lenc
+3lerg2
+3ley
+3li2di
+3ligh
+3lo.
+3log1ic
+3logu
+3m4ind
+3men1t
+3mest2i
+3mil3i1a
+3mo2us
+3mum
+3n2i1t2io
+3n4i1a
+3naut
+3neo
+3net1ic
+3noe
+3nomic
+3noun
+3nu3it
+3nu4n
+3ogniz
+3oncil
+3oper1a
+3orrh4
+3p2i1o
+3p4edi
+3pare
+3pay
+3pe4a
+3pede
+3phiz
+3phob
+3phone
+3piec
+3pla2n
+3pr2e2ss
+3quer
+3quet
+3ra1phy
+3ri1mo
+3s2i1t2io
+3s4c2ie4
+3s4on.
+3sanc
+3se2c1t
+3sh2i4p
+3si2de.
+3som
+3sph4er
+3store
+3syl
+3t2ini
+3t2us
+3t4eu
+3t4ise
+3ta.
+3tel.
+3ten2a2n
+3tenc
+3tend
+3tex
+3the4t
+3ti2ne.
+3tien
+3tle.
+3tled
+3tles.
+3tum
+3ture
+3u1fa
+3v2iv
+3v2ok
+3vat
+3ver2se
+3vol2v
+3w4ise
+3y1sis
+3y2a2r4
+4a1du
+4a1ma
+4a2ci
+4a2lm
+4a2lys4
+4ab.
+4abr
+4ag4eu
+4ag4l2
+4aldi4
+4allic
+4an1to
+4and
+4ao
+4aphi
+4as.
+4ath
+4ati.
+4b1d
+4b1m
+4b1o1ra
+4b3h
+4b3n
+4b5w
+4be.
+4be2d
+4be5m
+4bes4
+4bp
+4brit
+4bu1ta
+4c3re1ta
+4c3s2
+4c4i5i4
+4c5u1t2iv
+4ca1t2iv
+4cag4
+4calo
+4cas4y
+4ce1den
+4ce1s4a2
+4ced.
+4ceni
+4ch.
+4ch1in
+4ch3ab
+4ch4ed
+4cier
+4cip4ic
+4cipe4
+4cis1t2i
+4cis1ta
+4cl2a2r
+4clic
+4cor1b
+4cutr
+4d1f
+4d1n4
+4d3l2e2ss
+4d5la
+4d5lu
+4d5out
+4da1t2iv
+4da1to
+4da2f
+4dary
+4dee.
+4dey
+4dr2ai2
+4drow
+4dry
+4duc4t1s2
+4duct.
+4dup
+4e1do
+4e2t1n2
+4e4n1n2
+4e4n3z
+4ed3d4
+4edi
+4egal
+4ella
+4eno
+4enth1es
+4er2tl
+4er3n2it
+4er4and
+4er4ati.
+4erene
+4erit
+4eru
+4es2h
+4es2to
+4eu
+4f1f
+4f3ical
+4f4a4ma
+4f5b
+4f5p
+4fa1to
+4fag
+4fd
+4fe.
+4fe1ca
+4fh
+4fi1ly
+4fi4c3s2
+4ficate
+4fm
+4fn
+4fu1ta
+4fug
+4g1g2
+4g3o3n1a
+4g3ra1phy
+4g4eno
+4ga1t2iv
+4gano4
+4gaz
+4ge1ly
+4ge1to
+4geny
+4gra1d2a
+4gray
+4gress.
+4grit
+4gu4t
+4h1l4
+4h1m
+4h1s2
+4h5p
+4hk
+4hr4
+4i1cr
+4i1t2i1a
+4i2ch
+4i2f3ic.
+4i2ft
+4i2l1n2
+4i2s1s
+4i2tic
+4i3ta.
+4i4n1l
+4i4nk2
+4i4t3t2
+4i5i4
+4i5w
+4ian4t
+4ianc
+4ic2a2r
+4icam
+4iceo
+4if.
+4igi
+4ik
+4imet
+4imit
+4in1ga
+4in1go
+4in1gu
+4inav
+4ind
+4inge
+4ingi
+4iny
+4io.
+4ir
+4is4k2
+4is4m1s2
+4ise
+4istral
+4ita5m
+4itis
+4ito2n
+4itz.
+4iy
+4iz2a2r2
+4jes2ty
+4jes4t2ie4
+4k1ly
+4k1s2
+4k3ley
+4l1c2
+4l1g4
+4l1r
+4l4i4l
+4l4iq
+4la1t2iv
+4latel2i4
+4lav
+4len.
+4leye
+4li4c3s2
+4lict.
+4lj
+4lof
+4lov
+4lt
+4lup
+4ly1b
+4lya
+4m1b
+4m1f
+4m1l
+4m1n
+4m1p
+4m1s2
+4m2ith
+4m2ok
+4m3r
+4m5c
+4ma2ld
+4map
+4mati3za1
+4me.
+4med.
+4mene
+4mk
+4mo5ra.
+4mocr
+4mt
+4mup
+4mw
+4n1b4
+4n1h4
+4n1l
+4n1n2
+4n3o2d
+4na4lt
+4nac.
+4nare
+4ne1sp
+4nene
+4nes4w2
+4nk2
+4nog
+4nop
+4nos2c
+4nz
+4o5r2i3a
+4oa
+4op4erag
+4oscopi
+4oth
+4p1b
+4p1m
+4p1p
+4p4h1s2
+4pe.
+4pf
+4pg
+4ph.
+4pl2ig
+4r2i1ci
+4raril
+4rh.
+4rhal
+4rs2
+4s1er.
+4s1wo2
+4s3cei2
+4s3f
+4s3p2i1o
+4s4ed
+4s5b
+4s5d
+4scopy5
+4se.
+4se1me
+4sen2tl
+4sen4t1d
+4senc
+4ser3vo
+4sh1w
+4si1ly
+4sig1n4a
+4ske
+4sov
+4sp4ot
+4st3w4
+4stry
+4sv
+4sy1c
+4t1d
+4t1g
+4t1m
+4t1p
+4t1s2
+4t1wa
+4t1wo2
+4t2e2ss
+4t3t2
+4t4a2ci
+4t4h1l4
+4ta2f4
+4talk
+4tar1c
+4tare
+4tat1ic
+4tc
+4te.
+4te1nes
+4tea2t
+4tes.
+4tey
+4th4il2
+4thea
+4thoo2
+4ti4m1p
+4tick1
+4to2do4
+4tono
+4tony
+4tout
+4tri4c3s2
+4trony
+4tue
+4tuf4
+4tv
+4tya
+4tz
+4u1t2i
+4u2l1s2
+4u2l3m
+4u4te.
+4uab
+4uk
+4ul1tu2
+4ura.
+4utel
+4uten
+4v3i1den
+4ve.
+4ved
+4ves.
+4vi1ti
+4vi1ty
+4vi4na
+4ving
+4vo1tee
+4vv4
+4wt
+4y3h
+4z1z2
+4zb
+4zm
+5a5lys1t
+5a5si4t
+5alyt
+5anniz
+5ba.
+5ble1sp
+5bor.
+5bore
+5bori
+5bos4
+5bust
+5by.
+5c2i1no
+5c2r2ed
+5c4i2f3ic.
+5cel.
+5ch2ini
+5ch2io
+5cha4n1ic
+5chi2ne.
+5ciz
+5clare
+5colo
+5crat.
+5crat1ic
+5cri1ti
+5cul2i
+5d2ini
+5da.
+5dav4
+5day
+5dem.
+5der3m4
+5di.
+5di3en
+5disi
+5doe
+5dren
+5drupli
+5dyn
+5e1gy
+5ef2i1c4i
+5elec
+5emniz
+5eniz
+5erick1
+5erniz
+5erwau
+5ey1c
+5eye.
+5f2a2r
+5fe2c1t
+5fer1r4
+5fi1na
+5fi3c2i1a
+5fic2ie4
+5fo2n
+5g2io
+5g2iv
+5g4i2n1s2
+5gal.
+5ge1si
+5gi.
+5gi3c2i1a
+5gies.
+5glas
+5goe
+5goo2
+5gos.
+5gra4ph.
+5graph1ic
+5gui5t
+5hand.
+5haz
+5i3n2i1t2io
+5i5r2iz
+5i5tick1
+5icap
+5icra
+5ie5ga
+5iron.
+5izon1t
+5ja
+5judg
+5k2ic
+5ki.
+5le2ne.
+5le4g1g2
+5leg.
+5lesq
+5less.
+5lic2io
+5ligate
+5lit3i1ca
+5lo4pe.
+5long
+5los.
+5los5o1phy
+5los5o3phiz
+5lu1mi
+5lum3n4i1a
+5ma3n4i1a
+5mag1n
+5mate
+5me3d4i3a
+5met3ric
+5mi.
+5moc5ra1tiz
+5mu4lt
+5n2is.
+5neck1
+5nege
+5ni2ne.
+5nol1o1gis
+5nop5o5l2i
+5ocrit
+5ommend
+5p2us
+5paga4n
+5pathic
+5ph2ie4
+5phis1t2i
+5phoni
+5phu
+5pi2di
+5po4g
+5pod.
+5poin1t
+5poun
+5pr2i4e4
+5pre1c2i
+5pute
+5r4igi
+5rea2v
+5ri5c2id
+5rima2n
+5rina.
+5riph
+5role.
+5root
+5rynge
+5s4m2ith
+5s4tick1
+5sa3t2io
+5sack1
+5sai2
+5saw
+5sc4in4d
+5se2l2f
+5se5um
+5sei2
+5selv
+5sev
+5sex
+5shev
+5si1u
+5si2di
+5si2ne.
+5side4s2
+5sio2n
+5siz
+5sol2v
+5soph1ic
+5sp4ai2
+5st4and
+5st4ir
+5stat.
+5stock1
+5stone
+5stra2tu
+5t2u3i2
+5t4er3n2it
+5tab5o5l1iz
+5te2c1t
+5te2l1s2
+5ter3d
+5th4i4nk2
+5thod3ic
+5ti2di
+5tigu
+5tiq
+5tisti1ca
+5tour
+5tr2i3a
+5tri3c2i1a
+5turi
+5u5tiz
+5ulche2
+5v2e2re.
+5v2il1it
+5va.
+5vi2a2n
+5vi2d1ed
+5vi2de.
+5vi2di
+5vide4s2
+5vo.
+5vo4l2t
+5ynx
+5zl
+a1ca
+a1do
+a1dr
+a1ga
+a1ge4o
+a1j
+a1len1t
+a1ly
+a1na
+a1nes
+a1p4or
+a1pa
+a1pos
+a1so
+a1su
+a1t2io
+a1to
+a1tr
+a1vor
+a2c1in
+a2c1t
+a2ch
+a2d
+a2d1s2
+a2f
+a2go
+a2gue
+a2i1n5o
+a2ini
+a2ite
+a2ld
+a2m5ab
+a2mo
+a2n
+a2n1s2
+a2nest
+a2p1s2
+a2p2l2
+a2s4ab
+a2ss
+a2t5i5b
+a2ta
+a2tab
+a2tom
+a2tu
+a2ty
+a2us
+a2va
+a2z1i
+a3c2ie4
+a3c2io
+a3d2io
+a3d4i3a
+a3dit
+a3du2c
+a3ha
+a3he
+a3ho
+a3ic.
+a3n2a2r
+a3n2ip
+a3n4eu
+a3nati
+a3nen
+a3ni1u
+a3nies
+a3ph4er
+a3pi2tu
+a3pu
+a3ree
+a3ri5et
+a3roo2
+a3si1b
+a3sic
+a4c2a2r
+a4f1f4
+a4gab
+a4gy
+a4h4l4
+a4i4n
+a4l2a2r
+a4lent2i
+a4ly.
+a4m1p
+a4m5a1to
+a4ma3tis
+a4n1ic
+a4n1n2
+a4nk2
+a4pilla
+a4rs2
+a4soc
+a4t1s2
+a4t3t2
+a4t5ue
+a4tog
+a4top
+a4tos2
+a4ut5en
+a4z1z2
+a5ba2n
+a5bal
+a5ceou2
+a5che4t
+a5di1u
+a5guer
+a5i1a
+a5le5o
+a5log.
+a5mo2n
+a5n2ine
+a5nee
+a5nim1i
+a5nur
+a5r2e2ss
+a5ra1t2io
+a5rade
+a5rame1te
+a5rau
+a5roni
+a5sia.
+a5t2i1a
+a5ter1na
+a5the2n
+a5va2n
+ab2i5a
+ab2l2
+ab3ul
+ab5erd
+ab5i2t5ab
+ab5lat
+ab5o5l1iz
+ab5rog
+abe2
+abi1ta
+abi2t
+abol2i
+ac1er
+ac3ul
+ac4um
+ac5ard
+ac5aro
+ac5rob
+ache2
+act5if2
+ad1d4
+ad2ie4
+ad3i1ca
+ad3ow
+ad4d1in
+ad4le
+ad4su
+ad5er.
+ad5ra2n
+ad5um
+adi4er
+ae4r
+aer1i
+aer2i4e4
+ag1i
+ag1n
+ag3o3ni
+ag5el1l
+ag5ul
+aga4n
+ago2n2
+ai2
+ai5ly
+ain5in
+ait5en
+ak1en
+al1i
+al1l
+al2i1a
+al2i4e4
+al2le
+al3a2d
+al3end
+al4ia.
+al5ab
+al5lev
+all2i
+am1in
+am2a2r
+am2i4no
+am3ag
+am3ic
+am5asc
+am5er1a
+am5i1ly
+am5if
+ama5ra
+amo2r
+amor5i
+amp5en
+an1de
+an1dl
+an1do
+an1gl2
+an1im
+an1in
+an1k1l
+an1su
+an1t
+an1ta
+an2at
+an2ie4
+an2sa2
+an2sp
+an2tr
+an3age
+an3ar3c
+an3dis1
+an3i3f
+an3i4o
+an3is2h
+an3it
+an3u1a
+an3ul
+an4dow
+an4ime
+an4kli
+an4oth5
+an4s1co
+an4s1n4
+an4st
+an4su2r
+an4t2ie4
+an4tw4
+an5e2st.
+an5ot
+anar4i
+ande4s2
+ang5ie4
+ano4
+ans3po
+ans4c
+ant2i
+anta2l4
+ap2a2r4
+ap2se
+ap3i1ta
+ap3i2n
+ap5at
+ap5er3o
+ap5ill2a2r
+ap5o1la
+apil1l
+apo4c5
+apor5i
+apos3t
+aps5e4s
+aqu2
+aque5
+ar1b
+ar1c
+ar1f
+ar1i
+ar1m
+ar1r4
+ar2adi
+ar2an4g
+ar2ch
+ar2i1na
+ar2i3a
+ar2ie4
+ar2iz
+ar2mi
+ar2p
+ar2s2h
+ar3a2c1t
+ar3al
+ar3cha
+ar3en1t
+ar3i1o
+ar3i2a2n
+ar3q
+ar4at
+ar4cha2n
+ar4dr
+ar4f4l2
+ar4fi
+ar4im
+ar4sa2
+ar5a1t2iv
+ar5adis1
+ar5av4
+ar5d2ine
+ar5eas
+ar5i2al
+ar5in2at
+ar5o5d
+ara2d
+ara2n
+ara3p
+aram3et
+araw4
+arbal4
+ard1in4
+ard2i
+aro2n
+arre4
+as1t4r
+as2h
+as2i1a
+as3an1t
+as3ten
+as4l2
+as4s2h
+as5ph
+asa2
+asa2n
+ashi4
+ask2
+ask3i
+asu1r5a
+asu2r
+at1ic
+at1ta
+at3ab2l2
+at3alo
+at3e1go
+at3en.
+at3er1a
+at3est
+at3i1tu
+at3if2
+at3u1ra
+at3ul
+at4ho
+at4sk2
+at4tag
+at4th
+at5ac
+at5ap
+at5e2ch
+at5ev
+at5om2iz
+at5rop
+at5te
+at5u1a
+ata2l
+ate5c
+ateg4
+ater5n
+ath2e
+ath5em
+ath5om
+atio1n1a
+atio2n
+ation5a2r
+au1th
+au3gu
+au3r
+au4b
+au4l2
+au5si1b
+augh3
+aun5d
+av1i
+av2ie4
+av3ag4
+av3er1a
+av3ig
+av4e4no
+av5ern
+av5ery
+av5oc
+avi4er
+aw3i2
+aw4ly
+aws4
+ax3i
+ax4i5c
+ax4id
+ay5al
+aye4
+ays4
+az2ie4
+az2z5i
+azi4er
+b1j
+b1so
+b1v
+b2a2r
+b2be
+b2e3d2a
+b2e5st4r
+b2i4d
+b2ine
+b2io
+b2l2
+b2t4l
+b2us
+b3ber
+b3lis
+b3tr
+b4and
+b4e3di
+b4in4d
+b4le.
+b4lo
+b4oth5
+b4to
+b4u1t2i
+b5i4tz
+b5o1ta
+b5u1to
+ba2d
+ba2n
+ba2ss
+ba4ge
+ba4z
+bad5ger
+bal1a
+ban1d2a
+ban3i
+ban4e
+ban5dag
+bar1b
+bar1i
+bar2i4a
+barbi5
+bas4si
+bbi4na
+be1l2i
+be1t5iz
+be3de
+be3gi
+be3lo
+be3sp
+be3tw4
+be3w
+be5gu
+be5n2ig
+be5nu
+be5tr
+be5y1o4
+bea2t3
+beak4
+bi1na
+bi1ti
+bi1tu
+bi2b
+bi2t
+bi3l2iz
+bi3o2gr
+bi3tr
+bi4er
+bi5en
+bi5net
+bi5ou2
+bil1i
+bin2a5r4
+bk4
+bl4ath5
+blen4
+bles2
+blun4t
+bne5g
+bo1n4a
+bo2n
+bo4e
+bo4m1b
+bo4to
+bod3i
+bol2i
+bol3ic
+bom4bi
+bon5at
+bor5d
+bou2
+boun2d3
+br4oth3
+bsor4
+bu1mi4
+bu2ss
+bu3l2i
+bu3re
+bu4f1f
+bu4ga
+bu4n
+buf4fer1
+bun1t
+bunt4i
+bus5ie4
+buss4e
+bys4
+c1ci
+c1co
+c1ing
+c1ly4
+c1q
+c1ta
+c1tim
+c1tu
+c2a2r
+c2ch
+c2e2ss
+c2ie4
+c2ine
+c2io
+c2ip
+c2ta4b
+c2te
+c2ze4
+c3c
+c3c2i4a
+c3ter
+c3ume
+c4a4th
+c4an5d
+c4i1na
+c4oa
+c4one
+c4rin
+c4t4ic1u
+c4tw4
+c4u1t2i
+c4uf
+c4ui2
+c5e4ta
+c5ing.
+c5la5ra1t2io
+c5n
+c5tan1t
+ca1b2l2
+ca2ch4
+ca2d
+ca2n
+ca2va
+ca3lat
+ca4n4ic
+ca5den
+ca5per
+cab3in
+cal1l
+cal2l5in4
+cal4la
+call2i
+can1t
+can3iz
+can4e
+can4ty
+can5is
+cany4
+car5om
+cas5t2ig
+cast2i
+cast5er
+cav5al
+ccha5
+cco2n4
+cco4m1p
+ccom1pa5
+ccou2
+ccou3t
+ce5ram
+cer1a
+ces5si5b
+ces5t
+cet4
+cew4
+ch2ine
+ch3e4r1s2
+ch3er.
+ch4ti
+ch5a5nis
+ch5e5lo
+ch5ene
+ch5i5n2e2ss
+cha2n
+che2
+che2n
+cheap3
+chi1nes
+chi2z
+ci1fi
+ci1t3iz
+ci1ti
+ci2a5b
+ci2a5r
+ci3ph
+ci4la
+ci5c
+cin3em
+cio2n4
+cip3i
+ck1
+ck3i
+clar4at
+cle4m
+clim4
+co1n4a
+co2me
+co2n
+co2z5e
+co3inc
+co3pa
+co4gr
+co4p2l2
+co5ag
+co5z1i
+coe2
+coi4
+col3o4r
+col5i
+com5er
+con3g
+con5t
+cop3ic
+coro3n
+cos4e
+cov1
+cove4
+cow5a
+cr2as
+cr2is4
+cras5t
+cre3a2t
+cre4v2
+cri2
+cri5f
+cro4p2l2
+crop5o
+cros4e
+cru4d
+ct5ang
+cta2n
+ctim3i
+ctu4r
+cu1ra
+cu2ma
+cu2r5a4b
+cu2ss
+cu3pi
+cu4lt
+cu4mi
+cu4t2ie4
+cu5i1ty
+cu5py
+cu5r2i3a
+cud5
+cul1ti
+cul4tis4
+cus1s4i
+d1b
+d1d4
+d1h2
+d1if
+d1in
+d1j
+d1m
+d1p
+d1u1a
+d1u3ca
+d1v
+d1w
+d2a2r
+d2an3g
+d2e1b
+d2e3st4r
+d2es.
+d2gy
+d2i1ti
+d2ie4
+d2ig
+d2ine
+d2ip
+d2th
+d2y
+d3e1q
+d3ge4t
+d3ul4e
+d4e3no
+d4em
+d4er1h4
+d4ga
+d4i4cam
+d4ice
+d4ir2
+d4is3t
+d4og
+d4or
+d4s4y
+d4sw2
+d5c
+d5ern5iz
+d5k2
+da2ch4
+da2m2
+da2n
+dard5
+dark5
+dav5e
+de1c2i
+de1ca
+de1co
+de1mo
+de1na
+de1p
+de1s2c
+de1t
+de1v
+de1vi
+de2pu
+de2s5o
+de2to
+de2v3i4l
+de3nu
+de3pa
+de4b5i2t
+de4bo2n
+de4cil
+de4l5i5q
+de4mo2n3s2
+de4n2a2r
+de4r5s2
+de4su
+de5com
+de5if
+de5lo
+de5mil
+dea2f5
+deca2n4
+dei2
+del2i
+del2i4e4
+dem5ic.
+demo2n
+demo2r5
+den1t
+dent2i
+denti5f2
+depi4
+des2
+des3t2i
+dg1i
+di1ca
+di1la
+di1re
+di3ge
+di4la1to
+di4p2l2
+di5niz
+dia5b
+dio5g
+dir1t5i
+dis1
+dles2
+do1n1a
+do2n
+do3n2at
+do4la
+do4p4p
+do4v
+do5de
+do5lo4r
+dol2i4
+dom5iz
+doni4
+doo2
+doo3d
+dou2
+dr4i4b
+dra2go
+drag5o2n2
+dre2a5r
+dre4
+dril4
+dro4p
+dru3p2l2
+ds4p
+du2c
+du2c1t
+du4g
+du4m1b
+du4n
+du4pe
+du5el
+duc5er
+dum4be
+dy4s2e
+dys5p
+e1a4b
+e1bel
+e1c2i
+e1c4l4
+e1ca
+e1ce
+e1co
+e1cr
+e1cu
+e1dr
+e1du
+e1f
+e1fi
+e1fo
+e1ga
+e1go
+e1h4
+e1ing
+e1j
+e1la
+e1les2
+e1ma
+e1me
+e1mo
+e1mu
+e1na
+e1nes
+e1or
+e1p2l2
+e1po
+e1q
+e1r2i1o
+e1r2i3a4
+e1s2e
+e1s4a2
+e1si
+e1sis
+e1so
+e1sp
+e1su
+e1ta
+e1to
+e1tu
+e1ty
+e1va
+e1vi
+e1wa
+e2a2r
+e2adi
+e2ale
+e2c1i4t
+e2c1t
+e2c3im
+e2col
+e2cor
+e2fin
+e2i2n1s2
+e2i3th
+e2i5d
+e2ig2
+e2it3e
+e2l1s2
+e2l2f
+e2lis
+e2mel
+e2n1s2
+e2n5est
+e2p1s2
+e2p1t
+e2pa
+e2ra4b
+e2s1ca
+e2s1m
+e2s2id
+e2s3per
+e2s4i4n
+e2s5im
+e2sec
+e2sic
+e2so2n
+e2sol
+e2su2r
+e2t1in4
+e2ta4b
+e2us4
+e2vas
+e2vi4l
+e3a2c1t
+e3a2ss
+e3br
+e3d4i3a
+e3f2i2ne
+e3fu
+e3i4m1b
+e3in3f
+e3l2io
+e3l2iv3
+e3l4an4d
+e3le2a
+e3libe4
+e3lier
+e3my
+e3n2i4o
+e3ne4w
+e3ny.
+e3ol
+e3p4ai2
+e3pen1t
+e3pro
+e3re1a4l
+e3rien
+e3scr
+e3sha
+e3sto2n
+e3ten4d
+e3teo
+e3tra
+e3tre
+e3up
+e3v2i4v
+e3wh
+e3wit
+e4a3tu
+e4ath
+e4be2l1s2
+e4bel.
+e4ben
+e4bi2t
+e4ca2d
+e4cib
+e4cl2us
+e4clam
+e4com1m
+e4compe
+e4con1c
+e4crem
+e4cul
+e4d1er
+e4dol
+e4dri
+e4dul
+e4ed3i
+e4f3ere
+e4fic
+e4fu4se.
+e4go.
+e4gos
+e4ir
+e4jud
+e4l1er
+e4l3ing
+e4l5a1t2iv
+e4l5ic.
+e4la.
+e4lac
+e4law
+e4led
+e4lt
+e4m1n
+e4m1p
+e4m2is
+e4m5b
+e4mac
+e4mag
+e4met
+e4mul
+e4nan1t
+e4no4g
+e4nos
+e4oi4
+e4ot
+e4p2r2ed
+e4pli
+e4prec
+e4prob
+e4pu2t
+e4q3ui3s
+e4r1s2
+e4ri1va
+e4s5enc
+e4s5ig1n4a
+e4sa2ge.
+e4sages
+e4ser1va
+e4ser4t1s2
+e4sert.
+e4t5z
+e4u1t2i
+e4v1in
+e4wag
+e5and
+e5at3if2
+e5c2ite
+e5ex
+e5git5
+e5gur
+e5i1ty
+e5ic
+e5inst
+e5len
+e5lim
+e5loc
+e5lud
+e5m4i2s1s
+e5ma2n
+e5n2ie4
+e5nea
+e5nee
+e5ni1u
+e5nil
+e5of
+e5out
+e5ow
+e5pel
+e5r2oc
+e5si4u
+e5skin
+e5stro
+e5t2i1t2io
+e5t4ir
+e5tide
+e5un
+e5v2er1b
+e5vea
+e5veng
+e5voc
+e5vu
+e5wee
+ea2d1
+ea2n
+ea2t
+ea2v
+ea4ge
+ea4l
+ea5ger
+ea5sp
+ead5ie4
+eal3ou2
+eal5er
+eam3er
+ear1i
+ear2t
+ear3a
+ear4c
+ear4ic
+ear4il
+ear5es
+ear5k
+eart3e
+east3
+eat5en
+eath3i
+eav3en
+eav5i
+eav5o
+ec1ca5
+ec1ta
+ec2e2ss
+ec3c
+ec3o1ra
+ec3u1la
+ec4ta2n
+ec4te
+ec5es1sa2
+ec5i1fy
+ec5i3f2ie4
+ec5ificat
+eca2n
+ecan5c
+eci1fi
+ecifi1ca
+eco2n
+eco4m1p
+eco5ro
+ed1it
+ed3i1ca
+ed3ib
+ed3im
+ed5u1l4o
+ede4s2
+edi5z
+edo2n2
+ee2c
+ee2f
+ee2m
+ee2s4
+ee4ly
+ee4na
+ee4p1
+ee4ty
+eel3i
+eest4
+ef2ini
+ef2us
+ef5i5n2ite
+efer1
+efil4
+efin2it
+efo2r
+efor5es
+eg1ul
+eg4ic
+eg5ib
+eg5ing
+eg5n
+eger4
+eher4
+ei2
+ei5g4l2
+eir4d
+ej5udi
+ek1i
+ek1l
+ek4la
+eki4n
+el1l
+el2e1b
+el2i
+el2ie4
+el2ig
+el2s2h
+el3e1ga
+el3i1ca
+el3op.
+el4igi
+el4lab
+el4ta
+el5ebra
+el5i3gib
+el5is2h
+el5og
+el5ug
+ela2n
+elax1a4
+ele3br
+ell4o4
+em1in2
+em2i4e4
+em2ig4
+em3i1ca
+em3i3ni
+em3iz
+em3pi
+em5a1na
+em5igra
+em5ine
+em5is2h
+em5u1la
+emi1gr
+emo2n
+emo3n2i5o
+emo4g
+emu3n2
+en1er
+en1t
+en1ta
+en2a2n
+en2ch
+en3dic
+en3em
+en3etr
+en3is2h
+en3it
+en3ov
+en3u1a
+en4sw2
+en5a2mo
+en5e1si
+en5ero
+en5i4c3s2
+en5uf
+ench4er
+enche2
+ent5age
+enth2e
+eo2g
+eo2pa
+eo3re
+eo4to
+eo5rol
+eop3a2r
+eos4
+eou2
+ep3re1h4
+ep4s4h
+ep5anc
+ep5e5t2i1t2io
+ep5re1ca
+ep5ti5b
+ep5u1ta
+epa2n
+epe2t
+epeti1ti
+ephe4
+epr2
+eq2ui2
+equ2
+equi3l
+er1a
+er1c
+er1h4
+er1i
+er1ou2
+er1w
+er2i4v
+er2ie4
+er2se
+er3a2r
+er3ch
+er3e1mo
+er3en1t
+er3es2t
+er3in4e
+er3m4
+er3no4
+er3set
+er3tw4
+er4b2l2
+er4che2
+er4i1u
+er4nis4
+er5e1na
+er5e2ss
+er5el.
+er5ence
+er5ob
+era2n
+ere3in
+ere4q
+ere5co
+erei2
+eret4
+eri4er
+ero4r
+ert3er
+eru4t
+es1si
+es1ta
+es2c
+es2ig
+es3olu
+es3t2ig
+es4mi
+es4pre
+es4si4b
+es4w2
+es5ca2n
+es5cu
+es5e1cr
+es5i1den
+es5o1n1a4
+es5pi1ra
+es5tim
+es5ur1r4
+esh5e2n
+esis4te
+esk1i
+esk2
+esp4ir
+espr2
+est2i
+esta2n4
+estruc5
+et1ic
+et2i4no
+et2id
+et3ric
+et3rog
+et3u1a
+et5i1t2iv
+et5o1n1a
+et5rif
+et5ros
+et5ym
+ethod3
+eti1ti
+eto2n
+eu3ro
+eu5tr
+eute4
+euti5l
+ev1er
+ev3el1l
+ev3id
+ev5ast
+eva2p5
+eve4l3o
+even4i
+ew3in4g
+ewi2
+ewil5
+eys4
+f1fi
+f1in3g
+f2e4b
+f2f5is
+f2fin
+f2fy
+f2i1c4i
+f2i2ne
+f2i3a
+f2i4n4n2
+f2id
+f2ig
+f2ly5
+f2ond
+f2ty
+f2us
+f3i1cen
+f3ica2n
+f4ab3r
+f4ath
+f4f2ie4
+f4f2ly5
+f4fes
+f4in2d5
+f4l2
+f4to
+f5f2in.
+f5l2e2ss
+f5rea
+fa3b2l2
+fa3ta
+fa3th2e
+fa4ce
+fa4i4n4
+fai2
+fal1l
+fal2l5e
+fam5is
+far5th
+fau4l2
+fau4lt5
+fe3l2i
+fe4ath3
+fe4mo
+fea2t
+feas4
+fen1d5e
+fen2d
+fer1
+fev4
+ff4l2
+fi1ca
+fi3cer
+fi3cu
+fi5del
+fight5
+fil1l
+fil2l5in4
+fil5i
+fill2i
+fis4t2i
+fles2
+flin4
+flo3re
+fo1ra
+fo2r
+fo5rat
+fon4de
+fon4t
+for1t5a
+for4i
+for5ay
+fore5t
+fos5
+fra4t
+fres5c
+fri2
+fril4
+frol5
+fu1mi
+fu2s4s
+fu3ri
+fu4min
+fu5el
+fu5ne
+fusi4
+g1go4
+g1ic
+g1m
+g1n4a
+g1ni
+g1no
+g2a2r
+g2ge
+g2i1ci
+g2ie4
+g2n1in
+g2ond
+g2ui2
+g3b
+g3ger
+g3i1men
+g3is1l2
+g3l2ig
+g3p
+g3w
+g4ath3
+g4ery
+g4i1co
+g4in5ge
+g4my
+g4n2i4o
+g4na.
+g4no4n
+g4r2ai2
+g4ro
+g5a2mo
+g5e5niz
+g5ra3ph4er
+g5ste
+ga2f4
+ga2n
+ga2ss4
+ga3lo
+ga3niz
+ga5met
+gan5is
+gani5za1
+gar5n4
+gd4
+ge1na
+ge3om
+ge4n2at
+ge4ty
+ge4v
+ge5l1iz
+ge5lis
+geez4
+gel2i
+gel4in
+geth5
+ggl2
+gglu5
+gh3in
+gh4to
+gh5out
+ghou2
+gi2a5r
+gi4u
+gien5
+gil4
+gir4l
+gl2
+gl2ad5i
+gla2d
+gla4
+gli4b
+glo3r
+gne4t4t2
+go2n2
+go3is
+go3ni
+go5riz
+gob5
+goi2
+gon5do5
+gor5ou2
+gov1
+gr2e2ss
+gr4aphi
+gra2d
+gra2n2
+gre4n
+gruf4
+gs2
+gth3
+gu2a2r
+gu4a
+gy5ra
+h1b
+h1es
+h1f
+h1h
+h1ta
+h1w
+h2a2r
+h2an4g
+h2er1b
+h2ero
+h2i1a
+h2i2v
+h2i4p
+h2ig
+h2io
+h2ith
+h2lo
+h2us
+h3ab4l2
+h3ern
+h3ery
+h4and
+h4e5do5
+h4ed
+h4er1a
+h4eu4
+h4i1na
+h4i2s4s
+h4il2
+h4ir
+h4ise
+h4s2h
+h4t2a2r
+h4ty
+h4war4t
+h5a5niz
+h5agu
+h5ecat
+h5elo
+h5er1ou2
+h5o2d1s2
+h5odiz
+ha2ch4
+ha2n
+ha2p3l2
+ha2p5t
+ha2s5s
+ha3la
+ha3ra2n
+ha4m
+ha4n4k2
+ha5r2as
+hae4m
+hae4t
+hala3m
+han1g5o
+han1t
+han4ci
+han4cy
+han4te
+hang5er
+har1l
+har2d
+har2p
+har4le4
+har5ter
+hard3e
+harp5en
+haun4
+haz3a1
+he1ca
+he1na4
+he1o5r
+he2n
+he2s5p
+he2t4ed
+he3l4i
+he4ca2n
+he4m4p
+he4t
+hel1l
+hel4lis
+hel4ly
+hell2i
+hen5at
+hep5
+her4ba
+hera3p
+here5a
+hi3ro
+hi4co
+hi5a2n
+high5
+himer4
+hio2n
+hion4e
+hir4l
+hir4p
+hir4r4
+his3el
+hith2e
+hith5er
+hla2n4
+hlo3ri
+hmet4
+ho1ge4
+ho1la
+ho1n4a
+ho1ra
+ho2me3
+ho2n
+ho4g
+ho4ma
+ho5ny
+ho5r2is
+ho5ru
+ho5sen
+hol5a2r
+hoo2
+hoo2n4
+hor5at
+hort3e
+hos1p
+hos4e
+hou2
+house3
+hov5el
+hree5
+hro2n
+hro3po
+hro5niz
+ht1en
+ht5es
+hu1mi
+hu4g
+hu4min
+hu4nk2
+hu4t
+hun4t
+hun5ke
+hus3t4
+hw2a2r
+hy2s
+hy3pe
+hy3ph
+i1b2l2
+i1br
+i1c4l4
+i1ca
+i1co
+i1d2a
+i1d3io
+i1d4i3a
+i1do
+i1er.
+i1est
+i1fi
+i1ga
+i1gr
+i1la
+i1ma
+i1men
+i1mo
+i1na
+i1nes
+i1ol
+i1ra
+i1ta
+i1ti
+i1to
+i1tra
+i1tu
+i1u
+i1zo
+i2a2n
+i2al
+i2b5ri
+i2c1t
+i2c2ip
+i2c5oc
+i2cin
+i2di
+i2du
+i2go
+i2l5am
+i2l5f
+i2mu
+i2o5ph
+i2r2ed
+i2ra4b
+i2s1m
+i2so
+i2su
+i2t3ig
+i2t5o5m
+i2tab
+i2tim
+i2vil
+i2z1i4
+i3cur
+i3dle
+i3ent2i
+i3es2c
+i3et
+i3f2ie4
+i3f4l2
+i3gib
+i3h
+i3j
+i3leg
+i3men1t
+i3mo2n
+i3nee
+i3qua
+i3som
+i3ta2n
+i3tat
+i4a1t2iv
+i4a2tu
+i4c1ly4
+i4car.
+i4cara
+i4cay
+i4cry
+i4dai2
+i4dom
+i4dr
+i4f1f
+i4g4l2
+i4l4ade
+i4lt
+i4m1n
+i4mag
+i4n3au
+i4n4i1a
+i4no4c
+i4not
+i4o5th
+i4os
+i4our
+i4rac
+i4re1f
+i4rel4
+i4res
+i4tag
+i4ti2s4m
+i4tram
+i4tz
+i4v3er.
+i4v3ot
+i4vers.
+i5bo
+i5bu4n
+i5c2id
+i5d2ie4
+i5e4n1n2
+i5gre
+i5m2ini
+i5n2e2ss
+i5n2us
+i5ni.
+i5ni4te.
+i5oti
+i5sis
+i5ter1i
+i5tud2
+i5vore
+ia1tr
+ia2ss4
+ia4tric
+ia5pe
+iam4
+iam5e1te
+ian3i
+ib3er1a
+ib3in
+ib3li
+ib5ert
+ib5i1a
+ib5it.
+ib5ite
+ibe4
+ibi2t
+ic1tu2
+ic3c
+ic3i1pa
+ic3u1la
+ic4t3u1a
+ic4te
+ic4um
+ic5i1na
+ic5uo
+icas5
+iccu4
+id1it
+id3ow
+id5anc
+id5d4
+id5i1u
+id5i2a2n
+id5uo
+ida2n
+ide3a4l
+ide4s2
+idi4a2r
+idi5ou2
+ie1n5a4
+ie2ld3
+ied4e
+ien1t
+ien4e
+if4fr
+if5ero
+ifer1
+iff5en
+ig1ur
+ig2u5i2
+ig3er1a
+ig3il4
+ig3in
+ig3it
+ig3or
+ig5ot
+iga5b
+ight3i
+il1er
+il1i
+il1l
+il2a2r
+il2ib
+il2iz
+il3a4b
+il3i1a
+il3io
+il3o1q
+il3v
+il4ist
+il4ty
+il5ur
+ila2d
+ila5ra
+ilev4
+ill5ab
+im1i
+im2a2r
+im2id
+im3age
+im3u1la
+im4ni
+im5i1d4a
+ima5ry
+imen1ta
+iment2a5r
+imi5le
+in1er
+in1is
+in1su
+in1t
+in1u
+in2it
+in2ite
+in3cer
+in3i1ty
+in3i4o
+in3se
+in4er4a2r
+in5dling
+in5gen
+in5gling
+incel4
+iner1a
+ingl2
+ini1ti
+ino4s
+insu1r5a
+insu2r
+io1ge4
+io1n1a
+io2gr
+io2n
+io4m
+io4to
+ion1er
+ion3at
+ion3i
+ion4ery
+ior3i
+iou2
+ip3i
+ip3ul
+ip4hr4
+ip4ic
+ip4re4
+ipe4
+iphr2as4
+ipr2
+iq2ui2
+iq3u2id
+iq3ui3t
+iq5ue1f
+iqu2
+ir1i
+ir1m
+ir2id
+ir4is
+ir4min
+ir5gi
+ir5ul
+ird5e
+ire4de
+irg2
+iri3tu
+iri5de
+iro2n
+iro4g
+is1l2
+is1p
+is1sa2
+is1t2i
+is1ta
+is1te
+is1tra
+is2h
+is2i4d
+is2pi
+is2tl
+is3a2r
+is3ch2
+is3er
+is3ho2n3
+is3i1b
+is4py
+is4s1e4s
+is4sal
+is4ta.
+is5ag
+is5ha2n
+is5i1t2iv
+is5us
+isa2
+isas5
+ish5op
+isho4
+isi1ti
+isla2n4
+iso2me
+iso5mer
+issen4
+ist4ly
+ist4r
+it3er1a
+it3i1ca
+it3u1at
+it3ul
+it4es
+it5il1l
+it5ry
+ita4bi
+itu1a
+iv1it
+iv3el1l
+iv3en.
+iv3o3ro
+iv5il.
+iv5io
+ive4r1s2
+ix4o
+iza1
+izo2n
+ja4p
+jac4q
+je4r5s2
+jest2i
+jew3
+jo4p
+k1b
+k1er
+k1i
+k1l
+k1m
+k1w
+k2ed
+k2i4p
+k2ine
+k3ab
+k3e2st.
+k3en4d
+k3f
+k3ou2
+k4il1l
+k4im
+k4in.
+k4ind
+k4s4y
+k4sc
+k5ag
+k5i5n2e2ss
+k5is2h
+k5nes
+k5t
+kai2
+kais4
+kal4
+ke4g
+ke4ty
+ke5l2i
+kes4
+kh4
+ki1nes
+kilo5
+kin4de
+kin4g
+kis4
+kk4
+ko5r
+kos2h4
+kro5n
+ks4l2
+l1go3
+l1it
+l1iz
+l1l
+l1mo
+l1pa
+l1ta
+l1te
+l1tr
+l1tu2
+l2a2r
+l2de
+l2e1b
+l2i1a
+l2i1ci
+l2id
+l2ig
+l2in3i
+l2io
+l2it.
+l2iv
+l2l5out
+l2le
+l2lin4
+l2se
+l2ui2
+l2us
+l3ci
+l3dr
+l3e1va
+l3i1cy
+l3i1d2a
+l3kal4
+l3le4n
+l3le4t
+l3lec
+l3leg
+l3lel
+l3o3niz
+l3o4p1m
+l3pha
+l3pit
+l4a2ci4
+l4abo
+l4ade
+l4dri
+l4ero
+l4ges
+l4i1na
+l4i2tic
+l4i4f1f
+l4i4m4p
+l4i4nk2
+l4icu
+l4law
+l4mo2d1
+l4p2l2
+l4s2ie4
+l4sc
+l5fr
+l5ga
+l5i5ti4c3s2
+l5l4i1na
+l5le2a
+l5low
+l5met
+l5o1go
+l5phi
+l5pr2
+l5ties.
+l5umn.
+l5ven
+l5vet4
+l5y3s2e
+la2d
+la2m3o
+la2n
+la2ta
+la3d2y
+la4v4a
+la5ta2n
+lab3ic
+lag4n
+lan1t
+lan4dl
+lan4te
+lan5et
+lar3i
+lar4g2
+las4e
+lbin4
+lce4
+ld4er1i
+ld4ere
+ld5is1
+ldi4
+le1f
+le1ma
+le2a
+le2ft5
+le2ra5b
+le3ph
+le4bi
+le4mat
+le4pr2
+le5s1co
+lem5at1ic
+ler1a
+ler4e
+les2
+les2c
+lev1er
+lev4e4r1s2
+lev4er.
+lev4er1a
+lg2a2r3
+li1co
+li1ga
+li1gr
+li1ti
+li2a2r
+li2am4
+li2c1t
+li4a1to
+li4ag
+li4as
+li4cor
+li4f4l2
+li4gra
+li4m1b
+li4mo
+li5bi
+li5og
+liar1i
+liar5iz
+lid5er
+lif3er1
+lim3i
+lim4b2l2
+lin3ea
+link5er
+lis4p
+liv3er
+lka3
+lka4t
+ll2i
+ll4o
+llo1q
+lloq2ui5
+lloqu2
+llou2
+lm3ing
+lmo2n4
+lo1ra4
+lo2me
+lo2n
+lo2so
+lo4ci
+lo4ra1to
+lo4ta
+lo5r2ie4
+lob5al
+lom3er
+lon4i
+loo2
+lood5
+lop3i
+lor5ou2
+los2oph
+los4op
+los4t
+los5et
+lou2
+loun5d
+lp5ing
+lpa5b
+lpi2n
+lt2ie4
+lt5ag
+lta2n
+ltane5
+lten4
+lter1a4
+lth3i
+ltis4
+ltu1r3a
+lu2ch4
+lu2ss4
+lu3br
+lu3ci
+lu3en
+lu3o
+lu4m1n
+lu4ma
+lu5a
+lu5id
+luf4
+luo3r
+lus3te
+ly3no
+ly5me4
+m1ba4t5
+m1m
+m1ma
+m1n4a
+m1p4or
+m1pa
+m1pos
+m2a2r
+m2i3a
+m2id
+m2ig4
+m2ine
+m2io
+m2is
+m2iz
+m2p1t
+m2pi
+m2py
+m3pe2t
+m4ath3
+m4b3ing
+m4edi
+m4etr
+m4il1l
+m4in1u
+m4ingl2
+m4ise
+m4n1in
+m4oth3
+m4p1i2n
+m4po2us
+m4s2h
+m5bil
+m5e5d2y
+m5er1sa2
+m5i3nee
+m5i4stry
+m5i5l2ie4
+m5ing1ly
+m5ouf
+m5p4ir
+m5si
+ma1tiz
+ma2ca
+ma2ch
+ma2id5
+ma2n
+ma3l2ig
+ma3tis
+ma4c4l4
+ma4ch1in
+ma4lt
+ma5ch2ine
+ma5lin
+ma5r2iz
+ma5ri2ne.
+ma5sce
+mag1i
+mag5in
+mai2
+mal1i
+mal1l
+mal4l2i
+mal4ty
+man3iz
+man5is
+mar1i
+mar1l
+mar2in4e
+mar3v
+mar4ly
+mas1t
+mas4e
+mb2i4v
+me1m1o3
+me1n4a
+me1te
+me2g
+me2m
+me2n1s4
+me3d2ie4
+me3try
+me4l4t
+me4r1s2
+me4ta
+me4v
+me5o2n
+me5thi
+me5tr2ie4
+mel5o2n
+men1su5
+men4de
+men4i
+men4te
+men5ac
+met3a2l
+mi1d4a
+mi1n4a
+mi4s4er.
+mid4g
+mil1i
+min4t
+min5gli
+miot4
+mis3er
+mis4t2i
+mis5l2
+mist4r
+mm2a2r
+mma5ry
+mn4o
+mo1ra
+mo2d1
+mo2n
+mo2r
+mo2v
+mo3me
+mo3n4i3a
+mo3niz
+mo3ny.
+mo3sp
+mo4go
+mo4i5se
+mo5lest
+mo5sey
+moi2
+mois2
+moles2
+mon1is
+mon4i2s1m
+mon4ist
+mon5et
+mon5ge
+monol4
+mos2
+mou2
+mp2a2r
+mp2i4a
+mp2ie4
+mp4a4r5i
+mp4tr
+mp5ies
+mp5is
+mpa5rab
+mpara5
+mphas4
+mpo3ri
+mpos5ite
+mpou2
+mpov5
+mu1la
+mu4u
+mul1ti3
+mul2a5r4
+mun2
+n1ca
+n1ci
+n1co
+n1cr
+n1cu
+n1d2a
+n1de
+n1dit
+n1du
+n1er
+n1ga
+n1gen
+n1go
+n1gu
+n1im
+n1in
+n1j
+n1k1l
+n1p4
+n1q
+n1r
+n1so
+n1t
+n1ta
+n1tu
+n1v2
+n1w4
+n2a2n
+n2a2r
+n2at
+n2au
+n2c1in
+n2c4it
+n2ch
+n2e2b
+n2ere
+n2gy
+n2i4d
+n2i4o
+n2ie4
+n2ig
+n2ine
+n2it
+n2s1l2
+n2s3m
+n2s5ab
+n2se
+n2t1in
+n2ta4b
+n2ui2
+n3cha
+n3chis
+n3diz
+n3e2a2r
+n3f
+n3gel
+n3ger1i
+n3gib
+n3itor
+n3ket
+n3n4i1a
+n3t2ine
+n3tum
+n3ui4n
+n3uo
+n3za1
+n4abu
+n4as
+n4ces.
+n4dai2
+n4er3a2r
+n4er5i
+n4gab
+n4gla4
+n4gum
+n4ik4
+n4ith
+n4s3e4s
+n4soc
+n4t3ing
+n4t4s2
+n4um
+n5a2c1t
+n5ar1m
+n5ch4il2
+n5cheo
+n5d2if
+n5da2n
+n5du2c
+n5eve
+n5gere
+n5git
+n5i1gr
+n5k2ero
+n5m
+n5o1c4l4
+n5o5m2iz
+n5oniz
+n5spi
+n5ti2b
+n5u1mi
+na1to
+na2ta
+na2tom
+na2us
+na3ta2l
+na4ca
+na4l1i
+na4nk4
+na5l2i1a
+na5mit
+nag5er.
+nak4
+nan1ci4
+nan4it
+nar3c
+nar3i
+nar4l
+nas4c
+nas5t2i
+nat5o5m2iz
+nau3se
+nav4e
+nc2a2r5
+nche2
+ncou1r5a
+ncou2
+nd1w
+nd2we
+nd5e2st.
+ndes2
+ndi4b
+ndu4r
+ne1ga
+ne2c
+ne2q
+ne2ra5b
+ne4g5a1t2iv
+ne4gat
+ne4la
+ne4mo
+ne4po
+ne4v
+ne4w
+ne5mi
+neb3u
+nel2i
+nel5iz
+ner1a
+ner4r4
+ng1in
+ng5ha
+ng5s2h
+nge4n4e
+ngl2
+ngov4
+ngs2
+nha4
+nhab3
+nhe4
+ni1ti
+ni1to
+ni2fi
+ni3a2n
+ni3ba
+ni3m2iz
+ni3tr
+ni4ap
+ni4b2l2
+ni4er
+ni5di
+ni5ficat
+nifi1ca
+nim1i
+nin4g
+nis4ta
+nk1er
+nk1i
+nk3in
+nme4
+nmet4
+nn2i4v
+nne4
+nni3al
+no1ge4
+no1n1a
+no1ra
+no2r5ab
+no3ble
+no3my
+no4mo
+no4n
+no4rary
+no5l4i
+no5ta
+nob4l2
+noi2
+nois5i
+non4ag
+non5i
+nor2a2r
+nos4e
+nos5t
+nov3el3
+nowl3
+npi4
+npr2
+npre4c
+nru4
+ns1ta
+ns2id1
+ns2ig4
+ns2tab
+ns4c
+ns4pe
+nsa2
+nsati4
+nsta5b2l2
+nt2i
+nt2i4p
+nt2ie4
+nte4r3s2
+nti2f2
+nti4er
+ntrol1l
+ntrol5l2i
+ntu3me
+nu1a
+nu1me
+nu3tr
+nu4d
+nu4f1f
+nu5en
+nuf4fe
+nym4
+nyp4
+o1be4l
+o1bi
+o1c4l4
+o1ce
+o1ci
+o1co
+o1d2i3o
+o1du
+o1ga
+o1ge
+o1gen
+o1gr
+o1h2
+o1la
+o1ma
+o1men
+o1mo
+o1n1a
+o1nes
+o1pos
+o1pr2
+o1q
+o1r2i1o
+o1ra
+o1ry
+o1ta
+o1to
+o2a2r
+o2ale
+o2bin
+o2c1t
+o2ch4
+o2do4
+o2fi
+o2g5a5r
+o2id
+o2ig4
+o2ite
+o2l2d
+o2lf
+o2lp
+o2ly
+o2m5ah
+o2me
+o2n
+o2n3s2
+o2n5est
+o2o4k
+o2p2e5d
+o2pa
+o2s4pa
+o2so
+o3br
+o3che4t
+o3er
+o3ev
+o3g2ie4
+o3ing
+o3ken
+o3l2i1a
+o3les2c
+o3let
+o3li4f
+o3lice
+o3m2i3a
+o3n2a2n
+o3n2i4o
+o3nen
+o3ord
+o3pit
+o3ri1u
+o3scop
+o3tice
+o3tif2
+o3tis
+o3vis
+o4cil
+o4clam
+o4cod
+o4d5uc4t1s2
+o4d5uct.
+o4el
+o4g4ro
+o4g5a1t2iv
+o4ga1to
+o4ger
+o4gl2
+o4l2t
+o4la2n
+o4m1b
+o4m1p
+o4met
+o4mo2n
+o4n3o2d
+o4nk2
+o4posi
+o4r3ag
+o4rs2
+o4ta2n
+o4tes
+o4vi1ti4
+o4wo2
+o5a5les2
+o5b2a2r
+o5cure
+o5eng
+o5g2ly
+o5gene
+o5geo
+o5i2s1m
+o5j
+o5l2i1t2io
+o5l2io
+o5l2is.
+o5l2ite
+o5l2iv
+o5l2us
+o5l4i4l
+o5m2id
+o5m2ini
+o5ni1u
+o5ph4er
+o5pha2n
+o5po2n
+o5ra.
+o5re1a4l
+o5ril
+o5rof
+o5rum
+o5scr
+o5si4u
+o5stati
+o5v4ol
+oa2d3
+oard3
+oas4e
+oast5e
+oat5i
+ob3a3b
+ob3ul
+ob5ing
+oc1to
+oc3rac
+oc3u1la
+oc5ra1tiz
+oche2
+ocif3
+ocre3
+ocri2
+octo2r5a
+od1d4
+od3ic
+od4or3
+od5d1ed
+odu2c
+odu2c1t
+oe4ta
+of4i4t4t2
+of5ite
+og1ni
+og2u5i2
+og3it
+ohab5
+oi2
+oi2so
+oi3der
+oi3ter
+oi4f1f4
+oi5let
+oi5so2n
+oic3es
+oin1t
+oint5er
+ois1te
+oist5en
+ok1i
+ok5ie4
+ol1it
+ol1l
+ol2d1e
+ol2i
+ol2id
+ol2v
+ol3er
+ol3ing
+ol3is2h
+ol3ub
+ol3ume
+ol3un
+ol4fi
+ol5id.
+ol5o3giz
+ol5p2l2
+ola2ss4
+oles2
+oli1ti
+oll2i
+oll2i4e4
+olo4r
+om1in
+om1m
+om1men
+om2be
+om3e1n4a
+om3i1ca
+om3ic.
+om3pi
+om4b2l2
+om4etr
+om5a1tiz
+om5e3try
+om5er2se
+oma5l
+ome4r1s2
+omo4ge
+ompr2
+ompro5
+on1c
+on1ci
+on1ic
+on1is
+on1su4
+on1t
+on1v2
+on1va5
+on3key
+on3o3my
+on3t4i
+on4ac
+on4gu
+on4odi
+on5do
+on5spi4
+on5um
+onsp4ir
+onspi1r5a
+onten4
+onti2f5
+oo2
+ood5e
+ood5i
+oop3i
+oost5
+op1er
+op1u
+op3ing
+opi2n
+opy5
+or1in
+or1m
+or1p
+or1r4
+or2ang
+or2mi
+or3ei2
+or3i1ca
+or3i1ty
+or3oug
+or3thi
+or3thy
+or4e5s2h
+or4gu
+or4se
+or4ty
+or5al1iz
+or5an4ge
+or5e2st.
+or5pe
+ora2n
+oral1i
+ore5a
+ores2t
+orew4
+org2
+orn2e
+orou2
+ors5en
+orst4
+os1co
+os2c
+os2ta
+os3al
+os3i1to
+os3i1ty
+os4ce
+os4i4e4
+os4l2
+os4po
+os5i1t2iv
+os5til
+os5tit
+osa2
+osi1ti
+ost2i
+ot3er.
+ot3ic.
+ot5e4r1s2
+ot5i1ca
+otele4g
+oth1es
+oth2e
+oth3i4
+oth5e1si
+oto5s2
+ou2
+ou2ch
+ou3b2l2
+ou4l
+ou5et
+ou5v2
+ouch5i
+oun2d
+ounc5er
+ov4en
+ov4ert
+ove4r3s2
+over4ne
+ow1i2
+ow3der
+ow3el
+ow5est3
+own5i
+oy1a
+p1pa
+p1pos
+p1ta
+p1ti3m
+p1tu
+p2a2r
+p2er3o
+p2i1ci
+p2i3a
+p2ie4
+p2ig
+p2pe
+p2se
+p2t5a4b
+p2te
+p2th
+p3agat
+p3ith
+p3pe2t
+p3pen
+p3per
+p3re1s2e
+p3ro1ca
+p3w
+p4a2d
+p4a4r1i
+p4ai2
+p4al
+p4ath
+p4e5ru
+p4ee
+p4enc
+p4er1i
+p4era.
+p4erag
+p4ern
+p4h2l4
+p4i1no
+p4id
+p4in.
+p4ind4
+p4ot
+p4p2ed
+p4si1b
+p4tw4
+p5i1d2a
+p5pel
+pa1ga
+pa1n4a
+pa1p
+pa1tr
+pa2c4t
+pa2n
+pa2rab
+pa2te
+pa3ny
+pa4ca
+pa4ce
+pa4i4n4
+pa4pu
+pa4tric
+pa5ter
+pa5thy
+pan1t
+pan3el
+pan4ty
+par4is
+par5age
+par5d2i
+par5el
+para5b2l2
+pav4
+pd4
+pe1na
+pe2a2r
+pe2c
+pe2ra4b
+pe2t
+pe3d4i3a4
+pe4la
+pe4n2a2n
+pe5o2n
+pe5ten
+pe5tiz
+pear4l
+ped4ic
+pee4d
+pek4
+pel2i
+pel2i4e4
+pen1t
+pen4th
+per1a
+per1ma
+per1v
+per2is
+per2me5
+per3m4
+per3ti
+per4mal
+pera5b2l2
+peri5st
+ph1es
+ph1ic
+ph2a2r
+ph3t
+ph4e3no
+ph4er
+ph4es.
+ph5ing
+phar5i
+phe2n
+pho2n
+pho4r
+pi1gr
+pi2a2n4
+pi2n
+pi2tu
+pi3de
+pi3en
+pi3lo
+pi4c2ie4
+pi4cy
+pi4grap
+pi5tha
+pio2n4
+pl2i3a
+pl2ie4
+plas5t
+pli4n
+pli5er
+ploi4
+plu4m
+plu4m4b
+po2ly
+po2n
+po2s1s
+po3et5
+po4c
+po4ni
+po4p
+po4ry
+po4ta
+po5em
+poi2
+poin2
+poly5t
+pou2
+pp2a2r
+ppa5ra
+ppo5s2ite
+pr1e3r4
+pr2
+pr2i4s
+pr2oc
+pray4e4
+pre1f
+pre1fa
+pre3e2m
+pre3v2
+pre4f5ac
+pre4la
+pre5co
+pre5ten
+pri2s3o
+prin4t3
+pro1t
+pro2fi
+pro3l
+prof5it
+pros3e
+ps4h
+ptu4r
+pu2n
+pu2t
+pu3tr
+pu4l3c2
+pu4m
+pu4t3t2
+pub3
+pue4
+puf4
+pur4r4
+put3er
+put4t1ed
+put4t1in
+qu2
+qua5v4
+r1b
+r1c
+r1cen4
+r1ci
+r1d2a
+r1d4i4a
+r1er4
+r1f
+r1gl2
+r1go
+r1l
+r1m
+r1ma
+r1na
+r1nis4
+r1p
+r1r4
+r1s2h
+r1sa2
+r1si
+r1so
+r1sp
+r1ta
+r1te5o
+r1ti
+r1w
+r2a2r
+r2ai2
+r2ami
+r2ang
+r2as
+r2b3i4f
+r2bin
+r2c4it
+r2ce
+r2ch
+r2e1b
+r2e2ss
+r2e3st4r
+r2ero4
+r2i1na
+r2i1o
+r2i3a
+r2id
+r2ie4
+r2ig
+r2in4e
+r2ip
+r2is
+r2is4c
+r2ite
+r2iv
+r2led
+r2me
+r2oc
+r2ok2
+r2se
+r2t5i2b
+r2ui2
+r2us
+r3cha
+r3fu4
+r3g1ic
+r3get
+r3gu
+r3is2h
+r3j
+r3ket
+r3lo4
+r3men
+r3mit
+r3n2it
+r3n2iv
+r3nel
+r3ney
+r3nu
+r3pe2t
+r3po
+r3sec
+r3t2e1b
+r3t2ig
+r3ten4d
+r3tri
+r3v2i4v
+r3ven
+r3vey
+r3vic
+r3vo
+r4ani
+r4bab
+r4bag
+r4ci4b
+r4dal
+r4e5ru
+r4edi
+r4en4ta
+r4er1i
+r4es.
+r4eu2
+r4fy
+r4i1co
+r4i2t3ic
+r4ib
+r4ice
+r4in4d
+r4iq
+r4is.
+r4l2ig
+r4lis
+r4m2io
+r4ming.
+r4my
+r4n1er
+r4n2a2r
+r4nou2
+r4oth
+r4pe4a
+r4re1o
+r4s5er.
+r4si4b
+r4t1s2
+r4t2iv
+r4tag
+r4ti1ly
+r4tier
+r4tist
+r4u1t2i
+r5a1c4l4
+r5b2ine
+r5ebrat
+r5ev5er.
+r5gis
+r5git
+r5ited.
+r5net
+r5nic
+r5pen1t
+r5se5v2
+r5sha
+r5sw2
+r5usc2
+r5vest
+ra1t2io
+ra2ch
+ra2f
+ra2f4t
+ra2n
+ra2va
+ra2z1i
+ra3bi
+ra3ne5o
+ra4f1f4
+ra4lo
+ra5no4
+ra5vai2
+ra5z2ie4
+rach4e2
+raf5fi
+ram3et
+ran4ge
+rap3er
+rar1i
+rar5c
+rar5e1f
+rare4
+ratio2n4
+rau4t
+rav3el
+rb4o
+rb5ing.
+rbi2
+rch4er
+rche2
+rcum3
+rd1in4
+rd2i
+rd2ie4
+rd3ing
+rdi4er
+re1a4l
+re1co
+re1cr
+re1de
+re1f
+re1fa
+re1l2i
+re1o
+re1po
+re1pos
+re1pu
+re1sp
+re1va
+re1vi
+re2a2r
+re2col
+re2fe
+re3a2n
+re3br
+re3dis1
+re3fi
+re3tri
+re4aw
+re4c5ompe
+re4cre
+re4fac
+re4fy
+re4posi
+re4spi
+re4ter
+re4ti4z
+re4val
+re4wh
+re5ar1r4
+re5fer.
+re5it
+re5lu
+re5pi2n
+re5s2ta2l
+re5u1t2i
+re5ve4r1s2
+re5vert
+re5vi4l
+rec5ol1l
+reco4m1p
+red5it
+refer1
+reg3is
+rei2
+ren1t
+ren4te
+res1si
+res1ta
+res2t
+res4s5i4b
+rev1er
+rev2
+rev3el
+rev5olu
+rg2
+rg3er
+rg3ing
+rgi4n
+rgo4n2
+rh4
+ri1ca
+ri1er
+ri1ga
+ri1ma
+ri1ta
+ri1ti
+ri2p2l2
+ri2t1ed
+ri2tu
+ri3en1t
+ri3enc
+ri3ta3b
+ri4ag
+ri4c2ie4
+ri4m1p
+ri5et
+ria4b
+rib3a
+ric5as5
+rid5er
+rig5a2n
+ril1i
+ril3iz
+rim4pe
+rim5i
+rin4g
+rip5lic
+riph5e
+ris4p
+rit5e4r1s2
+rit5er.
+rit5ur
+riv3et
+riv3i
+riv5el
+rk1l
+rk4le
+rk4lin
+rl5is2h
+rle4
+rm3ing
+rm5e4r1s2
+rma5c
+rno4
+ro1fe
+ro1n1a
+ro2fi
+ro2me
+ro2n
+ro2s4s
+ro2s5per
+ro3cr
+ro3pel
+ro4e
+ro4m4p
+ro4met
+ro4th2e
+ro4ty
+ro4va
+ro5fil
+ro5k1er
+ro5n4is
+ro5ro
+rob3l2
+rom4i
+rom5e1te
+ron1t
+ron4al
+ron4e
+ron4ta
+roo2
+rop3ic
+ror3i
+rov5el
+rox5
+rp3ing
+rp4h4
+rp5er.
+rpi2n
+rr2i4o
+rr2i4v
+rre4c
+rre4f
+rre4s2t
+rro2n4
+rros4
+rrys4
+rs3e4s
+rs4c
+rsa5ti
+rse4cr
+rso2n3
+rt2i4d
+rt2ie4
+rt4s2h4
+rta2ch4
+rtil3i
+rtil4l
+rtr2oph4
+ru2n
+ru2t1i5n
+ru3a
+ru3e4l
+ru3en
+ru3i4n
+ru4gl2
+ru4m2p
+ru4nk5
+rum3p2l2
+run1t
+run4ty
+rv4e
+rv4e2s
+rv5er.
+rvel4i
+ry3t
+ry4c
+ryn5g
+s1ap
+s1c4l4
+s1ca
+s1ci
+s1co
+s1cu
+s1e4s
+s1l2
+s1mo
+s1n4
+s1p2l2
+s1p4or4
+s1r
+s1sa2
+s1si
+s1su
+s1ta
+s1tic
+s1tle
+s1to
+s1tra
+s2ch2
+s2cin
+s2er4o
+s2h
+s2i1na
+s2id
+s2ig
+s2ine
+s2le
+s2oph
+s2phe
+s2s5c
+s2t1in
+s2ta2l
+s2tag
+s2tl
+s2ty
+s2ui2
+s3a2c1t
+s3ing
+s3ket
+s3lat
+s3ma
+s3sel
+s3th2e
+s3tif2
+s4a2l4m
+s4and
+s4ced
+s4ces
+s4cho2
+s4cli
+s4e5s2h
+s4er1l
+s4eu
+s4i2r
+s4op
+s4p1ly
+s4po2n
+s4s1l2
+s4s1n4
+s4s2ie4
+s4s5i1ly
+s4ses.
+s4t1ed
+s4t2ie4
+s4ta4p
+s4ti.
+s4top
+s4tr2id
+s4tra2d
+s4tray
+s4ul
+s4y
+s5e2ned
+s5edl
+s5en1in
+s5ic3c
+s5men
+s5o1phy
+s5o3phiz
+s5sen5g
+s5set
+s5t2ero
+s5t2i1a
+sa2
+sa2n
+sa2t3u
+sa4l2a2r4
+sa4l4t
+sa5lo
+sa5ta
+sa5vor
+sac3ri2
+san4de
+sau4
+sca2n
+sca4p
+scan4t5
+scav5
+scle5
+scof4
+scou1r5a
+scou2
+se1g3r
+se1le
+se1mo
+se1na
+se2c3o
+se2g
+se2p3a3
+se4a
+se4d4e
+se4mol
+sea5w
+seas4
+sen1t
+sen4d
+sen5at
+sen5g
+ses5t
+sev3en
+sew4i2
+sh1er
+sh1in
+sh2i2v5
+sh3io
+sh5o2l2d
+sho2n3
+sho4
+shor4
+short5
+si1b
+si1r5a
+si1ti
+si5diz
+sil4e
+sio1n5a
+sk1i
+sk2
+sk5in4g
+sk5ine
+sl1it
+sl2ith5
+sma2n3
+smal1l3
+smel4
+smo2l5d4
+so1la
+so1n1a4
+so2ft3
+so2l3d2
+so2n
+so3lic
+so4ce
+so4lab
+so5vi
+sol2i
+son4g
+sor5c
+sor5d
+sp5ing
+spa4n
+spen4d
+spho5
+spi2n
+spil4
+squ2
+squal4l
+ss1e4s
+ss2t
+ss4li
+ss5w2
+ssas3
+ssi4er
+sspen4d4
+ssu1r5a
+ssu2r
+st2i
+st3ing
+st4r
+sta2n
+stam4i
+ste1w5a
+ste2w
+stern5i
+sto2m3a
+sto2n
+su1al
+su1m3i
+su2g3
+su2m
+su2n
+su2r
+su4b3
+su5is
+suit3
+sw2
+sy5rin
+syn5o
+t1tu4
+t2a2r
+t2ale
+t2i1na
+t2id
+t2ie4
+t2ine
+t2ra3b
+t2z4e
+t3ess.
+t4and
+t4ch
+t4e5di
+t4i1co
+t4ic1u
+t4r2i1ci
+t4sc
+t4sw2
+t4tes
+t5la
+t5let.
+t5lo
+t5to
+ta2d
+ta2l
+ta2n
+ta2tu
+ta3r2iz
+ta4tur
+ta5bles2
+ta5do
+ta5la
+ta5log
+ta5mo
+ta5p2l2
+ta5per
+ta5s4y
+tab2l2
+tabol2i
+tai2
+tai5lo
+tal1l
+tal3i
+tal4lis
+tal5en
+tall2i
+tan1t
+tan4de
+tar1i
+tar4a
+tas4e
+taun4
+tav4
+tax3i
+tax4is
+tch5e4t
+tche2
+te1ce4
+te1na
+te2ad4i
+te2ma2
+te4p
+te5ger4
+te5gi
+te5pe
+tea2d1
+teg4
+tel2i4
+tem3at
+ten1ta
+ten4tag
+ter2ie4
+ter3c
+ter3is
+ter5ies
+ter5v
+teri5za1
+teth5e
+th2e
+th3eas
+th5i1ca
+th5ic.
+th5ode
+tha2n4
+the3is
+the5a2t
+thei2
+tho5riz
+thor5it
+ti1v4a
+ti2mu
+ti2s4m
+ti2ze
+ti3sa2
+ti3tl
+ti3za1
+ti3ze4n
+ti4a1to
+ti4ab
+ti4u
+ti5fy
+ti5oc
+ti5so
+tif2
+til1l
+til2l5in4
+till2i
+tim5ul
+tio2n
+tion5ee
+tis1t2i
+tis1tic
+tis4p
+tla2n4
+tles2
+tme4
+to1n1a
+to2gr
+to2ma
+to2n
+to2ra
+to3b
+to3my
+to3n2at
+to3r2ie4
+to3w2a2r
+to4m4b
+to5crat
+to5ic
+toi2
+ton4a4l1i
+tor5iz
+tos2
+tou2
+tr2as4
+tr2i4v
+tr2oph
+tr2u5i2
+tr2us4
+tr4a2ci4
+tr4ice
+tra2c1t
+tra2c4it
+tra5ch
+tra5ven
+trac4te
+trav5e2s5
+tre4m
+tre5f
+trem5i
+tri5ces
+tro2n
+tro3sp
+tro3v
+tro5m4i
+tro5phe
+tron5i
+ts2h4
+tu1a
+tu1ni
+tu3a2r
+tu4b4i
+tu4nis
+tu5ry
+tud2
+tur3is
+tur5o
+tw4
+twi2
+twis4
+ty5ph
+type3
+u1at
+u1b4i
+u1c4l4
+u1ci
+u1dic
+u1do
+u1ing
+u1l4o
+u1la
+u1len
+u1ma
+u1mi
+u1mo
+u1na
+u1ni
+u1ou2
+u1pe
+u1ra
+u1rit
+u1t2io
+u1ta
+u1to
+u1v2
+u2a2r
+u2c4it
+u2d1s2
+u2iv3
+u2ld
+u2m5ab
+u2n1in
+u2n3s4
+u2ne
+u2p1t
+u2ss
+u2su
+u2t1in
+u2t5of
+u2ta4b
+u2z4e
+u3b4le.
+u3ber
+u3ca
+u3cr
+u3cu
+u3f4l2
+u3lu
+u3p2l2
+u3r2i1o
+u3rif
+u3ru
+u3sic
+u3t2ine
+u3tat
+u3u
+u4b2ero
+u4b5ing
+u4bel
+u4cy
+u4do2n
+u4du
+u4ene
+u4ir
+u4l1c2
+u4l1g4
+u4lt
+u4m1b
+u4m2p
+u4m3ing
+u4n5z
+u4o4rs2
+u4p3p
+u4r2as
+u4rag
+u4rs2
+u4t1l
+u4t1s4
+u4tis
+u4tou2
+u5dit
+u5j
+u5l2i1a
+u5lati
+u5os
+u5p2i3a
+u5s2i1a
+u5sa2d
+u5sa2n
+u5to2n
+ua2n
+ua5na
+uac4
+uan4i
+uar2d
+uar3i
+uar3t
+uar5an1t
+uara2n
+uav4
+ub2l2
+ub4e
+uci4b
+ucle3
+ud2ie4
+ud3er
+ud3ied
+ud3ies
+ud4si
+ud5d4
+ud5est
+ud5is1
+ude1v4
+udes2
+ue2n1s4
+uen1t
+uen4te
+uer1i
+uer4il
+ug5in
+ugh3e2n
+ui1ta4
+ui4n
+ui4v4er.
+uil1i
+uil5iz
+uir4m
+ul1l
+ul1ti
+ul1tr
+ul1tra3
+ul2ch4
+ul2de
+ul2i
+ul2se
+ul3der
+ul3ing
+ul4e
+ul4gi
+ul4l2a2r
+ul4li4b
+ul4lis
+ul5is2h
+ul5ul
+ul5v
+ula5b
+ull2i
+uls5e4s
+um4b1ly
+um4bi
+umb2l2
+umo2r
+umor5o
+un1t
+un1ta
+un2at4
+un2i3v
+un2t3a4b
+un4er
+un4im
+un4sw2
+un4ter.
+un4tes
+un5is2h
+un5y
+unu4
+up1p4or
+up1tu4
+up2t5i2b
+up3ing
+upe4r5s2
+upi2n
+upport5
+ur1b
+ur1c4
+ur1d
+ur1f
+ur1in
+ur1p
+ur1ti4
+ur2l
+ur2se
+ur3iz
+ur3th2e
+ur4be
+ur4fer1
+ur4fr
+ur4no4
+ur4pe
+ur4pi
+ur4t2ie4
+ur5tes
+ure5a2t
+uri1fi
+uri4fic
+url5ing.
+uros4
+urs5er
+us1l2
+us1p
+us1t4r
+us3ci
+us4ap
+us4lin
+us5s1l2
+us5tere
+usa2
+usc2
+use5a
+usu2r4
+ut3ing
+uten4i
+uti5l2iz
+util1i
+utio1n5a
+utio2n
+uto2ma
+uto5g
+uto5mat1ic
+uu4m
+ux1u3
+v1in
+v2a2r
+v2i1a
+v2i4p
+v2id
+v2ig
+v2inc
+v2io
+v3el.
+v3eren
+v3i3l2iz
+v3if
+v3io4r
+v4a2ci
+v4e1ly
+v4e2s
+v4eno
+v4erd
+v4erel
+v4eres
+v4ik4
+v4in5d
+v4ir
+v4y
+v5enue
+v5ole
+va2n
+va4ge
+va5l2i4e4
+va5mo
+va5niz
+va5pi
+vac3u
+vac5il
+vag4
+val1i
+val1u
+val5o
+var1i
+var2ie4
+var5ied
+ve4lo
+ve4r1s2
+ve4te
+ve4ty
+veg3
+vel1l
+vel3l2i
+ven3om
+ver1i
+ver3ie4
+ver3m4
+ver3th
+ver5enc
+vermi4n
+ves4te
+vet3er
+vi1o3l
+vi1ou2
+vi2al
+vi3so
+vi3su
+vi5al1i
+vi5gn
+vi5ro
+vil1i
+vis3it
+vit3r
+vo1ra
+vo2r5ab
+vo4la
+vo4ry
+vo4ta
+voi4
+vom5i
+vori4
+w1b
+w1er
+w2a2r
+w2ith3
+w3ev
+w3s2h
+w4ind
+w4ir4
+w4k
+w4no
+w5ab2l2
+w5al.
+w5p
+w5s4t
+wa1te
+wa2g5o
+wa5ger
+wa5ver
+wai2
+wait5
+wam4
+war4t
+was4t
+we2a2r
+we4ath3
+we4d4n4
+wea2t
+wea5r2ie4
+wear1i
+wee5v
+weet3
+wel4l
+west3
+whi4
+wi2
+wil1l
+wil2
+wil2l5in4
+will2i
+win4de
+win4g
+wiz5
+wl3in
+wl4es2
+wo5v4en
+wom1
+wra4
+wri1ta4
+wri4
+ws4l2
+ws4pe
+wy4
+x1a
+x1e
+x1h
+x1pa
+x1t2
+x1u
+x2e5ro
+x2ed
+x2i5a
+x2id
+x2p2e3d
+x3c2
+x3i
+x3o
+x3p
+x3ti
+x4a2go
+x4ap
+x4ime
+x4ob
+xac5e
+xam3
+xas5
+xe1cu
+xe3c4ut
+xe4cu1to
+xer4i
+xh4il5
+xhi2
+xhu4
+xi5c
+xi5di
+xi5m2iz
+xim1i
+xp4an4d
+xpa2n
+xpe2c
+xpe2c1t
+xpec1to5
+xu3a
+xx4
+y1b
+y1c
+y1co
+y1d
+y1er
+y1i
+y1o4
+y1s3io
+y1su
+y1w
+y2ce
+y2p1t
+y2ss4
+y3ch
+y3la
+y3lo
+y3po
+y3ro
+y3s2e
+y3thin
+y4er1f
+y4m1b
+y4m1p
+y4o2n3s2
+y4o5g
+y4os
+y4p2ed
+y4po4c
+y4so
+y5ac
+y5at
+y5ee
+y5gi
+y5lu
+y5pu
+yc5er
+ych4e2
+ycom4
+ycot4
+ye4t
+yes4
+yl1l
+ylla5b2l2
+ym1pa3
+ymbol5
+yme4
+yn2ch
+yn3c4hr4
+yn5d
+yn5g
+yn5ic
+yo2n
+yo5d
+yo5net
+yom4
+yp2ta
+yp3i
+yper5
+yr4r4
+yr5i3a
+yra5m
+ys1t
+ys3i1ca
+ys3ta
+ys4c
+ysu2r4
+yt3ic
+z1er
+z2a2r2
+z2e3ro
+z4il
+z4is
+z4zy
+z5a2b
+za1
+ze4n
+ze4p
+zet4
+zo4m
+zo5ol
+zoo2
+zte4
diff --git a/troff/libhnj/hyphen.d/hyph_fr_FR.dic b/troff/libhnj/hyphen.d/hyph_fr_FR.dic
new file mode 100644
index 0000000000000..447ebd3986ac9
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_fr_FR.dic
@@ -0,0 +1,1784 @@
+UTF-8
+% This file has been derived from `frhyph.tex',
+% to which the following applies:
+% -----------------------------------------------------------------
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% This file is available for free and can used and redistributed
+% asis for free. Modified versions should have another name.
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\message{frhyph.tex - French hyphenation patterns (V2.11) <2002/01/16>}
+% -----------------------------------------------------------------
+% The original maintainers are D. Flipo and B. Gaulle.
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_fr_FR.dic 1.3 (gritter) 9/3/05
+'a1b2r
+'a1g2n
+'a1mi
+'a1na
+'a1po
+'a2g3nat
+'a4
+'ab1ré
+'ab3réa
+'ae3s4c2h
+'ag1na
+'ami1no
+'amino1a2c
+'an1ti
+'ana3s4t2r
+'anti1a2
+'anti1e2
+'anti1s2
+'anti1é2
+'anti2en1ne
+'apo2s3ta
+'ar1ge
+'ar1pe
+'ar3gent.
+'ar3pent.
+'as2ta
+'e1n1a2
+'e1n1o2
+'e4
+'eu2r1a2
+'i1g2n
+'i1n1a2
+'i1n1e2
+'i1n1i2
+'i1n1o2
+'i1n1u2
+'i1n1é2
+'i2g3ni
+'i2g3né
+'i4
+'in1s2tab
+'in1te
+'in2a3nit
+'in2augur
+'in2effab
+'in2ept
+'in2er
+'in2exo1ra
+'in2i3mi1ti
+'in2i3q
+'in2i3t
+'in2o3cul
+'in2ond
+'in2u3l
+'in2uit
+'in2é3luc1ta
+'in2é3nar1ra
+'ina1ni
+'inau1gu
+'inef1fa
+'ini1mi
+'ino1cu
+'ins1ta
+'inte1ra2
+'inte1re2
+'inte1ri2
+'inte1ro2
+'inte1ru2
+'inte1ré2
+'inte4r3
+'inters2
+'iné1lu
+'iné1na
+'o1vi
+'o4
+'on1gu
+'on3guent.
+'oua1ou
+'ovi1s2c
+'u4
+'y4
+'â4
+'è4
+'é4
+'ê4
+'î4
+'ô4
+'û4
+.1ba
+.1bi
+.1c2h4
+.1ci
+.1co
+.1cu
+.1da
+.1di
+.1do
+.1dy
+.1dé
+.1dé3s2o3dé
+.1ge
+.1k2h4
+.1la
+.1ma
+.1mi
+.1mo
+.1mé
+.1no
+.1p2h4
+.1p2l
+.1p2r
+.1p2sy1c2h
+.1pa
+.1pe
+.1po
+.1pu
+.1pé
+.1re
+.1ré
+.1s2c2h4
+.1s2h4
+.1sa
+.1se
+.1so
+.1su
+.1sy
+.1t2h4
+.1t2r
+.1ta
+.a1b2r
+.a1g2n
+.a1mi
+.a1na
+.a1po
+.a2g3nat
+.a4
+.ab1ré
+.ab3réa
+.ae3s4c2h
+.ag1na
+.ami1no
+.amino1a2c
+.an1ti
+.ana3s4t2r
+.anti1a2
+.anti1e2
+.anti1s2
+.anti1é2
+.anti2en1ne
+.apo2s3ta
+.ar1de
+.ar1ge
+.ar1pe
+.ar3dent.
+.ar3gent.
+.ar3pent.
+.as2ta
+.bai1se
+.bai2se3main
+.baise1ma
+.bi1a2c
+.bi1a2t
+.bi1au
+.bi1u2
+.bi2s1a2
+.bio1a2
+.c1hè
+.chè1v2r
+.chè2vre3feuil1le
+.chèv1re
+.chèvre1fe
+.chèvrefeuil2l
+.ci1sa
+.ci2s1alp
+.co1o2
+.co2o3lie
+.com1me
+.com3ment.
+.con1t2r
+.con4
+.cons4
+.cont1re
+.cont1re3maît1re
+.contre1ma
+.contre1s2c
+.contremaî1t2r
+.coo1li
+.cul4
+.da1c2r
+.dac1ry
+.dacryo1a2
+.di1a2cid
+.di1a2cé
+.di1a2mi
+.di1a2tom
+.di1ald
+.di1e2n
+.di2s3h
+.dia1ci
+.dia1to
+.do1le
+.do3lent.
+.dy2s1a2
+.dy2s1i2
+.dy2s1o2
+.dy2s1u2
+.dy2s3
+.dé1a2
+.dé1io
+.dé1o2
+.dé1sa
+.dé1se
+.dé1so
+.dé1su
+.dé2s
+.dé2s1i2
+.dé2s1u2n
+.dé2s1œ
+.dé2s1é2
+.dé3s2a3c2r
+.dé3s2a3tell
+.dé3s2as1t2r
+.dé3s2c
+.dé3s2ensib
+.dé3s2ert
+.dé3s2exu
+.dé3s2i3d
+.dé3s2i3g2n
+.dé3s2i3li
+.dé3s2i3nen
+.dé3s2i3r
+.dé3s2in1vo
+.dé3s2ist
+.dé3s2o3l
+.dé3s2o3pil
+.dé3s2orm
+.dé3s2orp
+.dé3s2ou1f2r
+.dé3s2p
+.dé3s2t
+.dé3s2é3g2r
+.dés2a3m
+.désa1te
+.désen1si
+.dési1ne
+.déso1pi
+.e1n1a2
+.e1n1o2
+.e4
+.eu2r1a2
+.gem1me
+.gem2ment.
+.i1g2n
+.i1n1a2
+.i1n1e2
+.i1n1i2
+.i1n1o2
+.i1n1u2
+.i1n1é2
+.i2g3ni
+.i2g3né
+.i4
+.in1s2tab
+.in1te
+.in2a3nit
+.in2augur
+.in2effab
+.in2ept
+.in2er
+.in2exo1ra
+.in2i3mi1ti
+.in2i3q
+.in2i3t
+.in2o3cul
+.in2ond
+.in2u3l
+.in2uit
+.in2é3luc1ta
+.in2é3nar1ra
+.ina1ni
+.inau1gu
+.inef1fa
+.ini1mi
+.ino1cu
+.ins1ta
+.inte1ra2
+.inte1re2
+.inte1ri2
+.inte1ro2
+.inte1ru2
+.inte1ré2
+.inte4r3
+.inters2
+.iné1lu
+.iné1na
+.la1te
+.la3tent.
+.ma1c2r
+.ma1g2n
+.ma1la
+.ma1le
+.ma1li
+.ma1lo
+.ma2c3k
+.ma2g3nici1de
+.ma2g3nificat
+.ma2g3num
+.ma2l1a2d1ro
+.ma2l1a2dres
+.ma2l1a2v
+.ma2l1ai1sé
+.ma2l1ap
+.ma2l1en
+.ma2l1int
+.ma2l1o2d
+.ma2l1oc
+.ma2r1x
+.mac1ro
+.macro1s2c
+.mag1ni
+.mag1nu
+.magni1ci
+.magni1fi
+.magnifi1ca
+.mala1d2r
+.malad1re
+.mil1li
+.mil3l
+.milli1am
+.mo1no
+.mono1a2
+.mono1e2
+.mono1i2
+.mono1o2
+.mono1s2
+.mono1u2
+.mono1é2
+.mono1ï2dé
+.mé1go
+.mé1se
+.mé1su
+.mé1ta
+.mé1ta1s2ta
+.mé2g1oh
+.mé2s1es
+.mé2s1i
+.mé2s1u2s
+.mé2sa
+.mé3san
+.no1no
+.no2n1obs
+.o1vi
+.o4
+.on1gu
+.on3guent.
+.oua1ou
+.ovi1s2c
+.p1ha
+.p1lu
+.p1ro
+.p1ré
+.p1sy
+.pa1na
+.pa1ni
+.pa1no
+.pa1r2h
+.pa1ra
+.pa1re
+.pa1te
+.pa2n1a2f
+.pa2n1a2mé
+.pa2n1a2ra
+.pa2n1is
+.pa2n1o2p2h
+.pa2n1opt
+.pa2r1a2c1he
+.pa2r1a2c1hè
+.pa2r3hé
+.pa3rent.
+.pa3tent.
+.para1c2h
+.para1s2
+.pe1r1a2
+.pe1r1e2
+.pe1r1i2
+.pe1r1o2
+.pe1r1u2
+.pe1r1é2
+.pe4r
+.pen2ta
+.pha1la
+.phalan3s2t
+.plu1ri
+.pluri1a
+.pon1te
+.pon2tet
+.pos1ti
+.pos2t1in
+.pos2t1o2
+.pos2t3h
+.pos2t3r
+.post1s2
+.pro1g2n
+.pro1s2cé
+.pro1é2
+.pro2g3na1t2h
+.prog1na
+.prou3d2h
+.pré1a2
+.pré1e2
+.pré1i2
+.pré1o2
+.pré1s2
+.pré1u2
+.pré1é2
+.pré2a3la
+.pré2au
+.psyc1ho
+.psycho1a2n
+.pud1d2l
+.pé1ri
+.péri1os
+.péri1s2
+.péri1u2
+.péri2s3s
+.péri2s3ta
+.re1s2
+.re2s3c1ri
+.re2s3cap
+.re2s3ci1si
+.re2s3ci1so
+.re2s3cou
+.re2s3pect
+.re2s3pir
+.re2s3plend
+.re2s3pons
+.re2s3quil
+.re2s3s
+.re2s3t
+.re3s4t2r
+.re3s4tab
+.re3s4tag
+.re3s4tand
+.re3s4tat
+.re3s4tim
+.re3s4tip
+.re3s4toc
+.re3s4top
+.re3s4tu
+.re3s4ty
+.re3s4tén
+.re3s4tér
+.re4s5trein
+.re4s5trict
+.re4s5trin
+.res1c2r
+.res1ca
+.res1ci
+.res1co
+.res1p2l
+.res1pe
+.res1pi
+.res1po
+.res1q
+.res1se
+.res1ta
+.res1ti
+.res1to
+.res1té
+.res3sent.
+.resp1le
+.rest1re
+.rest1ri
+.ré1a2
+.ré1e2
+.ré1i2
+.ré1o2
+.ré1t2r
+.ré1é2
+.ré2a3le
+.ré2a3lis
+.ré2a3lit
+.ré2aux
+.ré2el
+.ré2er
+.ré2i3fi
+.ré2uss
+.ré2èr
+.réa1li
+.rét1ro
+.rétro1a2
+.réu2
+.s1ta
+.s1ti
+.sar1me
+.sar3ment.
+.ser1me
+.ser3ment.
+.seu2le
+.sou1ve
+.sou3vent.
+.sta2g3n
+.stil3l
+.su1b2l
+.su1bi
+.su1bu
+.su1ri
+.su1ro
+.su2b1a2
+.su2b1in
+.su2b1ur
+.su2b1é2
+.su2b3limin
+.su2b3lin
+.su2b3lu
+.su2r1a2
+.su2r1e2
+.su2r1i2m
+.su2r1inf
+.su2r1int
+.su2r1of
+.su2r1ox
+.su2r1é2
+.su2r3h
+.su3b2alt
+.su3b2é3r
+.su3r2a3t
+.su3r2eau
+.su3r2ell
+.su3r2et
+.sub1li
+.subli1mi
+.syn1g2n
+.syn2g3na1t2h
+.syng1na
+.t1ri
+.ta1le
+.ta3lent.
+.tri1a2c
+.tri1a2n
+.tri1a2t
+.tri1o2n
+.u4
+.y4
+.â4
+.è4
+.é1mi
+.é4
+.émi1ne
+.émi3nent.
+.ê4
+.î4
+.ô4
+.û4
+1a2nesthé1si
+1alcool
+1b2l
+1b2r
+1ba
+1be
+1bi
+1bo
+1bu
+1by
+1bâ
+1bè
+1bé
+1bê
+1bî
+1bô
+1bû
+1c2h
+1c2k
+1c2l
+1c2r
+1ca
+1ce
+1ci
+1co
+1cu
+1cy
+1cœ
+1câ
+1cè
+1cé
+1cê
+1cî
+1cô
+1cû
+1d2'2
+1d2r
+1da
+1de
+1di
+1do
+1du
+1dy
+1dâ
+1dè
+1dé
+1dê
+1dî
+1dô
+1dû
+1f2l
+1f2r
+1fa
+1fe
+1fi
+1fo
+1fu
+1fy
+1fâ
+1fè
+1fé
+1fê
+1fî
+1fô
+1fû
+1g2ha
+1g2he
+1g2hi
+1g2ho
+1g2hy
+1g2l
+1g2n
+1g2r
+1ga
+1ge
+1gi
+1go
+1gu
+1gy
+1gâ
+1gè
+1gé
+1gê
+1gî
+1gô
+1gû
+1ha
+1he
+1hi
+1ho
+1hu
+1hy
+1hâ
+1hè
+1hé
+1hê
+1hî
+1hô
+1hû
+1informat
+1j
+1k2h
+1k2r
+1ka
+1ke
+1ki
+1ko
+1ku
+1ky
+1kâ
+1kè
+1ké
+1kê
+1kî
+1kô
+1kû
+1la
+1le
+1li
+1lo
+1lu
+1ly
+1là
+1lâ
+1lè
+1lé
+1lê
+1lî
+1lô
+1lû
+1m2nès
+1m2né1mo
+1m2né1si
+1ma
+1me
+1mi
+1mo
+1mu
+1my
+1mœ
+1mâ
+1mè
+1mé
+1mê
+1mî
+1mô
+1mû
+1na
+1ne
+1ni
+1no
+1nu
+1ny
+1nœ
+1nâ
+1nè
+1né
+1nê
+1nî
+1nô
+1nû
+1octet
+1p2h
+1p2l
+1p2neu
+1p2né
+1p2r
+1p2sy1c2h
+1p2tèr
+1p2tér
+1pa
+1pe
+1pi
+1po
+1pu
+1py
+1pâ
+1pè
+1pé
+1pê
+1pî
+1pô
+1pû
+1q
+1r2h
+1ra
+1re
+1ri
+1ro
+1ru
+1ry
+1râ
+1rè
+1ré
+1rê
+1rî
+1rô
+1rû
+1s2c2h
+1s2ca1p2h
+1s2clér
+1s2cop
+1s2h
+1s2lav
+1s2lov
+1s2patia
+1s2perm
+1s2phèr
+1s2phér
+1s2piel
+1s2piros
+1s2por
+1s2tandard
+1s2tein
+1s2tigm
+1s2to1c2k
+1s2tomos
+1s2tro1p2h
+1s2truc1tu
+1s2ty1le
+1sa
+1se
+1si
+1so
+1su
+1sy
+1sœ
+1sâ
+1sè
+1sé
+1sê
+1sî
+1sô
+1sû
+1t2h
+1t2r
+1ta
+1te
+1ti
+1to
+1tu
+1ty
+1tà
+1tâ
+1tè
+1té
+1tê
+1tî
+1tô
+1tû
+1v2r
+1va
+1ve
+1vi
+1vo
+1vu
+1vy
+1vâ
+1vè
+1vé
+1vê
+1vî
+1vô
+1vû
+1w2r
+1wa
+1we
+1wi
+1wo
+1wu
+1za
+1ze
+1zi
+1zo
+1zu
+1zy
+1zè
+1zé
+1ç
+1é2drie
+1é2drique
+1é2lec1t2r
+1é2lément
+1é2nerg
+2'2
+2b2lent.
+2b2rent.
+2bent.
+2c1k3h
+2c2kent.
+2c2lent.
+2c2rent.
+2cent.
+2chb
+2chent.
+2chg
+2chm
+2chn
+2chp
+2chs
+2cht
+2chw
+2ckb
+2ckf
+2ckg
+2ckp
+2cks
+2ckt
+2d2lent.
+2d2rent.
+2dent.
+2f2lent.
+2f2rent.
+2fent.
+2g2lent.
+2g2nent.
+2g2rent.
+2gent.
+2guent.
+2jent.
+2jk
+2kent.
+2lent.
+2nent.
+2p2lent.
+2p2rent.
+2pent.
+2phent.
+2phn
+2phs
+2pht
+2quent.
+2r3heur
+2r3hy1d2r
+2rent.
+2s2chs
+2s3hom
+2sent.
+2shent.
+2shm
+2shr
+2shs
+2t2rent.
+2t3heur
+2tent.
+2thl
+2thm
+2thn
+2ths
+2v2rent.
+2vent.
+2went.
+2xent.
+2zent.
+3d2hal
+3d2houd
+3ph2ta1lé
+3ph2tis
+4b4le.
+4b4les.
+4b4re.
+4b4res.
+4be.
+4bes.
+4c4he.
+4c4hes.
+4c4ke.
+4c4kes.
+4c4le.
+4c4les.
+4c4re.
+4c4res.
+4ce.
+4ces.
+4ch.
+4ch4le.
+4ch4les.
+4ch4re.
+4ch4res.
+4ck.
+4d4re.
+4d4res.
+4de.
+4des.
+4f4le.
+4f4les.
+4f4re.
+4f4res.
+4fe.
+4fes.
+4g4le.
+4g4les.
+4g4ne.
+4g4nes.
+4g4re.
+4g4res.
+4ge.
+4ges.
+4gue.
+4gues.
+4he.
+4hes.
+4je.
+4jes.
+4ke.
+4kes.
+4kh.
+4le.
+4les.
+4me.
+4mes.
+4ne.
+4nes.
+4p4he.
+4p4hes.
+4p4le.
+4p4les.
+4p4re.
+4p4res.
+4pe.
+4pes.
+4ph.
+4ph4le.
+4ph4les.
+4ph4re.
+4ph4res.
+4que.
+4ques.
+4r4he.
+4r4hes.
+4re.
+4res.
+4s4c4he.
+4s4c4hes.
+4s4ch.
+4s4he.
+4s4hes.
+4se.
+4ses.
+4sh.
+4t4he.
+4t4hes.
+4t4re.
+4t4res.
+4te.
+4tes.
+4th.
+4th4re.
+4th4res.
+4v4re.
+4v4res.
+4ve.
+4ves.
+4we.
+4wes.
+4ze.
+4zes.
+a1bî
+a1g2n
+a1la
+a1ma
+a1ne
+a1ni
+a1po
+a1vi
+a1è2d1re
+a2g3nos
+a2l1al1gi
+a2s3t1ro
+ab1se
+ab2h
+ab3sent.
+abs1ti
+absti1ne
+absti3nent.
+abî1me
+abî2ment.
+ac1ce
+ac1q
+ac3cent.
+acquies1ce
+acquies4cent.
+ad2h
+ag1no
+ai1me
+ai2ment.
+al1co
+amal1ga
+amalga1me
+amalga2ment.
+an1ti
+anes1t2h
+anest1hé
+ani1me
+ani2ment.
+anti1fe
+antifer1me
+antifer3ment.
+ap1pa
+apo2s3t2r
+appa1re
+appa3rent.
+ar1c2h
+ar1me
+ar1mi
+ar2ment.
+arc1hi
+archi1é2pis
+archié1pi
+armil5l
+as1me
+as1t2r
+as2ment.
+au1me
+au2ment.
+avil4l
+aè1d2r
+b1le
+b1re
+b1ru
+bou1me
+bou1ti
+bou2ment.
+boutil3l
+bru1me
+bru2ment.
+c1ci
+c1he
+c1hi
+c1ke
+c1la
+c1le
+c1re
+ca1pi
+ca1rê
+ca3ou3t2
+capil3l
+carê1me
+carê2ment.
+cci1de
+cci3dent.
+ch1le
+ch1lo
+ch1re
+ch1ro
+ch2l
+ch2r
+che1vi
+chevil4l
+chien1de
+chien3dent.
+chlo1ra
+chlo1ré
+chlo2r3a2c
+chlo2r3é2t
+chro1me
+chro2ment.
+cil3l
+cla1me
+cla2ment.
+co1a2d
+co1ac1q
+co1acc
+co1ap
+co1ar
+co1assoc
+co1assur
+co1au
+co1ax
+co1ef
+co1en
+co1ex
+co1g2n
+co1nu
+co1é2
+co2g3ni1ti
+co2nurb
+coas1so
+coas1su
+cog1ni
+com1pé
+compé1te
+compé3tent.
+con1fi
+con1ni
+con1ti
+confi1de
+confi3dent.
+conni1ve
+conni3vent.
+conti1ne
+conti3nent.
+contin1ge
+contin3gent.
+cor1pu
+corpu1le
+corpu3lent.
+cur1re
+cur3rent.
+cy1ri
+cyril3l
+d1d2h
+d1ha
+d1ho
+d1le
+d1re
+d1s2
+da1me
+da2ment.
+di1li
+di2s3cop
+dia1p2h
+diaph1ra
+diaph2r
+diaphrag1me
+diaphrag2ment.
+dili1ge
+dili3gent.
+dis1co
+dis1si
+dis1ti
+dissi1de
+dissi3dent.
+distil3l
+dé1ca
+dé1t2r
+déca1de
+déca3dent.
+dét1ri
+détri1me
+détri3ment.
+e1ni
+e2n1i2v2r
+e2s3c2h
+e2s3cop
+en1t2r
+ent1re
+entre1ge
+entre3gent.
+er1me
+er2ment.
+es1ce
+es1co
+es1ti
+es3cent.
+esti1me
+esti2ment.
+eu1s2tat
+eus1ta
+ex1t2r
+ext1ra1
+extra2c
+extra2i
+f1la
+f1le
+f1re
+f1ri
+f1s2
+fa1me
+fa2ment.
+fi1c2h
+fic1hu
+fichu1me
+fichu3ment.
+fir1me
+fir2ment.
+flam1me
+flam2ment.
+fri1ti
+fritil3l
+fu1me
+fu2ment.
+fé1cu
+fécu1le
+fécu3lent.
+g1le
+g1ne
+g1ra
+g1re
+g1s2
+gil3l
+gram1me
+gram2ment.
+gran1di
+grandi1lo
+grandilo1q
+grandilo3quent.
+hil3l
+hu1me
+hu2ment.
+hy1pe
+hy1po
+hype1ra2
+hype1re2
+hype1ri2
+hype1ro2
+hype1ru2
+hype1ré2
+hype4r1
+hypers2
+hypo1a2
+hypo1e2
+hypo1i2
+hypo1o2
+hypo1s2
+hypo1u2
+hypo1é2
+hé1mi
+hé1mo
+hémi1é
+hémo1p2t
+i1al1gi
+i1arth2r
+i1b2r
+i1oxy
+i1s2c2h
+i1s2tat
+i1va
+i1è2d1re
+i2s3c1hé
+i2s3chia
+i2s3chio
+iar1t2h
+ib1ri
+ibril3l
+il2l
+im1ma
+im1mi
+im1po
+im1pu
+imma1ne
+imma3nent.
+immi1ne
+immi3nent.
+immis1ce
+immis4cent.
+impo1te
+impo3tent.
+impu1de
+impu3dent.
+in1ci
+in1di
+in1do
+in1du
+in1fo
+in1no
+in1so
+in1te
+in1ti
+inci1de
+inci3dent.
+indi1ge
+indi3gent.
+indo1le
+indo3lent.
+indul1ge
+indul3gent.
+infor1ma
+inno1ce
+inno3cent.
+ins1ti
+inso1le
+inso3lent.
+instil3l
+intel1li
+intelli1ge
+intelli3gent.
+inti1me
+inti2ment.
+io1a2ct
+is1ce
+is1ta
+is3cent.
+isc1hi
+iva1le
+iva3lent.
+iè1d2r
+ja1ce
+ja3cent.
+l1li
+l1lu
+l1me
+l1s2t
+l2ment.
+l3lion
+la1w2r
+la2w3re
+lil3l
+llu1me
+llu2ment.
+m1nè
+m1né
+m1s2
+mi1me
+mi2ment.
+mil1le
+mil3l
+mil4let
+mit1te
+mit3tent.
+mo1no
+mon1t2r
+mon2t3réal
+mono1va
+monova1le
+monova3lent.
+mont1ré
+moye1nâ
+moye2n1â2g
+mu1ni
+muni1fi
+munifi1ce
+munifi3cent.
+mé1co
+mécon1te
+mécon3tent.
+n1sa
+n1x
+n3s2at.
+n3s2ats.
+nu1t2r
+nut1ri
+nutri1me
+nutri3ment.
+o1b2l
+o1d2l
+o1g2n
+o1io1ni
+o1pu
+o1s2tas
+o1s2tat
+o1s2tim
+o1s2tom
+o1s2tra1tu
+o1s2trad
+o1s2triction
+o1s2té1ro
+o1è2d1re
+o2b3long
+o2g3no1si
+o2g3nomo1ni
+ob1lo
+oc1te
+og1no
+ogno1mo
+om1bu
+om1me
+om1ni
+om2ment.
+ombud2s3
+omni1po
+omni1s2
+omnipo1te
+omnipo3tent.
+opu1le
+opu3lent.
+or1me
+or2ment.
+os1t2r
+os1ta
+os1ti
+os1to
+os1té
+ost1ra
+ost1ri
+ostric1ti
+oxy1a2
+oè1d2r
+p1he
+p1ho
+p1le
+p1lu
+p1ne
+p1re
+p1ri
+p1ro
+p1ru
+p1ré
+p1sy
+p1tè
+p1té
+pa1lé
+pa1pi
+paléo1é2
+papil1lo
+papil2l
+papil3la
+papil3le
+papil3li
+papil3lom
+pe1r3h
+per1ma
+per1ti
+perma1ne
+perma3nent.
+perti1ne
+perti3nent.
+ph1le
+ph1re
+ph1ta
+ph1ti
+ph2l
+ph2r
+pho1to
+photo1s2
+pi1ri
+piril3l
+plu1me
+plu2ment.
+po1ast1re
+po1ly
+poas1t2r
+poly1a2
+poly1e2
+poly1i2
+poly1o2
+poly1s2
+poly1u2
+poly1va
+poly1è2
+poly1é2
+polyva1le
+polyva3lent.
+pri1va
+privat1do
+privatdo1ce
+privatdo1ze
+privatdo3cent.
+privatdo3zent.
+pro2s3tat
+pros1ta
+proé1mi
+proémi1ne
+proémi3nent.
+pru1de
+pru3dent.
+pré1se
+pré3sent.
+préé1mi
+préémi1ne
+préémi3nent.
+pu1g2n
+pu1pi
+pu1si
+pu2g3nab1le
+pu2g3nac
+pug1na
+pugna1b2l
+pupil3l
+pusil3l
+pé1nu
+pé1r2é2q
+pé1ré
+pé2nul
+qua1me
+qua2ment.
+r1ci
+r1he
+r1hy
+r1mi
+ra1di
+ra1me
+ra2ment.
+radio1a2
+rai1me
+rai3ment.
+rcil4l
+re1le
+re1li
+re1pe
+re3lent.
+re3pent.
+reli1me
+reli2ment.
+ri1me
+ri2ment.
+rin1ge
+rin3gent.
+rmil4l
+ru1le
+ru3lent.
+ry1t2h
+ry2thm
+ryth1me
+ryth2ment.
+ré1ge
+ré1ma
+ré1su
+ré1ti
+ré3gent.
+réma1ne
+réma3nent.
+résur1ge
+résur3gent.
+réti1ce
+réti3cent.
+s1c2l
+s1ca
+s1co
+s1he
+s1ho
+s1la
+s1lo
+s1p2h
+s1pa
+s1pe
+s1pi
+s1po
+s1t2r
+s1ta
+s1te
+s1ti
+s1to
+s1ty
+s1té
+sc1he
+sc1lé
+se1mi
+semil4l
+ser1ge
+ser1pe
+ser3gent.
+ser3pent.
+ses1q
+sesqui1a2
+sla1lo
+slalo1me
+slalo2ment.
+sp1hè
+sp1hé
+spa1ti
+spi1ro
+spo1ru
+sporu1le
+sporu4lent.
+st1ro
+st1ru
+stan1da
+sto1mo
+sté1ré
+stéréo1s2
+su1b2l
+su1me
+su1pe
+su1ra
+su1ré
+su2ment.
+su3r2ah
+sub1li
+sub1s2
+subli1me
+subli2ment.
+suc1cu
+succu1le
+succu3lent.
+supe1ro2
+supe4r1
+supers2
+suré1mi
+surémi1ne
+surémi3nent.
+t1c2h
+t1he
+t1ra
+t1re
+t1ri
+t1ru
+t1t2l
+ta1c2h
+ta1me
+ta2ment.
+tac1hy
+tachy1a2
+tan1ge
+tan3gent.
+tc1hi
+tchin3t2
+tem1pé
+tempé1ra
+tempéra1me
+tempéra3ment.
+ter1ge
+ter3gent.
+tes1ta
+testa1me
+testa3ment.
+th1re
+th1ri
+th2r
+ther1mo
+thermo1s2
+thril3l
+to1me
+to2ment.
+tor1re
+tor3rent.
+tran2s1a2
+tran2s1o2
+tran2s1u2
+tran2s3h
+tran2s3p
+tran3s2act
+tran3s2ats
+trans1pa
+transpa1re
+transpa3rent.
+tri1de
+tri3dent.
+tru1cu
+trucu1le
+trucu3lent.
+tu1me
+tu2ment.
+tung2s3
+tur1bu
+turbu1le
+turbu3lent.
+té1lé
+télé1e2
+télé1i2
+télé1o2b
+télé1o2p
+télé1s2
+u1ci
+u1ni
+u1vi
+u2s3t2r
+ucil4l
+ue1vi
+uevil4l
+uni1a2x
+uni1o2v
+uvil4l
+v1re
+va1ci
+va1ni
+vacil4l
+vanil1li
+vanil2l
+vanil3lin
+vanil3lis
+ve1ni
+ven1t2r
+veni1me
+veni2ment.
+vent1ri
+ventri1po
+ventripo1te
+ventripo3tent.
+vi1di
+vidi1me
+vidi2ment.
+vil3l
+vol1ta
+vol2t1amp
+vé1lo
+vélo1s2ki
+wa2g3n
+xil3l
+y1al1gi
+y1as1t2h
+y1s2tom
+ys1to
+â1me
+â2ment.
+è1me
+è2ment.
+é1ce
+é1ci
+é1cu
+é1d2r
+é1de
+é1le
+é1li
+é1lo
+é1lé
+é1mi
+é1ne
+é1ni
+é1pi
+é1q
+é1re
+é3cent.
+é3dent.
+é3quent.
+é3rent.
+éci1me
+éci2ment.
+écu1me
+écu2ment.
+éd1ri
+éd2hi
+édri1q
+éli1me
+éli2ment.
+élo1q
+élo3quent.
+élé1me
+émil4l
+éni1te
+éni3tent.
+épi2s3cop
+épi3s4co1pe
+épis1co
+équi1po
+équi1va
+équipo1te
+équipo3tent.
+équiva1le
+équiva4lent.
+ô1me
+ô2ment.
diff --git a/troff/libhnj/hyphen.d/hyph_it_IT.dic b/troff/libhnj/hyphen.d/hyph_it_IT.dic
new file mode 100644
index 0000000000000..32ed3c4ad5a40
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_it_IT.dic
@@ -0,0 +1,442 @@
+UTF-8
+% This file has been derived from `ithyph.tex',
+% to which the following applies:
+% -----------------------------------------------------------------
+% Prepared by Claudio Beccari e-mail beccari@polito.it
+%
+% Dipartimento di Elettronica
+% Politecnico di Torino
+% Corso Duca degli Abruzzi, 24
+% 10129 TORINO
+%
+% Copyright 1998, 2001 Claudio Beccari
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+% \versionnumber{4.8d} \versiondate{2001/11/21}
+%
+% These hyphenation patterns for the Italian language are supposed to comply
+% with the Reccomendation UNI 6461 on hyphenation issued by the Italian
+% Standards Institution (Ente Nazionale di Unificazione UNI). No guarantee
+% or declaration of fitness to any particular purpose is given and any
+% liability is disclaimed.
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_it_IT.dic 1.2 (gritter) 9/3/05
+.a3p2n
+.a1p
+.anti1
+.a1n
+.a2n1t
+.a1nti3m2n
+.anti1m
+.bio1
+.1b
+.1c2
+.ca4p3s2
+.ca1p
+.circu2m1
+.ci1r
+.1ci2r1c
+.1d2
+.di2s3cine
+.di1s2
+.dis1c
+.disci1n
+.fra2n2k3
+.1f
+.f2r
+.fra1n
+.free3
+.narco1
+.1n
+.na1r
+.na2r1c
+.opto1
+.o1p
+.o2p1t
+.orto3p2
+.o1r
+.o2r1t
+.para1
+.1p
+.pa1r
+.1poli3p2
+.po1l
+.pre1
+.p2r
+.2p2s2
+.sha2re3
+.1s2
+.s1h
+.sha1r
+.tran2s3c
+.1t
+.t2r
+.tra1n
+.tra2n1s2
+.tran2s3d
+.tran2s3f
+.tran2s3l
+.tra1n2s3n
+.tran2s3p
+.t1ran2s3r
+.1tran2s3t
+.su2b3lu
+.su1b
+.sub2l
+.su2b3r
+.wa2g3n
+.1w
+.wa1g
+.we2l2t1
+.we1l
+a1ia
+a1ie
+a1io
+a1iu
+a1uo
+a1ya
+2a2t.
+a1t
+e1iu
+e2w
+o1ia
+o1ie
+o1io
+o1iu
+'2
+1b
+2b1b
+2b1c
+2b1d
+2b1f
+2b1m
+2b1n
+2b1p
+2b1s2
+2b1t
+2b1v
+b2l
+b2r
+2b.
+2b'.
+b'2
+2b'2'2
+1c
+2c1b
+2c1c
+2c1d
+2c1f
+2c1k
+2c1m
+2c1n
+2c1q
+2c1s2
+2c1t
+2c1z
+c2h
+2c2h1h
+2c2h1b
+c2h2r
+2c2h1n
+c2l
+c2r
+2c.
+2c'.
+c'2
+2c'2'2
+1d
+2d1b
+2d1d
+2d1g
+2d1l
+2d1m
+2d1n
+2d1p
+d2r
+2d1s2
+2d1t
+2d1v
+2d1w
+2d.
+2d'.
+d'2
+2d'2'2
+1f
+2f1b
+2f1g
+2f1f
+2f1n
+f2l
+f2r
+2f1s2
+2f1t
+2f.
+2f'.
+f'2
+2f'2'2
+1g
+2g1b
+2g1d
+2g1f
+2g1g
+g2h
+g2l
+2g1m
+g2n
+2g1p
+g2r
+2g1s2
+2g1t
+2g1v
+2g1w
+2g1z
+2gh2t
+2g.
+2g'.
+g'2
+2g'2'2
+1h
+2h1b
+2h1d
+2h1h
+hi3p2n
+hi1p
+h2l
+2h1m
+2h1n
+2h1r
+2h1v
+2h.
+2h'.
+h'2
+2h'2'2
+1j
+2j.
+2j'.
+j'2
+2j'2'2
+1k
+2k1g
+2k1f
+k2h
+2k1k
+k2l
+2k1m
+k2r
+2k1s2
+2k1t
+2k.
+2k'.
+k'2
+2k'2'2
+1l
+2l1b
+2l1c
+2l1d
+2l3f2
+2l1g
+l2h
+2l1k
+2l1l
+2l1m
+2l1n
+2l1p
+2l1q
+2l1r
+2l1s2
+2l1t
+2l1v
+2l1w
+2l1z
+2l.
+2l'.
+l'2
+2l'2'2
+1m
+2m1b
+2m1c
+2m1f
+2m1l
+2m1m
+2m1n
+2m1p
+2m1q
+2m1r
+2m1s2
+2m1t
+2m1v
+2m1w
+2m.
+2m'.
+m'2
+2m'2'2
+1n
+2n1b
+2n1c
+2n1d
+2n1f
+2n1g
+2n1k
+2n1l
+2n1m
+2n1n
+2n1p
+2n1q
+2n1r
+2n1s2
+2n1t
+2n1v
+2n1z
+1n2g3n
+2nhei2t.
+n1h
+nhei1t
+2n.
+2n'2
+2n'2'2
+1p
+2p1d
+p2h
+p2l
+2p1n
+3p2ne
+2p1p
+p2r
+2p1s2
+3p2si1c
+2p1t
+2p1z
+2p.
+2p'.
+p'2
+2p'2'2
+1q
+2q1q
+2q.
+2q'.
+q'2
+2q'2'2
+1r
+2r1b
+2r1c
+2r1d
+2r1f
+r2h
+2r1g
+2r1k
+2r1l
+2r1m
+2r1n
+2r1p
+2r1q
+2r1r
+2r1s2
+2r1t
+r2t2s3
+2r1v
+2r1x
+2r1w
+2r1z
+2r.
+2r'.
+r'2
+2r'2'2
+1s2
+2s2h1m
+s1h
+2s3s2
+s4s3m
+2s3p2n
+s1p
+2s2t1b
+s1t
+2s2t1c
+2s2t1d
+2s2t1f
+2s2t1g
+2s2t1m
+2s2t1n
+2s2t1p
+2s2t1s2
+2s2t1t
+2s2t1v
+2s1z
+4s.
+4s'.
+s'2
+4s'2'2
+1t
+2t1b
+2t1c
+2t1d
+2t1f
+2t1g
+t2h
+t2l
+2t1m
+2t1n
+2t1p
+t2r
+2t1s2
+3t2sc2h
+ts1c
+2t1t
+2t1v
+2t1w
+t2z
+2tz1k
+2t2z1s2
+2t.
+2t'.
+t'2
+2t'2'2
+1v
+2v1c
+v2l
+v2r
+2v1v
+2v.
+2v'.
+v'2
+2v'2'2
+1w
+w2h
+wa2r
+2w1y
+2w.
+2w'.
+w'2
+2w'2'2
+1x
+2x1t
+2x1w
+2x.
+2x'.
+x'2
+2x'2'2
+y1ou
+y1i
+1z
+2z1b
+2z1d
+2z1l
+2z1n
+2z1p
+2z1t
+2z1s2
+2z1v
+2z1z
+2z.
+2z'.
+z'2
+2z'2'2
+.1z2
diff --git a/troff/libhnj/hyphen.d/hyph_la_VA.dic b/troff/libhnj/hyphen.d/hyph_la_VA.dic
new file mode 100644
index 0000000000000..cd33c69d54ef1
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_la_VA.dic
@@ -0,0 +1,418 @@
+UTF-8
+% This file has been derived from lahyph.tex,
+% to which the following applies:
+% -----------------------------------------------------------------
+% Copyright 1999- 2001 Claudio Beccari
+% [latin hyphenation patterns]
+%
+% -----------------------------------------------------------------
+% IMPORTANT NOTICE:
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+% -----------------------------------------------------------------
+% Prepared by Claudio Beccari
+% Politecnico di Torino
+% Torino, Italy
+% e-mail beccari@polito.it
+%
+% 1999/03/10 Integration of `lahyph7.tex' and `lahyph8.tex' into
+% one file `lahyph.tex' supporting fonts in OT1 and T1 encoding by
+% Bernd Raichle using the macro code from `dehypht.tex' (this code
+% is Copyright 1993,1994,1998,1999 Bernd Raichle/DANTE e.V.).
+%
+%
+% \versionnumber{3.0b} \versiondate{2001/11/21}
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_la_VA.dic 1.4 (gritter) 9/3/05
+.1c
+.1ci2r1c
+.1d
+.1p
+.1s2
+.a1b
+.a1n
+.a1nti3m2n
+.a2b2s3
+.a2b3l
+.a2n1t
+.anti1
+.anti1m
+.ca1p
+.ca4p3s2
+.ci1r
+.circu2m1
+.co1n
+.co2n1iu1n
+.di1s2
+.di2s3cine
+.dis1c
+.disci1n
+.e2x1
+.o2b3
+.p2r
+.pa1r
+.para1i
+.para1u
+.pre1i
+.pro1i
+.su1b
+.su2b3lu
+.su2b3r
+.sub2l
+1b
+1c
+1d
+1f
+1g
+1h
+1j
+1k
+1l
+1m
+1n
+1p
+1qu2
+1r
+1s2
+1t
+1v
+1x
+1z
+2'2
+2b.
+2b1b
+2b1d
+2b1m
+2b1n
+2b1s2
+2b1t
+2c.
+2c1c
+2c1m
+2c1n
+2c1s2
+2c1t
+2c1z
+2cq
+2d.
+2d1d
+2d1g
+2d1m
+2d1s2
+2d1v
+2f.
+2f1f
+2f1n
+2f1t
+2g.
+2g1d
+2g1f
+2g1g
+2g1m
+2g1s2
+2g1v
+2h.
+2h1p
+2h1t
+2k1k
+2l.
+2l1b
+2l1c
+2l1d
+2l1f
+2l1g
+2l1k
+2l1l
+2l1m
+2l1n
+2l1p
+2l1r
+2l1s2
+2l1t
+2l1v
+2lq
+2m.
+2m1b
+2m1l
+2m1m
+2m1n
+2m1p
+2m1r
+2m1v
+2mq
+2n.
+2n1b
+2n1c
+2n1d
+2n1f
+2n1g
+2n1l
+2n1m
+2n1n
+2n1p
+2n1r
+2n1s2
+2n1t
+2n1v
+2n1x
+2nq
+2p.
+2p1n
+2p1p
+2p1s2
+2p1t
+2p1z
+2p2h1p
+2p2h1t
+2r.
+2r1b
+2r1c
+2r1d
+2r1f
+2r1g
+2r1l
+2r1m
+2r1n
+2r1p
+2r1r
+2r1s2
+2r1t
+2r1v
+2r1z
+2rq
+2s.
+2s2t.
+2s2t1b
+2s2t1c
+2s2t1d
+2s2t1f
+2s2t1g
+2s2t1m
+2s2t1n
+2s2t1p
+2s2t1s2
+2s2t1t
+2s2t1v
+2s2tq
+2s3de2m.
+2s3p2h
+2s3que.
+2s3s2
+2st3l
+2t.
+2t1b
+2t1c
+2t1d
+2t1f
+2t1g
+2t1m
+2t1n
+2t1p
+2t1t
+2t1v
+2tq
+2v1v
+2x.
+2x1t
+2x1x
+2z.
+3p2neu
+3p2si1c
+a1ia
+a1ie
+a1io
+a1iu
+a1l
+a1m
+a1n
+a1r
+a1ua
+a1ue
+a1ui
+a1uo
+a1uu
+a2l1ua
+a2l1ue
+a2l1ui
+a2l1uo
+a2l1uu
+a2m1ua
+a2m1ue
+a2m1ui
+a2m1uo
+a2m1uu
+a2n1ua
+a2n1ue
+a2n1ui
+a2n1uo
+a2n1uu
+a2r1ua
+a2r1ue
+a2r1ui
+a2r1uo
+a2r1uu
+ae1a
+ae1o
+ae1u
+b2l
+b2r
+c2h2
+c2l
+c2r
+d2r
+e1iu
+e1l
+e1m
+e1n
+e1r
+e1ua
+e1ue
+e1ui
+e1uo
+e1uu
+e2l1ua
+e2l1ue
+e2l1ui
+e2l1uo
+e2l1uu
+e2m1ua
+e2m1ue
+e2m1ui
+e2m1uo
+e2m1uu
+e2n1ua
+e2n1ue
+e2n1ui
+e2n1uo
+e2n1uu
+e2r1ua
+e2r1ue
+e2r1ui
+e2r1uo
+e2r1uu
+f2l
+f2r
+g2l
+g2n
+g2r
+i1l
+i1m
+i1n
+i1r
+i1ua
+i1ue
+i1ui
+i1uo
+i1uu
+i2l1ua
+i2l1ue
+i2l1ui
+i2l1uo
+i2l1uu
+i2m1ua
+i2m1ue
+i2m1ui
+i2m1uo
+i2m1uu
+i2n1ua
+i2n1ue
+i2n1ui
+i2n1uo
+i2n1uu
+i2r1ua
+i2r1ue
+i2r1ui
+i2r1uo
+i2r1uu
+io1i
+k2h2
+l3f2t
+n2s3f
+n2s3m
+o1ia
+o1ie
+o1io
+o1iu
+o1l
+o1m
+o1n
+o1r
+o1ua
+o1ue
+o1ui
+o1uo
+o1uu
+o2l1ua
+o2l1ue
+o2l1ui
+o2l1uo
+o2l1uu
+o2m1ua
+o2m1ue
+o2m1ui
+o2m1uo
+o2m1uu
+o2n1ua
+o2n1ue
+o2n1ui
+o2n1uo
+o2n1uu
+o2r1ua
+o2r1ue
+o2r1ui
+o2r1uo
+o2r1uu
+p2h
+p2l
+p2r
+r2h
+s1d
+s1p
+s1qu2
+s1t
+sde1m
+t2h
+t2l
+t2r
+u1l
+u1m
+u1n
+u1r
+u1ua
+u1ue
+u1ui
+u1uo
+u1uu
+u2l1ua
+u2l1ue
+u2l1ui
+u2l1uo
+u2l1uu
+u2m1ua
+u2m1ue
+u2m1ui
+u2m1uo
+u2m1uu
+u2n1ua
+u2n1ue
+u2n1ui
+u2n1uo
+u2n1uu
+u2r1ua
+u2r1ue
+u2r1ui
+u2r1uo
+u2r1uu
+uo3u
+v2l
+v2r
+œ1
+æ1
diff --git a/troff/libhnj/hyphen.d/hyph_nl_NL.dic b/troff/libhnj/hyphen.d/hyph_nl_NL.dic
new file mode 100644
index 0000000000000..ee7c8a73ff6b0
--- /dev/null
+++ b/troff/libhnj/hyphen.d/hyph_nl_NL.dic
@@ -0,0 +1,16550 @@
+UTF-8
+% This file has been derived from `nehyph.tex`,
+% to which the following applies:
+% -----------------------------------------------------------------
+% COPYRIGHT (C) 1996: Piet Tutelaers
+%
+% -----------------------------------------------------------------
+% IMPORTANT NOTICE:
+%
+% This program can be redistributed and/or modified under the terms
+% of the LaTeX Project Public License Distributed from CTAN
+% archives in directory macros/latex/base/lppl.txt; either
+% version 1 of the License, or any later version.
+%
+% VERSION: 1.1 (November 1996) Copyright changed March 2000
+% -----------------------------------------------------------------
+% A copy of the original can be obtained from <http://www.tug.org/teTeX/>.
+% -----------------------------------------------------------------
+% For sending bug reports, follow the instructions on
+% <http://n-t-roff.github.io/heirloom/doctools.html>.
+% -----------------------------------------------------------------
+% This file has been prepared for The Heirloom Documentation Tools
+% on 2008/04/21 by Erwin Koning <erwin.koning@planet.nl>.
+% Erwin Koning will accept bug reports for this file.
+% -----------------------------------------------------------------
+% Sccsid @(#)hyph_nl_NL.dic 1.1 (gritter) 4/21/08
+.a4
+.aan5
+.a4a4
+.aar4ts5
+.aa4rt
+.aa1t5
+.a3b5l
+.a1b
+.acht5e4nd
+.a4c2ht
+.ach3t4en
+.ach1te
+.ac5re
+.2a1c4r2
+.4a1d4i5
+.af3
+.af5l2
+.a4f5s4
+.aftu5r2e
+.a4ft
+.af1tu
+.aftu4r
+.al3e4e4
+.a1le
+.al3f
+.alk4
+.al5ko
+.al4k1o5v2
+.al5ma
+.a2lm
+.al3om
+.a1lo
+.al4s2t
+.a4ls
+.ana3s2
+.a1na
+.a4n3d2
+.a3n3e2n
+.a1ne
+.an3g4l4
+.a2ng
+.an5th
+.a2nt
+.a2r5d
+.ar5t3r4
+.a4rt
+.as5h
+.as5l4
+.a2s3t
+.as5tra
+.4a1s4tr4
+.a1s3u
+.at4a
+.a1t
+.ave5n
+.a1v2
+.av4e
+.1b4
+.be3la
+.3b4e
+.be5ra
+.be5r4i
+.b2o4s1
+.b4o
+.c4
+.2co4o5
+.1co
+.co3r2o
+.cus5
+.1c2u
+.d4
+.daar5
+.1da
+.da4a4
+.da4gi
+.3dag
+.da4g5r4
+.da2k
+.dan2
+.de3b4e4
+.1de
+.de1b
+.5de2k
+.de1k5l4
+.de2k5s
+.den4k5r4
+.de4n1k
+.de5o3d
+.de4o
+.de3ro
+.de5sta
+.de2s
+.de3s2t
+.di4a
+.1di
+.di4e4p
+.d4ie
+.d4i3o
+.5doet3
+.1do
+.3d4o4e
+.2do3v2
+.du4w
+.1du
+.e4
+.e1de2
+.e1d
+.ede1l5a
+.e4d3w
+.ee4n
+.e4e
+.eer5s1te
+.ee2r
+.ee4rs
+.eer1s4t
+.ees2t3
+.ee2s3
+.eesto4
+.ee2t3
+.ei3l
+.e2i
+.ei5sc
+.e4is
+.ei3s4p
+.4e4i5t2
+.e4l4s5
+.e2n5s
+.en5t2h
+.e2nt
+.e1p4a
+.ere5s
+.e1re
+.er2f
+.er1f3l2
+.er3in
+.e3ri
+.e4rt4
+.er4ts3
+.es3
+.e1s5c
+.es5pe
+.e1sp
+.e1s5tr4
+.es2t
+.et4en4
+.e3te
+.e1t4h
+.ets5t4e.
+.et4s1te
+.e4ts
+.ets2t
+.eu3
+.eus5
+.é2
+.f4
+.fe4l4s
+.1fe
+.g4
+.g4aa1t5
+.1ga
+.ga4a4
+.gan4g5s
+.3gan
+.ga2ng
+.ge1a5v2
+.1ge
+.g4e3a
+.ge3l4a
+.ge5l4e
+.gelo5v2
+.5g4e3l4o
+.ge3n4a
+.ge2n4a5z
+.3ge5ne
+.ge5no
+.ge3ra
+.ge5r4e
+.ge5r4o
+.gerst5a
+.ge4rs
+.ger1s4t
+.3ge3s4
+.4ge5s1k2
+.ge5ta
+.ge5t4j2
+.ge5t4o
+.gid4
+.1gi
+.go4m
+.1go
+.3goo4t3
+.g2o4o2
+.h2
+.hande4l2s5
+.ha4nd
+.han3de
+.her5in
+.h4e
+.he4r3i
+.hit4s5t
+.h4it
+.hi4ts
+.ho4lo
+.hou2d5s
+.hou1d
+.i4
+.ide5o
+.i1de
+.i2j4s
+.i2j
+.ijs5l4
+.4ijs3p
+.4ijs3t
+.4ik3
+.in1
+.i4n5d4
+.i2n3g4
+.in5gr4
+.i4n1k2
+.in5kr4
+.in5kw
+.i2n3s4
+.in5s2l4
+.in5s4t
+.in5ta
+.i2nt
+.i4s5c
+.4is
+.j4
+.jor5
+.k4
+.ka3d
+.1ka
+.ka5g
+.ka4ta4a4
+.ka1t
+.ker3k5l4
+.1ke
+.ker4k5r4
+.ker4k5u
+.ker5st4en
+.ke4rs
+.ker1s4t
+.ker3s1te
+.ke4s
+.koo4t5
+.1ko
+.ko4o4
+.ko5pe
+.ko2p5l2
+.4k1o3v2
+.3k4u2n2
+.1ku
+.l4
+.laat5s1te
+.la4a4
+.laa1t
+.laat2s2t
+.laa4ts
+.le4b5
+.le4g3o
+.l4e1g
+.le4g3r4
+.leid5s2t4
+.le2i
+.l4eid
+.lei2d2s1
+.le2n4s3
+.le5r4
+.le4s3
+.le5t4h
+.li4n5d
+.1li
+.lof5
+.loo4t3
+.lo4o2
+.l2o4s1
+.lu3e
+.lui5t4j2
+.2lu4it
+.lu2i
+.lu4s
+.m4
+.ma5d
+.1ma
+.ma5ï4
+.mee4l5d
+.1me
+.me4e
+.mee2l
+.me5la
+.m2el
+.me5ni
+.3men
+.mer4k5l4
+.5merk
+.m4e2s
+.me4s2t
+.met5e4e2
+.me3te
+.mij4n5i
+.1mi
+.mi2j
+.m4ijn
+.moo4t3
+.1mo
+.mo4o2
+.mor5st4en
+.mor4s4t
+.mo4rs
+.mor3s1te
+.5m2o4s
+.n4
+.5naa1t5
+.1na
+.na4a4
+.na3d
+.na3n
+.na3s4
+.nee5s3
+.1ne
+.ne4e4
+.ne2p
+.ne1p3a
+.3ne4s
+.ne5te
+.ne4t3j2
+.neu4t5j2
+.ne2u
+.nie4t5j2
+.1ni
+.n4ie
+.3noo4t5
+.no4o2
+.no2s5t
+.1n2os
+.no5v2
+.o4
+.4oe4r5
+.o4e
+.oe4s5
+.oev4e4
+.oe1v2
+.ol3f
+.om1
+.om1me3
+.4o2m1m
+.o1n3a
+.o4n3d
+.on5de4r
+.on3de
+.o1n1e
+.o2n5g
+.o1n3i
+.o4n5k
+.on1o
+.o2n1o5v2
+.o2n2t3
+.on4te4e2
+.on3te
+.on4t2er
+.3on4t5s4
+.ooi5tj2
+.o4o2
+.o4oi
+.oo4it
+.oot5je4s3
+.oo4t
+.oo4tj2
+.op5e4e4
+.o1pi5
+.op5l2
+.op3r4
+.o4p5s
+.or1g4
+.2os5
+.ov4e4
+.o2v2
+.p4
+.pee5tj2
+.p4e4e4
+.pee2t
+.1pe3ri5
+.per4s5t4e.
+.3pe4rs
+.per1s4t
+.per3s1te
+.pie4t5j2
+.p4ie
+.pit4s5t4e.
+.p4it
+.pit3s4te
+.pi4ts
+.pits2t
+.poor4t5j2
+.po4o2
+.p4oo4rt
+.po4s3t
+.1p2os
+.pu4it4
+.1p2u
+.pu2i
+.pui5t1j2
+.pu2t
+.r4
+.raads5le
+.r2a4a4
+.r4aad
+.ra2a2ds
+.raads4l4
+.ra4n4d
+.r4an1d5a
+.re4men
+.re1me
+.ren4o
+.re3n1o5v2
+.re5o
+.rie4t3
+.r4ie
+.r4ij5sp
+.ri2j
+.ri2js
+.rin4g5s4
+.r4i2ng
+.roe5t4j2
+.ro4e
+.ro4l
+.ro4s3t
+.r2os
+.ro4t3h
+.ro5v2
+.s4
+.sa2p3
+.sa5v2
+.2s3ci3
+.1sc
+.s4e4e3
+.3se
+.sek1s5te
+.sek4s4t
+.se2ks
+.5se5r4e
+.se4t3
+.se5v2
+.si1de3
+.1si
+.sk4i3s4
+.2s1k2
+.s1k4i
+.sne2u3
+.s2n4
+.s1ne
+.sno2
+.3s2o2k3
+.2so2ng5
+.spoor5tj2
+.sp4o
+.s2po4o2
+.sp4oo4rt
+.s2t4
+.st4e4m
+.s1te
+.t4
+.ta4ar4t5j2
+.ta4a4
+.taa4rt
+.t4an4da
+.ta4nd
+.3t4e4a
+.1te
+.t4e4f
+.tek2
+.te3le
+.t4el
+.te2n5ac
+.t4en
+.te1na
+.te3no
+.ten4t5j2
+.3te2nt
+.te3ra
+.t2er
+.ter4p5a
+.ter1p
+.te4r5s
+.3te4s
+.ti2n
+.3ti
+.ti1n3a
+.ti1n3e
+.toe5p3r4
+.t4o4e
+.t2oep
+.5to4lo
+.t2ol
+.to4p
+.to5v2
+.tr4i3s4
+.tr4
+.4ts4
+.tsa3
+.tui4t5j2
+.2tu4it
+.tu2i
+.ty2r
+.1ty1
+.u4
+.u2i2
+.4u4i5s
+.u4it1
+.uit4je
+.ui4t1j2
+.u1ke5
+.2uk
+.u1r4a
+.vaa2t5j2
+.1v2
+.va4a4
+.vaa1t
+.ven4t5j2
+.v4e
+.ve2nt
+.ve4r3
+.ve1s5p
+.ve2s3
+.ve2t3j2
+.vie4r
+.3vi
+.v4ie
+.v4o4l5s
+.w4
+.wa8l8s9t4e.
+.wa4ls
+.wal1s2t
+.wal3s1te
+.wee4ko
+.we4e
+.wee2k
+.wee4t3
+.we4l3
+.wen4s5t
+.we2n
+.we2ns
+.we1s4t5r4
+.we2s3
+.wes2t
+.wi2n4s
+.x4e3
+.y2
+.1z4
+.ze4s5
+.z4e
+.z4i4t5
+.z2i
+.zo4oi5
+.zo4o2
+4a.
+a4a4
+4aad
+aa1d1a
+aa1d1o
+aa1d1r4
+aad5sa2p
+a2a2ds
+aad2s1a2
+a4a1f5a
+4aag
+aa1g1a
+aa1g3e
+aa1g3o
+aa2g5r4
+aa4gs4
+aag3s1a2
+aag5s1o4
+aag3s3p
+aai3l
+aa1k1a2
+aa1k3e2
+aa1k1o
+aa2k5r4
+aak3sp
+a2a2ks
+aa1l5a2
+aa1l1e
+aal5f4o
+aalf3o5l
+aa1l1i
+aal5k
+aa2l5m
+aa1l1o2
+aal3s2l4
+aa4ls
+aal5so
+aal5s4pe
+aal1sp
+aal5s1te
+aal1s2t
+aa1l1u
+aa1m1a
+aa1m3o
+aam4sta
+aa2ms
+aams4t
+aam4s1te
+aa1n1a
+5aande4e
+aa4nd
+aan3de
+aan1d4r4
+aa1n1e2
+aa2n5g
+aa1n5i
+3aan1j4
+aa4n5k4
+3aan3n
+aa1n3o
+aan3sp
+a4a2ns
+aans4p4o
+aa2nt4
+3aan3ta
+3aa2n1v2
+aa1p1a
+a4a1p3i
+aap3o2
+a4ap3r4
+aa1r3a
+aar4d5as3
+aar2da
+aa2r1d
+aa1r3e4
+aa1r1i
+4aa2r1n
+aa1r1o2
+aar5sp4el
+aa4r2s
+aar4sp
+aar3spe
+aar4t5on
+a4ar3to
+aa4rt
+aart4s5l4
+aar4ts
+aa3r3u
+a2a3s3e
+aa1s3i
+4aa2s2t
+a4a1s5tr4
+aat3a
+aa1t
+aa1t5e
+aat3h
+aa3t3i
+aat1o
+aat5r4
+ab2a2k4s5
+a1b
+a3ba
+a5b2ak
+aba4l
+aba4t4s
+aba1t
+ab5eun
+a3b4e
+ab3ij1z
+a3b2i
+abi2j
+a2bon
+ab4o
+aboo4t4j2
+abo4o2
+aboo4t
+abo4t4j2
+2a3br4
+ab3ru
+4a4c.
+a3cal
+a1ca
+a3car
+4a1ce
+ace3s2t
+ace2s
+4a4c4h.
+a3cha
+2a1ch4e
+4a1chi
+ac2h3l
+a1cho
+a3c2hr
+4ac4hs
+ach5t3ec
+a4c2ht
+ach1te
+a1chu
+ach4uut5
+achu4u4
+4ack
+ac3k3l4
+2a1c4l
+2a3co
+2a1c4r2
+ac5res
+4acta
+a2c1t
+4a1c2u
+4a4d.
+a5d4a.
+a1da
+ad3ac
+ada2d
+ada4l
+ada2r3
+a3das5
+2a4d3d4
+a5d4e.
+a1de
+a2d3e2i
+ade5r2e
+a5de2s
+a3de3t4
+a5de1ta
+ad3e4te
+2a2d1h
+4a1d4i
+adi3al
+adi2a
+adi4o1c
+ad4i2o
+adi4od
+4a2d3k2
+2a4d3l
+4a3d4o.
+a1do
+a3do4o2
+2a2d3p
+ad3re2i
+a1dr4
+a2dre
+a3d4ri
+ad3rol
+2a2ds
+ad5se2
+ad3s1o4
+ad1s4t4
+ad5sta
+ad3u2i
+a1du
+a2d3w
+2a1dy
+4ae
+ae1ge4
+a4e1g
+ae5k4
+a3e2p
+ae3r
+ae2s3
+ae4s5t
+a3eu
+a3ë
+a4ër
+4a1fa
+af3a4a4
+a2f3ac
+af4as
+af4a1t
+af1d4i
+a4fd
+af1d2r4
+af5d4w
+4a1fe
+afe4e4
+4a1fi
+af3l2
+4a1fo
+a5f4o.
+a2fo4e
+afo4n4d
+a2f3o4p
+af5or1g
+af4or
+af1r4
+a4f3s4
+af3s2c
+af5se2
+3afs2l4
+3afs2p
+af1t4a
+a4ft
+af5tr4
+af3u2i
+a1fu
+2a3fy1
+4a4g.
+ag1a2d
+a1ga
+ag3af
+ag3a2m
+ag3ar
+ag3di
+a4gd
+a5g4e.
+a1ge
+agee5t
+a3ge4e4
+4a5g4e4n.
+age4r4s
+a4g3ex
+a4gil
+a1gi
+ag3i4nd
+a4g3i2ns
+agi5ot
+ag4i1o
+4ag1l4
+a2g3of
+a1go
+a4g3or
+a2g4o3v2
+a2gr4
+a3g4ra
+ag5rap
+ag3ru
+ag3s3l4
+a4gs
+ag4s1le
+ag5s4lu
+ags3p
+ag3spe
+ag3s4pi
+ag1s2t
+ag3st2a
+ag5s4tr4
+2a4gt
+agu5a
+a1gu
+a2g3u2i
+ag3u4r
+a2g3u4u4
+2ah
+4a1ha
+4a5h4e
+ahe5r3i
+a1hi
+a2h3l
+a3ho
+a2h5r
+a2h5t2
+a3hu
+a3hy
+ai5a2
+ai4dr4
+a4i1e
+a1i2j
+a4i5k
+ai2l3m
+ai2lo
+a2in
+a4i1o4
+ai3o3v2
+a4i3s4
+ai5sc
+ai4s5l4
+ai5s3n4
+ai1so
+ai2s3t
+ai5tj2
+a4it
+ai3tr4
+a4i3u4
+aïn4
+a1ï
+aï2ns5
+aï3s3o4
+2a1j
+ajaa4r2s5
+a1jaar
+aja4a4
+a1ka2
+a2k3af
+ak3ag
+a4k3ar
+a4k3e1d
+a1ke
+ak3e1mi
+ak2e2t
+a2k3i2d
+a1ki
+ak3i4n1k
+ak5is
+1ak1ko
+a4k5k4
+4a2k3l4
+a2k3n4
+ak5ne
+ak4ni2
+a3kof
+a1ko
+ak3on
+ak3o2p
+a2kr4
+a3k5ru
+2a2ks
+ak4so4
+ak5spe
+ak1s4t
+ak5to
+a4kt
+ak5t4w
+a2k3u4
+ak1w
+ak3wi
+a1la
+a4l3ach
+a2lac
+a4l3a2dr4
+a3l4ag
+a3lal
+a5l4apr4
+al3a4rt
+4a4ld
+a1le
+a5l4e.
+a2l3e4f1f
+2al4e1g
+a2l3el
+ale5r4o
+ale5s1te
+ale2s
+ales3t
+ale4tj2
+a3lè1
+al4fe4n
+al1fe
+alf3l2
+al5fon
+al4fo
+al1fu4
+al2gl4
+a2l1g
+a3l4ie
+a1li
+al3i2nt
+al4k5e2i
+al3ke
+al5kle
+al1k2l4
+al2k3s
+al4ku2i
+al1ku
+al5le
+a2l1l
+al4mac
+a2lm
+al1ma
+al5me
+a1lo
+a4l3o2l
+alo2n
+al3ou
+a4l3o4v2
+2a4lp
+al3s4a2g
+a4ls
+al3s3an
+al3s1c4r2
+al1sc
+als5j2
+al2s2l4
+al2s5li
+als5m
+al4s2n4
+al4s3o4o2
+al4st4em
+al1s2t
+al3s1te
+al5st4en
+als5tou
+al3sto
+altaar5
+a4l1t
+alt4a4a4
+al3t1ha
+al4t3ro
+al3tr4
+alt4s2t
+al4ts
+a1lu
+a2lu2i
+a2l3u4it
+al3u4r
+alu2s5
+4a4m.
+a4m3ac
+a1ma
+am3a1dr4
+ama4f
+4am4ag
+am3a4rt
+5am4bt4
+a4m1b
+amen4t4j2
+a1me
+a3men
+ame2nt
+ame4ran
+ame1ra
+ame5tj2
+a2meu
+a1m4i
+4a2m1m
+a2m3o1li
+a1mo
+a2m3o4v2
+3ampè1
+a2m1p
+am3p2l2
+am4ple
+am4s2m
+a2ms
+am4s3o4
+am4spr4
+am3s2p
+ams5t4e.
+ams4t
+am1s1te
+a2m3u2i
+a1mu
+a3nad
+a1na
+an3a2l1g
+an4a3n
+an3ar1c
+2a2n1c
+4an1da
+a4nd
+anda4d
+and5a4n1k
+an4d3e4d
+an3de
+an4dex
+2an2d1j
+an4dom
+an1do
+an5d4ri
+an1dr4
+and5ro4o2
+ands5lo
+an2ds
+ands4l4
+an4d3ul
+an1du
+a4nem
+a1ne
+a3ne2n
+ane4n3i
+4aner
+an3es2t
+a3nes
+ane3us
+ane2u
+4an4g.
+a2ng
+an4gan
+an1ga
+an4ga5p
+ange5s2t
+an1ge
+an3ge1s4
+ang5le
+ang4l4
+an3gr4
+ang5s1na
+an4g2s
+angs3n4
+ang1s4te
+angs2t
+aniet3
+a1ni
+an4ie
+ani2j4
+3ani1ma
+an5i3on
+an4i3o
+a4n5i4s3l4
+a3n4is
+an4i5t
+4ani1v2
+4an4k.
+a4n1k
+an4ka4a4
+an1ka
+anka4n
+an4k3a4s
+an2k3j
+an4klu
+an1k2l4
+ank3of
+an1ko
+an2k3r4
+a1no
+an3och
+a1noc
+a4n3oor
+ano4o2
+an3ork
+a1n2o3s
+a1no3t4
+a4n3ou
+ano5v2
+4a2ns
+an3s3an
+an2s3c4r2
+an1sc
+an4s4e4g
+an3se
+an4ser1v2
+an4sid
+an3si
+an2so4
+ans5or
+ans4pi
+ans5pir
+an1s4t
+an4s5t4e.
+an3s1te
+an5stru
+an1s4tr4
+an4tac
+a2nt
+an3ta
+an5t4e4n
+an3te
+an3th
+2an3ti
+ant5s2l4
+an4ts
+an4t3w
+4a1nu
+a5nuf
+a2n3u2i
+a2n3u4r
+a4n3u4u4
+anze5s3
+a2n1z
+anz4e
+2a1o
+ao4g
+ao2l
+a4om
+a2op2
+ao4r5t
+a3os
+aos3p
+ao2s5t
+4a4p.
+a1pa
+a4pak
+a4pa4s3
+ap3a4s.
+ap3a4s3s4
+a1pe
+ap5et4en
+ape3te
+4a1pi
+apij4t5j2
+api2j
+a2p3ij1z
+ap1j
+2ap2l2
+ap3le
+ap3li
+ap3lo
+a1plu
+apon5
+ap3o4o2
+apo3p
+apo5s4ta
+a1p2os
+apo2s3t
+ap3o4v2
+1ap5pa
+a4p3p
+4appen
+ap5pe
+4apr4
+ap3ra
+a3pre
+a4prem
+a5p4r4is
+ap3ru
+ap2sa
+a2ps
+ap4si
+ap2s3l4
+ap3s2n4
+ap4st4e.
+ap1s4t
+ap3s1te
+2a4p1t
+ap3t3j2
+2a1p2u
+a2q
+4a4r.
+a1ra
+araa2t5j2
+ar2a4a4
+araa1t
+a4r3a4p3p
+ara3s4
+ar2da
+a2r1d
+ard3ac
+ard3ak
+ar3do4
+ar4d3om
+ar4d3op
+ar4d3o3v2
+ar2d1r4
+ar4dra
+ar2d3re
+ar4du
+ar2d3w
+a1re
+5a2r4ea
+a3r4e1g
+a3rem
+ar4en
+are4no
+are3s1p
+a3re1v2
+ar3g1h
+ar1g
+ar2gl4
+a1ri
+arie4tj2
+ar4ie
+ari2j3s
+ari2j
+a4r3i2ns
+ark2
+ar2k3ac
+ar1ka
+ar3k4l4
+ar4map
+ar1m
+ar1ma
+ar1m3u
+a1ro
+a2r3o3b
+ar3o1ge
+a3r2ok
+aro4ko
+a2r3oo4g
+aro4o2
+a2r1o2p
+a3rot
+arpi4
+ar1p
+a4r2s
+ar5s4ch2
+ar1sc
+ar3s2c4r2
+ar3s2e
+ar5s4e4e
+ar3si
+ar1s3l4
+ar4sla
+ars5m
+ar3s1ni
+ar1s2n4
+ar4so
+ar4sp
+ar5sp4o
+ars3ta
+ar1s4t
+ars5t2al
+ar4s5tek
+ar3s1te
+ar4s4tr4
+ar4su
+art4a4a4
+a4rt
+ar1ta
+ar4t3ak
+ar4tan
+art5a4n1k
+ar4tap
+ar3tar
+4ar1te
+ar4te2i
+ar2th
+ar5t4i2j
+ar3ti
+4ar4tj2
+art5je4s5v2
+artje4s3
+4ar3to
+ar5to2f
+art5o4ge
+art5oo4g
+arto4o2
+ar4t3o4v2
+ar2t3r4
+ar4tro
+ar2t5ru
+art4s3l4
+ar4ts
+art5s1te
+arts2t
+a3ru
+ar3u2i
+4ar1w
+arwe3s3
+a1ry
+4asa
+as3ad
+as4ag
+a2s3ak
+as1a2p
+a2sc
+a4s5ce
+2a3se
+a4sec
+a4s4e1g
+ase1r5a
+ase5tj2
+ase4t
+asev4e4
+ase1v2
+as5ha
+as1h
+as4i4s1
+a1si
+a4sj2
+as5ja
+as3ji
+a2s3k2
+as5ka
+as5k4i
+as3l4
+as4lu
+as3m
+as5mi
+as3n4
+as4ne
+as4ni
+4aso
+as3o3b
+as2o2l
+aso4r
+as1p
+a2s3p4l2
+a4s5q
+as5sa
+a4s3s4
+4ass1m
+3as5su
+a2s2t
+4as3ta
+a4st4a.
+as5tag
+a2s4tas
+as4ta1t
+as3te
+a3stek
+a3st4em
+as5t4en
+as3tè3
+asting5s3p
+as3ti
+asti2ng
+astin4g2s
+as1to
+a2s3t2o3b
+as4t3op
+4a1s4tr4
+ast5rem
+as5tr4o.
+a1s4tu
+a1t
+ata4ar4t5j2
+ata4a4
+ataa4rt
+a2t1ac
+at3a4de
+a4tad
+a2t3a4f.
+at3a4n1k
+a3ta3s
+2atek
+a1te
+a5te2l1l
+at4el
+at4e2n
+ate3no
+aten4t5r4
+a3te2nt
+ate4r5ad
+at2er
+ater5s2l4
+ate4rs
+at4eu
+2a4t3g2
+a2t3hu
+ati5ni
+a3ti
+a2t3j2
+at4je
+atje4s5
+at5je4s3b
+at5jes1h
+at5jes5m
+at5je1sp
+2a4t3m
+2a4t3n
+a2to4o2
+at3oo4g
+ato2s5f
+a3t2os4
+ato3s3t
+at3rac
+atr4
+at3re2i
+at3ri1b
+at4ro4e
+at5ru
+at4s3a2
+a4ts
+at4s3ec
+at3se
+at1si4
+at4s3id
+at2s3l4
+at4slo
+ats5m
+ats3n4
+at4s1ne
+ats3pr4
+at2s2t
+at4sta4a4
+at3sta
+at4s5tak
+at4st4e.
+at3s1te
+at5st4en
+at5sti2j
+at1s4ti
+ats5t2ol
+at1sto
+ats5t4o4p.
+ats4top
+ats5trek
+at1s4tr4
+at4t3u4
+a4t3t
+a2t3u2i
+a4t3w
+au1a4
+au3ch
+a4uc
+au3co
+au5de
+au1d
+au2d4j
+1aug
+au3na
+au2n3t
+a4up2
+aur4
+au5r2e
+aure3u
+4aus
+au3so2
+au4s5p
+au3sto
+aus2t
+au3t4
+4au4t.
+1au1to
+auto3p
+2au4ts3
+auw3a
+4a4u1z
+a4ü
+ava2s2t4
+a1v2
+ave3c
+av4e
+ave4e4
+ave4n3i
+aven5s2p
+ave2ns
+aver3a
+ave2r
+ave3re
+ave3r4u
+4a3vi
+a2vo
+1a4von
+a5vo4o2
+a5vor
+4avy3
+2a1w
+ax4is4
+ay2a
+4a3z4if
+a1z
+az2i
+ä3h
+äm1me3
+ä2m1m
+ä3r
+1b
+4b.
+3ba
+baar5s1te
+ba4a4
+baa4r2s
+baar1s4t
+ba4ar5tj2
+baa4rt
+ba4da
+bad3a2r3
+ba4d3r4
+b2a2d3s
+ba3g4h
+b4a3g1l4
+5b2ak
+ba4k3o4
+bak4sp
+b2a2ks
+ba3l4an
+ba1la
+ba4lar
+bal3d1w
+b4a4ld
+ba1le4
+bal3e1v2
+ba3li3ë
+ba1li
+bal4k2l4
+ba3lo
+ba4ls4
+bal3s1f
+ba4me
+ba5n2a
+ban4k3a
+ba4n1k
+ban4k2l4
+ban4k3o
+ban4k3r4
+ban4k3w
+b4a3sa
+ba4s2t
+ba2tr4
+ba1t
+ba3tro
+4b1b
+bbe4l5ag
+b3b4e
+bbe1la
+bbe4l5e4e4
+bbe3le
+bbe2n
+bbe1n3a
+4b1c
+4b1d4
+b5de
+bdi5a
+b1di
+3b4e
+b4e1a
+be3as
+be2au
+be3ch
+be5d1we
+be1d
+be4d2w
+be5d1wi
+be5d1wo
+be4e4
+bee2t1
+b4e5g
+be4i1e4
+be2i
+be4i3s
+bei5tj2
+b4e4it2
+be5ki
+be3k4l4
+be1kw
+be3lar
+be1la
+be5l4as
+bel5dr4
+be4ld
+be3le
+be4l3ec
+be4lex
+bel5f
+b2e3li
+be4l5i2nt
+bel3k
+b4e1l4o
+be3lo5v2
+bel3sc
+be4ls
+bel3sp
+be4l1t4
+beme2n4s
+be1me
+be3men
+be3ne2p
+be1ne
+be5n4o
+be5ot
+be3o
+be1ra
+bere5s4
+be1re
+ber4g5af
+ber1g
+ber1ga
+ber4g5et
+ber1ge
+ber4g2l4
+ber4gr4
+be3r4i
+be1r4o
+ber1o5v2
+be3ru
+be3ry
+be1s4
+be2s5ac
+be4s1h
+be4s1je
+besj2
+be3so
+be5sp
+be4s5s4
+be4s5t4e.
+bes2t
+bes1te
+be4s5te4n.
+bes3t4en
+be5st4ie
+bes3ti
+bet2
+be3t4h
+be5ton
+be1to
+bet5ren
+be1tr4
+be4t1w
+be5t2wi
+be3u4nd
+beu4r4s
+4b3f
+2b1g
+4b3h
+3b2i
+bi2d3s1
+bi2du
+bi2e4li
+b4ie
+bi4en
+bie4t3j2
+b4ij5d
+bi2j
+bij3f
+bij3g4
+bi2j5k4
+bij1p
+bi2j1s2
+bi1k4a
+b4ik
+5bil
+bi3lo
+bi4l3s2
+bin4dr4
+bi4nd
+bin4s4t
+bi2ns
+bin4t3j2
+bi2nt
+1bi5o5b
+b4i1o
+bi3ok
+bi5om
+bi3o5s2o
+bi2o4s
+bi5ow
+bir3
+bi4s3t
+b4is
+bis5tro4o2
+bi3s4tr4
+bi1tr4
+b4it
+bit4se
+bi4ts
+bit4s3p
+4b1j
+4b1k
+3b4l
+blad5i2j
+bl4a1d4i
+2b5lap
+b5le1d
+ble2s3
+ble5spe
+ble4sp
+ble2t3
+b5lid
+b1li
+b3li2j2s4
+bli2j
+blij5s3te
+bl4ijs2t
+bl4i2k
+4b5l4oi
+blo2k5l4
+bl2ok
+bloo4t5j2
+blo4o2
+bloo4t
+blu2s
+2b1m
+4b1n
+b4o
+bo4d3ec
+bo1de
+bo1dy3
+boe4g3a
+bo4e
+bo4e1g
+boe4k2n4
+boe4ko
+boes4
+boe3s2t
+boet5s2t
+boe4ts
+bo3f4l2
+b2o2k
+bok3an
+bo1ka
+bokje5
+bok1j
+bok4s4t4
+bo2ks
+bolk4
+b4o2m3a4
+b4o2m3o
+bo5na
+bo4nd2
+bon2d4s5
+3bo1ne
+bo3no
+bon4t3j2
+bo2nt
+bon4t5o4
+boo4t3j2
+bo4o2
+boo4t
+boot4s5t4e.
+boo4ts
+boot3s1te
+boots2t
+bo3p2
+bor4sta
+bo4rs
+bor1s4t
+bor3st5o
+bor4s4t5r4
+b2o4s
+bos3a
+bo5s1co
+b4o3s2c
+bo5si
+bo5s2o
+bos5p
+bos5to
+bo2s3t
+bo4t3j2
+bo4to
+b2ot3r4
+bot4sp
+bo4ts
+bot4s2t
+bo2tu
+bou5ta
+bou2w5s
+bo3v2
+bov4e4
+4b1p
+3br4
+bra2a2d5s
+br2a4a4
+br4aad
+br4an4da
+bra4nd
+br4a5s4tr4
+bra2s2t
+bre4i5s4
+bre2i
+brie4t
+br4ie
+brie5tj4e.
+brie3tj2
+bri4l
+bro2n
+br2o1n3o4
+bru2l
+4b1s4
+b2s5a
+b5sc
+b3si
+bsi3d
+bs5je
+bsj2
+b2s5la
+bs2l4
+b2s5m
+b4s5s4
+b4sti2j
+bs2t
+bs3ti
+4bt4
+b3ta
+b1tr4
+b4ts5
+3b4u
+bui4t4j2
+bu2i
+bu4it
+bul4k
+bu4lu
+bune5t
+bu1ne
+1b5ur1b
+bu5ri
+bu4s5c
+bus3o2
+bu1t4a
+bu2t3j2
+bu2to
+bu4t4s
+but3s5te
+but2s2t
+buur4tj2
+bu4u4
+buu4rt
+4b1v2
+2b3w
+by3
+4b1z
+4c.
+1ca
+3c4a.
+ca3b
+ca1ch
+5ca1da
+ca3do
+ca3dr4
+c4ae3
+ca3g2
+ca2l4l3
+ca3lo
+came5r
+ca1me
+ca3na
+ca2nt4
+ca2of
+c2a1o
+c4a1pr4
+ca4p3ra
+ca5pri
+ca3ra
+ca3r4u
+c2a5se
+ca3s2p
+ca2s3t
+c4a1s5tr4
+ca3ta
+ca1t
+cat4e4n
+ca1te
+ca3t4h
+cau3
+cau4s2t
+c4aus
+ca3v2
+2c1b
+4c1c
+c1ca3
+cce2s5
+c1ce
+c4d
+c5do
+1ce
+3ce1d
+ce4e4
+3cee2l
+3cel
+ce4l3d
+ce3le2s5
+ce1le
+c2e5li
+cel5k
+c4e4l3o
+2ce3n4a
+2ce1ne
+ce3no
+5ce2nt
+cen4t3j2
+ce3o4
+ce3ra
+ce2r2n
+ce5ro
+cer4t3r4
+ce4rt
+ce2s
+ce3s2a
+ce5sc
+ce3s2h
+ce3sta
+ces2t
+ce3s4ti
+cesu5r
+ce3su
+ce3ta
+ce4t3j2
+ce1to4
+cet3og
+cet3o4o2
+1cé
+c3g
+4c4h.
+3cha1ï
+5ch2a1o
+3chas
+1chau
+5chauf
+2chc
+1che2f
+ch4e
+5che4f.
+5che4f1s
+5che1mi
+5che1q
+che5r3i
+che3ru
+5ches
+che3us
+1ché
+5c2hir2
+4ch1n
+2c2h1p
+5chr4o3mo
+c2hr
+4c2ht
+4c4h1w
+1chy
+3ci
+ci5a1b
+ci1a
+ci3am
+ci2e3k
+c4ie
+cie4r4s5
+ci1e2u
+5ci2j
+5cil
+c4i5le
+ci2l3m
+4ci4nd
+c4i3o
+ci5om
+5cir
+c4i3t2
+ci5ta
+c3j
+c2k3a
+c4k3e1d
+c1ke
+c2k3ef
+cke5re
+c5k4et
+c2k3i2d
+c1ki
+c2k3l4
+ck4le
+c2k3n4
+c2k3o4
+c4k3r4
+ck5s2e2
+c2ks
+ck3so4
+ck5s4t
+c3ky3
+1c4l
+cl4a2n
+cle3u
+5clu
+2c1n
+1co
+co3ad
+c4oa
+co3d
+c4o4i
+coin5
+c2o3k4
+co3la
+5com
+5co4nd
+co2n1g
+2co1no
+5co2ns
+3co2n5t4
+2co4o2
+2co1p2
+3c2opa
+4co1pi
+cor4dr4
+co2r1d
+co4rel
+co1re
+co5ri
+cor2o
+5co2r5r
+co4rs4
+co3r1u
+c4o5s2c
+c2os
+co5se
+co5sp
+co3th
+c2o3tr4
+5coun
+2cout
+co5v2
+c3p4
+1c4r2
+3cras
+cre5d
+2crip
+3cr4is
+cro5f
+cr2o5k
+cro4o3
+cro5v2
+cr2u4s5
+c3so
+c3sp
+c3s1te
+cs2t
+2c1t
+2c1t3a2c1t
+c2tac
+c4t3ad
+c4t5c
+ctee5t
+c1te
+cte4e2
+ct4e2n3
+c2t1h
+c2t3j2
+c4t3o2f
+c3t2ol
+c2t1on
+ct4or
+ct3rap
+ctr4
+c4t3re
+ct3s2l4
+c4ts
+ct3sp
+1c2u
+cu5d4
+cu3en
+cu3és
+c4u4i5s
+cu2i
+cu4i2t
+cui1t5e
+c2u3k4
+cula5p
+cu1la
+cu3ra
+5cu4r3s
+cus3o2
+c3w
+1cy
+1ç
+ç2a4o
+4d.
+1da
+3d4a.
+3d4aag
+da4a4
+d4aal
+d3aap
+daa1r5e4
+5daa1t
+4dab4o
+da1b
+2d3a4c1c
+d4a4ce
+da5den
+da1de
+4da1dr4
+3d4ae
+2d1af
+3dag
+da2g3a4
+da3ge
+da4g3e3d4
+da4g3e4t
+da4g3on
+da1go
+da4g3r4
+dag4s3t
+da4gs
+da2gu
+3dai
+da3ï
+da3ke
+da4ker
+2da4k5k4
+da4k1r4
+4da1la
+d3alar
+d3a2l1c
+da3le
+4dalf
+da3li
+2da2lm
+da2l3u
+d4am
+da1m4a
+da5m3ac
+d3a4ma1t
+d2a5me4
+dam4es3
+dam4p2l2
+da2m1p
+2da2na
+dan3as2
+dan1k3l4
+da4n1k
+da3noo4t5
+da1no
+dano4o2
+dan4si
+d4a2ns
+dan4s3m
+dan4s3p
+dan4s4t
+dan1s5ta
+4d3an4t3w
+da2nt
+2d1ap
+4d3a2pe
+5d2a1p2u
+da2r3a
+d3ar1b
+3da1re
+3da1ri
+dar4mo
+dar1m
+darm5on
+3da1ro
+da4r3s
+dar5s4t
+3das3
+5d4asa
+da3s4tu
+da2s2t
+3d4a1t
+da3ta
+da2t5j2
+4d5a4t3l
+4d5a4t3m
+da2t3r4
+5daue
+4d1au3t4
+3dauw
+2d1b
+dbe2i5
+d3b4e
+dbou4w5i
+db4o
+2d5c
+4d3d4
+dda4gs4
+d1da
+d3dag
+ddag5s3p
+dde4l5e1v2
+d1de
+dde1le
+dde2n
+dde1n5a
+ddera4
+dder5al
+dde1r2e4
+dder5e4e
+dde4r5ep
+dder3o
+ddi3a
+d1di
+d5dle2s
+d4d3l
+d5do
+d2do3p
+1de
+3d4e.
+de2al
+d4ea
+de1ch
+d4e5den
+de1d
+de1de
+5d4edir
+de1di
+de4d4it
+de4e4g3
+de4e
+dee4l
+de2e3l3i
+4d3ee2n
+dee4r
+4d3e4f1f
+d4e3g
+4d5e4g.
+4d5e4g3g4
+2d5e1gy
+2de2i
+d3e4i1e
+d3eig
+d3eil
+d1e4is
+d3ei5w
+5dek
+de3ke
+dek3lu
+de1k2l4
+dek3w
+del4a4a4
+de1la
+del5da
+de4ld
+del5dr4
+del5ee2k
+de1le
+dele4e4
+4d3e4lek
+4d3e2lem
+de4le1v2
+4d3e4l4it
+d2e1li
+del3k
+de4l2s
+del4s3e
+del3s3i
+del4so
+4d3e4mai
+d2e1ma
+2de2m1h
+5de1mi
+dem5o4nd
+de1mo
+d2e4n.
+de2n4ac
+de1na
+den5a1te
+de3na1t
+de4n3e2i
+de1ne
+de2n3e4p
+den3e1v2
+4d3en4gt
+de2ng
+den4k5of
+de4n1k
+den1ko
+de4noc
+den3o4r
+den3s1h
+de2ns
+den5s4tr4
+dens4t
+de3nu
+5den3vl
+de2n1v2
+de4o
+de5o1fo
+de5ol
+deo4li
+deo3v2
+de3ra1b
+de4r3ad
+der3a4g
+de3rak
+de3ram
+de3ran
+de3rap
+de3ras
+de4r5a4s.
+de4r5a4s3s4
+de1r2e
+1der5e1de
+dere1d
+de4r5e4gd
+de1r4e1g
+de4r3e2i
+de4r3em
+de5re4n
+de4rep
+de4ret
+de5ri2j
+de3ri
+de4r3im
+der3k4
+der3on
+de2r3o4r
+4d3er2os
+der4s3a
+de4rs
+der4s5om
+der1so
+der5s1te
+der1s4t
+der5sto
+der5stra
+der3s4tr4
+der5t2h
+de4rt
+4d3er4ts
+der5t4w
+de2r3u
+de3r4up
+de2s
+de3sa1v2
+des3m
+de1s3n4
+de1s3p
+de3spe
+de5s4p4el
+de4s1p4l2
+des5s1m
+de4s3s4
+de3s2t
+de3s5tak
+de5s4t2al
+de4s3te
+de4s3ti
+de5s4t4ic
+des5top
+de3t4
+4d3e4tap
+de1ta
+de5t1w
+deu4r3o4
+de3u4s.
+deu4tj2
+dev4e4
+de1v2
+2dex
+4d1exa
+4d1ex1p
+3dè1
+2d1f
+2d3g
+d4gaf
+d1ga
+dge3la
+d1ge
+dge2t
+dge1t4o4
+dget5on
+dget5o3v2
+dge4tr4
+dg4l4
+2d1h
+d5h4e
+dhee2r4
+dhe4e
+3d4h4i.
+1di
+di2a
+di5ae
+di4ak
+di4a1n4o
+di3an
+dia3s4
+di4atr4
+di3a1t
+5dich
+d4ic
+di4do
+die2f
+d4ie
+die4r3o
+di3e4s5r
+die3s2t
+die2t
+die1t3r4
+di1e2u
+3dig
+di2g4a
+dig5a4a4
+di3ge2s5
+di3ge
+dij2k3r4
+di2j
+di2jk
+di3j3o4
+2d3ij1z
+di2k3o4
+d4ik
+5dil
+2d3i2m1p
+di5n2a
+2d3i4nd
+2d1i2n3f
+3d4in4g.
+di2ng
+4d5ingel
+din1ge
+4d3in1j4
+4d3in1ko
+di4n1k
+2d5i2n3r
+2d3i2ns
+4d3i2nt
+dint4el5
+din5te
+2d3i2n1v2
+2d3i2n1w
+2d3i2n1z
+d4i2o
+di5ofon
+dio3f
+di4o1fo
+di4ol
+di4o1ne
+di3on
+di4o1ni
+di2o4s
+di4o5s3c
+2d3i2ro
+2d3i2r5r
+3d4i4s
+dis5a2g
+di1sa
+di5se
+di5si
+dis4kr4
+di4s1k2
+dis5p
+di2s3t
+di3s5tr4
+di3th
+d4it
+di4t3j2
+dit3r4
+5di1v2
+2d1j
+2d3k2
+4d3l
+d5l4e.
+dli4n
+d1li
+dlo4t4s
+2d1m
+2d3n2
+d5ne
+d3n4i3s
+d1ni
+1do
+3d4o.
+d4o3a
+2d3o4b1j
+d2o3b
+4d3o4b1s4
+3d4o4e
+5do4e.
+doe5d
+4doef
+d5oe1fe
+5doek
+5doen
+5doet
+4d5oe1v2
+3d4oi
+d4o1le
+2do2li
+d4o3lin
+dol2k5s
+5d4o4l5s
+3d4o4m.
+5do1m2i
+d4o4m3o4
+d3o2m1r
+dom4s2n4
+do2ms
+5do1mu
+d3o2m1v2
+4d3o2m1z
+5do4n.
+d4o1na
+5do1ne
+do5ni
+5d4on3n
+5do3n4o
+do3nu
+do5ny
+5do2n1z
+2dop
+d2o3pa
+d3o2p1b4
+d3o2p3d2
+do3p4e4e4
+5d4op1j
+4d1op3l2
+3do1po
+d3o4ps
+d3o2p5z
+4d5or1g
+d3o4ri3ë
+do1ri
+d3ork
+dors5m
+do4rs
+do3sp
+d2os
+do3s4ta
+do2s3t
+do4t3j2
+5dou
+2do2v2
+dove4r5s
+dov4e
+dove2r
+3d4o3vl
+3d4o3vo
+2d3p
+dpren4
+dpr4
+1dr4
+3dra
+5dr4a.
+d3raam
+dr2a4a4
+d3raap
+d4rac
+d5r4a3ce
+5drach
+d3r4a4d.
+d3ra1d4a
+5draf
+5d4rag
+d4ra1ma
+d3ra1me
+4d3ra4nd
+4drap
+4dras
+4d3ra1z
+2dre
+4d1rec
+d5re3co
+d1re1d
+d2re4e
+4d3ree4k
+4dr4e4nd
+d4re4s3s4
+4dret
+3d2re1v2
+5drev4e
+d3r4ic
+dries4
+dr4ie
+5d2r4if
+dri5g4a
+dr4ig
+d3r4ijd
+dri2j
+d3ri2jk
+d3rijm
+d3ri2js
+5d4rin
+3dr4is
+4d3r4it
+4d3roe2i
+dro4e
+d3r4oer
+5d2rog
+4d3r2ok
+d3r4o5ma
+d3ro4nd
+3d2roo4g
+dro4o2
+4dro2o4s
+5drop
+2drou
+2d3ro5v2
+2dro1z
+dru4g4s
+dru2g
+d3r4uim
+dru2i
+d3ru4it
+5d4r2u4k
+4d3r2u4s
+2ds
+d2s1a2
+d4s1a4a4
+d1sa4b
+d3s2al
+d3s4a3te
+d1sa1t
+d3s4ch2
+d1sc
+d5s2chi
+d3se2
+ds3e1co
+d4s3e1d
+d4s5e4e
+d4sef
+d4se2i
+d2s3e4is
+d4s3elf
+ds2el
+ds2e4li
+d5s4en
+d4s4es
+d4se4t
+d2s1h
+ds3ho
+d2s1i2
+d4s5id
+dsi1g5a
+d5s2ig
+ds2im
+ds4i2ng4
+ds5i4s
+d4s3j2
+ds4jo
+d4s5j4on
+ds4l4
+d1sla
+d4s5las
+d4s5l4ic
+ds1li
+d4s5l4ie
+ds5li2m
+d3slin
+d2s1m
+ds4mak
+ds1ma
+d3s4mi2j
+ds1mi
+ds5mo
+ds3n4
+ds4ne
+ds5ne2u
+d3snu
+ds1o4
+ds3o3b
+ds3om
+d4son
+d3s2o4o2
+d2s3op
+d4sp4a
+d5s4pan
+ds5pa3ti
+dspa1t
+d5spec
+d5s4p4el
+d4s3pet
+d1spi
+d4s3p4l2
+d5s2po4e
+dsp4o
+d5sp2ok
+d5spor
+d4s5s4
+ds2t4
+d1sta
+d5s4taa1t
+dsta4a4
+d4sta1b
+ds4tak
+d4s3t2al
+ds4tan
+d3s4ta1t
+d5s4ta1v2
+d3s1te
+ds4t4e.
+d5ste4e2
+d4stek
+ds4t2er
+d4ste2r5r
+d4st4e1v2
+d4s3th
+d3s4ti
+d4st4it
+d1sto
+ds5tram
+d1s4tr4
+ds5tre4k5k4
+d2s5ty1
+d2su4
+ds3u1r2e
+ds3u4u4
+d1s4y
+2dt
+d1ta
+dta4ar4t5j2
+dta4a4
+dtaa4rt
+d1th
+d2tj2
+d1to
+d1tr4
+d1tu
+1du
+2du1ca
+d4uc
+5due
+du3en
+du3et
+5duid
+du2i
+5du4if
+5d4u4ik
+d3uil
+2du4it
+4dui4t.
+d3ui4t3d2
+5dui1te
+4d1ui4t3g2
+d3ui4t1v2
+5dui3v2
+du4n
+du1n5i
+du2o
+du4ol
+3d4urf
+3d4ur1v2
+5du1s
+du2t3j2
+du5we2n
+du1we
+2d1v2
+dvaa1t5
+dva4a4
+dve4e3
+dv4e
+dve5na
+dvie4s5
+d3vi
+dv4ie
+2dw
+d3wac
+d3was
+d3wa1t
+d1we
+3d2we2i
+d3wek
+d3wet
+d3we1z
+d1wi
+4d1wo
+d3wor
+d3wr
+1dy
+4d3y1o
+dy4s4p
+dys3
+dy2s4t
+2d1z
+4e.
+4ea
+e3a4a4
+e1a1b
+ea3b4o
+e3ac
+ea4ca
+ea2c5t
+e1ad
+ea3da
+e5adem
+ea1de
+ea3do
+e2a2d3s2
+ead5s1h
+e1af
+e1ag
+e3ai
+ea4k3o4
+e1al
+ea3la
+e3a1li
+e4a4ls
+ea5m4i
+e3an
+e4a4n.
+ea2ng3
+e4a2n4s
+e5ap
+e4a3pr4
+e3a2q
+e1ar
+ear2c
+e1as
+e2a2sc
+e2a5s4e
+ease5t
+e4a3so
+e1a1t
+e4a4t.
+ea4t3s
+eau3s4t
+e4aus
+e1a1v2
+e3b4o
+e1b
+ebot4s5t4e.
+ebot4s2t
+ebo4ts
+ebot3s1te
+e5br4
+3ec4d
+e3ce
+e1ch4e
+e1chi
+ech4t5ec
+e4c2ht
+ech1te
+echt4s5o
+ech4ts
+e3chu
+4eck
+ec5le
+e1c4l
+4ecor
+e1co
+4e2c1t
+ec3ta
+ec4ta4a4
+3ec1z
+e1d
+e3d4ag
+e1da
+e3d4am
+e3d4an
+e4d4as3
+ed4e3a
+e1de
+ed3e4i.
+e2de2i
+ede5le
+edem4
+ede5n4ac
+ede1na
+ede5o
+ed4er
+e4d5er2ns4
+ede2r1n
+ede5ro2g
+edi3al
+e1di
+edi2a
+edi3am
+e5d4ie
+4edir
+edoe5tj2
+e1do
+e3d4o4e
+e5doet
+e3d4o4o2
+ed3o2p1v2
+e2dop
+edor3s5te
+edo4rs
+edor1s4t
+e2d3o2v2
+e3d2r4
+ed3rod
+ed3rol
+e2d1s
+ed5se2
+ed2s4l4
+ed4s1o4
+ed5sp
+ed3su4
+e2d3u4it
+e1du
+edu2i
+e4d2w
+e5dwan
+e4e
+e4ea4
+ee5b
+ee5ca
+ee5ch4e
+ee2d3a
+ee1d
+eed4ac
+ee4d5as3
+ee5de
+ee5do
+eed3ru
+ee3d2r4
+eed3s1i2
+ee2d1s
+ee4d3w
+ee2f
+ee3fa
+eef3ac
+e4e3fi
+ee1f3l2
+ee1f3r4
+ee4gap
+e4e1g
+ee1ga
+ee2g3l4
+ee3i
+ee2k
+ee3ka
+ee5ka4a4
+eek3ak
+eek5a2l1l
+ee1k1e
+ee5k2et
+ee3ki
+ee3k2l4
+ee4k3lo
+ee1k3n4
+eek3re
+ee1kr4
+ee3kri
+eek3ro
+eek5s4t
+ee2ks
+eek3w
+ee2l
+ee1l3a
+ee3lad
+ee4l4a4s.
+eel5d4u
+ee4ld
+ee3le
+e4el4e4e4
+e2e3li
+ee5li2j
+eel5k4
+ee3l2o3b
+e4e1lo
+eel3og4
+eelo4ge
+e4e3lu4
+eel3ur
+eel3u4u4
+4eem
+e2e1ma4
+ee2n
+ee1n3a
+eena4r
+ee1n3e2
+ee2n5g
+ee3ni
+ee3n5ie
+ee4n5k
+ee5o2
+ee2pa
+eep3an
+ee3p2l2
+ee1po4
+ee4p3re
+ee1pr4
+eep3ru
+ee2r
+eer1a
+ee1r3a4a4
+ee4rad
+eera4l
+ee3ram
+ee3ran
+ee3re
+e4e4re4e
+ee5re2i
+ee4r3i
+ee5r4ic
+eer5k
+eer3o2g
+eer5oom
+eero4o2
+ee3rot
+eer5ston
+ee4rs
+eer1s4t
+eer3sto
+eer5s4tr4
+ee2s3
+ee5s4ch2
+ee1sc
+ee4s5em
+ee3s4e
+ees5e4t
+ee3sj2
+ees5lo
+ee3s2l4
+ee3s2n4
+ee3s4p
+ee3s5p4l2
+ees5pot
+eesp4o
+ees5t4en
+ees2t
+ees1te
+ee3stu
+ee2t
+eet5a4a4
+ee1ta
+ee3t2al
+ee3tan
+ee5te
+ee1t5h
+ee3tj2
+eet1na4
+ee4t3n
+ee3to
+eet3og
+eeto4ge
+eet3o4o2
+eeto4r
+ee3tr4
+ee4tro
+eet5r2ok
+eet3sp
+ee4ts
+eet5s1te
+eets2t
+ee5v2
+ee5z
+e5ën3
+e3ë
+e5ër
+e2f3ad
+e1fa
+efa4z
+efde5l
+e4fd
+ef1de
+ef3do
+ef3e2i
+e1fe
+e5f4er
+4e1fi
+efie4t
+e5f4ie
+efie3t5j2
+ef3i2ns
+e3f4i4s5
+e1f2l2
+ef3li
+ef3lo4o2
+e3flu
+ef3om
+e1fo
+e3fo4o4
+e2f3o4p
+e1fr4
+ef3ri2j
+e5fron
+ef3s1f
+e4f1s
+4e1g
+ega4s4
+e1ga
+eg3a4s.
+ega5s3k2
+e2g3e4b1b
+e1ge
+ege1b
+e4ge4c
+e4g3eig
+ege2i
+egel5e4i.
+ege3l4e
+egele2i
+ege4l5o3v2
+e5g4e3l4o
+ege4net
+e3ge3ne
+ege4n5of
+ege1no
+ege4ra
+eger5e2ng
+ege1re
+ege4r2o
+eger5on
+e3g4i
+e4g3ij1z
+e2gi2j
+egip4
+egis1te4
+e3g4is
+egi2s3t
+e2gl4
+e4g4o.
+e1go
+eg3or1g
+e2g2os1
+eg3ou1d
+e5graf
+e1gr4
+e3gra
+e4g3s4
+eg5s1le
+egs3l4
+eg5s1o4
+e2g3u4r
+e1gu
+egut4
+e4g3u4u4
+e1h4
+e5ha
+ehe4is5
+eh4e
+ehe4i
+eh4it4
+e2i
+ei5a
+4eid
+ei3do
+eid4sc
+ei2d2s1
+e4i1e
+4eien
+eie2n5s
+eie5re
+e4i3f4
+ei3gl4
+4ei2g1n
+e3i2j
+ei3k4l4
+e4ik
+ei3k4n4
+ei5kr4
+ei2ks4
+4ei4l.
+eil5a2nt
+ei1la
+eil4an
+4ei4ld4
+eil5d3r4
+4e4i3le
+ei4le1v2
+ei2l5m
+ei2l3o
+ei4n3a1b
+ei1na
+ei3n4ac
+ein4do
+ei4nd
+eind5o4o2
+ein4d3r4
+ein5gr4
+ei2ng
+ei4n5k
+ei2no
+ein5s2l4
+ei2ns
+e4i3o
+ei2sa
+e4is
+ei5sha
+ei4s1h
+ei3s4la
+eis3l4
+ei3slo
+eis4p
+ei3s4ta
+ei2s3t
+4e4it2
+ei4to4o2
+ei1to
+ei4t4s3
+eit1s5c
+eits5n4
+eit4s5t4e.
+eit3s4te
+eits2t
+eit5st4en
+eit1s5tr4
+ei3v4e4
+ei1v2
+4e4i1z
+e1j2
+e3je
+ek3aan
+e1ka
+eka4a4
+eka4ar4t5j2
+e5kaa4rt
+ekaa1t4
+ek3a4f.
+e2kaf
+e4k3a4g
+ek3a4l.
+e4k3a4l1t
+e5kam
+e4k3a2ng
+ek4e4e
+e1ke
+ek1e2i
+e3kem
+e5ke4r.
+e5ke4rs
+eke2s3
+ekes4t
+eke1s5tr4
+e3k2et
+ek5et2er
+eke3te
+e5k4ic
+e1ki
+e4kil
+e5k4is
+ekla4m
+e1k2l4
+ekla1m5a
+ek3le1v2
+e5k4lim
+ek1li
+ek5lo2o4s
+eklo4o2
+ek4ni2
+e1k2n4
+e3ko
+e4k3o3b
+e5kof
+ek3o1li
+e4k3o2p5z
+e5kor
+e4k5o4s.
+e3k4o4s3
+e4k5o4s3s4
+e5kran
+e1kr4
+e3kra
+ek3ro1z
+ek3s4e2
+e2ks
+ek4s5er1v2
+ek5s3e4t
+ek4s4tr4
+eks4t
+eks5tra
+ek5t4e
+e4kt
+ek3to
+e1ku4
+e2k3u4it
+eku2i
+ek3u2r
+ek1u4u4
+ekwet5s1te
+e5kwe4ts
+ekwet4s2t
+e2k3win
+e1la
+e2l3aan
+ela4a4
+e4l5aa4nd
+e2l1ac
+el4a1de
+e2l3a2d1j
+e4l3a2d1m
+e4l3a2dr4
+e4l3a2d1v2
+e2l1a4f
+e2l1al
+e3l4an
+e4l5a2na
+e3lap
+e5l4a4p.
+e4la4p3p
+el3ar1b
+el3ar1c
+e2l3ar1m
+el3a4rt
+e4l3a4s.
+el3a2si
+e4l3as1p
+e4l3a4s3s4
+e2l1au
+e4lau3t4
+e3l4a1z
+e4l5az2i
+el4dec
+e4ld
+el1de
+el4dr4
+el4du
+e1le
+e3l4e.
+e2l3eeu
+ele4e4
+e2l5e4f1f
+e5l4eid
+ele2i
+e4l5eier
+ele4i1e
+e4l3eig
+el3e4i5s
+e4lel
+3e2lem
+el3e2m1p
+e5l4en
+e3ler
+e3le5r4a
+ele4r4s
+el3er1v2
+e3le2s
+eles4t
+e4l3e1ta
+ele4t3r4
+e4l3e2t3u
+e4l3ex1c
+e3lé
+elfi4d
+el1fi
+el1f2l2
+el4f3s4
+el3gu
+e2l1g
+2e1li
+e5l4ie
+e5l4ig
+eli5k1w
+el4ik
+e2l3i2m1p
+e4l3i4nd
+e3li2ng
+e4l5in4kt
+eli4n1k
+e4l5i2n1z
+3e2lix
+el4ke4e
+el3ke
+el2k3s
+el4k3u4r
+el1ku
+el4kw
+4e1lo
+e5l2oep
+elo4e
+e4l3oes
+e3l2ok
+e2l3o2l
+el3o2ms
+e4l5o4nd
+e2l5o2nt
+e3lo4o2
+e5l4oo4d
+e5lo2o4s
+el3o4ps
+e4l5o4p1t
+e4l5o2p1v2
+e2l3o2r
+e4l5or1g
+elo4t4j2
+e5lou
+e2l3o4v4e
+elo3v2
+e5lo5z
+el1p4o
+e4lp
+el4ps
+el4s5em
+e4ls
+el3se
+el4s3k2
+el5s4me1d
+els1m
+els1me
+el5twe
+e4l1t
+el4t1w
+4e1lu
+e2l3u4it
+elu2i
+elu2k2s5
+el2uk
+2e1ma
+e4ma1na
+ema3sc
+ema5to
+ema1t
+e5mee2s5
+e1me
+eme4e
+emen3s5te
+e3men
+eme2ns
+emens4t
+eme4r4s
+em4es3
+emie4tj2
+e1mi
+em4ie
+e5m2ok
+e1mo
+e2m3o1li
+e2m3op
+em3or1g
+emor5st4en
+emor4s4t
+emo4rs
+emor3s1te
+e4mo4v2
+em3sa
+e2ms
+em5s2c
+em4s1li
+em1s2l4
+em4s2m
+em1s4t
+em3su
+e2m3u4it
+e1mu
+emu2i
+e5mut4
+e2n3aap
+e1na
+ena4a4
+e3naar
+e4n3aas
+e2n1ac
+e5n4a4c1c
+e4n5af
+e2n1ak
+e2nal
+en3a4l.
+en3a4ls
+e4n3a4m1b
+e3nam
+en4a1me
+e2nan
+e4n3a2ng
+e2n1a2p
+e5na1ri
+e4n3a4r2s
+e2n3a2s2
+ena1s3p
+e3na1t
+ena4t4el
+ena1te
+e4n3a4t3t
+e2n1a3v2
+e2n3a2z
+en3ci4
+e2n1c
+3ency.
+en1cy
+en3da
+e4nd
+en5da4a4
+end5a1m4a
+end4am
+5ender5t4i
+en3de
+ende4rt
+en3d4o
+en3dr4
+en5d4rek
+en2d1re
+e2n3e2c
+e1ne
+ene1de4
+ene1d
+e3ne4e4
+e4n3ee1d
+enee5t
+en5e4g.
+en4e3g2
+en5e4g3g4
+en3e2la
+e4n3elf
+en3e1ma
+e3nem
+e4n3e2n5t
+ene2n
+e2ne2p
+en3e1po
+e5n2e5re
+5e2ner1g
+e4ner1v2
+en3e1ta
+en3e3te
+ene4t4en
+e3ne2u
+4e2n3f
+en5ga
+e2ng
+en3g4l4
+en4g5le
+en3g4r4
+en5g4ri
+en4g2s4
+eng5se4
+eng3s1m
+e3n4ie
+e1ni
+e5n4ijd
+eni2j
+e2n3im
+e4nin2ga4
+eni2ng
+e4n3i4n1k
+e3ni1v2
+e4n3i4vo
+en3k2a
+e4n1k
+e4n3och
+e1noc
+en3o4f1f
+e4n3o2li
+e2n1on
+e4n3oor
+eno4o2
+e3noo4t5
+e2n1o2p
+e3no4r.
+e2n3o2r1d
+e1n2o3s
+en3ou
+e2n1o3v2
+3en1q
+en5s1ce
+e2ns
+en1sc
+en4se2i
+en3se
+ens5ein
+ensek5
+3ens4em
+ens4fe
+en2s1f
+en4sin
+en3si
+en5slak
+en1s2l4
+en4s3on
+en1so
+en1s2p
+en4s5pot
+ens1p4o
+en5stan
+ens4t
+en1sta
+en5st4en
+en3s1te
+en4st5ij3v2
+en1s3ti
+ensti2j
+en4stin
+en4stu4r
+en1stu
+en3su
+en4tac
+e2nt
+en3ta
+en5te4e2
+en3te
+en5t3e2i
+ente5re
+ent2er
+en4ter1v2
+3en3tè3
+en1t2h
+en5tom
+en3to
+en1t4r4
+en3tre
+ent5rol
+ent4s2l4
+en4ts
+ents3m
+ent4s3p
+en4t1w
+e1nu
+e4n1u2i
+e2nu2n
+e2n3u4r
+e4n3u4u4
+5env4e1lo
+e2n1v2
+env4e
+en5vel
+e1ny4
+e3o
+eo3d
+eo1do3
+e5o4e
+eoes3
+e5o4f1f
+eo3f1r4
+e4o3k4
+e5on
+eo5ni
+e5o4o2
+e2o3pa
+eo3pe
+eo3p3l2
+eop4la
+eo3p2r4
+e5o4ps
+eo2r5d
+e5or1g
+e5o1ri
+eo3ro
+e2o3s4
+eo5s3t
+e4ot
+eo5te
+e5o3t4h
+e1pa
+e3pa4a4
+ep3aak
+ep3ac
+e4paf
+e3pa4k
+e4p5a1ke
+e3pal
+e3pap
+e4p3a4p3p
+e3par
+ep3as1p
+e1pa4s3
+e1pe
+e5p4e.
+e4p5ee2n
+ep4e4e4
+e5per
+eper4s5t4e.
+e3pe4rs
+eper1s4t
+eper3s1te
+e1pi
+3e2pid
+ep3i2js
+epi2j
+e2p3ij1z
+ep5in4gr4
+e3p4i2ng
+e2p3i2ns
+epi4t4s
+ep4it
+epit3s5te
+epits2t
+ep1j
+e1p2l2
+ep3le1d
+e4p3lod
+e5plo4e
+ep3lus
+e1po
+e4p5o4ge
+epoor4t5j2
+epo4o2
+ep4oo4rt
+epoo4t4j2
+epoo4t3
+3e4po4s.
+e1p2os
+e3pot
+epou4
+e1pr4
+ep4ra
+e3pri
+ep5ro1de
+e1p2rod
+eprot4
+e2p2s
+ep4s5e4e
+e4p3se
+ep4ser
+ep1s3l4
+eps5n4
+ep1s3p
+eps3ta
+ep1s4t
+eps5ta4a4
+eps5t2al
+eps5to
+ep1s4tr4
+eps5tro
+ep4tak
+e4p1t
+ep2t3j2
+ep4tr4
+ept3ra
+ep5tro
+ep3u4it
+e1p2u
+epu2i
+4equ1a
+e1q
+equ4
+e3r4a.
+e1r2a4a4
+e5r4aad
+e4raa4k.
+e2r3aan
+er5aa2n1p
+e4ra4a4p.
+e5raa1t
+e4r1ac
+e5r4a4c.
+e5r4a3ce
+e5r2a3co
+e3rad
+e5r4a4d.
+er3a1do
+er3af
+e3r4a4f1f
+era4gen
+era1ge
+e1rai
+e4r3a2l1l
+er3a1ma
+e4r3a1na
+e5r4an1da
+era4nd
+e5ra1ne
+e5r2a3p2l2
+er3ar1c
+e3r4a5re
+e3ra1ri
+e1ra1t4
+er3a4tr4
+er3az2i
+era1z
+er3d2a
+e2r1d
+er3d4i
+er3d4o
+er3d2r4
+er4d5ui4t.
+er3du
+er2du4it
+erdu2i
+er3d4w
+e1re
+e4r5e5a1t
+er4ea
+4erec
+e4r5e4di3t2i
+ere1d
+ere1di
+ered4it
+e2r3ee2n
+ere4e
+e5ree2p
+e4r5ee4rs
+eree2r
+er3ee2t
+er4ef
+e2r5e4f1f
+e4r5e4g.
+e1r4e1g
+e4r3e4gd
+e4r5e4g3g4
+e4r5e4gt
+e4r3e4i1e
+ere2i
+er3eig
+e4r3eil
+e4r5ei4nd
+ere3k3l4
+er3el5k
+e4r3e2m1m
+e2r3e2m1p
+e3r4e4nd
+e5rendel
+eren3de
+ere4ne
+eren5e3g2
+er5e5n4e4n.
+erene2n
+e3re2n3m4
+e3re2nt
+er5en1t2h
+e5r4en3to
+er3en5t1w
+ere3o
+ere4og
+er3e1pi
+e4r3e2q
+er3e3ri
+e3re4s.
+er3e2s1k2
+e3re4s3s4
+ere4s3t
+ere4t3j2
+e2r3e4t3n
+e4r3e4ts
+e4r5ex
+erg2l4
+er1g
+e3ri
+eri5a1b
+eri1a
+e5r4if
+e5r4ig
+eri1g5a
+er4ijl
+eri2j
+er3i2js
+e4rij4s.
+e4r3ij3v2
+e4r3ij1z
+e5r4ik
+e4r5i4nd
+e4r3i1ni
+e4r5in4kt
+eri4n1k
+e4r3i2ns
+e4r3i2nt
+e5r4i1o
+e5r4is
+erkee4r4s5
+er1ke
+erkee4r
+erke4e
+er3k2n4
+er3m4i
+er1m
+er5mo
+er5nu
+e2r1n
+e1r4o.
+e3r2o3b
+er4oc
+e4r3oe1d
+ero4e
+e4r3oef
+e5r2oep
+eroe5t4j2
+e4r3oe1v2
+er3of
+ero2g
+e3r2ok
+e1ro2l
+e5r4o4l.
+e2r3o1li
+e5ro2l1l
+er3om
+er1on
+e3r2o4n.
+e3r2o1ne
+e4r3o2n1v2
+e2r3oo4g
+ero4o2
+e2r3oor
+e5ro2o4s
+e4r3op
+er2o3p3a
+ero5pen
+ero1pe
+e2r3or
+er1o3v2
+e4r3oxi
+ero4x
+e3ro1z
+e3rö
+er4plu
+er1p
+erp2l2
+errie5tj2
+e2r5r
+errie4t
+err4ie
+er3s2c4r2
+e4rs
+er1sc
+er4sj4
+er5s4lag
+er1s2l4
+er5s4pan
+er1sp
+ersp4a
+ers4pot
+ersp4o
+er5st4em
+er1s4t
+er3s1te
+er5te
+e4rt
+er3t2h
+er5t4i
+er5t4o
+er3tr4
+ert5se
+er4ts
+ert2s5l4
+er3t4u
+er4t4w
+e1ru
+e3r2u2b
+e3ru2g5
+e2ru2i
+er3u4it
+erui5t4j2
+e2run
+e3ru2ns
+e4r3u4r
+e3r2u4s
+e4r5u4u4
+3ervar
+er1v2
+3er2wt
+er1w
+e4s1af
+e4s3a2g
+e3sam
+e5san
+es3a2p
+es3a2r5r
+e3sa3s
+e3s2co1p2
+e1sc
+e2s1co
+e3s2c4r2
+e3s4e
+e5sec
+e4s5ee2n
+es4e4e
+e5s2el
+es5e1ne
+es4en
+e4s5e2ng
+e4s5ex
+es2fe
+e2s1f
+e4s5h4e
+es1h
+e4shi
+e3sid
+e1si
+e3s4ie
+es1in
+e4sir
+e2s5j4e.
+esj2
+es1je
+es5je4s3
+e3s4jo
+e4s5j4on
+e4s3ka
+e2s1k2
+es5kr4
+e3s2l4
+es4la
+e5s4l4a.
+e5s4lag
+es3lak
+e2s5la1t
+es4le
+e4s5l4e1g
+es2m
+es4mu2i
+es1mu
+e5smui4l.
+e1s2n4
+e3s4ne
+e1so
+e3s2ol
+e3s4o4o2
+e4s5oo4r.
+e2s1o4p
+es3o1re
+e1sp
+e2s5pa4s5
+esp4a
+es4p4el
+espit5s4te
+esp4it
+espi4ts
+espits2t
+e3s1p4l2
+e4spr4ie
+espr4
+esp5riem
+es4s1m
+e4s3s4
+e3s4tak
+es2t
+e3s4t2al
+e3s4tap
+es4tar
+es5tat4ie
+esta1t
+esta3ti
+e4s3t4e.
+es1te
+e4s4t4ea
+es4tee2l
+este4e2
+est5e4i.
+este2i
+e4ste1ka
+es5te5kam
+e3s4t4em
+e4s5te1mo
+es3t4en
+e4ste4n.
+es5te2n1b
+es3t2er
+estere5o
+este1re
+e4s5te4s
+es4tet
+e3steu
+es4t4ic
+es3ti
+e4st4ie
+e3stot
+e4s5tr4a.
+e1s4tr4
+es5t2rac
+es5trak
+e5stral
+est5rap
+e4s5tre2i
+est4sc
+e4s4t1s4
+es4tur
+e1stu
+e3s4ty1
+e3su
+esu4r
+e3s4y
+e1ta
+e3t4a.
+et3aan
+eta4a4
+e2t3ac
+e4t3ad
+e4t3a2f1z
+3e2tag
+e3tak
+e5ta4k.
+e4t4a2na
+e5ta4nd
+e2tap
+e4ta4p3p
+e5ta1t
+e4tau
+e2ta1v2
+e3te
+e5t4ea
+et3e1di
+ete1d
+e5tek
+4et4el
+e5te4l.
+e4t5el3f
+e5te4ls4
+e2t5e4m1b
+et4em
+e4t5e2m1m
+eten3s5u4
+et4en
+ete2ns
+eten5tj2
+e3te2nt
+ete5r4a
+et2er
+ete3ro
+eters5la
+ete4rs
+eter1s2l4
+eter5s4m
+e5tes
+e1th
+e2t3ha
+et3hor
+e2t5hu
+e4t5i4d4
+e3ti
+e5t4ie
+e4t3i2n1c
+e4ti1q
+e5t4is
+e4t1ja
+e1tj2
+e1to
+e5toc
+e3t4o4e
+e5toe1v2
+e3t2ol
+eto4p
+et3ope
+et3op3l2
+e4t3or3k
+eto3s3f
+e3t2os4
+e1tr4
+e2t3rec
+e4t5res
+e3tro4e
+e5tron
+e5tro4o2
+et4r2os4
+e4t3ru
+et4s2l4
+e4ts
+et3s5lap
+et5s4lu
+ets3n4
+et4s3o4o2
+et3spe
+ets3pr4
+et3s2p4u
+et4s1te
+ets2t
+ets5tek
+et5st4en
+et5s4ti
+et4s4u4
+et5s3u5r
+et5s3u4u4
+e1tu
+etui5t4j2
+e2tu4it
+etu2i
+etu4r
+et3we
+e4t1w
+et2wi
+1eu1a4
+1e4uc
+eud4i5o
+eu1d
+eu1di
+eu5d1r4
+eu3e
+eug4d3r4
+eu4gd
+eu3g2r4
+eu4ler
+eu1le
+eu4li
+e1um
+e3u4m.
+e2u2m1d
+eu2na
+eu2n3t
+1eu1o
+eu2po
+e4up
+eu4rad
+eu1ra
+eu4rec
+eu1r2e
+eu3re4n
+eu4res
+eu4ri2j
+eu1ri
+e4ur5k
+euro5v2
+eu1ro
+eur4sta
+eu4rs
+eur1s4t
+eurs5ta4a4
+eur4s5t4e.
+eur3s1te
+eur4s5tr4
+eur4su
+eu5s4ch2
+eu4sc
+eu2s4p
+eu3sp4a
+eu4s2t
+eu5s4tr4
+eu3tj2
+eu1tr4
+e3u4u4
+2euw
+eu4w1a
+eu5win
+eu1wi
+euw4s4tr4
+eu2ws
+euw1s4t
+eva4ar5tj2
+e1v2
+eva4a4
+evaa4rt
+eva4l4s
+eva1ri5
+ev4e4lo
+ev4e
+e5vel
+evel5op
+eve5n4a4a4
+eve4na
+4eve2r
+eve3r1a
+4e1w
+e5wa
+e5we
+ewe2n4s
+ewe2n
+ewens5t4e.
+ewens4t
+ewen3s1te
+ewe1s4t5r4
+ewe2s3
+ewes2t
+ew2h
+e5wi
+ewo3v2
+4ex.
+2ex3a4a4
+ex3af4
+4ex1co
+ex1c
+3ex4e1g
+ex4e
+3exem
+4exi
+ex3in
+ex5op
+1ex1p
+e3y4o
+eys4
+ey3s2t
+e5za
+e1z
+e3ze4e
+ez4e
+4e3zen
+eze4r2s5
+e3zo
+e2z3z4
+é3a
+é1d
+éde4e4
+é1de
+é1di3
+é1g
+é3ge4e5
+é1ge
+é3h
+é3j
+é3n
+é3p
+é3r
+é1t
+è1
+4èc
+è2l
+è2s
+è5t
+èta5
+ê1
+ê2p
+ê3per
+ê5t
+3ë
+4ë.
+ë2b
+ë3c
+ë3d
+ëe2
+ëen3
+ë3j
+ë1l
+5ën
+ën3ce3
+ë2n1c
+ë1n4e
+ë2ns2
+ën5sc
+ë2nt2
+ën5th
+ën5t1w
+ë3p
+ë1ra
+ë1re
+ë1ri
+ë1ro
+ëro1g2
+ër2o3s
+ë2s
+ë3si
+ës3t
+ë1t
+ë4t4s
+ët3s3te
+ëts2t
+ëv4e5
+ë1v2
+ëven4
+4ëzu
+ë1z
+4f.
+1fa
+f3aa2n1b
+fa4a4
+f4aa1t
+3fa1b
+fa2b4o
+f3a4c1c
+f4a1ce4
+f1ach
+2fad
+2f1af
+fa3g
+fa4l3s
+fa3m
+f3a2ng
+fa2nt2
+fan4t3j2
+fan4t4s5
+2f3a2p
+f4ar1m
+3f2a5se
+fa2to
+fa1t
+fa3v2
+4f1b
+fbe5d2w
+f3b4e
+fbe1d
+f1c
+4fd
+f3da
+f3da4g
+f5dan
+fd1ar
+f5de4k
+f1de
+fde1k3l4
+fde4s3
+fde3s5e
+fde3s5l4
+fde5s3m
+fde3s5t
+f2d3in
+f1di
+fd3of
+f1do
+fdor3s5te
+fdo4rs
+fdor1s4t
+f3d4ra
+f1dr4
+f3d4ru
+fd5se2
+f2ds
+fd3s1i2
+fd3s1o4
+fd3sp
+f4d2w
+f4d3wo
+1fe
+f4e2a
+fec4tr4
+f4e2c1t
+fe1de3
+fe1d
+fe4del
+f3ee2n
+fe4e
+5fee2s3
+fee1s4t5r4
+fees2t
+fel5dr4
+fe4ld
+fe4l3e4e4
+fe1le
+3f2e1li
+fe4lom
+f4e1lo
+fe4l3op
+fel3sp
+fe4ls
+fe3no
+f4er
+fe3ra1b
+fe3ran
+fe4r3et
+fe1re
+fe3r3om
+fe3r1on
+3fes3
+fe4t3j2
+fetu5r
+fe1tu
+2f3ex
+1fé
+3fè1
+3fê1
+4f1f
+f5fe
+f5fi
+f4f1s2
+ff3s1h
+ff3si
+f3fu
+f3g2
+f1ge3
+fge5r4
+fge5t
+4f5h
+1fi
+fi5ac
+fi1a
+fi4al
+fi3am
+fi3a5pa
+fi2a1p4
+fi3apo
+fia4s
+3fi1b
+fi1ch
+f4ic
+5f4ie
+5fig
+f3i2js
+fi2j
+2f1ij1z
+fik4s4t
+f4ik
+fi2ks
+3f2il
+fil4m3a
+fi2l2m
+film5on
+fil4mo
+fi3lo
+4fi4nd
+3fi1ni
+f3in1j4
+4fi4n1k
+2fi2n3r
+f4i3o
+fi4r
+f4i4s
+fi5se
+f5iso
+f1j
+fje4s5
+4f1k4
+f3ke
+f2l2
+4f3la4a4
+f2laf
+f4lam
+f3le2i
+flen4s4t
+fle2ns
+flens5t4e.
+flen3s1te
+f4le2s
+fle2t
+fle1t3j2
+4fle1v2
+f4lex
+f3le1z
+2fl4ie
+f1li
+2fli2j
+f4l4ik
+f4lip
+f4l4it
+f3l2ok
+3f4lor
+flu4t3
+4f1m
+f1n
+1fo
+3f2o3b
+5foc
+foe5d
+fo4e
+foe5ta
+2f3of
+5f2ok
+2fo2ms
+fo5na
+fond5en
+fo4nd
+fon3de
+fonds5l4
+fon2ds
+fon5e2ng
+fo1ne
+fone2n
+fo1no
+4fo2nt
+fon5te
+fo4o4
+fo4oi5
+f3oom
+5f4oon
+2fo4p
+fo4p5s4
+f4or
+3fo5re
+fo5ri
+5for1m
+for4t3j2
+fo4rt
+fo1r1u
+fo3t
+2f3ou1d
+4f1o2v2
+3fö
+4f5p4
+fper4s5t4e.
+f3pe4rs
+fper1s4t
+fper3s1te
+fpit4s5t4e.
+fp4it
+fpit3s4te
+fpi4ts
+fpits2t
+fr4
+f4raa4k.
+fr2a4a4
+fraam5
+5f2rac
+f3rad
+f2ras
+5f2rau
+f1rec
+f3rek
+5f4re1q
+frie4s
+fr4ie
+frie4t
+frie3t5j2
+f4r4ik
+f4rod
+4f3rol
+f4ro3lo
+f3r4o5ma
+fr2u4s3
+4f1s
+f2sa4
+fs3ad
+fs3an
+fs3ar
+f3sc
+f5s4ch2
+f4s1c4r2
+f3se2
+f4s3ec
+f4s5e4e
+f4se2i
+f4s3e1th
+fse4t
+fs4fe
+f2s1f
+f2s1h
+f4s5h4e
+f2si
+f3s4ie
+fs3im
+fs1in
+f5sla4a4
+fs2l4
+f5s4lac
+f5s4lag
+f3s3lap
+fs2m
+fs3ma
+fs4mi
+fs3mo
+fs3mu
+f2s1o4
+fs3o3b
+fs3om
+f3s4o4o2
+fs2p
+fs4pre
+fspr4
+fs4t
+f2s3t3as
+f3s1te
+f4s5tec
+f5ste2l1l
+fst4el
+fst4e4m3
+f4ste2r5r
+fst2er
+f3s3ti
+f5st4if
+f3sto
+f4s3t3oc
+f4ston
+f3s4tr4
+f3stu
+f3s4y
+4ft
+f1ta
+f2t1ac
+ft4a4k3l4
+fta4p
+ft3a4rt
+fter5s1h
+f1te
+ft2er
+fte4rs
+ft3h
+f1to
+f5to4nd
+f4to2nt
+f1tr4
+ft2s3l4
+f4ts
+ft4s1m
+fts3n4
+ft4so
+fts3p
+f1tu
+ftu4r
+1fu
+2fu4it
+fu2i
+fu4ma
+fum3ac
+3f2un
+fu1r4o
+3fus
+2fu4u4
+4f1v2
+fva2
+fval3
+4f1w4
+3fy1
+2f1z
+fzet5
+fz4e
+4g.
+1ga
+3g4a.
+ga4ar5tj2
+ga4a4
+gaa4rt
+g4aa1t
+2g1ac
+4g3a2d1m
+g4a4f.
+g3a4fd
+ga3f1r4
+4g3a4f3s4
+4g3a4f1w4
+2g3a4h
+4ga4l.
+ga3la
+ga4l3ap
+ga5ler
+ga1le
+ga4l3s
+4ga4m1b
+g4a3m4i
+3gan
+ga4n5d
+5ga1ne
+gan4s5t
+g4a2ns
+g2a3p2l2
+3g4a4r.
+4g3ar1b
+ga3re
+g1ar1m
+3ga4r2s
+2g3a4rt
+g4ar5tj2
+ga4s
+ga2s5c
+ga1s3i
+ga5s4l4a.
+gas3l4
+ga3s1li
+ga5slo
+g4as3o
+gas3p
+g4a1s4tr4
+ga2s2t
+gas5tra
+gast5rol
+3ga1t
+ga2t5j2
+ga4t3s
+4gau3t4
+ga5v4e
+ga1v2
+g1a2vo
+2g5b
+2g1c
+4gd
+g5dac
+g1da
+g5dag
+gd3a4rt
+g3d4a1t
+gd5a1te
+g3de
+g4d3elf
+g5de4r.
+gd3er1v2
+g4d3id
+g1di
+gd3im
+g2din
+g3dr4
+g5dru
+gd3s1a2
+g2ds
+gd5sp
+g3du
+1ge
+3g4e.
+g4e3a
+gea3dr4
+ge1ad
+gea5na
+ge3an
+ge3a3q
+ge4a1ri
+ge1ar
+ge5au
+4g3e4b.
+ge1b
+2ge4b1b
+ge3c
+ge3d4
+gedi3a
+ge1di
+ge4d4it
+ge5d2r4
+ge5d2w
+3ge4e4
+gee1s4t5r4
+gee2s3
+gees2t
+gee1t3a
+gee2t
+ge3f4
+2g3e4f1f
+g4e5g4
+ge3ge4s4
+ge1ge
+4geig
+ge2i
+2g3e4ik
+gei4l5a
+5g4e4it2
+gei4t3j2
+ge3k4a
+ge3ke
+ge5ki
+ge5k4l4
+ge3kr4
+gek4s4t
+ge2ks
+ge1k4u4
+ge3k4w
+ge3l1au
+ge1la
+gel4d3a4
+ge4ld
+ge3l4e
+4g3e4lem
+gel5f
+gel5k
+5g4e3l4o
+gel5si
+ge4ls
+gel3s2l4
+gel3sp
+gel5s1te
+gel1s2t
+g2e5ma
+4ge4m1b
+4g3e2m1f
+ge5mo
+2g3e2m1p
+ge2ms3
+ge3m4u
+g4e4n.
+ge3n1ak
+ge1na
+ge2n4a2z
+3ge3ne
+ge4n3e1d
+ge4ne4nd
+gene2n
+4g3en4gt
+ge2ng
+3ge1ni
+ge4n5k
+ge1no
+ge4n4of
+ge4nog
+gen5s4fe
+ge2ns
+gen2s1f
+gen5ston
+gens4t
+gen1sto
+gen5stu
+gen4stu5r
+5ge2n1w
+ge5om
+ge3o
+geo5pe
+geor5k4e5
+ge5o3s4
+ge5ot
+ge5p4
+ge1ra
+ger5aal
+ge1r2a4a4
+ge4r5a4a4p.
+ge4r3a4l
+gera4p
+ger5a1pe
+ger5a4s.
+ge5r4e1g
+ge1re
+ge3rem
+ge5r4e4n.
+ge3r4i
+ge4r5i1ni
+ge1r2o
+ger4of
+ge5ro2l
+ger5sl4an
+ge4rs
+ger1s2l4
+ger4s1li
+gers5li2j
+ger4sp
+4g3er4ts
+ge4rt
+ge3r4u
+3ge1s4
+ge3sa
+ge3sc
+ge5s4e
+ge3si
+4ge3s1k2
+ge5s2l4
+ge3s2n4
+ge3so
+ge5spe4nd
+ge1sp
+ge4s3pen
+ge5sper
+ge5sp4o
+ge5stan
+ges2t
+ge4s5t4e.
+ges1te
+ge4s5te4n.
+ges3t4en
+ge3s4tr4
+ge5s1w
+ge3ta
+get4a4a4
+ge5tam
+ge2th
+ge5t4i
+ge3t4j2
+ge1t4o
+ge3tr4
+ge5tra
+ge5tro
+ge5t3ru
+ge5ts2j2
+ge4ts
+ge5tu
+ge5t4w
+ge3u2i
+5g4e1v2
+4gex
+5g4e1z
+1gé
+gé1di4
+gé1d
+3gè1
+4g1f
+gfijn5s1te
+g1fi
+gfi2j
+gf4ijn
+gfijn1s4t
+gfij2ns
+4g3g4
+g5ge
+gge3la
+gge4r5on
+gge1r2o
+gges5ti
+g3ge1s4
+gges2t
+g4g5h
+g5gi
+ggin4g2s5
+g5gi2ng
+g5gl4
+2g1h
+g2het
+gh4e
+g2ht4
+gh5te
+g2hum
+1gi
+gid3s5te
+gi2d2s1
+gids2t4
+gie5ra
+g4ie
+gie4r4s
+gi1e2u
+g4i2f
+gif5r4
+gi3g4a
+5gige1re
+gi3ge
+5gig1s1te
+gi4gs4
+gigs2t
+2gi2j
+g3i2js
+4gij1z
+gi2m
+gi3na
+4g3i2n1b
+4g3i2n3f
+g5in1fe
+g5infr4
+5gi2ng
+2g3i4n3h
+gi1n3o
+2gi2n3r
+gi4o1c
+g4i1o
+gi2od
+gi4onet
+gi3on
+gio1ne
+gi2or
+gip4s4t
+gi4ps
+5gir
+3g4is
+4g1j
+4g1k
+gl4
+g5la1b
+3glai
+1gla4s
+gl2a3s3e4
+g5la1t
+3g4l4a1z
+3gl4e.
+g5lee2r
+gle4e4
+glee5t
+g3len
+2g5lep
+4g5ler
+g3le2s
+3gle4t
+gle1t3j2
+g5le1v2
+g5li3ce
+g1li
+gl4ic
+g5lich
+3gli3ë
+g2l4if
+g5li2j2s
+gli2j
+g2lim
+3g4l4i1o
+g2l2o3b
+3glof
+g5log4
+3glom
+4g3lon
+g3l4oon
+glo4o2
+g3lop
+3g2l2os
+g5lo5z
+3g2ly
+4g1m
+gmaa2t5j2
+g1ma
+gma4a4
+gmaa1t
+2g1n
+g3na
+g1n4e
+gn4e5g2
+g3ne5m
+gne4t3j2
+gnie4tj2
+g1ni
+gn4ie
+4gnu
+1go
+3g4o.
+3g4o2a
+3g2o3b
+2goc
+g1och
+go4d3a
+go2d4s3
+gods5t4
+4goef
+go4e
+g4oe1r
+2gof
+go3f2r4
+g4og
+4g2o1h
+g2o2k
+5go4m.
+g4o2ma
+g3o2m3l
+4g3o2m1z
+go4n3a1z
+go1na
+2g3o2ng
+go5no
+2g1o2nt
+g2o4o2
+2g3oor
+3goo4t
+2g1op
+g2o3pa
+g4op1r4
+g4o1ra
+4go4re
+go5r4e.
+5g4o1ri
+go4r2s
+g2os1
+g2o3tr4
+gou4d5e4e
+gou1d
+gou1de
+2g3o2v2
+2g5p
+g3pes3
+1gr4
+3gra
+5gr4a.
+graa2t5j2
+gr2a4a4
+graa1t
+g5rak
+gra2m
+g4r4a4m.
+gra1m3a
+g3r2a2m1p
+gra4s3
+5gra1v2
+2g3rec
+2g3re1d
+5gre1di
+g5re1du
+g3ree4k
+gre4e
+g3ree2l
+g4ree2p
+g3re4is
+gre2i
+4g3rek
+2g3rem
+gre2n4s
+gre4s
+g4re2u
+g3re1v2
+5gri1a
+grie4t5j2
+gr4ie
+g5r4ijd
+gri2j
+g5ri2jk
+g5rijm
+g5r4i2ng
+5g4r4is
+gri4t5s
+gr4it
+2g3ri1v2
+groe2t5j2
+gro4e
+grof5
+g3r2ok
+g3ro2ok
+gro4o2
+g3room
+groo4t5j2
+groo4t
+2grou
+gro5v2
+2g3ru2g
+g3r4uim
+gru2i
+g3r4up
+4gs
+gs1a2
+gsa4g
+gs5alar
+gs2al
+g3sa3la
+gs3a4l1t
+g2sc
+g3se4
+gs3e1co
+g4s3e1d
+g4s5ee2n
+gs4e4e
+gs3e2i
+gs4en
+gs5e1ne
+gs3er1v2
+gs3e4t
+gs3e1v2
+g4s5h4e
+gs1h
+g2s1i2
+g3s4ie
+gs5i4s
+gs1j2
+g3s4k4e.
+g2s1k2
+gs1ke
+gs3l4
+gs4la
+gs5l4aag
+gsla4a4
+gs5lam
+g4s5las
+gs1le
+g3s4lep
+g4s4leu
+g2s5l4ie
+gs1li
+gs4lin
+g5sli2ng
+gs4lo
+g4s5log4
+gs5l2ok
+gs5lon
+gs4lu
+g4s5ma
+gs1m
+gs3n4
+g4s1na
+g3s4ni2j
+gs1ni
+g4s1o4
+g5s2ol
+g5s4o4m.
+gs2om
+gs5o2ns
+g2s3op
+gs3p
+gs5pa4nd
+gsp4a
+gs4pan
+g3spec
+g3s4p4el
+g3s4pet
+gs4pi
+g3s4p4ie
+g3spil
+g5spi4n.
+g5spin3n
+gs5pir
+g4s5pol
+gsp4o
+g3s4pon
+g4s5ps
+gs5q
+gs5sc
+g4s3s4
+gst2a
+gs2t
+gs5t4aal
+gsta4a4
+g4st5aa2n5g
+g2s5t1ac
+g5s4tad
+g5s4tan
+g4s4t3ap
+g5sta1t
+g1s1te
+g5s4t4e.
+g5s4te1d
+g5ste4e2
+g3ste2i
+gs3tek
+g5st4el
+g3st4en
+g3st2er
+g5ste4r.
+gs5te2r5r
+g5ste4rs
+g4s3th
+g5s4t4ic
+gs3ti
+g3s4tig
+g3s5tij1g
+gsti2j
+g5s4to2f
+g5s4top
+g5stor
+gs4t3o4v2
+g4s3tra
+g1s4tr4
+g4s5t4rad
+gs5trak
+gst5ram
+gs5trap
+g5stra1t
+gst5res
+g4s5tro4e
+gs5tron
+g4stru
+g5str4uc
+g3stu
+g2s5ty1
+g2s1u4
+gsve4r3
+g4s5v2
+gsv4e
+g4s5w
+g5s4y
+4gt
+g1ta
+g2t3ap
+g3te
+gte3ro
+gt2er
+g3tes4
+gte3s2t
+g1to
+g3tr4
+g1tu
+1gu
+5gu.
+3gue
+gu4eu
+2gu4it
+gu2i
+gu4ni
+gu2s3
+gut4s2t
+gu4ts
+gut4s5t4e.
+gut3s1te
+4g1v2
+g5vo
+4g1w
+g5wa
+1gy
+4gy1p
+2g1z
+4h.
+haam4s5ta
+ha4a4
+haa2ms
+haams4t
+haar5s3l4
+haa4r2s
+haar5sp
+haar3s5te
+haar1s4t
+ha4ar5tj2
+haa4rt
+haat4s5t4e.
+haa1t
+haat2s2t
+haa4ts
+haat3s1te
+h3a4fd
+haf4t3u
+ha4ft
+ha3g
+ha5ge
+hal2f1
+5ha4ls
+hal4sto
+hal1s2t
+5ha4l1z
+2ha2m1p
+4ha4n.
+han4dr4
+ha4nd
+hand5s4l4
+han2ds
+han3ga
+ha2ng
+hang5l4
+han4g5s
+han4s3l4
+h4a2ns
+han3so4
+han4s4t
+ha2p2s
+ha4p4se
+har4ta
+ha4rt
+hart4e5l
+h4ar1te
+h4ar4t3j2
+h4ar4t3o4
+har5tre
+har2t3r4
+hart5s3l4
+har4ts
+ha2t5j2
+ha1t
+ha2t3r4
+ha4t3s
+ha3v2
+4ha3v4e.
+hav4e
+4h1b
+2hd
+h4e
+2h4ea
+he2ar
+3hech
+he3co
+4he4e.
+he4e
+he4e3g4
+hee4k
+hee3k3a
+hee3k5l4
+he4e4l3o
+hee2l
+hee2p4s
+heep1s5c
+heers5tak
+hee2r
+hee4rs
+heer1s4t
+hee5sto
+hee2s3
+hees2t
+hee5tje4s3
+hee2t
+hee3tj2
+he2f
+he4i
+heids5p
+h4eid
+hei2d2s1
+he4is4
+hei5tj2
+h4e4it2
+he2k3a
+he2k2l4
+hek4s4t
+he2ks
+heks5t4e.
+hek1s1te
+hek5st4en
+hek3w
+he3le
+he4l3e4e4
+h2e3li
+hel4m3a
+he2lm
+h4e1lo4
+hel4p3a
+he4lp
+hel3s1m
+he4ls
+he5mo
+he5ne
+hen4kr4
+he4n1k
+he3n4o
+4he5o
+he4pi2j
+he1pi
+he2p3l2
+he2pr4
+he1ra
+he1r4a4a4
+he4r3ad
+he3r4au
+he4r3i
+herm5e2ng
+her1m
+her1me
+her3men
+he3r2os
+her1o5v2
+her4p5a4a4
+her1p
+her3pa
+3her1s4t
+he4rs
+he4rt4
+hert3s5te
+her4ts
+herts2t
+he2ru
+he5s4e
+he2sp
+he2s5t
+hets5t4e.
+het4s1te
+he4ts
+hets2t
+heu5le
+2h3f
+4h5g
+h3h
+hi5d
+hie4f3
+h4ie
+hiels3ge1s5
+hie4ls
+hiel4s5g
+hiels1ge
+hie4r3
+hie5ren
+hie1re
+hie3r5u
+hie4t5o4
+hie4tr4
+hie4t5s
+hij4s2l4
+hi2j
+hi2js
+hi2k4s5
+h4ik
+hi3k1w
+hi2l3m
+him4p2l2
+hi2m1p
+him4p2r4
+hi4n5d
+h3i2ns
+hin4t3j2
+hi2nt
+hi2p5l2
+2hir2
+his5p
+h4is
+hi3tr4
+h4it
+hit4s2t
+hi4ts
+hit4s5t4e.
+hit3s4te
+hit5st4en
+h3j
+2hl
+h3la
+h4lag
+h3lep
+h3loc
+2h2m
+h3ma
+h3me
+h4mer
+h1n
+h2na
+hno3
+2h4o.
+h4o3a
+ho1a3n
+hoboo4t4
+h2o3b
+hob4o
+hobo4o2
+ho3ch
+hoe4ker
+ho4e
+hoe1ke
+hoe4s
+hoe3s5l4
+hoe3t
+ho2f
+ho4f5d
+ho1f3e
+ho3g2
+ho2ka
+h2ok
+h4o5mo
+hon3dr4
+ho4nd
+hon2d4s
+ho2n3g
+ho1ni4
+ho1no
+hoo1l3e2
+ho4o2
+hoo4l
+4hoom
+h4oo4rt4
+hoor5tr4
+2hoo4t
+h2o3pa
+ho1pe
+ho2p3o
+hop3r4
+hop4s4tr4
+ho4ps
+hop1s4t
+hor5de
+ho2r1d
+5hor3l
+ho3ro
+hor4s4t
+ho4rs
+hor4s5t4e.
+hor3s1te
+hor5st4en
+hor4t3j2
+ho4rt
+ho3r1u
+ho3sa
+h2os
+ho4t3j2
+h2o3tr4
+ho4t3re
+hot4s2t
+ho4ts
+hot4s5t4e.
+hot3s1te
+ho3v2
+2h4o4w
+ho3w3o
+2h1p
+hpi4
+2hr
+hra4b
+h4re
+h5r4ea
+hri4
+hr2o2k
+hro1k3o
+hroo4t3
+hro4o2
+4hs
+h3sa
+h3sp
+h3s2t
+2ht
+h4t1a2
+h2t3ac
+h3t2al
+ht3a1la
+h5t4a2ns
+h3t4e.
+h1te
+h4t3ec
+h4t4e1co
+h2t3e4e2
+h2t4ef
+h2t3e2i
+ht5em
+h3t4en
+h4te2n5t
+ht5en4t1w
+hter3a
+ht2er
+hte4r5o
+h4t3e2s1k2
+h3tes
+h4t4e1v2
+ht5ev4e
+h5tevo
+h2t3ex
+h2t5h
+h4t3i2nt
+h3ti
+h2t1j2
+ht1o4
+ht5oef
+ht4o4e
+ht5op
+h4t1r4
+ht5ro4o2
+ht4sa2p
+h4ts
+ht3se4
+ht4ser
+ht2si
+ht4s2l4
+ht5sla
+ht5slot
+ht3s2me
+hts1m
+ht5s4mi2j
+hts1mi
+ht4s3o
+ht3spe
+ht2s3p4l2
+ht3spr4
+hts5t4aal
+ht3sta
+hts2t
+htsta4a4
+ht4s5tak
+ht4s5tek
+ht3s1te
+ht4s4ti
+ht4s5to1re
+ht1sto
+hts5tre4k5k4
+ht1s4tr4
+ht1u2
+h4t3w
+hu4ba
+h2u2b
+3hu4i1z
+hu2i
+hul4der
+hu4ld
+hul1de
+hu4r4t5
+hu2t3j2
+hut4s5t4e.
+hut2s2t
+hu4ts
+hut3s1te
+huu4r5s
+hu4u4
+4h1w
+hy4la
+3hy1p
+hypo3
+4i.
+i1a
+i3a4a4
+i4a1b
+i5a3b2i
+i4ac
+i3a1dy
+i4ae
+i5a4e.
+i2a3f4
+i2a3g2
+i3a2gr4
+i3ai
+i5a4k.
+i3a1ke4
+ia4kem
+i4a3k3l4
+ia3kr4
+i3a4l.
+i4a3la
+i3a1li
+i2am
+i5a4m.
+i3a1m4i
+i3an
+ia1n4o
+i2a3o
+i2a1p4
+ia5pa
+i5a1pi
+ia3sc
+i2a5se
+i4a3so
+ia4s5p4o
+ias1p
+i4a3s3ta
+ia2s2t
+i3a1t
+ia3t2h
+i5atri
+iatr4
+iav4e4
+ia1v2
+i5ble
+i1b
+i3b4l
+iboo4t4
+ib4o
+ibo4o2
+4ic
+i3ce
+5i4ce1pa
+i1cha
+i1ch4e
+ichee4t
+iche4e
+i1chi
+i1cho
+i3c2hr
+ic2k5l4
+ic2os4
+i1co
+ic4t3op
+i2c1t
+ict4s5c
+ic4ts
+i3d4am
+i1da
+idde4r5a4
+i4d3d4
+id1de
+id4e3a
+i1de
+i4de4e.
+ide4e
+ider4sp
+ide4rs
+ider4s4t
+ide2s4
+idi3a
+i1di
+idi5a1b
+i2d4i5o
+id4mak
+i2d1m
+id1ma
+i3d2ok
+i1do
+i2dr4
+id3ran
+i3dra
+id3ru
+i2d2s1
+id4s3a2
+id4ser
+id3se2
+id2s5i2
+id4s5j2
+ids5l4
+id4s1m
+ids5ma
+id5s4me4e
+ids1me
+id4s3o4
+id1s3ta
+ids2t4
+ids5tak
+id4s5tek
+id3s1te
+id4st4em
+id4s4ti
+id1s5tr4
+id3u4r
+i1du
+id3u4u4
+idu3w
+i2d3w
+4ie
+i4e1a2
+ie4d3ac
+ie1d
+ie1da
+ie3de
+ie4dro
+ie3d2r4
+ie4d3w
+i1e4e4
+ie3ë2
+i4e3fi
+ie2f2l2
+ie3fle
+ie3fon
+ie1fo
+ie4fr4
+ie4ga4s4
+i4e1g
+ie1ga
+ie3ge
+ie4g5i2ns
+ie3g4i
+i2ek
+iek3e4v2
+ie1ke
+ie4k2l4
+iek3li
+ie5klu
+ie2k2n4
+iek5o4nd
+ie3ko
+iek4s5n4
+ie2ks
+iek4sp
+ie2ku4
+ie3kwa
+ie5l4an
+ie1la
+ie5lap
+iel5do
+ie4ld
+iel5d4r4
+ie1l4e
+iel5e4i.
+iele2i
+iel5k
+iel3sc
+ie4ls
+i2e3ma
+ie4m3o4v2
+ie1mo
+ien4dr4
+ie4nd
+ien3i2j
+ie1ni
+i3en3n
+i5en3n4e.
+ien5n2e
+ien3s4m
+ie2ns
+ien5s2p
+ien4sta
+iens4t
+ien4st5o
+ien4s4tr4
+ien4st5u4r
+ien1stu
+ie3o4
+i4ep
+ie5pen
+ie1pe
+iepiet5
+ie1pi
+iep4ie
+iep5oo4g
+ie1po
+iepo4o2
+iepou5
+iep5rel
+ie1pr4
+ie3pr2o4s
+ie2p3s4
+iep5s4t
+iep5tr4
+ie4p1t
+ie4pu2i
+ie1p2u
+ie5r4ad
+ier3a4l
+ie3ram
+ie3rap
+ier3as
+ie4ra1t4
+ier5e4l.
+ie1re
+ier5e4ls
+ie5r4e4n.
+ie5r4i2ng
+ie3ri
+ierk4
+ie3r2o
+ie4r3of
+ier4s2l4
+ie4rs
+ier5slu
+ie3ru
+ie2r4u2i
+ie3s1f
+ie2si
+ie4s2l4
+ie5s4le
+ies3li
+ies3m
+ie2s3n4
+ie2so4
+ie4s3p4l2
+ie1sp
+ie3sta
+ies2t
+ie4s5t4e.
+ies1te
+ie5st4el
+ies5te1re
+ies3t2er
+ie3sto
+ie4ta4a4
+ie1ta
+ie5t2al
+iet5a2nt
+ie5t4en
+ie3te
+ie3tj2
+ie3to4
+ie4t3og
+ie4to4o2
+ie4to4p
+ie4tor
+ieto5re
+ie4t3o3v2
+ie5tro4e
+ie1tr4
+iets5t4e.
+iet4s1te
+ie4ts
+iets2t
+iet3u4r
+ie1tu
+iet3u4u4
+ie3t2wi
+ie4t1w
+i3e1ty1
+ie2u
+ie2u3k
+i1eur
+ieu5r4e
+i1eus
+ieu3s4p
+i1e4u1z
+ie3v2
+ie3z
+ieze1l5a
+iez4e
+i3és
+i1é1t
+i1è1
+i4ëg
+i3ë
+i4ëva
+ië1v2
+4if
+if3a4a4
+i1fa
+i2f3ad
+if3l2
+if3r4
+if4ra
+if4ta4a4
+i4ft
+if1ta
+if4tar
+if4tre
+if1tr4
+iftu5r
+if1tu
+if3u2i
+i1fu
+i1g4a
+ig3a4a4
+i2g5ac
+i5gal
+i4g5a1v2
+i3ge
+i3ge2s4
+i4g3e3s1k2
+i2g3i2j
+i1gi
+i4gi4nd
+ig4i3o
+ig5no
+i2g1n
+i3g4om
+i1go
+i2g4op
+i4gs4
+ig3s1k2
+ig3s3l4
+ig3s3p
+ig3sto
+igs2t
+ig3un
+i1gu
+i1h
+i3i
+i5ie
+ii2n
+i5is
+i2j
+4i4j.
+ij5a
+ija4d
+4ijd
+4ije
+ij3ef
+ij3e2i
+ij3el4
+ij5e4n3
+ij1er
+ij3i
+4ijn
+ij3o4
+i3j4ou
+4ij4s1o4
+i2js
+4ijsp
+4ijs2t
+ij5te
+ij4tr4
+i1j5u
+4ijvo
+ij3v2
+4ijzo
+ij1z
+4ik
+ik3aar
+i1ka
+ika4a4
+i4kam
+i3ke
+i2k3ef
+ike4ra
+ik2et3
+i2ki2j
+i1ki
+i3k2l4
+ik3la
+i4k3lo
+i4k3lu
+i2k4n4
+i4k5na
+ik5o2g
+i1ko
+i3kom
+i2ko4o4
+iko2p
+ik3o1pe
+i2k3o2r1d
+i4kr4
+ik3re
+ik3ri
+ik3ro
+ik5s2e2
+i2ks
+ik5si
+ik3s4l4
+iks3n4
+ik3s3no
+ik3sp
+ik4s3p4a
+ik1s4t
+ik5sta
+iks5t4e.
+ik1s1te
+ik1w
+i3k5w4ar
+i1la
+i3l4a.
+il4a4a4
+i2l5aan
+i2l3ac
+il4a2c1t
+il3ad
+i2l3af
+i3lak
+i2l3al
+i5la4nd
+il4an
+il2da
+i4ld
+il4d3r4
+il2ds4
+4i3le
+i3l3ee2n
+ile4e4
+ile3l
+i4l3er1v2
+ile4t
+ile2t5r4
+ile3u
+il3e4v4e
+ile1v2
+ilevin4
+ile3vi
+i4l3e2z
+i3lé
+il5f
+i3li
+ili4e5g
+il4ie
+ilie5t
+il3i4n1k
+il1k4l4
+il2k3s2
+illa3s
+i2l1l
+il5la
+1illu
+i2l2m
+il3me2
+il4min
+il3mi
+il4mo
+i1lo
+ilo4ge
+ilog4
+i4l3o4nd
+i3lo4o2
+i5l4oon
+il3oor
+i2l1or
+ilo4re
+i2lo4v4e
+ilo3v2
+il3s2h
+i4ls
+ils5j2
+il4s4ti
+il1s2t
+il2th
+i4l1t
+i1lu
+4i4m.
+i2m4ag
+i1ma
+i4ma5go
+im5au
+ime4e4
+i1me
+im3ee2n
+i4m3em
+im3e2n1c
+i3men
+i2m3ex
+4i2m1f
+i2m3of
+i1mo
+i2m3op
+im3or1g
+im5pa
+i2m1p
+im4s3o4o2
+i2ms
+imso4
+im1s4t
+i3mu
+i2n1ac
+i1na
+i2nau
+ind4a4a4
+i4nd
+in1da
+in4de1ne
+in3de
+ind3sc
+in2ds
+ind5s1te
+inds2t4
+1in1du
+in3e4de
+i1ne
+ine1d
+in3e1di
+i4n3ee1d
+ine4e4
+inek4
+ine3o2
+ine4t4s
+i5ne2u
+1i2n3f
+in2ga4
+i2ng
+ing3a4a4
+ing3ag
+ing3al
+3in3gan
+ing5lo
+ing4l4
+in2go
+in4gr4
+ing4s2t
+in4g2s
+4in4i.
+i1ni
+i3n4ie
+ini5on
+in4i3o
+ini5s3l4
+i3n4is
+ini5s1ta
+ini2s3t
+4ink2j
+i4n1k
+in2k2n4
+3inkom
+in1ko
+in4kri
+in1kr4
+3inno
+in3n
+i1no
+i3noc
+i3no3d
+in4o2g
+in1on
+ino5pe
+ino3s4t
+i1n2os
+in3o3v2
+1in5ri
+i2n3r
+4in4s.
+i2ns
+in5s4ch2
+in1sc
+in5se
+in3s2l4
+in3s1mi
+ins3m
+in3so
+in1sp
+in5s1p4o
+in5st4en
+ins4t
+in3s1te
+in5swi
+in4s1w
+in4t3ap
+i2nt
+in3ta
+in5te
+in3tes5
+in3th
+1in1t4r4
+i1nu
+i5n4uut3
+i4nu4u4
+4i1o
+i4o5a
+ioas5
+i2o5b
+i3o1c
+i3o1de
+ioes3
+io4e
+io3f
+io3g2
+i3ol
+i5o4l.
+i5o3len
+io1le
+i5olus
+i4o1lu
+i3on
+ionee2l4
+io1ne
+ione4e4
+i5o2ng
+io2n4s3
+ion3s5c
+i5o4o2
+i2op4
+i2o3pa
+io3p1r4
+i3o4p1t
+io3ra
+i3o1ri
+io3r1u
+i2o4s
+i3o4s.
+i4o3s3c
+i3o5se
+i3o5s3f
+io5s1h
+io5si
+i5o5s4i.
+io5s2o
+io5sp
+io5s4t
+i5o5su
+i3o5s4y
+i5othek
+io1th
+ioth4e
+i3o3ti
+io4t3j2
+i5o5tore2ns
+io1to
+io5t4or
+ioto1re
+i2o3tr4
+i2o3v2
+i3o4x
+i2o1z
+i1pa
+i2p1ac
+ip3af
+i3pap
+i1pe
+i4per1w
+ipe4t3j2
+i1pi
+ip1j
+i1p2l2
+ip3lu
+i1po
+ipo4g
+i1pr4
+i2pri
+ip3ru
+i4ps
+i4p3se4
+ip4si
+ip4s3le
+ip1s2l4
+ips5t4e.
+ip1s4t
+ip3s1te
+ip5st4en
+i3ra
+ira3k
+i1r2e
+ires4
+ire3s3t
+i3ré
+i1ri
+ir2k4s
+i1ro
+iro3p
+iro5v2
+i4r2s
+ir4sc
+ir3sp
+ir5s1te
+ir1s4t
+ir1t3r4
+i4rt
+i1ru
+4is
+i1sa
+i2s1a4a4
+i4s3ad
+is3a2g
+is3a2p
+i2s1ar
+i2s3as
+i4sc
+i5sch4a
+i3s4ch2
+i5sc2hr
+is5col
+i2s1co
+i5s2co4o2
+i5scope
+is2co1p2
+ise2d
+i3se
+i4s3e2i
+is3e2l1l
+is2el
+is5e2ng
+is4en
+i4s3er1v2
+ise3s2t
+is4es
+ise3t3j2
+ise4t
+is4fe4e
+i2s1f
+is1fe
+is4f4er
+i4s1h
+is5ho
+isi2d
+i1si
+i2si2j
+i2s3im
+is3ja
+isj2
+i4s1k2
+is3ka
+is3ke
+is3l4
+i3s5lag
+i4s5las
+is5le
+i4s5m
+i4s3n4
+i3s5ne1d
+is1ne
+i1s5ni2j
+is1ni
+is5no
+5is2ol
+i4so4o2
+is4oor
+is2o3s4
+i2s4ot
+is3o4t3t
+is3p
+i2s5pa4s5
+isp4a
+is2pi
+i2s5p4l2
+is5q
+is5sa
+i4s3s4
+is5so
+i2s3t
+is1ta
+i3s4tak
+is4t3ap
+i4s5tas
+is4ta1t
+is5te2r1d
+is1te
+ist2er
+is5te1re
+i4s4th
+is1to
+is4t5o2ng
+i3s4tr4
+is5tri
+i5str4o.
+i3s4ty1
+i5su2m
+i1su
+i5s4y
+4it
+i1ta
+i2t3ac
+i4ta5d
+i4t3ee4n
+i1te
+ite4e2
+i3t4en
+i3t2er
+ite5re2i
+ite1re
+i3tes4
+ite3s2t
+ite4t
+it3h4ie
+it1ho
+i2t1hu
+i3t2i
+itie5s2t
+i5ties
+it4ie
+i4tj2
+i1to
+it5oef
+it4o4e
+it3oo4g
+ito4o2
+i3t2ou
+i4to4v2
+itper5s4t
+i4t3p4
+it3pe4rs
+it3re1d
+itr4
+it1ru
+it3s1je
+i4ts
+its2j2
+it3s1li
+it1s2l4
+it3s1op
+it1sp
+it3s4te
+its2t
+it4st4e.
+it4to4o2
+i4t3t
+i3tu
+i4t3w
+4i3u2
+iu4m
+iu1m3a4
+i2u1m3e
+iu1m3o
+iu3r
+i3v4e
+i1v2
+ive2n5s
+ive3re
+ive2r
+i5w
+iwi2
+iw4ie2
+iw4it3
+4i1z
+i3z4e
+ize3t
+1ï
+ï1t
+2ï.
+ï5a
+ï1c
+ï1d
+ïe4n3
+ïe5n4e4n.
+ïe1ne
+ïene2n
+ï2n3a
+ïns5m
+ï2ns
+ïn3sp
+ïn3u
+ï3n4u4r
+ï3o
+ï3ri
+ï3ro
+4ï4s.
+ïs3a
+ï4sc
+ï5sch4e
+ï3s4ch2
+ïs3l4
+ï3so
+ïs3t
+ï5z
+4j.
+1jaar
+ja4a4
+ja4ar5tj2
+jaa4rt
+ja3b
+2jaf
+1jag
+jage4r4s5
+ja1ge
+ja3k3n4
+ja3m4i
+jan4s3l4
+j4a2ns
+jan4s4t
+j2a3p2l2
+ja1po
+1jar
+ja1re4
+1jas3
+jas5p
+3j2a1w
+ja1z4
+j3b
+jba4l
+j3ba
+jb2e4l3i
+j3b4e
+j1c
+j1da2
+j2d3a4a4
+jd3an
+j4d3ar
+j2d3e4e
+j1de
+jde4n3e
+jde2n4s
+jden1s5p
+j4d3er1v2
+jde2s4
+jde3s3p
+jde5s2t
+jdi3a
+j1di
+j2do4
+j3dom
+jd5on
+j2d3op
+j3dr4
+j4d3re
+j4d1ri
+j4d3ro
+j4d3ru
+jd5se2i
+j2ds
+jd3se2
+jd3sp4o
+jd1s2t4
+j2d3u
+j2d3w
+j3d4wan
+j4ea4
+3je3ba
+je1b
+je3ch
+jec4ta
+j4e2c1t
+2j1e4e
+jel4
+je3la
+j1en
+je2na2
+je3n4o
+5jep
+jepiet5
+je1pi
+jep4ie
+je3ro
+je4rs4
+jer3sp
+je4s3
+3jesa
+5jes2al
+je5s4ch2
+je1sc
+3jes1k2n4
+je2s1k2
+je3s5l4
+jes5m
+je1so2
+jes5p4a
+je1sp
+jes4pr4
+3je4s5r
+je1s5tr4
+jes2t
+5jesvo
+je4s5v2
+3jeswa
+je4s1w
+3jeswi
+je2t
+jet3er
+je3te
+jeto4v2
+je1to
+jet5s2t
+je4ts
+5jeu
+3je3v4r2
+je1v2
+2j4e1w
+j3ex
+j2f1a
+j2f3e2i
+j1fe
+j2f1en5
+j4f3i2j
+j1fi
+j4f3i4n1k
+jf3l2
+j3f4la1t
+jf5le
+j2f3o4
+jf3r4
+j3f4ra
+j3f4ro
+j4f2s
+jf2s3a4
+jf4sc
+jf4s3er
+jf3se2
+jf2s5f
+jfs3l4
+jfs5m
+jfs3n4
+jfs3p
+jfs5p4a
+jf3s4t
+jf4sta
+jfs5tak
+jf5stan
+jf4st4el
+jf3s1te
+jf4s3ti
+jf4s5to
+j4ft2
+jf5ti
+jf5t1w
+j1g
+j3ge
+jger5s2l4
+jge4rs
+j2g3l4
+jg4s5e4
+j4gs
+jg3s3n4
+jg2s2t
+jg3s4te
+j3h
+j4if3
+j3ig
+ji2n3g
+ji5t2j2
+j4it
+j3j
+2jk
+j3ka
+j4ka4a4
+jk5aa2r1d
+j4kar
+jk3ar1b
+j4kau
+j4ka1v2
+j2ki2j
+j1ki
+j2k4l4
+j3kla4a4
+jk5lak
+jk5la2p1
+jk5las
+j4kle
+j5k4le1d
+jk5le2s
+jk5li
+j3klon
+jk5lop
+j4k5l4uc
+j2k1na
+j1k2n4
+j2k3of
+j1ko
+j4k3o4l
+j2k3on
+j2ko4p
+j4k3o2p1b4
+jk3o1pe
+jk3o2p3l2
+j3ko4ps
+j2kr4
+j4kra
+jk3r2a4a4
+j5kran
+jk3re
+jk3ro
+j4k5ru
+jk3slo
+j2ks
+jks2l4
+jk2s3p4l2
+jk4sta
+jks4t
+jks5taak
+jksta4a4
+jks5t4aal
+jks5tak
+jk5stan
+j2k3u2i
+j1ku
+jk3w
+j3k4was
+j1la
+j3la4a4
+j4l5a2na
+jl4an
+j1le
+j2l3ef
+j2l3el
+jl5f
+jl3i4n1k
+j1li
+j1lo
+j2lo4e
+j3lu
+j2m3af
+j1ma
+j5m4ar
+j3mi
+j2m3op
+j1mo
+j2m3s
+j2n1a4
+j4na4a4
+j2n5ac
+j3n2a5g4
+jn3ak
+j3n2am
+jna5me
+j3n4an
+jn5d2r4
+j4nd
+j2nef
+j1ne
+jne4n
+j4n3erk
+j4n3er1v2
+jn3g4l4
+j2ng
+j4n3im
+j1ni
+j4n3i4n1k
+j4n3k4
+j2n1o4
+jn4si
+j2ns
+jn2s3l4
+jns5lac
+jn3slu
+jns5or
+jn1so
+jn2sp
+jn2s3p4l2
+jn1s4t
+jn4st4e.
+jn3s1te
+j2nt4
+jn3tr4
+joet3
+jo4e
+4j4oi
+jo1l4e
+jo5li2j
+jo1li
+j3om
+1j4on
+jo1ne2
+j3op
+jo3pe
+jo3ra
+jo3r1u
+j4ou
+1jour
+jou5r2e
+joy3
+j3pa
+j4p3ac
+j4p3ar1m
+j1pe
+j2p3em
+jp3i2j
+j1pin
+j3p4i5o
+jp1j
+j1pla
+jp2l2
+jp3li
+j1po
+j2p3or
+j4pre
+jpr4
+jp3ri
+jp3r2ok
+j2ps4
+j3r
+jra2a2ds5
+jr2a4a4
+jr4aad
+2js
+js1a
+j4sef
+j3se
+j4s3e1la
+js2el
+j5s2e1li
+j4s5em
+j4s3e4r
+j2s1i
+js5in
+j3s4ir
+js4le
+js2l4
+js3le4e4
+js3li
+j2s5l4ie
+js4me
+js1m
+js5m2el
+js5met
+js3n4
+j4s1o4
+j5so4e
+js3ol
+js3pac
+jsp4a
+js3par
+j3spe
+j2s3p4l2
+j4sp4o
+js3po4o2
+jspoor4t5j2
+jsp4oo4rt
+j5spor
+j1sta
+js2t
+j4star
+j2s3te
+j3ste4e2
+j3s4tek
+j3s4t4el
+j5s4te2ng
+jst4en
+j4s3th
+js4ti2j
+js3ti
+j5s4to4nd
+j4s4to4o2
+js3tou
+jst5ran
+j1s4tr4
+j5str2ok
+j2su
+j3s4y
+j3t4aal
+jta4a4
+jt3aar
+j2t1ac
+j1tag
+j3tak
+j3tan
+j3t4e.
+j1te
+jt1h
+j3t4o4e
+jt3o4p1t
+j3tr4
+jt3ra
+j5tre1d
+j5tre4e
+jt3re2i
+j5trek
+jt3ri
+j5tr2ok
+jt3rot
+j4t1s
+j1tu
+1j4u
+ju3d
+4jum
+jus3
+juv4e5
+ju1v2
+j3v2
+jve2n
+jv4e
+jve4r4s
+jve2r
+jver1s5p
+jve3t
+jvie5s3
+j3vi
+jv4ie
+j1w
+jze4r5o
+j1z
+jz4e
+4k.
+1ka
+k3aa2n1b
+ka4a4
+k3aa2n3l
+5kaa4rt
+kaart5je4s3
+ka4ar4tj2
+kaat4s5t4e.
+kaa1t
+kaat2s2t
+kaa4ts
+kaat3s1te
+ka3b4e2
+ka1b
+ka3b4o
+2k1ac
+ka3de4t5
+ka1de
+4k3a2d1m
+ka3do
+k3a2d1v2
+2kaf
+k3a4fd
+k4a4f1f
+ka3f3l2
+3k4a4ft
+ka4ga
+k3a4gen
+ka1ge
+k3ah
+ka3i
+2k3a2l1b4
+ka3le
+5kalf
+kal4f4s5
+ka3l4i
+kal2k
+1kal1k3a
+4ka4l1t
+5kal1v2
+3kam
+4ka4m1b
+ka3men4
+ka1me
+kame4re
+kam4pa
+ka2m1p
+kam4p2l2
+kam4p2r4
+ka5na4a4
+ka1na
+ka4n5d
+4ka2ng
+kan4s2l4
+k4a2ns
+kan4s4t
+kan4t3j2
+ka2nt
+k2a1o3
+5k4a4p.
+ka3pe
+k2ap3l2
+ka1po
+4k1ap5pa
+ka4p3p
+k4a3pr4
+ka2p3s
+k3ar1c
+k4a3ro
+ka4rt4
+4k3ar3ti
+kar3t3r4
+ka4s
+ka2s5c
+4k3a1si
+kas1t3o4
+ka2s2t
+k4a3s4tr4
+kast5ra
+ka5stro
+kas3u4r
+ka1su
+kat5aal
+ka1t
+kata4a4
+ka4t5a4le
+kat2al
+ka4tan
+ka3ti4
+ka4t5i1o
+ka2t5j2
+k3a4t3l
+kato4
+ka4t3og
+ka5tr4
+ka4t3s
+2k1au3t4
+2ka2vo
+ka1v2
+2k3b
+2k1c
+k3ca
+2k5d
+kdi3a
+k1di
+1ke
+k4e1b
+2k3ec
+ke4di
+ke1d
+2k3ee2n
+ke4e
+kee4p5l2
+kee4r
+kee4r4s
+keer3s5to
+keer1s4t
+2kef
+4ke4f1f
+k4e4i.
+ke2i
+k4e4i1e
+k2eil
+ke4i3s4
+k4e4i5t2
+ke4lap
+ke1la
+kel5da
+ke4ld
+kel5dr4
+ke5lel
+ke1le
+4k3e2lem
+kel5f
+ke4l5i2nt
+k2e1li
+ke4lom
+k4e1lo
+ke4l3op
+kel3sp
+ke4ls
+5k4e1ma
+2ke2m1m
+2ke2m1p
+ke4n3an
+ke1na
+ke4nau
+ken4e4i.
+ke1ne
+ke4n1e2i
+ke5ne2n
+ke4n5k
+ke2n1o
+kens5p4o
+ken1s2p
+ke2ns
+kepie5t
+ke1pi
+kep4ie
+4k3e4q
+ke3ram
+ke4r5e4n1k
+ke1re
+ker3k2l4
+ker4kle
+ker4k2n4
+ker4k3r4
+ker4ku
+ker4kw
+ker4n3a
+ke2r1n
+ker4no
+ker3o4
+ke3r2os
+ker4s4m
+ke4rs
+ker5spe
+ker1sp
+ker4spr4
+ker4sta
+ker1s4t
+ker5s3t4e.
+ker3s1te
+ker4s3ti
+4k3er4ts
+ke4rt
+4kerva
+ker1v2
+4k3er2wt
+ker1w
+ke2s
+ke3s4p
+ke3sta
+kes2t
+kes5t4en
+kes1te
+ke3sto
+ke5str2a4a4
+ke1s4tr4
+k2et
+5k4et4el
+ke3te
+ke2t3j2
+ke3to
+ke2t3r4
+kets5t4e.
+ket4s1te
+ke4ts
+kets2t
+kettin4g5s
+ke4t3t
+ket3ti
+ketti2ng
+4k3e2tu
+ke4t3w
+3k2eu
+keviet5
+ke1v2
+ke3vi
+kev4ie
+ke4vl
+4k1ex
+2k3e2z
+2k1f
+2k3g
+2k1h4
+k3ho
+khou2d5s
+khou1d
+1ki
+2ki2d
+4kie1d
+k4ie
+kie4sp
+kie4s4t
+kie5s1te
+kie4tj2
+kiez4e4
+kie3z
+2ki3ë
+kij2k5l4
+ki2j
+ki2jk
+k3i2js
+4kij3v2
+4k1ij1z
+ki3lo
+kilo5v2
+ki3na
+4ki2n1b
+4k5indel
+ki4nd
+kin3de
+kinds5t4e.
+kind5s1te
+kin2ds
+kinds2t4
+4k1in1du
+kin3e2n
+ki1ne
+5ki2ng
+kings5l4
+kin4g2s
+2k3i4n3h
+ki3n4ie4
+ki1ni
+k3in1ko
+ki4n1k
+4k1i2n3r
+2k1i2ns
+2k3i2nt
+4k3i2n1v2
+k4i3o
+ki2p3l2
+ki5se
+k4is
+ki3s4p
+ki4t4s
+k4it
+kit3s5te
+kits2t
+k1j
+2k3ja
+k3j4e1w
+k3jo
+2k3j4u
+4k5k4
+kke5n1e2i
+k1ke
+kke1ne
+kke4r4s
+kkers5t4en
+kker1s4t
+kker3s1te
+kke3s2t
+kke2s
+1k2l4
+5k2lac
+k3l4a1d4i
+kla2p1
+k4las
+5kla4s.
+5kla4s3s4
+k3la2s2t
+k3la4t.
+kla1t
+k3la4t3t
+3k4la3v2
+3k4le1d
+5kle1di
+5klee1d
+kle4e4
+k5lee4r.
+klee2r
+4k5l4e1g
+5klem
+4k5len
+k3le4r.
+4k3le1ra
+k3le4rs
+k3le2s
+5k4le4u
+k5l4ic
+k1li
+4k3lid
+k3l4ig
+2k3li2j
+4k3li2j2s
+k4lim
+kli4me
+3k4lin
+k5l2o3b
+4klod
+3kl2ok
+5klo4k.
+k5lo1ka
+k3lo1ke
+k3l4oo4d
+klo4o2
+5kl4oof
+k3lo1pe
+5kl2os
+klot4s5t4e.
+klo4ts
+klot3s1te
+klots2t
+2k5lo5z
+4kl4uc
+4klui1h
+klu2i
+2k1m
+k3ma
+1k2n4
+4k3nam
+k1na
+k4nap
+3k4nar
+5knec
+k1ne
+k5nem
+k1ni2
+5kni4e.
+kn4ie
+knip1
+4k5ni1v2
+3knol
+k3no3te
+k1not
+2k3num
+1ko
+ko4b4l
+k2o3b
+k4oc
+2k5o2c3t4
+4k1oef
+ko4e
+5koek
+koe4k2e4t
+koe1ke
+koer4s5p
+k4oer
+koe4rs
+koes3
+koe3tj2
+koets5t4e.
+koet4s1te
+koe4ts
+koets2t
+ko1ge4
+5ko5gr4
+3k4ok
+1ko5ko
+ko1l2e2
+ko3len3
+2ko2lm
+5ko3lo
+ko4ly
+k4o2m3a
+4ko2m5g
+ko2m5p
+k3om3s2l4
+ko2ms
+kom4s4tr4
+koms4t
+4k3o2m1z
+kon1ge4
+ko2ng
+k4o1ni
+k3on4t3b
+ko2nt
+kon4t3j2
+kon4t3r4
+ko4o4
+2k1oo4g
+kooi5tj2
+ko4oi
+koo4it
+koo4t3
+koo4t4j2
+k2o3pa
+4ko2p1b4
+4k3o2p3d2
+ko1pe
+ko5pe4n.
+4ko2p1g
+3ko5pi
+5k4op1j
+ko2p3l2
+2ko4ps
+4ko2p5z
+2ko2r1d
+kor5do
+2k1or1g
+2k3ork
+kor4s5t4e.
+ko4rs
+kor1s4t
+kor3s1te
+kor4ta
+ko4rt
+kor4t3o4
+kor4tr4
+ko3r1u
+3k4o4s3
+4k3o4s.
+ko4s4j2
+ko5sje1re
+kos1je
+ko1sjer
+ko3s2o4
+4ko4s3s4
+kot4s2t
+ko4ts
+kot4s5t4e.
+kot3s1te
+4k1o2v2
+4k3o4x
+2k3p
+kp4i3s
+k4plam
+kp2l2
+kpren4
+kpr4
+1kr4
+3kra
+k5r4aad
+kr2a4a4
+kra2a2ds5
+kra4b
+4k5rad
+k5ra4nd
+2k1r4ea
+2k3rec
+4k3re1de
+kre1d
+k4re4e4
+k5ree2p
+kree2t3
+k3r4ef
+k2r4e1g
+2k3rel
+2k1r4ic
+k3ri2jk
+kri2j
+k3rijp
+krij4t
+krij1t5j2
+k4r4it
+k5ri4t3m
+kroe2t5j2
+kro4e
+2krol
+k4ron
+k4ro2n3t
+5k4r4oon
+kro4o2
+kr2o3p3a
+kro4to
+2krou
+k3ro5v2
+3k4ru
+k5r2u2b
+5kr4u4is
+kru2i
+kru4l
+kru1l5a
+2ks
+k3s2al
+k4s3a2lm
+ks3an
+ks3a2p
+ks1ar
+ks3as
+k3s2e2
+k5sec
+ks3e1d
+k4s5e4i.
+kse2i
+ks3ep
+k4ser1v2
+ks3e4t
+kse3v2
+ksges5t
+k4s5g
+ks1ge
+ks3ge1s4
+k4si
+k5sil
+ks1in
+k5s4i4s
+k5s4it
+ks1j2
+k1sla
+ks2l4
+k4s3la1b
+k4sl4an
+ks3le
+ks3li
+k4s1mo
+ks1m
+ks3na
+ks2n4
+ks3no
+ks3nu
+kso4
+ks3om
+k5so2ng
+k2s3p4a
+ks5pa4nd
+ks4pan
+k4spar
+k1spe
+k3spi
+ks3po4o2
+ksp4o
+k5spor
+ks3pot
+ks3pru
+kspr4
+k3s2p4u
+k4s5s4
+ks4t
+k1sta
+k5staan
+ksta4a4
+k5s4taa1t
+k1s1te
+k4s5tec
+k4s4t3e1d
+k3st4en
+k4s5te2nt
+kst2e4r
+kster5a
+k4ste2r5r
+k4s3th
+k3s3ti
+k3sto
+ks5ton
+k5s4to4o2
+k4s4top
+k5stot
+ks5trek
+k1s4tr4
+ks3tri
+k3s3tu3e
+k1stu
+ks2t5u4it
+kstu2i
+k1s4y
+4kt
+k1ta
+kt3aan
+kta4a4
+k3taar
+ktaa1t5
+k2t3ac
+kt3a4rt
+k3te
+k3te2c
+k4t3e1co
+k4tex
+kt1h
+k5ti2j
+k3ti
+kt3im
+kt3in
+k5t4it
+k1t3j2
+k1to
+kt3om
+kto4p
+kt4or
+kt5o2r1d
+k4t5or1g
+kt5o1ri
+kt3o4v2
+k1tr4
+kt3res
+k5tro2l1l
+kt4r2o3s
+k3tu
+1ku
+ku5b4e
+k2u2b
+ku4i2f
+ku2i
+2ku4it
+k2u5k
+k2u5me
+3k4u2n
+4k5u1ni
+5ku2ns
+ku2r
+ku3ra
+ku3r2e
+ku4r3s
+3ku2s
+kut3
+2kû
+2k1v2
+k3v4e
+kve2n4t3
+5k4waal
+kwa4a4
+2k3wac
+k2w2ad
+k1w4ag
+5k2wal
+5k4wam
+3k4w4ar
+k5wa1re
+4kwa1t
+k3wee2r
+kwe4e
+2k3w4e1g
+k1we2i
+5kwel
+kwen4s4t
+kwe2n
+kwe2ns
+kwens5t4e.
+kwen3s1te
+4k1wer
+5k2we2s3
+kwe1s5tr4
+kwes2t
+5kwe4ts
+k2w4ie
+k3wij1z
+kw4i2j
+k4w4i4k
+2k3wil
+2kwin
+k3wi4nd
+4k1wo
+ky3
+2k1z
+4l.
+2laan
+la4a4
+4laa4nd
+l3aa4n3h
+laa5r3e4
+la4ar5tj2
+laa4rt
+laat5sta
+laa1t
+laat2s2t
+laa4ts
+l3a2bon
+la1b
+lab4o
+2lac
+la4ca
+5l4a4c4h.
+la4cha
+5l2a1ch4e
+lach5te
+la4c2ht
+lach4t4s
+l4a3ci
+la2d5a
+la4de3t4
+la1de
+2la2d1j
+4la2d1m
+la2d3o
+4la2dr4
+l2a2d5s
+la2du
+4la2d1v2
+3l4ae3
+2laf
+l4a2fa
+la3f3l2
+l4a1fo2
+4l3a4f3s4
+la2g3a
+la4ge2nt
+la1ge
+la2go
+la2g3r4
+la4gs4
+lag5s1a2
+la2k3a2
+la4ki
+la3kr4
+2lal
+3l4a4ld
+la1l4o
+lam4p3j
+la2m1p
+lam4p5l2
+lam4po4
+lam4s3p
+la2ms
+l4an
+4la2na
+la2n3ac
+3la4nd
+l4an4da
+land5a4a4
+lan4d5o4o2
+lan1do
+lan4d3r4
+lands5t4e.
+lan2ds
+lands2t4
+land3s1te
+la4n3ec
+la1ne
+lanel5
+5lan3g4e.
+la2ng
+lan1ge
+lang5l4
+lang5s3p
+lan4g2s
+lang5st2a
+langs2t
+lan4k3a
+la4n1k
+lan4k3l4
+lan4k3w
+4lan3n
+la4nor
+la1no
+l4a2n2s
+lan1s3l4
+lan4s4t
+lan4t3j2
+la2nt
+lap3ac
+la1pa
+l4a3pi
+l2ap3l2
+lap3o4
+la5pre
+l4apr4
+l2a2p3u
+la3q
+lar3da
+la2r1d
+2lar1m
+4lar4m.
+lar5s4t
+la4r2s
+l4as3a4
+l2a3se4
+la2si
+las3to
+la2s2t
+5la2s4t5t2
+la3te
+la1t
+la4t3h4e
+la2t5j2
+la4t3ro
+latr4
+4la4ts4
+lat3s3l4
+2lau
+5lauf
+lau4s2t
+l4aus
+l2auw
+la3v2
+lava3
+la4vo
+5l2a1w
+l4a1z
+4laz2i
+la4zi2j
+2l1b4
+lbe4r4t
+l3b4e
+lber1t5j2
+lboo4t4
+lb4o
+lbo4o2
+2l1c
+l3ce4l5
+l1ce
+4ld
+l5daa1t5
+l1da
+lda4a4
+l2d3ac
+ldak4
+l4d3alf
+l4da4r
+ld3ar1c
+l3d3a1ri
+ld3a4rt
+l2dau
+ld3e1co
+l1de
+lde2ks5
+l5dek
+l4d3e4z
+ldi3a
+l1di
+l4d5oef
+l1do
+l3d4o4e
+l2d3o2li
+l2d3om
+l2d3on
+ld3oo4g
+ldo4o2
+l4do4p
+ld3o1pi
+ld3o2r1d
+l2d1o2v2
+l3dr4
+l5dra1de
+l3dra
+ld3ram
+ld5ra2ng
+ld3ra1t
+l2d1re
+l5d2re4e
+ld3ri2j
+ld3ro4e
+ld3rol
+ld3rom
+ld3ru2i
+ld3s1a2
+l2ds
+ld3s4l4
+ld3s1ma
+ld2s1m
+ld5sp
+ld5s1te
+lds2t4
+l3du
+l2d3u4it
+ldu2i
+ld3u4u4
+l2d1w
+l4e2a
+le4a1ne
+le3an
+le3a1t
+leba4l
+le1b
+le3ba
+lecht5s2t
+le4c2ht
+lech4ts
+le4e4
+le4e1g3
+lee1ge4
+lee3g5i
+4lee2k1h4
+lee2k
+lee5l
+l4eem3
+3lee2n
+4leep
+lee1p3o4
+lee3s5e
+lee2s3
+lee3s5l4
+lees5p4o
+lee3s4p
+2leeu
+2le4f1f
+lega5s4
+l4e1g
+le1ga
+le4g3e4c
+le1ge
+le2g3l4
+le4go
+le5g4o.
+le4g5s4
+3lei1di
+le2i
+l4eid
+4leier
+le4i1e
+4leig
+lei5tj2
+l4e4it2
+lei4t5s3
+le4ko4
+4le2ks
+lek5s4tr4
+leks4t
+5le4ld
+le2le
+5l2e1li
+l3e4lp
+le4n3a4d
+le1na
+le2n3a4k
+3le1ne
+le4n3e4m
+len5kw
+le4n1k
+le2no
+le2n3o2p
+len3s1f
+le2ns
+len3s3m
+4l3en5t2h
+le2nt
+le5o
+4le4p.
+3le1ra
+le4r3a4k
+le5re2i
+le1re
+le4r3e4v2
+ler5g4
+le3r4o
+le4r1on
+ler4s2l4
+le4rs
+ler5sp4o
+ler1sp
+4l3er4ts
+le4rt
+le2s
+le4sa
+le3sc
+les5e4t
+le3s4e
+le3s4h
+les3m
+le4sp
+le3spe
+4l3essa
+le4s3s4
+les3t
+les4ta
+les5ta4a4
+le5s4t4el
+les1te
+le3s4tr4
+le4s3u
+le4t4h
+le3t3ha
+le3t4i
+le5tin
+le4to4p
+le1to
+le2t3r4
+le3t4re
+let4s2t
+le4ts
+lets5t4e.
+let4s1te
+le2t3u
+leu3k3o
+le2uk
+leu1m3a
+le1um
+leu1r4o
+leus4
+leu5s3te
+leu4s2t
+5le4u1z
+leve2n4s
+le1v2
+lev4e
+lev4ink5j
+le3vi
+levi4n1k
+4lex1c
+4l1ex1p
+l2fac
+l1fa
+l3f4a3g
+lfa3s
+l2fau
+lfe4n
+l1fe
+l4f3e4nd
+lf3e1ne
+l2fe2z
+lf3li
+lf2l2
+l3f4lo
+lf3lu
+l4fo
+l5fo4e
+lf3o4l
+l2f1o4p
+lf5o2r1d
+lf4or
+lf5or1g
+l5fou
+l1fra
+lfr4
+l3fru
+lf4s5e2i
+l4f1s
+lf3se2
+lf4s2l4
+lfs3le
+lf2s3m
+lf4s1o4
+l4ft4
+lf5ta
+lf5t1w
+l2f3u4u4
+l1fu
+2l1g
+l5gaar
+l1ga
+lga4a4
+l4gap
+lge4n5a
+l1ge
+l3gla
+lgl4
+l3g4o4e
+l1go
+l3g4og
+l3g2o4o2
+l4g3s4
+lg3se5
+4l1h
+1li
+li3a3g2
+li1a
+li3am
+licht5s2t
+l4ic
+li4c2ht
+lich4ts
+3lid
+5li4d.
+5li2d1m
+li2d3s4
+lie4g3a
+l4ie
+li4e1g
+lie4gr4
+lie3ka
+li2ek
+lie4sp
+lie3s4t
+lie4to4
+li3e2u
+3li1è1
+3li4ft
+l4if
+l4ig
+li3go
+lij3k3a
+li2j
+li2jk
+lij4m3a
+4lij2m1v2
+5l4ijn
+4lijp
+3li2j2s
+lij1st5a
+l4ijs2t
+4lijt
+4l3ij1z
+li5kr4
+l4ik
+lik5sp
+li2ks
+li4k1w
+li3kwi
+li1m4a
+li3mi
+2li2m1p
+lim4p3j
+lin4da
+li4nd
+4l1i2n3f
+4l3i4n3h
+li5ni
+lin4k3a
+li4n1k
+3lin3n
+l3in1na
+2li2n3r
+2l3i2ns
+lin4t3j2
+li2nt
+l3i2n1v2
+4li2n1z
+li3o5b
+l4i1o
+li5om
+li5o5s4
+li3ot
+li2pa
+li3pi
+li2p3l2
+li5s4e4e
+l4is
+li3se
+2liso
+l5i4s1w
+li1t2h
+l4it
+lit3r4
+lit4sa
+li4ts
+lit4s2l4
+lit4s2t
+lit4s5t4e.
+lit3s4te
+lit5st4en
+2lix
+4l1j2
+l2k3af
+l1ka
+l4k3a4n1k
+lk3ar1m
+lk3a4rt4
+l3ke
+l4k3e2i
+l4k3em
+lke1n5e
+lke2n4s
+l4k3ep
+l3ki
+l5ki2ng4
+lk3la4a4
+l1k2l4
+lk3lag
+l5k4las
+l4k3le1v2
+l5k4lim
+lk1li
+l3ko
+l5ko4e
+lk3o2nt
+lko4oi5
+lko4o4
+l4k3o2p1b4
+l5kor
+l5kou
+l5kra
+l1kr4
+l2kre
+lk3rep
+lk3res
+lk3ri2j
+l2k3ro
+l2k2s
+lk4s2e2
+lk4so4
+lk3son
+lk3s3o4o2
+lks5ta4a4
+lks4t
+lk1sta
+lk3s1te
+lks5t4el
+lk1s5tr4
+l4k3u4u4
+l1ku
+l3kw
+lk3wi
+l3ky3
+2l1l
+l5la
+lla3d
+lla3g4
+lla5tr4
+lla1t
+l4l3eig
+lle2i
+lle3k
+ll4el
+lle5o4
+lle4r5on
+lle3r4o
+lle3s4m
+lle2s
+lle5t4h
+llev4ie5
+lle1v2
+lle3vi
+l3l4i
+l3lo
+llo5f
+l5lon
+ll3s1h
+l4ls
+2lm
+l3ma4a4
+l1ma
+lmaa1t5
+lm3a4ca
+lm3af
+lma5ï4
+l3mak
+lm3ar1c
+lm3a4rt
+lma3s2
+lm3au
+l3me
+l4me1d
+lm3e1di
+l4m3ep
+lm4e2s
+lme5te
+l3mi
+l3mo
+l5mog2
+l2m3o1li
+lm3or
+lmro4z
+l2m1r
+lm5s2c
+l2ms
+lm3s1h
+lm3su
+2l3n
+l3n4i4s
+l1ni
+l4o3a
+2l3o4b1j
+l2o3b
+lo4bo4o2
+lob4o
+loe4d5a
+lo4e
+loe1d
+loe4d3r4
+4lo4e1g
+loe4gr4
+loen4s4t
+loe2ns
+loens5t4e.
+loen3s1te
+4loes
+l3oeu
+5loe1v2
+lo4fa4a4
+lo1fa
+lo4f5d2
+lo4f4s4
+log4
+log5l4
+lo3go
+5lo1gr4
+lo4g2s3
+lo4k3ar
+l2ok
+lo1ka
+lo2k3o2
+lo4k3r4
+lo2ku4
+2lo2l
+lo3la
+l3o2m3l
+lom4p3j
+lo2m1p
+lom4p3l2
+l3o2mt
+l3o2m1v2
+4l3o2m1z
+3lo4n.
+4lo4nd
+5lo2ng
+lon4ga4a4
+lon1ga
+lon4g3o
+lon4g2r4
+lon3o
+2lo2nt
+lon4t3j2
+3lo2ok
+lo4o2
+loo5pi
+loo4p1
+3loos1h
+lo2o4s
+loo3t3e
+loo4t
+l2o3pa
+4lo2p1b4
+l3o2p3d2
+lo1pe
+2l3o2p1h4
+2l3op3l2
+lop4la
+2l1o2p1n
+lo3p2r4
+4l2o4p1t
+4l3o2p1v2
+4l3o2p1w
+2lor
+3l4o4r.
+lo3re
+4l1or1g
+lo3ri
+l4o1r2o3
+3l4o4rs
+lo3r1u
+lo3spe
+l2os
+lo2s3t4
+los5to
+lo4s5tr4
+lo5s2u
+l4o2ta
+lot3a4l
+lo4te4t
+lo3te
+lo2t3h
+lo4t3j2
+lo4to2f
+lo1to
+l2ot3r4
+l4ou3s
+lo3v2
+2lov4e
+3lo5z
+4lp
+l1pa
+l3pa4a4
+l4p3aan
+l1p3a4g
+lp3a4m
+l3par
+l3pa4s3
+l1pe
+lpe2n
+l2pex
+l3pi
+l5p4i2ng
+l2p3i2ns
+lp3j
+l1p2l2
+l3p4la
+l4plam
+l1po
+lp3of
+l3pom
+lp3on
+l2p3ope
+l3p2os
+l3pot
+l1pr4
+l4p3ram
+lp2ra
+4l3r
+lra2a2ds5
+lr2a4a4
+lr4aad
+lr2u4s5
+4ls
+l4s1a4a4
+ls1a2d
+ls3a2g
+l1sam
+ls3an
+l3sa2p
+ls3as
+l2sa1t
+ls4cor
+l1sc
+l2s1co
+l2s4c2u
+ls3e1co
+l3se
+l4s3e2d
+l4sef
+l5s4en
+l4s3e2p
+lsge4s2t
+l4s5g
+ls1ge
+ls3ge1s4
+l3s2hi
+ls1h
+l3si
+l4s3im
+l4sin
+ls3in1j4
+ls3i4n1k
+l2s3i2nt
+ls4j2
+ls5ja
+l3s4kel
+l2s1k2
+ls1ke
+l3s2k4i
+l1s2l4
+l3sla
+l2s4le
+ls5le1d
+ls5le4e4
+l4s5l4e1g
+ls5len
+l2s3li
+ls4lin
+l3slo
+ls4maak
+ls1m
+ls1ma
+lsma4a4
+ls4me1d
+ls1me
+ls4me4e
+l3s3mid
+ls1mi
+ls3na
+ls2n4
+l3s1ne
+l3sno
+ls3nor
+l3so1c
+ls3of
+l3s2ol
+l2s3op
+ls3o4r
+l2s1o2v2
+l1sp
+l2sp4a
+ls3pac
+l3s4pan
+ls3par
+ls4pe
+l3spi
+ls3p1li4
+l2s1p4l2
+l3s2po4o2
+lsp4o
+l4s5poo4t3
+l3spor
+l2spr4
+ls3p2ra
+l1s2t
+l3sta
+l4staf
+l4s4tak
+ls5ta4k.
+l3s1te
+l4stek
+l4st4e1v2
+ls4ti
+l3sto
+l5str2a4a4
+l1s4tr4
+ls5trak
+l5stra1t
+l3stu
+l2s5ty1
+l2su
+l3sur
+ls3u4s
+l3s4y
+4l1t
+lt4a4a4
+l2t1ac
+l4tam
+l5ta1me
+l5t4an
+lt4han
+l2t1ha
+l4t3hi
+l2t3ho
+l3thu
+lt2o4l
+l2t3o1li
+l2t3o4v2
+l3tr4
+ltra3s
+l4t3ru2g
+lt3s2l4
+l4ts
+lt3sp
+lts5t4e.
+lt3s1te
+lts2t
+l3tu
+l2u4b1
+lu3b5e
+lu3b5l
+lu1en
+3lu4i.
+lu2i
+5lui1a
+5luid
+lui2d4s3
+5lui4e.
+lu4i3e
+2lu4it
+lu2k2s
+l2uk
+luks4t
+lu3na
+3lu2n2c
+2l3u2ni
+lu3s4ta
+lus2t
+lu3ta
+lu2t3j2
+lut4s2t
+lu4ts
+lut4s5t4e.
+lut3s1te
+lu3wi
+lve2n5s
+l1v2
+lv4e
+lver1a4
+lve2r
+l1w
+1ly
+ly5i
+ly3s2t
+lys3
+4l1z
+lzo4oi5
+lzo4o2
+4m.
+1ma
+maas3
+ma4a4
+maat5s2t
+maa1t
+maa4ts
+m3a2c1t
+2m3a2d1v2
+ma5esto
+m4ae
+mae2s3
+mae4s5t
+m3af3l2
+ma3f1r4
+2m3a4f3s4
+4m3a4f1w4
+m4ag
+m4a3g1l4
+ma5go
+ma3gr4
+ma1ï4
+ma5ka2
+ma5ke
+5ma3k4r4
+ma3k1w
+ma3l4a
+ma5lac
+ma4l5e2nt
+ma1le
+mal5s2t
+ma4ls
+5m4a4n.
+ma2n3ac
+ma1na
+m3anal
+m4an5da
+ma4nd
+man5do
+man2d4s
+5m4an3n
+ma5no
+5m4a2n2s
+man4se
+mans5e4e
+man4so4
+mans3p
+man4s4t
+man1s5ta
+man4th
+ma2nt
+man1t4r4
+ma5pa
+m4a3pr4
+ma3q
+m4a5ri
+mariet5
+mar4ie
+5m4ark2
+mar3s1h
+ma4r2s
+mar4s5t
+mar5ti
+ma4rt
+m4a1so
+ma3s4p4o
+mas1p
+5ma4s3s4
+ma4s3te
+ma2s2t
+m4a3s4tr4
+ma5ta
+ma1t
+5mat2er
+ma1te
+ma2t5j2
+ma4tom
+ma3tr4
+mat4s2t
+ma4ts
+mat4s5t4e.
+mat3s1te
+ma3v2
+4m1b
+m5b4l
+mboo4t4j2
+mb4o
+mbo4o2
+mboo4t
+mbo5s3t
+mb2o4s
+m3b4r4
+2m1c
+2m1d
+m5da
+mdi3a
+m1di
+m3d4i4s5
+m3do
+m2do3p
+m3dr4
+m3dw
+1me
+me1c
+me5de
+me1d
+5medi2a
+me1di
+5med4i3u2
+me4e5g
+me4e
+mee3k4r4
+mee2k
+mee5las
+mee2l
+mee1l3a
+me4e3lo
+mee5re
+mee2r
+mee5r3i
+5mee2s3
+mee3s4t5al
+mees2t
+mee5s4to3v2
+mee5s4tr4
+m5e4g.
+m4e1g
+me3g2a
+mega5s4
+m5e4gd
+m5e4g3g4
+m5e4gt
+me4i
+mei2n
+mei5tj2
+m4e4it2
+m2el
+me4l4as
+me1la
+me4l5a4s.
+mel5dr4
+me4ld
+mel4ko
+mel4kr4
+5m4e1lo
+mel3s4m
+me4ls
+me4mi
+3men
+m4e4n.
+me3na
+me2n4a2s2
+men3g5ra
+men3g4r4
+me2ng
+me4n5k
+me5nor
+4m3en1q
+men4s5u4u4
+men3su
+me2ns
+men4t3j2
+me2nt
+men4t3w
+me5nu
+me3p2j
+2m3e2q
+me1ra
+me4r5aak
+me1r2a4a4
+me4r3a4k
+me4r4am
+mer5an3te
+mera2nt
+me4rap
+me3rau
+me4ra1v2
+mer3e2i
+me1re
+5merk
+mer4k2l4
+mer4k2n4
+mer4kw
+mer5oc
+me5ro2ng
+mer1on
+me3ro4o2
+4m3er2os
+me3rot
+mer4si
+me4rs
+mer4s2l4
+mers5m
+mers5ta
+mer1s4t
+me2ru4
+m4es
+me3s4h
+me4s4l4
+mes5li
+me5slo
+mes3m
+me3so
+me4sp
+mes3p4a
+me5spe
+me5spot
+mesp4o
+me5st4el
+mes2t
+mes1te
+mesto4
+mes4t5o3v2
+me3stu
+me5ta5n
+me1ta
+me3t4h
+3me3ti
+me5tr4
+mets5t4e.
+met4s1te
+me4ts
+mets2t
+mev4e4
+me1v2
+m3e4ven
+2mex
+3mé
+3mè1
+3mê1
+2m1f
+mfa3t
+m1fa
+mf4l2
+mf3li
+m2f5l4ie
+m5fo
+2m5g
+mger4
+m1ge
+2m1h
+1mi
+3mid
+4mi4d.
+5mi4d3d4
+mie5k2l4
+m4ie
+mi2ek
+mie3s2t
+4m3i2js
+mi2j
+4m3ij1z
+mi3k4n4
+m4ik
+5mi3li
+mi3lo
+mim4ie4
+mi1mi
+m3i2m1p
+mi5nar
+mi1na
+2m1i2n3f
+5mi2ng
+4mi4n3h
+2m5i2n3r
+2m3i2ns
+mi5nu
+4m3i2n1w
+m4is
+mi2s5f
+mi2s3i
+mi3s4la
+mis3l4
+mi4s3t
+mi5stra
+mi3s4tr4
+mis5tro
+mi3t4a
+m4it
+mi1tr4
+mit4s2t
+mi4ts
+mit4s5t4e.
+mit3s4te
+mit5st4en
+2m1j
+2m3k2
+mka4ar4t5j2
+m1ka
+m5kaa4rt
+mka4a4
+2m3l
+2m1m
+2m1n
+m5na
+1mo
+5m4o.
+m4o3a
+5mo1da
+5mo1de
+moe2d4s
+mo4e
+moe1d
+2moef
+5moe2i
+moer1s5t
+m4oer
+moe4rs
+moe2s
+moe1s3p
+moes4te
+moes2t
+mog2
+5mo1ge
+moge2n4s
+mo3g1l4
+4m2ok
+5mo1le
+2mo1li
+mo4l4ie
+mol4m3a
+mo2lm
+4mo4l1t
+3mom
+4m3o2m1v2
+mon2d3r4
+mo4nd
+mo5no
+5mo2ns
+mon4so
+mon5ta
+mo2nt
+3mo4oi
+mo4o2
+2mop
+m2o3pa
+m1ope
+m4o4p3p
+mo4p4s
+mo3ra
+mo3r4e
+mo3ro
+mor4sp
+mo4rs
+mor4s4t
+mor4s5t4e.
+mor3s1te
+5m2os
+m4o5s2c
+mo4s5l4
+mo3s4ta
+mo2s3t
+mo3t2h
+mo4t3j2
+mot3ol
+mo1to
+mot4s2t
+mo4ts
+mot4s5t4e.
+mot3s1te
+2m3ou1d
+5mouw
+mou4wi
+mo3v2
+m3o4x
+2m1p
+m2p3ach
+m4p3af
+m5pan
+m4p3ar1m
+mp5ar4ts
+mpa4rt
+m4p3ec
+m5pen
+m4p3er1v2
+m2p3i2ns
+m3p2l2
+mp3lam
+m5pl4an
+mp3l4e1g
+mp3le2i
+mp3le1v2
+mp3l4ie
+mp1li
+m4plu
+mp5ol4ie
+m1pol
+mpo1li
+m5pon
+mpo2n4g
+m2p3ope
+mp2r4
+mp3rec
+mp3re1d
+m5pres
+m4ps2
+mp5sc
+m5p4se
+mp3s1h
+mp5su
+2m1r
+2ms
+m3sam
+m4s3a2na
+ms3a2p
+m1s2c
+m2s3co
+m2s3c2u
+ms2j2
+m3s1je
+m1s2l4
+m2sle
+ms3len
+m2s3l4ie
+ms1li
+m3s2m
+ms3ma
+m1s2n4
+m3s3ne4e4
+ms1ne
+mso4
+m3s2ol
+ms3or
+m3s2p
+ms4t
+m3sta
+m1s1te
+m4s5tec
+m5st4el
+m5st4en
+m1s3ti
+m1sto
+m2s5toc
+m4s5ton
+m4s4t5s4
+m3s4y
+2mt
+m1ta
+mte5re
+m1te
+mt2er
+m3tes4
+mte5s3ta
+mtes2t
+m1th
+m1to
+m3tr4
+m1tu
+1mu
+mu5da2
+mu1d
+mue4
+5muil3d4e.
+mu2i
+mui4ld
+muil1de
+2mu4it
+2m2uk
+mu4l3p
+mu2m3
+mu3n4o
+mun2t3j2
+mu2nt
+mu3sa
+mus5ta
+mus2t
+5mut
+mu2t3j2
+mu4ts2
+mut3s5te
+mut2s2t
+3mu4u4
+5m4u1z
+2m1v2
+mva1ri5
+mv4e4
+mve4e3
+mve1r3e
+mve2r
+2m1w
+1my
+my3e
+2m1z
+mz4e4
+mzet5
+4n.
+1na
+3n4a.
+3naal
+na4a4
+5n4aam
+4n1aan
+2naap
+n4a4a4r.
+4n3aa2r1d
+5naa4r2s
+naar4s5tr4
+naar1s4t
+na4ar5tj2
+naa4rt
+5n4aa2s2t
+5naa1t
+n3a4b1d4
+na1b
+5na3b4e
+2nac
+na2ca
+nacee5t
+n4a1ce
+nace4e4
+n2a3ci
+3n2a3co
+4n3a2c1t
+na5d4a
+na1d4e
+3na5d4e.
+5n4a5den
+3na5de2s
+3n4a1d4i
+4n3a2d1m
+na5dra
+na1dr4
+2n1a2d1v2
+5n4ae
+n3a3ë
+4n1af
+na3f4lu
+naf3l2
+n2a3g4
+n2a1h
+3nai
+3na1ï
+n2a1ke
+n4a3k4l4
+na3kr4
+n3a2l1b4
+3n4a1le
+5nalen
+4n3alf
+n3a2lm
+2na1ly
+4nalys3
+3nam
+4na4m1b
+name5s2t
+na1me
+nam4es
+n4a1m4i
+n3a2m1p
+1n3a2na
+n3a4n1k
+3na2nt
+5nan4t.
+5nan3te
+n5anten3n
+nan5t4e4n
+nan4t3j2
+2nap
+nap3ac
+na1pa
+3n2a3p4l2
+n4a3p4r4
+na2p3s
+nap5s4t
+2n1ar1b
+5nares
+na1re
+2n3ar1g
+narie5t
+na1ri
+nar4ie
+2n1ar1m
+3na1ro
+4na4r2s
+nar4s4t
+nar4s5t4e.
+nar3s1te
+nar5st4en
+4n1a4rt
+nas2
+3n4a3sa
+na1s4l4
+na1s1p
+n4a3s3ta
+na2s2t
+na3s4tu
+n4a4t.
+na1t
+3n4a3ti
+na2t5j2
+4n3a4t3l
+na3to
+na4ts4
+nat3sp
+5nau.
+5n4aus
+2na3v2
+5naven
+nav4e
+3n4a3vi
+3n4a3z4if
+na1z
+naz2i
+na4zi2j
+2n1b
+nbe5s2t
+n3b4e
+nbe1s4
+nbe5t2
+nbot4s5t4e.
+nb4o
+nbot4s2t
+nbo4ts
+nbot3s1te
+2n1c
+n3ce
+nces4t
+nce2s
+n3ch4e
+n4c2ht2
+nch5t1r4
+nch3u
+n5co
+4nd
+n5d4a.
+n1da
+nd3aan
+nda4a4
+nd5aas
+n4d3ab4o
+nda1b
+nd3a2c1t
+nd5adel
+nda1de
+n4d3a1dr4
+ndags5p
+n3dag
+nda4gs
+n4d3alf
+n2d3a2lm
+n4d3a2na
+n4d1ap
+n2dar
+nd3a4rt
+n4das3
+nd3a4s3s4
+nda3s2t
+n4da1v2
+n4d3a4z
+n3de
+n4d3e1di
+nde1d
+n4d1e2i
+nde5l4a4a4
+nde1la
+n4d3e2m1m
+n5d2e4n.
+ndera4
+nder5aal
+nde1r2a4a4
+nder5al
+nde4r5an
+n4d5e4rec
+nde1r2e
+nder5i4n.
+nde3ri
+nder5o2g
+nde4t4en
+nde3t4
+nde3te
+ndi3a
+n1di
+ndie4tj2
+ndie2t
+nd4ie
+n4di2js
+ndi2j
+nd5ij4s.
+n4d3i4n1k
+nd4i3o
+n3d2ji
+n2d1j
+n5d4o.
+n1do
+n5doc
+n4d5of
+n2d3o2li
+nd3o2m1d
+n4don
+n5d4o1na
+4nd5o4nd
+n5do2ns
+nd3o2nt
+nd3oo4g
+ndo4o2
+nd3ope
+n2dop
+nd3o4p3p
+n2d3o2v2
+n4d5rap
+n1dr4
+n3dra
+nd3ra1t
+n2d1re
+nd4rek
+n4dres
+nd3rot
+nd3ru2g
+nd3s4c2u
+n2ds
+nd1sc
+nd4sec
+nd3se2
+nd5se4t
+nd3s4i2
+nd3s4jo
+nd4s3j2
+nd4s1m
+nd3sp
+nd4sp4o
+nd4sp2ra
+ndspr4
+nds5t4aal
+nds2t4
+nd1sta
+ndsta4a4
+nd3su4
+n2d3u4it
+n1du
+ndu2i
+n2d3u4r
+nd5u1r2e
+n4d3u4u4
+n2d1w
+n3dy
+1ne
+3n4e.
+ne5ac
+n4ea
+ne3am
+nebe4s4
+ne1b
+ne3b4e
+3n4eck
+ne2c4l
+ne4d4it
+ne1d
+ne1di
+ne3do
+n3e1du
+ne5d2w
+ne4e4
+4nee1d
+nee5k
+nee4l5d
+nee2l
+ne4e1l3o
+3n4eem
+4n1ee2n
+nee5r3i
+nee2r
+nee5s4e
+nee2s3
+nee1t3a
+nee2t
+nee3t5o
+nee3t3r4
+nee4t5s
+4n1e4f1f
+n4e3g2
+ne4gel
+ne1ge
+negen5e2n
+1ne3ge3ne
+nege4re
+4n1e2i
+5n4eien
+ne4i1e
+n5eier
+n2eig
+5nei4gd
+5n4e4i5t2
+ne4k3r4
+ne2la
+4n3e2lem
+ne1le
+4nelf
+3nem
+4n3e4m1b
+5n4e1me
+4n3e4mig
+ne1mi
+4n3e2m1m
+4n3e2m1p
+ne2n
+3n4e4n.
+5ne2n1b
+5n4en4d.
+ne4nd
+nen5d4o
+ne4n5e4n5k4
+ne1ne
+nene2n
+ne4ni
+ne5nig
+ne4n5k4
+nen1o4
+5ne2n1p
+nen5t4a
+ne2nt
+ne5oc
+ne3o
+ne5o3k4
+ne5om
+neo5p
+ne5o3s4
+ne5ot
+ne1p3ag
+ne1pa
+ne3pe
+nep4i3s
+ne1pi
+ne1ra
+ne3ra4d
+3n2e5re
+n3er3fe
+2ner1g
+ne4r3id
+ne3ri
+ne3r2os
+ner4s2l4
+ne4rs
+ner4sp
+ner4s4t
+ner3s5te
+ne1r3u
+ne3ry
+3nes
+ness5a
+ne4s3s4
+ness5t
+ne3sta
+nes2t
+nes3te
+nes4te2i
+ne5s4tek
+ne4t2er
+ne3te
+net3on
+ne1to
+net4si
+ne4ts
+ne2u
+4ne1um
+ne3u2ms
+neu5s3te
+neu4s2t
+2nex
+3né
+2n3f
+2ng
+ngaa2t5j2
+n1ga
+ng4aa1t
+nga4a4
+n2g1a2d
+ng3af
+ng3a1na
+n3gan
+n4ga4p
+n2gar
+nga5s3l4
+nga4s
+n3ga1v2
+nge4ad
+n1ge
+ng4e3a
+n4g3ee2n
+n3ge4e4
+ngels5t4e.
+ngel5s1te
+nge4ls
+ngel1s2t
+n4g3e4m1b
+n5gen
+nge4ra4p
+nge1ra
+nge4ras
+n4giger
+n1gi
+ngi3ge
+n4gi4gs4
+n2g3i2j
+n4gi4nd
+ng3i4n1k
+n4g3i2ns
+ng4l4
+ng5lad
+ng5lam
+ng5l4an
+ng5le1d
+ng5leu
+ng2li
+ng5lin
+ng5lop
+n3go4e
+n1go
+n2g3of
+n3go3ï
+n2g1on
+n2g5oor
+ng2o4o2
+n2g5op
+n4g3o4re
+ng3or1g
+n3got
+n3gr4
+ng3rac
+n3gra
+ng3rad
+ng3rai
+n4gra4s3
+ng5ra4s3s4
+n2g4re1d
+n4g4ri
+ng5r4ie
+ng3ri2j
+n5gron
+ng3ru2i
+n4g2s
+ng4se4
+ngs5lop
+ngs3l4
+ngs4lo
+ngs5lu
+ng4s5ne
+ngs3n4
+ngs5ta4k.
+ngst2a
+ngs2t
+ngs4tak
+ngs5ta1ke
+ngs5trek
+ng1s4tr4
+ng5stri
+n2g3u4it
+n1gu
+ngu2i
+4n3h
+nhek5
+nh4e
+1ni
+n4i2d
+nie5kle
+n4ie
+ni2ek
+nie4k2l4
+ni3e3ri
+nie4s3p
+nie4tr4
+3nie2u
+ni4g3e4e4
+ni3ge
+ni3g3ra
+ni1gr4
+nij3f
+ni2j
+ni2j3k
+2n3ij1z
+ni5kr4
+n4ik
+ni2k4s
+nik3s3p
+3nil
+3n4i4m.
+5n4i2m1f
+n3i2m1p
+2n3i4n.
+n3i2n1b
+2n1i4nd
+2n1i2n3f
+nin4g3r4
+ni2ng
+2n3i4n3h
+n3in1j4
+2ni2n3r
+2n1i2ns
+2n1i2nt
+2n3i2n1v2
+n4i3o
+ni4o4n.
+ni3on
+ni4o1ne
+ni5or
+ni5o5s4
+ni1p3l2
+3n4is
+ni4sau
+ni1sa
+ni4s2el
+ni3se
+ni4s3e1v2
+ni3s1fe
+ni2s1f
+ni2s3i
+ni4s3l4
+ni4s5n4
+ni3s4ot
+ni5st4el
+ni2s3t
+nis1te
+nis5to
+ni3t2h
+n4it
+ni1tr4
+ni4ts4
+n1j4
+n3je
+nje4s4
+nje5sp
+nje5s2t
+nje3t
+4n1k
+nk3aan
+n1ka
+nka4a4
+nk5aa2r1d
+nka4ar4t5j2
+n5kaa4rt
+n2k3af
+n5k4am
+n4k3ar1b
+nka4r5s
+n4k3as1p
+nka4s
+n3kef
+n1ke
+n4k3e4f1f
+n2k3e2m1p
+n3ken
+nke1n4e
+nker5ku
+n2k3i2d
+n1ki
+nk2j
+nk3lad
+n1k2l4
+n4k3lod
+n4k3l4uc
+nk3lus
+n2k3na
+n1k2n4
+n3k1ne
+n4ko4g
+n1ko
+nk3o1ge4
+nkoo4t5
+nko4o4
+n3k4ra
+n1kr4
+n4krim
+n2k3rol
+nk5s2e2
+n2ks
+nk5si
+nk3s2l4
+nk3s4m
+nk3s2n4
+nk4s5o4
+nk1sp
+nk1s4t
+n4kw
+nk3wa4a4
+nk3we1z
+nk3wi
+2n3l
+2n3m4
+n3n
+n5n2e
+nnee5t
+nne4e4
+n1ne3ne
+nne2n
+nne1po4
+nne4p5ol
+nne5te
+nne1t4j2
+n1n4i
+nnin4g5r4
+nni2ng
+n3noo4t5
+nno4o2
+nno5v2
+3n4o.
+1noc
+1no3d
+2noef
+no4e
+noe2n5s
+noes3
+noe4t5s
+n5of5fi
+no4f1f
+n3o2ge
+n5o1gi
+1no1gr4
+3no3ï
+no3k4l4
+n2ok
+no3k2w
+no2li
+1no3lo
+1nom
+4n3o4m.
+n4o1ma
+n3o2m3l
+n1o2ms
+n3o2m1v2
+2n3o2m1w
+2n3o2m1z
+3n2o4n.
+3n4o2n1b
+3n2o2n1c
+4n5o4nd
+n4o5ni
+4no2nt
+3n4oo4d
+no4o2
+4n5oof
+4n1oo4g
+nooi5tj2
+no4oi
+noo4it
+3noo4t3
+noo4t4j2
+3n2o3pa
+no4p3a4s3
+4n3o2p1b4
+no1pe
+n1o2p1g
+n5op3lei1di
+nop3l2
+nop3l4eid
+nople2i
+no4po4o2
+no1po
+no4por
+2no4ps
+2n3o2p5z
+2no2r1d
+no3re
+2n1or1g
+1nor1m
+4no2r5r
+3no4rs
+3no4r1z
+1n2os
+no3s3f
+no3s4n4
+no3sp
+1not
+3n4o1ta
+not5a4p
+5no3ti
+no4t3j2
+n2ot3r4
+3n4ou.
+no3v2
+3n2o3va
+no4v4e
+3no4x
+3no1z
+2n1p
+nper4s5t4e.
+n3pe4rs
+nper1s4t
+nper3s1te
+np4i4s5
+npoor4
+npo4o2
+npoor4t5j2
+np4oo4rt
+n3ps
+2n3r
+nraads5l4
+nr2a4a4
+nr4aad
+nra2a2ds
+n5re
+n5ri
+2ns
+ns3a4d
+n3sag
+n1s2al
+ns3a4lp
+n1sam
+ns3an
+n3s4a2n1c
+n1sa2p
+n3s4cal
+n1sc
+n2s1ca
+n5scho
+n3s4ch2
+n2s4ci
+n4s1co
+nsee5t
+n3se
+ns4e4e
+n4sef
+ns4e4g
+ns5e3ge
+n2s3e4is
+nse2i
+ns5e2m1p
+ns4em
+n3si
+ns3i1di
+n2sin
+n5si2ng4
+ns3in1j4
+ns3i4n1k
+n2s3i2nt
+n1sjo
+nsj2
+n1s2l4
+n5s4l4a.
+n3s4la4a4
+ns5l4aag
+n5s4lag
+ns5l4a4p.
+n3slap
+ns5la4p3p
+n4sle
+n5s4lep
+ns4let
+n5s4leu
+n5sli1b
+ns1li
+n2s3l4ie
+n5s4li4ep
+n5sli2m
+n5s4lip
+ns5lo4t.
+n3slot
+ns3m
+ns5mac
+ns1ma
+n3s4me
+n3s4mi2j
+ns1mi
+n3smol
+ns1mo
+n4s1mu
+n1s2n4
+n2s1na
+n5s1ne
+n4s3no3d
+n4sno4o2
+n4s1not
+n1so
+n2s3o3b
+n2sof
+n3s2ol
+n2son
+n2s3o2ng
+ns3o2n1z
+ns4o4p3p
+n2s1op
+ns4or
+n2s3ou
+n2s1o2v2
+n4s3pa4a4
+nsp4a
+n2s3pad
+n1spe
+n5s4p4e4e4
+n5sp4el
+n4s3per
+n4spet
+ns4pi
+ns1p4o
+n4s3pol
+n4spot
+n1spr4
+ns5q
+n4s5s4
+ns4t
+n1sta
+n4st5aa2n5g
+nsta4a4
+2nst5a4a2ns
+ns4t3a4g
+n3st2al
+n3s1te
+n4s5tec
+n4st3e2i
+n4s5te3ko
+ns5te2ks
+n5ste4n.
+nst4en
+n4s5te2nt
+n5ste4r.
+nst2er
+n4s5te4s
+ns3th4e
+n4sth
+n1s3ti
+n3stig
+n4stij3v2
+nsti2j
+n1sto
+n4st5oef
+nst4o4e
+n4ston
+n3stor
+nst5ra1de
+n1s4tr4
+n4st4rad
+n5stre4e
+ns5tre4k5k4
+n4s5tro4e
+ns5trog
+n4st5ro2o4s
+nstro4o2
+n2s5ty1
+ns3uil
+n1su
+n2su2i
+n3s4y
+2nt
+n3ta
+n5t4aal
+nta4a4
+n4t5aa2r1d
+nta4ar5tj2
+ntaa4rt
+n5ta1b
+nt3ach
+n2tac
+nt4a2c1t
+n4t1ad
+nt3a1ga
+n4t3a4rt
+n3t4as
+n5t4a1t
+n3te
+n5tec
+n4t3e2i
+nt4e4lo
+nt4el
+n5t4em
+n5t4e2n
+nte5n4ach
+nte2n1ac
+nte1na
+nt4ene5t4en
+nte1ne2
+ntene4t
+n1ten3e3te
+nte5rad
+nt2er
+nte4r3of
+n3tè3
+n2t3ha
+n4tho
+n5thol
+n5tig
+n3ti
+n4t3i2n1w
+n2t4jo
+n1tj2
+n3to
+nt4og
+nt4ol
+n4t5o1li
+n5ton
+nt4o4o2
+nt5oo4g
+n4top
+nt3op3l2
+n2t3o2p1m
+nt3o4p1t
+n1tr4
+n2t3rec
+nt3re2i
+n4t3rel
+ntre4s
+nt5ri4b1b
+ntri1b
+n2t5ri2j
+n5t4ro2o4s
+ntro4o2
+n3t4rou
+nt3r2u4s
+n5try
+nts3a
+n4ts
+nt5s4lu
+nt1s2l4
+nt1s2n4
+nt4s4no
+nt1sp
+nt4spr4
+nts5pre
+nt1s2t
+nt5s1te
+n3tu
+n4t3u4it
+ntu2i
+ntu4n
+n5t4wijf
+n4t1w
+ntw4i2j
+n5t4w4is
+3nu.
+3n4uc
+3nue
+nu3en
+nu3et
+4nuf
+2nu2i
+4n3uil
+nu2lo
+3num
+nu2m3a
+5nu2m1m
+nu2n
+3nu2n2c
+n3u1ni
+2nu4r
+3n4u5ri
+nu5ro
+1nus
+nu4s3o2
+nu3tr4
+nut4s2t
+nu4ts
+4nu4u4
+5n4uut
+nuw5a
+nu2w3i
+2n1v2
+nve5na
+nv4e
+2n1w
+nx3
+n3x4e
+nxo4
+1ny
+4n3y1i
+4n3y1o
+2n1z
+nze4t5s
+nz4e
+3ñ
+4o.
+4oa
+o3a4a4
+o2ad
+o3af
+o1ag
+o3ah
+o3ai
+o1al
+oa2m
+o1a2n
+oa4tie3v2
+oa1t
+oa3ti
+oat4ie
+o3au
+o3a1v2
+o3ax
+2o3b
+4o4b.
+obal4
+o3ba
+oba4l1t3
+3o4b1j
+1o4b1li
+o3b4l
+ob5oor
+ob4o
+obo4o2
+o4b5o4r
+4o3br4
+4o1ca
+ocaa1t5
+oca4a4
+5o2c4ea
+o1ce
+o3cha
+o1ch4e
+o3chi
+o3cho
+o3c2hr
+oc1ke4
+4o3co
+oc4o3a
+oc2o3s4
+o2c3t4
+od5ac
+o1da
+o3da3g
+ode4m5ar
+o1de
+od2e1ma
+ode4mo
+ode5r2e
+ode2s4
+odi3a
+o1di
+o5dru
+o1dr4
+od5sc
+o2ds
+od5se2i
+od3se2
+od3s4i2
+od2s4l4
+ods5lam
+od1sla
+od5sl4an
+od3s1li
+od5s4mak
+od2s1m
+ods1ma
+od4s3o4
+od3sp4o
+od4spr4
+ods4t4
+od5sta
+od4s1te
+ods5t4e.
+od5stek
+od5st4en
+o2d3w
+o4e
+oe5an
+o4ea
+oe3as
+oe2d3a
+oe1d
+oeda4d
+oede4n
+oe1de
+oe2d3o2
+oe4d2r4
+oe2d3re
+oed3ri
+oed3ro
+oe2d3u
+oe4d3w
+oe4e
+oe5e2r
+oe4f1a
+1oe1fe
+o4e2fi
+oe2f2l2
+oef3la
+oef5le
+oef3lo
+oe4f5o4
+oe2f3r4
+oege3l
+o4e1g
+oe1ge
+oe2g5i2j
+oe3g4i
+oe2g1l4
+oe4gou
+oe1go
+oei3i4
+oe2i
+oei3n
+oe4i5s4
+oei5tj2
+o4e4it2
+oei3tr4
+oe4ka4a4
+oe1ka
+oek5erk
+oe1ke
+oe3k2e4t
+oe2k3l4
+oe4k3op
+oe3ko
+oe4k3r4
+oe2ku4
+oek1w
+oe4lap
+oe1la
+oe4lar
+oel5dr4
+oe4ld
+oe4l3e2i
+oe1le
+o3e3lem
+oel5f
+o4e1lo4
+o4e5lo4e
+oelo5p
+oel3sp
+oe4ls
+oe4m3ac
+o2e1ma
+oe1m3o4
+oe2n3al
+oe1na
+oe5n4e
+oen5g4r4
+oe2ng
+oen3o
+oen4s2n4
+oe2ns
+2oep
+oe2p5i4nd
+oe1pi
+oe4p2l2
+oe5plo
+oe4p3r4
+oe3p4ra
+oe4p2s
+oe4p3s3e
+oe2p3u
+4oer
+oe1ra
+oe4r2a4a4
+oer5aal
+oe4r3a4l
+oe1r4e
+oer5e4i.
+oere2i
+oe4r5e4i1e
+oero2
+o4e3ro4e
+oer3o2g
+oer5om
+oer4s2l4
+oe4rs
+oer4sp
+oer4sta
+oer1s4t
+oers5tak
+oer4s5t4e.
+oer3s1te
+4oe4s.
+oe3s2fe
+oe2s1f
+oe3si
+oe4s1li
+oe3s2l4
+oe4s3o4
+oes4ta
+oes2t
+oe4s4th
+oe3sto
+oe4ta4a4
+oe1ta
+oe2t3h
+oe5t4i
+oe2tj2
+oe4t3o4
+o4e5t4o4e
+oe4t3ra
+oe1tr4
+oet4s3p
+oe4ts
+oe4t3w
+2o3ë
+of3ar
+o1fa
+of3a1t
+o4fa3v2
+of4d1a4
+o4fd
+of2d3e2i
+of1de
+of2d3o
+of2d3r4
+of4d3w
+of3l2
+o4f1li
+o4flo
+4o1fo
+of3om
+o3fo4o4
+o2f3o4p
+o3f4or
+of3o4x
+of1r4
+o3f2ra
+of5se2
+o4f1s
+of4s2l4
+of5sla
+ofs3le
+of2s2p
+of3spe
+of2s3p4l2
+of3sp4o
+ofs3pr4
+of3s4tr4
+ofs4t
+ofs5tra
+4o4ft
+of4tu
+oft3u4r
+oft3u4u4
+of3u2i
+o1fu
+o2g5ac
+o1ga
+oga4l
+o4g3a4l.
+og5de
+o4gd
+og3di
+oge4d4
+o1ge
+oge5la4a4
+oge1la
+ogel5e2i
+oge3l4e
+2ogem
+o3ger
+oge4r2o
+oger5on
+oge4s3t
+o3ge1s4
+2o2g5h
+1ogig
+o1gi
+og1l4
+og5n4e
+o2g1n
+o2g3op
+o1go
+og3s3p
+o4gs
+og3st2a
+ogs2t
+og4st5e2i
+og1s1te
+og3sto
+og4ston
+og4s4tr4
+ogs5tro
+og3u2i
+o1gu
+o3gy
+2o1h
+3o2h2m
+4oi
+oi3do
+o4i1e
+oi3j
+o4i5k
+o3i2ng
+o4i3o4
+o4i3s4
+oi5sc
+ois3p
+oi2s3t2
+oi4s5t1j2
+o3ï
+2o1j
+2ok
+o3k4a.
+o1ka
+o3ka4a4
+o4k3aas
+ok3a1b
+ok3ag
+o3kal
+ok3a4n1k
+o4k3a4z
+o2k3ef
+o1ke
+o2k4l4
+ok5let
+o4k1li
+ok5lu
+o2k3n4
+ok3o2l
+o1ko
+ok3o4p.
+ok3o4pe
+o3k4o4s5
+o2k3ou
+o2k3r4
+o3k4ra
+ok1sa
+o2ks
+ok3s4l4
+ok3s2n4
+ok5spri
+okspr4
+ok1s4t4
+oks5t4e.
+ok1s1te
+ok5st4en
+ok4s5tr4
+ok5te
+o4kt
+okte4r4s
+okt2er
+o1ku4
+ok3u2r
+ok3u4u4
+ok1w
+ok2wi
+o1la
+o3l4a1b
+o2l3ac
+o3lal
+ol3a2p
+o2l3ar1m
+ola3s4m
+4o4ld
+ol3d4o
+ol3d2w
+o1le
+o3l4e.
+ol4e5g
+ol1e2i
+o4l3e2ks
+ol3e2m1m
+o3len
+o5ler
+oleu2
+ole3um
+ol3exa
+ol2fa
+olf3l2
+ol3fr4
+olf5s2l4
+ol4f1s
+ol2gl4
+o2l1g
+ol2g1o
+olg5rap
+ol1gr4
+ol3gra
+ol4gre
+ol4g3ri
+ol2g3u
+o3li1a
+o1li
+o3l4ic
+o5lid
+o3l4ik
+o3lin
+o5li2ng
+ol3i2nt
+o3l4it
+ol3k3af
+ol1ka
+ol5ke
+ol2kr4
+ol2k4s
+ol2k2v2
+oll4ie4
+o2l1l
+ol3l4i
+o3lo
+o5loc
+ol2o3k
+ol4om
+o4lop
+ol3o4p.
+ol3o4p3p
+olo3s4t4
+ol2os
+o2lo4v4e
+olo3v2
+ol4p2ra
+o4lp
+ol1pr4
+4o4ls
+ol5se
+ol4s5h
+ol5si
+ol1s4j2
+ol3s4l4
+ol3s4n4
+ol3so
+ol3sp
+ol5st2er
+ol1s2t
+ol3s1te
+4o1lu
+o2l3u4it
+olu2i
+olu4r
+4o1ma
+om2a4a4
+om1ac
+om1af
+o3man
+4o1me
+o4m3ef
+om3e1la
+om2el
+ome2n4s
+o3men
+omen5st4e.
+omens4t
+omen3s1te
+ome5ren
+ome1re
+omer5k2l4
+o5merk
+ome5sp
+om4es
+ome5t
+o1m2i
+o4m3i2nt
+4o2m1m
+4o1mo
+omo5l
+o5m2o3s
+om4p5e2i
+o2m1p
+5omro
+o2m1r
+om3s2l4
+o2ms
+om4st4e.
+oms4t
+om1s1te
+om3u2i
+o1mu
+3o2m1z
+o2n1ac
+o1na
+on4a3g4
+o4n3am
+on4an
+o2n3ap
+ona3th
+ona1t
+2o2n1c
+on4d3ac
+o4nd
+on1da
+on5d4as3
+on5der
+on3de
+ond5e3te
+onde3t4
+on4d3id
+on1di
+on4d5i2js
+ondi2j
+on3d5o4m.
+on1do
+on2dr4
+on2d3re
+ond3ro
+ond5s3j2
+on2ds
+ond5slo
+onds4l4
+on3d4u
+on4d3u4r
+o5n4e.
+o1ne
+o3ne1b
+o2n1e2c
+o4n3e2i
+on3erf
+on3er1v2
+one3s2t
+o3nes
+4one4t.
+on1e3v2
+ong5aan
+o2ng
+on1ga
+onga4a4
+ong5aap
+on4g3a4p
+4on5gen
+on1ge
+ong5le
+ong4l4
+on3g2r4
+on4g2s4
+ong5se4
+ong3s3p
+ong3s2t
+on5i2d
+o1ni
+o5nig
+on4k3ap
+o4n1k
+on1ka
+onke5lap
+on1ke
+onke1la
+on3k2i
+on4k3lo
+on1k2l4
+on3k2n4
+on5kw
+on3nes4
+on3n
+on5n2e
+onne5s2t
+o4n3of
+ono3l
+on1on
+o2n1o3v2
+on3sc
+o2ns
+on3s4e
+on5se2i
+on2s2f
+on3s4m
+on2s3n4
+on2s5op
+on1so
+on3s4or
+on1s2p
+on1s4pe
+on3s1p4l2
+on1s4t
+on5st4en
+on3s1te
+on5s4tr4
+4on4t.
+o2nt
+on4ta4a4
+on3ta
+3ont1h
+on4ti3d4
+on3ti
+3on4t1s4
+ont5sp
+3on4t1v2
+1on4t3w
+o2n1u2i
+o2n3u4r
+o4o2
+4o4o.
+oo3c
+4oo4d
+oo1d1a
+oo1d1e4
+oo5d4e.
+oo1d1o
+oo1d1r4
+ood3s4l4
+oo2ds
+ood3sp
+4oof
+oo3fi
+oo4g
+oo1g1a
+oo1g3e
+oo5gi
+oo1g1r4
+oo4gs4
+oog3s1h
+oog3s3l4
+oo1k3a
+o2ok
+oo3ke
+oo2k5l4
+oo2k3s4
+ook5s4t4
+oo4k5w
+oo4l
+oo1l5a2
+oo1le2
+ool3e1d
+ool5f
+oo2l5g
+oo5l4ig
+oo1li
+ool3i2j
+ool3k
+oo3l1o4
+o4o1l1u
+o4o1m5a4
+o4o3me
+oo1m3i
+o4o1m1o4
+oom4s5t4e.
+oo2ms
+ooms4t
+oom1s1te
+4oon
+oo1n5a
+oon5d4u
+oo4nd
+oon3in5
+oo1ni
+oo4n5k4
+oon1o
+oon5ta
+oo2nt
+oo4p1
+o2opa2
+oop5e4e4
+oo1p3o4
+oop3r4
+oop4sp
+oo4ps
+oo1r3a
+oor4d5a4a4
+oo2r1d
+oor1da
+oor5dop
+oor4do
+oo1r1e4
+oor3g4
+oo1r5i
+oor5k
+oor5m
+oor1o
+oor3s4m
+oo4rs
+oor5s1te
+oor1s4t
+oor5sto
+4oo4rt
+oor4th
+o2o4s
+oos3a
+oo5se
+oos5n4
+oo4t
+o4o1t1a
+oo3t3es
+oo3te
+oo1t3h
+oo1t5o
+o2ot3r4
+oot4s2l4
+oo4ts
+o1ö
+2opa
+o4p3ac
+op3ad
+o4p3af
+o4p3ak
+op3a4m
+o3pan
+op3a4nd
+op3a4t.
+opa1t
+op3a4t3t
+3opbre
+o2p1b4
+op3br4
+3op1dr4
+o2p3d2
+o3p4e.
+op4e4e4
+op5ee2t
+op3e2i
+o1p4el
+o3pe4n.
+3o4pe1ni
+o5p4e4r.
+o4pe1ra
+op3e4te
+op3e4v2
+4o2p1f
+o1pi
+o5p4ic
+o2p3i2d
+opie5t
+op4ie
+o2p3ij1z
+opi2j
+op3i4n.
+o5pi1na
+o5p4is
+4op1j
+op3l2
+op5l2os
+1o2p1n
+o1po
+opo4e3
+op1of
+o5pog
+o5p4oi
+o5pol
+op3o4nd
+o5po1ni
+op3o2nt
+op3o2r1d
+op3o4re
+op3o4v2
+op1r4
+o4p3r4ic
+o4pru
+o4ps
+op5s2c
+o4p5se
+op5si
+3op1s4l4
+ops4m
+op3s1ma
+op3s2n4
+op3so
+op3sp
+op3sta
+op1s4t
+op3su
+2o4p1t
+4op4t.
+op5tr4
+op3u2i
+o1p2u
+o3p3u2n
+o1ra
+or3ach
+o2rac
+or3a2c1t
+o4r3a2d1m
+or1af
+ora4g
+o4r3a2l1g
+o4r3a1na
+o5ra1te
+ora1t
+or4da4a4
+o2r1d
+or1da
+or4d3as3
+or4de2n1v2
+or1de
+or4do
+ord5o4nd
+ord3or
+or2d3o4v2
+or3dr4
+or4drad
+or3dra
+or2d3w
+o1re
+ore5ad
+or4ea
+4orec
+ore4e4
+ore4no
+or2gl4
+or1g
+o1ri
+o5ri1a
+3ori3ë
+o5ri4g.
+or4ig
+o5rige1re
+ori3ge
+o4r3i4n1k
+o4r3i2ns
+or1k2a
+or5k4e
+or3k2l4
+or5k2n4
+or3kw
+or4m3ac
+or1m
+or1ma
+or4mas
+or4m3e4i
+or1me
+or4n3ac
+o2r1n
+or3na
+or3ni
+or1n2o3s4
+or3o4e
+o3rol
+or1on
+o4r3o2n2t
+or1o4o2
+or1o2p
+or3or
+o3r2os
+or5o3v2
+4or1p
+or4p3ac
+or3pa
+orp4s5c
+or2ps
+or3s3a2g
+o4rs
+or5sc
+or5se
+or3s1li
+or1s2l4
+or3s1mi
+ors4m
+or3so
+or4son
+or3sp
+or5s4p4a
+or5s2p4u
+or4t3ak
+o4rt
+or1ta
+or4t5ee4n
+or1te
+orte4e2
+or4t5ijl
+ort4i2j
+or3ti
+or3to
+or4to2f
+or4t3o4o2
+or4tre1d
+or1tr4
+ort5sp
+or4ts
+ort5s1te
+orts2t
+or1u
+o3ry
+orzet5
+o4r1z
+orz4e
+2os
+o4s1ac
+o5sas
+o3sau
+4o3s2c
+o2s1ca4
+o4s3ci
+o5s4c4l
+o2s3c2u
+o5se1d
+o3se
+os4el
+o5ser
+o2s3f
+os4fe
+o4sha
+os1h
+o3shi
+os2ho
+o3si
+o4sj2
+os5je4r.
+os1je
+o1sjer
+o4s1k2
+os5ko
+os3l4
+os5li4
+o4s3m
+os4n4
+os5no
+o3s2o
+os3p4a
+o4s3per
+os1pi
+os4pir
+o4spr4
+os4s5m
+o4s3s4
+o2s3t
+os4ta
+os5t4aal
+osta4a4
+os5taar
+o2s4t1a3c
+os4t3a4g
+os5tan
+os5tar
+o3s3tas
+o3sta1t
+os5t4e.
+os1te
+os4t4em
+o5ste1ro3ï
+ost2er
+o4s4th
+os4to
+os5to5li
+os4t2ol
+os5tou
+os4t3o4v2
+o4s5tr4a.
+o1s4tr4
+os5tr2a4a4
+ost3re
+ost3ri
+o3stro
+os5t4r2um
+o3stru
+o1s1tu
+o3s4ty1
+o3su
+o5s4y
+4o1ta
+ot3aar
+ota4a4
+o2t1ac
+ot3af
+o3tag
+ot3a4kt
+ot3a4p3p
+ot3a4rt
+o3tas4
+o5ta1t
+o3te
+ot3e2d
+o5te4e.
+ote4e2
+o5tee2s3
+o5t4e1g
+ot3e2i
+ote4l4an
+ot4el
+ote1la
+o5t4en
+o5t2er
+oter5sp
+ote4rs
+ote4s2t
+o3tes
+ote4t
+ot3e3ta
+o1th
+o2t1ho
+o2t3hu
+o4tj2
+otje5sp
+otje4s3
+ot1li2
+o4t3l
+o1to
+ot3o4f1f
+oto2f
+ot3ol1v2
+ot2ol
+o5tom
+ot3o2nt
+o2t3o2p1m
+oto5po
+ot3op1r4
+o5t4or
+o3t2o3s4
+2otr4
+o1t4ro
+ot3ru
+ot5s4i
+o4ts
+ot2s2l4
+ot3sla
+ots3li
+ot3s1mo
+ots1m
+ot3s2n4
+ot3sp
+ot4s3p4a
+ot4st4e.
+ot3s1te
+ots2t
+ots5tek
+ot5st4en
+ot4stu
+o1tu
+ot3u2i
+o3tul
+o4t5w
+4ou.
+ou5a
+o4u1c
+ou4d1a2
+ou1d
+ou4de2s
+ou1de
+ou2do
+ou1e
+oue2t3
+o2u3k4
+ou4re4n
+ou1r2e
+ou5r4e4n.
+ou5r4en3n
+ou2r3o2
+4ous
+ou3sa
+ou4s5c
+ous2t4
+ou2ta
+out3h
+ou2t1j2
+ou2t3o
+out1r4
+out5sp
+ou4ts
+out5s1te
+out2s2t
+ouw3a
+ouw5do
+ou2w1d
+ou4w5i2n2s
+ou1wi
+o2v2
+2o3va
+o5v4e.
+ov4e
+2o5ve4e
+3o4ver1g
+ove2r
+over5sp
+ove4rs
+over5s1te
+over1s4t
+o5ve2s3
+2o3vi
+ovi5so
+ov4is
+4o3vl
+4o3vo
+4o3v4r2
+ovu3
+4ow
+o1wa
+o1we
+o5we2n
+ow3h
+o1wi
+o2w2n
+o3wo
+ow3r
+o4x
+oys4
+ozet5
+o1z
+oz4e
+ö3l
+ö1p
+öpe1
+ö4r
+ös4
+ös5t
+ö5su
+4p.
+4paan
+pa4a4
+paar5du
+paa2r1d
+pa4ar5tj2
+paa4rt
+5paas
+3pa1b
+p3a4c1c
+2pach
+pach4t5s
+pa4c2ht
+p4a3ci
+5p4a1c2u
+3p4a4d.
+pa4da
+4pa2d1v2
+p4a3e
+4p3a4fd
+1pag
+pa1g2a
+pa4gen
+pa1ge
+pa3g1h
+p4a5gi
+3pak
+pa2k3a2
+4p4a1ke
+pa4ki
+p4a4k5l4
+2p3a2l1b4
+3pa1le
+pal3f
+pa3li
+palin4g5s
+pali2ng
+pal5le4
+pa2l1l
+pal4m5ac
+pa2lm
+pal1ma
+pal4mo
+pa4m
+pa3na
+pa4n3a4d
+5pane4e4
+pa1ne
+5panel
+4pa4n1k
+pan5sp
+p4a2ns
+pan4tr4
+pa2nt
+1pap
+pa4pe4t
+pa1pe
+5p4a1pi
+p2ap3l2
+pa3po
+p4a3pr4
+4p4a4r.
+3pa3ra
+p3ar1b
+pa2r1d4
+par3da
+3park2
+par4ka
+par4k5l4
+3par3l
+4par1m
+pa5ro
+4pa2r5r
+par5ta
+pa4rt
+3par3ti
+p4ar4t3j2
+3par4t3n
+pa5ru
+paru5r
+1pa4s3
+p4a5sa
+pa2s5c
+p2a5se
+p4a5so
+pa4s4th
+pa2s2t
+pas5to
+p4a1s5tr4
+pa5te
+pa1t
+1path
+p3a4t3l
+3pa3tr4
+pat4s5t4e.
+pat2s2t
+pa4ts
+pat3s1te
+2pau3t4
+5p4a4u1z
+pa4vl
+pa1v2
+5pa1z
+2p1b4
+2p1c
+2p3d2
+pe4al
+p4ea
+4pe3ci
+p3e2co
+3pectu
+p4e2c1t
+1pe1d
+pe3de
+pe3do
+p4e4e4
+3pe4e.
+3pee3ë
+pe2e5li
+pee2l
+4pee2n
+5pee2s3
+3p4e1g
+1p4eil
+pe2i
+pei4l3a
+4pe4is
+pek5e4e
+pe1ke
+pe2k3l4
+pe2k3n4
+pe2k5s
+p4el
+pe3l4a4a4
+pe1la
+pe4l3ak
+pel5dr4
+pe4ld
+pe3le
+pe4l3e4e4
+pe4l3e4t
+p2e3l4i
+pe3l4o2r
+p4e1lo
+pel5si
+pe4ls
+pel3so
+pel3sp
+2p3e2m1m
+pe3na
+pe4n1ak
+pe4n1a2p
+pe4nau
+pe4n3a2z
+p3en1cy
+pe2n1c
+pen5d4r4
+pe4nd
+pen1ge5
+pe2ng
+pe4n5k
+5pen3n
+pen3sa
+pe2ns
+pen5s2l4
+pen3s3m
+pen5s2p
+pe2nt4
+pen5to
+2p3e1pi
+pe1p3o
+pe2p5s
+p4e4r.
+pe1ra
+pera3s4
+pe1r4a1t4
+3per1c
+pe4r5e1g
+pe1re
+pe5r3e2q
+1pe3ri
+pe5r4i3s
+per1o
+pe3r1on
+pe5r2os
+3pe4rs
+per4s4m
+per5s3ti
+per1s4t
+per4s4tr4
+p2e4rt
+3pes
+pe3sa
+3pe4t.
+pe5ta
+5pe5t2er
+pe3te
+3pe3ti
+pe4t3ra
+pe1tr4
+pet4s5te
+pe4ts
+pets2t
+pe1tu5
+3pe2uk
+5peut
+1pé
+3pê1
+2p1f
+2p1g
+p3ge5s4
+p1ge
+2p1h4
+4p3ha
+3p4hec
+ph4e
+p4h4is
+4pho
+pi3am
+pi1a
+pi5an
+pi4a1t
+2pid
+piek5la
+p4ie
+pi2ek
+pie4k2l4
+5pi4ep
+pie4r3o
+pie4s3p
+pie4tj2
+pi2g5a
+pi3gl4
+3p4i4j.
+pi2j
+pi2j3k
+pij5ke
+pij4li
+3p4ijn
+5pijp
+pij4p3a
+2pij1z
+pi4k3l4
+p4ik
+pilo5g4
+pi1lo
+pi5nam
+pi1na
+2pi4nd
+3pin1da
+3p4i2ng
+5pin4g.
+pin4ga4
+pin5g4ri
+pin4gr4
+4p3in1j4
+pin1k3r4
+pi4n1k
+pin2k5s
+4pi2n3r
+2pi2ns
+pin4ta
+pi2nt
+p4i5o
+pi4s5n4
+p4is
+pis5ta
+pi2s3t
+pi3th
+p4it
+pi4t3j2
+pit3r4
+pit4sp
+pi4ts
+2p1ja
+pje4s5
+p3ji
+p1jo
+2p1k
+pka4ar4t5j2
+p1ka
+p5kaa4rt
+pka4a4
+p2l2
+p3l4a.
+plaa2t5j2
+pla4a4
+plaa1t
+2p3lad
+pl4a3d4i
+4p3la2m1p
+4p3la2ng
+pl4an
+p4la2nt
+p3lap
+1p4las
+3p4la1t
+pla4t3r4
+5p4lay
+p4lec
+plee5tj2
+ple4e4
+plee2t
+p3l4eid
+ple2i
+3p4len
+p3lep
+pleu5r4o
+p4lex
+2p3l4ig
+p1li
+4pli2j
+p4lom
+p3lo1ne
+p5l4oo4d
+plo4o2
+plooi5tj2
+plo4oi
+ploo4it
+p3l4oon
+p3lu4i3e
+plu2i
+2p1m
+pman4s5t
+p1ma
+p5m4a2n2s
+2p1n
+p3na
+3p4ne1um
+p1ne
+pne2u
+3p4o.
+po1da5
+3poe2i
+po4e
+poe2s3
+poes5t
+poets5t4e.
+poet4s1te
+poe4ts
+poets2t
+3poe1z
+3p2o3ë
+p2o1fa
+3po1gi
+po5gr4
+po2k3i2
+p2ok
+po4k3o2l
+po1ko
+1pol
+po5l4o
+po4lo3p
+p4o4l4s
+pols5t4e.
+pol1s2t
+pol3s1te
+1pom
+2p3o2m3l
+3pon2ds
+po4nd
+pon4s4m
+po2ns
+pon4s4t
+pons5t4e.
+pon3s1te
+pon5ta
+po2nt
+5po1ny
+p4oo4d
+po4o2
+poo5d1e4
+4poo4g.
+poo4g
+3poo4l
+poo5len
+poo1le2
+4poo4r.
+poor4tj2
+p4oo4rt
+poo4t3
+p2o4p3a
+4po2p3d2
+2pope
+po2p5h4
+2p3or1g
+2p3ork
+po3ro
+p4o4rt
+5port4ef
+por1te
+por4to
+por4t5ra
+por1tr4
+po3r1u
+1p2os
+po1sa
+po3s3f
+po4ta4a4
+p4o1ta
+po4t3as4
+po5te
+pote4s5t
+po3tes
+po4t1j2
+p2ot3r4
+3poul
+po3v2
+4p3p
+p5pa
+p5pe
+pp4e4l3o
+pp4el
+ppe5ni
+pper5s1te
+p3pe4rs
+pper1s4t
+ppi2e5k
+pp4ie
+p5pij5p
+ppi2j
+p4ps
+pr4
+p2ra
+3pr4a.
+p5r4aad
+pr2a4a4
+praa2t5j2
+praa1t
+p5rad
+3pra4kt
+4pram
+p5ra4nd
+3pr2a3o
+4p3rap
+p4ra1t
+p4rax
+4pree1ku4
+pree4k
+pre4e
+1prem
+p3re2m1m
+3pre2nt
+pren4t5j2
+3pres
+p3re1so
+3pret
+pre4t3j2
+pre1t3r4
+4pr4ic
+4p3ri2ek
+pr4ie
+4priet
+prie4t5j2
+1pri2j
+3pr4ik
+3pri2n1c
+prin4g5s4
+pr4i2ng
+5p4ri2ns
+3p4r4i1o
+3p4r4i3u2
+5pri1v2
+5p4r2o3b
+3p2r4oc
+1p2rod
+p3roe1d
+pro4e
+3p4roef
+proe2t5j2
+3p4roe1v2
+5p4rof
+5p2rog
+1pr2o1j
+pro3l3a
+3prom
+p3r4oo4d
+pro4o2
+pro4oi5
+pr2o5pa
+p4ro1q
+3pr2os
+pr4o5s2c
+pro4s5t
+pr4o3t4a
+3pro1to
+3pro5v2
+4p3roy
+p4ru2t
+pru1t3o4
+2ps
+p3sa1b
+ps3a2g
+p3sak
+ps3ar
+ps3a4s3s4
+4p3se
+ps3erk
+p4s3e4t
+p3si
+p4s3i2d
+p4sin
+p5s4i4s
+p1s2l4
+ps3le
+ps2me
+ps1m
+ps5mi
+p4s3na
+ps2n4
+ps3ne2u
+ps1ne
+p4sof
+p3s2ol
+ps3o4p1t
+p2s1op
+pso4r
+p1sp
+p2s2p4l2
+ps3ple
+p1s4t
+p3sta1t
+p3s1te
+p4s5te2nt
+pst4en
+p4s5te4s
+p4s5th
+ps3tor
+ps5tron
+p1s4tr4
+p3stu
+p2s5ty1
+3ps4y
+5p4sy1c
+p3sys5
+4p1t
+p4t3ad
+p4t3a2l1b4
+pt2al
+p3te
+p2t1h
+p5ti
+p1t3j2
+p4t3o4v2
+p3tr4
+pt3r4ic
+1p2u
+3p2u2b
+pu3ch
+p4uc
+pu3e
+pui1l3o
+pu2i
+pul4s2t
+pu4ls
+3pun
+4pu4n.
+pun2t3j2
+pu2nt
+3pu4t.
+puter5in
+pu1te
+put2er
+pute3ri
+pu2t1j2
+pu2t3o
+put3r4
+put4s2t
+pu4ts
+put4s5t4e.
+put3s1te
+2p1v2
+pva2n4
+pva1ri5
+2p1w
+1py1
+2p5z
+1q
+5qe
+qu4
+que4s
+5quo
+4r.
+r2a4a4
+2raan
+4raa4nd
+3raar
+5ra4a4r.
+4r3aa2r1d
+5raa4r2s
+ra4ar5tj2
+raa4rt
+2rac
+ra4ca
+r4a3ce
+5r2a1c4l
+ra1d4a
+3ra2d1b
+ra5den
+ra1de
+r4a3d4i
+5radi2a
+3rad4i2o
+4ra2d1m
+4r3a1dr4
+3r2a2d3s
+4ra2d1v2
+2ra4fd
+r4a4f1f
+raf5o4n4d
+r4a1fo
+ra3fra
+raf1r4
+3ra5g4e1z
+ra1ge
+ra5gi
+ra3g2n
+ra5go
+ra4g4s
+3ra4i3s4
+rak2e2t3
+ra1ke
+r4a3k4l4
+ra2k5r4
+4r3a2la
+ra4l3e4e4
+ra1le
+4r3alf
+r3a4lim
+ra1li
+r3a4l1t
+ra4man
+ra1ma
+r5a2meu
+ra1me
+ra3m4i
+r2a2m1p
+4ra1na
+ran4dr4
+ra4nd
+ran4g3o
+ra2ng
+ran4gr4
+r5ang4s4t.
+ran4g2s
+rangs2t
+ra4nim
+ra1ni
+4ran1j4
+ran4k2l4
+ra4n1k
+ran4k3w
+ran4sa
+r4a2ns
+ran4s4t
+ran4t3j2
+ra2nt
+r3an4t3w
+r2a3o
+4r4a4p.
+ra3po
+4r1ap5pa
+ra4p3p
+rap5ro4e
+r4apr4
+ra3q
+2r3ar1b
+r4a5re
+4rar4it
+ra1ri
+2r1ar1m
+4r3a2r5r
+2r1a4rt
+ra5se2i
+r2a3se
+ra4s3k2
+ra4s3l4
+r4a1so
+ra2s1p
+ras3p4o
+rast5ri
+ra2s2t
+r4a1s4tr4
+r4a3ti
+ra1t
+ra2t5j2
+ra4tom
+ra4tra
+ratr4
+ra5tri
+rat3sp
+ra4ts
+rat4s2t
+rat4s5t4e.
+rat3s1te
+ra3t4u
+2rau
+3r4aus
+r1au3t4
+5ra3v4r2
+ra1v2
+ra4zi2j
+ra1z
+raz2i
+rbe4ti
+r1b
+r3b4e
+rbet2
+r1c
+r3ce
+rce2s3
+r3chi
+r3co
+2r1d
+r4d3a2c1t
+r1da
+rd3alk
+rd4a2m
+rd5a1m4a
+r3dan
+r2d3ar
+r2d3e2i
+r1de
+r4d5e4las
+rde1la
+rden5dr4
+rde4nd
+rde5o4
+r4derva
+rder1v2
+rde5s4t
+rde2s
+rdi3a
+r1di
+rd4i5o
+r4d5l
+r3do
+r5doc
+r4d3ol
+rd5ol4ie
+r2do2li
+rd3o2nt
+rd3o2o4s
+rdo4o2
+rdo3pe
+r2dop
+r2do3v2
+r4d3ras
+r1dr4
+r3dra
+rd3res
+r2dre
+r4d5ro2o4s
+rdro4o2
+rd2ru
+rd3s1a2
+r2ds
+rd3s4c
+rd3s1o4
+rd1sp
+rds4t4
+rd5sta
+rd5s1te
+rd3su4
+r3du
+rd2wi
+r2dw
+r4d5wo
+3r4e.
+1re3ac
+r4ea
+re4a1de
+re1ad
+4reak
+re3a4m1b
+4re5a1t
+re3co
+3re1c4r2
+rec5ta
+r4e2c1t
+3re1da
+re1d
+3re4d3d4
+rede4s3
+re1de
+4re4di3t2i
+re1di
+red4it
+3re1du
+re5d2w
+ree4k
+re4e
+2r1ee2n
+ree3n4e2
+r5ee4n3h
+ree2p
+ree2p2s5
+ree5r4ad
+ree2r
+reer1a
+4ree4rs
+reer5s1te
+reer1s4t
+r3eer1w
+ree4s3
+ree5s1h
+r4ef
+4re4f1b
+2re4f1f
+3re1f2l2
+re3fu
+1r4e1g
+4re4g.
+4re4gd
+re3ge5ne
+re1ge
+re3ge4s4
+4re4g3g4
+3re3g4i
+re3gl4
+4re4gt
+4re4i1e
+re2i
+4reil
+4rei4nd
+rei5tj2
+r4e4it2
+5r4e4i1z
+re4kap
+re1ka
+5reke1ni
+re1ke
+re2k3l4
+re2k5n4
+re4ko
+re4k3re
+re1kr4
+rek3sp
+re2ks
+re4ku4
+re1kw
+rel4di
+re4ld
+rel4d3o
+rel4d3r4
+re4l3e2i
+re1le
+rel5k
+re4lu4r
+r4e1lu
+3re4m.
+re4mai
+r2e1ma
+remie5tj2
+re1mi
+rem4ie
+re5mo5v2
+re1mo
+2re2m1p
+3r4e4n.
+re2na
+re4na4a4
+re3n5aar
+re5na1d4e
+re3nal
+re4n3an
+ren3a4r
+r4e4nd
+5rende4e
+ren3de
+r5ende4rt
+re5n4e.
+re1ne
+re4nel
+re5n4e4n.
+rene2n
+ren5e4n5k4
+re2n3e4p
+re5ne4r.
+ren5erf
+re4n5er1v2
+5r4e2n3f
+2r1e1ni
+5r4en1k2l4
+re4n1k
+r4en3n
+re4noc
+ren4og
+ren4op3l2
+re2n1o2p
+re3n1o3v2
+5r4e2n1p
+4r3en1q
+ren4s2l4
+re2ns
+r4en3to
+re2nt
+r3en4t1w
+r5envee2r
+re2n1v2
+renv4e
+renve4e
+re4of
+re3o
+re4op4
+re5pa
+3repet
+re1pe
+re4p4ie
+re1pi
+4re1q
+r4e3qu1a
+requ4
+4r1erf
+2r1er1g
+re3r2o
+re4r4s
+2r3e4rt
+4r5er1v2
+2rer1w
+re3sa
+re5s4e
+re4s2l4
+res5le
+res3m
+re2s1p
+res3t
+re4t4em
+re3te
+re3t4h
+re3t4i
+re4t4ik
+re5tin
+2re4t3n
+re4t3o4g
+re1to
+re4t3o4o2
+rets5t4e.
+ret4s1te
+re4ts
+rets2t
+re2u
+reu4r5es
+reu1r2e
+reu4s4t
+reu5s3te
+3rev4is
+re1v2
+re3vi
+3revo
+2r3ex
+r4f3a4a4
+r1fa
+rf3a2c1t
+r2f3a4g
+rf3al
+r3fas
+r3fe
+r4f3e2ng
+r1f2l2
+r4f3lag
+r4f3le1v2
+r2f3li
+rf3lus
+r4f3o4p
+r1fo
+r1fr4
+r4f3re
+r5fr4ea
+r4f2s2
+rf3s2m
+rf3s2p
+r4f3u4r
+r1fu
+r2f3u4u4
+r1g
+r4g3a1b
+r1ga
+r4g3a4m1b
+r4g3ee2n
+r1ge
+r3ge4e4
+rg3e2i
+rg4e4is
+rgel5dr4
+rge4ld
+r5g4e4n.
+rge4ra
+rge5ra4p
+r4g3i2ns
+r1gi
+r5gla4s
+rgl4
+r3glo
+r4g3lu
+r2g4o3v2
+r1go
+r5gri2j
+r1gr4
+rg3r4it
+r3g4ro
+r4g1s4
+rg2s1m
+rg5s1o4
+rg4s5pr4
+rgs3p
+r3h
+ri5abel
+ri1a
+ri4a1b
+ria3b4e
+ri4a3g2
+ri2ak
+ri5an
+rias4
+ri4a1v2
+ri4b4l
+ri1b
+4ri3ce
+r4ic
+ri3co
+rid1de4
+ri4d3d4
+ri3di
+ri4dol
+ri1do
+ri4do4o2
+rie5d2r4
+r4ie
+rie1d
+rie4k5ap
+ri2ek
+rie1ka
+rie5k2l4
+rie3kw
+rie4la
+riel5a4a4
+rie4le2i
+rie1l4e
+rie4r2o
+rie4ta
+rie3t3o4
+ri1e2u
+ri3f3l2
+r4if
+ri3f3r4
+r4ig
+ri4g3a4a4
+ri1g4a
+ri3gl4
+5rig1s1te
+ri4gs4
+rigs2t
+r4ijl
+ri2j
+4r5ij4l.
+r5ij4ld
+r5ij4l1t
+rij5o4
+rij3p2l2
+rij3pr4
+r4ij3sp
+ri2js
+rij5st2er
+r4ijs2t
+rij2s3te
+rij4s4tr4
+4rij3v2
+ri4k5l4
+r4ik
+ri2k5n4
+ri3k4o
+ri2l5m
+ri3ma
+rim4p2r4
+ri2m1p
+4r3i2n1b
+4ri4nd
+ri5ne
+4r5i2n3f
+r4i2ng
+4r5in3gan
+rin2ga4
+r5in3ge1ni
+rin5gen
+rin1ge
+ring5l4
+4r3i4n3h
+ri4n4it
+ri1ni
+rin4k3l4
+ri4n1k
+r3in1ko
+4rin4kt
+r3i2n3l
+4r3in1na
+rin3n
+4r1i2n3r
+4ri2ns
+r3ins4t
+4ri2nt
+4r1i2n1v2
+ri5on
+r4i1o
+ri3o5s
+ri4sam
+r4is
+ri1sa
+ri4sc
+ri3s4ot
+ris5to
+ri2s3t
+ri4t3j2
+r4it
+ri4t3o4v2
+ri1to
+rit4s2t
+ri4ts
+rit4s5t4e.
+rit3s4te
+rit5st4en
+3ri4t3t
+r5j4
+rjaa4r2s5
+r1jaar
+rja4a4
+r5k4a.
+r1ka
+rka4ar4t5j2
+r5kaa4rt
+rka4a4
+rk3a1dr4
+r2k3af
+r2k3ah
+r4k3a2ng
+r4k3a4rt4
+r2k3e2i
+r1ke
+rke4n
+rke2n4s
+rker4s2l4
+rke4rs
+r4k3er1v2
+rke4s
+rke5stre4e
+rkes2t
+rke1s4tr4
+rke5strer
+rk5i4ep
+r1ki
+rk4ie
+r4k3ij3v2
+rki2j
+r4k3i2n1b
+r4k3i4n1k
+rkje4s5
+rk1j
+rk3lag
+r1k2l4
+r4k3la1t
+rk5l4eid
+rkle2i
+r2klo
+rk3lo4o2
+rk3lus
+r3k2n4
+r4k1ne
+r2k2o3b
+r1ko
+r2k3o2lm
+r4k3o2m5g
+rkoo4t5
+rko4o4
+r4k3o2p1g
+r2k3o2r1d
+r4k5o4s.
+r3k4o4s3
+r4k5o4s3s4
+r1k2r4
+r5k4ran
+r3kra
+rk4ri
+r5kr4is
+r5k4ron
+r2k1s
+rk3s4f
+rk5si
+rks4p
+rk4t5e4v2
+r4kt
+rk3te
+rkt3h
+rk4ti
+rk1t3o
+rk1t1r4
+r2k3u4it
+r1ku
+rku2i
+r1kwa
+rk3wa4a4
+r4k5wa1t
+rk3we4e
+r1kwi
+r2k3win
+r3l
+rlaat5s1te
+rla4a4
+rlaa1t
+rlaat2s2t
+rlaa4ts
+rle4g3r4
+rl4e1g
+rlin2k4s
+r1li
+rli4n1k
+rlink1s5te
+rlink1s4t
+rlo4f4s5
+r2lu4i5t4
+rlu2i
+r1m
+rma3f4r4
+r1ma
+r4m3a4rt
+r2m3e1b
+r1me
+r2m5e1g
+rme4r3a4
+rm4es3
+rme4t3j2
+rmet5s2t
+rme4ts
+r4m3i4n3h
+r1mi
+rm4i2s
+r3mo
+r5mo4e
+r4mop
+rm3o2p1m
+rmor3s5te
+rmor4s4t
+rmo4rs
+rmo2s5f
+r5m2os
+rm3s4a
+r2ms
+rm1s4t
+r2m3u4it
+r1mu
+rmu2i
+rmun4
+2r1n
+r3na
+r5n4am
+r4n3ap
+r4n3a4r2s
+rnee5t
+r1ne
+rne4e4
+r4n3e1ne
+rne2n
+r3nes3
+rne5te
+rne4t3j2
+r2n5i2d
+r1ni
+r2nin
+r2n1on
+rn3oor
+rno4o2
+r5noo4t3
+r2n3o4ps
+r5not
+rn3o4v4e
+rno3v2
+r2ns4
+rn3s3m
+rn3sp
+rn1s4t
+rn3sta
+rn3th
+r2nt
+rn5tj2
+rn5to
+r3nu
+r2nu5r
+r4o1a
+ro5ac
+r4oc
+ro1ch
+ro3d4o
+3ro4e.
+ro4e
+4roef
+4ro4e1g
+roe4g3r4
+3roem
+roe2ns4
+roen5s3m
+roe4p3l2
+r2oep
+roe4re2i
+r4oer
+roe1r4e
+roe2t4j2
+4roe1v2
+3r2o3ë
+r5of5fi
+ro4f1f
+r4o1fi
+ro3f3l2
+ro3ge1s5
+ro1ge
+1ro3ï
+ro3k4l4
+r2ok
+3ro2k1m
+rok3sp
+ro2ks
+r4o4l.
+ro2l3a
+role5s3t
+ro1le
+role2s
+ro2l3g2
+2ro1li
+rol3o3v2
+ro3lo
+r4o5ma
+r4o3mo
+4r3o2m1z
+r2o4n.
+ron3a4d
+ro1na
+5r4onal
+ron4da
+ro4nd
+ron4d3o
+ron4d3r4
+ron4d5u
+r2o1ne
+r2o1ni
+r2o4n1k
+ron4ka
+r2on3n
+r2o1no
+r2o2ns
+ron4s1te
+ron1s4t
+rons5t4e.
+4ro2n2t
+ron1t3j2
+ron1t3r4
+ro3nu
+4ro2n1v2
+3r4oof
+ro4o2
+2roo4g
+4r4oon
+2r1oor
+root5s1te
+roo4t
+roo4ts
+roots2t
+r2o3pa
+ro4pa4a4
+ro4pan
+4ro2p1b4
+ro1pe
+ro5p4e4e4
+ro4pin
+ro1pi
+ro3p4la
+rop3l2
+4r1o2p1n
+r4o1po
+rop5rak
+rop1r4
+rop2ra
+rop3s1h
+ro4ps
+r4op3te
+r2o4p1t
+ro4p2u
+ro2r5d
+ro3ro
+ro3sa
+r2os
+ro5se
+ro3s3f
+ro3s1h
+r4o5si
+ro3sp
+ros4s5t
+ro4s3s4
+ro5st4el
+ro2s3t
+ros1te
+ros5tra
+ro1s4tr4
+ro5te
+ro3t2h
+ro4t3j2
+ro5ton
+ro1to
+r2o3tr4
+rot4s1te
+ro4ts
+rots2t
+rot4s5t4e.
+r1ou1d
+3rou5t4
+ro3v2
+ro4v4e
+ro5ve3ri
+rove2r
+4roxi
+ro4x
+3roy
+r1p
+r3pa
+r4p3aan
+rpa4a4
+r4p3a2d1v2
+r4p3a4n1k
+r5p4e4e4
+r4p3e4is
+rpe2i
+rp4i3s
+r2p3j
+rp4lo
+rp2l2
+rp5lod
+rpoor4t5j2
+rpo4o2
+rp4oo4rt
+r4p3o4v2
+r4p3rec
+rpr4
+r4p3r4ic
+rp4ro
+r3psa
+r2ps
+rp4si
+rp2s2l4
+rp3s1li
+rp5spe
+rp1sp
+rp4s5to
+rp1s4t
+2r5r
+rr4e4l3u
+rre2n5s4
+rre5o
+rre2u2
+rri5e4r.
+rr4ie
+rrie4t
+rr2o4n5k
+rro4t4j2
+4rs
+rs3a2d
+rs3a2g
+r3s2al
+r4s3a2lm
+rs3a4m1b
+r3san
+r4s3a2na
+rs3a2p
+rs3ar
+rs3as
+rs4as5se
+rsa4s3s4
+r3sa4te
+r1sa1t
+r5s2chi
+r1sc
+r3s4ch2
+r2s2c4r2
+r4s3e4is
+r3se
+rse2i
+rsek5s1te
+rsek4s4t
+rse2ks
+rs4e4t
+rsev4e3
+rse1v2
+r4s3e1z
+rs4f4er
+r2s1f
+rs1fe
+rs4hal
+rs1h
+r3s2hi
+r3s4hoc
+rs3hot
+r4s3i2ni
+r1si
+r2s3i2nt
+r4sj4
+r5sjac
+r5sj4ou
+r5sjt4
+r3s4ka1t
+r2s1k2
+rs1ka
+r1s2l4
+r4sl4an
+r5slec
+r5s4lep
+r5s4leu
+r5sli1b
+rs1li
+r2s4l4ie
+r5sli2ng
+rs3l2o4b5
+rs5l2oep
+r3s4lo4e
+r4s3lo4o2
+r5sl4u4is
+r1s4lu2i
+rs4m
+r5smaak
+rs1ma
+rsma4a4
+rs5maal
+rs5mak
+r3s1me
+r3s4mi2j
+rs1mi
+rs5m4is
+r5sm4it
+rs5mu
+r1s2n4
+r2s3na
+rs3ne2u
+rs1ne
+r2s3no
+r1so
+r5s2ol
+r2s3o2ng
+r2sor
+rsorke4s5
+r4s5ork
+rsor5k4e
+r2s1o2v2
+r1sp
+r3spa4a4
+rsp4a
+r2s3pad
+r4s3par
+rs4pa1re
+r3spe
+r5spec
+r5s4p4e4e4
+r5s4pek
+rs4pe1ne
+r4s3pen
+r4s3pet
+r5sp4it
+r5s2po4e
+rsp4o
+r5spog
+r5spon
+r5s2po4o2
+rs3pot
+r5spr2a4a4
+rspr4
+rsp2ra
+r4s2p4u
+r5spul
+rs3put
+r1s4t
+r4s5taak
+rsta4a4
+r4st5aa2n5g
+r2s5tas
+r5sta1t
+r3s1te
+r4s3t4e.
+r5ste4r.
+rst2er
+r5sterk
+r4s5ter1m
+4r5ste4rs
+r5s3te4s
+rs2te5s2t
+r4steva
+rst4e1v2
+r3s3ti
+r4st4it
+r3sto
+r4s5t4o1ma
+r4ston
+r4st5o3ra
+r3s4tr4
+rs5trap
+r4st5re1d
+r4s5tre2i
+r5stren
+rs5trog
+r4st5ro1z
+r3s4ty1
+r3su
+rs3usa
+rsu4s
+r3s4y
+4rt
+r1ta
+r5t4a.
+r4t3aan
+rta4a4
+rt5aa4nd
+rt5aa2n1v2
+r4t1ac
+r4t1ad
+r2t3a4f.
+r4t3a4f1f
+rt3am
+r5t4a2ns
+r2tar
+4rt3a4rt
+r4tau
+r2ta1v2
+r4t5c
+r5te1co
+r1te
+r3tec
+r4t3eig
+rte2i
+rt3eil
+rte4le2i
+rt4el
+rte1le
+r2t5e4m1b
+rt4em
+r5te4n.
+rt4en
+rte5n4ach
+rte2n1ac
+rte1na
+rte3no
+rte3ro
+rt2er
+r3tes4
+rte5s3ta
+rtes2t
+r2t5e2v2
+r4t1ha
+rt1h4e
+r3t2her
+rt3hi
+r1tho
+rt3hol
+r2t3hu
+rt3hy
+rt4i2j
+r3ti
+rti2j3k
+r4t3i1ni
+r4t3i4n1k
+rt5je1sc
+r1tj2
+rtje4s3
+r3to
+rt3o4f1f
+rto2f
+r5t4o1fo
+r5t2ok
+r4t3o4m.
+r4t3o4nd
+r4t3op
+r5t4o1ri
+r1tr4
+r3tra
+rt4rap
+r4t3ras
+r2t3rec
+r5tred2e4n.
+rtre1d
+rtre1de
+r3t4rek
+r4t3res
+rt3ri
+r4t3rol
+r2t4ru
+rt5r2u2k
+rt5r2u4s
+rt4s5e1co
+r4ts
+rt3se
+rt5s3e2i
+rt2s3l4
+rt3s3le
+rts5li
+rt4s4lu
+rts5m
+rts5no
+rts2n4
+rt4so4o2
+rt1sp
+rt4s3pr4
+rts5t4en
+rt3s1te
+rts2t
+r1tu
+r2t3u4i4t
+rtu2i
+r4t3w
+rt2wi
+5ru3br4
+r2u2b
+rude3r
+ru1d
+ru1de
+ru1e
+4ruf
+ru2g
+ru4g1r4
+r5uit5r4
+ru2i
+ru4it
+r2u2k
+4ru3ke
+ru1k3i
+rul3a4a4
+ru1la
+rul3a4p
+ru2li
+ru4l3i2j
+ru3lin
+ru4l5s
+r2um
+ru2mi
+3ru4n.
+r2u4nd
+rune4t3
+ru1ne
+4r5u2ni
+r1u3ni1v2
+ru4r
+ru5ra
+ru5r4e.
+ru1r2e
+ru5res
+r2u4s
+ru3s3e
+ru1s5tr4
+rus2t
+4rut
+ru2t3j2
+rut4s2t
+ru4ts
+rut4s5t4e.
+rut3s1te
+4ru4u4
+ru3w1a
+rvaa1t5
+r1v2
+rva4a4
+rval4s2t
+rva4ls
+rvals5t4e.
+rval3s1te
+rver4s5t4e.
+rv4e
+rve2r
+rve4rs
+rver1s4t
+rver3s1te
+rve2s4
+rve3sp
+rvloo4t5
+r3vl
+rvlo4o2
+r1w
+rwen4s4t
+rwe2n
+rwe2ns
+rwens5t4e.
+rwen3s1te
+r4w1h
+rw2t3j2
+r2wt
+r3x
+r3yu
+4r1z
+rzet5s2t
+rz4e
+rze4ts
+4s.
+5s4a.
+s1a4a4
+1s4aag
+5s2aai
+saa4i4s4
+3s2aal
+3s4aa1t
+1sa1b
+sa3b4o
+2s1ac
+sa2ca
+3s2a1c4r2
+s1a2d1v2
+2s1af
+3s4a1fe
+3s4a1fo
+sa3f1r4
+s5a4g3g4
+s4a3gi
+3sa2g1n
+sa3go
+3s2ah
+3sai
+3s2a1j
+2sak
+3s2a2ks
+s1a4kt
+s2al
+5sa4l.
+3sa3la
+3s4a4ld
+5sa4l1h
+s3a2l1l
+4sa2lm
+sal5ma
+s3a2l3n
+3s4a3lo
+3s2a1me
+5s4a2m1m
+sa2m5p
+4sa2na
+sa3na1t
+s4a2n1c
+s2a3ne
+s4a2nt
+san4t3j2
+sa2p
+3s4a4p.
+sa3pa
+2s3a1pe
+s4a4pr4
+sa5pro
+sa3ra
+s1ar1b
+3sa2r1d
+sa2re
+s1ar1m
+sa1ro4
+sar3ol
+s4a4r2s
+4s1a4rt
+sart5se
+sar4ts
+4sa4s.
+3s4asa
+sa3sc
+3s4a2s2t
+1sa1t
+3sa3te
+5sa3ti
+2s3a4t3l
+2s1a4t3t
+s3au1d
+1saur4
+3s4aus
+s1au3t4
+3s4a4u1z
+1sax
+4s3b
+s5ba
+s5b4e
+s5b4o
+1sc
+2s1ca
+4s1ce
+5s2ce3n4a
+5scè1
+3s4ch2
+4s4c4h.
+sch4a
+5schak
+5schap
+4s1chau
+5sch4e.
+sch4e
+s5chec
+4s1che2f
+5schen
+4s5che1q
+5scher
+5sche1v2
+5sch4e1w
+s2chi
+4s5c2hir2
+5schol
+5scho4o2
+5schot
+sch5t1a2
+s4c2ht
+2s3ci
+4s1c4l
+2s1co
+3s4co3la
+3s2co4o2
+3scope
+s2co1p2
+5s4co1pi
+3s4co5re
+3s2cout
+2s1c4r2
+4s3cr4is
+2s1c2u
+2s1cy
+4s1d
+s5de
+s4d1h
+sdi5a
+s1di
+s3d4i4s5
+s3do
+s5dr4
+s3dw
+3se
+5s4e.
+s4e2a
+se3ak
+se3al
+se1ar4
+se3au
+s4e1b
+4s3ech
+se3c4r2
+5s4e2c1t
+4s3ec1z
+s4e4e
+4s5ee1d
+5see3i
+4s1ee2n
+s5ee4n3h
+see4t
+see5ts
+4see5v2
+s1e4f1f
+se3ge
+s4e1g
+2s5e2go
+se1g2r4
+4s3e4i.
+se2i
+4s3eig
+s4ein
+5sei4n.
+5sei1ne
+2se4is
+sei2s4t
+sei5tj2
+s4e4it2
+5s4e4i1z
+sek4s4t
+se2ks
+sek3s5t4en
+sek1s1te
+se1kw
+s2el
+5s4e4l.
+sel3ad
+se1la
+se4l3a4g
+se4lak
+se4las
+se3le
+4s3e4lek
+se4l3el
+4s3e4lem
+4self
+se5li2ng
+s2e1li
+4s3el4it
+sel5k
+5se2lm
+s4e1lo4
+5se4lp
+5s4e4ls
+sel3sp
+5se4l1t
+s4e2l3u
+s4em
+se4m3ac
+s2e1ma
+s5e2m1m
+sem3o4o2
+se1mo
+s4en
+5se4n.
+se4n3a4g4
+se1na
+se5nan
+se4net
+se1ne
+5sen3g4r4
+se2ng
+5se4n3h
+se4n5k
+se4n3o
+4s5en1q
+sen5t1w
+se2nt
+5s4e4r.
+se1r4a
+se2r5au
+5se3r4e
+se4re4e
+se5ren
+s4er1g
+5serg2l4
+s5er1go
+5ser1gr4
+se3r4i
+se5ri2j
+4s3e2r1n
+se3ro
+se5r3op
+se4r2s
+ser1s3p
+ser3s4t
+ser4t5w
+se4rt
+se3ru
+s4es
+se5sc
+se3s1f
+2s5e2s1k2
+5se4s3s4
+se4t
+se5ta
+4s3e3te
+se5ti
+se3tj2
+se1t3r4
+se5t4ra
+set5s2t
+se4ts
+4s5e1tu
+se4t3w
+se3um
+se4ven
+se1v2
+sev4e
+4s1ex
+4se1z
+se2z4e
+3sé
+3sè1
+2s1f
+4sfe1d
+s1fe
+s5fe2i
+4s1fi
+4s5fr4
+4s1fu
+sfu5m
+4s5g
+s3gue4
+s1gu
+s1h
+s4h4a.
+sha4g
+s5ha4l.
+3s2ha2m1p
+4sh4e
+sh4eid4
+she4i
+shei2d2s5
+s5h4ie
+5s4hir2
+s2h3l
+4s2h2m
+s3ho4e
+s3ho4o2
+3s4hop
+s2hot
+s3ho3te
+3s2h4o4w
+s5hul
+1si
+5s4i.
+5s4i1a
+si5ac
+si3am
+si5an
+5s4ic
+si3ci4
+si3co
+3si4e.
+s4ie
+3sie3ë2
+sie5fr4
+sie5k2l4
+si2ek
+si4ep4
+sies4
+sie5s2l4
+sie3so4
+sie3s2t
+sie5ta
+sie5to4
+si5è1
+s4i1f4
+5s2ig
+si5go5
+s3ij3v2
+si2j
+4s1ij1z
+5s4i3le
+4s5imper
+si2m1p
+3si3mu
+5si1na
+s3i2n1b
+4s3i2n1c
+4s1i4nd
+2s1i2n3f
+si2ng4
+3sin4g.
+s3in2ga4
+s5in3ge1ni
+sin5gen
+sin1ge
+sin3g4l4
+s3in5gr4
+s3i4n3h
+4si2ni
+4s3in1ko
+si4n1k
+sin5kr4
+4s3i2n3m4
+s4in3n
+4si2n3r
+2s1i2ns
+2si2nt
+4s5i2n1v2
+4s3i2n1z
+3sir
+5si1ro
+s3i2r5r
+s4i4s
+si3s3e4
+sis5e4e
+1si1s3i
+si3s5tr4
+si2s3t
+3s4it
+si5to
+si4to5v2
+si3tr4
+si4t1ru
+si5tu
+3s4i3u2
+3s4i1z
+sj2
+4s4j.
+3s4j4a.
+5sja3b
+4sj3d
+s1je
+2s3j4e.
+s5je1b
+3s2j1e4e
+3s2je2i
+1sjer
+sje4ri
+s3je4s3
+3s2j4e1w
+3s4je1z
+4s2j5k4
+5sjof
+4s3j4on
+s2j3s2
+sjt4
+s5j4u
+2s1k2
+ska4ar4t5j2
+s1ka
+s5kaa4rt
+ska4a4
+s5kad
+s4ke1le
+s1ke
+s5ken
+3s2ke2s
+s1k4i
+3s2k4i.
+3s4kie1d
+sk4ie
+skie3s
+3s2ki3ë
+ski5sc
+sk4is
+s2k3j
+s3ko
+s5kre
+s1kr4
+sk5r4uim
+s3k4ru
+skru2i
+sk3s1te
+s2ks
+sks4t
+4s1ku
+s3k4w
+s2l4
+3s4l4a.
+5s4laan
+sla4a4
+5slaap
+4s5laar
+4sla1b
+s4lac
+4s3lad
+3s4lag
+5sla4g1m
+sla4me
+s5lam4p.
+sla2m1p
+s5lampe
+4s5la4nd
+sl4an
+3sla2ng
+3slap
+5sla1pe
+sl2a3p3l2
+4s3las
+2s3la1t
+3s4la5v2
+4s5l2a1w
+3s4l4a1z
+s3le1d
+3s4le4e.
+sle4e4
+5s4leep
+4s5lee2r
+s4lee2t
+slee5tj2
+4s3l4e1g
+2s5le2i
+s5le2ng
+s3le1ni
+slen4s4t
+sle2ns
+slens5t4e.
+slen3s1te
+3sle2nt
+s4lep
+4s5ler
+s5le2s
+sle4t3j2
+3s4leu
+s5leug
+s5leus4
+5sleut
+2s5le1v2
+s3l4i.
+s1li
+4s3l4ic
+4s3lid
+2sl4ie
+s5lie1d
+s3lief
+3s4lier
+s3l4if
+s5l4ig
+4s3lijf
+sli2j
+5s4lijp
+4s5li2j2s
+s4l4i4k
+sli2m
+sli1m5a
+s5li5ni
+4s3lin3n
+s4lip
+4s3l4it
+sl2o4b5
+2s3loc
+3s4lo4e
+3slof
+4s3log4
+s3lo2l
+s3l4oo4d
+slo4o2
+s5l4oon
+s5lo2o4s
+5s4loo4t3
+s3l2os
+3slot
+sl2o4t3r4
+4s3lou
+4s5lo5z
+4s5l4uc
+1s4lu2i
+4s5lu4i.
+4s5luid
+5slui4s.
+sl4u4is
+slui4s4t
+slui5s1te
+5s2lu4it
+5slu4i1z
+4slun
+2s5lus
+4s3ly
+s1m
+4s5maa1t
+s1ma
+sma4a4
+3smad
+3sma4k.
+3smal
+2s5man
+s5map
+s4ma4rt
+4s5ma1t
+4s5me1c
+s1me
+5smeden
+sme5de
+sme1d
+3smee1d
+sme4e
+5s4mee2t
+4s5me4i
+4s5m4e1lo
+sm2el
+4s5men
+4s5m4es3
+5s4mi4d.
+s1mi
+s3mid
+sm4ie2
+smies5
+s4mi2j
+s5min
+5s4m2ok
+s1mo
+s3mon
+5smuilden
+s1mu
+smu2i
+smui4ld
+smuil1de
+s5mu4i3le
+5smui4l1t
+s2n4
+s5nam
+s1na
+5s4nap
+s4nar
+3snau
+3s4na3v2
+3s4ne1d
+s1ne
+3sne4e4
+snee5t
+s5n4e3g2
+5s4nel
+2s5nes
+4s5net
+sneus4
+sne2u
+sneu5s2t
+s5ne4u1z
+s3n4ie
+s1ni
+1s4ni2j
+s5nim
+3s4nip
+4s5ni1v2
+4s1no3d
+3s4no4e
+s3nog
+2sno4o2
+s4no4r.
+s3nor1m
+sno5v2
+3s4nuf
+s4nu2i
+2s3num
+3s4o.
+so4b4l
+s2o3b
+so1c
+s3o1ce
+3s4o3d
+1so4e
+2soef
+3s2oep
+soes3
+2s1o4f1f
+3s4o4ft
+2so2g
+3so3ga
+s1o1ge
+so3g1l4
+3so3gy
+5s4oi
+3so3ï
+3s2ok
+s2ol
+5so4l.
+so3la
+so3le
+so3l4is
+so1li
+3so5l4o3
+solo5v2
+5s4o4ls
+s2om
+3s4o4m.
+5s4o2m1m
+2s3o2ms
+s3o2m1v2
+2s3o2m1z
+5s4o4n.
+3so1na
+so5nar
+s3o2n1b
+2s1o4nd
+2so2ng
+3son3n
+3so3no
+s4o2ns
+2s1o2n4t3
+4s3o2n1v2
+s3o2n1w
+3so4o2
+4s5oo4g
+4s3o2ok
+4s3oo4r.
+s3oo2r1d
+4s3oor3l
+5s4oo4rt
+2s1op
+3s4o4p.
+4s5ope
+so3phi
+so2p1h4
+s2o5po
+so3p1r4
+3s4op2ra
+sop4re
+s2or1b
+s3o2r1d
+2s1or3g
+4s5ork
+sor4o
+so3r3or
+sor4s4t
+so4rs
+3s2o4rt
+s2os4
+so3s3f
+s4ot
+s3ou1d
+sou2l
+sou3t
+2so2v2
+s1ov4e
+3so5z
+4s4p.
+sp4a
+5spaak
+spa4a4
+s3paal
+5s4paan
+5spaa1t
+2spad
+2s3pak
+5s4p4a1ke
+s4pan
+3span3n
+4s5pap
+5s4p4a4r.
+s4pa1ri
+5s4pa2r5r
+2s1pa4s5
+5spa4t3t
+spa1t
+s3pau
+5s4p4ea
+4s3pectu
+sp4e2c1t
+3s4p4e4e4
+spee2t3
+4s3pe2i
+s4pek
+5spe2l1l
+sp4el
+4s3pen
+s5pe4n.
+spe4na
+s5pep
+4sper
+s4p4e4r.
+s5pe3ri
+s4per1m
+5s4pe2r5r
+4s3pes
+s3pe1z
+s3pid
+1s4p4ie
+spie5tj2
+4s3p4ijn
+spi2j
+4s5pijp
+s5p4i2ng
+5s2p4i5o
+s3p4is
+spi5s1to
+spi2s3t
+2s1p4l2
+4s5pla
+s4plet
+s2p1li4
+5splin
+3spl4it
+s3plo
+s3plu
+sp4o
+s2po4e
+s3poe2s3
+4s3p2o3ë
+4spog
+4s1pol
+2s3pom
+s4po4n.
+s4pon3n
+s2po4o2
+s3pop
+5s4po1re
+s4po1ri
+4s3p2os
+5spo4ts
+4spou
+4s3pra4kt
+spr4
+sp2ra
+5spray
+s5pre1d
+5spre2i
+s4prek
+4s1prem
+4s3pres
+5spre2u
+5s4priet
+spr4ie
+4s5pri2j
+4s3pr4ik
+4s5p4r2o3b
+4s3p2r4oc
+4s5p2rod
+4s5p4rof
+4s5p2rog
+5s4pron
+s4pro4o2
+4s3pr2os
+4s3ps
+4s4p1t
+s2p4u
+4s3p2u2b
+5s4pu2i
+4s3pun
+s4pur
+5spuw
+s4q
+4s5r
+sraads5l4
+sr2a4a4
+sr4aad
+sra2a2ds
+sro5v2
+4s3s4
+ssa1s2
+s4s1co
+s1sc
+s4s5c2u
+s5se
+s2se4i3s
+sse2i
+sse3o4
+s5si
+s5s2l4
+s4sp4a
+s5spa4a4
+s2s5pa4s5
+s5su
+s5s4y
+s2t
+4s4t.
+5staaf
+sta4a4
+5staa4n.
+4staa2n5g
+4st3aa2n1w
+sta4ar4t5j2
+staa4rt
+s4taa1t
+staa2t5j2
+st3ab4o
+sta1b
+2s4t1ac
+3s4tad
+5st2a2d4s3
+2staf
+5s2ta4f.
+st4a4fo
+s4tag
+s4tak
+5sta1ki
+4sta4k5k4
+st3a4kt
+4s3ta3li
+st2al
+5st4a4m.
+5st4a2m1m
+3s4ta2m1p
+3s4ta4nd
+st4a2n4s
+s4tap
+4s5tapo
+s4t3ar1c
+4s5ta1ri
+2s3tas
+stas4ie4
+sta1si
+5s4tat4i1o
+sta1t
+sta3ti
+4s3tau
+s4t3au3t4
+s4ta1v2
+4s2t1a2vo
+4s5tax
+4st3a2z
+2s4t3b
+2s4t5c
+2s4t3d2
+4s3t4ea
+s1te
+5steak
+4s3tec
+s5tech
+5s4te1co
+3s4te1d
+4st3e1du
+3s4tee2k
+ste4e2
+3s4tee4n
+4stee4n3h
+s5tee2r
+stee5t
+5st4ein
+ste2i
+5stekar
+ste1ka
+5s4te4k5k4
+5stel2d1h
+st4el
+ste4ld
+ste4le4e4
+ste1le
+st5e2lem
+3ste2l1l
+5ste4m.
+st4em
+5ste2m1d
+5s4te2m1m
+4ste1mo
+4s3te2nt
+st4en
+4s5te1nu
+ste5ran
+st2er
+4s3ter1m
+ste3r5o2g
+st5e4r2os
+5sterren
+ste2r5r
+s5te1ru
+4s3te4s
+4s4t3ex
+s4t3e2z
+2s4t3f
+4s4t3g2
+4sth
+s4t1ha
+st3he1d
+sth4e
+st5hee2r
+sthe4e
+st3hek
+s5them
+s3t2her
+st1hi
+s4t1ho
+s4t1hu
+s4t3hy
+2s5ti1a
+s3ti
+2s5ti1b
+4s5ti1c2u
+st4ic
+s4t3i3d4
+5stie1fe
+st4ie
+s5tie3v2
+4s5t4ijd
+sti2j
+3s4tij1g
+5s4tijl
+st3i2js
+3s4ti4ls
+st4il
+s4tim
+st3i2m1p
+sti5ni
+4s4t3i2ns
+4s5ti2nt
+4s5ti1te
+st4it
+2sti1v2
+st3i4vo
+4s4t1j2
+2s4t3k2
+4s4t3l
+2s4t3m
+2s4t3n
+2st2o3b
+2s3toc
+4stoef
+st4o4e
+3stoel
+5stoe4l.
+5stoe5le
+4s5toen
+4s3t4oer
+4s5toe1s4
+4s5toe1z
+3s4to2f
+st3o4ge
+5s4t2ok
+s4t2ol
+s2to5li
+4st4o1ma
+4st3o2m1z
+s4t4o2ng
+3s4to4o2
+4st3oo4g
+stoo4t5j2
+stoo4t
+s4top
+st3o5pe
+st5opto
+st2o4p1t
+4sto3ra
+sto4ra1t
+4st3o2r1d
+st4o5ri
+4s5t2os4
+s4to3v2
+2s4t3p4
+1s4tr4
+4s3tr4a.
+straa2t5j2
+str2a4a4
+straa1t
+4st4rad
+3stra4f
+5stra4f.
+s5trag
+4s3t4rai
+4s2t3rec
+s5tr4ef
+4s4t5r4e1g
+4s3tre2i
+5s4trel
+3strep
+st3r4if
+st5rijp
+s2tri2j
+s5tr4is
+4s3tro4e
+s5tr2oep
+st4rom
+5stro2ok
+stro4o2
+5stroom
+4st4ro2o4s
+st5roo4s.
+4s5trou
+4stro1z
+3stru
+4s5tru4i.
+stru2i
+5str4u4ik
+4s4t1s4
+st3sc
+st5se
+st3s1f
+st3s1k2
+st3s2l4
+st3so
+st5sp
+s2t5s2t
+2s4t5t2
+1stu
+4s3t2u2b
+4st4uc
+5s4tu1d
+4s5tuin
+stu2i
+stui5t4j2
+s2tu4it
+st5ui4t3k2
+5s4t2uk
+2s4tun
+st3u1ni
+stu4n4ie
+4s3tu4s3
+2s4t1v2
+2s4t3w
+2s4ty1
+1styl
+s5ty1p
+2s4t1z
+1su
+5su.
+5su1a
+5s2u4b1
+su3ba4
+su3b5e
+su5b4l
+5s4uc
+5su1d
+3sug
+2su2i
+5s4u4ik
+4s1u4it
+5sui4t.
+s5ui4t3l
+5suit4s.
+sui4ts
+5s2uk
+3sul
+5sum
+4s1u2n
+5s4up
+5s4ur1v2
+su4s
+su3s3e
+suur5
+su4u4
+4s5v2
+svaa1t5
+sva4a4
+sva1ri5
+sve4r
+sv4e
+sve5ri
+4s1w
+s5wo
+s4y
+3sy.
+4sy1c
+3syn
+sy4n3e
+1sys5
+4s5z
+4t.
+3taa4k.
+ta4a4
+t4aal
+t5aan1do
+taa4nd
+t3aa4n5k4
+taan4s4t
+ta4a2ns
+t3aa2n1w
+t3aap
+taar5sp
+taa4r2s
+4t3aas
+taat4s2t
+taa1t
+taa4ts
+taat3s5ta
+3ta3b4e
+ta1b
+3ta3b4l
+2tac
+ta2ca
+3t4a3ci
+4tad
+ta4de
+t3ader
+5ta1do
+t3a1dr4
+t2a2d4s3
+t3adv4e
+ta2d1v2
+2ta4f.
+2t3a4fd
+5t4a3fe
+4ta4f1f
+t3afha
+ta4f5h
+t4af1r4
+ta3fro
+4t1a4f3s4
+2t3a4f1w4
+4ta2f1z
+ta4ga4a4
+ta1ga
+5ta3ge4e4
+ta1ge
+5t4a5g4l4
+ta2g3r4
+5ta1ka2
+5ta2k3g
+5takken
+ta4k5k4
+tak1ke
+t4a3k3l4
+5ta2k3n4
+5ta2k3p
+5ta2k3r4
+5t2a2ks
+t2al
+ta3la4a4
+ta1la
+ta5la2c1t
+ta2lac
+4ta2l1b4
+5ta5l4e.
+ta1le
+5tale2nt
+ta3li
+5tal4ig
+t5alli1a
+ta2l1l
+tal3l4i
+tal1m3a
+ta2lm
+4ta4l1t
+ta4mak
+ta1ma
+4ta4m1b
+t3am3ba
+5ta3men
+ta1me
+tamen4t5j2
+tame2nt
+4ta2m1p
+t3am1p2u
+5ta4n.
+4t3a2na
+ta3n2a3g4
+ta3na1t
+tan4d3r4
+ta4nd
+tan4k5r4
+ta4n1k
+t2a3o
+t4a1pe
+5t4a1pi
+t2a3p2l2
+5tapo
+ta3q
+ta3ra
+4t3ar1b
+5ta1ri
+4t1ar1m
+ta2ro4
+tar5sp
+ta4r2s
+tar5t4a4a4
+ta4rt
+tar1ta
+t3ar3ti
+3t4ar1w
+3tas
+5t4asa
+5ta4sj2
+5t4aso
+ta3s2p
+t4a3s3ta
+ta2s2t
+t4a3s4tr4
+ta3s4y
+4tata
+ta1t
+4tat4i1o
+ta3ti
+ta2t5j2
+4t3a4t3l
+3tatr4
+3tau
+4tau3t4
+2t1a2vo
+ta1v2
+3tax
+t3a2z
+4t3b
+tba2l
+t3ba
+4t3c
+t4ch
+t5cha
+t5ch4e
+t5chi
+t5chu
+4t3d2
+tdor5s4t
+t1do
+tdo4rs
+t2do3v2
+1te
+3t4ea
+te3a4kt
+5tea4m
+3tec
+4t3e4c2ht
+4te1co
+te4d4it
+te1d
+te1di
+t3e1du
+te4e2
+teeds5t4e.
+tee1d
+tee2d1s
+teeds2t4
+1teed3s1te
+te4e4g
+4tee2k
+tee4k3l4
+t4eem1
+4tee4n
+t5eenh4e
+tee4n3h
+3tee2r
+tee5rin
+tee4r3i
+tee4t
+4t3eeu
+t4ef
+t5e4f1f
+3te1f2l2
+3te1h4
+4t3eier
+te2i
+te4i1e
+4teig
+tei4l3o
+t4ein
+t5ei4nd
+5t4e4it2
+tei5tj2
+2t3ei5w
+5teke1ne
+te1ke
+5teke2ns
+4teker
+4te4k5k4
+3te3ko
+te4k3om
+3te2ks
+te3kw
+te4k3wi
+t4el
+tel5a2nt
+te1la
+te3l4an
+te4lap
+tel5da
+te4ld
+4telec
+te1le
+5tele1co
+t5el4e2c1t
+te3l5ee2n
+tele4e4
+5telef
+5tel4e1g
+tel5e4i.
+tele2i
+tel5e4i1e
+tel5e4it2
+te5lel
+5tele1v2
+5te5lex
+tel3f
+tel5k
+te4lo4e
+t4e1lo
+te4l3o4g4
+tel5oo4g
+te3lo4o2
+te4l3op
+te2l3o4r
+te4ls4
+4tel3se
+tel3so
+tel5su
+te4l3u4u4
+t4e1lu
+t4em
+2te4m1b
+4te2m1m
+te4mor
+te1mo
+te4m3o4v2
+5temper
+te2m1p
+5tempo
+t4en
+ten4ach
+te2n1ac
+te1na
+ten3a4g4
+te3n1ak
+te5na1re
+te4nau
+te1ne2
+ten3e1d
+ten3el
+tene4t
+3te4n3h
+te4n5k4
+te5no3re
+4t5en1q
+ten5s1c4r2
+te2ns
+ten1sc
+ten3s2n4
+ten3s2p
+ten3su4
+tens5u4u4
+3te2nt
+5ten3ta
+5tente4n.
+1ten3te
+t4en5t4e2n
+ten5to
+t3en4t1w
+5te1nu
+t2er
+tera2a2ds5
+te1r2a4a4
+te5r4aad
+te4r5aak
+ter3a4b
+tera5ca
+te4r1ac
+te4rad
+tera4de
+te4r5af
+ter3ag
+te3ral
+te4ran
+ter3ap
+ter3as
+5t4erec
+te1re
+te4re2i
+ter5e4ik
+te4rel
+te4rem
+te5r4e4n.
+te4r5e4n1k
+te4r5e2n1v2
+4t4er4f.
+4ter4fd
+ter3fr4
+4t4er4ft
+te4r5i4n.
+te3ri
+3ter5j4
+4ter4k.
+4ter4kt
+ter3k4w
+3ter1m
+5ter4m.
+5ter3m4i
+ter5oc
+te3rod
+te3r3of
+te3ro2g
+5ter1on
+te5r2o2ns
+tero5pe
+te4r3op
+te2r3o4r
+te3r2os
+5terre2i
+te2r5r
+5terre2u2
+5terror
+ter4spr4
+te4rs
+ter1sp
+ter5s3t4e.
+ter1s4t
+1ter3s1te
+ter5ston
+ter3sto
+3tes
+te3s4a2p
+tes3m
+te3so
+tes3ta
+tes2t
+te5st4el
+1tes1te
+tes5t4en
+tes4t5op
+test5ri
+te1s4tr4
+te1st3u
+te3ta
+te5tr4
+4t3eu1v2
+t4e1v2
+t5e4va2n
+t4eve4r
+tev4e
+5te3vl
+3te3v4r2
+2tex
+3t4ex.
+4t3ex4e
+4t1ex1p
+1té
+tè3
+4t3f
+4t3g2
+tg4aa1t5
+t1ga
+tga4a4
+t5ge
+tge3la
+tger4
+4t4h.
+2t1ha
+t3ha4a4
+t4haan
+t4had
+t3hak
+t5ham
+t4h4a2ns
+t3har
+t3ha3v2
+5t2h4ea
+th4e
+t3he1b
+5t4he4e.
+the4e
+4t3he4i
+4t3hel
+3t2hen
+5t4he5o
+1t2her
+5the3ra
+4t3he1re
+3thes
+3thet
+t4hin
+4t2h2m
+t1ho4e
+t2ho3g2
+t3h2ok
+t1ho4o2
+thoof5di
+th4oof
+thoo4fd
+4t1hou
+t3hou1d
+5th4ous
+4t3ho3v2
+3t2hr
+2thu
+t1hul
+4thum
+t4hur
+3ti
+5t4i.
+5ti1a
+ti5a1b
+ti5ae
+ti3a1p4
+5ti1b
+5ti1ca
+t4ic
+5ti3ce
+5ti3ci
+5ti1c2u
+ti3d4
+5ti4e.
+t4ie
+tie5d4
+5tie4f1s
+tie3k2n4
+ti2ek
+tie4kon
+tie3ko
+ti3e2n1c
+tien5s4t
+tie2ns
+5ti4ep
+5ties
+tie5s4l4
+tie5ta
+tie5to4
+tie5t1w
+ti1e2u
+5tieven
+tie3v2
+tiev4e
+ti3fe
+t4if
+ti3f3r4
+ti2g4a
+tig5a4a4
+4ti4g1m
+ti4gu4
+tig3ur
+5t4ijd
+ti2j
+t4ije4
+tij5ka
+ti2jk
+tij4k4l4
+5t4ijn
+tij5p
+t3ij4s.
+ti2js
+t4ij3s2t
+tij3t2
+tij5tr4
+tij5t1w
+4t1ij1z
+ti3ko
+t4ik
+ti5kr4
+t4il
+4ti4ls
+5ti2m1m
+5ti1mo
+tina4d
+ti1na
+tin3as2
+4t3in1c2u
+ti2n1c
+4t1i4nd
+4t1i2n3f
+tin4g3i
+ti2ng
+ting4s1a2
+tin4g2s
+t3i4n3h
+ti4n4it
+ti1ni
+4t3in1j4
+t3in1ko
+ti4n1k
+4t3i2n3l
+t3in1q
+4ti2n3r
+4t3i2ns
+ti3nu
+4t3i2n1v2
+4ti2n1w
+ti5om
+t4i1o
+ti3o4p5
+t4is
+ti5sa
+ti3s4j2
+ti3s3l4
+ti3so
+ti4son
+ti3s4p
+ti3s1ta
+ti2s3t
+5ti1te
+t4it
+ti3th
+ti1t2r4
+5ti3vi
+ti1v2
+ti4vo
+1tj2
+2t1ja
+t5ja4a4
+t5j1e4e
+t5jek
+t3j1en
+t5je2t
+4t5jeu
+2tjo
+t1j4ou
+2t1j4u
+4t3k2
+tka4r2s3
+t1ka
+4t3l
+t5l4e.
+5tle1b
+t5le2s
+tli4n
+t1li
+4t3m
+tmen4s4t
+t1me
+t3men
+tme2ns
+tmen3s5te
+t5m2os5
+t1mo
+4t3n
+tna4m3o
+t1na
+t3nam
+tne4r
+t1ne
+t3nes4
+5t4o.
+t4oa2
+to3ac
+to3ar
+to5b4l
+t2o3b
+3toc
+1toch
+3tod
+to3da
+t4o4e
+toe5d4
+3toe1j2
+toe5k
+5toe3l4a
+toe5le
+5toel4ic
+to2e1li
+toemaa1t5
+to2e1ma
+toema4a4
+5toen
+to5en3de
+toe4nd
+toe5p2l2
+t2oep
+3t4oer
+5toe3ri
+5toe2r1n
+5toe1s4
+toe5s2t
+toe3tj2
+3toe4ts
+5toet4s.
+5toet3se
+toets5t4e.
+toet4s1te
+toets2t
+3toe1v2
+5toe1z
+to2f
+tof5ar
+to1fa
+to4f5d
+to4f1r4
+tof3t3h
+t4o4ft
+3to2g1n
+5to1gr4
+3t4oi
+to4kan
+t2ok
+to1ka
+to2k3s
+t2ol
+to3la
+5tola4a4
+to5le
+5tolet
+t3olf
+2to1li
+5to3l4ic
+to4l4ie
+tol2k5s
+5to3lo
+tol1p3r4
+to4lp
+t3o1ly
+4to4m.
+5tom2a4a4
+t4o1ma
+tomaa1t5
+t3o2m3l
+t4o3mo
+tom4p3j
+to2m1p
+4t3o2m5s
+5to4n.
+4to4nd
+3t2o1ne
+5tone4e4
+5to5ne2n
+to5ner
+3t4o2ng
+5ton4g.
+3t4o1ni
+5t4on3n
+to3no
+5to2ns
+ton3s1k2
+too4m
+to4o2
+to4o3m3e
+5t4oon
+t4o4p.
+top5a4rt
+t2opa
+to1p3a4s3
+to3pen
+to3pet
+to3pi
+2to2p1m
+to4po
+to5p2os
+t4o4p3p
+to4p2u
+to5pus
+t3opva
+to2p1v2
+5to4r.
+to3ra
+to4r3a4g
+t3o2r1d
+t4o5rec
+to1re
+5tore2ns
+4t1or1g
+t5or1ga
+t4o1ri
+3to5ri1a
+t3o4ri3ë
+tor3k
+tor4m3a
+tor1m
+toro4
+to4r5o1li
+to3rol
+to3rom
+5to2r5r
+3to4rs
+tor4s5t4e.
+tor1s4t
+tor3s1te
+to3r2u
+3t2os4
+to3sa
+to1s3l4
+to1s2p
+tos5te
+to2s3t
+5t4o1ta
+t2o3tr4
+2t3ou1d
+3tour
+tou4r3e
+to3v2
+tove5na
+tov4e
+to4ve2ns
+4t3o4ver1g
+tove2r
+t4o3w4
+4t3p4
+tpe4t3
+tp4i3s
+tr4
+3tr4a.
+4t3r4aad
+tr2a4a4
+5tra1cé
+t2rac
+5tra5f4o.
+tr4a1fo
+3trag
+4t3ra5g4e1z
+tra1ge
+3t4rai
+5tra2in
+5tra1ka2
+t3ra1ke
+3tra4kt
+3tr4a2ns
+5tran4sa
+5t4r4a4p.
+5t2rau
+4t3ra1z
+3t4r4e.
+4tr4ea
+2trec
+5tre4d.
+tre1d
+4t3re1da
+t5rede4s3
+tre1de
+4t3re1du
+3tr4ef
+4t5r4e1g
+4t3re4is
+tre2i
+4t5r4e4i1z
+4trel
+t3re5s4e
+t3re3su
+tre2t3
+t4re2u
+t3ri4b.
+tri1b
+5tri3b4u
+5tri3co
+tr4ic
+trie5ta
+tr4ie
+tr4ig2
+2tri2j
+5t4ril
+tri5ni
+5t4r4i1o4
+t3ri1si
+tr4is
+t3ri4t.
+tr4it
+5t4ri3t2i
+5tro1dy
+t3roe1d
+tro4e
+t3roes
+5tro3fy1
+3trog
+t4ro3ï
+5tr2o1j
+4tr4o4l.
+5tro2l3a
+5tro3lo
+5tr4o2m1m
+5tr2o4n.
+5tro1na
+t5ro4nd
+3tr2o1ne
+5tr2on3n
+5tr2o1no
+5tr2o2ns
+tron1t5j2
+t4ro2n2t
+t3r4oo4d
+tro4o2
+5t4r4oon
+t4ro2o4s
+tro5pi
+t4r2os
+5tro1tu
+3trou
+4t5rou5t4
+tro5v2
+5tru4c.
+tr4uc
+5t4ruf
+4tru2g
+5tru4i.
+tru2i
+5tru4i3e
+t3r4uim
+tru4i5t4
+t3r2u2k
+t4r2um
+4ts
+ts3a2d
+tsa4g
+ts1am
+t3sa2p
+ts3as
+tse4d
+t3se
+t4s5ee2n
+ts4e4e
+t4s3e2i
+ts5ei4nd
+ts4ein
+t4s5e1ne
+ts4en
+t4s3e2ng
+t4s4er1g
+ts5er1ge
+t4s3e2v2
+t2si2j
+t1si
+t4s3i4n1k
+t2s3i2nt
+ts2j2
+ts3ja
+t3sj1en
+ts1je
+3tsji
+t1s2l4
+ts4la4a4
+t3s4lac
+t5sl4a4g.
+t3s4lag
+ts3lam
+t2s3le
+t5sli1b
+ts1li
+t5s4lo4e
+t3s4lu
+ts2me
+ts1m
+ts4mo4e
+ts1mo
+ts3ne2u
+ts2n4
+ts1ne
+ts4no
+ts5nor
+ts5not
+ts3nu
+ts3o3b
+ts2o2l
+ts3o1li
+ts3om
+ts1on
+ts4o4p3p
+t2s1op
+ts1o4r
+t2s1o2v2
+t2s3pad
+tsp4a
+t3s4pan
+t5spec
+t4s3pet
+t3spi
+t4s3pil
+t3s2po4e
+tsp4o
+t3s2po4o2
+t5s4por
+ts3pot
+t4spro
+tspr4
+ts4pru
+ts5q
+t4s5s4
+t3sta
+ts2t
+t4staak
+tsta4a4
+t4s5ta4n1k
+ts5ta2nt
+t4star
+t4s3tas
+t3s1te
+t5s4te1d
+t5ste4e2
+ts5te3ko
+t5ste2l1l
+tst4el
+t5ste4ls4
+t5st4em
+t5ste4r.
+tst2er
+t4ste2r5r
+t5ste4rs
+t5s4te4s.
+t4s3te4s
+t5steu
+t4s3th
+t1s4ti
+t3sti2j
+t5s4tij1g
+t5st4il
+ts5tin
+t4s5t4j2
+t1sto
+ts5t2oep
+tst4o4e
+ts5t4o2ng
+t4sto1re
+t4s5t4rad
+t1s4tr4
+t4s5tre2i
+t3stri
+t4s5tro4e
+t2s5ty1
+t4su4
+ts3ur
+ts3u4s
+ts3u4u4
+t1s4y
+4t3t
+t5t4a
+t5te
+tte5lo4e
+tt4el
+tt4e1lo
+tte5l4op
+tt4e2n
+tten4t5j2
+t3te2nt
+tte5ri
+tt2er
+t5tlet
+t4t3l
+tt3oo4g
+tto4o2
+ttop2
+t5t4r4
+t5t4um
+tt3u4u4
+3tu1a
+3t2u2b
+3tuch
+t4uc
+3tu3e
+5tu1eu
+tu3és
+3t4uig
+tu2i
+5tuin
+4tuip
+2tu4it
+tui4t4j2
+4t2uk
+tu4k3i
+tul5pi
+tu4lp
+t4um
+5tu1ne
+5tun3n
+tu1o
+5tur1b
+tu3ri
+3tu4s3
+tu2t3j2
+tuurs5la
+tu4u4
+tuur2s2l4
+tuu4rs
+tu3w1a
+4t1v2
+tvaa1t5
+tva4a4
+t3v4e
+4t1w
+3t4wijf
+tw4i2j
+t2win
+1ty1
+3ty1p
+tys4
+4t1z
+t3za
+t3z2i
+t5z4w
+u1a
+u3ac
+u3an
+ua5ne
+ua3p
+u5a4r.
+ua4r5t
+u4a3sa
+ua1t4
+2u2b
+ub3ac
+u3ba
+ub2e4li
+u3b4e
+ub5em
+u5b2i
+u3b4o
+ub5or
+4uc
+u1ch4e
+ucht5s2l4
+u4c2ht
+uch4ts
+uc4ki
+ucle3
+u1c4l
+uc4t3a
+u2c1t
+uc4tin
+uc3ti
+u1d
+u1da2
+u5d4a.
+ud5am
+u2d3e2i
+u1de
+ud3e4s3s4
+ude2s
+u4de4z
+ud3ez4e
+ud4i4o
+u1di
+udi5olo1ge
+udi4ol
+udio3lo
+udiolog4
+udi3om
+u3d4o4e2
+u1do
+ud3o4nd
+ud3o4o2
+u2d3o2v2
+u4d1r4
+uds5lo
+u2ds
+uds4l4
+ud2s4m
+uds5ma
+ud3s1me
+ud3s1mi
+ud1s2t4
+ud4sta
+uds5tak
+ud4s4ti
+u2d1w
+u3ec
+ue2co
+u1e4e4
+u3ef
+u3e2i
+u1el
+u4e1ne
+u1er
+uer3il
+ue3ri
+ue3s2t
+u1eu
+u5eul
+u3e1z
+u3è1
+u4f3an
+u1fa
+u1f2l2
+u1f4r4
+u4f2s
+u5ga
+ug4da2
+u4gd
+ug4der
+ug3de
+ug2do
+ug4dr4
+u5g4e4l5o
+u1ge
+u2g3i2j
+u1gi
+ug1l4
+u2go
+ug3or
+u2g1r4
+ug5s1ce
+u4gs
+ug2sc
+ug4sec
+ug3se4
+ugs4p
+ugs5p4a
+ug1s4t
+ug4s5tra
+ug1s4tr4
+u1h
+u2i
+ui5ac
+ui1a
+ui2d3a
+ui2d1o
+ui2d4s1
+uid3sp
+uid5spre
+uidspr4
+uid5s4t4e.
+uids2t4
+uid3s1te
+ui1d3u
+u4i3e
+uie2n4t
+ui2fa
+u4if
+uif3l2
+uif5r4
+ui2fu
+4uig
+ui4g5a4a4
+ui1g4a
+uig1l4
+ui2g3o
+ui4g3r4
+ui4gu
+4u4ik
+ui2k3a
+ui4k3l4
+ui2ko
+ui2ku
+ui2la
+uil5a4a4
+ui4l3em
+u4i3le
+ui2l5m
+ui4l3og4
+ui1lo
+ui4lo4o2
+uil3o3v2
+4uim
+ui2m3a
+ui3m4ag
+ui4n1a
+ui2n5g
+ui2no
+uin5o2g
+uin3or
+uin4s5lo
+uin3s2l4
+ui2ns
+uin5to
+ui2nt
+ui2p3l2
+ui4p3o4
+ui2p3r4
+4u4is
+ui2s3a
+ui4s5c
+ui4s3l4
+ui5slu
+uis5p
+ui4s3t
+ui4t3a4
+u4it
+uit5a4a4
+uit5al
+ui5tar
+1ui4t3g2
+ui4t1j2
+3ui4t3l
+ui2t1o
+1uit5r4
+uit3s2l4
+ui4ts
+uit3s2n4
+uit5sp
+uit4s5t4e.
+uit3s4te
+uits2t
+3ui4t3w
+3ui4t1z
+ui3v2
+4u3j
+2uk
+u2k3al
+u1ka
+uk3a4s
+ukke4r4s5
+u4k5k4
+uk1ke
+u2k3l4
+u3k4las
+u2k3n4
+u2k3o
+u3k4oc
+uko2p
+uk4o3p3l2
+u4k3r4
+uk3s2m
+u2ks
+uk3s3p4a
+uk3s1p4l2
+uk4s3ti
+uks4t
+uk1w
+u1la
+u2l3ac
+ulam4
+ula4p
+ul4d3a
+u4ld
+uld5er3k4
+ul1de
+ul5do4p
+ul1do
+ul4d3u
+u1le
+ule5sp
+ule2s
+ul3f2l2
+ul5fo
+ul3fr4
+ul3i4n.
+u1li
+u5li2ng
+u3l3in3n
+ul3k2a
+ul5ke
+ul2k3l4
+u1lo
+ul3o2p
+u3l2os
+ul2pa
+u4lp
+ulp3ac
+ul4pi
+ul2p3l2
+ul2po
+ul4p3r4
+ul3sa
+u4ls
+ul3so
+ul2s3p
+uls5t4e.
+ul1s2t
+ul3s1te
+uls5t4el
+u3lu
+um3af
+u1ma
+um3ar
+3um5da
+u2m1d
+2u1me
+ume4e4
+um4es4
+ume3s2t
+u3m3om
+u1mo
+u2m3op
+um3so4
+u2ms
+um3s4t
+u2m3u2i
+u1mu
+u2n3ac
+u1na
+u2n2c
+unc2h3r
+un4dra
+u4nd
+un1dr4
+un2d4s
+und1s5ta
+unds2t4
+und5s1te
+une4t
+u1ne
+u2n3g
+1uni1v2
+u1ni
+un4k3r4
+u4n1k
+un4o
+uno3g
+un5o2p
+un1st3a
+u2ns
+uns4t
+un4st4e.
+un3s1te
+un1st3o
+un4s4t5r4
+unst5u2i
+un1stu
+un4tag
+u2nt
+un3ta
+un4t5ee4n
+un3te
+unte4e2
+un2tj2
+un4t5o4
+unt3s4m
+un4ts
+un4t3u
+u3ol
+u3on
+u3o4o2
+u1or
+uo3r1u
+u3os
+u4o1ta3
+4up
+u1pa
+u1pe
+upe3k
+upe4r1o
+uper5s4t
+u3pe4rs
+u3p1h4
+u3pi
+u1p2l2
+u4p3le2i
+u1po
+u3pol
+u1p3om
+up3op
+u1pr4
+up4tr4
+u4p1t
+u1ra
+u2r3aan
+ur2a4a4
+u2r1ac
+ur3a1d4a
+u4r3a2d1v2
+u2r3a4r
+uras3
+u4r3a2z
+ur3d4o
+u2r1d
+u1r2e
+ur3ech
+u2r3ee2n
+ure4e
+uree5s3
+ur4e5lu
+ure4lu5r
+u4rem
+ur3e4m1b
+ure4n
+u3res
+ur3e4s3s4
+ure3s3t
+ur3e1ta
+4urf
+ur2fa
+ur3gi
+ur1g
+u1ri
+uri4gl4
+ur4ig
+ur3ij1z
+uri2j
+u4r3i4nd
+u4r3i2nt
+4urk
+urke2n5s
+urke4n
+ur1ke
+ur4k4ie
+ur1ki
+ur3k4l4
+urk4s5t
+ur2k1s
+u1ro
+u4r5o2p1b4
+ur3or
+ur2o5s
+ur5pr4
+ur1p
+ur4ser1v2
+u4rs
+ur3se
+ur4s3e1v2
+ur3s4fe
+ur2s1f
+ur2s2l4
+urs5la4a4
+urs5li
+ur4s5m
+ur2s2n4
+ur4sp
+urs5p4a
+ur5sp4el
+ur3spe
+ur5spor
+ursp4o
+urs5ta1ke
+ur1s4t
+urs4tak
+ur4s5th
+ur4s3ti
+urs5t4ik
+ur3ta
+u4rt
+ur4tro
+ur1tr4
+ur5tro4e
+u3ru
+ur3u2i
+4ur1v2
+u1r4y
+4us1a4a4
+us3ad
+us3a2m
+us1a2p
+u4sc
+u5s2c4r2
+use5tj2
+u3se
+use4t
+u5s4ie
+u1si
+u4sj2
+u4s5l4
+u4s1m
+u2s5n4
+uso2
+u3s3o3ï
+us3os4
+u2s3p
+us5pi
+us5p4u
+us4ta
+us2t
+us5tag
+ust3al
+u2s3te
+us4t3e2i
+u4s3ti
+u3s4t3o4o2
+u4s5tr4a.
+u1s4tr4
+us5t4r4e.
+us5tro
+u3s5tru
+u1stu4
+ust3ur
+ust3u4u4
+u1ta
+ut3aan
+uta4a4
+utaar5
+u2t1ac
+ut3af
+u3tan
+u3ta3s4
+u4t5c
+u4t3ee2s3
+u1te
+ute4e2
+u4tek
+u3t3e2ks
+ut4em
+u4t5e2m1m
+ute4r5an
+ut2er
+u2t3ex
+ut2h
+ut3ho
+u2tj2
+u1to
+uto5f
+ut3oo4g
+uto4o2
+uto3pe
+utop4l2
+uto5po
+utop4r4
+u3t2o5s4
+ut3s1a4a4
+u4ts
+ut3s2c
+ut4s5e2ng
+ut3se
+uts4en
+uts2m
+ut1s2n4
+ut3sp
+ut4sp4a
+ut4sp4o
+ut2s2t
+uts5tak
+ut3sta
+ut4st4e.
+ut3s1te
+ut5st4en
+ut3s4tr4
+ut5su4
+u4t3t4
+u1tu
+u4t5w
+u4u4
+uu1r3a4
+uu1r3e4
+uu1r5i
+u4ur3k
+uu1r1o2
+uur5s1te
+uu4rs
+uur1s4t
+uur5s3ti
+4uut
+uu1t3a
+uut3r4
+uve4l4s
+u1v2
+uv4e
+u5vel
+uve5na
+uw1a
+u3w4ag
+uw4ar
+uw5a4rt
+u1we
+u2w3e2c
+u3we5d
+uw3ee2n
+uwe4e
+u2w3e2i
+uwe4ne2n
+uwe2n
+uwe3ne4
+uwe2s4
+u1wi
+u2w4i2j
+uw5ij1z
+u4wi4nd
+u3w4i2ng
+u4wi2n2s
+uw3i2n1z
+uw1o
+u3w2o4e
+uwo4ge
+uw1r
+uw3u2
+uxa3
+u3y1a
+4u1z
+uze3t4
+uz4e
+uz4ie2
+uz2i
+û4t3s4
+1ü
+ü4b
+ü1n
+ü3ri
+üs3l4
+1v2
+2v.
+vaar4ta
+va4a4
+vaa4rt
+vaar2t5r4
+va3de
+va3g4
+va2ki
+v4a4k3l4
+va2ko
+va2l3a
+va2l5m
+va3lo
+va4lo4e
+val5si
+va4ls
+val4s5p
+val4s5tek
+val1s2t
+val3s1te
+va1lu5
+va2n
+va2n3ac
+va1na
+va4nd4
+van1g3a
+va2ng
+van4gr4
+va3no
+va4noc
+va1p
+va3re
+v2a5se
+v4a3s4o
+v4a1s4t3r4
+va2s2t
+va3su
+va3te
+va1t
+va2t3h
+va2t5j2
+va3z
+v4b
+4v3c
+v4e
+3v4e.
+5ve1b
+vee4l
+ve4e
+vee3l5e
+vee3p4
+vee2s4
+ve3g4h
+v4e1g
+ve4i3s4
+ve2i
+vei5tj2
+v4e4it2
+3vek
+5vel
+ve4l3a4g
+ve1la
+vel4d3o
+ve4ld
+ve3le
+vel3k
+5vem
+v2e1m4a
+ve4na
+ve5na1re
+5ve4nd
+ve4n5k
+ve2n3o
+2ve2n3r
+ven4s3e
+ve2ns
+ven4s2l4
+vens5l4an
+vens5lo
+ven4s2p
+vens5taak
+vens4t
+ven1sta
+vensta4a4
+vens5ta1ke
+vens4tak
+vens5tek
+ven3s1te
+ven4s3u4
+ve2r
+ver1a
+ver5aas
+ve1r2a4a4
+ve4rad
+vera4g
+ve4ra4nd
+ver5d4o
+ve2r1d
+v4e3rec
+ve1re
+ver3e1d
+ve3r4e1g
+ve3re2i
+ver5e4is
+ve5r4e4n.
+ve5r4e4nd
+ver3e4t
+ver5ijd
+ve3ri
+veri2j
+ver5ijl
+ver5i2js
+ve5r4i2ng
+ver5k4
+ver3o
+ve3r3om
+1v2er1o5v2
+ver5p
+ver5spe
+ve4rs
+ver1sp
+ver5sta
+ver1s4t
+ver5sto
+ver5t4w
+ve4rt
+ve1r1u
+ve3ry
+ve2s3
+ves5ti
+ves2t
+ve2tj2
+ve2to4
+vet3og
+vet3o4o2
+ve3tor
+ve2t3r4
+ve3t4ro4e
+vet5s1te
+ve4ts
+vets2t
+5ve5z
+3vi
+4v5i4ce1pa
+v4ic
+vi3ce
+vid5s2t4
+vi2d2s1
+vie4r3a
+v4ie
+vie4s3
+vie2s5n4
+vie4tj2
+vi3e2u
+vijf5
+vi2j
+vi2k4s
+v4ik
+vil4t3j2
+vi4l1t
+vi2ng4
+vin4g2s3
+v4i3o
+vi5om
+vi4s3an
+v4is
+vi1sa
+vi1so
+vi2s5ot
+vis5p
+vi4s3t
+vi3s5tr4
+vi1tr4
+v4it
+v3j
+vje4
+vje2t1
+3vl
+v3lar
+vle4i3s4
+vle2i
+vlie4s5
+v1li
+vl4ie
+vlo4t5s
+1v3lo3v2
+5v4o.
+3vo4e
+voe4t3a
+voe4t3r4
+voet5s3p
+voe4ts
+3vog
+vo1ge4
+3v4oi
+vo2le
+vol4g3a
+vo2l1g
+vol4gra
+vol1gr4
+vo2li
+vol3i2j
+vo4l5p
+von4de3t4
+vo4nd
+von3de
+von3d5u
+3vo4o2
+v4oo5d
+voo4i5t
+vo4oi
+voo2r1n4
+voor5na
+vo3ra
+vor1m3a
+vor1m
+vor4s5t4e.
+vo4rs
+vor1s4t
+vor3s1te
+vor5st4en
+v2os3
+3vot
+vo4t3j2
+3vou
+v4ous5
+3v4r2
+vre2i5
+vrie4s
+vr4ie
+vri2j5k4
+vri2j
+vri2js4
+vrij5s3te
+vr4ijs2t
+v3t
+vues4
+vu2l
+vu4l5p
+vuu4r5s
+vu4u4
+vy3
+2w.
+w4aad3
+wa4a4
+w2aar
+waa1r5e4
+waar5s1te
+waa4r2s
+waar1s4t
+wa4b3
+wa3ba
+wa5b4l
+w2ad
+wa3dr4
+w4ag
+wa2la
+wa3l4an
+4wam
+wan4d5r4
+wa4nd
+wan4gr4
+wa2ng
+wang5s3l4
+wan4g2s
+wa2n1o
+w4a2n3s4
+3wap
+w4ar
+w5ar1c
+5wa2r1d
+war4s4t
+wa4r2s
+war3s5te
+w4ar4t3j2
+wa4rt
+w4ar4to
+wa2si
+wa4s5l4
+wa4s5p
+w4a1s5tr4
+wa2s2t
+1wa1te
+wa1t
+wa2t5j2
+wa3tr4
+3way
+2w1b
+w1c
+2w1d
+w4do4o2
+w1do
+wd3oom
+w4e2a
+2we2c
+3we1d
+we1de4
+we2d3i
+we4d3r4
+wee4ki
+we4e
+wee2k
+wee4k3r4
+we4e3lo
+wee2l
+wee3s4t
+wee2s3
+wee5s1te
+3w4e1g
+we4g1a
+we4ger1v2
+we1ge
+we2g3l4
+we2g3o
+we4g5r4
+we4i3s
+we2i
+wei5tj2
+w4e4it2
+we4k3r4
+we4le2
+4w3e2lem
+w2e3li
+w4e2lo
+we4l3s
+we2m
+w2e1m3a
+we3me
+we2n
+we1na4
+wen3ad
+we3ne4
+we4nem
+we5n4e4n.
+wene2n
+wen5e4n5k4
+we3ni
+wen4k3a
+we4n1k
+wen3o
+wen5to
+we2nt
+wer2f
+4wer1g
+wer4ka
+wer4k5l4
+wer4k2n4
+wer4k3o
+wer4k3r4
+wer3k5ru
+wer4k3u4
+wer4k3w
+wer4p3a
+wer1p
+wer4p3l2
+wer4pr4
+we4r4s
+wer5s1te
+wer1s4t
+we2s3
+we3sp4o
+we1sp
+wes4t5o
+wes2t
+3we4t.
+we2th
+we2t3j2
+wet4s2t
+we4ts
+we2t3u
+2wex
+weze2n4s5
+w4e3zen
+we1z
+wez4e
+2w1f
+w1g
+w1h
+wie4la
+w4ie
+wie4t
+w4i2j
+3w4ijd
+wij4ka
+wi2jk
+wi2j4s
+wijs3l4
+w4ijs3p
+wij1s5ta
+w4ijs2t
+w4i4k
+3wil
+win1d3a
+wi4nd
+win4d3r4
+w4i2ng
+2wi2n3r
+wi2n2s
+winst5a4a4
+wins4t
+win1sta
+win1s4t5r4
+wi4t3h
+w4it
+wi4t3j2
+wi2t3o4
+wit3r4
+w1j
+2w1k
+2w1l
+4w1m
+2wn
+w2n3ac
+w1na
+w3ne
+w3ni
+w3no
+w3o3b
+w2o4e
+woes3
+woes4t5a
+woes2t
+wo4l
+wo1l3a
+wol4f4s5
+woon5s2f
+wo4o2
+w4oon
+woo2ns
+woor4d5r4
+woo2r1d
+wor4g3e
+wor1g
+w1p
+wren4s4t
+wre2ns
+wrens5t4e.
+wren3s1te
+2ws
+ws3a2
+w3sc
+w1s2l4
+w2s3le
+w3s2om
+w3sp
+w2s2p4l2
+w4spr4
+w5sp2ra
+w1s4t
+w4sti2j
+ws3ti
+2wt
+w3tes3
+w1te
+wtje5sp
+w1tj2
+wtje4s3
+w1to
+w1tr4
+wu2
+wva2
+w1v2
+w1w
+xaf4
+xa3g
+xame2n5t
+xa1me
+xa3men
+xan3
+xa2n5t
+x1c
+x4e
+xe4n4d
+xe3ro
+x1f
+x1h
+xie4t
+x4ie
+xi3g
+x4i5o
+xi3s1ta
+x4is
+xi2s3t
+xi3s1to
+xi4t3i
+x4it
+x3l
+x1m
+xo3no
+x4op
+x2o3s4
+x1p
+xpre2
+xpr4
+x3pres5
+x3r
+x3so
+x3sp
+x1t
+x2tak
+xt4ie2
+x3ti
+x3w
+xy3
+y1a
+ya3s4
+ya4s5p
+y3a1t
+yba2l3
+y1b
+y3ba
+ybe4r4t3
+y3b4e
+y1c
+ycho3
+y3co
+y1d4
+ydi3a
+y1di
+y5dr4
+ydro3
+y1e
+yes3
+y3és
+y3è1
+y1f
+y1g
+y1gu2
+y1h
+y1i
+y4in
+y5is
+yks1ge4
+y2ks
+yk4s5g
+y3la
+y2l3al
+y3le
+y4l3et
+y3lo
+y2lo3l
+ym2f5l2
+y2m1f
+ym5pa
+y2m1p
+y3na
+yn3er
+y1ne
+y3no
+y2n1t
+y1o
+y3on
+y3os
+yo3t
+y1p
+y3p4h4
+ypo3
+ypot4
+y2p3s
+yp5si
+y1r
+y3r4e
+y5ri
+ys3
+y1s4a
+y3s4c
+y5s4e
+yse5t
+y3s4f
+y3s4h
+y1s4i
+y3s4o
+y3s4p
+y2s5p4l2
+ys4ta
+ys2t
+y1s5tr4
+y3s4y
+y1t
+y2t3hu
+yto3
+y2to2f
+ytop4
+yu5a
+y3u2i
+y3u2r
+yva1ri5
+y1v2
+y1w4
+1z
+4z.
+zaa4r5t
+za4a4
+za3f2
+zag1s4t
+za4gs
+za2k3a2
+za2k3r4
+za4n2d
+z4an1d5a4
+zan3di
+zan4dr4
+zan4g3s
+za2ng
+za3po
+za3s4
+4z1b
+4zc
+4zd
+z4e
+zee3k
+ze4e
+zee4l5d
+zee2l
+zee3r4o
+zee2r
+zeer1o5v2
+zee4r5s
+zee3s4
+ze5ge
+z4e1g
+zeg4s3l4
+ze4g3s4
+zei3s4p
+ze2i
+ze4is
+ze5k
+zel5dr4
+ze4ld
+z3e3lem
+ze1le
+zel2f1
+zel4so
+ze4ls
+zen4d3a
+ze4nd
+ze4nin
+ze1ni
+ze4n5k
+zen3o4
+zen4og
+ze3n1on
+ze4r3a
+ze3ro
+ze4r2s
+zer4s5e
+ze4s3
+ze5s4ch2
+ze1sc
+ze3s5e
+ze3s5l4
+ze5s1te
+zes2t
+ze2t3a
+ze2t3h
+ze4ti
+ze2t3j2
+ze2t3r4
+zev4e2
+ze1v2
+zeven3
+4zf
+4zg
+2z3h
+z2i
+zie4k3l4
+z4ie
+zi2ek
+zie4k3o
+ziek3w
+zie4l4s
+zie5s2l4
+3z4if
+zi2g5a
+zij5k4l4
+zi2j
+zi2jk
+zij3po
+zi2j5s4
+zik2w
+z4ik
+zi4n3a4
+zin4g2s3
+zi2ng
+zin4k3l4
+zi4n1k
+zi2n4s
+zins4t
+zin1s5ta
+zin5s4tr4
+z4i3o5
+zi1pi3
+z4i4t
+zi1t3e
+zi4t3j2
+zi3t3u4
+4z3k
+4z3l
+4zm
+zo1di5
+zoe2t3j2
+zo4e
+zoet5s1te
+zoe4ts
+zoets2t
+zo3f2
+z4oi4
+zo5i1e
+zo3la
+z4o1me4
+zo2na
+zon3s2f
+zo2ns
+zon5ta
+zo2nt
+zooi5tj2
+zo4o2
+zo4oi
+zoo4it
+zo1p
+zor4g3a
+zor1g
+zor4gl4
+zor4gr4
+zo2t
+zo1t3h
+z2o3tr4
+zo3v2
+4z3p
+4z3r
+2zs
+4z5t
+zui4d3i
+zu2i
+zui4dr4
+zus3
+2z1v2
+z4w
+zwets5t4e.
+zwet4s2t
+zwet4s1te
+zwe4ts
+5zy
+2z3z
+zz3in
+zz2i
+zz3or
+z4z5w
+.aa8n9d8a8c8h8t8s9t8r8e8k9k8e4r.
+.a4an1da
+.aa4nd
+.aanda4c2ht
+.aandachts5tre4k5k4
+.aandach4ts
+.aandachts2t
+.aandacht1s4tr4
+.aandachtstrek1ke
+.aa8n9d8a8c8h8t8s9t8r8e8k9k8e8r4s.
+.aandachtstrekke4r4s
+.ac8h8t9e8n9d8e4r.
+.achten3de
+.ac8h8t9e8n9d8e8r4s.
+.achtende4rs
+.ac8h8t9e8n9d8e8r9t8i4g.
+.acht5ender5t4i
+.achtende4rt
+.ac8h8t9e8n9d8e8r9t8i8g9s8t4e.
+.achtenderti4gs4
+.ach1tendertig1s1te
+.achtendertigs2t
+.be9h8e8e8r8s9t8a9k8e4n.
+.be1h4
+.beh4e
+.beheers5tak
+.behe4e
+.behee2r
+.behee4rs
+.beheer1s4t
+.beheersta1ke
+.be9s8c8h8e8r8m9e8n9g8e4l.
+.be1s4
+.be1sc
+.be3s4ch2
+.be5scher
+.besch4e
+.bescherm5e2ng
+.bescher1m
+.bescher1me
+.bescher3men
+.beschermen1ge
+.be9s8c8h8e8r8m9e8n9g8e9l8e4n.
+.beschermenge3l4e
+.beschermenge5l4en
+.be9s8t8u8u8r8s9l8a9g8e4n.
+.bes2t
+.be1stu
+.bestuurs5la
+.bestu4u4
+.bestuur2s2l4
+.bestuu4rs
+.bestuur3s4lag
+.bestuursla1ge
+.be9s8t8u8u8r8s9t8a9k8e4n.
+.bestuurs5ta1ke
+.bes2tuur1s4t
+.bestuurs4tak
+.bi8j9s8t8a8n8d8s9t8r8e8k9k8e4r.
+.3b2i
+.bi2j1s2
+.bi2j
+.b4ijs2t
+.bij1sta
+.bij3s4ta4nd
+.bijstan2ds
+.bijs2tands2t4
+.bijstands5tre4k5k4
+.bijstand1s4tr4
+.bijstandstrek1ke
+.bi8j9s8t8a8n8d8s9t8r8e8k9k8e8r4s.
+.bijstandstrekke4r4s
+.bu8i9t8e8n9a8n9t8e8n9n4e.
+.3b4u
+.bu2i
+.bu4it
+.bui3t4en
+.bui1te
+.buite2nan
+.buite1na
+.buite3na2nt
+.bui1te5nan3te
+.buiten5anten3n
+.buit4enan5t4e4n
+.buitenanten5n2e
+.bu8i9t8e8n9a8n9t8e8n9n8e4s.
+.buitenanten3nes
+.do8n9d8e8r9a8a4l.
+.don5der
+.do4nd
+.don3de
+.dondera4
+.donder5aal
+.donde1r2a4a4
+.ha8n9d8e8l8s9t8a8a4l.
+.handel1s2t
+.handel3sta
+.handelst4aal
+.handelsta4a4
+.he8r9e9n8e4n.
+.he1re
+.here4ne
+.herene2n
+.ke8t9t8i8n8g9s8t8e9k8e4n.
+.k2et
+.kettin4g5s
+.ke4t3t
+.ket3ti
+.ketting4s2t
+.ketti2ng
+.ketting1s1te
+.kettings3tek
+.kettingste1ke
+.la8n8d8s9t8a8a4l.
+.l4an
+.3la4nd
+.lands5t4aal
+.lan2ds
+.lands2t4
+.land1sta
+.landsta4a4
+.me8e8s8t9a4l.
+.5mee2s3
+.mee3s4t5al
+.mees2t
+.mi9n8i8s9t8e8r8s9p8o8r9t8e9f8e8u8i8l9l4e.
+.mi1ni
+.mi3n4is
+.mini2s3t
+.minis1te
+.minist2er
+.ministe4rs
+.minister1sp
+.ministersp4o
+.ministersp4o4rt
+.ministers5port4ef
+.minis1terspor1te
+.ministersporte1fe
+.ministersportefeu2i
+.ministersportefeui2l1l
+.mi9n8i8s9t8e8r8s9p8o8r9t8e9f8e8u8i8l9l8e4s.
+.ministersportefeuille2s
+.on8t9h8o8o8f9d8i8n9g8e4n.
+.3ont1h
+.on4tho
+.ont1ho4o2
+.onthoof5di
+.onth4oof
+.onthoo4fd
+.onthoof2d3in
+.onthoofdi2ng
+.onthoofdin5gen
+.onthoofdin1ge
+.pa9l8i8n8g9s8t8e9k8e4n.
+.pa3li
+.palin4g5s
+.paling4s2t
+.pali2ng
+.paling1s1te
+.palings3tek
+.palingste1ke
+.re8c8h8t8s9t8a8a4l.
+.re4c2ht
+.rechts5t4aal
+.rech4ts
+.recht3sta
+.rechts2t
+.rechtsta4a4
+.sc8h8i8l9d8e8r8s9t8a9l8e8n4t.
+.3s4ch2
+.s2chi
+.schi4ld
+.schil1de
+.schilde4rs
+.schilder1s4t
+.schilderst2al
+.schilders5tale2nt
+.schildersta1le
+.so8u9v8e9n8i8e8r8t8j4e.
+.sou1v2
+.souv4e
+.souve3n4ie
+.souve1ni
+.souvenie4rt
+.souvenier1tj2
+.so8u9v8e9n8i8e8r8t8j8e4s.
+.souveniertje4s3
+.sp8i8e9g8e8l9e4i.
+.1s4p4ie
+.spie3ge
+.spi4e1g
+.spiege3l4e
+.spiegele2i
+.ve8r9e8n9g8e8l8s9t4e.
+.ve1re
+.vere2ng
+.veren1ge
+.verengel5s1te
+.verenge4ls
+.verengel1s2t
+.ve8r9h8o8l9l8a8n8d8s9t4e.
+.ver3h
+.verho2l1l
+.verhol5la
+.verholl4an
+.verhol3la4nd
+.verhollan2ds
+.verhollands2t4
+.verholland3s1te
+.ve8r9i8n9l8a8n8d8s9t4e.
+.ve3ri
+.ver3i2n3l
+.verinl4an
+.verin3la4nd
+.verinlan2ds
+.verinlands2t4
+.verinland3s1te
+.ve8r9k8i8n8d8s9t4e.
+.ver5k4
+.ver1ki
+.verkind5s1te
+.verki4nd
+.verkin2ds
+.verkinds2t4
+.ve8r9n8e9d8e8r9l8a8n8d8s9t4e.
+.ve2r1n
+.ver1ne
+.verne1d
+.verned4er
+.verne1de
+.verneder3l
+.vernederl4an
+.verneder3la4nd
+.vernederlan2ds
+.vernederlands2t4
+.vernederland3s1te
+.ve8r9r8e8c8h8t8s9t4e.
+.ve2r5r
+.verre4c2ht
+.verrech4ts
+.verrecht3s1te
+.verrechts2t
+.ve8r9s8t8e8e8d8s9t4e.
+.ve4rs
+.ver1s4t
+.ver3s1te
+.verste4e2
+.verstee1d
+.verstee2d1s
+.vers2teeds2t4
+.vers1teed3s1te
+.wa9t8e8r9s8t8a8a8t8s9i8n9g8e9n8i9e8u4r.
+.1wa1te
+.wa1t
+.wat2er
+.wate4rs
+.water1s4t
+.wa1ters4taa1t
+.watersta4a4
+.waterstaat1si4
+.waterstaa4ts
+.waterstaatsi2ng4
+.waterstaats5in3ge1ni
+.waterstaatsin5gen
+.waterstaatsin1ge
+.waterstaatsinge3n4ie
+.waterstaatsinge3nie2u
+.waterstaatsingeni1eur
+.wa9t8e8r9s8t8a8a8t8s9i8n9g8e9n8i9e8u8r4s.
+.waterstaatsingenieu4rs
diff --git a/troff/libhnj/hyphen.d/substring.pl b/troff/libhnj/hyphen.d/substring.pl
new file mode 100755
index 0000000000000..3520b51921531
--- /dev/null
+++ b/troff/libhnj/hyphen.d/substring.pl
@@ -0,0 +1,136 @@
+#!/usr/bin/perl
+# A utility for finding substring embeddings in patterns
+#
+# LibHnj is dual licensed under LGPL and MPL. Boilerplate for both
+# licenses follows.
+#
+# LibHnj - a library for high quality hyphenation and justification
+# Copyright (C) 1998 Raph Levien,
+# (C) 2001 ALTLinux, Moscow (http://www.alt-linux.org),
+# (C) 2001 Peter Novodvorsky (nidd@cs.msu.su)
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Library General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later version.
+#
+# This library 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
+# Library General Public License for more details.
+#
+# You should have received a copy of the GNU Library General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307 USA.
+#
+#
+#
+# The contents of this file are subject to the Mozilla Public License
+# Version 1.0 (the "MPL"); you may not use this file except in
+# compliance with the MPL. You may obtain a copy of the MPL at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the MPL is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
+# for the specific language governing rights and limitations under the
+# MPL.
+#
+#
+# This file has been obtained from
+# <http://cvs.sourceforge.net/viewcvs.py/reportlab/reportlab/lib/hyphen.c>.
+#
+# Sccsid @(#)substring.pl 1.1 (gritter) 8/27/05
+#
+
+$fn = $ARGV[0];
+if (!-e $fn) { $fn = "hyphen.us"; }
+open HYPH, $fn;
+open OUT, ">hyphen.mashed";
+
+while (<HYPH>)
+{
+ if (/^\%/) {
+ #comment, ignore
+ } elsif (/^(.+)$/) {
+ $origpat = $1;
+ $pat = $1;
+ $pat =~ s/\d//g;
+ push @patlist, $pat;
+ $pattab{$pat} = $origpat;
+ }
+}
+
+foreach $pat (@patlist) {
+ $patsize = length $pat;
+ for $i (0..$patsize - 1) {
+ for $j (1..$patsize - $i) {
+ $subpat = substr ($pat, $i, $j);
+# print "$pattab{$pat} $i $j $subpat $pattab{$subpat}\n";
+ if (defined $pattab{$subpat}) {
+ print "$pattab{$subpat} is embedded in $pattab{$pat}\n";
+ $newpat = substr $pat, 0, $i + $j;
+ if (!defined $newpattab{$newpat}) {
+ $newpattab{$newpat} =
+ substr ($pat, 0, $i).$pattab{$subpat};
+ $ss = substr ($pat, 0, $i);
+ print "$ss+$pattab{$subpat}\n";
+ push @newpatlist, $newpat;
+ } else {
+ $tmp = $newpattab{$newpat};
+ $newpattab{$newpat} =
+ combine ($newpattab{$newpat}, $pattab{$subpat});
+ print "$tmp + $pattab{$subpat} -> $newpattab{$newpat}\n";
+ }
+ }
+ }
+ }
+}
+
+foreach $pat (@newpatlist) {
+ print OUT $newpattab{$pat}."\n";
+}
+
+#convert 'n1im' to 0n1i0m0 expresed as a list
+sub expand {
+ my ($pat) = @_;
+ my $last = '.';
+ my @exp = ();
+
+ foreach $c (split (//, $pat)) {
+ if ($last =~ /[\D]/ && $c =~ /[\D]/) {
+ push @exp, 0;
+ }
+ push @exp, $c;
+ $last = $c;
+ }
+ if ($last =~ /[\D]/) {
+ push @exp, 0;
+ }
+ return @exp;
+}
+
+# Combine two patterns, i.e. .ad4der + a2d becomes .a2d4der
+# The second pattern needs to be a substring of the first (modulo digits)
+sub combine {
+ my @exp = expand shift;
+ my @subexp = expand shift;
+ my $pat1, $pat2;
+ my $i;
+
+ $pat1 = join ('', map { $_ =~ /\d/ ? () : $_ } @exp);
+ $pat2 = join ('', map { $_ =~ /\d/ ? () : $_ } @subexp);
+
+ for $i (0..length ($pat1) - length ($pat2)) {
+ if (substr ($pat1, $i, length $pat2) eq $subpat) {
+ for ($j = 0; $j < @subexp; $j += 2) {
+# print ("$i $j $subexp[$j] $exp[2 * $i + $j]\n");
+ if ($subexp[$j] > $exp[2 * $i + $j]) {
+ $exp[2 * $i + $j] = $subexp[$j];
+ }
+ }
+ print ("$pat1 includes $pat2 at pos $i\n");
+ }
+ }
+ return join ('', map { $_ eq '0' ? () : $_ } @exp);
+}
diff --git a/troff/libhnj/hyphen.h b/troff/libhnj/hyphen.h
new file mode 100644
index 0000000000000..c924d8ecf6a6b
--- /dev/null
+++ b/troff/libhnj/hyphen.h
@@ -0,0 +1,89 @@
+/* LibHnj is dual licensed under LGPL and MPL. Boilerplate for both
+ * licenses follows.
+ */
+
+/* LibHnj - a library for high quality hyphenation and justification
+ * Copyright (C) 1998 Raph Levien, (C) 2001 ALTLinux, Moscow
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307 USA.
+*/
+
+/*
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.0 (the "MPL"); you may not use this file except in
+ * compliance with the MPL. You may obtain a copy of the MPL at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the MPL is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
+ * for the specific language governing rights and limitations under the
+ * MPL.
+ *
+ */
+
+/*
+ * Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+ *
+ * Sccsid @(#)hyphen.h 1.3 (gritter) 8/25/05
+ */
+
+#ifndef __HYPHEN_H__
+#define __HYPHEN_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct _HyphenDict HyphenDict;
+typedef struct _HyphenState HyphenState;
+typedef struct _HyphenTrans HyphenTrans;
+#define MAX_CHARS 256
+#define MAX_NAME 20
+
+struct _HyphenDict {
+ int num_states;
+ int alc_states;
+ char cset[MAX_NAME];
+ HyphenState *states;
+ char *space;
+ char *spptr;
+ int spacesize;
+};
+
+struct _HyphenState {
+ char *match;
+ int fallback_state;
+ int num_trans;
+ int alc_trans;
+ HyphenTrans *trans;
+};
+
+struct _HyphenTrans {
+ char ch;
+ int new_state;
+};
+
+HyphenDict *hnj_hyphen_load (const char *fn);
+void hnj_hyphen_free (HyphenDict *dict);
+int hnj_hyphen_hyphenate (HyphenDict *dict,
+ const char *_word, int word_size,
+ char *hyphens);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __HYPHEN_H__ */
diff --git a/troff/libhnj/test.c b/troff/libhnj/test.c
new file mode 100644
index 0000000000000..7b72bdc903afb
--- /dev/null
+++ b/troff/libhnj/test.c
@@ -0,0 +1,23 @@
+#include "hyphen.h"
+#include <stdio.h>
+#include <string.h>
+
+int
+main(int argc, char **argv)
+{
+ HyphenDict *hd;
+ char buf[512], hbuf[512];
+ int i, j;
+
+ hd = hnj_hyphen_load(argv[1]);
+ while (fgets(buf, sizeof buf, stdin) != NULL) {
+ j = strlen(buf);
+ buf[--j] = '\0';
+ hnj_hyphen_hyphenate(hd, buf, j, hbuf);
+ for (i = 0; i < j; i++)
+ if ((hbuf[i] - '0') & 1)
+ printf("%c %.*s-%s\n", hbuf[i],
+ i+1, buf, &buf[i+1]);
+ }
+ return 0;
+}
diff --git a/troff/n1.c b/troff/n1.c
new file mode 100644
index 0000000000000..e56735fc94ff5
--- /dev/null
+++ b/troff/n1.c
@@ -0,0 +1,2602 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n1.c 1.25 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n1.c 1.144 (gritter) 8/19/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze <carsten.kunze at arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+char *xxxvers = "@(#)roff:n1.c 2.13";
+/*
+ * n1.c
+ *
+ * consume options, initialization, main loop,
+ * input routines, escape function calling
+ */
+
+#include <stdio.h>
+#include <ctype.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <setjmp.h>
+#include <time.h>
+#include <stdarg.h>
+#include <locale.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdarg.h>
+#include <unistd.h>
+#ifdef EUC
+#include <stddef.h>
+#include <limits.h>
+#include <wchar.h>
+#include <wctype.h>
+#endif /* EUC */
+
+#include "tdef.h"
+#include "ext.h"
+
+#ifdef NROFF
+#include "tw.h"
+#include "draw.h"
+#endif
+#include "pt.h"
+
+#define MAX_RECURSION_DEPTH 512
+static int max_recursion_depth = MAX_RECURSION_DEPTH;
+static int max_tail_depth;
+
+jmp_buf sjbuf;
+filep ipl[NSO];
+long offl[NSO];
+long ioff;
+char *ttyp;
+char *cfname[NSO+1]; /*file name stack*/
+int cfline[NSO]; /*input line count stack*/
+static int cfpid[NSO+1]; /* .pso process IDs */
+char *progname; /* program name (troff) */
+#ifdef EUC
+char mbbuf1[MB_LEN_MAX + 1];
+char *mbbuf1p = mbbuf1;
+wchar_t twc = 0;
+#endif /* EUC */
+static unsigned char escoff[126-31];
+
+static void initg(void);
+static void printlong(long, int);
+static void printn(long, long);
+static char *sprintlong(char *s, long, int);
+static char *sprintn(char *s, long n, int b);
+#ifndef NROFF
+#define vfdprintf xxvfdprintf
+static void vfdprintf(int fd, const char *fmt, va_list ap);
+#endif
+static tchar setyon(void);
+static void _setenv(void);
+static tchar setZ(void);
+static int setgA(void);
+static int setB(void);
+static void _caseesc(int);
+
+#ifdef DEBUG
+int debug = 0; /*debug flag*/
+#endif /* DEBUG */
+
+static int _xflag;
+int bol;
+int noschr;
+int prdblesc;
+
+int
+main(int argc, char **argv)
+{
+ register char *p;
+ register int j;
+ char **oargv;
+ char *s;
+ size_t l;
+
+ setlocale(LC_CTYPE, "");
+ mb_cur_max = MB_CUR_MAX;
+ progname = argv[0];
+ nextf = calloc(1, NS = 1);
+ d = calloc(NDI = 5, sizeof *d);
+ growblist();
+ growcontab();
+ grownumtab();
+ growpbbuf();
+ morechars(1);
+ initg();
+ for (j = 0; j <= NSO; j++)
+ cfpid[j] = -1;
+ if (signal(SIGHUP, SIG_IGN) != SIG_IGN)
+ signal(SIGHUP, catch);
+ if (signal(SIGINT, catch) == SIG_IGN) {
+ signal(SIGHUP, SIG_IGN);
+ signal(SIGINT, SIG_IGN);
+ signal(SIGQUIT, SIG_IGN);
+ }
+ signal(SIGPIPE, catch);
+ signal(SIGTERM, kcatch);
+ oargv = argv;
+ s = "<standard input>";
+ l = strlen(s) + 1;
+ cfname[0] = malloc(l);
+ n_strcpy(cfname[0], s, l);
+ init0();
+#ifdef EUC
+ localize();
+#endif /* EUC */
+ if ((p = getenv("TYPESETTER")) != 0)
+ n_strcpy(devname, p, sizeof(devname));
+ while (--argc > 0 && (++argv)[0][0] == '-')
+ switch (argv[0][1]) {
+
+ case 'F': /* switch font tables from default */
+ if (argv[0][2] != '\0') {
+ termtab = &argv[0][2];
+ fontfile = &argv[0][2];
+ } else {
+ argv++; argc--;
+ if (argv[0] != '\0') {
+ termtab = argv[0];
+ fontfile = argv[0];
+ } else
+ errprint("missing the font directory");
+ }
+ continue;
+ case 0:
+ goto start;
+ case 'i':
+ stdi++;
+ continue;
+ case 'q':
+#ifdef NROFF
+ quiet++;
+ save_tty();
+#else
+ errprint("-q option ignored in troff");
+#endif /* NROFF */
+ continue;
+ case 'n':
+ npn = ctoi(&argv[0][2]);
+ continue;
+ case 'u': /* set emboldening amount */
+ initbdtab[3] = ctoi(&argv[0][2]);
+ if (initbdtab[3] < 0 || initbdtab[3] > 50)
+ initbdtab[3] = 0;
+ continue;
+ case 's':
+ if (!(stop = ctoi(&argv[0][2])))
+ stop++;
+ continue;
+ case 't':
+ ptid = 1;
+ continue;
+ case 'r':
+ case 'd':
+ if (&argv[0][2] != '\0' && strlen(&argv[0][2]) >= 2 && &argv[0][3] != '\0') {
+ if ((p = strchr(&argv[0][3], '=')) != NULL) {
+ *p = 0;
+ l = strlen(ibuf);
+ eibuf = roff_sprintf(ibuf + l, sizeof(ibuf) - l,
+ ".do %s %s %s%s\n",
+ argv[0][1] == 'd' ? "ds" : "nr",
+ &argv[0][2],
+ argv[0][1] == 'd' ? "\"" : "",
+ &p[1]);
+ *p = '=';
+ } else {
+ l = strlen(ibuf);
+ eibuf = roff_sprintf(ibuf + l, sizeof(ibuf) - l,
+ ".%s %c %s%s\n",
+ argv[0][1] == 'd' ? "ds" : "nr",
+ argv[0][2],
+ argv[0][1] == 'd' ? "\"" : "",
+ &argv[0][3]);
+ }
+ } else
+ errprint("wrong options");
+ continue;
+ case 'c':
+ case 'm':
+ if (mflg++ >= NMF && (mfiles = realloc(mfiles,
+ ++NMF * sizeof *mfiles)) == 0) {
+ errprint("Too many macro packages: %s",
+ argv[0]);
+ continue;
+ }
+ if (argv[0][2] == '\0') {
+ errprint("No library provided with -m");
+ done(02);
+ }
+ if (getenv("TROFFMACS") != '\0') {
+ if (tryfile(getenv("TROFFMACS"), &argv[0][2], nmfi))
+ nmfi++;
+ } else
+ if (tryfile(MACDIR "/", &argv[0][2], nmfi)
+ || tryfile(MACDIR "/tmac.", &argv[0][2], nmfi))
+ nmfi++;
+ else {
+ errprint("Cannot find library %s\n", argv[0]);
+ done(02);
+ }
+ continue;
+ case 'o':
+ getpn(&argv[0][2]);
+ continue;
+ case 'T':
+ n_strcpy(devname, &argv[0][2], sizeof(devname));
+ dotT++;
+ continue;
+ case 'x':
+ if (argv[0][2])
+ xflag = strtol(&argv[0][2], NULL, 10);
+ else
+ xflag = 2;
+ continue;
+ case 'X':
+ xflag = 0;
+ continue;
+#ifdef NROFF
+ case 'h':
+ hflg++;
+ continue;
+ case 'z':
+ no_out++;
+ continue;
+ case 'e':
+ eqflg++;
+ continue;
+#endif
+#ifndef NROFF
+ case 'z':
+ no_out++;
+ case 'a':
+ ascii = 1;
+ nofeed++;
+ continue;
+ case 'f':
+ nofeed++;
+ continue;
+#endif
+ case '#':
+#ifdef DEBUG
+ debug = ctoi(&argv[0][2]);
+#else
+ errprint("DEBUG not enabled");
+#endif /* DEBUG */
+ continue;
+ case 'V':
+ fprintf(stdout, "Heirloom doctools %croff, " RELEASE
+ "\n",
+#ifdef NROFF
+ 'n'
+#else
+ 't'
+#endif
+ );
+ exit(0);
+ default:
+ errprint("unknown option %s", argv[0]);
+ done(02);
+ }
+
+start:
+ init1(oargv[0][0]);
+ argp = argv;
+ rargc = argc;
+ nmfi = 0;
+ init2();
+ mainloop();
+ /*NOTREACHED*/
+ return(0);
+}
+
+void
+mainloop(void)
+{
+ register int j;
+ register tchar i;
+ int eileenct; /*count to test for "Eileen's loop"*/
+#ifdef NROFF
+ int ndo = 0;
+#endif
+
+ _xflag = xflag;
+ setjmp(sjbuf);
+ eileenct = 0; /*reset count for "Eileen's loop"*/
+loop:
+#ifdef NROFF
+ if (ndo) {
+ ndo = 0;
+ npic(0);
+ }
+#endif
+ xflag = _xflag;
+ defcf = charf = clonef = copyf = lgf = nb = nflush = nlflg = 0;
+ if (ip && rbf0(ip) == 0 && dip == d && ejf &&
+ frame->pframe->tail_cnt <= ejl) {
+ nflush++;
+ trap = 0;
+ eject((struct s *)0);
+#ifdef DEBUG
+ if (debug & DB_LOOP)
+ fprintf(stderr, "loop: NL=%d, ejf=%d, lss=%d, "
+ "eileenct=%d\n", numtab[NL].val, ejf, lss,
+ eileenct);
+#endif /* DEBUG */
+ if (eileenct > 20) {
+ errprint("job looping; check abuse of macros");
+ ejf = 0; /*try to break Eileen's loop*/
+ eileenct = 0;
+ } else
+ eileenct++;
+ goto loop;
+ }
+ eileenct = 0; /*reset count for "Eileen's loop"*/
+ bol = 1;
+ i = getch();
+ bol = 0;
+ if (!i) /* CK: Bugfix: .bp followed by .. */
+ goto loop;
+ if (pendt)
+ goto Lt;
+ if ((j = cbits(i)) == XPAR) {
+ copyf++;
+ tflg++;
+ while (cbits(i) != '\n')
+ pchar(i = getch());
+ tflg = 0;
+ copyf--;
+ goto loop;
+ }
+ if (j == cc || j == c2 || isxfunc(i, CC)) {
+ if (gflag && isdi(i))
+ goto Lt;
+ if (j == c2)
+ nb++;
+ copyf++;
+ while ((j = cbits(i = getch())) == ' ' || j == '\t')
+ ;
+ ch = i;
+ copyf--;
+ j = getrq(4);
+#ifdef NROFF
+ if (j == PAIR('P', 'S')) npic(1);
+ else if (ndraw && j == PAIR('d', 'o')) ndo = 1;
+ else
+#endif
+ if (xflag != 0 && j == PAIR('d', 'o')) {
+ xflag = 3;
+ skip(1);
+ j = getrq(4);
+ }
+ noschr = 1;
+ control(j, 1);
+ noschr = 0;
+ flushi();
+ goto loop;
+ }
+Lt:
+ ch = i;
+ text();
+ if (nlflg)
+ numtab[HP].val = 0;
+ goto loop;
+}
+
+
+int
+tryfile(register char *pat, register char *fn, int idx)
+{
+ size_t l = strlen(pat) + strlen(fn) + 1;
+ mfiles[idx] = malloc(l);
+ n_strcpy(mfiles[idx], pat, l);
+ n_strcat(mfiles[idx], fn, l);
+ if (access(mfiles[idx], 4) == -1)
+ return(0);
+ else return(1);
+}
+
+void catch(int unused)
+{
+ done3(01);
+}
+
+
+void kcatch(int unused)
+{
+ signal(SIGTERM, SIG_IGN);
+ done3(01);
+}
+
+
+void
+init0(void)
+{
+ eibuf = ibufp = ibuf;
+ ibuf[0] = 0;
+ numtab[NL].val = -1;
+}
+
+
+void
+init1(char a)
+{
+ register int i;
+
+ for (i = NTRTAB; --i; )
+ trnttab[i] = trtab[i] = i;
+ trnttab[UNPAD] = trtab[UNPAD] = ' ';
+ trnttab[STRETCH] = trtab[STRETCH] = ' ';
+}
+
+
+void
+init2(void)
+{
+ register int i, j;
+ size_t l;
+
+ ttyod = 2;
+ if ((ttyp=ttyname(j=0)) != 0 || (ttyp=ttyname(j=1)) != 0 || (ttyp=ttyname(j=2)) != 0)
+ ;
+ else
+ ttyp = "notty";
+ iflg = j;
+ if (ascii)
+ mesg(0);
+ obufp = obuf;
+ ptinit();
+ mchbits();
+ cvtime();
+ setnr(".g", gflag, 0);
+ numtab[PID].val = getpid();
+ spreadlimit = 3*EM;
+ olinesz = LNSIZE;
+ oline = malloc(olinesz * sizeof *oline);
+ olinep = oline;
+ ioff = 0;
+ numtab[HP].val = init = 0;
+ numtab[NL].val = -1;
+ nfo = 0;
+ ifile = 0;
+ copyf = raw = 0;
+ l = strlen(ibuf);
+ eibuf = roff_sprintf(ibuf + l, sizeof(ibuf) - l, ".ds .T %s\n",
+ devname);
+ numtab[CD].val = -1; /* compensation */
+ cpushback(ibuf);
+ ibufp = ibuf;
+ nx = mflg;
+ frame = stk = calloc(1, sizeof *stk);
+ stk->frame_cnt = 0;
+ dip = &d[0];
+ nxf = calloc(1, sizeof *nxf);
+ initenv = env;
+ for (i = 0; i < NEV; i++) {
+ extern tchar *corebuf;
+ ((struct env *)corebuf)[i] = env;
+ }
+}
+
+
+void
+cvtime(void)
+{
+ time_t tt;
+ register struct tm *tm;
+
+ tt = time((time_t *) 0);
+ tm = localtime(&tt);
+ numtab[DY].val = tm->tm_mday;
+ numtab[DW].val = tm->tm_wday + 1;
+ numtab[YR].val = tm->tm_year;
+ numtab[MO].val = tm->tm_mon + 1;
+ setnr("hours", tm->tm_hour, 0);
+ setnr("minutes", tm->tm_min, 0);
+ setnr("seconds", tm->tm_sec, 0);
+ setnr("year", tm->tm_year + 1900, 0);
+
+}
+
+
+int
+ctoi(register char *s)
+{
+ register int n;
+
+ while (*s == ' ')
+ s++;
+ n = 0;
+ while (isdigit((unsigned char)*s))
+ n = 10 * n + *s++ - '0';
+ return n;
+}
+
+
+void
+mesg(int f)
+{
+ static int mode;
+ struct stat stbuf;
+
+ if (!f) {
+ stat(ttyp, &stbuf);
+ mode = stbuf.st_mode;
+ chmod(ttyp, mode & ~0122); /* turn off writing for others */
+ } else {
+ if (ttyp && *ttyp && mode)
+ chmod(ttyp, mode);
+ }
+}
+
+void
+verrprint(const char *s, va_list ap)
+{
+ fprintf(stderr, "%s: ", progname);
+ vfprintf(stderr, s, ap);
+ if (numtab[CD].val > 0)
+ fprintf(stderr, "; line %d, file %s",
+ numtab[CD].val + (nlflg == 0 && frame == stk),
+ cfname[ifi] ? cfname[ifi] : "");
+ if (xflag && realpage)
+ fprintf(stderr, "; page %ld", realpage);
+ fprintf(stderr, "\n");
+ stackdump();
+#ifdef DEBUG
+ if (debug & DB_ABRT)
+ abort();
+#endif /* DEBUG */
+}
+
+void
+errprint(const char *s, ...) /* error message printer */
+{
+ va_list ap;
+
+ va_start(ap, s);
+ verrprint(s, ap);
+ va_end(ap);
+}
+
+
+#ifndef NROFF
+/*
+ * Scaled down version of C Library printf.
+ * Only %s %u %d (==%u) %o %c %x %D are recognized.
+ */
+#undef putchar
+#define putchar(n) (*pfbp++ = (n)) /* NO CHECKING! */
+
+static char pfbuf[NTM];
+static char *pfbp = pfbuf;
+
+void
+fdprintf(int fd, char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ vfdprintf(fd, fmt, ap);
+ va_end(ap);
+}
+
+static void
+vfdprintf(int fd, const char *fmt, va_list ap)
+{
+ register int c;
+ char *s;
+ register int i;
+
+ pfbp = pfbuf;
+loop:
+ while ((c = *fmt++) != '%') {
+ if (c == '\0') {
+ if (fd == 2)
+ write(STDERR_FILENO, pfbuf, pfbp - pfbuf);
+ else {
+ *pfbp = 0;
+ pfbp = pfbuf;
+ while (*pfbp) {
+ *obufp++ = *pfbp++;
+ if (obufp >= &obuf[OBUFSZ])
+ flusho();
+ }
+ }
+ return;
+ }
+ putchar(c);
+ }
+ c = *fmt++;
+ if (c == 'd' || c == 'u' || c == 'o' || c == 'x') {
+ i = va_arg(ap, int);
+ printlong(i, c);
+ } else if (c == 'c') {
+ if (c > 0177 || c < 040)
+ putchar('\\');
+ putchar(va_arg(ap, int) & 0177);
+ } else if (c == 's') {
+ s = va_arg(ap, char *);
+ while ((c = *s++))
+ putchar(c);
+ } else if (c == 'D') {
+ printn(va_arg(ap, long), 10);
+ } else if (c == 'O') {
+ printn(va_arg(ap, long), 8);
+ } else if (c == 'e' || c == 'E' ||
+ c == 'f' || c == 'F' ||
+ c == 'g' || c == 'G') {
+ char tmp[40];
+ char fmt[] = "%%";
+ fmt[1] = c;
+ snprintf(s = tmp, sizeof(tmp), fmt, va_arg(ap, double));
+ while ((c = *s++))
+ putchar(c);
+ } else if (c == 'p') {
+ i = (intptr_t)va_arg(ap, void *);
+ putchar('0');
+ putchar('x');
+ printlong(i, 'x');
+ } else if (c == 'l') {
+ c = *fmt++;
+ if (c == 'd' || c == 'u' || c == 'o' || c == 'x') {
+ i = va_arg(ap, long);
+ printlong(i, c);
+ } else if (c == 'c') {
+ i = va_arg(ap, int);
+ if (c & ~0177) {
+#ifdef EUC
+ char mb[MB_LEN_MAX];
+ int j, n;
+ n = wctomb(mb, i);
+ for (j = 0; j < n; j++)
+ putchar(mb[j]&0377);
+#endif /* EUC */
+ } else
+ putchar(i);
+ }
+ } else if (c == 'C') {
+ extern int nchtab;
+ tchar t = va_arg(ap, tchar);
+ if ((i = cbits(t)) < 0177) {
+ putchar(i);
+ } else if (i < 128 + nchtab) {
+ putchar('\\');
+ putchar('(');
+ putchar(chname[chtab[i-128]]);
+ putchar(chname[chtab[i-128]+1]);
+ }
+ else if ((i = tr2un(i, fbits(t))) != -1)
+ goto U;
+ } else if (c == 'U') {
+ i = va_arg(ap, int);
+ U:
+ putchar('U');
+ putchar('+');
+ if (i < 0x1000)
+ putchar('0');
+ if (i < 0x100)
+ putchar('0');
+ if (i < 0x10)
+ putchar('0');
+ printn((long)i, 16);
+#ifdef EUC
+ if (iswprint(i)) {
+ char mb[MB_LEN_MAX];
+ int j, n;
+ n = wctomb(mb, i);
+ putchar(' ');
+ putchar('(');
+ for (j = 0; j < n; j++)
+ putchar(mb[j]&0377);
+ putchar(')');
+ }
+#endif /* EUC */
+ }
+ goto loop;
+}
+#endif /* !NROFF */
+
+
+static void
+printlong(long i, int fmt)
+{
+ switch (fmt) {
+ case 'd':
+ if (i < 0) {
+ putchar('-');
+ i = -i;
+ }
+ /*FALLTHRU*/
+ case 'u':
+ printn(i, 10);
+ break;
+ case 'o':
+ printn(i, 8);
+ break;
+ case 'x':
+ printn(i, 16);
+ break;
+ }
+}
+
+/*
+ * Print an unsigned integer in base b.
+ */
+static void printn(register long n, register long b)
+{
+ register long a;
+
+ if (n < 0) { /* shouldn't happen */
+ putchar('-');
+ n = -n;
+ }
+ if ((a = n / b))
+ printn(a, b);
+ putchar("0123456789ABCDEF"[(int)(n%b)]);
+}
+
+/* scaled down version of library roff_sprintf */
+/* same limits as fdprintf */
+/* returns pointer to \0 that ends the string */
+
+/* VARARGS2 */
+char *roff_sprintf(char *str, size_t size, char *fmt, ...)
+{
+ register int c;
+ char *s;
+ long i;
+ va_list ap;
+ char *buf = str;
+
+ va_start(ap, fmt);
+loop:
+ while ((c = *fmt++) != '%') {
+ if (c == '\0') {
+ *str = 0;
+ va_end(ap);
+ return str;
+ }
+ *str++ = c;
+ }
+ c = *fmt++;
+ if (c == 'd' || c == 'u' || c == 'o' || c == 'x') {
+ i = va_arg(ap, int);
+ str = sprintlong(str, i, c);
+ } else if (c == 'c') {
+ if (c > 0177 || c < 040)
+ *str++ = '\\';
+ *str++ = va_arg(ap, int) & 0177;
+ } else if (c == 's') {
+ s = va_arg(ap, char *);
+ while ((c = *s++))
+ *str++ = c;
+ } else if (c == 'D') {
+ str = sprintn(str, va_arg(ap, long), 10);
+ } else if (c == 'O') {
+ str = sprintn(str, va_arg(ap, unsigned) , 8);
+ } else if (c == 'e' || c == 'E' ||
+ c == 'f' || c == 'F' ||
+ c == 'g' || c == 'G') {
+ char fmt[] = "%%";
+ fmt[1] = c;
+ str += snprintf(str, size - (str - buf), fmt, va_arg(ap,
+ double));
+ } else if (c == 'p') {
+ i = (intptr_t)va_arg(ap, void *);
+ *str++ = '0';
+ *str++ = 'x';
+ str = sprintlong(str, i, 'x');
+ } else if (c == 'l') {
+ c = *fmt++;
+ if (c == 'd' || c == 'u' || c == 'o' || c == 'x') {
+ i = va_arg(ap, long);
+ printlong(i, c);
+ } else if (c == 'c') {
+ i = va_arg(ap, int);
+ if (i & ~0177) {
+#ifdef EUC
+ int n;
+ n = wctomb(str, i);
+ if (n > 0)
+ str += n;
+#endif /* EUC */
+ } else
+ *str++ = i;
+ }
+ }
+ goto loop;
+}
+
+static char *
+sprintlong(char *s, long i, int fmt)
+{
+ switch (fmt) {
+ case 'd':
+ if (i < 0) {
+ *s++ = '-';
+ i = -i;
+ }
+ /*FALLTHRU*/
+ case 'u':
+ s = sprintn(s, i, 10);
+ break;
+ case 'o':
+ s = sprintn(s, i, 8);
+ break;
+ case 'x':
+ s = sprintn(s, i, 16);
+ break;
+ }
+ return s;
+}
+
+/*
+ * Print an unsigned integer in base b.
+ */
+static char *sprintn(register char *s, register long n, int b)
+{
+ register long a;
+
+ if (n < 0) { /* shouldn't happen */
+ *s++ = '-';
+ n = -n;
+ }
+ if ((a = n / b))
+ s = sprintn(s, a, b);
+ *s++ = "0123456789ABCDEF"[(int)(n%b)];
+ return s;
+}
+
+
+int
+control(register int a, register int b)
+{
+ struct contab *contp;
+ int newip;
+ struct s *p;
+
+ if (a == 0 || (contp = findmx(a)) == NULL) {
+ nosuch(a);
+ return(0);
+ }
+
+ /*
+ * Attempt to find endless recursion at runtime. Arbitrary
+ * recursion limit of MAX_RECURSION_DEPTH was chosen as
+ * it is extremely unlikely that a correct nroff/troff
+ * invocation would exceed this value.
+ *
+ * The depth of tail-recursive macro calls is not limited
+ * by default.
+ */
+
+ if (max_recursion_depth > 0 && frame->frame_cnt > max_recursion_depth) {
+ errprint(
+ "Exceeded maximum stack size (%d) when "
+ "executing macro %s. Stack dump follows",
+ max_recursion_depth, macname(frame->mname));
+ edone(02);
+ }
+ if (max_tail_depth > 0 && frame->tail_cnt > max_tail_depth) {
+ errprint(
+ "Exceeded maximum recursion depth (%d) when "
+ "executing macro %s. Stack dump follows",
+ max_tail_depth, macname(frame->mname));
+ edone(02);
+ }
+
+ lastrq = a;
+
+#ifdef DEBUG
+ if (debug & DB_MAC)
+ fprintf(stderr, "control: macro %s, contab[%d]\n",
+ macname(a), contp - contab);
+#endif /* DEBUG */
+ if (contp->f == 0) {
+ nxf->nargs = 0;
+ tailflg = 0;
+ if (b)
+ collect();
+ flushi();
+ newip = pushi((filep)contp->mx, a, contp->flags);
+ p = frame->pframe;
+ if (tailflg && b && p != stk &&
+ p->ppendt == 0 &&
+ p->pch == 0 &&
+ p->pip == frame->pip &&
+ p->lastpbp == frame->lastpbp) {
+ frame->pframe = p->pframe;
+ frame->frame_cnt--;
+ sfree(p);
+ *p = *frame;
+ free(frame);
+ frame = p;
+ }
+ contp->flags |= FLAG_USED;
+ frame->contp = contp;
+ tailflg = 0;
+ return newip;
+ } else if (b) {
+ (*contp->f)(0);
+ return 0;
+ } else
+ return(0);
+}
+
+
+int
+rgetach(void)
+{
+ extern const char nmctab[];
+ int i;
+
+ if ((i = getach()) == 0 || (xflag && i < ' ' && nmctab[i]))
+ return(0);
+ return(i);
+}
+
+int
+getrq2(void)
+{
+ register int i, j;
+
+ if (((i = rgetach()) == 0) || ((j = rgetach()) == 0))
+ goto rtn;
+ i = PAIR(i, j);
+rtn:
+ return(i);
+}
+
+int
+getrq(int flags)
+{
+ int i;
+
+ if ((i = getrq2()) >= 256)
+ i = maybemore(i, flags);
+ return(i);
+}
+
+/*
+ * table encodes some special characters, to speed up tests
+ * in getchar, viz FLSS, RPT, f, \b, \n, fc, tabch, ldrch
+ */
+
+static char
+_gchtab[] = {
+ 000,004,000,000,010,000,000,000, /* fc, ldr */
+ 001,002,001,000,001,000,000,000, /* \b, tab, nl, RPT */
+ 000,000,000,000,000,000,000,000,
+ 000,001,000,000,000,000,000,000, /* FLSS */
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,001,000, /* f */
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+};
+
+static void
+initg(void)
+{
+ memcpy(gchtab, _gchtab, sizeof _gchtab);
+}
+
+tchar
+getch(void)
+{
+ register int k;
+ register tchar i, j;
+ struct numtab *np;
+
+g0:
+ if ((i = ch)) {
+ if (cbits(i) == '\n') {
+ nlflg++;
+ tailflg = istail(i);
+ }
+ ch = 0;
+ return(i);
+ }
+
+ if (nlflg)
+ return('\n');
+ i = getch0();
+ if (ismot(i))
+ return(i);
+ k = cbits(i);
+ if (k != ESC) {
+ if (k >= NCHARS || gchtab[k]==0)
+ return(i);
+ if (k == '\n') {
+ nl:
+ if (cbits(i) == '\n') {
+ nlflg++;
+ tailflg = istail(i);
+ }
+ return(k);
+ }
+ if (k == FLSS) {
+ copyf++;
+ raw++;
+ i = getch0();
+ if (!fi)
+ flss = i;
+ copyf--;
+ raw--;
+ goto g0;
+ }
+ if (k == RPT) {
+ setrpt();
+ goto g0;
+ }
+ if (!copyf) {
+ if (gchtab[k]&LGBIT && !isdi(i) && lg && !lgf) {
+ k = cbits(i = getlg(i));
+ goto chartest;
+ }
+ if (k == fc || k == tabch || k == ldrch) {
+ if ((i = setfield(k)) == 0)
+ goto g0;
+ else
+ return(i);
+ }
+ if (k == '\b') {
+ i = makem(-width(' ' | chbits));
+ return(i);
+ }
+chartest:
+ if (
+#ifndef NROFF
+ (!html || k < NCHARS) &&
+#endif
+ !lgf && !charf && chartab[trtab[k]] != NULL &&
+ !noschr && (!argdelim || k != argdelim) &&
+ !(bol && (k == cc || k == c2)))
+ i = setchar(i);
+ return(i);
+ }
+ return(i);
+ }
+ge:
+ k = cbits(j = getch0());
+ if (ismot(j))
+ return(j);
+ if (k >= 32 && k <= 126 && escoff[k-32]) {
+ if (clonef || copyf || tryglf) {
+ pbbuf[pbp++] = j;
+ return eschar;
+ }
+ return j;
+ }
+ switch (k) {
+
+ case '\n': /* concealed newline */
+ if (fmtchar)
+ goto nl;
+ goto g0;
+ case '{': /* LEFT */
+ i = LEFT;
+ goto gx;
+ case '}': /* RIGHT */
+ i = RIGHT;
+ goto gx;
+ case '#': /* comment including newline */
+ if (xflag == 0)
+ break;
+ /*FALLTHRU*/
+ case '"': /* comment */
+ while (cbits(i = getch0()) != '\n')
+ ;
+ if (k == '#')
+ goto g0;
+ nlflg++;
+ tailflg = istail(i);
+ return(i);
+ case 'e': /* printable version of current eschar */
+ i = PRESC;
+ goto gx;
+ case ' ': /* unpaddable space */
+ i = UNPAD;
+ goto gx;
+ case '~': /* stretchable but unbreakable space */
+ if (xflag == 0)
+ break;
+ i = STRETCH;
+ goto gx;
+ case '\'': /* \(aa */
+ i = ACUTE;
+ goto gx;
+ case '`': /* \(ga */
+ i = GRAVE;
+ goto gx;
+ case '_': /* \(ul */
+ i = UNDERLINE;
+ goto gx;
+ case '-': /* current font minus */
+ i = MINUS;
+ goto gx;
+ case '&': /* filler */
+ i = FILLER;
+ goto gx;
+ case ')': /* transparent filler */
+ if (xflag == 0)
+ break;
+ i = FILLER|TRANBIT;
+ goto gx;
+ case 'c': /* to be continued */
+ i = CONT;
+ goto gx;
+ case '!': /* transparent indicator */
+ i = XPAR;
+ goto gx;
+ case 't': /* tab */
+ i = '\t';
+ return(i);
+ case 'a': /* leader (SOH) */
+ i = LEADER;
+ return(i);
+ case '%': /* ohc */
+ i = OHC;
+ return(i);
+ case ':': /* optional line break but no hyphenation */
+ if (xflag == 0)
+ break;
+ i = OHC | BLBIT;
+ return(i);
+ }
+ if (clonef) {
+ pbbuf[pbp++] = j;
+ return(eschar);
+ }
+ switch (k) {
+
+ case 'n': /* number register */
+ setn();
+ goto g0;
+ case '*': /* string indicator */
+ setstr();
+ goto g0;
+ case '$': /* argument indicator */
+ seta();
+ goto g0;
+ case ESC: /* double backslash */
+ if (prdblesc || dilev)
+ i = PRESC;
+ else
+ i = eschar;
+ goto gx;
+ case 'g': /* return format of a number register */
+ setaf();
+ goto g0;
+ case 'P': /* output line trap */
+ if (xflag == 0)
+ break;
+ i = setolt();
+ return(i);
+ case 'V': /* environment variable */
+ if (xflag == 0)
+ break;
+ _setenv();
+ goto g0;
+ case '.': /* . */
+ i = '.';
+gx:
+ setsfbits(i, sfbits(j));
+ return(i);
+ }
+ if (copyf) {
+copy:
+ pbbuf[pbp++] = j;
+ return(eschar);
+ }
+ switch (k) {
+
+ case '[':
+ if (defcf)
+ goto copy;
+ if (xflag == 0)
+ goto dfl;
+ /*FALLTHRU*/
+ case 'C':
+ case '(': /* special char name */
+ if (defcf)
+ goto copy;
+ if ((i = setch(k)) == 0 && !tryglf)
+ goto g0;
+ k = cbits(i);
+ goto chartest;
+ case 'U': /* Unicode character */
+ if (xflag == 0)
+ goto dfl;
+ if ((i = setuc()) == 0 && !tryglf)
+ goto g0;
+ return(i);
+ case 'N': /* absolute character number */
+ i = setabs();
+ goto gx;
+ case 'E': /* eschar out of copy mode */
+ if (xflag == 0)
+ goto dfl;
+ goto ge;
+ }
+ if (tryglf) {
+ pbbuf[pbp++] = j;
+ return(eschar);
+ }
+ switch (k) {
+
+ case 'X': /* \X'...' for copy through */
+ setxon();
+ goto g0;
+ case 'Y': /* \Y(xx for indirect copy through */
+ if (xflag == 0)
+ goto dfl;
+ i = setyon();
+ return(i);
+ case 'p': /* spread */
+ spread = 1;
+ goto g0;
+ case 's': /* size indicator */
+ setps();
+ goto g0;
+ case 'H': /* character height */
+ return(setht());
+ case 'S': /* slant */
+ return(setslant());
+ case 'f': /* font indicator */
+ setfont(0);
+ goto g0;
+ case 'w': /* width function */
+ setwd();
+ goto g0;
+ case 'v': /* vert mot */
+ if ((i = vmot()))
+ return(i);
+ goto g0;
+ case 'h': /* horiz mot */
+ if ((i = hmot()))
+ return(i);
+ goto g0;
+ case 'z': /* zero with char */
+ return(setz());
+ case 'l': /* hor line */
+ setline();
+ goto g0;
+ case 'L': /* vert line */
+ setvline();
+ goto g0;
+ case 'D': /* drawing function */
+ setdraw();
+ goto g0;
+ case 'b': /* bracket */
+ setbra();
+ goto g0;
+ case 'o': /* overstrike */
+ setov();
+ goto g0;
+ case 'k': /* mark hor place */
+ if ((np = findr(getsn(1))) != NULL) {
+ np->val = numtab[HP].val;
+ prwatchn(np);
+ }
+ goto g0;
+ case '0': /* number space */
+ return(makem(width('0' | chbits)));
+#ifdef NROFF
+ case '/':
+ case ',':
+ if (!(gflag || gemu))
+ goto dfl;
+ goto g0;
+ case '|':
+ case '^':
+ goto g0;
+#else
+ case '/':
+ if (gflag == 0)
+ goto dfl;
+ return(makem((int)(EM)/12)); /* italic correction */
+ case ',':
+ if (!(gflag || gemu))
+ goto dfl;
+ return(makem(0)); /* left italic correction */
+ case '|': /* narrow space */
+ return(makem((int)(EM)/6));
+ case '^': /* half narrow space */
+ return(makem((int)(EM)/12));
+#endif
+ case 'x': /* extra line space */
+ if ((i = xlss()))
+ return(i);
+ goto g0;
+ case 'u': /* half em up */
+ case 'r': /* full em up */
+ case 'd': /* half em down */
+ return(sethl(k));
+ case 'I':
+ if (xflag) {
+ i = setgA() + '0';
+ goto gx;
+ }
+ goto dfl;
+ case 'A': /* set anchor */
+ if (gflag) { /* acceptable as name */
+ i = setgA() + '0';
+ goto gx;
+ }
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setanchor()) == 0)
+ goto g0;
+ return(j);
+ case 'B': /* acceptable as expression */
+ if (xflag) {
+ i = setB() + '0';
+ goto gx;
+ }
+ goto dfl;
+ case 'F':
+ case 'm':
+ case 'M':
+ if (gflag || gemu) { /* font family, color */
+ if ((i = getsn(0)) > 0 && warn & WARN_ESCAPE)
+ errprint("\\%c[%s] unimplemented",
+ k, macname(i));
+ goto g0;
+ }
+ goto dfl;
+ case 'T':
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setlink()) == 0)
+ goto g0;
+ return(j);
+ case 'R':
+ if (xflag) {
+ setr();
+ goto g0;
+ }
+ goto dfl;
+ case 'W': /* URI link */
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setulink()) == 0)
+ goto g0;
+ return(j);
+ case 'Z':
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setZ()) != 0)
+ return(j);
+ goto g0;
+ case 'j':
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setpenalty()) != 0)
+ return(j);
+ goto g0;
+ case 'J':
+ if (xflag == 0)
+ goto dfl;
+ if ((j = setdpenal()) != 0)
+ return(j);
+ goto g0;
+ case '@':
+ if (xflag == 0)
+ goto dfl;
+ k = cbits(i = getch0());
+ switch (k) {
+ case '{':
+ pushinlev();
+ break;
+ case '}':
+ if ((i = popinlev()) != 0)
+ return(i);
+ break;
+ default:
+ if (warn & WARN_ESCAPE)
+ errprint("undefined inline environment "
+ "function \\@%c", k);
+ pbbuf[pbp++] = i;
+ goto dfl;
+ }
+ goto g0;
+ case ';': /* ligature suppressor (only) */
+ if (xflag)
+ goto g0;
+ /*FALLTHRU*/
+ default:
+ dfl: if (defcf)
+ goto copy;
+ if (warn & WARN_ESCAPE)
+ errprint("undefined escape sequence \\%c", k);
+ return(j);
+ }
+ /* NOTREACHED */
+}
+
+void
+setxon(void) /* \X'...' for copy through */
+{
+ tchar xbuf[NC];
+ register tchar *i;
+ tchar c, delim;
+ int k;
+
+ if (ismot(c = getch()))
+ return;
+ delim = c;
+ i = xbuf;
+ *i++ = XON;
+ charf++;
+ while (k = cbits(c = getch()), !issame(c, delim) && k != '\n' && i < xbuf+NC-1) {
+ if (k == ' ')
+ setcbits(c, UNPAD);
+ *i++ = c | ZBIT;
+ }
+ if (!issame(c, delim))
+ nodelim(delim);
+ charf--;
+ *i++ = XOFF;
+ *i = 0;
+ pushback(xbuf);
+}
+
+static tchar
+setyon(void) /* \Y(xx for indirect copy through */
+{
+ storerq(getsn(0));
+ return mkxfunc(YON, 0);
+}
+
+
+char ifilt[32] = {
+ 0, 001, 002, 003, 0, 005, 006, 007, 010, 011, 012};
+
+tchar getch0(void)
+{
+ register int j;
+ register tchar i;
+#ifdef EUC
+ size_t n;
+#endif /* EUC */
+
+again:
+ if (pbp > lastpbp)
+ i = pbbuf[--pbp];
+ else if (ip) {
+ extern tchar *corebuf;
+ i = corebuf[ip];
+ if (i == 0)
+ {
+ /* CK: Bugfix: .bp followed by ..
+ * The "<" is questionable */
+ if (ejf && frame->pframe->tail_cnt < ejl && dip == d)
+ goto r;
+ i = rbf();
+ }
+ else {
+ if ((++ip & (BLK - 1)) == 0) {
+ --ip;
+ (void)rbf();
+ }
+ }
+ } else {
+ if (donef || ndone)
+ done(0);
+ if (nx || ibufp >= eibuf) {
+ if (nfo==0) {
+g0:
+ if (nextfile()) {
+ if (ip)
+ goto again;
+ if (ibufp < eibuf)
+ goto g2;
+ }
+ }
+ nx = 0;
+ if ((j = read(ifile, ibuf, IBUFSZ)) <= 0)
+ goto g0;
+ ibufp = ibuf;
+ eibuf = ibuf + j;
+ if (ip)
+ goto again;
+ }
+g2:
+#ifndef EUC
+ i = *ibufp++ & 0177;
+ ioff++;
+ if (i >= 040 && i < 0177)
+#else /* EUC */
+ i = *ibufp++ & 0377;
+ ioff++;
+ *mbbuf1p++ = i;
+ *mbbuf1p = 0;
+ if (multi_locale && (*mbbuf1&~(wchar_t)0177)) {
+ mbstate_t state;
+ memset(&state, 0, sizeof state);
+ if ((n = mbrtowc(&twc, mbbuf1, mbbuf1p-mbbuf1, &state))
+ == -1 ||
+ twc & ~(wchar_t)0x1FFFFF) {
+ illseq(-1, mbbuf1, mbbuf1p-mbbuf1);
+ mbbuf1p = mbbuf1;
+ *mbbuf1p = 0;
+ i &= 0177;
+ } else if (n == -2)
+ goto again;
+ else {
+ mbbuf1p = mbbuf1;
+ *mbbuf1p = 0;
+ i = twc | COPYBIT;
+ goto g4;
+ }
+ } else {
+ mbbuf1p = mbbuf1;
+ *mbbuf1p = 0;
+ if (!raw)
+ i &= 0177;
+ }
+ if (i >= 040 && i < 0177)
+#endif /* EUC */
+ goto g4;
+ if (i != 0177) {
+ if (i != ifilt[i])
+ illseq(i, NULL, 0);
+ i = ifilt[i];
+ } else
+ illseq(i, NULL, 0);
+ if (i == '\n')
+ numtab[CD].val++; /* line number */
+ }
+ if (cbits(i) == IMP && !raw)
+ goto again;
+ if ((i == 0 || i == 0177) && !init && !raw) {
+ goto again;
+ }
+g4:
+ if (!copyf && iscopy(i))
+ i = setuc0(cbits(i));
+ if (copyf == 0 && (i & ~BYTEMASK) == 0)
+ i |= chbits;
+ if (cbits(i) == eschar && !raw) {
+ if (gflag && isdi(i))
+ setcbits(i, PRESC);
+ else
+ setcbits(i, ESC);
+ }
+r:
+ return i;
+}
+
+void
+pushback(register tchar *b)
+{
+ register tchar *ob = b;
+
+ while (*b++)
+ ;
+ b--;
+ while (b > ob) {
+ if (pbp >= pbsize-3)
+ if (growpbbuf() == NULL) {
+ errprint("pushback overflow");
+ done(2);
+ }
+ pbbuf[pbp++] = *--b;
+ }
+}
+
+void
+cpushback(register char *b)
+{
+ register char *ob = b;
+
+ while (*b++)
+ ;
+ b--;
+ while (b > ob) {
+ if (pbp >= pbsize-3)
+ if (growpbbuf() == NULL) {
+ errprint("cpushback overflow");
+ done(2);
+ }
+ pbbuf[pbp++] = *--b;
+ }
+}
+
+tchar *
+growpbbuf(void)
+{
+ tchar *npb;
+ int inc = NC;
+
+ if ((npb = realloc(pbbuf, (pbsize + inc) * sizeof *pbbuf)) == NULL)
+ return NULL;
+ pbsize += inc;
+ return pbbuf = npb;
+}
+
+int
+nextfile(void)
+{
+ register char *p;
+ char *s;
+ size_t l;
+
+n0:
+ if (ifile)
+ close(ifile);
+ if (nx || nmfi < mflg) {
+ p = mfiles[nmfi++];
+ if (*p != 0)
+ goto n1;
+ }
+ if (ifi > 0) {
+ if (popf())
+ goto n0; /* popf error */
+ return(1); /* popf ok */
+ }
+ if (rargc-- <= 0) {
+ if ((nfo -= mflg) && !stdi)
+ done(0);
+ nfo++;
+ numtab[CD].val = ifile = stdi = mflg = 0;
+ free(cfname[ifi]);
+ s = "<standard input>";
+ l = strlen(s) + 1;
+ cfname[ifi] = malloc(l);
+ n_strcpy(cfname[ifi], s, l);
+ ioff = 0;
+ return(0);
+ }
+ p = (argp++)[0];
+n1:
+ numtab[CD].val = 0;
+ if (p[0] == '-' && p[1] == 0) {
+ ifile = 0;
+ free(cfname[ifi]);
+ s = "<standard input>";
+ l = strlen(s) + 1;
+ cfname[ifi] = malloc(l);
+ n_strcpy(cfname[ifi], s, l);
+ } else if ((ifile = open(p, O_RDONLY)) < 0) {
+ errprint("cannot open file %s", p);
+ nfo -= mflg;
+ done(02);
+ } else {
+ free(cfname[ifi]);
+ l = strlen(p) + 1;
+ cfname[ifi] = malloc(l);
+ n_strcpy(cfname[ifi], p, l);
+ }
+ nfo++;
+ ioff = 0;
+ return(0);
+}
+
+
+int
+popf(void)
+{
+ register int i;
+ register char *p, *q;
+
+ if (cfpid[ifi] != -1) {
+ while (waitpid(cfpid[ifi], NULL, 0) != cfpid[ifi]);
+ cfpid[ifi] = -1;
+ }
+ ioff = offl[--ifi];
+ numtab[CD].val = cfline[ifi]; /*restore line counter*/
+ ip = ipl[ifi];
+ if ((ifile = ifl[ifi]) == 0) {
+ p = xbuf;
+ q = ibuf;
+ ibufp = xbufp;
+ eibuf = xeibuf;
+ while (q < eibuf)
+ *q++ = *p++;
+ return(0);
+ }
+ if (lseek(ifile, ioff & ~(IBUFSZ-1), SEEK_SET) == -1
+ || (i = read(ifile, ibuf, IBUFSZ)) < 0)
+ return(1);
+ eibuf = ibuf + i;
+ ibufp = ibuf;
+ if (ttyname(ifile) == 0)
+ /* was >= ... */
+ if ((ibufp = ibuf + (ioff & (IBUFSZ - 1))) > eibuf)
+ return(1);
+ return(0);
+}
+
+
+void
+flushi(void)
+{
+ if (nflush)
+ return;
+ ch = 0;
+ copyf++;
+ while (!nlflg) {
+ if (donef && (frame == stk))
+ break;
+ getch();
+ }
+ copyf--;
+}
+
+
+int
+getach(void)
+{
+ register tchar i;
+ register int j;
+
+ lgf++;
+ i = getch();
+ while (isxfunc(i, CHAR))
+ i = charout[sbits(i)].ch;
+ j = cbits(i);
+ if (ismot(i) || (j == XFUNC && fbits(i)) || j == ' ' || j == '\n' ||
+ j & 0200) {
+ if (!ismot(i) && j >= 0200)
+ illseq(j, NULL, -3);
+ else if (WARN_INPUT) {
+ if (ismot(i) && !isadjmot(i))
+ errprint("motion terminates name");
+ else if (j == XFUNC && fbits(i))
+ errprint("illegal character terminates name");
+ }
+
+ ch = i;
+ j = 0;
+ }
+ lgf--;
+ return(j & 0177);
+}
+
+
+void
+casenx(void)
+{
+ struct s *pp;
+ lgf++;
+ skip(0);
+ getname();
+ nx++;
+ if (nmfi > 0)
+ nmfi--;
+ if (mfiles == NULL)
+ mfiles = calloc(1, sizeof *mfiles);
+ free(mfiles[nmfi]);
+ mfiles[nmfi] = malloc(NS);
+ n_strcpy(mfiles[nmfi], nextf, NS);
+ nextfile();
+ nlflg++;
+ tailflg = 0;
+ ip = 0;
+ pendt = 0;
+ while (frame != stk) {
+ pp = frame;
+ frame = frame->pframe;
+ sfree(pp);
+ free(pp);
+ }
+ nxf = calloc(1, sizeof *nxf);
+}
+
+
+int
+getname(void)
+{
+ register int j, k;
+ tchar i;
+ int delim = ' ';
+
+ lgf++;
+ k = 0;
+ while (1) {
+ if ((j = cbits(i = getch())) < 32 || j == delim || (!xflag
+ && j > 0176))
+ break;
+ if (xflag && !k && j == '"') {
+ delim = j;
+ continue;
+ }
+ if (k + 1 >= NS)
+ nextf = realloc(nextf, NS += 14);
+ nextf[k++] = j & BYTEMASK;
+ }
+ nextf[k] = 0;
+ ch = i;
+ lgf--;
+ return(nextf[0]);
+}
+
+tchar
+setuc(void)
+{
+ char c, d, b[NC], *bp;
+ int i = 0, n;
+ tchar r = 0;
+#ifndef NROFF
+ extern int nchtab;
+#endif
+
+ d = getach();
+ do {
+ c = getach();
+ if (i >= sizeof b)
+ goto rtn;
+ b[i++] = c;
+ } while (c && c != d);
+ b[--i] = 0;
+ if (i == 0 || c != d)
+ goto rtn;
+ n = strtol(b, &bp, 16);
+ if (n == 0 || *bp != '\0')
+ goto rtn;
+#ifndef NROFF
+ switch (n) {
+ case '\'':
+ bp = "aq";
+ break;
+ case '`':
+ bp = "ga";
+ break;
+ case '-':
+ r = MINUS;
+ goto rtn;
+ default:
+ goto uc;
+ }
+ for (i = 0; i < nchtab; i++)
+ if (strcmp(&chname[chtab[i]], bp) == 0) {
+ r = (i + 128) | chbits;
+ break;
+ }
+ goto rtn;
+uc:
+#endif
+ r = setuc0(n);
+rtn:
+ return r;
+}
+
+
+static void
+_setenv(void)
+{
+ int a = 0, i = 0, c, delim;
+ char *np = NULL, *vp;
+
+ if ((delim = getach()) == 0)
+ return;
+ switch (delim) {
+ case '[':
+ for (;;) {
+ if (i + 1 >= a)
+ np = realloc(np, a += 32);
+ if ((c = getach()) == 0) {
+ nodelim(']');
+ break;
+ }
+ if (c == ']')
+ break;
+ np[i++] = c;
+ }
+ np[i] = 0;
+ break;
+ case '(':
+ np = malloc(a = 3);
+ np[0] = delim;
+ np[1] = getach();
+ np[2] = 0;
+ break;
+ default:
+ np = malloc(a = 2);
+ np[0] = delim;
+ np[1] = 0;
+ }
+ if ((vp = getenv(np)) != NULL)
+ cpushback(vp);
+ free(np);
+}
+
+
+static void
+sopso(int i, pid_t pid)
+{
+ register char *p, *q;
+
+ free(cfname[ifi+1]);
+ cfname[ifi+1] = malloc(NS);
+ n_strcpy(cfname[ifi+1], nextf, NS);
+ cfline[ifi] = numtab[CD].val; /*hold line counter*/
+ numtab[CD].val = 0;
+ flushi();
+ cfpid[ifi+1] = pid;
+ ifl[ifi] = ifile;
+ ifile = i;
+ offl[ifi] = ioff;
+ ioff = 0;
+ ipl[ifi] = ip;
+ ip = 0;
+ nx++;
+ nflush++;
+ if (!ifl[ifi++]) {
+ p = ibuf;
+ q = xbuf;
+ xbufp = ibufp;
+ xeibuf = eibuf;
+ while (p < eibuf)
+ *q++ = *p++;
+ }
+}
+
+void
+caseso(void)
+{
+ register int i = 0;
+
+ lgf++;
+ nextf[0] = 0;
+ if (skip(1))
+ done(02);
+ if (!getname() || ((i = open(nextf, O_RDONLY)) < 0) ||
+ (ifi >= NSO)) {
+ errprint("can't open file %s", nextf);
+ if (gflag)
+ return;
+ done(02);
+ }
+ sopso(i, -1);
+}
+
+void
+casepso(void)
+{
+ int pd[2];
+ int c, i, k;
+ pid_t pid;
+
+ lgf++;
+ nextf[0] = 0;
+ if (skip(1))
+ done(02);
+ if (ifi >= NSO || pipe(pd) < 0) {
+ errprint("can't .pso");
+ done(02);
+ }
+ for (k = 0; ; k++) {
+ if ((c = cbits(i = getch())) == '\n' || c == 0)
+ break;
+ if (k + 1 >= NS)
+ nextf = realloc(nextf, NS += 14);
+ nextf[k] = c & BYTEMASK;
+ }
+ nextf[k] = 0;
+ switch (pid = fork()) {
+ case 0:
+ close(pd[0]);
+ close(1);
+ dup(pd[1]);
+ close(pd[1]);
+ execl(SHELL, "sh", "-c", nextf, NULL);
+ _exit(0177);
+ /*NOTREACHED*/
+ case -1:
+ errprint("can't fork");
+ done(02);
+ /*NOTREACHED*/
+ }
+ close(pd[1]);
+ sopso(pd[0], pid);
+}
+
+void
+caself(void) /* set line number and file */
+{
+ int n;
+
+ if (skip(1))
+ return;
+ n = hatoi();
+ cfline[ifi] = numtab[CD].val = n - 2;
+ if (skip(0))
+ return;
+ if (getname()) {
+ free(cfname[ifi]);
+ cfname[ifi] = malloc(NS);
+ n_strcpy(cfname[ifi], nextf, NS);
+ }
+}
+
+
+void
+casecf(void)
+{ /* copy file without change */
+#ifndef NROFF
+ int fd = -1, n;
+ char buf[512];
+ extern int hpos, esc, po;
+ nextf[0] = 0;
+ if (skip(1))
+ return;
+ if (!getname() || (fd = open(nextf, O_RDONLY)) < 0) {
+ errprint("can't open file %s", nextf);
+ done(02);
+ }
+ tbreak();
+ /* make it into a clean state, be sure that everything is out */
+ hpos = po;
+ esc = un;
+ ptesc();
+ ptlead();
+ ptps();
+ ptfont();
+ flusho();
+ while ((n = read(fd, buf, sizeof buf)) > 0)
+ write(ptid, buf, n);
+ close(fd);
+#endif
+}
+
+void
+casesy(void) /* call system */
+{
+ char sybuf[NTM];
+ int i;
+
+ lgf++;
+ copyf++;
+ skip(1);
+ for (i = 0; i < NTM - 2; i++)
+ if ((sybuf[i] = getch()) == '\n')
+ break;
+ sybuf[i] = 0;
+ system(sybuf);
+ copyf--;
+ lgf--;
+}
+
+
+void
+getpn(register char *a)
+{
+ register int n, neg;
+
+ if (*a == 0)
+ return;
+ neg = 0;
+ for ( ; *a; a++)
+ switch (*a) {
+ case '+':
+ case ',':
+ continue;
+ case '-':
+ neg = 1;
+ continue;
+ default:
+ n = 0;
+ if (isdigit((unsigned char)*a)) {
+ do
+ n = 10 * n + *a++ - '0';
+ while (isdigit((unsigned char)*a));
+ a--;
+ } else
+ n = 9999;
+ *pnp++ = neg ? -n : n;
+ neg = 0;
+ if (pnp >= &pnlist[NPN-2]) {
+ errprint("too many page numbers");
+ done3(-3);
+ }
+ }
+ if (neg)
+ *pnp++ = -9999;
+ *pnp = -32767;
+ print = 0;
+ pnp = pnlist;
+ if (*pnp != -32767)
+ chkpn();
+}
+
+
+void
+setrpt(void)
+{
+ tchar i, j;
+
+ copyf++;
+ raw++;
+ i = getch0();
+ copyf--;
+ raw--;
+ if (i < 0 || cbits(j = getch0()) == RPT)
+ return;
+ i &= BYTEMASK;
+ while (i>0) {
+ if (pbp >= pbsize-3)
+ if (growpbbuf() == NULL)
+ break;
+ i--;
+ pbbuf[pbp++] = j;
+ }
+}
+
+
+void
+casedb(void)
+{
+#ifdef DEBUG
+ debug = 0;
+ if (skip(1))
+ return;
+ noscale++;
+ debug = max(hatoi(), 0);
+ noscale = 0;
+#endif /* DEBUG */
+}
+
+void
+casexflag(void)
+{
+ int i;
+
+#ifndef NROFF
+ if (gflag == 1)
+ zapwcache(1);
+#endif
+ gflag = 0;
+ setnr(".g", gflag, 0);
+ gemu = 0;
+ skip(1);
+ noscale++;
+ i = hatoi();
+ noscale--;
+ if (!nonumb)
+ _xflag = xflag = i & 3;
+}
+
+void
+casecp(void)
+{
+ if (xflag) {
+#ifndef NROFF
+ if (gflag == 0)
+ zapwcache(1);
+#endif
+ gflag = 1;
+ noscale++;
+ if (skip(1) || (hatoi() && !nonumb))
+ xflag = 1;
+ else
+ xflag = 3;
+ noscale--;
+ _xflag = xflag;
+ setnr(".g", gflag, 0);
+ setnr(".C", xflag == 1, 0);
+ setnr(".x", 1, 0);
+ setnr(".y", 18, 0);
+ }
+}
+
+void
+caserecursionlimit(void)
+{
+ skip(1);
+ noscale++;
+ max_recursion_depth = hatoi();
+ skip(0);
+ max_tail_depth = hatoi();
+ noscale--;
+}
+
+void
+casechar(int flag)
+{
+#ifndef NROFF
+ extern int ps2cc(const char *);
+ extern int nchtab;
+#endif
+ char name[NC];
+ int i, k, size = 0;
+ tchar c, *tp = NULL;
+
+ defcf++;
+ charf++;
+ lgf++;
+ if (skip(1))
+ return;
+ c = getch();
+ while (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ if ((k = cbits(c)) == eschar || k == WORDSP) {
+ switch (cbits(c = getch())) {
+ case '(':
+ name[0] = getch();
+ name[1] = getch();
+ name[2] = 0;
+ break;
+ case '[':
+ for (i = 0; cbits(c = getch()) != ']'; i++)
+ if (i < sizeof name - 1)
+ name[i] = c;
+ name[i] = 0;
+ break;
+ default:
+ errprint("mapping of escape sequences not permitted");
+ return;
+ }
+#ifndef NROFF
+ k = ps2cc(name) + nchtab + 128 + 32 + 128 - 32 + nchtab;
+#else
+ if (!(k = findch(name)))
+ k = addch(name);
+#endif
+ } else if (iscopy(c))
+ k = cbits(c = setuc0(k));
+ if (k <= ' ') {
+ errprint("mapping of special characters not permitted");
+ return;
+ }
+ defcf--;
+ charf--;
+ copyf++;
+ size = 10;
+ tp = malloc(size * sizeof *tp);
+ i = 0;
+ if (skip(0))
+ tp[i++] = FILLER;
+ else {
+ if (cbits(c = getch()) != '"')
+ ch = c;
+ while (c = getch(), !nlflg) {
+ if (i + 3 >= size) {
+ size += 10;
+ tp = realloc(tp, size * sizeof *tp);
+ }
+ tp[i++] = c;
+ }
+ }
+ tp[i++] = '\n';
+ tp[i] = 0;
+ i = k;
+ if (++i >= NCHARS)
+ morechars(i);
+ free(chartab[k]);
+ chartab[k] = tp;
+ gchtab[k] |= CHBIT;
+ copyf--;
+#ifndef NROFF
+ if (flag)
+ fchartab[k] = 1;
+ else
+ fchartab[k] = 0;
+#endif
+}
+
+void
+casefchar(void)
+{
+#ifndef NROFF
+ casechar(1);
+#endif
+}
+
+void
+caserchar(void)
+{
+ tchar c;
+ int k;
+
+ lgf++;
+ if (skip(1))
+ return;
+ do {
+ c = getch();
+ k = cbits(c);
+ free(chartab[k]);
+ chartab[k] = NULL;
+ gchtab[k] &= ~CHBIT;
+ } while (!skip(0));
+}
+
+struct fmtchar {
+ struct d newd, *savedip;
+ struct env saveev;
+ int savvflag;
+ int savvpt;
+ int savhp;
+ int savnflush;
+ tchar *csp;
+ int charcount;
+};
+
+static int
+prepchar(struct fmtchar *fp)
+{
+ static int charcount;
+ filep startb;
+ tchar t;
+
+ if ((startb = alloc()) == 0) {
+ errprint("out of space");
+ return -1;
+ }
+ t = 0;
+ setsbits(t, charcount);
+ charcount = sbits(t);
+ if (dip != d)
+ wbt(0);
+ if (charcount >= charoutsz) {
+ charoutsz += 32;
+ charout = realloc(charout, charoutsz * sizeof *charout);
+ }
+ memset(&charout[charcount], 0, sizeof *charout);
+ fp->savedip = dip;
+ memset(&fp->newd, 0, sizeof fp->newd);
+ dip = &fp->newd;
+ offset = dip->op = startb;
+ charout[charcount].op = startb;
+ fp->savnflush = nflush;
+ fp->savvflag = vflag;
+ vflag = 0;
+ fp->savvpt = vpt;
+ vpt = 0;
+ fp->savhp = numtab[HP].val;
+ fp->saveev = env;
+ evc(&env, &env);
+ in = in1 = 0;
+ fi = 0;
+ return charcount++;
+}
+
+static void
+restchar(struct fmtchar *fp, int keepf)
+{
+ wbt(0);
+ dip = fp->savedip;
+ offset = dip->op;
+ relsev(&env);
+ if (keepf) {
+ fp->saveev._apts = apts;
+ fp->saveev._apts1 = apts1;
+ fp->saveev._pts = pts;
+ fp->saveev._pts1 = pts1;
+ fp->saveev._font = font;
+ fp->saveev._font1 = font1;
+ fp->saveev._chbits = chbits;
+ fp->saveev._spbits = spbits;
+ }
+ env = fp->saveev;
+ nflush = fp->savnflush;
+ vflag = fp->savvflag;
+ vpt = fp->savvpt;
+ numtab[HP].val = fp->savhp;
+}
+
+tchar
+setchar(tchar c)
+{
+ struct fmtchar f;
+ int k = trtab[cbits(c)];
+ tchar *csp;
+ int charcount;
+ int savxflag;
+ int saveschar;
+
+#ifndef NROFF
+ if (fchartab[k] && onfont(c))
+ return c;
+#endif
+ if (iszbit(c))
+ return c;
+ if ((charcount = prepchar(&f)) < 0)
+ return ' ';
+ fmtchar++;
+ savxflag = xflag;
+ xflag = 3;
+ saveschar = eschar;
+ eschar = '\\';
+ csp = chartab[k];
+ chartab[k] = NULL;
+ pushback(csp);
+ text();
+ tbreak();
+ nlflg = 0;
+ charout[charcount].ch = c;
+ if (iszbit(c))
+ charout[charcount].width = 0;
+ else {
+ charout[charcount].width = dip->maxl - lasttrack;
+ width(' ' | sfmask(c));
+ charout[charcount].width += lasttrack;
+ }
+ charout[charcount].height = maxcht;
+ charout[charcount].depth = maxcdp;
+ restchar(&f, 0);
+ chartab[k] = csp;
+ eschar = saveschar;
+ xflag = savxflag;
+ fmtchar--;
+ return mkxfunc(CHAR, charcount);
+}
+
+static tchar
+setZ(void)
+{
+ struct fmtchar f;
+ int charcount;
+ tchar i;
+
+ if (ismot(i = getch()))
+ return 0;
+ if ((charcount = prepchar(&f)) < 0)
+ return 0;
+ stopch = i;
+ charout[charcount].ch = FILLER | sfmask(stopch);
+ text();
+ if (nlflg)
+ nodelim(stopch);
+ charout[charcount].ch = 0;
+ restchar(&f, 1);
+ return mkxfunc(CHAR, charcount);
+}
+
+tchar
+sfmask(tchar t)
+{
+ while (isxfunc(t, CHAR))
+ t = charout[sbits(t)].ch;
+ if (t == XFUNC || t == SLANT || (t & SFMASK) == 0)
+ return chbits;
+ return t & SFMASK;
+}
+
+int
+issame(tchar c, tchar d)
+{
+ if (ismot(c) || ismot(d))
+ return 0;
+ while (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ while (isxfunc(d, CHAR))
+ d = charout[sbits(d)].ch;
+ if (cbits(c) != cbits(d))
+ return 0;
+ if (cbits(c) == XFUNC && cbits(d) == XFUNC)
+ return fbits(c) == fbits(d);
+ return 1;
+}
+
+static int
+setgA(void)
+{
+ extern const char nmctab[];
+ tchar c, delim;
+ int k, y = 1;
+
+ lgf++;
+ delim = getch();
+ if (ismot(delim)) {
+ lgf--;
+ return 0;
+ }
+ while (k = cbits(c = getch()), !issame(c, delim) && !nlflg)
+ if (ismot(c) || (k < ' ' && nmctab[k]) || k == ' ' || k >= 0200)
+ y = 0;
+ if (nlflg)
+ y = 0;
+ lgf--;
+ return y;
+}
+
+static int
+setB(void)
+{
+ tchar c, delim;
+ int y = 1;
+
+ lgf++;
+ delim = getch();
+ if (ismot(delim)) {
+ lgf--;
+ return 0;
+ }
+ atoi0();
+ if (nonumb)
+ y = 0;
+ do {
+ c = getch();
+ if (!ismot(c) && issame(c, delim))
+ break;
+ y = 0;
+ } while (!nlflg);
+ lgf--;
+ return y;
+}
+
+void
+caseescoff(void) {
+ _caseesc(1);
+}
+
+void
+caseescon(void) {
+ _caseesc(0);
+}
+
+static void
+_caseesc(int off) {
+ int c;
+ if (skip(1)) return;
+ while (1) {
+ c = cbits(getch());
+ if (c < 32 || c > 126)
+ errprint("Invalid character '%c' for .esc%s\n",
+ c, off ? "off" : "on");
+ else
+ escoff[c-32] = (unsigned char)off;
+ if (skip(0))
+ return;
+ }
+}
diff --git a/troff/n2.c b/troff/n2.c
new file mode 100644
index 0000000000000..cb481f7dc720a
--- /dev/null
+++ b/troff/n2.c
@@ -0,0 +1,511 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n2.c 1.9 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n2.c 1.47 (gritter) 5/25/08
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * n2.c
+ *
+ * output, cleanup
+ */
+
+#include <stdlib.h>
+#include <signal.h>
+#include <unistd.h>
+#include <setjmp.h>
+#ifdef EUC
+#include <limits.h>
+#include <ctype.h>
+#include <unistd.h>
+#endif /* EUC */
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+#include "ext.h"
+
+extern jmp_buf sjbuf;
+int toolate;
+int error;
+
+static void outtp(tchar);
+
+int
+pchar(register tchar i)
+{
+ register int j;
+ static int hx = 0; /* records if have seen HX */
+ static int xon = 0; /* records if have seen XON */
+ static int drawfcn = 0; /* records if have seen DRAWFCN */
+
+ if (hx) {
+ hx = 0;
+ j = absmot(i);
+ if (isnmot(i)) {
+ if (j > dip->blss)
+ dip->blss = j;
+ } else {
+ if (j > dip->alss)
+ dip->alss = j;
+ ralss = dip->alss;
+ }
+ return 1;
+ }
+ if (ismot(i)) {
+ pchar1(i);
+ return 1;
+ }
+ switch (j = cbits(i)) {
+ case 0:
+ case IMP:
+ case RIGHT:
+ case LEFT:
+ if (xflag) {
+ i = j = FILLER; /* avoid kerning in output routine */
+ goto dfl;
+ }
+ return 1;
+ case HX:
+ hx = 1;
+ if (xflag) {
+ i = j = FILLER; /* avoid kerning in output routine */
+ goto dfl;
+ }
+ return 1;
+ case XON:
+ xon = 1;
+ goto dfl;
+ case XOFF:
+ xon = 0;
+ goto dfl;
+ case DRAWFCN:
+ drawfcn = !drawfcn;
+ goto dfl;
+ case PRESC:
+ if (dip == &d[0])
+ j = eschar; /* fall through */
+ default:
+ dfl:
+#ifndef NROFF
+ if (html) {
+ if (!xflag || !isdi(i)) {
+ setcbits(i, j >= NCHARS ? j :
+ tflg ? trnttab[j] : trtab[j]);
+ if (xon == 0 && drawfcn == 0 && i < NCHARS)
+ setcbits(i, ftrans(fbits(i),
+ cbits(i)));
+ }
+ } else
+#endif
+ if (!xflag || !isdi(i)) {
+ setcbits(i, tflg ? trnttab[j] : trtab[j]);
+ if (xon == 0 && drawfcn == 0)
+ setcbits(i, ftrans(fbits(i), cbits(i)));
+ }
+ }
+#ifdef NROFF
+ if (xon && xflag)
+ return 1;
+#endif /* NROFF */
+ pchar1(i);
+ return 1;
+}
+
+
+void
+pchar1(register tchar i)
+{
+ static int _olt;
+ tchar _olp[1];
+ register int j;
+ filep savip;
+ extern void ptout(tchar);
+
+ j = cbits(i);
+ if (dip != &d[0]) {
+ if (i == FLSS)
+ dip->flss++;
+ else if (dip->flss > 0)
+ dip->flss--;
+ else if (!ismot(i) && (cbits(i) > 32 || cbits(i) == XFUNC) &&
+ !tflg)
+ i |= DIBIT;
+ wbf(i);
+ dip->op = offset;
+ return;
+ }
+ if (!tflg && !print) {
+ if (j == '\n')
+ dip->alss = dip->blss = 0;
+ return;
+ }
+ if (no_out)
+ return;
+ if (tflg) { /* transparent mode, undiverted */
+ outtp(i);
+ return;
+ }
+ if (cbits(i) == XFUNC) {
+ switch (fbits(i)) {
+ case OLT:
+ olt = realloc(olt, (nolt + 1) * sizeof *olt);
+ _olt = 1;
+ return;
+ case CHAR:
+#ifndef NROFF
+ if (!ascii)
+ break;
+#endif /* !NROFF */
+ savip = ip;
+ ip = charout[sbits(i)].op;
+ app++;
+ fmtchar++;
+ while ((i = rbf()) != 0 && cbits(i) != '\n' &&
+ cbits(i) != FLSS)
+ pchar(i);
+ fmtchar--;
+ app--;
+ ip = savip;
+ return;
+ }
+ }
+ if (cbits(i) == 'x')
+ fmtchar = fmtchar;
+ if (_olt) {
+ _olp[0] = i;
+ olt[nolt++] = fetchrq(_olp);
+ _olt = 0;
+ }
+#ifndef NROFF
+ if (ascii)
+ outascii(i);
+ else
+#endif
+ ptout(i);
+}
+
+static void
+outtp(tchar i)
+{
+#ifndef NROFF
+ int j = cbits(i);
+
+#ifdef EUC
+ if (iscopy(i))
+ fdprintf(ptid, "%lc", j);
+ else
+#endif /* EUC */
+ fdprintf(ptid, "%c", j);
+#endif
+}
+
+#ifndef NROFF
+static void
+outmb(tchar i)
+{
+ extern int nchtab;
+ int j = cbits(i);
+#ifdef EUC
+ wchar_t wc;
+ char mb[MB_LEN_MAX+1];
+ int n;
+ int f;
+#endif /* EUC */
+
+ if (j < 0177) {
+ oput(j);
+ return;
+ }
+#ifdef EUC
+ if (iscopy(i))
+ wc = cbits(i);
+ else {
+ if ((f = fbits(i)) == 0)
+ f = font;
+ wc = tr2un(j, f);
+ }
+ if (wc != -1 && (n = wctomb(mb, wc)) > 0) {
+ mb[n] = 0;
+ oputs(mb);
+ } else
+#endif /* EUC */
+ if (j < 128 + nchtab) {
+ oput('\\');
+ oput('(');
+ oput(chname[chtab[j-128]]);
+ oput(chname[chtab[j-128]+1]);
+ }
+}
+
+void
+outascii ( /* print i in best-guess ascii */
+ tchar i
+)
+{
+ int j = cbits(i);
+ int f = fbits(i);
+ int k;
+
+ if (j == FILLER)
+ return;
+ if (isadjspc(i))
+ return;
+ if (ismot(i)) {
+ oput(' ');
+ return;
+ }
+ if ((j < 0177 && j >= ' ') || j == '\n') {
+ oput(j);
+ return;
+ }
+ if (f == 0)
+ f = xfont;
+ if (j == DRAWFCN)
+ oputs("\\D");
+ else if (j == HYPHEN || j == MINUS)
+ oput('-');
+ else if (j == XON)
+ oputs("\\X");
+ else if (islig(i) && lgrevtab && lgrevtab[f] && lgrevtab[f][j]) {
+ for (k = 0; lgrevtab[f][j][k]; k++)
+ outmb(sfmask(i) | lgrevtab[f][j][k]);
+ } else if (j == WORDSP)
+ ; /* nothing at all */
+ else if (j > 0177)
+ outmb(i);
+}
+#endif
+
+
+/*
+ * now a macro
+oput(i)
+ register int i;
+{
+ *obufp++ = i;
+ if (obufp >= &obuf[OBUFSZ])
+ flusho();
+}
+*/
+
+void
+oputs(register char *i)
+{
+ while (*i != 0)
+ oput(*i++&0377);
+}
+
+
+void
+flusho(void)
+{
+ if (obufp == obuf)
+ return;
+ if (no_out == 0) {
+ if (!toolate) {
+ toolate++;
+#ifdef NROFF
+ set_tty();
+ {
+ char *p = t.twinit;
+ while (*p++)
+ ;
+ if (p - t.twinit > 1)
+ write(ptid, t.twinit, p - t.twinit - 1);
+ }
+#endif
+ }
+ toolate += write(ptid, obuf, obufp - obuf);
+ }
+ obufp = obuf;
+}
+
+void
+caseoutput(void)
+{
+ tchar i;
+
+ copyf++;
+ if (!skip(0)) {
+ if (cbits(i = getch()) == '"')
+ i = getch();
+ while (i != 0) {
+ outtp(i);
+ if (cbits(i) == '\n')
+ break;
+ i = getch();
+ }
+ }
+ copyf--;
+}
+
+
+void
+done(int x)
+{
+ register int i;
+
+ error |= x;
+ dl = app = ds = lgf = 0;
+ if (pgchars && !pglines) {
+ donep = 1;
+ tbreak();
+ donep = 0;
+ }
+ if ((i = em)) {
+ donef = -1;
+ em = 0;
+ if (control(i, 0))
+ longjmp(sjbuf, 1);
+ }
+ if (!nfo)
+ done3(0);
+ mflg = 0;
+ dip = &d[0];
+ if (woff)
+ wbt((tchar)0);
+ if (pendw)
+ getword(1);
+ pendnf = 0;
+ if (donef == 1)
+ done1(0);
+ donef = 1;
+ ip = 0;
+ frame = stk;
+ nxf = calloc(1, sizeof *nxf);
+ if (!ejf)
+ tbreak();
+ nflush++;
+ eject((struct s *)0);
+ longjmp(sjbuf, 1);
+}
+
+
+void
+done1(int x)
+{
+ error |= x;
+ if (numtab[NL].val) {
+ trap = 0;
+ eject((struct s *)0);
+ longjmp(sjbuf, 1);
+ }
+ if (nofeed) {
+ ptlead();
+ flusho();
+ done3(0);
+ } else {
+ pttrailer();
+ done2(0);
+ }
+}
+
+
+void
+done2(int x)
+{
+ ptlead();
+#ifndef NROFF
+ if (!ascii)
+ ptstop();
+#endif
+ flusho();
+ done3(x);
+}
+
+void
+done3(int x)
+{
+ error |= x;
+ signal(SIGINT, SIG_IGN);
+ signal(SIGTERM, SIG_IGN);
+#ifdef NROFF
+ twdone();
+#endif
+ if (ascii)
+ mesg(1);
+ exit(error);
+}
+
+
+void
+edone(int x)
+{
+ frame = stk;
+ nxf = calloc(1, sizeof *nxf);
+ ip = 0;
+ done(x);
+}
+
+
+
+void
+casepi(void)
+{
+ register pid_t i;
+ int id[2];
+
+ if (skip(1))
+ return;
+ if (toolate || !getname() || pipe(id) == -1 || (i = fork()) == -1) {
+ errprint("Pipe not created.");
+ return;
+ }
+ ptid = id[1];
+ if (i > 0) {
+ close(id[0]);
+ toolate++;
+ pipeflg = i;
+ return;
+ }
+ close(0);
+ dup(id[0]);
+ close(id[1]);
+ execl(nextf, nextf, NULL);
+ errprint("Cannot exec %s", nextf);
+ exit(-4);
+}
diff --git a/troff/n3.c b/troff/n3.c
new file mode 100644
index 0000000000000..0798375c05e77
--- /dev/null
+++ b/troff/n3.c
@@ -0,0 +1,2365 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n3.c 1.11 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n3.c 1.181 (gritter) 10/23/09
+ */
+
+/*
+ * Changes Copyright (c) 2014 Steffen Nurpmeso
+ */
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * troff3.c
+ *
+ * macro and string routines, storage allocation
+ */
+
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <string.h>
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+#include "ext.h"
+#include <unistd.h>
+
+#define MHASH(x) ((x>>6)^x)&0177
+struct contab **mhash; /* size must be 128 == the 0177 on line above */
+#define blisti(i) (((i)-ENV_BLK*BLK) / BLK)
+filep *blist;
+int nblist;
+int pagech = '%';
+int strflg;
+
+tchar *wbuf;
+tchar *corebuf;
+
+struct contab *oldmn;
+struct contab *newmn;
+
+static void mrehash(struct contab *, int, struct contab **);
+static void _collect(int);
+static struct contab *_findmn(int, int, int);
+static void clrmn(struct contab *);
+static void caselds(void);
+static void casewatchlength(void);
+static void caseshift(void);
+static void casesubstring(void);
+static void caselength(void);
+static void caseindex(void);
+static void caseasciify(void);
+static void caseunformat(int);
+static int getls(int, int *, int);
+static void addcon(int, char *, void(*)(int));
+
+static const struct {
+ char *n;
+ void (*f)(int);
+} longrequests[] = {
+ { "aln", (void(*)(int))casealn },
+ { "als", (void(*)(int))caseals },
+ { "asciify", (void(*)(int))caseasciify },
+ { "bleedat", (void(*)(int))casebleedat },
+ { "blm", (void(*)(int))caseblm },
+ { "brnl", (void(*)(int))casebrnl },
+ { "brpnl", (void(*)(int))casebrpnl },
+ { "box", (void(*)(int))casebox},
+ { "boxa", (void(*)(int))caseboxa},
+ { "break", (void(*)(int))casebreak},
+ { "breakchar", (void(*)(int))casebreakchar },
+ { "brp", (void(*)(int))casebrp },
+ { "char", (void(*)(int))casechar },
+ { "chomp", (void(*)(int))casechomp },
+ { "chop", (void(*)(int))casechop },
+ { "close", (void(*)(int))caseclose },
+ { "connectchar", (void(*)(int))caseconnectchar },
+ { "continue", (void(*)(int))casecontinue },
+ { "cropat", (void(*)(int))casecropat },
+ { "dch", (void(*)(int))casedch },
+ { "dwh", (void(*)(int))casedwh },
+ { "ecs", (void(*)(int))caseecs },
+ { "ecr", (void(*)(int))caseecr },
+ { "errprint", (void(*)(int))caseerrprint },
+ { "escoff", (void(*)(int))caseescoff },
+ { "escon", (void(*)(int))caseescon },
+ { "evc", (void(*)(int))caseevc },
+ { "fallback", (void(*)(int))casefallback },
+ { "fchar", (void(*)(int))casefchar },
+ { "fdeferlig", (void(*)(int))casefdeferlig },
+ { "feature", (void(*)(int))casefeature },
+ { "fkern", (void(*)(int))casefkern },
+ { "flig", (void(*)(int))caseflig },
+ { "fps", (void(*)(int))casefps },
+ { "fspacewidth", (void(*)(int))casefspacewidth },
+ { "ftr", (void(*)(int))caseftr },
+ { "fzoom", (void(*)(int))casefzoom },
+ { "hcode", (void(*)(int))casehcode },
+ { "hidechar", (void(*)(int))casehidechar },
+ { "hlm", (void(*)(int))casehlm },
+ { "hylang", (void(*)(int))casehylang },
+ { "hylen", (void(*)(int))casehylen },
+ { "hypp", (void(*)(int))casehypp },
+ { "index", (void(*)(int))caseindex },
+ { "itc", (void(*)(int))caseitc },
+ { "kern", (void(*)(int))casekern },
+ { "kernafter", (void(*)(int))casekernafter },
+ { "kernbefore", (void(*)(int))casekernbefore },
+ { "kernpair", (void(*)(int))casekernpair },
+ { "lc_ctype", (void(*)(int))caselc_ctype },
+ { "lds", (void(*)(int))caselds },
+ { "length", (void(*)(int))caselength },
+ { "letadj", (void(*)(int))caseletadj },
+ { "lhang", (void(*)(int))caselhang },
+ { "lnr", (void(*)(int))caselnr },
+ { "lnrf", (void(*)(int))caselnrf },
+ { "lpfx", (void(*)(int))caselpfx },
+ { "lsm", (void(*)(int))caselsm },
+ { "mediasize", (void(*)(int))casemediasize },
+ { "minss", (void(*)(int))caseminss },
+ { "nhychar", (void(*)(int))casenhychar },
+ { "nop", (void(*)(int))casenop },
+ { "nrf", (void(*)(int))casenrf },
+ { "open", (void(*)(int))caseopen },
+ { "opena", (void(*)(int))caseopena },
+ { "output", (void(*)(int))caseoutput },
+ { "padj", (void(*)(int))casepadj },
+ { "papersize", (void(*)(int))casepapersize },
+ { "psbb", (void(*)(int))casepsbb },
+ { "pshape", (void(*)(int))casepshape },
+ { "pso", (void(*)(int))casepso },
+ { "rchar", (void(*)(int))caserchar },
+ { "recursionlimit", (void(*)(int))caserecursionlimit },
+ { "return", (void(*)(int))casereturn },
+ { "rhang", (void(*)(int))caserhang },
+ { "rnn", (void(*)(int))casernn },
+ { "sentchar", (void(*)(int))casesentchar },
+ { "shc", (void(*)(int))caseshc },
+ { "shift", (void(*)(int))caseshift },
+ { "spacewidth", (void(*)(int))casespacewidth },
+ { "spreadwarn", (void(*)(int))casespreadwarn },
+ { "substring", (void(*)(int))casesubstring },
+ { "tmc", (void(*)(int))casetmc },
+ { "track", (void(*)(int))casetrack },
+ { "transchar", (void(*)(int))casetranschar },
+ { "trimat", (void(*)(int))casetrimat },
+ { "trin", (void(*)(int))casetrin },
+ { "trnt", (void(*)(int))casetrnt },
+ { "unformat", (void(*)(int))caseunformat },
+ { "unwatch", (void(*)(int))caseunwatch },
+ { "unwatchn", (void(*)(int))caseunwatchn },
+#ifdef NROFF
+ { "utf8conv", (void(*)(int))caseutf8conv },
+#endif
+ { "vpt", (void(*)(int))casevpt },
+ { "warn", (void(*)(int))casewarn },
+ { "watch", (void(*)(int))casewatch },
+ { "watchlength", (void(*)(int))casewatchlength },
+ { "watchn", (void(*)(int))casewatchn },
+ { "while", (void(*)(int))casewhile },
+ { "write", (void(*)(int))casewrite },
+ { "writec", (void(*)(int))casewritec },
+ { "writem", (void(*)(int))casewritem },
+ { "xflag", (void(*)(int))casexflag },
+ { NULL, NULL }
+};
+
+static void *
+_growcontab(struct contab **contp, int *NMp, struct contab ***hashp)
+{
+ int i, j, inc = 256;
+ ptrdiff_t sft;
+ struct contab *onc;
+ struct s *s;
+
+ onc = *contp;
+ if ((*contp = realloc(*contp, (*NMp+inc) * sizeof **contp)) == NULL)
+ return NULL;
+ memset(&(*contp)[*NMp], 0, inc * sizeof **contp);
+ if (*NMp == 0) {
+ if (contp == &contab) {
+ for (i = 0; initcontab[i].f; i++)
+ (*contp)[i] = initcontab[i];
+ for (j = 0; longrequests[j].f; j++)
+ addcon(i++, longrequests[j].n,
+ longrequests[j].f);
+ }
+ *hashp = calloc(128, sizeof **hashp);
+ mrehash(*contp, inc, *hashp);
+ } else {
+ sft = (char *)*contp - (char *)onc;
+ for (i = 0; i < 128; i++)
+ if ((*hashp)[i])
+ (*hashp)[i] = (struct contab *)
+ ((char *)((*hashp)[i]) + sft);
+ for (i = 0; i < *NMp; i++)
+ if ((*contp)[i].link)
+ (*contp)[i].link = (struct contab *)
+ ((char *)((*contp)[i].link) + sft);
+ for (s = frame; s != stk; s = s->pframe)
+ if (s->contp >= onc && s->contp < &onc[*NMp])
+ s->contp = (struct contab *)
+ ((char *)(s->contp) + sft);
+ for (i = 0; i <= dilev; i++)
+ if (d[i].soff >= onc && d[i].soff < &onc[*NMp])
+ d[i].soff = (struct contab *)
+ ((char *)(d[i].soff) + sft);
+ }
+ *NMp += inc;
+ return *contp;
+}
+
+void *
+growcontab(void)
+{
+ return _growcontab(&contab, &NM, &mhash);
+}
+
+void *
+growblist(void)
+{
+ static tchar *_corebuf;
+ int inc = 512;
+ tchar *ocb;
+
+ if ((blist = realloc(blist, (nblist+inc) * sizeof *blist)) == NULL)
+ return NULL;
+ memset(&blist[nblist], 0, inc * sizeof *blist);
+ ocb = _corebuf;
+ if ((_corebuf = realloc(_corebuf,
+ ((ENV_BLK+nblist+inc+1) * BLK + 1) * sizeof *_corebuf)) == NULL)
+ return NULL;
+ if (ocb == NULL)
+ memset(_corebuf, 0, ((ENV_BLK+1) * BLK + 1) * sizeof *_corebuf);
+ corebuf = &_corebuf[1];
+ memset(&corebuf[(ENV_BLK+nblist+1) * BLK], 0,
+ inc * BLK * sizeof *corebuf);
+ if (wbuf)
+ wbuf = (tchar *)((char *)wbuf + ((char *)corebuf-(char *)ocb));
+ nblist += inc;
+ return blist;
+}
+
+void
+caseig(void)
+{
+ register int i;
+ register filep oldoff;
+
+ oldoff = offset;
+ offset = 0;
+ i = copyb();
+ offset = oldoff;
+ if (i != '.')
+ control(i, 1);
+}
+
+
+void
+casern(void)
+{
+ register int i, j;
+
+ lgf++;
+ skip(1);
+ if ((i = getrq(0)) == 0)
+ return;
+ if ((oldmn = _findmn(i, 0, 0)) == NULL) {
+ nosuch(i);
+ return;
+ }
+ skip(1);
+ j = getrq(1);
+ clrmn(_findmn(j, 0, oldmn->flags & FLAG_LOCAL));
+ if (j) {
+ munhash(oldmn);
+ oldmn->rq = j;
+ maddhash(oldmn);
+ if (oldmn->flags & FLAG_WATCH)
+ errprint("%s: %s%s renamed to %s", macname(lastrq),
+ oldmn->flags & FLAG_LOCAL ?
+ "local " : "",
+ macname(i), macname(j));
+ }
+}
+
+static struct contab **
+gethash(struct contab *mp)
+{
+ struct s *sp;
+ struct contab **mh;
+
+ if (mp >= contab && mp < &contab[NM])
+ mh = mhash;
+ else {
+ sp = macframe();
+ if (mp >= sp->contab && mp < &sp->contab[sp->NM])
+ mh = sp->mhash;
+ else
+ mh = NULL;
+ }
+ return mh;
+}
+
+void
+maddhash(register struct contab *rp)
+{
+ register struct contab **hp;
+ struct contab **mh;
+
+ if (rp->rq == 0)
+ return;
+ if ((mh = gethash(rp)) == NULL)
+ return;
+ hp = &mh[MHASH(rp->rq)];
+ rp->link = *hp;
+ *hp = rp;
+}
+
+void
+munhash(register struct contab *mp)
+{
+ register struct contab *p;
+ register struct contab **lp;
+ struct contab **mh;
+
+ if (mp->rq == 0)
+ return;
+ if ((mh = gethash(mp)) == NULL)
+ return;
+ lp = &mh[MHASH(mp->rq)];
+ p = *lp;
+ while (p) {
+ if (p == mp) {
+ *lp = p->link;
+ p->link = 0;
+ return;
+ }
+ lp = &p->link;
+ p = p->link;
+ }
+}
+
+static void
+mrehash(struct contab *contp, int n, struct contab **hashp)
+{
+ register struct contab *p;
+ register int i;
+
+ for (i=0; i<128; i++)
+ hashp[i] = 0;
+ for (p=contp; p < &contp[n]; p++)
+ p->link = 0;
+ for (p=contp; p < &contp[n]; p++) {
+ if (p->rq == 0)
+ continue;
+ i = MHASH(p->rq);
+ p->link = hashp[i];
+ hashp[i] = p;
+ }
+}
+
+void
+caserm(void)
+{
+ struct contab *contp, *contt;
+ int j, cnt = 0;
+
+ lgf++;
+ while (!skip(!cnt++)) {
+ if ((j = getrq(2)) <= 0)
+ continue;
+ if ((contp = _findmn(j, 0, 0)) == NULL)
+ continue;
+ if (contp->als) {
+ contt = _findmn(j, 1, contp->flags & FLAG_LOCAL);
+ /* bugfix by S.N. */
+ if (contt != NULL && --contt->nlink <= 0)
+ clrmn(contt);
+ }
+ if (contp->nlink > 0)
+ contp->nlink--;
+ if (contp->flags & FLAG_WATCH)
+ errprint("%s: %s%s removed", macname(lastrq),
+ contp->flags & FLAG_LOCAL ? "local " : "",
+ macname(j));
+ if (contp->nlink <= 0)
+ clrmn(contp);
+ }
+ lgf--;
+}
+
+
+void
+caseas(void)
+{
+ app++;
+ caseds();
+}
+
+
+void
+caseds(void)
+{
+ ds++;
+ casede();
+}
+
+
+void
+caseam(void)
+{
+ app++;
+ casede();
+}
+
+static void
+caselds(void)
+{
+ dl += macframe() != stk;
+ caseds();
+}
+
+void
+casede(void)
+{
+ register int i, req;
+ register filep savoff;
+ int k, nlink;
+
+ if (dip != d)
+ wbfl();
+ req = '.';
+ lgf++;
+ skip(1);
+ if ((i = getrq(1)) == 0)
+ goto de1;
+ if ((offset = finds(i, 1, !ds)) == 0)
+ goto de1;
+ if (ds)
+ copys();
+ else
+ req = copyb();
+ wbfl();
+ if (oldmn != NULL && (nlink = oldmn->nlink) > 0)
+ k = oldmn->rq;
+ else {
+ k = i;
+ nlink = 0;
+ }
+ clrmn(oldmn);
+ if (newmn != NULL) {
+ if (newmn->rq)
+ munhash(newmn);
+ newmn->rq = k;
+ newmn->nlink = nlink;
+ newmn->flags &= ~FLAG_DIVERSION;
+ if (ds)
+ newmn->flags |= FLAG_STRING;
+ else
+ newmn->flags &= ~FLAG_STRING;
+ maddhash(newmn);
+ prwatch(newmn, i, 1);
+ } else if (apptr)
+ prwatch(findmn(i), i, 1);
+ if (apptr) {
+ savoff = offset;
+ offset = apptr;
+ wbt((tchar) IMP);
+ offset = savoff;
+ }
+ offset = dip->op;
+ if (req != '.')
+ control(req, 1);
+de1:
+ ds = app = 0;
+ return;
+}
+
+
+static struct contab *
+findmn1(struct contab **hashp, register int i, int als)
+{
+ register struct contab *p;
+
+ for (p = hashp[MHASH(i)]; p; p = p->link)
+ if (i == p->rq) {
+ if (als && p->als)
+ return(findmn1(hashp, p->als, als));
+ return(p);
+ }
+ return(NULL);
+}
+
+
+static struct contab *
+_findmn(register int i, int als, int forcelocal)
+{
+ struct s *s;
+ struct contab *contp;
+
+ s = macframe();
+ if (forcelocal || (s != stk && s->mhash)) {
+ if (s->mhash == NULL)
+ return NULL;
+ if ((contp = findmn1(s->mhash, i, als)) != NULL)
+ return contp;
+ if (forcelocal)
+ return NULL;
+ }
+ return findmn1(mhash, i, als);
+}
+
+
+struct contab *
+findmn(int i)
+{
+ return _findmn(i, 1, 0);
+}
+
+
+struct contab *
+findmx(int i)
+{
+ return findmn1(mhash, i, 1);
+}
+
+
+void
+clrmn(struct contab *contp)
+{
+ struct s *s;
+
+ if (contp != NULL) {
+ if (contp->flags & FLAG_USED) {
+ if (warn & WARN_MAC)
+ errprint("Macro %s removed while in use",
+ macname(contp->rq));
+ for (s = frame; s != stk; s = s->pframe)
+ if (s->contp == contp)
+ s->contp = NULL;
+ } else if (contp->mx)
+ ffree((filep)contp->mx);
+ munhash(contp);
+ memset(contp, 0, sizeof *contp);
+ contp->rq = 0;
+ contp->mx = 0;
+ contp->f = 0;
+ contp->als = 0;
+ contp->nlink = 0;
+ }
+}
+
+
+/*
+ * Note: finds() may invalidate the result of a previous findmn()
+ * for another macro since it may call growcontab().
+ */
+filep
+finds(register int mn, int als, int globonly)
+{
+ register tchar i;
+ register filep savip;
+ enum flags flags = 0;
+ struct s *s;
+ struct contab **contp, ***hashp;
+ int *NMp;
+
+ oldmn = _findmn(mn, als, dl);
+ newmn = NULL;
+ apptr = (filep)0;
+ if (oldmn != NULL)
+ flags = oldmn->flags;
+ if (globonly && (dl || (oldmn && oldmn->flags & FLAG_LOCAL))) {
+ errprint("refusing to create local %s %s",
+ diflg || (oldmn && oldmn->flags & FLAG_DIVERSION) ?
+ "diversion" : "macro",
+ macname(mn));
+ app = 0;
+ return(0);
+ }
+ if (app && oldmn != NULL && oldmn->mx) {
+ savip = ip;
+ ip = (filep)oldmn->mx;
+ oldmn = NULL;
+ while ((i = rbf()) != 0) {
+ if (!diflg && istail(i))
+ corebuf[ip - 1] &= ~(tchar)TAILBIT;
+ }
+ apptr = ip;
+ if (!diflg)
+ ip = incoff(ip);
+ nextb = ip;
+ ip = savip;
+ } else {
+ if (oldmn && oldmn->flags & FLAG_LOCAL)
+ dl++;
+ if (dl && (s = macframe()) != stk) {
+ contp = &s->contab;
+ NMp = &s->NM;
+ hashp = &s->mhash;
+ } else {
+ dl = 0;
+ contp = &contab;
+ NMp = &NM;
+ hashp = &mhash;
+ }
+ for (i = 0; i < *NMp; i++) {
+ if ((*contp)[i].rq == 0)
+ break;
+ }
+ nextb = 0;
+ if ((i == *NMp && _growcontab(contp, NMp, hashp) == NULL) ||
+ (als && (nextb = alloc()) == 0)) {
+ app = 0;
+ if (macerr++ > 1)
+ done2(02);
+ errprint("Too many (%d) string/macro names", NM);
+ edone(04);
+ return(als ? offset = 0 : 0);
+ }
+ oldmn = _findmn(mn, als, dl);
+ (*contp)[i].mx = (unsigned) nextb;
+ newmn = &(*contp)[i];
+ if (!diflg) {
+ if (oldmn == NULL)
+ newmn->rq = -1;
+ } else {
+ newmn->rq = mn;
+ maddhash(newmn);
+ }
+ newmn->flags = flags&(FLAG_WATCH|FLAG_STRING|FLAG_DIVERSION);
+ if (dl)
+ newmn->flags |= FLAG_LOCAL;
+ }
+ dl = app = 0;
+ return(als ? offset = nextb : 1);
+}
+
+
+int
+skip (int required) /*skip over blanks; return nlflg*/
+{
+ register tchar i;
+
+ while (cbits(i = getch()) == ' ')
+ ;
+ ch = i;
+ if (nlflg && required)
+ missing();
+ return(nlflg);
+}
+
+
+int
+copyb(void)
+{
+ register int i, j, state;
+ register tchar ii;
+ int req;
+ filep savoff = 0, tailoff = 0;
+ tchar tailc = 0;
+ char *contp, *mn;
+ size_t l;
+
+ if (skip(0) || !(j = getrq(1)))
+ j = '.';
+ req = j;
+ contp = macname(req);
+ l = strlen(contp) + 1;
+ mn = malloc(l);
+ n_strcpy(mn, contp, l);
+ copyf++;
+ flushi();
+ nlflg = 0;
+ state = 1;
+
+/* state 0 eat up
+ * state 1 look for .
+ * state 2 look for chars of end macro
+ */
+
+ while (1) {
+ i = cbits(ii = getch());
+ if (state == 2 && mn[j] == 0) {
+ ch = ii;
+ if (!getach())
+ break;
+ state = 0;
+ goto c0;
+ }
+ if (i == '\n') {
+ state = 1;
+ nlflg = 0;
+ tailoff = offset;
+ tailc = ii;
+ ii &= ~(tchar)TAILBIT;
+ goto c0;
+ }
+ if (state == 1 && i == '.') {
+ state++;
+ savoff = offset;
+ j = 0;
+ goto c0;
+ }
+ if (state == 2) {
+ if (i == mn[j]) {
+ j++;
+ goto c0;
+ } else if (i == ' ' || i == '\t') {
+ goto c0;
+ }
+ }
+ state = 0;
+c0:
+ if (offset)
+ wbf(ii);
+ }
+ if (offset) {
+ wbfl();
+ offset = savoff;
+ wbt((tchar)0);
+ if (tailoff) {
+ offset = tailoff;
+ wbt(tailc | TAILBIT);
+ }
+ }
+ copyf--;
+ free(mn);
+ return(req);
+}
+
+
+void
+copys(void)
+{
+ register tchar i;
+
+ copyf++;
+ if (skip(0))
+ goto c0;
+ if (cbits(i = getch()) != '"')
+ wbf(i);
+ while (cbits(i = getch()) != '\n')
+ wbf(i);
+c0:
+ wbt((tchar)0);
+ copyf--;
+}
+
+
+filep
+alloc (void) /*return free blist[] block in nextb*/
+{
+ register int i;
+ register filep j;
+
+ do {
+ for (i = 0; i < nblist; i++) {
+ if (blist[i] == 0)
+ break;
+ }
+ } while (i == nblist && growblist() != NULL);
+ if (i == nblist) {
+ j = 0;
+ } else {
+ blist[i] = -1;
+ j = (filep)i * BLK + ENV_BLK * BLK;
+ }
+#ifdef DEBUG
+ if (debug & DB_ALLC) {
+ char cc1, cc2;
+ fprintf(stderr, "alloc: ");
+ if (oldmn != NULL) {
+ cc1 = oldmn->rq & 0177;
+ if ((cc2 = (oldmn->rq >> BYTE) & 0177) == 0)
+ cc2 = ' ';
+ fprintf(stderr, "oldmn %p %c%c, ", oldmn, cc1, cc2);
+ }
+ fprintf(stderr, "newmn %p; nextb was %lx, will be %lx\n",
+ newmn, (long)nextb, (long)j);
+ }
+#endif /* DEBUG */
+ return(nextb = j);
+}
+
+
+void
+ffree ( /*free blist[i] and blocks pointed to*/
+ filep i
+)
+{
+ register int j;
+
+ while (blist[j = blisti(i)] != (unsigned) ~0) {
+ i = (filep) blist[j];
+ blist[j] = 0;
+ }
+ blist[j] = 0;
+}
+
+void
+wbt(tchar i)
+{
+ wbf(i);
+ wbfl();
+}
+
+
+void
+wbf ( /*store i into blist[offset] (?) */
+ register tchar i
+)
+{
+ register int j;
+
+ if (!offset)
+ return;
+ if (!woff) {
+ woff = offset;
+ wbuf = &corebuf[woff];
+ wbfi = 0;
+ }
+ wbuf[wbfi++] = i;
+ if (!((++offset) & (BLK - 1))) {
+ wbfl();
+ j = blisti(--offset);
+ if (j < 0 || (j >= nblist && growblist() == NULL)) {
+ errprint("Out of temp file space");
+ done2(01);
+ }
+ if (blist[j] == (unsigned) ~0) {
+ if (alloc() == 0) {
+ errprint("Out of temp file space");
+ done2(01);
+ }
+ blist[j] = (unsigned)(nextb);
+ }
+ offset = ((filep)blist[j]);
+ }
+ if (wbfi >= BLK)
+ wbfl();
+}
+
+
+void
+wbfl (void) /*flush current blist[] block*/
+{
+ if (woff == 0)
+ return;
+ if ((woff & (~(BLK - 1))) == (roff & (~(BLK - 1))))
+ roff = -1;
+ woff = 0;
+}
+
+
+tchar
+rbf (void) /*return next char from blist[] block*/
+{
+ register tchar i;
+ register filep j, p;
+
+ if (ip == -1) { /* for rdtty */
+ if ((j = rdtty()))
+ return(j);
+ else
+ return(popi());
+ }
+ if (ip == -2) {
+ errprint("Bad storage while processing paragraph");
+ ip = 0;
+ done2(-5);
+ }
+ /* this is an inline expansion of rbf0: dirty! */
+ i = corebuf[ip];
+ /* end of rbf0 */
+ if (i == 0) {
+ if (!app)
+ i = popi();
+ return(i);
+ }
+ /* this is an inline expansion of incoff: also dirty */
+ p = ++ip;
+ if ((p & (BLK - 1)) == 0) {
+ if ((ip = blist[blisti(p-1)]) == (unsigned) ~0) {
+ errprint("Bad storage allocation");
+ ip = 0;
+ done2(-5);
+ }
+ /* this was meant to protect against people removing
+ * the macro they were standing on, but it's too
+ * sensitive to block boundaries.
+ * if (ip == 0) {
+ * errprint("Block removed while in use");
+ * done2(-6);
+ * }
+ */
+ }
+ return(i);
+}
+
+
+tchar
+rbf0(register filep p)
+{
+ return(corebuf[p]);
+}
+
+
+filep
+incoff ( /*get next blist[] block*/
+ register filep p
+)
+{
+ p++;
+ if ((p & (BLK - 1)) == 0) {
+ if ((p = blist[blisti(p-1)]) == (unsigned) ~0) {
+ errprint("Bad storage allocation");
+ done2(-5);
+ }
+ }
+ return(p);
+}
+
+
+tchar
+popi(void)
+{
+ register struct s *p;
+ tchar c, d;
+
+ if (frame == stk)
+ return(0);
+ if (strflg)
+ strflg--;
+ p = frame;
+ sfree(p);
+ if (p->contp != NULL)
+ p->contp->flags &= ~FLAG_USED;
+ frame = p->pframe;
+ ip = p->pip;
+ pendt = p->ppendt;
+ lastpbp = p->lastpbp;
+ c = p->pch;
+ if (p->loopf & LOOP_NEXT) {
+ d = ch;
+ ch = c;
+ pushi(p->newip, p->mname, p->flags);
+ c = 0;
+ ch = d;
+ } else
+ if (p->loopf & LOOP_FREE)
+ ffree(p->newip);
+ free(p);
+ if (frame->flags & FLAG_PARAGRAPH)
+ longjmp(*frame->jmp, 1);
+ return(c);
+}
+
+
+int
+pushi(filep newip, int mname, enum flags flags)
+{
+ register struct s *p;
+
+ p = nxf;
+ p->pframe = frame;
+ p->pip = ip;
+ p->ppendt = pendt;
+ p->pch = ch;
+ p->lastpbp = lastpbp;
+ p->mname = mname;
+ p->flags = flags;
+ if (mname != LOOP) {
+ p->frame_cnt = frame->frame_cnt + 1;
+ p->tail_cnt = frame->tail_cnt + 1;
+ } else {
+ p->frame_cnt = frame->frame_cnt;
+ p->tail_cnt = frame->tail_cnt;
+ p->loopf = LOOP_EVAL;
+ }
+ p->newip = newip;
+ lastpbp = pbp;
+ pendt = ch = 0;
+ frame = nxf;
+ nxf = calloc(1, sizeof *nxf);
+ return(ip = newip);
+}
+
+
+void
+sfree(struct s *p)
+{
+ int i;
+
+ if (p->nargs > 0) {
+ free(p->argt);
+ free(p->argsp);
+ }
+ free(p->numtab);
+ free(p->nhash);
+ if (p->contab) {
+ for (i = 0; i < p->NM; i++)
+ if (p->contab[i].mx > 0)
+ ffree((filep)p->contab[i].mx);
+ free(p->contab);
+ free(p->mhash);
+ }
+}
+
+
+struct s *
+macframe(void)
+{
+ struct s *p;
+
+ for (p = frame; p != stk &&
+ (p->flags & (FLAG_STRING|FLAG_DIVERSION) || p->loopf);
+ p = p->pframe);
+ return(p);
+}
+
+static int
+_getsn(int *strp, int create)
+{
+ register int i;
+
+ if ((i = getach()) == 0)
+ return(0);
+ if (i == '(')
+ return(getrq2());
+ else if (i == '[' && xflag > 1)
+ return(getls(']', strp, create));
+ else
+ return(i);
+}
+
+int
+getsn(int create)
+{
+ return _getsn(0, create);
+}
+
+
+int
+setstr(void)
+{
+ struct contab *contp;
+ register int i, k;
+ int space = 0;
+ tchar c;
+
+ lgf++;
+ if ((i = _getsn(&space, 0)) == 0 || (contp = findmn(i)) == NULL ||
+ !contp->mx) {
+ if (space) {
+ do {
+ if (cbits(c = getch()) == ']')
+ break;
+ } while (!nlflg);
+ if (nlflg)
+ nodelim(']');
+ }
+ nosuch(i);
+ lgf--;
+ return(0);
+ } else {
+ if (space)
+ _collect(']');
+ else
+ nxf->nargs = 0;
+ strflg++;
+ lgf--;
+ contp->flags |= FLAG_USED;
+ k = pushi((filep)contp->mx, i, contp->flags);
+ frame->contp = contp;
+ return(k);
+ }
+}
+
+void
+collect(void)
+{
+ _collect(0);
+}
+
+static void
+_collect(int termc)
+{
+ register tchar i = 0;
+ int at = 0, asp = 0;
+ int nt = 0, nsp = 0, nsp0;
+ int quote, right;
+ struct s *savnxf;
+
+ copyf++;
+ nxf->nargs = 0;
+ nxf->argt = NULL;
+ nxf->argsp = NULL;
+ savnxf = nxf;
+ nxf = calloc(1, sizeof *nxf);
+ if (skip(0))
+ goto rtn;
+
+ strflg = 0;
+ while (!skip(0)) {
+ if (nt >= at)
+ savnxf->argt = realloc(savnxf->argt,
+ (at += 10) * sizeof *savnxf->argt);
+ savnxf->argt[nt] = nsp0 = nsp; /* CK: Bugfix: \} counts \n(.$ */
+ quote = right = 0;
+ if (cbits(i = getch()) == '"')
+ quote++;
+ else
+ ch = i;
+ while (1) {
+ i = getch();
+ if (termc && !quote && i == termc) {
+ if (nsp >= asp)
+ savnxf->argsp = realloc(savnxf->argsp,
+ ++asp * sizeof *savnxf->argsp);
+ nt++;
+ savnxf->argsp[nsp++] = 0;
+ goto rtn;
+ }
+ if (nlflg || (!quote && cbits(i) == ' '))
+ break;
+ if ( quote
+ && (cbits(i) == '"')
+ && (cbits(i = getch()) != '"')) {
+ ch = i;
+ break;
+ }
+ if (nsp >= asp)
+ savnxf->argsp = realloc(savnxf->argsp,
+ (asp += 200) * sizeof *savnxf->argsp);
+ if (cbits(i) == RIGHT) /* CK: Bugfix: \} counts \n(.$ */
+ right = 1;
+ else
+ savnxf->argsp[nsp++] = i;
+ }
+ if (nsp >= asp)
+ savnxf->argsp = realloc(savnxf->argsp,
+ ++asp * sizeof *savnxf->argsp);
+ if (!right || nsp != nsp0) { /* CK: Bugfix: \} counts \n(.$ */
+ nt++;
+ savnxf->argsp[nsp++] = 0;
+ }
+ }
+rtn:
+ if (termc && i != termc)
+ nodelim(termc);
+ free(nxf);
+ nxf = savnxf;
+ nxf->nargs = nt;
+ copyf--;
+}
+
+
+void
+seta(void)
+{
+ register int c, i;
+ char q[] = { 0, 0 };
+ struct s *s;
+
+ for (s = frame; s != stk; s = s->pframe) {
+ if (s->loopf)
+ continue;
+ if (gflag && s->contp && s->contp->flags & FLAG_STRING
+ && s->nargs == 0)
+ continue;
+ break;
+ }
+ switch (c = cbits(getch())) {
+ case '@':
+ q[0] = '"';
+ /*FALLTHRU*/
+ case '*':
+ if (xflag == 0)
+ goto dfl;
+ for (i = s->nargs; i >= 1; i--) {
+ if (q[0])
+ cpushback(q);
+ pushback(&s->argsp[s->argt[i - 1]]);
+ if (q[0])
+ cpushback(q);
+ if (i > 1)
+ cpushback(" ");
+ }
+ break;
+ case '(':
+ if (xflag == 0)
+ goto dfl;
+ c = cbits(getch());
+ i = 10 * (c - '0');
+ c = cbits(getch());
+ i += c - '0';
+ goto assign;
+ case '[':
+ if (xflag == 0)
+ goto dfl;
+ i = 0;
+ while ((c = cbits(getch())) != ']' && c != '\n' && c != 0)
+ i = 10 * i + (c - '0');
+ goto assign;
+ default:
+ dfl: i = c - '0';
+ assign: if (i > 0 && i <= s->nargs)
+ pushback(&s->argsp[s->argt[i - 1]]);
+ else if (i == 0)
+ cpushback(macname(s->mname));
+ }
+}
+
+static void
+caseshift(void)
+{
+ int i, j;
+ struct s *s;
+
+ for (s = frame; s->loopf && s != stk; s = s->pframe);
+ if (skip(0))
+ i = 1;
+ else {
+ noscale++;
+ i = hatoi();
+ noscale--;
+ if (nonumb)
+ return;
+ }
+ if (i > 0 && i <= s->nargs) {
+ s->nargs -= i;
+ for (j = 1; j <= s->nargs; j++)
+ s->argt[j - 1] = s->argt[j + i - 1];
+ }
+}
+
+
+void
+casebox(void)
+{
+ casedi(1);
+}
+
+void
+caseboxa(void)
+{
+ caseda(1);
+}
+
+void
+caseda(int box)
+{
+ app++;
+ casedi(box);
+}
+
+
+void
+casedi(int box)
+{
+ register int i, j;
+ register int *k;
+ int nlink;
+
+ lgf++;
+ if (skip(0) || (i = getrq(1)) == 0) {
+ if (dip != d)
+ wbt((tchar)0);
+ if (dilev > 0) {
+#ifdef DEBUG
+ if (debug & DB_MAC)
+ fprintf(stderr, "ending diversion %s\n",
+ macname(dip->curd));
+#endif /* DEBUG */
+ numtab[DN].val = dip->dnl;
+ numtab[DL].val = dip->maxl;
+ prwatchn(&numtab[DN]);
+ prwatchn(&numtab[DL]);
+ if (dip->boxenv) {
+ relsev(&env);
+ env = *dip->boxenv;
+ free(dip->boxenv);
+ }
+ prwatch(dip->soff, dip->curd, 1);
+ dip = &d[--dilev];
+ offset = dip->op;
+ } else if (warn & WARN_DI)
+ errprint(".di outside active diversion");
+ goto rtn;
+ }
+#ifdef DEBUG
+ if (debug & DB_MAC)
+ fprintf(stderr, "starting diversion %s\n", macname(i));
+#endif /* DEBUG */
+ if (++dilev == NDI) {
+ struct d *nd;
+ const int inc = 5;
+ if ((nd = realloc(d, (NDI+inc) * sizeof *d)) == NULL) {
+ --dilev;
+ errprint("Diversions nested too deep");
+ edone(02);
+ }
+ d = nd;
+ memset(&d[NDI], 0, inc * sizeof *d);
+ NDI += inc;
+ }
+ if (dip != d)
+ wbt((tchar)0);
+ diflg++;
+ dip = &d[dilev];
+ if ((dip->op = finds(i, 1, 1)) == 0) {
+ dip = &d[--dilev];
+ goto rtn;
+ }
+ dip->curd = i;
+ if (newmn && oldmn != NULL && (nlink = oldmn->nlink) > 0) {
+ munhash(newmn);
+ j = oldmn->rq;
+ } else {
+ j = i;
+ nlink = 0;
+ }
+ clrmn(oldmn);
+ if (newmn) {
+ newmn->rq = j;
+ newmn->nlink = nlink;
+ newmn->flags &= ~FLAG_STRING;
+ newmn->flags |= FLAG_DIVERSION;
+ if (i != j)
+ maddhash(newmn);
+ prwatch(newmn, i, 0);
+ }
+ dip->soff = newmn;
+ k = &dip->dnl;
+ dip->flss = 0;
+ for (j = 0; j < 10; j++)
+ k[j] = 0; /*not op and curd*/
+ memset(dip->mlist, 0, sizeof dip->mlist);
+ memset(dip->nlist, 0, sizeof dip->nlist);
+ if (box) {
+ dip->boxenv = malloc(sizeof *dip->boxenv);
+ *dip->boxenv = env;
+ evc(&env, &env);
+ } else
+ dip->boxenv = 0;
+rtn:
+ app = 0;
+ diflg = 0;
+}
+
+
+void
+casedt(void)
+{
+ lgf++;
+ dip->dimac = dip->ditrap = dip->ditf = 0;
+ skip(0);
+ dip->ditrap = vnumb((int *)0);
+ if (nonumb)
+ return;
+ skip(0);
+ dip->dimac = getrq(1);
+}
+
+
+void
+caseals(void)
+{
+ struct contab *contp;
+ int i, j, t;
+ int flags = 0;
+
+ if (skip(1))
+ return;
+ i = getrq(1);
+ if (skip(1))
+ return;
+ j = getrq(1);
+ if ((contp = findmn(j)) == NULL) {
+ nosuch(j);
+ return;
+ }
+ if (contp->nlink == 0) {
+ munhash(contp);
+ t = makerq(NULL);
+ contp->rq = t;
+ maddhash(contp);
+ if (contp->flags & FLAG_LOCAL)
+ dl++;
+ if (finds(j, 0, 0) != 0 && newmn) {
+ newmn->als = t;
+ newmn->rq = j;
+ maddhash(newmn);
+ contp->nlink = 1;
+ }
+ } else
+ t = j;
+ if (contp->flags & FLAG_LOCAL)
+ dl++;
+ if (finds(i, 0, !dl) != 0) {
+ if (oldmn != NULL && newmn != NULL)
+ flags = oldmn->flags | newmn->flags;
+ flags &= FLAG_WATCH|FLAG_STRING|FLAG_DIVERSION;
+ clrmn(oldmn);
+ if (newmn) {
+ if (newmn->rq)
+ munhash(newmn);
+ newmn->als = t;
+ newmn->rq = i;
+ newmn->flags |= flags;
+ maddhash(newmn);
+ contp = findmn(j);
+ contp->nlink++;
+ if (flags & FLAG_WATCH)
+ errprint("%s: creating alias %s to %s%s %s",
+ macname(lastrq),
+ contp->flags & FLAG_LOCAL ?
+ "local " : "",
+ contp->flags & FLAG_STRING ? "string" :
+ contp->flags & FLAG_DIVERSION ?
+ "diversion" : "macro",
+ macname(i), macname(j));
+ }
+ }
+}
+
+
+void
+casewatch(int unwatch)
+{
+ struct contab *contp;
+ int j;
+
+ lgf++;
+ if (skip(1))
+ return;
+ do {
+ if (!(j = getrq(1)))
+ break;
+ if ((contp = findmn(j)) == NULL) {
+ if (finds(j, 0, 0) == 0 || newmn == NULL)
+ continue;
+ if (newmn->rq)
+ munhash(newmn);
+ newmn->rq = j;
+ maddhash(newmn);
+ contp = newmn;
+ }
+ if (unwatch)
+ contp->flags &= ~FLAG_WATCH;
+ else
+ contp->flags |= FLAG_WATCH;
+ } while (!skip(0));
+}
+
+
+void
+caseunwatch(void)
+{
+ casewatch(1);
+}
+
+
+static int watchlength = 30;
+
+
+static void
+casewatchlength(void)
+{
+ int i;
+
+ if (!skip(1)) {
+ noscale++;
+ i = hatoi();
+ noscale--;
+ if (!nonumb)
+ watchlength = i;
+ if (watchlength < 0)
+ watchlength = 0;
+ }
+}
+
+
+void
+prwatch(struct contab *contp, int rq, int prc)
+{
+ const char prtab[] = {
+ 'a',000,000,000,000,000,000,000,
+ 'b','t','n',000,000,000,000,000,
+ '{','}','&',000,'%','c','e',' ',
+ '!',000,000,000,000,000,000,'~',
+ 000
+ };
+ char *buf = NULL;
+ char *local;
+ filep savip;
+ tchar c;
+ int j, k;
+
+ if (contp == NULL)
+ return;
+ if (rq == 0)
+ rq = contp->rq;
+ local = contp->flags & FLAG_LOCAL ? "local " : "";
+ if (contp->flags & FLAG_WATCH) {
+ if (watchlength <= 10 || !prc) {
+ errprint("%s: %s%s %s redefined", macname(lastrq),
+ local,
+ contp->flags & FLAG_STRING ? "string" :
+ contp->flags & FLAG_DIVERSION ?
+ "diversion" : "macro",
+ macname(rq));
+ return;
+ }
+ savip = ip;
+ ip = (filep)contp->mx;
+ app++;
+ j = 0;
+ buf = malloc(watchlength);
+ while ((c = rbf()) != 0) {
+ while (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ if (iscopy(c) && (k = wctomb(&buf[j], cbits(c))) > 0)
+ j += k;
+ else if (ismot(c))
+ buf[j++] = '?';
+ else if ((k = cbits(c)) < 0177) {
+ if (isprint(k))
+ buf[j++] = k;
+ else if (istrans(c)) {
+ buf[j++] = '\\';
+ buf[j++] = ')';
+ } else if (k < ' ' && prtab[k]) {
+ buf[j++] = '\\';
+ buf[j++] = prtab[k];
+ } else if (k < ' ') {
+ buf[j++] = '^';
+ buf[j++] = k + 0100;
+ } else
+ buf[j++] = '?';
+ } else if (k == ACUTE)
+ buf[j++] = '\'';
+ else if (k == GRAVE)
+ buf[j++] = '`';
+ else if (j == UNDERLINE)
+ buf[j++] = '_';
+ else if (j == MINUS)
+ buf[j++] = '-';
+ else
+ buf[j++] = '?';
+ if (j >= watchlength - 5 - mb_cur_max) {
+ buf[j++] = '.';
+ buf[j++] = '.';
+ buf[j++] = '.';
+ break;
+ }
+ }
+ buf[j] = 0;
+ ip = savip;
+ app--;
+ errprint("%s: %s%s %s redefined to \"%s\"", macname(lastrq),
+ local,
+ contp->flags & FLAG_STRING ? "string" :
+ contp->flags & FLAG_DIVERSION ?
+ "diversion" : "macro",
+ macname(rq), buf);
+ free(buf);
+ }
+}
+
+
+void
+casetl(void)
+{
+ register int j;
+ int w[3];
+ tchar *buf = NULL;
+ int bufsz = 0;
+ register tchar *tp;
+ tchar i, delim, nexti;
+ int oev;
+
+ dip->nls = 0;
+ skip(1);
+ if (ismot(delim = getch())) {
+ ch = delim;
+ delim = '\'';
+ } else
+ delim = cbits(delim);
+ noschr = 0;
+ argdelim = delim;
+ bufsz = LNSIZE;
+ buf = malloc(bufsz * sizeof *buf);
+ tp = buf;
+ numtab[HP].val = 0;
+ w[0] = w[1] = w[2] = 0;
+ j = 0;
+ nexti = getch();
+ while (cbits(i = nexti) != '\n') {
+ if (cbits(i) == cbits(delim)) {
+ if (j < 3)
+ w[j] = numtab[HP].val;
+ numtab[HP].val = 0;
+ j++;
+ *tp++ = 0;
+ nexti = getch();
+ } else {
+ if (cbits(i) == pagech) {
+ setn1(numtab[PN].val, findr('%')->fmt,
+ sfmask(i));
+ nexti = getch();
+ continue;
+ }
+ numtab[HP].val += width(i);
+ oev = ev;
+ nexti = getch();
+ if (ev == oev)
+ numtab[HP].val += kernadjust(i, nexti);
+ if (tp >= &buf[bufsz-10]) {
+ tchar *k;
+ bufsz += 100;
+ k = realloc(buf, bufsz * sizeof *buf);
+ tp = (tchar *)
+ ((char *)tp + ((char *)k - (char *)buf));
+ buf = k;
+ }
+ *tp++ = i;
+ }
+ }
+ argdelim = 0;
+ if (j<3)
+ w[j] = numtab[HP].val;
+ *tp++ = 0;
+ *tp++ = 0;
+ *tp++ = 0;
+ tp = buf;
+#ifdef NROFF
+ horiz(po);
+#endif
+ while ((i = *tp++))
+ pchar(i);
+ if (w[1] || w[2])
+ {
+#ifdef NROFF
+ if (gemu)
+ horiz(j = quant((lt + HOR - w[1]) / 2 - w[0], HOR));
+ else
+#endif
+ horiz(j = quant((lt - w[1]) / 2 - w[0], HOR));
+ }
+ while ((i = *tp++))
+ pchar(i);
+ if (w[2]) {
+ horiz(lt - w[0] - w[1] - w[2] - j);
+ while ((i = *tp++))
+ pchar(i);
+ }
+ newline(0);
+ if (dip != d) {
+ if (dip->dnl > dip->hnl)
+ dip->hnl = dip->dnl;
+ } else {
+ if (numtab[NL].val > dip->hnl)
+ dip->hnl = numtab[NL].val;
+ }
+ free(buf);
+}
+
+void
+casepc(void)
+{
+ pagech = chget(IMP);
+}
+
+void
+casechop(void)
+{
+ int i;
+ struct contab *contp;
+ filep savip;
+
+ if (dip != d)
+ wbfl();
+ lgf++;
+ skip(1);
+ if ((i = getrq(0)) == 0)
+ return;
+ if ((contp = findmn(i)) == NULL || !contp->mx) {
+ nosuch(i);
+ return;
+ }
+ savip = ip;
+ ip = (filep)contp->mx;
+ app = 1;
+ while (rbf() != 0);
+ app = 0;
+ if (ip > (filep)contp->mx) {
+ offset = ip - 1;
+ wbt(0);
+ }
+ ip = savip;
+ offset = dip->op;
+ prwatch(contp, i, 1);
+}
+
+void
+casesubstring(void)
+{
+ struct contab *contp;
+ int i, j, k, sz = 0, st;
+ int n1, n2 = -1, nlink;
+ tchar *tp = NULL, c;
+ filep savip;
+
+ if (dip != d)
+ wbfl();
+ lgf++;
+ skip(1);
+ if ((i = getrq(0)) == 0)
+ return;
+ if ((contp = findmn(i)) == NULL || !contp->mx) {
+ nosuch(i);
+ return;
+ }
+ if (skip(1))
+ return;
+ noscale++;
+ n1 = hatoi();
+ if (skip(0) == 0)
+ n2 = hatoi();
+ noscale--;
+ savip = ip;
+ ip = (filep)contp->mx;
+ k = 0;
+ app = 1;
+ while ((c = rbf()) != 0) {
+ if (k >= sz) {
+ sz += 512;
+ tp = realloc(tp, sz * sizeof *tp);
+ }
+ tp[k++] = c;
+ }
+ app = 0;
+ ip = savip;
+ if ((offset = finds(i, 1, 0)) != 0) {
+ st = 0;
+ if (n1 < 0)
+ n1 = k + n1;
+ if (n2 < 0)
+ n2 = k + n2;
+ if (n1 >= 0 || n2 >= 0) {
+ if (n2 < n1) {
+ j = n1;
+ n1 = n2;
+ n2 = j;
+ }
+ for (j = 0; j <= k; j++) {
+ if (st == 0) {
+ if (j >= n1)
+ st = 1;
+ }
+ if (st == 1) {
+ if (tp)
+ wbf(tp[j]);
+ if (j >= n2)
+ break;
+ }
+ }
+ }
+ wbt(0);
+ if (oldmn != NULL && (nlink = oldmn->nlink) > 0)
+ k = oldmn->rq;
+ else {
+ k = i;
+ nlink = 0;
+ }
+ clrmn(oldmn);
+ if (newmn) {
+ if (newmn->rq)
+ munhash(newmn);
+ newmn->rq = k;
+ newmn->nlink = nlink;
+ maddhash(newmn);
+ prwatch(newmn, i, 1);
+ }
+ }
+ free(tp);
+ offset = dip->op;
+ ip = savip;
+}
+
+void
+caselength(void)
+{
+ tchar c;
+ int i, j;
+ struct numtab *numtp;
+
+ lgf++;
+ skip(1);
+ if ((i = getrq(1)) == 0)
+ return;
+ j = 0;
+ lgf--;
+ copyf++;
+ if (skip(1) == 0) {
+ if (cbits(c = getch()) != '"' || ismot(c))
+ ch = c;
+ while(cbits(getch()) != '\n')
+ j++;
+ }
+ copyf--;
+ numtp = findr(i);
+ numtp->val = j;
+ prwatchn(numtp);
+}
+
+void
+caseindex(void)
+{
+ int i, j, n, N;
+ struct contab *contp;
+ int *sp = NULL, as = 0, ns = 0, *np;
+ tchar c;
+ filep savip;
+ struct numtab *numtp;
+
+ lgf++;
+ skip(1);
+ if ((N = getrq(1)) == 0)
+ return;
+ skip(1);
+ if ((i = getrq(1)) == 0)
+ return;
+ if ((contp = findmn(i)) == NULL || !contp->mx) {
+ nosuch(i);
+ return;
+ }
+ copyf++;
+ if (!skip(0)) {
+ if (cbits(c = getch()) != '"' || ismot(c))
+ ch = c;
+ while ((c = getch()) != 0 && !ismot(c) &&
+ (i = cbits(c)) != '\n') {
+ if (ns >= as)
+ sp = realloc(sp, (as += 10) * sizeof *sp);
+ sp[ns++] = i;
+ }
+ np = malloc((ns + 1) * sizeof *np);
+ i = 0;
+ j = -1;
+ for (;;) {
+ np[i++] = j++;
+ if (i >= ns)
+ break;
+ while (j >= 0 && sp[i] != sp[j])
+ j = np[j];
+ }
+ savip = ip;
+ ip = (filep)contp->mx;
+ app = 1;
+ j = 0;
+ n = 0;
+ while ((c = rbf()) != 0 && j < ns) {
+ while (j >= 0 && cbits(c) != sp[j])
+ j = np[j];
+ j++;
+ n++;
+ }
+ n = j == ns ? n - ns : -1;
+ app = 0;
+ ip = savip;
+ free(sp);
+ free(np);
+ } else
+ n = -1;
+ copyf--;
+ numtp = findr(N);
+ numtp->val = n;
+ prwatchn(numtp);
+}
+
+static void
+caseasciify(void)
+{
+ caseunformat(1);
+}
+
+static void
+caseunformat(int flag)
+{
+ struct contab *contp;
+ int i, j, k, nlink;
+ int ns = 0, as = 0;
+ tchar *tp = NULL, c;
+ filep savip;
+ int noout = 0;
+
+ if (dip != d)
+ wbfl();
+ lgf++;
+ skip(1);
+ if ((i = getrq(0)) == 0)
+ return;
+ if ((contp = findmn(i)) == NULL || !contp->mx) {
+ nosuch(i);
+ return;
+ }
+ savip = ip;
+ ip = (filep)contp->mx;
+ ns = 0;
+ app = 1;
+ while ((c = rbf()) != 0) {
+ if (ns >= as) {
+ as += 512;
+ tp = realloc(tp, as * sizeof *tp);
+ }
+ tp[ns++] = c;
+ }
+ app = 0;
+ ip = savip;
+ if ((offset = finds(i, 1, 0)) != 0) {
+ for (j = 0; j < ns; j++) {
+ if (!ismot(c) && cbits(c) == '\n')
+ noout = 0;
+ else if (j+1 < ns && isxfunc(tp[j+1], HYPHED))
+ noout = 1;
+ c = tp[j];
+ while (flag & 1 && isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ if (isadjspc(c)) {
+ if (cbits(c) == WORDSP)
+ setcbits(c, ' ');
+ c &= ~ADJBIT;
+ } else if (c == WORDSP) {
+ j++;
+ continue;
+ } else if (c == FLSS) {
+ j++;
+ continue;
+ } else if (cbits(c) == XFUNC) {
+ switch (fbits(c)) {
+ case FLDMARK:
+ if ((c = sbits(c)) == 0)
+ continue;
+ break;
+ case LETSP:
+ case NLETSP:
+ case LETSH:
+ case NLETSH:
+ case INDENT:
+ continue;
+ }
+ } else if (isadjmot(c))
+ continue;
+ else if (cbits(c) == PRESC) {
+ if (!noout) {
+ wbf(eschar);
+ wbf('e');
+ }
+ continue;
+ }
+ if (flag & 1 && !ismot(c) && cbits(c) != SLANT) {
+#ifndef NROFF
+ int m = cbits(c);
+ int f = fbits(c);
+ int k;
+ if (islig(c) && lgrevtab && lgrevtab[f] &&
+ lgrevtab[f][m]) {
+ for (k = 0; lgrevtab[f][m][k]; k++)
+ if (!noout)
+ wbf(lgrevtab[f][m][k]);
+ continue;
+ } else
+#endif
+ c = cbits(c);
+ }
+ if (flag & 1 && !ismot(c) && (k = trintab[c]) != 0)
+ c = k;
+ if (!noout)
+ wbf(c);
+ }
+ wbt(0);
+ if (oldmn != NULL && (nlink = oldmn->nlink) > 0)
+ k = oldmn->rq;
+ else {
+ k = i;
+ nlink = 0;
+ }
+ clrmn(oldmn);
+ if (newmn) {
+ if (newmn->rq)
+ munhash(newmn);
+ newmn->rq = k;
+ newmn->nlink = nlink;
+ maddhash(newmn);
+ prwatch(newmn, i, 1);
+ }
+ }
+ free(tp);
+ offset = dip->op;
+}
+
+
+/*
+ * Tables for names with more than two characters. Any number in
+ * contab.rq or numtab.rq that is greater or equal to MAXRQ2 refers
+ * to a long name.
+ */
+#define MAXRQ2 0200000
+
+static struct map {
+ struct map *link;
+ int n;
+} *map[128];
+static char **had;
+static int hadn;
+static int alcd;
+
+#define maphash(cp) (_pjw(cp) & 0177)
+
+static unsigned
+_pjw(const char *cp)
+{
+ unsigned h = 0, g;
+
+ cp--;
+ while (*++cp) {
+ h = (h << 4 & 0xffffffff) + (*cp&0377);
+ if ((g = h & 0xf0000000) != 0) {
+ h = h ^ g >> 24;
+ h = h ^ g;
+ }
+ }
+ return h;
+}
+
+static int
+mapget(const char *cp)
+{
+ int h = maphash(cp);
+ struct map *mp;
+
+ for (mp = map[h]; mp; mp = mp->link)
+ if (strcmp(had[mp->n], cp) == 0)
+ return mp->n;
+ return hadn;
+}
+
+static void
+mapadd(const char *cp, int n)
+{
+ int h = maphash(cp);
+ struct map *mp;
+
+ mp = calloc(1, sizeof *mp);
+ mp->n = n;
+ mp->link = map[h];
+ map[h] = mp;
+}
+
+void
+casepm(void)
+{
+ struct contab *contp;
+ register int i, k;
+ int xx, cnt, tcnt, kk, tot;
+ filep j;
+
+ kk = cnt = tcnt = 0;
+ tot = !skip(0);
+ for (i = 0; i < NM; i++) {
+ if ((xx = contab[i].rq) == 0 || contab[i].mx == 0) {
+ if (contab[i].als && (contp = findmx(xx)) != NULL) {
+ k = contp - contab;
+ if (contab[k].rq == 0 || contab[k].mx == 0)
+ continue;
+ } else
+ continue;
+ }
+ tcnt++;
+ if (contab[i].als == 0 && (j = (filep) contab[i].mx) != 0) {
+ k = 1;
+ while ((j = blist[blisti(j)]) != (unsigned) ~0) {
+ k++;
+ }
+ cnt++;
+ } else
+ k = 0;
+ kk += k;
+ if (!tot && contab[i].nlink == 0)
+ fprintf(stderr, "%s %d\n", macname(xx), k);
+ }
+ fprintf(stderr, "pm: total %d, macros %d, space %d\n", tcnt, cnt, kk);
+}
+
+void
+stackdump (void) /* dumps stack of macros in process */
+{
+ struct s *p;
+
+ if (frame != stk) {
+ for (p = frame; p != stk; p = p->pframe)
+ if (p->mname != LOOP)
+ fprintf(stderr, "%s ", macname(p->mname));
+ fprintf(stderr, "\n");
+ }
+}
+
+static char laststr[NC+1];
+
+char *
+macname(int rq)
+{
+ static char buf[4][3];
+ static int i;
+ if (rq < 0) {
+ return laststr;
+ } else if (rq < MAXRQ2) {
+ i &= 3;
+ buf[i][0] = rq&0177;
+ buf[i][1] = (rq>>BYTE)&0177;
+ buf[i][2] = 0;
+ return buf[i++];
+ } else if (rq - MAXRQ2 < hadn)
+ return had[rq - MAXRQ2];
+ else
+ return "???";
+}
+
+const char nmctab[] = {
+ 000,000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ 001,002,003,000,004,005,000,006,
+ 000,000,000,000,000,000,000,000,
+ 000
+};
+
+static tchar
+mgetach(void)
+{
+ tchar i;
+ int j;
+
+ lgf++;
+ i = getch();
+ while (isxfunc(i, CHAR))
+ i = charout[sbits(i)].ch;
+ j = cbits(i);
+ if (ismot(i) || j == ' ' || j == '\n' || j >= 0200 ||
+ (j < sizeof nmctab && nmctab[j])) {
+ if (!ismot(i) && j >= 0200)
+ illseq(j, NULL, -3);
+ ch = i;
+ j = 0;
+ }
+ lgf--;
+ return j & 0177;
+}
+
+/*
+ * To handle requests with more than two characters, an additional
+ * table is maintained. On places where more than two characters are
+ * allowed, the characters collected are passed in "sofar", and "flags"
+ * specifies whether the request is a new one. The routine returns an
+ * integer which is above the regular PAIR() values.
+ */
+int
+maybemore(int sofar, int flags)
+{
+ char c, buf[NC+1], pb[] = { '\n', 0 };
+ int i = 2, n, _raw = raw, _init = init, _app = app;
+ size_t l;
+
+ if (xflag < 2)
+ return sofar;
+ if (xflag == 2)
+ raw = 1;
+ else
+ app = 0;
+ buf[0] = sofar&BYTEMASK;
+ buf[1] = (sofar>>BYTE)&BYTEMASK;
+ do {
+ c = xflag < 3 ? getch0() : mgetach();
+ if (i+1 >= sizeof buf) {
+ buf[i] = 0;
+ goto retn;
+ }
+ buf[i++] = c;
+ } while (c && c != ' ' && c != '\t' && c != '\n');
+ buf[i-1] = 0;
+ buf[i] = 0;
+ if (i == 3)
+ goto retn;
+ if ((n = mapget(buf)) >= hadn) {
+ if ((flags & 1) == 0) {
+ n_strcpy(laststr, buf, sizeof(laststr));
+ retn: buf[i-1] = c;
+ if (xflag < 3)
+ cpushback(&buf[2]);
+ raw = _raw;
+ init = _init;
+ app = _app;
+ if (flags & 2) {
+ if (i > 3 && xflag >= 3)
+ sofar = -2;
+ } else if (i > 3 && xflag >= 3) {
+ buf[i-1] = 0;
+ if (warn & WARN_MAC)
+ errprint("%s: no such request", buf);
+ sofar = 0;
+ } else if (warn & WARN_SPACE && i > 3 &&
+ _findmn(sofar, 0, 0) != NULL) {
+ buf[i-1] = 0;
+ errprint("%s: missing space", macname(sofar));
+ }
+ return sofar;
+ }
+ if (n >= alcd)
+ had = realloc(had, (alcd += 20) * sizeof *had);
+ l = strlen(buf) + 1;
+ had[n] = malloc(l);
+ n_strcpy(had[n], buf, l);
+ hadn = n+1;
+ mapadd(buf, n);
+ }
+ pb[0] = c;
+ if (xflag < 3)
+ cpushback(pb);
+ raw = _raw;
+ init = _init;
+ app = _app;
+ return MAXRQ2 + n;
+}
+
+static int
+getls(int termc, int *strp, int create)
+{
+ char c, buf[NC+1];
+ int i = 0, j = -1, n = -1;
+ size_t l;
+
+ do {
+ c = xflag < 3 ? getach() : mgetach();
+ if (i >= sizeof buf)
+ return -1;
+ buf[i++] = c;
+ } while (c && c != termc);
+ if (strp)
+ *strp = 0;
+ if (c != termc) {
+ if (strp && !nlflg)
+ *strp = 1;
+ else
+ nodelim(termc);
+ }
+ buf[--i] = 0;
+ if (i == 0 || (c != termc && (!strp || nlflg)))
+ j = 0;
+ else if (i <= 2) {
+ j = PAIR(buf[0], buf[1]);
+ } else {
+ if ((n = mapget(buf)) >= hadn) {
+ if (create) {
+ if (hadn++ >= alcd)
+ had = realloc(had, (alcd += 20) *
+ sizeof *had);
+ l = strlen(buf) + 1;
+ had[n] = malloc(l);
+ n_strcpy(had[n], buf, l);
+ hadn = n + 1;
+ mapadd(buf, n);
+ } else {
+ n = -1;
+ n_strcpy(laststr, buf, sizeof(laststr));
+ }
+ }
+ }
+ return n >= 0 ? MAXRQ2 + n : j;
+}
+
+int
+makerq(const char *name)
+{
+ static int t;
+ char _name[20];
+ int n;
+ size_t l;
+
+ if (name == NULL) {
+ roff_sprintf(_name, sizeof(_name), "\13%d", ++t);
+ name = _name;
+ }
+ if (name[0] == 0 || name[1] == 0 || name[2] == 0)
+ return PAIR(name[0], name[1]);
+ if ((n = mapget(name)) < hadn)
+ return MAXRQ2 + n;
+ if (hadn++ >= alcd)
+ had = realloc(had, (alcd += 20) * sizeof *had);
+ l = strlen(name) + 1;
+ had[n] = malloc(l);
+ n_strcpy(had[n], name, l);
+ hadn = n + 1;
+ mapadd(name, n);
+ return MAXRQ2 + n;
+}
+
+static void
+addcon(int t, char *rs, void(*f)(int))
+{
+ int n = hadn;
+
+ if (hadn++ >= alcd)
+ had = realloc(had, (alcd += 20) * sizeof *had);
+ had[n] = rs;
+ contab[t].rq = MAXRQ2 + n;
+ contab[t].f = f;
+ mapadd(rs, n);
+}
diff --git a/troff/n4.c b/troff/n4.c
new file mode 100644
index 0000000000000..8c81de5770ef1
--- /dev/null
+++ b/troff/n4.c
@@ -0,0 +1,1931 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n4.c 1.8 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n4.c 1.102 (gritter) 10/23/09
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stddef.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <locale.h>
+#include <limits.h>
+#include <float.h>
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+#include "ext.h"
+/*
+ * troff4.c
+ *
+ * number registers, conversion, arithmetic
+ */
+
+
+int regcnt = NNAMES;
+int falsef = 0; /* on if inside false branch of if */
+#define NHASH(i) ((i>>6)^i)&0177
+struct numtab **nhash; /* size must be 128 == the 0177 on line above */
+
+static void nrehash(struct numtab *, int, struct numtab **);
+static struct numtab *_findr(register int i, int, int, int, int *);
+static struct acc _atoi(int);
+static struct acc _atoi0(int);
+static struct acc ckph(int);
+static struct acc atoi1(tchar, int);
+static struct acc _inumb(int *, float *, int, int *);
+static void print_tab_setting(char *, size_t);
+
+static void *
+_grownumtab(struct numtab **numtp, int *NNp, struct numtab ***hashp)
+{
+ int i, inc = 20;
+ ptrdiff_t j;
+ struct numtab *onc;
+
+ onc = *numtp;
+ if ((*numtp = realloc(*numtp, (*NNp+inc) * sizeof *numtab)) == NULL)
+ return NULL;
+ memset(&(*numtp)[*NNp], 0, inc * sizeof *numtab);
+ if (*NNp == 0) {
+ if (numtp == &numtab)
+ for (i = 0; initnumtab[i].r; i++)
+ (*numtp)[i] = initnumtab[i];
+ if (*hashp == NULL)
+ *hashp = calloc(128, sizeof *hashp);
+ nrehash(*numtp, *NNp + inc, *hashp);
+ } else {
+ j = (char *)(*numtp) - (char *)onc;
+ for (i = 0; i < 128; i++)
+ if ((*hashp)[i])
+ (*hashp)[i] = (struct numtab *)
+ ((char *)((*hashp)[i]) + j);
+ for (i = 0; i < *NNp; i++)
+ if ((*numtp)[i].link)
+ (*numtp)[i].link = (struct numtab *)
+ ((char *)((*numtp)[i].link) + j);
+ }
+ *NNp += inc;
+ return *numtp;
+}
+
+void *
+grownumtab(void)
+{
+ return _grownumtab(&numtab, &NN, &nhash);
+}
+
+static void
+print_tab_setting(char *tb, size_t siz) {
+ char *cp;
+ int i;
+ for (i = 0; tabtab[i]; i++);
+ while (--i >= 0) {
+ cp = tb;
+ if (i)
+ *cp++ = ' ';
+ cp = roff_sprintf(cp, siz - (cp - tb), "%d", tabtab[i]&TABMASK);
+ *cp++ = 'u';
+ switch (tabtab[i] & ~TABMASK) {
+ case RTAB:
+ *cp++ = 'R';
+ break;
+ case CTAB:
+ *cp++ = 'C';
+ break;
+ }
+ *cp = 0;
+ cpushback(tb);
+ }
+}
+
+#define TMYES if (tm) return(1)
+#define TMNO if (tm) return(0)
+
+static int
+_setn(int tm) /* tm: test for presence of readonly register */
+{
+ extern const char revision[];
+ struct numtab *numtp;
+ char tb[30], *cp;
+ const char *name;
+ struct s *s;
+ register int i;
+ register tchar ii;
+ int f, j;
+ float fl;
+
+ f = nform = 0;
+ if (tm) {
+ i = tm;
+ goto sl;
+ }
+ noschr++;
+ if ((i = cbits(ii = getach())) == '+')
+ f = 1;
+ else if (i == '-')
+ f = -1;
+ else
+ ch = ii;
+ if (noschr) noschr--;
+ if (falsef)
+ f = 0;
+ if ((i = getsn(1)) == 0)
+ return(0);
+sl:
+ name = macname(i);
+ if (i < 65536 && (i & 0177) == '.')
+ switch (i >> BYTE) {
+ case 's':
+ i = fl = u2pts(pts);
+ if (i != fl)
+ goto flt;
+ break;
+ case 'v':
+ i = lss;
+ break;
+ case 'f':
+ i = font;
+ break;
+ case 'p':
+ i = pl;
+ break;
+ case 't':
+ i = findt1();
+ break;
+ case 'o':
+ i = po;
+ break;
+ case 'l':
+ i = ll;
+ break;
+ case 'i':
+ i = in;
+ break;
+ case '$':
+ for (s = frame; s->loopf && s != stk; s = s->pframe);
+ i = s->nargs;
+ break;
+ case 'A':
+ i = ascii;
+ break;
+ case 'c':
+ i = numtab[CD].val;
+ break;
+ case 'n':
+ i = lastl;
+ break;
+ case 'a':
+ i = ralss;
+ break;
+ case 'h':
+ i = dip->hnl;
+ break;
+ case 'd':
+ if (dip != d)
+ i = dip->dnl;
+ else
+ i = numtab[NL].val;
+ break;
+ case 'u':
+ i = fi;
+ break;
+ case 'j':
+ i = ad + 2 * admod + pa * 70;
+ break;
+ case 'w':
+ i = widthp;
+ break;
+ case 'x':
+ if (gflag)
+ goto s0;
+ i = nel - adspc;
+ break;
+ case 'y':
+ if (gflag)
+ goto s0;
+ i = un;
+ break;
+ case 'T':
+ i = dotT;
+ break; /*-Tterm used in nroff*/
+ case 'V':
+ i = VERT;
+ break;
+ case 'H':
+ i = HOR;
+ break;
+ case 'k':
+ if ((pa || padj) && pglines == 0) {
+ /* fake a value to make -mm work */
+ i = pgne % (ll - in);
+ if (i == 0 && pgne != 0)
+ i = 1;
+ } else
+ i = ne + adspc;
+ if (gflag) {
+ if (ce || rj || !fi ? pendnf : pendw != NULL)
+ i += wne - wsp;
+ else if (nwd || pgchars) {
+ i += sps;
+ if (seflg || spflg)
+ i += ses;
+ }
+ }
+ break;
+ case 'P':
+ i = print;
+ break;
+ case 'L':
+ i = ls;
+ break;
+ case 'R':
+ i = NN - regcnt;
+ break;
+ case 'z':
+ TMYES;
+ cpushback(macname(dip->curd));
+ return(0);
+ case 'b':
+ i = bdtab[font];
+ break;
+ case 'F':
+ TMYES;
+ cpushback(cfname[ifi] ? cfname[ifi] : "");
+ return(0);
+ case 'S':
+ TMYES;
+ print_tab_setting(tb, sizeof(tb));
+ return(0);
+ case 'X':
+ if (xflag) {
+ i = xflag;
+ break;
+ }
+ /*FALLTHRU*/
+ case 'Y':
+ if (xflag) {
+ TMYES;
+ cpushback((char *)revision);
+ return(0);
+ }
+ /*FALLTHRU*/
+
+ default:
+ goto s0;
+ }
+ else if (name[0] == '.') {
+ if (strcmp(&name[1], "warn") == 0)
+ i = warn;
+ else if (strcmp(&name[1], "vpt") == 0)
+ i = vpt;
+ else if (strcmp(&name[1], "ascender") == 0)
+ i = getascender();
+ else if (strcmp(&name[1], "descender") == 0)
+ i = getdescender();
+ else if (strcmp(&name[1], "fp") == 0)
+ i = nextfp();
+ else if (strcmp(&name[1], "ss") == 0)
+ i = spacesz;
+ else if (strcmp(&name[1], "sss") == 0)
+ i = sesspsz;
+ else if (strcmp(&name[1], "minss") == 0)
+ i = minspsz ? minspsz : spacesz;
+ else if (strcmp(&name[1], "lshmin") == 0) {
+ i = fl = 100 - lshmin / (LAFACT/100.0);
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "lshmax") == 0) {
+ i = fl = 100 + lshmax / (LAFACT/100.0);
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "lspmin") == 0) {
+ i = fl = 100 - lspmin / (LAFACT/100.0);
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "lspmax") == 0) {
+ i = fl = 100 + lspmax / (LAFACT/100.0);
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "letss") == 0)
+ i = letspsz;
+ else if (strcmp(&name[1], "hlm") == 0)
+ i = hlm;
+ else if (strcmp(&name[1], "hlc") == 0)
+ i = hlc;
+ else if (strcmp(&name[1], "lc_ctype") == 0) {
+ if ((cp = setlocale(LC_CTYPE, NULL)) == NULL)
+ cp = "C";
+ TMYES;
+ cpushback(cp);
+ return(0);
+ } else if (strcmp(&name[1], "hylang") == 0) {
+ TMYES;
+ if (hylang)
+ cpushback(hylang);
+ return(0);
+ } else if (strcmp(&name[1], "fzoom") == 0) {
+ i = fl = getfzoom();
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "sentchar") == 0) {
+ TMYES;
+ if (sentch[0] == IMP)
+ /*EMPTY*/;
+ else if (sentch[0] == 0)
+ cpushback(".?!:");
+ else {
+ tchar tc[NSENT+1];
+ for (i = 0; sentch[i] && i < NSENT; i++)
+ tc[i] = sentch[i];
+ tc[i] = 0;
+ pushback(tc);
+ }
+ return(0);
+ } else if (strcmp(&name[1], "transchar") == 0) {
+ tchar tc[NSENT+1];
+ TMYES;
+ if (transch[0] == IMP)
+ /*EMPTY*/;
+ else if (transch[0] == 0) {
+ cpushback("\"')]*");
+ tc[0] = DAGGER;
+ tc[1] = 0;
+ pushback(tc);
+ } else {
+ for (i = 0; transch[i] && i < NSENT; i++)
+ tc[i] = transch[i];
+ tc[i] = 0;
+ pushback(tc);
+ }
+ return(0);
+ } else if (strcmp(&name[1], "breakchar") == 0) {
+ tchar tc[NSENT+1];
+ TMYES;
+ if (breakch[0] == IMP)
+ /*EMPTY*/;
+ else if (breakch[0] == 0) {
+ tc[0] = EMDASH;
+ tc[1] = '-';
+ tc[2] = 0;
+ pushback(tc);
+ } else {
+ for (i = 0; breakch[i] && i < NSENT; i++)
+ tc[i] = breakch[i];
+ tc[i] = 0;
+ pushback(tc);
+ }
+ return(0);
+ } else if (strcmp(&name[1], "nhychar") == 0) {
+ tchar tc[NSENT+1];
+ TMYES;
+ if (nhych[0] == IMP)
+ /*EMPTY*/;
+ else if (nhych[0] == 0) {
+ if (!hyext) {
+ tc[0] = EMDASH;
+ tc[1] = '-';
+ tc[2] = 0;
+ pushback(tc);
+ }
+ } else {
+ for (i = 0; nhych[i] && i < NSENT; i++)
+ tc[i] = nhych[i];
+ tc[i] = 0;
+ pushback(tc);
+ }
+ return(0);
+ } else if (strcmp(&name[1], "connectchar") == 0) {
+ tchar tc[NSENT+1];
+ TMYES;
+ if (connectch[0] == IMP)
+ /*EMPTY*/;
+ else if (connectch[0] == 0) {
+ cpushback("\"\\(ru\\(ul\\(rn");
+ } else {
+ for (i = 0; connectch[i] && i < NSENT; i++)
+ tc[i] = connectch[i];
+ tc[i] = 0;
+ pushback(tc);
+ }
+ return(0);
+ } else if (strcmp(&name[1], "shc") == 0) {
+ tchar tc[2];
+ TMYES;
+ tc[0] = shc ? shc : HYPHEN;
+ tc[1] = 0;
+ pushback(tc);
+ return(0);
+ } else if (strcmp(&name[1], "hylen") == 0) {
+ i = hylen;
+ } else if (strcmp(&name[1], "hypp") == 0) {
+ i = hypp;
+ } else if (strcmp(&name[1], "hypp2") == 0) {
+ i = hypp2;
+ } else if (strcmp(&name[1], "hypp3") == 0) {
+ i = hypp3;
+ } else if (strcmp(&name[1], "padj") == 0) {
+ i = padj;
+ } else if (strcmp(&name[1], "ev") == 0) {
+ TMYES;
+ cpushback(evname ? evname : "0");
+ return(0);
+ } else if (strcmp(&name[1], "ps") == 0) {
+ i = pts;
+#ifdef NROFF
+ i *= INCH / 72;
+#endif /* NROFF */
+ } else if (strcmp(&name[1], "tabs") == 0) {
+ TMYES;
+ print_tab_setting(tb, sizeof(tb));
+ return(0);
+ } else if (strcmp(&name[1], "lpfx") == 0) {
+ TMYES;
+ if (lpfx)
+ pushback(lpfx);
+ return(0);
+ } else if (strcmp(&name[1], "ce") == 0)
+ i = ce;
+ else if (strcmp(&name[1], "rj") == 0)
+ i = rj;
+ else if (strcmp(&name[1], "brnl") == 0)
+ i = brnl;
+ else if (strcmp(&name[1], "brpnl") == 0)
+ i = brpnl;
+ else if (strcmp(&name[1], "cht") == 0)
+ i = cht;
+ else if (strcmp(&name[1], "cdp") == 0)
+ i = cdp;
+ else if (strcmp(&name[1], "in") == 0)
+ i = un;
+ else if (strcmp(&name[1], "hy") == 0)
+ i = hyf;
+ else if (strcmp(&name[1], "int") == 0)
+ i = ce || rj || !fi ? pendnf : pendw != NULL;
+ else if (strcmp(&name[1], "lt") == 0)
+ i = lt;
+ else if (strcmp(&name[1], "pn") == 0)
+ i = npnflg ? npn : numtab[PN].val + 1;
+ else if (strcmp(&name[1], "psr") == 0) {
+ i = apts;
+#ifdef NROFF
+ i *= INCH / 72;
+#endif /* NROFF */
+ } else if (strcmp(&name[1], "sr") == 0) {
+ i = fl = u2pts(apts);
+ if (i != fl)
+ goto flt;
+ } else if (strcmp(&name[1], "kc") == 0)
+ i = wne - wsp;
+ else if (strcmp(&name[1], "dilev") == 0)
+ i = dilev;
+ else if (strcmp(&name[1], "defpenalty") == 0)
+ i = dpenal ? dpenal - INFPENALTY0 - 1 : 0;
+ else if (strcmp(&name[1], "ns") == 0)
+ i = dip->nls;
+ else
+ goto s0;
+ } else if (strcmp(name, "lss") == 0)
+ i = glss;
+ else if (strcmp(name, "lsn") == 0)
+ i = lsn;
+ else {
+s0:
+ TMNO;
+ if ((numtp = _findr(i, 1, 2, 0, &j)) == NULL) {
+ if (j < 0) {
+ i = -j;
+ goto sl;
+ }
+ i = 0;
+ } else if (numtp->fmt == -1) {
+ fl = numtp->fval = numtp->fval + numtp->finc*f;
+ if (numtp->finc)
+ prwatchn(numtp);
+ goto flt;
+ } else {
+ i = numtp->val = numtp->val + numtp->inc*f;
+ if (numtp->inc)
+ prwatchn(numtp);
+ nform = numtp->fmt;
+ }
+ }
+ TMYES;
+ setn1(i, nform, (tchar) 0);
+ return(0);
+flt:
+ TMYES;
+ roff_sprintf(tb, sizeof(tb), "%g", fl);
+ cpushback(tb);
+ return(0);
+}
+
+void
+setn(void)
+{
+ _setn(0);
+}
+
+tchar numbuf[17];
+tchar *numbufp;
+
+int
+wrc(tchar i)
+{
+ if (numbufp >= &numbuf[16])
+ return(0);
+ *numbufp++ = i;
+ return(1);
+}
+
+
+
+/* insert into input number i, in format form, with size-font bits bits */
+void
+setn1(int i, int form, tchar bits)
+{
+ numbufp = numbuf;
+ nrbits = bits;
+ nform = form;
+ fnumb(i, wrc);
+ *numbufp = 0;
+ pushback(numbuf);
+}
+
+
+static void
+nrehash(struct numtab *numtp, int n, struct numtab **hashp)
+{
+ register struct numtab *p;
+ register int i;
+
+ for (i=0; i<128; i++)
+ hashp[i] = 0;
+ for (p=numtp; p < &numtp[n]; p++)
+ p->link = 0;
+ for (p=numtp; p < &numtp[n]; p++) {
+ if (p->r == 0)
+ continue;
+ i = NHASH(p->r);
+ p->link = hashp[i];
+ hashp[i] = p;
+ }
+}
+
+void
+nunhash(register struct numtab *rp)
+{
+ register struct numtab *p;
+ register struct numtab **lp;
+ struct numtab **hashp;
+ struct s *sp;
+
+ if (rp->r == 0)
+ return;
+ if (rp >= numtab && rp < &numtab[NN])
+ hashp = nhash;
+ else {
+ sp = macframe();
+ if (rp >= sp->numtab && rp < &sp->numtab[sp->NN])
+ hashp = sp->nhash;
+ else
+ return;
+ }
+ lp = &hashp[NHASH(rp->r)];
+ p = *lp;
+ while (p) {
+ if (p == rp) {
+ *lp = p->link;
+ p->link = 0;
+ return;
+ }
+ lp = &p->link;
+ p = p->link;
+ }
+}
+
+
+/*
+ * Note: Pointers returned by findr(), usedr(), etc. may
+ * become invalid after a following call to getch() or another
+ * call to findr() since these may result in a number register
+ * creation and following grownumtab().
+ */
+struct numtab *
+findr(int i)
+{
+ return _findr(i, 0, 1, 0, NULL);
+}
+
+static struct numtab *
+findr1(struct numtab **numtp, int *NNp, struct numtab ***hashp,
+ register int i, int rd, int aln, int create, int *rop)
+{
+ register struct numtab *p;
+ register int h = NHASH(i);
+
+ if (rop)
+ *rop = 0;
+ if (i == 0 || i == -2)
+ return(NULL);
+ if (*hashp != NULL) {
+ for (p = (*hashp)[h]; p; p = p->link)
+ if (i == p->r) {
+ if (p->aln < 0) {
+ if (aln > 1) {
+ if (rop)
+ *rop = p->aln;
+ return(NULL);
+ } else if (aln)
+ continue;
+ }
+ if (aln && p->aln > 0)
+ return(&(*numtp)[p->aln - 1]);
+ return(p);
+ }
+ }
+ if (create) {
+ if (rd && warn & WARN_REG)
+ errprint("no such register %s", macname(i));
+ do {
+ for (p = *numtp; p < &(*numtp)[*NNp]; p++) {
+ if (p->r == 0) {
+ p->r = i;
+ p->link = (*hashp)[h];
+ (*hashp)[h] = p;
+ regcnt++;
+ if (*numtp != numtab)
+ p->flags |= FLAG_LOCAL;
+ return(p);
+ }
+ }
+ } while (p == &(*numtp)[*NNp] &&
+ _grownumtab(numtp, NNp, hashp) != NULL);
+ errprint("too many number registers (%d).", *NNp);
+ done2(04);
+ }
+ return(NULL);
+}
+
+static struct numtab *
+_findr(register int i, int rd, int aln, int forcecreate, int *rop)
+{
+ struct s *sp;
+ struct numtab *numtp;
+
+ if ((sp = macframe()) != stk) {
+ if ((numtp = findr1(&sp->numtab, &sp->NN, &sp->nhash,
+ i, rd, aln, forcecreate == 1, rop)) != NULL)
+ return numtp;
+ }
+ return findr1(&numtab, &NN, &nhash, i, rd, aln, forcecreate >= 0, rop);
+}
+
+
+static struct numtab *
+_usedr ( /* returns NULL if nr i has never been used */
+ register int i, int aln, int *rop
+)
+{
+ return _findr(i, 0, aln, -1, rop);
+}
+
+
+struct numtab *
+usedr(int i)
+{
+ return _usedr(i, 1, NULL);
+}
+
+
+int
+fnumb(register int i, register int (*f)(tchar))
+{
+ register int j;
+
+ j = 0;
+ if (i < 0) {
+ j = (*f)('-' | nrbits);
+ i = -i;
+ }
+ switch (nform) {
+ default:
+ case '1':
+ case 0:
+ return decml(i, f) + j;
+ break;
+ case 'i':
+ case 'I':
+ return roman(i, f) + j;
+ break;
+ case 'a':
+ case 'A':
+ return abc(i, f) + j;
+ break;
+ }
+}
+
+
+int
+decml(register int i, register int (*f)(tchar))
+{
+ register int j, k;
+
+ k = 0;
+ nform--;
+ if ((j = i / 10) || (nform > 0))
+ k = decml(j, f);
+ return(k + (*f)((i % 10 + '0') | nrbits));
+}
+
+
+int
+roman(int i, int (*f)(tchar))
+{
+
+ if (!i)
+ return((*f)('0' | nrbits));
+ if (nform == 'i')
+ return(roman0(i, f, "ixcmz", "vldw"));
+ else
+ return(roman0(i, f, "IXCMZ", "VLDW"));
+}
+
+
+int
+roman0(int i, int (*f)(tchar), char *onesp, char *fivesp)
+{
+ register int q, rem, k;
+
+ k = 0;
+ if (!i)
+ return(0);
+ k = roman0(i / 10, f, onesp + 1, fivesp + 1);
+ q = (i = i % 10) / 5;
+ rem = i % 5;
+ if (rem == 4) {
+ k += (*f)(*onesp | nrbits);
+ if (q)
+ i = *(onesp + 1);
+ else
+ i = *fivesp;
+ return(k += (*f)(i | nrbits));
+ }
+ if (q)
+ k += (*f)(*fivesp | nrbits);
+ while (--rem >= 0)
+ k += (*f)(*onesp | nrbits);
+ return(k);
+}
+
+
+int
+abc(int i, int (*f)(tchar))
+{
+ if (!i)
+ return((*f)('0' | nrbits));
+ else
+ return(abc0(i - 1, f));
+}
+
+
+int
+abc0(int i, int (*f)(tchar))
+{
+ register int j, k;
+
+ k = 0;
+ if ((j = i / 26))
+ k = abc0(j - 1, f);
+ return(k + (*f)((i % 26 + nform) | nrbits));
+}
+
+static int illscale;
+static int parlevel;
+static int whitexpr;
+static int empty;
+
+static tchar
+agetch(void)
+{
+ tchar c;
+
+ for (;;) {
+ c = getch();
+ if (xflag == 0 || parlevel == 0 || cbits(c) != ' ')
+ break;
+ whitexpr++;
+ }
+ return c;
+}
+
+int
+hatoi(void)
+{
+ struct acc a;
+
+ lgf++;
+ a = _atoi(0);
+ lgf--;
+ return a.n;
+}
+
+float
+atof(void)
+{
+ struct acc a;
+
+ lgf++;
+ a = _atoi(1);
+ lgf--;
+ return a.f;
+}
+
+static struct acc
+_atoi(int flt)
+{
+ struct acc n;
+ int c;
+
+ illscale = 0;
+ whitexpr = parlevel = 0;
+ empty = 1;
+ n = _atoi0(flt);
+ c = cbits(ch);
+ if (c == RIGHT) {
+ if (!empty && (nonumb || parlevel) && warn & WARN_RIGHT_BRACE)
+ errprint("\\} terminates numerical expression");
+ } else if (nonumb && c && c != ' ' && c != '\n' &&
+ warn & WARN_NUMBER && illscale == 0) {
+ if (c == 'T' && Tflg)
+ /*EMPTY*/;
+ else if ((c & ~0177) == 0 && isprint(c))
+ errprint("illegal number, char %c", c);
+ else
+ errprint("illegal number");
+ } else if (warn & WARN_SYNTAX) {
+ if (parlevel > 0)
+ errprint("missing ')'");
+ if (parlevel < 0)
+ errprint("excess ')'");
+ if (xflag && whitexpr && parlevel)
+ nonumb = 1;
+ }
+ if (flt) {
+ if (!nonumb && ((n.f<0 && n.f<-FLT_MAX) || (n.f>0 && n.f>FLT_MAX))) {
+ if (warn & WARN_NUMBER)
+ errprint("floating-point arithmetic overflow");
+ if (xflag)
+ nonumb = 1;
+ }
+ } else {
+ if (!nonumb && ((n.n<0 && n.n <INT_MIN) || (n.n>0 && n.n>INT_MAX))) {
+ if (warn & WARN_NUMBER)
+ errprint("arithmetic overflow");
+ if (xflag)
+ nonumb = 1;
+ }
+ }
+ return n;
+}
+
+long long
+atoi0(void)
+{
+ struct acc a;
+
+ whitexpr = parlevel = 0;
+ lgf++;
+ a = _atoi0(0);
+ lgf--;
+ return a.n;
+}
+
+double
+atof0(void)
+{
+ struct acc a;
+
+ whitexpr = parlevel = 0;
+ lgf++;
+ a = _atoi0(0);
+ lgf--;
+ return a.f;
+}
+
+static struct acc
+_atoi0(int flt)
+{
+ register int c, k, cnt;
+ register tchar ii;
+ struct acc i, acc;
+
+ noschr++;
+ i.f = i.n = 0;
+ acc.f = acc.n = 0;
+ nonumb = 0;
+ cnt = -1;
+a0:
+ cnt++;
+ ii = agetch();
+ c = cbits(ii);
+ switch (c) {
+ default:
+ ch = ii;
+ if (cnt)
+ break;
+ case '+':
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ acc.n += i.n;
+ if (flt) acc.f += i.f;
+ goto a0;
+ case '-':
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ acc.n -= i.n;
+ if (flt) acc.f -= i.f;
+ goto a0;
+ case '*':
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ if (!flt) acc.n *= i.n;
+ if (flt) acc.f *= i.f;
+ goto a0;
+ case '/':
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ if ((!flt && i.n == 0) || (flt && i.f == 0)) {
+ flusho();
+ errprint("divide by zero.");
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ } else {
+ if (!flt) acc.n /= i.n;
+ if (flt) acc.f /= i.f;
+ }
+ goto a0;
+ case '%':
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ if (flt) acc.n = acc.f, i.n = i.f;
+ if (i.n != 0)
+ acc.n %= i.n;
+ else if (warn & WARN_RANGE)
+ errprint("modulo by zero.");
+ if (flt) acc.f = acc.n;
+ goto a0;
+ case '&': /*and*/
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ if ((acc.n > 0) && (i.n > 0))
+ acc.n = 1;
+ else
+ acc.n = 0;
+ if (flt) acc.f = acc.n;
+ goto a0;
+ case ':': /*or*/
+ i = ckph(flt);
+ if (nonumb)
+ break;
+ if ((acc.n > 0) || (i.n > 0))
+ acc.n = 1;
+ else
+ acc.n = 0;
+ if (flt) acc.f = acc.n;
+ goto a0;
+ case '=':
+ if (cbits(ii = getch()) != '=')
+ ch = ii;
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ acc.n = i.n == acc.n;
+ if (flt) acc.f = i.f == acc.f;
+ goto a0;
+ case '>':
+ k = 0;
+ if (cbits(ii = getch()) == '=')
+ k++;
+ else if (xflag && cbits(ii) == '?')
+ goto maximum;
+ else
+ ch = ii;
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ if (!flt) {
+ if (acc.n > (i.n - k))
+ acc.n = 1;
+ else
+ acc.n = 0;
+ } else
+ acc.f = k ? acc.f >= i.f : acc.f > i.f;
+ goto a0;
+ maximum:
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ if (i.n > acc.n)
+ acc.n = i.n;
+ if (flt && i.f > acc.f)
+ acc.f = i.f;
+ goto a0;
+ case '<':
+ k = 0;
+ if (cbits(ii = getch()) == '=')
+ k++;
+ else if (xflag && cbits(ii) == '?')
+ goto minimum;
+ else if (xflag && cbits(ii) == '>')
+ goto notequal;
+ else
+ ch = ii;
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ if (!flt) {
+ if (acc.n < (i.n + k))
+ acc.n = 1;
+ else
+ acc.n = 0;
+ } else
+ acc.f = k ? acc.f <= i.f : acc.f < i.f;
+ goto a0;
+ minimum:
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ if (i.n < acc.n)
+ acc.n = i.n;
+ if (flt && i.f < acc.f)
+ acc.f = i.f;
+ goto a0;
+ notequal:
+ i = ckph(flt);
+ if (nonumb) {
+ acc.n = 0;
+ if (flt) acc.f = 0;
+ break;
+ }
+ acc.n = i.n != acc.n;
+ if (flt) acc.f = i.f != acc.f;
+ goto a0;
+ case ')':
+ parlevel--;
+ break;
+ case '(':
+ parlevel++;
+ acc = _atoi0(flt);
+ goto a0;
+ }
+ if (noschr) noschr--;
+ return(acc);
+}
+
+
+static struct acc
+ckph(int flt)
+{
+ register tchar i;
+ struct acc j;
+
+ if (cbits(i = agetch()) == '(') {
+ parlevel++;
+ j = _atoi0(flt);
+ } else {
+ j = atoi1(i, flt);
+ }
+ return(j);
+}
+
+
+static struct acc
+atoi1(register tchar ii, int flt)
+{
+ register int i, j, digits;
+ int digit = 0;
+ struct acc acc;
+ int neg, abs, field;
+ int _noscale = 0, scale;
+ double e, f;
+
+ neg = abs = field = digits = 0;
+ acc.f = acc.n = 0;
+ for (;;) {
+ i = cbits(ii);
+ switch (i) {
+ default:
+ break;
+ case '+':
+ ii = agetch();
+ continue;
+ case '-':
+ neg = 1;
+ ii = agetch();
+ continue;
+ case '|':
+ abs = 1 + neg;
+ neg = 0;
+ ii = agetch();
+ continue;
+ }
+ break;
+ }
+ if (xflag && i == '(') {
+ parlevel++;
+ acc = _atoi0(flt);
+ e = 1;
+ i = j = 1;
+ field = -1;
+ goto aa;
+ }
+a1:
+ while (i >= '0' && i <= '9') {
+ field++;
+ digits++;
+ digit = 1;
+ if (!flt)
+ acc.n = 10 * acc.n + i - '0';
+ else if (field == digits)
+ acc.f = 10 * acc.f + i - '0';
+ else {
+ f = i - '0';
+ for (j = 0; j < digits; j++)
+ f /= 10;
+ acc.f += f;
+ }
+ ii = getch();
+ i = cbits(ii);
+ }
+ if (i == '.') {
+ field++;
+ digits = 0;
+ ii = getch();
+ i = cbits(ii);
+ goto a1;
+ }
+ e = 1;
+ if (xflag && digits && (i == 'e' || i == 'E')) {
+ if ((i = cbits(ii = getch())) == '+')
+ j = 1;
+ else if (i == '-')
+ j = -1;
+ else if (i >= '0' && i <= '9') {
+ j = 1;
+ ch = ii;
+ } else {
+ ch = ii;
+ field = 0;
+ goto a2;
+ }
+ f = 0;
+ while ((i = cbits(ii = getch())) >= '0' && i <= '9')
+ f = f * 10 + i - '0';
+ while (f-- > 0)
+ e *= 10;
+ if (j < 0)
+ e = 1/e;
+ }
+ if ((!xflag || !parlevel) && !field) {
+ ch = ii;
+ goto a2;
+ }
+ switch (scale = i) {
+ case 's':
+ if (!xflag)
+ goto dfl;
+ /*FALLTHRU*/
+ case 'u':
+ i = j = 1; /* should this be related to HOR?? */
+ break;
+ case 'v': /*VSs - vert spacing*/
+ j = lss;
+ i = 1;
+ break;
+ case 'm': /*Ems*/
+ j = EM;
+ i = 1;
+ break;
+ case 'n': /*Ens*/
+ j = EM;
+#ifndef NROFF
+ i = 2;
+#endif
+#ifdef NROFF
+ i = 1; /*Same as Ems in NROFF*/
+#endif
+ break;
+ case 'z':
+ if (!xflag)
+ goto dfl;
+ /*FALLTHRU*/
+ case 'p': /*Points*/
+ j = INCH;
+ i = 72;
+ break;
+ case 'i': /*Inches*/
+ j = INCH;
+ i = 1;
+ break;
+ case 'c': /*Centimeters*/
+ /* if INCH is too big, this will overflow */
+ j = INCH * 50;
+ i = 127;
+ break;
+ case 'P': /*Picas*/
+ j = INCH;
+ i = 6;
+ break;
+ case 'D': /* Didot points */
+ if (!xflag)
+ goto dfl;
+ j = INCH * 24; /* following H. R. Bosshard, */
+ i = 1621; /* Technische Grundlagen zur */
+ break; /* Satzherstellung, Berne 1980, p. 17 */
+ case 'C': /* Cicero */
+ if (!xflag)
+ goto dfl;
+ j = INCH * 24 * 12;
+ i = 1621;
+ break;
+ case 't': /* printer's points */
+ if (!xflag)
+ goto dfl;
+ j = INCH * 100; /* following Knuth */
+ i = 7227;
+ break;
+ case 'T': /* printer's picas */
+ if (!xflag)
+ goto dfl;
+ j = INCH * 100 * 4;
+ i = 2409;
+ break;
+ case 'M': /*Ems/100*/
+ if (!xflag)
+ goto dfl;
+ j = EM;
+ i = 100;
+ break;
+ case ';':
+ if (!xflag)
+ goto dfl;
+ i = j = 1;
+ _noscale = 1;
+ goto newscale;
+ default:
+ dfl: if (!field) {
+ ch = ii;
+ goto a2;
+ }
+ if (((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z')) &&
+ warn & WARN_SCALE) {
+ errprint("undefined scale indicator %c", i);
+ illscale = 1;
+ } else
+ scale = 0;
+ j = dfact;
+ ch = ii;
+ i = dfactd;
+ }
+ if (!field) {
+ tchar t, tp[2];
+ int f, d, n;
+ t = getch();
+ if (cbits(t) != ';') {
+ tp[0] = t;
+ tp[1] = 0;
+ pushback(tp);
+ ch = ii;
+ goto a2;
+ }
+ newscale:
+ /* (c;e) */
+ f = dfact;
+ d = dfactd;
+ n = noscale;
+ dfact = j;
+ dfactd = i;
+ noscale = _noscale;
+ acc = _atoi0(flt);
+ dfact = f;
+ dfactd = d;
+ noscale = n;
+ return(acc);
+ }
+ if (noscale && scale && warn & WARN_SYNTAX)
+ errprint("ignoring scale indicator %c", scale);
+aa:
+ if (neg) {
+ acc.n = -acc.n;
+ if (flt) acc.f = -acc.f;
+ }
+ if (!noscale) {
+ if (!flt) acc.n = (acc.n * j) / i;
+ if (flt) acc.f = (acc.f * j) / i;
+ }
+ if (!flt && (field != digits) && (digits > 0)) {
+ if (e != 1) acc.n = e * acc.n;
+ while (digits--)
+ acc.n /= 10;
+ } else if (e != 1) {
+ if (!flt) acc.n = (int)(e * acc.n);
+ if (flt) acc.f *= e;
+ }
+ if (abs) {
+ if (dip != d)
+ j = dip->dnl;
+ else
+ j = numtab[NL].val;
+ if (!vflag) {
+ j = numtab[HP].val;
+ }
+ if (abs == 2)
+ j = -j;
+ acc.n -= j;
+ if (flt) acc.f -= j;
+ }
+a2:
+ nonumb = !field || !digit;
+ if (empty)
+ empty = !field;
+ return(acc);
+}
+
+
+void
+setnr(const char *name, int val, int inc)
+{
+ int j;
+ struct numtab *numtp;
+
+ if ((j = makerq(name)) < 0)
+ return;
+ if ((numtp = findr(j)) == NULL)
+ return;
+ numtp->val = val;
+ numtp->inc = inc;
+ if (numtp->fmt == -1)
+ numtp->fmt = 0;
+ prwatchn(numtp);
+}
+
+void
+setnrf(const char *name, float val, float inc)
+{
+ int j;
+ struct numtab *numtp;
+
+ if ((j = makerq(name)) < 0)
+ return;
+ if ((numtp = findr(j)) == NULL)
+ return;
+ numtp->val = numtp->fval = val;
+ numtp->inc = numtp->finc = inc;
+ numtp->fmt = -1;
+ prwatchn(numtp);
+}
+
+
+static void
+clrnr(struct numtab *p)
+{
+ if (p != NULL) {
+ memset(p, 0, sizeof *p);
+ regcnt--;
+ }
+}
+
+void
+caserr(void)
+{
+ register int i;
+ struct numtab *p, *kp;
+ int cnt = 0;
+
+ lgf++;
+ while (!skip(!cnt++) && (i = getrq(2)) ) {
+ p = _usedr(i, 0, NULL);
+ if (p == NULL)
+ continue;
+ nunhash(p);
+ if (p->aln && (kp = _usedr(i, 1, NULL)) != NULL) {
+ if (--kp->nlink <= 0)
+ clrnr(kp);
+ }
+ if (p->flags & FLAG_WATCH)
+ errprint("%s: removing %sregister %s", macname(lastrq),
+ p->flags & FLAG_LOCAL ? "local " : "",
+ macname(i));
+ if (p->nlink > 0)
+ p->nlink--;
+ if (p->nlink == 0)
+ clrnr(p);
+ else
+ p->r = -1;
+ }
+}
+
+
+void
+casernn(void)
+{
+ int i, j, flags;
+ struct numtab *kp, *numtp;
+
+ lgf++;
+ skip(1);
+ if ((i = getrq(0)) == 0)
+ return;
+ skip(1);
+ j = getrq(1);
+ if ((kp = _usedr(i, 0, NULL)) == NULL) {
+ if (warn & WARN_REG)
+ errprint("no such register %s", macname(i));
+ return;
+ }
+ flags = kp->flags;
+ numtp = _findr(j, 0, 0, flags & FLAG_LOCAL, NULL);
+ if (numtp != NULL) {
+ if (numtp->nlink) {
+ numtp->nlink--;
+ numtp->r = -1;
+ }
+ numtp = _findr(j, 0, 0, flags & FLAG_LOCAL, NULL);
+ }
+ kp = _usedr(i, 0, NULL);
+ if (numtp != NULL) {
+ *numtp = *kp;
+ numtp->r = j;
+ }
+ clrnr(kp);
+ if (numtp->flags & FLAG_WATCH)
+ errprint("%s: renaming %sregister %s to %s", macname(lastrq),
+ numtp->flags & FLAG_LOCAL ? "local " : "",
+ macname(i), macname(j));
+}
+
+
+void
+setr(void)
+{
+ int termc, j, rq;
+ struct numtab *numtp;
+
+ lgf++;
+ termc = getach();
+ rq = getrq(3);
+ lgf--;
+ if (skip(1) || (numtp = findr(rq)) == NULL)
+ return;
+ j = inumb(&numtp->val);
+ if (nonumb)
+ return;
+ if (getach() != termc) {
+ nodelim(termc);
+ return;
+ }
+ numtp = findr(rq); /* twice because of getch() before */
+ numtp->val = j;
+ if (numtp->fmt == -1)
+ numtp->fmt = 0;
+ prwatchn(numtp);
+}
+
+static void
+casnr1(int flt, int local)
+{
+ register int j, rq;
+ struct acc a;
+ struct numtab *numtp;
+
+ lgf++;
+ skip(1);
+ rq = getrq(3);
+ skip(!local);
+ if ((numtp = _findr(rq, 0, 1, local, NULL)) == NULL)
+ goto rtn;
+ a = _inumb(&numtp->val, flt ? &numtp->fval : NULL, flt, NULL);
+ if (nonumb)
+ goto rtn;
+ if (rq == PAIR('.', 'g')) gemu = xflag && a.n == 1 ? 1 : 0;
+ numtp->val = a.n;
+ if (flt) {
+ numtp->fval = a.f;
+ numtp->fmt = -1;
+ } else if (numtp->fmt == -1)
+ numtp->fmt = 0;
+ /*
+ * It is common use in pre-processors and macro packages
+ * to append a unit definition to a user-supplied number
+ * in order to achieve a default scale. Catch this case
+ * now to avoid a warning because of an illegal number.
+ */
+ j = cbits(ch);
+ if (((j >= 'a' && j <= 'z') || (j >= 'A' && j <= 'Z')) &&
+ warn & WARN_SCALE)
+ goto rtns;
+ skip(0);
+ a = _atoi(flt);
+ if (nonumb)
+ goto rtns;
+ numtp = _findr(rq, 0, 1, local, NULL);
+ numtp->inc = a.n;
+ if (flt)
+ numtp->finc = a.f;
+rtns:
+ prwatchn(numtp);
+rtn:
+ return;
+}
+
+void
+casenr(void)
+{
+ casnr1(0, 0);
+}
+
+void
+casenrf(void)
+{
+ casnr1(1, 0);
+}
+
+void
+caselnr(void)
+{
+ casnr1(0, macframe() != stk);
+}
+
+void
+caselnrf(void)
+{
+ casnr1(1, macframe() != stk);
+}
+
+
+void
+caseaf(void)
+{
+ register int i, k;
+ register tchar j, jj;
+ struct numtab *numtp;
+
+ lgf++;
+ if (skip(1) || !(i = getrq(3)))
+ return;
+ if (skip(1))
+ return;
+ k = 0;
+ j = getch();
+ if (!ischar(jj = cbits(j)) || !isalpha(jj)) {
+ ch = j;
+ while ((j = cbits(getch())) >= '0' && j <= '9')
+ k++;
+ }
+ if (!k)
+ k = j;
+ numtp = findr(i);
+ if (numtp->fmt == -1) {
+ if (warn & WARN_RANGE)
+ errprint("cannot change format of floating-point register");
+ return;
+ }
+ numtp->fmt = k & BYTEMASK;
+ if (numtp->flags & FLAG_WATCH) {
+ char b[40];
+ int x;
+ if ((k & BYTEMASK) > ' ') {
+ b[0] = k & BYTEMASK;
+ b[1] = 0;
+ } else {
+ for (x = 0; x < k; x++)
+ b[x] = '0';
+ b[x] = 0;
+ }
+ errprint("%s: format of %sregister %s set to %s",
+ macname(lastrq),
+ numtp->flags & FLAG_LOCAL ? "local " : "",
+ macname(i), b);
+ }
+}
+
+void
+setaf (void) /* return format of number register */
+{
+ register int j;
+ struct numtab *numtp;
+
+ numtp = usedr(getsn(0));
+ if (numtp == NULL)
+ return;
+ if (numtp->fmt > 20) /* it was probably a, A, i or I */
+ pbbuf[pbp++] = numtp->fmt;
+ else if (numtp->fmt == -1)
+ pbbuf[pbp++] = '0';
+ else {
+ for (j = (numtp->fmt ? numtp->fmt : 1); j; j--) {
+ if (pbp >= pbsize-3)
+ if (growpbbuf() == NULL) {
+ errprint("no space for .af");
+ done(2);
+ }
+ pbbuf[pbp++] = '0';
+ }
+ }
+}
+
+
+void
+casealn(void)
+{
+ int c, i, j, k;
+ int flags, local = 0;
+ struct numtab *op, *rp = NULL;
+
+ if (skip(1))
+ return;
+ i = getrq(1);
+ if (skip(1))
+ return;
+ j = getrq(1);
+ for (c = 0; ; c++) {
+ if (((op = _usedr(j, 2, &k)) == NULL)) {
+ if (k < -1)
+ /*EMPTY*/;
+ else if (_setn(j))
+ k = -j;
+ else {
+ if (warn & WARN_REG)
+ errprint("no such register %s",
+ macname(j));
+ return;
+ }
+ }
+ if (c)
+ break;
+ local = op != NULL && op->flags & FLAG_LOCAL;
+ if ((rp = _findr(i, 0, 0, local, NULL)) == NULL)
+ return;
+ }
+ if (op != NULL) {
+ rp->aln = op - (local ? macframe()->numtab : numtab) + 1;
+ if (op->nlink == 0)
+ op->nlink = 1;
+ op->nlink++;
+ } else
+ rp->aln = k;
+ flags = rp->flags;
+ if (op != NULL)
+ flags |= op->flags;
+ if (flags & FLAG_WATCH)
+ errprint("%s: creating alias %s to %sregister %s",
+ macname(lastrq), macname(i),
+ op->flags & FLAG_LOCAL ? "local " : "",
+ macname(j));
+}
+
+
+void
+casewatchn(int unwatch)
+{
+ int j;
+ struct numtab *numtp;
+
+ lgf++;
+ if (skip(1))
+ return;
+ do {
+ if (!(j = getrq(1)) || (numtp = findr(j)) == NULL)
+ break;
+ if (unwatch)
+ numtp->flags &= ~FLAG_WATCH;
+ else
+ numtp->flags |= FLAG_WATCH;
+ } while (!skip(0));
+}
+
+
+void
+caseunwatchn(void)
+{
+ casewatchn(1);
+}
+
+
+void
+prwatchn(struct numtab *numtp)
+{
+ char *local;
+
+ if (numtp == NULL)
+ return;
+ local = numtp->flags & FLAG_LOCAL ? "local " : "";
+ if (numtp->flags & FLAG_WATCH) {
+ if (numtp->fmt == -1)
+ errprint("%s: %sfloating-point register %s set to %g, increment %g",
+ macname(lastrq), local,
+ macname(numtp->r),
+ numtp->fval, numtp->finc);
+ else
+ errprint("%s: %sregister %s set to %d, increment %d",
+ macname(lastrq), local,
+ macname(numtp->r),
+ numtp->val, numtp->inc);
+ }
+}
+
+
+int
+vnumb(int *i)
+{
+ vflag++;
+ dfact = lss;
+ res = VERT;
+ return(inumb(i));
+}
+
+
+int
+hnumb(int *i)
+{
+ dfact = EM;
+ res = HOR;
+ return(inumb(i));
+}
+
+
+int
+inumb(int *n)
+{
+ struct acc a;
+
+ a = _inumb(n, NULL, 0, NULL);
+ return a.n;
+}
+
+
+int
+inumb2(int *n, int *relative)
+{
+ struct acc a;
+
+ a = _inumb(n, NULL, 0, relative);
+ return a.n;
+}
+
+static struct acc
+_inumb(int *n, float *fp, int flt, int *relative)
+{
+ struct acc i;
+ register int j, f;
+ register tchar ii;
+ int nv = 0;
+ float fv = 0;
+
+ f = 0;
+ lgf++;
+ if (n) {
+ nv = *n;
+ if (fp)
+ fv = *fp;
+ noschr++;
+ if ((j = cbits(ii = getch())) == '+')
+ f = 1;
+ else if (j == '-')
+ f = -1;
+ else
+ ch = ii;
+ if (noschr) noschr--;
+ }
+ i = _atoi(flt);
+ lgf--;
+ if (n && f && !flt)
+ i.n = nv + f * i.n;
+ if (fp && f && flt)
+ i.f = fv + f * i.f;
+ if (!flt) i.n = quant(i.n, res);
+ vflag = 0;
+ res = dfactd = dfact = 1;
+ if (nonumb) {
+ i.n = 0;
+ if (flt) i.f = 0;
+ }
+ if (relative)
+ *relative = f;
+ return(i);
+}
+
+
+float
+atop(void)
+{
+ float t;
+
+ noscale++;
+ t = atof();
+ noscale--;
+ if (t < -INFPENALTY)
+ t = -INFPENALTY;
+ else if (t > INFPENALTY)
+ t = INFPENALTY;
+ else
+ t *= PENALSCALE;
+ return t;
+}
+
+
+int
+quant(int n, int m)
+{
+ register int i, neg;
+
+ neg = 0;
+ if (n < 0) {
+ neg++;
+ n = -n;
+ }
+ /* better as i = ((n + (m/2))/m)*m */
+ i = n / m;
+ if ((n - m * i) > (m / 2))
+ i += 1;
+ i *= m;
+ if (neg)
+ i = -i;
+ return(i);
+}
+
+
+tchar
+moflo(int n)
+{
+ if (warn & WARN_RANGE)
+ errprint("value too large for motion");
+ return sabsmot(MAXMOT);
+}
diff --git a/troff/n5.c b/troff/n5.c
new file mode 100644
index 0000000000000..c21a4a30b38c4
--- /dev/null
+++ b/troff/n5.c
@@ -0,0 +1,2536 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n5.c 1.10 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n5.c 1.130 (gritter) 10/23/09
+ */
+
+/*
+ * Changes Copyright (c) 2014, 2015 Carsten Kunze <carsten.kunze at arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ctype.h>
+#include <limits.h>
+#if defined (EUC)
+#include <stddef.h>
+#include <wchar.h>
+#endif /* EUC */
+#include <string.h>
+#include <unistd.h>
+#include "tdef.h"
+#include "ext.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+
+/*
+ * troff5.c
+ *
+ * misc processing requests
+ */
+
+void
+casead(void)
+{
+ register int i;
+
+ ad = 1;
+ /*leave admod alone*/
+ if (skip(0))
+ return;
+ pa = 0;
+loop:
+ switch (i = cbits(getch())) {
+ case 'r': /*right adj, left ragged*/
+ admod = 2;
+ break;
+ case 'l': /*left adj, right ragged*/
+ admod = ad = 0; /*same as casena*/
+ break;
+ case 'c': /*centered adj*/
+ admod = 1;
+ break;
+ case 'b':
+ case 'n':
+ admod = 0;
+ break;
+ case '0':
+ case '2':
+ case '4':
+ ad = 0;
+ case '1':
+ case '3':
+ case '5':
+ admod = (i - '0') / 2;
+ break;
+ case 'p':
+ case '7':
+ if (xflag) {
+ pa = 1;
+ admod = 0;
+ goto loop;
+ }
+ }
+}
+
+
+void
+casena(void)
+{
+ ad = 0;
+}
+
+
+void
+casefi(void)
+{
+ tbreak();
+ fi++;
+ pendnf = 0;
+}
+
+
+void
+casenf(void)
+{
+ tbreak();
+ fi = 0;
+}
+
+
+void
+casepadj(void)
+{
+ int n;
+
+ if (skip(0))
+ padj = 1;
+ else {
+ n = hatoi();
+ if (!nonumb)
+ padj = n;
+ }
+}
+
+
+void
+casers(void)
+{
+ dip->nls = 0;
+}
+
+
+void
+casens(void)
+{
+ dip->nls++;
+}
+
+
+void
+casespreadwarn(void)
+{
+ if (skip(0))
+ spreadwarn = !spreadwarn;
+ else {
+ dfact = EM;
+ spreadlimit = inumb(&spreadlimit);
+ spreadwarn = 1;
+ }
+}
+
+
+int
+chget(int c)
+{
+ tchar i = 0;
+
+ charf++;
+ if (skip(0) || ismot(i = getch()) || cbits(i) == ' ' || cbits(i) == '\n') {
+ ch = i;
+ return(c);
+ } else
+ return(cbits(i));
+}
+
+
+void
+casecc(void)
+{
+ cc = chget('.');
+}
+
+
+void
+casec2(void)
+{
+ c2 = chget('\'');
+}
+
+
+void
+casehc(void)
+{
+ ohc = chget(OHC);
+}
+
+
+void
+casetc(void)
+{
+ tabc = chget(0);
+}
+
+
+void
+caselc(void)
+{
+ dotc = chget(0);
+}
+
+
+void
+casehy(void)
+{
+ register int i;
+
+ hyf = 1;
+ if (skip(0))
+ return;
+ noscale++;
+ i = hatoi();
+ noscale = 0;
+ if (nonumb)
+ return;
+ hyf = max(i, 0);
+}
+
+
+void
+casenh(void)
+{
+ hyf = 0;
+}
+
+
+void
+casehlm(void)
+{
+ int i;
+
+ if (!skip(0)) {
+ noscale++;
+ i = hatoi();
+ noscale = 0;
+ if (!nonumb)
+ hlm = i;
+ } else
+ hlm = -1;
+}
+
+void
+casehcode(void)
+{
+ tchar c, d;
+ int k;
+
+ lgf++;
+ if (skip(1))
+ return;
+ do {
+ c = getch();
+ if (skip(1))
+ break;
+ d = getch();
+ if (c && d && !ismot(c) && !ismot(d)) {
+ if ((k = cbits(c)) >= nhcode) {
+ hcode = realloc(hcode, (k+1) * sizeof *hcode);
+ memset(&hcode[nhcode], 0,
+ (k+1-nhcode) * sizeof *hcode);
+ nhcode = k+1;
+ }
+ hcode[k] = cbits(d);
+ }
+ } while (!skip(0));
+}
+
+void
+caseshc(void)
+{
+ shc = skip(0) ? 0 : getch();
+}
+
+void
+casehylen(void)
+{
+ int n;
+
+ if (skip(0))
+ hylen = 5;
+ else {
+ n = hatoi();
+ if (!nonumb)
+ hylen = n;
+ }
+}
+
+void
+casehypp(void)
+{
+ float t;
+
+ if (skip(0))
+ hypp = hypp2 = hypp3 = 0;
+ else {
+ t = atop();
+ if (!nonumb)
+ hypp = t;
+ if (skip(0))
+ hypp2 = hypp3 = 0;
+ else {
+ t = atop();
+ if (!nonumb)
+ hypp2 = t;
+ if (skip(0))
+ hypp3 = 0;
+ else {
+ t = atop();
+ if (!nonumb)
+ hypp3 = t;
+ }
+ }
+ }
+}
+
+static void
+chkin(int indent, int linelength, const char *note)
+{
+ if (indent > linelength - INCH / 10) {
+ if (warn & WARN_RANGE)
+ errprint("excess of %sindent", note);
+ }
+}
+
+void
+casepshape(void)
+{
+ int i, l;
+ int lastin = in, lastll = ll;
+
+ pshapes = 0;
+ if (skip(0)) {
+ pshapes = 0;
+ return;
+ }
+ do {
+ i = max(hnumb(&lastin), 0);
+ if (nonumb)
+ break;
+ if (skip(0))
+ l = ll;
+ else {
+ l = max(hnumb(&lastll), INCH / 10);
+ if (nonumb)
+ break;
+ }
+ if (pshapes >= pgsize)
+ growpgsize();
+ chkin(i, l, "");
+ pgin[pshapes] = i;
+ pgll[pshapes] = l;
+ pshapes++;
+ lastin = i;
+ lastll = l;
+ } while (!skip(0));
+}
+
+void
+caselpfx(void)
+{
+ int n;
+ tchar c;
+
+ if (skip(0)) {
+ free(lpfx);
+ lpfx = NULL;
+ nlpfx = 0;
+ } else {
+ for (n = 0; ; n++) {
+ if (n+1 >= nlpfx) {
+ nlpfx += 10;
+ lpfx = realloc(lpfx, nlpfx * sizeof *lpfx);
+ }
+ c = getch();
+ if (nlflg)
+ break;
+ if (n == 0 && cbits(c) == '"')
+ continue;
+ lpfx[n] = c;
+ }
+ lpfx[n] = 0;
+ }
+}
+
+int
+max(int aa, int bb)
+{
+ if (aa > bb)
+ return(aa);
+ else
+ return(bb);
+}
+
+int
+min(int aa, int bb)
+{
+ if (aa < bb)
+ return(aa);
+ else
+ return(bb);
+}
+
+
+static void
+cerj(int dorj)
+{
+ register int i;
+
+ noscale++;
+ skip(0);
+ i = max(hatoi(), 0);
+ if (nonumb)
+ i = 1;
+ tbreak();
+ if (dorj) {
+ rj = i;
+ ce = 0;
+ } else {
+ ce = i;
+ rj = 0;
+ }
+ noscale = 0;
+}
+
+
+void
+casece(void)
+{
+ cerj(0);
+}
+
+
+void
+caserj(void)
+{
+ if (xflag)
+ cerj(1);
+}
+
+
+static void
+_brnl(int p)
+{
+ int n;
+
+ noscale++;
+ if (skip(0))
+ n = INT_MAX;
+ else {
+ n = hatoi();
+ if (nonumb || n < 0)
+ n = p ? brpnl : brpnl;
+ }
+ noscale--;
+ tbreak();
+ if (p) {
+ brpnl = n;
+ brnl = 0;
+ } else {
+ brnl = n;
+ brpnl = 0;
+ }
+}
+
+
+void
+casebrnl(void)
+{
+ _brnl(0);
+}
+
+
+void
+casebrpnl(void)
+{
+ _brnl(1);
+}
+
+
+void
+casein(void)
+{
+ register int i;
+
+ if ((pa || padj) && pglines == 0 && pgchars)
+ tbreak();
+ if (skip(0))
+ i = in1;
+ else
+ i = max(hnumb(&in), 0);
+ tbreak();
+ in1 = in;
+ in = i;
+ chkin(in, ll, "");
+ if (!nc && !pgwords) {
+ un = in;
+ setnel();
+ } else if (pgwords) {
+ pgflags[pgwords] |= PG_NEWIN;
+ pgwdin[pgwords] = in;
+ }
+}
+
+
+void
+casell(void)
+{
+ register int i;
+
+ if (skip(0))
+ i = ll1;
+ else
+ i = max(hnumb(&ll), INCH / 10);
+ ll1 = ll;
+ ll = i;
+ chkin(in, ll, "");
+ setnel();
+ if (pgwords) {
+ pgflags[pgwords] |= PG_NEWLL;
+ pgwdll[pgwords] = ll;
+ }
+}
+
+
+void
+caselt(void)
+{
+ register int i;
+
+ if (skip(0))
+ i = lt1;
+ else
+ i = max(hnumb(&lt), 0);
+ lt1 = lt;
+ lt = i;
+}
+
+
+void
+caseti(void)
+{
+ register int i;
+
+ if (skip(1))
+ return;
+ if ((pa || padj) && pglines == 0 && pgchars)
+ tbreak();
+ i = max(hnumb(&in), 0);
+ tbreak();
+ un1 = i;
+ chkin(i, ll, "temporary ");
+ setnel();
+}
+
+
+void
+casels(void)
+{
+ register int i;
+
+ noscale++;
+ if (skip(0))
+ i = ls1;
+ else
+ i = max(inumb(&ls), 1);
+ ls1 = ls;
+ ls = i;
+ noscale = 0;
+}
+
+
+void
+casepo(void)
+{
+ register int i;
+
+ if (skip(0))
+ i = po1;
+ else
+ i = max(hnumb(&po), 0);
+ po1 = po;
+ po = i;
+#ifndef NROFF
+ if (!ascii)
+ esc += po - po1;
+#endif
+}
+
+
+void
+casepl(void)
+{
+ register int i;
+
+ skip(0);
+ if ((i = vnumb(&pl)) == 0)
+ pl = defaultpl ? defaultpl : 11 * INCH; /*11in*/
+ else
+ pl = i;
+ if (numtab[NL].val > pl) {
+ numtab[NL].val = pl;
+ prwatchn(&numtab[NL]);
+ }
+}
+
+
+static void
+chkt(struct d *dp, int n)
+{
+ if (n <= 0 && dp != d)
+ if (warn & WARN_RANGE)
+ errprint("trap at %d not effective in diversion", n);
+}
+
+
+static void
+_casewh(struct d *dp)
+{
+ register int i, j, k;
+
+ lgf++;
+ skip(1);
+ i = vnumb((int *)0);
+ if (nonumb)
+ return;
+ skip(0);
+ j = getrq(1);
+ if ((k = findn(dp, i)) != NTRAP) {
+ dp->mlist[k] = j;
+ return;
+ }
+ for (k = 0; k < NTRAP; k++)
+ if (dp->mlist[k] == 0)
+ break;
+ if (k == NTRAP) {
+ flusho();
+ errprint("cannot plant trap.");
+ return;
+ }
+ dp->mlist[k] = j;
+ dp->nlist[k] = i;
+ chkt(dp, i);
+}
+
+
+void
+casewh(void)
+{
+ _casewh(d);
+}
+
+
+void
+casedwh(void)
+{
+ _casewh(dip);
+}
+
+
+static void
+_casech(struct d *dp)
+{
+ register int i, j, k;
+
+ lgf++;
+ skip(1);
+ if (!(j = getrq(0)))
+ return;
+ else {
+ for (k = 0; k < NTRAP; k++)
+ if (dp->mlist[k] == j)
+ break;
+ }
+ if (k == NTRAP)
+ return;
+ skip(0);
+ i = vnumb((int *)0);
+ if (nonumb)
+ dp->mlist[k] = 0;
+ dp->nlist[k] = i;
+ chkt(dp, i);
+}
+
+
+void
+casech(void)
+{
+ _casech(d);
+}
+
+
+void
+casedch(void)
+{
+ _casech(dip);
+}
+
+
+void
+casevpt(void)
+{
+ if (skip(1))
+ return;
+ vpt = hatoi() != 0;
+}
+
+
+tchar
+setolt(void)
+{
+ storerq(getsn(1));
+ return mkxfunc(OLT, 0);
+}
+
+
+int
+findn(struct d *dp, int i)
+{
+ register int k;
+
+ for (k = 0; k < NTRAP; k++)
+ if ((dp->nlist[k] == i) && (dp->mlist[k] != 0))
+ break;
+ return(k);
+}
+
+
+void
+casepn(void)
+{
+ register int i;
+
+ skip(1);
+ noscale++;
+ i = max(inumb(&numtab[PN].val), 0);
+ prwatchn(&numtab[PN]);
+ noscale = 0;
+ if (!nonumb) {
+ npn = i;
+ npnflg++;
+ }
+}
+
+
+void
+casebp(void)
+{
+ register int i;
+ register struct s *savframe;
+
+ if (dip != d)
+ return;
+ savframe = frame;
+ if (skip(0))
+ i = -1;
+ else {
+ if ((i = inumb(&numtab[PN].val)) < 0)
+ i = 0;
+ if (nonumb)
+ i = -1;
+ }
+ tbreak();
+ if (i >= 0) {
+ npn = i;
+ npnflg++;
+ } else if (dip->nls && donef < 1)
+ return;
+ eject(savframe);
+}
+
+
+static void
+tmtmcwr(int ab, int tmc, int wr, int ep, int tmm)
+{
+ const char tmtab[] = {
+ 'a',000,000,000,000,000,000,000,
+ 000,000,000,000,000,000,000,000,
+ '{','}','&',000,'%','c','e',' ',
+ '!',000,000,000,000,000,000,'~',
+ 000
+ };
+ struct contab *cp;
+ register int i, j;
+ tchar c;
+ char tmbuf[NTM];
+ filep savip = ip;
+ int discard = 0;
+
+ lgf++;
+ if (tmm) {
+ if (skip(1) || (i = getrq(0)) == 0)
+ return;
+ if ((cp = findmn(i)) == NULL || !cp->mx) {
+ nosuch(i);
+ return;
+ }
+ savip = ip;
+ ip = (filep)cp->mx;
+ app++;
+ copyf++;
+ } else {
+ copyf++;
+ if (skip(0) && ab)
+ errprint("User Abort");
+ }
+loop: for (i = 0; i < NTM - 5 - mb_cur_max; ) {
+ if (tmm) {
+ if ((c = rbf()) == 0) {
+ ip = savip;
+ tmm = 0;
+ app--;
+ break;
+ }
+ } else
+ c = getch();
+ if (discard) {
+ discard--;
+ continue;
+ }
+ if (c == '\n') {
+ tmbuf[i++] = '\n';
+ break;
+ }
+ c: j = cbits(c);
+ if (iscopy(c)) {
+ int n;
+ if ((n = wctomb(&tmbuf[i], j)) > 0) {
+ i += n;
+ continue;
+ }
+ }
+ if (xflag == 0) {
+ tmbuf[i++] = c;
+ continue;
+ }
+ if (ismot(c))
+ continue;
+ tmbuf[i++] = '\\';
+ if (c == (OHC|BLBIT))
+ j = ':';
+ else if (istrans(c))
+ j = ')';
+ else if (j >= 0 && j < sizeof tmtab && tmtab[j])
+ j = tmtab[j];
+ else if (j == ACUTE)
+ j = '\'';
+ else if (j == GRAVE)
+ j = '`';
+ else if (j == UNDERLINE)
+ j = '_';
+ else if (j == MINUS)
+ j = '-';
+ else {
+ i--;
+ if (c == WORDSP)
+ j = ' ';
+ else if (j == WORDSP)
+ continue;
+ else if (j == FLSS) {
+ discard++;
+ continue;
+ }
+ }
+ if (j == XFUNC)
+ switch (fbits(c)) {
+ case CHAR:
+ c = charout[sbits(c)].ch;
+ goto c;
+ default:
+ continue;
+ }
+ tmbuf[i++] = j;
+ }
+ if (i == NTM - 2)
+ tmbuf[i++] = '\n';
+ if (tmc)
+ i--;
+ tmbuf[i] = 0;
+ if (ab) /* truncate output */
+ obufp = obuf; /* should be a function in n2.c */
+ if (ep) {
+ flusho();
+ errprint("%s", tmbuf);
+ } else if (wr < 0) {
+ flusho();
+ fprintf(stderr, "%s", tmbuf);
+ } else if (i)
+ write(wr, tmbuf, i);
+ if (tmm)
+ goto loop;
+ copyf--;
+ lgf--;
+}
+
+void
+casetm(int ab)
+{
+ tmtmcwr(ab, 0, -1, 0, 0);
+}
+
+void
+casetmc(void)
+{
+ tmtmcwr(0, 1, -1, 0, 0);
+}
+
+void
+caseerrprint(void)
+{
+ tmtmcwr(0, 1, -1, 1, 0);
+}
+
+static struct stream {
+ char *name;
+ int fd;
+} *streams;
+static int nstreams;
+
+static void
+open1(int flags)
+{
+ int ns = nstreams;
+
+ lgf++;
+ if (skip(1) || !getname() || skip(1))
+ return;
+ streams = realloc(streams, sizeof *streams * ++nstreams);
+ streams[ns].name = malloc(NS);
+ n_strcpy(streams[ns].name, nextf, NS);
+ getname();
+ if ((streams[ns].fd = open(nextf, flags, 0666)) < 0) {
+ errprint("can't open file %s", nextf);
+ done(02);
+ }
+}
+
+void
+caseopen(void)
+{
+ open1(O_WRONLY|O_CREAT|O_TRUNC);
+}
+
+void
+caseopena(void)
+{
+ open1(O_WRONLY|O_CREAT|O_APPEND);
+}
+
+static int
+getstream(const char *name)
+{
+ int i;
+
+ for (i = 0; i < nstreams; i++)
+ if (strcmp(streams[i].name, name) == 0)
+ return i;
+ errprint("no such stream %s", name);
+ return -1;
+}
+
+static void
+write1(int writec, int writem)
+{
+ int i;
+
+ lgf++;
+ if (skip(1) || !getname())
+ return;
+ if ((i = getstream(nextf)) < 0)
+ return;
+ tmtmcwr(0, writec, streams[i].fd, 0, writem);
+}
+
+void
+casewrite(void)
+{
+ write1(0, 0);
+}
+
+void
+casewritec(void)
+{
+ write1(1, 0);
+}
+
+void
+casewritem(void)
+{
+ write1(0, 1);
+}
+
+void
+caseclose(void)
+{
+ int i;
+
+ lgf++;
+ if (skip(1) || !getname())
+ return;
+ if ((i = getstream(nextf)) < 0)
+ return;
+ free(streams[i].name);
+ memmove(&streams[i], &streams[i+1], (nstreams-i-1) * sizeof *streams);
+ nstreams--;
+}
+
+
+void
+casesp(int a)
+{
+ register int i, j, savlss;
+
+ tbreak();
+ if (dip->nls || trap)
+ return;
+ i = findt1();
+ if (!a) {
+ skip(0);
+ j = vnumb((int *)0);
+ if (nonumb)
+ j = lss;
+ } else
+ j = a;
+ if (j == 0)
+ return;
+ if (i < j)
+ j = i;
+ savlss = lss;
+ if (dip != d)
+ i = dip->dnl;
+ else
+ i = numtab[NL].val;
+ if ((i + j) < 0)
+ j = -i;
+ lss = j;
+ newline(0);
+ lss = savlss;
+}
+
+
+void
+casebrp(void)
+{
+ if (nc || pgchars) {
+ spread = 2;
+ flushi();
+ if (pgchars)
+ tbreak();
+ else {
+ pendt++;
+ text();
+ }
+ } else
+ tbreak();
+}
+
+
+void
+caseblm(void)
+{
+ if (!skip(0))
+ blmac = getrq(1);
+ else
+ blmac = 0;
+}
+
+void
+caselsm(void)
+{
+ if (!skip(0))
+ lsmac = getrq(1);
+ else
+ lsmac = 0;
+}
+
+void
+casert(void)
+{
+ register int a, *p;
+
+ skip(0);
+ if (dip != d)
+ p = &dip->dnl;
+ else
+ p = &numtab[NL].val;
+ a = vnumb(p);
+ if (nonumb)
+ a = dip->mkline;
+ if ((a < 0) || (a >= *p))
+ return;
+ nb++;
+ casesp(a - *p);
+}
+
+
+void
+caseem(void)
+{
+ lgf++;
+ skip(1);
+ em = getrq(1);
+}
+
+
+void
+casefl(void)
+{
+ tbreak();
+ flusho();
+}
+
+
+static struct evnames {
+ int number;
+ char *name;
+} *evnames;
+static struct env *evp;
+static int *evlist;
+static int evi;
+static int evlsz;
+static int Nev = NEV;
+
+static struct env *
+findev(int *number, char *name)
+{
+ int i;
+
+ if (*number < 0)
+ return &evp[-1 - (*number)];
+ else if (name) {
+ for (i = 0; i < Nev-NEV; i++)
+ if (evnames[i].name != NULL &&
+ strcmp(evnames[i].name, name) == 0) {
+ *number = -1 - i;
+ return &evp[i];
+ }
+ *number = -1 - i;
+ return NULL;
+ } else if (*number >= NEV) {
+ for (i = 0; i < Nev-NEV; i++)
+ if (evnames[i].name == NULL &&
+ evnames[i].number == *number)
+ return &evp[i];
+ *number = -1 - i;
+ return NULL;
+ } else {
+ extern tchar *corebuf;
+ return &((struct env *)corebuf)[*number];
+ }
+}
+
+static int
+getev(int *nxevp, char **namep)
+{
+ char *name = NULL;
+ int nxev = 0;
+ int c;
+ int i = 0, sz = 0, valid = 1;
+
+ *namep = NULL;
+ *nxevp = 0;
+ if (skip(0))
+ return 0;
+ c = cbits(ch);
+ if (xflag == 0 || isdigit(c) || c == '(') {
+ noscale++;
+ nxev = hatoi();
+ noscale = 0;
+ if (nonumb) {
+ flushi();
+ return 0;
+ }
+ } else {
+ do {
+ c = rgetach();
+ if (i >= sz)
+ name = realloc(name, (sz += 8) * sizeof *name);
+ name[i++] = c;
+ } while (c);
+ if (*name == 0) {
+ free(name);
+ name = NULL;
+ valid = 0;
+ }
+ }
+ flushi();
+ *namep = name;
+ *nxevp = nxev;
+ return valid;
+}
+
+void
+caseev(void)
+{
+ char *name;
+ int nxev;
+ struct env *np, *op;
+
+ if (getev(&nxev, &name) == 0) {
+ if (evi == 0)
+ return;
+ nxev = evlist[--evi];
+ goto e1;
+ }
+ if (xflag == 0 && ((nxev >= NEV) || (nxev < 0) || (evi >= EVLSZ)))
+ goto cannot;
+ if (evi >= evlsz) {
+ evlsz = evi + 1;
+ if ((evlist = realloc(evlist, evlsz * sizeof *evlist)) == NULL)
+ goto cannot;
+ }
+ if ((name && findev(&nxev, name) == NULL) || nxev >= Nev) {
+ if ((evp = realloc(evp, (Nev-NEV+1) * sizeof *evp)) == NULL ||
+ (evnames = realloc(evnames,
+ (Nev-NEV+1) * sizeof *evnames)) == NULL)
+ goto cannot;
+ evnames[Nev-NEV].number = nxev;
+ evnames[Nev-NEV].name = name;
+ evp[Nev-NEV] = initenv;
+ Nev++;
+ }
+ if (name == NULL && nxev < 0) {
+ flusho();
+ cannot: errprint("cannot do ev.");
+ if (error)
+ done2(040);
+ else
+ edone(040);
+ return;
+ }
+ evlist[evi++] = ev;
+e1:
+ if (ev == nxev)
+ return;
+ if ((np = findev(&nxev, name)) == NULL ||
+ (op = findev(&ev, NULL)) == NULL)
+ goto cannot;
+ *op = env;
+ env = *np;
+ ev = nxev;
+ if (evname == NULL) {
+ if (name)
+ evname = name;
+ else {
+ size_t l = 20;
+ evname = malloc(l);
+ roff_sprintf(evname, l, "%d", ev);
+ }
+ }
+}
+
+void
+caseevc(void)
+{
+ char *name;
+ int nxev;
+ struct env *ep;
+
+ if (getev(&nxev, &name) == 0 || (ep = findev(&nxev, name)) == NULL)
+ return;
+ relsev(&env);
+ evc(&env, ep);
+}
+
+void
+evc(struct env *dp, struct env *sp)
+{
+ if (dp != sp) {
+ char *name;
+ name = dp->_evname;
+ memcpy(dp, sp, sizeof *dp);
+ dp->_evname = name;
+ }
+ if (sp->_hcode) {
+ dp->_hcode = malloc(dp->_nhcode * sizeof *dp->_hcode);
+ memcpy(dp->_hcode, sp->_hcode, dp->_nhcode *
+ sizeof *dp->_hcode);
+ }
+ if (sp->_lpfx) {
+ dp->_lpfx = malloc(dp->_nlpfx * sizeof *dp->_lpfx);
+ memcpy(dp->_lpfx, sp->_lpfx, dp->_nlpfx * sizeof *dp->_lpfx);
+ }
+ dp->_pendnf = 0;
+ dp->_pendw = 0;
+ dp->_pendt = 0;
+ dp->_wch = 0;
+ dp->_wne = 0;
+ dp->_wsp = 0;
+ dp->_wdstart = 0;
+ dp->_wdend = 0;
+ dp->_lnsize = 0;
+ dp->_line = NULL;
+ dp->_linep = NULL;
+ dp->_wdsize = 0;
+ dp->_word = 0;
+ dp->_wdpenal = 0;
+ dp->_wordp = 0;
+ dp->_spflg = 0;
+ dp->_seflg = 0;
+ dp->_ce = 0;
+ dp->_rj = 0;
+ dp->_pgsize = 0;
+ dp->_pgcsize = 0;
+ dp->_pgssize = 0;
+ dp->_pglines = 0;
+ dp->_pgwords = 0;
+ dp->_pgchars = 0;
+ dp->_pgspacs = 0;
+ dp->_para = NULL;
+ dp->_parsp = NULL;
+ dp->_pgwordp = NULL;
+ dp->_pgspacp = NULL;
+ dp->_pgwordw = NULL;
+ dp->_pghyphw = NULL;
+ dp->_pgadspc = NULL;
+ dp->_pglsphc = NULL;
+ dp->_pgopt = NULL;
+ dp->_pgspacw = NULL;
+ dp->_pglgsc = NULL;
+ dp->_pglgec = NULL;
+ dp->_pglgsw = NULL;
+ dp->_pglgew = NULL;
+ dp->_pglgsh = NULL;
+ dp->_pglgeh = NULL;
+ dp->_pgin = NULL;
+ dp->_pgll = NULL;
+ dp->_pgwdin = NULL;
+ dp->_pgwdll = NULL;
+ dp->_pgflags = NULL;
+ dp->_pglno = NULL;
+ dp->_pgpenal = NULL;
+ dp->_inlevp = NULL;
+ if (dp->_brnl < INT_MAX)
+ dp->_brnl = 0;
+ if (dp->_brpnl < INT_MAX)
+ dp->_brpnl = 0;
+ dp->_nn = 0;
+ dp->_ndf = 0;
+ dp->_nms = 0;
+ dp->_ni = 0;
+ dp->_ul = 0;
+ dp->_cu = 0;
+ dp->_it = 0;
+ dp->_itc = 0;
+ dp->_itmac = 0;
+ dp->_nc = 0;
+ dp->_un = 0;
+ dp->_un1 = -1;
+ dp->_nwd = 0;
+ dp->_hyoff = 0;
+ dp->_nb = 0;
+ dp->_spread = 0;
+ dp->_lnmod = 0;
+ dp->_hlc = 0;
+ dp->_cht = 0;
+ dp->_cdp = 0;
+ dp->_maxcht = 0;
+ dp->_maxcdp = 0;
+ setnel();
+}
+
+void
+evcline(struct env *dp, struct env *sp)
+{
+ if (dp == sp)
+ return;
+#ifndef NROFF
+ dp->_lspnc = sp->_lspnc;
+ dp->_lsplow = sp->_lsplow;
+ dp->_lsphigh = sp->_lsphigh;
+ dp->_lspcur = sp->_lspcur;
+ dp->_lsplast = sp->_lsplast;
+ dp->_lshwid = sp->_lshwid;
+ dp->_lshlow = sp->_lshlow;
+ dp->_lshhigh = sp->_lshhigh;
+ dp->_lshcur = sp->_lshcur;
+#endif
+ dp->_fldcnt = sp->_fldcnt;
+ dp->_hyoff = sp->_hyoff;
+ dp->_hlc = sp->_hlc;
+ dp->_nel = sp->_nel;
+ dp->_adflg = sp->_adflg;
+ dp->_adspc = sp->_adspc;
+ dp->_wne = sp->_wne;
+ dp->_wsp = sp->_wsp;
+ dp->_ne = sp->_ne;
+ dp->_nc = sp->_nc;
+ dp->_nwd = sp->_nwd;
+ dp->_un = sp->_un;
+ dp->_wch = sp->_wch;
+ dp->_rhang = sp->_rhang;
+ dp->_cht = sp->_cht;
+ dp->_cdp = sp->_cdp;
+ dp->_maxcht = sp->_maxcht;
+ dp->_maxcdp = sp->_maxcdp;
+ if (icf == 0)
+ dp->_ic = sp->_ic;
+ memcpy(dp->_hyptr, sp->_hyptr, NHYP * sizeof *sp->_hyptr);
+ dp->_line = malloc((dp->_lnsize = sp->_lnsize) * sizeof *dp->_line);
+ memcpy(dp->_line, sp->_line, sp->_lnsize * sizeof *sp->_line);
+ dp->_word = malloc((dp->_wdsize = sp->_wdsize) * sizeof *dp->_word);
+ memcpy(dp->_word, sp->_word, sp->_wdsize * sizeof *sp->_word);
+ dp->_wdpenal = malloc((dp->_wdsize = sp->_wdsize) *
+ sizeof *dp->_wdpenal);
+ memcpy(dp->_wdpenal, sp->_wdpenal, sp->_wdsize * sizeof *sp->_wdpenal);
+ dp->_linep = sp->_linep + (dp->_line - sp->_line);
+ dp->_wordp = sp->_wordp + (dp->_word - sp->_word);
+ dp->_wdend = sp->_wdend + (dp->_word - sp->_word);
+ dp->_wdstart = sp->_wdstart + (dp->_word - sp->_word);
+ dp->_para = malloc((dp->_pgcsize = sp->_pgcsize) * sizeof *dp->_para);
+ memcpy(dp->_para, sp->_para, dp->_pgcsize * sizeof *sp->_para);
+ dp->_parsp = malloc((dp->_pgssize = sp->_pgssize) * sizeof *dp->_parsp);
+ memcpy(dp->_parsp, sp->_parsp, dp->_pgssize * sizeof *sp->_parsp);
+ dp->_pgsize = sp->_pgsize;
+ dp->_pgwordp = malloc(dp->_pgsize * sizeof *dp->_pgwordp);
+ memcpy(dp->_pgwordp, sp->_pgwordp, dp->_pgsize * sizeof *dp->_pgwordp);
+ dp->_pgwordw = malloc(dp->_pgsize * sizeof *dp->_pgwordw);
+ memcpy(dp->_pgwordw, sp->_pgwordw, dp->_pgsize * sizeof *dp->_pgwordw);
+ dp->_pghyphw = malloc(dp->_pgsize * sizeof *dp->_pghyphw);
+ memcpy(dp->_pghyphw, sp->_pghyphw, dp->_pgsize * sizeof *dp->_pghyphw);
+ dp->_pgadspc = malloc(dp->_pgsize * sizeof *dp->_pgadspc);
+ memcpy(dp->_pgadspc, sp->_pgadspc, dp->_pgsize * sizeof *dp->_pgadspc);
+ dp->_pglsphc = malloc(dp->_pgsize * sizeof *dp->_pglsphc);
+ memcpy(dp->_pglsphc, sp->_pglsphc, dp->_pgsize * sizeof *dp->_pglsphc);
+ dp->_pgopt = malloc(dp->_pgsize * sizeof *dp->_pgopt);
+ memcpy(dp->_pgopt, sp->_pgopt, dp->_pgsize * sizeof *dp->_pgopt);
+ dp->_pgspacw = malloc(dp->_pgsize * sizeof *dp->_pgspacw);
+ memcpy(dp->_pgspacw, sp->_pgspacw, dp->_pgsize * sizeof *dp->_pgspacw);
+ dp->_pgspacp = malloc(dp->_pgsize * sizeof *dp->_pgspacp);
+ memcpy(dp->_pgspacp, sp->_pgspacp, dp->_pgsize * sizeof *dp->_pgspacp);
+ dp->_pglgsc = malloc(dp->_pgsize * sizeof *dp->_pglgsc);
+ memcpy(dp->_pglgsc, sp->_pglgsc, dp->_pgsize * sizeof *dp->_pglgsc);
+ dp->_pglgec = malloc(dp->_pgsize * sizeof *dp->_pglgec);
+ memcpy(dp->_pglgec, sp->_pglgec, dp->_pgsize * sizeof *dp->_pglgec);
+ dp->_pglgsw = malloc(dp->_pgsize * sizeof *dp->_pglgsw);
+ memcpy(dp->_pglgsw, sp->_pglgsw, dp->_pgsize * sizeof *dp->_pglgsw);
+ dp->_pglgew = malloc(dp->_pgsize * sizeof *dp->_pglgew);
+ memcpy(dp->_pglgew, sp->_pglgew, dp->_pgsize * sizeof *dp->_pglgew);
+ dp->_pglgsh = malloc(dp->_pgsize * sizeof *dp->_pglgsh);
+ memcpy(dp->_pglgsh, sp->_pglgsh, dp->_pgsize * sizeof *dp->_pglgsh);
+ dp->_pglgeh = malloc(dp->_pgsize * sizeof *dp->_pglgeh);
+ memcpy(dp->_pglgeh, sp->_pglgeh, dp->_pgsize * sizeof *dp->_pglgeh);
+ dp->_pgin = malloc(dp->_pgsize * sizeof *dp->_pgin);
+ memcpy(dp->_pgin, sp->_pgin, dp->_pgsize * sizeof *dp->_pgin);
+ dp->_pgll = malloc(dp->_pgsize * sizeof *dp->_pgll);
+ memcpy(dp->_pgll, sp->_pgll, dp->_pgsize * sizeof *dp->_pgll);
+ dp->_pgwdin = malloc(dp->_pgsize * sizeof *dp->_pgwdin);
+ memcpy(dp->_pgwdin, sp->_pgwdin, dp->_pgsize * sizeof *dp->_pgwdin);
+ dp->_pgwdll = malloc(dp->_pgsize * sizeof *dp->_pgwdll);
+ memcpy(dp->_pgwdll, sp->_pgwdll, dp->_pgsize * sizeof *dp->_pgwdll);
+ dp->_pgflags = malloc(dp->_pgsize * sizeof *dp->_pgflags);
+ memcpy(dp->_pgflags, sp->_pgflags, dp->_pgsize * sizeof *dp->_pgflags);
+ dp->_pglno = malloc(dp->_pgsize * sizeof *dp->_pglno);
+ memcpy(dp->_pglno, sp->_pglno, dp->_pgsize * sizeof *dp->_pglno);
+ dp->_pgpenal = malloc(dp->_pgsize * sizeof *dp->_pgpenal);
+ memcpy(dp->_pgpenal, sp->_pgpenal, dp->_pgsize * sizeof *dp->_pgpenal);
+ dp->_inlevp = malloc(dp->_ainlev * sizeof *dp->_inlevp);
+ memcpy(dp->_inlevp, sp->_inlevp, dp->_ninlev * sizeof *dp->_inlevp);
+ dp->_pgwords = sp->_pgwords;
+ dp->_pgchars = sp->_pgchars;
+ dp->_pgspacs = sp->_pgspacs;
+ dp->_pglines = sp->_pglines;
+}
+
+void
+relsev(struct env *ep)
+{
+ free(ep->_hcode);
+ ep->_hcode = NULL;
+ ep->_nhcode = 0;
+ free(ep->_line);
+ ep->_line = NULL;
+ ep->_lnsize = 0;
+ free(ep->_word);
+ ep->_word = NULL;
+ free(ep->_wdpenal);
+ ep->_wdpenal = NULL;
+ ep->_wdsize = 0;
+ free(ep->_para);
+ ep->_para = NULL;
+ ep->_pgcsize = 0;
+ free(ep->_pgwordp);
+ ep->_pgwordp = NULL;
+ free(ep->_pgwordw);
+ ep->_pgwordw = NULL;
+ free(ep->_pghyphw);
+ ep->_pghyphw = NULL;
+ free(ep->_pgadspc);
+ ep->_pgadspc = NULL;
+ free(ep->_pglsphc);
+ ep->_pglsphc = NULL;
+ free(ep->_pgopt);
+ ep->_pgopt = NULL;
+ free(ep->_pgspacw);
+ ep->_pgspacw = NULL;
+ free(ep->_pgspacp);
+ ep->_pgspacp = NULL;
+ free(ep->_pglgsc);
+ ep->_pglgsc = NULL;
+ free(ep->_pglgec);
+ ep->_pglgec = NULL;
+ free(ep->_pglgsw);
+ ep->_pglgsw = NULL;
+ free(ep->_pglgew);
+ ep->_pglgew = NULL;
+ free(ep->_pglgsh);
+ ep->_pglgsh = NULL;
+ free(ep->_pglgeh);
+ ep->_pglgeh = NULL;
+ free(ep->_pgin);
+ ep->_pgin = NULL;
+ free(ep->_pgll);
+ ep->_pgll = NULL;
+ free(ep->_pgwdin);
+ ep->_pgwdin = NULL;
+ free(ep->_pgwdll);
+ ep->_pgwdll = NULL;
+ free(ep->_pgflags);
+ ep->_pgflags = NULL;
+ free(ep->_pglno);
+ ep->_pglno = NULL;
+ free(ep->_pgpenal);
+ ep->_pgpenal = NULL;
+ ep->_pgsize = 0;
+ free(ep->_inlevp);
+ ep->_inlevp = NULL;
+ ep->_ninlev = 0;
+ ep->_ainlev = 0;
+}
+
+void
+caseel(void)
+{
+ caseif(2);
+}
+
+void
+caseie(void)
+{
+ caseif(1);
+}
+
+int tryglf;
+
+void
+caseif(int x)
+{
+ extern int falsef;
+ register int notflag, true;
+ tchar i, j;
+ enum warn w = warn;
+ int flt = 0;
+ static int el;
+
+ if (x == 3)
+ goto i2;
+ if (x == 2) {
+ notflag = 0;
+ true = el;
+ el = 0;
+ goto i1;
+ }
+ true = 0;
+ skip(1);
+ if ((cbits(i = getch())) == '!') {
+ notflag = 1;
+ if (xflag == 0)
+ /*EMPTY*/;
+ else if ((cbits(i = getch())) == 'f')
+ flt = 1;
+ else
+ ch = i;
+ } else if (xflag && cbits(i) == 'f') {
+ flt = 1;
+ notflag = 0;
+ } else {
+ notflag = 0;
+ ch = i;
+ }
+ if (flt)
+ i = atof0() > 0;
+ else
+ i = (int)atoi0();
+ if (!nonumb) {
+ if (i > 0)
+ true++;
+ goto i1;
+ }
+ i = getch();
+ switch (cbits(i)) {
+ case 'e':
+ if (!(numtab[PN].val & 01))
+ true++;
+ break;
+ case 'o':
+ if (numtab[PN].val & 01)
+ true++;
+ break;
+#ifdef NROFF
+ case 'n':
+ true++;
+ case 't':
+#endif
+#ifndef NROFF
+ case 't':
+ true++;
+ case 'n':
+#endif
+ break;
+ case 'c':
+ if (xflag == 0)
+ goto dfl;
+ warn &= ~WARN_CHAR;
+ tryglf++;
+ if (!skip(1)) {
+ j = getch();
+ true = !ismot(j) && cbits(j) && cbits(j) != ' ';
+ }
+ tryglf--;
+ warn = w;
+ break;
+ case 'r':
+ case 'd':
+ if (xflag == 0)
+ goto dfl;
+ warn &= ~(WARN_MAC|WARN_SPACE|WARN_REG);
+ if (!skip(1)) {
+ j = getrq(2);
+ true = (cbits(i) == 'r' ?
+ usedr(j) != NULL : findmn(j) != NULL);
+ }
+ warn = w;
+ break;
+ case 'F':
+ if (xflag == 0)
+ goto dfl;
+ if (!skip(1)) {
+ j = getrq(3);
+ true = findft(j, 0) != -1;
+ }
+ break;
+ case 'v':
+ /* break; */
+ case ' ':
+ break;
+ default:
+ dfl: true = cmpstr(i);
+ }
+i1:
+ true ^= notflag;
+ if (x == 1) {
+ el = !true;
+ }
+ if (true) {
+ if (frame->loopf & LOOP_EVAL) {
+ if (nonumb)
+ goto i3;
+ frame->loopf &= ~LOOP_EVAL;
+ frame->loopf |= LOOP_NEXT;
+ }
+i2:
+ noschr = 0;
+ bol = 1;
+ while ((cbits(i = getch())) == ' ')
+ ;
+ bol = 0;
+ if (cbits(i) == LEFT)
+ goto i2;
+ ch = i;
+ nflush++;
+ } else {
+i3:
+ if (frame->loopf & LOOP_EVAL)
+ frame->loopf = LOOP_FREE;
+ copyf++;
+ falsef++;
+ eatblk(0);
+ copyf--;
+ falsef--;
+ }
+}
+
+void
+casenop(void)
+{
+ caseif(3);
+}
+
+void
+casechomp(void) {
+ chomp = 1;
+ caseif(3);
+}
+
+void
+casereturn(void)
+{
+ flushi();
+ nflush++;
+ while (frame->loopf) {
+ frame->loopf = LOOP_FREE;
+ popi();
+ }
+ popi();
+}
+
+void
+casewhile(void)
+{
+ tchar c;
+ int k, level;
+ filep newip;
+
+ if (dip != d)
+ wbfl();
+ if ((nextb = alloc()) == 0) {
+ errprint("out of space");
+ edone(04);
+ return;
+ }
+ newip = offset = nextb;
+ wbf(mkxfunc(CC, 0));
+ wbf(XFUNC); /* caseif */
+ wbf(' ');
+ copyf++, clonef++;
+ level = 0;
+ do {
+ nlflg = 0;
+ k = cbits(c = getch());
+ switch (k) {
+ case LEFT:
+ level++;
+ break;
+ case RIGHT:
+ level--;
+ break;
+ }
+ wbf(c);
+ } while (!nlflg || level > 0);
+ if (level < 0 && warn & WARN_DELIM)
+ errprint("%d excess delimiter(s)", -level);
+ wbt(0);
+ copyf--, clonef--;
+ pushi(newip, LOOP, 0);
+ offset = dip->op;
+}
+
+void
+casebreak(void)
+{
+ casecontinue(1);
+}
+
+void
+casecontinue(int _break)
+{
+ int i, j;
+ struct s *s;
+
+ noscale++;
+ if (skip(0) || (i = hatoi()) <= 0 || nonumb)
+ i = 1;
+ noscale--;
+ j = 0;
+ for (s = frame; s != stk; s = s->pframe)
+ if (s->loopf && ++j >= i)
+ break;
+ if (j != i) {
+ if (i == 1) {
+ if (warn & WARN_RANGE)
+ errprint("%s outside loop", macname(lastrq));
+ return;
+ }
+ if (warn & WARN_RANGE)
+ errprint("%s: breaking out of %d current loop "
+ "levels but %d requested",
+ macname(lastrq), j, i);
+ _break = 1;
+ i = j;
+ }
+ flushi();
+ nflush++;
+ while (i > 1 || (_break && i > 0)) {
+ if (frame->loopf) {
+ frame->loopf = LOOP_FREE;
+ i--;
+ }
+ popi();
+ }
+ if (i == 1) {
+ while (frame->loopf == 0)
+ popi();
+ popi();
+ }
+}
+
+void
+eatblk(int inblk)
+{ register int cnt, i;
+ tchar ii;
+
+ cnt = 0;
+ do {
+ if (ch) {
+ i = cbits(ii = ch);
+ ch = 0;
+ } else
+ i = cbits(ii = getch0());
+ if (i == ESC)
+ cnt++;
+ else {
+ if (cnt == 1)
+ switch (i) {
+ case '{': i = LEFT; break;
+ case '}': i = RIGHT; break;
+ case '\n': i = 'x'; break;
+ }
+ cnt = 0;
+ }
+ if (i == LEFT) eatblk(1);
+ } while ((!inblk && (i != '\n')) || (inblk && (i != RIGHT)));
+ if (i == '\n') {
+ nlflg++;
+ tailflg = istail(ii);
+ }
+}
+
+
+int
+cmpstr(tchar c)
+{
+ register int j, delim;
+ register tchar i;
+ register int val;
+ int savapts, savapts1, savfont, savfont1, savpts, savpts1;
+ tchar string[1280];
+ register tchar *sp;
+
+ if (ismot(c))
+ return(0);
+ argdelim = delim = cbits(c);
+ savapts = apts;
+ savapts1 = apts1;
+ savfont = font;
+ savfont1 = font1;
+ savpts = pts;
+ savpts1 = pts1;
+ sp = string;
+ while ((j = cbits(i = getch()))!=delim && j!='\n' && sp<&string[1280-1])
+ *sp++ = i;
+ if (j != delim)
+ nodelim(delim);
+ if (sp >= string + 1280) {
+ errprint("too-long string compare.");
+ edone(0100);
+ }
+ if (nlflg) {
+ val = sp==string;
+ goto rtn;
+ }
+ *sp++ = 0;
+ apts = savapts;
+ apts1 = savapts1;
+ font = savfont;
+ font1 = savfont1;
+ pts = savpts;
+ pts1 = savpts1;
+ mchbits();
+ val = 1;
+ sp = string;
+ while ((j = cbits(i = getch())) != delim && j != '\n') {
+ if (*sp != i) {
+ eat(delim);
+ val = 0;
+ goto rtn;
+ }
+ sp++;
+ }
+ if (j != delim)
+ nodelim(delim);
+ if (*sp)
+ val = 0;
+rtn:
+ apts = savapts;
+ apts1 = savapts1;
+ font = savfont;
+ font1 = savfont1;
+ pts = savpts;
+ pts1 = savpts1;
+ mchbits();
+ argdelim = 0;
+ return(val);
+}
+
+
+void
+caserd(void)
+{
+
+ lgf++;
+ skip(0);
+ getname();
+ if (!iflg) {
+ if (quiet) {
+#ifdef NROFF
+ echo_off();
+ flusho();
+#endif /* NROFF */
+ fprintf(stderr, "\007"); /*bell*/
+ } else {
+ if (nextf[0]) {
+ fprintf(stderr, "%s:", nextf);
+ } else {
+ fprintf(stderr, "\007"); /*bell*/
+ }
+ }
+ }
+ collect();
+ tty++;
+ pushi(-1, PAIR('r','d'), 0);
+}
+
+
+int
+rdtty(void)
+{
+ char onechar;
+#if defined (EUC)
+ int i, n;
+
+loop:
+#endif /* EUC */
+
+ onechar = 0;
+ if (read(0, &onechar, 1) == 1) {
+ if (onechar == '\n')
+ tty++;
+ else
+ tty = 1;
+#if !defined (EUC)
+ if (tty != 3)
+ return(onechar);
+#else /* EUC */
+ if (tty != 3) {
+ if (!multi_locale)
+ return(onechar);
+ i = onechar & 0377;
+ *mbbuf1p++ = i;
+ *mbbuf1p = 0;
+ if ((*mbbuf1&~(wchar_t)0177) == 0) {
+ twc = 0;
+ mbbuf1p = mbbuf1;
+ }
+ else if ((n = mbtowc(&twc, mbbuf1, mb_cur_max)) <= 0) {
+ if (mbbuf1p >= mbbuf1 + mb_cur_max) {
+ illseq(-1, mbbuf1, mbbuf1p-mbbuf1);
+ twc = 0;
+ mbbuf1p = mbbuf1;
+ *mbbuf1p = 0;
+ i &= 0177;
+ } else {
+ goto loop;
+ }
+ } else {
+ i = twc | COPYBIT;
+ twc = 0;
+ mbbuf1p = mbbuf1;
+ }
+ return(i);
+ }
+#endif /* EUC */
+ }
+ popi();
+ tty = 0;
+#ifdef NROFF
+ if (quiet)
+ echo_on();
+#endif /* NROFF */
+ return(0);
+}
+
+
+void
+caseec(void)
+{
+ eschar = chget('\\');
+}
+
+
+void
+caseeo(void)
+{
+ eschar = 0;
+}
+
+
+void
+caseecs(void)
+{
+ ecs = eschar;
+}
+
+
+void
+caseecr(void)
+{
+ eschar = ecs;
+}
+
+
+void
+caseta(void)
+{
+ int T[NTAB];
+ register int i, j, n = 0;
+
+ tabtab[0] = nonumb = 0;
+ Tflg = 1;
+ for (i = 0; ((i < (NTAB - 1)) && !nonumb); i++) {
+ if (skip(0))
+ break;
+ tabtab[i] = max(hnumb(&tabtab[max(i-1,0)]), 0) & TABMASK;
+ if (nonumb && cbits(ch) == 'T') {
+ ch = 0;
+ nonumb = 0;
+ Tflg = 0;
+ goto T;
+ }
+ if (!nonumb)
+ switch (cbits(ch)) {
+ case 'C':
+ tabtab[i] |= CTAB;
+ break;
+ case 'R':
+ tabtab[i] |= RTAB;
+ break;
+ default: /*includes L*/
+ break;
+ }
+ nonumb = ch = 0;
+ }
+ Tflg = 0;
+ tabtab[i] = 0;
+ return;
+T:
+ for (j = 0; j < NTAB - 1 && !nonumb; j++) {
+ if (skip(0))
+ break;
+ T[j] = hatoi() & TABMASK;
+ if (!nonumb)
+ switch (cbits(ch)) {
+ case 'C':
+ T[j] |= CTAB;
+ break;
+ case 'R':
+ T[j] |= RTAB;
+ break;
+ default:
+ break;
+ }
+ nonumb = ch = 0;
+ }
+ T[j] = 0;
+ while (i < NTAB - 1) {
+ if (T[j] == 0) {
+ j = 0;
+ n = (i ? tabtab[i-1] : 0) & TABMASK;
+ }
+ tabtab[i++] = (n + (T[j] & TABMASK)) | (T[j] & ~TABMASK);
+ j++;
+ }
+ tabtab[i] = 0;
+}
+
+
+void
+casene(void)
+{
+ register int i, j;
+
+ skip(0);
+ i = vnumb((int *)0);
+ if (nonumb)
+ i = lss;
+ if (i > (j = findt1())) {
+ i = lss;
+ lss = j;
+ dip->nls = 0;
+ newline(0);
+ lss = i;
+ }
+}
+
+
+void
+casetr(int flag)
+{
+ register int i, j;
+ tchar k;
+
+ lgf++;
+ tryglf++;
+ skip(1);
+ if (!ch && cbits(getch()) == '\n')
+ goto r;
+ while ((i = cbits(k=getch())) != '\n') {
+ if (ismot(k))
+ goto r;
+ if (ismot(k = getch()))
+ goto r;
+ if ((j = cbits(k)) == '\n')
+ j = ' ';
+ trtab[i] = j;
+ if (flag & 1)
+ trintab[j] = i;
+ else
+ trintab[j] = 0;
+ if (flag & 2)
+ trnttab[i] = i;
+ else
+ trnttab[i] = j;
+ }
+r:
+ tryglf--;
+}
+
+
+void
+casetrin(void)
+{
+ casetr(1);
+}
+
+
+void
+casetrnt(void)
+{
+ casetr(2);
+}
+
+
+void
+casecu(void)
+{
+ cu++;
+ caseul();
+}
+
+
+void
+caseul(void)
+{
+ register int i;
+
+ noscale++;
+ if (skip(0))
+ i = 1;
+ else
+ i = hatoi();
+ if (ul && (i == 0)) {
+ font = sfont;
+ ul = cu = 0;
+ }
+ if (i) {
+ if (!ul) {
+ sfont = font;
+ font = ulfont;
+ }
+ ul = i;
+ }
+ noscale = 0;
+ mchbits();
+}
+
+
+void
+caseuf(void)
+{
+ register int i, j;
+ extern int findft(int, int);
+
+ if (skip(0) || !(i = getrq(2)) || i == 'S' || (j = findft(i, 1)) == -1)
+ ulfont = ULFONT; /*default underline position*/
+ else
+ ulfont = j;
+#ifdef NROFF
+ if (ulfont == FT)
+ ulfont = ULFONT;
+#endif
+}
+
+
+void
+caseit(int cflag)
+{
+ register int i;
+
+ lgf++;
+ it = itc = itmac = 0;
+ noscale++;
+ skip(0);
+ i = hatoi();
+ skip(0);
+ if (!nonumb && (itmac = getrq(1))) {
+ it = i;
+ itc = cflag;
+ }
+ noscale = 0;
+}
+
+
+void
+caseitc(void)
+{
+ caseit(1);
+}
+
+
+void
+casemc(void)
+{
+ register int i;
+
+ if (icf > 1)
+ ic = 0;
+ icf = 0;
+ if (skip(0))
+ return;
+ ic = getch();
+ icf = 1;
+ skip(0);
+ i = max(hnumb((int *)0), 0);
+ if (!nonumb)
+ ics = i;
+}
+
+
+static void
+propchar(int *tp)
+{
+ int c, *tpp;
+ tchar i;
+
+ if (skip(0)) {
+ *tp = IMP;
+ return;
+ }
+ tpp = tp;
+ do {
+ while (!ismot(c = cbits(i = getch())) &&
+ c != ' ' && c != '\n')
+ if (tpp < &tp[NSENT])
+ *tpp++ = c;
+ } while (!skip(0));
+}
+
+void
+casesentchar(void)
+{
+ propchar(sentch);
+}
+
+void
+casetranschar(void)
+{
+ propchar(transch);
+}
+
+void
+casebreakchar(void)
+{
+ propchar(breakch);
+}
+
+void
+casenhychar(void)
+{
+ propchar(nhych);
+}
+
+void
+caseconnectchar(void)
+{
+ propchar(connectch);
+}
+
+void
+casemk(void)
+{
+ register int i, j;
+ struct numtab *np;
+
+ if (dip != d)
+ j = dip->dnl;
+ else
+ j = numtab[NL].val;
+ if (skip(0)) {
+ dip->mkline = j;
+ return;
+ }
+ if ((i = getrq(1)) == 0)
+ return;
+ np = findr(i);
+ np->val = j;
+ prwatchn(np);
+}
+
+
+void
+casesv(void)
+{
+ register int i;
+
+ skip(0);
+ if ((i = vnumb((int *)0)) < 0)
+ return;
+ if (nonumb)
+ i = 1;
+ sv += i;
+ caseos();
+}
+
+
+void
+caseos(void)
+{
+ register int savlss;
+
+ if (sv <= findt1()) {
+ savlss = lss;
+ lss = sv;
+ newline(0);
+ lss = savlss;
+ sv = 0;
+ }
+}
+
+
+void
+casenm(void)
+{
+ register int i;
+
+ lnmod = nn = 0;
+ if (skip(0))
+ return;
+ lnmod++;
+ noscale++;
+ i = inumb(&numtab[LN].val);
+ if (!nonumb)
+ numtab[LN].val = max(i, 0);
+ prwatchn(&numtab[LN]);
+ getnm(&ndf, 1);
+ getnm(&nms, 0);
+ getnm(&ni, 0);
+ noscale = 0;
+ nmbits = chbits;
+}
+
+
+void
+getnm(int *p, int min)
+{
+ register int i;
+
+ eat(' ');
+ if (skip(0))
+ return;
+ i = atoi0();
+ if (nonumb)
+ return;
+ *p = max(i, min);
+}
+
+
+void
+casenn(void)
+{
+ noscale++;
+ skip(0);
+ nn = max(hatoi(), 1);
+ noscale = 0;
+}
+
+
+void
+caseab(void)
+{
+ casetm(1);
+ done3(0);
+}
+
+
+#ifdef NROFF
+/*
+ * The following routines are concerned with setting terminal options.
+ * The manner of doing this differs between research/Berkeley systems
+ * and UNIX System V systems (i.e. DOCUMENTER'S WORKBENCH)
+ * The distinction is controlled by the #define'd variable USG,
+ * which must be set by System V users.
+ */
+
+
+#ifdef USG
+#include <termios.h>
+#define ECHO_USG (ECHO | ECHOE | ECHOK | ECHONL)
+struct termios ttys;
+#else
+#include <sgtty.h>
+struct sgttyb ttys[2];
+#endif /* USG */
+
+int ttysave[2] = {-1, -1};
+
+void
+save_tty(void) /*save any tty settings that may be changed*/
+{
+
+#ifdef USG
+ if (tcgetattr(0, &ttys) >= 0)
+ ttysave[0] = ttys.c_lflag;
+#else
+ if (gtty(0, &ttys[0]) >= 0)
+ ttysave[0] = ttys[0].sg_flags;
+ if (gtty(1, &ttys[1]) >= 0)
+ ttysave[1] = ttys[1].sg_flags;
+#endif /* USG */
+
+}
+
+
+void
+restore_tty (void) /*restore tty settings from beginning*/
+{
+
+ if (ttysave[0] != -1) {
+#ifdef USG
+ ttys.c_lflag = ttysave[0];
+ tcsetattr(0, TCSADRAIN, &ttys);
+#else
+ ttys[0].sg_flags = ttysave[0];
+ stty(0, &ttys[0]);
+ }
+ if (ttysave[1] != -1) {
+ ttys[1].sg_flags = ttysave[1];
+ stty(1, &ttys[1]);
+#endif /* USG */
+ }
+}
+
+
+void
+set_tty (void) /*this replaces the use of bset and breset*/
+{
+
+#ifndef USG /*for research/BSD only, reset CRMOD*/
+ if (ttysave[1] == -1)
+ save_tty();
+ if (ttysave[1] != -1) {
+ ttys[1].sg_flags &= ~CRMOD;
+ stty(1, &ttys[1]);
+ }
+#endif /* USG */
+
+}
+
+
+void
+echo_off (void) /*turn off ECHO for .rd in "-q" mode*/
+{
+ if (ttysave[0] == -1)
+ return;
+
+#ifdef USG
+ ttys.c_lflag &= ~ECHO_USG;
+ tcsetattr(0, TCSADRAIN, &ttys);
+#else
+ ttys[0].sg_flags &= ~ECHO;
+ stty(0, &ttys[0]);
+#endif /* USG */
+
+}
+
+
+void
+echo_on (void) /*restore ECHO after .rd in "-q" mode*/
+{
+ if (ttysave[0] == -1)
+ return;
+
+#ifdef USG
+ ttys.c_lflag |= ECHO_USG;
+ tcsetattr(0, TCSADRAIN, &ttys);
+#else
+ ttys[0].sg_flags |= ECHO;
+ stty(0, &ttys[0]);
+#endif /* USG */
+
+}
+#endif /* NROFF */
diff --git a/troff/n7.c b/troff/n7.c
new file mode 100644
index 0000000000000..89c6a4e2755a8
--- /dev/null
+++ b/troff/n7.c
@@ -0,0 +1,2342 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n7.c 1.10 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n7.c 1.181 (gritter) 6/19/11
+ *
+ * Portions Copyright (c) 2014, 2015 Carsten Kunze
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <limits.h>
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#include "draw.h"
+#endif
+#include "pt.h"
+#ifdef NROFF
+#define GETCH gettch
+tchar gettch(void);
+#endif
+#ifndef NROFF
+#define GETCH getch
+#endif
+
+/*
+ * troff7.c
+ *
+ * text
+ */
+
+#include <math.h>
+#include <string.h>
+#include <ctype.h>
+#include "ext.h"
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+wchar_t cwc, owc, wceoll;
+#endif /* EUC && NROFF && ZWDELIMS */
+int brflg;
+
+#undef iswascii
+#define iswascii(c) (((c) & ~(wchar_t)0177) == 0)
+
+static int _findt(struct d *, int, int);
+static tchar adjbit(tchar);
+static void sethtdp(void);
+static void leftend(tchar, int, int);
+static void parword(void);
+static void parfmt(void);
+#ifndef NROFF
+#define nroff 0
+extern int lastrst;
+extern int lastrsb;
+static void setlhang(tchar);
+static void setrhang(void);
+static void letshrink(void);
+static int letgrow(void);
+static int lspcomp(int);
+#else /* NROFF */
+#define nroff 1
+#define lastrst 0
+#define lastrsb 0
+#define setlhang(a)
+#define setrhang()
+#define getlsp(c) 0
+#define storelsp(a, b)
+#define getlsh(c, w) 0
+#define storelsh(a, b)
+#define letshrink()
+#define letgrow() 0
+#define lspcomp(a) 0
+#endif /* NROFF */
+
+void
+tbreak(void)
+{
+ register int pad, k;
+ register tchar *i, j, c;
+ register int resol = 0;
+ int _minflg;
+
+restart:
+ trap = 0;
+ if (nb)
+ return;
+ if (dip == d && numtab[NL].val == -1) {
+ newline(1);
+ return;
+ }
+ if (!nc && !pgchars) {
+ setnel();
+ if (!wch)
+ return;
+ if (pendw)
+ getword(1);
+ movword();
+ } else if (pendw && !brflg) {
+ getword(1);
+ movword();
+ } else if (!brflg && adflg & 1) {
+ adflg |= 2;
+ text();
+ return;
+ }
+ if ((pa || padj) && pglines == 0 && pgchars) {
+ parfmt();
+ goto restart;
+ }
+ if (minspsz && !brflg && ad && !admod)
+ ne += adspc;
+ *linep = dip->nls = 0;
+#ifdef NROFF
+ if (dip == d)
+ horiz(po);
+#endif
+ if (lnmod)
+ donum();
+ lastl = ne;
+ if (brflg != 1) {
+ totout = 0;
+ hlc = 0;
+ } else if (ad) {
+ if ((lastl = ll - un + rhang + lsplast) < ne)
+ lastl = ne;
+ }
+ if (admod && ad && (brflg != 2)) {
+ lastl = ne;
+ adsp = adrem = 0;
+ if (admod == 1)
+ un += quant(nel / 2, HOR);
+ else if (admod == 2)
+ un += nel;
+ }
+ _minflg = minspsz && admod == 0 && ad && brflg == 1 && adflg & 4;
+ totout++;
+ brflg = 0;
+ if (lastl + un > dip->maxl)
+ dip->maxl = lastl + un;
+ horiz(un);
+ if (un != 0)
+ pchar(mkxfunc(INDENT, un));
+#ifdef NROFF
+ if (adrem % t.Adj)
+ resol = t.Hor;
+ else
+ resol = t.Adj;
+#else
+ resol = HOR;
+#endif
+ adrem = (adrem / resol) * resol;
+ for (i = line; nc > 0; ) {
+ if ((c = cbits(j = *i++)) == ' ' || c == STRETCH) {
+ if ((xflag && !fi && dilev) || iszbit(j) || isadjspc(j))
+ goto std;
+ pad = 0;
+ if (i > &line[1])
+ pad += kernadjust(i[-2], i[-1]);
+ do {
+ if (xflag)
+ pchar(adjbit(j));
+ minflg = _minflg;
+ pad += width(j);
+ nc--;
+ } while ((c = cbits(j = *i++)) == ' ' || c == STRETCH);
+ pad += kernadjust(i[-2], i[-1]);
+ i--;
+ pad += adsp;
+ --nwd;
+ if (adrem) {
+ if (adrem < 0) {
+ pad -= resol;
+ adrem += resol;
+ } else if ((totout & 01) || adrem / resol >= nwd) {
+ pad += resol;
+ adrem -= resol;
+ }
+ }
+ pchar((tchar) WORDSP);
+ horiz(pad);
+ } else {
+ std:
+ if (!ismot(j) && isxfunc(j, FLDMARK))
+ fldcnt--;
+ else if (fldcnt == 0 && nc && !ismot(j) &&
+ !iszbit(j)) {
+ if (lspcur && (cbits(j) > ' ' ||
+ isxfunc(j, CHAR))) {
+ for (c = j; isxfunc(c, CHAR);
+ c = charout[sbits(c)].ch);
+ k = (int)sbits(c) / 2 * lspcur / LAFACT;
+ if (k >= 0)
+ c = mkxfunc(LETSP, k);
+ else
+ c = mkxfunc(NLETSP, -k);
+ pchar(c);
+ }
+ if (lshcur && cbits(j) > ' ') {
+ k = lshcur;
+ if (k >= 0)
+ c = mkxfunc(LETSH, k);
+ else
+ c = mkxfunc(NLETSH, -k);
+ pchar(c);
+ }
+ }
+ pchar(j);
+ nc--;
+ }
+ }
+ if (hlc)
+ pchar(mkxfunc(HYPHED, 0));
+ if (ic) {
+ if ((k = ll - un - lastl + ics) > 0)
+ horiz(k);
+ pchar(ic);
+ }
+ if (icf)
+ icf++;
+ else
+ ic = 0;
+ ne = nwd = 0;
+ un = in;
+ setnel();
+ newline(0);
+ if (dip != d) {
+ if (dip->dnl > dip->hnl)
+ dip->hnl = dip->dnl;
+ } else {
+ if (numtab[NL].val > dip->hnl)
+ dip->hnl = numtab[NL].val;
+ }
+ for (k = ls - 1; k > 0 && !trap; k--)
+ newline(0);
+ spread = 0;
+ spbits = 0;
+}
+
+void
+donum(void)
+{
+ register int i, nw;
+
+ nrbits = nmbits;
+ nw = width('1' | nrbits);
+ if (nn) {
+ nn--;
+ goto d1;
+ }
+ if (numtab[LN].val % ndf) {
+ numtab[LN].val++;
+d1:
+ un += nw * (3 + nms + ni);
+ return;
+ }
+ i = 0;
+ if (numtab[LN].val < 100)
+ i++;
+ if (numtab[LN].val < 10)
+ i++;
+ horiz(nw * (ni + i));
+ nform = 0;
+ fnumb(numtab[LN].val, pchar);
+ un += nw * nms;
+ numtab[LN].val++;
+}
+
+void
+text(void)
+{
+ register tchar i, c, lasti = 0;
+ int k = 0;
+ static int spcnt;
+ int recadj = 0;
+
+ if (adflg & 2) {
+ adflg &= ~3;
+ recadj = 1;
+ goto adj;
+ }
+ adflg = 0;
+ nflush++;
+ numtab[HP].val = 0;
+ if ((dip == d) && (numtab[NL].val == -1)) {
+ newline(1);
+ goto r;
+ }
+ setnel();
+ if (ce || rj || !fi) {
+ nofill();
+ goto r;
+ }
+ if (pendw)
+ goto t4;
+ if (pendt) {
+ if (spcnt)
+ goto t2;
+ else
+ goto t3;
+ }
+ pendt++;
+ if (spcnt)
+ goto t2;
+ while ((c = cbits(i = GETCH())) == ' ' || c == STRETCH) {
+ if (iszbit(i))
+ break;
+ if (isadjspc(i))
+ continue;
+ spcnt++;
+ widthp = xflag ? width(i) : sps;
+ sethtdp();
+ numtab[HP].val += widthp;
+ lasti = i;
+ }
+ if (lasti) {
+ k = kernadjust(lasti, i);
+ numtab[HP].val += k;
+ widthp += k;
+ }
+ if (nlflg) {
+t1:
+ nflush = pendt = ch = spcnt = 0;
+ callsp();
+ goto r;
+ }
+ ch = i;
+ if (spcnt) {
+t2:
+ lsn = spcnt;
+ glss = spcnt * sps + k;
+ if (lsmac) {
+ spcnt = 0;
+ control(lsmac, 0);
+ goto rtn;
+ } else {
+ tbreak();
+ if (nc || wch)
+ goto rtn;
+ un += glss;
+ spcnt = 0;
+ setnel();
+ if (trap)
+ goto rtn;
+ if (nlflg)
+ goto t1;
+ }
+ }
+t3:
+ if (spread && !brpnl)
+ goto t5;
+ if (pendw || !wch)
+t4:
+ if (getword(0)) {
+ if (!pendw) {
+ if (brnl || (brpnl && spread))
+ goto tb;
+ if (brpnl)
+ goto t5;
+ }
+ goto t6;
+ }
+ if (!movword())
+ goto t3;
+t5:
+ if (nlflg)
+ pendt = 0;
+adj:
+ adsp = adrem = 0;
+ if (ad) {
+ setrhang();
+ if (admod == 0 && lspcur == 0 && lshcur == 0 &&
+ nel < 0 && lspnc)
+ letshrink();
+ jst: if (nwd == 1)
+ adsp = nel;
+ else
+ adsp = nel / (nwd - 1);
+ adsp = (adsp / HOR) * HOR;
+ if (admod == 0 && lspcur == 0 && lshcur == 0 &&
+ adsp > letsps - sps)
+ if (letgrow())
+ goto jst;
+ adrem = nel - adsp*(nwd-1);
+ if (admod == 0 && nwd == 1 && warn & WARN_BREAK)
+ errprint("can't break line");
+ else if (admod == 0 && spreadwarn && adsp >= spreadlimit)
+ errprint("spreadlimit exceeded, %gm", (double)adsp/EM);
+ }
+ brflg = 1;
+tb:
+ tbreak();
+ spread = 0;
+ if (!trap && !recadj && !brnl && !brpnl)
+ goto t3;
+ if (brnl > 0 && brnl < INT_MAX)
+ brnl--;
+ if (brpnl > 0 && brpnl < INT_MAX)
+ brpnl--;
+ if (!nlflg)
+ goto rtn;
+t6:
+ pendt = 0;
+ ckul();
+rtn:
+ nflush = 0;
+r:
+ if (chomp) {
+ chomp = 0;
+ chompend = 1;
+ }
+}
+
+
+void
+nofill(void)
+{
+ register int j;
+ register tchar i, nexti;
+ int k, oev;
+
+ if (chompend) {
+ chompend = 0;
+ } else if (!pendnf && !chomp) {
+ over = 0;
+ tbreak();
+ if (trap)
+ goto rtn;
+ if (nlflg) {
+ ch = nflush = 0;
+ callsp();
+ return;
+ }
+ adsp = adrem = 0;
+ nwd = 10000;
+ }
+ nexti = GETCH();
+ leftend(nexti, !ce && !rj && !pendnf, !isdi(nexti));
+ while ((j = (cbits(i = nexti))) != '\n') {
+ if (stopch && issame(i, stopch))
+ break;
+ if (j == ohc) {
+ nexti = GETCH();
+ continue;
+ }
+ if (j == CONT) {
+ pendnf++;
+ nflush = 0;
+ flushi();
+ ckul();
+ return;
+ }
+ j = width(i);
+ widthp = j;
+ sethtdp();
+ numtab[HP].val += j;
+ storeline(i, j);
+ oev = ev;
+ nexti = GETCH();
+ if (ev == oev) {
+ k = kernadjust(i, nexti);
+ ne += k;
+ nel -= k;
+ numtab[HP].val += k;
+ }
+ }
+ if (chomp) {
+ return;
+ }
+ if (ce) {
+ ce--;
+ if ((i = quant(nel / 2, HOR)) > 0)
+ un += i;
+ }
+ if (rj) {
+ rj--;
+ setrhang();
+ if (nel > 0)
+ un += nel;
+ }
+ if (!nc)
+ storeline((tchar)FILLER, 0);
+ brflg = 2;
+ tbreak();
+ ckul();
+rtn:
+ pendnf = nflush = 0;
+}
+
+
+void
+callsp(void)
+{
+ register int i;
+
+ if (flss)
+ i = flss;
+ else
+ i = lss;
+ flss = 0;
+ if (blmac && (fi || (frame->flags & FLAG_DIVERSION) == 0))
+ control(blmac, 0);
+ else
+ casesp(i);
+}
+
+
+void
+ckul(void)
+{
+ if (ul && (--ul == 0)) {
+ cu = 0;
+ font = sfont;
+ mchbits();
+ }
+ if (it && !pglines && (!itc || (!pendw && !pendnf)) &&
+ (--it == 0) && itmac)
+ control(itmac, 0);
+}
+
+
+int
+storeline(register tchar c, int w)
+{
+#ifdef NROFF
+ if (ismot(c)) {
+ if (isvmot(c)) {
+ if (isnmot(c))
+ lvmot -= c & BMBITS;
+ else
+ lvmot += c & BMBITS;
+ }
+ } else if (ndraw && !(cbits(c) & ~0xffff)) {
+ storechar(c, numtab[NL].val+lvmot, po + in + ne);
+ }
+#endif
+ if (linep == NULL || linep >= line + lnsize - 4) {
+ tchar *k;
+ if (over)
+ return 0;
+ lnsize += lnsize ? 100 : LNSIZE;
+ if ((k = realloc(line, lnsize * sizeof *line)) == NULL) {
+ flusho();
+ errprint("Line overflow.");
+ over++;
+ c = LEFTHAND;
+ w = -1;
+ goto s1;
+ }
+ linep = (tchar *)((char *)linep + ((char *)k - (char *)line));
+ line = k;
+ }
+s1:
+ if (w == -1) {
+ minflg = minspsz && ad && !admod;
+ w = width(c);
+ }
+ ne += w;
+ nel -= w;
+ *linep++ = c;
+ nc++;
+ return 1;
+}
+
+
+#ifndef NROFF
+static int
+getlsp(tchar c)
+{
+ int s;
+
+ if (!ad || admod || ismot(c))
+ return 0;
+ if (iszbit(c) || (cbits(c) <= ' ' && !isxfunc(c, CHAR)))
+ return 0;
+ while (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ s = sbits(c) / 2;
+ return s;
+}
+
+static void
+storelsp(tchar c, int neg)
+{
+ int s;
+
+ if (isxfunc(c, FLDMARK)) {
+ lsplow = lsphigh = lspnc = 0;
+ fldcnt += neg ? -1 : 1;
+ return;
+ }
+ if ((s = getlsp(c)) != 0) {
+ if (neg)
+ s = -s;
+ lsplow += s * lspmin / LAFACT;
+ lsphigh += s * lspmax / LAFACT;
+ lspnc += neg ? -1 : 1;
+ }
+}
+
+static int
+getlsh(tchar c, int w)
+{
+ if (!ad || admod || ismot(c))
+ return 0;
+ if (iszbit(c) || cbits(c) <= ' ')
+ return 0;
+ return w;
+}
+
+static void
+storelsh(tchar c, int w)
+{
+ int s;
+
+ if (isxfunc(c, FLDMARK)) {
+ lshlow = lshhigh = lshwid = 0;
+ return;
+ }
+ if ((s = getlsh(c, w)) != 0) {
+ lshwid += s;
+ lshlow = lshwid * lshmin / LAFACT;
+ lshhigh = lshwid * lshmax / LAFACT;
+ }
+}
+#endif /* !NROFF */
+
+void
+newline(int a)
+{
+ register int i, j, nlss = 0, nl;
+ int opn;
+
+#ifdef NROFF
+ if (lvmot) {
+ tchar c;
+ c = MOT | VMOT | (lvmot < 0 ? -lvmot : lvmot | NMOT);
+ pchar1(c);
+ lvmot = 0;
+ }
+#endif
+ if (a)
+ goto nl1;
+ if (dip != d) {
+ j = lss;
+ pchar1((tchar)FLSS);
+ if (flss)
+ lss = flss;
+ i = nlss = lss + dip->blss;
+ dip->dnl += i;
+ pchar1((tchar)i);
+ pchar1((tchar)'\n');
+ lss = j;
+ dip->blss = flss = 0;
+ if (dip->alss) {
+ pchar1((tchar)FLSS);
+ pchar1((tchar)dip->alss);
+ pchar1((tchar)'\n');
+ dip->dnl += dip->alss;
+ nlss += dip->alss;
+ dip->alss = 0;
+ }
+ if (vpt > 0 && dip->ditrap && !dip->ditf && dip->dnl >= dip->ditrap && dip->dimac)
+ if (control(dip->dimac, 0)) {
+ trap++;
+ dip->ditf++;
+ }
+ goto nlt;
+ }
+ j = lss;
+ if (flss)
+ lss = flss;
+ nlss = dip->alss + dip->blss + lss;
+ numtab[NL].val += nlss;
+#ifndef NROFF
+ if (ascii) {
+ dip->alss = dip->blss = 0;
+ }
+#endif
+ pchar1((tchar)'\n');
+ flss = 0;
+ lss = j;
+ if (vpt == 0 || numtab[NL].val < pl)
+ goto nl2;
+nl1:
+ ejf = dip->hnl = numtab[NL].val = 0;
+ ejl = frame->tail_cnt;
+ if (donef || (ndone && pgchars && !pglines)) {
+ if ((!nc && !wch && !pglines) || ndone)
+ done1(0);
+ ndone++;
+ donef = 0;
+ if (frame == stk)
+ nflush++;
+ }
+ opn = numtab[PN].val;
+ numtab[PN].val++;
+ if (npnflg) {
+ numtab[PN].val = npn;
+ npn = npnflg = 0;
+ }
+ prwatchn(&numtab[PN]);
+nlpn:
+ if (numtab[PN].val == pfrom) {
+ print++;
+ pfrom = -1;
+ } else if (opn == pto) {
+ print = 0;
+ opn = -1;
+ chkpn();
+ goto nlpn;
+ }
+ if (print)
+ newpage(numtab[PN].val); /* supposedly in a clean state so can pause */
+ if (stop && print) {
+ dpn++;
+ if (dpn >= stop) {
+ dpn = 0;
+ dostop();
+ }
+ }
+nl2:
+ trap = 0;
+nlt:
+ if (dip != d)
+ nl = dip->dnl;
+ else
+ nl = numtab[NL].val;
+ if (vpt <= 0)
+ /*EMPTY*/;
+ else if (nl == 0) {
+ if ((j = findn(dip, 0)) != NTRAP)
+ trap |= control(dip->mlist[j], 0);
+ } else if ((i = _findt(dip, nl - nlss, 0)) <= nlss) {
+ if ((j = findn1(dip, nl - nlss + i)) == NTRAP) {
+ flusho();
+ errprint("Trap botch.");
+ done2(-5);
+ }
+ trap |= control(dip->mlist[j], 0);
+ }
+ if (nolt && dip == d) {
+ for (i = nolt - 1; i >= 0; i--)
+ trap |= control(olt[i], 0);
+ nolt = 0;
+ free(olt);
+ olt = NULL;
+ }
+}
+
+
+int
+findn1(struct d *dp, int a)
+{
+ register int i, j;
+
+ for (i = 0; i < NTRAP; i++) {
+ if (dp->mlist[i]) {
+ if ((j = dp->nlist[i]) < 0 && dp == d)
+ j += pl;
+ if (j == a)
+ break;
+ }
+ }
+ return(i);
+}
+
+
+void
+chkpn(void)
+{
+ pto = *(pnp++);
+ pfrom = pto>=0 ? pto : -pto;
+ if (pto == -32767) {
+ flusho();
+ done1(0);
+ }
+ if (pto < 0) {
+ pto = -pto;
+ print++;
+ pfrom = 0;
+ }
+}
+
+
+int
+findt(struct d *dp, int a)
+{
+ return _findt(dp, a, 1);
+}
+
+static int
+_findt(struct d *dp, int a, int maydi)
+{
+ register int i, j, k;
+
+ k = INT_MAX;
+ if (dip != d && maydi) {
+ if (dip->dimac && (i = dip->ditrap - a) > 0)
+ k = i;
+ }
+ for (i = 0; i < NTRAP; i++) {
+ if (dp->mlist[i]) {
+ if ((j = dp->nlist[i]) < 0 && dp == d)
+ j += pl;
+ if ((j -= a) <= 0)
+ continue;
+ if (j < k)
+ k = j;
+ }
+ }
+ if (dp == d) {
+ i = pl - a;
+ if (k > i)
+ k = i;
+ }
+ return(k);
+}
+
+
+int
+findt1(void)
+{
+ register int i;
+
+ if (dip != d)
+ i = dip->dnl;
+ else
+ i = numtab[NL].val;
+ return(findt(dip, i));
+}
+
+
+void
+eject(struct s *a)
+{
+ register int savlss;
+
+#ifdef NROFF
+ if (ndraw) npic(0);
+#endif
+ if (dip != d)
+ return;
+ if (vpt == 0) {
+ if (donef == 0) {
+ errprint("page not ejected because traps are disabled");
+ return;
+ }
+ errprint("page forcefully ejected although traps are disabled");
+ vpt = -1;
+ }
+ ejf++;
+ if (a)
+ ejl = a->tail_cnt;
+ else
+ ejl = frame->tail_cnt;
+ if (trap)
+ return;
+e1:
+ savlss = lss;
+ lss = findt(d, numtab[NL].val);
+ newline(0);
+ lss = savlss;
+ if (numtab[NL].val && !trap)
+ goto e1;
+}
+
+
+static int
+maybreak(tchar c, int dv)
+{
+ int i, k = cbits(c);
+
+ if (c & BLBIT)
+ return 1;
+ if (iszbit(c))
+ return 0;
+ switch (breakch[0]) {
+ case IMP:
+ return 0;
+ case 0:
+ return (!gemu || dv) && (k == '-' || k == EMDASH);
+ default:
+ for (i = 0; breakch[i] && i < NSENT; i++)
+ if (breakch[i] == k)
+ return 1;
+ return 0;
+ }
+}
+
+static int
+nhychar(tchar c)
+{
+ int i, k = cbits(c);
+
+ switch (nhych[0]) {
+ case IMP:
+ return 0;
+ case 0:
+ if (hyext)
+ return 0;
+ return k == '-' || k == EMDASH;
+ default:
+ for (i = 0; nhych[i] && i < NSENT; i++)
+ if (nhych[i] == k)
+ return 1;
+ return 0;
+ }
+}
+
+static int
+ishyp(tchar *wp)
+{
+ tchar *tp;
+ int yes = 0;
+
+ tp = (tchar *)((intptr_t)*hyp & ~(intptr_t)03);
+ if (hyoff != 1 && tp == wp && !iszbit(*wp)) {
+ if (!wdstart || (wp > wdstart + 1 && wp < wdend &&
+ (!(wdhyf & 04) || wp < wdend - 1) && /* 04 => last 2 */
+ (!(wdhyf & 010) || wp > wdstart + 2)) || /* 010 => 1st 2 */
+ (wdhyf & 020 && wp == wdend) || /* 020 = allow last */
+ (wdhyf & 040 && wp == wdstart + 1)) /* 040 = allow first */
+ yes = 1;
+ hyp++;
+ }
+ return yes;
+}
+
+
+int
+movword(void)
+{
+ register int w;
+ register tchar i, *wp, c, *lp, *lastlp, lasti = 0;
+ int savwch, hys, stretches = 0, wholewd = 0, mnel, hyphenated = 0;
+ int hc;
+#ifndef NROFF
+ tchar lgs = 0, lge = 0, optlgs = 0, optlge = 0;
+ int *ip, s, lgw = 0, optlgw = 0, lgr = 0, optlgr = 0;
+ tchar *optlinep = NULL, *optwp = NULL;
+ int optnc = 0, optnel = 0, optne = 0, optadspc = 0, optwne = 0,
+ optwch = 0, optwholewd = 0,
+ optlsplow = 0, optlsphigh = 0, optlspnc = 0, optfldcnt = 0,
+ optlshwid = 0, optlshlow = 0, optlshhigh = 0;
+#else /* NROFF */
+#define lgw 0
+#define optlinep 0
+#endif /* NROFF */
+
+ if (pa || padj) {
+ parword();
+ return(0);
+ }
+ over = 0;
+ wp = wordp;
+ if (!nwd) {
+ while ((c = cbits(i = *wp++)) == ' ') {
+ if (iszbit(i))
+ break;
+ wch--;
+ wne -= xflag ? width(i) : sps;
+ if (xflag && linep > line)
+ storeline(adjbit(i), 0);
+ }
+ wp--;
+ if (wp > wordp)
+ wne -= kernadjust(wp[-1], wp[0]);
+ leftend(*wp, admod != 1 && admod != 2, 1);
+ }
+ if (wdhyf == -1)
+ wdhyf = hyf;
+ wsp = 0;
+ if (wne > nel - adspc && !hyoff && wdhyf && (hlm < 0 || hlc < hlm) &&
+ (!nwd || nel + lsplow + lshlow - adspc >
+ 3 * (minsps && ad && !admod ? minsps : sps)) &&
+ (!(wdhyf & 02) || (findt1() > lss)))
+ hyphen(wp);
+ savwch = wch;
+ hyp = hyptr;
+ nhyp = 0;
+ while (*hyp && *hyp <= wp)
+ hyp++;
+ while (wch) {
+ if (ishyp(wp)) {
+ i = IMP;
+ setsbits(i, (intptr_t)(hyp[-1]) & 03);
+ if (storeline(i, 0))
+ nhyp++;
+ }
+ i = *wp++;
+ minflg = minspsz && ad && !admod;
+ w = width(i);
+ storelsh(i, rawwidth);
+ adspc += minspc;
+ w += kernadjust(i, *wp);
+ wne -= w;
+ wch--;
+ if (cbits(i) == STRETCH && cbits(lasti) != STRETCH)
+ stretches++;
+ lasti = i;
+ storeline(i, w);
+ if (letsps)
+ storelsp(i, 0);
+ }
+ *linep = *wp;
+ lastlp = linep;
+ mnel = ad && !admod ? (sps - minsps) * nwd : 0;
+ if (nel >= 0 || (nel + lsplow + lshlow >= 0 &&
+ lspnc - (nwd ? nwd : 1) > 0)) {
+ if ((nel >= 0 && nwd && nel - adspc < 0 && nel / nwd < sps) ||
+ (nel < 0 && nel + lsplow + lshlow >= 0)) {
+ wholewd = 1;
+ goto m0;
+ }
+ nwd += stretches + 1;
+ if (nel - adspc < 0 && nwd > 1)
+ adflg |= 5;
+ w = kernadjust(lasti, ' ' | (spbits?spbits:sfmask(lasti)));
+ ne += w;
+ nel -= w;
+ return(0); /* line didn't fill up */
+ }
+m0:
+ hc = shc ? shc : HYPHEN;
+#ifndef NROFF
+ xbits((tchar)hc, 1);
+#endif
+ hys = width((tchar)hc);
+ if (wholewd)
+ goto m1a;
+m1:
+ if (!nhyp) {
+ if (!nwd)
+ goto m3;
+ if (wch == savwch) {
+ if (optlinep)
+ goto m2;
+ goto m4;
+ }
+ }
+ if ((*--linep & ~SMASK) != IMP)
+ goto m5;
+#ifndef NROFF
+ i = *(linep + 1);
+ if ((s = sbits(*linep)) != 0 &&
+ (ip = lgrevtab[fbits(i)][cbits(i)]) != NULL) {
+ lgs = strlg(fbits(i), ip, s) | sfmask(i) | AUTOLIG;
+ for (w = 0; ip[s+w]; w++);
+ lge = strlg(fbits(i), &ip[s], w) | sfmask(i) | AUTOLIG;
+ lgw = width(lgs);
+ lgr = rawwidth;
+ if (linep - 1 >= wordp) {
+ lgw += kernadjust(i, *(linep - 1));
+ lgw -= kernadjust(*(linep + 1), *(linep - 1));
+ }
+ } else {
+ lgs = 0;
+ lge = 0;
+ lgw = 0;
+ }
+#endif /* !NROFF */
+ if (!(--nhyp))
+ if (!nwd)
+ goto m2;
+ if (nel + lsplow + lshlow < hys + lgw) {
+ nc--;
+ goto m1;
+ }
+ if (nel >= mnel + hys + lgw)
+ goto m2;
+ wholewd = 0;
+m1a:
+#ifndef NROFF
+ if ((minspsz && ad && !admod &&
+ wch < savwch && nwd && nel / nwd > 0 && nel < mnel) ||
+ (nel + lsplow + lshlow >= (wholewd ? 0 : hys + lgw) &&
+ nel < (wholewd ? 0 : hys + lgw))) {
+ optlgs = lgs, optlge = lge, optlgw = lgw, optlgr = lgr;
+ optlinep = linep, optwp = wp, optnc = nc, optnel = nel,
+ optne = ne, optadspc = adspc, optwne = wne, optwch = wch;
+ optlsplow = lsplow, optlsphigh = lsphigh, optlspnc = lspnc;
+ optfldcnt = fldcnt;
+ optlshwid = lshwid, optlshlow = lshlow, optlshhigh = lshhigh;
+ optwholewd = wholewd;
+ nc -= !wholewd;
+ goto m1;
+ } else if (wholewd) {
+ wholewd = 0;
+ goto m1;
+ }
+#endif
+m2:
+#ifndef NROFF
+ if (optlinep && 3*abs(optnel - mnel) < 5*abs(nel - mnel)) {
+ lgs = optlgs, lge = optlge, lgw = optlgw, lgr = optlgr;
+ linep = optlinep, wp = optwp, nc = optnc, nel = optnel,
+ ne = optne, adspc = optadspc, wne = optwne, wch = optwch;
+ lsplow = optlsplow, lsphigh = optlsphigh, lspnc = optlspnc;
+ fldcnt = optfldcnt;
+ lshwid = optlshwid, lshlow = optlshlow, lshhigh = optlshhigh;
+ if ((wholewd = optwholewd))
+ goto m3;
+ } else if (optlinep && wch == savwch && !nhyp)
+ goto m4;
+ if (lgs != 0) {
+ *wp = lge;
+ storeline(lgs, lgw);
+ storelsh(lgs, lgr);
+ }
+#endif /* !NROFF */
+ if (!maybreak(*(linep - 1), 1)) {
+ *linep = sfmask(*(linep - 1)) | hc;
+ w = -kernadjust(*(linep - 1), *(linep + 1));
+ w += kernadjust(*(linep - 1), *linep);
+ w += width(*linep);
+ storelsh(*linep, rawwidth);
+ w += kernadjust(*linep, ' ' | sfmask(*linep));
+ nel -= w;
+ ne += w;
+ if (letsps)
+ storelsp(*linep, 0);
+ linep++;
+ hyphenated++;
+ }
+m3:
+ nwd++;
+m4:
+ if (letsps && linep > line)
+ storelsp(linep[-1], 1);
+ adflg &= ~1;
+ adflg |= 4;
+ wordp = wp;
+ if (hyphenated)
+ hlc++;
+ else
+ hlc = 0;
+ return(1); /* line filled up */
+m5:
+ nc--;
+ minflg = minspsz && ad && !admod;
+ w = width(*linep);
+ storelsh(*linep, -rawwidth);
+ adspc -= minspc;
+ for (lp = &linep[1]; lp < lastlp && cbits(*lp) == IMP; lp++);
+ w += kernadjust(*linep, *lp ? *lp : ' ' | sfmask(*linep));
+ ne -= w;
+ nel += w;
+ wne += w;
+ wch++;
+ wp--;
+ if (letsps)
+ storelsp(*linep, 1);
+ goto m1;
+}
+
+
+void
+horiz(int i)
+{
+ vflag = 0;
+ if (i)
+ pchar(makem(i));
+}
+
+
+void
+setnel(void)
+{
+ if (!nc) {
+ linep = line;
+ if (un1 >= 0 && (!pgwords || pglines)) {
+ un = un1;
+ un1 = -1;
+ }
+ nel = ll - un;
+ rhang = ne = adsp = adrem = adspc = 0;
+#ifndef NROFF
+ lsplow = lsphigh = lspcur = lsplast = lspnc = fldcnt = 0;
+ lshwid = lshhigh = lshlow = lshcur = 0;
+#endif /* !NROFF */
+ cht = cdp = 0;
+ }
+}
+
+
+int
+getword(int x)
+{
+ register int j, k = 0, w;
+ register tchar i = 0, *wp, nexti, gotspc = 0, t;
+ int noword, n, inword = 0;
+ int lastsp = ' ';
+ static int dv;
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ wchar_t *wddelim;
+ char mbbuf3[MB_LEN_MAX + 1];
+ char *mbbuf3p;
+ int wbf;
+ tchar m;
+#endif /* EUC && NROFF && ZWDELIMS */
+
+ dv = 0;
+ noword = 0;
+ if (x)
+ if (pendw) {
+ *pendw = 0;
+ goto rtn;
+ }
+ if ((wordp = pendw))
+ goto g1;
+ hyp = hyptr;
+ wordp = word;
+ over = wne = wch = 0;
+ hyoff = 0;
+ wdhyf = -1;
+ memset(wdpenal, 0, wdsize * sizeof *wdpenal);
+ n = 0;
+ while (1) { /* picks up 1st char of word */
+ j = cbits(i = GETCH());
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ if (multi_locale)
+ collectmb(i);
+#endif /* EUC && NROFF && ZWDELIMS */
+ if (j == '\n') {
+ wne = wch = 0;
+ noword = 1;
+ goto rtn;
+ }
+ if (j == ohc) {
+ hyoff = 1; /* 1 => don't hyphenate */
+ continue;
+ }
+ if ((j == ' ' || (padj && j == STRETCH)) && !iszbit(i)) {
+ lastsp = j;
+ n++;
+ if (isadjspc(i))
+ w = 0;
+ else if (xflag && seflg && sesspsz == 0) {
+ i |= ZBIT;
+ w = 0;
+ } else if (xflag && seflg && sesspsz && n == 1) {
+ if (spbits) {
+ i = lastsp | SENTSP | spbits;
+ w = width(i);
+ } else
+ w = ses;
+ } else if (spbits && xflag) {
+ i = lastsp | spbits;
+ w = width(i);
+ } else
+ w = sps;
+ cht = cdp = 0;
+ storeword(i, w);
+ numtab[HP].val += w;
+ if (!isadjspc(j)) {
+ widthp = w;
+ gotspc = i;
+ spbits = sfmask(i);
+ }
+ continue;
+ }
+ if (gotspc) {
+ k = kernadjust(gotspc, i);
+ numtab[HP].val += k;
+ wne += k;
+ widthp += k;
+ }
+ break;
+ }
+ seflg = 0;
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ if (!multi_locale)
+ goto a0;
+ if (wddlm && iswprint(wceoll) && iswprint(cwc) &&
+ (!iswascii(wceoll) || !iswascii(cwc)) &&
+ !iswspace(wceoll) && !iswspace(cwc)) {
+ wddelim = (*wddlm)(wceoll, cwc, 1);
+ wceoll = 0;
+ if (*wddelim != ' ') {
+ if (!*wddelim) {
+ storeword(((*wdbdg)(wceoll, cwc, 1) < 3) ?
+ ZWDELIM(1) : ZWDELIM(2), 0);
+ } else {
+ while (*wddelim) {
+ if ((n = wctomb(mbbuf3, *wddelim++))
+ > 0) {
+ m = setuc0(wddelim[-1]);
+ storeword(m, -1);
+ } else {
+ storeword(' ' | chbits, sps);
+ break;
+ }
+ }
+ }
+ spflg = 0;
+ goto g0;
+ }
+ }
+a0:
+#endif /* EUC && NROFF && ZWDELIMS */
+ if (spbits && xflag) {
+ t = lastsp | spbits;
+ w = width(t);
+ } else {
+ t = lastsp | chbits;
+ w = sps;
+ }
+ cdp = cht = 0;
+ if (chompend) {
+ chompend = 0;
+ } else {
+ storeword(t, w + k);
+ }
+ if (spflg) {
+ if (xflag == 0 || ses != 0)
+ storeword(t | SENTSP, ses);
+ spflg = 0;
+ }
+ if (!nwd)
+ wsp = wne;
+g0:
+ if (ninlev)
+ wdhyf = hyf;
+ if (j == CONT) {
+ pendw = wordp;
+ nflush = 0;
+ flushi();
+ return(1);
+ }
+ if (hyoff != 1) {
+ if (j == ohc) {
+ if (!inword && xflag) {
+ hyoff = 1;
+ goto g1;
+ }
+ hyoff = 2;
+ *hyp++ = wordp;
+ if (hyp > (hyptr + NHYP - 1))
+ hyp = hyptr + NHYP - 1;
+ if (isblbit(i) && wordp > word)
+ wordp[-1] |= BLBIT;
+ goto g1;
+ }
+ if (maybreak(j, dv)) {
+ if (wordp > word + 1) {
+ int i;
+ if (!xflag)
+ hyoff = 2;
+ if (gemu && hyp > hyptr && wordp > word
+ && hyp[-1] == wordp && (
+ (i = cbits(wordp[-1])) == '-'
+ || i == EMDASH))
+ hyp--;
+ *hyp++ = wordp + 1;
+ if (hyp > (hyptr + NHYP - 1))
+ hyp = hyptr + NHYP - 1;
+ }
+ } else {
+ int i = cbits(j);
+ dv = alph(j) || (i >= '0' && i <= '9');
+ }
+ if (xflag && nhychar(j))
+ hyoff = 2;
+ }
+ j = width(i);
+ numtab[HP].val += j;
+ storeword(i, j);
+ if (1) {
+ int oev = ev;
+ nexti = GETCH();
+ if (ev == oev) {
+ if (cbits(nexti) == '\n')
+ t = ' ' | chbits;
+ else
+ t = nexti;
+ k = kernadjust(i, t);
+ wne += k;
+ widthp += k;
+ numtab[HP].val += k;
+ }
+ } else
+g1: nexti = GETCH();
+ j = cbits(i = nexti);
+ if (gemu && (j == FILLER || j == UNPAD))
+ inword = 0;
+ else
+ if (!ismot(i) && j != ohc)
+ inword = 1;
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ if (multi_locale)
+ collectmb(i);
+#endif /* EUC && NROFF && ZWDELIMS */
+ {
+ static int sentchar[] =
+ { '.', '?', '!', ':', 0 }; /* sentence terminators */
+ int *sp, *tp;
+ static int transchar[] =
+ { '"', '\'', ')', ']', '*', 0, 0 };
+ transchar[5] = DAGGER;
+ if ((j != '\n' && j != ' ' && (!padj || j != STRETCH)) ||
+ ismot(i) || iszbit(i) ||
+ isadjspc(i))
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ if (!multi_locale)
+#endif /* EUC && NROFF && ZWDELIMS */
+ goto g0;
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ else {
+ if (!wdbdg || (iswascii(cwc) && iswascii(owc)))
+ goto g0;
+ if ((wbf = (*wdbdg)(owc, cwc, 1)) < 5) {
+ storeword((wbf < 3) ? ZWDELIM(1) :
+ ZWDELIM(2), 0);
+ *wordp = 0;
+ goto rtn;
+ } else goto g0;
+ }
+#endif /* EUC && NROFF && ZWDELIMS */
+ if (j == STRETCH && padj)
+ storeword(mkxfunc(PENALTY, INFPENALTY), 0);
+ wp = wordp-1; /* handle extra space at end of sentence */
+ sp = *sentch ? sentch : sentchar;
+ tp = *transch ? transch : transchar;
+ while (sp[0] != IMP && wp >= word) {
+ j = cbits(*wp--);
+ if (istrans(wp[1]))
+ goto cont;
+ for (k = 0; tp[0] != IMP && tp[k] && k < NSENT; k++)
+ if (j == tp[k])
+ goto cont;
+ for (k = 0; sp[k] && k < NSENT; k++)
+ if (j == sp[k]) {
+ if (nlflg)
+ spflg++;
+ else
+ seflg++;
+ break;
+ }
+ break;
+ cont:;
+ }
+ }
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+ wceoll = owc;
+#endif /* EUC && NROFF && ZWDELIMS */
+ *wordp = 0;
+ numtab[HP].val += xflag ? width(i) : sps;
+rtn:
+ if (i & SFMASK)
+ spbits = sfmask(i);
+ else if (i == '\n')
+ spbits = chbits;
+ for (wp = word; *wp; wp++) {
+ j = cbits(*wp);
+ if ((j == ' ' || j == STRETCH) && !iszbit(j) && !isadjspc(j))
+ continue;
+ if (!ischar(j) || (!isdigit(j) && j != '-'))
+ break;
+ }
+ if (*wp == 0) /* all numbers, so don't hyphenate */
+ hyoff = 1;
+ wdstart = 0;
+ wordp = word;
+ pendw = 0;
+ *hyp++ = 0;
+ setnel();
+ return(noword);
+}
+
+
+void
+storeword(register tchar c, register int w)
+{
+
+ if (wordp == NULL || wordp >= &word[wdsize - 3]) {
+ tchar *k, **h;
+ ptrdiff_t j;
+ int *pp, owdsize;
+ if (over)
+ return;
+ owdsize = wdsize;
+ wdsize += wdsize ? 100 : WDSIZE;
+ if ((k = realloc(word, wdsize * sizeof *word)) == NULL ||
+ (pp = realloc(wdpenal,
+ wdsize * sizeof *wdpenal)) == NULL) {
+ flusho();
+ errprint("Word overflow.");
+ over++;
+ c = LEFTHAND;
+ w = -1;
+ wdsize = owdsize;
+ goto s1;
+ }
+ j = (char *)k - (char *)word;
+ wordp = (tchar *)((char *)wordp + j);
+ for (h = hyptr; h < hyp; h++)
+ if (*h)
+ *h = (tchar *)((char *)*h + j);
+ word = k;
+ wdpenal = pp;
+ memset(&wdpenal[owdsize], 0,
+ (wdsize - owdsize) * sizeof *wdpenal);
+ }
+s1:
+ if (isxfunc(c, PENALTY)) {
+ wdpenal[max(0, wordp - word - 1)] = sbits(c) | 0x80000000;
+ return;
+ }
+ if (isxfunc(c, DPENAL)) {
+ if ((wdpenal[max(0, wordp - word - 1)]&0x80000000) == 0)
+ wdpenal[max(0, wordp - word - 1)] = sbits(c);
+ return;
+ }
+ if (w == -1)
+ w = width(c);
+ widthp = w;
+ sethtdp();
+ wne += w;
+ *wordp++ = c;
+ wch++;
+ if (dpenal)
+ wdpenal[max(0, wordp - word - 1)] = dpenal;
+}
+
+
+#ifdef NROFF
+tchar gettch(void)
+{
+ extern int c_isalnum;
+ tchar i;
+ int j;
+
+ i = getch();
+ j = cbits(i);
+ if (ismot(i) || fbits(i) != ulfont)
+ return(i);
+ if (cu) {
+ if (trtab[j] == ' ') {
+ setcbits(i, '_');
+ setfbits(i, FT); /* default */
+ }
+ return(i);
+ }
+ /* should test here for characters that ought to be underlined */
+ /* in the old nroff, that was the 200 bit on the width! */
+ /* for now, just do letters, digits and certain special chars */
+ if (j <= 127) {
+ if (!isalnum(j))
+ setfbits(i, FT);
+ } else {
+ if (j < c_isalnum)
+ setfbits(i, FT);
+ }
+ return(i);
+}
+
+
+#endif
+#if defined (EUC) && defined (NROFF) && defined (ZWDELIMS)
+int
+collectmb(tchar i)
+{
+ owc = cwc;
+ cwc = tr2un(cbits(i), fbits(i));
+ return(0);
+}
+
+
+#endif /* EUC && NROFF && ZWDELIMS */
+
+static tchar
+adjbit(tchar c)
+{
+ if (cbits(c) == ' ')
+ setcbits(c, WORDSP);
+ return(c | ADJBIT);
+}
+
+static void
+sethtdp(void)
+{
+ if ((cht = lastrst) > maxcht)
+ maxcht = cht;
+ if ((cdp = -lastrsb) > maxcdp)
+ maxcdp = cdp;
+}
+
+static void
+leftend(tchar c, int hang, int dolpfx)
+{
+ int k, w;
+
+ if (dolpfx && lpfx) {
+ if (hang)
+ setlhang(lpfx[0]);
+ for (k = 0; lpfx[k]; k++) {
+ w = width(lpfx[k]);
+ w += k ? kernadjust(lpfx[k-1], lpfx[k]) : 0;
+ storeline(lpfx[k], w);
+ }
+ if (k) {
+ w = kernadjust(lpfx[k-1], c);
+ nel -= w;
+ ne += w;
+ }
+ } else if (hang)
+ setlhang(c);
+}
+
+#ifndef NROFF
+static void
+setlhang(tchar c)
+{
+ int k;
+
+ if (lhangtab != NULL && !ismot(c) && cbits(c) != SLANT &&
+ cbits(c) != XFUNC &&
+ lhangtab[fbits(c)] != NULL &&
+ (k = lhangtab[fbits(c)][cbits(c)]) != 0) {
+ width(c); /* set xpts */
+ k = (k * u2pts(xpts) + (Unitwidth / 2)) / Unitwidth;
+ nel -= k;
+ storeline(makem(k), 0);
+ }
+}
+
+static void
+setrhang(void)
+{
+ int j, k;
+ tchar c;
+
+ if (nc > 0) {
+ c = 0;
+ for (j = nc - 1; j >= 0; j--)
+ if ((c = line[j]) != IMP)
+ break;
+ width(c);
+ j = lasttrack;
+ j += kernadjust(c, ' ' | sfmask(c));
+ if (admod != 1 && rhangtab != NULL && !ismot(c) &&
+ rhangtab[xfont] != NULL &&
+ (k = rhangtab[xfont][cbits(c)]) != 0) {
+ rhang = (k * u2pts(xpts) + (Unitwidth / 2)) / Unitwidth;
+ j += rhang;
+ }
+ ne -= j;
+ nel += j;
+ }
+}
+
+static void
+letshrink(void)
+{
+ int diff, nsp, lshdiff;
+
+ nsp = nwd == 1 ? nwd : nwd - 1;
+ diff = nel;
+ if (lspnc && lsplow)
+ diff += nel * nsp / lspnc;
+ if (lshwid) {
+ if (lshlow < -diff / 2)
+ lshcur = -lshmin;
+ else if (lsplow < -diff / 2)
+ lshcur = (double)(diff - lsplow) / lshwid * LAFACT;
+ else
+ lshcur = (double)diff / 2 / lshwid * LAFACT;
+ lshdiff = (double)lshcur / LAFACT * lshwid;
+ nel -= lshdiff;
+ ne += lshdiff;
+ } else
+ lshdiff = 0;
+ diff -= lshdiff;
+ if (lsplow)
+ lspcur = lspmin * diff / lsplow;
+ else
+ lspcur = 0;
+ ne += lspcomp(lshdiff);
+}
+
+static int
+letgrow(void)
+{
+ int diff, n, nsp, lshdiff;
+
+ nsp = nwd == 1 ? nwd : nwd - 1;
+ if ((lspnc - nsp <= 0 || lsphigh <= 0) && lshhigh <= 0)
+ return 0;
+ n = (letsps - (minsps && ad && !admod ? minsps : sps)) * nsp;
+ diff = nel;
+ if (lspnc && lsphigh)
+ diff += nel * nsp / lspnc - n;
+ if (lshwid) {
+ if (lshhigh < diff / 2)
+ lshcur = lshmax;
+ else if (lsphigh < diff / 2)
+ lshcur = (double)(diff - lsphigh) / lshwid * LAFACT;
+ else
+ lshcur = (double)diff / 2 / lshwid * LAFACT;
+ lshdiff = (double)lshcur / LAFACT * lshwid;
+ nel -= lshdiff;
+ ne += lshdiff;
+ } else
+ lshdiff = 0;
+ diff -= lshdiff;
+ if (diff > lsphigh)
+ diff = lsphigh;
+ if (lsphigh)
+ lspcur = lspmax * diff / lsphigh;
+ else
+ lspcur = 0;
+ return lspcomp(lshdiff);
+}
+
+static int
+lspcomp(int idiff)
+{
+ int diff = 0, i;
+ tchar c;
+
+ diff = 0;
+ for (i = 0; i < nc; i++)
+ if (!ismot(c = line[i])) {
+ if (isxfunc(c, FLDMARK))
+ diff = lsplast = 0;
+ else if (cbits(c) > ' ' || isxfunc(c, CHAR)) {
+ while (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ lsplast = (int)sbits(c) / 2 * lspcur / LAFACT;
+ diff += lsplast;
+ }
+ }
+ diff -= lsplast;
+ nel -= diff;
+ ne += lsplast;
+ return idiff + diff;
+}
+#endif /* !NROFF */
+
+/*
+ * A dynamic programming approach to line breaking over
+ * a paragraph as introduced by D. E. Knuth & M. F. Plass,
+ * "Breaking paragraphs into lines", Software - Practice
+ * and Experience, Vol. 11, Issue 12 (1981), pp. 1119-1184.
+ */
+
+static double
+penalty(int k, int s, int h, int h2, int h3)
+{
+ double t, d;
+
+ t = nel - k;
+ t = t >= 0 ? t * 5 / 3 : -t;
+ if (ad && !admod) {
+ d = s;
+ if (k - s && (letsps || lshmin || lshmax))
+ d += (double)(k - s) / 100;
+ if (d)
+ t /= d;
+ } else
+ t /= nel / 10;
+ if (h && hypp)
+ t += hypp;
+ if (h2 && hypp2)
+ t += hypp2;
+ if (h3 && hypp3)
+ t += hypp3;
+ t = t * t * t;
+ if (t > MAXPENALTY)
+ t = MAXPENALTY;
+ return t;
+}
+
+static void
+parcomp(int start)
+{
+ double *cost, *_cost;
+ long double t;
+ int *prevbreak, *hypc, *_hypc, *brcnt, *_brcnt;
+ int i, j, k, m, h, v, s;
+
+ _cost = malloc((pgsize + 1) * sizeof *_cost);
+ cost = &_cost[1];
+ _hypc = calloc(pgsize + 1, sizeof *_hypc);
+ hypc = &_hypc[1];
+ _brcnt = calloc(pgsize + 1, sizeof *_brcnt);
+ brcnt = &_brcnt[1];
+ prevbreak = calloc(pgsize, sizeof *prevbreak);
+ for (i = -1; i < start; i++)
+ cost[i] = 0;
+ for (i = start; i < pgwords; i++)
+ cost[i] = HUGE_VAL;
+ for (i = start; i < pgwords; i++) {
+ if (pshapes) {
+ j = brcnt[i-1];
+ if (j < pshapes)
+ nel = pgll[j] - pgin[j];
+ else
+ nel = pgll[pshapes-1] - pgin[pshapes-1];
+ } else if (un != in) {
+ nel = ll;
+ nel -= i > start ? in : un;
+ }
+ k = pgwordw[i] + pglgsw[i];
+ m = pglsphc[i] + pglgsh[i];
+ s = 0;
+ for (j = i; j < pgwords; j++) {
+ if (j > i) {
+ k += pgspacw[j] + pgwordw[j];
+ m += pgadspc[j] + pglsphc[j];
+ s += pgspacw[j];
+ }
+ v = k + pghyphw[j] + pglgew[j];
+ if (v - m - pglgeh[j] <= nel) {
+ if (!spread && j == pgwords - 1 &&
+ pgpenal[j] == 0)
+ t = 0;
+ else
+ t = penalty(v, s, pghyphw[j],
+ pghyphw[j] && hypc[i-1],
+ pghyphw[j] && j >= pglastw);
+ t += pgpenal[j];
+ t += cost[i-1];
+ /*fprintf(stderr, "%c%c%c%c to %c%c%c%c "
+ "t=%g cost[%d]=%g "
+ "brcnt=%d oldbrcnt=%d\n",
+ (char)para[pgwordp[i]],
+ (char)para[pgwordp[i]+1],
+ (char)para[pgwordp[i]+2],
+ (char)para[pgwordp[i]+3],
+ (char)para[pgwordp[j+1]-4],
+ (char)para[pgwordp[j+1]-3],
+ (char)para[pgwordp[j+1]-2],
+ (char)para[pgwordp[j+1]-1],
+ t, j, cost[j],
+ 1 + brcnt[i-1],
+ brcnt[j]
+ );*/
+ if ((double)t <= cost[j]) {
+ if (pghyphw[j])
+ h = hypc[i-1] + 1;
+ else
+ h = 0;
+ /*
+ * This is not completely
+ * correct: It might be
+ * preferable to disallow
+ * an earlier hyphenation
+ * point. But it seems
+ * good enough.
+ */
+ if (hlm < 0 || h <= hlm) {
+ hypc[j] = h;
+ cost[j] = t;
+ prevbreak[j] = i;
+ brcnt[j] = 1 + brcnt[i-1];
+ }
+ }
+ } else {
+ if (j == i) {
+ t = 1 + cost[i-1];
+ cost[j] = t;
+ prevbreak[j] = i;
+ brcnt[j] = 1 + brcnt[i-1];
+ }
+ break;
+ }
+ }
+ }
+ /*for (i = 0; i < pgwords; i++)
+ fprintf(stderr, "cost[%d] = %g %c%c%c%c to %c%c%c%c\n",
+ i, cost[i],
+ (char)para[pgwordp[prevbreak[i]]],
+ (char)para[pgwordp[prevbreak[i]]+1],
+ (char)para[pgwordp[prevbreak[i]]+2],
+ (char)para[pgwordp[prevbreak[i]]+3],
+ (char)para[pgwordp[i]],
+ (char)para[pgwordp[i]+1],
+ (char)para[pgwordp[i]+2],
+ (char)para[pgwordp[i]+3]
+ );*/
+ pglines = 0;
+ memset(&pgopt[pglnout], 0, (pgsize - pglnout) * sizeof *pgopt);
+ i = j = pgwords - 1;
+ do {
+ pglines++;
+ j = prevbreak[j];
+ pgopt[i--] = j--;
+ } while (j >= start && i >= pglnout);
+ memmove(&pgopt[pglnout+1], &pgopt[i+2], pglines * sizeof *pgopt);
+ pgopt[pglnout] = start;
+ free(_cost);
+ free(_hypc);
+ free(_brcnt);
+ free(prevbreak);
+}
+
+void
+growpgsize(void)
+{
+ pgsize += 20;
+ pgwordp = realloc(pgwordp, pgsize * sizeof *pgwordp);
+ pgwordw = realloc(pgwordw, pgsize * sizeof *pgwordw);
+ pghyphw = realloc(pghyphw, pgsize * sizeof *pghyphw);
+ pgadspc = realloc(pgadspc, pgsize * sizeof *pgadspc);
+ pglsphc = realloc(pglsphc, pgsize * sizeof *pglsphc);
+ pgopt = realloc(pgopt, pgsize * sizeof *pgopt);
+ pgspacp = realloc(pgspacp, pgsize * sizeof *pgspacp);
+ pgspacw = realloc(pgspacw, pgsize * sizeof *pgspacw);
+ pglgsc = realloc(pglgsc, pgsize * sizeof *pglgsc);
+ pglgec = realloc(pglgec, pgsize * sizeof *pglgec);
+ pglgsw = realloc(pglgsw, pgsize * sizeof *pglgsw);
+ pglgew = realloc(pglgew, pgsize * sizeof *pglgew);
+ pglgsh = realloc(pglgsh, pgsize * sizeof *pglgsh);
+ pglgeh = realloc(pglgeh, pgsize * sizeof *pglgeh);
+ pgin = realloc(pgin, pgsize * sizeof *pgin);
+ pgll = realloc(pgll, pgsize * sizeof *pgll);
+ pgwdin = realloc(pgwdin, pgsize * sizeof *pgwdin);
+ pgwdll = realloc(pgwdll, pgsize * sizeof *pgwdll);
+ pgflags = realloc(pgflags, pgsize * sizeof *pgflags);
+ pglno = realloc(pglno, pgsize * sizeof *pglno);
+ pgpenal = realloc(pgpenal, pgsize * sizeof *pgpenal);
+ if (pgwordp == NULL || pgwordw == NULL || pghyphw == NULL ||
+ pgopt == NULL || pgspacw == NULL ||
+ pgadspc == NULL || pglsphc == NULL ||
+ pglgsc == NULL || pglgec == NULL ||
+ pglgsw == NULL || pglgew == NULL ||
+ pglgsh == NULL || pglgeh == NULL ||
+ pgin == NULL || pgll == NULL ||
+ pgwdin == NULL || pgwdll == NULL ||
+ pgflags == NULL || pglno == NULL ||
+ pgpenal == NULL || pgwdin == NULL || pgwdin == NULL) {
+ errprint("out of memory justifying paragraphs");
+ done(02);
+ }
+}
+
+static void
+parlgzero(int i)
+{
+ pglgsc[i] = 0;
+ pglgec[i] = 0;
+ pglgsw[i] = 0;
+ pglgew[i] = 0;
+ pglgsh[i] = 0;
+ pglgeh[i] = 0;
+}
+
+static float
+makepgpenal(int p)
+{
+ p &= ~0x80000000;
+ p -= INFPENALTY0 + 1;
+ if (p >= INFPENALTY0)
+ return INFPENALTY;
+ else if (p <= -INFPENALTY0)
+ return -INFPENALTY;
+ else
+ return p * PENALSCALE;
+}
+
+static void
+parword(void)
+{
+ int a, c, w, hc;
+ tchar i, *wp;
+
+ if (pgwords + 1 >= pgsize)
+ growpgsize();
+ hc = shc ? shc : HYPHEN;
+ pglastw = pgwords;
+ wp = wordp;
+ a = w = 0;
+ pglno[pgwords] = numtab[CD].val;
+ pgspacp[pgwords] = pgspacs;
+ pgpenal[pgwords] = 0;
+ pgwdin[pgwords] = in;
+ pgwdll[pgwords] = ll;
+ if (pgwords == 0)
+ pgflags[pgwords] = 0;
+ un1 = -1;
+ while ((c = cbits(i = *wp++)) == ' ' || c == STRETCH) {
+ if (iszbit(i))
+ break;
+ wch--;
+ minflg = minspsz && ad && !admod;
+ w += width(i);
+ a += minspc;
+ w += kernadjust(wp[-1], wp[0]);
+ if (pgspacs >= pgssize) {
+ pgssize += 60;
+ parsp = realloc(parsp, pgssize * sizeof *parsp);
+ if (parsp == NULL) {
+ errprint("no memory for spaces in paragraph");
+ done(02);
+ }
+ }
+ parsp[pgspacs++] = i;
+ if (c == STRETCH)
+ pgpenal[pgwords] = INFPENALTY;
+ else if (wdpenal[wp-word-1])
+ pgpenal[pgwords] = makepgpenal(wdpenal[wp-word-1]);
+ }
+ if (wch == 0)
+ return;
+ pgspacp[pgwords+1] = pgspacs;
+ if (--wp > wordp && pgchars > 0)
+ w += kernadjust(para[pgchars-1], wordp[0]);
+ wne -= w;
+ pgspacw[pgwords] = pgwords ? w + a : 0;
+ pghyphw[pgwords] = 0;
+ pgadspc[pgwords] = pgwords ? a : 0;
+ pglsphc[pgwords] = 0;
+ pgwordw[pgwords] = 0;
+ pgwordp[pgwords] = pgchars;
+ pgne += pgspacw[pgwords];
+ parlgzero(pgwords);
+ parlgzero(pgwords+1);
+ if (wdhyf == -1)
+ wdhyf = hyf;
+ if (!hyoff && wdhyf && hlm)
+ hyphen(wp);
+ hyp = hyptr;
+ nhyp = 0;
+ while (*hyp && *hyp <= wp)
+ hyp++;
+ while (wch) {
+ if (ishyp(wp) && !maybreak(wp[-1], 1)) {
+ i = sfmask(wp[-1]) | hc;
+ w = width(i);
+ w += kernadjust(wp[-1], i);
+ pghyphw[pgwords] = w;
+#ifndef NROFF
+ {
+ int *ip;
+ intptr_t n;
+ tchar e, s;
+
+ n = (intptr_t)hyp[-1] & 03;
+ ip = n ? lgrevtab[fbits(*wp)][cbits(*wp)] : NULL;
+ if (n != 0 && ip != NULL) {
+ pglgec[pgwords] = e =
+ strlg(fbits(*wp), ip, n) |
+ sfmask(*wp) | AUTOLIG;
+ for (w = 0; ip[n+w]; w++);
+ pglgsc[pgwords+1] = s =
+ strlg(fbits(*wp), &ip[n], w) |
+ sfmask(*wp) | AUTOLIG;
+ pglgew[pgwords] = width(e);
+ pglgeh[pgwords] = getlsh(e, rawwidth) *
+ lshmin / LAFACT;
+ pglgew[pgwords] += kernadjust(wp[-1], e);
+ pghyphw[pgwords] += kernadjust(e, i);
+ pghyphw[pgwords] -= kernadjust(wp[-1], i);
+ pglgsw[pgwords+1] = width(s);
+ pglgsh[pgwords+1] = getlsh(s, rawwidth) *
+ lshmin / LAFACT;
+ pglgsw[pgwords+1] -= width(*wp);
+ pglgsh[pgwords+1] -= getlsh(*wp, rawwidth) *
+ lshmin / LAFACT;
+ pglgsw[pgwords+1] += kernadjust(s, wp[1]);
+ pglgsw[pgwords+1] -= kernadjust(wp[0], wp[1]);
+ } }
+#endif /* !NROFF */
+ }
+ if (pghyphw[pgwords] || (wp > word && maybreak(wp[-1], 1))) {
+ if (pghyphw[pgwords])
+ pghyphw[pgwords] -= kernadjust(wp[-1], wp[0]);
+ pgne += pgwordw[pgwords];
+ pgwordp[++pgwords] = pgchars;
+ if (pgwords + 1 >= pgsize)
+ growpgsize();
+ pglno[pgwords] = numtab[CD].val;
+ pgspacp[pgwords] = pgspacs;
+ pgspacp[pgwords+1] = pgspacs;
+ pgspacw[pgwords] = 0;
+ pgwordw[pgwords] = 0;
+ pghyphw[pgwords] = 0;
+ pgadspc[pgwords] = 0;
+ pglsphc[pgwords] = 0;
+ pgpenal[pgwords] = 0;
+ pgwdin[pgwords] = in;
+ pgwdll[pgwords] = ll;
+ pgflags[pgwords] = 0;
+ parlgzero(pgwords+1);
+ }
+ i = *wp++;
+ w = width(i);
+ pglsphc[pgwords] += getlsh(i, rawwidth) * lshmin / LAFACT;
+ w += kernadjust(i, *wp);
+ wne -= w;
+ wch--;
+ pgwordw[pgwords] += w;
+ if (letsps)
+ pglsphc[pgwords] += getlsp(i) * lspmin / LAFACT;
+ if (pgchars + 1 >= pgcsize) {
+ pgcsize += 600;
+ para = realloc(para, pgcsize * sizeof *para);
+ if (para == NULL) {
+ errprint("no memory for characters "
+ "in paragraph");
+ done(02);
+ }
+ }
+ para[pgchars++] = i;
+ if (wdpenal[wp-word-1])
+ pgpenal[pgwords] = makepgpenal(wdpenal[wp-word-1]);
+ }
+ pgne += pgwordw[pgwords];
+ pgwordp[++pgwords] = pgchars;
+ pgspacw[pgwords] = 0;
+ pgwordw[pgwords] = 0;
+ pghyphw[pgwords] = 0;
+ pgadspc[pgwords] = 0;
+ pglsphc[pgwords] = 0;
+ pgpenal[pgwords] = 0;
+ pgwdin[pgwords] = in;
+ pgwdll[pgwords] = ll;
+ pgflags[pgwords] = 0;
+ parlgzero(pgwords);
+ if (spread)
+ tbreak();
+}
+
+static void
+pbreak(int sprd, int lastf, struct s *s)
+{
+ int j;
+
+ if (sprd)
+ adflg |= 5;
+ if (pshapes) {
+ j = pglnout < pshapes ? pglnout : pshapes - 1;
+ un = pgin[j];
+ }
+ nlflg = 1;
+ tbreak();
+ pglnout++;
+ if (trap) {
+ extern jmp_buf sjbuf;
+ jmp_buf savsjbuf;
+ if (setjmp(*s->jmp) == 0) {
+ nlflg = 1;
+ memcpy(&savsjbuf, &sjbuf, sizeof sjbuf);
+ if (donep && lastf)
+ donef = -1;
+ mainloop();
+ }
+ memcpy(&sjbuf, &savsjbuf, sizeof sjbuf);
+ }
+}
+
+void
+parpr(struct s *s)
+{
+ int i, j, k = 0, nw = 0, w, stretches, _spread = spread, hc;
+ int savll, savin, savcd, lastin, lastll, curin, curll;
+ tchar c, e, lastc, lgs;
+
+ savll = ll;
+ savin = in;
+ curin = 0;
+ lastin = 0;
+ curll = -1;
+ lastll = 0;
+ savcd = numtab[CD].val;
+ hc = shc ? shc : HYPHEN;
+ nw = 0;
+ for (i = 0; i < pgwords; i++) {
+ lgs = 0;
+ numtab[CD].val = pglno[i];
+ if (i == 0 || pgflags[i] & PG_NEWIN)
+ lastin = pgwdin[i];
+ if (i == 0 || pgflags[i] & PG_NEWLL)
+ lastll = pgwdll[i];
+ if (k == 0 || pgopt[k] == i) {
+ if (k++ > 0) {
+ if (pghyphw[i-1]) {
+#ifndef NROFF
+ if ((e = pglgec[i-1]) != 0) {
+ w = width(e);
+ storelsh(e, rawwidth);
+ w += kernadjust(para[pgwordp[i]-1], e);
+ storeline(e, w);
+ if (letsps)
+ storelsp(e, 0);
+ lgs = pglgsc[i];
+ } else
+#endif
+ e = para[pgwordp[i]-1];
+ c = sfmask(e) | hc;
+ w = width(c);
+ storelsh(c, rawwidth);
+ w += kernadjust(e, c);
+ storeline(c, w);
+ if (letsps)
+ storelsp(c, 0);
+ }
+ pbreak(1, i >= pgwords, s);
+ if (i >= pgwords)
+ break;
+ }
+ if (pshapes) {
+ if (k == 1)
+ parcomp(0);
+ j = k-1 < pshapes ? k-1 : pshapes - 1;
+ ll = pgll[j];
+ un = pgin[j];
+ nel = ll - un;
+ } else if (k > 1 && (in != curin || ll != curll)) {
+ savin = curin = lastin = in;
+ savll = curll = lastll = ll;
+ un = in;
+ nel = ll - un;
+ parcomp(i);
+ } else if (lastin != curin || lastll != curll) {
+ savin = in = curin = lastin;
+ savll = ll = curll = lastll;
+ if (k > 1)
+ un = in;
+ nel = ll - un;
+ parcomp(i);
+ }
+ nel = ll - un;
+ nw = nwd = 1;
+ leftend(para[pgwordp[i]], admod != 1 && admod != 2, 1);
+ } else {
+ for (j = pgspacp[i]; j < pgspacp[i+1]; j++) {
+ c = parsp[j];
+ minflg = minspsz && ad && !admod;
+ w = width(c);
+ adspc += minspc;
+ if (j == pgspacp[i] && i > 0)
+ w += kernadjust(para[pgwordp[i]-1], c);
+ if (j == pgspacp[i+1]-1)
+ w += kernadjust(c, para[pgwordp[i]]);
+ storeline(c, w);
+ spbits = sfmask(c);
+ }
+ nwd += pgspacp[i] != pgspacp[i+1];
+ }
+ stretches = 0;
+ lastc = 0;
+ for (j = pgwordp[i]; j < pgwordp[i+1]; j++) {
+ c = lgs ? lgs : para[j];
+ lgs = 0;
+ w = width(c);
+ storelsh(c, rawwidth);
+ if (j == pgwordp[i] && i > 0 && nw > 1 &&
+ pgspacp[i] == pgspacp[i+1])
+ w += kernadjust(para[j-1], c);
+ if (j < pgwordp[i+1]-1)
+ w += kernadjust(c, para[j+1]);
+ storeline(c, w);
+ if (cbits(c) == STRETCH && cbits(lastc) != STRETCH)
+ stretches++;
+ lastc = c;
+ if (letsps)
+ storelsp(c, 0);
+ }
+ nwd += stretches;
+ nw++;
+ }
+ pbreak((nel - adspc < 0 && nwd > 1) || _spread, 1, s);
+ if (pgflags[pgwords] & PG_NEWIN)
+ savin = pgwdin[pgwords];
+ if (pgflags[pgwords] & PG_NEWLL)
+ savll = pgwdll[pgwords];
+ pgwords = pgchars = pgspacs = pglines = pgne = pglastw = 0;
+ ll = savll;
+ in = un = savin;
+ numtab[CD].val = savcd;
+}
+
+static void
+parfmt(void)
+{
+ int _nlflg = nlflg;
+ int _spread = spread;
+ struct s *s;
+
+ if (pgchars == 0)
+ return;
+ setnel();
+ pglnout = 0;
+ s = frame;
+ nxf->jmp = malloc(sizeof *nxf->jmp);
+ pushi(-2, 0, FLAG_PARAGRAPH);
+ parpr(frame);
+ while (frame != s)
+ ch = popi();
+ nlflg = _nlflg;
+ if (_spread == 1 && pshapes > pglnout) {
+ memmove(&pgin[0], &pgin[pglnout],
+ (pshapes - pglnout) * sizeof *pgin);
+ memmove(&pgll[0], &pgll[pglnout],
+ (pshapes - pglnout) * sizeof *pgll);
+ pshapes -= pglnout;
+ } else
+ pshapes = 0;
+}
diff --git a/troff/n8.c b/troff/n8.c
new file mode 100644
index 0000000000000..fa8c484db773b
--- /dev/null
+++ b/troff/n8.c
@@ -0,0 +1,650 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n8.c 1.8 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n8.c 1.44 (gritter) 9/26/10
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stddef.h>
+#include <stdio.h>
+#ifdef EUC
+#include <wctype.h>
+#endif
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
+#include "tdef.h"
+#include "ext.h"
+#include "pt.h"
+#include "libhnj/hyphen.h"
+#define HY_BIT 0200 /* generic stuff in here only works for ascii */
+#define HY_BIT2 0x80000000
+
+/*
+ * troff8.c
+ *
+ * hyphenation
+ */
+
+int *hbuf;
+int NHEX;
+int *nexth;
+tchar *hyend;
+#define THRESH 160 /*digram goodness threshold*/
+int thresh = THRESH;
+
+static void hyphenhnj(void);
+
+static int *
+growhbuf(int **pp)
+{
+ int *nhbuf;
+ int inc = 4;
+ ptrdiff_t j;
+
+ if ((nhbuf = realloc(hbuf, (NHEX+inc) * sizeof *hbuf)) == NULL)
+ return NULL;
+ NHEX += inc;
+ j = (char *)nhbuf - (char *)hbuf;
+ nexth = (int *)((char *)nexth + j);
+ if (pp)
+ *pp = (int *)((char *)*pp + j);
+ return hbuf = nhbuf;
+}
+
+void
+hyphen(tchar *wp)
+{
+ register int j;
+ register tchar *i;
+ tchar *_wdstart, *_wdend;
+
+ i = wp;
+ while (punct(*i++))
+ ;
+ if (!alph(*--i))
+ return;
+ wdstart = i++;
+ while (hyext ? *i++ : alph(*i++))
+ ;
+ hyend = wdend = --i - 1;
+ while (punct(*i++))
+ ;
+ if (*--i)
+ return;
+ if (!(wdhyf & 060) && (wdend - wdstart - (hylen - 1)) < 0)
+ return;
+ hyp = hyptr;
+ *hyp = 0;
+ hyoff = 2;
+ if (dicthnj) {
+ i = _wdstart = wdstart;
+ _wdend = wdend;
+ do {
+ if (cbits(*i) == '-' || cbits(*i) == EMDASH ||
+ i == _wdend) {
+ while (wdstart <= i && (punct(*wdstart) ||
+ (cbits(*wdstart) >= '0' &&
+ cbits(*wdstart) <= '9')))
+ wdstart++;
+ for (wdend = wdstart; wdend <= i; wdend++) {
+ if (!alph(*wdend) ||
+ (cbits(*wdend) >= '0' &&
+ cbits(*wdend) <= '9'))
+ break;
+ }
+ hyend = --wdend;
+ if ((wdhyf & 060 || wdstart + 3 <= wdend) &&
+ !exword())
+ hyphenhnj();
+ wdstart = &i[1];
+ if (i < _wdend) {
+ *hyp++ = &i[1];
+ if (hyp > (hyptr + NHYP - 1))
+ hyp = hyptr + NHYP - 1;
+ }
+ }
+ } while (i++ <= _wdend);
+ wdstart = _wdstart;
+ wdend = _wdend;
+ } else if (!exword() && !suffix())
+ digram();
+ *hyp++ = 0;
+ if (*hyptr)
+ for (j = 1; j; ) {
+ j = 0;
+ for (hyp = hyptr + 1; *hyp != 0; hyp++) {
+ if (*(hyp - 1) > *hyp) {
+ j++;
+ i = *hyp;
+ *hyp = *(hyp - 1);
+ *(hyp - 1) = i;
+ }
+ }
+ }
+}
+
+
+int
+punct(tchar i)
+{
+ if (!cbits(i) || alph(i))
+ return(0);
+ else
+ return(1);
+}
+
+
+int
+alph(tchar j)
+{
+ int i;
+ int f;
+ int h;
+
+ while (isxfunc(j, CHAR))
+ j = charout[sbits(j)].ch;
+ i = cbits(j);
+ f = fbits(j);
+ if (!ismot(j) && i < nhcode && (h = hcode[i]) != 0) {
+ if (h & ~0177)
+ h = tr2un(h, f);
+#ifdef EUC
+ return hyext ? iswalnum(h) : iswalpha(h);
+ } else
+#else /* !EUC */
+ i = h;
+ }
+#endif /* !EUC */
+#ifdef EUC
+ if (!ismot(j) && i & ~0177) {
+ int u;
+#ifndef NROFF
+ if (islig(j) && hyext &&
+ lgrevtab && lgrevtab[f] && lgrevtab[f][i])
+ return 1;
+#endif /* !NROFF */
+ u = tr2un(i, f);
+ if (u == 0x017F) /* longs */
+ u = 's';
+ return hyext ? iswalnum(u) : iswalpha(u);
+ } else
+#endif /* EUC */
+ if ((!ismot(j) && i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z') ||
+ (hyext && i >= '0' && i <= '9'))
+ return(1);
+ else
+ return(0);
+}
+
+
+void
+caseht(void)
+{
+ thresh = THRESH;
+ if (skip(0))
+ return;
+ noscale++;
+ thresh = hatoi();
+ noscale = 0;
+}
+
+
+void
+casehw(void)
+{
+ register int i, k;
+ int *j;
+ tchar t;
+ int cnt = 0;
+
+ lgf++;
+ if (nexth == NULL)
+ growhbuf(NULL);
+ k = 0;
+ while (!skip(!cnt++)) {
+ if ((j = nexth) >= (hbuf + NHEX - 2) && growhbuf(&j) == NULL)
+ goto full;
+ for (; ; ) {
+ if (ismot(t = getch()))
+ continue;
+ i = cbits(t);
+ if (i == ' ' || i == '\n') {
+ *j++ = 0;
+ nexth = j;
+ *j = 0;
+ if (i == ' ')
+ break;
+ else
+ return;
+ }
+ if (i == '-') {
+ k = HY_BIT2;
+ continue;
+ }
+ *j++ = maplow(t) | k;
+ k = 0;
+ if (j >= (hbuf + NHEX - 2) && growhbuf(&j) == NULL)
+ goto full;
+ }
+ }
+ return;
+full:
+ errprint("exception word list full.");
+ *nexth = 0;
+}
+
+
+int
+exword(void)
+{
+ register tchar *w;
+ register int *e;
+ int *save;
+
+ e = hbuf;
+ while (1) {
+ save = e;
+ if (e == NULL || *e == 0)
+ return(0);
+ w = wdstart;
+ while (*e && w <= hyend) {
+#ifndef NROFF
+ int i, m, f;
+ m = cbits(*w);
+ f = fbits(*w);
+ if (islig(*w) && lgrevtab && lgrevtab[f] &&
+ lgrevtab[f][m]) {
+ for (i = 0; lgrevtab[f][m][i]; i++) {
+ if ((*e&~HY_BIT2) ==
+ maplow(lgrevtab[f][m][i])) {
+ e++;
+ } else
+ goto end;
+ }
+ w++;
+ } else
+#endif
+ {
+ if ((*e&~HY_BIT2) == maplow(*w)) {
+ e++;
+ w++;
+ } else
+ goto end;
+ }
+ }
+ end: if (!*e) {
+ if (w-1 == hyend || (w == wdend && maplow(*w) == 's')) {
+ w = wdstart;
+ for (e = save; *e; e++) {
+#ifndef NROFF
+ int i, m, f;
+ m = cbits(*w);
+ f = fbits(*w);
+ if (islig(*w) && lgrevtab &&
+ lgrevtab[f] &&
+ lgrevtab[f][m]) {
+ for (i = 0; lgrevtab[f][m][i];
+ i++) {
+ if (*e++ & HY_BIT2) {
+ *hyp = (void *)
+ ((intptr_t)w |
+ i);
+ hyp++;
+ }
+ }
+ e--;
+ } else
+#endif
+ {
+ if (*e & HY_BIT2)
+ *hyp++ = w;
+ }
+ w++;
+ if (hyp > (hyptr + NHYP - 1))
+ hyp = hyptr + NHYP - 1;
+ }
+ return(1);
+ } else {
+ e++;
+ continue;
+ }
+ } else
+ while (*e++)
+ ;
+ }
+}
+
+
+int
+suffix(void)
+{
+ register tchar *w;
+ register const char *s, *s0;
+ tchar i;
+ extern const char *suftab[];
+
+again:
+ i = cbits(*hyend);
+ if (i >= 128 || !alph(*hyend))
+ return(0);
+ if (i < 'a')
+ i -= 'A' - 'a';
+ if ((s0 = suftab[i-'a']) == 0)
+ return(0);
+ for (; ; ) {
+ if ((i = *s0 & 017) == 0)
+ return(0);
+ s = s0 + i - 1;
+ w = hyend - 1;
+ while (s > s0 && w >= wdstart && (*s & 0177) == maplow(*w)) {
+ s--;
+ w--;
+ }
+ if (s == s0)
+ break;
+ s0 += i;
+ }
+ s = s0 + i - 1;
+ w = hyend;
+ if (*s0 & HY_BIT)
+ goto mark;
+ while (s > s0) {
+ w--;
+ if (*s-- & HY_BIT) {
+mark:
+ hyend = w - 1;
+ if (*s0 & 0100)
+ continue;
+ if (!chkvow(w))
+ return(0);
+ *hyp++ = w;
+ }
+ }
+ if (*s0 & 040)
+ return(0);
+ if (exword())
+ return(1);
+ goto again;
+}
+
+
+int
+maplow(tchar t)
+{
+ int h, i, f;
+
+ while (isxfunc(t, CHAR))
+ t = charout[sbits(t)].ch;
+ i = cbits(t);
+ f = fbits(t);
+ if (!ismot(t) && i < nhcode && (h = hcode[i]) != 0) {
+ if (h & ~0177)
+ h = tr2un(h, f);
+ h = tr2un(h, f);
+ return(h);
+ } else
+#ifdef EUC
+ if (!ismot(t) && i & ~0177) {
+ i = tr2un(i, f);
+ if (i == 0x017F) /* longs */
+ i = 's';
+ if (iswupper(i))
+ i = towlower(i);
+ } else
+#endif /* EUC */
+ if (ischar(i) && isupper(i))
+ i = tolower(i);
+ return(i);
+}
+
+
+int
+vowel(tchar i)
+{
+ switch (maplow(i)) {
+ case 'a':
+ case 'e':
+ case 'i':
+ case 'o':
+ case 'u':
+ case 'y':
+ return(1);
+ default:
+ return(0);
+ }
+}
+
+
+tchar *
+chkvow(tchar *w)
+{
+ while (--w >= wdstart)
+ if (vowel(*w))
+ return(w);
+ return(0);
+}
+
+
+void
+digram(void)
+{
+ register tchar *w;
+ register int val;
+ tchar * nhyend, *maxw = 0;
+ int maxval;
+ extern const char bxh[26][13], bxxh[26][13], xxh[26][13], xhx[26][13], hxx[26][13];
+
+ for (w = wdstart; w <= wdend; w++)
+ if (cbits(*w) & ~0177)
+ return;
+
+again:
+ if (!(w = chkvow(hyend + 1)))
+ return;
+ hyend = w;
+ if (!(w = chkvow(hyend)))
+ return;
+ nhyend = w;
+ maxval = 0;
+ w--;
+ while ((++w < hyend) && (w < (wdend - 1))) {
+ val = 1;
+ if (w == wdstart)
+ val *= dilook('a', *w, bxh);
+ else if (w == wdstart + 1)
+ val *= dilook(*(w-1), *w, bxxh);
+ else
+ val *= dilook(*(w-1), *w, xxh);
+ val *= dilook(*w, *(w+1), xhx);
+ val *= dilook(*(w+1), *(w+2), hxx);
+ if (val > maxval) {
+ maxval = val;
+ maxw = w + 1;
+ }
+ }
+ hyend = nhyend;
+ if (maxval > thresh)
+ *hyp++ = maxw;
+ goto again;
+}
+
+
+int
+dilook(tchar a, tchar b, const char t[26][13])
+{
+ register int i, j;
+
+ i = t[maplow(a)-'a'][(j = maplow(b)-'a')/2];
+ if (!(j & 01))
+ i >>= 4;
+ return(i & 017);
+}
+
+void
+casehylang(void)
+{
+ int c, i = 0, sz = 0;
+ char *path = NULL;
+ size_t l;
+
+ dicthnj = NULL;
+ free(hylang);
+ hylang = NULL;
+ hyext = 0;
+ skip(0);
+ do {
+ c = getach();
+ if (i >= sz)
+ hylang = realloc(hylang, (sz += 8) * sizeof *hylang);
+ hylang[i++] = c;
+ } while (c);
+ if (i == 1) {
+ free(hylang);
+ hylang = NULL;
+ return;
+ }
+ if (strchr(hylang, '/') == NULL) {
+ l = strlen(hylang) + strlen(HYPDIR) + 12;
+ path = malloc(l);
+ snprintf(path, l, "%s/hyph_%s.dic", HYPDIR, hylang);
+ } else {
+ l = strlen(hylang) + 1;
+ path = malloc(l);
+ n_strcpy(path, hylang, l);
+ }
+ if ((dicthnj = hnj_hyphen_load(path)) == NULL) {
+ errprint("Can't load %s", path);
+ free(hylang);
+ hylang = NULL;
+ free(path);
+ return;
+ }
+ free(path);
+ hyext = 1;
+}
+
+static int
+addc(int m, char **cp, tchar **wp, int **wpp, int distance)
+{
+ tchar t;
+
+ t = m ? m | sfmask(**wp) : **wp;
+ m = maplow(t);
+ if (m > 0 && m <= 0x7f) {
+ *(*cp)++ = m;
+ *(*wpp)++ = distance;
+ } else if (m >= 0x80 && m <= 0x7ff) {
+ *(*cp)++ = (m >> 6 & 037) | 0300;
+ *(*wpp)++ = distance;
+ *(*cp)++ = (m & 077) | 0200;
+ *(*wpp)++ = -1000;
+ } else if (m >= 0x800 && m <= 0xffff) {
+ *(*cp)++ = (m >> 12 & 017) | 0340;
+ *(*wpp)++ = distance;
+ *(*cp)++ = (m >> 6 & 077) | 0200;
+ *(*wpp)++ = -1000;
+ *(*cp)++ = (m & 077) | 0200;
+ *(*wpp)++ = -1000;
+ } else
+ return 0;
+ return 1;
+}
+
+static void
+hyphenhnj(void)
+{
+ tchar *wp;
+ char *cb, *cp, *hb;
+ int *wpos, *wpp;
+ int i, j, k;
+
+ i = 12 * (wdend - wdstart) + 1;
+ cb = malloc(i * sizeof *cb);
+ hb = malloc(i * sizeof *hb);
+ wpos = malloc(i * sizeof *wpos);
+ cp = cb;
+ wpp = wpos;
+ for (wp = wdstart; wp <= wdend; wp++) {
+#ifndef NROFF
+ int m = cbits(*wp);
+ int f = fbits(*wp);
+ if (islig(*wp) && lgrevtab && lgrevtab[f] && lgrevtab[f][m]) {
+ for (i = 0; lgrevtab[f][m][i]; i++) {
+ if (addc(lgrevtab[f][m][i], &cp, &wp, &wpp,
+ i ? -i : wp-wdstart) == 0)
+ goto retn;
+ }
+ } else
+#endif
+ {
+ if (addc(0, &cp, &wp, &wpp, wp - wdstart) == 0)
+ goto retn;
+ }
+ }
+ *cp = '\0';
+ j = cp - cb;
+ while (wpp <= &wpos[j])
+ *wpp++ = -1000;
+ hnj_hyphen_hyphenate(dicthnj, cb, j, hb);
+ k = 0;
+ for (i = 0; i < j; i++) {
+ if (wpos[i+1] >= 0)
+ k = wpos[i+1];
+ if ((hb[i] - '0') & 1 && wpos[i+1] >= -3) {
+ if (wpos[i+1] >= 0)
+ *hyp = &wdstart[wpos[i+1]];
+ else {
+ *hyp = &wdstart[k];
+ *hyp = (void *)((intptr_t)*hyp | -wpos[i+1]);
+ }
+ if (++hyp > (hyptr + NHYP - 1))
+ hyp = hyptr + NHYP - 1;
+ }
+ }
+retn:
+ free(cb);
+ free(hb);
+ free(wpos);
+}
diff --git a/troff/n9.c b/troff/n9.c
new file mode 100644
index 0000000000000..44b9ee0c0ecc4
--- /dev/null
+++ b/troff/n9.c
@@ -0,0 +1,1348 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n9.c 1.11 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n9.c 1.78 (gritter) 10/23/09
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+
+#ifdef EUC
+#include <locale.h>
+#include <wctype.h>
+#include <langinfo.h>
+#endif /* EUC */
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+#include "ext.h"
+
+#ifdef EUC
+#define ISO646 "646"
+
+int multi_locale;
+int (*wdbdg)(wchar_t, wchar_t, int);
+wchar_t *(*wddlm)(wchar_t, wchar_t, int);
+
+int csi_width[4] = {
+ 1,
+ 1,
+ 2,
+ 3,
+};
+#endif /* EUC */
+
+/*
+ * troff9.c
+ *
+ * misc functions
+ */
+
+tchar
+setz(void)
+{
+ tchar i;
+
+ if (!ismot(i = getch()) && cbits(i) != ohc)
+ i |= ZBIT;
+ return(i);
+}
+
+static int
+connectchar(tchar i)
+{
+ int *cp, c;
+
+ c = cbits(i);
+ if (*connectch) {
+ for (cp = connectch; *cp; cp++)
+ if (c == *cp)
+ return 1;
+ return 0;
+ }
+ return c == RULE || c == UNDERLINE || c == ROOTEN;
+}
+
+void
+setline(void)
+{
+ register tchar *i;
+ tchar c, delim;
+ int length;
+ int w, cnt, rem, temp;
+ tchar linebuf[NC];
+
+ if (ismot(c = getch()))
+ return;
+ delim = c;
+ vflag = 0;
+ dfact = EM;
+ length = quant(hatoi(), HOR);
+ dfact = 1;
+ if (!length) {
+ eat(delim);
+ return;
+ }
+s0:
+ if (c = getch(), issame(c, delim)) {
+ ch = c;
+ c = RULE | chbits;
+ } else if (cbits(c) == FILLER)
+ goto s0;
+ w = width(c);
+ i = linebuf;
+ if (length < 0) {
+ *i++ = makem(length);
+ length = -length;
+ }
+ if (!(cnt = length / w)) {
+ *i++ = makem(-(temp = ((w - length) / 2)));
+ *i++ = c;
+ *i++ = makem(-(w - length - temp));
+ goto s1;
+ }
+ if ((rem = length % w)) {
+ if (connectchar(c))
+ *i++ = c | ZBIT;
+ *i++ = makem(rem);
+ }
+ if (cnt) {
+ *i++ = RPT;
+ *i++ = cnt;
+ *i++ = c;
+ }
+s1:
+ *i++ = 0;
+ eat(delim);
+ pushback(linebuf);
+}
+
+
+tchar
+eat(tchar c)
+{
+ register tchar i;
+
+ while (i = getch(), !issame(i, c) && (cbits(i) != '\n'))
+ ;
+ if (cbits(c) != ' ' && !issame(i, c))
+ nodelim(c);
+ return(i);
+}
+
+
+void
+setov(void)
+{
+ register int j = 0, k;
+ tchar i, delim, o[NOV];
+ int w[NOV];
+
+ if (ismot(i = getch()))
+ return;
+ delim = i;
+ for (k = 0; (k < NOV) && (j = cbits(i = getch()), !issame(i, delim)) && (j != '\n'); k++) {
+ o[k] = i;
+ w[k] = width(i);
+ }
+ if (!issame(j, delim))
+ nodelim(delim);
+ o[k] = w[k] = 0;
+ if (o[0])
+ for (j = 1; j; ) {
+ j = 0;
+ for (k = 1; o[k] ; k++) {
+ if (w[k-1] < w[k]) {
+ j++;
+ i = w[k];
+ w[k] = w[k-1];
+ w[k-1] = i;
+ i = o[k];
+ o[k] = o[k-1];
+ o[k-1] = i;
+ }
+ }
+ }
+ else
+ return;
+ pbbuf[pbp++] = makem(w[0] / 2);
+ for (k = 0; o[k]; k++)
+ ;
+ while (k>0) {
+ k--;
+ if (pbp >= pbsize-4)
+ if (growpbbuf() == NULL) {
+ errprint("no space for .ov");
+ done(2);
+ }
+ pbbuf[pbp++] = makem(-((w[k] + w[k+1]) / 2));
+ pbbuf[pbp++] = o[k];
+ }
+}
+
+
+void
+setbra(void)
+{
+ register int k;
+ tchar i, *j, dwn, delim;
+ int cnt;
+ tchar brabuf[NC];
+
+ if (ismot(i = getch()))
+ return;
+ delim = i;
+ j = brabuf + 1;
+ cnt = 0;
+#ifdef NROFF
+ dwn = sabsmot(2 * t.Halfline) | MOT | VMOT;
+#endif
+#ifndef NROFF
+ dwn = sabsmot((int)EM) | MOT | VMOT;
+#endif
+ while ((k = cbits(i = getch()), !issame(delim, i)) && (k != '\n') && (j <= (brabuf + NC - 4))) {
+ *j++ = i | ZBIT;
+ *j++ = dwn;
+ cnt++;
+ }
+ if (!issame(i, delim))
+ nodelim(delim);
+ if (--cnt < 0)
+ return;
+ else if (!cnt) {
+ ch = *(j - 2);
+ return;
+ }
+ *j = 0;
+#ifdef NROFF
+ *--j = *brabuf = sabsmot(cnt * t.Halfline) | MOT | NMOT | VMOT;
+#endif
+#ifndef NROFF
+ *--j = *brabuf = sabsmot((cnt * (int)EM) / 2) | MOT | NMOT | VMOT;
+#endif
+ *--j &= ~ZBIT;
+ pushback(brabuf);
+}
+
+
+void
+setvline(void)
+{
+ register int i;
+ tchar c, d, delim, rem, ver, neg;
+ int cnt, v;
+ tchar vlbuf[NC];
+ register tchar *vlp;
+
+ if (ismot(c = getch()))
+ return;
+ delim = c;
+ dfact = lss;
+ vflag++;
+ i = quant(hatoi(), VERT);
+ dfact = 1;
+ if (!i) {
+ eat(delim);
+ vflag = 0;
+ return;
+ }
+ if (c = getch(), issame(c, delim)) {
+ c = BOXRULE | chbits; /*default box rule*/
+ } else {
+ d = getch();
+ if (!issame(d, delim))
+ nodelim(delim);
+ }
+ c |= ZBIT;
+ neg = 0;
+ if (i < 0) {
+ i = -i;
+ neg = NMOT;
+ }
+#ifdef NROFF
+ v = 2 * t.Halfline;
+#endif
+#ifndef NROFF
+ v = EM;
+#endif
+ cnt = i / v;
+ rem = makem(i % v) | neg;
+ ver = makem(v) | neg;
+ vlp = vlbuf;
+ if (!neg)
+ *vlp++ = ver;
+ if (absmot(rem) != 0) {
+ *vlp++ = c;
+ *vlp++ = rem;
+ }
+ while ((vlp < (vlbuf + NC - 3)) && cnt--) {
+ *vlp++ = c;
+ *vlp++ = ver;
+ }
+ *(vlp - 2) &= ~ZBIT;
+ if (!neg)
+ vlp--;
+ *vlp++ = 0;
+ pushback(vlbuf);
+ vflag = 0;
+}
+
+#define NPAIR (NC/2-6) /* max pairs in spline, etc. */
+
+void
+setdraw (void) /* generate internal cookies for a drawing function */
+{
+ int i, dx[NPAIR], dy[NPAIR], type;
+ tchar c, delim;
+#ifndef NROFF
+ int hpos, vpos;
+ int j, k;
+ tchar drawbuf[NC];
+#else
+ extern int tlp, utf8;
+ char drawbuf[NC];
+#endif /* NROFF */
+
+ /* input is \D'f dx dy dx dy ... c' (or at least it had better be) */
+ /* this does drawing function f with character c and the */
+ /* specified dx,dy pairs interpreted as appropriate */
+ /* pairs are deltas from last point, except for radii */
+
+ /* l dx dy: line from here by dx,dy */
+ /* c x: circle of diameter x, left side here */
+ /* e x y: ellipse of diameters x,y, left side here */
+ /* a dx1 dy1 dx2 dy2:
+ ccw arc: ctr at dx1,dy1, then end at dx2,dy2 from there */
+ /* ~ dx1 dy1 dx2 dy2...:
+ spline to dx1,dy1 to dx2,dy2 ... */
+ /* f dx dy ...: f is any other char: like spline */
+
+ if (ismot(c = getch()))
+ return;
+ delim = c;
+ type = cbits(getch());
+ for (i = 0; i < NPAIR ; i++) {
+ c = getch();
+ if (issame(c, delim))
+ break;
+ /* ought to pick up optional drawing character */
+ if (cbits(c) != ' ')
+ ch = c;
+ vflag = 0;
+ dfact = type == DRAWTHICKNESS ? 1 : EM;
+ dx[i] = quant(hatoi(), HOR);
+ if (dx[i] > MAXMOT)
+ dx[i] = MAXMOT;
+ else if (dx[i] < -MAXMOT)
+ dx[i] = -MAXMOT;
+ if (c = getch(), issame(c, delim)) { /* spacer */
+ dy[i++] = 0;
+ break;
+ }
+ vflag = 1;
+ dfact = lss;
+ dy[i] = quant(hatoi(), VERT);
+ if (type == DRAWTHICKNESS)
+ dy[i] = 0;
+ else if (dy[i] > MAXMOT)
+ dy[i] = MAXMOT;
+ else if (dy[i] < -MAXMOT)
+ dy[i] = -MAXMOT;
+ }
+ dfact = 1;
+ vflag = 0;
+#ifndef NROFF
+ drawbuf[0] = DRAWFCN | chbits | ZBIT;
+ drawbuf[1] = type | chbits | ZBIT;
+ drawbuf[2] = '.' | chbits | ZBIT; /* use default drawing character */
+ hpos = vpos = 0;
+ for (k = 0, j = 3; k < i; k++) {
+ drawbuf[j++] = MOT | ((dx[k] >= 0) ?
+ sabsmot(dx[k]) : (NMOT | sabsmot(-dx[k])));
+ drawbuf[j++] = MOT | VMOT | ((dy[k] >= 0) ?
+ sabsmot(dy[k]) : (NMOT | sabsmot(-dy[k])));
+ hpos += dx[k];
+ vpos += dy[k];
+ }
+ if (type == DRAWELLIPSE || type == DRAWELLIPSEFI) {
+ drawbuf[5] = drawbuf[4] | NMOT; /* so the net vertical is zero */
+ j = 6;
+ }
+ if (gflag && (type == DRAWPOLYGON || type == DRAWPOLYGONFI) &&
+ (hpos || vpos)) {
+ drawbuf[j++] = MOT | ((hpos < 0) ?
+ sabsmot(-hpos) : (NMOT | sabsmot(hpos)));
+ drawbuf[j++] = MOT | VMOT | ((vpos < 0) ?
+ sabsmot(-vpos) : (NMOT | sabsmot(vpos)));
+ }
+ drawbuf[j++] = DRAWFCN | chbits | ZBIT; /* marks end for ptout */
+ drawbuf[j] = 0;
+ pushback(drawbuf);
+#else
+ switch (type) {
+ case 'l':
+ if (dx[0] && !dy[0]) {
+ if (dx[0] < 0) {
+ snprintf(drawbuf, sizeof(drawbuf), "\\h'%du'",
+ dx[0]);
+ cpushback(drawbuf);
+ }
+ snprintf(drawbuf, sizeof(drawbuf), "\\l'%du%s'",
+ dx[0], tlp ? "\\&-" : utf8 ? "\\U'2500'" : "");
+ cpushback(drawbuf);
+ } else if (dy[0] && !dx[0]) {
+ snprintf(drawbuf, sizeof(drawbuf), "\\L'%du%s'",
+ dy[0], tlp ? "|" : utf8 ? "\\U'2502'" : "");
+ cpushback(drawbuf);
+ }
+ }
+#endif
+}
+
+
+void
+casefc(void)
+{
+ register int i;
+ tchar j;
+
+ gchtab[fc] &= ~FCBIT;
+ fc = IMP;
+ padc = ' ';
+ if (skip(0) || ismot(j = getch()) || (i = cbits(j)) == '\n')
+ return;
+ fc = i;
+ gchtab[fc] |= FCBIT;
+ if (skip(0) || ismot(ch) || (ch = cbits(ch)) == fc)
+ return;
+ padc = ch;
+}
+
+
+tchar
+setfield(int x)
+{
+ register tchar ii, jj, *fp;
+ register int i, j, k;
+ int length, ws, npad, temp, type;
+ tchar **pp, *padptr[NPP];
+ tchar fbuf[FBUFSZ];
+ int savfc, savtc, savlc;
+ tchar rchar = 0, nexti = 0;
+ int savepos;
+ int oev;
+
+ prdblesc = 1;
+ if (x == tabch)
+ rchar = tabc | chbits;
+ else if (x == ldrch)
+ rchar = dotc | chbits;
+ if (chartab[trtab[cbits(rchar)]] != 0)
+ rchar = setchar(rchar);
+ temp = npad = ws = 0;
+ savfc = fc;
+ savtc = tabch;
+ savlc = ldrch;
+ tabch = ldrch = fc = IMP;
+ savepos = numtab[HP].val;
+ gchtab[tabch] &= ~TABBIT;
+ gchtab[ldrch] &= ~LDRBIT;
+ gchtab[fc] &= ~FCBIT;
+ gchtab[IMP] |= TABBIT|LDRBIT|FCBIT;
+ for (j = 0; ; j++) {
+ if ((tabtab[j] & TABMASK) == 0) {
+ if (x == savfc)
+ errprint("zero field width.");
+ jj = 0;
+ goto rtn;
+ }
+ if ((length = ((tabtab[j] & TABMASK) - numtab[HP].val)) > 0 )
+ break;
+ }
+ type = tabtab[j] & (~TABMASK);
+ fp = fbuf;
+ pp = padptr;
+ if (x == savfc) {
+ *fp++ = mkxfunc(FLDMARK, 0);
+ nexti = getch();
+ while (1) {
+ j = cbits(ii = nexti);
+ jj = width(ii);
+ oev = ev;
+ if (j != savfc && j != '\n' &&
+ pp < (padptr + NPP - 1) &&
+ fp < (fbuf + FBUFSZ - 3))
+ nexti = getch();
+ else
+ nexti = 0;
+ if (ev == oev)
+ jj += kernadjust(ii, nexti);
+ widthp = jj;
+ numtab[HP].val += jj;
+ if (j == padc) {
+ npad++;
+ *pp++ = fp;
+ if (pp > (padptr + NPP - 1))
+ break;
+ goto s1;
+ } else if (j == savfc)
+ break;
+ else if (j == '\n') {
+ temp = j;
+ nlflg = 0;
+ break;
+ }
+ ws += jj;
+s1:
+ *fp++ = ii;
+ if (fp > (fbuf + FBUFSZ - 3))
+ break;
+ }
+ if (!npad) {
+ npad++;
+ *pp++ = fp;
+ *fp++ = 0;
+ }
+ *fp++ = temp;
+ *fp++ = 0;
+ temp = i = (j = length - ws) / npad;
+ i = (i / HOR) * HOR;
+ if ((j -= i * npad) < 0)
+ j = -j;
+ ii = makem(i);
+ if (temp < 0)
+ ii |= NMOT;
+ for (; npad > 0; npad--) {
+ *(*--pp) = ii;
+ if (j) {
+ j -= HOR;
+ (*(*pp)) += HOR;
+ }
+ }
+ pushback(fbuf);
+ jj = 0;
+ } else if (type == 0) {
+ /*plain tab or leader*/
+ if (pbp >= pbsize-4)
+ growpbbuf();
+ pbbuf[pbp++] = mkxfunc(FLDMARK, 0);
+ if ((j = width(rchar)) > 0) {
+ int nchar;
+ k = kernadjust(rchar, rchar);
+ if (length < j)
+ nchar = 0;
+ else {
+ nchar = 1;
+ length -= j;
+ nchar += length / (k+j);
+ length %= k+j;
+ }
+ pbbuf[pbp++] = FILLER;
+ while (nchar-->0) {
+ if (pbp >= pbsize-5)
+ if (growpbbuf() == NULL)
+ break;
+ numtab[HP].val += j;
+ widthp = j;
+ if (nchar > 0) {
+ numtab[HP].val += k;
+ widthp += k;
+ }
+ pbbuf[pbp++] = rchar;
+ }
+ pbbuf[pbp++] = FILLER;
+ }
+ if (length)
+ jj = sabsmot(length) | MOT;
+ else
+ jj = 0;
+ } else {
+ /*center tab*/
+ /*right tab*/
+ *fp++ = mkxfunc(FLDMARK, 0);
+ nexti = getch();
+ while (((j = cbits(ii = nexti)) != savtc) && (j != '\n') && (j != savlc)) {
+ jj = width(ii);
+ oev = ev;
+ if (fp < (fbuf + FBUFSZ - 3)) {
+ nexti = getch();
+ if (ev == oev)
+ jj += kernadjust(ii, nexti);
+ }
+ ws += jj;
+ numtab[HP].val += jj;
+ widthp = jj;
+ *fp++ = ii;
+ if (fp > (fbuf + FBUFSZ - 3))
+ break;
+ }
+ *fp++ = ii;
+ *fp++ = 0;
+ if (type == RTAB)
+ length -= ws;
+ else
+ length -= ws / 2; /*CTAB*/
+ pushback(fbuf);
+ if ((j = width(rchar)) != 0 && length > 0) {
+ int nchar;
+ k = kernadjust(rchar, rchar);
+ if (length < j)
+ nchar = 0;
+ else {
+ nchar = 1;
+ length -= j;
+ nchar += length / (k+j);
+ length %= k+j;
+ }
+ if (pbp >= pbsize-3)
+ growpbbuf();
+ pbbuf[pbp++] = FILLER;
+ while (nchar-- > 0) {
+ if (pbp >= pbsize-3)
+ if (growpbbuf() == NULL)
+ break;
+ pbbuf[pbp++] = rchar;
+ }
+ }
+ length = (length / HOR) * HOR;
+ jj = makem(length);
+ nlflg = 0;
+ }
+rtn:
+ gchtab[fc] &= ~FCBIT;
+ gchtab[tabch] &= ~TABBIT;
+ gchtab[ldrch] &= ~LDRBIT;
+ fc = savfc;
+ tabch = savtc;
+ ldrch = savlc;
+ gchtab[fc] |= FCBIT;
+ gchtab[tabch] = TABBIT;
+ gchtab[ldrch] |= LDRBIT;
+ numtab[HP].val = savepos;
+ if (pbp < pbsize-3 || growpbbuf())
+ pbbuf[pbp++] = mkxfunc(FLDMARK, x);
+ prdblesc = 0;
+ return(jj | ADJBIT);
+}
+
+
+static int
+readpenalty(int *valp)
+{
+ int n, t;
+
+ t = dpenal ? dpenal - INFPENALTY0 - 1 : 0;
+ noscale++;
+ n = inumb(&t);
+ noscale--;
+ if (nonumb)
+ return 0;
+ if (n > INFPENALTY0)
+ n = INFPENALTY0;
+ else if (n < -INFPENALTY0)
+ n = -INFPENALTY0;
+ n += INFPENALTY0 + 1;
+ *valp = n;
+ return 1;
+}
+
+static int
+getpenalty(int *valp)
+{
+ tchar c, delim;
+
+ if (ismot(delim = getch()))
+ return 0;
+ if (readpenalty(valp) == 0)
+ return 0;
+ c = getch();
+ if (!issame(c, delim)) {
+ nodelim(delim);
+ return 0;
+ }
+ return 1;
+}
+
+tchar
+setpenalty(void)
+{
+ int n;
+
+ if (getpenalty(&n))
+ return mkxfunc(PENALTY, n);
+ return 0;
+}
+
+tchar
+setdpenal(void)
+{
+ if (getpenalty(&dpenal))
+ return mkxfunc(DPENAL, dpenal);
+ return 0;
+}
+
+
+tchar
+mkxfunc(int f, int s)
+{
+ tchar t = XFUNC;
+ setfbits(t, f);
+ setsbits(t, s);
+ return t;
+}
+
+void
+pushinlev(void)
+{
+ if (ninlev >= ainlev) {
+ ainlev += 4;
+ inlevp = realloc(inlevp, ainlev * sizeof *inlevp);
+ }
+ inlevp[ninlev]._apts = apts;
+ inlevp[ninlev]._apts1 = apts1;
+ inlevp[ninlev]._pts = pts;
+ inlevp[ninlev]._pts1 = pts1;
+ inlevp[ninlev]._font = font;
+ inlevp[ninlev]._font1 = font1;
+ inlevp[ninlev]._cc = cc;
+ inlevp[ninlev]._c2 = c2;
+ inlevp[ninlev]._ohc = ohc;
+ inlevp[ninlev]._hyf = hyf;
+ inlevp[ninlev]._tabc = tabc;
+ inlevp[ninlev]._dotc = dotc;
+ inlevp[ninlev]._dpenal = dpenal;
+ ninlev++;
+}
+
+tchar
+popinlev(void)
+{
+ tchar c = 0;
+
+ if (--ninlev < 0) {
+ ninlev = 0;
+ return c;
+ }
+ if (dpenal != inlevp[ninlev]._dpenal)
+ c = mkxfunc(DPENAL, inlevp[ninlev]._dpenal);
+ apts = inlevp[ninlev]._apts;
+ apts1 = inlevp[ninlev]._apts1;
+ pts = inlevp[ninlev]._pts;
+ pts1 = inlevp[ninlev]._pts1;
+ font = inlevp[ninlev]._font;
+ font1 = inlevp[ninlev]._font1;
+ cc = inlevp[ninlev]._cc;
+ c2 = inlevp[ninlev]._c2;
+ ohc = inlevp[ninlev]._ohc;
+ hyf = inlevp[ninlev]._hyf;
+ tabc = inlevp[ninlev]._tabc;
+ dotc = inlevp[ninlev]._dotc;
+ dpenal = inlevp[ninlev]._dpenal;
+ mchbits();
+ if (ninlev == 0) {
+ free(inlevp);
+ inlevp = NULL;
+ ainlev = 0;
+ }
+ return c;
+}
+
+#ifdef EUC
+/* locale specific initialization */
+void
+localize(void)
+{
+ extern int wdbindf(wchar_t, wchar_t, int);
+ extern wchar_t *wddelim(wchar_t, wchar_t, int);
+ char *codeset;
+
+ codeset = nl_langinfo(CODESET);
+
+ if (mb_cur_max > 1)
+ multi_locale = 1;
+ else {
+ if (*codeset == '\0' ||
+ (strcmp(codeset, ISO646) == 0)) {
+ /*
+ * if codeset is an empty string
+ * assumes this is C locale (7-bit) locale.
+ * This happens in 2.5, 2.5.1, and 2.6 system
+ * Or, if codeset is "646"
+ * this is 7-bit locale.
+ */
+ multi_locale = 0;
+ } else {
+ /* 8-bit locale */
+ multi_locale = 1;
+ }
+
+ }
+ wdbdg = wdbindf;
+ wddlm = wddelim;
+}
+
+#ifndef __sun
+int
+wdbindf(wchar_t wc1, wchar_t wc2, int type)
+{
+ return 6;
+}
+
+wchar_t *
+wddelim(wchar_t wc1, wchar_t wc2, int type)
+{
+ return L" ";
+}
+#endif /* !__sun */
+#endif /* EUC */
+
+void
+caselc_ctype(void)
+{
+#ifdef EUC
+ char c, *buf = NULL;
+ int i = 0, sz = 0;
+
+ skip(1);
+ do {
+ c = getach()&0377;
+ if (i >= sz)
+ buf = realloc(buf, (sz += 8) * sizeof *buf);
+ buf[i++] = c;
+ } while (c && c != ' ' && c != '\n');
+ buf[i-1] = 0;
+ setlocale(LC_CTYPE, buf);
+ mb_cur_max = MB_CUR_MAX;
+ localize();
+#ifndef NROFF
+ ptlocale(buf);
+#endif
+ free(buf);
+#endif
+}
+
+#ifndef NROFF
+struct fg {
+ char buf[512];
+ char *bp;
+ char *ep;
+ int fd;
+ int eof;
+};
+
+static int
+psskip(struct fg *fp, size_t n)
+{
+ size_t i;
+
+ if (fp->eof)
+ return -1;
+ if (fp->bp < fp->ep) {
+ i = fp->ep - fp->bp;
+ if (i > n) {
+ fp->bp += n;
+ return 0;
+ }
+ fp->bp = fp->buf;
+ n -= i;
+ }
+ if (lseek(fp->fd, n, SEEK_CUR) == (off_t)-1)
+ return -1;
+ return 0;
+}
+
+static int
+psgetline(struct fg *fp, char **linebp, size_t *linesize)
+{
+ int i, n = 0;
+ int nl = 0;
+
+ if (fp->bp == NULL)
+ fp->bp = fp->buf;
+ for (;;) {
+ if (fp->eof == 0 && fp->bp == fp->buf) {
+ if ((i = read(fp->fd, fp->buf, sizeof fp->buf)) <= 0)
+ fp->eof = 1;
+ fp->ep = &fp->buf[i];
+ }
+ for (;;) {
+ if (*linesize < n + 2)
+ *linebp = realloc(*linebp, *linesize += 128);
+ if (fp->bp >= fp->ep)
+ break;
+ if (*fp->bp == '\n' || nl) {
+ nl = 2;
+ break;
+ }
+ if (*fp->bp == '\r')
+ nl = 1;
+ (*linebp)[n++] = *fp->bp++;
+ }
+ if (fp->bp < fp->ep && *fp->bp == '\n') {
+ (*linebp)[n++] = *fp->bp++;
+ break;
+ }
+ if (nl == 2 || fp->eof)
+ break;
+ fp->bp = fp->buf;
+ }
+ (*linebp)[n] = 0;
+ return n;
+}
+
+static char *
+getcom(const char *cp, const char *tp)
+{
+ int n;
+
+ n = strlen(tp);
+ if (strncmp(cp, tp, n))
+ return NULL;
+ if (cp[n] == ' ' || cp[n] == '\t' || cp[n] == '\r' ||
+ cp[n] == '\n' || cp[n] == 0)
+ return (char *)&cp[n];
+ return NULL;
+}
+
+static void
+getpsbb(const char *name, double bb[4])
+{
+ struct fg *fp;
+ char *buf = NULL;
+ char *cp;
+ size_t size = 0;
+ int fd, n, k;
+ int lineno = 0;
+ int found = 0;
+ int atend = 0;
+ int state = 0;
+ int indoc = 0;
+
+ if ((fd = open(name, O_RDONLY)) < 0) {
+ errprint("can't open %s", name);
+ return;
+ }
+ fp = calloc(1, sizeof *fp);
+ fp->fd = fd;
+ for (;;) {
+ n = psgetline(fp, &buf, &size);
+ if (++lineno == 1 && (n == 0 || strncmp(buf, "%!PS-", 5))) {
+ errprint("%s is not a DSC-conforming "
+ "PostScript document", name);
+ break;
+ }
+ if (n > 0 && state != 1 &&
+ (cp = getcom(buf, "%%BoundingBox:")) != NULL) {
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ if (strncmp(cp, "(atend)", 7) == 0) {
+ atend++;
+ continue;
+ }
+ bb[0] = strtod(cp, &cp);
+ if (*cp)
+ bb[1] = strtod(cp, &cp);
+ if (*cp)
+ bb[2] = strtod(cp, &cp);
+ if (*cp) {
+ bb[3] = strtod(cp, &cp);
+ found = 1;
+ } else
+ errprint("missing arguments to "
+ "%%%%BoundingBox: in %s, line %d\n",
+ name, lineno);
+ continue;
+ }
+ if (n > 0 && state != 1 &&
+ (cp = getcom(buf, "%%HiResBoundingBox:"))
+ != NULL) {
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ if (strncmp(cp, "(atend)", 7) == 0) {
+ atend++;
+ continue;
+ }
+ bb[0] = strtod(cp, &cp);
+ if (*cp)
+ bb[1] = strtod(cp, &cp);
+ if (*cp)
+ bb[2] = strtod(cp, &cp);
+ if (*cp) {
+ bb[3] = strtod(cp, &cp);
+ break;
+ } else {
+ errprint("missing arguments to "
+ "%%%%HiResBoundingBox: in %s, "
+ "line %d\n",
+ name, lineno);
+ continue;
+ }
+ }
+ if (n == 0 || (state == 0 &&
+ (getcom(buf, "%%EndComments") != NULL ||
+ buf[0] != '%' || buf[1] == ' ' ||
+ buf[1] == '\t' || buf[1] == '\r' ||
+ buf[1] == '\n'))) {
+ eof: if (found == 0 && (atend == 0 || n == 0))
+ errprint("%s lacks a %%%%BoundingBox: DSC "
+ "comment", name);
+ if (atend == 0 || n == 0)
+ break;
+ state = 1;
+ continue;
+ }
+ if (indoc == 0 && getcom(buf, "%%EOF") != NULL) {
+ n = 0;
+ goto eof;
+ }
+ if (state == 1 && indoc == 0 &&
+ getcom(buf, "%%Trailer") != NULL) {
+ state = 2;
+ continue;
+ }
+ if (state == 1 && getcom(buf, "%%BeginDocument:") != NULL) {
+ indoc++;
+ continue;
+ }
+ if (state == 1 && indoc > 0 &&
+ getcom(buf, "%%EndDocument") != NULL) {
+ indoc--;
+ continue;
+ }
+ if (state == 1 &&
+ (cp = getcom(buf, "%%BeginBinary:")) != NULL) {
+ if ((k = strtol(cp, &cp, 10)) > 0)
+ psskip(fp, k);
+ continue;
+ }
+ if (state == 1 && (cp = getcom(buf, "%%BeginData:")) != NULL) {
+ if ((k = strtol(cp, &cp, 10)) > 0) {
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ while (*cp && *cp != ' ' && *cp != '\t')
+ cp++;
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ if (strncmp(cp, "Bytes", 5) == 0)
+ psskip(fp, k);
+ else if (strncmp(cp, "Lines", 5) == 0) {
+ while (k--) {
+ n = psgetline(fp, &buf, &size);
+ if (n == 0)
+ goto eof;
+ }
+ }
+ }
+ continue;
+ }
+ }
+ free(fp);
+ free(buf);
+ close(fd);
+}
+#endif /* !NROFF */
+
+void
+casepsbb(void)
+{
+#ifndef NROFF
+ char *buf = NULL;
+ int c;
+ int n = 0, sz = 0;
+ double bb[4] = { 0, 0, 0, 0 };
+
+ lgf++;
+ skip(1);
+ do {
+ c = getach();
+ if (n >= sz)
+ buf = realloc(buf, (sz += 14) * sizeof *buf);
+ buf[n++] = c;
+ } while (c);
+ getpsbb(buf, bb);
+ free(buf);
+ setnrf("llx", bb[0], 0);
+ setnrf("lly", bb[1], 0);
+ setnrf("urx", bb[2], 0);
+ setnrf("ury", bb[3], 0);
+#endif /* !NROFF */
+}
+
+static const struct {
+ enum warn n;
+ const char *s;
+} warnnames[] = {
+ { WARN_NONE, "none" },
+ { WARN_CHAR, "char" },
+ { WARN_NUMBER, "number" },
+ { WARN_BREAK, "break" },
+ { WARN_DELIM, "delim" },
+ { WARN_EL, "el" },
+ { WARN_SCALE, "scale" },
+ { WARN_RANGE, "range" },
+ { WARN_SYNTAX, "syntax" },
+ { WARN_DI, "di" },
+ { WARN_MAC, "mac" },
+ { WARN_REG, "reg" },
+ { WARN_RIGHT_BRACE, "right-brace" },
+ { WARN_MISSING, "missing" },
+ { WARN_INPUT, "input" },
+ { WARN_ESCAPE, "escape" },
+ { WARN_SPACE, "space" },
+ { WARN_FONT, "font" },
+ { WARN_ALL, "all" },
+ { WARN_W, "w" },
+ { 0, NULL }
+};
+
+static int
+warn1(void)
+{
+ char name[NC];
+ int i, n, sign;
+ tchar c;
+
+ switch (cbits(c = getch())) {
+ case '-':
+ c = getch();
+ sign = -1;
+ break;
+ case '+':
+ c = getch();
+ sign = 1;
+ break;
+ default:
+ sign = 0;
+ break;
+ case 0:
+ return 1;
+ }
+ ch = c;
+ n = atoi0();
+ if ((i = cbits(ch)) != 0 && i != ' ' && i != '\n') {
+ if (c != ch) {
+ while (getach());
+ errprint("illegal number, char %c", i);
+ return 1;
+ }
+ for (i = 0; i < sizeof name - 2; i++) {
+ if ((c = getach()) == 0)
+ break;
+ name[i] = c;
+ }
+ name[i] = 0;
+ for (i = 0; warnnames[i].s; i++)
+ if (strcmp(name, warnnames[i].s) == 0) {
+ n = warnnames[i].n;
+ break;
+ }
+ if (warnnames[i].s == NULL) {
+ errprint("unknown warning category %s", name);
+ return 1;
+ }
+ }
+ switch (sign) {
+ case 1:
+ warn |= n;
+ break;
+ case -1:
+ warn &= ~n;
+ break;
+ default:
+ warn = n;
+ }
+ return 0;
+}
+
+void
+casewarn(void)
+{
+ if (skip(0))
+ warn = WARN_W;
+ else
+ while (!warn1() && !skip(0));
+}
+
+void
+nosuch(int rq)
+{
+ if (rq && rq != RIGHT && rq != PAIR(RIGHT, RIGHT) && warn & WARN_MAC)
+ errprint("%s: no such request", macname(rq));
+}
+
+void
+missing(void)
+{
+ if (warn & WARN_MISSING) {
+ if (lastrq)
+ errprint("%s: missing argument", macname(lastrq));
+ else
+ errprint("missing argument");
+ }
+}
+
+void
+nodelim(int delim)
+{
+ if (warn & WARN_DELIM)
+ errprint("%c delimiter missing", (int)delim);
+}
+
+void
+illseq(int wc, const char *mb, int n)
+{
+ if ((warn & WARN_INPUT) == 0)
+ return;
+ if (n == -3)
+ errprint("non-ASCII input byte 0x%x terminates name", wc);
+ else if (n == 0) {
+ if (wc & ~0177)
+ errprint("ignoring '%U' in input", wc);
+ else
+ errprint("ignoring '\\%o' in input", wc);
+ } else
+ errprint("illegal byte sequence at '\\%o' in input", *mb&0377);
+}
+
+void
+storerq(int i)
+{
+ tchar tp[2];
+
+ tp[0] = mkxfunc(RQ, i);
+ tp[1] = 0;
+ pushback(tp);
+}
+
+int
+fetchrq(tchar *tp)
+{
+ if (ismot(tp[0]) || !isxfunc(tp[0], RQ))
+ return 0;
+ return sbits(tp[0]);
+}
+
+void
+morechars(int n)
+{
+ int i, nnc;
+
+ if (n <= NCHARS)
+ return;
+ for (nnc = 1024; nnc <= n; nnc <<= 1);
+ widcache = realloc(widcache, nnc * sizeof *widcache);
+ memset(&widcache[NCHARS], 0, (nnc-NCHARS) * sizeof *widcache);
+ trtab = realloc(trtab, nnc * sizeof *trtab);
+ trnttab = realloc(trnttab, nnc * sizeof *trnttab);
+ for (i = NCHARS; i < nnc; i++)
+ trnttab[i] = trtab[i] = i;
+ trintab = realloc(trintab, nnc * sizeof *trintab);
+ memset(&trintab[NCHARS], 0, (nnc-NCHARS) * sizeof *trintab);
+ gchtab = realloc(gchtab, nnc * sizeof *gchtab);
+ memset(&gchtab[NCHARS], 0, (nnc-NCHARS) * sizeof *gchtab);
+ chartab = realloc(chartab, nnc * sizeof *chartab);
+ memset(&chartab[NCHARS], 0, (nnc-NCHARS) * sizeof *chartab);
+#ifndef NROFF
+ fchartab = realloc(fchartab, nnc * sizeof *fchartab);
+ memset(&fchartab[NCHARS], 0, (nnc-NCHARS) * sizeof *fchartab);
+ for (i = 0; i <= nfonts; i++) {
+ extern short **fitab;
+ if (fitab != NULL && fitab[i] != NULL) {
+ fitab[i] = realloc(fitab[i], nnc * sizeof **fitab);
+ memset(&fitab[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **fitab);
+ }
+ if (lhangtab != NULL && lhangtab[i] != NULL) {
+ lhangtab[i] = realloc(lhangtab[i],
+ nnc * sizeof **lhangtab);
+ memset(&lhangtab[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **lhangtab);
+ }
+ if (lhangtab != NULL && rhangtab[i] != NULL) {
+ rhangtab[i] = realloc(rhangtab[i],
+ nnc * sizeof **rhangtab);
+ memset(&rhangtab[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **rhangtab);
+ }
+ if (kernafter != NULL && kernafter[i] != NULL) {
+ kernafter[i] = realloc(kernafter[i],
+ nnc * sizeof **kernafter);
+ memset(&kernafter[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **kernafter);
+ }
+ if (kernbefore != NULL && kernbefore[i] != NULL) {
+ kernbefore[i] = realloc(kernbefore[i],
+ nnc * sizeof **kernbefore);
+ memset(&kernbefore[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **kernbefore);
+ }
+ if (ftrtab != NULL && ftrtab[i] != NULL) {
+ int j;
+ ftrtab[i] = realloc(ftrtab[i], nnc * sizeof **ftrtab);
+ for (j = NCHARS; j < nnc; j++)
+ ftrtab[i][j] = j;
+ }
+ if (lgtab != NULL && lgtab[i] != NULL) {
+ lgtab[i] = realloc(lgtab[i], nnc * sizeof **lgtab);
+ memset(&lgtab[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **lgtab);
+ }
+ if (lgrevtab != NULL && lgrevtab[i] != NULL) {
+ lgrevtab[i] = realloc(lgrevtab[i],
+ nnc * sizeof **lgrevtab);
+ memset(&lgrevtab[i][NCHARS], 0,
+ (nnc-NCHARS) * sizeof **lgrevtab);
+ }
+ }
+#endif /* !NROFF */
+ NCHARS = nnc;
+}
diff --git a/troff/ni.c b/troff/ni.c
new file mode 100644
index 0000000000000..cb9fbe0833889
--- /dev/null
+++ b/troff/ni.c
@@ -0,0 +1,352 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "ni.c 1.11 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ni.c 1.47 (gritter) 12/17/06
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include "tdef.h"
+#include "ext.h"
+
+/* You may want to change these names */
+
+#ifdef NROFF
+
+char *termtab = TABDIR "/tab."; /* term type added in ptinit() */
+char *fontfile = ""; /* not used */
+char devname[20] = "37";
+
+#else
+
+char *termtab = FNTDIR; /* rest added in ptinit() */
+char *fontfile = FNTDIR; /* rest added in casefp() */
+char devname[20] = "ps"; /* default typesetter */
+int html;
+
+#endif
+char obuf[OBUFSZ]; /* characters collected here for typesetter output */
+char *obufp = obuf;
+int NN;
+struct numtab *numtab;
+const struct numtab initnumtab[] = {
+ { PAIR('%', 0) },
+ { PAIR('n', 'l') },
+ { PAIR('y', 'r') },
+ { PAIR('h', 'p') },
+ { PAIR('c', 't') },
+ { PAIR('d', 'n') },
+ { PAIR('m', 'o') },
+ { PAIR('d', 'y') },
+ { PAIR('d', 'w') },
+ { PAIR('l', 'n') },
+ { PAIR('d', 'l') },
+ { PAIR('s', 't') },
+ { PAIR('s', 'b') },
+ { PAIR('c', '.') },
+ { PAIR('$', '$') },
+ { 0 }
+};
+
+
+int pto = 10000;
+int pfrom = 1;
+int print = 1;
+char *nextf;
+int NS;
+char **mfiles;
+int nmfi = 0;
+int NMF;
+#ifndef NROFF
+int oldbits = -1;
+#endif
+int init = 1;
+int fc = IMP; /* field character */
+int eschar = '\\';
+int ecs = '\\';
+#ifdef NROFF
+int pl = 11*INCH;
+int po = PO;
+#else
+int pl;
+int po;
+#endif
+int dfact = 1;
+int dfactd = 1;
+int res = 1;
+int smnt = 0; /* beginning of special fonts */
+int ascii = ASCII;
+int ptid = PTID;
+int lg = LG;
+int pnlist[NPN] = { -1 };
+int vpt = 1;
+
+
+int *pnp = pnlist;
+int npn = 1;
+int npnflg = 1;
+int dpn = -1;
+int totout = 1;
+int ulfont = ULFONT;
+int tabch = TAB;
+int ldrch = LEADER;
+
+extern void caseft(void), caseps(void), casevs(void), casefp(void),
+ casess(void), casecs(void), casebd(void), caselg(void);
+
+enum warn warn = WARN_FONT;
+
+int NM;
+struct contab *contab;
+#define C(a,b) {a, 0, (void(*)(int))b, 0}
+const struct contab initcontab[] = {
+ C(PAIR('d', 's'), caseds),
+ C(PAIR('a', 's'), caseas),
+ C(PAIR('s', 'p'), casesp),
+ C(PAIR('f', 't'), caseft),
+ C(PAIR('p', 's'), caseps),
+ C(PAIR('v', 's'), casevs),
+ C(PAIR('n', 'r'), casenr),
+ C(PAIR('i', 'f'), caseif),
+ C(PAIR('i', 'e'), caseie),
+ C(PAIR('e', 'l'), caseel),
+ C(PAIR('p', 'o'), casepo),
+ C(PAIR('t', 'l'), casetl),
+ C(PAIR('t', 'm'), casetm),
+ C(PAIR('b', 'p'), casebp),
+ C(PAIR('c', 'h'), casech),
+ C(PAIR('p', 'n'), casepn),
+ C(PAIR('b', 'r'), tbreak),
+ C(PAIR('t', 'i'), caseti),
+ C(PAIR('n', 'e'), casene),
+ C(PAIR('n', 'f'), casenf),
+ C(PAIR('c', 'e'), casece),
+ C(PAIR('r', 'j'), caserj),
+ C(PAIR('f', 'i'), casefi),
+ C(PAIR('i', 'n'), casein),
+ C(PAIR('l', 'l'), casell),
+ C(PAIR('n', 's'), casens),
+ C(PAIR('m', 'k'), casemk),
+ C(PAIR('r', 't'), casert),
+ C(PAIR('a', 'm'), caseam),
+ C(PAIR('d', 'e'), casede),
+ C(PAIR('d', 'i'), casedi),
+ C(PAIR('d', 'a'), caseda),
+ C(PAIR('w', 'h'), casewh),
+ C(PAIR('d', 't'), casedt),
+ C(PAIR('i', 't'), caseit),
+ C(PAIR('r', 'm'), caserm),
+ C(PAIR('r', 'r'), caserr),
+ C(PAIR('r', 'n'), casern),
+ C(PAIR('a', 'd'), casead),
+ C(PAIR('r', 's'), casers),
+ C(PAIR('n', 'a'), casena),
+ C(PAIR('p', 'l'), casepl),
+ C(PAIR('t', 'a'), caseta),
+ C(PAIR('t', 'r'), casetr),
+ C(PAIR('u', 'l'), caseul),
+ C(PAIR('c', 'u'), casecu),
+ C(PAIR('l', 't'), caselt),
+ C(PAIR('n', 'x'), casenx),
+ C(PAIR('s', 'o'), caseso),
+ C(PAIR('i', 'g'), caseig),
+ C(PAIR('t', 'c'), casetc),
+ C(PAIR('f', 'c'), casefc),
+ C(PAIR('e', 'c'), caseec),
+ C(PAIR('e', 'o'), caseeo),
+ C(PAIR('l', 'c'), caselc),
+ C(PAIR('e', 'v'), caseev),
+ C(PAIR('r', 'd'), caserd),
+ C(PAIR('a', 'b'), caseab),
+ C(PAIR('f', 'l'), casefl),
+ C(PAIR('e', 'x'), done),
+ C(PAIR('s', 's'), casess),
+ C(PAIR('f', 'p'), casefp),
+ C(PAIR('c', 's'), casecs),
+ C(PAIR('b', 'd'), casebd),
+ C(PAIR('l', 'g'), caselg),
+ C(PAIR('h', 'c'), casehc),
+ C(PAIR('h', 'y'), casehy),
+ C(PAIR('n', 'h'), casenh),
+ C(PAIR('n', 'm'), casenm),
+ C(PAIR('n', 'n'), casenn),
+ C(PAIR('s', 'v'), casesv),
+ C(PAIR('o', 's'), caseos),
+ C(PAIR('l', 's'), casels),
+ C(PAIR('c', 'c'), casecc),
+ C(PAIR('c', '2'), casec2),
+ C(PAIR('e', 'm'), caseem),
+ C(PAIR('a', 'f'), caseaf),
+ C(PAIR('h', 'w'), casehw),
+ C(PAIR('m', 'c'), casemc),
+ C(PAIR('p', 'm'), casepm),
+ C(PAIR('p', 'i'), casepi),
+ C(PAIR('u', 'f'), caseuf),
+ C(PAIR('p', 'c'), casepc),
+ C(PAIR('h', 't'), caseht),
+ C(PAIR('c', 'f'), casecf),
+ C(PAIR('s', 'y'), casesy),
+ C(PAIR('l', 'f'), caself),
+ C(PAIR('d', 'b'), casedb),
+/* C(PAIR('!', 0), casesy), */ /* synonym for .sy */
+ C(PAIR(XFUNC, 0), caseif), /* while loop execution */
+ C(PAIR('c', 'p'), casecp),
+ C(0, 0)
+};
+
+
+tchar *oline;
+
+/*
+ * troff environment block
+ */
+
+struct env env = {
+/* int ics */ 0,
+/* int sps */ 0,
+/* int ses */ 0,
+/* int spacesz */ 0,
+/* int sesspsz */ 0,
+#ifndef NROFF
+/* int minsps */ 0,
+/* int minspsz */ 0,
+/* int letspsz */ 0,
+/* int letsps */ 0,
+/* int lspmin */ 0,
+/* int lspmax */ 0,
+/* int lspnc */ 0,
+/* int lsplow */ 0,
+/* int lsphigh */ 0,
+/* int lspcur */ 0,
+/* int lsplast */ 0,
+/* int lshmin */ 0,
+/* int lshmax */ 0,
+/* int lshwid */ 0,
+/* int lshlow */ 0,
+/* int lshhigh */ 0,
+/* int lshcur */ 0,
+#endif /* !NROFF */
+/* int fldcnt */ 0,
+/* int lss */ 0,
+/* int lss1 */ 0,
+/* int ll */ 0,
+/* int ll1 */ 0,
+/* int lt */ 0,
+/* int lt1 */ 0,
+/* tchar i */ 0, /* insertion character */
+/* int icf */ 0,
+/* tchar chbits */ 0, /* size+font bits for current character */
+/* tchar spbits */ 0,
+/* tchar nmbits */ 0,
+/* int apts */ PS, /* actual point size -- as requested by user */
+/* int apts1 */ PS, /* need not match an existent size */
+/* int pts */ PS, /* hence, this is the size that really exists */
+/* int pts1 */ PS,
+/* int font */ FT,
+/* int font1 */ FT,
+/* int ls */ 1,
+/* int ls1 */ 1,
+/* int ad */ 1,
+/* int nms */ 1,
+/* int ndf */ 1,
+/* int fi */ 1,
+/* int cc */ '.',
+/* int c2 */ '\'',
+/* int ohc */ OHC,
+/* int tdelim */ IMP,
+/* int hyf */ 1,
+/* int hyoff */ 0,
+/* int hlm */ -1,
+/* int hlc */ 0,
+/* int hylen */ 5,
+/* float hypp */ 0,
+/* float hypp2 */ 0,
+/* float hypp3 */ 0,
+/* int un1 */ -1,
+/* int tabc */ 0,
+/* int dotc */ '.',
+/* int adsp */ 0,
+/* int adrem */ 0,
+/* int lastl */ 0,
+/* int nel */ 0,
+/* int admod */ 0,
+/* int adflg */ 0,
+/* int adspc */ 0,
+/* int pa */ 0,
+/* tchar *wordp */ 0,
+/* int spflg */ 0, /* probably to indicate space after punctuation needed */
+/* int seflg */ 0,
+/* tchar *linep */ 0,
+/* tchar *wdend */ 0,
+/* tchar *wdstart */ 0,
+/* int wne */ 0,
+/* int wsp */ 0,
+/* int ne */ 0,
+/* int nc */ 0,
+/* int nb */ 0,
+/* int lnmod */ 0,
+/* int nwd */ 0,
+/* int nn */ 0,
+/* int ni */ 0,
+/* int ul */ 0,
+/* int cu */ 0,
+/* int ce */ 0,
+/* int rj */ 0,
+/* int brnl */ 0,
+/* int brpnl */ 0,
+/* int in */ 0,
+/* int in1 */ 0,
+/* int un */ 0,
+/* int wch */ 0,
+/* int rhang */ 0,
+/* int pendt */ 0,
+/* tchar *pendw */ (tchar *)0,
+/* int pendnf */ 0,
+/* int spread */ 0,
+/* int dpenal */ 0,
+/* int it */ 0,
+/* int itc */ 0,
+/* int itmac */ 0,
+/* int lnsize */ 0,
+/* int wdsize */ 0,
+};
diff --git a/troff/nii.c b/troff/nii.c
new file mode 100644
index 0000000000000..389fde83866dc
--- /dev/null
+++ b/troff/nii.c
@@ -0,0 +1,196 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "nii.c 1.7 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)nii.c 1.48 (gritter) 3/5/07
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include "tdef.h"
+#ifdef NROFF
+#include "tw.h"
+#endif
+#include "pt.h"
+#include "ext.h"
+
+struct s *frame, *stk;
+int ejl;
+struct s *nxf;
+
+pid_t pipeflg = -1;
+int hflg; /* used in nroff only */
+int eqflg; /* used in nroff only */
+
+#ifndef NROFF
+int xpts;
+int ppts;
+int pfont;
+int mpts;
+int mfont;
+int cs;
+int ccs;
+int bd;
+char *fchartab;
+#else
+long lvmot;
+#endif
+
+int stdi;
+int nofeed;
+int quiet;
+int stop;
+char ibuf[IBUFSZ];
+char xbuf[IBUFSZ];
+char *ibufp;
+char *xbufp;
+char *eibuf;
+char *xeibuf;
+tchar *pbbuf; /* pushback buffer for arguments, \n, etc. */
+int pbsize; /* number of members allocated for pbbuf */
+int pbp; /* next free slot in pbbuf */
+int lastpbp; /* pbp in previous stack frame */
+int nx;
+int mflg;
+tchar ch = 0;
+int ttyod;
+int iflg;
+int rargc;
+char **argp;
+int *trtab;
+int *trintab;
+int *trnttab;
+int lgf;
+int copyf;
+filep ip;
+int nlflg;
+int donef;
+int nflush;
+int nfo;
+int ifile;
+int padc;
+int raw;
+int ifl[NSO];
+int ifi;
+int flss;
+int nonumb;
+int trap;
+int tflg;
+int ejf;
+int gflag;
+int dilev;
+filep offset;
+int em;
+int ds;
+filep woff;
+int app;
+int ndone;
+int lead;
+int ralss;
+filep nextb;
+tchar nrbits;
+int nform;
+int macerr;
+filep apptr;
+int diflg;
+filep roff;
+int wbfi;
+int vflag;
+int noscale;
+int po1;
+int ev;
+int tty;
+int sfont = FT; /* appears to be "standard" font; used by .ul */
+int sv;
+int esc;
+int widthp;
+int xflag = 1;
+int xfont;
+int setwdf;
+int over;
+int nhyp;
+tchar **hyp;
+tchar *olinep;
+int dotT;
+int no_out;
+struct widcache *widcache;
+struct d *d;
+struct d *dip;
+int mb_cur_max;
+struct env initenv;
+int lastkern;
+int lasttrack;
+int defaultpl;
+int NCHARS;
+int NDI;
+int spreadwarn;
+int spreadlimit;
+int lastrq;
+long realpage;
+int tryglf;
+char *gchtab;
+int tailflg;
+int minflg;
+int minspc;
+int blmac;
+int lsmac;
+int glss;
+int lsn;
+int rawwidth;
+int *olt;
+int nolt;
+int clonef;
+size_t olinesz;
+tchar **chartab;
+struct charout *charout;
+int charoutsz;
+int charf;
+int fmtchar;
+int Tflg;
+int dl;
+int padj;
+int defcf;
+int donep;
+int gemu;
+int argdelim;
+int chomp;
+int chompend;
diff --git a/troff/nroff.d/Makefile.mk b/troff/nroff.d/Makefile.mk
new file mode 100644
index 0000000000000..6e41be4ae9566
--- /dev/null
+++ b/troff/nroff.d/Makefile.mk
@@ -0,0 +1,49 @@
+VPATH=..
+
+LIBHNJ = ../libhnj
+BST = ../../stuff/bst
+
+OBJ = n10.o n6.o hytab.o n1.o n2.o n3.o n4.o n5.o \
+ n7.o n8.o n9.o ni.o nii.o suftab.o \
+ version.o draw.o $(BST)/bst.o
+
+FLAGS = -DNROFF -DUSG $(EUC) -I. -I.. -I../../include -DMACDIR='"$(MACDIR)"' \
+ -DFNTDIR='"$(FNTDIR)"' -DTABDIR='"$(TABDIR)"' -DHYPDIR='"$(HYPDIR)"' \
+ -DSHELL='"$(SHELL)"' -DRELEASE='"$(RELEASE)"' $(DEFINES) \
+ -I$(BST)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: nroff
+
+nroff: $(OBJ) $(LIBHNJ)/libhnj.a
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) -L$(LIBHNJ) -lhnj $(LIBS) -o nroff
+
+install:
+ $(INSTALL) -c nroff $(ROOT)$(BINDIR)/nroff
+ $(STRIP) $(ROOT)$(BINDIR)/nroff
+ $(INSTALL) -c -m 644 nroff.1 $(ROOT)$(MANDIR)/man1/nroff.1
+
+clean:
+ rm -f $(OBJ) nroff core log *~
+
+mrproper: clean
+
+draw.o: ../tdef.h ../ext.h
+n10.o: n10.c ../tdef.h ../ext.h tw.h pt.h
+n6.o: n6.c ../tdef.h tw.h pt.h ../ext.h
+hytab.o: ../hytab.c
+malloc.o: ../malloc.c ../mallint.h
+n1.o: ../n1.c ../tdef.h ../ext.h ./pt.h tw.h
+n2.o: ../n2.c ../tdef.h ./pt.h ../ext.h tw.h
+n3.o: ../n3.c ../tdef.h ./pt.h ../ext.h tw.h
+n4.o: ../n4.c ../tdef.h ./pt.h ../ext.h tw.h
+n5.o: ../n5.c ../tdef.h ./pt.h ../ext.h tw.h
+n7.o: ../n7.c ../tdef.h ./pt.h ../ext.h tw.h
+n8.o: ../n8.c ../tdef.h ../ext.h ./pt.h
+n9.o: ../n9.c ../tdef.h ./pt.h ../ext.h tw.h
+ni.o: ../ni.c ../tdef.h ./pt.h ./ext.h
+nii.o: ../nii.c ../tdef.h ./pt.h ../ext.h tw.h
+suftab.o: ../suftab.c
+version.o: ../version.c
diff --git a/troff/nroff.d/draw.c b/troff/nroff.d/draw.c
new file mode 100644
index 0000000000000..5d0e7021ace0c
--- /dev/null
+++ b/troff/nroff.d/draw.c
@@ -0,0 +1,186 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "tdef.h"
+#include "ext.h"
+#include "bst.h"
+#include "draw.h"
+#include "pt.h"
+#include "tw.h"
+
+int ndraw;
+
+extern int tlp, utf8;
+
+#define BST_VAL(c) ((union bst_val)(long)(c))
+#define XY2KEY(row, col) ((union bst_val)(uint64_t)(((uint64_t)(row) << 32) \
+ | (col)))
+#define KEY2X(l) (l & 0xffffffff)
+#define KEY2Y(l) ((l >> 32) & 0xffffffff)
+#define UTF_TLP(u, a) (utf8 ? setuc0(u) : a)
+#define DASH UTF_TLP(0x2500, '-')
+#define BAR UTF_TLP(0x2502, '|')
+#define DOWN_RIGHT "\\U'250C'"
+#define DOWN_LEFT "\\U'2510'"
+#define DOWN_HOR "\\U'252C'"
+#define UP_RIGHT "\\U'2514'"
+#define UP_LEFT "\\U'2518'"
+#define UP_HOR "\\U'2534'"
+
+static void free_node(struct bst_node *);
+static int coordcmp(union bst_val, union bst_val);
+static void postproc(struct bst_node *);
+static void chkcoord(uint64_t);
+static void drawat(int, int, char *);
+
+struct bst coords = {
+ NULL,
+ coordcmp
+};
+
+void
+storechar(tchar c, int row, int col) {
+ long s = cbits(c);
+ if (s != DASH && s != BAR) return;
+ if (bst_srch(&coords, XY2KEY(row, col), NULL))
+ if (avl_add(&coords, XY2KEY(row, col), BST_VAL(c)))
+ fprintf(stderr,
+ "BST: Unexpected internal error\n");
+}
+
+void
+npic(int start) {
+ ndraw = start && (tlp || utf8);
+ if (coords.root) {
+ postproc(coords.root);
+ free_node(coords.root);
+ coords.root = NULL;
+ }
+}
+
+static void
+free_node(struct bst_node *n) {
+ if (n->left ) free_node(n->left );
+ if (n->right) free_node(n->right);
+ free(n);
+}
+
+static int
+coordcmp(union bst_val a, union bst_val b) {
+ return a.l < b.l ? -1 :
+ a.l > b.l ? 1 :
+ 0 ;
+}
+
+static void
+postproc(struct bst_node *n) {
+ if (n->left ) postproc(n->left );
+ chkcoord(n->key.u64);
+ if (n->right) postproc(n->right);
+}
+
+static void
+chkcoord(uint64_t xy) {
+ unsigned long e = 0;
+ int i, c = 0;
+ int x = KEY2X(xy);
+ int y = KEY2Y(xy);
+ for (i = 0; i < 9; i++) {
+ struct bst_node *n;
+ int xi = x + HOR * (i % 3 - 1);
+ int yi = y + VERT * (i / 3 - 1);
+ if (i != 4) e <<= 4;
+ if (xi >= 0 && yi >= 0 &&
+ !bst_srch(&coords, XY2KEY(yi, xi), &n)) {
+ long s = cbits(n->data.l);
+ if (s == BAR ) {
+ if (i == 4) c = 1;
+ else e |= 1;
+ } else if (s == DASH) {
+ if (i == 4) c = 2;
+ else e |= 2;
+ } else {
+ if (i == 4) return;
+ }
+ }
+ }
+ switch (e) {
+ case 0x00002010: drawat(x, y, DOWN_RIGHT); break;
+ case 0x00020010: drawat(x, y, DOWN_LEFT ); break;
+ case 0x00022010: drawat(x, y, DOWN_HOR ); break;
+ case 0x11012220:
+ case 0x22202000:
+ case 0x01002200:
+ case 0x01002220:
+ case 0x01002000: drawat(x, y, UP_RIGHT ); break;
+ case 0x01121222:
+ case 0x01020000: drawat(x, y, UP_LEFT ); break;
+ case 0x11022000:
+ case 0x01122000:
+ case 0x01022000: drawat(x, y, UP_HOR ); break;
+ case 0x00020001: /* empty upper right */
+ case 0x02220001:
+ case 0x00120001:
+ case 0x01220001:
+ case 0x11220001:
+ case 0x10020001:
+ case 0x10010001:
+ if (c == 2) drawat(x + HOR, y, DOWN_LEFT);
+ break;
+ case 0x01020001:
+ drawat(x , y, UP_HOR );
+ drawat(x + HOR, y, DOWN_LEFT);
+ break;
+ case 0x00002100: /* empty upper left */
+ case 0x00102100:
+ case 0x00101100:
+ if (c == 2) drawat(x - HOR, y, DOWN_RIGHT);
+ break;
+ }
+}
+
+static void
+drawat(int x, int y, char *s) {
+ size_t l = 0;
+ char buf[100];
+ x -= po + in + ne;
+ y -= numtab[NL].val;
+ cpushback(".sp -1\n");
+ if (x) {
+ snprintf(buf, sizeof(buf), "\\h'%du'", x);
+ l = strlen(buf);
+ }
+ if (y) {
+ snprintf(buf + l, sizeof(buf) - l, "\\v'%du'", y);
+ l = strlen(buf);
+ }
+ snprintf(buf + l, sizeof(buf) - l, "%s\n", utf8 ? s : "+");
+ cpushback(buf);
+}
diff --git a/troff/nroff.d/draw.h b/troff/nroff.d/draw.h
new file mode 100644
index 0000000000000..54aaf2365e0fd
--- /dev/null
+++ b/troff/nroff.d/draw.h
@@ -0,0 +1,4 @@
+extern int ndraw;
+
+void storechar(tchar, int, int);
+void npic(int);
diff --git a/troff/nroff.d/n10.c b/troff/nroff.d/n10.c
new file mode 100644
index 0000000000000..569b766051eff
--- /dev/null
+++ b/troff/nroff.d/n10.c
@@ -0,0 +1,891 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n10.c 1.15 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n10.c 1.33 (gritter) 12/25/06
+ *
+ * Portions Copyright (c) 2014 Carsten Kunze <carsten.kunze@arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+n10.c
+
+Device interfaces
+*/
+
+#include <stdio.h>
+#include <limits.h>
+#include <ctype.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <sys/wait.h>
+#include <stdlib.h>
+#ifdef EUC
+#include <wchar.h>
+#endif
+#include "tdef.h"
+#include "ext.h"
+#include "tw.h"
+#include "pt.h"
+#include "bst.h"
+
+struct t t; /* terminal characteristics */
+
+int dtab;
+int plotmode;
+int esct;
+
+int nchtab;
+
+int *bdtab;
+int *fontlab;
+
+int Inch;
+int Hor;
+int Vert;
+int nfonts = 4; /* R, I, B, S */
+
+/* these characters are used as various signals or values
+ * in miscellaneous places.
+ * values are set in specnames in t10.c
+ */
+
+int c_hyphen;
+int c_emdash;
+int c_rule;
+int c_minus;
+int c_fi;
+int c_fl;
+int c_ff;
+int c_ffi;
+int c_ffl;
+int c_acute;
+int c_grave;
+int c_under;
+int c_rooten;
+int c_boxrule;
+int c_lefthand;
+int c_dagger;
+int c_isalnum;
+
+int utf8;
+int tlp;
+
+static int bst_intcmp(union bst_val, union bst_val);
+static int bst_strcmp(union bst_val, union bst_val);
+
+static int nch;
+
+static struct bst utf8oc = { NULL, bst_intcmp };
+static struct bst chnames = { NULL, bst_strcmp };
+
+#define UTF8OC_KEY(c) ((union bst_val)(int)c)
+#define UTF8OC_VAL(s) ((union bst_val)(void *)s)
+
+void
+ptinit(void)
+{
+ int i, j;
+ char *p, c, *p2;
+ char *tt;
+ size_t ttl;
+ int nread, fd;
+ struct stat stbuf;
+ char *check;
+ extern int initbdtab[], initfontlab[];
+ int nl;
+ size_t codsiz;
+ char *codestr;
+ char *code;
+
+ check = malloc(1024);
+ bdtab = initbdtab;
+ fontlab = initfontlab;
+ ttl = strlen(termtab) + strlen(devname) + 1;
+ tt = malloc(ttl);
+ n_strcpy(tt, termtab, ttl);
+ if (strcmp(devname, "locale")) {
+ n_strcat(tt, devname, ttl);
+ if (!strcmp(devname, "lp"))
+ tlp = 1;
+ }
+ else {
+#ifdef EUC
+ wchar_t wc;
+ if (mb_cur_max > 1 && mbtowc(&wc, "\303\266", 2) == 2 &&
+ wc == 0xF6 && mbtowc(&wc, "\342\202\254", 3) == 3 &&
+ wc == 0x20AC) {
+ csi_width[0] = 0;
+ utf8 = 1;
+ n_strcat(tt, "utf8", ttl); /* shorter than "locale" */
+ avl_add(&utf8oc, UTF8OC_KEY('-'),
+ UTF8OC_VAL(strdup("\xe2\x80\x90")));
+ avl_add(&utf8oc, UTF8OC_KEY('`'),
+ UTF8OC_VAL(strdup("\xe2\x80\x98")));
+ avl_add(&utf8oc, UTF8OC_KEY('\''),
+ UTF8OC_VAL(strdup("\xe2\x80\x99")));
+ } else
+ {
+#endif
+ tlp = 1;
+ n_strcat(tt, "lp", ttl); /* shorter than "locale" */
+#ifdef EUC
+ }
+#endif
+ }
+ if ((fd = open(tt, O_RDONLY)) < 0) {
+ errprint("cannot open %s", tt);
+ exit(-1);
+ }
+ fstat(fd, &stbuf);
+ codestr = malloc(stbuf.st_size + 1);
+ nread = read(fd, codestr, stbuf.st_size);
+ close(fd);
+ codestr[stbuf.st_size] = 0;
+
+ p = codestr;
+ codsiz = 0;
+ while (1) {
+ i = 0;
+ while ((c = *p) && c != '\n') {
+ check[i++] = c;
+ p++;
+ }
+ check[i] = 0;
+ if (!c) {
+ errprint("Unexpected end of %s", tt);
+ exit(1);
+ }
+ while (*p == '\n') p++;
+ if (!strcmp(check, "charset")) break;
+ j = 0;
+ while (j < i && check[j] != ' ' && check[j] != '\t' ) j++;
+ while (j < i && (check[j] == ' ' || check[j] == '\t')) j++;
+ codsiz += i-j;
+ }
+ while (1) {
+ char c0;
+ int cmt;
+ i = 0;
+ while ((c = *p) && c != ' ' && c != '\t' && c != '\n') {
+ p++;
+ if (!i++) c0 = c;
+ }
+ if (i == 1 && c0 == '#' && c == ' ') {
+ cmt = 1;
+ } else {
+ cmt = 0;
+ }
+ if (!cmt) {
+ while ((c = *p) && (c == ' ' || c == '\t')) p++;
+ while ((c = *p) && c >= '0' && c <= '9') p++;
+ while ((c = *p) && (c == ' ' || c == '\t')) p++;
+ while ((c = *p) && c != ' ' && c != '\t' && c != '\n') {
+ p++;
+ codsiz++;
+ }
+ codsiz++;
+ }
+ while ((c = *p) && c != '\n') p++;
+ if (!c) break;
+ while (*p == '\n') p++;
+ }
+
+ t.codetab = calloc(NROFFCHARS-_SPECCHAR_ST, sizeof *t.codetab);
+ t.width = calloc(NROFFCHARS, sizeof *t.width);
+ code = malloc(codsiz);
+
+ p = codestr;
+ p2 = code;
+ p = skipstr(p); /* skip over type, could check */
+ p = skipstr(p); p = getint(p, &t.bset);
+ p = skipstr(p); p = getint(p, &t.breset);
+ p = skipstr(p); p = getint(p, &t.Hor);
+ p = skipstr(p); p = getint(p, &t.Vert);
+ p = skipstr(p); p = getint(p, &t.Newline);
+ p = skipstr(p); p = getint(p, &t.Char);
+ p = skipstr(p); p = getint(p, &t.Em);
+ p = skipstr(p); p = getint(p, &t.Halfline);
+ p = skipstr(p); p = getint(p, &t.Adj);
+ p = skipstr(p); p = getstr(p, t.twinit = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.twrest = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.twnl = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.hlr = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.hlf = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.flr = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.bdon = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.bdoff = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.iton = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.itoff = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.ploton = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.plotoff = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.up = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.down = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.right = p2); p2 += strlen(p2)+1;
+ p = skipstr(p); p = getstr(p, t.left = p2); p2 += strlen(p2)+1;
+
+ p = getstr(p, check);
+ if (strcmp(check, "charset") != 0) {
+ errprint("device table apparently curdled");
+ exit(1);
+ }
+
+ for (i = 0; i < _SPECCHAR_ST; i++)
+ t.width[i] = 1; /* default widths */
+
+ i = 0;
+ nl = 1;
+next_line:
+ while (p < codestr + nread) {
+ char *s;
+ while ((c = *p) == ' ' || c == '\t' || c == '\n') {
+ if (c == '\n') nl = 1;
+ p++;
+ }
+ if (c == '#' && !nl) {
+ while (*p && *p != '\n') p++;
+ while (*p == '\n') p++;
+ }
+ if (!*p) break; /* last line ends with comment */
+ nl = 0;
+ if (i + _SPECCHAR_ST >= NROFFCHARS) {
+ errprint("too many names in charset for %s", tt);
+ exit(1);
+ }
+ s = p;
+ j = 0;
+ while ((c = *p) != ' ' && c != '\t') {
+ p++;
+ j++;
+ }
+ if (j == 1 && p[-1] == '#' && c == ' ') {
+ while (*p && *p != '\n') p++;
+ goto next_line;
+ }
+ *p++ = '\0';
+ while (*p == ' ' || *p == '\t')
+ p++;
+ t.width[i+_SPECCHAR_ST] = *p++ - '0';
+ while (*p == ' ' || *p == '\t')
+ p++;
+ t.codetab[i] = p2;
+ p = getstr(p, p2); /* compress string */
+ p2 += strlen(p2) + 1;
+ p++;
+ i++;
+ addch(s);
+ }
+ nchtab = nch;
+ sps = EM;
+ ses = EM;
+ ics = EM * 2;
+ dtab = 8 * t.Em;
+ for (i = 0; i < 16; i++)
+ tabtab[i] = dtab * (i + 1);
+ pl = 11 * INCH;
+ po = PO;
+ spacesz = SS;
+ sesspsz = SSS;
+ lss = lss1 = VS;
+ ll = ll1 = lt = lt1 = LL;
+ smnt = nfonts = 5; /* R I B BI S */
+ specnames(); /* install names like "hyphen", etc. */
+ if (eqflg)
+ t.Adj = t.Hor;
+ free(codestr);
+ free(tt);
+ free(check);
+}
+
+char *
+skipstr ( /* skip over leading space plus string */
+ char *s
+)
+{
+ while (*s == ' ' || *s == '\t' || *s == '\n')
+ s++;
+ while (*s != ' ' && *s != '\t' && *s != '\n')
+ if (*s++ == '\\')
+ s++;
+ return s;
+}
+
+char *
+getstr ( /* find next string in s, copy to t */
+ char *s,
+ char *t
+)
+{
+ int quote = 0;
+
+ while (*s == ' ' || *s == '\t' || *s == '\n')
+ s++;
+ if (*s == '"') {
+ s++;
+ quote = 1;
+ }
+ for (;;) {
+ if (quote && *s == '"') {
+ s++;
+ break;
+ }
+ if (!quote && (*s == ' ' || *s == '\t' || *s == '\n'))
+ break;
+ if (*s != '\\')
+ *t++ = *s++;
+ else {
+ s++; /* skip \\ */
+ if (isdigit((unsigned char)s[0]) &&
+ isdigit((unsigned char)s[1]) &&
+ isdigit((unsigned char)s[2])) {
+ *t++ = (s[0]-'0')<<6 | (s[1]-'0')<<3 | (s[2]-'0');
+ s += 2;
+ } else if (s[0] == 'x' &&
+ isxdigit((unsigned char)s[1]) &&
+ isxdigit((unsigned char)s[2])) {
+ *t++ = hex2nibble(s[1]) << 4 |
+ hex2nibble(s[2]) ;
+ s += 2;
+ } else if (isdigit((unsigned char)s[0])) {
+ *t++ = *s - '0';
+ } else if (*s == 'b') {
+ *t++ = '\b';
+ } else if (*s == 'n') {
+ *t++ = '\n';
+ } else if (*s == 'r') {
+ *t++ = '\r';
+ } else if (*s == 't') {
+ *t++ = '\t';
+ } else {
+ *t++ = *s;
+ }
+ s++;
+ }
+ }
+ *t = '\0';
+ return s;
+}
+
+char *
+getint ( /* find integer at s */
+ char *s,
+ int *pn
+)
+{
+ int base;
+
+ while (*s == ' ' || *s == '\t' || *s == '\n')
+ s++;
+ base = (*s == '0') ? 8 : 10;
+ *pn = 0;
+ while (isdigit((unsigned char)*s))
+ *pn = base * *pn + *s++ - '0';
+ return s;
+}
+
+void
+specnames(void)
+{
+ static struct {
+ int *n;
+ char *v;
+ } spnames[] = {
+ { &c_hyphen, "hy" },
+ { &c_emdash, "em" },
+ { &c_rule, "ru" },
+ { &c_minus, "\\-" },
+ { &c_fi, "fi" },
+ { &c_fl, "fl" },
+ { &c_ff, "ff" },
+ { &c_ffi, "Fi" },
+ { &c_ffl, "Fl" },
+ { &c_acute, "aa" },
+ { &c_grave, "ga" },
+ { &c_under, "ul" },
+ { &c_rooten, "rn" },
+ { &c_boxrule, "br" },
+ { &c_lefthand, "lh" },
+ { &c_isalnum, "__" },
+ { 0, 0 }
+ };
+ int i;
+
+ for (i = 0; spnames[i].n; i++)
+ *spnames[i].n = findch(spnames[i].v);
+ if (c_isalnum == 0)
+ c_isalnum = NROFFCHARS;
+}
+
+
+int
+findch(char *s) {
+ struct bst_node *n;
+ if (bst_srch(&chnames, (union bst_val)(void *)s, &n))
+ return 0;
+ return n->data.i + _SPECCHAR_ST;
+}
+
+int
+addch(char *s) {
+ avl_add(&chnames, (union bst_val)(void *)strdup(s),
+ (union bst_val)(int)nch);
+ return nch++ + _SPECCHAR_ST;
+}
+
+void
+twdone(void)
+{
+ int waitf;
+
+ obufp = obuf;
+ if (t.twrest) /* has ptinit() been done yet? */
+ oputs(t.twrest);
+ flusho();
+ if (pipeflg != -1) {
+ close(ptid);
+ waitpid(pipeflg, &waitf, 0);
+ }
+ restore_tty();
+}
+
+
+void
+ptout(tchar i)
+{
+ if (cbits(i) == FILLER)
+ return;
+ if (isadjspc(i))
+ return;
+ if (olinep >= &oline[olinesz]) {
+ tchar *k;
+ olinesz += 100;
+ k = realloc(oline, olinesz * sizeof *oline);
+ olinep = (tchar *)((char *)olinep + ((char *)k-(char *)oline));
+ oline = k;
+ }
+ *olinep++ = i;
+ if (cbits(i) != '\n')
+ return;
+ olinep--;
+ lead += dip->blss + lss - t.Newline;
+ dip->blss = 0;
+ esct = esc = 0;
+ if (olinep > oline) {
+ move();
+ ptout1();
+ oputs(t.twnl);
+ } else {
+ lead += t.Newline;
+ move();
+ }
+ lead += dip->alss;
+ dip->alss = 0;
+ olinep = oline;
+}
+
+
+void
+ptout1(void)
+{
+ register int k;
+ register char *codep;
+ char *savep;
+#ifdef EUC
+ register char *qq;
+#endif /* EUC */
+ int w, j, phyw;
+#ifdef EUC
+ int jj;
+#endif /* EUC */
+ tchar * q, i;
+ static int oxfont = FT; /* start off in roman */
+ struct bst_node *uconv;
+
+ for (q = oline; q < olinep; q++) {
+ i = *q;
+ if (ismot(i)) {
+ j = absmot(i);
+ if (isnmot(i))
+ j = -j;
+ if (isvmot(i))
+ lead += j;
+ else
+ esc += j;
+ continue;
+ }
+ if ((k = cbits(i)) <= 040) {
+ switch (k) {
+ case ' ': /*space*/
+ esc += t.Char;
+ break;
+ case '\033':
+ case '\007':
+ case '\016':
+ case '\017':
+ oput(k);
+ break;
+ }
+ continue;
+ }
+#ifdef EUC
+ if (multi_locale && (k >= nchtab + _SPECCHAR_ST)) {
+ jj = tr2un(k, fbits(i));
+ if ((jj = wcwidth(jj)) < 0)
+ jj = 0;
+ phyw = w = t.Char * csi_width[jj];
+ if (iszbit(i))
+ w = 0;
+ } else {
+#endif /* EUC */
+ phyw = w = t.Char * t.width[k];
+ if (iszbit(i))
+ w = 0;
+#ifdef EUC
+ }
+#endif /* EUC */
+ if (esc || lead)
+ move();
+ esct += w;
+ xfont = fbits(i);
+ if (xfont != oxfont) {
+ if (oxfont == ulfont || oxfont == BIFONT)
+ oputs(t.itoff);
+ if (bdtab[oxfont])
+ oputs(t.bdoff);
+ if (xfont == ulfont || xfont == BIFONT)
+ oputs(t.iton);
+ if (bdtab[xfont])
+ oputs(t.bdon);
+ oxfont = xfont;
+ }
+ if ((xfont == ulfont || xfont == BIFONT) && !(*t.iton & 0377)) {
+ for (j = w / t.Char; j > 0; j--)
+ oput('_');
+ for (j = w / t.Char; j > 0; j--)
+ oput('\b');
+ }
+ if ((j = bdtab[xfont]) && !(*t.bdon & 0377))
+ j++;
+ else
+ j = 1; /* number of overstrikes for bold */
+#ifdef EUC
+ if (utf8 && !bst_srch(&utf8oc, UTF8OC_KEY(k), &uconv)) {
+ for (savep = uconv->data.p; *savep; savep++)
+ oput(*savep);
+ } else
+#endif
+ if (k < 128) { /* ordinary ascii */
+ oput(k);
+ while (--j > 0) {
+ oput('\b');
+ oput(k);
+ }
+#ifdef EUC
+ } else if (multi_locale && (k >= nchtab + _SPECCHAR_ST)) {
+ int n;
+ char mb[MB_LEN_MAX+1];
+ jj = tr2un(k, fbits(i));
+ if ((n = wctomb(mb, jj)) > 0) {
+ for (qq = mb; qq < &mb[n];)
+ oput(*qq++);
+ while (--j > 0) {
+ for (jj = w / t.Char; jj > 0; jj--)
+ oput('\b');
+ for (qq = mb; qq < &mb[n];)
+ oput(*qq++);
+ }
+ }
+ } else if (k < 256) {
+ /*
+ * Invalid character for C locale or
+ * non-printable 8-bit single byte
+ * character such as <no-break-sp>
+ * in ISO-8859-1
+ */
+ oput(k);
+ while (--j > 0) {
+ oput('\b');
+ oput(k);
+ }
+#endif /* EUC */
+ } else if (k >= nchtab + _SPECCHAR_ST) {
+ oput(k - nchtab - _SPECCHAR_ST);
+ } else {
+ int oj, isesc, allesc;
+ savep = t.codetab[k-_SPECCHAR_ST];
+ loop: codep = savep;
+ allesc = 1;
+ oj = j;
+ while (*codep != 0) {
+ if (*codep & 0200) {
+ codep = plot(codep);
+ oput(' ');
+ allesc = 0;
+ } else {
+ if ((isesc = *codep=='%')) /* escape */
+ codep++;
+ else
+ allesc = 0;
+ oput(*codep);
+ if (*codep == '\033')
+ oput(*++codep);
+ else if (*codep != '\b' && !isesc)
+ for (j = oj; --j > 0; ) {
+ oput('\b');
+ oput(*codep);
+ }
+ codep++;
+ }
+ }
+ if (allesc && --j > 0) {
+ oput('\b');
+ goto loop;
+ }
+ }
+ if (!w)
+ for (j = phyw / t.Char; j > 0; j--)
+ {
+ oput('\b');
+ }
+ }
+}
+
+
+char *
+plot(char *x)
+{
+ register int i;
+ register char *j, *k;
+
+ oputs(t.ploton);
+ k = x;
+ if ((*k & 0377) == 0200)
+ k++;
+ for (; *k; k++) {
+ if (*k == '%') { /* quote char within plot mode */
+ oput(*++k);
+ } else if (*k & 0200) {
+ if (*k & 0100) {
+ if (*k & 040)
+ j = t.up;
+ else
+ j = t.down;
+ } else {
+ if (*k & 040)
+ j = t.left;
+ else
+ j = t.right;
+ }
+ if ((i = *k & 037) == 0) { /* 2nd 0200 turns it off */
+ ++k;
+ break;
+ }
+ while (i--)
+ oputs(j);
+ } else
+ oput(*k);
+ }
+ oputs(t.plotoff);
+ return(k);
+}
+
+
+void
+move(void)
+{
+ register int k;
+ register char *i, *j;
+ char *p, *q;
+ int iesct, dt;
+
+ iesct = esct;
+ if (esct += esc)
+ i = "\0";
+ else
+ i = "\n\0";
+ j = t.hlf;
+ p = t.right;
+ q = t.down;
+ if (lead) {
+ if (lead < 0) {
+ lead = -lead;
+ i = t.flr;
+ /* if(!esct)i = t.flr; else i = "\0";*/
+ j = t.hlr;
+ q = t.up;
+ }
+ if (*i & 0377) {
+ k = lead / t.Newline;
+ lead = lead % t.Newline;
+ while (k--)
+ oputs(i);
+ }
+ if (*j & 0377) {
+ k = lead / t.Halfline;
+ lead = lead % t.Halfline;
+ while (k--)
+ oputs(j);
+ } else { /* no half-line forward, not at line begining */
+ k = lead / t.Newline;
+ lead = lead % t.Newline;
+ if (k > 0)
+ esc = esct;
+ i = "\n";
+ while (k--)
+ oputs(i);
+ }
+ }
+ if (esc) {
+ if (esc < 0) {
+ esc = -esc;
+ j = "\b";
+ p = t.left;
+ } else {
+ j = " ";
+ if (hflg)
+ while ((dt = dtab - (iesct % dtab)) <= esc) {
+ if (dt % t.Em)
+ break;
+ oput(TAB);
+ esc -= dt;
+ iesct += dt;
+ }
+ }
+ k = esc / t.Em;
+ esc = esc % t.Em;
+ while (k--)
+ oputs(j);
+ }
+ if ((*t.ploton & 0377) && (esc || lead)) {
+ oputs(t.ploton);
+ esc /= t.Hor;
+ lead /= t.Vert;
+ while (esc--)
+ oputs(p);
+ while (lead--)
+ oputs(q);
+ oputs(t.plotoff);
+ }
+ esc = lead = 0;
+}
+
+
+void
+ptlead(void)
+{
+ move();
+}
+
+
+void
+dostop(void)
+{
+ char junk;
+
+ flusho();
+ read(2, &junk, 1);
+}
+
+
+/*ARGSUSED*/
+void
+newpage(int unused)
+{
+ realpage++;
+}
+
+void
+pttrailer(void){;}
+
+void
+caseutf8conv(void) {
+#ifdef EUC
+ tchar tc;
+ int i, o;
+ struct bst_node *n;
+ char mb[MB_LEN_MAX+1];
+ if (skip(1)) return;
+ i = cbits(getch());
+ if (skip(0)) {
+ if (!bst_srch(&utf8oc, UTF8OC_KEY(i), &n)) {
+ free(n->data.p);
+ avl_del(&utf8oc, UTF8OC_KEY(i));
+ }
+ } else {
+ char *s;
+ o = cbits(tc = getch());
+ if (o < 256) {
+ s = malloc(2);
+ s[0] = o;
+ s[1] = 0;
+ } else if (multi_locale && (o >= nchtab + _SPECCHAR_ST)) {
+ mb[wctomb(mb, tr2un(o, fbits(tc)))] = 0;
+ s = strdup(mb);
+ } else {
+ s = strdup(t.codetab[o-_SPECCHAR_ST]);
+ }
+ if (bst_srch(&utf8oc, UTF8OC_KEY(i), &n)) {
+ avl_add(&utf8oc, UTF8OC_KEY(i), UTF8OC_VAL(s));
+ } else {
+ free(n->data.p);
+ n->data.p = s;
+ }
+ }
+#endif /* EUC */
+}
+
+static int
+bst_intcmp(union bst_val a, union bst_val b) {
+ return a.i < b.i ? -1 :
+ a.i > b.i ? 1 :
+ 0 ;
+}
+
+static int
+bst_strcmp(union bst_val a, union bst_val b) {
+ return strcmp(a.p, b.p);
+}
diff --git a/troff/nroff.d/n6.c b/troff/nroff.d/n6.c
new file mode 100644
index 0000000000000..280989942ce9b
--- /dev/null
+++ b/troff/nroff.d/n6.c
@@ -0,0 +1,707 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "n6.c 1.12 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)n6.c 1.51 (gritter) 6/19/11
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze <carsten.kunze at arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#ifdef EUC
+#include <limits.h>
+#include <stdlib.h>
+#include <wchar.h>
+#endif
+#include <ctype.h>
+#include "tdef.h"
+#include "tw.h"
+#include "pt.h"
+#include "ext.h"
+
+/*
+ * n6.c -- width functions, sizes and fonts
+*/
+
+int initbdtab[NFONT+1] ={ 0, 0, 0, 3, 3, 0, };
+int sbold = 0;
+int initfontlab[NFONT+1] = { 0, 'R', 'I', 'B', PAIR('B','I'), 'S', 0 };
+
+extern int nchtab;
+
+int
+width(register tchar j)
+{
+ register int i, k;
+
+ if (isadjspc(j))
+ return(0);
+ if (j & (ZBIT|MOT)) {
+ if (iszbit(j))
+ return(0);
+ if (isvmot(j))
+ return(0);
+ k = absmot(j);
+ if (isnmot(j))
+ k = -k;
+ return(k);
+ }
+ i = cbits(j);
+ if (isxfunc(j, CHAR))
+ return(charout[sbits(j)].width);
+ if (i < ' ') {
+ if (i == '\b')
+ return(-widthp);
+ if (i == PRESC)
+ i = eschar;
+ else if (iscontrol(i))
+ return(0);
+ }
+ if (i==ohc)
+ return(0);
+#ifdef EUC
+ if (multi_locale && i >= nchtab + _SPECCHAR_ST) {
+ i = tr2un(i, fbits(j));
+ if ((i = wcwidth(i)) < 0)
+ i = 0;
+ k = t.Char * csi_width[i];
+ widthp = k;
+ return(k);
+ }
+#endif /* EUC */
+ i = trtab[i];
+ if (i < 32)
+ return(0);
+ k = t.width[i] * t.Char;
+ widthp = k;
+ return(k);
+}
+
+
+tchar
+setch(int delim)
+{
+ register int j;
+ char temp[40];
+ register char *s;
+
+ s = temp;
+ if (delim == 'C') {
+ do {
+ j = getach();
+ if (s < &temp[sizeof temp - 1])
+ *s++ = j;
+ } while (j != 0 && (s == &temp[1] || j != temp[0]));
+ if (s - temp == 3)
+ return temp[1];
+ else if (s - temp == 4) {
+ temp[0] = temp[1];
+ temp[1] = temp[2];
+ s = &temp[2];
+ } else {
+ *s = 0;
+ if (j != temp[0])
+ nodelim(temp[0]);
+ else if (warn & WARN_CHAR) {
+ errprint("missing glyph \\C%s", temp);
+ }
+ return 0;
+ }
+ } else if (delim == '[' && (j = getach()) != ']') {
+ *s++ = j;
+ while ((j = getach()) != ']' && j != 0)
+ if (s < &temp[sizeof temp - 1])
+ *s++ = j;
+ if (s - temp == 1)
+ return temp[0];
+ else if (s - temp != 2) {
+ *s = '\0';
+ if (j != ']')
+ nodelim(']');
+ else {
+ size_t l = strlen(temp);
+ if (gemu) {
+ if (l == 5 && *temp == 'u'
+ && isxdigit((unsigned)temp[1])
+ && isxdigit((unsigned)temp[2])
+ && isxdigit((unsigned)temp[3])
+ && isxdigit((unsigned)temp[4])) {
+ int n;
+ n = strtol(temp + 1, NULL, 16);
+ if (n)
+ return setuc0(n);
+ } else if ((l == 6 || (l == 7
+ && isdigit((unsigned)temp[6])))
+ && isdigit((unsigned)temp[5])
+ && isdigit((unsigned)temp[4])
+ && !strncmp(temp, "char", 4)) {
+ int i = atoi(temp + 4);
+ if (i <= 255)
+ return i + nchtab +
+ _SPECCHAR_ST;
+ }
+ }
+ if ((j = findch(temp)) > 0)
+ return j | chbits;
+ else if (warn & WARN_CHAR)
+ errprint("missing glyph \\[%s]", temp);
+ return 0;
+ }
+ }
+ } else {
+ if ((*s++ = getach()) == 0 || (*s++ = getach()) == 0)
+ return(0);
+ }
+ *s = '\0';
+ if ((j = findch(temp)) > 0)
+ return j | chbits;
+ else {
+ if (warn & WARN_CHAR)
+ errprint("missing glyph \\%c%s", delim, temp);
+ return 0;
+ }
+}
+
+tchar
+setabs (void) /* set absolute char from \C'...' */
+{ /* for now, a no-op */
+ int n;
+
+ getch();
+ n = 0;
+ n = inumb(&n);
+ getch();
+ if (nonumb || n + nchtab + _SPECCHAR_ST >= NCHARS)
+ return 0;
+ return n + nchtab + _SPECCHAR_ST;
+}
+
+int
+tr2un(tchar c, int f)
+{
+ int k;
+
+ k = cbits(c);
+ if (k >= nchtab + _SPECCHAR_ST)
+ return k - nchtab - _SPECCHAR_ST;
+ if (k & ~0177)
+ return 0;
+ return k;
+}
+
+int
+findft(register int i, int required)
+{
+ register int k;
+
+ if ((k = i - '0') >= 0 && k <= nfonts && k < smnt)
+ return(k);
+ for (k = 0; fontlab[k] != i; k++)
+ if (k > nfonts) {
+ if (required && warn & WARN_FONT)
+ errprint("%s: no such font", macname(i));
+ return(-1);
+ }
+ return(k);
+}
+
+
+void
+caseps(void)
+{
+}
+
+
+void
+mchbits(void)
+{
+ chbits = 0;
+ setfbits(chbits, font);
+ ses = sps = width(' ' | chbits);
+}
+
+
+void
+setps(void)
+{
+ tchar c;
+ register int i, j, k;
+
+ noschr++;
+ i = cbits(c = getch());
+ if (noschr) noschr--;
+ if (ismot(c) && xflag)
+ return;
+ if (ischar(i) && isdigit(i)) { /* \sd or \sdd */
+ i -= '0';
+ if (i == 0) /* \s0 */
+ ;
+ else if (i <= 3 && ischar(j = cbits(ch = getch())) &&
+ isdigit(j)) { /* \sdd */
+ ch = 0;
+ }
+ } else if (i == '(') { /* \s(dd */
+ getch();
+ getch();
+ } else if (i == '+' || i == '-') { /* \s+, \s- */
+ j = cbits(c = getch());
+ if (ischar(j) && isdigit(j)) { /* \s+d, \s-d */
+ ;
+ } else if (j == '(') { /* \s+(dd, \s-(dd */
+ getch();
+ getch();
+ } else if (xflag) { /* \s+[dd], */
+ k = j == '[' ? ']' : j; /* \s-'dd' */
+ setcbits(c, k);
+ hatoi();
+ if (nonumb)
+ return;
+ if (!issame(getch(), c))
+ nodelim(k);
+ }
+ } else if (xflag) { /* \s'+dd', \s[dd] */
+ if (i == '[') {
+ i = ']';
+ setcbits(c, i);
+ }
+ j = inumb(&apts);
+ if (nonumb)
+ return;
+ if (!issame(getch(), c))
+ nodelim(i);
+ }
+}
+
+
+tchar
+setht (void) /* set character height from \H'...' */
+{
+ getch();
+ inumb(&apts);
+ getch();
+ return(0);
+}
+
+
+tchar
+setslant (void) /* set slant from \S'...' */
+{
+ int n;
+
+ getch();
+ n = 0;
+ n = inumb(&n);
+ getch();
+ return(0);
+}
+
+
+void
+caseft(void)
+{
+ skip(0);
+ setfont(1);
+}
+
+
+void
+setfont(int a)
+{
+ register int i, j;
+
+ if (a)
+ i = getrq(3);
+ else
+ i = getsn(0);
+ if (!i || i == 'P') {
+ j = font1;
+ goto s0;
+ }
+ if (/* i == 'S' || */ i == '0')
+ return;
+ if ((j = findft(i, 0)) == -1) {
+ if (xflag) {
+ font1 = font;
+ }
+ return;
+ }
+s0:
+ font1 = font;
+ font = j;
+ mchbits();
+}
+
+
+void
+setwd(void)
+{
+ register int base, wid;
+ register tchar i;
+ tchar delim;
+ int emsz, k;
+ int savhp, savapts, savapts1, savfont, savfont1, savpts, savpts1;
+ int savlgf;
+
+ base = numtab[ST].val = wid = numtab[CT].val = 0;
+ if (ismot(i = getch()))
+ return;
+ delim = i;
+ savhp = numtab[HP].val;
+ numtab[HP].val = 0;
+ savapts = apts;
+ savapts1 = apts1;
+ savfont = font;
+ savfont1 = font1;
+ savpts = pts;
+ savpts1 = pts1;
+ savlgf = lgf;
+ lgf = 0;
+ setwdf++;
+ while (i = getch(), !issame(i, delim) && !nlflg) {
+ k = width(i);
+ wid += k;
+ numtab[HP].val += k;
+ if (!ismot(i)) {
+ emsz = (INCH * pts + 36) / 72;
+ } else if (isvmot(i)) {
+ k = absmot(i);
+ if (isnmot(i))
+ k = -k;
+ base -= k;
+ emsz = 0;
+ } else
+ continue;
+ if (base < numtab[SB].val)
+ numtab[SB].val = base;
+ if ((k = base + emsz) > numtab[ST].val)
+ numtab[ST].val = k;
+ }
+ if (!issame(i, delim))
+ nodelim(delim);
+ setn1(wid, 0, (tchar) 0);
+ setnr("rst", 0, 0);
+ setnr("rsb", 0, 0);
+ numtab[HP].val = savhp;
+ apts = savapts;
+ apts1 = savapts1;
+ font = savfont;
+ font1 = savfont1;
+ pts = savpts;
+ pts1 = savpts1;
+ lgf = savlgf;
+ mchbits();
+ setwdf = 0;
+}
+
+
+tchar
+vmot(void)
+{
+ dfact = lss;
+ vflag++;
+ return(mot());
+}
+
+
+tchar
+hmot(void)
+{
+ dfact = EM;
+ return(mot());
+}
+
+
+tchar
+mot(void)
+{
+ register int j, n;
+ register tchar i;
+ tchar c, delim;
+
+ j = HOR;
+ noschr++;
+ delim = getch(); /*eat delim*/
+ if (noschr) noschr--;
+ if ((n = hatoi())) {
+ if (vflag)
+ j = VERT;
+ i = makem(quant(n, j));
+ } else
+ i = 0;
+ noschr++;
+ c = getch();
+ if (noschr) noschr--;
+ if (!issame(c, delim))
+ nodelim(delim);
+ vflag = 0;
+ dfact = 1;
+ return(i);
+}
+
+
+tchar
+sethl(int k)
+{
+ register int j;
+ tchar i;
+
+ j = t.Halfline;
+ if (k == 'u')
+ j = -j;
+ else if (k == 'r')
+ j = -2 * j;
+ vflag++;
+ i = makem(j);
+ vflag = 0;
+ return(i);
+}
+
+
+tchar
+makem(int i)
+{
+ register tchar j;
+
+ if ((j = i) < 0)
+ j = -j;
+ j = sabsmot(j) | MOT;
+ if (i < 0)
+ j |= NMOT;
+ if (vflag)
+ j |= VMOT;
+ return(j);
+}
+
+
+tchar
+getlg(tchar i)
+{
+ return(i);
+}
+
+
+void
+caselg(void)
+{
+}
+
+void
+caseflig(void)
+{
+}
+
+void
+casefp(void)
+{
+ register int i, j;
+
+ skip(1);
+ if ((i = cbits(getch()) - '0') < 0 || i > nfonts)
+ return;
+ if (skip(1) || !(j = getrq(3)))
+ return;
+ fontlab[i] = j;
+}
+
+void
+casefps(void)
+{
+ skip(1);
+ getname();
+ casefp();
+}
+
+
+void
+casecs(void)
+{
+}
+
+
+void
+casebd(void)
+{
+ register int i, j = 0, k;
+
+ k = 0;
+bd0:
+ if (skip(1) || !(i = getrq(0)) || (j = findft(i, 1)) == -1) {
+ if (k)
+ goto bd1;
+ else
+ return;
+ }
+ if (j == smnt) {
+ k = smnt;
+ goto bd0;
+ }
+ if (k) {
+ sbold = j;
+ j = k;
+ }
+bd1:
+ skip(0);
+ noscale++;
+ bdtab[j] = hatoi();
+ noscale = 0;
+}
+
+
+void
+casevs(void)
+{
+ register int i;
+
+ skip(0);
+ vflag++;
+ dfact = INCH; /*default scaling is points!*/
+ dfactd = 72;
+ res = VERT;
+ i = inumb(&lss);
+ if (nonumb)
+ i = lss1;
+ if (xflag && i < 0) {
+ if (warn & WARN_RANGE)
+ errprint("negative vertical spacing ignored");
+ i = lss1;
+ }
+ if (i < VERT)
+ i = VERT; /* was VERT */
+ lss1 = lss;
+ lss = i;
+}
+
+
+
+
+void
+casess(void)
+{
+}
+
+
+tchar
+xlss(void)
+{
+ /* stores \x'...' into
+ * two successive tchars.
+ * the first contains HX, the second the value,
+ * encoded as a vertical motion.
+ * decoding is done in n2.c by pchar().
+ */
+ int i;
+
+ getch();
+ dfact = lss;
+ i = quant(hatoi(), VERT);
+ dfact = 1;
+ getch();
+ if (i >= 0)
+ pbbuf[pbp++] = MOT | VMOT | sabsmot(i);
+ else
+ pbbuf[pbp++] = MOT | VMOT | NMOT | sabsmot(-i);
+ return(HX);
+}
+
+tchar
+setuc0(int n)
+{
+ if (n & ~0177) {
+#ifdef EUC
+ int k;
+ k = (n + nchtab + _SPECCHAR_ST) | chbits;
+ if (k >= NCHARS)
+ morechars(k);
+ return k;
+#else
+ return 0;
+#endif
+ } else
+ return n | chbits;
+}
+
+static void
+discard(void)
+{
+ int c, delim;
+
+ if ((delim = getach()) != 0)
+ do {
+ if ((c = getach()) == 0) {
+ if (cbits(ch) == ' ')
+ ch = 0;
+ else
+ break;
+ }
+ } while (c != delim);
+}
+
+tchar
+setanchor(void)
+{
+ discard();
+ return 0;
+}
+
+tchar
+setlink(void)
+{
+ if ((linkin = !linkin))
+ discard();
+ return 0;
+}
+
+tchar
+setulink(void)
+{
+ if ((linkin = !linkin))
+ discard();
+ return 0;
+}
+
+void
+casedummy(void){;}
diff --git a/troff/nroff.d/nroff.1 b/troff/nroff.d/nroff.1
new file mode 100644
index 0000000000000..9e1a982c9db09
--- /dev/null
+++ b/troff/nroff.d/nroff.1
@@ -0,0 +1,271 @@
+.\"
+.\" Sccsid @(#)nroff.1b 1.13 (gritter) 9/4/06
+.\" Derived from troff(1), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.TH NROFF 1 "9/4/06" "Heirloom Documentation Tools" "BSD System Compatibility"
+.SH NAME
+nroff \- format documents for display or line-printer
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBnroff\fR
+[\fB\-ehiqzV\fR]
+[\fB\-d\fIaS\fR]
+[\fB\-d\fIa\fB=\fIS\fR]
+[\fB\-F\fIfontdir\fR]
+[\fB\-m\fIname\fR]
+[\fB\-n\fIN\fR]
+[\fB\-o\fIlist\fR]
+[\fB\-r\fIaN\fR]
+[\fB\-r\fIa\fB=\fIN\fR]
+[\fB\-s\fIN\fR]
+[\fB\-T\fIname\fR]
+[\fB\-u\fIN\fR]
+[\fB\-x\fIN\fR]
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I nroff
+formats text in the named
+.I files
+for typewriter-like devices.
+Its capabilities are described in the
+.I Nroff/Troff user's manual.
+.PP
+If no
+.I file
+argument is present, the standard input is read.
+An argument consisting of a single minus
+.RB ( \- )
+is taken to be
+a file name corresponding to the standard input.
+The options, which may appear in any order so long as they appear
+before the files, are:
+.TP 10n
+.BI \-o list
+Print only pages whose page numbers appear in
+the comma-separated
+.I list
+of numbers and ranges.
+A range
+.IB N \- M
+means pages
+.I N
+through
+.IR M ;
+an initial
+.I \-N
+means
+from the beginning to page
+.IR N ;
+and a final
+.IR N \-
+means
+from
+.I N
+to the end.
+.TP
+.BI \-n N
+Number first generated page
+.IR N .
+.TP
+.BI \-s N
+Stop every
+.I N
+pages.
+.I Nroff
+will halt prior to every
+.I N
+pages (default
+.IR N =1)
+to allow paper loading or
+changing, and will resume upon receipt of a newline.
+.TP
+.BI \-m name
+Prepend the macro file
+.BI /usr/ucblib/doctools/tmac/tmac. name
+to the input
+.IR files .
+.TP
+.BI \-r aN
+Set register
+.I a
+(one-character) to
+.IR N .
+.TP
+.BI \-r a = N
+Set register
+.I a
+(may be more than one character) to
+.IR N .
+.TP
+.BI \-d aN
+Define string
+.I a
+(one-character) to
+.IR S .
+.TP
+.BI \-d a = N
+Define string
+.I a
+(may be more than one character) to
+.IR S .
+.TP
+.B \-i
+Read standard input after the input files are exhausted.
+.TP
+.B \-q
+Invoke the simultaneous input-output mode of the
+.B rd
+request.
+.TP
+.B \-z
+Check syntax only;
+do not generate any output
+except for error messages.
+.TP
+.BI \-F fontdir
+Use the directory
+.I fontdir
+to locate font files.
+.TP
+.B \-u N
+Set the emboldening amount,
+i.e. the number of times a character is printed
+to simulate bold output,
+to
+.IR N .
+.TP
+.BI \-T name
+Prepare output for specified terminal.
+Known
+.I names
+are
+.B 37
+for the (default)
+Teletype Corporation Model 37 terminal,
+.B lp
+for any line printer or terminal without half-line capability,
+.B tn300
+for the GE TermiNet\ 300,
+.B 300S
+for the \s-1DASI\s+1-300S,
+.B 300
+for the \s-1DASI\s+1-300,
+and
+.B 450
+for the \s-1DASI\s+1-450
+(Diablo Hyterm).
+A special
+.IR name ,
+.BR locale ,
+is also supported.
+It generates UTF-8 output if permitted by
+the current locale,
+and has the same effect as
+.I lp
+otherwise.
+.TP
+.B \-e
+Produce equally-spaced words in adjusted
+lines, using full terminal resolution.
+.TP
+.B \-h
+Use output tabs during horizontal spacing
+to speed output and reduce output character count.
+Tab settings are assumed to be every
+8 nominal character widths.
+.TP
+.BI \-x N
+Enable extensions to previous versions of
+.I nroff
+at level
+.IR N .
+Level 0 disables any extensions;
+level 1 enables all extensions
+except for long requests and request arguments;
+level 2 enables these in addition
+but executes short requests which are prefixes of undefined long requests;
+level 3 ignores undefined long requests.
+.TP
+.B \-V
+Print nroff version.
+.SH "ENVIRONMENT VARIABLES"
+.TP
+.BR LANG ", " LC_ALL
+See
+.IR locale (7).
+.TP
+.B LC_CTYPE
+Determines the mapping
+of bytes to characters,
+and the choice of output characters with the
+.I \-Tlocale
+option.
+.TP
+.B TYPESETTER
+Specifies a device name as with the
+.I \-T
+option.
+.TP
+.B TROFFMACS
+Specifies the location to search for macro files with the
+.I \-m
+option.
+This string forms a prefix to which the macro package name
+is immediately appended.
+Thus to make `\-mname' work with a file `/path/to/tmac.name',
+use `TROFFMACS=/path/to/tmac.'
+.SH FILES
+.ta \w'/usr/ucblib/doctools/tmac/* 'u
+/tmp/ta* temporary file
+.br
+/usr/ucblib/doctools/tmac/* standard macro files
+.br
+/usr/ucblib/doctools/nterm/* terminal driving tables
+.\".br
+.\"/usr/ucblib/doctools/font/* font width tables for
+.\".I troff
+.SH "SEE ALSO"
+J. F. Ossanna,
+.I Nroff/Troff user's manual
+.br
+B. W. Kernighan,
+.I
+A TROFF Tutorial
+.br
+eqn(1), tbl(1)
+.br
+col(1)
diff --git a/troff/nroff.d/pt.h b/troff/nroff.d/pt.h
new file mode 100644
index 0000000000000..aa6be91dacb54
--- /dev/null
+++ b/troff/nroff.d/pt.h
@@ -0,0 +1,85 @@
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)pt.h 1.43 (gritter) 8/19/08
+ */
+
+/* n10.c */
+extern void ptinit(void);
+extern char *skipstr(char *);
+extern char *getstr(char *, char *);
+extern char *getint(char *, int *);
+extern void specnames(void);
+extern int findch(register char *);
+extern void twdone(void);
+extern void ptout1(void);
+extern char *plot(char *);
+extern void move(void);
+extern void ptlead(void);
+extern void dostop(void);
+extern void newpage(int);
+extern void pttrailer(void);
+/* n6.c */
+extern int width(register tchar);
+extern tchar setch(int);
+extern tchar setabs(void);
+extern int tr2un(tchar, int);
+extern int findft(register int, int);
+extern void caseps(void);
+extern void mchbits(void);
+extern void setps(void);
+extern tchar setht(void);
+extern tchar setslant(void);
+extern void caseft(void);
+extern void setfont(int);
+extern void setwd(void);
+extern tchar vmot(void);
+extern tchar hmot(void);
+extern tchar mot(void);
+extern tchar sethl(int);
+extern tchar makem(int);
+extern tchar getlg(tchar);
+extern void caselg(void);
+extern void caseflig(void);
+extern void casefp(void);
+extern void casefps(void);
+extern void casecs(void);
+extern void casebd(void);
+extern void casevs(void);
+extern void casess(void);
+extern tchar xlss(void);
+extern tchar setuc0(int);
+extern tchar setanchor(void);
+extern tchar setlink(void);
+extern tchar setulink(void);
+extern void casedummy(void);
+#define casetrack casedummy
+#define casefallback casedummy
+#define casehidechar casedummy
+#define casefzoom casedummy
+#define casekern casedummy
+#define casepapersize casedummy
+#define casemediasize casedummy
+#define caselhang casedummy
+#define caserhang casedummy
+#define casekernpair casedummy
+#define casekernbefore casedummy
+#define casekernafter casedummy
+#define caseftr casedummy
+#define casefeature casedummy
+#define casetrimat casedummy
+#define casebleedat casedummy
+#define casecropat casedummy
+#define casefspacewidth casedummy
+#define casespacewidth casedummy
+#define casefdeferlig casedummy
+#define casefkern casedummy
+#define caseminss casedummy
+#define caseletadj casedummy
+
+#define kernadjust(a, b) 0
+#define u2pts(i) (i)
+
+#define getascender() 0
+#define getdescender() 0
+#define getfzoom() 0
diff --git a/troff/nroff.d/terms.d/Makefile.mk b/troff/nroff.d/terms.d/Makefile.mk
new file mode 100644
index 0000000000000..f894d42bac8bc
--- /dev/null
+++ b/troff/nroff.d/terms.d/Makefile.mk
@@ -0,0 +1,88 @@
+TABS = tab.2631 tab.2631-c tab.2631-e tab.lp \
+ tab.300 tab.300-12 tab.300s tab.300s-12 tab.382 \
+ tab.4000a tab.450 tab.450-12 tab.832 \
+ tab.37 tab.8510 tab.X tab.tn300
+
+LINKS = tab.300S tab.300S-12 tab.4000A
+
+all: $(TABS) $(LINKS)
+
+tab.2631: a.2631 b.lp
+ cat a.2631 b.lp >$@
+
+tab.2631-c: a.2631-c b.lp
+ cat a.2631-c b.lp >$@
+
+tab.2631-e: a.2631-e b.lp
+ cat a.2631-e b.lp >$@
+
+tab.lp: a.lp b.lp
+ cat a.lp b.lp >$@
+
+tab.300: a.300 b.300
+ cat a.300 b.300 >$@
+
+tab.300-12: a.300-12 b.300
+ cat a.300-12 b.300 >$@
+
+tab.300s: a.300s b.300
+ cat a.300s b.300 >$@
+
+tab.300s-12: a.300s-12 b.300
+ cat a.300s-12 b.300 >$@
+
+tab.382: a.382 b.300
+ cat a.382 b.300 >$@
+
+tab.4000a: a.4000a b.300
+ cat a.4000a b.300 >$@
+
+tab.450: a.450 b.300
+ cat a.450 b.300 >$@
+
+tab.450-12: a.450-12 b.300
+ cat a.450-12 b.300 >$@
+
+tab.832: a.832 b.300
+ cat a.832 b.300 >$@
+
+tab.37: ab.37
+ cat ab.37 >$@
+
+tab.8510: ab.8510
+ cat ab.8510 >$@
+
+tab.X: ab.X
+ cat ab.X >$@
+
+tab.tn300: ab.tn300
+ cat ab.tn300 >$@
+
+tab.300S: tab.300s
+ rm -f $@
+ ln -s tab.300s $@
+
+tab.300S-12: tab.300s-12
+ rm -f $@
+ ln -s tab.300s-12 $@
+
+tab.4000A: tab.4000a
+ rm -f $@
+ ln -s tab.4000a $@
+
+install: all
+ test -d $(ROOT)$(TABDIR) || mkdir -p $(ROOT)$(TABDIR)
+ cd $(ROOT)$(TABDIR) && rm -f tab.300S tab.300S-12 tab.4000A
+ for i in $(TABS) tab.utf8; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(TABDIR)/$$i || exit; \
+ done
+ cd $(ROOT)$(TABDIR) || exit 1; \
+ test -e tab.300S || ln -s tab.300s tab.300S || exit 1; \
+ test -e tab.300S-12 || ln -s tab.300s-12 tab.300S-12 || exit 1; \
+ test -e tab.4000A || ln -s tab.4000a tab.4000A || exit 1;
+
+clean:
+ rm -f $(TABS) $(LINKS)
+
+mrproper: clean
diff --git a/troff/nroff.d/terms.d/README b/troff/nroff.d/terms.d/README
new file mode 100644
index 0000000000000..856eab4b3b8ad
--- /dev/null
+++ b/troff/nroff.d/terms.d/README
@@ -0,0 +1,130 @@
+# Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+
+# Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T
+# All Rights Reserved
+
+# Portions of this source code were derived from Berkeley 4.3 BSD
+# under license from the Regents of the University of California.
+
+#ident "@(#)README 1.3 05/06/01 SMI"
+
+Description of terminal tables for new nroff:
+(In the following description, "white space" means any combination
+of spaces, tabs and new-lines).
+
+The first line should contain the name of the terminal -- just a string,
+but with no embedded white space.
+
+This is followed by a table of 25 lines (defining the first 25 items
+in struct t, laid out in tw.h):
+
+ bset [integer] /*bits that must be set for printing*/
+ breset [integer] /*bits that must be reset for printing*/
+ Hor [integer] /*size of unit of horizontal motion*/
+ Vert [integer] /*size of unit of vertical motion*/
+ Newline [integer] /*size of line of vertical motion*/
+ Char [integer] /*size of character horizontally*/
+ Em [integer] /*size of Em of horizontal motion*/
+ Halfline [integer] /*size of half line of vertical motion*/
+ Adj [integer] /*horizontal resolution*/
+ twinit [string] /*sequence to initialize terminal*/
+ twrest [string] /*sequence to restore terminal*/
+ twnl [string] /*sequence to print newline*/
+ hlr [string] /*sequence for half-line reverse*/
+ hlf [string] /*sequence for half-line forward*/
+ flr [string] /*sequence for full-line reverse*/
+ bdon [string] /*sequence to turn on bold*/
+ bdoff [string] /*sequence to turn off bold*/
+ iton [string] /*sequence to turn on italic*/
+ itoff [string] /*sequence to turn off italic*/
+ ploton [string] /*sequence to enter plot mode*/
+ plotoff [string] /*sequence to leave plot mode*/
+ up [string] /*sequence to move up 1 space in plot mode*/
+ down [string] /*sequence to move down 1 space in plot mode*/
+ right [string] /*sequence to move right 1 space in plot mode*/
+ left [string] /*sequence to move left 1 space in plot mode*/
+
+This table is fixed format, and the order cannot be changed.
+Entries should be on separate lines, and should contain exactly
+two fields (N.B. the comment should be omitted) separated by white space.
+First field is the string identifying the value (this is not verified),
+then white space, and then the value. The value is either an integer,
+or a string, as specified above. An integer is a sequence of digits.
+Integers describing sizes are expressed in units of 1/240 of an inch.
+A string is a sequence of characters, probably surrounded by quotes
+(to be on the safe side). For non-printable ascii characters, the
+following escapes hold (as in C):
+ \b backspace
+ \t tab
+ \n newline
+ \r carriage return
+ \\ \
+ \" "
+ \ followed by 3 octal digits specifies the ascii character
+ with the value of those digits
+
+This is followed by a line containing the word "charset", and then by the table of
+special characters -- all the non-ASCII characters that nroff/troff
+knows by 2-character names, e.g. \(hy and \(ga. The entries in this
+table can be in any order (put the most used ones first), and
+the entries should be restricted to only those characters that
+can be printed on the terminal in question. The format of each line
+(defining one special character) is: the (2-character) name of the
+special character, followed by white space, followed by the width of
+the character (in ems), followed by white space, followed by the
+sequence needed to produce the character. This sequence may be
+surrounded by quotes. The same escapes hold as for strings above.
+
+The best way to create a terminal table for a new device is to take
+a terminal table for an old device and modify it!
+For example, here is the first page of the terminal table for lp:
+
+lp
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
+charset
+
+em 1 -
+hy 1 -
+\- 1 -
+bu 1 +\bo
+sq 2 []
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+de 1 \344o\304
+dg 1 |\b-
+fm 1 '
+ct 1 c\b/
+rg 1 r\bO
+co 1 c\bO
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
diff --git a/troff/nroff.d/terms.d/a.2631 b/troff/nroff.d/terms.d/a.2631
new file mode 100644
index 0000000000000..e1bdf6e8f1545
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.2631
@@ -0,0 +1,27 @@
+2631
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
diff --git a/troff/nroff.d/terms.d/a.2631-c b/troff/nroff.d/terms.d/a.2631-c
new file mode 100644
index 0000000000000..f3d0707472ece
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.2631-c
@@ -0,0 +1,27 @@
+2631-c
+bset 0
+breset 0
+Hor 14
+Vert 40
+Newline 40
+Char 14
+Em 14
+Halfline 20
+Adj 14
+twinit "\033&k2S"
+twrest "\033&k0S"
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
diff --git a/troff/nroff.d/terms.d/a.2631-e b/troff/nroff.d/terms.d/a.2631-e
new file mode 100644
index 0000000000000..042f535482ee2
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.2631-e
@@ -0,0 +1,27 @@
+2631-e
+bset 0
+breset 0
+Hor 48
+Vert 40
+Newline 40
+Char 48
+Em 48
+Halfline 20
+Adj 48
+twinit "\033&k1S"
+twrest "\033&k0S"
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
diff --git a/troff/nroff.d/terms.d/a.300 b/troff/nroff.d/terms.d/a.300
new file mode 100644
index 0000000000000..07bec3fd01ac3
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.300
@@ -0,0 +1,27 @@
+300
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\007"
+twrest "\007"
+twnl "\015\n"
+hlr "\006\013\013\013\013\006"
+hlf "\006\012\012\012\012\006"
+flr "\013"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\006"
+plotoff "\033\006"
+up "\013"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.300-12 b/troff/nroff.d/terms.d/a.300-12
new file mode 100644
index 0000000000000..df6831d430984
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.300-12
@@ -0,0 +1,27 @@
+300-12
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 30
+Char 20
+Em 20
+Halfline 15
+Adj 20
+twinit "\007"
+twrest "\007"
+twnl "\015\n"
+hlr "\006\013\013\013\006"
+hlf "\006\012\012\012\006"
+flr "\013"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\006"
+plotoff "\033\006"
+up "\013"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.300s b/troff/nroff.d/terms.d/a.300s
new file mode 100644
index 0000000000000..e25b8ed5f614b
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.300s
@@ -0,0 +1,27 @@
+300s
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\033\006"
+twrest "\033\006"
+twnl "\015\n"
+hlr "\033H"
+hlf "\033h"
+flr "\032"
+bdon "\033E"
+bdoff "\033E"
+iton ""
+itoff ""
+ploton "\006"
+plotoff "\033\006"
+up "\032"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.300s-12 b/troff/nroff.d/terms.d/a.300s-12
new file mode 100644
index 0000000000000..b23c1cc945613
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.300s-12
@@ -0,0 +1,27 @@
+300s-12
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 30
+Char 20
+Em 20
+Halfline 15
+Adj 20
+twinit "\033\006"
+twrest "\033\006"
+twnl "\015\n"
+hlr ""
+hlf ""
+flr "\032"
+bdon "\033E"
+bdoff "\033E"
+iton ""
+itoff ""
+ploton "\006"
+plotoff "\033\006"
+up "\032"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.382 b/troff/nroff.d/terms.d/a.382
new file mode 100644
index 0000000000000..9d4d42ed9a06c
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.382
@@ -0,0 +1,27 @@
+382
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\033\006"
+twrest "\033A"
+twnl "\015\012"
+hlr "\033H"
+hlf "\033h"
+flr "\032"
+bdon "\033Z"
+bdoff "\033z"
+iton ""
+itoff ""
+ploton "\006"
+plotoff "\033\006"
+up "\032"
+down "\012"
+right " "
+left "\010"
+
diff --git a/troff/nroff.d/terms.d/a.4000a b/troff/nroff.d/terms.d/a.4000a
new file mode 100644
index 0000000000000..aa7b9bc297104
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.4000a
@@ -0,0 +1,27 @@
+4000a
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\033H0"
+twrest "\033H0"
+twnl "\015\n"
+hlr "\033H4\033-Y0004\033H0"
+hlf "\033H4\033+Y0004\033H0"
+flr "\0337\0337\0337\0337\033\033"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\033H4"
+plotoff "\033H0"
+up "\0337"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.450 b/troff/nroff.d/terms.d/a.450
new file mode 100644
index 0000000000000..1596086ba2f9c
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.450
@@ -0,0 +1,27 @@
+450
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\0334"
+twrest "\0334"
+twnl "\015\n"
+hlr "\033D"
+hlf "\033U"
+flr "\033\n"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\0333"
+plotoff "\0334"
+up "\033\n"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.450-12 b/troff/nroff.d/terms.d/a.450-12
new file mode 100644
index 0000000000000..43ab2a2be37ce
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.450-12
@@ -0,0 +1,27 @@
+450-12
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 20
+Em 20
+Halfline 20
+Adj 20
+twinit "\0334\033\037\013"
+twrest "\0334\033\037\015"
+twnl "\015\n"
+hlr "\033D"
+hlf "\033U"
+flr "\033\n"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\0333"
+plotoff "\0334"
+up "\033\n"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.832 b/troff/nroff.d/terms.d/a.832
new file mode 100644
index 0000000000000..be98fd038edfa
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.832
@@ -0,0 +1,27 @@
+832
+bset 0
+breset 054
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\033N"
+twrest "\033N"
+twnl "\015\n"
+hlr "\0338"
+hlf "\0339"
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton "\033P"
+plotoff "\033N"
+up "\013"
+down "\n"
+right " "
+left "\b"
+
diff --git a/troff/nroff.d/terms.d/a.lp b/troff/nroff.d/terms.d/a.lp
new file mode 100644
index 0000000000000..03e6701d5ebee
--- /dev/null
+++ b/troff/nroff.d/terms.d/a.lp
@@ -0,0 +1,27 @@
+lp
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
diff --git a/troff/nroff.d/terms.d/ab.37 b/troff/nroff.d/terms.d/ab.37
new file mode 100644
index 0000000000000..93fcd13b24f4a
--- /dev/null
+++ b/troff/nroff.d/terms.d/ab.37
@@ -0,0 +1,168 @@
+37
+bset 0
+breset 0
+Hor 24
+Vert 20
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr "\0338"
+hlf "\0339"
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
+charset
+em 2 --
+hy 1 -
+\- 1 -
+en 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 +\bo
+sq 2 \[]
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 \0338o\0339
+dg 1 |\b-
+fm 1 '
+ct 1 c\b/
+rg 1 \0338r\0339
+co 1 \0338c\0339
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
+sc 1 j\bf
+aa 1 '
+aq 1 '
+oq 1 '
+cq 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 \016A\017
+*b 1 \016B\017
+*g 1 \016\\\017
+*d 1 \016D\017
+*e 1 \016S\017
+*z 1 \016Q\017
+*y 1 \016N\017
+*h 1 \016T\017
+*i 1 ,\bi
+*k 1 k
+*l 1 \016L\017
+*m 1 \016M\017
+*n 1 \016@\017
+*c 1 \016X\017
+*o 1 o
+*p 1 \016J\017
+*r 1 \016K\017
+*s 1 \016Y\017
+*t 1 \016I\017
+*u 1 u
+*f 1 \016U\017
+*x 1 x
+*q 1 \016V\017
+*w 1 \016C\017
+*A 1 A
+*B 1 B
+*G 1 \016G\017
+*D 1 \016W\017
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 \016O\017
+*I 1 I
+*K 1 K
+*L 1 \016E\017
+*M 1 M
+*N 1 N
+*C 1 _\b-\b~
+*O 1 O
+*P 1 \016P\017
+*R 1 P
+*S 1 \016R\017
+*T 1 T
+*U 1 Y
+*F 1 \016F\017
+*X 1 X
+*Q 1 \016H\017
+*W 1 \016Z\017
+ts 1 s
+sr 2 \\/
+rn 1 \0338_\0339
+>= 1 _\b>
+<= 1 _\b<
+== 1 _\b=
+~= 1 ~\b=
+ap 1 \0339~\0338
+!= 1 =\b/
+-> 2 ->
+<- 2 <-
+ua 1 |\b^
+da 1 |\bv
+mu 1 x
+di 1 -\b:
++- 1 +\b_
+cu 1 U
+ca 3 (^)
+sb 2 (_\b~
+sp 2 _\b~)
+ib 2 (~\b_\b=
+ip 2 ~\b_\b=)
+if 2 oo
+pd 1 \016]\017
+gr 1 \016[\017
+no 1 \016_\017
+is 1 \016^\017
+pt 2 oc
+es 1 O\b/
+mo 1 -\bC
+br 1 |
+dd 1 |\b=
+rh 2 =>
+rA 2 =>
+lh 2 <=
+or 1 |
+ci 1 O
+lt 1 (
+lb 1 (
+rt 1 )
+rb 1 )
+lk 1 |
+rk 1 |
+bv 1 |
+lf 1 |
+rf 1 |
+lc 1 |
+rc 1 |
+ba 1 |
+la 1 <
+ra 1 >
+a~ 1 ~
+sh 1 #
+ha 1 ^
+Do 1 $
+lq 1 \"
+rq 1 \"
diff --git a/troff/nroff.d/terms.d/ab.8510 b/troff/nroff.d/terms.d/ab.8510
new file mode 100644
index 0000000000000..bb4992a6c083f
--- /dev/null
+++ b/troff/nroff.d/terms.d/ab.8510
@@ -0,0 +1,154 @@
+8510
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit "\033N\033]\033Y\033\""
+twrest "\033N\033]"
+twnl "\n"
+hlr "\0338"
+hlf "\0339"
+flr "\0337"
+bdon "\033!"
+bdoff "\033\""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
+charset
+em 1 -
+hy 1 -
+\- 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 +\033[\b\033]O
+sq 2 \[]
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 o
+dg 1 |\033[\b\033]-
+fm 1 '
+ct 1 c\033[\b\033]/
+rg 1 r\033[\b\033]O
+co 1 c\033[\b\033]O
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
+sc 1 j\033[\b\033]f
+aa 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 <\033[\b\033]a
+*b 1 ,\033[\b\033]B
+*g 1 <\033[\b\033]y
+*d 1 <\033[\b\033]o
+*e 1 -\033[\b\033]c
+*z 1 ,\033[\b\033]L
+*y 1 ,\033[\b\033]n
+*h 1 -\033[\b\033]0
+*i 1 ,\033[\b\033]i
+*k 1 k
+*l 1 \\\033[\b\033]>
+*m 1 ,\033[\b\033]u
+*n 1 ,\033[\b\033]v
+*c 1 ,\033[\b\033]3
+*o 1 o
+*p 1 -\033[\b\033]n
+*r 1 p
+*s 1 -\033[\b\033]o
+*t 1 ~\033[\b\033]t
+*u 1 u
+*f 1 /\033[\b\033]o
+*x 1 x
+*q 1 |\033[\b\033]u
+*w 1 u\033[\b\033]w
+*A 1 A
+*B 1 B
+*G 2 ~\033[\b\033]|~
+*D 2 _\033[\b\033]/_\033[\b\033]\\
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 -\033[\b\033]O
+*I 1 I
+*K 1 K
+*L 2 /\\
+*M 1 M
+*N 1 N
+*C 1 _\033[\b\033]-\033[\b\033]~
+*O 1 O
+*P 2 ~\033[\b\033]|~\033[\b\033]|
+*R 1 P
+*S 1 ~\033[\b\033]_\033[\b\033]>
+*T 1 T
+*U 1 Y
+*F 1 |\033[\b\033]O
+*X 1 X
+*Q 1 |\033[\b\033]U
+*W 2 _\033[\b\033](_\033[\b\033])
+ts 1 s
+sr 2 \\/
+rn 1 \0337_\n
+>= 1 _\033[\b\033]>
+<= 1 _\033[\b\033]<
+== 1 =\033[\b\033]_
+~= 1 ~\033[\b\033]=
+ap 1 ~
+!= 1 =\033[\b\033]/
+-> 2 ->
+<- 2 <-
+ua 1 |\033[\b\033]^
+da 1 |\033[\b\033]v
+mu 1 x
+di 1 -\033[\b\033]:
++- 1 +\033[\b\033]_
+cu 1 U
+ca 3 (^)
+sb 2 (_\033[\b\033]~
+sp 2 _\033[\b\033]~)
+ib 2 (~\033[\b\033]_\033[\b\033]=
+ip 2 ~\033[\b\033]_\033[\b\033]=)
+if 2 oo
+pd 1 6
+gr 1 ~\033[\b\033]V
+no 1 -
+is 1 '\033[\b\033],\033[\b\033]I
+pt 2 oc
+es 1 /\033[\b\033]O
+mo 1 -\033[\b\033]C
+br 1 |
+dd 1 |\033[\b\033]=
+rh 2 =>
+lh 2 <=
+or 1 |
+ci 1 O
+lt 1 (
+lb 1 (
+rt 1 )
+rb 1 )
+lk 1 |
+rk 1 |
+bv 1 |
+lf 1 |
+rf 1 |
+lc 1 |
+rc 1 |
diff --git a/troff/nroff.d/terms.d/ab.X b/troff/nroff.d/terms.d/ab.X
new file mode 100644
index 0000000000000..1fde583463e0f
--- /dev/null
+++ b/troff/nroff.d/terms.d/ab.X
@@ -0,0 +1,154 @@
+X
+bset 0
+breset 0
+Hor 4
+Vert 5
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\r\n"
+hlr "\033D"
+hlf "\033U"
+flr "\033\n"
+bdon "\033B"
+bdoff "\033R"
+iton "\033I"
+itoff "\033R"
+ploton ""
+plotoff ""
+up "\033\n"
+down "\n"
+right " "
+left "\b"
+
+charset
+em 1 \033X\147
+hy 1 -
+\- 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 \033X\127
+sq 1 \033X\115
+ru 1 \033X\147
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 \033X\130
+dg 1 |\b\033X\121
+fm 1 \033X\112
+ct 1 \033X\125
+rg 3 (r)
+co 3 (c)
+pl 1 \033X\111
+mi 1 -
+eq 1 =
+** 1 *
+sc 1 S\b|
+aa 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 <\ba
+*b 1 B\b,
+*g 1 )\b/
+*d 1 o\b<
+*e 1 <\b-
+*z 1 /\b`\b_
+*y 1 n\b`
+*h 1 O\b-
+*i 1 ,\bi
+*k 1 k
+*l 1 )\b\\
+*m 1 u\b,
+*n 1 v\b,
+*c 1 (\b-\b`
+*o 1 o
+*p 1 n\b\033X\147
+*r 1 o\b,
+*s 1 o\b'
+*t 1 t
+*u 1 u
+*f 1 o\b/
+*x 1 x
+*q 1 u\b/
+*w 1 w
+*A 1 A
+*B 1 B
+*G 1 I\b\033X\121
+*D 2 /\b__\b\\
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 O\b=
+*I 1 I
+*K 1 K
+*L 2 /\\
+*M 1 M
+*N 1 N
+*C 1 _\b-\b~
+*O 1 O
+*P 2 [\b][\b]
+*R 1 P
+*S 1 >\b_\b\033\n_\n
+*T 1 T
+*U 1 Y
+*F 1 o\b[\b]
+*X 1 X
+*Q 1 U\b|
+*W 2 _\b()\b_
+ts 1 s
+sr 1 /
+rn 1 \033\n_\n
+>= 1 \033X\126
+<= 1 \033X\106
+== 1 =\b_
+~= 1 =\b~
+ap 1 ~
+!= 1 \033X\146
+-> 2 ->
+<- 2 <-
+ua 1 |\b^
+da 1 |\bv
+mu 1 /\b\\
+di 1 :\b-
++- 1 \033X\117
+cu 1 U
+ca 3 (^)
+sb 2 (_\b~
+sp 2 _\b~)
+ib 2 (~\b_\b=
+ip 2 ~\b_\b=)
+if 2 oo
+pd 1 o\b)
+gr 1 ~\bV
+no 1 \033X\145
+is 1 |\b,\b'
+pt 2 oc
+es 0 O\b/
+mo 1 (\b-
+br 1 |
+dd 1 |\b=
+rh 2 ->
+lh 2 <-
+or 1 |
+ci 1 O
+lt 1 \033X\124
+lb 1 \033X\123
+rt 1 \033X\144
+rb 1 \033X\143
+lk 1 \033X\143\b\033X\144
+rk 1 \033X\123\b\033X\124
+bv 1 |
+lf 1 \033X\123
+rf 1 \033X\143
+lc 1 \033X\124
+rc 1 \033X\144
diff --git a/troff/nroff.d/terms.d/ab.tn300 b/troff/nroff.d/terms.d/ab.tn300
new file mode 100644
index 0000000000000..3a530c86223f5
--- /dev/null
+++ b/troff/nroff.d/terms.d/ab.tn300
@@ -0,0 +1,154 @@
+tn300
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr ""
+hlf ""
+flr ""
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
+charset
+em 1 -
+hy 1 -
+\- 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 +\bo
+sq 2 \[]
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 '\b`
+dg 1 |\b-
+fm 1 '
+ct 1 c\b/
+rg 1 r\bO
+co 1 c\bO
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
+sc 1 j\bf
+aa 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 <\ba
+*b 1 ,\bB
+*g 1 ,\by
+*d 1 >\bo
+*e 1 -\bc
+*z 1 ,\bL
+*y 1 ,\bn
+*h 1 -\b0
+*i 1 ,\bi
+*k 1 k
+*l 1 \\\b>
+*m 1 ,\bu
+*n 1 ,\bv
+*c 1 ,\b3
+*o 1 o
+*p 1 -\bn
+*r 1 p
+*s 1 -\bo
+*t 1 ~\bt
+*u 1 u
+*f 1 /\bo
+*x 1 x
+*q 1 |\bu
+*w 1 u\bw
+*A 1 A
+*B 1 B
+*G 2 ~\b|~
+*D 2 _\b/_\b\\
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 -\bO
+*I 1 I
+*K 1 K
+*L 2 /\\
+*M 1 M
+*N 1 N
+*C 1 _\b-\b~
+*O 1 O
+*P 2 ~\b|~\b|
+*R 1 P
+*S 1 ~\b_\b>
+*T 1 T
+*U 1 Y
+*F 1 |\bO
+*X 1 X
+*Q 1 |\bU
+*W 2 _\b(_\b)
+ts 1 s
+sr 2 \\\/
+rn 1 ~
+>= 1 _\b>
+<= 1 _\b<
+== 1 _\b=
+~= 1 ~\b=
+ap 1 ~
+!= 1 =\b/
+-> 2 ->
+<- 2 <-
+ua 1 |\b^
+da 1 |\bv
+mu 1 x
+di 1 -\b:
++- 1 +\b_
+cu 1 U
+ca 3 (^)
+sb 2 (_\b~
+sp 2 _\b~)
+ib 2 (~\b_\b=
+ip 2 ~\b_\b=)
+if 2 oo
+pd 1 6
+gr 1 ~\bV
+no 1 -
+is 1 '\b,\bI
+pt 2 oc
+es 1 /\bO
+mo 1 -\bC
+br 1 |
+dd 1 |\b=
+rh 2 =>
+lh 2 <=
+or 1 |
+ci 1 O
+lt 1 (
+lb 1 (
+rt 1 )
+rb 1 )
+lk 1 |
+rk 1 |
+bv 1 |
+lf 1 |
+rf 1 |
+lc 1 |
+rc 1 |
diff --git a/troff/nroff.d/terms.d/b.300 b/troff/nroff.d/terms.d/b.300
new file mode 100644
index 0000000000000..3223b47e0edde
--- /dev/null
+++ b/troff/nroff.d/terms.d/b.300
@@ -0,0 +1,127 @@
+charset
+em 1 -
+hy 1 -
+\- 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 +\bo
+sq 2 \[]
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 \344o\304
+dg 1 |\b-
+fm 1 '
+ct 1 c\b/
+rg 1 r\bO
+co 1 c\bO
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
+sc 1 j\bf
+aa 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 \241c\202(\241
+*b 1 \200B\242\302\|\202\342
+*g 1 \200)\201/\241
+*d 1 \200o\342<\302
+*e 1 <\b-
+*z 1 \200c\201\301,\241\343<\302
+*y 1 \200n\202\302|\242\342
+*h 1 O\b-
+*i 1 ,\bi
+*k 1 k
+*l 1 \200\\\304\241'\301\241'\345\202
+*m 1 \200u\242,\202
+*n 1 \241(\203/\242
+*c 1 \200c\201\301,\241\343c\241\301`\201\301
+*o 1 o
+*p 1 \341-\303\"\301\"\343
+*r 1 \200o\242\302|\342\202
+*s 1 \200o\301\202~\341\242
+*t 1 \200t\301\202~\243~\201\341
+*u 1 u
+*f 1 o\b/
+*x 1 x
+*q 1 \200/-\302\202'\244'\202\342
+*w 1 \241u\203u\242
+*A 1 A
+*B 1 B
+*G 1 \242|\202\343-\303\202`\242
+*D 1 \242/\303-\204-\343\\\242
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 O\b=
+*I 1 I
+*K 1 K
+*L 1 \242/\204\\\242
+*M 1 M
+*N 1 N
+*C 1 _\b-\b~
+*O 1 O
+*P 1 \242[]\204[]\242\343-\303
+*R 1 P
+*S 1 \200>\302-\345-\303
+*T 1 T
+*U 1 Y
+*F 1 o\b[\b]
+*X 1 X
+*Q 1 \200[]-\302\202'\244`\202\342
+*W 1 \200O\302\241-\202-\241\342
+ts 1 s
+sr 2 \\/
+rn 1 \344_\304
+>= 1 _\b>
+<= 1 _\b<
+== 1 _\b=
+~= 1 ~\b=
+ap 1 ~
+!= 1 =\b/
+-> 2 ->
+<- 2 <-
+ua 1 |\b^
+da 1 |\bv
+mu 1 x
+di 1 -\b:
++- 1 +\b_
+cu 1 U
+ca 3 (^)
+sb 2 (_\b~
+sp 2 _\b~)
+ib 2 (~\b_\b=
+ip 2 ~\b_\b=)
+if 2 oo
+pd 1 \200o\201\301`\241\341`\241\341`\201\301
+gr 1 \242\\\343-\204-\303/\242
+no 1 \200-\202\341,\301\242
+is 1 \200|'\202`\243\306'\241`\202\346
+pt 2 oc
+es 1 O\b/
+mo 1 -\bC
+br 1 |
+dd 1 |\b=
+rh 2 =>
+lh 2 <=
+or 1 |
+ci 1 O
+lt 1 (
+lb 1 (
+rt 1 )
+rb 1 )
+lk 1 |
+rk 1 |
+bv 1 |
+lf 1 |
+rf 1 |
+lc 1 |
+rc 1 |
diff --git a/troff/nroff.d/terms.d/b.lp b/troff/nroff.d/terms.d/b.lp
new file mode 100644
index 0000000000000..b6de8d6fa3bab
--- /dev/null
+++ b/troff/nroff.d/terms.d/b.lp
@@ -0,0 +1,318 @@
+charset
+em 2 --
+hy 1 -
+\- 1 -
+en 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 +\bo
+sq 2 \[]
+ru 1 _
+14 3 1/4
+12 3 1/2
+34 3 3/4
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 5 <deg>
+dg 1 |\b-
+fm 1 '
+ct 1 c
+rg 3 (R)
+co 3 (C)
+pl 1 +
+mi 1 -
+eq 1 =
+** 1 *
+sc 5 <sec>
+aa 1 '
+aq 1 '
+oq 1 '
+cq 1 '
+ga 1 `
+ul 1 _
+sl 1 /
+*a 1 <\ba
+*b 1 ,\bB
+*g 1 <\by
+*d 1 d
+*e 1 e
+*z 1 C
+*y 1 ,\bn
+*h 1 -\b0
+*i 1 ,\bi
+*k 1 k
+*l 1 %\134
+*m 1 ,\bu
+*n 1 ,\bv
+*c 1 E
+*o 1 o
+*p 2 pi
+*r 1 p
+*s 1 -\bo
+*t 1 ~\bt
+*u 1 u
+*f 1 /\bo
+*x 1 x
+*q 1 |\bu
+*w 1 u\bw
+*A 1 A
+*B 1 B
+*G 2 ~\b|~
+*D 2 _\b/_\b\\
+*E 1 E
+*Z 1 Z
+*Y 1 H
+*H 1 -\bO
+*I 1 I
+*K 1 K
+*L 2 /\\
+*M 1 M
+*N 1 N
+*C 1 H
+*O 1 O
+*P 2 TT
+*R 1 P
+*S 1 S
+*T 1 T
+*U 1 Y
+*F 1 |\bO
+*X 1 X
+*Q 1 Y
+*W 1 O
+ts 1 s
+sr 2 \\/
+rn 1 -
+>= 2 >=
+<= 2 <=
+== 2 ==
+~= 2 ~=
+ap 1 ~
+!= 2 !=
+-> 2 ->
+<- 2 <-
+ua 1 |\b^
+da 1 |\bv
+mu 1 x
+di 1 :
++- 2 +-
+cu 1 U
+ca 3 (^)
+sb 2 (=
+sp 2 =)
+ib 2 (_
+ip 2 _)
+if 2 oo
+pd 1 a
+gr 1 ~\bV
+no 1 ~
+is 1 '\b,\bI
+pt 2 oc
+es 2 {}
+mo 1 E
+br 1 |
+dd 1 |\b=
+rh 2 =>
+rA 2 =>
+lh 2 <=
+or 1 |
+ci 1 O
+lt 2 ,-
+lb 2 `-
+rt 2 -.
+rb 2 -'
+lk 1 {
+rk 1 }
+bv 1 |
+lf 2 |_
+rf 2 _|
+lc 2 |~
+rc 2 ~|
+ba 1 |
+la 1 <
+ra 1 >
+a~ 1 ~
+sh 1 #
+ha 1 ^
+Do 1 $
+lq 1 \"
+rq 1 \"
+rl 1 -
+bb 1 |
+lz 2 <>
+ps 5 <par>
+at 1 @
+CR 2 _|
+OK 2 \\/
+tm 4 (Tm)
+r! 1 !
+r? 1 ?
+Bq 2 ,,
+bq 1 ,
+Fo 2 <<
+Fc 2 >>
+fo 1 <
+fc 1 >
+lB 1 [
+rB 1 ]
+lC 1 {
+rC 1 }
+<> 3 <->
+va 2 ^v
+lA 2 <=
+hA 3 <=>
+uA 1 ^
+dA 1 v
+vA 3 ^=v
+AN 1 ^
+OR 1 v
+te 1 3
+fa 1 V
+st 2 -)
+tf 3 .:.
+3d 3 .:.
+-+ 2 -+
+pc 1 .
+c* 1 x
+c+ 1 +
+f/ 1 /
+<< 2 <<
+>> 2 >>
+ne 3 !==
+=~ 2 =~
+-~ 2 -~
+~~ 2 ~~
+nm 2 !E
+nb 3 (!=
+nc 3 !=)
+/_ 1 /
+pp 1 |
+Ah 1 N
+Im 1 I
+Re 1 R
+-h 2 /h
+AE 2 AE
+ae 2 ae
+OE 2 OE
+oe 2 oe
+ss 2 ss
+IJ 2 IJ
+ij 2 ij
+a" 1 %\042
+a- 1 -
+a. 1 .
+a^ 1 ^
+ab 1 `
+ac 1 ,
+ad 1 %\042
+ah 1 v
+ao 1 o
+ho 1 ,
+ti 1 ~
+'A 1 A
+'E 1 E
+'I 1 I
+'O 1 O
+'U 1 U
+'a 1 a
+'e 1 e
+'i 1 i
+'o 1 o
+'u 1 u
+`A 1 A
+`E 1 E
+`I 1 I
+`O 1 O
+`U 1 U
+`a 1 a
+`e 1 e
+`i 1 i
+`o 1 o
+`u 1 u
+~A 1 A
+~N 1 N
+~O 1 O
+~a 1 a
+~n 1 n
+~o 1 o
+:A 2 Ae
+:E 1 E
+:I 1 I
+:O 2 Oe
+:U 2 Ue
+:a 2 ae
+:e 1 e
+:i 1 i
+:o 2 oe
+:u 2 ue
+:y 1 y
+^A 1 A
+^E 1 E
+^I 1 I
+^O 1 O
+^U 1 U
+^a 1 a
+^e 1 e
+^i 1 i
+^o 1 o
+^u 1 u
+,C 1 C
+,c 1 c
+/L 1 L
+/l 1 l
+/O 1 O
+/o 1 o
+oA 1 A
+oa 1 a
+-D 1 D
+Sd 1 d
+TP 2 Th
+Tp 2 th
+.i 1 i
+.j 1 j
+Eu 3 EUR
+eu 3 EUR
+Ye 1 Y
+Po 3 GBP
+Cs 1 x
+Fn 1 f
+%0 2 %\045o
+sd 1 %\042
+mc 1 u
++h 1 0
++f 1 o
++p 1 w
++e 1 e
+braceex 1 |
+bracketlefttp 1 |
+bracketleftbt 1 |
+bracketleftex 1 |
+bracketrighttp 1 |
+bracketrightbt 1 |
+bracketrightex 1 |
+bracelefttp 2 ,-
+braceleftmid 1 {
+braceleftbt 2 `-
+braceleftex 1 |
+bracerighttp 2 -.
+bracerightmid 1 }
+bracerightbt 2 -'
+bracerightex 1 |
+parenlefttp 1 /
+parenleftbt 1 %\x5c
+parenleftex 1 |
+parenrighttp 1 %\x5c
+parenrightbt 1 /
+parenrightex 1 |
+tno 1 ~
+t+- 2 +-
+tmu 1 x
+tdi 1 :
+|= 2 -~
+integral 1 I
+sum 1 E
+product 2 TT
+coproduct 1 U
+sqrt 2 %\x5c%\x2f
diff --git a/troff/nroff.d/terms.d/tab.utf8 b/troff/nroff.d/terms.d/tab.utf8
new file mode 100644
index 0000000000000..af3528b3009d3
--- /dev/null
+++ b/troff/nroff.d/terms.d/tab.utf8
@@ -0,0 +1,400 @@
+utf8
+bset 0
+breset 0
+Hor 24
+Vert 40
+Newline 40
+Char 24
+Em 24
+Halfline 20
+Adj 24
+twinit ""
+twrest ""
+twnl "\n"
+hlr ""
+hlf ""
+flr "\0337"
+bdon ""
+bdoff ""
+iton ""
+itoff ""
+ploton ""
+plotoff ""
+up ""
+down ""
+right ""
+left ""
+
+charset
+em 1 %\342%\200%\224
+en 1 %\342%\200%\223
+hy 1 %\342%\200%\220
+\- 1 -
+rs 1 %\134
+dq 1 %\042
+bu 1 %\342%\200%\242
+sq 1 %\342%\226%\241
+ru 1 %\342%\216%\275
+14 1 %\302%\274
+12 1 %\302%\275
+34 1 %\302%\276
+fi 2 fi
+fl 2 fl
+ff 2 ff
+Fi 3 ffi
+Fl 3 ffl
+de 1 %\302%\260
+dg 1 %\342%\200%\240
+fm 1 %\xe2%\x80%\xb2 # U+2032 PRIME
+ct 1 %\302%\242
+rg 1 %\302%\256
+co 1 %\302%\251
+pl 1 +
+mi 1 %\342%\210%\222
+eq 1 =
+** 1 %\xe2%\x88%\x97 # U+2217 ASTERISK OPERATOR
+sc 1 %\302%\247
+aa 1 %\xc2%\xb4 # U+00B4 ACUTE ACCENT
+aq 1 %\x27
+ga 1 %\x60
+ul 1 %\137
+sl 1 /
+*a 1 %\316%\261
+*b 1 %\316%\262
+*g 1 %\316%\263
+*d 1 %\316%\264
+*e 1 %\316%\265
+*z 1 %\316%\266
+*y 1 %\316%\267
+*h 1 %\316%\270
+*i 1 %\316%\271
+*k 1 %\316%\272
+*l 1 %\316%\273
+*m 1 %\316%\274
+*n 1 %\316%\275
+*c 1 %\316%\276
+*o 1 %\316%\277
+*p 1 %\317%\200
+*r 1 %\317%\201
+*s 1 %\317%\203
+*t 1 %\317%\204
+*u 1 %\317%\205
+*f 1 %\xcf%\x95 # U+03D5 GREEK PHI SYMBOL
+*x 1 %\317%\207
+*q 1 %\317%\210
+*w 1 %\317%\211
+*A 1 %\316%\221
+*B 1 %\316%\222
+*G 1 %\316%\223
+*D 1 %\316%\224
+*E 1 %\316%\225
+*Z 1 %\316%\226
+*Y 1 %\316%\227
+*H 1 %\316%\230
+*I 1 %\316%\231
+*K 1 %\316%\232
+*L 1 %\316%\233
+*M 1 %\316%\234
+*N 1 %\316%\235
+*C 1 %\316%\236
+*O 1 %\316%\237
+*P 1 %\316%\240
+*R 1 %\316%\241
+*S 1 %\316%\243
+*T 1 %\316%\244
+*U 1 %\316%\245
+*F 1 %\316%\246
+*X 1 %\316%\247
+*Q 1 %\316%\250
+*W 1 %\316%\251
+ts 1 %\317%\202
+sr 1 %\342%\210%\232
+rn 1 %\xe2%\x80%\xbe # U+203E OVERLINE
+>= 1 %\342%\211%\245
+<= 1 %\342%\211%\244
+== 1 %\342%\211%\241
+~= 1 %\xe2%\x89%\x88 # U+2248 ALMOST EQUAL TO
+~~ 1 %\xe2%\x89%\x88 # U+2248 ALMOST EQUAL TO
+ap 1 %\342%\210%\274
+!= 1 %\xe2%\x89%\xa0 # U+2260 NOT EQUAL TO
+-> 1 %\342%\206%\222
+<- 1 %\342%\206%\220
+ua 1 %\342%\206%\221
+da 1 %\342%\206%\223
+mu 1 %\303%\227
+di 1 %\303%\267
++- 1 %\302%\261
+cu 1 %\342%\210%\252
+ca 1 %\342%\210%\251
+sb 1 %\342%\212%\202
+sp 1 %\xe2%\x8a%\x83 # U+2283 SUPERSET OF
+ib 1 %\xe2%\x8a%\x86 # U+2286 SUBSET OF OR EQUAL TO
+ip 1 %\xe2%\x8a%\x87 # U+2287 SUPERSET OF OR EQUAL TO
+if 1 %\342%\210%\236
+pd 1 %\342%\210%\202
+gr 1 %\342%\210%\207
+no 1 %\302%\254
+is 1 %\342%\210%\253
+pt 1 %\342%\210%\235
+es 1 %\342%\210%\205
+mo 1 %\342%\210%\210
+br 1 %\342%\224%\202
+dd 1 %\342%\200%\241
+rh 1 %\342%\230%\236
+lh 1 %\342%\230%\234
+or 1 |
+ci 1 %\342%\227%\213
+bx 1 %\342%\226%\240
+Sl 1 %\342%\204%\223
+fa 1 %\342%\210%\200
+te 1 %\342%\210%\203
+al 1 %\342%\204%\265
+Ox 1 %\342%\212%\227
+O+ 1 %\342%\212%\225
+tm 1 %\342%\204%\242
+`` 1 %\342%\200%\234
+lq 1 %\342%\200%\234
+quotedblleft 1 %\342%\200%\234
+'' 1 %\342%\200%\235
+rq 1 %\342%\200%\235
+quotedblright 1 %\342%\200%\235
+oq 1 %\342%\200%\230
+quoteleft 1 %\342%\200%\230
+cq 1 %\342%\200%\231
+quoteright 1 %\342%\200%\231
+-+ 1 %\342%\210%\223
+lt 1 %\342%\216%\247
+lb 1 %\342%\216%\251
+rt 1 %\342%\216%\253
+rb 1 %\342%\216%\255
+lk 1 %\342%\216%\250
+rk 1 %\342%\216%\254
+bv 1 %\342%\216%\252
+lf 1 %\xe2%\x8c%\x8a # U+230A LEFT FLOOR
+rf 1 %\xe2%\x8c%\x8b # U+230B RIGHT FLOOR
+lc 1 %\xe2%\x8c%\x88 # U+2308 LEFT CEILING
+rc 1 %\xe2%\x8c%\x89 # U+2309 RIGHT CEILING
+ba 1 %\x7c # bar
+rl 1 %\xe2%\x80%\xbe # U+203E OVERLINE (sic?)
+bb 1 %\xc2%\xa6 # broken bar
+lz 1 %\xe2%\x97%\x8a # U+25CA LOZENGE
+ps 1 %\xc2%\xB6 # paragraph
+at 1 %\x40 # at
+sh 1 %\x23 # hash (pound)
+CR 1 %\xe2%\x86%\xb5 # U+21B5 DOWNWARDS ARROW WITH CORNER LEFTWARDS
+OK 1 %\xe2%\x9c%\x93 # U+2713 CHECK MARK
+r! 1 %\xc2%\xA1 # upside-down exclamation
+r? 1 %\xc2%\xBF # upside-down question
+Bq 1 %\xe2%\x80%\x9e # U+201E DOUBLE LOW-9 QUOTATION MARK
+quotedblbase 1 %\xe2%\x80%\x9e # U+201E DOUBLE LOW-9 QUOTATION MARK
+bq 1 %\xe2%\x80%\x9a # U+201A SINGLE LOW-9 QUOTATION MARK
+Fo 1 %\xc2%\xAB # left guillemet
+Fc 1 %\xc2%\xBB # right guillemet
+fo 1 %\xe2%\x80%\xb9 # U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+fc 1 %\xe2%\x80%\xba # U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+lB 1 %\x5b # bracketleft
+rB 1 %\x5d # bracketright
+lC 1 %\x7b # braceleft
+rC 1 %\x7d # braceright
+la 1 %\xe2%\x9f%\xa8 # U+27E8 MATHEMATICAL LEFT ANGLE BRACKET
+ra 1 %\xe2%\x9f%\xa9 # U+27E9 MATHEMATICAL RIGHT ANGLE BRACKET
+braceex 1 %\xe2%\x8e%\xaa # U+23AA CURLY BRACKET EXTENSION
+bracketlefttp 1 %\xe2%\x8e%\xa1 # U+23A1 LEFT SQUARE BRACKET UPPER CORNER
+bracketleftbt 1 %\xe2%\x8e%\xa3 # U+23A3 LEFT SQUARE BRACKET LOWER CORNER
+bracketleftex 1 %\xe2%\x8e%\xa2 # U+23A2 LEFT SQUARE BRACKET EXTENSION
+bracketrighttp 1 %\xe2%\x8e%\xa4 # U+23A4 RIGHT SQUARE BRACKET UPPER CORNER
+bracketrightbt 1 %\xe2%\x8e%\xa6 # U+23A6 RIGHT SQUARE BRACKET LOWER CORNER
+bracketrightex 1 %\xe2%\x8e%\xa5 # U+23A5 RIGHT SQUARE BRACKET EXTENSION
+bracelefttp 1 %\xe2%\x8e%\xa7 # U+23A7 LEFT CURLY BRACKET UPPER HOOK
+braceleftmid 1 %\xe2%\x8e%\xa8 # U+23A8 LEFT CURLY BRACKET MIDDLE PIECE
+braceleftbt 1 %\xe2%\x8e%\xa9 # U+23A9 LEFT CURLY BRACKET LOWER HOOK
+braceleftex 1 %\xe2%\x8e%\xaa # U+23AA CURLY BRACKET EXTENSION
+bracerighttp 1 %\xe2%\x8e%\xab # U+23AB RIGHT CURLY BRACKET UPPER HOOK
+bracerightmid 1 %\xe2%\x8e%\xac # U+23AC RIGHT CURLY BRACKET MIDDLE PIECE
+bracerightbt 1 %\xe2%\x8e%\xad # U+23AD RIGHT CURLY BRACKET LOWER HOOK
+bracerightex 1 %\xe2%\x8e%\xaa # U+23AA CURLY BRACKET EXTENSION
+parenlefttp 1 %\xe2%\x8e%\x9b # U+239B LEFT PARENTHESIS UPPER HOOK
+parenleftbt 1 %\xe2%\x8e%\x9d # U+239D LEFT PARENTHESIS LOWER HOOK
+parenleftex 1 %\xe2%\x8e%\x9c # U+239C LEFT PARENTHESIS EXTENSION
+parenrighttp 1 %\xe2%\x8e%\x9e # U+239E RIGHT PARENTHESIS UPPER HOOK
+parenrightbt 1 %\xe2%\x8e%\xa0 # U+23A0 RIGHT PARENTHESIS LOWER HOOK
+parenrightex 1 %\xe2%\x8e%\x9f # U+239F RIGHT PARENTHESIS EXTENSION
+<> 1 %\xe2%\x86%\x94 # U+2194 LEFT RIGHT ARROW
+va 1 %\xe2%\x86%\x95 # U+2195 UP DOWN ARROW
+lA 1 %\xe2%\x87%\x90 # U+21D0 LEFTWARDS DOUBLE ARROW
+rA 1 %\xe2%\x87%\x92 # U+21D2 RIGHTWARDS DOUBLE ARROW
+hA 1 %\xe2%\x87%\x94 # U+21D4 LEFT RIGHT DOUBLE ARROW
+uA 1 %\xe2%\x87%\x91 # U+21D1 UPWARDS DOUBLE ARROW
+dA 1 %\xe2%\x87%\x93 # U+21D3 DOWNWARDS DOUBLE ARROW
+vA 1 %\xe2%\x87%\x95 # U+21D5 UP DOWN DOUBLE ARROW
+AN 1 %\xe2%\x88%\xa7 # U+2227 LOGICAL AND
+OR 1 %\xe2%\x88%\xa8 # U+2228 LOGICAL OR
+tno 1 %\xC2%\xac
+st 1 %\xe2%\x88%\x8b # U+220B CONTAINS AS MEMBER
+tf 1 %\xe2%\x88%\xb4 # U+2234 THEREFORE
+3d 1 %\xe2%\x88%\xb4 # U+2234 THEREFORE
+t+- 1 %\xc2%\xb1
+f/ 1 %\xe2%\x81%\x84 # U+2044 FRACTION SLASH
+<< 1 %\xe2%\x89%\xaa # U+226A MUCH LESS-THAN
+>> 1 %\xe2%\x89%\xab # U+226B MUCH GREATER-THAN
+pc 1 %\xc2%\xb7
+tmu 1 %\xc3%\x97 # U+00D7 MULTIPLICATION SIGN
+c* 1 %\xe2%\x8a%\x97 # U+2297 CIRCLED TIMES
+c+ 1 %\xe2%\x8a%\x95 # U+2295 CIRCLED PLUS
+tdi 1 %\xc3%\xb7 # U+00F7 DIVISION SIGN
+ne 1 %\xe2%\x89%\xa2 # U+2262 NOT IDENTICAL TO
+=~ 1 %\xe2%\x89%\x85 # U+2245 APPROXIMATELY EQUAL TO
+|= 1 %\xe2%\x89%\x83 # U+2243 ASYMPTOTICALLY EQUAL TO
+nm 1 %\xe2%\x88%\x89 # U+2209 NOT AN ELEMENT OF
+nb 1 %\xe2%\x8a%\x84 # U+2284 NOT A SUBSET OF
+nc 1 %\xe2%\x8a%\x85 # U+2285 NOT A SUPERSET OF
+/_ 1 %\xe2%\x88%\xa0 # U+2220 ANGLE
+pp 1 %\xe2%\x8a%\xa5 # U+22A5 UP TACK
+integral 1 %\xe2%\x88%\xab # U+222B INTEGRAL
+sum 1 %\xe2%\x88%\x91 # U+2211 N-ARY SUMMATION
+product 1 %\xe2%\x88%\x8f # U+220F N-ARY PRODUCT
+coproduct 1 %\xe2%\x88%\x90 # U+2210 N-ARY COPRODUCT
+sqrt 1 %\xe2%\x88%\x9a # U+221A SQUARE ROOT
+Ah 1 %\xe2%\x84%\xb5 # U+2135 ALEF SYMBOL
+Im 1 %\xe2%\x84%\x91 # U+2111 BLACK-LETTER CAPITAL I
+Re 1 %\xe2%\x84%\x9c # U+211C BLACK-LETTER CAPITAL R
+-h 1 %\xe2%\x84%\x8f # U+210F PLANCK CONSTANT OVER TWO PI
+AE 1 %\xc3%\x86 # U+00C6 LATIN CAPITAL LETTER AE
+ae 1 %\xc3%\xa6 # U+00E6 LATIN SMALL LETTER AE
+OE 1 %\xc5%\x92 # U+0152 LATIN CAPITAL LIGATURE OE
+oe 1 %\xc5%\x93 # U+0153 LATIN SMALL LIGATURE OE
+ss 1 %\xc3%\x9f # U+00DF LATIN SMALL LETTER SHARP S
+germandbls 1 %\xc3%\x9f # U+00DF LATIN SMALL LETTER SHARP S
+IJ 1 %\xc4%\xb2 # U+0132 LATIN CAPITAL LIGATURE IJ
+ij 1 %\xc4%\xb3 # U+0133 LATIN SMALL LIGATURE IJ
+#a" 1 %\xcc%\x8b # U+030B COMBINING DOUBLE ACUTE ACCENT
+a" 1 %\xcb%\x9d # U+02DD DOUBLE ACUTE ACCENT
+#a- 1 %\xcc%\x84 # U+0304 COMBINING MACRON
+a- 1 %\xc2%\xaf # U+00AF MACRON
+#a. 1 %\xcc%\x87 # U+0307 COMBINING DOT ABOVE
+a. 1 %\xcb%\x99 # U+02D9 DOT ABOVE
+#a^ 1 %\xcc%\x82 # U+0302 COMBINING CIRCUMFLEX ACCENT
+a^ 1 %\x5e # U+005E CIRCUMFLEX ACCENT
+#ab 1 %\xcc%\x86 # U+0306 COMBINING BREVE
+ab 1 %\xcb%\x98 # U+02D8 BREVE
+#ac 1 %\xcc%\xa7 # U+0327 COMBINING CEDILLA
+ac 1 %\xc2%\xb8 # U+00B8 CEDILLA
+#ad 1 %\xcc%\x88 # U+0308 COMBINING DIAERESIS
+ad 1 %\xc2%\xa8 # U+00A8 DIAERESIS
+#ah 1 %\xcc%\x8c # U+030C COMBINING CARON
+ah 1 %\xcb%\x87 # U+02C7 CARON
+#ao 1 %\xcc%\x8a # U+030A COMBINING RING ABOVE
+ao 1 %\xcb%\x9a # U+02DA RING ABOVE
+#a~ 1 %\xcc%\x83 # U+0303 COMBINING TILDE
+a~ 1 %\xcb%\x9c # U+02DC SMALL TILDE
+#ho 1 %\xcc%\xa8 # U+0328 COMBINING OGONEK
+ho 1 %\xcb%\x9b # U+02DB OGONEK
+ha 1 %\x5e
+ti 1 %\x7e
+'A 1 %\xc3%\x81 # U+00C1 LATIN CAPITAL LETTER A WITH ACUTE
+'C 1 %\xc4%\x86 # U+0106
+'E 1 %\xc3%\x89 # U+00C9 LATIN CAPITAL LETTER E WITH ACUTE
+'I 1 %\xc3%\x8d # U+00CD LATIN CAPITAL LETTER I WITH ACUTE
+'O 1 %\xc3%\x93 # U+00D3 LATIN CAPITAL LETTER O WITH ACUTE
+'U 1 %\xc3%\x9a # U+00DA LATIN CAPITAL LETTER U WITH ACUTE
+'Y 1 %\xc3%\x9d # U+00DD
+'a 1 %\xc3%\xa1 # U+00E1 LATIN SMALL LETTER A WITH ACUTE
+'c 1 %\xc4%\x87 # U+0107
+'e 1 %\xc3%\xa9 # U+00E9 LATIN SMALL LETTER E WITH ACUTE
+'i 1 %\xc3%\xad # U+00ED LATIN SMALL LETTER I WITH ACUTE
+'o 1 %\xc3%\xb3 # U+00F3 LATIN SMALL LETTER O WITH ACUTE
+'u 1 %\xc3%\xba # U+00FA LATIN SMALL LETTER U WITH ACUTE
+'y 1 %\xc3%\xbd # U+00FD
+`A 1 %\xc3%\x80 # U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
+`E 1 %\xc3%\x88 # U+00C8 LATIN CAPITAL LETTER E WITH GRAVE
+`I 1 %\xc3%\x8c # U+00CC LATIN CAPITAL LETTER I WITH GRAVE
+`O 1 %\xc3%\x92 # U+00D2 LATIN CAPITAL LETTER O WITH GRAVE
+`U 1 %\xc3%\x99 # U+00D9 LATIN CAPITAL LETTER U WITH GRAVE
+`a 1 %\xc3%\xa0 # U+00E0 LATIN SMALL LETTER A WITH GRAVE
+`e 1 %\xc3%\xa8 # U+00E8 LATIN SMALL LETTER E WITH GRAVE
+`i 1 %\xc3%\xac # U+00EC LATIN SMALL LETTER I WITH GRAVE
+`o 1 %\xc3%\xb2 # U+00F2 LATIN SMALL LETTER O WITH GRAVE
+`u 1 %\xc3%\xb9 # U+00F9 LATIN SMALL LETTER U WITH GRAVE
+~A 1 %\xc3%\x83 # U+00C3 LATIN CAPITAL LETTER A WITH TILDE
+~N 1 %\xc3%\x91 # U+00D1 LATIN CAPITAL LETTER N WITH TILDE
+~O 1 %\xc3%\x95 # U+00D5 LATIN CAPITAL LETTER O WITH TILDE
+~a 1 %\xc3%\xa3 # U+00E3 LATIN SMALL LETTER A WITH TILDE
+~n 1 %\xc3%\xb1 # U+00F1 LATIN SMALL LETTER N WITH TILDE
+~o 1 %\xc3%\xb5 # U+00F5 LATIN SMALL LETTER O WITH TILDE
+:A 1 %\xc3%\x84 # U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
+Adieresis 1 %\xc3%\x84 # U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS
+:E 1 %\xc3%\x8b # U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS
+:I 1 %\xc3%\x8f # U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS
+:O 1 %\xc3%\x96 # U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
+Odieresis 1 %\xc3%\x96 # U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS
+:U 1 %\xc3%\x9c # U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
+Udieresis 1 %\xc3%\x9c # U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS
+:Y 1 %\xc5%\xb8 # U+0178
+:a 1 %\xc3%\xa4 # U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
+adieresis 1 %\xc3%\xa4 # U+00E4 LATIN SMALL LETTER A WITH DIAERESIS
+:e 1 %\xc3%\xab # U+00EB LATIN SMALL LETTER E WITH DIAERESIS
+:i 1 %\xc3%\xaf # U+00EF LATIN SMALL LETTER I WITH DIAERESIS
+:o 1 %\xc3%\xb6 # U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
+odieresis 1 %\xc3%\xb6 # U+00F6 LATIN SMALL LETTER O WITH DIAERESIS
+:u 1 %\xc3%\xbc # U+00FC LATIN SMALL LETTER U WITH DIAERESIS
+udieresis 1 %\xc3%\xbc # U+00FC LATIN SMALL LETTER U WITH DIAERESIS
+:y 1 %\xc3%\xbf # U+00FF LATIN SMALL LETTER Y WITH DIAERESIS
+^A 1 %\xc3%\x82 # U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+^E 1 %\xc3%\x8a # U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+^I 1 %\xc3%\x8e # U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+^O 1 %\xc3%\x94 # U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+^U 1 %\xc3%\x9b # U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+^a 1 %\xc3%\xa2 # U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX
+^e 1 %\xc3%\xaa # U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX
+^i 1 %\xc3%\xae # U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX
+^o 1 %\xc3%\xb4 # U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX
+^u 1 %\xc3%\xbb # U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX
+,C 1 %\xc3%\x87 # U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA
+,c 1 %\xc3%\xa7 # U+00E7 LATIN SMALL LETTER C WITH CEDILLA
+/L 1 %\xc5%\x81 # U+0141 LATIN CAPITAL LETTER L WITH STROKE
+/l 1 %\xc5%\x82 # U+0142 LATIN SMALL LETTER L WITH STROKE
+/O 1 %\xc3%\x98 # U+00D8 LATIN CAPITAL LETTER O WITH STROKE
+/o 1 %\xc3%\xb8 # U+00F8 LATIN SMALL LETTER O WITH STROKE
+oA 1 %\xc3%\x85 # U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE
+oa 1 %\xc3%\xa5 # U+00E5 LATIN SMALL LETTER A WITH RING ABOVE
+-D 1 %\xc3%\x90 # U+00D0 LATIN CAPITAL LETTER ETH
+Sd 1 %\xc3%\xb0 # U+00F0 LATIN SMALL LETTER ETH
+TP 1 %\xc3%\x9e # U+00DE LATIN CAPITAL LETTER THORN
+Tp 1 %\xc3%\xbe # U+00FE LATIN SMALL LETTER THORN
+.i 1 %\xc4%\xb1 # U+0131 LATIN SMALL LETTER DOTLESS I
+.j 1 %\xc8%\xb7 # U+0237 LATIN SMALL LETTER DOTLESS J
+Do 1 %\x24
+Eu 1 %\xe2%\x82%\xac # U+20AC EURO SIGN
+eu 1 %\xe2%\x82%\xac # U+20AC EURO SIGN
+Ye 1 %\xc2%\xa5 # U+00A5 YEN SIGN
+Po 1 %\xc2%\xa3 # U+00A3 POUND SIGN
+Cs 1 %\xc2%\xa4 # U+00A4 CURRENCY SIGN
+Fn 1 %\xc6%\x92 # U+0192 LATIN SMALL LETTER F WITH HOOK
+%0 1 %\xe2%\x80%\xb0 # U+2030 PER MILLE SIGN
+sd 1 %\xe2%\x80%\xb3 # U+2033 DOUBLE PRIME
+mc 1 %\xc2%\xb5 # U+00B5 MICRO SIGN
++h 1 %\xcf%\x91 # U+03D1 GREEK THETA SYMBOL
++f 1 %\xcf%\x86 # U+03C6 GREEK SMALL LETTER PHI
++p 1 %\xcf%\x96 # U+03D6 GREEK PI SYMBOL
++e 1 %\xcf%\xb5 # U+03F5 GREEK LUNATE EPSILON SYMBOL
+vS 1 %\xc5%\xa0 # U+0160 S caron
+vZ 1 %\xc5%\xbd # U+017D Z caron
+vs 1 %\xc5%\xa1 # U+0161 s caron
+vz 1 %\xc5%\xbe # U+017E z caron
+an 1 %\xe2%\x8e%\xaf # U+23AF horizontal line extension
+Of 1 %\xc2%\xaa # AA feminine ordinal
+Om 1 %\xc2%\xba # BA masculine ordinal
+18 1 %\xe2%\x85%\x9b # 215B 1/8 symbol
+38 1 %\xe2%\x85%\x9c # 215C 3/8 symbol
+58 1 %\xe2%\x85%\x9d # 215D 5/8 symbol
+78 1 %\xe2%\x85%\x9e # 215E 7/8 symbol
+S1 1 %\xc2%\xb9 # B9 superscript 1
+S2 1 %\xc2%\xb2 # B2 superscript 2
+S3 1 %\xc2%\xb3 # B3 superscript 3
+md 1 %\xe2%\x8b%\x85 # 22C5 multiplication dot
+wp 1 %\xe2%\x84%\x98 # 2118 Weierstrass
+hbar 1 %\xe2%\x84%\x8f # 210F Planck constant
+CL 1 %\xe2%\x99%\xa3 # 2663 black club suit
+SP 1 %\xe2%\x99%\xa0 # 2660 black spade suit
+HE 1 %\xe2%\x99%\xa5 # 2665 black heart suit
+DI 1 %\xe2%\x99%\xa6 # 2666 black diamond suit
diff --git a/troff/nroff.d/tw.h b/troff/nroff.d/tw.h
new file mode 100644
index 0000000000000..afb364ecafab1
--- /dev/null
+++ b/troff/nroff.d/tw.h
@@ -0,0 +1,80 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "tw.h 1.6 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tw.h 1.6 (gritter) 4/25/06
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#define nextfp() 0
+
+/* typewriter driving table structure */
+
+#define NROFFCHARS NCHARS /* ought to be dynamic */
+#define _SPECCHAR_ST 256
+
+extern struct t {
+ int bset; /* these bits have to be on */
+ int breset; /* these bits have to be off */
+ int Hor; /* #units in minimum horiz motion */
+ int Vert; /* #units in minimum vert motion */
+ int Newline; /* #units in single line space */
+ int Char; /* #units in character width */
+ int Em; /* ditto */
+ int Halfline; /* half line units */
+ int Adj; /* minimum units for horizontal adjustment */
+ char *twinit; /* initialize terminal */
+ char *twrest; /* reinitialize terminal */
+ char *twnl; /* terminal sequence for newline */
+ char *hlr; /* half-line reverse */
+ char *hlf; /* half-line forward */
+ char *flr; /* full-line reverse */
+ char *bdon; /* turn bold mode on */
+ char *bdoff; /* turn bold mode off */
+ char *iton; /* turn italic mode on */
+ char *itoff; /* turn italic mode off */
+ char *ploton; /* turn plot mode on */
+ char *plotoff; /* turn plot mode off */
+ char *up; /* sequence to move up in plot mode */
+ char *down; /* ditto */
+ char *right; /* ditto */
+ char *left; /* ditto */
+
+ char **codetab;
+ char *width;
+} t;
diff --git a/troff/suftab.c b/troff/suftab.c
new file mode 100644
index 0000000000000..b3bf96025a184
--- /dev/null
+++ b/troff/suftab.c
@@ -0,0 +1,654 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "suftab.c 1.7 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)suftab.c 1.4 (gritter) 8/16/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * Suffix table
+ */
+
+static const unsigned char sufa[] = {
+ 02,0200+'t', /* -TA */
+ 02,0200+'s', /* -SA */
+ 03,0200+'t','r', /* -TRA */
+ 03,0200+'d','r', /* -DRA */
+ 03,0200+'b','r', /* -BRA */
+ 02,0200+'p', /* -PA */
+ 02,0200+'n', /* -NA */
+ 02,0200+'m', /* -MA */
+ 03,0200+'p','l', /* -PLA */
+ 02,0200+'l', /* -LA */
+ 02,0200+'k', /* -KA */
+ 03,0200+'t','h', /* -THA */
+ 03,0200+'s','h', /* -SHA */
+ 02,0200+'g', /* -GA */
+ 02,0200+'d', /* -DA */
+ 02,0200+'c', /* -CA */
+ 02,0200+'b', /* -BA */
+ 00
+};
+
+static const unsigned char sufc[] = {
+ 04,'e','t',0200+'i', /* ET-IC */
+ 07,'a','l',0200+'i','s',0200+'t','i', /* AL-IS-TIC */
+ 04,'s',0200+'t','i', /* S-TIC */
+ 04,'p',0200+'t','i', /* P-TIC */
+ 05,0200+'l','y','t',0200+'i', /* -LYT-IC */
+ 04,'o','t',0200+'i', /* OT-IC */
+ 05,'a','n',0200+'t','i', /* AN-TIC */
+ 04,'n',0200+'t','i', /* N-TIC */
+ 04,'c',0200+'t','i', /* C-TIC */
+ 04,'a','t',0200+'i', /* AT-IC */
+ 04,'h',0200+'n','i', /* H-NIC */
+ 03,'n',0200+'i', /* N-IC */
+ 03,'m',0200+'i', /* M-IC */
+ 04,'l',0200+'l','i', /* L-LIC */
+ 04,'b',0200+'l','i', /* B-LIC */
+ 04,0200+'c','l','i', /* -CLIC */
+ 03,'l',0200+'i', /* L-IC */
+ 03,'h',0200+'i', /* H-IC */
+ 03,'f',0200+'i', /* F-IC */
+ 03,'d',0200+'i', /* D-IC */
+ 03,0200+'b','i', /* -BIC */
+ 03,'a',0200+'i', /* A-IC */
+ 03,0200+'m','a', /* -MAC */
+ 03,'i',0200+'a', /* I-AC */
+ 00
+};
+
+static const unsigned char sufd[] = {
+ 04,0200+'w','o','r', /* -WORD */
+ 04,0200+'l','o','r', /* -LORD */
+ 04,0200+'f','o','r', /* -FORD */
+ 04,0200+'y','a','r', /* -YARD */
+ 04,0200+'w','a','r', /* -WARD */
+ 05,0200+'g','u','a','r', /* -GUARD */
+ 04,0200+'t','a','r', /* -TARD */
+ 05,0200+'b','o','a','r', /* -BOARD */
+ 04,0200+'n','a','r', /* -NARD */
+ 05,0200+'l','i','a','r', /* -LIARD */
+ 04,0200+'i','a','r', /* -IARD */
+ 04,0200+'g','a','r', /* -GARD */
+ 04,0200+'b','a','r', /* -BARD */
+ 03,0200+'r','o', /* -ROD */
+ 04,0200+'w','o','o', /* -WOOD */
+ 04,0200+'h','o','o', /* -HOOD */
+ 04,0200+'m','o','n', /* -MOND */
+ 04,0200+'t','e','n', /* -TEND */
+ 05,0200+'s','t','a','n', /* -STAND */
+ 04,0200+'l','a','n', /* -LAND */
+ 04,0200+'h','a','n', /* -HAND */
+ 04,0200+'h','o','l', /* -HOLD */
+ 04,0200+'f','o','l', /* -FOLD */
+ 05,0200+'f','i','e','l', /* -FIELD */
+ 03,0200+'v','i', /* -VID */
+ 03,0200+'c','i', /* -CID */
+ 04,0200+'s','a','i', /* -SAID */
+ 04,0200+'m','a','i', /* -MAID */
+ 04,'t',0200+'t','e', /* T-TED */
+ 03,'t',0200+'e', /* T-ED */
+ 04,0200+'d','r','e', /* -DRED */
+ 04,0200+'c','r','e', /* -CRED */
+ 04,0200+'b','r','e', /* -BRED */
+ 05,'v',0200+'e','l','e', /* V-ELED */
+ 0100+04,'a','l',0200+'e', /* AL/ED */
+ 0140+03,0200+'e','e', /* /EED */
+ 040+05,'e','d',0200+'d','e', /* ED-DED */
+ 04,'d',0200+'d','e', /* D-DED */
+ 040+04,'e','d',0200+'e', /* ED-ED */
+ 03,'d',0200+'e', /* D-ED */
+ 05,0200+'d','u','c','e', /* -DUCED */
+ 0300+02,'e', /* E/D */
+ 05,0200+'s','t','e','a', /* -STEAD */
+ 04,0200+'h','e','a', /* -HEAD */
+ 00
+};
+
+static const unsigned char sufe[] = {
+ 05,'a','r',0200+'i','z', /* AR-IZE */
+ 05,'a','n',0200+'i','z', /* AN-IZE */
+ 05,'a','l',0200+'i','z', /* AL-IZE */
+ 06,0200+'a','r','d',0200+'i','z', /* -ARD-IZE */
+ 05,0200+'s','e','l','v', /* -SELVE */
+ 05,0200+'k','n','i','v', /* -KNIVE */
+ 05,0200+'l','i','e','v', /* -LIEVE */
+ 0100+03,0200+'q','u', /* /QUE */
+ 07,'o','n',0200+'t','i','n',0200+'u', /* ON-TIN-UE */
+ 03,0200+'n','u', /* -NUE */
+ 03,0200+'d','u', /* -DUE */
+ 0300+02,'u', /* U/E */
+ 0300+05,'q','u','a','t', /* QUAT/E */
+ 04,'u',0200+'a','t', /* U-ATE */
+ 05,0200+'s','t','a','t', /* -STATE */
+ 04,0200+'t','a','t', /* -TATE */
+ 06,0200+'t','o','r',0200+'a','t', /* -TOR-ATE */
+ 05,'e','n',0200+'a','t', /* EN-ATE */
+ 04,0200+'m','a','t', /* -MATE */
+ 05,0200+'h','o','u','s', /* -HOUSE */
+ 05,0200+'c','l','o','s', /* -CLOSE */
+ 04,'i',0200+'o','s', /* I-OSE */
+ 04,0200+'w','i','s', /* -WISE */
+ 05,'a','s',0200+'u','r', /* AS-URE */
+ 040+04,0200+'s','u','r', /* -SURE */
+ 06,0200+'f','i','g',0200+'u','r', /* -FIG-URE */
+ 040+03,0200+'t','r', /* -TRE */
+ 05,0200+'s','t','o','r', /* -STORE */
+ 04,0200+'f','o','r', /* -FORE */
+ 05,0200+'w','h','e','r', /* -WHERE */
+ 06,0200+'s','p','h','e','r', /* -SPHERE */
+ 03,0200+'d','r', /* -DRE */
+ 03,0200+'c','r', /* -CRE */
+ 03,0200+'b','r', /* -BRE */
+ 05,0200+'s','c','o','p', /* -SCOPE */
+ 04,'y',0200+'o','n', /* Y-ONE */
+ 05,0200+'s','t','o','n', /* -STONE */
+ 05,0200+'p','h','o','n', /* -PHONE */
+ 04,0200+'g','o','n', /* -GONE */
+ 04,'e',0200+'o','n', /* E-ONE */
+ 040+04,0200+'e','n','n', /* -ENNE */
+ 040+05,'a',0200+'r','i','n', /* A-RINE */
+ 05,0200+'c','l','i','n', /* -CLINE */
+ 04,0200+'l','i','n', /* -LINE */
+ 007,00200+'r','o','u',00200+'t','i','n', /*-ROU-TINE */
+ 04,0200+'s','o','m', /* -SOME */
+ 04,0200+'c','o','m', /* -COME */
+ 04,0200+'t','i','m', /* -TIME */
+ 03,0200+'z','l', /* -ZLE */
+ 03,0200+'t','l', /* -TLE */
+ 03,0200+'s','l', /* -SLE */
+ 03,0200+'p','l', /* -PLE */
+ 05,0200+'v','i','l','l', /* -VILLE */
+ 04,'c','k',0200+'l', /* CK-LE */
+ 03,0200+'k','l', /* -KLE */
+ 03,0200+'g','l', /* -GLE */
+ 03,0200+'f','l', /* -FLE */
+ 03,0200+'d','l', /* -DLE */
+ 03,0200+'c','l', /* -CLE */
+ 05,0200+'p','a',0200+'b','l', /* -PA-BLE */
+ 05,'f','a',0200+'b','l', /* FA-BLE */
+ 05,0200+'c','a',0200+'b','l', /* -CA-BLE */
+ 06,0200+'s','t','a','b','l', /* -STABLE */
+ 04,0200+'a','b','l', /* -ABLE */
+ 03,0200+'b','l', /* -BLE */
+ 04,0200+'d','a','l', /* -DALE */
+ 04,0200+'m','a','l', /* -MALE */
+ 04,0200+'s','a','l', /* -SALE */
+ 04,0200+'l','i','k', /* -LIKE */
+ 0340+05,'g',0200+'u','a','g', /* -G/UAGE */
+ 05,0200+'r','i','a','g', /* -RIAGE */
+ 05,'e','r',0200+'a','g', /* ER-AGE */
+ 04,'m',0200+'a','g', /* M-AGE */
+ 04,'k',0200+'a','g', /* K-AGE */
+ 04,'d',0200+'a','g', /* D-AGE */
+ 04,0200+'w','i','f', /* -WIFE */
+ 05,0200+'k','n','i','f', /* -KNYFE */
+ 03,0200+'s','e', /* -SEE */
+ 04,0200+'f','r','e', /* -FREE */
+ 0340+02,'e', /* EE */
+ 04,0200+'w','i','d', /* -WIDE */
+ 04,0200+'t','i','d', /* -TIDE */
+ 04,0200+'s','i','d', /* -SIDE */
+ 06,0200+'q','u','e','n','c', /* -QUENCE */
+ 07,0200+'f','l','u',0200+'e','n','c', /* -FLU-ENCE */
+ 040+06,'e','s',0200+'e','n','c', /* ES-ENCE */
+ 06,'e','r',0200+'e','n','c', /* ER-ENCE */
+ 05,'i',0200+'e','n','c', /* I-ENCE */
+ 040+05,0200+'s','a','n','c', /* -SANCE */
+ 06,'e','r',0200+'a','n','c', /* ER-ANCE */
+ 06,'a','r',0200+'a','n','c', /* AR-ANCE */
+ 05,0200+'n','a','n','c', /* -NANCE */
+ 07,0200+'b','a','l',0200+'a','n','c', /* -BAL-ANCE */
+ 05,'i',0200+'a','n','c', /* I-ANCE */
+ 07,0200+'j','u','s',0200+'t','i','c', /* -JUS-TICE */
+ 05,0200+'s','t','i','c', /* -STICE */
+ 05,0200+'p','i','e','c', /* -PIECE */
+ 05,0200+'p','l','a','c', /* -PLACE */
+ 0340+01, /* /E */
+ 00
+};
+
+static const unsigned char suff[] = {
+ 03,0200+'o','f', /* -OFF */
+ 05,0200+'p','r','o','o', /* -PROOF */
+ 04,0200+'s','e','l', /* -SELF */
+ 03,0200+'r','i', /* -RIF */
+ 040+04,0200+'l','i','e', /* -LIEF */
+ 00
+};
+
+static const unsigned char sufg[] = {
+ 03,0200+'l','o', /* -LOG */
+ 04,0200+'l','o','n', /* -LONG */
+ 05,'t',0200+'t','i','n', /* T-TING */
+ 06,0200+'s','t','r','i','n', /* -STRING */
+ 05,'r',0200+'r','i','n', /* R-RING */
+ 05,'p',0200+'p','i','n', /* P-PING */
+ 05,'n',0200+'n','i','n', /* N-NING */
+ 05,'m',0200+'m','i','n', /* M-MING */
+ 05,'l',0200+'l','i','n', /* L-LING */
+ 05,0200+'z','l','i','n', /* -ZLING */
+ 05,0200+'t','l','i','n', /* -TLING */
+ 040+05,'s',0200+'l','i','n', /* S-LING */
+ 05,'r',0200+'l','i','n', /* R-LING */
+ 05,0200+'p','l','i','n', /* -PLING */
+ 06,'n',0200+'k','l','i','n', /* N-KLING */
+ 05,'k',0200+'l','i','n', /* K-LING */
+ 05,0200+'g','l','i','n', /* -GLING */
+ 05,0200+'f','l','i','n', /* -FLING */
+ 05,0200+'d','l','i','n', /* -DLING */
+ 05,0200+'c','l','i','n', /* -CLING */
+ 05,0200+'b','l','i','n', /* -BLING */
+ 06,'y',0200+'t','h','i','n', /* Y-THING */
+ 07,'e','e','t','h',0200+'i','n', /* EETH-ING */
+ 06,'e',0200+'t','h','i','n', /* E-THING */
+ 05,'g',0200+'g','i','n', /* G-GING */
+ 05,'d',0200+'d','i','n', /* D-DING */
+ 05,'b',0200+'b','i','n', /* B-BING */
+ 03,0200+'i','n', /* -ING */
+ 00
+};
+
+static const unsigned char sufh[] = {
+ 05,0200+'m','o','u','t', /* -MOUTH */
+ 05,0200+'w','o','r','t', /* -WORTH */
+ 04,0200+'w','i','t', /* -WITH */
+ 05,'t',0200+'t','i','s', /* T-TISH */
+ 05,'e',0200+'t','i','s', /* E-TISH */
+ 05,'p',0200+'p','i','s', /* P-PISH */
+ 05,'r',0200+'n','i','s', /* R-NISH */
+ 05,'n',0200+'n','i','s', /* N-NISH */
+ 05,0200+'p','l','i','s', /* -PLISH */
+ 05,0200+'g','u','i','s', /* -GUISH */
+ 05,0200+'g','l','i','s', /* -GLISH */
+ 05,'b',0200+'l','i','s', /* B-LISH */
+ 05,'g',0200+'g','i','s', /* G-GISH */
+ 05,'d',0200+'d','i','s', /* D-DISH */
+ 03,0200+'i','s', /* -ISH */
+ 05,0200+'g','r','a','p', /* -GRAPH */
+ 07,0200+'b','o','r',0200+'o','u','g', /* -BOR-OUGH */
+ 05,0200+'b','u','r','g', /* -BURGH */
+ 04,0200+'v','i','c', /* -VICH */
+ 03,0200+'n','a', /* -NAH */
+ 03,0200+'l','a', /* -LAH */
+ 04,0200+'m','i',0200+'a', /* -MI-AH */
+ 00
+};
+
+static const unsigned char sufi[] = {
+ 03,0200+'t','r', /* -TRI */
+ 03,0200+'c','h', /* -CHI */
+ 0200+03,'i','f', /* IF-I */
+ 0200+03,'e','d', /* ED-I */
+ 05,0200+'a','s','c','i', /* -ASCII */
+ 04,0200+'s','e','m', /* -SEMI */
+ 00
+};
+
+static const unsigned char sufk[] = {
+ 04,0200+'w','o','r', /* -WORK */
+ 04,0200+'m','a','r', /* -MARK */
+ 04,0200+'b','o','o', /* -BOOK */
+ 04,0200+'w','a','l', /* -WALK */
+ 05,0200+'c','r','a','c', /* -CRACK */
+ 04,0200+'b','a','c', /* -BACK */
+ 00
+};
+
+static const unsigned char sufl[] = {
+ 03,0200+'f','u', /* -FUL */
+ 05,'s',0200+'w','e','l', /* S-WELL */
+ 04,0200+'t','e','l', /* -TELL */
+ 05,0200+'s','h','e','l', /* -SHELL */
+ 05,0200+'s','t','a','l', /* -STALL */
+ 04,'s',0200+'t','a', /* S-TAL */
+ 04,0200+'b','a','l', /* -BALL */
+ 04,0200+'c','a','l', /* -CALL */
+ 03,'v',0200+'e', /* V-EL */
+ 03,'u',0200+'e', /* U-EL */
+ 03,'k',0200+'e', /* K-EL */
+ 04,'t','h',0200+'e', /* TH-EL */
+ 05,'t','c','h',0200+'e', /* TCH-EL */
+ 03,'a',0200+'e', /* A-EL */
+ 0140+04,0200+'q','u','a', /* /QUAL */
+ 040+03,'u',0200+'a', /* U-AL */
+ 03,0200+'t','a', /* -TAL */
+ 04,'u','r',0200+'a', /* UR-AL */
+ 040+05,'g',0200+'o',0200+'n','a', /* G-O-NAL */
+ 04,'o','n',0200+'a', /* ON-AL */
+ 03,0200+'n','a', /* -NAL */
+ 04,0200+'t','i','a', /* -TIAL */
+ 04,0200+'s','i','a', /* -SIAL */
+ 040+05,0200+'t','r','i',0200+'a', /* -TRI-AL */
+ 04,'r','i',0200+'a', /* RI-AL */
+ 04,0200+'n','i',0200+'a', /* -NI-AL */
+ 04,0200+'d','i',0200+'a', /* -DI-AL */
+ 04,0200+'c','i','a', /* -CIAL */
+ 03,0200+'g','a', /* -GAL */
+ 04,0200+'m','e','a', /* -MEAL */
+/* 040+04,0200+'r','e',0200+'a', */ /* -RE-AL */
+ 040+04,0200+'r','e','a', /* -REAL */
+ 06,'c',0200+'t','i',0200+'c','a', /* C-TI-CAL */
+ 05,0200+'s','i',0200+'c','a', /* -SI-CAL */
+ 04,0200+'i',0200+'c','a', /* -I-CAL */
+ 03,0200+'c','a', /* -CAL */
+ 03,0200+'b','a', /* -BAL */
+ 06,0200+'n','o',0200+'m','i',0200+'a', /* -NO-MI-AL */
+ 00
+};
+
+static const unsigned char sufm[] = {
+ 03,0200+'n','u', /* -NUM */
+ 05,'o',0200+'r','i',0200+'u', /* O-RI-UM */
+ 040+03,'i',0200+'u', /* I-UM */
+ 040+03,'e',0200+'u', /* E-UM */
+ 05,'i','v',0200+'i','s', /* IV-ISM */
+ 04,0200+'t','i','s', /* -TISM */
+ 05,'i',0200+'m','i','s', /* I-MISM */
+ 05,'a','l',0200+'i','s', /* AL-ISM */
+ 040+04,'e',0200+'i','s', /* E-ISM */
+ 040+04,'a',0200+'i','s', /* A-ISM */
+ 04,0200+'r','o','o', /* -ROOM */
+ 03,0200+'d','o', /* -DOM */
+ 03,0200+'h','a', /* -HAM */
+ 06,0200+'a',0200+'r','i','t','h', /* -A-RITHM */
+ 05,0200+'r','i','t','h', /* -RITHM */
+ 00
+};
+
+static const unsigned char sufn[] = {
+ 05,0200+'k','n','o','w', /* -KNOWN */
+ 04,0200+'t','o','w', /* -TOWN */
+ 04,0200+'d','o','w', /* -DOWN */
+ 04,0200+'t','u','r', /* -TURN */
+ 05,0200+'s','p','o','o', /* -SPOON */
+ 04,0200+'n','o','o', /* -NOON */
+ 04,0200+'m','o','o', /* -MOON */
+ 011,'a','l',0200+'i',0200+'z','a',0200+'t','i','o', /* AL-I-ZA-TION */
+ 07,0200+'i',0200+'z','a',0200+'t','i','o', /* -I-ZA-TION */
+ 07,'l',0200+'i',0200+'a',0200+'t','i','o', /* L-I-A-TION */
+ 04,0200+'t','i','o', /* -TION */
+ 040+05,'s',0200+'s','i','o', /* S-SION */
+ 04,0200+'s','i','o', /* -SION */
+ 04,'n',0200+'i','o', /* N-ION */
+ 04,0200+'g','i','o', /* -GION */
+ 04,0200+'c','i','o', /* -CION */
+ 03,0200+'c','o', /* -CON */
+ 05,0200+'c','o','l','o', /* -COLON */
+ 03,0200+'t','o', /* -TON */
+ 04,'i','s',0200+'o', /* IS-ON */
+ 03,0200+'s','o', /* -SON */
+ 03,0200+'r','i', /* -RIN */
+ 03,0200+'p','i', /* -PIN */
+ 03,0200+'n','i', /* -NIN */
+ 03,0200+'m','i', /* -MIN */
+ 03,0200+'l','i', /* -LIN */
+ 03,0200+'k','i', /* -KIN */
+ 05,0200+'s','t','e','i', /* -STEIN */
+ 04,0200+'t','a','i', /* -TAIN */
+ 05,'g','h','t',0200+'e', /* GHT-EN */
+ 05,0200+'w','o','m',0200+'e', /* -WOM-EN */
+ 03,0200+'m','e', /* -MEN */
+ 04,'o',0200+'k','e', /* O-KEN */
+ 03,'k',0200+'e', /* K-EN */
+ 04,0200+'t','e','e', /* -TEEN */
+ 04,0200+'s','e','e', /* -SEEN */
+ 040+03,0200+'s','a', /* -SAN */
+ 05,0200+'w','o','m',0200+'a', /* -WOM-AN */
+ 03,0200+'m','a', /* -MAN */
+ 04,0200+'t','i','a', /* -TIAN */
+ 04,0200+'s','i','a', /* -SIAN */
+ 040+04,'e',0200+'i','a', /* E-IAN */
+ 04,0200+'c','i','a', /* -CIAN */
+ 0300+03,'i','a', /* IA/N */
+ 05,0200+'c','l','e','a', /* -CLEAN */
+ 04,0200+'m','e','a', /* -MEAN */
+ 040+03,'e',0200+'a', /* E-AN */
+ 00
+};
+
+static const unsigned char sufo[] = {
+ 05,0200+'m','a','c',0200+'r', /* -MAC-RO */
+ 00
+};
+
+static const unsigned char sufp[] = {
+ 05,0200+'g','r','o','u', /* -GROUP */
+ 02,0200+'u', /* -UP */
+ 04,0200+'s','h','i', /* -SHIP */
+ 04,0200+'k','e','e', /* -KEEP */
+ 00
+};
+
+static const unsigned char sufr[] = {
+ 04,0200+'z','a','r', /* -ZARR */
+ 0300+02,'r', /* R/R */
+ 03,0200+'t','o', /* -TOR */
+ 040+03,0200+'s','o', /* -SOR */
+ 040+04,0200+'r','i',0200+'o', /* -RI-OR */
+ 04,'i','z',0200+'e', /* IZ-ER */
+ 05,0200+'c','o','v',0200+'e', /* -COV-ER */
+ 04,0200+'o','v','e', /* -OVER */
+ 04,0200+'e','v',0200+'e', /* -EV-ER */
+ 8,0200+'c','o','m',0200+'p','u','t',0200+'e', /* -COM-PUT-ER */
+ 040+05,'u','s',0200+'t','e', /* US-TER */
+ 05,'o','s','t',0200+'e', /* OST-ER */
+ 040+05,0200+'a','c',0200+'t','e', /* -AC-TER */
+ 06,0200+'w','r','i','t',0200+'e', /* -WRIT-ER */
+ 040+05,'i','s',0200+'t','e', /* IS-TER */
+ 040+05,'e','s',0200+'t','e', /* ES-TER */
+ 040+05,'a','s',0200+'t','e', /* AS-TER */
+ 04,0200+'s','t','e', /* -STER */
+ 05,'a','r',0200+'t','e', /* AR-TER */
+ 04,'r','t',0200+'e', /* RT-ER */
+ 040+05,'m',0200+'e',0200+'t','e', /* M-E-TER */
+ 05,0200+'w','a',0200+'t','e', /* -WA-TER */
+ 03,'r',0200+'e', /* R-ER */
+ 04,'o','p',0200+'e', /* OP-ER */
+ 05,0200+'p','a',0200+'p','e', /* -PA-PER */
+ 04,'w','n',0200+'e', /* WN-ER */
+ 040+04,'s',0200+'n','e', /* S-NER */
+ 04,'o','n',0200+'e', /* ON-ER */
+ 04,'r','m',0200+'e', /* RM-ER */
+ 03,0200+'m','e', /* -MER */
+ 04,'l','l',0200+'e', /* LL-ER */
+ 05,'d',0200+'d','l','e', /* D-DLER */
+ 04,0200+'b','l','e', /* -BLER */
+ 03,'k',0200+'e', /* K-ER */
+ 05,'n',0200+'t','h','e', /* N-THER */
+ 06,0200+'f','a',0200+'t','h','e', /* -FA-THER */
+ 06,'e','i',0200+'t','h','e', /* EI-THER */
+ 04,'t','h',0200+'e', /* TH-ER */
+ 04,'s','h',0200+'e', /* SH-ER */
+ 04,0200+'p','h','e', /* -PHER */
+ 04,'c','h',0200+'e', /* CH-ER */
+ 04,'d','g',0200+'e', /* DG-ER */
+ 04,'r','d',0200+'e', /* RD-ER */
+ 06,'o','u','n','d',0200+'e', /* OUND-ER */
+ 04,'l','d',0200+'e', /* LD-ER */
+ 04,'i','d',0200+'e', /* ID-ER */
+ 05,0200+'d','u','c',0200+'e', /* -DUC-ER */
+ 04,'n','c',0200+'e', /* NC-ER */
+ 0100+02, 0200+'e', /* /ER */
+ 03,0200+'s','a', /* -SAR */
+ 040+06,'a','c',0200+'u',0200+'l','a', /* AC-U-LAR */
+ 040+06,'e','c',0200+'u',0200+'l','a', /* EC-U-LAR */
+ 040+06,'i','c',0200+'u',0200+'l','a', /* IC-U-LAR */
+ 040+06,'e','g',0200+'u',0200+'l','a', /* EG-U-LAR */
+ 00
+};
+
+static const unsigned char sufs[] = {
+ 040+04,'u',0200+'o','u', /* U-OUS */
+ 05,0200+'t','i','o','u', /* -TIOUS */
+ 05,0200+'g','i','o','u', /* -GIOUS */
+ 05,0200+'c','i','o','u', /* -CIOUS */
+ 040+04,'i',0200+'o','u', /* I-OUS */
+ 05,0200+'g','e','o','u', /* -GEOUS */
+ 05,0200+'c','e','o','u', /* -CEOUS */
+ 04,'e',0200+'o','u', /* E-OUS */
+ 0140+02,0200+'u', /* /US */
+ 04,0200+'n','e','s', /* -NESS */
+ 04,0200+'l','e','s', /* -LESS */
+ 0140+02,0200+'s', /* /SS */
+ 040+05,'p',0200+'o',0200+'l','i', /* P-O-LIS */
+ 0140+02,0200+'i', /* /IS */
+ 0100+03,0200+'x','e', /* X/ES */
+ 0100+03,0200+'s','e', /* S/ES */
+ 0100+04,'s','h',0200+'e', /* SH/ES */
+ 0100+04,'c','h',0200+'e', /* CH/ES */
+ 0300+01, /* /S */
+ 00
+};
+
+static const unsigned char suft[] = {
+ 06,'i','o','n',0200+'i','s', /* ION-IST */
+ 05,'i','n',0200+'i','s', /* IN-IST */
+ 05,'a','l',0200+'i','s', /* AL-IST */
+ 06,'l',0200+'o',0200+'g','i','s', /* L-O-GIST */
+ 05,'h','t',0200+'e','s', /* HT-EST */
+ 04,'i',0200+'e','s', /* I-EST */
+ 05,'g',0200+'g','e','s', /* G-GEST */
+ 04,'g',0200+'e','s', /* G-EST */
+ 05,'d',0200+'d','e','s', /* D-DEST */
+ 04,'d',0200+'e','s', /* D-EST */
+ 04,0200+'c','a','s', /* -CAST */
+ 05,0200+'h','e','a','r', /* -HEART */
+ 04,0200+'f','o','o', /* -FOOT */
+ 03,'i',0200+'o', /* I-OT */
+ 05,0200+'f','r','o','n', /* -FRONT */
+ 05,0200+'p','r','i','n', /* -PRINT */
+ 04,0200+'m','e','n', /* -MENT */
+ 05,0200+'c','i','e','n', /* -CIENT */
+ 04,'i',0200+'a','n', /* I-ANT */
+ 06,0200+'w','r','i','g','h', /* -WRIGHT */
+ 06,0200+'b','r','i','g','h', /* -BRIGHT */
+ 06,0200+'f','l','i','g','h', /* -FLIGHT */
+ 06,0200+'w','e','i','g','h', /* -WEIGHT */
+ 05,0200+'s','h','i','f', /* -SHIFT */
+ 05,0200+'c','r','a','f', /* -CRAFT */
+ 040+04,'d','g',0200+'e', /* DG-ET */
+ 04,0200+'g','o','a', /* -GOAT */
+ 04,0200+'c','o','a', /* -COAT */
+ 04,0200+'b','o','a', /* -BOAT */
+ 04,0200+'w','h','a', /* -WHAT */
+ 04,0200+'c','u','i', /* -CUIT */
+ 00
+};
+
+static const unsigned char sufy[] = {
+ 040+04,'e','s',0200+'t', /* ES-TY */
+ 040+05,'q','u','i',0200+'t', /* QUI-TY */
+ 04,0200+'t','i',0200+'t', /* -TI-TY */
+ 040+05,'o','s',0200+'i',0200+'t', /* OS-I-TY */
+ 04,0200+'s','i',0200+'t', /* -SI-TY */
+ 05,'i','n',0200+'i',0200+'t', /* IN-I-TY */
+ 04,'n','i',0200+'t', /* NI-TY */
+ 040+010,'f','a',0200+'b','i','l',0200+'i',0200+'t', /* FA-BIL-I-TY */
+ 010,0200+'c','a',0200+'b','i','l',0200+'i',0200+'t', /* -CA-BIL-I-TY */
+ 010,0200+'p','a',0200+'b','i','l',0200+'i',0200+'t', /* -PA-BIL-I-TY */
+ 06,0200+'b','i','l',0200+'i',0200+'t', /* -BIL-I-TY */
+ 03,'i',0200+'t', /* I-TY */
+ 04,0200+'b','u','r', /* -BUR-Y */
+ 04,0200+'t','o',0200+'r', /* -TO-RY */
+ 05,0200+'q','u','a','r', /* -QUAR-Y */
+ 040+04,'u',0200+'a','r', /* U-ARY */
+ 07,0200+'m','e','n',0200+'t','a',0200+'r', /* -MEN-TA-RY */
+ 06,'i','o','n',0200+'a','r', /* ION-ARY */
+ 04,'i',0200+'a','r', /* I-ARY */
+ 04,'n',0200+'o',0200+'m', /* N-O-MY */
+ 03,0200+'p','l', /* -PLY */
+ 04,'g',0200+'g','l', /* G-GLY */
+ 05,0200+'p','a',0200+'b','l', /* -PA-BLY */
+ 05,'f','a',0200+'b','l', /* FA-BLY */
+ 05,0200+'c','a',0200+'b','l', /* -CA-BLY */
+ 04,0200+'a','b','l', /* -ABLY */
+ 03,0200+'b','l', /* -BLY */
+ 02,0200+'l', /* -LY */
+ 03,0200+'s','k', /* -SKY */
+ 040+06,'g',0200+'r','a',0200+'p','h', /* G-RA-PHY */
+ 04,'l',0200+'o',0200+'g', /* L-O-GY */
+ 02,0200+'f', /* -FY */
+ 03,0200+'n','e', /* -NEY */
+ 03,0200+'l','e', /* -LEY */
+ 04,'c','k',0200+'e', /* CK-EY */
+ 03,0200+'k','e', /* -KEY */
+ 04,0200+'b','o','d', /* -BODY */
+ 05,0200+'s','t','u','d', /* -STUDY */
+ 0340+04,'e','e','d', /* EEDY */
+ 02,0200+'b', /* -BY */
+ 03,0200+'w','a', /* -WAY */
+ 03,0200+'d','a', /* -DAY */
+ 00
+};
+
+const unsigned char *suftab[] = {
+ sufa,
+ 0,
+ sufc,
+ sufd,
+ sufe,
+ suff,
+ sufg,
+ sufh,
+ sufi,
+ 0,
+ sufk,
+ sufl,
+ sufm,
+ sufn,
+ sufo,
+ sufp,
+ 0,
+ sufr,
+ sufs,
+ suft,
+ 0,
+ 0,
+ 0,
+ 0,
+ sufy,
+ 0,
+};
diff --git a/troff/tdef.h b/troff/tdef.h
new file mode 100644
index 0000000000000..f5b3d4de7e0dd
--- /dev/null
+++ b/troff/tdef.h
@@ -0,0 +1,959 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "tdef.h 1.11 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)tdef.h 1.165 (gritter) 10/23/09
+ *
+ * Portions Copyright (c) 2014 Carsten Kunze <carsten.kunze@arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include "global.h"
+
+/* starting values for typesetting parameters: */
+
+#define PS 10 /* default point size */
+#define FT 1 /* default font position */
+#define ULFONT 2 /* default underline font */
+#define BDFONT 3 /* default emboldening font */
+#define BIFONT 4 /* default bold italic font */
+#define LL (unsigned) 65*INCH/10 /* line length; 39picas=6.5in */
+#define VS ((12*INCH)/72) /* initial vert space */
+
+#ifdef NROFF
+# define EM t.Em
+# define HOR t.Adj
+# define VERT t.Vert
+# define INCH 240 /* increments per inch */
+# define SPS INCH/10 /* space size */
+# define SS INCH/10 /* " */
+# define SES SPS /* sentence space size */
+# define SSS SS /* " */
+# define TRAILER 0
+# define PO 0 /* page offset */
+# define ASCII 1
+# define PTID 1
+# define LG 0
+# define DTAB 0 /* set at 8 Ems at init time */
+# define ICS 2*SPS
+#endif
+#ifndef NROFF /* TROFF */
+ /* Inch is set by ptinit() when troff started. */
+ /* all derived values set then too
+ */
+# define INCH Inch /* troff resolution -- number of goobies/inch */
+# define POINT (INCH/72) /* goobies per point (1/72 inch) */
+# define HOR Hor /* horizontal resolution in goobies */
+# define VERT Vert /* vertical resolution in goobies */
+# define SPS (EM/3) /* space size */
+# define SES SPS /* sentence space size */
+# define SS 12 /* space size in 36ths of an em */
+# define SSS SS /* sentence space size in 36ths of an em */
+# define PO (INCH) /* page offset 1 inch */
+/* # define EM (POINT * pts) */
+#define EM (((long) INCH * u2pts(pts) + 36) / 72) /* don't lose significance */
+#define EMPTS(pts) (((long) INCH * u2pts(pts) + 36) / 72)
+# define ASCII 0
+# define PTID 1
+# define LG 1
+# define DTAB (INCH/2)
+# define ICS 3*SPS
+#endif
+
+/* These "characters" are used to encode various internal functions
+ * Some make use of the fact that most ascii characters between
+ * 0 and 040 don't have any graphic or other function.
+ * The few that do have a purpose (e.g., \n, \b, \t, ...
+ * are avoided by the ad hoc choices here.
+ * See ifilt[] in n1.c for others -- 1, 2, 3, 5, 6, 7, 010, 011, 012
+ */
+
+#define LEADER 001
+#define IMP 004 /* impossible char; glues things together */
+#define TAB 011
+#define RPT 014 /* next character is to be repeated many times */
+#define CHARHT 015 /* size field sets character height */
+#define SLANT 016 /* size field sets amount of slant */
+#define DRAWFCN 017 /* next several chars describe arb drawing fcn */
+ /* line: 'l' dx dy char */
+ /* circle: 'c' r */
+ /* ellipse: 'e' rx ry */
+ /* arc: 'a' dx dy r */
+ /* wiggly line '~' x y x y ... */
+#define DRAWLINE 'l'
+#define DRAWCIRCLE 'c' /* circle */
+#define DRAWCIRCLEFI 'C' /* filled circle */
+#define DRAWELLIPSE 'e'
+#define DRAWELLIPSEFI 'E' /* filled ellipse */
+#define DRAWARC 'a' /* arbitrary arc */
+#define DRAWSPLINE '~' /* quadratic B spline */
+#define DRAWTHICKNESS 't' /* line thickness */
+#define DRAWPOLYGON 'p' /* polygon */
+#define DRAWPOLYGONFI 'P' /* filled polygon */
+
+#define LEFT 020 /* \{ */
+#define RIGHT 021 /* \} */
+#define FILLER 022 /* \& and similar purposes */
+#define XON 023 /* \X'...' starts here */
+#define OHC 024 /* optional hyphenation character \% */
+#define CONT 025 /* \c character */
+#define PRESC 026 /* printable escape */
+#define UNPAD 027 /* unpaddable blank */
+#define STRETCH 037 /* stretchable but unbreakable blank */
+#define XPAR 030 /* transparent mode indicator */
+#define FLSS 031
+#define WORDSP 032 /* paddable word space */
+#define ESC 033
+#define XOFF 034 /* \X'...' ends here */
+
+#define iscontrol(n) (n==035 || n==036) /* used to test the next two */
+#define HX 035 /* next character is value of \x'...' */
+#define FONTPOS 036 /* position of font \f(XX encoded in top */
+
+#define XFUNC 013 /* extended function codes, type in fbits: */
+#define ANCHOR 0001 /* anchor definition */
+#define LINKON 0002 /* link start */
+#define LINKOFF 0003 /* link end */
+#define LETSP 0004 /* positive letter spacing */
+#define NLETSP 0005 /* negative letter spacing */
+#define FLDMARK 0006 /* field marker */
+#define LETSH 0007 /* expanded letter shapes */
+#define NLETSH 0010 /* condensed letter shapes */
+#define HYPHED 0011 /* previous character is an automatic hyphen */
+#define OLT 0012 /* output line trap */
+#define YON 0013 /* indirect copy through */
+#define CC 0014 /* unchangeable control character */
+#define RQ 0015 /* request number */
+#define CHAR 0022 /* formatted result of a .char execution */
+#define INDENT 0023 /* current indent (informational only, no move) */
+#define PENALTY 0024 /* line breaking penalty */
+#define DPENAL 0025 /* default line breaking penalty change */
+#define ULINKON 0026 /* ulink start */
+#define ULINKOFF 0027 /* ulink end */
+
+#define isxfunc(c, x) (cbits(c) == XFUNC && fbits(c) == (x))
+
+#define LAFACT 1000 /* letter adjustment float-to-int conversion factor */
+
+#define HYPHEN c_hyphen
+#define EMDASH c_emdash /* \(em */
+#define RULE c_rule /* \(ru */
+#define MINUS c_minus /* minus sign on current font */
+#define LIG_FI c_fi /* \(ff */
+#define LIG_FL c_fl /* \(fl */
+#define LIG_FF c_ff /* \(ff */
+#define LIG_FFI c_ffi /* \(Fi */
+#define LIG_FFL c_ffl /* \(Fl */
+#define ACUTE c_acute /* acute accent \(aa */
+#define GRAVE c_grave /* grave accent \(ga */
+#define UNDERLINE c_under /* \(ul */
+#define ROOTEN c_rooten /* root en \(rn */
+#define BOXRULE c_boxrule /* box rule \(br */
+#define LEFTHAND c_lefthand /* left hand for word overflow */
+#define DAGGER c_dagger /* dagger for footnotes */
+
+/* array sizes, and similar limits: */
+
+#define NFONT 10 /* maximum number of fonts (including specials, !afm) */
+#define EXTRAFONT 500 /* extra space for swapping a font */
+extern int NN; /* number registers */
+#define NNAMES 15 /* predefined reg names */
+extern int NS; /* name buffer */
+#define NTM 4096 /* tm buffer */
+#define NEV 3 /* environments */
+#define EVLSZ 10 /* size of ev stack */
+#define DSIZE 512 /* disk sector size in chars */
+
+extern int NM; /* requests + macros */
+#define NHYP 40 /* max hyphens per word */
+#define NTAB 40 /* tab stops */
+#define NSO 5 /* "so" depth */
+extern int NMF; /* size of space for -m flags */
+#define WDSIZE 540 /* default word buffer size */
+#define LNSIZE 680 /* default line buffer size */
+extern int NDI; /* number of diversions */
+extern int NCHARS; /* maximum size of troff character set */
+#define NTRTAB NCHARS /* number of items in trtab[] */
+#define NWIDCACHE NCHARS /* number of items in widcache */
+#define NTRAP 20 /* number of traps */
+#define NPN 20 /* numbers in "-o" */
+#define FBUFSZ 512 /* field buf size words */
+#define OBUFSZ 4096 /* bytes */
+#define IBUFSZ 4096L /* bytes */
+#define NC 1024 /* cbuf size words */
+#define NOV 10 /* number of overstrike chars */
+#define NPP 10 /* pads per field */
+#define NSENT 40 /* number of sentence end characters */
+
+/*
+ Internal character representation:
+ Internally, every character is carried around as
+ a 64 bit cookie, called a "tchar" (typedef int64_t).
+ Bits are numbered 63..0 from left to right.
+ If bit 21 is 1, the character is motion, with
+ if bit 22 it's vertical motion
+ if bit 23 it's negative motion
+ If bit 21 is 0, the character is a real character.
+ if bit 63 zero motion
+ bits 62..40 size
+ bits 39..32 font
+*/
+
+/* in the following, "LL" should really be a tchar, but ... */
+
+#define MOT (01LL<<21) /* motion character indicator */
+#define VMOT (01LL<<22) /* vert motion bit */
+#define NMOT (01LL<<23) /* negative motion indicator*/
+#define BMBITS 0x001FFFFFLL /* basic absolute motion bits */
+#define XMBITS 0x03000000LL /* extended absolute motion bits */
+#define XMSHIFT 3 /* extended absolute motion shift */
+#define MAXMOT 0x007FFFFFLL /* bad way to write this!!! */
+
+#define ismot(n) ((n) & MOT)
+#define isvmot(n) ((n) & VMOT) /* must have tested MOT previously */
+#define isnmot(n) ((n) & NMOT) /* ditto */
+#define absmot(n) (unsigned long)((BMBITS&(n)) | ((n)&XMBITS)>>XMSHIFT)
+#define sabsmot(n) (!xflag || (n) <= MAXMOT ? ((n)&BMBITS) | ((n)&~BMBITS)<<XMSHIFT : moflo(n))
+
+#define ZBIT (01ULL << 63) /* zero width char */
+#define iszbit(n) ((n) & ZBIT)
+#define BLBIT (01ULL << 31) /* optional break-line char */
+#define isblbit(n) ((n) & BLBIT)
+#define COPYBIT (01ULL << 30) /* wide character in copy mode */
+#define iscopy(n) ((n) & COPYBIT && !ismot(n) && cbits(n) & ~0177)
+#define ADJBIT (01ULL << 30) /* adjusted space */
+#define isadjspc(n) ((n) & ADJBIT && !ismot(n) && (cbits(n) & ~0177) == 0 \
+ && cbits(n) != FILLER)
+#define isadjmot(n) ((n) & ADJBIT && ismot(n))
+#define TRANBIT (01ULL << 30) /* transparent filler */
+#define istrans(n) ((n) & TRANBIT && cbits(n) == FILLER)
+#define AUTOLIG (01ULL << 29) /* ligature substituted automatically */
+#define islig(n) ((n) & AUTOLIG)
+#define TAILBIT (01ULL << 29) /* tail recursion */
+#define istail(n) (((n) & (TAILBIT|MOT|'\n')) == (TAILBIT|'\n'))
+#define SENTSP (01ULL << 29) /* sentence space */
+#define issentsp(n) ((n) & SENTSP)
+#define DIBIT (01ULL << 28) /* written in a diversion */
+#define isdi(n) ((n) & DIBIT)
+
+#define SMASK (037777777LL << 40)
+#define FMASK (0377LL << 32)
+#define SFMASK (SMASK|FMASK) /* size and font in a tchar */
+#define sbits(n) (unsigned)(((n) >> 40) & 037777777)
+#define fbits(n) (((n) >> 32) & 0377)
+#define sfbits(n) (unsigned)(037777777777UL & (((n) & SFMASK) >> 32))
+#define cbits(n) (unsigned)(0x003FFFFFLL & (n)) /* isolate bottom 22 bits */
+
+#define setsbits(n,s) n = (n & ~SMASK) | (tchar)(s) << 40
+#define setfbits(n,f) n = (n & ~FMASK) | (tchar)(f) << 32
+#define setsfbits(n,sf) n = (n & ~SFMASK) | (tchar)(sf) << 32
+#define setcbits(n,c) n = ((n & ~0x001FFFFFLL) | (c)) /* set character bits */
+
+#define BYTEMASK 0377
+#define BYTE 8
+
+#define ischar(n) (((n) & ~BYTEMASK) == 0)
+
+#if defined (NROFF) && defined (EUC) && defined (ZWDELIMS)
+#define ZWDELIM1 ZBIT | FIRSTOFMB | ' ' /* non-ASCII word delimiter 1 */
+#define ZWDELIM2 ZBIT | MIDDLEOFMB | ' ' /* non-ASCII word delimiter 2 */
+#define ZWDELIM(c) ((c) == 0) ? ' ' : ((c) == 1) ? ZWDELIM1 : ZWDELIM2
+#endif /* NROFF && EUC && ZWDELIMS */
+
+#define ZONE 5 /* 5 hrs for EST */
+#define TABMASK 0x3FFFFFFF
+#define RTAB (unsigned) 0x80000000
+#define CTAB 0x40000000
+
+#define TABBIT 02 /* bits in gchtab */
+#define LDRBIT 04
+#define FCBIT 010
+#define LGBIT 020
+#define CHBIT 040
+
+#define INFPENALTY0 (1e6)
+#define INFPENALTY (1e9)
+#define MAXPENALTY (1e6)
+#define PENALSCALE (1.0/50)
+
+#define PAIR(A,B) (A|(B<<BYTE))
+#define LOOP (-4)
+
+#ifndef EUC
+#define oput(c) if ((*obufp++ = (c)), obufp >= &obuf[OBUFSZ]) flusho(); else
+#else
+#define oput(c) if ((*obufp++ = cbits(c) & BYTEMASK), obufp >= &obuf[OBUFSZ]) flusho(); else
+#endif /* EUC */
+
+#ifdef NROFF
+#define ftrans(f, c) (c)
+#else
+#define ftrans(f, c) (f >= 0 && f <= nfonts ? ftrtab[f][ftrtab[f][c]] : (c))
+#endif
+
+#define hex2nibble(x) ((x)>='0' && (x)<='9' ? (x)-'0' : \
+ (x)>='A' && (x)<='F' ? (x)-'A'+10 : \
+ (x)-'a'+10 )
+
+/*
+ * "temp file" parameters. macros and strings
+ * are stored in an array of linked blocks,
+ * which may be in memory and an array called
+ * corebuf[].
+
+ * The numerology is delicate if filep is 16 bits:
+ #define BLK 128
+ #define NBLIST 512
+ * i.e., the product is 16 bits long.
+
+ * If filep is a long then NBLIST
+ * can be a lot bigger. Of course that makes
+ * the file or core image a lot bigger too,
+ * and means you don't detect missing diversion
+ * terminations as quickly... .
+ * It also means that you may have trouble running
+ * on non-swapping systems, since the core image
+ * will be over 1Mb.
+
+ * Note: As of 8/14/05, NBLIST has gone, and corebuf is
+ * grown dynamically as needed.
+
+ * filep must be a signed integer since the value -1
+ * is special (it indicates that input is read from tty).
+
+ * filep must be an int for LP64 platforms since it is
+ * casted to unsigned at some places (or changed there)
+
+ * BLK must be a power of 2
+ */
+
+typedef int filep;
+
+#define BLK 128 /* alloc block in tchars */
+
+/* Other things are stored in the temp file or corebuf:
+ * a single block for .rd input, at offset RD_OFFSET
+ * NEV copies of the environment block, at offset ENV_OFFSET
+
+ * The existing implementation assumes very strongly that
+ * these are respectively NBLIST*BLK and 0.
+
+ */
+
+#define RD_OFFSET (NBLIST * BLK)
+#define ENV_OFFSET 0
+#define ENV_BLK ((NEV * sizeof(env) / sizeof(tchar) + BLK-1) / BLK)
+ /* rounded up to even BLK */
+
+#include <setjmp.h>
+#include <inttypes.h>
+typedef int64_t tchar;
+
+extern int Inch, Hor, Vert, Unitwidth;
+
+/* BSD systems have a function devname(); avoid a collision */
+#define devname troff_devname
+
+/* these characters are used as various signals or values
+ * in miscellaneous places.
+ * values are set in specnames in t10.c
+ */
+
+extern int c_hyphen;
+extern int c_emdash;
+extern int c_rule;
+extern int c_minus;
+extern int c_fi;
+extern int c_fl;
+extern int c_ff;
+extern int c_ffi;
+extern int c_ffl;
+extern int c_acute;
+extern int c_grave;
+extern int c_under;
+extern int c_rooten;
+extern int c_boxrule;
+extern int c_lefthand;
+extern int c_dagger;
+
+struct lgtab {
+ struct lgtab *next;
+ struct lgtab *link;
+ int from;
+ int to;
+};
+
+#ifdef DEBUG
+extern int debug; /*debug flag*/
+#define DB_MAC 01 /*print out macro calls*/
+#define DB_ALLC 02 /*print out message from alloc()*/
+#define DB_GETC 04 /*print out message from getch()*/
+#define DB_LOOP 010 /*print out message before "Eileen's loop" fix*/
+#define DB_ABRT 020 /*abort on errprint()*/
+#endif /* DEBUG */
+
+extern enum warn {
+ WARN_NONE = 0,
+ WARN_CHAR = 1,
+ WARN_NUMBER = 2,
+ WARN_BREAK = 4,
+ WARN_DELIM = 8,
+ WARN_EL = 16,
+ WARN_SCALE = 32,
+ WARN_RANGE = 64,
+ WARN_SYNTAX = 128,
+ WARN_DI = 256,
+ WARN_MAC = 512,
+ WARN_REG = 1024,
+ WARN_RIGHT_BRACE= 4096,
+ WARN_MISSING = 8192,
+ WARN_INPUT = 16384,
+ WARN_ESCAPE = 32768,
+ WARN_SPACE = 65536,
+ WARN_FONT = 131072,
+ WARN_ALL = 2147481855, /* all except di, mac, reg */
+ WARN_W = 2147483647
+} warn;
+
+enum flags {
+ FLAG_WATCH = 01,
+ FLAG_STRING = 02,
+ FLAG_USED = 04,
+ FLAG_DIVERSION = 010,
+ FLAG_LOCAL = 020,
+ FLAG_PARAGRAPH = 040
+};
+
+enum {
+ PG_NONE = 00,
+ PG_NEWIN = 01,
+ PG_NEWLL = 02
+};
+
+struct d { /* diversion */
+ filep op;
+ int dnl;
+ int dimac;
+ int ditrap;
+ int ditf;
+ int alss;
+ int blss;
+ int nls;
+ int mkline;
+ int maxl;
+ int hnl;
+ int curd;
+ int flss;
+ struct contab *soff;
+ int mlist[NTRAP];
+ int nlist[NTRAP];
+ struct env *boxenv;
+};
+
+struct charout { /* formatted result of .char */
+ filep op;
+ int width;
+ int height;
+ int depth;
+ tchar ch;
+};
+
+struct s { /* stack frame */
+ int nargs;
+ struct s *pframe;
+ filep pip;
+ filep newip;
+ int *argt;
+ tchar *argsp;
+ int ppendt;
+ tchar pch;
+ int lastpbp;
+ int mname;
+ int frame_cnt;
+ int tail_cnt;
+ struct contab *contp;
+ struct numtab *numtab;
+ struct numtab **nhash;
+ struct contab *contab;
+ struct contab **mhash;
+ int NN;
+ int NM;
+ enum {
+ LOOP_FREE = 01,
+ LOOP_NEXT = 02,
+ LOOP_EVAL = 04
+ } loopf;
+ enum flags flags;
+ jmp_buf *jmp;
+};
+
+extern struct contab {
+ unsigned int rq;
+ struct contab *link;
+ void (*f)(int);
+ unsigned mx;
+ unsigned int als;
+ int nlink;
+ enum flags flags;
+} *contab;
+extern const struct contab initcontab[];
+
+extern struct numtab {
+ int r; /* name */
+ short fmt;
+ int inc;
+ int val;
+ struct numtab *link;
+ int aln;
+ int nlink;
+ float fval;
+ float finc;
+ enum flags flags;
+} *numtab;
+extern const struct numtab initnumtab[];
+
+#define PN 0
+#define NL 1
+#define YR 2
+#define HP 3
+#define CT 4
+#define DN 5
+#define MO 6
+#define DY 7
+#define DW 8
+#define LN 9
+#define DL 10
+#define ST 11
+#define SB 12
+#define CD 13
+#define PID 14
+
+struct acc {
+ long long n;
+ double f;
+};
+
+/* inline environment */
+struct inlev {
+ int _apts;
+ int _apts1;
+ int _pts;
+ int _pts1;
+ int _font;
+ int _font1;
+ int _cc;
+ int _c2;
+ int _ohc;
+ int _hyf;
+ int _tabc;
+ int _dotc;
+ int _dpenal;
+};
+
+/* the infamous environment block */
+
+#define ics env._ics
+#define sps env._sps
+#define ses env._ses
+#define spacesz env._spacesz
+#define sesspsz env._sesspsz
+#ifndef NROFF
+#define minsps env._minsps
+#define minspsz env._minspsz
+#define letspsz env._letspsz
+#define letsps env._letsps
+#define lspmin env._lspmin
+#define lspmax env._lspmax
+#define lspnc env._lspnc
+#define lsplow env._lsplow
+#define lsphigh env._lsphigh
+#define lspcur env._lspcur
+#define lsplast env._lsplast
+#define lshmin env._lshmin
+#define lshmax env._lshmax
+#define lshwid env._lshwid
+#define lshlow env._lshlow
+#define lshhigh env._lshhigh
+#define lshcur env._lshcur
+#else /* NROFF */
+#define minsps 0
+#define minspsz 0
+#define letspsz 0
+#define letsps 0
+#define lspmin 0
+#define lspmax 0
+#define lspnc 0
+#define lsplow 0
+#define lsphigh 0
+#define lspcur 0
+#define lsplast 0
+#define lshmin 0
+#define lshmax 0
+#define lshwid 0
+#define lshlow 0
+#define lshhigh 0
+#define lshcur 0
+#endif /* NROFF */
+#define fldcnt env._fldcnt
+#define lss env._lss
+#define lss1 env._lss1
+#define ll env._ll
+#define ll1 env._ll1
+#define lt env._lt
+#define lt1 env._lt1
+#define ic env._ic
+#define icf env._icf
+#define chbits env._chbits
+#define spbits env._spbits
+#define nmbits env._nmbits
+#define apts env._apts
+#define apts1 env._apts1
+#define pts env._pts
+#define pts1 env._pts1
+#define font env._font
+#define font1 env._font1
+#define ls env._ls
+#define ls1 env._ls1
+#define ad env._ad
+#define nms env._nms
+#define ndf env._ndf
+#define fi env._fi
+#define cc env._cc
+#define c2 env._c2
+#define ohc env._ohc
+#define tdelim env._tdelim
+#define hyf env._hyf
+#define hyoff env._hyoff
+#define hlm env._hlm
+#define hlc env._hlc
+#define hylen env._hylen
+#define hypp env._hypp
+#define hypp2 env._hypp2
+#define hypp3 env._hypp3
+#define un1 env._un1
+#define tabc env._tabc
+#define dotc env._dotc
+#define adsp env._adsp
+#define adrem env._adrem
+#define lastl env._lastl
+#define nel env._nel
+#define admod env._admod
+#define adflg env._adflg
+#define adspc env._adspc
+#define pa env._pa
+#define wordp env._wordp
+#define spflg env._spflg
+#define seflg env._seflg
+#define linep env._linep
+#define wdend env._wdend
+#define wdstart env._wdstart
+#define wne env._wne
+#define wsp env._wsp
+#define ne env._ne
+#define nc env._nc
+#define nb env._nb
+#define lnmod env._lnmod
+#define nwd env._nwd
+#define nn env._nn
+#define ni env._ni
+#define ul env._ul
+#define cu env._cu
+#define ce env._ce
+#define rj env._rj
+#define brnl env._brnl
+#define brpnl env._brpnl
+#define in env._in
+#define in1 env._in1
+#define un env._un
+#define wch env._wch
+#define rhang env._rhang
+#define pendt env._pendt
+#define pendw env._pendw
+#define pendnf env._pendnf
+#define spread env._spread
+#define dpenal env._dpenal
+#define it env._it
+#define itc env._itc
+#define itmac env._itmac
+#define lnsize env._lnsize
+#define wdsize env._wdsize
+#define pgsize env._pgsize
+#define pgcsize env._pgcsize
+#define pgssize env._pgssize
+#define pgchars env._pgchars
+#define pgspacs env._pgspacs
+#define pgwords env._pgwords
+#define pglines env._pglines
+#define pglnout env._pglnout
+#define pshapes env._pshapes
+#define pgne env._pgne
+#define pglastw env._pglastw
+#define linkin env._linkin
+#define linkout env._linkout
+#define linkhp env._linkhp
+#define hylang env._hylang
+#define dicthnj env._dicthnj
+#define hyext env._hyext
+#define hcode env._hcode
+#define nhcode env._nhcode
+#define shc env._shc
+#define lpfx env._lpfx
+#define nlpfx env._nlpfx
+#define stopch env._stopch
+#define cht env._cht
+#define cdp env._cdp
+#define maxcht env._maxcht
+#define maxcdp env._maxcdp
+#define wdhyf env._wdhyf
+#define hyptr env._hyptr
+#define tabtab env._tabtab
+#define line env._line
+#define word env._word
+#define wdpenal env._wdpenal
+#define sentch env._sentch
+#define transch env._transch
+#define breakch env._breakch
+#define nhych env._nhych
+#define connectch env._connectch
+#define para env._para
+#define parsp env._parsp
+#define pgwordp env._pgwordp
+#define pgspacp env._pgspacp
+#define pgwordw env._pgwordw
+#define pghyphw env._pghyphw
+#define pgadspc env._pgadspc
+#define pglsphc env._pglsphc
+#define pgopt env._pgopt
+#define pgspacw env._pgspacw
+#define pglgsc env._pglgsc
+#define pglgec env._pglgec
+#define pglgsw env._pglgsw
+#define pglgew env._pglgew
+#define pglgsh env._pglgsh
+#define pglgeh env._pglgeh
+#define pgin env._pgin
+#define pgll env._pgll
+#define pgwdin env._pgwdin
+#define pgwdll env._pgwdll
+#define pgflags env._pgflags
+#define pglno env._pglno
+#define pgpenal env._pgpenal
+#define ninlev env._ninlev
+#define ainlev env._ainlev
+#define inlevp env._inlevp
+#define evname env._evname
+
+extern struct env {
+ int _ics;
+ int _sps;
+ int _ses;
+ int _spacesz;
+ int _sesspsz;
+#ifndef NROFF
+ int _minsps;
+ int _minspsz;
+ int _letspsz;
+ int _letsps;
+ int _lspmin;
+ int _lspmax;
+ int _lspnc;
+ int _lsplow;
+ int _lsphigh;
+ int _lspcur;
+ int _lsplast;
+ int _lshmin;
+ int _lshmax;
+ int _lshwid;
+ int _lshlow;
+ int _lshhigh;
+ int _lshcur;
+#endif /* !NROFF */
+ int _fldcnt;
+ int _lss;
+ int _lss1;
+ int _ll;
+ int _ll1;
+ int _lt;
+ int _lt1;
+ tchar _ic;
+ int _icf;
+ tchar _chbits;
+ tchar _spbits;
+ tchar _nmbits;
+ int _apts;
+ int _apts1;
+ int _pts;
+ int _pts1;
+ int _font;
+ int _font1;
+ int _ls;
+ int _ls1;
+ int _ad;
+ int _nms;
+ int _ndf;
+ int _fi;
+ int _cc;
+ int _c2;
+ int _ohc;
+ int _tdelim;
+ int _hyf;
+ int _hyoff;
+ int _hlm;
+ int _hlc;
+ int _hylen;
+ float _hypp;
+ float _hypp2;
+ float _hypp3;
+ int _un1;
+ int _tabc;
+ int _dotc;
+ int _adsp;
+ int _adrem;
+ int _lastl;
+ int _nel;
+ int _admod;
+ int _adflg;
+ int _adspc;
+ int _pa;
+ tchar *_wordp;
+ int _spflg;
+ int _seflg;
+ tchar *_linep;
+ tchar *_wdend;
+ tchar *_wdstart;
+ int _wne;
+ int _wsp;
+ int _ne;
+ int _nc;
+ int _nb;
+ int _lnmod;
+ int _nwd;
+ int _nn;
+ int _ni;
+ int _ul;
+ int _cu;
+ int _ce;
+ int _rj;
+ int _brnl;
+ int _brpnl;
+ int _in;
+ int _in1;
+ int _un;
+ int _wch;
+ int _rhang;
+ int _pendt;
+ tchar *_pendw;
+ int _pendnf;
+ int _spread;
+ int _dpenal;
+ int _it;
+ int _itc;
+ int _itmac;
+ int _lnsize;
+ int _wdsize;
+ int _pgsize;
+ int _pgcsize;
+ int _pgssize;
+ int _pgchars;
+ int _pgspacs;
+ int _pgwords;
+ int _pglines;
+ int _pglnout;
+ int _pshapes;
+ int _pgne;
+ int _pglastw;
+ int _linkin;
+ int _linkout;
+ int _linkhp;
+ char *_hylang;
+ void *_dicthnj;
+ int _hyext;
+ int *_hcode;
+ int _nhcode;
+ tchar *_lpfx;
+ int _nlpfx;
+ int _shc;
+ tchar _stopch;
+ int _cht;
+ int _cdp;
+ int _maxcht;
+ int _maxcdp;
+ int _wdhyf;
+ tchar *_hyptr[NHYP];
+ int _tabtab[NTAB];
+ int _sentch[NSENT];
+ int _transch[NSENT];
+ int _breakch[NSENT];
+ int _nhych[NSENT];
+ int _connectch[NSENT];
+ tchar *_line;
+ tchar *_word;
+ int *_wdpenal;
+ tchar *_para;
+ tchar *_parsp;
+ int *_pgwordp;
+ int *_pgspacp;
+ int *_pgwordw;
+ int *_pghyphw;
+ int *_pgadspc;
+ int *_pglsphc;
+ int *_pgopt;
+ int *_pgspacw;
+ tchar *_pglgsc;
+ tchar *_pglgec;
+ tchar *_pglgsw;
+ tchar *_pglgew;
+ tchar *_pglgsh;
+ tchar *_pglgeh;
+ int *_pgin;
+ int *_pgll;
+ int *_pgwdin;
+ int *_pgwdll;
+ int *_pglno;
+ int *_pgflags;
+ float *_pgpenal;
+ int _ninlev;
+ int _ainlev;
+ struct inlev *_inlevp;
+ char *_evname;
+} env, initenv;
diff --git a/troff/troff.d/Makefile.mk b/troff/troff.d/Makefile.mk
new file mode 100644
index 0000000000000..c5064cde9e3c8
--- /dev/null
+++ b/troff/troff.d/Makefile.mk
@@ -0,0 +1,66 @@
+LIBHNJ = ../libhnj
+BST = ../../stuff/bst
+VPATH=..
+OBJ = t10.o t6.o hytab.o n1.o n2.o n3.o n4.o n5.o \
+ n7.o n8.o n9.o ni.o nii.o suftab.o makedev.o afm.o otf.o unimap.o \
+ version.o fontmap.o $(BST)/bst.o
+
+FLAGS = -DUSG $(EUC) -I. -I.. -I../../include -DMACDIR='"$(MACDIR)"' \
+ -DFNTDIR='"$(FNTDIR)"' -DTABDIR='"$(TABDIR)"' -DHYPDIR='"$(HYPDIR)"' \
+ -DSHELL='"$(SHELL)"' -DRELEASE='"$(RELEASE)"' $(DEFINES) -I$(BST)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: troff ta otfdump
+
+troff: $(OBJ) $(LIBHNJ)/libhnj.a
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) -L$(LIBHNJ) -lhnj $(LIBS) -o troff
+
+ta: draw.o ta.o
+ $(CC) $(CFLAGS) $(LDFLAGS) draw.o ta.o $(LIBS) -lm -o $@
+
+otfdump: otfdump.o otfdump_vs.o
+ $(CC) $(CFLAGS) $(LDFLAGS) otfdump.o otfdump_vs.o $(LIBS) -o $@
+
+install:
+ $(INSTALL) -c troff $(ROOT)$(BINDIR)/troff
+ $(STRIP) $(ROOT)$(BINDIR)/troff
+ $(INSTALL) -c ta $(ROOT)$(BINDIR)/ta
+ $(STRIP) $(ROOT)$(BINDIR)/ta
+ $(INSTALL) -c otfdump $(ROOT)$(BINDIR)/otf_info
+ $(STRIP) $(ROOT)$(BINDIR)/otf_info
+ $(INSTALL) -c -m 644 troff.1 $(ROOT)$(MANDIR)/man1/troff.1
+ $(INSTALL) -c -m 644 otfdump.1 $(ROOT)$(MANDIR)/man1/otf_info.1
+
+clean:
+ rm -f $(OBJ) draw.o ta.o troff ta otfdump otfdump.o otfdump_vs.o \
+ core log *~
+
+mrproper: clean
+
+draw.o: draw.c
+makedev.o: makedev.c dev.h
+t10.o: t10.c ../tdef.h ../ext.h dev.h afm.h unimap.h troff.h
+t6.o: t6.c ../tdef.h dev.h ../ext.h afm.h unimap.h troff.h
+unimap.o: unimap.h
+ta.o: ta.c dev.h
+hytab.o: ../hytab.c
+malloc.o: ../malloc.c ../mallint.h
+n1.o: ../n1.c ../tdef.h ../ext.h ./pt.h
+n2.o: ../n2.c ../tdef.h ./pt.h ../ext.h
+n3.o: ../n3.c ../tdef.h ./pt.h ../ext.h
+n4.o: ../n4.c ../tdef.h ./pt.h ../ext.h
+n5.o: ../n5.c ../tdef.h ./pt.h ../ext.h
+n7.o: ../n7.c ../tdef.h ./pt.h ../ext.h
+n8.o: ../n8.c ../tdef.h ../ext.h ./pt.h
+n9.o: ../n9.c ../tdef.h ./pt.h ../ext.h
+ni.o: ../ni.c ../tdef.h ./pt.h ../ext.h
+nii.o: ../nii.c ../tdef.h ./pt.h ../ext.h
+suftab.o: ../suftab.c
+version.o: ../version.c
+otfdump_vs.o: ../version.c
+afm.o: dev.h afm.h
+otf.o: dev.h afm.h unimap.h
+otfdump.o: afm.h afm.c otf.c otfdump.c dpost.d/getopt.c dev.h
+fontmap.o: fontmap.h
diff --git a/troff/troff.d/README b/troff/troff.d/README
new file mode 100644
index 0000000000000..66c0773d0a97e
--- /dev/null
+++ b/troff/troff.d/README
@@ -0,0 +1,184 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+#ident "@(#)README 1.4 05/06/08 SMI"
+
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+
+The troff in this directory
+is a troff that produces machine-independent output.
+It requires a file of descriptive information about
+the particular typesetter you have in mind, and produces
+output parameterized for that device.
+
+Thus:
+ troff -Taps ...
+produces output for the Autologic APS-5.
+(This is the default.)
+
+To make this work, you need two things.
+First, you need to create a set of
+device and font descriptions in the directory
+ /usr/doctools/font/devxxx
+where "xxx" is your device name.
+Currently supported device is
+ aps Autologic APS-5 phototypesetter
+Source for this device is found in the subdirectory
+devaps of this directory.
+
+The file "DESC" contains information about the
+device itself and the character set. (See devaps/DESC.)
+
+In addition, each font needs a file describing its
+characters, width and device-driving codes;
+see R and S for typical examples.
+
+The program "makedev" will convert these text
+descriptions into a binary form that the troff can
+slurp up in a single gulp during initialization;
+these wind up in DESC.out (which includes
+default font info) and XX.out for info about font XX.
+
+The second half of the job is to write a post-processor
+that converts the more or less machine-independent troff
+output into specific codes for your favorite typesetter.
+daps.c is the driver for the APS-5;
+it will serve as a useful prototype. In particular,
+it contains a precise description of the output language.
+ ta prints ascii on ordinary terminals (crudely)
+
+One can always simply run
+ troff
+and look at the output; it is guaranteed to be ascii text
+and thus safe to edit, grep, etc.
+(Since it is ascii, it is also guaranteed to be quite voluminous.)
+
+The recommended way to create the necessary files to make troff
+able to communicate with a new output device
+is to pick the most similar device for which this software
+already exists, and modify it to suit the new device.
+
+This release contains prototype software for one
+type of device -- a phototypesetter (devaps)
+The devaps subtree contains
+profusely-commented programs and strategically placed README
+files to help guide the experienced user in making
+modifications to these files.
+
+Two other source of information for users who wish to delve
+deeply into this software are the manual pages
+troff(5), which describes the output language produced by troff,
+and font(5), which describes the format of the device
+and font description files.
+
+-----------------------------------------------------------------------------
+
+Changes since the original release:
+
+January, 1985:
+
+Added optional 3rd argument to .fp command:
+ .fp 3 xx longishname
+causes font to be called xx but data is loaded
+from longishname.out instead of xx.out.
+The intent is to deal with the proliferation of fonts.
+
+Turned NBLIST up to 2048 so can handle really big
+diversions. Tends to blow various systems.
+
+December 1984:
+
+Nroff modified to read ascii tables for various devices
+instead of the compiled C code nonsense. Only a few
+tables converted; details of language still subject to
+change.
+
+September 1984:
+
+Added Molly Wagner's code to prevent side effects
+during scanning of false branch of an if.
+
+Added test warning when one removes a macro during
+its execution (more precisely, warning when a macro
+evaluation has encountered a freed block).
+[Disabled Nov 84; it seemed to cause troubles]
+
+NS = 128; devname[] is bigger; turned off the -t
+argument (it could be a synonym for -T but that's
+probably just as risky.)
+
+July, 1984:
+
+Added TYPESETTER environment variable
+
+Added \X'...' command: ... comes out as
+ x X ...\n in proper place. (doesn't nest)
+
+In \D comands, unrecognized command letters are passed through
+untouched. This makes it possible to define things like other
+splines, filled polygons, etc.
+
+\s(dd, \s(+dd, \s(-dd size commands.
+
+Added .lf line filename to set current line number & filename
+
+Added Dan Berry's fixes to handle horizontal resolution properly.
+
+New, March 1984:
+
+Dennis Ritchie's hashed macro and number register tables;
+cached width computations, general cleanup.
+Minor work on de-linting.
+
+New comments 9/16/83
+
+This version is the current evolution of 8th Edition troff.
+The only changes of substance since the export version are
+
+ the end of a sentence is more general; things like
+ ." .!'' etc are recognized and padded
+
+ the "font too big for position n" error can no longer arise.
+ makedev has a new parameter called biggestfont that
+ ensures that all font positions are at least that big.
+ this eliminates the "font X too big for position Y" message
+
+ some minor bugs fixes have been made:
+ doesn't look for ligatures in \nf
+ doesn't put out WORDSP in -a
+
+ troff no longer produces \^ and \| on output,
+ but this hasn't been tested much since it takes
+ character set changes too.
+
diff --git a/troff/troff.d/afm.c b/troff/troff.d/afm.c
new file mode 100644
index 0000000000000..f87dcefaaf583
--- /dev/null
+++ b/troff/troff.d/afm.c
@@ -0,0 +1,1201 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)afm.c 1.65 (gritter) 1/14/10
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include "dev.h"
+#include "afm.h"
+
+extern char *chname;
+extern short *chtab;
+extern int nchtab;
+
+extern void errprint(const char *, ...);
+
+#if !defined (DPOST) && !defined (DUMP)
+static void addkernpair(struct afmtab *, char *_line);
+#endif
+
+/*
+ * This table maps troff special characters to PostScript names.
+ */
+const struct names {
+ char *trname;
+ char *psname;
+} names[] = {
+ { "hy", "hyphen" },
+ { "ct", "cent" },
+ { "fi", "fi" },
+ { "fi", "f_i" },
+ { "fl", "fl" },
+ { "fl", "f_l" },
+ { "ff", "ff" },
+ { "ff", "f_f" },
+ { "Fi", "ffi" },
+ { "Fi", "f_f_i" },
+ { "Fl", "ffl" },
+ { "Fl", "f_f_l" },
+ { "dg", "dagger" },
+ { "dd", "daggerdbl" },
+ { "bu", "bullet" },
+ { "de", "ring" },
+ { "em", "emdash" },
+ { "en", "endash" },
+ { "sc", "section" },
+ { "``", "quotedblleft" },
+ { "''", "quotedblright" },
+ { "12", "onehalf" },
+ { "14", "onequarter" },
+ { "34", "threequarters" },
+ { "aq", "quotesingle" },
+ { "oq", "quoteleft" },
+ { "cq", "quoteright" },
+ { 0, 0 }
+};
+
+/*
+ * Names for Symbol fonts only.
+ */
+const struct names greeknames[] = {
+ { "*A", "Alpha" },
+ { "*B", "Beta" },
+ { "*C", "Xi" },
+ { "*D", "Delta" },
+ { "*E", "Epsilon" },
+ { "*F", "Phi" },
+ { "*G", "Gamma" },
+ { "*H", "Theta" },
+ { "*I", "Iota" },
+ { "*K", "Kappa" },
+ { "*L", "Lambda" },
+ { "*M", "Mu" },
+ { "*N", "Nu" },
+ { "*O", "Omicron" },
+ { "*P", "Pi" },
+ { "*Q", "Psi" },
+ { "*R", "Rho" },
+ { "*S", "Sigma" },
+ { "*T", "Tau" },
+ { "*U", "Upsilon" },
+ { "*W", "Omega" },
+ { "*X", "Chi" },
+ { "*Y", "Eta" },
+ { "*Z", "Zeta" },
+ { "*a", "alpha" },
+ { "*b", "beta" },
+ { "*c", "xi" },
+ { "*d", "delta" },
+ { "*e", "epsilon" },
+ { "*f", "phi" },
+ { "*g", "gamma" },
+ { "*h", "theta" },
+ { "*i", "iota" },
+ { "*k", "kappa" },
+ { "*l", "lambda" },
+ { "*m", "mu" },
+ { "*n", "nu" },
+ { "*o", "omicron" },
+ { "*p", "pi" },
+ { "*q", "psi" },
+ { "*r", "rho" },
+ { "*s", "sigma" },
+ { "*t", "tau" },
+ { "*u", "upsilon" },
+ { "*w", "omega" },
+ { "*x", "chi" },
+ { "*y", "eta" },
+ { "*z", "zeta" },
+ { 0, 0 }
+};
+
+const struct names mathnames[] = {
+ { "!=", "notequal" },
+ { "**", "asteriskmath" },
+ { "+-", "plusminus" },
+ { "->", "arrowright" },
+ { "<", "less" },
+ { "<-", "arrowleft" },
+ { "<=", "lessequal" },
+ { "==", "equivalence" },
+ { ">", "greater" },
+ { ">=", "greaterequal" },
+ { "O+", "circleplus" },
+ { "Ox", "circlemultiply" },
+ { "^", "logicaland" },
+ { "al", "aleph" },
+ { "ap", "similar" },
+ { "bu", "bullet" },
+ { "ca", "intersection" },
+ { "co", "copyrightserif" },
+ { "cu", "union" },
+ { "da", "arrowdown" },
+ { "de", "degree" },
+ { "di", "divide" },
+ { "eq", "equal" },
+ { "es", "emptyset" },
+ { "fa", "universal" },
+ { "fm", "minute" },
+ { "gr", "gradient" },
+ { "ib", "reflexsubset" },
+ { "if", "infinity" },
+ { "ip", "reflexsuperset" },
+ { "is", "integral" },
+ { "mi", "minus" },
+ { "mo", "element" },
+ { "mu", "multiply" },
+ { "no", "logicalnot" },
+ { "or", "bar" },
+ { "or", "logicalor" },
+ { "pd", "partialdiff" },
+ { "pl", "plus" },
+ { "pt", "proportional" },
+ { "rg", "registerserif" },
+ { "sb", "propersubset" },
+ { "sl", "fraction" },
+ { "sp", "propersuperset" },
+ { "sr", "radical" },
+ { "te", "existential" },
+ { "tm", "trademarkserif" },
+ { "ts", "sigma1" },
+ { "ua", "arrowup" },
+ { "~~", "approxequal" },
+ { 0, 0 },
+};
+
+const struct names largenames[] = {
+ { "bv", "braceex" },
+ { "lb", "braceleftbt" },
+ { "lc", "bracketlefttp" },
+ { "lf", "bracketleftbt" },
+ { "lk", "braceleftmid" },
+ { "lt", "bracelefttp" },
+ { "rb", "bracerightbt" },
+ { "rc", "bracketrighttp" },
+ { "rf", "bracketrightbt" },
+ { "rk", "bracerightmid" },
+ { "rn", "radicalex" },
+ { "rt", "bracerighttp" },
+ { 0, 0 }
+};
+
+const struct names punctnames[] = {
+ { "or", "bar" },
+ { "\\-","endash" },
+ { "aa","acute" },
+ { "ga","grave" },
+ { "rs","backslash" },
+ { "dq","quotedbl" },
+ { 0, 0 }
+};
+
+/*
+ * These names are only used with the S font.
+ */
+const struct names Snames[] = {
+ { "br", "parenleftex" },
+ { "ul", "underscore" },
+ { "vr", "bracketleftex" },
+ { 0, 0 }
+};
+
+/*
+ * These names are only used with the S1 font.
+ */
+const struct names S1names[] = {
+ { "ru", "underscore" },
+ { 0, 0 }
+};
+
+/*
+ * Figures from charlib.
+ */
+#define NCHARLIB 16
+static const struct charlib {
+ const char *name;
+ int width;
+ int kern;
+ int code;
+ int symbol;
+ enum {
+ NEEDS_F = 01,
+ NEEDS_I = 02,
+ NEEDS_L = 04
+ } needs;
+} charlib[] = {
+ { "bx", 500, 2, 1, 0, 0 },
+ { "ci", 750, 0, 1, 0, 0 },
+ { "sq", 500, 2, 1, 0, 0 },
+ { "ff", 600, 2, 1, 0, 1 }, /* widths of the ligatures */
+ { "Fi", 840, 2, 1, 0, 3 }, /* are likely wrong, but */
+ { "Fl", 840, 2, 1, 0, 5 }, /* they are normally not used */
+ { "~=", 550, 0, 1, 1, 0 },
+ { "L1", 1100, 1, 2, 1, 0 },
+ { "LA", 1100, 1, 2, 1, 0 },
+ { "LV", 1100, 3, 2, 1, 0 },
+ { "LH", 2100, 1, 2, 1, 0 },
+ { "Lb", 2100, 1, 2, 1, 0 },
+ { "lh", 1000, 0, 2, 1, 0 },
+ { "rh", 1000, 0, 2, 1, 0 },
+ { "Sl", 500, 2, 1, 1, 0 },
+ { "ob", 380, 0, 1, 1, 0 },
+ { 0, 0, 0, 0, 0, 0 }
+};
+
+/*
+ * The values in this table determine if a character that is found on an
+ * ASCII position in a PostScript font actually is that ASCII character.
+ * If not, the position in fitab remains empty, and the fallback sequence
+ * is used to find it in another font.
+ */
+static const struct asciimap {
+ int code;
+ const char *psc;
+} asciimap[] = {
+ { 0x0020, "space" },
+ { 0x0021, "exclam" },
+ { 0x0024, "dollar" },
+ { 0x0024, "dollaralt" }, /* FournierMT-RegularAlt */
+ { 0x0025, "percent" },
+ { 0x0026, "ampersand" },
+ { 0x0026, "ampersandalt" }, /* AGaramondAlt-Italic */
+ { 0x0027, "quoteright" },
+ { 0x0028, "parenleft" },
+ { 0x0029, "parenright" },
+ { 0x002A, "asterisk" },
+ { 0x002B, "plus" },
+ { 0x002C, "comma" },
+ { 0x002D, "hyphen" },
+ { 0x002E, "period" },
+ { 0x002F, "slash" },
+ { 0x0030, "zero" },
+ { 0x0030, "zerooldstyle" },
+ { 0x0030, "zeroalt" }, /* BulmerMT-RegularAlt */
+ { 0x0031, "one" },
+ { 0x0031, "oneoldstyle" },
+ { 0x0031, "onefitted" },
+ { 0x0031, "onealtfitted" }, /* BulmerMT-ItalicAlt */
+ { 0x0032, "two" },
+ { 0x0032, "twooldstyle" },
+ { 0x0032, "twoalt" }, /* BulmerMT-RegularAlt */
+ { 0x0033, "three" },
+ { 0x0033, "threeoldstyle" },
+ { 0x0033, "threealt" }, /* BulmerMT-RegularAlt */
+ { 0x0034, "four" },
+ { 0x0034, "fouroldstyle" },
+ { 0x0034, "fouralt" }, /* BulmerMT-RegularAlt */
+ { 0x0035, "five" },
+ { 0x0035, "fiveoldstyle" },
+ { 0x0035, "fivealt" }, /* BulmerMT-RegularAlt */
+ { 0x0036, "six" },
+ { 0x0036, "sixoldstyle" },
+ { 0x0036, "sixalt" }, /* BulmerMT-RegularAlt */
+ { 0x0037, "seven" },
+ { 0x0037, "sevenoldstyle" },
+ { 0x0037, "sevenalt" }, /* BulmerMT-RegularAlt */
+ { 0x0038, "eight" },
+ { 0x0038, "eightoldstyle" },
+ { 0x0038, "eightalt" }, /* BulmerMT-RegularAlt */
+ { 0x0039, "nine" },
+ { 0x0039, "nineoldstyle" },
+ { 0x0039, "ninealt" }, /* BulmerMT-RegularAlt */
+ { 0x003A, "colon" },
+ { 0x003B, "semicolon" },
+ { 0x003D, "equal" },
+ { 0x003F, "question" },
+ { 0x0041, "A" },
+ { 0x0041, "Aswash" }, /* AGaramondAlt-Italic */
+ { 0x0042, "B" },
+ { 0x0042, "Bswash" }, /* AGaramondAlt-Italic */
+ { 0x0043, "C" },
+ { 0x0043, "Cswash" }, /* AGaramondAlt-Italic */
+ { 0x0044, "D" },
+ { 0x0044, "Dswash" }, /* AGaramondAlt-Italic */
+ { 0x0045, "E" },
+ { 0x0045, "Eswash" }, /* AGaramondAlt-Italic */
+ { 0x0046, "F" },
+ { 0x0046, "Fswash" }, /* AGaramondAlt-Italic */
+ { 0x0047, "G" },
+ { 0x0047, "Gswash" }, /* AGaramondAlt-Italic */
+ { 0x0048, "H" },
+ { 0x0048, "Hswash" }, /* AGaramondAlt-Italic */
+ { 0x0049, "I" },
+ { 0x0049, "Iswash" }, /* AGaramondAlt-Italic */
+ { 0x004A, "J" },
+ { 0x004A, "Jalt" }, /* FournierMT-RegularAlt */
+ { 0x004A, "Jalttwo" }, /* BulmerMT-ItalicAlt */
+ { 0x004A, "Jswash" }, /* AGaramondAlt-Italic */
+ { 0x004A, "JTallCapalt" }, /* FournierMT-RegularAlt */
+ { 0x004B, "K" },
+ { 0x004B, "Kalt" }, /* BulmerMT-ItalicAlt */
+ { 0x004B, "Kswash" }, /* AGaramondAlt-Italic */
+ { 0x004C, "L" },
+ { 0x004C, "Lswash" }, /* AGaramondAlt-Italic */
+ { 0x004D, "M" },
+ { 0x004D, "Mswash" }, /* AGaramondAlt-Italic */
+ { 0x004E, "N" },
+ { 0x004E, "Nalt" }, /* BulmerMT-ItalicAlt */
+ { 0x004E, "Nswash" }, /* AGaramondAlt-Italic */
+ { 0x004F, "O" },
+ { 0x004F, "Oalt" }, /* BulmerMT-ItalicAlt */
+ { 0x004F, "Oswash" }, /* AGaramondAlt-Italic */
+ { 0x0050, "P" },
+ { 0x0050, "Pswash" }, /* AGaramondAlt-Italic */
+ { 0x0051, "Q" },
+ { 0x0051, "Qalt" }, /* FournierMT-RegularAlt */
+ { 0x0051, "Qalttitling" }, /* AGaramondAlt-Regular */
+ { 0x0051, "Qswash" }, /* AGaramondAlt-Italic */
+ { 0x0051, "QTallCapalt" }, /* FournierMT-RegularAlt */
+ { 0x0052, "R" },
+ { 0x0052, "Ralternate" }, /* Bembo-Alt */
+ { 0x0052, "Rswash" }, /* AGaramondAlt-Italic */
+ { 0x0053, "S" },
+ { 0x0053, "Sswash" }, /* AGaramondAlt-Italic */
+ { 0x0054, "T" },
+ { 0x0054, "Talt" }, /* BulmerMT-ItalicAlt */
+ { 0x0054, "Tswash" }, /* AGaramondAlt-Italic */
+ { 0x0055, "U" },
+ { 0x0055, "Uswash" }, /* AGaramondAlt-Italic */
+ { 0x0056, "V" },
+ { 0x0056, "Vswash" }, /* AGaramondAlt-Italic */
+ { 0x0057, "W" },
+ { 0x0057, "Wswash" }, /* AGaramondAlt-Italic */
+ { 0x0058, "X" },
+ { 0x0058, "Xswash" }, /* AGaramondAlt-Italic */
+ { 0x0059, "Y" },
+ { 0x0059, "Yalt" }, /* BulmerMT-ItalicAlt */
+ { 0x0059, "Yswash" }, /* AGaramondAlt-Italic */
+ { 0x005A, "Z" },
+ { 0x005A, "Zswash" }, /* AGaramondAlt-Italic */
+ { 0x005B, "bracketleft" },
+ { 0x005D, "bracketright" },
+ { 0x005F, "underscore" },
+ { 0x0060, "quoteleft" },
+ { 0x0060, "quotealtleft" }, /* BulmerMT-RegularAlt */
+ { 0x0061, "a" },
+ { 0x0061, "Asmall" },
+ { 0x0061, "aswash" }, /* AGaramondAlt-Regular */
+ { 0x0062, "b" },
+ { 0x0062, "Bsmall" },
+ { 0x0063, "c" },
+ { 0x0063, "Csmall" },
+ { 0x0064, "d" },
+ { 0x0064, "Dsmall" },
+ { 0x0065, "e" },
+ { 0x0065, "Esmall" },
+ { 0x0065, "eswash" }, /* AGaramondAlt-Regular */
+ { 0x0066, "f" },
+ { 0x0066, "Fsmall" },
+ { 0x0067, "g" },
+ { 0x0067, "Gsmall" },
+ { 0x0068, "h" },
+ { 0x0068, "Hsmall" },
+ { 0x0069, "i" },
+ { 0x0069, "Ismall" },
+ { 0x006A, "j" },
+ { 0x006A, "Jsmall" },
+ { 0x006A, "Jsmallalt" }, /* FournierMT-RegularAlt */
+ { 0x006B, "k" },
+ { 0x006B, "Ksmall" },
+ { 0x006C, "l" },
+ { 0x006C, "Lsmall" },
+ { 0x006D, "m" },
+ { 0x006D, "Msmall" },
+ { 0x006E, "n" },
+ { 0x006E, "Nsmall" },
+ { 0x006E, "nswash" }, /* AGaramondAlt-Regular */
+ { 0x006F, "o" },
+ { 0x006F, "Osmall" },
+ { 0x0070, "p" },
+ { 0x0070, "Psmall" },
+ { 0x0071, "q" },
+ { 0x0071, "Qsmall" },
+ { 0x0072, "r" },
+ { 0x0072, "Rsmall" },
+ { 0x0072, "rswash" }, /* AGaramondAlt-Regular */
+ { 0x0073, "s" },
+ { 0x0073, "Ssmall" },
+ { 0x0074, "t" },
+ { 0x0074, "Tsmall" },
+ { 0x0074, "tswash" }, /* AGaramondAlt-Regular */
+ { 0x0074, "tswashalt" }, /* AGaramondAlt-Regular */
+ { 0x0075, "u" },
+ { 0x0075, "Usmall" },
+ { 0x0076, "v" },
+ { 0x0076, "Vsmall" },
+ { 0x0076, "vswash" }, /* AGaramondAlt-Italic */
+ { 0x0077, "w" },
+ { 0x0077, "Wsmall" },
+ { 0x0077, "walt" }, /* FournierMT-RegularAlt */
+ { 0x0078, "x" },
+ { 0x0078, "Xsmall" },
+ { 0x0079, "y" },
+ { 0x0079, "Ysmall" },
+ { 0x007A, "z" },
+ { 0x007A, "Zsmall" },
+ { 0x007A, "zalt" }, /* FournierMT-ItalicAlt */
+ { 0x007A, "zswash" }, /* AGaramondAlt-Regular */
+ { 0x007B, "braceleft" },
+ { 0x007C, "bar" },
+ { 0x007D, "braceright" },
+ { 0, 0 }
+};
+
+/*
+ * ASCII characters that are always taken from the S (math) font.
+ */
+static const struct asciimap mathascii[] = {
+ { 0x002D, "minus" },
+ { 0x007E, "similar" },
+ { 0, 0 }
+};
+
+/*
+ * ASCII characters that are always taken from the S1 (punct) font.
+ */
+static const struct asciimap punctascii[] = {
+ { 0x0022, "quotedbl" },
+ { 0x0023, "numbersign" },
+ { 0x003C, "less" },
+ { 0x003E, "greater" },
+ { 0x0040, "at" },
+ { 0x005C, "backslash" },
+ { 0x005E, "circumflex" },
+ { 0x007E, "tilde" },
+ { 0, NULL }
+};
+
+int
+nextprime(int n)
+{
+ const int primes[] = {
+ 509, 1021, 2039, 4093, 8191, 16381, 32749, 65521,
+ 131071, 262139, 524287, 1048573, 2097143, 4194301,
+ 8388593, 16777213, 33554393, 67108859, 134217689,
+ 268435399, 536870909, 1073741789, 2147483647
+ };
+ int mprime = 7;
+ int i;
+
+ for (i = 0; i < sizeof primes / sizeof *primes; i++)
+ if ((mprime = primes[i]) >= (n < 65536 ? n*4 :
+ n < 262144 ? n*2 : n))
+ break;
+ if (i == sizeof primes / sizeof *primes)
+ mprime = n; /* not so prime, but better than failure */
+ return mprime;
+}
+
+unsigned
+pjw(const char *cp)
+{
+ unsigned h = 0, g;
+
+ cp--;
+ while (*++cp) {
+ h = (h << 4 & 0xffffffff) + (*cp&0377);
+ if ((g = h & 0xf0000000) != 0) {
+ h = h ^ g >> 24;
+ h = h ^ g;
+ }
+ }
+ return h;
+}
+
+struct namecache *
+afmnamelook(struct afmtab *a, const char *name)
+{
+ struct namecache *np;
+ unsigned h, c, n = 0;
+
+ h = pjw(name) % a->nameprime;
+ np = &a->namecache[c = h];
+ while (np->afpos != 0) {
+ if (a->nametab[np->afpos] == 0 ||
+ strcmp(a->nametab[np->afpos], name) == 0)
+ break;
+ h = (n + 1) / 2;
+ h *= h;
+ if (n & 1)
+ c -= h;
+ else
+ c += h;
+ n++;
+ while (c >= a->nameprime)
+ c -= a->nameprime;
+ np = &a->namecache[c];
+ }
+ return np;
+}
+
+static int
+mapname1(const char *psname, const struct names *np)
+{
+ int i, j;
+
+ for (i = 0; np[i].trname; i++)
+ if (strcmp(np[i].psname, psname) == 0)
+ break;
+ if (np[i].trname)
+ for (j = 0; j < nchtab; j++)
+ if (strcmp(np[i].trname, &chname[chtab[j]]) == 0)
+ return j + 128;
+ return 0;
+}
+
+int
+afmmapname(const char *psname, enum spec s)
+{
+ int k;
+
+ if (s & SPEC_S && (k = mapname1(psname, Snames)) > 0)
+ return k;
+ if (s & SPEC_S1 && (k = mapname1(psname, S1names)) > 0)
+ return k;
+ if (s & (SPEC_MATH|SPEC_S) && (k = mapname1(psname, mathnames)) > 0)
+ return k;
+ if (s & (SPEC_GREEK|SPEC_S) && (k = mapname1(psname, greeknames)) > 0)
+ return k;
+ if (s & (SPEC_LARGE|SPEC_S) && (k = mapname1(psname, largenames)) > 0)
+ return k;
+ if (s & (SPEC_PUNCT|SPEC_S1) && (k = mapname1(psname, punctnames)) > 0)
+ return k;
+ return mapname1(psname, names);
+}
+
+/*
+ * After all characters have been read, construct a font-specific
+ * encoding for the rest. Also move the name table to permanent space.
+ */
+void
+afmremap(struct afmtab *a)
+{
+ int i, j = 128 - 32 + nchtab;
+ char *space, *tp;
+ struct namecache *np;
+
+ for (i = 1; i < a->nchars; i++) {
+ if (a->codetab[i] == NOCODE && a->nametab[i] != NULL) {
+#if defined (DPOST) || defined (DUMP)
+ while (a->fitab[j] != 0)
+ j++;
+#else /* TROFF */
+ extern int ps2cc(const char *);
+ j = ps2cc(a->nametab[i]) + 128 - 32 + nchtab;
+#endif /* TROFF */
+ a->fitab[j] = i;
+ np = afmnamelook(a, a->nametab[i]);
+ np->afpos = i;
+ np->fival[0] = j;
+ if (np->gid != 0 && a->gid2tr)
+ a->gid2tr[np->gid].ch1 = j + 32 + nchtab + 128;
+ if (strcmp(a->nametab[i], "space") == 0) {
+ np->fival[1] = 0;
+ if (np->gid != 0 && a->gid2tr)
+ a->gid2tr[np->gid].ch2 = 32;
+ }
+ }
+ }
+ space = malloc(a->nspace);
+ for (i = 0; i < a->nchars; i++) {
+ if (a->nametab[i]) {
+ tp = a->nametab[i];
+ a->nametab[i] = space;
+ while ((*space++ = *tp++));
+ }
+ }
+}
+
+#ifndef DUMP
+static int
+asciiequiv(int code, const char *psc, enum spec s)
+{
+ int i;
+
+ if (psc != NULL) {
+ for (i = 0; asciimap[i].psc; i++)
+ if (strcmp(asciimap[i].psc, psc) == 0)
+ return asciimap[i].code;
+ if (s & (SPEC_MATH|SPEC_S)) {
+ for (i = 0; mathascii[i].psc; i++)
+ if (strcmp(mathascii[i].psc, psc) == 0)
+ return mathascii[i].code;
+ }
+ if (s & (SPEC_PUNCT|SPEC_S1)) {
+ for (i = 0; punctascii[i].psc; i++)
+ if (strcmp(punctascii[i].psc, psc) == 0)
+ return punctascii[i].code;
+ }
+ }
+ return 0;
+}
+
+static char *
+thisword(const char *text, const char *wrd)
+{
+ while (*text == *wrd)
+ text++, wrd++;
+ if (*wrd != 0)
+ return 0;
+ if (*text == 0 || *text == ' ' || *text == '\t' || *text == '\n' ||
+ *text == '\r') {
+ while (*text != 0 && (*text == ' ' || *text == '\t'))
+ text++;
+ return (char *)text;
+ }
+ return NULL;
+}
+#endif /* !DUMP */
+
+int
+unitconv(int i)
+{
+ if (unitsPerEm * 72 != dev.unitwidth * dev.res)
+ i = i * dev.unitwidth * dev.res / 72 / unitsPerEm;
+ return i;
+}
+
+#ifndef DUMP
+void
+afmaddchar(struct afmtab *a, int C, int tp, int cl, int WX, int B[4], char *N,
+ enum spec s, int gid)
+{
+ struct namecache *np = NULL;
+
+ if (N != NULL) {
+ np = afmnamelook(a, N);
+ np->afpos = a->nchars;
+ np->gid = gid;
+ if (a->isFixedPitch && strcmp(N, "space") == 0)
+ a->fontab[0] = _unitconv(WX);
+ }
+ a->fontab[a->nchars] = _unitconv(WX);
+ if (B) {
+ a->bbtab[a->nchars] = malloc(4 * sizeof **a->bbtab);
+ a->bbtab[a->nchars][0] = _unitconv(B[0]);
+ a->bbtab[a->nchars][1] = _unitconv(B[1]);
+ a->bbtab[a->nchars][2] = _unitconv(B[2]);
+ a->bbtab[a->nchars][3] = _unitconv(B[3]);
+ /*
+ * Crude heuristics mainly based on observations with the existing
+ * fonts for -Tpost and on tests with eqn.
+ */
+ if (B[1] <= -10)
+ a->kerntab[a->nchars] |= 1;
+ if (B[3] > (a->xheight + a->capheight) / 2)
+ a->kerntab[a->nchars] |= 2;
+ }
+ /*
+ * Only map a character directly if it maps to an ASCII
+ * equivalent or to a troff special character.
+ */
+ C = asciiequiv(C, N, s);
+ if (cl)
+ a->codetab[a->nchars] = cl;
+ else if (tp)
+ a->codetab[a->nchars] = tp;
+ else if (C > 32 && C < 127 && a->fitab[C - 32] == 0)
+ a->codetab[a->nchars] = C;
+ else
+ a->codetab[a->nchars] = NOCODE;
+ if (C > 32 && C < 127 && a->fitab[C - 32] == 0) {
+ a->fitab[C - 32] = a->nchars;
+ if (gid && a->gid2tr)
+ a->gid2tr[gid].ch1 = C;
+ if (np)
+ np->fival[0] = C - 32;
+ } else if (C == 32 && np)
+ np->fival[0] = 0;
+ if (tp) {
+ a->fitab[tp - 32] = a->nchars;
+ if (gid && a->gid2tr)
+ a->gid2tr[gid].ch2 = tp;
+ if (np)
+ np->fival[1] = tp - 32;
+ }
+ a->nametab[a->nchars] = N;
+ a->nchars++;
+}
+
+/*
+ * Add charlib figues.
+ */
+static void
+addcharlib(struct afmtab *a, int symbol)
+{
+ int i, j;
+ int B[4] = { 0, 0, 0, 0 };
+
+ for (j = 0; j < nchtab; j++)
+ for (i = 0; charlib[i].name; i++) {
+ if (charlib[i].symbol && !symbol)
+ continue;
+ if (charlib[i].needs & NEEDS_F && a->fitab['f'-32] == 0)
+ continue;
+ if (charlib[i].needs & NEEDS_I && a->fitab['i'-32] == 0)
+ continue;
+ if (charlib[i].needs & NEEDS_L && a->fitab['l'-32] == 0)
+ continue;
+ if (strcmp(charlib[i].name, &chname[chtab[j]]) == 0) {
+ B[1] = charlib[i].kern & 1 ? -11 : 0;
+ B[3] = charlib[i].kern & 2 ?
+ a->capheight + 1 : 0;
+ afmaddchar(a, NOCODE, j+128, charlib[i].code,
+ charlib[i].width * unitsPerEm / 1024,
+ B, NULL, SPEC_NONE, 0);
+ }
+ }
+}
+
+static void
+addmetrics(struct afmtab *a, char *_line, enum spec s)
+{
+ char *lp = _line, c, *xp;
+ int C = NOCODE, WX = 0, tp;
+ char *N = NULL;
+ int B[4] = { -1, -1, -1, -1 };
+
+ while (*lp && *lp != '\n' && *lp != '\r') {
+ switch (*lp) {
+ case 'C':
+ C = strtol(&lp[1], NULL, 10);
+ break;
+ case 'W':
+ if (lp[1] == 'X')
+ WX = strtol(&lp[2], NULL, 10);
+ break;
+ case 'N':
+ for (N = &lp[1]; *N == ' ' || *N == '\t'; N++);
+ for (lp = N; *lp && *lp != '\n' && *lp != '\r' &&
+ *lp != ' ' && *lp != '\t' &&
+ *lp != ';'; lp++);
+ c = *lp;
+ *lp++ = 0;
+ a->nspace += lp - N;
+ if (c == ';')
+ continue;
+ break;
+ case 'B':
+ xp = &lp[1];
+ B[0] = strtol(xp, &xp, 10);
+ B[1] = strtol(xp, &xp, 10);
+ B[2] = strtol(xp, &xp, 10);
+ B[3] = strtol(xp, &xp, 10);
+ break;
+ case 'L':
+ if (C == 'f') {
+ xp = &lp[1];
+ while (*xp == ' ' || *xp == '\t')
+ xp++;
+ switch (*xp) {
+ case 'i':
+ a->Font.ligfont |= LFI;
+ break;
+ case 'l':
+ a->Font.ligfont |= LFL;
+ break;
+ }
+ }
+ break;
+ default:
+ lp++;
+ }
+ while (*lp && *lp != '\n' && *lp != '\r' && *lp != ';')
+ lp++;
+ if (*lp == ';') {
+ while (*lp && *lp != '\n' && *lp != '\r' &&
+ (*lp == ' ' || *lp == '\t' ||
+ *lp == ';'))
+ lp++;
+ }
+ }
+ if (N == NULL)
+ return;
+ tp = afmmapname(N, s);
+ afmaddchar(a, C, tp, 0, WX, B, N, s, 0);
+}
+
+void
+afmalloc(struct afmtab *a, int n)
+{
+ int i;
+
+#if defined (DPOST) || defined (DUMP)
+ a->fichars = n+NCHARLIB+1 + 128 - 32 + nchtab;
+#else /* TROFF */
+ extern int psmaxcode;
+ a->fichars = n+NCHARLIB+1 + 128 - 32 + nchtab + psmaxcode+1;
+#endif /* TROFF */
+ a->fitab = calloc(a->fichars, sizeof *a->fitab);
+ a->fontab = malloc((n+NCHARLIB+1)*sizeof *a->fontab);
+ a->fontab[0] = dev.res * dev.unitwidth / 72 / 3;
+ a->bbtab = calloc(n+NCHARLIB+1, sizeof *a->bbtab);
+ a->kerntab = calloc(n+NCHARLIB+1, sizeof *a->kerntab);
+ a->codetab = malloc((n+NCHARLIB+1)*sizeof *a->codetab);
+ a->codetab[0] = 0;
+ for (i = 1; i < n+NCHARLIB+1; i++)
+ a->codetab[i] = NOCODE;
+ a->nametab = malloc((n+NCHARLIB+1)*sizeof *a->nametab);
+ a->nametab[0] = 0;
+ a->nchars = 1;
+ addcharlib(a, (a->base[0]=='S' && a->base[1]==0) || a->spec&SPEC_S);
+ a->nameprime = nextprime(n+NCHARLIB+1);
+ a->namecache = calloc(a->nameprime, sizeof *a->namecache);
+ for (i = 0; i < a->nameprime; i++) {
+ a->namecache[i].fival[0] = NOCODE;
+ a->namecache[i].fival[1] = NOCODE;
+ }
+}
+
+int
+afmget(struct afmtab *a, char *contents, size_t size)
+{
+ enum {
+ NONE,
+ FONTMETRICS,
+ CHARMETRICS,
+ KERNDATA,
+ KERNPAIRS
+ } state = NONE;
+ char *cp, *th, *tp;
+ int n = 0;
+ enum spec s;
+ size_t l;
+
+ if ((cp = strrchr(a->file, '/')) == NULL)
+ cp = a->file;
+ else
+ cp++;
+ l = strlen(cp) + 1;
+ a->base = malloc(l);
+ n_strcpy(a->base, cp, l);
+ if ((cp = strrchr(a->base, '.')) != NULL)
+ *cp = '\0';
+ if (dev.allpunct)
+ a->spec |= SPEC_PUNCT;
+ if (a->base[0]=='S' && a->base[1]==0)
+ a->spec |= SPEC_S;
+ if (a->base[0]=='S' && a->base[1]=='1' && a->base[2]==0)
+ a->spec |= SPEC_S1;
+ s = a->spec;
+ a->xheight = 500;
+ a->capheight = 700;
+ unitsPerEm = 1000;
+ if (memcmp(contents, "OTTO", 4) == 0 ||
+ memcmp(contents, "\0\1\0\0", 4) == 0 ||
+ memcmp(contents, "true", 4) == 0)
+ return otfget(a, contents, size);
+ a->lineno = 1;
+ for (cp = contents; cp < &contents[size]; a->lineno++, cp++) {
+ while (*cp == ' ' || *cp == '\t' || *cp == '\r')
+ cp++;
+ if (*cp == '\n')
+ continue;
+ if (thisword(cp, "Comment"))
+ /*EMPTY*/;
+ else if (state == NONE && thisword(cp, "StartFontMetrics"))
+ state = FONTMETRICS;
+ else if (state == FONTMETRICS && thisword(cp, "EndFontMetrics"))
+ state = NONE;
+ else if (state == FONTMETRICS &&
+ (th = thisword(cp, "FontName")) != NULL) {
+ for (tp = th; *tp && *tp != ' ' && *tp != '\t' &&
+ *tp != '\n' && *tp != '\r'; tp++);
+ a->fontname = malloc(tp - th + 1);
+ memcpy(a->fontname, th, tp - th);
+ a->fontname[tp - th] = 0;
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "IsFixedPitch")) != NULL) {
+ a->isFixedPitch = strncmp(th, "true", 4) == 0;
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "XHeight")) != NULL) {
+ a->xheight = strtol(th, NULL, 10);
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "CapHeight")) != NULL) {
+ a->capheight = strtol(th, NULL, 10);
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "Ascender")) != NULL) {
+ a->ascender = strtol(th, NULL, 10);
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "Descender")) != NULL) {
+ a->descender = strtol(th, NULL, 10);
+ } else if (state == FONTMETRICS &&
+ (th = thisword(cp, "StartCharMetrics")) != 0) {
+ n = strtol(th, NULL, 10);
+ state = CHARMETRICS;
+ afmalloc(a, n);
+ } else if (state == CHARMETRICS &&
+ thisword(cp, "EndCharMetrics")) {
+ state = FONTMETRICS;
+ afmremap(a);
+ } else if (state == CHARMETRICS && n-- > 0) {
+ addmetrics(a, cp, s);
+#ifndef DPOST
+ } else if (state == FONTMETRICS &&
+ thisword(cp, "StartKernData") != 0) {
+ state = KERNDATA;
+ } else if (state == KERNDATA &&
+ (th = thisword(cp, "StartKernPairs")) != 0) {
+ n = strtol(th, NULL, 10);
+ state = KERNPAIRS;
+ } else if (state == KERNPAIRS &&
+ thisword(cp, "EndKernPairs")) {
+ state = KERNDATA;
+ } else if (state == KERNPAIRS && n-- > 0) {
+ addkernpair(a, cp);
+ } else if (state == KERNDATA &&
+ thisword(cp, "EndKernData")) {
+ state = FONTMETRICS;
+#endif /* !DPOST */
+ }
+ while (cp < &contents[size] && *cp != '\n')
+ cp++;
+ }
+ if (a->fontname == NULL) {
+ errprint("Missing \"FontName\" in %s", a->path);
+ return -1;
+ }
+ a->Font.nwfont = a->nchars > 255 ? 255 : a->nchars;
+ return 0;
+}
+
+/*
+ * This is for legacy font support. It exists at this place because both
+ * troff and dpost need it in combination with AFM support.
+ */
+void
+makefont(int nf, char *devfontab, char *devkerntab, char *devcodetab,
+ char *devfitab, int nw)
+{
+ int i;
+
+ free(fontab[nf]);
+ free(kerntab[nf]);
+ free(codetab[nf]);
+ free(fitab[nf]);
+ fontab[nf] = calloc(nw, sizeof *fontab);
+ kerntab[nf] = calloc(nw, sizeof *kerntab);
+ codetab[nf] = calloc(nw, sizeof *codetab);
+ fitab[nf] = calloc(NCHARS ? NCHARS : 128 - 32 + nchtab, sizeof *fitab);
+ if (devfontab) for (i = 0; i < nw; i++)
+ fontab[nf][i] = devfontab[i]&0377;
+ if (devkerntab) for (i = 0; i < nw; i++)
+ kerntab[nf][i] = devkerntab[i]&0377;
+ if (devcodetab) for (i = 0; i < nw; i++)
+ codetab[nf][i] = devcodetab[i]&0377;
+ if (devfitab) for (i = 0; i < 128 - 32 + nchtab; i++)
+ fitab[nf][i] = devfitab[i]&0377;
+ fontbase[nf]->spacewidth = fontab[nf][0];
+ fontbase[nf]->cspacewidth = -1;
+}
+
+#ifndef DPOST
+/*
+ * For short to medium-sized documents, the run time is dominated by
+ * the time required to read kerning pairs for fonts with many pairs.
+ * Kerning pairs are thus simply dumped in the order they occur at
+ * this point. Later when a kerning pair is actually looked up, the
+ * structures accessed are sorted (eliding duplicates), leading to
+ * better performance with large documents.
+ */
+void
+afmaddkernpair(struct afmtab *a, int ch1, int ch2, int k)
+{
+ struct kernpairs *kp;
+
+ if (k == 0)
+ return;
+ if (a->kernpairs == NULL)
+ a->kernpairs = calloc(a->fichars, sizeof *a->kernpairs);
+ kp = &a->kernpairs[ch1];
+ while (kp->cnt == NKERNPAIRS) {
+ if (kp->next == NULL)
+ kp->next = calloc(1, sizeof *kp->next);
+ kp = kp->next;
+ }
+ kp->ch2[kp->cnt] = ch2;
+ kp->k[kp->cnt] = k;
+ kp->cnt++;
+}
+
+static void
+addkernpair(struct afmtab *a, char *_line)
+{
+ struct namecache *np1, *np2;
+ char *lp = _line, c, *cp;
+ int n, i, j;
+
+ if (lp[0] == 'K' && lp[1] == 'P') {
+ lp += 2;
+ if (*lp == 'X')
+ lp++;
+ while ((*lp && *lp == ' ') || *lp == '\t')
+ lp++;
+ cp = lp;
+ while (*lp && *lp != '\n' && *lp != '\r' &&
+ *lp != ' ' && *lp != '\t')
+ lp++;
+ if ((c = *lp) == 0)
+ return;
+ *lp = 0;
+ np1 = afmnamelook(a, cp);
+ *lp = c;
+ while ((*lp && *lp == ' ') || *lp == '\t')
+ lp++;
+ cp = lp;
+ while (*lp && *lp != '\n' && *lp != '\r' &&
+ *lp != ' ' && *lp != '\t')
+ lp++;
+ if ((c = *lp) == 0)
+ return;
+ *lp = 0;
+ np2 = afmnamelook(a, cp);
+ *lp = c;
+ n = _unitconv(strtol(&lp[1], NULL, 10));
+ for (i = 0; i < 2; i++)
+ if (np1->fival[i] != NOCODE)
+ for (j = 0; j < 2; j++)
+ if (np2->fival[j] != NOCODE)
+ afmaddkernpair(a,
+ np1->fival[i],
+ np2->fival[j],
+ n);
+ }
+}
+
+static void
+sortkernpairs(struct kernpairs *kp)
+{
+ int i, j, s, t;
+ do {
+ s = 0;
+ for (i = 0; i < kp->cnt-1; i++)
+ if (kp->ch2[i] > kp->ch2[i+1]) {
+ t = kp->ch2[i];
+ kp->ch2[i] = kp->ch2[i+1];
+ kp->ch2[i+1] = t;
+ t = kp->k[i];
+ kp->k[i] = kp->k[i+1];
+ kp->k[i+1] = t;
+ s = 1;
+ }
+ } while (s);
+ for (j = 0; j < kp->cnt-1; j++)
+ if (kp->ch2[j] == kp->ch2[j+1]) {
+ for (i = j+1; i < kp->cnt-1; i++) {
+ kp->ch2[i] = kp->ch2[i+1];
+ kp->k[i] = kp->k[i+1];
+ }
+ kp->cnt--;
+ j--;
+ }
+ kp->sorted = 1;
+}
+
+int
+afmgetkern(struct afmtab *a, int ch1, int ch2)
+{
+ struct kernpairs *kp;
+ int l, m, r;
+
+ if (a->kernpairs) {
+ kp = &a->kernpairs[ch1];
+ do {
+ if (kp->sorted == 0)
+ sortkernpairs(kp);
+ r = kp->cnt - 1;
+ if (ch2 >= kp->ch2[0] && r >= 0 && ch2 <= kp->ch2[r]) {
+ l = 0;
+ do {
+ m = (l+r) / 2;
+ if (ch2 < kp->ch2[m])
+ r = m-1;
+ else
+ l = m+1;
+ } while (ch2 != kp->ch2[m] && l <= r);
+ if (kp->ch2[m] == ch2)
+ return kp->k[m];
+ }
+ } while ((kp = kp->next) != NULL);
+ }
+ return 0;
+}
+#endif /* !DPOST */
+
+char *
+afmencodepath(const char *cp)
+{
+ const char hex[] = "0123456789ABCDEF";
+ char *enc, *ep;
+
+ ep = enc = malloc(3 * strlen(cp) + 1);
+ while (*cp) {
+ if (*cp&0200 || *cp <= 040 || *cp == 0177) {
+ *ep++ = '%';
+ *ep++ = hex[(*cp&0360) >> 4];
+ *ep++ = hex[*cp++&017];
+ } else
+ *ep++ = *cp++;
+ }
+ *ep = 0;
+ return enc;
+}
+
+static int
+unhex(int c)
+{
+ if (c >= 'A' && c <= 'F')
+ return c - 'A';
+ if (c >= 'a' && c <= 'f')
+ return c - 'a';
+ return c - '0';
+}
+
+static int
+xdigit(int c)
+{
+ return (c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f') ||
+ (c >= '0' && c <= '9');
+}
+
+char *
+afmdecodepath(const char *cp)
+{
+ char *dec, *dp;
+
+ dec = dp = malloc(strlen(cp) + 1);
+ while (*cp) {
+ if (cp[0] == '%' && xdigit(cp[1]&0377) && xdigit(cp[2]&0377)) {
+ *dp++ = unhex(cp[1]) << 4 | unhex(cp[2]);
+ cp += 3;
+ } else
+ *dp++ = *cp++;
+ }
+ *dp = 0;
+ return dec;
+}
+#endif /* !DUMP */
diff --git a/troff/troff.d/afm.h b/troff/troff.d/afm.h
new file mode 100644
index 0000000000000..5c18a38f99f71
--- /dev/null
+++ b/troff/troff.d/afm.h
@@ -0,0 +1,149 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)afm.h 1.35 (gritter) 10/5/06
+ */
+
+#ifndef TROFF_AFM_H
+#define TROFF_AFM_H
+
+enum spec {
+ SPEC_NONE = 00000,
+ SPEC_MATH = 00001,
+ SPEC_GREEK = 00002,
+ SPEC_PUNCT = 00004,
+ SPEC_LARGE = 00010,
+ SPEC_S1 = 01000,
+ SPEC_S = 02000
+};
+
+#define NOCODE ((unsigned short)-1)
+
+#define NKERNPAIRS 45
+struct kernpairs {
+ struct kernpairs *next;
+ int sorted;
+ int cnt;
+ unsigned short ch2[NKERNPAIRS];
+ short k[NKERNPAIRS];
+};
+
+struct namecache {
+ unsigned short afpos;
+ unsigned short fival[2];
+ unsigned short gid;
+};
+
+struct charpair {
+ unsigned short ch1;
+ unsigned short ch2;
+};
+
+struct feature {
+ char *name;
+ struct charpair *pairs;
+ int npairs;
+};
+
+extern struct afmtab {
+ struct Font Font;
+ char *encpath;
+ char *path;
+ char *file;
+ char *base;
+ char *fontname;
+ char *supply;
+ int *fontab;
+ short **bbtab;
+ char *kerntab;
+ unsigned short *codetab;
+ unsigned short *fitab;
+ char **nametab;
+ int *unitab;
+ int nunitab;
+ void *unimap;
+ int *encmap;
+ struct namecache *namecache;
+ int nameprime;
+ struct kernpairs *kernpairs;
+ struct charpair *gid2tr;
+ int nspace;
+ struct feature **features;
+ int rq;
+ int lineno;
+ int nchars;
+ int fichars;
+ int capheight;
+ int xheight;
+ int isFixedPitch;
+ int ascender;
+ int descender;
+ enum spec spec;
+ enum {
+ TYPE_AFM,
+ TYPE_OTF,
+ TYPE_TTF
+ } type;
+} **afmtab;
+extern int nafm;
+
+extern unsigned short **fitab;
+extern int **fontab;
+extern char **kerntab;
+extern unsigned short **codetab;
+extern struct Font **fontbase;
+
+extern int NCHARS;
+
+extern unsigned short unitsPerEm;
+
+extern int afmget(struct afmtab *, char *, size_t);
+extern int otfget(struct afmtab *, char *, size_t);
+extern struct namecache *afmnamelook(struct afmtab *, const char *);
+extern int afmgetkern(struct afmtab *, int, int);
+extern void makefont(int, char *, char *, char *, char *, int);
+extern int unitconv(int);
+extern void afmalloc(struct afmtab *, int);
+extern void afmremap(struct afmtab *);
+extern int afmmapname(const char *, enum spec);
+extern void afmaddchar(struct afmtab *, int, int, int, int, int[],
+ char *, enum spec, int);
+extern void afmaddkernpair(struct afmtab *, int, int, int);
+extern int nextprime(int n);
+extern unsigned pjw(const char *);
+extern char *afmencodepath(const char *);
+extern char *afmdecodepath(const char *);
+#ifdef DPOST
+#include <stdio.h>
+extern int otfcff(const char *, char *, size_t, size_t *, size_t *);
+extern int otft42(char *, char *, char *, size_t, FILE *);
+extern int fprintenc(FILE *, const char *);
+#endif
+
+extern struct dev dev;
+
+#define _unitconv(i) (unitsPerEm * 72 == dev.res ? (i) : unitconv(i))
+
+#endif /* !TROFF_AFM_H */
diff --git a/troff/troff.d/dev.h b/troff/troff.d/dev.h
new file mode 100644
index 0000000000000..9152ed77d7499
--- /dev/null
+++ b/troff/troff.d/dev.h
@@ -0,0 +1,104 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "dev.h 1.5 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)dev.h 1.15 (gritter) 9/24/06
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ dev.h: characteristics of a typesetter
+*/
+
+#ifndef TROFF_DEV_H
+#define TROFF_DEV_H
+
+#include "global.h"
+
+struct dev {
+ unsigned filesize; /* number of bytes in file, */
+ /* excluding dev part */
+ int res; /* basic resolution in goobies/inch */
+ int hor; /* goobies horizontally */
+ int vert;
+ int unitwidth; /* size at which widths are given, in effect */
+ int nfonts; /* number of fonts physically available */
+ int nsizes; /* number of sizes it has */
+ int sizescale; /* scaling for fractional point sizes */
+ int anysize; /* device can print any size */
+ int allpunct; /* all fonts contain punctuation characters */
+ int afmfonts; /* device uses AFM fonts by default */
+ int paperwidth; /* max line length in units */
+ int paperlength; /* max paper length in units */
+ int nchtab; /* number of funny names in chtab */
+ int lchname; /* length of chname table */
+ int biggestfont; /* #chars in largest ever font */
+ int spare2; /* in case of expansion */
+ int lc_ctype; /* understands x X LC_CTYPE */
+ int encoding; /* default output encoding */
+};
+
+struct Font { /* characteristics of a font */
+ char nwfont; /* number of width entries for this font */
+ char specfont; /* 1 == special font */
+ char ligfont; /* 1 == ligatures exist on this font */
+ char kernfont; /* minimum kerning, 0 == no limit, -1 == off */
+ char namefont[10]; /* name of this font (e.g., "R" */
+ char intname[10]; /* internal name (=number) on device, in ascii */
+ int afmpos; /* afmpos-1 = position in afmtab */
+ int spacewidth; /* width of space character */
+ int cspacewidth; /* custom space width */
+};
+
+/* ligatures, ORed into ligfont */
+
+#define LFF 01
+#define LFI 02
+#define LFL 04
+#define LFFI 010
+#define LFFL 020
+
+extern void *readdesc(const char *);
+extern void *readfont(const char *, struct dev *, int);
+
+#endif /* !TROFF_DEV_H */
diff --git a/troff/troff.d/devaps/B b/troff/troff.d/devaps/B
new file mode 100644
index 0000000000000..9b3f62dfef3c8
--- /dev/null
+++ b/troff/troff.d/devaps/B
@@ -0,0 +1,148 @@
+#ident "@(#)B 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Times Roman Bold (with 15 characters from new disk)
+name B
+internalname 28921
+alternate_font
+ligatures fi ff fl ffi ffl 0
+charset
+A 70 2 1
+B 66 2 2
+C 68 2 3
+D 75 2 4
+E 66 2 5
+F 61 2 6
+G 70 2 7
+H 81 2 8
+I 38 2 9
+J 49 2 10
+K 70 2 11
+L 65 2 12
+M 98 2 13
+N 77 2 14
+O 73 2 15
+P 67 2 16
+Q 74 2 17
+R 70 2 18
+S 59 2 19
+T 66 2 20
+U 78 2 21
+V 71 2 22
+W 101 2 23
+X 71 2 24
+Y 70 2 25
+Z 70 2 26
+a 50 0 27
+b 50 2 28
+c 46 0 29
+d 50 2 30
+e 44 0 31
+f 35 2 32
+g 50 1 33
+h 51 2 34
+i 28 0 35
+j 31 1 36
+k 54 2 37
+l 27 2 38
+m 77 0 39
+n 50 0 40
+o 50 0 41
+p 50 1 42
+q 50 1 43
+r 39 0 44
+s 40 0 45
+t 34 2 46
+u 50 0 47
+v 40 0 48
+w 67 0 49
+x 55 0 50
+y 50 1 51
+z 47 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 104 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 52 0 72
+! 26 0 73
+% 104 0 74
+* 52 0 75
+( 43 0 101 font 21
+) 43 0 102 font 21
+/ 48 2 105 font 21
+hy 37 0 113 font 21
+- "
+em 96 0 112 font 21
+en 52 0 81
+ff 61 2 82
+fi 53 2 83
+fl 53 2 84
+Fi 82 2 85
+Fl 82 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 72 0 13 font 21
+@ 96 0 14 font 21
+bu 72 0 110 font 21
+de 52 2 123
+dg 52 3 124
+dd 46 2 49 font 21
+sc 46 3 42 font 21
+[ 32 0 107 font 21
+] 32 0 108 font 21
++ 96 0 103 font 21
+\- 96 0 104 font 21
+= 96 0 106 font 21
+| 5 0 109 font 21
+sq 72 0 111 font 21
+ru 56 0 114 font 21
+fm 24 2 115 font 21
diff --git a/troff/troff.d/devaps/BI b/troff/troff.d/devaps/BI
new file mode 100644
index 0000000000000..3985a926e56e1
--- /dev/null
+++ b/troff/troff.d/devaps/BI
@@ -0,0 +1,139 @@
+#ident "@(#)BI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Times Roman Bold Italic
+name BI
+internalname 28961
+ligatures fi ff fl ffi ffl 0
+charset
+A 65 2 1
+B 67 2 2
+C 73 2 3
+D 76 2 4
+E 68 2 5
+F 62 2 6
+G 70 2 7
+H 86 2 8
+I 45 2 9
+J 49 2 10
+K 75 2 11
+L 65 2 12
+M 101 2 13
+N 81 2 14
+O 75 2 15
+P 64 2 16
+Q 72 2 17
+R 69 2 18
+S 66 2 19
+T 62 2 20
+U 72 2 21
+V 64 2 22
+W 95 2 23
+X 73 2 24
+Y 65 2 25
+Z 76 2 26
+a 50 0 27
+b 50 2 28
+c 44 0 29
+d 54 2 30
+e 44 0 31
+f 36 2 32
+g 50 1 33
+h 52 2 34
+i 35 0 35
+j 35 1 36
+k 55 2 37
+l 35 2 38
+m 79 0 39
+n 53 0 40
+o 48 0 41
+p 51 1 42
+q 49 1 43
+r 39 0 44
+s 40 0 45
+t 34 2 46
+u 52 0 47
+v 39 0 48
+w 63 0 49
+x 52 0 50
+y 48 1 51
+z 44 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 73 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 52 0 72
+! 26 0 73
+% 79 0 74
+* 52 0 75
+( 41 0 76
+) 41 0 77
+/ 52 2 78
+hy 43 0 79
+- "
+em 104 0 80
+ff 66 2 82
+fi 57 2 83
+fl 66 2 84
+Fi 85 2 85
+Fl 92 2 86
+14 78 2 91
+12 76 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 52 0 116
+@ 78 0 120
+bu 28 0 121
+de 53 2 123
+dg 52 3 124
+dd 52 2 125
+sc 52 3 126
+[ 41 0 127
+] 41 0 128
diff --git a/troff/troff.d/devaps/C b/troff/troff.d/devaps/C
new file mode 100644
index 0000000000000..7442d26ca5bbb
--- /dev/null
+++ b/troff/troff.d/devaps/C
@@ -0,0 +1,139 @@
+#ident "@(#)C 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# News Gothic Condensed
+name C
+internalname 19681
+ligatures fi ff fl ffi ffl 0
+charset
+A 45 2 1
+B 48 2 2
+C 46 2 3
+D 48 2 4
+E 43 2 5
+F 43 2 6
+G 50 2 7
+H 49 2 8
+I 19 2 9
+J 28 2 10
+K 47 2 11
+L 41 2 12
+M 61 2 13
+N 51 2 14
+O 49 2 15
+P 45 2 16
+Q 49 2 17
+R 46 2 18
+S 44 2 19
+T 41 2 20
+U 48 2 21
+V 43 2 22
+W 64 2 23
+X 44 2 24
+Y 44 2 25
+Z 41 2 26
+a 40 0 27
+b 42 2 28
+c 38 0 29
+d 41 2 30
+e 38 0 31
+f 26 2 32
+g 38 1 33
+h 41 2 34
+i 19 0 35
+j 20 1 36
+k 39 2 37
+l 19 2 38
+m 63 0 39
+n 42 0 40
+o 41 0 41
+p 41 1 42
+q 42 1 43
+r 30 0 44
+s 36 0 45
+t 28 2 46
+u 42 0 47
+v 39 0 48
+w 56 0 49
+x 36 0 50
+y 39 1 51
+z 34 0 52
+1 44 2 53
+2 44 2 54
+3 44 2 55
+4 44 2 56
+5 44 2 57
+6 44 2 58
+7 44 2 59
+8 44 2 60
+9 44 2 61
+0 44 2 62
+$ 44 0 63
+ct 44 3 64
+& 54 0 65
+: 22 0 66
+; 22 0 67
+. 22 0 68
+, 22 0 69
+` 22 0 70
+' 22 0 71
+? 44 0 72
+! 22 0 73
+% 66 0 74
+* 44 0 75
+( 44 0 76
+) 44 0 77
+/ 44 2 78
+hy 22 0 79
+- "
+em 88 0 80
+ff 48 2 82
+fi 43 2 83
+fl 43 2 84
+Fi 64 2 85
+Fl 64 2 86
+14 66 2 91
+12 66 2 92
+34 66 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 85 0 120
+bu 28 0 121
+de 51 2 123
+dg 50 3 124
+dd 51 2 125
+sc 52 3 126
+[ 25 0 127
+] 25 0 128
diff --git a/troff/troff.d/devaps/CE b/troff/troff.d/devaps/CE
new file mode 100644
index 0000000000000..b9f6887387082
--- /dev/null
+++ b/troff/troff.d/devaps/CE
@@ -0,0 +1,139 @@
+#ident "@(#)CE 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Century Expanded
+name CE
+internalname 6241
+ligatures fi ff fl ffi ffl 0
+charset
+A 78 2 1
+B 68 2 2
+C 67 2 3
+D 78 2 4
+E 70 2 5
+F 68 2 6
+G 79 2 7
+H 85 2 8
+I 39 2 9
+J 51 2 10
+K 79 2 11
+L 65 2 12
+M 90 2 13
+N 78 2 14
+O 68 2 15
+P 67 2 16
+Q 73 2 17
+R 73 2 18
+S 61 2 19
+T 65 2 20
+U 78 2 21
+V 73 2 22
+W 101 2 23
+X 73 2 24
+Y 73 2 25
+Z 61 2 26
+a 51 0 27
+b 56 2 28
+c 47 0 29
+d 56 2 30
+e 46 0 31
+f 39 2 32
+g 54 1 33
+h 60 2 34
+i 27 0 35
+j 37 1 36
+k 56 2 37
+l 32 2 38
+m 88 0 39
+n 59 0 40
+o 50 0 41
+p 56 1 42
+q 56 1 43
+r 46 0 44
+s 45 0 45
+t 40 2 46
+u 55 0 47
+v 52 0 48
+w 76 0 49
+x 54 0 50
+y 54 1 51
+z 45 0 52
+1 50 2 53
+2 50 2 54
+3 50 2 55
+4 50 2 56
+5 50 2 57
+6 50 2 58
+7 50 2 59
+8 50 2 60
+9 50 2 61
+0 50 2 62
+$ 50 0 63
+ct 50 3 64
+& 75 0 65
+: 25 0 66
+; 25 0 67
+. 25 0 68
+, 25 0 69
+` 25 0 70
+' 25 0 71
+? 50 0 72
+! 25 0 73
+% 100 0 74
+* 50 0 75
+( 37 0 76
+) 37 0 77
+/ 50 2 78
+hy 37 0 79
+- "
+em 100 0 80
+ff 67 2 82
+fi 57 2 83
+fl 57 2 84
+Fi 86 2 85
+Fl 86 2 86
+14 100 2 91
+12 100 2 92
+34 100 2 93
+co 64 2 111
+rg 64 2 112
+tm 64 2 113
+# 52 0 116
+@ 78 0 120
+bu 28 0 121
+de 50 2 123
+dg 50 3 124
+dd 50 2 125
+sc 50 3 126
+[ 30 0 127
+] 30 0 128
diff --git a/troff/troff.d/devaps/CI b/troff/troff.d/devaps/CI
new file mode 100644
index 0000000000000..740465b537b63
--- /dev/null
+++ b/troff/troff.d/devaps/CI
@@ -0,0 +1,139 @@
+#ident "@(#)CI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Century Bold Italic (also CK)
+name CI
+internalname 6041
+ligatures fi ff fl ffi ffl 0
+charset
+A 78 2 1
+B 81 2 2
+C 70 2 3
+D 87 2 4
+E 80 2 5
+F 76 2 6
+G 79 2 7
+H 90 2 8
+I 51 2 9
+J 65 2 10
+K 88 2 11
+L 72 2 12
+M 103 2 13
+N 87 2 14
+O 81 2 15
+P 79 2 16
+Q 81 2 17
+R 80 2 18
+S 66 2 19
+T 69 2 20
+U 83 2 21
+V 77 2 22
+W 98 2 23
+X 79 2 24
+Y 73 2 25
+Z 74 2 26
+a 60 0 27
+b 59 2 28
+c 51 0 29
+d 63 2 30
+e 50 0 31
+f 38 2 32
+g 63 1 33
+h 64 2 34
+i 38 0 35
+j 36 1 36
+k 64 2 37
+l 37 2 38
+m 91 0 39
+n 65 0 40
+o 52 0 41
+p 62 1 42
+q 59 1 43
+r 50 0 44
+s 50 0 45
+t 41 2 46
+u 64 0 47
+v 59 0 48
+w 86 0 49
+x 61 0 50
+y 60 1 51
+z 50 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 84 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 52 0 72
+! 32 0 73
+% 104 0 74
+* 52 0 75
+( 52 0 76
+) 52 0 77
+/ 52 2 78
+hy 40 0 79
+- "
+em 104 0 80
+ff 73 2 82
+fi 73 2 83
+fl 74 2 84
+Fi 102 2 85
+Fl 103 2 86
+14 104 2 91
+12 104 2 92
+34 104 2 93
+co 64 2 111
+rg 64 2 112
+tm 64 2 113
+# 52 0 116
+@ 104 0 120
+bu 28 0 121
+de 52 2 123
+dg 52 3 124
+dd 52 2 125
+sc 52 3 126
+[ 52 0 127
+] 52 0 128
diff --git a/troff/troff.d/devaps/CT b/troff/troff.d/devaps/CT
new file mode 100644
index 0000000000000..2c005aee38e62
--- /dev/null
+++ b/troff/troff.d/devaps/CT
@@ -0,0 +1,132 @@
+#ident "@(#)CT 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Courier Typewriter
+name CT
+internalname 8301
+spacewidth 63
+max_range 1
+charset
+A 63 2 1
+B 63 2 2
+C 63 2 3
+D 63 2 4
+E 63 2 5
+F 63 2 6
+G 63 2 7
+H 63 2 8
+I 63 2 9
+J 63 2 10
+K 63 2 11
+L 63 2 12
+M 63 2 13
+N 63 2 14
+O 63 2 15
+P 63 2 16
+Q 63 2 17
+R 63 2 18
+S 63 2 19
+T 63 2 20
+U 63 2 21
+V 63 2 22
+W 63 2 23
+X 63 2 24
+Y 63 2 25
+Z 63 2 26
+a 63 0 27
+b 63 2 28
+c 63 0 29
+d 63 2 30
+e 63 0 31
+f 63 2 32
+g 63 1 33
+h 63 2 34
+i 63 0 35
+j 63 1 36
+k 63 2 37
+l 63 2 38
+m 63 0 39
+n 63 0 40
+o 63 0 41
+p 63 1 42
+q 63 1 43
+r 63 0 44
+s 63 0 45
+t 63 2 46
+u 63 0 47
+v 63 0 48
+w 63 0 49
+x 63 0 50
+y 63 1 51
+z 63 0 52
+1 63 2 53
+2 63 2 54
+3 63 2 55
+4 63 2 56
+5 63 2 57
+6 63 2 58
+7 63 2 59
+8 63 2 60
+9 63 2 61
+0 63 2 62
+$ 63 0 63
+ct 63 3 64
+& 63 0 65
+: 63 0 66
+; 63 0 67
+. 63 0 68
+, 63 0 69
+" 63 0 70
+' 63 0 71
+? 63 0 72
+! 63 0 73
+% 63 0 74
+* 63 0 75
+( 63 0 76
+) 63 0 77
+/ 63 2 78
+sl "
+hy 63 0 79
+- "
+em 63 0 80
+_ 63 0 109
+| 63 0 110
+# 63 0 116
+@ 63 0 120
+bu 28 0 121
+de 63 2 123
+dg 63 3 124
+dd 63 2 125
+sc 63 3 126
+[ 63 0 127
+] 63 0 128
diff --git a/troff/troff.d/devaps/CW b/troff/troff.d/devaps/CW
new file mode 100644
index 0000000000000..698c1c9193a66
--- /dev/null
+++ b/troff/troff.d/devaps/CW
@@ -0,0 +1,147 @@
+#ident "@(#)CW 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Constant Width (also PO)
+name CW
+internalname 10941
+spacewidth 68
+max_range 2
+charset
+A 68 2 1
+B 68 2 2
+C 68 2 3
+D 68 2 4
+E 68 2 5
+F 68 2 6
+G 68 2 7
+H 68 2 8
+I 68 2 9
+J 68 2 10
+K 68 2 11
+L 68 2 12
+M 68 2 13
+N 68 2 14
+O 68 2 15
+P 68 2 16
+Q 68 2 17
+R 68 2 18
+S 68 2 19
+T 68 2 20
+U 68 2 21
+V 68 2 22
+W 68 2 23
+X 68 2 24
+Y 68 2 25
+Z 68 2 26
+a 68 0 27
+b 68 2 28
+c 68 0 29
+d 68 2 30
+e 68 0 31
+f 68 2 32
+g 68 1 33
+h 68 2 34
+i 68 0 35
+j 68 1 36
+k 68 2 37
+l 68 2 38
+m 68 0 39
+n 68 0 40
+o 68 0 41
+p 68 1 42
+q 68 1 43
+r 68 0 44
+s 68 0 45
+t 68 2 46
+u 68 0 47
+v 68 0 48
+w 68 0 49
+x 68 0 50
+y 68 1 51
+z 68 0 52
+1 68 2 53
+2 68 2 54
+3 68 2 55
+4 68 2 56
+5 68 2 57
+6 68 2 58
+7 68 2 59
+8 68 2 60
+9 68 2 61
+0 68 2 62
+$ 68 0 63
+ct 68 3 64
+& 68 0 65
+: 68 0 66
+; 68 0 67
+. 68 0 68
+, 68 0 69
+` 68 0 70
+' 68 0 71
+? 68 0 72
+! 68 0 73
+% 68 0 74
+* 68 0 75
+( 68 0 76
+) 68 0 77
+/ 68 2 78
+sl "
+hy 68 0 79
+- "
+= 68 0 80
++ 68 0 81
+no 68 0 82
+< 68 0 83
+> 68 0 84
+{ 68 0 85
+} 68 0 86
+^ 68 0 91
+~ 68 0 92
+" 68 0 93
+fm 68 2 94
+_ 68 0 109
+ul "
+| 68 0 110
+or "
+lh 68 2 111
+\ 68 0 112
+# 68 0 116
+@ 68 0 120
+sq 68 0 121
+-> 68 0 122
+<- 68 0 123
+dg 68 3 124
+ua 68 3 125
+da 68 3 126
+[ 68 0 127
+] 68 0 128
diff --git a/troff/troff.d/devaps/CX b/troff/troff.d/devaps/CX
new file mode 100644
index 0000000000000..3e1a727498e79
--- /dev/null
+++ b/troff/troff.d/devaps/CX
@@ -0,0 +1,140 @@
+#ident "@(#)CX 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# News Gothic Condensed Italic
+name CX
+internalname 19681
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+charset
+A 45 2 1
+B 48 2 2
+C 46 2 3
+D 48 2 4
+E 43 2 5
+F 43 2 6
+G 50 2 7
+H 49 2 8
+I 19 2 9
+J 28 2 10
+K 47 2 11
+L 41 2 12
+M 61 2 13
+N 51 2 14
+O 49 2 15
+P 45 2 16
+Q 49 2 17
+R 46 2 18
+S 44 2 19
+T 41 2 20
+U 48 2 21
+V 43 2 22
+W 64 2 23
+X 44 2 24
+Y 44 2 25
+Z 41 2 26
+a 40 0 27
+b 42 2 28
+c 38 0 29
+d 41 2 30
+e 38 0 31
+f 26 2 32
+g 38 1 33
+h 41 2 34
+i 19 0 35
+j 20 1 36
+k 39 2 37
+l 19 2 38
+m 63 0 39
+n 42 0 40
+o 41 0 41
+p 41 1 42
+q 42 1 43
+r 30 0 44
+s 36 0 45
+t 28 2 46
+u 42 0 47
+v 39 0 48
+w 56 0 49
+x 36 0 50
+y 39 1 51
+z 34 0 52
+1 44 2 53
+2 44 2 54
+3 44 2 55
+4 44 2 56
+5 44 2 57
+6 44 2 58
+7 44 2 59
+8 44 2 60
+9 44 2 61
+0 44 2 62
+$ 44 0 63
+ct 44 3 64
+& 54 0 65
+: 22 0 66
+; 22 0 67
+. 22 0 68
+, 22 0 69
+` 22 0 70
+' 22 0 71
+? 44 0 72
+! 22 0 73
+% 66 0 74
+* 44 0 75
+( 44 0 76
+) 44 0 77
+/ 44 2 78
+hy 22 0 79
+- "
+em 88 0 80
+ff 48 2 82
+fi 43 2 83
+fl 43 2 84
+Fi 64 2 85
+Fl 64 2 86
+14 66 2 91
+12 66 2 92
+34 66 2 93
+co 50 2 111 slant 0
+rg 50 2 112 slant 0
+tm 50 2 113 slant 0
+# 75 0 116
+@ 85 0 120
+bu 28 0 121 slant 0
+de 51 2 123 slant 0
+dg 50 3 124
+dd 51 2 125
+sc 52 3 126
+[ 25 0 127
+] 25 0 128
diff --git a/troff/troff.d/devaps/DESC b/troff/troff.d/devaps/DESC
new file mode 100644
index 0000000000000..deb5416da1fca
--- /dev/null
+++ b/troff/troff.d/devaps/DESC
@@ -0,0 +1,67 @@
+#ident "@(#)DESC 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+fonts 8 R I B H CW S S1 GR
+sizes 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 24 26 28 30 32 34 36 40 44 48 0
+res 723
+hor 1
+vert 1
+unitwidth 10
+paperwidth 6120
+biggestfont 109
+charset
+\- \_
+** *A *B *C *D *E *F *G *H *I *K *L *M *N *O *P *Q *R *S
+*T *U *V *W *X *Y *Z *a *b *c *d *e *f *g *h *i
+*k *l *m *n *o *p *q *r *s *t *u
+*w *x *y *z +- -> <- <=
+== >= aa
+LH LV
+ap br bu bv ca
+ci co ct cu dd de dg di em
+eq es fm ga gr hy
+ib if ip is lh mi mo
+mu no or pd pl pt rg rh ru
+sb sc sl sp sq sr tm ts
+~= ul rn en
+lf rf lc rc lt rt lb rb
+lk rk !=
+ua da 12
+bx 14 34
+ff fi fl Fi Fl
+ps !< !> as os tf bc ld rd pp ra an =. 4d =:
+-+ gp =p cy
+le ge el eg LE GE EL EG <> ><
+RC TR RB CB Sl
+\' \`
+xe xh xk cs vs ob rs dq
diff --git a/troff/troff.d/devaps/G b/troff/troff.d/devaps/G
new file mode 100644
index 0000000000000..5f02b7cdd7c77
--- /dev/null
+++ b/troff/troff.d/devaps/G
@@ -0,0 +1,139 @@
+#ident "@(#)G 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Geneva Regular (also Helvetica Regular)
+name G
+internalname 12641
+ligatures fi ff fl ffi ffl 0
+charset
+A 64 2 1
+B 64 2 2
+C 68 2 3
+D 66 2 4
+E 60 2 5
+F 60 2 6
+G 70 2 7
+H 63 2 8
+I 24 2 9
+J 51 2 10
+K 64 2 11
+L 56 2 12
+M 80 2 13
+N 66 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 66 2 18
+S 64 2 19
+T 56 2 20
+U 66 2 21
+V 64 2 22
+W 90 2 23
+X 64 2 24
+Y 66 2 25
+Z 60 2 26
+a 56 0 27
+b 56 2 28
+c 54 0 29
+d 56 2 30
+e 56 0 31
+f 30 2 32
+g 56 1 33
+h 54 2 34
+i 24 0 35
+j 24 1 36
+k 52 2 37
+l 24 2 38
+m 76 0 39
+n 50 0 40
+o 56 0 41
+p 56 1 42
+q 56 1 43
+r 34 0 44
+s 52 0 45
+t 32 2 46
+u 50 0 47
+v 48 0 48
+w 70 0 49
+x 52 0 50
+y 50 1 51
+z 48 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 64 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 52 0 72
+! 28 0 73
+% 84 0 74
+* 56 0 75
+( 36 0 76
+) 36 0 77
+/ 56 2 78
+hy 32 0 79
+- "
+em 112 0 80
+ff 53 2 82
+fi 48 2 83
+fl 48 2 84
+Fi 71 2 85
+Fl 71 2 86
+14 84 2 91
+12 84 2 92
+34 84 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 84 0 120
+bu 28 0 121
+de 56 2 123
+dg 56 3 124
+dd 56 2 125
+sc 56 3 126
+[ 32 0 127
+] 32 0 128
diff --git a/troff/troff.d/devaps/GB b/troff/troff.d/devaps/GB
new file mode 100644
index 0000000000000..13768f637c629
--- /dev/null
+++ b/troff/troff.d/devaps/GB
@@ -0,0 +1,90 @@
+#ident "@(#)GB 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Greek Bold
+name GB
+internalname 14121
+alternate_font
+special
+max_range 2
+charset
+*A 78 2 1
+*B 78 2 2
+*G 64 2 3
+*D 74 2 4
+*E 77 2 5
+*Z 68 2 6
+*Y 88 2 7
+*H 66 2 8
+*I 46 2 9
+*K 87 2 10
+*L 72 2 11
+*M 102 2 12
+*N 90 2 13
+*C 70 2 14
+*O 76 2 15
+*P 82 2 16
+*R 72 2 17
+*S 66 2 18
+*T 78 2 19
+*F 72 2 21
+*X 90 2 22
+*a 60 0 27
+*b 60 3 28
+*g 61 3 29
+*d 42 2 30
+*e 34 0 31
+*z 46 3 32
+*y 50 1 33
+*h 44 2 34
+*i 30 0 35
+*k 44 0 36
+*l 54 2 37
+*m 56 1 38
+*n 42 0 39
+*c 44 3 40
+*o 42 0 41
+*p 62 0 42
+*r 46 1 43
+*s 54 0 44
+*t 50 0 45
+*u 46 0 46
+*f 60 3 47
+*x 61 3 48
+*q 62 3 49
+*w 64 0 50
+pd 40 2 52
+gr 80 2 53
+xe 38 0 98 font 13961
+xh 61 2 101
+xk 48 0 103 font 13961
diff --git a/troff/troff.d/devaps/GI b/troff/troff.d/devaps/GI
new file mode 100644
index 0000000000000..cf6d7a87b1aef
--- /dev/null
+++ b/troff/troff.d/devaps/GI
@@ -0,0 +1,141 @@
+#ident "@(#)GI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Geneva Italic (also Helvetica Italic)
+name GI
+internalname 12641
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+alternate_font
+charset
+A 64 2 1
+B 64 2 2
+C 68 2 3
+D 66 2 4
+E 60 2 5
+F 60 2 6
+G 70 2 7
+H 63 2 8
+I 24 2 9
+J 51 2 10
+K 64 2 11
+L 56 2 12
+M 80 2 13
+N 66 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 66 2 18
+S 64 2 19
+T 56 2 20
+U 66 2 21
+V 64 2 22
+W 90 2 23
+X 64 2 24
+Y 66 2 25
+Z 60 2 26
+a 56 0 27
+b 56 2 28
+c 54 0 29
+d 56 2 30
+e 56 0 31
+f 30 2 32
+g 56 1 33
+h 54 2 34
+i 24 0 35
+j 24 1 36
+k 52 2 37
+l 24 2 38
+m 76 0 39
+n 50 0 40
+o 56 0 41
+p 56 1 42
+q 56 1 43
+r 34 0 44
+s 52 0 45
+t 32 2 46
+u 50 0 47
+v 48 0 48
+w 70 0 49
+x 52 0 50
+y 50 1 51
+z 48 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 64 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 52 0 72
+! 28 0 73
+% 84 0 74
+* 56 0 75
+( 36 0 76
+) 36 0 77
+/ 56 2 78
+hy 32 0 79
+- "
+em 112 0 80
+ff 53 2 82
+fi 48 2 83
+fl 48 2 84
+Fi 71 2 85
+Fl 71 2 86
+14 84 2 91
+12 84 2 92
+34 84 2 93
+co 50 2 111 slant 0
+rg 50 2 112 slant 0
+tm 50 2 113 slant 0
+# 75 0 116
+@ 84 0 120
+bu 28 0 121 slant 0
+de 56 2 123 slant 0
+dg 56 3 124
+dd 56 2 125
+sc 56 3 126
+[ 32 0 127
+] 32 0 128
diff --git a/troff/troff.d/devaps/GR b/troff/troff.d/devaps/GR
new file mode 100644
index 0000000000000..d7607edff7618
--- /dev/null
+++ b/troff/troff.d/devaps/GR
@@ -0,0 +1,89 @@
+#ident "@(#)GR 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Greek
+name GR
+internalname 13961
+special
+max_range 2
+charset
+*A 68 2 1
+*B 62 2 2
+*G 58 2 3 max_range 3
+*D 66 2 4
+*E 61 2 5
+*Z 55 2 6
+*Y 75 2 7
+*H 63 2 8
+*I 37 2 9
+*K 75 2 10
+*L 67 2 11
+*M 84 2 12
+*N 74 2 13
+*C 66 2 14
+*O 62 2 15
+*P 76 2 16 max_range 3
+*R 57 2 17
+*S 62 2 18 max_range 3
+*T 62 2 19
+*F 65 2 21
+*X 72 2 22
+*a 58 0 27
+*b 55 3 28
+*g 58 3 29
+*d 41 2 30
+*e 33 0 31
+*z 39 3 32
+*y 47 1 33
+*h 43 2 34
+*i 26 0 35
+*k 41 0 36
+*l 51 2 37
+*m 54 1 38
+*n 40 0 39
+*c 43 3 40
+*o 41 0 41
+*p 59 0 42
+*r 49 1 43
+*s 50 0 44
+*t 46 0 45
+*u 42 0 46
+*f 58 3 47
+*x 58 3 48
+*q 59 3 49
+*w 61 0 50
+pd 50 2 52
+gr 68 2 53
+xe 38 0 98
+xh 58 2 101
+xk 48 0 103
diff --git a/troff/troff.d/devaps/GS b/troff/troff.d/devaps/GS
new file mode 100644
index 0000000000000..9fbcd3ce05c5b
--- /dev/null
+++ b/troff/troff.d/devaps/GS
@@ -0,0 +1,135 @@
+#ident "@(#)GS 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# German Script
+name GS
+internalname 41
+alternate_font
+max_range 2
+charset
+A 71 2 1
+B 75 2 2
+C 63 2 3
+D 79 2 4
+E 66 2 5
+F 69 2 6
+G 74 2 7
+H 69 2 8
+I 67 2 9
+J 66 2 10
+K 68 2 11
+L 59 2 12
+M 99 2 13
+N 77 2 14
+O 78 2 15
+P 74 2 16
+Q 82 2 17
+R 72 2 18
+S 77 2 19
+T 67 2 20
+U 65 2 21
+V 73 2 22
+W 92 2 23
+X 66 2 24
+Y 67 2 25
+Z 65 2 26
+a 48 0 27
+b 47 2 28
+c 34 0 29
+d 46 2 30
+e 38 0 31
+f 29 2 32
+g 44 1 33
+h 47 2 34
+i 30 0 35
+j 28 1 36
+k 36 2 37
+l 29 2 38
+m 78 0 39
+n 55 0 40
+o 46 0 41
+p 50 1 42
+q 46 1 43
+r 42 0 44
+s 48 0 45
+t 31 2 46
+u 55 0 47
+v 45 0 48
+w 69 0 49
+x 42 0 50
+y 47 1 51
+z 38 0 52
+1 52 2 53 font 18001
+2 52 2 54 font 18001
+3 52 2 55 font 18001
+4 52 2 56 font 18001
+5 52 2 57 font 18001
+6 52 2 58 font 18001
+7 52 2 59 font 18001
+8 52 2 60 font 18001
+9 52 2 61 font 18001
+0 52 2 62 font 18001
+$ 52 0 63 font 18001
+ct 52 3 64 font 18001
+& 75 0 65 font 18081
+: 26 0 66 font 18001
+; 26 0 67 font 18001
+. 26 0 68 font 18001
+, 26 0 69 font 18001
+` 26 0 70 font 18001
+' 26 0 71 font 18001
+? 43 0 72 font 18001
+! 26 0 73 font 18001
+% 75 0 74 font 18001
+* 52 0 75 font 18001
+( 34 0 76 font 18001
+) 34 0 77 font 18001
+/ 52 2 78 font 18001
+hy 34 0 79 font 18001
+- "
+em 104 0 80 font 18001
+14 78 2 91 font 18001
+12 78 2 92 font 18001
+34 78 2 93 font 18001
+co 50 2 111 font 18001
+rg 50 2 112 font 18001
+tm 50 2 113 font 18001
+# 78 0 116 font 18001
+@ 104 0 120 font 18001
+bu 28 0 121 font 18001
+de 52 2 123 font 18001
+dg 52 3 124 font 18001
+dd 52 2 125 font 18001
+sc 52 3 126 font 18001
+[ 29 0 127 font 18001
+] 30 0 128 font 18001
diff --git a/troff/troff.d/devaps/H b/troff/troff.d/devaps/H
new file mode 100644
index 0000000000000..df55b2cd390d9
--- /dev/null
+++ b/troff/troff.d/devaps/H
@@ -0,0 +1,139 @@
+#ident "@(#)H 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Regular (also Geneva Regular)
+name H
+internalname 12641
+ligatures fi ff fl ffi ffl 0
+charset
+A 64 2 1
+B 64 2 2
+C 68 2 3
+D 66 2 4
+E 60 2 5
+F 60 2 6
+G 70 2 7
+H 63 2 8
+I 24 2 9
+J 51 2 10
+K 64 2 11
+L 56 2 12
+M 80 2 13
+N 66 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 66 2 18
+S 64 2 19
+T 56 2 20
+U 66 2 21
+V 64 2 22
+W 90 2 23
+X 64 2 24
+Y 66 2 25
+Z 60 2 26
+a 56 0 27
+b 56 2 28
+c 54 0 29
+d 56 2 30
+e 56 0 31
+f 30 2 32
+g 56 1 33
+h 54 2 34
+i 24 0 35
+j 24 1 36
+k 52 2 37
+l 24 2 38
+m 76 0 39
+n 50 0 40
+o 56 0 41
+p 56 1 42
+q 56 1 43
+r 34 0 44
+s 52 0 45
+t 32 2 46
+u 50 0 47
+v 48 0 48
+w 70 0 49
+x 52 0 50
+y 50 1 51
+z 48 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 64 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 52 0 72
+! 28 0 73
+% 84 0 74
+* 56 0 75
+( 36 0 76
+) 36 0 77
+/ 56 2 78
+hy 32 0 79
+- "
+em 112 0 80
+ff 53 2 82
+fi 48 2 83
+fl 48 2 84
+Fi 71 2 85
+Fl 71 2 86
+14 84 2 91
+12 84 2 92
+34 84 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 84 0 120
+bu 28 0 121
+de 56 2 123
+dg 56 3 124
+dd 56 2 125
+sc 56 3 126
+[ 32 0 127
+] 32 0 128
diff --git a/troff/troff.d/devaps/HB b/troff/troff.d/devaps/HB
new file mode 100644
index 0000000000000..ef1a515ee1734
--- /dev/null
+++ b/troff/troff.d/devaps/HB
@@ -0,0 +1,139 @@
+#ident "@(#)HB 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Black (also Helvetica Medium, Geneva Medium)
+name HB
+internalname 12561
+ligatures fi ff fl ffi ffl 0
+charset
+A 66 2 1
+B 66 2 2
+C 70 2 3
+D 70 2 4
+E 64 2 5
+F 62 2 6
+G 74 2 7
+H 66 2 8
+I 28 2 9
+J 54 2 10
+K 68 2 11
+L 56 2 12
+M 80 2 13
+N 68 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 64 2 18
+S 64 2 19
+T 62 2 20
+U 68 2 21
+V 64 2 22
+W 90 2 23
+X 62 2 24
+Y 62 2 25
+Z 62 2 26
+a 56 0 27
+b 60 2 28
+c 56 0 29
+d 60 2 30
+e 58 0 31
+f 36 2 32
+g 60 1 33
+h 56 2 34
+i 26 0 35
+j 26 1 36
+k 58 2 37
+l 26 2 38
+m 84 0 39
+n 58 0 40
+o 60 0 41
+p 60 1 42
+q 60 1 43
+r 38 0 44
+s 52 0 45
+t 36 2 46
+u 56 0 47
+v 52 0 48
+w 78 0 49
+x 56 0 50
+y 54 1 51
+z 50 0 52
+1 60 2 53
+2 60 2 54
+3 60 2 55
+4 60 2 56
+5 60 2 57
+6 60 2 58
+7 60 2 59
+8 60 2 60
+9 60 2 61
+0 60 2 62
+$ 60 0 63
+ct 60 3 64
+& 70 0 65
+: 30 0 66
+; 30 0 67
+. 30 0 68
+, 30 0 69
+` 30 0 70
+' 30 0 71
+? 30 0 72
+! 30 0 73
+% 90 0 74
+* 30 0 75
+( 32 0 76
+) 32 0 77
+/ 60 2 78
+hy 30 0 79
+- "
+em 120 0 80
+ff 61 2 82
+fi 54 2 83
+fl 54 2 84
+Fi 83 2 85
+Fl 83 2 86
+14 90 2 91
+12 90 2 92
+34 90 2 93
+co 64 2 111
+rg 64 2 112
+tm 64 2 113
+# 90 0 116
+@ 90 0 120
+bu 28 0 121
+de 30 2 123
+dg 60 3 124
+dd 60 2 125
+sc 60 3 126
+[ 30 0 127
+] 30 0 128
diff --git a/troff/troff.d/devaps/HI b/troff/troff.d/devaps/HI
new file mode 100644
index 0000000000000..0c984a856afa0
--- /dev/null
+++ b/troff/troff.d/devaps/HI
@@ -0,0 +1,141 @@
+#ident "@(#)HI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Italic (also Geneva Italic)
+name HI
+internalname 12641
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+alternate_font
+charset
+A 64 2 1
+B 64 2 2
+C 68 2 3
+D 66 2 4
+E 60 2 5
+F 60 2 6
+G 70 2 7
+H 63 2 8
+I 24 2 9
+J 51 2 10
+K 64 2 11
+L 56 2 12
+M 80 2 13
+N 66 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 66 2 18
+S 64 2 19
+T 56 2 20
+U 66 2 21
+V 64 2 22
+W 90 2 23
+X 64 2 24
+Y 66 2 25
+Z 60 2 26
+a 56 0 27
+b 56 2 28
+c 54 0 29
+d 56 2 30
+e 56 0 31
+f 30 2 32
+g 56 1 33
+h 54 2 34
+i 24 0 35
+j 24 1 36
+k 52 2 37
+l 24 2 38
+m 76 0 39
+n 50 0 40
+o 56 0 41
+p 56 1 42
+q 56 1 43
+r 34 0 44
+s 52 0 45
+t 32 2 46
+u 50 0 47
+v 48 0 48
+w 70 0 49
+x 52 0 50
+y 50 1 51
+z 48 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 64 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 52 0 72
+! 28 0 73
+% 84 0 74
+* 56 0 75
+( 36 0 76
+) 36 0 77
+/ 56 2 78
+hy 32 0 79
+- "
+em 112 0 80
+ff 53 2 82
+fi 48 2 83
+fl 48 2 84
+Fi 71 2 85
+Fl 71 2 86
+14 84 2 91
+12 84 2 92
+34 84 2 93
+co 50 2 111 slant 0
+rg 50 2 112 slant 0
+tm 50 2 113 slant 0
+# 75 0 116
+@ 84 0 120
+bu 28 0 121 slant 0
+de 56 2 123 slant 0
+dg 56 3 124
+dd 56 2 125
+sc 56 3 126
+[ 32 0 127
+] 32 0 128
diff --git a/troff/troff.d/devaps/HK b/troff/troff.d/devaps/HK
new file mode 100644
index 0000000000000..3e5677903ce1a
--- /dev/null
+++ b/troff/troff.d/devaps/HK
@@ -0,0 +1,140 @@
+#ident "@(#)HK 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Light Italic 2
+name HK
+internalname 12491
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+charset
+A 65 2 1
+B 64 2 2
+C 70 2 3
+D 69 2 4
+E 60 2 5
+F 56 2 6
+G 75 2 7
+H 69 2 8
+I 21 2 9
+J 48 2 10
+K 65 2 11
+L 54 2 12
+M 79 2 13
+N 67 2 14
+O 75 2 15
+P 60 2 16
+Q 75 2 17
+R 65 2 18
+S 61 2 19
+T 56 2 20
+U 69 2 21
+V 63 2 22
+W 89 2 23
+X 61 2 24
+Y 62 2 25
+Z 62 2 26
+a 52 0 27
+b 58 2 28
+c 52 0 29
+d 58 2 30
+e 53 0 31
+f 29 2 32
+g 58 1 33
+h 54 2 34
+i 21 0 35
+j 22 1 36
+k 50 2 37
+l 21 2 38
+m 81 0 39
+n 54 0 40
+o 53 0 41
+p 58 1 42
+q 58 1 43
+r 32 0 44
+s 49 0 45
+t 32 2 46
+u 54 0 47
+v 49 0 48
+w 73 0 49
+x 49 0 50
+y 49 1 51
+z 49 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 63 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 50 0 72
+! 21 0 73
+% 85 0 74
+* 38 0 75
+( 30 0 76
+) 30 0 77
+/ 38 2 78
+hy 27 0 79
+- "
+em 104 0 80
+ff 52 2 82
+fi 47 2 83
+fl 47 2 84
+Fi 70 2 85
+Fl 70 2 86
+14 88 2 91
+12 88 2 92
+34 88 2 93
+co 81 2 111 slant 0
+rg 81 2 112 slant 0
+tm 60 2 113 slant 0
+# 78 0 116
+@ 100 0 120
+bu 28 0 121 slant 0
+de 41 2 123 slant 0
+dg 52 3 124
+dd 52 2 125
+sc 52 3 126
+[ 34 0 127
+] 34 0 128
diff --git a/troff/troff.d/devaps/HL b/troff/troff.d/devaps/HL
new file mode 100644
index 0000000000000..a86a8a12efeec
--- /dev/null
+++ b/troff/troff.d/devaps/HL
@@ -0,0 +1,139 @@
+#ident "@(#)HL 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Light 2
+name HL
+internalname 12491
+ligatures fi ff fl ffi ffl 0
+charset
+A 65 2 1
+B 64 2 2
+C 70 2 3
+D 69 2 4
+E 60 2 5
+F 56 2 6
+G 75 2 7
+H 69 2 8
+I 21 2 9
+J 48 2 10
+K 65 2 11
+L 54 2 12
+M 79 2 13
+N 67 2 14
+O 75 2 15
+P 60 2 16
+Q 75 2 17
+R 65 2 18
+S 61 2 19
+T 56 2 20
+U 69 2 21
+V 63 2 22
+W 89 2 23
+X 61 2 24
+Y 62 2 25
+Z 62 2 26
+a 52 0 27
+b 58 2 28
+c 52 0 29
+d 58 2 30
+e 53 0 31
+f 29 2 32
+g 58 1 33
+h 54 2 34
+i 21 0 35
+j 22 1 36
+k 50 2 37
+l 21 2 38
+m 81 0 39
+n 54 0 40
+o 53 0 41
+p 58 1 42
+q 58 1 43
+r 32 0 44
+s 49 0 45
+t 32 2 46
+u 54 0 47
+v 49 0 48
+w 73 0 49
+x 49 0 50
+y 49 1 51
+z 49 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 63 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 50 0 72
+! 21 0 73
+% 85 0 74
+* 38 0 75
+( 30 0 76
+) 30 0 77
+/ 38 2 78
+hy 27 0 79
+- "
+em 104 0 80
+ff 52 2 82
+fi 47 2 83
+fl 47 2 84
+Fi 70 2 85
+Fl 70 2 86
+14 88 2 91
+12 88 2 92
+34 88 2 93
+co 81 2 111
+rg 81 2 112
+tm 60 2 113
+# 78 0 116
+@ 100 0 120
+bu 28 0 121
+de 41 2 123
+dg 52 3 124
+dd 52 2 125
+sc 52 3 126
+[ 34 0 127
+] 34 0 128
diff --git a/troff/troff.d/devaps/HX b/troff/troff.d/devaps/HX
new file mode 100644
index 0000000000000..6b816e0c6c17d
--- /dev/null
+++ b/troff/troff.d/devaps/HX
@@ -0,0 +1,140 @@
+#ident "@(#)HX 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Helvetica Black Italic
+name HX
+internalname 12561
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+charset
+A 66 2 1
+B 66 2 2
+C 70 2 3
+D 70 2 4
+E 64 2 5
+F 62 2 6
+G 74 2 7
+H 66 2 8
+I 28 2 9
+J 54 2 10
+K 68 2 11
+L 56 2 12
+M 80 2 13
+N 68 2 14
+O 74 2 15
+P 62 2 16
+Q 76 2 17
+R 64 2 18
+S 64 2 19
+T 62 2 20
+U 68 2 21
+V 64 2 22
+W 90 2 23
+X 62 2 24
+Y 62 2 25
+Z 62 2 26
+a 56 0 27
+b 60 2 28
+c 56 0 29
+d 60 2 30
+e 58 0 31
+f 36 2 32
+g 60 1 33
+h 56 2 34
+i 26 0 35
+j 26 1 36
+k 58 2 37
+l 26 2 38
+m 84 0 39
+n 58 0 40
+o 60 0 41
+p 60 1 42
+q 60 1 43
+r 38 0 44
+s 52 0 45
+t 36 2 46
+u 56 0 47
+v 52 0 48
+w 78 0 49
+x 56 0 50
+y 54 1 51
+z 50 0 52
+1 60 2 53
+2 60 2 54
+3 60 2 55
+4 60 2 56
+5 60 2 57
+6 60 2 58
+7 60 2 59
+8 60 2 60
+9 60 2 61
+0 60 2 62
+$ 60 0 63
+ct 60 3 64
+& 70 0 65
+: 30 0 66
+; 30 0 67
+. 30 0 68
+, 30 0 69
+` 30 0 70
+' 30 0 71
+? 30 0 72
+! 30 0 73
+% 90 0 74
+* 30 0 75
+( 32 0 76
+) 32 0 77
+/ 60 2 78
+hy 30 0 79
+- "
+em 120 0 80
+ff 61 2 82
+fi 54 2 83
+fl 54 2 84
+Fi 83 2 85
+Fl 83 2 86
+14 90 2 91
+12 90 2 92
+34 90 2 93
+co 64 2 111 slant 0
+rg 64 2 112 slant 0
+tm 64 2 113 slant 0
+# 90 0 116
+@ 90 0 120
+bu 28 0 121 slant 0
+de 30 2 123 slant 0
+dg 60 3 124
+dd 60 2 125
+sc 60 3 126
+[ 30 0 127
+] 30 0 128
diff --git a/troff/troff.d/devaps/I b/troff/troff.d/devaps/I
new file mode 100644
index 0000000000000..414775aac63d1
--- /dev/null
+++ b/troff/troff.d/devaps/I
@@ -0,0 +1,148 @@
+#ident "@(#)I 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Times Roman Italic (with 15 characters from new disk)
+name I
+internalname 29241
+alternate_font
+ligatures fi ff fl ffi ffl 0
+charset
+A 73 2 1
+B 65 2 2
+C 69 2 3
+D 73 2 4
+E 70 2 5
+F 63 2 6
+G 72 2 7
+H 82 2 8
+I 40 2 9
+J 52 2 10
+K 72 2 11
+L 62 2 12
+M 97 2 13
+N 79 2 14
+O 72 2 15
+P 63 2 16
+Q 74 2 17
+R 75 2 18
+S 63 2 19
+T 69 2 20
+U 72 2 21
+V 68 2 22
+W 94 2 23
+X 71 2 24
+Y 69 2 25
+Z 72 2 26
+a 52 0 27
+b 51 2 28
+c 43 0 29
+d 55 2 30
+e 44 0 31
+f 36 2 32
+g 50 1 33
+h 55 2 34
+i 30 0 35
+j 34 1 36
+k 57 2 37
+l 32 2 38
+m 82 0 39
+n 51 0 40
+o 51 0 41
+p 53 1 42
+q 52 1 43
+r 40 0 44
+s 41 0 45
+t 34 2 46
+u 56 0 47
+v 45 0 48
+w 67 0 49
+x 56 0 50
+y 50 1 51
+z 46 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 84 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 44 0 72
+! 36 0 73
+% 104 0 74
+* 52 0 75
+( 40 0 86 font 21
+) 40 0 87 font 21
+/ 24 2 90 font 21
+hy 45 0 98 font 21
+- "
+em 96 0 97 font 21
+en 52 0 81
+ff 62 2 82
+fi 58 2 83
+fl 60 2 84
+Fi 84 2 85
+Fl 88 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 72 0 13 font 21
+@ 96 0 14 font 21
+bu 72 0 95 font 21
+de 54 2 123
+dg 52 3 124
+dd 46 2 49 font 21
+sc 46 3 42 font 21
+[ 34 0 92 font 21
+] 34 0 93 font 21
++ 96 0 88 font 21
+\- 96 0 89 font 21
+= 96 0 91 font 21
+| 29 0 94 font 21
+sq 72 0 96 font 21
+ru 46 0 99 font 21
+fm 19 2 100 font 21
diff --git a/troff/troff.d/devaps/MB b/troff/troff.d/devaps/MB
new file mode 100644
index 0000000000000..1243b76c76d54
--- /dev/null
+++ b/troff/troff.d/devaps/MB
@@ -0,0 +1,139 @@
+#ident "@(#)MB 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Malibu 2 Bold Roman
+name MB
+internalname 18031
+ligatures fi ff fl ffi ffl 0
+charset
+A 81 2 1
+B 65 2 2
+C 74 2 3
+D 83 2 4
+E 63 2 5
+F 58 2 6
+G 80 2 7
+H 80 2 8
+I 38 2 9
+J 37 2 10
+K 74 2 11
+L 60 2 12
+M 98 2 13
+N 83 2 14
+O 85 2 15
+P 62 2 16
+Q 82 2 17
+R 73 2 18
+S 60 2 19
+T 70 2 20
+U 77 2 21
+V 79 2 22
+W 101 2 23
+X 66 2 24
+Y 70 2 25
+Z 64 2 26
+a 51 0 27
+b 60 2 28
+c 45 0 29
+d 60 2 30
+e 51 0 31
+f 37 2 32
+g 54 1 33
+h 64 2 34
+i 35 0 35
+j 33 1 36
+k 60 2 37
+l 35 2 38
+m 91 0 39
+n 62 0 40
+o 55 0 41
+p 60 1 42
+q 61 1 43
+r 41 0 44
+s 44 0 45
+t 35 2 46
+u 62 0 47
+v 59 0 48
+w 85 0 49
+x 53 0 50
+y 59 1 51
+z 52 0 52
+1 50 2 53
+2 50 2 54
+3 50 2 55
+4 50 2 56
+5 50 2 57
+6 50 2 58
+7 50 2 59
+8 50 2 60
+9 50 2 61
+0 50 2 62
+$ 50 0 63
+ct 50 3 64
+& 79 0 65
+: 25 0 66
+; 25 0 67
+. 25 0 68
+, 25 0 69
+` 25 0 70
+' 25 0 71
+? 44 0 72
+! 25 0 73
+% 84 0 74
+* 50 0 75
+( 29 0 76
+) 30 0 77
+/ 55 2 78
+hy 39 0 79
+- "
+em 100 0 80
+ff 72 2 82
+fi 61 2 83
+fl 62 2 84
+Fi 96 2 85
+Fl 96 2 86
+14 88 2 91
+12 88 2 92
+34 88 2 93
+co 82 2 111
+rg 82 2 112
+tm 105 2 113
+# 75 0 116
+@ 103 0 120
+bu 28 0 121
+de 50 2 123
+dg 50 3 124
+dd 49 2 125
+sc 50 3 126
+[ 33 0 127
+] 33 0 128
diff --git a/troff/troff.d/devaps/MI b/troff/troff.d/devaps/MI
new file mode 100644
index 0000000000000..8e3f329f6c8e4
--- /dev/null
+++ b/troff/troff.d/devaps/MI
@@ -0,0 +1,139 @@
+#ident "@(#)MI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Malibu 2 Italic
+name MI
+internalname 18021
+ligatures fi ff fl ffi ffl 0
+charset
+A 68 2 1
+B 57 2 2
+C 65 2 3
+D 73 2 4
+E 56 2 5
+F 53 2 6
+G 71 2 7
+H 78 2 8
+I 36 2 9
+J 34 2 10
+K 61 2 11
+L 53 2 12
+M 90 2 13
+N 77 2 14
+O 76 2 15
+P 60 2 16
+Q 78 2 17
+R 64 2 18
+S 49 2 19
+T 60 2 20
+U 75 2 21
+V 68 2 22
+W 86 2 23
+X 66 2 24
+Y 61 2 25
+Z 59 2 26
+a 48 0 27
+b 49 2 28
+c 43 0 29
+d 52 2 30
+e 44 0 31
+f 29 2 32
+g 48 1 33
+h 54 2 34
+i 30 0 35
+j 29 1 36
+k 46 2 37
+l 30 2 38
+m 78 0 39
+n 55 0 40
+o 47 0 41
+p 53 1 42
+q 48 1 43
+r 38 0 44
+s 39 0 45
+t 33 2 46
+u 55 0 47
+v 53 0 48
+w 74 0 49
+x 47 0 50
+y 49 1 51
+z 41 0 52
+1 50 2 53
+2 50 2 54
+3 50 2 55
+4 50 2 56
+5 50 2 57
+6 50 2 58
+7 50 2 59
+8 50 2 60
+9 50 2 61
+0 50 2 62
+$ 50 0 63
+ct 50 3 64
+& 77 0 65
+: 25 0 66
+; 25 0 67
+. 25 0 68
+, 25 0 69
+` 25 0 70
+' 25 0 71
+? 35 0 72
+! 25 0 73
+% 86 0 74
+* 39 0 75
+( 24 0 76
+) 24 0 77
+/ 57 2 78
+hy 39 0 79
+- "
+em 100 0 80
+ff 55 2 82
+fi 54 2 83
+fl 55 2 84
+Fi 78 2 85
+Fl 79 2 86
+14 72 2 91
+12 72 2 92
+34 72 2 93
+co 91 2 111
+rg 91 2 112
+tm 101 2 113
+# 61 0 116
+@ 96 0 120
+bu 28 0 121
+de 41 2 123
+dg 48 3 124
+dd 48 2 125
+sc 48 3 126
+[ 35 0 127
+] 37 0 128
diff --git a/troff/troff.d/devaps/MR b/troff/troff.d/devaps/MR
new file mode 100644
index 0000000000000..9f446d6973ef5
--- /dev/null
+++ b/troff/troff.d/devaps/MR
@@ -0,0 +1,139 @@
+#ident "@(#)MR 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Malibu 2 Roman
+name MR
+internalname 18011
+ligatures fi ff fl ffi ffl 0
+charset
+A 75 2 1
+B 59 2 2
+C 72 2 3
+D 77 2 4
+E 60 2 5
+F 54 2 6
+G 79 2 7
+H 81 2 8
+I 33 2 9
+J 31 2 10
+K 67 2 11
+L 59 2 12
+M 93 2 13
+N 83 2 14
+O 81 2 15
+P 63 2 16
+Q 79 2 17
+R 66 2 18
+S 58 2 19
+T 62 2 20
+U 77 2 21
+V 71 2 22
+W 97 2 23
+X 63 2 24
+Y 66 2 25
+Z 63 2 26
+a 50 0 27
+b 56 2 28
+c 44 0 29
+d 58 2 30
+e 49 0 31
+f 33 2 32
+g 53 1 33
+h 60 2 34
+i 28 0 35
+j 28 1 36
+k 55 2 37
+l 29 2 38
+m 87 0 39
+n 59 0 40
+o 55 0 41
+p 58 1 42
+q 54 1 43
+r 37 0 44
+s 42 0 45
+t 32 2 46
+u 58 0 47
+v 55 0 48
+w 81 0 49
+x 49 0 50
+y 55 1 51
+z 49 0 52
+1 54 2 53
+2 54 2 54
+3 54 2 55
+4 54 2 56
+5 54 2 57
+6 54 2 58
+7 54 2 59
+8 54 2 60
+9 54 2 61
+0 54 2 62
+$ 54 0 63
+ct 54 3 64
+& 76 0 65
+: 27 0 66
+; 27 0 67
+. 27 0 68
+, 27 0 69
+` 27 0 70
+' 27 0 71
+? 41 0 72
+! 25 0 73
+% 94 0 74
+* 45 0 75
+( 33 0 76
+) 32 0 77
+/ 59 2 78
+hy 37 0 79
+- "
+em 108 0 80
+ff 65 2 82
+fi 58 2 83
+fl 59 2 84
+Fi 91 2 85
+Fl 89 2 86
+14 88 2 91
+12 88 2 92
+34 88 2 93
+co 91 2 111
+rg 91 2 112
+tm 95 2 113
+# 65 0 116
+@ 99 0 120
+bu 28 0 121
+de 50 2 123
+dg 50 3 124
+dd 51 2 125
+sc 51 3 126
+[ 27 0 127
+] 28 0 128
diff --git a/troff/troff.d/devaps/MX b/troff/troff.d/devaps/MX
new file mode 100644
index 0000000000000..1b455daedef36
--- /dev/null
+++ b/troff/troff.d/devaps/MX
@@ -0,0 +1,139 @@
+#ident "@(#)MX 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Malibu 2 Bold Italic
+name MX
+internalname 18051
+ligatures fi ff fl ffi ffl 0
+charset
+A 75 2 1
+B 66 2 2
+C 68 2 3
+D 79 2 4
+E 64 2 5
+F 61 2 6
+G 77 2 7
+H 78 2 8
+I 38 2 9
+J 37 2 10
+K 74 2 11
+L 59 2 12
+M 96 2 13
+N 81 2 14
+O 78 2 15
+P 66 2 16
+Q 81 2 17
+R 70 2 18
+S 52 2 19
+T 68 2 20
+U 77 2 21
+V 70 2 22
+W 102 2 23
+X 73 2 24
+Y 62 2 25
+Z 68 2 26
+a 55 0 27
+b 56 2 28
+c 44 0 29
+d 60 2 30
+e 45 0 31
+f 39 2 32
+g 53 1 33
+h 56 2 34
+i 34 0 35
+j 35 1 36
+k 54 2 37
+l 35 2 38
+m 82 0 39
+n 57 0 40
+o 53 0 41
+p 58 1 42
+q 55 1 43
+r 45 0 44
+s 43 0 45
+t 41 2 46
+u 58 0 47
+v 54 0 48
+w 81 0 49
+x 55 0 50
+y 57 1 51
+z 48 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 83 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 45 0 72
+! 25 0 73
+% 86 0 74
+* 56 0 75
+( 28 0 76
+) 28 0 77
+/ 67 2 78
+hy 44 0 79
+- "
+em 112 0 80
+ff 69 2 82
+fi 63 2 83
+fl 64 2 84
+Fi 92 2 85
+Fl 94 2 86
+14 87 2 91
+12 87 2 92
+34 87 2 93
+co 85 2 111
+rg 84 2 112
+tm 105 2 113
+# 84 0 116
+@ 112 0 120
+bu 28 0 121
+de 55 2 123
+dg 56 3 124
+dd 56 2 125
+sc 56 3 126
+[ 39 0 127
+] 39 0 128
diff --git a/troff/troff.d/devaps/Makefile.mk b/troff/troff.d/devaps/Makefile.mk
new file mode 100644
index 0000000000000..92e3d7f1c3fd2
--- /dev/null
+++ b/troff/troff.d/devaps/Makefile.mk
@@ -0,0 +1,48 @@
+OBJ = daps.o build.o draw.o getopt.o version.o
+
+FONTS = B I R S CT CW CX GB GI GR GS HI HK HX PO PX S1 SC SM TX DESC \
+ C G H BI CE CI HB HL MB MI MR MX PA PB PI TB
+
+FLAGS = -I. -I.. -DFNTDIR='"$(FNTDIR)"'
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: daps makedev fonts HM.out
+
+daps: $(OBJ)
+ $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -lm -o daps
+
+makedev: makedev.o
+ $(CC) $(LDFLAGS) makedev.o $(LIBS) -o makedev
+
+fonts: makedev
+ for i in $(FONTS); \
+ do \
+ ./makedev $$i || exit; \
+ done
+
+HM.out: HB.out
+ rm -f $@
+ ln -s HB.out $@
+
+HB.out: fonts
+
+install: all
+ $(INSTALL) -c daps $(ROOT)$(BINDIR)/daps
+ $(STRIP) $(ROOT)$(BINDIR)/daps
+ mkdir -p $(ROOT)$(FNTDIR)/devaps
+ for i in $(FONTS) *.add *.out version; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(FNTDIR)/devaps/$$i || exit; \
+ done
+
+clean:
+ rm -f $(OBJ) daps makedev.o makedev *.add *.out core log *~
+
+mrproper: clean
+
+build.o: build.c daps.h
+daps.o: daps.c aps.h dev.h daps.h daps.g
+makedev.o: makedev.c dev.h
+draw.o: draw.c ../draw.c
diff --git a/troff/troff.d/devaps/PA b/troff/troff.d/devaps/PA
new file mode 100644
index 0000000000000..18125b304a23c
--- /dev/null
+++ b/troff/troff.d/devaps/PA
@@ -0,0 +1,139 @@
+#ident "@(#)PA 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Palatino (also Malibu)
+name PA
+internalname 18001
+ligatures fi ff fl ffi ffl 0
+charset
+A 76 2 1
+B 60 2 2
+C 70 2 3
+D 78 2 4
+E 58 2 5
+F 56 2 6
+G 74 2 7
+H 85 2 8
+I 36 2 9
+J 37 2 10
+K 73 2 11
+L 61 2 12
+M 96 2 13
+N 85 2 14
+O 80 2 15
+P 62 2 16
+Q 78 2 17
+R 67 2 18
+S 55 2 19
+T 62 2 20
+U 79 2 21
+V 73 2 22
+W 98 2 23
+X 68 2 24
+Y 68 2 25
+Z 66 2 26
+a 48 0 27
+b 57 2 28
+c 45 0 29
+d 60 2 30
+e 50 0 31
+f 37 2 32
+g 57 1 33
+h 63 2 34
+i 32 0 35
+j 24 1 36
+k 57 2 37
+l 33 2 38
+m 88 0 39
+n 63 0 40
+o 55 0 41
+p 60 1 42
+q 57 1 43
+r 41 0 44
+s 41 0 45
+t 34 2 46
+u 60 0 47
+v 57 0 48
+w 83 0 49
+x 51 0 50
+y 56 1 51
+z 50 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 75 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 43 0 72
+! 26 0 73
+% 75 0 74
+* 52 0 75
+( 34 0 76
+) 34 0 77
+/ 52 2 78
+hy 34 0 79
+- "
+em 104 0 80
+ff 66 2 82
+fi 63 2 83
+fl 63 2 84
+Fi 92 2 85
+Fl 92 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 78 0 116
+@ 104 0 120
+bu 28 0 121
+de 52 2 123
+dg 52 3 124
+dd 52 2 125
+sc 52 3 126
+[ 29 0 127
+] 30 0 128
diff --git a/troff/troff.d/devaps/PB b/troff/troff.d/devaps/PB
new file mode 100644
index 0000000000000..8bae7a197ba95
--- /dev/null
+++ b/troff/troff.d/devaps/PB
@@ -0,0 +1,139 @@
+#ident "@(#)PB 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Palatino Bold (also Malibu Bold)
+name PB
+internalname 18041
+ligatures fi ff fl ffi ffl 0
+charset
+A 78 2 1
+B 63 2 2
+C 72 2 3
+D 84 2 4
+E 61 2 5
+F 57 2 6
+G 79 2 7
+H 86 2 8
+I 41 2 9
+J 43 2 10
+K 78 2 11
+L 63 2 12
+M 102 2 13
+N 85 2 14
+O 84 2 15
+P 63 2 16
+Q 84 2 17
+R 74 2 18
+S 58 2 19
+T 67 2 20
+U 79 2 21
+V 79 2 22
+W 101 2 23
+X 68 2 24
+Y 69 2 25
+Z 65 2 26
+a 50 0 27
+b 61 2 28
+c 46 0 29
+d 61 2 30
+e 50 0 31
+f 41 2 32
+g 56 1 33
+h 63 2 34
+i 35 0 35
+j 32 1 36
+k 63 2 37
+l 35 2 38
+m 91 0 39
+n 63 0 40
+o 57 0 41
+p 61 1 42
+q 61 1 43
+r 42 0 44
+s 43 0 45
+t 37 2 46
+u 61 0 47
+v 59 0 48
+w 85 0 49
+x 52 0 50
+y 59 1 51
+z 50 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 80 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 49 0 72
+! 26 0 73
+% 78 0 74
+* 52 0 75
+( 34 0 76
+) 34 0 77
+/ 52 2 78
+hy 40 0 79
+- "
+em 104 0 80
+ff 77 2 82
+fi 71 2 83
+fl 71 2 84
+Fi 105 2 85
+Fl 105 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 101 0 120
+bu 28 0 121
+de 39 2 123
+dg 50 3 124
+dd 50 2 125
+sc 50 3 126
+[ 25 0 127
+] 25 0 128
diff --git a/troff/troff.d/devaps/PI b/troff/troff.d/devaps/PI
new file mode 100644
index 0000000000000..551ca7f306ab8
--- /dev/null
+++ b/troff/troff.d/devaps/PI
@@ -0,0 +1,139 @@
+#ident "@(#)PI 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Palatino Italic (also Malibu Italic)
+name PI
+internalname 18081
+ligatures fi ff fl ffi ffl 0
+charset
+A 72 2 1
+B 58 2 2
+C 63 2 3
+D 74 2 4
+E 55 2 5
+F 56 2 6
+G 68 2 7
+H 79 2 8
+I 35 2 9
+J 37 2 10
+K 68 2 11
+L 54 2 12
+M 99 2 13
+N 80 2 14
+O 75 2 15
+P 59 2 16
+Q 74 2 17
+R 65 2 18
+S 50 2 19
+T 60 2 20
+U 77 2 21
+V 71 2 22
+W 93 2 23
+X 72 2 24
+Y 69 2 25
+Z 63 2 26
+a 47 0 27
+b 43 2 28
+c 42 0 29
+d 52 2 30
+e 42 0 31
+f 34 2 32
+g 49 1 33
+h 52 2 34
+i 25 0 35
+j 30 1 36
+k 49 2 37
+l 29 2 38
+m 77 0 39
+n 54 0 40
+o 46 0 41
+p 51 1 42
+q 46 1 43
+r 38 0 44
+s 37 0 45
+t 34 2 46
+u 52 0 47
+v 51 0 48
+w 72 0 49
+x 49 0 50
+y 52 1 51
+z 45 0 52
+1 50 2 53
+2 50 2 54
+3 50 2 55
+4 50 2 56
+5 50 2 57
+6 50 2 58
+7 50 2 59
+8 50 2 60
+9 50 2 61
+0 50 2 62
+$ 50 0 63
+ct 50 3 64
+& 75 0 65
+: 25 0 66
+; 25 0 67
+. 25 0 68
+, 25 0 69
+` 25 0 70
+' 25 0 71
+? 40 0 72
+! 25 0 73
+% 75 0 74
+* 55 0 75
+( 34 0 76
+) 34 0 77
+/ 50 2 78
+hy 38 0 79
+- "
+em 100 0 80
+ff 57 2 82
+fi 54 2 83
+fl 57 2 84
+Fi 78 2 85
+Fl 80 2 86
+14 75 2 91
+12 75 2 92
+34 75 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 100 0 120
+bu 28 0 121
+de 50 2 123
+dg 50 3 124
+dd 50 2 125
+sc 50 3 126
+[ 34 0 127
+] 34 0 128
diff --git a/troff/troff.d/devaps/PO b/troff/troff.d/devaps/PO
new file mode 100644
index 0000000000000..9d18dd009e43f
--- /dev/null
+++ b/troff/troff.d/devaps/PO
@@ -0,0 +1,147 @@
+#ident "@(#)PO 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Constant Width (also CW)
+name PO
+internalname 10941
+spacewidth 68
+max_range 2
+charset
+A 68 2 1
+B 68 2 2
+C 68 2 3
+D 68 2 4
+E 68 2 5
+F 68 2 6
+G 68 2 7
+H 68 2 8
+I 68 2 9
+J 68 2 10
+K 68 2 11
+L 68 2 12
+M 68 2 13
+N 68 2 14
+O 68 2 15
+P 68 2 16
+Q 68 2 17
+R 68 2 18
+S 68 2 19
+T 68 2 20
+U 68 2 21
+V 68 2 22
+W 68 2 23
+X 68 2 24
+Y 68 2 25
+Z 68 2 26
+a 68 0 27
+b 68 2 28
+c 68 0 29
+d 68 2 30
+e 68 0 31
+f 68 2 32
+g 68 1 33
+h 68 2 34
+i 68 0 35
+j 68 1 36
+k 68 2 37
+l 68 2 38
+m 68 0 39
+n 68 0 40
+o 68 0 41
+p 68 1 42
+q 68 1 43
+r 68 0 44
+s 68 0 45
+t 68 2 46
+u 68 0 47
+v 68 0 48
+w 68 0 49
+x 68 0 50
+y 68 1 51
+z 68 0 52
+1 68 2 53
+2 68 2 54
+3 68 2 55
+4 68 2 56
+5 68 2 57
+6 68 2 58
+7 68 2 59
+8 68 2 60
+9 68 2 61
+0 68 2 62
+$ 68 0 63
+ct 68 3 64
+& 68 0 65
+: 68 0 66
+; 68 0 67
+. 68 0 68
+, 68 0 69
+` 68 0 70
+' 68 0 71
+? 68 0 72
+! 68 0 73
+% 68 0 74
+* 68 0 75
+( 68 0 76
+) 68 0 77
+/ 68 2 78
+sl "
+hy 68 0 79
+- "
+= 68 0 80
++ 68 0 81
+no 68 0 82
+< 68 0 83
+> 68 0 84
+{ 68 0 85
+} 68 0 86
+^ 68 0 91
+~ 68 0 92
+" 68 0 93
+fm 68 2 94
+_ 68 0 109
+ul "
+| 68 0 110
+or "
+lh 68 2 111
+\ 68 0 112
+# 68 0 116
+@ 68 0 120
+sq 68 0 121
+-> 68 0 122
+<- 68 0 123
+dg 68 3 124
+ua 68 3 125
+da 68 3 126
+[ 68 0 127
+] 68 0 128
diff --git a/troff/troff.d/devaps/PX b/troff/troff.d/devaps/PX
new file mode 100644
index 0000000000000..3a285dac59dca
--- /dev/null
+++ b/troff/troff.d/devaps/PX
@@ -0,0 +1,140 @@
+#ident "@(#)PX 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Palatino Bold Italic
+name PX
+internalname 18041
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+charset
+A 78 2 1
+B 63 2 2
+C 72 2 3
+D 84 2 4
+E 61 2 5
+F 57 2 6
+G 79 2 7
+H 86 2 8
+I 41 2 9
+J 43 2 10
+K 78 2 11
+L 63 2 12
+M 102 2 13
+N 85 2 14
+O 84 2 15
+P 63 2 16
+Q 84 2 17
+R 74 2 18
+S 58 2 19
+T 67 2 20
+U 79 2 21
+V 79 2 22
+W 101 2 23
+X 68 2 24
+Y 69 2 25
+Z 65 2 26
+a 50 0 27
+b 61 2 28
+c 46 0 29
+d 61 2 30
+e 50 0 31
+f 41 2 32
+g 56 1 33
+h 63 2 34
+i 35 0 35
+j 32 1 36
+k 63 2 37
+l 35 2 38
+m 91 0 39
+n 63 0 40
+o 57 0 41
+p 61 1 42
+q 61 1 43
+r 42 0 44
+s 43 0 45
+t 37 2 46
+u 61 0 47
+v 59 0 48
+w 85 0 49
+x 52 0 50
+y 59 1 51
+z 50 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 80 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 49 0 72
+! 26 0 73
+% 78 0 74
+* 52 0 75
+( 34 0 76
+) 34 0 77
+/ 52 2 78
+hy 40 0 79
+- "
+em 104 0 80
+ff 77 2 82
+fi 71 2 83
+fl 71 2 84
+Fi 105 2 85
+Fl 105 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111 slant 0
+rg 50 2 112 slant 0
+tm 50 2 113 slant 0
+# 75 0 116
+@ 101 0 120
+bu 28 0 121 slant 0
+de 39 2 123 slant 0
+dg 50 3 124
+dd 50 2 125
+sc 50 3 126
+[ 25 0 127
+] 25 0 128
diff --git a/troff/troff.d/devaps/R b/troff/troff.d/devaps/R
new file mode 100644
index 0000000000000..2a674f18c6918
--- /dev/null
+++ b/troff/troff.d/devaps/R
@@ -0,0 +1,148 @@
+#ident "@(#)R 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Times Roman (with 15 characters from new disk)
+name R
+internalname 29201
+alternate_font
+ligatures fi ff fl ffi ffl 0
+charset
+A 77 2 1
+B 67 2 2
+C 73 2 3
+D 77 2 4
+E 67 2 5
+F 63 2 6
+G 78 2 7
+H 83 2 8
+I 40 2 9
+J 48 2 10
+K 77 2 11
+L 67 2 12
+M 99 2 13
+N 85 2 14
+O 77 2 15
+P 61 2 16
+Q 77 2 17
+R 76 2 18
+S 60 2 19
+T 67 2 20
+U 80 2 21
+V 73 2 22
+W 103 2 23
+X 78 2 24
+Y 78 2 25
+Z 71 2 26
+a 50 0 27
+b 53 2 28
+c 45 0 29
+d 53 2 30
+e 45 0 31
+f 35 2 32
+g 51 1 33
+h 54 2 34
+i 28 0 35
+j 30 1 36
+k 52 2 37
+l 28 2 38
+m 82 0 39
+n 53 0 40
+o 48 0 41
+p 52 1 42
+q 52 1 43
+r 39 0 44
+s 38 0 45
+t 34 2 46
+u 54 0 47
+v 46 0 48
+w 70 0 49
+x 50 0 50
+y 50 1 51
+z 46 0 52
+1 52 2 53
+2 52 2 54
+3 52 2 55
+4 52 2 56
+5 52 2 57
+6 52 2 58
+7 52 2 59
+8 52 2 60
+9 52 2 61
+0 52 2 62
+$ 52 0 63
+ct 52 3 64
+& 90 0 65
+: 26 0 66
+; 26 0 67
+. 26 0 68
+, 26 0 69
+` 26 0 70
+' 26 0 71
+? 52 0 72
+! 26 0 73
+% 78 0 74
+* 52 0 75
+( 43 0 71 font 21
+) 43 0 72 font 21
+/ 46 2 75 font 21
+hy 35 0 83 font 21
+- "
+em 96 0 82 font 21
+en 52 0 81
+ff 63 2 82
+fi 55 2 83
+fl 55 2 84
+Fi 82 2 85
+Fl 82 2 86
+14 78 2 91
+12 78 2 92
+34 78 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 72 0 13 font 21
+@ 96 0 14 font 21
+bu 72 0 80 font 21
+de 54 2 123
+dg 52 3 124
+dd 46 2 49 font 21
+sc 46 3 42 font 21
+[ 37 0 77 font 21
+] 37 0 78 font 21
++ 77 0 73 font 21
+\- 77 0 74 font 21
+= 77 0 76 font 21
+| 10 0 79 font 21
+sq 72 0 81 font 21
+ru 42 0 84 font 21
+fm 21 2 85 font 21
diff --git a/troff/troff.d/devaps/README b/troff/troff.d/devaps/README
new file mode 100644
index 0000000000000..257e0bed6c02f
--- /dev/null
+++ b/troff/troff.d/devaps/README
@@ -0,0 +1,102 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#ident "@(#)README 1.4 05/06/08 SMI"
+#
+# Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+
+This directory contains the ASCII font and device tables and a
+postprocessor for an APS-5 phototypesetter. The device independent troff uses
+the information contained in these files, but instead of looking at the
+ASCII files, troff reads an equivalent set of binary tables that are
+produced by a program called 'makedev'.
+
+ Since you need to be a little careful when you run makedev, we
+have written a small shell program called 'maketables' that takes one
+or more of the ASCII files as input, and then properly updates all the
+required binary files. For example, to make a complete new set of
+binary tables just type in the command,
+
+ maketables *
+
+On the other hand if just a few font files have been changed, eg. R,
+I, and PA, the command line,
+
+ maketables R I PA
+
+will remake all the required binary files. In neither of the above
+examples could you simply substitute makedev for maketables and have
+things work properly. After you've run either maketables or makedev
+the binary files are easy to find - their names all end in the suffix
+'.out' or '.add'. maketables uses the makedev defined by its shell
+variable MAKEDEV.
+
+The shell program 'maketables' is located in the parent of this directory.
+
+N.B. The contents of this directory (the ASCII font description
+tables, the postprocessor daps, and the description table compiler
+makedev) are all tailored for the particular font disk used in the
+Murray Hill Computing Center. Any installation with a different
+APS font set will almost certainly have to hand-tune some of the
+font description files and will possibly want to use the more general
+makedev located in the parent of this directory.
+
+
+-------------------------------------------------------------------------------
+
+Changes since the original release:
+
+
+ 1: The width of ru on the R, I, B, and S fonts is 12 units less than
+ Autologic's specifications. This eliminates the dashed line problems
+ we were having, provided only troff reads these tables.
+
+ 2: Added the en character to the I and B fonts so that font positions
+ 1, 2, and 3 would all be the same size. Told users on other systems
+ to remove en from R since it's only used in our banners and that
+ seemed to be a less error prone process.
+
+ 3: Added xe, xt, and xk to DESC, GB, and GR files.
+
+ 4: Set the character code for bs in the S font to 0 so that the old
+ Bell System logo will be replaced by white space on the APS-5.
+
+ 5: Added the new ATT logo characters to DESC and the S font file.
+ LH and LV are logos in horizontal and vertical configurations,
+ respectively.
+
+ 6: Fixed (probably overdid) the ascender/descender stuff.
+
+ 7: Added the old Bell Logo to the DESC file and the S font as character
+ LB. Still have \(bs replaced by white space.
+
+
+-------------------------------------------------------------------------------
diff --git a/troff/troff.d/devaps/S b/troff/troff.d/devaps/S
new file mode 100644
index 0000000000000..e236f2c4f08a4
--- /dev/null
+++ b/troff/troff.d/devaps/S
@@ -0,0 +1,127 @@
+#ident "@(#)S 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+name S
+internalname 21
+special
+alternate_font
+max_range 3
+charset
+" 35 0 1
+dq "
+\' 27 2 2
+aa "
+\ 37 0 3
+rs "
+^ 40 0 4
+ul 45 1 5 max_range 2
+_ "
+\` 27 2 6
+ga "
+~ 40 0 7
+/ 37 2 8
+sl "
+< 96 0 9
+> 96 0 10
+{ 37 0 11
+} 37 0 12
+# 72 0 13
+@ 96 0 14
+pl 72 0 15
++ "
+mi 72 0 16
+\- "
+eq 72 0 17
+= "
+** 43 0 18
+sr 81 3 19
+rn 48 2 20
+<= 96 2 21
+>= 96 2 22
+== 96 0 23
+ap 96 0 24
+~= 96 0 25
+!= 96 2 26
+-> 96 0 27
+<- 96 0 28
+ua 48 3 29
+da 48 3 30
+mu 72 0 31
+di 72 0 32
++- 96 0 33
+cu 96 2 34
+ca 96 2 35
+sb 96 2 36
+sp 96 2 37
+ib 96 3 38
+ip 96 3 39
+if 91 0 40
+pd 56 2 41
+sc 46 3 42
+gr 96 2 43
+no 59 0 44
+is 64 3 45
+pt 72 0 46
+es 74 2 47
+mo 72 2 48
+dd 46 2 49
+rh 126 2 50
+lh 128 2 51
+or 24 2 53
+ci 85 2 54
+| 0 0 66
+br "
+ts 48 0 67
+*U 75 2 68
+*Q 85 2 69
+*W 96 2 70
+bu 72 0 80
+sq 72 0 81
+bx 72 0 111
+em 96 0 82
+ru 42 0 84
+fm 21 2 85
+Sl 55 2 116 max_range 2
+bv 50 3 21 font 11
+lt 50 3 15 font 11
+lb 50 3 16 font 11
+rt 50 3 17 font 11
+rb 50 3 18 font 11
+lk 50 3 19 font 11
+rk 50 3 20 font 11
+lf 50 3 22 font 11
+rf 50 3 23 font 11
+lc 50 3 24 font 11
+rc 50 3 25 font 11
+LH 212 3 0 font 441
+LV 112 3 0 font 441
diff --git a/troff/troff.d/devaps/S1 b/troff/troff.d/devaps/S1
new file mode 100644
index 0000000000000..99b9dc6e01f26
--- /dev/null
+++ b/troff/troff.d/devaps/S1
@@ -0,0 +1,74 @@
+#ident "@(#)S1 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+name S1
+internalname 32051
+special
+max_range 2
+charset
+-+ 100 0 7
+!< 100 2 12
+!> 100 2 13
+le 100 2 14
+ge 100 2 15
+el 100 2 16
+eg 100 2 17
+LE 100 2 18
+GE 100 2 19
+EL 100 2 20
+EG 100 2 21
+<> 100 3 28
+>< 100 3 29
+as 100 2 30
+os 100 2 31
+RC 100 2 43
+TR 100 2 45
+RB 100 0 47
+CB 100 2 48
+=. 100 0 50
+=: 100 0 52
+gp 100 0 53
+=p 100 0 54
+4d 75 0 55
+tf 100 2 57
+bc 100 2 59
+an 50 2 65
+ra 50 2 66
+pp 100 2 67
+cy 100 0 68
+de 50 2 71
+ps 50 2 76
+rd 50 0 81
+ld 50 0 83
+vs 68 0 121 font 10941
+cs 68 2 124 font 10941
diff --git a/troff/troff.d/devaps/SC b/troff/troff.d/devaps/SC
new file mode 100644
index 0000000000000..f55ac5a65b1e5
--- /dev/null
+++ b/troff/troff.d/devaps/SC
@@ -0,0 +1,135 @@
+#ident "@(#)SC 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Script
+name SC
+internalname 31
+alternate_font
+max_range 2
+charset
+A 81 2 1
+B 91 2 2
+C 82 2 3
+D 88 2 4
+E 62 2 5
+F 75 2 6
+G 84 2 7
+H 87 2 8
+I 66 2 9
+J 55 2 10
+K 86 2 11
+L 78 2 12
+M 100 2 13
+N 87 2 14
+O 60 2 15
+P 74 2 16
+Q 67 2 17
+R 87 2 18
+S 78 2 19
+T 69 2 20
+U 91 2 21
+V 65 2 22
+W 90 2 23
+X 78 2 24
+Y 81 2 25
+Z 84 2 26
+a 36 0 27
+b 30 2 28
+c 24 0 29
+d 36 2 30
+e 26 0 31
+f 28 2 32
+g 34 1 33
+h 39 2 34
+i 22 0 35
+j 23 1 36
+k 35 2 37
+l 22 2 38
+m 62 0 39
+n 44 0 40
+o 26 0 41
+p 40 1 42
+q 36 1 43
+r 30 0 44
+s 23 0 45
+t 23 2 46
+u 36 0 47
+v 38 0 48
+w 46 0 49
+x 33 0 50
+y 44 1 51
+z 36 0 52
+1 52 2 53 font 6041
+2 52 2 54 font 6041
+3 52 2 55 font 6041
+4 52 2 56 font 6041
+5 52 2 57 font 6041
+6 52 2 58 font 6041
+7 52 2 59 font 6041
+8 52 2 60 font 6041
+9 52 2 61 font 6041
+0 52 2 62 font 6041
+$ 52 0 63 font 6041
+ct 52 3 64 font 6041
+& 75 0 65 font 18081
+: 26 0 66 font 6041
+; 26 0 67 font 6041
+. 26 0 68 font 6041
+, 26 0 69 font 6041
+` 26 0 70 font 6041
+' 26 0 71 font 6041
+? 52 0 72 font 6041
+! 32 0 73 font 6041
+% 104 0 74 font 6041
+* 52 0 75 font 6041
+( 52 0 76 font 6041
+) 52 0 77 font 6041
+/ 52 2 78 font 6041
+hy 40 0 79 font 6041
+- "
+em 104 0 80 font 6041
+14 104 2 91 font 6041
+12 104 2 92 font 6041
+34 104 2 93 font 6041
+co 64 2 111 font 6041
+rg 64 2 112 font 6041
+tm 64 2 113 font 6041
+# 52 0 116 font 6041
+@ 104 0 120 font 6041
+bu 28 0 121 font 6041
+de 52 2 123 font 6041
+dg 52 3 124 font 6041
+dd 52 2 125 font 6041
+sc 52 3 126 font 6041
+[ 52 0 127 font 6041
+] 52 0 128 font 6041
diff --git a/troff/troff.d/devaps/SM b/troff/troff.d/devaps/SM
new file mode 100644
index 0000000000000..c989a8edb5bfb
--- /dev/null
+++ b/troff/troff.d/devaps/SM
@@ -0,0 +1,134 @@
+#ident "@(#)SM 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Stymie Medium
+name SM
+internalname 25681
+max_range 2
+charset
+A 77 2 1
+B 64 2 2
+C 77 2 3
+D 74 2 4
+E 60 2 5
+F 56 2 6
+G 82 2 7
+H 78 2 8
+I 36 2 9
+J 37 2 10
+K 73 2 11
+L 59 2 12
+M 89 2 13
+N 73 2 14
+O 85 2 15
+P 61 2 16
+Q 86 2 17
+R 64 2 18
+S 57 2 19
+T 60 2 20
+U 79 2 21
+V 71 2 22
+W 104 2 23
+X 67 2 24
+Y 66 2 25
+Z 56 2 26
+a 52 0 27
+b 60 2 28
+c 51 0 29
+d 60 2 30
+e 52 0 31
+f 32 2 32
+g 58 1 33
+h 59 2 34
+i 31 0 35
+j 30 1 36
+k 55 2 37
+l 31 2 38
+m 82 0 39
+n 58 0 40
+o 52 0 41
+p 60 1 42
+q 60 1 43
+r 39 0 44
+s 42 0 45
+t 28 2 46
+u 58 0 47
+v 51 0 48
+w 74 0 49
+x 53 0 50
+y 52 1 51
+z 42 0 52
+1 56 2 53
+2 56 2 54
+3 56 2 55
+4 56 2 56
+5 56 2 57
+6 56 2 58
+7 56 2 59
+8 56 2 60
+9 56 2 61
+0 56 2 62
+$ 56 0 63
+ct 56 3 64
+& 68 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 56 0 72
+! 28 0 73
+% 112 0 74
+* 52 0 75
+( 29 0 76
+) 29 0 77
+/ 52 2 78
+hy 35 0 79
+- "
+em 112 0 80
+14 112 2 91
+12 112 2 92
+34 112 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 75 0 116
+@ 113 0 120
+bu 28 0 121
+de 57 2 123
+dg 57 3 124
+dd 58 2 125
+sc 57 3 126
+[ 23 0 127
+] 23 0 128
diff --git a/troff/troff.d/devaps/TB b/troff/troff.d/devaps/TB
new file mode 100644
index 0000000000000..7d7afe5529dbb
--- /dev/null
+++ b/troff/troff.d/devaps/TB
@@ -0,0 +1,139 @@
+#ident "@(#)TB 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Techno Bold (also Futura Demi-Bold, Utica Demi-Bold)
+name TB
+internalname 27201
+ligatures fi ff fl ffi ffl 0
+charset
+A 66 2 1
+B 55 2 2
+C 61 2 3
+D 61 2 4
+E 48 2 5
+F 45 2 6
+G 72 2 7
+H 67 2 8
+I 26 2 9
+J 44 2 10
+K 60 2 11
+L 38 2 12
+M 83 2 13
+N 71 2 14
+O 72 2 15
+P 52 2 16
+Q 72 2 17
+R 55 2 18
+S 50 2 19
+T 50 2 20
+U 66 2 21
+V 65 2 22
+W 88 2 23
+X 66 2 24
+Y 60 2 25
+Z 57 2 26
+a 55 0 27
+b 55 2 28
+c 39 0 29
+d 57 2 30
+e 50 0 31
+f 33 2 32
+g 56 1 33
+h 56 2 34
+i 24 0 35
+j 24 1 36
+k 49 2 37
+l 24 2 38
+m 83 0 39
+n 56 0 40
+o 49 0 41
+p 55 1 42
+q 55 1 43
+r 32 0 44
+s 38 0 45
+t 33 2 46
+u 57 0 47
+v 48 0 48
+w 83 0 49
+x 50 0 50
+y 48 1 51
+z 44 0 52
+1 55 2 53
+2 55 2 54
+3 55 2 55
+4 55 2 56
+5 55 2 57
+6 55 2 58
+7 55 2 59
+8 55 2 60
+9 55 2 61
+0 55 2 62
+$ 55 0 63
+ct 55 3 64
+& 82 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 55 0 72
+! 28 0 73
+% 90 0 74
+* 55 0 75
+( 25 0 76
+) 25 0 77
+/ 55 2 78
+hy 32 0 79
+- "
+em 110 0 80
+ff 61 2 82
+fi 56 2 83
+fl 56 2 84
+Fi 84 2 85
+Fl 84 2 86
+14 83 2 91
+12 83 2 92
+34 83 2 93
+co 50 2 111
+rg 50 2 112
+tm 50 2 113
+# 82 0 116
+@ 110 0 120
+bu 28 0 121
+de 55 2 123
+dg 55 3 124
+dd 55 2 125
+sc 55 3 126
+[ 24 0 127
+] 24 0 128
diff --git a/troff/troff.d/devaps/TX b/troff/troff.d/devaps/TX
new file mode 100644
index 0000000000000..183e105b6f5d4
--- /dev/null
+++ b/troff/troff.d/devaps/TX
@@ -0,0 +1,140 @@
+#ident "@(#)TX 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# Techno Bold Italic
+name TX
+internalname 27201
+ligatures fi ff fl ffi ffl 0
+default_slant 14
+charset
+A 66 2 1
+B 55 2 2
+C 61 2 3
+D 61 2 4
+E 48 2 5
+F 45 2 6
+G 72 2 7
+H 67 2 8
+I 26 2 9
+J 44 2 10
+K 60 2 11
+L 38 2 12
+M 83 2 13
+N 71 2 14
+O 72 2 15
+P 52 2 16
+Q 72 2 17
+R 55 2 18
+S 50 2 19
+T 50 2 20
+U 66 2 21
+V 65 2 22
+W 88 2 23
+X 66 2 24
+Y 60 2 25
+Z 57 2 26
+a 55 0 27
+b 55 2 28
+c 39 0 29
+d 57 2 30
+e 50 0 31
+f 33 2 32
+g 56 1 33
+h 56 2 34
+i 24 0 35
+j 24 1 36
+k 49 2 37
+l 24 2 38
+m 83 0 39
+n 56 0 40
+o 49 0 41
+p 55 1 42
+q 55 1 43
+r 32 0 44
+s 38 0 45
+t 33 2 46
+u 57 0 47
+v 48 0 48
+w 83 0 49
+x 50 0 50
+y 48 1 51
+z 44 0 52
+1 55 2 53
+2 55 2 54
+3 55 2 55
+4 55 2 56
+5 55 2 57
+6 55 2 58
+7 55 2 59
+8 55 2 60
+9 55 2 61
+0 55 2 62
+$ 55 0 63
+ct 55 3 64
+& 82 0 65
+: 28 0 66
+; 28 0 67
+. 28 0 68
+, 28 0 69
+` 28 0 70
+' 28 0 71
+? 55 0 72
+! 28 0 73
+% 90 0 74
+* 55 0 75
+( 25 0 76
+) 25 0 77
+/ 55 2 78
+hy 32 0 79
+- "
+em 110 0 80
+ff 61 2 82
+fi 56 2 83
+fl 56 2 84
+Fi 84 2 85
+Fl 84 2 86
+14 83 2 91
+12 83 2 92
+34 83 2 93
+co 50 2 111 slant 0
+rg 50 2 112 slant 0
+tm 50 2 113 slant 0
+# 82 0 116
+@ 110 0 120
+bu 28 0 121 slant 0
+de 55 2 123 slant 0
+dg 55 3 124
+dd 55 2 125
+sc 55 3 126
+[ 24 0 127
+] 24 0 128
diff --git a/troff/troff.d/devaps/aps.h b/troff/troff.d/devaps/aps.h
new file mode 100644
index 0000000000000..ead47bd3052f7
--- /dev/null
+++ b/troff/troff.d/devaps/aps.h
@@ -0,0 +1,136 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "aps.h 1.6 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)aps.h 1.3 (gritter) 8/9/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#define APSNOOP 00
+#define HSP25U 0201
+#define HSP400U 0202
+#define HSP200U 0203
+#define HSP100U 0204
+#define HSP50U 0205
+#define HSP72P 0206
+#define HSP36P 0207
+#define HSP18P 0210
+#define HSP9P 0211
+#define HSP45P 0212
+#define MARKLOC 0217
+#define RTNMARK 0220
+#define DRAW 0221
+#define RTNMARKX 0222
+#define RTNMARKY 0223
+#define SPEED 0240
+#define DCLMSZ 0241
+#define SETOBLIQUE 0242
+#define WRREAD 0243
+#define LFTMGN 0244
+#define RETRACE 0245
+#define UPDOWN 0246
+#define DISPFONT 0257
+#define FONT 0260
+#define HSIZE 0261
+#define VSIZE 0262
+#define HVSIZE 0263
+#define REPEAT 0264
+#define SAVSTR 0265
+#define EXSTR 0266
+#define SETCTR 0267
+#define SETPTR 0270
+#define STRTJOB 0272
+#define STRTPG 0273
+#define SELFSCAN 0274
+#define VSSPOTS 0276
+#define HSSPOTS 0277
+#define VSPABS 0300
+#define VSPREL 0301
+#define HSPABS 0302
+#define HSPREL 0303
+#define LTRSP 0304
+#define LTRSPREL 0305
+#define PGLEAD 0313
+#define HPSNABS 0315
+#define VPSNABS 0316
+#define SKIP 0317
+#define STORVERT 0320
+#define STORVTSPOT 0321
+#define SETTAB 0323
+#define STRVRA 0325
+#define STRHRA 0326
+#define STRVRB 0327
+#define STRHRB 0330
+#define STORHSPA 0332
+#define STORHSPB 0333
+#define STORHSPC 0334
+#define STORHSPD 0335
+#define MKH 0336
+#define RTNHMK 0337
+#define EXVSP 0340
+#define RTN 0341
+#define CRTN 0342
+#define XTAB 0343
+#define XTABCR 0344
+#define XRULA 0345
+#define XRULATAB 0346
+#define XRULB 0347
+#define XNORMAL 0350
+#define XOBLIQUE 0351
+#define XHSPA 0352
+#define XHSPB 0353
+#define XHSPC 0354
+#define XHSPD 0355
+#define RESET 0356
+#define DISPFNTS 0357
+#define ENDSTR 0360
+#define DECCTR 0361
+#define MKV 0362
+#define RTNVMK 0363
+#define ESCGRAPHICS 0366
+#define CUT 0374
+#define HALT 0375
+#define ENDJOB 0376
+
+#define MAXESCAPE 8400
+#define MAXLEAD 32367
diff --git a/troff/troff.d/devaps/build.c b/troff/troff.d/devaps/build.c
new file mode 100644
index 0000000000000..ecefacc6db590
--- /dev/null
+++ b/troff/troff.d/devaps/build.c
@@ -0,0 +1,323 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "build.c 1.5 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)build.c 1.4 (gritter) 8/13/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stdio.h>
+
+#include "daps.h"
+
+#define LIBDIR "charlib" /* files found in *fontdir/LIBDIR */
+
+
+/*
+ *
+ * These variables are used to save and later restore the post-processor's
+ * environment.
+ *
+ */
+
+
+int ohpos;
+int ovpos;
+int ofont;
+int osize;
+
+int env = 0; /* nonzero if environment is saved */
+
+
+extern int hpos;
+extern int vpos;
+extern int font;
+extern int size;
+
+extern char *fontdir;
+#define devname troff_devname
+extern char devname[];
+extern FILE *tf;
+
+#define oput(n) putc(n, tf)
+
+
+/*****************************************************************************/
+
+
+int
+newfile(
+
+
+ char *name, /* start reading from this file */
+ int size /* may use it to get the file */
+)
+
+{
+
+
+ FILE *fp;
+
+
+ /********************************************************************
+ * *
+ * Used when we want to take the post-processor's input from *
+ * a different file for a while. Added to handle problems with the *
+ * new logos, but it could easily be used to define other special *
+ * characters. *
+ * *
+ ********************************************************************/
+
+
+ if ( env || (fp = charfile(name, size)) == NULL )
+ return(1);
+
+ save_env();
+ nconv(fp);
+ restore_env();
+ fclose(fp);
+
+ return(0);
+
+} /* End of newfile */
+
+
+/*****************************************************************************/
+
+
+FILE *charfile(
+
+
+ char *name, /* start reading from this file */
+ int size /* size of the character to print */
+)
+
+
+{
+
+
+ char path[100]; /* file pathname put here */
+ FILE *fp; /* file pointer for *path */
+
+
+ /********************************************************************
+ * *
+ * First tries to open file *name.size in the right directory, *
+ * and if it can't then it tries *name. Returns the file pointer *
+ * or NULL if either file can't be opened. *
+ * *
+ ********************************************************************/
+
+
+ sprintf(path, "%s/dev%s/%s/%s.%d", fontdir, devname, LIBDIR, name, size);
+
+ if ( (fp = fopen(path, "r")) == NULL ) {
+ sprintf(path, "%s/dev%s/%s/%s", fontdir, devname, LIBDIR, name);
+ fp = fopen(path, "r");
+ } /* End if */
+
+ return(fp);
+
+} /* End of charfile */
+
+
+/*****************************************************************************/
+
+void
+save_env(void)
+
+
+{
+
+
+ /********************************************************************
+ * *
+ * Before we start reading from a different file we'll want *
+ * to save the values of the variables that will be needed to get *
+ * back to where we were. *
+ * *
+ ********************************************************************/
+
+
+ hflush();
+
+ ohpos = hpos;
+ ovpos = vpos;
+ ofont = font;
+ osize = size;
+
+ env = 1;
+
+} /* End of save_env */
+
+
+/*****************************************************************************/
+
+
+void
+restore_env(void)
+
+
+{
+
+
+ /********************************************************************
+ * *
+ * Hopefully does everything needed to get the post-processor *
+ * back to where it was before the input was diverted. *
+ * *
+ ********************************************************************/
+
+
+ hgoto(ohpos);
+ vgoto(ovpos);
+
+ setfont(ofont);
+ setsize(osize);
+
+ env = 0;
+
+} /* End of restore_env */
+
+
+/*****************************************************************************/
+
+
+void
+nconv(
+
+
+ FILE *fp /* new file we're reading from */
+)
+
+
+{
+
+
+ int ch; /* first character of the command */
+ int c, n; /* used in reading chars from *fp */
+ char str[100]; /* don't really need this much room */
+
+
+ /********************************************************************
+ * *
+ * A restricted and slightly modified version of the conv() *
+ * routine found in all of troff's post-processors. It should only *
+ * be used to interpret the special character building files found *
+ * in directory *fontdir/LIBDIR. *
+ * *
+ ********************************************************************/
+
+
+ while ( (ch = getc(fp)) != EOF ) {
+
+ switch ( ch ) {
+
+ case 'w': /* just ignore these guys */
+ case ' ':
+ case '\n':
+ case 0:
+ break;
+
+ case 'c': /* single ASCII character */
+ put1(getc(fp));
+ break;
+
+ case 'C': /* special character */
+ fscanf(fp, "%s", str);
+ put1s(str);
+ break;
+
+ case 'h': /* relative horizontal motion */
+ fscanf(fp, "%d", &n);
+ hmot(n);
+ break;
+
+ case 'v':
+ fscanf(fp, "%d", &n);
+ vmot(n);
+ break;
+
+ case 'x': /* device control - font change only */
+ fscanf(fp, "%s", str);
+ if ( str[0] == 'f' ) {
+ fscanf(fp, "%d %s", &n, str);
+ loadfont(n, str, "");
+ } /* End if */
+ break;
+
+ case 's': /* set point size */
+ fscanf(fp, "%d", &n);
+ setsize(t_size(n));
+ break;
+
+ case 'f': /* use this font */
+ fscanf(fp, "%s", str);
+ setfont(t_font(str));
+ break;
+
+ case 'b':
+ fscanf(fp, "%d", &n);
+ oput(n);
+ break;
+
+ case 'W':
+ fscanf(fp, "%d", &n);
+ putint(n);
+ break;
+
+
+ case '#': /* comment */
+ while ( (c = getc(fp)) != '\n' && c != EOF ) ;
+ break;
+
+ } /* End switch */
+
+ } /* End while */
+
+} /* End of nconv */
+
+
+/*****************************************************************************/
+
+
diff --git a/troff/troff.d/devaps/daps.c b/troff/troff.d/devaps/daps.c
new file mode 100644
index 0000000000000..4968562e4b7b5
--- /dev/null
+++ b/troff/troff.d/devaps/daps.c
@@ -0,0 +1,2995 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "daps.c 1.6 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)daps.c 1.8 (gritter) 7/9/06
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+char *xxxvers = "troff.d/devaps/daps.c 1.2";
+
+
+
+/****************************************************************************
+ * *
+ * This is the post-processor for the APS-5 phototypesetter. The *
+ * language that is accepted by this program is produced by the new device *
+ * independent troff, and consists of the following statements, *
+ * *
+ * *
+ * sn set the point size to n *
+ * fn set the typesetter font to the one in position n *
+ * cx output the ASCII character x *
+ * Cxyz output the code for the special character xyz. This *
+ * command is terminated by white space. *
+ * Hn go to absolute horizontal position n *
+ * Vn go to absolute vertical position n ( down is positive ) *
+ * hn go n units horizontally from current position *
+ * vn go n units vertically from current position *
+ * nnc move right nn units, then print the character c. This *
+ * command expects exactly two digits followed by the *
+ * character c. *
+ * w paddable word space - no action needed *
+ * nb a end of line ( information only - no action needed ) *
+ * pn begin page n *
+ * Dt ...\n draw operation 't': *
+ * *
+ * Dl x y line from here to x,y *
+ * Dc d circle of diameter d, left side here *
+ * De x y ellipse of axes x,y, left side here *
+ * Da u v x y arc *
+ * D~ x y x y wiggly line by x,y then x,y *
+ * *
+ * x ... \n device control functions: *
+ * *
+ * x i initialize the typesetter *
+ * x T s name of device is s *
+ * x r n h v resolution is n units per inch. h is *
+ * min horizontal motion, v is min vert. *
+ * motion in machine units. *
+ * x p pause - can restart the typesetter *
+ * x s stop - done forever *
+ * x t generate trailer - no-op for the APS *
+ * x f n s load font position n with tables for *
+ * font s. Referring to font n now means *
+ * font s. *
+ * x H n set character height to n *
+ * x S n set character slant to n *
+ * *
+ * Subcommands like i are often spelled out as "init" *
+ * *
+ * To get the post-processor running properly on your system, you may *
+ * have to make one or more of changes: *
+ * *
+ * Choose the appropriate description of your typesetter. These *
+ * values include the type of lens and the maximum master range *
+ * for your fonts. The values that you will need to adjust are *
+ * macros and defined constants located at the start of the *
+ * daps.h file. *
+ * *
+ * Make sure the variable 'typesetter' is properly initialized *
+ * to the APS-5 typesetter file on your system. If you are not *
+ * going to have daps directly drive the typesetter, you may *
+ * want to set it to the null file, and/or initialize 'tf' to *
+ * be stdout. (file daps.g) *
+ * *
+ * Make sure that the accounting file pathname 'tracct' is the *
+ * the accounting file that you want. If no accounting is to be *
+ * done then initialize it to the null string. (file daps.g) *
+ * *
+ * Check to make sure that 'fontdir' is the directory that *
+ * contains the devaps directory where your font tables are *
+ * located. (file daps.g) *
+ * *
+ * If there are no characters on your font disk that need any *
+ * adjustment in their vertical placement, then make sure that *
+ * the conditional compilation flag ADJUST is undefined. I would *
+ * recommend that you start this way to see what your font disk *
+ * really looks like. (file daps.h) *
+ * *
+ * *
+ ****************************************************************************/
+
+
+
+
+
+
+#include <stdio.h>
+#include <string.h>
+#include <ctype.h>
+#include <signal.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <pwd.h>
+
+#include "aps.h" /* APS-5 opcode definitions */
+#include "dev.h" /* font and dev structure declarations */
+
+#include "daps.h" /* constant and macro definitions */
+#include "daps.g" /* global variable definitions */
+
+
+
+
+
+/*****************************************************************************/
+
+
+int
+main (int argc, char *argv[])
+
+
+{
+
+
+ /********************************************************************
+ * *
+ * This is the main program for the APS-5 post-processor. It *
+ * is responsible for calling the sequence of routines that are *
+ * needed to translate troff's new typesetter independent output *
+ * language into a form that will be understood by the APS-5 *
+ * phototypesetter. *
+ * *
+ ********************************************************************/
+
+
+ fp_debug = stderr;
+ fp_error = stderr;
+ fp_acct = stderr;
+ tf = stdout;
+
+ get_options(argc, argv); /* process the option list */
+ if ( tf != stdout ) /* need to open the file */
+ out_file();
+ init_signals(); /* set up signal handling */
+ acct_file(); /* open the accounting file */
+ process_input(argc, argv); /* translate the input files */
+ account(); /* make sure we charge this guy */
+ done(); /* finish up this job and reset the APS */
+ /*NOTREACHED*/
+ return 0;
+
+} /* End of main */
+
+
+/****************************************************************************/
+
+
+void
+get_options (int argc, char *argv[])
+
+
+{
+
+
+ int save; /* used to adjust arg_index */
+ int v_step = 0; /* vertical step in -V option */
+
+
+ int ch;
+ int i, sharpsign = 0;
+ extern char *optarg;
+ extern int optind;
+
+
+ /********************************************************************
+ * *
+ * This is the routine that processes the command line option *
+ * list. The macro SET_ARGS uses the global variable arg_index to *
+ * properly initialize the local argc and argv values, while the *
+ * macro COUNT_ARGS adjusts the value of arg_index to account for *
+ * the number of arguments that were just processed. *
+ * *
+ * The options that are currently available in this driver *
+ * are, *
+ * *
+ * -f dir - use dir as the font directory *
+ * -F dir - same *
+ * *
+ * -t - use standard output *
+ * *
+ * -r - report the number of pages *
+ * *
+ * -A - do accounting even if there is no real *
+ * accounting file. If tracct is NULL then *
+ * the accounting information is written *
+ * to stderr. This is the way things are *
+ * done on our APS. *
+ * *
+ * -b - report whether typesetter is busy or *
+ * not. Nothing is printed. *
+ * *
+ * -w - wait until typesetter is available, *
+ * then procees the job. *
+ * *
+ * -o[str] - process only this list of pages. The *
+ * list may contain single pages or page *
+ * ranges, where the latter consists of *
+ * a pair of pages separated by -. *
+ * *
+ * -s[num] - stop processing every num pages, and *
+ * HALT the typesetter. *
+ * *
+ * -v[num] - use num as the maximum vertical step *
+ * size up or down the page. The argument *
+ * num is interpreted as 10ths of a point. *
+ * *
+ * -h[str] - use str as the string to be printed *
+ * in the header. *
+ * *
+ * -H[str] - use str as the pathname of the file *
+ * whose first line contains the string *
+ * to be printed in the header. *
+ * *
+ * -d[str] - toggle the debug flags for each number *
+ * contained in the string str. If str *
+ * contains the character '*' then all of *
+ * the debug flags will be toggled. *
+ * *
+ * -D[str] - dump all of the debug information into *
+ * file str. If this option is not used *
+ * then the debugging stuff is written to *
+ * stderr. *
+ * *
+ * -L[str] - use the file str as the log file for *
+ * all error messages. If this option is *
+ * not used then all error messages will *
+ * be written to stderr. *
+ * *
+ * -I - ignore all FATAL errors. This option is *
+ * only to be used for debugging - it may *
+ * cause a core file to be written. *
+ * *
+ ********************************************************************/
+
+
+
+ SET_ARGS(save); /* MACRO - adjust internal argc and argv */
+
+ while ((ch = getopt(argc, argv, "f:F:trAbwo:s:h:H:d:D:L:Iv:c:#"))
+ != EOF) { /*read options list*/
+
+ switch ( ch ) { /* check option */
+
+ case 'f': /* font directory */
+ case 'F':
+ fontdir = optarg;
+ break;
+
+ case 't': /* use standard output */
+ tf = stdout;
+ break;
+
+ case 'r': /* print page report */
+ report = YES;
+ break;
+
+ case 'A': /* do accounting! */
+ if ( privelege == ON )
+ x_stat |= DO_ACCT;
+ break;
+
+ case 'b': /* check if busy or not */
+ busyflag = ON;
+ break;
+
+ case 'w': /* wait til APS is free */
+ waitflag = ON;
+ break;
+
+ case 'o': /* process page list */
+ outlist(optarg);
+ break;
+
+ case 's': /* stop every spage(s) */
+ spage = atoi(optarg);
+ if ( spage <= 0 ) /* illegal page number */
+ spage = 9999;
+ break;
+
+ case 'h': /* banner is in argument */
+ banner = optarg;
+ print_banner = YES;
+ break;
+
+ case 'H': /* banner is in file */
+ ban_file(optarg);
+ print_banner = YES;
+ break;
+
+ case 'd': /* selective debug */
+ debug_select(optarg);
+ break;
+
+ case 'D': /* set up debug file */
+ debug_file(optarg);
+ break;
+
+ case 'L': /* set up log file */
+ log_file(optarg);
+ break;
+
+ case 'I': /* ignore fatal errors */
+ if ( privelege == ON )
+ ignore = YES;
+ break;
+
+ case 'v': /* set max vertical step */
+ v_step = atoi(optarg);
+ if ( v_step != 0 )
+ vert_step = ( v_step > 0 ) ? v_step
+ : -v_step;
+ if ( vert_step > MAX_INT ) /* its too big */
+ vert_step = MAX_INT;
+ break;
+
+ case 'c': /* set beam cutoff */
+ if ( (cutoff = atof(optarg)) <= 0 )
+ cutoff = CUTOFF;
+ break;
+
+ case '#':
+ sharpsign = 1;
+ break;
+ default: /* didn't find it */
+ error(NON_FATAL, "illegal option %c", argv[1][1]);
+ break;
+
+ } /* End of switch */
+
+ } /* End while */
+
+ argc -= optind - 1;
+ COUNT_ARGS(save); /* MACRO - adjust arg_index */
+ if (sharpsign == 1) {
+ fprintf(stderr, "report = %d, x_stat = %o\n",
+ report, x_stat);
+ fprintf(stderr, "busyflag = %d, waitflag = %d, ignore = %d\n",
+ busyflag, waitflag, ignore);
+ fprintf(stderr, "fontdir = %s, spage = %d, banner = %s\n",
+ fontdir, spage, banner);
+ fprintf(stderr, "v_step = %d, cutoff = %g\n",
+ v_step, cutoff);
+ for (i=0; i<nolist; i+=2)
+ fprintf (stderr, "olist[%d] is %d; olist[%d] is %d.\n",
+ i, olist[i], i+1, olist[i+1]);
+ for (i=0; i<MAX_DEBUG; i+=4)
+ fprintf(stderr, "debug[%d] = %d, %d, %d, %d\n",
+ i,debug[i],debug[i+1],debug[i+2],debug[i+3]);
+ if (fp_debug != stderr)
+ fprintf(stderr, "fp_debug is %p\n", fp_debug);
+ if (fp_error != stderr)
+ fprintf(stderr, "fp_error is %p\n", fp_error);
+ if (tf != stdout)
+ fprintf(stderr, "tf is %p\n", tf);
+ }
+
+} /* End of get_options */
+
+
+/*****************************************************************************/
+
+
+void
+process_input (int argc, char *argv[])
+
+
+{
+
+
+ FILE *fp_in; /* input file descriptor */
+ int save; /* used to adjust arg_index before exit */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by main to handle the processing *
+ * of the input files from the command line. If there were no *
+ * files specified in the call then the post-processor will read *
+ * from the standard input. Otherwise it will process all of the *
+ * input files in the list, concatenating the output from each *
+ * one onto the output file. The only convention that is used for *
+ * input file names is that the character '-' as a file name will *
+ * cause the driver to read from the standard input, provided it *
+ * isn't the first 'file' in the list of input files. It would *
+ * probably be better if we chose some other character or sequence *
+ * of characters for this purpose. *
+ * *
+ ********************************************************************/
+
+
+
+ SET_ARGS(save); /* MACRO - adjust argc and argv */
+
+ if ( argc <= 1 ) conv(stdin); /* no more args - use stdin */
+ else { /* read input file list */
+ while ( --argc > 0 ) { /* rest of the args are input files */
+
+ if ( strcmp(*++argv, "-") == 0 ) /* use standard input */
+ fp_in = stdin;
+ else if ( (fp_in = fopen(*argv, "r")) == NULL ) {
+ error(FATAL, "can't open input file %s", *argv);
+ continue; /* in case we ignore this error */
+ } /* End else */
+
+ conv(fp_in); /* translate the file */
+ if ( fp_in != stdin ) /* probably don't need it anymore */
+ fclose(fp_in);
+
+ } /* End of while */
+ } /* End else */
+
+ COUNT_ARGS(save); /* MACRO - adjust arg_index */
+
+} /* End of process_input */
+
+
+/****************************************************************************/
+
+
+void
+init_signals (void)
+
+
+{
+
+
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by main to set up the appropriate *
+ * handling of external signals for the post-processor. As *
+ * currently written interrupts, quits and hangups are all either *
+ * ignored or processed by the routine wrap_up(). *
+ * *
+ ********************************************************************/
+
+
+
+ signal(SIGFPE, float_err); /* catch floating point errors */
+
+ if ( signal(SIGINT, wrap_up) == SIG_IGN ) { /* ignoring interrupts */
+ signal(SIGINT, SIG_IGN); /* so reset SIGINT */
+ signal(SIGQUIT, SIG_IGN); /* and ignore the rest */
+ signal(SIGHUP, SIG_IGN);
+ } else { /* wrap_up() handles them */
+ signal(SIGQUIT, wrap_up);
+ signal(SIGHUP, wrap_up);
+ } /* End if */
+
+} /* End of init_signals */
+
+
+/*****************************************************************************/
+
+
+void
+debug_select (
+ char *str /* string of debug flags */
+)
+
+
+{
+
+
+ int index; /* single debug flag to toggle */
+ int i; /* for loop index */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by main() when it finds the -d *
+ * option. The parameter str is a pointer to a string of comma *
+ * separated tokens from the command line that specify which of *
+ * the debug flags is to be toggled. As currently implemented the *
+ * tokens in str may consist of numbers, which specify the actual *
+ * flag to be toggled, or the character '*', which stands for all *
+ * of the available debug flags. *
+ * *
+ ********************************************************************/
+
+
+
+ while ( *str ) {
+
+ if ( isdigit(*str) ) { /* have a single debug flag */
+ STR_CONVERT(str, index); /* MACRO - get the debug flag */
+ if ( index >= 0 && index < MAX_DEBUG )
+ TOGGLE(debug[index]); /* MACRO - toggle it */
+ } else if ( *str == '*' ) /* toggle all the debug flags */
+ for ( i = 0; i < MAX_DEBUG; i++ )
+ TOGGLE(debug[i]); /* MACRO */
+
+ if ( *str != '\0' ) str++; /* skip the comma */
+
+ } /* End while */
+
+} /* End of debug_select */
+
+
+/*****************************************************************************/
+
+
+void
+debug_file (
+ char *str /* debug file pathname */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by get_options() when it finds the *
+ * -D option in the command line. The parameter str is a pointer *
+ * to the pathname of the file to be used for all of the debugging *
+ * output. If the -D option is not specified then by default all *
+ * the debug output is written to stderr. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( (fp_debug = fopen(str, "w")) == NULL ) {
+ fp_debug = stderr;
+ error(NON_FATAL, "can't open debug file %s", str);
+ } /* End if */
+
+} /* End of debug_file */
+
+
+/*****************************************************************************/
+
+
+void
+log_file (
+ char *str /* log file pathname */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to open the log file for the APS-5 *
+ * post-processor. The pathname of the file is passed in the *
+ * parameter str when this routine is called from get_options(). *
+ * If the log file isn't specified then the post-processor will *
+ * write all of it's error messages to stderr. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( (fp_error = fopen(str, "a")) == NULL ) {
+ fp_error = stderr;
+ error(FATAL, "can't open log file %s", str);
+ } /* End if */
+
+} /* End of log_file */
+
+
+/*****************************************************************************/
+
+
+void
+acct_file (void)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to open the accounting file whose *
+ * pathname is pointed to by the variable tracct. If there is no *
+ * pathname in tracct then nothing is done in this routine, while *
+ * if we are unable to open the accounting file then an error *
+ * message is printed out and we quit. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( *tracct ) { /* we have an accnt file pathname */
+
+ if ( (fp_acct = fopen(tracct, "a")) == NULL ) { /* so open it */
+ fp_acct = stderr; /* couldn't open accounting file */
+ x_stat |= NO_ACCTFILE; /* indicate this in the exit status */
+ error(FATAL, "unable to open accounting file");
+ exit(x_stat); /* in case we ignore this error */
+ } /* End if */
+ x_stat |= DO_ACCT; /* accounting needs to be done */
+
+ } /* End if */
+
+} /* End of acct_file */
+
+
+/*****************************************************************************/
+
+
+void
+ban_file (
+ char *str /* banner file pathname */
+)
+
+
+{
+
+
+ FILE *fp_ban; /* banner file descriptor */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from get_options() to read the *
+ * banner string from the first line of the file whose pathname is *
+ * contained in the string str. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( (fp_ban = fopen(str, "r")) == NULL ) {
+ error(NON_FATAL, "can't open the banner file %s", str);
+ return;
+ } /* End if */
+
+ GET_LINE(fp_ban, ban_buf); /* MACRO - banner is first line only */
+ banner = ban_buf; /* t_banner() prints string *banner */
+
+ fclose(fp_ban); /* shouldn't need this file again */
+
+} /* End of ban_file */
+
+
+/*****************************************************************************/
+
+
+void
+out_file (void)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from the main program to open the *
+ * file pointed to by typesetter. *
+ * *
+ ********************************************************************/
+
+
+
+ do {
+ tf = fopen(typesetter, "w"); /* typesetter output file */
+ if ( busyflag == ON ) { /* report status and then exit */
+ printf(tf == NULL ? "Busy.\n" : "Available.\n");
+ exit(0);
+ } /* End if */
+
+ if ( tf == NULL ) { /* didn't open on last try */
+ if ( waitflag == OFF ) { /* he doesn't want to wait */
+ error(NON_FATAL, "can't open typesetter");
+ exit(NO_OUTFILE);
+ } /* End if */
+ else sleep(60); /* try again later */
+ } /* End if */
+ } while ( tf == NULL );
+
+} /* End of out_file */
+
+
+/*****************************************************************************/
+
+
+void
+outlist (
+ char *str /* string of pages to process */
+)
+
+
+{
+
+
+ int start, stop; /* page range end points */
+ int i; /* loop index - debug only */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called when the -o option is read in *
+ * the command line. The parameter str points to a list of page *
+ * numbers to be processed. This list consists single pages or *
+ * page ranges, separated by commas. A page range is specified by *
+ * separating two page numbers by the character '-'. In this case *
+ * all pages in this closed interval will be processed by daps. *
+ * *
+ ********************************************************************/
+
+
+
+ while ( *str && nolist < MAX_OUTLIST - 2 ) {
+
+ start = 0;
+
+ if ( isdigit(*str) ) /* page number should begin here */
+ STR_CONVERT(str,start); /* MACRO - get left end point */
+ else start = -9999; /* use lowest possible page */
+
+ stop = start; /* in case it is a single page */
+
+ if ( *str == '-' ) { /* have a page range */
+ str++; /* so skip the minus sign */
+ if ( isdigit(*str) ) /* page number begins here */
+ STR_CONVERT(str,stop); /* MACRO - get right end point */
+ else stop = 9999; /* use largest possible page */
+ } /* End if */
+
+ if ( start > stop )
+ error(FATAL,"illegal range %d-%d",start,stop);
+
+ olist[nolist++] = start; /* save the page range */
+ olist[nolist++] = stop;
+
+ if ( *str != '\0' ) str++; /* skip the comma */
+
+ } /* End while */
+
+ olist[nolist] = 0; /* terminate the page list */
+
+ if ( *str ) /* too many pages for olist array */
+ error(NON_FATAL, "skipped pages %s", str);
+
+ if ( debug[1] ) /* dump the olist[] array */
+ for ( i = 0; i < nolist; i += 2 )
+ fprintf(fp_debug,"%3d %3d\n", olist[i], olist[i+1]);
+
+} /* End of outlist */
+
+
+/*****************************************************************************/
+
+
+void
+error (
+ int kind, /* kind of error ie. FATAL or NON_FATAL */
+ char *str, /* pointer to message to be printed */
+ ...
+)
+
+
+{
+
+
+ /********************************************************************
+ * *
+ * This routine is called when the post-processor has found *
+ * an internal error. The parameter kind has the value FATAL or *
+ * NON_FATAL, and accordingly determines whether processing will *
+ * continue or not. The parameter str is a pointer to the error *
+ * message that is to be printed. All the remaining parameters *
+ * are the arguments that may be referenced in the control string *
+ * str. *
+ * *
+ * The global variable ignore is initialized to NO in the *
+ * file daps.globals, and can be set to YES by using the -I option *
+ * in the command line. This will allow the post-processor to *
+ * continue after a normally FATAL error has been encountered. *
+ * This is only a debugging feature and should not generally be *
+ * used. *
+ * *
+ ********************************************************************/
+
+
+ va_list ap;
+
+ fprintf(fp_error, "daps: ");
+ if ( (kind == NON_FATAL) && (line_number > 0) )
+ fprintf(fp_error, "warning - ");
+ va_start(ap, str);
+ vfprintf(fp_error, str, ap);
+ va_end(ap);
+
+ if ( line_number > 0 )
+ fprintf(fp_error, " ( line = %ld )", line_number);
+ fprintf(fp_error, "\n");
+
+ if ( ignore == YES && privelege == ON )
+ return;
+
+ if ( kind == FATAL ) /* can't ignore this error */
+ wrap_up(0); /* so quit */
+
+} /* End of error */
+
+
+/*****************************************************************************/
+
+
+int
+done (void)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to do the final processing for the *
+ * current job. If there is to be any accounting for this job we *
+ * need to be sure that the account function is called first *
+ * because there is nothing more we can do when we get here. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( tf == NULL ) /* Nowhere to write */
+ exit(x_stat | NO_OUTFILE); /* so set the bit in x_stat and quit */
+
+ t_reset('s'); /* get APS ready for the next job */
+ exit(x_stat); /* quit with status x_stat */
+
+} /* End of done */
+
+
+/*****************************************************************************/
+
+
+void
+float_err (
+ int sig /* signal number - not used */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * Called when a floating point error has been detected. *
+ * Needed because we want to make sure we exit gracefully if a *
+ * users job would normally dump a core file. *
+ * *
+ ********************************************************************/
+
+
+
+ error(FATAL, "floating point exception");
+
+} /* End of float_err */
+
+
+/*****************************************************************************/
+
+
+void
+wrap_up (
+ int sig /* signal number - not used */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to make sure that all the necessary *
+ * stuff is done when the driver finishes its job because of some *
+ * external signal or because it encountered a FATAL syntax error. *
+ * *
+ ********************************************************************/
+
+
+
+ account(); /* keep some kind of record for this job */
+ done(); /* get the APS ready for next job */
+
+} /* End of wrap_up */
+
+
+/*****************************************************************************/
+
+
+void
+conv(
+
+
+ register FILE *fp /* input file descriptor */
+)
+
+
+{
+
+
+ register int ch; /* first character of the command */
+ int c; /* used only as a character */
+ int n; /* general purpose integer variable */
+ char str[100], buf[300]; /* buffers for fscanf and fgets */
+
+
+
+ /********************************************************************
+ * *
+ * This is the main interpreter for the post-processor. It is *
+ * called from routine process_input with the single parameter *
+ * fp, which is the file descriptor for the current input file. *
+ * *
+ * The global variable line_number is used to keep track of *
+ * the current line in the input file fp. Its value is adjusted *
+ * in both conv() and devcntrl() and it is used in the routine *
+ * error() when error messages are written to the file fp_error. *
+ * *
+ * The bits in the global variable x_stat are used to keep *
+ * track of the progress of the post-processor, and when the *
+ * program exits it will return x_stat as its termination status. *
+ * *
+ * *
+ * NOTE - In order to improve the speed of this routine we may *
+ * want to declare more register variables. When we do this we *
+ * need to be sure that the macros that are being used will accept *
+ * register variables as arguments. For example if a macro takes *
+ * the address of one of its arguments, then we can't assign this *
+ * variable to a register. *
+ * *
+ ********************************************************************/
+
+
+
+ x_stat |= FILE_STARTED; /* indicate this in x_stat */
+ line_number = 1; /* line in current input file */
+
+ while ( (ch = getc(fp) ) != EOF ) {
+
+ switch ( ch ) { /* ch determines the command */
+
+ case 'w': /* don't do anything for these */
+ case ' ':
+ case 0:
+ break;
+
+ case '\n': /* just increment line_number */
+ line_number++;
+ break;
+
+ case '0': /* two motion digits and a char */
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ GET_DIG(fp, c); /* MACRO - get the second digit */
+ hmot((ch - '0') * 10 + c - '0');
+
+ /* Be careful - we need to fall through here */
+
+ case 'c': /* single ASCII character */
+ GET_CHAR(fp, c); /* MACRO - read the character */
+ put1(c); /* output c's APS-5 code */
+ break;
+
+ case 'h': /* relative horizontal motion */
+ case 'H': /* absolute horizontal motion */
+ case 'v': /* relative vertical motion */
+ case 'V': /* absolute vertical motion */
+ case 's': /* set point size */
+ case 'p': /* start a new page */
+ GET_INT(fp, n); /* MACRO - first get an integer */
+ switch( ch ) { /* and then process the command */
+
+ case 'h': hmot(n);
+ break;
+
+ case 'H': hgoto(n);
+ break;
+
+ case 'v': vmot(n);
+ break;
+
+ case 'V': vgoto(n);
+ break;
+
+ case 's': setsize(t_size(n));
+ break;
+
+ case 'p': t_page(n);
+ break;
+
+ } /* End switch */
+ break;
+
+ case 'C': /* process special char string */
+ case 'f': /* set font */
+ GET_STR(fp, str); /* MACRO - first get a string */
+ if ( ch == 'C' )
+ put1s(str);
+ else setfont(t_font(str));
+ break;
+
+ case 'x': /* device control function */
+ devcntrl(fp);
+ break;
+
+ case 'D': /* drawing operation */
+ case 't': /* text string upto newline */
+ GET_LINE(fp, buf); /* MACRO - get rest of the line */
+ if ( ch == 'D' )
+ drawfunct(buf, fp);
+ else t_text(buf);
+ line_number++; /* finished with this line */
+ break;
+
+ case 'n': /* end of line */
+ case '#': /* comment */
+ SKIP_LINE(fp,c); /* MACRO - skip rest of this line */
+ if ( ch == 'n' )
+ t_newline();
+ line_number++;
+ break;
+
+ default: /* illegal command - quit */
+ error(FATAL,"unknown input character 0%o %c", ch, ch);
+ break; /* in case we ignore this error */
+
+ } /* End switch */
+
+ } /* End while */
+
+ x_stat &= ~FILE_STARTED; /* turn off FILE_STARTED bit in x_stat */
+
+} /* End of conv */
+
+
+/*****************************************************************************/
+
+
+void
+drawfunct(
+
+
+ char buf[], /* drawing command */
+ FILE *fp
+)
+
+
+{
+
+
+ int n1, n2, n3, n4; /* values are set in the MACROS */
+
+
+
+ /********************************************************************
+ * *
+ * This routine interprets the drawing functions that are *
+ * provided by troff. The array buf[] has been filled in by the *
+ * function conv(), and it contains the drawing command line from *
+ * the input file. *
+ * *
+ ********************************************************************/
+
+
+
+ switch ( buf[0] ) { /* process the command */
+
+ case 'l': /* draw a line */
+ SCAN2(buf+1, n1, n2); /* MACRO - get two integers */
+ drawline(n1, n2, ".");
+ break;
+
+ case 'c': /* draw a circle */
+ SCAN1(buf+1, n1); /* MACRO - get one integer */
+ drawcirc(n1);
+ break;
+
+ case 'e': /* draw an ellipse */
+ SCAN2(buf+1, n1, n2); /* MACRO - get two integers */
+ drawellip(n1, n2);
+ break;
+
+ case 'a': /* draw an arc */
+ SCAN4(buf+1,n1,n2,n3,n4); /* MACRO - get four integers */
+ drawarc(n1, n2, n3, n4);
+ break;
+
+ case '~': /* draw spline curve */
+ drawwig(buf+1);
+ break;
+
+#ifdef PLOT
+ case 'p': /* plot these points */
+ plot_points(buf+1, fp);
+ break;
+#endif
+ default: /* don't understand the command */
+ error(FATAL, "unknown drawing function %s", buf);
+ break; /* in case we ignore this error */
+
+ } /* End switch */
+
+} /* End of drawfunct */
+
+
+/*****************************************************************************/
+
+
+void
+devcntrl(
+
+
+ FILE *fp /* input file descriptor */
+)
+
+
+{
+
+
+ int c; /* character used in SKIP_LINE */
+ int n; /* integer used in GET_INT */
+ char str[20]; /* used to hold different strings */
+ char file[50]; /* load from this font file - maybe */
+ char buf[4096]; /* buffer used in GET_LINE etc. */
+
+
+
+ /********************************************************************
+ * *
+ * This is the interpreter for the device control language *
+ * that is produced by the new troff. The parameter fp is the file *
+ * descriptor for the current input file. *
+ * *
+ ********************************************************************/
+
+
+
+ GET_STR(fp, str); /* read command from input file */
+
+ switch ( str[0] ) { /* str[0] determines the command */
+
+ case 'i': /* initialize the device */
+ fileinit(); /* read data from DESC.out */
+ t_init(); /* initialize the typesetter */
+ if ( print_banner == YES ) /* print the job's banner */
+ t_banner();
+ break;
+
+ case 'T': /* set device name */
+ GET_STR(fp, devname); /* MACRO - get device string */
+ if ( strcmp(devname, "aps") != SAME_STR )
+ error(FATAL, "illegal typesetter %s", devname);
+ break;
+
+ case 't': /* trailer - do nothing on APS-5 */
+ break;
+
+ case 'p': /* pause - we can restart */
+ case 's': /* stop - done with this job */
+ t_reset(str[0]); /* reset the typesetter */
+ break;
+
+ case 'r': /* set resolution */
+ GET_INT(fp, res); /* MACRO - get one integer */
+ hcutoff = cutoff * res; /* beam cutoff in device units */
+ break;
+
+ case 'f': /* load a font */
+ GET_INT(fp, n); /* MACRO - put font number in n */
+ GET_STR(fp, str); /* MACRO - put font name in str */
+ GET_LINE(fp, buf); /* MACRO - use this filename */
+ ungetc('\n', fp); /* put '\n' back for SKIP_LINE */
+ file[0] = 0; /* in case there is no file name */
+ SCAN_STR(buf, file); /* MACRO - may have a file name */
+ loadfont(n, str, file);
+ break;
+
+ case 'H': /* set character height */
+ GET_INT(fp, n); /* MACRO - read vertical point size */
+ t_charht(t_size(n));
+ break;
+
+ case 'S': /* set character slant */
+ GET_INT(fp, n); /* MACRO - read APS slant angle */
+ t_slant(n); /* set the APS slant to n */
+ last_req_slant = n; /* and remember this angle */
+ break;
+
+ case 'X':
+ GET_STR(fp, buf);
+ if (strcmp(buf, "LC_CTYPE") == 0)
+ break;
+ /*FALLTHRU*/
+
+ default: /* don't understand the command */
+ error(FATAL, "unknown device command %c", str[0]);
+ break; /* in case we ignore this error */
+
+ } /* End switch */
+
+ SKIP_LINE(fp, c); /* finished with this line */
+ line_number++;
+
+} /* End of devcntrl */
+
+
+/*****************************************************************************/
+
+
+void
+t_init (void)
+
+
+{
+
+
+ int i; /* for loop variable */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from devcntrl() when the command *
+ * x init is read. It produces the instructions that initialize *
+ * the APS, and then it sets up the picture drawing variables *
+ * drawdot and drawsize. *
+ * *
+ * *
+ * NOTE - the opcode STRTJOB is defined to be octal 272 in the *
+ * file aps.h, although on our APS-5 typesetter it is one of the *
+ * reserved but not implemented opcodes. *
+ * *
+ ********************************************************************/
+
+
+
+ PUTC(STRTJOB, tf); /* MACRO - output STRTJOB opcode */
+ putint(1); /* dummy argument for STRTJOB? */
+ PUTC(STRTPG, tf); /* MACRO - start page 0 */
+ putint(0);
+
+ hpos = vpos = 0; /* initialize page coordinates */
+
+ for ( i = 0; i < nchtab; i++ ) /* find drawing character index */
+ if ( strcmp(&chname[chtab[i]], "l.") == SAME_STR )
+ break;
+
+ if ( i < nchtab ) { /* found it in the table */
+ drawdot = i + 128; /* so use these values for drawing */
+ drawsize = 1;
+ } else { /* didn't find it - use default */
+ drawdot = '.';
+ drawsize = 3;
+ } /* End if */
+
+} /* End of t_init */
+
+
+/*****************************************************************************/
+
+
+void
+t_banner (void)
+
+
+{
+
+
+ int i; /* while loop counter */
+ char *bp; /* temp pointer to banner string */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from devcntrl() when the device *
+ * initialization command is read. It is responsible for printing *
+ * the job's header. This includes checking and then writing out *
+ * the string pointed to by banner. The user may set this string *
+ * by using either the -h or the -H options on the command line. *
+ * *
+ ********************************************************************/
+
+
+
+ output = ON; /* ON for routine put1() etc. */
+ bp = banner; /* point to start of banner string */
+ i = 0; /* characters looked at so far */
+
+ while ( *bp ) /* check at most BAN_LENGTH chars */
+ if ( *bp++ < ' ' || ++i > BAN_LENGTH ) /* unprintable or too long */
+ *(--bp) = '\0'; /* so last char is as far as we go */
+
+ setsize(t_size(BAN_SIZE)); /* use font 1 and point size BAN_SIZE */
+
+ vmot(VSPACE0); /* space down for banner cut marks */
+ t_text(cut_marks); /* print first set of cut marks */
+ hmot(HSPACE0); /* space right for more cut marks */
+ t_text(cut_marks); /* print second set of cut marks */
+
+ vmot(VSPACE1); /* skip this far before banner */
+ hgoto(HSPACE1); /* indent */
+ t_text(ban_sep); /* start of banner */
+
+ vmot(VSPACE2); /* space down for banner string */
+ hgoto(HSPACE2); /* indent */
+ t_text(banner); /* print the user's banner */
+
+ vmot(VSPACE3); /* skip down for next separator */
+ hgoto(HSPACE3); /* indent */
+ t_text(ban_sep); /* print the second separator */
+
+ vmot(VSPACE4); /* skip down for banner cut marks */
+ hgoto(HSPACE4); /* position for first cut marks */
+ t_text(cut_marks); /* print first set of cut marks */
+ hmot(HSPACE0); /* skip right for second cut marks */
+ t_text(cut_marks); /* print second set */
+
+ hpos = vpos = 0; /* reset these guys again */
+ cur_vpos = max_vpos = 0; /* user doesn't own the banner */
+ print_banner = NO; /* don't print it again */
+ output = OFF; /* output is controlled in t_page() */
+
+} /* End of t_banner */
+
+
+/*****************************************************************************/
+
+
+void
+t_page (int n)
+
+
+{
+
+
+ int i; /* for loop index */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from conv() to do the work that is *
+ * necessary when we begin a new page. The STRTPG command to the *
+ * APS-5 invokes the RESET command which sets the font to 0000, *
+ * the master range to 1, and sets the oblique mode to normal and *
+ * the oblique angle to 14 degrees. To reset the font and range *
+ * properly we call setsize(), while if we were in oblique mode *
+ * the variable aps_slant will be non-zero and so in this case *
+ * we call routine t_slant() with aps_slant as the parameter. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == ON && ++scount >= spage ) { /* reached stop page */
+ t_reset('p'); /* so reset the APS and then HALT */
+ scount = 0; /* and start counting over again */
+ } /* End if */
+
+ vpos = 0; /* we are at the top of new page */
+ output = ON; /* enable output in put1() etc. */
+ last_slant = POS_SLANT; /* this will be the stored angle */
+
+ PUTC(STRTPG, tf); /* MACRO - start page n */
+ putint(n);
+ ++pageno; /* update user's page number */
+
+ setsize(size); /* reset both the font and size */
+ if ( aps_slant ) /* then the APS was in oblique mode */
+ t_slant(aps_slant); /* so go back to previous slant */
+
+ if ( nolist == 0 ) return; /* no -o option, so print every page */
+ output = OFF; /* otherwise -o option was specified */
+ for ( i = 0; i < nolist; i += 2 ) /* so check page pairs in olist[] */
+ if ( n >= olist[i] && n <= olist[i+1] ) {
+ output = ON; /* enable output for this page */
+ break;
+ } /* End if */
+
+} /* End of t_page */
+
+
+/*****************************************************************************/
+
+
+void
+t_newline (void)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from conv() when it has read the *
+ * start new line command. This command has the form "n a b" where *
+ * a and b are integers that we can safely ignore for the APS-5. *
+ * *
+ ********************************************************************/
+
+
+
+ hpos = 0; /* return to left margin */
+
+} /* End of t_newline */
+
+
+/*****************************************************************************/
+
+
+int
+t_size (
+ int n /* convert this point size */
+)
+
+
+{
+
+ int i; /* for loop index */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to convert the point size n to an *
+ * internal size, which is defined as one plus the index of the *
+ * least upper bound for n in the array pstab[]. If n is larger *
+ * than all the entries in pstab[] then nsizes is returned. *
+ * *
+ * *
+ * NOTE - this routine expects the entries in pstab[] to be in *
+ * increasing numerical order, but it doesn't require this list to *
+ * be terminated by a 0 point size entry. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( n >= pstab[nsizes-1] ) /* greater than all entries */
+ return(nsizes); /* so use largest internal size */
+
+ for ( i = 0; n > pstab[i]; i++ ) /* otherwise find the LUB for n */
+ ;
+ return(i+1); /* internal size is i+1 */
+
+} /* End of t_size */
+
+
+/*****************************************************************************/
+
+
+void
+t_charht (
+ int n /* set height to this internal size */
+)
+
+
+{
+
+
+ int max; /* max internal size for current range */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by devcntrl() to set the height of *
+ * the characters that are being printed to the internal size *
+ * specified by the parameter n. If the requested size is too *
+ * large for the current range then an error message is written *
+ * and the requested size is set to the maximum allowed in the *
+ * current range. Since the APS-5 apparently allows us to decrease *
+ * the height as far as we want, no lower limit checks are made on *
+ * the requested size. The global variable range is set by the *
+ * routine setfont() to the current master range that is being *
+ * used. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( range < 1 || range > MAX_RANGE ) { /* something is wrong here */
+ error(FATAL, "illegal master range %d", range);
+ return; /* in case this error is ignored */
+ } /* End if */
+
+ max = upper_limit(range); /* internal upper limit for range */
+
+ if ( n > max ) { /* requested size is too big */
+ error(NON_FATAL, "size %d too large for range %d", pstab[n-1], range);
+ n = max; /* reset n to largest allowed size */
+ } /* End if */
+
+ PUTC(VSIZE, tf); /* MACRO - set character height */
+ putint(10 * pstab[n-1]); /* vertical size - in decipoints */
+
+} /* End of t_charht */
+
+
+/*****************************************************************************/
+
+
+int
+upper_limit (
+ int n /* find upper limit for this range */
+)
+
+
+{
+
+
+ int bsize; /* master range base size */
+ int max; /* maximum point size for range n */
+ int max_internal; /* maximum internal size for range n */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by t_charht() and possibly others to *
+ * find the maximum internal size that is allowed for master range *
+ * n. The value returned to the caller is the largest internal *
+ * size that is allowed in this range. *
+ * *
+ ********************************************************************/
+
+
+
+ bsize = BASE_SIZE(n); /* base size for master range n */
+ max = bsize; /* max point size if n > 3 */
+ if ( n <= 3 ) /* can scale these ranges up */
+ max = SCALE_UP(bsize); /* to this limit on our APS-5 */
+
+ max_internal = t_size(max); /* first try at max internal size */
+ if ( pstab[max_internal -1] > max ) /* take next lower internal size */
+ max_internal--;
+
+ return(max_internal);
+
+} /* End of upper_limit */
+
+
+/*****************************************************************************/
+
+
+void
+t_slant (
+ int n /* set the APS slant to this value */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * Called to set the slant angle to the value of the parameter *
+ * n. On the APS-5 we can only set positive or negative 14 degree *
+ * slants, even though in TROFF any slant angle can be requested. *
+ * The global variable last_slant is the value of the last angle *
+ * that was stored in the APS-5 using either the SETOBLIQUE or *
+ * STRTPG commands, while aps_slant is the last angle we set in *
+ * this routine. *
+ * *
+ * Originally we only set the oblique angle if last_slant *
+ * was not equal to n. This really didn't work too well, because *
+ * appaerntly the APS-5 resets the oblique angle to +14 degrees *
+ * when it returns to normal mode. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( n != 0 ) { /* need to slant type being set */
+
+ n = ( n > 0 ) ? POS_SLANT /* use +14 degree slant */
+ : NEG_SLANT; /* otherwise slant at -14 degrees */
+
+ PUTC(SETOBLIQUE, tf); /* MACRO - store new angle n */
+ putint(10 * n); /* APS expects 10 times the angle */
+ last_slant = n; /* remember this stored angle */
+
+ PUTC(XOBLIQUE, tf); /* MACRO - execute oblique mode */
+
+ } /* End if */
+ else PUTC(XNORMAL, tf); /* MACRO - otherwise use normal mode */
+
+ aps_slant = n; /* angle that type is being set at */
+
+} /* End of t_slant */
+
+
+/*****************************************************************************/
+
+
+int
+t_font (
+ char *str /* convert this string to font number */
+)
+
+
+{
+
+
+ int n; /* integer value for number in str */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from conv() to convert the ASCII *
+ * string *str to an integer that represents a legal font number. *
+ * If the resulting number is outside the allowed range for fonts *
+ * on this typesetter then an error message is printed out and *
+ * the program is aborted. *
+ * *
+ ********************************************************************/
+
+
+
+ n = atoi(str); /* font number */
+ if ( n < 0 || n > nfonts ) { /* illegal font - abort */
+ error(FATAL, "illegal font number %d", n);
+ n = font; /* in case we don't quit on an error */
+ } /* End if */
+
+ return(n); /* legal value so return it */
+
+} /* End of t_font */
+
+
+/*****************************************************************************/
+
+
+void
+t_text (
+ char *str /* typeset this string of characters */
+)
+
+
+{
+
+
+ int ch; /* internal character variable */
+ char buf[4]; /* buffer used for special chars */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by conv() to process the text string *
+ * that is in the array str. Characters are read from str and *
+ * written to the output file until the end of the string is *
+ * reached. *
+ * *
+ * After the character has been put in the output file the *
+ * current horizontal position is adjusted by a call to hmot() *
+ * using the global variable lastw as the parameter. lastw is set *
+ * in put1() and represents the width of the last character that *
+ * was printed. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( debug[2] )
+ fprintf(fp_debug,"input string = %s\n", str);
+
+ if ( output == OFF ) return; /* not doing output on this page */
+
+ while ( (ch = *str++) != '\n' && ch != '\0' ) {
+
+ if ( ch == '\\' ) { /* this is a special char sequence */
+ switch ( ch = *str++ ) { /* so check the next character */
+
+ case '(': /* special troff character sequence */
+ buf[0] = *str++;
+ buf[1] = *str++;
+ buf[2] = '\0';
+ put1s(buf);
+ break;
+
+ case '\\': /* backslash character */
+ case 'e':
+ put1('\\');
+ break;
+
+ default: /* illegal character sequence */
+ error(FATAL,"illegal character sequence \\%c", ch);
+ break;
+
+ } /* End switch */
+ } else put1(ch); /* otherwise it is a simple character */
+ hmot(lastw); /* beam has moved right lastw units */
+
+ if ( debug[3] )
+ fprintf(fp_debug,"char = %c width = %d\n", ch, lastw);
+
+ } /* End while */
+
+} /* End of t_text */
+
+
+/*****************************************************************************/
+
+
+void
+t_reset (
+ int ch /* pause or stop */
+)
+
+
+{
+
+
+ int n; /* for loop variable */
+ long dist; /* distance to end of job */
+ int opcode; /* ENDJOB or HALT */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to produce the typesetter commands *
+ * that are required at the end of a job. If the parameter ch has *
+ * the value 's' then we have reached the end of the current job *
+ * and so we output the ENDJOB opcode, otherwise ch should be *
+ * equal to 'p', and so we produce the HALT command. This enables *
+ * the operator to restart the current job by pressing the PROCEED *
+ * button on the front panel, while if he hits the INITIAL button *
+ * the current job will be terminated. *
+ * *
+ * If we have finished this job, but we are not currently at *
+ * position max_vpos, we step the job forward to this position so *
+ * that the next job begins on unexposed paper. *
+ * *
+ ********************************************************************/
+
+
+
+ output = ON; /* probably not needed here? */
+
+ if ( ((dist = max_vpos - cur_vpos) > 0) && (ch == 's') ) {
+ dist += (pstab[nsizes-1] / 2) * 10; /* try to get whole last line */
+ while ( dist > 0 ) { /* go to the end of the job */
+ vmot(dist > MAX_INT ? MAX_INT : dist);
+ dist -= (dist > MAX_INT) ? MAX_INT : dist;
+ } /* End while */
+ } /* End if */
+
+ PUTC(STRTPG, tf); /* MACRO - output STRTPG opcode */
+ putint(9000+pageno); /* can't possibly be a page number */
+
+ for ( n = 0; n < 10; n++ ) /* flush out APS internal buffer */
+ PUTC(APSNOOP, tf); /* MACRO - put out a few no-op's */
+
+ opcode = ( ch == 'p' ) ? HALT /* may want to restart this job */
+ : ENDJOB; /* done with this guy */
+
+ PUTC(opcode, tf); /* MACRO - stop */
+
+ fflush(tf); /* flush any buffered output */
+
+} /* End of t_reset */
+
+
+/*****************************************************************************/
+
+
+void
+hflush (void)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called in put1() and t_push() to make sure *
+ * that the two variables hpos and htrue aren't too different. If *
+ * they differ by more than the constant SLOP then a tab is set *
+ * and then executed to position the beam properly. *
+ * *
+ * The variable hpos is the current horizontal position as *
+ * determined by troff, while htrue is the horizontal position as *
+ * calculated by the post-processor. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output for this page */
+
+ if ( abs(hpos - htrue) > SLOP ) { /* positions are too different */
+ PUTC(SETTAB, tf); /* MACRO - so set a tab */
+ putint(hpos); /* to the current value of hpos */
+ PUTC(XTAB, tf); /* MACRO - then execute the tab */
+ htrue = hpos; /* the positions are the same now */
+ } /* End if */
+
+} /* End of hflush */
+
+
+/*****************************************************************************/
+
+
+void
+hmot (
+ int n /* move this far from here */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from conv() to handle a relative *
+ * horizontal motion of n units. If n is positive then we move to *
+ * the right on the current line. If the final horizontal position *
+ * hpos is negative then something has gone wrong and so we print *
+ * out an error message and if we return from error() we set hpos *
+ * to 0. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( (hpos += n ) < 0 || hpos > hcutoff ) { /* bad beam position */
+ error(FATAL, "illegal horizontal position %d", hpos);
+ hpos = 0; /* in case we ignore this error */
+ } /* End if */
+
+} /* End of hmot */
+
+
+/*****************************************************************************/
+
+
+void
+hgoto (
+ int n /* move to this horizontal position */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by conv() to set the absolute *
+ * horizontal position of the beam to the position n, where n *
+ * must be a positive integer. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( (hpos = n) < 0 || hpos > hcutoff ) { /* bad beam position */
+ error(FATAL, "illegal horizontal position %d", hpos);
+ hpos = 0; /* in case we ignore this error */
+ } /* End if */
+
+} /* End of hgoto */
+
+
+/*****************************************************************************/
+
+
+void
+vgoto (
+ int n /* final absolute vert position */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called from conv() to position the beam at *
+ * the absolute vertical position n. The unit used in all of the *
+ * APS absolute spacing commands is 1/10 of a point. *
+ * *
+ * *
+ * NOTE - it is important to check that a job doesn't try to *
+ * write on a previous job by using the vertical spacing commands. *
+ * Currently this check is made in the routine vmot(). *
+ * *
+ ********************************************************************/
+
+
+
+ vmot(n - vpos); /* move n-vpos units from here */
+
+} /* End of vgoto */
+
+
+/*****************************************************************************/
+
+
+void
+vmot (
+ int n /* move n units vertically from here */
+)
+
+
+{
+
+
+ int sign; /* sign of the requested motion */
+ int dist; /* distance left to move */
+
+
+ /********************************************************************
+ * *
+ * This routine is called to move the vertical position of the *
+ * beam n units from the current position. The global variable *
+ * cur_vpos is the typesetter's current vertical position as *
+ * measured from the start of the job. If the user has requested *
+ * a relative vertical motion that would make cur_vpos negative *
+ * we print an error message and then abort. The variable max_vpos *
+ * is the maximum vertical position that this job has reached. It *
+ * is used to calculate the amount of paper that has been used. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output on this page */
+
+ if ( cur_vpos + n < 0 ) { /* trying to write on last job! */
+ error(FATAL, "can't backup past start of job");
+ return; /* in case we ignore this error */
+ } /* End if */
+
+ sign = ( n > 0 ) ? 1 : -1; /* up or down the page */
+ dist = sign * n; /* total distance to move */
+
+ while ( dist > 0 ) { /* not done yet */
+ PUTC(VSPABS, tf); /* MACRO - absolute vert motion */
+ putint(sign * ((dist > vert_step) ? vert_step : dist));
+ dist -= ( dist > vert_step ) ? vert_step : dist ;
+ } /* End while */
+
+ vpos += n; /* record our new vertical position */
+ cur_vpos += n;
+ if ( cur_vpos > max_vpos ) /* this is the farthest we have gone */
+ max_vpos = cur_vpos;
+
+} /* End of vmot */
+
+
+/*****************************************************************************/
+
+
+void
+put1s (
+ char *s /* print this special character */
+)
+
+
+{
+
+
+ int i; /* for loop index */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to produce the typesetter output *
+ * for the special character string pointed to by s. All of the *
+ * special characters are listed in the charset portion of the *
+ * typsetter's DESC file, and the program makedev reads this part *
+ * of the DESC file and produces two tables called chtab[] and *
+ * chname[]. The character array chname[] contains the special *
+ * character strings separated by '\0', while chtab[i] gives us *
+ * the starting position in chname[] for the special character i. *
+ * *
+ * *
+ * NOTE - Since we just do a sequential search of the strings *
+ * in chname[] when looking for a special character, the speed of *
+ * the post-processor could be improved if we had the most common *
+ * special characters at the start of the list in the DESC file. *
+ * However before doing this we should find out how troff does *
+ * the lookup. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output for this page */
+
+ for ( i = 0; i < nchtab; i++ ) /* lookup the special character */
+ if ( strcmp(&chname[chtab[i]], s) == SAME_STR )
+ break;
+
+ if ( i < nchtab ) { /* found it */
+#ifdef ADJUST
+ t_adjust(s); /* adjust vertical positions */
+#endif
+ put1(i + 128); /* special characters start at 128 */
+ } /* End if */
+ else /* didn't find it - abort */
+ if ( newfile(s, pstab[size-1]) )
+ error(FATAL, "special character %s not found", s);
+
+ if ( debug[4] ) {
+ fprintf(fp_debug,"string = %s ", s);
+ fprintf(fp_debug,"index = %d\n", i);
+ } /* End if */
+
+} /* End of put1s */
+
+
+/*****************************************************************************/
+
+
+#ifdef ADJUST
+
+
+void
+t_adjust (
+ char *s /* look for this string */
+)
+
+
+{
+
+
+ int i; /* for loop index */
+ int incr; /* incrment v_adjust by this much */
+
+
+
+ /********************************************************************
+ * *
+ * Called from put1s() to look for the string *s in adj_tbl[] *
+ * and if found it is used to set the appropriate vertical for the *
+ * character. *
+ * *
+ ********************************************************************/
+
+
+ v_adjust = 0;
+
+ for ( i = 0; adj_tbl[i] != '\0'; i++ )
+ if ( strcmp(s, adj_tbl[i]) == 0 ) {
+ incr = (vadjustment[i] < 0) ? -1 : 1;
+ v_adjust = (vadjustment[i] * pstab[size-1]) /dev.unitwidth + incr;
+ break;
+ } /* End if */
+
+} /* End of t_adjust */
+
+#endif
+
+
+/*****************************************************************************/
+
+
+void
+put1 (
+ int c /* print this character */
+)
+
+
+{
+
+
+ register int i = 0; /* c's index in font data structures */
+ register int k; /* look for c on this font */
+ int j; /* lookup failed on this many fonts */
+ int k1; /* if not found check this font next */
+ int code; /* APS-5 code for this character */
+ int old_font; /* original font number (1..nfonts) */
+ int old_range; /* original master range setting */
+ int last_range; /* last master range setting */
+ int old_slant; /* original device slant angle */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is responsible for producing the output codes *
+ * for the characters to be printed by the APS. The integer c *
+ * is the ASCII code for the character if c < 128. Otherwise it *
+ * refers to one of troff's special character sequences. Since we *
+ * are not concerned with unprintable ASCII characters we subtract *
+ * 32 from c to get the right index to use when we do the lookup *
+ * in array fitab[][]. If the character isn't found on the current *
+ * font then we search all the remaining fonts, starting with the *
+ * first special font. If we haven't found the character after we *
+ * search the last font then an error message is written out and *
+ * we quit. Since we can't be guarenteed that font position 0 has *
+ * been loaded with a valid font, we need to make sure that the *
+ * circular search skips this position. *
+ * *
+ * If we find the character c, but it has an APS code that is *
+ * larger than 128, then the makedev program has encoded some *
+ * extra information in this field. Therefore we call the routine *
+ * special_case() to decode this info, and return the correct APS *
+ * code for c. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output on this page */
+
+ old_font = font; /* may find c on a different font */
+ old_range = last_range = range; /* and in a different master range */
+ old_slant = aps_slant; /* and may change the slant for c */
+
+ k = font; /* while loop looks for c on font k */
+ k1 = smnt - 1; /* get the next font from this guy */
+ j = 0; /* c not found on this many fonts */
+
+ c -= 32; /* tables don't include unprintable chars */
+
+ if ( c <= 0 ) { /* c is a space or unprintable */
+ if ( c < 0 ) /* can't be in any of our font tables */
+ error(FATAL, "non-printable character 0%o\n", c+32);
+
+ lastw = (widthtab[font][0] & BMASK) * pstab[size-1] / dev.unitwidth;
+ return; /* lastw = space width (see t_text()) */
+ } /* End if */
+
+
+ /* Look for character c in current font and then on the special fonts */
+
+
+ while ( (j < nfonts + 1) && ((i = fitab[k][c] & BMASK) == 0) ) {
+ k = (k1++) % nfonts + 1; /* now check all other fonts */
+ j++;
+ } /* End while */
+
+
+ /* If j > nfonts or i == 0 then char c not found. no-op if code = 0 */
+
+
+ if ( j > nfonts || i == 0 || (code = codetab[k][i] & BMASK) == 0 ) {
+ if ( i == 0 || j > nfonts )
+ if ( c+32 < 128 || newfile(&chname[chtab[c+32-128]], pstab[size-1]) )
+ error(FATAL, "character 0%o not found", c+32);
+ return;
+ } /* End if */
+
+ if ( aps_font != fontname[k].number ) /* probably need a new font */
+ if ( (code < 129) || (fontbase[font]->spare1 != fontbase[k]->spare1) )
+ CHANGE_FONT(k, last_range);
+
+ if ( code > 128 && fontbase[k]->spare1 ) { /* got some more stuff to do */
+ code = special_case(i, k); /* this is the real APS code for c */
+ last_range = range; /* in case the range was changed */
+ } /* End if */
+
+#ifdef ADJUST
+
+ if ( v_adjust != 0 )
+ vmot(v_adjust);
+
+#endif
+
+ hflush(); /* get to right horizontal position */
+ PUTC(code, tf); /* MACRO - then print the character */
+
+#ifdef ADJUST
+
+ if ( v_adjust != 0 ) {
+ vmot(-v_adjust);
+ v_adjust = 0;
+ } /* End if */
+
+#endif
+
+ if ( (last_range != old_range) || (aps_slant != old_slant) )
+ CHANGE_FONT(old_font, last_range); /* MACRO - back to the old font */
+
+ lastw = ((widthtab[k][i] & BMASK) * pstab[size-1] + dev.unitwidth/2) / dev.unitwidth;
+ htrue += lastw; /* approximate right side of char */
+
+} /* End of put1 */
+
+
+/*****************************************************************************/
+
+
+void
+putint (
+ int n /* write out this integer */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to write the integer n out in the *
+ * last two bytes of a type two command on the APS-5 typesetter. *
+ * *
+ ********************************************************************/
+
+
+
+ PUTC(n >> 8, tf);
+ PUTC(n, tf);
+
+} /* End of putint */
+
+
+/*****************************************************************************/
+
+
+void
+setsize (
+ int n /* new internal size */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to set the current internal size to *
+ * the value n, and then output the commands needed to change the *
+ * APS-5 point size. The internal size n is an index into the *
+ * array pstab[], which contains the actual point size that is to *
+ * be used. *
+ * *
+ * *
+ * NOTE - This routine always calls setfont in case the range *
+ * has changed, but it may be the case that the range doesn't *
+ * really change even though the point size has changed. Always *
+ * making this call definitely produces some unnecessary APS-5 *
+ * code. Probably fix it in setfont routine. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output on this page */
+
+ if ( n <= 0 || n > nsizes ) { /* internal size out of range */
+ error(FATAL, "illegal internal size %d", n);
+ n = size; /* in case we return from this error */
+ } /* End if */
+
+ size = n; /* must preceed call to setfont() */
+ change_font(font); /* in case the range has changed */
+ PUTC(HVSIZE, tf); /* MACRO - set the new point size */
+ putint(10 * pstab[n-1]); /* APS expects 10 times the size */
+
+} /* End of setsize */
+
+
+/*****************************************************************************/
+
+
+void
+setfont (
+ int n /* new font's internal number */
+)
+
+
+{
+
+
+ int oldrange; /* current master range */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to set the current typesetter font *
+ * to the one that corresponds to the parameter n. These internal *
+ * font numbers are determined by the way the font tables are set *
+ * up for the typesetter in the DESC file. *
+ * *
+ * Our APS-5 typesetter typically has only master ranges 1, 2, *
+ * and 3. The actual font that we want to set is determined by the *
+ * current value of the global variable size. Remember that this *
+ * value is an internal size, which is an index into the array *
+ * pstab[]. The following table gives the point sizes that can be *
+ * used in the different master ranges, *
+ * *
+ * *
+ * MASTER RANGE 1: 0 to 12 *
+ * MASTER RANGE 2: 12 to 24 *
+ * MASTER RANGE 3: 24 to 48 *
+ * MASTER RANGE 4: 48 to 96 *
+ * *
+ * *
+ * although any range can actually print characters up to size, *
+ * *
+ * *
+ * 1.5 * limit - 1 *
+ * *
+ * *
+ * where the value of limit is obtained from the above table. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( output == OFF ) return; /* not doing output for this page */
+
+ if ( n < 0 || n > nfonts ) {
+ error(FATAL, "requested font number %d out of range", n);
+ n = font; /* in case we ignore this error */
+ } /* End if */
+
+ oldrange = range; /* new range may be different */
+ CHANGE_FONT(n, oldrange); /* change the APS font */
+ font = n; /* current internal font number */
+
+} /* End of setfont */
+
+
+/*****************************************************************************/
+
+
+void
+change_font (
+ int n /* new font's internal number */
+)
+
+
+{
+
+
+
+ int angle; /* slant angle - used in SETSLANT */
+ int max_range; /* largest range allowed on font n */
+ int max_size; /* largest size allowed in max_range */
+ char f_spare1; /* value of font flags */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to change the font that the APS is *
+ * currently setting type in. Some extra stuff is done if the font *
+ * has any of its special flags set. *
+ * *
+ ********************************************************************/
+
+
+
+ range = get_range(pstab[size-1]); /* probably the new range */
+
+ f_spare1 = fontbase[n]->spare1; /* get special case font flags */
+ if ( f_spare1 & RANGE_BIT ) { /* have a maximum range for font n */
+
+ max_range = DECODE(f_spare1, RANGE_VAL, TWO_BITS); /* decode this range */
+ if ( range > max_range ) { /* current range is too big */
+ max_size = upper_limit(max_range);
+ if ( size > max_size ) /* can't blow max_range up to size */
+ error(FATAL, "size %d too big for range %d", pstab[size-1], max_range);
+ range = max_range; /* use the biggest possible range */
+ } /* End if */
+
+ } /* End if */
+
+ if ( f_spare1 & SLANT_BIT ) /* this font has a default slant */
+ SETSLANT(f_spare1, angle); /* MACRO - so use it */
+ else if ( aps_slant != last_req_slant ) /* back to the last requested slant */
+ t_slant(last_req_slant);
+
+
+ PUTC(FONT, tf); /* MACRO - set the new font and range */
+ if ( range < 3 ) /* APS expects a positive number */
+ putint(fontname[n].number + range-1);
+ else putint(-(fontname[n].number + range-1));
+
+ aps_font = fontname[n].number; /* font that the APS is using */
+
+} /* End of change_font */
+
+
+/*****************************************************************************/
+
+
+void
+t_fp (
+ int n, /* update this font position */
+ char *s, /* font's external name (eg. R) */
+ char *si /* font number used by the APS */
+)
+
+
+{
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to update the data structures that *
+ * are maintained by the post-processor to keep track of fonts. *
+ * The parameter n is the font position that we are going to *
+ * update, while s and si are the font's external and internal *
+ * names. *
+ * *
+ ********************************************************************/
+
+
+
+ fontname[n].name = s;
+ fontname[n].number = atoi(si);
+ fontname[n].nwfont = fontbase[n]->nwfont;
+
+} /* End of t_fp */
+
+/*****************************************************************************/
+
+void
+getuserid(char *buf, size_t size)
+{
+ struct passwd *pwd;
+
+ if ((pwd = getpwuid(getuid())) != NULL)
+ strncpy(buf, pwd->pw_name, size)[size-1] = '\0';
+}
+
+/*****************************************************************************/
+
+
+void
+account (void)
+
+
+{
+
+
+ char user[100]; /* user's login name */
+ float pages; /* will charge for this many pages */
+
+
+
+ /********************************************************************
+ * *
+ * This is the accounting routine for the post-processor. It *
+ * may have to be changed for your particular system. *
+ * *
+ * NOTE - since the variable res can be changed we better use *
+ * the constant RES to determine how many pages were printed. *
+ * *
+ ********************************************************************/
+
+
+
+ paper = max_vpos; /* used this much paper */
+ pages = paper / (RES * PAGE_LENGTH); /* pages that we think were used */
+
+ if ( x_stat & DO_ACCT ) { /* got accounting to do */
+ getuserid(user, sizeof user);
+ fprintf(fp_acct, " user = %-10s", user);
+ fprintf(fp_acct, " paper = %-10.1f", pages);
+ x_stat &= ~DO_ACCT; /* done the important accounting */
+ fprintf(fp_acct, "exit status = 0%-6o", x_stat);
+ if ( tf == stdout )
+ fprintf(fp_acct, " ??");
+ fprintf(fp_acct, "\n");
+ } /* End if */
+
+ if ( report == YES )
+ fprintf(stderr, " %-3.1f pages\n", pages);
+
+} /* End of account */
+
+
+/*****************************************************************************/
+
+
+int
+special_case (
+ int index, /* char position in tables */
+ int font /* char info is on this font */
+)
+
+
+{
+
+
+ int old_range; /* saved value of current range */
+ int old_font; /* present APS-5 font number */
+ int req_font; /* requested APS-5 font number */
+ int max_range; /* max allowed range for character */
+ int max_size; /* max size allowed for max_range */
+ int angle; /* special char angle to set */
+ int code; /* old code - with bits set */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called by put1() to handle the special any *
+ * special case characters for the APS-5. *
+ * *
+ * Taken on its own, this is a very confusing routine, but one *
+ * which I found from my experience with the APS-5 at Murray Hill *
+ * was definitely needed. I'll try to give a brief, but hopefully *
+ * complete explination here. *
+ * *
+ * The additions that I made here needed to be completely *
+ * transparent to troff, and so the only field in the font tables *
+ * that could be changed was the actual charater code, since troff *
+ * can't possibly need this stuff (it's device independent!). On *
+ * the APS-5, character codes lie between 1 and 128 (inclusive) - *
+ * anything else is an actual function code. Therefore when we are *
+ * ready to print a character in put1(), and we find that its code *
+ * is larger than 128 we know something more has to be done. This *
+ * routine is then called to try to make sense out of the code, *
+ * do any of the special stuff required for this character, and *
+ * finially return its real code. This extra stuff can include *
+ * changing the character's slant, ensuring that the current *
+ * master range is not larger than a given value (max_range), and *
+ * finially getting the actual character from a completely *
+ * different font (alternate_font). What we actually do for each *
+ * special character is determined by its code in the current *
+ * set of font tables. This code is produced by a special version *
+ * of the makedev program, which I changed to interpret some *
+ * extra fields in the ASCII font tables. *
+ * *
+ * *
+ * NOTE - This extra stuff is costly, and should only be used *
+ * when absolutely necessary. The alternate font stuff can *
+ * cause many extra font changes, which in turn will force extra *
+ * disk accesses. We found this to be one of the main reasons for *
+ * slow jobs on our APS, not to mention the extra wear on the disk *
+ * drive. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( fontname[font].number != alt_tables ) /* don't have font's table */
+ load_alt(font); /* load font's '.add' tables */
+
+ code = codetab[font][index] & BMASK; /* encoded character information */
+ old_range = range; /* current typesetter range */
+ old_font = aps_font; /* quick change - fix it later */
+ req_font = old_font;
+
+ if ( code & SLANT_BIT ) /* special slant for this character */
+ SETSLANT(code, angle); /* MACRO - set slant to encoded value */
+
+ if ( code & RANGE_BIT ) { /* maximum range specified */
+
+ max_range = DECODE(code, RANGE_VAL, TWO_BITS);
+ range = get_range(pstab[size-1]); /* get range for current size */
+ if ( range > max_range ) { /* check current size first */
+ max_size = upper_limit(max_range);
+ if ( size > max_size ) /* too big for max_range - abort */
+ error(FATAL, "size %d too large for range %d", pstab[size-1], max_range);
+ else range = max_range; /* set the range */
+ } /* End if */
+
+ } /* End if */
+
+ if ( code & FONT_BIT ) /* alternate font specified */
+ req_font = alt_font[index]; /* APS-5 alternate font number */
+
+ if ( (old_range != range) || (req_font != old_font) ) {
+
+ aps_font = req_font;
+ PUTC(FONT, tf); /* set new font */
+ if ( range < 3 ) /* output positive number */
+ putint(req_font + range - 1);
+ else putint(-(req_font + range - 1));
+ if ( range != old_range ) { /* Need to set the size */
+ PUTC(HVSIZE, tf); /* MACRO - set the point size */
+ putint(10 * pstab[size-1]);
+ } /* End if */
+
+ } /* End if */
+
+ return(alt_code[index] & BMASK);
+
+} /* End of special_case */
+
+
+/*****************************************************************************/
+
+
+int
+get_range (
+ int n /* find the range for this point size */
+)
+
+
+{
+
+
+ int val; /* return this as the range */
+ int msize; /* size for master range val */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to return the range corresponding to *
+ * the point size n. Note that n is not an internal size for this *
+ * routine. *
+ * *
+ ********************************************************************/
+
+
+
+ val = 0;
+
+ while ( ++val <= MAX_RANGE ) {
+ msize = BASE_SIZE(val); /* base size for master range val */
+ if ( (val == MAX_RANGE) && (val <= 3) ) /* scale it up */
+ msize = SCALE_UP(msize);
+ if ( n <= msize ) return(val); /* found the correct master range */
+ } /* End while */
+
+ error(FATAL, "size %d too large", n);
+ return(1); /* in case we ignore this error */
+
+} /* End of get_range */
+
+
+/*****************************************************************************/
+
+
+void
+fileinit (void)
+
+
+{
+
+
+ int fin; /* input file descriptor */
+ int nw; /* number of font table entries */
+ int i; /* for loop index */
+ char *filebase; /* pointer to memory block */
+ char *p; /* pointer used to set up tables */
+ char temp[60]; /* pathname of the DESC.out file */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is responsible for reading the DESC.out file *
+ * for the APS-5 typesetter, and then initializing the appropriate *
+ * data structures for the device and all of the default fonts *
+ * that were mentioned in the typesetter description file DESC. *
+ * *
+ * First the DESC.out file is opened and the structure dev is *
+ * initialized from the first part of the file. This structure *
+ * then contains all the information needed to enable us to finish *
+ * the initialization process. Next the rest of the file is read *
+ * in and the device tables pstab[], chtab[], and chname[] are set *
+ * up. After this has been done we enter a loop which handles the *
+ * initialization for all of the fonts that were mentioned in the *
+ * DESC file. Finially we allocate enough memory so that font *
+ * position 0 can be loaded with the tables from any valid font *
+ * in the library. *
+ * *
+ * *
+ * NOTE - the program 'makedev' creates all of the '.out' *
+ * files in the troff font library. This routine quite obviously *
+ * depends on how 'makedev' has written these files. In addition *
+ * the troff program also reads the '.out' files and it too *
+ * expects the same format as we do here! To really understand *
+ * this routine you need to look at 'makedev.c' and the ASCII *
+ * tables in the troff font library. *
+ * *
+ ********************************************************************/
+
+
+
+ sprintf(temp, "%s/dev%s/DESC.out", fontdir, devname);
+ if ( (fin = open(temp, O_RDONLY)) < 0 ) /* file didn't open - abort */
+ error(FATAL, "can't open tables for %s", temp);
+
+ READ(fin, &dev, sizeof(struct dev)); /* init dev structure */
+
+ nsizes = dev.nsizes; /* number of point sizes specified */
+ nchtab = dev.nchtab; /* number of char table entries */
+ nfonts = dev.nfonts; /* number of default fonts */
+
+ if ( nfonts > NFONT ) /* need to redefine NFONT */
+ error(FATAL, "internal error - constant NFONT too small");
+
+ filebase = malloc(dev.filesize); /* space for rest of the file */
+ READ(fin, filebase, dev.filesize); /* read in the rest of the file */
+
+ pstab = (short *) filebase; /* point size list is first */
+ chtab = pstab + nsizes + 1; /* next comes chtab list */
+ chname = (char *) (chtab + dev.nchtab); /* then the char table list */
+
+ p = chname + dev.lchname; /* start of font table info */
+
+ for (i = 1; i <= nfonts; i++) { /* set up default font tables */
+
+ fontbase[i] = (struct Font *) p;
+ nw = *p & BMASK; /* width count comes first */
+
+ if (smnt == 0 && fontbase[i]->specfont == 1)
+ smnt = i; /* this is first special font */
+
+ p += sizeof(struct Font); /* font structure was written first */
+ widthtab[i] = p; /* next is this font's width table */
+ codetab[i] = p + 2 * nw; /* skip kern to get the code table */
+ fitab[i] = p + 3 * nw; /* last is the font index table */
+
+ p += 3 * nw + dev.nchtab + 128 - 32; /* point to next font */
+
+ t_fp(i, fontbase[i]->namefont, fontbase[i]->intname);
+
+ if ( debug[5] ) fontprint(i); /* dump font tables */
+
+ } /* End for */
+
+ if ( smnt == 0 ) /* no special fonts specified */
+ smnt = nfonts + 1; /* used in routine put1() */
+
+ fontbase[0] = (struct Font *) malloc(3*255 + dev.nchtab + (128-32) + sizeof(struct Font));
+ widthtab[0] = (char *) fontbase[0] + sizeof(struct Font);
+ fontbase[0]->nwfont = 255;
+ close(fin);
+
+} /* End of fileinit */
+
+
+/*****************************************************************************/
+
+
+void
+fontprint (
+ int i /* index of font to print out */
+)
+
+
+{
+
+
+ int j; /* for loop variable */
+ int n; /* number of width entries */
+ int pos; /* position of char from fitab array */
+ int count; /* count of characters in this font */
+
+
+
+ /********************************************************************
+ * *
+ * This is a debugging routine that is used to dump all of the *
+ * information about font i that was loaded from the '.out' file. *
+ * It is called from fileinit() when the debug flag 5 is turned *
+ * on, and from loadfont when flag 6 is set. *
+ * *
+ ********************************************************************/
+
+
+
+ n = fontbase[i]->nwfont & BMASK; /* number of width entries */
+
+ fprintf(fp_debug, "\nDUMP FOR FONT %s ", fontbase[i]->namefont);
+ fprintf(fp_debug, " FONT POSITION = %d\n\n", i);
+ fprintf(fp_debug, " font structure data:\n");
+ fprintf(fp_debug, "\t\tfont.nwfont = %d\n", fontbase[i]->nwfont & BMASK);
+ fprintf(fp_debug, "\t\tfont.specfont = %d\n", fontbase[i]->specfont & BMASK);
+ fprintf(fp_debug, "\t\tfont.ligfont = %d\n", fontbase[i]->ligfont & BMASK);
+ fprintf(fp_debug, "\t\tfont.spare1 = %d\n", fontbase[i]->spare1 & BMASK);
+ fprintf(fp_debug, "\t\tfont.intname = %s\n\n", fontbase[i]->intname);
+
+ fprintf(fp_debug, " CHAR WIDTH CODE INDEX\n");
+ count = 0;
+
+ for (j = 0; j < dev.nchtab + 128 - 32; j++) {
+
+ if ( (pos = fitab[i][j] & BMASK) != 0 ) {
+ count++;
+ if ( j >= 96 ) /* special chars start at 128-32 */
+ fprintf(fp_debug, "%5s", &chname[chtab[j-96]]);
+ else fprintf(fp_debug, "%5c", (j + 32) & BMASK);
+ fprintf(fp_debug, "%10d", widthtab[i][pos] & BMASK);
+ fprintf(fp_debug, "%10d", codetab[i][pos] & BMASK);
+ fprintf(fp_debug, "%10d", j);
+ if ( alt_tables == fontname[i].number ) /* print extra info */
+ fprintf(fp_debug, "%10d%10d", alt_code[pos] & BMASK, alt_font[pos]);
+ fprintf(fp_debug,"\n");
+ } /* End if */
+
+ } /* End for */
+
+ fprintf(fp_debug, "\n CHARACTER COUNT FOR THIS FONT = %d\n", count);
+ fprintf(fp_debug, "\n\n");
+
+} /* End of fontprint */
+
+
+/*****************************************************************************/
+
+
+void
+loadfont (
+ int num, /* font position to load */
+ char *name, /* name of the font to load */
+ char *fdir /* name of directory to load from? */
+)
+
+
+{
+
+
+ int fin; /* font file descriptor */
+ int nw; /* width entries in new font file */
+ int norig; /* width entries in old font file */
+ char temp[60]; /* path name of font file */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to load the font position num with *
+ * the data for the font name. If the string fdir is not null then *
+ * it is taken as the pathname of the directory that contains the *
+ * '.out' file for the font that we are to load, otherwise we load *
+ * this data from the standard font library. *
+ * *
+ ********************************************************************/
+
+
+
+ if ( num < 0 || num > NFONT ) /* illegal font number - abort */
+ error(FATAL, "illegal fp command %d %s", num, name);
+
+ if ( strcmp(name, fontbase[num]->namefont) == SAME_STR ) /* in already */
+ return;
+
+ if ( fdir == NULL || fdir[0] == '\0' ) /* no alternate directory */
+ sprintf(temp, "%s/dev%s/%s.out", fontdir, devname, name);
+ else sprintf(temp, "%s/%s.out", fdir, name);
+
+ if ( (fin = open(temp, O_RDONLY)) < 0 ) /* open the font file */
+ error(FATAL, "can't open font table %s", temp);
+
+ norig = fontbase[num]->nwfont & BMASK; /* 'space' available in pos num */
+ READ(fin, fontbase[num], 3*norig + nchtab+128-32 + sizeof(struct Font));
+ nw = fontbase[num]->nwfont & BMASK; /* 'space' needed for new font */
+ if ( nw > norig ) /* new font is too big - abort */
+ error(FATAL, "font %s too big for position %d", name, num);
+
+ close(fin);
+ widthtab[num] = (char *) fontbase[num] + sizeof(struct Font);
+ codetab[num] = (char *) widthtab[num] + 2 * nw;
+ fitab[num] = (char *) widthtab[num] + 3 * nw;
+ t_fp(num, fontbase[num]->namefont, fontbase[num]->intname);
+
+ fontbase[num]->nwfont = norig; /* save size of position num */
+
+ if ( debug[6] ) fontprint(num); /* dump font position num */
+
+} /* End of loadfont */
+
+
+/*****************************************************************************/
+
+
+void
+load_alt (
+ int font /* load '.add' tables for this font */
+)
+
+
+{
+
+
+ int nw; /* number of width entries for font */
+ int fin; /* font file descriptor */
+ char cmd[60]; /* room for font's .add file */
+
+
+
+ /********************************************************************
+ * *
+ * This routine is called to read in the '.add' file for the *
+ * font that is loaded in the position specified by the parameter *
+ * font. These '.add' files are created by the special version of *
+ * the makedev program, which reads and interprets several extra *
+ * fields in the APS font tables. Included in the '.add' files are *
+ * the alternate font table and the APS-5 character code table. *
+ * *
+ ********************************************************************/
+
+
+
+ sprintf(cmd, "%s/dev%s/%s.add", fontdir, devname, fontname[font].name);
+
+ if ( (fin = open(cmd, O_RDONLY)) < 0 ) /* couldn't open the file */
+ error(FATAL, "can't open file %s", cmd);
+
+ nw = fontname[font].nwfont & BMASK; /* number of width entries */
+
+ READ(fin, alt_font, nw * sizeof(alt_font[0]));
+ READ(fin, alt_code, nw); /* read alternate code table */
+
+ close(fin);
+ alt_tables = fontname[font].number; /* read in tables for this font */
+
+ if ( debug[7] ) /* print all the font information */
+ fontprint(font);
+
+} /* End of load_alt */
+
+
+/*****************************************************************************/
diff --git a/troff/troff.d/devaps/daps.g b/troff/troff.d/devaps/daps.g
new file mode 100644
index 0000000000000..fec013575a187
--- /dev/null
+++ b/troff/troff.d/devaps/daps.g
@@ -0,0 +1,219 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* from OpenSolaris "daps.g 1.4 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)daps.g 1.4 (gritter) 8/13/05
+ */
+
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+
+ /********************************************************************
+ * *
+ * POST-PROCESSOR GLOBAL VARIABLES *
+ * *
+ ********************************************************************/
+
+
+
+short debug[MAX_DEBUG]; /* array of debug flags */
+
+short privelege = ON; /* is user priveleged */
+
+short x_stat = 0; /* program exits with this status */
+
+short ignore = NO; /* don't ignore fatal errors */
+short report = NO; /* just report results */
+short busyflag = OFF; /* report typesetter availability */
+short waitflag = OFF; /* wait for typesetter */
+
+short output = OFF; /* ON if we do output for this page */
+
+int nolist = 0; /* number of page pairs in olist[] */
+
+int olist[MAX_OUTLIST]; /* list of pages to process */
+
+int spage = 9999; /* stop every spage pages */
+
+int scount = 0; /* spage counter */
+
+int arg_index = 0; /* offset from argv for next argument */
+
+long line_number = -1; /* current line in input file */
+
+int lastw; /* width of last printed character */
+
+int pageno = 0; /* current page number */
+long paper = 0; /* amount of paper used */
+
+char *banner = "\0"; /* pointer to banner string */
+char ban_buf[BAN_LENGTH]; /* buffer for banner read from file */
+short print_banner = NO; /* print the job's banner? */
+char *cut_marks = "--"; /* string used for cut marks */
+char *ban_sep = "\\(en \\(en \\(en \\(en \\(en \\(en \\(en \\(en \\(en \\(en";
+
+short last_slant = 0; /* last slant stored in the APS-5 */
+short last_req_slant = 0; /* last requested slant from troff */
+short aps_slant = 0; /* current slant angle for type */
+int aps_font = 0; /* font that the APS is using */
+
+short range = 1; /* current master range */
+
+
+#define devname troff_devname
+char devname[NAME_LENGTH] = "aps"; /* name of phototypesetter */
+
+char *typesetter = "/dev/null"; /* should be /dev/aps */
+char *tracct = ""; /* accounting file pathname */
+char *fontdir = FNTDIR; /* font directory */
+
+int alt_tables = 0; /* which font has alt tables loaded */
+int alt_font[FSIZE]; /* alternate font table */
+char alt_code[FSIZE]; /* alternate code table */
+
+short *pstab; /* point size list */
+short *chtab; /* char's index in chname array */
+char *chname; /* special character strings */
+char *fitab[NFONT+1]; /* chars position on a font */
+char *widthtab[NFONT+1]; /* character's width on a font */
+char *codetab[NFONT+1]; /* APS-5 code for character */
+
+int nsizes; /* number of sizes from DESC.out */
+int nfonts; /* number of default fonts */
+int nchtab; /* number of special chars in chtab */
+int smnt = 0; /* index of first special font */
+int res = 723; /* DESC.out res should equal this */
+
+int size = 1; /* current internal point size */
+int font = 1; /* current font number */
+
+int hpos; /* troff calculated horiz position */
+int htrue = 0; /* our calculated horiz position */
+int vpos; /* current vertical position (down positive) */
+int hcutoff = HCUTOFF; /* horizontal cutoff in device units */
+double cutoff = CUTOFF; /* horizontal beam cutoff in inches */
+long cur_vpos = 0; /* current distance from start of job */
+long max_vpos = 0; /* maximum distance from start of job */
+
+
+int DX = 3; /* step size in x for drawing */
+int DY = 3; /* step size in y for drawing */
+int drawdot = '.'; /* draw with this character */
+int drawsize = 1; /* shrink by this factor when drawing */
+
+
+struct { /* font position information */
+ char *name; /* external font name */
+ int number; /* internal font name */
+ int nwfont; /* width entries - load_alt uses it */
+} fontname[NFONT+1];
+
+struct dev dev; /* store APS data here from DESC.out */
+
+struct Font *fontbase[NFONT+1]; /* point to font data from DESC.out */
+
+
+FILE *fp_debug; /* debug file descriptor */
+FILE *fp_error; /* error message file descriptor */
+FILE *fp_acct; /* accounting file descriptor */
+FILE *tf; /* typesetter output file */
+
+int horig; /* not really used */
+int vorig;
+
+int vert_step = MAX_INT; /* break up vert steps larger than this */
+
+
+
+/*****************************************************************************/
+
+
+
+#ifdef ADJUST /* do the vertical adjustments */
+
+
+
+ /********************************************************************
+ * *
+ * Some of the characters on the current APS disk at Murray *
+ * Hill are quite bad. In particular lf, rf, lb, and rb are all *
+ * too low, so that braces built up from them don't join properly. *
+ * The data structures that follow are used to make the proper *
+ * vertical adjustment for problem characters such as these. They *
+ * are only used in routines put1s() and put1(). The code in these *
+ * two routines that was added to handle these special cases *
+ * should be removed or commented out when the characters are *
+ * finially fixed! In addition routine t_adjust() was written *
+ * to do the lookup in these tables and set the appropriate value *
+ * for v_adjust - it can be removed whenever you no longer need *
+ * these vertical adjustments. *
+ * *
+ * All of this vertical adjustment stuff is included in the *
+ * object code when the conditional compilation flag ADJUST is *
+ * defined. To eliminate the overhead of these adjustments just *
+ * remove the definition of ADJUST from daps.h. *
+ * *
+ ********************************************************************/
+
+
+
+int v_adjust = 0; /* vert adjustment - done in put1() */
+
+char *adj_tbl[] = { /* adjust these characters */
+ "lf",
+ "rf",
+ "lb",
+ "rb",
+ "lt",
+ "rt",
+ 0,
+};
+
+int vadjustment[] = { /* corresponding vert adjustment */
+ -1,
+ -1,
+ -3,
+ -3,
+ 1,
+ 1,
+ 0,
+};
+
+
+#endif
+
diff --git a/troff/troff.d/devaps/daps.h b/troff/troff.d/devaps/daps.h
new file mode 100644
index 0000000000000..0f0ebae1cec1d
--- /dev/null
+++ b/troff/troff.d/devaps/daps.h
@@ -0,0 +1,461 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "daps.h 1.5 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)daps.h 1.3 (gritter) 8/9/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+
+
+
+ /********************************************************************
+ * *
+ * The following defined constants and macros must be properly *
+ * set up for your APS-5 photo-typesetter. *
+ * *
+ ********************************************************************/
+
+
+
+#define ADJUST 1 /* conditional compilation flag */
+
+#define LENS3 1 /* used for conditional compilation */
+#define MAX_RANGE 3 /* largest master range on this APS-5 */
+
+
+
+#ifdef LENS1 /* standard 2.22X lens */
+
+#define RANGE1_SIZE 10 /* used in macro BASE_SIZE */
+#define SCALEFACTOR 1.25 /* can scale lower ranges up this far */
+
+
+#define BASE_SIZE(Range) /* base size for master range Range */ \
+ \
+ (RANGE1_SIZE * (1 << (Range - 1)))
+
+
+#define SCALE_UP(Bsize) /* max size for lower ranges */ \
+ \
+ (Bsize * SCALEFACTOR)
+
+#endif
+
+
+
+#ifdef LENS2 /* standard 2.667X lens */
+
+#define RANGE1_SIZE 12 /* master range 1 base size */
+#define SCALEFACTOR 1.25 /* can scale lower ranges up this far */
+
+
+#define BASE_SIZE(Range) /* base size for master range Range */ \
+ \
+ (RANGE1_SIZE * (1 << (Range - 1)))
+
+
+#define SCALE_UP(Bsize) /* max size for lower ranges */ \
+ \
+ (Bsize * SCALEFACTOR)
+
+#endif
+
+
+#ifdef LENS3 /* 2.667X lens - special case */
+
+#define RANGE1_SIZE 12 /* master range 1 base size */
+#define SCALEFACTOR 1.50 /* can scale lower ranges up this far */
+
+
+#define BASE_SIZE(Range) /* base size for master range Range */ \
+ \
+ (RANGE1_SIZE * (1 << (Range - 1)))
+
+
+#define SCALE_UP(Bsize) /* max size for lower ranges */ \
+ \
+ (Bsize * SCALEFACTOR - 1)
+
+#endif
+
+
+
+
+ /********************************************************************
+ * *
+ * POST-PROCESSOR DEFINED CONSTANTS *
+ * *
+ ********************************************************************/
+
+
+
+#define NON_FATAL 0 /* don't abort the job */
+#define FATAL 1 /* fatal error - abort the job */
+#define OFF 0 /* debug mode is off */
+#define ON 1 /* debug mode is on */
+#define NO 0 /* don't ignore fatal errors - debug */
+#define YES 1 /* ignore fatal errors - debug only! */
+#define SAME_STR 0 /* strings are the same */
+
+#define RES 723.0 /* use this constant for accounting! */
+#define PAGE_LENGTH 11.0 /* inches per page for accounting */
+
+#define CUTOFF 10.0 /* beam cutoff position (inches) */
+#define HCUTOFF 7230 /* beam cutoff in device units */
+
+
+#define BMASK 0377 /* used for character mask */
+
+#define MAX_INT 30000 /* used in t_reset() */
+#define MAX_DEBUG 20 /* number of debug states */
+
+#define MAX_OUTLIST 30 /* number of page pairs olist array */
+
+#define NAME_LENGTH 10 /* max length of typesetter name */
+
+#define FSIZE 200 /* size of a physical font */
+
+#define SLOP 2 /* error factor used in hflush() */
+
+#define NFONT 10 /* number of font positions available */
+
+#define POS_SLANT 14 /* angle used for positive slants */
+#define NEG_SLANT -14 /* angle used for negative slants */
+
+#define TWO_BITS 3 /* mask for two rightmost bits */
+
+#define BIT0 1 /* mask for bit 0 */
+#define BIT1 2 /* mask for bit 1 */
+#define BIT2 4 /* mask for bit 2 */
+#define BIT3 8 /* mask for bit 3 */
+
+#define SLANT_BIT BIT0 /* slant bit is bit 0 */
+#define FONT_BIT BIT1 /* alternate font is bit 1 */
+#define RANGE_BIT BIT2 /* max range is bit 2 */
+
+#define SLANT_VAL 3 /* slant angle starts in bit 3 */
+#define RANGE_VAL 5 /* range value starts in bit 5 */
+
+#define DO_ACCT BIT0 /* still have to do accounting if on */
+#define FILE_STARTED BIT1 /* file started but not completed */
+#define NO_OUTFILE BIT2 /* no output file if on */
+#define NO_ACCTFILE BIT3 /* no accounting file if on */
+
+#define BAN_LENGTH 130 /* max length of banner string */
+#define BAN_SIZE 10 /* point size to use in banner */
+
+#define VSPACE0 6 /* space down for first cut marks */
+#define VSPACE1 180 /* space at start of banner */
+#define VSPACE2 180 /* space before printing user string */
+#define VSPACE3 180 /* space before printing separator */
+#define VSPACE4 180 /* space before starting user job */
+
+#define HSPACE0 5346 /* space right for second cut marks */
+#define HSPACE1 50 /* indent before first separator */
+#define HSPACE2 100 /* indent before user string */
+#define HSPACE3 50 /* indent before second separator */
+#define HSPACE4 0 /* start cut marks at this position */
+
+
+
+
+ /********************************************************************
+ * *
+ * POST-PROCESSOR MACROS *
+ * *
+ ********************************************************************/
+
+
+
+
+#define SET_ARGS(save) /* set up internal argc and argv */ \
+ \
+ save = argc; /* save current value of argc */ \
+ argc -= arg_index; /* count arguments read already */ \
+ argv += arg_index
+
+
+
+
+#define COUNT_ARGS(save) /* count the arguments processed */ \
+ \
+ arg_index = save - argc /* arg_index counts the arguments */
+
+
+
+
+#define STR_CONVERT(s,i) /* convert string s to integer i */ \
+ \
+ do { \
+ i = 0; \
+ do \
+ i = 10 * i + *s++ - '0'; \
+ while ( isdigit(*s) ); \
+ } while ( 0 )
+
+
+
+
+#define TOGGLE(a) /* toggle the value in argument a */ \
+ \
+ a = (a + 1) % 2
+
+
+
+
+#define GET_DIG(fp,c) /* get a single ASCII digit */ \
+ \
+ c = getc(fp); \
+ if ( !isdigit(c) || c == EOF ) /* illegal character */ \
+ error(FATAL, "internal error - digit not found in GET_DIG")
+
+
+
+
+#define GET_CHAR(fp,c) /* get a single ASCII character */ \
+ \
+ if ( (c = getc(fp)) == EOF ) /* end of file - abort */ \
+ error(FATAL, "internal error - char not found in GET_CHAR")
+
+
+
+
+#define GET_INT(fp,n) /* get an integer from file fp */ \
+ \
+ if ( fscanf(fp, "%d", &n) != 1 ) /* end of file - abort */ \
+ error(FATAL,"internal error - integer not found in GET_INT")
+
+
+
+
+#define GET_STR(fp,str) /* get a string from file fp */ \
+ \
+ if ( fscanf(fp, "%s", str) != 1 ) /* end of file - abort */ \
+ error(FATAL, "internal error - string not found in GET_STR")
+
+
+
+
+#define GET_LINE(fp,buf) /* read a line from file fp into buf */ \
+ \
+ if ( fgets(buf, sizeof(buf), fp) == NULL ) \
+ error(FATAL, "internal error - line not found in GET_LINE")
+
+
+
+
+#define SKIP_LINE(fp,c) /* skip to the next line of the file fp */ \
+ \
+ while ( ((c = getc(fp)) != '\n') && c != EOF ) \
+ ;
+
+
+
+
+#define SCAN1(buf,n1) /* read one number from buf */ \
+ \
+ if ( sscanf(buf, "%d", &n1) != 1 ) \
+ error(FATAL, "internal error - integer not found in SCAN1")
+
+
+
+
+#define SCAN2(buf,n1,n2) /* read two numbers from buf */ \
+ \
+ if ( sscanf(buf, "%d %d", &n1, &n2) != 2 ) \
+ error(FATAL, "internal error - integers not found in SCAN2")
+
+
+
+
+#define SCAN3(buf,n1,n2,n3) /* read three numbers from buf */ \
+ \
+ if ( sscanf(buf, "%d %d %d", &n1, &n2, &n3) != 3 ) \
+ error(FATAL, "internal error - integers not found in SCAN3")
+
+
+
+
+#define SCAN4(buf,n1,n2,n3,n4) /* read four numbers from buf */ \
+ \
+ if ( sscanf(buf, "%d %d %d %d", &n1, &n2, &n3, &n4) != 4 ) \
+ error(FATAL, "internal error - integers not found in SCAN4")
+
+
+
+
+#define SCAN_STR(buf,str) /* read a string from buf */ \
+ \
+ sscanf(buf, "%s", str)
+
+
+
+
+#ifdef pdp11 /* sign extension problems on pdp11s */
+
+#define PUTC(ch, fp) /* don't check for error if ch = 0377 */ \
+ \
+ if ( (putc(ch, fp) == EOF) && ((ch & BMASK) != 0377) ) \
+ error(FATAL, "internal error - PUTC can't output character")
+
+#else /* don't worry about char 0377 */
+
+#define PUTC(ch, fp) /* write character ch to file fp */ \
+ \
+ if ( putc(ch, fp) == EOF ) /* error in writing to fp */ \
+ error(FATAL, "internal error - PUTC can't output character")
+
+#endif
+
+
+
+
+#define READ(fd, buf, n) /* read n chars from file fd into buf */ \
+ \
+ if ( read(fd, buf, n) < 0 ) /* error in reading from fd */ \
+ error(FATAL, "internal error - READ can't read input file")
+
+
+
+
+#define DECODE(value, start, bitmask) \
+ \
+ (value >> start) & bitmask
+
+
+
+
+#define CHANGE_FONT(newfont, oldrange) /* set font to newfont */ \
+ \
+ do { \
+ change_font(newfont); \
+ if ( oldrange != range ) { /* range has changed */ \
+ PUTC(HVSIZE, tf); /* so set the point size */ \
+ putint(10*pstab[size-1]); /* to current size */ \
+ oldrange = range; \
+ } /* End if */ \
+ } while ( 0 )
+
+
+
+
+#define SETSLANT(code, angle) /* set slant to value encoded in code */ \
+ \
+ do { \
+ angle = DECODE(code, SLANT_VAL, TWO_BITS); \
+ if ( angle & BIT0 ) /* have positive APS-5 slant */ \
+ angle = POS_SLANT; \
+ else if ( angle & BIT1 ) /* have negative slant */ \
+ angle = NEG_SLANT; \
+ t_slant(angle + last_req_slant); /* set the correct slant */ \
+ } while ( 0 )
+
+
+
+
+/* build.c */
+int newfile(char *, int);
+FILE *charfile(char *, int);
+void save_env(void);
+void restore_env(void);
+void nconv(FILE *);
+/* daps.c */
+void get_options(int, char *[]);
+void process_input(int, char *[]);
+void init_signals(void);
+void debug_select(char *);
+void debug_file(char *);
+void log_file(char *);
+void acct_file(void);
+void ban_file(char *);
+void out_file(void);
+void outlist(char *);
+void error(int, char *, ...);
+int done(void);
+void float_err(int);
+void wrap_up(int);
+void conv(register FILE *);
+void drawfunct(char [], FILE *);
+void devcntrl(FILE *);
+void t_init(void);
+void t_banner(void);
+void t_page(int);
+void t_newline(void);
+int t_size(int);
+void t_charht(int);
+int upper_limit(int);
+void t_slant(int);
+int t_font(char *);
+void t_text(char *);
+void t_reset(int);
+void hflush(void);
+void hmot(int);
+void hgoto(int);
+void vgoto(int);
+void vmot(int);
+void put1s(char *);
+void t_adjust(char *);
+void put1(int);
+void putint(int);
+void setsize(int);
+void setfont(int);
+void change_font(int);
+void t_fp(int, char *, char *);
+void account(void);
+int special_case(int, int);
+int get_range(int);
+void fileinit(void);
+void fontprint(int);
+void loadfont(int, char *, char *);
+void load_alt(int);
+/* ../draw.c */
+void drawline(int, int, char *);
+void drawwig(char *);
+char *getstr(char *, char *);
+void drawcirc(int);
+int dist(int, int, int, int);
+void drawarc(int, int, int, int);
+void drawellip(int, int);
+void conicarc(int, int, int, int, int, int, int, int);
+void putdot(int, int);
diff --git a/troff/troff.d/devaps/dev.h b/troff/troff.d/devaps/dev.h
new file mode 100644
index 0000000000000..14e838de3a45f
--- /dev/null
+++ b/troff/troff.d/devaps/dev.h
@@ -0,0 +1,81 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/* from OpenSolaris "dev.h 1.6 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)dev.h 1.3 (gritter) 8/9/05
+ */
+
+/*
+ dev.h: characteristics of a typesetter
+*/
+
+struct dev {
+ unsigned short filesize; /* number of bytes in file, */
+ /* excluding dev part */
+ short res; /* basic resolution in goobies/inch */
+ short hor; /* goobies horizontally */
+ short vert;
+ short unitwidth; /* size at which widths are given, in effect */
+ short nfonts; /* number of fonts physically available */
+ short nsizes; /* number of sizes it has */
+ short sizescale; /* scaling for fractional point sizes */
+ short paperwidth; /* max line length in units */
+ short paperlength; /* max paper length in units */
+ short nchtab; /* number of funny names in chtab */
+ short lchname; /* length of chname table */
+ short biggestfont; /* #chars in largest ever font */
+ short spare2; /* in case of expansion */
+};
+
+struct Font { /* characteristics of a font */
+ char nwfont; /* number of width entries for this font */
+ char specfont; /* 1 == special font */
+ char ligfont; /* 1 == ligatures exist on this font */
+ char spare1; /* unused for now */
+ char namefont[10]; /* name of this font (e.g., "R" */
+ char intname[10]; /* internal name (=number) on device, in ascii */
+};
+
+/* ligatures, ORed into ligfont */
+
+#define LFF 01
+#define LFI 02
+#define LFL 04
+#define LFFI 010
+#define LFFL 020
diff --git a/troff/troff.d/devaps/draw.c b/troff/troff.d/devaps/draw.c
new file mode 100644
index 0000000000000..af39589bd1111
--- /dev/null
+++ b/troff/troff.d/devaps/draw.c
@@ -0,0 +1,3 @@
+/* Sccsid @(#)draw.c 1.1 (gritter) 7/3/06 */
+
+#include "../draw.c"
diff --git a/troff/troff.d/devaps/getopt.c b/troff/troff.d/devaps/getopt.c
new file mode 100644
index 0000000000000..bb8c53d072cb9
--- /dev/null
+++ b/troff/troff.d/devaps/getopt.c
@@ -0,0 +1,222 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07
+ */
+/* from OpenSolaris "getopt.c 1.23 05/06/08 SMI" */
+
+/* Copyright (c) 1988 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * See getopt(3C) and SUS/XPG getopt() for function definition and
+ * requirements.
+ *
+ * This actual implementation is a bit looser than the specification
+ * as it allows any character other than ':' to be used as an option
+ * character - The specification only guarantees the alnum characters
+ * ([a-z][A-Z][0-9]).
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+
+extern ssize_t write(int, const void *, size_t);
+
+char *optarg = NULL;
+int optind = 1;
+int opterr = 1;
+int optopt = 0;
+
+#define ERR(s, c) err(s, c, optstring, argv[0])
+static void
+err(const char *s, int c, const char *optstring, const char *argv0)
+{
+ char errbuf[256], *ep = errbuf;
+ const char *cp;
+
+ if (opterr && optstring[0] != ':') {
+ for (cp = argv0; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = ": "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = s; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = " -- "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = c;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = '\n';
+ write(2, errbuf, ep - errbuf);
+ }
+}
+
+/*
+ * getopt_sp is required to keep state between successive calls to getopt()
+ * while extracting aggregated options (ie: -abcd). Hence, getopt() is not
+ * thread safe or reentrant, but it really doesn't matter.
+ *
+ * So, why isn't this "static" you ask? Because the historical Bourne
+ * shell has actually latched on to this little piece of private data.
+ */
+int getopt_sp = 1;
+
+/*
+ * Determine if the specified character (c) is present in the string
+ * (optstring) as a regular, single character option. If the option is found,
+ * return a pointer into optstring pointing at the option character,
+ * otherwise return null. The character ':' is not allowed.
+ */
+static char *
+parse(const char *optstring, const char c)
+{
+ char *cp = (char *)optstring;
+
+ if (c == ':')
+ return (NULL);
+ do {
+ if (*cp == c)
+ return (cp);
+ } while (*cp++ != '\0');
+ return (NULL);
+}
+
+/*
+ * External function entry point.
+ */
+int
+getopt(int argc, char *const *argv, const char *optstring)
+{
+ char c;
+ char *cp;
+
+ /*
+ * Has the end of the options been encountered? The following
+ * implements the SUS requirements:
+ *
+ * If, when getopt() is called:
+ * argv[optind] is a null pointer
+ * *argv[optind] is not the character '-'
+ * argv[optind] points to the string "-"
+ * getopt() returns -1 without changing optind. If
+ * argv[optind] points to the string "--"
+ * getopt() returns -1 after incrementing optind.
+ */
+ if (getopt_sp == 1) {
+ if (optind >= argc || argv[optind][0] != '-' ||
+ argv[optind] == NULL || argv[optind][1] == '\0')
+ return (EOF);
+ else if (strcmp(argv[optind], "--") == 0) {
+ optind++;
+ return (EOF);
+ }
+ }
+
+ /*
+ * Getting this far indicates that an option has been encountered.
+ * Note that the syntax of optstring applies special meanings to
+ * the characters ':' and '(', so they are not permissible as
+ * option letters. A special meaning is also applied to the ')'
+ * character, but its meaning can be determined from context.
+ * Note that the specification only requires that the alnum
+ * characters be accepted.
+ */
+ optopt = c = (unsigned char)argv[optind][getopt_sp];
+ optarg = NULL;
+ if ((cp = parse(optstring, c)) == NULL) {
+ /* LINTED: variable format specifier */
+ ERR("illegal option", c);
+ if (argv[optind][++getopt_sp] == '\0') {
+ optind++;
+ getopt_sp = 1;
+ }
+ return ('?');
+ }
+ optopt = c = *cp;
+
+ /*
+ * A valid option has been identified. If it should have an
+ * option-argument, process that now. SUS defines the setting
+ * of optarg as follows:
+ *
+ * 1. If the option was the last character in the string pointed to
+ * by an element of argv, then optarg contains the next element
+ * of argv, and optind is incremented by 2. If the resulting
+ * value of optind is not less than argc, this indicates a
+ * missing option-argument, and getopt() returns an error
+ * indication.
+ *
+ * 2. Otherwise, optarg points to the string following the option
+ * character in that element of argv, and optind is incremented
+ * by 1.
+ *
+ * The second clause allows -abcd (where b requires an option-argument)
+ * to be interpreted as "-a -b cd".
+ */
+ if (*(cp + 1) == ':') {
+ /* The option takes an argument */
+ if (argv[optind][getopt_sp+1] != '\0') {
+ optarg = &argv[optind++][getopt_sp+1];
+ } else if (++optind >= argc) {
+ /* LINTED: variable format specifier */
+ ERR("option requires an argument", c);
+ getopt_sp = 1;
+ optarg = NULL;
+ return (optstring[0] == ':' ? ':' : '?');
+ } else
+ optarg = argv[optind++];
+ getopt_sp = 1;
+ } else {
+ /* The option does NOT take an argument */
+ if (argv[optind][++getopt_sp] == '\0') {
+ getopt_sp = 1;
+ optind++;
+ }
+ optarg = NULL;
+ }
+ return (c);
+} /* getopt() */
+
+#ifdef __APPLE__
+/*
+ * Starting with Mac OS 10.5 Leopard, <unistd.h> turns getopt()
+ * into getopt$UNIX2003() by default. Consequently, this function
+ * is called instead of the one defined above. However, optind is
+ * still taken from this file, so in effect, options are not
+ * properly handled. Defining an own getopt$UNIX2003() function
+ * works around this issue.
+ */
+int
+getopt$UNIX2003(int argc, char *const argv[], const char *optstring)
+{
+ return getopt(argc, argv, optstring);
+}
+#endif /* __APPLE__ */
diff --git a/troff/troff.d/devaps/makedev.c b/troff/troff.d/devaps/makedev.c
new file mode 100644
index 0000000000000..0854f79699609
--- /dev/null
+++ b/troff/troff.d/devaps/makedev.c
@@ -0,0 +1,650 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "makedev.c 1.7 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)makedev.c 1.3 (gritter) 8/9/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * This is a special version of makedev, tailored for the font disk
+ * of the APS-5 in the MH Computing Center. It is not to be used
+ * to set up font description files for other devices.
+ *
+ * makedev:
+ * read text info about a particular device
+ * (e.g., cat, 202, aps5) from file, convert
+ * it into internal (binary) form suitable for
+ * fast reading by troff initialization (ptinit()).
+ *
+ * Usage:
+ *
+ * makedev DESC [ F ... ]
+ * uses DESC to create a description file
+ * using the information therein.
+ * It creates the file DESC.out.
+ *
+ * makedev F ...
+ * makes the font tables for fonts F only,
+ * creates files F.out.
+ *
+ * DESC.out contains:
+ * dev structure with fundamental sizes
+ * list of sizes (nsizes+1) terminated by 0, as short's
+ * indices of char names (nchtab * sizeof (short))
+ * char names as hy\0em\0... (lchname)
+ * nfonts occurrences of
+ * widths (nwidth)
+ * kerning (nwidth) [ascender+descender only so far]
+ * codes (nwidth) to drive actual typesetter
+ * fitab (nchtab+128-32)
+ * each of these is an array of char.
+ *
+ * dev.filesize contains the number of bytes
+ * in the file, excluding the dev part itself.
+ *
+ * F.out contains the font header, width, kern, codes, and fitab.
+ * Width, kern and codes are parallel arrays.
+ * (Which suggests that they ought to be together?)
+ * Later, we might allow for codes which are actually
+ * sequences of formatting info so characters can be drawn.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include "dev.h"
+
+#define BYTEMASK 0377
+
+#define SLANT_BIT 1 /* slant flag is bit 0 */
+#define FONT_BIT 2 /* font flag is bit 1 */
+#define RANGE_BIT 4 /* range flag is bit 2 */
+
+#define SLANT_VAL 3 /* slant angle starts in bit 3 */
+#define RANGE_VAL 5 /* max range starts in bit 5 */
+
+#define skipline(f) while (getc(f) != '\n')
+
+struct dev dev;
+struct Font font;
+
+#define NSIZE 100 /* maximum number of sizes */
+short size[NSIZE];
+#define NCH 256 /* max number of characters with funny names */
+char chname[5*NCH]; /* character names, including \0 for each */
+short chtab[NCH]; /* index of character in chname */
+
+#define NFITAB (NCH + 128-32) /* includes ascii chars, but not non-graphics */
+char fitab[NFITAB]; /* font index table: position of char i on this font. */
+ /* zero if not there */
+
+#define FSIZE 256 /* size of a physical font (e.g., 102 for cat) */
+char width[FSIZE]; /* width table for a physical font */
+char kern[FSIZE]; /* ascender+descender info */
+char code[FSIZE]; /* actual device codes for a physical font */
+char alt_code[FSIZE]; /* code for alternate font */
+int alt_font[FSIZE]; /* alternate font to use */
+
+int dbg = 0; /* debug flag */
+int verbose = 0;
+
+#define NFONT 60 /* max number of default fonts */
+char fname[NFONT][10]; /* temp space to hold default font names */
+
+int fflag = 0; /* on if font table to be written */
+int fdout; /* output file descriptor */
+char *fout = "DESC.out";
+
+int dofont(char *name);
+int getlig(FILE *fin);
+void dump_font(void);
+void finish_line(char *buf, int nw);
+void add_font(char *name);
+
+int
+main(int argc, char *argv[])
+{
+ FILE *fin;
+ char cmd[100], *p;
+ int i, totfont, v;
+
+ if (!strcmp(argv[1], "-v")) {
+ verbose = 1;
+ argv++;
+ argc--;
+ }
+
+ if (argc < 2) {
+ fprintf(stderr, "Usage: makedev [-v] [DESC] [fonts]\n");
+ exit(1);
+ }
+
+ if ((fin = fopen("DESC", "r")) == NULL) {
+ fprintf(stderr, "makedev: can't open %s\n", argv[1]);
+ exit(1);
+ }
+ while (fscanf(fin, "%s", cmd) != EOF) {
+ if (cmd[0] == '#') /* comment */
+ skipline(fin);
+ else if (strcmp(cmd, "debug") == 0)
+ dbg++;
+ else if (strcmp(cmd, "res") == 0) {
+ fscanf(fin, "%hd", &dev.res);
+ } else if (strcmp(cmd, "hor") == 0) {
+ fscanf(fin, "%hd", &dev.hor);
+ } else if (strcmp(cmd, "vert") == 0) {
+ fscanf(fin, "%hd", &dev.vert);
+ } else if (strcmp(cmd, "unitwidth") == 0) {
+ fscanf(fin, "%hd", &dev.unitwidth);
+ } else if (strcmp(cmd, "sizescale") == 0) {
+ fscanf(fin, "%hd", &dev.sizescale);
+ } else if (strcmp(cmd, "paperwidth") == 0) {
+ fscanf(fin, "%hd", &dev.paperwidth);
+ } else if (strcmp(cmd, "paperlength") == 0) {
+ fscanf(fin, "%hd", &dev.paperlength);
+ } else if (strcmp(cmd, "biggestfont") == 0) {
+ fscanf(fin, "%hd", &dev.biggestfont);
+ } else if (strcmp(cmd, "spare2") == 0) {
+ fscanf(fin, "%hd", &dev.spare2);
+ } else if (strcmp(cmd, "sizes") == 0) {
+ dev.nsizes = 0;
+ while (fscanf(fin, "%d", &v) != EOF && v != 0)
+ size[dev.nsizes++] = v;
+ size[dev.nsizes] = 0; /* need an extra 0 at the end */
+ } else if (strcmp(cmd, "fonts") == 0) {
+ fscanf(fin, "%hd", &dev.nfonts);
+ for (i = 0; i < dev.nfonts; i++)
+ fscanf(fin, "%s", fname[i]);
+ } else if (strcmp(cmd, "charset") == 0) {
+ p = chname;
+ dev.nchtab = 0;
+ while (fscanf(fin, "%s", p) != EOF) {
+ chtab[dev.nchtab++] = p - chname;
+ while (*p++) /* skip to end of name */
+ ;
+ }
+ dev.lchname = p - chname;
+ chtab[dev.nchtab++] = 0; /* terminate properly */
+ } else
+ fprintf(stderr, "makedev: unknown command %s\n", cmd);
+ }
+ if (argc > 0 && strcmp(argv[1], "DESC") == 0) {
+ fdout = creat(fout, 0666);
+ if (fdout < 0) {
+ fprintf(stderr, "makedev: can't open %s\n", fout);
+ exit(1);
+ }
+ write(fdout, &dev, sizeof (struct dev));
+ /* we need a 0 on the end */
+ write(fdout, size, (dev.nsizes+1) * sizeof (size[0]));
+ write(fdout, chtab, dev.nchtab * sizeof (chtab[0]));
+ write(fdout, chname, dev.lchname);
+ totfont = 0;
+ for (i = 0; i < dev.nfonts; i++) {
+ totfont += dofont(fname[i]);
+ write(fdout, &font, sizeof (struct Font));
+ write(fdout, width, font.nwfont & BYTEMASK);
+ write(fdout, kern, font.nwfont & BYTEMASK);
+ write(fdout, code, font.nwfont & BYTEMASK);
+ write(fdout, fitab, dev.nchtab+128-32);
+ }
+ /* back to beginning to install proper size */
+ lseek(fdout, 0L, 0);
+ dev.filesize = /* excluding dev struct itself */
+ (dev.nsizes+1) * sizeof (size[0])
+ + dev.nchtab * sizeof (chtab[0])
+ + dev.lchname * sizeof (char)
+ + totfont * sizeof (char);
+ write(fdout, &dev, sizeof (struct dev));
+ close(fdout);
+ argc--;
+ argv++;
+ }
+ for (i = 1; i < argc; i++)
+ dofont(argv[i]);
+ exit(0);
+}
+
+
+int
+dofont(char *name)
+ /* string containing name of font */
+{
+
+
+ FILE *fin; /* input file descriptor */
+ int fdout; /* output file descriptor */
+ int i, nw = 0, spacewidth, n = 0, v;
+ char buf[100], ch[10], s1[10], s2[10], s3[10], cmd[30];
+ char s4[10]; /* used to check for extra info */
+ int count; /* value returned from sscanf() */
+ int dflt_range; /* default maximum range for font */
+ int dflt_slant; /* default slant for this font */
+
+ /*
+ * This routine is responsible for making the '.out' file for
+ * the font specified by the parameter name. It also sets up some
+ * of the data structures needed to make the DESC.out file in the
+ * main routine. In addition I have changed this routine so that
+ * we can add some typesetter dependent parameters to the font
+ * files and have this information dumped out to a 'add' file
+ * for this font, which can be read as needed by the aps driver.
+ */
+ if ((fin = fopen(name, "r")) == NULL) {
+ fprintf(stderr, "makedev: can't open font %s\n", name);
+ exit(2);
+ } /* End if */
+
+ sprintf(cmd, "%s.out", name); /* output file is name.out */
+ fdout = creat(cmd, 0666);
+
+ font.specfont = 0; /* by default it isn't special font */
+ font.ligfont = 0; /* and has no ligatures */
+ font.spare1 = 0; /* all the flags are initially off */
+ spacewidth = 0; /* really useful for CW font */
+ dflt_range = 3; /* max range available on our APS-5 */
+ dflt_slant = 0; /* no slant for this font yet */
+
+ for (i = 0; i < NFITAB; i++) /* initialize font index table */
+ fitab[i] = 0;
+
+ for (i = 0; i < FSIZE; i++) { /* initialize font index table */
+ width[i] = kern[i] = code[i] = 0;
+ alt_font[i] = 0;
+ alt_code[i] = 0;
+ } /* End for */
+
+ while (fscanf(fin, "%s", cmd) != EOF) { /* read the font file */
+
+ if (cmd[0] == '#')
+ skipline(fin);
+ else if (strcmp(cmd, "name") == 0)
+ fscanf(fin, "%s", font.namefont);
+ else if (strcmp(cmd, "internalname") == 0)
+ fscanf(fin, "%s", font.intname);
+ else if (strcmp(cmd, "special") == 0)
+ font.specfont = 1;
+ else if (strcmp(cmd, "ligatures") == 0) {
+ font.ligfont = getlig(fin);
+ } else if (strcmp(cmd, "spacewidth") == 0) {
+ fscanf(fin, "%d", &spacewidth);
+ /* width of space on this font */
+ width[0] = spacewidth;
+ } else if (strcmp(cmd, "charset") == 0) {
+ skipline(fin);
+ nw = 0;
+
+ /* widths are origin 1 so fitab==0 can mean */
+ /* "not there" */
+
+ while (fgets(buf, 100, fin) != NULL) {
+
+ count = sscanf(buf, "%s %s %s %s %s", ch, s1,
+ s2, s3, s4);
+
+ if (s1[0] != '"') {
+ /* it's a genuine new character */
+
+ nw++;
+ width[nw] = atoi(s1);
+ kern[nw] = atoi(s2);
+
+ /* temporarily, pick up one byte as */
+ /* code */
+
+ if (s3[0] == '0')
+ sscanf(s3, "%o", &i);
+ else
+ sscanf(s3, "%d", &i);
+ code[nw] = i;
+
+ if (count > 4 && font.spare1)
+ finish_line(buf, nw);
+
+ } /* End if */
+
+ /* otherwise it's a synonym for previous */
+ /* character, so leave previous values intact */
+
+ if (strlen(ch) == 1) /* it's ascii */
+ fitab[ch[0] - 32] = nw;
+ /* fitab origin omits non-graphics */
+ else { /* it has a funny name */
+ for (i = 0; i < dev.nchtab; i++)
+ if (strcmp(&chname[chtab[i]],
+ ch) == 0) {
+ /* starts after the */
+ /* ascii */
+ fitab[i + 128-32] = nw;
+ break;
+ } /* End if */
+
+ if (i >= dev.nchtab)
+ fprintf(stderr,
+ "makedev: font %s: %s not "
+ "in charset\n", name, ch);
+ } /* End else */
+
+ } /* End while */
+ nw++;
+ if (dev.biggestfont >= nw)
+ n = dev.biggestfont;
+ else {
+ if (dev.biggestfont > 0)
+ fprintf(stderr, "font %s too big\n",
+ name);
+ n = nw;
+ }
+ font.nwfont = n;
+ } else if (strcmp(cmd, "alternate_font") == 0)
+ font.spare1 |= FONT_BIT; /* set alternate font bit */
+ else if (strcmp(cmd, "default_slant") == 0) {
+ /* clear two slant val bits */
+ font.spare1 &= ~(3 << SLANT_VAL);
+ /* set font slant bit */
+ font.spare1 |= SLANT_BIT;
+ /* read the default slant value */
+ fscanf(fin, "%d", &dflt_slant);
+ if (dflt_slant > 0) /* encode it as 01 */
+ font.spare1 |= (1 << SLANT_VAL);
+ else if (dflt_slant < 0) /* encode it as 10 */
+ font.spare1 |= (1 << (SLANT_VAL + 1));
+ } else if (strcmp(cmd, "max_range") == 0) {
+ /* set range bit in spare1 */
+ font.spare1 |= RANGE_BIT;
+ /* read default font slant */
+ fscanf(fin, "%d", &dflt_range);
+ if (dflt_range < 1 || dflt_range > 4) {
+ fprintf(stderr,
+ "makedev: illegal default range %d\n",
+ dflt_range);
+ exit(1);
+ } /* End if */
+ font.spare1 |= (dflt_range << RANGE_VAL);
+ } else if (strcmp(cmd, "debug") == 0)
+ dbg++;
+
+ } /* End while */
+
+ if (spacewidth == 0)
+ width[0] = dev.res * dev.unitwidth / 72 / 3;
+ fclose(fin);
+
+ write(fdout, &font, sizeof (struct Font));
+ write(fdout, width, font.nwfont & BYTEMASK);
+ write(fdout, kern, font.nwfont & BYTEMASK);
+ write(fdout, code, font.nwfont & BYTEMASK);
+ write(fdout, fitab, dev.nchtab+128-32);
+ close(fdout);
+
+ if (font.spare1)
+ add_font(name);
+
+ if (dbg)
+ dump_font();
+
+ v = sizeof (struct Font) + 3 * n + dev.nchtab + 128-32;
+ if (verbose)
+ fprintf(stderr, "%3s: %3d chars, width %3d, size %3d\n",
+ font.namefont, nw, width[0], v);
+ return (v);
+
+} /* End of dofont */
+
+
+/* pick up ligature list */
+int
+getlig(FILE *fin)
+{
+
+
+ int lig;
+ char temp[100];
+
+
+ lig = 0;
+ while (fscanf(fin, "%s", temp) != EOF && strcmp(temp, "0") != 0) {
+ if (strcmp(temp, "fi") == 0)
+ lig |= LFI;
+ else if (strcmp(temp, "fl") == 0)
+ lig |= LFL;
+ else if (strcmp(temp, "ff") == 0)
+ lig |= LFF;
+ else if (strcmp(temp, "ffi") == 0)
+ lig |= LFFI;
+ else if (strcmp(temp, "ffl") == 0)
+ lig |= LFFL;
+ else
+ fprintf(stderr, "illegal ligature %s\n", temp);
+ }
+
+ skipline(fin);
+ return (lig);
+
+} /* End of getlg */
+
+
+void
+finish_line(
+ char *buf, /* last input line */
+ int nw) /* data for next char goes here */
+{
+
+
+ char s[3][20]; /* used for special char commands */
+ char v[3][20]; /* and their values */
+ int count; /* number of extra commands */
+ int range; /* largest allowed master range */
+ int angle; /* slant the character by this much */
+ int i; /* loop index */
+
+
+/*
+ *
+ * Called from dofont() to interpret any extra fields in the current input
+ * line. The additional stuff can include one or more of the following
+ *
+ * slant n
+ * max_range n
+ * font n
+ *
+ * separated by white space and in any order. In all the above n is an
+ * integer. Comments will really screw things up so leave them out of the
+ * charset part in the APS-5 font files.
+ *
+ */
+
+
+ count = sscanf(buf, "%*s %*s %*s %*s %s %s %s %s %s %s",
+ s[0], v[0], s[1], v[1], s[2], v[2]);
+
+ if ((count % 2 != 0) || (count == 0)) {
+ fprintf(stderr, "makedev: format error in charset table\n");
+ exit(1);
+ } /* End if */
+
+ alt_code[nw] = code[nw]; /* real code will go in .add file */
+ code[nw] = 128; /* tells daps it's not a real code */
+
+ for (i = 0; i < count/2; i++) {
+
+ if (strcmp(s[i], "font") == 0) {
+ /* get char from another font */
+ /* daps checks this bit */
+ code[nw] |= FONT_BIT;
+ alt_font[nw] = atoi(v[i]); /* APS-5 font number */
+ } else if (strcmp(s[i], "max_range") == 0) {
+ code[nw] &= ~(3 << RANGE_VAL);
+ code[nw] |= RANGE_BIT;
+ range = atoi(v[i]);
+ if (range < 1 || range > 4) {
+ fprintf(stderr, "makedev: illegal range\n");
+ exit(1);
+ } /* End if */
+ code[nw] |= (range << RANGE_VAL);
+ } else if (strcmp(s[i], "slant") == 0) {
+ code[nw] &= ~(3 << SLANT_VAL);
+ code[nw] |= SLANT_BIT;
+ angle = atoi(v[i]);
+ if (angle > 0) /* again daps understands these */
+ code[nw] |= (1 << SLANT_VAL);
+ else if (angle < 0)
+ code[nw] |= (1 << (SLANT_VAL + 1));
+ } else {
+ fprintf(stderr, "makedev: illegal command\n");
+ exit(1);
+ } /* End else */
+
+ } /* End for */
+ if (code[nw] & BYTEMASK == 128) {
+ fprintf(stderr, "makedev: char code %d less than 129\n",
+ code[nw]);
+ exit(1);
+ } /* End if */
+
+} /* End of finish_line */
+
+
+void
+add_font(char *name)
+{
+
+
+ int fdout; /* output file descriptor */
+ int k; /* number of width entries */
+ char cmd[30]; /* used to create output file */
+
+
+
+/*
+ *
+ * If there were any special requests made in the current font file we'll
+ * want to save the real data (for daps) in a binary file that ends with
+ * the suffix ".add". When daps tries to print a character and finds that
+ * it's character code bigger than 129 it knows it will need to get more
+ * real data from the appropriate .add file.
+ *
+ */
+
+
+
+ sprintf(cmd, "%s.add", name); /* file will be 'name'.add */
+ fdout = creat(cmd, 0666);
+
+ k = font.nwfont & BYTEMASK;
+
+ write(fdout, alt_font, k * sizeof (alt_font[0]));
+ write(fdout, alt_code, k);
+
+ close(fdout);
+
+} /* End of add_font */
+
+
+void
+dump_font(void)
+{
+
+
+ int pos; /* position in character tables */
+ int j; /* for loop index */
+ int code_val; /* number in code table */
+
+
+
+/*
+ *
+ * Just a debugging routine that's really not important anymore. It's
+ * called from dofont() after everything's been built for the current
+ * font file. Need to include the string "debug" in the font file that
+ * we want to check.
+ *
+ */
+
+
+ printf("DATA FOR FONT %s:\n\n", font.namefont);
+
+ printf(" font structure data:\n");
+ printf("\t\tfont.nwfont = %d\n", font.nwfont & BYTEMASK);
+ printf("\t\tfont.specfont = %d\n", font.specfont & BYTEMASK);
+ printf("\t\tfont.ligfont = %d\n", font.ligfont & BYTEMASK);
+ printf("\t\tfont.spare1 = 0%o\n", font.spare1 & BYTEMASK);
+ printf("\t\tfont.intname = %s\n\n", font.intname);
+
+ printf(" CHAR WIDTH KERN CODE INDEX\n");
+
+ for (j = 0; j < dev.nchtab + 128 - 32; j++) {
+
+ if ((pos = fitab[j] & BYTEMASK) != 0) {
+ if (j >= 96)
+ printf("%5s", &chname[chtab[j-96]]);
+ else printf("%5c", (j + 32) & BYTEMASK);
+ printf("%10d", width[pos] & BYTEMASK);
+ printf("%10d", kern[pos] & BYTEMASK);
+ code_val = code[pos] & BYTEMASK;
+ printf("%10d", code_val & BYTEMASK);
+ printf("%10d", j);
+
+ if (code_val > 128) {
+ printf("%5d", alt_code[pos] & BYTEMASK);
+ if (code_val & SLANT_BIT)
+ printf(" slant %d",
+ (code_val >> SLANT_VAL) & 03);
+ if (code_val & FONT_BIT)
+ printf(" font %d", alt_font[pos]);
+ if (code_val & RANGE_BIT)
+ printf(" range %d",
+ (code_val >> RANGE_VAL) & 03);
+ } /* End if */
+
+ printf("\n");
+ } /* End if */
+
+ } /* End for */
+
+ printf("\n\n");
+
+} /* End of dump_font */
diff --git a/troff/troff.d/devaps/version b/troff/troff.d/devaps/version
new file mode 100644
index 0000000000000..901040d7aa653
--- /dev/null
+++ b/troff/troff.d/devaps/version
@@ -0,0 +1,34 @@
+#ident "@(#)version 1.4 05/06/08 SMI"
+#
+# Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+063285
diff --git a/troff/troff.d/devaps/version.c b/troff/troff.d/devaps/version.c
new file mode 100644
index 0000000000000..929c5b4ceea49
--- /dev/null
+++ b/troff/troff.d/devaps/version.c
@@ -0,0 +1,19 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/daps.sl 1.5 (gritter) 7/9/06";
+/* SLIST */
+/*
+aps.h: * Sccsid @(#)aps.h 1.3 (gritter) 8/9/05
+build.c: * Sccsid @(#)build.c 1.4 (gritter) 8/13/05
+daps.c: * Sccsid @(#)daps.c 1.8 (gritter) 7/9/06
+daps.h: * Sccsid @(#)daps.h 1.3 (gritter) 8/9/05
+dev.h: * Sccsid @(#)dev.h 1.3 (gritter) 8/9/05
+draw.c: Sccsid @(#)draw.c 1.1 (gritter) 7/3/06
+getopt.c: * Sccsid @(#)getopt.c 1.8 (gritter) 8/2/05
+makedev.c: * Sccsid @(#)makedev.c 1.3 (gritter) 8/9/05
+*/
diff --git a/troff/troff.d/dhtml/Makefile.mk b/troff/troff.d/dhtml/Makefile.mk
new file mode 100644
index 0000000000000..2df615f95fb44
--- /dev/null
+++ b/troff/troff.d/dhtml/Makefile.mk
@@ -0,0 +1,29 @@
+BST= ../../../stuff/bst
+BIN= dhtml
+OBJ= main.o dhtml.o tr_out.o char.o lib.o $(BST)/bst.o
+CPPFLAGS= -DFNTDIR='"$(FNTDIR)"' -I$(BST)
+
+all: $(BIN)
+
+install:
+ $(STRIP) $(BIN)
+ $(INSTALL) $(BIN) $(ROOT)$(BINDIR)/
+ sed 's"$$FNTDIR"$(FNTDIR)"g' $(BIN).1 > \
+ $(ROOT)$(MANDIR)/man1/$(BIN).1
+
+clean:
+ rm -f $(OBJ) $(BIN)
+
+mrproper: clean
+
+$(BIN): $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) -o $@
+
+.c.o:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
+char.o: char.h main.h $(BST)/bst.h lib.h tr_out.h
+dhtml.o: dhtml.h tr_out.h char.h main.h
+lib.o: main.h $(BST)/bst.h
+main.o: dhtml.h char.h
+tr_out.o: tr_out.h main.h $(BST)/bst.h lib.h
diff --git a/troff/troff.d/dhtml/char.c b/troff/troff.d/dhtml/char.c
new file mode 100644
index 0000000000000..491ded38f3a10
--- /dev/null
+++ b/troff/troff.d/dhtml/char.c
@@ -0,0 +1,115 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "char.h"
+#include "main.h"
+#include "bst.h"
+#include "lib.h"
+#include "tr_out.h"
+
+int prevchar;
+
+static struct bst namdat = { NULL, bst_scmp };
+static struct bst chrdat = { NULL, bst_icmp };
+static struct bst numdat = { NULL, bst_icmp };
+
+void
+char_open(void) {
+ char *b;
+ ssize_t s;
+ if (!(b = file2ram(FNTDIR "/devhtml/CHAR", &s))) exit(1);
+ while (1) {
+ char *w, *l;
+ size_t n;
+ int t;
+ if (!(s = lineskip(&b, s))) return;
+ if (!(w = get_word(&b, &s, &n, &t))) return;
+ if (!(l = get_line(&b, &s, NULL))) return;
+ if (n == 1)
+ avl_add(&chrdat, I2BST(*w), S2BST(l));
+ else if (n != 2 && !(t & ~1))
+ avl_add(&numdat, I2BST(atoi(w)), S2BST(l));
+ else
+ avl_add(&namdat, S2BST(w), S2BST(l));
+ }
+}
+
+void
+char_c(int c) {
+ if (c == '`' || c == '\'') {
+ if (!prevchar) prevchar = c;
+ else if (c != prevchar) {
+ chrout(prevchar);
+ prevchar = c;
+ } else {
+ switch (c) {
+ case '`' : fputs("&ldquo;", stdout); break;
+ case '\'': fputs("&rdquo;", stdout); break;
+ }
+ prevchar = 0;
+ }
+ } else {
+ clslig();
+ chrout(c);
+ }
+ hdecr();
+}
+
+void
+char_N(int i) {
+ struct bst_node *n;
+ clslig();
+ if (!bst_srch(&numdat, I2BST(i), &n))
+ fputs(n->data.p, stdout);
+ else
+ printf("&#%d;", i);
+ hdecr();
+}
+
+void
+char_C(char *s) {
+ struct bst_node *n;
+ clslig();
+ if (!bst_srch(&namdat, S2BST(s), &n))
+ fputs(n->data.p, stdout);
+ else
+ fprintf(stderr, "%s: Unknown character name \"%s\"\n",
+ progname, s);
+ hdecr();
+}
+
+void
+chrout(int c) {
+ struct bst_node *n;
+ if (!bst_srch(&chrdat, I2BST(c), &n))
+ fputs(n->data.p, stdout);
+ else
+ putchar(c);
+}
diff --git a/troff/troff.d/dhtml/char.h b/troff/troff.d/dhtml/char.h
new file mode 100644
index 0000000000000..cd3aefd6cf3b5
--- /dev/null
+++ b/troff/troff.d/dhtml/char.h
@@ -0,0 +1,15 @@
+#define clslig() \
+ do { \
+ if (prevchar) { \
+ chrout(prevchar); \
+ prevchar = 0; \
+ } \
+ } while (0)
+
+void char_open(void);
+void char_c(int);
+void char_C(char *);
+void char_N(int);
+void chrout(int);
+
+extern int prevchar;
diff --git a/troff/troff.d/dhtml/dhtml.1 b/troff/troff.d/dhtml/dhtml.1
new file mode 100644
index 0000000000000..beb09286f1af5
--- /dev/null
+++ b/troff/troff.d/dhtml/dhtml.1
@@ -0,0 +1,107 @@
+.\" Copyright (c) 2015, Carsten Kunze
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions are met:
+.\"
+.\" 1. Redistributions of source code must retain the above copyright notice,
+.\" this list of conditions and the following disclaimer.
+.\"
+.\" 2. Redistributions in binary form must reproduce the above copyright notice,
+.\" this list of conditions and the following disclaimer in the documentation
+.\" and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+.\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.Dd September 18, 2015
+.Dt DHTML 1
+.Sh NAME
+.Nm dhtml
+.Nd HTML postprocessor for troff
+.Sh SYNOPSIS
+.Nm
+.Op Fl t Ar title
+.Li < Ar ditroff_output Li > Ar html_output
+.Sh DESCRIPTION
+.Nm
+is a HTML postprocessor for
+.Xr troff 1 .
+It reads the ditroff output from
+.Dv STDIN
+and writes HTML5 output to
+.Dv STDOUT .
+.Nm troff
+must in this case be called with option
+.Fl Thtml .
+Missing charaters can be added by changing the files
+.Pa charset
+and
+.Pa CHAR
+(see section
+.Sx FILES ) .
+For adding fonts the tool needs to be recompiled (currently the
+legacy fonts
+.Li R I B BI C CW CR CI CB H HI HB S
+are available).
+.Pp
+Options:
+.Bl -tag -width ".Fl t Ar title"
+.It Fl t Ar title
+Set text for the HTML
+.Li <title>
+tag.
+.El
+.Sh FILES
+.Bl -tag
+.It Ar source_dir Ns Pa /troff/troff.d/font/devhtml/charset
+.Sy charset
+which is appended to each font description file at installation
+of the tool (run
+.Pp
+.Dl # make install
+.Pp
+after changes of this file).
+.It Pa $FNTDIR/devhtml/CHAR
+Character to HTML name mapping which is read at each run of
+.Nm .
+.El
+.Sh EXAMPLES
+.Bd -unfilled -offset indent
+.Li tbl Ar manpage Li | troff -Thtml -mandoc \(rs
+.Li " |" dhtml Li -t Ar html_title Li > Ar html_file
+.Ed
+.Pp
+Convert
+.Ar manpage
+into HTML format with title
+.Ar html_title
+and save it as
+.Ar html_file .
+.Sh SEE ALSO
+.Xr troff 1 ,
+.Xr dpost 1
+.Sh BUGS
+For the current version no changes to the ditroff interface are done.
+All information for formatting the HTML page is taken from legacy ditroff
+commands.
+As a consequence the alignment cannot be as accurate as in the
+.Xr dpost 1
+output since the character widths of HTML fonts must be supposed to be
+unknown.
+.Pp
+At the moment no HTML tables are generated.
+.Xr tbl 1
+(without options) can be used for preprocessing but mayor alingment issues
+may result.
+There is no support for equations, graphics, images, and links in this
+versions.
+These features are subject to be implemented later.
diff --git a/troff/troff.d/dhtml/dhtml.h b/troff/troff.d/dhtml/dhtml.h
new file mode 100644
index 0000000000000..1c4d1be54f51f
--- /dev/null
+++ b/troff/troff.d/dhtml/dhtml.h
@@ -0,0 +1 @@
+void run_lex(void);
diff --git a/troff/troff.d/dhtml/dhtml.l b/troff/troff.d/dhtml/dhtml.l
new file mode 100644
index 0000000000000..c99db26a88a19
--- /dev/null
+++ b/troff/troff.d/dhtml/dhtml.l
@@ -0,0 +1,87 @@
+%{
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#include <string.h>
+#include "dhtml.h"
+#include "tr_out.h"
+#include "char.h"
+#include "main.h"
+static int i0;
+%}
+%x X FONT_NUM FONT_NAM T X_X LINK ULINK ANCHOR
+WS [ ]
+NWS [^ \n]
+%%
+<X>f{NWS}*{WS}+ { BEGIN FONT_NUM; }
+<X>T{NWS}*{WS}+ { BEGIN T; }
+<X>X{NWS}*{WS}+ { BEGIN X_X; }
+<X>[^fTX].* { BEGIN 0; }
+<FONT_NUM>[0-9]+{WS}+ { i0 = atoi(yytext);
+ BEGIN FONT_NAM; }
+<FONT_NAM>{NWS}+ { out_x_f(i0, yytext);
+ BEGIN 0; }
+<T>{NWS}+ { out_x_T(yytext);
+ BEGIN 0; }
+<X_X>Link{WS}+ { BEGIN LINK; }
+<X_X>ULink{WS}+ { BEGIN ULINK; }
+<X_X>U?Link{WS}*\n { out_end_link();
+ BEGIN 0; }
+<X_X>Anchor{WS}+ { BEGIN ANCHOR; }
+<X_X>LC_TYPE.* { BEGIN 0; }
+<X_X>[^AL].* { BEGIN 0; }
+<LINK>.+ { out_begin_link(yytext);
+ BEGIN 0; }
+<ULINK>.+ { out_begin_ulink(yytext);
+ BEGIN 0; }
+<ANCHOR>.+ { out_anchor(yytext);
+ BEGIN 0; }
+c. { char_c(yytext[1]); }
+[0-9][0-9]. { char_c(yytext[2]); }
+C{NWS}+ { char_C(yytext+1); }
+w { out_w(); }
+H-?[0-9]+ { ; }
+h-?[0-9]+ { out_h(atoi(yytext+1)); }
+V-?[0-9]+ { out_V(atoi(yytext+1)); }
+v-?[0-9]+ { fprintf(stderr, "Ignore v %s\n", yytext+1); }
+f[0-9]+ { out_f(atoi(yytext+1)); }
+N[0-9]+ { char_N(atoi(yytext+1)); }
+n[0-9]+{WS}+[0-9]+ { out_n(atoi(yytext+1)); }
+s[0-9]+ { out_s(atoi(yytext+1)); }
+p[0-9]+ { ; }
+x{WS}+ { BEGIN X; }
+D.+ { ; }
+\n { ; }
+. { fprintf(stderr, "Ignore '%c'\n", *yytext); }
+%%
+int
+yywrap(void) {
+ return 1;
+}
+void
+run_lex(void) {
+ yylex();
+}
diff --git a/troff/troff.d/dhtml/lib.c b/troff/troff.d/dhtml/lib.c
new file mode 100644
index 0000000000000..251223627e05c
--- /dev/null
+++ b/troff/troff.d/dhtml/lib.c
@@ -0,0 +1,148 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <string.h>
+#include "main.h"
+#include "bst.h"
+
+void * /* pointer to \0 terminated file contents */
+file2ram(char *p, /* path to file */
+ ssize_t *l) { /* pointer to buffer size variable */
+ int f;
+ struct stat s;
+ char *b = NULL;
+ if ((f = open(p, O_RDONLY)) == -1) {
+ fprintf(stderr, "%s: open(%s) failed: ", progname, p);
+ perror(NULL);
+ goto r;
+ }
+ if (fstat(f, &s) == -1) {
+ fprintf(stderr, "%s: fstat(%s) failed: ", progname, p);
+ perror(NULL);
+ goto c;
+ }
+ if (!(b = malloc(s.st_size + 1))) goto c;
+ if ((*l = read(f, b, s.st_size)) == -1) {
+ free(b);
+ fprintf(stderr, "%s: read(%s) failed: ", progname, p);
+ perror(NULL);
+ goto c;
+ }
+ b[*l] = 0;
+c:
+ close(f);
+r:
+ return b;
+}
+
+ssize_t
+lineskip(char **b, ssize_t n) {
+ char *p = *b;
+ int i = 0;
+ int c;
+ while (1) {
+ for (; n && (!(c = *p) || c == ' ' || c == '\t' || c == '\n');
+ n--, p++) {
+ if (c == '\n') i = 0;
+ else i++;
+ }
+ if (!n || !i || c != '#') goto r;
+ for (; n && (c = *p) && c != '\n'; n--, p++);
+ }
+r:
+ *b = p;
+ return n;
+}
+
+char * /* pointer to word */
+get_word(char **b, /* begin of buffer, then end of buffer */
+ ssize_t *l, /* buffer length */
+ size_t *s, /* word length (if not NULL) */
+ int *t) { /* type (if not NULL) */
+ char *w = NULL;
+ char *p = *b;
+ ssize_t n = *l;
+ int c;
+ size_t i = 0;
+ int f = 0;
+ for (; n && (!(c = *p) || c == ' ' || c == '\t' || c == '\n');
+ n--, p++);
+ if (!n) goto r;
+ w = p;
+ for (; n && (c = *p) && c != ' ' && c != '\t' && c != '\n';
+ i++, n--, p++) {
+ if (c >= '0' && c <= '9') f |= 1;
+ else f |= 2;
+ }
+ if (!n) goto r;
+ *p = 0;
+r:
+ *b = p;
+ *l = n;
+ if (s) *s = i;
+ if (t) *t = f;
+ return w;
+}
+
+char * /* pointer to line */
+get_line(char **b, /* begin of buffer, then end of buffer */
+ ssize_t *l, /* buffer length */
+ size_t *s) { /* line length (if not NULL) */
+ char *w = NULL;
+ char *p = *b;
+ ssize_t n = *l;
+ int c;
+ size_t i = 0;
+ for (; n && (!(c = *p) || c == ' ' || c == '\t');
+ n--, p++);
+ if (!n) goto r;
+ w = p;
+ for (; n && (c = *p) && c != '\n'; i++, n--, p++);
+ if (!n) goto r;
+ *p = 0;
+r:
+ *b = p;
+ *l = n;
+ if (s) *s = i;
+ return w;
+}
+
+int
+bst_scmp(union bst_val a, union bst_val b) {
+ return strcmp(a.p, b.p);
+}
+int
+bst_icmp(union bst_val a, union bst_val b) {
+ return a.i < b.i ? -1 :
+ a.i > b.i ? 1 :
+ 0 ;
+}
diff --git a/troff/troff.d/dhtml/lib.h b/troff/troff.d/dhtml/lib.h
new file mode 100644
index 0000000000000..7f8d5b591ffaf
--- /dev/null
+++ b/troff/troff.d/dhtml/lib.h
@@ -0,0 +1,9 @@
+#define I2BST(i) ((union bst_val)(int)i)
+#define S2BST(s) ((union bst_val)(void *)s)
+
+void *file2ram(char *, ssize_t *);
+ssize_t lineskip(char **, ssize_t);
+char *get_word(char **, ssize_t *, size_t *, int *);
+char *get_line(char **, ssize_t *, size_t *);
+int bst_scmp(union bst_val, union bst_val);
+int bst_icmp(union bst_val, union bst_val);
diff --git a/troff/troff.d/dhtml/main.c b/troff/troff.d/dhtml/main.c
new file mode 100644
index 0000000000000..ece7903327943
--- /dev/null
+++ b/troff/troff.d/dhtml/main.c
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "dhtml.h"
+#include "char.h"
+
+char *progname;
+
+static void begin_html(void);
+static void end_html(void);
+
+static char *title;
+
+int
+main(int argc, char **argv) {
+ int opt;
+ progname = argv[0];
+ while ((opt = getopt(argc, argv, "t:")) != -1) {
+ switch (opt) {
+ case 't':
+ title = optarg;
+ break;
+ default:
+ fprintf(stderr, "Usage: %s [-t title] < "
+ "ditroff_output > html_output\n", progname);
+ exit(EXIT_FAILURE);
+ }
+ }
+ begin_html();
+ char_open();
+ run_lex();
+ end_html();
+ return 0;
+}
+
+static void
+begin_html(void) {
+ puts("<!DOCTYPE html>");
+ puts("<html lang=\"en\">");
+ puts(" <head>");
+ puts(" <meta charset=\"utf-8\">");
+ printf(" <title>%s</title>", title ? title : "");
+ puts(" </head>");
+ puts(" <body>");
+}
+
+static void
+end_html(void) {
+ puts("");
+ puts(" </body>");
+ puts("</html>");
+}
diff --git a/troff/troff.d/dhtml/main.h b/troff/troff.d/dhtml/main.h
new file mode 100644
index 0000000000000..0aca5f172b38c
--- /dev/null
+++ b/troff/troff.d/dhtml/main.h
@@ -0,0 +1 @@
+extern char *progname;
diff --git a/troff/troff.d/dhtml/roff.c b/troff/troff.d/dhtml/roff.c
new file mode 100644
index 0000000000000..760893d24a054
--- /dev/null
+++ b/troff/troff.d/dhtml/roff.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+#include "roff.h"
+
+static struct req_in_data {
+ int not_1st;
+ int last_i;
+} req_in_data;
+
+void
+req_in(int i) {
+#if 0
+ if (req_in_data.not_1st) {
+ puts("\n</div>");
+ req_in_data.not_1st = 0;
+ }
+ if (i) {
+ printf("\n<div style=\"padding-left: %dpx;\">\n", i);
+ req_in_data.not_1st = 1;
+ }
+#endif
+ puts("<br>");
+}
+
+void
+req_sp(int i) {
+ printf("\n<div style=\"height: %dpx;\"></div>\n", (i*12)/40);
+}
diff --git a/troff/troff.d/dhtml/roff.h b/troff/troff.d/dhtml/roff.h
new file mode 100644
index 0000000000000..93150486a60b0
--- /dev/null
+++ b/troff/troff.d/dhtml/roff.h
@@ -0,0 +1,2 @@
+void req_in(int);
+void req_sp(int);
diff --git a/troff/troff.d/dhtml/tr_out.c b/troff/troff.d/dhtml/tr_out.c
new file mode 100644
index 0000000000000..7fd52c901dd61
--- /dev/null
+++ b/troff/troff.d/dhtml/tr_out.c
@@ -0,0 +1,221 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include "tr_out.h"
+#include "main.h"
+#include "bst.h"
+#include "lib.h"
+#include "char.h"
+
+int fontsize;
+int hdec;
+
+static void closesize(void);
+
+static int lineheight;
+static int totalh;
+static char *size_end;
+static struct bst fonts = { NULL, bst_icmp };
+
+void
+out_x_T(char *dev) {
+ if (!strcmp(dev, "html")) return;
+ fprintf(stderr, "%s: Invalid troff output device \"%s\"."
+ "Please use troff with option \"-Thtml\".\n", progname, dev);
+}
+
+void
+out_f(int num) {
+ static char *prevfont = "R";
+ static char *closefont;
+ struct bst_node *n;
+ char *nam;
+ clslig();
+ if (!bst_srch(&fonts, I2BST(num), &n)) {
+ nam = n->data.p;
+ } else {
+ nam = "R";
+ if (num != 1)
+ fprintf(stderr, "%s: Unknown font %d\n", progname,
+ num);
+ }
+ if (!strcmp(nam, prevfont)) return;
+ closesize();
+ if (closefont) {
+ fputs(closefont, stdout);
+ closefont = NULL;
+ }
+ prevfont = nam;
+ if (!strcmp(nam, "R") ||
+ !strcmp(nam, "S")) return;
+ else
+ if (!strcmp(nam, "I")) {
+ fputs("<span style=\"font-style: italic\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "B")) {
+ fputs("<span style=\"font-weight: bold\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "BI")) {
+ fputs("<span style=\"font-weight: bold;"
+ " font-style: italic\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "CW") ||
+ !strcmp(nam, "CR") ||
+ !strcmp(nam, "C")) {
+ fputs("<span style=\"font-family: monospace\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "CI")) {
+ fputs("<span style=\"font-family: monospace;"
+ " font-style: italic\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "CB")) {
+ fputs("<span style=\"font-family: monospace;"
+ " font-weight: bold\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "H")) {
+ fputs("<span style=\"font-family: sans-serif\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "HI")) {
+ fputs("<span style=\"font-family: sans-serif;"
+ " font-style: italic\">", stdout);
+ closefont = "</span>";
+ } else
+ if (!strcmp(nam, "HB")) {
+ fputs("<span style=\"font-family: sans-serif;"
+ " font-weight: bold\">", stdout);
+ closefont = "</span>";
+ } else
+ fprintf(stderr, "%s: Unknown font name \"%s\"\n",
+ progname, nam);
+ out_s(fontsize);
+}
+
+void
+out_s(int i) {
+ fontsize = i;
+ clslig();
+ closesize();
+ if (fontsize == 10) return;
+ printf("<span style=\"font-size: %gem\">", fontsize / 10.0);
+ size_end = "</span>";
+}
+
+static void
+closesize(void) {
+ if (size_end) {
+ fputs(size_end, stdout);
+ size_end = NULL;
+ }
+}
+
+void
+out_n(int i) {
+ clslig();
+ lineheight = i;
+}
+
+void
+out_V(int i) {
+ static int prevv;
+ int d;
+ clslig();
+ if (i < 0) return;
+ if (i < prevv) {
+ prevv = i;
+ return;
+ }
+ if (!lineheight) return;
+ prevv += lineheight;
+ if ((d = i - prevv) > 0) {
+ printf("<p style=\"heigh: %dpx\"></p>\n", d);
+ prevv = i;
+ } else {
+ puts("<br>");
+ }
+ lineheight = 0;
+ totalh = 0;
+ hdec = 0;
+}
+
+void
+out_h(int i) {
+ if (lineheight) i -= totalh;
+ else totalh += i;
+ i -= hdec;
+ hdec = 0;
+ if (i <= 0) return;
+ printf("<span style=\"display: inline-block; width: %gpt\"></span>",
+ i / 20.0);
+}
+
+void
+out_w(void) {
+ clslig();
+ putchar(' ');
+ hdec += 10 * fontsize;
+}
+
+void
+out_x_f(int num, char *nam) {
+ struct bst_node *n;
+ if (bst_srch(&fonts, I2BST(num), &n)) {
+ avl_add(&fonts, I2BST(num), S2BST(strdup(nam)));
+ } else {
+ free(n->data.p);
+ n->data.p = strdup(nam);
+ }
+}
+
+void
+out_begin_link(char *l) {
+ printf("<a href=\"#%s\">", l);
+}
+
+void
+out_begin_ulink(char *l) {
+ printf("<a href=\"%s\">", l);
+}
+
+void
+out_end_link(void) {
+ fputs("</a>", stdout);
+}
+
+void
+out_anchor(char *a) {
+ printf("<span id=\"%s\"></span>", a);
+}
diff --git a/troff/troff.d/dhtml/tr_out.h b/troff/troff.d/dhtml/tr_out.h
new file mode 100644
index 0000000000000..e040bd84d1bca
--- /dev/null
+++ b/troff/troff.d/dhtml/tr_out.h
@@ -0,0 +1,17 @@
+#define hdecr() hdec += 10 * fontsize
+
+void out_anchor(char *);
+void out_begin_link(char *);
+void out_begin_ulink(char *);
+void out_end_link(void);
+void out_f(int);
+void out_h(int);
+void out_n(int);
+void out_s(int);
+void out_V(int);
+void out_w(void);
+void out_x_f(int, char *);
+void out_x_T(char *);
+
+extern int fontsize;
+extern int hdec;
diff --git a/troff/troff.d/dpost.d/Makefile.mk b/troff/troff.d/dpost.d/Makefile.mk
new file mode 100644
index 0000000000000..36847f46d999b
--- /dev/null
+++ b/troff/troff.d/dpost.d/Makefile.mk
@@ -0,0 +1,42 @@
+BST = ../../../stuff/bst
+
+OBJ = dpost.o draw.o color.o pictures.o ps_include.o afm.o \
+ makedev.o glob.o misc.o request.o version.o getopt.o \
+ asciitype.o otf.o ../fontmap.o $(BST)/bst.o
+
+FLAGS = -I. -I.. -DFNTDIR='"$(FNTDIR)"' -DPSTDIR='"$(PSTDIR)"' $(EUC) \
+ $(DEFINES) -I../../../include -I.. -I$(BST)
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all: dpost
+
+dpost: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o dpost
+
+install:
+ $(INSTALL) -c dpost $(ROOT)$(BINDIR)/dpost
+ $(STRIP) $(ROOT)$(BINDIR)/dpost
+ mkdir -p $(ROOT)$(MANDIR)/man1
+ $(INSTALL) -c -m 644 dpost.1 $(ROOT)$(MANDIR)/man1/dpost.1
+
+clean:
+ rm -f $(OBJ) dpost core log *~
+
+mrproper: clean
+
+color.o: color.c gen.h ext.h
+dpost.o: dpost.c comments.h gen.h path.h ext.h ../dev.h dpost.h ../afm.h \
+ asciitype.h
+draw.o: draw.c gen.h ext.h
+glob.o: glob.c gen.h
+misc.o: misc.c gen.h ext.h path.h asciitype.h
+pictures.o: pictures.c comments.h gen.h path.h
+ps_include.o: ps_include.c ext.h gen.h asciitype.h path.h
+request.o: request.c gen.h request.h path.h
+afm.o: afm.c ../dev.h ../afm.h ../afm.c
+otf.o: otf.c ../dev.h ../afm.h ../otf.c
+makedev.o: makedev.c ../dev.h ../makedev.c
+asciitype.o: asciitype.h
+version.o: version.c ../../version.c
diff --git a/troff/troff.d/dpost.d/README b/troff/troff.d/dpost.d/README
new file mode 100644
index 0000000000000..a2ad48ed2f31b
--- /dev/null
+++ b/troff/troff.d/dpost.d/README
@@ -0,0 +1,53 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+Source code for a program that translates device independent troff output into
+PostScript.
+
+Several new text encoding schemes, based on widthshow, have been added. Each can
+be accessed using the -e option and often reduce print time by 20% or more. Level
+0 is the slowest but most stable choice. Level 2 encoding (which right now is the
+default) is fast and does a good job placing text and justifying the right margin.
+You can change the default encoding scheme by adjusting the definition of ENCODING
+in ../Makefile. Levels 0, 1, and 2 are the only reasonable defaults, but at present
+only level 0 is guaranteed. The new encoding schemes are not thoroughly tested,
+but passed the tests I ran.
+
+Other interesting features include color support, the ability to treat complex
+paths built from the standard drawing commands as single entities (eg. for filling
+a polygon with a color), and reverse video printing as a special case of color.
+Also added, although using it is far from trivial, is the ability to set text
+along an arbitrary baseline (see ../postscript/baseline.ps). All are accessed via
+special device control escapes (from routine devcntrl() in dpost.c).
+
+ASCII font and description files for many standard PostScript fonts can be found
+in ../font/devpost. They should be installed in /usr/lib/font/devpost, and are
+read when you add the -Tpost option to troff. A typical command line would be,
+
+ pic file | tbl | eqn | troff -mm -Tpost | dpost >file.ps
+
+while,
+
+ pic -T720 file | tbl | eqn -r720 | troff -mm -Tpost | dpost >file.ps
+
+should work if you're using old versions of eqn and pic.
+
diff --git a/troff/troff.d/dpost.d/afm.c b/troff/troff.d/dpost.d/afm.c
new file mode 100644
index 0000000000000..260691c4d7d8b
--- /dev/null
+++ b/troff/troff.d/dpost.d/afm.c
@@ -0,0 +1,32 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)afm.c 1.3 (gritter) 5/1/06
+ */
+
+#define DPOST
+#include "../afm.c"
+
+int NCHARS;
diff --git a/troff/troff.d/dpost.d/asciitype.c b/troff/troff.d/dpost.d/asciitype.c
new file mode 100644
index 0000000000000..f7f3221730d48
--- /dev/null
+++ b/troff/troff.d/dpost.d/asciitype.c
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2003 Gunnar Ritter
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute
+ * it freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ *
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ *
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+/* Sccsid @(#)asciitype.c 1.4 (gritter) 4/17/03 */
+
+#include "asciitype.h"
+
+const unsigned char class_char[] = {
+/* 000 nul 001 soh 002 stx 003 etx 004 eot 005 enq 006 ack 007 bel */
+ C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,
+/* 010 bs 011 ht 012 nl 013 vt 014 np 015 cr 016 so 017 si */
+ C_CNTRL,C_BLANK,C_WHITE,C_SPACE,C_SPACE,C_SPACE,C_CNTRL,C_CNTRL,
+/* 020 dle 021 dc1 022 dc2 023 dc3 024 dc4 025 nak 026 syn 027 etb */
+ C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,
+/* 030 can 031 em 032 sub 033 esc 034 fs 035 gs 036 rs 037 us */
+ C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,C_CNTRL,
+/* 040 sp 041 ! 042 " 043 # 044 $ 045 % 046 & 047 ' */
+ C_BLANK,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,
+/* 050 ( 051 ) 052 * 053 + 054 , 055 - 056 . 057 / */
+ C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,
+/* 060 0 061 1 062 2 063 3 064 4 065 5 066 6 067 7 */
+ C_OCTAL,C_OCTAL,C_OCTAL,C_OCTAL,C_OCTAL,C_OCTAL,C_OCTAL,C_OCTAL,
+/* 070 8 071 9 072 : 073 ; 074 < 075 = 076 > 077 ? */
+ C_DIGIT,C_DIGIT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,
+/* 100 @ 101 A 102 B 103 C 104 D 105 E 106 F 107 G */
+ C_PUNCT,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,
+/* 110 H 111 I 112 J 113 K 114 L 115 M 116 N 117 O */
+ C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,
+/* 120 P 121 Q 122 R 123 S 124 T 125 U 126 V 127 W */
+ C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,C_UPPER,
+/* 130 X 131 Y 132 Z 133 [ 134 \ 135 ] 136 ^ 137 _ */
+ C_UPPER,C_UPPER,C_UPPER,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,
+/* 140 ` 141 a 142 b 143 c 144 d 145 e 146 f 147 g */
+ C_PUNCT,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,
+/* 150 h 151 i 152 j 153 k 154 l 155 m 156 n 157 o */
+ C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,
+/* 160 p 161 q 162 r 163 s 164 t 165 u 166 v 167 w */
+ C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,C_LOWER,
+/* 170 x 171 y 172 z 173 { 174 | 175 } 176 ~ 177 del */
+ C_LOWER,C_LOWER,C_LOWER,C_PUNCT,C_PUNCT,C_PUNCT,C_PUNCT,C_CNTRL
+};
diff --git a/troff/troff.d/dpost.d/asciitype.h b/troff/troff.d/dpost.d/asciitype.h
new file mode 100644
index 0000000000000..5e0eef7f5c1eb
--- /dev/null
+++ b/troff/troff.d/dpost.d/asciitype.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2003 Gunnar Ritter
+ *
+ * This software is provided 'as-is', without any express or implied
+ * warranty. In no event will the authors be held liable for any damages
+ * arising from the use of this software.
+ *
+ * Permission is granted to anyone to use this software for any purpose,
+ * including commercial applications, and to alter it and redistribute
+ * it freely, subject to the following restrictions:
+ *
+ * 1. The origin of this software must not be misrepresented; you must not
+ * claim that you wrote the original software. If you use this software
+ * in a product, an acknowledgment in the product documentation would be
+ * appreciated but is not required.
+ *
+ * 2. Altered source versions must be plainly marked as such, and must not be
+ * misrepresented as being the original software.
+ *
+ * 3. This notice may not be removed or altered from any source distribution.
+ */
+/* Sccsid @(#)asciitype.h 1.6 (gritter) 9/9/05 */
+
+/*
+ * Locale-independent character classes.
+ */
+enum {
+ C_CNTRL = 0000,
+ C_BLANK = 0001,
+ C_WHITE = 0002,
+ C_SPACE = 0004,
+ C_PUNCT = 0010,
+ C_OCTAL = 0020,
+ C_DIGIT = 0040,
+ C_UPPER = 0100,
+ C_LOWER = 0200
+};
+
+extern const unsigned char class_char[];
+
+#define asciichar(c) ((unsigned)(c) <= 0177)
+#define alnumchar(c) (asciichar(c)&&(class_char[c]&\
+ (C_DIGIT|C_OCTAL|C_UPPER|C_LOWER)))
+#define alphachar(c) (asciichar(c)&&(class_char[c]&(C_UPPER|C_LOWER)))
+#define blankchar(c) (asciichar(c)&&(class_char[c]&(C_BLANK)))
+#define cntrlchar(c) (asciichar(c)&&(class_char[c]==C_CNTRL)
+#define digitchar(c) (asciichar(c)&&(class_char[c]&(C_DIGIT|C_OCTAL)))
+#define lowerchar(c) (asciichar(c)&&(class_char[c]&(C_LOWER)))
+#define punctchar(c) (asciichar(c)&&(class_char[c]&(C_PUNCT)))
+#define spacechar(c) (asciichar(c)&&(class_char[c]&(C_BLANK|C_SPACE|C_WHITE)))
+#define upperchar(c) (asciichar(c)&&(class_char[c]&(C_UPPER)))
+#define whitechar(c) (asciichar(c)&&(class_char[c]&(C_BLANK|C_WHITE)))
+#define octalchar(c) (asciichar(c)&&(class_char[c]&(C_OCTAL)))
+#define graphchar(c) (asciichar(c)&&(class_char[c]&\
+ (C_UPPER|C_LOWER|C_DIGIT|C_OCTAL|C_PUNCT)))
+#define printchar(c) ((c)==' ' || (asciichar(c)&&(class_char[c]&\
+ (C_UPPER|C_LOWER|C_DIGIT|C_OCTAL|C_PUNCT))))
+
+#define upperconv(c) (lowerchar(c) ? (c)-'a'+'A' : (c))
+#define lowerconv(c) (upperchar(c) ? (c)-'A'+'a' : (c))
diff --git a/troff/troff.d/dpost.d/color.c b/troff/troff.d/dpost.d/color.c
new file mode 100644
index 0000000000000..4568aec09177b
--- /dev/null
+++ b/troff/troff.d/dpost.d/color.c
@@ -0,0 +1,275 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "color.c 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)color.c 1.5 (gritter) 11/29/05
+ */
+
+/*
+ *
+ * Routines that handle color requests passed through as device control commands
+ * in the form "x X SetColor:red". The following PostScript procedures are needed:
+ *
+ * _setcolor
+ *
+ * mark /color _setcolor mark
+ * mark /color1 /color2 _setcolor mark
+ *
+ * Called whenever we want to change PostScript's current color graphics
+ * state parameter. One or two color arguments can be given. In each case
+ * the colors are looked up in the PostScript colordict dictionary that's
+ * defined in *colorfile. Two named colors implies reverse video printing
+ * with the background given in /color2 and the text printed in /color1.
+ * Unknown colors are mapped into defaults - black for a single color and
+ * white on black for reverse video.
+ *
+ * drawrvbox
+ *
+ * leftx rightx drawrvbox -
+ *
+ * Fills a box that extends from leftx to rightx with the background color
+ * that was requested when _setcolor set things up for reverse video mode.
+ * The vertical extent of the box is determined using FontBBox just before
+ * the first string is printed, and the height remains in effect until
+ * there's an explicit color change. In otherwords font or size changes
+ * won't always produce correct result in reverse video mode.
+ *
+ * setdecoding
+ *
+ * num setdecoding -
+ *
+ * Selects the text decoding procedure (ie. what's assigned to PostScript
+ * procedure t) from the decodingdefs array defined in the prologue. num
+ * should be the value assigned to variable encoding (in dpost) and will
+ * remain constant throughout a job, unless special features, like reverse
+ * video printing, are requested. The text encoding scheme can be set on
+ * the command line using the -e option. Print time and the size of the
+ * output file will usually decrease as the value assigned to encoding
+ * increases.
+ *
+ *
+ * The recognized collection of "x X SetColor:" commands are:
+ *
+ * x X SetColor: selects black
+ * x X SetColor:color selects color
+ * x X SetColor:color1 on color2 reverse video
+ * x X SetColor:color1 color2 reverse video again
+ * x X SetColor:num1 num2 num3 rgb explicit rgb color request
+ * x X SetColor:num1 num2 num3 hsb explicit hsb color request
+ * x X SetColor:num1 num2 num3 num4 cmyk explicit cmyk color request
+ * x X SetColor:arbitrary PostScript commands
+ *
+ * In the last examples num1, num2, num3, and num4 should be numbers between 0 and
+ * 1 inclusive and are passed on as aguments to the approrpriate PostScript color
+ * command (eg. setrgbcolor). Unknown color names (ie. the ones that _setcolor
+ * doesn't find in colordict) are mapped into defaults. For one color the default
+ * is black, while for reverse video it's white text on a black background.
+ *
+ * dpost makes sure the current color is maintained across page boundaries, which
+ * may not be what you want if you're using a macro package like mm that puts out
+ * page footers and headers. Adding a color request to troff and keeping track of
+ * the color in each environment may be the best solution.
+ *
+ * To get reverse video printing follow the "x X SetColor:" command with two or
+ * three arguments. "x X SetColor:white on black" or "x X SetColor:white black"
+ * both produce white text on a black background. Any two colors named in colordict
+ * (in file *colorfile) can be chosen so "x X SetColor:yellow on blue" also works.
+ * Each reverse video mode request selects the vertical extent of the background
+ * box based on the font and size in use just before the first string is printed.
+ * Font and/or size changes aren't guaranteed to work properly in reverse video
+ * printing.
+ *
+ */
+
+
+#include <stdio.h>
+#include <ctype.h>
+#include <unistd.h>
+#include <string.h>
+
+#include "gen.h" /* general purpose definitions */
+#include "ext.h" /* external variable definitions */
+#include "global.h" /* global heirloom doctools definitions */
+
+#define DEFAULTCOLOR "black"
+
+static char color[500] = DEFAULTCOLOR; /* current color */
+static int gotcolor = FALSE; /* TRUE after *colorfile is downloaded */
+static int wantcolor = FALSE; /* TRUE if we really ask for a color */
+
+
+/*
+ *
+ * All these should be defined in dpost.c.
+ *
+ */
+
+
+extern int lastend;
+extern int encoding;
+extern int maxencoding;
+extern int realencoding;
+
+extern char *colorfile;
+extern FILE *tf;
+
+
+/*****************************************************************************/
+
+
+void
+getcolor(void)
+
+
+{
+
+
+/*
+ *
+ * Responsible for making sure the PostScript color procedures are downloaded from
+ * *colorfile. Done at most once per job, and only if the job really uses color.
+ * For now I've decided not to quit if we can't read the color file.
+ *
+ */
+
+
+ if ( gotcolor == FALSE && access(colorfile, 04) == 0 )
+ doglobal(colorfile);
+
+ if ( tf == stdout )
+ gotcolor = TRUE;
+
+} /* End of getcolor */
+
+
+/*****************************************************************************/
+
+
+void
+newcolor (
+ char *name /* of the color */
+)
+
+
+{
+
+
+ char *p; /* next character in *name */
+ int i; /* goes in color[i] */
+
+
+/*
+ *
+ * Converts *name to lower case and saves the result in color[] for use as the
+ * current color. The first time something other than DEFAULTCOLOR is requested
+ * sets wantcolor to TRUE. Characters are converted to lower case as they're put
+ * in color[] and we quit when we find a newline or get to the end of *name. The
+ * isupper() test is for Berkley systems.
+ *
+ */
+
+
+ for ( p = name; *p && (*p == ' ' || *p == ':'); p++ ) ;
+
+ for ( i = 0; i < sizeof(color) - 1 && *p != '\n' && *p; i++, p++ )
+ if ( isupper((int)*p) )
+ color[i] = tolower((int)*p);
+ else color[i] = *p;
+
+ if ( i == 0 )
+ n_strcpy(color, DEFAULTCOLOR, sizeof(color));
+ else color[i] = '\0';
+
+ if ( strcmp(color, DEFAULTCOLOR) != 0 )
+ wantcolor = TRUE;
+
+} /* End of newcolor */
+
+
+/*****************************************************************************/
+
+
+void
+setcolor(void)
+
+
+{
+
+
+ int newencoding; /* text encoding scheme that's needed */
+ char *p; /* for converting what's in color[] */
+
+
+/*
+ *
+ * Sets the color being used by the printer to whatever's stored as the current
+ * color (ie. the string in color[]). wantcolor is only set to TRUE if we've been
+ * through newcolor() and asked for something other than DEFAULTCOLOR (probably
+ * black). While in reverse video mode encoding gets set to maxencoding + 1 in
+ * dpost and 0 on the printer. Didn't see much point in trying to extend reverse
+ * video to all the different encoding schemes. realencoding is restored when we
+ * leave reverse video mode.
+ *
+ */
+
+
+ if ( wantcolor == TRUE ) {
+ endtext();
+ getcolor();
+
+ lastend = -1;
+ newencoding = realencoding;
+
+ if ( islower((int)color[0]) == 0 ) /* explicit rgb, hsb, or cmyk request */
+ fprintf(tf, "%s\n", color);
+ else {
+ putc('/', tf);
+ for ( p = color; *p && *p != ' '; p++ )
+ putc(*p, tf);
+ for ( ; *p && *p == ' '; p++ ) ;
+ if ( strncmp(p, "on ", 3) == 0 ) p += 3;
+ if ( *p != '\0' ) {
+ fprintf(tf, " /%s", p);
+ newencoding = maxencoding + 1;
+ } /* End if */
+ fprintf(tf, " _setcolor\n");
+ } /* End else */
+
+ if ( newencoding != encoding ) {
+ encoding = newencoding;
+ fprintf(tf, "%d setdecoding\n", encoding);
+ resetpos();
+ } /* End if */
+ } /* End if */
+
+} /* End of setcolor */
+
+
+/*****************************************************************************/
+
diff --git a/troff/troff.d/dpost.d/comments.h b/troff/troff.d/dpost.d/comments.h
new file mode 100644
index 0000000000000..85482a030ce89
--- /dev/null
+++ b/troff/troff.d/dpost.d/comments.h
@@ -0,0 +1,161 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "comments.h 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)comments.h 1.5 (gritter) 8/23/05
+ */
+
+/*
+ *
+ * Currently defined file structuring comments from Adobe - plus a few others.
+ * Ones that end with a colon expect arguments, while those ending with a newline
+ * stand on their own. Truly overkill on Adobe's part and mine for including them
+ * all!
+ *
+ * All PostScript files should begin with a header that starts with one of the
+ * following comments.
+ *
+ */
+
+#define NONCONFORMING "%!PS\n"
+#define MINCONFORMING "%!PS-Adobe-\n"
+#define OLDCONFORMING "%!PS-Adobe-1.0\n"
+
+#define CONFORMING "%!PS-Adobe-3.0\n"
+#define CONFORMINGEPS "%!PS-Adobe-3.0 EPS\n"
+#define CONFORMINGQUERY "%!PS-Adobe-3.0 Query\n"
+#define CONFORMINGEXITSERVER "%!PS-Adobe-3.0 ExitServer\n"
+
+/*
+ *
+ * Header comments - immediately follow the appropriate document classification
+ * comment.
+ *
+ */
+
+#define TITLE "%%Title:"
+#define CREATOR "%%Creator:"
+#define CREATIONDATE "%%CreationDate:"
+#define FOR "%%For:"
+#define ROUTING "%%Routing:"
+#define BOUNDINGBOX "%%BoundingBox:"
+#define PAGES "%%Pages:"
+#define REQUIREMENTS "%%Requirements:"
+
+#define DOCUMENTFONTS "%%DocumentFonts:"
+#define DOCUMENTNEEDEDFONTS "%%DocumentNeededFonts:"
+#define DOCUMENTSUPPLIEDFONTS "%%DocumentSuppliedFonts:"
+#define DOCUMENTNEEDEDPROCSETS "%%DocumentNeededProcSets:"
+#define DOCUMENTSUPPLIEDPROCSETS "%%DocumentSuppliedProcSets:"
+#define DOCUMENTNEEDEDFILES "%%DocumentNeededFiles:"
+#define DOCUMENTSUPPLIEDFILES "%%DocumentSuppliedFiles:"
+#define DOCUMENTPAPERSIZES "%%DocumentPaperSizes:"
+#define DOCUMENTPAPERFORMS "%%DocumentPaperForms:"
+#define DOCUMENTPAPERCOLORS "%%DocumentPaperColors:"
+#define DOCUMENTPAPERWEIGHTS "%%DocumentPaperWeights:"
+#define DOCUMENTPRINTERREQUIRED "%%DocumentPrinterREquired:"
+#define ENDCOMMENTS "%%EndComments\n"
+#define ENDPROLOG "%%EndProlog\n"
+
+/*
+ *
+ * Body comments - can appear anywhere in a document.
+ *
+ */
+
+#define BEGINSETUP "%%BeginSetup\n"
+#define ENDSETUP "%%EndSetup\n"
+#define BEGINDOCUMENT "%%BeginDocument:"
+#define ENDDOCUMENT "%%EndDocument\n"
+#define BEGINFILE "%%BeginFile:"
+#define ENDFILE "%%EndFile\n"
+#define BEGINPROCSET "%%BeginProcSet:"
+#define ENDPROCSET "%%EndProcSet\n"
+#define BEGINBINARY "%%BeginBinary:"
+#define ENDBINARY "%%EndBinary\n"
+#define BEGINPAPERSIZE "%%BeginePaperSize:"
+#define ENDPAPERSIZE "%%EndPaperSize\n"
+#define BEGINFEATURE "%%BeginFeature:"
+#define ENDFEATURE "%%EndFeature\n"
+#define BEGINEXITSERVER "%%BeginExitServer:"
+#define ENDEXITSERVER "%%EndExitServer\n"
+#define TRAILER "%%Trailer\n"
+
+/*
+ *
+ * Page level comments - usually will occur once per page.
+ *
+ */
+
+#define PAGE "%%Page:"
+#define PAGEFONTS "%%PageFonts:"
+#define PAGEFILES "%%PageFiles:"
+#define PAGEBOUNDINGBOX "%%PageBoundingBox:"
+#define BEGINPAGESETUP "%%BeginPageSetup\n"
+#define BEGINOBJECT "%%BeginObject:"
+#define ENDOBJECT "%%EndObject\n"
+
+/*
+ *
+ * Resource requirements - again can appear anywhere in a document.
+ *
+ */
+
+#define INCLUDEFONT "%%IncludeFont:"
+#define INCLUDEPROCSET "%%IncludeProcSet:"
+#define INCLUDEFILE "%%IncludeFile:"
+#define EXECUTEFILE "%%ExecuteFile:"
+#define CHANGEFONT "%%ChangeFont:"
+#define PAPERFORM "%%PaparForm:"
+#define PAPERCOLOR "%%PaperColor:"
+#define PAPERWEIGHT "%%PaperWeight:"
+#define PAPERSIZE "%%PaperSize:"
+#define FEATURE "%%Feature:"
+#define ENDOFFILE "%%EOF\n"
+
+#define CONTINUECOMMENT "%%+"
+#define ATEND "(atend)"
+
+/*
+ *
+ * Some non-standard document comments. Global definitions are occasionally used
+ * in dpost and are marked by BEGINGLOBAL and ENDGLOBAL. The resulting document
+ * violates page independence, but can easily be converted to a conforming file
+ * using a utililty program.
+ *
+ */
+
+#define BEGINSCRIPT "%%BeginScript\n"
+#define BEGINGLOBAL "%%BeginGlobal\n"
+#define ENDGLOBAL "%%EndGlobal\n"
+#define ENDPAGE "%%EndPage:"
+#define FORMSPERPAGE "%%FormsPerPage:"
+#define CREATOR "%%Creator:"
+#define CREATIONDATE "%%CreationDate:"
+
diff --git a/troff/troff.d/dpost.d/dpost.1 b/troff/troff.d/dpost.d/dpost.1
new file mode 100644
index 0000000000000..7a935f823d035
--- /dev/null
+++ b/troff/troff.d/dpost.d/dpost.1
@@ -0,0 +1,258 @@
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License (the "License").
+.\" You may not use this file except in compliance with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\" Copyright 1989 AT&T Copyright (c) 1996 Sun Microsystems, Inc. All Rights Reserved.
+.\"
+.\" Portions Copyright (c) 2007 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)dpost.1 1.11 (gritter) 2/7/07
+.\"
+.\" from OpenSolaris dpost 1 "9 Sep 1996" "SunOS 5.11" "User Commands"
+.TH DPOST 1 "2/7/07" "Heirloom Documentation Tools" "User Commands"
+.SH NAME
+dpost \- troff postprocessor for PostScript printers
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBdpost\fR
+[\fB\-c\fR\ \fInum\fR]
+[\fB\-e\fR\ \fInum\fR]
+[\fB\-m\fR\ \fInum\fR]
+[\fB\-n\fR\ \fInum\fR]
+[\fB\-o\fR\ \fIlist\fR]
+[\fB\-p\fR\ \fImode\fR]
+[\fB\-w\fR\ \fInum\fR]
+[\fB\-x\fR\ \fInum\fR]
+[\fB\-y\fR\ \fInum\fR]
+[\fB\-F\fR\ \fIdir\fR]
+[\fB\-H\fR\ \fIdir\fR]
+[\fB\-L\fR\ \fIfile\fR]
+[\fB\-M\fR\ \fImarks\fR]
+[\fB\-O\fR]
+[\fB\-T\fR \fIname\fR]
+[\fIfile\fR] .\|.\|.
+.br
+.ad b
+.hy 1
+.SH DESCRIPTION
+\fIdpost\fR translates \fIfiles\fR created by
+\fItroff\fR(1)
+into PostScript and writes the results on the standard output.
+If no
+\fIfiles\fR are specified, or if \- is one of the input \fIfiles\fR,
+the standard input
+is read.
+The following options are accepted:
+.TP 15
+\fB\-c\fR\fI num\fR
+Print \fInum\fR copies of each page.
+By default
+only one copy is printed.
+.TP
+\fB\-e\fR\fI num\fR
+Sets the text encoding level to \fInum\fR.
+The recognized choices are
+digits between 0 and 5.
+\fB0\fR uses the PostScript \fBashow\fR operator, and produces
+output essentially identical to previous versions of \fIdpost\fR.
+\fB1\fR also uses \fBashow\fR but integrates motion commands
+with text commands.
+\fB2\fR uses the PostScript \fBawidthshow\fR operator,
+computing space widths in PostScript.
+\fB3\fR also uses \fBawidthshow\fR
+but computes space widths in \fIdpost\fR.
+\fB4\fR uses \fBashow\fR, storing position as differences.
+\fB5\fR emits the same commands as 4
+but in a binary PostScript Level 2 representation.
+The default is 3 with the \fBps\fR device.
+.TP
+\fB\-m\fR\fI num\fR
+Magnify each logical page by the factor \fInum\fR.
+Pages are scaled
+uniformly about the origin,
+which is located near the upper left corner of each page.
+The default
+magnification is \fB1.0\fR.
+.TP
+\fB\-n\fR\fI num\fR
+Print \fInum\fR logical pages on each piece of paper, where \fInum\fR
+can be any positive integer.
+By default, \fInum\fR is set to \fB1\fR.
+.TP
+\fB\-o\fR\fI list\fR
+Print those pages for which numbers are given in the comma-separated
+\fIlist\fR.
+The list
+contains single numbers \fIN\fR and ranges \fIN1\fR\fB\(mi\fR\fIN2.\fR
+A missing \fIN1\fR means the lowest
+numbered page, a missing \fIN2\fR means the highest.
+The page range is
+an expression of logical pages rather than physical sheets of paper.
+For example, if you are printing two logical
+pages to a sheet, and you specified a range of \fB4\fR, then two sheets
+of paper would print, containing four page layouts.
+If you specified a
+page range of \fB3-4\fR, when requesting
+two logical pages to a sheet; then \fIonly\fR page 3 and page 4 layouts
+would print, and they would appear on one physical sheet of paper.
+.TP
+\fB\-p\fR\fI mode\fR
+Print \fIfiles\fR in either \fBportrait\fR or \fBlandscape\fR \fImode\fR.
+Only
+the first character of \fImode\fR is significant.
+The default
+\fImode\fR is portrait.
+.TP
+\fB\-w\fR\fI num\fR
+Set the line width used to implement \fItroff\fR graphics commands to
+\fInum\fR
+points, where a point is approximately 1/72 of an inch.
+By default,
+\fInum\fR is set to \fB0.3\fR points.
+.TP
+\fB\-x\fR\fI num\fR
+Translate the origin \fInum\fR inches along the positive x axis.
+The
+default coordinate system
+has the origin fixed near the upper left corner of the page, with
+positive x to the right and positive y down the page.
+Positive
+\fInum\fR moves everything right.
+The default offset
+is \fB0\fR inches.
+.TP
+\fB\-y\fR\fI num\fR
+Translate the origin \fInum\fR inches along the positive y axis.
+Positive \fInum\fR moves text up the page.
+The default offset is
+\fB0\fR.
+.TP
+\fB\-F\fR\fI dir\fR
+Use \fIdir\fR as the font directory.
+The default \fIdir\fR is
+\fB/usr/ucblib/doctools/font\fR, and \fIdpost\fR reads binary font files from
+directory \fB/usr/ucblib/doctools/font/devps\fR.
+.TP
+\fB\-H\fR\fI dir\fR
+Use \fIdir\fR as the host resident font directory.
+Files in this
+directory should be complete
+PostScript font descriptions, and must be assigned a name that
+corresponds to the appropriate two-character \fItroff\fR font name.
+Each font file is copied to the output file only when needed
+and at most once during each job.
+There is no default directory.
+.TP
+\fB\-L\fR\fI file\fR
+Use \fIfile\fR as the PostScript prologue which, by default, is
+\fB/usr/lib/lp/postscript/dpost.ps\fR.
+.TP
+\fB\-M \fImarks\fR
+Print marks (in combination with the \fB\%trimat\fR \fItroff\fR request).
+Valid types of \fImarks\fR are:
+\fB\%cutmarks\fR,
+\fB\%registrationmarks\fR,
+\fB\%startargets\fR,
+\fB\%colorbars\fR,
+and
+\fB\%all\fR.
+Mark names can be abbreviated and combined by colons,
+e.g. \fB\-Mcut:reg\fR will print cut marks and registration marks.
+.TP
+\fB\-O\fR
+Disables PostScript picture inclusion.
+A recommended option when
+\fIdpost\fR is run by a spooler in a networked environment.
+.TP
+\fB\-T\fR\fI name\fR
+Use font files for device \fIname\fR as the best description of
+available PostScript fonts.
+By default, \fIname\fR is set to \fBps\fR and \fIdpost\fR reads
+files from \fB/usr/ucblib/doctools/font/devps\fR.
+.PP
+The \fIfiles\fR should be prepared by \fItroff\fR.
+The default font
+files in \fB/usr/ucblib/doctools/font/devps\fR produce the best output.
+They assume a resolution of 72000 dpi, and can be used to format files by
+adding the \fB\-Tps\fR option to the \fItroff\fR call.
+.PP
+\fIdpost\fR makes no assumptions about resolutions.
+The first
+\fBx\ res\fR command sets the resolution used to translate the input
+\fIfiles\fR, the \fBDESC\fR file, usually
+\fB/usr/ucblib/doctools/font/devps/DESC\fR,
+defines the resolution used in
+the binary font files, and the PostScript prologue is responsible for
+setting up an appropriate
+user coordinate system.
+.SH EXAMPLES
+.HP
+\fBpic \fR\fBfile\fR\fB | tbl | eqn | troff \fR\fB\-mm\fR\fB
+\fR\fB\-Tps\fR\fB | dpost\fR
+.SH FILES
+/usr/ucblib/doctools/font/devps/*
+.br
+/usr/ucblib/doctools/font/devpost/charlib/*
+.br
+/usr/ucblib/doctools/font/devpost/postscript/dpost.ps
+.br
+/usr/ucblib/doctools/font/devpost/postscript/color.ps
+.br
+/usr/ucblib/doctools/font/devpost/postscript/cutmarks.ps
+.br
+/usr/ucblib/doctools/font/devpost/postscript/draw.ps
+.br
+/usr/ucblib/doctools/font/devpost/postscript/forms.ps
+.br
+/usr/ucblib/doctools/font/devpost/postscript/ps.requests
+.br
+/usr/ucblib/doctools/tmac/pictures
+.br
+/usr/ucblib/doctools/tmac/color
+.SH SEE ALSO
+troff(1)
+.SH DIAGNOSTICS
+The following exit values are returned:
+.TP 10
+\fB\fB0\fR\fR
+Successful completion.
+.TP
+\fBnon-zero\fR
+An error occurred.
+.SH NOTES
+Although \fIdpost\fR can handle files formatted for any device,
+emulation is expensive and can easily double the print time and the
+size of the output file.
+No attempt has been made to
+implement the character sets or fonts available on all devices
+supported by \fItroff\fR.
+Missing characters will be replaced by white
+space, and unrecognized fonts will usually default to one
+of the Times fonts (that is, \fBR\fR, \fBI\fR, \fBB\fR, or \fBBI\fR).
+.PP
+An \fBx res\fR command must precede the first \fBx init\fR command,
+and all the input \fIfiles\fR should have been prepared for the same
+output device.
+.PP
+Use of the \fB\-T\fR option is not encouraged.
+Its only purpose is to
+enable the use of other PostScript font and device description files,
+that perhaps use different resolutions, character
+sets, or fonts.
diff --git a/troff/troff.d/dpost.d/dpost.c b/troff/troff.d/dpost.d/dpost.c
new file mode 100644
index 0000000000000..f27d33cbd4f88
--- /dev/null
+++ b/troff/troff.d/dpost.d/dpost.c
@@ -0,0 +1,4836 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1994 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "dpost.c 1.11 05/06/08 SMI" SVr4.0 1.2 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)dpost.c 1.176 (gritter) 8/19/08
+ */
+
+/*
+ *
+ * dpost - troff post-processor for PostScript printers.
+ *
+ * A program that translates output generated by the device independent troff
+ * into PostScript. Much was borrowed from dimpress and dps (formally dlzw),
+ * and even though the code has been changed, credit has to be given to Richard
+ * Flood for his early work on the PostScript driver.
+ *
+ * Among the most interesting new features are color support (see devcntrl() and
+ * file color.c) and code to handle complex paths pieced together using any of the
+ * standard drawing commands (see devcntrl() and file draw.c). Reverse video mode
+ * has also been included as a special case of the color support. Two encoding
+ * schemes based on widthshow are also new additions. The safe one is obtained when
+ * you set encoding to 2 (eg. using the -e2 option). The slightly faster method
+ * is obtained by setting encoding to 3 (eg. using the -e3 option), although it's
+ * not recommended. Rounding errors in character widths can accumulate and become
+ * quite noticeable by the time you get to the right margin. More often than not
+ * you end up getting a ragged right margin.
+ *
+ * The program handles files formatted for any device, although the best and
+ * most efficient output is generated when the font and description files match
+ * PostScript's resident fonts. Device emulation is relatively expensive, and
+ * can produce output files that are more than twice the size of the input files.
+ * In most cases output files will be smaller than input files, perhaps by up to
+ * 40 percent, although the results you get depend on what you're doing and the
+ * text encoding you're using. You'll get the worst results if you're emulating
+ * another device, using special bitmap characters, like the logo, or doing lots
+ * of vertical motion or drawing.
+ *
+ * PostScript fonts don't support all of troff's characters, so some have to
+ * be built by special PostScript procedures. Those routines can be found in
+ * *fontdir/devpost/charlib, and are only used when we try to print a character
+ * that has been assigned a code less than 32. Definitions are only made the
+ * first time each character is used. Subsequent requests to print the character
+ * only generate a call to the PostScript procedure that's been copied to the
+ * output file. For example you'll find a file called sq in directory
+ * *fontdir/devpost/charlib. It defines a PostScript procedure called build_sq
+ * that's called whenever we need to print a square. Special characters that
+ * have been assigned a code of 2 are expected to come in two pieces. The
+ * definition part and bitmap part (or whatever). The definition is only made
+ * once, but the contents of the character's .map file are copied to the output
+ * file each time, immediately after charlib() generates the call to the
+ * PostScript procedure (build_?? ) that builds the character. That's typically
+ * how logos built from bitmaps would be handled.
+ *
+ * Several different methods can be used to encode lines of text. What's done
+ * depends on the value assigned to encoding. Print time should decrease as
+ * encoding increases (up to MAXENCODING). Setting encoding to 0, which should
+ * probably be the default, produces output essentially identical to the original
+ * version of dpost. It's the slowest but most stable method of encoding lines of
+ * text, and won't be bothered by rounding errors in the font width tables that
+ * could become noticeable by the time you get to the end of a line. Other schemes
+ * seem to work, but aren't well tested and are not guaranteed for all possible
+ * jobs. encoding can be changed on the command line using the -e option. Part of
+ * the support for different encoding schemes was to move control of all text
+ * related output to separate routines. It makes dpost work harder, but changing
+ * things is easy. For example adding stuff to support widthshow took less than
+ * an hour.
+ *
+ * I've also added code that handles the DOCUMENTFONTS comment, although it's
+ * only produced for those fonts in directory /usr/lib/font/devpost that have an
+ * associated .name file. The first string in a .name file should be the (long)
+ * PostScript name (eg. Times-Roman in R.name). For now everything else in the
+ * .name file is ignored, although that may also change. You'll find .name files
+ * for all the supported fonts in the devpost source directory, although they may
+ * not be installed in /usr/lib/font/devpost.
+ *
+ * The PostScript prologue is copied from *prologue before any of the input files
+ * are translated. The program expects the following procedures are avaliable:
+ *
+ * setup
+ *
+ * mark ... setup -
+ *
+ * Handles special initialization stuff that depends on how the program
+ * was called. Expects to find a mark followed by key/value pairs on the
+ * stack. The def operator is applied to each pair up to the mark, then
+ * the default state is set up. An 'x res' command must preceed the
+ * 'x init' command!
+ *
+ * pagesetup
+ *
+ * page pagesetup -
+ *
+ * Called at the start of each page, immediately after the page level
+ * save, to do special initialization on a per page basis. Right now the
+ * only argument is the current page number, and actually nothing of any
+ * importance is currently done.
+ *
+ * setdecoding
+ *
+ * num setdecoding -
+ *
+ * Selects the text decoding procedure (ie. what's assigned to PostScript
+ * procedure t) from the decodingdefs array defined in the prologue. num
+ * should be the value assigned to variable encoding (in dpost) and will
+ * remain constant throughout a job, unless special features, like reverse
+ * video printing, are requested. The text encoding scheme can be set on
+ * the command line using the -e option. Print time and the size of the
+ * output file will usually decrease as the value assigned to encoding
+ * increases.
+ *
+ * f
+ *
+ * size font f -
+ *
+ * Selects the size and font to be used for character imaging. Font names
+ * are defined, in *prologue, so they agree with the one or two character
+ * names used by troff.
+ *
+ * m
+ *
+ * x y m -
+ *
+ * Moves to point (x, y). Normally only used when the vertical position
+ * changes. Horizontal positioning between words (or letters) is handled
+ * in procedure t (below).
+ *
+ * t
+ *
+ * mark text t mark
+ *
+ * Processes everything on the stack, up to the mark, as a single line
+ * of text to be printed at a fixed vertical position. What's put out as
+ * text depends on the encoding scheme. Setting encoding to 0 produces
+ * output essentially identical to the original version of dpost. In that
+ * case everything on the stack, up to a mark, is interpreted (from top
+ * down) as an absolute horizontal position and a string to be printed at
+ * that point. For example the stack might look like,
+ *
+ * mark(this)1000(is)1100(an)1200(example)1300 t
+ *
+ * Procedure t would go through the stack, up to the mark, adjusting the
+ * horizontal position before printing each string. In other encoding
+ * schemes, like the one based on widthshow, strings containing several
+ * space separated words would appear on the stack, and each one would be
+ * preceeded by a number that's expected to be added to the width of a
+ * space. For example we might have,
+ *
+ * mark(an example)30(this is)40 2 1000 2000 t
+ *
+ * where (1000, 2000) is where the first string starts and 2 is the repeat
+ * count (ie. number of string and space pairs on the stack).
+ *
+ * w
+ *
+ * string x y w -
+ *
+ * Prints a single word starting at position (x, y). Only used in the more
+ * complicated encoding schemes (eg. the ones based on widthshow).
+ *
+ * done
+ *
+ * Makes sure the last page is printed. Only needed when we're printing
+ * more than one page on each sheet of paper.
+ *
+ * The PostScript procedures that support troff's drawing commands have been moved
+ * out of *prologue and put in a separate file (ie. DRAW as defined in path.h).
+ * The procedures are used by the routines in file draw.c, and are copied to the
+ * prologue.
+ *
+ * Many default values, like the magnification and orientation, are defined in
+ * the prologue, which is where they belong. If they're changed (by options), an
+ * appropriate definition is made after the prologue is added to the output file.
+ * The -P option passes arbitrary PostScript through to the output file. Among
+ * other things it can be used to set (or change) values that can't be accessed by
+ * other options.
+ *
+ *
+ * output language from troff:
+ * all numbers are character strings
+ *
+ * sn size in points
+ * fn font as number from 1-n
+ * cx ascii character x
+ * Cxyz funny char xyz. terminated by white space
+ * Hn go to absolute horizontal position n
+ * Vn go to absolute vertical position n (down is positive)
+ * hn go n units horizontally (relative)
+ * vn ditto vertically
+ * nnc move right nn, then print c (exactly 2 digits!)
+ * (this wart is an optimization that shrinks output file size
+ * about 35% and run-time about 15% while preserving ascii-ness)
+ * Dt ...\n draw operation 't':
+ * Dl x y line from here by x,y
+ * Dc d circle of diameter d with left side here
+ * De x y ellipse of axes x,y with left side here
+ * Da x1 y1 x2 y2 arc counter-clockwise from current point (x, y) to
+ * (x + x1 + x2, y + y1 + y2)
+ * D~ x y x y ... wiggly line by x,y then x,y ...
+ * nb a end of line (information only -- no action needed)
+ * b = space before line, a = after
+ * p new page begins -- set v to 0
+ * #...\n comment
+ * x ...\n device control functions:
+ * x i init
+ * x T s name of device is s
+ * x r n h v resolution is n/inch
+ * h = min horizontal motion, v = min vert
+ * x p pause (can restart)
+ * x s stop -- done forever
+ * x t generate trailer
+ * x f n s font position n contains font s
+ * x H n set character height to n
+ * x S n set slant to N
+ *
+ * Subcommands like "i" are often spelled out like "init".
+ *
+ *
+ *
+ * To get dpost output conforming to Adobe's structuring conventions (DSC),
+ * all output is accumulated in temporary files first. When the document is
+ * completed, files that contain global data are output first, followed by
+ * regular commands, all surrounded by DSC comments. Speed problems, which
+ * were the reason why this was not done by previous versions of dpost, are
+ * no longer of concern in 2005 since several hundred pages of text are
+ * processed now in less than a second.
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <math.h>
+#include <ctype.h>
+#include <time.h>
+#include <limits.h>
+#include <locale.h>
+#include <stdarg.h>
+
+#include "comments.h" /* PostScript file structuring comments */
+#include "gen.h" /* general purpose definitions */
+#include "path.h" /* for the prologue and a few other files */
+#include "ext.h" /* external variable definitions */
+#include "dev.h" /* typesetter and font descriptions */
+#include "dpost.h" /* a few definitions just used here */
+#include "asciitype.h"
+#include "afm.h"
+#include "fontmap.h"
+
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+#if defined (__GLIBC__) && defined (_IO_putc_unlocked)
+#undef putc
+#define putc(c, f) _IO_putc_unlocked(c, f)
+#endif
+
+
+char *progname;
+char *prologue = DPOST; /* the basic PostScript prologue */
+char *colorfile = COLOR; /* things needed for color support */
+char *drawfile = DRAW; /* and drawing */
+char *cutmarksfile = CUTMARKS;
+char *formfile = FORMFILE; /* stuff for multiple pages per sheet */
+char *baselinefile = BASELINE;
+
+char *fontdir = FONTDIR; /* binary device directories found here */
+char *hostfontdir = NULL; /* host resident font directory */
+
+int formsperpage = 1; /* page images on each piece of paper */
+int copies = 1; /* and this many copies of each sheet */
+int picflag = ON; /* enable/disable picture inclusion */
+
+
+/*
+ *
+ * encoding selects the encoding scheme used to output lines of text. Change it
+ * to something other than 0 at your own risk. The other methods seem to work but
+ * aren't well tested and are not guaranteed. Some special features, like reverse
+ * video, may temporarily change the encoding scheme and reset it to realencoding
+ * when done.
+ *
+ * Encoding 4 is new as of 9/8/05. It stores only the distances between words and
+ * thus saves a bit of output size. It is automatically enabled at high resolutions.
+ *
+ */
+
+
+int encoding = DFLTENCODING;
+int realencoding = DFLTENCODING;
+int maxencoding = MAXENCODING;
+int eflag;
+
+int LanguageLevel; /* PostScript output language level */
+static int Binary; /* PostScript output contains binary data */
+
+/*
+ *
+ * seenfonts[] keeps track of the fonts we've used, based on internal numbers. It
+ * helps manage host resident fonts and the DOCUMENTFONTS comment, but only works
+ * if all fonts have internal numbers less than MAXINTERNAL. *docfonts counts the
+ * number of font names we've recorded in *temp_file. If it's positive routine
+ * done() adds *temp_file to the output file before quitting.
+ *
+ */
+
+
+char seenfonts[MAXINTERNAL+1];
+int docfonts = 0;
+struct afmtab **afmfonts;
+int afmcount = 0;
+
+/*
+ *
+ * devname[] is the device troff used when the job was formatted, while *realdev
+ * is combined with *fontdir and used to locate the font and device tables that
+ * that control the translation of the input files into PostScript. *realdev can
+ * be changed using the -T option, but if you do you may end up getting garbage.
+ * The character code field must agree with PostScript's font encoding and font
+ * names must be properly mapped into PostScript font names in the prologue.
+ *
+ */
+
+
+#define devname troff_devname
+char devname[20] = ""; /* job is formatted for this printer */
+char *realdev = DEVNAME; /* a good description of target printer */
+
+
+/*
+ *
+ * Standard things that come from binary font and description files for *realdev.
+ * Most are initialized in fontinit() or loadfont().
+ *
+ */
+
+
+struct dev dev; /* DESC starts this way */
+struct Font **fontbase; /* FONT files begin this way */
+int *pstab; /* list of available sizes */
+int nsizes = 1; /* and the number of sizes in that list */
+int smnt; /* index of first special font */
+int nchtab; /* number of special character names */
+int fsize; /* max size of a font files in bytes */
+int unitwidth; /* set to dev.unitwidth */
+char *chname; /* special character strings */
+short *chtab; /* used to locate character names */
+unsigned short **fitab; /* locates char info on each font */
+int **fontab; /* character width data for each font */
+unsigned short **codetab; /* and codes to get characters printed */
+char **kerntab; /* for makefont() */
+
+
+/*
+ *
+ * Special characters missing from standard PostScript fonts are defined by files
+ * in directory *fontdir/devpost/charlib. Files have the same names as the troff
+ * special character names (for now at least) and each one defines a PostScript
+ * procedure that begins with the prefix build_ and ends with the character's
+ * name.
+ *
+ * For example, the routine used to build character \(12, would be build_12.
+ * downloaded[] points to an array, allocated in fontinit(), that keeps track of
+ * the characters that have already been defined - so we only do it once.
+ *
+ */
+
+
+char *downloaded; /* nonzero means it's been downloaded */
+
+
+/*
+ *
+ * Variables that keep track of troff's requests. All are set from values in the
+ * input files. nfonts is adjusted in t_fp() as new fonts are mounted.
+ *
+ */
+
+
+int nfonts = 0; /* number of font positions */
+int size = 1; /* current size - internal value */
+#define FRACTSIZE -23 /* if size == FRACTSIZE then ... */
+float fractsize = 0; /* fractional point size */
+int font = 0; /* font position we're using now */
+int subfont = 0; /* extra encoding vector */
+int hpos = 0; /* where troff wants to be - horizontally */
+int vpos = 0; /* same but vertically */
+float lastw = 0; /* width of the last input character */
+int track = 0; /* tracking hint from troff */
+int lasttrack = 0; /* previous tracking hint */
+int tracked; /* records need to flush track */
+int lastc = 0; /* and its name (or index) */
+
+int res; /* resolution assumed in input file */
+float widthfac = 1.0; /* for emulation = res/dev.res */
+float horscale = 1.0; /* horizontal font scaling */
+float lasthorscale = 1.0; /* last horizontal font scaling */
+int wordspace = 0; /* w command was last */
+
+
+/*
+ *
+ * Remember some of the same things, but this time for the printer. lastend is only
+ * used when we're doing reverse video, and is where the last character on the
+ * current line was printed.
+ *
+ */
+
+
+int lastsize = -1; /* last internal size we used */
+float lastfractsize = -1; /* last fractional size */
+int lastfont = -1; /* last font we told printer about */
+int lastsubfont = -1; /* last extra encoding vector */
+float lastx = -1; /* printer's current position */
+int lasty = -1;
+int savey = -1;
+int lastend; /* where last character on this line was */
+
+
+/*
+ *
+ * fontname[] keeps track of the mounted fonts. Filled in (by t_fp()) from data
+ * in the binary font files.
+ *
+ * When font metrics are directly read from AFM files, all characters that
+ * are not ASCII are put into the remaining positions in PostScript encoding
+ * vectors. Their position in these vectors in recorded in afm->encmap, and
+ * characters from troff are translated if necessary.
+ *
+ */
+
+
+struct {
+
+ struct afmtab *afm; /* AFM data, if any */
+ char *name; /* name of the font loaded here */
+ int number; /* its internal number */
+ float fontheight; /* points from x H ... */
+ int fontslant; /* angle from x S ... */
+
+
+} fontname[NFONT+1];
+
+
+/*
+ *
+ * All the special fonts will be mounted after the last legitimate font position.
+ * It helps when we're translating files prepared for devices, like the 202, that
+ * have a different set of special fonts. The set of special fonts needed when
+ * *realdev's tables are used may not get mounted when we're emulating another
+ * device. gotspecial keeps track of whether we've done it yet. seenpage is set
+ * to TRUE after we've seen the first page command in the input file. It controls
+ * what's done in t_font() and is needed because nfonts is no longer set when the
+ * DESC file is read, but rather is updated from "x font" commands in the
+ * input files. gotregular ensures that at least one regular font is mounted.
+ *
+ */
+
+
+int gotspecial = FALSE;
+int gotregular = FALSE;
+int seenpage = FALSE;
+
+
+/*
+ *
+ * The amount of horizontal positioning error we accept controls both the size
+ * of the output file and the appearance of the printed text. It's probably most
+ * important when we're emulating other devices, like the APS-5. The error can be
+ * set using the -S option. It's converted from points to machine units in t_init()
+ * after the resolution is known. rvslop is also set in t_init() and only used to
+ * adjust the width of the box that's drawn around text when we're printing in
+ * reverse video mode.
+ *
+ */
+
+
+float pointslop = SLOP; /* horizontal error in points */
+int Sflag; /* unless -S gives explicit slop */
+int slop; /* and machine units */
+int rvslop; /* to extend box in reverse video mode */
+
+
+/*
+ *
+ * Characters are accumulated and saved in PostScript strings that are eventually
+ * processed by making a single call to procedure t. textcount counts the number
+ * of individual strings collected but not yet processed, and is primarily used to
+ * make sure PostScript's stack doesn't get too big. When textcount is positive
+ * we've started accumulating strings and need to generate a call to PostScript
+ * procedure t to process the text before anything else (like a font change) is
+ * done.
+ *
+ */
+
+
+int textcount = 0; /* strings accumulated so far */
+int stringstart = 0; /* where the next one starts */
+int laststrstart = INT_MIN; /* save for optimization */
+int spacecount = 0; /* spaces seen so far on current line */
+int charcount = 0; /* characters on current line */
+
+
+/*
+ *
+ * Things that can be used by text line encoding schemes that need to read and
+ * remember an entire line before doing any output. The strings that make up the
+ * line can be saved in array strings[] and accessed by fields in line[]. *strptr
+ * points to the next free slot in strings[].
+ *
+ */
+
+
+char strings[STRINGSPACE];
+char *strptr;
+Line line[MAXSTACK+3];
+
+
+/*
+ *
+ * When we're emulating another device we may want to map font name requests that
+ * come in as "x font pos name" commands into some other font name before anything
+ * else is done (ie. calling loadfont()). Font names can collide or we may just
+ * want to a mapping that depends on the device troff used to format the input
+ * files. devfontmap points to a structure that's filled in by getdevmap() if the
+ * mapping file /usr/lib/font/dev*realdev/fontmaps/devname exists. mapdevfont()
+ * then uses that table to translate font name requests into something else before
+ * loadfont() gets called.
+ *
+ * fontmap[] provides a simple minded translation that maps an unrecognized font
+ * name (in loadfont()) into another font name that we know will be available. It
+ * doesn't provide the fine control available with *devfontmap, but should be good
+ * enough for most jobs. Both structures are only needed when emulating another
+ * device using *realdev's font tables.
+ *
+ */
+
+
+Devfontmap *devfontmap = NULL; /* device level */
+Fontmap fontmap[] = FONTMAP; /* and general mapping tables - emulation */
+
+
+/*
+ *
+ * Variables and functions for the pdfmark operator.
+ *
+ */
+static char *Author; /* DOCINFO /Author */
+static char *Title; /* DOCINFO /Title */
+static char *Subject; /* DOCINFO /Subject */
+static char *Keywords; /* DOCINFO /Keywords */
+static struct Bookmark {
+ char *Title; /* OUT /Title */
+ char *title; /* unencoded title */
+ int Count; /* OUT /Count */
+ int level; /* used to generate count */
+ int closed; /* the bookmark is closed initially */
+} *Bookmarks;
+static size_t nBookmarks;
+static double pagelength = 792; /* lenght of page in points */
+#define MAXBOOKMARKLEVEL 20
+
+static void orderbookmarks(void);
+
+static struct box {
+ int val[4];
+ int flag;
+} mediasize, bleedat, trimat, cropat;
+
+/*
+ *
+ * For the -M option.
+ *
+ */
+
+static enum {
+ M_NONE = 000,
+ M_CUT = 001,
+ M_STAR = 002,
+ M_REG = 004,
+ M_COL = 010,
+ M_ALL = 077
+} Mflag;
+
+static void setmarks(char *);
+
+
+/*
+ *
+ * A few variables that are really only used if we're doing accounting. Designed
+ * for our use at Murray Hill and probably won't suit your needs. Changes should
+ * be easy and can be made in routine account().
+ *
+ */
+
+
+int printed = 0; /* charge for this many pages */
+
+
+/*
+ *
+ * Output and accounting file definitions. The PostScript output always goes to
+ * stdout or /dev/null, while the accounting file can be selected using the -A
+ * option.
+ *
+ */
+
+
+FILE *tf = NULL; /* PostScript output goes here */
+FILE *gf = NULL; /* global data goes here */
+FILE *rf = NULL; /* resource data goes here */
+FILE *sf = NULL; /* supplied resource comments go here */
+FILE *nf = NULL; /* needed resource comments go here */
+FILE *pf = NULL; /* elements of _custompagesetup */
+int sfcount; /* count of supplied resources */
+int nfcount; /* count of needed resources */
+int ostdout; /* old standard output */
+FILE *fp_acct = NULL; /* accounting stuff written here */
+
+
+/*
+ *
+ * Very temporary space that can be used to do things like building up pathnames
+ * immediately before opening a file. Contents may not be preserved across calls
+ * to subroutines defined in this file, so it probably should only be used in low
+ * level subroutines like loadfont() or fontinit() and nowhere else.
+ *
+ */
+
+
+char temp[4096];
+
+/*****************************************************************************/
+
+static char *linkborderstyle;
+static char *ulinkborderstyle;
+
+static void sethorscale(char *);
+static void t_papersize(char *);
+static void t_cutat(const char *, struct box *, char *);
+static void t_track(char *);
+static void t_strack(void);
+static void t_pdfmark(char *);
+static void t_locale(char *);
+static void t_anchor(char *);
+static void t_link(char *);
+static void t_linkcolor(char *);
+static void t_linkborder(char *);
+static void t_ulink(char *);
+static void t_ulinkcolor(char *);
+static void t_ulinkborder(char *);
+static char *t_linkborderstyle(char *);
+
+static int mb_cur_max;
+
+/*****************************************************************************/
+
+
+int
+main(int agc, char *agv[])
+
+
+{
+ const char template[] = "/var/tmp/dpostXXXXXX";
+ char *tp;
+ FILE *fp;
+
+
+/*
+ *
+ * A program that translates troff output into PostScript. All the input files
+ * must have been formatted for the same device, which doesn't necessarily have to
+ * be *realdev. If there's more than one input file, each begins on a new page.
+ *
+ */
+
+ setlocale(LC_CTYPE, "");
+ mb_cur_max = MB_CUR_MAX;
+
+ ostdout = dup(1);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ freopen(tp, "r+", stdout) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ (gf = fopen(tp, "r+")) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ (rf = fopen(tp, "r+")) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ (sf = fopen(tp, "r+")) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ (nf = fopen(tp, "r+")) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+ if (close(mkstemp(tp = strdup(template))) < 0 ||
+ (pf = fopen(tp, "r+")) == NULL) {
+ perror(tp);
+ return 2;
+ }
+ unlink(tp);
+
+ argc = agc; /* global so everyone can use them */
+ argv = agv;
+
+ progname =
+ prog_name = argv[0]; /* just for error messages */
+
+ init_signals(); /* sets up interrupt handling */
+ options(); /* command line options */
+ arguments(); /* translate all the input files */
+ done(); /* add trailing comments etc. */
+
+ fp = fdopen(ostdout, "w");
+ header(fp); /* PostScript file structuring comments */
+
+ account(); /* job accounting data */
+ return(x_stat); /* everything probably went OK */
+
+} /* End of main */
+
+/*****************************************************************************/
+int
+putint(int n, FILE *fp)
+{
+ char buf[20];
+ int c = 0, i;
+
+/*
+ *
+ * Print an integer in PostScript binary token representation.
+ *
+ */
+ if (n >= -128 && n <= 127) {
+ buf[c++] = 136;
+ buf[c++] = n;
+ } else if (n >= -32768 && n <= 32767) {
+ buf[c++] = 134;
+ buf[c++] = (n&0xff00) >> 8;
+ buf[c++] = (n&0x00ff);
+ } else {
+ buf[c++] = 132;
+ buf[c++] = (n&0xff000000) >> 24;
+ buf[c++] = (n&0x00ff0000) >> 16;
+ buf[c++] = (n&0x0000ff00) >> 8;
+ buf[c++] = (n&0x000000ff);
+ }
+ for (i = 0; i < c; i++)
+ putc(buf[i]&0377, fp);
+ return c;
+}
+
+int
+putstring1(const char *sp, int n, FILE *fp)
+{
+/*
+ *
+ * Print a string in PostScript binary token representation.
+ *
+ */
+ putc(142, fp);
+ putc(n, fp);
+ fwrite(sp, 1, n, fp);
+ return n + 2;
+}
+
+int
+putstring(const char *sp, int n, FILE *fp)
+{
+ int c = 0, m;
+
+ do {
+ m = n > 250 ? 250 : n;
+ c += putstring1(sp, m, fp);
+ sp += m;
+ n -= m;
+ } while (n > 0);
+ return c;
+}
+
+/*****************************************************************************/
+
+
+void
+init_signals(void)
+
+
+{
+
+
+ void interrupt(int); /* signal handler */
+
+
+/*
+ *
+ * Make sure we handle interrupts.
+ *
+ */
+
+
+ if ( signal(SIGINT, interrupt) == SIG_IGN ) {
+ signal(SIGINT, SIG_IGN);
+ signal(SIGQUIT, SIG_IGN);
+ signal(SIGHUP, SIG_IGN);
+ } else {
+ signal(SIGHUP, interrupt);
+ signal(SIGQUIT, interrupt);
+ } /* End else */
+
+ signal(SIGTERM, interrupt);
+
+} /* End of init_signals */
+
+
+/*****************************************************************************/
+static char *
+pdfdate(time_t *tp, char *buf, size_t size)
+{
+ struct tm *tmptr;
+ int tzdiff, tzdiff_hour, tzdiff_min;
+
+ tzdiff = *tp - mktime(gmtime(tp));
+ tzdiff_hour = (int)(tzdiff / 60);
+ tzdiff_min = tzdiff_hour % 60;
+ tzdiff_hour /= 60;
+ tmptr = localtime(tp);
+ if (tmptr->tm_isdst > 0)
+ tzdiff_hour++;
+ snprintf(buf, size, "(D:%04d%02d%02d%02d%02d%02d%+03d'%02d')",
+ tmptr->tm_year + 1900,
+ tmptr->tm_mon + 1, tmptr->tm_mday,
+ tmptr->tm_hour, tmptr->tm_min, tmptr->tm_sec,
+ tzdiff_hour, tzdiff_min);
+ return buf;
+}
+/*****************************************************************************/
+
+static void
+pdfbox(const char *boxname, struct box *bp, FILE *fp, int perpage)
+{
+ double llx, lly, urx, ury;
+
+ if (bp->flag == 0)
+ return;
+ llx = bp->val[0] * 72.0 / res;
+ lly = pagelength - ((bp->val[1] + bp->val[3]) * 72.0 / res);
+ urx = (bp->val[0] + bp->val[2]) * 72.0 / res;
+ ury = pagelength - (bp->val[1] * 72.0 / res);
+ fprintf(gf, "/_%s [%g %g %g %g] def\n",
+ boxname, llx, lly, urx, ury);
+ if (perpage)
+ fprintf(fp,
+ "[ {ThisPage} 1 dict dup /%s _%s put /PUT pdfmark\n",
+ boxname, boxname);
+ else
+ fprintf(gf, "[ /%s _%s /PAGES pdfmark\n", boxname, boxname);
+}
+
+/*****************************************************************************/
+
+void
+header(FILE *fp)
+
+
+{
+
+/*
+ *
+ * Print the DSC header, followed by the data generated so far. This function
+ * is now called after all input has been processed.
+ *
+ */
+
+
+ struct Bookmark *bp;
+ time_t now;
+ int n;
+ double x = 0, y = 0;
+ char buf[4096];
+ char crdbuf[40];
+
+
+ time(&now);
+ if (mediasize.flag) {
+ x = mediasize.val[2] * 72.0 / res;
+ y = mediasize.val[3] * 72.0 / res;
+ }
+ fprintf(fp, "%s", CONFORMING);
+ fprintf(fp, "%s %s\n", CREATOR, creator);
+ fprintf(fp, "%s %s", CREATIONDATE, ctime(&now));
+ if (LanguageLevel > 1)
+ fprintf(fp, "%%%%LanguageLevel: %d\n", LanguageLevel);
+ if (Binary)
+ fprintf(fp, "%%%%DocumentData: Binary\n");
+ if ( temp_file != NULL ) {
+ if ( docfonts > 0 ) {
+ cat(temp_file, fp);
+ putc('\n', fp);
+ } /* End if */
+ unlink(temp_file);
+ } /* End if */
+ fprintf(fp, "%s %d\n", PAGES, printed);
+ if (mediasize.flag & 2)
+ fprintf(fp, "%%%%DocumentMedia: x%gy%g %g %g 0 () ()\n", x, y, x, y);
+
+ fflush(nf);
+ rewind(nf);
+ while ((n = fread(buf, 1, sizeof buf, nf)) > 0)
+ fwrite(buf, 1, n, fp);
+ fflush(sf);
+ rewind(sf);
+ while ((n = fread(buf, 1, sizeof buf, sf)) > 0)
+ fwrite(buf, 1, n, fp);
+ fprintf(fp, "%s", ENDCOMMENTS);
+
+ fprintf(fp, "%s\n", "%%BeginProlog");
+ if ( cat(prologue, fp) == FALSE )
+ error(FATAL, "can't read %s", prologue);
+ fflush(rf);
+ rewind(rf);
+ while ((n = fread(buf, 1, sizeof buf, rf)) > 0)
+ fwrite(buf, 1, n, fp);
+ fprintf(fp, "%s", ENDPROLOG);
+
+ fprintf(fp, "%s", BEGINSETUP);
+ fprintf(fp, "\
+[ /CreationDate %s\n\
+ /Creator (%s)\n", pdfdate(&now, crdbuf, sizeof crdbuf), creator);
+ if (Author)
+ fprintf(fp, " /Author %s\n", Author);
+ if (Title)
+ fprintf(fp, " /Title %s\n", Title);
+ if (Subject)
+ fprintf(fp, " /Subject %s\n", Subject);
+ if (Keywords)
+ fprintf(fp, " /Keywords %s\n", Keywords);
+ fprintf(fp, "/DOCINFO pdfmark\n");
+ if (Bookmarks) {
+ orderbookmarks();
+ for (bp = &Bookmarks[0]; bp < &Bookmarks[nBookmarks]; bp++) {
+ fprintf(fp, "[ /Title %s\n", bp->Title);
+ if (bp->Count)
+ fprintf(fp, " /Count %d\n", bp->closed ?
+ -bp->Count : bp->Count);
+ fprintf(fp, " /Dest /Bookmark$%d\n"
+ "/OUT pdfmark\n",
+ (int)(bp - &Bookmarks[0]));
+ }
+ }
+
+ fflush(pf);
+ rewind(pf);
+ fprintf(fp, "/_custompagesetup {\n");
+ pdfbox("TrimBox", &trimat, fp, 1);
+ pdfbox("BleedBox", &bleedat, fp, 1);
+ pdfbox("CropBox", &cropat, fp, 0);
+ while ((n = fread(buf, 1, sizeof buf, pf)) > 0)
+ fwrite(buf, 1, n, fp);
+ fprintf(fp, "} def\n");
+ fprintf(fp, "/_marks {\n");
+ if (Mflag & M_CUT)
+ fprintf(fp, "_cutmarks\n");
+ if (Mflag & M_REG)
+ fprintf(fp, "_regmarks\n");
+ if (Mflag & M_STAR)
+ fprintf(fp, "_startargets\n");
+ if (Mflag & M_COL)
+ fprintf(fp, "_colorbars\n");
+ fprintf(fp, "} def\n");
+
+ fflush(gf);
+ rewind(gf);
+ while ((n = fread(buf, 1, sizeof buf, gf)) > 0)
+ fwrite(buf, 1, n, fp);
+ if (mediasize.flag) {
+ fprintf(fp, "/pagebbox [0 0 %g %g] def\n", x, y);
+ fprintf(fp, "userdict /gotpagebbox true put\n");
+ if (mediasize.flag & 2)
+ fprintf(fp, "/setpagedevice where {pop "
+ "1 dict dup /PageSize [%g %g] put setpagedevice"
+ "} if\n", x, y);
+ }
+ fprintf(fp, "mark\n");
+
+ fflush(stdout);
+ rewind(stdout);
+ while ((n = fread(buf, 1, sizeof buf, stdout)) > 0)
+ fwrite(buf, 1, n, fp);
+
+ fprintf(fp, "%s", ENDOFFILE);
+
+} /* End of header */
+
+
+/*****************************************************************************/
+
+
+void
+options(void)
+
+
+{
+
+ const char optnames[] = "a:c:e:m:n:o:p:tw:x:y:A:C:J:F:H:L:M:OP:R:S:T:DI";
+
+ int ch; /* name returned by getopt() */
+
+
+/*
+ *
+ * Reads and processes the command line options. There are, without a doubt, too
+ * many options!
+ *
+ */
+
+
+ while ( (ch = getopt(argc, argv, optnames)) != EOF ) {
+
+ switch ( ch ) {
+
+ case 'a': /* aspect ratio */
+ fprintf(stdout, "/aspectratio %s def\n", optarg);
+ break;
+
+ case 'c': /* number of copies */
+ copies = atoi(optarg);
+ fprintf(stdout, "/#copies %s store\n", optarg);
+ break;
+
+ case 'e': /* change the encoding scheme */
+ if ( (encoding = atoi(optarg)) < 0 || encoding > MAXENCODING )
+ encoding = DFLTENCODING;
+ else
+ eflag = 1;
+ realencoding = encoding;
+ break;
+
+ case 'm': /* magnification */
+ fprintf(stdout, "/magnification %s def\n", optarg);
+ break;
+
+ case 'n': /* forms per page */
+ formsperpage = atoi(optarg);
+ fprintf(stdout, "%s %s\n", FORMSPERPAGE, optarg);
+ fprintf(stdout, "/formsperpage %s def\n", optarg);
+ break;
+
+ case 'o': /* output page list */
+ out_list(optarg);
+ break;
+
+ case 'p': /* landscape or portrait mode */
+ if ( *optarg == 'l' )
+ fprintf(stdout, "/landscape true def\n");
+ else fprintf(stdout, "/landscape false def\n");
+ break;
+
+ case 't': /* just for compatibility */
+ break;
+
+ case 'w': /* line width for drawing */
+ fprintf(stdout, "/linewidth %s def\n", optarg);
+ break;
+
+ case 'x': /* shift horizontally */
+ fprintf(stdout, "/xoffset %s def\n", optarg);
+ break;
+
+ case 'y': /* and vertically on the page */
+ fprintf(stdout, "/yoffset %s def\n", optarg);
+ break;
+
+ case 'A': /* force job accounting */
+ case 'J':
+ if ( (fp_acct = fopen(optarg, "a")) == NULL )
+ error(FATAL, "can't open accounting file %s", optarg);
+ break;
+
+ case 'C': /* copy file to straight to output */
+ if ( cat(optarg, stdout) == FALSE )
+ error(FATAL, "can't read %s", optarg);
+ break;
+
+ case 'F': /* font table directory */
+ fontdir = optarg;
+ break;
+
+ case 'H': /* host resident font directory */
+ hostfontdir = optarg;
+ break;
+
+ case 'L': /* PostScript prologue file */
+ setpaths(optarg);
+ break;
+
+ case 'M': /* print cut marks */
+ setmarks(optarg);
+ break;
+
+ case 'O': /* turn picture inclusion off */
+ picflag = OFF;
+ break;
+
+ case 'P': /* PostScript pass through */
+ fprintf(stdout, "%s\n", optarg);
+ break;
+
+ case 'R': /* special global or page level request */
+ saverequest(optarg);
+ break;
+
+ case 'S': /* horizontal position error */
+ if ( (pointslop = atof(optarg)) < 0 )
+ pointslop = 0;
+ Sflag = 1;
+ break;
+
+ case 'T': /* target printer */
+ realdev = optarg;
+ break;
+
+ case 'D': /* debug flag */
+ debug = ON;
+ tf = stdout;
+ break;
+
+ case 'I': /* ignore FATAL errors */
+ ignore = ON;
+ break;
+
+ case '?': /* don't know the option */
+ error(FATAL, "");
+ break;
+
+ default:
+ error(FATAL, "missing case for option %c", ch);
+ break;
+
+ } /* End switch */
+ } /* End while */
+
+ argc -= optind; /* get ready for non-options args */
+ argv += optind;
+
+ if (Mflag) {
+ FILE *otf = tf;
+ tf = stdout;
+ doglobal(cutmarksfile);
+ tf = otf;
+ }
+
+} /* End of options */
+
+
+/*****************************************************************************/
+
+
+void
+setpaths (
+ char *name /* string that followed the -L option */
+)
+
+
+{
+
+
+ char *path; /* start of the pathname */
+
+
+/*
+ *
+ * Extends the -L option to permit run time modification of pathnames that were
+ * fixed or didn't exist in previous versions of dpost. For example, the PostScript
+ * drawing procedures have been moved out of *prologue and put in *drawfile. The
+ * new syntax can be either -Lfile or -Lname:file. If the "name:" prefix is omitted
+ * file will be used as the prologue, otherwise name should be one of "prologue",
+ * "font", "draw", "color", or "form" and is used to select the pointer that gets
+ * set to string "file".
+ *
+ */
+
+
+ for ( path = name; *path; path++ )
+ if ( *path == ':' || *path == ' ' ) {
+ while ( *path == ':' || *path == ' ' ) path++;
+ break;
+ } /* End if */
+
+ if ( *path == '\0' ) /* didn't find a "name:" prefix */
+ path = name;
+
+ if ( path == name || strncmp(name, "prologue", strlen("prologue")) == 0 )
+ prologue = path;
+ else if ( strncmp(name, "draw", strlen("draw")) == 0 )
+ drawfile = path;
+ else if ( strncmp(name, "color", strlen("color")) == 0 )
+ colorfile = path;
+ else if ( strncmp(name, "form", strlen("form")) == 0 )
+ formfile = path;
+ else if ( strncmp(name, "baseline", strlen("baseline")) == 0 )
+ baselinefile = path;
+ else if ( strncmp(name, "cutmarks", strlen("cutmarks")) == 0 )
+ cutmarksfile = path;
+
+} /* End of setpaths */
+
+/*****************************************************************************/
+
+static int
+prefix(const char *str, const char *pfx)
+{
+ while (*pfx && *str == *pfx)
+ str++, pfx++;
+ return *str == 0;
+}
+
+static void
+setmarks(char *str)
+{
+ char *sp;
+ int c;
+
+ do {
+ for (sp = str; *sp && *sp != ':'; sp++);
+ c = *sp;
+ *sp = 0;
+ if (prefix(str, "cutmarks"))
+ Mflag |= M_CUT;
+ else if (prefix(str, "registrationmarks"))
+ Mflag |= M_REG;
+ else if (prefix(str, "startargets"))
+ Mflag |= M_STAR;
+ else if (prefix(str, "colorbars"))
+ Mflag |= M_COL;
+ else if (prefix(str, "all"))
+ Mflag |= M_ALL;
+ else
+ error(FATAL, "unknown mark: -M %s", str);
+ *sp = c;
+ str = &sp[1];
+ } while (c);
+}
+
+/*****************************************************************************/
+
+
+void
+setup(void)
+
+
+{
+
+
+/*
+ * Handles things that must be done after the options are read but before the
+ * input files are processed. Called from t_init() after an "x init" command is
+ * read, because we need the resolution before we can generate the call to the
+ * setup procedure defined in *prologue. Only allowing one call to setup assumes
+ * all the input files have been prepared for the same device.
+ *
+ */
+
+
+ writerequest(0, stdout); /* global requests eg. manual feed */
+ fprintf(stdout, "/resolution %d def\n", res);
+ fprintf(stdout, "setup\n");
+ fprintf(stdout, "%d setdecoding\n", encoding);
+
+ if ( formsperpage > 1 ) { /* followed by stuff for multiple pages */
+ if ( cat(formfile, stdout) == FALSE )
+ error(FATAL, "can't read %s", formfile);
+ fprintf(stdout, "%d setupforms\n", formsperpage);
+ } /* End if */
+
+ fprintf(stdout, "%s", ENDSETUP);
+
+} /* End of setup */
+
+
+/*****************************************************************************/
+
+
+void
+arguments(void)
+
+
+{
+
+
+ FILE *fp; /* next input file */
+
+
+/*
+ *
+ * Makes sure all the non-option command line arguments are processed. If we get
+ * here and there aren't any arguments left, or if '-' is one of the input files
+ * we'll translate stdin.
+ *
+ */
+
+
+ if ( argc < 1 )
+ conv(stdin);
+ else
+ while ( argc > 0 ) {
+ if ( strcmp(*argv, "-") == 0 )
+ fp = stdin;
+ else if ( (fp = fopen(*argv, "r")) == NULL )
+ error(FATAL, "can't open %s", *argv);
+ conv(fp);
+ if ( fp != stdin )
+ fclose(fp);
+ argc--;
+ argv++;
+ } /* End while */
+
+} /* End of arguments */
+
+
+/*****************************************************************************/
+
+
+void
+done(void)
+
+
+{
+
+/*
+ *
+ * Finished with all the input files, so mark the end of the pages with a TRAILER
+ * comment, make sure the last page prints, and add things like the DOCUMENTFONTS
+ * and PAGES comments that can only be determined after all the input files have
+ * been read.
+ *
+ */
+
+
+ fprintf(stdout, "%s", TRAILER);
+ fprintf(stdout, "done\n");
+
+} /* End of done */
+
+
+/*****************************************************************************/
+
+
+void
+account(void)
+
+
+{
+
+
+/*
+ *
+ * Writes an accounting record to *fp_acct provided it's not NULL. Accounting is
+ * requested using the -A or -J options.
+ *
+ */
+
+ if ( fp_acct != NULL )
+ fprintf(fp_acct, " print %d\n copies %d\n", printed, copies);
+
+} /* End of account */
+
+
+/*****************************************************************************/
+
+void
+conv(
+
+
+ register FILE *fp /* next input file */
+)
+
+
+{
+
+
+ register int c; /* usually first char in next command */
+ int m, n, n1, m1; /* when we need to read integers */
+ char str[4096]; /* for special chars and font numbers */
+ char b;
+
+
+/*
+ *
+ * Controls the translation of troff's device independent output language into
+ * PostScript. The call to t_page() that prints the last page is made when we
+ * exit the loop, but probably belongs in t_trailer().
+ *
+ */
+
+
+ redirect(-1); /* only do output after a page command */
+ lineno = 1; /* line in current file */
+
+ while ((c = getc(fp)) != EOF) {
+
+ switch (c) {
+
+ case '\n': /* just count this line */
+ lineno++;
+ break;
+
+ case ' ': /* when input is text */
+ case 0: /* occasional noise creeps in */
+ break;
+
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ /* two motion digits plus a character */
+ hmot((c-'0')*10 + getc(fp)-'0');
+ put1(getc(fp));
+ break;
+
+ case 'c': /* single ascii character */
+ put1(getc(fp));
+ break;
+
+ case 'C': /* special character */
+ sget(str, sizeof str, fp);
+ put1s(str);
+ break;
+
+ case 'N': /* character at position n */
+ fscanf(fp, "%d", &m);
+ endtext();
+ oput(m);
+ endtext();
+ break;
+
+ case 'D': /* drawing functions */
+ endtext();
+ getdraw();
+ if ( size != lastsize || (size == FRACTSIZE &&
+ fractsize != lastfractsize) ||
+ horscale != lasthorscale) {
+ subfont = 0;
+ t_sf(0);
+ }
+ switch ((c=getc(fp))) {
+ case 'p': /* draw a path */
+ while (fscanf(fp, "%d %d", &n, &m) == 2)
+ drawline(n, m);
+ lineno++;
+ break;
+
+ case 'P': /* solid polygon */
+ fprintf(tf, "newpath %d %d neg moveto\n", hpos,
+ vpos);
+ while (fscanf(fp, "%d %d", &n, &m) == 2) {
+ hpos += n;
+ vpos += m;
+ fprintf(tf, "%d %d neg lineto\n", hpos, vpos);
+ }
+ fprintf(tf, "closepath fill\n");
+ lineno++;
+ break;
+
+ case 'l': /* draw a line */
+ fscanf(fp, "%d %d %c", &n, &m, &b);
+ n1 = b;
+ drawline(n, m);
+ break;
+
+ case 'c': /* circle */
+ case 'C': /* filled circle */
+ fscanf(fp, "%d", &n);
+ drawcirc(n, c);
+ break;
+
+ case 'e': /* ellipse */
+ case 'E': /* filled ellipse */
+ fscanf(fp, "%d %d", &m, &n);
+ drawellip(m, n, c);
+ break;
+
+ case 'a': /* counter-clockwise arc */
+ case 'A': /* clockwise arc */
+ fscanf(fp, "%d %d %d %d", &n, &m, &n1, &m1);
+ drawarc(n, m, n1, m1, c);
+ break;
+
+ case 'q': /* spline without end points */
+ drawspline(fp, 1);
+ lineno++;
+ break;
+
+ case '~': /* wiggly line */
+ drawspline(fp, 2);
+ lineno++;
+ break;
+
+ case 't': /* set line width, ignore */
+ fscanf(fp, "%d %d", &m, &n);
+ hgoto(hpos + m);
+ lineno++;
+ break;
+
+ case 'F': /* color scheme, ignore */
+ case 'f': /* filling color, ignore */
+ fgets(str, sizeof str, fp);
+ lineno++;
+ break;
+
+ default:
+ error(FATAL, "unknown drawing function %c", c);
+ break;
+ } /* End switch */
+ break;
+
+ case 's': /* use this point size */
+ fscanf(fp, "%d", &n); /* ignore fractional sizes */
+ if (n != FRACTSIZE)
+ setsize(t_size(n), 0);
+ else {
+ float f;
+ fscanf(fp, "%f", &f);
+ setsize(FRACTSIZE, f);
+ }
+ break;
+
+ case 'f': /* use font mounted here */
+ sget(str, sizeof str, fp);
+ setfont(t_font(str));
+ break;
+
+ case 'H': /* absolute horizontal motion */
+ fscanf(fp, "%d", &n);
+ hgoto(n);
+ break;
+
+ case 'h': /* relative horizontal motion */
+ fscanf(fp, "%d", &n);
+ hmot(n);
+ break;
+
+ case 'w': /* word space */
+ wordspace++;
+ break;
+
+ case 'V': /* absolute vertical position */
+ fscanf(fp, "%d", &n);
+ vgoto(n);
+ break;
+
+ case 'v': /* relative vertical motion */
+ fscanf(fp, "%d", &n);
+ vmot(n);
+ break;
+
+ case 'p': /* new page */
+ fscanf(fp, "%d", &n);
+ t_page(n);
+ break;
+
+ case 'n': /* end of line */
+ while ( (c = getc(fp)) != '\n' && c != EOF ) ;
+ t_newline();
+ lineno++;
+ break;
+
+ case '#': /* comment */
+ while ( (c = getc(fp)) != '\n' && c != EOF ) ;
+ lineno++;
+ break;
+
+ case 'x': /* device control function */
+ devcntrl(fp);
+ lineno++;
+ break;
+
+ default:
+ error(FATAL, "unknown input character %o %c", c, c);
+ done();
+
+ } /* End switch */
+
+ } /* End while */
+
+ t_page(-1); /* print the last page */
+ endtext();
+
+} /* End of conv */
+
+
+/*****************************************************************************/
+
+void
+devcntrl(
+
+
+ FILE *fp /* current input file */
+)
+
+
+{
+
+
+ char str[4096], *buf, str1[4096];
+ int c, n, size;
+
+
+/*
+ *
+ * Called from conv() to process the rest of a device control function. There's
+ * a whole family of them and they all start with the string "x ", which we've
+ * already read. The "x X ..." commands are an extensible (and device dependent)
+ * family that we use here for things like picture inclusion. Unrecognized device
+ * control commands are ignored.
+ *
+ */
+
+
+ buf = malloc(size = 4096);
+ sget(str, sizeof str, fp); /* get the control function name */
+
+ switch ( str[0] ) { /* only the first character counts */
+
+ case 'i': /* initialize */
+ t_init();
+ break;
+
+ case 'T': /* device name */
+ sget(devname, sizeof devname, fp);
+ getdevmap();
+ /*
+ * This used to be "strcpy(devname, realdev);" but
+ * it does not work when DESC is a text file because
+ * the fonts are in a different directory.
+ */
+ if (dev.afmfonts || (devname[0] == 'p' && devname[1] == 's'))
+ realdev = devname;
+ else
+ n_strcpy(devname, realdev, sizeof(devname));
+ break;
+
+ case 't': /* trailer */
+ t_trailer();
+ break;
+
+ case 'p': /* pause -- can restart */
+ t_reset('p');
+ break;
+
+ case 's': /* stop */
+ t_reset('s');
+ break;
+
+ case 'r': /* resolution assumed when prepared */
+ fscanf(fp, "%d", &res);
+ break;
+
+ case 'f': /* load font in a position */
+ fscanf(fp, "%d", &n);
+ sget(str, sizeof str, fp);
+ fgets(buf, size, fp); /* in case there's a filename */
+ ungetc('\n', fp); /* fgets() goes too far */
+ str1[0] = '\0'; /* in case there's nothing to come in */
+ c = 0;
+ sscanf(buf, "%s %d", str1, &c);
+ loadfont(n, mapdevfont(str), str1, 0, c);
+ break;
+
+ /* these don't belong here... */
+ case 'H': /* char height */
+ fscanf(fp, "%d", &n);
+ if (n != FRACTSIZE)
+ t_charht(n, 0);
+ else {
+ float f;
+ fscanf(fp, "%f", &f);
+ t_charht(FRACTSIZE, f);
+ }
+ break;
+
+ case 'S': /* slant */
+ fscanf(fp, "%d", &n);
+ t_slant(n);
+ break;
+
+ case 'X': /* copy through - from troff */
+ do
+ c = getc(fp);
+ while (spacechar(c));
+ n = 0;
+ if (c != EOF) do {
+ if (n + 1 < sizeof str)
+ str[n++] = c;
+ c = getc(fp);
+ } while (c != EOF && !spacechar(c) && c != ':');
+ str[n] = 0;
+ if (c != ':')
+ ungetc(c, fp);
+ n = 0;
+ for (;;) {
+ fgets(&buf[n], size - n, fp);
+ if ((c = getc(fp)) != '+') {
+ ungetc(c, fp);
+ break;
+ }
+ while (buf[n])
+ n++;
+ if (size - n < 4096)
+ buf = realloc(buf, size += 4096);
+ lineno++;
+ }
+ if ( strcmp(str, "PI") == 0 || strcmp(str, "PictureInclusion") == 0 )
+ picture(buf);
+ else if ( strcmp(str, "InlinePicture") == 0 )
+ inlinepic(fp, buf);
+ else if ( strcmp(str, "SupplyFont") == 0 )
+ t_supply(buf);
+ else if ( strcmp(str, "PaperSize") == 0 )
+ t_papersize(buf);
+ else if ( strcmp(str, "TrimAt") == 0 )
+ t_cutat("Trim size", &trimat, buf);
+ else if ( strcmp(str, "BleedAt") == 0 )
+ t_cutat("Bleed size", &bleedat, buf);
+ else if ( strcmp(str, "CropAt") == 0 )
+ t_cutat("Crop size", &cropat, buf);
+ else if ( strcmp(str, "Track") == 0 )
+ t_track(buf);
+ else if ( strcmp(str, "PDFMark") == 0 )
+ t_pdfmark(buf);
+ else if ( strcmp(str, "LC_CTYPE") == 0 )
+ t_locale(buf);
+ else if ( strcmp(str, "Anchor") == 0 )
+ t_anchor(buf);
+ else if ( strcmp(str, "Link") == 0 )
+ t_link(buf);
+ else if ( strcmp(str, "SetLinkColor") == 0 )
+ t_linkcolor(buf);
+ else if ( strcmp(str, "SetLinkBorder") == 0 )
+ t_linkborder(buf);
+ else if ( strcmp(str, "SetBorderStyle") == 0 )
+ linkborderstyle = t_linkborderstyle(buf);
+ else if ( strcmp(str, "SetUBorderStyle") == 0 )
+ ulinkborderstyle = t_linkborderstyle(buf);
+ else if ( strcmp(str, "ULink") == 0 )
+ t_ulink(buf);
+ else if ( strcmp(str, "SetULinkColor") == 0 )
+ t_ulinkcolor(buf);
+ else if ( strcmp(str, "SetULinkBorder") == 0 )
+ t_ulinkborder(buf);
+ else if ( strcmp(str, "HorScale") == 0 )
+ sethorscale(buf);
+ else if ( strcmp(str, "BeginPath") == 0 )
+ beginpath(buf, FALSE);
+ else if ( strcmp(str, "DrawPath") == 0 )
+ drawpath(buf, FALSE);
+ else if ( strcmp(str, "BeginObject") == 0 )
+ beginpath(buf, TRUE);
+ else if ( strcmp(str, "EndObject") == 0 )
+ drawpath(buf, TRUE);
+ else if ( strcmp(str, "NewBaseline") == 0 )
+ newbaseline(buf);
+ else if ( strcmp(str, "DrawText") == 0 )
+ drawtext(buf);
+ else if ( strcmp(str, "SetText") == 0 )
+ settext(buf);
+ else if ( strcmp(str, "SetColor") == 0 ) {
+ newcolor(buf);
+ setcolor();
+ } else if ( strcmp(str, "Sync") == 0 ) {
+ if (tracked)
+ tracked = -1;
+ subfont = 0;
+ t_sf(1);
+ xymove(hpos, vpos);
+ } else if ( strcmp(str, "PSSetup") == 0 ) {
+ fprintf(gf, "%s", buf);
+ } else if ( strcmp(str, "PS") == 0 || strcmp(str, "PostScript") == 0 ) {
+ endtext();
+ /* xymove(hpos, vpos); ul90-22006 */
+ fprintf(tf, "%s", buf);
+ } /* End else */
+ goto done;
+ } /* End switch */
+
+ while ( (c = getc(fp)) != '\n' && c != EOF ) ;
+done:
+ free(buf);
+
+} /* End of devcntrl */
+
+
+/*****************************************************************************/
+
+
+void
+fontinit(void)
+
+
+{
+
+
+ char *descp; /* for reading the DESC file */
+ char *filebase; /* the whole thing goes here */
+ int i; /* loop index */
+
+
+/*
+ *
+ * Reads *realdev's DESC file and uses what's there to initialize things like
+ * the list of available point sizes. Old versions of the program used *devname's
+ * DESC file to initialize nfonts, but that meant we needed to have *devname's
+ * binary font files available for emulation. That restriction has been removed
+ * and we now set nfonts using the "x font" commands in the input file, so by the
+ * time we get here all we really need is *realdev. In fact devcntrl() reads the
+ * device name from the "x T ..." command, but almost immediately replaces it with
+ * string *realdev so we end up using *realdev's DESC file. Later on (in
+ * t_font()) we mount all of *realdev's special fonts after the last legitimate
+ * font position, just to be sure device emulation works reasonably well - there's
+ * no guarantee *devname's special fonts match what's needed when *realdev's tables
+ * are used.
+ *
+ */
+
+
+ snprintf(temp, sizeof temp, "%s/dev%s/FONTMAP", fontdir, devname);
+ rdftmap(temp);
+ snprintf(temp, sizeof temp, "%s/dev%s/DESC", fontdir, devname);
+ if ( (descp = readdesc(temp)) == 0 )
+ error(FATAL, "can't open tables for %s", temp);
+
+ memcpy(&dev, descp, sizeof dev);
+
+ nfonts = 0; /* was dev.nfonts - now set in t_fp() */
+ nsizes = dev.nsizes;
+ nchtab = dev.nchtab;
+ unitwidth = dev.unitwidth;
+
+ filebase = &descp[sizeof dev];
+
+ pstab = (int *) filebase;
+ chtab = (short *)(pstab + nsizes + 1);
+ chname = (char *) (chtab + nchtab);
+ fsize = 3 * 255 + nchtab + 128 - 32 + sizeof(struct Font);
+
+ fitab = calloc(NFONT+1, sizeof *fitab);
+ fontab = calloc(NFONT+1, sizeof *fontab);
+ codetab = calloc(NFONT+1, sizeof *codetab);
+ kerntab = calloc(NFONT+1, sizeof *kerntab);
+ fontbase = calloc(NFONT+1, sizeof *fontbase);
+
+ for ( i = 1; i <= NFONT; i++ ) { /* so loadfont() knows nothing's there */
+ fontbase[i] = NULL;
+ } /* End for */
+
+ if ( (downloaded = (char *) calloc(nchtab + 128, sizeof(char))) == NULL )
+ error(FATAL, "no memory");
+
+} /* End of fontinit */
+
+
+/*****************************************************************************/
+
+
+void
+loadfont (
+ int n, /* load this font position */
+ char *s, /* with the file for this font */
+ char *s1, /* taken from here - possibly */
+ int forcespecial, /* this is definitively a special font */
+ int spec /* map specification */
+)
+
+
+{
+
+
+ char *fpout = NULL; /* for reading *s file */
+ int fin; /* for reading *s.afm file */
+ int nw; /* number of width table entries */
+ char *p;
+ char *path;
+ size_t l;
+
+
+/*
+ *
+ * Loads font position n with the binary font file for *s provided it's not
+ * already there. If *s1 is NULL or points to the empty string we read files from
+ * directory *fontdir/dev*devname, otherwise directory *s1 is used. If the first
+ * open fails we try to map font *s into one we expect will be available, and then
+ * we try again.
+ *
+ */
+
+
+ if ( n < 0 || n > NFONT ) /* make sure it's a legal position */
+ error(FATAL, "illegal fp command %d %s", n, s);
+
+ if ( fontbase[n] != NULL && strcmp(s, fontbase[n]->namefont) == 0 )
+ return;
+
+ path = temp;
+ if (s1 && strchr(s1, '/') != NULL)
+ path = afmdecodepath(s1);
+ else if (s1 && strstr(s1, ".afm") != NULL)
+ snprintf(temp, sizeof temp, "%s/dev%s/%s", fontdir, devname, s1);
+ else if (strchr(s, '/') != NULL) {
+ path = afmdecodepath(s);
+ if (spec == 0 && s1)
+ spec = atoi(s1);
+ } else if (strstr(s, ".afm") != NULL) {
+ snprintf(temp, sizeof temp, "%s/dev%s/%s", fontdir, devname, s);
+ if (spec == 0 && s1)
+ spec = atoi(s1);
+ } else snprintf(temp, sizeof temp, "%s/dev%s/%s.afm", fontdir, devname, s);
+
+ if ( (fin = open(path, O_RDONLY)) >= 0 ) {
+ struct afmtab *a;
+ struct stat st;
+ char *contents;
+ int i;
+ if ((p = strrchr(s, '/')) == NULL)
+ p = s;
+ else
+ p++;
+ if (p[0] == 'S' && (p[1] == '\0' || (digitchar(p[1]&0377) &&
+ p[2] == '\0') || p[2] == '.'))
+ forcespecial = 1;
+ for (i = 0; i < afmcount; i++)
+ if (afmfonts[i] && strcmp(afmfonts[i]->path, path) == 0 &&
+ afmfonts[i]->spec == spec) {
+ a = afmfonts[i];
+ close(fin);
+ goto have;
+ }
+ if ((a = calloc(1, sizeof *a)) == NULL ||
+ fstat(fin, &st) < 0 ||
+ (contents = malloc(st.st_size+1)) == NULL ||
+ read(fin, contents, st.st_size) != st.st_size) {
+ free(a);
+ close(fin);
+ goto fail;
+ }
+ close(fin);
+ l = strlen(path) + 1;
+ a->path = malloc(l);
+ n_strcpy(a->path, path, l);
+ if (path != temp)
+ free(path);
+ a->file = s;
+ a->spec = spec;
+ if (afmget(a, contents, st.st_size) < 0) {
+ free(a);
+ free(contents);
+ goto fail;
+ }
+ free(contents);
+ afmfonts = realloc(afmfonts, (afmcount+1) * sizeof *afmfonts);
+ afmfonts[afmcount] = a;
+ snprintf(a->Font.intname, sizeof a->Font.intname,
+ "%d", dev.nfonts + ++afmcount);
+ if (forcespecial)
+ a->Font.specfont = 1;
+have: fontbase[n] = &a->Font;
+ fontab[n] = a->fontab;
+ codetab[n] = a->codetab;
+ fitab[n] = a->fitab;
+ t_fp(n, a->fontname, fontbase[n]->intname, a);
+ goto done;
+ }
+ if (strchr(s, '/') != NULL)
+ goto fail;
+ if ( s1 == NULL || s1[0] == '\0' )
+ snprintf(temp, sizeof temp, "%s/dev%s/%s", fontdir, devname, s);
+ else snprintf(temp, sizeof temp, "%s/%s", s1, s);
+
+ if ( access(temp, R_OK) < 0 )
+ snprintf(temp, sizeof temp, "%s/dev%s/%s",
+ fontdir, devname, mapfont(s));
+ if ((fpout = readfont(temp, &dev, 0)) == NULL)
+ fail: error(FATAL, "can't open font table %s", temp);
+
+ if ( fontbase[n] != NULL ) /* something's already there */
+ free(fontbase[n]); /* so release the memory first */
+
+ fontbase[n] = (struct Font *)fpout;
+
+ p = (char *) fontbase[n] + sizeof(struct Font);
+ nw = fontbase[n]->nwfont & BMASK;
+ makefont(n, p, NULL, p + 2 * nw, p + 3 * nw, nw);
+
+ t_fp(n, fontbase[n]->namefont, fontbase[n]->intname, NULL);
+
+done:
+ if ( smnt == 0 && (fontbase[n]->specfont == 1 || forcespecial) )
+ smnt = n;
+ if (fontbase[n]->specfont == 1 || forcespecial)
+ gotregular = TRUE;
+
+ if ( debug == ON )
+ fontprint(n);
+
+} /* End of loadfont */
+
+
+/*****************************************************************************/
+
+
+void
+loadspecial(void)
+
+
+{
+
+
+ char *p; /* for next binary font file */
+ int nw; /* width entries in next font */
+ int i; /* loop index */
+
+
+/*
+ *
+ * Loads all the special fonts after the last legal font position. Mostly used
+ * for device emulation, but we'll do it no matter what. Needed because there's
+ * no consistency in special fonts across different devices, and relying on having
+ * them mounted in the input file doesn't guarantee the whole collection will be
+ * there. The special fonts are determined and mounted using the copy of the
+ * DESC file that's been read into memory. Initially had this stuff at the
+ * end of fontinit(), but we now don't know nfonts until much later.
+ *
+ */
+
+ if ( gotregular == FALSE )
+ loadfont(++nfonts, ((struct Font *)(&chname[dev.lchname]))->namefont,
+ NULL, 0, 0);
+
+ if ( gotspecial == FALSE )
+ for ( i = 1, p = chname + dev.lchname; i <= dev.nfonts; i++ ) {
+ nw = *p & BMASK;
+ if ( ((struct Font *) p)->specfont == 1 )
+ loadfont(++nfonts, ((struct Font *)p)->namefont, NULL, 1, 0);
+ p += 3 * nw + dev.nchtab + 128 - 32 + sizeof(struct Font);
+ } /* End for */
+
+ gotregular = TRUE;
+ gotspecial = TRUE;
+
+} /* End of loadspecial */
+
+
+/*****************************************************************************/
+char *defaultFonts[] =
+ { "R", "I", "B", "BI", "CW", "H", "HB", "HX", "S1", "S", NULL };
+
+void
+loaddefault(void)
+{
+ int i;
+
+ for (i = 0; defaultFonts[i] != NULL ; i++)
+ loadfont(++nfonts, defaultFonts[i], NULL, defaultFonts[i][0] == 'S', 0);
+}
+
+
+void
+fontprint (
+ int i /* font's index in fontbase[] */
+)
+
+
+{
+
+
+ int j, n;
+ char *p;
+
+
+/*
+ *
+ * Debugging routine that dumps data about the font mounted in position i.
+ *
+ */
+
+
+ fprintf(tf, "font %d:\n", i);
+
+ p = (char *) fontbase[i];
+ n = fontbase[i]->nwfont & BMASK;
+
+ fprintf(tf, "base=0%lo, nchars=%d, spec=%d, name=%s, widtab=0%lo, fitab=0%lo\n",
+ (long)p, n, fontbase[i]->specfont, fontbase[i]->namefont, (long)fontab[i], (long)fitab[i]);
+
+ fprintf(tf, "widths:\n");
+ for ( j = 0; j <= n; j++ ) {
+ fprintf(tf, " %2d", fontab[i][j]);
+ if ( j % 20 == 19 ) putc('\n', tf);
+ } /* End for */
+
+ fprintf(tf, "\ncodetab:\n");
+ for ( j = 0; j <= n; j++ ) {
+ fprintf(tf, " %2d", codetab[i][j]);
+ if ( j % 20 == 19 ) putc('\n', tf);
+ } /* End for */
+
+ fprintf(tf, "\nfitab:\n");
+ for ( j = 0; j <= dev.nchtab + 128-32; j++ ) {
+ fprintf(tf, " %2d", fitab[i][j]);
+ if ( j % 20 == 19 ) putc('\n', tf);
+ } /* End for */
+
+ putc('\n', tf);
+
+} /* End of fontprint */
+
+
+/*****************************************************************************/
+
+
+char *
+mapfont (
+ char *name /* troff wanted this font */
+)
+
+
+{
+
+
+ int i; /* loop index */
+
+
+/*
+ *
+ * If loadfont() can't find font *name we map it into something else that should
+ * be available and return a pointer to the new name. Used mostly for emulating
+ * devices like the APS-5.
+ *
+ */
+
+
+ name = mapft(name);
+ for ( i = 0; fontmap[i].name != NULL; i++ )
+ if ( strcmp(name, fontmap[i].name) == 0 )
+ return(fontmap[i].use);
+
+ switch ( *++name ) {
+ case 'I':
+ return("I");
+
+ case 'B':
+ return("B");
+
+ case 'X':
+ return("BI");
+
+ default:
+ return("R");
+ } /* End switch */
+
+} /* End of mapfont */
+
+
+/*****************************************************************************/
+
+
+void
+getdevmap(void)
+
+
+{
+
+
+ FILE *fp; /* for reading the device fontmap file */
+ int i = 0; /* number of mapping pairs we've read */
+ int c; /* for skipping lines */
+
+
+/*
+ *
+ * Looks for the device font mapping file *fontdir/dev*realdev/fontmaps/devname.
+ * The file, if it exists, should be an ASCII file containing pairs of one or two
+ * character font names per line. The first name is the font troff will be asking
+ * for and the second is the one we'll use. Comments are lines that begin with
+ * a '#' as the first non-white space character on a line. The devfontmap list
+ * ends with a member that has the empty string in the name field.
+ *
+ */
+
+
+ snprintf(temp, sizeof temp, "%s/dev%s/fontmaps/%s",
+ fontdir, realdev, devname);
+
+ if ( devfontmap == NULL && (fp = fopen(temp, "r")) != NULL ) {
+ devfontmap = (Devfontmap *) malloc(10 * sizeof(Devfontmap));
+
+ while ( sget(temp, sizeof temp, fp) == 1 ) {
+ if ( temp[0] != '#' && strlen(temp) < 3 )
+ if ( sget(&temp[3], sizeof temp - 3, fp) == 1 &&
+ strlen(&temp[3]) < 3 ) {
+ n_strcpy((devfontmap + i)->name, temp,
+ sizeof(devfontmap->name));
+ n_strcpy((devfontmap + i)->use, &temp[3],
+ sizeof(devfontmap->use));
+ if ( ++i % 10 == 0 )
+ devfontmap = (Devfontmap *) realloc(devfontmap, (i + 10) * sizeof(Devfontmap));
+ } /* End if */
+ while ( (c = getc(fp)) != '\n' && c != EOF ) ;
+ } /* End while */
+
+ (devfontmap + i)->name[0] = '\0'; /* end the list we just read */
+ fclose(fp);
+ } /* End if */
+
+} /* End of getdevmap */
+
+
+/*****************************************************************************/
+
+
+char *
+mapdevfont(char *str)
+
+
+{
+
+
+ int i;
+
+
+/*
+ *
+ * Called immediately before loadfont() after an 'x font' command is recognized.
+ * Takes the font name that troff asked for, looks it up in the devfontmap list,
+ * and returns the mapped name to the caller. No mapping is done if the devfontmap
+ * list is empty or font *str isn't found in the list.
+ *
+ */
+
+
+ if ( devfontmap != NULL )
+ for ( i = 0; (devfontmap + i)->name[0] != '\0'; i++ )
+ if ( strcmp((devfontmap + i)->name, str) == 0 )
+ return((devfontmap + i)->use);
+
+ return(str);
+
+} /* End of mapdevfont */
+
+
+/*****************************************************************************/
+
+
+void
+reset(void)
+
+
+{
+
+
+/*
+ *
+ * Resets the variables that keep track of the printer's current position, font,
+ * and size. Typically used after a restore/save pair (eg. when we finish with a
+ * page) to make sure we force the printer back into sync (in terms of the font
+ * and current point) before text is printed.
+ *
+ */
+
+
+ lastx = -(slop + 1);
+ savey = lasty = -1;
+ lastfont = lastsubfont = lastsize = -1;
+ if (tracked)
+ tracked = -1;
+
+} /* End of reset */
+
+
+/*****************************************************************************/
+
+
+void
+resetpos(void)
+
+
+{
+
+
+/*
+ *
+ * Resets the variables that keep track of the printer's current position. Used
+ * when there's a chance we've lost track of the printer's current position or
+ * done something that may have wiped it out, and we want to force dpost to set
+ * the printer's position before printing text or whatever. For example stroke or
+ * fill implicitly do a newpath, and that wipes out the current point, unless the
+ * calls were bracketed by a gsave/grestore pair.
+ *
+ */
+
+
+ lastx = -(slop + 1);
+ savey = lasty = -1;
+
+} /* End of resetpos */
+
+
+/*****************************************************************************/
+
+
+void
+t_init(void)
+
+
+{
+
+
+ static int initialized = FALSE; /* only do most things once */
+
+
+/*
+ *
+ * Called from devcntrl() after an "x init" command is read. Things only work if
+ * we've already seen the "x res" command, and much of the stuff, including the
+ * call to setup, should only be done once. Restricting everything to one call of
+ * setup (ie. the one in the prologue) means all the input files must have been
+ * formatted for the same device.
+ *
+ */
+
+
+ endtext(); /* moved - for cat'ed troff files */
+
+ if ( initialized == FALSE ) { /* only do this stuff once per job */
+ fontinit();
+ gotspecial = FALSE;
+ gotregular = FALSE;
+ widthfac = (float) res /dev.res;
+ if (dev.afmfonts) {
+ if (Sflag == 0)
+ pointslop = 0;
+ }
+ if (eflag == 0)
+ realencoding = encoding = dev.encoding;
+ if (encoding == 5) {
+ LanguageLevel = MAX(LanguageLevel, 2);
+ Binary++;
+ }
+ slop = pointslop * res / POINTS + .5;
+ rvslop = res * .025;
+ setup();
+ initialized = TRUE;
+ } /* End if */
+
+ hpos = vpos = 0; /* upper left corner */
+ setsize(t_size(10), 0); /* start somewhere */
+ reset(); /* force position and font stuff - later */
+
+} /* End of t_init */
+
+
+/*****************************************************************************/
+
+void
+needresource(const char *s, ...)
+{
+ va_list ap;
+
+ if (nfcount++ == 0)
+ fprintf(nf, "%%%%DocumentNeededResources: ");
+ else
+ fprintf(nf, "%%%%+ ");
+ va_start(ap, s);
+ vfprintf(nf, s, ap);
+ va_end(ap);
+ putc('\n', nf);
+}
+
+
+static struct supplylist {
+ struct supplylist *next;
+ char *font;
+ char *file;
+ char *type;
+ int done;
+} *supplylist;
+
+void
+t_supply(char *font) /* supply a font */
+{
+ struct supplylist *sp;
+ char *np, *file, *type = NULL, c;
+
+ while (*font == ' ' || *font == '\t')
+ font++;
+ for (np = font; *np && *np != ' ' && *np != '\t' && *np != '\n'; np++);
+ if (*np == '\0' || *np == '\n')
+ return;
+ *np = '\0';
+ file = &np[1];
+ while (*file == ' ' || *file == '\t')
+ file++;
+ for (np = file; *np && *np != ' ' && *np != '\t' && *np != '\n'; np++);
+ c = *np;
+ *np = '\0';
+ if (c != '\0' && c != '\n') {
+ type = &np[1];
+ while (*type == ' ' || *type == '\t')
+ type++;
+ for (np = type; *np && *np != ' ' &&
+ *np != '\t' && *np != '\n'; np++);
+ *np = '\0';
+ }
+ for (sp = supplylist; sp; sp = sp->next)
+ if (strcmp(sp->font, font) == 0)
+ return;
+ sp = calloc(1, sizeof *sp);
+ sp->font = strdup(font);
+ sp->file = afmdecodepath(file);
+ sp->type = type && *type ? strdup(type) : NULL;
+ sp->next = supplylist;
+ supplylist = sp;
+}
+
+static unsigned long
+ple32(const char *cp)
+{
+ return (unsigned long)(cp[0]&0377) +
+ ((unsigned long)(cp[1]&0377) << 8) +
+ ((unsigned long)(cp[2]&0377) << 16) +
+ ((unsigned long)(cp[3]&0377) << 24);
+}
+
+static const char ps_adobe_font_[] = "%!PS-AdobeFont-";
+static const char ps_truetypefont[] = "%!PS-TrueTypeFont";
+static const char hex[] = "0123456789abcdef";
+
+static void
+supplypfb(char *font, char *path, FILE *fp)
+{
+ char buf[30];
+ long length;
+ int i, c = EOF, n, type = 0, lastc = EOF;
+
+ if (fread(buf, 1, 6, fp) != 6)
+ error(FATAL, "no data in %s", path);
+ if ((buf[0]&0377) != 0200 || (type = buf[1]) != 1)
+ error(FATAL, "invalid header in %s", path);
+ length = ple32(&buf[2]);
+ n = 0;
+ while (ps_adobe_font_[n] && --length > 0 && (c = getc(fp)) != EOF) {
+ if (c != ps_adobe_font_[n++])
+ error(FATAL, "file %s does not start with \"%s\"",
+ path, ps_adobe_font_);
+ }
+ while (--length > 0 && (c = getc(fp)) != EOF && c != '\r' && c != '\n');
+ if (c != '\n') {
+ if ((c = getc(fp)) != '\n')
+ ungetc(c, fp);
+ else
+ length--;
+ }
+ if (sfcount++ == 0)
+ fprintf(sf, "%%%%DocumentSuppliedResources: font %s\n", font);
+ else
+ fprintf(sf, "%%%%+ font %s\n", font);
+ fprintf(rf, "%%%%BeginResource: font %s\n", font);
+ for (;;) {
+ switch (type) {
+ case 1:
+ while (length > 0 && (c = getc(fp)) != EOF) {
+ length--;
+ switch (c) {
+ case '\r':
+ if ((c = getc(fp)) != '\n')
+ ungetc(c, fp);
+ else
+ length--;
+ putc('\n', rf);
+ lastc = '\n';
+ break;
+ case 0:
+ continue;
+ default:
+ putc(c, rf);
+ lastc = c;
+ }
+ }
+ if (c == EOF)
+ error(FATAL, "short text data in %s", path);
+ break;
+ case 2:
+ while (length) {
+ n = length > sizeof buf ? sizeof buf : length;
+ if (fread(buf, 1, n, fp) != n)
+ error(FATAL, "short binary data in %s", path);
+ for (i = 0; i < n; i++) {
+ putc(hex[(buf[i]&0360)>>4], rf);
+ putc(hex[buf[i]&017], rf);
+ }
+ putc('\n', rf);
+ lastc = '\n';
+ length -= n;
+ }
+ break;
+ case 3:
+ if (lastc != '\n')
+ putc('\n', rf);
+ fprintf(rf, "%%%%EndResource\n");
+ fclose(fp);
+ return;
+ default:
+ error(FATAL, "invalid header type %d in %s", path, type);
+ }
+ if ((n = fread(buf, 1, 6, fp)) != 6 && (buf[1] != 3 || n < 2))
+ error(FATAL, "missing header in %s", path);
+ if ((buf[0]&0377) != 0200)
+ error(FATAL, "invalid header in %s", path);
+ if ((type = buf[1]) != 3)
+ length = ple32(&buf[2]);
+ }
+}
+
+static void
+supplyotf(char *font, char *path, FILE *fp)
+{
+ static int cffcount;
+ struct stat st;
+ char *contents;
+ size_t size, offset, length;
+ int i;
+ int fsType;
+ const char StartData[] = " StartData ";
+
+ if (fstat(fileno(fp), &st) < 0)
+ error(FATAL, "cannot stat %s", path);
+ size = st.st_size;
+ contents = malloc(size);
+ if (fread(contents, 1, size, fp) != size)
+ error(FATAL, "cannot read %s", path);
+ fclose(fp);
+ if ((fsType = otfcff(path, contents, size, &offset, &length)) < 0) {
+ free(contents);
+ return;
+ }
+ /*
+ * Adobe Technical Note #5176, "The Compact Font Format
+ * Specification", Version 1.0, 12/4/2003, p. 53 proposes
+ * a weird syntax for CFF DSC comments ("ProcSet" etc.);
+ * Adobe Distiller 7 complains about it with DSC warnings
+ * enabled. What follows is an attempt to fix this.
+ */
+ if (cffcount++ == 0) {
+ fprintf(rf, "%%%%IncludeResource: procset FontSetInit 0 0\n");
+ needresource("procset FontSetInit 0 0");
+ }
+ if (sfcount++ == 0)
+ fprintf(sf, "%%%%DocumentSuppliedResources: font %s\n", font);
+ else
+ fprintf(sf, "%%%%+ font %s\n", font);
+ fprintf(rf, "%%%%BeginResource: font %s\n", font);
+ fprintf(rf, "/FontSetInit /ProcSet findresource begin\n");
+ if (encoding == 5) {
+ fprintf(rf, "%%%%BeginData: %ld Binary Bytes\n",
+ (long)(length + 13 + strlen(font) + 12));
+ fprintf(rf, "/%s %12ld StartData ", font, (long)length);
+ fwrite(&contents[offset], 1, length, rf);
+ fprintf(rf, "\n%%%%EndData\n");
+ } else {
+ fprintf(rf, "/%s %ld ", font, (long)length);
+ fprintf(rf, "currentfile /ASCIIHexDecode filter cvx exec\n");
+ for (i = 0; StartData[i]; i++) {
+ putc(hex[(StartData[i]&0360)>>4], rf);
+ putc(hex[StartData[i]&017], rf);
+ }
+ putc('\n', rf);
+ for (i = offset; i < offset+length; i++) {
+ putc(hex[(contents[i]&0360)>>4], rf);
+ putc(hex[contents[i]&017], rf);
+ if (i > offset && (i - offset + 1) % 34 == 0)
+ putc('\n', rf);
+ }
+ fprintf(rf, ">\n");
+ }
+ fprintf(rf, "%%%%EndResource\n");
+ free(contents);
+ LanguageLevel = MAX(LanguageLevel, 3);
+}
+
+static void
+supplyttf(char *font, char *path, FILE *fp)
+{
+ struct stat st;
+ char *contents;
+ size_t size;
+
+ if (fstat(fileno(fp), &st) < 0)
+ error(FATAL, "cannot stat %s", path);
+ size = st.st_size;
+ contents = malloc(size);
+ if (fread(contents, 1, size, fp) != size)
+ error(FATAL, "cannot read %s", path);
+ fclose(fp);
+ if (sfcount++ == 0)
+ fprintf(sf, "%%%%DocumentSuppliedResources: font %s\n", font);
+ else
+ fprintf(sf, "%%%%+ font %s\n", font);
+ fprintf(rf, "%%%%BeginResource: font %s\n", font);
+ otft42(font, path, contents, size, rf);
+ fprintf(rf, "%%%%EndResource\n");
+ free(contents);
+ LanguageLevel = MAX(LanguageLevel, 2);
+}
+
+static void
+supply1(char *font, char *file, char *type)
+{
+ FILE *fp;
+ char line[4096], c;
+
+ if (strchr(file, '/') == 0) {
+ snprintf(temp, sizeof temp, "%s/dev%s/%s.%s",
+ fontdir, devname, file, type);
+ file = temp;
+ }
+ if ((fp = fopen(file, "r")) == NULL)
+ error(FATAL, "can't open %s", file);
+ if (type == NULL) {
+ c = getc(fp);
+ ungetc(c, fp);
+ type = c == '\200' ? "pfb" : c == 'O' ? "otf" :
+ c == 0 || c == 't' ? "ttf" : "anything";
+ }
+ if (strcmp(type, "pfb") == 0) {
+ supplypfb(font, file, fp);
+ return;
+ }
+ if (strcmp(type, "otf") == 0) {
+ supplyotf(font, file, fp);
+ return;
+ }
+ if (strcmp(type, "ttf") == 0) {
+ supplyttf(font, file, fp);
+ return;
+ }
+ if (fgets(line, sizeof line, fp) == NULL)
+ error(FATAL, "missing data in %s", file);
+ if (strncmp(line, ps_adobe_font_, strlen(ps_adobe_font_)) &&
+ strncmp(line, ps_truetypefont, strlen(ps_truetypefont)))
+ error(FATAL, "file %s does not start with \"%s\" or \"%s\"",
+ file, ps_adobe_font_, ps_truetypefont);
+ if (sfcount++ == 0)
+ fprintf(sf, "%%%%DocumentSuppliedResources: font %s\n", font);
+ else
+ fprintf(sf, "%%%%+ font %s\n", font);
+ fprintf(rf, "%%%%BeginResource: font %s\n", font);
+ while (fgets(line, sizeof line, fp) != NULL)
+ fputs(line, rf);
+ fclose(fp);
+ fprintf(rf, "%%%%EndResource\n");
+}
+
+static void
+t_dosupply(const char *font)
+{
+ struct supplylist *sp;
+
+ for (sp = supplylist; sp; sp = sp->next)
+ if (strcmp(sp->font, font) == 0) {
+ if (sp->done == 0) {
+ supply1(sp->font, sp->file, sp->type);
+ sp->done = 1;
+ }
+ return;
+ }
+ needresource("font %s", font);
+}
+
+/*****************************************************************************/
+
+static void
+boxcmp(const char *name, struct box *bp, int a, int b, int c, int d)
+{
+ if (bp->flag && (a != bp->val[0] || b != bp->val[1] ||
+ c != bp->val[2] || d != bp->val[3]))
+ error(NON_FATAL, "%s has changed, using new values", name);
+}
+
+static void
+t_papersize(char *buf)
+{
+ int x, y, setmedia = 0;
+
+ if (sscanf(buf, "%d %d %d", &x, &y, &setmedia) < 2)
+ return;
+ boxcmp("Media size", &mediasize, 0, 0, x, y);
+ mediasize.val[2] = x;
+ mediasize.val[3] = y;
+ mediasize.flag |= 1;
+ if (setmedia)
+ mediasize.flag |= 2;
+ pagelength = y * 72.0 / res;
+}
+
+static void
+t_cutat(const char *name, struct box *bp, char *buf)
+{
+ int c[4], i;
+
+ if (sscanf(buf, "%d %d %d %d", &c[0], &c[1], &c[2], &c[3]) < 4)
+ return;
+ boxcmp(name, bp, c[0], c[1], c[2], c[3]);
+ for (i = 0; i < 4; i++)
+ bp->val[i] = c[i];
+ bp->flag |= 1;
+}
+
+/*****************************************************************************/
+void
+t_page (
+ int pg /* troff's current page number */
+)
+
+
+{
+
+
+ static int lastpg = 0; /* last one we started - for ENDPAGE */
+
+
+/*
+ *
+ * Called whenever we've finished the last page and want to get ready for the
+ * next one. Also used at the end of each input file, so we have to be careful
+ * about what's done. The first time through (up to the redirect(pg) call) output
+ * goes to /dev/null because of the redirect(-1) call made in conv().
+ *
+ * Adobe now recommends that the showpage operator occur after the page level
+ * restore so it can be easily redefined to have side-effects in the printer's VM.
+ * Although it seems reasonable I haven't implemented it, because it makes other
+ * things, like selectively setting manual feed or choosing an alternate paper
+ * tray, clumsy - at least on a per page basis.
+ *
+ */
+
+
+ if ( tf == stdout ) /* count the last page */
+ printed++;
+
+ endtext(); /* print the last line? */
+
+ fprintf(tf, "_marks\n");
+ fprintf(tf, "cleartomark\n");
+ fprintf(tf, "showpage\n");
+ fprintf(tf, "restore\n");
+ fprintf(tf, "%s %d %d\n", ENDPAGE, lastpg, printed);
+
+ redirect(pg);
+
+ fprintf(tf, "%s %d %d\n", PAGE, pg, printed+1);
+ fprintf(tf, "save\n");
+ fprintf(tf, "mark\n");
+ writerequest(printed+1, tf);
+ fprintf(tf, "%d pagesetup\n", printed+1);
+ setcolor();
+
+ lastpg = pg; /* for the next ENDPAGE comment */
+ hpos = vpos = 0; /* get ready for the next page */
+ reset(); /* force position and font stuff - later */
+
+ seenpage = TRUE;
+
+} /* End of t_page */
+
+
+/*****************************************************************************/
+
+
+void
+t_newline(void)
+
+
+{
+
+
+/*
+ *
+ * Just finished the last line. All we do is set the horizontal position to 0,
+ * although even that probably isn't necessary.
+ *
+ */
+
+
+ hpos = 0;
+
+} /* End of t_newline */
+
+
+/*****************************************************************************/
+
+
+int
+t_size (
+ int n /* convert this to an internal size */
+)
+
+
+{
+
+
+ int i; /* loop index */
+
+
+/*
+ *
+ * Converts a point size into an internal size that can be used as an index into
+ * pstab[]. The internal size is one plus the index of the least upper bound of
+ * n in pstab[], or nsizes if n is larger than all the listed sizes.
+ *
+ */
+
+
+ if ( n <= pstab[0] )
+ return(1);
+ else if (n >= pstab[nsizes-1])
+ return(nsizes);
+
+ for ( i = 0; n > pstab[i]; i++ ) ;
+
+ return(i+1);
+
+} /* End of t_size */
+
+
+/*****************************************************************************/
+
+
+void
+setsize (
+ int n, float f /* new internal size */
+)
+
+
+{
+
+
+/*
+ *
+ * Now using internal size n, where pstab[n-1] is the best available approximation
+ * to the size troff asked for.
+ *
+ */
+
+
+ size = n;
+ fractsize = f;
+ lasthorscale = horscale = 1.0;
+
+} /* End of setsize */
+
+
+/*****************************************************************************/
+
+
+void
+t_fp (
+ int n, /* this position */
+ char *s, /* now has this font mounted */
+ char *si, /* its internal number */
+ void *a
+)
+
+
+{
+
+
+/*
+ *
+ * Updates nfonts and the array that keeps track of the mounted fonts. Called from
+ * loadfont() after an "x font pos font" command is read, and if pos is larger than
+ * the current value assigned to nfonts we set gotspecial to FALSE to make sure
+ * t_font() loads all the special fonts after the last legitimate font position.
+ *
+ */
+
+
+ fontname[n].name = s;
+ fontname[n].number = atoi(si);
+ fontname[n].afm = a;
+
+ if ( n == lastfont ) /* force a call to t_sf() */
+ lastfont = lastsubfont = -1;
+
+ if ( n > nfonts ) { /* got more positions */
+ nfonts = n;
+ gotspecial = FALSE;
+ gotregular = FALSE;
+ } /* End if */
+
+} /* End of t_fp */
+
+
+/*****************************************************************************/
+
+
+int
+t_font (
+ char *s /* use font in this position next */
+)
+
+
+{
+
+
+ int n;
+
+
+/*
+ *
+ * Converts the string *s into an integer and checks to make sure it's a legal
+ * font position. Also arranges to mount all the special fonts after the last
+ * legitimate font (by calling loadspecial()), provided it hasn't already been
+ * done.
+ *
+ */
+
+
+ n = atoi(s);
+
+ if ( seenpage == TRUE ) {
+ if ( n < 0 || n > nfonts )
+ error(FATAL, "illegal font position %d", n);
+
+ if ( gotspecial == FALSE || gotregular == FALSE )
+ loadspecial();
+ } /* End if */
+
+ if (tracked)
+ tracked = -1;
+ track = 0;
+
+ return(n);
+
+} /* End of t_font */
+
+/*****************************************************************************/
+static void
+sethorscale(char *buf)
+{
+ horscale = atof(buf);
+}
+
+/*****************************************************************************/
+static void
+t_track(char *buf)
+{
+ int t;
+
+/*
+ * Handling of track kerning. troff provides this parameter as a hint
+ * only. dpost can use it in combination with the PostScript "ashow"
+ * operator. When the variable "track" is not zero, the printer is
+ * advised to perform tracking by the given amount. This relieves us
+ * of the need to adjust the character position explicitly after each
+ * character and thus greatly reduces the size of the output.
+ *
+ * Currently this is done in encodings 0, 4, and 5 only.
+ */
+
+ if (sscanf(buf, "%d", &t) != 1)
+ t = 0;
+ if (t != lasttrack) {
+ tracked = -1;
+ } else if (t && tracked != -1)
+ tracked = 1;
+ track = t;
+}
+
+static void
+t_strack(void)
+{
+ endtext();
+ fprintf(tf, "%d T\n", track);
+ if (tf == stdout) {
+ tracked = track != 0;
+ lasttrack = track;
+ }
+}
+
+/*****************************************************************************/
+
+
+void
+setfont (
+ int n /* use the font mounted here */
+)
+
+
+{
+
+
+/*
+ *
+ * troff wants to use the font that's been mounted in position n. All we do here
+ * is update the variable that keeps track of the current position. PostScript
+ * font changes are handled in t_sf(), and are only generated right before we're
+ * ready to print or draw something.
+ *
+ */
+
+
+ if ( n < 0 || n > NFONT )
+ error(FATAL, "illegal font %d", n);
+ if ( fontname[n].name == NULL && fontname[n].number == 0)
+ loaddefault();
+ if ( fontname[n].name == NULL && fontname[n].number == 0)
+ error(FATAL,
+ "font %d not loaded: check 'dpost' input for 'x font %d XXX' before 'f%d'",
+ n, n, n);
+
+ font = n;
+ subfont = 0;
+ lasthorscale = horscale = 1.0;
+
+} /* End of setfont */
+
+
+/*****************************************************************************/
+static void
+endvec(struct afmtab *a, int n)
+{
+ fprintf(gf, "] def\n");
+ fprintf(gf, "\
+/%s findfont\n\
+dup length dict begin\n\
+ {1 index /FID ne {def} {pop pop} ifelse} forall\n\
+ /Encoding Encoding-@%s@%d def\n\
+ currentdict\n\
+end\n",
+ a->fontname, a->Font.intname, n);
+ if (a->spec & SPEC_S) {
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " exch definefont pop\n");
+ fprintf(gf, "_Sdefsadj\n");
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " /%s-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " Sdefs cf\n");
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " undefinefont\n");
+ } else if (a->spec & SPEC_S1) {
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " exch definefont pop\n");
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " /%s-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " S1defs cf\n");
+ fprintf(gf, "/%s-tmp-@%s", a->fontname, a->Font.intname);
+ if (n) fprintf(gf, "@%d", n);
+ fprintf(gf, " undefinefont\n");
+ } else if (n)
+ fprintf(gf, "/%s-@%s@%d exch definefont pop\n",
+ a->fontname, a->Font.intname, n);
+ else
+ fprintf(gf, "/%s-@%s exch definefont pop\n",
+ a->fontname, a->Font.intname);
+ fprintf(gf, "/@%s", a->Font.intname);
+ if (n)
+ fprintf(gf, "@%d", n);
+ fprintf(gf, " /%s-@%s", a->fontname, a->Font.intname);
+ if (n)
+ fprintf(gf, "@%d", n);
+ fprintf(gf, " def\n");
+ fprintf(gf, "/&%s", a->Font.intname);
+ if (n)
+ fprintf(gf, "@%d", n);
+ fprintf(gf, " {@%s", a->Font.intname);
+ if (n)
+ fprintf(gf, "@%d", n);
+ fprintf(gf, " F} bind def\n");
+}
+
+static void
+printencsep(int *colp)
+{
+ if (*colp >= 60) {
+ putc('\n', gf);
+ *colp = 0;
+ } else {
+ putc(' ', gf);
+ (*colp)++;
+ }
+}
+
+static int *
+printencvector(struct afmtab *a)
+{
+ int i, j, k, n, col = 0, s;
+ int *encmap = NULL;
+
+ fprintf(gf, "/Encoding-@%s@0 [\n", a->Font.intname);
+ col = 0;
+ /*
+ * First, write excess entries into the positions from 1 to 31
+ * for later squeezing of characters >= 0400.
+ */
+ s = 128 - 32;
+ encmap = calloc(256 + nchtab + a->nchars, sizeof *encmap);
+ col += fprintf(gf, "/.notdef");
+ printencsep(&col);
+ for (j = 1; j < 32; j++) {
+ while (s < a->nchars + 128 - 32 + nchtab &&
+ ((k = a->fitab[s]) == 0 ||
+ a->nametab[k] == NULL))
+ s++;
+ if (s < a->nchars + 128 - 32 + nchtab &&
+ (k = a->fitab[s]) != 0 &&
+ k < a->nchars &&
+ a->nametab[k] != NULL) {
+ encmap[s - 128 + 32] = j;
+ col += fprintenc(gf, a->nametab[k]);
+ printencsep(&col);
+ s++;
+ } else {
+ col += fprintf(gf, "/.notdef");
+ printencsep(&col);
+ }
+ }
+ col += fprintf(gf, "/space");
+ printencsep(&col);
+ for (i = 1; i < a->nchars + 128 - 32 + nchtab && i < 256 - 32; i++) {
+ if (i < 128 - 32 && (k = a->fitab[i]) != 0 && k < a->nchars &&
+ a->nametab[k] != NULL) {
+ col += fprintenc(gf, a->nametab[k]);
+ printencsep(&col);
+ } else {
+ while (s < a->nchars + 128 - 32 + nchtab &&
+ ((k = a->fitab[s]) == 0 ||
+ a->nametab[k] == NULL))
+ s++;
+ if (s < a->nchars + 128 - 32 + nchtab &&
+ (k = a->fitab[s]) != 0 &&
+ k < a->nchars &&
+ a->nametab[k] != NULL) {
+ encmap[s - 128 + 32] = i + 32;
+ col += fprintenc(gf, a->nametab[k]);
+ printencsep(&col);
+ s++;
+ } else {
+ col += fprintf(gf, "/.notdef");
+ printencsep(&col);
+ }
+ }
+ }
+ endvec(a, 0);
+ n = 1;
+ while (s < a->nchars + 128 - 32 + nchtab) {
+ fprintf(gf, "/Encoding-@%s@%d [\n", a->Font.intname, n);
+ col = 0;
+ for (i = 0; i < 256; i++) {
+ while (s < a->nchars + 128 - 32 + nchtab &&
+ ((k = a->fitab[s]) == 0 ||
+ a->nametab[k] == NULL))
+ s++;
+ if (s < a->nchars + 128 - 32 + nchtab &&
+ (k = a->fitab[s]) != 0 &&
+ k < a->nchars &&
+ a->nametab[k] != NULL) {
+ encmap[s - 128 + 32] = i | n << 8;
+ col += fprintenc(gf, a->nametab[k]);
+ printencsep(&col);
+ s++;
+ } else {
+ col += fprintf(gf, "/.notdef");
+ printencsep(&col);
+ }
+ }
+ endvec(a, n++);
+ }
+ return encmap;
+}
+/*****************************************************************************/
+
+
+void
+t_sf(int forceflush)
+
+
+{
+
+
+ int fnum; /* internal font number */
+ int cmd; /* command to execute */
+
+
+/*
+ *
+ * Called whenever we need to use a new font or size. Only done right before we
+ * print a character. The seenfonts[] array keeps track of the fonts we've used.
+ * Helps manage host resident fonts and the DOCUMENTFONTS comment that's put out
+ * at the end of the job. The array is indexed by internal number. Only works for
+ * fonts that have internal numbers less than or equal to MAXINTERNAL.
+ *
+ */
+
+
+ if ( fontname[font].name == NULL )
+ return;
+
+ endtext();
+
+ if ( (fnum = fontname[font].number) > MAXINTERNAL || fnum < 0 )
+ fnum = 0;
+
+ if ( fnum > 0 && seenfonts[fnum] == 0 && hostfontdir != NULL ) {
+ snprintf(temp, sizeof temp, "%s/%s", hostfontdir, fontname[font].name);
+ if ( access(temp, 04) == 0 )
+ doglobal(temp);
+ } /* End if */
+
+ cmd = 'f';
+ if (forceflush == 0) {
+ if (font == lastfont && subfont == lastsubfont)
+ cmd = 's';
+ else if (size == lastsize && fractsize == lastfractsize)
+ cmd = 'F';
+ }
+ if (horscale != 1.0)
+ cmd = 'h';
+ if ( tf == stdout ) {
+ lastfont = font;
+ lastsubfont = subfont;
+ lastsize = size;
+ lastfractsize = fractsize;
+ lasthorscale = horscale;
+ if ( seenfonts[fnum] == 0 ) {
+ documentfonts();
+ }
+ if (fontname[font].afm && fontname[font].afm->encmap == NULL)
+ fontname[font].afm->encmap = printencvector(fontname[font].afm);
+ seenfonts[fnum] = 1;
+ } /* End if */
+
+ if (cmd == 'f' || cmd == 's' || cmd == 'h') {
+ if (size != FRACTSIZE)
+ fprintf(tf, "%d ", pstab[size-1]);
+ else
+ fprintf(tf, "%g ", (double)fractsize);
+ }
+ if (fontname[font].afm && cmd == 'F') {
+ if (subfont)
+ fprintf(tf, "&%s@%d\n", fontname[font].afm->Font.intname, subfont);
+ else
+ fprintf(tf, "&%s\n", fontname[font].afm->Font.intname);
+ cmd = 0;
+ } else if (cmd == 'f' || cmd == 'F' || cmd == 'h') {
+ if (fontname[font].afm && subfont)
+ fprintf(tf, "@%s@%d ", fontname[font].afm->Font.intname, subfont);
+ else if (fontname[font].afm)
+ fprintf(tf, "@%s ", fontname[font].afm->Font.intname);
+ else
+ fprintf(tf, "%s ", fontname[font].name);
+ }
+ if (cmd == 'h')
+ fprintf(tf, "%g ", horscale);
+ if (cmd)
+ fprintf(tf, "%c\n", cmd);
+
+ if ( fontname[font].fontheight != 0 || fontname[font].fontslant != 0 ) {
+ if (size != FRACTSIZE)
+ fprintf(tf, "%d %g changefont\n", fontname[font].fontslant, (fontname[font].fontheight != 0) ? (double)fontname[font].fontheight : pstab[size-1]);
+ else
+ fprintf(tf, "%d %g changefont\n", fontname[font].fontslant, (fontname[font].fontheight != 0) ? (double)fontname[font].fontheight : (double)fractsize);
+ }
+
+ if (tracked < 0 || tracked > 0 && forceflush)
+ t_strack();
+
+} /* End of t_sf */
+
+
+/*****************************************************************************/
+
+
+void
+t_charht (
+ int n, float f /* use this as the character height */
+)
+
+
+{
+
+
+/*
+ *
+ * Remembers the requested height, from 'x H n'. Forces a call to t_sf(), which
+ * is where the real work is done, by setting lastfont to -1.
+ *
+ */
+
+ if (n == FRACTSIZE)
+ fontname[font].fontheight = f;
+ else
+ fontname[font].fontheight = (n == pstab[size-1]) ? 0 : n;
+ lastfont = lastsubfont = -1;
+
+} /* End of t_charht */
+
+
+/*****************************************************************************/
+
+
+void
+t_slant (
+ int n /* slant characters this many degrees */
+)
+
+
+{
+
+
+/*
+ *
+ * Remembers the requested slant, from 'x X n'. Forces a call to t_sf(), which
+ * is where the real work is done, by setting lastfont to -1.
+ *
+ */
+
+ fontname[font].fontslant = n;
+ lastfont = lastsubfont = -1;
+
+} /* End of t_slant */
+
+/*****************************************************************************/
+
+
+void
+t_reset (
+ int c /* pause or restart */
+)
+
+
+{
+
+
+/*
+ *
+ * Found an "x stop" or "x pause" command. Although nothing's done here we could
+ * add code to reset everything so dpost could handle multiple files formatted for
+ * different devices.
+ *
+ */
+
+
+} /* End of t_reset */
+
+
+/*****************************************************************************/
+
+
+void
+t_trailer(void)
+
+
+{
+
+
+/*
+ *
+ * Called after we find an "x trailer" in the input file. Forcing out the last
+ * page is done at the end of conv(), but probably belongs here.
+ *
+ */
+
+
+ endtext();
+
+} /* End of t_trailer */
+
+
+/*****************************************************************************/
+
+
+void
+hgoto (
+ int n /* new horizontal position */
+)
+
+
+{
+
+
+/*
+ *
+ * Want to be at this absolute horizontal position next. Actual motion commands
+ * are generated in oput(), charlib(), and the drawing routines.
+ *
+ */
+
+
+ hpos = n;
+
+} /* End of hgoto */
+
+
+/*****************************************************************************/
+
+
+void
+hmot (
+ int n /* move this far horizontally */
+)
+
+
+{
+
+
+/*
+ *
+ * Handles relative horizontal motion. troff's current positon, as recorded in
+ * in hpos, is changed by n units. Usually called right before we're supposed to
+ * print a character.
+ *
+ */
+
+
+ hpos += n;
+
+} /* End of hmot */
+
+
+/*****************************************************************************/
+
+
+void
+vgoto (
+ int n /* new vertical position */
+)
+
+
+{
+
+
+/*
+ *
+ * Moves vertically in troff's coordinate system to absolute position n.
+ *
+ */
+
+
+ vpos = n;
+
+} /* End of vgoto */
+
+
+/*****************************************************************************/
+
+
+void
+vmot (
+ int n /* move this far vertically */
+)
+
+
+{
+
+
+/*
+ *
+ * Handles relative vertical motion of n units in troff's coordinate system.
+ *
+ */
+
+
+ vpos += n;
+
+} /* End of vmot */
+
+
+/*****************************************************************************/
+
+
+void
+xymove (
+ int x,
+ int y /* this is where we want to be */
+)
+
+
+{
+
+
+/*
+ *
+ * Makes sure the post-processor and printer agree about the current position.
+ *
+ */
+
+
+ hgoto(x);
+ vgoto(y);
+
+ fprintf(tf, "%d %d m\n", hpos, vpos);
+
+ lastx = hpos;
+ savey = lasty = vpos;
+
+} /* End of xymove */
+
+
+/*****************************************************************************/
+
+
+void
+put1s (
+ register char *s /* find and print this character */
+)
+
+
+{
+
+
+ static int i = 0; /* last one we found - usually */
+
+
+/*
+ *
+ * *s points to the start of a two character string that represents one of troff's
+ * special characters. To print it we first look for *s in the chname[] array using
+ * chtab[i] to find the string representing character i in chname[]. If the lookup
+ * is successful we add 128 to i and ask put1() to finish printing the character.
+ * We remember the index where the last character was found because requests to
+ * print a special character often come in bunches (eg. drawing lines with \(ru).
+ *
+ */
+
+
+ if (s[0] == 'P' && s[1] == 'S' && s[2] != 0) { /* PostScript name */
+ int m;
+ struct namecache *np;
+ struct afmtab *a;
+ if ((a = fontname[font].afm) != NULL &&
+ (np = afmnamelook(a, &s[2])) != NULL &&
+ ((m = np->fival[0]) != NOCODE ||
+ (m = np->fival[1]) != NOCODE)) {
+ put1(m+32);
+ return;
+ }
+ }
+ if ( strcmp(s, &chname[chtab[i]]) != 0 )
+ for ( i = 0; i < nchtab; i++ )
+ if ( strcmp(&chname[chtab[i]], s) == 0 )
+ break;
+
+ if ( i < nchtab )
+ put1(i + 128);
+ else i = 0;
+
+} /* End of put1s */
+
+
+/*****************************************************************************/
+
+
+void
+put1 (
+ register int c /* want to print this character */
+)
+
+
+{
+
+
+ register int i = 0; /* character code from fitab */
+ register int j; /* number of fonts we've checked so far */
+ register int k; /* font we're currently looking at */
+ int *pw = NULL; /* font widthtab and */
+ unsigned short *p = NULL; /* and codetab where c was found */
+ int code; /* code used to get c printed */
+ int ofont; /* font when we started */
+
+
+/*
+ *
+ * Arranges to have character c printed. If c < 128 it's a simple ASCII character,
+ * otherwise it's a special character. Things done here have to agree with the way
+ * the font tables were built by makedev, and work as follows. First we subtract
+ * 32 from c because the tables don't record the non-graphic ASCII characters.
+ * If fitab[k][c] isn't zero the character is on font k and the value is an index
+ * that can be used to recover width and character code data from the other two
+ * tables. If fitab[k][c] is zero the character isn't defined on font k and we
+ * check the next font, which is found as follows. The current font is the first
+ * one we check, and it's followed by a circular search of all the remaining fonts
+ * that starts with the first special font and skips font position 0. If character
+ * c is found somewhere besides the current font we change to that font and use
+ * fitab[k][c] to locate missing data in the other two tables. The width of the
+ * character can be found at fontab[k][c] while codetab[k][c] is whatever we
+ * need to tell the printer to have character c printed. lastc records the real
+ * name of the character because it's lost by the time oput() gets called but
+ * charlib() may need it.
+ *
+ * Took all the debugging stuff out because at least this part of the program is
+ * reasonably solid.
+ *
+ */
+
+
+ lastc = c; /* charlib() needs the name not the code */
+ if ( (c -= 32) <= 0 ) /* probably never happens */
+ return;
+
+ k = ofont = font;
+
+ if ( fitab[k] && (i = fitab[k][c]) != 0 ) { /* it's on this font */
+ p = codetab[font];
+ pw = fontab[font];
+ } else if ( smnt > 0 ) { /* on special (we hope) */
+ for ( k=smnt, j=0; j <= nfonts; j++, k = (k+1) % (nfonts+1) ) {
+ if ( k == 0 ) continue;
+ if ( fitab[k] && (i = fitab[k][c]) != 0 ) {
+ p = codetab[k];
+ pw = fontab[k];
+ setfont(k);
+ break;
+ } /* End if */
+ } /* End for */
+ } /* End else */
+
+ lastw = 0;
+ if ( i != 0 && (code = p[i]) != 0 ) {
+ if (size != FRACTSIZE)
+ lastw = horscale * widthfac * ((pw[i] * pstab[size-1] + unitwidth/2) / unitwidth);
+ else
+ lastw = horscale * widthfac * (int)((pw[i] * fractsize + unitwidth/2) / unitwidth);
+ if (widthfac == 1) /* ignore fractional parts since troff */
+ lastw = (int)lastw; /* does the same */
+ if (track && encoding != MAXENCODING+2)
+ lastw += track;
+ if (code == NOCODE && fontname[k].afm)
+ code = c + 32;
+ oput(code);
+ } /* End if */
+
+ if ( font != ofont )
+ setfont(ofont);
+
+} /* End of put1 */
+
+
+/*****************************************************************************/
+
+
+static void
+oprep(int stext)
+{
+ if ( textcount > MAXSTACK ) /* don't put too much on the stack? */
+ endtext();
+
+ if ( font != lastfont || size != lastsize || subfont != lastsubfont ||
+ (size == FRACTSIZE && fractsize != lastfractsize) ||
+ horscale != lasthorscale) {
+ t_sf(0);
+ }
+ if (tracked < 0)
+ t_strack();
+
+ if ( vpos != lasty )
+ endline();
+
+ if (stext) {
+ starttext();
+
+ if ( ABS(hpos - lastx) > slop )
+ endstring();
+ }
+ wordspace = 0;
+}
+
+
+void
+oput (
+ int c /* want to print this character */
+)
+
+
+{
+
+
+/*
+ *
+ * Arranges to print the character whose code is c in the current font. All the
+ * actual positioning is done here, in charlib(), or in the drawing routines.
+ *
+ */
+
+ if ( asciichar(c) && printchar(c) )
+ switch ( c ) {
+ case '(':
+ case ')':
+ case '\\':
+ if (encoding != 5)
+ addchar('\\');
+
+ default:
+ addchar(c);
+ } /* End switch */
+ else if ( c > 040 )
+ addoctal(c);
+ else charlib(c);
+
+ lastx += lastw;
+
+} /* End of oput */
+
+
+/*****************************************************************************/
+
+
+void
+starttext(void)
+
+
+{
+
+
+/*
+ * Called whenever we want to be sure we're ready to start collecting characters
+ * for the next call to PostScript procedure t (ie. the one that prints them). If
+ * textcount is positive we've already started, so there's nothing to do. The more
+ * complicated encoding schemes save text strings in the strings[] array and need
+ * detailed information about the strings when they're written to the output file
+ * in endtext().
+ *
+ */
+
+
+ if ( textcount < 1 ) {
+ switch ( encoding ) {
+ case 0:
+ case 1:
+ case 4:
+ putc('(', tf);
+ charcount = 1;
+ break;
+
+ case 5:
+ strptr = strings;
+ break;
+
+ case 2:
+ case 3:
+ strptr = strings;
+ spacecount = 0;
+ line[1].str = strptr;
+ line[1].dx = 0;
+ line[1].spaces = 0;
+ line[1].start = hpos;
+ line[1].width = 0;
+ charcount = 0;
+ break;
+
+ case MAXENCODING+1: /* reverse video */
+ if ( lastend == -1 )
+ lastend = hpos;
+ putc('(', tf);
+ charcount = 1;
+ break;
+
+ case MAXENCODING+2: /* follow a funny baseline */
+ putc('(', tf);
+ charcount = 1;
+ break;
+ } /* End switch */
+ textcount = 1;
+ lastx = stringstart = hpos;
+ laststrstart = INT_MIN;
+ } /* End if */
+
+} /* End of starttext */
+
+
+/*****************************************************************************/
+
+
+void
+endtext(void)
+
+
+{
+
+ char buf[STRINGSPACE+100];
+ int i; /* loop index */
+ int n, m;
+
+
+/*
+ *
+ * Generates a call to the PostScript procedure that processes all the text we've
+ * accumulated - provided textcount is positive.
+ *
+ */
+
+ if ( textcount > 0 ) { /* started working on some text */
+ switch ( encoding ) {
+ case 0:
+ fprintf(tf, ")%d t\n", stringstart);
+ break;
+
+ case 4:
+ if (laststrstart != INT_MIN)
+ fprintf(tf, ")%d %d t\n",
+ stringstart - laststrstart, stringstart);
+ else
+ fprintf(tf, ")%d t\n", stringstart);
+ break;
+
+ case 5:
+ putstring(strings, strptr - strings, tf);
+ strptr = strings;
+ if (laststrstart != INT_MIN)
+ putint(stringstart - laststrstart, tf);
+ putint(stringstart, tf);
+ putc('t', tf);
+ putc('\n', tf);
+ break;
+
+
+ case 1:
+ fprintf(tf, ")%d %d t\n", stringstart, lasty);
+ break;
+
+ case 2:
+ *strptr = '\0';
+ line[textcount].width = lastx - line[textcount].start;
+ if ( spacecount != 0 || textcount != 1 ) {
+ n = 0;
+ for ( i = textcount; i > 0; i-- ) {
+ m = snprintf(buf, sizeof buf, "(%s)%d %d",
+ line[i].str, line[i].spaces, line[i].width);
+ if (i < textcount && n + m >= 80) {
+ putc('\n', tf);
+ n = 0;
+ }
+ fputs(buf, tf);
+ n += m;
+ }
+ if (lasty != savey)
+ fprintf(tf, " %d %d %d t\n", textcount, stringstart, lasty);
+ else
+ fprintf(tf, " %d %d u\n", textcount, stringstart);
+ } else {
+ if (lasty != savey)
+ fprintf(tf, "(%s)%d %d w\n", line[1].str, stringstart, lasty);
+ else
+ fprintf(tf, "(%s)%d v\n", line[1].str, stringstart);
+ }
+ savey = lasty;
+ break;
+
+ case 3:
+ *strptr = '\0';
+ if ( spacecount != 0 || textcount != 1 ) {
+ n = 0;
+ for ( i = textcount; i > 0; i-- ) {
+ m = snprintf(buf, sizeof buf, "(%s)%d",
+ line[i].str, line[i].dx);
+ if (i < textcount && n + m >= 80) {
+ putc('\n', tf);
+ n = 0;
+ }
+ fputs(buf, tf);
+ n += m;
+ }
+ if (lasty != savey)
+ fprintf(tf, " %d %d %d t\n", textcount, stringstart, lasty);
+ else
+ fprintf(tf, " %d %d u\n", textcount, stringstart);
+ } else {
+ if (lasty != savey)
+ fprintf(tf, "(%s)%d %d w\n", line[1].str, stringstart, lasty);
+ else
+ fprintf(tf, "(%s)%d v\n", line[1].str, stringstart);
+ }
+ savey = lasty;
+ break;
+
+ case MAXENCODING+1:
+ fprintf(tf, ")%d ", stringstart);
+ fprintf(tf, "%d %d drawrvbox ", lastend - rvslop, (int)(lastx + .5) + rvslop);
+ fprintf(tf, "t\n"/*, stringstart*/);
+ lastend = (lastx + .5) + 2 * rvslop;
+ break;
+
+ case MAXENCODING+2:
+ fprintf(tf, ")%d %d t\n", stringstart, lasty);
+ break;
+ } /* End switch */
+ charcount = 0;
+ } /* End if */
+
+ textcount = 0;
+
+} /* End of endtext */
+
+
+/*****************************************************************************/
+
+
+void
+endstring(void)
+
+
+{
+
+
+ int dx;
+
+
+/*
+ *
+ * Horizontal positions are out of sync. End the last open string, adjust the
+ * printer's position, and start a new string. Assumes we've already started
+ * accumulating text.
+ *
+ */
+
+
+ switch ( encoding ) {
+ case 4:
+ if (laststrstart != INT_MIN)
+ charcount += fprintf(tf, ")%d", stringstart - laststrstart);
+ else {
+ putc(')', tf);
+ charcount++;
+ }
+ laststrstart = stringstart;
+ goto nx;
+
+ case 5:
+ putstring(strings, strptr - strings, tf);
+ strptr = strings;
+ charcount++;
+ if (laststrstart != INT_MIN)
+ charcount += putint(stringstart - laststrstart, tf);
+ laststrstart = stringstart;
+ textcount++;
+ lastx = stringstart = hpos;
+ break;
+
+ case 0:
+ case 1:
+ charcount += fprintf(tf, ")%d", stringstart);
+ nx:
+ if (charcount >= 60) {
+ putc('\n', tf);
+ charcount = 0;
+ }
+ putc('(', tf);
+ charcount++;
+ textcount++;
+ lastx = stringstart = hpos;
+ break;
+
+ case 2:
+ case 3:
+ if (!wordspace) {
+ endtext();
+ starttext();
+ break;
+ }
+ dx = hpos - lastx;
+ if ( spacecount++ == 0 )
+ line[textcount].dx = dx;
+ if ( line[textcount].dx != dx ) {
+ *strptr++ = '\0';
+ line[textcount].width = lastx - line[textcount].start;
+ line[++textcount].str = strptr;
+ *strptr++ = ' ';
+ line[textcount].dx = dx;
+ line[textcount].start = lastx;
+ line[textcount].width = 0;
+ line[textcount].spaces = 1;
+ charcount = 1;
+ } else {
+ *strptr++ = ' ';
+ line[textcount].spaces++;
+ charcount++;
+ } /* End else */
+ lastx += dx;
+ break;
+
+ case MAXENCODING+1:
+ charcount += fprintf(tf, ")%d", stringstart);
+ if (charcount >= 60) {
+ putc('\n', tf);
+ charcount = 0;
+ }
+ putc('(', tf);
+ charcount++;
+ textcount++;
+ lastx = stringstart = hpos;
+ break;
+
+ case MAXENCODING+2:
+ endtext();
+ starttext();
+ break;
+
+ } /* End switch */
+
+} /* End of endstring */
+
+
+/*****************************************************************************/
+
+
+void
+endline(void)
+
+
+{
+
+
+/*
+ *
+ * The vertical position has changed. Dump any accumulated text, then adjust
+ * the printer's vertical position.
+ *
+ */
+
+
+ endtext();
+
+ if ( encoding == 0 || encoding == 4 || encoding == MAXENCODING+1 ) {
+ fprintf(tf, "%d %d m\n", hpos, vpos);
+ savey = vpos;
+ } else if (encoding == 5) {
+ putint(hpos, tf);
+ putint(vpos, tf);
+ putc('m', tf);
+ putc('\n', tf);
+ }
+
+ lastx = stringstart = lastend = hpos;
+ lasty = vpos;
+
+} /* End of endline */
+
+
+/*****************************************************************************/
+
+
+void
+addchar (
+ int c /* next character in current string */
+)
+
+
+{
+
+
+/*
+ *
+ * Does whatever is needed to add character c to the current string.
+ *
+ */
+
+ static int lastc;
+
+ subfont = 0;
+ if (lastc != '\\')
+ oprep(1);
+ lastc = c;
+ switch ( encoding ) {
+ case 0:
+ case 1:
+ case 4:
+ putc(c, tf);
+ if (charcount++ >= 72 && c != '\\') {
+ putc('\\', tf);
+ putc('\n', tf);
+ charcount = 0;
+ }
+ break;
+
+ case 5:
+ *strptr++ = c;
+ break;
+
+ case 2:
+ case 3:
+ *strptr++ = c;
+ if (charcount++ >= 72 && c != '\\') {
+ *strptr++ = '\\';
+ *strptr++ = '\n';
+ charcount = 0;
+ }
+ break;
+
+ case MAXENCODING+1:
+ case MAXENCODING+2:
+ putc(c, tf);
+ if (charcount++ >= 72 && c != '\\') {
+ putc('\\', tf);
+ putc('\n', tf);
+ charcount = 0;
+ }
+ break;
+ } /* End switch */
+
+} /* End of addchar */
+
+
+/*****************************************************************************/
+
+
+void
+addoctal (
+ int c /* add it as an octal escape */
+)
+
+
+{
+
+ int n;
+
+
+/*
+ *
+ * Adds c to the current string as an octal escape \ddd.
+ *
+ *
+ * If c is not a byte, try to squeeze it into the control area.
+ */
+
+
+ oprep(0);
+ if (c >= 128 && fontname[font].afm && fontname[font].afm->encmap) {
+ c = fontname[font].afm->encmap[c - 128];
+ subfont = c >> 8;
+ c &= 0377;
+ } else
+ subfont = 0;
+ oprep(1);
+ switch ( encoding ) {
+ case 0:
+ case 1:
+ case 4:
+ charcount += fprintf(tf, "\\%03o", c);
+ if (charcount >= 72) {
+ putc('\\', tf);
+ putc('\n', tf);
+ charcount = 0;
+ }
+ break;
+
+ case 5:
+ *strptr++ = c;
+ break;
+
+ case 2:
+ case 3:
+ snprintf(strptr, sizeof strings - (strptr - strings), "\\%03o", c);
+ n = strlen(strptr);
+ strptr += n;
+ charcount += n;
+ if (charcount >= 72) {
+ *strptr++ = '\\';
+ *strptr++ = '\n';
+ charcount = 0;
+ }
+ break;
+
+ case MAXENCODING+1:
+ case MAXENCODING+2:
+ charcount += fprintf(tf, "\\%03o", c);
+ if (charcount >= 72) {
+ putc('\\', tf);
+ putc('\n', tf);
+ charcount = 0;
+ }
+ break;
+ } /* End switch */
+
+} /* End of addoctal */
+
+
+/*****************************************************************************/
+
+
+void
+charlib (
+ int code /* either 1 or 2 */
+)
+
+
+{
+
+
+ char *name; /* name of the character */
+ char tname[10]; /* in case it's a single ASCII character */
+ char *filename; /* real file name */
+
+
+/*
+ *
+ * Called from oput() for characters having codes less than 040. Special files
+ * that define PostScript procedures for certain characters can be found in
+ * directory *fontdir/devpost/charlib. If there's a file that has the same name as
+ * the character we're trying to print it's copied to the output file, otherwise
+ * nothing, except some positioning, is done.
+ *
+ * All character definitions are only made once. Subsequent requests to print the
+ * character generate a call to a procedure that begins with the prefix build_ and
+ * ends with the character's name. Special characters that are assigned codes
+ * other than 1 are assumed to have additional data files that should be copied
+ * to the output file immediately after the build_ call. Those data files should
+ * end in the suffix .map, and usually will be a hex representation of a bitmap.
+ *
+ */
+
+
+ subfont = 0;
+ oprep(1);
+ endtext();
+
+ if ( lastc < 128 ) { /* just a simple ASCII character */
+ snprintf(tname, sizeof tname, "%.3o", lastc);
+ name = tname;
+ } else name = &chname[chtab[lastc - 128]];
+
+ /*
+ * This is just a kludge of course. But since only one file exists which
+ * needs a name mapping, no more general method had been implemented.
+ */
+
+ if (*name == 'L' && name[1] == 'H' && !name[2])
+ filename = "LH_uc";
+ else
+ filename = name;
+
+ if ( downloaded[lastc] == 0 ) {
+ snprintf(temp, sizeof temp, "%s/dev%s/charlib/%s",
+ fontdir, realdev, filename);
+ if ( access(temp, 04) == 0 && doglobal(temp) == TRUE ) {
+ downloaded[lastc] = 1;
+ t_sf(0);
+ } /* End if */
+ } /* End if */
+
+ if ( downloaded[lastc] == 1 ) {
+ xymove(hpos, vpos);
+ fprintf(tf, "%d build_%s\n", (int) lastw, name);
+ if ( code != 1 ) { /* get the bitmap or whatever */
+ snprintf(temp, sizeof temp, "%s/dev%s/charlib/%s.map",
+ fontdir, realdev, name);
+ if ( access(temp, 04) == 0 && tf == stdout )
+ cat(temp, tf);
+ } /* End if */
+ fprintf(tf, "%d %d m\n", stringstart = hpos + lastw, vpos);
+ savey = vpos;
+ } /* End if */
+
+} /* End of charlib */
+
+
+/*****************************************************************************/
+
+
+int
+doglobal (
+ char *name /* copy this to the output - globally */
+)
+
+
+{
+
+
+ int val = FALSE; /* returned to the caller */
+
+
+/*
+ *
+ * Copies file *name to the output file and brackets it with whatever commands are
+ * needed to have it exported to the global environment. TRUE is returned if we
+ * successfully add file *name to the output file.
+ *
+ * Actually, all files included this way are procsets, so they go into
+ * the resource section of the PostScript output and not in the global
+ * setup file.
+ *
+ */
+
+
+ if ( tf == stdout ) {
+ val = cat(name, rf);
+ reset();
+ } /* End if */
+
+ return(val);
+
+} /* End of doglobal */
+
+
+/*****************************************************************************/
+
+void
+documentfont(const char *name)
+{
+ static FILE *fp_out; /* PostScript name added to this file */
+ static int pos;
+ static struct fn {
+ struct fn *next;
+ const char *name;
+ } *fn;
+ struct fn *ft;
+ int n;
+
+ if ( temp_file == NULL ) /* generate a temp file name */
+ if ( (temp_file = tempname("dpost")) == NULL )
+ return;
+
+ if ( fp_out == NULL && (fp_out = fopen(temp_file, "w")) == NULL )
+ return;
+ for (ft = fn; ft; ft = ft->next)
+ if (strcmp(name, ft->name) == 0)
+ return;
+ ft = calloc(1, sizeof *ft);
+ ft->name = strdup(name);
+ ft->next = fn;
+ fn = ft;
+ if ( docfonts++ == 0 )
+ pos += fprintf(fp_out, "%s", DOCUMENTFONTS);
+ else {
+ n = strlen(name);
+ if (pos + n >= 80) {
+ fprintf(fp_out, "\n%s", CONTINUECOMMENT);
+ pos = 0;
+ }
+ }
+ pos += fprintf(fp_out, " %s", name);
+ fflush(fp_out);
+ t_dosupply(name);
+}
+
+
+void
+documentfonts(void)
+
+
+{
+
+
+ FILE *fp_in = NULL; /* PostScript font name read from here */
+
+
+/*
+ *
+ * Whenever a new font is used we try to record the appropriate PostScript font
+ * name in *temp_file for the DOCUMENTFONTS comment that's put out in done().
+ * By default PostScript font names are found in /usr/lib/font/devpost. Fonts
+ * that have a .name file are recorded in *temp_file. The first string in that
+ * file is expected to be that font's (long) PostScript name.
+ *
+ */
+
+
+ snprintf(temp, sizeof temp, "%s/dev%s/%s.name",
+ fontdir, realdev, fontname[font].name);
+
+ if (fontname[font].afm == NULL && (fp_in = fopen(temp, "r")) != NULL ) {
+ if ( sget(temp, sizeof temp, fp_in) == 1 ) {
+ documentfont(temp);
+ } /* End if */
+ if (fp_in != NULL)
+ fclose(fp_in);
+ } else if (fontname[font].afm != NULL){
+ documentfont(fontname[font].afm->fontname);
+ } /* End if */
+
+} /* End of documentfonts */
+
+
+/*****************************************************************************/
+
+
+void
+redirect (
+ int pg /* next page we're printing */
+)
+
+
+{
+
+
+ static FILE *fp_null = NULL; /* if output is turned off */
+
+
+/*
+ *
+ * If we're not supposed to print page pg, tf will be directed to /dev/null,
+ * otherwise output goes to stdout.
+ *
+ */
+
+
+ if ( pg >= 0 && in_olist(pg) == ON )
+ tf = stdout;
+ else if ( (tf = fp_null) == NULL )
+ tf = fp_null = fopen("/dev/null", "w");
+
+} /* End of redirect */
+
+
+/*****************************************************************************/
+
+static char *
+mbs2pdf(char *mp)
+{
+ char *ustr, *tp;
+ int c, i, sz;
+#ifdef EUC
+ int n = 0, w;
+ wchar_t wc;
+#endif
+
+ for (tp = mp; *tp && (*tp&~0177) == 0 && *tp&~037; tp++);
+ if (*tp == 0) {
+ ustr = malloc(sz = 16);
+ *ustr = '(';
+ c = i = 1;
+ while (*mp) {
+ switch (*mp) {
+ case '(':
+ case ')':
+ case '\\':
+ ustr[i++] = '\\';
+ c++;
+ /*FALLTHRU*/
+ default:
+ ustr[i++] = *mp++;
+ c++;
+ }
+ if (i + 4 >= sz)
+ ustr = realloc(ustr, sz += 16);
+ if (c >= 60) {
+ ustr[i++] = '\\';
+ ustr[i++] = '\n';
+ c = 0;
+ }
+ }
+ ustr[i++] = ')';
+ ustr[i++] = 0;
+ return ustr;
+ }
+#ifdef EUC
+ ustr = malloc(sz = 16);
+ c = i = snprintf(ustr, sz, "<FEFF");
+ while (mp += n, *mp) {
+ if ((n = mbtowc(&wc, mp, mb_cur_max)) <= 0) {
+ error(NON_FATAL,
+ "illegal byte sequence %d in PDFMark operand",
+ *mp&0377);
+ n = 1;
+ continue;
+ }
+ if (wc < 0 || wc > 0xFFFF) {
+ error(NON_FATAL, "only BMP values allowed for PDFMark");
+ continue;
+ }
+ if (i + 8 >= sz)
+ ustr = realloc(ustr, sz += 16);
+ w = snprintf(&ustr[i], sz - i * sizeof(*ustr), "%04X", (int)wc);
+ i += w;
+ c += w;
+ if (c >= 60) {
+ ustr[i++] = '\n';
+ c = 0;
+ }
+ }
+ ustr[i++] = '>';
+ ustr[i] = 0;
+ return ustr;
+#else /* !EUC */
+ error(NON_FATAL,
+ "this instance of dpost only supports ASCII with PDFMark");
+ return NULL;
+#endif /* !EUC */
+}
+
+static void
+t_pdfmark(char *buf)
+{
+ char *bp, *tp;
+ int n;
+
+ while (spacechar(*buf&0377))
+ buf++;
+ for (bp = buf; *bp && !spacechar(*bp&0377); bp++);
+ *bp++ = '\0';
+ while (spacechar(*bp&0377))
+ bp++;
+ for (tp = bp; *tp; tp++)
+ if (*tp == '\n') {
+ *tp = '\0';
+ break;
+ }
+ if (strcmp(buf, "Author") == 0)
+ Author = mbs2pdf(bp);
+ else if (strcmp(buf, "Title") == 0)
+ Title = mbs2pdf(bp);
+ else if (strcmp(buf, "Subject") == 0)
+ Subject = mbs2pdf(bp);
+ else if (strcmp(buf, "Keywords") == 0)
+ Keywords = mbs2pdf(bp);
+ else if (strcmp(buf, "Bookmark") == 0 ||
+ strcmp(buf, "BookmarkClosed") == 0) {
+ n = strtol(bp, &bp, 10);
+ while (spacechar(*bp&0377))
+ bp++;
+ if (n < 0 || n > MAXBOOKMARKLEVEL) {
+ error(NON_FATAL, "invalid PDFMark Bookmark level %d,"
+ "maximum is %d\n",
+ n, MAXBOOKMARKLEVEL);
+ return;
+ }
+ Bookmarks = realloc(Bookmarks, ++nBookmarks*sizeof *Bookmarks);
+ Bookmarks[nBookmarks-1].level = n;
+ Bookmarks[nBookmarks-1].Title = mbs2pdf(bp);
+ Bookmarks[nBookmarks-1].title = strdup(bp);
+ Bookmarks[nBookmarks-1].Count = 0;
+ Bookmarks[nBookmarks-1].closed =
+ strcmp(buf, "BookmarkClosed") == 0;
+ endtext();
+ fprintf(tf, "[ /Dest /Bookmark$%ld\n"
+ " /View [/XYZ -4 %g 0]\n"
+ "/DEST pdfmark\n",
+ (long)nBookmarks - 1,
+ pagelength - (lasty >= 0 ? vpos * 72.0 / res : -4));
+ } else
+ error(NON_FATAL, "unknown PDFMark attribute %s", buf);
+}
+
+static void
+orderbookmarks(void)
+{
+
+ int counts[MAXBOOKMARKLEVEL+1];
+ int refs[MAXBOOKMARKLEVEL+1];
+ int i, j, k, t;
+ int lvl = 0;
+
+/*
+ * Generate the Count parameter from the given levels.
+ */
+
+ memset(&counts, 0, sizeof counts);
+ for (i = 0; i <= MAXBOOKMARKLEVEL; i++)
+ refs[i] = -1;
+ for (i = 0; i <= nBookmarks; i++) {
+ k = i < nBookmarks ? Bookmarks[i].level : 0;
+ if (i == nBookmarks || k <= lvl) {
+ for (j = k+1; j <= MAXBOOKMARKLEVEL; j++) {
+ t = j - 1;
+ if (refs[t] >= 0) {
+ Bookmarks[refs[t]].Count += counts[j];
+ refs[t] = -1;
+ }
+ counts[j] = 0;
+ }
+ }
+ if (k > 0 && refs[k-1] < 0) {
+ while (k > 0 && refs[k-1] < 0)
+ k--;
+ error(NON_FATAL, "PDFMark Bookmark \"%s\" at level %d "
+ "has no direct parent, "
+ "using level %d\n",
+ Bookmarks[i].title, Bookmarks[i].level, k);
+ }
+ counts[k]++;
+ refs[k] = i;
+ lvl = k;
+ }
+}
+
+static void
+t_locale(char *lp)
+{
+ static char *savlp;
+
+ if (savlp && strcmp(lp, savlp) == 0)
+ return;
+ free(savlp);
+ savlp = malloc(strlen(lp) + 1);
+ sscanf(lp, "%s", savlp);
+ setlocale(LC_CTYPE, savlp);
+ mb_cur_max = MB_CUR_MAX;
+}
+
+static void
+pref(const char *lp, FILE *fp)
+{
+ int c;
+
+ while ((c = *lp++ & 0377) != 0 && c != '\n') {
+ if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') ||
+ (c >= 'A' && c <= 'Z'))
+ putc(c, fp);
+ else
+ fprintf(fp, "$%2x", c);
+ }
+}
+
+static void
+pref_uri(const char *lp, FILE *fp)
+{
+ int c;
+
+ /* Don't do any escaping here to avoid double-escaping. */
+ while ((c = *lp++ & 0377) != 0 && c != '\n') {
+ putc(c, fp);
+ }
+}
+
+static void
+t_anchor(char *lp)
+{
+ int v;
+
+ v = strtol(lp, &lp, 10);
+ if ((lp = strchr(lp, ' ')) != NULL) {
+ lp++;
+ endtext();
+ fprintf(tf, "[ /Dest /Anchor$");
+ pref(lp, tf);
+ fprintf(tf, "\n"
+ " /View [/XYZ -4 %g 0]\n"
+ "/DEST pdfmark\n",
+ pagelength - (v >= 0 ? v * 72.0 / res : -4));
+ }
+}
+
+static char linkcolor[60] = "0 0 1";
+static char linkborder[60] = "0 0 1";
+
+static char *
+t_linkborderstyle(char *arg) {
+ char c, *s;
+ s = arg;
+ for (s = arg; (c = *s) && c != '\n'; s++);
+ *s = 0;
+ return strdup(arg);
+}
+
+static void
+t_link(char *lp)
+{
+ int llx, lly, urx, ury;
+
+ llx = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ lly = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ urx = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ ury = strtol(lp, &lp, 10);
+ if ((lp = strchr(lp, ' ')) != NULL) {
+ lp++;
+ endtext();
+ fprintf(tf, "[ /Dest /Anchor$");
+ pref(lp, tf);
+ fprintf(tf, "\n"
+ "/Rect [%d %d %d %d]\n"
+ "/Color [%s]\n",
+ llx, -lly, urx, -ury, linkcolor);
+ if (linkborderstyle)
+ fprintf(tf, "/BS << %s >>\n", linkborderstyle);
+ else
+ fprintf(tf, "/Border [%s]\n", linkborder);
+ fprintf(tf,
+ "/Subtype /Link\n"
+ "/ANN pdfmark\n");
+ }
+ }
+ }
+ }
+}
+
+static void
+t_linkcolor(char *lp)
+{
+ float r, g, b;
+
+ r = strtod(lp, &lp);
+ g = strtod(lp, &lp);
+ b = strtod(lp, &lp);
+ snprintf(linkcolor, sizeof linkcolor, "%g %g %g", r, g, b);
+}
+
+static void
+t_linkborder(char *lp)
+{
+ float bx, by, c;
+
+ bx = strtod(lp, &lp);
+ by = strtod(lp, &lp);
+ c = strtod(lp, &lp);
+ snprintf(linkborder, sizeof linkborder, "%g %g %g", bx, by, c);
+ free(linkborderstyle);
+ linkborderstyle = NULL;
+}
+
+static char ulinkcolor[60] = "0 0 1";
+static char ulinkborder[60] = "0 0 1";
+
+static void
+t_ulink(char *lp)
+{
+ int llx, lly, urx, ury;
+
+ llx = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ lly = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ urx = strtol(lp, &lp, 10);
+ if (*lp) {
+ while (*lp == ',')
+ lp++;
+ ury = strtol(lp, &lp, 10);
+ if ((lp = strchr(lp, ' ')) != NULL) {
+ lp++;
+ endtext();
+ fprintf(tf, "[ /Rect [%d %d %d %d]\n"
+ "/Color [%s]\n",
+ llx, -lly, urx, -ury, ulinkcolor);
+ if (ulinkborderstyle)
+ fprintf(tf, "/BS << %s >>\n", ulinkborderstyle);
+ else
+ fprintf(tf, "/Border [%s]\n", ulinkborder);
+ fprintf(tf, "/Action << /Subtype /URI\n"
+ "/URI (");
+ pref_uri(lp, tf);
+ fprintf(tf, ") >>\n"
+ "/Subtype /Link\n"
+ "/ANN pdfmark\n");
+ }
+ }
+ }
+ }
+}
+
+static void
+t_ulinkcolor(char *lp)
+{
+ float r, g, b;
+
+ r = strtod(lp, &lp);
+ g = strtod(lp, &lp);
+ b = strtod(lp, &lp);
+ snprintf(ulinkcolor, sizeof ulinkcolor, "%g %g %g", r, g, b);
+}
+
+static void
+t_ulinkborder(char *lp)
+{
+ float bx, by, c;
+
+ bx = strtod(lp, &lp);
+ by = strtod(lp, &lp);
+ c = strtod(lp, &lp);
+ snprintf(ulinkborder, sizeof ulinkborder, "%g %g %g", bx, by, c);
+ free(ulinkborderstyle);
+ ulinkborderstyle = NULL;
+}
diff --git a/troff/troff.d/dpost.d/dpost.h b/troff/troff.d/dpost.d/dpost.h
new file mode 100644
index 0000000000000..ca96c570f1e7c
--- /dev/null
+++ b/troff/troff.d/dpost.d/dpost.h
@@ -0,0 +1,192 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "dpost.h 1.7 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)dpost.h 1.11 (gritter) 9/22/06
+ */
+
+/*
+ *
+ * Definitions used by the troff post-processor for PostScript printers.
+ *
+ * DEVNAME should be the name of a device whose font files accurately describe
+ * what's available on the target printer. It's a string that's combined with
+ * "/usr/lib/font/dev" to locate the final font directory. It can be changed
+ * using the -T option, but you may end up getting garbage - the character code
+ * field must agree with PostScript's character encoding scheme for each font and
+ * troff's one or two character font names must be mapped into the appropriate
+ * PostScript font names (typically in the prologue)
+ *
+ *
+ */
+
+#define DEVNAME "post" /* name of the target printer */
+
+/*
+ *
+ * NFONT is the most font positions we'll allow. It's set ridiculously high for no
+ * good reason.
+ *
+ */
+
+#define NFONT 300 /* max number of font positions */
+
+/*
+ *
+ * SLOP controls how much horizontal positioning error we'll accept and primarily
+ * helps when we're emulating another device. It's used when we output characters
+ * in oput() to check if troff and the printer have gotten too far out of sync.
+ * Given in units of points and can be changed using the -S option. Converted to
+ * machine units in t_init() after the resolution is known.
+ *
+ */
+
+#define SLOP .2 /* horizontal error - in points */
+
+/*
+ *
+ * Fonts are assigned unique internal numbers (positive integers) in their ASCII
+ * font files. MAXINTERNAL is the largest internal font number that lets the host
+ * resident and DOCUMENTFONTS stuff work. Used to allocate space for an array that
+ * keeps track of what fonts we've seen and perhaps downloaded - could be better!
+ *
+ */
+
+#define MAXINTERNAL 1536
+
+/*
+ *
+ * Several different text line encoding schemes are supported. Print time should
+ * decrease as the value assigned to encoding (in dpost.c) increases, although the
+ * only encoding that's well tested is the lowest level one, which produces output
+ * essentially identical to the original version of dpost. Setting DFLTENCODING to
+ * 0 will give you the most stable (but slowest) encoding. The encoding scheme can
+ * also be set on the command line using the -e option. Faster methods are based
+ * on widthshow and may not place words exactly where troff wanted, but errors will
+ * usually not be noticeable.
+ *
+ */
+
+#define MAXENCODING 5
+
+#ifndef DFLTENCODING
+#define DFLTENCODING 0
+#endif
+
+/*
+ *
+ * The encoding scheme controls how lines of text are output. In the lower level
+ * schemes words and horizontal positions are put on the stack as they're read and
+ * when they're printed it's done in reverse order - the first string printed is
+ * the one on top of the stack and it's the last one on the line. Faster methods
+ * may be forced to reverse the order of strings on the stack, making the top one
+ * the first string on the line. STRINGSPACE sets the size of a character array
+ * that's used to save the strings that make up a line of text so they can be
+ * output in reverse order or perhaps combined in groups for widthshow.
+ *
+ * MAXSTACK controls how far we let PostScript's operand stack grow and determines
+ * the number of strings we'll save before printing all or part of a line of text.
+ * The internal limit in PostScript printers built by Adobe is 500, so MAXSTACK
+ * should never be bigger than about 240!
+ *
+ * Line is a structure used to keep track of the words (or rather strings) on the
+ * current line that have been read but not printed. dx is the width troff wants
+ * to use for a space in the current string. start is where the string began, width
+ * is the total width of the string, and spaces is the number of space characters
+ * in the current string. *str points to the start of the string in the strings[]
+ * array. The Line structure is only used in the higher level encoding schemes.
+ *
+ */
+
+#define MAXSTACK 50 /* most strings we'll save at once */
+#define STRINGSPACE 2000 /* bytes available for string storage */
+
+typedef struct {
+
+ char *str; /* where the string is stored */
+ int dx; /* width of a space */
+ int spaces; /* number of space characters */
+ int start; /* horizontal starting position */
+ int width; /* and its total width */
+
+} Line;
+
+/*
+ *
+ * Simple stuff used to map unrecognized font names into something reasonable. The
+ * mapping array is initialized using FONTMAP and used in loadfont() whenever the
+ * job tries to use a font that we don't recognize. Normally only needed when we're
+ * emulating another device.
+ *
+ */
+
+typedef struct {
+
+ char *name; /* font name we're looking for */
+ char *use; /* and this is what we should use */
+
+} Fontmap;
+
+#define FONTMAP \
+ \
+ { \
+ { "G" , "H" }, \
+ { "LO", "S" }, \
+ { "S2", "S" }, \
+ { "GI", "HI" }, \
+ { "HM", "H" }, \
+ { "HK", "H" }, \
+ { "HL", "H" }, \
+ { "PA", "R" }, \
+ { "PI", "I" }, \
+ { "PB", "B" }, \
+ { "PX", "BI" }, \
+ { NULL, NULL } \
+ }
+
+/*
+ *
+ * The Fontmap stuff isn't quite enough if we expect to do a good job emulating
+ * other devices. A recognized font in *realdev's tables may be have a different
+ * name in *devname's tables, and using the *realdev font may not be the best
+ * choice. The fix is to use an optional lookup table for *devname that's used to
+ * map font names into something else before anything else is done. The table we
+ * use is /usr/lib/font/dev*realdev/fontmaps/devname and if it exists getdevmap()
+ * uses the file to fill in a Devfontmap array. Then whenever an "x font pos name"
+ * command is read mapdevfont() uses the lookup table to map name into something
+ * else before loadfont() is called.
+ *
+ */
+
+typedef struct {
+
+ char name[3]; /* map this font name */
+ char use[3]; /* into this one */
+
+} Devfontmap;
diff --git a/troff/troff.d/dpost.d/draw.c b/troff/troff.d/dpost.d/draw.c
new file mode 100644
index 0000000000000..68d3215b4418b
--- /dev/null
+++ b/troff/troff.d/dpost.d/draw.c
@@ -0,0 +1,844 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/* from OpenSolaris "draw.c 1.6 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)draw.c 1.7 (gritter) 3/27/07
+ */
+
+/*
+ *
+ * Drawing routines used by dpost. Almost no real work is done here. Instead
+ * the required calculations are done in special Postscript procedures that
+ * include:
+ *
+ *
+ * Dl
+ *
+ * x1 y1 x y Dl -
+ *
+ * Starts a new path and then draws a line from the current point
+ * (x, y) to (x1, y1).
+ *
+ * De
+ *
+ * x y a b De -
+ *
+ * Starts a new path and then draws an ellipse that has its left side
+ * at the current point (x, y) and horizontal and vertical axes lengths
+ * given by a and b respectively.
+ *
+ * Da
+ *
+ * x y dx1 dy1 dx2 dy2 Da -
+ *
+ * Starts a new segment and then draws a circular arc from the current
+ * point (x, y) to (x + dx1 + dx2, y + dy1 + dy2). The center of the
+ * circle is at (x + dx1, y + dy1). Arcs always go counter-clockwise
+ * from the starting point to the end point.
+ *
+ * DA
+ *
+ * x y dx1 dy1 dx2 dy2 DA -
+ *
+ * Draws a clockwise arc from (x, y) to (x + dx1 + dx2, y + dy1 + dy2)
+ * with center at (x + dx1, y + dy1). Only needed when we're building
+ * large paths that use arcs and want to control the current point. The
+ * arguments passed to drawarc() will be whatever they would have been
+ * for a counter-clockwise arc, so we need to map them into appropriate
+ * arguments for PostScript's arcn operator. The mapping is,
+ *
+ * x = hpos + dx1' + dx2'
+ * y = vpos + dy1' + dy2'
+ * dx1 = -dx2'
+ * dy1 = -dy2'
+ * dx2 = -dx1'
+ * dy2 = -dy1'
+ *
+ * where primed values represent the drawarc() arguments and (hpos, vpos)
+ * is our current position.
+ *
+ * Ds
+ *
+ * x0 y0 x1 y1 x2 y2 Ds -
+ *
+ * Starts a new segment and then draws a quadratic spline connecting
+ * point ((x0 + x1)/2, (y0 + y1)/2) to ((x1 + x2)/2, (y1 + y2)/2).
+ * The points used in Postscript's curveto procedure are given by,
+ *
+ * x0' = (x0 + 5 * x1) / 6
+ * x1' = (x2 + 5 * x1) / 6
+ * x2' = (x1 + x2) / 2
+ *
+ * with similar equations for the y coordinates.
+ *
+ * By default all the PostScript drawing procedures begin with a newpath (just to
+ * be safe) and end with a stroke, which essentially isolates the path elements
+ * built by the drawing procedures. In order to accommodate big paths built from
+ * smaller pieces each of the PostScript drawing procedures can forced to retain
+ * the path that's being built. That's what happens in beginpath() when an "x X
+ * BeginPath" command is read. beginpath() sets the PostScript variable inpath to
+ * true, and that essentially eliminates the newpath/stroke pair that bracket the
+ * individual pieces. In that case the path is terminated and drawn when dpost
+ * reads an "x X DrawPath" command.
+ *
+ * Early versions of dpost included the PostScript drawing procedures as part of
+ * the prologue, and as a result they were included with every job, even if they
+ * were never used. This version has separated the drawing procedures from the
+ * default prologue (they're now in *drawfile) and only includes them if they're
+ * really needed, which is yet another convenient violation of page independence.
+ * Routine getdraw() is responsible for adding *drawfile to the output file, and
+ * if it can't read *drawfile it continues on as if nothing happened. That means
+ * everything should still work if you append *drawfile to *prologue and then
+ * delete *drawfile.
+ *
+ */
+
+
+#include <stdio.h>
+#include <math.h>
+#include <unistd.h>
+#include <string.h>
+
+#include "gen.h" /* general purpose definitions */
+#include "ext.h" /* external variable definitions */
+
+
+int gotdraw = FALSE; /* TRUE when *drawfile has been added */
+int gotbaseline = FALSE; /* TRUE after *baselinefile is added */
+int inpath = FALSE; /* TRUE if we're putting pieces together */
+
+
+/*
+ *
+ * All these should be defined in file dpost.c.
+ *
+ */
+
+
+extern int hpos;
+extern int vpos;
+extern int encoding;
+extern int maxencoding;
+extern int realencoding;
+
+extern char *drawfile;
+extern char *baselinefile;
+extern FILE *tf;
+
+
+/*****************************************************************************/
+
+
+void
+getdraw(void)
+
+
+{
+
+
+/*
+ *
+ * Responsible for making sure the PostScript drawing procedures are downloaded
+ * from *drawfile. Stuff is done at most once per job, and only if the job needs
+ * them. For now I've decided not to quit if we can't read the drawing file. That
+ * pretty much assumes an old version of prologue is being used that includes all
+ * the drawing procedures.
+ *
+ */
+
+
+ if ( gotdraw == FALSE && access(drawfile, 04) == 0 )
+ doglobal(drawfile);
+
+ if ( tf == stdout )
+ gotdraw = TRUE;
+
+} /* End of getdraw */
+
+
+/*****************************************************************************/
+
+
+void
+drawline (
+ int dx,
+ int dy /* endpoint is (hpos+dx, vpos+dy) */
+)
+
+
+{
+
+
+/*
+ *
+ * Draws a line from (hpos, vpos) to (hpos+dx, vpos+dy), and leaves the current
+ * position at the endpoint.
+ *
+ */
+
+
+ if ( dx == 0 && dy == 0 )
+ drawcirc(1, 'c');
+ else fprintf(tf, "%d %d %d %d Dl\n", hpos + dx, vpos + dy, hpos, vpos);
+
+ hgoto(hpos+dx); /* where troff expects to be */
+ vgoto(vpos+dy);
+
+ resetpos(); /* not sure where the printer is */
+
+} /* End of drawline */
+
+
+/*****************************************************************************/
+
+
+void
+drawcirc (
+ int d, /* diameter of the circle */
+ int c
+)
+
+
+{
+
+
+/*
+ *
+ * Draws a circle of diameter d with the left 'side' of the circle at the
+ * current point. After we're finished drawing we move the current position
+ * to the right side.
+ *
+ */
+
+ drawellip(d, d, c == 'C' ? 'E' : 'e');
+
+} /* End of drawcirc */
+
+
+/*****************************************************************************/
+
+
+void
+drawellip (
+ int a,
+ int b, /* axes lengths for the ellipse */
+ int c
+)
+
+
+{
+
+
+/*
+ *
+ * Draws an ellipse having axes lengths horizontally and vertically of a and
+ * b. The left side of the ellipse is at the current point. After we're done
+ * drawing the path we move the current position to the right side.
+ *
+ */
+
+
+ if ( a == 0 && b == 0 )
+ return;
+
+ fprintf(tf, "%d %d %d %d D%c\n", hpos, vpos, a, b, c);
+
+ hgoto(hpos + a); /* where troff expects to be */
+ vgoto(vpos);
+
+ resetpos(); /* not sure where the printer is */
+
+} /* End of drawellip */
+
+
+/*****************************************************************************/
+
+
+void
+drawarc (
+ int dx1,
+ int dy1, /* vector from current pos to center */
+ int dx2,
+ int dy2, /* from center to end of the arc */
+ int c /* clockwise if c is A */
+)
+
+
+{
+
+
+/*
+ *
+ * If c isn't set to 'A' a counter-clockwise arc is drawn from the current point
+ * (hpos, vpos) to (hpos+dx1+dx2, vpos+dy1+dy2). The center of the circle is the
+ * point (hpos+dx1, vpos+dy1). If c is 'A' the arc goes clockwise from the point
+ * (hpos+dx1+dx2, vpos+dy1+dy2) to (hpos, vpos). Clockwise arcs are only needed
+ * if we're building a larger path out of pieces that include arcs, and want to
+ * have PostScript manage the path for us. Arguments (for a clockwise arc) are
+ * what would have been supplied if the arc was drawn in a counter-clockwise
+ * direction, and are converted to values suitable for use with PostScript's arcn
+ * operator.
+ *
+ */
+
+
+ if ( (dx1 != 0 || dy1 != 0) && (dx2 != 0 || dy2 != 0) )
+ {
+ if ( c != 'A' )
+ fprintf(tf, "%d %d %d %d %d %d Da\n", hpos, vpos, dx1, dy1, dx2, dy2);
+ else fprintf(tf, "%d %d %d %d %d %d DA\n", hpos+dx1+dx2, vpos+dy1+dy2,
+ -dx2, -dy2, -dx1, -dy1);
+ }
+
+ hgoto(hpos + dx1 + dx2); /* where troff expects to be */
+ vgoto(vpos + dy1 + dy2);
+
+ resetpos(); /* not sure where the printer is */
+
+} /* End of drawarc */
+
+
+/*****************************************************************************/
+
+void
+drawspline(
+
+
+ FILE *fp, /* input for point list */
+ int flag /* flag!=1 connect end points */
+)
+
+
+{
+
+
+ int x[100], y[100];
+ int i, N;
+
+
+/*
+ *
+ * Spline drawing routine for Postscript printers. The complicated stuff is
+ * handled by procedure Ds, which should be defined in the library file. I've
+ * seen wrong implementations of troff's spline drawing, so fo the record I'll
+ * write down the parametric equations and the necessary conversions to Bezier
+ * cubic splines (as used in Postscript).
+ *
+ *
+ * Parametric equation (x coordinate only):
+ *
+ *
+ * (x2 - 2 * x1 + x0) 2 (x0 + x1)
+ * x = ------------------ * t + (x1 - x0) * t + ---------
+ * 2 2
+ *
+ *
+ * The coefficients in the Bezier cubic are,
+ *
+ *
+ * A = 0
+ * B = (x2 - 2 * x1 + x0) / 2
+ * C = x1 - x0
+ *
+ *
+ * while the current point is,
+ *
+ * current-point = (x0 + x1) / 2
+ *
+ * Using the relationships given in the Postscript manual (page 121) it's easy to
+ * see that the control points are given by,
+ *
+ *
+ * x0' = (x0 + 5 * x1) / 6
+ * x1' = (x2 + 5 * x1) / 6
+ * x2' = (x1 + x2) / 2
+ *
+ *
+ * where the primed variables are the ones used by curveto. The calculations
+ * shown above are done in procedure Ds using the coordinates set up in both
+ * the x[] and y[] arrays.
+ *
+ * A simple test of whether your spline drawing is correct would be to use cip
+ * to draw a spline and some tangent lines at appropriate points and then print
+ * the file.
+ *
+ */
+
+
+ for ( N = 2; N < sizeof(x)/sizeof(x[0]); N++ )
+ if (fscanf(fp, "%d %d", &x[N], &y[N]) != 2)
+ break;
+
+ x[0] = x[1] = hpos;
+ y[0] = y[1] = vpos;
+
+ for (i = 1; i < N; i++) {
+ x[i+1] += x[i];
+ y[i+1] += y[i];
+ } /* End for */
+
+ x[N] = x[N-1];
+ y[N] = y[N-1];
+
+ for (i = ((flag!=1)?0:1); i < ((flag!=1)?N-1:N-2); i++)
+ fprintf(tf, "%d %d %d %d %d %d Ds\n", x[i], y[i], x[i+1], y[i+1], x[i+2], y[i+2]);
+
+ hgoto(x[N]); /* where troff expects to be */
+ vgoto(y[N]);
+
+ resetpos(); /* not sure where the printer is */
+
+} /* End of drawspline */
+
+
+/*****************************************************************************/
+
+
+void
+beginpath (
+ char *buf, /* whatever followed "x X BeginPath" */
+ int copy /* ignore *buf if FALSE */
+)
+
+
+{
+
+
+/*
+ *
+ * Called from devcntrl() whenever an "x X BeginPath" command is read. It's used
+ * to mark the start of a sequence of drawing commands that should be grouped
+ * together and treated as a single path. By default the drawing procedures in
+ * *drawfile treat each drawing command as a separate object, and usually start
+ * with a newpath (just as a precaution) and end with a stroke. The newpath and
+ * stroke isolate individual drawing commands and make it impossible to deal with
+ * composite objects. "x X BeginPath" can be used to mark the start of drawing
+ * commands that should be grouped together and treated as a single object, and
+ * part of what's done here ensures that the PostScript drawing commands defined
+ * in *drawfile skip the newpath and stroke, until after the next "x X DrawPath"
+ * command. At that point the path that's been built up can be manipulated in
+ * various ways (eg. filled and/or stroked with a different line width).
+ *
+ * String *buf is unnecessary and is only included for compatibility with an early
+ * verion of that's still in use. In that version "x X BeginObject" marked the
+ * start of a graphical object, and whatever followed it was passed along in *buf
+ * and copied to the output file. Color selection is one of the options that's
+ * available in parsebuf(), so if we get here we add *colorfile to the output
+ * file before doing anything important.
+ *
+ */
+
+
+
+ if ( inpath == FALSE ) {
+ endtext();
+ getdraw();
+ getcolor();
+ fprintf(tf, "gsave\n");
+ fprintf(tf, "newpath\n");
+ fprintf(tf, "%d %d m\n", hpos, vpos);
+ fprintf(tf, "/inpath true def\n");
+ if ( copy == TRUE )
+ fprintf(tf, "%s", buf);
+ inpath = TRUE;
+ } /* End if */
+
+} /* End of beginpath */
+
+
+/*****************************************************************************/
+
+
+void
+drawpath(char *buf, int copy)
+
+
+{
+
+
+/*
+ *
+ * Called from devcntrl() whenever an "x X DrawPath" command is read. It marks the
+ * end of the path started by the last "x X BeginPath" command and uses whatever
+ * has been passed along in *buf to manipulate the path (eg. fill and/or stroke
+ * the path). Once that's been done the drawing procedures are restored to their
+ * default behavior in which each drawing command is treated as an isolated path.
+ * The new version (called after "x X DrawPath") has copy set to FALSE, and calls
+ * parsebuf() to figure out what goes in the output file. It's a feeble attempt
+ * to free users and preprocessors (like pic) from having to know PostScript. The
+ * comments in parsebuf() describe what's handled.
+ *
+ * In the early version a path was started with "x X BeginObject" and ended with
+ * "x X EndObject". In both cases *buf was just copied to the output file, and
+ * was expected to be legitimate PostScript that manipulated the current path.
+ * The old escape sequence will be supported for a while (for Ravi), and always
+ * call this routine with copy set to TRUE.
+ *
+ *
+ */
+
+
+ if ( inpath == TRUE ) {
+ if ( copy == TRUE )
+ fprintf(tf, "%s", buf);
+ else parsebuf(buf);
+ fprintf(tf, "grestore\n");
+ fprintf(tf, "/inpath false def\n");
+ reset();
+ inpath = FALSE;
+ } /* End if */
+
+} /* End of drawpath */
+
+
+/*****************************************************************************/
+
+
+void
+parsebuf (
+ char *buf /* whatever followed "x X DrawPath" */
+)
+
+
+{
+
+
+ char *p; /* usually the next token */
+ char *p1; /* for grabbing arguments */
+ char *pend; /* end of the original string (ie. *buf) */
+ int gsavelevel = 0; /* non-zero if we've done a gsave */
+
+/*
+ *
+ * Simple minded attempt at parsing the string that followed an "x X DrawPath"
+ * command. Everything not recognized here is simply ignored - there's absolutely
+ * no error checking and what was originally in buf is clobbered by strtok().
+ * A typical *buf might look like,
+ *
+ * gray .9 fill stroke
+ *
+ * to fill the current path with a gray level of .9 and follow that by stroking the
+ * outline of the path. Since unrecognized tokens are ignored the last example
+ * could also be written as,
+ *
+ * with gray .9 fill then stroke
+ *
+ * The "with" and "then" strings aren't recognized tokens and are simply discarded.
+ * The "stroke", "fill", and "wfill" force out appropriate PostScript code and are
+ * followed by a grestore. In otherwords changes to the grahics state (eg. a gray
+ * level or color) are reset to default values immediately after the stroke, fill,
+ * or wfill tokens. For now "fill" gets invokes PostScript's eofill operator and
+ * "wfill" calls fill (ie. the operator that uses the non-zero winding rule).
+ *
+ * The tokens that cause temporary changes to the graphics state are "gray" (for
+ * setting the gray level), "color" (for selecting a known color from the colordict
+ * dictionary defined in *colorfile), and "line" (for setting the line width). All
+ * three tokens can be extended since strncmp() makes the comparison. For example
+ * the strings "line" and "linewidth" accomplish the same thing. Colors are named
+ * (eg. "red"), but must be appropriately defined in *colorfile. For now all three
+ * tokens must be followed immediately by their single argument. The gray level
+ * (ie. the argument that follows "gray") should be a number between 0 and 1, with
+ * 0 for black and 1 for white.
+ *
+ * To pass straight PostScript through enclose the appropriate commands in double
+ * quotes. Straight PostScript is only bracketed by the outermost gsave/grestore
+ * pair (ie. the one from the initial "x X BeginPath") although that's probably
+ * a mistake. Suspect I may have to change the double quote delimiters.
+ *
+ */
+
+
+ pend = buf + strlen(buf);
+ p = strtok(buf, " \n");
+
+ while ( p != NULL ) {
+ if ( gsavelevel == 0 ) {
+ fprintf(tf, "gsave\n");
+ gsavelevel++;
+ } /* End if */
+ if ( strcmp(p, "stroke") == 0 ) {
+ fprintf(tf, "closepath stroke\ngrestore\n");
+ gsavelevel--;
+ } else if ( strcmp(p, "openstroke") == 0 ) {
+ fprintf(tf, "stroke\ngrestore\n");
+ gsavelevel--;
+ } else if ( strcmp(p, "fill") == 0 ) {
+ fprintf(tf, "eofill\ngrestore\n");
+ gsavelevel--;
+ } else if ( strcmp(p, "wfill") == 0 ) {
+ fprintf(tf, "fill\ngrestore\n");
+ gsavelevel--;
+ } else if ( strcmp(p, "sfill") == 0 ) {
+ fprintf(tf, "eofill\ngrestore\ngsave\nstroke\ngrestore\n");
+ gsavelevel--;
+ } else if ( strncmp(p, "gray", strlen("gray")) == 0 ) {
+ p1 = strtok(NULL, " \n");
+ fprintf(tf, "%s setgray\n", p1);
+ } else if ( strncmp(p, "color", strlen("color")) == 0 ) {
+ p1 = strtok(NULL, " \n");
+ fprintf(tf, "/%s _setcolor\n", p1);
+ } else if ( strncmp(p, "line", strlen("line")) == 0 ) {
+ p1 = strtok(NULL, " \n");
+ fprintf(tf, "%s resolution mul 2 div setlinewidth\n", p1);
+ } else if ( strncmp(p, "reverse", strlen("reverse")) == 0 )
+ fprintf(tf, "reversepath\n");
+ else if ( *p == '"' ) {
+ for ( ; gsavelevel > 0; gsavelevel-- )
+ fprintf(tf, "grestore\n");
+ if ( (p1 = p + strlen(p)) < pend )
+ *p1 = ' ';
+ p = strtok(p, "\"\n");
+ fprintf(tf, "%s\n", p);
+ } /* End else */
+ p = strtok(NULL, " \n");
+ } /* End while */
+
+ for ( ; gsavelevel > 0; gsavelevel-- )
+ fprintf(tf, "grestore\n");
+
+} /* End of parsebuf */
+
+
+/*****************************************************************************/
+
+
+void
+getbaseline(void)
+
+
+{
+
+
+/*
+ *
+ * Responsible for making sure the PostScript procedures needed for printing text
+ * along an arbitrary baseline are downloaded from *baselinefile. Done at most
+ * once per job, and only if the the stuff is really used.
+ *
+ */
+
+
+ if ( gotbaseline == FALSE && access(baselinefile, 04) == 0 )
+ doglobal(baselinefile);
+
+ if ( tf == stdout )
+ gotbaseline = TRUE;
+
+} /* End of getbaseline */
+
+
+/*****************************************************************************/
+
+
+void
+newbaseline (
+ char *buf /* whatever followed "x X NewBaseline" */
+)
+
+
+{
+
+
+ char *p; /* for eliminating white space etc. */
+
+
+/*
+ *
+ * Called from devcntrl() whenever an "x X NewBaseline" command is recognized. We
+ * assume whatever is in *buf is a set of parametric equations that describe the
+ * new baseline. Equations for x(t), y(t), dx/dt, and dy/dt must be written in
+ * PostScript, bracketed by { and } characters, and supplied in exactly that order.
+ * In particular the equation for x must come first in *buf and it ends up as the
+ * last one on the stack, while the equation for dy/dt comes last (in *buf) and
+ * ends up on the top of the PostScript stack. For example if *buf is given by,
+ *
+ * {} {180 mul 3.1416 div cos} {pop 1} {180 mul 3.1416 div sin neg}
+ *
+ * text will be printed along the curve y = cos(x).
+ *
+ * Angles given in radians must be converted to degrees for the PostScript trig
+ * functions, and things are scaled so that 1 unit maps into 1 inch. In the last
+ * example the cosine curve that describes the baseline has an amplitude of 1 inch.
+ * As another example of this rather confusing syntax if *buf is,
+ *
+ * {} {} {pop 1} {pop 1}
+ *
+ * the baseline will be the 45 degree line y = x.
+ *
+ * When any of the four functions is used they're called with a single number on
+ * the stack that's equal to the current value of the parameter t. The coordinate
+ * system axes run parallel to the PostScript coordinate system that's currently
+ * being used.
+ *
+ */
+
+
+ for ( p = buf; *p; p++ ) /* eliminate trailing '\n' */
+ if ( *p == '\n' ) {
+ *p = '\0';
+ break;
+ } /* End if */
+
+ for ( p = buf; *p && (*p == ' ' || *p == ':'); p++ ) ;
+
+ if ( *p != '\0' ) { /* something's there */
+ endtext();
+ getbaseline();
+ fprintf(tf, "mark resolution %s newbaseline\n", p);
+ t_sf(1);
+ resetpos();
+ } /* End if */
+
+} /* End of newbaseline */
+
+
+/*****************************************************************************/
+
+
+void
+drawtext (
+ char *buf /* whatever followed "x X DrawText */
+)
+
+
+{
+
+
+ char *p; /* for eliminating white space etc. */
+
+
+/*
+ *
+ * Called from devcntrl() whenever an "x X DrawText command is recognized. *buf
+ * should contain three arguments in the following order. First comes the text we
+ * want to print along the current baseline. Right now the string should be given
+ * as a PostScript string using characters '(' and ')' as the delimiters. Next in
+ * *buf comes a justification mode that can be the words left, right, or center.
+ * Last comes a number that represents the starting value of the parameter t that's
+ * given as the argument to the parametric equations that describe the current
+ * baseline. For example if *buf is given by,
+ *
+ * (hello world) left .5
+ *
+ * hello world will be printed along the path described by the current baseline
+ * and left justified at whatever (x(.5), y(.5)) happens to be. Usually will be
+ * preceeded by an "x X NewBaseline" call that defines the current baseline. The
+ * origin of the coordinate system used by the parametric equations will be the
+ * current point.
+ *
+ */
+
+
+ for ( p = buf; *p; p++ ) /* eliminate trailing '\n' */
+ if ( *p == '\n' ) {
+ *p = '\0';
+ break;
+ } /* End if */
+
+ for ( p = buf; *p && (*p == ' ' || *p == ':'); p++ ) ;
+
+ if ( *p != '\0' ) { /* something's there */
+ endtext();
+ getbaseline();
+ xymove(hpos, vpos);
+ fprintf(tf, "mark %s drawfunnytext\n", p);
+ resetpos();
+ } /* End if */
+
+} /* End of drawtext */
+
+
+/*****************************************************************************/
+
+
+void
+settext(char *buf)
+
+
+{
+
+
+ char *p;
+
+
+/*
+ *
+ * Does whatever is needed to ensure any text that follows will be set along the
+ * curve described by the PostScript procedures listed in *buf. If *buf doesn't
+ * contain anything useful (eg. just a newline) things are restored to whatever
+ * they originally were. Doesn't work well if we try to start in the middle of a
+ * line of text.
+ *
+ * The parametric equations needed are,
+ *
+ * x = f(t)
+ * y = g(t)
+ * dx/dt = f'(t)
+ * dy/dt = g'(t)
+ *
+ * and must be given as proper PostScript procedures. The equation for x must come
+ * first (ie. it ends up on the bottom of the stack) and the equation for dy/dt
+ * must be given last (ie. it ends up on top of the stack). For example if *buf
+ * is given by,
+ *
+ * {} {180 mul 3.1416 div cos} {pop 1} {180 mul 3.1416 div sin neg}
+ *
+ * text will be set along the curve y=cos(x).
+ *
+ */
+
+
+ endtext();
+ getbaseline();
+
+ for ( p = buf; *p && *p == ' '; p++ ) ;
+
+ if ( *p && *p != '\n' ) {
+ encoding = maxencoding + 2;
+ fprintf(tf, "mark resolution %s newbaseline\n", buf);
+ } else encoding = realencoding;
+
+ fprintf(tf, "%d setdecoding\n", encoding);
+ resetpos();
+
+} /* End of settext */
+
+
+/*****************************************************************************/
+
diff --git a/troff/troff.d/dpost.d/ext.h b/troff/troff.d/dpost.d/ext.h
new file mode 100644
index 0000000000000..d1e76dbfb64d0
--- /dev/null
+++ b/troff/troff.d/dpost.d/ext.h
@@ -0,0 +1,54 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "ext.h 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ext.h 1.7 (gritter) 3/27/07
+ */
+
+/*
+ *
+ * External varible declarations - many are defined in glob.c.
+ *
+ */
+
+
+extern char **argv; /* global so everyone can use them */
+extern int argc;
+
+extern int x_stat; /* program exit status */
+extern int debug; /* debug flag */
+extern int ignore; /* what we do with FATAL errors */
+
+extern long lineno; /* line number */
+extern long position; /* byte position */
+extern int printed; /* pages printed so far */
+extern char *prog_name; /* and program name - for errors */
+extern char *temp_file; /* temporary file - for some programs */
+
+extern int LanguageLevel; /* language level of generated PS */
diff --git a/troff/troff.d/dpost.d/gen.h b/troff/troff.d/dpost.d/gen.h
new file mode 100644
index 0000000000000..6e0a2bb1ef864
--- /dev/null
+++ b/troff/troff.d/dpost.d/gen.h
@@ -0,0 +1,174 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "gen.h 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)gen.h 1.16 (gritter) 10/15/06
+ */
+
+/*
+ *
+ * A few definitions that shouldn't have to change. They're used by most of the
+ * programs in this package.
+ *
+ */
+
+
+extern const char creator[];
+
+
+#define NON_FATAL 0
+#define FATAL 1
+#define USER_FATAL 2
+
+#define OFF 0
+#define ON 1
+
+#define FALSE 0
+#define TRUE 1
+
+#define BYTE 8
+#define BMASK 0377
+
+#define POINTS 72.3
+
+#ifndef PI
+#define PI 3.141592654
+#endif
+
+
+/*
+ *
+ * A few simple macros.
+ *
+ */
+
+
+#define ABS(A) ((A) >= 0 ? (A) : -(A))
+#undef MIN
+#define MIN(A, B) ((A) < (B) ? (A) : (B))
+#undef MAX
+#define MAX(A, B) ((A) > (B) ? (A) : (B))
+
+/* color.c */
+void getcolor(void);
+void newcolor(char *);
+void setcolor(void);
+/* dpost.c */
+void init_signals(void);
+void header(FILE *);
+void options(void);
+void setpaths(char *);
+void setup(void);
+void arguments(void);
+void done(void);
+void account(void);
+void conv(register FILE *);
+void devcntrl(FILE *);
+void fontinit(void);
+void loadfont(int, char *, char *, int, int);
+void loadspecial(void);
+void loaddefault(void);
+void fontprint(int);
+char *mapfont(char *);
+void getdevmap(void);
+char *mapdevfont(char *);
+void reset(void);
+void resetpos(void);
+void t_init(void);
+void t_page(int);
+void t_newline(void);
+int t_size(int);
+void setsize(int, float);
+void t_fp(int, char *, char *, void *);
+int t_font(char *);
+void setfont(int);
+void t_sf(int);
+void t_charht(int, float);
+void t_slant(int);
+void needresource(const char *, ...);
+void t_supply(char *);
+void t_reset(int);
+void t_trailer(void);
+void hgoto(int);
+void hmot(int);
+void vgoto(int);
+void vmot(int);
+void xymove(int, int);
+void put1s(register char *);
+void put1(register int);
+void oput(int);
+void starttext(void);
+void endtext(void);
+void endstring(void);
+void endline(void);
+void addchar(int);
+void addoctal(int);
+void charlib(int);
+int doglobal(char *);
+void documentfont(const char *);
+void documentfonts(void);
+void redirect(int);
+/* draw.c */
+void getdraw(void);
+void drawline(int, int);
+void drawcirc(int, int);
+void drawellip(int, int, int);
+void drawarc(int, int, int, int, int);
+void drawspline(FILE *, int);
+void beginpath(char *, int);
+void drawpath(char *, int);
+void parsebuf(char *);
+void getbaseline(void);
+void newbaseline(char *);
+void drawtext(char *);
+void settext(char *);
+/* glob.c */
+/* misc.c */
+void error(int, char *, ...);
+void out_list(char *);
+int in_olist(int);
+int cat(char *, FILE *);
+int str_convert(char **, int);
+char *tempname(const char *);
+int psskip(size_t, FILE *);
+char *psgetline(char **, size_t *, size_t *, FILE *);
+int sget(char *, size_t, FILE *);
+/* pictures.c */
+void picture(char *);
+FILE *picopen(char *);
+void inlinepic(FILE *, char *);
+void piccopy(FILE *, FILE *, long);
+/* ps_include.c */
+void ps_include(const char *, FILE *, FILE *, int, int, int, int,
+ double, double, double, double, double, double, double);
+/* request.c */
+void saverequest(char *);
+void writerequest(int, FILE *);
+void dumprequest(char *, char *, FILE *);
+/* tempnam.c */
diff --git a/troff/troff.d/dpost.d/getopt.c b/troff/troff.d/dpost.d/getopt.c
new file mode 100644
index 0000000000000..bb8c53d072cb9
--- /dev/null
+++ b/troff/troff.d/dpost.d/getopt.c
@@ -0,0 +1,222 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07
+ */
+/* from OpenSolaris "getopt.c 1.23 05/06/08 SMI" */
+
+/* Copyright (c) 1988 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * See getopt(3C) and SUS/XPG getopt() for function definition and
+ * requirements.
+ *
+ * This actual implementation is a bit looser than the specification
+ * as it allows any character other than ':' to be used as an option
+ * character - The specification only guarantees the alnum characters
+ * ([a-z][A-Z][0-9]).
+ */
+
+#include <sys/types.h>
+#include <string.h>
+#include <stdio.h>
+
+extern ssize_t write(int, const void *, size_t);
+
+char *optarg = NULL;
+int optind = 1;
+int opterr = 1;
+int optopt = 0;
+
+#define ERR(s, c) err(s, c, optstring, argv[0])
+static void
+err(const char *s, int c, const char *optstring, const char *argv0)
+{
+ char errbuf[256], *ep = errbuf;
+ const char *cp;
+
+ if (opterr && optstring[0] != ':') {
+ for (cp = argv0; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = ": "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = s; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ for (cp = " -- "; *cp && ep<&errbuf[sizeof errbuf]; cp++, ep++)
+ *ep = *cp;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = c;
+ if (ep<&errbuf[sizeof errbuf])
+ *ep++ = '\n';
+ write(2, errbuf, ep - errbuf);
+ }
+}
+
+/*
+ * getopt_sp is required to keep state between successive calls to getopt()
+ * while extracting aggregated options (ie: -abcd). Hence, getopt() is not
+ * thread safe or reentrant, but it really doesn't matter.
+ *
+ * So, why isn't this "static" you ask? Because the historical Bourne
+ * shell has actually latched on to this little piece of private data.
+ */
+int getopt_sp = 1;
+
+/*
+ * Determine if the specified character (c) is present in the string
+ * (optstring) as a regular, single character option. If the option is found,
+ * return a pointer into optstring pointing at the option character,
+ * otherwise return null. The character ':' is not allowed.
+ */
+static char *
+parse(const char *optstring, const char c)
+{
+ char *cp = (char *)optstring;
+
+ if (c == ':')
+ return (NULL);
+ do {
+ if (*cp == c)
+ return (cp);
+ } while (*cp++ != '\0');
+ return (NULL);
+}
+
+/*
+ * External function entry point.
+ */
+int
+getopt(int argc, char *const *argv, const char *optstring)
+{
+ char c;
+ char *cp;
+
+ /*
+ * Has the end of the options been encountered? The following
+ * implements the SUS requirements:
+ *
+ * If, when getopt() is called:
+ * argv[optind] is a null pointer
+ * *argv[optind] is not the character '-'
+ * argv[optind] points to the string "-"
+ * getopt() returns -1 without changing optind. If
+ * argv[optind] points to the string "--"
+ * getopt() returns -1 after incrementing optind.
+ */
+ if (getopt_sp == 1) {
+ if (optind >= argc || argv[optind][0] != '-' ||
+ argv[optind] == NULL || argv[optind][1] == '\0')
+ return (EOF);
+ else if (strcmp(argv[optind], "--") == 0) {
+ optind++;
+ return (EOF);
+ }
+ }
+
+ /*
+ * Getting this far indicates that an option has been encountered.
+ * Note that the syntax of optstring applies special meanings to
+ * the characters ':' and '(', so they are not permissible as
+ * option letters. A special meaning is also applied to the ')'
+ * character, but its meaning can be determined from context.
+ * Note that the specification only requires that the alnum
+ * characters be accepted.
+ */
+ optopt = c = (unsigned char)argv[optind][getopt_sp];
+ optarg = NULL;
+ if ((cp = parse(optstring, c)) == NULL) {
+ /* LINTED: variable format specifier */
+ ERR("illegal option", c);
+ if (argv[optind][++getopt_sp] == '\0') {
+ optind++;
+ getopt_sp = 1;
+ }
+ return ('?');
+ }
+ optopt = c = *cp;
+
+ /*
+ * A valid option has been identified. If it should have an
+ * option-argument, process that now. SUS defines the setting
+ * of optarg as follows:
+ *
+ * 1. If the option was the last character in the string pointed to
+ * by an element of argv, then optarg contains the next element
+ * of argv, and optind is incremented by 2. If the resulting
+ * value of optind is not less than argc, this indicates a
+ * missing option-argument, and getopt() returns an error
+ * indication.
+ *
+ * 2. Otherwise, optarg points to the string following the option
+ * character in that element of argv, and optind is incremented
+ * by 1.
+ *
+ * The second clause allows -abcd (where b requires an option-argument)
+ * to be interpreted as "-a -b cd".
+ */
+ if (*(cp + 1) == ':') {
+ /* The option takes an argument */
+ if (argv[optind][getopt_sp+1] != '\0') {
+ optarg = &argv[optind++][getopt_sp+1];
+ } else if (++optind >= argc) {
+ /* LINTED: variable format specifier */
+ ERR("option requires an argument", c);
+ getopt_sp = 1;
+ optarg = NULL;
+ return (optstring[0] == ':' ? ':' : '?');
+ } else
+ optarg = argv[optind++];
+ getopt_sp = 1;
+ } else {
+ /* The option does NOT take an argument */
+ if (argv[optind][++getopt_sp] == '\0') {
+ getopt_sp = 1;
+ optind++;
+ }
+ optarg = NULL;
+ }
+ return (c);
+} /* getopt() */
+
+#ifdef __APPLE__
+/*
+ * Starting with Mac OS 10.5 Leopard, <unistd.h> turns getopt()
+ * into getopt$UNIX2003() by default. Consequently, this function
+ * is called instead of the one defined above. However, optind is
+ * still taken from this file, so in effect, options are not
+ * properly handled. Defining an own getopt$UNIX2003() function
+ * works around this issue.
+ */
+int
+getopt$UNIX2003(int argc, char *const argv[], const char *optstring)
+{
+ return getopt(argc, argv, optstring);
+}
+#endif /* __APPLE__ */
diff --git a/troff/troff.d/dpost.d/glob.c b/troff/troff.d/dpost.d/glob.c
new file mode 100644
index 0000000000000..3738ce688750f
--- /dev/null
+++ b/troff/troff.d/dpost.d/glob.c
@@ -0,0 +1,56 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "glob.c 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)glob.c 1.3 (gritter) 8/9/05
+ */
+
+/*
+ *
+ * Definition and initialization of some global variables.
+ *
+ */
+
+
+#include <stdio.h>
+#include "gen.h" /* general purpose definitions */
+
+
+char **argv; /* global so everyone can use them */
+int argc;
+
+int x_stat = 0; /* program exit status */
+int debug = OFF; /* debug flag */
+int ignore = OFF; /* what we do with FATAL errors */
+
+long lineno = 0; /* line number */
+long position = 0; /* byte position */
+char *prog_name = ""; /* and program name - for errors */
+char *temp_file = NULL; /* temporary file - for some programs */
+
diff --git a/troff/troff.d/dpost.d/makedev.c b/troff/troff.d/dpost.d/makedev.c
new file mode 100644
index 0000000000000..bbe7172b9b818
--- /dev/null
+++ b/troff/troff.d/dpost.d/makedev.c
@@ -0,0 +1,29 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)makedev.c 1.1 (gritter) 9/4/05
+ */
+
+#include "../makedev.c"
diff --git a/troff/troff.d/dpost.d/misc.c b/troff/troff.d/dpost.d/misc.c
new file mode 100644
index 0000000000000..3d6692b720217
--- /dev/null
+++ b/troff/troff.d/dpost.d/misc.c
@@ -0,0 +1,395 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/*
+ * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* from OpenSolaris "misc.c 1.6 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)misc.c 1.14 (gritter) 12/25/06
+ */
+
+/*
+ *
+ * A few general purpose routines.
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdarg.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <string.h>
+#include <fcntl.h>
+
+#include "gen.h" /* a few general purpose definitions */
+#include "ext.h" /* external variable declarations */
+#include "path.h"
+#include "asciitype.h"
+
+
+static int nolist = 0; /* number of specified ranges */
+static int olist[512]; /* processing range pairs */
+
+
+void
+error(int kind, char *mesg, ...)
+{
+
+
+/*
+ *
+ * Called when we've run into some kind of program error. *mesg is printed using
+ * the control string arguments a?. We'll quit if we're not ignoring errors and
+ * kind is FATAL.
+ *
+ */
+
+
+ if ( mesg != NULL && *mesg != '\0' ) {
+ va_list ap;
+
+ fprintf(stderr, "%s: ", prog_name);
+ va_start(ap, mesg);
+ vfprintf(stderr, mesg, ap);
+ va_end(ap);
+ if ( lineno > 0 )
+ fprintf(stderr, " (line %ld)", lineno);
+ if ( position > 0 )
+ fprintf(stderr, " (near byte %ld)", position);
+ if ( printed > 0 )
+ fprintf(stderr, " (page %d)", printed);
+ putc('\n', stderr);
+ } /* End if */
+
+ if ( kind == FATAL && ignore == OFF ) {
+ if ( temp_file != NULL )
+ unlink(temp_file);
+ exit(x_stat | 01);
+ } /* End if */
+
+} /* End of error */
+
+
+/*****************************************************************************/
+/* for the AFM handling functions from troff */
+void
+verrprint(char *fmt, va_list ap)
+{
+ fprintf(stderr, "%s: ", prog_name);
+ vfprintf(stderr, fmt, ap);
+ putc('\n', stderr);
+}
+
+void
+errprint(char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ verrprint(fmt, ap);
+ va_end(ap);
+}
+
+/*****************************************************************************/
+
+
+void
+out_list (
+ char *str /* process ranges in this string */
+)
+
+
+{
+
+
+ int start, stop; /* end points */
+
+
+/*
+ *
+ * Called to get the processing ranges that were specified by using the -o option.
+ * The range syntax should be identical to the one used in nroff and troff.
+ *
+ */
+
+
+ while ( *str && nolist < sizeof(olist) - 2 ) {
+ start = stop = str_convert(&str, 0);
+
+ if ( *str == '-' && *str++ )
+ stop = str_convert(&str, 9999);
+
+ if ( start > stop )
+ error(FATAL, "illegal range %d-%d", start, stop);
+
+ olist[nolist++] = start;
+ olist[nolist++] = stop;
+
+ if ( *str != '\0' ) str++;
+
+ } /* End while */
+
+ olist[nolist] = 0;
+
+} /* End of out_list */
+
+
+/*****************************************************************************/
+
+
+int
+in_olist (
+ int num /* should we print this page? */
+)
+
+
+{
+
+
+ int i; /* just a loop index */
+
+
+/*
+ *
+ * Returns ON if num represents a page that we're supposed to print. If no ranges
+ * were selected nolist will be 0 and we'll print everything.
+ *
+ */
+
+
+ if ( nolist == 0 ) /* everything's included */
+ return(ON);
+
+ for ( i = 0; i < nolist; i += 2 )
+ if ( num >= olist[i] && num <= olist[i+1] )
+ return(ON);
+
+ return(OFF);
+
+} /* End of in_olist */
+
+
+/*****************************************************************************/
+
+
+int
+cat (
+ char *file, /* copy this file to out */
+ FILE *out
+)
+
+
+{
+
+
+ int fd_in; /* for the input */
+ int fd_out; /* and output files */
+ char buf[512]; /* buffer for reads and writes */
+ int count; /* number of bytes we just read */
+
+
+/*
+ *
+ * Copies *file to stdout - mostly for the prologue. Returns FALSE if there was a
+ * problem and TRUE otherwise.
+ *
+ */
+
+
+ fflush(out);
+
+ if ( (fd_in = open(file, O_RDONLY)) == -1 )
+ return(FALSE);
+
+ fd_out = fileno(out);
+ while ( (count = read(fd_in, buf, sizeof(buf))) > 0 )
+ write(fd_out, buf, count);
+
+ close(fd_in);
+
+ return(TRUE);
+
+} /* End of cat */
+
+
+/*****************************************************************************/
+
+
+int
+str_convert (
+ char **str, /* get next number from this string */
+ int err /* value returned on error */
+)
+
+
+{
+
+
+ int i; /* just a loop index */
+ int c;
+
+
+/*
+ *
+ * Gets the next integer from **str and returns its value to the caller. If **str
+ * isn't an integer err is returned. *str is updated after each digit is processed.
+ *
+ */
+
+
+ if ( ! isdigit(c = **str) ) /* something's wrong */
+ return(err);
+
+ for ( i = 0; isdigit(c = **str); *str += 1 )
+ i = 10 * i + c - '0';
+
+ return(i);
+
+} /* End of str_convert */
+
+
+/*****************************************************************************/
+
+
+
+
+void interrupt(
+
+
+ int sig) /* signal that we caught */
+
+
+{
+
+
+/*
+ *
+ * Called when we get a signal that we're supposed to catch.
+ *
+ */
+
+
+ if ( temp_file != NULL )
+ unlink(temp_file);
+
+ exit(1);
+
+} /* End of interrupt */
+
+
+/*****************************************************************************/
+
+
+char *
+tempname(const char *sfx)
+{
+ size_t l = strlen(TEMPDIR) + strlen(sfx) + 10;
+ char *pat = malloc(l);
+ snprintf(pat, l, "%s/%sXXXXXX", TEMPDIR, sfx);
+ if (close(mkstemp(pat)) < 0)
+ return NULL;
+ return pat;
+}
+
+
+/*****************************************************************************/
+
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+#define LSIZE 512
+
+int psskip(size_t n, FILE *fp)
+{
+ return fseek(fp, n, SEEK_CUR);
+}
+
+char *psgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+ int nl = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = realloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = realloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ if (nl && c != '\n') {
+ ungetc(c, fp);
+ break;
+ }
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ if (c == '\r')
+ nl = 1;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
+
+
+/*****************************************************************************/
+
+
+int
+sget(char *buf, size_t size, FILE *fp)
+{
+ int c, n = 0;
+
+ do
+ c = getc(fp);
+ while (spacechar(c));
+ if (c != EOF) do {
+ if (n+1 < size)
+ buf[n++] = c;
+ c = getc(fp);
+ } while (c != EOF && !spacechar(c));
+ ungetc(c, fp);
+ buf[n] = 0;
+ return n > 1 ? 1 : c == EOF ? EOF : 0;
+}
diff --git a/troff/troff.d/dpost.d/otf.c b/troff/troff.d/dpost.d/otf.c
new file mode 100644
index 0000000000000..9e193247cf34b
--- /dev/null
+++ b/troff/troff.d/dpost.d/otf.c
@@ -0,0 +1,36 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)otf.c 1.3 (gritter) 10/13/05
+ */
+
+#include <stdio.h>
+#if defined (__GLIBC__) && defined (_IO_putc_unlocked)
+#undef putc
+#define putc(c, f) _IO_putc_unlocked(c, f)
+#endif
+
+#define DPOST
+#include "../otf.c"
diff --git a/troff/troff.d/dpost.d/path.h b/troff/troff.d/dpost.d/path.h
new file mode 100644
index 0000000000000..2723e74f81f6e
--- /dev/null
+++ b/troff/troff.d/dpost.d/path.h
@@ -0,0 +1,61 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "path.h 1.5 05/06/08 SMI" SVr4.0 1.6 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)path.h 1.5 (gritter) 12/18/05
+ */
+/*
+ *
+ * pathname definitions for important files and directories.
+ *
+ */
+
+
+#define DPOST PSTDIR "/dpost.ps"
+#define POSTBGI PSTDIR "/postbgi.ps"
+#define POSTDAISY PSTDIR "/postdaisy.ps"
+#define POSTDMD PSTDIR "/postdmd.ps"
+#define POSTMD PSTDIR "/postmd.ps"
+#define POSTPLOT PSTDIR "/postplot.ps"
+#define POSTPRINT PSTDIR "/postprint.ps"
+#define POSTTEK PSTDIR "/posttek.ps"
+
+#define BASELINE PSTDIR "/baseline.ps"
+#define COLOR PSTDIR "/color.ps"
+#define CUTMARKS PSTDIR "/cutmarks.ps"
+#define DRAW PSTDIR "/draw.ps"
+#define FORMFILE PSTDIR "/forms.ps"
+#define KERNING PSTDIR "/kerning.ps"
+#define REQUESTFILE PSTDIR "/ps.requests"
+#define PSINCLUDEFILE PSTDIR "/ps_include.ps"
+
+#define HOSTFONTDIR "/usr/share/lib/hostfontdir"
+#define FONTDIR FNTDIR
+#define TEMPDIR "/tmp"
+
diff --git a/troff/troff.d/dpost.d/pictures.c b/troff/troff.d/dpost.d/pictures.c
new file mode 100644
index 0000000000000..e6c135dd29473
--- /dev/null
+++ b/troff/troff.d/dpost.d/pictures.c
@@ -0,0 +1,364 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1993 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "pictures.c 1.7 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)pictures.c 1.7 (gritter) 3/27/07
+ */
+
+/*
+ *
+ * PostScript picture inclusion routines. Support for managing in-line pictures
+ * has been added, and works in combination with the simple picpack pre-processor
+ * that's supplied with this package. An in-line picture begins with a special
+ * device control command that looks like,
+ *
+ * x X InlinPicture name size
+ *
+ * where name is the pathname of the original picture file and size is the number
+ * of bytes in the picture, which begins immediately on the next line. When dpost
+ * encounters the InlinePicture device control command inlinepic() is called and
+ * that routine appends the string name and the integer size to a temporary file
+ * (fp_pic) and then adds the next size bytes read from the current input file to
+ * file fp_pic. All in-line pictures are saved in fp_pic and located later using
+ * the name string and picture file size that separate pictures saved in fp_pic.
+ *
+ * When a picture request (ie. an "x X PI" command) is encountered picopen() is
+ * called and it first looks for the picture file in fp_pic. If it's found there
+ * the entire picture (ie. size bytes) is copied from fp_pic to a new temp file
+ * and that temp file is used as the picture file. If there's nothing in fp_pic
+ * or if the lookup failed the original route is taken.
+ *
+ * Support for in-line pictures is an attempt to address requirements, expressed
+ * by several orginazations, of being able to store a document as a single file
+ * (usually troff input) that can then be sent through dpost and ultimately to
+ * a PostScript printer. The mechanism may help some users, but the are obvious
+ * disadvantages to this approach, and the original mechanism is the recommended
+ * approach! Perhaps the most important problem is that troff output, with in-line
+ * pictures included, doesn't fit the device independent language accepted by
+ * important post-processors (like proff) and that means you won't be able to
+ * reliably preview a packed file on your 5620 (or whatever).
+ *
+ */
+
+
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include "comments.h" /* PostScript file structuring comments */
+#include "gen.h" /* general purpose definitions */
+#include "path.h" /* just for TEMPDIR definition */
+
+
+static FILE *fp_pic = NULL; /* in-line pictures go here */
+
+extern int res, hpos, vpos;
+extern int picflag;
+extern FILE *tf;
+
+
+/*****************************************************************************/
+
+
+void
+picture (
+ char *buf /* stuff following 'x X PI' command */
+)
+
+
+{
+
+
+ int poffset; /* page offset */
+ int indent; /* indent */
+ int length; /* line length */
+ int totrap; /* distance to next trap */
+ char name[4096]; /* picture file and page string */
+ char hwo[4096], *p; /* height, width and offset strings */
+ char flags[4096]; /* miscellaneous stuff */
+ int page = 1; /* page number pulled from name[] */
+ double frame[4]; /* height, width, y, and x offsets from hwo[] */
+ char units; /* scale indicator for frame dimensions */
+ int whiteout = 0; /* white out the box? */
+ int outline = 0; /* draw a box around the picture? */
+ int scaleboth = 0; /* scale both dimensions? */
+ double adjx = 0.5; /* left-right adjustment */
+ double adjy = 0.5; /* top-bottom adjustment */
+ double rot = 0; /* rotation in clockwise degrees */
+ FILE *fp_in; /* for *name */
+ int i; /* loop index */
+
+
+/*
+ *
+ * Called from devcntrl() after an 'x X PI' command is found. The syntax of that
+ * command is:
+ *
+ * x X PI:args
+ *
+ * with args separated by colons and given by:
+ *
+ * poffset
+ * indent
+ * length
+ * totrap
+ * file[(page)]
+ * height[,width[,yoffset[,xoffset]]]
+ * [flags]
+ *
+ * poffset, indent, length, and totrap are given in machine units. height, width,
+ * and offset refer to the picture frame in inches, unless they're followed by
+ * the u scale indicator. flags is a string that provides a little bit of control
+ * over the placement of the picture in the frame. Rotation of the picture, in
+ * clockwise degrees, is set by the a flag. If it's not followed by an angle
+ * the current rotation angle is incremented by 90 degrees, otherwise the angle
+ * is set by the number that immediately follows the a.
+ *
+ */
+
+
+ if ( picflag == OFF ) /* skip it */
+ return;
+
+ endtext();
+
+ flags[0] = '\0'; /* just to be safe */
+ if ( sscanf(buf, "%d:%d:%d:%d:%[^:]:%[^:]:%[^:]", &poffset, &indent,
+ &length, &totrap, name, hwo, flags) < 6 ) {
+ error(NON_FATAL, "too few arguments to specify picture");
+ return;
+ } /* End if */
+
+ if ( sscanf(name, "%*[^(](%d", &page) == 1 ) /* grab the page number */
+ strtok(name, "("); /* and separate it from the name */
+
+ if ( (fp_in = picopen(name)) == NULL ) {
+ error(NON_FATAL, "can't open picture file %s", name);
+ return;
+ } /* End if */
+
+ frame[0] = frame[1] = -1; /* default frame height, width */
+ frame[2] = frame[3] = 0; /* and y and x offsets */
+
+ for ( i = 0, p = hwo; i < 4 && p != NULL; i++, p = strchr(p, ',') ) {
+ if (i)
+ p++;
+ if ( sscanf(p, "%lf%c", &frame[i], &units) == 2 )
+ if ( units == 'i' || units == ',' || units == '\0' )
+ frame[i] *= res;
+ }
+
+ if ( frame[0] <= 0 ) /* check what we got for height */
+ frame[0] = totrap;
+
+ if ( frame[1] <= 0 ) /* and width - check too big?? */
+ frame[1] = length - indent;
+
+ frame[3] += poffset + indent; /* real x offset */
+
+ for ( i = 0; flags[i]; i++ )
+ switch ( flags[i] ) {
+ case 'c': adjx = adjy = 0.5; break; /* move to the center */
+ case 'l': adjx = 0; break; /* left */
+ case 'r': adjx = 1; break; /* right */
+ case 't': adjy = 1; break; /* top */
+ case 'b': adjy = 0; break; /* or bottom justify */
+ case 'o': outline = 1; break; /* outline the picture */
+ case 'w': whiteout = 1; break; /* white out the box */
+ case 's': scaleboth = 1; break; /* scale both dimensions */
+ case 'a': if ( sscanf(&flags[i+1], "%lf", &rot) != 1 )
+ rot += 90;
+ } /* End switch */
+
+ fprintf(tf, "save mark\n");
+ fprintf(tf, "[ /NamespacePush pdfmark\n");
+
+ ps_include(name, fp_in, tf, page, whiteout, outline, scaleboth,
+ frame[3]+frame[1]/2, -vpos-frame[2]-frame[0]/2, frame[1], frame[0], adjx, adjy, -rot);
+
+ fprintf(tf, "[ /NamespacePop pdfmark\n");
+ fprintf(tf, "cleartomark restore\n");
+ xymove(hpos, vpos);
+ t_sf(1);
+
+ fclose(fp_in);
+
+} /* End of picture */
+
+
+/*****************************************************************************/
+
+
+FILE *picopen(
+
+
+ char *path /* picture file pathname */
+)
+
+
+{
+
+
+ char name[4096]; /* pathnames */
+ long total; /* and sizes - from *fp_pic */
+ char *tname; /* pathname */
+ FILE *fp; /* and pointer for the new temp file */
+
+
+/*
+ *
+ * Responsible for finding and opening the next picture file. If we've accumulated
+ * any in-line pictures fp_pic won't be NULL and we'll look there first. If *path
+ * is found in *fp_pic we create another temp file, open it for update, unlink it,
+ * copy in the picture, seek back to the start of the new temp file, and return
+ * the file pointer to the caller. If fp_pic is NULL or the lookup fails we just
+ * open file *path and return the resulting file pointer to the caller.
+ *
+ */
+
+
+ if ( fp_pic != NULL ) {
+ fseek(fp_pic, 0L, SEEK_SET);
+ while ( fscanf(fp_pic, "%s %ld\n", name, &total) != EOF ) {
+ if ( strcmp(path, name) == 0 ) {
+ if ( (tname = tempname("dpost")) == NULL )
+ error(FATAL, "can't generate temp file name");
+ if ( (fp = fopen(tname, "w+")) == NULL )
+ error(FATAL, "can't open %s", tname);
+ unlink(tname);
+ free(tname);
+ piccopy(fp_pic, fp, total);
+ fseek(fp, 0L, SEEK_SET);
+ return(fp);
+ } /* End if */
+ fseek(fp_pic, total, SEEK_CUR);
+ } /* End while */
+ } /* End if */
+
+ return(fopen(path, "r"));
+
+} /* End of picopen */
+
+
+/*****************************************************************************/
+
+
+void
+inlinepic(
+
+
+ FILE *fp, /* current input file */
+ char *buf /* whatever followed "x X InlinePicture" */
+)
+
+
+{
+
+
+ char *tname; /* temp file pathname - for *fp_pic */
+ char name[4096]; /* picture file pathname */
+ long total; /* and size - both from *buf */
+
+
+/*
+ *
+ * Adds an in-line picture file to the end of temporary file *fp_pic. All pictures
+ * grabbed from the input file are saved in the same temp file. Each is preceeded
+ * by a one line header that includes the original picture file pathname and the
+ * size of the picture in bytes. The in-line picture file is opened for update,
+ * left open, and unlinked so it disappears when we do.
+ *
+ */
+
+
+ if ( fp_pic == NULL ) {
+ if ( (tname = tempname("dpost")) == NULL )
+ error(FATAL, "can't generate in-line picture file name");
+ if ( (fp_pic = fopen(tname, "w+")) == NULL )
+ error(FATAL, "can't open in-line picture file %s", tname);
+ unlink(tname);
+ } /* End if */
+
+ if ( sscanf(buf, "%s %ld", name, &total) != 2 )
+ error(FATAL, "in-line picture error");
+
+ fseek(fp_pic, 0L, SEEK_END);
+ fprintf(fp_pic, "%s %ld\n", name, total);
+ getc(fp);
+ fflush(fp_pic);
+ piccopy(fp, fp_pic, total);
+ ungetc('\n', fp);
+
+} /* End of inlinepic */
+
+
+/*****************************************************************************/
+
+
+void
+piccopy(
+
+
+ FILE *fp_in, /* input */
+ FILE *fp_out, /* and output file pointers */
+ long total /* number of bytes to be copied */
+)
+
+
+{
+
+
+ long i; /* loop index */
+
+
+/*
+ *
+ * Copies total bytes from file fp_in to fp_out. Used to append picture files to
+ * *fp_pic and then copy them to yet another temporary file immediately before
+ * they're used (in picture()).
+ *
+ */
+
+
+ for ( i = 0; i < total; i++ )
+ if ( putc(getc(fp_in), fp_out) == EOF )
+ error(FATAL, "error copying in-line picture file");
+ fflush(fp_out);
+
+} /* End of piccopy */
+
+
+/*****************************************************************************/
+
diff --git a/troff/troff.d/dpost.d/ps_include.c b/troff/troff.d/dpost.d/ps_include.c
new file mode 100644
index 0000000000000..758bde9562432
--- /dev/null
+++ b/troff/troff.d/dpost.d/ps_include.c
@@ -0,0 +1,361 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "ps_include.c 1.5 05/06/08 SMI" SVr4.0 1.3 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)ps_include.c 1.10 (gritter) 10/15/06
+ */
+
+/*
+ *
+ * Picture inclusion code for PostScript printers.
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include "gen.h"
+#include "ext.h"
+#include "path.h"
+#include "asciitype.h"
+
+
+#define var(x) fprintf(fout, "/%s %g def\n", #x, x)
+#define has(word) _has(buf, word)
+#define grab(n) ((Section *)(nglobal \
+ ? realloc((char *)global, n*sizeof(Section)) \
+ : calloc(n, sizeof(Section))))
+
+
+static char *buf;
+static size_t bufsize;
+typedef struct {long start, end;} Section;
+
+static void copy(FILE *, FILE *, Section *);
+static char *_has(const char *, const char *);
+static void addfonts(char *);
+
+/*****************************************************************************/
+
+
+void
+ps_include(
+
+
+ const char *name, /* file name */
+ FILE *fin, FILE *fout, /* input and output files */
+ int page_no, /* physical page number from *fin */
+ int whiteout, /* erase picture area */
+ int outline, /* draw a box around it and */
+ int scaleboth, /* scale both dimensions - if not zero */
+ double cx, double cy, /* center of the picture and */
+ double sx, double sy, /* its size - in current coordinates */
+ double ax, double ay, /* left-right, up-down adjustment */
+ double rot /* rotation - in clockwise degrees */
+)
+
+
+{
+
+ static int gotinclude;
+
+ int foundpage = 0; /* found the page when non zero */
+ int nglobal = 0; /* number of global defs so far */
+ int maxglobal = 0; /* and the number we've got room for */
+ Section prolog, page, trailer; /* prologue, page, and trailer offsets */
+ Section *global = 0; /* offsets for all global definitions */
+ double llx, lly; /* lower left and */
+ double urx, ury; /* upper right corners - default coords */
+ double w = whiteout != 0; /* mostly for the var() macro */
+ double o = outline != 0;
+ double s = scaleboth != 0;
+ int i; /* loop index */
+ int lineno = 0;
+ int epsf = 0;
+ int hires = 0;
+ int state = 0;
+ int indoc = 0;
+ char *bp, *cp;
+ enum {
+ NORMAL,
+ DOCUMENTFONTS,
+ DOCUMENTNEEDEDRESOURCES,
+ } cont = NORMAL;
+
+
+/*
+ *
+ * Reads a PostScript file (*fin), and uses structuring comments to locate the
+ * prologue, trailer, global definitions, and the requested page. After the whole
+ * file is scanned, the special ps_include PostScript definitions are copied to
+ * *fout, followed by the prologue, global definitions, the requested page, and
+ * the trailer. Before returning the initial environment (saved in PS_head) is
+ * restored.
+ *
+ * By default we assume the picture is 8.5 by 11 inches, but the BoundingBox
+ * comment, if found, takes precedence.
+ *
+ */
+
+ if (gotinclude == 0 && access(PSINCLUDEFILE, 04) == 0) {
+ doglobal(PSINCLUDEFILE);
+ gotinclude++;
+ }
+
+ llx = lly = 0; /* default BoundingBox - 8.5x11 inches */
+ urx = 72 * 8.5;
+ ury = 72 * 11.0;
+
+ /* section boundaries and bounding box */
+
+ prolog.start = prolog.end = 0;
+ page.start = page.end = 0;
+ trailer.start = 0;
+ fseek(fin, 0L, SEEK_SET);
+
+ while ( psgetline(&buf, &bufsize, NULL, fin) != NULL ) {
+ if (++lineno == 1 && strncmp(buf, "%!PS-", 5) == 0) {
+ for (bp = buf; !spacechar(*bp&0377); bp++);
+ while (*bp && *bp != '\n' && *bp != '\r' &&
+ spacechar(*bp&0377))
+ bp++;
+ if (strncmp(bp, "EPSF-", 5) == 0)
+ epsf++;
+ }
+ if (state == 0 && (*buf == '\n' || has("%%EndComments") ||
+ buf[0] != '%' || buf[1] == ' ' ||
+ buf[1] == '\t' || buf[1] == '\r' ||
+ buf[1] == '\n')) {
+ state = 1;
+ continue;
+ }
+ if (buf[0] != '%' || buf[1] != '%')
+ continue;
+ if (state != 1 && (bp = has("%%+")) != NULL) {
+ switch (cont) {
+ case DOCUMENTFONTS:
+ addfonts(bp);
+ break;
+ case DOCUMENTNEEDEDRESOURCES:
+ goto needres;
+ }
+ continue;
+ } else
+ cont = NORMAL;
+ if (has("%%Page: ")) {
+ if (!foundpage)
+ page.start = ftell(fin);
+ sscanf(buf, "%*s %*s %d", &i);
+ if (i == page_no)
+ foundpage = 1;
+ else if (foundpage && page.end <= page.start)
+ page.end = ftell(fin);
+ } else if (has("%%EndPage: ")) {
+ sscanf(buf, "%*s %*s %d", &i);
+ if (i == page_no) {
+ foundpage = 1;
+ page.end = ftell(fin);
+ }
+ if (!foundpage)
+ page.start = ftell(fin);
+ } else if (state != 1 && !indoc &&
+ has("%%BoundingBox:") && !hires) {
+ sscanf(buf, "%%%%BoundingBox: %lf %lf %lf %lf", &llx, &lly, &urx, &ury);
+ if (epsf)
+ epsf++;
+ } else if (state != 1 && !indoc && has("%%HiResBoundingBox:")) {
+ sscanf(buf, "%%%%HiResBoundingBox: %lf %lf %lf %lf", &llx, &lly, &urx, &ury);
+ hires++;
+ if (epsf)
+ epsf++;
+ } else if (has("%%LanguageLevel:")) {
+ int n;
+ sscanf(buf, "%%%%LanguageLevel: %d", &n);
+ LanguageLevel = MAX(LanguageLevel, n);
+ } else if ((bp = has("%%DocumentNeededFonts:")) != NULL ||
+ (bp = has("%%DocumentFonts:")) != NULL) {
+ cont = DOCUMENTFONTS;
+ addfonts(bp);
+ } else if ((bp = has("%%DocumentNeededResources:")) != NULL) {
+ needres:
+ if ((cp = _has(bp, "font")))
+ addfonts(cp);
+ else {
+ for (cp = bp; *cp && *cp != '\n' &&
+ *cp != '\r'; cp++);
+ *cp = '\0';
+ needresource("%s", bp);
+ }
+ cont = DOCUMENTNEEDEDRESOURCES;
+ } else if (indoc == 0 && (has("%%EndProlog") ||
+ has("%%EndSetup") || has("%%EndDocumentSetup")))
+ prolog.end = page.start = ftell(fin);
+ else if (indoc == 0 && has("%%EOF"))
+ break;
+ else if (state == 1 && indoc == 0 && has("%%Trailer")) {
+ trailer.start = ftell(fin);
+ state = 2;
+ } else if (state == 1 && has("%%BeginDocument:"))
+ indoc++;
+ else if (state == 1 && indoc > 0 && has("%%EndDocument"))
+ indoc--;
+ else if (state == 1 && (cp = has("%%BeginBinary:")) != NULL) {
+ if ((i = strtol(cp, &cp, 10)) > 0)
+ psskip(i, fin);
+ } else if (state == 1 && (cp = has("%%BeginData:")) != NULL) {
+ if ((i = strtol(cp, &cp, 10)) > 0) {
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ while (*cp && *cp != ' ' && *cp != '\t')
+ cp++;
+ while (*cp == ' ' || *cp == '\t')
+ cp++;
+ if (strncmp(cp, "Bytes", 5) == 0)
+ psskip(i, fin);
+ else if (strncmp(cp, "Lines", 5) == 0) {
+ while (i-- && psgetline(&buf,
+ &bufsize, NULL, fin) != NULL);
+ }
+ }
+ } else if (has("%%BeginGlobal")) {
+ if (page.end <= page.start) {
+ if (nglobal >= maxglobal) {
+ maxglobal += 20;
+ global = grab(maxglobal);
+ }
+ global[nglobal].start = ftell(fin);
+ }
+ } else if (has("%%EndGlobal"))
+ if (page.end <= page.start)
+ global[nglobal++].end = ftell(fin);
+ }
+
+ fseek(fin, 0L, SEEK_END);
+ if (trailer.start == 0)
+ trailer.start = ftell(fin);
+ trailer.end = ftell(fin);
+
+ if (page.end <= page.start)
+ page.end = trailer.start;
+
+/*
+fprintf(stderr, "prolog=(%d,%d)\n", prolog.start, prolog.end);
+fprintf(stderr, "page=(%d,%d)\n", page.start, page.end);
+for(i = 0; i < nglobal; i++)
+ fprintf(stderr, "global[%d]=(%d,%d)\n", i, global[i].start, global[i].end);
+fprintf(stderr, "trailer=(%d,%d)\n", trailer.start, trailer.end);
+*/
+
+ /* all output here */
+ fprintf(fout, "_ps_include_head\n");
+ var(llx); var(lly); var(urx); var(ury); var(w); var(o); var(s);
+ var(cx); var(cy); var(sx); var(sy); var(ax); var(ay); var(rot);
+ fprintf(fout, "_ps_include_setup\n");
+ if (epsf >= 2) {
+ size_t len;
+ rewind(fin);
+ fprintf(fout, "%%%%BeginDocument: %s\n", name);
+ while (psgetline(&buf, &bufsize, &len, fin) != NULL) {
+ if (has("%%BeginPreview:")) {
+ while (psgetline(&buf, &bufsize, &len, fin)
+ != NULL &&
+ !has("%%EndPreview"));
+ continue;
+ }
+ fwrite(buf, 1, len, fout);
+ }
+ fprintf(fout, "%%%%EndDocument\n");
+ } else {
+ copy(fin, fout, &prolog);
+ for(i = 0; i < nglobal; i++)
+ copy(fin, fout, &global[i]);
+ copy(fin, fout, &page);
+ copy(fin, fout, &trailer);
+ }
+ fprintf(fout, "_ps_include_tail\n");
+
+ if(nglobal)
+ free(global);
+
+}
+
+static void
+copy(FILE *fin, FILE *fout, Section *s)
+{
+ size_t len;
+
+ if (s->end <= s->start)
+ return;
+ fseek(fin, s->start, SEEK_SET);
+ while (ftell(fin) < s->end &&
+ psgetline(&buf, &bufsize, &len, fin) != NULL) {
+ if (buf[0] == '%')
+ putc(' ', fout);
+ fwrite(buf, 1, len, fout);
+ }
+}
+
+static char *
+_has(const char *buf, const char *word)
+{
+ int n;
+
+ n = strlen(word);
+ if (strncmp(buf, word, n) != 0)
+ return NULL;
+ if (buf[n] == ' ' || buf[n] == '\t' || buf[n] == '\r' ||
+ buf[n] == '\n' || buf[n] == 0) {
+ while (buf[n] == ' ' || buf[n] == '\t')
+ n++;
+ return (char *)&buf[n];
+ }
+ return NULL;
+}
+
+static void
+addfonts(char *line)
+{
+ char *lp = line, c;
+
+ do {
+ while (*lp == ' ' || *lp == '\t')
+ lp++;
+ line = lp;
+ while (*lp && *lp != ' ' && *lp != '\t' && *lp != '\n' &&
+ *lp != '\r')
+ lp++;
+ c = *lp;
+ *lp = '\0';
+ if (*line && strcmp(line, "(atend)"))
+ documentfont(line);
+ *lp = c;
+ } while (c && c != '\n' && c != '\r');
+}
diff --git a/troff/troff.d/dpost.d/request.c b/troff/troff.d/dpost.d/request.c
new file mode 100644
index 0000000000000..3cf447b427416
--- /dev/null
+++ b/troff/troff.d/dpost.d/request.c
@@ -0,0 +1,182 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "request.c 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)request.c 1.3 (gritter) 8/9/05
+ */
+
+/*
+ *
+ * Things used to handle special requests (eg. manual feed) globally or on a per
+ * page basis. Requests are passed through to the translator using the -R option.
+ * The argument to -R can be "request", "request:page", or "request:page:file".
+ * If page is omitted (as in the first form) or set to 0 request will be applied
+ * to the global environment. In all other cases it applies only to the selected
+ * page. If a file is given, page must be supplied, and the lookup is in that file
+ * rather than *requestfile.
+ *
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "gen.h" /* general purpose definitions */
+#include "request.h" /* a few special definitions */
+#include "path.h" /* for the default request file */
+
+
+Request request[MAXREQUEST]; /* next page or global request */
+int nextreq = 0; /* goes in request[nextreq] */
+char *requestfile = REQUESTFILE; /* default lookup file */
+
+
+/*****************************************************************************/
+
+
+void
+saverequest (
+ char *want /* grab code for this stuff */
+)
+
+
+{
+
+
+ char *page; /* and save it for this page */
+
+
+/*
+ *
+ * Save the request until we get to appropriate page - don't even bother with
+ * the lookup right now. Format of *want string is "request", "request:page", or
+ * "request:page:file", and we assume we can change the string here as needed.
+ * If page is omitted or given as 0 the request will be done globally. If *want
+ * includes a file, request and page must also be given, and in that case *file
+ * will be used for the lookup.
+ *
+ */
+
+
+ if ( nextreq < MAXREQUEST ) {
+ request[nextreq].want = strtok(want, ": ");
+ if ( (page = strtok(NULL, ": ")) == NULL )
+ request[nextreq].page = 0;
+ else request[nextreq].page = atoi(page);
+ if ( (request[nextreq].file = strtok(NULL, ": ")) == NULL )
+ request[nextreq].file = requestfile;
+ nextreq++;
+ } else error(NON_FATAL, "too many requests - ignoring %s", want);
+
+} /* End of saverequest */
+
+
+/*****************************************************************************/
+
+
+void
+writerequest(
+
+
+ int page, /* write everything for this page */
+ FILE *fp_out /* to this file */
+)
+
+
+{
+
+ int i; /* loop index */
+
+
+/*
+ *
+ * Writes out all the requests that have been saved for page. Page 0 refers to
+ * the global environment and is done during initial setup.
+ *
+ */
+
+
+ for ( i = 0; i < nextreq; i++ )
+ if ( request[i].page == page )
+ dumprequest(request[i].want, request[i].file, fp_out);
+
+} /* End of writerequest */
+
+
+/*****************************************************************************/
+
+
+void
+dumprequest(
+
+
+ char *want, /* look for this string */
+ char *file, /* in this file */
+ FILE *fp_out /* and write the value out here */
+)
+
+
+{
+
+
+ char buf[100]; /* line buffer for reading *file */
+ FILE *fp_in;
+
+
+/*
+ *
+ * Looks for *want in the request file and if it's found the associated value
+ * is copied to the output file. Keywords (ie. the *want strings) begin an @ in
+ * the first column of file, while the values (ie. the stuff that's copied to
+ * the output file) starts on the next line and extends to the next keyword or
+ * to the end of file.
+ *
+ */
+
+
+ if ( (fp_in = fopen(file, "r")) != NULL ) {
+ while ( fgets(buf, sizeof(buf), fp_in) != NULL )
+ if ( buf[0] == '@' && strncmp(want, &buf[1], strlen(want)) == 0 )
+ while ( fgets(buf, sizeof(buf), fp_in) != NULL )
+ {
+ if ( buf[0] == '#' || buf[0] == '%' )
+ continue;
+ else if ( buf[0] != '@' )
+ fprintf(fp_out, "%s", buf);
+ else break;
+ }
+ fclose(fp_in);
+ } /* End if */
+
+} /* End of dumprequest */
+
+
+/*****************************************************************************/
+
diff --git a/troff/troff.d/dpost.d/request.h b/troff/troff.d/dpost.d/request.h
new file mode 100644
index 0000000000000..829c7020d6360
--- /dev/null
+++ b/troff/troff.d/dpost.d/request.h
@@ -0,0 +1,58 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "request.h 1.5 05/06/08 SMI" SVr4.0 1.1 */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)request.h 1.3 (gritter) 8/9/05
+ */
+
+/*
+ *
+ * Things used to handle special PostScript requests (like manual feed) globally
+ * or on a per page basis. All the translators I've supplied accept the -R option
+ * that can be used to insert special PostScript code before the global setup is
+ * done, or at the start of named pages. The argument to the -R option is a string
+ * that can be "request", "request:page", or "request:page:file". If page isn't
+ * given (as in the first form) or if it's 0 in the last two, the request applies
+ * to the global environment, otherwise request holds only for the named page.
+ * If a file name is given a page number must be supplied, and in that case the
+ * request will be looked up in that file.
+ *
+ */
+
+#define MAXREQUEST 30
+
+typedef struct {
+
+ char *want;
+ int page;
+ char *file;
+
+} Request;
+
+
diff --git a/troff/troff.d/dpost.d/version.c b/troff/troff.d/dpost.d/version.c
new file mode 100644
index 0000000000000..b87752dda8b84
--- /dev/null
+++ b/troff/troff.d/dpost.d/version.c
@@ -0,0 +1,3 @@
+/* Sccsid @(#)dpost_version.c 4.37 (gritter) 10/3/05 */
+#define DPOST
+#include "../../version.c"
diff --git a/troff/troff.d/draw.c b/troff/troff.d/draw.c
new file mode 100644
index 0000000000000..d05e5a7476677
--- /dev/null
+++ b/troff/troff.d/draw.c
@@ -0,0 +1,497 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "draw.c 1.5 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)draw.c 1.3 (gritter) 8/8/05
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+#define PI 3.141592654
+#define hmot(n) hpos += n
+#define hgoto(n) hpos = n
+#define vmot(n) vgoto(vpos + n)
+
+extern int hpos;
+extern int vpos;
+extern int size;
+extern short *pstab;
+extern int DX; /* step size in x */
+extern int DY; /* step size in y */
+extern int drawdot; /* character to use when drawing */
+extern int drawsize; /* shrink point size by this facter */
+
+int maxdots = 32000; /* maximum number of dots in an object */
+
+#define sgn(n) ((n > 0) ? 1 : ((n < 0) ? -1 : 0))
+#define abs(n) ((n) >= 0 ? (n) : -(n))
+#define max(x,y) ((x) > (y) ? (x) : (y))
+#define min(x,y) ((x) < (y) ? (x) : (y))
+#define arcmove(x,y) { hgoto(x); vmot(-vpos-(y)); }
+
+extern void setsize(int);
+extern void vgoto(int);
+extern int t_size(int);
+extern void put1(int);
+
+void drawline(int, int, char *);
+void drawwig(char *);
+char *getstr(char *, char *);
+void drawcirc(int);
+int dist(int, int, int, int);
+void drawarc(int, int, int, int);
+void drawellip(int, int);
+void conicarc(int, int, int, int, int, int, int, int);
+void putdot(int, int);
+
+void
+drawline(int dx, int dy, char *s) /* draw line from here to dx, dy using s */
+{
+ int xd, yd;
+ float val, slope;
+ int i, numdots;
+ int dirmot, perp;
+ int motincr, perpincr;
+ int ohpos, ovpos, osize;
+ float incrway;
+
+ int itemp; /*temp. storage for value returned byint function sgn*/
+ osize = size;
+ setsize(t_size(pstab[osize-1] / drawsize));
+ ohpos = hpos;
+ ovpos = vpos;
+ xd = dx / DX;
+ yd = dy / DX;
+ if (xd == 0) {
+ numdots = abs (yd);
+ numdots = min(numdots, maxdots);
+ motincr = DX * sgn (yd);
+ for (i = 0; i < numdots; i++) {
+ vmot(motincr);
+ put1(drawdot);
+ }
+ vgoto(ovpos + dy);
+ setsize(osize);
+ return;
+ }
+ if (yd == 0) {
+ numdots = abs (xd);
+ motincr = DX * sgn (xd);
+ for (i = 0; i < numdots; i++) {
+ hmot(motincr);
+ put1(drawdot);
+ }
+ hgoto(ohpos + dx);
+ setsize(osize);
+ return;
+ }
+ if (abs (xd) > abs (yd)) {
+ val = slope = (float) xd/yd;
+ numdots = abs (xd);
+ numdots = min(numdots, maxdots);
+ dirmot = 'h';
+ perp = 'v';
+ motincr = DX * sgn (xd);
+ perpincr = DX * sgn (yd);
+ }
+ else {
+ val = slope = (float) yd/xd;
+ numdots = abs (yd);
+ numdots = min(numdots, maxdots);
+ dirmot = 'v';
+ perp = 'h';
+ motincr = DX * sgn (yd);
+ perpincr = DX * sgn (xd);
+ }
+ incrway = itemp = sgn ((int) slope);
+ for (i = 0; i < numdots; i++) {
+ val -= incrway;
+ if (dirmot == 'h')
+ hmot(motincr);
+ else
+ vmot(motincr);
+ if (val * slope < 0) {
+ if (perp == 'h')
+ hmot(perpincr);
+ else
+ vmot(perpincr);
+ val += slope;
+ }
+ put1(drawdot);
+ }
+ hgoto(ohpos + dx);
+ vgoto(ovpos + dy);
+ setsize(osize);
+}
+
+void
+drawwig(char *s) /* draw wiggly line */
+{
+ int x[50], y[50], xp, yp, pxp, pyp;
+ float t1, t2, t3, w;
+ int i, j, numdots, N;
+ int osize;
+ char temp[50], *p;
+
+ osize = size;
+ setsize(t_size(pstab[osize-1] / drawsize));
+ p = s;
+ for (N = 2; (p=getstr(p,temp)) != NULL && N < sizeof(x)/sizeof(x[0]); N++) {
+ x[N] = atoi(temp);
+ p = getstr(p, temp);
+ y[N] = atoi(temp);
+ }
+ x[0] = x[1] = hpos;
+ y[0] = y[1] = vpos;
+ for (i = 1; i < N; i++) {
+ x[i+1] += x[i];
+ y[i+1] += y[i];
+ }
+ x[N] = x[N-1];
+ y[N] = y[N-1];
+ pxp = pyp = -9999;
+ for (i = 0; i < N-1; i++) { /* interval */
+ numdots = (dist(x[i],y[i], x[i+1],y[i+1]) + dist(x[i+1],y[i+1], x[i+2],y[i+2])) / 2;
+ numdots /= DX;
+ numdots = min(numdots, maxdots);
+ for (j = 0; j < numdots; j++) { /* points within */
+ w = (float) j / numdots;
+ t1 = 0.5 * w * w;
+ w = w - 0.5;
+ t2 = 0.75 - w * w;
+ w = w - 0.5;
+ t3 = 0.5 * w * w;
+ xp = t1 * x[i+2] + t2 * x[i+1] + t3 * x[i] + 0.5;
+ yp = t1 * y[i+2] + t2 * y[i+1] + t3 * y[i] + 0.5;
+ if (xp != pxp || yp != pyp) {
+ hgoto(xp);
+ vgoto(yp);
+ put1(drawdot);
+ pxp = xp;
+ pyp = yp;
+ }
+ }
+ }
+ setsize(osize);
+}
+
+char *getstr(char *p, char *temp) /* copy next non-blank string from p to temp, update p */
+{
+ while (*p == ' ' || *p == '\t' || *p == '\n')
+ p++;
+ if (*p == '\0') {
+ temp[0] = 0;
+ return(NULL);
+ }
+ while (*p != ' ' && *p != '\t' && *p != '\n' && *p != '\0')
+ *temp++ = *p++;
+ *temp = '\0';
+ return(p);
+}
+
+void
+drawcirc(int d)
+{
+ int xc, yc;
+
+ xc = hpos;
+ yc = vpos;
+ conicarc(hpos + d/2, -vpos, hpos, -vpos, hpos, -vpos, d/2, d/2);
+ hgoto(xc + d); /* circle goes to right side */
+ vgoto(yc);
+}
+
+int
+dist(int x1, int y1, int x2, int y2) /* integer distance from x1,y1 to x2,y2 */
+{
+ float dx, dy;
+
+ dx = x2 - x1;
+ dy = y2 - y1;
+ return sqrt(dx*dx + dy*dy) + 0.5;
+}
+
+void
+drawarc(int dx1, int dy1, int dx2, int dy2)
+{
+ int x0, y0, x2, y2, r;
+
+ x0 = hpos + dx1; /* center */
+ y0 = vpos + dy1;
+ x2 = x0 + dx2; /* "to" */
+ y2 = y0 + dy2;
+ r = sqrt((float) dx1 * dx1 + (float) dy1 * dy1) + 0.5;
+ conicarc(x0, -y0, hpos, -vpos, x2, -y2, r, r);
+}
+
+void
+drawellip(int a, int b)
+{
+ int xc, yc;
+
+ xc = hpos;
+ yc = vpos;
+ conicarc(hpos + a/2, -vpos, hpos, -vpos, hpos, -vpos, a/2, b/2);
+ hgoto(xc + a);
+ vgoto(yc);
+}
+
+#define sqr(x) (long int)(x)*(x)
+
+void
+conicarc(int x, int y, int x0, int y0, int x1, int y1, int a, int b)
+{
+ /* based on Bresenham, CACM, Feb 77, pp 102-3 */
+ /* by Chris Van Wyk */
+ /* capitalized vars are an internal reference frame */
+ long dotcount = 0;
+ int osize;
+ int xs, ys, xt, yt, Xs, Ys, qs, Xt, Yt, qt,
+ M1x, M1y, M2x, M2y, M3x, M3y,
+ Q, move, Xc, Yc;
+ int ox1, oy1;
+ long delta;
+ float xc, yc;
+ float radius, slope;
+ float xstep, ystep;
+
+ osize = size;
+ setsize(t_size(pstab[osize-1] / drawsize));
+ ox1 = x1;
+ oy1 = y1;
+ if (a != b) /* an arc of an ellipse; internally, will still think of circle */
+ if (a > b) {
+ xstep = (float)a / b;
+ ystep = 1;
+ radius = b;
+ } else {
+ xstep = 1;
+ ystep = (float)b / a;
+ radius = a;
+ }
+ else { /* a circular arc; radius is computed from center and first point */
+ xstep = ystep = 1;
+ radius = sqrt((float)(sqr(x0 - x) + sqr(y0 - y)));
+ }
+
+
+ xc = x0;
+ yc = y0;
+ /* now, use start and end point locations to figure out
+ the angle at which start and end happen; use these
+ angles with known radius to figure out where start
+ and end should be
+ */
+ slope = atan2((double)(y0 - y), (double)(x0 - x) );
+ if (slope == 0.0 && x0 < x)
+ slope = 3.14159265;
+ x0 = x + radius * cos(slope) + 0.5;
+ y0 = y + radius * sin(slope) + 0.5;
+ slope = atan2((double)(y1 - y), (double)(x1 - x));
+ if (slope == 0.0 && x1 < x)
+ slope = 3.14159265;
+ x1 = x + radius * cos(slope) + 0.5;
+ y1 = y + radius * sin(slope) + 0.5;
+ /* step 2: translate to zero-centered circle */
+ xs = x0 - x;
+ ys = y0 - y;
+ xt = x1 - x;
+ yt = y1 - y;
+ /* step 3: normalize to first quadrant */
+ if (xs < 0)
+ if (ys < 0) {
+ Xs = abs(ys);
+ Ys = abs(xs);
+ qs = 3;
+ M1x = 0;
+ M1y = -1;
+ M2x = 1;
+ M2y = -1;
+ M3x = 1;
+ M3y = 0;
+ } else {
+ Xs = abs(xs);
+ Ys = abs(ys);
+ qs = 2;
+ M1x = -1;
+ M1y = 0;
+ M2x = -1;
+ M2y = -1;
+ M3x = 0;
+ M3y = -1;
+ }
+ else if (ys < 0) {
+ Xs = abs(xs);
+ Ys = abs(ys);
+ qs = 0;
+ M1x = 1;
+ M1y = 0;
+ M2x = 1;
+ M2y = 1;
+ M3x = 0;
+ M3y = 1;
+ } else {
+ Xs = abs(ys);
+ Ys = abs(xs);
+ qs = 1;
+ M1x = 0;
+ M1y = 1;
+ M2x = -1;
+ M2y = 1;
+ M3x = -1;
+ M3y = 0;
+ }
+
+
+ Xc = Xs;
+ Yc = Ys;
+ if (xt < 0)
+ if (yt < 0) {
+ Xt = abs(yt);
+ Yt = abs(xt);
+ qt = 3;
+ } else {
+ Xt = abs(xt);
+ Yt = abs(yt);
+ qt = 2;
+ }
+ else if (yt < 0) {
+ Xt = abs(xt);
+ Yt = abs(yt);
+ qt = 0;
+ } else {
+ Xt = abs(yt);
+ Yt = abs(xt);
+ qt = 1;
+ }
+
+
+ /* step 4: calculate number of quadrant crossings */
+ if (((4 + qt - qs)
+ % 4 == 0)
+ && (Xt <= Xs)
+ && (Yt >= Ys)
+ )
+ Q = 3;
+ else
+ Q = (4 + qt - qs) % 4 - 1;
+ /* step 5: calculate initial decision difference */
+ delta = sqr(Xs + 1)
+ + sqr(Ys - 1)
+ -sqr(xs)
+ -sqr(ys);
+ /* here begins the work of drawing
+ we hope it ends here too */
+ while ((Q >= 0)
+ || ((Q > -2)
+ && ((Xt > Xc)
+ && (Yt < Yc)
+ )
+ )
+ ) {
+ if (dotcount++ % DX == 0)
+ putdot((int)xc, (int)yc);
+ if (Yc < 0.5) {
+ /* reinitialize */
+ Xs = Xc = 0;
+ Ys = Yc = sqrt((float)(sqr(xs) + sqr(ys)));
+ delta = sqr(Xs + 1) + sqr(Ys - 1) - sqr(xs) - sqr(ys);
+ Q--;
+ M1x = M3x;
+ M1y = M3y;
+ {
+ int T;
+ T = M2y;
+ M2y = M2x;
+ M2x = -T;
+ T = M3y;
+ M3y = M3x;
+ M3x = -T;
+ }
+ } else {
+ if (delta <= 0)
+ if (2 * delta + 2 * Yc - 1 <= 0)
+ move = 1;
+ else
+ move = 2;
+ else if (2 * delta - 2 * Xc - 1 <= 0)
+ move = 2;
+ else
+ move = 3;
+ switch (move) {
+ case 1:
+ Xc++;
+ delta += 2 * Xc + 1;
+ xc += M1x * xstep;
+ yc += M1y * ystep;
+ break;
+ case 2:
+ Xc++;
+ Yc--;
+ delta += 2 * Xc - 2 * Yc + 2;
+ xc += M2x * xstep;
+ yc += M2y * ystep;
+ break;
+ case 3:
+ Yc--;
+ delta -= 2 * Yc + 1;
+ xc += M3x * xstep;
+ yc += M3y * ystep;
+ break;
+ }
+ }
+ }
+
+
+ setsize(osize);
+ drawline((int)xc-ox1,(int)yc-oy1,".");
+}
+
+void
+putdot(int x, int y)
+{
+ arcmove(x, y);
+ put1(drawdot);
+}
diff --git a/troff/troff.d/font/Makefile.mk b/troff/troff.d/font/Makefile.mk
new file mode 100644
index 0000000000000..703c9772214be
--- /dev/null
+++ b/troff/troff.d/font/Makefile.mk
@@ -0,0 +1,57 @@
+VPATH=..
+
+FONTS = AB AI AR AX BI CB CI CO CW CX GR HB HI HX Hb Hi Hr Hx \
+ KB KI KR KX NB NI NR NX PA PB PI PX S1 VB VI VR VX ZD ZI B H I R S
+
+FLAGS = -I. -I.. -DFNTDIR='"$(FNTDIR)"'
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(CPPFLAGS) $(FLAGS) -c $<
+
+all:
+
+install: all
+ test -d $(ROOT)$(FNTDIR) || mkdir -p $(ROOT)$(FNTDIR)
+ test -d $(ROOT)$(FNTDIR)/devpost/charlib || \
+ mkdir -p $(ROOT)$(FNTDIR)/devpost/charlib
+ cd devpost && for i in ? ?? H?? H??? ?.name ??.name H??.name \
+ H???.name DESC* FONTMAP; do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(FNTDIR)/devpost/ || exit; \
+ done
+ cd $(ROOT)$(FNTDIR)/devpost && \
+ for i in G HM HK HL; \
+ do \
+ rm -f $$i; ln -s H $$i || exit; \
+ done && \
+ rm -f GI; ln -s HI GI
+ cd devpost/charlib && for i in ?? ??.map BRACKETS_NOTE README OLD_LH* \
+ LH_uc; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(FNTDIR)/devpost/charlib \
+ || exit; \
+ done
+ test -d $(ROOT)$(FNTDIR)/devps || mkdir -p $(ROOT)$(FNTDIR)/devps
+ cd devps && for i in ? ?.afm ?? ??.afm DESC MustRead.html FONTMAP; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(FNTDIR)/devps/ || exit; \
+ done
+ rm -f $(ROOT)$(FNTDIR)/devps/charlib
+ ln -s ../devpost/charlib $(ROOT)$(FNTDIR)/devps/charlib
+ rm -f $(ROOT)$(FNTDIR)/devps/postscript
+ ln -s ../devpost/postscript $(ROOT)$(FNTDIR)/devps/postscript
+ for j in devpslow devpsmed; \
+ do \
+ test -d $(ROOT)$(FNTDIR)/$$j || mkdir -p $(ROOT)$(FNTDIR)/$$j; \
+ $(INSTALL) -c -m 644 $$j/DESC $(ROOT)$(FNTDIR)/$$j/; \
+ (cd $(ROOT)$(FNTDIR)/devps && for i in *; \
+ do \
+ test $$i != DESC || continue; \
+ rm -f ../$$j/$$i; \
+ ln -s ../devps/$$i ../$$j/$$i ; \
+ done); \
+ done
+
+clean:
+ rm -f core log *~
+
+mrproper: clean
diff --git a/troff/troff.d/font/README b/troff/troff.d/font/README
new file mode 100644
index 0000000000000..d5a5a865bcbc1
--- /dev/null
+++ b/troff/troff.d/font/README
@@ -0,0 +1,139 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+The devpost directory includes width tables for the entire LaserWriter Plus font
+set (and a few others). The width tables assume a resolution of 720 dpi (which
+isn't expected to match your printer's resolution) and by default are installed
+in /usr/lib/font/devpost. You can point troff there using the -Tpost option, while
+dpost goes there automatically. The width tables were generated on a PostScript
+printer using postio (with the -t option) and the files that you'll find in
+directory ../buildtables.
+
+The mapping from troff's one or two character font names to PostScript fonts is
+handled by definitions made near the start of file ../postscript/dpost.ps. troff
+characters not available in PostScript fonts are constructed using the files in
+./devpost/charlib. Characters that are assigned a code (ie. number in the fourth
+column) less than 32 are looked up (by dpost) in the charlib directory. A code
+of 1 implies the character definition comes in one piece, while anything else
+means the character may come in two pieces. The first part is downloaded once,
+while the second part (ie. the one that ends in .map) must be included every
+time the character is printed.
+
+Adding a new font file (for troff and dpost) can be time consuming, but isn't
+difficult. The steps you'll need to follow are outlined below:
+
+ 1: Pick a one or two character font name for troff and dpost - no longer a
+ trivial task! To find out what two character font names are taken type,
+
+ cd devpost
+ ls -l ? ??
+
+ Any unused one or two character font name can be chosen. I've tried to choose
+ two character font names with the first character representing the font family
+ (eg. K for Bookman) and second (upper or lower case R, I, B, or X) indicating
+ the style.
+
+ 2: Choose a unique internal name (ie. integer between 1 and 255). To find out
+ what internal names (ie. numbers) are already taken type,
+
+ cd devpost
+ grep internalname ? ?? | sort -n +1 -2
+
+ Any number not already used can be chosen. Consecutive numbering starting at
+ a fixed offset (like 128) might be a useful approach.
+
+ 3: Build the width tables and install the ASCII files in ./devpost. Width tables
+ can be built by hand or you can use postio (with the -t option) and the stuff
+ in directory ../buildtables and have the printer generate the tables. Widths
+ (ie. numbers in column 2) are point size 10 widths assuming a resolution of
+ 720 dpi. As an example if you wanted to find the width of character A in
+ Times-Roman you could send the following to a PostScript printer,
+
+ /Times-Roman findfont 100 scalefont setfont
+ (A) stringwidth pop ==
+
+ The fourth column in the width tables is the character code field and is only
+ used by dpost. It must be the code assigned to the character in the PostScript
+ font. For simple characters (like an a) it's just the ASCII code. Characters
+ that are assigned codes less than 32 (typically 1 or 2) are special and are
+ built up using files in devpost/charlib.
+
+ 4: Any new special character names you've added to the width table must appear in
+ the charset portion of file devpost/DESC.
+
+ 5: Add a mapping definition to ../postscript/dpost.ps. For example if you've
+ built a width table for font XR and the PostScript name is /ExtraFont-Roman
+ then add,
+
+ /XR /ExtraFont-Roman def
+
+ to the dpost prologue.
+
+ 6: If you're system uses PDQs you'll need to build new PDQ font files. I've
+ included the PDQ version of makedev and font.mk includes a target called PDQ
+ that works on MHCC systems. Typing,
+
+ make -f font.mk PDQ
+
+ should work, provided you can execute the PDQFRONT program. The new binary
+ PDQ files initially go in directory PDQ/devpost and from there are installed
+ in /usr/lib/font/PDQ/devpost. If you don't know what PDQs are skip this stuff.
+
+ 7: Build and install the new binary font files and dpost prologue by typing,
+
+ cd ..
+ make TARGETS='font postscript' install
+
+ Actually the install (as written above) installs everything in directory
+ ../postscript. Since all you need is the new version of dpost.ps the following
+ might be safer,
+
+ cd ..
+ make TARGETS=font install
+ cd postscript
+ cp dpost.ps /usr/lib/postscript/dpost.ps
+
+The devpostaps directory is new and the binary tables won't be built or installed
+unless you do it by hand. The tables are an attempt to make Linotronic output look
+something like APS-5 output, and won't be useful to most people. The only real
+application is for simple (perhaps one or two page) updates to larger documents
+that have already been formatted and printed on the APS-5. The following commands
+build and install the devpostaps tables,
+
+ make -f font.mk makedev
+ cd devpostaps
+ ../makedev DESC ? ??
+ mkdir /usr/lib/font/devpostaps
+ cp *.out /usr/lib/font/devpostaps
+ cd charlib
+ mkdir /usr/lib/font/devpostaps/charlib
+ cp * /usr/lib/font/devpostaps/charlib
+
+The tables should only be used by dpost - troff files should be formatted with
+the -Taps option. In addition dpost must use level 2 encoding. A command line
+that forces dpost to do the best it can with APS files would be,
+
+ dpost -e2 -Tpostaps -C/usr/lib/postscript/aps.ps file >file.ps
+
+where aps.ps is additional PostScript code (pulled in using the -C option) that
+tunes the Courier, Times, and Helvetica fonts so they look more like APS fonts.
+
diff --git a/troff/troff.d/font/devhtml/B b/troff/troff.d/font/devhtml/B
new file mode 100644
index 0000000000000..fc9390a7157eb
--- /dev/null
+++ b/troff/troff.d/font/devhtml/B
@@ -0,0 +1,2 @@
+name B
+fontname Times-Bold
diff --git a/troff/troff.d/font/devhtml/BI b/troff/troff.d/font/devhtml/BI
new file mode 100644
index 0000000000000..8df0242e857da
--- /dev/null
+++ b/troff/troff.d/font/devhtml/BI
@@ -0,0 +1,2 @@
+name BI
+fontname Times-BoldItalic
diff --git a/troff/troff.d/font/devhtml/C b/troff/troff.d/font/devhtml/C
new file mode 100644
index 0000000000000..e9f9fb1bc1696
--- /dev/null
+++ b/troff/troff.d/font/devhtml/C
@@ -0,0 +1,2 @@
+name C
+fontname Courier
diff --git a/troff/troff.d/font/devhtml/CB b/troff/troff.d/font/devhtml/CB
new file mode 100644
index 0000000000000..bb929d1a9aa86
--- /dev/null
+++ b/troff/troff.d/font/devhtml/CB
@@ -0,0 +1,2 @@
+name CB
+fontname Courier-Bold
diff --git a/troff/troff.d/font/devhtml/CHAR b/troff/troff.d/font/devhtml/CHAR
new file mode 100644
index 0000000000000..4d14dbea00a74
--- /dev/null
+++ b/troff/troff.d/font/devhtml/CHAR
@@ -0,0 +1,121 @@
+ # Comments are on lines by themselfes which start with white space followed
+ # by the comment character '#'.
+ #
+ # Empty lines or lines containing only white space are ignored.
+
+ # Named characters
+ #
+ # Empty second column is allowed but there must be white space after the
+ # word in the first column!
+ #
+ # \(br must not be defined anywhere (yet)!
+
+\- &#45;
+`` &ldquo;
+'' &rdquo;
+!= &ne;
+<= &le;
+>= &ge;
+<- &larr;
+-> &rarr;
++- &plusmn;
+** &lowast;
+*A &Alpha;
+*a &alpha;
+*B &Beta;
+*b &beta;
+*G &Gamma;
+*g &gamma;
+*h &theta;
+*m &mu;
+*p &pi;
+*S &Sigma;
+12 &frac12;
+14 &frac14;
+aa &acute;
+Adieresis &Auml;
+adieresis &auml;
+ampersand &amp;
+angleleft &lt;
+angleright &gt;
+ap &sim;
+aq &apos;
+aring &aring;
+asciicircum &circ;
+asciitilde &tilde;
+bar |
+bracketleft [
+bracketright ]
+bu &bull;
+ccedilla &ccedil;
+co &copy;
+cq &rsquo;
+cu &cup;
+dd &Dagger;
+dg &dagger;
+dollar $
+dq &quot;
+eacute &eacute;
+em &mdash;
+en &ndash;
+eq =
+fi fi
+ga &grave;
+germandbls &szlig;
+guillemotleft &laquo;
+guillemotright &raquo;
+hy &#8208;
+if &infin;
+is &int;
+lh &#x261c;
+mi &minus;
+mo &isin;
+mu &times;
+numbersign #
+Odieresis &Ouml;
+odieresis &ouml;
+oq &lsquo;
+or |
+oslash &oslash;
+pl +
+quotedblbase &bdquo;
+quotedblleft &ldquo;
+quotedblright &rdquo;
+quoteleft &lsquo;
+quoteright &rsquo;
+quotesinglbase &sbquo;
+rc &rceil;
+rg &reg;
+rn &oline;
+rs \
+ru _
+sc &sect;
+sl /
+sq &#x25A1;
+sr &radic;
+tilde &tilde;
+ts &sigmaf;
+Udieresis &uuml;
+udieresis &uuml;
+ul _
+
+ # Single characters
+
+" &quot;
+` &lsquo;
+' &rsquo;
+& &amp;
+< &lt;
+> &gt;
+
+ # Unnamed characters
+
+196 &Auml;
+214 &Ouml;
+220 &Uuml;
+223 &szlig;
+224 &#224;
+228 &auml;
+232 &#232;
+246 &ouml;
+252 &uuml;
diff --git a/troff/troff.d/font/devhtml/CI b/troff/troff.d/font/devhtml/CI
new file mode 100644
index 0000000000000..3e241d8c28a7e
--- /dev/null
+++ b/troff/troff.d/font/devhtml/CI
@@ -0,0 +1,2 @@
+name CI
+fontname Courier-Oblique
diff --git a/troff/troff.d/font/devhtml/CR b/troff/troff.d/font/devhtml/CR
new file mode 100644
index 0000000000000..6d56839091457
--- /dev/null
+++ b/troff/troff.d/font/devhtml/CR
@@ -0,0 +1,2 @@
+name CR
+fontname Courier
diff --git a/troff/troff.d/font/devhtml/CW b/troff/troff.d/font/devhtml/CW
new file mode 100644
index 0000000000000..497184ad97db4
--- /dev/null
+++ b/troff/troff.d/font/devhtml/CW
@@ -0,0 +1,2 @@
+name CW
+fontname Courier
diff --git a/troff/troff.d/font/devhtml/DESC b/troff/troff.d/font/devhtml/DESC
new file mode 100644
index 0000000000000..ba418f33f63e1
--- /dev/null
+++ b/troff/troff.d/font/devhtml/DESC
@@ -0,0 +1,7 @@
+fonts 6 R I B CW CI CB
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+res 2160
+hor 1
+vert 1
+unitwidth 10
diff --git a/troff/troff.d/font/devhtml/H b/troff/troff.d/font/devhtml/H
new file mode 100644
index 0000000000000..30e1c356c6067
--- /dev/null
+++ b/troff/troff.d/font/devhtml/H
@@ -0,0 +1,2 @@
+name H
+fontname Helvetica
diff --git a/troff/troff.d/font/devhtml/HB b/troff/troff.d/font/devhtml/HB
new file mode 100644
index 0000000000000..a682337d4cd38
--- /dev/null
+++ b/troff/troff.d/font/devhtml/HB
@@ -0,0 +1,2 @@
+name HB
+fontname Helvetica-Bold
diff --git a/troff/troff.d/font/devhtml/HI b/troff/troff.d/font/devhtml/HI
new file mode 100644
index 0000000000000..4b1121c8c1899
--- /dev/null
+++ b/troff/troff.d/font/devhtml/HI
@@ -0,0 +1,2 @@
+name HI
+fontname Helvetica-Oblique
diff --git a/troff/troff.d/font/devhtml/I b/troff/troff.d/font/devhtml/I
new file mode 100644
index 0000000000000..347a976a341e2
--- /dev/null
+++ b/troff/troff.d/font/devhtml/I
@@ -0,0 +1,2 @@
+name I
+fontname Times-Italic
diff --git a/troff/troff.d/font/devhtml/Makefile.mk b/troff/troff.d/font/devhtml/Makefile.mk
new file mode 100644
index 0000000000000..12d19bcb9bb85
--- /dev/null
+++ b/troff/troff.d/font/devhtml/Makefile.mk
@@ -0,0 +1,23 @@
+BIN= makefont
+OBJS= $(BIN).o
+FONTS= R I B BI C CW CR CI CB H HI HB S
+
+all: $(BIN)
+
+install:
+ d=$(ROOT)$(FNTDIR)/devhtml; test -d $$d || mkdir $$d; \
+ install -m 644 CHAR DESC $$d/; \
+ echo charset >> $$d/DESC; \
+ sed '1,2d;s/[[:space:]].*//' charset >> $$d/DESC; \
+ for i in $(FONTS); do \
+ install -m 644 $$i $$d/; \
+ ./$(BIN) $$i >> $$d/$$i; \
+ done
+
+clean:
+ rm -rf $(BIN) $(OBJS)
+
+mrproper: clean
+
+$(BIN): $(OBJS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(OBJS) -o $@
diff --git a/troff/troff.d/font/devhtml/R b/troff/troff.d/font/devhtml/R
new file mode 100644
index 0000000000000..b58aaa0669704
--- /dev/null
+++ b/troff/troff.d/font/devhtml/R
@@ -0,0 +1,2 @@
+name R
+fontname Times-Roman
diff --git a/troff/troff.d/font/devhtml/S b/troff/troff.d/font/devhtml/S
new file mode 100644
index 0000000000000..bfcc84e27c7e7
--- /dev/null
+++ b/troff/troff.d/font/devhtml/S
@@ -0,0 +1,2 @@
+name S
+fontname Symbol
diff --git a/troff/troff.d/font/devhtml/charset b/troff/troff.d/font/devhtml/charset
new file mode 100644
index 0000000000000..398cc48e4479f
--- /dev/null
+++ b/troff/troff.d/font/devhtml/charset
@@ -0,0 +1,90 @@
+ R I B BI C CW CR CI CB H HI HB S
+spacewidth 100 100 100 100 100 100 100 100 100 100 100 100 100
+\- 100 100 100 100 100 100 100 100 100 100 100 100 100
+`` " " " " " " " " " " " " "
+'' " " " " " " " " " " " " "
+!= " " " " " " " " " " " " "
+<= " " " " " " " " " " " " "
+>= " " " " " " " " " " " " "
+<- " " " " " " " " " " " " "
+-> " " " " " " " " " " " " "
++- " " " " " " " " " " " " "
+** " " " " " " " " " " " " "
+*A " " " " " " " " " " " " "
+*a " " " " " " " " " " " " "
+*B " " " " " " " " " " " " "
+*b " " " " " " " " " " " " "
+*G " " " " " " " " " " " " "
+*g " " " " " " " " " " " " "
+*h " " " " " " " " " " " " "
+*m " " " " " " " " " " " " "
+*p " " " " " " " " " " " " "
+*S " " " " " " " " " " " " "
+12 " " " " " " " " " " " " "
+14 " " " " " " " " " " " " "
+aa " " " " " " " " " " " " "
+Adieresis " " " " " " " " " " " " "
+adieresis " " " " " " " " " " " " "
+ampersand " " " " " " " " " " " " "
+angleleft " " " " " " " " " " " " "
+angleright " " " " " " " " " " " " "
+ap " " " " " " " " " " " " "
+aq " " " " " " " " " " " " "
+aring " " " " " " " " " " " " "
+asciicircum " " " " " " " " " " " " "
+asciitilde " " " " " " " " " " " " "
+bar " " " " " " " " " " " " "
+bracketleft " " " " " " " " " " " " "
+bracketright " " " " " " " " " " " " "
+bu " " " " " " " " " " " " "
+ccedilla " " " " " " " " " " " " "
+co " " " " " " " " " " " " "
+cq " " " " " " " " " " " " "
+cu " " " " " " " " " " " " "
+dd " " " " " " " " " " " " "
+dg " " " " " " " " " " " " "
+dollar " " " " " " " " " " " " "
+dq " " " " " " " " " " " " "
+eacute " " " " " " " " " " " " "
+em " " " " " " " " " " " " "
+en " " " " " " " " " " " " "
+eq " " " " " " " " " " " " "
+fi " " " " " " " " " " " " "
+ga " " " " " " " " " " " " "
+germandbls " " " " " " " " " " " " "
+guillemotleft " " " " " " " " " " " " "
+guillemotright " " " " " " " " " " " " "
+hy " " " " " " " " " " " " "
+if " " " " " " " " " " " " "
+is " " " " " " " " " " " " "
+lh " " " " " " " " " " " " "
+mi " " " " " " " " " " " " "
+mo " " " " " " " " " " " " "
+mu " " " " " " " " " " " " "
+numbersign " " " " " " " " " " " " "
+Odieresis " " " " " " " " " " " " "
+odieresis " " " " " " " " " " " " "
+oq " " " " " " " " " " " " "
+or " " " " " " " " " " " " "
+oslash " " " " " " " " " " " " "
+pl " " " " " " " " " " " " "
+quotedblbase " " " " " " " " " " " " "
+quotedblleft " " " " " " " " " " " " "
+quotedblright " " " " " " " " " " " " "
+quoteleft " " " " " " " " " " " " "
+quoteright " " " " " " " " " " " " "
+quotesinglbase " " " " " " " " " " " " "
+rc " " " " " " " " " " " " "
+rg " " " " " " " " " " " " "
+rn " " " " " " " " " " " " "
+rs " " " " " " " " " " " " "
+ru " " " " " " " " " " " " "
+sc " " " " " " " " " " " " "
+sl " " " " " " " " " " " " "
+sq " " " " " " " " " " " " "
+sr " " " " " " " " " " " " "
+tilde " " " " " " " " " " " " "
+ts " " " " " " " " " " " " "
+Udieresis " " " " " " " " " " " " "
+udieresis " " " " " " " " " " " " "
+ul " " " " " " " " " " " " "
diff --git a/troff/troff.d/font/devhtml/makefont.c b/troff/troff.d/font/devhtml/makefont.c
new file mode 100644
index 0000000000000..a9b4da08d591d
--- /dev/null
+++ b/troff/troff.d/font/devhtml/makefont.c
@@ -0,0 +1,195 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+#include <string.h>
+#include <unistd.h>
+
+static int find_font(char **, ssize_t *);
+static char *get_word(char **, ssize_t *, int *);
+static void next_line(char **, ssize_t *);
+static void out_font(char *, ssize_t, int);
+static ssize_t read_file(char **);
+static int usage(void);
+
+static char *progname;
+static char *fontname;
+static char *charfile = "charset";
+
+int
+main(int argc, char **argv) {
+ int i;
+ char *b, *b0;
+ ssize_t s;
+ progname = argv[0];
+ if (argc != 2) return usage();
+ fontname = argv[1];
+ s = read_file(&b0);
+ b = b0;
+ if (!(i = find_font(&b, &s))) {
+ fprintf(stderr, "%s: Font %s not found in %s.\n",
+ progname, fontname, charfile);
+ exit(EXIT_FAILURE);
+ }
+ out_font(b, s, i);
+ free(b0);
+ return EXIT_SUCCESS;
+}
+
+static ssize_t
+read_file(char **b) {
+ int f;
+ struct stat s;
+ ssize_t n;
+ if ((f = open(charfile, O_RDONLY)) == -1) {
+ fprintf(stderr, "%s: open(%s) failed: ", progname,
+ charfile);
+ perror(NULL);
+ exit(EXIT_FAILURE);
+ }
+ if (fstat(f, &s) == -1) {
+ fprintf(stderr, "%s: fstat(%s) failed: ", progname,
+ charfile);
+ perror(NULL);
+ exit(EXIT_FAILURE);
+ }
+ if (!(*b = malloc(s.st_size + 1))) exit(EXIT_FAILURE);
+ if ((n = read(f, *b, s.st_size)) == -1) {
+ fprintf(stderr, "%s: read(%s) failed: ", progname,
+ charfile);
+ perror(NULL);
+ exit(EXIT_FAILURE);
+ }
+ close(f);
+ return n;
+}
+
+static int
+find_font(char **b, ssize_t *s) {
+ int i;
+ int f;
+ char *w;
+ for (i = 1; ; i++) {
+ w = get_word(b, s, &f);
+ if (!w) return 0;
+ if (!strcmp(w, fontname)) break;
+ if (f || !*s) return 0;
+ }
+ if (!f) next_line(b, s);
+ return i;
+}
+
+static void
+out_font(char *b, ssize_t s, int i) {
+ int l;
+ for (l = 0; s;) {
+ int j;
+ char *w;
+ int f;
+ w = get_word(&b, &s, &f);
+ if (!w) exit(EXIT_SUCCESS);
+ fputs(w, stdout);
+ if (f || !s) {
+ fprintf(stderr,
+ "%s: Unexpected end of line or file.\n",
+ progname);
+ exit(EXIT_FAILURE);
+ }
+ for (j = 0; j < i; j++) {
+ w = get_word(&b, &s, &f);
+ if (!w) {
+ fprintf(stderr,
+ "%s: Unexpected end of line or file.\n",
+ progname);
+ exit(EXIT_FAILURE);
+ }
+ }
+ printf("\t%s%s\n", w, l && strcmp(w, "\"") ? "\t0\t0" : "");
+ if (!f) next_line(&b, &s);
+ if (!l) {
+ l++;
+ puts("charset");
+ }
+ }
+}
+
+static char *
+get_word(char **b, ssize_t *s, int *f) { /* buffer, size, flags */
+ char *w = NULL;
+ char *p = *b;
+ ssize_t n = *s;
+ unsigned t = 0;
+ int c;
+ while (n && (!(c = *p) || c == ' ' || c == '\t')) {
+ n--;
+ p++;
+ }
+ if (c == '\n') {
+ t = 1;
+ goto r;
+ }
+ if (!n) goto r;
+ w = p;
+ while (n && (c = *p) && c != ' ' && c != '\t' && c != '\n') {
+ n--;
+ p++;
+ }
+ if (c == '\n') t = 1;
+ *p = 0;
+r:
+ *b = p;
+ *s = n;
+ if (f) *f = t;
+ return w;
+}
+
+static void
+next_line(char **b, ssize_t *s) {
+ char *p = *b;
+ ssize_t n = *s;
+ while (n && *p != '\n') {
+ n--;
+ p++;
+ }
+ if (n) {
+ n--;
+ p++;
+ }
+ *b = p;
+ *s = n;
+}
+
+static int
+usage(void) {
+ fprintf(stderr,
+"Usage: ./%s <font_name> >> <font_name>\n"
+ , progname);
+ return EXIT_FAILURE;
+}
diff --git a/troff/troff.d/font/devpost/AB b/troff/troff.d/font/devpost/AB
new file mode 100644
index 0000000000000..e5040a897a31f
--- /dev/null
+++ b/troff/troff.d/font/devpost/AB
@@ -0,0 +1,125 @@
+#ident "@(#)AB 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# AvantGarde-Demi
+name AB
+internalname 27
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 56 2 36
+% 86 2 37
+& 68 2 38
+' 28 2 39
+cq 28 2 39
+( 38 3 40
+) 38 3 41
+* 44 2 42
++ 60 0 43
+, 28 1 44
+hy 42 0 45
+- "
+. 28 0 46
+/ 46 3 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 60 0 61
+? 56 2 63
+A 74 2 65
+B 58 2 66
+C 78 2 67
+D 70 2 68
+E 52 2 69
+F 48 2 70
+G 84 2 71
+H 68 2 72
+I 28 2 73
+J 48 2 74
+K 62 2 75
+L 44 2 76
+M 90 2 77
+N 74 2 78
+O 84 2 79
+P 56 2 80
+Q 84 2 81
+R 58 2 82
+S 52 2 83
+T 42 2 84
+U 64 2 85
+V 70 2 86
+W 90 2 87
+X 68 2 88
+Y 62 2 89
+Z 50 2 90
+[ 32 3 91
+] 32 3 93
+` 28 2 96
+oq 28 2 96
+a 66 0 97
+b 66 2 98
+c 64 0 99
+d 66 2 100
+e 64 0 101
+f 28 2 102
+g 66 1 103
+h 60 2 104
+i 24 2 105
+j 26 3 106
+k 58 2 107
+l 24 2 108
+m 94 0 109
+n 60 0 110
+o 64 0 111
+p 66 1 112
+q 66 1 113
+r 32 0 114
+s 44 0 115
+t 30 2 116
+u 60 0 117
+v 56 0 118
+w 80 0 119
+x 56 0 120
+y 58 1 121
+z 46 0 122
+ct 56 2 162
+fi 52 2 174
+fl 52 2 175
+dg 56 3 178
+bu 60 0 183
+de 36 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 48 2 170
+'' 48 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/AB.name b/troff/troff.d/font/devpost/AB.name
new file mode 100644
index 0000000000000..66cbce00a8058
--- /dev/null
+++ b/troff/troff.d/font/devpost/AB.name
@@ -0,0 +1 @@
+AvantGarde-Demi
diff --git a/troff/troff.d/font/devpost/AI b/troff/troff.d/font/devpost/AI
new file mode 100644
index 0000000000000..4c3174f886ea9
--- /dev/null
+++ b/troff/troff.d/font/devpost/AI
@@ -0,0 +1,125 @@
+#ident "@(#)AI 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# AvantGarde-BookOblique
+name AI
+internalname 26
+ligatures fi fl 0
+charset
+! 29 2 33
+$ 55 2 36
+% 77 2 37
+& 76 2 38
+' 35 2 39
+cq 35 2 39
+( 37 3 40
+) 37 3 41
+* 42 2 42
++ 61 0 43
+, 28 0 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 44 3 47
+0 55 2 48
+1 55 2 49
+2 55 2 50
+3 55 2 51
+4 55 2 52
+5 55 2 53
+6 55 2 54
+7 55 2 55
+8 55 2 56
+9 55 2 57
+: 28 0 58
+; 28 0 59
+= 61 0 61
+? 59 2 63
+A 74 2 65
+B 57 2 66
+C 81 2 67
+D 74 2 68
+E 54 2 69
+F 49 2 70
+G 87 2 71
+H 68 2 72
+I 23 2 73
+J 48 2 74
+K 59 2 75
+L 46 2 76
+M 92 2 77
+N 74 2 78
+O 87 2 79
+P 59 2 80
+Q 87 2 81
+R 61 2 82
+S 50 2 83
+T 43 2 84
+U 66 2 85
+V 70 2 86
+W 96 2 87
+X 61 2 88
+Y 59 2 89
+Z 48 2 90
+[ 35 3 91
+] 35 3 93
+` 35 2 96
+oq 35 2 96
+a 68 0 97
+b 68 2 98
+c 65 0 99
+d 69 2 100
+e 65 0 101
+f 31 2 102
+g 67 1 103
+h 61 2 104
+i 20 2 105
+j 20 3 106
+k 50 2 107
+l 20 2 108
+m 94 0 109
+n 61 0 110
+o 66 0 111
+p 68 1 112
+q 68 1 113
+r 30 0 114
+s 39 0 115
+t 34 2 116
+u 61 0 117
+v 55 0 118
+w 83 0 119
+x 48 0 120
+y 54 1 121
+z 42 0 122
+ct 55 2 162
+fi 49 2 174
+fl 49 2 175
+dg 55 3 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 35 2 169
diff --git a/troff/troff.d/font/devpost/AI.name b/troff/troff.d/font/devpost/AI.name
new file mode 100644
index 0000000000000..042c47d36d4e3
--- /dev/null
+++ b/troff/troff.d/font/devpost/AI.name
@@ -0,0 +1 @@
+AvantGarde-BookOblique
diff --git a/troff/troff.d/font/devpost/AR b/troff/troff.d/font/devpost/AR
new file mode 100644
index 0000000000000..5d9966a57c863
--- /dev/null
+++ b/troff/troff.d/font/devpost/AR
@@ -0,0 +1,125 @@
+#ident "@(#)AR 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# AvantGarde-Book
+name AR
+internalname 25
+ligatures fi fl 0
+charset
+! 29 2 33
+$ 55 2 36
+% 77 2 37
+& 76 2 38
+' 35 2 39
+cq 35 2 39
+( 37 3 40
+) 37 3 41
+* 42 2 42
++ 61 0 43
+, 28 0 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 44 3 47
+0 55 2 48
+1 55 2 49
+2 55 2 50
+3 55 2 51
+4 55 2 52
+5 55 2 53
+6 55 2 54
+7 55 2 55
+8 55 2 56
+9 55 2 57
+: 28 0 58
+; 28 0 59
+= 61 0 61
+? 59 2 63
+A 74 2 65
+B 57 2 66
+C 81 2 67
+D 74 2 68
+E 54 2 69
+F 49 2 70
+G 87 2 71
+H 68 2 72
+I 23 2 73
+J 48 2 74
+K 59 2 75
+L 46 2 76
+M 92 2 77
+N 74 2 78
+O 87 2 79
+P 59 2 80
+Q 87 2 81
+R 61 2 82
+S 50 2 83
+T 43 2 84
+U 66 2 85
+V 70 2 86
+W 96 2 87
+X 61 2 88
+Y 59 2 89
+Z 48 2 90
+[ 35 3 91
+] 35 3 93
+` 35 2 96
+oq 35 2 96
+a 68 0 97
+b 68 2 98
+c 65 0 99
+d 69 2 100
+e 65 0 101
+f 31 2 102
+g 67 1 103
+h 61 2 104
+i 20 2 105
+j 20 3 106
+k 50 2 107
+l 20 2 108
+m 94 0 109
+n 61 0 110
+o 66 0 111
+p 68 1 112
+q 68 1 113
+r 30 0 114
+s 39 0 115
+t 34 2 116
+u 61 0 117
+v 55 0 118
+w 83 0 119
+x 48 0 120
+y 54 1 121
+z 42 0 122
+ct 55 2 162
+fi 49 2 174
+fl 49 2 175
+dg 55 3 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 35 2 169
diff --git a/troff/troff.d/font/devpost/AR.name b/troff/troff.d/font/devpost/AR.name
new file mode 100644
index 0000000000000..8e691047dbfda
--- /dev/null
+++ b/troff/troff.d/font/devpost/AR.name
@@ -0,0 +1 @@
+AvantGarde-Book
diff --git a/troff/troff.d/font/devpost/AX b/troff/troff.d/font/devpost/AX
new file mode 100644
index 0000000000000..a00cc1ae2415b
--- /dev/null
+++ b/troff/troff.d/font/devpost/AX
@@ -0,0 +1,125 @@
+#ident "@(#)AX 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# AvantGarde-DemiOblique
+name AX
+internalname 28
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 56 2 36
+% 86 2 37
+& 68 2 38
+' 28 2 39
+cq 28 2 39
+( 38 3 40
+) 38 3 41
+* 44 2 42
++ 60 0 43
+, 28 1 44
+hy 42 0 45
+- "
+. 28 0 46
+/ 46 3 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 60 0 61
+? 56 2 63
+A 74 2 65
+B 58 2 66
+C 78 2 67
+D 70 2 68
+E 52 2 69
+F 48 2 70
+G 84 2 71
+H 68 2 72
+I 28 2 73
+J 48 2 74
+K 62 2 75
+L 44 2 76
+M 90 2 77
+N 74 2 78
+O 84 2 79
+P 56 2 80
+Q 84 2 81
+R 58 2 82
+S 52 2 83
+T 42 2 84
+U 64 2 85
+V 70 2 86
+W 90 2 87
+X 68 2 88
+Y 62 2 89
+Z 50 2 90
+[ 32 3 91
+] 32 3 93
+` 28 2 96
+oq 28 2 96
+a 66 0 97
+b 66 2 98
+c 64 0 99
+d 66 2 100
+e 64 0 101
+f 28 2 102
+g 66 1 103
+h 60 2 104
+i 24 2 105
+j 26 3 106
+k 58 2 107
+l 24 2 108
+m 94 0 109
+n 60 0 110
+o 64 0 111
+p 66 1 112
+q 66 1 113
+r 32 0 114
+s 44 0 115
+t 30 2 116
+u 60 0 117
+v 56 0 118
+w 80 0 119
+x 56 0 120
+y 58 1 121
+z 46 0 122
+ct 56 2 162
+fi 52 2 174
+fl 52 2 175
+dg 56 3 178
+bu 60 0 183
+de 36 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 48 2 170
+'' 48 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/AX.name b/troff/troff.d/font/devpost/AX.name
new file mode 100644
index 0000000000000..4cff429625fc0
--- /dev/null
+++ b/troff/troff.d/font/devpost/AX.name
@@ -0,0 +1 @@
+AvantGarde-DemiOblique
diff --git a/troff/troff.d/font/devpost/B b/troff/troff.d/font/devpost/B
new file mode 100644
index 0000000000000..c7cf495967609
--- /dev/null
+++ b/troff/troff.d/font/devpost/B
@@ -0,0 +1,137 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)B 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Times-Bold
+name B
+internalname 3
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 50 3 36
+% 100 2 37
+& 83 2 38
+' 33 2 39
+cq 33 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 57 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 28 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 33 0 58
+; 33 1 59
+= 57 0 61
+? 50 2 63
+A 72 2 65
+B 67 2 66
+C 72 2 67
+D 72 2 68
+E 67 2 69
+F 61 2 70
+G 78 2 71
+H 78 2 72
+I 39 2 73
+J 50 2 74
+K 78 2 75
+L 67 2 76
+M 94 2 77
+N 72 2 78
+O 78 2 79
+P 61 2 80
+Q 78 3 81
+R 72 2 82
+S 56 2 83
+T 67 2 84
+U 72 2 85
+V 72 2 86
+W 100 2 87
+X 72 2 88
+Y 72 2 89
+Z 67 2 90
+[ 33 3 91
+] 33 3 93
+` 33 2 96
+oq 33 2 96
+a 50 0 97
+b 56 2 98
+c 44 0 99
+d 56 2 100
+e 44 0 101
+f 33 2 102
+g 50 1 103
+h 56 2 104
+i 28 2 105
+j 33 3 106
+k 56 2 107
+l 28 2 108
+m 83 0 109
+n 56 0 110
+o 50 0 111
+p 56 1 112
+q 56 1 113
+r 44 0 114
+s 39 0 115
+t 33 2 116
+u 56 0 117
+v 50 0 118
+w 72 0 119
+x 50 0 120
+y 50 1 121
+z 44 0 122
+ct 50 3 162
+fi 56 2 174
+fl 56 2 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 50 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 50 2 170
+'' 50 2 186
+aq 33 2 169
diff --git a/troff/troff.d/font/devpost/B.name b/troff/troff.d/font/devpost/B.name
new file mode 100644
index 0000000000000..0eff771010ac6
--- /dev/null
+++ b/troff/troff.d/font/devpost/B.name
@@ -0,0 +1 @@
+Times-Bold
diff --git a/troff/troff.d/font/devpost/BI b/troff/troff.d/font/devpost/BI
new file mode 100644
index 0000000000000..5e419c3dd4834
--- /dev/null
+++ b/troff/troff.d/font/devpost/BI
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)BI 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Times-BoldItalic
+name BI
+internalname 4
+ligatures fi fl 0
+charset
+! 39 2 33
+$ 50 2 36
+% 83 2 37
+& 78 2 38
+' 33 2 39
+cq 33 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 57 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 28 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 33 0 58
+; 33 1 59
+= 57 0 61
+? 50 2 63
+A 67 2 65
+B 67 2 66
+C 67 2 67
+D 72 2 68
+E 67 2 69
+F 67 2 70
+G 72 2 71
+H 78 2 72
+I 39 2 73
+J 50 2 74
+K 67 2 75
+L 61 2 76
+M 89 2 77
+N 72 2 78
+O 72 2 79
+P 61 2 80
+Q 72 3 81
+R 67 2 82
+S 56 2 83
+T 61 2 84
+U 72 2 85
+V 67 2 86
+W 89 2 87
+X 67 2 88
+Y 61 2 89
+Z 61 2 90
+[ 33 3 91
+] 33 3 93
+` 33 2 96
+oq 33 2 96
+a 50 0 97
+b 50 2 98
+c 44 0 99
+d 50 2 100
+e 44 0 101
+f 33 3 102
+g 50 1 103
+h 56 2 104
+i 28 2 105
+j 28 3 106
+k 50 2 107
+l 28 2 108
+m 78 0 109
+n 56 0 110
+o 50 0 111
+p 50 1 112
+q 50 1 113
+r 39 0 114
+s 39 0 115
+t 28 2 116
+u 56 0 117
+v 44 0 118
+w 67 0 119
+x 50 0 120
+y 44 1 121
+z 39 0 122
+ct 50 3 162
+fi 56 3 174
+fl 56 3 175
+dg 50 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 33 2 169
diff --git a/troff/troff.d/font/devpost/BI.name b/troff/troff.d/font/devpost/BI.name
new file mode 100644
index 0000000000000..3aed601b14071
--- /dev/null
+++ b/troff/troff.d/font/devpost/BI.name
@@ -0,0 +1 @@
+Times-BoldItalic
diff --git a/troff/troff.d/font/devpost/CB b/troff/troff.d/font/devpost/CB
new file mode 100644
index 0000000000000..4a91957fc2f8b
--- /dev/null
+++ b/troff/troff.d/font/devpost/CB
@@ -0,0 +1,137 @@
+#ident "@(#)CB 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Courier-Bold
+name CB
+internalname 7
+spacewidth 60
+charset
+! 60 2 33
+" 60 2 34
+# 60 2 35
+$ 60 2 36
+% 60 2 37
+& 60 2 38
+' 60 2 39
+cq 60 2 39
+( 60 3 40
+) 60 3 41
+* 60 2 42
++ 60 0 43
+, 60 1 44
+hy 60 0 45
+- "
+. 60 0 46
+/ 60 2 47
+0 60 2 48
+1 60 2 49
+2 60 2 50
+3 60 2 51
+4 60 2 52
+5 60 2 53
+6 60 2 54
+7 60 2 55
+8 60 2 56
+9 60 2 57
+: 60 0 58
+; 60 1 59
+< 60 2 60
+= 60 0 61
+> 60 2 62
+? 60 2 63
+@ 60 2 64
+A 60 2 65
+B 60 2 66
+C 60 2 67
+D 60 2 68
+E 60 2 69
+F 60 2 70
+G 60 2 71
+H 60 2 72
+I 60 2 73
+J 60 2 74
+K 60 2 75
+L 60 2 76
+M 60 2 77
+N 60 2 78
+O 60 2 79
+P 60 2 80
+Q 60 3 81
+R 60 2 82
+S 60 2 83
+T 60 2 84
+U 60 2 85
+V 60 2 86
+W 60 2 87
+X 60 2 88
+Y 60 2 89
+Z 60 2 90
+[ 60 3 91
+\ 60 3 92
+] 60 3 93
+^ 60 2 94
+_ 60 1 95
+` 60 2 96
+oq 60 2 96
+a 60 0 97
+b 60 2 98
+c 60 0 99
+d 60 2 100
+e 60 0 101
+f 60 2 102
+g 60 1 103
+h 60 2 104
+i 60 2 105
+j 60 3 106
+k 60 2 107
+l 60 2 108
+m 60 0 109
+n 60 0 110
+o 60 0 111
+p 60 1 112
+q 60 1 113
+r 60 0 114
+s 60 0 115
+t 60 2 116
+u 60 0 117
+v 60 0 118
+w 60 0 119
+x 60 0 120
+y 60 1 121
+z 60 0 122
+{ 60 3 123
+| 60 3 124
+} 60 3 125
+~ 60 0 126
+ct 60 2 162
+\- 60 0 177
+en "
+dg 60 3 178
+bu 60 0 183
+de 60 2 202
+em 60 0 208
+14 60 2 1
+34 60 2 1
+12 60 2 1
+`` 60 2 170
+'' 60 2 186
+aq 60 2 169
diff --git a/troff/troff.d/font/devpost/CB.name b/troff/troff.d/font/devpost/CB.name
new file mode 100644
index 0000000000000..e29f392a7edf2
--- /dev/null
+++ b/troff/troff.d/font/devpost/CB.name
@@ -0,0 +1 @@
+Courier-Bold
diff --git a/troff/troff.d/font/devpost/CI b/troff/troff.d/font/devpost/CI
new file mode 100644
index 0000000000000..6969baa2ae477
--- /dev/null
+++ b/troff/troff.d/font/devpost/CI
@@ -0,0 +1,145 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)CI 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Courier-Oblique
+name CI
+internalname 6
+spacewidth 60
+charset
+! 60 2 33
+" 60 2 34
+# 60 2 35
+$ 60 2 36
+% 60 2 37
+& 60 2 38
+' 60 2 39
+cq 60 2 39
+( 60 3 40
+) 60 3 41
+* 60 2 42
++ 60 0 43
+, 60 1 44
+hy 60 0 45
+- "
+. 60 0 46
+/ 60 2 47
+0 60 2 48
+1 60 2 49
+2 60 2 50
+3 60 2 51
+4 60 2 52
+5 60 2 53
+6 60 2 54
+7 60 2 55
+8 60 2 56
+9 60 2 57
+: 60 0 58
+; 60 1 59
+< 60 2 60
+= 60 0 61
+> 60 2 62
+? 60 2 63
+@ 60 2 64
+A 60 2 65
+B 60 2 66
+C 60 2 67
+D 60 2 68
+E 60 2 69
+F 60 2 70
+G 60 2 71
+H 60 2 72
+I 60 2 73
+J 60 2 74
+K 60 2 75
+L 60 2 76
+M 60 2 77
+N 60 2 78
+O 60 2 79
+P 60 2 80
+Q 60 3 81
+R 60 2 82
+S 60 2 83
+T 60 2 84
+U 60 2 85
+V 60 2 86
+W 60 2 87
+X 60 2 88
+Y 60 2 89
+Z 60 2 90
+[ 60 3 91
+\ 60 3 92
+] 60 3 93
+^ 60 2 94
+_ 60 1 95
+` 60 2 96
+oq 60 2 96
+a 60 0 97
+b 60 2 98
+c 60 0 99
+d 60 2 100
+e 60 0 101
+f 60 2 102
+g 60 1 103
+h 60 2 104
+i 60 2 105
+j 60 3 106
+k 60 2 107
+l 60 2 108
+m 60 0 109
+n 60 0 110
+o 60 0 111
+p 60 1 112
+q 60 1 113
+r 60 0 114
+s 60 0 115
+t 60 2 116
+u 60 0 117
+v 60 0 118
+w 60 0 119
+x 60 0 120
+y 60 1 121
+z 60 0 122
+{ 60 3 123
+| 60 3 124
+} 60 3 125
+~ 60 0 126
+ct 60 2 162
+\- 60 0 177
+en "
+dg 60 3 178
+bu 60 0 183
+de 60 2 202
+em 60 0 208
+14 60 2 1
+34 60 2 1
+12 60 2 1
+`` 60 2 170
+'' 60 2 186
+aq 60 2 169
diff --git a/troff/troff.d/font/devpost/CI.name b/troff/troff.d/font/devpost/CI.name
new file mode 100644
index 0000000000000..96620c5d3b9f4
--- /dev/null
+++ b/troff/troff.d/font/devpost/CI.name
@@ -0,0 +1 @@
+Courier-Oblique
diff --git a/troff/troff.d/font/devpost/CO b/troff/troff.d/font/devpost/CO
new file mode 100644
index 0000000000000..8beeffe255203
--- /dev/null
+++ b/troff/troff.d/font/devpost/CO
@@ -0,0 +1,137 @@
+#ident "@(#)CO 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Courier
+name CW
+internalname 5
+spacewidth 60
+charset
+! 60 2 33
+" 60 2 34
+# 60 2 35
+$ 60 2 36
+% 60 2 37
+& 60 2 38
+' 60 2 39
+cq 60 2 39
+( 60 3 40
+) 60 3 41
+* 60 2 42
++ 60 0 43
+, 60 1 44
+hy 60 0 45
+- "
+. 60 0 46
+/ 60 2 47
+0 60 2 48
+1 60 2 49
+2 60 2 50
+3 60 2 51
+4 60 2 52
+5 60 2 53
+6 60 2 54
+7 60 2 55
+8 60 2 56
+9 60 2 57
+: 60 0 58
+; 60 1 59
+< 60 2 60
+= 60 0 61
+> 60 2 62
+? 60 2 63
+@ 60 2 64
+A 60 2 65
+B 60 2 66
+C 60 2 67
+D 60 2 68
+E 60 2 69
+F 60 2 70
+G 60 2 71
+H 60 2 72
+I 60 2 73
+J 60 2 74
+K 60 2 75
+L 60 2 76
+M 60 2 77
+N 60 2 78
+O 60 2 79
+P 60 2 80
+Q 60 3 81
+R 60 2 82
+S 60 2 83
+T 60 2 84
+U 60 2 85
+V 60 2 86
+W 60 2 87
+X 60 2 88
+Y 60 2 89
+Z 60 2 90
+[ 60 3 91
+\ 60 3 92
+] 60 3 93
+^ 60 2 94
+_ 60 1 95
+` 60 2 96
+oq 60 2 96
+a 60 0 97
+b 60 2 98
+c 60 0 99
+d 60 2 100
+e 60 0 101
+f 60 2 102
+g 60 1 103
+h 60 2 104
+i 60 2 105
+j 60 3 106
+k 60 2 107
+l 60 2 108
+m 60 0 109
+n 60 0 110
+o 60 0 111
+p 60 1 112
+q 60 1 113
+r 60 0 114
+s 60 0 115
+t 60 2 116
+u 60 0 117
+v 60 0 118
+w 60 0 119
+x 60 0 120
+y 60 1 121
+z 60 0 122
+{ 60 3 123
+| 60 3 124
+} 60 3 125
+~ 60 0 126
+ct 60 2 162
+\- 60 0 177
+en "
+dg 60 3 178
+bu 60 0 183
+de 60 2 202
+em 60 0 208
+14 60 2 1
+34 60 2 1
+12 60 2 1
+`` 60 2 170
+'' 60 2 186
+aq 60 2 169
diff --git a/troff/troff.d/font/devpost/CO.name b/troff/troff.d/font/devpost/CO.name
new file mode 100644
index 0000000000000..75f4fae71eed5
--- /dev/null
+++ b/troff/troff.d/font/devpost/CO.name
@@ -0,0 +1 @@
+Courier
diff --git a/troff/troff.d/font/devpost/CW b/troff/troff.d/font/devpost/CW
new file mode 100644
index 0000000000000..e47368dd11480
--- /dev/null
+++ b/troff/troff.d/font/devpost/CW
@@ -0,0 +1,145 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)CW 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Courier
+name CW
+internalname 5
+spacewidth 60
+charset
+! 60 2 33
+" 60 2 34
+# 60 2 35
+$ 60 2 36
+% 60 2 37
+& 60 2 38
+' 60 2 39
+cq 60 2 39
+( 60 3 40
+) 60 3 41
+* 60 2 42
++ 60 0 43
+, 60 1 44
+hy 60 0 45
+- "
+. 60 0 46
+/ 60 2 47
+0 60 2 48
+1 60 2 49
+2 60 2 50
+3 60 2 51
+4 60 2 52
+5 60 2 53
+6 60 2 54
+7 60 2 55
+8 60 2 56
+9 60 2 57
+: 60 0 58
+; 60 1 59
+< 60 2 60
+= 60 0 61
+> 60 2 62
+? 60 2 63
+@ 60 2 64
+A 60 2 65
+B 60 2 66
+C 60 2 67
+D 60 2 68
+E 60 2 69
+F 60 2 70
+G 60 2 71
+H 60 2 72
+I 60 2 73
+J 60 2 74
+K 60 2 75
+L 60 2 76
+M 60 2 77
+N 60 2 78
+O 60 2 79
+P 60 2 80
+Q 60 3 81
+R 60 2 82
+S 60 2 83
+T 60 2 84
+U 60 2 85
+V 60 2 86
+W 60 2 87
+X 60 2 88
+Y 60 2 89
+Z 60 2 90
+[ 60 3 91
+\ 60 3 92
+] 60 3 93
+^ 60 2 94
+_ 60 1 95
+` 60 2 96
+oq 60 2 96
+a 60 0 97
+b 60 2 98
+c 60 0 99
+d 60 2 100
+e 60 0 101
+f 60 2 102
+g 60 1 103
+h 60 2 104
+i 60 2 105
+j 60 3 106
+k 60 2 107
+l 60 2 108
+m 60 0 109
+n 60 0 110
+o 60 0 111
+p 60 1 112
+q 60 1 113
+r 60 0 114
+s 60 0 115
+t 60 2 116
+u 60 0 117
+v 60 0 118
+w 60 0 119
+x 60 0 120
+y 60 1 121
+z 60 0 122
+{ 60 3 123
+| 60 3 124
+} 60 3 125
+~ 60 0 126
+ct 60 2 162
+\- 60 0 177
+en "
+dg 60 3 178
+bu 60 0 183
+de 60 2 202
+em 60 0 208
+14 60 2 1
+34 60 2 1
+12 60 2 1
+`` 60 2 170
+'' 60 2 186
+aq 60 2 169
diff --git a/troff/troff.d/font/devpost/CW.name b/troff/troff.d/font/devpost/CW.name
new file mode 100644
index 0000000000000..75f4fae71eed5
--- /dev/null
+++ b/troff/troff.d/font/devpost/CW.name
@@ -0,0 +1 @@
+Courier
diff --git a/troff/troff.d/font/devpost/CX b/troff/troff.d/font/devpost/CX
new file mode 100644
index 0000000000000..9601baf50f95f
--- /dev/null
+++ b/troff/troff.d/font/devpost/CX
@@ -0,0 +1,145 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)CX 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Courier-BoldOblique
+name CX
+internalname 8
+spacewidth 60
+charset
+! 60 2 33
+" 60 2 34
+# 60 2 35
+$ 60 2 36
+% 60 2 37
+& 60 2 38
+' 60 2 39
+cq 60 2 39
+( 60 3 40
+) 60 3 41
+* 60 2 42
++ 60 0 43
+, 60 1 44
+hy 60 0 45
+- "
+. 60 0 46
+/ 60 2 47
+0 60 2 48
+1 60 2 49
+2 60 2 50
+3 60 2 51
+4 60 2 52
+5 60 2 53
+6 60 2 54
+7 60 2 55
+8 60 2 56
+9 60 2 57
+: 60 0 58
+; 60 1 59
+< 60 2 60
+= 60 0 61
+> 60 2 62
+? 60 2 63
+@ 60 2 64
+A 60 2 65
+B 60 2 66
+C 60 2 67
+D 60 2 68
+E 60 2 69
+F 60 2 70
+G 60 2 71
+H 60 2 72
+I 60 2 73
+J 60 2 74
+K 60 2 75
+L 60 2 76
+M 60 2 77
+N 60 2 78
+O 60 2 79
+P 60 2 80
+Q 60 3 81
+R 60 2 82
+S 60 2 83
+T 60 2 84
+U 60 2 85
+V 60 2 86
+W 60 2 87
+X 60 2 88
+Y 60 2 89
+Z 60 2 90
+[ 60 3 91
+\ 60 3 92
+] 60 3 93
+^ 60 2 94
+_ 60 1 95
+` 60 2 96
+oq 60 2 96
+a 60 0 97
+b 60 2 98
+c 60 0 99
+d 60 2 100
+e 60 0 101
+f 60 2 102
+g 60 1 103
+h 60 2 104
+i 60 2 105
+j 60 3 106
+k 60 2 107
+l 60 2 108
+m 60 0 109
+n 60 0 110
+o 60 0 111
+p 60 1 112
+q 60 1 113
+r 60 0 114
+s 60 0 115
+t 60 2 116
+u 60 0 117
+v 60 0 118
+w 60 0 119
+x 60 0 120
+y 60 1 121
+z 60 0 122
+{ 60 3 123
+| 60 3 124
+} 60 3 125
+~ 60 0 126
+ct 60 2 162
+\- 60 0 177
+en "
+dg 60 3 178
+bu 60 0 183
+de 60 2 202
+em 60 0 208
+14 60 2 1
+34 60 2 1
+12 60 2 1
+`` 60 2 170
+'' 60 2 186
+aq 60 2 169
diff --git a/troff/troff.d/font/devpost/CX.name b/troff/troff.d/font/devpost/CX.name
new file mode 100644
index 0000000000000..cbd4f3d606eed
--- /dev/null
+++ b/troff/troff.d/font/devpost/CX.name
@@ -0,0 +1 @@
+Courier-BoldOblique
diff --git a/troff/troff.d/font/devpost/DESC b/troff/troff.d/font/devpost/DESC
new file mode 100644
index 0000000000000..adc5eabaf1bbd
--- /dev/null
+++ b/troff/troff.d/font/devpost/DESC
@@ -0,0 +1,63 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# from OpenSolaris "DESC 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Description file for Postscript printers. The resolution and unitwidth have
+# been selected to match, in a sense, PostScript's default coordinate system
+# and the widths given in Adobe's Font manual.
+#
+# Right now biggestfont shouldn't be set larger than 219.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+anysize
+lc_ctype
+res 720
+hor 1
+vert 1
+unitwidth 10
+biggestfont 200
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U
+*W *C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i
+*k *l *m *n *o *p *h *r *s *t *u *w *c *q *z \{
+\| \} ap fm <= sl if <- ua da de +- >= mu pt pd
+bu di != == ~~ al Ox O+ es ca cu sp ip sb ib mo
+gr rg co tm sr no \^ or lc lf lt lk lb bv is rc
+rf rt rk rb ts lh rh LV LH Lb L1 LA `` '' ob vr
+aq oq cq
diff --git a/troff/troff.d/font/devpost/DESC.big b/troff/troff.d/font/devpost/DESC.big
new file mode 100644
index 0000000000000..2730becf8d6c6
--- /dev/null
+++ b/troff/troff.d/font/devpost/DESC.big
@@ -0,0 +1,48 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Description file for Postscript printers. The resolution and unitwidth have
+# been selected to match, in a sense, PostScript's default coordinate system
+# and the widths given in Adobe's Font manual.
+#
+# Right now biggestfont shouldn't be set larger than 219.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+res 720
+hor 1
+vert 1
+unitwidth 10
+biggestfont 200
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U *W
+*C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i *k
+*l *m *n *o *p *h *r *s *t *u *w *c *q *z \{ \|
+\} ap fm <= sl if <- ua da de +- >= mu pt pd bu
+di != == ~~ al Ox O+ es ca cu sp ip sb ib mo gr
+rg co tm sr no \^ or lc lf lt lk lb bv is rc rf
+rt rk rb ts lh rh LV LH Lb L1 LA `` ''
diff --git a/troff/troff.d/font/devpost/DESC.small b/troff/troff.d/font/devpost/DESC.small
new file mode 100644
index 0000000000000..ec302b0d1c6e0
--- /dev/null
+++ b/troff/troff.d/font/devpost/DESC.small
@@ -0,0 +1,52 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# A DESC file that can be used with the new version of makedev to produce smaller
+# DESC.out files. May help if you're running troff on a PC with a small address
+# space. biggestfont is set to the size of the CW font, and will accomodate all
+# font files except S and ZD. If you use this version ZD will only be mountable
+# in font position 0 using \f(ZD. To use it replace DESC by DESC.small before
+# building the binary font files. Also included a version of the S font file,
+# S.small, that has all unnamed characters (ie. ones named by ---) removed. Using
+# it will further decrease the size of DESC.out - but may not be necessary.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+res 720
+hor 1
+vert 1
+unitwidth 10
+biggestfont 106
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U *W
+*C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i *k
+*l *m *n *o *p *h *r *s *t *u *w *c *q *z \{ \|
+\} ap fm <= sl if <- ua da de +- >= mu pt pd bu
+di != == ~~ al Ox O+ es ca cu sp ip sb ib mo gr
+rg co tm sr no \^ or lc lf lt lk lb bv is rc rf
+rt rk rb ts lh rh LV LH Lb L1 LA `` ''
diff --git a/troff/troff.d/font/devpost/FONTMAP b/troff/troff.d/font/devpost/FONTMAP
new file mode 100644
index 0000000000000..da59c3c7ab9ba
--- /dev/null
+++ b/troff/troff.d/font/devpost/FONTMAP
@@ -0,0 +1,21 @@
+ABI AX
+TB B
+TBI BI
+CR CW
+CBI CX
+HR H
+HBI HX
+Hb HNB
+Hi HNI
+Hr HNR
+Hx HNBI
+TI I
+BMB KB
+BMI KI
+BMR KR
+BMBI KX
+NBI NX
+PR PA
+PBI PX
+TR R
+ZCMI ZI
diff --git a/troff/troff.d/font/devpost/GR b/troff/troff.d/font/devpost/GR
new file mode 100644
index 0000000000000..1a78ea55170df
--- /dev/null
+++ b/troff/troff.d/font/devpost/GR
@@ -0,0 +1,83 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)GR 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Greek
+name GR
+internalname 33
+special
+charset
+*a 63 0 97
+*b 55 3 98
+*g 41 1 103
+*d 49 2 100
+*e 44 0 101
+*z 49 3 122
+*y 60 1 104
+*h 52 2 113
+*i 33 0 105
+*k 55 0 107
+*l 55 2 108
+*m 58 1 109
+*n 52 0 110
+*c 49 3 120
+*o 55 0 111
+*p 55 0 112
+*r 55 1 114
+*s 60 0 115
+*t 44 0 116
+*u 58 0 117
+*f 52 3 102
+*x 55 1 99
+*q 69 1 121
+*w 69 0 119
+*A 72 2 65
+*B 67 2 66
+*G 60 2 71
+*D 61 2 68
+*E 61 2 69
+*Z 61 2 90
+*Y 72 2 72
+*H 74 2 81
+*R 56 2 82
+*I 33 2 73
+*K 72 2 75
+*L 69 2 76
+*M 89 2 77
+*N 72 2 78
+*C 65 2 88
+*O 72 2 79
+*P 77 2 80
+*S 59 2 83
+*T 61 2 84
+*U 69 2 85
+*F 76 2 70
+*X 72 2 67
+*Q 80 2 89
+*W 77 2 87
diff --git a/troff/troff.d/font/devpost/GR.name b/troff/troff.d/font/devpost/GR.name
new file mode 100644
index 0000000000000..c5fe836342c41
--- /dev/null
+++ b/troff/troff.d/font/devpost/GR.name
@@ -0,0 +1 @@
+Symbol
diff --git a/troff/troff.d/font/devpost/H b/troff/troff.d/font/devpost/H
new file mode 100644
index 0000000000000..4fc447107bfe1
--- /dev/null
+++ b/troff/troff.d/font/devpost/H
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)H 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Helvetica
+name H
+internalname 9
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 56 3 36
+% 89 2 37
+& 67 2 38
+' 22 2 39
+cq 22 2 39
+( 33 3 40
+) 33 3 41
+* 39 2 42
++ 58 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 58 0 61
+? 56 2 63
+A 67 2 65
+B 67 2 66
+C 72 2 67
+D 72 2 68
+E 67 2 69
+F 61 2 70
+G 78 2 71
+H 72 2 72
+I 28 2 73
+J 50 2 74
+K 67 2 75
+L 56 2 76
+M 83 2 77
+N 72 2 78
+O 78 2 79
+P 67 2 80
+Q 78 2 81
+R 72 2 82
+S 67 2 83
+T 61 2 84
+U 72 2 85
+V 67 2 86
+W 94 2 87
+X 67 2 88
+Y 67 2 89
+Z 61 2 90
+[ 28 3 91
+] 28 3 93
+` 22 2 96
+oq 22 2 96
+a 56 0 97
+b 56 2 98
+c 50 0 99
+d 56 2 100
+e 56 0 101
+f 28 2 102
+g 56 1 103
+h 56 2 104
+i 22 2 105
+j 22 3 106
+k 50 2 107
+l 22 2 108
+m 83 0 109
+n 56 0 110
+o 56 0 111
+p 56 1 112
+q 56 1 113
+r 33 0 114
+s 50 0 115
+t 28 2 116
+u 56 0 117
+v 50 0 118
+w 72 0 119
+x 50 0 120
+y 50 1 121
+z 50 0 122
+ct 56 3 162
+fi 50 2 174
+fl 50 2 175
+dg 56 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 33 2 170
+'' 33 2 186
+aq 22 2 169
diff --git a/troff/troff.d/font/devpost/H.name b/troff/troff.d/font/devpost/H.name
new file mode 100644
index 0000000000000..c2ed429f597c8
--- /dev/null
+++ b/troff/troff.d/font/devpost/H.name
@@ -0,0 +1 @@
+Helvetica
diff --git a/troff/troff.d/font/devpost/HB b/troff/troff.d/font/devpost/HB
new file mode 100644
index 0000000000000..6c880f3ca9889
--- /dev/null
+++ b/troff/troff.d/font/devpost/HB
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)HB 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Helvetica-Bold
+name HB
+internalname 11
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 56 3 36
+% 89 2 37
+& 72 2 38
+' 28 2 39
+cq 28 2 39
+( 33 3 40
+) 33 3 41
+* 39 2 42
++ 58 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 33 0 58
+; 33 1 59
+= 58 0 61
+? 61 2 63
+A 72 2 65
+B 72 2 66
+C 72 2 67
+D 72 2 68
+E 67 2 69
+F 61 2 70
+G 78 2 71
+H 72 2 72
+I 28 2 73
+J 56 2 74
+K 72 2 75
+L 61 2 76
+M 83 2 77
+N 72 2 78
+O 78 2 79
+P 67 2 80
+Q 78 2 81
+R 72 2 82
+S 67 2 83
+T 61 2 84
+U 72 2 85
+V 67 2 86
+W 94 2 87
+X 67 2 88
+Y 67 2 89
+Z 61 2 90
+[ 33 3 91
+] 33 3 93
+` 28 2 96
+oq 28 2 96
+a 56 0 97
+b 61 2 98
+c 56 0 99
+d 61 2 100
+e 56 0 101
+f 33 2 102
+g 61 1 103
+h 61 2 104
+i 28 2 105
+j 28 3 106
+k 56 2 107
+l 28 2 108
+m 89 0 109
+n 61 0 110
+o 61 0 111
+p 61 1 112
+q 61 1 113
+r 39 0 114
+s 56 0 115
+t 33 2 116
+u 61 0 117
+v 56 0 118
+w 78 0 119
+x 56 0 120
+y 56 1 121
+z 50 0 122
+ct 56 3 162
+fi 61 2 174
+fl 61 2 175
+dg 56 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/HB.name b/troff/troff.d/font/devpost/HB.name
new file mode 100644
index 0000000000000..b6fcae93c0ebb
--- /dev/null
+++ b/troff/troff.d/font/devpost/HB.name
@@ -0,0 +1 @@
+Helvetica-Bold
diff --git a/troff/troff.d/font/devpost/HI b/troff/troff.d/font/devpost/HI
new file mode 100644
index 0000000000000..6098b1e423cd1
--- /dev/null
+++ b/troff/troff.d/font/devpost/HI
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)HI 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Helvetica-Oblique
+name HI
+internalname 10
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 56 3 36
+% 89 2 37
+& 67 2 38
+' 22 2 39
+cq 22 2 39
+( 33 3 40
+) 33 3 41
+* 39 2 42
++ 58 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 58 0 61
+? 56 2 63
+A 67 2 65
+B 67 2 66
+C 72 2 67
+D 72 2 68
+E 67 2 69
+F 61 2 70
+G 78 2 71
+H 72 2 72
+I 28 2 73
+J 50 2 74
+K 67 2 75
+L 56 2 76
+M 83 2 77
+N 72 2 78
+O 78 2 79
+P 67 2 80
+Q 78 2 81
+R 72 2 82
+S 67 2 83
+T 61 2 84
+U 72 2 85
+V 67 2 86
+W 94 2 87
+X 67 2 88
+Y 67 2 89
+Z 61 2 90
+[ 28 3 91
+] 28 3 93
+` 22 2 96
+oq 22 2 96
+a 56 0 97
+b 56 2 98
+c 50 0 99
+d 56 2 100
+e 56 0 101
+f 28 2 102
+g 56 1 103
+h 56 2 104
+i 22 2 105
+j 22 3 106
+k 50 2 107
+l 22 2 108
+m 83 0 109
+n 56 0 110
+o 56 0 111
+p 56 1 112
+q 56 1 113
+r 33 0 114
+s 50 0 115
+t 28 2 116
+u 56 0 117
+v 50 0 118
+w 72 0 119
+x 50 0 120
+y 50 1 121
+z 50 0 122
+ct 56 3 162
+fi 50 2 174
+fl 50 2 175
+dg 56 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 33 2 170
+'' 33 2 186
+aq 22 2 169
diff --git a/troff/troff.d/font/devpost/HI.name b/troff/troff.d/font/devpost/HI.name
new file mode 100644
index 0000000000000..1082d54ec2384
--- /dev/null
+++ b/troff/troff.d/font/devpost/HI.name
@@ -0,0 +1 @@
+Helvetica-Oblique
diff --git a/troff/troff.d/font/devpost/HNB b/troff/troff.d/font/devpost/HNB
new file mode 100644
index 0000000000000..3ed0478056fbb
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNB
@@ -0,0 +1,125 @@
+#ident "@(#)Hb 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Helvetica-Narrow-Bold
+name Hb
+internalname 19
+ligatures fi fl 0
+charset
+! 27 2 33
+$ 46 3 36
+% 73 2 37
+& 59 2 38
+' 23 2 39
+cq 23 2 39
+( 27 3 40
+) 27 3 41
+* 32 2 42
++ 48 0 43
+, 23 1 44
+hy 27 0 45
+- "
+. 23 0 46
+/ 23 2 47
+0 46 2 48
+1 46 2 49
+2 46 2 50
+3 46 2 51
+4 46 2 52
+5 46 2 53
+6 46 2 54
+7 46 2 55
+8 46 2 56
+9 46 2 57
+: 27 0 58
+; 27 1 59
+= 48 0 61
+? 50 2 63
+A 59 2 65
+B 59 2 66
+C 59 2 67
+D 59 2 68
+E 55 2 69
+F 50 2 70
+G 64 2 71
+H 59 2 72
+I 23 2 73
+J 46 2 74
+K 59 2 75
+L 50 2 76
+M 68 2 77
+N 59 2 78
+O 64 2 79
+P 55 2 80
+Q 64 2 81
+R 59 2 82
+S 55 2 83
+T 50 2 84
+U 59 2 85
+V 55 2 86
+W 77 2 87
+X 55 2 88
+Y 55 2 89
+Z 50 2 90
+[ 27 3 91
+] 27 3 93
+` 23 2 96
+oq 23 2 96
+a 46 0 97
+b 50 2 98
+c 46 0 99
+d 50 2 100
+e 46 0 101
+f 27 2 102
+g 50 1 103
+h 50 2 104
+i 23 2 105
+j 23 3 106
+k 46 2 107
+l 23 2 108
+m 73 0 109
+n 50 0 110
+o 50 0 111
+p 50 1 112
+q 50 1 113
+r 32 0 114
+s 46 0 115
+t 27 2 116
+u 50 0 117
+v 46 0 118
+w 64 0 119
+x 46 0 120
+y 46 1 121
+z 41 0 122
+ct 46 3 162
+fi 50 2 174
+fl 50 2 175
+dg 46 3 178
+bu 29 0 183
+de 27 2 202
+em 82 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 41 2 170
+'' 41 2 186
+aq 23 2 169
diff --git a/troff/troff.d/font/devpost/HNB.name b/troff/troff.d/font/devpost/HNB.name
new file mode 100644
index 0000000000000..c13a099737e64
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNB.name
@@ -0,0 +1 @@
+Helvetica-Narrow-Bold
diff --git a/troff/troff.d/font/devpost/HNBI b/troff/troff.d/font/devpost/HNBI
new file mode 100644
index 0000000000000..8ddd5674d737e
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNBI
@@ -0,0 +1,125 @@
+#ident "@(#)Hx 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Helvetica-Narrow-BoldOblique
+name Hx
+internalname 20
+ligatures fi fl 0
+charset
+! 27 2 33
+$ 46 3 36
+% 73 2 37
+& 59 2 38
+' 23 2 39
+cq 23 2 39
+( 27 3 40
+) 27 3 41
+* 32 2 42
++ 48 0 43
+, 23 1 44
+hy 27 0 45
+- "
+. 23 0 46
+/ 23 2 47
+0 46 2 48
+1 46 2 49
+2 46 2 50
+3 46 2 51
+4 46 2 52
+5 46 2 53
+6 46 2 54
+7 46 2 55
+8 46 2 56
+9 46 2 57
+: 27 0 58
+; 27 1 59
+= 48 0 61
+? 50 2 63
+A 59 2 65
+B 59 2 66
+C 59 2 67
+D 59 2 68
+E 55 2 69
+F 50 2 70
+G 64 2 71
+H 59 2 72
+I 23 2 73
+J 46 2 74
+K 59 2 75
+L 50 2 76
+M 68 2 77
+N 59 2 78
+O 64 2 79
+P 55 2 80
+Q 64 2 81
+R 59 2 82
+S 55 2 83
+T 50 2 84
+U 59 2 85
+V 55 2 86
+W 77 2 87
+X 55 2 88
+Y 55 2 89
+Z 50 2 90
+[ 27 3 91
+] 27 3 93
+` 23 2 96
+oq 23 2 96
+a 46 0 97
+b 50 2 98
+c 46 0 99
+d 50 2 100
+e 46 0 101
+f 27 2 102
+g 50 1 103
+h 50 2 104
+i 23 2 105
+j 23 3 106
+k 46 2 107
+l 23 2 108
+m 73 0 109
+n 50 0 110
+o 50 0 111
+p 50 1 112
+q 50 1 113
+r 32 0 114
+s 46 0 115
+t 27 2 116
+u 50 0 117
+v 46 0 118
+w 64 0 119
+x 46 0 120
+y 46 1 121
+z 41 0 122
+ct 46 3 162
+fi 50 2 174
+fl 50 2 175
+dg 46 3 178
+bu 29 0 183
+de 27 2 202
+em 82 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 41 2 170
+'' 41 2 186
+aq 23 2 169
diff --git a/troff/troff.d/font/devpost/HNBI.name b/troff/troff.d/font/devpost/HNBI.name
new file mode 100644
index 0000000000000..bcb1cd265fb27
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNBI.name
@@ -0,0 +1 @@
+Helvetica-Narrow-BoldOblique
diff --git a/troff/troff.d/font/devpost/HNI b/troff/troff.d/font/devpost/HNI
new file mode 100644
index 0000000000000..86f00a41fe0e0
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNI
@@ -0,0 +1,125 @@
+#ident "@(#)Hi 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Helvetica-Narrow-Oblique
+name Hi
+internalname 18
+ligatures fi fl 0
+charset
+! 23 2 33
+$ 46 3 36
+% 73 2 37
+& 55 2 38
+' 18 2 39
+cq 18 2 39
+( 27 3 40
+) 27 3 41
+* 32 2 42
++ 48 0 43
+, 23 1 44
+hy 27 0 45
+- "
+. 23 0 46
+/ 23 2 47
+0 46 2 48
+1 46 2 49
+2 46 2 50
+3 46 2 51
+4 46 2 52
+5 46 2 53
+6 46 2 54
+7 46 2 55
+8 46 2 56
+9 46 2 57
+: 23 0 58
+; 23 1 59
+= 48 0 61
+? 46 2 63
+A 55 2 65
+B 55 2 66
+C 59 2 67
+D 59 2 68
+E 55 2 69
+F 50 2 70
+G 64 2 71
+H 59 2 72
+I 23 2 73
+J 41 2 74
+K 55 2 75
+L 46 2 76
+M 68 2 77
+N 59 2 78
+O 64 2 79
+P 55 2 80
+Q 64 2 81
+R 59 2 82
+S 55 2 83
+T 50 2 84
+U 59 2 85
+V 55 2 86
+W 77 2 87
+X 55 2 88
+Y 55 2 89
+Z 50 2 90
+[ 23 3 91
+] 23 3 93
+` 18 2 96
+oq 18 2 96
+a 46 0 97
+b 46 2 98
+c 41 0 99
+d 46 2 100
+e 46 0 101
+f 23 2 102
+g 46 1 103
+h 46 2 104
+i 18 2 105
+j 18 3 106
+k 41 2 107
+l 18 2 108
+m 68 0 109
+n 46 0 110
+o 46 0 111
+p 46 1 112
+q 46 1 113
+r 27 0 114
+s 41 0 115
+t 23 2 116
+u 46 0 117
+v 41 0 118
+w 59 0 119
+x 41 0 120
+y 41 1 121
+z 41 0 122
+ct 46 3 162
+fi 41 2 174
+fl 41 2 175
+dg 46 3 178
+bu 29 0 183
+de 27 2 202
+em 82 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 27 2 170
+'' 27 2 186
+aq 18 2 169
diff --git a/troff/troff.d/font/devpost/HNI.name b/troff/troff.d/font/devpost/HNI.name
new file mode 100644
index 0000000000000..5702536b087d4
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNI.name
@@ -0,0 +1 @@
+Helvetica-Narrow-Oblique
diff --git a/troff/troff.d/font/devpost/HNR b/troff/troff.d/font/devpost/HNR
new file mode 100644
index 0000000000000..76f1ec18830b3
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNR
@@ -0,0 +1,125 @@
+#ident "@(#)Hr 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Helvetica-Narrow
+name Hr
+internalname 17
+ligatures fi fl 0
+charset
+! 23 2 33
+$ 46 3 36
+% 73 2 37
+& 55 2 38
+' 18 2 39
+cq 18 2 39
+( 27 3 40
+) 27 3 41
+* 32 2 42
++ 48 0 43
+, 23 1 44
+hy 27 0 45
+- "
+. 23 0 46
+/ 23 2 47
+0 46 2 48
+1 46 2 49
+2 46 2 50
+3 46 2 51
+4 46 2 52
+5 46 2 53
+6 46 2 54
+7 46 2 55
+8 46 2 56
+9 46 2 57
+: 23 0 58
+; 23 1 59
+= 48 0 61
+? 46 2 63
+A 55 2 65
+B 55 2 66
+C 59 2 67
+D 59 2 68
+E 55 2 69
+F 50 2 70
+G 64 2 71
+H 59 2 72
+I 23 2 73
+J 41 2 74
+K 55 2 75
+L 46 2 76
+M 68 2 77
+N 59 2 78
+O 64 2 79
+P 55 2 80
+Q 64 2 81
+R 59 2 82
+S 55 2 83
+T 50 2 84
+U 59 2 85
+V 55 2 86
+W 77 2 87
+X 55 2 88
+Y 55 2 89
+Z 50 2 90
+[ 23 3 91
+] 23 3 93
+` 18 2 96
+oq 18 2 96
+a 46 0 97
+b 46 2 98
+c 41 0 99
+d 46 2 100
+e 46 0 101
+f 23 2 102
+g 46 1 103
+h 46 2 104
+i 18 2 105
+j 18 3 106
+k 41 2 107
+l 18 2 108
+m 68 0 109
+n 46 0 110
+o 46 0 111
+p 46 1 112
+q 46 1 113
+r 27 0 114
+s 41 0 115
+t 23 2 116
+u 46 0 117
+v 41 0 118
+w 59 0 119
+x 41 0 120
+y 41 1 121
+z 41 0 122
+ct 46 3 162
+fi 41 2 174
+fl 41 2 175
+dg 46 3 178
+bu 29 0 183
+de 27 2 202
+em 82 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 27 2 170
+'' 27 2 186
+aq 18 2 169
diff --git a/troff/troff.d/font/devpost/HNR.name b/troff/troff.d/font/devpost/HNR.name
new file mode 100644
index 0000000000000..73a487bb4aee7
--- /dev/null
+++ b/troff/troff.d/font/devpost/HNR.name
@@ -0,0 +1 @@
+Helvetica-Narrow
diff --git a/troff/troff.d/font/devpost/HX b/troff/troff.d/font/devpost/HX
new file mode 100644
index 0000000000000..da39dffe1ab94
--- /dev/null
+++ b/troff/troff.d/font/devpost/HX
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)HX 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Helvetica-BoldOblique
+name HX
+internalname 12
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 56 3 36
+% 89 2 37
+& 72 2 38
+' 28 2 39
+cq 28 2 39
+( 33 3 40
+) 33 3 41
+* 39 2 42
++ 58 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 33 0 58
+; 33 1 59
+= 58 0 61
+? 61 2 63
+A 72 2 65
+B 72 2 66
+C 72 2 67
+D 72 2 68
+E 67 2 69
+F 61 2 70
+G 78 2 71
+H 72 2 72
+I 28 2 73
+J 56 2 74
+K 72 2 75
+L 61 2 76
+M 83 2 77
+N 72 2 78
+O 78 2 79
+P 67 2 80
+Q 78 2 81
+R 72 2 82
+S 67 2 83
+T 61 2 84
+U 72 2 85
+V 67 2 86
+W 94 2 87
+X 67 2 88
+Y 67 2 89
+Z 61 2 90
+[ 33 3 91
+] 33 3 93
+` 28 2 96
+oq 28 2 96
+a 56 0 97
+b 61 2 98
+c 56 0 99
+d 61 2 100
+e 56 0 101
+f 33 2 102
+g 61 1 103
+h 61 2 104
+i 28 2 105
+j 28 3 106
+k 56 2 107
+l 28 2 108
+m 89 0 109
+n 61 0 110
+o 61 0 111
+p 61 1 112
+q 61 1 113
+r 39 0 114
+s 56 0 115
+t 33 2 116
+u 61 0 117
+v 56 0 118
+w 78 0 119
+x 56 0 120
+y 56 1 121
+z 50 0 122
+ct 56 3 162
+fi 61 2 174
+fl 61 2 175
+dg 56 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/HX.name b/troff/troff.d/font/devpost/HX.name
new file mode 100644
index 0000000000000..41e8c82f18286
--- /dev/null
+++ b/troff/troff.d/font/devpost/HX.name
@@ -0,0 +1 @@
+Helvetica-BoldOblique
diff --git a/troff/troff.d/font/devpost/I b/troff/troff.d/font/devpost/I
new file mode 100644
index 0000000000000..8d3a8e9a0029f
--- /dev/null
+++ b/troff/troff.d/font/devpost/I
@@ -0,0 +1,137 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)I 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Times-Italic
+name I
+internalname 2
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 50 2 36
+% 83 2 37
+& 78 2 38
+' 33 2 39
+cq 33 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 68 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 28 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 33 0 58
+; 33 1 59
+= 68 0 61
+? 50 2 63
+A 61 2 65
+B 61 2 66
+C 67 2 67
+D 72 2 68
+E 61 2 69
+F 61 2 70
+G 72 2 71
+H 72 2 72
+I 33 2 73
+J 44 2 74
+K 67 2 75
+L 56 2 76
+M 83 2 77
+N 67 2 78
+O 72 2 79
+P 61 2 80
+Q 72 3 81
+R 61 2 82
+S 50 2 83
+T 56 2 84
+U 72 2 85
+V 61 2 86
+W 83 2 87
+X 61 2 88
+Y 56 2 89
+Z 56 2 90
+[ 39 3 91
+] 39 3 93
+` 33 2 96
+oq 33 2 96
+a 50 0 97
+b 50 2 98
+c 44 0 99
+d 50 2 100
+e 44 0 101
+f 28 3 102
+g 50 1 103
+h 50 2 104
+i 28 2 105
+j 28 3 106
+k 44 2 107
+l 28 2 108
+m 72 0 109
+n 50 0 110
+o 50 0 111
+p 50 1 112
+q 50 1 113
+r 39 0 114
+s 39 0 115
+t 28 0 116
+u 50 0 117
+v 44 0 118
+w 67 0 119
+x 44 0 120
+y 44 1 121
+z 39 0 122
+ct 50 3 162
+fi 50 3 174
+fl 50 3 175
+ff 50 2 1
+Fi 72 2 1
+Fl 72 2 1
+dg 50 2 178
+bu 35 0 183
+de 33 2 202
+em 89 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 56 2 170
+'' 56 2 186
+aq 33 2 169
diff --git a/troff/troff.d/font/devpost/I.name b/troff/troff.d/font/devpost/I.name
new file mode 100644
index 0000000000000..df19d08bda914
--- /dev/null
+++ b/troff/troff.d/font/devpost/I.name
@@ -0,0 +1 @@
+Times-Italic
diff --git a/troff/troff.d/font/devpost/KB b/troff/troff.d/font/devpost/KB
new file mode 100644
index 0000000000000..59bac91341905
--- /dev/null
+++ b/troff/troff.d/font/devpost/KB
@@ -0,0 +1,125 @@
+#ident "@(#)KB 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Bookman-Demi
+name KB
+internalname 23
+ligatures fi fl 0
+charset
+! 36 2 33
+$ 66 3 36
+% 94 2 37
+& 80 2 38
+' 32 2 39
+cq 32 2 39
+( 32 3 40
+) 32 3 41
+* 46 2 42
++ 60 0 43
+, 34 1 44
+hy 36 0 45
+- "
+. 34 0 46
+/ 60 3 47
+0 66 2 48
+1 66 2 49
+2 66 2 50
+3 66 2 51
+4 66 2 52
+5 66 2 53
+6 66 2 54
+7 66 2 55
+8 66 2 56
+9 66 2 57
+: 34 0 58
+; 34 1 59
+= 60 0 61
+? 66 2 63
+A 72 2 65
+B 72 2 66
+C 74 2 67
+D 78 2 68
+E 72 2 69
+F 68 2 70
+G 78 2 71
+H 82 2 72
+I 40 2 73
+J 64 2 74
+K 80 2 75
+L 64 2 76
+M 94 2 77
+N 74 2 78
+O 80 2 79
+P 66 2 80
+Q 80 3 81
+R 78 2 82
+S 66 2 83
+T 70 2 84
+U 74 2 85
+V 72 2 86
+W 94 2 87
+X 78 2 88
+Y 70 2 89
+Z 64 2 90
+[ 30 3 91
+] 30 3 93
+` 32 2 96
+oq 32 2 96
+a 58 0 97
+b 60 2 98
+c 58 0 99
+d 64 2 100
+e 58 0 101
+f 38 2 102
+g 58 3 103
+h 68 2 104
+i 36 2 105
+j 34 3 106
+k 66 2 107
+l 34 2 108
+m 100 0 109
+n 68 0 110
+o 62 0 111
+p 64 1 112
+q 62 1 113
+r 46 0 114
+s 52 0 115
+t 46 2 116
+u 66 0 117
+v 60 0 118
+w 80 0 119
+x 60 0 120
+y 62 1 121
+z 56 0 122
+ct 66 2 162
+fi 74 2 174
+fl 74 2 175
+dg 44 3 178
+bu 46 0 183
+de 34 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 54 2 170
+'' 54 2 186
+aq 32 2 169
diff --git a/troff/troff.d/font/devpost/KB.name b/troff/troff.d/font/devpost/KB.name
new file mode 100644
index 0000000000000..8b408b1708565
--- /dev/null
+++ b/troff/troff.d/font/devpost/KB.name
@@ -0,0 +1 @@
+Bookman-Demi
diff --git a/troff/troff.d/font/devpost/KI b/troff/troff.d/font/devpost/KI
new file mode 100644
index 0000000000000..98365174f6444
--- /dev/null
+++ b/troff/troff.d/font/devpost/KI
@@ -0,0 +1,125 @@
+#ident "@(#)KI 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Bookman-LightItalic
+name KI
+internalname 22
+ligatures fi fl 0
+charset
+! 32 2 33
+$ 62 2 36
+% 80 2 37
+& 82 2 38
+' 28 2 39
+cq 28 2 39
+( 28 3 40
+) 28 3 41
+* 44 2 42
++ 60 0 43
+, 30 1 44
+hy 32 0 45
+- "
+. 30 0 46
+/ 60 3 47
+0 62 2 48
+1 62 2 49
+2 62 2 50
+3 62 2 51
+4 62 2 52
+5 62 2 53
+6 62 2 54
+7 62 2 55
+8 62 2 56
+9 62 2 57
+: 30 0 58
+; 30 1 59
+= 60 0 61
+? 54 2 63
+A 70 2 65
+B 72 2 66
+C 72 2 67
+D 74 2 68
+E 68 2 69
+F 62 2 70
+G 76 2 71
+H 80 2 72
+I 32 2 73
+J 56 2 74
+K 72 2 75
+L 58 2 76
+M 86 2 77
+N 72 2 78
+O 76 2 79
+P 60 2 80
+Q 78 3 81
+R 70 2 82
+S 64 2 83
+T 60 2 84
+U 72 2 85
+V 68 2 86
+W 96 2 87
+X 70 2 88
+Y 66 2 89
+Z 58 2 90
+[ 26 3 91
+] 26 3 93
+` 28 2 96
+oq 28 2 96
+a 62 0 97
+b 60 2 98
+c 48 0 99
+d 64 2 100
+e 54 0 101
+f 34 3 102
+g 56 1 103
+h 62 2 104
+i 28 2 105
+j 28 3 106
+k 60 2 107
+l 28 2 108
+m 88 0 109
+n 62 0 110
+o 54 0 111
+p 60 1 112
+q 56 1 113
+r 40 0 114
+s 54 0 115
+t 34 2 116
+u 62 0 117
+v 54 0 118
+w 88 0 119
+x 54 0 120
+y 60 1 121
+z 52 0 122
+ct 62 2 162
+fi 64 3 174
+fl 66 3 175
+dg 62 3 178
+bu 46 0 183
+de 30 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 44 2 170
+'' 44 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/KI.name b/troff/troff.d/font/devpost/KI.name
new file mode 100644
index 0000000000000..d00e32f28b0d8
--- /dev/null
+++ b/troff/troff.d/font/devpost/KI.name
@@ -0,0 +1 @@
+Bookman-LightItalic
diff --git a/troff/troff.d/font/devpost/KR b/troff/troff.d/font/devpost/KR
new file mode 100644
index 0000000000000..4de68f54f9dfb
--- /dev/null
+++ b/troff/troff.d/font/devpost/KR
@@ -0,0 +1,125 @@
+#ident "@(#)KR 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Bookman-Light
+name KR
+internalname 21
+ligatures fi fl 0
+charset
+! 30 2 33
+$ 62 2 36
+% 90 2 37
+& 80 2 38
+' 22 2 39
+cq 22 2 39
+( 30 3 40
+) 30 3 41
+* 44 2 42
++ 60 0 43
+, 32 1 44
+hy 40 0 45
+- "
+. 32 0 46
+/ 60 3 47
+0 62 2 48
+1 62 2 49
+2 62 2 50
+3 62 2 51
+4 62 2 52
+5 62 2 53
+6 62 2 54
+7 62 2 55
+8 62 2 56
+9 62 2 57
+: 32 0 58
+; 32 1 59
+= 60 0 61
+? 54 2 63
+A 68 2 65
+B 74 2 66
+C 74 2 67
+D 80 2 68
+E 72 2 69
+F 64 2 70
+G 80 2 71
+H 80 2 72
+I 34 2 73
+J 60 2 74
+K 72 2 75
+L 60 2 76
+M 92 2 77
+N 74 2 78
+O 80 2 79
+P 62 2 80
+Q 82 3 81
+R 72 2 82
+S 66 2 83
+T 62 2 84
+U 78 2 85
+V 70 2 86
+W 96 2 87
+X 72 2 88
+Y 64 2 89
+Z 64 2 90
+[ 30 3 91
+] 30 3 93
+` 22 2 96
+oq 22 2 96
+a 58 0 97
+b 62 2 98
+c 52 0 99
+d 62 2 100
+e 52 0 101
+f 32 2 102
+g 54 3 103
+h 66 2 104
+i 30 2 105
+j 30 3 106
+k 62 2 107
+l 30 2 108
+m 94 0 109
+n 66 0 110
+o 56 0 111
+p 62 1 112
+q 58 1 113
+r 44 0 114
+s 52 0 115
+t 38 2 116
+u 68 0 117
+v 52 0 118
+w 78 0 119
+x 56 0 120
+y 54 1 121
+z 48 0 122
+ct 62 2 162
+fi 62 2 174
+fl 62 2 175
+dg 54 3 178
+bu 46 0 183
+de 32 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 40 2 170
+'' 40 2 186
+aq 22 2 169
diff --git a/troff/troff.d/font/devpost/KR.name b/troff/troff.d/font/devpost/KR.name
new file mode 100644
index 0000000000000..f9eef0ca61494
--- /dev/null
+++ b/troff/troff.d/font/devpost/KR.name
@@ -0,0 +1 @@
+Bookman-Light
diff --git a/troff/troff.d/font/devpost/KX b/troff/troff.d/font/devpost/KX
new file mode 100644
index 0000000000000..5c230b8082ad0
--- /dev/null
+++ b/troff/troff.d/font/devpost/KX
@@ -0,0 +1,125 @@
+#ident "@(#)KX 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Bookman-DemiItalic
+name KX
+internalname 24
+ligatures fi fl 0
+charset
+! 32 2 33
+$ 68 3 36
+% 88 2 37
+& 98 2 38
+' 32 2 39
+cq 32 2 39
+( 26 3 40
+) 26 3 41
+* 46 2 42
++ 60 0 43
+, 34 1 44
+hy 28 0 45
+- "
+. 34 0 46
+/ 36 2 47
+0 68 2 48
+1 68 2 49
+2 68 2 50
+3 68 2 51
+4 68 2 52
+5 68 2 53
+6 68 2 54
+7 68 2 55
+8 68 2 56
+9 68 2 57
+: 34 0 58
+; 34 1 59
+= 60 0 61
+? 62 2 63
+A 72 2 65
+B 72 2 66
+C 70 2 67
+D 76 2 68
+E 72 2 69
+F 66 2 70
+G 76 2 71
+H 80 2 72
+I 38 2 73
+J 62 2 74
+K 78 2 75
+L 64 2 76
+M 86 2 77
+N 74 2 78
+O 76 2 79
+P 64 2 80
+Q 76 3 81
+R 74 2 82
+S 70 2 83
+T 70 2 84
+U 74 2 85
+V 66 2 86
+W 100 2 87
+X 74 2 88
+Y 66 2 89
+Z 68 2 90
+[ 26 3 91
+] 26 3 93
+` 32 2 96
+oq 32 2 96
+a 68 0 97
+b 60 2 98
+c 56 0 99
+d 68 2 100
+e 56 0 101
+f 42 3 102
+g 62 1 103
+h 70 2 104
+i 38 2 105
+j 32 3 106
+k 70 2 107
+l 38 2 108
+m 96 0 109
+n 68 0 110
+o 60 0 111
+p 66 1 112
+q 62 1 113
+r 50 0 114
+s 54 0 115
+t 44 2 116
+u 68 0 117
+v 54 0 118
+w 86 0 119
+x 62 0 120
+y 60 1 121
+z 56 0 122
+ct 68 2 162
+fi 82 3 174
+fl 82 3 175
+dg 42 3 178
+bu 36 0 183
+de 36 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 52 2 170
+'' 52 2 186
+aq 32 2 169
diff --git a/troff/troff.d/font/devpost/KX.name b/troff/troff.d/font/devpost/KX.name
new file mode 100644
index 0000000000000..591feecdc8cb4
--- /dev/null
+++ b/troff/troff.d/font/devpost/KX.name
@@ -0,0 +1 @@
+Bookman-DemiItalic
diff --git a/troff/troff.d/font/devpost/NB b/troff/troff.d/font/devpost/NB
new file mode 100644
index 0000000000000..d08e8c0b2cfc6
--- /dev/null
+++ b/troff/troff.d/font/devpost/NB
@@ -0,0 +1,125 @@
+#ident "@(#)NB 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# NewCenturySchlbk-Bold
+name NB
+internalname 31
+ligatures fi fl 0
+charset
+! 30 2 33
+$ 57 3 36
+% 83 2 37
+& 85 2 38
+' 24 2 39
+cq 24 2 39
+( 39 3 40
+) 39 3 41
+* 50 2 42
++ 61 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 57 2 48
+1 57 2 49
+2 57 2 50
+3 57 2 51
+4 57 2 52
+5 57 2 53
+6 57 2 54
+7 57 2 55
+8 57 2 56
+9 57 2 57
+: 28 0 58
+; 28 1 59
+= 61 0 61
+? 50 2 63
+A 76 2 65
+B 78 2 66
+C 78 2 67
+D 83 2 68
+E 76 2 69
+F 72 2 70
+G 83 2 71
+H 87 2 72
+I 44 2 73
+J 65 2 74
+K 81 2 75
+L 72 2 76
+M 98 2 77
+N 83 2 78
+O 83 2 79
+P 76 2 80
+Q 83 3 81
+R 81 2 82
+S 67 2 83
+T 72 2 84
+U 83 2 85
+V 76 2 86
+W 98 2 87
+X 72 2 88
+Y 72 2 89
+Z 67 2 90
+[ 39 3 91
+] 39 3 93
+` 24 2 96
+oq 24 2 96
+a 61 0 97
+b 65 2 98
+c 56 0 99
+d 67 2 100
+e 57 0 101
+f 39 2 102
+g 61 1 103
+h 69 2 104
+i 37 2 105
+j 35 3 106
+k 67 2 107
+l 35 2 108
+m 96 0 109
+n 69 0 110
+o 61 0 111
+p 67 1 112
+q 65 1 113
+r 52 0 114
+s 50 0 115
+t 43 2 116
+u 69 0 117
+v 61 0 118
+w 89 0 119
+x 61 0 120
+y 61 1 121
+z 54 0 122
+ct 57 3 162
+fi 69 2 174
+fl 69 2 175
+dg 50 2 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 48 2 170
+'' 48 2 186
+aq 24 2 169
diff --git a/troff/troff.d/font/devpost/NB.name b/troff/troff.d/font/devpost/NB.name
new file mode 100644
index 0000000000000..3caf245522c1d
--- /dev/null
+++ b/troff/troff.d/font/devpost/NB.name
@@ -0,0 +1 @@
+NewCenturySchlbk-Bold
diff --git a/troff/troff.d/font/devpost/NI b/troff/troff.d/font/devpost/NI
new file mode 100644
index 0000000000000..4db95e0c56c4d
--- /dev/null
+++ b/troff/troff.d/font/devpost/NI
@@ -0,0 +1,125 @@
+#ident "@(#)NI 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# NewCenturySchlbk-Italic
+name NI
+internalname 30
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 56 3 36
+% 83 2 37
+& 85 2 38
+' 20 2 39
+cq 20 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 61 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 61 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 61 0 61
+? 44 2 63
+A 70 2 65
+B 72 2 66
+C 72 2 67
+D 78 2 68
+E 72 2 69
+F 67 2 70
+G 78 2 71
+H 83 2 72
+I 41 2 73
+J 61 2 74
+K 74 2 75
+L 67 2 76
+M 94 2 77
+N 81 2 78
+O 78 2 79
+P 67 2 80
+Q 78 3 81
+R 74 2 82
+S 67 2 83
+T 69 2 84
+U 81 2 85
+V 70 2 86
+W 93 2 87
+X 70 2 88
+Y 69 2 89
+Z 67 2 90
+[ 33 3 91
+] 33 3 93
+` 20 2 96
+oq 20 2 96
+a 57 0 97
+b 56 2 98
+c 44 0 99
+d 61 2 100
+e 44 0 101
+f 33 3 102
+g 54 1 103
+h 61 2 104
+i 33 2 105
+j 32 3 106
+k 56 2 107
+l 33 2 108
+m 89 0 109
+n 61 0 110
+o 50 0 111
+p 57 1 112
+q 56 1 113
+r 44 0 114
+s 44 0 115
+t 35 2 116
+u 61 0 117
+v 52 0 118
+w 78 0 119
+x 50 0 120
+y 50 1 121
+z 46 0 122
+ct 56 3 162
+fi 61 3 174
+fl 61 3 175
+dg 50 3 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 39 2 170
+'' 39 2 186
+aq 20 2 169
diff --git a/troff/troff.d/font/devpost/NI.name b/troff/troff.d/font/devpost/NI.name
new file mode 100644
index 0000000000000..2874e8afbe513
--- /dev/null
+++ b/troff/troff.d/font/devpost/NI.name
@@ -0,0 +1 @@
+NewCenturySchlbk-Italic
diff --git a/troff/troff.d/font/devpost/NR b/troff/troff.d/font/devpost/NR
new file mode 100644
index 0000000000000..51f51456bea99
--- /dev/null
+++ b/troff/troff.d/font/devpost/NR
@@ -0,0 +1,125 @@
+#ident "@(#)NR 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# NewCenturySchlbk-Roman
+name NR
+internalname 29
+ligatures fi fl 0
+charset
+! 30 2 33
+$ 56 3 36
+% 83 2 37
+& 81 2 38
+' 20 2 39
+cq 20 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 61 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 28 2 47
+0 56 2 48
+1 56 2 49
+2 56 2 50
+3 56 2 51
+4 56 2 52
+5 56 2 53
+6 56 2 54
+7 56 2 55
+8 56 2 56
+9 56 2 57
+: 28 0 58
+; 28 1 59
+= 61 0 61
+? 44 2 63
+A 72 2 65
+B 72 2 66
+C 72 2 67
+D 78 2 68
+E 72 2 69
+F 67 2 70
+G 78 2 71
+H 83 2 72
+I 41 2 73
+J 56 2 74
+K 78 2 75
+L 67 2 76
+M 94 2 77
+N 81 2 78
+O 78 2 79
+P 67 2 80
+Q 78 3 81
+R 72 2 82
+S 63 2 83
+T 67 2 84
+U 81 2 85
+V 72 2 86
+W 98 2 87
+X 70 2 88
+Y 70 2 89
+Z 61 2 90
+[ 33 3 91
+] 33 3 93
+` 20 2 96
+oq 20 2 96
+a 56 0 97
+b 56 2 98
+c 44 0 99
+d 57 2 100
+e 50 0 101
+f 33 2 102
+g 54 1 103
+h 61 2 104
+i 32 2 105
+j 30 3 106
+k 59 2 107
+l 32 2 108
+m 89 0 109
+n 61 0 110
+o 50 0 111
+p 57 1 112
+q 56 1 113
+r 44 0 114
+s 46 0 115
+t 39 2 116
+u 61 0 117
+v 54 0 118
+w 78 0 119
+x 54 0 120
+y 54 1 121
+z 48 0 122
+ct 56 3 162
+fi 61 2 174
+fl 61 2 175
+dg 50 3 178
+bu 61 2 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 39 2 170
+'' 39 2 186
+aq 20 2 169
diff --git a/troff/troff.d/font/devpost/NR.name b/troff/troff.d/font/devpost/NR.name
new file mode 100644
index 0000000000000..82ea91140ff33
--- /dev/null
+++ b/troff/troff.d/font/devpost/NR.name
@@ -0,0 +1 @@
+NewCenturySchlbk-Roman
diff --git a/troff/troff.d/font/devpost/NX b/troff/troff.d/font/devpost/NX
new file mode 100644
index 0000000000000..4a98eb2dfd526
--- /dev/null
+++ b/troff/troff.d/font/devpost/NX
@@ -0,0 +1,125 @@
+#ident "@(#)NX 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# NewCenturySchlbk-BoldItalic
+name NX
+internalname 32
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 57 3 36
+% 89 2 37
+& 89 2 38
+' 26 2 39
+cq 26 2 39
+( 41 3 40
+) 41 3 41
+* 50 2 42
++ 61 0 43
+, 29 1 44
+hy 33 0 45
+- "
+. 29 0 46
+/ 28 2 47
+0 57 2 48
+1 57 2 49
+2 57 2 50
+3 57 2 51
+4 57 2 52
+5 57 2 53
+6 57 2 54
+7 57 2 55
+8 57 2 56
+9 57 2 57
+: 29 0 58
+; 29 1 59
+= 61 0 61
+? 48 2 63
+A 74 2 65
+B 76 2 66
+C 76 2 67
+D 83 2 68
+E 74 2 69
+F 70 2 70
+G 81 2 71
+H 87 2 72
+I 44 2 73
+J 67 2 74
+K 78 2 75
+L 70 2 76
+M 94 2 77
+N 85 2 78
+O 83 2 79
+P 74 2 80
+Q 83 3 81
+R 80 2 82
+S 69 2 83
+T 72 2 84
+U 83 2 85
+V 74 2 86
+W 94 2 87
+X 74 2 88
+Y 70 2 89
+Z 70 2 90
+[ 41 3 91
+] 41 3 93
+` 26 2 96
+oq 26 2 96
+a 67 0 97
+b 61 2 98
+c 54 0 99
+d 67 2 100
+e 52 0 101
+f 39 3 102
+g 61 1 103
+h 69 2 104
+i 39 2 105
+j 37 3 106
+k 65 2 107
+l 39 2 108
+m 94 0 109
+n 69 0 110
+o 57 0 111
+p 65 1 112
+q 63 1 113
+r 52 0 114
+s 48 0 115
+t 41 2 116
+u 69 0 117
+v 56 0 118
+w 83 0 119
+x 57 0 120
+y 52 1 121
+z 52 0 122
+ct 57 3 162
+fi 69 3 174
+fl 69 3 175
+dg 50 3 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 48 2 170
+'' 48 2 186
+aq 26 2 169
diff --git a/troff/troff.d/font/devpost/NX.name b/troff/troff.d/font/devpost/NX.name
new file mode 100644
index 0000000000000..cce962696f214
--- /dev/null
+++ b/troff/troff.d/font/devpost/NX.name
@@ -0,0 +1 @@
+NewCenturySchlbk-BoldItalic
diff --git a/troff/troff.d/font/devpost/PA b/troff/troff.d/font/devpost/PA
new file mode 100644
index 0000000000000..4c4f5c3138642
--- /dev/null
+++ b/troff/troff.d/font/devpost/PA
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)PA 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Palatino-Roman
+name PA
+internalname 13
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 50 2 36
+% 84 2 37
+& 78 2 38
+' 28 2 39
+cq 28 2 39
+( 33 2 40
+) 33 2 41
+* 39 2 42
++ 61 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 61 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 25 0 58
+; 25 1 59
+= 61 0 61
+? 44 2 63
+A 78 2 65
+B 61 2 66
+C 71 2 67
+D 77 2 68
+E 61 2 69
+F 56 2 70
+G 76 2 71
+H 83 2 72
+I 34 2 73
+J 33 3 74
+K 73 2 75
+L 61 2 76
+M 95 2 77
+N 83 2 78
+O 79 2 79
+P 60 2 80
+Q 79 3 81
+R 67 2 82
+S 53 2 83
+T 61 2 84
+U 78 2 85
+V 72 2 86
+W 100 2 87
+X 67 2 88
+Y 67 2 89
+Z 67 2 90
+[ 33 2 91
+] 33 2 93
+` 28 2 96
+oq 28 2 96
+a 50 0 97
+b 55 2 98
+c 44 0 99
+d 61 2 100
+e 48 0 101
+f 33 2 102
+g 56 1 103
+h 58 2 104
+i 29 2 105
+j 23 3 106
+k 56 2 107
+l 29 2 108
+m 88 0 109
+n 58 0 110
+o 55 0 111
+p 60 1 112
+q 56 1 113
+r 40 0 114
+s 42 0 115
+t 33 2 116
+u 60 0 117
+v 56 0 118
+w 83 0 119
+x 52 0 120
+y 56 1 121
+z 50 0 122
+ct 50 0 162
+fi 61 2 174
+fl 61 2 175
+dg 50 2 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/PA.name b/troff/troff.d/font/devpost/PA.name
new file mode 100644
index 0000000000000..b5b49c8bfec28
--- /dev/null
+++ b/troff/troff.d/font/devpost/PA.name
@@ -0,0 +1 @@
+Palatino-Roman
diff --git a/troff/troff.d/font/devpost/PB b/troff/troff.d/font/devpost/PB
new file mode 100644
index 0000000000000..98e16c8a0bef1
--- /dev/null
+++ b/troff/troff.d/font/devpost/PB
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)PB 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Palatino-Bold
+name PB
+internalname 15
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 50 2 36
+% 89 2 37
+& 83 2 38
+' 28 2 39
+cq 28 2 39
+( 33 2 40
+) 33 2 41
+* 44 2 42
++ 61 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 30 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 25 0 58
+; 25 1 59
+= 61 0 61
+? 44 2 63
+A 78 2 65
+B 67 2 66
+C 72 2 67
+D 83 2 68
+E 61 2 69
+F 56 2 70
+G 83 2 71
+H 83 2 72
+I 39 2 73
+J 39 3 74
+K 78 2 75
+L 61 2 76
+M 100 2 77
+N 83 2 78
+O 83 2 79
+P 61 2 80
+Q 83 3 81
+R 72 2 82
+S 61 2 83
+T 67 2 84
+U 78 2 85
+V 78 2 86
+W 100 2 87
+X 67 2 88
+Y 67 2 89
+Z 67 2 90
+[ 33 2 91
+] 33 2 93
+` 28 2 96
+oq 28 2 96
+a 50 0 97
+b 61 2 98
+c 44 0 99
+d 61 2 100
+e 50 0 101
+f 39 2 102
+g 56 1 103
+h 61 2 104
+i 33 2 105
+j 33 3 106
+k 61 2 107
+l 33 2 108
+m 89 0 109
+n 61 0 110
+o 56 0 111
+p 61 1 112
+q 61 1 113
+r 39 0 114
+s 44 0 115
+t 33 2 116
+u 61 0 117
+v 56 0 118
+w 83 0 119
+x 50 0 120
+y 56 1 121
+z 50 0 122
+ct 50 0 162
+fi 61 2 174
+fl 61 2 175
+dg 50 2 178
+bu 61 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/PB.name b/troff/troff.d/font/devpost/PB.name
new file mode 100644
index 0000000000000..63a4fa8374831
--- /dev/null
+++ b/troff/troff.d/font/devpost/PB.name
@@ -0,0 +1 @@
+Palatino-Bold
diff --git a/troff/troff.d/font/devpost/PI b/troff/troff.d/font/devpost/PI
new file mode 100644
index 0000000000000..3598e5f95c443
--- /dev/null
+++ b/troff/troff.d/font/devpost/PI
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)PI 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Palatino-Italic
+name PI
+internalname 14
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 50 2 36
+% 89 2 37
+& 78 2 38
+' 28 2 39
+cq 28 2 39
+( 33 2 40
+) 33 2 41
+* 39 2 42
++ 61 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 30 3 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 25 0 58
+; 25 1 59
+= 61 0 61
+? 50 2 63
+A 72 2 65
+B 61 2 66
+C 67 2 67
+D 78 2 68
+E 61 2 69
+F 56 2 70
+G 72 2 71
+H 78 2 72
+I 33 2 73
+J 33 3 74
+K 67 2 75
+L 56 2 76
+M 94 2 77
+N 78 2 78
+O 78 2 79
+P 61 2 80
+Q 78 3 81
+R 67 2 82
+S 56 2 83
+T 61 2 84
+U 78 2 85
+V 72 2 86
+W 94 2 87
+X 72 2 88
+Y 67 2 89
+Z 67 2 90
+[ 33 2 91
+] 33 2 93
+` 28 2 96
+oq 28 2 96
+a 44 0 97
+b 46 2 98
+c 41 0 99
+d 50 2 100
+e 39 0 101
+f 28 3 102
+g 50 1 103
+h 50 2 104
+i 28 2 105
+j 28 3 106
+k 44 2 107
+l 28 2 108
+m 78 0 109
+n 56 0 110
+o 44 0 111
+p 50 1 112
+q 46 1 113
+r 39 0 114
+s 39 0 115
+t 33 2 116
+u 56 0 117
+v 50 0 118
+w 72 0 119
+x 50 0 120
+y 50 1 121
+z 44 0 122
+ct 50 0 162
+fi 53 3 174
+fl 54 3 175
+dg 50 2 178
+bu 50 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/PI.name b/troff/troff.d/font/devpost/PI.name
new file mode 100644
index 0000000000000..f6e9f5ee5d3a8
--- /dev/null
+++ b/troff/troff.d/font/devpost/PI.name
@@ -0,0 +1 @@
+Palatino-Italic
diff --git a/troff/troff.d/font/devpost/PX b/troff/troff.d/font/devpost/PX
new file mode 100644
index 0000000000000..a84da9628cded
--- /dev/null
+++ b/troff/troff.d/font/devpost/PX
@@ -0,0 +1,133 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)PX 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Palatino-BoldItalic
+name PX
+internalname 16
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 50 2 36
+% 89 2 37
+& 83 2 38
+' 28 2 39
+cq 28 2 39
+( 33 2 40
+) 33 2 41
+* 44 2 42
++ 61 0 43
+, 25 1 44
+hy 39 0 45
+- "
+. 25 0 46
+/ 32 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 25 0 58
+; 25 1 59
+= 61 0 61
+? 44 2 63
+A 72 2 65
+B 67 2 66
+C 69 2 67
+D 78 2 68
+E 61 2 69
+F 56 2 70
+G 78 2 71
+H 78 2 72
+I 39 2 73
+J 39 3 74
+K 72 2 75
+L 61 2 76
+M 94 2 77
+N 78 2 78
+O 83 2 79
+P 67 2 80
+Q 83 3 81
+R 72 2 82
+S 56 2 83
+T 61 2 84
+U 78 2 85
+V 67 2 86
+W 100 2 87
+X 72 2 88
+Y 61 2 89
+Z 67 2 90
+[ 33 2 91
+] 33 2 93
+` 28 2 96
+oq 28 2 96
+a 56 0 97
+b 54 2 98
+c 44 0 99
+d 56 2 100
+e 44 0 101
+f 33 3 102
+g 50 1 103
+h 56 2 104
+i 33 2 105
+j 33 3 106
+k 56 2 107
+l 33 2 108
+m 83 0 109
+n 56 0 110
+o 56 0 111
+p 56 1 112
+q 54 1 113
+r 39 0 114
+s 44 0 115
+t 39 2 116
+u 56 0 117
+v 56 0 118
+w 83 0 119
+x 50 0 120
+y 56 1 121
+z 50 0 122
+ct 50 0 162
+fi 61 3 174
+fl 61 3 175
+dg 56 2 178
+bu 61 0 183
+de 56 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 50 2 170
+'' 50 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/PX.name b/troff/troff.d/font/devpost/PX.name
new file mode 100644
index 0000000000000..bbca09627135a
--- /dev/null
+++ b/troff/troff.d/font/devpost/PX.name
@@ -0,0 +1 @@
+Palatino-BoldItalic
diff --git a/troff/troff.d/font/devpost/R b/troff/troff.d/font/devpost/R
new file mode 100644
index 0000000000000..e54d0d3711041
--- /dev/null
+++ b/troff/troff.d/font/devpost/R
@@ -0,0 +1,137 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)R 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Times-Roman
+name R
+internalname 1
+ligatures fi fl 0
+charset
+! 33 2 33
+$ 50 2 36
+% 83 2 37
+& 78 2 38
+' 33 2 39
+cq 33 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 56 0 43
+, 25 1 44
+hy 33 0 45
+- "
+. 25 0 46
+/ 28 2 47
+0 50 2 48
+1 50 2 49
+2 50 2 50
+3 50 2 51
+4 50 2 52
+5 50 2 53
+6 50 2 54
+7 50 2 55
+8 50 2 56
+9 50 2 57
+: 28 0 58
+; 28 1 59
+= 56 0 61
+? 44 2 63
+A 72 2 65
+B 67 2 66
+C 67 2 67
+D 72 2 68
+E 61 2 69
+F 56 2 70
+G 72 2 71
+H 72 2 72
+I 33 2 73
+J 39 2 74
+K 72 2 75
+L 61 2 76
+M 89 2 77
+N 72 2 78
+O 72 2 79
+P 56 2 80
+Q 72 3 81
+R 67 2 82
+S 56 2 83
+T 61 2 84
+U 72 2 85
+V 72 2 86
+W 94 2 87
+X 72 2 88
+Y 72 2 89
+Z 61 2 90
+[ 33 3 91
+] 33 3 93
+` 33 2 96
+oq 33 2 96
+a 44 0 97
+b 50 2 98
+c 44 0 99
+d 50 2 100
+e 44 0 101
+f 33 2 102
+g 50 1 103
+h 50 2 104
+i 28 2 105
+j 28 3 106
+k 50 2 107
+l 28 2 108
+m 78 0 109
+n 50 0 110
+o 50 0 111
+p 50 1 112
+q 50 1 113
+r 33 0 114
+s 39 0 115
+t 28 2 116
+u 50 0 117
+v 50 0 118
+w 72 0 119
+x 50 0 120
+y 50 1 121
+z 44 0 122
+ct 50 3 162
+fi 56 2 174
+fl 56 2 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 50 3 178
+bu 35 0 183
+de 33 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 44 2 170
+'' 44 2 186
+aq 33 2 169
diff --git a/troff/troff.d/font/devpost/R.name b/troff/troff.d/font/devpost/R.name
new file mode 100644
index 0000000000000..1a9e5453e1efe
--- /dev/null
+++ b/troff/troff.d/font/devpost/R.name
@@ -0,0 +1 @@
+Times-Roman
diff --git a/troff/troff.d/font/devpost/S b/troff/troff.d/font/devpost/S
new file mode 100644
index 0000000000000..a3ee2873c7828
--- /dev/null
+++ b/troff/troff.d/font/devpost/S
@@ -0,0 +1,236 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)S 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Symbol
+name S
+internalname 33
+special
+charset
+bx 50 2 1
+ci 75 0 1
+sq 50 2 1
+~= 55 0 1
+L1 110 1 2
+LA 110 1 2
+LV 110 3 2
+LH 210 1 2
+Lb "
+lh 100 0 2
+rh 100 0 2
+--- 25 0 32
+--- 33 2 33
+fa 71 2 34
+--- 50 2 35
+te 55 2 36
+--- 83 2 37
+--- 78 2 38
+--- 44 0 39
+--- 33 3 40
+--- 33 3 41
+** 50 0 42
+pl 55 0 43
+--- 25 1 44
+mi 55 0 45
+--- 25 0 46
+--- 28 2 47
+--- 50 2 48
+--- 50 2 49
+--- 50 2 50
+--- 50 2 51
+--- 50 2 52
+--- 50 2 53
+--- 50 2 54
+--- 50 2 55
+--- 50 2 56
+--- 50 2 57
+--- 28 0 58
+--- 28 1 59
+< 55 0 60
+eq 55 0 61
+> 55 0 62
+--- 44 2 63
+*A 72 2 65
+*B 67 2 66
+*X 72 2 67
+*D 61 2 68
+*E 61 2 69
+*F 76 2 70
+*G 60 2 71
+*Y 72 2 72
+*I 33 2 73
+--- 63 2 74
+*K 72 2 75
+*L 69 2 76
+*M 89 2 77
+*N 72 2 78
+*O 72 2 79
+*P 77 2 80
+*H 74 2 81
+*R 56 2 82
+*S 59 2 83
+*T 61 2 84
+*U 69 2 85
+--- 44 1 86
+ts 44 1 86
+*W 77 2 87
+*C 65 2 88
+*Q 80 2 89
+*Z 61 2 90
+--- 33 3 91
+--- 86 0 92
+--- 33 3 93
+--- 66 2 94
+ul 50 1 95
+_ "
+rn 50 2 96
+*a 63 0 97
+*b 55 3 98
+*x 55 1 99
+*d 49 2 100
+*e 44 0 101
+*f 52 3 102
+*g 41 1 103
+*y 60 1 104
+*i 33 0 105
+--- 60 1 106
+*k 55 0 107
+*l 55 2 108
+*m 58 1 109
+*n 52 0 110
+*o 55 0 111
+*p 55 0 112
+*h 52 2 113
+*r 55 1 114
+*s 60 0 115
+*t 44 0 116
+*u 58 0 117
+--- 71 2 118
+*w 69 0 119
+*c 49 3 120
+*q 69 1 121
+*z 49 3 122
+{ 48 3 123
+or 20 3 124
+} 48 3 125
+ap 55 0 126
+--- 62 2 161
+fm 25 2 162
+<= 55 2 163
+sl 17 2 164
+if 73 0 165
+--- 50 3 166
+--- 75 0 167
+--- 75 0 168
+--- 75 0 169
+--- 75 0 170
+--- 104 0 171
+<- 99 0 172
+ua 60 2 173
+-> 99 0 174
+da 60 2 175
+de 40 2 176
++- 55 2 177
+--- 41 2 178
+>= 55 2 179
+mu 55 0 180
+pt 71 0 181
+pd 49 2 182
+bu 46 0 183
+di 55 0 184
+!= 55 0 185
+== 55 0 186
+~~ 55 0 187
+--- 100 0 188
+--- 60 3 189
+--- 100 0 190
+--- 66 2 191
+al 82 2 192
+--- 69 2 193
+--- 80 2 194
+--- 99 3 195
+Ox 77 2 196
+O+ 77 2 197
+es 82 2 198
+ca 77 0 199
+cu 77 0 200
+sp 71 0 201
+ip 71 1 202
+--- 71 0 203
+sb 71 0 204
+ib 71 1 205
+mo 71 0 206
+--- 71 0 207
+--- 77 2 208
+gr 71 2 209
+rg 79 2 210
+co 79 2 211
+tm 89 2 212
+--- 82 2 213
+sr 55 2 214
+--- 25 0 215
+no 71 0 216
+^ 60 0 217
+or 60 0 218
+--- 104 0 219
+--- 99 0 220
+--- 60 2 221
+--- 99 0 222
+--- 60 2 223
+--- 49 2 224
+--- 33 3 225
+--- 79 2 226
+--- 79 2 227
+--- 79 2 228
+--- 71 2 229
+--- 38 3 230
+br 0 3 231
+--- 38 3 232
+lc 50 2 233
+vr 0 2 234
+lf 50 2 235
+lt 49 2 236
+lk 49 2 237
+lb 49 2 238
+bv 49 2 239
+--- 25 0 240
+--- 33 3 241
+is 50 3 242
+--- 69 2 243
+--- 69 2 244
+--- 69 2 245
+--- 38 3 246
+--- 38 2 247
+--- 38 3 248
+rc 38 2 249
+| 50 3 250
+rf 38 2 251
+rt 49 2 252
+rk 49 2 253
+rb 49 2 254
diff --git a/troff/troff.d/font/devpost/S.big b/troff/troff.d/font/devpost/S.big
new file mode 100644
index 0000000000000..7ded493934ce5
--- /dev/null
+++ b/troff/troff.d/font/devpost/S.big
@@ -0,0 +1,228 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Symbol
+#
+name S
+internalname 33
+special
+charset
+bx 50 2 1
+ci 75 0 1
+sq 50 2 1
+~= 55 0 1
+L1 110 1 2
+LA 110 1 2
+LV 110 3 2
+LH 210 1 2
+Lb "
+lh 100 0 2
+rh 100 0 2
+--- 25 0 32
+--- 33 2 33
+fa 71 2 34
+--- 50 2 35
+te 55 2 36
+--- 83 2 37
+--- 78 2 38
+--- 44 0 39
+--- 33 3 40
+--- 33 3 41
+** 50 0 42
+pl 55 0 43
+--- 25 1 44
+mi 55 0 45
+--- 25 0 46
+--- 28 2 47
+--- 50 2 48
+--- 50 2 49
+--- 50 2 50
+--- 50 2 51
+--- 50 2 52
+--- 50 2 53
+--- 50 2 54
+--- 50 2 55
+--- 50 2 56
+--- 50 2 57
+--- 28 0 58
+--- 28 1 59
+< 55 0 60
+eq 55 0 61
+> 55 0 62
+--- 44 2 63
+*A 72 2 65
+*B 67 2 66
+*X 72 2 67
+*D 61 2 68
+*E 61 2 69
+*F 76 2 70
+*G 60 2 71
+*Y 72 2 72
+*I 33 2 73
+--- 63 2 74
+*K 72 2 75
+*L 69 2 76
+*M 89 2 77
+*N 72 2 78
+*O 72 2 79
+*P 77 2 80
+*H 74 2 81
+*R 56 2 82
+*S 59 2 83
+*T 61 2 84
+*U 69 2 85
+--- 44 1 86
+ts 44 1 86
+*W 77 2 87
+*C 65 2 88
+*Q 80 2 89
+*Z 61 2 90
+--- 33 3 91
+--- 86 0 92
+--- 33 3 93
+--- 66 2 94
+ul 50 1 95
+_ "
+rn 50 2 96
+*a 63 0 97
+*b 55 3 98
+*x 55 1 99
+*d 49 2 100
+*e 44 0 101
+*f 52 3 102
+*g 41 1 103
+*y 60 1 104
+*i 33 0 105
+--- 60 1 106
+*k 55 0 107
+*l 55 2 108
+*m 58 1 109
+*n 52 0 110
+*o 55 0 111
+*p 55 0 112
+*h 52 2 113
+*r 55 1 114
+*s 60 0 115
+*t 44 0 116
+*u 58 0 117
+--- 71 2 118
+*w 69 0 119
+*c 49 3 120
+*q 69 1 121
+*z 49 3 122
+{ 48 3 123
+or 20 3 124
+} 48 3 125
+ap 55 0 126
+--- 62 2 161
+fm 25 2 162
+<= 55 2 163
+sl 17 2 164
+if 73 0 165
+--- 50 3 166
+--- 75 0 167
+--- 75 0 168
+--- 75 0 169
+--- 75 0 170
+--- 104 0 171
+<- 99 0 172
+ua 60 2 173
+-> 99 0 174
+da 60 2 175
+de 40 2 176
++- 55 2 177
+--- 41 2 178
+>= 55 2 179
+mu 55 0 180
+pt 71 0 181
+pd 49 2 182
+bu 46 0 183
+di 55 0 184
+!= 55 0 185
+== 55 0 186
+~~ 55 0 187
+--- 100 0 188
+--- 60 3 189
+--- 100 0 190
+--- 66 2 191
+al 82 2 192
+--- 69 2 193
+--- 80 2 194
+--- 99 3 195
+Ox 77 2 196
+O+ 77 2 197
+es 82 2 198
+ca 77 0 199
+cu 77 0 200
+sp 71 0 201
+ip 71 1 202
+--- 71 0 203
+sb 71 0 204
+ib 71 1 205
+mo 71 0 206
+--- 71 0 207
+--- 77 2 208
+gr 71 2 209
+rg 79 2 210
+co 79 2 211
+tm 89 2 212
+--- 82 2 213
+sr 55 2 214
+--- 25 0 215
+no 71 0 216
+^ 60 0 217
+or 60 0 218
+--- 104 0 219
+--- 99 0 220
+--- 60 2 221
+--- 99 0 222
+--- 60 2 223
+--- 49 2 224
+--- 33 3 225
+--- 79 2 226
+--- 79 2 227
+--- 79 2 228
+--- 71 2 229
+--- 38 3 230
+br 0 3 231
+--- 38 3 232
+lc 50 2 233
+vr 0 2 234
+lf 50 2 235
+lt 49 2 236
+lk 49 2 237
+lb 49 2 238
+bv 49 2 239
+--- 25 0 240
+--- 33 3 241
+is 50 3 242
+--- 69 2 243
+--- 69 2 244
+--- 69 2 245
+--- 38 3 246
+--- 38 2 247
+--- 38 3 248
+rc 38 2 249
+| 50 3 250
+rf 38 2 251
+rt 49 2 252
+rk 49 2 253
+rb 49 2 254
diff --git a/troff/troff.d/font/devpost/S.name b/troff/troff.d/font/devpost/S.name
new file mode 100644
index 0000000000000..c5fe836342c41
--- /dev/null
+++ b/troff/troff.d/font/devpost/S.name
@@ -0,0 +1 @@
+Symbol
diff --git a/troff/troff.d/font/devpost/S.small b/troff/troff.d/font/devpost/S.small
new file mode 100644
index 0000000000000..d002a7aa17735
--- /dev/null
+++ b/troff/troff.d/font/devpost/S.small
@@ -0,0 +1,155 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Symbol
+#
+name S
+internalname 33
+special
+charset
+bx 50 2 1
+ci 75 0 1
+sq 50 2 1
+~= 55 0 1
+L1 110 1 2
+LA 110 1 2
+LV 110 3 2
+LH 210 1 2
+Lb "
+lh 100 0 2
+rh 100 0 2
+fa 71 2 34
+te 55 2 36
+** 50 0 42
+pl 55 0 43
+mi 55 0 45
+< 55 0 60
+eq 55 0 61
+> 55 0 62
+*A 72 2 65
+*B 67 2 66
+*X 72 2 67
+*D 61 2 68
+*E 61 2 69
+*F 76 2 70
+*G 60 2 71
+*Y 72 2 72
+*I 33 2 73
+*K 72 2 75
+*L 69 2 76
+*M 89 2 77
+*N 72 2 78
+*O 72 2 79
+*P 77 2 80
+*H 74 2 81
+*R 56 2 82
+*S 59 2 83
+*T 61 2 84
+*U 69 2 85
+ts 44 1 86
+*W 77 2 87
+*C 65 2 88
+*Q 80 2 89
+*Z 61 2 90
+ul 50 1 95
+_ "
+rn 50 2 96
+*a 63 0 97
+*b 55 3 98
+*x 55 1 99
+*d 49 2 100
+*e 44 0 101
+*f 52 3 102
+*g 41 1 103
+*y 60 1 104
+*i 33 0 105
+*k 55 0 107
+*l 55 2 108
+*m 58 1 109
+*n 52 0 110
+*o 55 0 111
+*p 55 0 112
+*h 52 2 113
+*r 55 1 114
+*s 60 0 115
+*t 44 0 116
+*u 58 0 117
+*w 69 0 119
+*c 49 3 120
+*q 69 1 121
+*z 49 3 122
+{ 48 3 123
+or 20 3 124
+} 48 3 125
+ap 55 0 126
+fm 25 2 162
+<= 55 2 163
+sl 17 2 164
+if 73 0 165
+<- 99 0 172
+ua 60 2 173
+-> 99 0 174
+da 60 2 175
+de 40 2 176
++- 55 2 177
+>= 55 2 179
+mu 55 0 180
+pt 71 0 181
+pd 49 2 182
+bu 46 0 183
+di 55 0 184
+!= 55 0 185
+== 55 0 186
+~~ 55 0 187
+al 82 2 192
+Ox 77 2 196
+O+ 77 2 197
+es 82 2 198
+ca 77 0 199
+cu 77 0 200
+sp 71 0 201
+ip 71 1 202
+sb 71 0 204
+ib 71 1 205
+mo 71 0 206
+gr 71 2 209
+rg 79 2 210
+co 79 2 211
+tm 89 2 212
+sr 55 2 214
+no 71 0 216
+^ 60 0 217
+or 60 0 218
+br 0 3 231
+lc 50 2 233
+vr 0 2 234
+lf 50 2 235
+lt 49 2 236
+lk 49 2 237
+lb 49 2 238
+bv 49 2 239
+is 50 3 242
+rc 38 2 249
+| 50 3 250
+rf 38 2 251
+rt 49 2 252
+rk 49 2 253
+rb 49 2 254
diff --git a/troff/troff.d/font/devpost/S1 b/troff/troff.d/font/devpost/S1
new file mode 100644
index 0000000000000..b926aed0cb454
--- /dev/null
+++ b/troff/troff.d/font/devpost/S1
@@ -0,0 +1,64 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)S1 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+# Times-Roman special font
+name S1
+internalname 1
+special
+charset
+" 41 2 34
+dq "
+# 50 2 35
+< 56 0 60
+> 56 0 62
+@ 92 3 64
+\ 28 2 92
+rs "
+or 20 2 124
+^ 33 2 195
+~ 33 2 196
+\' 33 2 194
+aa "
+\` 33 2 193
+ga "
+ru 50 0 95
+\- 65 0 177
+en "
+sc 50 3 167
+dg 50 3 178
+dd 50 3 179
+ct 50 3 162
+14 75 2 1
+34 75 2 1
+12 75 2 1
+Sl 50 2 1
+ob 38 0 1
+`` 44 2 170
+'' 44 2 186
diff --git a/troff/troff.d/font/devpost/S1.name b/troff/troff.d/font/devpost/S1.name
new file mode 100644
index 0000000000000..1a9e5453e1efe
--- /dev/null
+++ b/troff/troff.d/font/devpost/S1.name
@@ -0,0 +1 @@
+Times-Roman
diff --git a/troff/troff.d/font/devpost/VB b/troff/troff.d/font/devpost/VB
new file mode 100644
index 0000000000000..c3bf6ab66a396
--- /dev/null
+++ b/troff/troff.d/font/devpost/VB
@@ -0,0 +1,129 @@
+#ident "@(#)VB 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Varitimes#Bold
+name VB
+internalname 1
+special
+charset
+! 28 2 33
+$ 53 3 36
+% 83 2 37
+& 77 2 38
+' 28 2 39
+cq 28 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 77 0 43
+, 28 1 44
+hy 33 0 45
+- "
+. 28 0 46
+/ 33 2 47
+0 53 2 48
+1 53 2 49
+2 53 2 50
+3 53 2 51
+4 53 2 52
+5 53 2 53
+6 53 2 54
+7 53 2 55
+8 53 2 56
+9 53 2 57
+: 28 0 58
+; 28 1 59
+= 77 0 61
+? 47 2 63
+A 72 2 65
+B 64 2 66
+C 72 2 67
+D 72 2 68
+E 66 2 69
+F 61 2 70
+G 75 2 71
+H 77 2 72
+I 39 2 73
+J 50 2 74
+K 77 2 75
+L 64 2 76
+M 94 2 77
+N 75 2 78
+O 77 2 79
+P 64 2 80
+Q 77 3 81
+R 72 2 82
+S 55 2 83
+T 66 2 84
+U 75 2 85
+V 72 2 86
+W 100 2 87
+X 69 2 88
+Y 72 2 89
+Z 64 2 90
+[ 33 3 91
+] 33 3 93
+` 28 2 96
+oq 28 2 96
+a 50 0 97
+b 55 2 98
+c 44 0 99
+d 55 2 100
+e 44 0 101
+f 36 2 102
+g 50 1 103
+h 55 2 104
+i 28 2 105
+j 30 3 106
+k 55 2 107
+l 28 2 108
+m 83 0 109
+n 55 0 110
+o 50 0 111
+p 55 1 112
+q 55 1 113
+r 44 0 114
+s 39 0 115
+t 33 2 116
+u 55 0 117
+v 47 0 118
+w 69 0 119
+x 50 0 120
+y 47 1 121
+z 44 0 122
+ct 53 3 162
+fi 55 2 174
+fl 55 2 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 53 3 178
+bu 41 0 183
+de 50 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 44 2 170
+'' 44 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/VB.name b/troff/troff.d/font/devpost/VB.name
new file mode 100644
index 0000000000000..7ce3b11ae1af8
--- /dev/null
+++ b/troff/troff.d/font/devpost/VB.name
@@ -0,0 +1 @@
+Varitimes#Bold
diff --git a/troff/troff.d/font/devpost/VI b/troff/troff.d/font/devpost/VI
new file mode 100644
index 0000000000000..e2a0724eac41c
--- /dev/null
+++ b/troff/troff.d/font/devpost/VI
@@ -0,0 +1,129 @@
+#ident "@(#)VI 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Varitimes#Italic
+name VI
+internalname 1
+special
+charset
+! 25 2 33
+$ 55 2 36
+% 89 2 37
+& 75 2 38
+' 25 2 39
+cq 25 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 77 0 43
+, 22 1 44
+hy 39 0 45
+- "
+. 22 0 46
+/ 33 2 47
+0 55 2 48
+1 55 2 49
+2 55 2 50
+3 55 2 51
+4 55 2 52
+5 55 2 53
+6 55 2 54
+7 55 2 55
+8 55 2 56
+9 55 2 57
+: 22 0 58
+; 22 1 59
+= 77 0 61
+? 44 2 63
+A 69 2 65
+B 64 2 66
+C 69 2 67
+D 75 2 68
+E 61 2 69
+F 58 2 70
+G 75 2 71
+H 75 2 72
+I 33 2 73
+J 41 2 74
+K 64 2 75
+L 58 2 76
+M 86 2 77
+N 72 2 78
+O 75 2 79
+P 58 2 80
+Q 75 3 81
+R 61 2 82
+S 53 2 83
+T 61 2 84
+U 75 2 85
+V 69 2 86
+W 89 2 87
+X 69 2 88
+Y 64 2 89
+Z 66 2 90
+[ 33 3 91
+] 33 3 93
+` 25 2 96
+oq 25 2 96
+a 53 0 97
+b 53 2 98
+c 44 0 99
+d 53 2 100
+e 41 0 101
+f 33 3 102
+g 44 1 103
+h 53 2 104
+i 25 2 105
+j 25 3 106
+k 47 2 107
+l 25 2 108
+m 77 0 109
+n 53 0 110
+o 53 0 111
+p 53 1 112
+q 53 1 113
+r 36 0 114
+s 36 0 115
+t 28 0 116
+u 53 0 117
+v 44 0 118
+w 72 0 119
+x 47 0 120
+y 47 1 121
+z 39 0 122
+ct 50 3 162
+fi 55 3 174
+fl 55 3 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 53 2 178
+bu 41 0 183
+de 50 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 44 2 170
+'' 44 2 186
+aq 25 2 169
diff --git a/troff/troff.d/font/devpost/VI.name b/troff/troff.d/font/devpost/VI.name
new file mode 100644
index 0000000000000..4562893d5ce83
--- /dev/null
+++ b/troff/troff.d/font/devpost/VI.name
@@ -0,0 +1 @@
+Varitimes#Italic
diff --git a/troff/troff.d/font/devpost/VR b/troff/troff.d/font/devpost/VR
new file mode 100644
index 0000000000000..cf76e7ab377ec
--- /dev/null
+++ b/troff/troff.d/font/devpost/VR
@@ -0,0 +1,129 @@
+#ident "@(#)VR 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Varitimes#Roman
+name VR
+internalname 1
+special
+charset
+! 25 2 33
+$ 55 2 36
+% 83 2 37
+& 77 2 38
+' 25 2 39
+cq 25 2 39
+( 33 3 40
+) 33 3 41
+* 50 2 42
++ 77 0 43
+, 22 1 44
+hy 39 0 45
+- "
+. 22 0 46
+/ 39 2 47
+0 55 2 48
+1 55 2 49
+2 55 2 50
+3 55 2 51
+4 55 2 52
+5 55 2 53
+6 55 2 54
+7 55 2 55
+8 55 2 56
+9 55 2 57
+: 22 0 58
+; 22 1 59
+= 77 0 61
+? 47 2 63
+A 75 2 65
+B 64 2 66
+C 75 2 67
+D 77 2 68
+E 66 2 69
+F 61 2 70
+G 77 2 71
+H 75 2 72
+I 33 2 73
+J 39 2 74
+K 75 2 75
+L 64 2 76
+M 91 2 77
+N 75 2 78
+O 77 2 79
+P 61 2 80
+Q 77 3 81
+R 69 2 82
+S 53 2 83
+T 66 2 84
+U 75 2 85
+V 72 2 86
+W 100 2 87
+X 75 2 88
+Y 72 2 89
+Z 64 2 90
+[ 33 3 91
+] 33 3 93
+` 25 2 96
+oq 25 2 96
+a 50 0 97
+b 53 2 98
+c 47 0 99
+d 53 2 100
+e 47 0 101
+f 33 2 102
+g 53 1 103
+h 53 2 104
+i 28 2 105
+j 28 3 106
+k 55 2 107
+l 28 2 108
+m 83 0 109
+n 53 0 110
+o 53 0 111
+p 53 1 112
+q 53 1 113
+r 36 0 114
+s 39 0 115
+t 30 2 116
+u 53 0 117
+v 50 0 118
+w 75 0 119
+x 50 0 120
+y 50 1 121
+z 47 0 122
+ct 53 3 162
+fi 58 2 174
+fl 58 2 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 53 3 178
+bu 41 0 183
+de 50 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 44 2 170
+'' 44 2 186
+aq 25 2 169
diff --git a/troff/troff.d/font/devpost/VR.name b/troff/troff.d/font/devpost/VR.name
new file mode 100644
index 0000000000000..ce7ab7c8ee98d
--- /dev/null
+++ b/troff/troff.d/font/devpost/VR.name
@@ -0,0 +1 @@
+Varitimes#Roman
diff --git a/troff/troff.d/font/devpost/VX b/troff/troff.d/font/devpost/VX
new file mode 100644
index 0000000000000..2dcd8088492b7
--- /dev/null
+++ b/troff/troff.d/font/devpost/VX
@@ -0,0 +1,129 @@
+#ident "@(#)VX 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Varitimes#BoldItalic
+name VX
+internalname 1
+special
+charset
+! 28 2 33
+$ 55 2 36
+% 91 2 37
+& 75 2 38
+' 28 2 39
+cq 28 2 39
+( 33 3 40
+) 33 3 41
+* 55 2 42
++ 77 0 43
+, 28 1 44
+hy 39 0 45
+- "
+. 28 1 46
+/ 22 2 47
+0 53 2 48
+1 53 2 49
+2 53 2 50
+3 53 2 51
+4 53 2 52
+5 53 2 53
+6 53 2 54
+7 53 2 55
+8 53 2 56
+9 53 2 57
+: 28 0 58
+; 28 1 59
+= 77 0 61
+? 44 2 63
+A 66 2 65
+B 69 2 66
+C 69 2 67
+D 77 2 68
+E 69 2 69
+F 66 2 70
+G 77 2 71
+H 80 2 72
+I 39 2 73
+J 50 2 74
+K 69 2 75
+L 64 2 76
+M 94 2 77
+N 75 2 78
+O 75 2 79
+P 64 2 80
+Q 75 3 81
+R 72 2 82
+S 58 2 83
+T 66 2 84
+U 77 2 85
+V 69 2 86
+W 91 2 87
+X 66 2 88
+Y 61 2 89
+Z 64 2 90
+[ 33 3 91
+] 33 3 93
+` 28 2 96
+oq 28 2 96
+a 53 0 97
+b 53 2 98
+c 44 0 99
+d 53 2 100
+e 44 0 101
+f 33 3 102
+g 50 1 103
+h 55 2 104
+i 30 2 105
+j 33 3 106
+k 53 2 107
+l 30 2 108
+m 80 0 109
+n 55 0 110
+o 50 0 111
+p 53 1 112
+q 53 1 113
+r 41 0 114
+s 39 0 115
+t 33 2 116
+u 55 0 117
+v 44 0 118
+w 66 0 119
+x 50 0 120
+y 44 1 121
+z 44 0 122
+ct 44 3 162
+fi 61 3 174
+fl 61 3 175
+ff 60 2 1
+Fi 84 2 1
+Fl 84 2 1
+dg 50 3 178
+bu 41 0 183
+de 30 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+sq 50 2 1
+`` 44 2 170
+'' 44 2 186
+aq 28 2 169
diff --git a/troff/troff.d/font/devpost/VX.name b/troff/troff.d/font/devpost/VX.name
new file mode 100644
index 0000000000000..6beb0745333b1
--- /dev/null
+++ b/troff/troff.d/font/devpost/VX.name
@@ -0,0 +1 @@
+Varitimes#BoldItalic
diff --git a/troff/troff.d/font/devpost/ZD b/troff/troff.d/font/devpost/ZD
new file mode 100644
index 0000000000000..650436336ea46
--- /dev/null
+++ b/troff/troff.d/font/devpost/ZD
@@ -0,0 +1,214 @@
+#ident "@(#)ZD 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# ZapfDingbats
+name ZD
+internalname 36
+ligatures fi fl 0
+charset
+! 97 2 33
+" 96 2 34
+# 97 2 35
+$ 98 3 36
+% 72 2 37
+& 79 3 38
+' 79 3 39
+( 79 3 40
+) 69 2 41
+* 96 2 42
++ 94 2 43
+, 55 3 44
+- 86 2 45
+. 91 2 46
+/ 93 2 47
+0 91 2 48
+1 94 2 49
+2 97 2 50
+3 76 3 51
+4 85 3 52
+5 76 2 53
+6 76 2 54
+7 57 3 55
+8 68 3 56
+9 76 2 57
+: 76 2 58
+; 76 2 59
+< 75 3 60
+= 49 2 61
+> 55 2 62
+? 54 3 63
+@ 58 2 64
+A 69 3 65
+B 79 3 66
+C 79 3 67
+D 79 3 68
+E 79 3 69
+F 79 3 70
+G 79 3 71
+H 82 3 72
+I 82 3 73
+J 79 3 74
+K 84 3 75
+L 82 3 76
+M 83 3 77
+N 82 3 78
+O 83 3 79
+P 92 3 80
+Q 74 2 81
+R 72 2 82
+S 75 2 83
+T 79 3 84
+U 79 3 85
+V 69 3 86
+W 78 3 87
+X 77 3 88
+Y 79 3 89
+Z 76 2 90
+[ 71 3 91
+\ 71 3 92
+] 68 3 93
+^ 70 3 94
+_ 83 3 95
+` 81 3 96
+a 79 3 97
+b 79 3 98
+c 71 3 99
+d 69 2 100
+e 70 2 101
+f 69 2 102
+g 79 3 103
+h 79 3 104
+i 71 3 105
+j 79 3 106
+k 78 3 107
+l 79 3 108
+m 87 3 109
+n 76 2 110
+o 76 2 111
+p 76 2 112
+q 76 3 113
+r 76 3 114
+s 89 2 115
+t 89 3 116
+u 79 3 117
+v 78 3 118
+w 44 3 119
+x 14 2 120
+y 28 2 121
+z 41 2 122
+{ 39 2 123
+| 39 2 124
+} 67 2 125
+~ 67 2 126
+hy 73 3 161
+em 54 3 162
+de 54 3 163
+\- 91 2 164
+en 67 3 165
+ff 76 3 166
+fi 76 2 167
+fl 78 2 168
+Fi 60 3 169
+Fl 69 3 170
+fm 63 3 171
+ru 79 3 172
+dg 79 3 173
+bu 79 3 174
+14 79 3 175
+34 79 3 176
+12 79 3 177
+ct 79 3 178
+rg 79 3 179
+sq 79 3 180
+sl 79 3 181
+ul 79 3 182
+or 79 3 183
+no 79 3 184
+-> 79 3 185
+<- 79 3 186
+da 79 3 187
+lh 79 3 188
+ua 79 3 189
+\e 79 3 190
+\' 79 3 191
+aa 79 3 192
+\` 79 3 193
+ga 79 3 194
+pl 79 3 195
+mi 79 3 196
+mu 79 3 197
+di 79 3 198
+eq 79 3 199
+== 79 3 200
+>= 79 3 201
+<= 79 3 202
+!= 79 3 203
++- 79 3 204
+-+ 79 3 205
+ap 79 3 206
+~= 79 3 207
+gr 79 3 208
+is 79 3 209
+pd 79 3 210
+if 79 3 211
+sr 89 2 212
+rn 84 2 213
+sb 102 2 214
+sp 46 3 215
+cu 75 2 216
+ca 92 2 217
+ib 75 2 218
+ip 92 2 219
+mo 93 2 220
+es 93 2 221
+sc 93 2 222
+dd 83 2 223
+lc 87 2 224
+rc 83 2 225
+lf 92 2 226
+rf 92 2 227
+bv 92 2 228
+** 93 2 229
+br 93 2 230
+ci 46 3 231
+ts 88 2 232
+co 84 2 233
+lt 84 2 234
+rt 87 2 235
+lb 87 2 236
+rb 70 2 237
+lk 70 2 238
+rk 87 2 239
+rh 87 2 241
+tm 76 2 242
+Sl 95 2 243
+ps 77 2 244
+cs 86 2 245
+cy 77 2 246
+as 89 3 247
+os 97 2 248
+=. 89 3 249
+ld 83 2 250
+rd 87 2 251
+le 93 2 252
+ge 97 2 253
+pp 92 2 254
diff --git a/troff/troff.d/font/devpost/ZD.name b/troff/troff.d/font/devpost/ZD.name
new file mode 100644
index 0000000000000..b70c41eb04c5d
--- /dev/null
+++ b/troff/troff.d/font/devpost/ZD.name
@@ -0,0 +1 @@
+ZapfDingbats
diff --git a/troff/troff.d/font/devpost/ZI b/troff/troff.d/font/devpost/ZI
new file mode 100644
index 0000000000000..c16a2bd9cea2f
--- /dev/null
+++ b/troff/troff.d/font/devpost/ZI
@@ -0,0 +1,125 @@
+#ident "@(#)ZI 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# ZapfChancery-MediumItalic
+name ZI
+internalname 37
+ligatures fi fl 0
+charset
+! 28 2 33
+$ 44 3 36
+% 68 2 37
+& 78 2 38
+' 24 2 39
+cq 24 2 39
+( 26 3 40
+) 22 3 41
+* 42 2 42
++ 52 0 43
+, 22 0 44
+hy 28 0 45
+- "
+. 22 0 46
+/ 34 3 47
+0 44 2 48
+1 44 2 49
+2 44 2 50
+3 44 2 51
+4 44 2 52
+5 44 2 53
+6 44 2 54
+7 44 2 55
+8 44 2 56
+9 44 2 57
+: 26 0 58
+; 24 0 59
+= 52 0 61
+? 38 2 63
+A 62 2 65
+B 60 2 66
+C 52 2 67
+D 70 2 68
+E 62 2 69
+F 58 2 70
+G 62 3 71
+H 68 2 72
+I 38 2 73
+J 40 2 74
+K 66 3 75
+L 58 2 76
+M 84 2 77
+N 70 3 78
+O 60 2 79
+P 54 2 80
+Q 60 3 81
+R 60 3 82
+S 46 2 83
+T 50 2 84
+U 74 2 85
+V 64 2 86
+W 88 2 87
+X 56 2 88
+Y 56 3 89
+Z 62 2 90
+[ 24 3 91
+] 32 3 93
+` 24 2 96
+oq 24 2 96
+a 42 0 97
+b 42 2 98
+c 34 0 99
+d 44 2 100
+e 34 0 101
+f 32 3 102
+g 40 1 103
+h 44 2 104
+i 24 2 105
+j 22 3 106
+k 44 3 107
+l 24 2 108
+m 62 0 109
+n 46 0 110
+o 40 0 111
+p 44 1 112
+q 40 3 113
+r 30 0 114
+s 32 0 115
+t 32 2 116
+u 46 0 117
+v 44 0 118
+w 68 0 119
+x 42 1 120
+y 40 1 121
+z 44 0 122
+ct 44 2 162
+fi 52 3 174
+fl 52 3 175
+dg 46 3 178
+bu 60 2 183
+de 30 2 202
+em 100 0 208
+14 75 2 1
+34 75 2 1
+12 75 2 1
+`` 34 2 170
+'' 36 2 186
+aq 24 2 169
diff --git a/troff/troff.d/font/devpost/ZI.name b/troff/troff.d/font/devpost/ZI.name
new file mode 100644
index 0000000000000..f995af14039d5
--- /dev/null
+++ b/troff/troff.d/font/devpost/ZI.name
@@ -0,0 +1 @@
+ZapfChancery-MediumItalic
diff --git a/troff/troff.d/font/devpost/charlib/12 b/troff/troff.d/font/devpost/charlib/12
new file mode 100644
index 0000000000000..1a29d9d7ba51c
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/12
@@ -0,0 +1,44 @@
+%%BeginResource: procset dpost_char12 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/12 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_12 {
+ pop
+ /optsize ptsize def
+ /osize size def
+ /ofont font def
+
+ optsize 2 div dup R exch R f
+ 0 size 2 mul 3 div dup neg exch 0 exch rmoveto
+
+ (1) show
+ rmoveto
+ optsize R f
+ (\244) show
+ f
+ (2) show
+
+ optsize ofont f
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/14 b/troff/troff.d/font/devpost/charlib/14
new file mode 100644
index 0000000000000..f51b2f5e2754a
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/14
@@ -0,0 +1,44 @@
+%%BeginResource: procset dpost_char14 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/14 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_14 {
+ pop
+ /optsize ptsize def
+ /osize size def
+ /ofont font def
+
+ optsize 2 div dup R exch R f
+ 0 size 2 mul 3 div dup neg exch 0 exch rmoveto
+
+ (1) show
+ rmoveto
+ optsize R f
+ (\244) show
+ f
+ (4) show
+
+ optsize ofont f
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/34 b/troff/troff.d/font/devpost/charlib/34
new file mode 100644
index 0000000000000..f74465c74b889
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/34
@@ -0,0 +1,44 @@
+%%BeginResource: procset dpost_char34 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/34 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_34 {
+ pop
+ /optsize ptsize def
+ /osize size def
+ /ofont font def
+
+ optsize 2 div dup R exch R f
+ 0 size 2 mul 3 div dup neg exch 0 exch rmoveto
+
+ (3) show
+ rmoveto
+ optsize R f
+ (\244) show
+ f
+ (4) show
+
+ optsize ofont f
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/BRACKETS_NOTE b/troff/troff.d/font/devpost/charlib/BRACKETS_NOTE
new file mode 100644
index 0000000000000..d10aa2e10945a
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/BRACKETS_NOTE
@@ -0,0 +1,58 @@
+#ident "@(#)BRACKETS_NOTE 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+ lc, rc, lf, and rf contain PostScript code that can be used to build the top
+ and bottom bracket pieces used by eqn. The files are only used if the character
+ code field in the S font file for lc, rc, lf, and rf is set to 1. A code larger
+ than 32 means a character from Adobe's Symbol font will be used. Think the real
+ solution is to change eqn so large brackets and braces are built differently.
+
+ There were some serious collisions with eqn's bracket building algorithm and
+ Adobe's Symbol font. eqn extends all the pieces with the \(bv character, while
+ the bracket and brace pieces available in Adobe's Symbol are all quite different
+ and are designed to work with their own extenders. The reference points are
+ different, but worse still the thickness of brackets and braces don't match.
+ Anyway using a single extender (the way eqn does) can't ever work with the
+ bracket and brace characters available in Adobe's Symbol font.
+
+ The lc, rc, lf, and rf files are a very complicated attempt to get around the
+ problem. Each builds the troff character by using the \(bv character from the
+ Symbol font and then draws a small horizontal line at either the top or bottom
+ of the \(bv. Using \(bv for the vertical part guarantees things will stack
+ properly, but getting to the precise top or bottom of the \(bv (down to the
+ pixel level on all devices and in all sizes) proved to be very difficult. In
+ fact you would think that determining the bounding box of \(bv would be enough
+ to let you draw a good bracket piece that matched up nicely with the extender.
+ Not quite, at least I didn't find that it was possible to do a good job drawing
+ the pieces from the \(bv bounding box. Think roundoff errors introduced by the
+ CTM caused the trouble, although I expect there's more to it.
+
+ Clipping a rectangular region 2 pixels smaller in height than the bounding box
+ of the \(bv character, and using the corners of that box to locate the top and
+ bottom of the bv for the horizontal extender solved the problems I originally
+ had with the precise placement of the horizontal rule. Anyway that's what the
+ clipping and idtransform are for. The initgraphics stuff is an attempt to fit
+ a tight bounding box around the \(bv character independent of the rotation of
+ our coordinate system. pathbbox only returns what we want if the coordinate
+ system has been rotated by a multiple of 90 degrees.
+
diff --git a/troff/troff.d/font/devpost/charlib/Fi b/troff/troff.d/font/devpost/charlib/Fi
new file mode 100644
index 0000000000000..11e4e7efc9196
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/Fi
@@ -0,0 +1,30 @@
+%%BeginResource: procset dpost_charFi 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/Fi 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_Fi {
+ pop
+ size .05 mul neg 0 (ffi) ashow
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/Fl b/troff/troff.d/font/devpost/charlib/Fl
new file mode 100644
index 0000000000000..ba0f753181953
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/Fl
@@ -0,0 +1,30 @@
+%%BeginResource: procset dpost_charFl 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/Fl 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_Fl {
+ pop
+ size .05 mul neg 0 (ffl) ashow
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/L1 b/troff/troff.d/font/devpost/charlib/L1
new file mode 100644
index 0000000000000..8574886f0815f
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/L1
@@ -0,0 +1,38 @@
+%%BeginResource: procset dpost_charL1 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/L1 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_L1 {
+ pop
+ /picstr 40 string def
+ gsave
+ currentpoint translate
+ .533 72 mul size mul 36 div
+ .5 72 mul size mul 36 div
+ scale
+ 160 150 1 [160 0 0 -150 0 150]
+ {currentfile picstr readhexstring pop} image
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/L1.map b/troff/troff.d/font/devpost/charlib/L1.map
new file mode 100644
index 0000000000000..0847af4559de5
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/L1.map
@@ -0,0 +1,150 @@
+FFFFFFFFFFFFFFFFFF0007FFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFE0000000007FFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF00000000000FFFFFFFFFFFFFFF
+FFFFFFFFFFFFF8000000000001FFFFFFFFFFFFFF
+FFFFFFFFFFFFE00000000000003FFFFFFFFFFFFF
+FFFFFFFFFFFF000000000000000FFFFFFFFFFFFF
+FFFFFFFFFFFC0000000000000003FFFFFFFFFFFF
+FFFFFFFFFFF000000000000000007FFFFFFFFFFF
+FFFFFFFFFFC000000000000000003FFFFFFFFFFF
+FFFFFFFFFF8FFFFFFF00000000000FFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFF0000000007FFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFC00000000003FFFFFFFF
+FFFFFFF81FFFFFFFFFC0000000000001FFFFFFFF
+FFFFFFF0000000000000000000000000FFFFFFFF
+FFFFFFE00000000000000000000000007FFFFFFF
+FFFFFFC00000000000000000000000003FFFFFFF
+FFFFFF800000000000000000000000001FFFFFFF
+FFFFFF000000000000000000000000000FFFFFFF
+FFFFFE0007FFFFFFFF8000000000000007FFFFFF
+FFFFFE7FFFFFFFFFFFFFFE000000000003FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF0000000003FFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFE000000001FFFFF
+FFFFFFFFFFFFFFFFFFFFFFFF80000000001FFFFF
+FFFF01FFFFFFFFFFFFFFFFC000000000000FFFFF
+FFFE00000000000000000000000000000007FFFF
+FFFE00000000000000000000000000000007FFFF
+FFFC00000000000000000000000000000003FFFF
+FFFC00000000000000000000000000000003FFFF
+FFF800000000000000000000000000000001FFFF
+FFF800000000000000000000000000000000FFFF
+FFF80FFFFFFFFFFFFFFFFFE0000000000000FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFE0000000000FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFC0000000001FFF
+FF87FFFFFFFFFFFFFFFFFFFFC000000000000FFF
+FF000000007FFFFFFFFFFC000000000000000FFF
+FF000000000000000000000000000000000007FF
+FF000000000000000000000000000000000007FF
+FE000000000000000000000000000000000007FF
+FE000000000000000000000000000000000003FF
+FE000000000000000000000000000000000003FF
+FE0007FFFFFFFFFFFFFFFFC000000000000003FF
+FC0FFFFFFFFFFFFFFFFFFFFFFC000000000003FF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFC000000003FF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FF
+FFFFFFFFFFFFFFFFFFFFFFFFFF800000000001FF
+F8FFFFFFFFFFFFFFFFFFFFFF80000000000000FF
+F8000FFFFFFFFFFFFFFFFF0000000000000000FF
+F8000000000000000000000000000000000000FF
+F0000000000000000000000000000000000000FF
+F0000000000000000000000000000000000000FF
+F0000000000000000000000000000000000000FF
+F00000000000000000000000000000000000007F
+F00000007FFFFFFFFFFFE000000000000000007F
+F000FFFFFFFFFFFFFFFFFFFF000000000000007F
+F07FFFFFFFFFFFFFFFFFFFFFFFC000000000007F
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFF0000000000007F
+F007FFFFFFFFFFFFFFFFFFFC000000000000007F
+F00003FFFFFFFFFFFFFFF000000000000000007F
+F00000000000000000000000000000000000007F
+F00000000000000000000000000000000000007F
+F0000000000000000000000000000000000000FF
+F0000000000000000000000000000000000000FF
+F8000000000000000000000000000000000000FF
+F8000000000000000000000000000000000000FF
+F80003FFFFFFFFFFFFFFF80000000000000000FF
+F80FFFFFFFFFFFFFFFFFFFFFC0000000000000FF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFE00000000000003FF
+FC003FFFFFFFFFFFFFFE000000000000000003FF
+FE000000FFFFFFFFC800000000000000000003FF
+FE000000000000000000000000000000000003FF
+FE000000000000000000000000000000000003FF
+FE000000000000000000000000000000000003FF
+FF000000000000000000000000000000000007FF
+FF000000000000000000000000000000000007FF
+FF000000000000000000000000000000000007FF
+FF80000000000000000000000000000000000FFF
+FF8000000007FF80000000000000000000000FFF
+FFC00007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF03FFFFFFFFFFFFFFFC0000000000000007FFF
+FFF0000007FFFFFE000000000000000000007FFF
+FFF800000000000000000000000000000000FFFF
+FFF800000000000000000000000000000000FFFF
+FFF800000000000000000000000000000000FFFF
+FFFC00000000000000000000000000000001FFFF
+FFFE00000000000000000000000000000003FFFF
+FFFE00000000000000000000000000000003FFFF
+FFFF00000000000000000000000000000007FFFF
+FFFF0000000000000000000000000000000FFFFF
+FFFF8000000000000000000000000000000FFFFF
+FFFFC000003FFFE00000000000000000001FFFFF
+FFFFE007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFC0000000000000000000000000001FFFFFF
+FFFFFE0000000000000000000000000003FFFFFF
+FFFFFF0000000000000000000000000003FFFFFF
+FFFFFF0000000000000000000000000007FFFFFF
+FFFFFF800000000000000000000000000FFFFFFF
+FFFFFFC00000000000000000000000001FFFFFFF
+FFFFFFE00000000000000000000000003FFFFFFF
+FFFFFFF00000000000000000000000007FFFFFFF
+FFFFFFFC000000000000000000000000FFFFFFFF
+FFFFFFFE000000000000000000000003FFFFFFFF
+FFFFFFFF000000000000000000000007FFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF00000000000000000003FFFFFFFFFF
+FFFFFFFFFF8000000000000000000FFFFFFFFFFF
+FFFFFFFFFFE000000000000000001FFFFFFFFFFF
+FFFFFFFFFFF000000000000000007FFFFFFFFFFF
+FFFFFFFFFFFC0000000000000001FFFFFFFFFFFF
+FFFFFFFFFFFF0000000000000007FFFFFFFFFFFF
+FFFFFFFFFFFFE00000000000003FFFFFFFFFFFFF
+FFFFFFFFFFFFF8000000000000FFFFFFFFFFFFFF
+FFFFFFFFFFFFFF000000000007FFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF0000000007FFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFE0007FFFFFFFFFFFFFFFFFF
diff --git a/troff/troff.d/font/devpost/charlib/LH.map b/troff/troff.d/font/devpost/charlib/LH.map
new file mode 100644
index 0000000000000..b2aa62721605e
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/LH.map
@@ -0,0 +1,871 @@
+gsave
+/M {moveto} def
+/L {lineto} def
+
+currentpoint translate
+0 360 translate
+2.4 2.4 scale
+ptsize 36 div dup neg scale
+
+68 1 M
+68 1 L
+60 2 L
+55 3 L
+52 4 L
+49 5 L
+47 6 L
+44 7 L
+42 8 L
+40 9 L
+38 10 L
+37 11 L
+39 11 L
+53 10 L
+68 11 L
+76 12 L
+112 12 L
+111 11 L
+109 10 L
+108 9 L
+105 8 L
+103 7 L
+101 6 L
+98 5 L
+95 4 L
+92 3 L
+88 2 L
+80 1 L
+closepath
+84 17 M
+84 17 L
+78 18 L
+70 19 L
+50 20 L
+30 19 L
+25 19 L
+24 20 L
+23 21 L
+22 22 L
+21 23 L
+20 24 L
+19 25 L
+19 26 L
+20 26 L
+32 25 L
+50 24 L
+69 25 L
+83 26 L
+92 27 L
+129 27 L
+129 26 L
+128 25 L
+127 24 L
+126 23 L
+125 22 L
+124 21 L
+123 20 L
+122 19 L
+121 18 L
+119 17 L
+closepath
+99 32 M
+99 32 L
+93 33 L
+86 34 L
+52 35 L
+18 34 L
+12 34 L
+11 35 L
+11 36 L
+10 37 L
+10 38 L
+9 39 L
+9 40 L
+9 41 L
+15 41 L
+51 40 L
+87 41 L
+99 42 L
+139 42 L
+139 41 L
+139 40 L
+138 39 L
+137 38 L
+137 37 L
+136 36 L
+136 35 L
+135 34 L
+134 33 L
+134 32 L
+closepath
+110 47 M
+110 47 L
+102 48 L
+94 49 L
+82 50 L
+59 51 L
+36 50 L
+8 49 L
+5 49 L
+4 50 L
+4 51 L
+4 52 L
+3 53 L
+3 54 L
+3 55 L
+3 56 L
+2 57 L
+7 57 L
+16 56 L
+51 55 L
+86 56 L
+98 57 L
+110 58 L
+145 58 L
+145 57 L
+145 56 L
+145 55 L
+145 54 L
+144 53 L
+144 52 L
+144 51 L
+143 50 L
+143 49 L
+142 48 L
+142 47 L
+closepath
+178 49 M
+178 49 L
+178 50 L
+177 51 L
+177 52 L
+177 53 L
+176 54 L
+176 55 L
+176 56 L
+175 57 L
+175 58 L
+175 59 L
+174 60 L
+174 61 L
+174 62 L
+173 63 L
+173 64 L
+173 65 L
+172 66 L
+172 67 L
+172 68 L
+171 69 L
+171 70 L
+171 71 L
+170 72 L
+170 73 L
+170 74 L
+169 75 L
+169 76 L
+169 77 L
+168 78 L
+168 79 L
+168 80 L
+167 81 L
+167 82 L
+167 83 L
+166 84 L
+166 85 L
+166 86 L
+165 87 L
+165 88 L
+165 89 L
+164 90 L
+164 91 L
+164 92 L
+163 93 L
+163 94 L
+163 95 L
+162 96 L
+162 97 L
+162 98 L
+161 99 L
+161 100 L
+161 101 L
+160 102 L
+174 102 L
+174 101 L
+175 100 L
+175 99 L
+175 98 L
+176 97 L
+176 96 L
+176 95 L
+177 94 L
+185 93 L
+194 94 L
+194 95 L
+195 96 L
+195 97 L
+195 98 L
+195 99 L
+196 100 L
+196 101 L
+196 102 L
+210 102 L
+209 101 L
+209 100 L
+209 99 L
+208 98 L
+208 97 L
+208 96 L
+208 95 L
+207 94 L
+207 93 L
+207 92 L
+206 91 L
+206 90 L
+206 89 L
+205 88 L
+205 87 L
+205 86 L
+204 85 L
+204 84 L
+204 83 L
+203 82 L
+203 81 L
+203 80 L
+202 79 L
+202 78 L
+202 77 L
+202 76 L
+201 75 L
+201 74 L
+201 73 L
+200 72 L
+200 71 L
+200 70 L
+199 69 L
+199 68 L
+199 67 L
+198 66 L
+198 65 L
+198 64 L
+197 63 L
+197 62 L
+197 61 L
+197 60 L
+196 59 L
+196 58 L
+196 57 L
+195 56 L
+195 55 L
+195 54 L
+194 53 L
+194 52 L
+194 51 L
+193 50 L
+193 49 L
+closepath
+200 49 M
+200 49 L
+200 50 L
+200 51 L
+200 52 L
+200 53 L
+200 54 L
+200 55 L
+200 56 L
+200 57 L
+200 58 L
+200 59 L
+200 60 L
+214 61 L
+214 62 L
+214 63 L
+214 64 L
+214 65 L
+214 66 L
+214 67 L
+214 68 L
+214 69 L
+214 70 L
+214 71 L
+214 72 L
+214 73 L
+214 74 L
+214 75 L
+214 76 L
+214 77 L
+214 78 L
+214 79 L
+214 80 L
+214 81 L
+214 82 L
+214 83 L
+214 84 L
+214 85 L
+214 86 L
+214 87 L
+214 88 L
+214 89 L
+214 90 L
+214 91 L
+214 92 L
+214 93 L
+214 94 L
+214 95 L
+214 96 L
+214 97 L
+214 98 L
+214 99 L
+214 100 L
+214 101 L
+214 102 L
+228 102 L
+228 101 L
+228 100 L
+228 99 L
+228 98 L
+228 97 L
+228 96 L
+228 95 L
+228 94 L
+228 93 L
+228 92 L
+228 91 L
+228 90 L
+228 89 L
+228 88 L
+228 87 L
+228 86 L
+228 85 L
+228 84 L
+228 83 L
+228 82 L
+228 81 L
+228 80 L
+228 79 L
+228 78 L
+228 77 L
+228 76 L
+228 75 L
+228 74 L
+228 73 L
+228 72 L
+228 71 L
+228 70 L
+228 69 L
+228 68 L
+228 67 L
+228 66 L
+228 65 L
+228 64 L
+228 63 L
+228 62 L
+228 61 L
+241 60 L
+241 59 L
+241 58 L
+241 57 L
+241 56 L
+241 55 L
+241 54 L
+241 53 L
+241 52 L
+241 51 L
+241 50 L
+241 49 L
+closepath
+266 49 M
+266 49 L
+266 50 L
+266 51 L
+266 52 L
+266 53 L
+266 54 L
+266 55 L
+266 56 L
+266 57 L
+266 58 L
+266 59 L
+266 60 L
+280 61 L
+280 62 L
+280 63 L
+280 64 L
+280 65 L
+280 66 L
+280 67 L
+280 68 L
+280 69 L
+280 70 L
+280 71 L
+280 72 L
+280 73 L
+280 74 L
+280 75 L
+280 76 L
+280 77 L
+280 78 L
+280 79 L
+280 80 L
+280 81 L
+280 82 L
+280 83 L
+280 84 L
+280 85 L
+280 86 L
+280 87 L
+280 88 L
+280 89 L
+280 90 L
+280 91 L
+280 92 L
+280 93 L
+280 94 L
+280 95 L
+280 96 L
+280 97 L
+280 98 L
+280 99 L
+280 100 L
+280 101 L
+280 102 L
+294 102 L
+294 101 L
+294 100 L
+294 99 L
+294 98 L
+294 97 L
+294 96 L
+294 95 L
+294 94 L
+294 93 L
+294 92 L
+294 91 L
+294 90 L
+294 89 L
+294 88 L
+294 87 L
+294 86 L
+294 85 L
+294 84 L
+294 83 L
+294 82 L
+294 81 L
+294 80 L
+294 79 L
+294 78 L
+294 77 L
+294 76 L
+294 75 L
+294 74 L
+294 73 L
+294 72 L
+294 71 L
+294 70 L
+294 69 L
+294 68 L
+294 67 L
+294 66 L
+294 65 L
+294 64 L
+294 63 L
+294 62 L
+294 61 L
+308 60 L
+308 59 L
+308 58 L
+308 57 L
+308 56 L
+308 55 L
+308 54 L
+308 53 L
+308 52 L
+308 51 L
+308 50 L
+308 49 L
+closepath
+251 59 M
+251 59 L
+245 60 L
+243 61 L
+241 62 L
+240 63 L
+239 64 L
+239 65 L
+238 66 L
+238 67 L
+237 68 L
+237 69 L
+237 70 L
+237 71 L
+237 72 L
+238 73 L
+238 74 L
+238 75 L
+239 76 L
+239 77 L
+240 78 L
+239 79 L
+238 80 L
+237 81 L
+237 82 L
+237 83 L
+236 84 L
+236 85 L
+235 86 L
+235 87 L
+235 88 L
+235 89 L
+235 90 L
+235 91 L
+235 92 L
+236 93 L
+236 94 L
+237 95 L
+237 96 L
+238 97 L
+239 98 L
+240 99 L
+241 100 L
+243 101 L
+245 102 L
+249 103 L
+259 103 L
+262 102 L
+265 101 L
+267 100 L
+270 101 L
+272 102 L
+276 102 L
+276 101 L
+276 100 L
+276 99 L
+276 98 L
+276 97 L
+276 96 L
+276 95 L
+276 94 L
+276 93 L
+273 92 L
+273 91 L
+274 90 L
+274 89 L
+274 88 L
+274 87 L
+274 86 L
+274 85 L
+274 84 L
+274 83 L
+274 82 L
+274 81 L
+274 80 L
+274 79 L
+274 78 L
+274 77 L
+274 76 L
+264 75 L
+264 74 L
+264 73 L
+264 72 L
+264 71 L
+264 70 L
+264 69 L
+264 68 L
+264 67 L
+263 66 L
+263 65 L
+263 64 L
+262 63 L
+261 62 L
+260 61 L
+258 60 L
+253 59 L
+closepath
+114 62 M
+114 62 L
+101 63 L
+93 64 L
+84 65 L
+49 66 L
+15 65 L
+3 64 L
+1 64 L
+1 65 L
+1 66 L
+0 67 L
+0 68 L
+0 69 L
+0 70 L
+0 71 L
+0 72 L
+0 73 L
+4 73 L
+11 72 L
+28 71 L
+53 70 L
+79 71 L
+92 72 L
+102 73 L
+148 73 L
+148 72 L
+148 71 L
+148 70 L
+147 69 L
+147 68 L
+147 67 L
+147 66 L
+147 65 L
+147 64 L
+146 63 L
+146 62 L
+closepath
+185 68 M
+185 68 L
+186 67 L
+187 68 L
+187 69 L
+187 70 L
+188 71 L
+188 72 L
+188 73 L
+188 74 L
+189 75 L
+189 76 L
+189 77 L
+189 78 L
+190 79 L
+190 80 L
+190 81 L
+185 82 L
+181 81 L
+181 80 L
+181 79 L
+182 78 L
+182 77 L
+182 76 L
+183 75 L
+183 74 L
+183 73 L
+184 72 L
+184 71 L
+184 70 L
+184 69 L
+closepath
+250 68 M
+250 68 L
+251 67 L
+253 68 L
+254 69 L
+254 70 L
+254 71 L
+254 72 L
+254 73 L
+254 74 L
+254 75 L
+252 76 L
+251 75 L
+250 74 L
+249 73 L
+249 72 L
+249 71 L
+249 70 L
+249 69 L
+closepath
+254 77 M
+254 77 L
+259 76 L
+264 77 L
+264 78 L
+264 79 L
+264 80 L
+264 81 L
+264 82 L
+264 83 L
+264 84 L
+263 85 L
+262 84 L
+261 83 L
+260 82 L
+258 81 L
+257 80 L
+256 79 L
+255 78 L
+closepath
+100 78 M
+100 78 L
+90 79 L
+80 80 L
+48 81 L
+17 80 L
+8 79 L
+0 79 L
+0 80 L
+0 81 L
+0 82 L
+0 83 L
+0 84 L
+1 85 L
+1 86 L
+1 87 L
+1 88 L
+7 88 L
+17 87 L
+49 86 L
+81 87 L
+94 88 L
+147 88 L
+147 87 L
+147 86 L
+147 85 L
+147 84 L
+147 83 L
+148 82 L
+148 81 L
+148 80 L
+148 79 L
+148 78 L
+closepath
+246 86 M
+246 86 L
+247 85 L
+249 86 L
+250 87 L
+252 88 L
+253 89 L
+254 90 L
+255 91 L
+255 92 L
+252 93 L
+250 92 L
+248 91 L
+247 90 L
+247 89 L
+246 88 L
+246 87 L
+closepath
+91 93 M
+91 93 L
+75 94 L
+65 95 L
+64 96 L
+63 95 L
+62 95 L
+44 96 L
+27 95 L
+13 94 L
+2 94 L
+3 95 L
+3 96 L
+3 97 L
+3 98 L
+4 99 L
+4 100 L
+4 101 L
+5 102 L
+5 103 L
+6 104 L
+6 105 L
+12 105 L
+24 104 L
+40 103 L
+46 102 L
+53 103 L
+143 103 L
+143 102 L
+144 101 L
+144 100 L
+144 99 L
+145 98 L
+145 97 L
+145 96 L
+145 95 L
+145 94 L
+145 93 L
+closepath
+8 108 M
+8 108 L
+8 109 L
+9 110 L
+9 111 L
+9 112 L
+10 113 L
+11 114 L
+11 115 L
+12 116 L
+12 117 L
+13 118 L
+14 119 L
+15 120 L
+24 120 L
+37 119 L
+46 118 L
+55 119 L
+134 119 L
+135 118 L
+135 117 L
+136 116 L
+137 115 L
+137 114 L
+138 113 L
+139 112 L
+139 111 L
+139 110 L
+140 109 L
+140 108 L
+78 108 L
+59 109 L
+45 110 L
+32 109 L
+13 108 L
+closepath
+18 124 M
+18 124 L
+19 125 L
+20 126 L
+20 127 L
+21 128 L
+22 129 L
+23 130 L
+24 131 L
+26 132 L
+27 133 L
+28 134 L
+120 134 L
+121 133 L
+123 132 L
+124 131 L
+125 130 L
+126 129 L
+127 128 L
+128 127 L
+129 126 L
+129 125 L
+130 124 L
+closepath
+36 139 M
+36 139 L
+37 140 L
+39 141 L
+40 142 L
+42 143 L
+44 144 L
+47 145 L
+49 146 L
+52 147 L
+56 148 L
+60 149 L
+67 150 L
+80 150 L
+88 149 L
+92 148 L
+96 147 L
+99 146 L
+101 145 L
+104 144 L
+106 143 L
+108 142 L
+110 141 L
+111 140 L
+113 139 L
+closepath
+fill
+grestore
diff --git a/troff/troff.d/font/devpost/charlib/LH_uc b/troff/troff.d/font/devpost/charlib/LH_uc
new file mode 100644
index 0000000000000..8a277557bac23
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/LH_uc
@@ -0,0 +1,27 @@
+%%BeginResource: procset dpost_charLH 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/LH 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_LH {pop} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/Lb b/troff/troff.d/font/devpost/charlib/Lb
new file mode 100644
index 0000000000000..3b8b334d0fef9
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/Lb
@@ -0,0 +1,38 @@
+%%BeginResource: procset dpost_charLb 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/Lb 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_Lb {
+ pop
+ /picstr 78 string def
+ gsave
+ currentpoint translate
+ 1.03 72 mul size mul 36 div
+ .5 72 mul size mul 36 div
+ scale
+ 309 150 1 [309 0 0 -150 0 150]
+ {currentfile picstr readhexstring pop} image
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/Lb.map b/troff/troff.d/font/devpost/charlib/Lb.map
new file mode 100644
index 0000000000000..e467b4579812e
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/Lb.map
@@ -0,0 +1,150 @@
+FFFFFFFFFFFFFFFFF0007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFE0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF00000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF8000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFE00000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC0000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFC000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF8FFFFFFF00000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFC00000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF81FFFFFFFFFC0000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFE00000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFC00000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF800000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE0007FFFFFFFF8000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE7FFFFFFFFFFFFFFE000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFF0000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFE000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFF80000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF01FFFFFFFFFFFFFFFFC000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF80FFFFFFFFFFFFFFFFFE0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFE0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F87FFFFFFFFFFFFFFFFFFFFC000000000000FFFFFFFFC0003F00000000003FFFFFC00000000007
+F000000007FFFFFFFFFFC000000000000000FFFFFFFFC0003F00000000003FFFFFC00000000007
+F000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+F000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+E000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+E000000000000000000000000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+E000000000000000000000000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+E0007FFFFFFFFFFFFFFFFC000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+C0FFFFFFFFFFFFFFFFFFFFFFC000000000003FFFFFFE00000700000000003FFFFFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFC000000003FFFFFFE00000700000000003FFFFFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000700000000003FE3FFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000003000000000038001FC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000003FFFC0007FFE00007FFFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FFFFFFC000003FFFC0007FF800003FFFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF800000000001FFFFFF8000003FFFC0007FF000001FFFF0001FFFF
+8FFFFFFFFFFFFFFFFFFFFFF80000000000000FFFFFF8000001FFFC0007FE000000FFFF0001FFFF
+8000FFFFFFFFFFFFFFFFF0000000000000000FFFFFF8000001FFFC0007FE000000FFFF0001FFFF
+8000000000000000000000000000000000000FFFFFF0000001FFFC0007FC000000FFFF0001FFFF
+0000000000000000000000000000000000000FFFFFF0000000FFFC0007FC0000007FFF0001FFFF
+0000000000000000000000000000000000000FFFFFF0002000FFFC0007F80018007FFF0001FFFF
+0000000000000000000000000000000000000FFFFFE0006000FFFC0007F8003C007FFF0001FFFF
+00000000000000000000000000000000000007FFFFE00060007FFC0007F8003C007FFF0001FFFF
+00000007FFFFFFFFFFFE000000000000000007FFFFE00070007FFC0007F8003C007FFF0001FFFF
+000FFFFFFFFFFFFFFFFFFFF000000000000007FFFFC00070007FFC0007F8003C007FFF0001FFFF
+07FFFFFFFFFFFFFFFFFFFFFFFC000000000007FFFFC000F0003FFC0007FC003C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000F0003FFC0007FC001C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000F8003FFC0007FC000C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001F8001FFC0007FE000000001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001F8001FFC0007FE0001FF001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF0000000000007FFFF0001F8001FFC0007FF0000FF001F0001FFFF
+007FFFFFFFFFFFFFFFFFFFC000000000000007FFFF0003FC001FFC0007FE00007F001F0001FFFF
+00003FFFFFFFFFFFFFFF000000000000000007FFFF0003FC000FFC0007FC00003F001F0001FFFF
+00000000000000000000000000000000000007FFFE0003FC000FFC0007F800001F001F0001FFFF
+00000000000000000000000000000000000007FFFE000000000FFC0007F8000007001F0001FFFF
+0000000000000000000000000000000000000FFFFE0000000007FC0007F8000003001F0001FFFF
+0000000000000000000000000000000000000FFFFC0000000007FC0007F0000001001F0001FFFF
+8000000000000000000000000000000000000FFFFC0000000007FC0007F0000000001F0001FFFF
+8000000000000000000000000000000000000FFFFC0000000003FC0007E0018000001F0001FFFF
+80003FFFFFFFFFFFFFFF80000000000000000FFFF80000000003FC0007E001C000001F0001FFFF
+80FFFFFFFFFFFFFFFFFFFFFC0000000000000FFFF80000000003FC0007E001F000001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000001FC0007E000F800001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000001FC0007E000FC00001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000001FC0007E0007E00003F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC0007E0001E00003F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFE00000000000003FFFE00000000000FC0007F000000000070001FFFF
+C003FFFFFFFFFFFFFFE000000000000000003FFFE0003FFFC000FC0007F000000000070001FFFF
+E000000FFFFFFFFC800000000000000000003FFFE0007FFFC0007C0007F800000000070001FFFF
+E000000000000000000000000000000000003FFFC0007FFFE0007C0007F800000000070001FFFF
+E000000000000000000000000000000000003FFFC0007FFFE0007C0007FC00000000070001FFFF
+E000000000000000000000000000000000003FFFC000FFFFE0007C0007FE00000000070001FFFF
+F000000000000000000000000000000000007FFF8000FFFFE0003C0007FF00000000070001FFFF
+F000000000000000000000000000000000007FFF8000FFFFF0003C0007FF80000000070001FFFF
+F000000000000000000000000000000000007FFF8001FFFFF0003C0007FFE000003C070001FFFF
+F80000000000000000000000000000000000FFFF0001FFFFF0001C0007FFF80001FF070001FFFF
+F8000000007FF80000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF800FFFFFFFFFFFFF
+FC00007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FC07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF03FFFFFFFFFFFFFFFC0000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0000007FFFFFE000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF0000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF8000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFC000003FFFE00000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFE007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFC0000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE0000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF0000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF0000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF800000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFC00000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFE00000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF00000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFE000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF00000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF8000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFE000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC0000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF0000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFE00000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFE0007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
diff --git a/troff/troff.d/font/devpost/charlib/OLD_LH b/troff/troff.d/font/devpost/charlib/OLD_LH
new file mode 100644
index 0000000000000..3feb59c6363a6
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/OLD_LH
@@ -0,0 +1,34 @@
+%ident "@(#)lp:filter/postscript/font/devpost/charlib/OLD_LH 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+/build_LH {
+ pop
+ /picstr 78 string def
+ gsave
+ currentpoint translate
+ 1.03 72 mul size mul 36 div
+ .5 72 mul size mul 36 div
+ scale
+ 309 150 1 [309 0 0 -150 0 150]
+ {currentfile picstr readhexstring pop} image
+ grestore
+} def
diff --git a/troff/troff.d/font/devpost/charlib/OLD_LH.map b/troff/troff.d/font/devpost/charlib/OLD_LH.map
new file mode 100644
index 0000000000000..e467b4579812e
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/OLD_LH.map
@@ -0,0 +1,150 @@
+FFFFFFFFFFFFFFFFF0007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFE0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF00000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF8000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFE00000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC0000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFC000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF8FFFFFFF00000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFF0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFF000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFC00000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF81FFFFFFFFFC0000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF0000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFE00000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFC00000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF800000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE0007FFFFFFFF8000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE7FFFFFFFFFFFFFFE000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFF0000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFE000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFF80000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF01FFFFFFFFFFFFFFFFC000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF80FFFFFFFFFFFFFFFFFE0000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFE0000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFC0000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+F87FFFFFFFFFFFFFFFFFFFFC000000000000FFFFFFFFC0003F00000000003FFFFFC00000000007
+F000000007FFFFFFFFFFC000000000000000FFFFFFFFC0003F00000000003FFFFFC00000000007
+F000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+F000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+E000000000000000000000000000000000007FFFFFFF80001F00000000003FFFFFC00000000007
+E000000000000000000000000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+E000000000000000000000000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+E0007FFFFFFFFFFFFFFFFC000000000000003FFFFFFF00000F00000000003FFFFFC00000000007
+C0FFFFFFFFFFFFFFFFFFFFFFC000000000003FFFFFFE00000700000000003FFFFFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFC000000003FFFFFFE00000700000000003FFFFFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00000700000000003FE3FFC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000003000000000038001FC00000000007
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000003FFFC0007FFE00007FFFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFC00000001FFFFFFC000003FFFC0007FF800003FFFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF800000000001FFFFFF8000003FFFC0007FF000001FFFF0001FFFF
+8FFFFFFFFFFFFFFFFFFFFFF80000000000000FFFFFF8000001FFFC0007FE000000FFFF0001FFFF
+8000FFFFFFFFFFFFFFFFF0000000000000000FFFFFF8000001FFFC0007FE000000FFFF0001FFFF
+8000000000000000000000000000000000000FFFFFF0000001FFFC0007FC000000FFFF0001FFFF
+0000000000000000000000000000000000000FFFFFF0000000FFFC0007FC0000007FFF0001FFFF
+0000000000000000000000000000000000000FFFFFF0002000FFFC0007F80018007FFF0001FFFF
+0000000000000000000000000000000000000FFFFFE0006000FFFC0007F8003C007FFF0001FFFF
+00000000000000000000000000000000000007FFFFE00060007FFC0007F8003C007FFF0001FFFF
+00000007FFFFFFFFFFFE000000000000000007FFFFE00070007FFC0007F8003C007FFF0001FFFF
+000FFFFFFFFFFFFFFFFFFFF000000000000007FFFFC00070007FFC0007F8003C007FFF0001FFFF
+07FFFFFFFFFFFFFFFFFFFFFFFC000000000007FFFFC000F0003FFC0007FC003C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000F0003FFC0007FC001C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8000F8003FFC0007FC000C007FFF0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001F8001FFC0007FE000000001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8001F8001FFC0007FE0001FF001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFF0000000000007FFFF0001F8001FFC0007FF0000FF001F0001FFFF
+007FFFFFFFFFFFFFFFFFFFC000000000000007FFFF0003FC001FFC0007FE00007F001F0001FFFF
+00003FFFFFFFFFFFFFFF000000000000000007FFFF0003FC000FFC0007FC00003F001F0001FFFF
+00000000000000000000000000000000000007FFFE0003FC000FFC0007F800001F001F0001FFFF
+00000000000000000000000000000000000007FFFE000000000FFC0007F8000007001F0001FFFF
+0000000000000000000000000000000000000FFFFE0000000007FC0007F8000003001F0001FFFF
+0000000000000000000000000000000000000FFFFC0000000007FC0007F0000001001F0001FFFF
+8000000000000000000000000000000000000FFFFC0000000007FC0007F0000000001F0001FFFF
+8000000000000000000000000000000000000FFFFC0000000003FC0007E0018000001F0001FFFF
+80003FFFFFFFFFFFFFFF80000000000000000FFFF80000000003FC0007E001C000001F0001FFFF
+80FFFFFFFFFFFFFFFFFFFFFC0000000000000FFFF80000000003FC0007E001F000001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80000000001FC0007E000F800001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000001FC0007E000FC00001F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000001FC0007E0007E00003F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000FC0007E0001E00003F0001FFFF
+FFFFFFFFFFFFFFFFFFFFFFE00000000000003FFFE00000000000FC0007F000000000070001FFFF
+C003FFFFFFFFFFFFFFE000000000000000003FFFE0003FFFC000FC0007F000000000070001FFFF
+E000000FFFFFFFFC800000000000000000003FFFE0007FFFC0007C0007F800000000070001FFFF
+E000000000000000000000000000000000003FFFC0007FFFE0007C0007F800000000070001FFFF
+E000000000000000000000000000000000003FFFC0007FFFE0007C0007FC00000000070001FFFF
+E000000000000000000000000000000000003FFFC000FFFFE0007C0007FE00000000070001FFFF
+F000000000000000000000000000000000007FFF8000FFFFE0003C0007FF00000000070001FFFF
+F000000000000000000000000000000000007FFF8000FFFFF0003C0007FF80000000070001FFFF
+F000000000000000000000000000000000007FFF8001FFFFF0003C0007FFE000003C070001FFFF
+F80000000000000000000000000000000000FFFF0001FFFFF0001C0007FFF80001FF070001FFFF
+F8000000007FF80000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFF800FFFFFFFFFFFFF
+FC00007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FC07FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF03FFFFFFFFFFFFFFFC0000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF0000007FFFFFE000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FF800000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFC00000000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFE00000000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF00000000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF0000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFF8000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFC000003FFFE00000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFE007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFC0000000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFE0000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF0000000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF0000000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFF800000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFC00000000000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFE00000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFF00000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFC000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFE000000000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFF000000000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF00000000000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFF8000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFE000000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFF000000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFC0000000000000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFF0000000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFE00000000000003FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFF8000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFF000000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFF0000000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFF00000007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+FFFFFFFFFFFFFFFFE0007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
diff --git a/troff/troff.d/font/devpost/charlib/README b/troff/troff.d/font/devpost/charlib/README
new file mode 100644
index 0000000000000..798ac9a705abf
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/README
@@ -0,0 +1,47 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+#ident "@(#)README 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+
+Postscript definitions of some special troff characters. For now each file
+is named by its two character troff name and is copied to the output file,
+as is, when the character is first used. Each procedure is called with a
+single argument, namely the width of the character. The name of the PostScript
+procedure that builds the character must begin with the prefix build_ and
+end with the character's name.
+
+The following variables are defined in dpost.ps and may help when you're building
+a new character:
+
+ font name of the current font
+ ptsize and the point size
+ size Postscript is using this size - it's scaled up from ptsize
+
+
diff --git a/troff/troff.d/font/devpost/charlib/Sl b/troff/troff.d/font/devpost/charlib/Sl
new file mode 100644
index 0000000000000..a1de81479a728
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/Sl
@@ -0,0 +1,131 @@
+%%BeginResource: procset dpost_charSl 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/Sl 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_Sl {
+pop
+gsave
+linewidth ptsize mul resolution 720 div div scaling 10 mul div setlinewidth
+size .0022 mul dup scale
+currentpoint translate
+14 93 moveto
+14 96 lineto
+29 110 lineto
+44 121 lineto
+54 127 lineto
+55 132 lineto
+57 146 lineto
+59 157 lineto
+62 171 lineto
+66 186 lineto
+70 199 lineto
+75 213 lineto
+81 228 lineto
+88 243 lineto
+96 257 lineto
+106 272 lineto
+118 287 lineto
+133 300 lineto
+148 307 lineto
+163 308 lineto
+178 304 lineto
+191 293 lineto
+197 281 lineto
+198 277 lineto
+198 260 lineto
+194 246 lineto
+187 231 lineto
+179 217 lineto
+168 202 lineto
+155 187 lineto
+141 172 lineto
+126 158 lineto
+111 146 lineto
+96 136 lineto
+94 131 lineto
+93 123 lineto
+92 112 lineto
+91 103 lineto
+90 93 lineto
+89 81 lineto
+89 40 lineto
+92 28 lineto
+97 18 lineto
+108 10 lineto
+122 10 lineto
+134 18 lineto
+145 33 lineto
+152 48 lineto
+158 62 lineto
+168 58 lineto
+168 59 lineto
+163 45 lineto
+157 31 lineto
+148 16 lineto
+133 3 lineto
+118 -1 lineto
+103 0 lineto
+88 5 lineto
+73 18 lineto
+64 31 lineto
+58 46 lineto
+55 59 lineto
+53 73 lineto
+52 111 lineto
+37 101 lineto
+22 86 lineto
+14 93 lineto
+
+97 152 moveto
+97 153 lineto
+99 166 lineto
+101 178 lineto
+103 190 lineto
+106 205 lineto
+109 218 lineto
+113 232 lineto
+118 246 lineto
+124 261 lineto
+132 275 lineto
+144 290 lineto
+157 298 lineto
+171 298 lineto
+181 291 lineto
+186 283 lineto
+187 279 lineto
+187 264 lineto
+186 260 lineto
+181 246 lineto
+174 233 lineto
+165 218 lineto
+155 204 lineto
+142 190 lineto
+127 175 lineto
+112 162 lineto
+97 152 lineto
+
+eofill
+grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/bx b/troff/troff.d/font/devpost/charlib/bx
new file mode 100644
index 0000000000000..d20c5f9ed339c
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/bx
@@ -0,0 +1,38 @@
+%%BeginResource: procset dpost_charbx 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/bx 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_bx {
+ pop
+ size 2 div /side exch def
+ currentpoint
+ newpath
+ moveto
+ 0 side rlineto
+ side 0 rlineto
+ 0 side neg rlineto
+ closepath
+ fill
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/ci b/troff/troff.d/font/devpost/charlib/ci
new file mode 100644
index 0000000000000..a1324350a4061
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/ci
@@ -0,0 +1,34 @@
+%%BeginResource: procset dpost_charci 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/ci 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_ci {
+ pop
+ size 3 mul 8 div /rad exch def
+ currentpoint
+ newpath
+ rad add exch rad add exch rad 0 360 arc
+ stroke
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/ff b/troff/troff.d/font/devpost/charlib/ff
new file mode 100644
index 0000000000000..4a9d09235ae11
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/ff
@@ -0,0 +1,30 @@
+%%BeginResource: procset dpost_charff 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/ff 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_ff {
+ pop
+ size .05 mul neg 0 (ff) ashow
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/lc b/troff/troff.d/font/devpost/charlib/lc
new file mode 100644
index 0000000000000..898baf444ec64
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/lc
@@ -0,0 +1,61 @@
+%%BeginResource: procset dpost_charlc 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/lc 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% This stuff has gotten terribly complicated - sorry.
+%
+
+currentdict /bvbbox known not {/bvbbox [0 0 0 0 0 0 0] def} if
+
+/build_lc {
+ pop
+ gsave
+ currentpoint translate newpath
+ bvbbox 6 get size ne {
+ gsave
+ initgraphics
+ scaling scaling scale
+ 0 0 moveto
+ (\357) false charpath flattenpath pathbbox 0 0 size bvbbox astore pop
+ 0 1 idtransform dup mul exch dup mul add sqrt dup
+ bvbbox 1 get add bvbbox 1 3 -1 roll put
+ bvbbox 3 get exch sub bvbbox 3 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get sub bvbbox 4 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get add 2 div bvbbox 5 3 -1 roll put
+ grestore
+ } if
+ bvbbox 0 get bvbbox 1 get moveto
+ bvbbox 0 get bvbbox 3 get lineto
+ bvbbox 5 get bvbbox 4 get 8 mul add dup bvbbox 3 get lineto
+ bvbbox 1 get lineto closepath clip newpath
+ 0 0 moveto (\357) show
+ bvbbox 5 get bvbbox 3 get moveto
+ bvbbox 4 get dup dup
+ 8 mul 0 rlineto
+ 0 exch neg rlineto
+ 8 mul neg 0 rlineto
+ closepath clip eofill
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/lf b/troff/troff.d/font/devpost/charlib/lf
new file mode 100644
index 0000000000000..8230ad99bc1d0
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/lf
@@ -0,0 +1,61 @@
+%%BeginResource: procset dpost_charlf 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/lf 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% This stuff has gotten terribly complicated - sorry.
+%
+
+currentdict /bvbbox known not {/bvbbox [0 0 0 0 0 0 0] def} if
+
+/build_lf {
+ pop
+ gsave
+ currentpoint translate newpath
+ bvbbox 6 get size ne {
+ gsave
+ initgraphics
+ scaling scaling scale
+ 0 0 moveto
+ (\357) false charpath flattenpath pathbbox 0 0 size bvbbox astore pop
+ 0 1 idtransform dup mul exch dup mul add sqrt dup
+ bvbbox 1 get add bvbbox 1 3 -1 roll put
+ bvbbox 3 get exch sub bvbbox 3 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get sub bvbbox 4 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get add 2 div bvbbox 5 3 -1 roll put
+ grestore
+ } if
+ bvbbox 0 get bvbbox 1 get moveto
+ bvbbox 0 get bvbbox 3 get lineto
+ bvbbox 5 get bvbbox 4 get 8 mul add dup bvbbox 3 get lineto
+ bvbbox 1 get lineto closepath clip newpath
+ 0 0 moveto (\357) show
+ bvbbox 5 get bvbbox 1 get moveto
+ bvbbox 4 get dup dup
+ 8 mul 0 rlineto
+ 0 exch rlineto
+ 8 mul neg 0 rlineto
+ closepath clip eofill
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/lh b/troff/troff.d/font/devpost/charlib/lh
new file mode 100644
index 0000000000000..fd7b6668fde9c
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/lh
@@ -0,0 +1,193 @@
+%%BeginResource: procset dpost_charlh 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/lh 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_lh {
+pop
+gsave
+linewidth ptsize mul resolution 720 div div scaling 10 mul div setlinewidth
+size .0022 mul dup scale
+currentpoint translate
+
+16 177 moveto
+16 188 lineto
+21 193 lineto
+30 193 lineto
+34 189 lineto
+36 183 lineto
+36 180 lineto
+34 174 lineto
+27 170 lineto
+19 172 lineto
+16 177 lineto
+stroke
+
+38 194 moveto
+38 196 lineto
+53 199 lineto
+68 201 lineto
+83 202 lineto
+98 203 lineto
+113 204 lineto
+128 204 lineto
+143 205 lineto
+158 205 lineto
+173 205 lineto
+188 204 lineto
+203 203 lineto
+218 202 lineto
+233 200 lineto
+248 198 lineto
+263 196 lineto
+278 194 lineto
+293 190 lineto
+308 186 lineto
+323 181 lineto
+338 176 lineto
+353 168 lineto
+361 162 lineto
+364 153 lineto
+366 138 lineto
+367 126 lineto
+368 106 lineto
+369 80 lineto
+369 74 lineto
+368 60 lineto
+367 54 lineto
+362 43 lineto
+348 34 lineto
+333 28 lineto
+318 25 lineto
+303 26 lineto
+288 29 lineto
+273 31 lineto
+258 32 lineto
+243 32 lineto
+228 30 lineto
+213 27 lineto
+198 24 lineto
+183 23 lineto
+168 23 lineto
+153 27 lineto
+148 34 lineto
+148 47 lineto
+153 54 lineto
+168 58 lineto
+183 58 lineto
+198 58 lineto
+213 59 lineto
+226 60 lineto
+228 62 lineto
+228 67 lineto
+223 71 lineto
+208 71 lineto
+193 70 lineto
+178 70 lineto
+163 70 lineto
+148 70 lineto
+133 71 lineto
+123 76 lineto
+120 84 lineto
+120 91 lineto
+122 98 lineto
+129 104 lineto
+144 106 lineto
+159 107 lineto
+174 107 lineto
+189 107 lineto
+202 108 lineto
+204 110 lineto
+204 117 lineto
+201 119 lineto
+186 119 lineto
+171 119 lineto
+156 119 lineto
+141 119 lineto
+126 119 lineto
+111 121 lineto
+103 128 lineto
+101 137 lineto
+101 142 lineto
+103 150 lineto
+111 158 lineto
+126 161 lineto
+141 161 lineto
+156 162 lineto
+171 163 lineto
+186 163 lineto
+191 165 lineto
+192 167 lineto
+192 171 lineto
+190 174 lineto
+176 175 lineto
+161 175 lineto
+146 175 lineto
+131 174 lineto
+116 174 lineto
+101 174 lineto
+86 173 lineto
+71 172 lineto
+56 171 lineto
+41 171 lineto
+41 174 lineto
+43 178 lineto
+43 187 lineto
+38 194 lineto
+stroke
+
+373 169 moveto
+373 176 lineto
+375 182 lineto
+386 190 lineto
+401 193 lineto
+408 191 lineto
+411 185 lineto
+412 181 lineto
+414 167 lineto
+415 158 lineto
+416 144 lineto
+417 128 lineto
+418 110 lineto
+418 60 lineto
+417 45 lineto
+415 37 lineto
+409 34 lineto
+394 31 lineto
+381 35 lineto
+379 42 lineto
+379 52 lineto
+380 67 lineto
+380 77 lineto
+379 77 lineto
+378 106 lineto
+377 121 lineto
+376 133 lineto
+375 147 lineto
+374 158 lineto
+373 169 lineto
+
+stroke
+grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/ob b/troff/troff.d/font/devpost/charlib/ob
new file mode 100644
index 0000000000000..8746b330a9fb4
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/ob
@@ -0,0 +1,34 @@
+%%BeginResource: procset dpost_charob 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/ob 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_ob {
+ pop
+ size 3 mul 16 div /rad exch def
+ currentpoint
+ newpath
+ rad add exch rad add exch rad 0 360 arc
+ stroke
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/rc b/troff/troff.d/font/devpost/charlib/rc
new file mode 100644
index 0000000000000..73571cdbd8836
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/rc
@@ -0,0 +1,61 @@
+%%BeginResource: procset dpost_charrc 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/rc 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% This stuff has gotten terribly complicated - sorry.
+%
+
+currentdict /bvbbox known not {/bvbbox [0 0 0 0 0 0 0] def} if
+
+/build_rc {
+ pop
+ gsave
+ currentpoint translate newpath
+ bvbbox 6 get size ne {
+ gsave
+ initgraphics
+ scaling scaling scale
+ 0 0 moveto
+ (\357) false charpath flattenpath pathbbox 0 0 size bvbbox astore pop
+ 0 1 idtransform dup mul exch dup mul add sqrt dup
+ bvbbox 1 get add bvbbox 1 3 -1 roll put
+ bvbbox 3 get exch sub bvbbox 3 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get sub bvbbox 4 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get add 2 div bvbbox 5 3 -1 roll put
+ grestore
+ } if
+ bvbbox 2 get bvbbox 1 get moveto
+ bvbbox 2 get bvbbox 3 get lineto
+ bvbbox 5 get bvbbox 4 get 8 mul sub dup bvbbox 3 get lineto
+ bvbbox 1 get lineto closepath clip newpath
+ 0 0 moveto (\357) show
+ bvbbox 5 get bvbbox 3 get moveto
+ bvbbox 4 get dup dup
+ 8 mul neg 0 rlineto
+ 0 exch neg rlineto
+ 8 mul 0 rlineto
+ closepath clip eofill
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/rf b/troff/troff.d/font/devpost/charlib/rf
new file mode 100644
index 0000000000000..e5df7ab92b4e4
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/rf
@@ -0,0 +1,61 @@
+%%BeginResource: procset dpost_charrf 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/rf 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% This stuff has gotten terribly complicated - sorry.
+%
+
+currentdict /bvbbox known not {/bvbbox [0 0 0 0 0 0 0] def} if
+
+/build_rf {
+ pop
+ gsave
+ currentpoint translate newpath
+ bvbbox 6 get size ne {
+ gsave
+ initgraphics
+ scaling scaling scale
+ 0 0 moveto
+ (\357) false charpath flattenpath pathbbox 0 0 size bvbbox astore pop
+ 0 1 idtransform dup mul exch dup mul add sqrt dup
+ bvbbox 1 get add bvbbox 1 3 -1 roll put
+ bvbbox 3 get exch sub bvbbox 3 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get sub bvbbox 4 3 -1 roll put
+ bvbbox 2 get bvbbox 0 get add 2 div bvbbox 5 3 -1 roll put
+ grestore
+ } if
+ bvbbox 2 get bvbbox 1 get moveto
+ bvbbox 2 get bvbbox 3 get lineto
+ bvbbox 5 get bvbbox 4 get 8 mul sub dup bvbbox 3 get lineto
+ bvbbox 1 get lineto closepath clip newpath
+ 0 0 moveto (\357) show
+ bvbbox 5 get bvbbox 1 get moveto
+ bvbbox 4 get dup dup
+ 8 mul neg 0 rlineto
+ 0 exch rlineto
+ 8 mul 0 rlineto
+ closepath clip eofill
+ grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/rh b/troff/troff.d/font/devpost/charlib/rh
new file mode 100644
index 0000000000000..388cf80023ee8
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/rh
@@ -0,0 +1,184 @@
+%%BeginResource: procset dpost_charrh 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/rh 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_rh {
+pop
+gsave
+linewidth ptsize mul resolution 720 div div scaling 10 mul div setlinewidth
+size .0022 mul dup scale
+currentpoint translate
+
+15 66 moveto
+15 86 lineto
+16 131 lineto
+17 146 lineto
+18 158 lineto
+19 167 lineto
+21 181 lineto
+24 190 lineto
+34 193 lineto
+49 189 lineto
+58 182 lineto
+60 177 lineto
+60 166 lineto
+59 156 lineto
+58 143 lineto
+57 130 lineto
+56 117 lineto
+55 102 lineto
+54 42 lineto
+53 39 lineto
+49 35 lineto
+34 34 lineto
+19 39 lineto
+16 47 lineto
+15 66 lineto
+stroke
+
+65 60 moveto
+65 111 lineto
+66 127 lineto
+67 139 lineto
+69 153 lineto
+72 163 lineto
+83 171 lineto
+98 177 lineto
+113 182 lineto
+128 187 lineto
+143 190 lineto
+158 194 lineto
+173 196 lineto
+188 199 lineto
+203 201 lineto
+218 203 lineto
+233 205 lineto
+248 205 lineto
+263 206 lineto
+278 206 lineto
+293 206 lineto
+308 206 lineto
+323 206 lineto
+338 205 lineto
+353 203 lineto
+368 202 lineto
+383 200 lineto
+394 197 lineto
+389 190 lineto
+389 180 lineto
+391 176 lineto
+391 173 lineto
+380 173 lineto
+365 173 lineto
+350 174 lineto
+335 175 lineto
+320 176 lineto
+305 176 lineto
+290 176 lineto
+275 177 lineto
+260 177 lineto
+245 177 lineto
+240 173 lineto
+240 170 lineto
+245 165 lineto
+260 164 lineto
+275 164 lineto
+290 164 lineto
+305 163 lineto
+320 160 lineto
+327 155 lineto
+330 149 lineto
+330 134 lineto
+328 129 lineto
+323 124 lineto
+309 121 lineto
+294 121 lineto
+279 121 lineto
+264 121 lineto
+249 121 lineto
+234 121 lineto
+228 118 lineto
+228 112 lineto
+234 109 lineto
+249 109 lineto
+264 109 lineto
+279 108 lineto
+294 108 lineto
+306 104 lineto
+311 97 lineto
+312 91 lineto
+312 88 lineto
+311 82 lineto
+305 74 lineto
+290 72 lineto
+275 72 lineto
+260 72 lineto
+245 73 lineto
+230 73 lineto
+215 73 lineto
+205 70 lineto
+205 63 lineto
+217 60 lineto
+232 60 lineto
+247 60 lineto
+262 60 lineto
+277 57 lineto
+283 52 lineto
+285 44 lineto
+285 41 lineto
+284 35 lineto
+280 30 lineto
+268 26 lineto
+253 25 lineto
+238 26 lineto
+223 28 lineto
+208 31 lineto
+193 33 lineto
+178 34 lineto
+163 33 lineto
+148 31 lineto
+133 28 lineto
+118 27 lineto
+103 28 lineto
+88 34 lineto
+73 43 lineto
+67 52 lineto
+65 60 lineto
+stroke
+
+396 180 moveto
+396 188 lineto
+399 194 lineto
+410 196 lineto
+416 190 lineto
+416 180 lineto
+415 177 lineto
+411 173 lineto
+400 173 lineto
+396 180 lineto
+stroke
+
+grestore
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/sq b/troff/troff.d/font/devpost/charlib/sq
new file mode 100644
index 0000000000000..3c20984a04aaa
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/sq
@@ -0,0 +1,42 @@
+%%BeginResource: procset dpost_charsq 1.1 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/sq 1.2"
+%
+% CDDL HEADER START
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright(c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+%
+/build_sq {
+ pop
+ size 2 div /side exch def
+ currentpoint
+ newpath
+ moveto
+ 0 side rlineto
+ side 0 rlineto
+ 0 side neg rlineto
+ closepath
+ currentfont dup /FontInfo dup 3 1 roll known {
+ get dup /Weight dup 3 1 roll known {
+ get dup dup (Ultra) eq exch (Bold) eq or exch (Heavy) eq or
+ {fill} {stroke} ifelse
+ } {pop pop stroke} ifelse
+ } {pop pop stroke} ifelse
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devpost/charlib/~= b/troff/troff.d/font/devpost/charlib/~=
new file mode 100644
index 0000000000000..fe8cf3ed76758
--- /dev/null
+++ b/troff/troff.d/font/devpost/charlib/~=
@@ -0,0 +1,30 @@
+%%BeginResource: procset dpost_charapproxeq 1.0 0
+% from OpenSolaris "lp:filter/postscript/font/devpost/charlib/~= 1.2"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+/build_~= {
+ pop
+ (\176) stringwidth pop neg size -.15 mul (\176\055) ashow
+} def
+%%EndResource
diff --git a/troff/troff.d/font/devps/B b/troff/troff.d/font/devps/B
new file mode 100644
index 0000000000000..aa879c84facb7
--- /dev/null
+++ b/troff/troff.d/font/devps/B
@@ -0,0 +1 @@
+name B.afm
diff --git a/troff/troff.d/font/devps/B.afm b/troff/troff.d/font/devps/B.afm
new file mode 100644
index 0000000000000..39e79ff78fd95
--- /dev/null
+++ b/troff/troff.d/font/devps/B.afm
@@ -0,0 +1,1331 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:52:56 1997
+Comment UniqueID 43065
+Comment VMusage 41636 52661
+FontName Times-Bold
+FullName Times Bold
+FamilyName Times
+Weight Bold
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -168 -218 1000 935
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 676
+XHeight 461
+Ascender 683
+Descender -217
+StdHW 44
+StdVW 139
+StartCharMetrics 229
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 81 -13 251 691 ;
+C 34 ; WX 555 ; N quotedbl ; B 83 404 472 691 ;
+C 35 ; WX 500 ; N numbersign ; B 4 0 496 700 ;
+C 36 ; WX 500 ; N dollar ; B 29 -99 472 750 ;
+C 37 ; WX 1000 ; N percent ; B 124 -14 877 692 ;
+C 38 ; WX 833 ; N ampersand ; B 62 -16 787 691 ;
+C 39 ; WX 333 ; N quoteright ; B 79 356 263 691 ;
+C 40 ; WX 333 ; N parenleft ; B 46 -168 306 694 ;
+C 41 ; WX 333 ; N parenright ; B 27 -168 287 694 ;
+C 42 ; WX 500 ; N asterisk ; B 56 255 447 691 ;
+C 43 ; WX 570 ; N plus ; B 33 0 537 506 ;
+C 44 ; WX 250 ; N comma ; B 39 -180 223 155 ;
+C 45 ; WX 333 ; N hyphen ; B 44 171 287 287 ;
+C 46 ; WX 250 ; N period ; B 41 -13 210 156 ;
+C 47 ; WX 278 ; N slash ; B -24 -19 302 691 ;
+C 48 ; WX 500 ; N zero ; B 24 -13 476 688 ;
+C 49 ; WX 500 ; N one ; B 65 0 442 688 ;
+C 50 ; WX 500 ; N two ; B 17 0 478 688 ;
+C 51 ; WX 500 ; N three ; B 16 -14 468 688 ;
+C 52 ; WX 500 ; N four ; B 19 0 475 688 ;
+C 53 ; WX 500 ; N five ; B 22 -8 470 676 ;
+C 54 ; WX 500 ; N six ; B 28 -13 475 688 ;
+C 55 ; WX 500 ; N seven ; B 17 0 477 676 ;
+C 56 ; WX 500 ; N eight ; B 28 -13 472 688 ;
+C 57 ; WX 500 ; N nine ; B 26 -13 473 688 ;
+C 58 ; WX 333 ; N colon ; B 82 -13 251 472 ;
+C 59 ; WX 333 ; N semicolon ; B 82 -180 266 472 ;
+C 60 ; WX 570 ; N less ; B 31 -8 539 514 ;
+C 61 ; WX 570 ; N equal ; B 33 107 537 399 ;
+C 62 ; WX 570 ; N greater ; B 31 -8 539 514 ;
+C 63 ; WX 500 ; N question ; B 57 -13 445 689 ;
+C 64 ; WX 930 ; N at ; B 108 -19 822 691 ;
+C 65 ; WX 722 ; N A ; B 9 0 689 690 ;
+C 66 ; WX 667 ; N B ; B 16 0 619 676 ;
+C 67 ; WX 722 ; N C ; B 49 -19 687 691 ;
+C 68 ; WX 722 ; N D ; B 14 0 690 676 ;
+C 69 ; WX 667 ; N E ; B 16 0 641 676 ;
+C 70 ; WX 611 ; N F ; B 16 0 583 676 ;
+C 71 ; WX 778 ; N G ; B 37 -19 755 691 ;
+C 72 ; WX 778 ; N H ; B 21 0 759 676 ;
+C 73 ; WX 389 ; N I ; B 20 0 370 676 ;
+C 74 ; WX 500 ; N J ; B 3 -96 479 676 ;
+C 75 ; WX 778 ; N K ; B 30 0 769 676 ;
+C 76 ; WX 667 ; N L ; B 19 0 638 676 ;
+C 77 ; WX 944 ; N M ; B 14 0 921 676 ;
+C 78 ; WX 722 ; N N ; B 16 -18 701 676 ;
+C 79 ; WX 778 ; N O ; B 35 -19 743 691 ;
+C 80 ; WX 611 ; N P ; B 16 0 600 676 ;
+C 81 ; WX 778 ; N Q ; B 35 -176 743 691 ;
+C 82 ; WX 722 ; N R ; B 26 0 715 676 ;
+C 83 ; WX 556 ; N S ; B 35 -19 513 692 ;
+C 84 ; WX 667 ; N T ; B 31 0 636 676 ;
+C 85 ; WX 722 ; N U ; B 16 -19 701 676 ;
+C 86 ; WX 722 ; N V ; B 16 -18 701 676 ;
+C 87 ; WX 1000 ; N W ; B 19 -15 981 676 ;
+C 88 ; WX 722 ; N X ; B 16 0 699 676 ;
+C 89 ; WX 722 ; N Y ; B 15 0 699 676 ;
+C 90 ; WX 667 ; N Z ; B 28 0 634 676 ;
+C 91 ; WX 333 ; N bracketleft ; B 67 -149 301 678 ;
+C 92 ; WX 278 ; N backslash ; B -25 -19 303 691 ;
+C 93 ; WX 333 ; N bracketright ; B 32 -149 266 678 ;
+C 94 ; WX 581 ; N asciicircum ; B 73 311 509 676 ;
+C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ;
+C 96 ; WX 333 ; N quoteleft ; B 70 356 254 691 ;
+C 97 ; WX 500 ; N a ; B 25 -14 488 473 ;
+C 98 ; WX 556 ; N b ; B 17 -14 521 676 ;
+C 99 ; WX 444 ; N c ; B 25 -14 430 473 ;
+C 100 ; WX 556 ; N d ; B 25 -14 534 676 ;
+C 101 ; WX 444 ; N e ; B 25 -14 426 473 ;
+C 102 ; WX 333 ; N f ; B 14 0 389 691 ; L i fi ; L l fl ;
+C 103 ; WX 500 ; N g ; B 28 -206 483 473 ;
+C 104 ; WX 556 ; N h ; B 16 0 534 676 ;
+C 105 ; WX 278 ; N i ; B 16 0 255 691 ;
+C 106 ; WX 333 ; N j ; B -57 -203 263 691 ;
+C 107 ; WX 556 ; N k ; B 22 0 543 676 ;
+C 108 ; WX 278 ; N l ; B 16 0 255 676 ;
+C 109 ; WX 833 ; N m ; B 16 0 814 473 ;
+C 110 ; WX 556 ; N n ; B 21 0 539 473 ;
+C 111 ; WX 500 ; N o ; B 25 -14 476 473 ;
+C 112 ; WX 556 ; N p ; B 19 -205 524 473 ;
+C 113 ; WX 556 ; N q ; B 34 -205 536 473 ;
+C 114 ; WX 444 ; N r ; B 29 0 434 473 ;
+C 115 ; WX 389 ; N s ; B 25 -14 361 473 ;
+C 116 ; WX 333 ; N t ; B 20 -12 332 630 ;
+C 117 ; WX 556 ; N u ; B 16 -14 537 461 ;
+C 118 ; WX 500 ; N v ; B 21 -14 485 461 ;
+C 119 ; WX 722 ; N w ; B 23 -14 707 461 ;
+C 120 ; WX 500 ; N x ; B 12 0 484 461 ;
+C 121 ; WX 500 ; N y ; B 16 -205 480 461 ;
+C 122 ; WX 444 ; N z ; B 21 0 420 461 ;
+C 123 ; WX 394 ; N braceleft ; B 22 -175 340 698 ;
+C 124 ; WX 220 ; N bar ; B 66 -218 154 782 ;
+C 125 ; WX 394 ; N braceright ; B 54 -175 372 698 ;
+C 126 ; WX 520 ; N asciitilde ; B 29 173 491 333 ;
+C 161 ; WX 333 ; N exclamdown ; B 82 -203 252 501 ;
+C 162 ; WX 500 ; N cent ; B 53 -140 458 588 ;
+C 163 ; WX 500 ; N sterling ; B 21 -14 477 684 ;
+C 164 ; WX 167 ; N fraction ; B -168 -12 329 688 ;
+C 165 ; WX 500 ; N yen ; B -64 0 547 676 ;
+C 166 ; WX 500 ; N florin ; B 0 -155 498 706 ;
+C 167 ; WX 500 ; N section ; B 57 -132 443 691 ;
+C 168 ; WX 500 ; N currency ; B -26 61 526 613 ;
+C 169 ; WX 278 ; N quotesingle ; B 75 404 204 691 ;
+C 170 ; WX 500 ; N quotedblleft ; B 32 356 486 691 ;
+C 171 ; WX 500 ; N guillemotleft ; B 23 36 473 415 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 51 36 305 415 ;
+C 173 ; WX 333 ; N guilsinglright ; B 28 36 282 415 ;
+C 174 ; WX 556 ; N fi ; B 14 0 536 691 ;
+C 175 ; WX 556 ; N fl ; B 14 0 536 691 ;
+C 177 ; WX 500 ; N endash ; B 0 181 500 271 ;
+C 178 ; WX 500 ; N dagger ; B 47 -134 453 691 ;
+C 179 ; WX 500 ; N daggerdbl ; B 45 -132 456 691 ;
+C 180 ; WX 250 ; N periodcentered ; B 41 248 210 417 ;
+C 182 ; WX 540 ; N paragraph ; B 0 -186 519 676 ;
+C 183 ; WX 350 ; N bullet ; B 35 198 315 478 ;
+C 184 ; WX 333 ; N quotesinglbase ; B 79 -180 263 155 ;
+C 185 ; WX 500 ; N quotedblbase ; B 14 -180 468 155 ;
+C 186 ; WX 500 ; N quotedblright ; B 14 356 468 691 ;
+C 187 ; WX 500 ; N guillemotright ; B 27 36 477 415 ;
+C 188 ; WX 1000 ; N ellipsis ; B 82 -13 917 156 ;
+C 189 ; WX 1000 ; N perthousand ; B 7 -29 995 706 ;
+C 191 ; WX 500 ; N questiondown ; B 55 -201 443 501 ;
+C 193 ; WX 333 ; N grave ; B 8 528 246 713 ;
+C 194 ; WX 333 ; N acute ; B 86 528 324 713 ;
+C 195 ; WX 333 ; N circumflex ; B -2 528 335 704 ;
+C 196 ; WX 333 ; N tilde ; B -16 547 349 674 ;
+C 197 ; WX 333 ; N macron ; B 1 565 331 637 ;
+C 198 ; WX 333 ; N breve ; B 15 528 318 691 ;
+C 199 ; WX 333 ; N dotaccent ; B 103 536 258 691 ;
+C 200 ; WX 333 ; N dieresis ; B -2 537 335 667 ;
+C 202 ; WX 333 ; N ring ; B 60 527 273 740 ;
+C 203 ; WX 333 ; N cedilla ; B 68 -218 294 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B -13 528 425 713 ;
+C 206 ; WX 333 ; N ogonek ; B 90 -193 319 24 ;
+C 207 ; WX 333 ; N caron ; B -2 528 335 704 ;
+C 208 ; WX 1000 ; N emdash ; B 0 181 1000 271 ;
+C 225 ; WX 1000 ; N AE ; B 4 0 951 676 ;
+C 227 ; WX 300 ; N ordfeminine ; B -1 397 301 688 ;
+C 232 ; WX 667 ; N Lslash ; B 19 0 638 676 ;
+C 233 ; WX 778 ; N Oslash ; B 35 -74 743 737 ;
+C 234 ; WX 1000 ; N OE ; B 22 -5 981 684 ;
+C 235 ; WX 330 ; N ordmasculine ; B 18 397 312 688 ;
+C 241 ; WX 722 ; N ae ; B 33 -14 693 473 ;
+C 245 ; WX 278 ; N dotlessi ; B 16 0 255 461 ;
+C 248 ; WX 278 ; N lslash ; B -22 0 303 676 ;
+C 249 ; WX 500 ; N oslash ; B 25 -92 476 549 ;
+C 250 ; WX 722 ; N oe ; B 22 -14 696 473 ;
+C 251 ; WX 556 ; N germandbls ; B 19 -12 517 691 ;
+C -1 ; WX 389 ; N Idieresis ; B 20 0 370 877 ;
+C -1 ; WX 444 ; N eacute ; B 25 -14 426 713 ;
+C -1 ; WX 722 ; N Ydieresis ; B 15 0 699 877 ;
+C -1 ; WX 570 ; N divide ; B 33 -31 537 537 ;
+C -1 ; WX 722 ; N Yacute ; B 15 0 699 923 ;
+C -1 ; WX 722 ; N Acircumflex ; B 9 0 689 914 ;
+C -1 ; WX 500 ; N aacute ; B 25 -14 488 713 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 16 -19 701 914 ;
+C -1 ; WX 500 ; N yacute ; B 16 -205 480 713 ;
+C -1 ; WX 444 ; N ecircumflex ; B 25 -14 426 704 ;
+C -1 ; WX 722 ; N Udieresis ; B 16 -19 701 877 ;
+C -1 ; WX 722 ; N Uacute ; B 16 -19 701 923 ;
+C -1 ; WX 667 ; N Edieresis ; B 16 0 641 877 ;
+C -1 ; WX 747 ; N copyright ; B 26 -19 721 691 ;
+C -1 ; WX 500 ; N aring ; B 25 -14 488 740 ;
+C -1 ; WX 500 ; N agrave ; B 25 -14 488 713 ;
+C -1 ; WX 500 ; N atilde ; B 25 -14 488 674 ;
+C -1 ; WX 389 ; N scaron ; B 25 -14 363 704 ;
+C -1 ; WX 278 ; N iacute ; B 16 0 289 713 ;
+C -1 ; WX 556 ; N ucircumflex ; B 16 -14 537 704 ;
+C -1 ; WX 500 ; N acircumflex ; B 25 -14 488 704 ;
+C -1 ; WX 444 ; N ccedilla ; B 25 -218 430 473 ;
+C -1 ; WX 611 ; N Thorn ; B 16 0 600 676 ;
+C -1 ; WX 300 ; N threesuperior ; B 3 268 297 688 ;
+C -1 ; WX 778 ; N Ograve ; B 35 -19 743 923 ;
+C -1 ; WX 722 ; N Agrave ; B 9 0 689 923 ;
+C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ;
+C -1 ; WX 556 ; N uacute ; B 16 -14 537 713 ;
+C -1 ; WX 500 ; N ydieresis ; B 16 -205 480 667 ;
+C -1 ; WX 278 ; N icircumflex ; B -37 0 300 704 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 16 0 641 914 ;
+C -1 ; WX 500 ; N adieresis ; B 25 -14 488 667 ;
+C -1 ; WX 444 ; N edieresis ; B 25 -14 426 667 ;
+C -1 ; WX 389 ; N Iacute ; B 20 0 370 923 ;
+C -1 ; WX 570 ; N plusminus ; B 33 0 537 506 ;
+C -1 ; WX 220 ; N brokenbar ; B 66 -143 154 707 ;
+C -1 ; WX 747 ; N registered ; B 26 -19 721 691 ;
+C -1 ; WX 667 ; N Egrave ; B 16 0 641 923 ;
+C -1 ; WX 667 ; N Zcaron ; B 28 0 634 914 ;
+C -1 ; WX 722 ; N Eth ; B 6 0 690 676 ;
+C -1 ; WX 722 ; N Ccedilla ; B 49 -218 687 691 ;
+C -1 ; WX 722 ; N Aacute ; B 9 0 689 923 ;
+C -1 ; WX 722 ; N Adieresis ; B 9 0 689 877 ;
+C -1 ; WX 444 ; N egrave ; B 25 -14 426 713 ;
+C -1 ; WX 778 ; N Oacute ; B 35 -19 743 923 ;
+C -1 ; WX 500 ; N oacute ; B 25 -14 476 713 ;
+C -1 ; WX 278 ; N idieresis ; B -37 0 300 667 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 35 -19 743 914 ;
+C -1 ; WX 722 ; N Ugrave ; B 16 -19 701 923 ;
+C -1 ; WX 556 ; N thorn ; B 19 -205 524 676 ;
+C -1 ; WX 300 ; N twosuperior ; B 0 275 300 688 ;
+C -1 ; WX 778 ; N Odieresis ; B 35 -19 743 877 ;
+C -1 ; WX 556 ; N mu ; B 33 -206 536 461 ;
+C -1 ; WX 278 ; N igrave ; B -27 0 255 713 ;
+C -1 ; WX 750 ; N threequarters ; B 23 -12 733 688 ;
+C -1 ; WX 1000 ; N trademark ; B 24 271 977 676 ;
+C -1 ; WX 389 ; N Igrave ; B 20 0 370 923 ;
+C -1 ; WX 750 ; N onehalf ; B -7 -12 775 688 ;
+C -1 ; WX 500 ; N ocircumflex ; B 25 -14 476 704 ;
+C -1 ; WX 556 ; N ntilde ; B 21 0 539 674 ;
+C -1 ; WX 667 ; N Eacute ; B 16 0 641 923 ;
+C -1 ; WX 750 ; N onequarter ; B 28 -12 743 688 ;
+C -1 ; WX 556 ; N Scaron ; B 35 -19 513 914 ;
+C -1 ; WX 400 ; N degree ; B 57 402 343 688 ;
+C -1 ; WX 500 ; N ograve ; B 25 -14 476 713 ;
+C -1 ; WX 556 ; N ugrave ; B 16 -14 537 713 ;
+C -1 ; WX 722 ; N Ntilde ; B 16 -18 701 884 ;
+C -1 ; WX 500 ; N otilde ; B 25 -14 476 674 ;
+C -1 ; WX 722 ; N Atilde ; B 9 0 689 884 ;
+C -1 ; WX 722 ; N Aring ; B 9 0 689 935 ;
+C -1 ; WX 778 ; N Otilde ; B 35 -19 743 884 ;
+C -1 ; WX 570 ; N minus ; B 33 209 537 297 ;
+C -1 ; WX 389 ; N Icircumflex ; B 20 0 370 914 ;
+C -1 ; WX 570 ; N logicalnot ; B 33 108 537 399 ;
+C -1 ; WX 500 ; N odieresis ; B 25 -14 476 667 ;
+C -1 ; WX 556 ; N udieresis ; B 16 -14 537 667 ;
+C -1 ; WX 500 ; N eth ; B 25 -14 476 691 ;
+C -1 ; WX 444 ; N zcaron ; B 21 0 420 704 ;
+C -1 ; WX 300 ; N onesuperior ; B 28 275 273 688 ;
+C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1071
+KPX A C -55
+KPX A Ccedilla -55
+KPX A G -55
+KPX A O -45
+KPX A Oacute -45
+KPX A Ocircumflex -45
+KPX A Odieresis -45
+KPX A Ograve -45
+KPX A Oslash -45
+KPX A Otilde -45
+KPX A Q -45
+KPX A T -95
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -145
+KPX A W -130
+KPX A Y -100
+KPX A Yacute -100
+KPX A Ydieresis -100
+KPX A p -25
+KPX A quoteright -74
+KPX A u -50
+KPX A uacute -50
+KPX A ucircumflex -50
+KPX A udieresis -50
+KPX A ugrave -50
+KPX A v -100
+KPX A w -90
+KPX A y -74
+KPX A yacute -74
+KPX A ydieresis -74
+KPX Aacute C -55
+KPX Aacute Ccedilla -55
+KPX Aacute G -55
+KPX Aacute O -45
+KPX Aacute Oacute -45
+KPX Aacute Ocircumflex -45
+KPX Aacute Odieresis -45
+KPX Aacute Ograve -45
+KPX Aacute Oslash -45
+KPX Aacute Otilde -45
+KPX Aacute Q -45
+KPX Aacute T -95
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -145
+KPX Aacute W -130
+KPX Aacute Y -100
+KPX Aacute Yacute -100
+KPX Aacute Ydieresis -100
+KPX Aacute p -25
+KPX Aacute quoteright -74
+KPX Aacute u -50
+KPX Aacute uacute -50
+KPX Aacute ucircumflex -50
+KPX Aacute udieresis -50
+KPX Aacute ugrave -50
+KPX Aacute v -100
+KPX Aacute w -90
+KPX Aacute y -74
+KPX Aacute yacute -74
+KPX Aacute ydieresis -74
+KPX Acircumflex C -55
+KPX Acircumflex Ccedilla -55
+KPX Acircumflex G -55
+KPX Acircumflex O -45
+KPX Acircumflex Oacute -45
+KPX Acircumflex Ocircumflex -45
+KPX Acircumflex Odieresis -45
+KPX Acircumflex Ograve -45
+KPX Acircumflex Oslash -45
+KPX Acircumflex Otilde -45
+KPX Acircumflex Q -45
+KPX Acircumflex T -95
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -145
+KPX Acircumflex W -130
+KPX Acircumflex Y -100
+KPX Acircumflex Yacute -100
+KPX Acircumflex Ydieresis -100
+KPX Acircumflex p -25
+KPX Acircumflex quoteright -74
+KPX Acircumflex u -50
+KPX Acircumflex uacute -50
+KPX Acircumflex ucircumflex -50
+KPX Acircumflex udieresis -50
+KPX Acircumflex ugrave -50
+KPX Acircumflex v -100
+KPX Acircumflex w -90
+KPX Acircumflex y -74
+KPX Acircumflex yacute -74
+KPX Acircumflex ydieresis -74
+KPX Adieresis C -55
+KPX Adieresis Ccedilla -55
+KPX Adieresis G -55
+KPX Adieresis O -45
+KPX Adieresis Oacute -45
+KPX Adieresis Ocircumflex -45
+KPX Adieresis Odieresis -45
+KPX Adieresis Ograve -45
+KPX Adieresis Oslash -45
+KPX Adieresis Otilde -45
+KPX Adieresis Q -45
+KPX Adieresis T -95
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -145
+KPX Adieresis W -130
+KPX Adieresis Y -100
+KPX Adieresis Yacute -100
+KPX Adieresis Ydieresis -100
+KPX Adieresis p -25
+KPX Adieresis quoteright -74
+KPX Adieresis u -50
+KPX Adieresis uacute -50
+KPX Adieresis ucircumflex -50
+KPX Adieresis udieresis -50
+KPX Adieresis ugrave -50
+KPX Adieresis v -100
+KPX Adieresis w -90
+KPX Adieresis y -74
+KPX Adieresis yacute -74
+KPX Adieresis ydieresis -74
+KPX Agrave C -55
+KPX Agrave Ccedilla -55
+KPX Agrave G -55
+KPX Agrave O -45
+KPX Agrave Oacute -45
+KPX Agrave Ocircumflex -45
+KPX Agrave Odieresis -45
+KPX Agrave Ograve -45
+KPX Agrave Oslash -45
+KPX Agrave Otilde -45
+KPX Agrave Q -45
+KPX Agrave T -95
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -145
+KPX Agrave W -130
+KPX Agrave Y -100
+KPX Agrave Yacute -100
+KPX Agrave Ydieresis -100
+KPX Agrave p -25
+KPX Agrave quoteright -74
+KPX Agrave u -50
+KPX Agrave uacute -50
+KPX Agrave ucircumflex -50
+KPX Agrave udieresis -50
+KPX Agrave ugrave -50
+KPX Agrave v -100
+KPX Agrave w -90
+KPX Agrave y -74
+KPX Agrave yacute -74
+KPX Agrave ydieresis -74
+KPX Aring C -55
+KPX Aring Ccedilla -55
+KPX Aring G -55
+KPX Aring O -45
+KPX Aring Oacute -45
+KPX Aring Ocircumflex -45
+KPX Aring Odieresis -45
+KPX Aring Ograve -45
+KPX Aring Oslash -45
+KPX Aring Otilde -45
+KPX Aring Q -45
+KPX Aring T -95
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -145
+KPX Aring W -130
+KPX Aring Y -100
+KPX Aring Yacute -100
+KPX Aring Ydieresis -100
+KPX Aring p -25
+KPX Aring quoteright -74
+KPX Aring u -50
+KPX Aring uacute -50
+KPX Aring ucircumflex -50
+KPX Aring udieresis -50
+KPX Aring ugrave -50
+KPX Aring v -100
+KPX Aring w -90
+KPX Aring y -74
+KPX Aring yacute -74
+KPX Aring ydieresis -74
+KPX Atilde C -55
+KPX Atilde Ccedilla -55
+KPX Atilde G -55
+KPX Atilde O -45
+KPX Atilde Oacute -45
+KPX Atilde Ocircumflex -45
+KPX Atilde Odieresis -45
+KPX Atilde Ograve -45
+KPX Atilde Oslash -45
+KPX Atilde Otilde -45
+KPX Atilde Q -45
+KPX Atilde T -95
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -145
+KPX Atilde W -130
+KPX Atilde Y -100
+KPX Atilde Yacute -100
+KPX Atilde Ydieresis -100
+KPX Atilde p -25
+KPX Atilde quoteright -74
+KPX Atilde u -50
+KPX Atilde uacute -50
+KPX Atilde ucircumflex -50
+KPX Atilde udieresis -50
+KPX Atilde ugrave -50
+KPX Atilde v -100
+KPX Atilde w -90
+KPX Atilde y -74
+KPX Atilde yacute -74
+KPX Atilde ydieresis -74
+KPX B A -30
+KPX B Aacute -30
+KPX B Acircumflex -30
+KPX B Adieresis -30
+KPX B Agrave -30
+KPX B Aring -30
+KPX B Atilde -30
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -35
+KPX D Aacute -35
+KPX D Acircumflex -35
+KPX D Adieresis -35
+KPX D Agrave -35
+KPX D Aring -35
+KPX D Atilde -35
+KPX D V -40
+KPX D W -40
+KPX D Y -40
+KPX D Yacute -40
+KPX D Ydieresis -40
+KPX D period -20
+KPX F A -90
+KPX F Aacute -90
+KPX F Acircumflex -90
+KPX F Adieresis -90
+KPX F Agrave -90
+KPX F Aring -90
+KPX F Atilde -90
+KPX F a -25
+KPX F aacute -25
+KPX F acircumflex -25
+KPX F adieresis -25
+KPX F agrave -25
+KPX F aring -25
+KPX F atilde -25
+KPX F comma -92
+KPX F e -25
+KPX F eacute -25
+KPX F ecircumflex -25
+KPX F edieresis -25
+KPX F egrave -25
+KPX F o -25
+KPX F oacute -25
+KPX F ocircumflex -25
+KPX F odieresis -25
+KPX F ograve -25
+KPX F oslash -25
+KPX F otilde -25
+KPX F period -110
+KPX J A -30
+KPX J Aacute -30
+KPX J Acircumflex -30
+KPX J Adieresis -30
+KPX J Agrave -30
+KPX J Aring -30
+KPX J Atilde -30
+KPX J a -15
+KPX J aacute -15
+KPX J acircumflex -15
+KPX J adieresis -15
+KPX J agrave -15
+KPX J aring -15
+KPX J atilde -15
+KPX J e -15
+KPX J eacute -15
+KPX J ecircumflex -15
+KPX J edieresis -15
+KPX J egrave -15
+KPX J o -15
+KPX J oacute -15
+KPX J ocircumflex -15
+KPX J odieresis -15
+KPX J ograve -15
+KPX J oslash -15
+KPX J otilde -15
+KPX J period -20
+KPX J u -15
+KPX J uacute -15
+KPX J ucircumflex -15
+KPX J udieresis -15
+KPX J ugrave -15
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -25
+KPX K eacute -25
+KPX K ecircumflex -25
+KPX K edieresis -25
+KPX K egrave -25
+KPX K o -25
+KPX K oacute -25
+KPX K ocircumflex -25
+KPX K odieresis -25
+KPX K ograve -25
+KPX K oslash -25
+KPX K otilde -25
+KPX K u -15
+KPX K uacute -15
+KPX K ucircumflex -15
+KPX K udieresis -15
+KPX K ugrave -15
+KPX K y -45
+KPX K yacute -45
+KPX K ydieresis -45
+KPX L T -92
+KPX L V -92
+KPX L W -92
+KPX L Y -92
+KPX L Yacute -92
+KPX L Ydieresis -92
+KPX L quotedblright -20
+KPX L quoteright -110
+KPX L y -55
+KPX L yacute -55
+KPX L ydieresis -55
+KPX Lslash T -92
+KPX Lslash V -92
+KPX Lslash W -92
+KPX Lslash Y -92
+KPX Lslash Yacute -92
+KPX Lslash Ydieresis -92
+KPX Lslash quotedblright -20
+KPX Lslash quoteright -110
+KPX Lslash y -55
+KPX Lslash yacute -55
+KPX Lslash ydieresis -55
+KPX N A -20
+KPX N Aacute -20
+KPX N Acircumflex -20
+KPX N Adieresis -20
+KPX N Agrave -20
+KPX N Aring -20
+KPX N Atilde -20
+KPX Ntilde A -20
+KPX Ntilde Aacute -20
+KPX Ntilde Acircumflex -20
+KPX Ntilde Adieresis -20
+KPX Ntilde Agrave -20
+KPX Ntilde Aring -20
+KPX Ntilde Atilde -20
+KPX O A -40
+KPX O Aacute -40
+KPX O Acircumflex -40
+KPX O Adieresis -40
+KPX O Agrave -40
+KPX O Aring -40
+KPX O Atilde -40
+KPX O T -40
+KPX O V -50
+KPX O W -50
+KPX O X -40
+KPX O Y -50
+KPX O Yacute -50
+KPX O Ydieresis -50
+KPX Oacute A -40
+KPX Oacute Aacute -40
+KPX Oacute Acircumflex -40
+KPX Oacute Adieresis -40
+KPX Oacute Agrave -40
+KPX Oacute Aring -40
+KPX Oacute Atilde -40
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -40
+KPX Oacute Y -50
+KPX Oacute Yacute -50
+KPX Oacute Ydieresis -50
+KPX Ocircumflex A -40
+KPX Ocircumflex Aacute -40
+KPX Ocircumflex Acircumflex -40
+KPX Ocircumflex Adieresis -40
+KPX Ocircumflex Agrave -40
+KPX Ocircumflex Aring -40
+KPX Ocircumflex Atilde -40
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -40
+KPX Ocircumflex Y -50
+KPX Ocircumflex Yacute -50
+KPX Ocircumflex Ydieresis -50
+KPX Odieresis A -40
+KPX Odieresis Aacute -40
+KPX Odieresis Acircumflex -40
+KPX Odieresis Adieresis -40
+KPX Odieresis Agrave -40
+KPX Odieresis Aring -40
+KPX Odieresis Atilde -40
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -40
+KPX Odieresis Y -50
+KPX Odieresis Yacute -50
+KPX Odieresis Ydieresis -50
+KPX Ograve A -40
+KPX Ograve Aacute -40
+KPX Ograve Acircumflex -40
+KPX Ograve Adieresis -40
+KPX Ograve Agrave -40
+KPX Ograve Aring -40
+KPX Ograve Atilde -40
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -40
+KPX Ograve Y -50
+KPX Ograve Yacute -50
+KPX Ograve Ydieresis -50
+KPX Oslash A -40
+KPX Oslash Aacute -40
+KPX Oslash Acircumflex -40
+KPX Oslash Adieresis -40
+KPX Oslash Agrave -40
+KPX Oslash Aring -40
+KPX Oslash Atilde -40
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -40
+KPX Oslash Y -50
+KPX Oslash Yacute -50
+KPX Oslash Ydieresis -50
+KPX Otilde A -40
+KPX Otilde Aacute -40
+KPX Otilde Acircumflex -40
+KPX Otilde Adieresis -40
+KPX Otilde Agrave -40
+KPX Otilde Aring -40
+KPX Otilde Atilde -40
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -40
+KPX Otilde Y -50
+KPX Otilde Yacute -50
+KPX Otilde Ydieresis -50
+KPX P A -74
+KPX P Aacute -74
+KPX P Acircumflex -74
+KPX P Adieresis -74
+KPX P Agrave -74
+KPX P Aring -74
+KPX P Atilde -74
+KPX P a -10
+KPX P aacute -10
+KPX P acircumflex -10
+KPX P adieresis -10
+KPX P agrave -10
+KPX P aring -10
+KPX P atilde -10
+KPX P comma -92
+KPX P e -20
+KPX P eacute -20
+KPX P ecircumflex -20
+KPX P edieresis -20
+KPX P egrave -20
+KPX P o -20
+KPX P oacute -20
+KPX P ocircumflex -20
+KPX P odieresis -20
+KPX P ograve -20
+KPX P oslash -20
+KPX P otilde -20
+KPX P period -110
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q period -20
+KPX R O -30
+KPX R Oacute -30
+KPX R Ocircumflex -30
+KPX R Odieresis -30
+KPX R Ograve -30
+KPX R Oslash -30
+KPX R Otilde -30
+KPX R T -40
+KPX R U -30
+KPX R Uacute -30
+KPX R Ucircumflex -30
+KPX R Udieresis -30
+KPX R Ugrave -30
+KPX R V -55
+KPX R W -35
+KPX R Y -35
+KPX R Yacute -35
+KPX R Ydieresis -35
+KPX T A -90
+KPX T Aacute -90
+KPX T Acircumflex -90
+KPX T Adieresis -90
+KPX T Agrave -90
+KPX T Aring -90
+KPX T Atilde -90
+KPX T O -18
+KPX T Oacute -18
+KPX T Ocircumflex -18
+KPX T Odieresis -18
+KPX T Ograve -18
+KPX T Oslash -18
+KPX T Otilde -18
+KPX T a -92
+KPX T aacute -92
+KPX T acircumflex -52
+KPX T adieresis -52
+KPX T agrave -52
+KPX T aring -92
+KPX T atilde -52
+KPX T colon -74
+KPX T comma -74
+KPX T e -92
+KPX T eacute -92
+KPX T ecircumflex -92
+KPX T edieresis -52
+KPX T egrave -52
+KPX T hyphen -92
+KPX T i -18
+KPX T iacute -18
+KPX T o -92
+KPX T oacute -92
+KPX T ocircumflex -92
+KPX T odieresis -92
+KPX T ograve -92
+KPX T oslash -92
+KPX T otilde -92
+KPX T period -90
+KPX T r -74
+KPX T semicolon -74
+KPX T u -92
+KPX T uacute -92
+KPX T ucircumflex -92
+KPX T udieresis -92
+KPX T ugrave -92
+KPX T w -74
+KPX T y -34
+KPX T yacute -34
+KPX T ydieresis -34
+KPX U A -60
+KPX U Aacute -60
+KPX U Acircumflex -60
+KPX U Adieresis -60
+KPX U Agrave -60
+KPX U Aring -60
+KPX U Atilde -60
+KPX U comma -50
+KPX U period -50
+KPX Uacute A -60
+KPX Uacute Aacute -60
+KPX Uacute Acircumflex -60
+KPX Uacute Adieresis -60
+KPX Uacute Agrave -60
+KPX Uacute Aring -60
+KPX Uacute Atilde -60
+KPX Uacute comma -50
+KPX Uacute period -50
+KPX Ucircumflex A -60
+KPX Ucircumflex Aacute -60
+KPX Ucircumflex Acircumflex -60
+KPX Ucircumflex Adieresis -60
+KPX Ucircumflex Agrave -60
+KPX Ucircumflex Aring -60
+KPX Ucircumflex Atilde -60
+KPX Ucircumflex comma -50
+KPX Ucircumflex period -50
+KPX Udieresis A -60
+KPX Udieresis Aacute -60
+KPX Udieresis Acircumflex -60
+KPX Udieresis Adieresis -60
+KPX Udieresis Agrave -60
+KPX Udieresis Aring -60
+KPX Udieresis Atilde -60
+KPX Udieresis comma -50
+KPX Udieresis period -50
+KPX Ugrave A -60
+KPX Ugrave Aacute -60
+KPX Ugrave Acircumflex -60
+KPX Ugrave Adieresis -60
+KPX Ugrave Agrave -60
+KPX Ugrave Aring -60
+KPX Ugrave Atilde -60
+KPX Ugrave comma -50
+KPX Ugrave period -50
+KPX V A -135
+KPX V Aacute -135
+KPX V Acircumflex -135
+KPX V Adieresis -135
+KPX V Agrave -135
+KPX V Aring -135
+KPX V Atilde -135
+KPX V G -30
+KPX V O -45
+KPX V Oacute -45
+KPX V Ocircumflex -45
+KPX V Odieresis -45
+KPX V Ograve -45
+KPX V Oslash -45
+KPX V Otilde -45
+KPX V a -92
+KPX V aacute -92
+KPX V acircumflex -92
+KPX V adieresis -92
+KPX V agrave -92
+KPX V aring -92
+KPX V atilde -92
+KPX V colon -92
+KPX V comma -129
+KPX V e -100
+KPX V eacute -100
+KPX V ecircumflex -100
+KPX V edieresis -100
+KPX V egrave -100
+KPX V hyphen -74
+KPX V i -37
+KPX V iacute -37
+KPX V icircumflex -37
+KPX V idieresis -37
+KPX V igrave -37
+KPX V o -100
+KPX V oacute -100
+KPX V ocircumflex -100
+KPX V odieresis -100
+KPX V ograve -100
+KPX V oslash -100
+KPX V otilde -100
+KPX V period -145
+KPX V semicolon -92
+KPX V u -92
+KPX V uacute -92
+KPX V ucircumflex -92
+KPX V udieresis -92
+KPX V ugrave -92
+KPX W A -120
+KPX W Aacute -120
+KPX W Acircumflex -120
+KPX W Adieresis -120
+KPX W Agrave -120
+KPX W Aring -120
+KPX W Atilde -120
+KPX W O -10
+KPX W Oacute -10
+KPX W Ocircumflex -10
+KPX W Odieresis -10
+KPX W Ograve -10
+KPX W Oslash -10
+KPX W Otilde -10
+KPX W a -65
+KPX W aacute -65
+KPX W acircumflex -65
+KPX W adieresis -65
+KPX W agrave -65
+KPX W aring -65
+KPX W atilde -65
+KPX W colon -55
+KPX W comma -92
+KPX W e -65
+KPX W eacute -65
+KPX W ecircumflex -65
+KPX W edieresis -65
+KPX W egrave -65
+KPX W hyphen -37
+KPX W i -18
+KPX W iacute -18
+KPX W o -75
+KPX W oacute -75
+KPX W ocircumflex -75
+KPX W odieresis -75
+KPX W ograve -75
+KPX W oslash -75
+KPX W otilde -75
+KPX W period -92
+KPX W semicolon -55
+KPX W u -50
+KPX W uacute -50
+KPX W ucircumflex -50
+KPX W udieresis -50
+KPX W ugrave -50
+KPX W y -60
+KPX W yacute -60
+KPX W ydieresis -60
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -35
+KPX Y Oacute -35
+KPX Y Ocircumflex -35
+KPX Y Odieresis -35
+KPX Y Ograve -35
+KPX Y Oslash -35
+KPX Y Otilde -35
+KPX Y a -85
+KPX Y aacute -85
+KPX Y acircumflex -85
+KPX Y adieresis -85
+KPX Y agrave -85
+KPX Y aring -85
+KPX Y atilde -85
+KPX Y colon -92
+KPX Y comma -92
+KPX Y e -111
+KPX Y eacute -111
+KPX Y ecircumflex -111
+KPX Y edieresis -71
+KPX Y egrave -71
+KPX Y hyphen -92
+KPX Y i -37
+KPX Y iacute -37
+KPX Y o -111
+KPX Y oacute -111
+KPX Y ocircumflex -111
+KPX Y odieresis -111
+KPX Y ograve -111
+KPX Y oslash -111
+KPX Y otilde -111
+KPX Y period -92
+KPX Y semicolon -92
+KPX Y u -92
+KPX Y uacute -92
+KPX Y ucircumflex -92
+KPX Y udieresis -92
+KPX Y ugrave -92
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -35
+KPX Yacute Oacute -35
+KPX Yacute Ocircumflex -35
+KPX Yacute Odieresis -35
+KPX Yacute Ograve -35
+KPX Yacute Oslash -35
+KPX Yacute Otilde -35
+KPX Yacute a -85
+KPX Yacute aacute -85
+KPX Yacute acircumflex -85
+KPX Yacute adieresis -85
+KPX Yacute agrave -85
+KPX Yacute aring -85
+KPX Yacute atilde -85
+KPX Yacute colon -92
+KPX Yacute comma -92
+KPX Yacute e -111
+KPX Yacute eacute -111
+KPX Yacute ecircumflex -111
+KPX Yacute edieresis -71
+KPX Yacute egrave -71
+KPX Yacute hyphen -92
+KPX Yacute i -37
+KPX Yacute iacute -37
+KPX Yacute o -111
+KPX Yacute oacute -111
+KPX Yacute ocircumflex -111
+KPX Yacute odieresis -111
+KPX Yacute ograve -111
+KPX Yacute oslash -111
+KPX Yacute otilde -111
+KPX Yacute period -92
+KPX Yacute semicolon -92
+KPX Yacute u -92
+KPX Yacute uacute -92
+KPX Yacute ucircumflex -92
+KPX Yacute udieresis -92
+KPX Yacute ugrave -92
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -35
+KPX Ydieresis Oacute -35
+KPX Ydieresis Ocircumflex -35
+KPX Ydieresis Odieresis -35
+KPX Ydieresis Ograve -35
+KPX Ydieresis Oslash -35
+KPX Ydieresis Otilde -35
+KPX Ydieresis a -85
+KPX Ydieresis aacute -85
+KPX Ydieresis acircumflex -85
+KPX Ydieresis adieresis -85
+KPX Ydieresis agrave -85
+KPX Ydieresis aring -85
+KPX Ydieresis atilde -85
+KPX Ydieresis colon -92
+KPX Ydieresis comma -92
+KPX Ydieresis e -111
+KPX Ydieresis eacute -111
+KPX Ydieresis ecircumflex -111
+KPX Ydieresis edieresis -71
+KPX Ydieresis egrave -71
+KPX Ydieresis hyphen -92
+KPX Ydieresis i -37
+KPX Ydieresis iacute -37
+KPX Ydieresis o -111
+KPX Ydieresis oacute -111
+KPX Ydieresis ocircumflex -111
+KPX Ydieresis odieresis -111
+KPX Ydieresis ograve -111
+KPX Ydieresis oslash -111
+KPX Ydieresis otilde -111
+KPX Ydieresis period -92
+KPX Ydieresis semicolon -92
+KPX Ydieresis u -92
+KPX Ydieresis uacute -92
+KPX Ydieresis ucircumflex -92
+KPX Ydieresis udieresis -92
+KPX Ydieresis ugrave -92
+KPX a v -25
+KPX aacute v -25
+KPX acircumflex v -25
+KPX adieresis v -25
+KPX agrave v -25
+KPX aring v -25
+KPX atilde v -25
+KPX b b -10
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -15
+KPX comma quotedblright -45
+KPX comma quoteright -55
+KPX d w -15
+KPX e v -15
+KPX eacute v -15
+KPX ecircumflex v -15
+KPX edieresis v -15
+KPX egrave v -15
+KPX f comma -15
+KPX f dotlessi -35
+KPX f i -25
+KPX f o -25
+KPX f oacute -25
+KPX f ocircumflex -25
+KPX f odieresis -25
+KPX f ograve -25
+KPX f oslash -25
+KPX f otilde -25
+KPX f period -15
+KPX f quotedblright 50
+KPX f quoteright 55
+KPX g period -15
+KPX h y -15
+KPX h yacute -15
+KPX h ydieresis -15
+KPX i v -10
+KPX iacute v -10
+KPX icircumflex v -10
+KPX idieresis v -10
+KPX igrave v -10
+KPX k e -10
+KPX k eacute -10
+KPX k ecircumflex -10
+KPX k edieresis -10
+KPX k egrave -10
+KPX k o -15
+KPX k oacute -15
+KPX k ocircumflex -15
+KPX k odieresis -15
+KPX k ograve -15
+KPX k oslash -15
+KPX k otilde -15
+KPX k y -15
+KPX k yacute -15
+KPX k ydieresis -15
+KPX n v -40
+KPX ntilde v -40
+KPX o v -10
+KPX o w -10
+KPX oacute v -10
+KPX oacute w -10
+KPX ocircumflex v -10
+KPX ocircumflex w -10
+KPX odieresis v -10
+KPX odieresis w -10
+KPX ograve v -10
+KPX ograve w -10
+KPX oslash v -10
+KPX oslash w -10
+KPX otilde v -10
+KPX otilde w -10
+KPX period quotedblright -55
+KPX period quoteright -55
+KPX quotedblleft A -10
+KPX quotedblleft Aacute -10
+KPX quotedblleft Acircumflex -10
+KPX quotedblleft Adieresis -10
+KPX quotedblleft Agrave -10
+KPX quotedblleft Aring -10
+KPX quotedblleft Atilde -10
+KPX quoteleft A -10
+KPX quoteleft Aacute -10
+KPX quoteleft Acircumflex -10
+KPX quoteleft Adieresis -10
+KPX quoteleft Agrave -10
+KPX quoteleft Aring -10
+KPX quoteleft Atilde -10
+KPX quoteleft quoteleft -63
+KPX quoteright d -20
+KPX quoteright quoteright -63
+KPX quoteright r -20
+KPX quoteright s -37
+KPX quoteright scaron -37
+KPX quoteright space -74
+KPX quoteright v -20
+KPX r c -18
+KPX r ccedilla -18
+KPX r comma -92
+KPX r e -18
+KPX r eacute -18
+KPX r ecircumflex -18
+KPX r edieresis -18
+KPX r egrave -18
+KPX r g -10
+KPX r hyphen -37
+KPX r n -15
+KPX r ntilde -15
+KPX r o -18
+KPX r oacute -18
+KPX r ocircumflex -18
+KPX r odieresis -18
+KPX r ograve -18
+KPX r oslash -18
+KPX r otilde -18
+KPX r p -10
+KPX r period -100
+KPX r q -18
+KPX r v -10
+KPX space A -55
+KPX space Aacute -55
+KPX space Acircumflex -55
+KPX space Adieresis -55
+KPX space Agrave -55
+KPX space Aring -55
+KPX space Atilde -55
+KPX space T -30
+KPX space V -45
+KPX space W -30
+KPX space Y -55
+KPX space Yacute -55
+KPX space Ydieresis -55
+KPX v a -10
+KPX v aacute -10
+KPX v acircumflex -10
+KPX v adieresis -10
+KPX v agrave -10
+KPX v aring -10
+KPX v atilde -10
+KPX v comma -55
+KPX v e -10
+KPX v eacute -10
+KPX v ecircumflex -10
+KPX v edieresis -10
+KPX v egrave -10
+KPX v o -10
+KPX v oacute -10
+KPX v ocircumflex -10
+KPX v odieresis -10
+KPX v ograve -10
+KPX v oslash -10
+KPX v otilde -10
+KPX v period -70
+KPX w comma -55
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -70
+KPX y comma -55
+KPX y e -10
+KPX y eacute -10
+KPX y ecircumflex -10
+KPX y edieresis -10
+KPX y egrave -10
+KPX y o -25
+KPX y oacute -25
+KPX y ocircumflex -25
+KPX y odieresis -25
+KPX y ograve -25
+KPX y oslash -25
+KPX y otilde -25
+KPX y period -70
+KPX yacute comma -55
+KPX yacute e -10
+KPX yacute eacute -10
+KPX yacute ecircumflex -10
+KPX yacute edieresis -10
+KPX yacute egrave -10
+KPX yacute o -25
+KPX yacute oacute -25
+KPX yacute ocircumflex -25
+KPX yacute odieresis -25
+KPX yacute ograve -25
+KPX yacute oslash -25
+KPX yacute otilde -25
+KPX yacute period -70
+KPX ydieresis comma -55
+KPX ydieresis e -10
+KPX ydieresis eacute -10
+KPX ydieresis ecircumflex -10
+KPX ydieresis edieresis -10
+KPX ydieresis egrave -10
+KPX ydieresis o -25
+KPX ydieresis oacute -25
+KPX ydieresis ocircumflex -25
+KPX ydieresis odieresis -25
+KPX ydieresis ograve -25
+KPX ydieresis oslash -25
+KPX ydieresis otilde -25
+KPX ydieresis period -70
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/BI b/troff/troff.d/font/devps/BI
new file mode 100644
index 0000000000000..3555c8584173c
--- /dev/null
+++ b/troff/troff.d/font/devps/BI
@@ -0,0 +1 @@
+name BI.afm
diff --git a/troff/troff.d/font/devps/BI.afm b/troff/troff.d/font/devps/BI.afm
new file mode 100644
index 0000000000000..67982723d8423
--- /dev/null
+++ b/troff/troff.d/font/devps/BI.afm
@@ -0,0 +1,1264 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 13:04:06 1997
+Comment UniqueID 43066
+Comment VMusage 45874 56899
+FontName Times-BoldItalic
+FullName Times Bold Italic
+FamilyName Times
+Weight Bold
+ItalicAngle -15
+IsFixedPitch false
+FontBBox -200 -218 996 921
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 669
+XHeight 462
+Ascender 683
+Descender -217
+StdHW 42
+StdVW 121
+StartCharMetrics 229
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 389 ; N exclam ; B 67 -13 370 684 ;
+C 34 ; WX 555 ; N quotedbl ; B 136 398 536 685 ;
+C 35 ; WX 500 ; N numbersign ; B -33 0 533 700 ;
+C 36 ; WX 500 ; N dollar ; B -20 -100 497 733 ;
+C 37 ; WX 833 ; N percent ; B 39 -10 793 692 ;
+C 38 ; WX 778 ; N ampersand ; B 5 -19 699 682 ;
+C 39 ; WX 333 ; N quoteright ; B 98 369 302 685 ;
+C 40 ; WX 333 ; N parenleft ; B 28 -179 344 685 ;
+C 41 ; WX 333 ; N parenright ; B -44 -179 271 685 ;
+C 42 ; WX 500 ; N asterisk ; B 65 249 456 685 ;
+C 43 ; WX 570 ; N plus ; B 33 0 537 506 ;
+C 44 ; WX 250 ; N comma ; B -60 -182 144 134 ;
+C 45 ; WX 333 ; N hyphen ; B 2 166 271 282 ;
+C 46 ; WX 250 ; N period ; B -9 -13 139 135 ;
+C 47 ; WX 278 ; N slash ; B -64 -18 342 685 ;
+C 48 ; WX 500 ; N zero ; B 17 -14 477 683 ;
+C 49 ; WX 500 ; N one ; B 5 0 419 683 ;
+C 50 ; WX 500 ; N two ; B -27 0 446 683 ;
+C 51 ; WX 500 ; N three ; B -15 -13 450 683 ;
+C 52 ; WX 500 ; N four ; B -15 0 503 683 ;
+C 53 ; WX 500 ; N five ; B -11 -13 487 669 ;
+C 54 ; WX 500 ; N six ; B 23 -15 509 679 ;
+C 55 ; WX 500 ; N seven ; B 52 0 525 669 ;
+C 56 ; WX 500 ; N eight ; B 3 -13 476 683 ;
+C 57 ; WX 500 ; N nine ; B -12 -10 475 683 ;
+C 58 ; WX 333 ; N colon ; B 23 -13 264 459 ;
+C 59 ; WX 333 ; N semicolon ; B -25 -183 264 459 ;
+C 60 ; WX 570 ; N less ; B 31 -8 539 514 ;
+C 61 ; WX 570 ; N equal ; B 33 107 537 399 ;
+C 62 ; WX 570 ; N greater ; B 31 -8 539 514 ;
+C 63 ; WX 500 ; N question ; B 79 -13 470 684 ;
+C 64 ; WX 832 ; N at ; B 63 -18 770 685 ;
+C 65 ; WX 667 ; N A ; B -67 0 593 683 ;
+C 66 ; WX 667 ; N B ; B -24 0 624 669 ;
+C 67 ; WX 667 ; N C ; B 32 -18 677 685 ;
+C 68 ; WX 722 ; N D ; B -46 0 685 669 ;
+C 69 ; WX 667 ; N E ; B -27 0 653 669 ;
+C 70 ; WX 667 ; N F ; B -13 0 660 669 ;
+C 71 ; WX 722 ; N G ; B 21 -18 706 685 ;
+C 72 ; WX 778 ; N H ; B -24 0 799 669 ;
+C 73 ; WX 389 ; N I ; B -32 0 406 669 ;
+C 74 ; WX 500 ; N J ; B -46 -99 524 669 ;
+C 75 ; WX 667 ; N K ; B -21 0 702 669 ;
+C 76 ; WX 611 ; N L ; B -22 0 590 669 ;
+C 77 ; WX 889 ; N M ; B -29 -12 917 669 ;
+C 78 ; WX 722 ; N N ; B -27 -15 748 669 ;
+C 79 ; WX 722 ; N O ; B 27 -18 691 685 ;
+C 80 ; WX 611 ; N P ; B -27 0 613 669 ;
+C 81 ; WX 722 ; N Q ; B 27 -208 691 685 ;
+C 82 ; WX 667 ; N R ; B -29 0 623 669 ;
+C 83 ; WX 556 ; N S ; B 2 -18 526 685 ;
+C 84 ; WX 611 ; N T ; B 50 0 650 669 ;
+C 85 ; WX 722 ; N U ; B 67 -18 744 669 ;
+C 86 ; WX 667 ; N V ; B 65 -18 715 669 ;
+C 87 ; WX 889 ; N W ; B 65 -18 940 669 ;
+C 88 ; WX 667 ; N X ; B -24 0 694 669 ;
+C 89 ; WX 611 ; N Y ; B 73 0 659 669 ;
+C 90 ; WX 611 ; N Z ; B -11 0 590 669 ;
+C 91 ; WX 333 ; N bracketleft ; B -37 -159 362 674 ;
+C 92 ; WX 278 ; N backslash ; B -1 -18 279 685 ;
+C 93 ; WX 333 ; N bracketright ; B -56 -157 343 674 ;
+C 94 ; WX 570 ; N asciicircum ; B 67 304 503 669 ;
+C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ;
+C 96 ; WX 333 ; N quoteleft ; B 128 369 332 685 ;
+C 97 ; WX 500 ; N a ; B -21 -14 455 462 ;
+C 98 ; WX 500 ; N b ; B -14 -13 444 699 ;
+C 99 ; WX 444 ; N c ; B -5 -13 392 462 ;
+C 100 ; WX 500 ; N d ; B -21 -13 517 699 ;
+C 101 ; WX 444 ; N e ; B 5 -13 398 462 ;
+C 102 ; WX 333 ; N f ; B -169 -205 446 698 ; L i fi ; L l fl ;
+C 103 ; WX 500 ; N g ; B -52 -203 478 462 ;
+C 104 ; WX 556 ; N h ; B -13 -9 498 699 ;
+C 105 ; WX 278 ; N i ; B 2 -9 263 684 ;
+C 106 ; WX 278 ; N j ; B -189 -207 279 684 ;
+C 107 ; WX 500 ; N k ; B -23 -8 483 699 ;
+C 108 ; WX 278 ; N l ; B 2 -9 290 699 ;
+C 109 ; WX 778 ; N m ; B -14 -9 722 462 ;
+C 110 ; WX 556 ; N n ; B -6 -9 493 462 ;
+C 111 ; WX 500 ; N o ; B -3 -13 441 462 ;
+C 112 ; WX 500 ; N p ; B -120 -205 446 462 ;
+C 113 ; WX 500 ; N q ; B 1 -205 471 462 ;
+C 114 ; WX 389 ; N r ; B -21 0 389 462 ;
+C 115 ; WX 389 ; N s ; B -19 -13 333 462 ;
+C 116 ; WX 278 ; N t ; B -11 -9 281 594 ;
+C 117 ; WX 556 ; N u ; B 15 -9 492 462 ;
+C 118 ; WX 444 ; N v ; B 16 -13 401 462 ;
+C 119 ; WX 667 ; N w ; B 16 -13 614 462 ;
+C 120 ; WX 500 ; N x ; B -46 -13 469 462 ;
+C 121 ; WX 444 ; N y ; B -94 -205 392 462 ;
+C 122 ; WX 389 ; N z ; B -43 -78 368 449 ;
+C 123 ; WX 348 ; N braceleft ; B 5 -187 436 686 ;
+C 124 ; WX 220 ; N bar ; B 66 -218 154 782 ;
+C 125 ; WX 348 ; N braceright ; B -129 -187 302 686 ;
+C 126 ; WX 570 ; N asciitilde ; B 54 173 516 333 ;
+C 161 ; WX 389 ; N exclamdown ; B 19 -205 322 492 ;
+C 162 ; WX 500 ; N cent ; B 42 -143 439 576 ;
+C 163 ; WX 500 ; N sterling ; B -32 -12 510 683 ;
+C 164 ; WX 167 ; N fraction ; B -169 -14 324 683 ;
+C 165 ; WX 500 ; N yen ; B 33 0 628 669 ;
+C 166 ; WX 500 ; N florin ; B -87 -156 537 707 ;
+C 167 ; WX 500 ; N section ; B 36 -143 459 685 ;
+C 168 ; WX 500 ; N currency ; B -26 34 526 586 ;
+C 169 ; WX 278 ; N quotesingle ; B 128 398 268 685 ;
+C 170 ; WX 500 ; N quotedblleft ; B 53 369 513 685 ;
+C 171 ; WX 500 ; N guillemotleft ; B 12 32 468 415 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 32 32 303 415 ;
+C 173 ; WX 333 ; N guilsinglright ; B 10 32 281 415 ;
+C 174 ; WX 556 ; N fi ; B -188 -205 514 703 ;
+C 175 ; WX 556 ; N fl ; B -186 -205 553 704 ;
+C 177 ; WX 500 ; N endash ; B -40 178 477 269 ;
+C 178 ; WX 500 ; N dagger ; B 91 -145 494 685 ;
+C 179 ; WX 500 ; N daggerdbl ; B 10 -139 493 685 ;
+C 180 ; WX 250 ; N periodcentered ; B 51 257 199 405 ;
+C 182 ; WX 500 ; N paragraph ; B -57 -193 562 669 ;
+C 183 ; WX 350 ; N bullet ; B 0 175 350 525 ;
+C 184 ; WX 333 ; N quotesinglbase ; B -5 -182 199 134 ;
+C 185 ; WX 500 ; N quotedblbase ; B -57 -182 403 134 ;
+C 186 ; WX 500 ; N quotedblright ; B 53 369 513 685 ;
+C 187 ; WX 500 ; N guillemotright ; B 12 32 468 415 ;
+C 188 ; WX 1000 ; N ellipsis ; B 40 -13 852 135 ;
+C 189 ; WX 1000 ; N perthousand ; B 7 -29 996 706 ;
+C 191 ; WX 500 ; N questiondown ; B 30 -205 421 492 ;
+C 193 ; WX 333 ; N grave ; B 85 516 297 697 ;
+C 194 ; WX 333 ; N acute ; B 139 516 379 697 ;
+C 195 ; WX 333 ; N circumflex ; B 40 516 367 690 ;
+C 196 ; WX 333 ; N tilde ; B 48 536 407 655 ;
+C 197 ; WX 333 ; N macron ; B 51 553 393 623 ;
+C 198 ; WX 333 ; N breve ; B 71 516 387 678 ;
+C 199 ; WX 333 ; N dotaccent ; B 163 550 298 684 ;
+C 200 ; WX 333 ; N dieresis ; B 55 550 402 684 ;
+C 202 ; WX 333 ; N ring ; B 127 516 340 729 ;
+C 203 ; WX 333 ; N cedilla ; B -80 -218 156 5 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 69 516 498 697 ;
+C 206 ; WX 333 ; N ogonek ; B 15 -183 244 34 ;
+C 207 ; WX 333 ; N caron ; B 79 516 411 690 ;
+C 208 ; WX 1000 ; N emdash ; B -40 178 977 269 ;
+C 225 ; WX 944 ; N AE ; B -64 0 918 669 ;
+C 227 ; WX 266 ; N ordfeminine ; B 16 399 330 685 ;
+C 232 ; WX 611 ; N Lslash ; B -22 0 590 669 ;
+C 233 ; WX 722 ; N Oslash ; B 27 -125 691 764 ;
+C 234 ; WX 944 ; N OE ; B 23 -8 946 677 ;
+C 235 ; WX 300 ; N ordmasculine ; B 56 400 347 685 ;
+C 241 ; WX 722 ; N ae ; B -5 -13 673 462 ;
+C 245 ; WX 278 ; N dotlessi ; B 2 -9 238 462 ;
+C 248 ; WX 278 ; N lslash ; B -7 -9 307 699 ;
+C 249 ; WX 500 ; N oslash ; B -3 -119 441 560 ;
+C 250 ; WX 722 ; N oe ; B 6 -13 674 462 ;
+C 251 ; WX 500 ; N germandbls ; B -200 -200 473 705 ;
+C -1 ; WX 389 ; N Idieresis ; B -32 0 450 862 ;
+C -1 ; WX 444 ; N eacute ; B 5 -13 435 697 ;
+C -1 ; WX 611 ; N Ydieresis ; B 73 0 659 862 ;
+C -1 ; WX 570 ; N divide ; B 33 -29 537 535 ;
+C -1 ; WX 611 ; N Yacute ; B 73 0 659 904 ;
+C -1 ; WX 667 ; N Acircumflex ; B -67 0 593 897 ;
+C -1 ; WX 500 ; N aacute ; B -21 -14 463 697 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 67 -18 744 897 ;
+C -1 ; WX 444 ; N yacute ; B -94 -205 435 697 ;
+C -1 ; WX 444 ; N ecircumflex ; B 5 -13 423 690 ;
+C -1 ; WX 722 ; N Udieresis ; B 67 -18 744 862 ;
+C -1 ; WX 722 ; N Uacute ; B 67 -18 744 904 ;
+C -1 ; WX 667 ; N Edieresis ; B -27 0 653 862 ;
+C -1 ; WX 747 ; N copyright ; B 30 -18 718 685 ;
+C -1 ; WX 500 ; N aring ; B -21 -14 455 729 ;
+C -1 ; WX 500 ; N agrave ; B -21 -14 455 697 ;
+C -1 ; WX 500 ; N atilde ; B -21 -14 491 655 ;
+C -1 ; WX 389 ; N scaron ; B -19 -13 424 690 ;
+C -1 ; WX 278 ; N iacute ; B 2 -9 352 697 ;
+C -1 ; WX 556 ; N ucircumflex ; B 15 -9 492 690 ;
+C -1 ; WX 500 ; N acircumflex ; B -21 -14 455 690 ;
+C -1 ; WX 444 ; N ccedilla ; B -5 -218 392 462 ;
+C -1 ; WX 611 ; N Thorn ; B -27 0 573 669 ;
+C -1 ; WX 300 ; N threesuperior ; B 17 265 321 683 ;
+C -1 ; WX 722 ; N Ograve ; B 27 -18 691 904 ;
+C -1 ; WX 667 ; N Agrave ; B -67 0 593 904 ;
+C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ;
+C -1 ; WX 556 ; N uacute ; B 15 -9 492 697 ;
+C -1 ; WX 444 ; N ydieresis ; B -94 -205 443 655 ;
+C -1 ; WX 278 ; N icircumflex ; B -3 -9 324 690 ;
+C -1 ; WX 667 ; N Ecircumflex ; B -27 0 653 897 ;
+C -1 ; WX 500 ; N adieresis ; B -21 -14 476 655 ;
+C -1 ; WX 444 ; N edieresis ; B 5 -13 448 655 ;
+C -1 ; WX 389 ; N Iacute ; B -32 0 432 904 ;
+C -1 ; WX 570 ; N plusminus ; B 33 0 537 506 ;
+C -1 ; WX 220 ; N brokenbar ; B 66 -143 154 707 ;
+C -1 ; WX 747 ; N registered ; B 30 -18 718 685 ;
+C -1 ; WX 667 ; N Egrave ; B -27 0 653 904 ;
+C -1 ; WX 611 ; N Zcaron ; B -11 0 590 897 ;
+C -1 ; WX 722 ; N Eth ; B -31 0 700 669 ;
+C -1 ; WX 667 ; N Ccedilla ; B 32 -218 677 685 ;
+C -1 ; WX 667 ; N Aacute ; B -67 0 593 904 ;
+C -1 ; WX 667 ; N Adieresis ; B -67 0 593 862 ;
+C -1 ; WX 444 ; N egrave ; B 5 -13 398 697 ;
+C -1 ; WX 722 ; N Oacute ; B 27 -18 691 904 ;
+C -1 ; WX 500 ; N oacute ; B -3 -13 463 697 ;
+C -1 ; WX 278 ; N idieresis ; B 2 -9 364 655 ;
+C -1 ; WX 722 ; N Ocircumflex ; B 27 -18 691 897 ;
+C -1 ; WX 722 ; N Ugrave ; B 67 -18 744 904 ;
+C -1 ; WX 500 ; N thorn ; B -120 -205 446 699 ;
+C -1 ; WX 300 ; N twosuperior ; B 2 274 313 683 ;
+C -1 ; WX 722 ; N Odieresis ; B 27 -18 691 862 ;
+C -1 ; WX 576 ; N mu ; B -60 -207 516 449 ;
+C -1 ; WX 278 ; N igrave ; B 2 -9 259 697 ;
+C -1 ; WX 750 ; N threequarters ; B 7 -14 726 683 ;
+C -1 ; WX 1000 ; N trademark ; B 32 263 968 669 ;
+C -1 ; WX 389 ; N Igrave ; B -32 0 406 904 ;
+C -1 ; WX 750 ; N onehalf ; B -9 -14 723 683 ;
+C -1 ; WX 500 ; N ocircumflex ; B -3 -13 451 690 ;
+C -1 ; WX 556 ; N ntilde ; B -6 -9 504 655 ;
+C -1 ; WX 667 ; N Eacute ; B -27 0 653 904 ;
+C -1 ; WX 750 ; N onequarter ; B 7 -14 721 683 ;
+C -1 ; WX 556 ; N Scaron ; B 2 -18 553 897 ;
+C -1 ; WX 400 ; N degree ; B 83 397 369 683 ;
+C -1 ; WX 500 ; N ograve ; B -3 -13 441 697 ;
+C -1 ; WX 556 ; N ugrave ; B 15 -9 492 697 ;
+C -1 ; WX 722 ; N Ntilde ; B -27 -15 748 862 ;
+C -1 ; WX 500 ; N otilde ; B -3 -13 491 655 ;
+C -1 ; WX 667 ; N Atilde ; B -67 0 593 862 ;
+C -1 ; WX 667 ; N Aring ; B -67 0 593 921 ;
+C -1 ; WX 722 ; N Otilde ; B 27 -18 691 862 ;
+C -1 ; WX 606 ; N minus ; B 51 209 555 297 ;
+C -1 ; WX 389 ; N Icircumflex ; B -32 0 450 897 ;
+C -1 ; WX 606 ; N logicalnot ; B 51 108 555 399 ;
+C -1 ; WX 500 ; N odieresis ; B -3 -13 471 655 ;
+C -1 ; WX 556 ; N udieresis ; B 15 -9 499 655 ;
+C -1 ; WX 500 ; N eth ; B -3 -13 454 699 ;
+C -1 ; WX 389 ; N zcaron ; B -43 -78 424 690 ;
+C -1 ; WX 300 ; N onesuperior ; B 30 274 301 683 ;
+C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1004
+KPX A C -65
+KPX A Ccedilla -65
+KPX A G -60
+KPX A O -50
+KPX A Oacute -50
+KPX A Ocircumflex -50
+KPX A Odieresis -50
+KPX A Ograve -50
+KPX A Oslash -50
+KPX A Otilde -50
+KPX A Q -55
+KPX A T -55
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -95
+KPX A W -100
+KPX A Y -70
+KPX A Yacute -70
+KPX A Ydieresis -70
+KPX A quoteright -74
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A v -74
+KPX A w -74
+KPX A y -74
+KPX A yacute -74
+KPX A ydieresis -74
+KPX Aacute C -65
+KPX Aacute Ccedilla -65
+KPX Aacute G -60
+KPX Aacute O -50
+KPX Aacute Oacute -50
+KPX Aacute Ocircumflex -50
+KPX Aacute Odieresis -50
+KPX Aacute Ograve -50
+KPX Aacute Oslash -50
+KPX Aacute Otilde -50
+KPX Aacute Q -55
+KPX Aacute T -55
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -95
+KPX Aacute W -100
+KPX Aacute Y -70
+KPX Aacute Yacute -70
+KPX Aacute Ydieresis -70
+KPX Aacute quoteright -74
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute v -74
+KPX Aacute w -74
+KPX Aacute y -74
+KPX Aacute yacute -74
+KPX Aacute ydieresis -74
+KPX Acircumflex C -65
+KPX Acircumflex Ccedilla -65
+KPX Acircumflex G -60
+KPX Acircumflex O -50
+KPX Acircumflex Oacute -50
+KPX Acircumflex Ocircumflex -50
+KPX Acircumflex Odieresis -50
+KPX Acircumflex Ograve -50
+KPX Acircumflex Oslash -50
+KPX Acircumflex Otilde -50
+KPX Acircumflex Q -55
+KPX Acircumflex T -55
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -95
+KPX Acircumflex W -100
+KPX Acircumflex Y -70
+KPX Acircumflex Yacute -70
+KPX Acircumflex Ydieresis -70
+KPX Acircumflex quoteright -74
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex v -74
+KPX Acircumflex w -74
+KPX Acircumflex y -74
+KPX Acircumflex yacute -74
+KPX Acircumflex ydieresis -74
+KPX Adieresis C -65
+KPX Adieresis Ccedilla -65
+KPX Adieresis G -60
+KPX Adieresis O -50
+KPX Adieresis Oacute -50
+KPX Adieresis Ocircumflex -50
+KPX Adieresis Odieresis -50
+KPX Adieresis Ograve -50
+KPX Adieresis Oslash -50
+KPX Adieresis Otilde -50
+KPX Adieresis Q -55
+KPX Adieresis T -55
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -95
+KPX Adieresis W -100
+KPX Adieresis Y -70
+KPX Adieresis Yacute -70
+KPX Adieresis Ydieresis -70
+KPX Adieresis quoteright -74
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis v -74
+KPX Adieresis w -74
+KPX Adieresis y -74
+KPX Adieresis yacute -74
+KPX Adieresis ydieresis -74
+KPX Agrave C -65
+KPX Agrave Ccedilla -65
+KPX Agrave G -60
+KPX Agrave O -50
+KPX Agrave Oacute -50
+KPX Agrave Ocircumflex -50
+KPX Agrave Odieresis -50
+KPX Agrave Ograve -50
+KPX Agrave Oslash -50
+KPX Agrave Otilde -50
+KPX Agrave Q -55
+KPX Agrave T -55
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -95
+KPX Agrave W -100
+KPX Agrave Y -70
+KPX Agrave Yacute -70
+KPX Agrave Ydieresis -70
+KPX Agrave quoteright -74
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave v -74
+KPX Agrave w -74
+KPX Agrave y -74
+KPX Agrave yacute -74
+KPX Agrave ydieresis -74
+KPX Aring C -65
+KPX Aring Ccedilla -65
+KPX Aring G -60
+KPX Aring O -50
+KPX Aring Oacute -50
+KPX Aring Ocircumflex -50
+KPX Aring Odieresis -50
+KPX Aring Ograve -50
+KPX Aring Oslash -50
+KPX Aring Otilde -50
+KPX Aring Q -55
+KPX Aring T -55
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -95
+KPX Aring W -100
+KPX Aring Y -70
+KPX Aring Yacute -70
+KPX Aring Ydieresis -70
+KPX Aring quoteright -74
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring v -74
+KPX Aring w -74
+KPX Aring y -74
+KPX Aring yacute -74
+KPX Aring ydieresis -74
+KPX Atilde C -65
+KPX Atilde Ccedilla -65
+KPX Atilde G -60
+KPX Atilde O -50
+KPX Atilde Oacute -50
+KPX Atilde Ocircumflex -50
+KPX Atilde Odieresis -50
+KPX Atilde Ograve -50
+KPX Atilde Oslash -50
+KPX Atilde Otilde -50
+KPX Atilde Q -55
+KPX Atilde T -55
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -95
+KPX Atilde W -100
+KPX Atilde Y -70
+KPX Atilde Yacute -70
+KPX Atilde Ydieresis -70
+KPX Atilde quoteright -74
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde v -74
+KPX Atilde w -74
+KPX Atilde y -74
+KPX Atilde yacute -74
+KPX Atilde ydieresis -74
+KPX B A -25
+KPX B Aacute -25
+KPX B Acircumflex -25
+KPX B Adieresis -25
+KPX B Agrave -25
+KPX B Aring -25
+KPX B Atilde -25
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -25
+KPX D Aacute -25
+KPX D Acircumflex -25
+KPX D Adieresis -25
+KPX D Agrave -25
+KPX D Aring -25
+KPX D Atilde -25
+KPX D V -50
+KPX D W -40
+KPX D Y -50
+KPX D Yacute -50
+KPX D Ydieresis -50
+KPX F A -100
+KPX F Aacute -100
+KPX F Acircumflex -100
+KPX F Adieresis -100
+KPX F Agrave -100
+KPX F Aring -100
+KPX F Atilde -100
+KPX F a -95
+KPX F aacute -95
+KPX F acircumflex -95
+KPX F adieresis -95
+KPX F agrave -95
+KPX F aring -95
+KPX F atilde -95
+KPX F comma -129
+KPX F e -100
+KPX F eacute -100
+KPX F ecircumflex -100
+KPX F edieresis -100
+KPX F egrave -100
+KPX F i -40
+KPX F iacute -40
+KPX F icircumflex -40
+KPX F idieresis -40
+KPX F igrave -40
+KPX F o -70
+KPX F oacute -70
+KPX F ocircumflex -70
+KPX F odieresis -70
+KPX F ograve -70
+KPX F oslash -70
+KPX F otilde -70
+KPX F period -129
+KPX F r -50
+KPX J A -25
+KPX J Aacute -25
+KPX J Acircumflex -25
+KPX J Adieresis -25
+KPX J Agrave -25
+KPX J Aring -25
+KPX J Atilde -25
+KPX J a -40
+KPX J aacute -40
+KPX J acircumflex -40
+KPX J adieresis -40
+KPX J agrave -40
+KPX J aring -40
+KPX J atilde -40
+KPX J comma -10
+KPX J e -40
+KPX J eacute -40
+KPX J ecircumflex -40
+KPX J edieresis -40
+KPX J egrave -40
+KPX J o -40
+KPX J oacute -40
+KPX J ocircumflex -40
+KPX J odieresis -40
+KPX J ograve -40
+KPX J oslash -40
+KPX J otilde -40
+KPX J period -10
+KPX J u -40
+KPX J uacute -40
+KPX J ucircumflex -40
+KPX J udieresis -40
+KPX J ugrave -40
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -25
+KPX K eacute -25
+KPX K ecircumflex -25
+KPX K edieresis -25
+KPX K egrave -25
+KPX K o -25
+KPX K oacute -25
+KPX K ocircumflex -25
+KPX K odieresis -25
+KPX K ograve -25
+KPX K oslash -25
+KPX K otilde -25
+KPX K u -20
+KPX K uacute -20
+KPX K ucircumflex -20
+KPX K udieresis -20
+KPX K ugrave -20
+KPX K y -20
+KPX K yacute -20
+KPX K ydieresis -20
+KPX L T -18
+KPX L V -37
+KPX L W -37
+KPX L Y -37
+KPX L Yacute -37
+KPX L Ydieresis -37
+KPX L quoteright -55
+KPX L y -37
+KPX L yacute -37
+KPX L ydieresis -37
+KPX Lslash T -18
+KPX Lslash V -37
+KPX Lslash W -37
+KPX Lslash Y -37
+KPX Lslash Yacute -37
+KPX Lslash Ydieresis -37
+KPX Lslash quoteright -55
+KPX Lslash y -37
+KPX Lslash yacute -37
+KPX Lslash ydieresis -37
+KPX N A -30
+KPX N Aacute -30
+KPX N Acircumflex -30
+KPX N Adieresis -30
+KPX N Agrave -30
+KPX N Aring -30
+KPX N Atilde -30
+KPX Ntilde A -30
+KPX Ntilde Aacute -30
+KPX Ntilde Acircumflex -30
+KPX Ntilde Adieresis -30
+KPX Ntilde Agrave -30
+KPX Ntilde Aring -30
+KPX Ntilde Atilde -30
+KPX O A -40
+KPX O Aacute -40
+KPX O Acircumflex -40
+KPX O Adieresis -40
+KPX O Agrave -40
+KPX O Aring -40
+KPX O Atilde -40
+KPX O T -40
+KPX O V -50
+KPX O W -50
+KPX O X -40
+KPX O Y -50
+KPX O Yacute -50
+KPX O Ydieresis -50
+KPX Oacute A -40
+KPX Oacute Aacute -40
+KPX Oacute Acircumflex -40
+KPX Oacute Adieresis -40
+KPX Oacute Agrave -40
+KPX Oacute Aring -40
+KPX Oacute Atilde -40
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -40
+KPX Oacute Y -50
+KPX Oacute Yacute -50
+KPX Oacute Ydieresis -50
+KPX Ocircumflex A -40
+KPX Ocircumflex Aacute -40
+KPX Ocircumflex Acircumflex -40
+KPX Ocircumflex Adieresis -40
+KPX Ocircumflex Agrave -40
+KPX Ocircumflex Aring -40
+KPX Ocircumflex Atilde -40
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -40
+KPX Ocircumflex Y -50
+KPX Ocircumflex Yacute -50
+KPX Ocircumflex Ydieresis -50
+KPX Odieresis A -40
+KPX Odieresis Aacute -40
+KPX Odieresis Acircumflex -40
+KPX Odieresis Adieresis -40
+KPX Odieresis Agrave -40
+KPX Odieresis Aring -40
+KPX Odieresis Atilde -40
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -40
+KPX Odieresis Y -50
+KPX Odieresis Yacute -50
+KPX Odieresis Ydieresis -50
+KPX Ograve A -40
+KPX Ograve Aacute -40
+KPX Ograve Acircumflex -40
+KPX Ograve Adieresis -40
+KPX Ograve Agrave -40
+KPX Ograve Aring -40
+KPX Ograve Atilde -40
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -40
+KPX Ograve Y -50
+KPX Ograve Yacute -50
+KPX Ograve Ydieresis -50
+KPX Oslash A -40
+KPX Oslash Aacute -40
+KPX Oslash Acircumflex -40
+KPX Oslash Adieresis -40
+KPX Oslash Agrave -40
+KPX Oslash Aring -40
+KPX Oslash Atilde -40
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -40
+KPX Oslash Y -50
+KPX Oslash Yacute -50
+KPX Oslash Ydieresis -50
+KPX Otilde A -40
+KPX Otilde Aacute -40
+KPX Otilde Acircumflex -40
+KPX Otilde Adieresis -40
+KPX Otilde Agrave -40
+KPX Otilde Aring -40
+KPX Otilde Atilde -40
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -40
+KPX Otilde Y -50
+KPX Otilde Yacute -50
+KPX Otilde Ydieresis -50
+KPX P A -85
+KPX P Aacute -85
+KPX P Acircumflex -85
+KPX P Adieresis -85
+KPX P Agrave -85
+KPX P Aring -85
+KPX P Atilde -85
+KPX P a -40
+KPX P aacute -40
+KPX P acircumflex -40
+KPX P adieresis -40
+KPX P agrave -40
+KPX P aring -40
+KPX P atilde -40
+KPX P comma -129
+KPX P e -50
+KPX P eacute -50
+KPX P ecircumflex -50
+KPX P edieresis -50
+KPX P egrave -50
+KPX P o -55
+KPX P oacute -55
+KPX P ocircumflex -55
+KPX P odieresis -55
+KPX P ograve -55
+KPX P oslash -55
+KPX P otilde -55
+KPX P period -129
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX R O -40
+KPX R Oacute -40
+KPX R Ocircumflex -40
+KPX R Odieresis -40
+KPX R Ograve -40
+KPX R Oslash -40
+KPX R Otilde -40
+KPX R T -30
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R V -18
+KPX R W -18
+KPX R Y -18
+KPX R Yacute -18
+KPX R Ydieresis -18
+KPX T A -55
+KPX T Aacute -55
+KPX T Acircumflex -55
+KPX T Adieresis -55
+KPX T Agrave -55
+KPX T Aring -55
+KPX T Atilde -55
+KPX T O -18
+KPX T Oacute -18
+KPX T Ocircumflex -18
+KPX T Odieresis -18
+KPX T Ograve -18
+KPX T Oslash -18
+KPX T Otilde -18
+KPX T a -92
+KPX T aacute -92
+KPX T acircumflex -92
+KPX T adieresis -92
+KPX T agrave -92
+KPX T aring -92
+KPX T atilde -92
+KPX T colon -74
+KPX T comma -92
+KPX T e -92
+KPX T eacute -92
+KPX T ecircumflex -92
+KPX T edieresis -52
+KPX T egrave -52
+KPX T hyphen -92
+KPX T i -37
+KPX T iacute -37
+KPX T o -95
+KPX T oacute -95
+KPX T ocircumflex -95
+KPX T odieresis -95
+KPX T ograve -95
+KPX T oslash -95
+KPX T otilde -95
+KPX T period -92
+KPX T r -37
+KPX T semicolon -74
+KPX T u -37
+KPX T uacute -37
+KPX T ucircumflex -37
+KPX T udieresis -37
+KPX T ugrave -37
+KPX T w -37
+KPX T y -37
+KPX T yacute -37
+KPX T ydieresis -37
+KPX U A -45
+KPX U Aacute -45
+KPX U Acircumflex -45
+KPX U Adieresis -45
+KPX U Agrave -45
+KPX U Aring -45
+KPX U Atilde -45
+KPX Uacute A -45
+KPX Uacute Aacute -45
+KPX Uacute Acircumflex -45
+KPX Uacute Adieresis -45
+KPX Uacute Agrave -45
+KPX Uacute Aring -45
+KPX Uacute Atilde -45
+KPX Ucircumflex A -45
+KPX Ucircumflex Aacute -45
+KPX Ucircumflex Acircumflex -45
+KPX Ucircumflex Adieresis -45
+KPX Ucircumflex Agrave -45
+KPX Ucircumflex Aring -45
+KPX Ucircumflex Atilde -45
+KPX Udieresis A -45
+KPX Udieresis Aacute -45
+KPX Udieresis Acircumflex -45
+KPX Udieresis Adieresis -45
+KPX Udieresis Agrave -45
+KPX Udieresis Aring -45
+KPX Udieresis Atilde -45
+KPX Ugrave A -45
+KPX Ugrave Aacute -45
+KPX Ugrave Acircumflex -45
+KPX Ugrave Adieresis -45
+KPX Ugrave Agrave -45
+KPX Ugrave Aring -45
+KPX Ugrave Atilde -45
+KPX V A -85
+KPX V Aacute -85
+KPX V Acircumflex -85
+KPX V Adieresis -85
+KPX V Agrave -85
+KPX V Aring -85
+KPX V Atilde -85
+KPX V G -10
+KPX V O -30
+KPX V Oacute -30
+KPX V Ocircumflex -30
+KPX V Odieresis -30
+KPX V Ograve -30
+KPX V Oslash -30
+KPX V Otilde -30
+KPX V a -111
+KPX V aacute -111
+KPX V acircumflex -111
+KPX V adieresis -111
+KPX V agrave -111
+KPX V aring -111
+KPX V atilde -111
+KPX V colon -74
+KPX V comma -129
+KPX V e -111
+KPX V eacute -111
+KPX V ecircumflex -111
+KPX V edieresis -71
+KPX V egrave -71
+KPX V hyphen -70
+KPX V i -55
+KPX V iacute -55
+KPX V o -111
+KPX V oacute -111
+KPX V ocircumflex -111
+KPX V odieresis -111
+KPX V ograve -111
+KPX V oslash -111
+KPX V otilde -111
+KPX V period -129
+KPX V semicolon -74
+KPX V u -55
+KPX V uacute -55
+KPX V ucircumflex -55
+KPX V udieresis -55
+KPX V ugrave -55
+KPX W A -74
+KPX W Aacute -74
+KPX W Acircumflex -74
+KPX W Adieresis -74
+KPX W Agrave -74
+KPX W Aring -74
+KPX W Atilde -74
+KPX W O -15
+KPX W Oacute -15
+KPX W Ocircumflex -15
+KPX W Odieresis -15
+KPX W Ograve -15
+KPX W Oslash -15
+KPX W Otilde -15
+KPX W a -85
+KPX W aacute -85
+KPX W acircumflex -85
+KPX W adieresis -85
+KPX W agrave -85
+KPX W aring -85
+KPX W atilde -85
+KPX W colon -55
+KPX W comma -74
+KPX W e -90
+KPX W eacute -90
+KPX W ecircumflex -90
+KPX W edieresis -50
+KPX W egrave -50
+KPX W hyphen -50
+KPX W i -37
+KPX W iacute -37
+KPX W o -80
+KPX W oacute -80
+KPX W ocircumflex -80
+KPX W odieresis -80
+KPX W ograve -80
+KPX W oslash -80
+KPX W otilde -80
+KPX W period -74
+KPX W semicolon -55
+KPX W u -55
+KPX W uacute -55
+KPX W ucircumflex -55
+KPX W udieresis -55
+KPX W ugrave -55
+KPX W y -55
+KPX W yacute -55
+KPX W ydieresis -55
+KPX Y A -74
+KPX Y Aacute -74
+KPX Y Acircumflex -74
+KPX Y Adieresis -74
+KPX Y Agrave -74
+KPX Y Aring -74
+KPX Y Atilde -74
+KPX Y O -25
+KPX Y Oacute -25
+KPX Y Ocircumflex -25
+KPX Y Odieresis -25
+KPX Y Ograve -25
+KPX Y Oslash -25
+KPX Y Otilde -25
+KPX Y a -92
+KPX Y aacute -92
+KPX Y acircumflex -92
+KPX Y adieresis -92
+KPX Y agrave -92
+KPX Y aring -92
+KPX Y atilde -92
+KPX Y colon -92
+KPX Y comma -92
+KPX Y e -111
+KPX Y eacute -111
+KPX Y ecircumflex -71
+KPX Y edieresis -71
+KPX Y egrave -71
+KPX Y hyphen -92
+KPX Y i -55
+KPX Y iacute -55
+KPX Y o -111
+KPX Y oacute -111
+KPX Y ocircumflex -111
+KPX Y odieresis -111
+KPX Y ograve -111
+KPX Y oslash -111
+KPX Y otilde -111
+KPX Y period -74
+KPX Y semicolon -92
+KPX Y u -92
+KPX Y uacute -92
+KPX Y ucircumflex -92
+KPX Y udieresis -92
+KPX Y ugrave -92
+KPX Yacute A -74
+KPX Yacute Aacute -74
+KPX Yacute Acircumflex -74
+KPX Yacute Adieresis -74
+KPX Yacute Agrave -74
+KPX Yacute Aring -74
+KPX Yacute Atilde -74
+KPX Yacute O -25
+KPX Yacute Oacute -25
+KPX Yacute Ocircumflex -25
+KPX Yacute Odieresis -25
+KPX Yacute Ograve -25
+KPX Yacute Oslash -25
+KPX Yacute Otilde -25
+KPX Yacute a -92
+KPX Yacute aacute -92
+KPX Yacute acircumflex -92
+KPX Yacute adieresis -92
+KPX Yacute agrave -92
+KPX Yacute aring -92
+KPX Yacute atilde -92
+KPX Yacute colon -92
+KPX Yacute comma -92
+KPX Yacute e -111
+KPX Yacute eacute -111
+KPX Yacute ecircumflex -71
+KPX Yacute edieresis -71
+KPX Yacute egrave -71
+KPX Yacute hyphen -92
+KPX Yacute i -55
+KPX Yacute iacute -55
+KPX Yacute o -111
+KPX Yacute oacute -111
+KPX Yacute ocircumflex -111
+KPX Yacute odieresis -111
+KPX Yacute ograve -111
+KPX Yacute oslash -111
+KPX Yacute otilde -111
+KPX Yacute period -74
+KPX Yacute semicolon -92
+KPX Yacute u -92
+KPX Yacute uacute -92
+KPX Yacute ucircumflex -92
+KPX Yacute udieresis -92
+KPX Yacute ugrave -92
+KPX Ydieresis A -74
+KPX Ydieresis Aacute -74
+KPX Ydieresis Acircumflex -74
+KPX Ydieresis Adieresis -74
+KPX Ydieresis Agrave -74
+KPX Ydieresis Aring -74
+KPX Ydieresis Atilde -74
+KPX Ydieresis O -25
+KPX Ydieresis Oacute -25
+KPX Ydieresis Ocircumflex -25
+KPX Ydieresis Odieresis -25
+KPX Ydieresis Ograve -25
+KPX Ydieresis Oslash -25
+KPX Ydieresis Otilde -25
+KPX Ydieresis a -92
+KPX Ydieresis aacute -92
+KPX Ydieresis acircumflex -92
+KPX Ydieresis adieresis -92
+KPX Ydieresis agrave -92
+KPX Ydieresis aring -92
+KPX Ydieresis atilde -92
+KPX Ydieresis colon -92
+KPX Ydieresis comma -92
+KPX Ydieresis e -111
+KPX Ydieresis eacute -111
+KPX Ydieresis ecircumflex -71
+KPX Ydieresis edieresis -71
+KPX Ydieresis egrave -71
+KPX Ydieresis hyphen -92
+KPX Ydieresis i -55
+KPX Ydieresis iacute -55
+KPX Ydieresis o -111
+KPX Ydieresis oacute -111
+KPX Ydieresis ocircumflex -111
+KPX Ydieresis odieresis -111
+KPX Ydieresis ograve -111
+KPX Ydieresis oslash -111
+KPX Ydieresis otilde -111
+KPX Ydieresis period -74
+KPX Ydieresis semicolon -92
+KPX Ydieresis u -92
+KPX Ydieresis uacute -92
+KPX Ydieresis ucircumflex -92
+KPX Ydieresis udieresis -92
+KPX Ydieresis ugrave -92
+KPX b b -10
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX c h -10
+KPX c k -10
+KPX ccedilla h -10
+KPX ccedilla k -10
+KPX comma quotedblright -95
+KPX comma quoteright -95
+KPX e b -10
+KPX eacute b -10
+KPX ecircumflex b -10
+KPX edieresis b -10
+KPX egrave b -10
+KPX f comma -10
+KPX f dotlessi -30
+KPX f e -10
+KPX f eacute -10
+KPX f f -18
+KPX f o -10
+KPX f oacute -10
+KPX f ocircumflex -10
+KPX f ograve -10
+KPX f oslash -10
+KPX f otilde -10
+KPX f period -10
+KPX f quoteright 55
+KPX k e -30
+KPX k eacute -30
+KPX k ecircumflex -30
+KPX k edieresis -30
+KPX k egrave -30
+KPX k o -10
+KPX k oacute -10
+KPX k ocircumflex -10
+KPX k odieresis -10
+KPX k ograve -10
+KPX k oslash -10
+KPX k otilde -10
+KPX n v -40
+KPX ntilde v -40
+KPX o v -15
+KPX o w -25
+KPX o x -10
+KPX o y -10
+KPX o yacute -10
+KPX o ydieresis -10
+KPX oacute v -15
+KPX oacute w -25
+KPX oacute x -10
+KPX oacute y -10
+KPX oacute yacute -10
+KPX oacute ydieresis -10
+KPX ocircumflex v -15
+KPX ocircumflex w -25
+KPX ocircumflex x -10
+KPX ocircumflex y -10
+KPX ocircumflex yacute -10
+KPX ocircumflex ydieresis -10
+KPX odieresis v -15
+KPX odieresis w -25
+KPX odieresis x -10
+KPX odieresis y -10
+KPX odieresis yacute -10
+KPX odieresis ydieresis -10
+KPX ograve v -15
+KPX ograve w -25
+KPX ograve x -10
+KPX ograve y -10
+KPX ograve yacute -10
+KPX ograve ydieresis -10
+KPX oslash v -15
+KPX oslash w -25
+KPX oslash x -10
+KPX oslash y -10
+KPX oslash yacute -10
+KPX oslash ydieresis -10
+KPX otilde v -15
+KPX otilde w -25
+KPX otilde x -10
+KPX otilde y -10
+KPX otilde yacute -10
+KPX otilde ydieresis -10
+KPX period quotedblright -95
+KPX period quoteright -95
+KPX quoteleft quoteleft -74
+KPX quoteright d -15
+KPX quoteright quoteright -74
+KPX quoteright r -15
+KPX quoteright s -74
+KPX quoteright scaron -74
+KPX quoteright space -74
+KPX quoteright t -37
+KPX quoteright v -15
+KPX r comma -65
+KPX r period -65
+KPX space A -37
+KPX space Aacute -37
+KPX space Acircumflex -37
+KPX space Adieresis -37
+KPX space Agrave -37
+KPX space Aring -37
+KPX space Atilde -37
+KPX space V -70
+KPX space W -70
+KPX space Y -70
+KPX space Yacute -70
+KPX space Ydieresis -70
+KPX v comma -37
+KPX v e -15
+KPX v eacute -15
+KPX v ecircumflex -15
+KPX v edieresis -15
+KPX v egrave -15
+KPX v o -15
+KPX v oacute -15
+KPX v ocircumflex -15
+KPX v odieresis -15
+KPX v ograve -15
+KPX v oslash -15
+KPX v otilde -15
+KPX v period -37
+KPX w a -10
+KPX w aacute -10
+KPX w acircumflex -10
+KPX w adieresis -10
+KPX w agrave -10
+KPX w aring -10
+KPX w atilde -10
+KPX w comma -37
+KPX w e -10
+KPX w eacute -10
+KPX w ecircumflex -10
+KPX w edieresis -10
+KPX w egrave -10
+KPX w o -15
+KPX w oacute -15
+KPX w ocircumflex -15
+KPX w odieresis -15
+KPX w ograve -15
+KPX w oslash -15
+KPX w otilde -15
+KPX w period -37
+KPX x e -10
+KPX x eacute -10
+KPX x ecircumflex -10
+KPX x edieresis -10
+KPX x egrave -10
+KPX y comma -37
+KPX y period -37
+KPX yacute comma -37
+KPX yacute period -37
+KPX ydieresis comma -37
+KPX ydieresis period -37
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/CB b/troff/troff.d/font/devps/CB
new file mode 100644
index 0000000000000..bc686684955a3
--- /dev/null
+++ b/troff/troff.d/font/devps/CB
@@ -0,0 +1 @@
+name CB.afm
diff --git a/troff/troff.d/font/devps/CB.afm b/troff/troff.d/font/devps/CB.afm
new file mode 100644
index 0000000000000..8b9d4c2a4a021
--- /dev/null
+++ b/troff/troff.d/font/devps/CB.afm
@@ -0,0 +1,256 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Mon Jun 23 16:28:00 1997
+Comment UniqueID 43048
+Comment VMusage 41139 52164
+FontName Courier-Bold
+FullName Courier Bold
+FamilyName Courier
+Weight Bold
+ItalicAngle 0
+IsFixedPitch true
+FontBBox -113 -250 749 801
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 439
+Ascender 629
+Descender -157
+StdHW 84
+StdVW 106
+StartCharMetrics 229
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 202 -15 398 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 135 277 465 562 ;
+C 35 ; WX 600 ; N numbersign ; B 56 -45 544 651 ;
+C 36 ; WX 600 ; N dollar ; B 82 -126 519 666 ;
+C 37 ; WX 600 ; N percent ; B 5 -15 595 616 ;
+C 38 ; WX 600 ; N ampersand ; B 36 -15 546 543 ;
+C 39 ; WX 600 ; N quoteright ; B 171 277 423 562 ;
+C 40 ; WX 600 ; N parenleft ; B 219 -102 461 616 ;
+C 41 ; WX 600 ; N parenright ; B 139 -102 381 616 ;
+C 42 ; WX 600 ; N asterisk ; B 91 219 509 601 ;
+C 43 ; WX 600 ; N plus ; B 71 39 529 478 ;
+C 44 ; WX 600 ; N comma ; B 123 -111 393 174 ;
+C 45 ; WX 600 ; N hyphen ; B 100 203 500 313 ;
+C 46 ; WX 600 ; N period ; B 192 -15 408 171 ;
+C 47 ; WX 600 ; N slash ; B 98 -77 502 626 ;
+C 48 ; WX 600 ; N zero ; B 87 -15 513 616 ;
+C 49 ; WX 600 ; N one ; B 81 0 539 616 ;
+C 50 ; WX 600 ; N two ; B 61 0 499 616 ;
+C 51 ; WX 600 ; N three ; B 63 -15 501 616 ;
+C 52 ; WX 600 ; N four ; B 53 0 507 616 ;
+C 53 ; WX 600 ; N five ; B 70 -15 521 601 ;
+C 54 ; WX 600 ; N six ; B 90 -15 521 616 ;
+C 55 ; WX 600 ; N seven ; B 55 0 494 601 ;
+C 56 ; WX 600 ; N eight ; B 83 -15 517 616 ;
+C 57 ; WX 600 ; N nine ; B 79 -15 510 616 ;
+C 58 ; WX 600 ; N colon ; B 191 -15 407 425 ;
+C 59 ; WX 600 ; N semicolon ; B 123 -111 408 425 ;
+C 60 ; WX 600 ; N less ; B 66 15 523 501 ;
+C 61 ; WX 600 ; N equal ; B 71 118 529 398 ;
+C 62 ; WX 600 ; N greater ; B 77 15 534 501 ;
+C 63 ; WX 600 ; N question ; B 98 -14 501 580 ;
+C 64 ; WX 600 ; N at ; B 16 -15 584 616 ;
+C 65 ; WX 600 ; N A ; B -9 0 609 562 ;
+C 66 ; WX 600 ; N B ; B 30 0 573 562 ;
+C 67 ; WX 600 ; N C ; B 22 -18 560 580 ;
+C 68 ; WX 600 ; N D ; B 30 0 594 562 ;
+C 69 ; WX 600 ; N E ; B 25 0 560 562 ;
+C 70 ; WX 600 ; N F ; B 39 0 570 562 ;
+C 71 ; WX 600 ; N G ; B 22 -18 594 580 ;
+C 72 ; WX 600 ; N H ; B 20 0 580 562 ;
+C 73 ; WX 600 ; N I ; B 77 0 523 562 ;
+C 74 ; WX 600 ; N J ; B 37 -18 601 562 ;
+C 75 ; WX 600 ; N K ; B 21 0 599 562 ;
+C 76 ; WX 600 ; N L ; B 39 0 578 562 ;
+C 77 ; WX 600 ; N M ; B -2 0 602 562 ;
+C 78 ; WX 600 ; N N ; B 8 -12 610 562 ;
+C 79 ; WX 600 ; N O ; B 22 -18 578 580 ;
+C 80 ; WX 600 ; N P ; B 48 0 559 562 ;
+C 81 ; WX 600 ; N Q ; B 32 -138 578 580 ;
+C 82 ; WX 600 ; N R ; B 24 0 599 562 ;
+C 83 ; WX 600 ; N S ; B 47 -22 553 582 ;
+C 84 ; WX 600 ; N T ; B 21 0 579 562 ;
+C 85 ; WX 600 ; N U ; B 4 -18 596 562 ;
+C 86 ; WX 600 ; N V ; B -13 0 613 562 ;
+C 87 ; WX 600 ; N W ; B -18 0 618 562 ;
+C 88 ; WX 600 ; N X ; B 12 0 588 562 ;
+C 89 ; WX 600 ; N Y ; B 12 0 589 562 ;
+C 90 ; WX 600 ; N Z ; B 62 0 539 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 245 -102 475 616 ;
+C 92 ; WX 600 ; N backslash ; B 99 -77 503 626 ;
+C 93 ; WX 600 ; N bracketright ; B 125 -102 355 616 ;
+C 94 ; WX 600 ; N asciicircum ; B 108 250 492 616 ;
+C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 178 277 428 562 ;
+C 97 ; WX 600 ; N a ; B 35 -15 570 454 ;
+C 98 ; WX 600 ; N b ; B 0 -15 584 626 ;
+C 99 ; WX 600 ; N c ; B 40 -15 545 459 ;
+C 100 ; WX 600 ; N d ; B 20 -15 591 626 ;
+C 101 ; WX 600 ; N e ; B 40 -15 563 454 ;
+C 102 ; WX 600 ; N f ; B 83 0 547 626 ;
+C 103 ; WX 600 ; N g ; B 30 -146 580 454 ;
+C 104 ; WX 600 ; N h ; B 5 0 592 626 ;
+C 105 ; WX 600 ; N i ; B 77 0 523 658 ;
+C 106 ; WX 600 ; N j ; B 63 -146 440 658 ;
+C 107 ; WX 600 ; N k ; B 20 0 585 626 ;
+C 108 ; WX 600 ; N l ; B 77 0 523 626 ;
+C 109 ; WX 600 ; N m ; B -22 0 626 454 ;
+C 110 ; WX 600 ; N n ; B 18 0 592 454 ;
+C 111 ; WX 600 ; N o ; B 30 -15 570 454 ;
+C 112 ; WX 600 ; N p ; B -1 -142 570 454 ;
+C 113 ; WX 600 ; N q ; B 20 -142 591 454 ;
+C 114 ; WX 600 ; N r ; B 47 0 580 454 ;
+C 115 ; WX 600 ; N s ; B 68 -17 535 459 ;
+C 116 ; WX 600 ; N t ; B 47 -15 532 562 ;
+C 117 ; WX 600 ; N u ; B -1 -15 569 439 ;
+C 118 ; WX 600 ; N v ; B -1 0 601 439 ;
+C 119 ; WX 600 ; N w ; B -18 0 618 439 ;
+C 120 ; WX 600 ; N x ; B 6 0 594 439 ;
+C 121 ; WX 600 ; N y ; B -4 -142 601 439 ;
+C 122 ; WX 600 ; N z ; B 81 0 520 439 ;
+C 123 ; WX 600 ; N braceleft ; B 160 -102 464 616 ;
+C 124 ; WX 600 ; N bar ; B 255 -250 345 750 ;
+C 125 ; WX 600 ; N braceright ; B 136 -102 440 616 ;
+C 126 ; WX 600 ; N asciitilde ; B 71 153 530 356 ;
+C 161 ; WX 600 ; N exclamdown ; B 202 -146 398 449 ;
+C 162 ; WX 600 ; N cent ; B 66 -49 518 614 ;
+C 163 ; WX 600 ; N sterling ; B 72 -28 558 611 ;
+C 164 ; WX 600 ; N fraction ; B 25 -60 576 661 ;
+C 165 ; WX 600 ; N yen ; B 10 0 590 562 ;
+C 166 ; WX 600 ; N florin ; B -30 -131 572 616 ;
+C 167 ; WX 600 ; N section ; B 83 -70 517 580 ;
+C 168 ; WX 600 ; N currency ; B 54 49 546 517 ;
+C 169 ; WX 600 ; N quotesingle ; B 227 277 373 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 71 277 535 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 8 70 553 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 141 70 459 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 141 70 459 446 ;
+C 174 ; WX 600 ; N fi ; B 12 0 593 626 ;
+C 175 ; WX 600 ; N fl ; B 12 0 593 626 ;
+C 177 ; WX 600 ; N endash ; B 65 203 535 313 ;
+C 178 ; WX 600 ; N dagger ; B 106 -70 494 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 106 -70 494 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 196 165 404 351 ;
+C 182 ; WX 600 ; N paragraph ; B 6 -70 576 580 ;
+C 183 ; WX 600 ; N bullet ; B 140 132 460 430 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 175 -142 427 143 ;
+C 185 ; WX 600 ; N quotedblbase ; B 65 -142 529 143 ;
+C 186 ; WX 600 ; N quotedblright ; B 61 277 525 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 47 70 592 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 26 -15 574 116 ;
+C 189 ; WX 600 ; N perthousand ; B -113 -15 713 616 ;
+C 191 ; WX 600 ; N questiondown ; B 99 -146 502 449 ;
+C 193 ; WX 600 ; N grave ; B 132 508 395 661 ;
+C 194 ; WX 600 ; N acute ; B 205 508 468 661 ;
+C 195 ; WX 600 ; N circumflex ; B 103 483 497 657 ;
+C 196 ; WX 600 ; N tilde ; B 89 493 512 636 ;
+C 197 ; WX 600 ; N macron ; B 88 505 512 585 ;
+C 198 ; WX 600 ; N breve ; B 83 468 517 631 ;
+C 199 ; WX 600 ; N dotaccent ; B 230 498 370 638 ;
+C 200 ; WX 600 ; N dieresis ; B 128 498 472 638 ;
+C 202 ; WX 600 ; N ring ; B 198 481 402 678 ;
+C 203 ; WX 600 ; N cedilla ; B 205 -206 387 0 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 68 488 588 661 ;
+C 206 ; WX 600 ; N ogonek ; B 169 -199 400 0 ;
+C 207 ; WX 600 ; N caron ; B 103 493 497 667 ;
+C 208 ; WX 600 ; N emdash ; B -10 203 610 313 ;
+C 225 ; WX 600 ; N AE ; B -29 0 602 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 147 196 453 580 ;
+C 232 ; WX 600 ; N Lslash ; B 39 0 578 562 ;
+C 233 ; WX 600 ; N Oslash ; B 22 -22 578 584 ;
+C 234 ; WX 600 ; N OE ; B -25 0 595 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 147 196 453 580 ;
+C 241 ; WX 600 ; N ae ; B -4 -15 601 454 ;
+C 245 ; WX 600 ; N dotlessi ; B 77 0 523 439 ;
+C 248 ; WX 600 ; N lslash ; B 77 0 523 626 ;
+C 249 ; WX 600 ; N oslash ; B 30 -24 570 463 ;
+C 250 ; WX 600 ; N oe ; B -18 -15 611 454 ;
+C 251 ; WX 600 ; N germandbls ; B 22 -15 596 626 ;
+C -1 ; WX 600 ; N Idieresis ; B 77 0 523 761 ;
+C -1 ; WX 600 ; N eacute ; B 40 -15 563 661 ;
+C -1 ; WX 600 ; N Ydieresis ; B 12 0 589 761 ;
+C -1 ; WX 600 ; N divide ; B 71 16 529 500 ;
+C -1 ; WX 600 ; N Yacute ; B 12 0 589 784 ;
+C -1 ; WX 600 ; N Acircumflex ; B -9 0 609 780 ;
+C -1 ; WX 600 ; N aacute ; B 35 -15 570 661 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 4 -18 596 780 ;
+C -1 ; WX 600 ; N yacute ; B -4 -142 601 661 ;
+C -1 ; WX 600 ; N ecircumflex ; B 40 -15 563 657 ;
+C -1 ; WX 600 ; N Udieresis ; B 4 -18 596 761 ;
+C -1 ; WX 600 ; N Uacute ; B 4 -18 596 784 ;
+C -1 ; WX 600 ; N Edieresis ; B 25 0 560 761 ;
+C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N aring ; B 35 -15 570 678 ;
+C -1 ; WX 600 ; N agrave ; B 35 -15 570 661 ;
+C -1 ; WX 600 ; N atilde ; B 35 -15 570 636 ;
+C -1 ; WX 600 ; N scaron ; B 68 -17 535 667 ;
+C -1 ; WX 600 ; N iacute ; B 77 0 523 661 ;
+C -1 ; WX 600 ; N ucircumflex ; B -1 -15 569 657 ;
+C -1 ; WX 600 ; N acircumflex ; B 35 -15 570 657 ;
+C -1 ; WX 600 ; N ccedilla ; B 40 -206 545 459 ;
+C -1 ; WX 600 ; N Thorn ; B 48 0 557 562 ;
+C -1 ; WX 600 ; N threesuperior ; B 138 222 433 616 ;
+C -1 ; WX 600 ; N Ograve ; B 22 -18 578 784 ;
+C -1 ; WX 600 ; N Agrave ; B -9 0 609 784 ;
+C -1 ; WX 600 ; N multiply ; B 81 39 520 478 ;
+C -1 ; WX 600 ; N uacute ; B -1 -15 569 661 ;
+C -1 ; WX 600 ; N ydieresis ; B -4 -142 601 638 ;
+C -1 ; WX 600 ; N icircumflex ; B 73 0 523 657 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 25 0 560 780 ;
+C -1 ; WX 600 ; N adieresis ; B 35 -15 570 638 ;
+C -1 ; WX 600 ; N edieresis ; B 40 -15 563 638 ;
+C -1 ; WX 600 ; N Iacute ; B 77 0 523 784 ;
+C -1 ; WX 600 ; N plusminus ; B 71 24 529 515 ;
+C -1 ; WX 600 ; N brokenbar ; B 255 -175 345 675 ;
+C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Egrave ; B 25 0 560 784 ;
+C -1 ; WX 600 ; N Zcaron ; B 62 0 539 790 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 594 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 22 -206 560 580 ;
+C -1 ; WX 600 ; N Aacute ; B -9 0 609 784 ;
+C -1 ; WX 600 ; N Adieresis ; B -9 0 609 761 ;
+C -1 ; WX 600 ; N egrave ; B 40 -15 563 661 ;
+C -1 ; WX 600 ; N Oacute ; B 22 -18 578 784 ;
+C -1 ; WX 600 ; N oacute ; B 30 -15 570 661 ;
+C -1 ; WX 600 ; N idieresis ; B 77 0 523 618 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 22 -18 578 780 ;
+C -1 ; WX 600 ; N Ugrave ; B 4 -18 596 784 ;
+C -1 ; WX 600 ; N thorn ; B -14 -142 570 626 ;
+C -1 ; WX 600 ; N twosuperior ; B 143 230 436 616 ;
+C -1 ; WX 600 ; N Odieresis ; B 22 -18 578 761 ;
+C -1 ; WX 600 ; N mu ; B -1 -142 569 439 ;
+C -1 ; WX 600 ; N igrave ; B 77 0 523 661 ;
+C -1 ; WX 600 ; N threequarters ; B -47 -60 648 661 ;
+C -1 ; WX 600 ; N trademark ; B -9 230 749 562 ;
+C -1 ; WX 600 ; N Igrave ; B 77 0 523 784 ;
+C -1 ; WX 600 ; N onehalf ; B -47 -60 648 661 ;
+C -1 ; WX 600 ; N ocircumflex ; B 30 -15 570 657 ;
+C -1 ; WX 600 ; N ntilde ; B 18 0 592 636 ;
+C -1 ; WX 600 ; N Eacute ; B 25 0 560 784 ;
+C -1 ; WX 600 ; N onequarter ; B -56 -60 656 661 ;
+C -1 ; WX 600 ; N Scaron ; B 47 -22 553 790 ;
+C -1 ; WX 600 ; N degree ; B 86 243 474 616 ;
+C -1 ; WX 600 ; N ograve ; B 30 -15 570 661 ;
+C -1 ; WX 600 ; N ugrave ; B -1 -15 569 661 ;
+C -1 ; WX 600 ; N Ntilde ; B 8 -12 610 759 ;
+C -1 ; WX 600 ; N otilde ; B 30 -15 570 636 ;
+C -1 ; WX 600 ; N Atilde ; B -9 0 609 759 ;
+C -1 ; WX 600 ; N Aring ; B -9 0 609 801 ;
+C -1 ; WX 600 ; N Otilde ; B 22 -18 578 759 ;
+C -1 ; WX 600 ; N minus ; B 71 203 529 313 ;
+C -1 ; WX 600 ; N Icircumflex ; B 77 0 523 780 ;
+C -1 ; WX 600 ; N logicalnot ; B 71 103 529 413 ;
+C -1 ; WX 600 ; N odieresis ; B 30 -15 570 638 ;
+C -1 ; WX 600 ; N udieresis ; B -1 -15 569 638 ;
+C -1 ; WX 600 ; N eth ; B 58 -27 543 626 ;
+C -1 ; WX 600 ; N zcaron ; B 81 0 520 667 ;
+C -1 ; WX 600 ; N onesuperior ; B 153 230 447 616 ;
+C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/CI b/troff/troff.d/font/devps/CI
new file mode 100644
index 0000000000000..a0fae59723d8c
--- /dev/null
+++ b/troff/troff.d/font/devps/CI
@@ -0,0 +1 @@
+name CI.afm
diff --git a/troff/troff.d/font/devps/CI.afm b/troff/troff.d/font/devps/CI.afm
new file mode 100644
index 0000000000000..ad34fd27f13d1
--- /dev/null
+++ b/troff/troff.d/font/devps/CI.afm
@@ -0,0 +1,256 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 17:37:52 1997
+Comment UniqueID 43051
+Comment VMusage 16248 75829
+FontName Courier-Oblique
+FullName Courier Oblique
+FamilyName Courier
+Weight Medium
+ItalicAngle -12
+IsFixedPitch true
+FontBBox -27 -250 849 805
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 426
+Ascender 629
+Descender -157
+StdHW 51
+StdVW 51
+StartCharMetrics 229
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 243 -15 464 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 273 328 532 562 ;
+C 35 ; WX 600 ; N numbersign ; B 133 -32 596 639 ;
+C 36 ; WX 600 ; N dollar ; B 108 -126 596 662 ;
+C 37 ; WX 600 ; N percent ; B 134 -15 599 622 ;
+C 38 ; WX 600 ; N ampersand ; B 87 -15 580 543 ;
+C 39 ; WX 600 ; N quoteright ; B 283 328 495 562 ;
+C 40 ; WX 600 ; N parenleft ; B 313 -108 572 622 ;
+C 41 ; WX 600 ; N parenright ; B 137 -108 396 622 ;
+C 42 ; WX 600 ; N asterisk ; B 212 257 580 607 ;
+C 43 ; WX 600 ; N plus ; B 129 44 580 470 ;
+C 44 ; WX 600 ; N comma ; B 157 -112 370 122 ;
+C 45 ; WX 600 ; N hyphen ; B 152 231 558 285 ;
+C 46 ; WX 600 ; N period ; B 238 -15 382 109 ;
+C 47 ; WX 600 ; N slash ; B 112 -80 604 629 ;
+C 48 ; WX 600 ; N zero ; B 154 -15 575 622 ;
+C 49 ; WX 600 ; N one ; B 98 0 515 622 ;
+C 50 ; WX 600 ; N two ; B 70 0 568 622 ;
+C 51 ; WX 600 ; N three ; B 82 -15 538 622 ;
+C 52 ; WX 600 ; N four ; B 108 0 541 622 ;
+C 53 ; WX 600 ; N five ; B 99 -15 589 607 ;
+C 54 ; WX 600 ; N six ; B 155 -15 629 622 ;
+C 55 ; WX 600 ; N seven ; B 182 0 612 607 ;
+C 56 ; WX 600 ; N eight ; B 132 -15 588 622 ;
+C 57 ; WX 600 ; N nine ; B 93 -15 574 622 ;
+C 58 ; WX 600 ; N colon ; B 238 -15 441 385 ;
+C 59 ; WX 600 ; N semicolon ; B 157 -112 441 385 ;
+C 60 ; WX 600 ; N less ; B 96 42 610 472 ;
+C 61 ; WX 600 ; N equal ; B 109 138 600 376 ;
+C 62 ; WX 600 ; N greater ; B 85 42 599 472 ;
+C 63 ; WX 600 ; N question ; B 222 -15 583 572 ;
+C 64 ; WX 600 ; N at ; B 127 -15 582 622 ;
+C 65 ; WX 600 ; N A ; B 3 0 607 562 ;
+C 66 ; WX 600 ; N B ; B 43 0 616 562 ;
+C 67 ; WX 600 ; N C ; B 93 -18 655 580 ;
+C 68 ; WX 600 ; N D ; B 43 0 645 562 ;
+C 69 ; WX 600 ; N E ; B 53 0 660 562 ;
+C 70 ; WX 600 ; N F ; B 53 0 660 562 ;
+C 71 ; WX 600 ; N G ; B 83 -18 645 580 ;
+C 72 ; WX 600 ; N H ; B 32 0 687 562 ;
+C 73 ; WX 600 ; N I ; B 96 0 623 562 ;
+C 74 ; WX 600 ; N J ; B 52 -18 685 562 ;
+C 75 ; WX 600 ; N K ; B 38 0 671 562 ;
+C 76 ; WX 600 ; N L ; B 47 0 607 562 ;
+C 77 ; WX 600 ; N M ; B 4 0 715 562 ;
+C 78 ; WX 600 ; N N ; B 7 -13 712 562 ;
+C 79 ; WX 600 ; N O ; B 94 -18 625 580 ;
+C 80 ; WX 600 ; N P ; B 79 0 644 562 ;
+C 81 ; WX 600 ; N Q ; B 95 -138 625 580 ;
+C 82 ; WX 600 ; N R ; B 38 0 598 562 ;
+C 83 ; WX 600 ; N S ; B 76 -20 650 580 ;
+C 84 ; WX 600 ; N T ; B 108 0 665 562 ;
+C 85 ; WX 600 ; N U ; B 125 -18 702 562 ;
+C 86 ; WX 600 ; N V ; B 105 -13 723 562 ;
+C 87 ; WX 600 ; N W ; B 106 -13 722 562 ;
+C 88 ; WX 600 ; N X ; B 23 0 675 562 ;
+C 89 ; WX 600 ; N Y ; B 133 0 695 562 ;
+C 90 ; WX 600 ; N Z ; B 86 0 610 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 246 -108 574 622 ;
+C 92 ; WX 600 ; N backslash ; B 249 -80 468 629 ;
+C 93 ; WX 600 ; N bracketright ; B 135 -108 463 622 ;
+C 94 ; WX 600 ; N asciicircum ; B 175 354 587 622 ;
+C 95 ; WX 600 ; N underscore ; B -27 -125 584 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 343 328 457 562 ;
+C 97 ; WX 600 ; N a ; B 76 -15 569 441 ;
+C 98 ; WX 600 ; N b ; B 29 -15 625 629 ;
+C 99 ; WX 600 ; N c ; B 106 -15 608 441 ;
+C 100 ; WX 600 ; N d ; B 85 -15 640 629 ;
+C 101 ; WX 600 ; N e ; B 106 -15 598 441 ;
+C 102 ; WX 600 ; N f ; B 114 0 662 629 ;
+C 103 ; WX 600 ; N g ; B 61 -157 657 441 ;
+C 104 ; WX 600 ; N h ; B 33 0 592 629 ;
+C 105 ; WX 600 ; N i ; B 95 0 515 657 ;
+C 106 ; WX 600 ; N j ; B 52 -157 550 657 ;
+C 107 ; WX 600 ; N k ; B 58 0 633 629 ;
+C 108 ; WX 600 ; N l ; B 95 0 515 629 ;
+C 109 ; WX 600 ; N m ; B -5 0 615 441 ;
+C 110 ; WX 600 ; N n ; B 26 0 585 441 ;
+C 111 ; WX 600 ; N o ; B 102 -15 588 441 ;
+C 112 ; WX 600 ; N p ; B -24 -157 605 441 ;
+C 113 ; WX 600 ; N q ; B 85 -157 682 441 ;
+C 114 ; WX 600 ; N r ; B 60 0 636 441 ;
+C 115 ; WX 600 ; N s ; B 78 -15 584 441 ;
+C 116 ; WX 600 ; N t ; B 167 -15 561 561 ;
+C 117 ; WX 600 ; N u ; B 101 -15 572 426 ;
+C 118 ; WX 600 ; N v ; B 90 -10 681 426 ;
+C 119 ; WX 600 ; N w ; B 76 -10 695 426 ;
+C 120 ; WX 600 ; N x ; B 20 0 655 426 ;
+C 121 ; WX 600 ; N y ; B -4 -157 683 426 ;
+C 122 ; WX 600 ; N z ; B 99 0 593 426 ;
+C 123 ; WX 600 ; N braceleft ; B 233 -108 569 622 ;
+C 124 ; WX 600 ; N bar ; B 222 -250 485 750 ;
+C 125 ; WX 600 ; N braceright ; B 140 -108 477 622 ;
+C 126 ; WX 600 ; N asciitilde ; B 116 197 600 320 ;
+C 161 ; WX 600 ; N exclamdown ; B 225 -157 445 430 ;
+C 162 ; WX 600 ; N cent ; B 151 -49 588 614 ;
+C 163 ; WX 600 ; N sterling ; B 124 -21 621 611 ;
+C 164 ; WX 600 ; N fraction ; B 84 -57 646 665 ;
+C 165 ; WX 600 ; N yen ; B 120 0 693 562 ;
+C 166 ; WX 600 ; N florin ; B -26 -143 671 622 ;
+C 167 ; WX 600 ; N section ; B 104 -78 590 580 ;
+C 168 ; WX 600 ; N currency ; B 94 58 628 506 ;
+C 169 ; WX 600 ; N quotesingle ; B 345 328 460 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 262 328 541 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 92 70 652 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 204 70 540 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 170 70 506 446 ;
+C 174 ; WX 600 ; N fi ; B 3 0 619 629 ;
+C 175 ; WX 600 ; N fl ; B 3 0 619 629 ;
+C 177 ; WX 600 ; N endash ; B 124 231 586 285 ;
+C 178 ; WX 600 ; N dagger ; B 217 -78 546 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 163 -78 546 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 275 189 434 327 ;
+C 182 ; WX 600 ; N paragraph ; B 100 -78 630 562 ;
+C 183 ; WX 600 ; N bullet ; B 224 130 485 383 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 185 -134 397 100 ;
+C 185 ; WX 600 ; N quotedblbase ; B 115 -134 478 100 ;
+C 186 ; WX 600 ; N quotedblright ; B 213 328 576 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 58 70 618 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 46 -15 575 111 ;
+C 189 ; WX 600 ; N perthousand ; B 59 -15 627 622 ;
+C 191 ; WX 600 ; N questiondown ; B 105 -157 466 430 ;
+C 193 ; WX 600 ; N grave ; B 294 497 484 672 ;
+C 194 ; WX 600 ; N acute ; B 348 497 612 672 ;
+C 195 ; WX 600 ; N circumflex ; B 229 477 581 654 ;
+C 196 ; WX 600 ; N tilde ; B 212 489 629 606 ;
+C 197 ; WX 600 ; N macron ; B 232 525 600 565 ;
+C 198 ; WX 600 ; N breve ; B 279 501 576 609 ;
+C 199 ; WX 600 ; N dotaccent ; B 373 537 478 640 ;
+C 200 ; WX 600 ; N dieresis ; B 272 537 579 640 ;
+C 202 ; WX 600 ; N ring ; B 332 463 500 627 ;
+C 203 ; WX 600 ; N cedilla ; B 197 -151 344 10 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 239 497 683 672 ;
+C 206 ; WX 600 ; N ogonek ; B 189 -172 377 4 ;
+C 207 ; WX 600 ; N caron ; B 262 492 614 669 ;
+C 208 ; WX 600 ; N emdash ; B 49 231 661 285 ;
+C 225 ; WX 600 ; N AE ; B 3 0 655 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 209 249 512 580 ;
+C 232 ; WX 600 ; N Lslash ; B 47 0 607 562 ;
+C 233 ; WX 600 ; N Oslash ; B 94 -80 625 629 ;
+C 234 ; WX 600 ; N OE ; B 59 0 672 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 210 249 535 580 ;
+C 241 ; WX 600 ; N ae ; B 41 -15 626 441 ;
+C 245 ; WX 600 ; N dotlessi ; B 95 0 515 426 ;
+C 248 ; WX 600 ; N lslash ; B 95 0 587 629 ;
+C 249 ; WX 600 ; N oslash ; B 102 -80 588 506 ;
+C 250 ; WX 600 ; N oe ; B 54 -15 615 441 ;
+C 251 ; WX 600 ; N germandbls ; B 48 -15 617 629 ;
+C -1 ; WX 600 ; N Idieresis ; B 96 0 623 753 ;
+C -1 ; WX 600 ; N eacute ; B 106 -15 612 672 ;
+C -1 ; WX 600 ; N Ydieresis ; B 133 0 695 753 ;
+C -1 ; WX 600 ; N divide ; B 136 48 573 467 ;
+C -1 ; WX 600 ; N Yacute ; B 133 0 695 805 ;
+C -1 ; WX 600 ; N Acircumflex ; B 3 0 607 787 ;
+C -1 ; WX 600 ; N aacute ; B 76 -15 612 672 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 125 -18 702 787 ;
+C -1 ; WX 600 ; N yacute ; B -4 -157 683 672 ;
+C -1 ; WX 600 ; N ecircumflex ; B 106 -15 598 654 ;
+C -1 ; WX 600 ; N Udieresis ; B 125 -18 702 753 ;
+C -1 ; WX 600 ; N Uacute ; B 125 -18 702 805 ;
+C -1 ; WX 600 ; N Edieresis ; B 53 0 660 753 ;
+C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N aring ; B 76 -15 569 627 ;
+C -1 ; WX 600 ; N agrave ; B 76 -15 569 672 ;
+C -1 ; WX 600 ; N atilde ; B 76 -15 629 606 ;
+C -1 ; WX 600 ; N scaron ; B 78 -15 614 669 ;
+C -1 ; WX 600 ; N iacute ; B 95 0 612 672 ;
+C -1 ; WX 600 ; N ucircumflex ; B 101 -15 572 654 ;
+C -1 ; WX 600 ; N acircumflex ; B 76 -15 581 654 ;
+C -1 ; WX 600 ; N ccedilla ; B 106 -151 614 441 ;
+C -1 ; WX 600 ; N Thorn ; B 79 0 606 562 ;
+C -1 ; WX 600 ; N threesuperior ; B 213 240 501 622 ;
+C -1 ; WX 600 ; N Ograve ; B 94 -18 625 805 ;
+C -1 ; WX 600 ; N Agrave ; B 3 0 607 805 ;
+C -1 ; WX 600 ; N multiply ; B 103 43 607 470 ;
+C -1 ; WX 600 ; N uacute ; B 101 -15 602 672 ;
+C -1 ; WX 600 ; N ydieresis ; B -4 -157 683 620 ;
+C -1 ; WX 600 ; N icircumflex ; B 95 0 551 654 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 53 0 660 787 ;
+C -1 ; WX 600 ; N adieresis ; B 76 -15 575 620 ;
+C -1 ; WX 600 ; N edieresis ; B 106 -15 598 620 ;
+C -1 ; WX 600 ; N Iacute ; B 96 0 640 805 ;
+C -1 ; WX 600 ; N plusminus ; B 96 44 594 558 ;
+C -1 ; WX 600 ; N brokenbar ; B 238 -175 469 675 ;
+C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Egrave ; B 53 0 660 805 ;
+C -1 ; WX 600 ; N Zcaron ; B 86 0 642 802 ;
+C -1 ; WX 600 ; N Eth ; B 43 0 645 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 93 -151 658 580 ;
+C -1 ; WX 600 ; N Aacute ; B 3 0 660 805 ;
+C -1 ; WX 600 ; N Adieresis ; B 3 0 607 753 ;
+C -1 ; WX 600 ; N egrave ; B 106 -15 598 672 ;
+C -1 ; WX 600 ; N Oacute ; B 94 -18 640 805 ;
+C -1 ; WX 600 ; N oacute ; B 102 -15 612 672 ;
+C -1 ; WX 600 ; N idieresis ; B 95 0 545 620 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 94 -18 625 787 ;
+C -1 ; WX 600 ; N Ugrave ; B 125 -18 702 805 ;
+C -1 ; WX 600 ; N thorn ; B -24 -157 605 629 ;
+C -1 ; WX 600 ; N twosuperior ; B 230 249 535 622 ;
+C -1 ; WX 600 ; N Odieresis ; B 94 -18 625 753 ;
+C -1 ; WX 600 ; N mu ; B 72 -157 572 426 ;
+C -1 ; WX 600 ; N igrave ; B 95 0 515 672 ;
+C -1 ; WX 600 ; N threequarters ; B 73 -56 659 666 ;
+C -1 ; WX 600 ; N trademark ; B 75 263 742 562 ;
+C -1 ; WX 600 ; N Igrave ; B 96 0 623 805 ;
+C -1 ; WX 600 ; N onehalf ; B 65 -57 669 665 ;
+C -1 ; WX 600 ; N ocircumflex ; B 102 -15 588 654 ;
+C -1 ; WX 600 ; N ntilde ; B 26 0 629 606 ;
+C -1 ; WX 600 ; N Eacute ; B 53 0 670 805 ;
+C -1 ; WX 600 ; N onequarter ; B 65 -57 674 665 ;
+C -1 ; WX 600 ; N Scaron ; B 76 -20 672 802 ;
+C -1 ; WX 600 ; N degree ; B 214 269 576 622 ;
+C -1 ; WX 600 ; N ograve ; B 102 -15 588 672 ;
+C -1 ; WX 600 ; N ugrave ; B 101 -15 572 672 ;
+C -1 ; WX 600 ; N Ntilde ; B 7 -13 712 729 ;
+C -1 ; WX 600 ; N otilde ; B 102 -15 629 606 ;
+C -1 ; WX 600 ; N Atilde ; B 3 0 655 729 ;
+C -1 ; WX 600 ; N Aring ; B 3 0 607 750 ;
+C -1 ; WX 600 ; N Otilde ; B 94 -18 655 729 ;
+C -1 ; WX 600 ; N minus ; B 129 232 580 283 ;
+C -1 ; WX 600 ; N Icircumflex ; B 96 0 623 787 ;
+C -1 ; WX 600 ; N logicalnot ; B 155 108 591 369 ;
+C -1 ; WX 600 ; N odieresis ; B 102 -15 588 620 ;
+C -1 ; WX 600 ; N udieresis ; B 101 -15 575 620 ;
+C -1 ; WX 600 ; N eth ; B 102 -15 639 629 ;
+C -1 ; WX 600 ; N zcaron ; B 99 0 624 669 ;
+C -1 ; WX 600 ; N onesuperior ; B 231 249 491 622 ;
+C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/CW b/troff/troff.d/font/devps/CW
new file mode 100644
index 0000000000000..3a8056a27b4bd
--- /dev/null
+++ b/troff/troff.d/font/devps/CW
@@ -0,0 +1 @@
+name CW.afm
diff --git a/troff/troff.d/font/devps/CW.afm b/troff/troff.d/font/devps/CW.afm
new file mode 100644
index 0000000000000..2c88cff342f74
--- /dev/null
+++ b/troff/troff.d/font/devps/CW.afm
@@ -0,0 +1,256 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 17:27:09 1997
+Comment UniqueID 43050
+Comment VMusage 39754 50779
+FontName Courier
+FullName Courier
+FamilyName Courier
+Weight Medium
+ItalicAngle 0
+IsFixedPitch true
+FontBBox -23 -250 715 805
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 426
+Ascender 629
+Descender -157
+StdHW 51
+StdVW 51
+StartCharMetrics 229
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 236 -15 364 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 187 328 413 562 ;
+C 35 ; WX 600 ; N numbersign ; B 93 -32 507 639 ;
+C 36 ; WX 600 ; N dollar ; B 105 -126 496 662 ;
+C 37 ; WX 600 ; N percent ; B 81 -15 518 622 ;
+C 38 ; WX 600 ; N ampersand ; B 63 -15 538 543 ;
+C 39 ; WX 600 ; N quoteright ; B 213 328 376 562 ;
+C 40 ; WX 600 ; N parenleft ; B 269 -108 440 622 ;
+C 41 ; WX 600 ; N parenright ; B 160 -108 331 622 ;
+C 42 ; WX 600 ; N asterisk ; B 116 257 484 607 ;
+C 43 ; WX 600 ; N plus ; B 80 44 520 470 ;
+C 44 ; WX 600 ; N comma ; B 181 -112 344 122 ;
+C 45 ; WX 600 ; N hyphen ; B 103 231 497 285 ;
+C 46 ; WX 600 ; N period ; B 229 -15 371 109 ;
+C 47 ; WX 600 ; N slash ; B 125 -80 475 629 ;
+C 48 ; WX 600 ; N zero ; B 106 -15 494 622 ;
+C 49 ; WX 600 ; N one ; B 96 0 505 622 ;
+C 50 ; WX 600 ; N two ; B 70 0 471 622 ;
+C 51 ; WX 600 ; N three ; B 75 -15 466 622 ;
+C 52 ; WX 600 ; N four ; B 78 0 500 622 ;
+C 53 ; WX 600 ; N five ; B 92 -15 497 607 ;
+C 54 ; WX 600 ; N six ; B 111 -15 497 622 ;
+C 55 ; WX 600 ; N seven ; B 82 0 483 607 ;
+C 56 ; WX 600 ; N eight ; B 102 -15 498 622 ;
+C 57 ; WX 600 ; N nine ; B 96 -15 489 622 ;
+C 58 ; WX 600 ; N colon ; B 229 -15 371 385 ;
+C 59 ; WX 600 ; N semicolon ; B 181 -112 371 385 ;
+C 60 ; WX 600 ; N less ; B 41 42 519 472 ;
+C 61 ; WX 600 ; N equal ; B 80 138 520 376 ;
+C 62 ; WX 600 ; N greater ; B 66 42 544 472 ;
+C 63 ; WX 600 ; N question ; B 129 -15 492 572 ;
+C 64 ; WX 600 ; N at ; B 77 -15 533 622 ;
+C 65 ; WX 600 ; N A ; B 3 0 597 562 ;
+C 66 ; WX 600 ; N B ; B 43 0 559 562 ;
+C 67 ; WX 600 ; N C ; B 41 -18 540 580 ;
+C 68 ; WX 600 ; N D ; B 43 0 574 562 ;
+C 69 ; WX 600 ; N E ; B 53 0 550 562 ;
+C 70 ; WX 600 ; N F ; B 53 0 545 562 ;
+C 71 ; WX 600 ; N G ; B 31 -18 575 580 ;
+C 72 ; WX 600 ; N H ; B 32 0 568 562 ;
+C 73 ; WX 600 ; N I ; B 96 0 504 562 ;
+C 74 ; WX 600 ; N J ; B 34 -18 566 562 ;
+C 75 ; WX 600 ; N K ; B 38 0 582 562 ;
+C 76 ; WX 600 ; N L ; B 47 0 554 562 ;
+C 77 ; WX 600 ; N M ; B 4 0 596 562 ;
+C 78 ; WX 600 ; N N ; B 7 -13 593 562 ;
+C 79 ; WX 600 ; N O ; B 43 -18 557 580 ;
+C 80 ; WX 600 ; N P ; B 79 0 558 562 ;
+C 81 ; WX 600 ; N Q ; B 43 -138 557 580 ;
+C 82 ; WX 600 ; N R ; B 38 0 588 562 ;
+C 83 ; WX 600 ; N S ; B 72 -20 529 580 ;
+C 84 ; WX 600 ; N T ; B 38 0 563 562 ;
+C 85 ; WX 600 ; N U ; B 17 -18 583 562 ;
+C 86 ; WX 600 ; N V ; B -4 -13 604 562 ;
+C 87 ; WX 600 ; N W ; B -3 -13 603 562 ;
+C 88 ; WX 600 ; N X ; B 23 0 577 562 ;
+C 89 ; WX 600 ; N Y ; B 24 0 576 562 ;
+C 90 ; WX 600 ; N Z ; B 86 0 514 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 269 -108 442 622 ;
+C 92 ; WX 600 ; N backslash ; B 118 -80 482 629 ;
+C 93 ; WX 600 ; N bracketright ; B 158 -108 331 622 ;
+C 94 ; WX 600 ; N asciicircum ; B 94 354 506 622 ;
+C 95 ; WX 600 ; N underscore ; B 0 -125 600 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 224 328 387 562 ;
+C 97 ; WX 600 ; N a ; B 53 -15 559 441 ;
+C 98 ; WX 600 ; N b ; B 14 -15 575 629 ;
+C 99 ; WX 600 ; N c ; B 66 -15 529 441 ;
+C 100 ; WX 600 ; N d ; B 45 -15 591 629 ;
+C 101 ; WX 600 ; N e ; B 66 -15 548 441 ;
+C 102 ; WX 600 ; N f ; B 114 0 531 629 ;
+C 103 ; WX 600 ; N g ; B 45 -157 566 441 ;
+C 104 ; WX 600 ; N h ; B 18 0 582 629 ;
+C 105 ; WX 600 ; N i ; B 95 0 505 657 ;
+C 106 ; WX 600 ; N j ; B 82 -157 410 657 ;
+C 107 ; WX 600 ; N k ; B 43 0 580 629 ;
+C 108 ; WX 600 ; N l ; B 95 0 505 629 ;
+C 109 ; WX 600 ; N m ; B -5 0 605 441 ;
+C 110 ; WX 600 ; N n ; B 26 0 575 441 ;
+C 111 ; WX 600 ; N o ; B 62 -15 538 441 ;
+C 112 ; WX 600 ; N p ; B 9 -157 555 441 ;
+C 113 ; WX 600 ; N q ; B 45 -157 591 441 ;
+C 114 ; WX 600 ; N r ; B 60 0 559 441 ;
+C 115 ; WX 600 ; N s ; B 80 -15 513 441 ;
+C 116 ; WX 600 ; N t ; B 87 -15 530 561 ;
+C 117 ; WX 600 ; N u ; B 21 -15 562 426 ;
+C 118 ; WX 600 ; N v ; B 10 -10 590 426 ;
+C 119 ; WX 600 ; N w ; B -4 -10 604 426 ;
+C 120 ; WX 600 ; N x ; B 20 0 580 426 ;
+C 121 ; WX 600 ; N y ; B 7 -157 592 426 ;
+C 122 ; WX 600 ; N z ; B 99 0 502 426 ;
+C 123 ; WX 600 ; N braceleft ; B 182 -108 437 622 ;
+C 124 ; WX 600 ; N bar ; B 275 -250 326 750 ;
+C 125 ; WX 600 ; N braceright ; B 163 -108 418 622 ;
+C 126 ; WX 600 ; N asciitilde ; B 63 197 540 320 ;
+C 161 ; WX 600 ; N exclamdown ; B 236 -157 364 430 ;
+C 162 ; WX 600 ; N cent ; B 96 -49 500 614 ;
+C 163 ; WX 600 ; N sterling ; B 84 -21 521 611 ;
+C 164 ; WX 600 ; N fraction ; B 92 -57 509 665 ;
+C 165 ; WX 600 ; N yen ; B 26 0 574 562 ;
+C 166 ; WX 600 ; N florin ; B 4 -143 539 622 ;
+C 167 ; WX 600 ; N section ; B 113 -78 488 580 ;
+C 168 ; WX 600 ; N currency ; B 73 58 527 506 ;
+C 169 ; WX 600 ; N quotesingle ; B 259 328 341 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 143 328 471 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 37 70 563 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 149 70 451 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 149 70 451 446 ;
+C 174 ; WX 600 ; N fi ; B 3 0 597 629 ;
+C 175 ; WX 600 ; N fl ; B 3 0 597 629 ;
+C 177 ; WX 600 ; N endash ; B 75 231 525 285 ;
+C 178 ; WX 600 ; N dagger ; B 141 -78 459 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 141 -78 459 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 222 189 378 327 ;
+C 182 ; WX 600 ; N paragraph ; B 50 -78 511 562 ;
+C 183 ; WX 600 ; N bullet ; B 172 130 428 383 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 213 -134 376 100 ;
+C 185 ; WX 600 ; N quotedblbase ; B 143 -134 457 100 ;
+C 186 ; WX 600 ; N quotedblright ; B 143 328 457 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 37 70 563 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 37 -15 563 111 ;
+C 189 ; WX 600 ; N perthousand ; B 3 -15 600 622 ;
+C 191 ; WX 600 ; N questiondown ; B 108 -157 471 430 ;
+C 193 ; WX 600 ; N grave ; B 151 497 378 672 ;
+C 194 ; WX 600 ; N acute ; B 242 497 469 672 ;
+C 195 ; WX 600 ; N circumflex ; B 124 477 476 654 ;
+C 196 ; WX 600 ; N tilde ; B 105 489 503 606 ;
+C 197 ; WX 600 ; N macron ; B 120 525 480 565 ;
+C 198 ; WX 600 ; N breve ; B 153 501 447 609 ;
+C 199 ; WX 600 ; N dotaccent ; B 249 537 352 640 ;
+C 200 ; WX 600 ; N dieresis ; B 148 537 453 640 ;
+C 202 ; WX 600 ; N ring ; B 218 463 382 627 ;
+C 203 ; WX 600 ; N cedilla ; B 224 -151 362 10 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 133 497 540 672 ;
+C 206 ; WX 600 ; N ogonek ; B 211 -172 407 4 ;
+C 207 ; WX 600 ; N caron ; B 124 492 476 669 ;
+C 208 ; WX 600 ; N emdash ; B 0 231 600 285 ;
+C 225 ; WX 600 ; N AE ; B 3 0 550 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 156 249 442 580 ;
+C 232 ; WX 600 ; N Lslash ; B 47 0 554 562 ;
+C 233 ; WX 600 ; N Oslash ; B 43 -80 557 629 ;
+C 234 ; WX 600 ; N OE ; B 7 0 567 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 157 249 443 580 ;
+C 241 ; WX 600 ; N ae ; B 19 -15 570 441 ;
+C 245 ; WX 600 ; N dotlessi ; B 95 0 505 426 ;
+C 248 ; WX 600 ; N lslash ; B 95 0 505 629 ;
+C 249 ; WX 600 ; N oslash ; B 62 -80 538 506 ;
+C 250 ; WX 600 ; N oe ; B 19 -15 559 441 ;
+C 251 ; WX 600 ; N germandbls ; B 48 -15 588 629 ;
+C -1 ; WX 600 ; N Idieresis ; B 96 0 504 753 ;
+C -1 ; WX 600 ; N eacute ; B 66 -15 548 672 ;
+C -1 ; WX 600 ; N Ydieresis ; B 24 0 576 753 ;
+C -1 ; WX 600 ; N divide ; B 87 48 513 467 ;
+C -1 ; WX 600 ; N Yacute ; B 24 0 576 805 ;
+C -1 ; WX 600 ; N Acircumflex ; B 3 0 597 787 ;
+C -1 ; WX 600 ; N aacute ; B 53 -15 559 672 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 17 -18 583 787 ;
+C -1 ; WX 600 ; N yacute ; B 7 -157 592 672 ;
+C -1 ; WX 600 ; N ecircumflex ; B 66 -15 548 654 ;
+C -1 ; WX 600 ; N Udieresis ; B 17 -18 583 753 ;
+C -1 ; WX 600 ; N Uacute ; B 17 -18 583 805 ;
+C -1 ; WX 600 ; N Edieresis ; B 53 0 550 753 ;
+C -1 ; WX 600 ; N copyright ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N aring ; B 53 -15 559 627 ;
+C -1 ; WX 600 ; N agrave ; B 53 -15 559 672 ;
+C -1 ; WX 600 ; N atilde ; B 53 -15 559 606 ;
+C -1 ; WX 600 ; N scaron ; B 80 -15 513 669 ;
+C -1 ; WX 600 ; N iacute ; B 95 0 505 672 ;
+C -1 ; WX 600 ; N ucircumflex ; B 21 -15 562 654 ;
+C -1 ; WX 600 ; N acircumflex ; B 53 -15 559 654 ;
+C -1 ; WX 600 ; N ccedilla ; B 66 -151 529 441 ;
+C -1 ; WX 600 ; N Thorn ; B 79 0 538 562 ;
+C -1 ; WX 600 ; N threesuperior ; B 155 240 406 622 ;
+C -1 ; WX 600 ; N Ograve ; B 43 -18 557 805 ;
+C -1 ; WX 600 ; N Agrave ; B 3 0 597 805 ;
+C -1 ; WX 600 ; N multiply ; B 87 43 515 470 ;
+C -1 ; WX 600 ; N uacute ; B 21 -15 562 672 ;
+C -1 ; WX 600 ; N ydieresis ; B 7 -157 592 620 ;
+C -1 ; WX 600 ; N icircumflex ; B 94 0 505 654 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 53 0 550 787 ;
+C -1 ; WX 600 ; N adieresis ; B 53 -15 559 620 ;
+C -1 ; WX 600 ; N edieresis ; B 66 -15 548 620 ;
+C -1 ; WX 600 ; N Iacute ; B 96 0 504 805 ;
+C -1 ; WX 600 ; N plusminus ; B 87 44 513 558 ;
+C -1 ; WX 600 ; N brokenbar ; B 275 -175 326 675 ;
+C -1 ; WX 600 ; N registered ; B 0 -18 600 580 ;
+C -1 ; WX 600 ; N Egrave ; B 53 0 550 805 ;
+C -1 ; WX 600 ; N Zcaron ; B 86 0 514 802 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 574 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 41 -151 540 580 ;
+C -1 ; WX 600 ; N Aacute ; B 3 0 597 805 ;
+C -1 ; WX 600 ; N Adieresis ; B 3 0 597 753 ;
+C -1 ; WX 600 ; N egrave ; B 66 -15 548 672 ;
+C -1 ; WX 600 ; N Oacute ; B 43 -18 557 805 ;
+C -1 ; WX 600 ; N oacute ; B 62 -15 538 672 ;
+C -1 ; WX 600 ; N idieresis ; B 95 0 505 620 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 43 -18 557 787 ;
+C -1 ; WX 600 ; N Ugrave ; B 17 -18 583 805 ;
+C -1 ; WX 600 ; N thorn ; B -6 -157 555 629 ;
+C -1 ; WX 600 ; N twosuperior ; B 177 249 424 622 ;
+C -1 ; WX 600 ; N Odieresis ; B 43 -18 557 753 ;
+C -1 ; WX 600 ; N mu ; B 21 -157 562 426 ;
+C -1 ; WX 600 ; N igrave ; B 95 0 505 672 ;
+C -1 ; WX 600 ; N threequarters ; B 8 -56 593 666 ;
+C -1 ; WX 600 ; N trademark ; B -23 263 623 562 ;
+C -1 ; WX 600 ; N Igrave ; B 96 0 504 805 ;
+C -1 ; WX 600 ; N onehalf ; B 0 -57 611 665 ;
+C -1 ; WX 600 ; N ocircumflex ; B 62 -15 538 654 ;
+C -1 ; WX 600 ; N ntilde ; B 26 0 575 606 ;
+C -1 ; WX 600 ; N Eacute ; B 53 0 550 805 ;
+C -1 ; WX 600 ; N onequarter ; B 0 -57 600 665 ;
+C -1 ; WX 600 ; N Scaron ; B 72 -20 529 802 ;
+C -1 ; WX 600 ; N degree ; B 123 269 477 622 ;
+C -1 ; WX 600 ; N ograve ; B 62 -15 538 672 ;
+C -1 ; WX 600 ; N ugrave ; B 21 -15 562 672 ;
+C -1 ; WX 600 ; N Ntilde ; B 7 -13 593 729 ;
+C -1 ; WX 600 ; N otilde ; B 62 -15 538 606 ;
+C -1 ; WX 600 ; N Atilde ; B 3 0 597 729 ;
+C -1 ; WX 600 ; N Aring ; B 3 0 597 750 ;
+C -1 ; WX 600 ; N Otilde ; B 43 -18 557 729 ;
+C -1 ; WX 600 ; N minus ; B 80 232 520 283 ;
+C -1 ; WX 600 ; N Icircumflex ; B 96 0 504 787 ;
+C -1 ; WX 600 ; N logicalnot ; B 87 108 513 369 ;
+C -1 ; WX 600 ; N odieresis ; B 62 -15 538 620 ;
+C -1 ; WX 600 ; N udieresis ; B 21 -15 562 620 ;
+C -1 ; WX 600 ; N eth ; B 62 -15 538 629 ;
+C -1 ; WX 600 ; N zcaron ; B 99 0 502 669 ;
+C -1 ; WX 600 ; N onesuperior ; B 172 249 428 622 ;
+C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/CX b/troff/troff.d/font/devps/CX
new file mode 100644
index 0000000000000..0adb40da3d2ea
--- /dev/null
+++ b/troff/troff.d/font/devps/CX
@@ -0,0 +1 @@
+name CX.afm
diff --git a/troff/troff.d/font/devps/CX.afm b/troff/troff.d/font/devps/CX.afm
new file mode 100644
index 0000000000000..e8dab19a682f2
--- /dev/null
+++ b/troff/troff.d/font/devps/CX.afm
@@ -0,0 +1,256 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Mon Jun 23 16:28:46 1997
+Comment UniqueID 43049
+Comment VMusage 17529 79244
+FontName Courier-BoldOblique
+FullName Courier Bold Oblique
+FamilyName Courier
+Weight Bold
+ItalicAngle -12
+IsFixedPitch true
+FontBBox -57 -250 869 801
+UnderlinePosition -100
+UnderlineThickness 50
+Version 003.000
+Notice Copyright (c) 1989, 1990, 1991, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+EncodingScheme AdobeStandardEncoding
+CapHeight 562
+XHeight 439
+Ascender 629
+Descender -157
+StdHW 84
+StdVW 106
+StartCharMetrics 229
+C 32 ; WX 600 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 600 ; N exclam ; B 215 -15 495 572 ;
+C 34 ; WX 600 ; N quotedbl ; B 211 277 585 562 ;
+C 35 ; WX 600 ; N numbersign ; B 88 -45 641 651 ;
+C 36 ; WX 600 ; N dollar ; B 87 -126 630 666 ;
+C 37 ; WX 600 ; N percent ; B 101 -15 625 616 ;
+C 38 ; WX 600 ; N ampersand ; B 61 -15 595 543 ;
+C 39 ; WX 600 ; N quoteright ; B 229 277 543 562 ;
+C 40 ; WX 600 ; N parenleft ; B 265 -102 592 616 ;
+C 41 ; WX 600 ; N parenright ; B 117 -102 444 616 ;
+C 42 ; WX 600 ; N asterisk ; B 179 219 598 601 ;
+C 43 ; WX 600 ; N plus ; B 114 39 596 478 ;
+C 44 ; WX 600 ; N comma ; B 99 -111 430 174 ;
+C 45 ; WX 600 ; N hyphen ; B 143 203 567 313 ;
+C 46 ; WX 600 ; N period ; B 206 -15 427 171 ;
+C 47 ; WX 600 ; N slash ; B 90 -77 626 626 ;
+C 48 ; WX 600 ; N zero ; B 135 -15 593 616 ;
+C 49 ; WX 600 ; N one ; B 93 0 562 616 ;
+C 50 ; WX 600 ; N two ; B 61 0 594 616 ;
+C 51 ; WX 600 ; N three ; B 71 -15 571 616 ;
+C 52 ; WX 600 ; N four ; B 81 0 559 616 ;
+C 53 ; WX 600 ; N five ; B 77 -15 621 601 ;
+C 54 ; WX 600 ; N six ; B 135 -15 652 616 ;
+C 55 ; WX 600 ; N seven ; B 147 0 622 601 ;
+C 56 ; WX 600 ; N eight ; B 115 -15 604 616 ;
+C 57 ; WX 600 ; N nine ; B 75 -15 592 616 ;
+C 58 ; WX 600 ; N colon ; B 205 -15 480 425 ;
+C 59 ; WX 600 ; N semicolon ; B 99 -111 481 425 ;
+C 60 ; WX 600 ; N less ; B 120 15 613 501 ;
+C 61 ; WX 600 ; N equal ; B 96 118 614 398 ;
+C 62 ; WX 600 ; N greater ; B 97 15 589 501 ;
+C 63 ; WX 600 ; N question ; B 183 -14 592 580 ;
+C 64 ; WX 600 ; N at ; B 65 -15 642 616 ;
+C 65 ; WX 600 ; N A ; B -9 0 632 562 ;
+C 66 ; WX 600 ; N B ; B 30 0 630 562 ;
+C 67 ; WX 600 ; N C ; B 74 -18 675 580 ;
+C 68 ; WX 600 ; N D ; B 30 0 664 562 ;
+C 69 ; WX 600 ; N E ; B 25 0 670 562 ;
+C 70 ; WX 600 ; N F ; B 39 0 684 562 ;
+C 71 ; WX 600 ; N G ; B 74 -18 675 580 ;
+C 72 ; WX 600 ; N H ; B 20 0 700 562 ;
+C 73 ; WX 600 ; N I ; B 77 0 643 562 ;
+C 74 ; WX 600 ; N J ; B 58 -18 721 562 ;
+C 75 ; WX 600 ; N K ; B 21 0 692 562 ;
+C 76 ; WX 600 ; N L ; B 39 0 636 562 ;
+C 77 ; WX 600 ; N M ; B -2 0 722 562 ;
+C 78 ; WX 600 ; N N ; B 8 -12 730 562 ;
+C 79 ; WX 600 ; N O ; B 74 -18 645 580 ;
+C 80 ; WX 600 ; N P ; B 48 0 643 562 ;
+C 81 ; WX 600 ; N Q ; B 83 -138 636 580 ;
+C 82 ; WX 600 ; N R ; B 24 0 617 562 ;
+C 83 ; WX 600 ; N S ; B 54 -22 673 582 ;
+C 84 ; WX 600 ; N T ; B 86 0 679 562 ;
+C 85 ; WX 600 ; N U ; B 101 -18 716 562 ;
+C 86 ; WX 600 ; N V ; B 84 0 733 562 ;
+C 87 ; WX 600 ; N W ; B 79 0 738 562 ;
+C 88 ; WX 600 ; N X ; B 12 0 690 562 ;
+C 89 ; WX 600 ; N Y ; B 109 0 709 562 ;
+C 90 ; WX 600 ; N Z ; B 62 0 637 562 ;
+C 91 ; WX 600 ; N bracketleft ; B 223 -102 606 616 ;
+C 92 ; WX 600 ; N backslash ; B 222 -77 496 626 ;
+C 93 ; WX 600 ; N bracketright ; B 103 -102 486 616 ;
+C 94 ; WX 600 ; N asciicircum ; B 171 250 556 616 ;
+C 95 ; WX 600 ; N underscore ; B -27 -125 585 -75 ;
+C 96 ; WX 600 ; N quoteleft ; B 297 277 487 562 ;
+C 97 ; WX 600 ; N a ; B 61 -15 593 454 ;
+C 98 ; WX 600 ; N b ; B 13 -15 636 626 ;
+C 99 ; WX 600 ; N c ; B 81 -15 631 459 ;
+C 100 ; WX 600 ; N d ; B 60 -15 645 626 ;
+C 101 ; WX 600 ; N e ; B 81 -15 605 454 ;
+C 102 ; WX 600 ; N f ; B 83 0 677 626 ;
+C 103 ; WX 600 ; N g ; B 40 -146 674 454 ;
+C 104 ; WX 600 ; N h ; B 18 0 615 626 ;
+C 105 ; WX 600 ; N i ; B 77 0 546 658 ;
+C 106 ; WX 600 ; N j ; B 36 -146 580 658 ;
+C 107 ; WX 600 ; N k ; B 33 0 643 626 ;
+C 108 ; WX 600 ; N l ; B 77 0 546 626 ;
+C 109 ; WX 600 ; N m ; B -22 0 649 454 ;
+C 110 ; WX 600 ; N n ; B 18 0 615 454 ;
+C 111 ; WX 600 ; N o ; B 71 -15 622 454 ;
+C 112 ; WX 600 ; N p ; B -32 -142 622 454 ;
+C 113 ; WX 600 ; N q ; B 60 -142 685 454 ;
+C 114 ; WX 600 ; N r ; B 47 0 655 454 ;
+C 115 ; WX 600 ; N s ; B 66 -17 608 459 ;
+C 116 ; WX 600 ; N t ; B 118 -15 567 562 ;
+C 117 ; WX 600 ; N u ; B 70 -15 592 439 ;
+C 118 ; WX 600 ; N v ; B 70 0 695 439 ;
+C 119 ; WX 600 ; N w ; B 53 0 712 439 ;
+C 120 ; WX 600 ; N x ; B 6 0 671 439 ;
+C 121 ; WX 600 ; N y ; B -21 -142 695 439 ;
+C 122 ; WX 600 ; N z ; B 81 0 614 439 ;
+C 123 ; WX 600 ; N braceleft ; B 203 -102 595 616 ;
+C 124 ; WX 600 ; N bar ; B 201 -250 505 750 ;
+C 125 ; WX 600 ; N braceright ; B 114 -102 506 616 ;
+C 126 ; WX 600 ; N asciitilde ; B 120 153 590 356 ;
+C 161 ; WX 600 ; N exclamdown ; B 196 -146 477 449 ;
+C 162 ; WX 600 ; N cent ; B 121 -49 605 614 ;
+C 163 ; WX 600 ; N sterling ; B 106 -28 650 611 ;
+C 164 ; WX 600 ; N fraction ; B 22 -60 708 661 ;
+C 165 ; WX 600 ; N yen ; B 98 0 710 562 ;
+C 166 ; WX 600 ; N florin ; B -57 -131 702 616 ;
+C 167 ; WX 600 ; N section ; B 74 -70 620 580 ;
+C 168 ; WX 600 ; N currency ; B 77 49 644 517 ;
+C 169 ; WX 600 ; N quotesingle ; B 303 277 493 562 ;
+C 170 ; WX 600 ; N quotedblleft ; B 190 277 594 562 ;
+C 171 ; WX 600 ; N guillemotleft ; B 62 70 639 446 ;
+C 172 ; WX 600 ; N guilsinglleft ; B 195 70 545 446 ;
+C 173 ; WX 600 ; N guilsinglright ; B 165 70 514 446 ;
+C 174 ; WX 600 ; N fi ; B 12 0 644 626 ;
+C 175 ; WX 600 ; N fl ; B 12 0 644 626 ;
+C 177 ; WX 600 ; N endash ; B 108 203 602 313 ;
+C 178 ; WX 600 ; N dagger ; B 175 -70 586 580 ;
+C 179 ; WX 600 ; N daggerdbl ; B 121 -70 587 580 ;
+C 180 ; WX 600 ; N periodcentered ; B 248 165 461 351 ;
+C 182 ; WX 600 ; N paragraph ; B 61 -70 700 580 ;
+C 183 ; WX 600 ; N bullet ; B 196 132 523 430 ;
+C 184 ; WX 600 ; N quotesinglbase ; B 144 -142 458 143 ;
+C 185 ; WX 600 ; N quotedblbase ; B 34 -142 560 143 ;
+C 186 ; WX 600 ; N quotedblright ; B 119 277 645 562 ;
+C 187 ; WX 600 ; N guillemotright ; B 71 70 647 446 ;
+C 188 ; WX 600 ; N ellipsis ; B 35 -15 587 116 ;
+C 189 ; WX 600 ; N perthousand ; B -45 -15 743 616 ;
+C 191 ; WX 600 ; N questiondown ; B 100 -146 509 449 ;
+C 193 ; WX 600 ; N grave ; B 272 508 503 661 ;
+C 194 ; WX 600 ; N acute ; B 312 508 609 661 ;
+C 195 ; WX 600 ; N circumflex ; B 212 483 607 657 ;
+C 196 ; WX 600 ; N tilde ; B 199 493 643 636 ;
+C 197 ; WX 600 ; N macron ; B 195 505 637 585 ;
+C 198 ; WX 600 ; N breve ; B 217 468 652 631 ;
+C 199 ; WX 600 ; N dotaccent ; B 348 498 493 638 ;
+C 200 ; WX 600 ; N dieresis ; B 246 498 595 638 ;
+C 202 ; WX 600 ; N ring ; B 319 481 528 678 ;
+C 203 ; WX 600 ; N cedilla ; B 168 -206 368 0 ;
+C 205 ; WX 600 ; N hungarumlaut ; B 171 488 729 661 ;
+C 206 ; WX 600 ; N ogonek ; B 143 -199 367 0 ;
+C 207 ; WX 600 ; N caron ; B 238 493 633 667 ;
+C 208 ; WX 600 ; N emdash ; B 33 203 677 313 ;
+C 225 ; WX 600 ; N AE ; B -29 0 708 562 ;
+C 227 ; WX 600 ; N ordfeminine ; B 188 196 526 580 ;
+C 232 ; WX 600 ; N Lslash ; B 39 0 636 562 ;
+C 233 ; WX 600 ; N Oslash ; B 48 -22 673 584 ;
+C 234 ; WX 600 ; N OE ; B 26 0 701 562 ;
+C 235 ; WX 600 ; N ordmasculine ; B 188 196 543 580 ;
+C 241 ; WX 600 ; N ae ; B 21 -15 652 454 ;
+C 245 ; WX 600 ; N dotlessi ; B 77 0 546 439 ;
+C 248 ; WX 600 ; N lslash ; B 77 0 587 626 ;
+C 249 ; WX 600 ; N oslash ; B 54 -24 638 463 ;
+C 250 ; WX 600 ; N oe ; B 18 -15 662 454 ;
+C 251 ; WX 600 ; N germandbls ; B 22 -15 629 626 ;
+C -1 ; WX 600 ; N Idieresis ; B 77 0 643 761 ;
+C -1 ; WX 600 ; N eacute ; B 81 -15 609 661 ;
+C -1 ; WX 600 ; N Ydieresis ; B 109 0 709 761 ;
+C -1 ; WX 600 ; N divide ; B 114 16 596 500 ;
+C -1 ; WX 600 ; N Yacute ; B 109 0 709 784 ;
+C -1 ; WX 600 ; N Acircumflex ; B -9 0 632 780 ;
+C -1 ; WX 600 ; N aacute ; B 61 -15 609 661 ;
+C -1 ; WX 600 ; N Ucircumflex ; B 101 -18 716 780 ;
+C -1 ; WX 600 ; N yacute ; B -21 -142 695 661 ;
+C -1 ; WX 600 ; N ecircumflex ; B 81 -15 607 657 ;
+C -1 ; WX 600 ; N Udieresis ; B 101 -18 716 761 ;
+C -1 ; WX 600 ; N Uacute ; B 101 -18 716 784 ;
+C -1 ; WX 600 ; N Edieresis ; B 25 0 670 761 ;
+C -1 ; WX 600 ; N copyright ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N aring ; B 61 -15 593 678 ;
+C -1 ; WX 600 ; N agrave ; B 61 -15 593 661 ;
+C -1 ; WX 600 ; N atilde ; B 61 -15 643 636 ;
+C -1 ; WX 600 ; N scaron ; B 66 -17 633 667 ;
+C -1 ; WX 600 ; N iacute ; B 77 0 609 661 ;
+C -1 ; WX 600 ; N ucircumflex ; B 70 -15 597 657 ;
+C -1 ; WX 600 ; N acircumflex ; B 61 -15 607 657 ;
+C -1 ; WX 600 ; N ccedilla ; B 81 -206 631 459 ;
+C -1 ; WX 600 ; N Thorn ; B 48 0 620 562 ;
+C -1 ; WX 600 ; N threesuperior ; B 193 222 526 616 ;
+C -1 ; WX 600 ; N Ograve ; B 74 -18 645 784 ;
+C -1 ; WX 600 ; N Agrave ; B -9 0 632 784 ;
+C -1 ; WX 600 ; N multiply ; B 104 39 606 478 ;
+C -1 ; WX 600 ; N uacute ; B 70 -15 599 661 ;
+C -1 ; WX 600 ; N ydieresis ; B -21 -142 695 638 ;
+C -1 ; WX 600 ; N icircumflex ; B 77 0 577 657 ;
+C -1 ; WX 600 ; N Ecircumflex ; B 25 0 670 780 ;
+C -1 ; WX 600 ; N adieresis ; B 61 -15 595 638 ;
+C -1 ; WX 600 ; N edieresis ; B 81 -15 605 638 ;
+C -1 ; WX 600 ; N Iacute ; B 77 0 643 784 ;
+C -1 ; WX 600 ; N plusminus ; B 76 24 614 515 ;
+C -1 ; WX 600 ; N brokenbar ; B 217 -175 489 675 ;
+C -1 ; WX 600 ; N registered ; B 53 -18 667 580 ;
+C -1 ; WX 600 ; N Egrave ; B 25 0 670 784 ;
+C -1 ; WX 600 ; N Zcaron ; B 62 0 659 790 ;
+C -1 ; WX 600 ; N Eth ; B 30 0 664 562 ;
+C -1 ; WX 600 ; N Ccedilla ; B 74 -206 675 580 ;
+C -1 ; WX 600 ; N Aacute ; B -9 0 655 784 ;
+C -1 ; WX 600 ; N Adieresis ; B -9 0 632 761 ;
+C -1 ; WX 600 ; N egrave ; B 81 -15 605 661 ;
+C -1 ; WX 600 ; N Oacute ; B 74 -18 645 784 ;
+C -1 ; WX 600 ; N oacute ; B 71 -15 649 661 ;
+C -1 ; WX 600 ; N idieresis ; B 77 0 561 618 ;
+C -1 ; WX 600 ; N Ocircumflex ; B 74 -18 645 780 ;
+C -1 ; WX 600 ; N Ugrave ; B 101 -18 716 784 ;
+C -1 ; WX 600 ; N thorn ; B -32 -142 622 626 ;
+C -1 ; WX 600 ; N twosuperior ; B 191 230 542 616 ;
+C -1 ; WX 600 ; N Odieresis ; B 74 -18 645 761 ;
+C -1 ; WX 600 ; N mu ; B 49 -142 592 439 ;
+C -1 ; WX 600 ; N igrave ; B 77 0 546 661 ;
+C -1 ; WX 600 ; N threequarters ; B 8 -60 699 661 ;
+C -1 ; WX 600 ; N trademark ; B 86 230 869 562 ;
+C -1 ; WX 600 ; N Igrave ; B 77 0 643 784 ;
+C -1 ; WX 600 ; N onehalf ; B 22 -60 716 661 ;
+C -1 ; WX 600 ; N ocircumflex ; B 71 -15 622 657 ;
+C -1 ; WX 600 ; N ntilde ; B 18 0 643 636 ;
+C -1 ; WX 600 ; N Eacute ; B 25 0 670 784 ;
+C -1 ; WX 600 ; N onequarter ; B 13 -60 707 661 ;
+C -1 ; WX 600 ; N Scaron ; B 54 -22 689 790 ;
+C -1 ; WX 600 ; N degree ; B 173 243 570 616 ;
+C -1 ; WX 600 ; N ograve ; B 71 -15 622 661 ;
+C -1 ; WX 600 ; N ugrave ; B 70 -15 592 661 ;
+C -1 ; WX 600 ; N Ntilde ; B 8 -12 730 759 ;
+C -1 ; WX 600 ; N otilde ; B 71 -15 643 636 ;
+C -1 ; WX 600 ; N Atilde ; B -9 0 669 759 ;
+C -1 ; WX 600 ; N Aring ; B -9 0 632 801 ;
+C -1 ; WX 600 ; N Otilde ; B 74 -18 669 759 ;
+C -1 ; WX 600 ; N minus ; B 114 203 596 313 ;
+C -1 ; WX 600 ; N Icircumflex ; B 77 0 643 780 ;
+C -1 ; WX 600 ; N logicalnot ; B 135 103 617 413 ;
+C -1 ; WX 600 ; N odieresis ; B 71 -15 622 638 ;
+C -1 ; WX 600 ; N udieresis ; B 70 -15 595 638 ;
+C -1 ; WX 600 ; N eth ; B 93 -27 661 626 ;
+C -1 ; WX 600 ; N zcaron ; B 81 0 643 667 ;
+C -1 ; WX 600 ; N onesuperior ; B 212 230 514 616 ;
+C -1 ; WX 600 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/DESC b/troff/troff.d/font/devps/DESC
new file mode 100644
index 0000000000000..602dd41e4581e
--- /dev/null
+++ b/troff/troff.d/font/devps/DESC
@@ -0,0 +1,62 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# from OpenSolaris "DESC 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Description for PostScript devices with 72,000 dpi.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+anysize
+allpunct
+afmfonts
+lc_ctype
+encoding 3
+res 72000
+hor 1
+vert 1
+unitwidth 1
+biggestfont 200
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U
+*W *C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i
+*k *l *m *n *o *p *h *r *s *t *u *w *c *q *z \{
+\| \} ap fm <= sl if <- ua da de +- >= mu pt pd
+bu di != == ~~ al Ox O+ es ca cu sp ip sb ib mo
+gr rg co tm sr no \^ or lc lf lt lk lb bv is rc
+rf rt rk rb ts lh rh LV LH Lb L1 LA `` '' ob vr
+aq oq cq
diff --git a/troff/troff.d/font/devps/FONTMAP b/troff/troff.d/font/devps/FONTMAP
new file mode 100644
index 0000000000000..1db26e4b430e3
--- /dev/null
+++ b/troff/troff.d/font/devps/FONTMAP
@@ -0,0 +1,2 @@
+C CW
+CR CW
diff --git a/troff/troff.d/font/devps/H b/troff/troff.d/font/devps/H
new file mode 100644
index 0000000000000..b40f93655d350
--- /dev/null
+++ b/troff/troff.d/font/devps/H
@@ -0,0 +1 @@
+name H.afm
diff --git a/troff/troff.d/font/devps/H.afm b/troff/troff.d/font/devps/H.afm
new file mode 100644
index 0000000000000..c6e9b19c0698d
--- /dev/null
+++ b/troff/troff.d/font/devps/H.afm
@@ -0,0 +1,1558 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:38:23 1997
+Comment UniqueID 43054
+Comment VMusage 37069 48094
+FontName Helvetica
+FullName Helvetica
+FamilyName Helvetica
+Weight Medium
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -166 -225 1000 931
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 523
+Ascender 718
+Descender -207
+StdHW 76
+StdVW 88
+StartCharMetrics 229
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 278 ; N exclam ; B 90 0 187 718 ;
+C 34 ; WX 355 ; N quotedbl ; B 70 463 285 718 ;
+C 35 ; WX 556 ; N numbersign ; B 28 0 529 688 ;
+C 36 ; WX 556 ; N dollar ; B 32 -115 520 775 ;
+C 37 ; WX 889 ; N percent ; B 39 -19 850 703 ;
+C 38 ; WX 667 ; N ampersand ; B 44 -15 645 718 ;
+C 39 ; WX 222 ; N quoteright ; B 53 463 157 718 ;
+C 40 ; WX 333 ; N parenleft ; B 68 -207 299 733 ;
+C 41 ; WX 333 ; N parenright ; B 34 -207 265 733 ;
+C 42 ; WX 389 ; N asterisk ; B 39 431 349 718 ;
+C 43 ; WX 584 ; N plus ; B 39 0 545 505 ;
+C 44 ; WX 278 ; N comma ; B 87 -147 191 106 ;
+C 45 ; WX 333 ; N hyphen ; B 44 232 289 322 ;
+C 46 ; WX 278 ; N period ; B 87 0 191 106 ;
+C 47 ; WX 278 ; N slash ; B -17 -19 295 737 ;
+C 48 ; WX 556 ; N zero ; B 37 -19 519 703 ;
+C 49 ; WX 556 ; N one ; B 101 0 359 703 ;
+C 50 ; WX 556 ; N two ; B 26 0 507 703 ;
+C 51 ; WX 556 ; N three ; B 34 -19 522 703 ;
+C 52 ; WX 556 ; N four ; B 25 0 523 703 ;
+C 53 ; WX 556 ; N five ; B 32 -19 514 688 ;
+C 54 ; WX 556 ; N six ; B 38 -19 518 703 ;
+C 55 ; WX 556 ; N seven ; B 37 0 523 688 ;
+C 56 ; WX 556 ; N eight ; B 38 -19 517 703 ;
+C 57 ; WX 556 ; N nine ; B 42 -19 514 703 ;
+C 58 ; WX 278 ; N colon ; B 87 0 191 516 ;
+C 59 ; WX 278 ; N semicolon ; B 87 -147 191 516 ;
+C 60 ; WX 584 ; N less ; B 48 11 536 495 ;
+C 61 ; WX 584 ; N equal ; B 39 115 545 390 ;
+C 62 ; WX 584 ; N greater ; B 48 11 536 495 ;
+C 63 ; WX 556 ; N question ; B 56 0 492 727 ;
+C 64 ; WX 1015 ; N at ; B 147 -19 868 737 ;
+C 65 ; WX 667 ; N A ; B 14 0 654 718 ;
+C 66 ; WX 667 ; N B ; B 74 0 627 718 ;
+C 67 ; WX 722 ; N C ; B 44 -19 681 737 ;
+C 68 ; WX 722 ; N D ; B 81 0 674 718 ;
+C 69 ; WX 667 ; N E ; B 86 0 616 718 ;
+C 70 ; WX 611 ; N F ; B 86 0 583 718 ;
+C 71 ; WX 778 ; N G ; B 48 -19 704 737 ;
+C 72 ; WX 722 ; N H ; B 77 0 646 718 ;
+C 73 ; WX 278 ; N I ; B 91 0 188 718 ;
+C 74 ; WX 500 ; N J ; B 17 -19 428 718 ;
+C 75 ; WX 667 ; N K ; B 76 0 663 718 ;
+C 76 ; WX 556 ; N L ; B 76 0 537 718 ;
+C 77 ; WX 833 ; N M ; B 73 0 761 718 ;
+C 78 ; WX 722 ; N N ; B 76 0 646 718 ;
+C 79 ; WX 778 ; N O ; B 39 -19 739 737 ;
+C 80 ; WX 667 ; N P ; B 86 0 622 718 ;
+C 81 ; WX 778 ; N Q ; B 39 -56 739 737 ;
+C 82 ; WX 722 ; N R ; B 88 0 684 718 ;
+C 83 ; WX 667 ; N S ; B 49 -19 620 737 ;
+C 84 ; WX 611 ; N T ; B 14 0 597 718 ;
+C 85 ; WX 722 ; N U ; B 79 -19 644 718 ;
+C 86 ; WX 667 ; N V ; B 20 0 647 718 ;
+C 87 ; WX 944 ; N W ; B 16 0 928 718 ;
+C 88 ; WX 667 ; N X ; B 19 0 648 718 ;
+C 89 ; WX 667 ; N Y ; B 14 0 653 718 ;
+C 90 ; WX 611 ; N Z ; B 23 0 588 718 ;
+C 91 ; WX 278 ; N bracketleft ; B 63 -196 250 722 ;
+C 92 ; WX 278 ; N backslash ; B -17 -19 295 737 ;
+C 93 ; WX 278 ; N bracketright ; B 28 -196 215 722 ;
+C 94 ; WX 469 ; N asciicircum ; B -14 264 483 688 ;
+C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ;
+C 96 ; WX 222 ; N quoteleft ; B 65 470 169 725 ;
+C 97 ; WX 556 ; N a ; B 36 -15 530 538 ;
+C 98 ; WX 556 ; N b ; B 58 -15 517 718 ;
+C 99 ; WX 500 ; N c ; B 30 -15 477 538 ;
+C 100 ; WX 556 ; N d ; B 35 -15 499 718 ;
+C 101 ; WX 556 ; N e ; B 40 -15 516 538 ;
+C 102 ; WX 278 ; N f ; B 14 0 262 728 ; L i fi ; L l fl ;
+C 103 ; WX 556 ; N g ; B 40 -220 499 538 ;
+C 104 ; WX 556 ; N h ; B 65 0 491 718 ;
+C 105 ; WX 222 ; N i ; B 67 0 155 718 ;
+C 106 ; WX 222 ; N j ; B -16 -210 155 718 ;
+C 107 ; WX 500 ; N k ; B 67 0 501 718 ;
+C 108 ; WX 222 ; N l ; B 67 0 155 718 ;
+C 109 ; WX 833 ; N m ; B 65 0 769 538 ;
+C 110 ; WX 556 ; N n ; B 65 0 491 538 ;
+C 111 ; WX 556 ; N o ; B 35 -14 521 538 ;
+C 112 ; WX 556 ; N p ; B 58 -207 517 538 ;
+C 113 ; WX 556 ; N q ; B 35 -207 494 538 ;
+C 114 ; WX 333 ; N r ; B 77 0 332 538 ;
+C 115 ; WX 500 ; N s ; B 32 -15 464 538 ;
+C 116 ; WX 278 ; N t ; B 14 -7 257 669 ;
+C 117 ; WX 556 ; N u ; B 68 -15 489 523 ;
+C 118 ; WX 500 ; N v ; B 8 0 492 523 ;
+C 119 ; WX 722 ; N w ; B 14 0 709 523 ;
+C 120 ; WX 500 ; N x ; B 11 0 490 523 ;
+C 121 ; WX 500 ; N y ; B 11 -214 489 523 ;
+C 122 ; WX 500 ; N z ; B 31 0 469 523 ;
+C 123 ; WX 334 ; N braceleft ; B 42 -196 292 722 ;
+C 124 ; WX 260 ; N bar ; B 94 -225 167 775 ;
+C 125 ; WX 334 ; N braceright ; B 42 -196 292 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 61 180 523 326 ;
+C 161 ; WX 333 ; N exclamdown ; B 118 -195 215 523 ;
+C 162 ; WX 556 ; N cent ; B 51 -115 513 623 ;
+C 163 ; WX 556 ; N sterling ; B 33 -16 539 718 ;
+C 164 ; WX 167 ; N fraction ; B -166 -19 333 703 ;
+C 165 ; WX 556 ; N yen ; B 3 0 553 688 ;
+C 166 ; WX 556 ; N florin ; B -11 -207 501 737 ;
+C 167 ; WX 556 ; N section ; B 43 -191 512 737 ;
+C 168 ; WX 556 ; N currency ; B 28 99 528 603 ;
+C 169 ; WX 191 ; N quotesingle ; B 59 463 132 718 ;
+C 170 ; WX 333 ; N quotedblleft ; B 38 470 307 725 ;
+C 171 ; WX 556 ; N guillemotleft ; B 97 108 459 446 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 88 108 245 446 ;
+C 173 ; WX 333 ; N guilsinglright ; B 88 108 245 446 ;
+C 174 ; WX 500 ; N fi ; B 14 0 434 728 ;
+C 175 ; WX 500 ; N fl ; B 14 0 432 728 ;
+C 177 ; WX 556 ; N endash ; B 0 240 556 313 ;
+C 178 ; WX 556 ; N dagger ; B 43 -159 514 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 43 -159 514 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 77 190 202 315 ;
+C 182 ; WX 537 ; N paragraph ; B 18 -173 497 718 ;
+C 183 ; WX 350 ; N bullet ; B 18 202 333 517 ;
+C 184 ; WX 222 ; N quotesinglbase ; B 53 -149 157 106 ;
+C 185 ; WX 333 ; N quotedblbase ; B 26 -149 295 106 ;
+C 186 ; WX 333 ; N quotedblright ; B 26 463 295 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 97 108 459 446 ;
+C 188 ; WX 1000 ; N ellipsis ; B 115 0 885 106 ;
+C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 703 ;
+C 191 ; WX 611 ; N questiondown ; B 91 -201 527 525 ;
+C 193 ; WX 333 ; N grave ; B 14 593 211 734 ;
+C 194 ; WX 333 ; N acute ; B 122 593 319 734 ;
+C 195 ; WX 333 ; N circumflex ; B 21 593 312 734 ;
+C 196 ; WX 333 ; N tilde ; B -4 606 337 722 ;
+C 197 ; WX 333 ; N macron ; B 10 627 323 684 ;
+C 198 ; WX 333 ; N breve ; B 13 595 321 731 ;
+C 199 ; WX 333 ; N dotaccent ; B 121 604 212 706 ;
+C 200 ; WX 333 ; N dieresis ; B 40 604 293 706 ;
+C 202 ; WX 333 ; N ring ; B 75 572 259 756 ;
+C 203 ; WX 333 ; N cedilla ; B 45 -225 259 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 31 593 409 734 ;
+C 206 ; WX 333 ; N ogonek ; B 73 -225 287 0 ;
+C 207 ; WX 333 ; N caron ; B 21 593 312 734 ;
+C 208 ; WX 1000 ; N emdash ; B 0 240 1000 313 ;
+C 225 ; WX 1000 ; N AE ; B 8 0 951 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 24 405 346 737 ;
+C 232 ; WX 556 ; N Lslash ; B -20 0 537 718 ;
+C 233 ; WX 778 ; N Oslash ; B 39 -19 740 737 ;
+C 234 ; WX 1000 ; N OE ; B 36 -19 965 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 25 405 341 737 ;
+C 241 ; WX 889 ; N ae ; B 36 -15 847 538 ;
+C 245 ; WX 278 ; N dotlessi ; B 95 0 183 523 ;
+C 248 ; WX 222 ; N lslash ; B -20 0 242 718 ;
+C 249 ; WX 611 ; N oslash ; B 28 -22 537 545 ;
+C 250 ; WX 944 ; N oe ; B 35 -15 902 538 ;
+C 251 ; WX 611 ; N germandbls ; B 67 -15 571 728 ;
+C -1 ; WX 278 ; N Idieresis ; B 13 0 266 901 ;
+C -1 ; WX 556 ; N eacute ; B 40 -15 516 734 ;
+C -1 ; WX 667 ; N Ydieresis ; B 14 0 653 901 ;
+C -1 ; WX 584 ; N divide ; B 39 -19 545 524 ;
+C -1 ; WX 667 ; N Yacute ; B 14 0 653 929 ;
+C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ;
+C -1 ; WX 556 ; N aacute ; B 36 -15 530 734 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 79 -19 644 929 ;
+C -1 ; WX 500 ; N yacute ; B 11 -214 489 734 ;
+C -1 ; WX 556 ; N ecircumflex ; B 40 -15 516 734 ;
+C -1 ; WX 722 ; N Udieresis ; B 79 -19 644 901 ;
+C -1 ; WX 722 ; N Uacute ; B 79 -19 644 929 ;
+C -1 ; WX 667 ; N Edieresis ; B 86 0 616 901 ;
+C -1 ; WX 737 ; N copyright ; B -14 -19 752 737 ;
+C -1 ; WX 556 ; N aring ; B 36 -15 530 756 ;
+C -1 ; WX 556 ; N agrave ; B 36 -15 530 734 ;
+C -1 ; WX 556 ; N atilde ; B 36 -15 530 722 ;
+C -1 ; WX 500 ; N scaron ; B 32 -15 464 734 ;
+C -1 ; WX 278 ; N iacute ; B 95 0 292 734 ;
+C -1 ; WX 556 ; N ucircumflex ; B 68 -15 489 734 ;
+C -1 ; WX 556 ; N acircumflex ; B 36 -15 530 734 ;
+C -1 ; WX 500 ; N ccedilla ; B 30 -225 477 538 ;
+C -1 ; WX 667 ; N Thorn ; B 86 0 622 718 ;
+C -1 ; WX 333 ; N threesuperior ; B 5 270 325 703 ;
+C -1 ; WX 778 ; N Ograve ; B 39 -19 739 929 ;
+C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ;
+C -1 ; WX 584 ; N multiply ; B 39 0 545 506 ;
+C -1 ; WX 556 ; N uacute ; B 68 -15 489 734 ;
+C -1 ; WX 500 ; N ydieresis ; B 11 -214 489 706 ;
+C -1 ; WX 278 ; N icircumflex ; B -6 0 285 734 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 86 0 616 929 ;
+C -1 ; WX 556 ; N adieresis ; B 36 -15 530 706 ;
+C -1 ; WX 556 ; N edieresis ; B 40 -15 516 706 ;
+C -1 ; WX 278 ; N Iacute ; B 91 0 292 929 ;
+C -1 ; WX 584 ; N plusminus ; B 39 0 545 506 ;
+C -1 ; WX 260 ; N brokenbar ; B 94 -150 167 700 ;
+C -1 ; WX 737 ; N registered ; B -14 -19 752 737 ;
+C -1 ; WX 667 ; N Egrave ; B 86 0 616 929 ;
+C -1 ; WX 611 ; N Zcaron ; B 23 0 588 929 ;
+C -1 ; WX 722 ; N Eth ; B 0 0 674 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 44 -225 681 737 ;
+C -1 ; WX 667 ; N Aacute ; B 14 0 654 929 ;
+C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ;
+C -1 ; WX 556 ; N egrave ; B 40 -15 516 734 ;
+C -1 ; WX 778 ; N Oacute ; B 39 -19 739 929 ;
+C -1 ; WX 556 ; N oacute ; B 35 -14 521 734 ;
+C -1 ; WX 278 ; N idieresis ; B 13 0 266 706 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 39 -19 739 929 ;
+C -1 ; WX 722 ; N Ugrave ; B 79 -19 644 929 ;
+C -1 ; WX 556 ; N thorn ; B 58 -207 517 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 4 281 323 703 ;
+C -1 ; WX 778 ; N Odieresis ; B 39 -19 739 901 ;
+C -1 ; WX 556 ; N mu ; B 68 -207 489 523 ;
+C -1 ; WX 278 ; N igrave ; B -13 0 184 734 ;
+C -1 ; WX 834 ; N threequarters ; B 45 -19 810 703 ;
+C -1 ; WX 1000 ; N trademark ; B 46 306 903 718 ;
+C -1 ; WX 278 ; N Igrave ; B -13 0 188 929 ;
+C -1 ; WX 834 ; N onehalf ; B 43 -19 773 703 ;
+C -1 ; WX 556 ; N ocircumflex ; B 35 -14 521 734 ;
+C -1 ; WX 556 ; N ntilde ; B 65 0 491 722 ;
+C -1 ; WX 667 ; N Eacute ; B 86 0 616 929 ;
+C -1 ; WX 834 ; N onequarter ; B 73 -19 756 703 ;
+C -1 ; WX 667 ; N Scaron ; B 49 -19 620 929 ;
+C -1 ; WX 400 ; N degree ; B 54 411 346 703 ;
+C -1 ; WX 556 ; N ograve ; B 35 -14 521 734 ;
+C -1 ; WX 556 ; N ugrave ; B 68 -15 489 734 ;
+C -1 ; WX 722 ; N Ntilde ; B 76 0 646 917 ;
+C -1 ; WX 556 ; N otilde ; B 35 -14 521 722 ;
+C -1 ; WX 667 ; N Atilde ; B 14 0 654 917 ;
+C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ;
+C -1 ; WX 778 ; N Otilde ; B 39 -19 739 917 ;
+C -1 ; WX 584 ; N minus ; B 39 216 545 289 ;
+C -1 ; WX 278 ; N Icircumflex ; B -6 0 285 929 ;
+C -1 ; WX 584 ; N logicalnot ; B 39 108 545 390 ;
+C -1 ; WX 556 ; N odieresis ; B 35 -14 521 706 ;
+C -1 ; WX 556 ; N udieresis ; B 68 -15 489 706 ;
+C -1 ; WX 556 ; N eth ; B 35 -15 522 737 ;
+C -1 ; WX 500 ; N zcaron ; B 31 0 469 734 ;
+C -1 ; WX 333 ; N onesuperior ; B 43 281 222 703 ;
+C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1298
+KPX A C -30
+KPX A Ccedilla -30
+KPX A G -30
+KPX A O -30
+KPX A Oacute -30
+KPX A Ocircumflex -30
+KPX A Odieresis -30
+KPX A Ograve -30
+KPX A Oslash -30
+KPX A Otilde -30
+KPX A Q -30
+KPX A T -120
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -70
+KPX A W -50
+KPX A Y -100
+KPX A Yacute -100
+KPX A Ydieresis -100
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A v -40
+KPX A w -40
+KPX A y -40
+KPX A yacute -40
+KPX A ydieresis -40
+KPX Aacute C -30
+KPX Aacute Ccedilla -30
+KPX Aacute G -30
+KPX Aacute O -30
+KPX Aacute Oacute -30
+KPX Aacute Ocircumflex -30
+KPX Aacute Odieresis -30
+KPX Aacute Ograve -30
+KPX Aacute Oslash -30
+KPX Aacute Otilde -30
+KPX Aacute Q -30
+KPX Aacute T -120
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -70
+KPX Aacute W -50
+KPX Aacute Y -100
+KPX Aacute Yacute -100
+KPX Aacute Ydieresis -100
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute v -40
+KPX Aacute w -40
+KPX Aacute y -40
+KPX Aacute yacute -40
+KPX Aacute ydieresis -40
+KPX Acircumflex C -30
+KPX Acircumflex Ccedilla -30
+KPX Acircumflex G -30
+KPX Acircumflex O -30
+KPX Acircumflex Oacute -30
+KPX Acircumflex Ocircumflex -30
+KPX Acircumflex Odieresis -30
+KPX Acircumflex Ograve -30
+KPX Acircumflex Oslash -30
+KPX Acircumflex Otilde -30
+KPX Acircumflex Q -30
+KPX Acircumflex T -120
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -70
+KPX Acircumflex W -50
+KPX Acircumflex Y -100
+KPX Acircumflex Yacute -100
+KPX Acircumflex Ydieresis -100
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex v -40
+KPX Acircumflex w -40
+KPX Acircumflex y -40
+KPX Acircumflex yacute -40
+KPX Acircumflex ydieresis -40
+KPX Adieresis C -30
+KPX Adieresis Ccedilla -30
+KPX Adieresis G -30
+KPX Adieresis O -30
+KPX Adieresis Oacute -30
+KPX Adieresis Ocircumflex -30
+KPX Adieresis Odieresis -30
+KPX Adieresis Ograve -30
+KPX Adieresis Oslash -30
+KPX Adieresis Otilde -30
+KPX Adieresis Q -30
+KPX Adieresis T -120
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -70
+KPX Adieresis W -50
+KPX Adieresis Y -100
+KPX Adieresis Yacute -100
+KPX Adieresis Ydieresis -100
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis v -40
+KPX Adieresis w -40
+KPX Adieresis y -40
+KPX Adieresis yacute -40
+KPX Adieresis ydieresis -40
+KPX Agrave C -30
+KPX Agrave Ccedilla -30
+KPX Agrave G -30
+KPX Agrave O -30
+KPX Agrave Oacute -30
+KPX Agrave Ocircumflex -30
+KPX Agrave Odieresis -30
+KPX Agrave Ograve -30
+KPX Agrave Oslash -30
+KPX Agrave Otilde -30
+KPX Agrave Q -30
+KPX Agrave T -120
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -70
+KPX Agrave W -50
+KPX Agrave Y -100
+KPX Agrave Yacute -100
+KPX Agrave Ydieresis -100
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave v -40
+KPX Agrave w -40
+KPX Agrave y -40
+KPX Agrave yacute -40
+KPX Agrave ydieresis -40
+KPX Aring C -30
+KPX Aring Ccedilla -30
+KPX Aring G -30
+KPX Aring O -30
+KPX Aring Oacute -30
+KPX Aring Ocircumflex -30
+KPX Aring Odieresis -30
+KPX Aring Ograve -30
+KPX Aring Oslash -30
+KPX Aring Otilde -30
+KPX Aring Q -30
+KPX Aring T -120
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -70
+KPX Aring W -50
+KPX Aring Y -100
+KPX Aring Yacute -100
+KPX Aring Ydieresis -100
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring v -40
+KPX Aring w -40
+KPX Aring y -40
+KPX Aring yacute -40
+KPX Aring ydieresis -40
+KPX Atilde C -30
+KPX Atilde Ccedilla -30
+KPX Atilde G -30
+KPX Atilde O -30
+KPX Atilde Oacute -30
+KPX Atilde Ocircumflex -30
+KPX Atilde Odieresis -30
+KPX Atilde Ograve -30
+KPX Atilde Oslash -30
+KPX Atilde Otilde -30
+KPX Atilde Q -30
+KPX Atilde T -120
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -70
+KPX Atilde W -50
+KPX Atilde Y -100
+KPX Atilde Yacute -100
+KPX Atilde Ydieresis -100
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde v -40
+KPX Atilde w -40
+KPX Atilde y -40
+KPX Atilde yacute -40
+KPX Atilde ydieresis -40
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B comma -20
+KPX B period -20
+KPX C comma -30
+KPX C period -30
+KPX Ccedilla comma -30
+KPX Ccedilla period -30
+KPX D A -40
+KPX D Aacute -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -70
+KPX D W -40
+KPX D Y -90
+KPX D Yacute -90
+KPX D Ydieresis -90
+KPX D comma -70
+KPX D period -70
+KPX F A -80
+KPX F Aacute -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -50
+KPX F aacute -50
+KPX F acircumflex -50
+KPX F adieresis -50
+KPX F agrave -50
+KPX F aring -50
+KPX F atilde -50
+KPX F comma -150
+KPX F e -30
+KPX F eacute -30
+KPX F ecircumflex -30
+KPX F edieresis -30
+KPX F egrave -30
+KPX F o -30
+KPX F oacute -30
+KPX F ocircumflex -30
+KPX F odieresis -30
+KPX F ograve -30
+KPX F oslash -30
+KPX F otilde -30
+KPX F period -150
+KPX F r -45
+KPX J A -20
+KPX J Aacute -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J a -20
+KPX J aacute -20
+KPX J acircumflex -20
+KPX J adieresis -20
+KPX J agrave -20
+KPX J aring -20
+KPX J atilde -20
+KPX J comma -30
+KPX J period -30
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX K O -50
+KPX K Oacute -50
+KPX K Ocircumflex -50
+KPX K Odieresis -50
+KPX K Ograve -50
+KPX K Oslash -50
+KPX K Otilde -50
+KPX K e -40
+KPX K eacute -40
+KPX K ecircumflex -40
+KPX K edieresis -40
+KPX K egrave -40
+KPX K o -40
+KPX K oacute -40
+KPX K ocircumflex -40
+KPX K odieresis -40
+KPX K ograve -40
+KPX K oslash -40
+KPX K otilde -40
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K y -50
+KPX K yacute -50
+KPX K ydieresis -50
+KPX L T -110
+KPX L V -110
+KPX L W -70
+KPX L Y -140
+KPX L Yacute -140
+KPX L Ydieresis -140
+KPX L quotedblright -140
+KPX L quoteright -160
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lslash T -110
+KPX Lslash V -110
+KPX Lslash W -70
+KPX Lslash Y -140
+KPX Lslash Yacute -140
+KPX Lslash Ydieresis -140
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -160
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -20
+KPX O Aacute -20
+KPX O Acircumflex -20
+KPX O Adieresis -20
+KPX O Agrave -20
+KPX O Aring -20
+KPX O Atilde -20
+KPX O T -40
+KPX O V -50
+KPX O W -30
+KPX O X -60
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -20
+KPX Oacute Aacute -20
+KPX Oacute Acircumflex -20
+KPX Oacute Adieresis -20
+KPX Oacute Agrave -20
+KPX Oacute Aring -20
+KPX Oacute Atilde -20
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -30
+KPX Oacute X -60
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -20
+KPX Ocircumflex Aacute -20
+KPX Ocircumflex Acircumflex -20
+KPX Ocircumflex Adieresis -20
+KPX Ocircumflex Agrave -20
+KPX Ocircumflex Aring -20
+KPX Ocircumflex Atilde -20
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -30
+KPX Ocircumflex X -60
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -20
+KPX Odieresis Aacute -20
+KPX Odieresis Acircumflex -20
+KPX Odieresis Adieresis -20
+KPX Odieresis Agrave -20
+KPX Odieresis Aring -20
+KPX Odieresis Atilde -20
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -30
+KPX Odieresis X -60
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -20
+KPX Ograve Aacute -20
+KPX Ograve Acircumflex -20
+KPX Ograve Adieresis -20
+KPX Ograve Agrave -20
+KPX Ograve Aring -20
+KPX Ograve Atilde -20
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -30
+KPX Ograve X -60
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Oslash A -20
+KPX Oslash Aacute -20
+KPX Oslash Acircumflex -20
+KPX Oslash Adieresis -20
+KPX Oslash Agrave -20
+KPX Oslash Aring -20
+KPX Oslash Atilde -20
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -30
+KPX Oslash X -60
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -20
+KPX Otilde Aacute -20
+KPX Otilde Acircumflex -20
+KPX Otilde Adieresis -20
+KPX Otilde Agrave -20
+KPX Otilde Aring -20
+KPX Otilde Atilde -20
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -30
+KPX Otilde X -60
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -120
+KPX P Aacute -120
+KPX P Acircumflex -120
+KPX P Adieresis -120
+KPX P Agrave -120
+KPX P Aring -120
+KPX P Atilde -120
+KPX P a -40
+KPX P aacute -40
+KPX P acircumflex -40
+KPX P adieresis -40
+KPX P agrave -40
+KPX P aring -40
+KPX P atilde -40
+KPX P comma -180
+KPX P e -50
+KPX P eacute -50
+KPX P ecircumflex -50
+KPX P edieresis -50
+KPX P egrave -50
+KPX P o -50
+KPX P oacute -50
+KPX P ocircumflex -50
+KPX P odieresis -50
+KPX P ograve -50
+KPX P oslash -50
+KPX P otilde -50
+KPX P period -180
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -30
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R V -50
+KPX R W -30
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX S comma -20
+KPX S period -20
+KPX Scaron comma -20
+KPX Scaron period -20
+KPX T A -120
+KPX T Aacute -120
+KPX T Acircumflex -120
+KPX T Adieresis -120
+KPX T Agrave -120
+KPX T Aring -120
+KPX T Atilde -120
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -120
+KPX T aacute -120
+KPX T acircumflex -120
+KPX T adieresis -120
+KPX T agrave -120
+KPX T aring -120
+KPX T atilde -60
+KPX T colon -20
+KPX T comma -120
+KPX T e -120
+KPX T eacute -120
+KPX T ecircumflex -120
+KPX T edieresis -120
+KPX T egrave -60
+KPX T hyphen -140
+KPX T o -120
+KPX T oacute -120
+KPX T ocircumflex -120
+KPX T odieresis -120
+KPX T ograve -120
+KPX T oslash -120
+KPX T otilde -60
+KPX T period -120
+KPX T r -120
+KPX T semicolon -20
+KPX T u -120
+KPX T uacute -120
+KPX T ucircumflex -120
+KPX T udieresis -120
+KPX T ugrave -120
+KPX T w -120
+KPX T y -120
+KPX T yacute -120
+KPX T ydieresis -60
+KPX U A -40
+KPX U Aacute -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX U comma -40
+KPX U period -40
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Uacute comma -40
+KPX Uacute period -40
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Ucircumflex comma -40
+KPX Ucircumflex period -40
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Udieresis comma -40
+KPX Udieresis period -40
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX Ugrave comma -40
+KPX Ugrave period -40
+KPX V A -80
+KPX V Aacute -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -40
+KPX V O -40
+KPX V Oacute -40
+KPX V Ocircumflex -40
+KPX V Odieresis -40
+KPX V Ograve -40
+KPX V Oslash -40
+KPX V Otilde -40
+KPX V a -70
+KPX V aacute -70
+KPX V acircumflex -70
+KPX V adieresis -70
+KPX V agrave -70
+KPX V aring -70
+KPX V atilde -70
+KPX V colon -40
+KPX V comma -125
+KPX V e -80
+KPX V eacute -80
+KPX V ecircumflex -80
+KPX V edieresis -80
+KPX V egrave -80
+KPX V hyphen -80
+KPX V o -80
+KPX V oacute -80
+KPX V ocircumflex -80
+KPX V odieresis -80
+KPX V ograve -80
+KPX V oslash -80
+KPX V otilde -80
+KPX V period -125
+KPX V semicolon -40
+KPX V u -70
+KPX V uacute -70
+KPX V ucircumflex -70
+KPX V udieresis -70
+KPX V ugrave -70
+KPX W A -50
+KPX W Aacute -50
+KPX W Acircumflex -50
+KPX W Adieresis -50
+KPX W Agrave -50
+KPX W Aring -50
+KPX W Atilde -50
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W aring -40
+KPX W atilde -40
+KPX W comma -80
+KPX W e -30
+KPX W eacute -30
+KPX W ecircumflex -30
+KPX W edieresis -30
+KPX W egrave -30
+KPX W hyphen -40
+KPX W o -30
+KPX W oacute -30
+KPX W ocircumflex -30
+KPX W odieresis -30
+KPX W ograve -30
+KPX W oslash -30
+KPX W otilde -30
+KPX W period -80
+KPX W u -30
+KPX W uacute -30
+KPX W ucircumflex -30
+KPX W udieresis -30
+KPX W ugrave -30
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -85
+KPX Y Oacute -85
+KPX Y Ocircumflex -85
+KPX Y Odieresis -85
+KPX Y Ograve -85
+KPX Y Oslash -85
+KPX Y Otilde -85
+KPX Y a -140
+KPX Y aacute -140
+KPX Y acircumflex -140
+KPX Y adieresis -140
+KPX Y agrave -140
+KPX Y aring -140
+KPX Y atilde -140
+KPX Y colon -60
+KPX Y comma -140
+KPX Y e -140
+KPX Y eacute -140
+KPX Y ecircumflex -140
+KPX Y edieresis -140
+KPX Y egrave -140
+KPX Y hyphen -140
+KPX Y i -20
+KPX Y iacute -20
+KPX Y o -140
+KPX Y oacute -140
+KPX Y ocircumflex -140
+KPX Y odieresis -140
+KPX Y ograve -140
+KPX Y oslash -140
+KPX Y otilde -140
+KPX Y period -140
+KPX Y semicolon -60
+KPX Y u -110
+KPX Y uacute -110
+KPX Y ucircumflex -110
+KPX Y udieresis -110
+KPX Y ugrave -110
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -85
+KPX Yacute Oacute -85
+KPX Yacute Ocircumflex -85
+KPX Yacute Odieresis -85
+KPX Yacute Ograve -85
+KPX Yacute Oslash -85
+KPX Yacute Otilde -85
+KPX Yacute a -140
+KPX Yacute aacute -140
+KPX Yacute acircumflex -140
+KPX Yacute adieresis -140
+KPX Yacute agrave -140
+KPX Yacute aring -140
+KPX Yacute atilde -70
+KPX Yacute colon -60
+KPX Yacute comma -140
+KPX Yacute e -140
+KPX Yacute eacute -140
+KPX Yacute ecircumflex -140
+KPX Yacute edieresis -140
+KPX Yacute egrave -140
+KPX Yacute hyphen -140
+KPX Yacute i -20
+KPX Yacute iacute -20
+KPX Yacute o -140
+KPX Yacute oacute -140
+KPX Yacute ocircumflex -140
+KPX Yacute odieresis -140
+KPX Yacute ograve -140
+KPX Yacute oslash -140
+KPX Yacute otilde -140
+KPX Yacute period -140
+KPX Yacute semicolon -60
+KPX Yacute u -110
+KPX Yacute uacute -110
+KPX Yacute ucircumflex -110
+KPX Yacute udieresis -110
+KPX Yacute ugrave -110
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -85
+KPX Ydieresis Oacute -85
+KPX Ydieresis Ocircumflex -85
+KPX Ydieresis Odieresis -85
+KPX Ydieresis Ograve -85
+KPX Ydieresis Oslash -85
+KPX Ydieresis Otilde -85
+KPX Ydieresis a -140
+KPX Ydieresis aacute -140
+KPX Ydieresis acircumflex -140
+KPX Ydieresis adieresis -140
+KPX Ydieresis agrave -140
+KPX Ydieresis aring -140
+KPX Ydieresis atilde -70
+KPX Ydieresis colon -60
+KPX Ydieresis comma -140
+KPX Ydieresis e -140
+KPX Ydieresis eacute -140
+KPX Ydieresis ecircumflex -140
+KPX Ydieresis edieresis -140
+KPX Ydieresis egrave -140
+KPX Ydieresis hyphen -140
+KPX Ydieresis i -20
+KPX Ydieresis iacute -20
+KPX Ydieresis o -140
+KPX Ydieresis oacute -140
+KPX Ydieresis ocircumflex -140
+KPX Ydieresis odieresis -140
+KPX Ydieresis ograve -140
+KPX Ydieresis oslash -140
+KPX Ydieresis otilde -140
+KPX Ydieresis period -140
+KPX Ydieresis semicolon -60
+KPX Ydieresis u -110
+KPX Ydieresis uacute -110
+KPX Ydieresis ucircumflex -110
+KPX Ydieresis udieresis -110
+KPX Ydieresis ugrave -110
+KPX a v -20
+KPX a w -20
+KPX a y -30
+KPX a yacute -30
+KPX a ydieresis -30
+KPX aacute v -20
+KPX aacute w -20
+KPX aacute y -30
+KPX aacute yacute -30
+KPX aacute ydieresis -30
+KPX acircumflex v -20
+KPX acircumflex w -20
+KPX acircumflex y -30
+KPX acircumflex yacute -30
+KPX acircumflex ydieresis -30
+KPX adieresis v -20
+KPX adieresis w -20
+KPX adieresis y -30
+KPX adieresis yacute -30
+KPX adieresis ydieresis -30
+KPX agrave v -20
+KPX agrave w -20
+KPX agrave y -30
+KPX agrave yacute -30
+KPX agrave ydieresis -30
+KPX aring v -20
+KPX aring w -20
+KPX aring y -30
+KPX aring yacute -30
+KPX aring ydieresis -30
+KPX atilde v -20
+KPX atilde w -20
+KPX atilde y -30
+KPX atilde yacute -30
+KPX atilde ydieresis -30
+KPX b b -10
+KPX b comma -40
+KPX b l -20
+KPX b lslash -20
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c comma -15
+KPX c k -20
+KPX ccedilla comma -15
+KPX ccedilla k -20
+KPX colon space -50
+KPX comma quotedblright -100
+KPX comma quoteright -100
+KPX e comma -15
+KPX e period -15
+KPX e v -30
+KPX e w -20
+KPX e x -30
+KPX e y -20
+KPX e yacute -20
+KPX e ydieresis -20
+KPX eacute comma -15
+KPX eacute period -15
+KPX eacute v -30
+KPX eacute w -20
+KPX eacute x -30
+KPX eacute y -20
+KPX eacute yacute -20
+KPX eacute ydieresis -20
+KPX ecircumflex comma -15
+KPX ecircumflex period -15
+KPX ecircumflex v -30
+KPX ecircumflex w -20
+KPX ecircumflex x -30
+KPX ecircumflex y -20
+KPX ecircumflex yacute -20
+KPX ecircumflex ydieresis -20
+KPX edieresis comma -15
+KPX edieresis period -15
+KPX edieresis v -30
+KPX edieresis w -20
+KPX edieresis x -30
+KPX edieresis y -20
+KPX edieresis yacute -20
+KPX edieresis ydieresis -20
+KPX egrave comma -15
+KPX egrave period -15
+KPX egrave v -30
+KPX egrave w -20
+KPX egrave x -30
+KPX egrave y -20
+KPX egrave yacute -20
+KPX egrave ydieresis -20
+KPX f a -30
+KPX f aacute -30
+KPX f acircumflex -30
+KPX f adieresis -30
+KPX f agrave -30
+KPX f aring -30
+KPX f atilde -30
+KPX f comma -30
+KPX f dotlessi -28
+KPX f e -30
+KPX f eacute -30
+KPX f ecircumflex -30
+KPX f edieresis -30
+KPX f egrave -30
+KPX f o -30
+KPX f oacute -30
+KPX f ocircumflex -30
+KPX f odieresis -30
+KPX f ograve -30
+KPX f oslash -30
+KPX f otilde -30
+KPX f period -30
+KPX f quotedblright 60
+KPX f quoteright 50
+KPX g r -10
+KPX h y -30
+KPX h yacute -30
+KPX h ydieresis -30
+KPX k e -20
+KPX k eacute -20
+KPX k ecircumflex -20
+KPX k edieresis -20
+KPX k egrave -20
+KPX k o -20
+KPX k oacute -20
+KPX k ocircumflex -20
+KPX k odieresis -20
+KPX k ograve -20
+KPX k oslash -20
+KPX k otilde -20
+KPX m u -10
+KPX m uacute -10
+KPX m ucircumflex -10
+KPX m udieresis -10
+KPX m ugrave -10
+KPX m y -15
+KPX m yacute -15
+KPX m ydieresis -15
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n v -20
+KPX n y -15
+KPX n yacute -15
+KPX n ydieresis -15
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde v -20
+KPX ntilde y -15
+KPX ntilde yacute -15
+KPX ntilde ydieresis -15
+KPX o comma -40
+KPX o period -40
+KPX o v -15
+KPX o w -15
+KPX o x -30
+KPX o y -30
+KPX o yacute -30
+KPX o ydieresis -30
+KPX oacute comma -40
+KPX oacute period -40
+KPX oacute v -15
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -30
+KPX oacute yacute -30
+KPX oacute ydieresis -30
+KPX ocircumflex comma -40
+KPX ocircumflex period -40
+KPX ocircumflex v -15
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -30
+KPX ocircumflex yacute -30
+KPX ocircumflex ydieresis -30
+KPX odieresis comma -40
+KPX odieresis period -40
+KPX odieresis v -15
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -30
+KPX odieresis yacute -30
+KPX odieresis ydieresis -30
+KPX ograve comma -40
+KPX ograve period -40
+KPX ograve v -15
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -30
+KPX ograve yacute -30
+KPX ograve ydieresis -30
+KPX oslash a -55
+KPX oslash aacute -55
+KPX oslash acircumflex -55
+KPX oslash adieresis -55
+KPX oslash agrave -55
+KPX oslash aring -55
+KPX oslash atilde -55
+KPX oslash b -55
+KPX oslash c -55
+KPX oslash ccedilla -55
+KPX oslash comma -95
+KPX oslash d -55
+KPX oslash e -55
+KPX oslash eacute -55
+KPX oslash ecircumflex -55
+KPX oslash edieresis -55
+KPX oslash egrave -55
+KPX oslash f -55
+KPX oslash g -55
+KPX oslash h -55
+KPX oslash i -55
+KPX oslash iacute -55
+KPX oslash icircumflex -55
+KPX oslash idieresis -55
+KPX oslash igrave -55
+KPX oslash j -55
+KPX oslash k -55
+KPX oslash l -55
+KPX oslash lslash -55
+KPX oslash m -55
+KPX oslash n -55
+KPX oslash ntilde -55
+KPX oslash o -55
+KPX oslash oacute -55
+KPX oslash ocircumflex -55
+KPX oslash odieresis -55
+KPX oslash ograve -55
+KPX oslash oslash -55
+KPX oslash otilde -55
+KPX oslash p -55
+KPX oslash period -95
+KPX oslash q -55
+KPX oslash r -55
+KPX oslash s -55
+KPX oslash scaron -55
+KPX oslash t -55
+KPX oslash u -55
+KPX oslash uacute -55
+KPX oslash ucircumflex -55
+KPX oslash udieresis -55
+KPX oslash ugrave -55
+KPX oslash v -70
+KPX oslash w -70
+KPX oslash x -85
+KPX oslash y -70
+KPX oslash yacute -70
+KPX oslash ydieresis -70
+KPX oslash z -55
+KPX oslash zcaron -55
+KPX otilde comma -40
+KPX otilde period -40
+KPX otilde v -15
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -30
+KPX otilde yacute -30
+KPX otilde ydieresis -30
+KPX p comma -35
+KPX p period -35
+KPX p y -30
+KPX p yacute -30
+KPX p ydieresis -30
+KPX period quotedblright -100
+KPX period quoteright -100
+KPX period space -60
+KPX quotedblright space -40
+KPX quoteleft quoteleft -57
+KPX quoteright d -50
+KPX quoteright quoteright -57
+KPX quoteright r -50
+KPX quoteright s -50
+KPX quoteright scaron -50
+KPX quoteright space -70
+KPX r a -10
+KPX r aacute -10
+KPX r acircumflex -10
+KPX r adieresis -10
+KPX r agrave -10
+KPX r aring -10
+KPX r atilde -10
+KPX r colon 30
+KPX r comma -50
+KPX r i 15
+KPX r iacute 15
+KPX r icircumflex 15
+KPX r idieresis 15
+KPX r igrave 15
+KPX r k 15
+KPX r l 15
+KPX r lslash 15
+KPX r m 25
+KPX r n 25
+KPX r ntilde 25
+KPX r p 30
+KPX r period -50
+KPX r semicolon 30
+KPX r t 40
+KPX r u 15
+KPX r uacute 15
+KPX r ucircumflex 15
+KPX r udieresis 15
+KPX r ugrave 15
+KPX r v 30
+KPX r y 30
+KPX r yacute 30
+KPX r ydieresis 30
+KPX s comma -15
+KPX s period -15
+KPX s w -30
+KPX scaron comma -15
+KPX scaron period -15
+KPX scaron w -30
+KPX semicolon space -50
+KPX space T -50
+KPX space V -50
+KPX space W -40
+KPX space Y -90
+KPX space Yacute -90
+KPX space Ydieresis -90
+KPX space quotedblleft -30
+KPX space quoteleft -60
+KPX v a -25
+KPX v aacute -25
+KPX v acircumflex -25
+KPX v adieresis -25
+KPX v agrave -25
+KPX v aring -25
+KPX v atilde -25
+KPX v comma -80
+KPX v e -25
+KPX v eacute -25
+KPX v ecircumflex -25
+KPX v edieresis -25
+KPX v egrave -25
+KPX v o -25
+KPX v oacute -25
+KPX v ocircumflex -25
+KPX v odieresis -25
+KPX v ograve -25
+KPX v oslash -25
+KPX v otilde -25
+KPX v period -80
+KPX w a -15
+KPX w aacute -15
+KPX w acircumflex -15
+KPX w adieresis -15
+KPX w agrave -15
+KPX w aring -15
+KPX w atilde -15
+KPX w comma -60
+KPX w e -10
+KPX w eacute -10
+KPX w ecircumflex -10
+KPX w edieresis -10
+KPX w egrave -10
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -60
+KPX x e -30
+KPX x eacute -30
+KPX x ecircumflex -30
+KPX x edieresis -30
+KPX x egrave -30
+KPX y a -20
+KPX y aacute -20
+KPX y acircumflex -20
+KPX y adieresis -20
+KPX y agrave -20
+KPX y aring -20
+KPX y atilde -20
+KPX y comma -100
+KPX y e -20
+KPX y eacute -20
+KPX y ecircumflex -20
+KPX y edieresis -20
+KPX y egrave -20
+KPX y o -20
+KPX y oacute -20
+KPX y ocircumflex -20
+KPX y odieresis -20
+KPX y ograve -20
+KPX y oslash -20
+KPX y otilde -20
+KPX y period -100
+KPX yacute a -20
+KPX yacute aacute -20
+KPX yacute acircumflex -20
+KPX yacute adieresis -20
+KPX yacute agrave -20
+KPX yacute aring -20
+KPX yacute atilde -20
+KPX yacute comma -100
+KPX yacute e -20
+KPX yacute eacute -20
+KPX yacute ecircumflex -20
+KPX yacute edieresis -20
+KPX yacute egrave -20
+KPX yacute o -20
+KPX yacute oacute -20
+KPX yacute ocircumflex -20
+KPX yacute odieresis -20
+KPX yacute ograve -20
+KPX yacute oslash -20
+KPX yacute otilde -20
+KPX yacute period -100
+KPX ydieresis a -20
+KPX ydieresis aacute -20
+KPX ydieresis acircumflex -20
+KPX ydieresis adieresis -20
+KPX ydieresis agrave -20
+KPX ydieresis aring -20
+KPX ydieresis atilde -20
+KPX ydieresis comma -100
+KPX ydieresis e -20
+KPX ydieresis eacute -20
+KPX ydieresis ecircumflex -20
+KPX ydieresis edieresis -20
+KPX ydieresis egrave -20
+KPX ydieresis o -20
+KPX ydieresis oacute -20
+KPX ydieresis ocircumflex -20
+KPX ydieresis odieresis -20
+KPX ydieresis ograve -20
+KPX ydieresis oslash -20
+KPX ydieresis otilde -20
+KPX ydieresis period -100
+KPX z e -15
+KPX z eacute -15
+KPX z ecircumflex -15
+KPX z edieresis -15
+KPX z egrave -15
+KPX z o -15
+KPX z oacute -15
+KPX z ocircumflex -15
+KPX z odieresis -15
+KPX z ograve -15
+KPX z oslash -15
+KPX z otilde -15
+KPX zcaron e -15
+KPX zcaron eacute -15
+KPX zcaron ecircumflex -15
+KPX zcaron edieresis -15
+KPX zcaron egrave -15
+KPX zcaron o -15
+KPX zcaron oacute -15
+KPX zcaron ocircumflex -15
+KPX zcaron odieresis -15
+KPX zcaron ograve -15
+KPX zcaron oslash -15
+KPX zcaron otilde -15
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/HB b/troff/troff.d/font/devps/HB
new file mode 100644
index 0000000000000..f981203f91799
--- /dev/null
+++ b/troff/troff.d/font/devps/HB
@@ -0,0 +1 @@
+name HB.afm
diff --git a/troff/troff.d/font/devps/HB.afm b/troff/troff.d/font/devps/HB.afm
new file mode 100644
index 0000000000000..bde23aa069693
--- /dev/null
+++ b/troff/troff.d/font/devps/HB.afm
@@ -0,0 +1,1441 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:43:52 1997
+Comment UniqueID 43052
+Comment VMusage 37169 48194
+FontName Helvetica-Bold
+FullName Helvetica Bold
+FamilyName Helvetica
+Weight Bold
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -170 -228 1003 962
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 532
+Ascender 718
+Descender -207
+StdHW 118
+StdVW 140
+StartCharMetrics 229
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 90 0 244 718 ;
+C 34 ; WX 474 ; N quotedbl ; B 98 447 376 718 ;
+C 35 ; WX 556 ; N numbersign ; B 18 0 538 698 ;
+C 36 ; WX 556 ; N dollar ; B 30 -115 523 775 ;
+C 37 ; WX 889 ; N percent ; B 28 -19 861 710 ;
+C 38 ; WX 722 ; N ampersand ; B 54 -19 701 718 ;
+C 39 ; WX 278 ; N quoteright ; B 69 445 209 718 ;
+C 40 ; WX 333 ; N parenleft ; B 35 -208 314 734 ;
+C 41 ; WX 333 ; N parenright ; B 19 -208 298 734 ;
+C 42 ; WX 389 ; N asterisk ; B 27 387 362 718 ;
+C 43 ; WX 584 ; N plus ; B 40 0 544 506 ;
+C 44 ; WX 278 ; N comma ; B 64 -168 214 146 ;
+C 45 ; WX 333 ; N hyphen ; B 27 215 306 345 ;
+C 46 ; WX 278 ; N period ; B 64 0 214 146 ;
+C 47 ; WX 278 ; N slash ; B -33 -19 311 737 ;
+C 48 ; WX 556 ; N zero ; B 32 -19 524 710 ;
+C 49 ; WX 556 ; N one ; B 69 0 378 710 ;
+C 50 ; WX 556 ; N two ; B 26 0 511 710 ;
+C 51 ; WX 556 ; N three ; B 27 -19 516 710 ;
+C 52 ; WX 556 ; N four ; B 27 0 526 710 ;
+C 53 ; WX 556 ; N five ; B 27 -19 516 698 ;
+C 54 ; WX 556 ; N six ; B 31 -19 520 710 ;
+C 55 ; WX 556 ; N seven ; B 25 0 528 698 ;
+C 56 ; WX 556 ; N eight ; B 32 -19 524 710 ;
+C 57 ; WX 556 ; N nine ; B 30 -19 522 710 ;
+C 58 ; WX 333 ; N colon ; B 92 0 242 512 ;
+C 59 ; WX 333 ; N semicolon ; B 92 -168 242 512 ;
+C 60 ; WX 584 ; N less ; B 38 -8 546 514 ;
+C 61 ; WX 584 ; N equal ; B 40 87 544 419 ;
+C 62 ; WX 584 ; N greater ; B 38 -8 546 514 ;
+C 63 ; WX 611 ; N question ; B 60 0 556 727 ;
+C 64 ; WX 975 ; N at ; B 118 -19 856 737 ;
+C 65 ; WX 722 ; N A ; B 20 0 702 718 ;
+C 66 ; WX 722 ; N B ; B 76 0 669 718 ;
+C 67 ; WX 722 ; N C ; B 44 -19 684 737 ;
+C 68 ; WX 722 ; N D ; B 76 0 685 718 ;
+C 69 ; WX 667 ; N E ; B 76 0 621 718 ;
+C 70 ; WX 611 ; N F ; B 76 0 587 718 ;
+C 71 ; WX 778 ; N G ; B 44 -19 713 737 ;
+C 72 ; WX 722 ; N H ; B 71 0 651 718 ;
+C 73 ; WX 278 ; N I ; B 64 0 214 718 ;
+C 74 ; WX 556 ; N J ; B 22 -18 484 718 ;
+C 75 ; WX 722 ; N K ; B 87 0 722 718 ;
+C 76 ; WX 611 ; N L ; B 76 0 583 718 ;
+C 77 ; WX 833 ; N M ; B 69 0 765 718 ;
+C 78 ; WX 722 ; N N ; B 69 0 654 718 ;
+C 79 ; WX 778 ; N O ; B 44 -19 734 737 ;
+C 80 ; WX 667 ; N P ; B 76 0 627 718 ;
+C 81 ; WX 778 ; N Q ; B 44 -52 737 737 ;
+C 82 ; WX 722 ; N R ; B 76 0 677 718 ;
+C 83 ; WX 667 ; N S ; B 39 -19 629 737 ;
+C 84 ; WX 611 ; N T ; B 14 0 598 718 ;
+C 85 ; WX 722 ; N U ; B 72 -19 651 718 ;
+C 86 ; WX 667 ; N V ; B 19 0 648 718 ;
+C 87 ; WX 944 ; N W ; B 16 0 929 718 ;
+C 88 ; WX 667 ; N X ; B 14 0 653 718 ;
+C 89 ; WX 667 ; N Y ; B 15 0 653 718 ;
+C 90 ; WX 611 ; N Z ; B 25 0 586 718 ;
+C 91 ; WX 333 ; N bracketleft ; B 63 -196 309 722 ;
+C 92 ; WX 278 ; N backslash ; B -33 -19 311 737 ;
+C 93 ; WX 333 ; N bracketright ; B 24 -196 270 722 ;
+C 94 ; WX 584 ; N asciicircum ; B 62 323 522 698 ;
+C 95 ; WX 556 ; N underscore ; B 0 -125 556 -75 ;
+C 96 ; WX 278 ; N quoteleft ; B 69 454 209 727 ;
+C 97 ; WX 556 ; N a ; B 29 -14 527 546 ;
+C 98 ; WX 611 ; N b ; B 61 -14 578 718 ;
+C 99 ; WX 556 ; N c ; B 34 -14 524 546 ;
+C 100 ; WX 611 ; N d ; B 34 -14 551 718 ;
+C 101 ; WX 556 ; N e ; B 23 -14 528 546 ;
+C 102 ; WX 333 ; N f ; B 10 0 318 727 ; L i fi ; L l fl ;
+C 103 ; WX 611 ; N g ; B 40 -217 553 546 ;
+C 104 ; WX 611 ; N h ; B 65 0 546 718 ;
+C 105 ; WX 278 ; N i ; B 69 0 209 725 ;
+C 106 ; WX 278 ; N j ; B 3 -214 209 725 ;
+C 107 ; WX 556 ; N k ; B 69 0 562 718 ;
+C 108 ; WX 278 ; N l ; B 69 0 209 718 ;
+C 109 ; WX 889 ; N m ; B 64 0 826 546 ;
+C 110 ; WX 611 ; N n ; B 65 0 546 546 ;
+C 111 ; WX 611 ; N o ; B 34 -14 578 546 ;
+C 112 ; WX 611 ; N p ; B 62 -207 578 546 ;
+C 113 ; WX 611 ; N q ; B 34 -207 552 546 ;
+C 114 ; WX 389 ; N r ; B 64 0 373 546 ;
+C 115 ; WX 556 ; N s ; B 30 -14 519 546 ;
+C 116 ; WX 333 ; N t ; B 10 -6 309 676 ;
+C 117 ; WX 611 ; N u ; B 66 -14 545 532 ;
+C 118 ; WX 556 ; N v ; B 13 0 543 532 ;
+C 119 ; WX 778 ; N w ; B 10 0 769 532 ;
+C 120 ; WX 556 ; N x ; B 15 0 541 532 ;
+C 121 ; WX 556 ; N y ; B 10 -214 539 532 ;
+C 122 ; WX 500 ; N z ; B 20 0 480 532 ;
+C 123 ; WX 389 ; N braceleft ; B 48 -196 365 722 ;
+C 124 ; WX 280 ; N bar ; B 84 -225 196 775 ;
+C 125 ; WX 389 ; N braceright ; B 24 -196 341 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 61 163 523 343 ;
+C 161 ; WX 333 ; N exclamdown ; B 90 -186 244 532 ;
+C 162 ; WX 556 ; N cent ; B 34 -118 524 628 ;
+C 163 ; WX 556 ; N sterling ; B 28 -16 541 718 ;
+C 164 ; WX 167 ; N fraction ; B -170 -19 336 710 ;
+C 165 ; WX 556 ; N yen ; B -9 0 565 698 ;
+C 166 ; WX 556 ; N florin ; B -10 -210 516 737 ;
+C 167 ; WX 556 ; N section ; B 34 -184 522 727 ;
+C 168 ; WX 556 ; N currency ; B -3 76 559 636 ;
+C 169 ; WX 238 ; N quotesingle ; B 70 447 168 718 ;
+C 170 ; WX 500 ; N quotedblleft ; B 64 454 436 727 ;
+C 171 ; WX 556 ; N guillemotleft ; B 88 76 468 484 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 83 76 250 484 ;
+C 173 ; WX 333 ; N guilsinglright ; B 83 76 250 484 ;
+C 174 ; WX 611 ; N fi ; B 10 0 542 727 ;
+C 175 ; WX 611 ; N fl ; B 10 0 542 727 ;
+C 177 ; WX 556 ; N endash ; B 0 227 556 333 ;
+C 178 ; WX 556 ; N dagger ; B 36 -171 520 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 36 -171 520 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 58 172 220 334 ;
+C 182 ; WX 556 ; N paragraph ; B -8 -191 539 700 ;
+C 183 ; WX 350 ; N bullet ; B 10 194 340 524 ;
+C 184 ; WX 278 ; N quotesinglbase ; B 69 -146 209 127 ;
+C 185 ; WX 500 ; N quotedblbase ; B 64 -146 436 127 ;
+C 186 ; WX 500 ; N quotedblright ; B 64 445 436 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 88 76 468 484 ;
+C 188 ; WX 1000 ; N ellipsis ; B 92 0 908 146 ;
+C 189 ; WX 1000 ; N perthousand ; B -3 -19 1003 710 ;
+C 191 ; WX 611 ; N questiondown ; B 55 -195 551 532 ;
+C 193 ; WX 333 ; N grave ; B -23 604 225 750 ;
+C 194 ; WX 333 ; N acute ; B 108 604 356 750 ;
+C 195 ; WX 333 ; N circumflex ; B -10 604 343 750 ;
+C 196 ; WX 333 ; N tilde ; B -17 610 350 737 ;
+C 197 ; WX 333 ; N macron ; B -6 604 339 678 ;
+C 198 ; WX 333 ; N breve ; B -2 604 335 750 ;
+C 199 ; WX 333 ; N dotaccent ; B 104 614 230 729 ;
+C 200 ; WX 333 ; N dieresis ; B 6 614 327 729 ;
+C 202 ; WX 333 ; N ring ; B 59 568 275 776 ;
+C 203 ; WX 333 ; N cedilla ; B 6 -228 245 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 9 604 486 750 ;
+C 206 ; WX 333 ; N ogonek ; B 71 -228 304 0 ;
+C 207 ; WX 333 ; N caron ; B -10 604 343 750 ;
+C 208 ; WX 1000 ; N emdash ; B 0 227 1000 333 ;
+C 225 ; WX 1000 ; N AE ; B 5 0 954 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 22 401 347 737 ;
+C 232 ; WX 611 ; N Lslash ; B -20 0 583 718 ;
+C 233 ; WX 778 ; N Oslash ; B 33 -27 744 745 ;
+C 234 ; WX 1000 ; N OE ; B 37 -19 961 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 6 401 360 737 ;
+C 241 ; WX 889 ; N ae ; B 29 -14 858 546 ;
+C 245 ; WX 278 ; N dotlessi ; B 69 0 209 532 ;
+C 248 ; WX 278 ; N lslash ; B -18 0 296 718 ;
+C 249 ; WX 611 ; N oslash ; B 22 -29 589 560 ;
+C 250 ; WX 944 ; N oe ; B 34 -14 912 546 ;
+C 251 ; WX 611 ; N germandbls ; B 69 -14 579 731 ;
+C -1 ; WX 278 ; N Idieresis ; B -21 0 300 915 ;
+C -1 ; WX 556 ; N eacute ; B 23 -14 528 750 ;
+C -1 ; WX 667 ; N Ydieresis ; B 15 0 653 915 ;
+C -1 ; WX 584 ; N divide ; B 40 -42 544 548 ;
+C -1 ; WX 667 ; N Yacute ; B 15 0 653 936 ;
+C -1 ; WX 722 ; N Acircumflex ; B 20 0 702 936 ;
+C -1 ; WX 556 ; N aacute ; B 29 -14 527 750 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 72 -19 651 936 ;
+C -1 ; WX 556 ; N yacute ; B 10 -214 539 750 ;
+C -1 ; WX 556 ; N ecircumflex ; B 23 -14 528 750 ;
+C -1 ; WX 722 ; N Udieresis ; B 72 -19 651 915 ;
+C -1 ; WX 722 ; N Uacute ; B 72 -19 651 936 ;
+C -1 ; WX 667 ; N Edieresis ; B 76 0 621 915 ;
+C -1 ; WX 737 ; N copyright ; B -11 -19 749 737 ;
+C -1 ; WX 556 ; N aring ; B 29 -14 527 776 ;
+C -1 ; WX 556 ; N agrave ; B 29 -14 527 750 ;
+C -1 ; WX 556 ; N atilde ; B 29 -14 527 737 ;
+C -1 ; WX 556 ; N scaron ; B 30 -14 519 750 ;
+C -1 ; WX 278 ; N iacute ; B 69 0 329 750 ;
+C -1 ; WX 611 ; N ucircumflex ; B 66 -14 545 750 ;
+C -1 ; WX 556 ; N acircumflex ; B 29 -14 527 750 ;
+C -1 ; WX 556 ; N ccedilla ; B 34 -228 524 546 ;
+C -1 ; WX 667 ; N Thorn ; B 76 0 627 718 ;
+C -1 ; WX 333 ; N threesuperior ; B 8 271 326 710 ;
+C -1 ; WX 778 ; N Ograve ; B 44 -19 734 936 ;
+C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ;
+C -1 ; WX 584 ; N multiply ; B 40 1 545 505 ;
+C -1 ; WX 611 ; N uacute ; B 66 -14 545 750 ;
+C -1 ; WX 556 ; N ydieresis ; B 10 -214 539 729 ;
+C -1 ; WX 278 ; N icircumflex ; B -37 0 316 750 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 76 0 621 936 ;
+C -1 ; WX 556 ; N adieresis ; B 29 -14 527 729 ;
+C -1 ; WX 556 ; N edieresis ; B 23 -14 528 729 ;
+C -1 ; WX 278 ; N Iacute ; B 64 0 329 936 ;
+C -1 ; WX 584 ; N plusminus ; B 40 0 544 506 ;
+C -1 ; WX 280 ; N brokenbar ; B 84 -150 196 700 ;
+C -1 ; WX 737 ; N registered ; B -11 -19 748 737 ;
+C -1 ; WX 667 ; N Egrave ; B 76 0 621 936 ;
+C -1 ; WX 611 ; N Zcaron ; B 25 0 586 936 ;
+C -1 ; WX 722 ; N Eth ; B -5 0 685 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 44 -228 684 737 ;
+C -1 ; WX 722 ; N Aacute ; B 20 0 702 936 ;
+C -1 ; WX 722 ; N Adieresis ; B 20 0 702 915 ;
+C -1 ; WX 556 ; N egrave ; B 23 -14 528 750 ;
+C -1 ; WX 778 ; N Oacute ; B 44 -19 734 936 ;
+C -1 ; WX 611 ; N oacute ; B 34 -14 578 750 ;
+C -1 ; WX 278 ; N idieresis ; B -21 0 300 729 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 44 -19 734 936 ;
+C -1 ; WX 722 ; N Ugrave ; B 72 -19 651 936 ;
+C -1 ; WX 611 ; N thorn ; B 62 -208 578 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 9 283 324 710 ;
+C -1 ; WX 778 ; N Odieresis ; B 44 -19 734 915 ;
+C -1 ; WX 611 ; N mu ; B 66 -207 545 532 ;
+C -1 ; WX 278 ; N igrave ; B -50 0 209 750 ;
+C -1 ; WX 834 ; N threequarters ; B 16 -19 799 710 ;
+C -1 ; WX 1000 ; N trademark ; B 44 306 956 718 ;
+C -1 ; WX 278 ; N Igrave ; B -50 0 214 936 ;
+C -1 ; WX 834 ; N onehalf ; B 26 -19 794 710 ;
+C -1 ; WX 611 ; N ocircumflex ; B 34 -14 578 750 ;
+C -1 ; WX 611 ; N ntilde ; B 65 0 546 737 ;
+C -1 ; WX 667 ; N Eacute ; B 76 0 621 936 ;
+C -1 ; WX 834 ; N onequarter ; B 26 -19 766 710 ;
+C -1 ; WX 667 ; N Scaron ; B 39 -19 629 936 ;
+C -1 ; WX 400 ; N degree ; B 57 426 343 712 ;
+C -1 ; WX 611 ; N ograve ; B 34 -14 578 750 ;
+C -1 ; WX 611 ; N ugrave ; B 66 -14 545 750 ;
+C -1 ; WX 722 ; N Ntilde ; B 69 0 654 923 ;
+C -1 ; WX 611 ; N otilde ; B 34 -14 578 737 ;
+C -1 ; WX 722 ; N Atilde ; B 20 0 702 923 ;
+C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ;
+C -1 ; WX 778 ; N Otilde ; B 44 -19 734 923 ;
+C -1 ; WX 584 ; N minus ; B 40 197 544 309 ;
+C -1 ; WX 278 ; N Icircumflex ; B -37 0 316 936 ;
+C -1 ; WX 584 ; N logicalnot ; B 40 108 544 419 ;
+C -1 ; WX 611 ; N odieresis ; B 34 -14 578 729 ;
+C -1 ; WX 611 ; N udieresis ; B 66 -14 545 729 ;
+C -1 ; WX 611 ; N eth ; B 34 -14 578 737 ;
+C -1 ; WX 500 ; N zcaron ; B 20 0 480 750 ;
+C -1 ; WX 333 ; N onesuperior ; B 26 283 237 710 ;
+C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1181
+KPX A C -40
+KPX A Ccedilla -40
+KPX A G -50
+KPX A O -40
+KPX A Oacute -40
+KPX A Ocircumflex -40
+KPX A Odieresis -40
+KPX A Ograve -40
+KPX A Oslash -40
+KPX A Otilde -40
+KPX A Q -40
+KPX A T -90
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -80
+KPX A W -60
+KPX A Y -110
+KPX A Yacute -110
+KPX A Ydieresis -110
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A v -40
+KPX A w -30
+KPX A y -30
+KPX A yacute -30
+KPX A ydieresis -30
+KPX Aacute C -40
+KPX Aacute Ccedilla -40
+KPX Aacute G -50
+KPX Aacute O -40
+KPX Aacute Oacute -40
+KPX Aacute Ocircumflex -40
+KPX Aacute Odieresis -40
+KPX Aacute Ograve -40
+KPX Aacute Oslash -40
+KPX Aacute Otilde -40
+KPX Aacute Q -40
+KPX Aacute T -90
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -80
+KPX Aacute W -60
+KPX Aacute Y -110
+KPX Aacute Yacute -110
+KPX Aacute Ydieresis -110
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute v -40
+KPX Aacute w -30
+KPX Aacute y -30
+KPX Aacute yacute -30
+KPX Aacute ydieresis -30
+KPX Acircumflex C -40
+KPX Acircumflex Ccedilla -40
+KPX Acircumflex G -50
+KPX Acircumflex O -40
+KPX Acircumflex Oacute -40
+KPX Acircumflex Ocircumflex -40
+KPX Acircumflex Odieresis -40
+KPX Acircumflex Ograve -40
+KPX Acircumflex Oslash -40
+KPX Acircumflex Otilde -40
+KPX Acircumflex Q -40
+KPX Acircumflex T -90
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -80
+KPX Acircumflex W -60
+KPX Acircumflex Y -110
+KPX Acircumflex Yacute -110
+KPX Acircumflex Ydieresis -110
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex v -40
+KPX Acircumflex w -30
+KPX Acircumflex y -30
+KPX Acircumflex yacute -30
+KPX Acircumflex ydieresis -30
+KPX Adieresis C -40
+KPX Adieresis Ccedilla -40
+KPX Adieresis G -50
+KPX Adieresis O -40
+KPX Adieresis Oacute -40
+KPX Adieresis Ocircumflex -40
+KPX Adieresis Odieresis -40
+KPX Adieresis Ograve -40
+KPX Adieresis Oslash -40
+KPX Adieresis Otilde -40
+KPX Adieresis Q -40
+KPX Adieresis T -90
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -80
+KPX Adieresis W -60
+KPX Adieresis Y -110
+KPX Adieresis Yacute -110
+KPX Adieresis Ydieresis -110
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis v -40
+KPX Adieresis w -30
+KPX Adieresis y -30
+KPX Adieresis yacute -30
+KPX Adieresis ydieresis -30
+KPX Agrave C -40
+KPX Agrave Ccedilla -40
+KPX Agrave G -50
+KPX Agrave O -40
+KPX Agrave Oacute -40
+KPX Agrave Ocircumflex -40
+KPX Agrave Odieresis -40
+KPX Agrave Ograve -40
+KPX Agrave Oslash -40
+KPX Agrave Otilde -40
+KPX Agrave Q -40
+KPX Agrave T -90
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -80
+KPX Agrave W -60
+KPX Agrave Y -110
+KPX Agrave Yacute -110
+KPX Agrave Ydieresis -110
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave v -40
+KPX Agrave w -30
+KPX Agrave y -30
+KPX Agrave yacute -30
+KPX Agrave ydieresis -30
+KPX Aring C -40
+KPX Aring Ccedilla -40
+KPX Aring G -50
+KPX Aring O -40
+KPX Aring Oacute -40
+KPX Aring Ocircumflex -40
+KPX Aring Odieresis -40
+KPX Aring Ograve -40
+KPX Aring Oslash -40
+KPX Aring Otilde -40
+KPX Aring Q -40
+KPX Aring T -90
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -80
+KPX Aring W -60
+KPX Aring Y -110
+KPX Aring Yacute -110
+KPX Aring Ydieresis -110
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring v -40
+KPX Aring w -30
+KPX Aring y -30
+KPX Aring yacute -30
+KPX Aring ydieresis -30
+KPX Atilde C -40
+KPX Atilde Ccedilla -40
+KPX Atilde G -50
+KPX Atilde O -40
+KPX Atilde Oacute -40
+KPX Atilde Ocircumflex -40
+KPX Atilde Odieresis -40
+KPX Atilde Ograve -40
+KPX Atilde Oslash -40
+KPX Atilde Otilde -40
+KPX Atilde Q -40
+KPX Atilde T -90
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -80
+KPX Atilde W -60
+KPX Atilde Y -110
+KPX Atilde Yacute -110
+KPX Atilde Ydieresis -110
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde v -40
+KPX Atilde w -30
+KPX Atilde y -30
+KPX Atilde yacute -30
+KPX Atilde ydieresis -30
+KPX B A -30
+KPX B Aacute -30
+KPX B Acircumflex -30
+KPX B Adieresis -30
+KPX B Agrave -30
+KPX B Aring -30
+KPX B Atilde -30
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -40
+KPX D Aacute -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -40
+KPX D W -40
+KPX D Y -70
+KPX D Yacute -70
+KPX D Ydieresis -70
+KPX D comma -30
+KPX D period -30
+KPX F A -80
+KPX F Aacute -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -20
+KPX F aacute -20
+KPX F acircumflex -20
+KPX F adieresis -20
+KPX F agrave -20
+KPX F aring -20
+KPX F atilde -20
+KPX F comma -100
+KPX F period -100
+KPX J A -20
+KPX J Aacute -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J comma -20
+KPX J period -20
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -15
+KPX K eacute -15
+KPX K ecircumflex -15
+KPX K edieresis -15
+KPX K egrave -15
+KPX K o -35
+KPX K oacute -35
+KPX K ocircumflex -35
+KPX K odieresis -35
+KPX K ograve -35
+KPX K oslash -35
+KPX K otilde -35
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K y -40
+KPX K yacute -40
+KPX K ydieresis -40
+KPX L T -90
+KPX L V -110
+KPX L W -80
+KPX L Y -120
+KPX L Yacute -120
+KPX L Ydieresis -120
+KPX L quotedblright -140
+KPX L quoteright -140
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lslash T -90
+KPX Lslash V -110
+KPX Lslash W -80
+KPX Lslash Y -120
+KPX Lslash Yacute -120
+KPX Lslash Ydieresis -120
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -140
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -50
+KPX O Aacute -50
+KPX O Acircumflex -50
+KPX O Adieresis -50
+KPX O Agrave -50
+KPX O Aring -50
+KPX O Atilde -50
+KPX O T -40
+KPX O V -50
+KPX O W -50
+KPX O X -50
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -50
+KPX Oacute Aacute -50
+KPX Oacute Acircumflex -50
+KPX Oacute Adieresis -50
+KPX Oacute Agrave -50
+KPX Oacute Aring -50
+KPX Oacute Atilde -50
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -50
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -50
+KPX Ocircumflex Aacute -50
+KPX Ocircumflex Acircumflex -50
+KPX Ocircumflex Adieresis -50
+KPX Ocircumflex Agrave -50
+KPX Ocircumflex Aring -50
+KPX Ocircumflex Atilde -50
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -50
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -50
+KPX Odieresis Aacute -50
+KPX Odieresis Acircumflex -50
+KPX Odieresis Adieresis -50
+KPX Odieresis Agrave -50
+KPX Odieresis Aring -50
+KPX Odieresis Atilde -50
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -50
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -50
+KPX Ograve Aacute -50
+KPX Ograve Acircumflex -50
+KPX Ograve Adieresis -50
+KPX Ograve Agrave -50
+KPX Ograve Aring -50
+KPX Ograve Atilde -50
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -50
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Oslash A -50
+KPX Oslash Aacute -50
+KPX Oslash Acircumflex -50
+KPX Oslash Adieresis -50
+KPX Oslash Agrave -50
+KPX Oslash Aring -50
+KPX Oslash Atilde -50
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -50
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -50
+KPX Otilde Aacute -50
+KPX Otilde Acircumflex -50
+KPX Otilde Adieresis -50
+KPX Otilde Agrave -50
+KPX Otilde Aring -50
+KPX Otilde Atilde -50
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -50
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -100
+KPX P Aacute -100
+KPX P Acircumflex -100
+KPX P Adieresis -100
+KPX P Agrave -100
+KPX P Aring -100
+KPX P Atilde -100
+KPX P a -30
+KPX P aacute -30
+KPX P acircumflex -30
+KPX P adieresis -30
+KPX P agrave -30
+KPX P aring -30
+KPX P atilde -30
+KPX P comma -120
+KPX P e -30
+KPX P eacute -30
+KPX P ecircumflex -30
+KPX P edieresis -30
+KPX P egrave -30
+KPX P o -40
+KPX P oacute -40
+KPX P ocircumflex -40
+KPX P odieresis -40
+KPX P ograve -40
+KPX P oslash -40
+KPX P otilde -40
+KPX P period -120
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q comma 20
+KPX Q period 20
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -20
+KPX R U -20
+KPX R Uacute -20
+KPX R Ucircumflex -20
+KPX R Udieresis -20
+KPX R Ugrave -20
+KPX R V -50
+KPX R W -40
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX T A -90
+KPX T Aacute -90
+KPX T Acircumflex -90
+KPX T Adieresis -90
+KPX T Agrave -90
+KPX T Aring -90
+KPX T Atilde -90
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -80
+KPX T aacute -80
+KPX T acircumflex -80
+KPX T adieresis -80
+KPX T agrave -80
+KPX T aring -80
+KPX T atilde -80
+KPX T colon -40
+KPX T comma -80
+KPX T e -60
+KPX T eacute -60
+KPX T ecircumflex -60
+KPX T edieresis -60
+KPX T egrave -60
+KPX T hyphen -120
+KPX T o -80
+KPX T oacute -80
+KPX T ocircumflex -80
+KPX T odieresis -80
+KPX T ograve -80
+KPX T oslash -80
+KPX T otilde -80
+KPX T period -80
+KPX T r -80
+KPX T semicolon -40
+KPX T u -90
+KPX T uacute -90
+KPX T ucircumflex -90
+KPX T udieresis -90
+KPX T ugrave -90
+KPX T w -60
+KPX T y -60
+KPX T yacute -60
+KPX T ydieresis -60
+KPX U A -50
+KPX U Aacute -50
+KPX U Acircumflex -50
+KPX U Adieresis -50
+KPX U Agrave -50
+KPX U Aring -50
+KPX U Atilde -50
+KPX U comma -30
+KPX U period -30
+KPX Uacute A -50
+KPX Uacute Aacute -50
+KPX Uacute Acircumflex -50
+KPX Uacute Adieresis -50
+KPX Uacute Agrave -50
+KPX Uacute Aring -50
+KPX Uacute Atilde -50
+KPX Uacute comma -30
+KPX Uacute period -30
+KPX Ucircumflex A -50
+KPX Ucircumflex Aacute -50
+KPX Ucircumflex Acircumflex -50
+KPX Ucircumflex Adieresis -50
+KPX Ucircumflex Agrave -50
+KPX Ucircumflex Aring -50
+KPX Ucircumflex Atilde -50
+KPX Ucircumflex comma -30
+KPX Ucircumflex period -30
+KPX Udieresis A -50
+KPX Udieresis Aacute -50
+KPX Udieresis Acircumflex -50
+KPX Udieresis Adieresis -50
+KPX Udieresis Agrave -50
+KPX Udieresis Aring -50
+KPX Udieresis Atilde -50
+KPX Udieresis comma -30
+KPX Udieresis period -30
+KPX Ugrave A -50
+KPX Ugrave Aacute -50
+KPX Ugrave Acircumflex -50
+KPX Ugrave Adieresis -50
+KPX Ugrave Agrave -50
+KPX Ugrave Aring -50
+KPX Ugrave Atilde -50
+KPX Ugrave comma -30
+KPX Ugrave period -30
+KPX V A -80
+KPX V Aacute -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -50
+KPX V O -50
+KPX V Oacute -50
+KPX V Ocircumflex -50
+KPX V Odieresis -50
+KPX V Ograve -50
+KPX V Oslash -50
+KPX V Otilde -50
+KPX V a -60
+KPX V aacute -60
+KPX V acircumflex -60
+KPX V adieresis -60
+KPX V agrave -60
+KPX V aring -60
+KPX V atilde -60
+KPX V colon -40
+KPX V comma -120
+KPX V e -50
+KPX V eacute -50
+KPX V ecircumflex -50
+KPX V edieresis -50
+KPX V egrave -50
+KPX V hyphen -80
+KPX V o -90
+KPX V oacute -90
+KPX V ocircumflex -90
+KPX V odieresis -90
+KPX V ograve -90
+KPX V oslash -90
+KPX V otilde -90
+KPX V period -120
+KPX V semicolon -40
+KPX V u -60
+KPX V uacute -60
+KPX V ucircumflex -60
+KPX V udieresis -60
+KPX V ugrave -60
+KPX W A -60
+KPX W Aacute -60
+KPX W Acircumflex -60
+KPX W Adieresis -60
+KPX W Agrave -60
+KPX W Aring -60
+KPX W Atilde -60
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W aring -40
+KPX W atilde -40
+KPX W colon -10
+KPX W comma -80
+KPX W e -35
+KPX W eacute -35
+KPX W ecircumflex -35
+KPX W edieresis -35
+KPX W egrave -35
+KPX W hyphen -40
+KPX W o -60
+KPX W oacute -60
+KPX W ocircumflex -60
+KPX W odieresis -60
+KPX W ograve -60
+KPX W oslash -60
+KPX W otilde -60
+KPX W period -80
+KPX W semicolon -10
+KPX W u -45
+KPX W uacute -45
+KPX W ucircumflex -45
+KPX W udieresis -45
+KPX W ugrave -45
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -70
+KPX Y Oacute -70
+KPX Y Ocircumflex -70
+KPX Y Odieresis -70
+KPX Y Ograve -70
+KPX Y Oslash -70
+KPX Y Otilde -70
+KPX Y a -90
+KPX Y aacute -90
+KPX Y acircumflex -90
+KPX Y adieresis -90
+KPX Y agrave -90
+KPX Y aring -90
+KPX Y atilde -90
+KPX Y colon -50
+KPX Y comma -100
+KPX Y e -80
+KPX Y eacute -80
+KPX Y ecircumflex -80
+KPX Y edieresis -80
+KPX Y egrave -80
+KPX Y o -100
+KPX Y oacute -100
+KPX Y ocircumflex -100
+KPX Y odieresis -100
+KPX Y ograve -100
+KPX Y oslash -100
+KPX Y otilde -100
+KPX Y period -100
+KPX Y semicolon -50
+KPX Y u -100
+KPX Y uacute -100
+KPX Y ucircumflex -100
+KPX Y udieresis -100
+KPX Y ugrave -100
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -70
+KPX Yacute Oacute -70
+KPX Yacute Ocircumflex -70
+KPX Yacute Odieresis -70
+KPX Yacute Ograve -70
+KPX Yacute Oslash -70
+KPX Yacute Otilde -70
+KPX Yacute a -90
+KPX Yacute aacute -90
+KPX Yacute acircumflex -90
+KPX Yacute adieresis -90
+KPX Yacute agrave -90
+KPX Yacute aring -90
+KPX Yacute atilde -90
+KPX Yacute colon -50
+KPX Yacute comma -100
+KPX Yacute e -80
+KPX Yacute eacute -80
+KPX Yacute ecircumflex -80
+KPX Yacute edieresis -80
+KPX Yacute egrave -80
+KPX Yacute o -100
+KPX Yacute oacute -100
+KPX Yacute ocircumflex -100
+KPX Yacute odieresis -100
+KPX Yacute ograve -100
+KPX Yacute oslash -100
+KPX Yacute otilde -100
+KPX Yacute period -100
+KPX Yacute semicolon -50
+KPX Yacute u -100
+KPX Yacute uacute -100
+KPX Yacute ucircumflex -100
+KPX Yacute udieresis -100
+KPX Yacute ugrave -100
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -70
+KPX Ydieresis Oacute -70
+KPX Ydieresis Ocircumflex -70
+KPX Ydieresis Odieresis -70
+KPX Ydieresis Ograve -70
+KPX Ydieresis Oslash -70
+KPX Ydieresis Otilde -70
+KPX Ydieresis a -90
+KPX Ydieresis aacute -90
+KPX Ydieresis acircumflex -90
+KPX Ydieresis adieresis -90
+KPX Ydieresis agrave -90
+KPX Ydieresis aring -90
+KPX Ydieresis atilde -90
+KPX Ydieresis colon -50
+KPX Ydieresis comma -100
+KPX Ydieresis e -80
+KPX Ydieresis eacute -80
+KPX Ydieresis ecircumflex -80
+KPX Ydieresis edieresis -80
+KPX Ydieresis egrave -80
+KPX Ydieresis o -100
+KPX Ydieresis oacute -100
+KPX Ydieresis ocircumflex -100
+KPX Ydieresis odieresis -100
+KPX Ydieresis ograve -100
+KPX Ydieresis oslash -100
+KPX Ydieresis otilde -100
+KPX Ydieresis period -100
+KPX Ydieresis semicolon -50
+KPX Ydieresis u -100
+KPX Ydieresis uacute -100
+KPX Ydieresis ucircumflex -100
+KPX Ydieresis udieresis -100
+KPX Ydieresis ugrave -100
+KPX a g -10
+KPX a v -15
+KPX a w -15
+KPX a y -20
+KPX a yacute -20
+KPX a ydieresis -20
+KPX aacute g -10
+KPX aacute v -15
+KPX aacute w -15
+KPX aacute y -20
+KPX aacute yacute -20
+KPX aacute ydieresis -20
+KPX acircumflex g -10
+KPX acircumflex v -15
+KPX acircumflex w -15
+KPX acircumflex y -20
+KPX acircumflex yacute -20
+KPX acircumflex ydieresis -20
+KPX adieresis g -10
+KPX adieresis v -15
+KPX adieresis w -15
+KPX adieresis y -20
+KPX adieresis yacute -20
+KPX adieresis ydieresis -20
+KPX agrave g -10
+KPX agrave v -15
+KPX agrave w -15
+KPX agrave y -20
+KPX agrave yacute -20
+KPX agrave ydieresis -20
+KPX aring g -10
+KPX aring v -15
+KPX aring w -15
+KPX aring y -20
+KPX aring yacute -20
+KPX aring ydieresis -20
+KPX atilde g -10
+KPX atilde v -15
+KPX atilde w -15
+KPX atilde y -20
+KPX atilde yacute -20
+KPX atilde ydieresis -20
+KPX b l -10
+KPX b lslash -10
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c h -10
+KPX c k -20
+KPX c l -20
+KPX c lslash -20
+KPX c y -10
+KPX c yacute -10
+KPX c ydieresis -10
+KPX ccedilla h -10
+KPX ccedilla k -20
+KPX ccedilla l -20
+KPX ccedilla lslash -20
+KPX ccedilla y -10
+KPX ccedilla yacute -10
+KPX ccedilla ydieresis -10
+KPX colon space -40
+KPX comma quotedblright -120
+KPX comma quoteright -120
+KPX comma space -40
+KPX d d -10
+KPX d v -15
+KPX d w -15
+KPX d y -15
+KPX d yacute -15
+KPX d ydieresis -15
+KPX e comma 10
+KPX e period 20
+KPX e v -15
+KPX e w -15
+KPX e x -15
+KPX e y -15
+KPX e yacute -15
+KPX e ydieresis -15
+KPX eacute comma 10
+KPX eacute period 20
+KPX eacute v -15
+KPX eacute w -15
+KPX eacute x -15
+KPX eacute y -15
+KPX eacute yacute -15
+KPX eacute ydieresis -15
+KPX ecircumflex comma 10
+KPX ecircumflex period 20
+KPX ecircumflex v -15
+KPX ecircumflex w -15
+KPX ecircumflex x -15
+KPX ecircumflex y -15
+KPX ecircumflex yacute -15
+KPX ecircumflex ydieresis -15
+KPX edieresis comma 10
+KPX edieresis period 20
+KPX edieresis v -15
+KPX edieresis w -15
+KPX edieresis x -15
+KPX edieresis y -15
+KPX edieresis yacute -15
+KPX edieresis ydieresis -15
+KPX egrave comma 10
+KPX egrave period 20
+KPX egrave v -15
+KPX egrave w -15
+KPX egrave x -15
+KPX egrave y -15
+KPX egrave yacute -15
+KPX egrave ydieresis -15
+KPX f comma -10
+KPX f e -10
+KPX f eacute -10
+KPX f ecircumflex -10
+KPX f edieresis -10
+KPX f egrave -10
+KPX f o -20
+KPX f oacute -20
+KPX f ocircumflex -20
+KPX f odieresis -20
+KPX f ograve -20
+KPX f oslash -20
+KPX f otilde -20
+KPX f period -10
+KPX f quotedblright 30
+KPX f quoteright 30
+KPX g e 10
+KPX g eacute 10
+KPX g ecircumflex 10
+KPX g edieresis 10
+KPX g egrave 10
+KPX g g -10
+KPX h y -20
+KPX h yacute -20
+KPX h ydieresis -20
+KPX k o -15
+KPX k oacute -15
+KPX k ocircumflex -15
+KPX k odieresis -15
+KPX k ograve -15
+KPX k oslash -15
+KPX k otilde -15
+KPX l w -15
+KPX l y -15
+KPX l yacute -15
+KPX l ydieresis -15
+KPX lslash w -15
+KPX lslash y -15
+KPX lslash yacute -15
+KPX lslash ydieresis -15
+KPX m u -20
+KPX m uacute -20
+KPX m ucircumflex -20
+KPX m udieresis -20
+KPX m ugrave -20
+KPX m y -30
+KPX m yacute -30
+KPX m ydieresis -30
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n v -40
+KPX n y -20
+KPX n yacute -20
+KPX n ydieresis -20
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde v -40
+KPX ntilde y -20
+KPX ntilde yacute -20
+KPX ntilde ydieresis -20
+KPX o v -20
+KPX o w -15
+KPX o x -30
+KPX o y -20
+KPX o yacute -20
+KPX o ydieresis -20
+KPX oacute v -20
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -20
+KPX oacute yacute -20
+KPX oacute ydieresis -20
+KPX ocircumflex v -20
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -20
+KPX ocircumflex yacute -20
+KPX ocircumflex ydieresis -20
+KPX odieresis v -20
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -20
+KPX odieresis yacute -20
+KPX odieresis ydieresis -20
+KPX ograve v -20
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -20
+KPX ograve yacute -20
+KPX ograve ydieresis -20
+KPX oslash v -20
+KPX oslash w -15
+KPX oslash x -30
+KPX oslash y -20
+KPX oslash yacute -20
+KPX oslash ydieresis -20
+KPX otilde v -20
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -20
+KPX otilde yacute -20
+KPX otilde ydieresis -20
+KPX p y -15
+KPX p yacute -15
+KPX p ydieresis -15
+KPX period quotedblright -120
+KPX period quoteright -120
+KPX period space -40
+KPX quotedblright space -80
+KPX quoteleft quoteleft -46
+KPX quoteright d -80
+KPX quoteright l -20
+KPX quoteright lslash -20
+KPX quoteright quoteright -46
+KPX quoteright r -40
+KPX quoteright s -60
+KPX quoteright scaron -60
+KPX quoteright space -80
+KPX quoteright v -20
+KPX r c -20
+KPX r ccedilla -20
+KPX r comma -60
+KPX r d -20
+KPX r g -15
+KPX r hyphen -20
+KPX r o -20
+KPX r oacute -20
+KPX r ocircumflex -20
+KPX r odieresis -20
+KPX r ograve -20
+KPX r oslash -20
+KPX r otilde -20
+KPX r period -60
+KPX r q -20
+KPX r s -15
+KPX r scaron -15
+KPX r t 20
+KPX r v 10
+KPX r y 10
+KPX r yacute 10
+KPX r ydieresis 10
+KPX s w -15
+KPX scaron w -15
+KPX semicolon space -40
+KPX space T -100
+KPX space V -80
+KPX space W -80
+KPX space Y -120
+KPX space Yacute -120
+KPX space Ydieresis -120
+KPX space quotedblleft -80
+KPX space quoteleft -60
+KPX v a -20
+KPX v aacute -20
+KPX v acircumflex -20
+KPX v adieresis -20
+KPX v agrave -20
+KPX v aring -20
+KPX v atilde -20
+KPX v comma -80
+KPX v o -30
+KPX v oacute -30
+KPX v ocircumflex -30
+KPX v odieresis -30
+KPX v ograve -30
+KPX v oslash -30
+KPX v otilde -30
+KPX v period -80
+KPX w comma -40
+KPX w o -20
+KPX w oacute -20
+KPX w ocircumflex -20
+KPX w odieresis -20
+KPX w ograve -20
+KPX w oslash -20
+KPX w otilde -20
+KPX w period -40
+KPX x e -10
+KPX x eacute -10
+KPX x ecircumflex -10
+KPX x edieresis -10
+KPX x egrave -10
+KPX y a -30
+KPX y aacute -30
+KPX y acircumflex -30
+KPX y adieresis -30
+KPX y agrave -30
+KPX y aring -30
+KPX y atilde -30
+KPX y comma -80
+KPX y e -10
+KPX y eacute -10
+KPX y ecircumflex -10
+KPX y edieresis -10
+KPX y egrave -10
+KPX y o -25
+KPX y oacute -25
+KPX y ocircumflex -25
+KPX y odieresis -25
+KPX y ograve -25
+KPX y oslash -25
+KPX y otilde -25
+KPX y period -80
+KPX yacute a -30
+KPX yacute aacute -30
+KPX yacute acircumflex -30
+KPX yacute adieresis -30
+KPX yacute agrave -30
+KPX yacute aring -30
+KPX yacute atilde -30
+KPX yacute comma -80
+KPX yacute e -10
+KPX yacute eacute -10
+KPX yacute ecircumflex -10
+KPX yacute edieresis -10
+KPX yacute egrave -10
+KPX yacute o -25
+KPX yacute oacute -25
+KPX yacute ocircumflex -25
+KPX yacute odieresis -25
+KPX yacute ograve -25
+KPX yacute oslash -25
+KPX yacute otilde -25
+KPX yacute period -80
+KPX ydieresis a -30
+KPX ydieresis aacute -30
+KPX ydieresis acircumflex -30
+KPX ydieresis adieresis -30
+KPX ydieresis agrave -30
+KPX ydieresis aring -30
+KPX ydieresis atilde -30
+KPX ydieresis comma -80
+KPX ydieresis e -10
+KPX ydieresis eacute -10
+KPX ydieresis ecircumflex -10
+KPX ydieresis edieresis -10
+KPX ydieresis egrave -10
+KPX ydieresis o -25
+KPX ydieresis oacute -25
+KPX ydieresis ocircumflex -25
+KPX ydieresis odieresis -25
+KPX ydieresis ograve -25
+KPX ydieresis oslash -25
+KPX ydieresis otilde -25
+KPX ydieresis period -80
+KPX z e 10
+KPX z eacute 10
+KPX z ecircumflex 10
+KPX z edieresis 10
+KPX z egrave 10
+KPX zcaron e 10
+KPX zcaron eacute 10
+KPX zcaron ecircumflex 10
+KPX zcaron edieresis 10
+KPX zcaron egrave 10
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/HI b/troff/troff.d/font/devps/HI
new file mode 100644
index 0000000000000..7cc85bd3f961d
--- /dev/null
+++ b/troff/troff.d/font/devps/HI
@@ -0,0 +1 @@
+name HI.afm
diff --git a/troff/troff.d/font/devps/HI.afm b/troff/troff.d/font/devps/HI.afm
new file mode 100644
index 0000000000000..83513898097b0
--- /dev/null
+++ b/troff/troff.d/font/devps/HI.afm
@@ -0,0 +1,1558 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:44:31 1997
+Comment UniqueID 43055
+Comment VMusage 14960 69346
+FontName Helvetica-Oblique
+FullName Helvetica Oblique
+FamilyName Helvetica
+Weight Medium
+ItalicAngle -12
+IsFixedPitch false
+FontBBox -170 -225 1116 931
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 523
+Ascender 718
+Descender -207
+StdHW 76
+StdVW 88
+StartCharMetrics 229
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 278 ; N exclam ; B 90 0 340 718 ;
+C 34 ; WX 355 ; N quotedbl ; B 168 463 438 718 ;
+C 35 ; WX 556 ; N numbersign ; B 73 0 631 688 ;
+C 36 ; WX 556 ; N dollar ; B 69 -115 617 775 ;
+C 37 ; WX 889 ; N percent ; B 147 -19 889 703 ;
+C 38 ; WX 667 ; N ampersand ; B 77 -15 647 718 ;
+C 39 ; WX 222 ; N quoteright ; B 151 463 310 718 ;
+C 40 ; WX 333 ; N parenleft ; B 108 -207 454 733 ;
+C 41 ; WX 333 ; N parenright ; B -9 -207 337 733 ;
+C 42 ; WX 389 ; N asterisk ; B 165 431 475 718 ;
+C 43 ; WX 584 ; N plus ; B 85 0 606 505 ;
+C 44 ; WX 278 ; N comma ; B 56 -147 214 106 ;
+C 45 ; WX 333 ; N hyphen ; B 93 232 357 322 ;
+C 46 ; WX 278 ; N period ; B 87 0 214 106 ;
+C 47 ; WX 278 ; N slash ; B -21 -19 452 737 ;
+C 48 ; WX 556 ; N zero ; B 93 -19 608 703 ;
+C 49 ; WX 556 ; N one ; B 207 0 508 703 ;
+C 50 ; WX 556 ; N two ; B 26 0 617 703 ;
+C 51 ; WX 556 ; N three ; B 75 -19 610 703 ;
+C 52 ; WX 556 ; N four ; B 61 0 576 703 ;
+C 53 ; WX 556 ; N five ; B 68 -19 621 688 ;
+C 54 ; WX 556 ; N six ; B 91 -19 615 703 ;
+C 55 ; WX 556 ; N seven ; B 137 0 669 688 ;
+C 56 ; WX 556 ; N eight ; B 74 -19 607 703 ;
+C 57 ; WX 556 ; N nine ; B 82 -19 609 703 ;
+C 58 ; WX 278 ; N colon ; B 87 0 301 516 ;
+C 59 ; WX 278 ; N semicolon ; B 56 -147 301 516 ;
+C 60 ; WX 584 ; N less ; B 94 11 641 495 ;
+C 61 ; WX 584 ; N equal ; B 63 115 628 390 ;
+C 62 ; WX 584 ; N greater ; B 50 11 597 495 ;
+C 63 ; WX 556 ; N question ; B 161 0 610 727 ;
+C 64 ; WX 1015 ; N at ; B 215 -19 965 737 ;
+C 65 ; WX 667 ; N A ; B 14 0 654 718 ;
+C 66 ; WX 667 ; N B ; B 74 0 712 718 ;
+C 67 ; WX 722 ; N C ; B 108 -19 782 737 ;
+C 68 ; WX 722 ; N D ; B 81 0 764 718 ;
+C 69 ; WX 667 ; N E ; B 86 0 762 718 ;
+C 70 ; WX 611 ; N F ; B 86 0 736 718 ;
+C 71 ; WX 778 ; N G ; B 111 -19 799 737 ;
+C 72 ; WX 722 ; N H ; B 77 0 799 718 ;
+C 73 ; WX 278 ; N I ; B 91 0 341 718 ;
+C 74 ; WX 500 ; N J ; B 47 -19 581 718 ;
+C 75 ; WX 667 ; N K ; B 76 0 808 718 ;
+C 76 ; WX 556 ; N L ; B 76 0 555 718 ;
+C 77 ; WX 833 ; N M ; B 73 0 914 718 ;
+C 78 ; WX 722 ; N N ; B 76 0 799 718 ;
+C 79 ; WX 778 ; N O ; B 105 -19 826 737 ;
+C 80 ; WX 667 ; N P ; B 86 0 737 718 ;
+C 81 ; WX 778 ; N Q ; B 105 -56 826 737 ;
+C 82 ; WX 722 ; N R ; B 88 0 773 718 ;
+C 83 ; WX 667 ; N S ; B 90 -19 713 737 ;
+C 84 ; WX 611 ; N T ; B 148 0 750 718 ;
+C 85 ; WX 722 ; N U ; B 123 -19 797 718 ;
+C 86 ; WX 667 ; N V ; B 173 0 800 718 ;
+C 87 ; WX 944 ; N W ; B 169 0 1081 718 ;
+C 88 ; WX 667 ; N X ; B 19 0 790 718 ;
+C 89 ; WX 667 ; N Y ; B 167 0 806 718 ;
+C 90 ; WX 611 ; N Z ; B 23 0 741 718 ;
+C 91 ; WX 278 ; N bracketleft ; B 21 -196 403 722 ;
+C 92 ; WX 278 ; N backslash ; B 140 -19 291 737 ;
+C 93 ; WX 278 ; N bracketright ; B -14 -196 368 722 ;
+C 94 ; WX 469 ; N asciicircum ; B 42 264 539 688 ;
+C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ;
+C 96 ; WX 222 ; N quoteleft ; B 165 470 323 725 ;
+C 97 ; WX 556 ; N a ; B 61 -15 559 538 ;
+C 98 ; WX 556 ; N b ; B 58 -15 584 718 ;
+C 99 ; WX 500 ; N c ; B 74 -15 553 538 ;
+C 100 ; WX 556 ; N d ; B 84 -15 652 718 ;
+C 101 ; WX 556 ; N e ; B 84 -15 578 538 ;
+C 102 ; WX 278 ; N f ; B 86 0 416 728 ; L i fi ; L l fl ;
+C 103 ; WX 556 ; N g ; B 42 -220 610 538 ;
+C 104 ; WX 556 ; N h ; B 65 0 573 718 ;
+C 105 ; WX 222 ; N i ; B 67 0 308 718 ;
+C 106 ; WX 222 ; N j ; B -60 -210 308 718 ;
+C 107 ; WX 500 ; N k ; B 67 0 600 718 ;
+C 108 ; WX 222 ; N l ; B 67 0 308 718 ;
+C 109 ; WX 833 ; N m ; B 65 0 852 538 ;
+C 110 ; WX 556 ; N n ; B 65 0 573 538 ;
+C 111 ; WX 556 ; N o ; B 83 -14 585 538 ;
+C 112 ; WX 556 ; N p ; B 14 -207 584 538 ;
+C 113 ; WX 556 ; N q ; B 84 -207 605 538 ;
+C 114 ; WX 333 ; N r ; B 77 0 446 538 ;
+C 115 ; WX 500 ; N s ; B 63 -15 529 538 ;
+C 116 ; WX 278 ; N t ; B 102 -7 368 669 ;
+C 117 ; WX 556 ; N u ; B 94 -15 600 523 ;
+C 118 ; WX 500 ; N v ; B 119 0 603 523 ;
+C 119 ; WX 722 ; N w ; B 125 0 820 523 ;
+C 120 ; WX 500 ; N x ; B 11 0 594 523 ;
+C 121 ; WX 500 ; N y ; B 15 -214 600 523 ;
+C 122 ; WX 500 ; N z ; B 31 0 571 523 ;
+C 123 ; WX 334 ; N braceleft ; B 92 -196 445 722 ;
+C 124 ; WX 260 ; N bar ; B 46 -225 332 775 ;
+C 125 ; WX 334 ; N braceright ; B 0 -196 354 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 111 180 580 326 ;
+C 161 ; WX 333 ; N exclamdown ; B 77 -195 326 523 ;
+C 162 ; WX 556 ; N cent ; B 95 -115 584 623 ;
+C 163 ; WX 556 ; N sterling ; B 49 -16 634 718 ;
+C 164 ; WX 167 ; N fraction ; B -170 -19 482 703 ;
+C 165 ; WX 556 ; N yen ; B 81 0 699 688 ;
+C 166 ; WX 556 ; N florin ; B -52 -207 654 737 ;
+C 167 ; WX 556 ; N section ; B 76 -191 584 737 ;
+C 168 ; WX 556 ; N currency ; B 60 99 646 603 ;
+C 169 ; WX 191 ; N quotesingle ; B 157 463 285 718 ;
+C 170 ; WX 333 ; N quotedblleft ; B 138 470 461 725 ;
+C 171 ; WX 556 ; N guillemotleft ; B 146 108 554 446 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 137 108 340 446 ;
+C 173 ; WX 333 ; N guilsinglright ; B 111 108 314 446 ;
+C 174 ; WX 500 ; N fi ; B 86 0 587 728 ;
+C 175 ; WX 500 ; N fl ; B 86 0 585 728 ;
+C 177 ; WX 556 ; N endash ; B 51 240 623 313 ;
+C 178 ; WX 556 ; N dagger ; B 135 -159 622 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 52 -159 623 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 129 190 257 315 ;
+C 182 ; WX 537 ; N paragraph ; B 126 -173 650 718 ;
+C 183 ; WX 350 ; N bullet ; B 91 202 413 517 ;
+C 184 ; WX 222 ; N quotesinglbase ; B 21 -149 180 106 ;
+C 185 ; WX 333 ; N quotedblbase ; B -6 -149 318 106 ;
+C 186 ; WX 333 ; N quotedblright ; B 124 463 448 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 120 108 528 446 ;
+C 188 ; WX 1000 ; N ellipsis ; B 115 0 908 106 ;
+C 189 ; WX 1000 ; N perthousand ; B 88 -19 1029 703 ;
+C 191 ; WX 611 ; N questiondown ; B 85 -201 534 525 ;
+C 193 ; WX 333 ; N grave ; B 170 593 337 734 ;
+C 194 ; WX 333 ; N acute ; B 248 593 475 734 ;
+C 195 ; WX 333 ; N circumflex ; B 147 593 438 734 ;
+C 196 ; WX 333 ; N tilde ; B 125 606 490 722 ;
+C 197 ; WX 333 ; N macron ; B 143 627 468 684 ;
+C 198 ; WX 333 ; N breve ; B 167 595 476 731 ;
+C 199 ; WX 333 ; N dotaccent ; B 249 604 362 706 ;
+C 200 ; WX 333 ; N dieresis ; B 168 604 443 706 ;
+C 202 ; WX 333 ; N ring ; B 214 572 402 756 ;
+C 203 ; WX 333 ; N cedilla ; B 2 -225 232 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 157 593 565 734 ;
+C 206 ; WX 333 ; N ogonek ; B 43 -225 249 0 ;
+C 207 ; WX 333 ; N caron ; B 177 593 468 734 ;
+C 208 ; WX 1000 ; N emdash ; B 51 240 1067 313 ;
+C 225 ; WX 1000 ; N AE ; B 8 0 1097 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 127 405 449 737 ;
+C 232 ; WX 556 ; N Lslash ; B 41 0 555 718 ;
+C 233 ; WX 778 ; N Oslash ; B 43 -19 890 737 ;
+C 234 ; WX 1000 ; N OE ; B 98 -19 1116 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 141 405 468 737 ;
+C 241 ; WX 889 ; N ae ; B 61 -15 909 538 ;
+C 245 ; WX 278 ; N dotlessi ; B 95 0 294 523 ;
+C 248 ; WX 222 ; N lslash ; B 41 0 347 718 ;
+C 249 ; WX 611 ; N oslash ; B 29 -22 647 545 ;
+C 250 ; WX 944 ; N oe ; B 83 -15 964 538 ;
+C 251 ; WX 611 ; N germandbls ; B 67 -15 658 728 ;
+C -1 ; WX 278 ; N Idieresis ; B 91 0 458 901 ;
+C -1 ; WX 556 ; N eacute ; B 84 -15 587 734 ;
+C -1 ; WX 667 ; N Ydieresis ; B 167 0 806 901 ;
+C -1 ; WX 584 ; N divide ; B 85 -19 606 524 ;
+C -1 ; WX 667 ; N Yacute ; B 167 0 806 929 ;
+C -1 ; WX 667 ; N Acircumflex ; B 14 0 654 929 ;
+C -1 ; WX 556 ; N aacute ; B 61 -15 587 734 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 123 -19 797 929 ;
+C -1 ; WX 500 ; N yacute ; B 15 -214 600 734 ;
+C -1 ; WX 556 ; N ecircumflex ; B 84 -15 578 734 ;
+C -1 ; WX 722 ; N Udieresis ; B 123 -19 797 901 ;
+C -1 ; WX 722 ; N Uacute ; B 123 -19 797 929 ;
+C -1 ; WX 667 ; N Edieresis ; B 86 0 762 901 ;
+C -1 ; WX 737 ; N copyright ; B 54 -19 837 737 ;
+C -1 ; WX 556 ; N aring ; B 61 -15 559 756 ;
+C -1 ; WX 556 ; N agrave ; B 61 -15 559 734 ;
+C -1 ; WX 556 ; N atilde ; B 61 -15 592 722 ;
+C -1 ; WX 500 ; N scaron ; B 63 -15 552 734 ;
+C -1 ; WX 278 ; N iacute ; B 95 0 448 734 ;
+C -1 ; WX 556 ; N ucircumflex ; B 94 -15 600 734 ;
+C -1 ; WX 556 ; N acircumflex ; B 61 -15 559 734 ;
+C -1 ; WX 500 ; N ccedilla ; B 74 -225 553 538 ;
+C -1 ; WX 667 ; N Thorn ; B 86 0 712 718 ;
+C -1 ; WX 333 ; N threesuperior ; B 90 270 436 703 ;
+C -1 ; WX 778 ; N Ograve ; B 105 -19 826 929 ;
+C -1 ; WX 667 ; N Agrave ; B 14 0 654 929 ;
+C -1 ; WX 584 ; N multiply ; B 50 0 642 506 ;
+C -1 ; WX 556 ; N uacute ; B 94 -15 600 734 ;
+C -1 ; WX 500 ; N ydieresis ; B 15 -214 600 706 ;
+C -1 ; WX 278 ; N icircumflex ; B 95 0 411 734 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 86 0 762 929 ;
+C -1 ; WX 556 ; N adieresis ; B 61 -15 559 706 ;
+C -1 ; WX 556 ; N edieresis ; B 84 -15 578 706 ;
+C -1 ; WX 278 ; N Iacute ; B 91 0 489 929 ;
+C -1 ; WX 584 ; N plusminus ; B 39 0 618 506 ;
+C -1 ; WX 260 ; N brokenbar ; B 62 -150 316 700 ;
+C -1 ; WX 737 ; N registered ; B 54 -19 837 737 ;
+C -1 ; WX 667 ; N Egrave ; B 86 0 762 929 ;
+C -1 ; WX 611 ; N Zcaron ; B 23 0 741 929 ;
+C -1 ; WX 722 ; N Eth ; B 69 0 764 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 108 -225 782 737 ;
+C -1 ; WX 667 ; N Aacute ; B 14 0 683 929 ;
+C -1 ; WX 667 ; N Adieresis ; B 14 0 654 901 ;
+C -1 ; WX 556 ; N egrave ; B 84 -15 578 734 ;
+C -1 ; WX 778 ; N Oacute ; B 105 -19 826 929 ;
+C -1 ; WX 556 ; N oacute ; B 83 -14 587 734 ;
+C -1 ; WX 278 ; N idieresis ; B 95 0 416 706 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 105 -19 826 929 ;
+C -1 ; WX 722 ; N Ugrave ; B 123 -19 797 929 ;
+C -1 ; WX 556 ; N thorn ; B 14 -207 584 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 64 281 449 703 ;
+C -1 ; WX 778 ; N Odieresis ; B 105 -19 826 901 ;
+C -1 ; WX 556 ; N mu ; B 24 -207 600 523 ;
+C -1 ; WX 278 ; N igrave ; B 95 0 310 734 ;
+C -1 ; WX 834 ; N threequarters ; B 130 -19 861 703 ;
+C -1 ; WX 1000 ; N trademark ; B 186 306 1056 718 ;
+C -1 ; WX 278 ; N Igrave ; B 91 0 351 929 ;
+C -1 ; WX 834 ; N onehalf ; B 114 -19 839 703 ;
+C -1 ; WX 556 ; N ocircumflex ; B 83 -14 585 734 ;
+C -1 ; WX 556 ; N ntilde ; B 65 0 592 722 ;
+C -1 ; WX 667 ; N Eacute ; B 86 0 762 929 ;
+C -1 ; WX 834 ; N onequarter ; B 150 -19 802 703 ;
+C -1 ; WX 667 ; N Scaron ; B 90 -19 713 929 ;
+C -1 ; WX 400 ; N degree ; B 169 411 468 703 ;
+C -1 ; WX 556 ; N ograve ; B 83 -14 585 734 ;
+C -1 ; WX 556 ; N ugrave ; B 94 -15 600 734 ;
+C -1 ; WX 722 ; N Ntilde ; B 76 0 799 917 ;
+C -1 ; WX 556 ; N otilde ; B 83 -14 602 722 ;
+C -1 ; WX 667 ; N Atilde ; B 14 0 699 917 ;
+C -1 ; WX 667 ; N Aring ; B 14 0 654 931 ;
+C -1 ; WX 778 ; N Otilde ; B 105 -19 826 917 ;
+C -1 ; WX 584 ; N minus ; B 85 216 606 289 ;
+C -1 ; WX 278 ; N Icircumflex ; B 91 0 452 929 ;
+C -1 ; WX 584 ; N logicalnot ; B 106 108 628 390 ;
+C -1 ; WX 556 ; N odieresis ; B 83 -14 585 706 ;
+C -1 ; WX 556 ; N udieresis ; B 94 -15 600 706 ;
+C -1 ; WX 556 ; N eth ; B 81 -15 617 737 ;
+C -1 ; WX 500 ; N zcaron ; B 31 0 571 734 ;
+C -1 ; WX 333 ; N onesuperior ; B 166 281 371 703 ;
+C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1298
+KPX A C -30
+KPX A Ccedilla -30
+KPX A G -30
+KPX A O -30
+KPX A Oacute -30
+KPX A Ocircumflex -30
+KPX A Odieresis -30
+KPX A Ograve -30
+KPX A Oslash -30
+KPX A Otilde -30
+KPX A Q -30
+KPX A T -120
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -70
+KPX A W -50
+KPX A Y -100
+KPX A Yacute -100
+KPX A Ydieresis -100
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A v -40
+KPX A w -40
+KPX A y -40
+KPX A yacute -40
+KPX A ydieresis -40
+KPX Aacute C -30
+KPX Aacute Ccedilla -30
+KPX Aacute G -30
+KPX Aacute O -30
+KPX Aacute Oacute -30
+KPX Aacute Ocircumflex -30
+KPX Aacute Odieresis -30
+KPX Aacute Ograve -30
+KPX Aacute Oslash -30
+KPX Aacute Otilde -30
+KPX Aacute Q -30
+KPX Aacute T -120
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -70
+KPX Aacute W -50
+KPX Aacute Y -100
+KPX Aacute Yacute -100
+KPX Aacute Ydieresis -100
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute v -40
+KPX Aacute w -40
+KPX Aacute y -40
+KPX Aacute yacute -40
+KPX Aacute ydieresis -40
+KPX Acircumflex C -30
+KPX Acircumflex Ccedilla -30
+KPX Acircumflex G -30
+KPX Acircumflex O -30
+KPX Acircumflex Oacute -30
+KPX Acircumflex Ocircumflex -30
+KPX Acircumflex Odieresis -30
+KPX Acircumflex Ograve -30
+KPX Acircumflex Oslash -30
+KPX Acircumflex Otilde -30
+KPX Acircumflex Q -30
+KPX Acircumflex T -120
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -70
+KPX Acircumflex W -50
+KPX Acircumflex Y -100
+KPX Acircumflex Yacute -100
+KPX Acircumflex Ydieresis -100
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex v -40
+KPX Acircumflex w -40
+KPX Acircumflex y -40
+KPX Acircumflex yacute -40
+KPX Acircumflex ydieresis -40
+KPX Adieresis C -30
+KPX Adieresis Ccedilla -30
+KPX Adieresis G -30
+KPX Adieresis O -30
+KPX Adieresis Oacute -30
+KPX Adieresis Ocircumflex -30
+KPX Adieresis Odieresis -30
+KPX Adieresis Ograve -30
+KPX Adieresis Oslash -30
+KPX Adieresis Otilde -30
+KPX Adieresis Q -30
+KPX Adieresis T -120
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -70
+KPX Adieresis W -50
+KPX Adieresis Y -100
+KPX Adieresis Yacute -100
+KPX Adieresis Ydieresis -100
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis v -40
+KPX Adieresis w -40
+KPX Adieresis y -40
+KPX Adieresis yacute -40
+KPX Adieresis ydieresis -40
+KPX Agrave C -30
+KPX Agrave Ccedilla -30
+KPX Agrave G -30
+KPX Agrave O -30
+KPX Agrave Oacute -30
+KPX Agrave Ocircumflex -30
+KPX Agrave Odieresis -30
+KPX Agrave Ograve -30
+KPX Agrave Oslash -30
+KPX Agrave Otilde -30
+KPX Agrave Q -30
+KPX Agrave T -120
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -70
+KPX Agrave W -50
+KPX Agrave Y -100
+KPX Agrave Yacute -100
+KPX Agrave Ydieresis -100
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave v -40
+KPX Agrave w -40
+KPX Agrave y -40
+KPX Agrave yacute -40
+KPX Agrave ydieresis -40
+KPX Aring C -30
+KPX Aring Ccedilla -30
+KPX Aring G -30
+KPX Aring O -30
+KPX Aring Oacute -30
+KPX Aring Ocircumflex -30
+KPX Aring Odieresis -30
+KPX Aring Ograve -30
+KPX Aring Oslash -30
+KPX Aring Otilde -30
+KPX Aring Q -30
+KPX Aring T -120
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -70
+KPX Aring W -50
+KPX Aring Y -100
+KPX Aring Yacute -100
+KPX Aring Ydieresis -100
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring v -40
+KPX Aring w -40
+KPX Aring y -40
+KPX Aring yacute -40
+KPX Aring ydieresis -40
+KPX Atilde C -30
+KPX Atilde Ccedilla -30
+KPX Atilde G -30
+KPX Atilde O -30
+KPX Atilde Oacute -30
+KPX Atilde Ocircumflex -30
+KPX Atilde Odieresis -30
+KPX Atilde Ograve -30
+KPX Atilde Oslash -30
+KPX Atilde Otilde -30
+KPX Atilde Q -30
+KPX Atilde T -120
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -70
+KPX Atilde W -50
+KPX Atilde Y -100
+KPX Atilde Yacute -100
+KPX Atilde Ydieresis -100
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde v -40
+KPX Atilde w -40
+KPX Atilde y -40
+KPX Atilde yacute -40
+KPX Atilde ydieresis -40
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX B comma -20
+KPX B period -20
+KPX C comma -30
+KPX C period -30
+KPX Ccedilla comma -30
+KPX Ccedilla period -30
+KPX D A -40
+KPX D Aacute -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -70
+KPX D W -40
+KPX D Y -90
+KPX D Yacute -90
+KPX D Ydieresis -90
+KPX D comma -70
+KPX D period -70
+KPX F A -80
+KPX F Aacute -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -50
+KPX F aacute -50
+KPX F acircumflex -50
+KPX F adieresis -50
+KPX F agrave -50
+KPX F aring -50
+KPX F atilde -50
+KPX F comma -150
+KPX F e -30
+KPX F eacute -30
+KPX F ecircumflex -30
+KPX F edieresis -30
+KPX F egrave -30
+KPX F o -30
+KPX F oacute -30
+KPX F ocircumflex -30
+KPX F odieresis -30
+KPX F ograve -30
+KPX F oslash -30
+KPX F otilde -30
+KPX F period -150
+KPX F r -45
+KPX J A -20
+KPX J Aacute -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J a -20
+KPX J aacute -20
+KPX J acircumflex -20
+KPX J adieresis -20
+KPX J agrave -20
+KPX J aring -20
+KPX J atilde -20
+KPX J comma -30
+KPX J period -30
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX K O -50
+KPX K Oacute -50
+KPX K Ocircumflex -50
+KPX K Odieresis -50
+KPX K Ograve -50
+KPX K Oslash -50
+KPX K Otilde -50
+KPX K e -40
+KPX K eacute -40
+KPX K ecircumflex -40
+KPX K edieresis -40
+KPX K egrave -40
+KPX K o -40
+KPX K oacute -40
+KPX K ocircumflex -40
+KPX K odieresis -40
+KPX K ograve -40
+KPX K oslash -40
+KPX K otilde -40
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K y -50
+KPX K yacute -50
+KPX K ydieresis -50
+KPX L T -110
+KPX L V -110
+KPX L W -70
+KPX L Y -140
+KPX L Yacute -140
+KPX L Ydieresis -140
+KPX L quotedblright -140
+KPX L quoteright -160
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lslash T -110
+KPX Lslash V -110
+KPX Lslash W -70
+KPX Lslash Y -140
+KPX Lslash Yacute -140
+KPX Lslash Ydieresis -140
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -160
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -20
+KPX O Aacute -20
+KPX O Acircumflex -20
+KPX O Adieresis -20
+KPX O Agrave -20
+KPX O Aring -20
+KPX O Atilde -20
+KPX O T -40
+KPX O V -50
+KPX O W -30
+KPX O X -60
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -20
+KPX Oacute Aacute -20
+KPX Oacute Acircumflex -20
+KPX Oacute Adieresis -20
+KPX Oacute Agrave -20
+KPX Oacute Aring -20
+KPX Oacute Atilde -20
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -30
+KPX Oacute X -60
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -20
+KPX Ocircumflex Aacute -20
+KPX Ocircumflex Acircumflex -20
+KPX Ocircumflex Adieresis -20
+KPX Ocircumflex Agrave -20
+KPX Ocircumflex Aring -20
+KPX Ocircumflex Atilde -20
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -30
+KPX Ocircumflex X -60
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -20
+KPX Odieresis Aacute -20
+KPX Odieresis Acircumflex -20
+KPX Odieresis Adieresis -20
+KPX Odieresis Agrave -20
+KPX Odieresis Aring -20
+KPX Odieresis Atilde -20
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -30
+KPX Odieresis X -60
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -20
+KPX Ograve Aacute -20
+KPX Ograve Acircumflex -20
+KPX Ograve Adieresis -20
+KPX Ograve Agrave -20
+KPX Ograve Aring -20
+KPX Ograve Atilde -20
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -30
+KPX Ograve X -60
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Oslash A -20
+KPX Oslash Aacute -20
+KPX Oslash Acircumflex -20
+KPX Oslash Adieresis -20
+KPX Oslash Agrave -20
+KPX Oslash Aring -20
+KPX Oslash Atilde -20
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -30
+KPX Oslash X -60
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -20
+KPX Otilde Aacute -20
+KPX Otilde Acircumflex -20
+KPX Otilde Adieresis -20
+KPX Otilde Agrave -20
+KPX Otilde Aring -20
+KPX Otilde Atilde -20
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -30
+KPX Otilde X -60
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -120
+KPX P Aacute -120
+KPX P Acircumflex -120
+KPX P Adieresis -120
+KPX P Agrave -120
+KPX P Aring -120
+KPX P Atilde -120
+KPX P a -40
+KPX P aacute -40
+KPX P acircumflex -40
+KPX P adieresis -40
+KPX P agrave -40
+KPX P aring -40
+KPX P atilde -40
+KPX P comma -180
+KPX P e -50
+KPX P eacute -50
+KPX P ecircumflex -50
+KPX P edieresis -50
+KPX P egrave -50
+KPX P o -50
+KPX P oacute -50
+KPX P ocircumflex -50
+KPX P odieresis -50
+KPX P ograve -50
+KPX P oslash -50
+KPX P otilde -50
+KPX P period -180
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -30
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R V -50
+KPX R W -30
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX S comma -20
+KPX S period -20
+KPX Scaron comma -20
+KPX Scaron period -20
+KPX T A -120
+KPX T Aacute -120
+KPX T Acircumflex -120
+KPX T Adieresis -120
+KPX T Agrave -120
+KPX T Aring -120
+KPX T Atilde -120
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -120
+KPX T aacute -120
+KPX T acircumflex -120
+KPX T adieresis -120
+KPX T agrave -120
+KPX T aring -120
+KPX T atilde -60
+KPX T colon -20
+KPX T comma -120
+KPX T e -120
+KPX T eacute -120
+KPX T ecircumflex -120
+KPX T edieresis -120
+KPX T egrave -60
+KPX T hyphen -140
+KPX T o -120
+KPX T oacute -120
+KPX T ocircumflex -120
+KPX T odieresis -120
+KPX T ograve -120
+KPX T oslash -120
+KPX T otilde -60
+KPX T period -120
+KPX T r -120
+KPX T semicolon -20
+KPX T u -120
+KPX T uacute -120
+KPX T ucircumflex -120
+KPX T udieresis -120
+KPX T ugrave -120
+KPX T w -120
+KPX T y -120
+KPX T yacute -120
+KPX T ydieresis -60
+KPX U A -40
+KPX U Aacute -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX U comma -40
+KPX U period -40
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Uacute comma -40
+KPX Uacute period -40
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Ucircumflex comma -40
+KPX Ucircumflex period -40
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Udieresis comma -40
+KPX Udieresis period -40
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX Ugrave comma -40
+KPX Ugrave period -40
+KPX V A -80
+KPX V Aacute -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -40
+KPX V O -40
+KPX V Oacute -40
+KPX V Ocircumflex -40
+KPX V Odieresis -40
+KPX V Ograve -40
+KPX V Oslash -40
+KPX V Otilde -40
+KPX V a -70
+KPX V aacute -70
+KPX V acircumflex -70
+KPX V adieresis -70
+KPX V agrave -70
+KPX V aring -70
+KPX V atilde -70
+KPX V colon -40
+KPX V comma -125
+KPX V e -80
+KPX V eacute -80
+KPX V ecircumflex -80
+KPX V edieresis -80
+KPX V egrave -80
+KPX V hyphen -80
+KPX V o -80
+KPX V oacute -80
+KPX V ocircumflex -80
+KPX V odieresis -80
+KPX V ograve -80
+KPX V oslash -80
+KPX V otilde -80
+KPX V period -125
+KPX V semicolon -40
+KPX V u -70
+KPX V uacute -70
+KPX V ucircumflex -70
+KPX V udieresis -70
+KPX V ugrave -70
+KPX W A -50
+KPX W Aacute -50
+KPX W Acircumflex -50
+KPX W Adieresis -50
+KPX W Agrave -50
+KPX W Aring -50
+KPX W Atilde -50
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W aring -40
+KPX W atilde -40
+KPX W comma -80
+KPX W e -30
+KPX W eacute -30
+KPX W ecircumflex -30
+KPX W edieresis -30
+KPX W egrave -30
+KPX W hyphen -40
+KPX W o -30
+KPX W oacute -30
+KPX W ocircumflex -30
+KPX W odieresis -30
+KPX W ograve -30
+KPX W oslash -30
+KPX W otilde -30
+KPX W period -80
+KPX W u -30
+KPX W uacute -30
+KPX W ucircumflex -30
+KPX W udieresis -30
+KPX W ugrave -30
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -85
+KPX Y Oacute -85
+KPX Y Ocircumflex -85
+KPX Y Odieresis -85
+KPX Y Ograve -85
+KPX Y Oslash -85
+KPX Y Otilde -85
+KPX Y a -140
+KPX Y aacute -140
+KPX Y acircumflex -140
+KPX Y adieresis -140
+KPX Y agrave -140
+KPX Y aring -140
+KPX Y atilde -140
+KPX Y colon -60
+KPX Y comma -140
+KPX Y e -140
+KPX Y eacute -140
+KPX Y ecircumflex -140
+KPX Y edieresis -140
+KPX Y egrave -140
+KPX Y hyphen -140
+KPX Y i -20
+KPX Y iacute -20
+KPX Y o -140
+KPX Y oacute -140
+KPX Y ocircumflex -140
+KPX Y odieresis -140
+KPX Y ograve -140
+KPX Y oslash -140
+KPX Y otilde -140
+KPX Y period -140
+KPX Y semicolon -60
+KPX Y u -110
+KPX Y uacute -110
+KPX Y ucircumflex -110
+KPX Y udieresis -110
+KPX Y ugrave -110
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -85
+KPX Yacute Oacute -85
+KPX Yacute Ocircumflex -85
+KPX Yacute Odieresis -85
+KPX Yacute Ograve -85
+KPX Yacute Oslash -85
+KPX Yacute Otilde -85
+KPX Yacute a -140
+KPX Yacute aacute -140
+KPX Yacute acircumflex -140
+KPX Yacute adieresis -140
+KPX Yacute agrave -140
+KPX Yacute aring -140
+KPX Yacute atilde -70
+KPX Yacute colon -60
+KPX Yacute comma -140
+KPX Yacute e -140
+KPX Yacute eacute -140
+KPX Yacute ecircumflex -140
+KPX Yacute edieresis -140
+KPX Yacute egrave -140
+KPX Yacute hyphen -140
+KPX Yacute i -20
+KPX Yacute iacute -20
+KPX Yacute o -140
+KPX Yacute oacute -140
+KPX Yacute ocircumflex -140
+KPX Yacute odieresis -140
+KPX Yacute ograve -140
+KPX Yacute oslash -140
+KPX Yacute otilde -140
+KPX Yacute period -140
+KPX Yacute semicolon -60
+KPX Yacute u -110
+KPX Yacute uacute -110
+KPX Yacute ucircumflex -110
+KPX Yacute udieresis -110
+KPX Yacute ugrave -110
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -85
+KPX Ydieresis Oacute -85
+KPX Ydieresis Ocircumflex -85
+KPX Ydieresis Odieresis -85
+KPX Ydieresis Ograve -85
+KPX Ydieresis Oslash -85
+KPX Ydieresis Otilde -85
+KPX Ydieresis a -140
+KPX Ydieresis aacute -140
+KPX Ydieresis acircumflex -140
+KPX Ydieresis adieresis -140
+KPX Ydieresis agrave -140
+KPX Ydieresis aring -140
+KPX Ydieresis atilde -70
+KPX Ydieresis colon -60
+KPX Ydieresis comma -140
+KPX Ydieresis e -140
+KPX Ydieresis eacute -140
+KPX Ydieresis ecircumflex -140
+KPX Ydieresis edieresis -140
+KPX Ydieresis egrave -140
+KPX Ydieresis hyphen -140
+KPX Ydieresis i -20
+KPX Ydieresis iacute -20
+KPX Ydieresis o -140
+KPX Ydieresis oacute -140
+KPX Ydieresis ocircumflex -140
+KPX Ydieresis odieresis -140
+KPX Ydieresis ograve -140
+KPX Ydieresis oslash -140
+KPX Ydieresis otilde -140
+KPX Ydieresis period -140
+KPX Ydieresis semicolon -60
+KPX Ydieresis u -110
+KPX Ydieresis uacute -110
+KPX Ydieresis ucircumflex -110
+KPX Ydieresis udieresis -110
+KPX Ydieresis ugrave -110
+KPX a v -20
+KPX a w -20
+KPX a y -30
+KPX a yacute -30
+KPX a ydieresis -30
+KPX aacute v -20
+KPX aacute w -20
+KPX aacute y -30
+KPX aacute yacute -30
+KPX aacute ydieresis -30
+KPX acircumflex v -20
+KPX acircumflex w -20
+KPX acircumflex y -30
+KPX acircumflex yacute -30
+KPX acircumflex ydieresis -30
+KPX adieresis v -20
+KPX adieresis w -20
+KPX adieresis y -30
+KPX adieresis yacute -30
+KPX adieresis ydieresis -30
+KPX agrave v -20
+KPX agrave w -20
+KPX agrave y -30
+KPX agrave yacute -30
+KPX agrave ydieresis -30
+KPX aring v -20
+KPX aring w -20
+KPX aring y -30
+KPX aring yacute -30
+KPX aring ydieresis -30
+KPX atilde v -20
+KPX atilde w -20
+KPX atilde y -30
+KPX atilde yacute -30
+KPX atilde ydieresis -30
+KPX b b -10
+KPX b comma -40
+KPX b l -20
+KPX b lslash -20
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c comma -15
+KPX c k -20
+KPX ccedilla comma -15
+KPX ccedilla k -20
+KPX colon space -50
+KPX comma quotedblright -100
+KPX comma quoteright -100
+KPX e comma -15
+KPX e period -15
+KPX e v -30
+KPX e w -20
+KPX e x -30
+KPX e y -20
+KPX e yacute -20
+KPX e ydieresis -20
+KPX eacute comma -15
+KPX eacute period -15
+KPX eacute v -30
+KPX eacute w -20
+KPX eacute x -30
+KPX eacute y -20
+KPX eacute yacute -20
+KPX eacute ydieresis -20
+KPX ecircumflex comma -15
+KPX ecircumflex period -15
+KPX ecircumflex v -30
+KPX ecircumflex w -20
+KPX ecircumflex x -30
+KPX ecircumflex y -20
+KPX ecircumflex yacute -20
+KPX ecircumflex ydieresis -20
+KPX edieresis comma -15
+KPX edieresis period -15
+KPX edieresis v -30
+KPX edieresis w -20
+KPX edieresis x -30
+KPX edieresis y -20
+KPX edieresis yacute -20
+KPX edieresis ydieresis -20
+KPX egrave comma -15
+KPX egrave period -15
+KPX egrave v -30
+KPX egrave w -20
+KPX egrave x -30
+KPX egrave y -20
+KPX egrave yacute -20
+KPX egrave ydieresis -20
+KPX f a -30
+KPX f aacute -30
+KPX f acircumflex -30
+KPX f adieresis -30
+KPX f agrave -30
+KPX f aring -30
+KPX f atilde -30
+KPX f comma -30
+KPX f dotlessi -28
+KPX f e -30
+KPX f eacute -30
+KPX f ecircumflex -30
+KPX f edieresis -30
+KPX f egrave -30
+KPX f o -30
+KPX f oacute -30
+KPX f ocircumflex -30
+KPX f odieresis -30
+KPX f ograve -30
+KPX f oslash -30
+KPX f otilde -30
+KPX f period -30
+KPX f quotedblright 60
+KPX f quoteright 50
+KPX g r -10
+KPX h y -30
+KPX h yacute -30
+KPX h ydieresis -30
+KPX k e -20
+KPX k eacute -20
+KPX k ecircumflex -20
+KPX k edieresis -20
+KPX k egrave -20
+KPX k o -20
+KPX k oacute -20
+KPX k ocircumflex -20
+KPX k odieresis -20
+KPX k ograve -20
+KPX k oslash -20
+KPX k otilde -20
+KPX m u -10
+KPX m uacute -10
+KPX m ucircumflex -10
+KPX m udieresis -10
+KPX m ugrave -10
+KPX m y -15
+KPX m yacute -15
+KPX m ydieresis -15
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n v -20
+KPX n y -15
+KPX n yacute -15
+KPX n ydieresis -15
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde v -20
+KPX ntilde y -15
+KPX ntilde yacute -15
+KPX ntilde ydieresis -15
+KPX o comma -40
+KPX o period -40
+KPX o v -15
+KPX o w -15
+KPX o x -30
+KPX o y -30
+KPX o yacute -30
+KPX o ydieresis -30
+KPX oacute comma -40
+KPX oacute period -40
+KPX oacute v -15
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -30
+KPX oacute yacute -30
+KPX oacute ydieresis -30
+KPX ocircumflex comma -40
+KPX ocircumflex period -40
+KPX ocircumflex v -15
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -30
+KPX ocircumflex yacute -30
+KPX ocircumflex ydieresis -30
+KPX odieresis comma -40
+KPX odieresis period -40
+KPX odieresis v -15
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -30
+KPX odieresis yacute -30
+KPX odieresis ydieresis -30
+KPX ograve comma -40
+KPX ograve period -40
+KPX ograve v -15
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -30
+KPX ograve yacute -30
+KPX ograve ydieresis -30
+KPX oslash a -55
+KPX oslash aacute -55
+KPX oslash acircumflex -55
+KPX oslash adieresis -55
+KPX oslash agrave -55
+KPX oslash aring -55
+KPX oslash atilde -55
+KPX oslash b -55
+KPX oslash c -55
+KPX oslash ccedilla -55
+KPX oslash comma -95
+KPX oslash d -55
+KPX oslash e -55
+KPX oslash eacute -55
+KPX oslash ecircumflex -55
+KPX oslash edieresis -55
+KPX oslash egrave -55
+KPX oslash f -55
+KPX oslash g -55
+KPX oslash h -55
+KPX oslash i -55
+KPX oslash iacute -55
+KPX oslash icircumflex -55
+KPX oslash idieresis -55
+KPX oslash igrave -55
+KPX oslash j -55
+KPX oslash k -55
+KPX oslash l -55
+KPX oslash lslash -55
+KPX oslash m -55
+KPX oslash n -55
+KPX oslash ntilde -55
+KPX oslash o -55
+KPX oslash oacute -55
+KPX oslash ocircumflex -55
+KPX oslash odieresis -55
+KPX oslash ograve -55
+KPX oslash oslash -55
+KPX oslash otilde -55
+KPX oslash p -55
+KPX oslash period -95
+KPX oslash q -55
+KPX oslash r -55
+KPX oslash s -55
+KPX oslash scaron -55
+KPX oslash t -55
+KPX oslash u -55
+KPX oslash uacute -55
+KPX oslash ucircumflex -55
+KPX oslash udieresis -55
+KPX oslash ugrave -55
+KPX oslash v -70
+KPX oslash w -70
+KPX oslash x -85
+KPX oslash y -70
+KPX oslash yacute -70
+KPX oslash ydieresis -70
+KPX oslash z -55
+KPX oslash zcaron -55
+KPX otilde comma -40
+KPX otilde period -40
+KPX otilde v -15
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -30
+KPX otilde yacute -30
+KPX otilde ydieresis -30
+KPX p comma -35
+KPX p period -35
+KPX p y -30
+KPX p yacute -30
+KPX p ydieresis -30
+KPX period quotedblright -100
+KPX period quoteright -100
+KPX period space -60
+KPX quotedblright space -40
+KPX quoteleft quoteleft -57
+KPX quoteright d -50
+KPX quoteright quoteright -57
+KPX quoteright r -50
+KPX quoteright s -50
+KPX quoteright scaron -50
+KPX quoteright space -70
+KPX r a -10
+KPX r aacute -10
+KPX r acircumflex -10
+KPX r adieresis -10
+KPX r agrave -10
+KPX r aring -10
+KPX r atilde -10
+KPX r colon 30
+KPX r comma -50
+KPX r i 15
+KPX r iacute 15
+KPX r icircumflex 15
+KPX r idieresis 15
+KPX r igrave 15
+KPX r k 15
+KPX r l 15
+KPX r lslash 15
+KPX r m 25
+KPX r n 25
+KPX r ntilde 25
+KPX r p 30
+KPX r period -50
+KPX r semicolon 30
+KPX r t 40
+KPX r u 15
+KPX r uacute 15
+KPX r ucircumflex 15
+KPX r udieresis 15
+KPX r ugrave 15
+KPX r v 30
+KPX r y 30
+KPX r yacute 30
+KPX r ydieresis 30
+KPX s comma -15
+KPX s period -15
+KPX s w -30
+KPX scaron comma -15
+KPX scaron period -15
+KPX scaron w -30
+KPX semicolon space -50
+KPX space T -50
+KPX space V -50
+KPX space W -40
+KPX space Y -90
+KPX space Yacute -90
+KPX space Ydieresis -90
+KPX space quotedblleft -30
+KPX space quoteleft -60
+KPX v a -25
+KPX v aacute -25
+KPX v acircumflex -25
+KPX v adieresis -25
+KPX v agrave -25
+KPX v aring -25
+KPX v atilde -25
+KPX v comma -80
+KPX v e -25
+KPX v eacute -25
+KPX v ecircumflex -25
+KPX v edieresis -25
+KPX v egrave -25
+KPX v o -25
+KPX v oacute -25
+KPX v ocircumflex -25
+KPX v odieresis -25
+KPX v ograve -25
+KPX v oslash -25
+KPX v otilde -25
+KPX v period -80
+KPX w a -15
+KPX w aacute -15
+KPX w acircumflex -15
+KPX w adieresis -15
+KPX w agrave -15
+KPX w aring -15
+KPX w atilde -15
+KPX w comma -60
+KPX w e -10
+KPX w eacute -10
+KPX w ecircumflex -10
+KPX w edieresis -10
+KPX w egrave -10
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -60
+KPX x e -30
+KPX x eacute -30
+KPX x ecircumflex -30
+KPX x edieresis -30
+KPX x egrave -30
+KPX y a -20
+KPX y aacute -20
+KPX y acircumflex -20
+KPX y adieresis -20
+KPX y agrave -20
+KPX y aring -20
+KPX y atilde -20
+KPX y comma -100
+KPX y e -20
+KPX y eacute -20
+KPX y ecircumflex -20
+KPX y edieresis -20
+KPX y egrave -20
+KPX y o -20
+KPX y oacute -20
+KPX y ocircumflex -20
+KPX y odieresis -20
+KPX y ograve -20
+KPX y oslash -20
+KPX y otilde -20
+KPX y period -100
+KPX yacute a -20
+KPX yacute aacute -20
+KPX yacute acircumflex -20
+KPX yacute adieresis -20
+KPX yacute agrave -20
+KPX yacute aring -20
+KPX yacute atilde -20
+KPX yacute comma -100
+KPX yacute e -20
+KPX yacute eacute -20
+KPX yacute ecircumflex -20
+KPX yacute edieresis -20
+KPX yacute egrave -20
+KPX yacute o -20
+KPX yacute oacute -20
+KPX yacute ocircumflex -20
+KPX yacute odieresis -20
+KPX yacute ograve -20
+KPX yacute oslash -20
+KPX yacute otilde -20
+KPX yacute period -100
+KPX ydieresis a -20
+KPX ydieresis aacute -20
+KPX ydieresis acircumflex -20
+KPX ydieresis adieresis -20
+KPX ydieresis agrave -20
+KPX ydieresis aring -20
+KPX ydieresis atilde -20
+KPX ydieresis comma -100
+KPX ydieresis e -20
+KPX ydieresis eacute -20
+KPX ydieresis ecircumflex -20
+KPX ydieresis edieresis -20
+KPX ydieresis egrave -20
+KPX ydieresis o -20
+KPX ydieresis oacute -20
+KPX ydieresis ocircumflex -20
+KPX ydieresis odieresis -20
+KPX ydieresis ograve -20
+KPX ydieresis oslash -20
+KPX ydieresis otilde -20
+KPX ydieresis period -100
+KPX z e -15
+KPX z eacute -15
+KPX z ecircumflex -15
+KPX z edieresis -15
+KPX z egrave -15
+KPX z o -15
+KPX z oacute -15
+KPX z ocircumflex -15
+KPX z odieresis -15
+KPX z ograve -15
+KPX z oslash -15
+KPX z otilde -15
+KPX zcaron e -15
+KPX zcaron eacute -15
+KPX zcaron ecircumflex -15
+KPX zcaron edieresis -15
+KPX zcaron egrave -15
+KPX zcaron o -15
+KPX zcaron oacute -15
+KPX zcaron ocircumflex -15
+KPX zcaron odieresis -15
+KPX zcaron ograve -15
+KPX zcaron oslash -15
+KPX zcaron otilde -15
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/HX b/troff/troff.d/font/devps/HX
new file mode 100644
index 0000000000000..04563d680dfcb
--- /dev/null
+++ b/troff/troff.d/font/devps/HX
@@ -0,0 +1 @@
+name HX.afm
diff --git a/troff/troff.d/font/devps/HX.afm b/troff/troff.d/font/devps/HX.afm
new file mode 100644
index 0000000000000..3be12316c851a
--- /dev/null
+++ b/troff/troff.d/font/devps/HX.afm
@@ -0,0 +1,1441 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:45:12 1997
+Comment UniqueID 43053
+Comment VMusage 14482 68586
+FontName Helvetica-BoldOblique
+FullName Helvetica Bold Oblique
+FamilyName Helvetica
+Weight Bold
+ItalicAngle -12
+IsFixedPitch false
+FontBBox -174 -228 1114 962
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All Rights Reserved.Helvetica is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 718
+XHeight 532
+Ascender 718
+Descender -207
+StdHW 118
+StdVW 140
+StartCharMetrics 229
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 94 0 397 718 ;
+C 34 ; WX 474 ; N quotedbl ; B 193 447 529 718 ;
+C 35 ; WX 556 ; N numbersign ; B 60 0 644 698 ;
+C 36 ; WX 556 ; N dollar ; B 67 -115 622 775 ;
+C 37 ; WX 889 ; N percent ; B 136 -19 901 710 ;
+C 38 ; WX 722 ; N ampersand ; B 89 -19 732 718 ;
+C 39 ; WX 278 ; N quoteright ; B 167 445 362 718 ;
+C 40 ; WX 333 ; N parenleft ; B 76 -208 470 734 ;
+C 41 ; WX 333 ; N parenright ; B -25 -208 369 734 ;
+C 42 ; WX 389 ; N asterisk ; B 146 387 481 718 ;
+C 43 ; WX 584 ; N plus ; B 82 0 610 506 ;
+C 44 ; WX 278 ; N comma ; B 28 -168 245 146 ;
+C 45 ; WX 333 ; N hyphen ; B 73 215 379 345 ;
+C 46 ; WX 278 ; N period ; B 64 0 245 146 ;
+C 47 ; WX 278 ; N slash ; B -37 -19 468 737 ;
+C 48 ; WX 556 ; N zero ; B 86 -19 617 710 ;
+C 49 ; WX 556 ; N one ; B 173 0 529 710 ;
+C 50 ; WX 556 ; N two ; B 26 0 619 710 ;
+C 51 ; WX 556 ; N three ; B 65 -19 608 710 ;
+C 52 ; WX 556 ; N four ; B 60 0 598 710 ;
+C 53 ; WX 556 ; N five ; B 64 -19 636 698 ;
+C 54 ; WX 556 ; N six ; B 85 -19 619 710 ;
+C 55 ; WX 556 ; N seven ; B 125 0 676 698 ;
+C 56 ; WX 556 ; N eight ; B 69 -19 616 710 ;
+C 57 ; WX 556 ; N nine ; B 78 -19 615 710 ;
+C 58 ; WX 333 ; N colon ; B 92 0 351 512 ;
+C 59 ; WX 333 ; N semicolon ; B 56 -168 351 512 ;
+C 60 ; WX 584 ; N less ; B 82 -8 655 514 ;
+C 61 ; WX 584 ; N equal ; B 58 87 633 419 ;
+C 62 ; WX 584 ; N greater ; B 36 -8 609 514 ;
+C 63 ; WX 611 ; N question ; B 165 0 671 727 ;
+C 64 ; WX 975 ; N at ; B 186 -19 954 737 ;
+C 65 ; WX 722 ; N A ; B 20 0 702 718 ;
+C 66 ; WX 722 ; N B ; B 76 0 764 718 ;
+C 67 ; WX 722 ; N C ; B 107 -19 789 737 ;
+C 68 ; WX 722 ; N D ; B 76 0 777 718 ;
+C 69 ; WX 667 ; N E ; B 76 0 757 718 ;
+C 70 ; WX 611 ; N F ; B 76 0 740 718 ;
+C 71 ; WX 778 ; N G ; B 108 -19 817 737 ;
+C 72 ; WX 722 ; N H ; B 71 0 804 718 ;
+C 73 ; WX 278 ; N I ; B 64 0 367 718 ;
+C 74 ; WX 556 ; N J ; B 60 -18 637 718 ;
+C 75 ; WX 722 ; N K ; B 87 0 858 718 ;
+C 76 ; WX 611 ; N L ; B 76 0 611 718 ;
+C 77 ; WX 833 ; N M ; B 69 0 918 718 ;
+C 78 ; WX 722 ; N N ; B 69 0 807 718 ;
+C 79 ; WX 778 ; N O ; B 107 -19 823 737 ;
+C 80 ; WX 667 ; N P ; B 76 0 738 718 ;
+C 81 ; WX 778 ; N Q ; B 107 -52 823 737 ;
+C 82 ; WX 722 ; N R ; B 76 0 778 718 ;
+C 83 ; WX 667 ; N S ; B 81 -19 718 737 ;
+C 84 ; WX 611 ; N T ; B 140 0 751 718 ;
+C 85 ; WX 722 ; N U ; B 116 -19 804 718 ;
+C 86 ; WX 667 ; N V ; B 172 0 801 718 ;
+C 87 ; WX 944 ; N W ; B 169 0 1082 718 ;
+C 88 ; WX 667 ; N X ; B 14 0 791 718 ;
+C 89 ; WX 667 ; N Y ; B 168 0 806 718 ;
+C 90 ; WX 611 ; N Z ; B 25 0 737 718 ;
+C 91 ; WX 333 ; N bracketleft ; B 21 -196 462 722 ;
+C 92 ; WX 278 ; N backslash ; B 124 -19 307 737 ;
+C 93 ; WX 333 ; N bracketright ; B -18 -196 423 722 ;
+C 94 ; WX 584 ; N asciicircum ; B 131 323 591 698 ;
+C 95 ; WX 556 ; N underscore ; B -27 -125 540 -75 ;
+C 96 ; WX 278 ; N quoteleft ; B 165 454 361 727 ;
+C 97 ; WX 556 ; N a ; B 55 -14 583 546 ;
+C 98 ; WX 611 ; N b ; B 61 -14 645 718 ;
+C 99 ; WX 556 ; N c ; B 79 -14 599 546 ;
+C 100 ; WX 611 ; N d ; B 82 -14 704 718 ;
+C 101 ; WX 556 ; N e ; B 70 -14 593 546 ;
+C 102 ; WX 333 ; N f ; B 87 0 469 727 ; L i fi ; L l fl ;
+C 103 ; WX 611 ; N g ; B 38 -217 666 546 ;
+C 104 ; WX 611 ; N h ; B 65 0 629 718 ;
+C 105 ; WX 278 ; N i ; B 69 0 363 725 ;
+C 106 ; WX 278 ; N j ; B -42 -214 363 725 ;
+C 107 ; WX 556 ; N k ; B 69 0 670 718 ;
+C 108 ; WX 278 ; N l ; B 69 0 362 718 ;
+C 109 ; WX 889 ; N m ; B 64 0 909 546 ;
+C 110 ; WX 611 ; N n ; B 65 0 629 546 ;
+C 111 ; WX 611 ; N o ; B 82 -14 643 546 ;
+C 112 ; WX 611 ; N p ; B 18 -207 645 546 ;
+C 113 ; WX 611 ; N q ; B 80 -207 665 546 ;
+C 114 ; WX 389 ; N r ; B 64 0 489 546 ;
+C 115 ; WX 556 ; N s ; B 63 -14 584 546 ;
+C 116 ; WX 333 ; N t ; B 100 -6 422 676 ;
+C 117 ; WX 611 ; N u ; B 98 -14 658 532 ;
+C 118 ; WX 556 ; N v ; B 126 0 656 532 ;
+C 119 ; WX 778 ; N w ; B 123 0 882 532 ;
+C 120 ; WX 556 ; N x ; B 15 0 648 532 ;
+C 121 ; WX 556 ; N y ; B 42 -214 652 532 ;
+C 122 ; WX 500 ; N z ; B 20 0 583 532 ;
+C 123 ; WX 389 ; N braceleft ; B 94 -196 518 722 ;
+C 124 ; WX 280 ; N bar ; B 36 -225 361 775 ;
+C 125 ; WX 389 ; N braceright ; B -18 -196 407 722 ;
+C 126 ; WX 584 ; N asciitilde ; B 115 163 577 343 ;
+C 161 ; WX 333 ; N exclamdown ; B 50 -186 353 532 ;
+C 162 ; WX 556 ; N cent ; B 79 -118 599 628 ;
+C 163 ; WX 556 ; N sterling ; B 50 -16 635 718 ;
+C 164 ; WX 167 ; N fraction ; B -174 -19 487 710 ;
+C 165 ; WX 556 ; N yen ; B 60 0 713 698 ;
+C 166 ; WX 556 ; N florin ; B -50 -210 669 737 ;
+C 167 ; WX 556 ; N section ; B 61 -184 598 727 ;
+C 168 ; WX 556 ; N currency ; B 27 76 680 636 ;
+C 169 ; WX 238 ; N quotesingle ; B 165 447 321 718 ;
+C 170 ; WX 500 ; N quotedblleft ; B 160 454 588 727 ;
+C 171 ; WX 556 ; N guillemotleft ; B 135 76 571 484 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 130 76 353 484 ;
+C 173 ; WX 333 ; N guilsinglright ; B 99 76 322 484 ;
+C 174 ; WX 611 ; N fi ; B 87 0 696 727 ;
+C 175 ; WX 611 ; N fl ; B 87 0 695 727 ;
+C 177 ; WX 556 ; N endash ; B 48 227 627 333 ;
+C 178 ; WX 556 ; N dagger ; B 118 -171 626 718 ;
+C 179 ; WX 556 ; N daggerdbl ; B 46 -171 628 718 ;
+C 180 ; WX 278 ; N periodcentered ; B 110 172 276 334 ;
+C 182 ; WX 556 ; N paragraph ; B 98 -191 688 700 ;
+C 183 ; WX 350 ; N bullet ; B 83 194 420 524 ;
+C 184 ; WX 278 ; N quotesinglbase ; B 41 -146 236 127 ;
+C 185 ; WX 500 ; N quotedblbase ; B 36 -146 463 127 ;
+C 186 ; WX 500 ; N quotedblright ; B 162 445 589 718 ;
+C 187 ; WX 556 ; N guillemotright ; B 104 76 540 484 ;
+C 188 ; WX 1000 ; N ellipsis ; B 92 0 939 146 ;
+C 189 ; WX 1000 ; N perthousand ; B 76 -19 1038 710 ;
+C 191 ; WX 611 ; N questiondown ; B 53 -195 559 532 ;
+C 193 ; WX 333 ; N grave ; B 136 604 353 750 ;
+C 194 ; WX 333 ; N acute ; B 236 604 515 750 ;
+C 195 ; WX 333 ; N circumflex ; B 118 604 471 750 ;
+C 196 ; WX 333 ; N tilde ; B 113 610 507 737 ;
+C 197 ; WX 333 ; N macron ; B 122 604 483 678 ;
+C 198 ; WX 333 ; N breve ; B 156 604 494 750 ;
+C 199 ; WX 333 ; N dotaccent ; B 235 614 385 729 ;
+C 200 ; WX 333 ; N dieresis ; B 137 614 482 729 ;
+C 202 ; WX 333 ; N ring ; B 200 568 420 776 ;
+C 203 ; WX 333 ; N cedilla ; B -37 -228 220 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 137 604 645 750 ;
+C 206 ; WX 333 ; N ogonek ; B 41 -228 264 0 ;
+C 207 ; WX 333 ; N caron ; B 149 604 502 750 ;
+C 208 ; WX 1000 ; N emdash ; B 48 227 1071 333 ;
+C 225 ; WX 1000 ; N AE ; B 5 0 1100 718 ;
+C 227 ; WX 370 ; N ordfeminine ; B 125 401 465 737 ;
+C 232 ; WX 611 ; N Lslash ; B 34 0 611 718 ;
+C 233 ; WX 778 ; N Oslash ; B 35 -27 894 745 ;
+C 234 ; WX 1000 ; N OE ; B 99 -19 1114 737 ;
+C 235 ; WX 365 ; N ordmasculine ; B 123 401 485 737 ;
+C 241 ; WX 889 ; N ae ; B 56 -14 923 546 ;
+C 245 ; WX 278 ; N dotlessi ; B 69 0 322 532 ;
+C 248 ; WX 278 ; N lslash ; B 40 0 407 718 ;
+C 249 ; WX 611 ; N oslash ; B 22 -29 701 560 ;
+C 250 ; WX 944 ; N oe ; B 82 -14 977 546 ;
+C 251 ; WX 611 ; N germandbls ; B 69 -14 657 731 ;
+C -1 ; WX 278 ; N Idieresis ; B 64 0 494 915 ;
+C -1 ; WX 556 ; N eacute ; B 70 -14 627 750 ;
+C -1 ; WX 667 ; N Ydieresis ; B 168 0 806 915 ;
+C -1 ; WX 584 ; N divide ; B 82 -42 610 548 ;
+C -1 ; WX 667 ; N Yacute ; B 168 0 806 936 ;
+C -1 ; WX 722 ; N Acircumflex ; B 20 0 706 936 ;
+C -1 ; WX 556 ; N aacute ; B 55 -14 627 750 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 116 -19 804 936 ;
+C -1 ; WX 556 ; N yacute ; B 42 -214 652 750 ;
+C -1 ; WX 556 ; N ecircumflex ; B 70 -14 593 750 ;
+C -1 ; WX 722 ; N Udieresis ; B 116 -19 804 915 ;
+C -1 ; WX 722 ; N Uacute ; B 116 -19 804 936 ;
+C -1 ; WX 667 ; N Edieresis ; B 76 0 757 915 ;
+C -1 ; WX 737 ; N copyright ; B 56 -19 835 737 ;
+C -1 ; WX 556 ; N aring ; B 55 -14 583 776 ;
+C -1 ; WX 556 ; N agrave ; B 55 -14 583 750 ;
+C -1 ; WX 556 ; N atilde ; B 55 -14 619 737 ;
+C -1 ; WX 556 ; N scaron ; B 63 -14 614 750 ;
+C -1 ; WX 278 ; N iacute ; B 69 0 488 750 ;
+C -1 ; WX 611 ; N ucircumflex ; B 98 -14 658 750 ;
+C -1 ; WX 556 ; N acircumflex ; B 55 -14 583 750 ;
+C -1 ; WX 556 ; N ccedilla ; B 79 -228 599 546 ;
+C -1 ; WX 667 ; N Thorn ; B 76 0 716 718 ;
+C -1 ; WX 333 ; N threesuperior ; B 91 271 441 710 ;
+C -1 ; WX 778 ; N Ograve ; B 107 -19 823 936 ;
+C -1 ; WX 722 ; N Agrave ; B 20 0 702 936 ;
+C -1 ; WX 584 ; N multiply ; B 57 1 635 505 ;
+C -1 ; WX 611 ; N uacute ; B 98 -14 658 750 ;
+C -1 ; WX 556 ; N ydieresis ; B 42 -214 652 729 ;
+C -1 ; WX 278 ; N icircumflex ; B 69 0 444 750 ;
+C -1 ; WX 667 ; N Ecircumflex ; B 76 0 757 936 ;
+C -1 ; WX 556 ; N adieresis ; B 55 -14 594 729 ;
+C -1 ; WX 556 ; N edieresis ; B 70 -14 594 729 ;
+C -1 ; WX 278 ; N Iacute ; B 64 0 528 936 ;
+C -1 ; WX 584 ; N plusminus ; B 40 0 625 506 ;
+C -1 ; WX 280 ; N brokenbar ; B 52 -150 345 700 ;
+C -1 ; WX 737 ; N registered ; B 55 -19 834 737 ;
+C -1 ; WX 667 ; N Egrave ; B 76 0 757 936 ;
+C -1 ; WX 611 ; N Zcaron ; B 25 0 737 936 ;
+C -1 ; WX 722 ; N Eth ; B 62 0 777 718 ;
+C -1 ; WX 722 ; N Ccedilla ; B 107 -228 789 737 ;
+C -1 ; WX 722 ; N Aacute ; B 20 0 750 936 ;
+C -1 ; WX 722 ; N Adieresis ; B 20 0 716 915 ;
+C -1 ; WX 556 ; N egrave ; B 70 -14 593 750 ;
+C -1 ; WX 778 ; N Oacute ; B 107 -19 823 936 ;
+C -1 ; WX 611 ; N oacute ; B 82 -14 654 750 ;
+C -1 ; WX 278 ; N idieresis ; B 69 0 455 729 ;
+C -1 ; WX 778 ; N Ocircumflex ; B 107 -19 823 936 ;
+C -1 ; WX 722 ; N Ugrave ; B 116 -19 804 936 ;
+C -1 ; WX 611 ; N thorn ; B 18 -208 645 718 ;
+C -1 ; WX 333 ; N twosuperior ; B 69 283 449 710 ;
+C -1 ; WX 778 ; N Odieresis ; B 107 -19 823 915 ;
+C -1 ; WX 611 ; N mu ; B 22 -207 658 532 ;
+C -1 ; WX 278 ; N igrave ; B 69 0 326 750 ;
+C -1 ; WX 834 ; N threequarters ; B 99 -19 839 710 ;
+C -1 ; WX 1000 ; N trademark ; B 179 306 1109 718 ;
+C -1 ; WX 278 ; N Igrave ; B 64 0 367 936 ;
+C -1 ; WX 834 ; N onehalf ; B 132 -19 858 710 ;
+C -1 ; WX 611 ; N ocircumflex ; B 82 -14 643 750 ;
+C -1 ; WX 611 ; N ntilde ; B 65 0 646 737 ;
+C -1 ; WX 667 ; N Eacute ; B 76 0 757 936 ;
+C -1 ; WX 834 ; N onequarter ; B 132 -19 806 710 ;
+C -1 ; WX 667 ; N Scaron ; B 81 -19 718 936 ;
+C -1 ; WX 400 ; N degree ; B 175 426 467 712 ;
+C -1 ; WX 611 ; N ograve ; B 82 -14 643 750 ;
+C -1 ; WX 611 ; N ugrave ; B 98 -14 658 750 ;
+C -1 ; WX 722 ; N Ntilde ; B 69 0 807 923 ;
+C -1 ; WX 611 ; N otilde ; B 82 -14 646 737 ;
+C -1 ; WX 722 ; N Atilde ; B 20 0 741 923 ;
+C -1 ; WX 722 ; N Aring ; B 20 0 702 962 ;
+C -1 ; WX 778 ; N Otilde ; B 107 -19 823 923 ;
+C -1 ; WX 584 ; N minus ; B 82 197 610 309 ;
+C -1 ; WX 278 ; N Icircumflex ; B 64 0 484 936 ;
+C -1 ; WX 584 ; N logicalnot ; B 105 108 633 419 ;
+C -1 ; WX 611 ; N odieresis ; B 82 -14 643 729 ;
+C -1 ; WX 611 ; N udieresis ; B 98 -14 658 729 ;
+C -1 ; WX 611 ; N eth ; B 82 -14 670 737 ;
+C -1 ; WX 500 ; N zcaron ; B 20 0 586 750 ;
+C -1 ; WX 333 ; N onesuperior ; B 148 283 388 710 ;
+C -1 ; WX 556 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1181
+KPX A C -40
+KPX A Ccedilla -40
+KPX A G -50
+KPX A O -40
+KPX A Oacute -40
+KPX A Ocircumflex -40
+KPX A Odieresis -40
+KPX A Ograve -40
+KPX A Oslash -40
+KPX A Otilde -40
+KPX A Q -40
+KPX A T -90
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -80
+KPX A W -60
+KPX A Y -110
+KPX A Yacute -110
+KPX A Ydieresis -110
+KPX A u -30
+KPX A uacute -30
+KPX A ucircumflex -30
+KPX A udieresis -30
+KPX A ugrave -30
+KPX A v -40
+KPX A w -30
+KPX A y -30
+KPX A yacute -30
+KPX A ydieresis -30
+KPX Aacute C -40
+KPX Aacute Ccedilla -40
+KPX Aacute G -50
+KPX Aacute O -40
+KPX Aacute Oacute -40
+KPX Aacute Ocircumflex -40
+KPX Aacute Odieresis -40
+KPX Aacute Ograve -40
+KPX Aacute Oslash -40
+KPX Aacute Otilde -40
+KPX Aacute Q -40
+KPX Aacute T -90
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -80
+KPX Aacute W -60
+KPX Aacute Y -110
+KPX Aacute Yacute -110
+KPX Aacute Ydieresis -110
+KPX Aacute u -30
+KPX Aacute uacute -30
+KPX Aacute ucircumflex -30
+KPX Aacute udieresis -30
+KPX Aacute ugrave -30
+KPX Aacute v -40
+KPX Aacute w -30
+KPX Aacute y -30
+KPX Aacute yacute -30
+KPX Aacute ydieresis -30
+KPX Acircumflex C -40
+KPX Acircumflex Ccedilla -40
+KPX Acircumflex G -50
+KPX Acircumflex O -40
+KPX Acircumflex Oacute -40
+KPX Acircumflex Ocircumflex -40
+KPX Acircumflex Odieresis -40
+KPX Acircumflex Ograve -40
+KPX Acircumflex Oslash -40
+KPX Acircumflex Otilde -40
+KPX Acircumflex Q -40
+KPX Acircumflex T -90
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -80
+KPX Acircumflex W -60
+KPX Acircumflex Y -110
+KPX Acircumflex Yacute -110
+KPX Acircumflex Ydieresis -110
+KPX Acircumflex u -30
+KPX Acircumflex uacute -30
+KPX Acircumflex ucircumflex -30
+KPX Acircumflex udieresis -30
+KPX Acircumflex ugrave -30
+KPX Acircumflex v -40
+KPX Acircumflex w -30
+KPX Acircumflex y -30
+KPX Acircumflex yacute -30
+KPX Acircumflex ydieresis -30
+KPX Adieresis C -40
+KPX Adieresis Ccedilla -40
+KPX Adieresis G -50
+KPX Adieresis O -40
+KPX Adieresis Oacute -40
+KPX Adieresis Ocircumflex -40
+KPX Adieresis Odieresis -40
+KPX Adieresis Ograve -40
+KPX Adieresis Oslash -40
+KPX Adieresis Otilde -40
+KPX Adieresis Q -40
+KPX Adieresis T -90
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -80
+KPX Adieresis W -60
+KPX Adieresis Y -110
+KPX Adieresis Yacute -110
+KPX Adieresis Ydieresis -110
+KPX Adieresis u -30
+KPX Adieresis uacute -30
+KPX Adieresis ucircumflex -30
+KPX Adieresis udieresis -30
+KPX Adieresis ugrave -30
+KPX Adieresis v -40
+KPX Adieresis w -30
+KPX Adieresis y -30
+KPX Adieresis yacute -30
+KPX Adieresis ydieresis -30
+KPX Agrave C -40
+KPX Agrave Ccedilla -40
+KPX Agrave G -50
+KPX Agrave O -40
+KPX Agrave Oacute -40
+KPX Agrave Ocircumflex -40
+KPX Agrave Odieresis -40
+KPX Agrave Ograve -40
+KPX Agrave Oslash -40
+KPX Agrave Otilde -40
+KPX Agrave Q -40
+KPX Agrave T -90
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -80
+KPX Agrave W -60
+KPX Agrave Y -110
+KPX Agrave Yacute -110
+KPX Agrave Ydieresis -110
+KPX Agrave u -30
+KPX Agrave uacute -30
+KPX Agrave ucircumflex -30
+KPX Agrave udieresis -30
+KPX Agrave ugrave -30
+KPX Agrave v -40
+KPX Agrave w -30
+KPX Agrave y -30
+KPX Agrave yacute -30
+KPX Agrave ydieresis -30
+KPX Aring C -40
+KPX Aring Ccedilla -40
+KPX Aring G -50
+KPX Aring O -40
+KPX Aring Oacute -40
+KPX Aring Ocircumflex -40
+KPX Aring Odieresis -40
+KPX Aring Ograve -40
+KPX Aring Oslash -40
+KPX Aring Otilde -40
+KPX Aring Q -40
+KPX Aring T -90
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -80
+KPX Aring W -60
+KPX Aring Y -110
+KPX Aring Yacute -110
+KPX Aring Ydieresis -110
+KPX Aring u -30
+KPX Aring uacute -30
+KPX Aring ucircumflex -30
+KPX Aring udieresis -30
+KPX Aring ugrave -30
+KPX Aring v -40
+KPX Aring w -30
+KPX Aring y -30
+KPX Aring yacute -30
+KPX Aring ydieresis -30
+KPX Atilde C -40
+KPX Atilde Ccedilla -40
+KPX Atilde G -50
+KPX Atilde O -40
+KPX Atilde Oacute -40
+KPX Atilde Ocircumflex -40
+KPX Atilde Odieresis -40
+KPX Atilde Ograve -40
+KPX Atilde Oslash -40
+KPX Atilde Otilde -40
+KPX Atilde Q -40
+KPX Atilde T -90
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -80
+KPX Atilde W -60
+KPX Atilde Y -110
+KPX Atilde Yacute -110
+KPX Atilde Ydieresis -110
+KPX Atilde u -30
+KPX Atilde uacute -30
+KPX Atilde ucircumflex -30
+KPX Atilde udieresis -30
+KPX Atilde ugrave -30
+KPX Atilde v -40
+KPX Atilde w -30
+KPX Atilde y -30
+KPX Atilde yacute -30
+KPX Atilde ydieresis -30
+KPX B A -30
+KPX B Aacute -30
+KPX B Acircumflex -30
+KPX B Adieresis -30
+KPX B Agrave -30
+KPX B Aring -30
+KPX B Atilde -30
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -40
+KPX D Aacute -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -40
+KPX D W -40
+KPX D Y -70
+KPX D Yacute -70
+KPX D Ydieresis -70
+KPX D comma -30
+KPX D period -30
+KPX F A -80
+KPX F Aacute -80
+KPX F Acircumflex -80
+KPX F Adieresis -80
+KPX F Agrave -80
+KPX F Aring -80
+KPX F Atilde -80
+KPX F a -20
+KPX F aacute -20
+KPX F acircumflex -20
+KPX F adieresis -20
+KPX F agrave -20
+KPX F aring -20
+KPX F atilde -20
+KPX F comma -100
+KPX F period -100
+KPX J A -20
+KPX J Aacute -20
+KPX J Acircumflex -20
+KPX J Adieresis -20
+KPX J Agrave -20
+KPX J Aring -20
+KPX J Atilde -20
+KPX J comma -20
+KPX J period -20
+KPX J u -20
+KPX J uacute -20
+KPX J ucircumflex -20
+KPX J udieresis -20
+KPX J ugrave -20
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -15
+KPX K eacute -15
+KPX K ecircumflex -15
+KPX K edieresis -15
+KPX K egrave -15
+KPX K o -35
+KPX K oacute -35
+KPX K ocircumflex -35
+KPX K odieresis -35
+KPX K ograve -35
+KPX K oslash -35
+KPX K otilde -35
+KPX K u -30
+KPX K uacute -30
+KPX K ucircumflex -30
+KPX K udieresis -30
+KPX K ugrave -30
+KPX K y -40
+KPX K yacute -40
+KPX K ydieresis -40
+KPX L T -90
+KPX L V -110
+KPX L W -80
+KPX L Y -120
+KPX L Yacute -120
+KPX L Ydieresis -120
+KPX L quotedblright -140
+KPX L quoteright -140
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lslash T -90
+KPX Lslash V -110
+KPX Lslash W -80
+KPX Lslash Y -120
+KPX Lslash Yacute -120
+KPX Lslash Ydieresis -120
+KPX Lslash quotedblright -140
+KPX Lslash quoteright -140
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX O A -50
+KPX O Aacute -50
+KPX O Acircumflex -50
+KPX O Adieresis -50
+KPX O Agrave -50
+KPX O Aring -50
+KPX O Atilde -50
+KPX O T -40
+KPX O V -50
+KPX O W -50
+KPX O X -50
+KPX O Y -70
+KPX O Yacute -70
+KPX O Ydieresis -70
+KPX O comma -40
+KPX O period -40
+KPX Oacute A -50
+KPX Oacute Aacute -50
+KPX Oacute Acircumflex -50
+KPX Oacute Adieresis -50
+KPX Oacute Agrave -50
+KPX Oacute Aring -50
+KPX Oacute Atilde -50
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -50
+KPX Oacute Y -70
+KPX Oacute Yacute -70
+KPX Oacute Ydieresis -70
+KPX Oacute comma -40
+KPX Oacute period -40
+KPX Ocircumflex A -50
+KPX Ocircumflex Aacute -50
+KPX Ocircumflex Acircumflex -50
+KPX Ocircumflex Adieresis -50
+KPX Ocircumflex Agrave -50
+KPX Ocircumflex Aring -50
+KPX Ocircumflex Atilde -50
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -50
+KPX Ocircumflex Y -70
+KPX Ocircumflex Yacute -70
+KPX Ocircumflex Ydieresis -70
+KPX Ocircumflex comma -40
+KPX Ocircumflex period -40
+KPX Odieresis A -50
+KPX Odieresis Aacute -50
+KPX Odieresis Acircumflex -50
+KPX Odieresis Adieresis -50
+KPX Odieresis Agrave -50
+KPX Odieresis Aring -50
+KPX Odieresis Atilde -50
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -50
+KPX Odieresis Y -70
+KPX Odieresis Yacute -70
+KPX Odieresis Ydieresis -70
+KPX Odieresis comma -40
+KPX Odieresis period -40
+KPX Ograve A -50
+KPX Ograve Aacute -50
+KPX Ograve Acircumflex -50
+KPX Ograve Adieresis -50
+KPX Ograve Agrave -50
+KPX Ograve Aring -50
+KPX Ograve Atilde -50
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -50
+KPX Ograve Y -70
+KPX Ograve Yacute -70
+KPX Ograve Ydieresis -70
+KPX Ograve comma -40
+KPX Ograve period -40
+KPX Oslash A -50
+KPX Oslash Aacute -50
+KPX Oslash Acircumflex -50
+KPX Oslash Adieresis -50
+KPX Oslash Agrave -50
+KPX Oslash Aring -50
+KPX Oslash Atilde -50
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -50
+KPX Oslash Y -70
+KPX Oslash Yacute -70
+KPX Oslash Ydieresis -70
+KPX Oslash comma -40
+KPX Oslash period -40
+KPX Otilde A -50
+KPX Otilde Aacute -50
+KPX Otilde Acircumflex -50
+KPX Otilde Adieresis -50
+KPX Otilde Agrave -50
+KPX Otilde Aring -50
+KPX Otilde Atilde -50
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -50
+KPX Otilde Y -70
+KPX Otilde Yacute -70
+KPX Otilde Ydieresis -70
+KPX Otilde comma -40
+KPX Otilde period -40
+KPX P A -100
+KPX P Aacute -100
+KPX P Acircumflex -100
+KPX P Adieresis -100
+KPX P Agrave -100
+KPX P Aring -100
+KPX P Atilde -100
+KPX P a -30
+KPX P aacute -30
+KPX P acircumflex -30
+KPX P adieresis -30
+KPX P agrave -30
+KPX P aring -30
+KPX P atilde -30
+KPX P comma -120
+KPX P e -30
+KPX P eacute -30
+KPX P ecircumflex -30
+KPX P edieresis -30
+KPX P egrave -30
+KPX P o -40
+KPX P oacute -40
+KPX P ocircumflex -40
+KPX P odieresis -40
+KPX P ograve -40
+KPX P oslash -40
+KPX P otilde -40
+KPX P period -120
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX Q comma 20
+KPX Q period 20
+KPX R O -20
+KPX R Oacute -20
+KPX R Ocircumflex -20
+KPX R Odieresis -20
+KPX R Ograve -20
+KPX R Oslash -20
+KPX R Otilde -20
+KPX R T -20
+KPX R U -20
+KPX R Uacute -20
+KPX R Ucircumflex -20
+KPX R Udieresis -20
+KPX R Ugrave -20
+KPX R V -50
+KPX R W -40
+KPX R Y -50
+KPX R Yacute -50
+KPX R Ydieresis -50
+KPX T A -90
+KPX T Aacute -90
+KPX T Acircumflex -90
+KPX T Adieresis -90
+KPX T Agrave -90
+KPX T Aring -90
+KPX T Atilde -90
+KPX T O -40
+KPX T Oacute -40
+KPX T Ocircumflex -40
+KPX T Odieresis -40
+KPX T Ograve -40
+KPX T Oslash -40
+KPX T Otilde -40
+KPX T a -80
+KPX T aacute -80
+KPX T acircumflex -80
+KPX T adieresis -80
+KPX T agrave -80
+KPX T aring -80
+KPX T atilde -80
+KPX T colon -40
+KPX T comma -80
+KPX T e -60
+KPX T eacute -60
+KPX T ecircumflex -60
+KPX T edieresis -60
+KPX T egrave -60
+KPX T hyphen -120
+KPX T o -80
+KPX T oacute -80
+KPX T ocircumflex -80
+KPX T odieresis -80
+KPX T ograve -80
+KPX T oslash -80
+KPX T otilde -80
+KPX T period -80
+KPX T r -80
+KPX T semicolon -40
+KPX T u -90
+KPX T uacute -90
+KPX T ucircumflex -90
+KPX T udieresis -90
+KPX T ugrave -90
+KPX T w -60
+KPX T y -60
+KPX T yacute -60
+KPX T ydieresis -60
+KPX U A -50
+KPX U Aacute -50
+KPX U Acircumflex -50
+KPX U Adieresis -50
+KPX U Agrave -50
+KPX U Aring -50
+KPX U Atilde -50
+KPX U comma -30
+KPX U period -30
+KPX Uacute A -50
+KPX Uacute Aacute -50
+KPX Uacute Acircumflex -50
+KPX Uacute Adieresis -50
+KPX Uacute Agrave -50
+KPX Uacute Aring -50
+KPX Uacute Atilde -50
+KPX Uacute comma -30
+KPX Uacute period -30
+KPX Ucircumflex A -50
+KPX Ucircumflex Aacute -50
+KPX Ucircumflex Acircumflex -50
+KPX Ucircumflex Adieresis -50
+KPX Ucircumflex Agrave -50
+KPX Ucircumflex Aring -50
+KPX Ucircumflex Atilde -50
+KPX Ucircumflex comma -30
+KPX Ucircumflex period -30
+KPX Udieresis A -50
+KPX Udieresis Aacute -50
+KPX Udieresis Acircumflex -50
+KPX Udieresis Adieresis -50
+KPX Udieresis Agrave -50
+KPX Udieresis Aring -50
+KPX Udieresis Atilde -50
+KPX Udieresis comma -30
+KPX Udieresis period -30
+KPX Ugrave A -50
+KPX Ugrave Aacute -50
+KPX Ugrave Acircumflex -50
+KPX Ugrave Adieresis -50
+KPX Ugrave Agrave -50
+KPX Ugrave Aring -50
+KPX Ugrave Atilde -50
+KPX Ugrave comma -30
+KPX Ugrave period -30
+KPX V A -80
+KPX V Aacute -80
+KPX V Acircumflex -80
+KPX V Adieresis -80
+KPX V Agrave -80
+KPX V Aring -80
+KPX V Atilde -80
+KPX V G -50
+KPX V O -50
+KPX V Oacute -50
+KPX V Ocircumflex -50
+KPX V Odieresis -50
+KPX V Ograve -50
+KPX V Oslash -50
+KPX V Otilde -50
+KPX V a -60
+KPX V aacute -60
+KPX V acircumflex -60
+KPX V adieresis -60
+KPX V agrave -60
+KPX V aring -60
+KPX V atilde -60
+KPX V colon -40
+KPX V comma -120
+KPX V e -50
+KPX V eacute -50
+KPX V ecircumflex -50
+KPX V edieresis -50
+KPX V egrave -50
+KPX V hyphen -80
+KPX V o -90
+KPX V oacute -90
+KPX V ocircumflex -90
+KPX V odieresis -90
+KPX V ograve -90
+KPX V oslash -90
+KPX V otilde -90
+KPX V period -120
+KPX V semicolon -40
+KPX V u -60
+KPX V uacute -60
+KPX V ucircumflex -60
+KPX V udieresis -60
+KPX V ugrave -60
+KPX W A -60
+KPX W Aacute -60
+KPX W Acircumflex -60
+KPX W Adieresis -60
+KPX W Agrave -60
+KPX W Aring -60
+KPX W Atilde -60
+KPX W O -20
+KPX W Oacute -20
+KPX W Ocircumflex -20
+KPX W Odieresis -20
+KPX W Ograve -20
+KPX W Oslash -20
+KPX W Otilde -20
+KPX W a -40
+KPX W aacute -40
+KPX W acircumflex -40
+KPX W adieresis -40
+KPX W agrave -40
+KPX W aring -40
+KPX W atilde -40
+KPX W colon -10
+KPX W comma -80
+KPX W e -35
+KPX W eacute -35
+KPX W ecircumflex -35
+KPX W edieresis -35
+KPX W egrave -35
+KPX W hyphen -40
+KPX W o -60
+KPX W oacute -60
+KPX W ocircumflex -60
+KPX W odieresis -60
+KPX W ograve -60
+KPX W oslash -60
+KPX W otilde -60
+KPX W period -80
+KPX W semicolon -10
+KPX W u -45
+KPX W uacute -45
+KPX W ucircumflex -45
+KPX W udieresis -45
+KPX W ugrave -45
+KPX W y -20
+KPX W yacute -20
+KPX W ydieresis -20
+KPX Y A -110
+KPX Y Aacute -110
+KPX Y Acircumflex -110
+KPX Y Adieresis -110
+KPX Y Agrave -110
+KPX Y Aring -110
+KPX Y Atilde -110
+KPX Y O -70
+KPX Y Oacute -70
+KPX Y Ocircumflex -70
+KPX Y Odieresis -70
+KPX Y Ograve -70
+KPX Y Oslash -70
+KPX Y Otilde -70
+KPX Y a -90
+KPX Y aacute -90
+KPX Y acircumflex -90
+KPX Y adieresis -90
+KPX Y agrave -90
+KPX Y aring -90
+KPX Y atilde -90
+KPX Y colon -50
+KPX Y comma -100
+KPX Y e -80
+KPX Y eacute -80
+KPX Y ecircumflex -80
+KPX Y edieresis -80
+KPX Y egrave -80
+KPX Y o -100
+KPX Y oacute -100
+KPX Y ocircumflex -100
+KPX Y odieresis -100
+KPX Y ograve -100
+KPX Y oslash -100
+KPX Y otilde -100
+KPX Y period -100
+KPX Y semicolon -50
+KPX Y u -100
+KPX Y uacute -100
+KPX Y ucircumflex -100
+KPX Y udieresis -100
+KPX Y ugrave -100
+KPX Yacute A -110
+KPX Yacute Aacute -110
+KPX Yacute Acircumflex -110
+KPX Yacute Adieresis -110
+KPX Yacute Agrave -110
+KPX Yacute Aring -110
+KPX Yacute Atilde -110
+KPX Yacute O -70
+KPX Yacute Oacute -70
+KPX Yacute Ocircumflex -70
+KPX Yacute Odieresis -70
+KPX Yacute Ograve -70
+KPX Yacute Oslash -70
+KPX Yacute Otilde -70
+KPX Yacute a -90
+KPX Yacute aacute -90
+KPX Yacute acircumflex -90
+KPX Yacute adieresis -90
+KPX Yacute agrave -90
+KPX Yacute aring -90
+KPX Yacute atilde -90
+KPX Yacute colon -50
+KPX Yacute comma -100
+KPX Yacute e -80
+KPX Yacute eacute -80
+KPX Yacute ecircumflex -80
+KPX Yacute edieresis -80
+KPX Yacute egrave -80
+KPX Yacute o -100
+KPX Yacute oacute -100
+KPX Yacute ocircumflex -100
+KPX Yacute odieresis -100
+KPX Yacute ograve -100
+KPX Yacute oslash -100
+KPX Yacute otilde -100
+KPX Yacute period -100
+KPX Yacute semicolon -50
+KPX Yacute u -100
+KPX Yacute uacute -100
+KPX Yacute ucircumflex -100
+KPX Yacute udieresis -100
+KPX Yacute ugrave -100
+KPX Ydieresis A -110
+KPX Ydieresis Aacute -110
+KPX Ydieresis Acircumflex -110
+KPX Ydieresis Adieresis -110
+KPX Ydieresis Agrave -110
+KPX Ydieresis Aring -110
+KPX Ydieresis Atilde -110
+KPX Ydieresis O -70
+KPX Ydieresis Oacute -70
+KPX Ydieresis Ocircumflex -70
+KPX Ydieresis Odieresis -70
+KPX Ydieresis Ograve -70
+KPX Ydieresis Oslash -70
+KPX Ydieresis Otilde -70
+KPX Ydieresis a -90
+KPX Ydieresis aacute -90
+KPX Ydieresis acircumflex -90
+KPX Ydieresis adieresis -90
+KPX Ydieresis agrave -90
+KPX Ydieresis aring -90
+KPX Ydieresis atilde -90
+KPX Ydieresis colon -50
+KPX Ydieresis comma -100
+KPX Ydieresis e -80
+KPX Ydieresis eacute -80
+KPX Ydieresis ecircumflex -80
+KPX Ydieresis edieresis -80
+KPX Ydieresis egrave -80
+KPX Ydieresis o -100
+KPX Ydieresis oacute -100
+KPX Ydieresis ocircumflex -100
+KPX Ydieresis odieresis -100
+KPX Ydieresis ograve -100
+KPX Ydieresis oslash -100
+KPX Ydieresis otilde -100
+KPX Ydieresis period -100
+KPX Ydieresis semicolon -50
+KPX Ydieresis u -100
+KPX Ydieresis uacute -100
+KPX Ydieresis ucircumflex -100
+KPX Ydieresis udieresis -100
+KPX Ydieresis ugrave -100
+KPX a g -10
+KPX a v -15
+KPX a w -15
+KPX a y -20
+KPX a yacute -20
+KPX a ydieresis -20
+KPX aacute g -10
+KPX aacute v -15
+KPX aacute w -15
+KPX aacute y -20
+KPX aacute yacute -20
+KPX aacute ydieresis -20
+KPX acircumflex g -10
+KPX acircumflex v -15
+KPX acircumflex w -15
+KPX acircumflex y -20
+KPX acircumflex yacute -20
+KPX acircumflex ydieresis -20
+KPX adieresis g -10
+KPX adieresis v -15
+KPX adieresis w -15
+KPX adieresis y -20
+KPX adieresis yacute -20
+KPX adieresis ydieresis -20
+KPX agrave g -10
+KPX agrave v -15
+KPX agrave w -15
+KPX agrave y -20
+KPX agrave yacute -20
+KPX agrave ydieresis -20
+KPX aring g -10
+KPX aring v -15
+KPX aring w -15
+KPX aring y -20
+KPX aring yacute -20
+KPX aring ydieresis -20
+KPX atilde g -10
+KPX atilde v -15
+KPX atilde w -15
+KPX atilde y -20
+KPX atilde yacute -20
+KPX atilde ydieresis -20
+KPX b l -10
+KPX b lslash -10
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -20
+KPX b y -20
+KPX b yacute -20
+KPX b ydieresis -20
+KPX c h -10
+KPX c k -20
+KPX c l -20
+KPX c lslash -20
+KPX c y -10
+KPX c yacute -10
+KPX c ydieresis -10
+KPX ccedilla h -10
+KPX ccedilla k -20
+KPX ccedilla l -20
+KPX ccedilla lslash -20
+KPX ccedilla y -10
+KPX ccedilla yacute -10
+KPX ccedilla ydieresis -10
+KPX colon space -40
+KPX comma quotedblright -120
+KPX comma quoteright -120
+KPX comma space -40
+KPX d d -10
+KPX d v -15
+KPX d w -15
+KPX d y -15
+KPX d yacute -15
+KPX d ydieresis -15
+KPX e comma 10
+KPX e period 20
+KPX e v -15
+KPX e w -15
+KPX e x -15
+KPX e y -15
+KPX e yacute -15
+KPX e ydieresis -15
+KPX eacute comma 10
+KPX eacute period 20
+KPX eacute v -15
+KPX eacute w -15
+KPX eacute x -15
+KPX eacute y -15
+KPX eacute yacute -15
+KPX eacute ydieresis -15
+KPX ecircumflex comma 10
+KPX ecircumflex period 20
+KPX ecircumflex v -15
+KPX ecircumflex w -15
+KPX ecircumflex x -15
+KPX ecircumflex y -15
+KPX ecircumflex yacute -15
+KPX ecircumflex ydieresis -15
+KPX edieresis comma 10
+KPX edieresis period 20
+KPX edieresis v -15
+KPX edieresis w -15
+KPX edieresis x -15
+KPX edieresis y -15
+KPX edieresis yacute -15
+KPX edieresis ydieresis -15
+KPX egrave comma 10
+KPX egrave period 20
+KPX egrave v -15
+KPX egrave w -15
+KPX egrave x -15
+KPX egrave y -15
+KPX egrave yacute -15
+KPX egrave ydieresis -15
+KPX f comma -10
+KPX f e -10
+KPX f eacute -10
+KPX f ecircumflex -10
+KPX f edieresis -10
+KPX f egrave -10
+KPX f o -20
+KPX f oacute -20
+KPX f ocircumflex -20
+KPX f odieresis -20
+KPX f ograve -20
+KPX f oslash -20
+KPX f otilde -20
+KPX f period -10
+KPX f quotedblright 30
+KPX f quoteright 30
+KPX g e 10
+KPX g eacute 10
+KPX g ecircumflex 10
+KPX g edieresis 10
+KPX g egrave 10
+KPX g g -10
+KPX h y -20
+KPX h yacute -20
+KPX h ydieresis -20
+KPX k o -15
+KPX k oacute -15
+KPX k ocircumflex -15
+KPX k odieresis -15
+KPX k ograve -15
+KPX k oslash -15
+KPX k otilde -15
+KPX l w -15
+KPX l y -15
+KPX l yacute -15
+KPX l ydieresis -15
+KPX lslash w -15
+KPX lslash y -15
+KPX lslash yacute -15
+KPX lslash ydieresis -15
+KPX m u -20
+KPX m uacute -20
+KPX m ucircumflex -20
+KPX m udieresis -20
+KPX m ugrave -20
+KPX m y -30
+KPX m yacute -30
+KPX m ydieresis -30
+KPX n u -10
+KPX n uacute -10
+KPX n ucircumflex -10
+KPX n udieresis -10
+KPX n ugrave -10
+KPX n v -40
+KPX n y -20
+KPX n yacute -20
+KPX n ydieresis -20
+KPX ntilde u -10
+KPX ntilde uacute -10
+KPX ntilde ucircumflex -10
+KPX ntilde udieresis -10
+KPX ntilde ugrave -10
+KPX ntilde v -40
+KPX ntilde y -20
+KPX ntilde yacute -20
+KPX ntilde ydieresis -20
+KPX o v -20
+KPX o w -15
+KPX o x -30
+KPX o y -20
+KPX o yacute -20
+KPX o ydieresis -20
+KPX oacute v -20
+KPX oacute w -15
+KPX oacute x -30
+KPX oacute y -20
+KPX oacute yacute -20
+KPX oacute ydieresis -20
+KPX ocircumflex v -20
+KPX ocircumflex w -15
+KPX ocircumflex x -30
+KPX ocircumflex y -20
+KPX ocircumflex yacute -20
+KPX ocircumflex ydieresis -20
+KPX odieresis v -20
+KPX odieresis w -15
+KPX odieresis x -30
+KPX odieresis y -20
+KPX odieresis yacute -20
+KPX odieresis ydieresis -20
+KPX ograve v -20
+KPX ograve w -15
+KPX ograve x -30
+KPX ograve y -20
+KPX ograve yacute -20
+KPX ograve ydieresis -20
+KPX oslash v -20
+KPX oslash w -15
+KPX oslash x -30
+KPX oslash y -20
+KPX oslash yacute -20
+KPX oslash ydieresis -20
+KPX otilde v -20
+KPX otilde w -15
+KPX otilde x -30
+KPX otilde y -20
+KPX otilde yacute -20
+KPX otilde ydieresis -20
+KPX p y -15
+KPX p yacute -15
+KPX p ydieresis -15
+KPX period quotedblright -120
+KPX period quoteright -120
+KPX period space -40
+KPX quotedblright space -80
+KPX quoteleft quoteleft -46
+KPX quoteright d -80
+KPX quoteright l -20
+KPX quoteright lslash -20
+KPX quoteright quoteright -46
+KPX quoteright r -40
+KPX quoteright s -60
+KPX quoteright scaron -60
+KPX quoteright space -80
+KPX quoteright v -20
+KPX r c -20
+KPX r ccedilla -20
+KPX r comma -60
+KPX r d -20
+KPX r g -15
+KPX r hyphen -20
+KPX r o -20
+KPX r oacute -20
+KPX r ocircumflex -20
+KPX r odieresis -20
+KPX r ograve -20
+KPX r oslash -20
+KPX r otilde -20
+KPX r period -60
+KPX r q -20
+KPX r s -15
+KPX r scaron -15
+KPX r t 20
+KPX r v 10
+KPX r y 10
+KPX r yacute 10
+KPX r ydieresis 10
+KPX s w -15
+KPX scaron w -15
+KPX semicolon space -40
+KPX space T -100
+KPX space V -80
+KPX space W -80
+KPX space Y -120
+KPX space Yacute -120
+KPX space Ydieresis -120
+KPX space quotedblleft -80
+KPX space quoteleft -60
+KPX v a -20
+KPX v aacute -20
+KPX v acircumflex -20
+KPX v adieresis -20
+KPX v agrave -20
+KPX v aring -20
+KPX v atilde -20
+KPX v comma -80
+KPX v o -30
+KPX v oacute -30
+KPX v ocircumflex -30
+KPX v odieresis -30
+KPX v ograve -30
+KPX v oslash -30
+KPX v otilde -30
+KPX v period -80
+KPX w comma -40
+KPX w o -20
+KPX w oacute -20
+KPX w ocircumflex -20
+KPX w odieresis -20
+KPX w ograve -20
+KPX w oslash -20
+KPX w otilde -20
+KPX w period -40
+KPX x e -10
+KPX x eacute -10
+KPX x ecircumflex -10
+KPX x edieresis -10
+KPX x egrave -10
+KPX y a -30
+KPX y aacute -30
+KPX y acircumflex -30
+KPX y adieresis -30
+KPX y agrave -30
+KPX y aring -30
+KPX y atilde -30
+KPX y comma -80
+KPX y e -10
+KPX y eacute -10
+KPX y ecircumflex -10
+KPX y edieresis -10
+KPX y egrave -10
+KPX y o -25
+KPX y oacute -25
+KPX y ocircumflex -25
+KPX y odieresis -25
+KPX y ograve -25
+KPX y oslash -25
+KPX y otilde -25
+KPX y period -80
+KPX yacute a -30
+KPX yacute aacute -30
+KPX yacute acircumflex -30
+KPX yacute adieresis -30
+KPX yacute agrave -30
+KPX yacute aring -30
+KPX yacute atilde -30
+KPX yacute comma -80
+KPX yacute e -10
+KPX yacute eacute -10
+KPX yacute ecircumflex -10
+KPX yacute edieresis -10
+KPX yacute egrave -10
+KPX yacute o -25
+KPX yacute oacute -25
+KPX yacute ocircumflex -25
+KPX yacute odieresis -25
+KPX yacute ograve -25
+KPX yacute oslash -25
+KPX yacute otilde -25
+KPX yacute period -80
+KPX ydieresis a -30
+KPX ydieresis aacute -30
+KPX ydieresis acircumflex -30
+KPX ydieresis adieresis -30
+KPX ydieresis agrave -30
+KPX ydieresis aring -30
+KPX ydieresis atilde -30
+KPX ydieresis comma -80
+KPX ydieresis e -10
+KPX ydieresis eacute -10
+KPX ydieresis ecircumflex -10
+KPX ydieresis edieresis -10
+KPX ydieresis egrave -10
+KPX ydieresis o -25
+KPX ydieresis oacute -25
+KPX ydieresis ocircumflex -25
+KPX ydieresis odieresis -25
+KPX ydieresis ograve -25
+KPX ydieresis oslash -25
+KPX ydieresis otilde -25
+KPX ydieresis period -80
+KPX z e 10
+KPX z eacute 10
+KPX z ecircumflex 10
+KPX z edieresis 10
+KPX z egrave 10
+KPX zcaron e 10
+KPX zcaron eacute 10
+KPX zcaron ecircumflex 10
+KPX zcaron edieresis 10
+KPX zcaron egrave 10
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/I b/troff/troff.d/font/devps/I
new file mode 100644
index 0000000000000..cb363f0de5389
--- /dev/null
+++ b/troff/troff.d/font/devps/I
@@ -0,0 +1 @@
+name I.afm
diff --git a/troff/troff.d/font/devps/I.afm b/troff/troff.d/font/devps/I.afm
new file mode 100644
index 0000000000000..8b7e800319a09
--- /dev/null
+++ b/troff/troff.d/font/devps/I.afm
@@ -0,0 +1,1298 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:56:55 1997
+Comment UniqueID 43067
+Comment VMusage 47727 58752
+FontName Times-Italic
+FullName Times Italic
+FamilyName Times
+Weight Medium
+ItalicAngle -15.5
+IsFixedPitch false
+FontBBox -169 -217 1010 883
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 653
+XHeight 441
+Ascender 683
+Descender -217
+StdHW 32
+StdVW 76
+StartCharMetrics 229
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 39 -11 302 667 ;
+C 34 ; WX 420 ; N quotedbl ; B 144 421 432 666 ;
+C 35 ; WX 500 ; N numbersign ; B 2 0 540 676 ;
+C 36 ; WX 500 ; N dollar ; B 31 -89 497 731 ;
+C 37 ; WX 833 ; N percent ; B 79 -13 790 676 ;
+C 38 ; WX 778 ; N ampersand ; B 76 -18 723 666 ;
+C 39 ; WX 333 ; N quoteright ; B 151 436 290 666 ;
+C 40 ; WX 333 ; N parenleft ; B 42 -181 315 669 ;
+C 41 ; WX 333 ; N parenright ; B 16 -180 289 669 ;
+C 42 ; WX 500 ; N asterisk ; B 128 255 492 666 ;
+C 43 ; WX 675 ; N plus ; B 86 0 590 506 ;
+C 44 ; WX 250 ; N comma ; B -4 -129 135 101 ;
+C 45 ; WX 333 ; N hyphen ; B 49 192 282 255 ;
+C 46 ; WX 250 ; N period ; B 27 -11 138 100 ;
+C 47 ; WX 278 ; N slash ; B -65 -18 386 666 ;
+C 48 ; WX 500 ; N zero ; B 32 -7 497 676 ;
+C 49 ; WX 500 ; N one ; B 49 0 409 676 ;
+C 50 ; WX 500 ; N two ; B 12 0 452 676 ;
+C 51 ; WX 500 ; N three ; B 15 -7 465 676 ;
+C 52 ; WX 500 ; N four ; B 1 0 479 676 ;
+C 53 ; WX 500 ; N five ; B 15 -7 491 666 ;
+C 54 ; WX 500 ; N six ; B 30 -7 521 686 ;
+C 55 ; WX 500 ; N seven ; B 75 -8 537 666 ;
+C 56 ; WX 500 ; N eight ; B 30 -7 493 676 ;
+C 57 ; WX 500 ; N nine ; B 23 -17 492 676 ;
+C 58 ; WX 333 ; N colon ; B 50 -11 261 441 ;
+C 59 ; WX 333 ; N semicolon ; B 27 -129 261 441 ;
+C 60 ; WX 675 ; N less ; B 84 -8 592 514 ;
+C 61 ; WX 675 ; N equal ; B 86 120 590 386 ;
+C 62 ; WX 675 ; N greater ; B 84 -8 592 514 ;
+C 63 ; WX 500 ; N question ; B 132 -12 472 664 ;
+C 64 ; WX 920 ; N at ; B 118 -18 806 666 ;
+C 65 ; WX 611 ; N A ; B -51 0 564 668 ;
+C 66 ; WX 611 ; N B ; B -8 0 588 653 ;
+C 67 ; WX 667 ; N C ; B 66 -18 689 666 ;
+C 68 ; WX 722 ; N D ; B -8 0 700 653 ;
+C 69 ; WX 611 ; N E ; B -1 0 634 653 ;
+C 70 ; WX 611 ; N F ; B 8 0 645 653 ;
+C 71 ; WX 722 ; N G ; B 52 -18 722 666 ;
+C 72 ; WX 722 ; N H ; B -8 0 767 653 ;
+C 73 ; WX 333 ; N I ; B -8 0 384 653 ;
+C 74 ; WX 444 ; N J ; B -6 -18 491 653 ;
+C 75 ; WX 667 ; N K ; B 7 0 722 653 ;
+C 76 ; WX 556 ; N L ; B -8 0 559 653 ;
+C 77 ; WX 833 ; N M ; B -18 0 873 653 ;
+C 78 ; WX 667 ; N N ; B -20 -15 727 653 ;
+C 79 ; WX 722 ; N O ; B 60 -18 699 666 ;
+C 80 ; WX 611 ; N P ; B 0 0 605 653 ;
+C 81 ; WX 722 ; N Q ; B 59 -182 699 666 ;
+C 82 ; WX 611 ; N R ; B -13 0 588 653 ;
+C 83 ; WX 500 ; N S ; B 17 -18 508 667 ;
+C 84 ; WX 556 ; N T ; B 59 0 633 653 ;
+C 85 ; WX 722 ; N U ; B 102 -18 765 653 ;
+C 86 ; WX 611 ; N V ; B 76 -18 688 653 ;
+C 87 ; WX 833 ; N W ; B 71 -18 906 653 ;
+C 88 ; WX 611 ; N X ; B -29 0 655 653 ;
+C 89 ; WX 556 ; N Y ; B 78 0 633 653 ;
+C 90 ; WX 556 ; N Z ; B -6 0 606 653 ;
+C 91 ; WX 389 ; N bracketleft ; B 21 -153 391 663 ;
+C 92 ; WX 278 ; N backslash ; B -41 -18 319 666 ;
+C 93 ; WX 389 ; N bracketright ; B 12 -153 382 663 ;
+C 94 ; WX 422 ; N asciicircum ; B 0 301 422 666 ;
+C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ;
+C 96 ; WX 333 ; N quoteleft ; B 171 436 310 666 ;
+C 97 ; WX 500 ; N a ; B 17 -11 476 441 ;
+C 98 ; WX 500 ; N b ; B 23 -11 473 683 ;
+C 99 ; WX 444 ; N c ; B 30 -11 425 441 ;
+C 100 ; WX 500 ; N d ; B 15 -13 527 683 ;
+C 101 ; WX 444 ; N e ; B 31 -11 412 441 ;
+C 102 ; WX 278 ; N f ; B -147 -207 424 678 ; L i fi ; L l fl ;
+C 103 ; WX 500 ; N g ; B 8 -206 472 441 ;
+C 104 ; WX 500 ; N h ; B 19 -9 478 683 ;
+C 105 ; WX 278 ; N i ; B 49 -11 264 654 ;
+C 106 ; WX 278 ; N j ; B -124 -207 276 654 ;
+C 107 ; WX 444 ; N k ; B 14 -11 461 683 ;
+C 108 ; WX 278 ; N l ; B 41 -11 279 683 ;
+C 109 ; WX 722 ; N m ; B 12 -9 704 441 ;
+C 110 ; WX 500 ; N n ; B 14 -9 474 441 ;
+C 111 ; WX 500 ; N o ; B 27 -11 468 441 ;
+C 112 ; WX 500 ; N p ; B -75 -205 469 441 ;
+C 113 ; WX 500 ; N q ; B 25 -209 483 441 ;
+C 114 ; WX 389 ; N r ; B 45 0 412 441 ;
+C 115 ; WX 389 ; N s ; B 16 -13 366 442 ;
+C 116 ; WX 278 ; N t ; B 37 -11 296 546 ;
+C 117 ; WX 500 ; N u ; B 42 -11 475 441 ;
+C 118 ; WX 444 ; N v ; B 21 -18 426 441 ;
+C 119 ; WX 667 ; N w ; B 16 -18 648 441 ;
+C 120 ; WX 444 ; N x ; B -27 -11 447 441 ;
+C 121 ; WX 444 ; N y ; B -24 -206 426 441 ;
+C 122 ; WX 389 ; N z ; B -2 -81 380 428 ;
+C 123 ; WX 400 ; N braceleft ; B 51 -177 407 687 ;
+C 124 ; WX 275 ; N bar ; B 105 -217 171 783 ;
+C 125 ; WX 400 ; N braceright ; B -7 -177 349 687 ;
+C 126 ; WX 541 ; N asciitilde ; B 40 183 502 323 ;
+C 161 ; WX 389 ; N exclamdown ; B 59 -205 322 473 ;
+C 162 ; WX 500 ; N cent ; B 77 -143 472 560 ;
+C 163 ; WX 500 ; N sterling ; B 10 -6 517 670 ;
+C 164 ; WX 167 ; N fraction ; B -169 -10 337 676 ;
+C 165 ; WX 500 ; N yen ; B 27 0 603 653 ;
+C 166 ; WX 500 ; N florin ; B 25 -182 507 682 ;
+C 167 ; WX 500 ; N section ; B 53 -162 461 666 ;
+C 168 ; WX 500 ; N currency ; B -22 53 522 597 ;
+C 169 ; WX 214 ; N quotesingle ; B 132 421 241 666 ;
+C 170 ; WX 556 ; N quotedblleft ; B 166 436 514 666 ;
+C 171 ; WX 500 ; N guillemotleft ; B 53 37 445 403 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 51 37 281 403 ;
+C 173 ; WX 333 ; N guilsinglright ; B 52 37 282 403 ;
+C 174 ; WX 500 ; N fi ; B -141 -207 481 681 ;
+C 175 ; WX 500 ; N fl ; B -141 -204 518 682 ;
+C 177 ; WX 500 ; N endash ; B -6 197 505 243 ;
+C 178 ; WX 500 ; N dagger ; B 101 -159 488 666 ;
+C 179 ; WX 500 ; N daggerdbl ; B 22 -143 491 666 ;
+C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ;
+C 182 ; WX 523 ; N paragraph ; B 55 -123 616 653 ;
+C 183 ; WX 350 ; N bullet ; B 40 191 310 461 ;
+C 184 ; WX 333 ; N quotesinglbase ; B 44 -129 183 101 ;
+C 185 ; WX 556 ; N quotedblbase ; B 57 -129 405 101 ;
+C 186 ; WX 556 ; N quotedblright ; B 151 436 499 666 ;
+C 187 ; WX 500 ; N guillemotright ; B 55 37 447 403 ;
+C 188 ; WX 889 ; N ellipsis ; B 57 -11 762 100 ;
+C 189 ; WX 1000 ; N perthousand ; B 25 -19 1010 706 ;
+C 191 ; WX 500 ; N questiondown ; B 28 -205 368 471 ;
+C 193 ; WX 333 ; N grave ; B 121 492 311 664 ;
+C 194 ; WX 333 ; N acute ; B 180 494 403 664 ;
+C 195 ; WX 333 ; N circumflex ; B 91 492 385 661 ;
+C 196 ; WX 333 ; N tilde ; B 100 517 427 624 ;
+C 197 ; WX 333 ; N macron ; B 99 532 411 583 ;
+C 198 ; WX 333 ; N breve ; B 117 492 418 650 ;
+C 199 ; WX 333 ; N dotaccent ; B 207 548 305 646 ;
+C 200 ; WX 333 ; N dieresis ; B 107 548 405 646 ;
+C 202 ; WX 333 ; N ring ; B 155 492 355 691 ;
+C 203 ; WX 333 ; N cedilla ; B -30 -217 182 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B 93 494 486 664 ;
+C 206 ; WX 333 ; N ogonek ; B 20 -169 203 40 ;
+C 207 ; WX 333 ; N caron ; B 121 492 426 661 ;
+C 208 ; WX 889 ; N emdash ; B -6 197 894 243 ;
+C 225 ; WX 889 ; N AE ; B -27 0 911 653 ;
+C 227 ; WX 276 ; N ordfeminine ; B 42 406 352 676 ;
+C 232 ; WX 556 ; N Lslash ; B -8 0 559 653 ;
+C 233 ; WX 722 ; N Oslash ; B 60 -105 699 722 ;
+C 234 ; WX 944 ; N OE ; B 49 -8 964 666 ;
+C 235 ; WX 310 ; N ordmasculine ; B 67 406 362 676 ;
+C 241 ; WX 667 ; N ae ; B 23 -11 640 441 ;
+C 245 ; WX 278 ; N dotlessi ; B 49 -11 235 441 ;
+C 248 ; WX 278 ; N lslash ; B 41 -11 312 683 ;
+C 249 ; WX 500 ; N oslash ; B 28 -135 469 554 ;
+C 250 ; WX 667 ; N oe ; B 20 -12 646 441 ;
+C 251 ; WX 500 ; N germandbls ; B -168 -207 493 679 ;
+C -1 ; WX 333 ; N Idieresis ; B -8 0 435 818 ;
+C -1 ; WX 444 ; N eacute ; B 31 -11 459 664 ;
+C -1 ; WX 556 ; N Ydieresis ; B 78 0 633 818 ;
+C -1 ; WX 675 ; N divide ; B 86 -11 590 517 ;
+C -1 ; WX 556 ; N Yacute ; B 78 0 633 876 ;
+C -1 ; WX 611 ; N Acircumflex ; B -51 0 564 873 ;
+C -1 ; WX 500 ; N aacute ; B 17 -11 487 664 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 102 -18 765 873 ;
+C -1 ; WX 444 ; N yacute ; B -24 -206 459 664 ;
+C -1 ; WX 444 ; N ecircumflex ; B 31 -11 441 661 ;
+C -1 ; WX 722 ; N Udieresis ; B 102 -18 765 818 ;
+C -1 ; WX 722 ; N Uacute ; B 102 -18 765 876 ;
+C -1 ; WX 611 ; N Edieresis ; B -1 0 634 818 ;
+C -1 ; WX 760 ; N copyright ; B 41 -18 719 666 ;
+C -1 ; WX 500 ; N aring ; B 17 -11 476 691 ;
+C -1 ; WX 500 ; N agrave ; B 17 -11 476 664 ;
+C -1 ; WX 500 ; N atilde ; B 17 -11 511 624 ;
+C -1 ; WX 389 ; N scaron ; B 16 -13 454 661 ;
+C -1 ; WX 278 ; N iacute ; B 49 -11 355 664 ;
+C -1 ; WX 500 ; N ucircumflex ; B 42 -11 475 661 ;
+C -1 ; WX 500 ; N acircumflex ; B 17 -11 476 661 ;
+C -1 ; WX 444 ; N ccedilla ; B 30 -217 425 441 ;
+C -1 ; WX 611 ; N Thorn ; B 0 0 569 653 ;
+C -1 ; WX 300 ; N threesuperior ; B 43 268 339 676 ;
+C -1 ; WX 722 ; N Ograve ; B 60 -18 699 876 ;
+C -1 ; WX 611 ; N Agrave ; B -51 0 564 876 ;
+C -1 ; WX 675 ; N multiply ; B 93 8 582 497 ;
+C -1 ; WX 500 ; N uacute ; B 42 -11 477 664 ;
+C -1 ; WX 444 ; N ydieresis ; B -24 -206 441 606 ;
+C -1 ; WX 278 ; N icircumflex ; B 33 -11 327 661 ;
+C -1 ; WX 611 ; N Ecircumflex ; B -1 0 634 873 ;
+C -1 ; WX 500 ; N adieresis ; B 17 -11 489 606 ;
+C -1 ; WX 444 ; N edieresis ; B 31 -11 451 606 ;
+C -1 ; WX 333 ; N Iacute ; B -8 0 433 876 ;
+C -1 ; WX 675 ; N plusminus ; B 86 0 590 506 ;
+C -1 ; WX 275 ; N brokenbar ; B 105 -142 171 708 ;
+C -1 ; WX 760 ; N registered ; B 41 -18 719 666 ;
+C -1 ; WX 611 ; N Egrave ; B -1 0 634 876 ;
+C -1 ; WX 556 ; N Zcaron ; B -6 0 606 873 ;
+C -1 ; WX 722 ; N Eth ; B -8 0 700 653 ;
+C -1 ; WX 667 ; N Ccedilla ; B 66 -217 689 666 ;
+C -1 ; WX 611 ; N Aacute ; B -51 0 564 876 ;
+C -1 ; WX 611 ; N Adieresis ; B -51 0 564 818 ;
+C -1 ; WX 444 ; N egrave ; B 31 -11 412 664 ;
+C -1 ; WX 722 ; N Oacute ; B 60 -18 699 876 ;
+C -1 ; WX 500 ; N oacute ; B 27 -11 487 664 ;
+C -1 ; WX 278 ; N idieresis ; B 49 -11 352 606 ;
+C -1 ; WX 722 ; N Ocircumflex ; B 60 -18 699 873 ;
+C -1 ; WX 722 ; N Ugrave ; B 102 -18 765 876 ;
+C -1 ; WX 500 ; N thorn ; B -75 -205 469 683 ;
+C -1 ; WX 300 ; N twosuperior ; B 33 271 324 676 ;
+C -1 ; WX 722 ; N Odieresis ; B 60 -18 699 818 ;
+C -1 ; WX 500 ; N mu ; B -30 -209 497 428 ;
+C -1 ; WX 278 ; N igrave ; B 49 -11 284 664 ;
+C -1 ; WX 750 ; N threequarters ; B 23 -10 736 676 ;
+C -1 ; WX 980 ; N trademark ; B 30 247 957 653 ;
+C -1 ; WX 333 ; N Igrave ; B -8 0 384 876 ;
+C -1 ; WX 750 ; N onehalf ; B 34 -10 749 676 ;
+C -1 ; WX 500 ; N ocircumflex ; B 27 -11 468 661 ;
+C -1 ; WX 500 ; N ntilde ; B 14 -9 476 624 ;
+C -1 ; WX 611 ; N Eacute ; B -1 0 634 876 ;
+C -1 ; WX 750 ; N onequarter ; B 33 -10 736 676 ;
+C -1 ; WX 500 ; N Scaron ; B 17 -18 520 873 ;
+C -1 ; WX 400 ; N degree ; B 101 390 387 676 ;
+C -1 ; WX 500 ; N ograve ; B 27 -11 468 664 ;
+C -1 ; WX 500 ; N ugrave ; B 42 -11 475 664 ;
+C -1 ; WX 667 ; N Ntilde ; B -20 -15 727 836 ;
+C -1 ; WX 500 ; N otilde ; B 27 -11 496 624 ;
+C -1 ; WX 611 ; N Atilde ; B -51 0 566 836 ;
+C -1 ; WX 611 ; N Aring ; B -51 0 564 883 ;
+C -1 ; WX 722 ; N Otilde ; B 60 -18 699 836 ;
+C -1 ; WX 675 ; N minus ; B 86 220 590 286 ;
+C -1 ; WX 333 ; N Icircumflex ; B -8 0 425 873 ;
+C -1 ; WX 675 ; N logicalnot ; B 86 108 590 386 ;
+C -1 ; WX 500 ; N odieresis ; B 27 -11 489 606 ;
+C -1 ; WX 500 ; N udieresis ; B 42 -11 479 606 ;
+C -1 ; WX 500 ; N eth ; B 27 -11 482 683 ;
+C -1 ; WX 389 ; N zcaron ; B -2 -81 434 661 ;
+C -1 ; WX 300 ; N onesuperior ; B 43 271 284 676 ;
+C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1038
+KPX A C -30
+KPX A Ccedilla -30
+KPX A G -35
+KPX A O -40
+KPX A Oacute -40
+KPX A Ocircumflex -40
+KPX A Odieresis -40
+KPX A Ograve -40
+KPX A Oslash -40
+KPX A Otilde -40
+KPX A Q -40
+KPX A T -37
+KPX A U -50
+KPX A Uacute -50
+KPX A Ucircumflex -50
+KPX A Udieresis -50
+KPX A Ugrave -50
+KPX A V -105
+KPX A W -95
+KPX A Y -55
+KPX A Yacute -55
+KPX A Ydieresis -55
+KPX A quoteright -37
+KPX A u -20
+KPX A uacute -20
+KPX A ucircumflex -20
+KPX A udieresis -20
+KPX A ugrave -20
+KPX A v -55
+KPX A w -55
+KPX A y -55
+KPX A yacute -55
+KPX A ydieresis -55
+KPX Aacute C -30
+KPX Aacute Ccedilla -30
+KPX Aacute G -35
+KPX Aacute O -40
+KPX Aacute Oacute -40
+KPX Aacute Ocircumflex -40
+KPX Aacute Odieresis -40
+KPX Aacute Ograve -40
+KPX Aacute Oslash -40
+KPX Aacute Otilde -40
+KPX Aacute Q -40
+KPX Aacute T -37
+KPX Aacute U -50
+KPX Aacute Uacute -50
+KPX Aacute Ucircumflex -50
+KPX Aacute Udieresis -50
+KPX Aacute Ugrave -50
+KPX Aacute V -105
+KPX Aacute W -95
+KPX Aacute Y -55
+KPX Aacute Yacute -55
+KPX Aacute Ydieresis -55
+KPX Aacute quoteright -37
+KPX Aacute u -20
+KPX Aacute uacute -20
+KPX Aacute ucircumflex -20
+KPX Aacute udieresis -20
+KPX Aacute ugrave -20
+KPX Aacute v -55
+KPX Aacute w -55
+KPX Aacute y -55
+KPX Aacute yacute -55
+KPX Aacute ydieresis -55
+KPX Acircumflex C -30
+KPX Acircumflex Ccedilla -30
+KPX Acircumflex G -35
+KPX Acircumflex O -40
+KPX Acircumflex Oacute -40
+KPX Acircumflex Ocircumflex -40
+KPX Acircumflex Odieresis -40
+KPX Acircumflex Ograve -40
+KPX Acircumflex Oslash -40
+KPX Acircumflex Otilde -40
+KPX Acircumflex Q -40
+KPX Acircumflex T -37
+KPX Acircumflex U -50
+KPX Acircumflex Uacute -50
+KPX Acircumflex Ucircumflex -50
+KPX Acircumflex Udieresis -50
+KPX Acircumflex Ugrave -50
+KPX Acircumflex V -105
+KPX Acircumflex W -95
+KPX Acircumflex Y -55
+KPX Acircumflex Yacute -55
+KPX Acircumflex Ydieresis -55
+KPX Acircumflex quoteright -37
+KPX Acircumflex u -20
+KPX Acircumflex uacute -20
+KPX Acircumflex ucircumflex -20
+KPX Acircumflex udieresis -20
+KPX Acircumflex ugrave -20
+KPX Acircumflex v -55
+KPX Acircumflex w -55
+KPX Acircumflex y -55
+KPX Acircumflex yacute -55
+KPX Acircumflex ydieresis -55
+KPX Adieresis C -30
+KPX Adieresis Ccedilla -30
+KPX Adieresis G -35
+KPX Adieresis O -40
+KPX Adieresis Oacute -40
+KPX Adieresis Ocircumflex -40
+KPX Adieresis Odieresis -40
+KPX Adieresis Ograve -40
+KPX Adieresis Oslash -40
+KPX Adieresis Otilde -40
+KPX Adieresis Q -40
+KPX Adieresis T -37
+KPX Adieresis U -50
+KPX Adieresis Uacute -50
+KPX Adieresis Ucircumflex -50
+KPX Adieresis Udieresis -50
+KPX Adieresis Ugrave -50
+KPX Adieresis V -105
+KPX Adieresis W -95
+KPX Adieresis Y -55
+KPX Adieresis Yacute -55
+KPX Adieresis Ydieresis -55
+KPX Adieresis quoteright -37
+KPX Adieresis u -20
+KPX Adieresis uacute -20
+KPX Adieresis ucircumflex -20
+KPX Adieresis udieresis -20
+KPX Adieresis ugrave -20
+KPX Adieresis v -55
+KPX Adieresis w -55
+KPX Adieresis y -55
+KPX Adieresis yacute -55
+KPX Adieresis ydieresis -55
+KPX Agrave C -30
+KPX Agrave Ccedilla -30
+KPX Agrave G -35
+KPX Agrave O -40
+KPX Agrave Oacute -40
+KPX Agrave Ocircumflex -40
+KPX Agrave Odieresis -40
+KPX Agrave Ograve -40
+KPX Agrave Oslash -40
+KPX Agrave Otilde -40
+KPX Agrave Q -40
+KPX Agrave T -37
+KPX Agrave U -50
+KPX Agrave Uacute -50
+KPX Agrave Ucircumflex -50
+KPX Agrave Udieresis -50
+KPX Agrave Ugrave -50
+KPX Agrave V -105
+KPX Agrave W -95
+KPX Agrave Y -55
+KPX Agrave Yacute -55
+KPX Agrave Ydieresis -55
+KPX Agrave quoteright -37
+KPX Agrave u -20
+KPX Agrave uacute -20
+KPX Agrave ucircumflex -20
+KPX Agrave udieresis -20
+KPX Agrave ugrave -20
+KPX Agrave v -55
+KPX Agrave w -55
+KPX Agrave y -55
+KPX Agrave yacute -55
+KPX Agrave ydieresis -55
+KPX Aring C -30
+KPX Aring Ccedilla -30
+KPX Aring G -35
+KPX Aring O -40
+KPX Aring Oacute -40
+KPX Aring Ocircumflex -40
+KPX Aring Odieresis -40
+KPX Aring Ograve -40
+KPX Aring Oslash -40
+KPX Aring Otilde -40
+KPX Aring Q -40
+KPX Aring T -37
+KPX Aring U -50
+KPX Aring Uacute -50
+KPX Aring Ucircumflex -50
+KPX Aring Udieresis -50
+KPX Aring Ugrave -50
+KPX Aring V -105
+KPX Aring W -95
+KPX Aring Y -55
+KPX Aring Yacute -55
+KPX Aring Ydieresis -55
+KPX Aring quoteright -37
+KPX Aring u -20
+KPX Aring uacute -20
+KPX Aring ucircumflex -20
+KPX Aring udieresis -20
+KPX Aring ugrave -20
+KPX Aring v -55
+KPX Aring w -55
+KPX Aring y -55
+KPX Aring yacute -55
+KPX Aring ydieresis -55
+KPX Atilde C -30
+KPX Atilde Ccedilla -30
+KPX Atilde G -35
+KPX Atilde O -40
+KPX Atilde Oacute -40
+KPX Atilde Ocircumflex -40
+KPX Atilde Odieresis -40
+KPX Atilde Ograve -40
+KPX Atilde Oslash -40
+KPX Atilde Otilde -40
+KPX Atilde Q -40
+KPX Atilde T -37
+KPX Atilde U -50
+KPX Atilde Uacute -50
+KPX Atilde Ucircumflex -50
+KPX Atilde Udieresis -50
+KPX Atilde Ugrave -50
+KPX Atilde V -105
+KPX Atilde W -95
+KPX Atilde Y -55
+KPX Atilde Yacute -55
+KPX Atilde Ydieresis -55
+KPX Atilde quoteright -37
+KPX Atilde u -20
+KPX Atilde uacute -20
+KPX Atilde ucircumflex -20
+KPX Atilde udieresis -20
+KPX Atilde ugrave -20
+KPX Atilde v -55
+KPX Atilde w -55
+KPX Atilde y -55
+KPX Atilde yacute -55
+KPX Atilde ydieresis -55
+KPX B A -25
+KPX B Aacute -25
+KPX B Acircumflex -25
+KPX B Adieresis -25
+KPX B Agrave -25
+KPX B Aring -25
+KPX B Atilde -25
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -35
+KPX D Aacute -35
+KPX D Acircumflex -35
+KPX D Adieresis -35
+KPX D Agrave -35
+KPX D Aring -35
+KPX D Atilde -35
+KPX D V -40
+KPX D W -40
+KPX D Y -40
+KPX D Yacute -40
+KPX D Ydieresis -40
+KPX F A -115
+KPX F Aacute -115
+KPX F Acircumflex -115
+KPX F Adieresis -115
+KPX F Agrave -115
+KPX F Aring -115
+KPX F Atilde -115
+KPX F a -75
+KPX F aacute -75
+KPX F acircumflex -75
+KPX F adieresis -75
+KPX F agrave -75
+KPX F aring -75
+KPX F atilde -75
+KPX F comma -135
+KPX F e -75
+KPX F eacute -75
+KPX F ecircumflex -75
+KPX F edieresis -75
+KPX F egrave -75
+KPX F i -45
+KPX F iacute -45
+KPX F icircumflex -45
+KPX F idieresis -45
+KPX F igrave -45
+KPX F o -105
+KPX F oacute -105
+KPX F ocircumflex -105
+KPX F odieresis -105
+KPX F ograve -105
+KPX F oslash -105
+KPX F otilde -105
+KPX F period -135
+KPX F r -55
+KPX J A -40
+KPX J Aacute -40
+KPX J Acircumflex -40
+KPX J Adieresis -40
+KPX J Agrave -40
+KPX J Aring -40
+KPX J Atilde -40
+KPX J a -35
+KPX J aacute -35
+KPX J acircumflex -35
+KPX J adieresis -35
+KPX J agrave -35
+KPX J aring -35
+KPX J atilde -35
+KPX J comma -25
+KPX J e -25
+KPX J eacute -25
+KPX J ecircumflex -25
+KPX J edieresis -25
+KPX J egrave -25
+KPX J o -25
+KPX J oacute -25
+KPX J ocircumflex -25
+KPX J odieresis -25
+KPX J ograve -25
+KPX J oslash -25
+KPX J otilde -25
+KPX J period -25
+KPX J u -35
+KPX J uacute -35
+KPX J ucircumflex -35
+KPX J udieresis -35
+KPX J ugrave -35
+KPX K O -50
+KPX K Oacute -50
+KPX K Ocircumflex -50
+KPX K Odieresis -50
+KPX K Ograve -50
+KPX K Oslash -50
+KPX K Otilde -50
+KPX K e -35
+KPX K eacute -35
+KPX K ecircumflex -35
+KPX K edieresis -35
+KPX K egrave -35
+KPX K o -40
+KPX K oacute -40
+KPX K ocircumflex -40
+KPX K odieresis -40
+KPX K ograve -40
+KPX K oslash -40
+KPX K otilde -40
+KPX K u -40
+KPX K uacute -40
+KPX K ucircumflex -40
+KPX K udieresis -40
+KPX K ugrave -40
+KPX K y -40
+KPX K yacute -40
+KPX K ydieresis -40
+KPX L T -20
+KPX L V -55
+KPX L W -55
+KPX L Y -20
+KPX L Yacute -20
+KPX L Ydieresis -20
+KPX L quoteright -37
+KPX L y -30
+KPX L yacute -30
+KPX L ydieresis -30
+KPX Lslash T -20
+KPX Lslash V -55
+KPX Lslash W -55
+KPX Lslash Y -20
+KPX Lslash Yacute -20
+KPX Lslash Ydieresis -20
+KPX Lslash quoteright -37
+KPX Lslash y -30
+KPX Lslash yacute -30
+KPX Lslash ydieresis -30
+KPX N A -27
+KPX N Aacute -27
+KPX N Acircumflex -27
+KPX N Adieresis -27
+KPX N Agrave -27
+KPX N Aring -27
+KPX N Atilde -27
+KPX Ntilde A -27
+KPX Ntilde Aacute -27
+KPX Ntilde Acircumflex -27
+KPX Ntilde Adieresis -27
+KPX Ntilde Agrave -27
+KPX Ntilde Aring -27
+KPX Ntilde Atilde -27
+KPX O A -55
+KPX O Aacute -55
+KPX O Acircumflex -55
+KPX O Adieresis -55
+KPX O Agrave -55
+KPX O Aring -55
+KPX O Atilde -55
+KPX O T -40
+KPX O V -50
+KPX O W -50
+KPX O X -40
+KPX O Y -50
+KPX O Yacute -50
+KPX O Ydieresis -50
+KPX Oacute A -55
+KPX Oacute Aacute -55
+KPX Oacute Acircumflex -55
+KPX Oacute Adieresis -55
+KPX Oacute Agrave -55
+KPX Oacute Aring -55
+KPX Oacute Atilde -55
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -50
+KPX Oacute X -40
+KPX Oacute Y -50
+KPX Oacute Yacute -50
+KPX Oacute Ydieresis -50
+KPX Ocircumflex A -55
+KPX Ocircumflex Aacute -55
+KPX Ocircumflex Acircumflex -55
+KPX Ocircumflex Adieresis -55
+KPX Ocircumflex Agrave -55
+KPX Ocircumflex Aring -55
+KPX Ocircumflex Atilde -55
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -50
+KPX Ocircumflex X -40
+KPX Ocircumflex Y -50
+KPX Ocircumflex Yacute -50
+KPX Ocircumflex Ydieresis -50
+KPX Odieresis A -55
+KPX Odieresis Aacute -55
+KPX Odieresis Acircumflex -55
+KPX Odieresis Adieresis -55
+KPX Odieresis Agrave -55
+KPX Odieresis Aring -55
+KPX Odieresis Atilde -55
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -50
+KPX Odieresis X -40
+KPX Odieresis Y -50
+KPX Odieresis Yacute -50
+KPX Odieresis Ydieresis -50
+KPX Ograve A -55
+KPX Ograve Aacute -55
+KPX Ograve Acircumflex -55
+KPX Ograve Adieresis -55
+KPX Ograve Agrave -55
+KPX Ograve Aring -55
+KPX Ograve Atilde -55
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -50
+KPX Ograve X -40
+KPX Ograve Y -50
+KPX Ograve Yacute -50
+KPX Ograve Ydieresis -50
+KPX Oslash A -55
+KPX Oslash Aacute -55
+KPX Oslash Acircumflex -55
+KPX Oslash Adieresis -55
+KPX Oslash Agrave -55
+KPX Oslash Aring -55
+KPX Oslash Atilde -55
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -50
+KPX Oslash X -40
+KPX Oslash Y -50
+KPX Oslash Yacute -50
+KPX Oslash Ydieresis -50
+KPX Otilde A -55
+KPX Otilde Aacute -55
+KPX Otilde Acircumflex -55
+KPX Otilde Adieresis -55
+KPX Otilde Agrave -55
+KPX Otilde Aring -55
+KPX Otilde Atilde -55
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -50
+KPX Otilde X -40
+KPX Otilde Y -50
+KPX Otilde Yacute -50
+KPX Otilde Ydieresis -50
+KPX P A -90
+KPX P Aacute -90
+KPX P Acircumflex -90
+KPX P Adieresis -90
+KPX P Agrave -90
+KPX P Aring -90
+KPX P Atilde -90
+KPX P a -80
+KPX P aacute -80
+KPX P acircumflex -80
+KPX P adieresis -80
+KPX P agrave -80
+KPX P aring -80
+KPX P atilde -80
+KPX P comma -135
+KPX P e -80
+KPX P eacute -80
+KPX P ecircumflex -80
+KPX P edieresis -80
+KPX P egrave -80
+KPX P o -80
+KPX P oacute -80
+KPX P ocircumflex -80
+KPX P odieresis -80
+KPX P ograve -80
+KPX P oslash -80
+KPX P otilde -80
+KPX P period -135
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX R O -40
+KPX R Oacute -40
+KPX R Ocircumflex -40
+KPX R Odieresis -40
+KPX R Ograve -40
+KPX R Oslash -40
+KPX R Otilde -40
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R V -18
+KPX R W -18
+KPX R Y -18
+KPX R Yacute -18
+KPX R Ydieresis -18
+KPX T A -50
+KPX T Aacute -50
+KPX T Acircumflex -50
+KPX T Adieresis -50
+KPX T Agrave -50
+KPX T Aring -50
+KPX T Atilde -50
+KPX T O -18
+KPX T Oacute -18
+KPX T Ocircumflex -18
+KPX T Odieresis -18
+KPX T Ograve -18
+KPX T Oslash -18
+KPX T Otilde -18
+KPX T a -92
+KPX T aacute -92
+KPX T acircumflex -92
+KPX T adieresis -92
+KPX T agrave -92
+KPX T aring -92
+KPX T atilde -92
+KPX T colon -55
+KPX T comma -74
+KPX T e -92
+KPX T eacute -92
+KPX T ecircumflex -52
+KPX T edieresis -52
+KPX T egrave -52
+KPX T hyphen -74
+KPX T i -55
+KPX T iacute -55
+KPX T o -92
+KPX T oacute -92
+KPX T ocircumflex -92
+KPX T odieresis -92
+KPX T ograve -92
+KPX T oslash -92
+KPX T otilde -92
+KPX T period -74
+KPX T r -55
+KPX T semicolon -65
+KPX T u -55
+KPX T uacute -55
+KPX T ucircumflex -55
+KPX T udieresis -55
+KPX T ugrave -55
+KPX T w -74
+KPX T y -74
+KPX T yacute -74
+KPX T ydieresis -34
+KPX U A -40
+KPX U Aacute -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX U comma -25
+KPX U period -25
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Uacute comma -25
+KPX Uacute period -25
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Ucircumflex comma -25
+KPX Ucircumflex period -25
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Udieresis comma -25
+KPX Udieresis period -25
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX Ugrave comma -25
+KPX Ugrave period -25
+KPX V A -60
+KPX V Aacute -60
+KPX V Acircumflex -60
+KPX V Adieresis -60
+KPX V Agrave -60
+KPX V Aring -60
+KPX V Atilde -60
+KPX V O -30
+KPX V Oacute -30
+KPX V Ocircumflex -30
+KPX V Odieresis -30
+KPX V Ograve -30
+KPX V Oslash -30
+KPX V Otilde -30
+KPX V a -111
+KPX V aacute -111
+KPX V acircumflex -111
+KPX V adieresis -111
+KPX V agrave -111
+KPX V aring -111
+KPX V atilde -111
+KPX V colon -65
+KPX V comma -129
+KPX V e -111
+KPX V eacute -111
+KPX V ecircumflex -111
+KPX V edieresis -71
+KPX V egrave -71
+KPX V hyphen -55
+KPX V i -74
+KPX V iacute -74
+KPX V icircumflex -34
+KPX V idieresis -34
+KPX V igrave -34
+KPX V o -111
+KPX V oacute -111
+KPX V ocircumflex -111
+KPX V odieresis -111
+KPX V ograve -111
+KPX V oslash -111
+KPX V otilde -111
+KPX V period -129
+KPX V semicolon -74
+KPX V u -74
+KPX V uacute -74
+KPX V ucircumflex -74
+KPX V udieresis -74
+KPX V ugrave -74
+KPX W A -60
+KPX W Aacute -60
+KPX W Acircumflex -60
+KPX W Adieresis -60
+KPX W Agrave -60
+KPX W Aring -60
+KPX W Atilde -60
+KPX W O -25
+KPX W Oacute -25
+KPX W Ocircumflex -25
+KPX W Odieresis -25
+KPX W Ograve -25
+KPX W Oslash -25
+KPX W Otilde -25
+KPX W a -92
+KPX W aacute -92
+KPX W acircumflex -92
+KPX W adieresis -92
+KPX W agrave -92
+KPX W aring -92
+KPX W atilde -92
+KPX W colon -65
+KPX W comma -92
+KPX W e -92
+KPX W eacute -92
+KPX W ecircumflex -92
+KPX W edieresis -52
+KPX W egrave -52
+KPX W hyphen -37
+KPX W i -55
+KPX W iacute -55
+KPX W o -92
+KPX W oacute -92
+KPX W ocircumflex -92
+KPX W odieresis -92
+KPX W ograve -92
+KPX W oslash -92
+KPX W otilde -92
+KPX W period -92
+KPX W semicolon -65
+KPX W u -55
+KPX W uacute -55
+KPX W ucircumflex -55
+KPX W udieresis -55
+KPX W ugrave -55
+KPX W y -70
+KPX W yacute -70
+KPX W ydieresis -70
+KPX Y A -50
+KPX Y Aacute -50
+KPX Y Acircumflex -50
+KPX Y Adieresis -50
+KPX Y Agrave -50
+KPX Y Aring -50
+KPX Y Atilde -50
+KPX Y O -15
+KPX Y Oacute -15
+KPX Y Ocircumflex -15
+KPX Y Odieresis -15
+KPX Y Ograve -15
+KPX Y Oslash -15
+KPX Y Otilde -15
+KPX Y a -92
+KPX Y aacute -92
+KPX Y acircumflex -92
+KPX Y adieresis -92
+KPX Y agrave -92
+KPX Y aring -92
+KPX Y atilde -92
+KPX Y colon -65
+KPX Y comma -92
+KPX Y e -92
+KPX Y eacute -92
+KPX Y ecircumflex -92
+KPX Y edieresis -52
+KPX Y egrave -52
+KPX Y hyphen -74
+KPX Y i -74
+KPX Y iacute -74
+KPX Y icircumflex -34
+KPX Y idieresis -34
+KPX Y igrave -34
+KPX Y o -92
+KPX Y oacute -92
+KPX Y ocircumflex -92
+KPX Y odieresis -92
+KPX Y ograve -92
+KPX Y oslash -92
+KPX Y otilde -92
+KPX Y period -92
+KPX Y semicolon -65
+KPX Y u -92
+KPX Y uacute -92
+KPX Y ucircumflex -92
+KPX Y udieresis -92
+KPX Y ugrave -92
+KPX Yacute A -50
+KPX Yacute Aacute -50
+KPX Yacute Acircumflex -50
+KPX Yacute Adieresis -50
+KPX Yacute Agrave -50
+KPX Yacute Aring -50
+KPX Yacute Atilde -50
+KPX Yacute O -15
+KPX Yacute Oacute -15
+KPX Yacute Ocircumflex -15
+KPX Yacute Odieresis -15
+KPX Yacute Ograve -15
+KPX Yacute Oslash -15
+KPX Yacute Otilde -15
+KPX Yacute a -92
+KPX Yacute aacute -92
+KPX Yacute acircumflex -92
+KPX Yacute adieresis -92
+KPX Yacute agrave -92
+KPX Yacute aring -92
+KPX Yacute atilde -92
+KPX Yacute colon -65
+KPX Yacute comma -92
+KPX Yacute e -92
+KPX Yacute eacute -92
+KPX Yacute ecircumflex -92
+KPX Yacute edieresis -52
+KPX Yacute egrave -52
+KPX Yacute hyphen -74
+KPX Yacute i -74
+KPX Yacute iacute -74
+KPX Yacute icircumflex -34
+KPX Yacute idieresis -34
+KPX Yacute igrave -34
+KPX Yacute o -92
+KPX Yacute oacute -92
+KPX Yacute ocircumflex -92
+KPX Yacute odieresis -92
+KPX Yacute ograve -92
+KPX Yacute oslash -92
+KPX Yacute otilde -92
+KPX Yacute period -92
+KPX Yacute semicolon -65
+KPX Yacute u -92
+KPX Yacute uacute -92
+KPX Yacute ucircumflex -92
+KPX Yacute udieresis -92
+KPX Yacute ugrave -92
+KPX Ydieresis A -50
+KPX Ydieresis Aacute -50
+KPX Ydieresis Acircumflex -50
+KPX Ydieresis Adieresis -50
+KPX Ydieresis Agrave -50
+KPX Ydieresis Aring -50
+KPX Ydieresis Atilde -50
+KPX Ydieresis O -15
+KPX Ydieresis Oacute -15
+KPX Ydieresis Ocircumflex -15
+KPX Ydieresis Odieresis -15
+KPX Ydieresis Ograve -15
+KPX Ydieresis Oslash -15
+KPX Ydieresis Otilde -15
+KPX Ydieresis a -92
+KPX Ydieresis aacute -92
+KPX Ydieresis acircumflex -92
+KPX Ydieresis adieresis -92
+KPX Ydieresis agrave -92
+KPX Ydieresis aring -92
+KPX Ydieresis atilde -92
+KPX Ydieresis colon -65
+KPX Ydieresis comma -92
+KPX Ydieresis e -92
+KPX Ydieresis eacute -92
+KPX Ydieresis ecircumflex -92
+KPX Ydieresis edieresis -52
+KPX Ydieresis egrave -52
+KPX Ydieresis hyphen -74
+KPX Ydieresis i -74
+KPX Ydieresis iacute -74
+KPX Ydieresis icircumflex -34
+KPX Ydieresis idieresis -34
+KPX Ydieresis igrave -34
+KPX Ydieresis o -92
+KPX Ydieresis oacute -92
+KPX Ydieresis ocircumflex -92
+KPX Ydieresis odieresis -92
+KPX Ydieresis ograve -92
+KPX Ydieresis oslash -92
+KPX Ydieresis otilde -92
+KPX Ydieresis period -92
+KPX Ydieresis semicolon -65
+KPX Ydieresis u -92
+KPX Ydieresis uacute -92
+KPX Ydieresis ucircumflex -92
+KPX Ydieresis udieresis -92
+KPX Ydieresis ugrave -92
+KPX a g -10
+KPX aacute g -10
+KPX acircumflex g -10
+KPX adieresis g -10
+KPX agrave g -10
+KPX aring g -10
+KPX atilde g -10
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX c h -15
+KPX c k -20
+KPX ccedilla h -15
+KPX ccedilla k -20
+KPX comma quotedblright -140
+KPX comma quoteright -140
+KPX e comma -10
+KPX e g -40
+KPX e period -15
+KPX e v -15
+KPX e w -15
+KPX e x -20
+KPX e y -30
+KPX e yacute -30
+KPX e ydieresis -30
+KPX eacute comma -10
+KPX eacute g -40
+KPX eacute period -15
+KPX eacute v -15
+KPX eacute w -15
+KPX eacute x -20
+KPX eacute y -30
+KPX eacute yacute -30
+KPX eacute ydieresis -30
+KPX ecircumflex comma -10
+KPX ecircumflex g -40
+KPX ecircumflex period -15
+KPX ecircumflex v -15
+KPX ecircumflex w -15
+KPX ecircumflex x -20
+KPX ecircumflex y -30
+KPX ecircumflex yacute -30
+KPX ecircumflex ydieresis -30
+KPX edieresis comma -10
+KPX edieresis g -40
+KPX edieresis period -15
+KPX edieresis v -15
+KPX edieresis w -15
+KPX edieresis x -20
+KPX edieresis y -30
+KPX edieresis yacute -30
+KPX edieresis ydieresis -30
+KPX egrave comma -10
+KPX egrave g -40
+KPX egrave period -15
+KPX egrave v -15
+KPX egrave w -15
+KPX egrave x -20
+KPX egrave y -30
+KPX egrave yacute -30
+KPX egrave ydieresis -30
+KPX f comma -10
+KPX f dotlessi -60
+KPX f f -18
+KPX f i -20
+KPX f period -15
+KPX f quoteright 92
+KPX g comma -10
+KPX g e -10
+KPX g eacute -10
+KPX g ecircumflex -10
+KPX g edieresis -10
+KPX g egrave -10
+KPX g g -10
+KPX g period -15
+KPX k e -10
+KPX k eacute -10
+KPX k ecircumflex -10
+KPX k edieresis -10
+KPX k egrave -10
+KPX k o -10
+KPX k oacute -10
+KPX k ocircumflex -10
+KPX k odieresis -10
+KPX k ograve -10
+KPX k oslash -10
+KPX k otilde -10
+KPX k y -10
+KPX k yacute -10
+KPX k ydieresis -10
+KPX n v -40
+KPX ntilde v -40
+KPX o g -10
+KPX o v -10
+KPX oacute g -10
+KPX oacute v -10
+KPX ocircumflex g -10
+KPX ocircumflex v -10
+KPX odieresis g -10
+KPX odieresis v -10
+KPX ograve g -10
+KPX ograve v -10
+KPX oslash g -10
+KPX oslash v -10
+KPX otilde g -10
+KPX otilde v -10
+KPX period quotedblright -140
+KPX period quoteright -140
+KPX quoteleft quoteleft -111
+KPX quoteright d -25
+KPX quoteright quoteright -111
+KPX quoteright r -25
+KPX quoteright s -40
+KPX quoteright scaron -40
+KPX quoteright space -111
+KPX quoteright t -30
+KPX quoteright v -10
+KPX r a -15
+KPX r aacute -15
+KPX r acircumflex -15
+KPX r adieresis -15
+KPX r agrave -15
+KPX r aring -15
+KPX r atilde -15
+KPX r c -37
+KPX r ccedilla -37
+KPX r comma -111
+KPX r d -37
+KPX r e -37
+KPX r eacute -37
+KPX r ecircumflex -37
+KPX r edieresis -37
+KPX r egrave -37
+KPX r g -37
+KPX r hyphen -20
+KPX r o -45
+KPX r oacute -45
+KPX r ocircumflex -45
+KPX r odieresis -45
+KPX r ograve -45
+KPX r oslash -45
+KPX r otilde -45
+KPX r period -111
+KPX r q -37
+KPX r s -10
+KPX r scaron -10
+KPX space A -18
+KPX space Aacute -18
+KPX space Acircumflex -18
+KPX space Adieresis -18
+KPX space Agrave -18
+KPX space Aring -18
+KPX space Atilde -18
+KPX space T -18
+KPX space V -35
+KPX space W -40
+KPX space Y -75
+KPX space Yacute -75
+KPX space Ydieresis -75
+KPX v comma -74
+KPX v period -74
+KPX w comma -74
+KPX w period -74
+KPX y comma -55
+KPX y period -55
+KPX yacute comma -55
+KPX yacute period -55
+KPX ydieresis comma -55
+KPX ydieresis period -55
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/MustRead.html b/troff/troff.d/font/devps/MustRead.html
new file mode 100644
index 0000000000000..6dada97b1f761
--- /dev/null
+++ b/troff/troff.d/font/devps/MustRead.html
@@ -0,0 +1,19 @@
+<html>
+
+ <head>
+ <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
+ <meta name="generator" content="Adobe GoLive 4">
+ <title>Core 14 AFM Files - ReadMe</title>
+ </head>
+
+ <body bgcolor="white">
+ <font color="white">or</font>
+ <table border="0" cellpadding="0" cellspacing="2">
+ <tr>
+ <td width="40"></td>
+ <td width="300">This file and the 14 PostScript(R) AFM files it accompanies may be used, copied, and distributed for any purpose and without charge, with or without modification, provided that all copyright notices are retained; that the AFM files are not distributed without this file; that all modifications to this file or any of the AFM files are prominently noted in the modified file(s); and that this paragraph is not modified. Adobe Systems has no responsibility or obligation to support the use of the AFM files. <font color="white">Col</font></td>
+ </tr>
+ </table>
+ </body>
+
+</html>
diff --git a/troff/troff.d/font/devps/R b/troff/troff.d/font/devps/R
new file mode 100644
index 0000000000000..fc0199baa5037
--- /dev/null
+++ b/troff/troff.d/font/devps/R
@@ -0,0 +1 @@
+name R.afm
diff --git a/troff/troff.d/font/devps/R.afm b/troff/troff.d/font/devps/R.afm
new file mode 100644
index 0000000000000..69bf3ea03f43d
--- /dev/null
+++ b/troff/troff.d/font/devps/R.afm
@@ -0,0 +1,1271 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 12:49:17 1997
+Comment UniqueID 43068
+Comment VMusage 43909 54934
+FontName Times-Roman
+FullName Times Roman
+FamilyName Times
+Weight Roman
+ItalicAngle 0
+IsFixedPitch false
+FontBBox -168 -218 1000 898
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 662
+XHeight 450
+Ascender 683
+Descender -217
+StdHW 28
+StdVW 84
+StartCharMetrics 229
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 130 -9 238 676 ;
+C 34 ; WX 408 ; N quotedbl ; B 77 431 331 676 ;
+C 35 ; WX 500 ; N numbersign ; B 5 0 496 662 ;
+C 36 ; WX 500 ; N dollar ; B 44 -87 457 727 ;
+C 37 ; WX 833 ; N percent ; B 61 -13 772 676 ;
+C 38 ; WX 778 ; N ampersand ; B 42 -13 750 676 ;
+C 39 ; WX 333 ; N quoteright ; B 79 433 218 676 ;
+C 40 ; WX 333 ; N parenleft ; B 48 -177 304 676 ;
+C 41 ; WX 333 ; N parenright ; B 29 -177 285 676 ;
+C 42 ; WX 500 ; N asterisk ; B 69 265 432 676 ;
+C 43 ; WX 564 ; N plus ; B 30 0 534 506 ;
+C 44 ; WX 250 ; N comma ; B 56 -141 195 102 ;
+C 45 ; WX 333 ; N hyphen ; B 39 194 285 257 ;
+C 46 ; WX 250 ; N period ; B 70 -11 181 100 ;
+C 47 ; WX 278 ; N slash ; B -9 -14 287 676 ;
+C 48 ; WX 500 ; N zero ; B 24 -14 476 676 ;
+C 49 ; WX 500 ; N one ; B 111 0 394 676 ;
+C 50 ; WX 500 ; N two ; B 30 0 475 676 ;
+C 51 ; WX 500 ; N three ; B 43 -14 431 676 ;
+C 52 ; WX 500 ; N four ; B 12 0 472 676 ;
+C 53 ; WX 500 ; N five ; B 32 -14 438 688 ;
+C 54 ; WX 500 ; N six ; B 34 -14 468 684 ;
+C 55 ; WX 500 ; N seven ; B 20 -8 449 662 ;
+C 56 ; WX 500 ; N eight ; B 56 -14 445 676 ;
+C 57 ; WX 500 ; N nine ; B 30 -22 459 676 ;
+C 58 ; WX 278 ; N colon ; B 81 -11 192 459 ;
+C 59 ; WX 278 ; N semicolon ; B 80 -141 219 459 ;
+C 60 ; WX 564 ; N less ; B 28 -8 536 514 ;
+C 61 ; WX 564 ; N equal ; B 30 120 534 386 ;
+C 62 ; WX 564 ; N greater ; B 28 -8 536 514 ;
+C 63 ; WX 444 ; N question ; B 68 -8 414 676 ;
+C 64 ; WX 921 ; N at ; B 116 -14 809 676 ;
+C 65 ; WX 722 ; N A ; B 15 0 706 674 ;
+C 66 ; WX 667 ; N B ; B 17 0 593 662 ;
+C 67 ; WX 667 ; N C ; B 28 -14 633 676 ;
+C 68 ; WX 722 ; N D ; B 16 0 685 662 ;
+C 69 ; WX 611 ; N E ; B 12 0 597 662 ;
+C 70 ; WX 556 ; N F ; B 12 0 546 662 ;
+C 71 ; WX 722 ; N G ; B 32 -14 709 676 ;
+C 72 ; WX 722 ; N H ; B 19 0 702 662 ;
+C 73 ; WX 333 ; N I ; B 18 0 315 662 ;
+C 74 ; WX 389 ; N J ; B 10 -14 370 662 ;
+C 75 ; WX 722 ; N K ; B 34 0 723 662 ;
+C 76 ; WX 611 ; N L ; B 12 0 598 662 ;
+C 77 ; WX 889 ; N M ; B 12 0 863 662 ;
+C 78 ; WX 722 ; N N ; B 12 -11 707 662 ;
+C 79 ; WX 722 ; N O ; B 34 -14 688 676 ;
+C 80 ; WX 556 ; N P ; B 16 0 542 662 ;
+C 81 ; WX 722 ; N Q ; B 34 -178 701 676 ;
+C 82 ; WX 667 ; N R ; B 17 0 659 662 ;
+C 83 ; WX 556 ; N S ; B 42 -14 491 676 ;
+C 84 ; WX 611 ; N T ; B 17 0 593 662 ;
+C 85 ; WX 722 ; N U ; B 14 -14 705 662 ;
+C 86 ; WX 722 ; N V ; B 16 -11 697 662 ;
+C 87 ; WX 944 ; N W ; B 5 -11 932 662 ;
+C 88 ; WX 722 ; N X ; B 10 0 704 662 ;
+C 89 ; WX 722 ; N Y ; B 22 0 703 662 ;
+C 90 ; WX 611 ; N Z ; B 9 0 597 662 ;
+C 91 ; WX 333 ; N bracketleft ; B 88 -156 299 662 ;
+C 92 ; WX 278 ; N backslash ; B -9 -14 287 676 ;
+C 93 ; WX 333 ; N bracketright ; B 34 -156 245 662 ;
+C 94 ; WX 469 ; N asciicircum ; B 24 297 446 662 ;
+C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ;
+C 96 ; WX 333 ; N quoteleft ; B 115 433 254 676 ;
+C 97 ; WX 444 ; N a ; B 37 -10 442 460 ;
+C 98 ; WX 500 ; N b ; B 3 -10 468 683 ;
+C 99 ; WX 444 ; N c ; B 25 -10 412 460 ;
+C 100 ; WX 500 ; N d ; B 27 -10 491 683 ;
+C 101 ; WX 444 ; N e ; B 25 -10 424 460 ;
+C 102 ; WX 333 ; N f ; B 20 0 383 683 ; L i fi ; L l fl ;
+C 103 ; WX 500 ; N g ; B 28 -218 470 460 ;
+C 104 ; WX 500 ; N h ; B 9 0 487 683 ;
+C 105 ; WX 278 ; N i ; B 16 0 253 683 ;
+C 106 ; WX 278 ; N j ; B -70 -218 194 683 ;
+C 107 ; WX 500 ; N k ; B 7 0 505 683 ;
+C 108 ; WX 278 ; N l ; B 19 0 257 683 ;
+C 109 ; WX 778 ; N m ; B 16 0 775 460 ;
+C 110 ; WX 500 ; N n ; B 16 0 485 460 ;
+C 111 ; WX 500 ; N o ; B 29 -10 470 460 ;
+C 112 ; WX 500 ; N p ; B 5 -217 470 460 ;
+C 113 ; WX 500 ; N q ; B 24 -217 488 460 ;
+C 114 ; WX 333 ; N r ; B 5 0 335 460 ;
+C 115 ; WX 389 ; N s ; B 51 -10 348 460 ;
+C 116 ; WX 278 ; N t ; B 13 -10 279 579 ;
+C 117 ; WX 500 ; N u ; B 9 -10 479 450 ;
+C 118 ; WX 500 ; N v ; B 19 -14 477 450 ;
+C 119 ; WX 722 ; N w ; B 21 -14 694 450 ;
+C 120 ; WX 500 ; N x ; B 17 0 479 450 ;
+C 121 ; WX 500 ; N y ; B 14 -218 475 450 ;
+C 122 ; WX 444 ; N z ; B 27 0 418 450 ;
+C 123 ; WX 480 ; N braceleft ; B 100 -181 350 680 ;
+C 124 ; WX 200 ; N bar ; B 67 -218 133 782 ;
+C 125 ; WX 480 ; N braceright ; B 130 -181 380 680 ;
+C 126 ; WX 541 ; N asciitilde ; B 40 183 502 323 ;
+C 161 ; WX 333 ; N exclamdown ; B 97 -218 205 467 ;
+C 162 ; WX 500 ; N cent ; B 53 -138 448 579 ;
+C 163 ; WX 500 ; N sterling ; B 12 -8 490 676 ;
+C 164 ; WX 167 ; N fraction ; B -168 -14 331 676 ;
+C 165 ; WX 500 ; N yen ; B -53 0 512 662 ;
+C 166 ; WX 500 ; N florin ; B 7 -189 490 676 ;
+C 167 ; WX 500 ; N section ; B 70 -148 426 676 ;
+C 168 ; WX 500 ; N currency ; B -22 58 522 602 ;
+C 169 ; WX 180 ; N quotesingle ; B 48 431 133 676 ;
+C 170 ; WX 444 ; N quotedblleft ; B 43 433 414 676 ;
+C 171 ; WX 500 ; N guillemotleft ; B 42 33 456 416 ;
+C 172 ; WX 333 ; N guilsinglleft ; B 63 33 285 416 ;
+C 173 ; WX 333 ; N guilsinglright ; B 48 33 270 416 ;
+C 174 ; WX 556 ; N fi ; B 31 0 521 683 ;
+C 175 ; WX 556 ; N fl ; B 32 0 521 683 ;
+C 177 ; WX 500 ; N endash ; B 0 201 500 250 ;
+C 178 ; WX 500 ; N dagger ; B 59 -149 442 676 ;
+C 179 ; WX 500 ; N daggerdbl ; B 58 -153 442 676 ;
+C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ;
+C 182 ; WX 453 ; N paragraph ; B -22 -154 450 662 ;
+C 183 ; WX 350 ; N bullet ; B 40 196 310 466 ;
+C 184 ; WX 333 ; N quotesinglbase ; B 79 -141 218 102 ;
+C 185 ; WX 444 ; N quotedblbase ; B 45 -141 416 102 ;
+C 186 ; WX 444 ; N quotedblright ; B 30 433 401 676 ;
+C 187 ; WX 500 ; N guillemotright ; B 44 33 458 416 ;
+C 188 ; WX 1000 ; N ellipsis ; B 111 -11 888 100 ;
+C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 706 ;
+C 191 ; WX 444 ; N questiondown ; B 30 -218 376 466 ;
+C 193 ; WX 333 ; N grave ; B 19 507 242 678 ;
+C 194 ; WX 333 ; N acute ; B 93 507 317 678 ;
+C 195 ; WX 333 ; N circumflex ; B 11 507 322 674 ;
+C 196 ; WX 333 ; N tilde ; B 1 532 331 638 ;
+C 197 ; WX 333 ; N macron ; B 11 547 322 601 ;
+C 198 ; WX 333 ; N breve ; B 26 507 307 664 ;
+C 199 ; WX 333 ; N dotaccent ; B 118 581 216 681 ;
+C 200 ; WX 333 ; N dieresis ; B 18 581 315 681 ;
+C 202 ; WX 333 ; N ring ; B 67 512 266 711 ;
+C 203 ; WX 333 ; N cedilla ; B 52 -215 261 0 ;
+C 205 ; WX 333 ; N hungarumlaut ; B -3 507 377 678 ;
+C 206 ; WX 333 ; N ogonek ; B 62 -165 243 0 ;
+C 207 ; WX 333 ; N caron ; B 11 507 322 674 ;
+C 208 ; WX 1000 ; N emdash ; B 0 201 1000 250 ;
+C 225 ; WX 889 ; N AE ; B 0 0 863 662 ;
+C 227 ; WX 276 ; N ordfeminine ; B 4 394 270 676 ;
+C 232 ; WX 611 ; N Lslash ; B 12 0 598 662 ;
+C 233 ; WX 722 ; N Oslash ; B 34 -80 688 734 ;
+C 234 ; WX 889 ; N OE ; B 30 -6 885 668 ;
+C 235 ; WX 310 ; N ordmasculine ; B 6 394 304 676 ;
+C 241 ; WX 667 ; N ae ; B 38 -10 632 460 ;
+C 245 ; WX 278 ; N dotlessi ; B 16 0 253 460 ;
+C 248 ; WX 278 ; N lslash ; B 19 0 259 683 ;
+C 249 ; WX 500 ; N oslash ; B 29 -112 470 551 ;
+C 250 ; WX 722 ; N oe ; B 30 -10 690 460 ;
+C 251 ; WX 500 ; N germandbls ; B 12 -9 468 683 ;
+C -1 ; WX 333 ; N Idieresis ; B 18 0 315 835 ;
+C -1 ; WX 444 ; N eacute ; B 25 -10 424 678 ;
+C -1 ; WX 722 ; N Ydieresis ; B 22 0 703 835 ;
+C -1 ; WX 564 ; N divide ; B 30 -10 534 516 ;
+C -1 ; WX 722 ; N Yacute ; B 22 0 703 890 ;
+C -1 ; WX 722 ; N Acircumflex ; B 15 0 706 886 ;
+C -1 ; WX 444 ; N aacute ; B 37 -10 442 678 ;
+C -1 ; WX 722 ; N Ucircumflex ; B 14 -14 705 886 ;
+C -1 ; WX 500 ; N yacute ; B 14 -218 475 678 ;
+C -1 ; WX 444 ; N ecircumflex ; B 25 -10 424 674 ;
+C -1 ; WX 722 ; N Udieresis ; B 14 -14 705 835 ;
+C -1 ; WX 722 ; N Uacute ; B 14 -14 705 890 ;
+C -1 ; WX 611 ; N Edieresis ; B 12 0 597 835 ;
+C -1 ; WX 760 ; N copyright ; B 38 -14 722 676 ;
+C -1 ; WX 444 ; N aring ; B 37 -10 442 711 ;
+C -1 ; WX 444 ; N agrave ; B 37 -10 442 678 ;
+C -1 ; WX 444 ; N atilde ; B 37 -10 442 638 ;
+C -1 ; WX 389 ; N scaron ; B 39 -10 350 674 ;
+C -1 ; WX 278 ; N iacute ; B 16 0 290 678 ;
+C -1 ; WX 500 ; N ucircumflex ; B 9 -10 479 674 ;
+C -1 ; WX 444 ; N acircumflex ; B 37 -10 442 674 ;
+C -1 ; WX 444 ; N ccedilla ; B 25 -215 412 460 ;
+C -1 ; WX 556 ; N Thorn ; B 16 0 542 662 ;
+C -1 ; WX 300 ; N threesuperior ; B 15 262 291 676 ;
+C -1 ; WX 722 ; N Ograve ; B 34 -14 688 890 ;
+C -1 ; WX 722 ; N Agrave ; B 15 0 706 890 ;
+C -1 ; WX 564 ; N multiply ; B 38 8 527 497 ;
+C -1 ; WX 500 ; N uacute ; B 9 -10 479 678 ;
+C -1 ; WX 500 ; N ydieresis ; B 14 -218 475 623 ;
+C -1 ; WX 278 ; N icircumflex ; B -16 0 295 674 ;
+C -1 ; WX 611 ; N Ecircumflex ; B 12 0 597 886 ;
+C -1 ; WX 444 ; N adieresis ; B 37 -10 442 623 ;
+C -1 ; WX 444 ; N edieresis ; B 25 -10 424 623 ;
+C -1 ; WX 333 ; N Iacute ; B 18 0 317 890 ;
+C -1 ; WX 564 ; N plusminus ; B 30 0 534 506 ;
+C -1 ; WX 200 ; N brokenbar ; B 67 -143 133 707 ;
+C -1 ; WX 760 ; N registered ; B 38 -14 722 676 ;
+C -1 ; WX 611 ; N Egrave ; B 12 0 597 890 ;
+C -1 ; WX 611 ; N Zcaron ; B 9 0 597 886 ;
+C -1 ; WX 722 ; N Eth ; B 16 0 685 662 ;
+C -1 ; WX 667 ; N Ccedilla ; B 28 -215 633 676 ;
+C -1 ; WX 722 ; N Aacute ; B 15 0 706 890 ;
+C -1 ; WX 722 ; N Adieresis ; B 15 0 706 835 ;
+C -1 ; WX 444 ; N egrave ; B 25 -10 424 678 ;
+C -1 ; WX 722 ; N Oacute ; B 34 -14 688 890 ;
+C -1 ; WX 500 ; N oacute ; B 29 -10 470 678 ;
+C -1 ; WX 278 ; N idieresis ; B -9 0 288 623 ;
+C -1 ; WX 722 ; N Ocircumflex ; B 34 -14 688 886 ;
+C -1 ; WX 722 ; N Ugrave ; B 14 -14 705 890 ;
+C -1 ; WX 500 ; N thorn ; B 5 -217 470 683 ;
+C -1 ; WX 300 ; N twosuperior ; B 1 270 296 676 ;
+C -1 ; WX 722 ; N Odieresis ; B 34 -14 688 835 ;
+C -1 ; WX 500 ; N mu ; B 36 -218 512 450 ;
+C -1 ; WX 278 ; N igrave ; B -8 0 253 678 ;
+C -1 ; WX 750 ; N threequarters ; B 15 -14 718 676 ;
+C -1 ; WX 980 ; N trademark ; B 30 256 957 662 ;
+C -1 ; WX 333 ; N Igrave ; B 18 0 315 890 ;
+C -1 ; WX 750 ; N onehalf ; B 31 -14 746 676 ;
+C -1 ; WX 500 ; N ocircumflex ; B 29 -10 470 674 ;
+C -1 ; WX 500 ; N ntilde ; B 16 0 485 638 ;
+C -1 ; WX 611 ; N Eacute ; B 12 0 597 890 ;
+C -1 ; WX 750 ; N onequarter ; B 37 -14 718 676 ;
+C -1 ; WX 556 ; N Scaron ; B 42 -14 491 886 ;
+C -1 ; WX 400 ; N degree ; B 57 390 343 676 ;
+C -1 ; WX 500 ; N ograve ; B 29 -10 470 678 ;
+C -1 ; WX 500 ; N ugrave ; B 9 -10 479 678 ;
+C -1 ; WX 722 ; N Ntilde ; B 12 -11 707 850 ;
+C -1 ; WX 500 ; N otilde ; B 29 -10 470 638 ;
+C -1 ; WX 722 ; N Atilde ; B 15 0 706 850 ;
+C -1 ; WX 722 ; N Aring ; B 15 0 706 898 ;
+C -1 ; WX 722 ; N Otilde ; B 34 -14 688 850 ;
+C -1 ; WX 564 ; N minus ; B 30 220 534 286 ;
+C -1 ; WX 333 ; N Icircumflex ; B 11 0 322 886 ;
+C -1 ; WX 564 ; N logicalnot ; B 30 108 534 386 ;
+C -1 ; WX 500 ; N odieresis ; B 29 -10 470 623 ;
+C -1 ; WX 500 ; N udieresis ; B 9 -10 479 623 ;
+C -1 ; WX 500 ; N eth ; B 29 -10 471 686 ;
+C -1 ; WX 444 ; N zcaron ; B 27 0 418 674 ;
+C -1 ; WX 300 ; N onesuperior ; B 57 270 248 676 ;
+C -1 ; WX 500 ; N Euro ; B 0 0 0 0 ;
+EndCharMetrics
+StartKernData
+StartKernPairs 1011
+KPX A C -40
+KPX A Ccedilla -40
+KPX A G -40
+KPX A O -55
+KPX A Oacute -55
+KPX A Ocircumflex -55
+KPX A Odieresis -55
+KPX A Ograve -55
+KPX A Oslash -55
+KPX A Otilde -55
+KPX A Q -55
+KPX A T -111
+KPX A U -55
+KPX A Uacute -55
+KPX A Ucircumflex -55
+KPX A Udieresis -55
+KPX A Ugrave -55
+KPX A V -135
+KPX A W -90
+KPX A Y -105
+KPX A Yacute -105
+KPX A Ydieresis -105
+KPX A quoteright -111
+KPX A v -74
+KPX A w -92
+KPX A y -92
+KPX A yacute -92
+KPX A ydieresis -92
+KPX Aacute C -40
+KPX Aacute Ccedilla -40
+KPX Aacute G -40
+KPX Aacute O -55
+KPX Aacute Oacute -55
+KPX Aacute Ocircumflex -55
+KPX Aacute Odieresis -55
+KPX Aacute Ograve -55
+KPX Aacute Oslash -55
+KPX Aacute Otilde -55
+KPX Aacute Q -55
+KPX Aacute T -111
+KPX Aacute U -55
+KPX Aacute Uacute -55
+KPX Aacute Ucircumflex -55
+KPX Aacute Udieresis -55
+KPX Aacute Ugrave -55
+KPX Aacute V -135
+KPX Aacute W -90
+KPX Aacute Y -105
+KPX Aacute Yacute -105
+KPX Aacute Ydieresis -105
+KPX Aacute quoteright -111
+KPX Aacute v -74
+KPX Aacute w -92
+KPX Aacute y -92
+KPX Aacute yacute -92
+KPX Aacute ydieresis -92
+KPX Acircumflex C -40
+KPX Acircumflex Ccedilla -40
+KPX Acircumflex G -40
+KPX Acircumflex O -55
+KPX Acircumflex Oacute -55
+KPX Acircumflex Ocircumflex -55
+KPX Acircumflex Odieresis -55
+KPX Acircumflex Ograve -55
+KPX Acircumflex Oslash -55
+KPX Acircumflex Otilde -55
+KPX Acircumflex Q -55
+KPX Acircumflex T -111
+KPX Acircumflex U -55
+KPX Acircumflex Uacute -55
+KPX Acircumflex Ucircumflex -55
+KPX Acircumflex Udieresis -55
+KPX Acircumflex Ugrave -55
+KPX Acircumflex V -135
+KPX Acircumflex W -90
+KPX Acircumflex Y -105
+KPX Acircumflex Yacute -105
+KPX Acircumflex Ydieresis -105
+KPX Acircumflex quoteright -111
+KPX Acircumflex v -74
+KPX Acircumflex w -92
+KPX Acircumflex y -92
+KPX Acircumflex yacute -92
+KPX Acircumflex ydieresis -92
+KPX Adieresis C -40
+KPX Adieresis Ccedilla -40
+KPX Adieresis G -40
+KPX Adieresis O -55
+KPX Adieresis Oacute -55
+KPX Adieresis Ocircumflex -55
+KPX Adieresis Odieresis -55
+KPX Adieresis Ograve -55
+KPX Adieresis Oslash -55
+KPX Adieresis Otilde -55
+KPX Adieresis Q -55
+KPX Adieresis T -111
+KPX Adieresis U -55
+KPX Adieresis Uacute -55
+KPX Adieresis Ucircumflex -55
+KPX Adieresis Udieresis -55
+KPX Adieresis Ugrave -55
+KPX Adieresis V -135
+KPX Adieresis W -90
+KPX Adieresis Y -105
+KPX Adieresis Yacute -105
+KPX Adieresis Ydieresis -105
+KPX Adieresis quoteright -111
+KPX Adieresis v -74
+KPX Adieresis w -92
+KPX Adieresis y -92
+KPX Adieresis yacute -92
+KPX Adieresis ydieresis -92
+KPX Agrave C -40
+KPX Agrave Ccedilla -40
+KPX Agrave G -40
+KPX Agrave O -55
+KPX Agrave Oacute -55
+KPX Agrave Ocircumflex -55
+KPX Agrave Odieresis -55
+KPX Agrave Ograve -55
+KPX Agrave Oslash -55
+KPX Agrave Otilde -55
+KPX Agrave Q -55
+KPX Agrave T -111
+KPX Agrave U -55
+KPX Agrave Uacute -55
+KPX Agrave Ucircumflex -55
+KPX Agrave Udieresis -55
+KPX Agrave Ugrave -55
+KPX Agrave V -135
+KPX Agrave W -90
+KPX Agrave Y -105
+KPX Agrave Yacute -105
+KPX Agrave Ydieresis -105
+KPX Agrave quoteright -111
+KPX Agrave v -74
+KPX Agrave w -92
+KPX Agrave y -92
+KPX Agrave yacute -92
+KPX Agrave ydieresis -92
+KPX Aring C -40
+KPX Aring Ccedilla -40
+KPX Aring G -40
+KPX Aring O -55
+KPX Aring Oacute -55
+KPX Aring Ocircumflex -55
+KPX Aring Odieresis -55
+KPX Aring Ograve -55
+KPX Aring Oslash -55
+KPX Aring Otilde -55
+KPX Aring Q -55
+KPX Aring T -111
+KPX Aring U -55
+KPX Aring Uacute -55
+KPX Aring Ucircumflex -55
+KPX Aring Udieresis -55
+KPX Aring Ugrave -55
+KPX Aring V -135
+KPX Aring W -90
+KPX Aring Y -105
+KPX Aring Yacute -105
+KPX Aring Ydieresis -105
+KPX Aring quoteright -111
+KPX Aring v -74
+KPX Aring w -92
+KPX Aring y -92
+KPX Aring yacute -92
+KPX Aring ydieresis -92
+KPX Atilde C -40
+KPX Atilde Ccedilla -40
+KPX Atilde G -40
+KPX Atilde O -55
+KPX Atilde Oacute -55
+KPX Atilde Ocircumflex -55
+KPX Atilde Odieresis -55
+KPX Atilde Ograve -55
+KPX Atilde Oslash -55
+KPX Atilde Otilde -55
+KPX Atilde Q -55
+KPX Atilde T -111
+KPX Atilde U -55
+KPX Atilde Uacute -55
+KPX Atilde Ucircumflex -55
+KPX Atilde Udieresis -55
+KPX Atilde Ugrave -55
+KPX Atilde V -135
+KPX Atilde W -90
+KPX Atilde Y -105
+KPX Atilde Yacute -105
+KPX Atilde Ydieresis -105
+KPX Atilde quoteright -111
+KPX Atilde v -74
+KPX Atilde w -92
+KPX Atilde y -92
+KPX Atilde yacute -92
+KPX Atilde ydieresis -92
+KPX B A -35
+KPX B Aacute -35
+KPX B Acircumflex -35
+KPX B Adieresis -35
+KPX B Agrave -35
+KPX B Aring -35
+KPX B Atilde -35
+KPX B U -10
+KPX B Uacute -10
+KPX B Ucircumflex -10
+KPX B Udieresis -10
+KPX B Ugrave -10
+KPX D A -40
+KPX D Aacute -40
+KPX D Acircumflex -40
+KPX D Adieresis -40
+KPX D Agrave -40
+KPX D Aring -40
+KPX D Atilde -40
+KPX D V -40
+KPX D W -30
+KPX D Y -55
+KPX D Yacute -55
+KPX D Ydieresis -55
+KPX F A -74
+KPX F Aacute -74
+KPX F Acircumflex -74
+KPX F Adieresis -74
+KPX F Agrave -74
+KPX F Aring -74
+KPX F Atilde -74
+KPX F a -15
+KPX F aacute -15
+KPX F acircumflex -15
+KPX F adieresis -15
+KPX F agrave -15
+KPX F aring -15
+KPX F atilde -15
+KPX F comma -80
+KPX F o -15
+KPX F oacute -15
+KPX F ocircumflex -15
+KPX F odieresis -15
+KPX F ograve -15
+KPX F oslash -15
+KPX F otilde -15
+KPX F period -80
+KPX J A -60
+KPX J Aacute -60
+KPX J Acircumflex -60
+KPX J Adieresis -60
+KPX J Agrave -60
+KPX J Aring -60
+KPX J Atilde -60
+KPX K O -30
+KPX K Oacute -30
+KPX K Ocircumflex -30
+KPX K Odieresis -30
+KPX K Ograve -30
+KPX K Oslash -30
+KPX K Otilde -30
+KPX K e -25
+KPX K eacute -25
+KPX K ecircumflex -25
+KPX K edieresis -25
+KPX K egrave -25
+KPX K o -35
+KPX K oacute -35
+KPX K ocircumflex -35
+KPX K odieresis -35
+KPX K ograve -35
+KPX K oslash -35
+KPX K otilde -35
+KPX K u -15
+KPX K uacute -15
+KPX K ucircumflex -15
+KPX K udieresis -15
+KPX K ugrave -15
+KPX K y -25
+KPX K yacute -25
+KPX K ydieresis -25
+KPX L T -92
+KPX L V -100
+KPX L W -74
+KPX L Y -100
+KPX L Yacute -100
+KPX L Ydieresis -100
+KPX L quoteright -92
+KPX L y -55
+KPX L yacute -55
+KPX L ydieresis -55
+KPX Lslash T -92
+KPX Lslash V -100
+KPX Lslash W -74
+KPX Lslash Y -100
+KPX Lslash Yacute -100
+KPX Lslash Ydieresis -100
+KPX Lslash quoteright -92
+KPX Lslash y -55
+KPX Lslash yacute -55
+KPX Lslash ydieresis -55
+KPX N A -35
+KPX N Aacute -35
+KPX N Acircumflex -35
+KPX N Adieresis -35
+KPX N Agrave -35
+KPX N Aring -35
+KPX N Atilde -35
+KPX Ntilde A -35
+KPX Ntilde Aacute -35
+KPX Ntilde Acircumflex -35
+KPX Ntilde Adieresis -35
+KPX Ntilde Agrave -35
+KPX Ntilde Aring -35
+KPX Ntilde Atilde -35
+KPX O A -35
+KPX O Aacute -35
+KPX O Acircumflex -35
+KPX O Adieresis -35
+KPX O Agrave -35
+KPX O Aring -35
+KPX O Atilde -35
+KPX O T -40
+KPX O V -50
+KPX O W -35
+KPX O X -40
+KPX O Y -50
+KPX O Yacute -50
+KPX O Ydieresis -50
+KPX Oacute A -35
+KPX Oacute Aacute -35
+KPX Oacute Acircumflex -35
+KPX Oacute Adieresis -35
+KPX Oacute Agrave -35
+KPX Oacute Aring -35
+KPX Oacute Atilde -35
+KPX Oacute T -40
+KPX Oacute V -50
+KPX Oacute W -35
+KPX Oacute X -40
+KPX Oacute Y -50
+KPX Oacute Yacute -50
+KPX Oacute Ydieresis -50
+KPX Ocircumflex A -35
+KPX Ocircumflex Aacute -35
+KPX Ocircumflex Acircumflex -35
+KPX Ocircumflex Adieresis -35
+KPX Ocircumflex Agrave -35
+KPX Ocircumflex Aring -35
+KPX Ocircumflex Atilde -35
+KPX Ocircumflex T -40
+KPX Ocircumflex V -50
+KPX Ocircumflex W -35
+KPX Ocircumflex X -40
+KPX Ocircumflex Y -50
+KPX Ocircumflex Yacute -50
+KPX Ocircumflex Ydieresis -50
+KPX Odieresis A -35
+KPX Odieresis Aacute -35
+KPX Odieresis Acircumflex -35
+KPX Odieresis Adieresis -35
+KPX Odieresis Agrave -35
+KPX Odieresis Aring -35
+KPX Odieresis Atilde -35
+KPX Odieresis T -40
+KPX Odieresis V -50
+KPX Odieresis W -35
+KPX Odieresis X -40
+KPX Odieresis Y -50
+KPX Odieresis Yacute -50
+KPX Odieresis Ydieresis -50
+KPX Ograve A -35
+KPX Ograve Aacute -35
+KPX Ograve Acircumflex -35
+KPX Ograve Adieresis -35
+KPX Ograve Agrave -35
+KPX Ograve Aring -35
+KPX Ograve Atilde -35
+KPX Ograve T -40
+KPX Ograve V -50
+KPX Ograve W -35
+KPX Ograve X -40
+KPX Ograve Y -50
+KPX Ograve Yacute -50
+KPX Ograve Ydieresis -50
+KPX Oslash A -35
+KPX Oslash Aacute -35
+KPX Oslash Acircumflex -35
+KPX Oslash Adieresis -35
+KPX Oslash Agrave -35
+KPX Oslash Aring -35
+KPX Oslash Atilde -35
+KPX Oslash T -40
+KPX Oslash V -50
+KPX Oslash W -35
+KPX Oslash X -40
+KPX Oslash Y -50
+KPX Oslash Yacute -50
+KPX Oslash Ydieresis -50
+KPX Otilde A -35
+KPX Otilde Aacute -35
+KPX Otilde Acircumflex -35
+KPX Otilde Adieresis -35
+KPX Otilde Agrave -35
+KPX Otilde Aring -35
+KPX Otilde Atilde -35
+KPX Otilde T -40
+KPX Otilde V -50
+KPX Otilde W -35
+KPX Otilde X -40
+KPX Otilde Y -50
+KPX Otilde Yacute -50
+KPX Otilde Ydieresis -50
+KPX P A -92
+KPX P Aacute -92
+KPX P Acircumflex -92
+KPX P Adieresis -92
+KPX P Agrave -92
+KPX P Aring -92
+KPX P Atilde -92
+KPX P a -15
+KPX P aacute -15
+KPX P acircumflex -15
+KPX P adieresis -15
+KPX P agrave -15
+KPX P aring -15
+KPX P atilde -15
+KPX P comma -111
+KPX P period -111
+KPX Q U -10
+KPX Q Uacute -10
+KPX Q Ucircumflex -10
+KPX Q Udieresis -10
+KPX Q Ugrave -10
+KPX R O -40
+KPX R Oacute -40
+KPX R Ocircumflex -40
+KPX R Odieresis -40
+KPX R Ograve -40
+KPX R Oslash -40
+KPX R Otilde -40
+KPX R T -60
+KPX R U -40
+KPX R Uacute -40
+KPX R Ucircumflex -40
+KPX R Udieresis -40
+KPX R Ugrave -40
+KPX R V -80
+KPX R W -55
+KPX R Y -65
+KPX R Yacute -65
+KPX R Ydieresis -65
+KPX T A -93
+KPX T Aacute -93
+KPX T Acircumflex -93
+KPX T Adieresis -93
+KPX T Agrave -93
+KPX T Aring -93
+KPX T Atilde -93
+KPX T O -18
+KPX T Oacute -18
+KPX T Ocircumflex -18
+KPX T Odieresis -18
+KPX T Ograve -18
+KPX T Oslash -18
+KPX T Otilde -18
+KPX T a -80
+KPX T aacute -80
+KPX T acircumflex -80
+KPX T adieresis -40
+KPX T agrave -40
+KPX T aring -80
+KPX T atilde -40
+KPX T colon -50
+KPX T comma -74
+KPX T e -70
+KPX T eacute -70
+KPX T ecircumflex -70
+KPX T edieresis -30
+KPX T egrave -70
+KPX T hyphen -92
+KPX T i -35
+KPX T iacute -35
+KPX T o -80
+KPX T oacute -80
+KPX T ocircumflex -80
+KPX T odieresis -80
+KPX T ograve -80
+KPX T oslash -80
+KPX T otilde -80
+KPX T period -74
+KPX T r -35
+KPX T semicolon -55
+KPX T u -45
+KPX T uacute -45
+KPX T ucircumflex -45
+KPX T udieresis -45
+KPX T ugrave -45
+KPX T w -80
+KPX T y -80
+KPX T yacute -80
+KPX T ydieresis -80
+KPX U A -40
+KPX U Aacute -40
+KPX U Acircumflex -40
+KPX U Adieresis -40
+KPX U Agrave -40
+KPX U Aring -40
+KPX U Atilde -40
+KPX Uacute A -40
+KPX Uacute Aacute -40
+KPX Uacute Acircumflex -40
+KPX Uacute Adieresis -40
+KPX Uacute Agrave -40
+KPX Uacute Aring -40
+KPX Uacute Atilde -40
+KPX Ucircumflex A -40
+KPX Ucircumflex Aacute -40
+KPX Ucircumflex Acircumflex -40
+KPX Ucircumflex Adieresis -40
+KPX Ucircumflex Agrave -40
+KPX Ucircumflex Aring -40
+KPX Ucircumflex Atilde -40
+KPX Udieresis A -40
+KPX Udieresis Aacute -40
+KPX Udieresis Acircumflex -40
+KPX Udieresis Adieresis -40
+KPX Udieresis Agrave -40
+KPX Udieresis Aring -40
+KPX Udieresis Atilde -40
+KPX Ugrave A -40
+KPX Ugrave Aacute -40
+KPX Ugrave Acircumflex -40
+KPX Ugrave Adieresis -40
+KPX Ugrave Agrave -40
+KPX Ugrave Aring -40
+KPX Ugrave Atilde -40
+KPX V A -135
+KPX V Aacute -135
+KPX V Acircumflex -135
+KPX V Adieresis -135
+KPX V Agrave -135
+KPX V Aring -135
+KPX V Atilde -135
+KPX V G -15
+KPX V O -40
+KPX V Oacute -40
+KPX V Ocircumflex -40
+KPX V Odieresis -40
+KPX V Ograve -40
+KPX V Oslash -40
+KPX V Otilde -40
+KPX V a -111
+KPX V aacute -111
+KPX V acircumflex -71
+KPX V adieresis -71
+KPX V agrave -71
+KPX V aring -111
+KPX V atilde -71
+KPX V colon -74
+KPX V comma -129
+KPX V e -111
+KPX V eacute -111
+KPX V ecircumflex -71
+KPX V edieresis -71
+KPX V egrave -71
+KPX V hyphen -100
+KPX V i -60
+KPX V iacute -60
+KPX V icircumflex -20
+KPX V idieresis -20
+KPX V igrave -20
+KPX V o -129
+KPX V oacute -129
+KPX V ocircumflex -129
+KPX V odieresis -89
+KPX V ograve -89
+KPX V oslash -129
+KPX V otilde -89
+KPX V period -129
+KPX V semicolon -74
+KPX V u -75
+KPX V uacute -75
+KPX V ucircumflex -75
+KPX V udieresis -75
+KPX V ugrave -75
+KPX W A -120
+KPX W Aacute -120
+KPX W Acircumflex -120
+KPX W Adieresis -120
+KPX W Agrave -120
+KPX W Aring -120
+KPX W Atilde -120
+KPX W O -10
+KPX W Oacute -10
+KPX W Ocircumflex -10
+KPX W Odieresis -10
+KPX W Ograve -10
+KPX W Oslash -10
+KPX W Otilde -10
+KPX W a -80
+KPX W aacute -80
+KPX W acircumflex -80
+KPX W adieresis -80
+KPX W agrave -80
+KPX W aring -80
+KPX W atilde -80
+KPX W colon -37
+KPX W comma -92
+KPX W e -80
+KPX W eacute -80
+KPX W ecircumflex -80
+KPX W edieresis -40
+KPX W egrave -40
+KPX W hyphen -65
+KPX W i -40
+KPX W iacute -40
+KPX W o -80
+KPX W oacute -80
+KPX W ocircumflex -80
+KPX W odieresis -80
+KPX W ograve -80
+KPX W oslash -80
+KPX W otilde -80
+KPX W period -92
+KPX W semicolon -37
+KPX W u -50
+KPX W uacute -50
+KPX W ucircumflex -50
+KPX W udieresis -50
+KPX W ugrave -50
+KPX W y -73
+KPX W yacute -73
+KPX W ydieresis -73
+KPX Y A -120
+KPX Y Aacute -120
+KPX Y Acircumflex -120
+KPX Y Adieresis -120
+KPX Y Agrave -120
+KPX Y Aring -120
+KPX Y Atilde -120
+KPX Y O -30
+KPX Y Oacute -30
+KPX Y Ocircumflex -30
+KPX Y Odieresis -30
+KPX Y Ograve -30
+KPX Y Oslash -30
+KPX Y Otilde -30
+KPX Y a -100
+KPX Y aacute -100
+KPX Y acircumflex -100
+KPX Y adieresis -60
+KPX Y agrave -60
+KPX Y aring -100
+KPX Y atilde -60
+KPX Y colon -92
+KPX Y comma -129
+KPX Y e -100
+KPX Y eacute -100
+KPX Y ecircumflex -100
+KPX Y edieresis -60
+KPX Y egrave -60
+KPX Y hyphen -111
+KPX Y i -55
+KPX Y iacute -55
+KPX Y o -110
+KPX Y oacute -110
+KPX Y ocircumflex -110
+KPX Y odieresis -70
+KPX Y ograve -70
+KPX Y oslash -110
+KPX Y otilde -70
+KPX Y period -129
+KPX Y semicolon -92
+KPX Y u -111
+KPX Y uacute -111
+KPX Y ucircumflex -111
+KPX Y udieresis -71
+KPX Y ugrave -71
+KPX Yacute A -120
+KPX Yacute Aacute -120
+KPX Yacute Acircumflex -120
+KPX Yacute Adieresis -120
+KPX Yacute Agrave -120
+KPX Yacute Aring -120
+KPX Yacute Atilde -120
+KPX Yacute O -30
+KPX Yacute Oacute -30
+KPX Yacute Ocircumflex -30
+KPX Yacute Odieresis -30
+KPX Yacute Ograve -30
+KPX Yacute Oslash -30
+KPX Yacute Otilde -30
+KPX Yacute a -100
+KPX Yacute aacute -100
+KPX Yacute acircumflex -100
+KPX Yacute adieresis -60
+KPX Yacute agrave -60
+KPX Yacute aring -100
+KPX Yacute atilde -60
+KPX Yacute colon -92
+KPX Yacute comma -129
+KPX Yacute e -100
+KPX Yacute eacute -100
+KPX Yacute ecircumflex -100
+KPX Yacute edieresis -60
+KPX Yacute egrave -60
+KPX Yacute hyphen -111
+KPX Yacute i -55
+KPX Yacute iacute -55
+KPX Yacute o -110
+KPX Yacute oacute -110
+KPX Yacute ocircumflex -110
+KPX Yacute odieresis -70
+KPX Yacute ograve -70
+KPX Yacute oslash -110
+KPX Yacute otilde -70
+KPX Yacute period -129
+KPX Yacute semicolon -92
+KPX Yacute u -111
+KPX Yacute uacute -111
+KPX Yacute ucircumflex -111
+KPX Yacute udieresis -71
+KPX Yacute ugrave -71
+KPX Ydieresis A -120
+KPX Ydieresis Aacute -120
+KPX Ydieresis Acircumflex -120
+KPX Ydieresis Adieresis -120
+KPX Ydieresis Agrave -120
+KPX Ydieresis Aring -120
+KPX Ydieresis Atilde -120
+KPX Ydieresis O -30
+KPX Ydieresis Oacute -30
+KPX Ydieresis Ocircumflex -30
+KPX Ydieresis Odieresis -30
+KPX Ydieresis Ograve -30
+KPX Ydieresis Oslash -30
+KPX Ydieresis Otilde -30
+KPX Ydieresis a -100
+KPX Ydieresis aacute -100
+KPX Ydieresis acircumflex -100
+KPX Ydieresis adieresis -60
+KPX Ydieresis agrave -60
+KPX Ydieresis aring -100
+KPX Ydieresis atilde -100
+KPX Ydieresis colon -92
+KPX Ydieresis comma -129
+KPX Ydieresis e -100
+KPX Ydieresis eacute -100
+KPX Ydieresis ecircumflex -100
+KPX Ydieresis edieresis -60
+KPX Ydieresis egrave -60
+KPX Ydieresis hyphen -111
+KPX Ydieresis i -55
+KPX Ydieresis iacute -55
+KPX Ydieresis o -110
+KPX Ydieresis oacute -110
+KPX Ydieresis ocircumflex -110
+KPX Ydieresis odieresis -70
+KPX Ydieresis ograve -70
+KPX Ydieresis oslash -110
+KPX Ydieresis otilde -70
+KPX Ydieresis period -129
+KPX Ydieresis semicolon -92
+KPX Ydieresis u -111
+KPX Ydieresis uacute -111
+KPX Ydieresis ucircumflex -111
+KPX Ydieresis udieresis -71
+KPX Ydieresis ugrave -71
+KPX a v -20
+KPX a w -15
+KPX aacute v -20
+KPX aacute w -15
+KPX acircumflex v -20
+KPX acircumflex w -15
+KPX adieresis v -20
+KPX adieresis w -15
+KPX agrave v -20
+KPX agrave w -15
+KPX aring v -20
+KPX aring w -15
+KPX atilde v -20
+KPX atilde w -15
+KPX b period -40
+KPX b u -20
+KPX b uacute -20
+KPX b ucircumflex -20
+KPX b udieresis -20
+KPX b ugrave -20
+KPX b v -15
+KPX c y -15
+KPX c yacute -15
+KPX c ydieresis -15
+KPX ccedilla y -15
+KPX ccedilla yacute -15
+KPX ccedilla ydieresis -15
+KPX comma quotedblright -70
+KPX comma quoteright -70
+KPX e g -15
+KPX e v -25
+KPX e w -25
+KPX e x -15
+KPX e y -15
+KPX e yacute -15
+KPX e ydieresis -15
+KPX eacute g -15
+KPX eacute v -25
+KPX eacute w -25
+KPX eacute x -15
+KPX eacute y -15
+KPX eacute yacute -15
+KPX eacute ydieresis -15
+KPX ecircumflex g -15
+KPX ecircumflex v -25
+KPX ecircumflex w -25
+KPX ecircumflex x -15
+KPX ecircumflex y -15
+KPX ecircumflex yacute -15
+KPX ecircumflex ydieresis -15
+KPX edieresis g -15
+KPX edieresis v -25
+KPX edieresis w -25
+KPX edieresis x -15
+KPX edieresis y -15
+KPX edieresis yacute -15
+KPX edieresis ydieresis -15
+KPX egrave g -15
+KPX egrave v -25
+KPX egrave w -25
+KPX egrave x -15
+KPX egrave y -15
+KPX egrave yacute -15
+KPX egrave ydieresis -15
+KPX f a -10
+KPX f aacute -10
+KPX f acircumflex -10
+KPX f adieresis -10
+KPX f agrave -10
+KPX f aring -10
+KPX f atilde -10
+KPX f dotlessi -50
+KPX f f -25
+KPX f i -20
+KPX f iacute -20
+KPX f quoteright 55
+KPX g a -5
+KPX g aacute -5
+KPX g acircumflex -5
+KPX g adieresis -5
+KPX g agrave -5
+KPX g aring -5
+KPX g atilde -5
+KPX h y -5
+KPX h yacute -5
+KPX h ydieresis -5
+KPX i v -25
+KPX iacute v -25
+KPX icircumflex v -25
+KPX idieresis v -25
+KPX igrave v -25
+KPX k e -10
+KPX k eacute -10
+KPX k ecircumflex -10
+KPX k edieresis -10
+KPX k egrave -10
+KPX k o -10
+KPX k oacute -10
+KPX k ocircumflex -10
+KPX k odieresis -10
+KPX k ograve -10
+KPX k oslash -10
+KPX k otilde -10
+KPX k y -15
+KPX k yacute -15
+KPX k ydieresis -15
+KPX l w -10
+KPX lslash w -10
+KPX n v -40
+KPX n y -15
+KPX n yacute -15
+KPX n ydieresis -15
+KPX ntilde v -40
+KPX ntilde y -15
+KPX ntilde yacute -15
+KPX ntilde ydieresis -15
+KPX o v -15
+KPX o w -25
+KPX o y -10
+KPX o yacute -10
+KPX o ydieresis -10
+KPX oacute v -15
+KPX oacute w -25
+KPX oacute y -10
+KPX oacute yacute -10
+KPX oacute ydieresis -10
+KPX ocircumflex v -15
+KPX ocircumflex w -25
+KPX ocircumflex y -10
+KPX ocircumflex yacute -10
+KPX ocircumflex ydieresis -10
+KPX odieresis v -15
+KPX odieresis w -25
+KPX odieresis y -10
+KPX odieresis yacute -10
+KPX odieresis ydieresis -10
+KPX ograve v -15
+KPX ograve w -25
+KPX ograve y -10
+KPX ograve yacute -10
+KPX ograve ydieresis -10
+KPX oslash v -15
+KPX oslash w -25
+KPX oslash y -10
+KPX oslash yacute -10
+KPX oslash ydieresis -10
+KPX otilde v -15
+KPX otilde w -25
+KPX otilde y -10
+KPX otilde yacute -10
+KPX otilde ydieresis -10
+KPX p y -10
+KPX p yacute -10
+KPX p ydieresis -10
+KPX period quotedblright -70
+KPX period quoteright -70
+KPX quotedblleft A -80
+KPX quotedblleft Aacute -80
+KPX quotedblleft Acircumflex -80
+KPX quotedblleft Adieresis -80
+KPX quotedblleft Agrave -80
+KPX quotedblleft Aring -80
+KPX quotedblleft Atilde -80
+KPX quoteleft A -80
+KPX quoteleft Aacute -80
+KPX quoteleft Acircumflex -80
+KPX quoteleft Adieresis -80
+KPX quoteleft Agrave -80
+KPX quoteleft Aring -80
+KPX quoteleft Atilde -80
+KPX quoteleft quoteleft -74
+KPX quoteright d -50
+KPX quoteright l -10
+KPX quoteright lslash -10
+KPX quoteright quoteright -74
+KPX quoteright r -50
+KPX quoteright s -55
+KPX quoteright scaron -55
+KPX quoteright space -74
+KPX quoteright t -18
+KPX quoteright v -50
+KPX r comma -40
+KPX r g -18
+KPX r hyphen -20
+KPX r period -55
+KPX space A -55
+KPX space Aacute -55
+KPX space Acircumflex -55
+KPX space Adieresis -55
+KPX space Agrave -55
+KPX space Aring -55
+KPX space Atilde -55
+KPX space T -18
+KPX space V -50
+KPX space W -30
+KPX space Y -90
+KPX space Yacute -90
+KPX space Ydieresis -90
+KPX v a -25
+KPX v aacute -25
+KPX v acircumflex -25
+KPX v adieresis -25
+KPX v agrave -25
+KPX v aring -25
+KPX v atilde -25
+KPX v comma -65
+KPX v e -15
+KPX v eacute -15
+KPX v ecircumflex -15
+KPX v edieresis -15
+KPX v egrave -15
+KPX v o -20
+KPX v oacute -20
+KPX v ocircumflex -20
+KPX v odieresis -20
+KPX v ograve -20
+KPX v oslash -20
+KPX v otilde -20
+KPX v period -65
+KPX w a -10
+KPX w aacute -10
+KPX w acircumflex -10
+KPX w adieresis -10
+KPX w agrave -10
+KPX w aring -10
+KPX w atilde -10
+KPX w comma -65
+KPX w o -10
+KPX w oacute -10
+KPX w ocircumflex -10
+KPX w odieresis -10
+KPX w ograve -10
+KPX w oslash -10
+KPX w otilde -10
+KPX w period -65
+KPX x e -15
+KPX x eacute -15
+KPX x ecircumflex -15
+KPX x edieresis -15
+KPX x egrave -15
+KPX y comma -65
+KPX y period -65
+KPX yacute comma -65
+KPX yacute period -65
+KPX ydieresis comma -65
+KPX ydieresis period -65
+EndKernPairs
+EndKernData
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/S b/troff/troff.d/font/devps/S
new file mode 100644
index 0000000000000..ac48cb0fb9d4e
--- /dev/null
+++ b/troff/troff.d/font/devps/S
@@ -0,0 +1,2 @@
+name S.afm
+special
diff --git a/troff/troff.d/font/devps/S.afm b/troff/troff.d/font/devps/S.afm
new file mode 100644
index 0000000000000..87abd6d31d100
--- /dev/null
+++ b/troff/troff.d/font/devps/S.afm
@@ -0,0 +1,214 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 15:12:25 1997
+Comment UniqueID 43064
+Comment VMusage 30820 39997
+FontName Symbol
+FullName Symbol
+FamilyName Symbol
+Weight Medium
+ItalicAngle 0
+IsFixedPitch false
+CharacterSet Special
+FontBBox -180 -293 1090 1010
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.008
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1997 Adobe Systems Incorporated. All rights reserved.
+EncodingScheme FontSpecific
+StdHW 92
+StdVW 85
+StartCharMetrics 190
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 333 ; N exclam ; B 128 -17 240 672 ;
+C 34 ; WX 713 ; N universal ; B 31 0 681 705 ;
+C 35 ; WX 500 ; N numbersign ; B 20 -16 481 673 ;
+C 36 ; WX 549 ; N existential ; B 25 0 478 707 ;
+C 37 ; WX 833 ; N percent ; B 63 -36 771 655 ;
+C 38 ; WX 778 ; N ampersand ; B 41 -18 750 661 ;
+C 39 ; WX 439 ; N suchthat ; B 48 -17 414 500 ;
+C 40 ; WX 333 ; N parenleft ; B 53 -191 300 673 ;
+C 41 ; WX 333 ; N parenright ; B 30 -191 277 673 ;
+C 42 ; WX 500 ; N asteriskmath ; B 65 134 427 551 ;
+C 43 ; WX 549 ; N plus ; B 10 0 539 533 ;
+C 44 ; WX 250 ; N comma ; B 56 -152 194 104 ;
+C 45 ; WX 549 ; N minus ; B 11 233 535 288 ;
+C 46 ; WX 250 ; N period ; B 69 -17 181 95 ;
+C 47 ; WX 278 ; N slash ; B 0 -18 254 646 ;
+C 48 ; WX 500 ; N zero ; B 24 -14 476 685 ;
+C 49 ; WX 500 ; N one ; B 117 0 390 673 ;
+C 50 ; WX 500 ; N two ; B 25 0 475 685 ;
+C 51 ; WX 500 ; N three ; B 43 -14 435 685 ;
+C 52 ; WX 500 ; N four ; B 15 0 469 685 ;
+C 53 ; WX 500 ; N five ; B 32 -14 445 690 ;
+C 54 ; WX 500 ; N six ; B 34 -14 468 685 ;
+C 55 ; WX 500 ; N seven ; B 24 -16 448 673 ;
+C 56 ; WX 500 ; N eight ; B 56 -14 445 685 ;
+C 57 ; WX 500 ; N nine ; B 30 -18 459 685 ;
+C 58 ; WX 278 ; N colon ; B 81 -17 193 460 ;
+C 59 ; WX 278 ; N semicolon ; B 83 -152 221 460 ;
+C 60 ; WX 549 ; N less ; B 26 0 523 522 ;
+C 61 ; WX 549 ; N equal ; B 11 141 537 390 ;
+C 62 ; WX 549 ; N greater ; B 26 0 523 522 ;
+C 63 ; WX 444 ; N question ; B 70 -17 412 686 ;
+C 64 ; WX 549 ; N congruent ; B 11 0 537 475 ;
+C 65 ; WX 722 ; N Alpha ; B 4 0 684 673 ;
+C 66 ; WX 667 ; N Beta ; B 29 0 592 673 ;
+C 67 ; WX 722 ; N Chi ; B -9 0 704 673 ;
+C 68 ; WX 612 ; N Delta ; B 6 0 608 688 ;
+C 69 ; WX 611 ; N Epsilon ; B 32 0 617 673 ;
+C 70 ; WX 763 ; N Phi ; B 26 0 741 673 ;
+C 71 ; WX 603 ; N Gamma ; B 24 0 609 673 ;
+C 72 ; WX 722 ; N Eta ; B 39 0 729 673 ;
+C 73 ; WX 333 ; N Iota ; B 32 0 316 673 ;
+C 74 ; WX 631 ; N theta1 ; B 18 -18 623 689 ;
+C 75 ; WX 722 ; N Kappa ; B 35 0 722 673 ;
+C 76 ; WX 686 ; N Lambda ; B 6 0 680 688 ;
+C 77 ; WX 889 ; N Mu ; B 28 0 887 673 ;
+C 78 ; WX 722 ; N Nu ; B 29 -8 720 673 ;
+C 79 ; WX 722 ; N Omicron ; B 41 -17 715 685 ;
+C 80 ; WX 768 ; N Pi ; B 25 0 745 673 ;
+C 81 ; WX 741 ; N Theta ; B 41 -17 715 685 ;
+C 82 ; WX 556 ; N Rho ; B 28 0 563 673 ;
+C 83 ; WX 592 ; N Sigma ; B 5 0 589 673 ;
+C 84 ; WX 611 ; N Tau ; B 33 0 607 673 ;
+C 85 ; WX 690 ; N Upsilon ; B -8 0 694 673 ;
+C 86 ; WX 439 ; N sigma1 ; B 40 -233 436 500 ;
+C 87 ; WX 768 ; N Omega ; B 34 0 736 688 ;
+C 88 ; WX 645 ; N Xi ; B 40 0 599 673 ;
+C 89 ; WX 795 ; N Psi ; B 15 0 781 684 ;
+C 90 ; WX 611 ; N Zeta ; B 44 0 636 673 ;
+C 91 ; WX 333 ; N bracketleft ; B 86 -155 299 674 ;
+C 92 ; WX 863 ; N therefore ; B 163 0 701 487 ;
+C 93 ; WX 333 ; N bracketright ; B 33 -155 246 674 ;
+C 94 ; WX 658 ; N perpendicular ; B 15 0 652 674 ;
+C 95 ; WX 500 ; N underscore ; B -2 -125 502 -75 ;
+C 96 ; WX 500 ; N radicalex ; B 480 881 1090 917 ;
+C 97 ; WX 631 ; N alpha ; B 41 -18 622 500 ;
+C 98 ; WX 549 ; N beta ; B 61 -223 515 741 ;
+C 99 ; WX 549 ; N chi ; B 12 -231 522 499 ;
+C 100 ; WX 494 ; N delta ; B 40 -19 481 740 ;
+C 101 ; WX 439 ; N epsilon ; B 22 -19 427 502 ;
+C 102 ; WX 521 ; N phi ; B 28 -224 492 673 ;
+C 103 ; WX 411 ; N gamma ; B 5 -225 484 499 ;
+C 104 ; WX 603 ; N eta ; B 0 -202 527 514 ;
+C 105 ; WX 329 ; N iota ; B 0 -17 301 503 ;
+C 106 ; WX 603 ; N phi1 ; B 36 -224 587 499 ;
+C 107 ; WX 549 ; N kappa ; B 33 0 558 501 ;
+C 108 ; WX 549 ; N lambda ; B 24 -17 548 739 ;
+C 109 ; WX 576 ; N mu ; B 33 -223 567 500 ;
+C 110 ; WX 521 ; N nu ; B -9 -16 475 507 ;
+C 111 ; WX 549 ; N omicron ; B 35 -19 501 499 ;
+C 112 ; WX 549 ; N pi ; B 10 -19 530 487 ;
+C 113 ; WX 521 ; N theta ; B 43 -17 485 690 ;
+C 114 ; WX 549 ; N rho ; B 50 -230 490 499 ;
+C 115 ; WX 603 ; N sigma ; B 30 -21 588 500 ;
+C 116 ; WX 439 ; N tau ; B 10 -19 418 500 ;
+C 117 ; WX 576 ; N upsilon ; B 7 -18 535 507 ;
+C 118 ; WX 713 ; N omega1 ; B 12 -18 671 583 ;
+C 119 ; WX 686 ; N omega ; B 42 -17 684 500 ;
+C 120 ; WX 493 ; N xi ; B 27 -224 469 766 ;
+C 121 ; WX 686 ; N psi ; B 12 -228 701 500 ;
+C 122 ; WX 494 ; N zeta ; B 60 -225 467 756 ;
+C 123 ; WX 480 ; N braceleft ; B 58 -183 397 673 ;
+C 124 ; WX 200 ; N bar ; B 65 -293 135 707 ;
+C 125 ; WX 480 ; N braceright ; B 79 -183 418 673 ;
+C 126 ; WX 549 ; N similar ; B 17 203 529 307 ;
+C 160 ; WX 750 ; N Euro ; B 20 -12 714 685 ;
+C 161 ; WX 620 ; N Upsilon1 ; B -2 0 610 685 ;
+C 162 ; WX 247 ; N minute ; B 27 459 228 735 ;
+C 163 ; WX 549 ; N lessequal ; B 29 0 526 639 ;
+C 164 ; WX 167 ; N fraction ; B -180 -12 340 677 ;
+C 165 ; WX 730 ; N infinity ; B 26 124 688 404 ;
+C 166 ; WX 500 ; N florin ; B 2 -193 494 686 ;
+C 167 ; WX 753 ; N club ; B 86 -26 660 533 ;
+C 168 ; WX 753 ; N diamond ; B 142 -36 600 550 ;
+C 169 ; WX 753 ; N heart ; B 117 -33 631 532 ;
+C 170 ; WX 753 ; N spade ; B 113 -36 629 548 ;
+C 171 ; WX 1042 ; N arrowboth ; B 24 -15 1024 511 ;
+C 172 ; WX 987 ; N arrowleft ; B 32 -15 942 511 ;
+C 173 ; WX 603 ; N arrowup ; B 45 0 571 910 ;
+C 174 ; WX 987 ; N arrowright ; B 49 -15 959 511 ;
+C 175 ; WX 603 ; N arrowdown ; B 45 -22 571 888 ;
+C 176 ; WX 400 ; N degree ; B 50 385 350 685 ;
+C 177 ; WX 549 ; N plusminus ; B 10 0 539 645 ;
+C 178 ; WX 411 ; N second ; B 20 459 413 737 ;
+C 179 ; WX 549 ; N greaterequal ; B 29 0 526 639 ;
+C 180 ; WX 549 ; N multiply ; B 17 8 533 524 ;
+C 181 ; WX 713 ; N proportional ; B 27 123 639 404 ;
+C 182 ; WX 494 ; N partialdiff ; B 26 -20 462 746 ;
+C 183 ; WX 460 ; N bullet ; B 50 113 410 473 ;
+C 184 ; WX 549 ; N divide ; B 10 71 536 456 ;
+C 185 ; WX 549 ; N notequal ; B 15 -25 540 549 ;
+C 186 ; WX 549 ; N equivalence ; B 14 82 538 443 ;
+C 187 ; WX 549 ; N approxequal ; B 14 135 527 394 ;
+C 188 ; WX 1000 ; N ellipsis ; B 111 -17 889 95 ;
+C 189 ; WX 603 ; N arrowvertex ; B 280 -120 336 1010 ;
+C 190 ; WX 1000 ; N arrowhorizex ; B -60 220 1050 276 ;
+C 191 ; WX 658 ; N carriagereturn ; B 15 -16 602 629 ;
+C 192 ; WX 823 ; N aleph ; B 175 -18 661 658 ;
+C 193 ; WX 686 ; N Ifraktur ; B 10 -53 578 740 ;
+C 194 ; WX 795 ; N Rfraktur ; B 26 -15 759 734 ;
+C 195 ; WX 987 ; N weierstrass ; B 159 -211 870 573 ;
+C 196 ; WX 768 ; N circlemultiply ; B 43 -17 733 673 ;
+C 197 ; WX 768 ; N circleplus ; B 43 -15 733 675 ;
+C 198 ; WX 823 ; N emptyset ; B 39 -24 781 719 ;
+C 199 ; WX 768 ; N intersection ; B 40 0 732 509 ;
+C 200 ; WX 768 ; N union ; B 40 -17 732 492 ;
+C 201 ; WX 713 ; N propersuperset ; B 20 0 673 470 ;
+C 202 ; WX 713 ; N reflexsuperset ; B 20 -125 673 470 ;
+C 203 ; WX 713 ; N notsubset ; B 36 -70 690 540 ;
+C 204 ; WX 713 ; N propersubset ; B 37 0 690 470 ;
+C 205 ; WX 713 ; N reflexsubset ; B 37 -125 690 470 ;
+C 206 ; WX 713 ; N element ; B 45 0 505 468 ;
+C 207 ; WX 713 ; N notelement ; B 45 -58 505 555 ;
+C 208 ; WX 768 ; N angle ; B 26 0 738 673 ;
+C 209 ; WX 713 ; N gradient ; B 36 -19 681 718 ;
+C 210 ; WX 790 ; N registerserif ; B 50 -17 740 673 ;
+C 211 ; WX 790 ; N copyrightserif ; B 51 -15 741 675 ;
+C 212 ; WX 890 ; N trademarkserif ; B 18 293 855 673 ;
+C 213 ; WX 823 ; N product ; B 25 -101 803 751 ;
+C 214 ; WX 550 ; N radical ; B 10 -38 515 917 ;
+C 215 ; WX 250 ; N dotmath ; B 69 210 169 310 ;
+C 216 ; WX 713 ; N logicalnot ; B 15 0 680 288 ;
+C 217 ; WX 603 ; N logicaland ; B 23 0 583 454 ;
+C 218 ; WX 603 ; N logicalor ; B 30 0 578 477 ;
+C 219 ; WX 1042 ; N arrowdblboth ; B 27 -20 1023 510 ;
+C 220 ; WX 987 ; N arrowdblleft ; B 30 -15 939 513 ;
+C 221 ; WX 603 ; N arrowdblup ; B 39 2 567 911 ;
+C 222 ; WX 987 ; N arrowdblright ; B 45 -20 954 508 ;
+C 223 ; WX 603 ; N arrowdbldown ; B 44 -19 572 890 ;
+C 224 ; WX 494 ; N lozenge ; B 18 0 466 745 ;
+C 225 ; WX 329 ; N angleleft ; B 25 -198 306 746 ;
+C 226 ; WX 790 ; N registersans ; B 50 -20 740 670 ;
+C 227 ; WX 790 ; N copyrightsans ; B 49 -15 739 675 ;
+C 228 ; WX 786 ; N trademarksans ; B 5 293 725 673 ;
+C 229 ; WX 713 ; N summation ; B 14 -108 695 752 ;
+C 230 ; WX 384 ; N parenlefttp ; B 24 -293 436 926 ;
+C 231 ; WX 0 ; N parenleftex ; B 24 -85 108 925 ;
+C 232 ; WX 384 ; N parenleftbt ; B 24 -293 436 926 ;
+C 233 ; WX 500 ; N bracketlefttp ; B 0 -80 349 926 ;
+C 234 ; WX 0 ; N bracketleftex ; B 0 -79 77 925 ;
+C 235 ; WX 500 ; N bracketleftbt ; B 0 -80 349 926 ;
+C 236 ; WX 494 ; N bracelefttp ; B 209 -85 445 925 ;
+C 237 ; WX 494 ; N braceleftmid ; B 20 -85 284 935 ;
+C 238 ; WX 490 ; N braceleftbt ; B 209 -75 445 935 ;
+C 239 ; WX 494 ; N braceex ; B 209 -85 284 935 ;
+C 241 ; WX 329 ; N angleright ; B 21 -198 302 746 ;
+C 242 ; WX 500 ; N integral ; B 2 -107 291 916 ;
+C 243 ; WX 686 ; N integraltp ; B 308 -88 675 920 ;
+C 244 ; WX 686 ; N integralex ; B 308 -88 378 975 ;
+C 245 ; WX 686 ; N integralbt ; B 11 -87 378 921 ;
+C 246 ; WX 384 ; N parenrighttp ; B 54 -293 466 926 ;
+C 247 ; WX 384 ; N parenrightex ; B 382 -85 466 925 ;
+C 248 ; WX 384 ; N parenrightbt ; B 54 -293 466 926 ;
+C 249 ; WX 380 ; N bracketrighttp ; B 22 -80 371 926 ;
+C 250 ; WX 500 ; N bracketrightex ; B 294 -79 371 925 ;
+C 251 ; WX 380 ; N bracketrightbt ; B 22 -80 371 926 ;
+C 252 ; WX 494 ; N bracerighttp ; B 48 -85 284 925 ;
+C 253 ; WX 494 ; N bracerightmid ; B 209 -85 473 935 ;
+C 254 ; WX 494 ; N bracerightbt ; B 48 -75 284 935 ;
+C -1 ; WX 790 ; N apple ; B 56 -3 733 808 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/S1 b/troff/troff.d/font/devps/S1
new file mode 100644
index 0000000000000..085f8e08441e1
--- /dev/null
+++ b/troff/troff.d/font/devps/S1
@@ -0,0 +1,2 @@
+name S1.afm
+special
diff --git a/troff/troff.d/font/devps/S1.afm b/troff/troff.d/font/devps/S1.afm
new file mode 100644
index 0000000000000..eebba8cd433d2
--- /dev/null
+++ b/troff/troff.d/font/devps/S1.afm
@@ -0,0 +1,51 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Modified by Gunnar Ritter, Freiburg i. Br., Germany, 2005, for use as a troff special font.
+Comment Creation Date: Thu May 1 12:49:17 1997
+Comment UniqueID 43068
+Comment VMusage 43909 54934
+FontName Times-Roman
+FullName Times Roman
+FamilyName Times
+Weight Roman
+ItalicAngle 0
+IsFixedPitch false
+CharacterSet ExtendedRoman
+FontBBox -168 -218 1000 898
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1989, 1990, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.Times is a trademark of Linotype-Hell AG and/or its subsidiaries.
+EncodingScheme AdobeStandardEncoding
+CapHeight 662
+XHeight 450
+Ascender 683
+Descender -217
+StdHW 28
+StdVW 84
+StartCharMetrics 23
+C 32 ; WX 250 ; N space ; B 0 0 0 0 ;
+C 34 ; WX 408 ; N quotedbl ; B 77 431 331 676 ;
+C 35 ; WX 500 ; N numbersign ; B 5 0 496 662 ;
+C 60 ; WX 564 ; N less ; B 28 -8 536 514 ;
+C 62 ; WX 564 ; N greater ; B 28 -8 536 514 ;
+C 64 ; WX 921 ; N at ; B 116 -14 809 676 ;
+C 92 ; WX 278 ; N backslash ; B -9 -14 287 676 ;
+C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ;
+C 124 ; WX 200 ; N bar ; B 67 -218 133 782 ;
+C 162 ; WX 500 ; N cent ; B 53 -138 448 579 ;
+C 167 ; WX 500 ; N section ; B 70 -148 426 676 ;
+C 170 ; WX 444 ; N quotedblleft ; B 43 433 414 676 ;
+C 177 ; WX 650 ; N endash ; B 0 201 500 250 ;
+C 178 ; WX 500 ; N dagger ; B 59 -149 442 676 ;
+C 179 ; WX 500 ; N daggerdbl ; B 58 -153 442 676 ;
+C 186 ; WX 444 ; N quotedblright ; B 30 433 401 676 ;
+C 193 ; WX 333 ; N grave ; B 19 507 242 678 ;
+C 194 ; WX 333 ; N acute ; B 93 507 317 678 ;
+C 195 ; WX 333 ; N circumflex ; B 11 507 322 674 ;
+C 196 ; WX 333 ; N tilde ; B 1 532 331 638 ;
+C -1 ; WX 750 ; N threequarters ; B 15 -14 718 676 ;
+C -1 ; WX 750 ; N onehalf ; B 31 -14 746 676 ;
+C -1 ; WX 750 ; N onequarter ; B 37 -14 718 676 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devps/ZD b/troff/troff.d/font/devps/ZD
new file mode 100644
index 0000000000000..540948184f36e
--- /dev/null
+++ b/troff/troff.d/font/devps/ZD
@@ -0,0 +1 @@
+name ZD.afm
diff --git a/troff/troff.d/font/devps/ZD.afm b/troff/troff.d/font/devps/ZD.afm
new file mode 100644
index 0000000000000..8065c70a5a012
--- /dev/null
+++ b/troff/troff.d/font/devps/ZD.afm
@@ -0,0 +1,226 @@
+StartFontMetrics 4.1
+Comment Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.
+Comment Changes by Gunnar Ritter, Freiburg i. Br., Germany, 2005
+Comment Creation Date: Thu May 1 15:14:13 1997
+Comment UniqueID 43082
+Comment VMusage 45775 55535
+FontName ZapfDingbats
+FullName ITC Zapf Dingbats
+FamilyName ZapfDingbats
+Weight Medium
+ItalicAngle 0
+IsFixedPitch false
+CharacterSet Special
+FontBBox -1 -143 981 820
+UnderlinePosition -100
+UnderlineThickness 50
+Version 002.000
+Notice Copyright (c) 1985, 1987, 1988, 1989, 1997 Adobe Systems Incorporated. All Rights Reserved.ITC Zapf Dingbats is a registered trademark of International Typeface Corporation.
+EncodingScheme FontSpecific
+StdHW 28
+StdVW 90
+StartCharMetrics 202
+C 32 ; WX 278 ; N space ; B 0 0 0 0 ;
+C 33 ; WX 974 ; N a1 ; B 35 72 939 621 ;
+C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ;
+C 35 ; WX 974 ; N a202 ; B 35 72 939 621 ;
+C 36 ; WX 980 ; N a3 ; B 35 0 945 692 ;
+C 37 ; WX 719 ; N a4 ; B 34 139 685 566 ;
+C 38 ; WX 789 ; N a5 ; B 35 -14 755 705 ;
+C 39 ; WX 790 ; N a119 ; B 35 -14 755 705 ;
+C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ;
+C 41 ; WX 690 ; N a117 ; B 34 138 655 553 ;
+C 42 ; WX 960 ; N a11 ; B 35 123 925 568 ;
+C 43 ; WX 939 ; N a12 ; B 35 134 904 559 ;
+C 44 ; WX 549 ; N a13 ; B 29 -11 516 705 ;
+C 45 ; WX 855 ; N a14 ; B 34 59 820 632 ;
+C 46 ; WX 911 ; N a15 ; B 35 50 876 642 ;
+C 47 ; WX 933 ; N a16 ; B 35 139 899 550 ;
+C 48 ; WX 911 ; N a105 ; B 35 50 876 642 ;
+C 49 ; WX 945 ; N a17 ; B 35 139 909 553 ;
+C 50 ; WX 974 ; N a18 ; B 35 104 938 587 ;
+C 51 ; WX 755 ; N a19 ; B 34 -13 721 705 ;
+C 52 ; WX 846 ; N a20 ; B 36 -14 811 705 ;
+C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ;
+C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ;
+C 55 ; WX 571 ; N a23 ; B -1 -68 571 661 ;
+C 56 ; WX 677 ; N a24 ; B 36 -13 642 705 ;
+C 57 ; WX 763 ; N a25 ; B 35 0 728 692 ;
+C 58 ; WX 760 ; N a26 ; B 35 0 726 692 ;
+C 59 ; WX 759 ; N a27 ; B 35 0 725 692 ;
+C 60 ; WX 754 ; N a28 ; B 35 0 720 692 ;
+C 61 ; WX 494 ; N a6 ; B 35 0 460 692 ;
+C 62 ; WX 552 ; N a7 ; B 35 0 517 692 ;
+C 63 ; WX 537 ; N a8 ; B 35 0 503 692 ;
+C 64 ; WX 577 ; N a9 ; B 35 96 542 596 ;
+C 65 ; WX 692 ; N a10 ; B 35 -14 657 705 ;
+C 66 ; WX 786 ; N a29 ; B 35 -14 751 705 ;
+C 67 ; WX 788 ; N a30 ; B 35 -14 752 705 ;
+C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ;
+C 69 ; WX 790 ; N a32 ; B 35 -14 756 705 ;
+C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ;
+C 71 ; WX 794 ; N a34 ; B 35 -13 759 705 ;
+C 72 ; WX 816 ; N a35 ; B 35 -14 782 705 ;
+C 73 ; WX 823 ; N a36 ; B 35 -14 787 705 ;
+C 74 ; WX 789 ; N a37 ; B 35 -14 754 705 ;
+C 75 ; WX 841 ; N a38 ; B 35 -14 807 705 ;
+C 76 ; WX 823 ; N a39 ; B 35 -14 789 705 ;
+C 77 ; WX 833 ; N a40 ; B 35 -14 798 705 ;
+C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ;
+C 79 ; WX 831 ; N a42 ; B 35 -14 796 705 ;
+C 80 ; WX 923 ; N a43 ; B 35 -14 888 705 ;
+C 81 ; WX 744 ; N a44 ; B 35 0 710 692 ;
+C 82 ; WX 723 ; N a45 ; B 35 0 688 692 ;
+C 83 ; WX 749 ; N a46 ; B 35 0 714 692 ;
+C 84 ; WX 790 ; N a47 ; B 34 -14 756 705 ;
+C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ;
+C 86 ; WX 695 ; N a49 ; B 35 -14 661 706 ;
+C 87 ; WX 776 ; N a50 ; B 35 -6 741 699 ;
+C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ;
+C 89 ; WX 792 ; N a52 ; B 35 -14 757 705 ;
+C 90 ; WX 759 ; N a53 ; B 35 0 725 692 ;
+C 91 ; WX 707 ; N a54 ; B 35 -13 672 704 ;
+C 92 ; WX 708 ; N a55 ; B 35 -14 672 705 ;
+C 93 ; WX 682 ; N a56 ; B 35 -14 647 705 ;
+C 94 ; WX 701 ; N a57 ; B 35 -14 666 705 ;
+C 95 ; WX 826 ; N a58 ; B 35 -14 791 705 ;
+C 96 ; WX 815 ; N a59 ; B 35 -14 780 705 ;
+C 97 ; WX 789 ; N a60 ; B 35 -14 754 705 ;
+C 98 ; WX 789 ; N a61 ; B 35 -14 754 705 ;
+C 99 ; WX 707 ; N a62 ; B 34 -14 673 705 ;
+C 100 ; WX 687 ; N a63 ; B 36 0 651 692 ;
+C 101 ; WX 696 ; N a64 ; B 35 0 661 691 ;
+C 102 ; WX 689 ; N a65 ; B 35 0 655 692 ;
+C 103 ; WX 786 ; N a66 ; B 34 -14 751 705 ;
+C 104 ; WX 787 ; N a67 ; B 35 -14 752 705 ;
+C 105 ; WX 713 ; N a68 ; B 35 -14 678 705 ;
+C 106 ; WX 791 ; N a69 ; B 35 -14 756 705 ;
+C 107 ; WX 785 ; N a70 ; B 36 -14 751 705 ;
+C 108 ; WX 791 ; N a71 ; B 35 -14 757 705 ;
+C 109 ; WX 873 ; N a72 ; B 35 -14 838 705 ;
+C 110 ; WX 761 ; N a73 ; B 35 0 726 692 ;
+C 111 ; WX 762 ; N a74 ; B 35 0 727 692 ;
+C 112 ; WX 762 ; N a203 ; B 35 0 727 692 ;
+C 113 ; WX 759 ; N a75 ; B 35 0 725 692 ;
+C 114 ; WX 759 ; N a204 ; B 35 0 725 692 ;
+C 115 ; WX 892 ; N a76 ; B 35 0 858 705 ;
+C 116 ; WX 892 ; N a77 ; B 35 -14 858 692 ;
+C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ;
+C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ;
+C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ;
+C 120 ; WX 138 ; N a82 ; B 35 0 104 692 ;
+C 121 ; WX 277 ; N a83 ; B 35 0 242 692 ;
+C 122 ; WX 415 ; N a84 ; B 35 0 380 692 ;
+C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ;
+C 124 ; WX 392 ; N a98 ; B 34 263 357 705 ;
+C 125 ; WX 668 ; N a99 ; B 35 263 633 705 ;
+C 126 ; WX 668 ; N a100 ; B 36 263 634 705 ;
+C 128 ; WX 390 ; N a89 ; B 35 -14 356 705 ;
+C 129 ; WX 390 ; N a90 ; B 35 -14 355 705 ;
+C 130 ; WX 317 ; N a93 ; B 35 0 283 692 ;
+C 131 ; WX 317 ; N a94 ; B 35 0 283 692 ;
+C 132 ; WX 276 ; N a91 ; B 35 0 242 692 ;
+C 133 ; WX 276 ; N a92 ; B 35 0 242 692 ;
+C 134 ; WX 509 ; N a205 ; B 35 0 475 692 ;
+C 135 ; WX 509 ; N a85 ; B 35 0 475 692 ;
+C 136 ; WX 410 ; N a206 ; B 35 0 375 692 ;
+C 137 ; WX 410 ; N a86 ; B 35 0 375 692 ;
+C 138 ; WX 234 ; N a87 ; B 35 -14 199 705 ;
+C 139 ; WX 234 ; N a88 ; B 35 -14 199 705 ;
+C 140 ; WX 334 ; N a95 ; B 35 0 299 692 ;
+C 141 ; WX 334 ; N a96 ; B 35 0 299 692 ;
+C 161 ; WX 732 ; N a101 ; B 35 -143 697 806 ;
+C 162 ; WX 544 ; N a102 ; B 56 -14 488 706 ;
+C 163 ; WX 544 ; N a103 ; B 34 -14 508 705 ;
+C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ;
+C 165 ; WX 667 ; N a106 ; B 35 -14 633 705 ;
+C 166 ; WX 760 ; N a107 ; B 35 -14 726 705 ;
+C 167 ; WX 760 ; N a108 ; B 0 121 758 569 ;
+C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ;
+C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ;
+C 170 ; WX 694 ; N a110 ; B 35 -14 659 705 ;
+C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ;
+C 172 ; WX 788 ; N a120 ; B 35 -14 754 705 ;
+C 173 ; WX 788 ; N a121 ; B 35 -14 754 705 ;
+C 174 ; WX 788 ; N a122 ; B 35 -14 754 705 ;
+C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ;
+C 176 ; WX 788 ; N a124 ; B 35 -14 754 705 ;
+C 177 ; WX 788 ; N a125 ; B 35 -14 754 705 ;
+C 178 ; WX 788 ; N a126 ; B 35 -14 754 705 ;
+C 179 ; WX 788 ; N a127 ; B 35 -14 754 705 ;
+C 180 ; WX 788 ; N a128 ; B 35 -14 754 705 ;
+C 181 ; WX 788 ; N a129 ; B 35 -14 754 705 ;
+C 182 ; WX 788 ; N a130 ; B 35 -14 754 705 ;
+C 183 ; WX 788 ; N a131 ; B 35 -14 754 705 ;
+C 184 ; WX 788 ; N a132 ; B 35 -14 754 705 ;
+C 185 ; WX 788 ; N a133 ; B 35 -14 754 705 ;
+C 186 ; WX 788 ; N a134 ; B 35 -14 754 705 ;
+C 187 ; WX 788 ; N a135 ; B 35 -14 754 705 ;
+C 188 ; WX 788 ; N a136 ; B 35 -14 754 705 ;
+C 189 ; WX 788 ; N a137 ; B 35 -14 754 705 ;
+C 190 ; WX 788 ; N a138 ; B 35 -14 754 705 ;
+C 191 ; WX 788 ; N a139 ; B 35 -14 754 705 ;
+C 192 ; WX 788 ; N a140 ; B 35 -14 754 705 ;
+C 193 ; WX 788 ; N a141 ; B 35 -14 754 705 ;
+C 194 ; WX 788 ; N a142 ; B 35 -14 754 705 ;
+C 195 ; WX 788 ; N a143 ; B 35 -14 754 705 ;
+C 196 ; WX 788 ; N a144 ; B 35 -14 754 705 ;
+C 197 ; WX 788 ; N a145 ; B 35 -14 754 705 ;
+C 198 ; WX 788 ; N a146 ; B 35 -14 754 705 ;
+C 199 ; WX 788 ; N a147 ; B 35 -14 754 705 ;
+C 200 ; WX 788 ; N a148 ; B 35 -14 754 705 ;
+C 201 ; WX 788 ; N a149 ; B 35 -14 754 705 ;
+C 202 ; WX 788 ; N a150 ; B 35 -14 754 705 ;
+C 203 ; WX 788 ; N a151 ; B 35 -14 754 705 ;
+C 204 ; WX 788 ; N a152 ; B 35 -14 754 705 ;
+C 205 ; WX 788 ; N a153 ; B 35 -14 754 705 ;
+C 206 ; WX 788 ; N a154 ; B 35 -14 754 705 ;
+C 207 ; WX 788 ; N a155 ; B 35 -14 754 705 ;
+C 208 ; WX 788 ; N a156 ; B 35 -14 754 705 ;
+C 209 ; WX 788 ; N a157 ; B 35 -14 754 705 ;
+C 210 ; WX 788 ; N a158 ; B 35 -14 754 705 ;
+C 211 ; WX 788 ; N a159 ; B 35 -14 754 705 ;
+C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ;
+C 213 ; WX 838 ; N a161 ; B 35 152 803 540 ;
+C 214 ; WX 1016 ; N a163 ; B 34 152 981 540 ;
+C 215 ; WX 458 ; N a164 ; B 35 -127 422 820 ;
+C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ;
+C 217 ; WX 924 ; N a165 ; B 35 140 890 552 ;
+C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ;
+C 219 ; WX 918 ; N a166 ; B 35 166 884 526 ;
+C 220 ; WX 927 ; N a167 ; B 35 32 892 660 ;
+C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ;
+C 222 ; WX 928 ; N a169 ; B 35 128 893 563 ;
+C 223 ; WX 834 ; N a170 ; B 35 155 799 537 ;
+C 224 ; WX 873 ; N a171 ; B 35 93 838 599 ;
+C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ;
+C 226 ; WX 924 ; N a173 ; B 35 98 889 594 ;
+C 227 ; WX 924 ; N a162 ; B 35 98 889 594 ;
+C 228 ; WX 917 ; N a174 ; B 35 0 882 692 ;
+C 229 ; WX 930 ; N a175 ; B 35 84 896 608 ;
+C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ;
+C 231 ; WX 463 ; N a177 ; B 35 -99 429 791 ;
+C 232 ; WX 883 ; N a178 ; B 35 71 848 623 ;
+C 233 ; WX 836 ; N a179 ; B 35 44 802 648 ;
+C 234 ; WX 836 ; N a193 ; B 35 44 802 648 ;
+C 235 ; WX 867 ; N a180 ; B 35 101 832 591 ;
+C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ;
+C 237 ; WX 696 ; N a181 ; B 35 44 661 648 ;
+C 238 ; WX 696 ; N a200 ; B 35 44 661 648 ;
+C 239 ; WX 874 ; N a182 ; B 35 77 840 619 ;
+C 241 ; WX 874 ; N a201 ; B 35 73 840 615 ;
+C 242 ; WX 760 ; N a183 ; B 35 0 725 692 ;
+C 243 ; WX 946 ; N a184 ; B 35 160 911 533 ;
+C 244 ; WX 771 ; N a197 ; B 34 37 736 655 ;
+C 245 ; WX 865 ; N a185 ; B 35 207 830 481 ;
+C 246 ; WX 771 ; N a194 ; B 34 37 736 655 ;
+C 247 ; WX 888 ; N a198 ; B 34 -19 853 712 ;
+C 248 ; WX 967 ; N a186 ; B 35 124 932 568 ;
+C 249 ; WX 888 ; N a195 ; B 34 -19 853 712 ;
+C 250 ; WX 831 ; N a187 ; B 35 113 796 579 ;
+C 251 ; WX 873 ; N a188 ; B 36 118 838 578 ;
+C 252 ; WX 927 ; N a189 ; B 35 150 891 542 ;
+C 253 ; WX 970 ; N a190 ; B 35 76 931 616 ;
+C 254 ; WX 918 ; N a191 ; B 34 99 884 593 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/troff/troff.d/font/devpslow/DESC b/troff/troff.d/font/devpslow/DESC
new file mode 100644
index 0000000000000..7b6f3e1b01aac
--- /dev/null
+++ b/troff/troff.d/font/devpslow/DESC
@@ -0,0 +1,60 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# from OpenSolaris "DESC 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Description for PostScript devices with 432 dpi.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+anysize
+afmfonts
+lc_ctype
+res 432
+hor 1
+vert 1
+unitwidth 167
+biggestfont 200
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U
+*W *C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i
+*k *l *m *n *o *p *h *r *s *t *u *w *c *q *z \{
+\| \} ap fm <= sl if <- ua da de +- >= mu pt pd
+bu di != == ~~ al Ox O+ es ca cu sp ip sb ib mo
+gr rg co tm sr no \^ or lc lf lt lk lb bv is rc
+rf rt rk rb ts lh rh LV LH Lb L1 LA `` '' ob vr
+aq oq cq
diff --git a/troff/troff.d/font/devpsmed/DESC b/troff/troff.d/font/devpsmed/DESC
new file mode 100644
index 0000000000000..f30caa58d8f97
--- /dev/null
+++ b/troff/troff.d/font/devpsmed/DESC
@@ -0,0 +1,61 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# University Copyright- Copyright (c) 1982, 1986, 1988
+# The Regents of the University of California
+# All Rights Reserved
+#
+# University Acknowledgment- Portions of this document are derived from
+# software developed by the University of California, Berkeley, and its
+# contributors.
+#
+# from OpenSolaris "DESC 1.5 05/06/08 SMI" /* SVr4.0 1.1 */
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Description for PostScript devices with 3,600 dpi.
+#
+
+fonts 10 R I B BI CW H HB HX S1 S
+sizes 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+24 25 26 27 28 29 30 31 32 33 34 35 36 38 40 44 48 54 60 72 0
+anysize
+allpunct
+afmfonts
+lc_ctype
+res 3600
+hor 1
+vert 1
+unitwidth 20
+biggestfont 200
+charset
+hy ct fi fl ff Fi Fl dg em 14 34 12 \- en \' aa
+\` ga ru sc dd -> \e br Sl ps cs cy as os =. ld
+rd le ge pp -+ rs dq
+sq bx ci fa te ** pl mi \< eq \> ~= *A *B *X *D
+*E *F *G *Y *I *K *L *M *N *O *P *R *H *S *T *U
+*W *C *Q *Z ul \_ rn *a *b *x *d *e *f *g *y *i
+*k *l *m *n *o *p *h *r *s *t *u *w *c *q *z \{
+\| \} ap fm <= sl if <- ua da de +- >= mu pt pd
+bu di != == ~~ al Ox O+ es ca cu sp ip sb ib mo
+gr rg co tm sr no \^ or lc lf lt lk lb bv is rc
+rf rt rk rb ts lh rh LV LH Lb L1 LA `` '' ob vr
+aq oq cq
diff --git a/troff/troff.d/fontmap.c b/troff/troff.d/fontmap.c
new file mode 100644
index 0000000000000..afe8b44afdb89
--- /dev/null
+++ b/troff/troff.d/fontmap.c
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2015, Carsten Kunze
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include "fontmap.h"
+#include "bst.h"
+
+extern char *progname;
+
+static void inibuf(char *, size_t);
+static char *getword(int);
+static int mapcmp(union bst_val, union bst_val);
+
+static char *filepath;
+static char *bufp;
+static char *bufe;
+
+struct bst map = {
+ NULL,
+ mapcmp
+};
+
+void
+rdftmap(char *path) {
+ int fd;
+ struct stat sb;
+ char *buf;
+ ssize_t size;
+ char *key;
+ char *val;
+ if (map.root) return;
+ filepath = path;
+ if ((fd = open(path, O_RDONLY)) == -1) {
+ if (errno == ENOENT) return;
+ fprintf(stderr, "%s: Can't open font map file %s: ",
+ progname, path);
+ perror(NULL);
+ exit(1);
+ }
+ if (fstat(fd, &sb) == -1) {
+ fprintf(stderr, "%s: Can't get font map file %s status: ",
+ progname, path);
+ perror(NULL);
+ exit(1);
+ }
+ buf = malloc(sb.st_size);
+ if ((size = read(fd, buf, sb.st_size)) == -1) {
+ fprintf(stderr, "%s: Can't read font map file %s: ",
+ progname, path);
+ perror(NULL);
+ exit(1);
+ }
+ close(fd);
+ inibuf(buf, size);
+ while ((key = getword(0)) && (val = getword(1))) {
+ if (avl_add(&map, (union bst_val)(void *)key,
+ (union bst_val)(void *)val)) {
+ fprintf(stderr, "%s: Error while adding font "
+ "mapping %s -> %s\n", progname, key, val);
+ exit(1);
+ }
+ }
+ free(buf);
+}
+
+char *
+mapft(char *name) {
+ struct bst_node *n;
+ if (map.root && !bst_srch(&map, (union bst_val)(void *)name, &n))
+ name = n->data.p;
+ return name;
+}
+
+static void
+inibuf(char *buf, size_t size) {
+ bufp = buf;
+ bufe = buf + size;
+}
+
+/*
+ * type:
+ * 0 Accect \s*((#.*)?$|\S+) or EOF
+ * 1 Accept \s*\S+
+ */
+
+static char *
+getword(int type) {
+ char *word = bufp;
+ char c;
+nl:
+ while (word < bufe && ((c = *word) == ' ' || c == '\t')) word++;
+ if (word == bufe) goto eof;
+ if (c == '#' || c == '\n') {
+ if (type == 1) {
+ fprintf(stderr, "%s: Syntax error in font map file "
+ "%s\n", progname, filepath);
+ exit(1);
+ }
+ while (word < bufe && *word++ != '\n');
+ if (word == bufe) goto eof;
+ goto nl;
+ }
+ bufp = word;
+ while (bufp < bufe && ((c = *bufp) != ' ' && c != '\t' && c != '\n'
+ && c != '#')) bufp++;
+ if (type == 0 && (c == '#' || c == '\n')) {
+ fprintf(stderr, "%s: Syntax error in font map file %s\n",
+ progname, filepath);
+ exit(1);
+ }
+ *bufp = 0;
+ word = strdup(word);
+ *bufp = c;
+ return word;
+eof:
+ if (type == 1) {
+ fprintf(stderr, "%s: Unexpected end of font map file %s\n",
+ progname, filepath);
+ exit(1);
+ }
+ return NULL;
+}
+
+static int
+mapcmp(union bst_val a, union bst_val b) {
+ return strcmp(a.p, b.p);
+}
diff --git a/troff/troff.d/fontmap.h b/troff/troff.d/fontmap.h
new file mode 100644
index 0000000000000..1b01d565ed134
--- /dev/null
+++ b/troff/troff.d/fontmap.h
@@ -0,0 +1,2 @@
+void rdftmap(char *);
+char *mapft(char *);
diff --git a/troff/troff.d/makedev.c b/troff/troff.d/makedev.c
new file mode 100644
index 0000000000000..35008e795b472
--- /dev/null
+++ b/troff/troff.d/makedev.c
@@ -0,0 +1,491 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "makedev.c 1.6 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)makedev.c 1.16 (gritter) 9/22/06
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/* Note added 9/25/83
+ Setting the parameter biggestfont in the DESC file
+ to be at least as big as the number of characters
+ in the largest font for a particular device
+ eliminates the "font X too big for position Y"
+ message from troff.
+ Thanks to Dave Stephens, WECo.
+*/
+/*
+ makedev:
+ read text info about a particular device
+ (e.g., cat, 202, aps5) from file, convert
+ it into internal (binary) form suitable for
+ fast reading by troff initialization (ptinit()).
+
+ Usage:
+
+ makedev DESC [ F ... ]
+ uses DESC to create a description file
+ using the information therein.
+ It creates the file DESC.out.
+
+ makedev F ...
+ makes the font tables for fonts F only,
+ creates files F.out.
+
+ DESC.out contains:
+ dev structure with fundamental sizes
+ list of sizes (nsizes+1) terminated by 0, as short's
+ indices of char names (nchtab * sizeof(short))
+ char names as hy\0em\0... (lchname)
+ nfonts occurrences of
+ widths (nwidth)
+ kerning (nwidth) [ascender+descender only so far]
+ codes (nwidth) to drive actual typesetter
+ fitab (nchtab+128-32)
+ each of these is an array of char.
+
+ dev.filesize contains the number of bytes
+ in the file, excluding the dev part itself.
+
+ F.out contains the font header, width, kern, codes, and fitab.
+ Width, kern and codes are parallel arrays.
+ (Which suggests that they ought to be together?)
+ Later, we might allow for codes which are actually
+ sequences of formatting info so characters can be drawn.
+
+ As of 9/4/05, troff reads the text files directly, and this
+ code is called directly during initialization to fill the
+ binary structures in core.
+*/
+
+#include "string.h"
+#include "sys/types.h"
+#include "sys/stat.h"
+#include "fcntl.h"
+#include "unistd.h"
+#include "stdlib.h"
+#include "ctype.h"
+#include "dev.h"
+
+#ifndef EOF
+#define EOF (-1)
+#endif
+
+extern void errprint(const char *, ...);
+
+struct mfile {
+ char *buf;
+ size_t size;
+ size_t pos;
+ int delc;
+};
+
+#define BYTEMASK 0377
+#define skipline(mp) while ((mp)->delc != '\n' && \
+ (mp)->buf[(mp)->pos++] != '\n' && \
+ (mp)->buf[(mp)->pos-1] != 0)
+
+static struct dev dev;
+static struct Font font;
+
+#define NSIZE 100 /* maximum number of sizes */
+static int size[NSIZE];
+#define NCH 512 /* max number of characters with funny names */
+static char chname[5*NCH]; /* character names, including \0 for each */
+static short chtab[NCH]; /* index of character in chname */
+
+#define NFITAB (NCH + 128-32) /* includes ascii chars, but not non-graphics */
+static char fitab[NFITAB]; /* font index table: position of char i on this font. */
+ /* zero if not there */
+
+#define FSIZE 256 /* size of a physical font (e.g., 102 for cat) */
+static char width[FSIZE]; /* width table for a physical font */
+static char kern[FSIZE]; /* ascender+descender info */
+static char code[FSIZE]; /* actual device codes for a physical font */
+
+#define NFONT 60 /* max number of default fonts */
+static char fname[NFONT][10]; /* temp space to hold default font names */
+
+static void *_readfont(const char *, size_t *, int);
+static int getlig(struct mfile *, int);
+static struct mfile *mopen(const char *);
+static void mclose(struct mfile *);
+static char *sget(struct mfile *);
+#define dget(mp, ip) iget(mp, ip, 10)
+#define oget(mp, ip) iget(mp, ip, 8)
+static int iget(struct mfile *, int *, int);
+static int cget(struct mfile *);
+static int peek(struct mfile *);
+
+void *
+readdesc(const char *name)
+{
+ char *cmd, *p, *q;
+ int i, totfont, v;
+ char *cpout, *fpout;
+ size_t sz, fsz;
+ char *dir, *dp, *dq;
+ struct mfile *mp;
+ size_t l;
+
+ memset(&dev, 0, sizeof dev);
+ if ((mp = mopen(name)) == NULL) {
+ errprint("can't open tables for %s", name);
+ return NULL;
+ }
+ while ((cmd = sget(mp)) != NULL) {
+ if (cmd[0] == '#') /* comment */
+ skipline(mp);
+ else if (strcmp(cmd, "res") == 0) {
+ dget(mp, &dev.res);
+ } else if (strcmp(cmd, "hor") == 0) {
+ dget(mp, &dev.hor);
+ } else if (strcmp(cmd, "vert") == 0) {
+ dget(mp, &dev.vert);
+ } else if (strcmp(cmd, "unitwidth") == 0) {
+ dget(mp, &dev.unitwidth);
+ } else if (strcmp(cmd, "sizescale") == 0) {
+ dget(mp, &dev.sizescale);
+ } else if (strcmp(cmd, "paperwidth") == 0) {
+ dget(mp, &dev.paperwidth);
+ } else if (strcmp(cmd, "paperlength") == 0) {
+ dget(mp, &dev.paperlength);
+ } else if (strcmp(cmd, "biggestfont") == 0) {
+ dget(mp, &dev.biggestfont);
+ } else if (strcmp(cmd, "spare2") == 0) {
+ dget(mp, &dev.spare2);
+ } else if (strcmp(cmd, "encoding") == 0) {
+ dget(mp, &dev.encoding);
+ } else if (strcmp(cmd, "allpunct") == 0) {
+ dev.allpunct = 1;
+ } else if (strcmp(cmd, "anysize") == 0) {
+ dev.anysize = 1;
+ } else if (strcmp(cmd, "afmfonts") == 0) {
+ dev.afmfonts = 1;
+ } else if (strcmp(cmd, "lc_ctype") == 0) {
+ dev.lc_ctype = 1;
+ } else if (strcmp(cmd, "sizes") == 0) {
+ dev.nsizes = 0;
+ while (dget(mp, &v) != EOF && v != 0)
+ size[dev.nsizes++] = v;
+ size[dev.nsizes] = 0; /* need an extra 0 at the end */
+ } else if (strcmp(cmd, "fonts") == 0) {
+ dget(mp, &dev.nfonts);
+ for (i = 0; i < dev.nfonts; i++)
+ if ((p = sget(mp)) != NULL)
+ strncpy(fname[i], p,
+ sizeof fname[i] - 1);
+ } else if (strcmp(cmd, "charset") == 0) {
+ p = chname;
+ dev.nchtab = 0;
+ while ((q = sget(mp)) != NULL) {
+ n_strcpy(p, q, sizeof(chname) - (p - chname));
+ chtab[dev.nchtab++] = p - chname;
+ while (*p++) /* skip to end of name */
+ ;
+ }
+ dev.lchname = p - chname;
+ chtab[dev.nchtab++] = 0; /* terminate properly */
+ } else
+ errprint("Unknown command %s in %s", cmd, name);
+ }
+ cpout = calloc(1, sz = sizeof dev +
+ sizeof *size * (dev.nsizes+1) +
+ sizeof *chtab * dev.nchtab +
+ sizeof *chname * dev.lchname);
+ memcpy(cpout, &dev, sizeof dev);
+ v = sizeof dev;
+ memcpy(&cpout[v], size, sizeof *size * (dev.nsizes+1));
+ v += sizeof *size * (dev.nsizes+1);
+ memcpy(&cpout[v], chtab, sizeof *chtab * dev.nchtab);
+ v += sizeof *chtab * dev.nchtab;
+ memcpy(&cpout[v], chname, sizeof *chname * dev.lchname);
+ v += sizeof *chname * dev.lchname;
+ l = strlen(name) + sizeof fname[0] + 2;
+ dp = dir = malloc(l);
+ n_strcpy(dir, name, l);
+ for (dq = dir; *dq; dq++)
+ if (*dq == '/')
+ dp = &dq[1];
+ totfont = 0;
+ for (i = 0; i < dev.nfonts; i++) {
+ n_strcpy(dp, fname[i], l - (dp - dir));
+ if ((fpout = _readfont(dir, &fsz, 1)) == NULL) {
+ mclose(mp);
+ return NULL;
+ }
+ sz += fsz;
+ cpout = realloc(cpout, sz);
+ memcpy(&cpout[v], fpout, fsz);
+ v += fsz;
+ free(fpout);
+ totfont += fsz;
+ }
+ /* back to beginning to install proper size */
+ dev.filesize = /* excluding dev struct itself */
+ (dev.nsizes+1) * sizeof(size[0])
+ + dev.nchtab * sizeof(chtab[0])
+ + dev.lchname * sizeof(chname[0])
+ + totfont * sizeof(char);
+ memcpy(cpout, &dev, sizeof dev);
+ mclose(mp);
+ return cpout;
+}
+
+void *
+readfont(const char *name, struct dev *dp, int warn)
+{
+ dev = *dp;
+ return _readfont(name, NULL, warn);
+}
+
+static void *
+_readfont(const char *name, size_t *szp, int warn) /* create fitab and width tab for font */
+{
+ struct mfile *mp;
+ int i, nw = 0, spacewidth, n = 0, v;
+ char *ch, *cmd;
+ char *cpout;
+
+ if ((mp = mopen(name)) == NULL) {
+ if (warn)
+ errprint("Can't load font %s", name);
+ return NULL;
+ }
+ for (i = 0; i < NFITAB; i++)
+ fitab[i] = 0;
+ for (i = 0; i < FSIZE; i++)
+ width[i] = kern[i] = code[i] = 0;
+ font.specfont = font.ligfont = spacewidth = 0;
+ while ((cmd = sget(mp)) != NULL) {
+ if (cmd[0] == '#')
+ skipline(mp);
+ else if (strcmp(cmd, "name") == 0) {
+ if ((ch = sget(mp)) != NULL)
+ strncpy(font.namefont, ch,
+ sizeof font.namefont - 1);
+ } else if (strcmp(cmd, "internalname") == 0) {
+ if ((ch = sget(mp)) != NULL)
+ strncpy(font.intname, ch,
+ sizeof font.intname - 1);
+ } else if (strcmp(cmd, "special") == 0)
+ font.specfont = 1;
+ else if (strcmp(cmd, "spare1") == 0)
+ cget(mp);
+ else if (strcmp(cmd, "ligatures") == 0) {
+ font.ligfont = getlig(mp, warn);
+ } else if (strcmp(cmd, "spacewidth") == 0) {
+ dget(mp, &spacewidth);
+ width[0] = spacewidth; /* width of space on this font */
+ } else if (strcmp(cmd, "charset") == 0) {
+ skipline(mp);
+ nw = 0;
+ /* widths are origin 1 so fitab==0 can mean "not there" */
+ while ((ch = sget(mp)) != NULL) {
+ if (peek(mp) != '"') { /* it's a genuine new character */
+ nw++;
+ dget(mp, &i);
+ width[nw] = i;
+ dget(mp, &i);
+ kern[nw] = i;
+ iget(mp, &i, 0);
+ code[nw] = i;
+ }
+ /* otherwise it's a synonym for previous character,
+ * so leave previous values intact
+ */
+ if (strlen(ch) == 1) /* it's ascii */
+ fitab[ch[0] - 32] = nw; /* fitab origin omits non-graphics */
+ else if (strcmp(ch, "---") != 0) { /* it has a 2-char name */
+ for (i = 0; i < dev.nchtab; i++)
+ if (strcmp(&chname[chtab[i]], ch) == 0) {
+ fitab[i + 128-32] = nw; /* starts after the ascii */
+ break;
+ }
+ if (i >= dev.nchtab && warn)
+ errprint("font %s: %s not in charset\n", name, ch);
+ }
+ skipline(mp);
+ }
+ nw++;
+ if (dev.biggestfont >= nw)
+ n = dev.biggestfont;
+ else {
+ if (dev.biggestfont > 0 && warn)
+ errprint("font %s too big\n", name);
+ n = nw;
+ }
+ font.nwfont = n;
+ }
+ }
+ if (spacewidth == 0)
+ width[0] = dev.res * dev.unitwidth / 72 / 3;
+
+ cpout = calloc(1, sizeof font +
+ sizeof *width * (font.nwfont & BYTEMASK) +
+ sizeof *kern * (font.nwfont & BYTEMASK) +
+ sizeof *code * (font.nwfont & BYTEMASK) +
+ sizeof *fitab * dev.nchtab+128-32);
+ memcpy(cpout, &font, sizeof font);
+ v = sizeof font;
+ memcpy(&cpout[v], width, sizeof *width * (font.nwfont & BYTEMASK));
+ v += sizeof *width * (font.nwfont & BYTEMASK);
+ memcpy(&cpout[v], kern, sizeof *kern * (font.nwfont & BYTEMASK));
+ v += sizeof *kern * (font.nwfont & BYTEMASK);
+ memcpy(&cpout[v], code, sizeof *code * (font.nwfont & BYTEMASK));
+ v += sizeof *code * (font.nwfont & BYTEMASK);
+ memcpy(&cpout[v], fitab, sizeof *fitab * dev.nchtab+128-32);
+ v += sizeof *fitab * dev.nchtab+128-32;
+ if (szp)
+ *szp = v;
+ mclose(mp);
+ return cpout;
+}
+
+static int
+getlig(struct mfile *mp, int warn) /* pick up ligature list */
+{
+ int lig;
+ char *temp;
+
+ lig = 0;
+ while ((temp = sget(mp)) != NULL && strcmp(temp, "0") != 0) {
+ if (strcmp(temp, "fi") == 0)
+ lig |= LFI;
+ else if (strcmp(temp, "fl") == 0)
+ lig |= LFL;
+ else if (strcmp(temp, "ff") == 0)
+ lig |= LFF;
+ else if (strcmp(temp, "ffi") == 0)
+ lig |= LFFI;
+ else if (strcmp(temp, "ffl") == 0)
+ lig |= LFFL;
+ else if (warn)
+ errprint("illegal ligature %s\n", temp);
+ }
+ skipline(mp);
+ return lig;
+}
+
+static struct mfile *
+mopen(const char *name)
+{
+ struct stat st;
+ int fd;
+ struct mfile *mp;
+
+ if ((mp = calloc(1, sizeof *mp)) == NULL ||
+ (fd = open(name, O_RDONLY)) < 0 ||
+ fstat(fd, &st) < 0 ||
+ (mp->buf = malloc(mp->size = st.st_size + 1)) == NULL ||
+ read(fd, mp->buf, st.st_size) != st.st_size ||
+ close(fd) < 0)
+ return NULL;
+ mp->buf[mp->size - 1] = 0;
+ return mp;
+}
+
+static void
+mclose(struct mfile *mp)
+{
+ free(mp->buf);
+ free(mp);
+}
+
+static char *
+sget(struct mfile *mp)
+{
+ int c;
+ char *rp;
+
+ if (mp->pos < mp->size - 1) {
+ do
+ c = mp->buf[mp->pos++]&0377;
+ while (isspace(c));
+ rp = &mp->buf[mp->pos-1];
+ if (c != 0) do {
+ c = mp->buf[mp->pos++]&0377;
+ } while (c != 0 && !isspace(c));
+ mp->delc = mp->buf[mp->pos-1] & 0377;
+ mp->buf[mp->pos-1] = 0;
+ } else
+ rp = NULL;
+ return rp;
+}
+
+static int
+iget(struct mfile *mp, int *ip, int base)
+{
+ char *xp;
+ int gotit;
+
+ if (mp->pos >= mp->size - 1)
+ return EOF;
+ *ip = strtol(&mp->buf[mp->pos], &xp, base);
+ gotit = xp > &mp->buf[mp->pos] && isdigit(xp[-1]&0377);
+ mp->pos = xp - mp->buf;
+ mp->delc = 0;
+ return gotit;
+}
+
+static int
+cget(struct mfile *mp)
+{
+ if (mp->pos >= mp->size - 1)
+ return EOF;
+ mp->delc = 0;
+ return mp->buf[mp->pos++] & 0377;
+}
+
+static int
+peek(struct mfile *mp)
+{
+ char *cp;
+
+ if (mp->pos >= mp->size - 1)
+ return EOF;
+ cp = &mp->buf[mp->pos];
+ while (isspace(*cp&0377))
+ cp++;
+ return *cp & 0377;
+}
diff --git a/troff/troff.d/otf.c b/troff/troff.d/otf.c
new file mode 100644
index 0000000000000..1f3643030cf98
--- /dev/null
+++ b/troff/troff.d/otf.c
@@ -0,0 +1,3597 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)otf.c 1.68 (gritter) 3/17/10
+ */
+
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <ctype.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <inttypes.h>
+#include <stdarg.h>
+#include <setjmp.h>
+#include <limits.h>
+#include "dev.h"
+#include "afm.h"
+
+extern struct dev dev;
+extern char *chname;
+extern short *chtab;
+extern int nchtab;
+
+extern void errprint(const char *, ...);
+extern void verrprint(const char *, va_list);
+
+static jmp_buf breakpoint;
+static char *contents;
+static size_t size;
+static unsigned short numTables;
+static int ttf;
+static const char *filename;
+unsigned short unitsPerEm;
+short xMin, yMin, xMax, yMax;
+short indexToLocFormat;
+static struct afmtab *a;
+static int nc;
+static int fsType;
+static int WeightClass;
+static int isFixedPitch;
+static int minMemType42;
+static int maxMemType42;
+static int numGlyphs;
+static char *PostScript_name;
+static char *Copyright;
+static char *Notice;
+
+static struct table_directory {
+ char tag[4];
+ unsigned long checkSum;
+ unsigned long offset;
+ unsigned long length;
+} *table_directories;
+
+static int pos_CFF;
+static int pos_head;
+static int pos_hhea;
+static int pos_loca;
+static int pos_prep;
+static int pos_fpgm;
+static int pos_vhea;
+static int pos_glyf;
+static int pos_cvt;
+static int pos_maxp;
+static int pos_vmtx;
+static int pos_hmtx;
+static int pos_OS_2;
+static int pos_GSUB;
+static int pos_GPOS;
+static int pos_post;
+static int pos_kern;
+static int pos_name;
+static int pos_cmap;
+
+static struct table {
+ const char *name;
+ int *pos;
+ int in_sfnts;
+ uint32_t checksum;
+} tables[] = {
+ { "CFF ", &pos_CFF, 0 },
+ { "cmap", &pos_cmap, 0 },
+ { "cvt ", &pos_cvt, 1 },
+ { "fpgm", &pos_fpgm, 1 },
+ { "GPOS", &pos_GPOS, 0 },
+ { "GSUB", &pos_GSUB, 0 },
+ { "head", &pos_head, 2 },
+ { "hhea", &pos_hhea, 1 },
+ { "hmtx", &pos_hmtx, 1 },
+ { "kern", &pos_kern, 0 },
+ { "loca", &pos_loca, 1 },
+ { "maxp", &pos_maxp, 1 },
+ { "name", &pos_name, 0 },
+ { "OS/2", &pos_OS_2, 0 },
+ { "post", &pos_post, 0 },
+ { "prep", &pos_prep, 1 },
+ { "vhea", &pos_vhea, 1 },
+ { "vmtx", &pos_vmtx, 1 },
+ { "glyf", &pos_glyf, 3 }, /* holds glyph data */
+ { NULL, NULL, 0 }
+};
+
+static unsigned short *gid2sid;
+
+struct INDEX {
+ unsigned short count;
+ int offSize;
+ int *offset;
+ char *data;
+};
+
+static struct CFF {
+ struct INDEX *Name;
+ struct INDEX *Top_DICT;
+ struct INDEX *String;
+ struct INDEX *Global_Subr;
+ struct INDEX *CharStrings;
+ int Charset;
+ int baseoffset;
+} CFF;
+
+static const int ExpertCharset[] = {
+ 0, 1, 229, 230, 231, 232, 233, 234, 235,
+ 236, 237, 238, 13, 14, 15, 99, 239, 240,
+ 241, 242, 243, 244, 245, 246, 247, 248, 27,
+ 28, 249, 250, 251, 252, 253, 254, 255, 256,
+ 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 109, 110, 267, 268, 269, 270, 271, 272,
+ 273, 274, 275, 276, 277, 278, 279, 280, 281,
+ 282, 283, 284, 285, 286, 287, 288, 289, 290,
+ 291, 292, 293, 294, 295, 296, 297, 298, 299,
+ 300, 301, 302, 303, 304, 305, 306, 307, 308,
+ 309, 310, 311, 312, 313, 314, 315, 316, 317,
+ 318, 158, 155, 163, 319, 320, 321, 322, 323,
+ 324, 325, 326, 150, 164, 169, 327, 328, 329,
+ 330, 331, 332, 333, 334, 335, 336, 337, 338,
+ 339, 340, 341, 342, 343, 344, 345, 346, 347,
+ 348, 349, 350, 351, 352, 353, 354, 355, 356,
+ 357, 358, 359, 360, 361, 362, 363, 364, 365,
+ 366, 367, 368, 369, 370, 371, 372, 373, 374,
+ 375, 376, 377, 378
+};
+
+static const int ExpertSubsetCharset[] = {
+ 0, 1, 231, 232, 235, 236, 237, 238, 13,
+ 14, 15, 99, 239, 240, 241, 242, 243, 244,
+ 245, 246, 247, 248, 27, 28, 249, 250, 251,
+ 253, 254, 255, 256, 257, 258, 259, 260, 261,
+ 262, 263, 264, 265, 266, 109, 110, 267, 268,
+ 269, 270, 272, 300, 301, 302, 305, 314, 315,
+ 158, 155, 163, 320, 321, 322, 323, 324, 325,
+ 326, 150, 164, 169, 327, 328, 329, 330, 331,
+ 332, 333, 334, 335, 336, 337, 338, 339, 340,
+ 341, 342, 343, 344, 345, 346
+};
+
+static const char *const StandardStrings[] = {
+ ".notdef", /* 0 */
+ "space", /* 1 */
+ "exclam", /* 2 */
+ "quotedbl", /* 3 */
+ "numbersign", /* 4 */
+ "dollar", /* 5 */
+ "percent", /* 6 */
+ "ampersand", /* 7 */
+ "quoteright", /* 8 */
+ "parenleft", /* 9 */
+ "parenright", /* 10 */
+ "asterisk", /* 11 */
+ "plus", /* 12 */
+ "comma", /* 13 */
+ "hyphen", /* 14 */
+ "period", /* 15 */
+ "slash", /* 16 */
+ "zero", /* 17 */
+ "one", /* 18 */
+ "two", /* 19 */
+ "three", /* 20 */
+ "four", /* 21 */
+ "five", /* 22 */
+ "six", /* 23 */
+ "seven", /* 24 */
+ "eight", /* 25 */
+ "nine", /* 26 */
+ "colon", /* 27 */
+ "semicolon", /* 28 */
+ "less", /* 29 */
+ "equal", /* 30 */
+ "greater", /* 31 */
+ "question", /* 32 */
+ "at", /* 33 */
+ "A", /* 34 */
+ "B", /* 35 */
+ "C", /* 36 */
+ "D", /* 37 */
+ "E", /* 38 */
+ "F", /* 39 */
+ "G", /* 40 */
+ "H", /* 41 */
+ "I", /* 42 */
+ "J", /* 43 */
+ "K", /* 44 */
+ "L", /* 45 */
+ "M", /* 46 */
+ "N", /* 47 */
+ "O", /* 48 */
+ "P", /* 49 */
+ "Q", /* 50 */
+ "R", /* 51 */
+ "S", /* 52 */
+ "T", /* 53 */
+ "U", /* 54 */
+ "V", /* 55 */
+ "W", /* 56 */
+ "X", /* 57 */
+ "Y", /* 58 */
+ "Z", /* 59 */
+ "bracketleft", /* 60 */
+ "backslash", /* 61 */
+ "bracketright", /* 62 */
+ "asciicircum", /* 63 */
+ "underscore", /* 64 */
+ "quoteleft", /* 65 */
+ "a", /* 66 */
+ "b", /* 67 */
+ "c", /* 68 */
+ "d", /* 69 */
+ "e", /* 70 */
+ "f", /* 71 */
+ "g", /* 72 */
+ "h", /* 73 */
+ "i", /* 74 */
+ "j", /* 75 */
+ "k", /* 76 */
+ "l", /* 77 */
+ "m", /* 78 */
+ "n", /* 79 */
+ "o", /* 80 */
+ "p", /* 81 */
+ "q", /* 82 */
+ "r", /* 83 */
+ "s", /* 84 */
+ "t", /* 85 */
+ "u", /* 86 */
+ "v", /* 87 */
+ "w", /* 88 */
+ "x", /* 89 */
+ "y", /* 90 */
+ "z", /* 91 */
+ "braceleft", /* 92 */
+ "bar", /* 93 */
+ "braceright", /* 94 */
+ "asciitilde", /* 95 */
+ "exclamdown", /* 96 */
+ "cent", /* 97 */
+ "sterling", /* 98 */
+ "fraction", /* 99 */
+ "yen", /* 100 */
+ "florin", /* 101 */
+ "section", /* 102 */
+ "currency", /* 103 */
+ "quotesingle", /* 104 */
+ "quotedblleft", /* 105 */
+ "guillemotleft", /* 106 */
+ "guilsinglleft", /* 107 */
+ "guilsinglright", /* 108 */
+ "fi", /* 109 */
+ "fl", /* 110 */
+ "endash", /* 111 */
+ "dagger", /* 112 */
+ "daggerdbl", /* 113 */
+ "periodcentered", /* 114 */
+ "paragraph", /* 115 */
+ "bullet", /* 116 */
+ "quotesinglbase", /* 117 */
+ "quotedblbase", /* 118 */
+ "quotedblright", /* 119 */
+ "guillemotright", /* 120 */
+ "ellipsis", /* 121 */
+ "perthousand", /* 122 */
+ "questiondown", /* 123 */
+ "grave", /* 124 */
+ "acute", /* 125 */
+ "circumflex", /* 126 */
+ "tilde", /* 127 */
+ "macron", /* 128 */
+ "breve", /* 129 */
+ "dotaccent", /* 130 */
+ "dieresis", /* 131 */
+ "ring", /* 132 */
+ "cedilla", /* 133 */
+ "hungarumlaut", /* 134 */
+ "ogonek", /* 135 */
+ "caron", /* 136 */
+ "emdash", /* 137 */
+ "AE", /* 138 */
+ "ordfeminine", /* 139 */
+ "Lslash", /* 140 */
+ "Oslash", /* 141 */
+ "OE", /* 142 */
+ "ordmasculine", /* 143 */
+ "ae", /* 144 */
+ "dotlessi", /* 145 */
+ "lslash", /* 146 */
+ "oslash", /* 147 */
+ "oe", /* 148 */
+ "germandbls", /* 149 */
+ "onesuperior", /* 150 */
+ "logicalnot", /* 151 */
+ "mu", /* 152 */
+ "trademark", /* 153 */
+ "Eth", /* 154 */
+ "onehalf", /* 155 */
+ "plusminus", /* 156 */
+ "Thorn", /* 157 */
+ "onequarter", /* 158 */
+ "divide", /* 159 */
+ "brokenbar", /* 160 */
+ "degree", /* 161 */
+ "thorn", /* 162 */
+ "threequarters", /* 163 */
+ "twosuperior", /* 164 */
+ "registered", /* 165 */
+ "minus", /* 166 */
+ "eth", /* 167 */
+ "multiply", /* 168 */
+ "threesuperior", /* 169 */
+ "copyright", /* 170 */
+ "Aacute", /* 171 */
+ "Acircumflex", /* 172 */
+ "Adieresis", /* 173 */
+ "Agrave", /* 174 */
+ "Aring", /* 175 */
+ "Atilde", /* 176 */
+ "Ccedilla", /* 177 */
+ "Eacute", /* 178 */
+ "Ecircumflex", /* 179 */
+ "Edieresis", /* 180 */
+ "Egrave", /* 181 */
+ "Iacute", /* 182 */
+ "Icircumflex", /* 183 */
+ "Idieresis", /* 184 */
+ "Igrave", /* 185 */
+ "Ntilde", /* 186 */
+ "Oacute", /* 187 */
+ "Ocircumflex", /* 188 */
+ "Odieresis", /* 189 */
+ "Ograve", /* 190 */
+ "Otilde", /* 191 */
+ "Scaron", /* 192 */
+ "Uacute", /* 193 */
+ "Ucircumflex", /* 194 */
+ "Udieresis", /* 195 */
+ "Ugrave", /* 196 */
+ "Yacute", /* 197 */
+ "Ydieresis", /* 198 */
+ "Zcaron", /* 199 */
+ "aacute", /* 200 */
+ "acircumflex", /* 201 */
+ "adieresis", /* 202 */
+ "agrave", /* 203 */
+ "aring", /* 204 */
+ "atilde", /* 205 */
+ "ccedilla", /* 206 */
+ "eacute", /* 207 */
+ "ecircumflex", /* 208 */
+ "edieresis", /* 209 */
+ "egrave", /* 210 */
+ "iacute", /* 211 */
+ "icircumflex", /* 212 */
+ "idieresis", /* 213 */
+ "igrave", /* 214 */
+ "ntilde", /* 215 */
+ "oacute", /* 216 */
+ "ocircumflex", /* 217 */
+ "odieresis", /* 218 */
+ "ograve", /* 219 */
+ "otilde", /* 220 */
+ "scaron", /* 221 */
+ "uacute", /* 222 */
+ "ucircumflex", /* 223 */
+ "udieresis", /* 224 */
+ "ugrave", /* 225 */
+ "yacute", /* 226 */
+ "ydieresis", /* 227 */
+ "zcaron", /* 228 */
+ "exclamsmall", /* 229 */
+ "Hungarumlautsmall", /* 230 */
+ "dollaroldstyle", /* 231 */
+ "dollarsuperior", /* 232 */
+ "ampersandsmall", /* 233 */
+ "Acutesmall", /* 234 */
+ "parenleftsuperior", /* 235 */
+ "parenrightsuperior", /* 236 */
+ "twodotenleader", /* 237 */
+ "onedotenleader", /* 238 */
+ "zerooldstyle", /* 239 */
+ "oneoldstyle", /* 240 */
+ "twooldstyle", /* 241 */
+ "threeoldstyle", /* 242 */
+ "fouroldstyle", /* 243 */
+ "fiveoldstyle", /* 244 */
+ "sixoldstyle", /* 245 */
+ "sevenoldstyle", /* 246 */
+ "eightoldstyle", /* 247 */
+ "nineoldstyle", /* 248 */
+ "commasuperior", /* 249 */
+ "threequartersemdash", /* 250 */
+ "periodsuperior", /* 251 */
+ "questionsmall", /* 252 */
+ "asuperior", /* 253 */
+ "bsuperior", /* 254 */
+ "centsuperior", /* 255 */
+ "dsuperior", /* 256 */
+ "esuperior", /* 257 */
+ "isuperior", /* 258 */
+ "lsuperior", /* 259 */
+ "msuperior", /* 260 */
+ "nsuperior", /* 261 */
+ "osuperior", /* 262 */
+ "rsuperior", /* 263 */
+ "ssuperior", /* 264 */
+ "tsuperior", /* 265 */
+ "ff", /* 266 */
+ "ffi", /* 267 */
+ "ffl", /* 268 */
+ "parenleftinferior", /* 269 */
+ "parenrightinferior", /* 270 */
+ "Circumflexsmall", /* 271 */
+ "hyphensuperior", /* 272 */
+ "Gravesmall", /* 273 */
+ "Asmall", /* 274 */
+ "Bsmall", /* 275 */
+ "Csmall", /* 276 */
+ "Dsmall", /* 277 */
+ "Esmall", /* 278 */
+ "Fsmall", /* 279 */
+ "Gsmall", /* 280 */
+ "Hsmall", /* 281 */
+ "Ismall", /* 282 */
+ "Jsmall", /* 283 */
+ "Ksmall", /* 284 */
+ "Lsmall", /* 285 */
+ "Msmall", /* 286 */
+ "Nsmall", /* 287 */
+ "Osmall", /* 288 */
+ "Psmall", /* 289 */
+ "Qsmall", /* 290 */
+ "Rsmall", /* 291 */
+ "Ssmall", /* 292 */
+ "Tsmall", /* 293 */
+ "Usmall", /* 294 */
+ "Vsmall", /* 295 */
+ "Wsmall", /* 296 */
+ "Xsmall", /* 297 */
+ "Ysmall", /* 298 */
+ "Zsmall", /* 299 */
+ "colonmonetary", /* 300 */
+ "onefitted", /* 301 */
+ "rupiah", /* 302 */
+ "Tildesmall", /* 303 */
+ "exclamdownsmall", /* 304 */
+ "centoldstyle", /* 305 */
+ "Lslashsmall", /* 306 */
+ "Scaronsmall", /* 307 */
+ "Zcaronsmall", /* 308 */
+ "Dieresissmall", /* 309 */
+ "Brevesmall", /* 310 */
+ "Caronsmall", /* 311 */
+ "Dotaccentsmall", /* 312 */
+ "Macronsmall", /* 313 */
+ "figuredash", /* 314 */
+ "hypheninferior", /* 315 */
+ "Ogoneksmall", /* 316 */
+ "Ringsmall", /* 317 */
+ "Cedillasmall", /* 318 */
+ "questiondownsmall", /* 319 */
+ "oneeighth", /* 320 */
+ "threeeighths", /* 321 */
+ "fiveeighths", /* 322 */
+ "seveneighths", /* 323 */
+ "onethird", /* 324 */
+ "twothirds", /* 325 */
+ "zerosuperior", /* 326 */
+ "foursuperior", /* 327 */
+ "fivesuperior", /* 328 */
+ "sixsuperior", /* 329 */
+ "sevensuperior", /* 330 */
+ "eightsuperior", /* 331 */
+ "ninesuperior", /* 332 */
+ "zeroinferior", /* 333 */
+ "oneinferior", /* 334 */
+ "twoinferior", /* 335 */
+ "threeinferior", /* 336 */
+ "fourinferior", /* 337 */
+ "fiveinferior", /* 338 */
+ "sixinferior", /* 339 */
+ "seveninferior", /* 340 */
+ "eightinferior", /* 341 */
+ "nineinferior", /* 342 */
+ "centinferior", /* 343 */
+ "dollarinferior", /* 344 */
+ "periodinferior", /* 345 */
+ "commainferior", /* 346 */
+ "Agravesmall", /* 347 */
+ "Aacutesmall", /* 348 */
+ "Acircumflexsmall", /* 349 */
+ "Atildesmall", /* 350 */
+ "Adieresissmall", /* 351 */
+ "Aringsmall", /* 352 */
+ "AEsmall", /* 353 */
+ "Ccedillasmall", /* 354 */
+ "Egravesmall", /* 355 */
+ "Eacutesmall", /* 356 */
+ "Ecircumflexsmall", /* 357 */
+ "Edieresissmall", /* 358 */
+ "Igravesmall", /* 359 */
+ "Iacutesmall", /* 360 */
+ "Icircumflexsmall", /* 361 */
+ "Idieresissmall", /* 362 */
+ "Ethsmall", /* 363 */
+ "Ntildesmall", /* 364 */
+ "Ogravesmall", /* 365 */
+ "Oacutesmall", /* 366 */
+ "Ocircumflexsmall", /* 367 */
+ "Otildesmall", /* 368 */
+ "Odieresissmall", /* 369 */
+ "OEsmall", /* 370 */
+ "Oslashsmall", /* 371 */
+ "Ugravesmall", /* 372 */
+ "Uacutesmall", /* 373 */
+ "Ucircumflexsmall", /* 374 */
+ "Udieresissmall", /* 375 */
+ "Yacutesmall", /* 376 */
+ "Thornsmall", /* 377 */
+ "Ydieresissmall", /* 378 */
+ "001.000", /* 379 */
+ "001.001", /* 380 */
+ "001.002", /* 381 */
+ "001.003", /* 382 */
+ "Black", /* 383 */
+ "Bold", /* 384 */
+ "Book", /* 385 */
+ "Light", /* 386 */
+ "Medium", /* 387 */
+ "Regular", /* 388 */
+ "Roman", /* 389 */
+ "Semibold" /* 390 */
+};
+
+static const int nStdStrings = 391;
+
+static const char *const MacintoshStrings[] = {
+ ".notdef", /* 0 */
+ ".null", /* 1 */
+ "nonmarkingreturn", /* 2 */
+ "space", /* 3 */
+ "exclam", /* 4 */
+ "quotedbl", /* 5 */
+ "numbersign", /* 6 */
+ "dollar", /* 7 */
+ "percent", /* 8 */
+ "ampersand", /* 9 */
+ "quotesingle", /* 10 */
+ "parenleft", /* 11 */
+ "parenright", /* 12 */
+ "asterisk", /* 13 */
+ "plus", /* 14 */
+ "comma", /* 15 */
+ "hyphen", /* 16 */
+ "period", /* 17 */
+ "slash", /* 18 */
+ "zero", /* 19 */
+ "one", /* 20 */
+ "two", /* 21 */
+ "three", /* 22 */
+ "four", /* 23 */
+ "five", /* 24 */
+ "six", /* 25 */
+ "seven", /* 26 */
+ "eight", /* 27 */
+ "nine", /* 28 */
+ "colon", /* 29 */
+ "semicolon", /* 30 */
+ "less", /* 31 */
+ "equal", /* 32 */
+ "greater", /* 33 */
+ "question", /* 34 */
+ "at", /* 35 */
+ "A", /* 36 */
+ "B", /* 37 */
+ "C", /* 38 */
+ "D", /* 39 */
+ "E", /* 40 */
+ "F", /* 41 */
+ "G", /* 42 */
+ "H", /* 43 */
+ "I", /* 44 */
+ "J", /* 45 */
+ "K", /* 46 */
+ "L", /* 47 */
+ "M", /* 48 */
+ "N", /* 49 */
+ "O", /* 50 */
+ "P", /* 51 */
+ "Q", /* 52 */
+ "R", /* 53 */
+ "S", /* 54 */
+ "T", /* 55 */
+ "U", /* 56 */
+ "V", /* 57 */
+ "W", /* 58 */
+ "X", /* 59 */
+ "Y", /* 60 */
+ "Z", /* 61 */
+ "bracketleft", /* 62 */
+ "backslash", /* 63 */
+ "bracketright", /* 64 */
+ "asciicircum", /* 65 */
+ "underscore", /* 66 */
+ "grave", /* 67 */
+ "a", /* 68 */
+ "b", /* 69 */
+ "c", /* 70 */
+ "d", /* 71 */
+ "e", /* 72 */
+ "f", /* 73 */
+ "g", /* 74 */
+ "h", /* 75 */
+ "i", /* 76 */
+ "j", /* 77 */
+ "k", /* 78 */
+ "l", /* 79 */
+ "m", /* 80 */
+ "n", /* 81 */
+ "o", /* 82 */
+ "p", /* 83 */
+ "q", /* 84 */
+ "r", /* 85 */
+ "s", /* 86 */
+ "t", /* 87 */
+ "u", /* 88 */
+ "v", /* 89 */
+ "w", /* 90 */
+ "x", /* 91 */
+ "y", /* 92 */
+ "z", /* 93 */
+ "braceleft", /* 94 */
+ "bar", /* 95 */
+ "braceright", /* 96 */
+ "asciitilde", /* 97 */
+ "Adieresis", /* 98 */
+ "Aring", /* 99 */
+ "Ccedilla", /* 100 */
+ "Eacute", /* 101 */
+ "Ntilde", /* 102 */
+ "Odieresis", /* 103 */
+ "Udieresis", /* 104 */
+ "aacute", /* 105 */
+ "agrave", /* 106 */
+ "acircumflex", /* 107 */
+ "adieresis", /* 108 */
+ "atilde", /* 109 */
+ "aring", /* 110 */
+ "ccedilla", /* 111 */
+ "eacute", /* 112 */
+ "egrave", /* 113 */
+ "ecircumflex", /* 114 */
+ "edieresis", /* 115 */
+ "iacute", /* 116 */
+ "igrave", /* 117 */
+ "icircumflex", /* 118 */
+ "idieresis", /* 119 */
+ "ntilde", /* 120 */
+ "oacute", /* 121 */
+ "ograve", /* 122 */
+ "ocircumflex", /* 123 */
+ "odieresis", /* 124 */
+ "otilde", /* 125 */
+ "uacute", /* 126 */
+ "ugrave", /* 127 */
+ "ucircumflex", /* 128 */
+ "udieresis", /* 129 */
+ "dagger", /* 130 */
+ "degree", /* 131 */
+ "cent", /* 132 */
+ "sterling", /* 133 */
+ "section", /* 134 */
+ "bullet", /* 135 */
+ "paragraph", /* 136 */
+ "germandbls", /* 137 */
+ "registered", /* 138 */
+ "copyright", /* 139 */
+ "trademark", /* 140 */
+ "acute", /* 141 */
+ "dieresis", /* 142 */
+ "notequal", /* 143 */
+ "AE", /* 144 */
+ "Oslash", /* 145 */
+ "infinity", /* 146 */
+ "plusminus", /* 147 */
+ "lessequal", /* 148 */
+ "greaterequal", /* 149 */
+ "yen", /* 150 */
+ "mu", /* 151 */
+ "partialdiff", /* 152 */
+ "summation", /* 153 */
+ "product", /* 154 */
+ "pi", /* 155 */
+ "integral", /* 156 */
+ "ordfeminine", /* 157 */
+ "ordmasculine", /* 158 */
+ "Omega", /* 159 */
+ "ae", /* 160 */
+ "oslash", /* 161 */
+ "questiondown", /* 162 */
+ "exclamdown", /* 163 */
+ "logicalnot", /* 164 */
+ "radical", /* 165 */
+ "florin", /* 166 */
+ "approxequal", /* 167 */
+ "Delta", /* 168 */
+ "guillemotleft", /* 169 */
+ "guillemotright", /* 170 */
+ "ellipsis", /* 171 */
+ "nonbreakingspace", /* 172 */
+ "Agrave", /* 173 */
+ "Atilde", /* 174 */
+ "Otilde", /* 175 */
+ "OE", /* 176 */
+ "oe", /* 177 */
+ "endash", /* 178 */
+ "emdash", /* 179 */
+ "quotedblleft", /* 180 */
+ "quotedblright", /* 181 */
+ "quoteleft", /* 182 */
+ "quoteright", /* 183 */
+ "divide", /* 184 */
+ "lozenge", /* 185 */
+ "ydieresis", /* 186 */
+ "Ydieresis", /* 187 */
+ "fraction", /* 188 */
+ "currency", /* 189 */
+ "guilsinglleft", /* 190 */
+ "guilsinglright", /* 191 */
+ "fi", /* 192 */
+ "fl", /* 193 */
+ "daggerdbl", /* 194 */
+ "periodcentered", /* 195 */
+ "quotesinglbase", /* 196 */
+ "quotedblbase", /* 197 */
+ "perthousand", /* 198 */
+ "Acircumflex", /* 199 */
+ "Ecircumflex", /* 200 */
+ "Aacute", /* 201 */
+ "Edieresis", /* 202 */
+ "Egrave", /* 203 */
+ "Iacute", /* 204 */
+ "Icircumflex", /* 205 */
+ "Idieresis", /* 206 */
+ "Igrave", /* 207 */
+ "Oacute", /* 208 */
+ "Ocircumflex", /* 209 */
+ "apple", /* 210 */
+ "Ograve", /* 211 */
+ "Uacute", /* 212 */
+ "Ucircumflex", /* 213 */
+ "Ugrave", /* 214 */
+ "dotlessi", /* 215 */
+ "circumflex", /* 216 */
+ "tilde", /* 217 */
+ "macron", /* 218 */
+ "breve", /* 219 */
+ "dotaccent", /* 220 */
+ "ring", /* 221 */
+ "cedilla", /* 222 */
+ "hungarumlaut", /* 223 */
+ "ogonek", /* 224 */
+ "caron", /* 225 */
+ "Lslash", /* 226 */
+ "lslash", /* 227 */
+ "Scaron", /* 228 */
+ "scaron", /* 229 */
+ "Zcaron", /* 230 */
+ "zcaron", /* 231 */
+ "brokenbar", /* 232 */
+ "Eth", /* 233 */
+ "eth", /* 234 */
+ "Yacute", /* 235 */
+ "yacute", /* 236 */
+ "Thorn", /* 237 */
+ "thorn", /* 238 */
+ "minus", /* 239 */
+ "multiply", /* 240 */
+ "onesuperior", /* 241 */
+ "twosuperior", /* 242 */
+ "threesuperior", /* 243 */
+ "onehalf", /* 244 */
+ "onequarter", /* 245 */
+ "threequarters", /* 246 */
+ "franc", /* 247 */
+ "Gbreve", /* 248 */
+ "gbreve", /* 249 */
+ "Idotaccent", /* 250 */
+ "Scedilla", /* 251 */
+ "scedilla", /* 252 */
+ "Cacute", /* 253 */
+ "cacute", /* 254 */
+ "Ccaron", /* 255 */
+ "ccaron", /* 256 */
+ "dcroat" /* 257 */
+};
+
+static const int nMacintoshStrings = 258;
+
+static const struct WGL {
+ int u;
+ const char *s;
+} WGL[] = { /* WGL4 */
+ { 0x0000, ".notdef" },
+ { 0x0020, "space" },
+ { 0x0021, "exclam" },
+ { 0x0022, "quotedbl" },
+ { 0x0023, "numbersign" },
+ { 0x0024, "dollar" },
+ { 0x0025, "percent" },
+ { 0x0026, "ampersand" },
+ { 0x0027, "quotesingle" },
+ { 0x0028, "parenleft" },
+ { 0x0029, "parenright" },
+ { 0x002a, "asterisk" },
+ { 0x002b, "plus" },
+ { 0x002c, "comma" },
+ { 0x002d, "hyphen" },
+ { 0x002e, "period" },
+ { 0x002f, "slash" },
+ { 0x0030, "zero" },
+ { 0x0031, "one" },
+ { 0x0032, "two" },
+ { 0x0033, "three" },
+ { 0x0034, "four" },
+ { 0x0035, "five" },
+ { 0x0036, "six" },
+ { 0x0037, "seven" },
+ { 0x0038, "eight" },
+ { 0x0039, "nine" },
+ { 0x003a, "colon" },
+ { 0x003b, "semicolon" },
+ { 0x003c, "less" },
+ { 0x003d, "equal" },
+ { 0x003e, "greater" },
+ { 0x003f, "question" },
+ { 0x0040, "at" },
+ { 0x0041, "A" },
+ { 0x0042, "B" },
+ { 0x0043, "C" },
+ { 0x0044, "D" },
+ { 0x0045, "E" },
+ { 0x0046, "F" },
+ { 0x0047, "G" },
+ { 0x0048, "H" },
+ { 0x0049, "I" },
+ { 0x004a, "J" },
+ { 0x004b, "K" },
+ { 0x004c, "L" },
+ { 0x004d, "M" },
+ { 0x004e, "N" },
+ { 0x004f, "O" },
+ { 0x0050, "P" },
+ { 0x0051, "Q" },
+ { 0x0052, "R" },
+ { 0x0053, "S" },
+ { 0x0054, "T" },
+ { 0x0055, "U" },
+ { 0x0056, "V" },
+ { 0x0057, "W" },
+ { 0x0058, "X" },
+ { 0x0059, "Y" },
+ { 0x005a, "Z" },
+ { 0x005b, "bracketleft" },
+ { 0x005c, "backslash" },
+ { 0x005d, "bracketright" },
+ { 0x005e, "asciicircum" },
+ { 0x005f, "underscore" },
+ { 0x0060, "grave" },
+ { 0x0061, "a" },
+ { 0x0062, "b" },
+ { 0x0063, "c" },
+ { 0x0064, "d" },
+ { 0x0065, "e" },
+ { 0x0066, "f" },
+ { 0x0067, "g" },
+ { 0x0068, "h" },
+ { 0x0069, "i" },
+ { 0x006a, "j" },
+ { 0x006b, "k" },
+ { 0x006c, "l" },
+ { 0x006d, "m" },
+ { 0x006e, "n" },
+ { 0x006f, "o" },
+ { 0x0070, "p" },
+ { 0x0071, "q" },
+ { 0x0072, "r" },
+ { 0x0073, "s" },
+ { 0x0074, "t" },
+ { 0x0075, "u" },
+ { 0x0076, "v" },
+ { 0x0077, "w" },
+ { 0x0078, "x" },
+ { 0x0079, "y" },
+ { 0x007a, "z" },
+ { 0x007b, "braceleft" },
+ { 0x007c, "bar" },
+ { 0x007d, "braceright" },
+ { 0x007e, "asciitilde" },
+ { 0x00a1, "exclamdown" },
+ { 0x00a2, "cent" },
+ { 0x00a3, "sterling" },
+ { 0x00a4, "currency" },
+ { 0x00a5, "yen" },
+ { 0x00a6, "brokenbar" },
+ { 0x00a7, "section" },
+ { 0x00a8, "dieresis" },
+ { 0x00a9, "copyright" },
+ { 0x00aa, "ordfeminine" },
+ { 0x00ab, "guillemotleft" },
+ { 0x00ac, "logicalnot" },
+ { 0x00ae, "registered" },
+ { 0x00af, "macron" },
+ { 0x00b0, "degree" },
+ { 0x00b1, "plusminus" },
+ { 0x00b2, "twosuperior" },
+ { 0x00b3, "threesuperior" },
+ { 0x00b4, "acute" },
+ { 0x00b5, "mu" },
+ { 0x00b6, "paragraph" },
+ { 0x00b7, "periodcentered" },
+ { 0x00b8, "cedilla" },
+ { 0x00b9, "onesuperior" },
+ { 0x00ba, "ordmasculine" },
+ { 0x00bb, "guillemotright" },
+ { 0x00bc, "onequarter" },
+ { 0x00bd, "onehalf" },
+ { 0x00be, "threequarters" },
+ { 0x00bf, "questiondown" },
+ { 0x00c0, "Agrave" },
+ { 0x00c1, "Aacute" },
+ { 0x00c2, "Acircumflex" },
+ { 0x00c3, "Atilde" },
+ { 0x00c4, "Adieresis" },
+ { 0x00c5, "Aring" },
+ { 0x00c6, "AE" },
+ { 0x00c7, "Ccedilla" },
+ { 0x00c8, "Egrave" },
+ { 0x00c9, "Eacute" },
+ { 0x00ca, "Ecircumflex" },
+ { 0x00cb, "Edieresis" },
+ { 0x00cc, "Igrave" },
+ { 0x00cd, "Iacute" },
+ { 0x00ce, "Icircumflex" },
+ { 0x00cf, "Idieresis" },
+ { 0x00d0, "Eth" },
+ { 0x00d1, "Ntilde" },
+ { 0x00d2, "Ograve" },
+ { 0x00d3, "Oacute" },
+ { 0x00d4, "Ocircumflex" },
+ { 0x00d5, "Otilde" },
+ { 0x00d6, "Odieresis" },
+ { 0x00d7, "multiply" },
+ { 0x00d8, "Oslash" },
+ { 0x00d9, "Ugrave" },
+ { 0x00da, "Uacute" },
+ { 0x00db, "Ucircumflex" },
+ { 0x00dc, "Udieresis" },
+ { 0x00dd, "Yacute" },
+ { 0x00de, "Thorn" },
+ { 0x00df, "germandbls" },
+ { 0x00e0, "agrave" },
+ { 0x00e1, "aacute" },
+ { 0x00e2, "acircumflex" },
+ { 0x00e3, "atilde" },
+ { 0x00e4, "adieresis" },
+ { 0x00e5, "aring" },
+ { 0x00e6, "ae" },
+ { 0x00e7, "ccedilla" },
+ { 0x00e8, "egrave" },
+ { 0x00e9, "eacute" },
+ { 0x00ea, "ecircumflex" },
+ { 0x00eb, "edieresis" },
+ { 0x00ec, "igrave" },
+ { 0x00ed, "iacute" },
+ { 0x00ee, "icircumflex" },
+ { 0x00ef, "idieresis" },
+ { 0x00f0, "eth" },
+ { 0x00f1, "ntilde" },
+ { 0x00f2, "ograve" },
+ { 0x00f3, "oacute" },
+ { 0x00f4, "ocircumflex" },
+ { 0x00f5, "otilde" },
+ { 0x00f6, "odieresis" },
+ { 0x00f7, "divide" },
+ { 0x00f8, "oslash" },
+ { 0x00f9, "ugrave" },
+ { 0x00fa, "uacute" },
+ { 0x00fb, "ucircumflex" },
+ { 0x00fc, "udieresis" },
+ { 0x00fd, "yacute" },
+ { 0x00fe, "thorn" },
+ { 0x00ff, "ydieresis" },
+ { 0x0100, "Amacron" },
+ { 0x0101, "amacron" },
+ { 0x0102, "Abreve" },
+ { 0x0103, "abreve" },
+ { 0x0104, "Aogonek" },
+ { 0x0105, "aogonek" },
+ { 0x0106, "Cacute" },
+ { 0x0107, "cacute" },
+ { 0x0108, "Ccircumflex" },
+ { 0x0109, "ccircumflex" },
+ { 0x010a, "Cdotaccent" },
+ { 0x010b, "cdotaccent" },
+ { 0x010c, "Ccaron" },
+ { 0x010d, "ccaron" },
+ { 0x010e, "Dcaron" },
+ { 0x010f, "dcaron" },
+ { 0x0110, "Dcroat" },
+ { 0x0111, "dcroat" },
+ { 0x0112, "Emacron" },
+ { 0x0113, "emacron" },
+ { 0x0114, "Ebreve" },
+ { 0x0115, "ebreve" },
+ { 0x0116, "Edotaccent" },
+ { 0x0117, "edotaccent" },
+ { 0x0118, "Eogonek" },
+ { 0x0119, "eogonek" },
+ { 0x011a, "Ecaron" },
+ { 0x011b, "ecaron" },
+ { 0x011c, "Gcircumflex" },
+ { 0x011d, "gcircumflex" },
+ { 0x011e, "Gbreve" },
+ { 0x011f, "gbreve" },
+ { 0x0120, "Gdotaccent" },
+ { 0x0121, "gdotaccent" },
+ { 0x0122, "Gcommaaccent" },
+ { 0x0123, "gcommaaccent" },
+ { 0x0124, "Hcircumflex" },
+ { 0x0125, "hcircumflex" },
+ { 0x0126, "Hbar" },
+ { 0x0127, "hbar" },
+ { 0x0128, "Itilde" },
+ { 0x0129, "itilde" },
+ { 0x012a, "Imacron" },
+ { 0x012b, "imacron" },
+ { 0x012c, "Ibreve" },
+ { 0x012d, "ibreve" },
+ { 0x012e, "Iogonek" },
+ { 0x012f, "iogonek" },
+ { 0x0130, "Idotaccent" },
+ { 0x0131, "dotlessi" },
+ { 0x0132, "IJ" },
+ { 0x0133, "ij" },
+ { 0x0134, "Jcircumflex" },
+ { 0x0135, "jcircumflex" },
+ { 0x0136, "Kcommaaccent" },
+ { 0x0137, "kcommaaccent" },
+ { 0x0138, "kgreenlandic" },
+ { 0x0139, "Lacute" },
+ { 0x013a, "lacute" },
+ { 0x013b, "Lcommaaccent" },
+ { 0x013c, "lcommaaccent" },
+ { 0x013d, "Lcaron" },
+ { 0x013e, "lcaron" },
+ { 0x013f, "Ldot" },
+ { 0x0140, "ldot" },
+ { 0x0141, "Lslash" },
+ { 0x0142, "lslash" },
+ { 0x0143, "Nacute" },
+ { 0x0144, "nacute" },
+ { 0x0145, "Ncommaaccent" },
+ { 0x0146, "ncommaaccent" },
+ { 0x0147, "Ncaron" },
+ { 0x0148, "ncaron" },
+ { 0x0149, "napostrophe" },
+ { 0x014a, "Eng" },
+ { 0x014b, "eng" },
+ { 0x014c, "Omacron" },
+ { 0x014d, "omacron" },
+ { 0x014e, "Obreve" },
+ { 0x014f, "obreve" },
+ { 0x0150, "Ohungarumlaut" },
+ { 0x0151, "ohungarumlaut" },
+ { 0x0152, "OE" },
+ { 0x0153, "oe" },
+ { 0x0154, "Racute" },
+ { 0x0155, "racute" },
+ { 0x0156, "Rcommaaccent" },
+ { 0x0157, "rcommaaccent" },
+ { 0x0158, "Rcaron" },
+ { 0x0159, "rcaron" },
+ { 0x015a, "Sacute" },
+ { 0x015b, "sacute" },
+ { 0x015c, "Scircumflex" },
+ { 0x015d, "scircumflex" },
+ { 0x015e, "Scedilla" },
+ { 0x015f, "scedilla" },
+ { 0x0160, "Scaron" },
+ { 0x0161, "scaron" },
+ { 0x0164, "Tcaron" },
+ { 0x0165, "tcaron" },
+ { 0x0166, "Tbar" },
+ { 0x0167, "tbar" },
+ { 0x0168, "Utilde" },
+ { 0x0169, "utilde" },
+ { 0x016a, "Umacron" },
+ { 0x016b, "umacron" },
+ { 0x016c, "Ubreve" },
+ { 0x016d, "ubreve" },
+ { 0x016e, "Uring" },
+ { 0x016f, "uring" },
+ { 0x0170, "Uhungarumlaut" },
+ { 0x0171, "uhungarumlaut" },
+ { 0x0172, "Uogonek" },
+ { 0x0173, "uogonek" },
+ { 0x0174, "Wcircumflex" },
+ { 0x0175, "wcircumflex" },
+ { 0x0176, "Ycircumflex" },
+ { 0x0177, "ycircumflex" },
+ { 0x0178, "Ydieresis" },
+ { 0x0179, "Zacute" },
+ { 0x017a, "zacute" },
+ { 0x017b, "Zdotaccent" },
+ { 0x017c, "zdotaccent" },
+ { 0x017d, "Zcaron" },
+ { 0x017e, "zcaron" },
+ { 0x017f, "longs" },
+ { 0x0192, "florin" },
+ { 0x01fa, "Aringacute" },
+ { 0x01fb, "aringacute" },
+ { 0x01fc, "AEacute" },
+ { 0x01fd, "aeacute" },
+ { 0x01fe, "Oslashacute" },
+ { 0x01ff, "oslashacute" },
+ { 0x02c6, "circumflex" },
+ { 0x02c7, "caron" },
+ { 0x02d8, "breve" },
+ { 0x02d9, "dotaccent" },
+ { 0x02da, "ring" },
+ { 0x02db, "ogonek" },
+ { 0x02dc, "tilde" },
+ { 0x02dd, "hungarumlaut" },
+ { 0x0384, "tonos" },
+ { 0x0385, "dieresistonos" },
+ { 0x0386, "Alphatonos" },
+ { 0x0387, "anoteleia" },
+ { 0x0388, "Epsilontonos" },
+ { 0x0389, "Etatonos" },
+ { 0x038a, "Iotatonos" },
+ { 0x038c, "Omicrontonos" },
+ { 0x038e, "Upsilontonos" },
+ { 0x038f, "Omegatonos" },
+ { 0x0390, "iotadieresistonos" },
+ { 0x0391, "Alpha" },
+ { 0x0392, "Beta" },
+ { 0x0393, "Gamma" },
+ { 0x0395, "Epsilon" },
+ { 0x0396, "Zeta" },
+ { 0x0397, "Eta" },
+ { 0x0398, "Theta" },
+ { 0x0399, "Iota" },
+ { 0x039a, "Kappa" },
+ { 0x039b, "Lambda" },
+ { 0x039c, "Mu" },
+ { 0x039d, "Nu" },
+ { 0x039e, "Xi" },
+ { 0x039f, "Omicron" },
+ { 0x03a0, "Pi" },
+ { 0x03a1, "Rho" },
+ { 0x03a3, "Sigma" },
+ { 0x03a4, "Tau" },
+ { 0x03a5, "Upsilon" },
+ { 0x03a6, "Phi" },
+ { 0x03a7, "Chi" },
+ { 0x03a8, "Psi" },
+ { 0x03aa, "Iotadieresis" },
+ { 0x03ab, "Upsilondieresis" },
+ { 0x03ac, "alphatonos" },
+ { 0x03ad, "epsilontonos" },
+ { 0x03ae, "etatonos" },
+ { 0x03af, "iotatonos" },
+ { 0x03b0, "upsilondieresistonos" },
+ { 0x03b1, "alpha" },
+ { 0x03b2, "beta" },
+ { 0x03b3, "gamma" },
+ { 0x03b4, "delta" },
+ { 0x03b5, "epsilon" },
+ { 0x03b6, "zeta" },
+ { 0x03b7, "eta" },
+ { 0x03b8, "theta" },
+ { 0x03b9, "iota" },
+ { 0x03ba, "kappa" },
+ { 0x03bb, "lambda" },
+ { 0x03bd, "nu" },
+ { 0x03be, "xi" },
+ { 0x03bf, "omicron" },
+ { 0x03c0, "pi" },
+ { 0x03c1, "rho" },
+ { 0x03c2, "sigma1" },
+ { 0x03c3, "sigma" },
+ { 0x03c4, "tau" },
+ { 0x03c5, "upsilon" },
+ { 0x03c6, "phi" },
+ { 0x03c7, "chi" },
+ { 0x03c8, "psi" },
+ { 0x03c9, "omega" },
+ { 0x03ca, "iotadieresis" },
+ { 0x03cb, "upsilondieresis" },
+ { 0x03cc, "omicrontonos" },
+ { 0x03cd, "upsilontonos" },
+ { 0x03ce, "omegatonos" },
+ { 0x0401, "afii10023" },
+ { 0x0402, "afii10051" },
+ { 0x0403, "afii10052" },
+ { 0x0404, "afii10053" },
+ { 0x0405, "afii10054" },
+ { 0x0406, "afii10055" },
+ { 0x0407, "afii10056" },
+ { 0x0408, "afii10057" },
+ { 0x0409, "afii10058" },
+ { 0x040a, "afii10059" },
+ { 0x040b, "afii10060" },
+ { 0x040c, "afii10061" },
+ { 0x040e, "afii10062" },
+ { 0x040f, "afii10145" },
+ { 0x0410, "afii10017" },
+ { 0x0411, "afii10018" },
+ { 0x0412, "afii10019" },
+ { 0x0413, "afii10020" },
+ { 0x0414, "afii10021" },
+ { 0x0415, "afii10022" },
+ { 0x0416, "afii10024" },
+ { 0x0417, "afii10025" },
+ { 0x0418, "afii10026" },
+ { 0x0419, "afii10027" },
+ { 0x041a, "afii10028" },
+ { 0x041b, "afii10029" },
+ { 0x041c, "afii10030" },
+ { 0x041d, "afii10031" },
+ { 0x041e, "afii10032" },
+ { 0x041f, "afii10033" },
+ { 0x0420, "afii10034" },
+ { 0x0421, "afii10035" },
+ { 0x0422, "afii10036" },
+ { 0x0423, "afii10037" },
+ { 0x0424, "afii10038" },
+ { 0x0425, "afii10039" },
+ { 0x0426, "afii10040" },
+ { 0x0427, "afii10041" },
+ { 0x0428, "afii10042" },
+ { 0x0429, "afii10043" },
+ { 0x042a, "afii10044" },
+ { 0x042b, "afii10045" },
+ { 0x042c, "afii10046" },
+ { 0x042d, "afii10047" },
+ { 0x042e, "afii10048" },
+ { 0x042f, "afii10049" },
+ { 0x0430, "afii10065" },
+ { 0x0431, "afii10066" },
+ { 0x0432, "afii10067" },
+ { 0x0433, "afii10068" },
+ { 0x0434, "afii10069" },
+ { 0x0435, "afii10070" },
+ { 0x0436, "afii10072" },
+ { 0x0437, "afii10073" },
+ { 0x0438, "afii10074" },
+ { 0x0439, "afii10075" },
+ { 0x043a, "afii10076" },
+ { 0x043b, "afii10077" },
+ { 0x043c, "afii10078" },
+ { 0x043d, "afii10079" },
+ { 0x043e, "afii10080" },
+ { 0x043f, "afii10081" },
+ { 0x0440, "afii10082" },
+ { 0x0441, "afii10083" },
+ { 0x0442, "afii10084" },
+ { 0x0443, "afii10085" },
+ { 0x0444, "afii10086" },
+ { 0x0445, "afii10087" },
+ { 0x0446, "afii10088" },
+ { 0x0447, "afii10089" },
+ { 0x0448, "afii10090" },
+ { 0x0449, "afii10091" },
+ { 0x044a, "afii10092" },
+ { 0x044b, "afii10093" },
+ { 0x044c, "afii10094" },
+ { 0x044d, "afii10095" },
+ { 0x044e, "afii10096" },
+ { 0x044f, "afii10097" },
+ { 0x0451, "afii10071" },
+ { 0x0452, "afii10099" },
+ { 0x0453, "afii10100" },
+ { 0x0454, "afii10101" },
+ { 0x0455, "afii10102" },
+ { 0x0456, "afii10103" },
+ { 0x0457, "afii10104" },
+ { 0x0458, "afii10105" },
+ { 0x0459, "afii10106" },
+ { 0x045a, "afii10107" },
+ { 0x045b, "afii10108" },
+ { 0x045c, "afii10109" },
+ { 0x045e, "afii10110" },
+ { 0x045f, "afii10193" },
+ { 0x0490, "afii10050" },
+ { 0x0491, "afii10098" },
+ { 0x1e80, "Wgrave" },
+ { 0x1e81, "wgrave" },
+ { 0x1e82, "Wacute" },
+ { 0x1e83, "wacute" },
+ { 0x1e84, "Wdieresis" },
+ { 0x1e85, "wdieresis" },
+ { 0x1ef2, "Ygrave" },
+ { 0x1ef3, "ygrave" },
+ { 0x2013, "endash" },
+ { 0x2014, "emdash" },
+ { 0x2015, "afii00208" },
+ { 0x2017, "underscoredbl" },
+ { 0x2018, "quoteleft" },
+ { 0x2019, "quoteright" },
+ { 0x201a, "quotesinglbase" },
+ { 0x201b, "quotereversed" },
+ { 0x201c, "quotedblleft" },
+ { 0x201d, "quotedblright" },
+ { 0x201e, "quotedblbase" },
+ { 0x2020, "dagger" },
+ { 0x2021, "daggerdbl" },
+ { 0x2022, "bullet" },
+ { 0x2026, "ellipsis" },
+ { 0x2030, "perthousand" },
+ { 0x2032, "minute" },
+ { 0x2033, "second" },
+ { 0x2039, "guilsinglleft" },
+ { 0x203a, "guilsinglright" },
+ { 0x203c, "exclamdbl" },
+ { 0x203e, "uni203E" },
+ { 0x2044, "fraction" },
+ { 0x207f, "nsuperior" },
+ { 0x20a3, "franc" },
+ { 0x20a4, "lira" },
+ { 0x20a7, "peseta" },
+ { 0x20ac, "Euro" },
+ { 0x2105, "afii61248" },
+ { 0x2113, "afii61289" },
+ { 0x2116, "afii61352" },
+ { 0x2122, "trademark" },
+ { 0x2126, "Omega" },
+ { 0x212e, "estimated" },
+ { 0x215b, "oneeighth" },
+ { 0x215c, "threeeighths" },
+ { 0x215d, "fiveeighths" },
+ { 0x215e, "seveneighths" },
+ { 0x2190, "arrowleft" },
+ { 0x2191, "arrowup" },
+ { 0x2192, "arrowright" },
+ { 0x2193, "arrowdown" },
+ { 0x2194, "arrowboth" },
+ { 0x2195, "arrowupdn" },
+ { 0x21a8, "arrowupdnbse" },
+ { 0x2202, "partialdiff" },
+ { 0x2206, "Delta" },
+ { 0x220f, "product" },
+ { 0x2211, "summation" },
+ { 0x2212, "minus" },
+ { 0x221a, "radical" },
+ { 0x221e, "infinity" },
+ { 0x221f, "orthogonal" },
+ { 0x2229, "intersection" },
+ { 0x222b, "integral" },
+ { 0x2248, "approxequal" },
+ { 0x2260, "notequal" },
+ { 0x2261, "equivalence" },
+ { 0x2264, "lessequal" },
+ { 0x2265, "greaterequal" },
+ { 0x2302, "house" },
+ { 0x2310, "revlogicalnot" },
+ { 0x2320, "integraltp" },
+ { 0x2321, "integralbt" },
+ { 0x2500, "SF100000" },
+ { 0x2502, "SF110000" },
+ { 0x250c, "SF010000" },
+ { 0x2510, "SF030000" },
+ { 0x2514, "SF020000" },
+ { 0x2518, "SF040000" },
+ { 0x251c, "SF080000" },
+ { 0x2524, "SF090000" },
+ { 0x252c, "SF060000" },
+ { 0x2534, "SF070000" },
+ { 0x253c, "SF050000" },
+ { 0x2550, "SF430000" },
+ { 0x2551, "SF240000" },
+ { 0x2552, "SF510000" },
+ { 0x2553, "SF520000" },
+ { 0x2554, "SF390000" },
+ { 0x2555, "SF220000" },
+ { 0x2556, "SF210000" },
+ { 0x2557, "SF250000" },
+ { 0x2558, "SF500000" },
+ { 0x2559, "SF490000" },
+ { 0x255a, "SF380000" },
+ { 0x255b, "SF280000" },
+ { 0x255c, "SF270000" },
+ { 0x255d, "SF260000" },
+ { 0x255e, "SF360000" },
+ { 0x255f, "SF370000" },
+ { 0x2560, "SF420000" },
+ { 0x2561, "SF190000" },
+ { 0x2562, "SF200000" },
+ { 0x2563, "SF230000" },
+ { 0x2564, "SF470000" },
+ { 0x2565, "SF480000" },
+ { 0x2566, "SF410000" },
+ { 0x2567, "SF450000" },
+ { 0x2568, "SF460000" },
+ { 0x2569, "SF400000" },
+ { 0x256a, "SF540000" },
+ { 0x256b, "SF530000" },
+ { 0x256c, "SF440000" },
+ { 0x2580, "upblock" },
+ { 0x2584, "dnblock" },
+ { 0x2588, "block" },
+ { 0x258c, "lfblock" },
+ { 0x2590, "rtblock" },
+ { 0x2591, "ltshade" },
+ { 0x2592, "shade" },
+ { 0x2593, "dkshade" },
+ { 0x25a0, "filledbox" },
+ { 0x25a1, "H22073" },
+ { 0x25aa, "H18543" },
+ { 0x25ab, "H18551" },
+ { 0x25ac, "filledrect" },
+ { 0x25b2, "triagup" },
+ { 0x25ba, "triagrt" },
+ { 0x25bc, "triagdn" },
+ { 0x25c4, "triaglf" },
+ { 0x25ca, "lozenge" },
+ { 0x25cb, "circle" },
+ { 0x25cf, "H18533" },
+ { 0x25d8, "invbullet" },
+ { 0x25d9, "invcircle" },
+ { 0x25e6, "openbullet" },
+ { 0x263a, "smileface" },
+ { 0x263b, "invsmileface" },
+ { 0x263c, "sun" },
+ { 0x2640, "female" },
+ { 0x2642, "male" },
+ { 0x2660, "spade" },
+ { 0x2663, "club" },
+ { 0x2665, "heart" },
+ { 0x2666, "diamond" },
+ { 0x266a, "musicalnote" },
+ { 0x266b, "musicalnotedbl" },
+ { 0xfb01, "fi" },
+ { 0xfb02, "fl" },
+ { -1, NULL }
+};
+
+static int nWGL = 642;
+
+static char **ExtraStrings;
+static char *ExtraStringSpace;
+static int ExtraStringSpacePos;
+static int nExtraStrings;
+
+static char *
+getSID(int n)
+{
+ if (ttf == 3) {
+ /*EMPTY*/;
+ } else if (ttf == 2) {
+ if (n >= 0 && n < nWGL)
+ return (char *)WGL[n].s;
+ n -= nWGL;
+ } else if (ttf == 1) {
+ if (n >= 0 && n < nMacintoshStrings)
+ return (char *)MacintoshStrings[n];
+ n -= nMacintoshStrings;
+ } else {
+ if (n >= 0 && n < nStdStrings)
+ return (char *)StandardStrings[n];
+ n -= nStdStrings;
+ }
+ if (n < nExtraStrings)
+ return ExtraStrings[n];
+ return NULL;
+}
+
+static void
+error(const char *fmt, ...)
+{
+ char buf[4096];
+ va_list ap;
+ int n;
+
+ n = snprintf(buf, sizeof buf, "%s: ", filename);
+ va_start(ap, fmt);
+ vsnprintf(&buf[n], sizeof buf - n, fmt, ap);
+ errprint("%s", buf);
+ va_end(ap);
+ longjmp(breakpoint, 1);
+}
+
+#define _pbe16(cp) ((uint16_t)((cp)[1]&0377) + ((uint16_t)((cp)[0]&0377) << 8))
+
+static uint32_t
+pbe16(const char *cp)
+{
+ return (uint16_t)(cp[1]&0377) +
+ ((uint16_t)(cp[0]&0377) << 8);
+}
+
+static uint32_t
+pbe24(const char *cp)
+{
+ return (uint32_t)(cp[3]&0377) +
+ ((uint32_t)(cp[2]&0377) << 8) +
+ ((uint32_t)(cp[1]&0377) << 16);
+}
+
+static uint32_t
+pbe32(const char *cp)
+{
+ return (uint32_t)(cp[3]&0377) +
+ ((uint32_t)(cp[2]&0377) << 8) +
+ ((uint32_t)(cp[1]&0377) << 16) +
+ ((uint32_t)(cp[0]&0377) << 24);
+}
+
+static uint32_t
+pbeXX(const char *cp, int n)
+{
+ switch (n) {
+ default:
+ error("invalid number size %d", n);
+ case 1:
+ return *cp&0377;
+ case 2:
+ return _pbe16(cp);
+ case 3:
+ return pbe24(cp);
+ case 4:
+ return pbe32(cp);
+ }
+}
+
+static double
+cffoper(long *op)
+{
+ int b0;
+ int n = 0;
+ double v = 0;
+
+ b0 = contents[*op]&0377;
+ if (b0 >= 32 && b0 <= 246) {
+ n = 1;
+ v = b0 - 139;
+ } else if (b0 >= 247 && b0 <= 250) {
+ n = 2;
+ v = (b0 - 247) * 256 + (contents[*op+1]&0377) + 108;
+ } else if (b0 >= 251 && b0 <= 254) {
+ n = 2;
+ v = -(b0 - 251) * 256 - (contents[*op+1]&0377) - 108;
+ } else if (b0 == 28) {
+ n = 3;
+ v = (int16_t)((contents[*op+1]&0377)<<8 |
+ (contents[*op+2]&0377));
+ } else if (b0 == 29) {
+ n = 5;
+ v = (int32_t)pbe32(&contents[*op+1]);
+ } else if (b0 == 30) {
+ char buf[100], *xp;
+ int c, i = 0, s = 0;
+ n = 1;
+ for (;;) {
+ if (i == sizeof buf - 2)
+ error("floating point operand too long");
+ c = (contents[*op+n]&0377) >> (s ? 8 : 0) & 0xf;
+ if (c >= 0 && c <= 9)
+ buf[i++] = c + '0';
+ else if (c == 0xa)
+ buf[i++] = '.';
+ else if (c == 0xb)
+ buf[i++] = 'E';
+ else if (c == 0xc) {
+ buf[i++] = 'E';
+ buf[i++] = '-';
+ } else if (c == 0xd)
+ error("reserved nibble d in floating point "
+ "operand");
+ else if (c == 0xe)
+ buf[i++] = '-';
+ else if (c == 0xf) {
+ buf[i++] = 0;
+ if (s == 0)
+ n++;
+ break;
+ }
+ if ((s = !s) == 0)
+ n++;
+ }
+ v = strtod(buf, &xp);
+ if (*xp != 0)
+ error("invalid floating point operand <%s>", buf);
+ } else
+ error("invalid operand b0 range %d", b0);
+ *op += n;
+ return v;
+}
+
+static void
+get_offset_table(void)
+{
+ char buf[12];
+
+ if (size < 12)
+ error("no offset table");
+ memcpy(buf, contents, 12);
+ if (pbe32(buf) == 0x00010000 || memcmp(buf, "true", 4) == 0) {
+ ttf = 1;
+ } else if (memcmp(buf, "OTTO", 4) == 0) {
+ ttf = 0;
+ } else
+ error("unknown font type");
+ numTables = pbe16(&buf[4]);
+}
+
+static void
+get_table_directories(void)
+{
+ int i, j, o;
+ char buf[16];
+
+ free(table_directories);
+ table_directories = calloc(numTables, sizeof *table_directories);
+ o = 12;
+ for (i = 0; tables[i].pos; i++)
+ *tables[i].pos = -1;
+ for (i = 0; i < numTables; i++) {
+ if (o + 16 >= size)
+ error("cannot get %dth table directory", i);
+ memcpy(buf, &contents[o], 16);
+ for (j = 0; tables[j].name; j++)
+ if (memcmp(buf, tables[j].name, 4) == 0) {
+ *tables[j].pos = i;
+ break;
+ }
+ o += 16;
+ memcpy(table_directories[i].tag, buf, 4);
+ table_directories[i].checkSum = pbe32(&buf[4]);
+ table_directories[i].offset = pbe32(&buf[8]);
+ table_directories[i].length = pbe32(&buf[12]);
+ if (table_directories[i].offset +
+ table_directories[i].length > size)
+ error("invalid table directory, "
+ "size for entry %4.4s too large",
+ table_directories[i].tag);
+ }
+}
+
+static void
+free_INDEX(struct INDEX *ip)
+{
+ if (ip) {
+ free(ip->offset);
+ free(ip);
+ }
+}
+
+static struct INDEX *
+get_INDEX(long *op)
+{
+ struct INDEX *ip;
+ int i;
+
+ if (*op + 3 >= size)
+ error("no index at position %ld", *op);
+ ip = calloc(1, sizeof *ip);
+ ip->count = pbe16(&contents[*op]);
+ *op += 2;
+ if (ip->count != 0) {
+ ip->offSize = contents[(*op)++] & 0377;
+ ip->offset = calloc(ip->count+1, sizeof *ip->offset);
+ for (i = 0; i < ip->count+1; i++) {
+ if (*op + ip->offSize >= size) {
+ free_INDEX(ip);
+ error("no index offset at position %ld", *op);
+ }
+ ip->offset[i] = pbeXX(&contents[*op], ip->offSize);
+ *op += ip->offSize;
+ }
+ ip->data = &contents[*op];
+ for (i = 0; i < ip->count+1; i++)
+ ip->offset[i] += *op - 1;
+ *op = ip->offset[ip->count];
+ }
+ return ip;
+}
+
+static void
+get_bb(int gid, int B[4])
+{
+ int k, o;
+
+ if (pos_loca < 0 || pos_glyf < 0)
+ return;
+ o = table_directories[pos_loca].offset;
+ k = indexToLocFormat ? pbe32(&contents[o+4*gid]) :
+ pbe16(&contents[o+2*gid]) * 2;
+ o = table_directories[pos_glyf].offset;
+ B[0] = (int16_t)pbe16(&contents[o+k+2]);
+ B[1] = (int16_t)pbe16(&contents[o+k+4]);
+ B[2] = (int16_t)pbe16(&contents[o+k+6]);
+ B[3] = (int16_t)pbe16(&contents[o+k+8]);
+}
+
+static void
+onechar(int gid, int sid)
+{
+ long o;
+ int w, tp;
+ char *N;
+ int *b = NULL, B[4] = { 0, 0, 0, 0};
+
+ if ((gid == 0 && sid != 0) || (sid == 0 && gid != 0))
+ return; /* require .notdef to be GID 0 */
+ if (gid >= nc)
+ return;
+ if (pos_hmtx < 0)
+ error("no hmtx table");
+ if (table_directories[pos_hmtx].length < 4)
+ error("empty hmtx table");
+ o = table_directories[pos_hmtx].offset;
+ if (isFixedPitch)
+ w = pbe16(&contents[o]);
+ else {
+ if (table_directories[pos_hmtx].length < 4 * (gid+1))
+ return; /* just ignore this glyph */
+ w = pbe16(&contents[o + 4 * gid]);
+ }
+ if (sid != 0 && gid2sid[gid] != 0)
+ return;
+ if (a) {
+ if ((N = getSID(sid)) != NULL) {
+ a->nspace += strlen(N) + 1;
+ tp = afmmapname(N, a->spec);
+ } else
+ tp = 0;
+ if (ttf)
+ get_bb(gid, b = B);
+ afmaddchar(a, gid, tp, 0, w, b, N, a->spec, gid);
+ }
+ gid2sid[gid] = sid;
+}
+
+static int
+get_CFF_Top_DICT_Entry(int e)
+{
+ long o;
+ int d = 0;
+
+ if (CFF.Top_DICT == NULL || CFF.Top_DICT->offset == NULL)
+ error("no Top DICT INDEX");
+ o = CFF.Top_DICT->offset[0];
+ while (o < CFF.Top_DICT->offset[1] && contents[o] != e) {
+ if (contents[o] < 0 || contents[o] > 27)
+ d = cffoper(&o);
+ else {
+ d = 0;
+ if (contents[o] == 12)
+ o++;
+ o++;
+ }
+ }
+ return d;
+}
+
+static void
+get_CFF_Charset(void)
+{
+ int d = 0;
+ int gid, i, j, first, nLeft;
+
+ d = get_CFF_Top_DICT_Entry(15);
+ if (d == 0) {
+ for (i = 0; i < nc && i <= 228; i++)
+ onechar(i, i);
+ } else if (d == 1) {
+ for (i = 0; i < nc && i <= 166; i++)
+ onechar(i, ExpertCharset[i]);
+ } else if (d == 2) {
+ for (i = 0; i < nc && i <= 87; i++)
+ onechar(i, ExpertSubsetCharset[i]);
+ } else if (d > 2) {
+ d = CFF.Charset = d + CFF.baseoffset;
+ onechar(0, 0);
+ gid = 1;
+ switch (contents[d++]) {
+ case 0:
+ for (i = 1; i < nc; i++) {
+ j = pbe16(&contents[d]);
+ d += 2;
+ onechar(gid++, j);
+ }
+ break;
+ case 1:
+ i = nc - 1;
+ while (i > 0) {
+ first = pbe16(&contents[d]);
+ d += 2;
+ nLeft = contents[d++] & 0377;
+ for (j = 0; j <= nLeft && gid < nc; j++)
+ onechar(gid++, first + j);
+ i -= nLeft + 1;
+ }
+ break;
+ default:
+ error("unknown Charset table format %d", contents[d-1]);
+ case 2:
+ i = nc - 1;
+ while (i > 0) {
+ first = pbe16(&contents[d]);
+ d += 2;
+ nLeft = pbe16(&contents[d]);
+ d += 2;
+ for (j = 0; j <= nLeft && gid < nc; j++)
+ onechar(gid++, first + j);
+ i -= nLeft + 1;
+ }
+ }
+ } else
+ error("invalid Charset offset");
+}
+
+static void
+build_ExtraStrings(void)
+{
+ int c, i;
+ char *sp;
+
+ if (CFF.String == NULL || CFF.String->count == 0)
+ return;
+ ExtraStrings = calloc(CFF.String->count, sizeof *ExtraStrings);
+ sp = ExtraStringSpace = malloc(CFF.String->count +
+ CFF.String->offset[CFF.String->count]);
+ for (c = 0; c < CFF.String->count; c++) {
+ ExtraStrings[c] = sp;
+ for (i = CFF.String->offset[c];
+ i < CFF.String->offset[c+1]; i++)
+ *sp++ = contents[i];
+ *sp++ = 0;
+ }
+ nExtraStrings = c;
+}
+
+static void
+otfalloc(int _nc)
+{
+ nc = _nc;
+ gid2sid = calloc(nc, sizeof *gid2sid);
+ if (a) {
+ afmalloc(a, nc);
+ a->gid2tr = calloc(nc, sizeof *a->gid2tr);
+ }
+}
+
+static void
+get_CFF(void)
+{
+ long o;
+ char buf[4];
+
+ if (pos_CFF < 0)
+ error("no CFF table");
+ CFF.baseoffset = o = table_directories[pos_CFF].offset;
+ if (o + 4 >= size)
+ error("no CFF header");
+ memcpy(buf, &contents[o], 4);
+ o += 4;
+ if (buf[0] != 1)
+ error("can only handle CFF major version 1");
+ CFF.Name = get_INDEX(&o);
+ CFF.Top_DICT = get_INDEX(&o);
+ CFF.String = get_INDEX(&o);
+ build_ExtraStrings();
+ CFF.Global_Subr = get_INDEX(&o);
+ o = get_CFF_Top_DICT_Entry(17);
+ o += CFF.baseoffset;
+ CFF.CharStrings = get_INDEX(&o);
+ if (CFF.Name->count != 1)
+ error("cannot handle CFF data with more than one font");
+ a->fontname = malloc(CFF.Name->offset[1] - CFF.Name->offset[0] + 1);
+ memcpy(a->fontname, &contents[CFF.Name->offset[0]],
+ CFF.Name->offset[1] - CFF.Name->offset[0]);
+ a->fontname[CFF.Name->offset[1] - CFF.Name->offset[0]] = 0;
+#ifdef DUMP
+ print(SHOW_NAME, "name %s", a->fontname);
+#endif
+ if (CFF.CharStrings == NULL || CFF.CharStrings->count == 0)
+ error("no characters in font");
+ otfalloc(CFF.CharStrings->count);
+ get_CFF_Charset();
+ afmremap(a);
+}
+
+/*ARGSUSED*/
+static void
+get_ttf_post_1_0(int o)
+{
+ int i;
+
+ otfalloc(numGlyphs);
+ for (i = 0; i < numGlyphs; i++)
+ onechar(i, i);
+}
+
+static void
+get_ttf_post_2_0(int o)
+{
+ int numberOfGlyphs;
+ int numberNewGlyphs;
+ int i, j, n;
+ char *cp, *sp;
+
+ numberOfGlyphs = pbe16(&contents[o+32]);
+ if (34+2*numberOfGlyphs > table_directories[pos_post].length)
+ error("numberOfGlyphs value in post table too large");
+ otfalloc(numberOfGlyphs);
+ numberNewGlyphs = 0;
+ for (i = 0; i < numberOfGlyphs; i++) {
+ n = pbe16(&contents[o+34+2*i]);
+ if (n >= 258) {
+ n -= 258;
+ if (n >= numberNewGlyphs)
+ numberNewGlyphs = n + 1;
+ }
+ }
+ ExtraStrings = calloc(numberNewGlyphs, sizeof *ExtraStrings);
+ sp = ExtraStringSpace = malloc(table_directories[pos_post].length -
+ 34 - 2*numberOfGlyphs);
+ cp = &contents[o+34+2*numberOfGlyphs];
+ for (i = 0; i < numberNewGlyphs; i++) {
+ if (cp >= &contents[o + table_directories[pos_post].length])
+ break;
+ ExtraStrings[i] = sp;
+ n = *cp++ & 0377;
+ if (&cp[n] > &contents[o + table_directories[pos_post].length])
+ break;
+ for (j = 0; j < n; j++)
+ *sp++ = *cp++;
+ *sp++ = 0;
+ }
+ nExtraStrings = i;
+ for (i = 0; i < numberOfGlyphs; i++) {
+ n = pbe16(&contents[o+34+2*i]);
+ onechar(i, n);
+ }
+}
+
+static void
+get_ttf_post_2_5(int o)
+{
+ int numberOfGlyphs;
+ int i, offset;
+
+ numberOfGlyphs = pbe16(&contents[o+32]);
+ if (34+numberOfGlyphs > table_directories[pos_post].length)
+ error("numberOfGlyphs value in post table too large");
+ otfalloc(numberOfGlyphs);
+ for (i = 0; i < numberOfGlyphs; i++) {
+ offset = ((signed char *)contents)[o+34+i];
+ onechar(i, i + offset);
+ }
+}
+
+static void
+unichar(int gid, int c)
+{
+ int i;
+ char *sp;
+
+ for (i = 0; WGL[i].s; i++)
+ if (WGL[i].u == c) {
+ onechar(gid, i);
+ return;
+ }
+ if (ExtraStrings == NULL)
+ ExtraStrings = calloc(nc, sizeof *ExtraStrings);
+ if (ExtraStringSpace == NULL)
+ ExtraStringSpace = malloc(nc * 12);
+ sp = &ExtraStringSpace[ExtraStringSpacePos];
+ ExtraStrings[nExtraStrings] = sp;
+ ExtraStringSpacePos += snprintf(sp, 10, "uni%04X", c) + 1;
+ onechar(gid, nWGL + nExtraStrings++);
+}
+
+#if !defined (DPOST) && !defined (DUMP)
+
+#include "unimap.h"
+
+static void
+addunimap(int gid, int c)
+{
+ struct unimap ***up, *u, *ut;
+ int x, y;
+
+ if (c != 0 && (c&~0xffff) == 0) {
+ if (a->unimap == NULL)
+ a->unimap = calloc(256, sizeof *up);
+ up = a->unimap;
+ x = c >> 8;
+ y = c & 0377;
+ if (up[x] == NULL)
+ up[x] = calloc(256, sizeof **up);
+ u = calloc(1, sizeof *u);
+ u->u.code = gid;
+ if (up[x][y] != NULL) {
+ for (ut = up[x][y]; ut->next;
+ ut = ut->next);
+ ut->next = u;
+ } else
+ up[x][y] = u;
+ }
+}
+#endif /* !DPOST && !DUMP */
+
+static void
+addunitab(int c, int u)
+{
+#if !defined (DPOST) && !defined (DUMP)
+ if (c >= a->nunitab) {
+ a->unitab = realloc(a->unitab, (c+1) * sizeof *a->unitab);
+ memset(&a->unitab[a->nunitab], 0,
+ (c+1-a->nunitab) * sizeof *a->unitab);
+ a->nunitab = c+1;
+ }
+ a->unitab[c] = u;
+
+ addunimap(c, u);
+#endif
+}
+
+static char *got_gid;
+
+static void
+got_mapping(int c, int gid, int addchar)
+{
+ if (gid < nc) {
+ if (addchar) {
+ if (!got_gid[gid]) {
+ unichar(gid, c);
+ got_gid[gid] = 1;
+ }
+ } else {
+ addunitab(a->gid2tr[gid].ch1, c);
+ addunitab(a->gid2tr[gid].ch2, c);
+ }
+ }
+}
+
+static int
+get_ms_unicode_cmap4(int o, int addchar)
+{
+ /* int length; */
+ int segCount;
+ int endCount;
+ int startCount;
+ int idDelta;
+ int idRangeOffset;
+ /* int glyphIdArray; */
+ int c, e, i, d, r, s, gid, x;
+
+ /* length = */ pbe16(&contents[o+2]);
+ segCount = pbe16(&contents[o+6]) / 2;
+ endCount = o + 14;
+ startCount = endCount + 2*segCount + 2;
+ idDelta = startCount + 2*segCount;
+ idRangeOffset = idDelta + 2*segCount;
+ /* glyphIdArray = idRangeOffset + 2*segCount; */
+ for (i = 0; i < segCount; i++) {
+ s = pbe16(&contents[startCount+2*i]);
+ e = pbe16(&contents[endCount+2*i]);
+ d = pbe16(&contents[idDelta+2*i]);
+ r = pbe16(&contents[idRangeOffset+2*i]);
+ for (c = s; c <= e; c++) {
+ if (r) {
+ x = r + 2*(c - s) + idRangeOffset+2*i;
+ if (x+1 >=
+ table_directories[pos_cmap].offset +
+ table_directories[pos_cmap].length)
+ continue;
+ gid = pbe16(&contents[x]);
+ if (gid != 0)
+ gid += d;
+ } else
+ gid = c + d;
+ gid &= 0xffff;
+ if (gid != 0)
+ got_mapping(c, gid, addchar);
+ }
+ }
+ return 1;
+}
+
+static int
+get_ms_unicode_cmap12(int o, int addchar)
+{
+ /* int length; */
+ int nGroups;
+ int startCharCode;
+ int endCharCode;
+ int startGlyphID;
+ int c, i, gid;
+
+ /* length = */ pbe32(&contents[o+4]);
+ nGroups = pbe32(&contents[o+12]);
+ o += 16;
+ for (i = 0; i < nGroups; i++) {
+ startCharCode = pbe32(&contents[o]);
+ endCharCode = pbe32(&contents[o+4]);
+ startGlyphID = pbe32(&contents[o+8]);
+ for (c = startCharCode, gid = startGlyphID; c <= endCharCode; c++, gid++)
+ got_mapping(c, gid, addchar);
+ o += 12;
+ }
+ return 1;
+}
+
+static int
+get_ms_unicode_cmap(int o, int addchar)
+{
+ int format;
+
+ format = pbe16(&contents[o]);
+ switch (format) {
+ case 4:
+ return get_ms_unicode_cmap4(o, addchar);
+ case 12:
+ return get_ms_unicode_cmap12(o, addchar);
+ default:
+ return 0;
+ }
+}
+
+static int
+get_cmap(int addchar)
+{
+ int numTables;
+ int platformID;
+ int encodingID;
+ int offset;
+ int i, o;
+ int want_tbl;
+ int gotit = 0;
+
+ if (pos_cmap < 0) {
+ if (addchar)
+ error("no cmap table");
+ return gotit;
+ }
+ o = table_directories[pos_cmap].offset;
+ if (pbe16(&contents[o]) != 0) {
+ if (addchar)
+ error("can only handle version 0 cmap tables");
+ return gotit;
+ }
+ numTables = pbe16(&contents[o+2]);
+ if (4 + 8*numTables > table_directories[pos_cmap].length) {
+ if (addchar)
+ error("cmap table too small for values inside");
+ return gotit;
+ }
+ if (addchar)
+ otfalloc(numGlyphs);
+ want_tbl = -1;
+ for (i = 0; i < numTables; i++) {
+ platformID = pbe16(&contents[o+4+8*i]);
+ encodingID = pbe16(&contents[o+4+8*i+2]);
+ if ((platformID == 3 && encodingID == 10) ||
+ (want_tbl < 0 &&
+ ((platformID == 3 && (encodingID == 0 || encodingID == 1)) ||
+ platformID == 0)))
+ want_tbl = i;
+ }
+ if (want_tbl >= 0) {
+ offset = pbe32(&contents[o+4+8*want_tbl+4]);
+ gotit |= get_ms_unicode_cmap(o + offset, addchar);
+ }
+ return gotit;
+}
+
+static void
+get_ttf_post_3_0(int o)
+{
+ int i, n;
+ int gotit;
+ char *sp;
+ size_t l;
+
+ ttf = 2;
+ got_gid = calloc(numGlyphs, sizeof *got_gid);
+ gotit = get_cmap(1);
+ if (gotit <= 0) {
+ ttf = 3;
+ ExtraStrings = calloc(numGlyphs, sizeof *ExtraStrings);
+ l = n = 12 * numGlyphs;
+ sp = ExtraStringSpace = malloc(l);
+ n_strcpy(sp, ".notdef", l);
+ ExtraStrings[0] = sp;
+ sp += 8;
+ nExtraStrings = 1;
+ onechar(0, 0);
+ for (i = 1; i < numGlyphs; i++) {
+ ExtraStrings[i] = sp;
+ sp += snprintf(sp, n - (sp - ExtraStringSpace),
+ "index0x%02X", i) + 1;
+ if (sp >= &ExtraStringSpace[n])
+ sp = &ExtraStringSpace[n];
+ nExtraStrings++;
+ onechar(i, i);
+ }
+ } else {
+ n = numGlyphs * 12;
+ if (ExtraStrings == NULL)
+ ExtraStrings = calloc(numGlyphs, sizeof *ExtraStrings);
+ if (ExtraStringSpace == NULL)
+ ExtraStringSpace = malloc(n);
+ sp = &ExtraStringSpace[ExtraStringSpacePos];
+ for (i = 0; i < numGlyphs; i++)
+ if (got_gid[i] == 0) {
+ ExtraStrings[nExtraStrings] = sp;
+ sp += snprintf(sp, n - (sp - ExtraStringSpace),
+ "index0x%02X", i) + 1;
+ if (sp >= &ExtraStringSpace[n])
+ sp = &ExtraStringSpace[n];
+ onechar(i, nWGL + nExtraStrings++);
+ }
+ }
+ free(got_gid);
+ got_gid = NULL;
+}
+
+static void
+ttfname(void)
+{
+ if (a) {
+ if (PostScript_name && strchr(PostScript_name, ' ') == NULL)
+ a->fontname = strdup(PostScript_name);
+ else {
+ const char *base = a->Font.namefont[0] ?
+ a->Font.namefont :
+ a->base;
+ size_t l = strlen(base) + 5;
+ a->fontname = malloc(l);
+ n_strcpy(a->fontname, base, l);
+ n_strcat(a->fontname, ".TTF", l);
+ }
+#ifdef DUMP
+ print(SHOW_NAME, "name %s", a->fontname);
+#endif
+ }
+}
+
+static void
+get_ttf(void)
+{
+ long o;
+ int Version;
+
+ if (pos_post < 0)
+ error("no post table");
+ o = table_directories[pos_post].offset;
+ switch (Version = pbe32(&contents[o])) {
+ case 0x00010000:
+ ttfname();
+ get_ttf_post_1_0(o);
+ break;
+ case 0x00020000:
+ ttfname();
+ get_ttf_post_2_0(o);
+ break;
+ case 0x00025000:
+ ttfname();
+ get_ttf_post_2_5(o);
+ break;
+ case 0x00030000:
+ ttfname();
+ get_ttf_post_3_0(o);
+ break;
+ default:
+ error("cannot handle TrueType fonts with "
+ "version %d.%d post table",
+ Version>>16, (Version&0xffff) >> 12);
+ }
+ if (a)
+ afmremap(a);
+}
+
+static void
+get_head(void)
+{
+ long o;
+
+ if (pos_head < 0)
+ error("no head table");
+ o = table_directories[pos_head].offset;
+ if (pbe32(&contents[o]) != 0x00010000)
+ error("can only handle version 1.0 head tables");
+ unitsPerEm = pbe16(&contents[o + 18]);
+ xMin = (int16_t)pbe16(&contents[o + 36]);
+ yMin = (int16_t)pbe16(&contents[o + 38]);
+ xMax = (int16_t)pbe16(&contents[o + 40]);
+ yMax = (int16_t)pbe16(&contents[o + 42]);
+ indexToLocFormat = pbe16(&contents[o + 50]);
+}
+
+static void
+get_post(void)
+{
+ long o;
+
+ isFixedPitch = 0;
+ minMemType42 = maxMemType42 = -1;
+ if (pos_post < 0)
+ return;
+ o = table_directories[pos_post].offset;
+ if (pbe32(&contents[o]) > 0x00030000)
+ return;
+ if (table_directories[pos_post].length >= 16)
+ isFixedPitch = pbe32(&contents[o+12]);
+ if (a)
+ a->isFixedPitch = isFixedPitch;
+ if (table_directories[pos_post].length >= 20)
+ minMemType42 = pbe32(&contents[o+16]);
+ if (table_directories[pos_post].length >= 24)
+ maxMemType42 = pbe32(&contents[o+20]);
+}
+
+static void
+get_maxp(void)
+{
+ if (pos_maxp < 0)
+ error("no maxp table");
+ numGlyphs = pbe16(&contents[table_directories[pos_maxp].offset+4]);
+}
+
+static char *
+build_string(int o, int length, int ucs)
+{
+ char *string, *sp;
+ int i;
+ int ch;
+
+ sp = string = malloc(3*length + 1);
+ for (i = 0; i < length; i++) {
+ if (ucs) {
+ ch = pbe16(&contents[o+i]);
+ i++;
+ } else
+ ch = contents[o+i]&0377;
+ if ((ch & 0200) == 0) {
+ switch (ch) {
+ case '\\':
+ case '(':
+ case ')':
+ *sp++ = '\\';
+ /*FALLTHRU*/
+ default:
+ *sp++ = ch;
+ }
+ } else if (ch == 169) {
+ /*
+ * 169 happens to be COPYRIGHT SIGN in both MacRoman and
+ * Unicode.
+ */
+ *sp++ = '(';
+ *sp++ = 'c';
+ *sp++ = ')';
+ }
+ }
+ *sp = 0;
+ return string;
+}
+
+static void
+get_name(void)
+{
+ char **sp;
+ long o;
+ int count;
+ int stringOffset;
+ int i;
+ int platformID;
+ int encodingID;
+ int languageID;
+ int nameID;
+ int length;
+ int offset;
+
+ if (pos_name < 0)
+ return;
+ o = table_directories[pos_name].offset;
+ if (pbe16(&contents[o]) != 0)
+ return;
+ count = pbe16(&contents[o+2]);
+ stringOffset = o + pbe16(&contents[o+4]);
+ for (i = 0; i < count; i++) {
+ platformID = pbe16(&contents[o+6+12*i]);
+ encodingID = pbe16(&contents[o+6+12*i+2]);
+ languageID = pbe16(&contents[o+6+12*i+4]);
+ nameID = pbe16(&contents[o+6+12*i+6]);
+ length = pbe16(&contents[o+6+12*i+8]);
+ offset = pbe16(&contents[o+6+12*i+10]);
+ switch (nameID) {
+ case 0:
+ sp = &Copyright;
+ break;
+ case 6:
+ sp = &PostScript_name;
+ break;
+ case 7:
+ sp = &Notice;
+ break;
+ default:
+ sp = NULL;
+ }
+ if (sp != NULL && *sp == NULL) {
+ if (platformID == 1 && encodingID == 0 && languageID == 0)
+ *sp = build_string(stringOffset+offset, length, 0);
+ else if (platformID == 3 && languageID == 0x409)
+ *sp = build_string(stringOffset+offset, length, 1);
+ }
+ }
+}
+
+static void
+get_OS_2(void)
+{
+ long o;
+
+ if (pos_OS_2 < 0)
+ goto dfl;
+ o = table_directories[pos_OS_2].offset;
+ if (pbe16(&contents[o]) > 0x0003)
+ goto dfl;
+ if (table_directories[pos_OS_2].length >= 6)
+ WeightClass = pbe16(&contents[o+4]);
+ else
+ WeightClass = -1;
+ if (table_directories[pos_OS_2].length >= 10)
+ fsType = pbe16(&contents[o+8]);
+ else
+ fsType = -1;
+ if (table_directories[pos_OS_2].length >= 72) {
+ if (a) {
+ a->ascender =
+ _unitconv((int16_t)pbe16(&contents[o + 68]));
+ a->descender =
+ _unitconv((int16_t)pbe16(&contents[o + 70]));
+ }
+ }
+ if (table_directories[pos_OS_2].length >= 92) {
+ if (a) {
+ a->xheight = _unitconv(pbe16(&contents[o + 88]));
+ a->capheight = _unitconv(pbe16(&contents[o + 90]));
+ }
+ } else {
+ dfl: if (a) {
+ a->xheight = 500;
+ a->capheight = 700;
+ }
+ }
+}
+
+static char *
+GID2SID(int gid)
+{
+ if (gid < 0 || gid >= nc)
+ return NULL;
+ return getSID(gid2sid[gid]);
+}
+
+int
+fprintenc(FILE *fd, const char *enc)
+{
+ const char *cp;
+ for (cp = enc; *cp && !isspace(*cp); cp++);
+ if (*cp) {
+ return fprintf(fd, "(%s) cvn", enc);
+ } else {
+ return fprintf(fd, "/%s", enc);
+ }
+}
+
+#ifndef DPOST
+static int ScriptList;
+static int FeatureList;
+static int LookupList;
+
+struct cov {
+ int offset;
+ int CoverageFormat;
+ int RangeCount;
+ int GlyphCount;
+ int cnt;
+ int gid;
+};
+
+static struct cov *
+open_cov(int o)
+{
+ struct cov *cp;
+
+ cp = calloc(1, sizeof *cp);
+ cp->offset = o;
+ switch (cp->CoverageFormat = pbe16(&contents[o])) {
+ default:
+ free(cp);
+ return NULL;
+ case 1:
+ cp->GlyphCount = pbe16(&contents[o+2]);
+ return cp;
+ case 2:
+ cp->RangeCount = pbe16(&contents[o+2]);
+ cp->gid = -1;
+ return cp;
+ }
+}
+
+static int
+get_cov(struct cov *cp)
+{
+ int Start, End;
+
+ switch (cp->CoverageFormat) {
+ default:
+ return -1;
+ case 1:
+ if (cp->cnt < cp->GlyphCount)
+ return pbe16(&contents[cp->offset+4+2*cp->cnt++]);
+ return -1;
+ case 2:
+ while (cp->cnt < cp->RangeCount) {
+ Start = pbe16(&contents[cp->offset+4+6*cp->cnt]);
+ End = pbe16(&contents[cp->offset+4+6*cp->cnt+2]);
+ if (cp->gid > End) {
+ cp->gid = -1;
+ cp->cnt++;
+ continue;
+ }
+ if (cp->gid < Start)
+ cp->gid = Start;
+ return cp->gid++;
+ }
+ return -1;
+ }
+}
+
+static void
+free_cov(struct cov *cp)
+{
+ free(cp);
+}
+
+struct class {
+ int offset;
+ int ClassFormat;
+ int StartGlyph;
+ int GlyphCount;
+ int ClassRangeCount;
+ int cnt;
+ int gid;
+};
+
+static struct class *
+open_class(int o)
+{
+ struct class *cp;
+
+ cp = calloc(1, sizeof *cp);
+ cp->offset = o;
+ switch (cp->ClassFormat = pbe16(&contents[o])) {
+ default:
+ free(cp);
+ return NULL;
+ case 1:
+ cp->StartGlyph = pbe16(&contents[o+2]);
+ cp->GlyphCount = pbe16(&contents[o+4]);
+ return cp;
+ case 2:
+ cp->ClassRangeCount = pbe16(&contents[o+2]);
+ cp->gid = -1;
+ return cp;
+ }
+}
+
+static inline void
+get_class(struct class *cp, int *gp, int *vp)
+{
+ int Start, End;
+
+ switch (cp->ClassFormat) {
+ case 1:
+ if (cp->cnt < cp->GlyphCount) {
+ *gp = cp->StartGlyph + cp->cnt;
+ *vp = _pbe16(&contents[cp->offset+6+2*cp->cnt]);
+ cp->cnt++;
+ return;
+ }
+ goto dfl;
+ case 2:
+ while (cp->cnt < cp->ClassRangeCount) {
+ Start = _pbe16(&contents[cp->offset+4+6*cp->cnt]);
+ End = _pbe16(&contents[cp->offset+4+6*cp->cnt+2]);
+ if (cp->gid > End) {
+ cp->gid = -1;
+ cp->cnt++;
+ continue;
+ }
+ if (cp->gid < Start)
+ cp->gid = Start;
+ *gp = cp->gid++;
+ *vp = _pbe16(&contents[cp->offset+4+6*cp->cnt+4]);
+ return;
+ }
+ /*FALLTHRU*/
+ default:
+ dfl: *gp = -1;
+ *vp = -1;
+ return;
+ }
+}
+
+static void
+free_class(struct class *cp)
+{
+ free(cp);
+}
+
+static int
+get_value_size(int ValueFormat1, int ValueFormat2)
+{
+ int i, sz = 0;
+
+ for (i = 0; i < 16; i++)
+ if (ValueFormat1 & (1<<i))
+ sz += 2;
+ for (i = 0; i < 16; i++)
+ if (ValueFormat2 & (1<<i))
+ sz += 2;
+ return sz;
+}
+
+static inline int
+get_x_adj(int ValueFormat1, int o)
+{
+ int x = 0;
+ int z = 0;
+
+ if (ValueFormat1 & 0x0001) {
+ x += (int16_t)_pbe16(&contents[o+z]);
+ z += 2;
+ }
+ if (ValueFormat1 & 0x0002)
+ z += 2;
+ if (ValueFormat1 & 0x0004) {
+ x += (int16_t)_pbe16(&contents[o+z]);
+ z += 2;
+ }
+ return x;
+}
+
+static void kerninit(void);
+static void kernfinish(void);
+
+static int got_kern;
+
+#ifdef DUMP
+static void kernpair(int, int, int);
+#else /* !DUMP */
+
+static struct namecache **nametable;
+
+static void
+kerninit(void)
+{
+ char *cp;
+ int i;
+
+ got_kern = 0;
+ nametable = calloc(nc, sizeof *nametable);
+ for (i = 0; i < nc; i++)
+ if ((cp = GID2SID(i)) != NULL)
+ nametable[i] = afmnamelook(a, cp);
+}
+
+#define GID2name(gid) ((gid) < 0 || (gid) >= nc ? NULL : nametable[gid])
+
+static inline void
+kernpair(int first, int second, int x)
+{
+ struct namecache *np1, *np2;
+
+ if (x == 0 || (x = _unitconv(x)) == 0)
+ return;
+ np1 = GID2name(first);
+ np2 = GID2name(second);
+ if (np1 == NULL || np2 == NULL)
+ return;
+ if (np1->fival[0] != NOCODE && np2->fival[0] != NOCODE)
+ afmaddkernpair(a, np1->fival[0], np2->fival[0], x);
+ if (np1->fival[0] != NOCODE && np2->fival[1] != NOCODE)
+ afmaddkernpair(a, np1->fival[0], np2->fival[1], x);
+ if (np1->fival[1] != NOCODE && np2->fival[0] != NOCODE)
+ afmaddkernpair(a, np1->fival[1], np2->fival[0], x);
+ if (np1->fival[1] != NOCODE && np2->fival[1] != NOCODE)
+ afmaddkernpair(a, np1->fival[1], np2->fival[1], x);
+}
+
+static void
+kernfinish(void)
+{
+ free(nametable);
+}
+#endif /* !DUMP */
+
+static void
+get_PairValueRecord(int first, int ValueFormat1, int ValueFormat2, int o)
+{
+ int second;
+ int x;
+
+ second = _pbe16(&contents[o]);
+ x = get_x_adj(ValueFormat1, o+2);
+ kernpair(first, second, x);
+}
+
+static void
+get_PairSet(int first, int ValueFormat1, int ValueFormat2, int o)
+{
+ int PairValueCount;
+ int i;
+ int sz;
+
+ PairValueCount = _pbe16(&contents[o]);
+ sz = get_value_size(ValueFormat1, ValueFormat2);
+ for (i = 0; i < PairValueCount; i++)
+ get_PairValueRecord(first, ValueFormat1, ValueFormat2,
+ o+2+(2+sz)*i);
+}
+
+static void
+get_PairPosFormat1(int o)
+{
+ struct cov *cp;
+ int Coverage;
+ int ValueFormat1, ValueFormat2;
+ int PairSetCount;
+ int first;
+ int i;
+
+ Coverage = o + pbe16(&contents[o+2]);
+ if ((cp = open_cov(Coverage)) == NULL)
+ return;
+ ValueFormat1 = pbe16(&contents[o+4]);
+ ValueFormat2 = pbe16(&contents[o+6]);
+ PairSetCount = pbe16(&contents[o+8]);
+ for (i = 0; i < PairSetCount && (first = get_cov(cp)) >= 0; i++)
+ get_PairSet(first, ValueFormat1, ValueFormat2,
+ o + pbe16(&contents[o+10+2*i]));
+ free_cov(cp);
+}
+
+static void
+get_PairPosFormat2(int o)
+{
+ struct class *c1, *c2;
+ int ValueFormat1, ValueFormat2;
+ int ClassDef1, ClassDef2;
+ int Class1Count, Class2Count;
+ int g, *g2 = NULL;
+ int v, *v2 = NULL;
+ int sz;
+ int i, n, a;
+ int x;
+
+ ValueFormat1 = pbe16(&contents[o+4]);
+ ValueFormat2 = pbe16(&contents[o+6]);
+ ClassDef1 = o + pbe16(&contents[o+8]);
+ ClassDef2 = o + pbe16(&contents[o+10]);
+ Class1Count = pbe16(&contents[o+12]);
+ Class2Count = pbe16(&contents[o+14]);
+ sz = get_value_size(ValueFormat1, ValueFormat2);
+ if ((c1 = open_class(ClassDef1)) != NULL) {
+ if ((c2 = open_class(ClassDef2)) != NULL) {
+ n = a = 0;
+ while (get_class(c2, &g, &v), g >= 0) {
+ if (v < 0 || v >= Class2Count)
+ continue;
+ if (n >= a) {
+ a = a ? 2*a : 128;
+ g2 = realloc(g2, a * sizeof *g2);
+ v2 = realloc(v2, a * sizeof *v2);
+ }
+ g2[n] = g;
+ v2[n] = v;
+ n++;
+ }
+ while (get_class(c1, &g, &v), g >= 0) {
+ if (v < 0 || v >= Class1Count)
+ continue;
+ for (i = 0; i < n; i++) {
+ x = get_x_adj(ValueFormat1,
+ o + 16 +
+ v*Class2Count*sz +
+ v2[i]*sz);
+ kernpair(g, g2[i], x);
+ }
+ }
+ free_class(c2);
+ }
+ free_class(c1);
+ }
+ free(g2);
+ free(v2);
+}
+
+static void
+get_GPOS_kern1(int _t, int o, const char *_name)
+{
+ int PosFormat;
+
+ got_kern = 1;
+ switch (PosFormat = pbe16(&contents[o])) {
+ case 1:
+ get_PairPosFormat1(o);
+ break;
+ }
+}
+
+static void
+get_GPOS_kern2(int _t, int o, const char *_name)
+{
+ int PosFormat;
+
+ got_kern = 1;
+ switch (PosFormat = pbe16(&contents[o])) {
+ case 2:
+ get_PairPosFormat2(o);
+ break;
+ }
+}
+
+static void
+get_Ligature(int first, int o)
+{
+ int LigGlyph;
+ int CompCount;
+ int Component[16];
+ int i;
+ char *gn;
+
+ LigGlyph = pbe16(&contents[o]);
+ CompCount = pbe16(&contents[o+2]);
+ for (i = 0; i < CompCount - 1 &&
+ i < sizeof Component / sizeof *Component - 1; i++) {
+ Component[i] = pbe16(&contents[o+4+2*i]);
+ }
+ Component[i] = -1;
+ gn = GID2SID(first);
+ if (gn && gn[0] == 'f' && gn[1] == 0 && CompCount > 1) {
+ gn = GID2SID(Component[0]);
+ if (gn && gn[0] && gn[1] == 0) switch (gn[0]) {
+ case 'f':
+ if (CompCount == 2) {
+ gn = GID2SID(LigGlyph);
+ if (gn && (strcmp(gn, "ff") == 0 ||
+ strcmp(gn, "f_f") == 0))
+ a->Font.ligfont |= LFF;
+ } else if (CompCount == 3) {
+ gn = GID2SID(Component[1]);
+ if (gn[0] && gn[1] == 0) switch (gn[0]) {
+ case 'i':
+ gn = GID2SID(LigGlyph);
+ if (gn && (strcmp(gn, "ffi") == 0 ||
+ strcmp(gn, "f_f_i") == 0))
+ a->Font.ligfont |= LFFI;
+ break;
+ case 'l':
+ gn = GID2SID(LigGlyph);
+ if (gn && (strcmp(gn, "ffl") == 0 ||
+ strcmp(gn, "f_f_l") == 0))
+ a->Font.ligfont |= LFFL;
+ break;
+ }
+ }
+ break;
+ case 'i':
+ if (CompCount == 2) {
+ gn = GID2SID(LigGlyph);
+ if (gn && (strcmp(gn, "fi") == 0 ||
+ strcmp(gn, "f_i") == 0))
+ a->Font.ligfont |= LFI;
+ }
+ break;
+ case 'l':
+ if (CompCount == 2) {
+ gn = GID2SID(LigGlyph);
+ if (gn && (strcmp(gn, "fl") == 0 ||
+ strcmp(gn, "f_l") == 0))
+ a->Font.ligfont |= LFL;
+ }
+ break;
+ }
+ }
+}
+
+static void
+get_LigatureSet(int first, int o)
+{
+ int LigatureCount;
+ int i;
+
+ LigatureCount = pbe16(&contents[o]);
+ for (i = 0; i < LigatureCount; i++)
+ get_Ligature(first, o + pbe16(&contents[o+2+2*i]));
+}
+
+static void
+get_LigatureSubstFormat1(int _t, int o, const char *_name)
+{
+ struct cov *cp;
+ int Coverage;
+ int LigSetCount;
+ int i;
+ int first;
+
+ if (pbe16(&contents[o]) != 1)
+ return;
+ Coverage = o + pbe16(&contents[o+2]);
+ if ((cp = open_cov(Coverage)) == NULL)
+ return;
+ LigSetCount = pbe16(&contents[o+4]);
+ for (i = 0; i < LigSetCount && (first = get_cov(cp)) >= 0; i++)
+ get_LigatureSet(first, o + pbe16(&contents[o+6+2*i]));
+ free_cov(cp);
+}
+
+static struct feature *
+add_feature(const char *name)
+{
+ int i;
+ char *np;
+
+ if (a->features == NULL)
+ a->features = calloc(1, sizeof *a->features);
+ for (i = 0; a->features[i]; i++)
+ if (strcmp(a->features[i]->name, name) == 0)
+ return a->features[i];
+ a->features = realloc(a->features, (i+2) * sizeof *a->features);
+ a->features[i] = calloc(1, sizeof **a->features);
+ a->features[i]->name = strdup(name);
+ for (np = a->features[i]->name; *np; np++)
+ if (*np == ' ') {
+ *np = 0;
+ break;
+ }
+ a->features[i+1] = NULL;
+ return a->features[i];
+}
+
+static void
+add_substitution_pair1(struct feature *fp, int ch1, int ch2)
+{
+ fp->pairs = realloc(fp->pairs, (fp->npairs+1) * sizeof *fp->pairs);
+ fp->pairs[fp->npairs].ch1 = ch1;
+ fp->pairs[fp->npairs].ch2 = ch2;
+ fp->npairs++;
+}
+
+static void
+add_substitution_pair(struct feature *fp, int ch1, int ch2)
+{
+ if (ch1 && ch2) {
+#ifdef DUMP
+ print(SHOW_SUBSTITUTIONS, "feature %s substitution %s %s",
+ fp->name, GID2SID(ch1), GID2SID(ch2));
+#endif
+ if (a->gid2tr[ch1].ch1) {
+ if (a->gid2tr[ch2].ch1)
+ add_substitution_pair1(fp,
+ a->gid2tr[ch1].ch1,
+ a->gid2tr[ch2].ch1);
+ if (a->gid2tr[ch2].ch2)
+ add_substitution_pair1(fp,
+ a->gid2tr[ch1].ch1,
+ a->gid2tr[ch2].ch2);
+ }
+ if (a->gid2tr[ch1].ch2) {
+ if (a->gid2tr[ch2].ch1)
+ add_substitution_pair1(fp,
+ a->gid2tr[ch1].ch2,
+ a->gid2tr[ch2].ch1);
+ if (a->gid2tr[ch2].ch2)
+ add_substitution_pair1(fp,
+ a->gid2tr[ch1].ch2,
+ a->gid2tr[ch2].ch2);
+ }
+ }
+}
+
+static void
+get_SingleSubstitutionFormat1(int o, const char *name)
+{
+ struct feature *fp;
+ struct cov *cp;
+ int c, d;
+ int Coverage;
+ int DeltaGlyphID;
+
+ if (pbe16(&contents[o]) != 1)
+ return;
+ Coverage = o + pbe16(&contents[o+2]);
+ if ((cp = open_cov(Coverage)) == NULL)
+ return;
+ DeltaGlyphID = pbe16(&contents[o+4]);
+ fp = add_feature(name);
+ while ((c = get_cov(cp)) >= 0)
+ if ((d = c + DeltaGlyphID) < nc)
+ add_substitution_pair(fp, c, d);
+ free_cov(cp);
+}
+
+static void
+get_SingleSubstitutionFormat2(int o, const char *name)
+{
+ struct feature *fp;
+ struct cov *cp;
+ int Coverage;
+ int GlyphCount;
+ int c, i;
+
+ if (pbe16(&contents[o]) != 2)
+ return;
+ Coverage = o + pbe16(&contents[o+2]);
+ if ((cp = open_cov(Coverage)) == NULL)
+ return;
+ GlyphCount = pbe16(&contents[o+4]);
+ fp = add_feature(name);
+ for (i = 0; i < GlyphCount && (c = get_cov(cp)) >= 0; i++)
+ add_substitution_pair(fp, c, pbe16(&contents[o+6+2*i]));
+ free_cov(cp);
+}
+
+static void
+get_substitutions(int type, int o, const char *name)
+{
+ int format;
+
+ format = pbe16(&contents[o]);
+ switch (type) {
+ case 1:
+ switch (format) {
+ case 1:
+ get_SingleSubstitutionFormat1(o, name);
+ break;
+ case 2:
+ get_SingleSubstitutionFormat2(o, name);
+ break;
+ }
+ }
+}
+
+static void
+get_lookup(int o, int type, const char *name,
+ void (*func)(int, int, const char *))
+{
+ int i, j, t, x, y;
+ int LookupCount;
+ int SubTableCount;
+
+ LookupCount = pbe16(&contents[o+2]);
+ for (i = 0; i < LookupCount; i++) {
+ x = pbe16(&contents[o+4+2*i]);
+ y = pbe16(&contents[LookupList+2+2*x]);
+ if ((t = pbe16(&contents[LookupList+y])) == type || type < 0) {
+ SubTableCount = pbe16(&contents[LookupList+y+4]);
+ for (j = 0; j < SubTableCount; j++)
+ func(t, LookupList+y +
+ pbe16(&contents[LookupList+y+6+2*j]),
+ name);
+ }
+ }
+}
+
+static void
+get_LangSys(int o, const char *name, int type,
+ void (*func)(int, int, const char *))
+{
+ char nb[5];
+ int i, x;
+ int FeatureCount;
+ int ReqFeatureIndex;
+
+ ReqFeatureIndex = pbe16(&contents[o+2]);
+ FeatureCount = pbe16(&contents[o+4]);
+ if (ReqFeatureIndex != 0xFFFF)
+ FeatureCount += ReqFeatureIndex;
+ for (i = 0; i < FeatureCount; i++) {
+ x = pbe16(&contents[o+6+2*i]);
+ if (name == NULL ||
+ memcmp(&contents[FeatureList+2+6*x], name, 4) == 0) {
+ memcpy(nb, &contents[FeatureList+2+6*x], 4);
+ nb[4] = 0;
+ get_lookup(FeatureList +
+ pbe16(&contents[FeatureList+2+6*x+4]),
+ type, nb, func);
+ }
+ }
+}
+
+static void
+get_feature(int table, const char *name, int type,
+ void (*func)(int, int, const char *))
+{
+ long o;
+ int i;
+ int DefaultLangSys;
+ int ScriptCount;
+ int Script;
+
+ if (table < 0)
+ return;
+ o = table_directories[table].offset;
+ if (pbe32(&contents[o]) != 0x00010000)
+ return;
+ ScriptList = o + pbe16(&contents[o+4]);
+ FeatureList = o + pbe16(&contents[o+6]);
+ LookupList = o + pbe16(&contents[o+8]);
+ ScriptCount = pbe16(&contents[ScriptList]);
+ for (i = 0; i < ScriptCount; i++)
+ if (memcmp(&contents[ScriptList+2+6*i], "DFLT", 4) == 0 ||
+ memcmp(&contents[ScriptList+2+6*i],
+ "latn", 4) == 0) {
+ Script = ScriptList +
+ pbe16(&contents[ScriptList+2+6*i+4]);
+ DefaultLangSys = Script + pbe16(&contents[Script]);
+ get_LangSys(DefaultLangSys, name, type, func);
+ }
+}
+
+static void
+get_kern_subtable(int o)
+{
+ int length;
+ int coverage;
+ int nPairs;
+ int i;
+ int left, right, value;
+
+ if (pbe16(&contents[o]) != 0)
+ return;
+ length = pbe16(&contents[o+2]);
+ coverage = pbe16(&contents[o+4]);
+ if ((coverage&1) != 1 || /* check: horizontal data */
+ (coverage&2) != 0 || /* . . . kerning values */
+ (coverage&4) != 0 || /* . . . not perpendicular */
+ ((coverage&0xff00) != 0)) /* . . . format 0 */
+ return;
+ got_kern = 1;
+ nPairs = pbe16(&contents[o+6]);
+ for (i = 0; i < nPairs; i++) {
+ if (o + 14 + 6 * (i+1) > o + length)
+ break;
+ left = pbe16(&contents[o+14+6*i]);
+ right = pbe16(&contents[o+14+6*i+2]);
+ value = (int16_t)pbe16(&contents[o+14+6*i+4]);
+ kernpair(left, right, value);
+ }
+}
+
+static void
+get_kern(void)
+{
+ long o;
+ int nTables;
+ int i, length;
+
+ if (pos_kern < 0)
+ return;
+ o = table_directories[pos_kern].offset;
+ if (pbe16(&contents[o]) != 0)
+ return;
+ nTables = pbe16(&contents[o+2]);
+ o += 4;
+ for (i = 0; i < nTables; i++) {
+ if (o + 6 > table_directories[pos_kern].offset +
+ table_directories[pos_kern].length)
+ return;
+ length = pbe16(&contents[o+2]);
+ if (o + length > table_directories[pos_kern].offset +
+ table_directories[pos_kern].length)
+ return;
+ get_kern_subtable(o);
+ o += length;
+ }
+}
+
+#endif /* !DPOST */
+
+#ifdef DPOST
+static void
+checkembed(void)
+{
+ /*
+ * Do not check the embedding bits under the assumption that the
+ * resulting PostScript file is sent to a printer. This follows
+ * Adobe's "Font Embedding Guidelines for Adobe Third-party
+ * Developers", 5/16/05, p. 8.
+ *
+ * It is the responsibility of a following distiller command or
+ * the like to check the fsType bit then.
+ *
+ if (fsType != -1 && (fsType&0x030e) == 0x0002 || fsType & 0x0200)
+ error("embedding not allowed");
+ */
+}
+
+int
+otfcff(const char *path,
+ char *_contents, size_t _size, size_t *offset, size_t *length)
+{
+ int ok = 0;
+
+ (void) &ok;
+ a = NULL;
+ filename = path;
+ contents = _contents;
+ size = _size;
+ if (setjmp(breakpoint) == 0) {
+ get_offset_table();
+ get_table_directories();
+ get_OS_2();
+ if (pos_CFF < 0)
+ error("no CFF table");
+ checkembed();
+ *offset = table_directories[pos_CFF].offset;
+ *length = table_directories[pos_CFF].length;
+ } else
+ ok = -1;
+ return ok;
+}
+
+static uint32_t
+CalcTableChecksum(uint32_t sum, const char *cp, int length)
+{
+ while (length > 0) {
+ sum += pbe32(cp);
+ cp += 4;
+ length -= 4;
+ }
+ return sum;
+}
+
+static void
+sfnts1(struct table *tp, int *offset, uint32_t *ccs, FILE *fp)
+{
+ int o, length;
+
+ o = table_directories[*tp->pos].offset;
+ length = table_directories[*tp->pos].length;
+ if (tp->in_sfnts == 2) /* head table */
+ memset(&contents[o+8], 0, 4); /* checkSumAdjustment */
+ tp->checksum = CalcTableChecksum(0, &contents[o], length);
+ *ccs = CalcTableChecksum(*ccs, tp->name, 4);
+ *ccs += tp->checksum;
+ *ccs += *offset;
+ *ccs += length;
+ *offset += length;
+}
+
+static void
+sfnts1a(struct table *tp, int *offset, uint32_t *ccs, FILE *fp)
+{
+ int o, length, m;
+
+ o = table_directories[*tp->pos].offset;
+ length = table_directories[*tp->pos].length;
+ if (tp->in_sfnts == 2) {
+ *ccs -= 0xB1B0AFBA;
+ contents[o+8] = (*ccs&0xff000000) >> 24;
+ contents[o+9] = (*ccs&0x00ff0000) >> 16;
+ contents[o+10] = (*ccs&0x0000ff00) >> 8;
+ contents[o+11] = (*ccs&0x000000ff);
+ }
+ fprintf(fp, "%08X%08X%08X%08X",
+ pbe32(tp->name),
+ (unsigned int)tp->checksum,
+ *offset, length);
+ if ((m = length % 4) != 0)
+ length += 4 - m;
+ *offset += length;
+}
+
+static int
+start_of_next_glyph(int *start, int offset)
+{
+ int i = *start;
+ int last = INT_MAX;
+ int cur;
+ int o;
+ int tms = 0;
+
+ if (pos_loca < 0)
+ error("no loca table");
+ o = table_directories[pos_loca].offset;
+ for (;;) {
+ if (i >= numGlyphs) {
+ i = 0;
+ if (tms++ == 4)
+ return -1;
+ }
+ cur = indexToLocFormat ? pbe32(&contents[o + 4*i]) :
+ pbe16(&contents[o + 2*i]) * 2;
+ if (offset > last && offset < cur) {
+ *start = i;
+ return cur;
+ }
+ if (cur < last)
+ last = cur;
+ i++;
+ }
+}
+
+static void
+sfnts2(struct table *tp, FILE *fp)
+{
+ const char hex[] = "0123456789ABCDEF";
+ int i, o, length, next = -1;
+ int start = 0;
+
+ o = table_directories[*tp->pos].offset;
+ length = table_directories[*tp->pos].length;
+ putc('<', fp);
+ for (i = 0; i < length; i++) {
+ if (i && i % 36 == 0)
+ putc('\n', fp);
+ if (i && i % 60000 == 0 && tp->in_sfnts == 3) {
+ /* split string at start of next glyph */
+ next = start_of_next_glyph(&start, i);
+ }
+ if (i == next)
+ fprintf(fp, "00><");
+ if (i && i % 65534 == 0 && tp->in_sfnts != 3)
+ fprintf(fp, "00>\n<");
+ putc(hex[(contents[o+i]&0360)>>4], fp);
+ putc(hex[contents[o+i]&017], fp);
+ }
+ while (i++ % 4)
+ fprintf(fp, "00");
+ fprintf(fp, "00>\n");
+}
+
+static void
+build_sfnts(FILE *fp)
+{
+ int i, o, n;
+ unsigned short numTables;
+ unsigned short searchRange;
+ unsigned short entrySelector;
+ unsigned short rangeShift;
+ uint32_t ccs;
+
+ numTables = 0;
+ for (i = 0; tables[i].name; i++)
+ if (tables[i].in_sfnts && *tables[i].pos >= 0)
+ numTables++;
+ entrySelector = 0;
+ for (searchRange = 1; searchRange*2 < numTables; searchRange *= 2)
+ entrySelector++;
+ searchRange *= 16;
+ rangeShift = numTables * 16 - searchRange;
+ fprintf(fp, "<%08X%04hX%04hX%04hX%04hX\n", 0x00010000,
+ numTables, searchRange, entrySelector, rangeShift);
+ ccs = 0x00010000 + (numTables<<16) + searchRange +
+ (entrySelector<<16) + rangeShift;
+ o = 12 + numTables * 16;
+ for (i = 0; tables[i].name; i++)
+ if (tables[i].in_sfnts && *tables[i].pos >= 0)
+ sfnts1(&tables[i], &o, &ccs, fp);
+ o = 12 + numTables * 16;
+ n = 0;
+ for (i = 0; tables[i].name; i++) {
+ if (tables[i].in_sfnts && *tables[i].pos >= 0) {
+ if (n++)
+ putc('\n', fp);
+ sfnts1a(&tables[i], &o, &ccs, fp);
+ }
+ }
+ fprintf(fp, "00>\n");
+ for (i = 0; tables[i].name; i++)
+ if (tables[i].in_sfnts && *tables[i].pos >= 0)
+ sfnts2(&tables[i], fp);
+}
+
+int
+otft42(char *font, char *path, char *_contents, size_t _size, FILE *fp)
+{
+ char *cp;
+ int ok = 0;
+ int i;
+
+ (void) &ok;
+ a = NULL;
+ filename = path;
+ contents = _contents;
+ size = _size;
+ if (setjmp(breakpoint) == 0) {
+ get_offset_table();
+ get_table_directories();
+ get_head();
+ get_OS_2();
+ get_post();
+ get_maxp();
+ get_name();
+ if (ttf == 0)
+ error("not a TrueType font file");
+ checkembed();
+ get_ttf();
+ if (minMemType42 >= 0 && maxMemType42 >= 0 &&
+ (minMemType42 || maxMemType42))
+ fprintf(fp, "%%%%VMUsage: %d %d\n",
+ minMemType42, maxMemType42);
+ fprintf(fp, "11 dict begin\n");
+ fprintf(fp, "/FontType 42 def\n");
+ fprintf(fp, "/FontMatrix [1 0 0 1 0 0] def\n");
+ fprintf(fp, "/FontName /%s def\n", font);
+ fprintf(fp, "/FontBBox [%d %d %d %d] def\n",
+ xMin * 1000 / unitsPerEm,
+ yMin * 1000 / unitsPerEm,
+ xMax * 1000 / unitsPerEm,
+ yMax * 1000 / unitsPerEm);
+ fprintf(fp, "/PaintType 0 def\n");
+ fprintf(fp, "/Encoding StandardEncoding def\n");
+ if (fsType != -1 || Notice || Copyright || WeightClass) {
+ fprintf(fp, "/FontInfo 4 dict dup begin\n");
+ if (fsType != -1)
+ fprintf(fp, "/FSType %d def\n", fsType);
+ if (Notice)
+ fprintf(fp, "/Notice (%s) readonly def\n",
+ Notice);
+ if (Copyright)
+ fprintf(fp, "/Copyright (%s) readonly def\n",
+ Copyright);
+ if (WeightClass) {
+ if (WeightClass <= 350)
+ cp = "Light";
+ else if (WeightClass <= 550)
+ cp = "Medium";
+ else if (WeightClass <= 750)
+ cp = "Bold";
+ else if (WeightClass <= 850)
+ cp = "Ultra";
+ else
+ cp = "Heavy";
+ fprintf(fp, "/Weight (%s) readonly def\n", cp);
+ }
+ fprintf(fp, "end readonly def\n");
+ }
+ fprintf(fp, "/CharStrings %d dict dup begin\n", nc);
+ for (i = 0; i < nc; i++) {
+ if ((cp = GID2SID(i)) != NULL &&
+ (i == 0 || strcmp(cp, ".notdef"))) {
+ fprintenc(fp, cp);
+ fprintf(fp, " %d def\n", i);
+ } else
+ fprintf(fp, "/index0x%02X %d def\n", i, i);
+ }
+ fprintf(fp, "end readonly def\n");
+ fprintf(fp, "/sfnts[");
+ build_sfnts(fp);
+ fprintf(fp, "]def\n");
+ fprintf(fp, "FontName currentdict end definefont pop\n");
+ } else
+ ok = -1;
+ free(PostScript_name);
+ PostScript_name = 0;
+ free(Copyright);
+ Copyright = 0;
+ free(Notice);
+ Notice = 0;
+ free(ExtraStringSpace);
+ ExtraStringSpace = NULL;
+ ExtraStringSpacePos = 0;
+ free(ExtraStrings);
+ ExtraStrings = NULL;
+ nExtraStrings = 0;
+ return ok;
+}
+#endif /* DPOST */
+
+int
+otfget(struct afmtab *_a, char *_contents, size_t _size)
+{
+ int ok = 0;
+
+ (void) &ok;
+ a = _a;
+ filename = a->path;
+ contents = _contents;
+ size = _size;
+ if (setjmp(breakpoint) == 0) {
+ get_offset_table();
+ get_table_directories();
+ get_head();
+ get_OS_2();
+ get_post();
+ if (ttf == 0) {
+ a->type = TYPE_OTF;
+ get_CFF();
+ } else {
+ a->type = TYPE_TTF;
+ get_maxp();
+ get_name();
+ get_ttf();
+ }
+#ifndef DPOST
+ kerninit();
+ get_feature(pos_GSUB, "liga", 4, get_LigatureSubstFormat1);
+ get_feature(pos_GPOS, "kern", 2, get_GPOS_kern1);
+ get_feature(pos_GPOS, "kern", 2, get_GPOS_kern2);
+ get_feature(pos_GSUB, NULL, -1, get_substitutions);
+ if (ttf && got_kern == 0)
+ get_kern();
+ kernfinish();
+ get_cmap(0);
+#endif /* !DPOST */
+ a->Font.nwfont = a->nchars > 255 ? 255 : a->nchars;
+ } else
+ ok = -1;
+ free(PostScript_name);
+ PostScript_name = 0;
+ free(Copyright);
+ Copyright = 0;
+ free(Notice);
+ Notice = 0;
+ free_INDEX(CFF.Name);
+ CFF.Name = 0;
+ free_INDEX(CFF.Top_DICT);
+ CFF.Top_DICT = 0;
+ free_INDEX(CFF.String);
+ CFF.String = 0;
+ free_INDEX(CFF.Global_Subr);
+ CFF.Global_Subr = 0;
+ free_INDEX(CFF.CharStrings);
+ CFF.CharStrings = 0;
+ free(ExtraStringSpace);
+ ExtraStringSpace = NULL;
+ ExtraStringSpacePos = 0;
+ free(ExtraStrings);
+ ExtraStrings = NULL;
+ nExtraStrings = 0;
+ free(a->gid2tr);
+ a->gid2tr = NULL;
+ return ok;
+}
diff --git a/troff/troff.d/otfdump.1 b/troff/troff.d/otfdump.1
new file mode 100644
index 0000000000000..d69237ad12c92
--- /dev/null
+++ b/troff/troff.d/otfdump.1
@@ -0,0 +1,43 @@
+.\"
+.\" Sccsid @(#)otfdump.1 1.4 (gritter) 2/2/07
+.TH OTF_INFO 1 "2/2/07" "Heirloom Documentation Tools" "User Commands"
+.SH NAME
+otf_info \- dump the contents of OpenType font files
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBotf_info\fR
+[\fB\-ckns\fR]
+font ...
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I otf_info
+prints the contents of OpenType or TrueType font files
+in ASCII format
+just as
+.I troff
+interprets it.
+By default,
+all available information is printed.
+Options can be used to restrict the output:
+.TP
+.B \-c
+prints only the characters present in the font,
+in the format `\fBchar \fIstring \fBwidth \fInumber\fR'.
+.TP
+.B \-k
+prints only the kerning pairs present in the font,
+in the format `\fBkernpair \fIstring1 string2 \fBwidth \fInumber\fR'.
+.TP
+.B \-n
+prints only the PostScript name of the font,
+in the format `\fBname \fIstring\fR'.
+.TP
+.B \-s
+prints only the substitution features available with the font,
+in the format `\fBfeature \fIstring \fBsubstitution \fIstring1 string2\fR'.
+.SH "SEE ALSO"
+troff(1)
diff --git a/troff/troff.d/otfdump.c b/troff/troff.d/otfdump.c
new file mode 100644
index 0000000000000..cb6b7f940b765
--- /dev/null
+++ b/troff/troff.d/otfdump.c
@@ -0,0 +1,216 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)otfdump.c 1.15 (gritter) 3/16/06
+ */
+
+static enum show {
+ SHOW_CHARS = 001,
+ SHOW_KERNPAIRS = 002,
+ SHOW_SUBSTITUTIONS = 004,
+ SHOW_NAME = 010
+} show;
+
+#include <stdarg.h>
+
+static void print(enum show, const char *, ...);
+
+#define DUMP
+#include <stdio.h>
+#include "otf.c"
+#include "afm.c"
+#include "dpost.d/getopt.c"
+
+#include <libgen.h>
+
+static const char *progname;
+struct dev dev;
+char *chname;
+short *chtab;
+int nchtab;
+
+static int prname;
+
+static void
+print(enum show s, const char *fmt, ...)
+{
+ va_list ap;
+
+ if (show & s) {
+ if (prname)
+ printf("%s: ", filename);
+ va_start(ap, fmt);
+ vprintf(fmt, ap);
+ va_end(ap);
+ putchar('\n');
+ }
+}
+
+void
+verrprint(const char *s, va_list ap)
+{
+ fprintf(stderr, "%s: ", progname);
+ vfprintf(stderr, s, ap);
+ putc('\n', stderr);
+}
+
+void
+errprint(const char *s, ...)
+{
+ va_list ap;
+
+ va_start(ap, s);
+ verrprint(s, ap);
+ va_end(ap);
+}
+
+static void
+devinit(void)
+{
+ dev.res = 72000;
+ dev.hor = dev.vert = 1;
+ dev.unitwidth = 1;
+ dev.afmfonts = 1;
+}
+
+static void
+usage(void)
+{
+ errprint("usage: %s [-ckns] font ...", progname);
+ exit(2);
+}
+
+static int
+dump(const char *name)
+{
+ struct afmtab A;
+ struct stat st;
+ FILE *fp;
+ char *cp;
+ size_t l;
+
+ if ((fp = fopen(filename = name, "r")) == NULL) {
+ errprint("%s: cannot open", filename);
+ return 1;
+ }
+ memset(&A, 0, sizeof A);
+ a = &A;
+ a->file = a->path = (char *)filename;
+ l = strlen(filename) + 1;
+ a->base = malloc(l);
+ n_strcpy(a->base, filename, l);
+ a->base = basename(a->base);
+ if ((cp = strrchr(a->base, '.')) != NULL)
+ *cp = '\0';
+ if (fstat(fileno(fp), &st) < 0) {
+ errprint("%s: cannot stat", filename);
+ return 1;
+ }
+ size = st.st_size;
+ contents = malloc(size);
+ if (fread(contents, 1, size, fp) != size) {
+ errprint("%s: cannot read", filename);
+ return 1;
+ }
+ fclose(fp);
+ return otfget(a, contents, size) != 0;
+}
+
+int
+main(int argc, char **argv)
+{
+ int i, e = 0;
+
+ progname = basename(argv[0]);
+ devinit();
+ while ((i = getopt(argc, argv, "ckns")) != EOF) {
+ switch (i) {
+ case 'c':
+ show |= SHOW_CHARS;
+ break;
+ case 'k':
+ show |= SHOW_KERNPAIRS;
+ break;
+ case 'n':
+ show |= SHOW_NAME;
+ break;
+ case 's':
+ show |= SHOW_SUBSTITUTIONS;
+ break;
+ default:
+ usage();
+ }
+ }
+ if (show == 0)
+ show = 0xFFFFFFFF;
+ if (argc < optind + 1)
+ usage();
+ prname = argc > optind + 1;
+ for (i = optind; i < argc; i++)
+ e |= dump(argv[i]);
+ return e;
+}
+
+void
+afmaddchar(struct afmtab *a, int C, int tp, int cl, int WX, int B[4], char *N,
+ enum spec s, int gid)
+{
+ if (N)
+ print(SHOW_CHARS, "char %s width %d", N, _unitconv(WX));
+}
+
+void
+afmalloc(struct afmtab *a, int n)
+{
+}
+
+void
+afmaddkernpair(struct afmtab *a, int ch1, int ch2, int k)
+{
+}
+
+static void
+kernpair(int first, int second, int x)
+{
+ char *s1, *s2;
+
+ if (x) {
+ s1 = GID2SID(first);
+ s2 = GID2SID(second);
+ if (s1 && s2)
+ print(SHOW_KERNPAIRS, "kernpair %s %s width %d",
+ s1, s2, _unitconv(x));
+ }
+}
+
+static void
+kerninit(void)
+{
+}
+
+static void
+kernfinish(void)
+{
+}
diff --git a/troff/troff.d/otfdump_vs.c b/troff/troff.d/otfdump_vs.c
new file mode 100644
index 0000000000000..80a52823bea97
--- /dev/null
+++ b/troff/troff.d/otfdump_vs.c
@@ -0,0 +1,3 @@
+/* Sccsid @(#)otfdump_version.c 1.1 (gritter) 10/3/05 */
+#define DUMP
+#include "../version.c"
diff --git a/troff/troff.d/postscript/Makefile.mk b/troff/troff.d/postscript/Makefile.mk
new file mode 100644
index 0000000000000..e73cfcb9b428b
--- /dev/null
+++ b/troff/troff.d/postscript/Makefile.mk
@@ -0,0 +1,12 @@
+all:
+
+install:
+ test -d $(ROOT)$(PSTDIR) || mkdir -p $(ROOT)$(PSTDIR)
+ for i in *.ps ps.requests; \
+ do \
+ $(INSTALL) -c -m 644 $$i $(ROOT)$(PSTDIR)/$$i || exit; \
+ done
+
+clean:
+
+mrproper: clean
diff --git a/troff/troff.d/postscript/aps.ps b/troff/troff.d/postscript/aps.ps
new file mode 100644
index 0000000000000..1c68ca4a9e316
--- /dev/null
+++ b/troff/troff.d/postscript/aps.ps
@@ -0,0 +1,154 @@
+%%BeginResource: procset dpost_aps 1.2 0
+% from OpenSolaris "lp:filter/postscript/postscript/aps.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)aps.ps 1.2 (gritter) 9/6/05
+%
+%
+% Tune things up so Linotronic output looks more like the APS-5. Pull this file
+% into dpost output using the -C option. To get the best looking output run dpost
+% with the -e2 option and use special font files that look like the APS tables but
+% have character codes (ie. the fourth column in the width tables) appropriate for
+% PostScript fonts. Widths in these tables must be for APS fonts!
+%
+% Start with fat versions of the stroked Courier and Courier-Oblique fonts - from
+% Johnathan Shopiro.
+%
+
+/newdict /Courier findfont length dict def
+/Courier findfont {
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+newdict /StrokeWidth 65 put
+/Courier newdict definefont pop
+
+/newdict /Courier-Oblique findfont length dict def
+/Courier-Oblique findfont {
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+newdict /StrokeWidth 65 put
+/Courier-Oblique newdict definefont pop
+
+%
+% Scaled down versions of the Helvetica font family.
+%
+
+/newdict /Helvetica findfont length dict def
+/Helvetica findfont {
+ 1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Helvetica newdict definefont pop
+
+/newdict /Helvetica-Oblique findfont length dict def
+/Helvetica-Oblique findfont {
+ 1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Helvetica-Oblique newdict definefont pop
+
+/newdict /Helvetica-Bold findfont length dict def
+/Helvetica-Bold findfont {
+ 1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Helvetica-Bold newdict definefont pop
+
+/newdict /Helvetica-BoldOblique findfont length dict def
+/Helvetica-BoldOblique findfont {
+ 1 index /FontMatrix eq {.922 .922 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Helvetica-BoldOblique newdict definefont pop
+
+%
+% Scaled up versions of the Times font family.
+%
+
+/newdict /Times-Roman findfont length dict def
+/Times-Roman findfont {
+ 1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Times-Roman newdict definefont pop
+
+/newdict /Times-Italic findfont length dict def
+/Times-Italic findfont {
+ 1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Times-Italic newdict definefont pop
+
+/newdict /Times-Bold findfont length dict def
+/Times-Bold findfont {
+ 1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Times-Bold newdict definefont pop
+
+/newdict /Times-BoldItalic findfont length dict def
+/Times-BoldItalic findfont {
+ 1 index /FontMatrix eq {1.0225 1.0225 matrix scale matrix concatmatrix} if
+
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+/Times-BoldItalic newdict definefont pop
+%%EndResource
diff --git a/troff/troff.d/postscript/baseline.ps b/troff/troff.d/postscript/baseline.ps
new file mode 100644
index 0000000000000..44cd6322acb9b
--- /dev/null
+++ b/troff/troff.d/postscript/baseline.ps
@@ -0,0 +1,183 @@
+%%BeginResource: procset dpost_baseline 1.2 0
+% from OpenSolaris "lp:filter/postscript/postscript/baseline.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)baseline.ps 1.2 (gritter) 9/6/05
+%
+% Stuff used to draw or set text along a baseline specified by parametric equations
+% for x and y.
+%
+
+/left -1 def
+/center 0 def
+/right 1 def
+
+/baselinedict 50 dict def
+
+/newbaseline {
+ baselinedict begin
+ /g' exch bind def
+ /f' exch bind def
+ /g exch bind def
+ /f exch bind def
+
+ counttomark 2 eq {/hoffset exch def} if
+ /res exch def
+
+ /t 0 def
+ /s 0 def
+ /voffset false def
+ cleartomark
+ end
+} bind def
+
+/drawfunnytext {
+ baselinedict begin
+ /t exch def
+ /mode exch def
+ /str exch def
+
+ mode left eq {
+ /leftstring emptystring def
+ /rightstring str def
+ } if
+
+ mode right eq {
+ /leftstring str reversestring def
+ /rightstring emptystring def
+ } if
+
+ mode center eq {
+ str splitstring
+ /rightstring exch def
+ /leftstring exch reversestring def
+ } if
+
+ gsave currentpoint translate leftstring left t baselineshow grestore
+ gsave currentpoint translate rightstring right t baselineshow grestore
+
+ /t 0 def
+ /s 0 def
+ /voffset false def
+ cleartomark
+ end
+} bind def
+
+/setfunnytext {
+ baselinedict begin
+ /vpos exch def
+ /hpos exch def
+ /str exch def
+
+ voffset vpos ne {
+ /voffset vpos def
+ /t 0 def
+ /s hoffset def
+ } if
+
+ gsave
+ hoffset voffset translate
+ 0 0 moveto
+ /ds hpos s sub def
+ /dt ds t f' dup mul t g' dup mul add sqrt res mul div def
+ /s s ds add def
+ /t t dt add def
+ str right t baselineshow
+ grestore
+ end
+} bind def
+
+baselinedict begin
+
+/f {} bind def
+/g {pop 0} bind def
+/f' {pop 1} bind def
+/g' {pop 0} bind def
+
+/s 0 def
+/t 0 def
+/res 72 def
+
+/onecharstring ( ) def
+/emptystring () def
+
+/baselineshow {
+ /t exch def
+ /mode exch def
+ /str exch def
+
+ gsave
+ t f res mul t g res mul translate
+ 0 0 moveto
+ t g' t f' atan rotate
+ {
+ mode right eq {pop} if
+ grestore gsave
+ onecharstring 0 3 -1 roll put onecharstring stringwidth pop
+ /ds exch mode mul def
+ /dt ds t f' dup mul t g' dup mul add sqrt res mul div def
+ /t t dt add def
+ /s s ds add def
+ t f res mul t g res mul translate
+ 0 0 moveto
+ t g' t f' atan rotate
+ mode left eq {pop} if
+ } str kshow
+ grestore
+} bind def
+
+/reversestring {
+ /str1 exch def
+
+ /str2 str1 length string def
+ /i 0 def
+ /n str1 length 1 sub def
+
+ {
+ str1 n get str2 exch i exch put
+ /i i 1 add def
+ /n n 1 sub def
+ n 0 lt {exit} if
+ } loop
+ str2
+} bind def
+
+/splitstring {
+ /str1 exch def
+
+ /len str1 stringwidth pop def
+ /s 0 def
+ /n 0 def
+ str1 length {
+ str1 n get onecharstring exch 0 exch put
+ /s onecharstring stringwidth pop s add def
+ s len 2 div ge {exit} if
+ /n n 1 add def
+ } repeat
+ str1 0 n 1 add getinterval
+ str1 n str1 length n sub getinterval
+} bind def
+
+end
+%%EndResource
diff --git a/troff/troff.d/postscript/color.ps b/troff/troff.d/postscript/color.ps
new file mode 100644
index 0000000000000..75fdbb9fb3b2d
--- /dev/null
+++ b/troff/troff.d/postscript/color.ps
@@ -0,0 +1,93 @@
+%%BeginResource: procset dpost_color 1.3 0
+% from OpenSolaris "lp:filter/postscript/postscript/color.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)color.ps 1.3 (gritter) 11/28/05
+%
+% Color and reverse video support for dpost. A call made to setcolor with two
+% arguments implies reverse video printing.
+%
+
+/rgb {setrgbcolor} bind def
+/hsb {sethsbcolor} bind def
+/cmyk {setcmykcolor} bind def
+
+/colordict 50 dict dup begin
+ /red { 1 0 0 } def
+ /green { 0 1 0 } def
+ /blue { 0 0 1 } def
+ /cyan { 0 1 1 } def
+ /magenta { 1 0 1 } def
+ /yellow { 1 1 0 } def
+ /white { 1 1 1 } def
+ /black { 0 0 0 } def
+end def
+
+/_setcolor {
+ counttomark 1 eq {
+ dup colordict exch known not {pop /black} if
+ colordict exch get exec setrgbcolor
+ } if
+ counttomark 2 eq {
+ /backcolor exch def
+ /textcolor exch def
+ colordict backcolor known not colordict textcolor known not or {
+ /backcolor colordict /black get def
+ /textcolor colordict /white get def
+ } if
+ /backcolor colordict backcolor get def
+ /textcolor colordict textcolor get def
+ /dY1 0 def
+ /dY2 0 def
+ textcolor exec setrgbcolor
+ } if
+} bind def
+
+/drawrvbox {
+ /x2 exch def
+ /x1 exch def
+
+ currentpoint dup
+ /y1 exch def
+ /y2 exch def pop
+
+ dY1 0 eq dY2 0 eq and {
+ currentfont /FontBBox get aload pop
+ currentfont /FontMatrix get dtransform /dY2 exch def pop
+ currentfont /FontMatrix get dtransform /dY1 exch def pop
+ } if
+
+ /y1 y1 dY1 add def
+ /y2 y2 dY2 add def
+
+ backcolor exec setrgbcolor
+ newpath
+ x1 y1 moveto
+ x2 y1 lineto
+ x2 y2 lineto
+ x1 y2 lineto
+ closepath fill
+ textcolor exec setrgbcolor
+} bind def
+%%EndResource
diff --git a/troff/troff.d/postscript/cutmarks.ps b/troff/troff.d/postscript/cutmarks.ps
new file mode 100644
index 0000000000000..ea9015e916173
--- /dev/null
+++ b/troff/troff.d/postscript/cutmarks.ps
@@ -0,0 +1,260 @@
+%%BeginResource: procset dpost_cutmarks 1.15 0
+%
+% Copyright 2005 Gunnar Ritter, Freiburg i. Br., Germany. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Sccsid @(#)cutmarks.ps 1.15 (gritter) 1/8/06
+%
+
+/_cutmark_a 10 def
+/_cutmark_b 30 def
+/_cutmarklinewidth .3 def
+
+/_cutmark_adj {scaling div} def
+/_cutmark_yadj {pagebbox 3 get exch sub} def
+/_cutmark_tbx {_TrimBox exch get _cutmark_adj} def
+/_cutmark_tby {_TrimBox exch get _cutmark_yadj _cutmark_adj neg} def
+/_cutmark {
+ _cutmark_tbx exch _cutmark_adj sub 3 1 roll
+ _cutmark_tby exch _cutmark_adj sub moveto
+ _cutmark_tbx exch _cutmark_adj sub 3 1 roll
+ _cutmark_tby exch _cutmark_adj sub lineto
+} def
+/_regmark {
+ newpath
+ /_regmark_d exch def
+ /_regmark_y exch def
+ /_regmark_x exch def
+ /_regmark_r _regmark_d 1.5 div def
+ /_regmark_w _cutmarklinewidth _cutmark_adj 2 div def
+ _regmark_x _regmark_r add _regmark_y moveto
+ _regmark_x _regmark_y _regmark_r 0 360 arc
+ _regmark_x _regmark_d sub _regmark_y moveto
+ _regmark_x _regmark_r 2 div sub _regmark_y lineto
+ _regmark_x _regmark_r 2 div add _regmark_y moveto
+ _regmark_x _regmark_d add _regmark_y lineto
+ _regmark_x _regmark_y _regmark_d sub moveto
+ _regmark_x _regmark_y _regmark_r 2 div sub lineto
+ _regmark_x _regmark_y _regmark_r 2 div add moveto
+ _regmark_x _regmark_y _regmark_d add lineto
+ stroke
+ newpath
+ _regmark_x _regmark_w add _regmark_y _regmark_w add moveto
+ _regmark_x _regmark_w add _regmark_y _regmark_w add
+ _regmark_r 2 div _regmark_w sub 0 90 arc
+ fill
+ newpath
+ _regmark_x _regmark_w sub _regmark_y _regmark_w add moveto
+ _regmark_x _regmark_w sub _regmark_y _regmark_w add
+ _regmark_r 2 div _regmark_w sub 90 180 arc
+ fill
+ newpath
+ _regmark_x _regmark_w sub _regmark_y _regmark_w sub moveto
+ _regmark_x _regmark_w sub _regmark_y _regmark_w sub
+ _regmark_r 2 div _regmark_w sub 180 270 arc
+ fill
+ newpath
+ _regmark_x _regmark_w add _regmark_y _regmark_w sub moveto
+ _regmark_x _regmark_w add _regmark_y _regmark_w sub
+ _regmark_r 2 div _regmark_w sub 270 360 arc
+ fill
+} def
+
+/_wedge {
+ newpath
+ /_startgt_b exch def
+ /_startgt_a exch def
+ /_startgt_X _startgt_x _startgt_a cos _startgt_c mul add def
+ /_startgt_Y _startgt_y _startgt_a sin _startgt_c mul add def
+ _startgt_X _startgt_Y moveto
+ _startgt_X _startgt_Y _startgt_r _startgt_c sub
+ _startgt_a _startgt_b sub _startgt_a _startgt_b add arc
+ fill
+} def
+/_startgt {
+ newpath
+ /_startgt_y exch def
+ /_startgt_x exch def
+ /_startgt_d 18 _cutmark_adj def
+ /_startgt_r _startgt_d 2 div def
+ /_startgt_c 1 _cutmark_adj def
+ _startgt_x _startgt_r add _startgt_y moveto
+ _startgt_x _startgt_y _startgt_r 0 360 arc
+ stroke
+ 0 10 350 {2.5 _wedge} for
+} def
+
+/setseparationgray where {
+ % Cf. Adobe Technical Note #5044, "Color Separation Conventions
+ % for PostScript Language Programs", 5/24/96, p. 27
+ pop
+} {
+ languagelevel 2 lt {
+ /setseparationgray {
+ 1 exch sub dup dup dup setcmykcolor
+ } def
+ } {
+ /setseparationgray {
+ [/Separation /All /DeviceCMYK {dup dup dup}] setcolorspace
+ 1 exch sub setcolor
+ } def
+ } ifelse
+} ifelse
+/_cutmark_setup {
+ 0 setseparationgray
+ _cutmarklinewidth _cutmark_adj setlinewidth
+} def
+
+/_cutmarks {
+ /_TrimBox where {
+ pop
+ gsave
+ _cutmark_setup
+ newpath
+ 0 1 _cutmark_a 0 0 1 _cutmark_b 0 _cutmark
+ _cutmark_a 1 0 0 _cutmark_b 1 0 0 _cutmark
+ 0 3 _cutmark_a 0 0 3 _cutmark_b 0 _cutmark
+ _cutmark_a neg 3 0 0 _cutmark_b neg 3 0 0 _cutmark
+ 0 3 _cutmark_a neg 2 0 3 _cutmark_b neg 2 _cutmark
+ _cutmark_a neg 3 0 2 _cutmark_b neg 3 0 2 _cutmark
+ 0 1 _cutmark_a neg 2 0 1 _cutmark_b neg 2 _cutmark
+ _cutmark_a 1 0 2 _cutmark_b 1 0 2 _cutmark
+ stroke
+ grestore
+ } if
+} def
+
+/_regmarks {
+ /_TrimBox where {
+ pop
+ gsave
+ _cutmark_setup
+ 0 setlinecap
+ /_cutmark_d _cutmark_b _cutmark_a sub 2 div _cutmark_adj def
+ 0 _cutmark_tbx _cutmark_d sub _cutmark_a _cutmark_adj sub
+ 1 _cutmark_tby 3 _cutmark_tby 1 _cutmark_tby sub
+ 2 div add
+ _cutmark_d _regmark
+ 2 _cutmark_tbx _cutmark_d add _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby 3 _cutmark_tby 1 _cutmark_tby sub
+ 2 div add
+ _cutmark_d _regmark
+ 0 _cutmark_tbx 2 _cutmark_tbx 0 _cutmark_tbx sub 2 div add
+ 1 _cutmark_tby _cutmark_d sub
+ _cutmark_a _cutmark_adj sub
+ _cutmark_d _regmark
+ 0 _cutmark_tbx 2 _cutmark_tbx 0 _cutmark_tbx sub 2 div add
+ 3 _cutmark_tby _cutmark_d add
+ _cutmark_a _cutmark_adj add
+ _cutmark_d _regmark
+ grestore
+ } if
+} def
+
+/_startargets {
+ /_TrimBox where {
+ pop
+ gsave
+ _cutmark_setup
+ /_cutmark_d _cutmark_b _cutmark_a sub 2 div _cutmark_adj def
+ 0 _cutmark_tbx _cutmark_d sub _cutmark_a _cutmark_adj sub
+ 3 _cutmark_tby _cutmark_d add
+ _cutmark_a _cutmark_adj add
+ _startgt
+ 2 _cutmark_tbx _cutmark_d add _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _cutmark_d sub
+ _cutmark_a _cutmark_adj sub
+ _startgt
+ grestore
+ } if
+} def
+
+/_block {
+ /_block_K exch def
+ /_block_Y exch def
+ /_block_M exch def
+ /_block_C exch def
+ /_block_y exch def
+ /_block_x exch def
+ /_block_w 1 _cutmark_adj 2 div def
+ _block_C _block_M _block_Y _block_K setcmykcolor
+ newpath
+ _block_x _block_w add _block_y _block_w add moveto
+ _block_x _block_d add _block_w sub _block_y _block_w add lineto
+ _block_x _block_d add _block_w sub
+ _block_y _block_d add _block_w sub lineto
+ _block_x _block_w add _block_y _block_d add _block_w sub lineto
+ fill
+} def
+
+/_colorbars {
+ /_TrimBox where {
+ pop
+ gsave
+ _cutmark_setup
+ /_block_d _cutmark_b _cutmark_a sub 2 div _cutmark_adj def
+ 0 setlinecap
+ 2 _cutmark_tbx _block_d 3 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 0 0 0 1 _block
+ 2 _cutmark_tbx _block_d 4 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 1 1 1 0 _block
+ 2 _cutmark_tbx _block_d 5 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 1 0 1 0 _block
+ 2 _cutmark_tbx _block_d 6 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 0 1 1 0 _block
+ 2 _cutmark_tbx _block_d 7 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 1 1 0 0 _block
+ 2 _cutmark_tbx _block_d 8 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 0 0 1 0 _block
+ 2 _cutmark_tbx _block_d 9 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 0 1 0 0 _block
+ 2 _cutmark_tbx _block_d 10 mul sub _cutmark_a _cutmark_adj add
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 1 0 0 0 _block
+ .1 .1 1.05 {
+ /_bars_z exch def
+ 0 _cutmark_tbx _block_d 1 _bars_z sub 10 mul 2 add
+ mul add _cutmark_a _cutmark_adj sub
+ 1 _cutmark_tby _block_d 1.5 mul sub
+ _cutmark_a _cutmark_adj sub
+ 0 0 0 _bars_z _block
+ } for
+ grestore
+ } if
+} def
+%%EndResource
diff --git a/troff/troff.d/postscript/dpost.ps b/troff/troff.d/postscript/dpost.ps
new file mode 100644
index 0000000000000..f47987e67f43e
--- /dev/null
+++ b/troff/troff.d/postscript/dpost.ps
@@ -0,0 +1,285 @@
+%%BeginResource: procset dpost 4.19 0
+%
+% Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+% Use is subject to license terms.
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% from OpenSolaris "dpost.ps 1.7 05/06/08 SMI"
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)dpost.ps 4.19 (gritter) 2/7/10
+%
+
+/#copies 1 store
+/aspectratio 1 def
+/formsperpage 1 def
+/landscape false def
+/linewidth .3 def
+/magnification 1 def
+/margin 0 def
+/orientation 0 def
+/resolution 720 def
+/xoffset 0 def
+/yoffset 0 def
+
+/roundpage true def
+/useclippath true def
+/pagebbox [0 0 612 792] def
+
+/R /Times-Roman def
+/I /Times-Italic def
+/B /Times-Bold def
+/BI /Times-BoldItalic def
+/H /Helvetica def
+/HI /Helvetica-Oblique def
+/HB /Helvetica-Bold def
+/HX /Helvetica-BoldOblique def
+/CW /Courier def
+/CO /Courier def
+/CI /Courier-Oblique def
+/CB /Courier-Bold def
+/CX /Courier-BoldOblique def
+/PA /Palatino-Roman def
+/PI /Palatino-Italic def
+/PB /Palatino-Bold def
+/PX /Palatino-BoldItalic def
+/Hr /Helvetica-Narrow def
+/Hi /Helvetica-Narrow-Oblique def
+/Hb /Helvetica-Narrow-Bold def
+/Hx /Helvetica-Narrow-BoldOblique def
+/KR /Bookman-Light def
+/KI /Bookman-LightItalic def
+/KB /Bookman-Demi def
+/KX /Bookman-DemiItalic def
+/AR /AvantGarde-Book def
+/AI /AvantGarde-BookOblique def
+/AB /AvantGarde-Demi def
+/AX /AvantGarde-DemiOblique def
+/NR /NewCenturySchlbk-Roman def
+/NI /NewCenturySchlbk-Italic def
+/NB /NewCenturySchlbk-Bold def
+/NX /NewCenturySchlbk-BoldItalic def
+/ZD /ZapfDingbats def
+/ZI /ZapfChancery-MediumItalic def
+/VR /Varitimes#Roman def
+/VI /Varitimes#Italic def
+/VB /Varitimes#Bold def
+/VX /Varitimes#BoldItalic def
+/S /S def
+/S1 /S1 def
+/GR /Symbol def
+
+/inch {72 mul} bind def
+/min {2 copy gt {exch} if pop} bind def
+
+/track 0 def
+/horscale 1.0 def
+
+/setup {
+ counttomark 2 idiv {def} repeat pop
+
+ landscape {/orientation 90 orientation add def} if
+ /scaling 72 resolution div def
+ linewidth setlinewidth
+ 1 setlinecap
+
+ pagedimensions
+ xcenter ycenter translate
+ orientation neg rotate
+ width 2 div neg height 2 div translate
+ xoffset inch yoffset inch translate
+ margin 2 div dup neg translate
+ magnification dup aspectratio mul scale
+ scaling scaling scale
+
+ /Symbol /S Sdefs cf
+ /Times-Roman /S1 S1defs cf
+ 0 0 moveto
+} def
+
+/pagedimensions {
+ useclippath userdict /gotpagebbox known not and {
+ /pagebbox [clippath pathbbox newpath] def
+ roundpage currentdict /roundpagebbox known and {roundpagebbox} if
+ } if
+ pagebbox aload pop
+ 4 -1 roll exch 4 1 roll 4 copy
+ landscape {4 2 roll} if
+ sub /width exch def
+ sub /height exch def
+ add 2 div /xcenter exch def
+ add 2 div /ycenter exch def
+ userdict /gotpagebbox true put
+} def
+
+/pagesetup {
+ /page exch def
+ currentdict /pagedict known currentdict page known and {
+ page load pagedict exch get cvx exec
+ } if
+ /Dsetup where {pop Dsetup} if
+ _custompagesetup
+} def
+
+/decodingdefs [
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg /y exch def counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg dup /y exch def moveto {2 index dup length track mul exch stringwidth pop add sub exch div 0 32 track 0 6 -1 roll awidthshow} repeat}
+ {neg dup /y exch def moveto {spacewidth sub track sub 0.0 32 track 0 6 -1 roll awidthshow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {/x exch def counttomark 2 idiv 1 add {x y moveto counttomark 1 gt {x exch sub /x exch def} if track 0 3 -1 roll ashow} repeat}
+ {counttomark 2 idiv {y moveto track 0 3 -1 roll ashow} repeat}
+ {neg setfunnytext}
+] def
+
+/setdecoding {/t decodingdefs 3 -1 roll get def} bind def
+
+/T {/track exch def} bind def
+
+/w {neg dup /y exch def moveto track 0 3 -1 roll ashow} bind def
+/v {y moveto track 0 3 -1 roll ashow} bind def
+/u {y neg t} bind def
+/m {neg dup /y exch def moveto} bind def
+/done {/lastpage where {pop lastpage} if} def
+
+/f {
+ dup /font exch def exch
+ dup /ptsize exch def scaling div dup /size exch def
+ horscale 1.0 ne {horscale mul [exch 0 0 size 0 0]} if SF
+ linewidth ptsize mul scaling 10 mul div setlinewidth
+ /spacewidth ( ) stringwidth pop def
+ /horscale 1.0 def
+} bind def
+/F {ptsize exch f} bind def
+/s {font f} bind def
+/h {/horscale exch def f} bind def
+
+/changefont {
+ /fontheight exch def
+ /fontslant exch def
+ currentfont [
+ 1 0
+ fontheight ptsize div fontslant sin mul fontslant cos div
+ fontheight ptsize div
+ 0 0
+ ] makefont setfont
+} bind def
+
+/sf {f} bind def
+
+/cf {
+ dup length 2 idiv
+ /entries exch def
+ /chtab exch def
+ /newfont exch def
+
+ findfont dup length 1 add dict
+ /newdict exch def
+ {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall
+
+ newdict /Metrics entries dict put
+ newdict /Metrics get
+ begin
+ chtab aload pop
+ 1 1 entries {pop def} for
+ newfont newdict definefont pop
+ end
+} bind def
+
+%
+% A few arrays used to adjust reference points and character widths in some
+% of the printer resident fonts. If square roots are too high try changing
+% the lines describing /radical and /radicalex to,
+%
+% /radical [0 -75 550 0]
+% /radicalex [-50 -75 500 0]
+%
+
+/Sdefs [
+ /underscore [0 0 500 0]
+ /bracketlefttp [208 500]
+ /bracketleftbt [208 500]
+ /bracketrighttp [-60 380]
+ /bracketrightbt [-60 380]
+ /braceleftbt [209 490]
+ /bracketrightex [220 -125 500 0]
+ /radical [0 0 550 0]
+ % NeWSprint's \(br is too low, compensate
+ statusdict /product get (NeWS Server) eq {
+ /radicalex [-50 100 500 0]
+ /parenleftex [-20 100 0 0]
+
+ } {
+ /radicalex [-50 0 500.001 0]
+ /parenleftex [-20 -170 0 0]
+ } ifelse
+ /integral [100 -50 500 0]
+ /infinity [10 -75 730 0]
+] def
+
+%
+% This adjusts the y left bearing of the underscore character in the
+% Symbol font to the position expected by troff, depending on the
+% font variant actually in use with the current document.
+%
+/_Sdefsadj {
+ gsave
+ /Symbol findfont 1000 scalefont setfont
+ 0 0 moveto
+ (\137) false charpath flattenpath pathbbox pop pop exch pop
+ grestore
+ 252 add neg
+ Sdefs 1 [0 5 -1 roll 500 0] put
+} def
+
+/S1defs [
+ /underscore [0 80 500.001 0]
+ /endash [7 90 650 0]
+] def
+
+% from Adobe's PostScript Language Reference Manual, 2nd ed. 1990, pp. 588-589
+/*SF { % Complete selectfont emulation
+ exch findfont exch
+ dup type /arraytype eq {makefont}{scalefont} ifelse setfont
+} bind def
+/languagelevel where % Determine language level
+ {pop languagelevel} {1} ifelse % of implementation
+ 2 lt { % ifelse
+ /SF /*SF load def % Level 1 interpreter present, so
+ } { % else
+ /SF /selectfont load def% Level 2 interpreter present, so
+ }
+ifelse
+
+% from Adobe's pdfmark Reference Manual for Acrobat 7.0, 11/30/04, p. 10
+/pdfmark where % Is pdfmark already available?
+ {pop} % Yes: do nothing (use that definition)
+ { % No: define pdfmark as follows:
+ /globaldict where % globaldict is preferred because
+ {pop globaldict} % globaldict is always visible; else,
+ {userdict} % use userdict otherwise.
+ ifelse
+ /pdfmark /cleartomark load put
+ } % Define pdfmark to remove all objects
+ifelse % up to and including the mark object.
+%%EndResource
diff --git a/troff/troff.d/postscript/draw.ps b/troff/troff.d/postscript/draw.ps
new file mode 100644
index 0000000000000..4dc98194690b2
--- /dev/null
+++ b/troff/troff.d/postscript/draw.ps
@@ -0,0 +1,124 @@
+%%BeginResource: procset dpost_draw 1.5 0
+% from OpenSolaris "lp:filter/postscript/postscript/draw.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)draw.ps 1.5 (gritter) 2/9/06
+%
+% Drawing procedures for dpost. Automatically pulled in, but only
+% when needed.
+%
+
+/Dsetup {
+ /inpath false def
+ /savematrix matrix currentmatrix def
+} bind def
+
+/Dl {
+ inpath
+ {
+ /Dlny exch def
+ /Dlnx exch def
+ currentpoint
+ neg round /Dlcy exch def
+ round /Dlcx exch def
+ Dlnx Dlcx ne Dlny Dlcy ne or {Dlnx Dlny neg moveto} if
+ neg lineto
+ }
+ {newpath neg moveto neg lineto stroke}
+ ifelse
+} bind def
+
+/De {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix stroke}
+ ifelse
+} bind def
+
+/DE {
+ /y1 exch 2 div def
+ /x1 exch 2 div def
+ neg exch x1 add exch translate
+ x1 y1 scale
+ 0 0 1 0 360
+ inpath
+ {1 0 moveto arc savematrix setmatrix}
+ {newpath arc savematrix setmatrix fill}
+ ifelse
+} bind def
+
+/Da {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arc}
+ {newpath arc stroke}
+ ifelse
+} bind def
+
+/DA {
+ /dy2 exch def
+ /dx2 exch def
+ /dy1 exch def
+ /dx1 exch def
+ dy1 add neg exch dx1 add exch
+ dx1 dx1 mul dy1 dy1 mul add sqrt
+ dy1 dx1 neg atan
+ dy2 neg dx2 atan
+ inpath
+ {arcn}
+ {newpath arcn stroke}
+ ifelse
+} bind def
+
+/Ds {
+ /y2 exch def
+ /x2 exch def
+ /y1 exch def
+ /x1 exch def
+ /y0 exch def
+ /x0 exch def
+ x0 5 x1 mul add 6 div
+ y0 5 y1 mul add -6 div
+ x2 5 x1 mul add 6 div
+ y2 5 y1 mul add -6 div
+ x1 x2 add 2 div
+ y1 y2 add -2 div
+ inpath
+ {curveto}
+ {newpath x0 x1 add 2 div y0 y1 add -2 div moveto curveto stroke}
+ ifelse
+} bind def
+%%EndResource
diff --git a/troff/troff.d/postscript/fatcourier.ps b/troff/troff.d/postscript/fatcourier.ps
new file mode 100644
index 0000000000000..33bbe74dbf4b7
--- /dev/null
+++ b/troff/troff.d/postscript/fatcourier.ps
@@ -0,0 +1,53 @@
+%%BeginResource: procset dpost_fatcourier 1.2 0
+% from OpenSolaris "lp:filter/postscript/postscript/fatcourier.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)fatcourier.ps 1.2 (gritter) 9/6/05
+%
+% Fat versions of the stroked Courier and Courier-Oblique - from Johnathan Shopiro.
+% Can be selectively pulled in using the -C option that's available with all the
+% PostScript translators or permanently added to any of the prologues. Helps on
+% Linotronic typesetters, where Courier and Courier-Oblique are too light!
+%
+
+/newdict /Courier findfont length dict def
+/Courier findfont {
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+newdict /StrokeWidth 60 put
+/Courier newdict definefont pop
+
+/newdict /Courier-Oblique findfont length dict def
+/Courier-Oblique findfont {
+ 1 index /FID ne
+ {newdict 3 1 roll put}
+ {pop pop}
+ ifelse
+} forall
+newdict /StrokeWidth 60 put
+/Courier-Oblique newdict definefont pop
+%%EndResource
diff --git a/troff/troff.d/postscript/forms.ps b/troff/troff.d/postscript/forms.ps
new file mode 100644
index 0000000000000..a722b28c0e9b7
--- /dev/null
+++ b/troff/troff.d/postscript/forms.ps
@@ -0,0 +1,223 @@
+%%BeginResource: procset dpost_forms 1.2 0
+% from OpenSolaris "lp:filter/postscript/postscript/forms.ps 1.1"
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)forms.ps 1.2 (gritter) 9/6/05
+%
+% Procedures that let you print any number of pages on each sheet of paper. It's
+% far from perfect and won't handle everything (eg. it's not recursive), but should
+% be good enough for now. Assumes the default page coordinate system has been set
+% up before setupforms is called. lastpage makes certain the last page is printed,
+% and should be called immediately after the %%Trailer comment.
+%
+% Three lines of code needed for page image clipping have been commented out for
+% now. It works, but can really slow things down on some versions of PostScript.
+% Uncomment them if you want to clip pages.
+%
+
+/setupforms {
+ /formsperpage exch def
+
+ /currentform 0 def
+ /slop 5 def
+ /min {2 copy gt {exch} if pop} def
+
+%
+% Save the current environment. Needed because showpage will be redefined. Will be
+% restored in lastpage.
+%
+
+ save
+
+%
+% Number of rows and columns we'll need - may exchange them later.
+%
+
+ /columns formsperpage sqrt ceiling cvi def
+ /rows formsperpage columns div ceiling cvi def
+
+%
+% Slop leaves a little room around the edge so page images can be outlined and have
+% the borders show up. Distance is in default coordinates, so we need to figure out
+% how it maps into user coordinates.
+%
+
+ 6 array defaultmatrix
+ 6 array currentmatrix
+ 6 array invertmatrix
+ 6 array concatmatrix
+ /tempmatrix exch def
+
+ 0 slop tempmatrix dtransform dup mul exch dup mul add sqrt
+ /slop exch def
+
+%
+% Determine how big the image area is, using the clipping path bounding box minus
+% a little and leave the coordinates of the lower left corner of the clipping path
+% on the stack. Also temporarily set the size of each page (ie. formheight and
+% formwidth) from the clipping path - just in case old software uses this stuff.
+% Only works for coordinate systems that have been rotated by a multiple of 90
+% degrees.
+%
+
+ newpath clippath pathbbox
+ 2 index sub dup /formheight exch def slop 2 mul sub /pageheight exch def
+ 2 index sub dup /formwidth exch def slop 2 mul sub /pagewidth exch def
+
+%
+% New translators all store the size of each page in default coordinates in the
+% pagebbox array and it can be different than the size determined by the clipping
+% path. If we can find pagebbox use it to set the real dimensions of each page.
+% Leaves the coordinates of the lower left corner on the stack, (either from
+% pagebbox or clippath) so four numbers are there when we're done.
+%
+
+ userdict /gotpagebbox known userdict /pagebbox known and {
+ newpath
+ pagebbox 0 get pagebbox 1 get tempmatrix transform moveto
+ pagebbox 0 get pagebbox 3 get tempmatrix transform lineto
+ pagebbox 2 get pagebbox 3 get tempmatrix transform lineto
+ pagebbox 2 get pagebbox 1 get tempmatrix transform lineto
+ closepath pathbbox
+ 2 index sub /formheight exch def
+ 2 index sub /formwidth exch def
+ } {2 copy} ifelse
+
+%
+% Top two numbers are the displacement from the job's origin to the lower left
+% corner of each page image when we finish setting up the new coordinate system.
+%
+
+ /ycorner exch def
+ /xcorner exch def
+
+%
+% The two numbers left on the stack are the coordinates of the lower left corner
+% of the clipping path. Go there and then up a bit so page images can be outlined.
+%
+
+ translate
+ slop slop translate
+
+%
+% If the page is wider than high we may be able to do better if we exchange rows
+% and columns. Won't make a difference in the current orientation or if rows and
+% columns are the same.
+%
+
+ pagewidth pageheight gt {
+ rows columns /rows exch def /columns exch def
+ } if
+
+%
+% Find the orientation and scaling that makes things as large as possible. More
+% than what's really needed. First calculation essentially finds the minimum of
+% 1/rows and 1/columns.
+%
+
+ pagewidth formwidth columns mul div pageheight formheight rows mul div min
+ pageheight formwidth columns mul div pagewidth formheight rows mul div min
+
+ 2 copy lt {
+ pagewidth pageheight /pagewidth exch def /pageheight exch def
+ -90 rotate
+ pagewidth neg 0 translate
+ exch
+ } if
+
+%
+% Second number from the top is the best choice. Scale so everything will fit on
+% the current page, go back to the original origin, and then get ready for the
+% first page - which goes in the upper left corner.
+%
+
+ pop dup dup scale
+ xcorner neg ycorner neg translate
+ 0 rows 1 sub formheight mul translate
+
+%
+% Try to center everything on the page - scaling we used is on top of the stack.
+%
+
+ dup pagewidth exch div formwidth columns mul sub 2 div
+ exch pageheight exch div formheight rows mul sub 2 div translate
+
+%
+% Redefine showpage. Assumes a save object is on top of the stack (we put another
+% one there later).
+%
+
+ /showpage {
+ restore
+% initclip
+ formsperpage 1 gt {
+ gsave .1 setlinewidth outlineform stroke grestore
+ } if
+ formwidth 0 translate
+ /currentform currentform 1 add def
+ currentform columns mod 0 eq {
+ columns formwidth mul neg formheight neg translate
+ } if
+ currentform formsperpage mod 0 eq {
+ gsave showpage grestore
+ currentform columns mod formwidth mul neg
+ formsperpage columns idiv formheight mul translate
+ /currentform 0 def
+ } if
+% outlineform clip newpath
+ save
+ } bind def
+
+ /outlineform {
+ newpath
+ xcorner ycorner moveto
+ formwidth 0 rlineto
+ 0 formheight rlineto
+ formwidth neg 0 rlineto
+ closepath
+ } bind def
+
+ /lastpage {
+ formsperpage 1 gt {
+ currentform 0 ne {
+ save
+ 0 1 formsperpage currentform sub formsperpage mod {
+ pop showpage
+ } for
+ restore
+ } if
+ pop restore
+ } if
+ } def
+
+%
+% Clip the first page image and save the environment we just set up, including
+% the redefined showpage.
+%
+
+% outlineform clip
+ newpath
+ save
+} def
+%%EndResource
diff --git a/troff/troff.d/postscript/ps.requests b/troff/troff.d/postscript/ps.requests
new file mode 100644
index 0000000000000..16bf1ee4de119
--- /dev/null
+++ b/troff/troff.d/postscript/ps.requests
@@ -0,0 +1,36 @@
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Keywords begin with an @ in the first column. The value follows on the next line
+% and includes everything up to next keyword line, except for comments which are
+% lines that begin with % in the first column.
+%
+
+@manualfeed
+ statusdict begin
+ /manualfeedtimeout 300 def
+ /manualfeed true def
+ end
+
+@ledgertray
+ statusdict begin
+ ledgertray
+ end
diff --git a/troff/troff.d/postscript/ps_include.ps b/troff/troff.d/postscript/ps_include.ps
new file mode 100644
index 0000000000000..4256fc3a39774
--- /dev/null
+++ b/troff/troff.d/postscript/ps_include.ps
@@ -0,0 +1,139 @@
+%%BeginResource: procset dpost_ps_include 1.3 0
+% from OpenSolaris "ps_include.ps 1.4 05/06/08 SMI" /* SVr4.0 1.1 */
+%
+% CDDL HEADER START
+%
+% The contents of this file are subject to the terms of the
+% Common Development and Distribution License, Version 1.0 only
+% (the "License"). You may not use this file except in compliance
+% with the License.
+%
+% You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+% or http://www.opensolaris.org/os/licensing.
+% See the License for the specific language governing permissions
+% and limitations under the License.
+%
+% When distributing Covered Code, include this CDDL HEADER in each
+% file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+% If applicable, add the following below this CDDL HEADER, with the
+% fields enclosed by brackets "[]" replaced with your own identifying
+% information: Portions Copyright [yyyy] [name of copyright owner]
+%
+% CDDL HEADER END
+%
+% Portions Copyright 2005 Gunnar Ritter, Freiburg i. Br, Germany
+%
+% Sccsid @(#)ps_include.ps 1.3 (gritter) 12/2/05
+%
+
+/_ps_include_head {
+ save
+ /ed {exch def} def
+
+ % redefine dangerous operators
+ {} /showpage ed
+ {} /copypage ed
+ {} /erasepage ed
+ {} /letter ed
+
+ % computations are done in the context of a new dictionary
+ 36 dict dup /PS-include-dict-dw ed begin
+
+ % context holds the save object created earlier
+ /context ed
+
+ % save and clear the operand stack
+ count array astore /o-stack ed
+
+ % the following variables are expected after this procedure is called:
+ % llx,lly,urx,ury bounding box of picture to be included
+ % w nonzero if space should be painted white to start
+ % o nonzero if space should be outlined
+ % s nonzero if both dimensions should be scaled
+ % cx,cy center of page space in current coordinates
+ % sx,sy size of page space in current coordinates
+ % ax,ay left-right, up-down adjustment of picture in page space
+ % rot rotation of picture in page space
+} def
+
+/_ps_include_setup {
+ % some routines:
+ % - BBOX llx lly urx ury put bounding box on stack
+ % llx lly urx ury BOXPATH - make a path with given box corners
+ % dx dy LEN length compute length of positionless vector
+ % a b MIN min compute minimum of two numbers
+ % a b MAX max compute maximum of two numbers
+ % x y NICE x y move to pixel boundaries in default
+ % coords
+ {llx lly urx ury} /bbox ed
+ {newpath 2 index exch 2 index exch dup 6 index exch
+ moveto 3 {lineto} repeat closepath} /boxpath ed
+ {dup mul exch dup mul add sqrt} /len ed
+ {2 copy gt {exch} if pop} /min ed
+ {2 copy lt {exch} if pop} /max ed
+ {transform round exch round exch A itransform} /nice ed
+
+ % A is the transformation from default to current coordinates
+ {6 array} /n ed
+ n defaultmatrix n currentmatrix n invertmatrix n concatmatrix /A ed
+
+ % Sx,Sy and Cx,Cy are dimensions and size of bounding box in
+ % current coordinates
+ urx llx sub 0 A dtransform len /Sx ed
+ 0 ury lly sub A dtransform len /Sy ed
+ llx urx add 2 div lly ury add 2 div A transform /Cy ed /Cx ed
+
+ % H and W are height and width of rotated box in current coordinates
+ rot dup sin abs /S ed cos abs /C ed
+ Sx S mul Sy C mul add /H ed
+ Sx C mul Sy S mul add /W ed
+
+ % Scalex and Scaley are the required horizontal and vertical
+ % scaling factors
+ sy H div /Scaley ed
+ sx W div /Scalex ed
+
+ % Preserve aspect ratio if we're not scaling both dimensions
+ % (ie. s is 0)
+ s 0 eq {Scalex Scaley min dup /Scalex ed /Scaley ed} if
+
+ % add to cx,cy the shift needed within the page space
+ sx Scalex W mul sub 0 max ax 0.5 sub mul cx add /cx ed
+ sy Scaley H mul sub 0 max ay 0.5 sub mul cy add /cy ed
+
+ % the actual rotation needed is rot less the current rotation
+ urx llx sub 0 A dtransform exch atan rot exch sub /rot ed
+
+ % set up the coordinate system
+ n currentmatrix initgraphics setmatrix
+ cx cy translate
+ Scalex Scaley scale
+ rot rotate
+ Cx neg Cy neg translate
+ A concat
+
+ % set the clipping region, and conditionally whiteout and outline
+ bbox boxpath clip newpath
+ w 0 ne {gsave bbox boxpath 1 setgray fill grestore} if
+
+ % pop local dictionary from the dict stack
+ end
+
+ % now begins the actual material extracted from the file
+ gsave
+} def
+
+/_ps_include_tail {
+ grestore
+
+ % within the context of the local dictionary ...
+ PS-include-dict-dw begin
+
+ o 0 ne {gsave A defaultmatrix /A ed llx lly nice urx ury nice
+ initgraphics 0.1 setlinewidth boxpath stroke grestore} if
+
+ % ... restore the operand stack and the save context
+ clear o-stack aload pop
+ context end restore
+} def
+%%EndResource
diff --git a/troff/troff.d/pt.h b/troff/troff.d/pt.h
new file mode 100644
index 0000000000000..e047255d01945
--- /dev/null
+++ b/troff/troff.d/pt.h
@@ -0,0 +1,96 @@
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)pt.h 1.54 (gritter) 8/19/08
+ */
+
+/* t6.c */
+extern int width(register tchar);
+extern void zapwcache(int);
+extern int getcw(register int);
+extern int abscw(int);
+extern int onfont(tchar);
+extern int getascender(void);
+extern int getdescender(void);
+extern int kernadjust(tchar, tchar);
+extern void xbits(register tchar, int);
+extern tchar setch(int);
+extern tchar setabs(void);
+extern int findft(register int, int);
+extern void caseps(void);
+extern void casps1(register int);
+extern int findps(register int);
+extern void mchbits(void);
+extern void setps(void);
+extern tchar setht(void);
+extern tchar setslant(void);
+extern void caseft(void);
+extern void setfont(int);
+extern void setwd(void);
+extern tchar vmot(void);
+extern tchar hmot(void);
+extern tchar mot(void);
+extern tchar sethl(int);
+extern tchar makem(register int);
+extern tchar getlg(tchar);
+extern int strlg(int, int *, int);
+extern void caselg(void);
+extern void caseflig(int);
+extern void casefdeferlig(void);
+extern void casefp(int);
+extern void casefps(void);
+extern int setfp(int, int, char *);
+extern int nextfp(void);
+extern void casecs(void);
+extern void casebd(void);
+extern void casevs(void);
+extern void casess(int);
+extern void caseminss(void);
+extern void caseletadj(void);
+extern void casefspacewidth(void);
+extern void casespacewidth(void);
+extern tchar xlss(void);
+extern void casetrack(void);
+extern void casefallback(void);
+extern void casehidechar(void);
+extern void casefzoom(void);
+extern double getfzoom(void);
+extern void casekern(void);
+extern void casefkern(void);
+extern void casepapersize(void);
+extern void casemediasize(void);
+extern void casetrimat(void);
+extern void casebleedat(void);
+extern void casecropat(void);
+extern void caselhang(void);
+extern void caserhang(void);
+extern void casekernpair(void);
+extern void casekernafter(void);
+extern void casekernbefore(void);
+extern void caseftr(void);
+extern void casefeature(void);
+extern int un2tr(int, int *);
+extern int tr2un(tchar, int);
+extern tchar setuc0(int);
+extern tchar setanchor(void);
+extern tchar setlink(void);
+extern tchar setulink(void);
+extern int pts2u(int);
+extern double u2pts(int);
+/* t10.c */
+extern void ptinit(void);
+extern void specnames(void);
+extern int findch(register char *);
+extern void ptout(register tchar);
+extern tchar *ptout0(tchar *, tchar *);
+extern void ptps(void);
+extern void ptfont(void);
+extern void ptfpcmd(int, char *, char *, int);
+extern void ptlead(void);
+extern void ptesc(void);
+extern void newpage(int);
+extern void ptsupplyfont(char *, char *);
+extern void ptlocale(const char *);
+extern void pttrailer(void);
+extern void ptstop(void);
+extern void dostop(void);
diff --git a/troff/troff.d/t10.c b/troff/troff.d/t10.c
new file mode 100644
index 0000000000000..52cfc40c0751c
--- /dev/null
+++ b/troff/troff.d/t10.c
@@ -0,0 +1,1139 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 1989 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "t10.c 1.11 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t10.c 1.98 (gritter) 8/19/08
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze (carsten.kunze at arcor.de)
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+#include <stdlib.h>
+#include "tdef.h"
+#include <ctype.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#ifdef EUC
+#include <locale.h>
+#endif
+#include "ext.h"
+#include "dev.h"
+#include "afm.h"
+#include "pt.h"
+#include "troff.h"
+#include "unimap.h"
+#include "fontmap.h"
+/*
+ * troff10.c
+ *
+ * typesetter interface
+ */
+
+int vpos = 0; /* absolute vertical position on page */
+int hpos = 0; /* ditto horizontal */
+
+int initbdtab[NFONT+1];
+
+short *chtab;
+char *chname;
+int **fontab;
+char **kerntab;
+unsigned short **fitab;
+unsigned short **codetab;
+
+int Inch;
+int Hor;
+int Vert;
+int Unitwidth;
+int nfonts;
+int nsizes;
+int nchtab;
+int lettrack;
+float horscale;
+
+static float mzoom;
+static int mtrack;
+static float mhorscale;
+
+/* these characters are used as various signals or values
+ * in miscellaneous places.
+ * values are set in specnames in t10.c
+ */
+
+int c_hyphen;
+int c_emdash;
+int c_endash;
+int c_rule;
+int c_minus;
+int c_fi;
+int c_fl;
+int c_ff;
+int c_ffi;
+int c_ffl;
+int c_acute;
+int c_grave;
+int c_under;
+int c_rooten;
+int c_boxrule;
+int c_lefthand;
+int c_dagger;
+
+struct dev dev;
+struct Font **fontbase;
+
+int Nfont;
+
+static int okern(tchar *, tchar *, int);
+static void pthorscale(int);
+static void pttrack(int);
+static void ptanchor(int);
+static void ptlink(int);
+static void ptulink(int);
+static void ptyon(int);
+static void ptchar(int, int);
+static void pnc(int, struct afmtab *);
+
+void
+growfonts(int n)
+{
+ int i, j;
+
+ fontbase = realloc(fontbase, n * sizeof *fontbase);
+ memset(&fontbase[Nfont], 0, (n - Nfont) * sizeof *fontbase);
+ fontab = realloc(fontab, n * sizeof *fontab);
+ memset(&fontab[Nfont], 0, (n - Nfont) * sizeof *fontab);
+ kerntab = realloc(kerntab, n * sizeof *kerntab);
+ memset(&kerntab[Nfont], 0, (n - Nfont) * sizeof *kerntab);
+ codetab = realloc(codetab, n * sizeof *codetab);
+ memset(&codetab[Nfont], 0, (n - Nfont) * sizeof *codetab);
+ fitab = realloc(fitab, n * sizeof *fitab);
+ memset(&fitab[Nfont], 0, (n - Nfont) * sizeof *fitab);
+ fontlab = realloc(fontlab, n * sizeof *fontlab);
+ memset(&fontlab[Nfont], 0, (n - Nfont) * sizeof *fontlab);
+ cstab = realloc(cstab, n * sizeof *cstab);
+ memset(&cstab[Nfont], 0, (n - Nfont) * sizeof *cstab);
+ ccstab = realloc(ccstab, n * sizeof *ccstab);
+ memset(&ccstab[Nfont], 0, (n - Nfont) * sizeof *ccstab);
+ bdtab = realloc(bdtab, n * sizeof *bdtab);
+ memset(&bdtab[Nfont], 0, (n - Nfont) * sizeof *bdtab);
+ tracktab = realloc(tracktab, n * sizeof *tracktab);
+ memset(&tracktab[Nfont], 0, (n - Nfont) * sizeof *tracktab);
+ fallbacktab = realloc(fallbacktab, n * sizeof *fallbacktab);
+ memset(&fallbacktab[Nfont], 0, (n - Nfont) * sizeof *fallbacktab);
+ zoomtab = realloc(zoomtab, n * sizeof *zoomtab);
+ memset(&zoomtab[Nfont], 0, (n - Nfont) * sizeof *zoomtab);
+ lhangtab = realloc(lhangtab, n * sizeof *lhangtab);
+ memset(&lhangtab[Nfont], 0, (n - Nfont) * sizeof *lhangtab);
+ rhangtab = realloc(rhangtab, n * sizeof *rhangtab);
+ memset(&rhangtab[Nfont], 0, (n - Nfont) * sizeof *rhangtab);
+ kernafter = realloc(kernafter, n * sizeof *kernafter);
+ memset(&kernafter[Nfont], 0, (n - Nfont) * sizeof *kernafter);
+ kernbefore = realloc(kernbefore, n * sizeof *kernbefore);
+ memset(&kernbefore[Nfont], 0, (n - Nfont) * sizeof *kernbefore);
+ ftrtab = realloc(ftrtab, n * sizeof *ftrtab);
+ for (i = Nfont; i < n; i++) {
+ ftrtab[i] = malloc(NCHARS * sizeof **ftrtab);
+ for (j = 0; j < NCHARS; j++)
+ ftrtab[i][j] = j;
+ }
+ lgtab = realloc(lgtab, n * sizeof *lgtab);
+ memset(&lgtab[Nfont], 0, (n - Nfont) * sizeof *lgtab);
+ lgrevtab = realloc(lgrevtab, n * sizeof *lgrevtab);
+ memset(&lgrevtab[Nfont], 0, (n - Nfont) * sizeof *lgrevtab);
+ Nfont = n;
+}
+
+void
+ptinit(void)
+{
+ int i, nw;
+ char *filebase, *p, *ap, *descp;
+ char *p2;
+ size_t l;
+ size_t l2;
+
+ if (!strcmp(devname, "html")) html = 1;
+ growfonts(NFONT+1);
+ memcpy(bdtab, initbdtab,
+ max((NFONT+1) * sizeof *bdtab, sizeof initbdtab));
+ uninit();
+ /* open table for device,
+ * read in resolution, size info, font info, etc.
+ * and set params
+ */
+ l = strlen(termtab) + strlen(devname) + 10;
+ l2 = l + 3;
+ p = malloc(l);
+ p2 = malloc(l2);
+ n_strcpy(p, termtab, l);
+ termtab = p;
+ n_strcat(termtab, "/dev", l);
+ n_strcat(termtab, devname, l);
+ n_strcpy(p2, termtab, l2);
+ n_strcat(p2, "/FONTMAP", l2);
+ rdftmap(p2);
+ free(p2);
+ n_strcat(termtab, "/DESC", l); /* makes "..../devXXX/DESC" */
+ if ((descp = readdesc(termtab)) == NULL)
+ done3(1);
+ memcpy(&dev, descp, sizeof dev);
+ Inch = dev.res;
+ Hor = dev.hor;
+ Vert = dev.vert;
+ Unitwidth = dev.unitwidth;
+ nfonts = dev.nfonts;
+ nsizes = dev.nsizes;
+ nchtab = dev.nchtab;
+ if (nchtab >= NCHARS - 128) {
+ errprint("too many special characters in file %s",
+ termtab);
+ done3(1);
+ }
+ filebase = malloc(dev.filesize + 3*EXTRAFONT); /* enough room for whole file */
+ memcpy(filebase, &descp[sizeof dev], dev.filesize); /* all at once */
+ free(descp);
+ pstab = (int *) filebase;
+ for (i = 0; pstab[i]; i++)
+ pstab[i] = pts2u(pstab[i]);
+ chtab = (short *)(pstab + nsizes + 1);
+ chname = (char *) (chtab + dev.nchtab);
+ p = chname + dev.lchname;
+ specnames(); /* install names like "hyphen", etc. */
+ for (i = 1; i <= nfonts; i++) {
+ fontbase[i] = (struct Font *) p;
+ nw = *p & BYTEMASK; /* 1st thing is width count */
+ fontlab[i] = PAIR(fontbase[i]->namefont[0], fontbase[i]->namefont[1]);
+ /* for now, still 2 char names */
+ if (smnt == 0 && fontbase[i]->specfont == 1)
+ smnt = i; /* first special font */
+ p += sizeof(struct Font); /* that's what's on the beginning */
+ if ((ap = strstr(fontbase[i]->namefont, ".afm")) != NULL) {
+ *ap = 0;
+ if (ap == &fontbase[i]->namefont[1])
+ fontlab[i] &= BYTEMASK;
+ loadafm(i, fontlab[i], fontbase[i]->namefont, NULL,
+ 1, SPEC_NONE);
+ } else {
+ makefont(i, p, p + nw, p + 2 * nw, p + 3 * nw, nw);
+ }
+ p += 3 * nw + dev.nchtab + 128 - 32;
+ }
+ fontbase[0] = (struct Font *) p; /* the last shall be first */
+ memset(fontbase[0], 0, sizeof *fontbase[0]);
+ nw = EXTRAFONT - dev.nchtab - (128-32) - sizeof (struct Font);
+ fontbase[0]->nwfont = nw;
+ makefont(0, p, p + nw, p + 2 * nw, p + 3 * nw, nw);
+ /* there are a lot of things that used to be constant
+ * that now require code to be executed.
+ */
+ sps = SPS;
+ ses = SES;
+ for (i = 0; i < 16; i++)
+ tabtab[i] = DTAB * (i + 1);
+ pl = 11 * INCH;
+ po = PO;
+ spacesz = SS;
+ sesspsz = SSS;
+ lss = lss1 = VS;
+ ll = ll1 = lt = lt1 = LL;
+ apts = pts2u(apts);
+ apts1 = pts2u(apts1);
+ pts = pts2u(pts);
+ pts1 = pts2u(pts1);
+ ics = ICS;
+ for (i = 0; i <= nfonts; i++)
+ setlig(i, fontbase[i]->ligfont);
+ kern = xflag;
+ if (ascii)
+ return;
+ fdprintf(ptid, "x T %s\n", devname);
+ fdprintf(ptid, "x res %d %d %d\n", Inch, Hor, Vert);
+ fdprintf(ptid, "x init\n"); /* do initialization for particular device */
+ /*
+ for (i = 1; i <= nfonts; i++)
+ fdprintf(ptid, "x font %d %s\n", i, fontbase[i]->namefont);
+ fdprintf(ptid, "x xxx fonts=%d sizes=%d unit=%d\n", nfonts, nsizes, Unitwidth);
+ fdprintf(ptid, "x xxx nchtab=%d lchname=%d nfitab=%d\n",
+ dev.nchtab, dev.lchname, dev.nchtab+128-32);
+ fdprintf(ptid, "x xxx sizes:\nx xxx ");
+ for (i = 0; i < nsizes; i++)
+ fdprintf(ptid, " %d", pstab[i]);
+ fdprintf(ptid, "\nx xxx chars:\nx xxx ");
+ for (i = 0; i < dev.nchtab; i++)
+ fdprintf(ptid, " %s", &chname[chtab[i]]);
+ fdprintf(ptid, "\nx xxx\n");
+ */
+#ifdef EUC
+ ptlocale(setlocale(LC_CTYPE, NULL));
+#endif /* EUC */
+ free(termtab);
+}
+
+void
+specnames(void)
+{
+ static struct {
+ int *n;
+ char *v;
+ } spnames[] = {
+ { &c_hyphen , "hy" },
+ { &c_emdash , "em" },
+ { &c_endash , "en" },
+ { &c_rule , "ru" },
+ { &c_minus , "\\-"},
+ { &c_fi , "fi" },
+ { &c_fl , "fl" },
+ { &c_ff , "ff" },
+ { &c_ffi , "Fi" },
+ { &c_ffl , "Fl" },
+ { &c_acute , "aa" },
+ { &c_grave , "ga" },
+ { &c_under , "ul" },
+ { &c_rooten , "rn" },
+ { &c_boxrule , "br" },
+ { &c_lefthand, "lh" },
+ { &c_dagger , "dg" },
+ { 0 , 0 }
+ };
+ static int twice;
+ int i;
+
+ if (twice++)
+ return;
+ for (i = 0; spnames[i].n; i++)
+ *spnames[i].n = findch(spnames[i].v);
+}
+
+int
+findch(register char *s) /* find char s in chname */
+{
+ register int i;
+
+ for (i = 0; i < nchtab; i++)
+ if (strcmp(s, &chname[chtab[i]]) == 0)
+ return(i + 128);
+ return(0);
+}
+
+void
+ptout(register tchar i)
+{
+ register int dv;
+ register tchar *k;
+ int temp, a, b;
+
+ if (isadjspc(i))
+ return;
+ if (olinep >= &oline[olinesz]) {
+ olinesz += 100;
+ k = realloc(oline, olinesz * sizeof *oline);
+ olinep = (tchar *)((char *)olinep + ((char *)k-(char *)oline));
+ oline = k;
+ }
+ if (cbits(i) != '\n') {
+ *olinep++ = i;
+ return;
+ }
+ if (olinep == oline) {
+ lead += lss;
+ return;
+ }
+
+ hpos = po; /* ??? */
+ esc = 0; /* ??? */
+ ptesc(); /* the problem is to get back to the left end of the line */
+ dv = 0;
+ for (k = oline; k < olinep; k++) {
+ if (ismot(*k) && isvmot(*k)) {
+ temp = absmot(*k);
+ if (isnmot(*k))
+ temp = -temp;
+ dv += temp;
+ }
+ }
+ if (dv) {
+ vflag++;
+ *olinep++ = makem(-dv);
+ vflag = 0;
+ }
+
+ b = dip->blss + lss;
+ lead += dip->blss + lss;
+ dip->blss = 0;
+ if (linkout)
+ linkhp = hpos;
+ for (k = oline; k < olinep; )
+ k = ptout0(k, olinep); /* now passing a pointer! */
+ olinep = oline;
+ lead += dip->alss;
+ a = dip->alss;
+ dip->alss = 0;
+ if (linkout)
+ ptlink(linkout);
+ /*
+ fdprintf(ptid, "x xxx end of line: hpos=%d, vpos=%d\n", hpos, vpos);
+*/
+ fdprintf(ptid, "n%d %d\n", b, a); /* be nice to chuck */
+}
+
+tchar *
+ptout0(tchar *pi, tchar *pend)
+{
+ struct afmtab *a;
+ register int j;
+ register int k, w = 0;
+ int z, dx, dy, dx2, dy2, n, c;
+ register tchar i;
+ int outsize; /* size of object being printed */
+ double f;
+ int tfont;
+
+ outsize = 1; /* default */
+ i = *pi;
+ k = cbits(i);
+ if (k == FILLER)
+ return(pi+outsize);
+ if (ismot(i)) {
+ j = absmot(i);
+ if (isnmot(i))
+ j = -j;
+ if (isvmot(i))
+ lead += j;
+ else
+ esc += j;
+ return(pi+outsize);
+ }
+ if (k == XON) {
+ if (xfont != mfont)
+ ptfont();
+ if (xpts != mpts || zoomtab[xfont] != mzoom)
+ ptps();
+ if (lead)
+ ptlead();
+ if (esc)
+ ptesc();
+ fdprintf(ptid, "x X ");
+ /*
+ * not guaranteed of finding a XOFF if a word overflow
+ * error occured, so also bound this loop by olinep
+ */
+ pi++;
+ while( cbits(*pi) != XOFF && pi < olinep )
+ outascii(*pi++);
+ oput('\n');
+ if ( cbits(*pi) == XOFF )
+ pi++;
+ return pi;
+ }
+ ;
+ if (k == CHARHT) {
+ if (xflag) {
+ xfont = fbits(i);
+ if (xfont != mfont)
+ ptfont();
+ }
+ if (xpts != mpts || zoomtab[xfont] != mzoom)
+ ptps();
+ j = f = u2pts(sbits(i));
+ if (j != f && xflag && dev.anysize)
+ fdprintf(ptid, "x H -23 %g\n", f);
+ else
+ fdprintf(ptid, "x H %d\n", j);
+ return(pi+outsize);
+ }
+ if (k == SLANT) {
+ if (xflag) {
+ xfont = fbits(i);
+ if (xfont != mfont)
+ ptfont();
+ }
+ fdprintf(ptid, "x S %d\n", (int)sbits(i)-180);
+ return(pi+outsize);
+ }
+ if (k == WORDSP) {
+ oput('w');
+ return(pi+outsize);
+ }
+ if (k == FONTPOS) {
+ n = i >> 22;
+ ptfpcmd(0, macname(n), NULL, 0);
+ return(pi+outsize);
+ }
+ if (k == XFUNC) {
+ switch (fbits(i)) {
+ case ANCHOR:
+ ptanchor(sbits(i));
+ return(pi+outsize);
+ case LINKON:
+ linkout = sbits(i);
+ linkhp = hpos + esc;
+ if (html) ptlink(sbits(i));
+ return(pi+outsize);
+ case LINKOFF:
+ ptlink(html ? 0 : sbits(i));
+ linkout = 0;
+ return(pi+outsize);
+ case ULINKON:
+ linkout = sbits(i);
+ linkhp = hpos + esc;
+ if (html) ptulink(sbits(i));
+ return(pi+outsize);
+ case ULINKOFF:
+ ptulink(html ? 0 : sbits(i));
+ linkout = 0;
+ return(pi+outsize);
+ case INDENT:
+ if (linkout)
+ linkhp += sbits(i);
+ return(pi+outsize);
+ case LETSP:
+ lettrack = sbits(i);
+ return(pi+outsize);
+ case NLETSP:
+ lettrack = -sbits(i);
+ return(pi+outsize);
+ case LETSH:
+ horscale = 1 + (double)sbits(i) / LAFACT;
+ return(pi+outsize);
+ case NLETSH:
+ horscale = 1 - (double)sbits(i) / LAFACT;
+ return(pi+outsize);
+ case YON:
+ if (&pi[outsize] >= pend)
+ return(pi+outsize);
+ ptyon(fetchrq(&pi[outsize]));
+ return(pi+outsize+1);
+ case CHAR:
+ ptchar(sbits(i), iszbit(i) != 0);
+ if (!iszbit(i))
+ esc += okern(pi, pend, outsize);
+ return(pi+outsize);
+ default:
+ return(pi+outsize);
+ }
+ }
+ if (sfbits(i) == oldbits) {
+ xfont = pfont;
+ xpts = ppts;
+ } else
+ xbits(i, 2);
+ if (k < 040 && k != DRAWFCN)
+ return(pi+outsize);
+ if (k >= 32) {
+ if (html && k >= NCHARS)
+ w = getcw(0);
+ else
+ if (widcache[k-32].fontpts == xfont + (xpts<<8) && !setwdf &&
+ kern == 0 && horscale == 0) {
+ w = widcache[k-32].width;
+ lasttrack = widcache[k-32].track;
+ bd = 0;
+ cs = 0;
+ } else {
+ tfont = xfont;
+ w = getcw(k-32);
+ if (tfont != xfont)
+ k = ftrans(xfont, k);
+ }
+ }
+ if (xfont != mfont)
+ ptfont();
+ if (xpts != mpts || zoomtab[xfont] != mzoom)
+ ptps();
+ if (lead)
+ ptlead();
+ if (lettrack || lasttrack || mtrack)
+ pttrack(0);
+ if (horscale || mhorscale)
+ pthorscale(0);
+ w += okern(pi, pend, outsize);
+ if (afmtab && (j = (fontbase[xfont]->afmpos) - 1) >= 0)
+ a = afmtab[j];
+ else
+ a = NULL;
+ j = z = 0;
+ if (k != DRAWFCN) {
+ if (cs && !fmtchar) {
+ if (bd)
+ w += (bd - 1) * HOR;
+ j = (cs - w) / 2;
+ w = cs - j;
+ if (bd)
+ w -= (bd - 1) * HOR;
+ }
+ if (iszbit(i)) {
+ if (cs && !fmtchar)
+ w = -j;
+ else
+ w = 0;
+ z = 1;
+ }
+ }
+ esc += j;
+ /* put out the real character here */
+ if (k == DRAWFCN) {
+ if (esc)
+ ptesc();
+ dx = absmot(pi[3]);
+ if (isnmot(pi[3]))
+ dx = -dx;
+ dy = absmot(pi[4]);
+ if (isnmot(pi[4]))
+ dy = -dy;
+ switch ((c=cbits(pi[1]))) {
+ case DRAWCIRCLE: /* circle */
+ case DRAWCIRCLEFI:
+ fdprintf(ptid, "D%c %d\n", c, dx); /* dx is diameter */
+ w = 0;
+ hpos += dx;
+ break;
+ case DRAWELLIPSE:
+ case DRAWELLIPSEFI:
+ fdprintf(ptid, "D%c %d %d\n", c, dx, dy);
+ w = 0;
+ hpos += dx;
+ break;
+ case DRAWLINE: /* line */
+ k = cbits(pi[2]);
+ fdprintf(ptid, "D%c %d %d ", DRAWLINE, dx, dy);
+ if (k < 128)
+ fdprintf(ptid, "%c\n", k);
+ else
+ fdprintf(ptid, "%s\n", &chname[chtab[k - 128]]);
+ w = 0;
+ hpos += dx;
+ vpos += dy;
+ break;
+ case DRAWARC: /* arc */
+ dx2 = absmot(pi[5]);
+ if (isnmot(pi[5]))
+ dx2 = -dx2;
+ dy2 = absmot(pi[6]);
+ if (isnmot(pi[6]))
+ dy2 = -dy2;
+ fdprintf(ptid, "D%c %d %d %d %d\n", DRAWARC,
+ dx, dy, dx2, dy2);
+ w = 0;
+ hpos += dx + dx2;
+ vpos += dy + dy2;
+ break;
+ case DRAWSPLINE: /* spline */
+ default: /* something else; copy it like spline */
+ fdprintf(ptid, "D%c %d %d", (int)cbits(pi[1]), dx, dy);
+ w = 0;
+ hpos += dx;
+ vpos += dy;
+ if (cbits(pi[3]) == DRAWFCN || cbits(pi[4]) == DRAWFCN) {
+ /* it was somehow defective */
+ fdprintf(ptid, "\n");
+ break;
+ }
+ for (n = 5; cbits(pi[n]) != DRAWFCN; n += 2) {
+ dx = absmot(pi[n]);
+ if (isnmot(pi[n]))
+ dx = -dx;
+ dy = absmot(pi[n+1]);
+ if (isnmot(pi[n+1]))
+ dy = -dy;
+ fdprintf(ptid, " %d %d", dx, dy);
+ hpos += dx;
+ vpos += dy;
+ }
+ fdprintf(ptid, "\n");
+ break;
+ }
+ for (n = 3; cbits(pi[n]) != DRAWFCN; n++)
+ ;
+ outsize = n + 1;
+ } else if (k < 128) {
+ /* try to go faster and compress output */
+ /* by printing nnc for small positive motion followed by c */
+ /* kludgery; have to make sure set all the vars too */
+ if (esc > 0 && esc < 100) {
+ oput(esc / 10 + '0');
+ oput(esc % 10 + '0');
+ oput(k);
+ hpos += esc;
+ esc = 0;
+ } else {
+ if (esc)
+ ptesc();
+ oput('c');
+ oput(k);
+ oput('\n');
+ }
+ } else {
+ if (esc)
+ ptesc();
+ pnc(k, a);
+ }
+ if (bd && !fmtchar) {
+ bd -= HOR;
+ if (esc += bd)
+ ptesc();
+ if (k < 128) {
+ fdprintf(ptid, "c%c\n", k);
+ } else
+ pnc(k, a);
+ if (z)
+ esc -= bd;
+ }
+ esc += w;
+ lettrack = 0;
+ horscale = 0;
+ return(pi+outsize);
+}
+
+static void
+pnc(int k, struct afmtab *a) {
+ int j;
+
+ if (k >= nchtab + 128) {
+ if (a && (j = a->fitab[k-nchtab-128-32]) < a->nchars &&
+ a->nametab[j] != NULL) {
+ fdprintf(ptid, "CPS%s\n", a->nametab[j]);
+ } else {
+ fdprintf(ptid, "N%d\n",
+ k - (html ? 0 : (nchtab + 128)) );
+ }
+ } else {
+ fdprintf(ptid, "C%s\n", &chname[chtab[k - 128]]);
+ }
+}
+
+static int
+okern(tchar *pi, tchar *pend, int outsize)
+{
+ int j;
+
+ for (j = outsize; &pi[j] < pend; j++)
+ if (cbits(pi[j]) != XFUNC || (fbits(pi[j]) != LETSP &&
+ fbits(pi[j]) != NLETSP &&
+ fbits(pi[j]) != LETSH &&
+ fbits(pi[j]) != NLETSH))
+ break;
+ if (&pi[j] < pend)
+ return getkw(pi[0], pi[j]);
+ else
+ return 0;
+}
+
+static void
+pthorscale(int always)
+{
+ if (horscale || mhorscale) {
+ if (always || mhorscale != horscale)
+ fdprintf(ptid, "x X HorScale %g\n",
+ horscale ? horscale : 1.0);
+ mhorscale = horscale;
+ } else
+ mhorscale = 0;
+}
+
+static void
+pttrack(int always)
+{
+ if (xflag && (lasttrack || lettrack || mtrack)) {
+ if (always || mtrack != (lasttrack + lettrack))
+ fdprintf(ptid, "x X Track %d\n", lasttrack + lettrack);
+ mtrack = lasttrack + lettrack;
+ } else
+ mtrack = 0;
+}
+
+void
+ptps(void)
+{
+ register int i, j, k;
+ double s, z;
+ int found;
+
+ i = xpts;
+ for (j = 0; i > (k = pstab[j]); j++)
+ if (!k) {
+ k = pstab[--j];
+ break;
+ }
+ found = k == i;
+ if (dev.anysize && xflag)
+ k = i;
+ s = u2pts(k);
+ if ((z = zoomtab[xfont]) != 0 && dev.anysize && xflag)
+ s *= z;
+ if (dev.anysize && xflag && (!found || (z != 0 && z != 1)))
+ fdprintf(ptid, "s-23 %g\n", s);
+ else
+ fdprintf(ptid, "s%d\n", (int)s); /* really should put out string rep of size */
+ mpts = i;
+ mzoom = z;
+ pttrack(0);
+ pthorscale(0);
+}
+
+void
+ptfont(void)
+{
+ mfont = xfont;
+ fdprintf(ptid, "f%d\n", xfont);
+ mtrack = 0;
+ pttrack(1);
+ pthorscale(1);
+}
+
+void
+ptfpcmd(int f, char *s, char *path, int flags)
+{
+ if (ascii)
+ return;
+ fdprintf(ptid, "x font %d %s", f, s);
+ if (path) {
+ fdprintf(ptid, " %s", path);
+ if (flags)
+ fdprintf(ptid, " %d", flags);
+ }
+ fdprintf(ptid, "\n");
+ ptfont(); /* make sure that it gets noticed */
+}
+
+void
+ptlead(void)
+{
+ vpos += lead;
+ if (!ascii)
+ fdprintf(ptid, "V%d\n", vpos);
+ lead = 0;
+}
+
+void
+ptesc(void)
+{
+ hpos += esc;
+ if (esc > 0) {
+ oput('h');
+ if (esc>=10 && esc<100) {
+ oput(esc/10 + '0');
+ oput(esc%10 + '0');
+ } else
+ fdprintf(ptid, "%d", esc);
+ } else
+ fdprintf(ptid, "H%d\n", hpos);
+ esc = 0;
+}
+
+void
+ptsupplyfont(char *fontname, char *file)
+{
+ if (ascii)
+ return;
+ fdprintf(ptid, "x X SupplyFont %s %s\n", fontname, file);
+}
+
+void
+ptpapersize(void)
+{
+ if (ascii || mediasize.flag == 0)
+ return;
+ fdprintf(ptid, "x X PaperSize %d %d %d\n",
+ mediasize.val[2], mediasize.val[3],
+ mediasize.flag&2?1:0);
+}
+
+static void
+cut1(const char *name, struct box *bp)
+{
+ if (bp->flag)
+ fdprintf(ptid, "x X %s %d %d %d %d\n", name,
+ bp->val[0], bp->val[1], bp->val[2], bp->val[3]);
+}
+
+void
+ptcut(void)
+{
+ if (ascii)
+ return;
+ cut1("TrimAt", &trimat);
+ cut1("BleedAt", &bleedat);
+ cut1("CropAt", &cropat);
+}
+
+void
+ptlocale(const char *cp)
+{
+ static char *lp;
+
+ if (cp != NULL) {
+ size_t l;
+ free(lp);
+ l = strlen(cp) + 1;
+ lp = malloc(l);
+ n_strcpy(lp, cp, l);
+ }
+ if (ascii || realpage == 0 || lp == NULL || dev.lc_ctype == 0)
+ return;
+ fdprintf(ptid, "x X LC_CTYPE %s\n", lp);
+}
+
+static void
+ptanchor(int n)
+{
+ struct ref *rp;
+
+ if (ascii)
+ return;
+ for (rp = anchors; rp; rp = rp->next)
+ if (rp->cnt == n) {
+ if (html) {
+ fdprintf(ptid, "x X Anchor %s\n", rp->name);
+ } else {
+ fdprintf(ptid, "x X Anchor %d,%d %s\n",
+ vpos + lead - lss, hpos + esc, rp->name);
+ }
+ break;
+ }
+}
+
+static void
+_ptlink(int n, struct ref *rstart, const char *type)
+{
+ struct ref *rp;
+
+ if (ascii)
+ return;
+ if (html && !n) {
+ fdprintf(ptid, "x X %s\n", type);
+ return;
+ }
+ for (rp = rstart; rp; rp = rp->next)
+ if (rp->cnt == n) {
+ if (html)
+ fdprintf(ptid, "x X %s %s\n", type, rp->name);
+ else
+ fdprintf(ptid, "x X %s %d,%d,%d,%d %s\n",
+ type,
+ linkhp, vpos + pts2u(1),
+ hpos + esc, vpos - pts * 8 / 10,
+ rp->name);
+ break;
+ }
+}
+
+static void
+ptlink(int n)
+{
+ _ptlink(n, links, "Link");
+}
+
+static void
+ptulink(int n)
+{
+ _ptlink(n, ulinks, "ULink");
+}
+
+static void
+ptyon(int i)
+{
+ struct contab *cp;
+ tchar c;
+ int k, nl;
+ filep savip;
+
+ if ((cp = findmx(i)) == NULL || !cp->mx) {
+ nosuch(i);
+ return;
+ }
+ if (xfont != mfont)
+ ptfont();
+ if (xpts != mpts || zoomtab[xfont] != mzoom)
+ ptps();
+ if (lead)
+ ptlead();
+ if (esc)
+ ptesc();
+ fdprintf(ptid, "x X ");
+ savip = ip;
+ ip = (filep)cp->mx;
+ app = 1;
+ k = -1;
+ nl = 0;
+ while ((c = rbf()) != 0) {
+ if ((k = cbits(c)) != '\n') {
+ while (nl--)
+ oputs("\n+");
+ nl = 0;
+ outascii(c);
+ } else
+ nl++;
+ }
+ while (nl-- > 1)
+ oputs("\n+");
+ oput('\n');
+ app = 0;
+ ip = savip;
+}
+
+static void
+ptchar1(struct charout *cp, int z)
+{
+ filep savip;
+ tchar i, *k, *savoline, *savolinep;
+ size_t savolinesz;
+ int savhpos, savvpos, savlettrack;
+
+ savoline = oline;
+ savolinep = olinep;
+ savolinesz = olinesz;
+ olinep = oline = NULL;
+ olinesz = 0;
+ savlettrack = lettrack;
+ lettrack = 0;
+ savhpos = hpos + esc;
+ savvpos = vpos + lead;
+ savip = ip;
+ ip = cp->op;
+ app++;
+ fmtchar++;
+ while ((i = rbf()) != 0 && cbits(i) != '\n' && cbits(i) != FLSS)
+ pchar(i);
+ for (k = oline; k < olinep; )
+ k = ptout0(k, olinep);
+ fmtchar--;
+ app--;
+ ip = savip;
+ free(oline);
+ oline = savoline;
+ olinep = savolinep;
+ olinesz = savolinesz;
+ lettrack = savlettrack;
+ esc = savhpos - hpos;
+ if (!z)
+ esc += cs ? cs : cp->width + lettrack;
+ lead = savvpos - vpos;
+}
+
+static void
+ptchar(int n, int z)
+{
+ struct charout *cp = &charout[n];
+ int savbd;
+
+ ptchar1(cp, z);
+ if (bd) {
+ bd -= HOR;
+ if (esc += bd)
+ ptesc();
+ savbd = bd;
+ bd = 0;
+ ptchar1(cp, z);
+ bd = savbd;
+ if (iszbit(cp->ch))
+ esc -= bd;
+ }
+ lettrack = 0;
+}
+
+void
+newpage(int n) /* called at end of each output page (we hope) */
+{
+ int i;
+
+ realpage++;
+ ptlead();
+ vpos = 0;
+ if (ascii)
+ return;
+ fdprintf(ptid, "p%d\n", n); /* new page */
+ for (i = 0; i <= nfonts; i++) {
+ if (fontbase[i] == NULL)
+ continue;
+ if (afmtab && fontbase[i]->afmpos) {
+ struct afmtab *a = afmtab[(fontbase[i]->afmpos)-1];
+ if (a->encpath == NULL)
+ a->encpath = afmencodepath(a->path);
+ fdprintf(ptid, "x font %d %s %s %d\n", i,
+ macname(fontlab[i]),
+ a->encpath, (int)a->spec);
+ if (a->supply)
+ ptsupplyfont(a->fontname, a->supply);
+ } else if (fontbase[i]->namefont[0])
+ fdprintf(ptid, "x font %d %s\n", i, macname(fontlab[i]));
+ }
+ ptps();
+ ptfont();
+ ptpapersize();
+ ptcut();
+ ptlocale(NULL);
+}
+
+void
+pttrailer(void)
+{
+ fdprintf(ptid, "x trailer\n");
+}
+
+void
+ptstop(void)
+{
+ fdprintf(ptid, "x stop\n");
+}
+
+void
+dostop(void)
+{
+ if (ascii)
+ return;
+ ptlead();
+ vpos = 0;
+ /* fdprintf(ptid, "x xxx end of page\n");*/
+ if (!nofeed)
+ pttrailer();
+ ptlead();
+ fdprintf(ptid, "x pause\n");
+ flusho();
+ mpts = mfont = 0;
+ ptesc();
+ esc = po;
+ hpos = vpos = 0; /* probably in wrong place */
+}
diff --git a/troff/troff.d/t6.c b/troff/troff.d/t6.c
new file mode 100644
index 0000000000000..bf7909cfd7b37
--- /dev/null
+++ b/troff/troff.d/t6.c
@@ -0,0 +1,3032 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "t6.c 1.9 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)t6.c 1.194 (gritter) 2/7/10
+ */
+
+/*
+ * Changes Copyright (c) 2014 Carsten Kunze <carsten.kunze at arcor.de>
+ */
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * t6.c
+ *
+ * width functions, sizes and fonts
+ */
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <limits.h>
+#include "tdef.h"
+#include "dev.h"
+#include <ctype.h>
+#include <string.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include "ext.h"
+#include "afm.h"
+#include "pt.h"
+#include "troff.h"
+#include "fontmap.h"
+
+/* fitab[f][c] is 0 if c is not on font f */
+ /* if it's non-zero, c is in fontab[f] at position
+ * fitab[f][c].
+ */
+int *fontlab;
+int *pstab;
+int *cstab;
+int *ccstab;
+int **fallbacktab;
+float *zoomtab;
+int *bdtab;
+int **lhangtab;
+int **rhangtab;
+int **kernafter;
+int **kernbefore;
+int **ftrtab;
+struct lgtab **lgtab;
+int ***lgrevtab;
+struct tracktab *tracktab;
+int sbold = 0;
+int kern = 0;
+struct box mediasize, bleedat, trimat, cropat;
+int psmaxcode;
+struct ref *anchors, *links, *ulinks;
+static int _minflg;
+int lastrst;
+int lastrsb;
+int spacewidth;
+
+static void kernsingle(int **);
+static int _ps2cc(const char *name, int create);
+
+int
+width(register tchar j)
+{
+ register int i, k;
+
+ _minflg = minflg;
+ minflg = minspc = 0;
+ lasttrack = 0;
+ rawwidth = 0;
+ lastrst = lastrsb = 0;
+ if (isadjspc(j))
+ return(0);
+ if (j & (ZBIT|MOT)) {
+ if (iszbit(j))
+ return(0);
+ if (isvmot(j))
+ return(0);
+ k = absmot(j);
+ if (isnmot(j))
+ k = -k;
+ return(k);
+ }
+ i = cbits(j);
+ if (html && i >= NCHARS)
+ i = ' ';
+ if (i < ' ') {
+ if (i == '\b')
+ return(-widthp);
+ if (i == PRESC)
+ i = eschar;
+ else if (iscontrol(i))
+ return(0);
+ else if (isxfunc(j, CHAR)) {
+ k = charout[sbits(j)].width + lettrack;
+ lastrst = charout[sbits(j)].height;
+ lastrsb = -charout[sbits(j)].depth;
+ goto set;
+ }
+ } else if (i == ' ' && issentsp(j))
+ {
+ _minflg = 0;
+ return(ses);
+ }
+ if (i==ohc)
+ return(0);
+ if (!xflag || !isdi(j)) {
+ if (i == STRETCH)
+ setcbits(j, ' ');
+ i = trtab[i];
+ i = ftrans(fbits(j), i);
+ }
+ if (i < 32)
+ return(0);
+ lasttrack = 0;
+ if (sfbits(j) == oldbits) {
+ xfont = pfont;
+ xpts = ppts;
+ } else
+ xbits(j, 0);
+ if (widcache[i-32].fontpts == xfont + (xpts<<8) &&
+ (i > 32 || widcache[i-32].evid == evname) &&
+ !setwdf && !_minflg && !horscale) {
+ rawwidth = widcache[i-32].width - widcache[i-32].track;
+ k = widcache[i-32].width + lettrack;
+ lastrst = widcache[i-32].rst;
+ lastrsb = widcache[i-32].rsb;
+ lasttrack = widcache[i-32].track;
+ } else {
+ if (_minflg && i == 32 && cbits(j) != 32)
+ _minflg = 0;
+ k = getcw(i-32);
+ if (i == 32 && _minflg && !cs) {
+ _minflg = 0;
+ minspc = getcw(0) - k;
+ }
+ _minflg = 0;
+ set: if (bd && !fmtchar)
+ k += (bd - 1) * HOR;
+ if (cs && !fmtchar)
+ k = cs;
+ }
+ widthp = k;
+ return(k);
+}
+
+/*
+ * clear width cache-- s means just space
+ */
+void
+zapwcache(int s)
+{
+ register int i;
+
+ if (s) {
+ widcache[0].fontpts = 0;
+ return;
+ }
+ for (i=0; i<NWIDCACHE; i++)
+ widcache[i].fontpts = 0;
+}
+
+int
+getcw(register int i)
+{
+ register int k;
+ register int *p;
+ register int x, j;
+ int nocache = 0;
+ int ofont = xfont;
+ int s, t;
+ double z = 1, zv;
+ struct afmtab *a;
+ int cd = 0;
+
+ bd = 0;
+ if (i >= nchtab + 128-32) {
+ if (afmtab && fontbase[xfont]->afmpos - 1 >= 0) {
+ cd = nchtab + 128;
+ i -= cd;
+ } else {
+ j = abscw(i + 32 - (nchtab+128));
+ goto g0;
+ }
+ }
+ if (i == 0) { /* a blank */
+ if (_minflg) {
+ j = minspsz;
+ nocache = 1;
+ } else
+ j = spacesz;
+ if (fontbase[xfont]->cspacewidth >= 0)
+ k = fontbase[xfont]->cspacewidth;
+ else if (spacewidth || gflag)
+ k = fontbase[xfont]->spacewidth;
+ else
+ k = fontab[xfont][0];
+ k = (k * j + 6) / 12;
+ lastrst = lastrsb = 0;
+ /* this nonsense because .ss cmd uses 1/36 em as its units */
+ /* and default is 12 */
+ goto g1;
+ }
+ if ((j = fitab[xfont][i]) == 0) { /* it's not on current font */
+ int ii, jj, t;
+ /* search through search list of xfont
+ * to see what font it ought to be on.
+ * first searches explicit fallbacks, then
+ * searches S, then remaining fonts in wraparound order.
+ */
+ nocache = 1;
+ if (fallbacktab[xfont]) {
+ for (jj = 0; fallbacktab[xfont][jj] != 0; jj++) {
+ if ((ii = findft(fallbacktab[xfont][jj],0)) < 0)
+ continue;
+ t = ftrans(ii, i + 32) - 32;
+ j = fitab[ii][t];
+ if (j != 0) {
+ xfont = ii;
+ goto found;
+ }
+ }
+ }
+ if (smnt) {
+ for (ii=smnt, jj=0; jj < nfonts; jj++, ii=ii % nfonts + 1) {
+ if (fontbase[ii] == NULL)
+ continue;
+ t = ftrans(ii, i + 32) - 32;
+ j = fitab[ii][t];
+ if (j != 0) {
+ /*
+ * troff traditionally relies on the
+ * device postprocessor to find the
+ * appropriate character since it
+ * searches the fonts in the same
+ * order. This does not work with the
+ * new requests anymore, so change
+ * the font explicitly.
+ */
+ if (xflag)
+ xfont = ii;
+ found: p = fontab[ii];
+ k = *(p + j);
+ if (afmtab &&
+ (t=fontbase[ii]->afmpos-1)>=0) {
+ a = afmtab[t];
+ if (a->bbtab[j]) {
+ lastrst = a->bbtab[j][3];
+ lastrsb = a->bbtab[j][1];
+ } else {
+ lastrst = a->ascender;
+ lastrsb = a->descender;
+ }
+ }
+ if (xfont == sbold)
+ bd = bdtab[ii];
+ if (setwdf)
+ numtab[CT].val |= kerntab[ii][j];
+ goto g1;
+ }
+ }
+ }
+ k = fontab[xfont][0]; /* leave a space-size space */
+ lastrst = lastrsb = 0;
+ goto g1;
+ }
+ g0:
+ p = fontab[xfont];
+ if (setwdf)
+ numtab[CT].val |= kerntab[xfont][j];
+ if (afmtab && (t = fontbase[xfont]->afmpos-1) >= 0) {
+ a = afmtab[t];
+ if (a->bbtab[j]) {
+ lastrst = a->bbtab[j][3];
+ lastrsb = a->bbtab[j][1];
+ } else {
+ /*
+ * Avoid zero values by all means. In many use
+ * cases, endless loops will result unless values
+ * are non-zero.
+ */
+ lastrst = a->ascender;
+ lastrsb = a->descender;
+ }
+ }
+ k = *(p + j);
+ if (dev.anysize == 0 || xflag == 0 || (z = zoomtab[xfont]) == 0)
+ z = 1;
+ g1:
+ zv = z;
+ if (horscale) {
+ z *= horscale;
+ nocache = 1;
+ }
+ if (!bd)
+ bd = bdtab[ofont];
+ if ((cs = cstab[ofont])) {
+ nocache = 1;
+ if ((ccs = ccstab[ofont]))
+ x = pts2u(ccs);
+ else
+ x = xpts;
+ cs = (cs * EMPTS(x)) / 36;
+ }
+ k = (k * z * u2pts(xpts) + (Unitwidth / 2)) / Unitwidth;
+ lastrst = (lastrst * zv * u2pts(xpts) + (Unitwidth / 2)) / Unitwidth;
+ lastrsb = (lastrsb * zv * u2pts(xpts) + (Unitwidth / 2)) / Unitwidth;
+ rawwidth = k;
+ s = xpts;
+ lasttrack = 0;
+ if (s <= tracktab[ofont].s1 && tracktab[ofont].n1)
+ lasttrack = tracktab[ofont].n1;
+ else if (s >= tracktab[ofont].s2 && tracktab[ofont].n2)
+ lasttrack = tracktab[ofont].n2;
+ else if (s > tracktab[ofont].s1 && s < tracktab[ofont].s2) {
+ int r;
+ r = (s * tracktab[ofont].n2 - s * tracktab[ofont].n1
+ + tracktab[ofont].s2 * tracktab[ofont].n1
+ - tracktab[ofont].s1 * tracktab[ofont].n2)
+ / (tracktab[ofont].s2 - tracktab[ofont].s1);
+ if (r != 0)
+ lasttrack = r;
+ }
+ k += lasttrack + lettrack;
+ i += cd;
+ if (nocache|bd)
+ widcache[i].fontpts = 0;
+ else {
+ widcache[i].fontpts = xfont + (xpts<<8);
+ widcache[i].width = k - lettrack;
+ widcache[i].rst = lastrst;
+ widcache[i].rsb = lastrsb;
+ widcache[i].track = lasttrack;
+ widcache[i].evid = evname;
+ }
+ return(k);
+ /* Unitwidth is Units/Point, where
+ * Units is the fundamental digitization
+ * of the character set widths, and
+ * Point is the number of goobies in a point
+ * e.g., for cat, Units=36, Point=6, so Unitwidth=36/6=6
+ * In effect, it's the size at which the widths
+ * translate directly into units.
+ */
+}
+
+int
+abscw(int n) /* return index of abs char n in fontab[], etc. */
+{ register int i, ncf;
+
+ ncf = fontbase[xfont]->nwfont & BYTEMASK;
+ for (i = 0; i < ncf; i++)
+ if (codetab[xfont][i] == n)
+ return i;
+ return 0;
+}
+
+int
+onfont(tchar c)
+{
+ int k = cbits(c);
+ int f = fbits(c);
+
+ if (k <= ' ')
+ return 1;
+ k -= 32;
+ if (k >= nchtab + 128-32) {
+ if (afmtab && fontbase[f]->afmpos - 1 >= 0)
+ k -= nchtab + 128;
+ else
+ return abscw(k + 32 - (nchtab+128)) != 0;
+ }
+ return fitab[f][k] != 0;
+}
+
+static int
+fvert2pts(int f, int s, int k)
+{
+ double z;
+
+ if (k != 0) {
+ k = (k * u2pts(s) + (Unitwidth / 2)) / Unitwidth;
+ if (dev.anysize && xflag && (z = zoomtab[f]) != 0)
+ k *= z;
+ }
+ return k;
+}
+
+int
+getascender(void)
+{
+ struct afmtab *a;
+ int n;
+
+ if ((n = fontbase[font]->afmpos - 1) >= 0) {
+ a = afmtab[n];
+ return fvert2pts(font, pts, a->ascender);
+ } else
+ return 0;
+}
+
+int
+getdescender(void)
+{
+ struct afmtab *a;
+ int n;
+
+ if ((n = fontbase[font]->afmpos - 1) >= 0) {
+ a = afmtab[n];
+ return fvert2pts(font, pts, a->descender);
+ } else
+ return 0;
+}
+
+int
+kernadjust(tchar c, tchar d)
+{
+ lastkern = 0;
+ if (!kern || ismot(c) || ismot(d) || html)
+ return 0;
+ if (!isdi(c)) {
+ c = trtab[cbits(c)] | (c & SFMASK);
+ c = ftrans(fbits(c), cbits(c)) | (c & SFMASK);
+ }
+ if (!isdi(d)) {
+ d = trtab[cbits(d)] | (d & SFMASK);
+ d = ftrans(fbits(d), cbits(d)) | (d & SFMASK);
+ }
+ return getkw(c, d);
+}
+
+#define kprime 1021
+#define khash(c, d) (((2654435769U * (c) * (d) >> 16)&0x7fffffff) % kprime)
+
+static struct knode {
+ struct knode *next;
+ tchar c;
+ tchar d;
+ int n;
+} **ktable;
+
+static void
+kadd(tchar c, tchar d, int n)
+{
+ struct knode *kn;
+ int h;
+
+ if (ktable == NULL)
+ ktable = calloc(kprime, sizeof *ktable);
+ h = khash(c, d);
+ kn = calloc(1, sizeof *kn);
+ kn->c = c;
+ kn->d = d;
+ kn->n = n;
+ kn->next = ktable[h];
+ ktable[h] = kn;
+}
+
+static void
+kzap(int f)
+{
+ struct knode *kp;
+ int i;
+
+ if (ktable == NULL)
+ return;
+ for (i = 0; i < kprime; i++)
+ for (kp = ktable[i]; kp; kp = kp->next)
+ if (fbits(kp->c) == f || fbits(kp->d) == f)
+ kp->n = INT_MAX;
+}
+
+static tchar
+findchar(tchar c)
+{
+ int f, i;
+
+ f = fbits(c);
+ c = cbits(c);
+ i = c - 32;
+ if (c != ' ' && i > 0 && i < nchtab + 128 - 32 && fitab[f][i] == 0) {
+ int ii, jj;
+ if (fallbacktab[f]) {
+ for (jj = 0; fallbacktab[f][jj] != 0; jj++) {
+ if ((ii = findft(fallbacktab[f][jj], 0)) < 0)
+ continue;
+ if (fitab[ii][i] != 0) {
+ f = ii;
+ goto found;
+ }
+ }
+ }
+ if (smnt) {
+ for (ii=smnt, jj=0; jj < nfonts; jj++, ii=ii % nfonts + 1) {
+ if (fontbase[ii] == NULL)
+ continue;
+ if (fitab[ii][i] != 0) {
+ f = ii;
+ goto found;
+ }
+ }
+ }
+ return 0;
+ }
+found:
+ setfbits(c, f);
+ return c;
+}
+
+static struct knode *
+klook(tchar c, tchar d)
+{
+ struct knode *kp;
+ int h;
+
+ c = findchar(c);
+ d = findchar(d);
+ h = khash(c, d);
+ for (kp = ktable[h]; kp; kp = kp->next)
+ if (kp->c == c && kp->d == d)
+ break;
+ return kp && kp->n != INT_MAX ? kp : NULL;
+}
+
+int
+getkw(tchar c, tchar d)
+{
+ struct knode *kp;
+ struct afmtab *a;
+ int f, g, i, j, k, n, s, I, J;
+ double z;
+
+ if (isxfunc(c, CHAR))
+ c = charout[sbits(c)].ch;
+ if (isxfunc(d, CHAR))
+ d = charout[sbits(d)].ch;
+ lastkern = 0;
+ if (!kern || iszbit(c) || iszbit(d) || ismot(c) || ismot(d))
+ return 0;
+ if (sbits(c) != sbits(d))
+ return 0;
+ f = fbits(c);
+ g = fbits(d);
+ if ((s = sbits(c)) == 0) {
+ s = xpts;
+ if (f == 0)
+ f = xfont;
+ }
+ i = cbits(c);
+ j = cbits(d);
+ if (i == SLANT || j == SLANT || i == XFUNC || j == XFUNC || cstab[f])
+ return 0;
+ k = 0;
+ if (i >= 32 && j >= 32) {
+ if (ktable != NULL && (kp = klook(c, d)) != NULL)
+ k = kp->n;
+ else if ((n = (fontbase[f]->afmpos)-1) >= 0 &&
+ n == (fontbase[g]->afmpos)-1 &&
+ fontbase[f]->kernfont >= 0) {
+ a = afmtab[n];
+ I = i - 32;
+ J = j - 32;
+ if (I >= nchtab + 128)
+ I -= nchtab + 128;
+ if (J >= nchtab + 128)
+ J -= nchtab + 128;
+ k = afmgetkern(a, I, J);
+ if (abs(k) < fontbase[f]->kernfont)
+ k = 0;
+ }
+ if (j>32 && kernafter != NULL && kernafter[fbits(c)] != NULL)
+ k += kernafter[fbits(c)][i];
+ if (i>32 && kernbefore != NULL && kernbefore[fbits(d)] != NULL)
+ k += kernbefore[fbits(d)][j];
+ }
+ if (k != 0) {
+ k = (k * u2pts(s) + (Unitwidth / 2)) / Unitwidth;
+ if (dev.anysize && xflag && (z = zoomtab[f]) != 0)
+ k *= z;
+ }
+ lastkern = k;
+ return k;
+}
+
+void
+xbits(register tchar i, int bitf)
+{
+ register int k;
+
+ xfont = fbits(i);
+ k = sbits(i);
+ if (k) {
+ xpts = dev.anysize && xflag ? k : pstab[--k];
+ oldbits = sfbits(i);
+ pfont = xfont;
+ ppts = xpts;
+ return;
+ }
+ switch (bitf) {
+ case 0:
+ xfont = font;
+ xpts = pts;
+ break;
+ case 1:
+ xfont = pfont;
+ xpts = ppts;
+ break;
+ case 2:
+ xfont = mfont;
+ xpts = mpts;
+ }
+}
+
+static tchar
+postchar1(const char *temp, int f)
+{
+ struct namecache *np;
+ struct afmtab *a;
+ int i;
+
+ if (afmtab && (i = (fontbase[f]->afmpos) - 1) >= 0) {
+ a = afmtab[i];
+ np = afmnamelook(a, temp);
+ if (np->afpos != 0) {
+ if (np->fival[0] != NOCODE &&
+ fitab[f][np->fival[0]])
+ return np->fival[0] + 32 + nchtab + 128;
+ else if (np->fival[1] != NOCODE &&
+ fitab[f][np->fival[1]])
+ return np->fival[1] + 32 + nchtab + 128;
+ else
+ return 0;
+ }
+ }
+ return(0);
+}
+
+static tchar
+postchar(const char *temp, int *fp)
+{
+ int i, j;
+ tchar c;
+
+ *fp = font;
+ if ((c = postchar1(temp, *fp)) != 0)
+ return c;
+ if (fallbacktab[font]) {
+ for (j = 0; fallbacktab[font][j] != 0; j++) {
+ if ((i = findft(fallbacktab[font][j], 0)) < 0)
+ continue;
+ if ((c = postchar1(temp, i)) != 0 && fchartab[c] == 0) {
+ *fp = i;
+ return c;
+ }
+ }
+ }
+ if (smnt) {
+ for (i=smnt, j=0; j < nfonts; j++, i=i % nfonts + 1) {
+ if (fontbase[i] == NULL)
+ continue;
+ if ((c = postchar1(temp, i)) != 0 && fchartab[c] == 0) {
+ *fp = i;
+ return c;
+ }
+ }
+ }
+ return 0;
+}
+
+const struct amap {
+ char *alias;
+ char *trname;
+} amap[] = {
+ { "lq", "``" },
+ { "rq", "''" },
+ { NULL, NULL }
+};
+
+tchar
+setch(int delim) {
+ register int j;
+ char temp[NC];
+ tchar c, d[2] = {0, 0};
+ int f, n;
+ const struct amap *ap;
+
+ n = 0;
+ if (delim == 'C')
+ d[0] = getach();
+ do {
+ c = getach();
+ if (c == 0 && n < 2)
+ return(0);
+ if (n >= sizeof temp) {
+ temp[n-1] = 0;
+ break;
+ }
+ if ((delim == '[' && c == ']') || (delim == 'C' && c == d[0])) {
+ temp[n] = 0;
+ break;
+ }
+ temp[n++] = c;
+ if (delim == '(' && n == 2) {
+ temp[n] = 0;
+ break;
+ }
+ } while (c);
+ for (ap = amap; ap->alias; ap++)
+ if (!strcmp(ap->alias, temp)) {
+ size_t l;
+ char *s = ap->trname;
+ if ((l = strlen(s) + 1) > NC) {
+ fprintf(stderr, "%s %i: strlen(%s)+1 > %d\n",
+ __FILE__, __LINE__, s, NC);
+ break;
+ }
+ memcpy(temp, s, l);
+ break;
+ }
+ if (delim == '[' && c != ']') {
+ nodelim(']');
+ return ' ';
+ }
+ if (delim == 'C' && c != d[0]) {
+ nodelim(d[0]);
+ return ' ';
+ }
+ c = 0;
+ if (delim == '[' || delim == 'C') {
+ size_t l = strlen(temp);
+ if (gemu) {
+ if (l == 5 && *temp == 'u'
+ && isxdigit((unsigned)temp[1])
+ && isxdigit((unsigned)temp[2])
+ && isxdigit((unsigned)temp[3])
+ && isxdigit((unsigned)temp[4])) {
+ int n;
+ n = strtol(temp + 1, NULL, 16);
+ if (n)
+ c = setuc0(n);
+ } else if ((l == 6 || (l == 7
+ && isdigit((unsigned)temp[6])))
+ && isdigit((unsigned)temp[5])
+ && isdigit((unsigned)temp[4])
+ && !strncmp(temp, "char", 4)) {
+ int i = atoi(temp + 4);
+ if (i <= 127)
+ c = i + nchtab + 128;
+ }
+ }
+ if (!c && (c = postchar(temp, &f))) {
+ c |= chbits & ~FMASK;
+ setfbits(c, f);
+ }
+ }
+ if (c == 0)
+ for (j = 0; j < nchtab; j++)
+ if (strcmp(&chname[chtab[j]], temp) == 0) {
+ c = (j + 128) | chbits;
+ break;
+ }
+ if (c == 0 && delim == '(')
+ if ((c = postchar(temp, &f)) != 0) {
+ c |= chbits & ~FMASK;
+ setfbits(c, f);
+ }
+ if (c == 0 && (c = _ps2cc(temp, 0)) != 0) {
+ c += nchtab + 128 + 32 + 128 - 32 + nchtab;
+ if (chartab[c] == NULL)
+ c = 0;
+ }
+ if (c == 0 && warn & WARN_CHAR)
+ errprint("missing glyph \\%c%s%s%s%s", delim, d, temp, d,
+ delim == '[' ? "]" : "");
+ if (c == 0 && !tryglf)
+ c = ' ';
+ return c;
+}
+
+tchar setabs(void) /* set absolute char from \C'...' */
+{
+ int n;
+
+ getch();
+ n = 0;
+ n = inumb(&n);
+ getch();
+ if (nonumb || n + nchtab + 128 >= NCHARS)
+ return 0;
+ return n + nchtab + 128;
+}
+
+
+
+int
+findft(register int i, int required)
+{
+ register int k;
+ int nk;
+ char *mn, *mp;
+
+ if ((k = i - '0') >= 0 && k <= nfonts && k < smnt && fontbase[k])
+ return(k);
+ for (k = 0; k > nfonts || fontlab[k] != i; k++)
+ if (k > nfonts) {
+ mn = macname(i);
+ nk = k;
+ if ((k = strtol(mn, &mp, 10)) >= 0 && *mp == 0 &&
+ mp > mn && k <= nfonts && fontbase[k])
+ break;
+ if (setfp(nk, i, NULL) == -1)
+ return -1;
+ else {
+ fontlab[nk] = i;
+ return nk;
+ }
+ if (required && warn & WARN_FONT)
+ errprint("%s: no such font", mn);
+ return(-1);
+ }
+ return(k);
+}
+
+void
+caseps(void)
+{
+ register int i;
+
+ if (skip(0))
+ i = apts1;
+ else {
+ if (xflag == 0) {
+ noscale++;
+ apts = u2pts(apts);
+ } else {
+ dfact = INCH;
+ dfactd = 72;
+ res = VERT;
+ }
+ i = inumb(&apts);
+ if (xflag == 0) {
+ noscale--;
+ i = pts2u(i);
+ apts = pts2u(apts);
+ }
+ if (nonumb)
+ return;
+ }
+ casps1(i);
+}
+
+void
+casps1(register int i)
+{
+
+/*
+ * in olden times, it used to ignore changes to 0 or negative.
+ * this is meant to allow the requested size to be anything,
+ * in particular so eqn can generate lots of \s-3's and still
+ * get back by matching \s+3's.
+
+ if (i <= 0)
+ return;
+*/
+ apts1 = apts;
+ apts = i;
+ pts1 = pts;
+ pts = findps(i);
+ mchbits();
+}
+
+int
+findps(register int i)
+{
+ register int j, k;
+
+ if (dev.anysize && xflag) {
+ if (i <= 0)
+ i = pstab[0];
+ return i;
+ }
+ for (j=k=0 ; pstab[j] != 0 ; j++)
+ if (abs(pstab[j]-i) < abs(pstab[k]-i))
+ k = j;
+
+ return(pstab[k]);
+}
+
+void
+mchbits(void)
+{
+ register int i, j, k;
+
+ i = pts;
+ if (dev.anysize && xflag)
+ j = i - 1;
+ else for (j = 0; i > (k = pstab[j]); j++)
+ if (!k) {
+ k = pstab[--j];
+ break;
+ }
+ chbits = 0;
+ setsbits(chbits, ++j);
+ setfbits(chbits, font);
+ zapwcache(1);
+ if (minspsz) {
+ k = spacesz;
+ spacesz = minspsz;
+ minsps = width(' ' | chbits);
+ spacesz = k;
+ zapwcache(1);
+ }
+ if (letspsz) {
+ k = spacesz;
+ spacesz = letspsz;
+ letsps = width(' ' | chbits);
+ spacesz = k;
+ zapwcache(1);
+ }
+ k = spacesz;
+ spacesz = sesspsz;
+ ses = width(' ' | chbits);
+ spacesz = k;
+ zapwcache(1);
+ sps = width(' ' | chbits);
+ zapwcache(1);
+}
+
+void
+setps(void)
+{
+ tchar c;
+ register int i, j = 0;
+ int k;
+
+ i = cbits(c = getch());
+ if (ismot(c) && xflag)
+ return;
+ if (ischar(i) && isdigit(i)) { /* \sd or \sdd */
+ i -= '0';
+ if (i == 0) /* \s0 */
+ j = apts1;
+ else if (i <= 3 && ischar(j = cbits(ch = getch())) &&
+ isdigit(j)) { /* \sdd */
+ j = 10 * i + j - '0';
+ ch = 0;
+ j = pts2u(j);
+ } else /* \sd */
+ j = pts2u(i);
+ } else if (i == '(') { /* \s(dd */
+ j = cbits(getch()) - '0';
+ j = 10 * j + cbits(getch()) - '0';
+ if (j == 0) /* \s(00 */
+ j = apts1;
+ else
+ j = pts2u(j);
+ } else if (i == '+' || i == '-') { /* \s+, \s- */
+ j = cbits(c = getch());
+ if (ischar(j) && isdigit(j)) { /* \s+d, \s-d */
+ j -= '0';
+ j = pts2u(j);
+ } else if (j == '(') { /* \s+(dd, \s-(dd */
+ j = cbits(getch()) - '0';
+ j = 10 * j + cbits(getch()) - '0';
+ j = pts2u(j);
+ } else if (xflag) { /* \s+[dd], */
+ k = j == '[' ? ']' : j; /* \s-'dd' */
+ setcbits(c, k);
+ dfact = INCH;
+ dfactd = 72;
+ res = HOR;
+ j = hatoi();
+ res = dfactd = dfact = 1;
+ if (nonumb)
+ return;
+ if (!issame(getch(), c))
+ nodelim(k);
+ }
+ if (i == '-')
+ j = -j;
+ j += apts;
+ } else if (xflag) { /* \s'+dd', \s[dd] */
+ if (i == '[') {
+ i = ']';
+ setcbits(c, i);
+ }
+ dfact = INCH;
+ dfactd = 72;
+ res = HOR;
+ j = inumb2(&apts, &k);
+ if (nonumb)
+ return;
+ if (j == 0 && k == 0)
+ j = apts1;
+ if (!issame(getch(), c))
+ nodelim(i);
+ }
+ casps1(j);
+}
+
+
+tchar setht(void) /* set character height from \H'...' */
+{
+ int n;
+ tchar c;
+
+ getch();
+ dfact = INCH;
+ dfactd = 72;
+ res = VERT;
+ n = inumb(&apts);
+ getch();
+ if (n == 0 || nonumb)
+ n = apts; /* does this work? */
+ c = CHARHT;
+ c |= ZBIT;
+ setfbits(c, font);
+ setsbits(c, n);
+ return(c);
+}
+
+tchar setslant(void) /* set slant from \S'...' */
+{
+ int n;
+ tchar c;
+
+ getch();
+ n = 0;
+ n = inumb(&n);
+ getch();
+ if (nonumb)
+ n = 0;
+ c = SLANT;
+ c |= ZBIT;
+ setfbits(c, font);
+ setsbits(c, n+180);
+ return(c);
+}
+
+void
+caseft(void)
+{
+ skip(0);
+ setfont(1);
+}
+
+void
+setfont(int a)
+{
+ register int i, j;
+
+ if (a)
+ i = getrq(3);
+ else
+ i = getsn(1);
+ if (!i || i == 'P') {
+ j = font1;
+ goto s0;
+ }
+ if (/* i == 'S' || */ i == '0')
+ return;
+ if ((j = findft(i, 0)) == -1)
+ if ((j = setfp(0, i, 0)) == -1) { /* try to put it in position 0 */
+ if (xflag) {
+ font1 = font;
+ }
+ return;
+ }
+s0:
+ font1 = font;
+ font = j;
+ mchbits();
+}
+
+void
+setwd(void)
+{
+ register int base, wid;
+ register tchar i;
+ tchar delim, lasti = 0;
+ int emsz, k;
+ int savhp, savapts, savapts1, savfont, savfont1, savpts, savpts1;
+ int savlgf;
+ int rst = 0, rsb = 0;
+ int n;
+
+ base = numtab[SB].val = numtab[ST].val = wid = numtab[CT].val = 0;
+ if (ismot(i = getch()))
+ return;
+ delim = i;
+ argdelim = delim;
+ n = noschr;
+ noschr = 0;
+ savhp = numtab[HP].val;
+ numtab[HP].val = 0;
+ savapts = apts;
+ savapts1 = apts1;
+ savfont = font;
+ savfont1 = font1;
+ savpts = pts;
+ savpts1 = pts1;
+ savlgf = lgf;
+ lgf = 0;
+ setwdf++;
+ while (i = getch(), !issame(i, delim) && !nlflg) {
+ k = width(i);
+ k += kernadjust(lasti, i);
+ lasti = i;
+ wid += k;
+ numtab[HP].val += k;
+ if (!ismot(i)) {
+ emsz = POINT * u2pts(xpts);
+ } else if (isvmot(i)) {
+ k = absmot(i);
+ if (isnmot(i))
+ k = -k;
+ base -= k;
+ emsz = 0;
+ } else
+ continue;
+ if (base < numtab[SB].val)
+ numtab[SB].val = base;
+ if ((k = base + emsz) > numtab[ST].val)
+ numtab[ST].val = k;
+ if (lastrst > rst)
+ rst = lastrst;
+ if (lastrsb < rsb)
+ rsb = lastrsb;
+ }
+ if (!issame(i, delim))
+ nodelim(delim);
+ argdelim = 0;
+ noschr = n;
+ setn1(wid, 0, (tchar) 0);
+ prwatchn(&numtab[CT]);
+ prwatchn(&numtab[SB]);
+ prwatchn(&numtab[ST]);
+ setnr("rst", rst, 0);
+ setnr("rsb", rsb, 0);
+ numtab[HP].val = savhp;
+ apts = savapts;
+ apts1 = savapts1;
+ font = savfont;
+ font1 = savfont1;
+ pts = savpts;
+ pts1 = savpts1;
+ lgf = savlgf;
+ mchbits();
+ setwdf = 0;
+}
+
+
+tchar vmot(void)
+{
+ dfact = lss;
+ vflag++;
+ return(mot());
+}
+
+
+tchar hmot(void)
+{
+ dfact = EM;
+ return(mot());
+}
+
+
+tchar mot(void)
+{
+ register int j, n;
+ register tchar i;
+ tchar c, delim;
+
+ j = HOR;
+ delim = getch(); /*eat delim*/
+ if ((n = hatoi())) {
+ if (vflag)
+ j = VERT;
+ i = makem(quant(n, j));
+ } else
+ i = 0;
+ c = getch();
+ if (!issame(c, delim))
+ nodelim(delim);
+ vflag = 0;
+ dfact = 1;
+ return(i);
+}
+
+
+tchar sethl(int k)
+{
+ register int j;
+ tchar i;
+
+ j = EM / 2;
+ if (k == 'u')
+ j = -j;
+ else if (k == 'r')
+ j = -2 * j;
+ vflag++;
+ i = makem(j);
+ vflag = 0;
+ return(i);
+}
+
+
+tchar makem(register int i)
+{
+ register tchar j;
+
+ if ((j = i) < 0)
+ j = -j;
+ j = sabsmot(j) | MOT;
+ if (i < 0)
+ j |= NMOT;
+ if (vflag)
+ j |= VMOT;
+ return(j);
+}
+
+
+tchar getlg(tchar i)
+{
+ tchar j, k, pb[NC];
+ struct lgtab *lp;
+ int c, f, n, lgn;
+
+ f = fbits(i);
+ if (lgtab[f] == NULL) /* font lacks ligatures */
+ return(i);
+ c = cbits(i);
+ lp = &lgtab[f][c];
+ if (lp->from != c || (lp = lp->link) == NULL)
+ return(i);
+ k = i;
+ n = 1;
+ lgn = lg == 2 ? 2 : 1000;
+ for (;;) {
+ j = getch0();
+ if (n < sizeof pb)
+ pb[n-1] = j;
+ c = cbits(j);
+ while (lp != NULL && lp->from != c)
+ lp = lp->next;
+ if (lp == NULL || lp->to == 0) {
+ pbbuf[pbp++] = j;
+ return(k);
+ }
+ if (lp->to == -1) { /* fdeferlig request */
+ pb[n < sizeof pb ? n : sizeof pb - 1] = 0;
+ pushback(pb);
+ return(i);
+ }
+ k = (i & SFMASK) | lp->to | AUTOLIG;
+ if (lp->link == NULL || ++n > lgn)
+ return(k);
+ lp = lp->link;
+ }
+}
+
+int
+strlg(int f, int *tp, int n)
+{
+ struct lgtab *lp;
+ int i;
+
+ if (n == 1)
+ return tp[0];
+ if (lgtab[f] == NULL)
+ return 0;
+ lp = &lgtab[f][tp[0]];
+ if (lp->from != tp[0])
+ return 0;
+ for (i = 1; i < n; i++) {
+ if ((lp = lp->link) == NULL)
+ return 0;
+ while (lp != NULL && lp->from != tp[i])
+ lp = lp->next;
+ if (lp == NULL || lp->to == 0)
+ return 0;
+ }
+ return lp->to > 0 ? lp->to : 0;
+}
+
+void
+caselg(void)
+{
+
+ lg = 1;
+ if (skip(0))
+ return;
+ lg = hatoi();
+}
+
+static void
+addlig(int f, tchar *from, int to)
+{
+ int i, j;
+ struct lgtab *lp;
+
+ if (from[0] == 0 || from[1] == 0) {
+ if (warn & WARN_FONT)
+ errprint("short ligature has no effect");
+ return;
+ }
+ if (lgtab[f] == NULL)
+ lgtab[f] = calloc(NCHARS, sizeof **lgtab);
+ i = cbits(from[0]);
+ gchtab[i] |= LGBIT;
+ lp = &lgtab[f][i];
+ lp->from = i;
+ j = 1;
+ for (;;) {
+ i = cbits(from[j]);
+ if (lp->link == NULL) {
+ if (from[j+1] != 0) {
+ if (warn & WARN_FONT)
+ errprint("ligature step missing");
+ return;
+ }
+ lp->link = calloc(1, sizeof *lp->link);
+ lp = lp->link;
+ lp->from = i;
+ lp->to = to;
+ break;
+ }
+ lp = lp->link;
+ if (++j >= 4) {
+ if (warn & WARN_FONT)
+ errprint("ignoring ligature of length >4");
+ return;
+ }
+ while (lp->from != i && lp->next)
+ lp = lp->next;
+ if (lp->from != i) {
+ if (from[j] != 0) {
+ if (warn & WARN_FONT)
+ errprint("ligature step missing");
+ return;
+ }
+ lp->next = calloc(1, sizeof *lp->next);
+ lp = lp->next;
+ lp->from = i;
+ }
+ if (from[j] == 0) {
+ lp->to = to;
+ break;
+ }
+ }
+ if (to >= 0) {
+ if (lgrevtab[f] == NULL)
+ lgrevtab[f] = calloc(NCHARS, sizeof **lgrevtab);
+ lgrevtab[f][to] = malloc((j+2) * sizeof ***lgrevtab);
+ j = 0;
+ while ((lgrevtab[f][to][j] = cbits(from[j])))
+ j++;
+ }
+ /*
+ * If the font still contains the charlib substitutes for ff,
+ * Fi, and Fl, hide them. The ".flig" request is intended for
+ * use in combination with expert fonts only.
+ */
+ if ((to == LIG_FF || (cbits(from[0]) == 'f' && cbits(from[1]) == 'f' &&
+ cbits(from[2]) == 0)) &&
+ fitab[f][LIG_FF-32] != NOCODE)
+ if (codetab[f][fitab[f][LIG_FF-32]] < 32)
+ fitab[f][LIG_FF-32] = 0;
+ if ((to == LIG_FFI || (cbits(from[0]) == 'f' && cbits(from[1]) == 'f' &&
+ cbits(from[2]) == 'i' && cbits(from[3]) == 0)) &&
+ fitab[f][LIG_FFI-32] != NOCODE)
+ if (codetab[f][fitab[f][LIG_FFI-32]] < 32)
+ fitab[f][LIG_FFI-32] = 0;
+ if ((to == LIG_FFL || (cbits(from[0]) == 'f' && cbits(from[1]) == 'f' &&
+ cbits(from[2]) == 'l' && cbits(from[3]) == 0)) &&
+ fitab[f][LIG_FFL-32] != NOCODE)
+ if (codetab[f][fitab[f][LIG_FFL-32]] < 32)
+ fitab[f][LIG_FFL-32] = 0;
+}
+
+static void
+dellig(int f, tchar *from)
+{
+ struct lgtab *lp, *lq;
+ int i, j;
+
+ if (from[0] == 0 || from[1] == 0)
+ return;
+ if (lgtab[f] == NULL)
+ return;
+ i = cbits(from[0]);
+ lp = lq = &lgtab[f][i];
+ j = 1;
+ for (;;) {
+ i = cbits(from[j]);
+ if (lp->link == NULL)
+ break;
+ lq = lp;
+ lp = lp->link;
+ while (lp->from != i && lp->next) {
+ lq = lp;
+ lp = lp->next;
+ }
+ if (lp->from != i)
+ break;
+ if (from[++j] == 0) {
+ if (lq->link == lp)
+ lq->link = lp->next;
+ else if (lq->next == lp)
+ lq->next = lp->next;
+ if (lp->link)
+ if (warn & WARN_FONT)
+ errprint("deleted ligature cuts chain");
+ free(lgrevtab[f][lp->to]);
+ lgrevtab[f][lp->to] = NULL;
+ free(lp);
+ break;
+ }
+ }
+}
+
+void
+setlig(int f, int j)
+{
+ tchar from[4], to;
+
+ free(lgrevtab[f]);
+ lgrevtab[f] = NULL;
+ free(lgtab[f]);
+ lgtab[f] = NULL;
+ from[0] = 'f';
+ from[2] = from[3] = 0;
+ from[1] = 'f';
+ to = LIG_FF;
+ if (j & LFF)
+ addlig(f, from, to);
+ from[1] = 'i';
+ to = LIG_FI;
+ if (j & LFI)
+ addlig(f, from, to);
+ from[1] = 'l';
+ to = LIG_FL;
+ if (j & LFL)
+ addlig(f, from, to);
+ from[1] = 'f';
+ from[2] = 'i';
+ to = LIG_FFI;
+ if (j & LFFI)
+ addlig(f, from, to);
+ from[2] = 'l';
+ to = LIG_FFL;
+ if (j & LFFL)
+ addlig(f, from, to);
+}
+
+static int
+getflig(int f, int mode)
+{
+ int delete, allnum;
+ tchar from[NC], to;
+ int c, i, j;
+ char number[NC];
+
+ if (skip(0))
+ return 0;
+ switch (cbits(c = getch())) {
+ case '-':
+ c = getch();
+ delete = 1;
+ break;
+ case '+':
+ c = getch();
+ /*FALLTHRU*/
+ default:
+ delete = 0;
+ break;
+ case 0:
+ return 0;
+ }
+ allnum = 1;
+ for (i = 0; i < sizeof from - 2; i++) {
+ from[i] = c;
+ j = cbits(c);
+ if (c == 0 || ismot(c) || j == ' ' || j == '\n') {
+ from[i] = 0;
+ ch = j;
+ break;
+ }
+ if (j < '0' || j > '9')
+ allnum = 0;
+ c = getch();
+ }
+ if (mode == 0 && allnum == 1) { /* backwards compatibility */
+ if (skip(0) == 0)
+ goto new;
+ for (j = 0; j <= i+1; j++)
+ number[j] = cbits(from[j]);
+ j = strtol(number, NULL, 10);
+ setlig(f, j);
+ return 0;
+ }
+ if (delete == 0) {
+ if (mode >= 0) {
+ if (skip(1))
+ return 0;
+ new: to = cbits(getch());
+ } else
+ to = -1;
+ addlig(f, from, to);
+ } else
+ dellig(f, from);
+ return 1;
+}
+
+void
+caseflig(int defer)
+{
+ int i, j;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((j = findft(i, 1)) < 0)
+ return;
+ i = 0;
+ while (getflig(j, defer ? -1 : i++) != 0);
+}
+
+void
+casefdeferlig(void)
+{
+ caseflig(1);
+}
+
+void
+casefp(int spec)
+{
+ register int i, j;
+ char *file, *supply;
+
+ lgf++;
+ skip(0);
+ if ((i = xflag ? hatoi() : cbits(getch()) - '0') < 0 || i > 255)
+ bad: errprint("fp: bad font position %d", i);
+ else if (skip(0) || !(j = getrq(3)))
+ errprint("fp: no font name");
+ else {
+ if (skip(0) || !getname()) {
+ if (i == 0)
+ goto bad;
+ setfp(i, j, 0);
+ } else { /* 3rd argument = filename */
+ size_t l;
+ l = strlen(nextf) + 1;
+ file = malloc(l);
+ n_strcpy(file, nextf, l);
+ if (!skip(0) && getname()) {
+ l = strlen(nextf) + 1;
+ supply = malloc(l);
+ n_strcpy(supply, nextf, l);
+ } else
+ supply = NULL;
+ if (loadafm(i?i:-1, j, file, supply, 0, spec) == 0) {
+ if (i == 0) {
+ if (warn & WARN_FONT)
+ errprint("fp: cannot mount %s",
+ file);
+ } else
+ setfp(i, j, file);
+ }
+ free(file);
+ free(supply);
+ }
+ }
+}
+
+void
+casefps(void)
+{
+ const struct {
+ enum spec spec;
+ const char *name;
+ } tab[] = {
+ { SPEC_MATH, "math" },
+ { SPEC_GREEK, "greek" },
+ { SPEC_PUNCT, "punct" },
+ { SPEC_LARGE, "large" },
+ { SPEC_S1, "S1" },
+ { SPEC_S, "S" },
+ { SPEC_NONE, NULL }
+ };
+ char name[NC];
+ int c = 0, i;
+ enum spec s = SPEC_NONE;
+
+ if (skip(1))
+ return;
+ do {
+ for (i = 0; i < sizeof name - 2; i++) {
+ if ((c = getach()) == 0 || c == ':' || c == ',')
+ break;
+ name[i] = c;
+ }
+ name[i] = 0;
+ for (i = 0; tab[i].name; i++)
+ if (strcmp(tab[i].name, name) == 0) {
+ s |= tab[i].spec;
+ break;
+ }
+ if (tab[i].name == NULL)
+ errprint("fps: unknown special set %s", name);
+ } while (c);
+ casefp(s);
+}
+
+int
+setfp(int pos, int f, char *truename) /* mount font f at position pos[0...nfonts] */
+{
+ char longname[4096], *shortname, *ap;
+ char *fpout;
+ int i, nw;
+
+ zapwcache(0);
+ if (truename)
+ shortname = truename;
+ else
+ shortname = macname(f);
+ shortname = mapft(shortname);
+ snprintf(longname, sizeof longname, "%s/dev%s/%s",
+ fontfile, devname, shortname);
+ if ((fpout = readfont(longname, &dev, warn & WARN_FONT)) == NULL)
+ return(-1);
+ if (pos >= Nfont)
+ growfonts(pos+1);
+ if (pos > nfonts)
+ nfonts = pos;
+ fontbase[pos] = (struct Font *)fpout;
+ if ((ap = strstr(fontbase[pos]->namefont, ".afm")) != NULL) {
+ *ap = 0;
+ if (ap == &fontbase[pos]->namefont[1])
+ f &= BYTEMASK;
+ loadafm(pos, f, fontbase[pos]->namefont, NULL, 1, SPEC_NONE);
+ free(fpout);
+ } else {
+ nw = fontbase[pos]->nwfont & BYTEMASK;
+ makefont(pos, &((char *)fontbase[pos])[sizeof(struct Font)],
+ &((char *)fontbase[pos])[sizeof(struct Font) + nw],
+ &((char *)fontbase[pos])[sizeof(struct Font) + 2*nw],
+ &((char *)fontbase[pos])[sizeof(struct Font) + 3*nw],
+ nw);
+ setlig(pos, fontbase[pos]->ligfont);
+ }
+ if (pos == smnt) {
+ smnt = 0;
+ sbold = 0;
+ }
+ if ((fontlab[pos] = f) == 'S')
+ smnt = pos;
+ bdtab[pos] = cstab[pos] = ccstab[pos] = 0;
+ zoomtab[pos] = 0;
+ fallbacktab[pos] = NULL;
+ free(lhangtab[pos]);
+ lhangtab[pos] = NULL;
+ free(rhangtab[pos]);
+ rhangtab[pos] = NULL;
+ memset(&tracktab[pos], 0, sizeof tracktab[pos]);
+ for (i = 0; i < NCHARS; i++)
+ ftrtab[pos][i] = i;
+ kzap(pos);
+ /* if there is a directory, no place to store its name. */
+ /* if position isn't zero, no place to store its value. */
+ /* only time a FONTPOS is pushed back is if it's a */
+ /* standard font on position 0 (i.e., mounted implicitly. */
+ /* there's a bug here: if there are several input lines */
+ /* that look like .ft XX in short successtion, the output */
+ /* will all be in the last one because the "x font ..." */
+ /* comes out too soon. pushing back FONTPOS doesn't work */
+ /* with .ft commands because input is flushed after .xx cmds */
+ if (realpage && ap == NULL)
+ ptfpcmd(pos, shortname, NULL, 0);
+ if (pos == 0)
+ ch = (tchar) FONTPOS | (tchar) f << 22;
+ return(pos);
+}
+
+int
+nextfp(void)
+{
+ int i;
+
+ for (i = 1; i <= nfonts; i++)
+ if (fontbase[i] == NULL)
+ return i;
+ if (i <= 255)
+ return i;
+ return 0;
+}
+
+void
+casecs(void)
+{
+ register int i, j;
+
+ noscale++;
+ if (skip(1))
+ goto rtn;
+ if (!(i = getrq(2)))
+ goto rtn;
+ if ((i = findft(i, 1)) < 0)
+ goto rtn;
+ skip(0);
+ cstab[i] = hatoi();
+ skip(0);
+ j = hatoi();
+ if (nonumb)
+ ccstab[i] = 0;
+ else
+ ccstab[i] = findps(j);
+rtn:
+ zapwcache(0);
+ noscale = 0;
+}
+
+void
+casebd(void)
+{
+ register int i, j = 0, k;
+
+ zapwcache(0);
+ k = 0;
+bd0:
+ if (skip(1) || !(i = getrq(2)) || (j = findft(i, 1)) == -1) {
+ if (k)
+ goto bd1;
+ else
+ return;
+ }
+ if (j == smnt) {
+ k = smnt;
+ goto bd0;
+ }
+ if (k) {
+ sbold = j;
+ j = k;
+ }
+bd1:
+ skip(0);
+ noscale++;
+ bdtab[j] = hatoi();
+ noscale = 0;
+}
+
+void
+casevs(void)
+{
+ register int i;
+
+ skip(0);
+ vflag++;
+ dfact = INCH; /* default scaling is points! */
+ dfactd = 72;
+ res = VERT;
+ i = inumb(&lss);
+ if (nonumb)
+ i = lss1;
+ if (xflag && i < 0) {
+ if (warn & WARN_RANGE)
+ errprint("negative vertical spacing ignored");
+ i = lss1;
+ }
+ if (i < VERT)
+ i = VERT;
+ lss1 = lss;
+ lss = i;
+}
+
+void
+casess(int flg)
+{
+ register int i, j;
+
+ noscale++;
+ if (skip(flg == 0))
+ minsps = minspsz = 0;
+ else if ((i = hatoi()) != 0 && !nonumb) {
+ if (xflag && flg == 0 && !skip(0)) {
+ j = hatoi();
+ if (!nonumb) {
+ sesspsz = j & 0177;
+ spacesz = sesspsz;
+ zapwcache(1);
+ ses = width(' ' | chbits);
+ }
+ }
+ if (flg) {
+ j = spacesz;
+ minspsz = i & 0177;
+ spacesz = minspsz;
+ zapwcache(1);
+ minsps = width(' ' | chbits);
+ spacesz = j;
+ zapwcache(0);
+ sps = width(' ' | chbits);
+ } else {
+ spacesz = i & 0177;
+ zapwcache(0);
+ sps = width(' ' | chbits);
+ if (minspsz > spacesz)
+ minsps = minspsz = 0;
+ }
+ }
+ noscale = 0;
+}
+
+void
+caseminss(void)
+{
+ casess(1);
+}
+
+void
+caseletadj(void)
+{
+ int s, n, x, l, h;
+
+ dfact = LAFACT / 100;
+ if (skip(0) || (n = hatoi()) == 0) {
+ letspsz = 0;
+ letsps = 0;
+ lspmin = 0;
+ lspmax = 0;
+ lshmin = 0;
+ lshmax = 0;
+ goto ret;
+ }
+ if (skip(1))
+ goto ret;
+ dfact = LAFACT / 100;
+ l = hatoi();
+ if (skip(1))
+ goto ret;
+ noscale++;
+ s = hatoi();
+ noscale--;
+ if (skip(1))
+ goto ret;
+ dfact = LAFACT / 100;
+ x = hatoi();
+ if (skip(1))
+ goto ret;
+ dfact = LAFACT / 100;
+ h = hatoi();
+ letspsz = s;
+ lspmin = LAFACT - n;
+ lspmax = x - LAFACT;
+ lshmin = LAFACT - l;
+ lshmax = h - LAFACT;
+ s = spacesz;
+ spacesz = letspsz;
+ zapwcache(1);
+ letsps = width(' ' | chbits);
+ spacesz = s;
+ zapwcache(1);
+ sps = width(' ' | chbits);
+ zapwcache(1);
+ret:
+ dfact = 1;
+}
+
+void
+casefspacewidth(void)
+{
+ int f, n, i;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ if (skip(0)) {
+ fontbase[f]->cspacewidth = -1;
+ fontab[f][0] = fontbase[f]->spacewidth;
+ } else {
+ noscale++;
+ n = hatoi();
+ noscale--;
+ unitsPerEm = 1000;
+ if (n >= 0)
+ fontbase[f]->cspacewidth = fontab[f][0] = _unitconv(n);
+ else if (warn & WARN_RANGE)
+ errprint("ignoring negative space width %d", n);
+ }
+ zapwcache(1);
+}
+
+void
+casespacewidth(void)
+{
+ noscale++;
+ spacewidth = skip(0) || hatoi();
+ noscale--;
+}
+
+tchar xlss(void)
+{
+ /* stores \x'...' into
+ * two successive tchars.
+ * the first contains HX, the second the value,
+ * encoded as a vertical motion.
+ * decoding is done in n2.c by pchar().
+ */
+ int i;
+
+ getch();
+ dfact = lss;
+ i = quant(hatoi(), VERT);
+ dfact = 1;
+ getch();
+ if (i >= 0)
+ pbbuf[pbp++] = MOT | VMOT | sabsmot(i);
+ else
+ pbbuf[pbp++] = MOT | VMOT | NMOT | sabsmot(-i);
+ return(HX);
+}
+
+struct afmtab **afmtab;
+int nafm;
+
+char *
+onefont(char *prefix, char *file, char *type)
+{
+ char *path, *fp, *tp;
+ size_t l;
+
+ l = strlen(prefix) + strlen(file) + 2;
+ path = malloc(l);
+ n_strcpy(path, prefix, l);
+ n_strcat(path, "/", l);
+ n_strcat(path, file, l);
+ if (type) {
+ for (fp = file; *fp; fp++);
+ for (tp = type; *tp; tp++);
+ while (tp >= type && fp >= file && *fp-- == *tp--);
+ if (tp >= type) {
+ l = strlen(path) + strlen(type) + 2;
+ tp = malloc(l);
+ n_strcpy(tp, path, l);
+ n_strcat(tp, ".", l);
+ n_strcat(tp, type, l);
+ free(path);
+ path = tp;
+ }
+ }
+ return path;
+}
+
+static char *
+getfontpath(char *file, char *type)
+{
+ char *path, *troffonts, *tp, *tq, c;
+ size_t l;
+
+ if ((troffonts = getenv("TROFFONTS")) != NULL) {
+ l = strlen(troffonts) + 1;
+ tp = malloc(l);
+ n_strcpy(tp, troffonts, l);
+ troffonts = tp;
+ do {
+ for (tq = tp; *tq && *tq != ':'; tq++);
+ c = *tq;
+ *tq = 0;
+ path = onefont(tp, file, type);
+ if (access(path, 0) == 0) {
+ free(troffonts);
+ return path;
+ }
+ free(path);
+ tp = &tq[1];
+ } while (c);
+ free(troffonts);
+ }
+ l = strlen(fontfile) + strlen(devname) + 10;
+ tp = malloc(l);
+ snprintf(tp, l, "%s/dev%s", fontfile, devname);
+ path = onefont(tp, file, type);
+ free(tp);
+ return path;
+}
+
+static void
+checkenminus(int f)
+{
+ /*
+ * A fix for a very special case: If the font supplies punctuation
+ * characters but is not S1, only one of \- and \(en is present
+ * since the PostScript character "endash" is mapped to both of
+ * them.
+ */
+ enum spec spec;
+ int i;
+
+ if (afmtab == NULL || (i = fontbase[f]->afmpos - 1) < 0)
+ return;
+ if (c_endash == 0 || c_minus == 0)
+ specnames();
+ spec = afmtab[i]->spec;
+ if ((spec&(SPEC_PUNCT|SPEC_S1)) == SPEC_PUNCT) {
+ if (fitab[f][c_endash-32] == 0 && ftrtab[f][c_minus-32])
+ ftrtab[f][c_endash] = c_minus;
+ else if (fitab[f][c_endash-32] && ftrtab[f][c_minus-32] != 0)
+ ftrtab[f][c_minus] = c_endash;
+ }
+}
+
+int
+loadafm(int nf, int rq, char *file, char *supply, int required, enum spec spec)
+{
+ struct stat st;
+ int fd;
+ char *path, *contents;
+ struct afmtab *a;
+ int i, have = 0;
+ struct namecache *np;
+ size_t l;
+
+ zapwcache(0);
+ if (nf < 0)
+ nf = nextfp();
+ path = getfontpath(file, "afm");
+ if (access(path, 0) < 0) {
+ path = getfontpath(file, "otf");
+ if (access(path, 0) < 0)
+ path = getfontpath(file, "ttf");
+ }
+ if (dev.allpunct)
+ spec |= SPEC_PUNCT;
+ a = calloc(1, sizeof *a);
+ for (i = 0; i < nafm; i++)
+ if (strcmp(afmtab[i]->path, path) == 0 &&
+ afmtab[i]->spec == spec) {
+ *a = *afmtab[i];
+ have = 1;
+ break;
+ }
+ a->path = path;
+ l = strlen(file) + 1;
+ a->file = malloc(l);
+ n_strcpy(a->file, file, l);
+ a->spec = spec;
+ a->rq = rq;
+ a->Font.namefont[0] = rq&0377;
+ a->Font.namefont[1] = (rq>>8)&0377;
+ snprintf(a->Font.intname, sizeof(a->Font.intname), "%d", nf);
+ if (have)
+ goto done;
+ if ((fd = open(path, O_RDONLY)) < 0) {
+ if (required)
+ errprint("Can't open %s", path);
+ free(a->file);
+ free(a);
+ free(path);
+ return 0;
+ }
+ if (fstat(fd, &st) < 0) {
+ errprint("Can't stat %s", path);
+ free(a->file);
+ free(a);
+ free(path);
+ return -1;
+ }
+ contents = malloc(st.st_size + 1);
+ if (read(fd, contents, st.st_size) != st.st_size) {
+ errprint("Can't read %s", path);
+ free(a->file);
+ free(a);
+ free(path);
+ free(contents);
+ return -1;
+ }
+ contents[st.st_size] = 0;
+ close(fd);
+ if (afmget(a, contents, st.st_size) < 0) {
+ free(path);
+ free(contents);
+ return -1;
+ }
+ free(contents);
+ morechars(a->nchars+32+1+128-32+nchtab+32+nchtab+128+psmaxcode+1);
+done: afmtab = realloc(afmtab, (nafm+1) * sizeof *afmtab);
+ afmtab[nafm] = a;
+ if (nf >= Nfont)
+ growfonts(nf+1);
+ a->Font.afmpos = nafm+1;
+ if ((np = afmnamelook(a, "space")) != NULL)
+ a->Font.spacewidth = a->fontab[np->afpos];
+ else
+ a->Font.spacewidth = a->fontab[0];
+ a->Font.cspacewidth = -1;
+ fontbase[nf] = &afmtab[nafm]->Font;
+ fontlab[nf] = rq;
+ free(fontab[nf]);
+ free(kerntab[nf]);
+ free(codetab[nf]);
+ free(fitab[nf]);
+ fontab[nf] = malloc(a->nchars * sizeof *fontab[nf]);
+ kerntab[nf] = malloc(a->nchars * sizeof *kerntab[nf]);
+ codetab[nf] = malloc(a->nchars * sizeof *codetab[nf]);
+ fitab[nf] = calloc(NCHARS, sizeof *fitab[nf]);
+ memcpy(fontab[nf], a->fontab, a->nchars * sizeof *fontab[nf]);
+ memcpy(kerntab[nf], a->kerntab, a->nchars * sizeof *kerntab[nf]);
+ memcpy(codetab[nf], a->codetab, a->nchars * sizeof *codetab[nf]);
+ memcpy(fitab[nf], a->fitab, a->fichars * sizeof *fitab[nf]);
+ bdtab[nf] = cstab[nf] = ccstab[nf] = 0;
+ zoomtab[nf] = 0;
+ fallbacktab[nf] = NULL;
+ free(lhangtab[nf]);
+ lhangtab[nf] = NULL;
+ free(rhangtab[nf]);
+ rhangtab[nf] = NULL;
+ memset(&tracktab[nf], 0, sizeof tracktab[nf]);
+ setlig(nf, a->Font.ligfont);
+ for (i = 0; i < NCHARS; i++)
+ ftrtab[nf][i] = i;
+ kzap(nf);
+ nafm++;
+ if (nf > nfonts)
+ nfonts = nf;
+ if (supply) {
+ char *data;
+ if (strcmp(supply, "pfb") == 0 || strcmp(supply, "pfa") == 0 ||
+ strcmp(supply, "t42") == 0 ||
+ strcmp(supply, "otf") == 0 ||
+ strcmp(supply, "ttf") == 0)
+ data = getfontpath(file, supply);
+ else
+ data = getfontpath(supply, NULL);
+ a->supply = afmencodepath(data);
+ free(data);
+ if (realpage)
+ ptsupplyfont(a->fontname, a->supply);
+ }
+ checkenminus(nf);
+ if (realpage)
+ ptfpcmd(nf, macname(fontlab[nf]), a->path, (int)a->spec);
+ return 1;
+}
+
+int
+tracknum(void)
+{
+ skip(1);
+ dfact = INCH;
+ dfactd = 72;
+ res = VERT;
+ return inumb(NULL);
+}
+
+void
+casetrack(void)
+{
+ int i, j, s1, n1, s2, n2;
+
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((j = findft(i, 1)) < 0)
+ return;
+ s1 = tracknum();
+ if (!nonumb) {
+ n1 = tracknum();
+ if (!nonumb) {
+ s2 = tracknum();
+ if (!nonumb) {
+ n2 = tracknum();
+ if (!nonumb) {
+ tracktab[j].s1 = s1;
+ tracktab[j].n1 = n1;
+ tracktab[j].s2 = s2;
+ tracktab[j].n2 = n2;
+ zapwcache(0);
+ }
+ }
+ }
+ }
+}
+
+void
+casefallback(void)
+{
+ int *fb = NULL;
+ int i, j, n = 0;
+
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((j = findft(i, 1)) < 0)
+ return;
+ do {
+ skip(0);
+ i = getrq(2);
+ fb = realloc(fb, (n+2) * sizeof *fb);
+ fb[n++] = i;
+ } while (i);
+ fallbacktab[j] = fb;
+}
+
+void
+casehidechar(void)
+{
+ int savfont = font, savfont1 = font1;
+ int i, j;
+ tchar k;
+
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((j = findft(i, 1)) < 0)
+ return;
+ font = font1 = j;
+ mchbits();
+ while ((i = cbits(k = getch())) != '\n') {
+ if (fbits(k) != j || ismot(k) || i == ' ')
+ continue;
+ if (i >= nchtab + 128-32 && afmtab &&
+ fontbase[j]->afmpos - 1 >= 0)
+ i -= nchtab + 128;
+ fitab[j][i - 32] = 0;
+ }
+ font = savfont;
+ font1 = savfont1;
+ mchbits();
+ zapwcache(0);
+}
+
+void
+casefzoom(void)
+{
+ int i, j;
+ float f;
+
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((j = findft(i, 1)) < 0)
+ return;
+ skip(1);
+ f = atof();
+ if (!nonumb && f >= 0) {
+ zoomtab[j] = f;
+ zapwcache(0);
+ if (realpage && j == xfont && !ascii)
+ ptps();
+ }
+}
+
+double
+getfzoom(void)
+{
+ return zoomtab[font];
+}
+
+void
+casekern(void)
+{
+ kern = skip(0) || hatoi() ? 1 : 0;
+}
+
+void
+casefkern(void)
+{
+ int f, i, j;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ if (skip(0))
+ fontbase[f]->kernfont = 0;
+ else {
+ j = hatoi();
+ if (!nonumb)
+ fontbase[f]->kernfont = j ? j : -1;
+ }
+}
+
+static void
+setpapersize(int setmedia)
+{
+ const struct {
+ char *name;
+ int width;
+ int heigth;
+ } papersizes[] = {
+ { "executive", 518, 756 },
+ { "letter", 612, 792 },
+ { "legal", 612, 992 },
+ { "ledger", 1224, 792 },
+ { "tabloid", 792, 1224 },
+ { "a0", 2384, 3370 },
+ { "a1", 1684, 2384 },
+ { "a2", 1191, 1684 },
+ { "a3", 842, 1191 },
+ { "a4", 595, 842 },
+ { "a5", 420, 595 },
+ { "a6", 298, 420 },
+ { "a7", 210, 298 },
+ { "a8", 147, 210 },
+ { "a9", 105, 147 },
+ { "a10", 74, 105 },
+ { "b0", 2835, 4008 },
+ { "b1", 2004, 2835 },
+ { "b2", 1417, 2004 },
+ { "b3", 1000, 1417 },
+ { "b4", 709, 1000 },
+ { "b5", 499, 709 },
+ { "b6", 354, 499 },
+ { "b7", 249, 354 },
+ { "b8", 176, 249 },
+ { "b9", 125, 176 },
+ { "b10", 87, 125 },
+ { "c0", 2599, 3677 },
+ { "c1", 1837, 2599 },
+ { "c2", 1298, 1837 },
+ { "c3", 918, 1298 },
+ { "c4", 649, 918 },
+ { "c5", 459, 649 },
+ { "c6", 323, 459 },
+ { "c7", 230, 323 },
+ { "c8", 162, 230 },
+ { NULL, 0, 0 }
+ };
+ int c;
+ int x = 0, y = 0, n;
+ char buf[NC];
+
+ lgf++;
+ if (skip(1))
+ return;
+ c = cbits(ch);
+ if (isdigit(c) || c == '(') {
+ x = hatoi();
+ if (!nonumb) {
+ skip(1);
+ y = hatoi();
+ }
+ if (nonumb || x == 0 || y == 0)
+ return;
+ } else {
+ n = 0;
+ do {
+ c = getach();
+ if (n+1 < sizeof buf)
+ buf[n++] = c;
+ } while (c);
+ buf[n] = 0;
+ for (n = 0; papersizes[n].name != NULL; n++)
+ if (strcmp(buf, papersizes[n].name) == 0) {
+ x = papersizes[n].width * INCH / 72;
+ y = papersizes[n].heigth * INCH / 72;
+ break;
+ }
+ if (x == 0 || y == 0) {
+ errprint("Unknown paper size %s", buf);
+ return;
+ }
+ }
+ pl = defaultpl = y;
+ if (numtab[NL].val > pl) {
+ numtab[NL].val = pl;
+ prwatchn(&numtab[NL]);
+ }
+ po = x > 6 * PO ? PO : x / 8;
+ ll = ll1 = lt = lt1 = x - 2 * po;
+ setnel();
+ mediasize.val[2] = x;
+ mediasize.val[3] = y;
+ mediasize.flag |= 1;
+ if (setmedia)
+ mediasize.flag |= 2;
+ if (realpage)
+ ptpapersize();
+}
+
+void
+casepapersize(void)
+{
+ setpapersize(0);
+}
+
+void
+casemediasize(void)
+{
+ setpapersize(1);
+}
+
+static void
+cutat(struct box *bp)
+{
+ int c[4], i;
+
+ for (i = 0; i < 4; i++) {
+ if (skip(1))
+ return;
+ dfact = INCH;
+ dfactd = 72;
+ c[i] = inumb(NULL);
+ if (nonumb)
+ return;
+ }
+ for (i = 0; i < 4; i++)
+ bp->val[i] = c[i];
+ bp->flag |= 1;
+ if (realpage)
+ ptcut();
+}
+
+void
+casetrimat(void)
+{
+ cutat(&trimat);
+}
+
+void
+casebleedat(void)
+{
+ cutat(&bleedat);
+}
+
+void
+casecropat(void)
+{
+ cutat(&cropat);
+}
+
+void
+caselhang(void)
+{
+ kernsingle(lhangtab);
+}
+
+void
+caserhang(void)
+{
+ kernsingle(rhangtab);
+}
+
+void
+casekernpair(void)
+{
+ int savfont = font, savfont1 = font1;
+ int f, g, i, j, n;
+ tchar c, d, *cp = NULL, *dp = NULL;
+ int a = 0, b = 0;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ font = font1 = f;
+ mchbits();
+ if (skip(1))
+ goto done;
+ while ((j = cbits(c = getch())) > ' ' || j == UNPAD) {
+ if (fbits(c) != f) {
+ if (warn & WARN_CHAR)
+ errprint("glyph %C not in font %s",
+ c, macname(i));
+ continue;
+ }
+ cp = realloc(cp, ++a * sizeof *cp);
+ cp[a-1] = c;
+ }
+ if (a == 0 || skip(1))
+ goto done;
+ i = getrq(2);
+ if ((g = findft(i, 1)) < 0)
+ goto done;
+ font = font1 = g;
+ mchbits();
+ if (skip(1))
+ goto done;
+ while ((j = cbits(c = getch())) > ' ' || j == UNPAD) {
+ if (fbits(c) != g) {
+ if (warn & WARN_CHAR)
+ errprint("glyph %C not in font %s",
+ c, macname(i));
+ continue;
+ }
+ dp = realloc(dp, ++b * sizeof *dp);
+ dp[b-1] = c;
+ }
+ if (b == 0 || skip(1))
+ goto done;
+ noscale++;
+ n = hatoi();
+ noscale--;
+ unitsPerEm = 1000;
+ n = _unitconv(n);
+ for (i = 0; i < a; i++)
+ for (j = 0; j < b; j++) {
+ if ((c = cbits(cp[i])) == 0)
+ continue;
+ if (c == UNPAD)
+ c = ' ';
+ setfbits(c, f);
+ if ((d = cbits(dp[j])) == 0)
+ continue;
+ if (d == UNPAD)
+ d = ' ';
+ setfbits(d, g);
+ kadd(c, d, n);
+ }
+done:
+ free(cp);
+ free(dp);
+ font = savfont;
+ font1 = savfont1;
+ mchbits();
+}
+
+static void
+kernsingle(int **tp)
+{
+ int savfont = font, savfont1 = font1;
+ int f, i, j, n;
+ int twice = 0;
+ tchar c, *cp = NULL;
+ int a;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ font = font1 = f;
+ mchbits();
+ while (!skip(twice++ == 0)) {
+ a = 0;
+ while ((j = cbits(c = getch())) > ' ') {
+ if (fbits(c) != f) {
+ if (warn & WARN_CHAR)
+ errprint("glyph %C not in font %s",
+ c, macname(i));
+ continue;
+ }
+ cp = realloc(cp, ++a * sizeof *cp);
+ cp[a-1] = c;
+ }
+ if (skip(1))
+ break;
+ noscale++;
+ n = hatoi();
+ noscale--;
+ if (tp[f] == NULL)
+ tp[f] = calloc(NCHARS, sizeof *tp);
+ unitsPerEm = 1000;
+ n = _unitconv(n);
+ for (j = 0; j < a; j++)
+ tp[f][cbits(cp[j])] = n;
+ }
+ free(cp);
+ font = savfont;
+ font1 = savfont1;
+ mchbits();
+}
+
+void
+casekernafter(void)
+{
+ kernsingle(kernafter);
+}
+
+void
+casekernbefore(void)
+{
+ kernsingle(kernbefore);
+}
+
+void
+caseftr(void)
+{
+ int savfont = font, savfont1 = font1;
+ int f, i, j;
+ tchar k;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ font = font1 = f;
+ mchbits();
+ if (skip(1))
+ goto done;
+ while ((i = cbits(k=getch())) != '\n') {
+ if (ismot(k))
+ goto done;
+ if (ismot(k = getch()))
+ goto done;
+ if ((j = cbits(k)) == '\n')
+ j = ' ';
+ ftrtab[f][i] = j;
+ }
+done:
+ checkenminus(f);
+ font = savfont;
+ font1 = savfont1;
+ mchbits();
+}
+
+static int
+getfeature(struct afmtab *a, int f)
+{
+ char name[NC];
+ int ch1, ch2, c, i, j, minus;
+ struct feature *fp;
+
+ if (skip(0))
+ return 0;
+ switch (c = getach()) {
+ case '-':
+ c = getach();
+ minus = 1;
+ break;
+ case '+':
+ c = getach();
+ /*FALLTHRU*/
+ default:
+ minus = 0;
+ break;
+ case 0:
+ return 0;
+ }
+ for (i = 0; i < sizeof name - 2; i++) {
+ name[i] = c;
+ if ((c = getach()) == 0)
+ break;
+ }
+ name[i+1] = 0;
+ for (i = 0; (fp = a->features[i]); i++)
+ if (strcmp(fp->name, name) == 0) {
+ for (j = 0; j < fp->npairs; j++) {
+ ch1 = fp->pairs[j].ch1;
+ ch2 = fp->pairs[j].ch2;
+ if (minus) {
+ if (ftrtab[f][ch1] == ch2)
+ ftrtab[f][ch1] = ch1;
+ } else {
+ ftrtab[f][ch1] = ch2;
+ }
+ }
+ break;
+ }
+ if (fp == NULL)
+ errprint("no feature named %s in font %s", name, a->fontname);
+ return 1;
+}
+
+void
+casefeature(void)
+{
+ struct afmtab *a;
+ int f, i, j;
+
+ lgf++;
+ if (skip(1))
+ return;
+ i = getrq(2);
+ if ((f = findft(i, 1)) < 0)
+ return;
+ if ((j = (fontbase[f]->afmpos) - 1) < 0 ||
+ ((a = afmtab[j])->type != TYPE_OTF &&
+ a->type != TYPE_TTF)) {
+ errprint("font %s is not an OpenType font", macname(i));
+ return;
+ }
+ if (a->features == NULL) {
+ errprint("font %s has no OpenType features", a->fontname);
+ return;
+ }
+ while (getfeature(a, f) != 0);
+}
+
+#include "unimap.h"
+
+static int
+ufmap(int c, int f, int *fp)
+{
+ struct unimap *up, ***um;
+ struct afmtab *a;
+ int i;
+
+ if ((c&~0xffff) == 0 &&
+ (i = (fontbase[f]->afmpos) - 1) >= 0 &&
+ (um = (a = afmtab[i])->unimap) != NULL &&
+ um[c>>8] != NULL &&
+ (up = um[c>>8][c&0377]) != NULL) {
+ *fp = f;
+ return up->u.code;
+ }
+ return 0;
+}
+
+int
+un2tr(int c, int *fp)
+{
+ extern char ifilt[];
+ struct unimap *um, *up;
+ int i, j;
+
+ switch (c) {
+ case 0x00A0:
+ *fp = font;
+ return UNPAD;
+ case 0x00AD:
+ *fp = font;
+ return ohc;
+ case 0x2002:
+ return makem((int)(EM)/2);
+ case 0x2003:
+ return makem((int)EM);
+ case 0x2004:
+ return makem((int)EM/3);
+ case 0x2005:
+ return makem((int)EM/4);
+ case 0x2006:
+ return makem((int)EM/6);
+ case 0x2007:
+ return makem(width('0' | chbits));
+ case 0x2008:
+ return makem(width('.' | chbits));
+ case 0x2009:
+ return makem((int)EM/6);
+ case 0x200A:
+ return makem((int)EM/12);
+ case 0x2010:
+ *fp = font;
+ return '-';
+ case 0x2027:
+ *fp = font;
+ return OHC | BLBIT;
+ case 0x2060:
+ *fp = font;
+ return FILLER;
+ default:
+ if ((i = ufmap(c, font, fp)) != 0)
+ return i;
+ if ((c&~0xffff) == 0 && unimap[c>>8] != NULL &&
+ (um = unimap[c>>8][c&0377]) != NULL) {
+ up = um;
+ do
+ if ((j = postchar1(up->u.psc, font)) != 0) {
+ *fp = font;
+ return j;
+ }
+ while ((up = up->next) != NULL);
+ up = um;
+ do
+ if ((j = postchar(up->u.psc, fp)) != 0)
+ return j;
+ while ((up = up->next) != NULL);
+ up = um;
+ do
+ if ((j = _ps2cc(up->u.psc, 0)) != 0) {
+ j += nchtab + 128 + 32 +
+ 128 - 32 + nchtab;
+ if (chartab[j] != NULL)
+ return j;
+ }
+ while ((up = up->next) != NULL);
+ }
+ if (fallbacktab[font])
+ for (j = 0; fallbacktab[font][j] != 0; j++) {
+ if ((i = findft(fallbacktab[font][j], 0)) < 0)
+ continue;
+ if ((i = ufmap(c, i, fp)) != 0)
+ return i;
+ }
+ if (smnt)
+ for (i = smnt, j=0; j < nfonts; j++, i = i % nfonts + 1) {
+ if (fontbase[i] == NULL)
+ continue;
+ if ((i = ufmap(c, i, fp)) != 0)
+ return i;
+ }
+ *fp = font;
+ if ((c < 040 && c == ifilt[c]) || (c >= 040 && c < 0177))
+ return c;
+ else if ((c & ~0177) == 0) {
+ illseq(c, NULL, 0);
+ return 0;
+ } else if (defcf && (c & ~0xffff) == 0) {
+ char buf[20];
+ snprintf(buf, sizeof(buf), "[uni%04X]", c);
+ cpushback(buf);
+ unadd(c, NULL);
+ return WORDSP;
+ } else if (html) {
+ return c;
+ } else {
+ if (warn & WARN_CHAR)
+ errprint("no glyph available for %U", c);
+ return tryglf ? 0 : ' ';
+ }
+ }
+}
+
+int
+tr2un(tchar i, int f)
+{
+ struct afmtab *a;
+ int c, n;
+
+ if (i < 32)
+ return -1;
+ else if (i < 128)
+ return i;
+ if ((n = (fontbase[f]->afmpos) - 1) >= 0) {
+ a = afmtab[n];
+ if (a->unitab && i < a->nunitab && a->unitab[i])
+ return a->unitab[i];
+ if (i - 32 >= nchtab + 128)
+ i -= nchtab + 128;
+ if ((n = a->fitab[i - 32]) < a->nchars &&
+ a->nametab[n] != NULL)
+ for (c = 0; rawunimap[c].psc; c++)
+ if (strcmp(rawunimap[c].psc, a->nametab[n])==0)
+ return rawunimap[c].code;
+ }
+ return -1;
+}
+
+tchar
+setuc0(int n)
+{
+ int f;
+ tchar c;
+
+ if ((c = un2tr(n, &f)) != 0 && !ismot(c)) {
+ c |= chbits & ~FMASK;
+ setfbits(c, f);
+ }
+ return c;
+}
+
+static char *
+getref(void)
+{
+ int a = 0, i, c, delim;
+ char *np = NULL;
+
+ if ((delim = getach()) != 0) {
+ for (i = 0; ; i++) {
+ if (i + 1 >= a)
+ np = realloc(np, a += 32);
+ if ((c = getach()) == 0) {
+ if (cbits(ch) == ' ') {
+ ch = 0;
+ c = ' ';
+ } else {
+ nodelim(delim);
+ break;
+ }
+ }
+ if (c == delim)
+ break;
+ np[i] = c;
+ }
+ np[i] = 0;
+ }
+ return np;
+}
+
+tchar
+setanchor(void)
+{
+ static int cnt;
+ struct ref *rp;
+ char *np;
+
+ if ((np = getref()) != NULL) {
+ rp = calloc(1, sizeof *rp);
+ rp->cnt = ++cnt;
+ rp->name = np;
+ rp->next = anchors;
+ anchors = rp;
+ return mkxfunc(ANCHOR, cnt);
+ } else
+ return mkxfunc(ANCHOR, 0);
+}
+
+static tchar
+_setlink(struct ref **rstart, int oncode, int offcode, int *cnt)
+{
+ struct ref *rp;
+ char *np;
+ int sv;
+
+ sv = linkin;
+ if ((linkin = !linkin)) {
+ if ((np = getref()) != NULL) {
+ rp = calloc(1, sizeof *rp);
+ rp->cnt = ++*cnt;
+ rp->name = np;
+ rp->next = *rstart;
+ *rstart = rp;
+ linkin = *cnt;
+ return mkxfunc(oncode, *cnt);
+ } else {
+ linkin = -1;
+ return mkxfunc(oncode, 0);
+ }
+ } else
+ return mkxfunc(offcode, sv > 0 ? sv : 0);
+}
+
+tchar
+setlink(void)
+{
+ static int cnt;
+
+ return _setlink(&links, LINKON, LINKOFF, &cnt);
+}
+
+tchar
+setulink(void)
+{
+ static int cnt;
+
+ return _setlink(&ulinks, ULINKON, ULINKOFF, &cnt);
+}
+
+int
+pts2u(int p)
+{
+ return p * INCH / 72;
+}
+
+double
+u2pts(int u)
+{
+ return u * 72.0 / INCH;
+}
+
+#define psnprime 1021
+
+static struct psnnode {
+ struct psnnode *next;
+ const char *name;
+ int code;
+} **psntable;
+
+static int
+_ps2cc(const char *name, int create)
+{
+ struct psnnode *pp;
+ unsigned h;
+
+ if (psntable == NULL)
+ psntable = calloc(psnprime, sizeof *psntable);
+ h = pjw(name) % psnprime;
+ for (pp = psntable[h]; pp; pp = pp->next)
+ if (strcmp(name, pp->name) == 0)
+ return pp->code;
+ if (create == 0)
+ return 0;
+ pp = calloc(1, sizeof *pp);
+ pp->name = strdup(name);
+ pp->next = psntable[h];
+ psntable[h] = pp;
+ return pp->code = ++psmaxcode;
+}
+
+int
+ps2cc(const char *name)
+{
+ return _ps2cc(name, 1);
+}
diff --git a/troff/troff.d/ta.c b/troff/troff.d/ta.c
new file mode 100644
index 0000000000000..c3e9d92b41978
--- /dev/null
+++ b/troff/troff.d/ta.c
@@ -0,0 +1,886 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
+ * Use is subject to license terms.
+ */
+
+/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
+/* All Rights Reserved */
+
+
+/* from OpenSolaris "ta.c 1.10 05/06/08 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ */
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucb/ta.sl 1.8 (gritter) 12/25/06";
+
+/*
+ * University Copyright- Copyright (c) 1982, 1986, 1988
+ * The Regents of the University of California
+ * All Rights Reserved
+ *
+ * University Acknowledgment- Portions of this document are derived from
+ * software developed by the University of California, Berkeley, and its
+ * contributors.
+ */
+
+/*
+ * drive hp2621 terminal
+ * just to see stuff quickly. like troff -a
+ */
+
+/*
+output language from troff:
+all numbers are character strings
+
+sn size in points
+fn font as number from 1-n
+cx ascii character x
+Cxyz funny char xyz. terminated by white space
+Hn go to absolute horizontal position n
+Vn go to absolute vertical position n (down is positive)
+hn go n units horizontally (relative)
+vn ditto vertically
+nnc move right nn (exactly 2 digits!), then print c
+ (this wart is an optimization that shrinks output file size
+ about 35% and run-time about 15% while preserving ascii-ness)
+w paddable word space - no action needed
+nb a end of line (information only -- no action needed)
+ b = space before line, a = after
+pn begin page n
+#...\n comment
+Dt ...\n draw operation 't':
+ Dl x y line from here by x,y
+ Dc d circle of diameter d with left side here
+ De x y ellipse of axes x,y with left side here
+ Da x y u v arc counter-clockwise from here to u,v from center
+ with center x,y from here
+ D~ x y x y ... wiggly line by x,y then x,y ...
+x ...\n device control functions:
+ x i init
+ x T s name of device is s
+ x r n h v resolution is n/inch
+ h = min horizontal motion, v = min vert
+ x p pause (can restart)
+ x s stop -- done for ever
+ x t generate trailer
+ x f n s font position n contains font s
+ x H n set character height to n
+ x S n set character slant to n
+
+ Subcommands like "i" are often spelled out like "init".
+*/
+
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <stdio.h>
+#include <signal.h>
+#include <ctype.h>
+#include <stdarg.h>
+
+#include "dev.h"
+#define NFONT 10
+
+int output = 0; /* do we do output at all? */
+int nolist = 0; /* output page list if > 0 */
+int olist[20]; /* pairs of page numbers */
+
+int erase = 1;
+float aspect = 1.5; /* default aspect ratio */
+int wflag = 0; /* wait, looping, for new input if on */
+void (*sigint)(int);
+void (*sigquit)(int);
+void done(void);
+
+struct dev dev;
+struct font *fontbase[NFONT];
+short psizes[] ={ 11, 16, 22, 36, 0}; /* approx sizes available */
+short *pstab = psizes;
+int nsizes = 1;
+int nfonts;
+int smnt; /* index of first special font */
+int nchtab;
+char *chname;
+short *chtab;
+char *fitab[NFONT];
+char *widthtab[NFONT]; /* widtab would be a better name */
+char *codetab[NFONT]; /* device codes */
+
+#define FATAL 1
+#define BMASK 0377
+int dbg = 0;
+int res = 972; /* input assumed computed according to this resolution */
+ /* initial value to avoid 0 divide */
+FILE *tf; /* output file */
+char *fontdir = FNTDIR;
+#define devname troff_devname
+char devname[20] = "hp2621";
+
+FILE *fp; /* input file pointer */
+
+int nowait = 0; /* 0 => wait at bottom of each page */
+
+
+void drawline(int, int, char *);
+void drawwig(char *);
+void drawcirc(int);
+void drawarc(int, int, int, int);
+void drawellip(int, int);
+
+void outlist(char *);
+int in_olist(int);
+void conv(register FILE *);
+void devcntrl(FILE *);
+void fileinit(void);
+void fontprint(int);
+void loadcode(int, int);
+void loadfont(int, char *);
+void error(int, const char *, ...);
+void t_init(int);
+void t_push(void);
+void t_pop(void);
+void t_page(int);
+void putpage(void);
+void t_newline(void);
+int t_size(int);
+int t_font(char *);
+void t_text(char *);
+void t_reset(int);
+void t_trailer(void);
+void hgoto(int);
+void hmot(int);
+void hflush(void);
+void vgoto(int);
+void vmot(int);
+void put1s(char *);
+void put1(int);
+void setsize(double);
+void t_fp(int, char *);
+void setfont(int);
+void done(void);
+void callunix(char []);
+int readch(void);
+
+static int sget(char *, size_t, FILE *);
+
+int
+main(int argc, char **argv)
+{
+ char buf[BUFSIZ];
+
+ fp = stdin;
+ tf = stdout;
+ setbuf(stdout, buf);
+ while (argc > 1 && argv[1][0] == '-') {
+ switch (argv[1][1]) {
+ case 'a':
+ aspect = atof(&argv[1][2]);
+ break;
+ case 'e':
+ erase = 0;
+ break;
+ case 'o':
+ outlist(&argv[1][2]);
+ break;
+ case 'd':
+ dbg = atoi(&argv[1][2]);
+ if (dbg == 0) dbg = 1;
+ break;
+ case 'w': /* no wait at bottom of page */
+ nowait = 1;
+ break;
+ }
+ argc--;
+ argv++;
+ }
+
+ if (argc <= 1)
+ conv(stdin);
+ else
+ while (--argc > 0) {
+ if (strcmp(*++argv, "-") == 0)
+ fp = stdin;
+ else if ((fp = fopen(*argv, "r")) == NULL)
+ error(FATAL, "can't open %s", *argv);
+ conv(fp);
+ fclose(fp);
+ }
+ done();
+ /*NOTREACHED*/
+ return 0;
+}
+
+void
+outlist(char *s) /* process list of page numbers to be printed */
+{
+ int n1, n2, i;
+
+ nolist = 0;
+ while (*s && nolist < sizeof olist/sizeof *olist - 1) {
+ n1 = 0;
+ if (isdigit((unsigned char)*s))
+ do
+ n1 = 10 * n1 + *s++ - '0';
+ while (isdigit((unsigned char)*s));
+ else
+ n1 = -9999;
+ n2 = n1;
+ if (*s == '-') {
+ s++;
+ n2 = 0;
+ if (isdigit((unsigned char)*s))
+ do
+ n2 = 10 * n2 + *s++ - '0';
+ while (isdigit((unsigned char)*s));
+ else
+ n2 = 9999;
+ }
+ olist[nolist++] = n1;
+ olist[nolist++] = n2;
+ if (*s != '\0')
+ s++;
+ }
+ olist[nolist] = 0;
+ if (dbg)
+ for (i=0; i<nolist; i += 2)
+ printf("%3d %3d\n", olist[i], olist[i+1]);
+}
+
+int
+in_olist(int n) /* is n in olist? */
+{
+ int i;
+
+ if (nolist == 0)
+ return(1); /* everything is included */
+ for (i = 0; i < nolist; i += 2)
+ if (n >= olist[i] && n <= olist[i+1])
+ return(1);
+ return(0);
+}
+
+void
+conv(register FILE *fp)
+{
+ register int c, k;
+ int m, n, n1, m1;
+ char str[4096], buf[4096];
+
+ while ((c = getc(fp)) != EOF) {
+ switch (c) {
+ case '\n': /* when input is text */
+ case ' ':
+ case 0: /* occasional noise creeps in */
+ break;
+ case '{': /* push down current environment */
+ t_push();
+ break;
+ case '}':
+ t_pop();
+ break;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ /* two motion digits plus a character */
+ hmot((c-'0')*10 + getc(fp)-'0');
+ put1(getc(fp));
+ break;
+ case 'c': /* single ascii character */
+ put1(getc(fp));
+ break;
+ case 'C':
+ sget(str, sizeof str, fp);
+ put1s(str);
+ break;
+ case 't': /* straight text */
+ fgets(buf, sizeof(buf), fp);
+ t_text(buf);
+ break;
+ case 'D': /* draw function */
+ fgets(buf, sizeof(buf), fp);
+ switch (buf[0]) {
+ case 'l': /* draw a line */
+ sscanf(buf+1, "%d %d", &n, &m);
+ drawline(n, m, ".");
+ break;
+ case 'c': /* circle */
+ sscanf(buf+1, "%d", &n);
+ drawcirc(n);
+ break;
+ case 'e': /* ellipse */
+ sscanf(buf+1, "%d %d", &m, &n);
+ drawellip(m, n);
+ break;
+ case 'a': /* arc */
+ sscanf(buf+1, "%d %d %d %d", &n, &m, &n1, &m1);
+ drawarc(n, m, n1, m1);
+ break;
+ case '~': /* wiggly line */
+ drawwig(buf+1);
+ break;
+ default:
+ error(FATAL, "unknown drawing function %s\n", buf);
+ break;
+ }
+ break;
+ case 's':
+ fscanf(fp, "%d", &n);
+ if (n == -23) {
+ float f;
+ fscanf(fp, "%f", &f);
+ setsize(f);
+ } else
+ setsize(t_size(n));/* ignore fractional sizes */
+ break;
+ case 'f':
+ sget(str, sizeof str, fp);
+ setfont(t_font(str));
+ break;
+ case 'H': /* absolute horizontal motion */
+ /* fscanf(fp, "%d", &n); */
+ while ((c = getc(fp)) == ' ')
+ ;
+ k = 0;
+ do {
+ k = 10 * k + c - '0';
+ } while (isdigit(c = getc(fp)));
+ ungetc(c, fp);
+ hgoto(k);
+ break;
+ case 'h': /* relative horizontal motion */
+ /* fscanf(fp, "%d", &n); */
+ while ((c = getc(fp)) == ' ')
+ ;
+ k = 0;
+ do {
+ k = 10 * k + c - '0';
+ } while (isdigit(c = getc(fp)));
+ ungetc(c, fp);
+ hmot(k);
+ break;
+ case 'w': /* word space */
+ putc(' ', stdout);
+ break;
+ case 'V':
+ fscanf(fp, "%d", &n);
+ vgoto(n);
+ break;
+ case 'v':
+ fscanf(fp, "%d", &n);
+ vmot(n);
+ break;
+ case 'p': /* new page */
+ fscanf(fp, "%d", &n);
+ t_page(n);
+ break;
+ case 'n': /* end of line */
+ while (getc(fp) != '\n')
+ ;
+ t_newline();
+ break;
+ case '#': /* comment */
+ while (getc(fp) != '\n')
+ ;
+ break;
+ case 'x': /* device control */
+ devcntrl(fp);
+ break;
+ default:
+ error(!FATAL, "unknown input character %o %c\n", c, c);
+ done();
+ }
+ }
+}
+
+void
+devcntrl(FILE *fp) /* interpret device control functions */
+{
+ char str[4096];
+ int n;
+
+ sget(str, sizeof str, fp);
+ switch (str[0]) { /* crude for now */
+ case 'i': /* initialize */
+ fileinit();
+ t_init(0);
+ break;
+ case 'T': /* device name */
+ sget(devname, sizeof devname, fp);
+ break;
+ case 't': /* trailer */
+ t_trailer();
+ break;
+ case 'p': /* pause -- can restart */
+ t_reset('p');
+ break;
+ case 's': /* stop */
+ t_reset('s');
+ break;
+ case 'r': /* resolution assumed when prepared */
+ fscanf(fp, "%d", &res);
+ break;
+ case 'f': /* font used */
+ fscanf(fp, "%d", &n);
+ sget(str, sizeof str, fp);
+ loadfont(n, str);
+ break;
+ }
+ while (getc(fp) != '\n') /* skip rest of input line */
+ ;
+}
+
+void
+fileinit(void) /* read in font and code files, etc. */
+{
+}
+
+void
+fontprint(int i) /* debugging print of font i (0,...) */
+{
+}
+
+void
+loadcode(int n, int nw) /* load codetab on position n (0...); #chars is nw */
+{
+}
+
+void
+loadfont(int n, char *s) /* load font info for font s on position n (1...) */
+{
+}
+
+void
+error(int f, const char *s, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "ta: ");
+ va_start(ap, s);
+ vfprintf(stderr, s, ap);
+ va_end(ap);
+ fprintf(stderr, "\n");
+ if (f)
+ exit(1);
+}
+
+
+/*
+ Here beginneth all the stuff that really depends
+ on the 202 (we hope).
+*/
+
+
+#define ESC 033
+#define HOME 'H'
+#define CLEAR 'J'
+#define FF 014
+
+int size = 1;
+int font = 1; /* current font */
+int hpos; /* horizontal position where we are supposed to be next (left = 0) */
+int vpos; /* current vertical position (down positive) */
+
+int horig; /* h origin of current block; hpos rel to this */
+int vorig; /* v origin of current block; vpos rel to this */
+
+int DX = 10; /* step size in x for drawing */
+int DY = 10; /* step size in y for drawing */
+int drawdot = '.'; /* draw with this character */
+int drawsize = 1; /* shrink by this factor when drawing */
+
+void
+t_init(int reinit) /* initialize device */
+{
+ fflush(stdout);
+ hpos = vpos = 0;
+}
+
+#define MAXSTATE 5
+
+struct state {
+ int ssize;
+ int sfont;
+ int shpos;
+ int svpos;
+ int shorig;
+ int svorig;
+};
+struct state state[MAXSTATE];
+struct state *statep = state;
+
+void
+t_push(void) /* begin a new block */
+{
+ hflush();
+ statep->ssize = size;
+ statep->sfont = font;
+ statep->shorig = horig;
+ statep->svorig = vorig;
+ statep->shpos = hpos;
+ statep->svpos = vpos;
+ horig = hpos;
+ vorig = vpos;
+ hpos = vpos = 0;
+ if (statep++ >= state+MAXSTATE)
+ error(FATAL, "{ nested too deep");
+ hpos = vpos = 0;
+}
+
+void
+t_pop(void) /* pop to previous state */
+{
+ if (--statep < state)
+ error(FATAL, "extra }");
+ size = statep->ssize;
+ font = statep->sfont;
+ hpos = statep->shpos;
+ vpos = statep->svpos;
+ horig = statep->shorig;
+ vorig = statep->svorig;
+}
+
+int np; /* number of pages seen */
+int npmax; /* high-water mark of np */
+int pgnum[40]; /* their actual numbers */
+long pgadr[40]; /* their seek addresses */
+
+void
+t_page(int n) /* do whatever new page functions */
+{
+ int m, i;
+ char buf[1024], *bp;
+
+ pgnum[np++] = n;
+ pgadr[np] = ftell(fp);
+ if (np > npmax)
+ npmax = np;
+ if (output == 0) {
+ output = in_olist(n);
+ t_init(1);
+ return;
+ }
+ /* have just printed something, and seen p<n> for next one */
+ putpage();
+ fflush(stdout);
+ if (nowait)
+ return;
+
+ next:
+ for (bp = buf; (*bp = readch()); )
+ if (*bp++ == '\n' || bp >= &buf[sizeof buf - 1])
+ break;
+ *bp = 0;
+ switch (buf[0]) {
+ case 0:
+ done();
+ break;
+ case '\n':
+ output = in_olist(n);
+ t_init(1);
+ return;
+ case '!':
+ callunix(&buf[1]);
+ fputs("!\n", stderr);
+ break;
+ case 'e':
+ erase = 1 - erase;
+ break;
+ case 'w':
+ wflag = 1 - wflag;
+ break;
+ case 'a':
+ aspect = atof(&buf[1]);
+ break;
+ case '-':
+ case 'p':
+ m = atoi(&buf[1]) + 1;
+ if (fp == stdin) {
+ fputs("you can't; it's not a file\n", stderr);
+ break;
+ }
+ if (np - m <= 0) {
+ fputs("too far back\n", stderr);
+ break;
+ }
+ np -= m;
+ fseek(fp, pgadr[np], 0);
+ output = 1;
+ t_init(1);
+ return;
+ case '0': case '1': case '2': case '3': case '4':
+ case '5': case '6': case '7': case '8': case '9':
+ m = atoi(&buf[0]);
+ for (i = 0; i < npmax; i++)
+ if (m == pgnum[i])
+ break;
+ if (i >= npmax || fp == stdin) {
+ fputs("you can't\n", stderr);
+ break;
+ }
+ np = i + 1;
+ fseek(fp, pgadr[np], 0);
+ output = 1;
+ t_init(1);
+ return;
+ case 'o':
+ outlist(&buf[1]);
+ output = 0;
+ t_init(1);
+ return;
+ case '?':
+ fputs("!cmd unix cmd\n", stderr);
+ fputs("p print this page again\n", stderr);
+ fputs("-n go back n pages\n", stderr);
+ fputs("n print page n (previously printed)\n", stderr);
+ fputs("o... set the -o output list to ...\n", stderr);
+ fputs("en n=0 -> don't erase; n=1 -> erase\n", stderr);
+ fputs("an sets aspect ratio to n\n", stderr);
+ break;
+ default:
+ fputs("?\n", stderr);
+ break;
+ }
+ goto next;
+}
+
+void
+putpage(void)
+{
+ fflush(stdout);
+}
+
+void
+t_newline(void) /* do whatever for the end of a line */
+{
+ printf("\n");
+ hpos = 0;
+}
+
+int
+t_size(int n) /* convert integer to internal size number*/
+{
+ return 0;
+}
+
+int
+t_font(char *s) /* convert string to internal font number */
+{
+ return 0;
+}
+
+void
+t_text(char *s) /* print string s as text */
+{
+ int c, w=0;
+ char str[100];
+
+ if (!output)
+ return;
+ while ((c = *s++) != '\n') {
+ if (c == '\\') {
+ switch (c = *s++) {
+ case '\\':
+ case 'e':
+ put1('\\');
+ break;
+ case '(':
+ str[0] = *s++;
+ str[1] = *s++;
+ str[2] = '\0';
+ put1s(str);
+ break;
+ }
+ } else {
+ put1(c);
+ }
+ hmot(w);
+ }
+}
+
+void
+t_reset(int c)
+{
+ output = 1;
+ fflush(stdout);
+ if (c == 's')
+ t_page(9999);
+}
+
+void
+t_trailer(void)
+{
+}
+
+void
+hgoto(int n)
+{
+ hpos = n; /* this is where we want to be */
+ /* before printing a character, */
+ /* have to make sure it's true */
+}
+
+void
+hmot(int n) /* generate n units of horizontal motion */
+{
+ hgoto(hpos + n);
+}
+
+void
+hflush(void) /* actual horizontal output occurs here */
+{
+}
+
+void
+vgoto(int n)
+{
+ vpos = n;
+}
+
+void
+vmot(int n) /* generate n units of vertical motion */
+{
+ vgoto(vpos + n); /* ignores rounding */
+}
+
+void
+put1s(char *s) /* s is a funny char name */
+{
+ int i;
+ char *p;
+ extern char *spectab[];
+ static char prev[10] = "";
+ static int previ;
+
+ if (!output)
+ return;
+ if (strcmp(s, prev) != 0) {
+ previ = -1;
+ for (i = 0; spectab[i] != 0; i += 2)
+ if (strcmp(spectab[i], s) == 0) {
+ n_strcpy(prev, s, sizeof(prev));
+ previ = i;
+ break;
+ }
+ }
+ if (previ >= 0) {
+ for (p = spectab[previ+1]; *p; p++)
+ putc(*p, stdout);
+ } else
+ prev[0] = 0;
+}
+
+void
+put1(int c) /* output char c */
+{
+ if (!output)
+ return;
+ putc(c, stdout);
+}
+
+void
+setsize(double n) /* set point size to n (internal) */
+{
+}
+
+void
+t_fp(int n, char *s) /* font position n now contains font s */
+{
+}
+
+void
+setfont(int n) /* set font to n */
+{
+}
+
+void done(void)
+{
+ output = 1;
+ putpage();
+ fflush(stdout);
+ exit(0);
+}
+
+void
+callunix(char line[])
+{
+ int rc, status, unixpid;
+ if( (unixpid=fork())==0 ) {
+ signal(SIGINT,sigint); signal(SIGQUIT,sigquit);
+ close(0); dup(2);
+ execl("/bin/sh", "-sh", "-c", line, NULL);
+ exit(255);
+ }
+ else if(unixpid == -1)
+ return;
+ else{ signal(SIGINT, SIG_IGN); signal(SIGQUIT, SIG_IGN);
+ while( (rc = wait(&status)) != unixpid && rc != -1 ) ;
+ signal(SIGINT,(void(*)(int))done); signal(SIGQUIT,(void(*)(int))sigquit);
+ }
+}
+
+int
+readch(void){
+ char c;
+ if (read(2,&c,1)<1) c=0;
+ return(c);
+}
+
+char *spectab[] ={
+ "em", "-",
+ "hy", "-",
+ "en", "-",
+ "ru", "_",
+ "l.", ".",
+ "br", "|",
+ "vr", "|",
+ "fm", "'",
+ "or", "|",
+ 0, 0,
+};
+
+static int
+sget(char *buf, size_t size, FILE *fp)
+{
+ int c, n = 0;
+
+ do
+ c = getc(fp);
+ while (isspace(c));
+ if (c != EOF) do {
+ if (n+1 < size)
+ buf[n++] = c;
+ c = getc(fp);
+ } while (c != EOF && !isspace(c));
+ ungetc(c, fp);
+ buf[n] = 0;
+ return n > 1 ? 1 : c == EOF ? EOF : 0;
+}
diff --git a/troff/troff.d/tmac.d/Makefile.mk b/troff/troff.d/tmac.d/Makefile.mk
new file mode 100644
index 0000000000000..444625ce88de3
--- /dev/null
+++ b/troff/troff.d/tmac.d/Makefile.mk
@@ -0,0 +1,32 @@
+MACS= acm.me bib chars.me deltext.me e eqn.me \
+ float.me footnote.me index.me local.me m mmn mmt ms.acc \
+ ms.cov ms.eqn ms.ref ms.tbl ms.ths ms.toc null.me refer.me \
+ s sh.me tbl.me thesis.me v vgrind \
+ an andoc doc doc-common doc-ditroff doc-nroff doc-syms \
+ pictures color pm srefs ptx safe g padj taa naa \
+ tmac.gchar an-ext
+
+MAN= mcolor.7 mpictures.7 man.7 mdoc.7
+
+.SUFFIXES: .in
+
+.in:
+ sed 's:@MACDIR@:$(MACDIR):; s:@LIBDIR@:$(LIBDIR):' $< >$@
+
+all: $(MACS) $(MAN)
+
+install: all $(ROOT)$(MACDIR) $(ROOT)$(MANDIR)/man7
+ for i in $(MACS); do \
+ $(INSTALL) -m 644 $$i $(ROOT)$(MACDIR)/ || exit; \
+ done
+ for i in $(MAN); do \
+ $(INSTALL) -m 644 $$i $(ROOT)$(MANDIR)/man7/ || exit; \
+ done
+
+clean:
+ rm -f andoc bib doc e g m s pm an doc-ditroff
+
+mrproper: clean
+
+$(ROOT)$(MACDIR) $(ROOT)$(MANDIR)/man7:
+ mkdir -p $@
diff --git a/troff/troff.d/tmac.d/acm.me b/troff/troff.d/tmac.d/acm.me
new file mode 100644
index 0000000000000..808b4b74a576a
--- /dev/null
+++ b/troff/troff.d/tmac.d/acm.me
@@ -0,0 +1,88 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)acm.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)acm.me 2.1 8/18/80
+.de ac
+.ll 8.9i
+.nr $s 0.5i
+.if !\\n($T \
+. po 1.0i
+.ie "\\$2"*" \
+\{\
+. nr hm 0.375i
+. nr tm 1.125i
+. pl 14.25i
+. nr bm 1.5i
+. de $h ..
+. tl ''%''
+...
+. rm $f
+.\}
+.el \
+\{\
+. nr hm 0
+. nr tm 0
+. pl 15i
+. nr bm 3i
+. nr fm 0.9i
+. de $f ..
+. ti 0
+\h'|0.5i'\\\\n%\h'|1.25i'\\$2\h'|3i'\\$1
+. br
+...
+. rm $h
+.\}
+.bp
+.rs
+.sp 0.75i
+.rm ac
+..
+.if t .tm Line \n(c. -- macro .ac will not work in TROFF -- request ignored.
+.if t .rm ac
+.de +c
+.if \\n(?A \
+\{\
+. nr ch 0 1
+. pn 1
+. ep
+. af % 1
+. bp
+.\}
+.nr ?A 0
+.sp 1i
+.if \\n(.$ \
+. $c "\\$1"
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/an-ext b/troff/troff.d/tmac.d/an-ext
new file mode 100644
index 0000000000000..837a963ee2638
--- /dev/null
+++ b/troff/troff.d/tmac.d/an-ext
@@ -0,0 +1,104 @@
+.\" -*- nroff -*-
+.\"
+.\" an-ext.tmac
+.\"
+.\" Copyright (C) 2007-2014 Free Software Foundation, Inc.
+.\"
+.\" Written by Eric S. Raymond <esr@thyrsus.com>
+.\" Werner Lemberg <wl@gnu.org>
+.\"
+.\" You may freely use, modify and/or distribute this file.
+.\"
+.\" The code below provides extension macros for the `man' macro package.
+.\" Care has been taken to make the code portable; groff extensions are
+.\" properly hidden so that all troff implementations can use it without
+.\" changes.
+.\"
+.\" With groff, this file is sourced by the `man' macro package itself.
+.\" Man page authors who are concerned about portability might add the
+.\" used macros directly to the prologue of the man page(s).
+.
+.
+.\" Convention: Auxiliary macros and registers start with `m' followed
+.\" by an uppercase letter or digit.
+.
+.
+.\" Changes for Heirloom roff by Carsten Kunze <troff@arcor.de>
+.\"
+.\" The original file can be obtained with:
+.\" git clone git://git.savannah.gnu.org/groff.git
+.\" The file path is then:
+.\" groff/tmac/an-ext.tmac
+.
+.
+.\" groff's man macros control hyphenation with this register.
+.if t .nr HY 1
+.\" Declare start of command synopsis. Sets up hanging indentation.
+.de SY
+. ie !\\n(mS \{\
+. nh
+. nr mS 1
+. nr mA \\n(.j
+. ad l
+. nr mI \\n(.i
+. \}
+. el \{\
+. br
+. ns
+. \}
+. nr mT \w\fB\\$1\fP\ 
+. HP \\n(mTu
+. B "\\$1
+..
+.\" End of command synopsis. Restores adjustment.
+.de YS
+. in \\n(mIu
+. ad \\n(mA
+. hy \\n(HY
+. nr mS 0
+..
+.\" Declare optional option.
+.de OP
+. ie \\n(.$>1 .RI "[\fB\\$1\fP" "\ \\$2" "]
+. el .RB "[" "\\$1" "]
+..
+.\" Start URL.
+.de UR
+. ds m1 "\\$1
+. nh
+..
+.\" End URL.
+.de UE
+. nop \\*(la\\*(m1\\*(ra\\$*
+. hy \\n(HY
+..
+.\" Start email address.
+.de MT
+. ds m1 "\\$1
+. nh
+..
+.\" End email address.
+.de ME
+. nop \\*(la\\*(m1\\*(ra\\$*
+. hy \\n(HY
+..
+.\" Continuation line for .TP header.
+.de TQ
+. br
+. ns
+. TP \\$1\" no doublequotes around argument!
+..
+.\" Start example.
+.de EX
+. nr mE \\n(.f
+. nf
+. nh
+. ft CW
+..
+.\" End example.
+.de EE
+. ft \\n(mE
+. fi
+. hy \\n(HY
+..
+.\" vim:set filetype=groff:
diff --git a/troff/troff.d/tmac.d/an.in b/troff/troff.d/tmac.d/an.in
new file mode 100644
index 0000000000000..4bde31135873a
--- /dev/null
+++ b/troff/troff.d/tmac.d/an.in
@@ -0,0 +1,647 @@
+.\"
+.\" tmac.an - macros for manual pages
+.\"
+.\" Sccsid @(#)an 2.11 (gritter) 3/18/07
+.\"
+.\" from Unix 7th Edition /usr/lib/tmac/tmac.an
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2002
+.\"
+.\" Changes by Carsten Kunze, 2015-2016
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.do xflag 3
+.als am1 am
+.als de1 de
+.als as1 as
+.als ds1 ds
+.escoff ; @
+.ie n \{\
+. nr cR 1
+. utf8conv -
+. char ' \N39
+. char ` \N96
+. sentchar .?!
+. ns
+. nh
+. rm hy
+. ad l
+. rm ad
+. nr )I.def 7n
+.\}
+.el \{\
+. ie \*(.Thtml \{\
+. nr cR 1
+. nh
+. rm hy
+. \}
+. el \{\
+. hy 14
+. \}
+. so @MACDIR@/tmac.gchar
+. nr )I.def .5i
+.\}
+.nr .g 1
+.ds la \(la
+.ds ra \(ra
+.ds lq \(lq
+.ds rq \(rq
+.ds Tm \(tm
+. \" reset the basic page layout
+.de }E
+. }f
+. ad b
+. in \\n()Ru+\\n(INu
+. ll \\n(LLu
+..
+. \" default tabs
+.de DT
+. ta T .5i
+..
+. \" set type font and size
+.de }f
+. ps \\nS
+. ft 1
+..
+. \" handle the head of the page
+.de }H
+. ev 1
+. sp .5i
+. ft 1
+. ps \\nS
+. lt \\n(LLu
+. lnr longName 0
+. ie \w\\*(]H+2n*2+\w\\*(]D>\\n[.lt] \
+. tl \\*(]H\\*(]D
+. el .tl \\*(]H\\*(]D\\*(]H
+. sp .5i
+. ev
+. ns
+..
+. \" handle the foot of the page
+.de }F
+. ie \n(cR \{\
+. pl +5
+. fl
+. sp 3
+. lt \\n(LLu
+. tl \\*(]W\\*(]L\\*(]H
+. pl \\n(nlu
+. \}
+. el \{\
+. ev 1
+. ft 1
+. ps \\nS
+' sp .5i
+. lt \\n(LLu
+. tl \\*(]W\\*(]L%
+' bp
+. ev
+. \}
+..
+.de }M
+. }N
+. ll \\n(LLu
+..
+. \" no runout unless there was a .TH
+.de }K
+. }N
+. pl 1
+. ll \\n(LLu
+..
+.em }K
+. \" set title and heading
+.ds TH.DefCatName.1 General Commands Manual
+.ds TH.DefCatName.2 System Calls Manual
+.ds TH.DefCatName.3 Library Functions Manual
+.ds TH.DefCatName.3p Perl Programmers Reference Guide
+.ds TH.DefCatName.4 Kernel Interfaces Manual
+.ds TH.DefCatName.5 File Formats Manual
+.ds TH.DefCatName.6 Games Manual
+.ds TH.DefCatName.7 Miscellaneous Information Manual
+.ds TH.DefCatName.8 System Manager's Manual
+.ds TH.DefCatName.9 Kernel Developer's Manual
+.de TH
+. PD
+. if !(\\nS>0) .nr S 10
+. ie (\\nS>10) .vs \\nSp+3p
+. el .vs \\nSp+2p
+. ie n .nr IN 7n
+. el .nr IN .5i
+. ie n .nr LL 78n
+. el .nr LL \\n(.l
+. ds ]H \\$1\|(\|\\$2\|)
+. ds ]L \\$3
+. ds ]W \\$4
+. ie !\\$5 .ds ]D \\$5
+. el .if d TH.DefCatName.\\$2 .ds ]D \\*[TH.DefCatName.\\$2]
+. ie \n(cR .}H
+. el .wh 0 }H
+. ie t .wh -1i }F
+. el .if !\n(cR .wh -1.167i }F
+. ie !\n(cR .em }M
+. el \{\
+. als bp br
+. pl 2000000000u \" pl is signed int
+. em }F
+. \}
+. \" Work around for \{ bug in Pod::Man
+. if \n(cR=0&\\n(nl .}H
+. }E
+. DT
+. nr )I \\n[)I.def]
+. nr )R 0
+. if n .na
+. if t .if !\\*[Toc] \{\
+. nr Toc 1
+. SH CONTENTS
+. nr Toc +1
+. nf
+. so \\*[Toc]
+. fi
+. \}
+..
+. \" section heading
+.de SH
+. if !\\n(.z .di
+. }X 0
+. nr )E 2
+. lds T \&\\$1
+. lds A \\$1
+. shift
+. while \\n(.$ \{\
+. as T " \|\\$1
+. as A " \\$1
+. shift
+. \}
+. ie \\n[Toc] \{\
+\XPDFMark: BookmarkClosed 0 \\*A\A\\*A\\*T
+. if \\n[Toc]>1 \{\
+. ie \\*(.Thtml \{\
+. tm Toc:\T\\*A\\*T\T
+. \}
+. el \{\
+. lnr Tab \\n(.l-\\n(.i
+. tm Toc:.ta \\n[Tab]uR
+. tm Toc:\T\\*A\\*T\T\a\\n%
+. \}
+. \}
+. \}
+. el \\*T
+. \" HP-UX compatibility macros
+. if \\$1NAME \{\
+. if !\\*()H \{\
+. ie \\n(.g==1 \{\
+. ds }c C
+. \}
+. el \{\
+. ds }c 1
+. \}
+. \" constant width
+. de C
+. ft C
+. it 1 }N
+. if !\\\\$* \&\\\\$1 \\\\$2 \\\\$3 \\\\$4 \\\\$5 \\\\$6 \\\\$7 \\\\$8 \\\\$9
+\\..
+. \" combinations with constant width
+. de CR
+. }S \\*(}c 1 \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. de RC
+. }S 1 \\*(}c \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. de CI
+. }S \\*(}c 2 \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. de IC
+. }S 2 \\*(}c \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. de CB
+. }S \\*(}c 3 \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. de BC
+. }S 3 \\*(}c \& "\\\\$1" "\\\\$2" "\\\\$3" "\\\\$4" "\\\\$5" "\\\\$6" "\\\\$7" "\\\\$8" "\\\\$9"
+\\..
+. \" various stuff
+. de CD
+. CR "\\\\$1" "\\\\$2"
+\\..
+. de CT
+. IR "\\\\$1" "\\\\$2"
+\\..
+. de EM
+. IR "\\\\$1" "\\\\$2"
+\\..
+. de ER
+. nop [\\\\$1]\\\\$2
+\\..
+. de EV
+. CR "\\\\$1" "\\\\$2"
+\\..
+. de GT
+. BR "\\\\$1" "\\\\$2"
+\\..
+. de KC
+. BR "\\\\$1" "\\\\$2"
+\\..
+. de RV
+. CR "\\\\$1" "\\\\$2"
+\\..
+. de SC
+. CR "\\\\$1" "\\\\$2"
+\\..
+. de S3
+. sp \\n()Pu
+. ne 2
+. nop \&\\\\$1 \|\\\\$2 \|\\\\$3 \|\\\\$4 \|\\\\$5 \|\\\\$6 \|\\\\$7 \|\\\\$8 \|\\\\$9
+. br
+\\..
+. de P
+. PP
+\\..
+. \}
+. \}
+..
+. \" sub section heading
+.de SS
+. if !\\n(.z \{\
+. br
+. di
+. \\n(.z
+. \}
+. ie n .}X 3n
+. el .}X .25i
+. nr )E 2
+. if \\n(.$ \{\
+. lds T \&\\$1
+. lds A \\$1
+. shift
+. while \\n(.$ \{\
+. as T " \|\\$1
+. as A " \\$1
+. shift
+. \}
+. ie \\n[Toc] \{\
+\XPDFMark: BookmarkClosed 1 \\*A\A\\*A\\*T
+. ie \\*(.Thtml \{\
+. tm Toc:.ta 3n
+. tm Toc:\t\T\\*A\\*T\T
+. \}
+. el \{\
+. lnr Tab \\n(.l-\\n(.i
+. tm Toc:.ta 3n \\n[Tab]uR
+. tm Toc:\t\T\\*A\\*T\T\a\\n%
+. \}
+. \}
+. el \\*T
+. br
+. \}
+..
+. \" subroutine for section heading
+.de }X
+. }E
+. ti \\$1
+. sp \\n()Pu
+. ne 2
+. nr )R 0
+. fi
+. it 1 }N
+. SM
+. B
+..
+. \" end of SH (cf }X above and }N below)
+.de }2
+. nr )E 0
+. }E
+. nr )I \\n[)I.def]
+. ns
+..
+. \" italic
+.de I
+. ft 2
+. ie !\\n(.$ .it 1 }N
+. el \&\\$*\fR
+..
+. \" bold
+.de B
+. ft 3
+. ie !\\n(.$ .it 1 }N
+. el \&\\$*\fR
+..
+. \" small
+.de SM
+. ps \\nS-1
+. ie !\\n(.$ .it 1 }N
+. el \&\\$*\s\\nS
+..
+. \" small and bold
+.de SB
+. ps \\nS-1
+. ft B
+. ie !\\n(.$ .it 1 }N
+. el \&\\$*\fR\s\\nS
+..
+. \" combinations of Roman, italic, bold
+.de RI
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fI\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fR\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+.de RB
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fB\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fR\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+.de IR
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fR\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fI\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+.de IB
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fB\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fI\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+.de BR
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fR\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fB\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+.de BI
+. lds Text \&
+. lnr State 0
+. while \\n(.$ \{\
+. ie \\n[State] \{\
+. as Text \fI\\$1
+. nr State 0
+. \}
+. el \{\
+. as Text \fB\\$1
+. nr State 1
+. \}
+. shift
+. \}
+. nop \\*[Text]
+. }f
+..
+. \" make special case of shift out of italic
+.de }S
+. ds ]F
+. if \\$12 .if !\\$5 .ds ]F \^
+. ie !\\$4 \{\
+. do ds }$1 "\\$1
+. do ds }$2 "\\$2
+. do ds }$3 "\\$3
+. do ds }$4 "\\$4
+. do shift 4
+. if \\n(.X<2 \{\
+. nr )X \\n(.X
+. do xflag 3
+. \}
+. }S \\*[}$2] \\*[}$1] "\\*[}$3]\f\\*[}$1]\\*[}$4]\\*(]F" \\$@
+. if \\n()X .do xflag \\n()X
+. \}
+. el \\$3
+. }f
+..
+. \" paragraph
+.de LP
+. PP
+..
+.de PP
+. sp \\n()Pu
+. ne 2
+. }E
+. nr )I \\n[)I.def]
+. ns
+..
+.de P
+. PP
+..
+. \" paragraph distance
+.de PD
+. if t .nr )P .4v
+. if n .nr )P 1v
+. if !\\$1 .nr )P \\$1v
+..
+. \" hanging indent
+.de HP
+. sp \\n()Pu
+. ne 2
+. if !\\$1 .nr )I \\$1n
+. ll \\n(LLu
+. in \\n()Ru+\\n(INu+\\n()Iu
+. ti \\n()Ru+\\n(INu
+. }f
+..
+. \" indented paragraph
+.de IP
+. TP \\$2
+\&\\$1
+..
+. \" hanging label
+.de TP
+. if \\n()E .return
+. if !\\$1 .nr )I \\$1n
+. sp \\n()Pu
+. in \\n()Ru
+. nr )E 1
+. ns
+. it 1 }N
+. nf
+. di ]B
+..
+. \" end of TP (cf }N below)
+.de }0
+. fi
+. }1
+..
+.de }1
+. ds ]X \&\\*(]B\\
+. nr )E 0
+. if !\\$1 .nr )I \\$1n
+. }f
+. ll \\n(LLu
+. in \\n()Ru+\\n(INu+\\n()Iu
+. ti \\n(INu
+. ie !\\n()Iu+\\n()Ru-\w\\*(]Xu-3p \{\
+. nop \\*(]X
+. br
+. \}
+. el \{\
+. nop \\*(]X\h|\\n()Iu+\\n()Ru\c
+. if \\n(.X \{\
+. do nop \k[}pos]
+. do vpt 0
+. sp -1
+. do vpt 1
+. do nop \h\\n[}pos]u\c
+. \}
+. \}
+. }f
+..
+. \" handle end of 1-line features
+.de }N
+. if \\n()E .br
+. di
+. ie !\\n()E .}f
+. el .ie \\n()E=1 .}0
+. el .if \\n()E=2 .}2
+. nr )E 0
+..
+.als an-trap }N
+. \" increase relative indent
+.de RS
+. nr ]\\n+()p \\n()I
+. nr )\\n()p \\n()R
+. ie !\\$1 .nr )R +\\$1n
+. el .nr )R +\\n()I
+. nr )I \\n[)I.def]
+. }E
+..
+. \" decrease relative indent
+.de RE
+. ie !\\$1 \{\
+. ie \\$10 .nr )p 1 1
+. el .nr )p \\$1 1
+. \}
+. el .if !\\n()p \{\
+. tm \\n(.F \\n(.c: .RE without .RS ignored
+. return
+. \}
+. ds ]i \\*(]I\\n()p
+. ds ]r \\*(]R\\n()p
+. nr )I \\*(]i
+. nr )R \\*(]r
+. if \\n()p .nr )p -1
+. }E
+..
+.nr )p 0 1
+.ds ]I \\\\n(]
+.ds ]R \\\\n()
+.ds R \(rg
+.ds S \s10
+. \" For Tru64 UNIX manpages. Use of this is discouraged.
+.de LI
+. ie !\\$1 \{\
+. TP
+\\$1
+. \}
+. el \{
+. PP
+. \}
+..
+.so @MACDIR@/an-ext
+.\" For groff_www.7
+.de URL
+. nop \\$2 \(la\\$1\(ra\\$3
+..
+.als MTO URL
+.als FTP URL
+.de AT
+. ie \\$14 .ds ]W System III
+. el .ie \\$15 \{\
+. ds ]W System V
+. if !\\$2 .as ]W " Release \\$2
+. \}
+. el .ds ]W 7th Edition
+..
+.de UC
+. ie \\$14 .ds ]W 4th
+. el .ie \\$15 .ds ]W 4.2
+. el .ie \\$16 .ds ]W 4.3
+. el .ie \\$17 .ds ]W 4.4
+. el .ds ]W 3rd
+. as ]W " Berkeley Distribution
+..
+.\" vim:set filetype=groff:
diff --git a/troff/troff.d/tmac.d/andoc.in b/troff/troff.d/tmac.d/andoc.in
new file mode 100644
index 0000000000000..98049bee25797
--- /dev/null
+++ b/troff/troff.d/tmac.d/andoc.in
@@ -0,0 +1,66 @@
+.\" Copyright (c) 1990 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.4BSD tmac.andoc 8.1 (Berkeley) 6/30/93
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)andoc.in 1.3 (gritter) 2/18/07
+.\"
+.\" If -mdoc macros, source tmac.mdoc
+.\" If -man macros, check to see if groff or troff/nroff is being used
+.\"
+.do xflag 3
+.als am1 am
+.als de1 de
+.als as1 as
+.als ds1 ds
+.escoff ; @
+.nr .g 1
+.de Dd
+. rn Dd xX
+. so @MACDIR@/doc
+. Dd \\$*
+. rm xX
+..
+.de TH
+. rn TH xX
+. so @MACDIR@/an
+. TH \\$@
+. rm xX
+..
+.de th
+. rn th xX
+. ie n .so @MACDIR@/naa
+. el .so @MACDIR@/taa
+. th \\$@
+. rm xX
+..
diff --git a/troff/troff.d/tmac.d/bib.in b/troff/troff.d/tmac.d/bib.in
new file mode 100644
index 0000000000000..41a9d3b0be175
--- /dev/null
+++ b/troff/troff.d/tmac.d/bib.in
@@ -0,0 +1,251 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" from OpenSolaris "bib 1.6 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)bib.in 1.2 (gritter) 8/13/05
+.\"
+.ds TL BIBLIOGRAPHY
+. \" HD - header macro
+.de HD
+.nr PN \\n%
+'sp |.5i-1
+.if \\n%>1 .tl ''- \\n(PN -''
+'sp |1i
+.ps
+.ft
+.vs
+.ns
+..
+. \" FT - footer macro
+.de FT
+.ps 10
+.ft 1
+.vs 12p
+'bp
+..
+.so @MACDIR@/ms.acc
+.wh 0 HD
+.wh -1i FT
+.if n .na
+.if n .nr PD 1v
+.if t .nr PD .5v
+.nr PI 5n
+. \" RT - reset everything to normal state
+.de RT
+.in 0
+.ce 0
+.ul 0
+.ft 1
+.ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
+.fi
+..
+. \" XP - exdented paragraph
+.de XP
+.if \\nV=1 .ls 2
+.RT
+.ne 3.1
+.sp \\n(PDu
+.in +\\n(PIu
+.ti -\\n(PIu
+..
+. \" AP - annotation paragraph
+.de AP
+.if \\nV=1 .ls 1
+.RT
+.ne 1.1
+.sp \\n(PDu
+.in +\\n(PIu
+..
+. \" NP - numbered paragraph
+.de NP
+.if \\nV=1 .ls 2
+.RT
+.ne 3.1
+.sp \\n(PDu
+.in +\\n(PIu
+.ti -\\n(PIu
+.ta \\n(PIu
+\\n+#.\t\c
+..
+. \" refer macros for citations
+.de []
+.][ \\$1
+..
+.de ][
+.if \\$1>4 .tm %M (Bell Labs Memorandum) undefined
+.[\\$1
+..
+.if n .ds [o \&"
+.if n .ds [c \&"
+.if t .ds [o ``
+.if t .ds [c ''
+. \" [0 - other type of citation
+.de [0
+.XP
+.nr [: 0
+.if !\\*([Q \{\
+.nr [: 1
+\\*([Q\c
+.\}
+.if !\\*([A \{\
+.nr [: 1
+\\*([A\c
+.\}
+.if !\\*([T \{\
+.if \\n([:>0 ,
+.nr [: 1
+\f2\\*([T\f1\c
+.\}
+.if !\\*([S , \\*([S\c
+.if !\\*([V , \\*([V\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+.if \\n([:>0 \&.
+.if !\\*([O \\*([O
+..
+. \" [1 - journal article
+.de [1
+.XP
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+\f2\\*([J\f1\c
+.if !\\*([V , vol. \\*([V\c
+.if !\\*([N , no. \\*([N\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+..
+. \" [2 - book
+.de [2
+.XP
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \f2\\*([T,\f1
+.if !\\*([S \\*([S,
+.if !\\*([V \\*([V,
+.if !\\*([P \{\
+.ie \\n([P>0 pp. \\*([P,
+.el p. \\*([P,
+.\}
+\\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+..
+. \" [3 - article in book
+.de [3
+.XP
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+in \f2\\*([B\f1\c
+.if !\\*([E , ed. \\*([E\c
+.if !\\*([S , \\*([S\c
+.if !\\*([V , vol. \\*([V\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+..
+. \" [4 - report
+.de [4
+.XP
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+.if !\\*([R \\*([R\c
+.if !\\*([G \& (\\*([G)\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+..
+.de ]<
+.[<
+..
+.de [<
+.SH
+References
+.LP
+.rm FS FE
+..
+.de [>
+.]>
+..
+.de ]>
+.sp
+..
+.de ]-
+.[-
+..
+.de [-
+.if !\\n(TL \{\
+. br \" pseudo-page break
+. ce
+\f2\\*(TL\f1
+. sp 2
+. nr TL 1
+.\}
+.rm [Q [A [T [J [B [E [S [V
+.rm [N [P [I [C [D [O [R [G
+..
+. \" command-line registers
+.if \nN .nr # \nN-1 1
+.if \nN .rn NP XP
+.if \nV .ls \nV
+.if \nL .ll \nLu
+.if \nO .po \nOu
diff --git a/troff/troff.d/tmac.d/chars.me b/troff/troff.d/tmac.d/chars.me
new file mode 100644
index 0000000000000..e35c0071c3910
--- /dev/null
+++ b/troff/troff.d/tmac.d/chars.me
@@ -0,0 +1,86 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)chars.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)chars.me 2.2 8/29/80
+.if n \
+\{\
+. ds #[ \f1
+. ds #] \fP
+. ds #h 0
+. ds #v 0.8m
+. ds #f 0.3m
+.\}
+.if t \
+\{\
+. ds #[ \&
+. ds #] \&
+. ds #h ((1u-(\\\\n(.fu%2u))*0.13m)
+. ds #v 0.6m
+. ds #f 0
+.\}
+.ds ' \k_\h'-(\\n(.wu*8/10-\*(#h)'\*(#[\(aa\h'|\\n_u'\*(#]
+.ds ` \k_\h'-(\\n(.wu*7/10-\*(#h)'\*(#[\(ga\h'|\\n_u'\*(#]
+.ds : \k_\h'-(\\n(.wu*8/10-\*(#h+0.1m+\*(#f)'\v'-\*(#v'\*(#[\z.\h'0.2m+\*(#f'.\h'|\\n_u'\v'\*(#v'\*(#]
+.ds ^ \k_\h'-(\\n(.wu-\*(#h-0.05m)'\*(#[^\h'|\\n_u'\*(#]
+.ds ~ \k_\h'-(\\n(.wu-\*(#h-0.05m)'\*(#[~\h'|\\n_u'\*(#]
+.ds , \k_\h'-(\\n(.wu)'\*(#[,\h'|\\n_u'\*(#]
+.ds v \k_\h'-(\\n(.wu*9/10-\*(#h)'\v'-\*(#v'\*(#[\s-4v\s0\v'\*(#v'\h'|\\n_u'\*(#]
+.ds o \k_\h'-(\\n(.wu+\w'\(de'u-\*(#h)/2u'\v'-0.4n'\*(#[\z\(de\v'0.4n'\h'|\\n_u'\*(#]
+.ds qe \*(#[\v'0.5m'\z\(em\v'-0.65m'\z\(em\v'-0.65m'\z\(em\v'0.8m'\h'0.3m'|\h'-0.3m'\*(#]
+.ds qa \*(#[\h'-0.24m'\z\e\h'0.48m'\z\(sl\h'-0.24m'\v'-0.15m'\(em\v'0.15m'\*(#]
+.if t \
+\{\
+. ds qe \s-2\v'0.45m'\z\(em\v'-0.625m'\z\(em\v'-0.625m'\(em\v'0.8m'\s0\h'-0.1m'\v'-0.05m'\(br\v'0.05m'\h'0.1m'
+. ds qa \z\e\h'0.35m'\z\(sl\h'-0.33m'\v'-0.3m'\s-4\(em\s0\v'0.3m'\h'0.15m'
+.\}
+.if \n($T \
+\{\
+. ds ' \*(#[\h'-1'\(aa\*(#]
+. ds ` \*(#[\h'-1'\(ga\*(#]
+. ds : \&
+. ds ^ \*(#[\h'-1'^\*(#]
+. ds ~ \*(#[\h'-1'~\*(#]
+. ds , \*(#[\h'-1',\*(#]
+. ds v \&
+. ds o \&
+. ds qe EXISTS
+. ds qa FORALL
+.\}
+.rm #[
+.rm #]
+.rm #h
+.rm #v
+.rm #f
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/color b/troff/troff.d/tmac.d/color
new file mode 100644
index 0000000000000..336a4d3655bee
--- /dev/null
+++ b/troff/troff.d/tmac.d/color
@@ -0,0 +1,58 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, September 2005.
+.\"
+.\" Derived from Plan 9 v4 /sys/src/cmd/postscript/mcolor/color.sr
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)color 1.3 (gritter) 11/28/05
+.ds Dc black
+.ds Cc \*(Dc
+.de CL \" Color selection macro
+. \"
+. \" $1=color (e.g. .CL red) or
+. \" $1=textcolor on backgroundcolor (e.g. .CL "red on blue")
+. \" $1=red green blue rgb (e.g. .CL ".2 .3 .4 rgb") or
+. \" $1=hue saturation brightness hsb (e.g. .CL ".5 .6 .7 hsb")
+. \" $1=cyan magenta yellow black cmyk (e.g. .CL ".1 .2 .3 .4 cmyk")
+. \" $1=arbitrary PostScript commands
+. \" $2=text
+. \"
+. \" If no arguments are given the default color (usually black) will be
+. \" restored. If $2 is omitted the color selected by $1 remains in effect
+. \" until another color is selected. If two arguments are given $2 will be
+. \" printed in color $1 and then the default color will be restored.
+. \"
+. \" The color of the text and the background can be selected by setting $1
+. \" to "textcolor on backgroundcolor" where textcolor and backgroundcolor
+. \" can be any of the known colors. For example use .CL "white on black"
+. \" for reverse video printing. Changing color in a word can be accomplished
+. \" by preceeding the characters with a \X'SetColor:val' command, where val
+. \" is the color you wish to use. Named colors are case independent.
+. \"
+. \" Implementation details are device dependent and are handled in the
+. \" appropriate post-processor. Requesting a color that's not available
+. \" (eg. not defined in /usr/lib/postscript/color.ps) results in the use
+. \" of default colors - black or white on black for reverse video mode.
+. \"
+. \" All colors may not be supported on every output device, and the direct
+. \" specification of a color via an explicit rgb, hsb, or cmyk argument may also
+. \" be device dependent. In any case, to be safe on PostScript devices, all
+. \" numeric paramenters in the direct rgb, hsb or cmyk specifications should lie
+. \" between 0 and 1 (inclusive). The names of the currently available colors
+. \" on PostScript printers are listed in file /usr/lib/postscript/color.ps.
+. \"
+.mk Ov
+.if \\n(.$=0 .ds Cc \\*(Dc
+.if \\n(.$=1 .ds Cc \\$1
+.if \\n(.$<2 \\X'SetColor:\\*(Cc'
+.if \\n(.$=2 \\X'SetColor:\\$1'\\c
+.if \\n(.$=2 'sp |\\n(Ovu
+.if \\n(.$=2 \\$2
+.if \\n(.$=2 .mk Ov
+.if \\n(.$=2 \\X'SetColor:\\*(Cc'\\c
+'sp |\\n(Ovu
+..
diff --git a/troff/troff.d/tmac.d/deltext.me b/troff/troff.d/tmac.d/deltext.me
new file mode 100644
index 0000000000000..d297fc629f574
--- /dev/null
+++ b/troff/troff.d/tmac.d/deltext.me
@@ -0,0 +1,53 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)deltext.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)deltext.me 2.1 8/18/80
+.de (d
+.am |d )d
+.sp \\n(bsu
+..
+.de )d
+.if \\n# \
+. nr $d +1
+.ds # [\\n($d]\k#
+.rr #
+..
+.de pd
+.|d
+.rm |d
+.nr $d 1 1
+.ds # [1]\k#
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/doc-common b/troff/troff.d/tmac.d/doc-common
new file mode 100644
index 0000000000000..a366f92af7d8e
--- /dev/null
+++ b/troff/troff.d/tmac.d/doc-common
@@ -0,0 +1,489 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.4BSD doc-common 8.1 (Berkeley) 6/8/93
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\" Portions Copyright (c) 2014 Carsten Kunze <carsten.kunze@arcor.de>
+.\"
+.\" Sccsid @(#)doc-common 1.2 (gritter) 11/16/05
+.\"
+.\" %beginstrip%
+.nr %A 1
+.nr %J 1
+.nr %N 1
+.nr %O 1
+.nr %R 1
+.nr %T 1
+.nr %V 1
+.nr Ad 12n
+.nr Ac 3
+.nr An 12n
+.nr Ao 12n
+.nr Ap 2
+.nr Aq 12n
+.nr Ar 12n
+.nr At 4
+.nr Bc 3
+.nr Bl 1
+.nr Bo 12n
+.nr Bq 12n
+.nr Brc 3
+.nr Bro 12n
+.nr Brq 12n
+.nr Bsx 4 \" groff: 1
+.nr Bx 4
+.nr Cd 12n
+.nr Cm 10n
+.nr Dc 3
+.nr Do 10n
+.nr Dq 12n
+.nr Ds 6n
+.nr Dq 12n
+.nr Dv 12n
+.nr Dx 4 \" groff: 1
+.nr Ec 3
+.nr El 1
+.nr Eo 12n
+.nr Eq 12n
+.nr Em 10n
+.nr Er 17n
+.nr Ev 15n
+.nr Fa 12n
+.nr Fl 10n
+.nr Fc 3
+.nr Fo 16n
+.nr Fn 16n
+.nr Ft 8n\" ? (groff)
+.nr Fx 4
+.nr I1 6n
+.nr I2 12n
+.nr I3 18n
+.nr Ic 10n
+.nr In 12n
+.nr Lb 11n
+.nr Li 16n
+.nr Lk 32n
+.nr Ms 6n
+.nr Mt 32n
+.nr Nm 10n
+.nr No 12n
+.nr Ns 2
+.nr Nx 4
+.nr Oo 10n
+.nr Oc 3
+.nr Op 14n
+.nr Ox 4
+.nr Pa 32n
+.nr Pf 12n
+.nr Pc 3
+.nr Po 12n
+.nr Pq 12n
+.nr Qc 3
+.nr Ql 16n
+.nr Qo 12n
+.nr Qq 12n
+.nr Sc 3
+.nr Sh 8n \" groff
+.nr Sm 8n
+.nr So 12n
+.nr Sq 12n
+.nr Ss 3 \" groff: 8n
+.nr St 8n \" groff
+.nr Sx 16n
+.nr Sy 6n
+.nr Rv 1
+.nr Tn 10n
+.nr Ta 2
+.nr Tv 1
+.nr Tx 22n
+.nr Ux 4
+.nr Va 12n
+.nr Vt 12n
+.nr Xc 3
+.nr Xo 1
+.nr Xr 10n
+.ds mdoc.cm.%A
+.ds mdoc.cm.%J
+.ds mdoc.cm.%N
+.ds mdoc.cm.%O
+.ds mdoc.cm.%R
+.ds mdoc.cm.%T
+.ds mdoc.cm.%V
+.ds mdoc.cm.Ad
+.ds mdoc.cm.Ac
+.ds mdoc.cm.An
+.ds mdoc.cm.Ao
+.ds mdoc.cm.Ap
+.ds mdoc.cm.Aq
+.ds mdoc.cm.Ar
+.ds mdoc.cm.At
+.ds mdoc.cm.Bc
+.ds mdoc.cm.Bl
+.ds mdoc.cm.Bo
+.ds mdoc.cm.Bq
+.ds mdoc.cm.Brc
+.ds mdoc.cm.Bro
+.ds mdoc.cm.Brq
+.ds mdoc.cm.Bsx
+.ds mdoc.cm.Bx
+.ds mdoc.cm.Cd
+.ds mdoc.cm.Cm
+.ds mdoc.cm.Dc
+.ds mdoc.cm.Do
+.ds mdoc.cm.Dq
+.ds mdoc.cm.Ds
+.ds mdoc.cm.Dq
+.ds mdoc.cm.Dv
+.ds mdoc.cm.Dx
+.ds mdoc.cm.Ec
+.ds mdoc.cm.El
+.ds mdoc.cm.Eo
+.ds mdoc.cm.Eq
+.ds mdoc.cm.Em
+.ds mdoc.cm.Er
+.ds mdoc.cm.Ev
+.ds mdoc.cm.Fa
+.ds mdoc.cm.Fl
+.ds mdoc.cm.Fc
+.ds mdoc.cm.Fo
+.ds mdoc.cm.Fn
+.ds mdoc.cm.Ft
+.ds mdoc.cm.Fx
+.ds mdoc.cm.I1
+.ds mdoc.cm.I2
+.ds mdoc.cm.I3
+.ds mdoc.cm.Ic
+.ds mdoc.cm.In
+.ds mdoc.cm.Lb
+.ds mdoc.cm.Li
+.ds mdoc.cm.Lk
+.ds mdoc.cm.Ms
+.ds mdoc.cm.Mt
+.ds mdoc.cm.Nm
+.ds mdoc.cm.No
+.ds mdoc.cm.Ns
+.ds mdoc.cm.Nx
+.ds mdoc.cm.Oo
+.ds mdoc.cm.Oc
+.ds mdoc.cm.Op
+.ds mdoc.cm.Ox
+.ds mdoc.cm.Pa
+.ds mdoc.cm.Pf
+.ds mdoc.cm.Pc
+.ds mdoc.cm.Po
+.ds mdoc.cm.Pq
+.ds mdoc.cm.Qc
+.ds mdoc.cm.Ql
+.ds mdoc.cm.Qo
+.ds mdoc.cm.Qq
+.ds mdoc.cm.Sc
+.ds mdoc.cm.Sh
+.ds mdoc.cm.Sm
+.ds mdoc.cm.So
+.ds mdoc.cm.Sq
+.ds mdoc.cm.Ss
+.ds mdoc.cm.St
+.ds mdoc.cm.Sx
+.ds mdoc.cm.Sy
+.ds mdoc.cm.Rv
+.ds mdoc.cm.Tn
+.ds mdoc.cm.Ta
+.ds mdoc.cm.Tv
+.ds mdoc.cm.Tx
+.ds mdoc.cm.Ux
+.ds mdoc.cm.Va
+.ds mdoc.cm.Vt
+.ds mdoc.cm.Xc
+.ds mdoc.cm.Xo
+.ds mdoc.cm.Xr
+.ds mdoc.ncm.It
+.ds sV \& \&
+.ds hV \&\ \&
+.ds iV \& \&
+.ds tV \&\\t\&
+.\" Punctuation values (3 = closing punctuation, 4 = opening)
+.ds z. 3
+.ds z! 3
+.ds z? 3
+.ds z, 3
+.ds z: 3
+.ds z; 3
+.ds z( 4
+.ds z) 3
+.ds z[ 4
+.ds z] 3
+.ds mdoc.d.0
+.ds mdoc.d.1
+.ds mdoc.d.2
+.ds mdoc.d.3
+.ds mdoc.d.4
+.ds mdoc.d.5
+.ds mdoc.d.6
+.ds mdoc.d.7
+.ds mdoc.d.8
+.ds mdoc.d.9
+.\" Header assembly macros
+.de Dt
+.ds dT UNTITLED
+.ds vT LOCAL
+.ds cH Null
+.if !\\$1 .ds dT \\$1
+.if !\\$2 \{\
+. ds cH \\$2
+. ie \B\\$2 .if \\$2>=1 .if \\$2<=9 \{\
+. lds _OS_ BSD \"
+. ie \\$2=1 .ds vT \\*[_OS_]General Commands Manual
+. el .ie \\$2=2 .ds vT \\*[_OS_]System Calls Manual
+. el .ie \\$2=3 .ds vT \\*[_OS_]Library Functions Manual
+. el .ie \\$2=4 .ds vT \\*[_OS_]Kernel Interfaces Manual
+. el .ie \\$2=5 .ds vT \\*[_OS_]File Formats Manual
+. el .ie \\$2=6 .ds vT \\*[_OS_]Games Manual
+. el .ie \\$2=7 .ds vT \\*[_OS_]Miscellaneous Information Manual
+. el .ie \\$2=8 .ds vT \\*[_OS_]System Manager's Manual
+. el .ds vT \\*[_OS_]Kernel Developer's Manual
+. nr sN \\$2
+. \}
+. el .ie \\$2unass .ds vT DRAFT
+. el .ie \\$2draft .ds vT DRAFT
+. if \\$2paper .ds vT UNTITLED
+.\}
+.if !\\$3 \{\
+. ie \\$3USD .ds vT User's Supplementary Documents
+. el .ie \\$3PS1 .ds vT Programmer's Supplementary Documents
+. el .ie \\$3AMD .ds vT Ancestral Manual Documents
+. el .ie \\$3SMM .ds vT System Manager's Manual
+. el .ie \\$3URM .ds vT Reference Manual
+. el .ie \\$3PRM .ds vT Programmer's Manual
+. el .ie \\$3IND .ds vT Manual Master Index
+. el .ie \\$3LOCAL .ds vT Local Manual
+. el .ie \\$3tahoe .as vT \ (Tahoe Architecture)
+. el .ie \\$3vax .as vT \ (VAX Architecture)
+. el .ie \\$3hp300 .as vT \ (HP300 Architecture)
+. el .ie \\$3sparc .as vT \ (SPARC Architecture)
+. el .if \\*(vTLOCAL .ds vT \\$3
+.\}
+..
+.\" NS Os macro - Operating System (behaviour changes after first call)
+.\" . ds vT \f(CIDRAFT\fP\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \f(CIDRAFT
+.\" . ds dD \f(CIDRAFT\fP\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \f(CIDRAFT
+.\" .ds vT \s+4\f(CIDRAFT\fP\s-4\ \ \-\-\ \ \\*(vT\ \ \-\-\ \ \s+4\f(CIDRAFT\s-4
+.\" .ds dD \s+4\f(CIDRAFT\fP\s-4\ \ \-\-\ \ \\*(dD\ \ \-\-\ \ \s+4\f(CIDRAFT\s-4
+.de Os
+.ie \\$1 \{\
+. ds oS BSD
+. if !\\$1 .as oS \0\\$2
+.\}
+.el .ie \\$1ATT \{\
+. ds oS AT&T
+. if \\$2 .as oS \0UNIX
+. if \\$27th .as oS \07th Edition
+. if \\$27 .as oS \07th Edition
+. if \\$2III .as oS \0System III
+. if \\$23 .as oS \0System III
+. if \\$2V .as oS \0System V
+. if \\$2V.2 .as oS \0System V Release 2
+. if \\$2V.3 .as oS \0System V Release 3
+. if \\$2V.4 .as oS \0System V Release 4
+.\}
+.el .ie \\$1BSD \{\
+. if \\$23 .ds oS 3rd Berkeley Distribution
+. if \\$24 .ds oS 4th Berkeley Distribution
+. if \\$24.1 .ds oS 4.1 Berkeley Distribution
+. if \\$24.2 .ds oS 4.2 Berkeley Distribution
+. if \\$24.3 .ds oS 4.3 Berkeley Distribution
+. if \\$24.3T .ds oS 4.3-Tahoe Berkeley Distribution
+. if \\$24.3R .ds oS 4.3-Reno Berkeley Distribution
+. if \\$24.3t .ds oS 4.3-Tahoe Berkeley Distribution
+. if \\$24.3r .ds oS 4.3-Reno Berkeley Distribution
+. if \\$24.4 .ds oS 4.4BSD
+.\}
+.el \{\
+. ds oS \\$1
+. if !\\$1 .as oS \0\\$2
+.\}
+.ds operating-system \\*(oS\" for groff_mdoc.7
+..
+.de Dd
+.if !\\*(dD .nr gX 1
+.ie \\n(.$>0 \{\
+. ie \\$1$Mdocdate: \
+. ds dD \\$2\\ \\$3, \\$4
+. el .ie \\n(.$==3 \{\
+. ds dD \\$1 \\$2 \\$3
+. \}
+. el \{\
+. if \\n(mo1 .ds dD January
+. if \\n(mo2 .ds dD February
+. if \\n(mo3 .ds dD March
+. if \\n(mo4 .ds dD April
+. if \\n(mo5 .ds dD May
+. if \\n(mo6 .ds dD June
+. if \\n(mo7 .ds dD July
+. if \\n(mo8 .ds dD August
+. if \\n(mo9 .ds dD September
+. if \\n(mo10 .ds dD October
+. if \\n(mo11 .ds dD November
+. if \\n(mo12 .ds dD December
+. as dD \&\ \\n(dy, \\n[year]
+. \}
+.\}
+.el \{\
+. ds dD Epoch
+.\}
+..
+.de hM
+.ev 1
+.pL
+.if !\\n(cR 'sp \\n(Hmu
+.ie \w\\*(Hs\\*(hT+2n*2+\w\\*(Hs\\*(hT>\\n[.lt] \
+. tl \\*(Hs\\*(hT\fP\\*(Vs\\*(vT\fP
+.el .tl \\*(Hs\\*(hT\fP\\*(Vs\\*(vT\fP\\*(Hs\\*(hT\fP
+'sp \\n(Hmu
+.ev
+..
+.de fM
+.ie \\n(cR 'br
+.el \{\
+. ev 1
+. pL
+. if !\\n(cR \{\
+' sp \\n(Fmu
+. tl \\*(Hs\\*(oS\fP\\*(Vs\\*(dD\fP\\*(Hs\\*(oS\fP
+' bp
+. \}
+. ev
+.\}
+..
+.de lM
+.if \\n(cR .pl +3v
+.fl
+.if \\n(cR \{\
+' sp
+. tl \\*(Hs\\*(oS\fP\\*(Vs\\*(dD\fP\\*(Hs\\*(oS\fP
+. pl \\n(nlu
+.\}
+..
+.de Pp
+.sp \\n(Ppu
+.if !\\n(cR .ne 2
+.ns
+..
+.de Lp
+.Pp
+..
+.de LP
+.tm Not a \-mdoc command: .LP
+..
+.de PP
+.tm Not a \-mdoc command: .PP
+..
+.de pp
+.tm Not a \-mdoc command: .pp
+..
+.de Nd
+\&\(em\& \\$*
+..
+.de Ss
+. if !\\n(aC \{\
+. ds Ss.A
+. sp
+. if !\\n(cR .ne 2
+. ie n .ti -2
+. el .ti -.25i
+. ds mN Ss
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. as b1 \&\\*(sH
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. if \\n(aP>1 \{\
+. as b1 " \|
+. as Ss.A " \|
+. \}
+. ie \\n[C\\n(aP]=1 .\\*[A\\n(aP]
+. el \{\
+. as b1 \\*[A\\n(aP]
+. as Ss.A \\*[A\\n(aP]
+. \}
+. \}
+. ie \\n(aC>\\n(aP .Ss
+. el \{\
+. as b1 \&\fR\s10
+. ie \\n[Toc] \{\
+\XPDFMark: BookmarkClosed 1 \\*[Ss.A]\A\\*[Ss.A]\\*(b1
+. ie \\*(.Thtml \{\
+. tm Toc:.ta 3n
+. tm Toc:\t\T\\*[Ss.A]\\*[Ss.A]\T
+. \}
+. el \{\
+. lnr Tab \\n(.l-\\n(.i
+. tm Toc:.ta 3n \\n[Tab]uR
+. tm Toc:\t\T\\*[Ss.A]\\*[Ss.A]\T\a\\n%
+. \}
+. \}
+. el \\*(b1
+. ds b1
+. aY
+. ta T .5i
+. if !\\n(cR .ne 2
+. br
+. \}
+..
+.\" For displaying groff_mdoc.7:
+.ds volume-operating-system BSD
+.ds volume-ds-1 General Commands Manual
+.ds volume-ds-2 System Calls Manual
+.ds volume-ds-3 Library Functions Manual
+.ds volume-ds-4 Kernel Interfaces Manual
+.ds volume-ds-5 File Formats Manual
+.ds volume-ds-6 Games Manual
+.ds volume-ds-7 Miscellaneous Information Manual
+.ds volume-ds-8 System Manager's Manual
+.ds volume-ds-9 Kernel Developer's Manual
+.ds volume-ds-USD User's Supplementary Documents
+.ds volume-ds-PS1 Programmer's Supplementary Documents
+.ds volume-ds-AMD Ancestral Manual Documents
+.ds volume-ds-SMM System Manager's Manual
+.ds volume-ds-URM User's Reference Manual
+.ds volume-ds-PRM Programmer's Manual
+.ds volume-ds-KM Kernel Manual
+.ds volume-ds-IND Manual Master Index
+.ds volume-ds-LOCAL Local Manual
+.ds volume-ds-CON Contributed Software Manual
+.ds volume-as-i386 i386
+.\" vim:set syntax=nroff:
diff --git a/troff/troff.d/tmac.d/doc-ditroff.in b/troff/troff.d/tmac.d/doc-ditroff.in
new file mode 100644
index 0000000000000..ec466012a6057
--- /dev/null
+++ b/troff/troff.d/tmac.d/doc-ditroff.in
@@ -0,0 +1,192 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.4BSD doc-ditroff 8.1 (Berkeley) 6/8/93
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)doc-ditroff 1.2 (gritter) 11/16/05
+.\"
+.\" tmac.mdoc-ditroff
+.\" %beginstrip%
+.\"
+.so @MACDIR@/tmac.gchar
+.ds aD \fI\s10
+.ds aR \f(CI\s10
+.ds cM \f(CB\s10
+.ds dF \fR\s10
+.ds eM \fI\s10
+.ds eR \f(CW\s10
+.ds eV \f(CW\s10
+.ds fA \f(CI\s10
+.ds fD \f(CB\s10
+.ds fL \f(CB\s10
+.ds fN \f(CB\s10
+.ds fP \fP\s0
+.ds fS \s0
+.ds fT \f(CI\s10
+.ds Hs \fR\s10
+.ds iC \f(CB\s10
+.ds lI \f(CW
+.ds lP \fR\|(\|\fP\s10
+.ds lp \fR(\fP\s10
+.ds rP \fR\|)\|\fP\s10
+.ds rp \fR)\fP\s10
+.ds lB \fR\^[\^\fP\s10
+.ds rB \fR\^]\fP\s10
+.ds mL \fB\s10
+.ds nM \f(CB\s10
+.ds nO \fR\s10
+.ds nT \s0
+.ds pA \f(CW\s10
+.ds Pu \fR{\ .\ ,\ :\ ;\ (\ )\ [\ ]\ \fR}
+.ds rA \fR\s10
+.ds rT \f(CI\s10
+.ds sH \fB\s10
+.ds sP \s0
+.ds sY \fB\s10
+.ds sX \fB\s10
+.ds tF \fR
+.ds tN \s9
+.ds vA \fI\s10
+.ds Vs \fR\s10
+.ds vT \f(CB\s10
+.ds xR \f(CW\s10
+.tr *\(**
+.nr sI \w\f(CW,u*5
+.nr Ti \n(sIu
+.if \*(.Thtml \{\
+. nr cR 1
+. nh
+. rm hy
+. \" pseudo-transition to first page (else "x font" is not output):
+. br
+.\}
+.nr Pp .5v
+.ds lS \0
+.nr lS \w'\0'u
+.nr __dI 6n
+.de pL
+.nr Hm .5i
+.nr Fm .5i
+.nr ll 6.5i
+.ll 6.5i
+.nr lt 6.5i
+.lt 6.5i
+.nr po 1i
+.po 1.i
+.nr dV .5v
+..
+.nr gX 0
+.de hK
+. ds hT \\*(dT
+. ie \\*(cHNull \{\
+. if !\\*(gPNull .as hT \&\|(\|\\*(gP\|)
+. \}
+. el \{\
+. ie !\\*(gPNull .as hT \|(\|\\*(cH\\*(gP\|)
+. el .as hT \\|(\\|\\*(cH\\|)
+. \}
+. ie \\n(cR \{\
+. hM
+. \}
+. el \{\
+. wh 0 hM
+. wh -1.25i fM
+. \}
+. \" .tm Here is gX == \\n(gX
+. ie \\n(gX==1 \{\
+. rm n1
+. if !\\n(cR .bp
+. \}
+. el \{\
+. if !\\n(cR 'bp
+. \}
+. nr % 1
+. nr gX 0
+. em lM
+. if !\\*[Toc] \{\
+. nr Toc 1
+. Sh CONTENTS
+. nr Toc +1
+. nf
+. so \\*[Toc]
+. fi
+. nr Sh.a 1
+. ad
+. \}
+..
+.\" NS Ql macro - Quoted literal define
+.de Ql
+. if \\n(aC==0 \{\
+. ds mN Ql
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+. nr aP \\n(aP+1
+. lnr _l_ 0
+. length _l_ "\\*[A\\n(aP]
+. nr aP \\n(aP-1
+. ie \\n[_l_]>2 .Li
+. el \{\
+. \" Db on
+. if (\\n(aP>0) \{\
+. ds A\\n(aP Li
+. nr aP \\n(aP -1
+. \}
+. if (\\n(aP==0) \{\
+. rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
+. rm S1 S2 S3 S4 S5 S6 S7 S8 S9
+. rn A8 A9
+. rn A7 A8
+. rn A6 A7
+. rn A5 A6
+. rn A4 A5
+. rn A3 A4
+. rn A2 A3
+. rn A1 A2
+. ds A1 Li
+. nr fV \\n(aC+1
+. nr aC 0
+. fV
+. \}
+. ds qL \&\\*(sL
+. ds qR \&\\*(sR
+. En
+. \" Db off
+. \}
+..
+.\" vim:set syntax=nroff:
diff --git a/troff/troff.d/tmac.d/doc-nroff b/troff/troff.d/tmac.d/doc-nroff
new file mode 100644
index 0000000000000..96bf7e9d859e7
--- /dev/null
+++ b/troff/troff.d/tmac.d/doc-nroff
@@ -0,0 +1,150 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)doc-nroff 8.1 (Berkeley) 6/8/93
+.\"
+.\" tmac.mdoc-nroff
+.\" %beginstrip%
+.\"
+.nh
+.rm ne
+.rm hy
+.ad l
+.rm ad
+.utf8conv -
+.char ' \N'39'
+.char ` \N'96'
+.sentchar .?!
+.ds aD \fI
+.ds aR \fI
+.ds cM \fB
+.ds dF \fR
+.ds eM \fI
+.ds eR \fR
+.ds eV \fR
+.ds fA \fI
+.ds fD \fB
+.ds fL \fB
+.ds fN \fB
+.ds fP \fP
+.ds fS
+.ds fT \fI
+.ds Hs \fR
+.ds iC \fB
+.ds lI \fR
+.ds lP \fR\|(\fP
+.ds rP \fR\|)\fP
+.ds lp \fR\|(\fP
+.ds rp \fR\|)\fP
+.ds lB \fR\|[\|\fP
+.ds rB \fR\|]\fP
+.ds mL \fB
+.ds nM \fB
+.ds nO \fR
+.ds pA \fI
+.ds Pu {\ .\ ,\ ;\ :\ (\ )\ [\ ]}
+.ds rA \fR
+.ds rT \fI
+.ds sH \fB
+.ds sP
+.ds sY \fB
+.ds sX \fI
+.ds tF \fR
+.ds tN
+.ds vA \fI
+.ds Vs \fR
+.ds vT \fB
+.ds xR \fR
+.\" MISCELLANEOUS
+.nr sI .5i
+.nr Ti .5i
+.nr cR 1
+.nr Pp 1v
+.ds lS \0\0
+.nr lS \w'\0\0'u
+.nr __dI 6n
+.\"
+.de pL
+.ie \\n(cR .nr Hm 0
+.el .nr Hm .5i
+.nr Fm .5i
+.nr ll 78n
+.ll 78n
+.nr lt 78n
+.lt 78n
+.nr po 0i
+.po 0i
+.nr dV 1v
+.ad l
+.na
+..
+.de hK
+. nr % 1
+. ds hT \\*(dT
+. ie \\*(cHNull \{\
+. if !\\*(gPNull .as hT \&\|(\|\\*(gP\|)
+. \}
+. el \{\
+. ie !\\*(gPNull .as hT \|(\|\\*(cH\\*(gP\|)
+. el .as hT \\|(\\|\\*(cH\\|)
+. \}
+. ie \\n(cR \{\
+. hM
+. \}
+. el \{\
+. wh 0 hM
+. wh -1.167i fM
+. \}
+. if (\\n(cR=0)&((\\n(nl=0):(\\n(nl=-1)) 'bp
+. em lM
+..
+.\" NS Ql macro - Quoted literal define
+.de Ql
+. if \\n(aC==0 \{\
+. ie !\\n(.$ .tm Ql without argument in \\n(.F line \\n(.c
+. el \{\
+. ds mN Ql
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC \{\
+. ds qL \&\\*(sL
+. ds qR \&\\*(sR
+. En
+. \}
+..
+.\" vim:set syntax=groff:
diff --git a/troff/troff.d/tmac.d/doc-syms b/troff/troff.d/tmac.d/doc-syms
new file mode 100644
index 0000000000000..eaab0a1636965
--- /dev/null
+++ b/troff/troff.d/tmac.d/doc-syms
@@ -0,0 +1,492 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)doc-syms 8.1 (Berkeley) 6/8/93
+.\"
+.\" Portions Copyright (c) 2014 Carsten Kunze <carsten.kunze@arcor.de>
+.\"
+.\" %beginstrip%
+.\" NS Ux macro - UNIX
+.de Ux
+.nr cF \\n(.f
+.nr cZ \\n(.s
+.ds __aa \&\f\\n(cF\s\\n(cZ
+.as b1 \&\\*(tNUNIX\\*[__aa]
+.rm __aa
+.if \\n(aC==0 \{\
+. if \\n(.$>0 \{\
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ie \\n(aC>\\n(aP \{\
+. if \\n(aP .as b1 \\*[S\\n(aP]
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. \\*[A\\n(aP]
+. \}
+. el .nR
+.\}
+.el .aZ
+..
+.\" NS Bx macro -BSD (fix smaller nroff version)
+.de Bx
+.nr cF \\n(.f
+.nr cZ \\n(.s
+.ds __aa \&\f\\n(cF\s\\n(cZ
+.if \\n(aC=0&\\n(.$ .if \\$1-devel \{\
+. as __aa \& (currently under development)
+. shift
+.\}
+.if \\n(aC=0&\\n(.$ \{\
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+.\}
+.\".if \\$1-alpha \{\
+.\". as b1 \&currently in alpha test.
+.\". aZ
+.\".\}
+.\".if \\$1-beta \{\
+.\". as b1 \&currently in beta test.
+.\". aZ
+.\".\}
+.\".if \\$1-devel \{\
+.\". as b1 \&currently under development.
+.\". aZ
+.\".\}
+.ie \\n(aC=\\n(aP \{\
+. as b1 \&\\*(tNBSD\\*[__aa]
+. aZ
+.\}
+.el \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==2 \{\
+. as b1 \&\\*[A\\n(aP]\&\\*(tNBSD\\*[__aa]
+. ie \\n(aC>\\n(aP \{\
+. nr jj \\n(aP+1
+. ie \\n[C\\n(jj]==2 \{\
+. ie \\*[A\\n(jj]Reno \{\
+. nr aP \\n(aP+1
+. as b1 \&\-\\*[A\\n(jj]
+. \}
+. el .ie \\*[A\\n(jj]reno \{\
+. nr aP \\n(aP+1
+. as b1 \&\-Reno
+. \}
+. el .ie \\*[A\\n(jj]Tahoe \{\
+. nr aP \\n(aP+1
+. as b1 \&\-\\*[A\\n(jj]
+. \}
+. el .ie \\*[A\\n(jj]tahoe \{\
+. nr aP \\n(aP+1
+. as b1 \&\-Tahoe
+. \}
+. el .if !\\*[A\\n(jj] .as b1 \&\-
+. ie \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nR
+. \}
+. el .aZ
+. \}
+. el \{\
+. nr aP \\n(aP+1
+. nR
+. \}
+. rr jj
+. \}
+. el .aZ
+. \}
+. el \{\
+. as b1 \&\\*(tNBSD\\*[__aa]
+. nR
+. \}
+.\}
+..
+.\" Ns Ud macro - prints "currently under development" (HISTORY section)
+.de Ud
+\&currently under development.
+..
+.ds At.32v \&Version\~32V \\*(tNAT&T UNIX
+.ds At.v1 \&Version\~1 \\*(tNAT&T UNIX
+.ds At.v2 \&Version\~2 \\*(tNAT&T UNIX
+.ds At.v3 \&Version\~3 \\*(tNAT&T UNIX
+.ds At.v4 \&Version\~4 \\*(tNAT&T UNIX
+.ds At.v5 \&Version\~5 \\*(tNAT&T UNIX
+.ds At.v6 \&Version\~6 \\*(tNAT&T UNIX
+.ds At.v7 \&Version\~7 \\*(tNAT&T UNIX
+.ds At.III \&\\*(tNAT&T\\*[__aa] System\~III \\*(tNUNIX
+.ds At.V \&\\*(tNAT&T\\*[__aa] System\~V \\*(tNUNIX
+.ds At.V.1 \&\\*(tNAT&T\\*[__aa] System\~V Release\~1 \\*(tNUNIX
+.ds At.V.2 \&\\*(tNAT&T\\*[__aa] System\~V Release\~2 \\*(tNUNIX
+.ds At.V.3 \&\\*(tNAT&T\\*[__aa] System\~V Release\~3 \\*(tNUNIX
+.ds At.V.4 \&\\*(tNAT&T\\*[__aa] System\~V Release\~4 \\*(tNUNIX
+.de __OSx
+. ie \\n(aP=\\n(aC .aZ
+. el \{\
+. lnr i \\n(aP
+. nr aP +1
+. ie !\\ni .if \\n[C\\n(aP]=2 .as b1 \\*(sV
+. el .as b1 \\*[S\\ni]
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+. \}
+..
+.\" Ns At macro - AT&T UNIX
+.de At
+. lds OsName \&\\*(tNAT&T UNIX\&\f\\n(cF\s\\n(cZ
+. if !\\n(aC \{\
+. ie !\\n(.$ \{\
+. as b1 \\*[OsName]
+. aZ
+. \}
+. el \{\
+. ds mN Fx
+. lnr i 0 1
+. nr fV \\n(.$
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC \{\
+. ie \\n(aP=\\n(aC .as b1 \\*[OsName]
+. el \{\
+. nr aP +1
+. ie !\\n[C\\n(aP]=2 \{\
+. nr aP -1
+. as b1 \\*[OsName]
+. \}
+. el \{\
+. ie d At.\\*[A\\n(aP] \
+. as b1 \\*[At.\\*[A\\n(aP]]
+. el .tm Unknown AT&T UNIX version "\\*[A\\n(aP]" (#\\n(.c)
+. \}
+. \}
+. __OSx
+. \}
+..
+.ds Fx.OsName FreeBSD
+.ds Nx.OsName NetBSD
+.ds Ox.OsName OpenBSD
+.ds Dx.OsName DragonFly
+.ds Bsx.OsName BSD/OS
+.de _BSDx
+. lds OsName \\*[\\$0.OsName]
+. if !\\n(aC \{\
+. ie !\\n(.$ \\*[OsName]
+. el \{\
+. ds mN Ox
+. lnr i 0 1
+. nr fV \\n(.$
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC \{\
+. as b1 \\*[OsName]
+. __OSx
+. \}
+..
+.als Fx _BSDx
+.als Nx _BSDx
+.als Ox _BSDx
+.als Dx _BSDx
+.als Bsx _BSDx
+.\" The Bt macro should go away now
+.\" Ns Bt macro - prints "is currently in beta test." (HISTORY section)
+.de Bt
+\&is currently in beta test.
+..
+.\" NS St macro - standards (posix, ansi - formal standard names)
+.ds Px \\*(tNPOSIX
+.ds Ai \\*(tNANSI
+.ds St-p1003.1 \&\\*(tNIEEE Std\\*[__aa] 1003.1\\*(sV
+.as St-p1003.1 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1b \&\\*(tNIEEE Std\\*[__aa] 1003.1b\\*(sV
+.as St-p1003.1b (\\*(Lq\\*(tN\\*(Px\\*[__aa].1b\\*(Rq)
+.ds St-p1003.1-88 \&\\*(tNIEEE Std\\*[__aa] 1003.1-1988\\*(sV
+.as St-p1003.1-88 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-90 \&\\*(tNISO/IEC\\*[__aa] 9945-1:1990\\*(sV
+.as St-p1003.1-90 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.als St-iso9945-1-90 St-p1003.1-90
+.ds St-p1003.1b-93 \&\\*(tNIEEE Std\\*[__aa] 1003.1b-1993\\*(sV
+.as St-p1003.1b-93 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1c-95 \&\\*(tNIEEE Std\\*[__aa] 1003.1c-1995\\*(sV
+.as St-p1003.1c-95 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1i-95 \&\\*(tNIEEE Std\\*[__aa] 1003.1i-1995\\*(sV
+.as St-p1003.1i-95 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-96 \&\\*(tNISO/IEC\\*[__aa] 9945-1:1996\\*(sV
+.as St-p1003.1-96 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.als St-iso9945-1-96 St-p1003.1-96
+.ds St-p1003.1d-99 \&\\*(tNIEEE Std\\*[__aa] 1003.1d-1999\\*(sV
+.as St-p1003.1d-99 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1g-2000 \&\\*(tNIEEE Std\\*[__aa] 1003.1g-2000\\*(sV
+.as St-p1003.1g-2000 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-2001 \&\\*(tNIEEE Std\\*[__aa] 1003.1-2001\\*(sV
+.as St-p1003.1-2001 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-2004 \&\\*(tNIEEE Std\\*[__aa] 1003.1-2004\\*(sV
+.as St-p1003.1-2004 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-2008 \&\\*(tNIEEE Std\\*[__aa] 1003.1-2008\\*(sV
+.as St-p1003.1-2008 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.1-2013 \&\\*(tNIEEE Std\\*[__aa] 1003.1-2008/Cor 1-2013\\*(sV
+.as St-p1003.1-2013 (\\*(Lq\\*(tN\\*(Px\\*[__aa].1\\*(Rq)
+.ds St-p1003.2 \&\\*(tNIEEE Std\\*[__aa] 1003.2\\*(sV
+.as St-p1003.2 (\\*(Lq\\*(tN\\*(Px.2\\*[__aa]\\*(Rq)
+.ds St-p1003.2-92 \&\\*(tNIEEE Std\\*[__aa] 1003.2-1992\\*(sV
+.as St-p1003.2-92 (\\*(Lq\\*(tN\\*(Px.2\\*[__aa]\\*(Rq)
+.ds St-p1003.2a-92 \&\\*(tNIEEE Std\\*[__aa] 1003.2a-1992\\*(sV
+.as St-p1003.2a-92 (\\*(Lq\\*(tN\\*(Px.2\\*[__aa]\\*(Rq)
+.ds St-iso9945-2-93 \&\\*(tNISO/IEC\\*[__aa] 9945-2:1993\\*(sV
+.as St-iso9945-2-93 (\\*(Lq\\*(tN\\*(Px.2\\*[__aa]\\*(Rq)
+.ds St-ansiC \&\\*(tNANSI\\*[__aa] X3.159-1989\\*(sV
+.as St-ansiC (\\*(Lq\\*(tNANSI\~C\^89\\*[__aa]\\*(Rq)
+.ds St-ansiC-89 \&\\*(tNANSI\\*[__aa] X3.159-1989\\*(sV
+.as St-ansiC-89 (\\*(Lq\\*(tNANSI\~C\^89\\*[__aa]\\*(Rq)
+.ds St-ansiC-99 \&\\*(tNANSI/ISO/IEC\\*[__aa] 9899-1999\\*(sV
+.as St-ansiC-99 (\\*(Lq\\*(tNANSI\~C\^99\\*[__aa]\\*(Rq)
+.ds St-isoC \&\\*(tNISO/IEC\\*[__aa] 9899:1990\\*(sV
+.as St-isoC (\\*(Lq\\*(tNISO\~C\^90\\*[__aa]\\*(Rq)
+.als St-isoC-90 St-isoC
+.ds St-isoC-2011 \&\\*(tNISO/IEC\\*[__aa] 9899:2011\\*(sV
+.as St-isoC-2011 (\\*(Lq\\*(tNISO\~C\^11\\*[__aa]\\*(Rq)
+.ds St-isoC-99 \&\\*(tNISO/IEC\\*[__aa] 9899:1999\\*(sV
+.as St-isoC-99 (\\*(Lq\\*(tNISO\~C\^99\\*[__aa]\\*(Rq)
+.ds St-isoC-amd1 \&\\*(tNISO/IEC\\*[__aa] 9899/AMD1:1995\\*(sV
+.as St-isoC-amd1 (\\*(Lq\\*(tNISO\~C\^90, Amendment 1\\*[__aa]\\*(Rq)
+.ds St-isoC-tcor1 \&\\*(tNISO/IEC\\*[__aa] 9899/TCOR1:1994\\*(sV
+.as St-isoC-tcor1 (\\*(Lq\\*(tNISO\~C\^90\\*[__aa], Technical Corrigendum 1
+.as St-isoC-tcor1 \\*(Rq)
+.ds St-isoC-tcor2 \&\\*(tNISO/IEC\\*[__aa] 9899/TCOR2:1995\\*(sV
+.as St-isoC-tcor2 (\\*(Lq\\*(tNISO\~C\^90\\*[__aa], Technical Corrigendum 2
+.as St-isoC-tcor2 \\*(Rq)
+.ds St-iso8601 \&\\*(tNISO\\*[__aa] 8601\\*(sV
+.ds St-iso8802-3 \&\\*(tNISO/IEC\\*[__aa] 8802-3:1989\\*(sV
+.ds St-ieee754 \&\\*(tNIEEE Std\\*[__aa] 754-1985\\*(sV
+.ds St-xcu5 \&\\*(tNX/Open Commands and Utilities Issue 5\\*[__aa]\\*(sV
+.as St-xcu5 (\\*(Lq\\*(tNXCU5\\*[__aa]\\*(Rq)
+.ds St-xsh4.2 \&\\*(tNX/Open System Interfaces and Headers Issue\\~4, Version
+.as St-xsh4.2 \\~2\\*[__aa]\\*(sV
+.as St-xsh4.2 (\\*(Lq\\*(tNXSH4.2\\*[__aa]\\*(Rq)
+.ds St-xcurses4.2 \&\\*(tNX/Open Curses Issue\~4, Version\~2\\*(sV
+.as St-xcurses4.2 (\\*(Lq\\*(tNXCURSES\\*[__aa]\^4.2\\*(Rq)
+.ds St-xns5 \&\\*(tNX/Open\\*[__aa] Networking Services Issue\~5\\*(sV
+.as St-xns5 (\*(Lq\\*(tNXNS\\*[__aa]\^5\*(Rq)
+.ds St-xns5.2 \&\\*(tNX/Open\\*[__aa] Networking Services Issue\~5.2\\*(sV
+.as St-xns5.2 (\*(Lq\\*(tNXNS\\*[__aa]\^5.2\*(Rq)
+.ds St-xpg3 \&\\*(tNX/Open Portability Guide Issue 3\\*[__aa]\\*(sV
+.as St-xpg3 (\\*(Lq\\*(tNXPG3\\*[__aa]\\*(Rq)
+.ds St-xpg4 \&\\*(tNX/Open Portability Guide Issue 4\\*[__aa]\\*(sV
+.as St-xpg4 (\\*(Lq\\*(tNXPG4\\*[__aa]\\*(Rq)
+.ds St-xpg4.2 \&\\*(tNX/Open Portability Guide Issue 4, Version 2\\*[__aa]
+.as St-xpg4.2 \\*(sV
+.as St-xpg4.2 (\\*(Lq\\*(tNXPG4.2\\*[__aa]\\*(Rq)
+.ds St-xpg4.3 \&\\*(tNX/Open Portability Guide Issue 4, Version 3\\*[__aa]
+.as St-xpg4.3 \\*(sV
+.as St-xpg4.3 (\\*(Lq\\*(tNXPG4.3\\*[__aa]\\*(Rq)
+.ds St-xsh5 \&\\*(tNX/Open System Interfaces and Headers Issue\~5\\*(sV
+.as St-xsh5 (\\*(Lq\\*(tNXSH\\*[__aa]5\\*(Rq)
+.ds St-susv1 \&\\*(tNVersion 1 of the Single UNIX Specification\\*[__aa]\\*(sV
+.as St-susv1 (\\*(Lq\\*(tNSUSv1\\*[__aa]\\*(Rq)
+.ds St-susv2 \&\\*(tNVersion 2 of the Single UNIX Specification\\*[__aa]\\*(sV
+.as St-susv2 (\\*(Lq\\*(tNSUSv2\\*[__aa]\\*(Rq)
+.ds St-susv3 \&\\*(tNVersion 3 of the Single UNIX Specification\\*[__aa]\\*(sV
+.as St-susv3 (\\*(Lq\\*(tNSUSv3\\*[__aa]\\*(Rq)
+.ds St-susv4 \&\\*(tNVersion 4 of the Single UNIX Specification\\*[__aa]\\*(sV
+.as St-susv4 (\\*(Lq\\*(tNSUSv4\\*[__aa]\\*(Rq)
+.ds St-svid4 \&\\*(tNSystem V Interface Definition, Fourth Edition\\*[__aa]
+.as St-svid4 \\*(sV
+.as St-svid4 (\\*(Lq\\*(tNSVID4\\*[__aa]\\*(Rq)
+.ds St-xbd5 \&\\*(tNX/Open\\*[__aa] Base Definitions Issue\~5\\*(sV
+.as St-xbd5 (\\*(Lq\\*(tNXBD\\*[__aa]\^5\\*(Rq)
+.ds St-ieee1275-94 \&\\*(tN\%IEEE\\*[__aa] Std 1275-1994\\*(sV
+.as St-ieee1275-94 (\\*(Lq\\*(tNOpen Firmware\\*[__aa]\\*(Rq)
+.de St
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+.tm Usage: .St [-p1003.1-88 | -p1003.2 | -ansiC-89 | -iso ] \\*(Pu ... (#\\n(.c)
+. \}
+. el \{\
+. ds mN St
+. nr aP 0
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ds __aa \&\f\\n(cF\s\\n(cZ
+. nr aP \\n(aP+1
+. ie d St\\*[A\\n(aP] .as b1 \\*[St\\*[A\\n(aP]]
+. el .tm .St: Unknown standard "\\*[A\\n(aP]" (#\\n(.c)
+. ie \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nR
+. \}
+. el .aZ
+.\}
+..
+.ds Lb.libarchive Reading and Writing Streaming Archives Library (libarchive,\
+ \-larchive)
+.ds Lb.libarm ARM Architecture Library (libarm, \-larm)
+.ds Lb.libarm32 ARM32 Architecture Library (libarm32, \-larm32)
+.\" libblacklist (NetBSD)
+.ds Lb.libbluetooth Bluetooth Library (libbluetooth, \-lbluetooth)
+.ds Lb.libbsm Basic Security Module Library (libbsm, \-lbsm)
+.ds Lb.libc Standard C Library (libc, \-lc)
+.ds Lb.libc_r Reentrant C\~Library (libc_r, \-lc_r)
+.ds Lb.libcalendar Calendar Arithmetic Library (libcalendar, \-lcalendar)
+.ds Lb.libcam Common Access Method User Library (libcam, \-lcam)
+.ds Lb.libcdk Curses Development Kit Library (libcdk, \-lcdk)
+.ds Lb.libcipher FreeSec Crypt Library (libcipher, \-lcipher)
+.ds Lb.libcapsicum Capsicum Library (libcapsicum, \-lcapsicum)
+.ds Lb.libcompat Compatibility Library (libcompat, \-lcompat)
+.ds Lb.libcrypt Crypt Library (libcrypt, \-lcrypt)
+.ds Lb.libcurses Curses Library (libcurses, \-lcurses)
+.ds Lb.libcuse Userland Character Device Library (libcuse, \-lcuse)
+.ds Lb.libdevctl Device Control Library (libdevctl, \-ldevctl)
+.ds Lb.libdevinfo Device and Resource Information Utility Library (libdevinfo,\
+ \-ldevinfo)
+.ds Lb.libdevstat Device Statistics Library (libdevstat, \-ldevstat)
+.\" libdpv
+.ds Lb.libdisk Interface to Slice and Partition Labels Library (libdisk, \-ldisk)
+.ds Lb.libdwarf DWARF Access Library (libdwarf, \-ldwarf)
+.ds Lb.libedit Command Line Editor Library (libedit, \-ledit)
+.ds Lb.libelf ELF Access Library (libelf, \-lelf)
+.ds Lb.libevent Event Notification Library (libevent, \-levent)
+.ds Lb.libexecinfo Backtrace Information Library (libexecinfo, \-lexecinfo)
+.ds Lb.libfetch File Transfer Library for URLs (libfetch, \-lfetch)
+.\" libfigpar
+.ds Lb.libform Curses Form Library (libform, \-lform)
+.ds Lb.libgeom Userland API Library for kernel GEOM subsystem (libgeom, \-lgeom)
+.ds Lb.libgpib General-Purpose Instrument Bus (GPIB) library (libgpib, \-lgpib)
+.ds Lb.libgpio General-Purpose Input Output (GPIO) library (libgpio, \-lgpio)
+.ds Lb.libi386 i386 Architecture Library (libi386, \-li386)
+.ds Lb.libintl Internationalized Message Handling Library (libintl, \-lintl)
+.ds Lb.libipsec IPsec Policy Control Library (libipsec, \-lipsec)
+.ds Lb.libipx IPX Address Conversion Support Library (libipx, \-lipx)
+.ds Lb.libiscsi iSCSI protocol library (libiscsi, \-liscsi)
+.ds Lb.libjail Jail Library (libjail, \-ljail)
+.ds Lb.libkiconv Kernel side iconv library (libkiconv, \-lkiconv)
+.ds Lb.libkse N:M Threading Library (libkse, \-lkse)
+.ds Lb.libkvm Kernel Data Access Library (libkvm, \-lkvm)
+.ds Lb.libm Math Library (libm, \-lm)
+.ds Lb.libm68k m68k Architecture Library (libm68k, \-lm68k)
+.ds Lb.libmagic Magic Number Recognition Library (libmagic, \-lmagic)
+.ds Lb.libmd Message Digest (MD4, MD5, etc.) Support Library (libmd, \-lmd)
+.ds Lb.libmemstat Kernel Memory Allocator Statistics Library (libmemstat,\
+ \-lmemstat)
+.ds Lb.libmenu Curses Menu Library (libmenu, \-lmenu)
+.\" libmt (?)
+.ds Lb.libnetgraph Netgraph User Library (libnetgraph, \-lnetgraph)
+.ds Lb.libnetpgp Netpgp signing, verification, encryption and decryption (libnetpgp, \-lnetpgp)
+.ds Lb.libossaudio OSS Audio Emulation Library (libossaudio, \-lossaudio)
+.ds Lb.libnv Name/value pairs library (libnv, \-lnv)
+.ds Lb.libpam Pluggable Authentication Module Library (libpam, \-lpam)
+.ds Lb.libpcap Packet Capture Library (libpcap, \-lpcap)
+.ds Lb.libpci PCI Bus Access Library (libpci, \-lpci)
+.ds Lb.libposix \\*(Px\\*[__aa] Compatibility Library (libposix, \-lposix)
+.ds Lb.libpmc Performance Counters Library (libpmc, \-lpmc)
+.ds Lb.libppath Property-List Paths Library (libppath, \-lppath)
+.ds Lb.libprocstat Process and Files Information Retrieval (libprocstat,\
+ \-lprocstat)
+.ds Lb.libprop Property Container Object Library (libprop, \-lprop)
+.ds Lb.libpthread \\*(Px\\*[__aa] Threads Library (libpthread, \-lpthread)
+.ds Lb.libpuffs puffs Convenience Library (libpuffs, \-lpuffs)
+.ds Lb.librefuse File System in Userspace Convenience Library (librefuse, \-lrefuse)
+.ds Lb.libresolv DNS Resolver Library (libresolv, \-lresolv)
+.ds Lb.librpcsec_gss RPC GSS-API Authentication Library (librpcsec_gss,\
+ \-lrpcsec_gss)
+.ds Lb.librpcsvc RPC Service Library (librpcsvc, \-lrpcsvc)
+.ds Lb.librt \\*(Px\\*[__aa] Real-time Library (librt, \-lrt)
+.ds Lb.librtld_db Run-time Linker Debugging Library (librtld_db, \-lrtld_db)
+.ds Lb.libsdp Bluetooth Service Discovery Protocol User Library (libsdp, \-lsdp)
+.ds Lb.libssp Buffer Overflow Protection Library (libssp, \-lssp)
+.ds Lb.libSystem System Library (libSystem, \-lSystem)
+.ds Lb.libtermcap Termcap Access Library (libtermcap, \-ltermcap)
+.ds Lb.libstdthreads C11 Threads Library (libstdthreads, \-lstdthreads)
+.ds Lb.libterminfo Terminal Information Library (libterminfo, \-lterminfo)
+.ds Lb.libthr 1:1 Threading Library (libthr, \-lthr)
+.ds Lb.libufs UFS File System Access Library (libufs, \-lufs)
+.ds Lb.libugidfw File System Firewall Interface Library (libugidfw, \-lugidfw)
+.ds Lb.libulog User Login Record Library (libulog, \-lulog)
+.ds Lb.libusbhid USB Human Interface Devices Library (libusbhid, \-lusbhid)
+.ds Lb.libutil System Utilities Library (libutil, \-lutil)
+.ds Lb.libvgl Video Graphics Library (libvgl, \-lvgl)
+.ds Lb.libx86_64 x86_64 Architecture Library (libx86_64, \-lx86_64)
+.ds Lb.libxo Text, XML, JSON, and HTML Output Emission Library (libxo, \-lxo)
+.ds Lb.libz Compression Library (libz, \-lz)
+.de Lb
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ds __aa \&\f\\n(cF\s\\n(cZ
+. ie d Lb.\\$1 .as b1 \\*[Lb.\\$1]
+. el \{\
+. tm .Lb: Unknown library \\$1 (#\\n(.c)
+. as b1 library \\*(Lq\\$1\\*(Rq
+. \}
+. shift
+. ie !\\n(.$ .aZ
+. el \{\
+. ds mN Lb
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. nr aP 1
+. nR
+. \}
+..
+.\" vim:set syntax=groff:
diff --git a/troff/troff.d/tmac.d/doc.in b/troff/troff.d/tmac.d/doc.in
new file mode 100644
index 0000000000000..68f6d05932b03
--- /dev/null
+++ b/troff/troff.d/tmac.d/doc.in
@@ -0,0 +1,4264 @@
+.\" Copyright (c) 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.4BSD doc 8.1 (Berkeley) 6/8/93
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\" Portions Copyright (c) 2014, 2015 Carsten Kunze <carsten.kunze@arcor.de>
+.\"
+.\" Sccsid @(#)doc.in 1.2 (gritter) 8/13/05
+.\"
+.\" .mdoc-parse - attempt to parse troff request arguments
+.\" %beginstrip%
+.do xflag 3
+.escoff ; @
+.if t \{\
+. so @MACDIR@/doc-ditroff
+.\}
+.if n \{\
+. so @MACDIR@/doc-nroff
+.\}
+.nr .g 1
+.ds <= \(<=
+.ds >= \(>=
+.ds Lq \(lq
+.ds lq \(lq
+.ds Rq \(rq
+.ds rq \(rq
+.ds ua \(ua
+.ds aa \(aa
+.ds ga \(ga
+.ds sL \(oq
+.ds sR \(cq
+.ds q \(dq
+.ds Am &
+.ds R \(rg
+.ds Tm \(tm
+.ds va \(va
+.\" Math stuff
+.ds Pi \(*p
+.ds Ne \(!=
+.ds Le \(<=
+.ds Ge \(>=
+.ds Lt <
+.ds Gt >
+.ds Pm \(+-
+.ds If \(if
+.ds Na \fINaN\fP
+.ds Ba \fR\&|\fP
+.\"
+.so @MACDIR@/doc-common
+.so @MACDIR@/doc-syms
+.\" NS Sh macro - Section Headers
+.\" NS nS register - Section Header SYNOPSIS flag
+.\" NS nF register - Section Header FILES flag
+.\" NS nA register - Section Header SEE ALSO flag
+.\" NS nT register - Section Header STANDARDS flag
+.de Sh
+. if \\n(aC=0&\\n(.$ \{\
+. nr nS 0
+. nr sE 0
+. nr iS 0
+. nr nA 0
+. nr nF 0
+. nr nT 0
+. nr nY 0
+. nr aN 0
+. nr oT 0
+. nr Sh.a 1
+. ad
+. ie \\$1NAME .hK
+. el .ie \\$1SYNOPSIS \{\
+. nr nS 1
+. na
+. \}
+. el .ie \\$1DESCRIPTION \{\
+. rr fB
+. rr Fb
+. ds Fb
+. nr fY 0
+. nr fZ 0
+. \}
+. el .ie \\$1FILES .nr nF 1
+. el .ie \\$1SEE \{\
+. nr sE 1
+. nr nA 1
+. na
+. \}
+. el .ie \\$1STANDARDS .nr nT 1
+. el .if \\$1AUTHORS .nr nY 1
+. in 0
+. pL
+. sp
+. ns
+. ta T .5i
+. if !\\n(cR .ne 3
+. fi
+. ds b1 \&\\*(sH
+. ds mN Sh
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. lds T
+. lds A
+. while \\n(aC&(\\n(aC>\\n(aP) \{\
+. nr aP +1
+. ie \\n[C\\n(aP]=1 \{\
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. as b1 \\*[A\\n(aP]\\*(sV
+. as T \\*[A\\n(aP]\\*(sV
+. ie \\n(aP=1 .ds A \\*[A\\n(aP]
+. el .as A " \\*[A\\n(aP]
+. \}
+. \}
+. if !\\*(b1 \{\
+. as b1 \&\fR\s10\&
+. ie \\n[Toc] \{\
+\XPDFMark: BookmarkClosed 0 \\*A\A\\*A\\*(b1
+. if \\n[Toc]>1 \{\
+. ie \\*(.Thtml \{\
+. tm Toc:\T\\*A\\*T\T
+. \}
+. el \{\
+. lnr Tab \\n(.l-\\n(.i-\\n(Tiu
+. tm Toc:.ta \\n[Tab]uR
+. tm Toc:\T\\*A\\*T\T\a\\n%
+. \}
+. \}
+. \}
+. el \\*(b1
+. ds b1
+. aY
+. \}
+. if \\n[Sh.a] \{\
+. nr Sh.a 0
+. in +\\n(Tiu
+. ns
+. \}
+..
+.\" NS aV macro - parse argument vector (recursive) (.aV arg ... )
+.\" NS fV macro - parse argument vector (recursive) (.fV)
+.\" NS aC register argument counter (aV/fV)
+.\" NS fV register argument counter (must set to \\n(.$ prior to reuqest) (fV)
+.\" NS A[0-9] argument vector (aV/fV)
+.\" NS C[0-9] reg. arg type(1=macro, 2=arg, 3=punct-suf, 4=punct-pre) (aV/fV)
+.\" NS S[0-9] space vector (sV)
+.\" NS aP register argument pointer (aV)
+.\" NS yU local string used for debugging
+.\" NS iI local register (indent for inline debug mode)
+.\" NS mN name of calling request (set in each user requestable macro)
+.\" jM local register
+.de fV
+.nr aC \\n(aC+1
+.lnr _l_ 0
+.length _l_ "\\*[A\\n(aC]
+.ie \\n[_l_]=2 \{\
+. lnr _i_ 0
+. index _i_ A\\n(aC \@
+. ie \\n[_i_]=0 .ds A\\n(aC @
+. el \{\
+. index _i_ A\\n(aC \;
+. if \\n[_i_]=0 .ds A\\n(aC \&;\&
+. \}
+.\}
+.el \{\
+. lnr _i_ 0
+. if \\*[A\\n(aC]| \{\
+. ie \\*(mNOp .nr _i_ 1
+. el .ie \\*(mNAr .nr _i_ 1
+. el .ie \\*(mNFl .nr _i_ 1
+. el .ie \\*(mNCm .nr _i_ 1
+. el .if \\*(mNIt .nr _i_ 1
+. \}
+. if \\n[_i_] .ds A\\n(aC \fR\\*[A\\n(aC]\fP
+.\}
+.aT "\\*[A\\n(aC]
+.nr C\\n(aC \\n(aT
+.s\\n(aT
+.ie \\n(fV==1 \{\
+. nr aP 0
+. ie \\n(dZ==1 \{\
+. if \\n(oM .as b1 \\*(S0
+. \}
+. el \{\
+. if \\n(oM>0 \{\
+. if \\n(fC==0 .as b1 \\*(S0
+. \}
+. \}
+. ds S0 \\*[S\\n(aC]
+. nr fV 0
+.\}
+.el \{\
+. nr fV -1
+. fV
+.\}
+..
+.\" NS aX macro - stuff saved strings into `b1' (used by -diag list)
+.de aX
+.nr aP \\n(aP+1
+.as b1 \&\\*[A\\n(aP]
+.ie \\n(fV==1 \{\
+. nr aP 0
+. nr fV 0
+.\}
+.el \{\
+. as b1 \&\\*(sV
+. nr fV \\n(fV-1
+. aX
+.\}
+..
+.\" NS aI macro - append arg to arg vector: .aI [arg] [type] (used by .En only)
+.de aI
+. if !\\n[__aI_ini_aC] .nr __aI_ini_aC \\n(aC
+. nr aC \\n(aC+1
+. ds A\\n(aC \\$1
+. nr C\\n(aC \\$2
+. s\\$2
+..
+.de __if_aI_aC
+. if \\n[__aI_ini_aC] \{\
+. lnr _aP_ \\n(aP
+. nr aP \\n[__aI_ini_aC]
+. while \\n(aP<\\n(aC \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]=1 .\\*[A\\n(aP]
+. el .as b1 \\*[A\\n(aP]
+. \}
+. nr aP \\n[_aP_]
+. nr aC \\n[__aI_ini_aC]
+. rr __aI_ini_aC
+. \}
+..
+.\"
+.\" NS aZ macro - print buffer (pB) and clean up arg vectors (aY)
+.de aZ
+.pB
+.aY
+..
+.\" NS aY macro - clean up arg vector
+.de aY
+.rm C0 C1 C2 C3 C4 C5 C6 C7 C8 C9
+.rm A0 A1 A2 A3 A4 A5 A6 A7 A8 A9
+.rm S1 S2 S3 S4 S5 S6 S7 S8 S9
+.nr aC 0
+.nr __aI_ini_aC 0
+.nr aP 0
+.rm mN __inline_mN
+..
+.\" NS pB macro - test for end of vector (eol) (print b1 buffer or divert)
+.de pB
+.lnr _sM_ 0
+.if \\n(sM .if !\\*[A\\n(aC]Ns .nr _sM_ 1
+.ie \\n(dZ==1 \{\
+. ie \\n(oM=1 \{\
+. if !\\*(b1 \{\
+. ie \\n[_sM_] \&\\*(b1
+. el \&\\*(b1\c
+. \}
+. rm S0
+. ds b1
+. \}
+. el .if \\n(oM=0 \{\
+. x2
+. \}
+.\}
+.el \{\
+. ie \\n(oM==0 \{\
+. if !\\*(b1 \{\
+. ie \\n[_sM_] \&\\*(b1
+. el \&\\*(b1\c
+. \}
+. rm S0
+. ds b1
+. \}
+. el \{\
+. if ((\\n(sM==1)&(\\n(tP==0)) \{\
+. as b1 \\*[S\\n(aC]
+. ds S0
+. x1
+. \}
+. \}
+.\}
+.hy
+..
+.\" NS x1 macro - save buffer and divert if tP flag set
+.\" NS eB diversion string
+.\" NS b2 string save of buffer
+.\" NS lK register count of lines read from input file
+.de x1
+. nr dZ +1
+. ds b2 \\*(b1
+. ds b1
+. box eB\\n(dZ
+. ev 2
+. evc 0
+. in 0
+. nf
+..
+.de x2.1
+. br
+. ev
+. box
+..
+.de x2.2
+. ie \\n(dl:\\n(dn \{\
+. chop eB\\n(dZ
+. unformat eB\\n(dZ
+. if 1 \\*(b2\\*[eB\\n(dZ]\\*(b1
+. \}
+. el \\*(b2\\*(b1
+. rm b2 eB\\n(dZ b1
+. nr dZ -1
+..
+.\" NS x2 macro - end diversion and print
+.\" NS b0 string local temporary
+.de x2
+. x2.1
+. x2.2
+..
+.\" NS Fl macro - flags (appends - and prints flags)
+.\" NS cF register save current font
+.\" NS cZ register save current font size
+.de Fl
+.as b1 \&\\*(fL
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+. as b1 \&\|\-\|\fP\s0
+. pB
+. \}
+. el \{\
+. ds mN Fl
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>0 \{\
+. lnr f 0
+. if \\*[A\\n(aP]Fl .nr f 1
+. lnr a \\n(aP+1
+. lnr b 0
+. if \\*[A\\na]| .nr b 1
+. ie (\\n(aC-\\n(aP)==0 \{\
+. as b1 \&\|\-\fP\s0
+. aZ
+. \}
+. el \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. as b1 \&\|\-\fP\s0
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ie \\n(aP=1:\\nf&\\nb .as b1 \&\|\-\ \&
+. el .if \\n[C\\n(aP]=3 .as b1 \&\|\-\|
+. fR
+. \}
+. \}
+.\}
+..
+.\"
+.\" NS fR macro - Fl flag recursion routine (special handling)
+.\" NS jM local register
+.\" NS jN local register
+.\"
+.de fR
+.hy 0
+.nr jM \\n[C\\n(aP]
+.ie \\n(jM==1 \{\
+. as b1 \&\fR\s10
+. \\*[A\\n(aP]
+.\}
+.el \{\
+. as b1 \&\\*(fL
+. nr jN \\n(aP
+. ie \\n(jM==2 \{\
+. ie \\*[A\\n(aP]\\*(Ba .as b1 \&\\*[A\\n(aP]
+. el .ie \\*[A\\n(aP]| .as b1 \&\fR\\*[A\\n(aP]
+. el .ie \\*[A\\n(aP]- .as b1 \&\|\-\^\-\|
+. el .as b1 \&\|\-\\*[A\\n(aP]
+. \}
+. el .as b1 \&\f\\n(cF\s\\n(cZ\\*[A\\n(aP]
+. ie \\n(aC==\\n(aP \{\
+. if \\n(jM==4 .as b1 \&\|\-
+. if !\\n(jM=3 .as b1 \&\fR\s10
+. aZ
+. \}
+. el \{\
+. nr aP \\n(aP+1
+. ie ((\\n[C\\n(aP]==3)&(\\n[C\\n(jN]==4)) .as b1 \&\|\-
+. el .as b1 \&\\*[S\\n(jN]
+. shift
+. fR \\$*
+. \}
+.\}
+.rr jM jN
+..
+.\"
+.\" NS nR macro - general name recursion routine
+.\" NS jM local register
+.\" NS jN local register
+.\" NS xX local register
+.de nR
+.hy 0
+.ie \\n[C\\n(aP]=1 \{\
+. as b1 \&\f\\n(cF\s\\n(cZ
+. ds __inline_mN \\*[A\\n(aP]
+. \\*[A\\n(aP]
+.\}
+.el \{\
+. lnr _l_ 0
+. length _l_ "\\*[A\\n(aP]
+. lds _lc_
+. lds _slc_
+. if \\n[_l_] \{\
+. ds _lc_ \\*[A\\n(aP]
+. substring _lc_ -1
+. if \\n[_l_]>1 \{\
+. ds _slc_ \\*[A\\n(aP]
+. substring _slc_ -2 -2
+. \}
+. \}
+. lnr _sec_ 0
+. ie \\*[_lc_]. .if !\\*[_slc_]. .nr _sec_ 1
+. el .ie \\*[_lc_]? .nr _sec_ 1
+. el .if \\*[_lc_]! .nr _sec_ 1
+. ie \\n[_sec_] .as b1 \f\\n(cF\s\\n(cZ\\*[A\\n(aP]
+. el .ie \\n[C\\n(aP]=2 .as b1 \&\%\\*[A\\n(aP]
+. el .as b1 \&\f\\n(cF\s\\n(cZ\\*[A\\n(aP]\fP\s0
+. ie \\n(aC==\\n(aP \{\
+. if !\\n[_sec_] .as b1 \&\f\\n(cF\s\\n(cZ
+. aZ
+. \}
+. el \{\
+. as b1 \&\\*[S\\n(aP]
+. nr aP \\n(aP+1
+. nR
+. \}
+.\}
+..
+.\" NS Ar macro - command line `argument' macro
+.\"
+.de Ar
+.as b1 \\*(aR
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+. as b1 \&file\ ...\fP\s0\&
+. pB
+. \}
+. el \{\
+. ds mN Ar
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>0 \{\
+. ie (\\n(aC-\\n(aP)==0 \{\
+. as b1 \&file\ ...\fP\s0\&
+. aZ
+. \}
+. el \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. as b1 \&file\ ...\fP\s0\&
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. if \\n[C\\n(aP]==3 \{\
+. as b1 \&file\ ...\&
+. \}
+. nR
+. \}
+. \}
+. if \\n(aC=\\n(aP .aY
+.\}
+..
+.\" NS Ad macro - Addresses
+.de Ad
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Ad address ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Ad
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(aD
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Cd macro - Config declaration (for section 4 SYNOPSIS) (not callable)
+.\" needs work - not very translatable
+.de Cd
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Cd Configuration file declaration (#\\n(.c)
+. el \{\
+. ds mN Cd
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(nM
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ie \\n(nS \{\
+. if \\*(mNCd \{\
+. rs
+. ie \\n(nS>1 .br
+. el \{\
+. if \\n(iS==0 .nr iS \\n(Dsu
+. \}
+. in +\\n(iSu
+. ti -\\n(iSu
+. nr nS \\n(nS+1
+. \}
+. nR
+. in -\\n(iSu
+. \}
+. el .nR
+.\}
+..
+.\" NS Cm macro - Interactive command modifier (flag)
+.de Cm
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Cm Interactive command modifier ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Cm
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(cM
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Dv macro - define variable
+.de Dv
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Dv define_variable ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Dv
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(eR
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Em macro - Emphasis
+.de Em
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+. tm Usage: .Em text ... \\*(Pu (#\\n(.c)
+. \}
+. el \{\
+. ds mN Em
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(eM
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Er macro - Errnotype
+.de Er
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Er ERRNOTYPE ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Er
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(eR
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Ev macro - Environment variable
+.de Ev
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Ev ENVIRONMENT_VARIABLE ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Ev
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(eV
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Fd macro - function declaration - not callable (& no err check)
+.\" NS fD register subroutine test (in synopsis only)
+.\" NS fY register subroutine count (in synopsis only) (fortran only)
+.\" NS fZ register also subroutine count (in synopsis only)
+.de Fd
+.ds mN Fd
+.if \\n(nS>0 \{\
+.\" if a variable type was the last thing given, want vertical space
+. if \\n(fX>0 \{\
+. Pp
+. nr fX 0
+. \}
+.\" if a subroutine was the last thing given, want vertical space
+. if \\n(fZ>0 \{\
+. ie \\n(fD==0 \{\
+. Pp
+. rs
+. \}
+. el .br
+. \}
+. nr fD \\n(fD+1
+.\}
+.nr cF \\n(.f
+.nr cZ \\n(.s
+\&\\*(fD\\$*
+.br
+.ft \\n(cF
+.fs \\n(cZ
+..
+.\" NS In macro - print include file
+.de In
+. if !\\n(aC \{\
+. ie !\\n(.$ .tm Usage: .In <include_filename> (#\\n(.c)
+. \" For displaying groff_mdoc.7
+. el .ie \\n(nS:\\n[in-synopsis-section] \{\
+. sp
+. ft B
+. if 1 #include <\\$1>
+. ft
+. sp
+. ns
+. \}
+. el \{\
+. ds mN In
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]>2 \{\
+. nR
+. \}
+. el .ie !\\n[C\\n(aP]=2 \{\
+. tm .In: Unexpected type for argument \\n(aP (#\\n(.c)
+. \}
+. el \{\
+. as b1 <\fI\\*[A\\n(aP]\fP>
+. In
+. \}
+. \}
+. aZ
+..
+.\" NS Fr macro - function return value - not callable (at the moment)
+.de Fr
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Fr Function_return_value... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Fr
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(aR
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Ic macro - Interactive command
+.de Ic
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Ic Interactive command ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Ic
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. if \\n(dZ&\\n(dP .if \\*[d\\n(dP]dU \{\
+. x2
+. pB
+. x1
+. \}
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(iC
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Li macro - literals
+.de Li
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage .Li argument ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Li
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(lI
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Or macro - Pipe symbol (OR)
+.de Or
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Or ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Or
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(iC
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Ms macro - Math symbol
+.de Ms
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Ms Math symbol ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Ms
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(sY
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Nm macro - Name of command or page topic
+.\" NS n1 string - save first invocation of .Nm
+.\" NS iS register - indent second command line in a synopsis
+.de Nm
+.if \\n(aC==0 \{\
+. if \\n(nS .in -\\n(iSu
+. ie \\n(.$==0 \{\
+. ie \\*(n1 .tm Usage: .Nm Name(s) ... \\*(Pu (#\\n(.c)
+. el \{\
+. as b1 \&\\*(nM\\*(n1\fP\s0
+. if \\n[Xo.depth] .as b1 \\*(sV
+. pB
+. \}
+. \}
+. el \{\
+. ds mN Nm
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. if \\n(nS \{\
+. ie \\*(A1 .nr iS \w\\*(n10
+. el .nr iS \w\\*(A10
+' in +\\n(iSu
+. if \\n(aC .ti -\\n(iSu
+. \}
+.\}
+.if \\n(aC>0 \{\
+. ie \\n(aC==\\n(aP \{\
+. as b1 \&\\*(nM\\*(n1\fP\s0
+. aZ
+. \}
+. el \{\
+. as b1 \\*(nM
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. as b1 \&\\*(n1\fP\s0
+. if \\n(sM .if !\\*[A\\n(aP]Ns .as b1 \\*(sV
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. ie \\n[C\\n(aP]=2 .if \\*(n1 .ds n1 \\*[A\\n(aP]
+. el .if \\n[C\\n(aP]=3 .as b1 \&\\*(n1\fP\s0
+. ie \\n[C\\n(aP]=4&(\\n(aC=1) \{\
+. as b1 \\*[A\\n(aP]\\*(n1\fP\s0
+. aZ
+. \}
+. el \{\
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+. \}
+. \}
+. \}
+.\}
+..
+.de Mt
+. Pa \\$*
+..
+.\" NS Pa macro - Pathname
+.de Pa
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 \&\\*(pA~\fP\s0
+. el \{\
+. ds mN Pa
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ie \\n(aC>\\n(aP \{\
+. as b1 \\*(pA
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+.el .if \\n(aC \{\
+. as b1 \&\\*(pA~\fP\s0
+. aZ
+.\}
+..
+.\" NS Sy macro - Symbolics
+.de Sy
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Sy symbolic_text ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Sy
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(sY
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Tn macro - Trade Name Macro
+.de Tn
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Tn
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(tN\\*(tF
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS nN macro - Trade Name Macro for inside of reference
+.de nN
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Tn Trade_name(s) ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Tn
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(tN
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS Va macro - variable name macro
+.de Va
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Va variable_name(s) ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Va
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. as b1 \\*(vA
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\"
+.\" NS No macro - Normal text macro (default text style if mess up)
+.de No
+.as b1 \\*(nO
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .No must be called with arguments (#\\n(.c)
+. el \{\
+. ds mN No
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ie \\n(aC>\\n(aP \{\
+. lnr aP-1 \\n(aP
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. if \\n(sM \{\
+. lnr S 0
+. ie \\*[A\\n(aP]Fn .nr S 1
+. el .if \\*[__inline_mN]Oc \{\
+. if \\*[A\\n(aP]Cm .nr S 1
+. \}
+. if \\nS .as b1 \\*[S\\n[aP-1]]
+. \}
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+. \}
+.\}
+.el .aZ
+..
+.\"------------------------------------------------------------------------
+.\" NS Op macro - Option Expression
+.de Op
+.if \\n(aC==0 \{\
+. ds mN Op
+.\}
+.ds qL \&\\*(lB
+.ds qR \&\\*(rB
+.En \\$*
+..
+.\" NS Aq macro - Enclose string in angle brackets
+.de Aq
+. if \\n(aC==0 .ds mN Aq
+. ie \\*(mNAn \{\
+. ds qL <
+. ds qR >
+. \}
+. el \{\
+. ds qL \(la
+. ds qR \(ra
+. \}
+. En \\$*
+..
+.\" NS Bq macro - Enclose string in square brackets
+.de Bq
+.if \\n(aC==0 .ds mN Bq
+.ds qL \&\\*(lB
+.ds qR \&\\*(rB
+.En \\$*
+..
+.\" NS Brq macro - Enclose string in curly brackets
+.de Brq
+.if \\n(aC==0 .ds mN Brq
+.ds qL \&{
+.ds qR \&}
+.En \\$*
+..
+.de Bro
+. if !\\n(aC \{\
+. ie !\\n(.$ \{\
+. as b1 {
+. pB
+. \}
+. el \{\
+. ds mN Bro
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC \{\
+. as b1 {
+. ie \\n(aP=\\n(aC .aZ
+. el \{\
+. nr aP +1
+. nR
+. \}
+. \}
+..
+.de Brc
+. if !\\n(aC \{\
+. ie !\\n(.$ \{\
+. as b1 }
+. pB
+. \}
+. el \{\
+. ds mN Bro
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC \{\
+. as b1 }
+. ie \\n(aP=\\n(aC .aZ
+. el \{\
+. nr aP +1
+. nR
+. \}
+. \}
+..
+.\" NS Dq macro - Enclose string in double quotes
+.de Dq
+.if !\\n(aC \{\
+. ds mN Dq
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&\\*(Lq
+.ds qR \&\\*(Rq
+.En
+..
+.\" NS Eq macro - Enclose string in double quotes
+.de Eq
+.if !\\n(aC \{\
+. ds mN Eq
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL "\\$1
+.shift
+.ds qR "\\$1
+.shift
+.En
+..
+.\" NS Pq macro - Enclose string in parenthesis
+.de Pq
+.if !\\n(aC \{\
+. ds mN Pq
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&\\*(lP
+.ds qR \&\\*(rP
+.En
+..
+.\" NS Ql macro - Quoted literal is in file mdoc-[dit|n|g]roff (too large
+.\" an if-else to carry along recursively for `if n ...')
+.\"
+.\" NS Sq macro - Enclose string in single quotes
+.de Qq
+.if !\\n(aC \{\
+. ds mN Qq
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&\\*q
+.ds qR \&\\*q
+.En
+..
+.\" NS Sq macro - Enclose string in single quotes
+.de Sq
+.if !\\n(aC \{\
+. ds mN Sq
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&\\*(sL
+.ds qR \&\\*(sR
+.En
+..
+.\"
+.\" NS Es macro - Set up strings for .En call
+.de Es
+.if \\n(aC==0 \{\
+. ds mN Es
+. ie \\n(.$>2 \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. el \{\
+. ds qL \\$1
+. ds qR \\$2
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ds qL \\*[A\\n(aP]
+. nr aP \\n(aP+1
+. ds qR \\*[A\\n(aP]
+. ie \\n(aC>\\n(aP .c\\n[C\\n(aP]
+. el .aZ
+.\}
+..
+.\" NS En macro - Enclose string with given args (eg [ and ] etc)
+.\" NS qL string variable set by calling macro
+.\" NS qR string variable set by calling macro
+.\" NS aJ register (for vR)
+.de En
+.if \\n(aC==0 \{\
+. ds mN En
+. ie \\n(.$==0 \{\
+. as b1 \&\\*(qL\\*(qR
+. pB
+. \}
+. el \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC \{\
+. nr aP +1
+. while \\n[C\\n(aP]=4&(\\n(aP<=\\n(aC) \{\
+. as b1 \\*[A\\n(aP]
+. if \\n(aP=\\n(aC .aZ
+. nr aP +1
+. \}
+. nr aP -1
+.\}
+.if \\n(aC \{\
+. as b1 \&\\*(qL
+.\}
+.if \\n(aC>0 \{\
+. ie (\\n(aC-\\n(aP)==0 \{\
+. as b1 \&\\*(qR
+. aZ
+. \}
+. el \{\
+. ie \\n[C\\n(aC]==3 \{\
+. nr aJ \\n(aC-1
+. vR
+. nr aJ \\n(aJ+1
+. ds A\\n(aJ \&\\*(qR\\*[A\\n(aJ]
+. nr aJ 0
+. \}
+. el \{\
+. aI \&\\*(qR 3
+. \}
+. nr aP \\n(aP+1
+. if \\n[C\\n(aP]==1 \{\
+. \\*[A\\n(aP]
+. \}
+. if \\n[C\\n(aP]>1 \{\
+. nr aP \\n(aP-1
+. No
+. \}
+. \}
+.\}
+..
+.\" NS vR macro - vector routine (for En, trace backwards past trail punct)
+.de vR
+.if \\n[C\\n(aJ]==3 \{\
+. nr aJ \\n(aJ-1
+. vR
+.\}
+..
+.\"------------------------------------------------------------------------
+.\" NS Ao macro - Angle open
+.de Ao
+.if !\\n(aC \{\
+. ds mN Ao
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \(la
+.eO
+..
+.\" NS Ac macro - Angle close
+.de Ac
+.if !\\n(aC \{\
+. ds mN Ac
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \(ra
+.eC
+..
+.\" NS Bo macro - Bracket open
+.de Bo
+.if !\\n(aC \{\
+. ds mN Bo
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&[
+.eO
+..
+.\" NS Bc macro - Bracket close
+.de Bc
+.if !\\n(aC \{\
+. ds mN Bc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \&]
+.eC
+..
+.\" NS Do macro - Double Quote open
+.de Do
+.if !\\n(aC \{\
+. ds mN Do
+. ie \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. el .ds S0
+.\}
+.ds qL \&\\*(Lq
+.eO
+..
+.\" NS Dc macro - Double Quote close
+.de Dc
+.if !\\n(aC \{\
+. ds mN Dc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \&\\*(Rq
+.eC
+..
+.\" NS Eo macro - Enclose open
+.de Eo
+.if !\\n(aC \{\
+. ds mN Eo
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \\$1
+.shift
+.eO
+..
+.\" NS Ec macro - Enclose close
+.de Ec
+.if !\\n(aC \{\
+. ds mN Ec
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \\$1
+.shift
+.eC
+..
+.\" NS Oo macro - Option open
+.de Oo
+.if !\\n(aC \{\
+. ds mN Oo
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&[
+.eO
+..
+.\" NS Oc macro - Option close
+.de Oc
+.if !\\n(aC \{\
+. ds mN Oc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \&]
+.eC
+..
+.\" NS Po macro - Parenthesis open
+.de Po
+.if !\\n(aC \{\
+. ds mN Po
+. ie \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. el .ds S0
+.\}
+.ds qL \&(
+.eO
+..
+.\" NS Pc macro - Parenthesis close
+.de Pc
+.if !\\n(aC \{\
+. ds mN Pc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. ds S0
+. fV
+. \}
+.\}
+.ds qR \&)
+.eC
+..
+.\" NS Qo macro - Straight Double Quote open
+.de Qo
+.if !\\n(aC \{\
+. ds mN Qo
+. ie \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. el .ds S0
+.\}
+.ds qL \&\\*q
+.eO
+..
+.\" NS Qc macro - Straight Double Quote close
+.de Qc
+.if !\\n(aC \{\
+. ds mN Qc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \&\\*q
+.eC
+..
+.\" NS So macro - Single Quote open
+.de So
+.if !\\n(aC \{\
+. ds mN So
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL \&\\*(sL
+.eO
+..
+.\" NS Sc macro - Single Quote close
+.de Sc
+.if !\\n(aC \{\
+. ds mN Sc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR \&\\*(sR
+.eC
+..
+.\" NS Xo macro - Extend open (continue)
+.de Xo
+.nr Xo.depth +1
+.if !\\n(aC \{\
+. ds mN Xo
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qL
+.eO
+..
+.\" NS Xe macro - Extend close (end)
+.de Xc
+.nr Xo.depth -1
+.if !\\n(aC \{\
+. ds mN Xc
+. if \\n(.$ \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ds qR
+.eC
+..
+.\" NS eO macro - enclose string open
+.\" NS oM register (extension possible)
+.de eO
+.nr Xt +1
+.nr oM \\n(oM+1
+.ie \\n(aC==0 \{\
+. ie \\n(.$>0 \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. as b1 \\*(qL
+. \}
+. el \{\
+. as b1 \\*(qL
+. if (\\n(dZ==0)&(\\n(sM==1) .x1
+. \}
+.\}
+.el \{\
+. as b1 \\*(qL
+.\". if \\n(dZ=0&\\n(tP .x1
+.\}
+.ie \\n(aC>0 \{\
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 \{\
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. nr aP \\n(aP-1
+. No
+. \}
+. \}
+. if \\n(aC==\\n(aP \{\
+. aY
+. \}
+.\}
+.el \{\
+. if \\n(oM>1 .as b1 \\*(sV
+.\}
+..
+.\"
+.\" NS eC macro - enclose string close
+.\" NS aa local register
+.de eC
+.nr oM \\n(oM-1
+.nr Xt -1
+.as b1 \\*(qR
+.if \\n(aC==0 \{\
+. ie \\n(.$>0 \{\
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. \}
+. el .ie \\*(xB \{\
+. pB
+. \}
+. el .if !\\n(Xt \{\
+. pB
+. \\*[L\\n(lC]
+. ds xB
+. \}
+.\}
+.if \\n(aC>0 \{\
+. ie \\n(aC==\\n(aP \{\
+. ie \\n(oM==0 \{\
+. aZ
+. \}
+. el \{\
+. aY
+. \}
+. \}
+. el \{\
+. if \\n(aP .as b1 \\*[S\\n(aP]
+. No
+. \}
+. if !\\n(Xt .if !\\*(xB \{\
+. pB
+. \\*[L\\n(lC]
+. ds xB
+. \}
+.\}
+.\".nr Xt -1
+..
+.\"------------------------------------------------------------------------
+.\" NS Pf macro - Prefix (calls .pF)
+.de Pf
+.if \\n(aC==0 .ds mN Pf
+.ds qL \&\\$1
+.shift
+.pF \\$*
+..
+.\" NS pF macro - Prefix (for prefixing open quotes, brackets etc)
+.de pF
+.ie \\n(aC==0 \{\
+. as b1 \&\\*(qL
+. ie \\n(.$<1 \{\
+. tm Warning: Missing arguments - prefix .Pf)
+. pB
+. \}
+. el \{\
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.el \{\
+. ie (\\n(aC-\\n(aP)>1 \{\
+. nr aP \\n(aP+1
+. as b1 \&\\*[A\\n(aP]
+. \}
+. el .tm Warning: .Pf: trailing prefix (#\\n(.c)
+.\}
+.if \\n(aC>0 \{\
+. ie (\\n(aC-\\n(aP)==0 .aZ
+. el \{\
+. nr aP \\n(aP+1
+. c\\n[C\\n(aP]
+. \}
+.\}
+..
+.\" NS Ns macro - remove space (space remove done by .aV or .fV)
+.de Ns
+.if \\n(aC==0 \{\
+. ds mN Ns
+. ie \\n(.$>0 \{\
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. el .tm Usage: .Ns must be called with arguments (#\\n(.c)
+.\}
+.No
+..
+.de Ap
+.if \\n(aC==0 \{\
+. ds mN Ap
+. tm Usage: Ap "cannot be first request on a line (no .Ap)" (#\\n(.c)
+.\}
+.as b1 \&'
+.No
+..
+.\" NS Hv macro - Hard (unpaddable) Space vector
+.\" NS iV string inter-vector space
+.\" NS sV string inter-argument space
+.de Hv
+.ds iV \\*(sV
+.ds sV \\*(hV
+..
+.\" NS Sv macro - Soft Space vector (troff limitation)
+.de Sv
+.ds sV \\*(iV
+..
+.\" NS Tv macro - Tab Space vector
+.de Tv
+.ds sV \\*(tV
+..
+.de setSpaceMode
+. ie \\$1 \{\
+. ds sV \\*(iV
+. if !\\n(sM \{\
+. ie \\*(b1 \& \"
+. el .as b1 \\*(sV
+. \}
+. nr sM 1
+. \}
+. el \{\
+. ds sV
+. rm S0 S1 S2 S3 S4 S5 S6 S7 S8 S9
+. nr sM 0
+. \}
+..
+.\" NS Sm macro - Space mode
+.\" NS sM register - default is one (space mode on)
+.nr sM 1
+.de Sm
+.if \\n(aC==0 \{\
+. ie !\\n(.$ \{\
+. setSpaceMode \\n(sM<1
+. \}
+. el \{\
+. ds mN Sm
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>0 \{\
+. nr aP \\n(aP+1
+. ie \\*[A\\n(aP]on .setSpaceMode 1
+. el .ie \\*[A\\n(aP]off .setSpaceMode 0
+. el .setSpaceMode \\n(sM<1
+. ie \\n(aC>\\n(aP \{\
+. No
+. \}
+. el .aY
+.\}
+..
+.\"------------------------------------------------------------------------
+.\" Size and Argument type macros
+.\" NS aT macro - argument type
+.\" NS aU macro - argument type (same as .aT but uses A[1-9] strings
+.\" NS aT register argument type
+.\" NS b0 string local temporary
+.de aT
+. nr aT 2
+. lnr _l_ 0
+. length _l_ "\\$1
+. ie \\n[_l_]>1&(\\n[_l_]<4) \{\
+. ie !\I\\$1 .nr aT 2
+. el .ie d mdoc.cm.\\$1 .nr aT 1
+. el .nr aT 2
+. \}
+. el .ie \\n[_l_]=1 \{\
+. ie !\I\\$1 .nr aT 2
+. el .ie d z\\$1 .nr aT \\*(z\\$1
+. el .nr aT 2
+. \}
+..
+.\" NS s1 macro - set spacing for class type 1
+.\" NS s2 macro - set spacing for class type 2
+.\" NS s3 macro - set spacing for class type 3
+.\" NS s4 macro - set spacing for class type 4
+.\" NS S[0-9] string spacing
+.\" NS xX local register
+.\" NS aa local register
+.de s0
+.tm MDOC-ERROR: bogus type 0 (can't set space '\\*(A\\n(aC') (#\\n(.c)
+..
+.de s1
+.ie \\n[\\*[A\\n(aC]]==3 \{\
+. nr xX \\n(aC-1
+. rm S\\n(xX
+. ds S\\n(aC \\*(sV
+.\}
+.el .ie \\n[\\*[A\\n(aC]]==2 \{\
+. nr xX \\n(aC-1
+. rm S\\n(xX
+.\}
+.el .if \\n[\\*[A\\n(aC]]=4 .s2
+..
+.de s2
+.ds S\\n(aC \\*(sV
+..
+.de s3
+.if \\n(aC>1 \{\
+. nr xX \\n(aC-1
+. rm S\\n(xX
+.\}
+.ds S\\n(aC \\*(sV
+..
+.de s4
+..
+.\" Class switches (on current argument aP)
+.\" NS c0 macro - catch errors (non-existent class type 0)
+.\" NS c1 macro - call request if type 1
+.\" NS c2 macro - call .No if type 2
+.\" NS c3 macro - call .No if type 3
+.\" NS c4 macro - call .No if type 4
+.de c0
+.tm MDOC-ERROR: bogus class 0 (can't determine '\\*(A\\n(aC') (#\\n(.c)
+..
+.de c1
+.\\*[A\\n(aP]
+..
+.de c2
+.nr aP -1
+.No
+..
+.de c3
+. c2
+..
+.de c4
+. c2
+..
+.\"--------------------------------------------------------------------------
+.\" Ns Bf macro - Begin Font Mode (will be begin-mode/end-mode in groff & TeX)
+.\" Ns Ef macro - End Font Mode
+.de Bf
+.ds mN Bf
+.ie \\n(.$>0 \{\
+. nr bF \\n(.f
+. nr bZ \\n(.s
+. if \\$1Em \&\\*(eM\c
+. if \\$1Li \&\\*(lI\c
+. if \\$1Sy \&\\*(sY\c
+. if \\$1-emphasis \&\\*(eM\c
+. if \\$1-literal \&\\*(lI\c
+. if \\$1-symbolic \&\\*(sY\c
+.\}
+.el .tm Usage .Bf [Em | emphasis | Li | literal | Sy | symbolic] (#\\n(.c)
+..
+.de Ef
+.ds mN Ef
+.ie \\n(.$>0 .tm Usage .Ef (does not take arguments) (#\\n(.c)
+.el \&\f\\n(bF\s\\n(bZ
+..
+.\" Ns Bk macro - Begin Keep
+.\" Ns Ek macro - End Keep
+.\" Ns kS string - keep type
+.de Bk
+.ds mN Bk
+.ie \\n(.$==0 \{\
+.tm Usage: .Bk [-lines | -words] (#\\n(.c)
+.\}
+.el \{\
+. if !\\*(kS .tm .Bk: nesting keeps not implemented yet. (#\\n(.c)
+. if \\$1-lines .tm .Bd -lines: Not implemented yet. (#\\n(.c)
+. if \\$1-words .Hv
+. ds kS \\$1
+.\}
+..
+.de Ek
+.ds mN Ek
+.ie \\n(.$>0 .tm Usage .Ek (does not take arguments) (#\\n(.c)
+.el \{\
+. if \\*(kS-lines .tm .Bd -lines: Not implemented yet. (#\\n(.c)
+. if \\*(kS-words .Sv
+. rm kS
+.\}
+..
+.\" NS Bd macro - Begin Display display-type [offset string]
+.\" NS Ed macro - end Display
+.\" NS O[0-9] registers - stack of indent
+.\" NS d[0-9] registers - display-type stack
+.de Bd
+.ds mN Bd
+.ie \\n(.$==0 \{\
+.tm Usage: .Bd [-literal | -filled | -ragged | -unfilled] [-offset [string]] [-compact] (#\\n(.c)
+.\}
+.el \{\
+. ds __aa
+. nr bV 0
+. nr iD 0
+. nr dP \\n(dP+1
+. ie \\$1-literal \{\
+. nr iD \\n(iD+1
+. ds d\\n(dP dL
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ie t \{\&\\*(lI
+' ta T 9n
+. \}
+. el \{\
+' ta T 8n
+. \}
+. nf
+. \}
+. el .ie \\$1-filled \{\
+. nr iD \\n(iD+1
+. ds d\\n(dP dF
+. br
+. \}
+. el .ie \\$1-ragged \{\
+. nr iD \\n(iD+1
+. ds d\\n(dP dR
+. na
+. \}
+. el .if \\$1-unfilled \{\
+. nr iD \\n(iD+1
+. ds d\\n(dP dU
+. nf
+. \}
+. if ((\\n(iD>=1)&(\\n(.$>\\n(iD)) \{\
+. bV \\$2 \\$3 \\$4
+. \}
+. if \\n[O\\n(dP]>0 'in +\\n[O\\n(dP]u
+. if (\\n(bV==0) \{\
+. if (\\n(nS==0) \{\
+. ie \\*[d\\n(dP]dR .sp \\n(dVu
+. el 'sp \\n(dVu
+. \}
+. \}
+. if \\n(cR==0 .ne 2v
+. nr bV 0
+. nr iD 0
+.\}
+..
+.\" NS bV macro - resolve remaining .Bd arguments
+.de bV
+.nr iD 1
+.ds bY
+.if \\$1-offset \{\
+. ds bY \\$2
+. if \\*(bYleft \{\
+. nr iD \\n(iD+1
+. nr O\\n(dP 0
+. \}
+. if \\*(bYright \{\
+. nr iD \\n(iD+1
+. nr O\\n(dP (\\n(.l/3)u
+. \}
+. if \\*(bYcenter \{\
+. nr iD \\n(iD+1
+. nr O\\n(dP (\\n(.l-\\n(.i)/4u
+. \}
+. if \\*(bYindent \{\
+. nr iD \\n(iD+1
+. nr O\\n(dP \\n[__dI]u
+. \}
+. if \\*(bYindent-two \{\
+. nr iD \\n(iD+1
+. nr O\\n(dP \\n[__dI]u+\\n[__dI]u
+. \}
+. if \\n(iD==1 \{\
+. nr iD \\n(iD+1
+. lnr _sw_ 0
+. length _sw_ "\\*(bY
+. ie \\n[_sw_]>2 \{\
+. nr O\\n(dP \w\\*(bY
+. lnr _B_ \B\\*(bY
+. if \\n[_B_] \{\
+. if (\\*(bY>9n)&(\\*(bY<100n) \{\
+. nr O\\n(dP \\*(bY
+. \}
+. \}
+. \}
+. el \{\
+. if \\n[_sw_]==2 .aT \\*(bY
+. ie \\n(aT==1 \{\
+. nr O\\n(dP \\n(\\*(bY
+. \}
+. el .nr O\\n(dP \\*(bY
+. \}
+. \}
+.\}
+.if \\$1-compact \{\
+. nr bV 1
+.\}
+.if \\n(iD<\\n(.$ \{\
+. ie \\*(bY \{\
+. bV \\$2 \\$3
+. \}
+. el \{\
+. bV \\$3
+. \}
+.\}
+..
+.\" NS Ed macro - end display
+.de Ed
+.ds mN Ed
+.br
+.if \\n(dP==0 .tm mdoc: Extraneous .Ed
+.if \\*[d\\n(dP]dL \{\
+. ft \\n(cF
+. fz \\n(cZ
+.\}
+.in -\\n[O\\n(dP]u
+.rr O\\n(dP
+.rm d\\n(dP
+.nr dP \\n(dP-1
+.fi
+.if t .ad
+..
+.\"--------------------------------------------------------------------------
+.\" NS Bl macro - begin list (.Bl list-type)
+.\" NS L[0-9] registers - stack of list types
+.de Bl
+.ie \\n(.$==0 \{\
+.tm Usage: .Bl [[-hang | -ohang | -tag] [-width]] [-item | -enum [-nested] |
+.tm -bullet | -diag] (#\\n(.c)
+.\}
+.el \{\
+. ds mN Bl
+. nr aP 0
+. nr lC \\n(lC+1
+. lnr _.$_ \\n(.$
+. lds _$1_ \\$1
+. shift
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. ie \\*[_$1_]-hang \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC hL
+. nr w\\n(lC 6n
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-tag \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC tL
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-item \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC iT
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-enum \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC nU
+. nr w\\n(lC 3n
+. nr tC 1
+. ds nU\\n(lC.tag
+. nr nU\\n(lC.nested 0
+. \}
+. el .ie \\*[_$1_]-bullet \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC bU
+. nr w\\n(lC 2n
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-dash \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC hU
+. nr w\\n(lC 2n
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-hyphen \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC hU
+. nr w\\n(lC 2n
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-inset \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC lL
+. nr tC 1
+. \}
+. el .ie \\*[_$1_]-diag \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC mL
+. nr mL 1
+. \}
+. el .ie \\*[_$1_]-ohang \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC oL
+. nr tC 1
+. \}
+. el .if \\*[_$1_]-column \{\
+. nr aP \\n(aP+1
+. ds L\\n(lC cL
+. \}
+. ie \\n(aP==0 \{\
+. tm Usage: .Bl [[-inset|-tag] -width] [-item|-enum|-bullet|-diag] (#\\n(.c)
+. \}
+. el \{\
+. tY
+. if (\\n(aP==1)&(\\n(aP<\\n[_.$_]) \{\
+. nr aP 0
+. lV
+. if \\*[L\\n(lC]cL \{\
+. W\\n(wV
+. nr w\\n(lC 0
+' in -\\n(eWu
+. if !\\n[v\\n(lC] .sp \\n(dVu
+. nf
+. nr wV 0
+. \}
+. \}
+. \}
+. nr aP 0
+. aY
+.\}
+.ns
+..
+.\" $1 Global ref String
+.\" $2 Global ref Valid
+.\" $3 Global ref Width
+.de __NopDl
+. lnr _x_ 0
+. index _x_ \\$1 " \"
+. if \\n[_x_]>2 \{\
+. lds _tS_ \\*(\\$1
+. substring _tS_ 0 0
+. if \\*[_tS_]. \{\
+. lds _tS_ \\*(\\$1
+. substring _tS_ 1 \\n[_x_]-1
+. lnr _m_ 0
+. if \I\\*[_tS_] \{\
+. if d mdoc.cm.\\*[_tS_] .nr _m_ 1
+. if d mdoc.ncm.\\*[_tS_] .nr _m_ 1
+. \}
+. if \\n[_m_] \{\
+. ds _tS_ \\*(\\$1
+. box lV.box
+. ev lV.ev
+. evc 0
+. in 0
+. saveState
+. nop \\*[_tS_]
+. restoreState
+. br
+. ev
+. box
+. nr \\$2 1
+. nr \\$3 \\n(dl
+. \}
+. \}
+. \}
+..
+.\" NS lV macro - resolve remaining .Bl arguments
+.de lV
+.nr aP \\n(aP+1
+.if \\n(fV>=\\n(aP \{\
+. nr iD 0
+. ie \\*[A\\n(aP]-compact \{\
+. nr iD 1
+. nr v\\n(lC 1
+. \}
+. el .ie \\*[A\\n(aP]-width \{\
+. nr iD 1
+. nr aP \\n(aP+1
+. nr tW 0
+. ds t\\n(lC TagwidtH
+. ds tS \\*[A\\n(aP]
+. __NopDl tS tW w\\n(lC
+. if !\\n(tW \{\
+. lnr _x_ \B\\*(tS
+. if \\n[_x_] \{\
+. lds _tS_ \\*(tS
+. substring _tS_ -1 -1
+. if !d mdoc.d.\\*[_tS_] \
+. if !\\*[_tS_]u \{\
+. nr w\\n(lC \\*(tS
+. nr tW 1
+. \}
+. \}
+. \}
+. if !\\n(tW \{\
+. lnr _x_ 0
+. index _x_ tS " \"
+. lnr m 0
+. ie \\n[_x_]>=0 .
+. el .ie !\I\\*(tS .
+. el .if d mdoc.cm.\\*(tS .nr m 1
+. ie \\nm .nr w\\n(lC \\n[\\*(tS]
+. el .nr w\\n(lC \w\\*(tS
+. nr tW 1
+. \}
+. \}
+. el .ie \\*[A\\n(aP]-offset \{\
+. nr iD 1
+. nr aP \\n(aP+1
+. ie \\*[A\\n(aP]indent \{\
+. nr o\\n(lC \\n(Dsu
+. \}
+. el \{\
+. ds tS \\*[A\\n(aP]
+. lnr _l_ 0
+. length _l_ "\\*(tS
+. ie \\n[_l_]>2 \{\
+. nr o\\n(lC \w\\*(tS
+. lnr _B_ \B\\*(tS
+. if \\n[_B_] \{\
+. if (\\*(tS>9n)&(\\*(tS<100n) \{\
+. nr o\\n(lC \\*(tS
+. \}
+. \}
+. \}
+. el \{\
+. ie \\n[C\\n(aP]==1 .nr o\\n(lC \\n(\\*(tS
+. el .nr o\\n(lC \\*(tS
+. \}
+. \}
+. \}
+. el .if \\*[A\\n(aP]-nested \{\
+. nr iD 1
+. nr nU\\n(lC.nested 1
+. nr w\\n(lC +2n
+. \}
+. if \\n(iD==0 \{\
+. if \\*[L\\n(lC]cL \{\
+. nr wV \\n(wV+1
+. ds tS \\*[A\\n(aP]
+. __NopDl tS iD iD
+. if \\n(iD .ds tS \h'\\n(iDu'
+. nr iD 0
+. ds A\\n(wV \\*(tS
+. \}
+. \}
+. if \\n(fV>\\n(aP .lV
+.\}
+..
+.\" NS El macro - end list
+.\" NS iD local register
+.de El
+.ie \\n(.$>0 \{\
+. tm Usage: .El (#\\n(.c)
+.\}
+.el \{\
+. ds mN El
+. nr iD 0
+. ds t\\n(lC
+. ie \\*[L\\n(lC]cL \{\
+. nr iD 1
+. cC
+. \}
+. el .ie \\*[L\\n(lC]nU \{\
+. nr nU\\n(lC 0
+. \}
+. el .ie \\n(mL>0 \{\
+. nr iD 1
+. nr mL 0
+. tZ
+. nr lC \\n(lC-1
+. tY
+. \}
+. el .ie \\*[L\\n(lC]iT \{\
+' in -\\n[o\\n(lC]u
+. tZ
+. nr lC \\n(lC-1
+. tY
+. nr iD 1
+. \}
+. el .ie \\*[L\\n(lC]oL \{\
+' in -\\n[o\\n(lC]u
+. tZ
+. nr lC \\n(lC-1
+. tY
+. nr iD 1
+. \}
+. el .if \\*[L\\n(lC]lL \{\
+' in -\\n[o\\n(lC]u
+. tZ
+. nr lC \\n(lC-1
+. tY
+. nr iD 1
+. \}
+. if \\n(iD==0 \{\
+. lE
+. \}
+. br
+. nr iD 0
+.\}
+..
+.\" NS It macro - list item
+.\" NS iD local register
+.\" NS aA save pA font string for section FILES (no underline if nroff)
+.de It
+.if \\*[L\\n(lC] \{\
+. tm Usage .Bl -list-type [-width [string] | -compact | -offset [string]] (#\\n(.c)
+. tm .It \\$*
+.\}
+.if !\\n(cR .ne 3v
+.ie \\n(.$>0 \{\
+. ds mN It
+. ds b1
+. aY
+. nr iD 0
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. ie \\*[L\\n(lC]mL \{\
+. nr iD 1
+. aX
+. \\*[L\\n(lC]
+. \}
+. el .ie \\*[L\\n(lC]cL \{\
+. nr iD 1
+. \\*[L\\n(lC]
+. \}
+. el .if \\*[L\\n(lC]iT \{\
+. nr iD 1
+. \\*[L\\n(lC]
+. \}
+. if \\n(iD==0 \{\
+. fV
+. nr oM \\n(oM+1
+. nr tP 1
+. nr aP \\n(aP+1
+. nr tX \\n[C\\n(aP]
+. ds tX \\*[A\\n(aP]
+. if \\n(nF==1 \{\
+. ds aA \\*(pA
+. if n .ds pA \\*(nO
+. \}
+. ie \\n[C\\n(aP]==1 \{\
+. \\*[A\\n(aP]
+. \}
+. el \{\
+. nr aP \\n(aP-1
+. No
+. \}
+. ie \\n(Xt .ds xB \\*[L\\n(lC]
+. el .\\*[L\\n(lC]
+. \}
+. nr iD 0
+.\}
+.el \{\
+. \\*[L\\n(lC]
+.\}
+..
+.\" NS lL macro - .It item of list-type inset
+.de lL
+.lY
+.br
+\&\\*(b1
+.nr oM \\n(oM-1
+.nr tP 0
+.ds b1
+.aY
+'fi
+..
+.\" NS hL macro - .It item of list-type hanging label (as opposed to tagged)
+.de hL
+.lX
+.nr bb \\n[w\\n(lC]u+\\n(lSu
+.ti -\\n(bbu
+.ie \w\\*(b1u>=(\\n[w\\n(lC]u) \&\\*(b1
+.el \&\\*(b1\h'|\\n(bbu'\c
+.nr oM \\n(oM-1
+.ds b1
+.nr tP 0
+.aY
+'fi
+..
+.\" NS oL macro - .It item of list-type overhanging label
+.de oL
+.lY
+\&\\*(b1
+.br
+.nr oM \\n(oM-1
+.ds b1
+.nr tP 0
+.aY
+'fi
+..
+.\" NS iT macro - .It item of list-type [empty label]
+.de iT
+.lY
+.br
+.\" .ds b1
+.aY
+'fi
+..
+.\" NS nU macro - Enumerated list
+.\" NS nU register count
+.\" NS hU macro - Hyphen paragraph list (sub bullet list)
+.\" NS bU macro - Bullet paragraph list
+.de nU
+. nr oM +1
+. nr nU\\n(lC +1
+. ds b1
+. if \\n[nU\\n(lC.nested] \{\
+. lnr i \\n(lC-1
+. as b1 \\*[nU\\ni.tag]
+. \}
+. as b1 \&\\n[nU\\n(lC].
+. ds nU\\n(lC.tag \\*(b1
+. uL
+..
+.de bU
+.nr oM \\n(oM+1
+.nr bU \\n(bU+1
+.ds b1 \&\\*(sY\&\(bu\fP
+.uL
+..
+.de hU
+.nr oM \\n(oM+1
+.nr bU \\n(bU+1
+.ds b1 \&\\*(sY\&\-\fP
+.uL
+..
+.\" NS uL macro - .It item of list-type enum/bullet/hyphen
+.de uL
+.lX
+.nr bb \\n[w\\n(lC]u+\\n(lSu
+.ti -\\n(bbu
+.ie \w\\*(b1u>=(\\n[w\\n(lC]u) \&\\*(b1
+.el \&\\*(b1\h'|\\n(bbu'\c
+.nr oM \\n(oM-1
+.ds b1
+.nr tP 0
+.aY
+'fi
+..
+.\" NS mL macro - .It item of list-type diagnostic-message
+.de mL
+.nr cF \\n(.f
+.nr cZ \\n(.s
+.ie \\n(mL==1 \{\
+. nr zB \\n(.c
+. ie (\\n(zB-\\n(zA)>1 .Pp
+. el .br
+. nr zA \\n(zB
+. nr zB 0
+.\}
+.el \{\
+. nr zA \\n(.c
+. br
+.\}
+\&\\*(sY\\*(b1\f\\n(cF\s\\n(cZ\\*(lS\c
+.aY
+.ds b1
+'fi
+..
+.\" NS tL macro - .It item of list-type "tag"
+.de tL
+. if \\n(dZ .x2.1
+. box tL.di
+. ev 2
+. evc 0
+. in 0
+. fi
+. ie \\n(dZ .x2.2
+. el \&\\*(b1
+. br
+. ev
+. box
+. chop tL.di
+. unformat tL.di
+. if \\n(tW==0 .lW
+. lX
+. nr bb \\n[w\\n(lC]+\\n(lS
+. ti -\\n(bbu
+. ie \\n(dl>\\n[w\\n(lC] \{\
+. if 1 \&\\*[tL.di]
+. br
+. \}
+. el \&\\*[tL.di]\h'|\\n(bbu'\c
+. if \\n(nF==1 \{\
+. if n .ds pA \\*(aA
+. \}
+. ie \\n(oM .nr oM -1
+. el .tm .BL -tag: Argument expected after .It (#\\n(.c)
+. nr tP 0
+. ds b1
+. aY
+' fi
+..
+.\" NS lW macro - resolve unknown label/tag width (if .Bl [inset | tag] only)
+.de lW
+.if !TagwidtH\\*[t\\n(lC] \{\
+. ie \\n(tX=1 .nr w\\n(lC \\n[\\*(tX]
+. el .nr w\\n(lC \\n(Ds
+. nr tC 1
+. ds t\\n(lC TagwidtH
+.\}
+..
+.\" NS lX macro - set up vertical spacing (if compact) and offset+indent (all)
+.de lX
+. if !\\n[v\\n(lC] .sp \\n(dVu
+. if \\n(tC \{\
+. nr tC 0
+. nr tW 0
+. in +\\n[w\\n(lC]u+\\n[o\\n(lC]u+\\n(lSu
+. \}
+. if !\\n(cR .ne 2v
+..
+.\" NS lY macro - set up vertical spacing (if compact) and offset+indent (all)
+.de lY
+. if !\\n[v\\n(lC] .sp \\n(dVu
+. if \\n(tC \{\
+. nr tC 0
+. nr tW 0
+. in +\\n[o\\n(lC]u
+. \}
+. if !\\n(cR .ne 2v
+..
+.\" NS tS temporary string
+.\" NS hL macro - hanging list function
+.\" NS tS temporary string
+.\" NS hL macro - hanging list function
+.\" NS lT macro - tagged list function
+.\" NS lE macro - list end function
+.\" NS tX string (initial string)
+.\" NS tX register (initial class)
+.\" NS tC parameter change flag
+.\" NS Xt save current list-type flag
+.\" NS lC register - list type stack counter
+.\" NS tP register tag flag (for diversions)
+.\" NS w[0-9] register tag stack (nested tags)
+.\" NS t[0-9] register tag string stack (nested tags)
+.\" NS o[0-9] register offset stack (nested tags)
+.\" NS v[0-9] register vertical tag break stack
+.\" NS h[0-9] register horizontal tag stack (continuous if 1, break if 0)
+.nr lC 0
+.nr wV 0
+.nr w1 0
+.nr o1 0
+.nr v1 0
+.nr h1 0
+.ds t\n(lC
+.de lE
+.ie \\n[o\\n(lC]>0 \{\
+' in -\\n[w\\n(lC]u+\\n[o\\n(lC]u+\\n(lSu
+. rr o\\n(lC
+.\}
+.el 'in -\\n[w\\n(lC]u+\\n(lSu
+.if \\n(lC<=0 .tm Extraneous .El call (#\\n(.c)
+.tZ
+.nr lC \\n(lC-1
+.tY
+..
+.\" NS tY macro - set up next block for list
+.\" NS tZ macro - decrement stack
+.\" NS tY register (next possible lC value)
+.de tY
+.nr tY (\\n(lC+1)
+.nr w\\n(tY 0
+.nr h\\n(tY 0
+.nr o\\n(tY 0
+.\".ds t\\n(tY \\*[t\\n(lC]
+.ds L\\n(tY
+.nr v\\n(tY 0
+..
+.de tZ
+.rm L\\n(tY
+.rr w\\n(tY
+.rr h\\n(tY
+.rr o\\n(tY
+.rm t\\n(tY
+.rr v\\n(tY
+.nr tY \\n(tY-1
+..
+.\" initial values
+.nr w1 0
+.nr o1 0
+.nr h1 0
+.ds t1
+.nr v1 0
+.nr tY 1
+.\" NS Xr macro - cross reference (man page only)
+.de Xr
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Xr
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 .tm Usage: .Xr manpage_name [section#] \\*(Pu (#\\n(.c)
+. el \{\
+. ie \\n[C\\n(aP]>2 \{\
+. as b1 \\*[A\\n(aP]
+. Xr
+. \}
+. el \{\
+. as b1 \&\\*(xR\\*[A\\n(aP]\fP\s0
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. if \\n[C\\n(aP]==2 \{\
+. as b1 \&(\\*[A\\n(aP])
+. if \\n(aP<\\n(aC .as b1 \\*[S\\n(aP]
+. nr aP \\n(aP+1
+. \}
+. if \\n(aC>=\\n(aP \{\
+. c\\n[C\\n(aP]
+. \}
+. \}
+. \}
+. aZ
+. \}
+.\}
+..
+.\" NS Sx macro - cross section reference
+.de Sx
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Sx Usage: .Sx Section Header \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Sx
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. as b1 \\*(sX
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS cC macro - column-list end-list
+.\" NS eW macro - column indent width
+.\" NS cI register - column indent width
+.\" NS W[1-5] macro - establish tabs for list-type column
+.de cC
+'in -\\n[o\\n(lC]u+\\n[w\\n(lC]u
+.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i 6.5i
+.fi
+.tZ
+.nr lC \\n(lC-1
+.tY
+..
+.de W1
+.ta \w\\*(A1 u
+.nr eW \w\\*(A1 u
+'in +\\n(eWu+\\n[o\\n(lC]u
+..
+.de W2
+.ta \w\\*(A1 u +\w\\*(A2 u
+.nr eW \w\\*(A1 u+\w\\*(A2 u
+'in +\\n(eWu+\\n[o\\n(lC]u
+..
+.de W3
+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u
+.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u
+'in +\\n(eWu+\\n[o\\n(lC]u
+..
+.de W4
+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u
+.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u+\w\\*(A4 u
+'in +\\n(eWu+\\n[o\\n(lC]u
+..
+.de W5
+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u
+.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u+\w\\*(A4 u+\w\\*(A5 u
+' in +\\n(eWu+\\n[o\\n(lC]u
+..
+.\" This is packed abnormally close, intercol width should be an option
+.de W6
+.ta \w\\*(A1 u +\w\\*(A2 u +\w\\*(A3 u +\w\\*(A4 u +\w\\*(A5 u +\w\\*(A6 u
+.nr eW \w\\*(A1 u+\w\\*(A2 u+\w\\*(A3 u+\w\\*(A4 u+\w\\*(A5 u+\w\\*(A6 u
+' in +\\n(eWu+\\n[o\\n(lC]u
+..
+.\" NS cL macro - column items
+.de cL
+.if \\n[w\\n(lC]==0 .nr w\\n(lC \\n(eWu
+.if \\n(.u==0 \{\
+. fi
+' in +\\n(eWu
+.\}
+.ti -\\n(eWu
+.if \\n(fV \{\
+. fV
+. nr aP \\n(aP+1
+. ie \\n(aC>=\\n(aP \{\
+. c\\n[C\\n(aP]
+. \}
+. el .tm Usage: .It column_string [Ta [column_string ...] ] (#\\n(.c)
+.\}
+..
+.\" NS Ta macro - append tab (\t)
+.de Ta
+.ie \\n(aC>0 \{\
+. __if_aI_aC
+. nr aP \\n(aP+1
+. ie \\n(aC>=\\n(aP \{\
+. as b1 \\t
+. c\\n[C\\n(aP]
+. \}
+. el \{\
+. as b1 \\t\\c
+. aZ
+. \}
+.\}
+.el \{\
+. tm Usage: Ta must follow column entry: e.g. (#\\n(.c)
+. tm .It column_string [Ta [column_string ...] ]
+.\}
+..
+.\"
+.\" NS Dl macro - display (one line) literal
+.de Dl
+.ta T .5i
+.in +\\n(Dsu
+.ie \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+. tm Usage: .Dl argument ... (#\\n(.c)
+. \}
+. el \{\
+. ds mN Dl
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] "\\$1
+. shift
+. \}
+. fV
+. Li
+. \}
+.\}
+.el \{\
+. tm Usage: .Dl not callable by other macros (#\\n(.c)
+.\}
+.in -\\n(Dsu
+..
+.\"
+.\" NS D1 macro - display (one line)
+.de D1
+.ta T .5i
+.in +\\n(Dsu
+.ie \\n(aC==0 \{\
+. ie \\n(.$==0 \{\
+. tm Usage: .D1 argument ... (#\\n(.c)
+. \}
+. el \{\
+. ds mN D1
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]==1 .\\*[A\\n(aP]
+. el \{\
+. nr aP \\n(aP-1
+. No
+. \}
+. \}
+.\}
+.el \{\
+. tm Usage: .D1 not callable by other macros (#\\n(.c)
+.\}
+.in -\\n(Dsu
+..
+.\" NS Ex macro - exit status
+.\" 0 arguments: \*(n1 is used (error if unset)
+.\" 2 arguments: Output "\$1 and \$2"
+.\" n arguments (n > 2): Output "\$1, ..., \$<n-1>, and \$n"
+.de Ex
+. if !\\n(aC \{\
+. as b1 The
+. ie !\\n(.$ .tm .Ex: "-std" expected as first argument (#\\n(.c)
+. el \{\
+. if !\\$1-std \
+. tm .Ex: "-std" expected as first argument (#\\n(.c)
+. ie \\n(.$=1 \{\
+. as b1 " \\*(nM\\*(n1\fP\s0
+. \}
+. el \{\
+. ds mN Ex
+. shift
+. nr aC \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. nr aP 0
+. \}
+. \}
+. \}
+. if !\\n(aP=\\n(aC \{\
+. nr aP \\n(aP+1
+. if \\n(aP=\\n(aC .if \\n(aC>1 .as b1 " and
+. as b1 " \\*(nM\\*[A\\n(aP]\fP\s0
+. if !\\n(aP=\\n(aC .if \\n(aC>2 .as b1 ,
+. Ex
+. \}
+. if !\\*(b1 \{\
+. ie \\n(aC>1 .as b1 " utilities exit
+. el .as b1 " utility exits
+. as b1 " 0 on success, and >0 if an error occurs.
+. aZ
+. \}
+..
+.\"
+.\" NS Vt macro - Variable type (for forcing old style variable declarations)
+.\" this is not done in the same manner as .Ot for fortrash - clean up later
+.de Vt
+. if !\\n(aC \{\
+. \" if a function declaration was the last thing given, want vertical space
+. if \\n(fD>0 \{\
+. Pp
+. nr fD 0
+. \}
+. \" if a subroutine was the last thing given, want vertical space
+. if \\n(fZ>0 \{\
+. ie \\n(fX==0 \{\
+. Pp
+. rs
+. \}
+. el .br
+. \}
+. nr fX 1
+. ds mN Vt
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]=1 .\\*[A\\n(aP]
+. el \{\
+. ie \\n[C\\n(aP]=2 \{\
+. as b1 \&\\*(fT\\*[A\\n(aP]\fR\s10
+. \}
+. el .as b1 \\*[A\\n(aP]
+. if \\n(aP<\\n(aC .as b1 \\*[S\\n(aP]
+. Vt
+. \}
+. \}
+. aZ
+. if \\n(nS .br
+..
+.\"
+.\" NS Ft macro - Function type
+.nr fZ 0
+.de Ft
+. ie !\\n(aC \{\
+. if \\n(nS>0 \{\
+. ie \\n(fZ>0 \{\
+. Pp
+. nr fD 0
+. nr fX 0
+. \}
+. el .ie \\n(fD>0 \{\
+. Pp
+. nr fD 0
+. nr fX 0
+. \}
+. el .if \\n(fX>0 \{\
+. Pp
+. nr fX 0
+. \}
+. nr fY 1
+. \}
+. ds mN Ft
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]=1 .\\*[A\\n(aP]
+. el \{\
+. as b1 \&\\*(fT\\*[A\\n(aP]\fR\s10
+. if \\n(aP<\\n(aC .as b1 \\*[S\\n(aP]
+. Ft
+. \}
+. \}
+. aZ
+..
+.\"
+.\" NS Ot macro - Old Function type (fortran - no newline)
+.\" Ns oT register
+.nr oT 0
+.de Ot
+.nr oT 1
+.if \\n(nS>0 \{\
+. if \\n(fZ>0 \{\
+. Pp
+. nr fD 0
+. nr fX 0
+. \}
+. if \\n(fD>0 \{\
+. Pp
+. nr fD 0
+. nr fX 0
+. \}
+. if \\n(fX>0 \{\
+. Pp
+. nr fX 0
+. \}
+. nr fY 1
+.\}
+.if \\n(.$==4 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3 \\$4
+.if \\n(.$==3 .as b1 \&\\*(fT\&\\$1 \\$2 \\$3
+.if \\n(.$==2 .as b1 \&\\*(fT\&\\$1 \\$2
+.if \\n(.$==1 .as b1 \&\\*(fT\&\\$1
+.as b1 \&\ \fP
+..
+.\"
+.\" NS Fa macro - Function arguments
+.de Fa
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Fa Function Arguments ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Fa
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.ie \\n(fC>0 \{\
+. fC
+.\}
+.el \{\
+. if \\n(aC>\\n(aP \{\
+. as b1 \\*(fA
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+. if \\n(nS>0 \{\
+. if \\n(fZ>0 .br
+. \}
+. \}
+.\}
+..
+.\" NS fC macro - interal .Fa for .FO and .Fc
+.de fC
+.ie \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ds Fb
+. nr fB 0
+. nr Fb 0
+. fB \\*[A\\n(aP]
+. if \\n(fB>1 \{\
+. rm A\\n(aP
+. rn Fb A\\n(aP
+. \}
+. if \\n(fC>1 \{\
+. as b1 \&\f\\n(cF\s\\n(cZ\|,\\*(fA\\*[S\\n(aP]\\*[A\\n(aP]\fP\s0
+. \}
+. if \\n(fC==1 \{\
+. as b1 \&\|\\*(fA\\*[A\\n(aP]\fP\s0
+. \}
+. nr fC \\n(fC+1
+. fC
+.\}
+.el \{\
+. aY
+.\}
+..
+.\" NS Fn macro - functions
+.\" NS fY register - dick with old style function declarations (fortran)
+.\" NS fZ register - break a line when more than one function in a synopsis
+.\"
+.de Fn
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Fn function_name function_arg(s) ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN Fn
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(nS>0 \{\
+.\" if there is/has been more than one subroutine declaration
+. if \\n(fY==0 \{\
+. if \\n(fZ>0 \{\
+. Pp
+. nr fX 0
+. nr fD 0
+. \}
+. \}
+. if \\n(fY==1 \{\
+. br
+. nr fX 0
+. nr fD 0
+. nr fY 0
+. \}
+. if \\n(fD>0 \{\
+. Pp
+. nr fX 0
+. \}
+. if \\n(fX>0 \{\
+. Pp
+. nr fD 0
+. \}
+. nr fZ \\n(fZ+1
+. nr fY 0
+. rs
+. ie \\n(nS>1 .br
+. el \{\
+. if \\n(iS==0 \{\
+. nr iS 4n
+. \}
+. \}
+. in +\\n(iSu
+. ti -\\n(iSu
+. nr nS \\n(nS+1
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. while \\n[C\\n(aP]=4 \{\
+. as b1 \\*[A\\n(aP]
+. nr aP +1
+. \}
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. as b1 \\*(fN\\*[A\\n(aP]\fP\s0\\*(lp
+. ie \\n(aC>\\n(aP \{\
+. as b1 \\*(fA
+. nr aP \\n(aP+1
+. f\\n[C\\n(aP]
+. \}
+. el \{\
+. ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
+. el .as b1 \|\\*(rp
+. aZ
+. \}
+. if \\n(nS>0 \{\
+. in -\\n(iSu
+. \}
+.\}
+..
+.\"
+.\" NS f1 macro - class switch
+.\" NS f2 macro - handle function arguments
+.\" NS f3 macro - punctuation
+.\" NS f4 macro - write out function
+.de f1
+.ie \\n(nS>0 .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
+.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
+.\\*[A\\n(aP]
+..
+.de f2
+.if \\n(nS>0 \{\
+. ds Fb
+. nr fB 0
+. nr Fb 0
+. fB \\*[A\\n(aP]
+. if \\n(fB>1 \{\
+. rm A\\n(aP
+. rn Fb A\\n(aP
+. \}
+.\}
+.as b1 \\*[A\\n(aP]
+.ie \\n(aC>\\n(aP \{\
+. nr aa \\n(aP
+. nr aP \\n(aP+1
+. if \\n[C\\n(aP]==2 \{\
+. as b1 \&\|\f\\n(cF\s\\n(cZ,\\*[S\\n(aa]\fP\s0\|
+. \}
+. f\\n[C\\n(aP]
+.\}
+.el \{\
+. ie \\n(nS .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ
+. el .as b1 \\*(rp\f\\n(cF\s\\n(cZ
+. aZ
+.\}
+..
+.de f3
+. as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*[A\\n(aP]
+. ie \\n(aC>\\n(aP \{\
+. No
+. \}
+. el .aZ
+..
+.de f4
+.ie \\n(nS .as b1 \\*(rp\fR;\fP\f\\n(cF\s\\n(cZ\\*[S\\n(aP]\\*[A\\n(aP]
+.el .as b1 \\*(rp\f\\n(cF\s\\n(cZ\\*[S\\n(aP]\\*[A\\n(aP]
+.ie \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. No
+.\}
+.el .aZ
+..
+.de Fo
+.hy 0
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .Fo function_name
+. el \{\
+. ds mN Fo
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(nS>0 \{\
+.\" if there is/has been more than one subroutine declaration
+. if \\n(fY==0 \{\
+. if \\n(fZ>0 \{\
+. Pp
+. nr fX 0
+. nr fD 0
+. \}
+. \}
+. if \\n(fY==1 \{\
+. br
+. nr fX 0
+. nr fD 0
+. nr fY 0
+. \}
+. if \\n(fD>0 \{\
+. Pp
+. nr fX 0
+. \}
+. if \\n(fX>0 \{\
+. Pp
+. nr fD 0
+. \}
+. nr fZ \\n(fZ+1
+. nr fY 0
+. rs
+. ie \\n(nS>1 .br
+. el \{\
+. if \\n(iS==0 \{\
+. nr iS 4n
+. \}
+. \}
+. in +\\n(iSu
+. ti -\\n(iSu
+. nr nS \\n(nS+1
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr oM \\n(oM+1
+. nr fC 1
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. as b1 \\*(fN\\*[A\\n(aP]\fP\s0\\*(lp
+. aY
+.\}
+..
+.de Fc
+.if \\n(aC==0 \{\
+. if \\n(.$>0 \{\
+. ds mN Fo
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.nr fC 0
+.nr oM \\n(oM-1
+.ie \\n(nS>0 .as b1 \|\\*(rp\fR;\fP
+.el .as b1 \|\\*(rp
+.ie \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. \\*[A\\n(aP]
+.\}
+.el \{\
+. aZ
+.\}
+.if \\n(nS>0 \{\
+. in -\\n(iSu
+.\}
+.hy
+..
+.\" NS fb macro - if SYNOPSIS, set hard space inbetween function args
+.\" NS fb register - count of words in a function argument
+.\" NS Fb register - counter
+.\" NS Fb string - temporary string
+.de fB
+.\" .tm fB==\\n(fB, Fb==\\n(Fb, 1==\\$1 2==\\$2 3==\\$3 4==\\$4 5==\\$5 6==\\$6
+.if \\n(fB==0 \{\
+. nr fB \\n(.$
+. nr Fb 0
+. ds Fb
+.\}
+.nr Fb \\n(Fb+1
+.as Fb \&\\$1
+.if \\n(Fb<\\n(fB \{\
+. as Fb \&\\*(hV
+. shift
+. fB \\$*
+.\}
+..
+.\" NS Fc - Function close - not implemented yet
+.\" NS Fo - Function open - not implemented yet
+.\"
+.\" Very crude references, stash all reference info into strings (usual
+.\" use of b1 buffer, then b1 contents copied to string of retrievable
+.\" naming convention), print out reference on .Re request and clean up.
+.\" Ordering very limited, no fancy citations, but can do articles, journals
+.\" and books - need to add several missing options (like city etc).
+.\" should be able to grab a refer entry, massage it a wee bit (prefix
+.\" a `.' to the %[A-Z]) and not worry (ha!)
+.\"
+.\" NS Rs macro - Reference Start
+.\" NS rS register - Reference Start flag
+.\" NS rS string - Reference Start buffer name for next save (of b1 buffer)
+.de Rs
+.nr rS 1
+.rC
+.if \\n(nA==1 .Pp
+.nr Kl 0
+..
+.\" NS Re macro - Reference End
+.de Re
+.rZ
+.rC
+.nr rS 0
+.sp
+..
+.\" NS rC macro - reference cleanup
+.de rC
+.nr uK 0
+.nr jK 0
+.nr iK 0
+.nr nK 0
+.nr oK 0
+.nr qK 0
+.nr rK 0
+.nr tK 0
+.nr __uK 0
+.nr vK 0
+.nr dK 0
+.nr pK 0
+.nr bK 0
+.nr cK 0
+.ds rS
+.rm U1 U2 U3 U4 U5 U6 U7 U8
+.rm uK jK iK nK oK rK qK tK vK dK pK bK cK
+..
+.\" NS rZ macro - reference print
+.de rZ
+.if \\n(uK \{\
+. nr aK 1
+. aK
+. nr Kl -\\n(uK
+.\}
+.if \\n(tK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \{\
+. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*(Lq\\*(tK\\*(Rq.
+. \}
+. el \{\&\\*(eM\\*(tK\\*(nO.
+. \}
+. \}
+. if \\n(Kl>0 \{\
+. ie (\\n(jK==1):(\\n(bK==1) \{\&\\*(Lq\\*(tK\\*(Rq,
+. \}
+. el \{\&\\*(eM\\*(tK\\*(nO,
+. \}
+. \}
+.\}
+.if \\n[__uK] \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(eM\\*(uK\\*(nO.
+. if \\n(Kl>0 \&\\*(eM\\*(uK\\*(nO,
+.\}
+.if \\n(bK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(eM\\*(bK\\*(nO.
+. if \\n(Kl>0 \&\\*(eM\\*(bK\\*(nO,
+.\}
+.if \\n(iK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(eM\\*(iK\\*(nO.
+. if \\n(Kl>0 \&\\*(eM\\*(iK\\*(nO,
+.\}
+.if \\n(jK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(eM\\*(jK\\*(nO.
+. if \\n(Kl>0 \&\\*(eM\\*(jK\\*(nO,
+.\}
+.if \\n(rK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(rK.
+. if \\n(Kl>0 \&\\*(rK,
+.\}
+.if \\n(nK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(nK.
+. if \\n(Kl>0 \&\\*(nK,
+.\}
+.if \\n(vK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(vK.
+. if \\n(Kl>0 \&\\*(vK,
+.\}
+.if \\n(pK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(pK.
+. if \\n(Kl>0 \&\\*(pK,
+.\}
+.if \\n(qK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(qK.
+. if \\n(Kl>0 \&\\*(qK,
+.\}
+.if \\n(cK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(cK.
+. if \\n(Kl>0 \&\\*(cK,
+.\}
+.if \\n(dK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(dK.
+. if \\n(Kl>0 \&\\*(dK,
+.\}
+.if \\n(oK \{\
+. nr Kl \\n(Kl-1
+. if \\n(Kl==0 \&\\*(oK.
+. if \\n(Kl>0 \&\\*(oK,
+.\}
+.if \\n(Kl>0 .tm unresolved reference problem
+..
+.\" NS aK macro - print out reference authors
+.de aK
+.lds _n_ \\*[U\\n(aK]
+.ie \\n(aK=\\n(uK \{\
+. if \\n(uK>1 and
+. if 1 \\*[_n_],
+.\}
+.el \{\
+. ie \\n(uK>2 \\*[_n_],
+. el \\*[_n_]
+. nr aK +1
+. aK
+.\}
+..
+.\" NS %A macro - reference author(s)
+.\" NS uK register - reference author(s) counter
+.\" NS U[1-9] strings - reference author(s) names
+.de %A
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%A Author_name (#\\n(.c)
+. el \{\
+. nr uK \\n(uK+1
+. nr Kl \\n(Kl+1
+. ds rS U\\n(uK
+. ds mN %A
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %B macro - [reference] Book Name
+.\" NS bK string - Book Name
+.\" NS bK register - Book Name flag
+.de %B
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%B Book Name (#\\n(.c)
+. el \{\
+. ds mN %B
+. if \\n(rS>0 \{\
+. nr bK \\n(bK+1
+. nr Kl \\n(Kl+1
+. ds rS bK
+. \}
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ie \\n(rS==0 \{\
+. as b1 \&\\*(eM
+. nR
+. \}
+. el .rR
+.\}
+..
+.de %C
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%C city_name (#\\n(.c)
+. el \{\
+. nr cK \\n(cK+1
+. nr Kl \\n(Kl+1
+. ds rS cK
+. ds mN %C
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %D macro - [reference] Date
+.\" NS dK string - Date String
+.\" NS dK register - Date flag
+.de %D
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%D Date (#\\n(.c)
+. el \{\
+. ds mN %D
+. nr dK \\n(dK+1
+. nr Kl \\n(Kl+1
+. ds rS dK
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %I macro - [reference] Issuer/Publisher Name
+.\" NS jK register - [reference] Issuer/Publisher Name flag
+.\" NS jK string - [reference] Issuer/Publisher Name
+.de %I
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%I Issuer/Publisher Name (#\\n(.c)
+. el \{\
+. ds mN %I
+. nr iK \\n(iK+1
+. ds rS iK
+. nr Kl \\n(Kl+1
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %J macro - [reference] Journal Name
+.\" NS jK register - [reference] Journal Name flag
+.\" NS jK string - [reference] Journal Name
+.de %J
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%J Journal Name (#\\n(.c)
+. el \{\
+. ds mN %J
+. nr jK \\n(jK+1
+. ds rS jK
+. nr Kl \\n(Kl+1
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %N macro - [reference] issue number
+.\" NS nK register - [reference] issue number flag
+.\" NS nK string - [reference] issue number
+.de %N
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%N issue number (#\\n(.c)
+. el \{\
+. nr nK \\n(nK+1
+. nr Kl \\n(Kl+1
+. ds rS nK
+. ds mN %N
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %O macro - [reference] optional information
+.\" NS oK register - [reference] optional information flag
+.\" NS oK string - [reference] optional information
+.de %O
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%O optional information ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN %O
+. nr oK \\n(oK+1
+. nr Kl \\n(Kl+1
+. ds rS oK
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %P macro - [reference] page numbers
+.\" NS pK register - [reference] page number flag
+.\" NS pK string - [reference] page number
+.de %P
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%P page numbers ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN %P
+. nr pK \\n(pK+1
+. nr Kl \\n(Kl+1
+. ds rS pK
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %Q macro - Corporate or Foreign Author
+.\" NS qK string - Corporate or Foreign Author
+.\" NS qK register - Corporate or Foreign Author flag
+.de %Q
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%Q Corporate or Foreign Author (#\\n(.c)
+. el \{\
+. ds mN %Q
+. nr qK \\n(qK+1
+. nr Kl \\n(Kl+1
+. ds rS qK
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %R macro - [reference] report name
+.\" NS rK string - [reference] report name
+.\" NS rK register - [reference] report flag
+.de %R
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%R reference report (#\\n(.c)
+. el \{\
+. ds mN %R
+. nr rK \\n(rK+1
+. nr Kl \\n(Kl+1
+. ds rS rK
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS %T macro - reference title
+.\" NS tK string - reference title
+.\" NS tK register - reference title flag
+.de %T
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%T (#\\n(.c)
+. el \{\
+. ds mN %T
+. if \\n(rS>0 \{\
+. nr tK \\n(tK+1
+. nr Kl \\n(Kl+1
+. ds rS tK
+. \}
+. nr fV \\n(.$
+. lnr _i_ 0 1
+. while \\n(.$ \{\
+. ds A\\n+[_i_] \\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. ie \\n(rS==0 \{\
+. as b1 \&\\*(eM
+. nR
+. \}
+. el .rR
+.\}
+..
+.\" NS %U macro - URL
+.de %U
+. if !\\n(aC \{\
+. ie !\\n(.$ .tm Usage: .%U <URL> (#\\n(.c)
+. el \{\
+. ds mN %U
+. nr __uK \\n[__uK]+1
+. nr Kl \\n(Kl+1
+. ds rS uK
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC>\\naP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+. \}
+..
+.\" NS %V macro - reference volume
+.\" NS vK string - reference volume
+.\" NS vK register - reference volume flag
+.de %V
+.if \\n(aC==0 \{\
+. ie \\n(.$==0 .tm Usage: .%V Volume , ... \\*(Pu (#\\n(.c)
+. el \{\
+. ds mN %V
+. nr vK \\n(vK+1
+. nr Kl \\n(Kl+1
+. ds rS vK
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. rR
+.\}
+..
+.\" NS rR macro - reference recursion routine
+.de rR
+.hy 0
+.ie \\n[C\\n(aP]=1 \{\
+. ie \\*[A\\n(aP]Tn \{\
+. nN
+. \}
+. el \{\
+. aI rR 1
+. \\*[A\\n(aP]
+. \}
+.\}
+.el \{\
+. as b1 \&\\*[A\\n(aP]
+. ie \\n(aC==\\n(aP \{\
+. rD
+. \}
+. el \{\
+. as b1 \&\\*[S\\n(aP]
+. nr aP +1
+. rR
+. \}
+.\}
+..
+.\" NS rD macro - save b1 buffer in to appropriate name
+.de rD
+.as \\*(rS \\*(b1
+.ds b1
+.ds rS
+.aY
+..
+.\" NS Hf macro - source include header files.
+.de Hf
+.Pp
+File:
+.Pa \\$1
+.Pp
+.nr cF \\n(.f
+.nr cZ \\n(.s
+.ie t \{\
+\&\\*(lI
+.br
+.ta +9n 18n 27n 36n 45n 54n 63n 72n
+.\}
+.el \{\
+.ta +8n 16n 24n 32n 40n 48n 56n 64n 72n
+.\}
+.nf
+.so \\$1
+.fi
+.ft \\n(cF
+.fz \\n(cZ
+.Pp
+..
+.\" NS An macro - author name
+.\" NS aN register
+.\" xX local register
+.nr aN 0
+.de An
+.if \\n(nY==1 \{\
+. ie \\n(aN==1 \{\
+. br
+. \}
+. el \{\
+. nr aN 1
+. \}
+.\}
+.if \\n(aC==0 \{\
+. ie \\$1-nosplit \{\
+. nr xX 1
+. nr nY 0
+. \}
+. el .ie \\$1-split \{\
+. nr xX 1
+. nr nY 1
+. \}
+. el .nr xX 0
+. ie \\n(.$==0 .tm Usage: .An author_name ... \\*(Pu (#\\n(.c)
+. el .if !\\n(.$=1&\\n(xX \{\
+. ds mN An
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+.\}
+.if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. nr cF \\n(.f
+. nr cZ \\n(.s
+. nR
+.\}
+..
+.\" NS Sf macro -defunct
+.de Sf
+.tm .Sf defunct, use prefix or Ns
+..
+.ds __rV1.1 Upon successful completion, the value\~0 is returned
+.ds __rV1.2 the value 0 if successful
+.ds __rV2 ; otherwise the value\~-1 is returned and the global variable \\*(vA
+.as __rV2 errno\fP is set to indicate the error.
+.\" Ns Rv macro - return values
+.\" Ns rV string - standard return message
+.de Rv
+.ie \\n(.$==0 \{\
+.tm Usage: .Rv [-std] (#\\n(.c)
+.\}
+.el \{\
+. ds mN Rv
+. if \\$1-std \{\
+. if \B\\*(cH .if (\\*(cH<2):(\\*(cH>3) \
+. tm Usage: .Rv -std sections 2 and 3 only
+. br
+. ie \\$2 \\*[__rV1.1]\\*[__rV2]
+. el \{\
+. nop The
+. ie \\$3 \\$2() function returns
+. el \{\
+. lnr i 2
+. while \\ni<=\\n(.$ \{\
+. ie \\n(.$>3&(\\ni<\\n(.$) .lds c ,
+. el .lds c
+. nop \\$[\\ni]()\\*c
+. nr i +1
+. if \\ni=\\n(.$ and
+. \}
+. nop functions return
+. \}
+. nop \\*[__rV1.2]\\*[__rV2]
+. \}
+. \}
+.\}
+..
+.\" NS Lk macro
+.de Lk
+. if !\\n(aC \{\
+. ie !\\n(.$ .tm Usage: .Lk <URL> (#\\n(.c)
+. el \{\
+. ds mN Lk
+. nr fV \\n(.$
+. lnr i 0 1
+. while \\n(.$ \{\
+. ds A\\n+i "\\$1
+. shift
+. \}
+. fV
+. \}
+. \}
+. if \\n(aC>\\n(aP \{\
+. nr aP \\n(aP+1
+. ie \\n[C\\n(aP]>2 \{\
+. as b1 \\*[Lk.t]
+. ds Lk.t
+. nR
+. \}
+. el .ie \\n[C\\n(aP]=1 \{\
+. as b1 \\*[Lk.t]
+. ds Lk.t
+. \\*[A\\n(aP]
+. \}
+. el .ie !\\n[C\\n(aP]=2 \{\
+. tm .Lk: \\*[A\\n(aP]: Unexpected argument type \\n[C\\n(aP] (#\\n(.c)
+. \}
+. el \{\
+. ie \\*[Lk.t] .ds Lk.t \fB\\*[A\\n(aP]\fP
+. el .ds Lk.t \fI\\*[A\\n(aP]\fP: \\*[Lk.t]
+. Lk
+. \}
+. \}
+. as b1 \\*[Lk.t]
+. ds Lk.t
+. aZ
+..
+.de saveState
+. ie \\n(fV .lnr _i_ \\n(fV
+. el .ie \\n(aC .lnr _i_ \\n(aC
+. el .tm saveState: aC and fV are zero in \\n(.F line \\n(.c
+. nr _i_ +1
+. while \\n[_i_] \{\
+. nr _i_ -1
+. ds A\\n[_i_].saved "\\*[A\\n[_i_]]
+. ds A\\n[_i_]
+. ds C\\n[_i_].saved "\\*[C\\n[_i_]]
+. ds C\\n[_i_]
+. ds S\\n[_i_].saved "\\*[S\\n[_i_]]
+. ds S\\n[_i_]
+. \}
+. lnr _i_ 10
+. while \\n[_i_] \{\
+. nr _i_ -1
+. nr nU\\n[_i_].saved \\n[nU\\n[_i_]]
+. nr nU\\n[_i_] 0
+. nr o\\n[_i_].saved \\n[o\\n[_i_]]
+. nr o\\n[_i_] 0
+. nr v\\n[_i_].saved \\n[v\\n[_i_]]
+. nr v\\n[_i_] 0
+. nr w\\n[_i_].saved \\n[w\\n[_i_]]
+. nr w\\n[_i_] 0
+. ds L\\n[_i_].saved "\\*[L\\n[_i_]]
+. ds t\\n[_i_].saved "\\*[t\\n[_i_]]
+. \}
+. nr Xt.saved \\n[Xt]
+. nr Xt 0
+. nr aC.saved \\n[aC]
+. nr aC 0
+. nr aJ.saved \\n[aJ]
+. nr aJ 0
+. nr aP.saved \\n[aP]
+. nr aP 0
+. nr bF.saved \\n[bF]
+. nr bF 0
+. nr bV.saved \\n[bV]
+. nr bV 0
+. nr bZ.saved \\n[bZ]
+. nr bZ 0
+. nr cF.saved \\n[cF]
+. nr cF 0
+. nr cZ.saved \\n[cZ]
+. nr cZ 0
+. nr dV.saved \\n[dV]
+. nr dV 0
+. nr dZ.saved \\n[dZ]
+. nr fC.saved \\n[fC]
+. nr fC 0
+. nr fD.saved \\n[fD]
+. nr fD 0
+. nr fV.saved \\n[fV]
+. nr fV 0
+. nr fX.saved \\n[fX]
+. nr fX 0
+. nr fZ.saved \\n[fZ]
+. nr fZ 0
+. nr iD.saved \\n[iD]
+. nr iD 0
+. nr iS.saved \\n[iS]
+. nr iS 0
+. nr lC.saved \\n[lC]
+. nr nS.saved \\n[nS]
+. nr nS 0
+. nr oM.saved \\n[oM]
+. nr oM 0
+. nr sM.saved \\n[sM]
+. nr tC.saved \\n[tC]
+. nr tC 0
+. nr tP.saved \\n[tP]
+. nr tP 0
+. nr tW.saved \\n[tW]
+. nr tW 0
+. nr tX.saved \\n[tX]
+. nr tX 0
+. ds aA.saved "\\*[aA]
+. ds aA
+. ds b1.saved "\\*[b1]
+. ds b1
+. ds b2.saved "\\*[b2]
+. ds b2
+. ds iV.saved "\\*[iV]
+. ds iV
+. ds kS.saved "\\*[kS]
+. ds kS
+. ds mN.saved "\\*[mN]
+. ds mN
+. ds n1.saved "\\*[n1]
+. ds n1
+. ds pA.saved "\\*[pA]
+. ds pA
+. ds qL.saved "\\*[qL]
+. ds qL
+. ds qR.saved "\\*[qR]
+. ds qR
+. ds sV.saved "\\*[sV]
+. ds tX.saved "\\*[tX]
+. ds tX
+. ds xB.saved "\\*[xB]
+. ds xB
+..
+.de restoreState
+. nr Xt \\n[Xt.saved]
+. nr aC \\n[aC.saved]
+. nr aJ \\n[aJ.saved]
+. nr aP \\n[aP.saved]
+. nr bF \\n[bF.saved]
+. nr bV \\n[bV.saved]
+. nr bZ \\n[bZ.saved]
+. nr cF \\n[cF.saved]
+. nr cZ \\n[cZ.saved]
+. nr dV \\n[dV.saved]
+. nr dZ \\n[dZ.saved]
+. nr fC \\n[fC.saved]
+. nr fD \\n[fD.saved]
+. nr fV \\n[fV.saved]
+. nr fX \\n[fX.saved]
+. nr fZ \\n[fZ.saved]
+. nr iD \\n[iD.saved]
+. nr iS \\n[iS.saved]
+. nr lC \\n[lC.saved]
+. nr nS \\n[nS.saved]
+. nr oM \\n[oM.saved]
+. nr sM \\n[sM.saved]
+. nr tC \\n[tC.saved]
+. nr tP \\n[tP.saved]
+. nr tW \\n[tW.saved]
+. nr tX \\n[tX.saved]
+. ds aA "\\*[aA.saved]
+. ds b1 "\\*[b1.saved]
+. ds b2 "\\*[b2.saved]
+. ds iV "\\*[iV.saved]
+. ds kS "\\*[kS.saved]
+. ds mN "\\*[mN.saved]
+. ds n1 "\\*[n1.saved]
+. ds pA "\\*[pA.saved]
+. ds qL "\\*[qL.saved]
+. ds qR "\\*[qR.saved]
+. ds sV "\\*[sV.saved]
+. ds tX "\\*[tX.saved]
+. ds xB "\\*[xB.saved]
+. ie \\n(fV .lnr _i_ \\n(fV
+. el .ie \\n(aC .lnr _i_ \\n(aC
+. el .tm restoreState: aC and fV are zero in \\n(.F line \\n(.c
+. nr _i_ +1
+. while \\n[_i_] \{\
+. nr _i_ -1
+. ds A\\n[_i_] "\\*[A\\n[_i_].saved]
+. ds C\\n[_i_] "\\*[C\\n[_i_].saved]
+. ds S\\n[_i_] "\\*[S\\n[_i_].saved]
+. \}
+. lnr _i_ 10
+. while \\n[_i_] \{\
+. nr _i_ -1
+. nr nU\\n[_i_] \\n[nU\\n[_i_].saved]
+. nr o\\n[_i_] \\n[o\\n[_i_].saved]
+. nr v\\n[_i_] \\n[v\\n[_i_].saved]
+. nr w\\n[_i_] \\n[w\\n[_i_].saved]
+. ds L\\n[_i_] "\\*[L\\n[_i_].saved]
+. ds t\\n[_i_] "\\*[t\\n[_i_].saved]
+. \}
+..
+.\" vim:set syntax=groff:
diff --git a/troff/troff.d/tmac.d/e.in b/troff/troff.d/tmac.d/e.in
new file mode 100644
index 0000000000000..2971eb69e9908
--- /dev/null
+++ b/troff/troff.d/tmac.d/e.in
@@ -0,0 +1,1051 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" from OpenSolaris "e 1.7 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)e.in 1.3 (gritter) 9/3/06
+.\"
+.nr _0 \n(.c
+.\"**********************************************************************
+.\"* *
+.\"* ****** - M E N R O F F / T R O F F M A C R O S ****** *
+.\"* *
+.\"* Produced for your edification and enjoyment by: *
+.\"* Eric Allman *
+.\"* Electronics Research Laboratory *
+.\"* U.C. Berkeley. *
+.\"* current address: *
+.\"* Britton-Lee, Inc. *
+.\"* 1919 Addison Street Suite 105 *
+.\"* Berkeley, California 94704 *
+.\"* *
+.\"* VERSION 2.14 First Release: 11 Sept 1978 *
+.\"* See file \*(||/revisions for revision history *
+.\"* *
+.\"* Documentation is available. *
+.\"* *
+.\"**********************************************************************
+.\"
+.\" @(#)tmac.e 2.14 12/28/81
+.if !\n(.V .tm You are using the wrong version of NROFF/TROFF!!
+.if !\n(.V .tm This macro package works only on the version seven
+.if !\n(.V .tm release of NROFF and TROFF.
+.if !\n(.V .ex
+.if \n(pf \
+. nx \*(||/null.me
+.de @C
+.nr _S \\n(.s
+.nr _V \\n(.v
+.nr _F \\n(.f
+.nr _I \\n(.i
+.ev \\$1
+.ps \\n(_S
+.vs \\n(_Vu
+.ft \\n(_F
+'in \\n(_Iu
+.xl \\n($lu
+.lt \\n($lu
+.rr _S
+.rr _V
+.rr _F
+.rr _I
+.ls 1
+'ce 0
+..
+.de @D
+.ds |p "\\$3
+.nr _d \\$1
+.ie "\\$2"C" \
+. nr _d 1
+.el .ie "\\$2"L" \
+. nr _d 2
+.el .ie "\\$2"I" \
+. nr _d 3
+.el .ie "\\$2"M" \
+. nr _d 4
+.el \
+. ds |p "\\$2
+..
+.de @z
+.if !"\\n(.z"" \
+\{\
+. tm Line \\n(c. -- Unclosed block, footnote, or other diversion (\\n(.z)
+. di
+. ex
+.\}
+.if \\n(?a \
+. bp
+.rm bp
+.rm @b\"
+.if t \
+. wh -1p @m
+.br
+..
+.de @I
+.rm th
+.rm ac
+.rm lo
+.rm sc
+.rm @I
+..
+.de he
+.ie !\\n(.$ \
+\{\
+. rm |4
+. rm |5
+.\}
+.el \
+\{\
+. ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+. ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+.\}
+..
+.de eh
+.ie !\\n(.$ \
+. rm |4
+.el \
+. ds |4 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de oh
+.ie !\\n(.$ \
+. rm |5
+.el \
+. ds |5 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de fo
+.ie !\\n(.$ \
+\{\
+. rm |6
+. rm |7
+.\}
+.el \
+\{\
+. ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+. ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+.\}
+..
+.de ef
+.ie !\\n(.$ \
+. rm |6
+.el \
+. ds |6 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de of
+.ie !\\n(.$ \
+. rm |7
+.el \
+. ds |7 "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de ep
+.if \\n(nl>0 \
+\{\
+. wh 0
+. rs
+. @b
+.\}
+..
+.de @h
+.if (\\n(.i+\\n(.o)>=\\n(.l \
+. tm Line \\n(c. -- Offset + indent exceeds line length
+.if t .if "\*(.T"" .if (\\n(.l+\\n(.o)>7.75i \
+. tm Line \\n(c. -- Offset + line length exceeds paper width
+.nr ?h \\n(?H
+.rr ?H
+.nr ?c \\n(?C
+.rr ?C
+.rn |4 |0
+.rn |5 |1
+.rn |6 |2
+.rn |7 |3
+.nr _w 0
+.nr ?W 0
+.nr ?I 1
+.ev 2
+.rs
+.if t .@m
+.if \\n(hm>0 \
+. sp |\\n(hmu
+.@t $h
+.if \\n(tm<=0 \
+. nr tm \n(.Vu
+.sp |\\n(tmu
+.ev
+.mk _k
+.if \\n(?n .nm 1
+.nr $c 1
+.ie \\n(?s \
+\{\
+. rr ?s
+. rs
+' @b
+.\}
+.el \
+. @n
+..
+.de @m
+.@O 0
+.lt 7.5i
+.tl '\(rn''\(rn'
+.@O
+.lt
+..
+.de @n
+.if \\n(bm<=0 \
+. nr bm \\n(.Vu
+.if (\\n(_w<=\\n($l)&(\\n(?W=0) \
+\{\
+. nr _b (\\n(ppu*\\n($ru)/2u
+. if \\n(_bu>((\\n(bmu-\\n(fmu-(\\n(tpu*\\n($ru))/2u) \
+. nr _b (\\n(ppu*\\n($ru)-\n(.Vu
+. nr _b +\\n(bmu
+.\}
+.nr _B \\n(_bu
+.ch @f
+.wh -\\n(_bu @f
+.nr ?f 0
+.if \\n(?o \
+\{\
+. (f _
+. nf
+. |o
+. fi
+. )f
+. rm |o
+.\}
+.nr ?o 0
+.if \\n(?T \
+\{\
+. nr _i \\n(.i
+. in \\n($iu
+. |h
+. in \\n(_iu
+. rr _i
+. mk #T
+. ns
+.\}
+.if (\\n(?a)&((\\n($c<2):(\\n(?w=0)) \
+\{\
+. nr ?a 0
+. @k |t
+. if \\n(?w \
+. mk _k
+. nr ?w 0
+.\}
+.os
+.$H
+.ns
+..
+.de @f
+.ec
+.if \\n(?T \
+\{\
+. nr T. 1
+. T# 1
+. br
+.\}
+.ev 2
+.ce 0
+.if \\n(?b \
+\{\
+. nr ?b 0
+. @k |b\"
+.\}
+.if \\n(?f \
+. @o
+.ie \\n($c<\\n($m \
+. @c
+.el \
+. @e
+.ev
+..
+.de @o
+.nf
+.ls 1
+.in 0
+.wh -\\n(_Bu @r
+.|f
+.fi
+.if \\n(?o \
+. di
+. if \\n(dn=0 \
+\{\
+. rm |o
+. nr ?o 0
+. \}
+. nr dn \\n(_D
+. rr _D
+.\}
+.rm |f
+.ch @r
+..
+.de @c
+.rs
+.sp |\\n(_ku
+.@O +\\n($lu+\\n($su
+.nr $c +1
+.@n
+..
+.de @e
+.@O \\n(_ou
+.rs
+.sp |\\n(.pu-\\n(fmu-(\\n(tpu*\\n($ru)
+.@t $f
+.nr ?h 0
+.bp
+..
+.de @t
+.if !\\n(?h \
+\{\
+. sz \\n(tp
+. @F \\n(tf
+. lt \\n(_Lu
+. nf
+. \\$1
+. br
+.\}
+..
+.de $h
+.rm |z
+.if !\\n(?c \
+\{\
+. if e .ds |z "\\*(|0
+. if o .ds |z "\\*(|1
+.\}
+.if !\(ts\\*(|z\(ts\(ts \
+' tl \\*(|z
+.rm |z
+..
+.de $f
+.rm |z
+.if \\n(?c \
+\{\
+. if e .ds |z "\\*(|0
+. if o .ds |z "\\*(|1
+.\}
+.if \(ts\\*(|z\(ts\(ts \
+\{\
+. if e .ds |z "\\*(|2
+. if o .ds |z "\\*(|3
+.\}
+.if !\(ts\\*(|z\(ts\(ts \
+' tl \\*(|z
+.rm |z
+..
+.de @r
+.di |o
+.nr ?o 1
+.nr _D \\n(dn
+.ns
+..
+.rn bp @b
+.de bp
+.nr $c \\n($m
+.ie \\n(nl>0 \
+. @b \\$1
+.el \
+\{\
+. if \\n(.$>0 \
+. pn \\$1
+. if \\n(?I \
+. @h
+.\}
+.br
+.wh 0 @h
+..
+.rn ll xl
+.de ll
+.xl \\$1
+.lt \\$1
+.nr $l \\n(.l
+.if (\\n($m<=1):(\\n($l>\\n(_L) \
+. nr _L \\n(.l
+..
+.rn po @O
+.de po
+.@O \\$1
+.nr _o \\n(.o
+..
+.de hx
+.nr ?H 1
+..
+.de ix
+'in \\$1
+..
+.de bl
+.br
+.ne \\$1
+.rs
+.sp \\$1
+..
+.de n1
+.nm 1
+.xl -\w'0000'u
+.nr ?n 1
+..
+.de n2
+.nm \\$1
+.ie \\n(.$ \
+. xl -\w'0000'u
+.el \
+. xl \\n($lu
+..
+.de pa
+.bp \\$1
+..
+.de ro
+.af % i
+..
+.de ar
+.af % 1
+..
+.de m1
+.nr _0 \\n(hmu
+.nr hm \\$1v
+.nr tm +\\n(hmu-\\n(_0u
+.rr _0
+..
+.de m2
+.nr tm \\n(hmu+\\n(tpp+\\$1v
+..
+.de m3
+.nr bm \\n(fmu+\\n(tpp+\\$1v
+..
+.de m4
+.nr _0 \\n(fmu
+.nr fm \\$1v
+.nr bm +\\n(fmu-\\n(_0u
+..
+.de sk
+.if \\n(.$>0 \
+. tm Line \\n(c. -- I cannot skip multiple pages
+.nr ?s 1
+..
+.de re
+.ta 0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i +0.5i
+..
+.if t .ig
+.de re
+.ta 0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i +0.8i
+..
+.de ba
+.ie \\n(.$ \
+. nr $i \\$1n
+.el \
+. nr $i \\n(siu*\\n($0u
+..
+.de hl
+.br
+\l'\\n(.lu-\\n(.iu'
+.sp
+..
+.de pp
+.lp \\n(piu
+..
+.de lp
+.@p
+.if \\n(.$ \
+. ti +\\$1
+.nr $p 0 1
+..
+.de ip
+.if (\\n(ii>0)&(\\n(ii<1n) \
+. nr ii \\n(iin
+.nr _0 \\n(ii
+.if \\n(.$>1 \
+. nr _0 \\$2n
+.@p \\n(_0u
+.if \\w"\\$1" \
+\{\
+. ti -\\n(_0u
+. ie \\w"\\$1">=\\n(_0 \
+\{\
+\&\\$1
+. br
+. \}
+. el \&\\$1\h'|\\n(_0u'\c
+.\}
+.rr _0
+..
+.de np
+.nr $p +1
+.ip (\\n($p)
+..
+.de @p
+.@I
+.if "\\n(.z"|e" .tm Line \\n(c. -- Unmatched continued equation
+.in \\n($iu+\\n(pou
+.if \\n(.$ \
+. in +\\$1n
+.ce 0
+.fi
+.@F \\n(pf
+.sz \\n(pp
+.sp \\n(psu
+.ne \\n(.Lv+\\n(.Vu
+.ns
+..
+.de sh
+.rn sh @T
+.so \\*(||/sh.me
+.sh "\\$1" "\\$2" \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
+.rm @T
+..
+.de $p
+.if (\\n(si>0)&(\\n(.$>2) \
+. nr $i \\$3*\\n(si
+.in \\n($iu
+.ie !"\\$1\\$2"" \
+\{\
+. sp \\n(ssu
+. ne \\n(.Lv+\\n(.Vu+\\n(psu+(\\n(spu*\\n($ru*\\n(.Lu)
+. ie \\n(.$>2 \
+. ti -(\\n(siu-\\n(sou)
+. el \
+. ti +\\n(sou
+. @F \\n(sf
+. sz \\n(sp
+. if \\$3>0 \
+. $\\$3
+. if \w"\\$2">0 \\$2.
+. if \w"\\$1">0 \\$1\f1\ \ \"
+.\}
+.el \
+. sp \\n(psu
+.@F \\n(pf
+.sz \\n(pp
+..
+.de uh
+.rn uh @T
+.so \\*(||/sh.me
+.uh "\\$1"
+.rm @T
+..
+.de 2c
+.br
+.if \\n($m>1 \
+. 1c
+.nr $c 1
+.nr $m 2
+.if \\n(.$>1 \
+. nr $m \\$2
+.if \\n(.$>0 \
+. nr $s \\$1n
+.nr $l (\\n(.l-((\\n($m-1)*\\n($s))/\\n($m
+.xl \\n($lu
+.mk _k
+.ns
+..
+.de 1c
+.br
+.nr $c 1
+.nr $m 1
+.ll \\n(_Lu
+.sp |\\n(.hu
+.@O \\n(_ou
+..
+.de bc
+.sp 24i
+..
+.de (z
+.rn (z @V
+.so \\*(||/float.me
+.(z \\$1 \\$2
+.rm @V
+..
+.de )z
+.tm Line \\n(c. -- unmatched .)z
+..
+.de (t
+.(z \\$1 \\$2
+..
+.de )t
+.)z \\$1 \\$2
+..
+.de (b
+.br
+.@D 3 \\$1 \\$2
+.sp \\n(bsu
+.@(
+..
+.de )b
+.br
+.@)
+.if (\\n(bt=0):(\\n(.t<\\n(bt) \
+. ne \\n(dnu
+.ls 1
+.nf
+.|k
+.ec
+.fi
+.in 0
+.xl \\n($lu
+.ev
+.rm |k
+.sp \\n(bsu+\\n(.Lv-1v
+..
+.de @(
+.if !"\\n(.z"" .tm Line \\n(c. -- Illegal nested keep \\n(.z
+.@M
+.di |k
+\!'rs
+..
+.de @M
+.nr ?k 1
+.@C 1
+.@F \\n(df
+.vs \\n(.su*\\n($Ru
+.nf
+.if "\\*(|p"F" \
+. fi
+.if \\n(_d=4 \
+. in 0
+.if \\n(_d=3 \
+\{\
+. in +\\n(biu
+. xl -\\n(biu
+.\}
+.if \\n(_d=1 \
+. ce 10000
+..
+.de @)
+.br
+.if !"\\n(.z"|k" .tm Line \\n(c. -- Close of a keep which has never been opened
+.nr ?k 0
+.di
+.in 0
+.ce 0
+..
+.de (c
+.if "\\n(.z"|c" .tm Line \\n(c. -- Nested .(c requests
+.di |c
+..
+.de )c
+.if !"\\n(.z"|c" .tm Line \\n(c. -- Unmatched .)c
+.br
+.di
+.ev 1
+.ls 1
+.in (\\n(.lu-\\n(.iu-\\n(dlu)/2u
+.nf
+.|c
+.ec
+.in
+.ls
+.ev
+.rm |c
+..
+.de (q
+.br
+.@C 1
+.fi
+.sp \\n(qsu
+.in +\\n(qiu
+.xl -\\n(qiu
+.sz \\n(qp
+..
+.de )q
+.br
+.ev
+.sp \\n(qsu+\\n(.Lv-1v
+.nr ?k 0
+..
+.de (l
+.br
+.sp \\n(bsu
+.@D 3 \\$1 \\$2
+.@M
+..
+.de )l
+.br
+.ev
+.sp \\n(bsu+\\n(.Lv-1v
+.nr ?k 0
+..
+.de EQ
+.rn EQ @T
+.so \\*(||/eqn.me
+.EQ \\$1 \\$2
+.rm @T
+..
+.de TS
+.rn TS @W
+.so \\*(||/tbl.me
+.TS \\$1 \\$2
+.rm @W
+..
+.de ]-
+.rn ]- @]
+.so \\*(||/refer.me
+.]-
+.rm @]
+..
+.if n .ds [. " [
+.if t .ds [. \s-2\v'-.4m'\f1
+.if n .ds .] ]
+.if t .ds .] \v'.4m'\s+2\fP
+.if n .ds <. "
+.if t .ds <. .
+.if n .ds >. .
+.if t .ds >. "
+.de sz
+.ps \\$1
+.vs \\n(.su*\\n($ru
+.bd S B \\n(.su/3u
+..
+.de r
+.nr _F \\n(.f
+.ul 0
+.ft 1
+.if \\n(.$ \&\\$1\f\\n(_F\\$2
+.rr _F
+..
+.de i
+.nr _F \\n(.f
+.ul 0
+.ft 2
+.if \\n(.$ \&\\$1\f\\n(_F\\$2
+.rr _F
+..
+.de b
+.nr _F \\n(.f
+.ul 0
+.ft \\n($b
+.if \\n(.$ \&\\$1\f\\n(_F\\$2
+.rr _F
+..
+.de rb
+.nr _F \\n(.f
+.ul 0
+.ft 3
+.if \\n(.$ \&\\$1\f\\n(_F\\$2
+.rr _F
+..
+.de u
+\&\\$1\l'|0\(ul'\\$2
+..
+.de q
+\&\\*(lq\\$1\\*(rq\\$2
+..
+.de bi
+.ft 2
+.ie t \&\k~\\$1\h'|\\n~u+(\\n(.su/3u)'\\$1\fP\\$2
+.el \&\\$1\fP\\$2
+..
+.de bx
+.ie \\n($T \&\f2\\$1\fP\\$2
+.el \k~\(br\|\\$1\|\(br\l'|\\n~u\(rn'\l'|\\n~u\(ul'\^\\$2
+..
+.de @F
+.nr ~ \\$1
+.if \\n~>0 \
+\{\
+. ul 0
+. if \\n~>4 \
+. nr ~ \\n($b
+. ft \\n~
+.\}
+.rr ~
+..
+.de (f
+.rn (f @U
+.so \\*(||/footnote.me
+.(f \\$1 \\$2
+.rm @U
+..
+.de )f
+.tm Line \\n(c. -- unmatched .)f
+..
+.de $s
+\l'2i'
+.if n \
+. sp 0.3
+..
+.de (d
+.rn (d @U
+.so \\*(||/deltext.me
+.(d \\$1 \\$2
+.rm @U
+..
+.de )d
+.tm Line \\n(c. -- unmatched .)d
+..
+.de (x
+.rn (x @U
+.so \\*(||/index.me
+.(x \\$1 \\$2
+.rm @U
+..
+.de )x
+.tm Line \\n(c. -- unmatched .)x
+..
+.de th
+.so \\*(||/thesis.me
+.rm th
+..
+.de +c
+.ep
+.if \\n(?o:\\n(?a \
+\{\
+. bp
+. rs
+. ep
+.\}
+.nr ?C 1
+.nr $f 1 1
+.ds * \\*[1\\*]\k*
+.if \\n(?R \
+. pn 1
+.bp
+.in \\n($iu
+.rs
+.ie \\n(.$ \
+. $c "\\$1"
+.el \
+. sp 3
+..
+.de ++
+.nr _0 0
+.if "\\$1"C" \
+. nr _0 1
+.if "\\$1"RC" \
+. nr _0 11
+.if "\\$1"A" \
+. nr _0 2
+.if "\\$1"RA" \
+. nr _0 12
+.if "\\$1"P" \
+. nr _0 3
+.if "\\$1"B" \
+. nr _0 4
+.if "\\$1"AB" \
+. nr _0 5
+.if \\n(_0=0 \
+. tm Line \\n(c. -- Bad mode to .++
+.nr ?R 0
+.if \\n(_0>10 \
+.\{
+. nr ?R 1
+. nr _0 -10
+.\}
+.nr ch 0 1
+.if (\\n(_0=3):(\\n(_0=5) \
+. pn 1
+.ep
+.if \\n(_0=1 \
+\{\
+. af ch 1
+. af % 1
+.\}
+.if \\n(_0=2 \
+\{\
+. af ch A
+. af % 1
+.\}
+.if \\n(_0=3 \
+. af % i
+.if \\n(_0=4 \
+. af % 1
+.if \\n(_0=5 \
+. af % 1
+.if \\n(.$>1 \
+. he \\$2
+.if !\\n(_0=\\n(_M .if \\n(_M=3 \
+. pn 1
+.nr _M \\n(_0
+.rr _0
+..
+.de $c
+.sz 12
+.ft B
+.ce 1000
+.if \\n(_M<3 \
+. nr ch +1
+.ie \\n(_M=1 CHAPTER\ \ \\n(ch
+.el .if \\n(_M=2 APPENDIX\ \ \\n(ch
+.if \w"\\$1" .sp 3-\\n(.L
+.if \w"\\$1" \\$1
+.if (\\n(_M<3):(\w"\\$1") \
+. sp 4-\\n(.L
+.ce 0
+.ft
+.sz
+.ie \\n(_M=1 \
+. $C Chapter \\n(ch "\\$1"
+.el .if \\n(_M=2 \
+. $C Appendix \\n(ch "\\$1"
+..
+.de tp
+.hx
+.bp
+.br
+.rs
+.pn \\n%
+..
+.de ac
+.rn ac @T
+.so \\*(||/acm.me
+.ac "\\$1" "\\$2"
+.rm @T
+..
+.de lo
+.so \\*(||/local.me
+.rm lo
+..
+.if \n(mo=1 .ds mo January
+.if \n(mo=2 .ds mo February
+.if \n(mo=3 .ds mo March
+.if \n(mo=4 .ds mo April
+.if \n(mo=5 .ds mo May
+.if \n(mo=6 .ds mo June
+.if \n(mo=7 .ds mo July
+.if \n(mo=8 .ds mo August
+.if \n(mo=9 .ds mo September
+.if \n(mo=10 .ds mo October
+.if \n(mo=11 .ds mo November
+.if \n(mo=12 .ds mo December
+.if \n(dw=1 .ds dw Sunday
+.if \n(dw=2 .ds dw Monday
+.if \n(dw=3 .ds dw Tuesday
+.if \n(dw=4 .ds dw Wednesday
+.if \n(dw=5 .ds dw Thursday
+.if \n(dw=6 .ds dw Friday
+.if \n(dw=7 .ds dw Saturday
+.nr _Y 1900+\n(yr
+.ds td \*(mo \n(dy, \n(_Y
+.if (1m<0.1i)&(\nx>0) \
+. vs 9p
+.rr x
+.nr $r \n(.v/\n(.s
+.nr $R \n($r
+.nr hm 4v
+.nr tm 7v
+.nr bm 6v
+.nr fm 3v
+.nr tf 3
+.nr tp 10
+.hy 14
+.nr bi 4n
+.nr pi 5n
+.nr pf 1
+.nr pp 10
+.nr qi 4n
+.nr qp -1
+.nr ii 5n
+.nr $m 1
+.nr $s 4n
+.ds || @MACDIR@
+.bd S B 3
+.ds [ \u\x'-0.25v'
+.ds ] \d
+.ds < \d\x'0.25v'
+.ds > \u
+.ds - --
+.if t \
+\{\
+. ds [ \v'-0.4m'\x'-0.2m'\s-3
+. ds ] \s0\v'0.4m'
+. ds < \v'0.4m'\x'0.2m'\s-3
+. ds > \s0\v'-0.4m'
+. ds - \-
+. nr fi 0.3i
+.\}
+.if n \
+\{\
+. nr fi 3n
+.\}
+.nr _o \n(.o
+.if n .po 1i
+.if \n(.V=1v \
+. nr $T 2
+.if \n(.T=0 \
+. nr $T 1
+.if t \
+\{\
+. nr $T 0
+. po -0.5i
+.\}
+.if \nv \
+. po 1i
+.if \n($T \
+\{\
+. if \n($T=1 \
+. po 0
+. ds [ [
+. ds ] ]
+. ds < <
+. ds > >
+.\}
+.nr $b \nb
+.rr b
+.if \n($b=0 \
+\{\
+. if n .nr $b 2
+. if t .nr $b 3
+.\}
+.nr ps 0.5v
+.if \n($T \
+. nr ps 1v
+.if t .nr ps 0.35v
+.nr bs \n(ps
+.nr qs \n(ps
+.nr zs 1v
+.nr xs 0.2v
+.nr fs 0.2v
+.if \n($T \
+. nr fs 0
+.if n .nr es 1v
+.if t .nr es 0.5v
+.wh 0 @h
+.nr $l \n(.lu
+.nr _L \n(.lu
+.nr $c 1
+.nr $f 1 1
+.ds * \*[1\*]\k*\"
+.nr $d 1 1
+.ds # [1]\k#\"
+.nr _M 1
+.ds lq \&"\"
+.ds rq \&"\"
+.if t \
+. ds lq ``
+.if t \
+. ds rq ''
+.em @z
+.de sc
+.so \\*(||/chars.me
+.rm sc
+..
+.rm @m
+.ll 6.0i
+.lt 6.0i
diff --git a/troff/troff.d/tmac.d/eqn.me b/troff/troff.d/tmac.d/eqn.me
new file mode 100644
index 0000000000000..9e2f9c986525f
--- /dev/null
+++ b/troff/troff.d/tmac.d/eqn.me
@@ -0,0 +1,110 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)eqn.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)eqn.me 2.1 8/18/80
+.de EQ
+.ec
+.if !\\n(?e \
+\{\
+. if "\\n(.z"|e" .tm Line \\n(c. -- Nested .EQ request
+. @D 1 "\\$1" "\\$2"
+. @C 2
+. di |e
+.\}
+.ls 1
+.in 0
+.nf
+..
+.de EN
+.br
+.ie "\\$1"C" \
+\{\
+. nr ?e 1
+. sp \\n(esu
+.\}
+.el \
+\{\
+. nr ?e 0
+. di
+. if \\n(dn \
+. @q
+. rm |e
+. rm 10
+. rm 11
+. rm 12
+. rm 13
+. rm 14
+. rm 15
+. rm 16
+. rm 17
+. rm 18
+. rm 19
+. rm 20
+. rm 21
+. rm 22
+. rm 23
+. ev
+.\}
+..
+.de @q
+.nr _Q \\n(dnu
+.ev
+.sp \\n(esu
+.@C 2
+.ie \\n(_d=1 \
+. in (\\n(.lu+\\n($iu-\\n(dlu)/2u
+.el .ie \\n(_d=2 \
+. in \\n($iu
+.el .ie \\n(_d=3 \
+. in \\n(biu+\\n($iu
+.el .if \\n(_d=4 \
+. in 0
+.if !"\\n(.z"" \!.ne \\n(_Qu
+.ne \\n(_Qu+\n(.Vu
+.mk _q
+.if !"\\*(|p"" \
+\{\
+. rs
+. sp (\\n(_Qu-\\n(.vu)/2u
+. tl """\\*(|p"
+. rt \\n(_qu
+.\}
+.|e
+.sp |\\n(_qu+\\n(_Qu
+.sp \\n(esu+\\n(.Lv-1v
+.rr _q
+.rr _Q
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/float.me b/troff/troff.d/tmac.d/float.me
new file mode 100644
index 0000000000000..db213ee18514f
--- /dev/null
+++ b/troff/troff.d/tmac.d/float.me
@@ -0,0 +1,93 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)float.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)float.me 2.2 2/26/81
+.de (z
+.@D 4 \\$1 \\$2
+.@(
+.nr ?T 0
+..
+.de )z
+.sp \\n(zsu
+.@)
+.rr _0
+.if !\\n(?b \
+. nr dn +(\\n(ppu*\\n($ru)/2u+\\n(zsu
+.nr dl -\n(.H
+.ie ((\\n(dn+\n(.V)>=\\n(.t):(\\n(?a):((\\n(dl>\\n($l)&(\\n($c>1)) \
+\{\
+. nr ?a 1
+. if (\\n(dl>\\n($l)&(\\n($m>1) \
+. nr ?w 1
+. ds |x |t
+.\}
+.el \
+\{\
+. nr ?b 1
+. if (\\n(dl>\\n($l)&(\\n($m>1) \
+. nr ?W 1
+. nr _b +\\n(dnu
+. ch @f -\\n(_bu
+. ds |x |b
+.\}
+.da \\*(|x
+.nf
+.ls 1
+.nr ?k 1
+\!.if \\\\n(nl>(\\\\n(tm+2v) .ne \\n(dnu-\\n(zsu
+.|k\"
+.ec
+.nr ?k 0
+.rm |k\"
+.da
+.in 0
+.ls 1
+.xl \\n($lu
+.ev
+..
+.de @k
+.ev 1
+.nf
+.ls 1
+.in 0
+.sp \\n(zsu
+.\\$1
+.ec
+.br
+.rm \\$1
+.ev
+.nr ?T 0
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/footnote.me b/troff/troff.d/tmac.d/footnote.me
new file mode 100644
index 0000000000000..851d86e8f030e
--- /dev/null
+++ b/troff/troff.d/tmac.d/footnote.me
@@ -0,0 +1,116 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)footnote.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)footnote.me 2.6 3/10/86
+.de (f
+.ec
+.if "\\n(.z"|f" .tm Line \\n(c. -- Illegal footnote nesting
+.ie "\\n(.z"" \
+\{\
+. nr _D \\n(dn
+. nr _0 1v+\\n(nlu
+. ev 2
+. da |f
+. in 0
+. xl \\n($lu-\\n(fuu
+. @F \\n(ff
+. sz \\n(fp
+. vs \\n(.su*\\n($Ru
+. if !\\n(?f \
+\{\
+. nr _b +1v
+. $s
+. \}
+. br
+. if \\n(.p-\\n(_b-\\n(_0-\\n(.h-1v-\\n(fs<0 \
+\{\
+. da\"
+. bc
+. if !\\n(?f \
+. rm |f
+. da |f
+. in 0
+. xl \\n($lu-\\n(fuu
+. @F \\n(ff
+. sz \\n(fp
+. vs \\n(.su*\\n($Ru
+. if !\\n(?f \
+. $s
+. br
+. \}
+. rr _0
+. sp \\n(fsu
+. nr ?f 1
+. fi
+. if !"\\$1"_" \
+. ti \\n(fiu
+.\}
+.el \
+\{\
+. ev 2
+\!.(f \\$1
+.\}
+..
+.de )f
+.ie "\\n(.z"|f" \
+\{\
+. if \\n* \
+. nr $f +1
+. ds * \\*[\\n($f\\*]\k*
+. rr *
+. in 0
+. da
+. ev
+. if \\n(_w<\\n(dl \
+. nr _w \\n(dl
+. nr _b +\\n(dn
+. ch @f -\\n(_bu
+. if \\n(.p-\\n(_b<=\\n(nl \
+. ch @f \\n(nlu+\n(.Vu
+. nr dn _D
+. rr _D
+.\}
+.el \
+\{\
+. br
+\!.)f
+. ev
+.\}
+..
+.if \n(ff<=0 \
+. nr ff 1
+.if \n(fp<=0 \
+. nr fp 8
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/g.in b/troff/troff.d/tmac.d/g.in
new file mode 100644
index 0000000000000..627a2da786303
--- /dev/null
+++ b/troff/troff.d/tmac.d/g.in
@@ -0,0 +1,237 @@
+.\"
+.\" Heirloom troff: groff compatibility macros
+.\"
+.\" Gunnar Ritter, Freiburg i. Br., Germany, August 2006
+.\"
+.\" Sccsid @(#)g.in 1.13 (gritter) 10/20/07
+.\"
+.cp 0
+.lc_ctype en_US
+.hylang en_US
+.de dei
+.de \*[\\$1] \*[\\$2]
+..
+.de ami
+.am \*[\\$1] \*[\\$2]
+..
+.als am1 am
+.als de1 de
+.als as1 as
+.als ds1 ds
+.als fallback fspecial
+.als tkf track
+.rm ftr
+.de mso_tryone
+. ev mso_env
+. nf
+. di mso_out
+. cc 
+ pso ls \\$1 2>/dev/null
+ cc .
+. br
+. di
+. ev
+. chop mso_out
+. asciify mso_out
+. if \\$1\\*[mso_out] \{\
+. so \\*[mso_out]
+. nr mso_ok 1
+. \}
+..
+.de mso_try
+. nr mso_ok 0
+. if \\$1 .return
+. mso_tryone \\$1/\\$2
+. if \\n[mso_ok] .return
+. mso_tryone \\$1/\\$2.tmac
+. if \\n[mso_ok] .return
+. mso_tryone \\$1/m\\$2.tmac
+. if \\n[mso_ok] .return
+. mso_tryone \\$1/tmac.\\$2
+. if \\n[mso_ok] .return
+..
+.de mso
+. ds mso_groff_tmac_path \V[GROFF_TMAC_PATH]
+. while 1 \{\
+. index mso_: mso_groff_tmac_path :
+. ie \\n[mso_:]>=0 \{\
+. ds mso_dir \\*[mso_groff_tmac_path]
+. substring mso_dir 0 \\n[mso_:]-1
+. mso_try "\\*[mso_dir]" "\\$1"
+. substring mso_groff_tmac_path \\n[mso_:]+1
+. if \\n[mso_ok] .return
+. \}
+. el \{\
+. mso_try "\\*[mso_groff_tmac_path]" "\\$1"
+. if \\n[mso_ok] .return
+. break
+. \}
+. \}
+. ds mso_troffmacs \V[TROFFMACS]
+. mso_try "\\*[mso_troffmacs]" "\\$1"
+. if \\n[mso_ok] .return
+. mso_try @MACDIR@/ "\\$1"
+. if \\n[mso_ok] .return
+. errprint macro package \\$1 not found
+..
+.if t \{\
+. fp \n[.fp] C CW
+. fp \n[.fp] CR CW
+. fp \n[.fp] CO CI
+. char \(%0 \[perthousand]
+. char \('A \[Aacute]
+. char \('E \[Eacute]
+. char \('I \[Iacute]
+. char \('O \[Oacute]
+. char \('U \[Uacute]
+. char \('Y \[Yacute]
+. char \('a \[aacute]
+. char \('e \[eacute]
+. char \('i \[iacute]
+. char \('o \[oacute]
+. char \('u \[uacute]
+. char \('y \[yacute]
+. char \(+f \[phi1]
+. char \(+p \[omega1]
+. char \(,C \[Ccedilla]
+. char \(,c \[ccedilla]
+. char \(.i \[dotlessi]
+. char \(/L \[Lslash]
+. char \(/O \[Oslash]
+. char \(/_ \[angle]
+. char \(/l \[lslash]
+. char \(/o \[oslash]
+. char \(3d \[therefore]
+. char \(:A \[Adieresis]
+. char \(:E \[Edieresis]
+. char \(:I \[Idieresis]
+. char \(:O \[Odieresis]
+. char \(:U \[Udieresis]
+. char \(:Y \[Ydieresis]
+. char \(:a \[adieresis]
+. char \(:e \[edieresis]
+. char \(:i \[idieresis]
+. char \(:o \[odieresis]
+. char \(:u \[udieresis]
+. char \(:y \[ydieresis]
+. char \(AE \[AE]
+. char \(AN \[logicaland]
+. char \(Ah \[aleph]
+. char \(Bq \[quotedblbase]
+. char \(CL \[club]
+. char \(Cs \[currency]
+. char \(DI \[diamond]
+. char \(Do \[dollar]
+. char \(Eu \[Euro]
+. char \(Fc \[guillemotright]
+. char \(Fn \[florin]
+. char \(Fo \[guillemotleft]
+. char \(HE \[heart]
+. char \(Im \[Ifraktur]
+. char \(OE \[OE]
+. char \(OR \[logicalor]
+. char \(Of \[ordfeminine]
+. char \(Om \[ordmasculine]
+. char \(Po \[sterling]
+. char \(Re \[Rfraktur]
+. char \(S2 \[twosuperior]
+. char \(S3 \[threesuperior]
+. char \(SP \[spade]
+. char \(Sd \[eth]
+. char \(TP \[Thorn]
+. char \(Tp \[thorn]
+. char \(Ye \[yen]
+. char \(^A \[Acircumflex]
+. char \(^E \[Ecircumflex]
+. char \(^I \[Icircumflex]
+. char \(^O \[Ocircumflex]
+. char \(^U \[Ucircumflex]
+. char \(^a \[acircumflex]
+. char \(^e \[ecircumflex]
+. char \(^i \[icircumflex]
+. char \(^o \[ocircumflex]
+. char \(^u \[ucircumflex]
+. char \(`A \[Agrave]
+. char \(`E \[Egrave]
+. char \(`I \[Igrave]
+. char \(`O \[Ograve]
+. char \(`U \[Ugrave]
+. char \(`a \[agrave]
+. char \(`e \[egrave]
+. char \(`i \[igrave]
+. char \(`o \[ograve]
+. char \(`u \[ugrave]
+. char \(a" \[hungarumlaut]
+. char \(a. \[dotaccent]
+. char \(a^ \[circumflex]
+. char \(ab \[breve]
+. char \(ac \[cedilla]
+. char \(ad \[dieresis]
+. char \(ae \[ae]
+. char \(ah \[caron]
+. char \(an \[arrowhorizex]
+. char \(ao \[ring]
+. char \(aq \[quotesingle]
+. char \(at \[at]
+. char \(a~ \[tilde]
+. char \(a- \[macron]
+. char \(bq \[quotesinglbase]
+. char \(c* \[circlemultiply]
+. char \(c+ \[circleplus]
+. char \(cq \[quoteright]
+. char \(dA \[arrowdbldown]
+. char \(eu \[official]
+. char \(f/ \[fraction]
+. char \(fc \[guilsinglright]
+. char \(fo \[guilsinglleft]
+. char \(hA \[arrowdblboth]
+. char \(ha \[asciicircum]
+. char \(ho \[ogonek]
+. char \(lA \[arrowdblleft]
+. char \(lB \[bracketleft]
+. char \(lC \[braceleft]
+. char \(la \[angleleft]
+. char \(lq \[quotedblleft]
+. char \(lz \[lozenge]
+. char \(mc \[mu]
+. char \(md \[dotmath]
+. char \(oA \[Aring]
+. char \(oa \[aring]
+. char \(oe \[oe]
+. char \(oq \[quoteleft]
+. char \(pc \[periodcentered]
+. char \(r! \[exclamdown]
+. char \(r? \[questiondown]
+. char \(rA \[arrowdblright]
+. char \(rB \[bracketright]
+. char \(rC \[braceright]
+. char \(ra \[angleright]
+. char \(rq \[quotedblright]
+. char \(sd \[second]
+. char \(sh \[numbersign]
+. char \(ss \[germandbls]
+. char \(st \[suchthat]
+. char \[t+-] \[plusminus]
+. char \[tdi] \[divide]
+. char \(tf \[therefore]
+. char \(ti \[asciitilde]
+. char \[tmu] \[multiply]
+. char \(uA \[arrowdblup]
+. char \(vS \[Scaron]
+. char \(vZ \[Zcaron]
+. char \(vs \[scaron]
+. char \(vz \[zcaron]
+. char \(wp \[weierstrass]
+. char \(~A \[Atilde]
+. char \(~N \[Ntilde]
+. char \(~O \[Otilde]
+. char \(~a \[atilde]
+. char \(~n \[ntilde]
+. char \(~o \[otilde]
+. char \(-D \[Eth]
+. char \[sqrt] \[radical]
+\# for GNU tbl
+. char \[tbl]
+\# for GNU eqn
+. char \(EQ
+.\}
diff --git a/troff/troff.d/tmac.d/index.me b/troff/troff.d/tmac.d/index.me
new file mode 100644
index 0000000000000..9e141a0d55c16
--- /dev/null
+++ b/troff/troff.d/tmac.d/index.me
@@ -0,0 +1,134 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" from OpenSolaris index.me 1.5 05/06/08 SMI
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)index.me 1.3 (gritter) 11/13/06
+.\"
+.nr _0 \n(c.
+.if \n(.X .do nr IXcount 0 1
+.\" from index.me 2.8 3/19/81
+.de (x
+.ds |X x
+.if \\n(.$>0 \
+. ds |X \\$1
+.ie !"\\n(.z"" \
+\{\
+. ev 2
+\!.(x \\*(|X
+.rm |X
+.\}
+.el \
+\{\
+. ie \\n(.X&\\n(.k \
+. do de (x-\\n+[IXcount] )x
+. el \
+. am %\\*(|X )x
+. sp \\n(xsu
+. ti -\\n(piu
+.\}
+..
+.de )x
+.ie "\\n(.z"" \
+\{\
+. ie (\\n(.X=0):(\\n(.$>0):(\\n(.k=0) \
+\{\
+. ds |x \\n%
+. if \\n(.$>0 \
+. ds |x \\$1
+. if "\\*(|x"_" \
+. ig ..
+. am %\\*(|X ..
+. if \w"\\$2">(\\n(.l-\\n(.i-\\n(.k) \
+. ti +\\n(xuu
+\\\\a\\\\t\\$2\\*(|x
+...
+. \}
+. el \
+\{\
+. do de IX-\\n[IXcount]
+. do am (x-\\n[IXcount] ..
+. if \w"\\$2">(\\n(.l-\\n(.i-\\n(.k) \
+. ti +\\n(xuu
+\\\\\\\\a\\\\\\\\t\\$2\\\\n%
+\\..\\.
+. am %\\*(|X ..
+. do (x-\\n[IXcount]
+\\..\\.
+\\..
+. do nr IXsaveX \\n(.X
+. do xflag 3
+\\P[IX-\\n[IXcount]]\c
+. do xflag \\n[IXsaveX]
+. \}
+. rm |x
+. rm |X
+.\}
+.el \
+\{\
+\!.)x \\$1 \\$2
+. br
+. ev
+.\}
+..
+.de xp
+.br
+.@C 2
+.ls 1
+.vs \\n(.su*\\n($Ru
+.fi
+.in +\\n(piu
+.ds |X x
+.if \\n(.$>0 \
+. ds |X \\$1
+.xl -(\\n(xuu+\w'...'u)
+.di |x
+.%\\*(|X
+.br
+.di
+.rm %\\*(|X
+.xl \\n($lu
+.rm |X
+.ev
+.nf
+.in 0
+.ta \\n(.lu-\\n(xuuR \\n(.luR
+.|x
+.fi
+.in
+.rm |x
+..
+.if \n(xu<=0 \
+. nr xu 0.5i
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/local.me b/troff/troff.d/tmac.d/local.me
new file mode 100644
index 0000000000000..5711cfbcb49b6
--- /dev/null
+++ b/troff/troff.d/tmac.d/local.me
@@ -0,0 +1,43 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)local.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" this file may contain local macros, which are initialized with
+.\" the ".lo" request. All macros and number registers in this file
+.\" should be named ".*X", where X is any letter (upper or lower case)
+.\" or digit, to avoid naming conflicts.
+.\"
+.\" @(#)local.me 2.1 8/18/80
+. \" *** insert new definitions before this line ***
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/m.in b/troff/troff.d/tmac.d/m.in
new file mode 100644
index 0000000000000..14d8a7c9648f6
--- /dev/null
+++ b/troff/troff.d/tmac.d/m.in
@@ -0,0 +1,40 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" from OpenSolaris "m 1.6 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Sccsid @(#)m.in 1.2 (gritter) 8/13/05
+.\"
+.if n .so @MACDIR@/mmn
+.if t .so @MACDIR@/mmt
diff --git a/troff/troff.d/tmac.d/man.7 b/troff/troff.d/tmac.d/man.7
new file mode 100644
index 0000000000000..94c4eeb7ee25b
--- /dev/null
+++ b/troff/troff.d/tmac.d/man.7
@@ -0,0 +1,1220 @@
+.\" -*- nroff -*-
+.TH MAN 1 "March 26, 2016"
+.SH NAME
+man \- man macros to support generation of manual pages
+.
+.
+.\" --------------------------------------------------------------------
+.\" Legal Terms
+.\" --------------------------------------------------------------------
+.
+.de co
+Copyright \[co] 1999-2014 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.
+..
+.
+.de au
+This manual page was originally written for the Debian GNU/Linux
+system by
+.MT sgk@debian.org
+Susan G.\& Kleinmann
+.ME .
+
+It was corrected and updated by
+.MT wl@gnu.org
+Werner Lemberg
+.ME .
+
+The extension macros were documented (and partly designed) by
+.MT esr@thyrsus.com
+Eric S.\& Raymond
+.ME ;
+he also wrote the portability advice.
+
+The manual page had been changed to document the Heirloom doctools
+.B \-man
+macros by others.
+The original file is found in path
+.P
+.RS
+.EX
+tmac/groff_man.7.man
+.EE
+.RE
+.P
+of the
+.B groff
+repository which can by downloaded with
+.P
+.RS
+.EX
+git clone git://git.savannah.gnu.org/groff.git
+.EE
+.RE
+..
+.
+.\" --------------------------------------------------------------------
+.SH SYNOPSIS
+.\" --------------------------------------------------------------------
+.
+.SY "nroff\ \-man"
+.RI [ options
+.IR .\|.\|.\& ]
+.RI [ files
+.IR .\|.\|.\& ]
+.
+.SY "troff\ \-man"
+.RI [ options
+.IR .\|.\|.\& ]
+.RI [ files
+.IR .\|.\|.\& ]
+.
+.SY "nroff\ \-mandoc"
+.RI [ options
+.IR .\|.\|.\& ]
+.RI [ files
+.IR .\|.\|.\& ]
+.
+.SY "troff\ \-mandoc"
+.RI [ options
+.IR .\|.\|.\& ]
+.RI [ files
+.IR .\|.\|.\& ]
+.YS
+.
+.
+.\" --------------------------------------------------------------------
+.SH DESCRIPTION
+.\" --------------------------------------------------------------------
+.
+The
+.B man
+macros are used to generate
+.I man\~pages
+with
+.I nroff
+or
+.IR troff .
+.
+This document provides a brief summary of the use of each macro in that
+package.
+.
+.
+.\" --------------------------------------------------------------------
+.SH OPTIONS
+.\" --------------------------------------------------------------------
+.
+The
+.B man
+macros understand the following command line options (which define
+various registers).
+.
+.
+.TP
+.BI \-dToc= filename
+Generate table of contents, hyperlinks and PDF bookmarks.
+Table of contents entries generated from
+.B .SH
+and
+.B .SS
+macros are output on
+.B stderr
+with
+.RB \(lq Toc: \(rq
+prepended.
+See the
+.B \TEXAMPLESEXAMPLES\T
+section for example commands using this option.
+.
+.
+.TP
+.B \-rcR=1
+This option (the default if in nroff mode) creates a single, very
+long page instead of multiple pages.
+.
+Say
+.B \-rcR=0
+to disable it.
+.
+.
+.ig
+.TP
+.B \-rC1
+If more than one manual page is given on the command line, number the
+pages continuously, rather than starting each at\~1.
+..
+.
+.
+.ig
+.TP
+.B \-rD1
+Double-sided printing.
+.
+Footers for even and odd pages are formatted differently.
+..
+.
+.
+.ig
+.TP
+.BI \-rFT= dist
+Set distance of the footer relative to the bottom of the page if
+negative or relative to the top if positive.
+.
+The default is \-0.5i.
+..
+.
+.
+.ig
+.TP
+.BI \-rHY= flags
+Set hyphenation flags.
+.
+Possible values are 1\~to hyphenate without restrictions, 2\~to not
+hyphenate the last word on a page, 4\~to not hyphenate the last two
+characters of a word, and 8\~to not hyphenate the first two characters
+of a word.
+.
+These values are additive; the default is\~14.
+..
+.
+.
+.TP
+.BI \-rIN= width
+Set body text indentation to
+.IR width .
+.
+The default is 7n for
+.IR nroff ,
+7.2n for
+.IR troff .
+.
+For
+.IR nroff ,
+this value should always be an integer multiple of unit \[oq]n\[cq] to
+get consistent indentation.
+.
+.
+.TP
+.BI \-rLL= line-length
+Set line length.
+.
+If this option is not given, the line length is set to respect any
+value set by a prior \[oq].ll\[cq] request (which
+.I must
+be in effect when the \[oq].TH\[cq] macro is invoked),
+if this differs from the built\-in default for the formatter;
+otherwise it defaults to 78n in
+.I nroff
+mode and 6.5i in
+.I troff
+mode.
+.
+.
+.IP
+Note that the use of a \[oq].ll\[cq] request to initialize the line
+length is supported for backward compatibility with some versions of
+the
+.B man
+program;
+direct initialization of the \[oq]LL\[cq] register should
+.I always
+be preferred to the use of such a request.
+.
+In particular, note that a \[oq].ll\ 65n\[cq] request does
+.I not
+preserve the normal
+.I nroff
+default line length,
+(the
+.B man
+default initialization to 78n prevails), whereas, the
+\[oq]\-rLL=65n\[cq] option, or an equivalent \[oq].nr\ LL\ 65n\[cq]
+request preceding the use of the \[oq]TH\[cq] macro,
+.I does
+set a line length of 65n.
+.
+.
+.ig
+.TP
+.BI \-rLT= title-length
+Set title length.
+.
+If this option is not given, the title length defaults to the line
+length.
+..
+.
+.
+.ig
+.TP
+.BI \-rP nnn
+Enumeration of pages start with
+.I nnn
+rather than with\~1.
+..
+.
+.
+.TP
+.BI \-rS xx
+Base document font size is
+.I xx
+points
+.RI ( xx
+can be 10, 11, or\~12) rather than 10\~points.
+.
+.
+.ig
+.TP
+.BI \-rSN= width
+Set sub-subheading indentation to
+.IR width .
+The default is 3n.
+..
+.
+.
+.ig
+.TP
+.BI \-rX nnn
+After page\~\c
+.IR nnn ,
+number pages as
+.IR nnn a,
+.IR nnn b,
+.IR nnn c,
+etc.
+.
+For example, the option \[oq]\-rX2\[cq] produces the following page
+numbers: 1, 2, 2a, 2b, 2c, etc.
+..
+.
+.
+.\" --------------------------------------------------------------------
+.SH USAGE
+.\" --------------------------------------------------------------------
+.
+This section describes the available macros for manual pages.
+.
+.TP
+.B .EX
+.TQ
+.B .EE
+Example/End Example.
+.
+After
+.BR .EX ,
+filling is disabled and the font is set to constant-width.
+.
+This is useful for formatting code, command, and configuration-file
+examples.
+.
+The
+.B EE
+macro restores filling and restores the previous font.
+.
+.
+.TP
+.BI .HP " \fR[\fPnnn\fR]\fP"
+Set up a paragraph with hanging left indentation.
+.
+The indentation is set to
+.I nnn
+if that argument is supplied (the default unit is \[oq]n\[cq] if
+omitted), otherwise it is set to the previous indentation value
+specified with
+.BR .TP ,
+.BR .IP ,
+or
+.B .HP
+(or to the default value if none of them have been used yet).
+.
+Font size and face are reset to its default values.
+.
+The following paragraph illustrates the effect of this macro with
+hanging indentation set to\~4 (enclosed by
+.B .RS
+and
+.B .RE
+to set the left margin temporarily to the current indentation):
+.
+.
+.RS
+.HP 4
+This is a paragraph following an invocation of the
+.B HP
+macro.
+.
+As you can see, it produces a paragraph where all lines but the first
+are indented.
+.RE
+.
+.
+.IP
+Use of this presentation-level macro is deprecated.
+.
+While it is universally portable to legacy Unix systems, a hanging
+indentation cannot be expressed naturally under HTML, and many
+HTML-based manual viewers simply interpret it as a starter for a
+normal paragraph.
+.
+Thus, any information or distinction you tried to express with the
+indentation may be lost.
+.
+.
+.TP
+.BI .IP " \fR[\fPdesignator\fR]\fP \fR[\fPnnn\fR]\fP"
+Set up an indented paragraph, using
+.I designator
+as a tag to mark its beginning.
+.
+The indentation is set to
+.I nnn
+if that argument is supplied (the default unit is \[oq]n\[cq] if
+omitted), otherwise it is set to the previous indentation value
+specified with
+.BR .TP ,
+.BR .IP ,
+or
+.B .HP
+(or to the default value if none of them have been used yet).
+.
+Font size and face of the paragraph (but not the designator) are reset
+to its default values.
+.
+.
+.IP
+To start an indented paragraph with a particular indentation but
+without a designator, use \[oq]""\[cq] (two doublequotes) as the
+second argument.
+.
+.
+.IP
+For example, the following paragraphs were all set up with bullets as
+the designator, using \[oq].IP\ \\(bu\ 4\[cq].
+.
+The whole block has been enclosed with
+.B .RS
+and
+.B .RE
+to set the left margin temporarily to the current indentation value.
+.
+.
+.RS
+.IP \(bu 4
+.B IP
+is one of the three macros used in the
+.B man
+package to format lists.
+.
+.
+.IP \(bu 4
+.B HP
+is another.
+.
+This macro produces a paragraph with a left hanging indentation.
+.
+.
+.IP \(bu 4
+.B TP
+is another.
+.
+This macro produces an unindented label followed by an indented
+paragraph.
+.RE
+.
+.
+.TP
+.B .LP
+.TQ
+.B .PP
+.TQ
+.B .P
+These macros are mutual aliases.
+.
+Any of them causes a line break at the current position, followed by a
+vertical space downwards by the amount specified by the
+.B PD
+macro.
+.
+The font size and shape are reset to the default value (normally 10pt
+Roman).
+.
+Finally, the current left margin and the indentation is reset to the
+default values.
+.
+.
+.TP
+.BI .RE " \fR[\fPnnn\fR]\fP"
+This macro moves the left margin back to level
+.IR nnn ,
+restoring the previous left margin.
+.
+If no argument is given, it moves one level back.
+.
+The first level (i.e., no call to
+.B .RS
+yet) has number\~1, and each call to
+.B .RS
+increases the level by\~1.
+.
+.
+.TP
+.BI .RS " \fR[\fPnnn\fR]\fP"
+This macro moves the left margin to the right by the value
+.I nnn
+if specified (default unit is \[oq]n\[cq]); otherwise it is set to the
+previous indentation value specified with
+.BR .TP ,
+.BR .IP ,
+or
+.B .HP
+(or to the default value if none of them have been used yet).
+.
+The indentation value is then set to the default.
+.
+.
+.IP
+Calls to the
+.B RS
+macro can be nested.
+.
+.
+.TP
+.BI .SH " \fR[\fPtext for a heading\fR]\fP"
+Set up an unnumbered section heading sticking out to the left.
+.
+Prints out all the text following
+.B .SH
+up to the end of the line (or the text in the next input line if there
+is no argument to
+.BR .SH )
+in bold face
+(or the font specified by the string
+.BR HF ),
+one size larger than the base document size.
+.
+Additionally, the left margin and the indentation for the following
+text is reset to the default values.
+.
+.
+.TP
+.BI .SS " \fR[\fPtext for a heading\fR]\fP"
+Set up a secondary, unnumbered section heading.
+.
+Prints out all the text following
+.B .SS
+up to the end of the line (or the text in the next input line if there
+is no argument to
+.BR .SS )
+in bold face
+(or the font specified by the string
+.BR HF ),
+at the same size as the base document size.
+.
+Additionally, the left margin and the indentation for the following
+text is reset to the default values.
+.
+.
+.TP
+.BI .TH " title section \fR[\fPextra1\fR]\fP \fR[\fPextra2\fR]\fP \fR[\fPextra3\fR]"
+Set the title of the
+.I man\~page
+to
+.I title
+and the section to
+.IR section ,
+which must take on a value between 1 and\~8.
+.
+The value
+.I section
+may also have a string appended, e.g.\& \[oq].pm\[cq], to indicate a
+specific subsection of the
+.IR \%man\~pages .
+.
+Both
+.I title
+and
+.I section
+are positioned at the left and right in the header line (with
+.I section
+in parentheses immediately appended to
+.IR title .
+.
+.I extra1
+is positioned in the middle of the footer line.
+.
+.I extra2
+is positioned at the left in the footer line (or at the left on
+even pages and at the right on odd pages if double-sided printing is
+active).
+.
+.I extra3
+is centered in the header line.
+.
+.
+.IP
+For HTML output, headers and footers are completely suppressed.
+.
+.
+.IP
+Additionally, this macro starts a new page; the new line number is\~1
+again (except if the \[oq]\-rC1\[cq] option is given on the command
+line) -- this feature is intended only for formatting multiple
+.IR \%man\~pages ;
+a single
+.I \%man\~page
+should contain exactly one
+.B TH
+macro at the beginning of the file.
+.
+.
+.TP
+.BI .TP " \fR[\fPnnn\fR]\fP"
+Set up an indented paragraph with label.
+.
+The indentation is set to
+.I nnn
+if that argument is supplied (the default unit is \[oq]n\[cq] if omitted),
+otherwise it is set to the previous indentation value specified with
+.BR .TP ,
+.BR .IP ,
+or
+.B .HP
+(or to the default value if none of them have been used yet).
+.
+.
+.IP
+The first input line of text following this macro is interpreted as a
+string to be printed flush-left, as it is appropriate for a label.
+.
+It is not interpreted as part of a paragraph, so there is no attempt
+to fill the first line with text from the following input lines.
+.
+Nevertheless, if the label is not as wide as the indentation the
+paragraph starts at the same line (but indented), continuing on the
+following lines.
+.
+If the label is wider than the indentation the descriptive part of the
+paragraph begins on the line following the label, entirely indented.
+.
+Note that neither font shape nor font size of the label is set to a
+default value; on the other hand, the rest of the text has default
+font settings.
+.
+.
+.IP
+The
+.B TP
+macro is the macro used for the explanations you are just reading.
+.
+.
+.TP
+.B .TQ
+The
+.B TQ
+macro sets up header continuation for a
+.B TP
+macro.
+.
+With it, you can stack up any number of labels (such as in a
+glossary, or list of commands) before beginning the indented
+paragraph.
+.
+For an example, look up the documentation of the
+.BR LP ,
+.BR PP ,
+and
+.BR P
+macros.
+.
+.
+.PP
+To summarize, the following macros cause a line break with the
+insertion of vertical space (which amount can be changed with the
+.B PD
+macro):
+.BR SH ,
+.BR SS ,
+.BR TP ,
+.BR TQ ,
+.B LP
+.RB ( PP ,
+.BR P ),
+.BR IP ,
+and
+.BR HP .
+The macros
+.BR RS ,
+.BR RE ,
+.BR EX ,
+and
+.B EE
+also cause a break but no insertion of vertical space.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "MACROS TO SET FONTS"
+.\" --------------------------------------------------------------------
+.
+The standard font is Roman; the default text size is 10\~point.
+.
+.
+.TP
+.BI .B " \fR[\fPtext\fR]\fP"
+Causes
+.I text
+to appear in bold face.
+.
+If no text is present on the line where the macro is called the text
+of the next input line appears in bold face.
+.
+.
+.TP
+.BI ".BI " text
+Causes text on the same line to appear alternately in bold face and
+italic.
+.
+The text must be on the same line as the macro call.
+.
+Thus
+.
+.
+.RS
+.IP
+\&.BI this "word and" that
+.
+.
+.PP
+would cause \[oq]this\[cq] and \[oq]that\[cq] to appear in bold face,
+while \[oq]word and\[cq] appears in italics.
+.RE
+.
+.
+.TP
+.BI ".BR " text
+Causes text on the same line to appear alternately in bold face and
+roman.
+.
+The text must be on the same line as the macro call.
+.
+.
+.TP
+.BI .I " \fR[\fPtext\fR]\fP"
+Causes
+.I text
+to appear in italic.
+.
+If no text is present on the line where the macro is called the text
+of the next input line appears in italic.
+.
+.
+.TP
+.BI ".IB " text
+Causes text to appear alternately in italic and bold face.
+.
+The text must be on the same line as the macro call.
+.
+.
+.TP
+.BI ".IR " text
+Causes text on the same line to appear alternately in italic and
+roman.
+.
+The text must be on the same line as the macro call.
+.
+.
+.TP
+.BI ".RB " text
+Causes text on the same line to appear alternately in roman and bold
+face.
+.
+The text must be on the same line as the macro call.
+.
+.
+.TP
+.BI ".RI " text
+Causes text on the same line to appear alternately in roman and
+italic.
+.
+The text must be on the same line as the macro call.
+.
+.
+.TP
+.BI .SB " \fR[\fPtext\fR]\fP"
+Causes the text on the same line or the text on the next input line to
+appear in boldface font, one point size smaller than the default font.
+.
+.
+.TP
+.BI .SM " \fR[\fPtext\fR]\fP"
+Causes the text on the same line or the text on the next input line to
+appear in a font that is one point size smaller than the default font.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "MACROS TO DESCRIBE HYPERLINKS AND EMAIL ADDRESSES"
+.\" --------------------------------------------------------------------
+.
+.PP
+Using these macros helps ensure that you get hyperlinks when your
+manual page is rendered in a browser or other program that is
+Web-enabled.
+.
+.
+.TP
+.BI .MT " address"
+.TQ
+.BI .ME " \fR[\fPpunctuation\fR]\fP"
+Wrap an email address.
+.
+The argument of
+.B .MT
+is the address; text following, until
+.BR .ME ,
+is a name to be associated with the address.
+.
+Any argument to the
+.B ME
+macro is pasted to the end of the link text.
+.
+On a device that is not a browser,
+.
+.
+.RS
+.IP
+.EX
+contact
+\&.MT fred.foonly@\e:fubar.net
+Fred Foonly
+\&.ME
+for more information
+.EE
+.RE
+.
+.
+.IP
+usually displays like this: \[lq]contact Fred Foonly
+<fred.foonly@\:fubar.net> for more information\[rq].
+.
+.
+.TP
+.BI .UR " URL"
+.TQ
+.BI .UE " \fR[\fPpunctuation\fR]\fP"
+Wrap a World Wide Web hyperlink.
+.
+The argument to
+.B .UR
+is the URL; thereafter, lines until
+.B .UE
+are collected and used as the link text.
+.
+Any argument to the
+.B UE
+macro is pasted to the end of the text.
+.
+On a device that is not a browser,
+.
+.
+.RS
+.IP
+.EX
+this is a link to
+\&.UR http://\e:randomsite.org/\e:fubar
+some random site
+\&.UE ,
+given as an example
+.EE
+.RE
+.
+.
+.IP
+usually displays like this: \[lq]this is a link to some random
+site <http://\:randomsite.org/\:fubar>, given as an example\[rq].
+.
+.
+.\" --------------------------------------------------------------------
+.SH "MACROS TO DESCRIBE COMMAND SYNOPSES"
+.\" --------------------------------------------------------------------
+.
+.PP
+These macros are a convenience for authors.
+.
+They also assist automated translation tools and help browsers in
+recognizing command synopses and treating them differently from
+running text.
+.
+.
+.TP
+.BI .OP " key value"
+Describe an optional command argument.
+.
+The arguments of this macro are set surrounded by option braces
+in the default Roman font; the first argument is printed with
+a bold face, while the second argument is typeset as italic.
+.
+.
+.TP
+.BI .SY " command"
+Begin synopsis.
+.
+Takes a single argument, the name of a command.
+.
+Text following, until closed by
+.BR .YS ,
+is set with a hanging indentation with the width of
+.I command
+plus a space.
+.
+This produces the traditional look of a Unix command synopsis.
+.
+.
+.TP
+.B .YS
+This macro restores normal indentation at the end of a command
+synopsis.
+.
+.
+.PP
+Here is a real example:
+.
+.
+.IP
+.EX
+\&.SY troff
+\&.OP \e-afizV
+\&.OP \e-d as
+\&.OP \e-d a\(rsfB=\(rsfPs
+\&.OP \e-F fontdir
+\&.OP \e-m name
+\&.OP \e-o list
+\&.OP \e-r aN
+\&.OP \e-r a\(rsfB=\(rsfPN
+\&.OP \e-s N
+\&.OP \e-T device
+\&.OP \e-u N
+\&.OP \e-x N
+\&.RI [ file
+\&.IR .\e|.\e|. ]
+\&.YS
+.EE
+.
+.
+.PP
+produces the following output:
+.
+.
+.RS
+.PP
+.SY troff
+.OP \-afizV
+.OP \-d as
+.OP \-d a\fB=\fPs
+.OP \-F fontdir
+.OP \-m name
+.OP \-o list
+.OP \-r aN
+.OP \-r a\fB=\fPN
+.OP \-s N
+.OP \-T device
+.OP \-u N
+.OP \-x N
+.RI [ file
+.IR .\|.\|. ]
+.YS
+.RE
+.
+.
+.PP
+If necessary, you might use
+.B br
+requests to control line breaking.
+.
+You can insert plain text as well; this looks like the traditional
+(unornamented) syntax for a required command argument or filename.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "MISCELLANEOUS"
+.\" --------------------------------------------------------------------
+.
+The default indentation is 7.2n in troff mode and 7n in nroff mode.
+.
+.
+.TP
+.BI .AT " \fR[\fPsystem \fR[\fPrelease\fR]]\fP"
+Alter the footer for use with \f[CR]AT&T\f[]
+.IR \%man\~pages .
+This command exists only for compatibility; don\[aq]t use it.
+.
+.TP
+.B .BT
+Print the footer string.
+.
+Redefine this macro to get control of the footer.
+.
+.
+.TP
+.B .DT
+Set tabs every 0.5\~inches.
+.
+Since this macro is always called during a
+.B TH
+macro, it makes sense to call it only if the tab positions have been
+changed.
+.
+.
+.IP
+Use of this presentation-level macro is deprecated.
+.
+It translates poorly to HTML, under which exact whitespace control
+and tabbing are not readily available.
+.
+Thus, information or distinctions that you use
+.B .DT
+to express are likely to be lost.
+.
+If you feel tempted to use it, you should probably be composing a
+table using
+.BR tbl (1)
+markup instead.
+.
+.
+.TP
+.BI .PD " \fR[\fPnnn\fR]\fP"
+Adjust the empty space before a new paragraph or section.
+.
+The optional argument gives the amount of space (default unit is
+\[oq]v\[cq]); without parameter, the value is reset to its default
+value (1\~line in nroff mode, 0.4v\~otherwise).
+.
+This affects the macros
+.BR SH ,
+.BR SS ,
+.BR TP ,
+.B LP
+(resp.\&
+.B PP
+and
+.BR P ),
+.BR IP ,
+and
+.BR HP .
+.
+.
+.IP
+Use of this presentation-level macro is deprecated.
+.
+It translates poorly to HTML, under which exact control of
+inter-paragraph spacing is not readily available.
+.
+Thus, information or distinctions that you use
+.B .PD
+to express are likely to be lost.
+.
+.
+.TP
+.B .PT
+Print the header string.
+.
+Redefine this macro to get control of the header.
+.
+.
+.TP
+.BI .UC " \fR[\fPversion\fR]\fP"
+Alter the footer for use with \f[CR]BSD\f[]
+.IR man\~pages .
+This command exists only for compatibility; don\[aq]t use it.
+.
+.PP
+The following strings are defined:
+.
+.
+.TP
+.B \e*R
+The \[oq]registered\[cq] sign (\*R).
+.
+.
+.TP
+.B \e*S
+Switch back to the default font size.
+.
+.
+.TP
+.B \e*(lq
+.TQ
+.B \e*(rq
+Left (\*(lq) and right (\*(rq) quote.
+.
+This is equal to \[oq]\e(lq\[cq] and \[oq]\e(rq\[cq], respectively.
+.
+.
+.TP
+.B \e*(HF
+The typeface used to print headings and subheadings.
+.
+The default is \[oq]B\[cq].
+.
+.
+.TP
+.B \e*(Tm
+The \[oq]trademark\[cq] sign (\*(Tm).
+.
+.
+.PP
+If a preprocessor like
+.B tbl
+or
+.B eqn
+is needed, it has become common to make the first line of the
+.I \%man\~page
+look like this:
+.
+.
+.PP
+.RS
+.BI '\e"\ word
+.RE
+.
+.
+.PP
+Note the single space character after the double quote.
+.I word
+consists of letters for the needed preprocessors: \[oq]e\[cq] for
+.BR eqn ,
+\[oq]r\[cq] for
+.BR refer ,
+and \[oq]t\[cq] for
+.BR tbl .
+.
+Modern implementations of the
+.B man
+program read this first line and automatically call the right
+preprocessor(s).
+.
+.
+.SH EXAMPLES
+.
+Formatting a manual page for text terminal output:
+.P
+.RS
+.EX
+tbl \-Tlocale \fIfilename\fP | neqn | nroff \-Tlocale \-mandoc \(rs
+ | col \-x | less
+.EE
+.RE
+.P
+Formatting for PDF output with table of contents:
+.P
+.RS
+.EX
+.ne 4
+run_troff () {
+ tbl \-g $1 | eqn | troff \-mandoc \-dToc=/tmp/toc \(rs
+ 2> /tmp/err | dpost | ps2pdf \- $2
+}
+.ne 3
+proc_toc () {
+ sed -n \(aqs/^Toc://p\(aq /tmp/err > /tmp/toc
+}
+run_troff \fIinput\fP.\fIn\fP \fIoutput\fP.pdf
+proc_toc
+run_troff \fIinput\fP.\fIn\fP \fIoutput\fP.pdf
+proc_toc
+run_troff \fIinput\fP.\fIn\fP \fIoutput\fP.pdf
+.EE
+.RE
+.P
+Formatting for HTML output with table of contents:
+.P
+.RS
+.EX
+.ne 4
+run_troff () {
+ tbl $1 | eqn | troff \-Thtml \-mandoc \-dToc=/tmp/toc \(rs
+ 2> /tmp/err | dhtml -t \(dq$2\(dq > $3
+}
+run_troff \fIinput\fP.\fIn\fP \(aq\fIinput\fP(\fIn\fP)\(aq \fIoutput\fP.html
+sed -n \(aqs/^Toc://p\(aq /tmp/err > /tmp/toc
+run_troff \fIinput\fP.\fIn\fP \(aq\fIinput\fP(\fIn\fP)\(aq \fIoutput\fP.html
+.EE
+.RE
+.
+.
+.\" --------------------------------------------------------------------
+.SH "PORTABILITY AND TROFF REQUESTS"
+.\" --------------------------------------------------------------------
+.
+Note that using raw troff requests is likely to make your
+page render poorly on the (increasingly common) class of viewers that
+render it to HTML.
+.
+Troff requests make implicit assumptions about things like character
+and page sizes that may break in an HTML environment; also, many of
+these viewers don\[aq]t interpret the full troff vocabulary, a problem
+that can lead to portions of your text being silently dropped.
+.
+.
+.PP
+For portability to modern viewers, it is best to write your page
+entirely in the requests described on this page.
+.
+Further, it is best to completely avoid those we have described as
+\[oq]presentation-level\[cq]
+.RB ( .HP ,
+.BR .PD ,
+and
+.BR .DT ).
+.
+.
+.PP
+The macros we have described as extensions
+.RB ( .EX / .EE ,
+.BR .SY / .OP / .YS ,
+.BR .UR / .UE ,
+and
+.BR .MT / .ME )
+should be used with caution, as they may not yet be built in to
+some viewer that is important to your audience.
+.
+If in doubt, copy the implementation onto your page.
+.
+.
+.\" --------------------------------------------------------------------
+.SH "SEE ALSO"
+.\" --------------------------------------------------------------------
+.BR tbl (1),
+.BR eqn (1),
+.BR refer (1),
+.BR man (1),
+.BR man (7),
+.BR mdoc (7)
+.
+.
+.\" --------------------------------------------------------------------
+.SH COPYING
+.\" --------------------------------------------------------------------
+.co
+.\" --------------------------------------------------------------------
+.SH AUTHORS
+.\" --------------------------------------------------------------------
+.au
+.
+.
+.\" --------------------------------------------------------------------
+.\" ### Emacs settings:
+.\" Local Variables:
+.\" mode: nroff
+.\" End:
diff --git a/troff/troff.d/tmac.d/mcolor.7 b/troff/troff.d/tmac.d/mcolor.7
new file mode 100644
index 0000000000000..78408f4fec870
--- /dev/null
+++ b/troff/troff.d/tmac.d/mcolor.7
@@ -0,0 +1,121 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, September 2005.
+.\"
+.\" Derived from Plan 9 v4 /opt/unix/plan9v4/sys/src/cmd/postscript/mcolor/mcolor.5
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)mcolor.7 1.5 (gritter )2/2/07
+.TH MCOLOR 7 "2/2/07" "Heirloom Documentation Tools" "Macro Packages"
+.ds dP /usr/ucblib/doctools/font/devpost/postscript
+.ds dT /usr/ucblib/doctools/tmac
+.SH NAME
+mcolor \- color and reverse video macro
+.SH SYNOPSIS
+.B troff \-mcolor
+[
+.I options
+]
+.I file ...
+.SH DESCRIPTION
+.I mcolor
+is a macro package for color selection and reverse video printing
+on PostScript printers.
+The package is compatible with most existing macro packages
+and includes the following macro:
+.TP 1.25i
+.BI .CL "\0color\0text"
+Prints
+.I text
+in
+.IR color .
+No arguments restores the default color (black in RGB color space).
+If
+.I text
+is omitted the selected
+.I color
+remains in effect until another
+.I color
+is selected.
+If two arguments are given the
+.I text
+is printed in
+.I color
+and then the default color is restored.
+.PP
+Both the text and background color can be selected.
+A
+.I color
+argument of
+.RI `` color1
+.B on
+.IR color2 ''
+prints text in
+.I color1
+on a background in
+.I color2 .
+.PP
+Once a color is in effect,
+it is re-installed at the top of each output page.
+.PP
+Arbitrary PostScript color parameters
+can be set by using
+.I color
+arguments like
+.RS
+.TP
+.PD 0
+\fIred green blue \fBrgb\fR
+e.\^g. `.CL ".2 .3 .4 rgb"'
+.TP
+\fIhue saturation brightness \fBhsb\fR
+e.\^g. `.CL ".5 .6 .7 hsb"'
+.TP
+\fIcyan magenta yellow black \fBcmyk\fR
+e.\^g. `.CL ".1 .2 .3 .4 cmyk"'
+.TP
+\fIgray \fBsetgray\fR
+e.\^g. `.CL ".5 setgray"'
+.TP
+[\fB$\fIsetcolorspace\fR] \fIcomp1 comp2 .\|.\|. compn \fBsetcolor\fR
+where \fB$\fIsetcolorspace\fR may be a PostScript procedure
+defined in the setup section using a
+`\eX\'PSSetup: $setcolorspace { .\|.\|. } bind def\''
+escape sequence.
+This parameter is required if the color space changes
+in the document.
+Otherwise, it may be sufficient
+to install the color space once in the setup section.
+.PD
+.RE
+.PP
+Each parameter must be a number in the range between 0.0 and 1.0.
+In the most general case, the value of the
+.I color
+argument is passed uninterpreted to the PostScript output.
+.PP
+Named colors (RGB only) must be listed in the
+``colordict''
+dictionary in file
+.BR \*(dP/color.ps .
+.SH FILES
+.B \*(dT/color
+.br
+.B \*(dP/color.ps
+.SH SEE ALSO
+.BR troff (1),
+.BR dpost (1)
+.SH NOTES
+Use of the
+.I .CL
+macro is not always appropriate
+since it may (as every macro) result in added spaces.
+The \fB\eX\'SetColor: \fIcolor\fB\'\fR
+can also be used directly to avoid this; its
+.I color
+argument has exactly the same syntax as the first argument to
+.IR .CL ,
+e.\^g. `\eX\'SetColor: .2 .3 .4 rgb\''.
diff --git a/troff/troff.d/tmac.d/mdoc.7 b/troff/troff.d/tmac.d/mdoc.7
new file mode 100644
index 0000000000000..c263bbf6ea1d3
--- /dev/null
+++ b/troff/troff.d/tmac.d/mdoc.7
@@ -0,0 +1,4280 @@
+'\" t
+.\" groff_mdoc.man
+.\"
+.\" A complete reference of the mdoc macro package for GNU troff.
+.\"
+.\" Based on NetBSD's mdoc.samples.7, version 1.21.
+.\"
+.\"
+.\" Warning: You can't format this file with the old mdoc macros!
+.\"
+.\"
+.\" Copyright (C) 1990, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. [Deleted. See
+.\" ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change]
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93
+.\"
+.\" This reference invokes every macro in the package several
+.\" times and is guaranteed to give a worst case performance
+.\" for an already extremely slow package.
+.\"
+.
+.Dd November 2, 2010
+.Dt MDOC 7
+.Os
+.
+.
+.Sh NAME
+.
+.Nm mdoc
+.Nd reference for the mdoc manual page macros implementation
+.
+.
+.Sh SYNOPSIS
+.
+.Nm nroff Fl m Ns Cm doc Ar
+.
+.
+.Sh DESCRIPTION
+.
+A complete reference for writing
+.Ux
+manual pages with the
+.Nm \-mdoc
+macro package; a
+.Em content Ns -based
+and
+.Em domain Ns -based
+formatting package for
+.Xr nroff 1
+and
+.Xr troff 1 .
+Its predecessor, the
+.Xr \-man 7
+package, addressed page layout leaving the manipulation of fonts and other
+typesetting details to the individual author.
+In
+.Nm \-mdoc ,
+page layout macros make up the
+.Em "page structure domain"
+which consists of macros for titles, section headers, displays and lists
+\(en essentially items which affect the physical position of text on a
+formatted page.
+In addition to the page structure domain, there are two more domains, the
+.Em manual
+domain and the
+.Em general
+text domain.
+The general text domain is defined as macros which perform tasks such as
+quoting or emphasizing pieces of text.
+The manual domain is defined as macros that are a subset of the day to day
+informal language used to describe commands, routines and related
+.Ux
+files.
+Macros in the manual domain handle command names, command line arguments and
+options, function names, function parameters, pathnames, variables, cross
+references to other manual pages, and so on.
+These domain items have value for both the author and the future user of the
+manual page.
+Hopefully, the consistency gained across the manual set will provide easier
+translation to future documentation tools.
+.Pp
+Throughout the
+.Ux
+manual pages, a manual entry is simply referred to as a man page, regardless
+of actual length and without sexist intention.
+.
+.
+.Sh "GETTING STARTED"
+.
+The material presented in the remainder of this document is outlined
+as follows:
+.
+.Bl -enum -width 3n -offset indent
+. It
+. Tn "TROFF IDIOSYNCRASIES"
+.
+. Bl -tag -width 2n -compact
+. It "Macro Usage"
+. It "Passing Space Characters in an Argument"
+. It "Trailing Blank Space Characters"
+. It "Escaping Special Characters"
+. It "Other Possible Pitfalls"
+. El
+.
+. It
+. Tn "A MANUAL PAGE TEMPLATE"
+.
+. It
+. Tn "CONVENTIONS"
+.
+. It
+. Tn "TITLE MACROS"
+.
+. It
+. Tn "INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS"
+.
+. Bl -tag -width 2n -compact
+. It "What's in a Name" Ns ...
+. It "General Syntax"
+. El
+.
+. It
+. Tn "MANUAL DOMAIN"
+.
+. Bl -tag -width 2n -compact
+. It "Addresses"
+. It "Author Name"
+. It "Arguments"
+. It "Configuration Declarations (Section Four Only)"
+. It "Command Modifiers"
+. It "Defined Variables"
+. It "Errno's"
+. It "Environment Variables"
+. It "Flags"
+. It "Function Declarations"
+. It "Function Types"
+. It "Functions (Library Routines)"
+. It "Function Arguments"
+. It "Return Values"
+. It "Exit Status"
+. \" .It "Header File (including source code)"
+. It "Interactive Commands"
+. It "Library Names"
+. It "Literals"
+. It "Names"
+. It "Options"
+. It "Pathnames"
+. It "Standards"
+. It "Variable Types"
+. It "Variables"
+. It "Manual Page Cross References"
+. El
+.
+. It
+. Tn "GENERAL TEXT DOMAIN"
+.
+. Bl -tag -width 2n -compact
+. It "AT&T Macro"
+. It "BSD Macro"
+. It "NetBSD Macro"
+. It "FreeBSD Macro"
+. It "DragonFly Macro"
+. It "OpenBSD Macro"
+. It "BSD/OS Macro"
+. It "UNIX Macro"
+. It "Emphasis Macro"
+. It "Font Mode"
+. It "Enclosure and Quoting Macros"
+. It "No-Op or Normal Text Macro"
+. It "No-Space Macro"
+. It "Section Cross References"
+. It "Symbolics"
+. It "Mathematical Symbols"
+. It "References and Citations"
+. It "Trade Names (or Acronyms and Type Names)"
+. It "Extended Arguments"
+. El
+.
+. It
+. Tn "PAGE STRUCTURE DOMAIN"
+.
+. Bl -tag -width 2n -compact
+. It "Section Headers"
+. It "Subsection Headers"
+. It "Paragraphs and Line Spacing"
+. It "Keeps"
+. It "Examples and Displays"
+. It "Lists and Columns"
+. El
+.
+. It
+. Tn "MISCELLANEOUS MACROS"
+.
+. It
+. Tn "PREDEFINED STRINGS"
+.
+. It
+. Tn "DIAGNOSTICS"
+.
+. It
+. Tn "FORMATTING WITH NROFF AND TROFF"
+.
+. It
+. Tn "FILES"
+.
+. It
+. Tn "SEE ALSO"
+.
+. It
+. Tn "BUGS"
+.El
+.
+.\" XXX
+.if t \
+. ne 7
+.
+.
+.Sh "TROFF IDIOSYNCRASIES"
+.
+The
+.Nm \-mdoc
+package attempts to simplify the process of writing a man page.
+Theoretically, one should not have to learn the tricky details of
+.Xr troff 1
+to use
+.Nm \-mdoc ;
+however, there are a few limitations which are unavoidable and best gotten
+out of the way.
+And, too, be forewarned, this package is
+.Em not
+fast.
+.
+.Ss "Macro Usage"
+.
+As in
+.Xr troff 1 ,
+a macro is called by placing a
+.Ql .\&
+(dot character) at the beginning of a line followed by the two-character
+(or three-character) name for the macro.
+There can be space or tab characters between the dot and the macro name.
+Arguments may follow the macro separated by spaces (but
+.Em no
+tabs).
+It is the dot character at the beginning of the line which causes
+.Xr troff 1
+to interpret the next two (or more) characters as a macro name.
+A single starting dot followed by nothing is ignored.
+To place a
+.Ql .\&
+(dot character) at the beginning of an input line in some context other than
+a macro invocation, precede the
+.Ql .\&
+(dot) with the
+.Ql \e&
+escape sequence which translates literally to a zero-width space, and is
+never displayed in the output.
+.Pp
+In general,
+.Xr troff 1
+macros accept an unlimited number of arguments (contrary to other versions
+of troff which can't handle more than nine arguments).
+In limited cases, arguments may be continued or extended on the next
+line (See
+.Sx Extended Arguments
+below).
+Almost all macros handle quoted arguments (see
+.Sx Passing Space Characters in an Argument
+below).
+.Pp
+Most of the
+.Nm \-mdoc
+general text domain and manual domain macros are special in that their
+argument lists are
+.Em parsed
+for callable macro names.
+This means an argument on the argument list which matches a general text or
+manual domain macro name (and which is defined to be callable) will be
+executed or called when it is processed.
+In this case the argument, although the name of a macro, is not preceded by
+a
+.Ql .\&
+(dot).
+This makes it possible to nest macros; for example the option macro,
+.Ql .Op ,
+may
+.Em call
+the flag and argument macros,
+.Ql \&Fl
+and
+.Ql \&Ar ,
+to specify an optional flag with an argument:
+.
+.Bl -tag -width ".Op Fl s Ar bytes" -offset indent
+.It Op Fl s Ar bytes
+is produced by
+.Ql ".Op Fl s Ar bytes"
+.El
+.
+.Pp
+To prevent a string from being interpreted as a macro name, precede the
+string with the escape sequence
+.Ql \e& :
+.
+.Bl -tag -width ".Op \&Fl s \&Ar bytes" -offset indent
+.It Op \&Fl s \&Ar bytes
+is produced by
+.Ql ".Op \e&Fl s \e&Ar bytes"
+.El
+.
+.Pp
+Here the strings
+.Ql \&Fl
+and
+.Ql \&Ar
+are not interpreted as macros.
+Macros whose argument lists are parsed for callable arguments are referred
+to as
+.Em parsed
+and macros which may be called from an argument list are referred to as
+.Em callable
+throughout this document.
+This is a technical
+.Em faux pas
+as almost all of the macros in
+.Nm \-mdoc
+are parsed, but as it was cumbersome to constantly refer to macros as
+being callable and being able to call other macros, the term parsed
+has been used.
+.
+.Pp
+In the following, we call an
+.Nm \-mdoc
+macro which starts a line (with a leading dot) a
+.Em command
+if this distinction is necessary.
+.
+.Ss "Passing Space Characters in an Argument"
+.
+Sometimes it is desirable to give as an argument a string containing one or
+more blank space characters, say, to specify arguments to commands which
+expect particular arrangement of items in the argument list.
+Additionally, it makes
+.Nm \-mdoc
+working faster.
+For example, the function command
+.Ql .Fn
+expects the first argument to be the name of a function and any remaining
+arguments to be function parameters.
+As
+.Tn ANSI\~C
+stipulates the declaration of function parameters in the parenthesized
+parameter list, each parameter is guaranteed to be at minimum a two word
+string.
+For example,
+.Fa int foo .
+.Pp
+There are two possible ways to pass an argument which contains
+an embedded space.
+One way of passing a string containing blank spaces is to use the hard or
+unpaddable space character
+.Ql \e\ ,
+that is, a blank space preceded by the escape character
+.Ql \e .
+This method may be used with any macro but has the side effect of
+interfering with the adjustment of text over the length of a line.
+.Xr Troff
+sees the hard space as if it were any other printable character and cannot
+split the string into blank or newline separated pieces as one would expect.
+This method is useful for strings which are not expected to overlap a line
+boundary.
+An alternative is to use
+.Ql \e\[ti] ,
+a paddable (i.e.\& stretchable), unbreakable space.
+The second method is to enclose the string with double quotes.
+.Pp
+For example:
+.
+.Bl -tag -width ".Fn fetch char\ *str" -offset indent
+.It Fn fetch char\ *str
+is created by
+.Ql ".Fn fetch char\e *str"
+.It Fn fetch "char *str"
+can also be created by
+.Ql ".Fn fetch \*[q]char *str\*[q]"
+.El
+.
+.Pp
+If the
+.Ql \e
+before the space in the first example
+or double quotes in the second example
+were omitted,
+.Ql .Fn
+would see three arguments, and the result would be:
+.Pp
+.Dl Fn fetch char *str
+.Pp
+.\" For an example of what happens when the parameter list overlaps a newline
+.\" boundary, see the
+.\" .Sx BUGS
+.\" section.
+.
+.Ss "Trailing Blank Space Characters"
+.
+.Xr Troff
+can be confused by blank space characters at the end of a line.
+It is a wise preventive measure to globally remove all blank spaces
+from
+.Ao blank-space Ac Ns Ao end-of-line Ac
+character sequences.
+Should the need arise to use a blank character at the end of a line, it
+may be forced with an unpaddable space and the
+.Ql \e&
+escape character.
+For example,
+.Ql string\e\ \e& .
+.
+.Ss "Escaping Special Characters"
+.
+Special characters like the newline character
+.Ql \en
+are handled by replacing the
+.Ql \e
+with
+.Ql \ee
+(e.g.\&
+.Ql \een )
+to preserve the backslash.
+.
+.Ss "Other Possible Pitfalls"
+.
+A warning is emitted when an empty input line is found outside of displays
+(see below).
+Use
+.Ql .sp
+instead.
+(Well, it is even better to use
+.Nm \-mdoc
+macros to avoid the usage of low-level commands.)
+.Pp
+Leading spaces will cause a break and are output directly.
+Avoid this behaviour if possible.
+Similarly, do not use more than one space character between words in an
+ordinary text line; contrary to other text formatters, they are
+.Em not
+replaced with a single space.
+.Pp
+You can't pass
+.Ql \*[q]
+directly as an argument.
+Use
+.Ql \e*[q]
+(or
+.Ql \e*q )
+instead.
+.Pp
+By default,
+.Xr troff 1
+inserts two space characters after a punctuation mark closing a sentence;
+characters like
+.Ql \&)
+or
+.Ql \&'
+are treated transparently, not influencing the sentence-ending behaviour.
+To change this, insert
+.Ql \e&
+before or after the dot:
+.
+.Bd -literal -offset indent
+The
+\&.Ql .
+character.
+\&.Pp
+The
+\&.Ql \e&.
+character.
+\&.Pp
+\&.No test .
+test
+\&.Pp
+\&.No test.
+test
+.Ed
+.Pp
+.
+gives
+.
+.Bd -filled -offset indent
+The
+.Ql .
+character
+.Pp
+The
+.Ql \&.
+character.
+.Pp
+.No test .
+test
+.Pp
+.No test.
+test
+.Ed
+.Pp
+.
+As can be seen in the first and third line,
+.Nm \-mdoc
+handles punctuation characters specially in macro arguments.
+This will be explained in section
+.Sx General Syntax
+below.
+In the same way, you have to protect trailing full stops of abbreviations
+with a trailing zero-width space:
+.Ql e.g.\e& .
+.Pp
+A comment in the source file of a man page can be either started with
+.Ql .\e"
+on a single line,
+.Ql \e"
+after some input, or
+.Ql \e#
+anywhere;
+the rest of such a line is ignored.
+.
+.
+.Sh "A MANUAL PAGE TEMPLATE"
+.
+The body of a man page is easily constructed from a basic template:
+.
+.Bd -literal -offset indent
+\&.\e" The following commands are required for all man pages.
+\&.Dd Month day, year
+\&.Dt DOCUMENT_TITLE [section number] [architecture/volume]
+\&.Os [OPERATING_SYSTEM] [version/release]
+\&.Sh NAME
+\&.Nm name
+\&.Nd one line description of name
+\&.\e" This next command is for sections 2 and 3 only.
+\&.\e" .Sh LIBRARY
+\&.Sh SYNOPSIS
+\&.Sh DESCRIPTION
+\&.\e" The following commands should be uncommented and
+\&.\e" used where appropriate.
+\&.\e" .Sh IMPLEMENTATION NOTES
+\&.\e" This next command is for sections 2, 3, and 9 only
+\&.\e" (function return values).
+\&.\e" .Sh RETURN VALUES
+\&.\e" This next command is for sections 1, 6, 7, and 8 only.
+\&.\e" .Sh ENVIRONMENT
+\&.\e" .Sh FILES
+\&.\e" This next command is for sections 1, 6, and 8 only
+\&.\e" (command return values to the shell).
+\&.\e" .Sh EXIT STATUS
+\&.\e" .Sh EXAMPLES
+\&.\e" This next command is for sections 1, 4, 6, 7, 8, and 9 only
+\&.\e" (fprintf/stderr type diagnostics).
+\&.\e" .Sh DIAGNOSTICS
+\&.\e" .Sh COMPATIBILITY
+\&.\e" This next command is for sections 2, 3, 4, and 9 only
+\&.\e" (settings of the errno variable).
+\&.\e" .Sh ERRORS
+\&.\e" .Sh SEE ALSO
+\&.\e" .Sh STANDARDS
+\&.\e" .Sh HISTORY
+\&.\e" .Sh AUTHORS
+\&.\e" .Sh CAVEATS
+\&.\e" .Sh BUGS
+.Ed
+.Pp
+.
+The first items in the template are the commands
+.Ql .Dd ,
+.Ql .Dt ,
+and
+.Ql .Os ;
+the document date, the operating system the man page or subject source is
+developed or modified for, and the man page title (in
+.Em upper case )
+along with the section of the manual the page belongs in.
+These commands identify the page and are discussed below in
+.Sx TITLE MACROS .
+.Pp
+The remaining items in the template are section headers
+.Pf ( Li .Sh ) ;
+of which
+.Em NAME ,
+.Em SYNOPSIS ,
+and
+.Em DESCRIPTION
+are mandatory.
+The headers are discussed in
+.Sx "PAGE STRUCTURE DOMAIN" ,
+after presentation of
+.Sx "MANUAL DOMAIN" .
+Several content macros are used to demonstrate page layout macros; reading
+about content macros before page layout macros is recommended.
+.
+.
+.Sh CONVENTIONS
+.
+In the description of all macros below, optional arguments are put into
+brackets.
+An ellipsis
+.Pf ( Sq ... )
+represents zero or more additional arguments.
+Alternative values for a parameter are separated with
+.Ql | .
+If there are alternative values for a mandatory parameter, braces are used
+(together with
+.Ql | )
+to enclose the value set.
+Meta-variables are specified within angles.
+.Pp
+Example:
+.
+.Bl -tag -width 6n -offset indent
+.It Li .Xx Xo
+.Aq foo
+.Brq bar1 | bar2
+.Op \-test1 Op \-test2 | \-test3
+.No ...
+.Xc
+.El
+.
+.Pp
+Except stated explicitly, all macros are parsed and callable.
+.Pp
+Note that a macro takes effect up to the next nested macro.
+For example,
+.Ql ".Ic foo Aq bar"
+doesn't produce
+.Sq Ic "foo <bar>"
+but
+.Sq Ic foo Aq bar .
+Consequently, a warning message is emitted for most commands if the first
+argument is a macro itself since it cancels the effect of the calling
+command completely.
+Another consequence is that quoting macros never insert literal quotes;
+.Sq Ic "foo <bar>"
+has been produced by
+.Ql ".Ic \*[q]foo <bar>\*[q]" .
+.Pp
+Most macros have a default width value which can be used to specify a label
+width
+.Pf ( Fl width )
+or offset
+.Pf ( Fl offset )
+for the
+.Ql .Bl
+and
+.Ql .Bd
+macros.
+It is recommended not to use this rather obscure feature to avoid
+dependencies on local modifications of the
+.Nm \-mdoc
+package.
+.
+.
+.Sh "TITLE MACROS"
+.
+The title macros are part of the page structure domain but are presented
+first and separately for someone who wishes to start writing a man page
+yesterday.
+Three header macros designate the document title or manual page title, the
+operating system, and the date of authorship.
+These macros are called once at the very beginning of the document and are
+used to construct headers and footers only.
+.
+.Bl -tag -width 6n
+.It Li .Dt Xo
+.Op Aq document title
+.Op Aq section number
+.Op Aq volume
+.Xc
+The document title is the subject of the man page and must be in
+.Tn CAPITALS
+due to troff limitations.
+If omitted,
+.Sq Tn UNTITLED
+is used.
+The section number may be a number in the range
+.No 1,\~ Ns ... Ns ,\~9
+or
+.Ql unass ,
+.Ql draft ,
+or
+.Ql paper .
+If it is specified, and no volume name is given, a default volume name is
+used.
+.
+.Pp
+Under
+.Tn \*[operating-system] ,
+the following sections are defined:
+.Pp
+.TS
+l l l.
+1 \*[volume-operating-system] \*[volume-ds-1]
+2 \*[volume-operating-system] \*[volume-ds-2]
+3 \*[volume-operating-system] \*[volume-ds-3]
+4 \*[volume-operating-system] \*[volume-ds-4]
+5 \*[volume-operating-system] \*[volume-ds-5]
+6 \*[volume-operating-system] \*[volume-ds-6]
+7 \*[volume-operating-system] \*[volume-ds-7]
+8 \*[volume-operating-system] \*[volume-ds-8]
+9 \*[volume-operating-system] \*[volume-ds-9]
+.TE
+.Pp
+.
+A volume name may be arbitrary or one of the following:
+.
+.Pp
+.TS
+l l.
+USD \*[volume-ds-USD]
+PS1 \*[volume-ds-PS1]
+AMD \*[volume-ds-AMD]
+SMM \*[volume-ds-SMM]
+URM \*[volume-ds-URM]
+PRM \*[volume-ds-PRM]
+KM \*[volume-ds-KM]
+IND \*[volume-ds-IND]
+LOCAL \*[volume-ds-LOCAL]
+CON \*[volume-ds-CON]
+.TE
+.Pp
+.
+For compatibility,
+.Ql MMI
+can be used for
+.Ql IND ,
+and
+.Ql LOC
+for
+.Ql LOCAL .
+Values from the previous table will specify a new volume name.
+If the third parameter is a keyword designating a computer architecture,
+its value is prepended to the default volume name as specified by the
+second parameter.
+By default, the following architecture keywords are defined:
+.
+\# we use `No' to avoid hyphenation
+.Bd -ragged -offset indent
+.No acorn26 , acorn32 , algor , alpha , amd64 , amiga , amigappc ,
+.No arc , arm , arm26 , arm32 , armish , atari , aviion ,
+.No beagle , bebox , cats , cesfic , cobalt , dreamcast ,
+.No emips , evbarm , evbmips , evbppc , evbsh3 , ews4800mips ,
+.No hp300 , hp700 , hpcarm , hpcmips , hpcsh , hppa , hppa64 ,
+.No i386 , ia64 , ibmnws , iyonix , landisk , loongson , luna68k , luna88k ,
+.No m68k , mac68k , macppc , mips , mips64 , mipsco , mmeye ,
+.No mvme68k , mvme88k , mvmeppc , netwinder , news68k , newsmips , next68k ,
+.No ofppc , palm , pc532 , playstation2 , pmax , pmppc , powerpc , prep ,
+.No rs6000 , sandpoint , sbmips , sgi , sgimips , sh3 , shark ,
+.No socppc , solbourne , sparc , sparc64 , sun2 , sun3 ,
+.No tahoe , vax , x68k , x86_64 , xen , zaurus
+.Ed
+.Pp
+.
+If the section number is neither a numeric expression in the range 1 to\~9
+nor one of the above described keywords, the third parameter is used
+verbatim as the volume name.
+.Pp
+In the following examples, the left (which is identical to the right) and
+the middle part of the manual page header strings are shown.
+Note how
+.Ql \e&
+prevents the digit\~7 from being a valid numeric expression.
+.
+.Bd -ragged
+.Bl -tag -width ".Li .Dt\ FOO\ 2\ i386" -compact -offset indent
+.It Li ".Dt FOO 7"
+.Ql FOO(7)
+.Ql \*[volume-operating-system] \*[volume-ds-7]
+.It Li ".Dt FOO 7 bar"
+.Ql FOO(7)
+.Ql \*[volume-operating-system] \*[volume-ds-7]
+.It Li ".Dt FOO \e&7 bar"
+.Ql FOO(7)
+.Ql bar
+.It Li ".Dt FOO 2 i386"
+.Ql FOO(2)
+.Ql \*[volume-operating-system]/\*[volume-as-i386] \*[volume-ds-2]
+.It Li ".Dt FOO \*[q]\*[q] bar"
+.Ql FOO
+.Ql bar
+.El
+.Ed
+.Pp
+.
+Local, OS-specific additions might be found in the file
+.Pa mdoc.local ;
+look for strings named
+.Ql volume\-ds\-XXX
+(for the former type) and
+.Ql volume\-as\-XXX
+(for the latter type);
+.Ql XXX
+then denotes the keyword to be used with the
+.Ql .Dt
+macro.
+.Pp
+This macro is neither callable nor parsed.
+.
+.It Li .Os Xo
+.Op Aq operating system
+.Op Aq release
+.Xc
+If the first parameter is empty,
+the default
+.Sq Tn "\*[operating-system]"
+is used.
+This may be overridden in the local configuration file,
+.Pa mdoc.local .
+In general, the name of the operating system should be the common acronym,
+e.g.\&
+.Tn BSD
+or
+.Tn ATT .
+The release should be the standard release nomenclature for the system
+specified.
+In the following table, the possible second arguments for some predefined
+operating systems are listed.
+Similar to
+.Ql .Dt ,
+local additions might be defined in
+.Pa mdoc.local ;
+look for strings named
+.Ql operating\-system\-XXX\-YYY ,
+where
+.Ql XXX
+is the acronym for the operating system and
+.Ql YYY
+the release ID.
+.
+.Bd -ragged -compact
+.Bl -tag -width ".No DragonFly" -offset indent
+.It ATT
+7th, 7, III, 3, V, V.2, V.3, V.4
+.It BSD
+3, 4, 4.1, 4.2, 4.3, 4.3t, 4.3T, 4.3r, 4.3R, 4.4
+.It NetBSD
+0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e,
+1.3, 1.3a, 1.4, 1.4.1, 1.4.2, 1.4.3, 1.5, 1.5.1, 1.5.2, 1.5.3, 1.6, 1.6.1,
+1.6.2, 1.6.3, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.1, 3.0, 3.0.1, 3.0.2, 3.0.3,
+3.1, 3.1.1, 4.0, 4.0.1, 5.0, 5.0.1, 5.0.2, 5.1, 5.1.2, 5.1.3, 5.1.4,
+5.2, 5.2.1, 5.2.2, 6.0, 6.0.1, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.1, 6.1.1,
+6.1.2, 6.1.3, 6.1.4
+.It FreeBSD
+1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1,
+2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1,
+4.1.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.6.2, 4.7, 4.8, 4.9, 4.10, 4.11, 5.0, 5.1,
+5.2, 5.2.1, 5.3, 5.4, 5.5, 6.0, 6.1, 6.2, 6.3, 6.4, 7.0, 7.1, 7.2, 7.3, 7.4,
+8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 9.2, 9.3, 10.0
+.It OpenBSD
+2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4,
+3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9,
+5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6
+.It DragonFly
+1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 1.8.1, 1.9, 1.10, 1.12, 1.12.2,
+1.13, 2.0, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 2.9.1, 2.10, 2.10.1,
+2.11, 2.12, 2.13, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8
+.It Darwin
+8.0.0, 8.1.0, 8.2.0, 8.3.0, 8.4.0, 8.5.0, 8.6.0, 8.7.0, 8.8.0, 8.9.0,
+8.10.0, 8.11.0, 9.0.0, 9.1.0, 9.2.0, 9.3.0, 9.4.0, 9.5.0, 9.6.0, 9.7.0,
+9.8.0, 10.1.0, 10.2.0, 10.3.0, 10.4.0, 10.5.0, 10.6.0, 10.7.0, 10.8.0,
+11.0.0, 11.1.0, 11.2.0, 11.3.0, 11.4.0, 11.5.0, 12.0.0, 12.1.0, 12.2.0,
+13.0.0, 13.1.0, 13.2.0, 13.3.0, 13.4.0, 14.0.0
+.El
+.Ed
+.Pp
+.
+For
+.Tn ATT ,
+an unknown second parameter will be replaced with the string
+.Tn UNIX ;
+for the other predefined acronyms it will be ignored and a warning message
+emitted.
+Unrecognized arguments are displayed as given in the page footer.
+For instance, a typical footer might be:
+.Pp
+.Dl .Os BSD 4.3
+.Pp
+giving
+.Ql 4.3\~Berkeley Distribution ,
+or for a locally produced set
+.Pp
+.Dl .Os CS Department
+.Pp
+which will produce
+.Ql CS\~Department .
+.Pp
+If the
+.Ql .Os
+macro is not present, the bottom left corner of the manual page will be
+ugly.
+.Pp
+This macro is neither callable nor parsed.
+.
+.It Li .Dd Oo
+.Aq month
+.Aq day ,
+.Aq year
+.Oc
+If
+.Ql Dd
+has no arguments,
+.Ql Epoch
+is used for the date string.
+If it has exactly three arguments, they are concatenated, separated with
+unbreakable space:
+.Pp
+.Dl .Dd January 25, 2001
+.Pp
+The month's name shall not be abbreviated.
+.Pp
+With any other number of arguments, the current date is used, ignoring
+the parameters.
+.Pp
+As a special exception, the format
+.Bd -filled -offset indent
+.Li .Dd $Mdocdate:
+.Aq month
+.Aq day
+.Aq year
+.Li $
+.Ed
+.Pp
+is also recognized.
+It is used in
+.Ox
+manuals to automatically insert the current date when committing.
+.Pp
+This macro is neither callable nor parsed.
+.El
+.
+.
+.Sh "INTRODUCTION OF MANUAL AND GENERAL TEXT DOMAINS"
+.
+.Ss "What's in a Name" Ns ...
+.
+The manual domain macro names are derived from the day to day informal
+language used to describe commands, subroutines and related files.
+Slightly different variations of this language are used to describe the
+three different aspects of writing a man page.
+First, there is the description of
+.Nm \-mdoc
+macro command usage.
+Second is the description of a
+.Ux
+command
+.Em with
+.Nm \-mdoc
+macros, and third, the description of a command to a user in the verbal
+sense; that is, discussion of a command in the text of a man page.
+.Pp
+In the first case,
+.Xr troff 1
+macros are themselves a type of command; the general syntax for a troff
+command is:
+.
+.Bd -filled -offset indent
+.Li ".Xx argument1 argument2" ...
+.Ed
+.Pp
+.
+.Ql .Xx
+is a macro command, and anything following it are arguments to
+be processed.
+In the second case, the description of a
+.Ux
+command using the content macros is a bit more involved; a typical
+.Sx SYNOPSIS
+command line might be displayed as:
+.
+.Bd -filled -offset indent
+.Nm filter
+.Op Fl flag
+.Ao Ar infile Ac Ao Ar outfile Ac
+.Ed
+.Pp
+.
+Here,
+.Nm filter
+is the command name and the
+bracketed string
+.Fl flag
+is a
+.Em flag
+argument designated as optional by the option brackets.
+In
+.Nm \-mdoc
+terms,
+.Ao Ar infile Ac
+and
+.Ao Ar outfile Ac
+are called
+.Em meta arguments ;
+in this example, the user has to replace the meta expressions given in angle
+brackets with real file names.
+Note that in this document meta arguments are used to describe
+.Nm \-mdoc
+commands; in most man pages, meta variables are not specifically written
+with angle brackets.
+The macros which formatted the above example:
+.
+.Bd -literal -offset indent
+\&.Nm filter
+\&.Op Fl flag
+\&.Ao Ar infile Ac Ao Ar outfile Ac
+.Ed
+.Pp
+.
+In the third case, discussion of commands and command syntax includes both
+examples above, but may add more detail.
+The arguments
+.Ao Ar infile Ac
+and
+.Ao Ar outfile Ac
+from the example above might be referred to as
+.Em operands
+or
+.Em file arguments .
+Some command line argument lists are quite long:
+.
+.Bd -ragged
+.Bl -tag -width ".Nm make" -offset indent -compact
+.It Nm make
+.Op Fl eiknqrstv
+.Op Fl D Ar variable
+.Op Fl d Ar flags
+.Op Fl f Ar makefile
+.Op Fl I Ar directory
+.Op Fl j Ar max_jobs
+.Op Ar variable Ns = Ns Ar value
+.Bk
+.Op Ar target ...
+.Ek
+.El
+.Ed
+.Pp
+.
+Here one might talk about the command
+.Nm make
+and qualify the argument,
+.Ar makefile ,
+as an argument to the flag,
+.Fl f ,
+or discuss the optional file operand
+.Ar target .
+In the verbal context, such detail can prevent confusion, however the
+.Nm \-mdoc
+package does not have a macro for an argument
+.Em to
+a flag.
+Instead the
+.Ql \&Ar
+argument macro is used for an operand or file argument like
+.Ar target
+as well as an argument to a flag like
+.Ar variable .
+The make command line was produced from:
+.
+.Bd -literal -offset indent
+\&.Nm make
+\&.Op Fl eiknqrstv
+\&.Op Fl D Ar variable
+\&.Op Fl d Ar flags
+\&.Op Fl f Ar makefile
+\&.Op Fl I Ar directory
+\&.Op Fl j Ar max_jobs
+\&.Op Ar variable Ns = Ns Ar value
+\&.Bk
+\&.Op Ar target ...
+\&.Ek
+.Ed
+.Pp
+.
+The
+.Ql .Bk
+and
+.Ql .Ek
+macros are explained in
+.Sx Keeps .
+.
+.Ss "General Syntax"
+.
+The manual domain and general text domain macros share a similar syntax with
+a few minor deviations; most notably,
+.Ql .Ar ,
+.Ql .Fl ,
+.Ql .Nm ,
+and
+.Ql .Pa
+differ only when called without arguments; and
+.Ql .Fn
+and
+.Ql .Xr
+impose an order on their argument lists.
+All content macros are capable of recognizing and properly handling
+punctuation, provided each punctuation character is separated by a leading
+space.
+If a command is given:
+.Pp
+.Dl \&.Ar sptr, ptr),
+.Pp
+The result is:
+.Pp
+.Dl Ar sptr, ptr),
+.Pp
+The punctuation is not recognized and all is output in the
+font used by
+.Ql .Ar .
+If the punctuation is separated by a leading white space:
+.Pp
+.Dl \&.Ar "sptr , ptr ) ,"
+.Pp
+The result is:
+.Pp
+.Dl Ar sptr , ptr ) ,
+.Pp
+The punctuation is now recognized and output in the default font
+distinguishing it from the argument strings.
+To remove the special meaning from a punctuation character escape it with
+.Ql \e& .
+.Pp
+The following punctuation characters are recognized by
+.Nm \-mdoc :
+.
+.Bl -column -offset indent-two XXXXXX XXXXXX XXXXXX XXXXXX
+.It Li .\& Ta Li ,\& Ta Li :\& Ta Li ;\& Ta Li (\&
+.It Li )\& Ta Li [\& Ta Li ]\& Ta Li ?\& Ta Li !\&
+.El
+.Pp
+.
+.Xr Troff
+is limited as a macro language, and has difficulty when presented with a
+string containing a member of the mathematical, logical or quotation set:
+.
+.Bd -literal -offset indent-two
+{+,\-,/,*,%,<,>,<=,>=,=,==,&,`,',"}
+.Ed
+.Pp
+.
+The problem is that
+.Xr troff
+may assume it is supposed to actually perform the operation or evaluation
+suggested by the characters.
+To prevent the accidental evaluation of these characters, escape them with
+.Ql \e& .
+Typical syntax is shown in the first content macro displayed below,
+.Ql .Ad .
+.
+.
+.Sh "MANUAL DOMAIN"
+.
+.Ss Addresses
+.
+The address macro identifies an address construct.
+.Pp
+.Dl Usage: .Ad Ao address Ac ...
+.Pp
+.Bl -tag -width ".Li .Ad\ f1\ ,\ f2\ ,\ f3\ :" -compact -offset 15n
+.It Li ".Ad addr1"
+.Ad addr1
+.It Li ".Ad addr1 ."
+.Ad addr1 .
+.It Li ".Ad addr1 , file2"
+.Ad addr1 , file2
+.It Li ".Ad f1 , f2 , f3 :"
+.Ad f1 , f2 , f3 :
+.It Li ".Ad addr ) ) ,"
+.Ad addr ) ) ,
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Author Name"
+.
+The
+.Ql .An
+macro is used to specify the name of the author of the item being
+documented, or the name of the author of the actual manual page.
+.Pp
+.Dl Usage: .An Ao author name Ac ...
+.Pp
+.Bl -tag -width ".Li .An\ \*[q]Joe\ Author\*[q]\ )\ )\ ," -offset 15n
+.It Li ".An \*[q]Joe Author\*[q]"
+.An "Joe Author"
+.It Li ".An \*[q]Joe Author\*[q] ,"
+.An "Joe Author" ,
+.It Li ".An \*[q]Joe Author\*[q] Aq nobody@FreeBSD.org"
+.An "Joe Author" Aq nobody@FreeBSD.org
+.It Li ".An \*[q]Joe Author\*[q] ) ) ,"
+.An "Joe Author" ) ) ,
+.El
+.Pp
+.
+The default width is 12n.
+.Pp
+In the
+.Em AUTHORS
+section, the
+.Ql .An
+command causes a line break allowing each new name to appear on its own
+line.
+If this is not desirable,
+.
+.Bd -literal -offset indent
+\&.An \-nosplit
+.Ed
+.Pp
+.
+call will turn this off.
+To turn splitting back on, write
+.
+.Bd -literal -offset indent
+\&.An \-split
+.Ed
+.
+.Ss "Arguments"
+.
+The
+.Li .Ar
+argument macro may be used whenever an argument is referenced.
+If called without arguments, the
+.Sq Ar
+string is output.
+.Pp
+.Dl Usage: .Ar Oo Ao argument Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Ar\ file1\ file2" -compact -offset 15n
+.It Li .Ar
+.Ar
+.It Li ".Ar file1"
+.Ar file1
+.It Li ".Ar file1 ."
+.Ar file1 .
+.It Li ".Ar file1 file2"
+.Ar file1 file2
+.It Li ".Ar f1 f2 f3 :"
+.Ar f1 f2 f3 :
+.It Li ".Ar file ) ) ,"
+.Ar file ) ) ,
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Configuration Declaration (Section Four Only)"
+.
+The
+.Ql .Cd
+macro is used to demonstrate a
+.Xr config 8
+declaration for a device interface in a section four manual.
+.Pp
+.Dl Usage: .Cd Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Cd\ Xdevice\ le0\ at\ scode?X" -offset 15n
+.It Li ".Cd \*[q]device le0 at scode?\*[q]"
+.Cd "device le0 at scode?"
+.El
+.Pp
+In the
+.Sx SYNOPSIS
+section a
+.Ql .Cd
+command causes a line break before and after its arguments are printed.
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Command Modifiers"
+.
+The command modifier is identical to the
+.Ql .Fl
+(flag) command with the exception that the
+.Ql .Cm
+macro does not assert a dash in front of every argument.
+Traditionally flags are marked by the preceding dash, however, some commands
+or subsets of commands do not use them.
+Command modifiers may also be specified in conjunction with interactive
+commands such as editor commands.
+See
+.Sx Flags .
+.Pp
+The default width is 10n.
+.
+.Ss "Defined Variables"
+.
+A variable (or constant) which is defined in an include file
+is specified by the macro
+.Ql .Dv .
+.Pp
+.Dl Usage: .Dv Ao defined variable Ac ...
+.Pp
+.Bl -tag -width ".Li .Dv\ MAXHOSTNAMELEN" -compact -offset 15n
+.It Li ".Dv MAXHOSTNAMELEN"
+.Dv MAXHOSTNAMELEN
+.It Li ".Dv TIOCGPGRP )"
+.Dv TIOCGPGRP )
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss Errno's
+.
+The
+.Ql .Er
+errno macro specifies the error return value for section 2, 3, and\~9 library
+routines.
+The second example below shows
+.Ql .Er
+used with the
+.Ql .Bq
+general text domain macro, as it would be used in a section two manual page.
+.Pp
+.Dl Usage: .Er Ao errno type Ac ...
+.Pp
+.Bl -tag -width ".Li .Bq\ Er\ ENOTDIR" -compact -offset 15n
+.It Li ".Er ENOENT"
+.Er ENOENT
+.It Li ".Er ENOENT ) ;"
+.Er ENOENT ) ;
+.It Li ".Bq Er ENOTDIR"
+.Bq Er ENOTDIR
+.El
+.Pp
+.
+The default width is 17n.
+.
+.Ss "Environment Variables"
+.
+The
+.Ql .Ev
+macro specifies an environment variable.
+.Pp
+.Dl Usage: .Ev Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Ev\ PRINTER\ )\ )\ ," -compact -offset 15n
+.It Li ".Ev DISPLAY"
+.Ev DISPLAY
+.It Li ".Ev PATH ."
+.Ev PATH .
+.It Li ".Ev PRINTER ) ) ,"
+.Ev PRINTER ) ) ,
+.El
+.Pp
+.
+The default width is 15n.
+.
+.Ss Flags
+.
+The
+.Ql .Fl
+macro handles command line flags.
+It prepends a dash,
+.Ql \- ,
+to the flag.
+For interactive command flags, which are not prepended with a dash, the
+.Ql .Cm
+(command modifier)
+macro is identical, but without the dash.
+.Pp
+.Dl Usage: .Fl Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Fl\ xyz\ )\ ," -compact -offset 15n
+.It Li .Fl
+.Fl
+.It Li ".Fl cfv"
+.Fl cfv
+.It Li ".Fl cfv ."
+.Fl cfv .
+.It Li ".Cm cfv ."
+.Cm cfv .
+.It Li ".Fl s v t"
+.Fl s v t
+.It Li ".Fl \- ,"
+.Fl \- ,
+.It Li ".Fl xyz ) ,"
+.Fl xyz ) ,
+.It Li ".Fl |"
+.Fl |
+.El
+.Pp
+The
+.Ql .Fl
+macro without any arguments results in a dash representing stdin/stdout.
+Note that giving
+.Ql .Fl
+a single dash will result in two dashes.
+.Pp
+The default width is 12n.
+.
+.Ss "Function Declarations"
+.
+The
+.Ql .Fd
+macro is used in the
+.Sx SYNOPSIS
+section with section two or three functions.
+It is neither callable nor parsed.
+.Pp
+.Dl Usage: .Fd Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Fd\ X#include\ <sys/types.h>X" -compact -offset 15n
+.It Li ".Fd \*[q]#include <sys/types.h>\*[q]"
+.Fd "#include <sys/types.h>"
+.El
+.Pp
+In the
+.Sx SYNOPSIS
+section a
+.Ql .Fd
+command causes a line break if a function has already been presented and a
+break has not occurred.
+This leaves a nice vertical space in between the previous function call and
+the declaration for the next function.
+.
+.Pp
+The
+.Ql .In
+macro, while in the
+.Sx SYNOPSIS
+section, represents the
+.Li #include
+statement, and is the short form of the above example.
+It specifies the C\~header file as being included in a C\~program.
+It also causes a line break.
+.Pp
+While not in the
+.Sx SYNOPSIS
+section, it represents the header file enclosed in angle brackets.
+.Pp
+.Dl Usage: .In Ao header file Ac
+.Pp
+.Bl -tag -width ".Li .In\ stdio.h" -compact -offset 15n
+.nr in-synopsis-section 1
+.It Li ".In stdio.h"
+.In stdio.h
+.nr in-synopsis-section 0
+.It Li ".In stdio.h"
+.In stdio.h
+.El
+.
+.Ss "Function Types"
+.
+This macro is intended for the
+.Sx SYNOPSIS
+section.
+It may be used anywhere else in the man page without problems, but its main
+purpose is to present the function type in kernel normal form for the
+.Sx SYNOPSIS
+of sections two and three (it causes a line break, allowing the function
+name to appear on the next line).
+.Pp
+.Dl Usage: .Ft Ao type Ac ...
+.Pp
+.Bl -tag -width ".Li .Ft\ struct\ stat" -compact -offset 15n
+.It Li ".Ft struct stat"
+.Ft struct stat
+.El
+.
+.Ss "Functions (Library Routines)"
+.
+The
+.Ql .Fn
+macro is modeled on
+.Tn ANSI\~C
+conventions.
+.Pp
+.Dl Usage: .Fn Ao function Ac Oo Ao parameter Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Fn\ align\ Xchar\ *ptrX\ ," -compact -offset 15n
+.It Li ".Fn getchar"
+.Fn getchar
+.It Li ".Fn strlen ) ,"
+.Fn strlen ) ,
+.It Li ".Fn align \*[q]char *ptr\*[q] ,"
+.Fn align "char *ptr" ,
+.El
+.Pp
+Note that any call to another macro signals the end of the
+.Ql .Fn
+call (it will insert a closing parenthesis at that point).
+.Pp
+For functions with many parameters (which is rare), the macros
+.Ql .Fo
+(function open)
+and
+.Ql .Fc
+(function close)
+may be used with
+.Ql .Fa
+(function argument).
+.Pp
+Example:
+.
+.Bd -literal -offset indent
+\&.Ft int
+\&.Fo res_mkquery
+\&.Fa "int op"
+\&.Fa "char *dname"
+\&.Fa "int class"
+\&.Fa "int type"
+\&.Fa "char *data"
+\&.Fa "int datalen"
+\&.Fa "struct rrec *newrr"
+\&.Fa "char *buf"
+\&.Fa "int buflen"
+\&.Fc
+.Ed
+.Pp
+.
+Produces:
+.
+.Bd -ragged -offset indent
+.Ft int
+.Fo res_mkquery
+.Fa "int op"
+.Fa "char *dname"
+.Fa "int class"
+.Fa "int type"
+.Fa "char *data"
+.Fa "int datalen"
+.Fa "struct rrec *newrr"
+.Fa "char *buf"
+.Fa "int buflen"
+.Fc
+.Ed
+.Pp
+.
+In the
+.Sx SYNOPSIS
+section, the function will always begin at the beginning of line.
+If there is more than one function presented in the
+.Sx SYNOPSIS
+section and a function type has not been given, a line break will occur,
+leaving a nice vertical space between the current function name and the one
+prior.
+.Pp
+The default width values of
+.Ql .Fn
+and
+.Ql .Fo
+are 12n and 16n, respectively.
+.
+.Ss "Function Arguments"
+.
+The
+.Ql .Fa
+macro is used to refer to function arguments (parameters) outside of the
+.Sx SYNOPSIS
+section of the manual or inside the
+.Sx SYNOPSIS
+section if the enclosure macros
+.Ql .Fo
+and
+.Ql .Fc
+instead of
+.Ql .Fn
+are used.
+.Ql .Fa
+may also be used to refer to structure members.
+.Pp
+.Dl Usage: .Fa Ao function argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Fa\ d_namlen\ )\ )\ ," -compact -offset 15n
+.It Li ".Fa d_namlen ) ) ,"
+.Fa d_namlen ) ) ,
+.It Li ".Fa iov_len"
+.Fa iov_len
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Return Values"
+.
+The
+.Ql .Rv
+macro generates text for use in the
+.Sx RETURN VALUES
+section.
+.Pp
+.Dl Usage: .Rv Oo \-std Oc Op Ao function Ac ...
+.Pp
+For example,
+.Ql ".Rv \-std atexit"
+produces:
+.
+.Bd -ragged -offset indent
+\# a small hack to suppress a warning message
+.ds section-old "\*[section]
+.ds section 3
+.Rv -std atexit
+.ds section "\*[section-old]
+.Ed
+.Pp
+.
+The
+.Fl std
+option is valid only for manual page sections\~2 and\~3.
+Currently, this macro does nothing if used without the
+.Fl std
+flag.
+.
+.Ss "Exit Status"
+.
+The
+.Ql .Ex
+macro generates text for use in the
+.Sx DIAGNOSTICS
+section.
+.Pp
+.Dl Usage: .Ex Oo \-std Oc Op Ao utility Ac ...
+.Pp
+For example,
+.Ql ".Ex \-std cat"
+produces:
+.
+.Bd -ragged -offset indent
+\# a small hack to suppress a warning message
+.ds section-old "\*[section]
+.ds section 1
+.Ex -std cat
+.ds section "\*[section-old]
+.Ed
+.Pp
+.
+The
+.Fl std
+option is valid only for manual page sections 1, 6 and\~8.
+Currently, this macro does nothing if used without the
+.Fl std
+flag.
+.
+.Ss "Interactive Commands"
+.
+The
+.Ql .Ic
+macro designates an interactive or internal command.
+.Pp
+.Dl Usage: .Ic Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Ic\ setenv\ ,\ unsetenv" -compact -offset 15n
+.It Li ".Ic :wq"
+.Ic :wq
+.It Li ".Ic \*[q]do while {...}\*[q]"
+.Ic "do while {...}"
+.It Li ".Ic setenv , unsetenv"
+.Ic setenv , unsetenv
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Library Names"
+.
+The
+.Ql .Lb
+macro is used to specify the library where a particular function is compiled
+in.
+.Pp
+.Dl Usage: .Lb Ao argument Ac ...
+.Pp
+Available arguments to
+.Ql .Lb
+and their results are:
+.
+.Pp
+.Bl -tag -width ".Li librpcsec_gss" -compact -offset indent
+.It Li libarchive
+.Lb libarchive
+.It Li libarm
+.Lb libarm
+.It Li libarm32
+.Lb libarm32
+.It Li libbluetooth
+.Lb libbluetooth
+.It Li libbsm
+.Lb libbsm
+.It Li libc
+.Lb libc
+.It Li libc_r
+.Lb libc_r
+.It Li libcalendar
+.Lb libcalendar
+.It Li libcam
+.Lb libcam
+.It Li libcdk
+.Lb libcdk
+.It Li libcipher
+.Lb libcipher
+.It Li libcompat
+.Lb libcompat
+.It Li libcrypt
+.Lb libcrypt
+.It Li libcurses
+.Lb libcurses
+.It Li libdevinfo
+.Lb libdevinfo
+.It Li libdevstat
+.Lb libdevstat
+.It Li libdisk
+.Lb libdisk
+.It Li libdwarf
+.Lb libdwarf
+.It Li libedit
+.Lb libedit
+.It Li libelf
+.Lb libelf
+.It Li libevent
+.Lb libevent
+.It Li libfetch
+.Lb libfetch
+.It Li libform
+.Lb libform
+.It Li libgeom
+.Lb libgeom
+.It Li libgpib
+.Lb libgpib
+.It Li libi386
+.Lb libi386
+.It Li libintl
+.Lb libintl
+.It Li libipsec
+.Lb libipsec
+.It Li libipx
+.Lb libipx
+.It Li libiscsi
+.Lb libiscsi
+.It Li libjail
+.Lb libjail
+.It Li libkiconv
+.Lb libkiconv
+.It Li libkse
+.Lb libkse
+.It Li libkvm
+.Lb libkvm
+.It Li libm
+.Lb libm
+.It Li libm68k
+.Lb libm68k
+.It Li libmagic
+.Lb libmagic
+.It Li libmd
+.Lb libmd
+.It Li libmemstat
+.Lb libmemstat
+.It Li libmenu
+.Lb libmenu
+.It Li libnetgraph
+.Lb libnetgraph
+.It Li libnetpgp
+.Lb libnetpgp
+.It Li libossaudio
+.Lb libossaudio
+.It Li libpam
+.Lb libpam
+.It Li libpcap
+.Lb libpcap
+.It Li libpci
+.Lb libpci
+.It Li libpmc
+.Lb libpmc
+.It Li libposix
+.Lb libposix
+.It Li libprop
+.Lb libprop
+.It Li libpthread
+.Lb libpthread
+.It Li libpuffs
+.Lb libpuffs
+.It Li librefuse
+.Lb librefuse
+.It Li libresolv
+.Lb libresolv
+.It Li librpcsec_gss
+.Lb librpcsec_gss
+.It Li librpcsvc
+.Lb librpcsvc
+.It Li librt
+.Lb librt
+.It Li libsdp
+.Lb libsdp
+.It Li libssp
+.Lb libssp
+.It Li libSystem
+.Lb libSystem
+.It Li libtermcap
+.Lb libtermcap
+.It Li libterminfo
+.Lb libterminfo
+.It Li libthr
+.Lb libthr
+.It Li libufs
+.Lb libufs
+.It Li libugidfw
+.Lb libugidfw
+.It Li libulog
+.Lb libulog
+.It Li libusbhid
+.Lb libusbhid
+.It Li libutil
+.Lb libutil
+.It Li libvgl
+.Lb libvgl
+.It Li libx86_64
+.Lb libx86_64
+.It Li libz
+.Lb libz
+.El
+.Pp
+.
+Local, OS-specific additions might be found in the file
+.Pa mdoc.local ;
+look for strings named
+.Ql str\-Lb\-XXX .
+.Ql XXX
+then denotes the keyword to be used with the
+.Ql .Lb
+macro.
+.Pp
+In the
+.Em LIBRARY
+section an
+.Ql .Lb
+command causes a line break before and after its arguments are printed.
+.Pp
+.
+.Ss Literals
+.
+The
+.Ql .Li
+literal macro may be used for special characters, variable constants, etc.\&
+\- anything which should be displayed as it would be typed.
+.Pp
+.Dl Usage: .Li Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Li\ cntrl\-D\ )\ ," -compact -offset 15n
+.It Li ".Li \een"
+.Li \en
+.It Li ".Li M1 M2 M3 ;"
+.Li M1 M2 M3 ;
+.It Li ".Li cntrl\-D ) ,"
+.Li cntrl-D ) ,
+.It Li ".Li 1024 ..."
+.Li 1024 ...
+.El
+.Pp
+.
+The default width is 16n.
+.
+.Ss Names
+.
+The
+.Ql .Nm
+macro is used for the document title or subject name.
+It has the peculiarity of remembering the first argument it was called with,
+which should always be the subject name of the page.
+When called without arguments,
+.Ql .Nm
+regurgitates this initial name for the sole purpose of making less work for
+the author.
+.Ql .Nm
+causes a line break within the
+.Sx SYNOPSIS
+section.
+.Pp
+Note: A section two or three document function name is addressed with the
+.Ql .Nm
+in the
+.Em NAME
+section, and with
+.Ql .Fn
+in the
+.Sx SYNOPSIS
+and remaining sections.
+For interactive commands, such as the
+.Ql while
+command keyword in
+.Xr csh 1 ,
+the
+.Ql .Ic
+macro should be used.
+While
+.Ql .Ic
+is nearly identical
+to
+.Ql .Nm ,
+it can not recall the first argument it was invoked with.
+.Pp
+.Dl Usage: .Nm Oo Ao argument Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Nm\ mdoc" -compact -offset 15n
+.It Li ".Nm mdoc"
+.Nm mdoc
+.It Li ".Nm \e\-mdoc"
+.Nm \-mdoc
+.It Li ".Nm foo ) ) ,"
+.Nm foo ) ) ,
+.It Li ".Nm :"
+.Nm :
+.El
+.Pp
+.
+The default width is 10n.
+.
+.Ss Options
+.
+The
+.Ql .Op
+macro places option brackets around any remaining arguments on the
+command line, and places any trailing punctuation outside the brackets.
+The macros
+.Ql .Oo
+and
+.Ql .Oc
+(which produce an opening and a closing option bracket respectively) may be used
+across one or more lines or to specify the exact position of the closing
+parenthesis.
+.Pp
+.Dl Usage: .Op Oo Ao option Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Op\ Fl\ c\ Ar\ objfil\ Op\ Ar\ corfil\ ," -compact -offset 15n
+.It Li .Op
+.Op
+.It Li ".Op Fl k"
+.Op Fl k
+.It Li ".Op Fl k ) ."
+.Op Fl k ) .
+.It Li ".Op Fl k Ar kookfile"
+.Op Fl k Ar kookfile
+.It Li ".Op Fl k Ar kookfile ,"
+.Op Fl k Ar kookfile ,
+.It Li ".Op Ar objfil Op Ar corfil"
+.Op Ar objfil Op Ar corfil
+.It Li ".Op Fl c Ar objfil Op Ar corfil ,"
+.Op Fl c Ar objfil Op Ar corfil ,
+.It Li ".Op word1 word2"
+.Op word1 word2
+.It Li ".Li .Op Oo Ao option Ac Oc ..."
+.Li .Op Oo Ao option Ac Oc ...
+.El
+.Pp
+Here a typical example of the
+.Ql .Oo
+and
+.Ql .Oc
+macros:
+.
+.Bd -literal -offset indent
+\&.Oo
+\&.Op Fl k Ar kilobytes
+\&.Op Fl i Ar interval
+\&.Op Fl c Ar count
+\&.Oc
+.Ed
+.Pp
+.
+Produces:
+.
+.Bd -filled -offset indent
+.Oo
+.Op Fl k Ar kilobytes
+.Op Fl i Ar interval
+.Op Fl c Ar count
+.Oc
+.Ed
+.Pp
+.
+The default width values of
+.Ql .Op
+and
+.Ql .Oo
+are 14n and 10n, respectively.
+.
+.Ss Pathnames
+.
+The
+.Ql .Pa
+macro formats path or file names.
+If called without arguments, the
+.Sq Pa
+string is output, which represents the current user's home directory.
+.Pp
+.Dl Usage: .Pa Oo Ao pathname Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Pa\ /tmp/fooXXXXX\ )\ ." -compact -offset 15n
+.It Li .Pa
+.Pa
+.It Li ".Pa /usr/share"
+.Pa /usr/share
+.It Li ".Pa /tmp/fooXXXXX ) ."
+.Pa /tmp/fooXXXXX ) .
+.El
+.Pp
+.
+The default width is 32n.
+.
+.Ss Standards
+.
+The
+.Ql .St
+macro replaces standard abbreviations with their formal names.
+.Pp
+.Dl Usage: .St Ao abbreviation Ac ...
+.Pp
+Available pairs for
+.Dq Abbreviation/Formal Name
+are:
+.
+.Pp
+.Tn ANSI/ISO C
+.Pp
+.Bl -tag -width ".Li \-p1003.1g\-2000" -compact -offset indent
+.It Li \-ansiC
+.St -ansiC
+.It Li \-ansiC\-89
+.St -ansiC-89
+.It Li \-isoC
+.St -isoC
+.It Li \-isoC\-90
+.St -isoC-90
+.It Li \-isoC\-99
+.St -isoC-99
+.It Li \-isoC\-2011
+.St -isoC-2011
+.El
+.Pp
+.
+.Tn POSIX
+Part 1: System API
+.Pp
+.Bl -tag -width ".Li \-p1003.1g\-2000" -compact -offset indent
+.It Li \-iso9945\-1\-90
+.St -iso9945-1-90
+.It Li \-iso9945\-1\-96
+.St -iso9945-1-96
+.It Li \-p1003.1
+.St -p1003.1
+.It Li \-p1003.1\-88
+.St -p1003.1-88
+.It Li \-p1003.1\-90
+.St -p1003.1-90
+.It Li \-p1003.1\-96
+.St -p1003.1-96
+.It Li \-p1003.1b\-93
+.St -p1003.1b-93
+.It Li \-p1003.1c\-95
+.St -p1003.1c-95
+.It Li \-p1003.1g\-2000
+.St -p1003.1g-2000
+.It Li \-p1003.1i\-95
+.St -p1003.1i-95
+.It Li \-p1003.1\-2001
+.St -p1003.1-2001
+.It Li \-p1003.1\-2004
+.St -p1003.1-2004
+.It Li \-p1003.1\-2008
+.St -p1003.1-2008
+.El
+.Pp
+.
+.Tn POSIX
+Part 2: Shell and Utilities
+.Pp
+.Bl -tag -width ".Li \-p1003.1g\-2000" -compact -offset indent
+.It Li \-iso9945\-2\-93
+.St -iso9945-2-93
+.It Li \-p1003.2
+.St -p1003.2
+.It Li \-p1003.2\-92
+.St -p1003.2-92
+.It Li \-p1003.2a\-92
+.St -p1003.2a-92
+.El
+.Pp
+.
+X/Open
+.Pp
+.Bl -tag -width ".Li \-p1003.1g\-2000" -compact -offset indent
+.It Li \-susv2
+.St -susv2
+.It Li \-susv3
+.St -susv3
+.It Li \-svid4
+.St -svid4
+.It Li \-xbd5
+.St -xbd5
+.It Li \-xcu5
+.St -xcu5
+.It Li \-xcurses4.2
+.St -xcurses4.2
+.It Li \-xns5
+.St -xns5
+.It Li \-xns5.2
+.St -xns5.2
+.It Li \-xpg3
+.St -xpg3
+.It Li \-xpg4
+.St -xpg4
+.It Li \-xpg4.2
+.St -xpg4.2
+.It Li \-xsh5
+.St -xsh5
+.El
+.Pp
+.
+Miscellaneous
+.Pp
+.Bl -tag -width ".Li \-p1003.1g\-2000" -compact -offset indent
+.It Li \-ieee754
+.St -ieee754
+.It Li \-iso8601
+.St -iso8601
+.It Li \-iso8802\-3
+.St -iso8802-3
+.El
+.
+.Ss "Variable Types"
+.
+The
+.Ql .Vt
+macro may be used whenever a type is referenced.
+In the
+.Sx SYNOPSIS
+section, it causes a line break (useful for old style variable declarations).
+.Pp
+.Dl Usage: .Vt Ao type Ac ...
+.Pp
+.Bl -tag -width ".Li .Vt\ extern\ char\ *optarg\ ;" -compact -offset 15n
+.It Li ".Vt extern char *optarg ;"
+.Vt extern char *optarg ;
+.It Li ".Vt FILE *"
+.Vt FILE *
+.El
+.
+.Ss Variables
+.
+Generic variable reference.
+.Pp
+.Dl Usage: .Va Ao variable Ac ...
+.Pp
+.Bl -tag -width ".Li .Va\ Xchar\ sX\ ]\ )\ )\ ," -compact -offset 15n
+.It Li ".Va count"
+.Va count
+.It Li ".Va settimer ,"
+.Va settimer ,
+.It Li ".Va \*[q]int *prt\*[q] ) :"
+.Va "int *prt" ) :
+.It Li ".Va \*[q]char s\*[q] ] ) ) ,"
+.Va "char s" ] ) ) ,
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "Manual Page Cross References"
+.
+The
+.Ql .Xr
+macro expects the first argument to be a manual page name.
+The optional second argument, if a string (defining the manual section), is
+put into parentheses.
+.Pp
+.Dl Usage: .Xr Ao man page name Ac Oo Ao section Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Xr\ xinit\ 1x\ ;" -compact -offset 15n
+.It Li ".Xr mdoc"
+.Xr mdoc
+.It Li ".Xr mdoc ,"
+.Xr mdoc ,
+.It Li ".Xr mdoc 7"
+.Xr mdoc 7
+.It Li ".Xr xinit 1x ;"
+.Xr xinit 1x ;
+.El
+.Pp
+.
+The default width is 10n.
+.
+.
+.Sh "GENERAL TEXT DOMAIN"
+.
+.Ss "AT&T Macro"
+.
+.Pp
+.Dl Usage: .At Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .At\ v6\ ." -compact -offset 15n
+.It Li .At
+.At
+.It Li ".At v6 ."
+.At v6 .
+.El
+.Pp
+The following values for
+.Ao version Ac
+are possible:
+.Pp
+.Dl 32v, v1, v2, v3, v4, v5, v6, v7, III, V, V.1, V.2, V.3, V.4
+.
+.Ss "BSD Macro"
+.
+.Pp
+.Dl "Usage: .Bx" Bro \-alpha | \-beta | \-devel Brc ...
+.Dl " .Bx" Oo Ao version Ac Oo Ao release Ac Oc Oc ...
+.Pp
+.Bl -tag -width ".Li .Bx\ -devel" -compact -offset 15n
+.It Li .Bx
+.Bx
+.It Li ".Bx 4.3 ."
+.Bx 4.3 .
+.It Li ".Bx \-devel"
+.Bx -devel
+.El
+.Pp
+.Ao version Ac
+will be prepended to the string
+.Sq Bx .
+The following values for
+.Ao release Ac
+are possible:
+.Pp
+.Dl Reno, reno, Tahoe, tahoe, Lite, lite, Lite2, lite2
+.
+.Ss "NetBSD Macro"
+.
+.Pp
+.Dl Usage: .Nx Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Nx\ 1.4\ ." -compact -offset 15n
+.It Li .Nx
+.Nx
+.It Li ".Nx 1.4 ."
+.Nx 1.4 .
+.El
+.Pp
+For possible values of
+.Ao version Ac
+see the description of the
+.Ql .Os
+command above in section
+.Sx "TITLE MACROS" .
+.
+.Ss "FreeBSD Macro"
+.
+.Pp
+.Dl Usage: .Fx Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Fx\ 2.2\ ." -compact -offset 15n
+.It Li .Fx
+.Fx
+.It Li ".Fx 2.2 ."
+.Fx 2.2 .
+.El
+.Pp
+For possible values of
+.Ao version Ac
+see the description of the
+.Ql .Os
+command above in section
+.Sx "TITLE MACROS" .
+.
+.Ss "DragonFly Macro"
+.
+.Pp
+.Dl Usage: .Dx Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Dx\ 1.4\ ." -compact -offset 15n
+.It Li .Dx
+.Dx
+.It Li ".Dx 1.4 ."
+.Dx 1.4 .
+.El
+.Pp
+For possible values of
+.Ao version Ac
+see the description of the
+.Ql .Os
+command above in section
+.Sx "TITLE MACROS" .
+.
+.Ss "OpenBSD Macro"
+.
+.Pp
+.Dl Usage: .Ox Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Ox\ 1.0" -compact -offset 15n
+.It Li ".Ox 1.0"
+.Ox 1.0
+.El
+.
+.Ss "BSD/OS Macro"
+.
+.Pp
+.Dl Usage: .Bsx Oo Ao version Ac Oc ...
+.Pp
+.Bl -tag -width ".Li .Bsx\ 1.0" -compact -offset 15n
+.It Li ".Bsx 1.0"
+.Bsx 1.0
+.El
+.
+.Ss "UNIX Macro"
+.
+.Pp
+.Dl Usage: .Ux ...
+.Pp
+.Bl -tag -width ".Li .Ux" -compact -offset 15n
+.It Li .Ux
+.Ux
+.El
+.
+.Ss "Emphasis Macro"
+.
+Text may be stressed or emphasized with the
+.Ql .Em
+macro.
+The usual font for emphasis is italic.
+.Pp
+.Dl Usage: .Em Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Em\ vide\ infra\ )\ )\ ," -compact -offset 15n
+.It Li ".Em does not"
+.Em does not
+.It Li ".Em exceed 1024 ."
+.Em exceed 1024 .
+.It Li ".Em vide infra ) ) ,"
+.Em vide infra ) ) ,
+.El
+.Pp
+.
+The default width is 10n.
+.
+.Ss "Font Mode"
+.
+The
+.Ql .Bf
+font mode must be ended with the
+.Ql .Ef
+macro (the latter takes no arguments).
+Font modes may be nested within other font modes.
+.Pp
+.Ql .Bf
+has the following syntax:
+.Pp
+.Dl .Bf Ao font mode Ac
+.Pp
+.Ao font mode Ac
+must be one of the following three types:
+.Pp
+.Bl -tag -width ".Sy \&Sy | Fl symbolic" -compact -offset indent
+.It Sy \&Em | Fl emphasis
+Same as if the
+.Ql .Em
+macro was used for the entire block of text.
+.It Sy \&Li | Fl literal
+Same as if the
+.Ql .Li
+macro was used for the entire block of text.
+.It Sy \&Sy | Fl symbolic
+Same as if the
+.Ql .Sy
+macro was used for the entire block of text.
+.El
+.Pp
+Both macros are neither callable nor parsed.
+.
+.Ss "Enclosure and Quoting Macros"
+.
+The concept of enclosure is similar to quoting.
+The object being to enclose one or more strings between a pair of characters
+like quotes or parentheses.
+The terms quoting and enclosure are used interchangeably throughout this
+document.
+Most of the one-line enclosure macros end in small letter
+.Ql q
+to give a hint of quoting, but there are a few irregularities.
+For each enclosure macro there is also a pair of open and close macros which
+end in small letters
+.Ql o
+and
+.Ql c
+respectively.
+.Pp
+\# XXX
+.if t \
+. ne 10
+.
+.TS
+lb lb lb lb lb
+l l l l l.
+Quote Open Close Function Result
+\&.Aq .Ao .Ac Angle Bracket Enclosure <string>
+\&.Bq .Bo .Bc Bracket Enclosure [string]
+\&.Brq .Bro .Brc Brace Enclosure {string}
+\&.Dq .Do .Dc Double Quote "string"
+\&.Eq .Eo .Ec Enclose String (in XX) XXstring
+\&.Pq .Po .Pc Parenthesis Enclosure (string)
+\&.Ql Quoted Literal \*[Lq]string\*[Rq] or string
+\&.Qq .Qo .Qc Straight Double Quote "string"
+\&.Sq .So .Sc Single Quote 'string'
+.TE
+.Pp
+All macros ending with
+.Sq q
+and
+.Sq o
+have a default width value of 12n.
+.
+.Bl -tag -width ".Li .Ec , .Eo"
+.It Li .Eo , .Ec
+These macros expect the first argument to be the opening and closing strings
+respectively.
+.It Li .Es , .En
+Due to the nine-argument limit in the original troff program two other
+macros have been implemented which are now rather obsolete:
+.Ql .Es
+takes the first and second parameter as the left and right enclosure string,
+which are then used to enclose the arguments of
+.Ql .En .
+The default width value is 12n for both macros.
+.It Li .Eq
+The first and second arguments of this macro are the opening and
+closing strings respectively, followed by the arguments to be enclosed.
+.It Li .Ql
+The quoted literal macro behaves differently in troff and nroff mode.
+If formatted with
+.Xr nroff ,
+a quoted literal is always quoted.
+If formatted with troff, an item is only quoted if the width of the item is
+less than three constant width characters.
+This is to make short strings more visible where the font change to literal
+(constant width) is less noticeable.
+.Pp
+The default width is 16n.
+.It Li .Pf
+The prefix macro suppresses the whitespace between its first and second
+argument:
+.
+.Bl -tag -width ".Li .Pf\ (\ Fa\ name2" -offset indent
+.It Li ".Pf ( Fa name2"
+.Pf ( Fa name2
+.El
+.Pp
+.
+The default width is 12n.
+.Pp
+The
+.Ql .Ns
+macro (see below) performs the analogous suffix function.
+.It Li .Ap
+The
+.Ql .Ap
+macro inserts an apostrophe and exits any special text modes, continuing in
+.Ql .No
+mode.
+.El
+.Pp
+.
+Examples of quoting:
+.
+.Pp
+.Bl -tag -width ".Li .Bq\ Em\ Greek\ ,\ French\ ." -compact -offset indent
+.It Li .Aq
+.Aq
+.It Li ".Aq Pa ctype.h ) ,"
+.Aq Pa ctype.h ) ,
+.It Li .Bq
+.Bq
+.It Li ".Bq Em Greek , French ."
+.Bq Em Greek , French .
+.It Li .Dq
+.Dq
+.It Li ".Dq string abc ."
+.Dq string abc .
+.It Li ".Dq \'^[A\-Z]\'"
+.Dq \'^[A-Z]\'
+.It Li ".Ql man mdoc"
+.Ql man mdoc
+.It Li .Qq
+.Qq
+.It Li ".Qq string ) ,"
+.Qq string ) ,
+.It Li ".Qq string Ns ),"
+.Qq string Ns ),
+.It Li .Sq
+.Sq
+.It Li ".Sq string"
+.Sq string
+.It Li ".Em or Ap ing"
+.Em or Ap ing
+.El
+.Pp
+.
+For a good example of nested enclosure macros, see the
+.Ql .Op
+option macro.
+It was created from the same underlying enclosure macros as those presented
+in the list above.
+The
+.Ql .Xo
+and
+.Ql .Xc
+extended argument list macros are discussed below.
+.
+.Ss "No-Op or Normal Text Macro"
+.
+The
+.Ql .No
+macro can be used in a macro command line for parameters which should
+.Em not
+be formatted.
+Be careful to add
+.Ql \e&
+to the word
+.Ql \&No
+if you really want that English word (and not the macro) as a parameter.
+.Pp
+.Dl Usage: .No Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .No\ test\ Ta\ with\ Ta\ tabs" -compact -offset 15n
+.It Li ".No test Ta with Ta tabs"
+.No test Ta with Ta tabs
+.El
+.Pp
+.
+The default width is 12n.
+.
+.Ss "No-Space Macro"
+.
+The
+.Ql .Ns
+macro suppresses insertion of a space between the current position and its
+first parameter.
+For example, it is useful for old style argument lists where there is no
+space between the flag and argument:
+.Pp
+.Dl "Usage:" ... Ao argument Ac \&Ns Oo Ao argument Ac Oc ...
+.Dl " " .Ns Ao argument Ac ...
+.Pp
+.Bl -tag -width ".Li .Op\ Fl\ I\ Ns\ Ar\ directory" -compact -offset 15n
+.It Li ".Op Fl I Ns Ar directory"
+.Op Fl I Ns Ar directory
+.El
+.Pp
+Note: The
+.Ql .Ns
+macro always invokes the
+.Ql .No
+macro after eliminating the space unless another macro name follows it.
+If used as a command (i.e., the second form above in the
+.Sq Usage
+line),
+.Ql .Ns
+is identical to
+.Ql .No .
+.
+.Ss "Section Cross References"
+.
+The
+.Ql .Sx
+macro designates a reference to a section header within the same document.
+.Pp
+.Dl Usage: .Sx Ao section reference Ac ...
+.Pp
+.Bl -tag -width ".Li .Sx\ FILES" -offset 15n
+.It Li ".Sx FILES"
+.Sx FILES
+.El
+.Pp
+.
+The default width is 16n.
+.
+.Ss Symbolics
+.
+The symbolic emphasis macro is generally a boldface macro in either the
+symbolic sense or the traditional English usage.
+.Pp
+.Dl Usage: .Sy Ao symbol Ac ...
+.Pp
+.Bl -tag -width ".Li .Sy\ Important\ Notice" -compact -offset 15n
+.It Li ".Sy Important Notice"
+.Sy Important Notice
+.El
+.Pp
+.
+The default width is 6n.
+.
+.Ss Mathematical Symbols
+.
+Use this macro for mathematical symbols and similar things.
+.Pp
+.Dl Usage: .Ms Ao math symbol Ac ...
+.Pp
+.Bl -tag -width ".Li .Ms\ sigma" -compact -offset 15n
+.It Li ".Ms sigma"
+.Ms sigma
+.El
+.Pp
+.
+The default width is 6n.
+.
+.Ss "References and Citations"
+.
+The following macros make a modest attempt to handle references.
+At best, the macros make it convenient to manually drop in a subset of
+.Xr refer 1
+style references.
+.Pp
+.Bl -tag -width 6n -offset indent -compact
+.It Li .Rs
+Reference start (does not take arguments).
+Causes a line break in the
+.Sx "SEE ALSO"
+section and begins collection of reference information until the reference
+end macro is read.
+.It Li .Re
+Reference end (does not take arguments).
+The reference is printed.
+.It Li .%A
+Reference author name; one name per invocation.
+.It Li .%B
+Book title.
+.It Li .%C
+City/place.
+.It Li .%D
+Date.
+.It Li .%I
+Issuer/publisher name.
+.It Li .%J
+Journal name.
+.It Li .%N
+Issue number.
+.It Li .%O
+Optional information.
+.It Li .%P
+Page number.
+.It Li .%Q
+Corporate or foreign author.
+.It Li .%R
+Report name.
+.It Li .%T
+Title of article.
+.It Li .%U
+Optional hypertext reference.
+.It Li .%V
+Volume.
+.El
+.Pp
+Macros beginning with
+.Ql %
+are not callable but accept multiple arguments in the usual way.
+Only the
+.Ql .Tn
+macro is handled properly as a parameter; other macros will cause strange
+output.
+.Ql .%B
+and
+.Ql .%T
+can be used outside of the
+.Ql .Rs/.Re
+environment.
+.Pp
+Example:
+.
+.Bd -literal -offset indent
+\&.Rs
+\&.%A "Matthew Bar"
+\&.%A "John Foo"
+\&.%T "Implementation Notes on foobar(1)"
+\&.%R "Technical Report ABC\-DE\-12\-345"
+\&.%Q "Drofnats College"
+\&.%C "Nowhere"
+\&.%D "April 1991"
+\&.Re
+.Ed
+.Pp
+produces
+.
+.Bd -ragged -offset indent
+.Rs
+.%A "Matthew Bar"
+.%A "John Foo"
+.%T "Implementation Notes on foobar(1)"
+.%R "Technical Report ABC-DE-12-345"
+.%Q "Drofnats College"
+.%C "Nowhere"
+.%D "April 1991"
+.Re
+.Ed
+.
+.Ss "Trade Names (or Acronyms and Type Names)"
+.
+The trade name macro prints its arguments in a smaller font.
+Its intended use is to imitate a small caps fonts for uppercase acronyms.
+.Pp
+.Dl Usage: .Tn Ao symbol Ac ...
+.Pp
+.Bl -tag -width ".Li .Tn\ ASCII" -compact -offset 15n
+.It Li ".Tn DEC"
+.Tn DEC
+.It Li ".Tn ASCII"
+.Tn ASCII
+.El
+.Pp
+.
+The default width is 10n.
+.
+.Ss "Extended Arguments"
+.
+The
+.Li .Xo
+and
+.Li .Xc
+macros allow one to extend an argument list on a macro boundary for the
+.Ql .It
+macro (see below).
+Note that
+.Li .Xo
+and
+.Li .Xc
+are implemented similarly to all other macros opening and closing an
+enclosure (without inserting characters, of course).
+This means that the following is true for those macros also.
+.Pp
+Here is an example of
+.Ql .Xo
+using the space mode macro to turn spacing off:
+.
+.Bd -literal -offset indent
+\&.Sm off
+\&.It Xo Sy I Ar operation
+\&.No \een Ar count No \een
+\&.Xc
+\&.Sm on
+.Ed
+.Pp
+.
+produces
+.
+.Bd -filled -offset indent
+.Bl -tag -compact
+.Sm off
+.It Xo Sy I Ar operation
+.No \en Ar count No \en
+.Xc
+.Sm on
+.El
+.Ed
+.Pp
+.
+Another one:
+.
+.Bd -literal -offset indent
+\&.Sm off
+\&.It Cm S No / Ar old_pattern Xo
+\&.No / Ar new_pattern
+\&.No / Op Cm g
+\&.Xc
+\&.Sm on
+.Ed
+.Pp
+.
+produces
+.
+.Bd -filled -offset indent
+.Bl -tag -compact
+.Sm off
+.It Cm S No \&/ Ar old_pattern Xo
+.No \&/ Ar new_pattern
+.No \&/ Op Cm g
+.Xc
+.Sm on
+.El
+.Ed
+.Pp
+.
+Another example of
+.Ql .Xo
+and enclosure macros: Test the value of a variable.
+.
+.Bd -literal -offset indent
+\&.It Xo
+\&.Ic .ifndef
+\&.Oo \e&! Oc Ns Ar variable Oo
+\&.Ar operator variable ...
+\&.Oc Xc
+.Ed
+.Pp
+.
+produces
+.
+.Bd -filled -offset indent
+.Bl -tag -width flag -compact
+.It Xo
+.Ic .ifndef
+.Oo \&! Oc Ns Ar variable Oo
+.Ar operator variable ...
+.Oc Xc
+.El
+.Ed
+.Pp
+.
+.
+.Sh "PAGE STRUCTURE DOMAIN"
+.
+.Ss "Section Headers"
+.
+The following
+.Ql .Sh
+section header macros are required in every man page.
+The remaining section headers are recommended at the discretion of the
+author writing the manual page.
+The
+.Ql .Sh
+macro is parsed but not generally callable.
+It can be used as an argument in a call to
+.Ql .Sh
+only; it then reactivates the default font for
+.Ql .Sh .
+.Pp
+The default width is 8n.
+.
+.Bl -tag -width ".Li .Sh\ RETURN\ VALUES"
+.It Li ".Sh NAME"
+The
+.Ql ".Sh NAME"
+macro is mandatory.
+If not specified, headers, footers and page layout defaults will not be set
+and things will be rather unpleasant.
+The
+.Em NAME
+section consists of at least three items.
+The first is the
+.Ql .Nm
+name macro naming the subject of the man page.
+The second is the name description macro,
+.Ql .Nd ,
+which separates the subject name from the third item, which is the
+description.
+The description should be the most terse and lucid possible, as the space
+available is small.
+.Pp
+.Ql .Nd
+first prints
+.Ql \- ,
+then all its arguments.
+.
+.It Li ".Sh LIBRARY"
+This section is for section two and three function calls.
+It should consist of a single
+.Ql .Lb
+macro call;
+see
+.Sx "Library Names" .
+.
+.It Li ".Sh SYNOPSIS"
+The
+.Sx SYNOPSIS
+section describes the typical usage of the subject of a man page.
+The macros required are either
+.Ql .Nm ,
+.Ql .Cd ,
+or
+.Ql .Fn
+(and possibly
+.Ql .Fo ,
+.Ql .Fc ,
+.Ql .Fd ,
+and
+.Ql .Ft ) .
+The function name macro
+.Ql .Fn
+is required for manual page sections\~2 and\~3; the command and general name
+macro
+.Ql .Nm
+is required for sections 1, 5, 6, 7, and\~8.
+Section\~4 manuals require a
+.Ql .Nm ,
+.Ql .Fd
+or a
+.Ql .Cd
+configuration device usage macro.
+Several other macros may be necessary to produce the synopsis line as shown
+below:
+.
+.Bd -filled -offset indent
+.Nm cat
+.Op Fl benstuv
+.Op Fl
+.Ar
+.Ed
+.Pp
+.
+The following macros were used:
+.Pp
+.Dl ".Nm cat"
+.Dl ".Op Fl benstuv"
+.Dl ".Op Fl"
+.Dl .Ar
+.
+.It Li ".Sh DESCRIPTION"
+In most cases the first text in the
+.Sx DESCRIPTION
+section is a brief paragraph on the command, function or file, followed by a
+lexical list of options and respective explanations.
+To create such a list, the
+.Ql .Bl
+(begin list),
+.Ql .It
+(list item) and
+.Ql .El
+(end list)
+macros are used (see
+.Sx Lists and Columns
+below).
+.
+.It Li ".Sh IMPLEMENTATION NOTES"
+Implementation specific information should be placed here.
+.
+.It Li ".Sh RETURN VALUES"
+Sections 2, 3 and\~9 function return values should go here.
+The
+.Ql .Rv
+macro may be used to generate text for use in the
+.Sx RETURN VALUES
+section for most section 2 and 3 library functions;
+see
+.Sx "Return Values" .
+.El
+.Pp
+.
+The following
+.Ql .Sh
+section headers are part of the preferred manual page layout and must be
+used appropriately to maintain consistency.
+They are listed in the order in which they would be used.
+.
+.Bl -tag -width ".Li .Sh\ COMPATIBILITY"
+.It Li ".Sh ENVIRONMENT"
+The
+.Em ENVIRONMENT
+section should reveal any related environment variables and clues to their
+behavior and/or usage.
+.
+.It Li ".Sh FILES"
+Files which are used or created by the man page subject should be listed via
+the
+.Ql .Pa
+macro in the
+.Sx FILES
+section.
+.
+.It Li ".Sh EXAMPLES"
+There are several ways to create examples.
+See the
+.Sx "Examples and Displays"
+section below for details.
+.
+.It Li ".Sh DIAGNOSTICS"
+Diagnostic messages from a command should be placed in this section.
+The
+.Ql .Ex
+macro may be used to generate text for use in the
+.Sx DIAGNOSTICS
+section for most section 1, 6 and\~8 commands;
+see
+.Sx "Exit Status" .
+.
+.It Li ".Sh COMPATIBILITY"
+Known compatibility issues (e.g.\& deprecated options or parameters)
+should be listed here.
+.
+.It Li ".Sh ERRORS"
+Specific error handling, especially from library functions (man page
+sections 2, 3, and\~9) should go here.
+The
+.Ql .Er
+macro is used to specify an error (errno).
+.
+.It Li ".Sh SEE ALSO"
+References to other material on the man page topic and cross references to
+other relevant man pages should be placed in the
+.Sx "SEE ALSO"
+section.
+Cross references are specified using the
+.Ql .Xr
+macro.
+Currently
+.Xr refer 1
+style references are not accommodated.
+.Pp
+It is recommended that the cross references are sorted on the section
+number, then alphabetically on the names within a section, and placed
+in that order and comma separated.
+Example:
+.Pp
+.Xr ls 1 ,
+.Xr ps 1 ,
+.Xr group 5 ,
+.Xr passwd 5
+.
+.It Li ".Sh STANDARDS"
+If the command, library function or file adheres to a specific
+implementation such as
+.St -p1003.2
+or
+.St -ansiC
+this should be noted here.
+If the command does not adhere to any standard, its history should be noted
+in the
+.Em HISTORY
+section.
+.
+.It Li ".Sh HISTORY"
+Any command which does not adhere to any specific standards should be
+outlined historically in this section.
+.
+.It Li ".Sh AUTHORS"
+Credits should be placed here.
+Use the
+.Ql .An
+macro for names and the
+.Ql .Aq
+macro for e-mail addresses within optional contact information.
+Explicitly indicate whether the person authored the initial manual page
+or the software or whatever the person is being credited for.
+.It Li ".Sh BUGS"
+Blatant problems with the topic go here.
+.El
+.Pp
+.
+User-specified
+.Ql .Sh
+sections may be added; for example, this section was set with:
+.
+.Bd -literal -offset 15n
+\&.Sh "PAGE STRUCTURE DOMAIN"
+.Ed
+.
+.Ss "Subsection Headers"
+.
+Subsection headers have exactly the same syntax as section headers:
+.Ql .Ss
+is parsed but not generally callable.
+It can be used as an argument in a call to
+.Ql .Ss
+only; it then reactivates the default font for
+.Ql .Ss .
+.Pp
+The default width is 8n.
+.
+.Ss "Paragraphs and Line Spacing"
+.
+.Bl -tag -width ".Li .Pp"
+.It Li .Pp
+The
+.Ql .Pp
+paragraph command may be used to specify a line space where necessary.
+The macro is not necessary after a
+.Ql .Sh
+or
+.Ql .Ss
+macro or before a
+.Ql .Bl
+or
+.Ql .Bd
+macro (which both assert a vertical distance unless the
+.Fl compact
+flag is given).
+.Pp
+The macro is neither callable nor parsed and takes no arguments; an
+alternative name is
+.Ql .Lp .
+.El
+.
+.\" XXX
+.
+.\" This worked with version one, need to redo for version three
+.\" .Pp
+.\" .Ds I
+.\" .Cw (ax+bx+c) \ is\ produced\ by\ \&
+.\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx\ (
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Va ax
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Sy \+
+.\" .Cx
+.\" .Cl Cx \&(\&
+.\" .Va ax
+.\" .Cx +
+.\" .Va by
+.\" .Cx +
+.\" .Va c )
+.\" .Cx \t
+.\" .Em is produced by
+.\" .Cx \t
+.\" .Li \&.Va by
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Sy \+
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Va c )
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx
+.\" .Cx
+.\" .Cw
+.\" .De
+.\" .Pp
+.\" This example shows the same equation in a different format.
+.\" The spaces
+.\" around the
+.\" .Li \&+
+.\" signs were forced with
+.\" .Li \e :
+.\" .Pp
+.\" .Ds I
+.\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \&
+.\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\&
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx\ (
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Va a
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Sy x
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx \e\ +\e\ \e&
+.\" .Cx
+.\" .Cl Cx \&(\&
+.\" .Va a
+.\" .Sy x
+.\" .Cx \ +\ \&
+.\" .Va b
+.\" .Sy y
+.\" .Cx \ +\ \&
+.\" .Va c )
+.\" .Cx \t
+.\" .Em is produced by
+.\" .Cl Cx \t\t
+.\" .Li \&.Va b
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Sy y
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx \e\ +\e\ \e&
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Va c )
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx
+.\" .Cx
+.\" .Cw
+.\" .De
+.\" .Pp
+.\" The incantation below was
+.\" lifted from the
+.\" .Xr adb 1
+.\" manual page:
+.\" .Pp
+.\" .Ds I
+.\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx Op Sy ?/
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Nm m
+.\" .Cx
+.\" .Cl Cx Op Sy ?/
+.\" .Nm m
+.\" .Ad \ b1 e1 f1
+.\" .Op Sy ?/
+.\" .Cx \t
+.\" .Em is produced by
+.\" .Cx \t
+.\" .Li \&.Ar \e\ b1 e1 f1
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Op Sy ?/
+.\" .Cx
+.\" .Cl Cx \t\t
+.\" .Li \&.Cx
+.\" .Cx
+.\" .Cw
+.\" .De
+.\" .Pp
+.
+.Ss Keeps
+.
+The only keep that is implemented at this time is for words.
+The macros are
+.Ql .Bk
+(begin keep)
+and
+.Ql .Ek
+(end keep).
+The only option that
+.Ql .Bk
+accepts currently is
+.Fl words
+(this is also the default if no option is given) which is useful for
+preventing line breaks in the middle of options.
+In the example for the make command line arguments (see
+.Sx What's in a Name ) ,
+the keep prevented
+.Xr nroff
+from placing up the flag and the argument on separate lines.
+.Pp
+Both macros are neither callable nor parsed.
+.Pp
+More work needs to be done with the keep macros; specifically, a
+.Fl line
+option should be added.
+.
+.Ss "Examples and Displays"
+.
+There are seven types of displays.
+.Pp
+.Bl -tag -width ".Li .D1"
+.It Li .D1
+(This is D-one.)
+Display one line of indented text.
+This macro is parsed but not callable.
+.Pp
+.D1 Fl ldghfstru
+.Pp
+The above was produced by:
+.Li ".D1 Fl ldghfstru" .
+.
+.It Li .Dl
+(This is D-ell.)
+Display one line of indented
+.Em literal
+text.
+The
+.Ql .Dl
+example macro has been used throughout this file.
+It allows the indentation (display) of one line of text.
+Its default font is set to constant width (literal).
+.Ql .Dl
+is parsed but not callable.
+.Pp
+.Dl % ls \-ldg /usr/local/bin
+.Pp
+The above was produced by:
+.Li ".Dl % ls \e\-ldg /usr/local/bin" .
+.
+.It Li .Bd
+Begin display.
+The
+.Ql .Bd
+display must be ended with the
+.Ql .Ed
+macro.
+It has the following syntax:
+.Pp
+.Bd -ragged -compact
+.Bl -tag -width ".Li .Bd" -offset indent
+.It Li .Bd Xo
+.Bro \-literal | \-filled | \-unfilled | \-ragged | \-centered Brc
+.Oo \-offset Ao string Ac Oc Oo \-file Ao file name Ac Oc Oo \-compact Oc Xc
+.El
+.Ed
+.Pp
+.
+.Bl -tag -width ".Fl file Ao Ar file name Ac " -compact
+.It Fl ragged
+Fill, but do not adjust the right margin (only left-justify).
+.It Fl centered
+Center lines between the current left and right margin.
+Note that each single line is centered.
+.It Fl unfilled
+Do not fill; display a block of text as typed, using line breaks as
+specified by the user.
+This can produce overlong lines without warning messages.
+.It Fl filled
+Display a filled block.
+The block of text is formatted (i.e., the text is justified on both the left
+and right side).
+.It Fl literal
+Display block with literal font (usually fixed-width).
+Useful for source code or simple tabbed or spaced text.
+.It Fl file Ao Ar file name Ac
+The file whose name follows the
+.Fl file
+flag is read and displayed before any data enclosed with
+.Ql .Bd
+and
+.Ql .Ed ,
+using the selected display type.
+Any
+.Xr troff/ Ns Nm \-mdoc
+commands in the file will be processed.
+.It Fl offset Ao Ar string Ac
+If
+.Fl offset
+is specified with one of the following strings, the string is interpreted to
+indicate the level of indentation for the forthcoming block of text:
+.
+.Pp
+.Bl -tag -width ".Ar indent-two" -compact
+.It Ar left
+Align block on the current left margin; this is the default mode of
+.Ql .Bd .
+.It Ar center
+Supposedly center the block.
+At this time unfortunately, the block merely gets left aligned about an
+imaginary center margin.
+.It Ar indent
+Indent by one default indent value or tab.
+The default indent value is also used for the
+.Ql .D1
+and
+.Ql .Dl
+macros, so one is guaranteed the two types of displays will line up.
+The indentation value is normally set to\~6n or about two thirds of an inch
+(six constant width characters).
+.It Ar indent\-two
+Indent two times the default indent value.
+.It Ar right
+This
+.Em left
+aligns the block about two inches from the right side of the page.
+This macro needs work and perhaps may never do the right thing within
+.Xr troff .
+.El
+.Pp
+.
+If
+.Ao string Ac
+is a valid numeric expression instead
+.Pf ( Em with a scale indicator other than
+.Sq Em u ) ,
+use that value for indentation.
+The most useful scale indicators are
+.Sq m
+and
+.Sq n ,
+specifying the so-called
+.Em \&Em
+and
+.Em "En square" .
+This is approximately the width of the letters
+.Sq m
+and
+.Sq n
+respectively
+of the current font (for nroff output, both scale indicators give the same
+values).
+If
+.Ao string Ac
+isn't a numeric expression, it is tested whether it is an
+.Nm \-mdoc
+macro name, and the default offset value associated with this macro is used.
+Finally, if all tests fail,
+the width of
+.Ao string Ac
+(typeset with a fixed-width font) is taken as the offset.
+.It Fl compact
+Suppress insertion of vertical space before begin of display.
+.El
+.
+.It Li .Ed
+End display (takes no arguments).
+.El
+.
+.Ss "Lists and Columns"
+.
+There are several types of lists which may be initiated with the
+.Ql .Bl
+begin-list macro.
+Items within the list are specified with the
+.Ql .It
+item macro, and each list must end with the
+.Ql .El
+macro.
+Lists may be nested within themselves and within displays.
+The use of columns inside of lists or lists inside of columns is unproven.
+.Pp
+In addition, several list attributes may be specified such as the width of a
+tag, the list offset, and compactness (blank lines between items allowed or
+disallowed).
+Most of this document has been formatted with a tag style list
+.Pf ( Fl tag ) .
+.Pp
+It has the following syntax forms:
+.
+.Pp
+.Bd -ragged -compact
+.Bl -tag -width ".Li .Bl" -offset indent -compact
+.It Li .Bl Xo
+.Bro \-hang | \-ohang | \-tag | \-diag | \-inset Brc
+.Oo \-width Ao string Ac Oc
+.Oo \-offset Ao string Ac Oc Oo \-compact Oc Xc
+.It Li .Bl Xo
+.No \-column Oo \-offset Ao string Ac Oc
+.Ao string1 Ac Ao string2 Ac ... Xc
+.It Li .Bl Xo
+.Bro \-item | \-enum Oo \-nested Oc | \-bullet | \-hyphen | \-dash Brc
+.Oo \-offset Ao string Ac Oc Oo \-compact Oc Xc
+.El
+.Ed
+.Pp
+.
+And now a detailed description of the list types.
+.
+.Pp
+.Bl -tag -width ".Fl column" -compact
+.It Fl bullet
+A bullet list.
+.
+.Bd -literal -offset indent
+\&.Bl \-bullet \-offset indent \-compact
+\&.It
+Bullet one goes here.
+\&.It
+Bullet two here.
+\&.El
+.Ed
+.Pp
+.
+Produces:
+.
+.Pp
+.Bl -bullet -offset indent -compact
+.It
+Bullet one goes here.
+.It
+Bullet two here.
+.El
+.Pp
+.
+.It Fl dash No ( or Fl hyphen )
+A dash list.
+.
+.Bd -literal -offset indent
+\&.Bl \-dash \-offset indent \-compact
+\&.It
+Dash one goes here.
+\&.It
+Dash two here.
+\&.El
+.Ed
+.Pp
+.
+Produces:
+.
+.Pp
+.Bl -dash -offset indent -compact
+.It
+Dash one goes here.
+.It
+Dash two here.
+.El
+.Pp
+.
+.It Fl enum
+An enumerated list.
+.
+.Bd -literal -offset indent
+\&.Bl \-enum \-offset indent \-compact
+\&.It
+Item one goes here.
+\&.It
+And item two here.
+\&.El
+.Ed
+.Pp
+.
+The result:
+.
+.Pp
+.Bl -enum -offset indent -compact
+.It
+Item one goes here.
+.It
+And item two here.
+.El
+.Pp
+.
+If you want to nest enumerated lists, use the
+.Fl nested
+flag (starting with the second-level list):
+.
+.Bd -literal -offset indent
+\&.Bl \-enum \-offset indent \-compact
+\&.It
+Item one goes here
+\&.Bl \-enum \-nested \-compact
+\&.It
+Item two goes here.
+\&.It
+And item three here.
+\&.El
+\&.It
+And item four here.
+\&.El
+.Ed
+.Pp
+.
+Result:
+.
+.Pp
+.Bl -enum -offset indent -compact
+.It
+Item one goes here.
+.Bl -enum -nested -compact
+.It
+Item two goes here.
+.It
+And item three here.
+.El
+.It
+And item four here.
+.El
+.Pp
+.
+.It Fl item
+A list of type
+.Fl item
+without list markers.
+.
+.Bd -literal -offset indent
+\&.Bl \-item \-offset indent
+\&.It
+Item one goes here.
+Item one goes here.
+Item one goes here.
+\&.It
+Item two here.
+Item two here.
+Item two here.
+\&.El
+.Ed
+.Pp
+.
+Produces:
+.
+.Pp
+.Bl -item -offset indent
+.It
+Item one goes here.
+Item one goes here.
+Item one goes here.
+.It
+Item two here.
+Item two here.
+Item two here.
+.El
+.Pp
+.
+.It Fl tag
+A list with tags.
+Use
+.Fl width
+to specify the tag width.
+.
+.Pp
+.Bl -tag -width "PPID" -compact -offset indent
+.It SL
+sleep time of the process (seconds blocked)
+.It PAGEIN
+number of disk
+.Tn I/O Ns 's
+resulting from references by the process
+to pages not loaded in core.
+.It UID
+numerical user-id of process owner
+.It PPID
+numerical id of parent of process priority
+(non-positive when in non-interruptible wait)
+.El
+.Pp
+.
+The raw text:
+.
+.Bd -literal -offset indent
+\&.Bl \-tag \-width "PPID" \-compact \-offset indent
+\&.It SL
+sleep time of the process (seconds blocked)
+\&.It PAGEIN
+number of disk
+\&.Tn I/O Ns 's
+resulting from references by the process
+to pages not loaded in core.
+\&.It UID
+numerical user\-id of process owner
+\&.It PPID
+numerical id of parent of process priority
+(non\-positive when in non\-interruptible wait)
+\&.El
+.Ed
+.Pp
+.
+.It Fl diag
+Diag lists create section four diagnostic lists and are similar to inset
+lists except callable macros are ignored.
+The
+.Fl width
+flag is not meaningful in this context.
+.Pp
+Example:
+.
+.Bd -literal -offset indent
+\&.Bl \-diag
+\&.It You can't use Sy here.
+The message says all.
+\&.El
+.Ed
+.Pp
+.
+produces
+.
+.Bl -diag
+.It You can't use Sy here.
+The message says all.
+.El
+.Pp
+.
+.It Fl hang
+A list with hanging tags.
+.
+.Bl -hang -offset indent
+.It Em Hanged
+labels appear similar to tagged lists when the
+label is smaller than the label width.
+.It Em Longer hanged list labels
+blend into the paragraph unlike
+tagged paragraph labels.
+.El
+.Pp
+And the unformatted text which created it:
+.
+.Bd -literal -offset indent
+\&.Bl \-hang \-offset indent
+\&.It Em Hanged
+labels appear similar to tagged lists when the
+label is smaller than the label width.
+\&.It Em Longer hanged list labels
+blend into the paragraph unlike
+tagged paragraph labels.
+\&.El
+.Ed
+.Pp
+.
+.It Fl ohang
+Lists with overhanging tags do not use indentation for the items; tags are
+written to a separate line.
+.Pp
+.Bl -ohang -offset indent
+.It Sy SL
+sleep time of the process (seconds blocked)
+.It Sy PAGEIN
+number of disk
+.Tn I/O Ns 's
+resulting from references by the process
+to pages not loaded in core.
+.It Sy UID
+numerical user-id of process owner
+.It Sy PPID
+numerical id of parent of process priority
+(non-positive when in non-interruptible wait)
+.El
+.Pp
+.
+The raw text:
+.
+.Bd -literal -offset indent
+\&.Bl \-ohang \-offset indent
+\&.It Sy SL
+sleep time of the process (seconds blocked)
+\&.It Sy PAGEIN
+number of disk
+\&.Tn I/O Ns 's
+resulting from references by the process
+to pages not loaded in core.
+\&.It Sy UID
+numerical user\-id of process owner
+\&.It Sy PPID
+numerical id of parent of process priority
+(non\-positive when in non\-interruptible wait)
+\&.El
+.Ed
+.Pp
+.
+.It Fl inset
+Here is an example of inset labels:
+.Bl -inset -offset indent
+.It Em Tag
+The tagged list (also called a tagged paragraph)
+is the most common type of list used in the
+Berkeley manuals.
+Use a
+.Fl width
+attribute as described below.
+.It Em Diag
+Diag lists create section four diagnostic lists
+and are similar to inset lists except callable
+macros are ignored.
+.It Em Hang
+Hanged labels are a matter of taste.
+.It Em Ohang
+Overhanging labels are nice when space is constrained.
+.It Em Inset
+Inset labels are useful for controlling blocks of
+paragraphs and are valuable for converting
+.Nm \-mdoc
+manuals to other formats.
+.El
+.Pp
+Here is the source text which produced the above example:
+.
+.Bd -literal -offset indent
+\&.Bl \-inset \-offset indent
+\&.It Em Tag
+The tagged list (also called a tagged paragraph)
+is the most common type of list used in the
+Berkeley manuals.
+\&.It Em Diag
+Diag lists create section four diagnostic lists
+and are similar to inset lists except callable
+macros are ignored.
+\&.It Em Hang
+Hanged labels are a matter of taste.
+\&.It Em Ohang
+Overhanging labels are nice when space is constrained.
+\&.It Em Inset
+Inset labels are useful for controlling blocks of
+paragraphs and are valuable for converting
+\&.Nm \-mdoc
+manuals to other formats.
+\&.El
+.Ed
+.Pp
+.
+.It Fl column
+This list type generates multiple columns.
+The number of columns and the width of each column is determined by the
+arguments to the
+.Fl column
+list,
+.Aq Ar string1 ,
+.Aq Ar string2 ,
+etc.
+If
+.Aq Ar stringN
+starts with a
+.Ql .\&
+(dot) immediately followed by a valid
+.Nm \-mdoc
+macro name, interpret
+.Aq Ar stringN
+and use the width of the result.
+Otherwise, the width of
+.Aq Ar stringN
+(typeset with a fixed-width font) is taken as the
+.Ar N Ns th
+column width.
+.Pp
+Each
+.Ql .It
+argument is parsed to make a row, each column within the row is a separate
+argument separated by a tab or the
+.Ql .Ta
+macro.
+.Pp
+The table:
+.
+.Bl -column -offset indent ".Sy String" ".Sy Nroff" ".Sy Troff"
+.It Sy String Ta Sy Nroff Ta Sy Troff
+.It Li <= Ta <= Ta \*(<=
+.It Li >= Ta >= Ta \*(>=
+.El
+.Pp
+.
+was produced by:
+.
+.Bd -literal
+\&.Bl \-column \-offset indent ".Sy String" ".Sy Nroff" ".Sy Troff"
+\&.It Sy String Ta Sy Nroff Ta Sy Troff
+\&.It Li <= Ta <= Ta \e*(<=
+\&.It Li >= Ta >= Ta \e*(>=
+\&.El
+.Ed
+.Pp
+.
+Don't abuse this list type!
+For more complicated cases it might be far better and easier to use
+.Xr tbl 1 ,
+the table preprocessor.
+.El
+.Pp
+.
+Other keywords:
+.
+.Bl -tag -width ".Fl indent Ao Ar string Ac"
+.It Fl width Ao Ar string Ac
+If
+.Aq Ar string
+starts with a
+.Ql .\&
+(dot) immediately followed by a valid
+.Nm \-mdoc
+macro name, interpret
+.Aq Ar string
+and use the width of the result.
+Almost all lists in this document use this option.
+.Pp
+Example:
+.
+.Bd -literal -offset indent
+\&.Bl \-tag \-width ".Fl test Ao Ar string Ac"
+\&.It Fl test Ao Ar string Ac
+This is a longer sentence to show how the
+\&.Fl width
+flag works in combination with a tag list.
+\&.El
+.Ed
+.Pp
+.
+gives:
+.
+.Bl -tag -width ".Fl test Ao Ar string Ac"
+.It Fl test Ao Ar string Ac
+This is a longer sentence to show how the
+.Fl width
+flag works in combination with a tag list.
+.El
+.Pp
+.
+(Note that the current state of
+.Nm \-mdoc
+is saved before
+.Aq Ar string
+is interpreted; afterwards, all variables are restored again.
+However, boxes (used for enclosures) can't be saved in
+.Xr troff 1 ;
+as a consequence, arguments must always be
+.Em balanced
+to avoid nasty errors.
+For example, do not write
+.Ql ".Ao Ar string"
+but
+.Ql ".Ao Ar string Xc"
+instead if you really need only an opening angle bracket.)
+.Pp
+Otherwise, if
+.Aq Ar string
+is a valid numeric expression
+.Em ( with a scale indicator other than
+.Sq Em u ) ,
+use that value for indentation.
+The most useful scale indicators are
+.Sq m
+and
+.Sq n ,
+specifying the so-called
+.Em \&Em
+and
+.Em "En square" .
+This is approximately the width of the letters
+.Sq m
+and
+.Sq n
+respectively
+of the current font (for nroff output, both scale indicators give the same
+values).
+If
+.Aq Ar string
+isn't a numeric expression, it is tested whether it is an
+.Nm \-mdoc
+macro name, and the default width value associated with this macro is used.
+Finally, if all tests fail,
+the width of
+.Aq Ar string
+(typeset with a fixed-width font) is taken as the width.
+.It Fl offset Ao Ar string Ac
+If
+.Aq Ar string
+is
+.Ar indent ,
+a default indent value (normally set to\~6n, similar to the value used in
+.Ql .Dl
+or
+.Ql .Bd )
+is used.
+If
+.Aq Ar string
+is a valid numeric expression instead
+.Pf ( Em with a scale indicator other than
+.Sq Em u ) ,
+use that value for indentation.
+The most useful scale indicators are
+.Sq m
+and
+.Sq n ,
+specifying the so-called
+.Em \&Em
+and
+.Em "En square" .
+This is approximately the width of the letters
+.Sq m
+and
+.Sq n
+respectively
+of the current font (for nroff output, both scale indicators give the same
+values).
+If
+.Aq Ar string
+isn't a numeric expression, it is tested whether it is an
+.Nm \-mdoc
+macro name, and the default offset value associated with this macro is used.
+Finally, if all tests fail,
+the width of
+.Aq Ar string
+(typeset with a fixed-width font) is taken as the offset.
+.It Fl compact
+Suppress insertion of vertical space before the list and between list items.
+.El
+.
+.
+.Sh "MISCELLANEOUS MACROS"
+.
+Here a list of the remaining macros which do not fit well into one of the
+above sections.
+We couldn't find real examples for the following macros:
+.Ql .Me
+and
+.Ql .Ot .
+They are documented here for completeness \- if you know how to use them
+properly please send a mail to
+.Mt bug-groff@gnu.org
+(including an example).
+.
+.Bl -tag -width ".Li .Bt"
+.It Li .Bt
+prints
+.
+.Bd -ragged -offset indent
+.Bt
+.Ed
+.Pp
+It is neither callable nor parsed and takes no arguments.
+.
+.It Li .Fr
+.Pp
+.Dl Usage: .Fr Ao function return value Ac ...
+.Pp
+Don't use this macro.
+It allows a break right before the return value (usually a single digit)
+which is bad typographical behaviour.
+Use
+.Ql \e\[ti]
+to tie the return value to the previous word.
+.
+.It Li .Hf
+Use this macro to include a (header) file literally.
+It first prints
+.Ql File:
+followed by the file name, then the contents of
+.Ao file Ac .
+.Pp
+.Dl Usage: .Hf Ao file Ac
+.Pp
+It is neither callable nor parsed.
+.
+.It Li .Lk
+To be written.
+.
+.It Li .Me
+Exact usage unknown.
+The documentation in the
+.Nm \-mdoc
+source file describes it as a macro for
+.Dq "menu entries" .
+.Pp
+Its default width is 6n.
+.
+.It Li .Mt
+To be written.
+.
+.It Li .Ot
+Exact usage unknown.
+The documentation in the
+.Nm \-mdoc
+source file describes it as
+.Dq old function type (fortran) .
+.
+.It Li .Sm
+Activate (toggle) space mode.
+.Pp
+.Dl Usage: .Sm Oo on | off Oc ...
+.Pp
+If space mode is off, no spaces between macro arguments are inserted.
+If called without a parameter (or if the next parameter is neither
+.Ql on
+nor
+.Ql off ,
+.Ql .Sm
+toggles space mode.
+.
+.It Li .Ud
+prints
+.
+.Bd -ragged -offset indent
+.Ud
+.Ed
+.Pp
+It is neither callable nor parsed and takes no arguments.
+.El
+.
+.
+.Sh "PREDEFINED STRINGS"
+.
+The following strings are predefined:
+.Pp
+.TS
+lb lb lb lb
+l l l l.
+String Nroff Troff Meaning
+<= <= \*[<=] less equal
+>= >= \*[>=] greater equal
+Rq '' \*[Rq] right double quote
+Lq `` \*[Lq] left double quote
+ua ^ \*[ua] upwards arrow
+aa \' \*[aa] acute accent
+ga \` \*[ga] grave accent
+q \&" \*[q] straight double quote
+Pi pi \*[Pi] greek pi
+Ne != \*[Ne] not equal
+Le <= \*[Le] less equal
+Ge >= \*[Ge] greater equal
+Lt < \*[Lt] less than
+Gt > \*[Gt] greater than
+Pm +\- \*[Pm] plus minus
+If infinity \*[If] infinity
+Am \*[Am] \*[Am] ampersand
+Na \*[Na] \*[Na] not a number
+Ba \*[Ba] \*[Ba] vertical bar
+.TE
+.Pp
+The names of the columns
+.Sy Nroff
+and
+.Sy Troff
+are a bit misleading;
+.Sy Nroff
+shows the
+.Tn ASCII
+representation, while
+.Sy Troff
+gives the best glyph form available.
+For example, a Unicode enabled
+.Tn TTY Ns - Ns
+device will have proper glyph representations for all strings, whereas the
+enhancement for a Latin1
+.Tn TTY Ns - Ns
+device is only the plus-minus sign.
+.Pp
+String names which consist of two characters can be written as
+.Ql \e*(xx ;
+string names which consist of one character can be written as
+.Ql \e*x .
+A generic syntax for a string name of any length is
+.Ql \e*[xxx] .
+.
+.
+\#
+\#=====================================================================
+\#
+.Sh DIAGNOSTICS
+.
+The debugging macro
+.Ql .Db
+available in previous versions of
+.Nm \-mdoc
+has been removed since
+.Xr troff 1
+provides better facilities to check parameters; additionally, many error and
+warning messages have been added to this macro package, making it both more
+robust and verbose.
+.Pp
+The only remaining debugging macro is
+.Ql .Rd
+which yields a register dump of all global registers and strings.
+A normal user will never need it.
+.
+.
+.Sh "FORMATTING WITH NROFF AND TROFF"
+.
+By default, the package inhibits page breaks, headers, and footers if
+displayed with a
+.Tn TTY
+device like
+.Sq latin1
+or
+.Sq unicode ,
+to make the manual more efficient for viewing on-line.
+This behaviour can be changed (e.g.\& to create a hardcopy of the
+.Tn TTY
+output) by setting the register
+.Ql cR
+to zero while calling
+.Xr troff 1 ,
+resulting in multiple pages instead of a single, very long page:
+.Pp
+.Dl nroff \-Tlocale \-rcR=0 \-mdoc foo.man | col -x > foo.txt
+.Pp
+For double-sided printing, set register
+.Ql D
+to\~1:
+.Pp
+.Dl troff \-rD1 \-mdoc foo.man | dpost > foo.ps
+.Pp
+To change the document font size to 11pt or 12pt, set register
+.Ql S
+accordingly:
+.Pp
+.Dl troff \-rS11 \-mdoc foo.man | dpost > foo.dvi
+.Pp
+Register
+.Ql S
+is ignored for
+.Tn TTY
+devices.
+.Pp
+The line and title length can be changed by setting the registers
+.Ql LL
+and
+.Ql LT ,
+respectively:
+.Pp
+.Dl nroff \-Tlocale \-rLL=100n \-rLT=100n \-mdoc foo.man | col -x | less
+.Pp
+If not set, both registers default to 78n for TTY devices and 6.5i
+otherwise.
+.Pp
+Formatting for PDF output with table of contents:
+.Bd -literal -offset indent
+run_troff () {
+ tbl -g $1 | eqn | troff -mandoc -dToc=/tmp/toc \e
+ 2> /tmp/err | dpost | ps2pdf - $2
+}
+proc_toc () {
+ sed -n \(aqs/^Toc://p\(aq /tmp/err > /tmp/toc
+}
+.Ed
+.D1 Li run_troff Ar input Ns Li \&.\& Ns Ar n Ar output Ns Li .pdf
+.Dl proc_toc
+.D1 Li run_troff Ar input Ns Li \&.\& Ns Ar n Ar output Ns Li .pdf
+.Dl proc_toc
+.D1 Li run_troff Ar input Ns Li \&.\& Ns Ar n Ar output Ns Li .pdf
+.Pp
+Formatting for HTML output with table of contents:
+.Bd -literal -offset indent
+run_troff () {
+ tbl $1 | eqn | troff -Thtml -mandoc -dToc=/tmp/toc \e
+ 2> /tmp/err | dhtml -t "$2" > $3
+}
+.Ed
+.Bd -filled -compact -offset indent
+.Li run_troff Ar input Ns Li \&.\& Ns Ar n
+.Li \(aq Ns Ar input Ns Li \&(\& Ns Ar n Ns Li )\(aq Ar output Ns Li .html
+.Ed
+.Dl sed -n \(aqs/^Toc://p\(aq /tmp/err > /tmp/toc
+.Bd -filled -compact -offset indent
+.Li run_troff Ar input Ns Li \&.\& Ns Ar n
+.Li \(aq Ns Ar input Ns Li \&(\& Ns Ar n Ns Li )\(aq Ar output Ns Li .html
+.Ed
+.
+.
+.Sh "SEE ALSO"
+.
+.Xr nroff 1 ,
+.Xr man 1 ,
+.Xr troff 1 ,
+.Xr man 7
+.
+.
+.Sh BUGS
+.
+Section 3f has not been added to the header routines.
+.Pp
+.Ql \&.Nm
+font should be changed in
+.Em NAME
+section.
+.Pp
+.Ql \&.Fn
+needs to have a check to prevent splitting up
+if the line length is too short.
+Occasionally it
+separates the last parenthesis, and sometimes
+looks ridiculous if a line is in fill mode.
+.Pp
+The list and display macros do not do any keeps
+and certainly should be able to.
+.\" Note what happens if the parameter list overlaps a newline
+.\" boundary.
+.\" to make sure a line boundary is crossed:
+.\" .Bd -literal
+.\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[]
+.\" .Ed
+.\" .Pp
+.\" produces, nudge nudge,
+.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
+.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] ,
+.\" nudge
+.\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] .
+.\" .Pp
+.\" If double quotes are used, for example:
+.\" .Bd -literal
+.\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q
+.\" .Ed
+.\" .Pp
+.\" produces, nudge nudge,
+.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
+.\" nudge
+.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" ,
+.\" nudge
+.\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" .
+.\" .Pp
+.\" Not a pretty sight...
+.\" In a paragraph, a long parameter containing unpaddable spaces as
+.\" in the former example will cause
+.\" .Xr troff
+.\" to break the line and spread
+.\" the remaining words out.
+.\" The latter example will adjust nicely to
+.\" justified margins, but may break in between an argument and its
+.\" declaration.
+.\" In
+.\" .Xr nroff
+.\" the right margin adjustment is normally ragged and the problem is
+.\" not as severe.
+.
+.\" Local Variables:
+.\" mode: nroff
+.\" End:
diff --git a/troff/troff.d/tmac.d/mmn b/troff/troff.d/tmac.d/mmn
new file mode 100644
index 0000000000000..4abd3df1fc83c
--- /dev/null
+++ b/troff/troff.d/tmac.d/mmn
@@ -0,0 +1,2832 @@
+.\" Copyright 1997 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
+.\" All Rights Reserved
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" UNIX nroff Memorandum Macros - 9/9/83
+.\" C NROFF Version from OpenSolaris mmn.src 11.31
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\" Sccsid @(#)mmn 1.6 (gritter) 10/3/06
+.nr :a 0 1
+.nr :b 0
+.nr :c 0
+.nr :d 0
+.nr :e 0
+.nr :f 0
+.nr :g 0 1
+.nr :h 1
+.nr :u 0
+.nr !X 0
+.nr ;p 1
+.nr !0 0
+.nr !1 0
+.nr !2 0
+.nr !3 0
+.nr !N 0
+.ds }2 Company Name
+.ds BU \(bu
+.ds EM "\ --\
+.ds F \u\\n+(:p\d
+.ds HF 2 2 2 2 2 2 2
+.ds Lf LIST OF FIGURES
+.ds Lt LIST OF TABLES
+.ds Lx LIST OF EXHIBITS
+.ds Le LIST OF EQUATIONS
+.ds RE 10.129
+.ds Rf \u[\\n+(:R]\d
+.ds Rp REFERENCES
+.ds Tm \uTM\d
+.nr Au 1
+.nr Cp 0
+.nr Cl 2
+.nr Ds 1v
+.nr Ec 0 1
+.nr Eq 0
+.nr Ex 0 1
+.nr De 0
+.nr Df 5
+.nr Fg 0 1
+.nr Fs 1
+.nr H1 0 1
+.nr H2 0 1
+.nr H3 0 1
+.nr H4 0 1
+.nr H5 0 1
+.nr H6 0 1
+.nr H7 0 1
+.nr Hb 2
+.nr Hi 1
+.nr Hs 2
+.nr Hu 2
+.nr Hy 0
+.nr Le 0
+.nr Lf 1
+.nr Li 6
+.nr Ls 6
+.nr Lt 1
+.nr Lx 1
+.nr Np 0
+.nr Oc 0
+.nr Of 0
+.nr !4 0 1
+.af !4 01
+.nr Pi 5
+.nr Ps 1
+.nr Pt 0
+.nr Pv 0
+.nr Rf 0
+.nr Si 5
+.nr Tb 0 1
+.de RD
+'fl
+.di }w
+.rd \\$1
+.br
+.di
+.ie \w\\$3 \{\
+.di }x
+.ds \\$3 "\\*(}w
+.br
+.di
+'br \}
+.if \w\\$2 .rn }w \\$2
+.rm }w }x
+..
+.de B
+.ie \\n(.$ .nr ;G \\n(.f
+.el .ft 3
+.if \\n(.$ .if !\\n(.$-2 \&\f3\\$1\fP\\$2
+.if \\n(.$-2 \{.ds }i
+.if \\n(.f2 .ds }i \^
+.ds }I \&\f3\\$1\fP\\$2\\*(}i
+'br \}
+.if \\n(.$-2 .if !\\n(.$-4 \\*(}I\f3\\$3\fP\\$4
+.if \\n(.$-4 \\*(}I\f3\\$3\fP\\$4\\*(}i\f3\\$5\fP\\$6\\$7\\$8\\$9
+.if \\n(.$ .ft \\n(;G
+..
+.de I
+.ie \\n(.$ .nr ;G \\n(.f
+.el .ft 2
+.if \\n(.$ .if !\\n(.$-1 \&\f2\\$1
+.if \\n(.$-1 \{.ds }i \^
+.if \\n(.f2 .ds }i
+.ds }I \&
+.if \w\\$1 .ds }I \&\f2\\$1\fP\\*(}i
+'br \}
+.if \\n(.$-1 .if !\\n(.$-3 \\*(}I\\$2\f2\\$3
+.if \\n(.$-3 .if !\\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5
+.if \\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5\fP\\*(}i\\$6\\$7\\$8\\$9
+.if \\n(.$ .ft \\n(;G
+..
+.de RI
+.nr ;G \\n(.f
+.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de RB
+.nr ;G \\n(.f
+.}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de IR
+.nr ;G \\n(.f
+.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de IB
+.nr ;G \\n(.f
+.}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de BR
+.nr ;G \\n(.f
+.}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de BI
+.nr ;G \\n(.f
+.}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6\\$7\\$8\\$9"
+..
+.de }S
+.ds }i
+.if \\$12 .if !\\$5 .ds }i\^
+.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(}i" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
+.el \\$3
+.ft \\n(;G
+..
+.de SM
+.nr ;S \\n(.s
+.ps
+.nr ;G \\n(.s
+.ps
+.ie \\n(.$-2 \&\\$1\s-1\\$2\s+1\\$3
+.el \&\s-1\\$1\s+1\\$2
+.ps \\n(;G
+.ps \\n(;S
+..
+.de R
+.ft 1
+.ul 0
+..
+.de EQ
+.ds ]E \\$1
+.di >E
+..
+.de EN
+\!.br
+.br
+.di
+.rm >E
+.lt \\n(.lu
+.pc
+.if \w\\*(10\\*(}E \{\
+.ie !\\n(Eq \{\
+.ie \\n(:Y>0 \{.if \\n(:Y<\w\\*(10 .nr :Y \w\\*(10
+\!\\*(10\h'\\\\n(.lu-\w\\*(10\\*(]Eu-\\\\n(.iu'\\*(]E
+.br \}
+.el .ie \\n(:B=2 .tl \(ts\(ts\\*(10\(ts\\*(]E\(ts
+.el .ie \\n(:B=1 .tl \(ts\h'\\n(Sin'\\*(10\(ts\(ts\\*(]E\(ts
+.el .if \\n(:B=0 .tl \(ts\\*(10\(ts\(ts\\*(]E\(ts
+'br \}
+.el \{\
+.ie \\n(:Y>0 \{.if \\n(:Y<\w\\*(10 .nr :Y \w\\*(10
+\!\\\\h'-\\\\n(.iu'\\*(]E\\\\h'\\\\n(.iu-\\w\\*(]Eu'\\*(10
+.br \}
+.el .ie \\n(:B=2 .tl \(ts\\*(]E\(ts\\*(10\(ts\(ts
+.el .ie \\n(:B=1 .tl \(ts\h'\\n(Sin'\\*(]E\(ts\(ts\\*(10\(ts
+.el .if \\n(:B=0 .tl \(ts\\*(]E\(ts\(ts\\*(10\(ts
+'br \} \}
+.pc %
+.lt
+.rm ]E 10
+.rr :E
+..
+.de HC
+.ev 0
+.hc \\$1
+.ev
+.ev 1
+.hc \\$1
+.ev
+.ev 2
+.hc \\$1
+.ev
+..
+.de H
+.if \\n(:F .)D "H:missing FE"
+.if \\n(:y .)D "H:missing DE"
+.if !\\n(.$ .)D "H:missing arg"
+.nr ;0 0
+.if \\$1-7 .nr ;0 1
+.if \w\\$1-\w'0'u .nr ;0 1
+.if \\n(;0 .)D "H:bad arg:\\$1"
+.LC 0
+.br
+.)R
+.nr ;1 0\\$1
+.if !0\\$1 .nr ;1 \\n(Hu
+.if !\\n(;1 .)D "H:bad arg:\\$1"
+.if 2-\\n(;1 .nr H2 0 1
+.if 3-\\n(;1 .nr H3 0 1
+.if 4-\\n(;1 .nr H4 0 1
+.if 5-\\n(;1 .nr H5 0 1
+.if 6-\\n(;1 .nr H6 0 1
+.if 7-\\n(;1 .nr H7 0 1
+.if 2-\\n(;1 \{.if \\n(:S .)w
+.if \\n(:C .nr :p 0 1 \}
+.SP
+.nr :u 0
+.if \\n(;1-1 .nr H\\n(;1 +1
+.if !\\n(;1-1 \{.nr :u 1
+.SP 2 \}
+.if \\n(;1-1 .if (\\n(Ej+1-\\n(;1)&(\\n(nl-\\n(:J) \{.if \\n(;C .nr ;C 2
+.bp \}
+.if !\\n(;1-1 \{.if (\\n(Ej+\\n(:S)&(\\n(nl-\\n(:J) \{.if \\n(;C .nr ;C 2
+.bp \}
+.if !\\n(:u-1 .nr H1 +1
+.if (\\n(:u=1)&(\\n(:S=1) .nr P 1 \}
+.nr :u 0
+.ds }0 \\n(H1.
+.if 0\\$1-1 .as }0 \\n(H2
+.if 0\\$1-2 .as }0 .\\n(H3
+.if 0\\$1-3 .as }0 .\\n(H4
+.if 0\\$1-4 .as }0 .\\n(H5
+.if 0\\$1-5 .as }0 .\\n(H6
+.if 0\\$1-6 .as }0 .\\n(H7
+.if \\n(Ht \{.)I \\n(;1 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.ds }0 \\*(}3.
+'br \}
+.as }0 \ \
+.if !0\\$1 .ds }0
+.nr ;0 0
+.if !\\n(;1-\\n(Hb .nr ;0 1
+.if !\\n(;1-\\n(Hs .nr ;0 2
+.ds }2
+.if !\\n(;0 .if \w\\$2 .ds }2 "
+.nr ;3 2v
+.HX \\n(;1 0\\$1 "\\$2\\$3"
+.if \\$1<3 .nr !5 0 1
+.af !5 01
+.if (\\$1=1)&(\\n(Np=1) .nr !4 0
+.di >A
+\&\\*(}0\\$2\\$3\\*(}2
+.br
+.di
+.rm >A
+.if \\n(;0-1 .nr ;3 +1v
+.ne \\n(;3u+\\n(dnu+\\n(;0v
+.HY \\n(;1 0\\$1 "\\$2\\$3"
+.if \\n(;0 .na
+.)I \\n(;1 \\*(HF
+.nr ;3 1
+.nr ;3 \\*(}3-1
+.nr ;2 \w\\*(}0
+.if \\n(;0 \{.in +\\n(;2u
+.ti -\\n(;2u \}
+.nr ;2 \\n(.i
+.if !\\n(;1-\\n(Hc .if \\n(;0 .ce
+\\*(}0\&\c
+.ds }1 cu
+.if \\nU .ds }1 ul
+.if \w\\*(}0\\$2-\\n(.l .ds }1 ul
+.if \w\\*(}0\\$2u>166m .ds }1 ul
+.if !\\n(;3 .ds }1
+.nr ;s \\n(.f
+.if \\n(;3=2 .ds }1 "ft 3
+'\\ *(}1
+.ie \\n(;0 \{\
+\&\\$2\\$3
+'in
+'br \}
+.el \{\&\\$2\&\c
+\&\\$3\\*(}2\&\c
+'br \}
+.if \\n(;3=2 .ft \\n(;s
+.if (\\n(;1<=\\n(Cl)&(\w\\$2>0) .)E \\$1 "\\$2"
+'na
+.if \\n(:h 'ad
+.if \\n(;0 .br
+.if \\n(;0-1 .SP
+.if \\n(;0*\\n(Hi*\\n(Pt .if !\\n(Hi-1+\\n(Pt-1 .ti +\\n(Pin
+.if 0\\$1*\\n(;0 .if \\n(Hi-1 .ti \\n(;2u
+.nr :I 1
+.nr !D \\n(nl
+.nr !Z \\n(.k
+.if (0\\$1=1)&(\\nN=5) \{\
+.nr Fg 0
+.nr Tb 0
+.nr Ec 0
+.nr Ex 0 \}
+.HZ \\n(;1 0\\$1 "\\$2\\$3"
+.ft 1
+..
+.de HM
+.af H1 \\$1 1
+.af H2 \\$2 1
+.af H3 \\$3 1
+.af H4 \\$4 1
+.af H5 \\$5 1
+.af H6 \\$6 1
+.af H7 \\$7 1
+..
+.de HU
+.if !\\n(.$ .)D "HU:missing arg"
+.H 0 "\\$1" "\\$2"
+..
+.de LB
+.if 4-\\n(.$ .)D "LB:missing arg(s)"
+.)L 0\\$1n 0\\$2n 0\\$3n "\\$4" "\\$5" "\\$6" "\\$7"
+..
+.de )L
+.if \\n(:g>5 .)D "LB:too many nested lists"
+.if \\n(:g .)A
+.if !\\n+(:g-1 .ds ]b \\n(.i
+.nr :b \\n(.iu+0\\$1u
+.nr :c \\n(.iu+0\\$2u
+.nr :d 0\\$3
+.nr :e 0\\$4
+.nr :f 0\\$6
+.if !\w\\$6 .nr :f 1
+.ds ]g \\$5
+.if !\w\\$5 \{.ds ]g \&
+.if \\n(:e .ds ]g 1
+'br \}
+.nr :a 0 1
+.if 0\\$4 .af :a \\$5 1
+.if (\\n(:g<=\\n(Ls)&(0\\$7) .SP
+.fi
+.in \\n(:bu
+.ti \\n(:bu
+..
+.de LC
+.if \\n(:g-0\\$1 .)B
+.if \\n(:g-0\\$1 .LC 0\\$1
+..
+.de LE
+.if (\\n(:I>1)&(\\n(nl-\\n(:J) .nr :I 0
+.if \\n(:I<2 .nr :I 0
+.ie \\n(:g<1 .)D "LE:mismatched"
+.el .)B
+.if (\\n(:g<=\\n(Ls)&(\\n(.$>0) .SP
+.nr :J \\n(nl
+..
+.de LI
+.if !\\n(:g .)D "LI:no lists active"
+.if (\\n(:g<=\\n(Ls)&(\\n(:f>0) .SP
+.in \\n(:bu
+.if (\\n(:f>0)&(\\n(:D<1) .ne 2v
+.ds }0 \\*(]g
+.if \\n(:e .ds }0 \\n+(:a.
+.if \\n(:e-1 .ds }0 \\n(:a)
+.if \\n(:e-2 .ds }0 (\\n(:a)
+.if \\n(:e-3 .ds }0 [\\n(:a]
+.if \\n(:e-4 .ds }0 <\\n(:a>
+.if \\n(:e-5 .ds }0 {\\n(:a}
+.if \\n(.$-1 .ds }0 \\$1\ \\*(}0
+.if \\n(.$=1 .ds }0 \\$1
+.nr ;0 \w\\*(}0
+.nr ;1 \\n(:c
+.if \\n(:d .nr ;1 \\n(:bu-\\n(:du-\\n(;0u
+.if !\\n(;1 .nr ;1 0
+.nr ;0 \\n(:bu-\\n(;1u-\\n(;0u
+.ti \\n(;1u
+.if !\\n(;0 .nr ;0 \w u
+.if \w\\*(}0 \&\\*(}0\h\\n(;0u\&\c
+..
+.de AL
+.nr !D 0
+.if !\\$1 .if !\\$11 .if !\\$1a .if !\\$1A .if !\\$1I .if !\\$1i .)D "AL:bad arg:\\$1"
+.if \\n(.$<3 \{.ie \w\\$2=0 .)L \\n(Lin 0 2n 1 "\\$1"
+.el .LB 0\\$2 0 2 1 "\\$1" \}
+.if \\n(.$>2 \{.ie \w\\$2=0 .)L \\n(Lin 0 2n 1 "\\$1" 0 1
+.el .LB 0\\$2 0 2 1 "\\$1" 0 1 \}
+..
+.de BL
+.nr ;0 \\n(Pi
+.if (\\n(.$>0)&(\w\\$1>0) .nr ;0 0\\$1
+.ie \\n(.$<2 .LB \\n(;0 0 1 0 \\*(BU
+.el .LB \\n(;0 0 1 0 \\*(BU 0 1
+.rr ;0
+..
+.de DL
+.nr ;0 \\n(Pi
+.if (\\n(.$>0)&(\w\\$1>0) .nr ;0 0\\$1
+.ie \\n(.$<2 .LB \\n(;0 0 1 0 \(em
+.el .LB \\n(;0 0 1 0 \(em 0 1
+.rr ;0
+..
+.de ML
+.if \\n(.$<1 .)D "ML:missing arg"
+.nr ;0 \w\\$1u/3u/\\n(.su+1u
+.ie \\n(.$<2 .LB \\n(;0 0 1 0 "\\$1"
+.el .if \\n(.$=2 .LB 0\\$2 0 1 0 "\\$1"
+.if \\n(.$>2 \{.if !\w\\$2 .LB \\n(;0 0 1 0 "\\$1" 0 1
+.if \w\\$2 .LB 0\\$2 0 1 0 "\\$1" 0 1 \}
+..
+.de RL
+.nr ;0 6
+.if (\\n(.$>0)&(\w\\$1>0).nr ;0 0\\$1
+.ie \\n(.$<2 .LB \\n(;0 0 2 4
+.el .LB \\n(;0 0 2 4 1 0 1
+.rr ;0
+..
+.de VL
+.if \\n(.$<1 .)D "VL:missing arg"
+.ie \\n(.$<3 .LB 0\\$1 0\\$2 0 0
+.el .LB 0\\$1 0\\$2 0 0 \& 0 1
+..
+.de P
+.if !((\\n(!D=\\n(nl)&(\\n(!Z=\\n(.k)&(\\n(Np=0)) \{\
+.br
+.nr ;1 \\n(:J
+.nr ;2 \\n(nl
+.SP \\n(Psu*1
+.if !\\n(:D .ne 2
+.ie !\\n(;1-\\n(:J .nr ;2 \\n(;2-\\n(:J
+.el .nr ;2 \\n(nl-\\n(:J
+.nr :J \\n(;2
+.if \\n(.$>0&(0\\$1) .ti +\\n(Pin
+.if \\n(.$=0 \{\
+.if \\n(Pt=1 .ti +\\n(Pin
+.if \\n(Pt>1&(\\n(:I) .ti +\\n(Pin
+.if \\n(Pt>1&(\\n(:I=0)&(\\n(:J>0) .ti +\\n(Pin \}
+.if \\n(Np \{\
+\\n(H1.\\n+(!4\ \ \c
+'br \}
+.nr :I 1 \}
+.nr :u 0
+..
+.de nP
+.P 0
+.de )p
+'ti 6n
+.de )p
+'ti 0
+.rm )p
+.wh \\n(.du+\\n(.L+\\n(.L
+\\\\..
+.ch )p \\n(.du+\\n(.L+\\n(.L
+\\..
+.wh \\n(.du+\\n(.L )p
+\\n(H2.\\n+(!5\h'|6n'\\c
+..
+.de S
+.if !\\n(:Q .nr :Q \\nS
+.if !\\n(.$ .nr ;0 \\n(:Q
+.if \\n(.$ .if !\w\\$1 \{\
+.nr ;J 2
+.nr ;0 \\n(:P \}
+.if \w\\$1 \{\
+.ie \\$1D \{\
+.nr ;J 1
+.nr ;0 \\nS \}
+.el \{\
+.ie \\$1C \{\
+.nr ;J 2
+.nr ;0 \\n(:P \}
+.el \{\
+.ie \\$1P \{\
+.nr ;J 3
+.nr ;0 \\n(:Q \}
+.el \{.if !\\n(;J \{\
+.nr ;0 \\n(:P
+.nr ;0 \\$1 \}\}\}\}\}
+.if 0\\$1-99 .nr ;0 \\nS
+.if !\\n(;0 .)D "S:bad arg \\$1"
+.nr :Q \\n(:P
+.nr :P \\n(;0
+.ps \\n(:Pp
+.nr ;J 0
+.if !\\n(!Q .nr !Q \\nS+2
+.if !\\n(.$-1 \{\
+.ie \\n(.$ \{\
+.nr ;K 1
+.nr ;7 \\n(.s+2 \}
+.el \{\
+.nr ;K 3
+.nr ;7 \\n(!Q \}\}
+.if \\n(.$-1 .if !\w\\$2 \{\
+.nr ;K 2
+.nr ;7 \\n(!P \}
+.if \w\\$2 \{\
+.ie \\$2D \{\
+.nr ;K 1
+.nr ;7 \\n(.s+2 \}
+.el \{\
+.ie \\$2C \{\
+.nr ;K 2
+.nr ;7 \\n(!P \}
+.el \{\
+.ie \\$2P \{\
+.nr ;K 3
+.nr ;7 \\n(!Q \}
+.el \{.if !\\n(;K \{\
+.nr ;7 \\n(!P
+.nr ;7 \\$2 \}\}\}\}\}
+.if 0\\$2-99 .nr ;7 \\n(.s+2
+.if !\\n(;7 .)D "S:bad arg \\$2"
+.nr !Q \\n(!P
+.nr !P \\n(;7
+.vs \\n(!Pp
+.nr ;K 0
+..
+.rn pn ]N
+.de pn
+.nr :Z 1
+.]N \\$1
+..
+.de SA
+.if \\n(.$ \{.if \\$1-1 .)D "SA:bad arg:\\$1"
+.nr :h 0\\$1 \}
+'na
+.if \\n(:h 'ad
+..
+.de SK
+.br
+.bp
+.nr ;9 0\\$1-1
+.if \\n(;9+1 .rs
+.if \\n(;9+1 .SK \\n(;9
+.rr ;9
+..
+.de OP
+.SK
+.if !\\nP%2 .SK 1
+..
+.de SP
+.br
+.ie \\n(:D .)S \\$1
+.el .ie !'\\n(.z'' .)S \\$1
+.el \{.rr ;D ;E
+.nr ;4 1v
+.if \\n(.$ .nr ;4 \\$1v
+.if !(\\n(nl=\\n(:N) .nr :A 0
+.nr ;4 -\\n(:Au
+.if \\n(;4 \{.sp \\n(;4u
+.nr :A +\\n(;4u \}
+.nr :N \\n(nl \}
+..
+.de )S
+.br
+.if !'\\n(.z'\\*(}D' .rr ;D ;E
+.nr ;4 1v
+.if \\n(.$ .nr ;4 \\$1v
+.if !(\\n(.d=\\n(;D) .nr ;E 0
+.nr ;4 -\\n(;Eu
+.if \\n(;4 \{.sp \\n(;4u
+.nr ;E +\\n(;4u \}
+.nr ;D \\n(.d
+.ds }D \\n(.z
+..
+.de TS
+.if (\\n(:D=0)&(\\n(Ds>0) .SP
+.if \\$1H \{.br
+'ne 5v
+.di >t
+.nr ;A 1 \}
+.nr :K \\n(:ou+2v
+.wh -(\\n(:Ku+1v) >f
+..
+.de TH
+.if \\n(.du>0.5v \{.nr T. 0
+.T# 0 \}
+.br
+.di
+.nr ;I \\n(.i
+.nr ;B 1
+.if \\n(;T .if !\\$1N .nr ;T 0
+.in 0
+.mk #a
+.mk #b
+.mk #c
+.mk #d
+.mk #e
+.mk #f
+.if \\n(;T=0 \{\
+.>t
+.nr ;T 1 \}
+.in \\n(;Iu
+.mk #T
+..
+.de >f
+.ie \\n(#a .ch )f -\\n(:Ku
+.el 'ne 100v
+..
+.de TE
+.if (\\n(:D=0)&(\\n(Ds>0) .SP
+.if (\\n(;A>0)&(\\n(;B=0) \{.br
+.di
+.)D "TE: used TS H but no TH" \}
+.rr ;A ;B ;h ;D ;E
+.rm T#
+.rr #a :K
+.ch >f
+.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
+.rr 32 33 34 35 36 37 38 40 79 80 81 82
+.rr a| b| c| d| e| f| g| h| i| j| k| l| m|
+.rr a- b- c- d- e- f- g- h- i- j- k- l- m-
+..
+.de )A
+.af :a 1
+.ds ]a \\n(:a \\*(]a
+.ds ]b \\n(:b \\*(]b
+.ds ]c \\n(:c \\*(]c
+.ds ]d \\n(:d \\*(]d
+.ds ]e \\n(:e \\*(]e
+.ds ]f \\n(:f \\*(]f
+.ds ]h \\*(]g \\*(]h
+..
+.de )B
+.br
+.nr :g -1
+.)C nr :a ]a \\*(]a
+.)C nr :b ]b \\*(]b
+'in \\n(:bu
+'ti \\n(:bu
+.)C nr :c ]c \\*(]c
+.)C nr :d ]d \\*(]d
+.)C nr :e ]e \\*(]e
+.)C nr :f ]f \\*(]f
+.)C ds ]g ]h \\*(]h
+.af :a 1
+.if \\n(:e .af :a \\*(]g
+..
+.de )C
+.\\$1 \\$2 \\$4
+.ds \\$3 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de )D
+'di
+'di
+.nr :D 0
+.fl
+********************
+.br
+ERROR:(\\n(.F)input line \\n(.c:\\$1
+.br
+********************
+.tm ********************
+.tm ERROR:(\\n(.F)input line \\n(.c:\\$1
+.tm ********************
+.if !\\nD .ab \&
+..
+.de EC
+.nr !2 1
+.ie \\nN=5 .)F Equation 2 \\n+(Ec "\\$1" "\\n(H1-" 0
+.el .)F Equation 2 \\n+(Ec "\\$1" "\\$2" 0\\$3
+..
+.de EX
+.nr !3 1
+.ie \\nN=5 .)F Exhibit 3 \\n+(Ex "\\$1" "\\n(H1-" 0
+.el .)F Exhibit 3 \\n+(Ex "\\$1" "\\$2" 0\\$3
+..
+.de FG
+.nr !0 1
+.ie \\nN=5 .)F Figure 0 \\n+(Fg "\\$1" "\\n(H1-" 0
+.el .)F Figure 0 \\n+(Fg "\\$1" "\\$2" 0\\$3
+..
+.de TB
+.nr !1 1
+.ie \\nN=5 .)F TABLE 1 \\n+(Tb "\\$1" "\\n(H1-" 0
+.el .)F TABLE 1 \\n+(Tb "\\$1" "\\$2" 0\\$3
+..
+.de )F
+.nr ;0 \w\\$5
+.nr ;1 0
+.nr ;1 0\\$6
+.ds }0 \\$3
+.if \\n(;0 .ds }0 \\$5\\$3
+.if \\n(;1*\\n(;0 .ds }0 \\$3\\$5
+.if \\n(;1-1*\\n(;0 .ds }0 \\$5
+.ds }0 \\$1\ \\*(}0
+.ie (\w\\$4)&(\\n(Of=0) .as }0 .\ \
+.el .if \\n(Of .as }0 " -\
+.nr ;0 \w\\*(}0
+.ll \\nWu
+.nr ;1 \\n(.lu-\\n(;0u-\w\\$4u+1u
+.if (\\n(:B<2)&(\\n(;1>0) \{\
+.in 0
+.ce \}
+.if !\\n(;1 \{\
+.if !\\n(.u .nr ;U 1
+.if \\n(:B=2 .ce 0
+.fi
+.in \\n(;0u
+.ti -\\n(;0u \}
+\f3\\*(}0\fP\\$4
+.ll
+.in
+.if \\n(:B=2 .ce 9999
+.if \\n(;U \{\
+.nf
+.nr ;U 0 \}
+.if (\\n(Lf=1&(\\$2=0)):(\\n(Lt=1&(\\$2=1)):\
+(\\n(Le=1&(\\$2=2)):(\\n(Lx=1&(\\$2=3)) \{\
+.ds }3
+.if \\n(:S .ds }3 \\n(H1
+.ie \\n(:y=1 \{\
+.ie \\n(:B=3 \{\
+\!\\!.am >L
+\!\\!.if \\$2=\\\\\\\\\\\\\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\\\\\\\nP \\*(}3
+\!\\!\\\\..
+'br \}
+.el \{\
+\!.am >L
+\!.if \\$2=\\\\\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\\\nP \\*(}3
+\!\\\\..
+'br \} \}
+.el \{\
+.am >L
+.if \\$2=\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\nP \\*(}3
+\\.. \} \}
+..
+.de )I
+.nr ;3 0\\$1+1
+.ds }3 \\$\\n(;3
+..
+.de )E
+.ds }3
+.if \\n(:S .ds }3 \\n(H1
+.am >C
+.)T \\n(;1 \\$1 "\\*(}0" "\\$2" \\nP \\*(}3
+\\..
+..
+.de )T
+.nr ;0 \w\\$5
+.if \w\\$6 .nr ;0 +\w'-'u+\w\\$6u
+.if \\n(;0-\\n(:a .nr :a \\n(;0
+.)I \\$1 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.if \w\\$3-\\*(}3 .nr H\\$1 \w\\$3
+..
+.de )U
+.if !0\\$1-\\n(:b .sp \\n(:c
+.)I \\$1 \\*(}0
+.nr ;0 \\*(}3
+.)I \\$1 \\*(Ci
+.nr ;1 \\*(}3
+.)I \\$1 \\*(}2
+.nr ;2 \\*(}3
+.ds }3 \\$5
+.if \\n(.$-5 .ds }3 \\$6\-\\$5
+.nr :e \\n(:au-\w\\*(}3u+2n
+.ds }3 \h\\n(:eu\\*(}3
+.ds }y
+.nr ;0 -\w\\$3
+.if \\n(;0 .as }y \h\\n(;0u
+.if 2-0\\$1 .as }y "\\$3
+.if 0\\$1-1 .ds }y "\\$3\\*(}y
+.if !0\\$2 .ds }y
+.ll \\nWu-\\n(:au-3n
+.in \\n(;2u
+.if !0\\$2 .in \\n(;1u
+.ti \\n(;1u
+.fi
+.di >A
+.if !0\\$1-\\n(:d .if !\\n(:f \\*(}y\\$4\\a\\*(}3
+.if !0\\$1-\\n(:d .if \\n(:f \\*(}y\\$4\\t\\*(}3
+.if 0\\$1-\\n(:d \\*(}y\\$4\\*(}3
+.br
+\!.br
+.di
+.br
+.ll \\nWu
+.ne \\n(dnu
+.ta \\nWu-\\n(:au-2n
+.nf
+.in 0
+.na
+.>A
+..
+.de )Z
+.in 0
+.ie !\\n(Cp \{\
+.SK
+.rs
+.sp 3v
+.ce 1 \}
+.el .sp 2v
+\\$1
+.sp 1v
+.nr :a 0
+.nr H1 0
+.af H1 1
+.>L \\$2
+.rn )T )V
+.rn )U )T
+.ds }0 \\n(H1
+.ds Ci 0
+.ds }2 \\n(H1
+.>L \\$2
+.rn )T )U
+.rn )V )T
+..
+.de TC
+.LC 0
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.)w
+.if \\n(;R .RP 0 1
+.)R
+.rm )E )F DE DF DS FD FE FG FS H HU TB
+.if !\\nP-1 .if \\nN .if !\\nN-1 .rn }t }b
+.if !\\nP-1 .if \\nN .if !\\nN-1 .nr N 0
+.rm }t }e }o
+.rs
+.if \\n(;C .nr ;C 2
+.bp
+.ie \\n(Oc .nr P 1
+.el \{\
+.rm }f }p
+.nr ;g 1 1
+.af ;g i
+.ds }b ''- \\\\n(;g -''
+.am )b
+.nr ;g +1
+\\..
+'br \}
+.nr N 0
+.rs
+.if !\\n(.$-4 .TX
+.if \\n(;C .ll \\n(:Lu
+.if !\\n(.$-4 .TY
+.ce 99
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.if \\n(.$-4 .sp
+.ce 0
+.sp
+.if \\n(;C .ll \\n(:lu
+.nr ;m \\n(.hu+2v
+.nr :b 1
+.if \w\\$1 .nr :b 0\\$1
+.nr :c 1
+.if \w\\$2 .nr :c 0\\$2
+.nr :d 2
+.if \w\\$3 .nr :d 0\\$3
+.nr :f 0
+.if \w\\$4 .nr :f 0\\$4
+.nr H1 0
+.af H1 1
+.nr H2 0
+.af H2 1
+.nr H3 0
+.af H3 1
+.nr H4 0
+.af H4 1
+.nr H5 0
+.af H5 1
+.nr H6 0
+.af H6 1
+.nr H7 0
+.af H7 1
+.nr :a 0
+.>C
+.rn )T )V
+.rn )U )T
+.ds }0 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.nr H2 +\\n(H1
+.nr H3 +\\n(H2
+.nr H4 +\\n(H3
+.nr H5 +\\n(H4
+.nr H6 +\\n(H5
+.nr H7 +\\n(H6
+.if !\w'\\*(Ci' .ds Ci 0 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6
+.ds }2 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.>C
+.rm >C HX
+.rn )T )U
+.rn )V )T
+.if (\\n(Lf=1)&(\\n(!0>0) .)Z "\\*(Lf" 0
+.if (\\n(Lt=1)&(\\n(!1>0) .)Z "\\*(Lt" 1
+.if (\\n(Lx=1)&(\\n(!3>0) .)Z "\\*(Lx" 3
+.if (\\n(Le=1)&(\\n(!2>0) .)Z "\\*(Le" 2
+.)R
+..
+.de TY
+.ce
+CONTENTS
+..
+.de TL
+.nr :D 2
+.nr ;c 2
+.nr ;z 0
+.nr :V 0
+.nr :1 \\n(.i
+.if \\nC=4 .ls 1
+.ds >1 \\$1
+.ds >2 \\$2
+'nr ;y 1
+.ie \\nA=1 'll \\nWu-24n
+.el 'll \\nWu-34n
+'nh
+'na
+'fi
+'if \\nE 'ft 3
+'di >T
+..
+.de AU
+.nr :D 1
+.nr ;c 1
+'nf
+.if \\n(;y .>9
+.rm TL
+.ll \\nWu
+.da >z
+'if \\nE 'ft 3
+.if (\\n(;z>0)&(\\n(Au>0) .sp
+\\$1
+.if \\n(Au>0 \{.if \w\\$3 .ie \\$3HP HP\ \&\c
+.el \\$3\ \&\c
+.if \w\\$4 \\$4
+.if \w\\$3 .if !\w\\$4 \&
+.if \w\\$6 \\$6\ \&\c
+.if \w\\$5 x\\$5
+.if \w\\$6 .if !\w\\$5 \&
+'br \}
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.br
+'if \\nE 'ft
+.di
+.nr ;z +\\n(dn
+.nr dn 0
+.am >A
+.ie \\nE \{\
+\f3\\$1\\\\t\\$3\ \\$6\\\\t\\$5\fP
+'br \}
+.el \{\
+\\$1\\\\t\\$3\ \\$6\\\\t\\$5
+'br \}
+\\..
+'in \\n(:1u
+.if !\\n(:V .ds }v \\$3-\\$4-\\$2
+.if \\n(:V .as }v /\\$2
+.da >v
+'if \\nE 'ft 3
+.sp 3
+\\$1
+.br
+'if \\nE 'ft
+.di
+.nr :V +\\n(dnu
+.nr dn 0
+.nr :H 0
+.ds }L \\$3
+.if '\\$3'HOH' .ds }L HO
+.if '\\$3'HOH' .nr :H 1
+.if '\\$3'HP' .ds }L }A
+.if '\\$3'AL' .ds }L }B
+.if '\\$3'ALF' .ds }L }B
+.if '\\$3'RD' .ds }L }E
+.if '\\$3'INH' .ds }L }I
+.if '\\$3'FJ' .ds }L HO
+.if '\\$3'IW' .ds }L IH
+.am >4
+.sp 1
+\\$1
+.if \\\\n(:2 .sp
+.if \\\\n(:2 \\*(}2
+.if \\\\n(:2 .if \\n(:H \\\\*(}H
+.if \\\\n(:2 \\\\*(\\*(}L
+.ds }z \\\\*(\\*(}L
+\\..
+..
+.de >9
+.br
+.di
+.di }z
+.>T
+.if (\w'\\*(>1')&(\w'\\*(>2') \{\
+.ie '\\*(>1'\\*(>2' \{\
+.br
+Charge and Filing Case \\*(>1
+.br \}
+.el \{\
+.br
+Charge Case \\*(>1
+.br
+File Case \\*(>2
+.br \} \}
+.if (\w'\\*(>1'=0):(\w'\\*(>2'=0) \{\
+.ie \w'\\*(>1' \{\
+- Case\ \\*(>1
+.br \}
+.el .ie \w'\\*(>2' \{\
+- Case\ \\*(>2
+.br \}
+.el .br \}
+.di
+'if \\nE 'ft 1
+.nr :9 \\n(dn
+.nr dn 0
+.nr ;y 0
+'nf
+.rm >9
+..
+.de AT
+.da >v
+'if \\nE 'ft 3
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.br
+'if \\nE 'ft
+.di
+.nr :V +\\n(dnu
+.nr dn 0
+..
+.de OK
+.nr :D 1
+.nr ;c 1
+.de >7
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+\\..
+.rm OK
+..
+.de TM
+.nr :D 1
+.nr ;c 1
+.de >8
+.if \\nE .ft 3
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.if \\nE .ft
+\\..
+.nr ;x \\n(.$+1
+.rm TM
+..
+.de AS
+.nr :D 3
+.nr ;c 3
+.if \\n(;y .>9
+.rm TL
+.nr :t 0\\$1
+.if \\n(:t=1 .nr ;5 \\n(:s
+.nr :3 0
+.if \\n(.$-1 .nr :3 0\\$2n
+.nr ;N \\n(:1
+'in \\n(:1u
+'fi
+.SA
+'nh
+'if \\n(Hy 'hy 14
+.di >3
+.ll 0u-2u*\\n(:3u+\\nWu
+.ce
+.ul
+ABSTRACT
+.SP 3
+.ns
+.rm AS
+.nr :I 1
+..
+.de AE
+.br
+.di
+'nf
+'nh
+.nr ;3 \\n(dn
+.nr ;6 \\n(;3
+.ll \\nWu
+'in \\n(:1u
+.if \\n(:t=1 .nr :s \\n(;5
+.rm AE
+..
+.de MT
+.if \\n(!N=1 .NE
+.nr :D 0
+.nr ;c 0
+.if !\\n(;y 'nf
+.if \\n(;y .>9
+.rm TL TM OK AS AE AF AU
+.ll \\nWu
+.rn TP >Y
+.in \\n(:1u
+.rn >Y TP
+.rn )K >Y
+.ie \\nE .nr :W \\nWu-\w'\f3September 33, 1999\fP'+3n
+.el .nr :W \\nWu-\w'September 33, 1999'+3n
+.ie \w\\$1u<2n .if !0\\$1=4 .if \\n(.$=2 .ds ]n \\$2
+.el .if \\n(.$=2 .ds ]n \\$2
+.if !\\n(.$ .>6
+.if \\n(.$ .if \w\\$1u-\w'0'u .>6 "\\$1"
+.if \\n(.$ .nr ;y 0\\$1
+.if \\n(.$ .if !\\n(;y .>6 ""
+.if \\n(.$ .if \\n(;y-4 .>x
+.if \\n(.$ .if \\n(;y-3 .>5 "\\$2"
+.if \\n(.$ .if \\n(;y-2 .>6 "ENGINEER'S NOTES"
+.if \\n(.$ .if \\n(;y-1 .>6 "PROGRAMMER'S NOTES"
+.if \\n(.$ .if \\n(;y .>6 "MEMORANDUM FOR FILE"
+.)R
+.ta .8i 1.6i 2.4i 3.2i 4i 4.8i 5.6i 6.4i 7.2i 8i 8.8i 9.6i
+.ns
+.if \\nC=4 .ls 2
+.>Y
+.]N \\nP+1
+.nr ;M 1
+.rm >Y MT
+..
+.de >x
+.rm >6 >5 )Y )X
+.ta \\n(:Wu-6n
+.br
+.rs
+.sp 1
+.ie \\n(Pv \{\
+.ce
+.ul
+PRIVATE
+.sp \}
+.el .sp 2
+.ie \\nA=2 \{\
+\t\(su
+.sp .5i
+.if \w\\*(}2 \t\s16\f3\\*(}2\fP\s0
+'br \}
+.el \{\
+.sp |4v
+.}z
+.br \}
+.rs
+.mk :2
+.sp |12v
+.in \\n(:Wu
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+.if \\n(:2u-\\n(nlu .sp |\\n(:2u
+.sp 2v
+.rm >x
+..
+.de >6
+.rm >5 >x )Y
+.di ]t
+.if \\n(;n \{\
+.nr ;W \\nWu
+.nr W 6.5i
+.ll \\nWu
+.lt \\nWu \}
+.ta \\n(:Wu-6n
+.br
+.rs
+.sp 1
+.ie \\n(Pv \{\
+.ce
+.ul
+PRIVATE
+.sp \}
+.el .sp 2
+.if \\nA=2 \{\
+\t\(su
+.sp .5i \}
+.ie \w\\*(}2 \t\s16\f3\\*(}2\fP\s0
+.el .sp 2
+.sp 3
+.if \\n(;n .sp
+.mk :2
+.if !\\n(;n \{\s8subject:\s0
+.rt \\n(:2u
+.in \w'\s8subject:\s0'u+1n \}
+.}z
+.br
+.rt \\n(:2u
+.in \\n(:Wu
+.if \\n(;n .in 0n-8n*\\nWu/35n+\\nWu-100u
+.if !\\n(;n \{.ps 8
+.ti -6n
+date:
+.ps
+.rt \\n(:2u \}
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+.sp
+.if !\\n(;n \{.mk :2
+.ps 8
+.ti -6n
+from:
+.ps
+.rt \\n(:2u \}
+.if \\nE .ft 3
+.>z
+.if \\nE .ft
+.in \\n(:1u
+.in \\n(:1u
+.if \\n(;x \{.sp
+.mk :2
+.in \\n(:Wu
+.if \\n(;n .in 0n-8n*\\nWu/35n+\\nWu-100u
+.if \\nE .ft 3
+TM
+.rt \\n(:2u
+'in +\w'TM 'u
+'if \\nE 'ft
+.>8
+.in \\n(:1u \}
+.br
+.if \\n(:9u-\\n(;zu-2v-\\n(;xv .sp \\n(:9u-\\n(;zu-2v-\\n(;xv
+.sp 3
+.di
+.rs
+.ie \\n(;3 \{\
+.ie \\n(:t=2 \{\
+.af !S \\gP
+.af P i
+.]t
+.in +\\n(:3u
+.>3
+.sp 3
+.)N
+.in -\\n(:3u
+.wh 0
+.bp
+.nr P 1
+.af P \\g(!S
+.]t
+.wh 0 )h
+.if \\n(:G \{\
+.nr :s +1
+.da >y
+.>d
+\!. br
+.di
+'nr dn +4v
+'nr :o +\\n(dnu
+.nr dn 0
+'if !\\n(.pu-\\n(nlu-.5v-\\n(:ou 'nr :o \\n(.pu-\\n(nlu-.5v
+'if !\\n(:ou-\\n(:mu 'nr :o \\n(:mu
+'ch )f -\\n(:ou
+'br \}
+.rm CS \}
+.el .ie \\n(:t=1 .]t
+.el \{\
+.]t
+.in +\\n(:3u
+.>3
+.sp 3
+.in -\\n(:3u \} \}
+.el .]t
+.if \\n(;n \{\
+.nr W \\n(;Wu
+.ll \\nWu
+.lt \\nWu \}
+.ns
+.ne 10
+.ce
+.ie \\nU .ul
+.el .cu
+.ie !\\n(.$ MEMORANDUM FOR FILE
+.el .if \w\\$1 \\$1
+.SP 3
+.ce 0
+.ie \\nU .ul 0
+.el .cu 0
+.if !\\n(:t=2 .)X
+.rm )X >6
+..
+.de >5
+.rm >6 >x )X
+.br
+.rs
+.sp 1
+.ie \\n(Pv \{\
+.ce
+.ul
+PRIVATE
+.sp \}
+.el .sp 2
+.in 0
+.ds }H "Crawford Hill Laboratory
+.ds }A "South Plainfield, New Jersey 07080
+.ds PY "Piscataway, New Jersey 08854
+.ds MH "Murray Hill, New Jersey 07974
+.ds WH "Whippany, New Jersey 07981
+.ds HO "Holmdel, New Jersey 07733
+.ds RR "Piscataway, New Jersey 08854
+.ds }B Allentown, Pennsylvania 18103
+.ds AK Norcross, Georgia 30071
+.ds CP Piscataway, New Jersey 08854
+.ds CH Chester, New Jersey 07930
+.ds CB Columbus, Ohio 43213
+.ds DR Denver, Colorado 80234
+.ds IN Indianapolis, Indiana 46206
+.ds }I Indianapolis, Indiana 46250
+.ds IH Naperville, Illinois 60566
+.ds MV Mountain View, California 94043
+.ds }E Reading, Pennsylvania 19604
+.ds WB West Long Branch, New Jersey 07764
+.ds WV Warren, New Jersey 07060
+.ds HL Short Hills, New Jersey 07078
+''' .ll \\nWu-20n
+.ll \\nWu
+.fi
+.na
+.nh
+.di >6
+.>T
+.br
+.di
+.ll \\nWu
+.nf
+.ce 1000
+.ul 1000
+.>6
+.nr :2 0
+.if \w\\$1 .nr :2 1
+.ul 0
+.>4
+.br
+.if !\\n(:2 .sp
+.if !\\n(:2 \\*(}2
+.if !\\n(:2 .if \\n(:H \\*(}H
+.if !\\n(:2 \\*(}z
+.ce 0
+.sp
+.if \\n(;3 .if !\\n(:t .in +\\n(:3u
+.if \\n(;3 .if !\\n(:t .>3
+.if \\n(;3 .if !\\n(:t .in -\\n(:3u
+.if \\n(;3 .if !\\n(:t .sp
+.ns
+.)Y
+.rm )Y >6 PY MH WH HO RR }H WB }A }B }E HL }I
+.rm AK CP CH CB DR IN IH MV WV SG )N )M
+.de NS
+.br
+.di
+.di >Y
+\\..
+.de NE
+.br
+.di
+\\..
+.rm >5
+..
+.de )K
+.if \\n(:D .ie !\\n(:t=2 .)D "check TL, AU, AS, AE, MT sequence"
+.el .)D "check TL, AU, AS, AE, NS, NE, MT sequence"
+.rm )X )Y >T >x >z >1 >2 >3 >4 >5 >6 >7 >8 >9 }2 }z
+.rr ;x ;y ;z :D :1 :2 :3 :9 ;0 ;1 ;n ;3
+.rm TL AU TM AF AS AE OK
+.rm )K
+..
+.de )X
+.di >S
+\!.ie \\nA .nr ;8 \\nO-1i
+\!.el .nr ;8 \\nO-.75i
+\!.po \\\\n(;8u
+\!.rr ;8
+\!.nr W 6.5i
+\!.ll 6.5i
+\!.lt 6.5i
+\!.ll +.45i
+\!.lt +.45i
+\!.sp 2
+\!.tl 'Company Name''Cover Sheet for Technical Memorandum'
+\!\l\\\\n(.lu
+\!.br
+\!.fi
+\!The information contained herein is for the use of
+\!employees of Company Name
+\!and is not for publication\\\\p
+\!.nf
+\!.sp -.5v
+\!\l\\\\n(.lu
+\!.ll
+\!.lt
+\!.nf
+\!.sp 2
+\!.mk ;2
+\s9Title:\s0
+\!.rt -1
+\!.in \w'\s9Title:\s0'u+1n
+.>T
+.rm >T
+\!.in 0
+\!.sp
+\s9Other\ Keywords:\s0
+\!.rt -1
+\!.in \w'\s9Other Keywords:\s0'u+1n
+.if \\nE .ft 3
+.>7
+.rm >7
+.if \\nE .ft
+\!.br
+\!.mk ;0
+\!.rt \\\\n(;2u
+\!.in \\\\nWu-1.4i
+\!.ti -6n
+\s9Date:\s0
+\!.rt -1
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+\!.sp
+\!.in \\\\nWu-1.4i
+\!.ti -6n
+\s9TM:\s0
+\!.rt -1
+.>8
+\!.in 0
+\!.br
+\!.if \\\\n(;0u-\\\\n(nlu .sp \\\\n(;0u-\\\\n(nlu
+\!.sp 2
+\!.ta 2i 3.2i
+\!.mk ;0
+\!.ul
+Author(s)\\tLocation\\tExtension
+.>A
+.rm >A
+\!.mk ;1
+\!.rt \\\\n(;0u
+.br
+.di
+.nf
+.de >7
+.di >A
+.tr ,+
+.tr |.
+.ie \\nE \{\
+|ds\ >8\ \f3\\\\$1+\\\\$2+\\\\$3+\\\\$4+\\\\$5+\\\\$6+\\\\$7+\\\\$8+\\\\$9\fP
+'br \}
+.el \{\
+|ds\ >8\ \\\\$1+\\\\$2+\\\\$3+\\\\$4+\\\\$5+\\\\$6+\\\\$7+\\\\$8+\\\\$9
+'br \}
+.br
+\!.br
+.tr ,,++||
+.di
+\\..
+.>7 \\*(>1
+.>A
+.rn >8 >1
+.>7 \\*(>2
+.>A
+.rn >8 >2
+.di >7
+.tr |.
+.tr +
+|>A\ \\*(>1
+|rn\ >T\ >1
+|>A\ \\*(>2
+|rn\ >T\ >2
+.br
+.tr ||++
+.di
+.de >A
+.de >T
+.if \\\\n(.$ \\\\$1
+.if \\\\n(.$-1 \\\\$2
+.if \\\\n(.$-2 \\\\$3
+.if \\\\n(.$-3 \\\\$4
+.if \\\\n(.$-4 \\\\$5
+.if \\\\n(.$-5 \\\\$6
+.if \\\\n(.$-6 \\\\$7
+.if \\\\n(.$-7 \\\\$8
+.if \\\\n(.$-8 \\\\$9
+\\\\..
+\\..
+.>7
+.rm >A >7 >T
+.da >S
+\!.ll +.45i
+\!.in \\\\nWu-5n
+\!.ti \\\\nWu-1.4i-6n
+\!.mk ;0
+\s9Charging\\\\ Case:\s0
+.br
+\!.br
+\!.rt -1
+\!.if \\nE .ft 3
+.>1
+\!.if \\nE .ft
+.rm >1
+.br
+\!.br
+\!.if \\\\n(nl=\\\\n(;0 .sp 1v
+\!.ti \\\\nWu-1.4i-6n
+\s9Filing\\\\ Case:\s0
+.br
+\!.br
+\!.rt -1
+\!.if \\nE .ft 3
+.>2
+\!.if \\nE .ft
+.rm >2
+.br
+\!.ll
+\!.br
+\!.if \\\\n(;1u-\\\\n(nlu .sp \\\\n(;1u-\\\\n(nlu
+\!.sp 3
+\!.in 0
+\!.ll \\\\nWu
+\!.in +\\n(:3u
+\!.po +(6.95i-\\\\n(!Wu)/2u
+.>3
+\!.in -\\n(:3u
+\!.po
+\!.nr ;0 0
+.br
+.di
+.di >b
+.nf
+.na
+.>c
+.br
+.di
+.if \\n(dn \{\
+.nr ;c \\n(.pu-\\n(:mu-\\n(dnu
+.da >S
+\!.ie \\n(;cu-\\\\n(nlu .sp \\n(;cu-\\\\n(nlu-2v
+\!.el .sp 1v
+.nr ;c 0
+\l'60p'
+.>c
+.di
+'br \}
+..
+.de )Y
+.di >S
+\!.sp 5
+\!.in 0
+\!.ce 1000
+\!.ul 1000
+.>6
+\!.ul 0
+\!.sp .5v
+.>4
+\!.br
+\!.if \\n(:2=0 .sp .5v
+\!.if \\n(:2=0 \\*(}2
+\!.if \\n(:2=0 .if \\n(:H \\*(}H
+\!.if \\n(:2=0 \\*(}z
+\!.ce 0
+\!.sp
+\!.in 0
+\!.in +\\n(:3u
+.>3
+\!.in -\\n(:3u
+\!.nr ;0 1
+.di
+.di >b
+.nf
+.na
+.>c
+.br
+.di
+.if \\n(dn \{\
+.nr ;c \\n(.pu-\\n(:mu-\\n(dnu
+.da >S
+\!.ie \\n(;c-\\\\n(nlu .sp \\n(;cu-\\\\n(nlu-2v
+\!.el .sp 1v
+.nr ;c 0
+\l'60p'
+.>c
+.di
+'br \}
+..
+.de CS
+.LC 0
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.)w
+.if \\n(;R .RP 0 1
+.if !\\nP-1 .if \\nN .if !\\nN-1 .rn }t }b
+.if !\\nP-1 .if \\nN .if !\\nN-1 .nr N 0
+.rm }t }e }o
+.wh 0
+.br
+.rs
+.bp
+.rm }b }f }p
+.rn )f >z
+.ch )n 15.1i
+.ch )b 15.2i
+.de )f
+.)D "CS:cover sheet too long"
+\\..
+.ch )f -\\n(:Mu
+.)R
+.ll \\nWu
+.in 0
+.br
+.nr !O \\nO
+.nr !W \\nW
+.rs
+.nf
+.>S
+.rm )f
+.ch )f 15.0i
+.sp \\n(.pu-\\n(nlu-7.5v
+.ie \\n(;0 .sp 7.5
+.el \{.nr ;1 \\n(.lu+.45i
+\l\\n(;1u\(ul
+.ta 1.7i 3.3i
+.ie \\n(.$ \{.ds ]1 \\$1
+.ie \w'\\$1' .nr !T +0\\$1
+.el .nr !T \\nP \}
+.el .nr !T \\nP
+.if \\n(.$-1 \{.ds ]2 \\$2
+.nr !T +0\\$2 \}
+.if \\n(.$-2 .ds ]3 \\$3
+.if \\n(.$-3 .ds ]4 \\$4
+.if \\n(.$-4 .ds ]5 \\$5
+.if \\n(.$-5 .ds ]6 \\$6
+.if !\w'\\*(]1' .ds ]1 \\nP
+.if !\w'\\*(]2' .ds ]2 0
+.if !\w'\\*(]3' .ds ]3 \\n(!T
+.if !\w'\\*(]4' .ds ]4 \\n(Fg
+.if !\w'\\*(]5' .ds ]5 \\n(Tb
+.if !\w'\\*(]6' .ds ]6 \\n(Rf
+.sp .5v
+\s9Pages Text:\ \s0\\*(]1\t\s9Other:\ \s0\\*(]2\t\s9Total:\ \s0\\*(]3
+.sp 1v
+\s9No. Figures:\ \s0\\*(]4\t\s9No. Tables:\ \s0\\*(]5\t\s9No. Refs.:\ \s0\\*(]6
+.sp .5v
+\l\\n(;1u\(ul
+'br \}
+.lt +1n
+.if !\\n(;0 .tl 'E-1932-U(3-76)'SEE REVERSE SIDE FOR DISTRIBUTION LIST''
+.lt -1n
+.nr O \\n(!O
+.nr W \\n(!W
+.po \\nOu
+.ll \\nWu
+.lt \\nWu
+.wh 0 )h
+.ch )n -\\n(:mu
+.rn >z )f
+.ch )f -\\n(:mu
+.ch )b -\\n(:ru
+.)R
+.ta .8i 1.6i 2.4i 3.2i 4i 4.8i 5.6i 6.4i 7.2i 8i 8.8i 9.6i
+.rr ;0 ;1 ;2
+.rm >S
+..
+.de FC
+.)w
+.in 0
+.nf
+.ls 1
+.in (\\n(.lu/2u)
+.rs
+.ne \\n(:Vu+3v+.5p
+.sp
+.ie \\n(.$ \\$1
+.el Yours very truly,
+.in
+.fi
+..
+.de SG
+.if !\\n(:V .)D "SG:no authors"
+.if \\n(:F .)D "SG:missing FE"
+.if \\n(:y .)D "SG:missing DE"
+.LC 0
+.)w
+.)R
+.in 0
+.nf
+.ls 1
+.if \w\\$1 .as }v -\\$1
+.ne 5v+.5p
+.rs
+.if \\n(.$>1 \{\
+.sp 3
+\\*(}v
+.sp -4 \}
+.in (\\n(.lu/2u)
+.>v
+.in
+.if \\n(.$=1 \{\
+.sp -1
+\\*(}v
+'br \}
+.rm >v
+.fi
+..
+'nu ll,0 - 9 => various notations
+'st ring => copy (string) to
+.de NS
+.if \\n(!N=1 .di
+.if \\n(;M .br
+.)R
+.nr :D 1
+.ds }4 "Copy to
+.nr ;0 0\\$1
+.if \w\\$1u-\w'\0\0'u .nr ;0 50
+.if \\n(;0 .ds }4 "Copy (with att.) to
+.if \\n(;0-1 .ds }4 "Copy (without att.) to
+.if \\n(;0-2 .ds }4 "Att.
+.if \\n(;0-3 .ds }4 "Atts.
+.if \\n(;0-4 .ds }4 "Enc.
+.if \\n(;0-5 .ds }4 "Encs.
+.if \\n(;0-6 .ds }4 "U.S.C.
+.if \\n(;0-7 .ds }4 "Letter to
+.if \\n(;0-8 .ds }4 "Memorandum to
+.if \\n(;0-9 .ds }4 "Copy (with atts.) to
+.if \\n(;0-10 .ds }4 "Copy (without atts.) to
+.if \\n(;0-11 .ds }4 "Abstract only to
+.if \\n(;0-12 .ds }4 "Complete memorandum to
+.if \\n(;0-13 .ds }4 "Copy (\\$1) to
+.if \\n(.$-1 .ds }4 \&\\$1
+'in \\n(;N
+.if !\\n(!N .ds }5 \\*(}4
+.if \\n(!N .da }C
+.if !\\n(!N .di }C
+.if \\n(!N .sp
+\!.ds }4 \\*(}4
+\\*(}4
+.nf
+.nr !N 1
+..
+.de )N
+.br
+.rr !N
+.di ]v
+.}C
+.br
+.di
+.rm ]v
+.nr ;0 \\n(dn
+.if \\n(;0 .)M
+..
+.de )M
+.nf
+.sp
+.ne 2v
+.if \\n(.tu<=2v \{\
+\&\\*(}5
+.ie !\\n(;C See next page
+.el See next column
+'br \}
+.nr !U \\n(;0>=\\n(.tu
+.if \\n(!U \{\
+.ie !\\n(;C .ds ]w Continued next page
+.el .ds ]w Continued next column
+.ds ]x \\\\*(}4\ \-\ contd.
+.ch )f -(\\n(:ou+1v) \}
+.}C
+.if \\n(!U \{\
+.rm ]w ]x
+.ch )f -\\n(:ou \}
+.rm }C
+..
+.de NE
+.br
+.if \\n(!N=1 .di
+.nr :D 0
+.nr !N 2
+.if \\n(;M .)N
+.)R
+..
+.de AV
+.ne 6v
+.in 0
+.nf
+.if \\n(.$<2 \{\
+.sp
+APPROVED:
+'br \}
+.sp 2
+\l'3i'\h'.3i\l'1.5i'
+\\$1\h'|4i-(\w'Da'u)'Date
+.in
+.fi
+..
+.de ND
+.if !\\n(.$ .)D "ND:missing arg"
+.ds DT "\\$1
+..
+.de AF
+.if \\n(;y .>9
+.if !\\n(.$ \{\
+.nr ;n 1
+.nr O 1i
+.po \\nOu
+.nr W 5.8i
+.ev 0
+.ll \\nWu
+.lt \\nWu
+.ev
+.ev 1
+.ll \\nWu
+.lt \\nWu
+.ev
+.ev 2
+.ll \\nWu
+.lt \\nWu
+.ev
+'br \}
+.ds }2 "\\$1
+..
+.de )h
+'ev 0
+'nh
+'if \\n(Hy 'hy 14
+'ev
+'ev 2
+.)R
+.nr P +1
+.if \\n(:Z \{.nr P \\n%
+.rr :Z \}
+.if \\n(:u*\\n(:S .nr P 1
+.if \\n(:u=1 \{.nr H1 +1
+.nr :u 2 \}
+'sp \\n(!X
+.TP
+.br
+.)R
+'ev
+.nr :I 2
+.nr :J \\n(nl
+'ns
+'if \\n(:q .)l
+'nr :q 0
+.mk ;r
+.mk ;m
+.nr !B 0
+.if \\n(;d=0&\\n(:z>0 \{\
+'ie \\n(Df>3 \{')z
+')s \}
+'el 'if \\n(Df>1 ')z \}
+.nr :I 3
+.nr !C \\n(.h
+.PX
+'ns
+.if !((\\n(!C=\\n(.h)&(\\n(!B=0)) .mk ;m
+.nr ;T 0
+.if \\n(;A>0 \{.nr ;h \\n(.i
+.in 0
+.>t
+.nr ;T 1
+.in \\n(;hu \}
+.mk #T
+.nr :J \\n(nl
+.if !\\*(]x \\*(]x
+..
+.de )f
+.if !\\*(]w \\*(]w
+.nr !D 0
+.nr :N 0
+'nr dn 0
+.rn )f >u
+.if \\n(#a \{.nr T. 1
+.if \\n(;f=0 .T# 1
+'br \}
+.nr ;f 1
+.rn >u )f
+'nr ;y \\n(.pu-\\n(nlu-\\n(:mu-1v
+'if \\n(:s \{'ie \\n(;y-4v .)o
+'el .)m \}
+'nr :s 0
+'nr :o \\n(:mu
+.ie \\n(;C=0 \{\
+.if \\n(;e \&\c
+'bp \}
+.el .ie \\n(;C=2 .)2
+.el .)1
+.rr ;f
+.ie \\*(]w 'ch )f -\\n(:ou
+.el 'ch )f -(\\n(:ou+1v)
+.if \\n(#a \{\
+.nr :K \\n(:ou+2v
+.ch >f -(\\n(:Ku+1v)
+'br \}
+..
+.de PH
+.ds }t "\\$1
+..
+.de EH
+.ds }e "\\$1
+..
+.de OH
+.ds }o "\\$1
+..
+.de PF
+.ds }b "\\$1
+..
+.de EF
+.ds }f "\\$1
+..
+.de OF
+.ds }p "\\$1
+..
+.de TP
+'sp
+.)K
+.af ;P \\gP
+.af P 1
+.nr ;P \\nP
+.af P \\g(;P
+.af ;P 1
+.ie \\n(Pv \{\
+.ie (\\n(Pv=1)&(\\n(;P>1) 'sp 2
+.el \{\
+.ce
+.ul
+PRIVATE
+.sp \} \}
+.el 'sp 2
+.if !\\n(;P-1 .if \\nN 'sp
+.if !\\n(;P-1 .if \\n(:S .tl \\*(}t
+.if !\\n(;P-1 .if !\\nN .tl \\*(}t
+.if \\n(;P-1 .ie \w'\\*(]n' .tl '\\*(]n - \\nP'''
+.el .tl \\*(}t
+'if !\\n(;P%2 'tl \\*(}e
+'if \\n(;P%2 'tl \\*(}o
+'sp 2
+..
+.de PM
+.ie \\$1 \{\
+.(B
+.(E 2 0
+.(B
+.(E 3 0 \}
+.el .ie \\$1CI-II \{\
+.(B
+\!. tl \fICI-II\fR
+\!. tl Not for disclosure to American Bell.
+\!. tl Subject to FCC separation requirements under Computer Inquiry II.
+\!. tl 
+.(E 2 4v \}
+.el .ie \\$1P \{\
+.(B
+\!. tl \fIPRIVATE\fR
+\!. tl The information contained herein should not be disclosed
+\!. tl to unauthorized persons. It is meant solely for use by
+\!. tl authorized Bell System employees.
+.(E 3 4v \}
+.el .ie \\$1BP \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY\fR
+\!. tl Not for use or disclosure outside Bell Laboratories
+\!. tl except by written approval of the Director of the
+\!. tl originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BPP \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- PRIVATE\fR
+\!. tl The information herein is intended for use by authorized Bell Laboratories
+\!. tl employees and is not to be disclosed to others except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BR \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- PRIVATE\fR
+\!. tl The information herein is intended for use by authorized Bell Laboratories
+\!. tl employees and is not to be disclosed to others except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BPN \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- NOTICE\fR
+\!. tl Not for use or disclosure outside Bell Laboratories except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+\!. tl 
+.(E 3 4v \}
+.el .ie \\$1ILL \{\
+.(B
+\!. tl THIS DOCUMENT CONTAINS PROPRIETARY INFORMATION OF BELL
+\!. tl TELEPHONE LABORATORIES AND IS NOT TO BE DISCLOSED, REPRODUCED,
+\!. tl OR PUBLISHED WITHOUT WRITTEN BELL LABORATORIES APPROVAL.
+\!. tl THIS DOCUMENT MUST BE RENDERED ILLEGIBLE WHEN BEING DISCARDED.
+.(E 3 4v \}
+.el .ie \\$1SC \{\
+.(B
+\!. tl \fICOMPANY NAME CONFIDENTIAL\fR
+\!. tl The information contained herein should not be disclosed
+\!. tl to unauthorized persons. It is meant solely for use by
+\!. tl authorized COMPANY NAME employees.
+.(E 3 4v \}
+.el .ie \\$1SP \{\
+.(B
+\!. tl \fICOMPANY NAME PROPRIETARY\fR
+\!. tl This document contains unpublished, proprietary information
+\!. tl and describes subject matter proprietary to COMPANY NAME.
+\!. tl This document may not be disclosed to third parties
+\!. tl or copied or duplicated in any form without the prior
+\!. tl written consent of COMPANY NAME.
+.(E 3 4v \}
+.el \{\
+.(B
+\!. tl \fINOTICE\fR
+\!. tl Not for use or disclosure outside the
+\!. tl Bell System except under written agreement.
+\!. tl 
+.(E 3 4v \}
+..
+.de )b
+'ev 2
+.nf
+.?1
+.?2
+.?3
+.?4
+.?5
+.br
+.)R
+.af ;P \\gP
+.af P 1
+.nr ;P \\nP
+.af P \\g(;P
+.af ;P 1
+.ie !\\n(;P%2 .tl \\*(}f
+.el .tl \\*(}p
+.ie \\n(;P=1 \{\
+.ie \\nN=1 .tl \\*(}t
+.el .tl \\*(}b \}
+.el .tl \\*(}b
+.if \\nC .tl \\*(]C
+.)R
+'ev
+..
+.de )2
+.po \\nOu
+.nr ;C 1
+.if \\n(;e \&\c
+'bp
+..
+.de )1
+.rt \\n(;mu
+.po +\\n(;ou
+.nr ;C 2
+.nr :I 2
+.nr :J \\n(nl
+'ns
+'if \\n(:q .)l
+'nr :q 0
+'if \\n(;d=0&\\n(:z>0 \{\
+'ie \\n(Df>3 \{')z
+')s \}
+'el 'if \\n(Df>1 ')z \}
+.nr :I 3
+.nr ;T 0
+.if \\n(;A>0 \{.nr ;h \\n(.i
+.in 0
+.>t
+.nr ;T 1
+.in \\n(;hu \}
+.mk #T
+.nr :J \\n(nl
+..
+.de 2C
+.if \\n(;C=0 \{\
+.br
+.)R
+.nr ;C 1
+.if !\\n(.$ .nr ;l \\n(.lu*8u/17u
+.if !\\n(.$ .nr ;o \\n(.lu*9u/17u
+.if \\n(.$ .nr ;l \\$1u*1.3n
+.if \\n(.$ .nr ;o \\nWu-\\n(;lu
+.ev 1
+.ll \\n(;lu
+.lt \\n(;lu
+.ev
+.ll \\n(;lu
+.lt \\n(;lu
+.nr :L \\nW
+.nr W \\n(.lu
+.SP
+.ns
+.mk ;m \}
+..
+.de 1C
+.if \\n(;C \{\
+.br
+.if \\n(;C>1 .sp |\\n(.hu
+.po \\nOu
+.)R
+.nr W \\n(:Lu
+.rr ;L ;C
+.ev 1
+.ll \\nWu
+.lt \\nWu
+.ev
+.ll \\nWu
+.lt \\nWu
+.SP
+.ns \}
+..
+.de WC
+.if \\n(.$ \{\
+.ie \\$1N \{.nr ;a 0
+.nr ;b 0
+.nr ;j 0
+.nr ;p 1 \}
+.el .ie \\$1WD .nr ;a 1
+.el .ie \\$1WF .nr ;b 1
+.el .ie \\$1FF .nr ;j 1
+.el .ie \\$1FB .nr ;p 1
+.el .ie \\$1-WD .nr ;a 0
+.el .ie \\$1-WF .nr ;b 0
+.el .ie \\$1-FF .nr ;j 0
+.el .ie \\$1-FB .nr ;p 0
+.el ')D "WC: unknown option"
+.if \\n(.$>1 .WC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+'br \}
+..
+.de >W
+.if \\n(;C \{\
+.ev 1
+.ll \\n(:Lu
+.lt \\n(:Lu
+.ev
+.nr W \\n(:Lu
+.nr ;W 1 \}
+..
+.de >N
+.if (\\n(;l>0)&(\\n(;C=0) \{\
+.ev 1
+.ll \\n(;lu
+.lt \\n(;lu
+.ev
+.nr W \\n(;lu
+.nr ;W 2 \}
+..
+.de >R
+.ie \\n(;W=1 .nr W \\n(;lu
+.el .if \\n(;W=2 .nr W \\n(;Lu
+.if \\n(;W \{\
+.ev 1
+.ll \\nWu
+.lt \\nWu
+.ev
+.nr ;W 0 \}
+..
+.de )Q
+.ch )Q 200v
+.rs
+'sp 70
+..
+.de BS
+.(B
+..
+.de BE
+.(E 4
+..
+.de VM
+.ie 0\\$1>=0 .nr !X 0\\$1
+.el .nr !X 0
+.if 0\\$2>=0 \{\
+.(B
+.rs
+.sp 0\\$2v
+.(E 5 0\\$2 \}
+..
+.de (B
+.ev 1
+.)R
+.di >K
+..
+.de (E
+.br
+.di
+.)R
+.ev
+.ie (\\n(dn=0)&(0\\$2=0) \{\
+.nr ?\\$1 0
+.rm >K ?\\$1
+'br \}
+.el \{\
+.ie 0\\$2>0 .nr ?\\$1 0\\$2
+.el .nr ?\\$1 \\n(dn \}
+.nr ?0 \\n(:Uu
+.nr :U \\n(?1+\\n(?2+\\n(?3+\\n(?4+\\n(?5+1v
+.if (\\n(:Uu+\\n(:Mu)>(\\n(.pu-\\n(nlu-.5v) .SK
+.rn >K ?\\$1
+.nr :o +(\\n(:Uu-\\n(?0u)
+.ch )n -\\n(:ou
+.ch )f -\\n(:ou
+.nr :m \\n(:Mu+\\n(:Uu
+.ch )b -(\\n(:mu-2v)
+..
+.de FS
+'nr :s +1
+.if \\n(:F .)D "FS:missing FE"
+.if \\n(:F .FE
+.if \\n(:y .)D "FS:missing DE"
+.if \\n(:y .DE
+.nr :F 1
+.if !\\n(!F \{\
+.ie \\n(;C .nr !F 2
+.el .nr !F 1 \}
+.ie (\\n(;C>0)&((\\n(;b=1):((\\n(;j=1)&(\\n(!F=1))) \{\
+.nr !F 1
+.>W \}
+.el .if ((\\n(;C=0)&(\\n(;j=1)&(\\n(!F=2)) .>N
+'ev 1
+'di >b
+.nr :D 1
+.)R
+'nh
+'if \\n(:i 'hy 14
+'ad
+'if \\n(:j 'na
+'sp \\n(Fs
+'if \\n(.$ 'ds }y \\$1\
+'if !\\n(.$ 'ds }y \\*(]y.\
+'if \\n(:k \\*(}y\&\c
+'if !\\n(:k 'nr ;v \w\0\0.\ 
+'if !\\n(:k 'nr ;u \w\\*(}y
+'if !\\n(:k 'in +\\n(;vu
+'if !\\n(:k 'if !\\n(:l 'ti -\\n(;vu
+'if !\\n(:k 'if !\\n(:l 'if !\\n(;u-\\n(;v \\*(}y\h\\n(;vu-\\n(;uu\&\c
+'if !\\n(:k 'if !\\n(:l 'if \\n(;u-\\n(;v \\*(}y\&\c
+'if !\\n(:k 'if \\n(:l 'if \\n(;v-\\n(;u 'ti -\\n(;uu
+'if !\\n(:k 'if \\n(:l 'if !\\n(;v-\\n(;u 'ti -\\n(;vu
+'if !\\n(:k 'if \\n(:l \\*(}y\&\c
+..
+.de FE
+.if !\\n(:F .)D "FE:no FS active"
+.br
+'di
+.nr :D 0
+.if \\n(;c .nr :D \\n(;c
+'in
+'nf
+'na
+.if !\\n% \{\
+'da >c
+.>b
+\!. br
+'di
+.if !(\\n(:D=3) \{\
+.nr :G 1
+.da >d
+.>b
+\!. br
+.di
+'br \}
+'br \}
+.if !((\\n%=0)*(\\n(:D=3)*(\\n(:t=1)) \{\
+'da >y
+.>b
+\!. br
+'di
+'br \}
+.rm >b
+.)R
+'ev
+.nr :F 0
+.>R
+'if !((\\n%=0)*(\\n(:D=3)*(\\n(:t=1)) \{\
+.if !((\\n(!A=1):((\\n(;C=2)&(\\n(!F=1))) \{\
+'if !\\n(:s-1 'nr dn +4v
+'nr :o +\\n(dnu
+.nr dn 0
+'if !\\n(.pu-\\n(nlu-.5v-\\n(:ou 'nr :o \\n(.pu-\\n(nlu-.5v
+'if !\\n(:ou-\\n(:mu 'nr :o \\n(:mu
+'ch )f -\\n(:ou
+'br \}\}
+..
+.de )o
+.ie (\\n(!F=1)&(\\n(;C=1) \{\
+.nr !A 1 \}
+.el .nr !A 0
+'ev 1
+.)R
+'nf
+'sp 2
+.ti 0
+.if !\\n(:n \l'72p'
+.if \\n(:n \l\\n(.lu
+'nr :n 0
+.br
+.if \\n(!A .wh (\\n(nlu-2v) )Q
+'nr ;Z 1
+'nr dn 0
+.>y
+.br
+'di
+.if \\n(dn=1v .nr dn 0
+.nr :n \\n(dn
+'nr ;Z 0
+.if !\\n(;C=1 \{\
+.rr !A
+.if \\n(dn=0 .rr !F \}
+'rm >y
+'nr :q \\n(dnu
+'nr dn 0
+'nr :s 0
+.)R
+'ev
+..
+.de )n
+'if \\n(;Z \{\
+'di >x
+'sp \\n(Fs \}
+..
+.de )m
+'ev 1
+.)R
+.nf
+'di >w
+.>y
+.br
+'di
+'rm >y
+'nr :q \\n(dn
+'nr dn 0
+'nr :s 0
+.if !\\n(;C=1 .rr !A
+.)R
+'ev
+..
+.de )l
+'nr :s 1
+'di
+'ev 1
+'di >b
+.)R
+'nh
+'nf
+.>x
+.>w
+.nr :F 1
+.FE
+'rm >x
+'rm >w
+..
+.de FD
+'nr :i 0
+'nr :j 0
+'nr :k 0
+'nr :l 0
+'nr ;z 0
+'if !\\n(.$ 'nr ;z 10
+'if \\n(.$ 'if !\w\\$1 'nr ;z 10
+'if \\n(.$ 'nr ;z \\$1
+'if \\n(;z-11 'nr ;z 0
+'if \\n(;z-7 'nr :l 1
+'if \\n(;z-7 'nr ;z -8
+'if \\n(;z-3 'nr :k 1
+'if \\n(;z-3 'nr ;z -4
+'if \\n(;z-1 'nr :j 1
+'if \\n(;z-1 'nr ;z -2
+'if \\n(;z 'nr :i 1
+'if \\n(.$-1 .nr :C 1
+..
+.de DS
+.nr :t 0
+.)J "\\$1" "\\$2" "\\$3"
+..
+.de DF
+.nr :t 1
+.)J "\\$1" "\\$2" "\\$3"
+..
+.de )J
+.nr ;i \\n(.i
+.nr ;q \\n(.u
+'di
+.if \\n(:D>1 \{.ie \\n(:t=0 .)D "DS:illegal inside TL or AS"
+.el .)D "DF:illegal inside TL or AS" \}
+.if \\n(:F \{.ie \\n(:t=0 .)D "DS:missing FE"
+.el .)D "DF:missing FE"
+.FE \}
+.if \\n(:y \{.ie \\n(:t=0 .)D "DS:missing DE"
+.el .)D "DF:missing DE"
+.DE \}
+.nr :y 1
+.if (\\n(;C>0)&(\\n(;a=1) .>W
+.ev 1
+.)R
+'di >0
+.nr :D 1
+.nr ;z 0+0\\$1
+.if \\$1L .nr ;z 0
+.if \\$1I .nr ;z 1
+.if \\$1C .nr ;z 2
+.if \\$1CB .nr ;z 3
+.if \\n(;z>3 .nr ;z 3
+.nr :B \\n(;z
+.if \\n(:t=0 .if \\n(;z<2 .ll -\\n(;iu
+.if \\n(;z=1 .in +\\n(Sin
+.if \\n(;z=2 \{.ce 9999
+.nr :t +2 \}
+.if \\n(:B=3 \{.nr :Y 1
+.nr :t +2
+.nr :X \\n(.i
+.di >X \}
+.nr ;z 0+0\\$2
+.if \\$2N .nr ;z 0
+.if \\$2F .nr ;z 1
+.nf
+.if \\n(;z .fi
+.ll -0\\$3n
+..
+.de )z
+.nr ;w \\n(:x+1%26+1
+.if !((\\n(;C=2)&(\\n(!\\n(;w=1)) \{\
+'nr ;d 1
+.ev 1
+.SP
+.)R
+'nf
+'rs
+.nr :x \\n(:x+1%26
+.?\ \n(;w
+.if \\n(!\\n(;w=1 .nr !B 1
+.rm ?\\n(;w
+.rr ?\\n(;w !\\n(;w
+.)R
+.if \\n(De \{\
+.if \\n(;e \&\c
+.bp
+.nr !B 0 \}
+.ie \\n(:I>1 \{\
+.if \\n(nl>\\n(:J .nr :I 0 \}
+.el .nr :I 0
+.SP
+.nr :J \\n(nl
+.ev
+'nr :z -1
+'nr ;d 0 \}
+..
+.de )y
+'if \\n(:z \{\
+'nr ;w \\n(:x+1%26+1
+'nr ;z \\n(?\\n(;w
+.if (\\n(:I=2):(\\n(;z+\\n(;pv<\\n(.t):\
+((\\n(;z>(\\n(.p-\\n(;r-\\n(:m))&(\\n(nl<(\\n(.p-\\n(;r-\\n(:o/2u+\\n(;r))) \{\
+'ie \\n(:I<2 .if \\n(;p .br
+'el .if \\n(:Ju<\\n(nlu .if \\n(;p .br
+')z \}\}
+..
+.de )x
+'nr :v \\n(:z
+')y
+'if \\n(:v=\\n(:z \{\
+'nr ;d 1
+'if \\n(;e \&\c
+'SP \\n(.tu+1v
+'nr ;d 0
+')z \}
+..
+.de )w
+'if \\n(:z \{\
+')x
+')w \}
+..
+.de )u
+'if \\n+(:z>25 ')D "DF: too many displays"
+'nr :w \\n(:w+1%26
+'nr ;w \\n(:w+1
+'rn >0 ?\\n(;w
+.nr !\\n(;w 1
+.if (\\n(;C>0)&(\\n(;a=0) .nr !\\n(;w 2
+.nr ?\\n(;w \\n(:0
+'if !((\\n(;C>0)&(\\n(!\\n(;w=1)) 'if (\\n(:z=1)&((\\n(Df%2=1):(\\n(Df>5)) ')y
+..
+.de )s
+'nr :v \\n(:z
+'nr ;Y \\n(:I
+'nr :I 3
+')y
+'ie \\n(:v>\\n(:z ')s
+'el 'nr :I \\n(;Y
+..
+.de )t
+.br
+.nr !L \\n(.L
+.ls 1
+.)r
+.ti \\n(.iu
+.nf
+.if \\n(:t>1 .in -\\n(;iu
+.rs
+.nr ;d 1
+.>0
+.)R
+.nr ;d 0
+.ie \\n(:I>1 \{\
+.if \\n(nl>\\n(:J .nr :I 0 \}
+.el .nr :I 0
+.ls \\n(!L
+.in \\n(;iu
+.if !\\n(;q .nf
+.if \\n(Ds .SP
+.nr :J \\n(nl
+..
+.de )r
+.if \\n(Ds .SP
+.if (\\n(:0>=\\n(.t)&((\\n(:0<(\\n(.p-\\n(;r-\\n(:m)):\
+(\\n(nl>(\\n(.p-\\n(;r-\\n(:o/2u+\\n(;r))) \{\
+.if \\n(;e \&\c
+.ne \\n(.tu+1v
+.if \\n(:I<2 .)r \}
+..
+.de DE
+.if !\\n(:y .)D "DE:no DS or DF active"
+.if \\n(:B=3 \{.br
+.di
+.if \\n(dl>\\n(:Y .nr :Y \\n(dl
+.if \\n(:Y<\\n(.l .in (\\n(.lu-\\n(:Yu)/2u
+.nf
+.>X
+.fi
+.rm >X
+.in \\n(:Xu
+.rr :X \}
+.ce 0
+.br
+'di
+.rr :D ;D ;E :B
+.)R
+.ll \\nWu
+.ev
+'nr :0 \\n(dn
+'nr dn 0
+.nr ;x \\n(:t
+.if \\n(:t-1 .nr ;x -2
+.>R
+.if !\\n(;x .)t
+.if \\n(;x .)u
+.nr :y 0
+.nr :Y 0
+..
+.de )R
+'fi
+'na
+.if \\n(:h 'ad
+'nh
+'if \\n(Hy 'hy 14
+'in 0
+'ti 0
+..
+.de CW
+.DS I
+..
+.de CN
+.DE
+..
+.de RS
+.if \\n(;R=2 .)D "RS:missing RF"
+.nr ;R 2
+.nr Rf +1
+.if \\n(.$ .ds \\$1 \u[\\n(:R]\d
+.ev 2
+.)R
+'in \w\0\0.\ u
+'ti -\w\\*(]r.\ u
+.nr :D 1
+.da >r
+\!.ne 2
+\\*(]r.\ \&\c
+..
+.de RF
+.if !(\\n(;R=2) .)D "RF: no RS active"
+.nr ;R 1
+.br
+\!.if \\\\n(Ls .sp
+.di
+'in
+.nr :D 0
+.ev
+..
+.de RP
+.if \\n(;R=2 .)D "RP: missing RF"
+.if \\n(;R \{\
+.nr ;R 0
+.if !(0\\$1) .nr :R 0 1
+.)R
+.ie (0\\$2=2):(0\\$2=3) \{\
+.if \\n(;e \&\c
+'ne 8
+.sp 1 \}
+.el \{\
+.ie \\n(;e .SK
+.el \{\
+\&\c
+.bp
+'br \} \}
+.ce 1
+.ul
+\\*(Rp
+.if \w\\*(Rp \{
+.am >C
+.)T 1 0 "" "\\*(Rp" \\nP
+\\..
+'br \}
+.sp 2v
+.nf
+.>r
+.br
+.rm >r
+.)R
+.if (0\\$2=0):(0\\$2=2) .SK
+'br \}
+..
+.de )q
+.br
+.LC 0
+.nr ;e 1
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.nr ;x 0
+.if \\n(;R .RP 0 1
+\&\c
+.if (\\n(;C>0)&(\\n(:z>0) 'bp
+.)w
+\&
+'nr :0 \\n(.pu-\\n(nlu-\\n(:ou
+'if \\n(:s 'if (\\n(:0<=0):((\\n(;C=2)&(\\n(!F=1)) 'nr ;x 1
+'if \\n(:q 'nr ;x 1
+'if \\n(;x \&\c
+'if \\n(;x 'bp
+'if \\n(;x \&
+.nr ;e 0
+..
+.nr :r 6v
+.nr :m 8v
+.nr :n 0
+.nr :p 0 1
+.nr :o 0
+.nr :z 0 1
+.nr :y 0
+.nr :x 0
+.af ;w a
+.nr :w 0
+.nr :F 0
+.nr :R 0 1
+.ds ]r \\n(:R
+.ds ]y \\n(:p
+'wh 0 )h
+.nr :o \n(:mu
+'wh -\n(:mu )f
+'ch )f 15i
+'wh -\n(:mu )n
+'ch )f -\n(:mu
+'wh -\n(:ru )b
+.nr :M \n(:mu
+'nr :i 0
+'nr :j 1
+'nr :k 0
+'nr :l 1
+'nr ;z 0
+.SA 0
+.ds ' '
+.ds ` `
+.ds ^ ^
+.ds ~ ~
+.ds , ,
+.ds : "
+.ds ; \u"\d
+.if \*(]ZMM DEFINED \{\
+.tm ERROR: MM package read twice
+.ab  \}
+.ds ]Z MM DEFINED
+.if \nT=1 \{.if \nW=0 .nr W 80
+.if \nO=0 .nr O 3 \}
+.if \nT=2 \{.nr L 84
+.ds BU o
+.rm ul
+.rm cu \}
+.if !\w'\gE' .nr E 0
+.ie \nL .nr L \nLv
+.el .nr L 11i
+.pl \nLu
+.ie \w'\gO' .nr O \nOn
+.el .ie \nA .nr O 1i
+.el .nr O .75i
+.po \nOu
+.if \nP .nr P -1
+.nr P \nP 1
+.if !\nS .nr S 10
+.ie \nW .nr W \nWn
+.el .ie \nA .nr W 5.8i
+.el .nr W 6.0i
+.if \n(mo-0 .ds DT January
+.if \n(mo-1 .ds DT February
+.if \n(mo-2 .ds DT March
+.if \n(mo-3 .ds DT April
+.if \n(mo-4 .ds DT May
+.if \n(mo-5 .ds DT June
+.if \n(mo-6 .ds DT July
+.if \n(mo-7 .ds DT August
+.if \n(mo-8 .ds DT September
+.if \n(mo-9 .ds DT October
+.if \n(mo-10 .ds DT November
+.if \n(mo-11 .ds DT December
+.nr _Y 1900+\n(yr
+.as DT " \n(dy, \n(_Y
+.S D D
+'ev 0
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+'ev 1
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+'ev 2
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+.PH "''- \\\\nP -''
+.if \nC=3 \{.ds ]C D\ R\ A\ F\ T
+.PF "''\\\\*(DT'' \}
+.if \nC=4 \{.ds ]C D\ R\ A\ F\ T
+.PF "''\\\\*(DT''
+.ls 2
+.nr Pt 1
+.nr Pi 10 \}
+.if \nC=2 .ds ]C ''DATE FILE COPY''
+.if \nC=1 .ds ]C ''OFFICIAL FILE COPY''
+.if (\nN=3):(\nN=5) \{.nr :S 1
+.PF "''\\\\n(H1-\\\\nP''"
+.PH \}
+.if \nN=4 \{.PH
+.nr N 0 \}
+.if \nD .PH "'\\*(RE line # \\\\n(.c'- \\\\nP -''
+.if \nA=1 \{.nr ;n 1
+.ds }2
+'br \}
+'em )q
+.do de PGFORM
+. if \\n(.$ \{\
+. if !\\$1 \{\
+. nr W \\$1
+. ev 0
+. ll \\nWu
+. lt \\nWu
+. ev
+. ev 1
+. ll \\nWu
+. lt \\nWu
+. ev
+. ev 2
+. ll \\nWu
+. lt \\nWu
+. ev
+. \}
+. if !\\$2 \{\
+. nr L \\$2
+. pl \\nLu
+. \}
+. if !\\$3 \{\
+. nr O \\$3
+. po \\nOu
+. \}
+. if \\$4 .br
+. \}
+..
+.\" vim:set filetype=groff:
diff --git a/troff/troff.d/tmac.d/mmt b/troff/troff.d/tmac.d/mmt
new file mode 100644
index 0000000000000..6cf1764a6921d
--- /dev/null
+++ b/troff/troff.d/tmac.d/mmt
@@ -0,0 +1,2850 @@
+.\" Copyright 1997 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
+.\" All Rights Reserved
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" UNIX Memorandum Macros - 16.29 of 2/27/83
+.\" TROFF Version from OpenSolaris mmt.src 16.29
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\" Sccsid @(#)mmt 1.7 (gritter) 11/1/06
+.nr :a 0 1
+.nr :b 0
+.nr :c 0
+.nr :d 0
+.nr :e 0
+.nr :f 0
+.nr :g 0 1
+.nr :h 1
+.nr :u 0
+.nr ;p 1
+.nr !0 0
+.nr !1 0
+.nr !2 0
+.nr !3 0
+.nr !N 0
+.ds }2 Company Name
+.ds BU \s-2\(bu\s0
+.ds EM \(em
+.ds F \v'-.4m'\s-3\\n+(:p\s0\v'.4m'
+.ds HF 2 2 2 2 2 2 2
+.ds Lf LIST OF FIGURES
+.ds Lt LIST OF TABLES
+.ds Lx LIST OF EXHIBITS
+.ds Le LIST OF EQUATIONS
+.ds RE 16.29
+.ds Rf \v'-.4m'\s-3[\\n+(:R]\s0\v'.4m'
+.ds Rp REFERENCES
+.ds Tm \v'-0.5m'\s-4TM\s+4\v'0.5m'
+.nr Au 1
+.nr Cp 0
+.nr Cl 2
+.nr Ds 1v
+.nr Ec 0 1
+.nr Eq 0
+.nr Ex 0 1
+.nr De 0
+.nr Df 5
+.nr Fg 0 1
+.nr Fs 1
+.nr H1 0 1
+.nr H2 0 1
+.nr H3 0 1
+.nr H4 0 1
+.nr H5 0 1
+.nr H6 0 1
+.nr H7 0 1
+.nr Hb 2
+.nr Hi 1
+.nr Hs 2
+.nr Hu 2
+.nr Hy 0
+.nr Le 0
+.nr Lf 1
+.nr Li 5
+.nr Ls 6
+.nr Lt 1
+.nr Lx 1
+.nr Np 0
+.nr Oc 0
+.nr Of 0
+.nr !4 0 1
+.af !4 01
+.nr Pi 3
+.nr Ps 1
+.nr Pt 0
+.nr Pv 0
+.nr Rf 0
+.nr Si 3
+.nr Tb 0 1
+.de RD
+'fl
+.di }w
+.rd \\$1
+.br
+.di
+.ie \w\\$3 \{\
+.di }x
+.ds \\$3 "\\*(}w
+.br
+.di
+'br \}
+.if \w\\$2 .rn }w \\$2
+.rm }w }x
+..
+.de B
+.ie \\n(.$ .nr ;G \\n(.f
+.el .ft 3
+.if \\n(.$ .if !\\n(.$-2 \&\f3\\$1\fP\\$2
+.if \\n(.$-2 \{.ds }i
+.if \\n(.f2 .ds }i \^
+.ds }I \&\f3\\$1\fP\\$2\\*(}i
+'br \}
+.if \\n(.$-2 .if !\\n(.$-4 \\*(}I\f3\\$3\fP\\$4
+.if \\n(.$-4 .if !\\n(.$-6 \\*(}I\f3\\$3\fP\\$4\\*(}i\f3\\$5\fP\\$6
+.if \\n(.$ .ft \\n(;G
+..
+.de I
+.ie \\n(.$ .nr ;G \\n(.f
+.el .ft 2
+.if \\n(.$ .if !\\n(.$-1 \&\f2\\$1
+.if \\n(.$-1 \{.ds }i \^
+.if \\n(.f2 .ds }i
+.ds }I \&
+.if \w\\$1 .ds }I \&\f2\\$1\fP\\*(}i
+'br \}
+.if \\n(.$-1 .if !\\n(.$-3 \\*(}I\\$2\f2\\$3
+.if \\n(.$-3 .if !\\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5
+.if \\n(.$-5 \\*(}I\\$2\f2\\$3\fP\\*(}i\\$4\f2\\$5\fP\\*(}i\\$6
+.if \\n(.$ .ft \\n(;G
+..
+.de RI
+.nr ;G \\n(.f
+.}S 1 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de RB
+.nr ;G \\n(.f
+.}S 1 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de IR
+.nr ;G \\n(.f
+.}S 2 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de IB
+.nr ;G \\n(.f
+.}S 2 3 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de BR
+.nr ;G \\n(.f
+.}S 3 1 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de BI
+.nr ;G \\n(.f
+.}S 3 2 \& "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6"
+..
+.de }S
+.ds }i
+.if \\$12 .if !\\$5 .ds }i\^
+.ie !\\$4 .}S \\$2 \\$1 "\\$3\f\\$1\\$4\\*(}i" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
+.el \\$3
+.ft \\n(;G
+..
+.de SM
+.ie \\n(.$-2 \&\\$1\s-1\\$2\s0\\$3
+.el \&\s-1\\$1\s0\\$2
+..
+.de R
+.ft 1
+.ul 0
+..
+.de EQ
+.ds ]E \\$1
+.di >E
+..
+.de EN
+\!.br
+.br
+.di
+.rm >E
+.lt \\n(.lu
+.pc
+.if \w\\*(10\\*(}E \{\
+.ie !\\n(Eq \{\
+.ie \\n(:Y>0 \{.if \\n(:Y<\w\\*(10 .nr :Y \w\\*(10
+\!\\*(10\h'\\\\n(.lu-\w\\*(10\\*(]Eu-\\\\n(.iu'\\*(]E
+.br \}
+.el .ie \\n(:B=2 .tl \(ts\(ts\\*(10\(ts\\*(]E\(ts
+.el .ie \\n(:B=1 .tl \(ts\h'\\n(Sin'\\*(10\(ts\(ts\\*(]E\(ts
+.el .if \\n(:B=0 .tl \(ts\\*(10\(ts\(ts\\*(]E\(ts
+'br \}
+.el \{\
+.ie \\n(:Y>0 \{.if \\n(:Y<\w\\*(10 .nr :Y \w\\*(10
+\!\\\\h'-\\\\n(.iu'\\*(]E\\\\h'\\\\n(.iu-\\w\\*(]Eu'\\*(10
+.br \}
+.el .ie \\n(:B=2 .tl \(ts\\*(]E\(ts\\*(10\(ts\(ts
+.el .ie \\n(:B=1 .tl \(ts\h'\\n(Sin'\\*(]E\(ts\(ts\\*(10\(ts
+.el .if \\n(:B=0 .tl \(ts\\*(]E\(ts\(ts\\*(10\(ts
+'br \} \}
+.pc %
+.lt
+.rm ]E 10
+.rr :E
+..
+.de HC
+.ev 0
+.hc \\$1
+.ev
+.ev 1
+.hc \\$1
+.ev
+.ev 2
+.hc \\$1
+.ev
+..
+.de H
+.if \\n(:F .)D "H:missing FE"
+.if \\n(:y .)D "H:missing DE"
+.if !\\n(.$ .)D "H:missing arg"
+.nr ;0 0
+.if \\$1-7 .nr ;0 1
+.if \w\\$1-\w'0'u .nr ;0 1
+.if \\n(;0 .)D "H:bad arg:\\$1"
+.LC 0
+.br
+.)R
+.nr ;1 0\\$1
+.if !0\\$1 .nr ;1 \\n(Hu
+.if !\\n(;1 .)D "H:bad arg:\\$1"
+.if 2-\\n(;1 .nr H2 0 1
+.if 3-\\n(;1 .nr H3 0 1
+.if 4-\\n(;1 .nr H4 0 1
+.if 5-\\n(;1 .nr H5 0 1
+.if 6-\\n(;1 .nr H6 0 1
+.if 7-\\n(;1 .nr H7 0 1
+.if 2-\\n(;1 \{.if \\n(:S .)w
+.if \\n(:C .nr :p 0 1 \}
+.SP .5
+.nr :u 0
+.if \\n(;1-1 .nr H\\n(;1 +1
+.if !\\n(;1-1 \{.nr :u 1
+.SP 1 \}
+.if \\n(;1-1 .if (\\n(Ej+1-\\n(;1)&(\\n(nl-\\n(:J) \{.if \\n(;C .nr ;C 2
+.bp \}
+.if !\\n(;1-1 \{.if (\\n(Ej+\\n(:S)&(\\n(nl-\\n(:J) \{.if \\n(;C .nr ;C 2
+.bp \}
+.if !\\n(:u-1 .nr H1 +1
+.if (\\n(:u=1)&(\\n(:S=1) .nr P 1 \}
+.nr :u 0
+.ds }0 \\n(H1.
+.if 0\\$1-1 .as }0 \\n(H2
+.if 0\\$1-2 .as }0 .\\n(H3
+.if 0\\$1-3 .as }0 .\\n(H4
+.if 0\\$1-4 .as }0 .\\n(H5
+.if 0\\$1-5 .as }0 .\\n(H6
+.if 0\\$1-6 .as }0 .\\n(H7
+.if \\n(Ht \{.)I \\n(;1 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.ds }0 \\*(}3.
+'br \}
+.as }0 \ \
+.if !0\\$1 .ds }0
+.nr ;0 0
+.if !\\n(;1-\\n(Hb .nr ;0 1
+.if !\\n(;1-\\n(Hs .nr ;0 2
+.ds }2
+.if !\\n(;0 .if \w\\$2 .ds }2 "
+.nr ;3 2v
+.HX \\n(;1 0\\$1 "\\$2\\$3"
+.if \\$1<3 .nr !5 0 1
+.af !5 01
+.if (\\$1=1)&(\\n(Np=1) .nr !4 0
+.di >A
+\&\\*(}0\\$2\\$3\\*(}2
+.br
+.di
+.rm >A
+.if \\n(;0-1 .nr ;3 +.5v
+.ne \\n(;3u+\\n(dnu+.5p-1v
+.HY \\n(;1 0\\$1 "\\$2\\$3"
+.if \\n(;0 .na
+.)I \\n(;1 \\*(HF
+.nr ;3 1
+.nr ;3 \\*(}3
+.ft \\n(;3
+.nr :I \\n(.s
+.)I \\n(;1 \\*(HP
+.if ((\\*(}3=0):(\w\\*(}3>0))&(\\n(;3=3)&(\\n(;0>0) .ps -1
+.if !\\*(}3 .if !\\*(}30 .ps \\*(}3
+.nr ;2 \w\\*(}0
+.if \\n(;0 \{.in +\\n(;2u
+.ti -\\n(;2u \}
+.nr ;2 \\n(.i
+.if !\\n(;1-\\n(Hc .if \\n(;0 .ce
+\\*(}0\&\c
+.if \\n(;0 \&\\$2\\$3
+.if !\\n(;0 \&\\$2\\$3\\*(}2\&\c
+.ft 1
+.ps \\n(:Ip
+.if \\n(;0 'in
+.if !\\n(;1-\\n(Cl .if \w\\$2 .)E \\$1 "\\$2"
+.SA
+.if \\n(;0 .br
+.if \\n(;0-1 .SP .5
+.if \\n(;0*\\n(Hi*\\n(Pt .if !\\n(Hi-1+\\n(Pt-1 .ti +\\n(Pin
+.if 0\\$1*\\n(;0 .if \\n(Hi-1 .ti \\n(;2u
+.nr :I 1
+.nr !D \\n(nl
+.nr !Z \\n(.k
+.if (\\$1=1)&(\\nN=5) \{\
+.nr Fg 0
+.nr Tb 0
+.nr Ec 0
+.nr Ex 0 \}
+.HZ \\n(;1 0\\$1 "\\$2\\$3"
+..
+.de HM
+.af H1 \\$1 1
+.af H2 \\$2 1
+.af H3 \\$3 1
+.af H4 \\$4 1
+.af H5 \\$5 1
+.af H6 \\$6 1
+.af H7 \\$7 1
+..
+.de HU
+.if !\\n(.$ .)D "HU:missing arg"
+.H 0 "\\$1" "\\$2"
+..
+.de LB
+.if 4-\\n(.$ .)D "LB:missing arg(s)"
+.)L 0\\$1n 0\\$2n 0\\$3n "\\$4" "\\$5" "\\$6" "\\$7"
+..
+.de )L
+.if \\n(:g>5 .)D "LB:too many nested lists"
+.if \\n(:g .)A
+.if !\\n+(:g-1 .ds ]b \\n(.i
+.nr :b \\n(.iu+0\\$1u
+.nr :c \\n(.iu+0\\$2u
+.nr :d 0\\$3
+.nr :e 0\\$4
+.nr :f 0\\$6
+.if !\w\\$6 .nr :f 1
+.ds ]g \\$5
+.if !\w\\$5 \{.ds ]g \&
+.if \\n(:e .ds ]g 1
+'br \}
+.nr :a 0 1
+.if 0\\$4 .af :a \\$5 1
+.if (\\n(:g<=\\n(Ls)&(0\\$7) .SP .5
+.fi
+.in \\n(:bu
+.ti \\n(:bu
+..
+.de LC
+.if \\n(:g-0\\$1 .)B
+.if \\n(:g-0\\$1 .LC 0\\$1
+..
+.de LE
+.if (\\n(:I>1)&(\\n(nl-\\n(:J) .nr :I 0
+.if \\n(:I<2 .nr :I 0
+.ie \\n(:g<1 .)D "LE:mismatched"
+.el .)B
+.if (\\n(:g<=\\n(Ls)&(\\n(.$>0) .SP .5
+.nr :J \\n(nl
+..
+.de LI
+.if !\\n(:g .)D "LI:no lists active"
+.if (\\n(:g<=\\n(Ls)&(\\n(:f>0) .SP .5
+.in \\n(:bu
+.if (\\n(:f)&(\\n(:D<1) .ne 1v+.5p
+.ds }0 \\*(]g
+.if \\n(:e .ds }0 \\n+(:a.
+.if \\n(:e-1 .ds }0 \\n(:a)
+.if \\n(:e-2 .ds }0 (\\n(:a)
+.if \\n(:e-3 .ds }0 [\\n(:a]
+.if \\n(:e-4 .ds }0 <\\n(:a>
+.if \\n(:e-5 .ds }0 {\\n(:a}
+.if \\n(.$-1 .ds }0 \\$1\ \\*(}0
+.if \\n(.$=1 .ds }0 \\$1
+.nr ;0 \w\\*(}0
+.nr ;1 \\n(:c
+.if \\n(:d .nr ;1 \\n(:bu-\\n(:du-\\n(;0u
+.if !\\n(;1 .nr ;1 0
+.nr ;0 \\n(:bu-\\n(;1u-\\n(;0u
+.ti \\n(;1u
+.if !\\n(;0 .nr ;0 \w u
+.if \w\\*(}0 \&\\*(}0\h\\n(;0u\&\c
+..
+.de AL
+.nr !D 0
+.if !\\n(.$-1 .)L \\n(Lin 0 2n 1 "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .LB 0\\$2 0 2 1 "\\$1"
+.if \\n(.$-2 .if !\w\\$2 .)L \\n(Lin 0 2n 1 "\\$1" 0 1
+.if \\n(.$-2 .if \w\\$2 .LB 0\\$2 0 2 1 "\\$1" 0 1
+..
+.de BL
+.if \\n(.$<1 .)L \\n(Pin 0 1n 0 \\*(BU
+.if \\n(.$=1 .LB 0\\$1 0 1 0 \\*(BU
+.if \\n(.$>1 \{.ie !\w\\$1 .)L \\n(Pin 0 1n 0 \\*(BU 0 1
+.el .LB 0\\$1 0 1 0 \\*(BU 0 1 \}
+..
+.de DL
+.if \\n(.$<1 .)L \\n(Pin 0 1n 0 \(em
+.if \\n(.$=1 .LB 0\\$1 0 1 0 \(em
+.if \\n(.$>1 \{.ie !\w\\$1 .)L \\n(Pin 0 1n 0 \(em 0 1
+.el .LB 0\\$1 0 1 0 \(em 0 1 \}
+..
+.de ML
+.if \\n(.$<1 .)D "ML:missing arg"
+.nr ;0 \w\\$1u*432/1i/3u/\\n(.su+1u
+.ie \\n(.$<2 .LB \\n(;0 0 1 0 "\\$1"
+.el .if \\n(.$<3 .LB 0\\$2 0 1 0 "\\$1"
+.if \\n(.$>2 \{.ie !\w\\$2 .LB \\n(;0 0 1 0 "\\$1" 0 1
+.el .LB 0\\$2 0 1 0 "\\$1" 0 1 \}
+..
+.de RL
+.if \\n(.$<1 .LB 6 0 2 4
+.if \\n(.$=1 .LB 0\\$1 0 2 4
+.if \\n(.$>1 \{.ie !\w\\$1 .LB 6 0 2 4 1 0 1
+.el .LB 0\\$1 0 2 4 1 0 1 \}
+..
+.de VL
+.if \\n(.$<1 .)D "VL:missing arg"
+.ie \\n(.$<3 .LB 0\\$1 0\\$2 0 0
+.el .LB 0\\$1 0\\$2 0 0 \& 0 1
+..
+.de P
+.if !(((\\n(!D=\\n(nl):(\\n(!D=(\\n(nl-.5v)))&(\\n(!Z=\\n(.k)&(\\n(Np=0)) \{\
+.br
+.nr ;1 \\n(:J
+.nr ;2 \\n(nl
+.SP \\n(Psu*.5
+.if !\\n(:D .ne 1v+.5p
+.ie !\\n(;1-\\n(:J .nr ;2 \\n(;2-\\n(:J
+.el .nr ;2 \\n(nl-\\n(:J
+.nr :J \\n(;2
+.if \\n(.$>0&(0\\$1) .ti +\\n(Pin
+.if \\n(.$=0 \{\
+.if \\n(Pt=1 .ti +\\n(Pin
+.if \\n(Pt>1&(\\n(:I) .ti +\\n(Pin
+.if \\n(Pt>1&(\\n(:I=0)&(\\n(:J>0) .ti +\\n(Pin \}
+.if \\n(Np \{\
+\\n(H1.\\n+(!4\ \ \c
+'br \}
+.nr :I 1 \}
+.nr :u 0
+..
+.de nP
+.P 0
+.de )p
+'ti 6n
+.de )p
+'ti 0
+.rm )p
+.wh \\n(.du+\\n(.L+\\n(.L
+\\\\..
+.ch )p \\n(.du+\\n(.L+\\n(.L
+\\..
+.wh \\n(.du+\\n(.L )p
+\\n(H2.\\n+(!5\h'|6n'\\c
+..
+.de S
+.if !\\n(:Q .nr :Q \\nS
+.if !\\n(.$ .nr ;0 \\n(:Q
+.if \\n(.$ .if !\w\\$1 \{\
+.nr ;J 2
+.nr ;0 \\n(:P \}
+.if \w\\$1 \{\
+.ie \\$1D \{\
+.nr ;J 1
+.nr ;0 \\nS \}
+.el \{\
+.ie \\$1C \{\
+.nr ;J 2
+.nr ;0 \\n(:P \}
+.el \{\
+.ie \\$1P \{\
+.nr ;J 3
+.nr ;0 \\n(:Q \}
+.el \{.if !\\n(;J \{\
+.nr ;0 \\n(:P
+.nr ;0 \\$1 \}\}\}\}\}
+.if 0\\$1-99 .nr ;0 \\nS
+.if !\\n(;0 .)D "S:bad arg \\$1"
+.nr :Q \\n(:P
+.nr :P \\n(;0
+.ps \\n(:Pp
+.nr ;J 0
+.if !\\n(!Q .nr !Q \\nS+2
+.if !\\n(.$-1 \{\
+.ie \\n(.$ \{\
+.nr ;K 1
+.nr ;7 \\n(.s+2 \}
+.el \{\
+.nr ;K 3
+.nr ;7 \\n(!Q \}\}
+.if \\n(.$-1 .if !\w\\$2 \{\
+.nr ;K 2
+.nr ;7 \\n(!P \}
+.if \w\\$2 \{\
+.ie \\$2D \{\
+.nr ;K 1
+.nr ;7 \\n(.s+2 \}
+.el \{\
+.ie \\$2C \{\
+.nr ;K 2
+.nr ;7 \\n(!P \}
+.el \{\
+.ie \\$2P \{\
+.nr ;K 3
+.nr ;7 \\n(!Q \}
+.el \{.if !\\n(;K \{\
+.nr ;7 \\n(!P
+.nr ;7 \\$2 \}\}\}\}\}
+.if 0\\$2-99 .nr ;7 \\n(.s+2
+.if !\\n(;7 .)D "S:bad arg \\$2"
+.nr !Q \\n(!P
+.nr !P \\n(;7
+.vs \\n(!Pp
+.nr ;K 0
+..
+.rn pn ]N
+.de pn
+.nr :Z 1
+.]N \\$1
+..
+.de SA
+.if \\n(.$ \{.if \\$1-1 .)D "SA:bad arg:\\$1"
+.nr :h 0\\$1 \}
+'na
+.if \\n(:h 'ad
+..
+.de SK
+.br
+.bp
+.nr ;9 0\\$1-1
+.if \\n(;9+1 .rs
+.if \\n(;9+1 .SK \\n(;9
+.rr ;9
+..
+.de OP
+.SK
+.if !\\nP%2 .SK 1
+..
+.de SP
+.br
+.ie \\n(:D .)S \\$1
+.el .ie !'\\n(.z'' .)S \\$1
+.el \{.rr ;D ;E
+.nr ;4 1v
+.if \\n(.$ .nr ;4 \\$1v
+.if !(\\n(nl=\\n(:N) .nr :A 0
+.nr ;4 -\\n(:Au
+.if \\n(;4 \{.sp \\n(;4u
+.nr :A +\\n(;4u \}
+.nr :N \\n(nl \}
+..
+.de )S
+.br
+.if !'\\n(.z'\\*(}D' .rr ;D ;E
+.nr ;4 1v
+.if \\n(.$ .nr ;4 \\$1v
+.if !(\\n(.d=\\n(;D) .nr ;E 0
+.nr ;4 -\\n(;Eu
+.if \\n(;4 \{.sp \\n(;4u
+.nr ;E +\\n(;4u \}
+.nr ;D \\n(.d
+.ds }D \\n(.z
+..
+.de TS
+.if (\\n(:D=0)&(\\n(Ds>0) .SP
+.if \\$1H \{.br
+'ne 5v
+.di >t
+.nr ;A 1 \}
+.nr :K \\n(:ou+2v
+.wh -(\\n(:Ku+1v) >f
+..
+.de TH
+.if \\n(.du>0.5v \{.nr T. 0
+.T# 0 \}
+.br
+.di
+.nr ;I \\n(.i
+.nr ;B 1
+.if \\n(;T .if !\\$1N .nr ;T 0
+.in 0
+.mk #a
+.mk #b
+.mk #c
+.mk #d
+.mk #e
+.mk #f
+.if \\n(;T=0 \{\
+.>t
+.nr ;T 1 \}
+.in \\n(;Iu
+.mk #T
+..
+.de >f
+.ie \\n(#a .ch )f -\\n(:Ku
+.el 'ne 100v
+..
+.de TE
+.if (\\n(:D=0)&(\\n(Ds>0) .SP
+.if (\\n(;A>0)&(\\n(;B=0) \{.br
+.di
+.)D "TE: used TS H but no TH" \}
+.rr ;A ;B ;h ;D ;E
+.rm T#
+.rr :K #a
+.ch >f
+.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
+.rr 32 33 34 35 36 37 38 40 79 80 81 82
+.rr a| b| c| d| e| f| g| h| i| j| k| l| m|
+.rr a- b- c- d- e- f- g- h- i- j- k- l- m-
+..
+.de )A
+.af :a 1
+.ds ]a \\n(:a \\*(]a
+.ds ]b \\n(:b \\*(]b
+.ds ]c \\n(:c \\*(]c
+.ds ]d \\n(:d \\*(]d
+.ds ]e \\n(:e \\*(]e
+.ds ]f \\n(:f \\*(]f
+.ds ]h \\*(]g \\*(]h
+..
+.de )B
+.br
+.nr :g -1
+.)C nr :a ]a \\*(]a
+.)C nr :b ]b \\*(]b
+'in \\n(:bu
+'ti \\n(:bu
+.)C nr :c ]c \\*(]c
+.)C nr :d ]d \\*(]d
+.)C nr :e ]e \\*(]e
+.)C nr :f ]f \\*(]f
+.)C ds ]g ]h \\*(]h
+.af :a 1
+.if \\n(:e .af :a \\*(]g
+..
+.de )C
+.\\$1 \\$2 \\$4
+.ds \\$3 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de )D
+'di
+'di
+.nr :D 0
+.fl
+********************
+.br
+ERROR:(\\n(.F)input line \\n(.c:\\$1
+.br
+********************
+.tm ********************
+.tm ERROR:(\\n(.F)input line \\n(.c:\\$1
+.tm ********************
+.if !\\nD .ab \&
+..
+.de TB
+.nr !1 1
+.ie \\nN=5 .)F TABLE 1 \\n+(Tb "\\$1" "\\n(H1-" 0
+.el .)F TABLE 1 \\n+(Tb "\\$1" "\\$2" 0\\$3
+..
+.de EC
+.nr !2 1
+.ie \\nN=5 .)F Equation 2 \\n+(Ec "\\$1" "\\n(H1-" 0
+.el .)F Equation 2 \\n+(Ec "\\$1" "\\$2" 0\\$3
+..
+.de EX
+.nr !3 1
+.ie \\nN=5 .)F Exhibit 3 \\n+(Ex "\\$1" "\\n(H1-" 0
+.el .)F Exhibit 3 \\n+(Ex "\\$1" "\\$2" 0\\$3
+..
+.de FG
+.nr !0 1
+.ie \\nN=5 .)F Figure 0 \\n+(Fg "\\$1" "\\n(H1-" 0
+.el .)F Figure 0 \\n+(Fg "\\$1" "\\$2" 0\\$3
+..
+.de )F
+.nr ;0 \w\\$5
+.nr ;1 0
+.nr ;1 0\\$6
+.ds }0 \\$3
+.if \\n(;0 .ds }0 \\$5\\$3
+.if \\n(;1*\\n(;0 .ds }0 \\$3\\$5
+.if \\n(;1-1*\\n(;0 .ds }0 \\$5
+.ds }0 \\$1\ \\*(}0
+.ie (\w\\$4)&(\\n(Of=0) .as }0 .\ \
+.el .if \\n(Of .as }0 " -\
+.nr ;0 \w\\*(}0
+.ll \\nWu
+.nr ;1 \\n(.lu-\\n(;0u-\w\\$4u+1u
+.if (\\n(:B<2)&(\\n(;1>0) \{\
+.in 0
+.ce \}
+.if !\\n(;1 \{\
+.if !\\n(.u .nr ;U 1
+.if \\n(:B=2 .ce 0
+.fi
+.in \\n(;0u
+.ti -\\n(;0u \}
+\f3\\*(}0\fP\\$4
+.ll
+.in
+.if \\n(:B=2 .ce 9999
+.if \\n(;U \{\
+.nf
+.nr ;U 0 \}
+.if (\\n(Lf=1&(\\$2=0)):(\\n(Lt=1&(\\$2=1)):\
+(\\n(Le=1&(\\$2=2)):(\\n(Lx=1&(\\$2=3)) \{\
+.ds }3
+.if \\n(:S .ds }3 \\n(H1
+.ie \\n(:y=1 \{\
+.ie \\n(:B=3 \{\
+\!\\!.am >L
+\!\\!.if \\$2=\\\\\\\\\\\\\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\\\\\\\nP \\*(}3
+\!\\!\\\\..
+'br \}
+.el \{\
+\!.am >L
+\!.if \\$2=\\\\\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\\\nP \\*(}3
+\!\\\\..
+'br \} \}
+.el \{\
+.am >L
+.if \\$2=\\\\$1 .)T 1 1 "\\*(}0" "\\$4" \\nP \\*(}3
+\\.. \} \}
+..
+.de )I
+.nr ;9 0\\$1+1
+.ds }3 \\$\\n(;9
+.rr ;9
+..
+.de )E
+.ds }3
+.if \\n(:S .ds }3 \\n(H1
+.am >C
+.)T \\n(;1 \\$1 "\\*(}0" "\\$2" \\nP \\*(}3
+\\..
+..
+.de )T
+.nr ;0 \w\\$5
+.if \w\\$6 .nr ;0 +\w'-'u+\w\\$6u
+.if \\n(;0-\\n(:a .nr :a \\n(;0
+.)I \\$1 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.if \w\\$3-\\*(}3 .nr H\\$1 \w\\$3
+..
+.de )U
+.if !0\\$1-\\n(:b .sp \\n(:cu*.5v
+.)I \\$1 \\*(}0
+.nr ;0 \\*(}3
+.)I \\$1 \\*(Ci
+.nr ;1 \\*(}3
+.)I \\$1 \\*(}2
+.nr ;2 \\*(}3
+.ds }3 \\$5
+.if \\n(.$-5 .ds }3 \%\\$6\(hy\\$5
+.nr :e \\n(:au-\w\\*(}3u+2n
+.ds }3 \h\\n(:eu\\*(}3
+.ds }y
+.nr ;0 -\w\\$3
+.if \\n(;0 .as }y \h\\n(;0u
+.if 2-0\\$1 .as }y "\\$3
+.if 0\\$1-1 .ds }y "\\$3\\*(}y
+.if !0\\$2 .ds }y
+.ll \\nWu-\\n(:au-3n
+.in \\n(;2u
+.if !0\\$2 .in \\n(;1u
+.ti \\n(;1u
+.fi
+.di >A
+\!.cs 3 48
+.if !0\\$1-\\n(:d .if !\\n(:f \\*(}y\\$4\\\\f3\\a\\\\fP\\*(}3
+.if !0\\$1-\\n(:d .if \\n(:f \\*(}y\\$4\\t\\*(}3
+.if 0\\$1-\\n(:d \\*(}y\\$4\\*(}3
+.br
+\!.br
+\!.cs 3
+.di
+.br
+.ll \\nWu
+.ne \\n(dnu+.5p-1v
+.ta \\nWu-\\n(:au-2n
+.nf
+.in 0
+.na
+.>A
+..
+.de )Z
+.in 0
+.ie !\\n(Cp \{\
+.SK
+.rs
+.sp 3v
+.ce 1 \}
+.el .sp 2v
+\\$1
+.sp 1v
+.nr :a 0
+.nr H1 0
+.af H1 1
+.>L \\$2
+.rn )T )V
+.rn )U )T
+.ds }0 \\n(H1
+.ds Ci 0
+.ds }2 \\n(H1
+.>L \\$2
+.rn )T )U
+.rn )V )T
+..
+.de TC
+.LC 0
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.)w
+.if \\n(;R .RP 0 1
+.)R
+.rm )E )F DE DF DS FD FE FG FS H HU TB
+.if !\\nP-1 .if \\nN .if !\\nN-1 .rn }t }b
+.if !\\nP-1 .if \\nN .if !\\nN-1 .nr N 0
+.rm }t }e }o
+.rs
+.if \\n(;C .nr ;C 2
+.bp
+.ie \\n(Oc .nr P 1
+.el \{\
+.rm }f }p
+.nr ;g 1 1
+.af ;g i
+.ds }b ''- \\\\n(;g -''
+.am )b
+.nr ;g +1
+\\..
+'br \}
+.nr N 0
+.rs
+.if !\\n(.$-4 .TX
+.if \\n(;C .ll \\n(:Lu
+.if !\\n(.$-4 .TY
+.ce 99
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.if \\n(.$-4 .sp
+.ce 0
+.sp
+.if \\n(;C .ll \\n(:lu
+.nr ;m \\n(.hu+2v
+.nr :b 1
+.if \w\\$1 .nr :b 0\\$1
+.nr :c 1
+.if \w\\$2 .nr :c 0\\$2
+.nr :d 2
+.if \w\\$3 .nr :d 0\\$3
+.nr :f 0
+.if \w\\$4 .nr :f 0\\$4
+.nr H1 0
+.af H1 1
+.nr H2 0
+.af H2 1
+.nr H3 0
+.af H3 1
+.nr H4 0
+.af H4 1
+.nr H5 0
+.af H5 1
+.nr H6 0
+.af H6 1
+.nr H7 0
+.af H7 1
+.nr :a 0
+.>C
+.rn )T )V
+.rn )U )T
+.ds }0 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.nr H2 +\\n(H1
+.nr H3 +\\n(H2
+.nr H4 +\\n(H3
+.nr H5 +\\n(H4
+.nr H6 +\\n(H5
+.nr H7 +\\n(H6
+.if !\w'\\*(Ci' .ds Ci 0 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6
+.ds }2 \\n(H1 \\n(H2 \\n(H3 \\n(H4 \\n(H5 \\n(H6 \\n(H7
+.>C
+.rm >C HX
+.rn )T )U
+.rn )V )T
+.if (\\n(Lf=1)&(\\n(!0>0) .)Z "\\*(Lf" 0
+.if (\\n(Lt=1)&(\\n(!1>0) .)Z "\\*(Lt" 1
+.if (\\n(Lx=1)&(\\n(!3>0) .)Z "\\*(Lx" 3
+.if (\\n(Le=1)&(\\n(!2>0) .)Z "\\*(Le" 2
+.)R
+..
+.de TY
+.ce
+CONTENTS
+..
+.de TL
+.nr :D 2
+.nr ;c 2
+.nr ;z 0
+.nr :V 0
+.nr :1 \\n(.i
+.if \\nC=4 .ls 1
+.ds >1 \\$1
+.ds >2 \\$2
+'nr ;y 1
+.eo
+'de >T AU
+..
+.de AU
+.ec
+.nr :D 1
+.nr ;c 1
+.if !\\n(;y 'nf
+.if \\n(;y .>9
+.rm TL
+.ll \\nWu
+.da >z
+'if \\nE 'ft 3
+.if (\\n(;z>0)&(\\n(Au>0) .sp
+\\$1
+.if \\n(Au>0 \{.if \w\\$3 .ie \\$3HP HP\ \&\c
+.el \\$3\ \&\c
+.if \w\\$4 \\$4
+.if \w\\$3 .if !\w\\$4 \&
+.if \w\\$6 \\$6\ \&\c
+.if \w\\$5 x\\$5
+.if \w\\$6 .if !\w\\$5 \&
+'br \}
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.br
+'if \\nE 'ft 1
+.di
+.nr ;z +\\n(dn
+.nr dn 0
+.am >A
+.ie \\nE \{\
+\f3\\$1\\\\t\\$3\ \\$6\\\\t\\$5\fP
+'br \}
+.el \{\
+\\$1\\\\t\\$3\ \\$6\\\\t\\$5
+'br \}
+\\..
+'in \\n(:1u
+.if !\\n(:V .ds }v \\$3-\\$4-\\$2
+.if \\n(:V .as }v /\\$2
+.da >v
+'if \\nE 'ft 3
+.sp 3
+\\$1
+.br
+'if \\nE 'ft 1
+.di
+.nr :V +\\n(dnu
+.nr dn 0
+.nr :H 0
+.ds }L \\$3
+.if '\\$3'HOH' .ds }L HO
+.if '\\$3'HOH' .nr :H 1
+.if '\\$3'HP' .ds }L }A
+.if '\\$3'AL' .ds }L }B
+.if '\\$3'ALF' .ds }L }B
+.if '\\$3'RD' .ds }L }E
+.if '\\$3'INH' .ds }L }I
+.if '\\$3'FJ' .ds }L HO
+.if '\\$3'IW' .ds }L IH
+.am >4
+.ps +1
+.ft 2
+\\$1
+.br
+.ps
+.ft 1
+.if \\\\n(:2 .sp .5v
+.if \\\\n(:2 \\*(}2
+.if \\\\n(:2 .if \\n(:H \\\\*(}H
+.if \\\\n(:2 \\\\*(\\*(}L
+.if \\\\n(:2 .sp .5v
+.ds }z \\\\*(\\*(}L
+\\..
+..
+.de >9
+.di }z
+'ll \\nWu-34n
+'nh
+'na
+'fi
+'if \\nE 'ft 3
+.>T
+.if (\w'\\*(>1')&(\w'\\*(>2') \{\
+.ie '\\*(>1'\\*(>2' \{\
+.br
+Charge and Filing Case \\*(>1
+.br \}
+.el \{\
+.br
+Charge Case \\*(>1
+.br
+File Case \\*(>2
+.br \} \}
+.if (\w'\\*(>1'=0):(\w'\\*(>2'=0) \{\
+.ie \w'\\*(>1' \{\
+- Case\ \\*(>1
+.br \}
+.el .ie \w'\\*(>2' \{\
+- Case\ \\*(>2
+.br \}
+.el .br \}
+.ll \\nWu
+.di
+.if \\nE .ft 1
+.nr :9 \\n(dn
+.nr dn 0
+.nr ;y 0
+'nf
+.rm >9
+..
+.de AT
+.da >v
+'if \\nE 'ft 3
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.br
+'if \\nE 'ft
+.di
+.nr :V +\\n(dnu
+.nr dn 0
+..
+.de OK
+.nr :D 1
+.nr ;c 1
+.de >7
+.ps -1
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.ps
+\\..
+.rm OK
+..
+.de TM
+.nr :D 1
+.nr ;c 1
+.de >8
+.if \\nE .ft 3
+.if \\n(.$-0 \\$1
+.if \\n(.$-1 \\$2
+.if \\n(.$-2 \\$3
+.if \\n(.$-3 \\$4
+.if \\n(.$-4 \\$5
+.if \\n(.$-5 \\$6
+.if \\n(.$-6 \\$7
+.if \\n(.$-7 \\$8
+.if \\n(.$-8 \\$9
+.if \\nE .ft1
+\\..
+.nr ;x \\n(.$+1
+.rm TM
+..
+.de AS
+.nr :D 3
+.nr ;c 3
+.rm TL
+.nr :t 0\\$1
+.if \\n(:t=1 .nr ;s \\n(:s
+.nr :3 0
+.if \\n(.$-1 .nr :3 0\\$2n
+.nr ;N \\n(:1
+'in \\n(:1u
+'fi
+.SA
+'nh
+'if \\n(Hy 'hy 14
+.di >3
+.ll 0u-2u*\\n(:3u+\\nWu
+.ce
+.ul
+ABSTRACT
+.SP 1.5
+.ns
+.nr :I 1
+.rm AS
+..
+.de AE
+.br
+.di
+'nf
+'nh
+.nr ;3 \\n(dn
+.nr ;6 \\n(;3
+.ll \\nWu
+'in \\n(:1u
+.if \\n(:t=1 .nr :s \\n(;s
+.rm AE
+..
+.de MT
+.if \\n(!N=1 .NE
+.nr :D 0
+.nr ;c 0
+.if !\\n(;y 'nf
+.rm TL TM OK AS AE AF AU
+.ll \\nWu
+.rn TP >Y
+.in \\n(:1u
+.rn >Y TP
+.rn )K >Y
+.ie \w\\$1u<2n .if !0\\$1=4 .if \\n(.$=2 .ds ]n \\$2
+.el .if \\n(.$=2 .ds ]n \\$2
+.if !\\n(.$ .>6
+.if \\n(.$ .if \w\\$1u-\w'0'u .>6 "\\$1"
+.if \\n(.$ .nr ;y 0\\$1
+.if \\n(.$ .if !\\n(;y .>6 ""
+.if \\n(.$ .if \\n(;y-4 .>x
+.if \\n(.$ .if \\n(;y-3 .>5 "\\$2"
+.if \\n(.$ .if \\n(;y-2 .>6 "ENGINEER'S NOTES"
+.if \\n(.$ .if \\n(;y-1 .>6 "PROGRAMMER'S NOTES"
+.if \\n(.$ .if \\n(;y .>6 "MEMORANDUM FOR FILE"
+.)R
+.ft 1
+.ft 1
+.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i
+.ns
+.if \\nC=4 .ls 2
+.>Y
+.]N \\nP+1
+.rm >Y MT
+..
+.de >x
+.rm >6 >5 )Y )X
+.ta \\nWu-1.4i
+.br
+.rs
+.sp 1
+.if \\n(Pv \{\
+.ce
+PRIVATE\h'-\w'PRIVATE'u'\l'\w'PRIVATE'u'
+.sp \}
+.sp |4v
+.}z
+.br
+.rs
+.mk :2
+.sp |12v
+.in \\nWu-1.4i
+.ti +6
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+.if \\n(:2u-\\n(nlu .sp |\\n(:2u
+.sp 2v
+.rm >x
+..
+.de >6
+.rm >5 >x )Y
+.di ]t
+.ta \\nWu-1.75i
+.br
+.rs
+.sp 1
+.if \\n(Pv \{\
+.ce
+PRIVATE\h'-\w'PRIVATE'u'\l'\w'PRIVATE'u'
+.sp \}
+.\".sp |1.1i-1v
+.\"\t\fH\(su\fP \fB\s24s\s0\fP\h'((\w'\fH\s6microsystems\s0\fP'-\w'\fB\s24sun\s0\fP')/2)'\fB\s24u\s0\fP\h'((\w'\fH\s6microsystems\s0\fP'-\w'\fB\s24sun\s0\fP')/2)'\fB\s24n\s0\fP\h'-\w'\fH\s6microsystems\s0\fP'u'\v'.7m'\s6\fHmicrosystems\fP\s0\v'-.7m'
+.vs 12p
+.sp |1.9i
+.mk :2
+\!.po -\w'\s8subject:\s0'u+1n
+\s8subject:\s0
+.rt -1
+\!.po
+.}z
+.br
+.rt \\n(:2u
+.in \\nWu-1.4i
+.ps 8
+.ti -6n
+date:
+.ps
+.rt -1
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+.sp
+.ps 8
+.ti -6n
+from:
+.ps
+.rt -1
+.if \\nE .ft 3
+.>z
+.if \\nE .ft
+.in \\n(:1u
+.if \\n(;x \{.sp
+.in \\nWu-1.4i
+.if \\nE .ft 3
+TM
+.rt -1
+'in +\w'TM 'u
+'if \\nE 'ft
+.>8
+.in \\n(:1u \}
+.br
+.if \\n(:9u-\\n(;zu-2v-\\n(;xv .sp \\n(:9u-\\n(;zu-2v-\\n(;xv
+.sp 3
+.di
+.rs
+.ie \\n(;3 \{\
+.ie \\n(:t=2 \{\
+.af !S \\gP
+.af P i
+.]t
+.in +\\n(:3u
+.>3
+.sp 3
+.)N
+.in -\\n(:3u
+.wh 0 )k
+.bp
+.nr P 1
+.af P \\g(!S
+.]t
+.wh 0 )h
+.if \\n(:G \{\
+.nr :s +1
+.da >y
+.>d
+\!. br
+.di
+'nr dn +4v+.5p
+'nr :o +\\n(dnu
+.nr dn 0
+'if !\\n(.pu-\\n(nlu-.5p-\\n(:ou 'nr :o \\n(.pu-\\n(nlu-.5p
+'if !\\n(:ou-\\n(:mu 'nr :o \\n(:mu
+'ch )f -\\n(:ou
+'br \}
+.rm CS \}
+.el .ie \\n(:t=1 .]t
+.el \{\
+.]t
+.in +\\n(:3u
+.>3
+.sp 3
+.in -\\n(:3u \} \}
+.el .]t
+.ns
+.ne 10
+.ce
+.ul
+.if !\\n(.$ MEMORANDUM FOR FILE
+.if \\n(.$ .if \w\\$1 \\$1
+.SP 3
+.ce 0
+.ul 0
+.if !\\n(:t=2 .)X
+.nr ;M 1
+.rm )X >6
+..
+.de >5
+.rm >6 >x )X
+.br
+.rs
+.sp 1
+.ie \\n(Pv \{\
+.ce
+PRIVATE\h'-\w'PRIVATE'u'\l'\w'PRIVATE'u'
+.sp 4\}
+.el 'sp 5
+.in 0
+.ds }H "Crawford Hill Laboratory
+.ds }A "South Plainfield, New Jersey 07080
+.ds PY "Piscataway, New Jersey 08854
+.ds MH "Murray Hill, New Jersey 07974
+.ds WH "Whippany, New Jersey 07981
+.ds HO "Holmdel, New Jersey 07733
+.ds RR "Piscataway, New Jersey 08854
+.ds }B Allentown, Pennsylvania 18103
+.ds AK Norcross, Georgia 30071
+.ds CP Piscataway, New Jersey 08854
+.ds CH Chester, New Jersey 07930
+.ds CB Columbus, Ohio 43213
+.ds DR Denver, Colorado 80234
+.ds IN Indianapolis, Indiana 46206
+.ds }I Indianapolis, Indiana 46250
+.ds IH Naperville, Illinois 60566
+.ds MV Mountain View, California 94043
+.ds }E Reading, Pennsylvania 19604
+.ds WB "West Long Branch, New Jersey 07764
+.ds WV Warren, New Jersey 07060
+.ds HL Short Hills, New Jersey 07078
+.ll \\nWu
+.fi
+.na
+.nh
+.di >6
+.ps +2
+.vs \\n(.sp+4p
+.if \\nE .ft 3
+.nr ;X 1
+.>T
+.nr ;X 0
+.ps
+.vs \\n(.sp+2p
+.if \\nE .ft 1
+.br
+.di
+.nf
+.ce 1000
+.>6
+.nr :2 0
+.if \w\\$1 .nr :2 1
+.ul 0
+.sp .5v
+.>4
+.br
+.if !\\n(:2 .sp .5v
+.if !\\n(:2 \\*(}2
+.if !\\n(:2 .if \\n(:H \\*(}H
+.if !\\n(:2 \\*(}z
+.ce 0
+.sp
+.if \\n(;3 .if !\\n(:t .in +\\n(:3u
+.if \\n(;3 .if !\\n(:t .>3
+.if \\n(;3 .if !\\n(:t .in -\\n(:3u
+.if \\n(;3 .if !\\n(:t .sp
+.ns
+.br
+.)Y
+.rm )Y >6 PY MH WH HO RR }H WB }A }B }E HL }I
+.rm AK CP CH CB DR IN IH MV WV SG )N )M
+.de NS
+.br
+.di
+.di >Y
+\\..
+.de NE
+.br
+.di
+\\..
+.rm >5
+..
+.de )K
+.if \\n(:D .ie !\\n(:t=2 .)D "check TL, AU, AS, AE, MT sequence"
+.el .)D "check TL, AU, AS, AE, NS, NE, MT sequence"
+.rm )X )Y >T >x >z >1 >2 >3 >4 >5 >6 >7 >8 >9 }2 }z
+.rr ;x ;y ;z :D :1 :2 :3 :9 ;0 ;1 ;2 ;3
+.rm TL AU TM AF AS AE OK
+.rm )K
+..
+.de )X
+.di >S
+\!.nr O 216u
+\!.po 216u
+\!.nr W 6.5i
+\!.ll 6.5i
+\!.lt 6.5i
+\!.ll +.45i
+\!.lt +.45i
+\!.sp 3
+\!.tl '\s24\(bs\s0\s14\f3 Company Name\s0\fP''\s16Cover Sheet for Technical Memorandum\s0'
+\!.if !\n(.A \l\\\\n(.lu
+\!.if \n(.A __________
+\!.br
+\!.fi
+\!.ad
+\!.ss 10
+\!.ps 9
+\!.ft 2
+\!The information contained herein is for the use of
+\!employees of Company Name
+\!and is not for publication\\\\p
+\!.ps
+\!.ft
+\!.nf
+\!.SA
+\!.ss 12
+\!.sp -.6v
+\!.if !\n(.A \l\\\\n(.lu
+\!.if \n(.A __________
+\!.ll
+\!.lt
+\!.nf
+\!.sp 2
+\!.mk ;2
+\s9Title:\s0
+\!.rt -1
+.ll \\nWu-34n
+.nh
+.na
+.fi
+\!.in \w'\s9Title:\s0'u+1n
+.if \\nE .ft 3
+.nr ;X 1
+.>T
+.nr ;X 0
+.if \\nE .ft 1
+.rm >T
+.ll
+.hy
+.ad
+.nf
+\!.in 0
+\!.sp
+\s9Other\ Keywords:\s0
+\!.rt -1
+\!.in \w'\s9Other Keywords:\s0'u+1n
+.if \\nE .ft 3
+.>7
+.rm >7
+.if \\nE .ft
+\!.br
+\!.mk ;0
+\!.rt \\\\n(;2u
+\!.in \\\\nWu-1.4i
+\!.ti -6n
+\s9Date:\s0
+\!.rt -1
+.ie \\nE \{\
+\f3\\*(DT\fP
+'br \}
+.el \{\
+\\*(DT
+'br \}
+\!.sp
+\!.in \\\\nWu-1.4i
+\!.ti -6n
+\s9TM:\s0
+\!.rt -1
+.>8
+\!.in 0
+\!.br
+\!.if \\\\n(;0u-\\\\n(nlu .sp \\\\n(;0u-\\\\n(nlu
+\!.sp 2
+\!.ta 2.5i 3.7i
+\!.mk ;0
+\!.ul
+\s9Author(s)\\tLocation\\tExtension\s0
+.>A
+.rm >A
+\!.mk ;1
+\!.rt \\\\n(;0u
+.br
+.di
+.nf
+.de >7
+.di >A
+.tr ,+
+.tr |.
+.ie \\nE \{\
+|ds\ >8\ \f3\\\\$1+\\\\$2+\\\\$3+\\\\$4+\\\\$5+\\\\$6+\\\\$7+\\\\$8+\\\\$9\fP
+'br \}
+.el \{\
+|ds\ >8\ \\\\$1+\\\\$2+\\\\$3+\\\\$4+\\\\$5+\\\\$6+\\\\$7+\\\\$8+\\\\$9
+'br \}
+.br
+\!.br
+.tr ,,++||
+.di
+\\..
+.>7 \\*(>1
+.>A
+.rn >8 >1
+.>7 \\*(>2
+.>A
+.rn >8 >2
+.di >7
+.tr |.
+.tr +
+|>A\ \\*(>1
+|rn\ >T\ >1
+|>A\ \\*(>2
+|rn\ >T\ >2
+.br
+.tr ||++
+.di
+.de >A
+.de >T
+.if \\\\n(.$ \\\\$1
+.if \\\\n(.$-1 \\\\$2
+.if \\\\n(.$-2 \\\\$3
+.if \\\\n(.$-3 \\\\$4
+.if \\\\n(.$-4 \\\\$5
+.if \\\\n(.$-5 \\\\$6
+.if \\\\n(.$-6 \\\\$7
+.if \\\\n(.$-7 \\\\$8
+.if \\\\n(.$-8 \\\\$9
+\\\\..
+\\..
+.>7
+.rm >A >7 >T
+.da >S
+\!.in \\\\nWu-13n
+\!.ti \\\\nWu-1.4i-6n
+\!.mk ;0
+\s9Charging\\\\ Case:\s0
+.br
+\!.br
+\!.rt -1
+\!.if \\nE .ft 3
+.>1
+\!.if \\nE .ft
+.rm >1
+.br
+\!.br
+\!.if \\\\n(nl=\\\\n(;0 .sp 1v
+\!.ti \\\\nWu-1.4i-6n
+\s9Filing\\\\ Case:\s0
+.br
+\!.br
+\!.rt -1
+\!.if \\nE .ft 3
+.>2
+\!.if \\nE .ft
+.rm >2
+.br
+\!.br
+\!.if \\\\n(;1u-\\\\n(nlu .sp \\\\n(;1u-\\\\n(nlu
+\!.sp 3
+\!.in 0
+\!.ll \\\\nWu
+\!.in +\\n(:3u
+\!.po +(6.95i-\\\\n(!Wu)/2u
+.>3
+\!.in -\\n(:3u
+\!.po
+\!.nr ;0 0
+.br
+.di
+.di >b
+.nf
+.na
+.>c
+.br
+.di
+.rm >b
+.if \\n(dn \{\
+.nr ;c \\n(.pu-\\n(dnu-8v
+.da >S
+\!.ie \\n(;cu-\\\\n(nlu .sp \\n(;cu-\\\\n(nlu
+\!.el .sp .5v
+.nr ;c 0
+\l'60p'
+.>c
+.di
+.br \}
+..
+.de )Y
+.di >S
+\!.sp 5
+\!.in 0
+\!.ce 1000
+\!.ul 1000
+.>6
+\!.ul 0
+\!.sp .5v
+.>4
+\!.br
+\!.if \\n(:2=0 .sp .5v
+\!.if \\n(:2=0 \\*(}2
+\!.if \\n(:2=0 .if \\n(:H \\*(}H
+\!.if \\n(:2=0 \\*(}z
+\!.ce 0
+\!.sp
+\!.in 0
+\!.in +\\n(:3u
+.>3
+\!.in -\\n(:3u
+\!.nr ;0 1
+.di
+.di >b
+.nf
+.na
+.>c
+.br
+.di
+.rm >b
+.if \\n(dn \{\
+.nr ;c \\n(.pu-\\n(dnu-8v
+.da >S
+\!.ie \\n(;cu-\\\\n(nlu .sp \\n(;cu-\\\\n(nlu
+\!.el .sp .5v
+.nr ;c 0
+\l'60p'
+.>c
+.di
+.br \}
+..
+.de CS
+.LC 0
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.)w
+.if \\n(;R .RP 0 1
+.if !\\nP-1 .if \\nN .if !\\nN-1 .rn }t }b
+.if !\\nP-1 .if \\nN .if !\\nN-1 .nr N 0
+.rm }t }e }o
+.wh 0
+.br
+.rs
+.bp
+.)k
+.rm }b }f }p
+.rn )f >z
+.ch )n 15.1i
+.ch )b 15.2i
+.de )f
+.)D "CS:cover sheet too long"
+\\..
+.ch )f -\\n(:Mu
+.)R
+.ll \\nWu
+.in 0
+.nr !O \\nO
+.nr !W \\nW
+.br
+.rs
+.nf
+.>S
+.rm )f
+.ch )f 15.0i
+.sp \\n(.pu-\\n(nlu-7.5v
+.ie \\n(;0 .sp 7.5
+.el \{.nr ;1 \\n(.lu+.45i
+\l\\n(;1u\(ul
+.mk ;2
+.ta 1.3i 2.4i
+.ie \\n(.$ \{.ds ]1 \\$1
+.ie \w'\\$1' .nr !T +0\\$1
+.el .nr !T \\nP \}
+.el .nr !T \\nP
+.if \\n(.$-1 \{.ds ]2 \\$2
+.nr !T +0\\$2 \}
+.if \\n(.$-2 .ds ]3 \\$3
+.if \\n(.$-3 .ds ]4 \\$4
+.if \\n(.$-4 .ds ]5 \\$5
+.if \\n(.$-5 .ds ]6 \\$6
+.if !\w'\\*(]1' .ds ]1 \\nP
+.if !\w'\\*(]2' .ds ]2 0
+.if !\w'\\*(]3' .ds ]3 \\n(!T
+.if !\w'\\*(]4' .ds ]4 \\n(Fg
+.if !\w'\\*(]5' .ds ]5 \\n(Tb
+.if !\w'\\*(]6' .ds ]6 \\n(Rf
+.sp .5v
+\s9Pages Text:\ \ \s0\\*(]1\t\s9Other:\ \ \s0\\*(]2\t\s9Total:\ \ \s0\\*(]3
+.sp 1v
+\s9No. Figures:\ \ \s0\\*(]4\t\s9No. Tables:\ \ \s0\\*(]5\t\s9No. Refs.:\ \ \s0\\*(]6
+.sp .5v
+.mk ;3
+\l\\n(;1u\(ul
+.nr ;1 \\n(;3u-\\n(;2u+1v
+.sp -1
+\h'3.65i'\L'-\\n(;1u'\v'\\n(;1u'
+.tl '\s8E-1932-U (3-76)'SEE REVERSE SIDE FOR DISTRIBUTION LIST\s0''
+'br \}
+.nr O \\n(!O
+.nr W \\n(!W
+.po \\nOu
+.ll \\nWu
+.lt \\nWu
+.wh 0 )h
+.ch )n -\\n(:mu
+.rn >z )f
+.ch )f -\\n(:mu
+.ch )b -\\n(:ru
+.)R
+.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i
+.nr ;0 0
+.nr ;1 0
+.nr ;2 0
+.rm >S
+..
+.de FC
+.)w
+.in 0
+.nf
+.ls 1
+.in (\\n(.lu/2u)
+.rs
+.ne \\n(:Vu+3v+.5p
+.sp
+.ie \\n(.$ \\$1
+.el Yours very truly,
+.in
+.fi
+..
+.de SG
+.if !\\n(:V .)D "SG:no authors"
+.if \\n(:F .)D "SG:missing FE"
+.if \\n(:y .)D "SG:missing DE"
+.LC 0
+.)w
+.)R
+.in 0
+.nf
+.ls 1
+.if \w\\$1 .as }v -\\$1
+.ne 5v+.5p
+.rs
+.if \\n(.$>1 \{\
+.sp 3
+\\*(}v
+.sp -4 \}
+.in (\\n(.lu/2u)
+.>v
+.in
+.if \\n(.$=1 \{\
+.sp -1
+\\*(}v
+'br \}
+.rm >v
+.fi
+..
+.de NS
+.if \\n(!N=1 .di
+.if \\n(;M .br
+.)R
+.nr :D 1
+.ds }4 "Copy to
+.nr ;0 0\\$1
+.if \w\\$1u-\w'\0\0'u .nr ;0 50
+.if \\n(;0 .ds }4 "Copy (with att.) to
+.if \\n(;0-1 .ds }4 "Copy (without att.) to
+.if \\n(;0-2 .ds }4 "Att.
+.if \\n(;0-3 .ds }4 "Atts.
+.if \\n(;0-4 .ds }4 "Enc.
+.if \\n(;0-5 .ds }4 "Encs.
+.if \\n(;0-6 .ds }4 "U.S.C.
+.if \\n(;0-7 .ds }4 "Letter to
+.if \\n(;0-8 .ds }4 "Memorandum to
+.if \\n(;0-9 .ds }4 "Copy (with atts.) to
+.if \\n(;0-10 .ds }4 "Copy (without atts.) to
+.if \\n(;0-11 .ds }4 "Abstract only to
+.if \\n(;0-12 .ds }4 "Complete memorandum to
+.if \\n(;0-13 .ds }4 "Copy (\\$1) to
+.if \\n(.$-1 .ds }4 \&\\$1
+'in \\n(;N
+.if !\\n(!N .ds }5 \\*(}4
+.if \\n(!N .da }C
+.if !\\n(!N .di }C
+.if \\n(!N .sp
+\!.ds }4 \\*(}4
+\\*(}4
+.nf
+.nr !N 1
+..
+.de )N
+.br
+.rr !N
+.di ]v
+.}C
+.br
+.di
+.rm ]v
+.nr ;0 \\n(dn
+.if \\n(;0 .)M
+..
+.de )M
+.nf
+.sp
+.ne 2v
+.if \\n(.tu<=2v \{\
+\&\\*(}5
+.ie !\\n(;C See next page
+.el See next column
+'br \}
+.nr !U \\n(;0>=\\n(.tu
+.if \\n(!U \{\
+.ie !\\n(;C .ds ]w Continued next page
+.el .ds ]w Continued next column
+.ds ]x \\\\*(}4\ \-\ contd.
+.ch )f -(\\n(:ou+1v) \}
+.}C
+.if \\n(!U \{\
+.rm ]w ]x
+.ch )f -\\n(:ou \}
+.rm }C
+..
+.de NE
+.br
+.if \\n(!N=1 .di
+.nr :D 0
+.nr !N 2
+.if \\n(;M .)N
+.)R
+..
+.de AV
+.ne 6v
+.in 0
+.nf
+.if \\n(.$<2 \{\
+.sp
+APPROVED:
+'br \}
+.sp 2
+\l'3i'\h'.3i'\l'1.5i'
+\\$1\h'|4i-(\w'Da'u)'Date
+.in
+.fi
+..
+.de ND
+.if !\\n(.$ .)D "ND:missing arg"
+.ds DT "\\$1
+..
+.de AF
+.ds }2 "\\$1
+..
+.de )h
+'ev 0
+'nh
+'if \\n(Hy 'hy 14
+'ev
+'ev 2
+.nr ;8 1
+.)k
+.rr ;8
+.)R
+.nr P +1
+.if \\n(:Z \{.nr P \\n%
+.rr :Z \}
+.if \\n(:u*\\n(:S .nr P 1
+.if \\n(:u=1 \{.nr H1 +1
+.nr :u 2 \}
+'sp \\n(!X
+.TP
+.br
+.)R
+'ev
+.nr :I 2
+.nr :J \\n(nl
+'ns
+'if \\n(:q .)l
+'nr :q 0
+.mk ;r
+.mk ;m
+.nr !B 0
+.if \\n(;d=0&\\n(:z>0 \{\
+'ie \\n(Df>3 \{')z
+')s \}
+'el 'if \\n(Df>1 ')z \}
+.nr :I 3
+.nr !C \\n(.h
+.PX
+'ns
+.if !((\\n(!C=\\n(.h)&(\\n(!B=0)) .mk ;m
+.nr ;T 0
+.if \\n(;A>0 \{.nr ;h \\n(.i
+.in 0
+.>t
+.nr ;T 1
+.in \\n(;hu \}
+.mk #T
+.nr :J \\n(nl
+.if !\\*(]x \\*(]x
+..
+.de )f
+.if !\\*(]w \\*(]w
+.nr !D 0
+.nr :N 0
+'nr dn 0
+.rn )f >u
+.if \\n(#a \{.nr T. 1
+.if \\n(;f=0 .T# 1
+'br \}
+.nr ;f 1
+.rn >u )f
+'nr ;y \\n(.pu-\\n(nlu-\\n(:mu
+'if \\n(:s \{'ie \\n(;y-4v .)o
+'el .)m \}
+'nr :s 0
+'nr :o \\n(:mu
+.ie \\n(;C=0 \{\
+.if \\n(;e \&\c
+'bp \}
+.el .ie \\n(;C=2 .)2
+.el .)1
+.rr ;f
+.ie \\*(]w 'ch )f -\\n(:ou
+.el 'ch )f -(\\n(:ou+1v)
+.if \\n(#a \{\
+.nr :K \\n(:ou+2v
+.ch >f -(\\n(:Ku+1v)
+'br \}
+..
+.de PH
+.ds }t "\\$1
+..
+.de EH
+.ds }e "\\$1
+..
+.de OH
+.ds }o "\\$1
+..
+.de PF
+.ds }b "\\$1
+..
+.de EF
+.ds }f "\\$1
+..
+.de OF
+.ds }p "\\$1
+..
+.de TP
+'sp
+.)K
+.af ;P \\gP
+.af P 1
+.nr ;P \\nP
+.af P \\g(;P
+.af ;P 1
+.ie \\n(Pv \{\
+.ie (\\n(Pv=1)&(\\n(;P>1) 'sp 2
+.el \{\
+.ce
+PRIVATE\h'-\w'PRIVATE'u'\l'\w'PRIVATE'u'
+.sp \} \}
+.el 'sp 2
+.if !\\n(;P-1 .if \\nN 'sp
+.if !\\n(;P-1 .if \\n(:S .tl \\*(}t
+.if !\\n(;P-1 .if !\\nN .tl \\*(}t
+.if \\n(;P-1 .ie \w'\\*(]n' .tl '\\*(]n - \\nP'''
+.el .tl \\*(}t
+'if !\\n(;P%2 'tl \\*(}e
+'if \\n(;P%2 'tl \\*(}o
+'sp 2
+..
+.de PM
+.ie \\$1 \{\
+.(B
+.(E 2 0
+.(B
+.(E 3 0 \}
+.el .ie \\$1CI-II \{\
+.(B
+\!. tl \fICI-II\fR
+\!. tl Not for disclosure to American Bell.
+\!. tl Subject to FCC separation requirements under Computer Inquiry II.
+\!. tl 
+.(E 2 4v \}
+.el .ie \\$1P \{\
+.(B
+\!. tl \fIPRIVATE\fR
+\!. tl The information contained herein should not be disclosed
+\!. tl to unauthorized persons. It is meant solely for use by
+\!. tl authorized Bell System employees.
+.(E 3 4v \}
+.el .ie \\$1BP \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY\fR
+\!. tl Not for use or disclosure outside Bell Laboratories
+\!. tl except by written approval of the Director of the
+\!. tl originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BPP \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- PRIVATE\fR
+\!. tl The information herein is intended for use by authorized Bell Laboratories
+\!. tl employees and is not to be disclosed to others except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BR \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- PRIVATE\fR
+\!. tl The information herein is intended for use by authorized Bell Laboratories
+\!. tl employees and is not to be disclosed to others except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+.(E 3 4v \}
+.el .ie \\$1BPN \{\
+.(B
+\!. tl \fIBELL LABORATORIES PROPRIETARY \- NOTICE\fR
+\!. tl Not for use or disclosure outside Bell Laboratories except by written
+\!. tl approval of the Director of the originating organization (see G.E.I. 2.2).
+\!. tl 
+.(E 3 4v \}
+.el .ie \\$1ILL \{\
+.(B
+\!. tl THIS DOCUMENT CONTAINS PROPRIETARY INFORMATION OF BELL
+\!. tl TELEPHONE LABORATORIES AND IS NOT TO BE DISCLOSED, REPRODUCED,
+\!. tl OR PUBLISHED WITHOUT WRITTEN BELL LABORATORIES APPROVAL.
+\!. tl THIS DOCUMENT MUST BE RENDERED ILLEGIBLE WHEN BEING DISCARDED.
+.(E 3 4v \}
+.el .ie \\$1SC \{\
+.(B
+\!. tl \fICOMPANY NAME CONFIDENTIAL\fR
+\!. tl The information contained herein should not be disclosed
+\!. tl to unauthorized persons. It is meant solely for use by
+\!. tl authorized COMPANY NAME employees.
+.(E 3 4v \}
+.el .ie \\$1SP \{\
+.(B
+\!. tl \fICOMPANY NAME PROPRIETARY\fR
+\!. tl This document contains unpublished, proprietary information
+\!. tl and describes subject matter proprietary to COMPANY NAME.
+\!. tl This document may not be disclosed to third parties
+\!. tl or copied or duplicated in any form without the prior
+\!. tl written consent of COMPANY NAME.
+.(E 3 4v \}
+.el \{\
+.(B
+\!. tl \fINOTICE\fR
+\!. tl Not for use or disclosure outside the
+\!. tl Bell System except under written agreement.
+\!. tl 
+.(E 3 4v \}
+..
+.de )b
+'ev 2
+.nf
+.?1
+.?2
+.?3
+.?4
+.?5
+.br
+.)R
+.af ;P \\gP
+.af P 1
+.nr ;P \\nP
+.af P \\g(;P
+.af ;P 1
+.ie !\\n(;P%2 .tl \\*(}f
+.el .tl \\*(}p
+.ie \\n(;P=1 \{\
+.ie \\nN=1 .tl \\*(}t
+.el .tl \\*(}b \}
+.el .tl \\*(}b
+.if \\nC .tl \\*(]C
+.)R
+'ev
+..
+.de )2
+.po \\nOu
+.nr ;C 1
+'bp
+..
+.de )1
+.rt \\n(;mu
+.po +\\n(;ou
+.nr ;C 2
+.nr :I 2
+.nr :J \\n(nl
+'ns
+'if \\n(:q .)l
+'nr :q 0
+'if \\n(;d=0&\\n(:z>0 \{\
+'ie \\n(Df>3 \{')z
+')s \}
+'el 'if \\n(Df>1 ')z \}
+.nr :I 3
+.nr ;T 0
+.if \\n(;A>0 \{.nr ;h \\n(.i
+.in 0
+.>t
+.nr ;T 1
+.in \\n(;hu \}
+.mk #T
+.nr :J \\n(nl
+..
+.de 2C
+.if \\n(;C=0 \{\
+.br
+.)R
+.nr ;C 1
+.nr W \\n(.l
+.if !\\n(.$ .nr ;l \\n(.lu*8u/17u
+.if !\\n(.$ .nr ;o \\n(.lu*9u/17u
+.if \\n(.$ .nr ;l \\$1u*1.3n
+.if \\n(.$ .nr ;o \\nWu-\\n(;lu
+.ev 1
+.ll \\n(;lu
+.lt \\n(;lu
+.ev
+.ll \\n(;lu
+.lt \\n(;lu
+.nr :L \\nW
+.nr W \\n(.lu
+.SP
+.ns
+.mk ;m \}
+..
+.de 1C
+.if \\n(;C \{\
+.br
+.if \\n(;C>1 .sp |\\n(.hu
+.po \\nOu
+.)R
+.nr W \\n(:Lu
+.rr ;L ;C
+.ev 1
+.ll \\nWu
+.lt \\nWu
+.ev
+.ll \\nWu
+.lt \\nWu
+.SP .5
+.ns \}
+..
+.de WC
+.if \\n(.$ \{\
+.ie \\$1N \{.nr ;a 0
+.nr ;b 0
+.nr ;j 0
+.nr ;p 1 \}
+.el .ie \\$1WD .nr ;a 1
+.el .ie \\$1WF .nr ;b 1
+.el .ie \\$1FF .nr ;j 1
+.el .ie \\$1FB .nr ;p 1
+.el .ie \\$1-WD .nr ;a 0
+.el .ie \\$1-WF .nr ;b 0
+.el .ie \\$1-FF .nr ;j 0
+.el .ie \\$1-FB .nr ;p 0
+.el ')D "WC: unknown option"
+.if \\n(.$ .WC \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+'br \}
+..
+.de >W
+.if \\n(;C \{\
+.ev 1
+.ll \\n(:Lu
+.lt \\n(:Lu
+.ev
+.nr W \\n(:Lu
+.nr ;W 1 \}
+..
+.de >N
+.if (\\n(;l>0)&(\\n(;C=0) \{\
+.ev 1
+.ll \\n(;lu
+.lt \\n(;lu
+.ev
+.nr W \\n(;lu
+.nr ;W 2 \}
+..
+.de >R
+.ie \\n(;W=1 .nr W \\n(;lu
+.el .if \\n(;W=2 .nr W \\n(;Lu
+.if \\n(;W \{\
+.ev 1
+.ll \\nWu
+.lt \\nWu
+.ev
+.nr ;W 0 \}
+..
+.de )Q
+.ch )Q 200v
+.rs
+'sp 70 \}
+..
+.de BS
+.(B
+..
+.de BE
+.(E 4
+..
+.de VM
+.ie 0\\$1>=0 .nr !X 0\\$1
+.el .nr !X 0
+.if 0\\$2>=0 \{\
+.(B
+.rs
+.sp 0\\$2v
+.(E 5 0\\$2 \}
+..
+.de (B
+.ev 1
+.)R
+.di >K
+..
+.de (E
+.br
+.di
+.)R
+.ev
+.ie (\\n(dn=0)&(0\\$2=0) \{\
+.nr ?\\$1 0
+.rm >K ?\\$1
+'br \}
+.el \{\
+.ie 0\\$2>0 .nr ?\\$1 0\\$2
+.el .nr ?\\$1 \\n(dn \}
+.nr ?0 \\n(:Uu
+.nr :U \\n(?1+\\n(?2+\\n(?3+\\n(?4+\\n(?5+1v
+.if (\\n(:Uu+\\n(:Mu)>(\\n(.pu-\\n(nlu-.5v) .SK
+.rn >K ?\\$1
+.nr :o +(\\n(:Uu-\\n(?0u)
+.ch )n -\\n(:ou
+.ch )f -\\n(:ou
+.nr :m \\n(:Mu+\\n(:Uu
+.ch )b -(\\n(:mu-2v)
+..
+.de FS
+'nr :s +1
+.if \\n(:F .)D "FS:missing FE"
+.if \\n(:F .FE
+.if \\n(:y .)D "FS:missing DE"
+.if \\n(:y .DE
+.nr :F 1
+.if !\\n(!F \{\
+.ie \\n(;C .nr !F 2
+.el .nr !F 1 \}
+.ie (\\n(;C>0)&((\\n(;b=1):((\\n(;j=1)&(\\n(!F=1))) \{\
+.nr !F 1
+.>W \}
+.el .if ((\\n(;C=0)&(\\n(;j=1)&(\\n(!F=2)) .>N
+'ev 1
+'di >b
+.nr :D 1
+.)R
+'nh
+'if \\n(:i 'hy 14
+'ad
+'if \\n(:j 'na
+'ps -2
+'vs \\n(.sp+1p
+'sp \\n(Fsu*3p
+'if \\n(.$ 'ds }y \\$1\
+'if !\\n(.$ 'ds }y \\*(]y.\
+'if \\n(:k \\*(}y\&\c
+'if !\\n(:k 'nr ;v \w\0\0.\ 
+'if !\\n(:k 'nr ;u \w\\*(}y
+'if !\\n(:k 'in +\\n(;vu
+'if !\\n(:k 'if !\\n(:l 'ti -\\n(;vu
+'if !\\n(:k 'if !\\n(:l 'if !\\n(;u-\\n(;v \\*(}y\h\\n(;vu-\\n(;uu\&\c
+'if !\\n(:k 'if !\\n(:l 'if \\n(;u-\\n(;v \\*(}y\&\c
+'if !\\n(:k 'if \\n(:l 'if \\n(;v-\\n(;u 'ti -\\n(;uu
+'if !\\n(:k 'if \\n(:l 'if !\\n(;v-\\n(;u 'ti -\\n(;vu
+'if !\\n(:k 'if \\n(:l \\*(}y\&\c
+..
+.de FE
+.if !\\n(:F .)D "FE:no FS active"
+.br
+'di
+.nr :D 0
+.if \\n(;c .nr :D \\n(;c
+'in 0
+'nf
+'na
+.if !\\n% \{\
+'da >c
+.>b
+\!. br
+'di
+.if !(\\n(:D=3) \{\
+.nr :G 1
+.da >d
+.>b
+\!. br
+.di
+'br \}
+'br \}
+.if !((\\n%=0)*(\\n(:D=3)*(\\n(:t=1):(\\n(;X)) \{\
+'da >y
+.>b
+\!. br
+'di
+'br \}
+'rm >b
+.)R
+'ev
+.nr :F 0
+.>R
+.if !((\\n%=0)*(\\n(:D=3)*(\\n(:t=1):(\\n(;X)) \{\
+.if !((\\n(!A=1):((\\n(;C=2)&(\\n(!F=1))) \{\
+'if !\\n(:s-1 'nr dn +4v+.5p
+'nr :o +\\n(dnu
+.nr dn 0
+'if !\\n(.pu-\\n(nlu-.5p-\\n(:ou 'nr :o \\n(.pu-\\n(nlu-.5p
+'if !\\n(:ou-\\n(:mu 'nr :o \\n(:mu
+'ch )f -\\n(:ou
+'br \}\}
+..
+.de )o
+.ie (\\n(!F=1)&(\\n(;C=1) \{\
+.nr !A 1 \}
+.el .nr !A 0
+'ev 1
+.)R
+'ps -2
+'vs \\n(.sp+1p
+'nf
+'nr ;5 \\n(.pu-\\n(:ou+.5p
+'if \\n(;5u>\\n(nlu 'sp |\\n(;5u+.5p
+'nr ;5 \\n(.pu-\\n(nlu-1v-\\n(:mu
+.ie \\n(;5u>0 \{\
+'sp
+.ti 0
+.ie \\n(:n=0 \{.ie \n(.A=0 \l'72p'
+.el __________ \}
+.el \{.ie \n(.A=0 \l\\n(.lu
+.el _____________________________ \}
+'nr :n 0
+.br
+.if \\n(!A .wh (\\n(nl-2v) )Q
+'br \}
+.el 'sp 15i
+.rr ;5
+'nr ;Z 1
+'nr dn 0
+'ps
+'vs \\n(.sp+2p
+.>y
+.br
+'di
+.if \\n(dn=1v .nr dn 0
+.nr :n \\n(dn
+'nr ;Z 0
+.if !\\n(;C=1 \{\
+.rr !A
+.if \\n(dn=0 .rr !F \}
+'rm >y
+'nr :q \\n(dnu
+'nr dn 0
+'nr :s 0
+.)R
+'ev
+..
+.de )n
+'if \\n(;Z \{
+'di >x
+'sp \\n(Fs \}
+..
+.de )m
+'ev 1
+.)R
+'ps -2
+'vs \\n(.sp+1p
+.nf
+'di >w
+.>y
+.br
+'di
+'rm >y
+'nr :q \\n(dn
+'nr dn 0
+'nr :s 0
+.if !\\n(;C=1 .rr !A
+.)R
+'ps
+'vs \\n(.sp+2p
+'ev
+..
+.de )l
+'nr :s 1
+'di
+'ev 1
+'di >b
+.)R
+'ps -2
+'vs \\n(.sp+1p
+'nh
+'nf
+.>x
+.>w
+.nr :F 1
+.FE
+'rm >x
+'rm >w
+..
+.de FD
+'nr :i 0
+'nr :j 0
+'nr :k 0
+'nr :l 0
+'nr ;z 0
+'if \\n(.$ 'nr ;z \\$1
+'if \\n(;z-11 'nr ;z 0
+'if \\n(;z-7 'nr :l 1
+'if \\n(;z-7 'nr ;z -8
+'if \\n(;z-3 'nr :k 1
+'if \\n(;z-3 'nr ;z -4
+'if \\n(;z-1 'nr :j 1
+'if \\n(;z-1 'nr ;z -2
+'if \\n(;z 'nr :i 1
+'if \\n(.$-1 .nr :C 1
+..
+.de DS
+.nr :t 0
+.)J "\\$1" "\\$2" "\\$3"
+..
+.de DF
+.nr :t 1
+.)J "\\$1" "\\$2" "\\$3"
+..
+.de )J
+.nr ;i \\n(.i
+.nr ;q \\n(.u
+'di
+.if \\n(:D>1 \{.ie \\n(:t=0 .)D "DS:illegal inside TL or AS"
+.el .)D "DF:illegal inside TL or AS" \}
+.if \\n(:F \{.ie \\n(:t=0 .)D "DS:missing FE"
+.el .)D "DF:missing FE"
+.FE \}
+.if \\n(:y \{.ie \\n(:t=0 .)D "DS:missing DE"
+.el .)D "DF:missing DE"
+.DE \}
+.nr :y 1
+.if (\\n(;C>0)&(\\n(;a=1) .>W
+.nr :y \\n(.l
+.ev 1
+.ll \\n(:yu
+.nr :y 1
+.)R
+'di >0
+.nr :D 1
+.nr ;z 0+0\\$1
+.if \\$1L .nr ;z 0
+.if \\$1I .nr ;z 1
+.if \\$1C .nr ;z 2
+.if \\$1CB .nr ;z 3
+.if \\n(;z>3 .nr ;z 3
+.nr :B \\n(;z
+.if \\n(:t=0 .if \\n(;z<2 .ll -\\n(;iu
+.if \\n(;z=1 .in +\\n(Sin
+.if \\n(;z=2 \{.ce 9999
+.nr :t +2 \}
+.if \\n(:B=3 \{.nr :Y 1
+.nr :t +2
+.nr :X \\n(.i
+.di >X \}
+.nr ;z 0+0\\$2
+.if \\$2N .nr ;z 0
+.if \\$2F .nr ;z 1
+.nf
+.if \\n(;z .fi
+.ll -0\\$3
+..
+.de )z
+.nr ;w \\n(:x+1%26+1
+.if !((\\n(;C=2)&(\\n(!\\n(;w=1)) \{\
+.nr ;d 1
+.nr ;d \\n(.l
+.ev 1
+.ll \\n(;du
+.nr ;d 1
+.SP .5
+.)R
+'nf
+'rs
+.nr :x \\n(:x+1%26
+.?\ \n(;w
+.if \\n(!\\n(;w=1 .nr !B 1
+.rm ?\\n(;w
+.rr ?\\n(;w !\\n(;w
+.)R
+.if \\n(De \{\
+.if \\n(;e \&\c
+.bp
+.nr !B 0 \}
+.ie \\n(:I>1 \{\
+.if \\n(nl>\\n(:J .nr :I 0 \}
+.el .nr :I 0
+.SP .5
+.nr :J \\n(nl
+.ev
+'nr :z -1
+.nr ;d 0 \}
+..
+.de )y
+'if \\n(:z \{\
+'nr ;w \\n(:x+1%26+1
+'nr ;z \\n(?\\n(;w
+.if (\\n(:I=2):(\\n(;z+\\n(;pv<\\n(.t):\
+((\\n(;z>(\\n(.p-\\n(;r-\\n(:m))&(\\n(nl<(\\n(.p-\\n(;r-\\n(:o/2u+\\n(;r))) \{\
+'ie \\n(:I<2 .if \\n(;p .br
+'el .if \\n(:Ju<\\n(nlu .if \\n(;p .br
+')z \}\}
+..
+.de )x
+'nr :v \\n(:z
+')y
+'if \\n(:v=\\n(:z \{\
+'nr ;d 1
+'if \\n(;e \&\c
+'SP \\n(.tu+1v
+'nr ;d 0
+')z \}
+..
+.de )w
+'if \\n(:z \{\
+')x
+')w \}
+..
+.de )u
+'if \\n+(:z>25 ')D "DF: too many displays"
+'nr :w \\n(:w+1%26
+'nr ;w \\n(:w+1
+'rn >0 ?\\n(;w
+.nr !\\n(;w 1
+.if (\\n(;C>0)&(\\n(;a=0) .nr !\\n(;w 2
+.nr ?\\n(;w \\n(:0
+'if !((\\n(;C>0)&(\\n(!\\n(;w=1)) 'if (\\n(:z=1)&((\\n(Df%2=1):(\\n(Df>5)) ')y
+..
+.de )s
+'nr :v \\n(:z
+'nr ;Y \\n(:I
+'nr :I 3
+')y
+'ie \\n(:v>\\n(:z ')s
+'el 'nr :I \\n(;Y
+..
+.de )t
+.br
+.nr !L \\n(.L
+.ls 1
+.)r
+.ti \\n(.iu
+.nf
+.if \\n(:t>1 .in -\\n(;iu
+.rs
+.nr ;d 1
+.>0
+.)R
+.nr ;d 0
+.ie \\n(:I>1 \{\
+.if \\n(nl>\\n(:J .nr :I 0 \}
+.el .nr :I 0
+.ls \\n(!L
+.in \\n(;iu
+.if !\\n(;q .nf
+.if \\n(Ds .SP .5
+.nr :J \\n(nl
+..
+.de )r
+.if \\n(Ds .SP .5
+.if (\\n(:0>=\\n(.t)&((\\n(:0<(\\n(.p-\\n(;r-\\n(:m)):\
+(\\n(nl>(\\n(.p-\\n(;r-\\n(:o/2u+\\n(;r))) \{\
+.if \\n(;e \&\c
+.ne \\n(.tu+1v
+.if \\n(:I<2 .)r \}
+..
+.de DE
+.if !\\n(:y .)D "DE:no DS or DF active"
+.if \\n(:B=3 \{.br
+.di
+.if \\n(dl>\\n(:Y .nr :Y \\n(dl
+.if \\n(:Y<\\n(.l .in (\\n(.lu-\\n(:Yu)/2u
+.nf
+.>X
+.fi
+.rm >X
+.in \\n(:Xu
+.rr :X \}
+.ce 0
+.br
+'di
+.rr :D ;D ;E :B
+.)R
+.ll \\nWu
+.ev
+'nr :0 \\n(dn
+'nr dn 0
+.nr ;x \\n(:t
+.if \\n(:t-1 .nr ;x -2
+.>R
+.if !\\n(;x .)t
+.if \\n(;x .)u
+.nr :y 0
+.nr :Y 0
+..
+.de )R
+'fi
+'na
+.if \\n(:h 'ad
+'nh
+'if \\n(Hy 'hy 14
+'in 0
+'ti 0
+'ps \\n(:Pp
+'vs \\n(!Pp
+..
+.de RS
+.if \\n(;R=2 .)D "RS:missing RF"
+.nr ;R 2
+.nr Rf +1
+.if \\n(.$ .ds \\$1 \v'-.4m'\s-3[\\n(:R]\s0\v'.4m'
+.nr ;R \\n(.l
+.ev 2
+.ll \\n(;Ru
+.nr ;R 2
+.)R
+'in \w\0\0.\ u
+'ti -\w\\*(]r.\ u
+.nr :D 1
+.da >r
+\!.ne 2
+\\*(]r.\ \&\c
+..
+.de RF
+.if !(\\n(;R=2) .)D "RF: no RS active"
+.nr ;R 1
+.br
+\!.if \\\\n(Ls .sp .5
+.di
+'in
+.nr :D 0
+.ev
+..
+.de RP
+.if \\n(;R=2 .)D "RP: missing RF"
+.if \\n(;R \{\
+.nr ;R 0
+.if !(0\\$1) .nr :R 0 1
+.)R
+.ie (0\\$2=2):(0\\$2=3) \{\
+.if \\n(;e \&\c
+'ne 8
+.sp 1 \}
+.el \{\
+.ie \\n(;e .SK
+.el \{\
+\&\c
+.bp
+'br \} \}
+.ce 1
+.ul
+\\*(Rp
+.if \w\\*(Rp \{
+.am >C
+.)T 1 0 "" "\\*(Rp" \\nP
+\\..
+'br \}
+.nf
+.>r
+.br
+.rm >r
+.)R
+.if (0\\$2=0):(0\\$2=2) .SK
+'br \}
+..
+.de )q
+.br
+.LC 0
+.nr ;e 1
+.if \\n(:F .FE
+.if \\n(:y .DE
+.if \\n(!N=1 .NE
+.)N
+.nr ;x 0
+.if \\n(;R .RP 0 1
+\&\c
+.if (\\n(;C>0)&(\\n(:z>0) 'bp
+.)w
+\&
+'nr :0 \\n(.pu-\\n(nlu-\\n(:ou
+'if \\n(:s 'if (\\n(:0<=0):((\\n(;C=2)&(\\n(!F=1)) 'nr ;x 1
+'if \\n(:q 'nr ;x 1
+'if \\n(;x \&\c
+'if \\n(;x 'bp
+'if \\n(;x \&
+.wh -.5p )k
+.nr ;e 0
+..
+.de )k
+.po 0
+.lt 7.5i
+.ps 10
+.vs 10p
+.ft 1
+.tl '--''--'
+.ft
+.vs
+.po
+.ps
+.lt
+..
+.nr :r .6i
+.nr :m .8i
+'nr :i 0
+'nr :j 0
+'nr :k 0
+'nr :l 0
+.nr :n 0
+.nr :p 0 1
+.nr :o 0
+.nr :z 0 1
+.nr :y 0
+.nr :x 0
+.af ;w a
+.nr :w 0
+.nr :F 0
+.nr :R 0 1
+.ds ]r \\n(:R
+.ds ]y \\n(:p
+'wh 0 )h
+.nr :o \n(:mu
+'wh -\n(:mu )f
+'ch )f 15i
+'wh -\n(:mu )n
+'ch )f -\n(:mu
+'wh -\n(:ru )b
+.nr :M \n(:mu
+.ds ` \\k:\h-\\n(.wu*8u/10u\h\\n(.fu/2u*2u+1u-\\n(.fu*.2m\(ga\h|\\n:u
+.ds ' \\k:\h-\\n(.wu*8u/10u\h\\n(.fu/2u*2u+1u-\\n(.fu*.2m+.07m\(aa\h|\\n:u
+.ds ^ \\k:\h-\\n(.wu*8u/10u\h\\n(.fu/2u*2u+1u-\\n(.fu*.15m-.07m\
+\h\\n(.fu-1u/2u*.02m^\h|\\n:u
+.ds ~ \\k:\h-\\n(.wu*8u/10u\h\\n(.fu/2u*2u+1u-\\n(.fu*.2m-.07m\
+\h\\n(.fu-1u/2u*.05m~\h|\\n:u
+.ds , \\k:\h-\\n(.wu*85u/100u\v.07m,\v-.07m\h|\\n:u
+.ds : \\k:\h-\\n(.wu*85u/100u\h\\n(.fu/2u*2u+1u-\\n(.fu*3u*.06m\
+\h3u-\\n(.fu/2u*.05m-.1m\
+\v-.6m\z.\h\\n(.fu-1u/2u*.05m+.2m.\v.6m\h|\\n:u
+.ds ; \\k:\h-\\n(.wu*75u/100u\h\\n(.fu/2u*2u+1u-\\n(.fu*3u*.09m\
+\h3u-\\n(.fu/2u*.06m-.15m\h\\n(.fu-1u/2u*.04m\
+\v-.85m\z.\h.3m.\v.85m\h|\\n:u
+.if \*(]ZMM DEFINED \{\
+.tm ERROR: MM package read twice
+.ab  \}
+.ds ]Z MM DEFINED
+.if !\w'\gE' .nr E 1
+.if !\nL .nr L 11i
+.pl \nLu
+.if !\w'\gO' .nr O .963i
+.po \nOu
+.if \nP .nr P -1
+.nr P \nP 1
+.if !\nS .nr S 10
+.if !\nW .nr W 6i
+.if \n(mo-0 .ds DT January
+.if \n(mo-1 .ds DT February
+.if \n(mo-2 .ds DT March
+.if \n(mo-3 .ds DT April
+.if \n(mo-4 .ds DT May
+.if \n(mo-5 .ds DT June
+.if \n(mo-6 .ds DT July
+.if \n(mo-7 .ds DT August
+.if \n(mo-8 .ds DT September
+.if \n(mo-9 .ds DT October
+.if \n(mo-10 .ds DT November
+.if \n(mo-11 .ds DT December
+.nr _Y 1900+\n(yr
+.as DT " \n(dy, \n(_Y
+.S D D
+'ev 0
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+'ev 1
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+'ev 2
+.)R
+.ll \nWu
+.lt \nWu
+'ev
+.PH "''- \\\\nP -''
+.if \nC=3 \{.ds ]C D\ R\ A\ F\ T
+.PF "''\\\\*(DT'' \}
+.if \nC=4 \{.ds ]C D\ R\ A\ F\ T
+.PF "''\\\\*(DT''
+.ls 2
+.nr Pt 1
+.nr Pi 10 \}
+.if \nC=2 .ds ]C ''DATE FILE COPY''
+.if \nC=1 .ds ]C ''OFFICIAL FILE COPY''
+.if (\nN=3):(\nN=5) \{.nr :S 1
+.PF "''\\\\n(H1-\\\\nP''"
+.PH \}
+.if \nN=4 \{.PH
+.nr N 0 \}
+.if \nD .PH "'\\*(RE line # \\\\n(.c'- \\\\nP -''
+.if \nA=1 .AF
+'em )q
+.\" From Plan9 mmt to remove cut marks:
+.if !\*(.Taps .rm )k
+.ig
+PGFORM [linelength [pagelength [pageoffset [1]]]]
+ Set line length, page length, and/or page offset. This macro
+ can be used for special formatting, like letter heads and other.
+ It is normally the first command in a file, though it is not
+ necessary. PGFORM can be used without arguments to reset everyâ€
+ thing after a MOVE call. A line break is done unless the fourth
+ argument is given. This can be used to avoid the page number on
+ the first page while setting new width and length. (It seems as
+ if this macro sometimes doesn't work too well. Use the command
+ line arguments to change line length, page length, and page offâ€
+ set instead.)
+..
+.do de PGFORM
+. if \\n(.$ \{\
+. if !\\$1 \{\
+. nr W \\$1
+. ev 0
+. ll \\nWu
+. lt \\nWu
+. ev
+. ev 1
+. ll \\nWu
+. lt \\nWu
+. ev
+. ev 2
+. ll \\nWu
+. lt \\nWu
+. ev
+. \}
+. if !\\$2 \{\
+. nr L \\$2
+. pl \\nLu
+. \}
+. if !\\$3 \{\
+. nr O \\$3
+. po \\nOu
+. \}
+. if \\$4 .br
+. \}
+..
+.\" vim:set filetype=groff:
diff --git a/troff/troff.d/tmac.d/mpictures.7 b/troff/troff.d/tmac.d/mpictures.7
new file mode 100644
index 0000000000000..5eb5f780c11bd
--- /dev/null
+++ b/troff/troff.d/tmac.d/mpictures.7
@@ -0,0 +1,188 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+.\"
+.\" Derived from Plan 9 v4 /opt/unix/plan9v4/sys/man/6/mpictures
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)mpictures.7 1.6 (gritter) 2/2/07
+.TH MPICTURES 7 "2/2/07" "Heirloom Documentation Tools" "Macro Packages"
+.SH NAME
+mpictures \- picture inclusion macros
+.SH SYNOPSIS
+.B troff \-mpictures
+[
+.I options
+]
+.I file ...
+.SH DESCRIPTION
+.I Mpictures
+macros insert PostScript pictures into
+.IR troff (1)
+documents.
+The macros are:
+.TP
+.BI .BP " source height width position offset flags label
+Define a frame and place a picture in it.
+Null arguments, represented by "",
+are interpreted as defaults.
+The arguments are:
+.RS
+.TP
+.I source
+Name of a PostScript picture file, optionally
+suffixed with
+.RI ( n )
+to select page number
+.I n
+from the file (first page by default).
+.PD 0
+.TP
+.I height
+Vertical size of the frame, default
+.BR 3.0i .
+This argument is interpreted as a value in inches
+unless it ends with a `u' scale indicator.
+.TP
+.I width
+Horizontal size of the frame, current line length by default.
+This argument is interpreted as a value in inches
+unless it ends with a `u' scale indicator.
+.TP
+.I position
+.B l
+(default),
+.BR c ,
+or
+.B r
+to left-justify, center, or right-justify the frame.
+.TP
+.I offset
+Move the frame horizontally from the original
+.I position
+by this amount, default
+.BR 0i .
+.TP
+.I flags
+One or more of:
+.RS
+.PD 0v
+.TP
+.BI a d
+Rotate the picture clockwise
+.I d
+degrees, default
+.IR d =90.
+.TP
+.B o
+Outline the picture with a box.
+.TP
+.B s
+Freely scale both picture dimensions.
+.TP
+.B w
+White out the area to be occupied by the picture.
+.TP
+.BR l , r , t ,\fPb
+Attach the picture to the left right, top, or bottom of the frame.
+.RE
+.TP
+.I label
+Place
+.I label
+at distance
+.B 1.5v
+below the frame.
+.PD
+.PP
+If there's room,
+.B .BP
+fills text around the frame.
+Everything destined for either side of the frame
+goes into a diversion to be retrieved when the accumulated
+text sweeps past the trap set by
+.B .BP
+or when the diversion is explicitly closed
+by
+.BR .EP .
+.RE
+.TP
+.BI .PI " source height" , width , "yoffset\fB,\fPxoffset flags.
+This low-level macro, used by
+.BR .BP ,
+can help do more complex things.
+The two arguments not already described are:
+.RS
+.TP
+.I xoffset
+Offset the frame from the left margin by this amount, default
+.BR 0i .
+This argument is interpreted as a value in inches
+unless it ends with a `u' scale indicator.
+.PD 0
+.TP
+.I yoffset
+Offset the frame from the current baseline,
+measuring positive downward, default
+.BR 0i .
+This argument is interpreted as a value in inches
+unless it ends with a `u' scale indicator.
+.PD
+.RE
+.TP
+.B .EP
+End a picture started by
+.BR .BP ;
+.B .EP
+is usually called implicitly by a trap
+at frame bottom.
+.PP
+If a PostScript file lacks page-delimiting comments,
+the entire file is included.
+If no
+.B %%BoundingBox
+comment is present, the picture is
+assumed to fill an 8.5\(mu11-inch page.
+Nothing prevents the picture from being placed off the page.
+.PP
+The `.psbb'
+.I troff
+request can be used to read the
+.B %%BoundingBox
+comment for further processing, as in
+.sp
+.RS
+.nf
+\&.psbb picture.eps
+\&.nr scale 4
+\&.nr y (\en[ury]p\-\en[lly]p)/\en[scale]
+\&.nr x (\en[urx]p\-\en[llx]p)/\en[scale]
+\&.PI picture.eps "\enyu,\enxu"
+\&.sp \enyu
+\&picture description
+.fi
+.RE
+.SH SEE ALSO
+.IR troff (1)
+.SH DIAGNOSTICS
+A picture file that can't be read by the PostScript
+postprocessor is replaced by white space.
+.SH NOTES
+A picture and associated text silently disappear if
+a diversion trap set by
+.B .BP
+isn't reached.
+Call
+.B .EP
+at the end of the document to retrieve it.
+.PP
+Macros in other packages may break the adjustments
+made to the line length and indent when text is being placed
+around a picture.
+.PP
+A missing or improper
+.B %%BoundingBox
+comment may cause the frame to be filled incorrectly.
diff --git a/troff/troff.d/tmac.d/ms.acc b/troff/troff.d/tmac.d/ms.acc
new file mode 100644
index 0000000000000..dfe5f3dd0b830
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.acc
@@ -0,0 +1,116 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.acc 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+. \" AM - accent mark definitions
+.bd S B 3
+. \" fudge factors for nroff and troff
+.if n \{\
+. ds #H 0
+. ds #V 1m
+. ds #F .3m
+. ds #[ \f1
+. ds #] \fP
+.\}
+.if t \{\
+. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
+. ds #V .6m
+. ds #F 0
+. ds #[ \&
+. ds #] \&
+.\}
+. \" simple accents for nroff and troff
+.if n \{\
+. ds ' \h'-1'\'
+. ds ` \h'-1'\`
+. ds ^ \h'-1'^
+. ds , \h'-1',
+. ds ~ \h'-1'~
+. ds ? ?
+. ds ! !
+. ds _ \h'-1'\u-\d
+. ds / \h'-1'\(sl
+. ds q o\h'-1',
+. ds O, O\h'-1',
+.\}
+.if t \{\
+. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
+. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
+. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
+. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
+. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
+. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
+. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
+. ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
+. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
+. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
+. ds O, O\h'-\w'O'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'O'u*8/10'
+.\}
+. \" troff and (daisy-wheel) nroff accents
+.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
+.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
+.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
+.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
+.ds 3 \*(#[\v'.2m'\s-1\&3\s0\v'-.2m'\*(#]
+.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
+.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
+.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
+.ds th \*(#[\v'.2m'\s+1I\s-1\v'-.2m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
+.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
+.ds ae a\h'-(\w'a'u*4/10)'e
+.ds Ae A\h'-(\w'A'u*4/10)'E
+.ds oe o\h'-(\w'o'u*4/10)'e
+.ds Oe O\h'-(\w'O'u*4/10)'E
+. \" corrections for vroff
+.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
+.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
+. \" for low resolution devices (crt and lpr)
+.if \n(.H>23 .if \n(.V>19 \
+\{\
+. ds : \h'-1'"
+. ds 8 B
+. ds v \h'-1'\o'\(aa\(ga'
+. ds _ \h'-1'^
+. ds . \h'-1'.
+. ds 3 3
+. ds o a
+. ds d- d\h'-1'\(ga
+. ds D- D\h'-1'\(hy
+. ds th \o'bp'
+. ds Th \o'LP'
+. ds ae ae
+. ds Ae AE
+. ds oe oe
+. ds Oe OE
+.\}
+.rm #[ #] #H #V #F C
diff --git a/troff/troff.d/tmac.d/ms.cov b/troff/troff.d/tmac.d/ms.cov
new file mode 100644
index 0000000000000..4df76ea2c066b
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.cov
@@ -0,0 +1,298 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.cov 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+. \" TL - title and initialization
+.de TL
+.if \\n(TM .nr ST 1
+.if \\n(TM .pn 0
+.br
+.nr TV 1
+.nr YE 1
+.nr SJ \\n(.j
+.di WT
+.na
+.fi
+.ll 5.0i
+.ft 3
+.ps \\n(PS+2
+.hy 0
+..
+. \" TX - actually print title
+.de TX
+.rs
+.sp .5i
+.ce 999
+.if n .ul 999
+.ps \\n(PS+2
+.vs \\n(.s+2p
+.ft 3
+.ne 4
+.hy 0
+.WT
+.hy 14
+.ce 0
+.ul 0
+..
+. \" AU - author(s)
+.de AU
+.nr AV 1
+.ad \\n(SJ
+.br
+.di
+.br
+.nf
+.nr NA +1
+.di A\\n(NA
+.ll \\n(LLu
+.if t .ft 2
+.if n .ft 1
+.ps \\n(PS
+..
+. \" AI - author's institution
+.de AI
+.br
+.ft 1
+.di
+.di I\\n(NA
+.nf
+..
+. \" AX - actually print authors and institutions
+.de AX
+.ft 1
+.rs
+.ce 999
+.if n .ul 0
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.if n .sp 2
+.if t .sp
+.A1
+.if n .sp
+.if t .sp .5
+.ns
+.I1
+.if \\n(NA-1 .if n .sp 2
+.if \\n(NA-1 .if t .sp
+.A2
+.if \\n(NA-1 .if n .sp
+.if \\n(NA-1 .if t .sp .5
+.ns
+.I2
+.if \\n(NA-2 .if t .sp
+.if \\n(NA-2 .if n .sp 2
+.A3
+.if \\n(NA-2 .if t .sp .5
+.if \\n(NA-2 .if n .sp
+.ns
+.I3
+.if \\n(NA-3 .if t .sp
+.if \\n(NA-3 .if n .sp 2
+.A4
+.if \\n(NA-3 .if t .sp .5
+.if \\n(NA-3 .if n .sp
+.ns
+.I4
+.if \\n(NA-4 .if t .sp
+.if \\n(NA-4 .if n .sp 2
+.A5
+.if \\n(NA-4 .if n .sp
+.if \\n(NA-4 .if t .sp .5
+.ns
+.I5
+.if \\n(NA-5 .if t .sp
+.if \\n(NA-5 .if n .sp 2
+.A6
+.if \\n(NA-5 .if n .sp
+.if \\n(NA-5 .if t .sp .5
+.ns
+.I6
+.if \\n(NA-6 .if t .sp
+.if \\n(NA-6 .if n .sp 2
+.A7
+.if \\n(NA-6 .if n .sp
+.if \\n(NA-6 .if t .sp .5
+.ns
+.I7
+.if \\n(NA-7 .if t .sp
+.if \\n(NA-7 .if n .sp 2
+.A8
+.if \\n(NA-7 .if n .sp
+.if \\n(NA-7 .if t .sp .5
+.ns
+.I8
+.if \\n(NA-8 .if t .sp
+.if \\n(NA-8 .if n .sp 2
+.A9
+.if \\n(NA-8 .if n .sp
+.if \\n(NA-8 .if t .sp .5
+.ns
+.I9
+..
+. \" AB - abstract begin
+.de AB
+.br
+.di
+.ul 0
+.ce 0
+.nr 1T 1
+.nr IK 1
+.nr KI 1
+.di WB
+.rs
+.nr AJ 1
+.ce 1
+.ft 2
+.if n .ul
+.ll \\n(LLu
+.if !\\n(.$ ABSTRACT
+.if \\n(.$ .if !\\$1no \\$1
+.if !\\n(.$ .sp
+.if \\n(.$ .if !\\$1no .sp
+.hy 14
+.ul 0
+.ce 0
+.fi
+.ft 1
+.nr OJ \\n(.i
+.in +\\n(.lu/12u
+.ll -\\n(.lu/12u
+.br
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.ti +\\n(PIu
+.if \\n(TM .ls 1
+..
+. \" AE - abstract end
+.de AE
+.br
+.di
+.ll \\n(LLu
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.nr 1T 0
+.nr IK 0
+.in \\n(OJu
+.nr AJ 0
+.di
+.ce 0
+.if \\n(ST>0 .SY
+.if \\n(ST<3 .rm SY
+.if \\n(TM .ls 2
+..
+. \" SY - cover sheet of released paper
+.de SY
+.ll \\n(LLu
+.if !\\n(LT .nr LT \\n(LLu
+.ns
+.if \\n(TV .TX
+.if \\n(AV .AX
+.rs
+.ce 0
+.nf
+.sp 3
+.pn 2
+.af PN i
+.ls 1
+.WB
+.ls
+.sp 3v
+\\*(DY
+.af PN 1
+.sp |9i
+.if \\n(FP>0 .FA
+.FG
+.fi
+..
+. \" S2 - cover and page 1 of RP
+.de S2
+.ce 0
+.br
+.SY
+.rm SY
+.bp 1
+.if \\n(TV .TX
+.if \\n(AV .AX
+.rm A1 A2 A3 A4 A5 A6 A7 A8 A9
+.rm I1 I2 I3 I4 I5 I6 I7 I8 I9
+.rs
+.ce 0
+.ft 1
+.ad \\n(SJ
+..
+. \" S1 - cover and page 1 of RP (no p.1 title)
+.de S1
+.ce 0
+.br
+.SY
+.rm SY
+.rm A1 A2 A3 A4 A5 A6 A7 A8 A9
+.rm I1 I2 I3 I4 I5 I6 I7 I8 I9
+.bp 1
+.rs
+.ce 0
+.ft 1
+.ad \\n(SJ
+.nr KG 0
+..
+. \" S0 - conserve paper format (without RP)
+.de S0
+.ce 0
+.br
+.ll \\n(LLu
+.if \\n(TV+\\n(AV>0 .ns
+.if \\n(TV .TX
+.if \\n(AV .AX
+.rm A1 A2 A3 A4 A5 A6 A7 A8 A9
+.rm I1 I2 I3 I4 I5 I6 I7 I8 I9
+.if \\n(TV+\\n(AV>0 .rs
+.ce 0
+.if \\n(TV>0 .sp 2
+.ls 1
+.if \\n(FP>0 \{\
+. FJ
+. nf
+. FG
+. fi
+. FK
+. nr FP 0
+.\}
+.nf
+.WB
+.ls
+.fi
+.ad \\n(SJ
+..
diff --git a/troff/troff.d/tmac.d/ms.eqn b/troff/troff.d/tmac.d/ms.eqn
new file mode 100644
index 0000000000000..203186b92617b
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.eqn
@@ -0,0 +1,91 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.eqn 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.bd S B 3
+. \" EQ - equation, breakout and display
+.de EQ
+.nr UR \\n(.u
+.rm EE
+.nr LE 1 \" default centered
+.ds EL \f1\\$1\fP
+.if \\$1C .ds EL \f1\\$2\fP
+.if \\$1L \{\
+. ds EL \f1\\$2\fP
+. nr LE 0
+.\}
+.if \\$1I \{\
+. ds EL \f1\\$2\fP
+. nr LE 0
+. ds EE \\h'|10n'
+. if !\\$3 .ds EE \\h'\\$3'
+.\}
+.if \\n(YE>0 .nf
+.di EZ
+..
+. \" EN - end of a displayed equation
+.de EN
+.if !\\*(10 .br
+.di
+.rm EZ
+.nr ZN \\n(dn
+.if \\n(ZN>0 .if \\n(YE=0 .LP
+.if \\n(ZN=0 .if !\\*(EL .nr ZN 1
+.if \\n(.z .if \\n(ZN>0 .if !\\n(nl=\\n(PE .sp \\n(DDu
+.if !\\n(.z .if \\n(ZN>0 .if !\\n(.d=\\n(PE .sp \\n(DDu
+.pc
+.if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
+.if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n'
+.if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup
+.lt \\n(.lu
+.if \\n(EP=0 .if \\n(ZN>0 \{\
+. if \\n(LE>0 .tl \\*(10\\*(EL
+. if \\n(LE=0 .if \\n(BD=0 .tl \\*(EE\\*(10\\*(EL
+. if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\\*(10 .nr BD \\w\\*(10
+. if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL
+.\}
+.if \\n(EP>0 .if \\n(ZN>0 \{\
+. if \\n(LE>0 .tl \\*(EL\\*(10
+. if \\n(LE=0 .if \\n(BD=0 .tl \\*(EL\\*(EE\\*(10
+. if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\\*(10 .nr BD \\w\\*(10
+. if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10
+.\}
+.lt \\n(LLu
+.pc %
+.if \\n(YE>0 .if \\n(UR>0 .fi
+.rm 10 11 12 13 14 15 16 17 18 19 20 21 22 23 EL
+.rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
+.if \\n(ZN>0 .if t .sp \\n(DDu
+.if \\n(.z .nr PE \\n(nl
+.if !\\n(.z .nr PE \\n(.d
+..
diff --git a/troff/troff.d/tmac.d/ms.ref b/troff/troff.d/tmac.d/ms.ref
new file mode 100644
index 0000000000000..1e1ed038639ad
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.ref
@@ -0,0 +1,192 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.ref 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+. \" refer macros for citations
+.de []
+.][ \\$1
+..
+.de ][
+.if \\$1>4 .tm %M undefined (Bell Labs)
+.[\\$1
+..
+.ds [o \(lq
+.ds [c \(rq
+.ds <. .
+.ds <, ,
+. \" [0 - other type of citation
+.de [0
+.FS
+.nr [: 0
+.if !\\*([F .FP \\*([F
+.if !\\*([H \\*([H
+.if !\\*([Q \{\
+.nr [: 1
+\\*([Q\c
+.\}
+.if !\\*([A \{\
+.nr [: 1
+\\*([A\c
+.\}
+.if !\\*([T \{\
+.if \\n([:>0 ,
+.nr [: 1
+\f2\\*([T\f1\c
+.\}
+.if !\\*([S , \\*([S\c
+.if !\\*([V , \\*([V\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+.if \\n([:>0 \&.
+.if !\\*([O \\*([O
+.FE
+..
+. \" [1 - journal article
+.de [1
+.FS
+.if !\\*([F .FP \\*([F
+.if !\\*([H \\*([H
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+\f2\\*([J\f1\c
+.if !\\*([V , vol. \\*([V\c
+.if !\\*([N , no. \\*([N\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+.FE
+..
+. \" [2 - book
+.de [2
+.FS
+.if !\\*([F .FP \\*([F
+.if !\\*([H \\*([H
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \f2\\*([T,\f1
+.if !\\*([S \\*([S,
+.if !\\*([V \\*([V,
+.if !\\*([P \{\
+.ie \\n([P>0 pp. \\*([P,
+.el p. \\*([P,
+.\}
+\\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+.FE
+..
+. \" [3 - article in book
+.de [3
+.FS
+.if !\\*([F .FP \\*([F
+.if !\\*([H \\*([H
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+in \f2\\*([B\f1\c
+.if !\\*([E , ed. by \\*([E\c
+.if !\\*([S , \\*([S\c
+.if !\\*([V , vol. \\*([V\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+.FE
+..
+. \" [4 - report
+.de [4
+.FS
+.if !\\*([F .FP \\*([F
+.if !\\*([H \\*([H
+.if !\\*([Q \\*([Q,
+.if !\\*([A \\*([A,
+.if !\\*([T \\*([o\\*([T,\\*([c
+.if !\\*([R \\*([R\c
+.if !\\*([G \& (\\*([G)\c
+.if !\\*([P \{\
+.ie \\n([P>0 , pp. \\*([P\c
+.el , p. \\*([P\c
+.\}
+.if !\\*([I , \\*([I\c
+.if !\\*([C , \\*([C\c
+.if !\\*([D , \\*([D\c
+\&.
+.if !\\*([O \\*([O
+.FE
+..
+.de ]<
+.[<
+..
+.de [<
+.SH
+References
+.LP
+.de FP
+.IP \\\\$1.
+\\..
+.rm FS FE
+..
+.de [>
+.]>
+..
+.de ]>
+.sp
+..
+.de ]-
+.[-
+..
+.de [-
+.rm [H [Q [A [T [S [J [B [E
+.rm [V [N [P [I [C [D [O [R [G
+..
+.de ]]
+.\" circumvent EOF bug in troff
+..
diff --git a/troff/troff.d/tmac.d/ms.tbl b/troff/troff.d/tmac.d/ms.tbl
new file mode 100644
index 0000000000000..979452ffc6521
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.tbl
@@ -0,0 +1,116 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.tbl 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+. \" TS - table start
+.de TS
+.br
+.if !\\n(1T .RT
+.ul 0
+.ti \\n(.iu
+.if t .sp .5
+.if n .sp
+.if \\$1H .TQ
+.nr IX 1
+..
+.de TQ
+.di TT
+.nr IT 1
+..
+. \" TH - end table header (begun with .TS H)
+.de TH
+.if \\n(.d>.5v .nr T. 0
+.if \\n(.d>.5v .T# 0
+.di
+.nr TQ \\n(.i
+.nr HT 1
+.in 0
+.mk #a
+.mk #b
+.mk #c
+.mk #d
+.mk #e
+.mk #f
+.TT
+.in \\n(TQu
+.mk #T
+..
+. \" TE - table end
+.de TE
+.nr IX 0
+.if \\n(IT>0 .if \\n(HT=0 \{\
+. di
+. nr UR \\n(.u
+. nf
+. TT
+. if \\n(UR>0 .fi
+.\}
+.nr IT 0
+.nr HT 0
+.sp \\n(DDu
+.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ m+ n+
+.rr a- b- c- d- e- f- g- h- i- j- k- l- m-
+.rr a| b| c| d| e| f| g| h| i| j| k| l| m|
+.rr 32 33 34 35 36 37 38 40 79 80 81 82
+..
+. \" B1 - begin boxed text
+.de B1
+.br
+.di BB
+.nr BC 0
+.if \\$1C .nr BC 1
+.nr BE 1
+..
+. \" B2 - end boxed text
+.de B2
+.br
+.nr BI 1n
+.if \\n(.$>0 .nr BI \\$1n
+.di
+.nr BE 0
+.nr BW \\n(dl
+.nr BH \\n(dn
+.ne \\n(BHu+\\n(.Vu
+.nr BQ \\n(.u
+.nf
+.if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
+.in +\\n(BIu
+.BB
+.in -\\n(BIu
+.nr BW +2*\\n(BI
+.sp -1
+\l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
+.if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
+.if \\n(BQ .fi
+.br
+..
diff --git a/troff/troff.d/tmac.d/ms.ths b/troff/troff.d/tmac.d/ms.ths
new file mode 100644
index 0000000000000..4a9a35a7a45d2
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.ths
@@ -0,0 +1,53 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.ths 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+. \" TM - U.C. Berkeley thesis mode
+.ls 2
+.if v .nr PO 1.5i
+.rm CH
+.ds RH \\n(PN
+.rm CF
+.P1
+.nr TM 1
+. \" CT - chapter title
+.de CT
+.rn RH R@
+.if \\n(1T .bp
+.RT
+.if \\n(1T .sp
+.if !\\n(1T .BG
+.RT
+.ft 3
+.if n .ul 100
+.ps \\n(PS+2
+.ce 100
+.nr CT 1
+.rn R@ RH
+..
diff --git a/troff/troff.d/tmac.d/ms.toc b/troff/troff.d/tmac.d/ms.toc
new file mode 100644
index 0000000000000..73b28d60340e7
--- /dev/null
+++ b/troff/troff.d/tmac.d/ms.toc
@@ -0,0 +1,106 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)ms.toc 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+. \" XS - begin index entry
+.de XS
+.if !\\n(1T .BG
+.ds XL \\n(PN
+.if \\n(.$ .ds XL \\$1
+.nr SJ \\n(.j
+.nr PF \\n(.f
+.nr PX \\n(.s
+.nr SL \\n(.l
+.ls 1
+.br
+.da XT
+.if \\n(.$-1 \{\
+. nr X? 1
+. in \\$2n
+.\}
+.ft 1
+.ps \\n(PS
+.ll \\n(LLu-8n
+.na
+.br
+..
+. \" XA - add index entry
+.de XA
+.if !\\*(XLno \\a\\t\\*(XL
+.if \\n(.$ .ds XL \\$1
+.br
+.if \\n(.$-1 \{\
+. nr X? 1
+. in \\$2n
+.\}
+..
+. \" XE - end index entry
+.de XE
+.if !\\*(XLno \\a\\t\\*(XL
+.br
+.da
+.ls
+.ad \\n(SJ
+.ft \\n(PF
+.ps \\n(PX
+.ll \\n(SLu
+.if \\n(X? \{\
+. nr X? 0
+. in 0
+.\}
+..
+. \" PX - print index (table of contents)
+.de PX
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.ll \\n(LLu
+.lt \\n(LTu
+.ta \\n(LLu-5n \\n(LLuR
+.in 0
+.nf
+.rs
+.if !\\$1no \{\
+. sp .5i
+. tl ''\f3\s+2Table of Contents\s-2\f1''
+. sp .5i
+.\}
+.XT
+.rm XT
+.RT
+..
+. \" TC - table of contents at end of paper
+.de TC
+.af PN i
+.bp 1
+.PX \\$1
+..
diff --git a/troff/troff.d/tmac.d/naa b/troff/troff.d/tmac.d/naa
new file mode 100644
index 0000000000000..aac4c0e2295de
--- /dev/null
+++ b/troff/troff.d/tmac.d/naa
@@ -0,0 +1,115 @@
+.\"
+.\" tmac.naa - nroff macros for Unix 6th Edition manual pages
+.\"
+.\" Sccsid @(#)naa 1.4 (gritter) 2/18/07
+.\"
+.\" from Unix 6th Edition /usr/doc/man/man0/naa
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, February 2007
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.do xflag 1
+.nr in 5
+.de i0
+.in \n(in
+..
+.de lp
+.i0
+.ta \\$2
+.in \\$1
+.ti -\\$2
+..
+.de s1
+.sp 1
+.ne 4
+..
+.de s2
+.sp 1
+..
+.de s3
+.sp 1
+..
+.de fo
+'sp 2
+'tl ''- % -''
+'bp
+..
+.de th
+.de x1
+'sp 2
+'tl '\\$1(\\$2)'\\$3'\\$1(\\$2)'
+'sp 2
+\\..
+.wh -5 fo
+.wh 0 x1
+.in \n(in
+..
+.de sh
+.s1
+.ne 5
+.ti 0
+\\$1
+.br
+..
+.de bd
+.tr __
+.ul
+\\$1
+..
+.de bn
+.tr __
+.ul
+\\$1\\t
+..
+.de it
+.tr __
+.ul
+.li
+\\$1
+..
+.de dt
+.ta 8 16 24 32 40 48 56 64
+..
+.ds b B
+.ds G G
+.ds a '
+.ds - \-
+.ds _ _
+.ds v |
+.ds p J
+.ds r
+.ds g `
+.ds X X
+.ds u u
+.ds > ->
+.ds |
diff --git a/troff/troff.d/tmac.d/null.me b/troff/troff.d/tmac.d/null.me
new file mode 100644
index 0000000000000..90d797d12b501
--- /dev/null
+++ b/troff/troff.d/tmac.d/null.me
@@ -0,0 +1,36 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)null.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" @(#)null.me 2.1 8/18/80
+.cc .
diff --git a/troff/troff.d/tmac.d/padj b/troff/troff.d/tmac.d/padj
new file mode 100644
index 0000000000000..7ff0ef84dd27d
--- /dev/null
+++ b/troff/troff.d/tmac.d/padj
@@ -0,0 +1,2 @@
+.\" Sccsid @(#)padj 1.1 (gritter) 11/12/06
+.do padj
diff --git a/troff/troff.d/tmac.d/pictures b/troff/troff.d/tmac.d/pictures
new file mode 100644
index 0000000000000..b783ba3cfdda7
--- /dev/null
+++ b/troff/troff.d/tmac.d/pictures
@@ -0,0 +1,169 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, August 2005.
+.\"
+.\" Derived from Plan 9 v4 /sys/src/cmd/postscript/mpictures/pictures.sr
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)pictures 1.3 (gritter) 1/2/06
+.de PI \" Picture Include
+. \" $1=file(page) $2=height,width,yoff,xoff $3=flags
+. \" Height, width, xoff, and yoff are for the frame, flags is for the
+. \" picture. Default dimensions are inches.
+\\X'PI:\\n(.o:\\n(.i:\\n(.l:\\n(.t:\\$1:\\$2:\\$3:'\\c
+..
+.nr FT 0
+.de BP \" Begin a Picture
+. \"
+. \" $1=file(page) $2=height $3=width $4=position $5=offset $6=flags $7=label
+. \"
+. \" Height, width, position, and offset are for the frame, flags is for
+. \" the picture. The postion flag should be l, c, r, or "". Omitting the
+. \" position argument is also allowed for compatibility with the original
+. \" version of the macro. In that case offset is taken relative to your
+. \" left margin.
+.if \\n(FT>1 .EP
+. \" Need these when we switch environments.
+.nr Ov \\n(.v
+.nr Oi \\n(.i
+.nr Ol \\n(.l
+. \" Remember the arguments - sometimes as both a string and number register.
+.ie \\n(.$>=2 .nr $2 \\$2i
+.el .nr $2 0
+.ie \\n(.$>=3 .nr $3 \\$3i
+.el .nr $3 0
+.ie \\n(.$>=4 .nr $4 \\$4i
+.el .nr $4 0
+.ds $4 \\$4
+.ie \\n(.$>=5 .nr $5 \\$5i
+.el .nr $5 0
+.ds $5 \\$6
+.ds $6 \\$7
+. \" Accept a few unadvertised position flags.
+.if '\\*($4'L' .ds $4 l
+.if '\\*($4'C' .ds $4 c
+.if '\\*($4'R' .ds $4 r
+. \" A null with more than three arguments means l.
+.if \\n(.$>3 .if '\\*($4'' .ds $4 l
+. \" Default frame dimensions if missing, zero, or null.
+.if !\\n($2>0 .nr $2 3.0i
+.if !\\n($3>0 .nr $3 \\n(.lu-\\n(.iu-\\n($4u
+.if !\\n($3>0 .nr $3 \\n($2u
+. \" Figure out the offset that will be used the rest of the way.
+.if '\\*($4'l' .nr $4 \\n($5u
+.if '\\*($4'c' .nr $4 (\\n(.lu-\\n(.iu-\\n($3u)/2u+\\n($5u
+.if '\\*($4'r' .nr $4 \\n(.lu-\\n(.iu-\\n($3u+\\n($5u
+. \" If we haven't recognized the position flag assume it wasn't given and
+. \" treat argument four as an offset from the left.
+.if !'\\*($4'l' .if !'\\*($4'c' .if !'\\*($4'r' .ds $5 \\$5
+.if !'\\*($4'l' .if !'\\*($4'c' .if !'\\*($4'r' .ds $6 \\$6
+. \" Set increments for line length and indent.
+.nr Ii \\n($3u+\\n($4u+.1i
+.nr Il \\n(.lu-\\n(.iu-\\n($4u+.1i
+. \" Set the frame type to one of:
+. \" 0 - frame is as wide as a line of text - skip over it.
+. \" 1 - fits in left or right margins
+. \" 2 - fill with text on the right
+. \" 3 - on the left
+. \" 4 - or on both sides of the frame
+. \" 5 - only set in EP if FT was 4 and now filling on the right.
+. \" Assume the frame is as wide as a line of text, then check dimensions
+. \" to see what's really true. The order of these tests is important!
+.nr FT 0
+.if \\n($4u>1.0i .nr FT 3
+.if \\n($4u+\\n(.iu>=\\n(.lu .nr FT 1
+.if \\n($3u+\\n($4u+\\n(.iu+1.0i<\\n(.lu .nr FT 2
+.if \\n($3u+\\n($4u<=0 .nr FT 1
+.if \\n(FT=2 .if \\n($4u>1.0i .nr FT 4
+. \" Ask for some vertical space - labeled pictures need a little extra,
+. \" margin pictures a little less.
+.if \\n(FT=1 .if '\\*($6'' .ne \\n($2u
+.if \\n(FT=1 .if !'\\*($6'' .ne \\n($2u+2v
+.if !\\n(FT=1 .if '\\*($6'' .ne \\n($2u+3v
+.if !\\n(FT=1 .if !'\\*($6'' .ne \\n($2u+5v
+. \" Save our place, draw the picture, label it, and return. Need precise
+. \" control of when \X'...' is put out - thus the new environment.
+.mk Oh
+.ev 1
+.in \\n(Oiu
+.ll \\n(Olu
+.vs \\n(Ovu
+.if \\n(FT=1 .sp -1v
+.if \\n(FT=1 .PI \\$1 \\n($2u,\\n($3u,\\n(.vu,\\n($4u t\\*($5
+.if !\\n(FT=1 .PI \\$1 \\n($2u,\\n($3u,\\n(.vu,\\n($4u \\*($5
+.in
+.ll
+.vs
+.ev
+.lt \\n($3u
+.tl \(ts\(ts\\h'\\n($4u+\\n(.iu'\\v'\\n($2u+1.5v'\\*($6\\v'-\\n($2u-1.5v'\\h'-\\n($4u-\\n(.iu'\(ts\(ts
+.lt
+'sp |\\n(Ohu
+. \" Figure out what to do with the text that follows.
+.if !'\\*($6'' .nr $2 +2v
+.if \\n(FT=0 .sp \\n($2u+2v
+.if \\n(FT=1 .nr FT 0
+.if \\n(FT=2 'in +\\n(Iiu
+.if \\n(FT>2 .ll -\\n(Ilu
+.if \\n(FT>1 .di BB
+.if \\n(FT>1 .dt \\n($2u+2v+1u EP
+. \" Clean things up.
+.rr $2
+.rr $3
+.rr $4
+.rm $4
+.rr $5
+.rm $5
+.rm $6
+.rr Oh
+.rr Oi
+.rr Ol
+.rr Ov
+.if \\n(FT=0 .EP
+..
+.de EP \" End the Picture - Normally called from a trap, although it can be used
+. \" on its own to mark the end of a picture.
+.nr Ot 0
+.if \\n(.tu<\\n(.pu .nr Ot \\n(.tu
+.if \\n(Ot>0 .if \\n(FT=4 .nr FT 3
+.if \\n(FT<2 .nr Ot 0
+.if \\n(Ot>0 .br
+.if \\n(FT=5 .nr Ot 0
+.if \\n(FT>1 \{\
+. ev 1
+. eo
+. br
+. di
+. nf
+. in 0
+. BB
+. in
+. fi
+. ec
+. ev
+. rm BB\}
+.if \\n(FT=5 \{\
+. nr FT 2
+' sp |\\n(Nhu+1v\}
+.if \\n(FT=4 \{\
+. mk Nh
+. nr Nh -1v
+. nr FT 5
+' sp -\\n(dnu+1v
+' in +\\n(Iiu
+. ll +\\n(Ilu
+. di BB
+. dt \\n(dnu-2v+1u EP\}
+.if \\n(FT=2 'in -\\n(Iiu
+.if \\n(FT=3 .ll +\\n(Ilu
+.if \\n(FT<4 .nr FT 0
+.if \\n(Ot>0 .sp \\n(Otu
+.rr Ot
+.if \\n(FT=0 \{\
+. rr Nh
+. rr Ii
+. rr Il\}
+..
diff --git a/troff/troff.d/tmac.d/pm.in b/troff/troff.d/tmac.d/pm.in
new file mode 100644
index 0000000000000..e44a9cd7ccd43
--- /dev/null
+++ b/troff/troff.d/tmac.d/pm.in
@@ -0,0 +1,975 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+.\"
+.\" Derived from Plan 9 source code published at the 9fans list by Rob Pike,
+.\" <http://lists.cse.psu.edu/archives/9fans/2002-February/015773.html>
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\"
+.\" Sccsid @(#)pm.in 1.5 (gritter) 10/30/05
+.\"
+.\" 10/22/92 activate next line before installing
+.pi @LIBDIR@/pm
+.
+. \" IZ - initialization
+.de IZ
+.fp 1 R \" force a font out into prefix
+.nr PS 10 \" point size
+.nr VS 12 \" line spacing
+.ps \\n(PS
+.ie \\n(VS>=41 .vs \\n(VSu
+.el .vs \\n(VSp
+.nr LL 6i \" line length
+.ll \\n(LLu
+.nr LT \\n(.l \" title length
+.lt \\n(LTu
+.if !\\n(HM .nr HM 1i \" top of page
+.if !\\n(FM .nr FM 1i \" footer margin
+.if !\\n(FO .nr FO \\n(.p-\\n(FM \" bottom of page
+. \" to set text ht to N, set FO to N + \n(HM. default is 10i
+.pl 32767u \" safety first: big pages for pm
+.if !\\n(PO .nr PO \\n(.ou \" page offset
+.nr PI 5n \" .PP paragraph indent
+.nr QI 5n \" .QS indent
+.nr DI 5n \" .DS indent
+.nr PD 0.3v \" paragraph vertical separation
+.nr TS 0.5v \" space around tables
+.nr Kf 0.5v \" space around .KF/.KE
+.nr Ks 0.5v \" space around .KS/.KE
+.
+.nr P1 .4i \" indent for .P1/.P2
+.nr dP 1 \" delta point size for programs in .P1/.P2
+.nr dV 2p \" delta vertical for programs
+.nr dT 8 \" delta tab stop for programs
+.nr DV .5v \" space before start of program
+.nr IP 0 \" ?
+.nr IR 0 \" ?
+.nr I1 \\n(PIu
+.ev 1
+.if !\\n(FL .nr FL \\n(LLu \" footnote length
+.ll \\n(FLu
+.ps 8 \" text size & leading in footnote
+.vs 10p
+.ev
+.if \\*(CH .ds CH "\(hy \\\\n(PN \(hy
+.ds # #\\\\n(.c \\\\n(.F
+.
+.
+.ME \" initialize date strings
+.rm ME
+. \" accents: \*'e \*`e \*:u \*^e \*~n \*va \*,c
+.ds ' \h'\w'e'u*4/10'\z\(aa\h'-\w'e'u*4/10'
+.ds ` \h'\w'e'u*4/10'\z\(ga\h'-\w'e'u*4/10'
+.ds : \\v'-0.6m'\\h'(1u-(\\\\n(.fu%2u))*0.13m+0.00m'\\z.\\h'0.2m'\\z.\\h'-((1u-(\\\\n(.fu%2u))*0.13m+0.20m)'\\v'0.6m'
+.ds ^ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z^\\h'|\\\\n:u'
+.ds ~ \\\\k:\\h'-\\\\n(.fu+1u/2u*2u+\\\\n(.fu-1u*0.13m+0.06m'\\z~\\h'|\\\\n:u'
+.ds v \\\\k:\\\\h'+\\\\w'e'u/4u'\\\\v'-0.6m'\\\\s6v\\\\s0\\\\v'0.6m'\\\\h'|\\\\n:u'
+.ds , \\\\k:\\\\h'\\\\w'c'u*0.4u'\\\\z,\\\\h'|\\\\n:u'
+..
+.
+.
+. \" SP - generate paddable space
+.de SP
+.br
+.nr X 1v
+.if \\n(.$ .nr X \\$1v
+.ie '\\$2'exactly' \{\
+\v'\\nXu'\ \h'-\w'\ 'u'\c
+.sp \\$1\}
+.el .X "SP \\nX \\$2"
+..
+. \" NE - need space on this page
+.de NE
+.nr X 1v
+.if \\n(.$ .nr X \\$1v
+.X "NE \\nX \\$2"
+..
+. \" BP, FL, FC - begin page, flush figures, flush column
+.de BP
+.br
+.X CMD BP
+..
+.de FL
+.br
+.X CMD FL
+..
+.de FC
+.br
+.X CMD FC
+..
+. \" X - generate an x X ... command in the output
+.de X
+....ie '\\n(.z'' \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+....el \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+...
+.if !'\\n(.z'' .if \\n(.$=1 \\!.X "\\$1
+.if !'\\n(.z'' .if \\n(.$=2 \\!.X "\\$1 \\$2
+.if !'\\n(.z'' .if \\n(.$=3 \\!.X "\\$1 \\$2 \\$3
+.if !'\\n(.z'' .if \\n(.$>3 \\!.X "\\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+.if '\\n(.z'' .if \\n(.$=1 \\!x X \\$1 \\*#
+.if '\\n(.z'' .if \\n(.$=2 \\!x X \\$1 \\$2 \\*#
+.if '\\n(.z'' .if \\n(.$=3 \\!x X \\$1 \\$2 \\$3 \\*#
+.if '\\n(.z'' .if \\n(.$=4 \\!x X \\$1 \\$2 \\$3 \\$4 \\*#
+.if '\\n(.z'' .if \\n(.$>4 \\!x X \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9 \\*#
+..
+. \" DA - force date
+.de DA
+.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
+.ds CF \\*(DY
+..
+. \" ND - set new or no date
+.de ND
+.ds DY \\$1 \\$2 \\$3 \\$4
+.rm CF
+..
+.de ME \" ME - set month strings
+.if \\n(mo-0 .ds MO January
+.if \\n(mo-1 .ds MO February
+.if \\n(mo-2 .ds MO March
+.if \\n(mo-3 .ds MO April
+.if \\n(mo-4 .ds MO May
+.if \\n(mo-5 .ds MO June
+.if \\n(mo-6 .ds MO July
+.if \\n(mo-7 .ds MO August
+.if \\n(mo-8 .ds MO September
+.if \\n(mo-9 .ds MO October
+.if \\n(mo-10 .ds MO November
+.if \\n(mo-11 .ds MO December
+.if \\n(dw-0 .ds DW Sunday
+.if \\n(dw-1 .ds DW Monday
+.if \\n(dw-2 .ds DW Tuesday
+.if \\n(dw-3 .ds DW Wednesday
+.if \\n(dw-4 .ds DW Thursday
+.if \\n(dw-5 .ds DW Friday
+.if \\n(dw-6 .ds DW Saturday
+.if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr
+..
+. \" FP - font position for a family
+.de FP
+.if '\\$1'palatino'\{\
+. fp 1 PA
+. fp 2 PI
+. fp 3 PB
+. fp 4 PX\}
+.if '\\$1'century'\{\
+. ie '\\*(.T'202'\{\
+. fp 1 NR Centsb
+. fp 2 NI CentI
+. fp 3 NB CentB
+. fp 4 NX CentBI\}
+. el \{\
+. fp 1 NR
+. fp 2 NI
+. fp 3 NB
+. fp 4 NX\}\}
+.if '\\$1'helvetica'\{\
+. fp 1 H
+. fp 2 HI
+. fp 3 HB
+. fp 4 HX\}
+.if '\\$1'bembo'\{\
+. ie '\\*(.T'202'\{\
+. fp 1 B1 Bembo
+. fp 2 B2 BemboI
+. fp 3 B3 BemboB
+. fp 4 B4 BemboBI\}
+. el \{\
+. fp 1 B1
+. fp 2 B2
+. fp 3 B3
+. fp 4 B4\}\}
+.if '\\$1'optima'\{\
+. fp 1 R Optima
+. fp 2 I OptimaI
+. fp 3 B OptimaB
+. fp 4 BI OptimaBI\}
+.if '\\$1'souvenir'\{\
+. fp 1 R Souvenir
+. fp 2 I SouvenirI
+. fp 3 B SouvenirB
+. fp 4 BI SouvenirBI\}
+.if '\\$1'melior'\{\
+. fp 1 R Melior
+. fp 2 I MeliorI
+. fp 3 B MeliorB
+. fp 4 BI MeliorBI\}
+.if '\\$1'times'\{\
+. fp 1 R
+. fp 2 I
+. fp 3 B
+. fp 4 BI\}
+..
+. \" TL - title
+.de TL
+.br
+.if !\\n(1T .BG
+....hy 0
+.ft 3
+.ps \\n(PS+2p
+.vs \\n(VS+2p
+.ll \\n(LLu
+.ce 100 \" turned off in .RT
+.sp .5i
+..
+. \" AU - remember author(s)
+.de AU
+.ft 1
+.ps \\n(PS
+.ie \\n(VS>=41 .vs \\n(VSu
+.el .vs \\n(VSp
+.SP .5
+..
+. \" AI - author's institution
+.de AI
+.SP .25
+.ft 2
+..
+. \" AB - begin abstract
+.de AB
+.nr AB 1 \" we're in abstract
+.if !\\n(1T .BG
+.ft 1
+.ps \\n(PS
+.vs \\n(VSp
+.ce
+.in +\\n(.lu/12u
+.ll -\\n(.lu/12u
+.SP 1
+.ie \\n(.$ \\$1
+.el ABSTRACT
+.SP .75
+.RT
+..
+. \" AE - end of abstract
+.de AE
+.br
+.nr AB 0
+.in 0
+.ll \\n(LLu
+.ps \\n(PS
+.ie \\n(VS>=41 .vs \\n(VSu
+.el .vs \\n(VSp
+.SP
+..
+. \" 2C - 2 columns
+.de 2C
+.MC 2
+..
+. \" 1C - 1 column
+.de 1C
+.MC 1
+..
+. \" MC - multiple columns
+.de MC
+.br
+.if \\n(1T .RT
+.if \\n(1T .NP
+.if !\\n(OL .nr OL \\n(LL
+.if \\n(CW=0 .nr CW \\n(LL*7/15
+.if \\n(GW=0 .nr GW \\n(LL-(2*\\n(CW)
+.nr x \\n(CW+\\n(GW
+.if "\\$1"" .MC 2
+.if \\$1=1 \{\
+. X MC 1 0
+. nr LL \\n(OLu\}
+.if \\$1=2 \{\
+. X MC 2 \\nx
+. nr LL \\n(CWu\}
+.ll \\n(LLu
+.if \\$1>2 .tm -mpm can't handle more than two columns
+.if \\n(1T .RT
+..
+. \" TS - table start, TE - table end; also TC, TQ, TH
+.de TS
+.br
+.if !\\n(1T .RT
+.SP \\n(TSu TS
+.X "US TS
+.if \\$1H .TQ
+.nr IX 1
+..
+.de TC
+.nr TZ \\n(.lu
+.if \\n(.$ .nr TZ \\$1n
+.ta \\n(TZuR
+..
+.de TD
+.LP
+.nr TZ 0
+..
+.de TQ
+.di TT
+.nr IT 1
+..
+.de TH
+.if \\n(.d>0.5v \{\
+. nr T. 0
+. T# 0\}
+.di
+.nr TQ \\n(.i
+.nr HT 1
+.in 0
+.mk #a
+.mk #b
+.mk #c
+.mk #d
+.mk #e
+.mk #f
+.TT
+.in \\n(TQu
+.mk #T
+..
+. \" TE - table end
+.de TE
+.nr IX 0
+.if \\n(IT .if !\\n(HT \{\
+. di
+. nr EF \\n(.u
+. nf
+. TT
+. if \\n(EF .fi\}
+.nr IT 0
+.nr HT 0
+.rm a+ b+ c+ d+ e+ f+ g+ h+ i+ j+ k+ l+ n+ m+
+.rr 32 33 34 35 36 37 38 40 79 80 81 82
+.rr a| b| c| d| e| f| g| h| i| j| k| l| m|
+.rr a- b- c- d- e- f- g- h- i- j- k- l- m-
+.X "END US TE
+.SP \\n(TSu TE
+.bp
+..
+. \" EQ - equation, breakout and display
+.de EQ
+.nr EF \\n(.u
+.rm EE
+.nr LE 1 \" 1 is center
+.ds EL \\$1
+.if "\\$1"L" \{\
+. ds EL \\$2
+. nr LE 0\}
+.if "\\$1"C" .ds EL \\$2
+.if "\\$1"R" \{\
+. ds EL \\$2 \" 2 is right adjust
+. nr LE 2\}
+.if "\\$1"I" \{\
+. nr LE 0
+. if "\\$3"" .ds EE \\h'|10n'
+. el .ds EE \\h'\\$3'
+. ds EL \\$2\}
+.if \\n(YE .nf
+.di EZ
+..
+. \" EN - end of equation
+.de EN
+.br
+.di
+.rm EZ
+.nr ZN \\n(dn
+.if \\n(ZN .if !\\n(YE .LP
+.if !\\n(ZN .if !"\\*(EL"" .nr ZN 1
+.if \\n(ZN \{\
+. SP .5v EQ
+. X "US EQ"\}
+'pc
+.if \\n(BD .nr LE 0 \" don't center if block display or mark/lineup
+.if \\n(MK \{\
+. if \\n(LE=1 .ds EE \\h'|10n'
+. nr LE 0\}
+'lt \\n(.lu
+.if !\\n(EP .if \\n(ZN \{\
+. if \\n(LE=1 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
+. if \\n(LE=2 .tl \(ts\(ts\(ts\\*(10\\*(EL\(ts
+. if !\\n(LE \{\
+. if !\\n(BD .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
+. if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
+. if \\n(BD \!\\*(10\\t\\*(EL\}\}
+.if \\n(EP .if \\n(ZN \{\
+. if \\n(LE=1 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
+. if \\n(LE=2 .tl \(ts\\*(EL\(ts\(ts\\*(10\(ts
+. if !\\n(LE \{\
+. if !\\n(BD .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
+. if \\n(BD .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
+. if \\n(BD \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10\}\}
+'lt \\n(LLu
+'pc %
+.if \\n(YE .if \\n(EF .fi
+.if \\n(ZN .X "END US EQ"
+.if \\n(ZN .SP .5v EN
+.if \\n(ZN .bp
+..
+. \" PS - start picture
+.de PS \" $1 is height, $2 is width, in inches
+.br
+.nr X 0.35v
+.if \\$1>0 .X "SP \\nX PS"
+.ie \\$1>0 .nr $1 \\$1
+.el .nr $1 0
+.X "US PS \\$1
+.in (\\n(.lu-\\$2)/2u
+..
+. \" PE - end of picture
+.de PE
+.in
+.X "END US PE
+.nr X .65v
+.if \\n($1>0 .X "SP \\nX PE"
+.bp
+..
+.de IS \" for -mpm only
+.KS
+..
+.de IE
+.KE
+.bp
+..
+. \" NP - new page
+.de NP
+.ev 2
+.bp
+.if \\n(KF=0 \{\
+. nr PX \\n(.s
+. nr PF \\n(.f
+. nr PV \\n(.v
+. lt \\n(LTu
+. ps \\n(PS
+. vs \\n(PS+2
+. ft 1
+. if \\n(PO .po \\n(POu \" why isn't this reset???
+. PT \\$1
+. bp
+. rs
+. BT
+. bp
+. nr %# +1
+. ps \\n(PX
+. vs \\n(PVu
+. ft \\n(PF \}
+.ev
+..
+.
+.ds %e .tl '\\*(LH'\\*(CH'\\*(RH'
+.ds %o .tl '\\*(LH'\\*(CH'\\*(RH'
+.ds %E .tl '\\*(LF'\\*(CF'\\*(RF'
+.ds %O .tl '\\*(LF'\\*(CF'\\*(RF'
+.
+. \" PT - page title
+.de PT
+.nr PN \\n(%#
+.X "PT \\n(%#
+.sp \\n(HMu/2u
+.if \\n(OL .lt \\n(OLu \" why isn't this reset???
+.if \\n(BT>0 .if \\n(%#%2 \\*(%o
+.if \\n(BT>0 .if !\\n(%#%2 \\*(%e
+.if \\n(BT=0 .tl '\0''' \" put out something or spacing is curdled
+.X "END PT \\n(%#
+..
+. \" BT - bottom title
+.de BT
+.X "BT \\n(%#
+.sp |\\n(FMu/2u+\\n(FOu-1v
+.if \\n(%#%2 \\*(%O
+.if !\\n(%#%2 \\*(%E
+.nr BT \\n(BT+1
+.X "END BT \\n(%#
+..
+. \" KS - non-floating keep
+.de KS
+.br
+.if "\\n(.z"" .NP \" defends poorly against including ht of page stuff in diversion for .B1
+.X "US KS 0
+.nr KS +1
+.SP \\n(Ksu
+..
+. \" KF - floating keep
+.de KF
+.ev 1
+.br
+.if \\n(KS>0 .tm KF won't work inside KS, line \\n(.c, file \\n(.F
+.if \\n(KF>0 .tm KF won't work inside KF, line \\n(.c, file \\n(.F
+.nr KF 1
+.nr 10 0
+. if !'\\$1'' .nr 10 \\$1u
+. if '\\$1'bottom' .nr 10 \\n(FOu-1u
+. if '\\$1'top' .nr 10 \\n(HM
+. if \\n(10 .X "UF \\n(10 KF"
+. if !\\n(10 .X "UF \\n(HM KF"
+. nr X \\n(FOu-2u
+. if \\n(10 .X "UF \\n(10 KF"
+. if !\\n(10 .X "UF \\nX KF"
+.nr SJ \\n(.u
+.ps \\n(PS
+.if \\n(VS>40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.ll \\n(LLu
+.lt \\n(LTu
+.SP \\n(Kfu
+..
+. \" KE - end of KS/KF
+.de KE
+.bp
+.ie \\n(KS>0 \{\
+. SP \\n(Ksu
+. X "END US KS
+. nr KS -1 \}
+.el .ie \\n(KF>0 \{\
+. SP \\n(Kfu
+. nr KF 0
+. X "END UF KF"
+. if \\n(SJ .fi
+. ev \}
+.el .tm .KE without preceding .KS or .KF, line \\n(.c, file \\n(.F
+..
+.
+. \" DS - display. .DS C center; L left-adjust; I indent (default)
+.de DS \" $2 = amount of indent
+.KS
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.if !\\n(IF \{\
+. ps \\n(PS
+. if \\n(VS>40 .vs \\n(VSu
+. if \\n(VS<=39 .vs \\n(VSp\}
+..
+.de D
+.ID \\$1
+..
+.de CD
+.XD
+.ce 1000
+..
+.de ID
+.XD
+.if \\n(.$=0 .in +\\n(DIu
+.if \\n(.$=1 .if "\\$1"I" .in +\\n(DIu
+.if \\n(.$=1 .if !"\\$1"I" .in +\\$1n
+.if \\n(.$>1 .in +\\$2n
+.....in +0.5i
+.....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in \\n(DIu
+.....if \\n(.$ .if !"\\$1"I" .if !"\\$1"" .in +\\$1n
+..
+.de LD
+.XD
+..
+.de XD
+.nf
+.nr OI \\n(.i
+.SP \\n(DVu
+..
+. \" BD - block display: save everything, then center it.
+.de BD
+.XD
+.nr BD 1
+.nf
+.in \\n(OIu
+.di DD
+..
+. \" DE - display end
+.de DE
+.ce 0
+.if \\n(BD>0 .XF
+.nr BD 0
+.in \\n(OIu
+.SP \\n(DVu
+.KE
+.fi
+..
+. \" XF - finish a block display to be recentered.
+.de XF
+.di
+.if \\n(dl>\\n(BD .nr BD \\n(dl
+.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
+.nr EI \\n(.l-\\n(.i
+.ta \\n(EIuR
+.nf
+.DD
+.in \\n(OIu
+..
+.
+.
+. \" SH - (unnumbered) section heading
+.de SH
+.RT
+.nr X 1v
+.nr Y 3v
+.if \\n(1T .NP
+.if \\n(1T .X "NE \\nY SH" \" should these be reversed, change Y to 4v
+.if \\n(1T .X "SP \\nX SH
+.ft 3
+..
+. \" NH - numbered heading
+.de NH
+.RT
+.nr X 1v
+.nr Y 3v
+.if \\n(1T .NP
+.if \\n(1T .X "NE \\nY NH" \" should these be reversed, change Y to 4v
+.if \\n(1T .X "SP \\nX NH
+.ft 3
+.nr NS \\$1
+.if !\\n(.$ .nr NS 1
+.if !\\n(NS .nr NS 1
+.nr H\\n(NS +1
+.if !\\n(NS-4 .nr H5 0
+.if !\\n(NS-3 .nr H4 0
+.if !\\n(NS-2 .nr H3 0
+.if !\\n(NS-1 .nr H2 0
+.if !\\$1 .if \\n(.$ .nr H1 1
+.ds SN \\n(H1.
+.if \\n(NS-1 .as SN \\n(H2.
+.if \\n(NS-2 .as SN \\n(H3.
+.if \\n(NS-3 .as SN \\n(H4.
+.if \\n(NS-4 .as SN \\n(H5.
+\\*(SN
+..
+. \" RT - reset at beginning of each PP, LP, etc.
+.de RT
+.if !\\n(AB .if !\\n(1T .BG
+.ce 0
+.if !\\n(AB .if !\\n(KF .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
+.if \\n(QP \{\
+. ll +\\n(QIu
+. in -\\n(QIu
+. nr QP -1\}
+.if !\\n(AB \{\
+. ll \\n(LLu\}
+.if !\\n(IF .if !\\n(AB \{\
+. ps \\n(PS
+. ie \\n(VS>=41 .vs \\n(VSu
+. el .vs \\n(VSp\}
+.ie \\n(IP \{\
+. in \\n(I\\n(IRu
+. nr IP -1\}
+.el .if !\\n(IR \{\
+. nr I1 \\n(PIu
+. nr I2 0
+. nr I3 0
+. nr I4 0
+. nr I5 0\}
+.if !\\n(AB .ft 1
+.ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
+.fi
+..
+. \" BG - begin, execute at first TL, AB, NH, SH, PP, etc.
+.de BG \" IZ has been called, so registers have some value
+.br
+.if \\n(CW>0 .if \\n(LL=0 .nr LL \\n(CW+\\n(CW+\\n(GW
+.ll \\n(LLu
+.lt \\n(LLu
+.po \\n(POu
+.nr YE 1 \" ok to cause break in .EQ (earlier ones won't)
+.ev 0
+.hy 14
+.ev
+.ev 1
+.hy 14
+.ev
+.ev 2
+.hy 14
+.ev
+.nr 1T 1
+.X "PARM NP \\n(HM
+.X "PARM FO \\n(FO
+.if !\\n(%# .nr %# 1
+..
+. \" PP - paragraph
+.de PP
+.RT
+.if \\n(1T .NP
+.if \\n(1T .X "SP \\n(PD PP"
+.if \\n(1T .X "BS 2 PP"
+.ti +\\n(PIu
+..
+. \" LP - left aligned paragraph
+.de LP
+.RT
+.if \\n(1T .NP
+.if \\n(1T .X "SP \\n(PD LP"
+.if \\n(1T .X "BS 2 LP"
+..
+. \" IP - indented paragraph
+.de IP
+.RT
+.if !\\n(IP .nr IP +1
+.if \\n(1T .NP
+.if \\n(1T .X "SP \\n(PD PP"
+.if \\n(1T .X "BS 2 IP"
+.nr IU \\n(IR+1
+.if \\n(.$>1 .nr I\\n(IU \\$2n+\\n(I\\n(IRu
+.if \\n(I\\n(IU=0 .nr I\\n(IU \\n(PIu+\\n(I\\n(IRu
+.in \\n(I\\n(IUu
+.nr TY \\n(TZ-\\n(.i
+.nr JQ \\n(I\\n(IU-\\n(I\\n(IR
+.ta \\n(JQu \\n(TYuR
+.if \\n(.$ \{\
+.ti \\n(I\\n(IRu
+\&\\$1\t\c\}
+..
+. \" QP - quoted paragraph (within IP)
+.de QP
+.RT
+.if \\n(1T .NP
+.if \\n(1T .X "SP \\n(PD QP"
+.if \\n(1T .X "BS 2 QP"
+.nr QP 1
+.in +\\n(QIu
+.ll -\\n(QIu
+.ti \\n(.iu
+..
+. \" RS - prepare for double indenting
+.de RS
+.nr IS \\n(IP
+.RT
+.nr IP \\n(IS
+.nr IU \\n(IR
+.nr IR +1
+.if !\\n(I\\n(IR .nr I\\n(IR \\n(I\\n(IU+\\n(PIu
+.in \\n(I\\n(IRu
+.nr TY \\n(TZ-\\n(.i
+.ta \\n(TYuR
+..
+. \" RE - retreat to the left
+.de RE
+.nr IS \\n(IP
+.RT
+.nr IP \\n(IS
+.if \\n(IR>0 .nr IR -1
+.in \\n(I\\n(IRu
+..
+. \" B - bold font
+.de B
+.nr PQ \\n(.f
+.ft 3
+.if \\n(.$ \&\\$1\\f\\n(PQ\\$2
+..
+. \" BI - bold italic
+.de BI
+.nr PQ \\n(.f
+.ft 4
+.if \\n(.$ \&\\$1\\f\\n(PQ\\$2
+..
+. \" R - Roman font
+.de R
+.nr PQ \\n(.f
+.ft 1
+.if \\n(.$ \&\\$1\f\\n(PQ\\$2
+..
+. \" I - italic font
+.de I
+.nr PQ \\n(.f
+.ft 2
+.if \\n(.$ \&\\$1\^\f\\n(PQ\\$2
+..
+. \" CW - constant width font from -ms
+.de CW
+.nr PQ \\n(.f
+.if \\n(.$=0 .ft CW
+.if \\n(.$>0 \%\&\\$3\f(CW\\$1\\f\\n(PQ\\$2
+..
+.de IT \" ditto to italicize argument
+.nr Sf \\n(.f
+\%\&\\$3\f2\\$1\f\\n(Sf\&\\$2
+..
+. \" TA - tabs set in ens or chars
+.de TA
+.ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
+..
+. \" SM - make smaller size
+.de SM
+.ie \\n(.$ \&\\$3\s-2\\$1\s0\\$2
+.el .ps -2
+..
+. \" LG - make larger size
+.de LG
+.ie \\n(.$ \&\\$3\s+2\\$1\s0\\$2
+.el .ps +2
+..
+. \" NL - return to normal size
+.de NL
+.ps \\n(PS
+..
+. \" FS - begin footnote
+.de FS
+.if \\n(IF>0 .tm .FS within .FS/.FE, line \\n(.c, file \\n(.F
+.if \\n(KF>0 .tm .FS won't work inside .KF, line \\n(.c, file \\n(.F
+.if \\n(KS>0 .tm .FS won't work inside .KS, line \\n(.c, file \\n(.F
+.nr IF 1
+.ev 1
+.ps \\n(PS-2
+.ie \\n(VS>=41 .vs \\n(VSu-2p
+.el .vs \\n(VSp-2p
+.ll \\n(LLu
+.br
+.nr X \\n(FOu
+.X "BF \\nX FS
+.SP .3v
+....FA \" deleted by authority of cvw, 10/17/88
+..
+. \" FE - end footnote
+.de FE
+.if !\\n(IF .tm .FE without .FS, line \\n(.c, file \\n(.F
+.br
+.X "END BF FE
+.bp
+.ev
+.nr IF 0
+..
+. \" FA - the line for a footnote
+.de FA
+\l'1i'
+.br
+..
+. \" Tm - message to be passed on
+.de Tm
+.ev 2
+.if \\n(.$=1 .X "TM \\$1
+.if \\n(.$=2 .X "TM \\$1 \\$2
+.if \\n(.$=3 .X "TM \\$1 \\$2 \\$3
+.if \\n(.$=4 .X "TM \\$1 \\$2 \\$3 \\$4
+.if \\n(.$=5 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5
+.if \\n(.$=6 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6
+.if \\n(.$=7 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7
+.if \\n(.$=8 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
+.if \\n(.$=9 .X "TM \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+.br
+.ev
+..
+.de MH
+AT&T Bell Laboratories
+Murray Hill, New Jersey 07974
+..
+.de HO
+AT&T Bell Laboratories
+Holmdel, New Jersey 07733
+..
+.de WH
+AT&T Bell Laboratories
+Whippany, New Jersey 07981
+..
+.de IH
+AT&T Bell Laboratories
+Naperville, Illinois 60540
+..
+. \" UL - underline argument, don't italicize
+.de UL
+\\$1\l'|0\(ul'\\$2
+..
+. \" UX - print $2 UNIX $1
+.de UX
+.ie \\n(UX \\$2\s-1UNIX\s0\\$1
+.el \{\
+\\$2\s-1UNIX\\s0\\$1\(rg
+.nr UX 1\}
+..
+. \" QS - start quote
+.de QS
+.br
+.LP
+.in +\\n(QIu
+.ll -\\n(QIu
+..
+. \" QE - end quote
+.de QE
+.br
+.ll +\\n(QIu
+.in -\\n(QIu
+.LP
+..
+. \" B1 - begin boxed stuff
+.de B1
+.br
+.di BB
+.nr BC 0
+.if "\\$1"C" .nr BC 1
+.nr BE 1
+..
+. \" B2 - end boxed stuff
+.de B2
+.br
+.nr BI 1n
+.if \\n(.$>0 .nr BI \\$1n
+.di
+.nr BE 0
+.nr BW \\n(dl
+.nr BH \\n(dn
+.ne \\n(BHu+\\n(.Vu
+.nr BQ \\n(.j
+.nf
+.ti 0
+.if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
+.in +\\n(BIu
+.ls 1
+.BB
+.ls
+.in -\\n(BIu
+.nr BW +2*\\n(BI
+.sp -1
+\l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
+.if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
+.if \\n(BQ .fi
+.br
+..
+. \" BX - boxed stuff
+.de BX
+\(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
+..
+.
+. \" macros for programs, etc.
+.
+.ig
+ programs are displayed between .P1/.P2 pairs
+ default is to indent by 1/2 inch, nofill, dP smaller
+ .P1 x causes an indent of x instead.
+
+ .P3 can be used to specify optional page-break points
+ inside .P1/.P2
+..
+.
+. \" P1 - start of program
+.de P1
+.nr $1 \\n(P1
+.if \\n(.$ .nr $1 \\$1n
+.br
+.X "SP \\n(DV P1"
+.X "US P1"
+.in \\n($1u
+.nf
+.nr v \\n(.v
+.ps -\\n(dP
+.vs -\\n(dVu
+.ft CW
+.nr t \\n(dT*\\w'x'u
+.ta 1u*\\ntu 2u*\\ntu 3u*\\ntu 4u*\\ntu 5u*\\ntu 6u*\\ntu 7u*\\ntu 8u*\\ntu 9u*\\ntu 10u*\\ntu 11u*\\ntu 12u*\\ntu 13u*\\ntu 14u*\\ntu
+..
+. \" P2 - end of program
+.de P2
+.br
+.ps \\n(PS
+.vs \\nvu
+.ft 1
+.in
+.X "END US P1
+.X "SP \\n(DV P2"
+.fi
+..
+. \" P3 - provides optional unpadded break in P1/P2
+.de P3
+.nr x \\n(DV
+.nr DV 0
+.P2
+.P1 \\n($1u
+.nr DV \\nx
+..
+.de [
+[
+..
+.de ]
+]
+..
+.IZ
+.rm IZ
+.so @MACDIR@/srefs
diff --git a/troff/troff.d/tmac.d/ptx b/troff/troff.d/tmac.d/ptx
new file mode 100644
index 0000000000000..2965adbda10f2
--- /dev/null
+++ b/troff/troff.d/tmac.d/ptx
@@ -0,0 +1,28 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, September 2005.
+.\"
+.\" Derived from Plan 9 v4 /sys/lib/tmac/tmac.ptx
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\" Sccsid @(#)ptx 1.2 (gritter) 11/6/05
+'''\" from ptx.src (ptx.src 1.1) - format permuted index macro
+.tr ~
+.nr )y \n(.lu-.65i
+.nr )x \n()yu/2u
+.ds s2 ~~~
+.ds s4 ~
+.ds s5 ~
+.de xx
+.ds s1
+.if \w\\$2 .ds s1 ~\|
+.ds s3
+.if \w\\$4 .ds s3 ~\|
+.ds y \\*(s4\f3\a\fP\\*(s5
+.ta \\n()yu-\w\\*(s5u
+\h\\n()xu-\w\\$1\\*(s1\\$2\\*(s2u\\$1\\*(s1\\$2\\*(s2\\$3\\*(s3\\$4\\*y\\$5
+..
+.nf
diff --git a/troff/troff.d/tmac.d/refer.me b/troff/troff.d/tmac.d/refer.me
new file mode 100644
index 0000000000000..b493c1de8602e
--- /dev/null
+++ b/troff/troff.d/tmac.d/refer.me
@@ -0,0 +1,129 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)refer.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)refer.me 2.2 8/17/84
+.de ][
+.if \\$1>5 .tm Bad arg to []
+.[\\$1
+..
+.de [0
+.(f
+.ip "\\*([F.\0"
+.if !"\\*([A"" \\*([A,
+.if !"\\*([T"" \\f2\\*([T\\f1\c
+.if !"\\*([T"" .if !"\\*([O"" ,\
+.ie !"\\*([O"" \\*([O
+.el .if !"\\*([T"" \&.
+.if !"\\*([D"" \\*([D.
+.@p
+.)f
+..
+.de [1
+.(f
+.ip "\\*([F.\0"
+\\*([A,
+.if !"\\*([T"" \\*(lq\\*([T,\\*(rq
+.if "\\*([V"" \\f2\\*([J\\f1,
+.if !"\\*([V"" \\f2\\*([J\\f1
+.if !"\\*([V"" .if n Vol.\&
+.if !"\\*([V"" \\f3\\*([V\\f1\c
+.if !"\\*([N"" (\\*([N)\c
+.if !"\\*([P"" \
+\{\
+. ie \\n([P>0 \ pp.\&
+. el \ p.\&
+\\*([P
+.\}
+.if !"\\*([I"" .if "\\*([R"" \\*([I,
+(\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.de [2
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\f2\\*([T,\\f1
+\\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([G"" Gov't. ordering no. \\*([G
+.if !"\\*([O"" \\*([O
+.)f
+..
+.de [3
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\*(lq\\*([T,\\*(rq
+.if !"\\*([P"" pp. \\*([P
+in \\f2\\*([B\\f1, \c
+.if !"\\*([E"" ed. \\*([E,\c
+.if !"\\*([I"" \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.de [4
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\*(lq\\*([T,\\*(rq
+\\*([R\c
+.if !"\\*([G"" \& (\\*([G)\c
+.if !"\\*([I"" , \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+ (\\*([D).
+.if !"\\*([O"" \\*([O
+.)f
+..
+.de [5
+.(f
+.ip "\\*([F.\0"
+\\*([A, \\f2\\*([T\\f1,
+.ie \\n(TN \\*([M.
+.el Bell Laboratories internal memorandum (\\*([D).
+.)f
+..
+.de ]<
+.$p References
+.lp
+.rm (f )f
+..
+.de ]>
+.sp
+..
+.de ]-
+.rm [V [P [A [T [N [C [B [O [R [I [E [D
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/s.in b/troff/troff.d/tmac.d/s.in
new file mode 100644
index 0000000000000..046904a69748b
--- /dev/null
+++ b/troff/troff.d/tmac.d/s.in
@@ -0,0 +1,1066 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" from OpenSolaris "s 1.10 05/06/08 SMI"
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\"
+.\" Macros .QS and .QE copied from Plan9 sys/lib/tmac/tmac.s
+.\" (Lucent Public License Version 1.02)
+.\"
+.\" Sccsid @(#)s.in 1.4 (gritter) 11/13/06
+.\"
+.ds // @MACDIR@/
+. \" IZ - initialize (before text begins)
+.de IZ
+.nr HM 1i
+.nr M1 \\n(HMu/2
+.nr FM 1i
+.nr M4 \\n(FMu/2
+.nr YY -\\n(FMu
+.nr XX 0 1
+.nr IP 0
+.nr PI 5n
+.nr QI 5n
+.nr FI 2n
+.nr I0 \\n(PIu
+.if n .nr PD 1v
+.if t .nr PD .3v
+.if n .nr DD 1v
+.if t .nr DD .5v
+.nr PS 10
+.nr VS 12
+.ps \\n(PS
+.vs \\n(VSp
+.nr ML 3v
+.nr IR 0
+.nr TB 0
+.nr SJ \\n(.j
+.nr PO \\n(.o
+.nr LL 6i
+.ll \\n(LLu
+.lt 6i
+.ev 1
+.nr FL 5.5i
+.ll \\n(FLu
+.ps 8
+.vs 10p
+.ev
+.ds CH - \\\\n(PN -
+.if n .ds CF \\*(DY
+.wh 0 NP
+.wh -\\n(FMu FO
+.ch FO 16i
+.wh -\\n(FMu FX
+.ch FO -\\n(FMu
+.wh -\\n(M4u BT
+..
+. \" RT - reset (at new paragraph)
+.de RT
+.if !\\n(1T .BG
+.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
+.if \\n(TM .ls 2
+.ce 0
+.ul 0
+.if \\n(QP \{\
+. ll +\\n(QIu
+. in -\\n(QIu
+. nr QP -1
+.\}
+.if \\n(NX<=1 .if !\\n(AJ .ll \\n(LLu
+.if !\\n(IF \{\
+. ps \\n(PS
+. if \\n(VS>=40 .vs \\n(VSu
+. if \\n(VS<=39 .vs \\n(VSp
+.\}
+.if !\\n(IP .nr I0 \\n(PIu
+.if \\n(IP \{\
+. in -\\n(I\\n(IRu
+. nr IP -1
+.\}
+.ft 1
+.TA
+.fi
+..
+. \" TA - set default tabs
+.de TA
+.if n .ta 8n 16n 24n 32n 40n 48n 56n 64n 72n 80n
+.if t .ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n
+..
+. \" BG - begin (at first paragraph)
+.de BG
+.ll \\n(LLu
+.nr M1 \\n(HMu/2
+.nr M4 \\n(FMu/2
+.ch BT -\\n(M4u
+.br
+.nr YE 1
+.di
+.ce 0
+.nr KI 0
+.hy 14
+.nr 1T 1
+.S\\n(ST
+.rm S0 S1 S2 SY TX AX WT RP
+.\"redefs
+.de TL
+.ft 3
+.ce 99
+.sp
+.LG
+\\..
+.de AU
+.ft 2
+.if n .ul 0
+.ce 99
+.sp
+.NL
+\\..
+.de AI
+.ft 1
+.if n .ul 0
+.ce 99
+.if n .sp
+.if t .sp .5
+.NL
+\\..
+.RA
+.rm RA
+.rn FJ FS
+.rn FK FE
+.nf
+.ev 1
+.ps \\n(PS-2
+.vs \\n(.s+2p
+.ev
+.if !\\n(KG .nr FP 0
+.nr KG 0
+.if \\n(FP \{\
+. FS
+. FG
+. FE
+.\}
+.br
+.if \\n(TV .if n .sp 2
+.if \\n(TV .if t .sp 1
+.fi
+..
+. \" RA - redefine abstract
+.de RA
+.de AB
+.br
+.if !\\\\n(1T .BG
+.ce
+.sp
+.if !\\\\n(.$ ABSTRACT
+.if \\\\n(.$ .if !\\\\$1no \\\\$1
+.if !\\\\n(.$ .sp
+.if \\\\n(.$ .if !\\\\$1no .sp
+.sp
+.nr AJ 1
+.in +\\\\n(.lu/12u
+.ll -\\\\n(.lu/12u
+.RT
+.if \\\\n(TM .ls 1
+\\..
+.de AE
+.nr AJ 0
+.br
+.in 0
+.ll \\\\n(LLu
+.if \\\\n(VS>=40 .vs \\\\n(VSu
+.if \\\\n(VS<=39 .vs \\\\n(VSp
+.if \\\\n(TM .ls 2
+\\..
+..
+. \" RP - released paper format
+.de RP
+.nr ST 2
+.if \\$1no .nr ST 1
+.pn 0
+.br
+..
+. \" TL - source file for cover sheet
+.de TL
+.rn TL @T
+.so \*(//ms.cov
+.TL
+.rm @T
+..
+. \" PP - regular paragraph
+.de PP
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.ti +\\n(PIu
+..
+. \" LP - left paragraph
+.de LP
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.ti \\n(.iu
+..
+. \" IP - indented paragraph
+.de IP
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.if !\\n(IP .nr IP +1
+.if \\n(.$-1 .nr I\\n(IR \\$2n
+.in +\\n(I\\n(IRu
+.ta \\n(I\\n(IRu
+.if \\n(.$ \{\
+.ds HT \&\\$1
+.ti -\\n(I\\n(IRu
+\\*(HT\t\c
+.if \w\\*(HTu>(\\n(I\\n(IRu+1n) .br
+.\}
+..
+. \" XP - exdented paragraph
+.de XP
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.if !\\n(IP .nr IP +1
+.in +\\n(I\\n(IRu
+.ti -\\n(I\\n(IRu
+..
+. \" QP - quote paragraph
+.de QP
+.ti \\n(.iu
+.RT
+.if \\n(1T .sp \\n(PDu
+.ne 1.1
+.nr QP 1
+.in +\\n(QIu
+.ll -\\n(QIu
+.ti \\n(.iu
+.if \\n(TM .ls 1
+..
+.\" Macros QS and QE copied from Plan9 sys/lib/tmac/tmac.s
+.de QS
+.br
+.LP
+.in +\\n(QIu
+.ll -\\n(QIu
+..
+.de QE
+.br
+.ll +\\n(QIu
+.in -\\n(QIu
+.LP
+..
+. \" SH - section header
+.de SH
+.ti \\n(.iu
+.RT
+.if \\n(1T .sp
+.RT
+.ne 3.1
+.B
+..
+. \" NH - numbered header
+.de NH
+.SH
+.nr NS \\$1
+.if !\\n(.$ .nr NS 1
+.if !\\n(NS .nr NS 1
+.nr H\\n(NS +1
+.if !\\n(NS-4 .nr H5 0
+.if !\\n(NS-3 .nr H4 0
+.if !\\n(NS-2 .nr H3 0
+.if !\\n(NS-1 .nr H2 0
+.if !\\$1 .if \\n(.$ .nr H1 1
+.if \\$1S \{\
+. nr NS \\n(.$-1
+. nr H1 \\$2 0
+. nr H2 \\$3 0
+. nr H3 \\$4 0
+. nr H4 \\$5 0
+. nr H5 \\$6 0
+.\}
+.ds SN \\n(H1.
+.if \\n(NS-1 .as SN \\n(H2.
+.if \\n(NS-2 .as SN \\n(H3.
+.if \\n(NS-3 .as SN \\n(H4.
+.if \\n(NS-4 .as SN \\n(H5.
+\\*(SN
+..
+. \" H - fancy header
+.de H
+.ie \\$1no .SH
+.el .NH \\$1
+\\$2
+.XS \\\\n(PN \\$1u-1u*\\n(PIu
+.if \\$1<2 .sp \\n(PDu
+.if !\\$1no \\*(SN\0
+\\$2
+.XE \\$3
+..
+. \" LS - listing start
+.de LS
+.ie \\$1no .ID \\$2
+.el .DS I \\$1
+.nr PQ \\n(.f
+.ft L
+.ps -\\n(dP
+.vs -\\n(dV
+.nr @ \\w'x'u*8
+.if \\n(.$ .nr @ \\w'x'u*\\$2
+.if \\n(.$ .if \\$1no .nr @ \\w'x'u*\\$3
+.ta \\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u +\\n@u
+..
+. \" LE - listing end
+.de LE
+.ft \\n(PQ
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.DE
+..
+. \" DS - display with keep (L=left I=indent C=center B=block)
+.de DS
+.KS
+.nf
+.\\$1D \\$2 \\$1
+.ft 1
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+..
+.de D
+.ID \\$1
+..
+. \" ID - indented display with no keep
+.de ID
+.XD
+.if t .in +.5i
+.if n .in +8
+.if \\n(.$ .if !\\$1I .if !\\$1 \{\
+. in \\n(OIu
+. in +\\$1n
+.\}
+..
+. \" LD - left display with no keep
+.de LD
+.XD
+..
+. \" CD - centered display with no keep
+.de CD
+.XD
+.ce 999
+..
+. \" XD - real display macro
+.de XD
+.nf
+.nr OI \\n(.i
+.sp \\n(DDu
+.if \\n(TM .ls 1
+..
+. \" DE - end display of any kind
+.de DE
+.ce 0
+.if \\n(BD .DF
+.nr BD 0
+.in \\n(OIu
+.KE
+.if \\n(TM .ls 2
+.sp \\n(DDu
+.fi
+..
+. \" BD - block display: center entire block
+.de BD
+.XD
+.nr BD 1
+.nf
+.in \\n(OIu
+.di DD
+..
+. \" DF - finish block display
+.de DF
+.di
+.if \\n(dl>\\n(BD .nr BD \\n(dl
+.if \\n(BD<\\n(.l .in (\\n(.lu-\\n(BDu)/2u
+.nr EI \\n(.l-\\n(.i
+.ta \\n(EIuR
+.DD
+.in \\n(OIu
+..
+. \" KS - begin regular keep
+.de KS
+.nr KN \\n(.u
+.if !\\n(IK .if !\\n(IF .KQ
+.nr IK +1
+..
+. \" KQ - real keep processor
+.de KQ
+.br
+.nr KI \\n(.i
+.ev 2
+.TA
+.br
+.in \\n(KIu
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.ll \\n(LLu
+.lt \\n(LTu
+.if \\n(NX>1 .ll \\n(CWu
+.if \\n(NX>1 .lt \\n(CWu
+.di KK
+.nr TB 0
+..
+. \" KF - begin floating keep
+.de KF
+.nr KN \\n(.u
+.if !\\n(IK .FQ
+.nr IK +1
+..
+. \" FQ - real floating keep processor
+.de FQ
+.nr KI \\n(.i
+.ev 2
+.TA
+.br
+.in \\n(KIu
+.ps \\n(PS
+.if \\n(VS>=40 .vs \\n(VSu
+.if \\n(VS<=39 .vs \\n(VSp
+.ll \\n(LLu
+.lt \\n(LTu
+.if \\n(NX>1 .ll \\n(CWu
+.if \\n(NX>1 .lt \\n(CWu
+.di KK
+.nr TB 1
+..
+. \" KE - end keep
+.de KE
+.if \\n(IK .if !\\n(IK-1 .if !\\n(IF .RQ
+.if \\n(IK .nr IK -1
+..
+. \" RQ - real keep release
+.de RQ
+.br
+.di
+.nr NF 0
+.if \\n(dn-\\n(.t .nr NF 1
+.if \\n(TC .nr NF 1
+.if \\n(NF .if !\\n(TB .sp 200
+.if !\\n(NF .if \\n(TB .nr TB 0
+.nf
+.rs
+.nr TC 5
+.in 0
+.ls 1
+.if !\\n(TB \{\
+. ev
+. br
+. ev 2
+. KK
+.\}
+.ls
+.ce 0
+.if !\\n(TB .rm KK
+.if \\n(TB .da KJ
+.if \\n(TB \!.KD \\n(dn
+.if \\n(TB .KK
+.if \\n(TB .di
+.nr TC \\n(TB
+.if \\n(KN .fi
+.in
+.ev
+..
+. \" KD - keep redivert
+.de KD
+.nr KM 0
+.if \\n(.zKJ .nr KM 1
+.if \\n(KM \!.KD \\$1
+.if !\\n(KM .if \\n(.t<\\$1 .di KJ
+..
+. \" EM - end macro (process leftover keep)
+.de EM
+.br
+.if !\\n(TB .if t .wh -1p CM
+.if \\n(TB \{\
+\&\c
+' bp
+. NP
+. ch CM 160
+.\}
+.if \\n(IF .FE \" End footnote if still pending
+.if !"\\n(.z"" .DI \" End any left over diversions
+..
+. \" DI is used to properly end all diversions, otherwise a bug in
+. \" [nt]roff may cause an infinite loop if the page footer (or
+. \" macros that it calls) happens to start a new diversion.
+.de DI
+.di
+.if !"\\n(.z"" .DI
+..
+.de XK
+.nr TD 1
+.nf
+.ls 1
+.in 0
+.rn KJ KL
+.KL
+.rm KL
+.if \\n(.zKJ .di
+.nr TB 0
+.if \\n(.zKJ .nr TB 1
+.br
+.in
+.ls
+.fi
+.nr TD 0
+..
+. \" NP - new page
+.de NP
+.if \\n(FM+\\n(HM>=\\n(.p \{\
+. tm HM + FM longer than page
+. ab
+.\}
+.if !\\n(LT .nr LT \\n(LLu
+.if t .CM
+.po \\n(POu
+.nr PF \\n(.f
+.nr PX \\n(.s
+.ft 1
+.ps \\n(PS
+'sp \\n(HMu/2u
+.lt \\n(LTu
+.PT
+.lt \\n(.lu
+.if \\n(HM 'sp |\\n(HMu
+.HD \"undefined
+.ps \\n(PX
+.ft \\n(PF
+.nr XX 0 1
+.nr YY 0-\\n(FMu
+.ch FO 16i
+.ch FX 17i
+.ch FO -\\n(FMu
+.ch FX \\n(.pu-\\n(FMu
+.if \\n(MF .FV
+.nr MF 0
+.mk
+.os
+.ev 1
+.if !\\n(TD .if \\n(TC<5 .XK
+.nr TC 0
+.ev
+.nr TQ \\n(.i
+.nr TK \\n(.u
+.if \\n(IT \{\
+. in 0
+. nf
+. TT
+. in \\n(TQu
+. if \\n(TK .fi
+.\}
+.ns
+.mk #T
+..
+. \" PT - page titles
+.de PT
+.pc %
+.nr PN \\n%
+.nr PT \\n%
+.if \\n(P1 .nr PT 2
+.if \\n(PT=1 .tl 
+.if \\n(PT>1 .if !\\n(EH .if !\\n(OH .tl \\*(LH\\*(CH\\*(RH
+.if \\n(PT>1 .if \\n(OH .if o .tl \\*(O1
+.if \\n(PT>1 .if \\n(EH .if e .tl \\*(E2
+..
+. \" OH - odd page header
+.de OH
+.nr OH 1
+.if !\\n(.$ .nr OH 0
+.ds O1 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+. \" EH - even page header
+.de EH
+.nr EH 1
+.if !\\n(.$ .nr EH 0
+.ds E2 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+. \" P1 - PT on 1st page
+.de P1
+.nr P1 1
+..
+. \" FO - footer
+.de FO
+.rn FO FZ
+.if \\n(IT .nr T. 1
+.if \\n(IT .if !\\n(FC .T# 1
+.if \\n(IT .br
+.nr FC +1
+.if \\n(NX<2 .nr WF 0
+.nr dn 0
+.if \\n(FC<=1 .if \\n(XX .XF
+.rn FZ FO
+.nr MF 0
+.if \\n(dn .nr MF 1
+.if !\\n(WF .nr YY 0-\\n(FMu
+.if !\\n(WF .ch FO \\n(YYu
+.if !\\n(dn .nr WF 0
+.if \\n(FC<=1 .if !\\n(XX \{\
+. if \\n(NX>1 .RC
+. if \\n(NX<2 'bp
+.\}
+.nr FC -1
+.if \\n(ML .ne \\n(MLu
+..
+. \" BT - bottom title
+.de BT
+.nr PF \\n(.f
+.nr PX \\n(.s
+.ft 1
+.ps \\n(PS
+.lt \\n(LTu
+.po \\n(POu
+.if \\n(TM .if \\n(CT \{\
+. tl ''\\n(PN''
+. nr CT 0
+.\}
+.if \\n% .if !\\n(EF .if !\\n(OF .tl \\*(LF\\*(CF\\*(RF
+.if \\n% .if \\n(OF .if o .tl \\*(O3
+.if \\n% .if \\n(EF .if e .tl \\*(E4
+.ft \\n(PF
+.ps \\n(PX
+..
+. \" OF - odd page footer
+.de OF
+.nr OF 1
+.if !\\n(.$ .nr OF 0
+.ds O3 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+. \" EF - even page footer
+.de EF
+.nr EF 1
+.if !\\n(.$ .nr EF 0
+.ds E4 \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+. \" 2C - double column
+.de 2C
+.MC
+..
+. \" 1C - single column
+.de 1C
+.MC \\n(LLu
+.hy 14
+..
+. \" MC - multiple columns, arg is col width
+.de MC
+.nr L1 \\n(LL*7/15
+.if \\n(.$ .nr L1 \\$1n
+.nr NQ \\n(LL/\\n(L1
+.if \\n(NQ<1 .nr NQ 1
+.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
+.if !\\n(1T \{\
+. BG
+. if n .sp 4
+. if t .sp 2
+.\}
+.if !\\n(NX .nr NX 1
+.if !\\n(NX=\\n(NQ \{\
+. RT
+. if \\n(NX>1 .bp
+. mk
+. nr NC 1
+. po \\n(POu
+.\}
+.if \\n(NQ>1 .hy 12
+.nr NX \\n(NQ
+.nr CW \\n(L1
+.ll \\n(CWu
+.nr FL \\n(CWu*11u/12u
+.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
+.nr RO \\n(CW+\\n(GW
+.ns
+..
+.de RC
+.if \\n(NC>=\\n(NX .C2
+.if \\n(NC<\\n(NX .C1
+.nr NC \\n(ND
+..
+.de C1
+.rt
+.po +\\n(ROu
+.nr ND \\n(NC+1
+.nr XX 0 1
+.if \\n(MF .FV
+.nr MF 0
+.ch FX \\n(.pu-\\n(FMu
+.ev 1
+.if \\n(TB .XK
+.nr TC 0
+.ev
+.nr TQ \\n(.i
+.if \\n(IT .in 0
+.if \\n(IT .TT
+.if \\n(IT .in \\n(TQu
+.mk #T
+.ns
+..
+.de C2
+.po \\n(POu
+'bp
+.nr ND 1
+..
+. \" RS - right shift
+.de RS
+.nr IS \\n(IP
+.RT
+.nr IP \\n(IS
+.if \\n(IP .in +\\n(I\\n(IRu
+.nr IR +1
+.nr I\\n(IR \\n(PIu
+.in +\\n(I\\n(IRu
+..
+. \" RE - retreat left
+.de RE
+.nr IS \\n(IP
+.RT
+.nr IP \\n(IS
+.if \\n(IR .nr IR -1
+.if \\n(IP<=0 .in -\\n(I\\n(IRu
+..
+. \" CM - cut mark
+.de CM
+.po 0
+.lt 7.6i
+.ft 1
+.ps 10
+.vs 4p
+.tl '--''--'
+.po
+.vs
+.lt
+.ps
+.ft
+..
+.rm CM
+. \" I - italic font
+.de I
+.nr PQ \\n(.f
+.if t .ft 2
+.ie \\$1 .if n .ul 999
+.el .if n .ul 1
+.if t .if !\\$1 \&\\$1\|\f\\n(PQ\\$2
+.if n .if \\n(.$=1 \&\\$1
+.if n .if \\n(.$>1 \&\\$1\c
+.if n .if \\n(.$>1 \&\\$2
+..
+. \" B - bold font
+.de B
+.nr PQ \\n(.f
+.if t .ft 3
+.ie \\$1 .if n .ul 999
+.el .if n .ul 1
+.if t .if !\\$1 \&\\$1\f\\n(PQ\\$2
+.if n .if \\n(.$=1 \&\\$1
+.if n .if \\n(.$>1 \&\\$1\c
+.if n .if \\n(.$>1 \&\\$2
+..
+. \" R - Roman font
+.de R
+.if n .ul 0
+.ft 1
+..
+. \" L - listing font
+.de L
+\%\&\\$3\fL\\$1\fP\&\\$2
+..
+. \" LB - bold listing font
+.de LB
+\%\&\\$3\f(LB\\$1\fP\&\\$2
+..
+. \" UL - underline in troff
+.de UL
+.if t \\$1\l'|0\(ul'\\$2
+.if n .I \\$1 \\$2
+..
+. \" SM - smaller
+.de SM
+.ps -2
+..
+. \" LG - larger
+.de LG
+.ps +2
+..
+. \" NL - normal
+.de NL
+.ps \\n(PS
+..
+. \" DA - force date
+.de DA
+.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
+.ds CF \\*(DY
+..
+. \" ND - no date or new date
+.de ND
+.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
+.rm CF
+..
+. \" \** - numbered footnote
+.ds * \\*([.\\n+*\\*(.]
+. \" FJ - replaces FS after cover
+.de FJ
+'ce 0
+.di
+.ev 1
+.ll \\n(FLu
+.da FF
+.br
+.if \\n(IF .tm Nested footnote
+.nr IF 1
+.if !\\n+(XX-1 .FA
+.if !\\n(MF .if !\\n(.$ .if \\n* .FP \\n*
+.if !\\n(MF .if \\n(.$ .FP \\$1 no
+..
+. \" FK - replaces FE after cover
+.de FK
+.br
+.in 0
+.nr IF 0
+.di
+.ev
+.if !\\n(XX-1 .nr dn +\\n(.v
+.nr YY -\\n(dn
+.if !\\n(NX .nr WF 1
+.if \\n(dl>\\n(CW .nr WF 1
+.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
+.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) \{\
+. if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
+. if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
+. if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
+.\}
+..
+. \" FS - begin footnote on cover
+.de FS
+.ev 1
+.br
+.ll \\n(FLu
+.da FG
+.if !\\n(.$ .if \\n* .FP \\n*
+.if \\n(.$ .FP \\$1 no
+..
+. \" FE - end footnote on cover
+.de FE
+.br
+.di
+.nr FP \\n(dn
+.if !\\n(1T .nr KG 1
+.ev
+..
+. \" FA - print line before footnotes
+.de FA
+.in 0
+.if n _________________________
+.if t \l'1i'
+.br
+..
+. \" FP - footnote paragraph
+.de FP
+.sp \\n(PDu/2u
+.if \\n(FF<2 .ti \\n(FIu
+.if \\n(FF=3 \{\
+. in \\n(FIu*2u
+. ta \\n(FIu*2u
+. ti 0
+.\}
+.if !\\n(FF \{\
+. ie "\\$2"no" \\$1\0\c
+. el \\*([.\\$1\\*(.]\0\c
+.\}
+.if \\n(FF .if \\n(FF<3 \{\
+. ie "\\$2"no" \\$1\0\c
+. el \\$1.\0\c
+.\}
+.if \\n(FF=3 \{\
+. ie "\\$2"no" \\$1\t\c
+. el \\$1.\t\c
+.\}
+..
+. \" FV - get leftover footnote from previous page
+.de FV
+.FS
+.nf
+.ls 1
+.FY
+.ls
+.fi
+.FE
+..
+. \" FX - divert leftover footnote for next page
+.de FX
+.if \\n(XX .di FY
+.if \\n(XX .ns
+..
+. \" XF - actually print footnote
+.de XF
+.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
+.ev 1
+.nf
+.ls 1
+.FF
+.rm FF
+.nr XX 0 1
+.br
+.ls
+.di
+.fi
+.ev
+..
+. \" TS - source file for tbl
+.de TS
+.rn TS @T
+.so \*(//ms.tbl
+.TS \\$1 \\$2
+.rm @T
+..
+. \" EQ - source file for eqn
+.de EQ
+.rn EQ @T
+.so \*(//ms.eqn
+.EQ \\$1 \\$2
+.rm @T
+..
+. \" ]- - source file for refer
+.de ]-
+.rn ]- @T
+.so \*(//ms.ref
+.]-
+.rm @T
+..
+. \" [< - for refer -s or -e
+.de ]<
+.rn ]< @T
+.so \*(//ms.ref
+.]<
+.rm @T
+..
+.if \n(.V>19 .ds [. \f1[
+.if \n(.V>19 .ds .] ]\fP
+.if \n(.V<20 .ds [. \f1\s-2\v'-.4m'
+.if \n(.V<20 .ds .] \v'.4m'\s+2\fP
+.ds <. .
+.ds <, ,
+.if n .ds Q \&"
+.if n .ds U \&"
+.if n .ds - \%--
+.if t .ds Q ``
+.if t .ds U ''
+.if t .ds - \(em
+.ds ' \h'\w'e'u/5'\z\'\h'-\w'e'u/5'
+.ds ` \h'\w'e'u/5'\z\`\h'-\w'e'u/5'
+.ds ^ \h'\w'o'u/10'\z^\h'-\w'e'u/10'
+.ds , \h'\w'c'u/5'\z,\h'-\w'e'u/5'
+.ds : \h'\w'u'u/5'\z"\h'-\w'e'u/5'
+.ds ~ \h'\w'n'u/10'\z~\h'-\w'e'u/10'
+.ds C \h'\w'c'u/5'\v'-.6m'\s-4\zv\s+4\v'.6m'\h'-\w'c'u/5'
+. \" AM - better accent marks
+.de AM
+.so \*(//ms.acc
+..
+. \" TM - thesis mode
+.de TM
+.so \*(//ms.ths
+..
+. \" BX - word in a box
+.de BX
+.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
+.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
+..
+. \" B1 - source file for boxed text
+.de B1
+.rn B1 @T
+.so \*(//ms.tbl
+.B1 \\$1
+.rm @T
+..
+. \" XS - table of contents
+.de XS
+.rn XS @T
+.so \*(//ms.toc
+.XS \\$1 \\$2
+.rm @T
+..
+. \" IX - index words to stderr
+.if \n(.X .do nr IXcount 0 1
+.de IX
+.ie \\n(.X&\\n(.k \{\
+.do de IX-\\n+[IXcount]
+.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\\\n(PN
+\\..
+.do nr IXsaveX \\n(.X
+.do xflag 3
+\\P[IX-\\n[IXcount]]\c
+.do xflag \\n[IXsaveX]
+.\}
+.el \{\
+.tm \\$1\t\\$2\t\\$3\t\\$4 ... \\n(PN
+.\}
+..
+. \" UX - UNIX macro
+.de UX
+.ie \\n(UX \s-1UNIX\s0\\$1
+.el \{\
+\s-1UNIX\s0\\$1\(dg
+.FS
+\(dg \s-1UNIX\s0 is a registered trademark of The Open Group in the
+U.S. and other countries.
+.FE
+.nr UX 1
+.\}
+..
+.co
+.if \n(mo-0 .ds MO January
+.if \n(mo-1 .ds MO February
+.if \n(mo-2 .ds MO March
+.if \n(mo-3 .ds MO April
+.if \n(mo-4 .ds MO May
+.if \n(mo-5 .ds MO June
+.if \n(mo-6 .ds MO July
+.if \n(mo-7 .ds MO August
+.if \n(mo-8 .ds MO September
+.if \n(mo-9 .ds MO October
+.if \n(mo-10 .ds MO November
+.if \n(mo-11 .ds MO December
+.nr _Y 1900+\n(yr
+.ds DY \*(MO \n(dy, \n(_Y
+.nr * 0 1
+.IZ
+.em EM
+.rm IZ //
diff --git a/troff/troff.d/tmac.d/safe b/troff/troff.d/tmac.d/safe
new file mode 100644
index 0000000000000..c62c696822b51
--- /dev/null
+++ b/troff/troff.d/tmac.d/safe
@@ -0,0 +1,12 @@
+.\" Sccsid @(#)safe 1.2 (gritter) 12/13/05
+.ie (\n(.X>0) \{\
+. do rm sy
+. do rm pi
+. do rm pso
+. do rm open
+. do rm opena
+.\}
+.el \{\
+. rm sy
+. rm pi
+.\}
diff --git a/troff/troff.d/tmac.d/sh.me b/troff/troff.d/tmac.d/sh.me
new file mode 100644
index 0000000000000..11a87248da666
--- /dev/null
+++ b/troff/troff.d/tmac.d/sh.me
@@ -0,0 +1,142 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)sh.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)sh.me 2.4 3/27/86
+.de sh
+.fi
+.if (\\n(si>0)&(\\n(si<1n) \
+. nr si \\n(sin
+.ce 0
+.@d "\\$1" +1 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8
+.if !"\\$2"_" \
+\{\
+. ds |n \&\\$2
+. $p "\\*(|n" "\\*($n" \\n($0
+. $0 "\\*(|n" "\\*($n" \\n($0
+. rm |n
+.\}
+.nr $p 0 1
+..
+.de @d
+.if !""\\$1" \
+. nr $0 \\$1
+.if \\n($0&(\\n(.$>1) \
+. nr $\\n($0 \\$2
+.ds $n \&\"
+.ie \\n($0>=1 \
+\{\
+. if '\\n($1'0' \
+. nr $1 1
+. if (\\n(.$>=3) .if !"\\$3"-" \
+. nr $1 \\$3
+. as $n \\n($1
+.\}
+.el \
+. nr $1 0
+.ie \\n($0>=2 \
+\{\
+. if '\\n($2'0' \
+. nr $2 1
+. if (\\n(.$>=4) .if !"\\$4"-" \
+. nr $2 \\$4
+. as $n .\\n($2
+.\}
+.el \
+. nr $2 0
+.ie \\n($0>=3 \
+\{\
+. if '\\n($3'0' \
+. nr $3 1
+. if (\\n(.$>=5) .if !"\\$5"-" \
+. nr $3 \\$5
+. as $n .\\n($3
+.\}
+.el \
+. nr $3 0
+.ie \\n($0>=4 \
+\{\
+. if '\\n($4'0' \
+. nr $4 1
+. if (\\n(.$>=6) .if !"\\$6"-" \
+. nr $4 \\$6
+. as $n .\\n($4
+.\}
+.el \
+. nr $4 0
+.ie \\n($0>=5 \
+\{\
+. if '\\n($5'0' \
+. nr $5 1
+. if (\\n(.$>=7) .if !"\\$7"-" \
+. nr $5 \\$7
+. as $n .\\n($5
+.\}
+.el \
+. nr $5 0
+.ie \\n($0>=6 \
+\{\
+. if '\\n($6'0' \
+. nr $6 1
+. if (\\n(.$>=8) .if !"\\$8"-" \
+. nr $6 \\$8
+. as $n .\\n($6
+.\}
+.el \
+. nr $6 0
+..
+.de sx
+.ce 0
+.ul 0
+.nr _0 \\n($0-1
+.if \\n(.$ .nr _0 +1
+.if \\n(.$ .nr _0 \\$1
+.@d \\n(_0
+.rr _0
+.$p "" "" \\n($0
+.nr $p 0 1
+..
+.de uh
+.$p "\\$1"
+.$0 "\\$1"
+..
+.if \n(sf<=0 \
+. nr sf 8
+.if \n(sp<=0 \
+. nr sp 10
+.if \n(ss<=0 \
+. nr ss 12p
+.if \n(si<=0 \
+. nr si 0
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/srefs b/troff/troff.d/tmac.d/srefs
new file mode 100644
index 0000000000000..5e677df6ad7e1
--- /dev/null
+++ b/troff/troff.d/tmac.d/srefs
@@ -0,0 +1,169 @@
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, October 2005.
+.\"
+.\" Derived from Plan 9 v4 /sys/lib/tmac/tmac.srefs
+.\"
+.\" Copyright (C) 2003, Lucent Technologies Inc. and others.
+.\" All Rights Reserved.
+.\"
+.\" Distributed under the terms of the Lucent Public License Version 1.02.
+.\"
+.\"
+.\" Sccsid @(#)srefs 1.4 (gritter) 10/30/05
+.\"
+.\" REFER macros .... citations
+.de []
+.][ \\$1
+..
+.de ][
+.if \\$1>5 .tm Bad arg to []
+.[\\$1
+..
+.if n .ds [. [
+.if t .ds [. \s-2\v'-.4m'\f1
+.if n .ds .] ]
+.if t .ds .] \v'.4m'\s+2\fP
+.if n .ds [o ""
+.if n .ds [c ""
+.if t .ds [o ``
+.if t .ds [c ''
+.\" the next lines deal with the problem of .[1] or [1].
+.\" refer will write "linexxx\*(<.[1]\*(>.
+.\" and either "<." or ">." should produce the .;
+.\" similarly for ,
+.if n .ds >. .
+.if t .ds <. .
+.if n .ds >, ,
+.if t .ds <, ,
+.de [5 \" tm style
+.FS
+.IP "\\*([F.\0"
+.nr %T 2
+\\*([A, \\f2\\*([T\\f1,
+.ie \\n(TN \\*([M.
+.el Bell Laboratories internal memorandum (\\*([D).
+.RT
+.FE
+..
+.de [0 \" other
+.FS
+.nr [: 0
+.if !"\\*([F"" .IP "\\*([F.\0"
+.if !"\\*([A"" \{.nr [: 1
+\\*([A\c\}
+.if !"\\*([T"" \{.if \\n([:>0 ,
+.nr [: 1
+\\f2\\*([T\\f1\c\}
+.if !"\\*([O""\{.if \\n([:>0 ,
+.nr [: 1
+.if \\n([O>0 .nr [: 0
+\\*([O\c
+.if \\n([O>0 \& \c\}
+.if !"\\*([D"" \{.if \\n([:>0 ,
+.nr [: 1
+\\*([D\c\}
+.if \\n([:>0 \&.
+.if !"\\*([%"" Cited p. \\*([%.
+.RT
+.FE
+..
+.de [1 \" journal article
+.nr %T 1 \" title font
+.FS
+.if !"\\*([R"" .rm [C
+.if !"\\*([F"" .IP "\\*([F.\0"
+.if !"\\*([A"" \\*([A,
+.if !"\\*([T"" \\*([o\\*([T,\\*([c
+\\f2\\*([J\\f1\c
+.if !"\\*([C"" , \\*([C\c
+.if !"\\*([V"" .if n ,\& Vol.\&\c
+.if !"\\*([V"" \& \\f3\\*([V\\f1\c
+.if !"\\*([N"" (\\*([N)\c
+.if !"\\*([P"" \{\
+.ie \\n([P>0 , pp.\ \&\c
+.el , p.\ \&\c
+\\*([P\c\}
+.if !"\\*([I"" .if "\\*([R"" , \\*([I\c
+.if !"\\*([O"" .if \\n([O=0 , \\*([O\c
+.if !"\\*([D"" \& (\\*([D)\c
+\&.
+.if !"\\*([O"" .if \\n([O>0 \\*([O
+.if !"\\*([%"" Cited p. \\*([%.
+.RT
+.FE
+..
+.de [2 \" book
+.FS
+.nr %T 2
+.if !"\\*([F"" .IP "\\*([F.\0"
+.if !"\\*([A"" \\*([A,
+.if !"\\*([T"" \\f2\\*([T,\\f1
+\\*([I\c
+.if !"\\*([C"" , \\*([C\c
+.if !"\\*([D"" \& (\\*([D)\c
+\&.
+.if !"\\*([G"" Gov't. ordering no. \\*([G.
+.if !"\\*([O"" \\*([O
+.if !"\\*([%"" Cited p. \\*([%.
+.RT
+.FE
+..
+.de [4 \" report
+.FS
+.if !"\\*([F"" .IP "\\*([F.\0"
+.nr %T 1
+\\*([A, \\*([o\\*([T,\\*([c
+\\*([R\c
+.if !"\\*([G"" \& (\\*([G)\c
+.if !"\\*([I"" , \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+.if !"\\*([D"" \& (\\*([D)\c
+\&.
+.if !"\\*([O"" \\*([O
+.if !"\\*([%"" Cited p. \\*([%.
+.RT
+.FE
+..
+.de [3 \" article in book
+.FS
+.nr %T 1
+.if !"\\*([F"" .IP "\\*([F.\0"
+.if !"\\*([A"" \\*([A,
+.if !"\\*([T"" \\*([o\\*([T,\\*([c
+.if !"\\*([P"" pp. \\*([P
+in \\f2\\*([B\\f1\c
+.if !"\\*([E"" , ed. \\*([E\c
+.if !"\\*([I"" , \\*([I\c
+.if !"\\*([C"" , \\*([C\c
+.if !"\\*([D"" \& (\\*([D)\c
+\&.
+.if !"\\*([O"" \\*([O
+.if !"\\*([%"" Cited p. \\*([%.
+.RT
+.FE
+..
+.de ]<
+.[<
+..
+.de [<
+.LP
+.rm FS FE
+..
+.de [>
+.]>
+..
+.de ]>
+.sp
+..
+.de ]-
+.[-
+..
+.de [-
+.rm [V [P [A [T
+.rm [N [C [B [O
+.rm [R [I [E [D
+.rm [G [%
+..
+.de ]]
+.\"this is never executed and just uses up an end-of-file bug.
+..
diff --git a/troff/troff.d/tmac.d/taa b/troff/troff.d/tmac.d/taa
new file mode 100644
index 0000000000000..9f2276e32c84d
--- /dev/null
+++ b/troff/troff.d/tmac.d/taa
@@ -0,0 +1,134 @@
+.\"
+.\" tmac.taa - troff macros for Unix 6th Edition manual pages
+.\"
+.\" Sccsid @(#)taa 1.3 (gritter) 2/18/07
+.\"
+.\" from Unix 6th Edition /usr/doc/man/man0/taa
+.\"
+.\" Changes by Gunnar Ritter, Freiburg i. Br., Germany, February 2007
+.\"
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.do xflag 1
+.nr in .5i
+.de i0
+.in \n(inu
+..
+.de lp
+.tc 
+.tr 
+.i0
+.ta \\$2/2u
+.in \\$1/2u
+.ti -\\$2/2u
+..
+.de s1
+.sp .10i
+.ne 2
+..
+.de s2
+.sp .07i
+..
+.de s3
+.sp .07i
+.ne 2
+..
+.de fo
+'ft R
+'ps 10
+'sp .50i
+'tl ''- % -''
+'ft
+'ps
+'bp
+..
+.de th
+.de x1
+.tl '-'''
+'ft R
+'ps 10
+'sp .50i
+'tl '\\$1\|(\|\\$2\|)'\\$3'\\$1\|(\|\\$2\|)'
+'ft
+'ps
+'sp .50i
+\\..
+.wh -1i fo
+.wh 0 x1
+.ft R
+.ps 10
+.vs 11p
+.in \n(inu
+..
+.wh 0 x1
+.de sh
+.s1
+.ft B
+.ps 8
+.ti 0
+\\$1
+.ft
+.ps
+.br
+..
+.de it
+'ft I
+'li
+\\$1
+'ft
+..
+.de bd
+'ft B
+\\$1
+'ft R
+..
+.de bn
+'ft B
+\\$1 \\fR\\
+..
+.ds b \(*b
+.ds _ \(ul
+.ds - \(mi
+.ds a \(aa
+.ds v \(vb
+.ds p \(*p
+.ds r \(rg
+.ds g \(ga
+.ds | \|
+.ds X \(mu
+.ds u \(*m
+.ds G \(*G
+.ds > \(->
+.de dt
+.ta .5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 6i
+..
+.lg
diff --git a/troff/troff.d/tmac.d/tbl.me b/troff/troff.d/tmac.d/tbl.me
new file mode 100644
index 0000000000000..2da3b550ac783
--- /dev/null
+++ b/troff/troff.d/tmac.d/tbl.me
@@ -0,0 +1,144 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)tbl.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" @(#)tbl.me 2.2 4/27/85
+.de TS
+.sp \\n(bsu
+.@C 1
+.fi
+.ne 1v
+.if "\\$1"H" \
+\{\
+. di |h
+. nr ?T 1
+.\}
+.ls 1
+.ch @f -(\\n(_bu+1v)
+..
+.de TH
+.nr T. 0
+.T# 0
+.di
+.nr _i \\n(.i
+.in 0
+.|h
+.in \\n(_iu
+.rr _i
+.mk #T
+..
+.de TE
+.nr ?T 0
+.ch @f -\\n(_bu
+.ev
+.sp \\n(bsu+\\n(.Lv-1v
+.re
+.rr 31
+.rr 32
+.rr 33
+.rr 34
+.rr 35
+.rr 36
+.rr 37
+.rr 38
+.rr 39
+.rr 40
+.rr 41
+.rr 42
+.rr 43
+.rr 44
+.rr 45
+.rr 46
+.rr 47
+.rr 48
+.rr 49
+.rr 50
+.rr 51
+.rr 52
+.rr 53
+.rr 54
+.rr 55
+.rr 56
+.rr 57
+.rr 58
+.rr 59
+.rr 60
+.rr 61
+.rr 62
+.rr 63
+.rr 64
+.rr 65
+.rr 66
+.rr 67
+.rr 68
+.rr 69
+.rr 70
+.rr 71
+.rr 72
+.rr 73
+.rr 74
+.rr 75
+.rr 76
+.rr 77
+.rr 78
+.rr 79
+.rr 80
+.rr 81
+.rr 82
+.rr 83
+.rr 84
+.rr 85
+.rr 86
+.rr 87
+.rr 88
+.rr 89
+.rr 90
+.rr 91
+.rr 92
+.rr 93
+.rr 94
+.rr 95
+.rr 96
+.rr 97
+.rr 98
+.rr 99
+.rr #I
+.rr #T
+.rr #a
+.rr ##
+.rr #-
+.rr #^
+.rr T.
+..
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/thesis.me b/troff/troff.d/tmac.d/thesis.me
new file mode 100644
index 0000000000000..6b17f99fd4596
--- /dev/null
+++ b/troff/troff.d/tmac.d/thesis.me
@@ -0,0 +1,52 @@
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\"ident "@(#)thesis.me 1.5 05/06/08 SMI"
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.nr _0 \n(c.
+.\" Setup for thesis.
+.\" This file should be modified to keep up with the standard
+.\" for a doctoral thesis at Berkeley. Other macros which may
+.\" be useful for a thesis are defined here.
+.\" @(#)thesis.me 2.1 8/18/80
+.nr tf 1
+.he '''%'
+.if n .if \n(_o \
+. po 1.5i
+.if t .po 1.125i
+.ll 5.75i
+.if n .if 1n=0.1i \
+. ll 5.8i
+.m1 1i
+.nr ?t 1
+.ls 2
+.nr c. \n(_0
diff --git a/troff/troff.d/tmac.d/tmac.gchar b/troff/troff.d/tmac.d/tmac.gchar
new file mode 100644
index 0000000000000..eae06f95c24c0
--- /dev/null
+++ b/troff/troff.d/tmac.d/tmac.gchar
@@ -0,0 +1,272 @@
+.do xflag 3
+.char \(<> \[arrowboth]
+.char \(-+ \[uni2213]
+.char \(<< \[uni226A]
+.char \(>> \[uni226B]
+.char \(|= \[uni2243]
+.char \(=~ \[congruent]
+.char \(/_ \[angle]
+.\".char \(-h \[uni210F]\" italic
+.char \(-h \[hbar]
+.char \('A \[Aacute]
+.char \('C \[Cacute]
+.char \('E \[Eacute]
+.char \('I \[Iacute]
+.char \('O \[Oacute]
+.char \('U \[Uacute]
+.char \('Y \[Yacute]
+.char \('a \[aacute]
+.char \('c \[cacute]
+.char \('e \[eacute]
+.char \('i \[iacute]
+.char \('o \[oacute]
+.char \('u \[uacute]
+.char \('y \[yacute]
+.char \(`A \[Agrave]
+.char \(`E \[Egrave]
+.char \(`I \[Igrave]
+.char \(`O \[Ograve]
+.char \(`U \[Ugrave]
+.char \(`a \[agrave]
+.char \(`e \[egrave]
+.char \(`i \[igrave]
+.char \(`o \[ograve]
+.char \(`u \[ugrave]
+.char \(~A \[Atilde]
+.char \(~N \[Ntilde]
+.char \(~O \[Otilde]
+.char \(~a \[atilde]
+.char \(~n \[ntilde]
+.char \(~o \[otilde]
+.char \(:A \[Adieresis]
+.char \(:E \[Edieresis]
+.char \(:I \[Idieresis]
+.char \(:O \[Odieresis]
+.char \(:U \[Udieresis]
+.char \(:Y \[Ydieresis]
+.char \(:a \[adieresis]
+.char \(:e \[edieresis]
+.char \(:i \[idieresis]
+.char \(:o \[odieresis]
+.char \(:u \[udieresis]
+.char \(:y \[ydieresis]
+.char \(^A \[Acircumflex]
+.char \(^E \[Ecircumflex]
+.char \(^I \[Icircumflex]
+.char \(^O \[Ocircumflex]
+.char \(^U \[Ucircumflex]
+.char \(^a \[acircumflex]
+.char \(^e \[ecircumflex]
+.char \(^i \[icircumflex]
+.char \(^o \[ocircumflex]
+.char \(^u \[ucircumflex]
+.char \(,C \[Ccedilla]
+.char \(,c \[ccedilla]
+.char \(/L \[Lslash]
+.char \(/l \[lslash]
+.char \(/O \[Oslash]
+.char \(/o \[oslash]
+.char \(-D \[Eth]
+.char \(.i \[dotlessi]
+.char \(.j \[dotlessj]
+.char \(%0 \[perthousand]
+.char \(+h \[theta1]
+.char \(+f \[phi1]
+.char \(+p \[omega1]
+.char \(+e \[uni03F5]
+.char \(18 \[oneeighth]
+.char \(38 \[threeeighths]
+.char \(3d \[therefore]
+.char \(58 \[fiveeighths]
+.char \(78 \[seveneighths]
+.char \(Ah \[aleph]
+.char \(AN \[logicaland]
+.char \(a" \[hungarumlaut]
+.char \(a- \[macron]
+.char \(a. \[dotaccent]
+.char \(a^ \[circumflex]
+.char \(a~ \[tilde]
+.char \(ab \[breve]
+.char \(ac \[cedilla]
+.char \(ad \[dieresis]
+.char \(ah \[caron]
+.char \(an \[arrowhorizex]
+.char \(ao \[ring]
+.char \(ba \[bar]
+.char \(bb \[brokenbar]
+.char \(Bq \[quotedblbase]
+.char \(bq \[quotesinglbase]
+.char \(c* \[circlemultiply]
+.char \(c+ \[circleplus]
+.char \[char161] \[exclamdown]
+.char \[char162] \[cent]
+.char \[char163] \[sterling]
+.char \[char164] \[currency]
+.char \[char165] \[yen]
+.char \[char166] \[brokenbar]
+.char \[char167] \[section]
+.char \[char168] \[dieresis]
+.char \[char169] \[copyright]
+.char \[char170] \[ordfeminine]
+.char \[char171] \[guillemotleft]
+.char \[char172] \[logicalnot]
+.char \[char174] \[registered]
+.char \[char175] \[macron]
+.char \[char176] \[degree]
+.char \[char177] \[plusminus]
+.char \[char178] \[twosuperior]
+.char \[char179] \[threesuperior]
+.char \[char180] \[acute]
+.char \[char181] \[mu]
+.char \[char182] \[paragraph]
+.char \[char183] \[periodcentered]
+.char \[char184] \[cedilla]
+.char \[char185] \[onesuperior]
+.char \[char186] \[ordmasculine]
+.char \[char187] \[guillemotright]
+.char \[char188] \[onequarter]
+.char \[char189] \[onehalf]
+.char \[char190] \[threequarters]
+.char \[char191] \[questiondown]
+.char \[char192] \[Agrave]
+.char \[char193] \[Aacute]
+.char \[char194] \[Acircumflex]
+.char \[char195] \[Atilde]
+.char \[char196] \[Adieresis]
+.char \[char197] \[Aring]
+.char \[char198] \[AE]
+.char \[char199] \[Ccedilla]
+.char \[char200] \[Egrave]
+.char \[char201] \[Eacute]
+.char \[char202] \[Ecircumflex]
+.char \[char203] \[Edieresis]
+.char \[char204] \[Igrave]
+.char \[char205] \[Iacute]
+.char \[char206] \[Icircumflex]
+.char \[char207] \[Idieresis]
+.char \[char208] \[Eth]
+.char \[char209] \[Ntilde]
+.char \[char210] \[Ograve]
+.char \[char211] \[Oacute]
+.char \[char212] \[Ocircumflex]
+.char \[char213] \[Otilde]
+.char \[char214] \[Odieresis]
+.char \[char215] \[multiply]
+.char \[char216] \[Oslash]
+.char \[char217] \[Ugrave]
+.char \[char218] \[Uacute]
+.char \[char219] \[Ucircumflex]
+.char \[char220] \[Udieresis]
+.char \[char221] \[Yacute]
+.char \[char222] \[Thorn]
+.char \[char223] \[germandbls]
+.char \[char224] \[agrave]
+.char \[char225] \[aacute]
+.char \[char226] \[acircumflex]
+.char \[char227] \[atilde]
+.char \[char228] \[adieresis]
+.char \[char229] \[aring]
+.char \[char230] \[ae]
+.char \[char231] \[ccedilla]
+.char \[char232] \[egrave]
+.char \[char233] \[eacute]
+.char \[char234] \[ecircumflex]
+.char \[char235] \[edieresis]
+.char \[char236] \[igrave]
+.char \[char237] \[iacute]
+.char \[char238] \[icircumflex]
+.char \[char239] \[idieresis]
+.char \[char240] \[eth]
+.char \[char241] \[ntilde]
+.char \[char242] \[ograve]
+.char \[char243] \[oacute]
+.char \[char244] \[ocircumflex]
+.char \[char245] \[otilde]
+.char \[char246] \[odieresis]
+.char \[char247] \[divide]
+.char \[char248] \[oslash]
+.char \[char249] \[ugrave]
+.char \[char250] \[uacute]
+.char \[char251] \[ucircumflex]
+.char \[char252] \[udieresis]
+.char \[char253] \[yacute]
+.char \[char254] \[thorn]
+.char \[char255] \[ydieresis]
+.char \[coproduct] \[uni2210]
+.char \(CL \[club]
+.char \(CR \[carriagereturn]
+.char \(Cs \[currency]
+.char \(DI \[diamond]
+.char \(Do \[dollar]
+.char \(dA \[arrowdbldown]
+.char \(Eu \[Euro]
+.char \(Fn \[florin]
+.char \(Fc \[guillemotright]
+.char \(Fi \[ffi]
+.char \(Fo \[guillemotleft]
+.char \(f/ \[fraction]
+.char \(fc \[guilsinglright]
+.char \(fo \[guilsinglleft]
+.char \(HE \[heart]
+.char \(hA \[arrowdblboth]
+.char \(ha \[asciicircum]
+.char \(ho \[ogonek]
+.char \(Im \[Ifraktur]
+.char \(lA \[arrowdblleft]
+.char \(la \[angleleft]
+.char \(lB \[bracketleft]
+.char \(lC \[braceleft]
+.char \(lz \[lozenge]
+.char \(mc \[mu]
+.char \(md \[dotmath]
+.char \(nb \[notsubset]
+.char \(nc \[uni2285]
+.char \(ne \[uni2262]
+.char \(nm \[notelement]
+.char \(Of \[ordfeminine]
+.char \(OK \[a19]
+.char \(Om \[ordmasculine]
+.char \(OR \[logicalor]
+.char \(oA \[Aring]
+.char \(oa \[aring]
+.char \(Po \[sterling]
+.char \(pc \[periodcentered]
+.char \(pp \[perpendicular]
+.char \(ps \[paragraph]
+.char \(r! \[exclamdown]
+.char \(r? \[questiondown]
+.char \(rA \[arrowdblright]
+.char \(ra \[angleright]
+.char \(rB \[bracketright]
+.char \(rC \[braceright]
+.char \(Re \[Rfraktur]
+.char \(S1 \[onesuperior]
+.char \(S2 \[twosuperior]
+.char \(S3 \[threesuperior]
+.char \(Sd \[eth]
+.char \(SP \[spade]
+.char \(sd \[second]
+.char \(sh \[numbersign]
+.char \[sqrt] \[radical]
+.char \[sqrtex] \[radicalex]
+.char \(ss \[germandbls]
+.char \(st \[suchthat]
+.char \[sum] \[summation]
+.char \(TP \[Thorn]
+.char \(Tp \[thorn]
+.char \(tf \[therefore]
+.char \(ti \[asciitilde]
+.char \[t+-] \[plusminus]
+.char \[tdi] \[divide]
+.char \[tmu] \[multiply]
+.char \[tno] \[logicalnot]
+.char \(uA \[arrowdblup]
+.char \(vA \[uni21D5]
+.char \(va \[arrowupdn]
+.char \(vS \[Scaron]
+.char \(vs \[scaron]
+.char \(vZ \[Zcaron]
+.char \(vz \[zcaron]
+.char \(wp \[weierstrass]
+.char \(Ye \[yen]
+.\" vim:set filetype=groff:
diff --git a/troff/troff.d/tmac.d/v b/troff/troff.d/tmac.d/v
new file mode 100644
index 0000000000000..b602f5cafdcac
--- /dev/null
+++ b/troff/troff.d/tmac.d/v
@@ -0,0 +1,555 @@
+.\"#ident "@(#)v 1.7 05/06/08 SMI"
+.\"
+.\" Copyright 2005 Sun Microsystems, Inc. All rights reserved.
+.\" Use is subject to license terms.
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" University Copyright- Copyright (c) 1982, 1986, 1988
+.\" The Regents of the University of California
+.\" All Rights Reserved
+.\"
+.\" University Acknowledgment- Portions of this document are derived from
+.\" software developed by the University of California, Berkeley, and its
+.\" contributors.
+.\"
+.\" View Graph and Slide Macros - from OpenSolaris vmca.src 1.12
+.\"
+.\" Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+.\" Sccsid @(#)v 1.2 (gritter) 8/16/05
+.if n .ds Tm \uTM\d
+.if t .ds Tm \v'-0.5m'\s-8TM\s+8\v'0.5m'
+.de VS
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 8i
+.nr )X 18
+.nr )H 0
+.nr )W 0
+.nr )O 0i
+.nr )M 0
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de Vh
+.)j
+.nr )K 0.9i
+.nr )L 1i
+.nr )U 8i
+.nr )X 14
+.nr )H 1
+.nr )W 0
+.nr )O 0.2i
+.nr )M 0
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de Sh
+.)j
+.nr )K 1.1i
+.nr )L 1i
+.nr )U 8i
+.nr )X 14
+.nr )H 1
+.nr )W 0
+.nr )O 0.2i
+.nr )M 1
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de Vw
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 6i
+.nr )X 14
+.nr )H 0
+.nr )W 1
+.nr )O 0.2i
+.nr )M 0
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de Sw
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 6i
+.nr )X 14
+.nr )H 0
+.nr )W 1
+.nr )O 0.2i
+.nr )M 1
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de VH
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 10i
+.nr )X 18
+.nr )H 1
+.nr )W 0
+.nr )O 0.5i
+.nr )M 0
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de SH
+.)j
+.nr )K 0.5i
+.nr )L 0i
+.nr )U 10i
+.nr )X 18
+.nr )H 1
+.nr )W 0
+.nr )O 0.5i
+.nr )M 1
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de VW
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 6.44i
+.nr )X 14
+.nr )H 0
+.nr )W 1
+.nr )O 0.4i
+.nr )M 0
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de SW
+.)j
+.nr )K 0i
+.nr )L 0i
+.nr )U 6.44i
+.nr )X 14
+.nr )H 0
+.nr )W 1
+.nr )O 0.4i
+.nr )M 1
+.if !\\n(.$ .)V
+.if \\n(.$ .if !\\n(.$-1 .)V "\\$1"
+.if \\n(.$-1 .if !\\n(.$-2 .)V "\\$1" "\\$2"
+.if \\n(.$-2 .)V "\\$1" "\\$2" "\\$3"
+..
+.de )V
+.fc
+.wh 0i
+.if \\nX .wh -0.5i
+.nr )o 0u
+.if \\n()i .nr )o 10p
+.nr )U +\\n()ou
+.pl \\n()Uu+1.5i
+.if \\nX .if \\n(.pu-\\n()Gu .pl \\n()Gu
+.na
+.fi
+.nh
+.lg 0
+.ta 0.5i 1i 1.5i 2i 2.5i 3i 3.5i 4i 4.5i 5i 5.5i 6i
+.ce 0
+.in 0i
+.ll 7.54i
+.po 0i
+.lt 7.68i
+.if \\n()i .)t "'\(da cut \(da''\(da cut \(da'" 1
+.nr )i 0
+.)t "'\l'0.38i'''\l'0.38i''" 1
+.sp 0.5v
+.po 0.23i
+.lt 7.06i
+.if \\n(.$-1 .ds )N "\\$2
+.if \\n(.$-2 .ds )Y "\\$3
+.tl \\*()Y
+.tl \\*()N
+.if \\n(.$ .tl \\*()F \\$1
+.if !\\n(.$ .tl \\*()F %
+.po
+.sp |0.68i+\\n()ou
+.po 0.26i+\\n()Lu+\\n()Ou
+.lt 7.03i-\\n()Lu-\\n()Lu-\\n()Ou-\\n()Ou
+.if \\n()H .)t "'|''|'"
+.po
+.sp |1i+\\n()Ou+\\n()ou
+.if !\\n(.A .)e
+.po 0.1i
+.lt 7.4i
+.if \\n()W .)t "'_''_'"
+.po
+.sp |1i+\\n()ou
+.if !\\n(.A .)e
+.po 0.23i+\\n()Lu
+.lt 7.06i-\\n()Lu-\\n()Lu
+.tl ++
+.sp -3p
+.if \\n()M .if \\n()W .sp \\n()Ou
+.po
+.nr )J \\n()Uu
+.if \\n()M .if \\n()W .nr )J \\n()Uu-\\n()Ou
+.nr )E \\n()Ju
+.wh \\n()Eu )Z
+.S \\n()X 6i-\\n()Ku-\\n()Ku
+.I "" A no-space
+.sp .5v
+.nr )n \\n(nlu
+..
+.de )Z
+.wh \\n()Eu
+.nr )w 0
+.ev 1
+.)g
+'sp |\\n()Uu
+.if !\\n(.A .)e
+.po 0.23i+\\n()Lu
+.lt 7.06i-\\n()Lu-\\n()Lu
+.tl ++
+.po
+'sp |\\n()Uu-\\n()Ou
+.if !\\n(.A .)e
+.po 0.1i
+.lt 7.4i
+.if \\n()W .)t "'_''_'"
+.po
+'sp |\\n()Uu+0.32i
+.po 0.26i+\\n()Lu+\\n()Ou
+.lt 7.03i-\\n()Lu-\\n()Lu-\\n()Ou-\\n()Ou
+.if \\n()H .)t "'|''|'"
+.po
+.if !\\n()H 'sp 1v
+'sp 1v
+.ev
+.if \\nX .pl \\n()Gu
+.if \\nX .wh -0.5i )m
+.wh 0i )P
+..
+.de )m
+.bp
+..
+.de )z
+.pl \\n(.pu+2i
+.br
+.if \\n()i \{.ps 10
+.lt 6i
+.tl *** No input or no ``foil start'' macro in input. \}
+.if !\\n()i \{.nr )x \\n(.vu+\\n()Eu-\\n(nlu/\\n(.vu
+.nr )v \\n()w
+.sp |\\n(.pu-2.8i
+.if \\nX .wh -0.5i
+.if \\nX .pl \\n(.pu+2i
+\&
+.br
+.)g
+.po 0i
+.ll 6i
+.ce 0
+.in 0i
+.if \\n(.A .sp -1.1v
+.if \\n(.A .sp 0.1v
+.if \\n(.A .if \\n()v ==> Approximately \\n()x blank line(s) \
+left to bottom of previous foil.
+.if \\n(.A .if !\\n()v ==> *** Previous foil full; \
+check for overflow.
+.sp |\\n(.pu-2i
+.lt 7.68i
+.)t "'\l'0.38i'''\l'0.38i''" 1
+.)t "'\(ua cut \(ua''\(ua cut \(ua'" 1 \}
+..
+.de )t
+.if !\\n(.A .if \\n(.$-1 .)e
+.if !\\n(.A .tl \\$1
+..
+.de )e
+.po 0i
+.lt 1i
+.tl '~'''
+'sp -1v
+.po
+.lt
+..
+.de )P
+.pl 2i
+.if \\nX .pl \\n()Gu
+..
+.de )j
+.br
+.if \\n()i .if \\n(nl \{.ps 10
+.lt 6i
+.tl *** Text before ``foil start'' macro in input. \}
+.if !\\n()i \{.nr )x \\n(.vu+\\n()Eu-\\n(nlu/\\n(.vu
+.nr )v \\n()w
+.sp |\\n(.pu-0.8i
+\&
+.br \}
+.)g
+.if !\\n()i \{.po 0i
+.ll 6i
+.ce 0
+.in 0i
+.if \\n(.A .sp -1.1v
+.if \\n(.A .sp 0.1v
+.if \\n(.A .if \\n()v ==> Approximately \\n()x blank line(s) \
+left to bottom of previous foil.
+.if \\n(.A .if !\\n()v ==> *** Previous foil full; \
+check for overflow.
+.br
+.ll
+.po \}
+.if \\n(nl .bp
+.nr )w 1
+..
+.de )g
+.ft \\*()f
+.cs \\*()f
+.ps 8
+.vs 10p
+.ss 16
+.tr ~
+..
+.de T
+.br
+.if \\n(nlu-\\n()nu .sp .5v
+.nr ]a \\n(.s
+.ps
+.nr ]b \\n(.s
+.ps
+.nr )u \\n(.iu
+.in 0i
+.ps +4
+.ce
+\&\\$1
+.in \\n()uu
+.ps \\n(]b
+.ps \\n(]a
+.sp .5v
+.nr )n \\n(nlu
+..
+.de S
+.if !\w\\$1 .ps
+.if \w\\$1 .if !\\$1+1 .ps \\$1
+.if \w\\$1 .if \\$1 .nr )y \\n(.s
+.if \w\\$1 .if \\$1 .nr )y \\$1
+.if \w\\$1 .if \\$1-99 .nr )y \\n()X
+.if \w\\$1 .if \\$1 .ps \\n()y
+.vs \\n(.sp*5u/4u
+.ss 16
+.nr )a .8i+\\n()Ku
+.nr ]c \\n(.s
+.ps
+.nr ]d \\n(.s
+.ps
+.nr )A \\n(.s*\\n()Q/\\n(]X
+.ps \\n()A
+.nr )b \w\\*()B~u
+.ps
+.nr )A \\n(.s*\\n()R/\\n(]X
+.ps \\n()A
+.nr )c \\n()bu+\w\\*()C~u
+.ps
+.nr )A \\n(.s*\\n()S/\\n(]X
+.ps \\n()A
+.nr )d \\n()cu+\w\\*()D~u
+.ps \\n(]d
+.ps \\n(]c
+.if \\n(.$-1 .nr )u \\$2
+.if \\n(.$-1 .if !\\n()uu-7u .nr )p \\$2i
+.if \\n(.$-1 .if \\n()uu-7u .nr )p \\$2
+.nr )q \\n()pu-0i
+.nr )r \\n()qu-0i
+.nr )s \\n()ru-0i
+.nr )T \\n(.sp*5u/4u
+.nr )E \\n()Ju-\\n()Tu
+.ch )Z \\n()Eu
+..
+.de I
+.if !\w\\$1u .nr )k 0i
+.if \w\\$1u .if !\\$1 .nr )u 0i-\\$1
+.if \w\\$1u .if \\$1 .nr )u \\$1
+.if \w\\$1u .if !\\n()uu-7u .nr )k \\$1i
+.if \w\\$1u .if \\n()uu-7u .nr )k \\$1
+.if \\n(.$-1 .A \\$3
+..
+.de A
+.br
+.if !\\n(.$ .if \\n(nlu-\\n()nu .sp \\*(]Au
+.nr )n \\n(nlu
+.po \\n()au
+.in 0u+\\n()ku
+.ll \\n()pu
+.lt \\n()pu
+..
+.de B
+.br
+.if \\n(nlu-\\n()nu .sp \\*(]Bu
+.nr )n \\n(nlu
+.in \\n()bu+\\n()ku
+.ll \\n()qu
+.lt \\n()qu
+.nr )l 0
+.nr ]x \\n()bu
+.if !\\n(.$ .)I \\*()B \\n()Q
+.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
+.if \\n(.$-1 .if \\$2-99 .)I "\\$1~\|" \\n()Q
+.if \\n(.$-1 .if !\\$2-99 .nr )l 1
+.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
+..
+.de C
+.br
+.if \\n(nlu-\\n()nu .sp \\*(]Cu
+.nr )n \\n(nlu
+.in \\n()cu+\\n()ku
+.ll \\n()ru
+.lt \\n()ru
+.nr )l 0
+.nr ]x \\n()cu-\\n()bu
+.if !\\n(.$ .)I \\*()C \\n()R
+.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
+.if \\n(.$-1 .if \\$2-99 .)I "\\$1~\|" \\n()R
+.if \\n(.$-1 .if !\\$2-99 .nr )l 1
+.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
+..
+.de D
+.br
+.if \\n(nlu-\\n()nu .sp \\*(]Du
+.nr )n \\n(nlu
+.in \\n()du+\\n()ku
+.ll \\n()su
+.lt \\n()su
+.nr )l 0
+.nr ]x \\n()du-\\n()cu
+.if !\\n(.$ .)I \\*()D \\n()S
+.if \\n(.$ .if !\\n(.$-1 .)I "\\$1" 0
+.if \\n(.$-1 .if \\$2-99 .)I "\\$1~\|" \\n()S
+.if \\n(.$-1 .if !\\$2-99 .nr )l 1
+.if \\n(.$-1 .if !\\$2-99 .)I "\\$1" "\\$2"
+..
+.de )I
+.nr ]a \\n(.s
+.ps
+.nr ]b \\n(.s
+.ps
+.if !\\n()l .if !\\$2 .nr )A \\n(.s
+.if !\\n()l .if \\$2 .nr )A \\n(.s*\\$2/\\n(]X
+.if \\n()l .nr )A \\n(.s+\\$2
+.ps \\n()A
+.ti -\w\\$1~u
+\&\\$1~\&\c
+.ps \\n(]b
+.ps \\n(]a
+..
+.de U
+.if !\w\\$1u-.46m \&\\$1\v'.55m'\l'|0\(hy'\v'-.55m'\\$2
+.if \w\\$1u-.46m \&\\$1\v'.09m'\l'|0\(ul'\v'-.09m'\\$2
+..
+.de DV
+.if \w\\$1 .ds ]A \\$1
+.if \w\\$2 .ds ]B \\$2
+.if \w\\$3 .ds ]C \\$3
+.if \w\\$4 .ds ]D \\$4
+..
+.de DF
+.if \\n(.$-1 .ds )f "\\$2
+.if \\n(.$-1 .fp \\$1 \\$2
+.if \\n(.$-1 .ft \\$2
+.if \\n(.$-3 .fp \\$3 \\$4
+.if \\n(.$-5 .fp \\$5 \\$6
+.if \\n(.$-7 .fp \\$7 \\$8
+..
+.de SP
+.sp \\$1
+..
+.de BR
+.br
+..
+.de TA
+'ta \\$1 \\$2 \\$3 \\$4 \\$5 \\$6 \\$7 \\$8 \\$9
+..
+.de CE
+.ce \\$1
+..
+.de TI
+.ti \\$1
+..
+.de FI
+.fi
+..
+.de NF
+.nf
+..
+.de AD
+'ad \\$1
+..
+.de NA
+'na
+..
+.de HY
+'hy \\$1
+..
+.de NH
+'nh
+..
+.de SO
+'so \\$1
+..
+.de NX
+'nx \\$1
+..
+.ds )F FOIL
+.if \n(.A .ds )F FOIL
+.ds )N BTL
+.nr _Y 1900+\n(yr
+.ds )Y \n(mo/\n(dy/\n(_Y
+.ds )B \(bu~\|
+.ds )C \(em~\|
+.ds )D \(bu~\|
+.ds ]A .5v
+.ds ]B .5v
+.ds ]C .5v
+.ds ]D 0v
+.nr )G 11i-7.5p
+.nr )Q 5
+.nr )R 5
+.nr )S 3
+.nr ]X 6
+.nr )i 1
+.nr )w 0
+.em )z
+.DF 1 H
diff --git a/troff/troff.d/tmac.d/vgrind b/troff/troff.d/tmac.d/vgrind
new file mode 100644
index 0000000000000..ab2cd518f38cb
--- /dev/null
+++ b/troff/troff.d/tmac.d/vgrind
@@ -0,0 +1,406 @@
+.\"
+.\" CDDL HEADER START
+.\"
+.\" The contents of this file are subject to the terms of the
+.\" Common Development and Distribution License, Version 1.0 only
+.\" (the "License"). You may not use this file except in compliance
+.\" with the License.
+.\"
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+.\" or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions
+.\" and limitations under the License.
+.\"
+.\" When distributing Covered Code, include this CDDL HEADER in each
+.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+.\" If applicable, add the following below this CDDL HEADER, with the
+.\" fields enclosed by brackets "[]" replaced with your own identifying
+.\" information: Portions Copyright [yyyy] [name of copyright owner]
+.\"
+.\" CDDL HEADER END
+.\"
+.\" ident "@(#)vgrind 1.3 05/06/10 SMI"
+.ig
+ This version of tmac.vgrind is intended to interface more
+ gracefully to other macro packages than the previous version.
+ Rather than defining things irrevocably, with no way to alter
+ the definitions, this version encapsulates definitions and
+ changes in the operating environment into macros whose
+ definitions can be overriden as needed.
+
+ Guide to strings that vfontedpr generates code to define:
+ =F current file name
+ =H operand of vfontedpr's -h flag
+ =M time and date info for current file
+
+ Guide to number registers that vfontedpr generates code to define:
+ vP point size (in points) to use for main text. Pre-defined
+ only if the -s option was supplied to vfontedpr.
+ N.B.: does not affect headers or margin entries.
+
+ Internal strings
+ =f ellipsis string for current function
+ =G local copy of =F used to keep header and footer consistent
+ with each other
+ +K string used to start keyword; value depends on whether
+ or not a comment is active
+ -K string used to end keyword; value depends on whether
+ or not a comment is active
+
+ Internal number registers
+ v nonzero prevents cut marks (in theory, at least)
+ vC nonzero when in comment
+
+ To do: convert hard-wired point sizes, etc. to parameterized values.
+
+ XXX: vfontedpr has font 2 wired into it for comments; change to use
+ tC and fC as below.
+
+ *** This version is also augmented with support for two column output.
+
+ N.B.: I haven't thought at all about how to make this work in
+ filter mode. Things will have to be redefined, as I rely on adding
+ hooks to the header and footer macros to flip from one column to
+ the next.
+
+ Additional register that vfontedpr defines:
+ =2 if nonzero, generate two column output.
+
+ Additional internal number registers.
+ v2 corrent column number: 0 == left, 1 == right
+ vH saved vertical position of top of left column; calculated
+ in vH when switching to left column and used in vF when
+ switching to the right column.
+ vO page offset in effect for left column (the original offset).
+ vR page offset in effect for right column.
+ vL saved line length in effect at beginning of new page.
+ vK line length in effect for each column.
+ vX scratch register.
+..
+'\"----------------
+.ig
+ sI: Initialize configurable strings
+ XXX: need better name for this macro.
+ This macro is called from the vI macro at initialization time.
+ It must define the following:
+ _ string representation for underscore
+ - string representation for minus
+ / string representation for slash, shifted horizontally so
+ that C-style comments will line up
+ /* string representation for /*, shifted horizontally so
+ that C-style comments will line up.
+
+ tC string comment font in .ft form (e.g., `BI')
+ fC string comment font in \f form (e.g., `(BI')
+ tK string keyword font in .ft form
+ fK string keyword font in \f form
+ tP string program font in .ft form
+ fP string program font in \f form
+
+ By redefining this macro, one can alter the appearance of vgrind's
+ output.
+..
+.de sI
+'ds _ \d\(mi\u
+'ds - \(mi
+'ds / \\h'\\w' 'u-\\w'/'u'/
+'ds /* \\h'\\w' 'u-\\w'/'u'/*
+'\"
+'ds tC 2
+'ds fC 2
+'ds tK 3
+'ds fK 3
+'ds tP 1
+'ds fP 1
+'\"
+.nr v 1
+..
+'\"----------------
+.ig
+ no: no-op
+ This macro does nothing. It's defined as a place-holder to
+'\" immediately precede \} constructs, to make editing easier.
+..
+.de no
+..
+'\"----------------
+.ig
+ vI: Initial definitions.
+ This macro is called once only, before any .vS -- .vE program
+ inclusions are processed (or before all input files, if they consist
+ solely of program text).
+
+ XXX: We assume that 2-column mode imples landscape output. Ideally, there
+ should be a separate -T<device> entry for the landscape version of the
+ output device, but that hasn't happened. Instead, all there is is a
+ "-L" flag to troff that does nothing more than rotate the resulting
+ PostScript 90 degrees. In particular, page lengths and widths are
+ unaffected. Thus, we hack altered values into place here. This is
+ pretty disgusting...
+..
+.de vI
+'\" Deal with page length and width -- see above.
+'if \\n(=2 \{\
+' ll 9.5i
+' lt 9.5i
+' ev 2
+' ll 9.5i
+' lt 9.5i
+' ev
+' pl 8i
+'no\}
+'sI
+'\" If point size values haven't already been established, set them
+'\" to suitable default values. The defaults are smaller for two column
+'\" mode.
+'if \\n(vP=0 \{\
+' ie \\n(=2 \{\
+' nr vP 8
+' no\}
+' el \{\
+' nr vP 9
+' no\}
+'no\}
+'\" Force comment state indicators into the correct
+'\" initial state. Convert the comment start macro
+'\" to its final form.
+'+C
+'-C
+'am +C
+'ne 3
+\\..
+'ft \\*(tP
+'lg 0
+..
+'\"----------------
+.ig
+ vS: Start program text
+ This macro must be called at the start of a chunk of interpolated
+ program text. The version given here is a default version suitable
+ for standalone use -- that is, not in conjunction with some other
+ macro package. It should be redefined as necessary to coexist
+ gracefully with the macro package of your choice. Of course, the
+ redefined version should do the same things this version does.
+
+ It may be necessary to move the emboldening commands to the vI
+ macro, or remove them altogether. If they remain here, they will
+ probably have to be supplemented with copies of themselves that
+ are protected with the transparent throughput indicator.
+..
+.de vS
+'ss 23
+'\" Set text point size and vertical spacing.
+'\" XXX: All point size stuff should be parameterized, not just the
+'\" primary text sizes.
+'ps \\n(vPp
+'nr vX \\n(vP+1
+'vs \\n(vXp
+'\" If in two column mode, reduce page offset to first column a bit
+'\" and bump line length correspondingly.
+'\" XXX: Aargh! More hard-wiring!
+.if \\n(=2 \{\
+' po -0.4i
+' ll +0.4i
+' lt +0.4i
+' ev 2
+' ll +0.4i
+' lt +0.4i
+' ev
+'no\}
+'\"'bd B 3
+'\"'bd S B 3
+'nf \" When not run standalone, the host macro package
+' \" may well do this for us.
+'nr vC 0 \" We're not in a comment.
+'nr v2 0 \" start in left column
+'nr vO \\n(.ou \" save page offset
+'nr vL \\n(.lu \" save line length
+'nr vR \\n(.ou+(\\n(.lu/2u)+(0.25i)u \" get right column offset
+'ie \\n(=2 'nr vK (\\n(.lu/2u)-(0.25i)u \" get column width
+'el 'nr vK \\n(.lu
+..
+'\"----------------
+.ig
+ vE: End program text
+ This macro closes the chunk of program text started by vS. The
+ same comments apply to it that do for vS.
+..
+.de vE
+'ss 12
+'ps
+'vs
+'\"'bd B
+'\"'bd S
+..
+'\"----------------
+.ig
+ vH: Header macro
+ Only invoked when not in filter mode.
+
+ N.B.: This macro hard-wires the inter-column gap to 0.25i.
+..
+'de vH
+'v< \" Put out the header itself.
+'if \\n(=2 \{\
+'\" In two column mode: we've trapped because we've moved to a new
+'\" page. Save position information for later use. Squash down line
+'\" length.
+' nr v2 0 1 \" reset column counter
+' mk vH \" save vertical position for later restoration
+' ll \\n(vKu
+'.no\}
+'v. \" Put out the column header
+..
+'\"----------------
+.ig
+ v<: Output page header
+ Called from vH.
+..
+.de v<
+'ev 2
+'if t 'if !\nv 'tl '\-\-''\-\-'
+'\" Emit page header (file name at right and left page margins).
+'ft 1
+'sp .35i
+'tl '\s14\f3\\*(=F\fP\s0'\\*(=H'\f3\s14\\*(=F\fP\s0'
+'\"'\" Emit the ellipsis string for the current function.
+'\"'sp .25i
+'\"'ft 1
+'\"\f2\s12\h'\\n(.lu-\w'\\*(=f'u'\\*(=f\fP\s0\h'|0u'
+'\".sp .05i
+'ev
+'\" Save current file name for use in footer.
+'ds =G \\*(=F
+..
+'\"----------------
+.ig
+ v.: Output function ellipsis string as part of column header.
+ Called from vH.
+..
+.de v.
+'ev 2
+'sp .25i
+'ft 1
+\f2\s12\h'\\n(vKu-\w'\\*(=f'u'\\*(=f\fP\s0\h'|0u'
+.sp .05i
+'ev
+'ns \" Suppress additional spacing.
+..
+'\"----------------
+.ig
+ vF: Footer macro
+ Only invoked when not in filter mode.
+
+ If in two column mode, handles switching between columns.
+
+ N.B.: This macro hard-wires the inter-column gap to 0.25i.
+..
+.de vF
+'ie \\n(=2 \{\
+'\" in two column mode
+' ie \\n+(v2=1 \{\
+'\" Transition from left column to right.
+'\" Construct a vertical line running down the center of the
+'\" gutter.
+' ev 2
+' nr vX (\\n(vLu/2u-(0.125i))u \" Horiz off to gutter center
+\h'|\\n(vXu'\c
+\L'|\\n(vHu'\c
+\h'|0u'\c
+'\" Move back to top of column and bump page offset to move
+'\" into it.
+. sp |\\n(vHu
+' po \\n(vRu
+'\" Put out the current function ellipsis string.
+' ev
+' v.
+' no\}
+' el \{\
+'\" Transition from right column to left of next page: restore
+'\" saved values and then output the footer.
+' po \\n(vOu
+' ll \\n(vLu
+' v>
+' no\}
+'no\}
+'el 'v>
+..
+'\"----------------
+.ig
+ v>: Output page footer
+ Called from vF when in single column mode or when it hits the
+ bottom of the left column.
+..
+'de v>
+'ev 2
+'sp .35i
+'ie '\\*(=G'' 'tl '\f2\\*(=M''Page %\fP'
+'el 'tl '\f2\\*(=M''Page % of \\*(=G\fP'
+'bp
+'ev
+'ft \\*(tP
+'if \\n(vC=1 'ft \\*(tC
+..
+'\"----------------
+.ig
+ (): Inter-file macro
+ Only invoked when not in filter mode. Called between input files,
+ to reset page numbering for each.
+..
+'de ()
+'pn 1
+..
+'\"----------------
+.ig
+ +C: Start comment
+..
+'de +C
+'nr vC 1
+'ft \\*(tC
+'ds +K
+'ds -K
+..
+'\"----------------
+.ig
+ -C: end comment
+..
+'de -C
+'nr vC 0
+'ft \\*(tP
+'ds +K \\f\\*(fK
+'ds -K \fP
+..
+'\"----------------
+.ig
+ FN: function definition
+ Issues marginal notation giving function's name.
+ Issues the primary index entry for it.
+ Sets the =f string to record a continuation entry for it
+ (e.g., " ...func-name").
+..
+'de FN
+\f2\s14\h'\\n(vKu-\w'\\$1'u'\\$1\fP\s0\h'|0u'\c
+.if \\nx .tm \\$1 \\*(=F \\n%
+'ds =f \&...\\$1
+..
+'\"----------------
+.ig
+ FC: function continuation
+ Issues index entry for where the function definition picks up again.
+ Sets the =f string to record a continuation entry for it
+ (e.g., " ...func-name").
+..
+'de FC
+.if \\nx .tm \\$1 \\*(=F \\n%
+'ds =f \&...\\$1
+..
+'\"----------------
+.ig
+ -F: function end
+ Removes definition of =f string so that the marginal entry for
+ function continuation will no longer appear.
+..
+'de -F
+'rm =f
+..
+'\"----------------
diff --git a/troff/troff.d/troff.1 b/troff/troff.d/troff.1
new file mode 100644
index 0000000000000..65655d27ee04c
--- /dev/null
+++ b/troff/troff.d/troff.1
@@ -0,0 +1,308 @@
+.\"
+.\" Sccsid @(#)troff.1b 1.22 (gritter) 9/4/06
+.\" Derived from troff(1), Unix 7th edition:
+.\" Copyright(C) Caldera International Inc. 2001-2002. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" Redistributions of source code and documentation must retain the
+.\" above copyright notice, this list of conditions and the following
+.\" disclaimer.
+.\" Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" All advertising materials mentioning features or use of this software
+.\" must display the following acknowledgement:
+.\" This product includes software developed or owned by Caldera
+.\" International, Inc.
+.\" Neither the name of Caldera International, Inc. nor the names of
+.\" other contributors may be used to endorse or promote products
+.\" derived from this software without specific prior written permission.
+.\"
+.\" USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
+.\" INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE
+.\" LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+.\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+.\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+.\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
+.\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.TH TROFF 1 "9/4/06" "Heirloom Documentation Tools" "BSD System Compatibility"
+.SH NAME
+troff \- typeset or format documents
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBtroff\fR
+[\fB\-af\&izV\fR]
+[\fB\-d\fIaS\fR]
+[\fB\-d\fIa\fB=\fIS\fR]
+[\fB\-F\fIfontdir\fR]
+[\fB\-m\fIname\fR]
+[\fB\-n\fIN\fR]
+[\fB\-o\fIlist\fR]
+[\fB\-r\fIaN\fR]
+[\fB\-r\fIa\fB=\fIN\fR]
+[\fB\-s\fIN\fR]
+[\fB\-T\fIdevice\fR]
+[\fB\-u\fIN\fR]
+[\fB\-x\fIN\fR]
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I troff
+formats text in the named
+.I files
+for printing on phototypesetter devices.
+Its capabilities are described in the
+.I Nroff/Troff user's manual.
+.PP
+.I troff
+generates output in an intermediate ASCII format
+which must be passed through a device-dependent post-processor
+before it can be printed;
+see the description of the
+.I \-T
+option
+and the example
+below.
+.PP
+If no
+.I file
+argument is present, the standard input is read.
+An argument consisting of a single minus
+.RB ( \- )
+is taken to be
+a file name corresponding to the standard input.
+The options, which may appear in any order so long as they appear
+before the files, are:
+.TP "\w'\f3\-F\f1fontdir 'u"
+.BI \-o list
+Print only pages whose page numbers appear in
+the comma-separated
+.I list
+of numbers and ranges.
+A range
+.IB N \- M
+means pages
+.I N
+through
+.IR M ;
+an initial
+.I \-N
+means
+from the beginning to page
+.IR N ;
+and a final
+.IR N \-
+means
+from
+.I N
+to the end.
+.TP
+.BI \-n N
+Number first generated page
+.IR N .
+.TP
+.BI \-s N
+Stop every
+.I N
+pages.
+.I Troff
+will stop the phototypesetter every
+.I N
+pages,
+produce a trailer to allow changing cassettes,
+and resume when the typesetter's start button is pressed.
+.TP
+.BI \-m name
+Prepend the macro file
+.BI /usr/ucblib/doctools/tmac/tmac. name
+to the input
+.IR files .
+.TP
+.BI \-r aN
+Set register
+.I a
+(one-character) to
+.IR N .
+.TP
+.BI \-r a = N
+Set register
+.I a
+(may be more than one character) to
+.IR N .
+.TP
+.BI \-d aS
+Define string
+.I a
+(one-character) to
+.IR S .
+.TP
+.BI \-d a = S
+Define string
+.I a
+(may be more than one character) to
+.IR S .
+.TP
+.B \-i
+Read standard input after the input files are exhausted.
+.TP
+.B \-z
+Check syntax only;
+do not generate any output
+except for error messages.
+.TP
+.BI \-F fontdir
+Use the directory
+.I fontdir
+to locate font files.
+.TP
+.B \-u N
+Set the emboldening amount,
+i.e. the number of times a character is printed
+to simulate bold output,
+to
+.IR N .
+.TP
+.BI \-T device
+Prepare output for the specified device.
+Available
+.I devices
+are:
+.RS
+.TP 8n
+.PD 0
+.B ps
+for PostScript output with 72,000\ dpi
+and AFM fonts (default),
+with
+.I dpost
+as post-processor
+.TP
+.B psmed
+for PostScript output with 3,600\ dpi
+and AFM fonts,
+with
+.I dpost
+as post-processor
+.TP
+.B pslow
+for PostScript output with 432\ dpi
+and AFM fonts,
+with
+.I dpost
+as post-processor
+.TP
+.B post
+for PostScript output with 720\ dpi
+and
+.I ditroff
+fonts,
+with
+.I dpost
+as post-processor
+.TP
+.B html
+for HTML output,
+with
+.I dhtml
+as post-processor
+.ig \" aps is not installed any longer
+.TP
+.B aps
+for the Autologic APS-5,
+with
+.I daps
+as post-processor
+..
+.PD
+.RE
+.TP
+.B \-f
+Refrain from feeding out paper and stopping
+phototypesetter at the end of the run.
+.TP
+.B \-a
+Send a printable text-only approximation
+of the results to the standard output.
+.TP
+.BI \-x N
+Enable extensions to previous versions of
+.I troff
+at level
+.IR N .
+Level 0 disables any extensions;
+level 1 enables all extensions
+except for long requests and request arguments;
+level 2 enables these in addition
+but executes short requests which are prefixes of undefined long requests;
+level 3 ignores undefined long requests.
+.TP
+.B \-V
+Print troff version.
+.SH "ENVIRONMENT VARIABLES"
+.TP
+.BR LANG ", " LC_ALL
+See
+.IR locale (7).
+.TP
+.B LC_CTYPE
+Determines the mapping
+of bytes to characters.
+.TP
+.B TYPESETTER
+Specifies a device name as with the
+.I \-T
+option.
+.TP
+.B TROFFONTS
+A colon-separated list of directory names
+to search for PostScript fonts
+before the device font directory.
+.TP
+.B TROFFMACS
+Specifies the location to search for macro files with the
+.I \-m
+option.
+This string forms a prefix to which the macro package name
+is immediately appended.
+Thus to make `\-mname' work with a file `/path/to/tmac.name',
+use `TROFFMACS=/path/to/tmac.'
+.SH FILES
+.ta \w'/usr/ucblib/doctools/tmac/* 'u
+/tmp/ta* temporary file
+.br
+/usr/ucblib/doctools/tmac/* standard macro files
+.br
+/usr/ucblib/doctools/font/* font width tables
+.SH EXAMPLES
+To generate a PostScript file
+from input that contains equations and tables, use
+.RS
+.nf
+.sp
+<input tbl | eqn | troff | dpost >output.ps
+.sp
+.fi
+.RE
+The resulting file can then be sent to a printer,
+displayed by a previewer,
+or passed to further post-processing utilities,
+such as a PDF distiller.
+.SH "SEE ALSO"
+J. F. Ossanna,
+.I Nroff/Troff user's manual
+.br
+B. W. Kernighan,
+.I
+A TROFF Tutorial
+.br
+eqn(1), tbl(1)
diff --git a/troff/troff.d/troff.h b/troff/troff.d/troff.h
new file mode 100644
index 0000000000000..57c2a2b07e72b
--- /dev/null
+++ b/troff/troff.d/troff.h
@@ -0,0 +1,67 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)troff.h 1.27 (gritter) 8/19/08
+ */
+
+extern struct tracktab {
+ int s1;
+ int n1;
+ int s2;
+ int n2;
+} *tracktab;
+
+extern struct box {
+ int val[4];
+ int flag;
+} mediasize, bleedat, trimat, cropat;
+
+extern struct ref {
+ struct ref *next;
+ char *name;
+ int cnt;
+} *anchors, *links, *ulinks;
+
+extern struct dev dev;
+extern int Nfont;
+extern int *cstab;
+extern int *ccstab;
+extern int **fallbacktab;
+extern float *zoomtab;
+
+extern int nchtab;
+extern char *chname;
+extern int c_endash;
+
+extern int kern;
+extern int lettrack;
+extern float horscale;
+
+extern void growfonts(int);
+extern void setlig(int, int);
+extern int loadafm(int, int, char *, char *, int, enum spec);
+extern int getkw(tchar, tchar);
+extern void ptpapersize(void);
+extern void ptcut(void);
diff --git a/troff/troff.d/unimap.c b/troff/troff.d/unimap.c
new file mode 100644
index 0000000000000..333beb0edcc91
--- /dev/null
+++ b/troff/troff.d/unimap.c
@@ -0,0 +1,915 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)unimap.c 1.14 (gritter) 11/2/06
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "unimap.h"
+
+const struct rawunimap rawunimap[] = {
+ { 0x00A1, "exclamdown" },
+ { 0x00A2, "cent" },
+ { 0x00A2, "centoldstyle" },
+ { 0x00A3, "sterling" },
+ { 0x00A3, "sterlingalt" }, /* FournierMT-RegularAlt */
+ { 0x00A4, "currency" },
+ { 0x00A5, "yen" },
+ { 0x00A6, "brokenbar" },
+ { 0x00A7, "section" },
+ { 0x00A8, "dieresis" },
+ { 0x00A8, "Dieresissmall" },
+ { 0x00A9, "copyright" },
+ { 0x00A9, "copyrightsans" },
+ { 0x00A9, "copyrightserif" },
+ { 0x00AA, "ordfeminine" },
+ { 0x00AB, "guillemotleft" },
+ { 0x00AC, "logicalnot" },
+ { 0x00AE, "registered" },
+ { 0x00AE, "registersans" },
+ { 0x00AE, "registerserif" },
+ { 0x00AF, "macron" },
+ { 0x00AF, "Macronsmall" },
+ { 0x00B0, "degree" },
+ { 0x00B1, "plusminus" },
+ { 0x00B2, "twosuperior" },
+ { 0x00B3, "threesuperior" },
+ { 0x00B4, "acute" },
+ { 0x00B5, "mu" },
+ { 0x00B6, "paragraph" },
+ { 0x00B7, "periodcentered" },
+ { 0x00B8, "cedilla" },
+ { 0x00B8, "Cedillasmall" },
+ { 0x00B9, "onesuperior" },
+ { 0x00BA, "ordmasculine" },
+ { 0x00BB, "guillemotright" },
+ { 0x00BC, "onequarter" },
+ { 0x00BD, "onehalf" },
+ { 0x00BE, "threequarters" },
+ { 0x00BF, "questiondown" },
+ { 0x00C0, "Agrave" },
+ { 0x00C1, "Aacute" },
+ { 0x00C2, "Acircumflex" },
+ { 0x00C3, "Atilde" },
+ { 0x00C4, "Adieresis" },
+ { 0x00C5, "Aring" },
+ { 0x00C6, "AE" },
+ { 0x00C7, "Ccedilla" },
+ { 0x00C8, "Egrave" },
+ { 0x00C9, "Eacute" },
+ { 0x00CA, "Ecircumflex" },
+ { 0x00CB, "Edieresis" },
+ { 0x00CC, "Igrave" },
+ { 0x00CD, "Iacute" },
+ { 0x00CE, "Icircumflex" },
+ { 0x00CF, "Idieresis" },
+ { 0x00D0, "Eth" },
+ { 0x00D1, "Ntilde" },
+ { 0x00D1, "Ntildealt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D2, "Ograve" },
+ { 0x00D2, "Ogravealt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D3, "Oacute" },
+ { 0x00D3, "Oacutealt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D4, "Ocircumflex" },
+ { 0x00D4, "Ocircumflexalt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D5, "Otilde" },
+ { 0x00D5, "Otildealt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D6, "Odieresis" },
+ { 0x00D6, "Odieresisalt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D7, "multiply" },
+ { 0x00D8, "Oslash" },
+ { 0x00D8, "Oslashalt" }, /* BulmerMT-ItalicAlt */
+ { 0x00D9, "Ugrave" },
+ { 0x00DA, "Uacute" },
+ { 0x00DB, "Ucircumflex" },
+ { 0x00DC, "Udieresis" },
+ { 0x00DD, "Yacute" },
+ { 0x00DD, "Yacutealt" }, /* BulmerMT-ItalicAlt */
+ { 0x00DE, "Thorn" },
+ { 0x00DF, "germandbls" },
+ { 0x00E0, "agrave" },
+ { 0x00E0, "Agravesmall" },
+ { 0x00E1, "aacute" },
+ { 0x00E1, "Aacutesmall" },
+ { 0x00E2, "acircumflex" },
+ { 0x00E2, "Acircumflexsmall" },
+ { 0x00E3, "atilde" },
+ { 0x00E3, "Atildesmall" },
+ { 0x00E4, "adieresis" },
+ { 0x00E4, "Adieresissmall" },
+ { 0x00E5, "aring" },
+ { 0x00E5, "Aringsmall" },
+ { 0x00E6, "ae" },
+ { 0x00E6, "AEsmall" },
+ { 0x00E7, "ccedilla" },
+ { 0x00E7, "Ccedillasmall" },
+ { 0x00E8, "egrave" },
+ { 0x00E8, "Egravesmall" },
+ { 0x00E9, "eacute" },
+ { 0x00E9, "Eacutesmall" },
+ { 0x00EA, "ecircumflex" },
+ { 0x00EA, "Ecircumflexsmall" },
+ { 0x00EB, "edieresis" },
+ { 0x00EB, "Edieresissmall" },
+ { 0x00EC, "igrave" },
+ { 0x00EC, "Igravesmall" },
+ { 0x00ED, "iacute" },
+ { 0x00ED, "Iacutesmall" },
+ { 0x00EE, "icircumflex" },
+ { 0x00EE, "Icircumflexsmall" },
+ { 0x00EF, "idieresis" },
+ { 0x00EF, "Idieresissmall" },
+ { 0x00F0, "eth" },
+ { 0x00F0, "Ethsmall" },
+ { 0x00F1, "ntilde" },
+ { 0x00F1, "Ntildesmall" },
+ { 0x00F2, "ograve" },
+ { 0x00F2, "Ogravesmall" },
+ { 0x00F3, "oacute" },
+ { 0x00F3, "Oacutesmall" },
+ { 0x00F4, "ocircumflex" },
+ { 0x00F4, "Ocircumflexsmall" },
+ { 0x00F5, "otilde" },
+ { 0x00F5, "Otildesmall" },
+ { 0x00F6, "odieresis" },
+ { 0x00F6, "Odieresissmall" },
+ { 0x00F7, "divide" },
+ { 0x00F8, "oslash" },
+ { 0x00F8, "Oslashsmall" },
+ { 0x00F9, "ugrave" },
+ { 0x00F9, "Ugravesmall" },
+ { 0x00FA, "uacute" },
+ { 0x00FA, "Uacutesmall" },
+ { 0x00FB, "ucircumflex" },
+ { 0x00FB, "Ucircumflexsmall" },
+ { 0x00FC, "udieresis" },
+ { 0x00FC, "Udieresissmall" },
+ { 0x00FD, "yacute" },
+ { 0x00FD, "Yacutesmall" },
+ { 0x00FE, "thorn" },
+ { 0x00FE, "Thornsmall" },
+ { 0x00FF, "ydieresis" },
+ { 0x00FF, "Ydieresissmall" },
+ { 0x0100, "Amacron" },
+ { 0x0101, "amacron" },
+ { 0x0102, "Abreve" },
+ { 0x0103, "abreve" },
+ { 0x0104, "Aogonek" },
+ { 0x0105, "aogonek" },
+ { 0x0106, "Cacute" },
+ { 0x0107, "cacute" },
+ { 0x0108, "Ccircumflex" },
+ { 0x0109, "ccircumflex" },
+ { 0x010A, "Cdotaccent" },
+ { 0x010B, "cdotaccent" },
+ { 0x010C, "Ccaron" },
+ { 0x010D, "ccaron" },
+ { 0x010E, "Dcaron" },
+ { 0x010F, "dcaron" },
+ { 0x0110, "Dcroat" },
+ { 0x0111, "dcroat" },
+ { 0x0112, "Emacron" },
+ { 0x0113, "emacron" },
+ { 0x0114, "Ebreve" },
+ { 0x0115, "ebreve" },
+ { 0x0116, "Edotaccent" },
+ { 0x0117, "edotaccent" },
+ { 0x0118, "Eogonek" },
+ { 0x0119, "eogonek" },
+ { 0x011A, "Ecaron" },
+ { 0x011B, "ecaron" },
+ { 0x011C, "Gcircumflex" },
+ { 0x011D, "gcircumflex" },
+ { 0x011E, "Gbreve" },
+ { 0x011F, "gbreve" },
+ { 0x0120, "Gdotaccent" },
+ { 0x0121, "gdotaccent" },
+ { 0x0122, "Gcommaaccent" },
+ { 0x0123, "gcommaaccent" },
+ { 0x0124, "Hcircumflex" },
+ { 0x0125, "hcircumflex" },
+ { 0x0126, "Hbar" },
+ { 0x0127, "hbar" },
+ { 0x0128, "Itilde" },
+ { 0x0129, "itilde" },
+ { 0x012A, "Imacron" },
+ { 0x012B, "imacron" },
+ { 0x012C, "Ibreve" },
+ { 0x012D, "ibreve" },
+ { 0x012E, "Iogonek" },
+ { 0x012F, "iogonek" },
+ { 0x0130, "Idotaccent" },
+ { 0x0131, "dotlessi" },
+ { 0x0132, "IJ" },
+ { 0x0133, "ij" },
+ { 0x0134, "Jcircumflex" },
+ { 0x0135, "jcircumflex" },
+ { 0x0136, "Kcommaaccent" },
+ { 0x0137, "kcommaaccent" },
+ { 0x0138, "kgreenlandic" },
+ { 0x0139, "Lacute" },
+ { 0x013A, "lacute" },
+ { 0x013B, "Lcommaaccent" },
+ { 0x013C, "lcommaaccent" },
+ { 0x013D, "Lcaron" },
+ { 0x013E, "lcaron" },
+ { 0x013F, "Ldot" },
+ { 0x0140, "ldot" },
+ { 0x0141, "Lslash" },
+ { 0x0142, "lslash" },
+ { 0x0142, "Lslashsmall" },
+ { 0x0143, "Nacute" },
+ { 0x0144, "nacute" },
+ { 0x0145, "Ncommaaccent" },
+ { 0x0146, "ncommaaccent" },
+ { 0x0147, "Ncaron" },
+ { 0x0148, "ncaron" },
+ { 0x0149, "napostrophe" },
+ { 0x014A, "Eng" },
+ { 0x014B, "eng" },
+ { 0x014C, "Omacron" },
+ { 0x014D, "omacron" },
+ { 0x014E, "Obreve" },
+ { 0x014F, "obreve" },
+ { 0x0150, "Ohungarumlaut" },
+ { 0x0151, "ohungarumlaut" },
+ { 0x0152, "OE" },
+ { 0x0153, "oe" },
+ { 0x0153, "OEsmall" },
+ { 0x0154, "Racute" },
+ { 0x0155, "racute" },
+ { 0x0156, "Rcommaaccent" },
+ { 0x0157, "rcommaaccent" },
+ { 0x0158, "Rcaron" },
+ { 0x0159, "rcaron" },
+ { 0x015A, "Sacute" },
+ { 0x015B, "sacute" },
+ { 0x015C, "Scircumflex" },
+ { 0x015D, "scircumflex" },
+ { 0x015E, "Scedilla" },
+ { 0x015F, "scedilla" },
+ { 0x0160, "Scaron" },
+ { 0x0161, "scaron" },
+ { 0x0161, "Scaronsmall" },
+ { 0x0162, "Tcommaaccent" },
+ { 0x0163, "tcommaaccent" },
+ { 0x0164, "Tcaron" },
+ { 0x0165, "tcaron" },
+ { 0x0166, "Tbar" },
+ { 0x0167, "tbar" },
+ { 0x0168, "Utilde" },
+ { 0x0169, "utilde" },
+ { 0x016A, "Umacron" },
+ { 0x016B, "umacron" },
+ { 0x016C, "Ubreve" },
+ { 0x016D, "ubreve" },
+ { 0x016E, "Uring" },
+ { 0x016F, "uring" },
+ { 0x0170, "Uhungarumlaut" },
+ { 0x0171, "uhungarumlaut" },
+ { 0x0172, "Uogonek" },
+ { 0x0173, "uogonek" },
+ { 0x0174, "Wcircumflex" },
+ { 0x0175, "wcircumflex" },
+ { 0x0176, "Ycircumflex" },
+ { 0x0177, "ycircumflex" },
+ { 0x0178, "Ydieresis" },
+ { 0x0178, "Ydieresisalt" }, /* BulmerMT-ItalicAlt */
+ { 0x0179, "Zacute" },
+ { 0x017A, "zacute" },
+ { 0x017B, "Zdotaccent" },
+ { 0x017C, "zdotaccent" },
+ { 0x017D, "Zcaron" },
+ { 0x017E, "zcaron" },
+ { 0x017E, "Zcaronsmall" },
+ { 0x017F, "longs" },
+ { 0x0192, "florin" },
+ { 0x01A0, "Ohorn" },
+ { 0x01A1, "ohorn" },
+ { 0x01AF, "Uhorn" },
+ { 0x01B0, "uhorn" },
+ { 0x01E6, "Gcaron" },
+ { 0x01E7, "gcaron" },
+ { 0x01FA, "Aringacute" },
+ { 0x01FB, "aringacute" },
+ { 0x01FC, "AEacute" },
+ { 0x01FD, "aeacute" },
+ { 0x01FE, "Oslashacute" },
+ { 0x01FF, "oslashacute" },
+ { 0x0218, "Scommaaccent" },
+ { 0x0219, "scommaaccent" },
+ { 0x02BC, "afii57929" },
+ { 0x02BD, "afii64937" },
+ { 0x02C6, "circumflex" },
+ { 0x02C7, "caron" },
+ { 0x02C7, "Caronsmall" },
+ { 0x02D8, "breve" },
+ { 0x02D8, "Brevesmall" },
+ { 0x02D9, "dotaccent" },
+ { 0x02D9, "Dotaccentsmall" },
+ { 0x02DA, "ring" },
+ { 0x02DA, "Ringsmall" },
+ { 0x02DB, "ogonek" },
+ { 0x02DB, "Ogoneksmall" },
+ { 0x02DC, "tilde" },
+ { 0x02DD, "hungarumlaut" },
+ { 0x0300, "gravecomb" },
+ { 0x0301, "acutecomb" },
+ { 0x0303, "tildecomb" },
+ { 0x0309, "hookabovecomb" },
+ { 0x0323, "dotbelowcomb" },
+ { 0x0384, "tonos" },
+ { 0x0385, "dieresistonos" },
+ { 0x0386, "Alphatonos" },
+ { 0x0387, "anoteleia" },
+ { 0x0388, "Epsilontonos" },
+ { 0x0389, "Etatonos" },
+ { 0x038A, "Iotatonos" },
+ { 0x038C, "Omicrontonos" },
+ { 0x038E, "Upsilontonos" },
+ { 0x038F, "Omegatonos" },
+ { 0x0390, "iotadieresistonos" },
+ { 0x0391, "Alpha" },
+ { 0x0392, "Beta" },
+ { 0x0393, "Gamma" },
+ { 0x0394, "Delta" },
+ { 0x0395, "Epsilon" },
+ { 0x0396, "Zeta" },
+ { 0x0397, "Eta" },
+ { 0x0398, "Theta" },
+ { 0x0399, "Iota" },
+ { 0x039A, "Kappa" },
+ { 0x039B, "Lambda" },
+ { 0x039C, "Mu" },
+ { 0x039D, "Nu" },
+ { 0x039E, "Xi" },
+ { 0x039F, "Omicron" },
+ { 0x03A0, "Pi" },
+ { 0x03A1, "Rho" },
+ { 0x03A3, "Sigma" },
+ { 0x03A4, "Tau" },
+ { 0x03A5, "Upsilon" },
+ { 0x03A6, "Phi" },
+ { 0x03A7, "Chi" },
+ { 0x03A8, "Psi" },
+ { 0x03A9, "Omega" },
+ { 0x03AA, "Iotadieresis" },
+ { 0x03AB, "Upsilondieresis" },
+ { 0x03AC, "alphatonos" },
+ { 0x03AD, "epsilontonos" },
+ { 0x03AE, "etatonos" },
+ { 0x03AF, "iotatonos" },
+ { 0x03B0, "upsilondieresistonos" },
+ { 0x03B1, "alpha" },
+ { 0x03B2, "beta" },
+ { 0x03B3, "gamma" },
+ { 0x03B4, "delta" },
+ { 0x03B5, "epsilon" },
+ { 0x03B6, "zeta" },
+ { 0x03B7, "eta" },
+ { 0x03B8, "theta" },
+ { 0x03B9, "iota" },
+ { 0x03BA, "kappa" },
+ { 0x03BB, "lambda" },
+ { 0x03BC, "mu" },
+ { 0x03BD, "nu" },
+ { 0x03BE, "xi" },
+ { 0x03BF, "omicron" },
+ { 0x03C0, "pi" },
+ { 0x03C1, "rho" },
+ { 0x03C2, "sigma1" },
+ { 0x03C3, "sigma" },
+ { 0x03C4, "tau" },
+ { 0x03C5, "upsilon" },
+ { 0x03C6, "phi" },
+ { 0x03C7, "chi" },
+ { 0x03C8, "psi" },
+ { 0x03C9, "omega" },
+ { 0x03CA, "iotadieresis" },
+ { 0x03CB, "upsilondieresis" },
+ { 0x03CC, "omicrontonos" },
+ { 0x03CD, "upsilontonos" },
+ { 0x03CE, "omegatonos" },
+ { 0x03D1, "theta1" },
+ { 0x03D2, "Upsilon1" },
+ { 0x03D5, "phi1" },
+ { 0x03D6, "omega1" },
+ { 0x0401, "afii10023" },
+ { 0x0402, "afii10051" },
+ { 0x0403, "afii10052" },
+ { 0x0404, "afii10053" },
+ { 0x0405, "afii10054" },
+ { 0x0406, "afii10055" },
+ { 0x0407, "afii10056" },
+ { 0x0408, "afii10057" },
+ { 0x0409, "afii10058" },
+ { 0x040A, "afii10059" },
+ { 0x040B, "afii10060" },
+ { 0x040C, "afii10061" },
+ { 0x040E, "afii10062" },
+ { 0x040F, "afii10145" },
+ { 0x0410, "afii10017" },
+ { 0x0411, "afii10018" },
+ { 0x0412, "afii10019" },
+ { 0x0413, "afii10020" },
+ { 0x0414, "afii10021" },
+ { 0x0415, "afii10022" },
+ { 0x0416, "afii10024" },
+ { 0x0417, "afii10025" },
+ { 0x0418, "afii10026" },
+ { 0x0419, "afii10027" },
+ { 0x041A, "afii10028" },
+ { 0x041B, "afii10029" },
+ { 0x041C, "afii10030" },
+ { 0x041D, "afii10031" },
+ { 0x041E, "afii10032" },
+ { 0x041F, "afii10033" },
+ { 0x0420, "afii10034" },
+ { 0x0421, "afii10035" },
+ { 0x0422, "afii10036" },
+ { 0x0423, "afii10037" },
+ { 0x0424, "afii10038" },
+ { 0x0425, "afii10039" },
+ { 0x0426, "afii10040" },
+ { 0x0427, "afii10041" },
+ { 0x0428, "afii10042" },
+ { 0x0429, "afii10043" },
+ { 0x042A, "afii10044" },
+ { 0x042B, "afii10045" },
+ { 0x042C, "afii10046" },
+ { 0x042D, "afii10047" },
+ { 0x042E, "afii10048" },
+ { 0x042F, "afii10049" },
+ { 0x0430, "afii10065" },
+ { 0x0431, "afii10066" },
+ { 0x0432, "afii10067" },
+ { 0x0433, "afii10068" },
+ { 0x0434, "afii10069" },
+ { 0x0435, "afii10070" },
+ { 0x0436, "afii10072" },
+ { 0x0437, "afii10073" },
+ { 0x0438, "afii10074" },
+ { 0x0439, "afii10075" },
+ { 0x043A, "afii10076" },
+ { 0x043B, "afii10077" },
+ { 0x043C, "afii10078" },
+ { 0x043D, "afii10079" },
+ { 0x043E, "afii10080" },
+ { 0x043F, "afii10081" },
+ { 0x0440, "afii10082" },
+ { 0x0441, "afii10083" },
+ { 0x0442, "afii10084" },
+ { 0x0443, "afii10085" },
+ { 0x0444, "afii10086" },
+ { 0x0445, "afii10087" },
+ { 0x0446, "afii10088" },
+ { 0x0447, "afii10089" },
+ { 0x0448, "afii10090" },
+ { 0x0449, "afii10091" },
+ { 0x044A, "afii10092" },
+ { 0x044B, "afii10093" },
+ { 0x044C, "afii10094" },
+ { 0x044D, "afii10095" },
+ { 0x044E, "afii10096" },
+ { 0x044F, "afii10097" },
+ { 0x0451, "afii10071" },
+ { 0x0452, "afii10099" },
+ { 0x0453, "afii10100" },
+ { 0x0454, "afii10101" },
+ { 0x0455, "afii10102" },
+ { 0x0456, "afii10103" },
+ { 0x0457, "afii10104" },
+ { 0x0458, "afii10105" },
+ { 0x0459, "afii10106" },
+ { 0x045A, "afii10107" },
+ { 0x045B, "afii10108" },
+ { 0x045C, "afii10109" },
+ { 0x045E, "afii10110" },
+ { 0x045F, "afii10193" },
+ { 0x0462, "afii10146" },
+ { 0x0463, "afii10194" },
+ { 0x0472, "afii10147" },
+ { 0x0473, "afii10195" },
+ { 0x0474, "afii10148" },
+ { 0x0475, "afii10196" },
+ { 0x0490, "afii10050" },
+ { 0x0491, "afii10098" },
+ { 0x04D9, "afii10846" },
+ { 0x05B0, "afii57799" },
+ { 0x05B1, "afii57801" },
+ { 0x05B2, "afii57800" },
+ { 0x05B3, "afii57802" },
+ { 0x05B4, "afii57793" },
+ { 0x05B5, "afii57794" },
+ { 0x05B6, "afii57795" },
+ { 0x05B7, "afii57798" },
+ { 0x05B8, "afii57797" },
+ { 0x05B9, "afii57806" },
+ { 0x05BB, "afii57796" },
+ { 0x05BC, "afii57807" },
+ { 0x05BD, "afii57839" },
+ { 0x05BE, "afii57645" },
+ { 0x05BF, "afii57841" },
+ { 0x05C0, "afii57842" },
+ { 0x05C1, "afii57804" },
+ { 0x05C2, "afii57803" },
+ { 0x05C3, "afii57658" },
+ { 0x05D0, "afii57664" },
+ { 0x05D1, "afii57665" },
+ { 0x05D2, "afii57666" },
+ { 0x05D3, "afii57667" },
+ { 0x05D4, "afii57668" },
+ { 0x05D5, "afii57669" },
+ { 0x05D6, "afii57670" },
+ { 0x05D7, "afii57671" },
+ { 0x05D8, "afii57672" },
+ { 0x05D9, "afii57673" },
+ { 0x05DA, "afii57674" },
+ { 0x05DB, "afii57675" },
+ { 0x05DC, "afii57676" },
+ { 0x05DD, "afii57677" },
+ { 0x05DE, "afii57678" },
+ { 0x05DF, "afii57679" },
+ { 0x05E0, "afii57680" },
+ { 0x05E1, "afii57681" },
+ { 0x05E2, "afii57682" },
+ { 0x05E3, "afii57683" },
+ { 0x05E4, "afii57684" },
+ { 0x05E5, "afii57685" },
+ { 0x05E6, "afii57686" },
+ { 0x05E7, "afii57687" },
+ { 0x05E8, "afii57688" },
+ { 0x05E9, "afii57689" },
+ { 0x05EA, "afii57690" },
+ { 0x05F0, "afii57716" },
+ { 0x05F1, "afii57717" },
+ { 0x05F2, "afii57718" },
+ { 0x060C, "afii57388" },
+ { 0x061B, "afii57403" },
+ { 0x061F, "afii57407" },
+ { 0x0621, "afii57409" },
+ { 0x0622, "afii57410" },
+ { 0x0623, "afii57411" },
+ { 0x0624, "afii57412" },
+ { 0x0625, "afii57413" },
+ { 0x0626, "afii57414" },
+ { 0x0627, "afii57415" },
+ { 0x0628, "afii57416" },
+ { 0x0629, "afii57417" },
+ { 0x062A, "afii57418" },
+ { 0x062B, "afii57419" },
+ { 0x062C, "afii57420" },
+ { 0x062D, "afii57421" },
+ { 0x062E, "afii57422" },
+ { 0x062F, "afii57423" },
+ { 0x0630, "afii57424" },
+ { 0x0631, "afii57425" },
+ { 0x0632, "afii57426" },
+ { 0x0633, "afii57427" },
+ { 0x0634, "afii57428" },
+ { 0x0635, "afii57429" },
+ { 0x0636, "afii57430" },
+ { 0x0637, "afii57431" },
+ { 0x0638, "afii57432" },
+ { 0x0639, "afii57433" },
+ { 0x063A, "afii57434" },
+ { 0x0640, "afii57440" },
+ { 0x0641, "afii57441" },
+ { 0x0642, "afii57442" },
+ { 0x0643, "afii57443" },
+ { 0x0644, "afii57444" },
+ { 0x0645, "afii57445" },
+ { 0x0646, "afii57446" },
+ { 0x0647, "afii57470" },
+ { 0x0648, "afii57448" },
+ { 0x0649, "afii57449" },
+ { 0x064A, "afii57450" },
+ { 0x064B, "afii57451" },
+ { 0x064C, "afii57452" },
+ { 0x064D, "afii57453" },
+ { 0x064E, "afii57454" },
+ { 0x064F, "afii57455" },
+ { 0x0650, "afii57456" },
+ { 0x0651, "afii57457" },
+ { 0x0652, "afii57458" },
+ { 0x0660, "afii57392" },
+ { 0x0661, "afii57393" },
+ { 0x0662, "afii57394" },
+ { 0x0663, "afii57395" },
+ { 0x0664, "afii57396" },
+ { 0x0665, "afii57397" },
+ { 0x0666, "afii57398" },
+ { 0x0667, "afii57399" },
+ { 0x0668, "afii57400" },
+ { 0x0669, "afii57401" },
+ { 0x066A, "afii57381" },
+ { 0x066D, "afii63167" },
+ { 0x0679, "afii57511" },
+ { 0x067E, "afii57506" },
+ { 0x0686, "afii57507" },
+ { 0x0688, "afii57512" },
+ { 0x0691, "afii57513" },
+ { 0x0698, "afii57508" },
+ { 0x06A4, "afii57505" },
+ { 0x06AF, "afii57509" },
+ { 0x06BA, "afii57514" },
+ { 0x06D2, "afii57519" },
+ { 0x06D5, "afii57534" },
+ { 0x1E80, "Wgrave" },
+ { 0x1E81, "wgrave" },
+ { 0x1E82, "Wacute" },
+ { 0x1E83, "wacute" },
+ { 0x1E84, "Wdieresis" },
+ { 0x1E85, "wdieresis" },
+ { 0x1EF2, "Ygrave" },
+ { 0x1EF3, "ygrave" },
+ { 0x200C, "afii61664" },
+ { 0x200D, "afii301" },
+ { 0x200E, "afii299" },
+ { 0x200F, "afii300" },
+ { 0x2011, "hyphen" },
+ { 0x2012, "figuredash" },
+ { 0x2013, "endash" },
+ { 0x2014, "emdash" },
+ { 0x2015, "afii00208" },
+ { 0x2017, "underscoredbl" },
+ { 0x2018, "quoteleft" },
+ { 0x2019, "quoteright" },
+ { 0x201A, "quotesinglbase" },
+ { 0x201B, "quotereversed" },
+ { 0x201B, "quotesingle" },
+ { 0x201C, "quotedblleft" },
+ { 0x201C, "quotealtdblleft" }, /* BulmerMT-RegularAlt */
+ { 0x201D, "quotedblright" },
+ { 0x201E, "quotedblbase" },
+ { 0x2020, "dagger" },
+ { 0x2021, "daggerdbl" },
+ { 0x2022, "bullet" },
+ { 0x2024, "onedotenleader" },
+ { 0x2025, "twodotenleader" },
+ { 0x2026, "ellipsis" },
+ { 0x202C, "afii61573" },
+ { 0x202D, "afii61574" },
+ { 0x202E, "afii61575" },
+ { 0x2030, "perthousand" },
+ { 0x2032, "minute" },
+ { 0x2033, "second" },
+ { 0x2039, "guilsinglleft" },
+ { 0x203A, "guilsinglright" },
+ { 0x203C, "exclamdbl" },
+ { 0x203E, "radicalex" },
+ { 0x2044, "fraction" },
+ { 0x2070, "zerosuperior" },
+ { 0x2074, "foursuperior" },
+ { 0x2075, "fivesuperior" },
+ { 0x2076, "sixsuperior" },
+ { 0x2077, "sevensuperior" },
+ { 0x2078, "eightsuperior" },
+ { 0x2079, "ninesuperior" },
+ { 0x207D, "parenleftsuperior" },
+ { 0x207E, "parenrightsuperior" },
+ { 0x207F, "nsuperior" },
+ { 0x2080, "zeroinferior" },
+ { 0x2081, "oneinferior" },
+ { 0x2082, "twoinferior" },
+ { 0x2083, "threeinferior" },
+ { 0x2084, "fourinferior" },
+ { 0x2085, "fiveinferior" },
+ { 0x2086, "sixinferior" },
+ { 0x2087, "seveninferior" },
+ { 0x2088, "eightinferior" },
+ { 0x2089, "nineinferior" },
+ { 0x208D, "parenleftinferior" },
+ { 0x208E, "parenrightinferior" },
+ { 0x20A1, "colonmonetary" },
+ { 0x20A3, "franc" },
+ { 0x20A4, "lira" },
+ { 0x20A7, "peseta" },
+ { 0x20A8, "rupiah" },
+ { 0x20AA, "afii57636" },
+ { 0x20AB, "dong" },
+ { 0x20AC, "Euro" },
+ { 0x2105, "afii61248" },
+ { 0x2111, "Ifraktur" },
+ { 0x2113, "afii61289" },
+ { 0x2116, "afii61352" },
+ { 0x2118, "weierstrass" },
+ { 0x211C, "Rfraktur" },
+ { 0x211E, "prescription" },
+ { 0x2122, "trademark" },
+ { 0x2122, "trademarksans" },
+ { 0x2122, "trademarkserif" },
+ { 0x2126, "Omega" },
+ { 0x212E, "estimated" },
+ { 0x2135, "aleph" },
+ { 0x2153, "onethird" },
+ { 0x2154, "twothirds" },
+ { 0x215B, "oneeighth" },
+ { 0x215C, "threeeighths" },
+ { 0x215D, "fiveeighths" },
+ { 0x215E, "seveneighths" },
+ { 0x2190, "arrowleft" },
+ { 0x2191, "arrowup" },
+ { 0x2192, "arrowright" },
+ { 0x2193, "arrowdown" },
+ { 0x2194, "arrowboth" },
+ { 0x2195, "arrowupdn" },
+ { 0x21A8, "arrowupdnbse" },
+ { 0x21B5, "carriagereturn" },
+ { 0x21D0, "arrowdblleft" },
+ { 0x21D1, "arrowdblup" },
+ { 0x21D2, "arrowdblright" },
+ { 0x21D3, "arrowdbldown" },
+ { 0x21D4, "arrowdblboth" },
+ { 0x2200, "universal" },
+ { 0x2202, "partialdiff" },
+ { 0x2203, "existential" },
+ { 0x2205, "emptyset" },
+ { 0x2206, "Delta" },
+ { 0x2207, "gradient" },
+ { 0x2208, "element" },
+ { 0x2209, "notelement" },
+ { 0x220B, "suchthat" },
+ { 0x220F, "product" },
+ { 0x2211, "summation" },
+ { 0x2212, "minus" },
+ { 0x2215, "fraction" },
+ { 0x2217, "asteriskmath" },
+ { 0x221A, "radical" },
+ { 0x221D, "proportional" },
+ { 0x221E, "infinity" },
+ { 0x221F, "orthogonal" },
+ { 0x2220, "angle" },
+ { 0x2227, "logicaland" },
+ { 0x2228, "logicalor" },
+ { 0x2229, "intersection" },
+ { 0x222A, "union" },
+ { 0x222B, "integral" },
+ { 0x2234, "therefore" },
+ { 0x223C, "similar" },
+ { 0x2245, "congruent" },
+ { 0x2248, "approxequal" },
+ { 0x2260, "notequal" },
+ { 0x2261, "equivalence" },
+ { 0x2264, "lessequal" },
+ { 0x2265, "greaterequal" },
+ { 0x2282, "propersubset" },
+ { 0x2283, "propersuperset" },
+ { 0x2284, "notsubset" },
+ { 0x2286, "reflexsubset" },
+ { 0x2287, "reflexsuperset" },
+ { 0x2295, "circleplus" },
+ { 0x2297, "circlemultiply" },
+ { 0x22A5, "perpendicular" },
+ { 0x22C5, "dotmath" },
+ { 0x2302, "house" },
+ { 0x2310, "revlogicalnot" },
+ { 0x2320, "integraltp" },
+ { 0x2321, "integralbt" },
+ { 0x2329, "angleleft" },
+ { 0x232A, "angleright" },
+ { 0x2500, "SF100000" },
+ { 0x2502, "SF110000" },
+ { 0x250C, "SF010000" },
+ { 0x2510, "SF030000" },
+ { 0x2514, "SF020000" },
+ { 0x2518, "SF040000" },
+ { 0x251C, "SF080000" },
+ { 0x2524, "SF090000" },
+ { 0x252C, "SF060000" },
+ { 0x2534, "SF070000" },
+ { 0x253C, "SF050000" },
+ { 0x2550, "SF430000" },
+ { 0x2551, "SF240000" },
+ { 0x2552, "SF510000" },
+ { 0x2553, "SF520000" },
+ { 0x2554, "SF390000" },
+ { 0x2555, "SF220000" },
+ { 0x2556, "SF210000" },
+ { 0x2557, "SF250000" },
+ { 0x2558, "SF500000" },
+ { 0x2559, "SF490000" },
+ { 0x255A, "SF380000" },
+ { 0x255B, "SF280000" },
+ { 0x255C, "SF270000" },
+ { 0x255D, "SF260000" },
+ { 0x255E, "SF360000" },
+ { 0x255F, "SF370000" },
+ { 0x2560, "SF420000" },
+ { 0x2561, "SF190000" },
+ { 0x2562, "SF200000" },
+ { 0x2563, "SF230000" },
+ { 0x2564, "SF470000" },
+ { 0x2565, "SF480000" },
+ { 0x2566, "SF410000" },
+ { 0x2567, "SF450000" },
+ { 0x2568, "SF460000" },
+ { 0x2569, "SF400000" },
+ { 0x256A, "SF540000" },
+ { 0x256B, "SF530000" },
+ { 0x256C, "SF440000" },
+ { 0x2580, "upblock" },
+ { 0x2584, "dnblock" },
+ { 0x2588, "block" },
+ { 0x258C, "lfblock" },
+ { 0x2590, "rtblock" },
+ { 0x2591, "ltshade" },
+ { 0x2592, "shade" },
+ { 0x2593, "dkshade" },
+ { 0x25A0, "filledbox" },
+ { 0x25A1, "H22073" },
+ { 0x25AA, "H18543" },
+ { 0x25AB, "H18551" },
+ { 0x25AC, "filledrect" },
+ { 0x25B2, "triagup" },
+ { 0x25BA, "triagrt" },
+ { 0x25BC, "triagdn" },
+ { 0x25C4, "triaglf" },
+ { 0x25CA, "lozenge" },
+ { 0x25CB, "circle" },
+ { 0x25CF, "H18533" },
+ { 0x25D8, "invbullet" },
+ { 0x25D9, "invcircle" },
+ { 0x25E6, "openbullet" },
+ { 0x263A, "smileface" },
+ { 0x263B, "invsmileface" },
+ { 0x263C, "sun" },
+ { 0x2640, "female" },
+ { 0x2642, "male" },
+ { 0x2660, "spade" },
+ { 0x2663, "club" },
+ { 0x2665, "heart" },
+ { 0x2666, "diamond" },
+ { 0x266A, "musicalnote" },
+ { 0x266B, "musicalnotedbl" },
+ { 0xF8FF, "apple" },
+ { 0xFB00, "ff" },
+ { 0xFB00, "f_f" },
+ { 0xFB01, "fi" },
+ { 0xFB01, "f_i" },
+ { 0xFB02, "fl" },
+ { 0xFB02, "f_l" },
+ { 0xFB03, "ffi" },
+ { 0xFB03, "f_f_i" },
+ { 0xFB04, "ffl" },
+ { 0xFB04, "f_f_l" },
+/* { 0x0000, "hungarumlaut" }, ??? */
+ { -1, 0 }
+};
+
+struct unimap **unimap[256];
+
+void
+uninit(void)
+{
+ int i;
+
+ for (i = 0; rawunimap[i].psc; i++)
+ unadd(rawunimap[i].code, rawunimap[i].psc);
+}
+
+void
+unadd(int c, const char *cp)
+{
+ struct unimap *up, *u;
+ int x, y;
+
+ x = c >> 8;
+ y = c & 0377;
+ if (unimap[x] == NULL)
+ unimap[x] = calloc(256, sizeof *unimap);
+ u = calloc(1, sizeof *u);
+ if (cp == NULL) {
+ size_t l = 12;
+ cp = malloc(l);
+ snprintf((char *)cp, l, "uni%04X", c);
+ }
+ u->u.psc = cp;
+ if (unimap[x][y] != NULL) {
+ for (up = unimap[x][y]; up->next; up = up->next);
+ up->next = u;
+ } else
+ unimap[x][y] = u;
+}
diff --git a/troff/troff.d/unimap.h b/troff/troff.d/unimap.h
new file mode 100644
index 0000000000000..5743ad474e608
--- /dev/null
+++ b/troff/troff.d/unimap.h
@@ -0,0 +1,42 @@
+/*
+ * CDDL HEADER START
+ *
+ * The contents of this file are subject to the terms of the
+ * Common Development and Distribution License, Version 1.0 only
+ * (the "License"). You may not use this file except in compliance
+ * with the License.
+ *
+ * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+ * or http://www.opensolaris.org/os/licensing.
+ * See the License for the specific language governing permissions
+ * and limitations under the License.
+ *
+ * When distributing Covered Code, include this CDDL HEADER in each
+ * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+ * If applicable, add the following below this CDDL HEADER, with the
+ * fields enclosed by brackets "[]" replaced with your own identifying
+ * information: Portions Copyright [yyyy] [name of copyright owner]
+ *
+ * CDDL HEADER END
+ */
+/*
+ * Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)unimap.h 1.3 (gritter) 11/2/06
+ */
+
+extern const struct rawunimap {
+ int code;
+ const char *psc;
+} rawunimap[];
+
+extern struct unimap {
+ struct unimap *next;
+ union {
+ const char *psc;
+ int code;
+ } u;
+} **unimap[256];
+
+extern void uninit(void);
+extern void unadd(int, const char *);
diff --git a/troff/version.c b/troff/version.c
new file mode 100644
index 0000000000000..b1378a2821ada
--- /dev/null
+++ b/troff/version.c
@@ -0,0 +1,77 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+#if defined (DUMP)
+static const char sccsid[] USED =
+ "@(#)/usr/ucb/otfdump.sl 8.77 (gritter) 6/19/11";
+#elif defined (DPOST)
+static const char sccsid[] USED = "@(#)dpost.sl 8.77 (gritter) 6/19/11";
+const char creator[] = "Heirloom Documentation Tools - dpost 8.77 (gritter) 6/19/11";
+#elif defined (NROFF)
+static const char sccsid[] USED = "@(#)/usr/ucb/nroff.sl 8.77 (gritter) 6/19/11";
+#else /* !DUMP, !NROFF */
+static const char sccsid[] USED = "@(#)/usr/ucb/troff.sl 8.77 (gritter) 6/19/11";
+#endif /* !DUMP, !NROFF */
+const char revision[] = "8.77";
+/* SLIST */
+/*
+ext.h: * Sccsid @(#)ext.h 1.111 (gritter) 10/23/09
+hytab.c: * Sccsid @(#)hytab.c 1.4 (gritter) 8/16/05
+n1.c: * Sccsid @(#)n1.c 1.144 (gritter) 8/19/08
+n2.c: * Sccsid @(#)n2.c 1.47 (gritter) 5/25/08
+n3.c: * Sccsid @(#)n3.c 1.181 (gritter) 10/23/09
+n4.c: * Sccsid @(#)n4.c 1.102 (gritter) 10/23/09
+n5.c: * Sccsid @(#)n5.c 1.130 (gritter) 10/23/09
+n7.c: * Sccsid @(#)n7.c 1.181 (gritter) 6/19/11
+n8.c: * Sccsid @(#)n8.c 1.44 (gritter) 9/26/10
+n9.c: * Sccsid @(#)n9.c 1.78 (gritter) 10/23/09
+ni.c: * Sccsid @(#)ni.c 1.47 (gritter) 12/17/06
+nii.c: * Sccsid @(#)nii.c 1.48 (gritter) 3/5/07
+suftab.c: * Sccsid @(#)suftab.c 1.4 (gritter) 8/16/05
+tdef.h: * Sccsid @(#)tdef.h 1.165 (gritter) 10/23/09
+nroff.d/n10.c: * Sccsid @(#)n10.c 1.33 (gritter) 12/25/06
+nroff.d/n6.c: * Sccsid @(#)n6.c 1.51 (gritter) 6/19/11
+nroff.d/pt.h: * Sccsid @(#)pt.h 1.43 (gritter) 8/19/08
+nroff.d/tw.h: * Sccsid @(#)tw.h 1.6 (gritter) 4/25/06
+troff.d/afm.c: * Sccsid @(#)afm.c 1.65 (gritter) 1/14/10
+troff.d/afm.h: * Sccsid @(#)afm.h 1.35 (gritter) 10/5/06
+troff.d/dev.h: * Sccsid @(#)dev.h 1.15 (gritter) 9/24/06
+troff.d/draw.c: * Sccsid @(#)draw.c 1.3 (gritter) 8/8/05
+troff.d/makedev.c: * Sccsid @(#)makedev.c 1.16 (gritter) 9/22/06
+troff.d/otf.c: * Sccsid @(#)otf.c 1.68 (gritter) 3/17/10
+troff.d/otfdump.c: * Sccsid @(#)otfdump.c 1.15 (gritter) 3/16/06
+troff.d/pt.h: * Sccsid @(#)pt.h 1.54 (gritter) 8/19/08
+troff.d/t10.c: * Sccsid @(#)t10.c 1.98 (gritter) 8/19/08
+troff.d/t6.c: * Sccsid @(#)t6.c 1.194 (gritter) 2/7/10
+troff.d/troff.h: * Sccsid @(#)troff.h 1.27 (gritter) 8/19/08
+troff.d/unimap.c: * Sccsid @(#)unimap.c 1.14 (gritter) 11/2/06
+troff.d/unimap.h: * Sccsid @(#)unimap.h 1.3 (gritter) 11/2/06
+libhnj/hnjalloc.c: * Sccsid @(#)hnjalloc.c 1.3 (gritter) 8/26/05
+libhnj/hnjalloc.h: * Sccsid @(#)hnjalloc.h 1.2 (gritter) 8/25/05
+libhnj/hyphen.c: * Sccsid @(#)hyphen.c 1.5 (gritter) 4/19/06
+libhnj/hyphen.h: * Sccsid @(#)hyphen.h 1.3 (gritter) 8/25/05
+troff.d/dpost.d/afm.c: * Sccsid @(#)afm.c 1.3 (gritter) 5/1/06
+troff.d/dpost.d/asciitype.c: Sccsid @(#)asciitype.c 1.4 (gritter) 4/17/03
+troff.d/dpost.d/asciitype.h: Sccsid @(#)asciitype.h 1.6 (gritter) 9/9/05
+troff.d/dpost.d/color.c: * Sccsid @(#)color.c 1.5 (gritter) 11/29/05
+troff.d/dpost.d/comments.h: * Sccsid @(#)comments.h 1.5 (gritter) 8/23/05
+troff.d/dpost.d/dpost.c: * Sccsid @(#)dpost.c 1.176 (gritter) 8/19/08
+troff.d/dpost.d/dpost.h: * Sccsid @(#)dpost.h 1.11 (gritter) 9/22/06
+troff.d/dpost.d/draw.c: * Sccsid @(#)draw.c 1.7 (gritter) 3/27/07
+troff.d/dpost.d/ext.h: * Sccsid @(#)ext.h 1.7 (gritter) 3/27/07
+troff.d/dpost.d/gen.h: * Sccsid @(#)gen.h 1.16 (gritter) 10/15/06
+troff.d/dpost.d/getopt.c: * Sccsid @(#)getopt.c 1.10 (gritter) 12/16/07
+troff.d/dpost.d/glob.c: * Sccsid @(#)glob.c 1.3 (gritter) 8/9/05
+troff.d/dpost.d/makedev.c: * Sccsid @(#)makedev.c 1.1 (gritter) 9/4/05
+troff.d/dpost.d/misc.c: * Sccsid @(#)misc.c 1.14 (gritter) 12/25/06
+troff.d/dpost.d/otf.c: * Sccsid @(#)otf.c 1.3 (gritter) 10/13/05
+troff.d/dpost.d/path.h: * Sccsid @(#)path.h 1.5 (gritter) 12/18/05
+troff.d/dpost.d/pictures.c: * Sccsid @(#)pictures.c 1.7 (gritter) 3/27/07
+troff.d/dpost.d/ps_include.c: * Sccsid @(#)ps_include.c 1.10 (gritter) 10/15/06
+troff.d/dpost.d/request.c: * Sccsid @(#)request.c 1.3 (gritter) 8/9/05
+troff.d/dpost.d/request.h: * Sccsid @(#)request.h 1.3 (gritter) 8/9/05
+*/
diff --git a/version.mk b/version.mk
new file mode 100644
index 0000000000000..92176c8f9c84e
--- /dev/null
+++ b/version.mk
@@ -0,0 +1,2 @@
+RELEASE = Git snapshot 161006
+#RELEASE = release 160308
diff --git a/vgrind/Makefile.mk b/vgrind/Makefile.mk
new file mode 100644
index 0000000000000..d167fccda151a
--- /dev/null
+++ b/vgrind/Makefile.mk
@@ -0,0 +1,34 @@
+OBJ = regexp.o vfontedpr.o vgrindefs.o version.o
+
+FLAGS = $(EUC) -DLIBDIR='"$(LIBDIR)"' $(DEFINES) -I../include
+
+.c.o:
+ $(CC) $(CFLAGS) $(WARN) $(FLAGS) $(CPPFLAGS) -c $<
+
+all: vgrind vfontedpr
+
+vfontedpr: $(OBJ)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJ) $(LIBS) -o vfontedpr
+
+vgrind: vgrind.sh
+ rm -f $@
+ echo "#!$(SHELL)" >>$@
+ echo "_TROFF=$(BINDIR)/troff" >>$@
+ echo "_VFONTEDPR=$(LIBDIR)/vfontedpr" >>$@
+ echo "_TMAC_VGRIND=$(MACDIR)/vgrind" >>$@
+ echo "_DPOST=$(BINDIR)/dpost" >>$@
+ cat vgrind.sh >>$@
+ chmod 755 $@
+
+install:
+ $(INSTALL) -c vgrind $(ROOT)$(BINDIR)/vgrind
+ test -d $(ROOT)$(LIBDIR) || mkdir -p $(ROOT)$(LIBDIR)
+ $(INSTALL) -c vfontedpr $(ROOT)$(LIBDIR)/vfontedpr
+ $(STRIP) $(ROOT)$(LIBDIR)/vfontedpr
+ $(INSTALL) -c -m 644 vgrindefs.src $(ROOT)$(LIBDIR)/vgrindefs
+ $(INSTALL) -c -m 644 vgrind.1 $(ROOT)$(MANDIR)/man1/vgrind.1
+
+clean:
+ rm -f $(OBJ) vfontedpr vgrind retest retest.o core log *~
+
+mrproper: clean
diff --git a/vgrind/regexp.c b/vgrind/regexp.c
new file mode 100644
index 0000000000000..185536b5ceba4
--- /dev/null
+++ b/vgrind/regexp.c
@@ -0,0 +1,569 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "regexp.c 1.11 92/07/21 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)regexp.c 1.3 (gritter) 10/22/05
+ */
+ /* from UCB 5.1 (Berkeley) 6/5/85 */
+
+#include <ctype.h>
+#include <string.h>
+#include <stdlib.h>
+
+typedef int boolean;
+#define TRUE 1
+#define FALSE 0
+#define NIL 0
+
+extern boolean l_onecase; /* true if upper and lower equivalent */
+extern char *l_idchars; /* set of characters legal in identifiers
+ in addition to letters and digits */
+
+static void expconv(void);
+
+#define isidchr(c) \
+ (isalnum(c) || ((c) != NIL && strchr(l_idchars, (c)) != NIL))
+#define makelower(c) (isupper((int)(c)) ? tolower((int)(c)) : (c))
+
+/* STRNCMP - like strncmp except that we convert the
+ * first string to lower case before comparing
+ * if l_onecase is set.
+ */
+
+int
+STRNCMP(register char *s1, register char *s2, register int len)
+{
+ if (l_onecase) {
+ do
+ if (*s2 - makelower(*s1))
+ return (*s2 - makelower(*s1));
+ else {
+ s2++;
+ s1++;
+ }
+ while (--len);
+ } else {
+ do
+ if (*s2 - *s1)
+ return (*s2 - *s1);
+ else {
+ s2++;
+ s1++;
+ }
+ while (--len);
+ }
+ return(0);
+}
+
+/* The following routine converts an irregular expression to
+ * internal format.
+ *
+ * Either meta symbols (\a \d or \p) or character strings or
+ * operations ( alternation or parenthesizing ) can be
+ * specified. Each starts with a descriptor byte. The descriptor
+ * byte has STR set for strings, META set for meta symbols
+ * and OPER set for operations.
+ * The descriptor byte can also have the OPT bit set if the object
+ * defined is optional. Also ALT can be set to indicate an alternation.
+ *
+ * For metasymbols the byte following the descriptor byte identities
+ * the meta symbol (containing an ascii 'a', 'd', 'p', '|', or '('). For
+ * strings the byte after the descriptor is a character count for
+ * the string:
+ *
+ * meta symbols := descriptor
+ * symbol
+ *
+ * strings := descriptor
+ * character count
+ * the string
+ *
+ * operations := descriptor
+ * symbol
+ * character count
+ */
+
+/*
+ * handy macros for accessing parts of match blocks
+ */
+#define MSYM(A) (*(A+1)) /* symbol in a meta symbol block */
+#define MNEXT(A) (A+2) /* character following a metasymbol block */
+
+#define OSYM(A) (*(A+1)) /* symbol in an operation block */
+#define OCNT(A) (*(A+2)) /* character count */
+#define ONEXT(A) (A+3) /* next character after the operation */
+#define OPTR(A) (A+*(A+2)) /* place pointed to by the operator */
+
+#define SCNT(A) (*(A+1)) /* byte count of a string */
+#define SSTR(A) (A+2) /* address of the string */
+#define SNEXT(A) (A+2+*(A+1)) /* character following the string */
+
+/*
+ * bit flags in the descriptor
+ */
+#define OPT 1
+#define STR 2
+#define META 4
+#define ALT 8
+#define OPER 16
+
+static char *ure; /* pointer current position in unconverted exp */
+static char *ccre; /* pointer to current position in converted exp*/
+
+char *
+convexp(
+ char *re /* unconverted irregular expression */
+)
+{
+ register char *cre; /* pointer to converted regular expression */
+
+ /* allocate room for the converted expression */
+ if (re == NIL)
+ return (NIL);
+ if (*re == '\0')
+ return (NIL);
+ cre = malloc (4 * strlen(re) + 3);
+ ccre = cre;
+ ure = re;
+
+ /* start the conversion with a \a */
+ *cre = META | OPT;
+ MSYM(cre) = 'a';
+ ccre = MNEXT(cre);
+
+ /* start the conversion (its recursive) */
+ expconv ();
+ *ccre = 0;
+ return (cre);
+}
+
+static void
+expconv(void)
+{
+ register char *cs; /* pointer to current symbol in converted exp */
+ register char c; /* character being processed */
+ register char *acs; /* pinter to last alternate */
+ register int temp;
+
+ /* let the conversion begin */
+ acs = NIL;
+ cs = NIL;
+ while (*ure != NIL) {
+ switch (c = *ure++) {
+
+ case '\\':
+ switch (c = *ure++) {
+
+ /* escaped characters are just characters */
+ default:
+ if (cs == NIL || (*cs & STR) == 0) {
+ cs = ccre;
+ *cs = STR;
+ SCNT(cs) = 1;
+ ccre += 2;
+ } else
+ SCNT(cs)++;
+ *ccre++ = c;
+ break;
+
+ /* normal(?) metacharacters */
+ case 'a':
+ case 'd':
+ case 'e':
+ case 'p':
+ if (acs != NIL && acs != cs) {
+ do {
+ temp = OCNT(acs);
+ OCNT(acs) = ccre - acs;
+ acs -= temp;
+ } while (temp != 0);
+ acs = NIL;
+ }
+ cs = ccre;
+ *cs = META;
+ MSYM(cs) = c;
+ ccre = MNEXT(cs);
+ break;
+ }
+ break;
+
+ /* just put the symbol in */
+ case '^':
+ case '$':
+ if (acs != NIL && acs != cs) {
+ do {
+ temp = OCNT(acs);
+ OCNT(acs) = ccre - acs;
+ acs -= temp;
+ } while (temp != 0);
+ acs = NIL;
+ }
+ cs = ccre;
+ *cs = META;
+ MSYM(cs) = c;
+ ccre = MNEXT(cs);
+ break;
+
+ /* mark the last match sequence as optional */
+ case '?':
+ if (cs)
+ *cs = *cs | OPT;
+ break;
+
+ /* recurse and define a subexpression */
+ case '(':
+ if (acs != NIL && acs != cs) {
+ do {
+ temp = OCNT(acs);
+ OCNT(acs) = ccre - acs;
+ acs -= temp;
+ } while (temp != 0);
+ acs = NIL;
+ }
+ cs = ccre;
+ *cs = OPER;
+ OSYM(cs) = '(';
+ ccre = ONEXT(cs);
+ expconv ();
+ OCNT(cs) = ccre - cs; /* offset to next symbol */
+ break;
+
+ /* return from a recursion */
+ case ')':
+ if (acs != NIL) {
+ do {
+ temp = OCNT(acs);
+ OCNT(acs) = ccre - acs;
+ acs -= temp;
+ } while (temp != 0);
+ acs = NIL;
+ }
+ cs = ccre;
+ *cs = META;
+ MSYM(cs) = c;
+ ccre = MNEXT(cs);
+ return;
+
+ /* mark the last match sequence as having an alternate */
+ /* the third byte will contain an offset to jump over the */
+ /* alternate match in case the first did not fail */
+ case '|':
+ if (acs != NIL && acs != cs)
+ OCNT(ccre) = ccre - acs; /* make a back pointer */
+ else
+ OCNT(ccre) = 0;
+ *cs |= ALT;
+ cs = ccre;
+ *cs = OPER;
+ OSYM(cs) = '|';
+ ccre = ONEXT(cs);
+ acs = cs; /* remember that the pointer is to be filles */
+ break;
+
+ /* if its not a metasymbol just build a scharacter string */
+ default:
+ if (cs == NIL || (*cs & STR) == 0) {
+ cs = ccre;
+ *cs = STR;
+ SCNT(cs) = 1;
+ ccre = SSTR(cs);
+ } else
+ SCNT(cs)++;
+ *ccre++ = c;
+ break;
+ }
+ }
+ if (acs != NIL) {
+ do {
+ temp = OCNT(acs);
+ OCNT(acs) = ccre - acs;
+ acs -= temp;
+ } while (temp != 0);
+ acs = NIL;
+ }
+ return;
+}
+/* end of convertre */
+
+
+/*
+ * The following routine recognises an irregular expresion
+ * with the following special characters:
+ *
+ * \? - means last match was optional
+ * \a - matches any number of characters
+ * \d - matches any number of spaces and tabs
+ * \p - matches any number of alphanumeric
+ * characters. The
+ * characters matched will be copied into
+ * the area pointed to by 'name'.
+ * \| - alternation
+ * \( \) - grouping used mostly for alternation and
+ * optionality
+ *
+ * The irregular expression must be translated to internal form
+ * prior to calling this routine
+ *
+ * The value returned is the pointer to the first non \a
+ * character matched.
+ */
+
+extern boolean escaped; /* true if we are currently escaped */
+extern char *Start; /* start of string */
+
+char *
+expmatch (
+ register char *s, /* string to check for a match in */
+ register char *re, /* a converted irregular expression */
+ register char *mstring /* where to put whatever matches a \p */
+)
+{
+ register char *cs; /* the current symbol */
+ register char *ptr,*s1; /* temporary pointer */
+ boolean matched; /* a temporary boolean */
+
+ /* initial conditions */
+ if (re == NIL)
+ return (NIL);
+ cs = re;
+ matched = FALSE;
+
+ /* loop till expression string is exhausted (or at least pretty tired) */
+ while (*cs) {
+ switch (*cs & (OPER | STR | META)) {
+
+ /* try to match a string */
+ case STR:
+ matched = !STRNCMP (s, SSTR(cs), SCNT(cs));
+ if (matched) {
+
+ /* hoorah it matches */
+ s += SCNT(cs);
+ cs = SNEXT(cs);
+ } else if (*cs & ALT) {
+
+ /* alternation, skip to next expression */
+ cs = SNEXT(cs);
+ } else if (*cs & OPT) {
+
+ /* the match is optional */
+ cs = SNEXT(cs);
+ matched = 1; /* indicate a successful match */
+ } else {
+
+ /* no match, error return */
+ return (NIL);
+ }
+ break;
+
+ /* an operator, do something fancy */
+ case OPER:
+ switch (OSYM(cs)) {
+
+ /* this is an alternation */
+ case '|':
+ if (matched)
+
+ /* last thing in the alternation was a match, skip ahead */
+ cs = OPTR(cs);
+ else
+
+ /* no match, keep trying */
+ cs = ONEXT(cs);
+ break;
+
+ /* this is a grouping, recurse */
+ case '(':
+ ptr = expmatch (s, ONEXT(cs), mstring);
+ if (ptr != NIL) {
+
+ /* the subexpression matched */
+ matched = 1;
+ s = ptr;
+ } else if (*cs & ALT) {
+
+ /* alternation, skip to next expression */
+ matched = 0;
+ } else if (*cs & OPT) {
+
+ /* the match is optional */
+ matched = 1; /* indicate a successful match */
+ } else {
+
+ /* no match, error return */
+ return (NIL);
+ }
+ cs = OPTR(cs);
+ break;
+ }
+ break;
+
+ /* try to match a metasymbol */
+ case META:
+ switch (MSYM(cs)) {
+
+ /* try to match anything and remember what was matched */
+ case 'p':
+ /*
+ * This is really the same as trying the match the
+ * remaining parts of the expression to any subset
+ * of the string.
+ */
+ s1 = s;
+ do {
+ ptr = expmatch (s1, MNEXT(cs), mstring);
+ if (ptr != NIL && s1 != s) {
+
+ /* we have a match, remember the match */
+ strncpy (mstring, s, s1 - s);
+ mstring[s1 - s] = '\0';
+ return (ptr);
+ } else if (ptr != NIL && (*cs & OPT)) {
+
+ /* it was aoptional so no match is ok */
+ return (ptr);
+ } else if (ptr != NIL) {
+
+ /* not optional and we still matched */
+ return (NIL);
+ }
+ if (!isidchr((int)*s1))
+ return (NIL);
+ if (*s1 == '\\')
+ escaped = escaped ? FALSE : TRUE;
+ else
+ escaped = FALSE;
+ } while (*s1++);
+ return (NIL);
+
+ /* try to match anything */
+ case 'a':
+ /*
+ * This is really the same as trying the match the
+ * remaining parts of the expression to any subset
+ * of the string.
+ */
+ s1 = s;
+ do {
+ ptr = expmatch (s1, MNEXT(cs), mstring);
+ if (ptr != NIL && s1 != s) {
+
+ /* we have a match */
+ return (ptr);
+ } else if (ptr != NIL && (*cs & OPT)) {
+
+ /* it was aoptional so no match is ok */
+ return (ptr);
+ } else if (ptr != NIL) {
+
+ /* not optional and we still matched */
+ return (NIL);
+ }
+ if (*s1 == '\\')
+ escaped = escaped ? FALSE : TRUE;
+ else
+ escaped = FALSE;
+ } while (*s1++);
+ return (NIL);
+
+ /* fail if we are currently escaped */
+ case 'e':
+ if (escaped)
+ return(NIL);
+ cs = MNEXT(cs);
+ break;
+
+ /* match any number of tabs and spaces */
+ case 'd':
+ ptr = s;
+ while (*s == ' ' || *s == '\t')
+ s++;
+ if (s != ptr || s == Start) {
+
+ /* match, be happy */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else if (*s == '\n' || *s == '\0') {
+
+ /* match, be happy */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else if (*cs & ALT) {
+
+ /* try the next part */
+ matched = 0;
+ cs = MNEXT(cs);
+ } else if (*cs & OPT) {
+
+ /* doesn't matter */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else
+
+ /* no match, error return */
+ return (NIL);
+ break;
+
+ /* check for end of line */
+ case '$':
+ if (*s == '\0' || *s == '\n') {
+
+ /* match, be happy */
+ s++;
+ matched = 1;
+ cs = MNEXT(cs);
+ } else if (*cs & ALT) {
+
+ /* try the next part */
+ matched = 0;
+ cs = MNEXT(cs);
+ } else if (*cs & OPT) {
+
+ /* doesn't matter */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else
+
+ /* no match, error return */
+ return (NIL);
+ break;
+
+ /* check for start of line */
+ case '^':
+ if (s == Start) {
+
+ /* match, be happy */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else if (*cs & ALT) {
+
+ /* try the next part */
+ matched = 0;
+ cs = MNEXT(cs);
+ } else if (*cs & OPT) {
+
+ /* doesn't matter */
+ matched = 1;
+ cs = MNEXT(cs);
+ } else
+
+ /* no match, error return */
+ return (NIL);
+ break;
+
+ /* end of a subexpression, return success */
+ case ')':
+ return (s);
+ }
+ break;
+ }
+ }
+ return (s);
+}
diff --git a/vgrind/retest.c b/vgrind/retest.c
new file mode 100644
index 0000000000000..3364d9b2a846e
--- /dev/null
+++ b/vgrind/retest.c
@@ -0,0 +1,83 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "retest.c 1.11 92/07/21 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)retest.c 1.3 (gritter) 10/22/05
+ */
+ /* from UCB 5.1 (Berkeley) 6/5/85 */
+
+#include <ctype.h>
+
+int l_onecase = 0;
+
+char *l_idchars = "_"; /* characters legal in identifiers in addition
+ to alphanumerics */
+
+char * Start;
+char * _escaped;
+char * convexp();
+char * expmatch();
+int
+main(void)
+{
+ char reg[132];
+ char *ireg;
+ char str[132];
+ char *match;
+ char matstr[132];
+ char c;
+
+ while (1) {
+ printf ("\nexpr: ");
+ scanf ("%s", reg);
+ ireg = convexp(reg);
+ match = ireg;
+ while(*match) {
+ switch (*match) {
+
+ case '\\':
+ case '(':
+ case ')':
+ case '|':
+ printf ("%c", *match);
+ break;
+
+ default:
+ if (isalnum(*match))
+ printf("%c", *match);
+ else
+ printf ("<%03o>", *match);
+ break;
+ }
+ match++;
+ }
+ printf("\n");
+ getchar();
+ while(1) {
+ printf ("string: ");
+ match = str;
+ while ((c = getchar()) != '\n')
+ *match++ = c;
+ *match = 0;
+ if (str[0] == '#')
+ break;
+ matstr[0] = 0;
+ Start = str;
+ _escaped = 0;
+ match = expmatch (str, ireg, matstr);
+ if (match == 0)
+ printf ("FAILED\n");
+ else
+ printf ("match\nmatstr = %s\n", matstr);
+ }
+
+ }
+ return 0;
+}
diff --git a/vgrind/version.c b/vgrind/version.c
new file mode 100644
index 0000000000000..5df0b7111fbee
--- /dev/null
+++ b/vgrind/version.c
@@ -0,0 +1,15 @@
+#if __GNUC__ >= 3 && __GNUC_MINOR__ >= 4 || __GNUC__ >= 4
+#define USED __attribute__ ((used))
+#elif defined __GNUC__
+#define USED __attribute__ ((unused))
+#else
+#define USED
+#endif
+static const char sccsid[] USED = "@(#)/usr/ucblib/vfontedpr.sl 5.1 (gritter) 10/25/05";
+/* SLIST */
+/*
+regexp.c: * Sccsid @(#)regexp.c 1.3 (gritter) 10/22/05
+retest.c: * Sccsid @(#)retest.c 1.3 (gritter) 10/22/05
+vfontedpr.c: * Sccsid @(#)vfontedpr.c 1.4 (gritter) 10/22/05
+vgrindefs.c: * Sccsid @(#)vgrindefs.c 1.3 (gritter) 10/22/05
+*/
diff --git a/vgrind/vfontedpr.c b/vgrind/vfontedpr.c
new file mode 100644
index 0000000000000..9f833730f4b83
--- /dev/null
+++ b/vgrind/vfontedpr.c
@@ -0,0 +1,901 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "vfontedpr.c 1.17 93/06/03 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)vfontedpr.c 1.4 (gritter) 10/22/05
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <locale.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+#ifdef EUC
+#include <wchar.h>
+#endif
+
+#if defined (__GLIBC__) && defined (_IO_getc_unlocked)
+#undef getc
+#define getc(f) _IO_getc_unlocked(f)
+#endif
+
+#define boolean int
+#define TRUE 1
+#define FALSE 0
+#define NIL 0
+#define STANDARD 0
+#define ALTERNATE 1
+
+/*
+ * Vfontedpr.
+ *
+ * Dave Presotto 1/12/81 (adapted from an earlier version by Bill Joy)
+ *
+ */
+
+#define STRLEN 10 /* length of strings introducing things */
+#define PNAMELEN 40 /* length of a function/procedure name */
+#define PSMAX 20 /* size of procedure name stacking */
+
+/* regular expression routines */
+
+/* regexp.c */
+/*char *expmatch(); match a string to an expression */
+char *expmatch(register char *, register char *, register char *);
+/*char *STRNCMP(); a different kind of strncmp */
+int STRNCMP(register char *, register char *, register int);
+/*char *convexp(); convert expression to internal form */
+char *convexp(char *);
+
+/*
+ * The state variables
+ */
+
+static boolean incomm; /* in a comment of the primary type */
+static boolean instr; /* in a string constant */
+static boolean inchr; /* in a string constant */
+static boolean nokeyw = FALSE; /* no keywords being flagged */
+static boolean doindex = FALSE;/* form an index */
+static boolean twocol = FALSE; /* in two-column mode */
+static boolean filter = FALSE; /* act as a filter (like eqn) */
+static boolean pass = FALSE; /* when acting as a filter, pass indicates
+ * whether we are currently processing
+ * input.
+ */
+static boolean prccont; /* continue last procedure */
+static int comtype; /* type of comment */
+static int margin;
+static int psptr; /* the stack index of the current procedure */
+static char pstack[PSMAX][PNAMELEN+1]; /* the procedure name stack */
+static int plstack[PSMAX]; /* the procedure nesting level stack */
+static int blklevel; /* current nesting level */
+static int prclevel; /* nesting level at which procedure definitions
+ may be found, -1 if none currently valid
+ (meaningful only if l_prclevel is true) */
+static char *defsfile = LIBDIR "/vgrindefs"; /* name of language definitions file */
+static char pname[BUFSIZ+1];
+
+/*
+ * The language specific globals
+ */
+
+static char *language = "c";/* the language indicator */
+static char *l_keywds[BUFSIZ/2]; /* keyword table address */
+static char *l_prcbeg; /* regular expr for procedure begin */
+static char *l_combeg; /* string introducing a comment */
+static char *l_comend; /* string ending a comment */
+static char *l_acmbeg; /* string introducing a comment */
+static char *l_acmend; /* string ending a comment */
+static char *l_blkbeg; /* string begining of a block */
+static char *l_blkend; /* string ending a block */
+static char *l_strbeg; /* delimiter for string constant */
+static char *l_strend; /* delimiter for string constant */
+static char *l_chrbeg; /* delimiter for character constant */
+static char *l_chrend; /* delimiter for character constant */
+static char *l_prcenable; /* re indicating that procedure definitions
+ can be found in the next lexical level --
+ kludge for lisp-like languages that use
+ something like
+ (defun (proc ...)
+ (proc ...)
+ )
+ to define procedures */
+static char l_escape; /* character used to escape characters */
+static boolean l_toplex; /* procedures only defined at top lex level */
+static boolean l_prclevel; /* procedure definitions valid only within
+ the nesting level indicated by the px
+ (l_prcenable) capability */
+
+/*
+ * for the benefit of die-hards who aren't convinced that tabs
+ * occur every eight columns
+ */
+static short tabsize = 8;
+
+static int mb_cur_max;
+
+/*
+ * global variables also used by expmatch
+ */
+boolean escaped; /* if last character was an escape */
+char *Start; /* start of the current string */
+boolean l_onecase; /* upper and lower case are equivalent */
+char *l_idchars; /* characters legal in identifiers in addition
+ to letters and digits (default "_") */
+
+extern int STRNCMP(register char *, register char *, register int);
+extern char *convexp(char *);
+extern char *expmatch(register char *, register char *, register char *);
+extern int tgetent(char *, char *, char *);
+extern int tgetnum(char *);
+extern int tgetflag(char *);
+extern char *tgetstr(char *, char **);
+
+static void putScp(char *);
+static void putKcp(char *, char *, int);
+static int tabs(char *, char *);
+static int width(register char *, register char *);
+static void putcp(register int);
+static int isproc(char *);
+static int iskw(register char *);
+static char *fgetline(char **, size_t *, size_t *, FILE *);
+
+/*
+ * The code below emits troff macros and directives that consume part of the
+ * troff macro and register space. See tmac.vgrind for an enumeration of
+ * these macros and registers.
+ */
+
+int
+main(int argc, char **argv)
+{
+ FILE *in;
+ char *fname;
+ struct stat stbuf;
+ char *buf = NULL;
+ size_t size = 0;
+ char idbuf[256]; /* enough for all 8 bit chars */
+ char strings[2 * BUFSIZ];
+ char defs[2 * BUFSIZ];
+ int needbp = 0;
+ int i;
+ char *cp;
+
+ setlocale(LC_CTYPE, "");
+ mb_cur_max = MB_CUR_MAX;
+
+ buf = malloc(size = BUFSIZ);
+
+ /*
+ * Dump the name by which we were invoked.
+ */
+ argc--, argv++;
+
+ /*
+ * Process arguments. For the sake of compatibility with older versions
+ * of the program, the syntax accepted below is very idiosyncratic. Some
+ * options require space between the option and its argument; others
+ * disallow it. No options may be bundled together.
+ *
+ * Actually, there is one incompatibility. Files and options formerly
+ * could be arbitrarily intermixed, but this is no longer allowed. (This
+ * possiblity was never documented.)
+ */
+ while (argc > 0 && *argv[0] == '-') {
+ switch (*(cp = argv[0] + 1)) {
+
+ case '\0': /* - */
+ /* Take input from stdin. */
+ /*
+ * This option implies the end of the flag arguments. Leave the
+ * "-" in place for the file processing code to see.
+ */
+ goto flagsdone;
+
+ case '2': /* -2 */
+ /* Enter two column mode. */
+ twocol = 1;
+ printf("'nr =2 1\n");
+ break;
+
+ case 'd': /* -d <defs-file> */
+ /* Specify the language description file. */
+ defsfile = argv[1];
+ argc--, argv++;
+ break;
+
+ case 'f': /* -f */
+ /* Act as a filter like eqn. */
+ filter = 1;
+ /*
+ * Slide remaining arguments down one position and postpend "-",
+ * to force reading from stdin.
+ */
+ for (i = 0; i < argc - 1; i++)
+ argv[i] = argv[i + 1];
+ argv[argc - 1] = "-";
+ continue;
+
+ case 'h': /* -h [header] */
+ /* Specify header string. */
+ if (argc == 1) {
+ printf("'ds =H\n");
+ break;
+ }
+ printf("'ds =H %s\n", argv[1]);
+ argc--, argv++;
+ break;
+
+ case 'l': /* -l<language> */
+ /* Specify the language. */
+ language = cp + 1;
+ break;
+
+ case 'n': /* -n */
+ /* Indicate no keywords. */
+ nokeyw = 1;
+ break;
+
+ case 's': /* -s<size> */
+ /* Specify the font size. */
+ i = 0;
+ cp++;
+ while (*cp)
+ i = i * 10 + (*cp++ - '0');
+ printf("'nr vP %d\n", i);
+ break;
+
+ case 't': /* -t */
+ /* Specify a nondefault tab size. */
+ tabsize = 4;
+ break;
+
+ case 'x': /* -x */
+ /* Build an index. */
+ doindex = 1;
+ /* This option implies "-n" as well; turn it on. */
+ argv[0] = "-n";
+ continue;
+ }
+
+ /* Advance to next argument. */
+ argc--, argv++;
+ }
+
+flagsdone:
+
+ /*
+ * Get the language definition from the defs file.
+ */
+ i = tgetent (defs, language, defsfile);
+ if (i == 0) {
+ fprintf (stderr, "no entry for language %s\n", language);
+ exit (0);
+ } else if (i < 0) {
+ fprintf (stderr, "cannot find vgrindefs file %s\n", defsfile);
+ exit (0);
+ }
+ cp = strings;
+ if (tgetstr ("kw", &cp) == NIL)
+ nokeyw = TRUE;
+ else {
+ char **cpp;
+
+ cpp = l_keywds;
+ cp = strings;
+ while (*cp) {
+ while (*cp == ' ' || *cp =='\t')
+ *cp++ = '\0';
+ if (*cp)
+ *cpp++ = cp;
+ while (*cp != ' ' && *cp != '\t' && *cp)
+ cp++;
+ }
+ *cpp = NIL;
+ }
+ cp = buf;
+ l_prcbeg = convexp (tgetstr ("pb", &cp));
+ cp = buf;
+ l_combeg = convexp (tgetstr ("cb", &cp));
+ cp = buf;
+ l_comend = convexp (tgetstr ("ce", &cp));
+ cp = buf;
+ l_acmbeg = convexp (tgetstr ("ab", &cp));
+ cp = buf;
+ l_acmend = convexp (tgetstr ("ae", &cp));
+ cp = buf;
+ l_strbeg = convexp (tgetstr ("sb", &cp));
+ cp = buf;
+ l_strend = convexp (tgetstr ("se", &cp));
+ cp = buf;
+ l_blkbeg = convexp (tgetstr ("bb", &cp));
+ cp = buf;
+ l_blkend = convexp (tgetstr ("be", &cp));
+ cp = buf;
+ l_chrbeg = convexp (tgetstr ("lb", &cp));
+ cp = buf;
+ l_chrend = convexp (tgetstr ("le", &cp));
+ cp = buf;
+ l_prcenable = convexp (tgetstr ("px", &cp));
+ cp = idbuf;
+ l_idchars = tgetstr ("id", &cp);
+ /* Set default, for compatibility with old version */
+ if (l_idchars == NIL)
+ l_idchars = "_";
+ l_escape = '\\';
+ l_onecase = tgetflag ("oc");
+ l_toplex = tgetflag ("tl");
+ l_prclevel = tgetflag ("pl");
+
+ /*
+ * Emit a call to the initialization macro. If not in filter mode, emit a
+ * call to the vS macro, so that tmac.vgrind can uniformly assume that all
+ * program input is bracketed with vS-vE pairs.
+ */
+ printf("'vI\n");
+ if (!filter)
+ printf("'vS\n");
+
+ if (doindex) {
+ /*
+ * XXX: Hard-wired spacing information. This should probably turn
+ * into the emission of a macro invocation, so that tmac.vgrind
+ * can make up its own mind about what spacing is appropriate.
+ */
+ if (twocol)
+ printf("'ta 2.5i 2.75i 4.0iR\n'in .25i\n");
+ else
+ printf("'ta 4i 4.25i 5.5iR\n'in .5i\n");
+ }
+
+ while (argc > 0) {
+ if (strcmp(argv[0], "-") == 0) {
+ /* Embed an instance of the original stdin. */
+ in = fdopen(fileno(stdin), "r");
+ fname = "";
+ } else {
+ /* Open the file for input. */
+ if ((in = fopen(argv[0], "r")) == NULL) {
+ perror(argv[0]);
+ exit(1);
+ }
+ fname = argv[0];
+ }
+ argc--, argv++;
+
+ /*
+ * Reinitialize for the current file.
+ */
+ incomm = FALSE;
+ instr = FALSE;
+ inchr = FALSE;
+ escaped = FALSE;
+ blklevel = 0;
+ prclevel = -1;
+ for (psptr=0; psptr<PSMAX; psptr++) {
+ pstack[psptr][0] = '\0';
+ plstack[psptr] = 0;
+ }
+ psptr = -1;
+ printf("'-F\n");
+ if (!filter) {
+ char *cp;
+
+ printf(".ds =F %s\n", fname);
+ if (needbp) {
+ needbp = 0;
+ printf(".()\n");
+ printf(".bp\n");
+ }
+ fstat(fileno(in), &stbuf);
+ cp = ctime(&stbuf.st_mtime);
+ cp[16] = '\0';
+ cp[24] = '\0';
+ printf(".ds =M %s %s\n", cp+4, cp+20);
+ printf("'wh 0 vH\n");
+ printf("'wh -1i vF\n");
+ }
+ if (needbp && filter) {
+ needbp = 0;
+ printf(".()\n");
+ printf(".bp\n");
+ }
+
+ /*
+ * MAIN LOOP!!!
+ */
+ while (fgetline(&buf, &size, NULL, in) != NULL) {
+ if (buf[0] == '\f') {
+ printf(".bp\n");
+ }
+ if (buf[0] == '.') {
+ printf("%s", buf);
+ if (!strncmp (buf+1, "vS", 2))
+ pass = TRUE;
+ if (!strncmp (buf+1, "vE", 2))
+ pass = FALSE;
+ continue;
+ }
+ prccont = FALSE;
+ if (!filter || pass)
+ putScp(buf);
+ else
+ printf("%s", buf);
+ if (prccont && (psptr >= 0))
+ printf("'FC %s\n", pstack[psptr]);
+#ifdef DEBUG
+ printf ("com %o str %o chr %o ptr %d\n", incomm, instr, inchr, psptr);
+#endif
+ margin = 0;
+ }
+
+ needbp = 1;
+ fclose(in);
+ }
+
+ /* Close off the vS-vE pair. */
+ if (!filter)
+ printf("'vE\n");
+
+ exit(0);
+ /* NOTREACHED */
+}
+
+#define isidchr(c) (isalnum(c) || ((c) != NIL && strchr(l_idchars, (c)) != NIL))
+
+static void
+putScp(char *os)
+{
+ register char *s = os; /* pointer to unmatched string */
+ char dummy[BUFSIZ]; /* dummy to be used by expmatch */
+ char *comptr; /* end of a comment delimiter */
+ char *acmptr; /* end of a comment delimiter */
+ char *strptr; /* end of a string delimiter */
+ char *chrptr; /* end of a character const delimiter */
+ char *blksptr; /* end of a lexical block start */
+ char *blkeptr; /* end of a lexical block end */
+
+ Start = os; /* remember the start for expmatch */
+ escaped = FALSE;
+ if (nokeyw || incomm || instr)
+ goto skip;
+ if (isproc(s)) {
+ printf("'FN %s\n", pname);
+ if (psptr < PSMAX-1) {
+ ++psptr;
+ strncpy (pstack[psptr], pname, PNAMELEN);
+ pstack[psptr][PNAMELEN] = '\0';
+ plstack[psptr] = blklevel;
+ }
+ }
+ /*
+ * if l_prclevel is set, check to see whether this lexical level
+ * is one immediately below which procedure definitions are allowed.
+ */
+ if (l_prclevel && !incomm && !instr && !inchr) {
+ if (expmatch (s, l_prcenable, dummy) != NIL)
+ prclevel = blklevel + 1;
+ }
+skip:
+ do {
+ /* check for string, comment, blockstart, etc */
+ if (!incomm && !instr && !inchr) {
+
+ blkeptr = expmatch (s, l_blkend, dummy);
+ blksptr = expmatch (s, l_blkbeg, dummy);
+ comptr = expmatch (s, l_combeg, dummy);
+ acmptr = expmatch (s, l_acmbeg, dummy);
+ strptr = expmatch (s, l_strbeg, dummy);
+ chrptr = expmatch (s, l_chrbeg, dummy);
+
+ /* start of a comment? */
+ if (comptr != NIL)
+ if ((comptr < strptr || strptr == NIL)
+ && (comptr < acmptr || acmptr == NIL)
+ && (comptr < chrptr || chrptr == NIL)
+ && (comptr < blksptr || blksptr == NIL)
+ && (comptr < blkeptr || blkeptr == NIL)) {
+ putKcp (s, comptr-1, FALSE);
+ s = comptr;
+ incomm = TRUE;
+ comtype = STANDARD;
+ if (s != os)
+ printf ("\\c");
+ printf ("\\c\n'+C\n");
+ continue;
+ }
+
+ /* start of a comment? */
+ if (acmptr != NIL)
+ if ((acmptr < strptr || strptr == NIL)
+ && (acmptr < chrptr || chrptr == NIL)
+ && (acmptr < blksptr || blksptr == NIL)
+ && (acmptr < blkeptr || blkeptr == NIL)) {
+ putKcp (s, acmptr-1, FALSE);
+ s = acmptr;
+ incomm = TRUE;
+ comtype = ALTERNATE;
+ if (s != os)
+ printf ("\\c");
+ printf ("\\c\n'+C\n");
+ continue;
+ }
+
+ /* start of a string? */
+ if (strptr != NIL)
+ if ((strptr < chrptr || chrptr == NIL)
+ && (strptr < blksptr || blksptr == NIL)
+ && (strptr < blkeptr || blkeptr == NIL)) {
+ putKcp (s, strptr-1, FALSE);
+ s = strptr;
+ instr = TRUE;
+ continue;
+ }
+
+ /* start of a character string? */
+ if (chrptr != NIL)
+ if ((chrptr < blksptr || blksptr == NIL)
+ && (chrptr < blkeptr || blkeptr == NIL)) {
+ putKcp (s, chrptr-1, FALSE);
+ s = chrptr;
+ inchr = TRUE;
+ continue;
+ }
+
+ /* end of a lexical block */
+ if (blkeptr != NIL) {
+ if (blkeptr < blksptr || blksptr == NIL) {
+ /* reset prclevel if necessary */
+ if (l_prclevel && prclevel == blklevel)
+ prclevel = -1;
+ putKcp (s, blkeptr - 1, FALSE);
+ s = blkeptr;
+ blklevel--;
+ if (psptr >= 0 && plstack[psptr] >= blklevel) {
+
+ /* end of current procedure */
+ if (s != os)
+ printf ("\\c");
+ printf ("\\c\n'-F\n");
+ blklevel = plstack[psptr];
+
+ /* see if we should print the last proc name */
+ if (--psptr >= 0)
+ prccont = TRUE;
+ else
+ psptr = -1;
+ }
+ continue;
+ }
+ }
+
+ /* start of a lexical block */
+ if (blksptr != NIL) {
+ putKcp (s, blksptr - 1, FALSE);
+ s = blksptr;
+ blklevel++;
+ continue;
+ }
+
+ /* check for end of comment */
+ } else if (incomm) {
+ comptr = expmatch (s, l_comend, dummy);
+ acmptr = expmatch (s, l_acmend, dummy);
+ if (((comtype == STANDARD) && (comptr != NIL)) ||
+ ((comtype == ALTERNATE) && (acmptr != NIL))) {
+ if (comtype == STANDARD) {
+ putKcp (s, comptr-1, TRUE);
+ s = comptr;
+ } else {
+ putKcp (s, acmptr-1, TRUE);
+ s = acmptr;
+ }
+ incomm = FALSE;
+ printf("\\c\n'-C\n");
+ continue;
+ } else {
+ putKcp (s, s + strlen(s) -1, TRUE);
+ s = s + strlen(s);
+ continue;
+ }
+
+ /* check for end of string */
+ } else if (instr) {
+ if ((strptr = expmatch (s, l_strend, dummy)) != NIL) {
+ putKcp (s, strptr-1, TRUE);
+ s = strptr;
+ instr = FALSE;
+ continue;
+ } else {
+ putKcp (s, s+strlen(s)-1, TRUE);
+ s = s + strlen(s);
+ continue;
+ }
+
+ /* check for end of character string */
+ } else if (inchr) {
+ if ((chrptr = expmatch (s, l_chrend, dummy)) != NIL) {
+ putKcp (s, chrptr-1, TRUE);
+ s = chrptr;
+ inchr = FALSE;
+ continue;
+ } else {
+ putKcp (s, s+strlen(s)-1, TRUE);
+ s = s + strlen(s);
+ continue;
+ }
+ }
+
+ /* print out the line */
+ putKcp (s, s + strlen(s) -1, FALSE);
+ s = s + strlen(s);
+ } while (*s);
+}
+
+static void
+putKcp (
+ char *start, /* start of string to write */
+ char *end, /* end of string to write */
+ boolean force /* true if we should force nokeyw */
+)
+{
+ int i;
+ int xfld = 0;
+
+ while (start <= end) {
+ if (doindex) {
+ if (*start == ' ' || *start == '\t') {
+ if (xfld == 0)
+ printf("");
+ printf("\t");
+ xfld = 1;
+ while (*start == ' ' || *start == '\t')
+ start++;
+ continue;
+ }
+ }
+
+ /* take care of nice tab stops */
+ if (*start == '\t') {
+ while (*start == '\t')
+ start++;
+ i = tabs(Start, start) - margin / tabsize;
+ printf ("\\h'|%dn'",
+ i * (tabsize == 4 ? 5 : 10) + 1 - margin % tabsize);
+ continue;
+ }
+
+ if (!nokeyw && !force)
+ if ( (*start == '#' || isidchr((int)*start))
+ && (start == Start || !isidchr((int)start[-1]))
+ ) {
+ i = iskw(start);
+ if (i > 0) {
+ printf("\\*(+K");
+ do
+ putcp(*start++);
+ while (--i > 0);
+ printf("\\*(-K");
+ continue;
+ }
+ }
+
+ putcp (*start++);
+ }
+}
+
+
+static int
+tabs(char *s, char *os)
+{
+
+ return (width(s, os) / tabsize);
+}
+
+static int
+width(register char *s, register char *os)
+{
+ register int i = 0;
+ unsigned char c;
+ int n;
+
+ while (s < os) {
+ if (*s == '\t') {
+ i = (i + tabsize) &~ (tabsize-1);
+ s++;
+ continue;
+ }
+ c = *(unsigned char *)s;
+ if (c < ' ')
+ i += 2, s++;
+#ifdef EUC
+ else if (c >= 0200) {
+ wchar_t wc;
+ if ((n = mbtowc(&wc, s, mb_cur_max)) > 0) {
+ s += n;
+ if ((n = wcwidth(wc)) > 0)
+ i += n;
+ } else
+ s++;
+ }
+#endif /* EUC */
+ else
+ i++, s++;
+ }
+ return (i);
+}
+
+static void
+putcp(register int c)
+{
+
+ switch(c) {
+
+ case 0:
+ break;
+
+ case '\f':
+ break;
+
+ case '{':
+ printf("\\*(+K{\\*(-K");
+ break;
+
+ case '}':
+ printf("\\*(+K}\\*(-K");
+ break;
+
+ case '\\':
+ printf("\\e");
+ break;
+
+ case '_':
+ printf("\\*_");
+ break;
+
+ case '-':
+ printf("\\*-");
+ break;
+
+ /*
+ * The following two cases deal with the accent characters.
+ * If they're part of a comment, we assume that they're part
+ * of running text and hand them to troff as regular quote
+ * characters. Otherwise, we assume they're being used as
+ * special characters (e.g., string delimiters) and arrange
+ * for troff to render them as accents. This is an imperfect
+ * heuristic that produces slightly better appearance than the
+ * former behavior of unconditionally rendering the characters
+ * as accents. (See bug 1040343.)
+ */
+
+ case '`':
+ if (incomm)
+ printf("`");
+ else
+ printf("\\`");
+ break;
+
+ case '\'':
+ if (incomm)
+ printf("'");
+ else
+ printf("\\'");
+ break;
+
+ case '.':
+ printf("\\&.");
+ break;
+
+ /*
+ * The following two cases contain special hacking
+ * to make C-style comments line up. The tests aren't
+ * really adequate; they lead to grotesqueries such
+ * as italicized multiplication and division operators.
+ * However, the obvious test (!incomm) doesn't work,
+ * because incomm isn't set until after we've put out
+ * the comment-begin characters. The real problem is
+ * that expmatch() doesn't give us enough information.
+ */
+
+ case '*':
+ if (instr || inchr)
+ printf("*");
+ else
+ printf("\\f2*\\fP");
+ break;
+
+ case '/':
+ if (instr || inchr)
+ printf("/");
+ else
+ printf("\\f2\\h'\\w' 'u-\\w'/'u'/\\fP");
+ break;
+
+ default:
+ if (c < 040)
+ putchar('^'), c |= '@';
+ case '\t':
+ case '\n':
+ putchar(c);
+ }
+}
+
+/*
+ * look for a process beginning on this line
+ */
+static boolean
+isproc(char *s)
+{
+ pname[0] = '\0';
+ if (l_prclevel ? (prclevel == blklevel) : (!l_toplex || blklevel == 0))
+ if (expmatch (s, l_prcbeg, pname) != NIL) {
+ return (TRUE);
+ }
+ return (FALSE);
+}
+
+
+/*
+ * iskw - check to see if the next word is a keyword
+ * Return its length if it is or 0 if it isn't.
+ */
+
+static int
+iskw(register char *s)
+{
+ register char **ss = l_keywds;
+ register int i = 1;
+ register char *cp = s;
+
+ /* Get token length. */
+ while (++cp, isidchr((int)*cp))
+ i++;
+
+ while ((cp = *ss++)) {
+ if (!STRNCMP(s,cp,i) && !isidchr((int)cp[i]))
+ return (i);
+ }
+ return (0);
+}
+
+#define LSIZE 128
+
+static char *
+fgetline(char **line, size_t *linesize, size_t *llen, FILE *fp)
+{
+ int c;
+ size_t n = 0;
+
+ if (*line == NULL || *linesize < LSIZE + n + 1)
+ *line = realloc(*line, *linesize = LSIZE + n + 1);
+ for (;;) {
+ if (n >= *linesize - LSIZE / 2)
+ *line = realloc(*line, *linesize += LSIZE);
+ c = getc(fp);
+ if (c != EOF) {
+ (*line)[n++] = c;
+ (*line)[n] = '\0';
+ if (c == '\n')
+ break;
+ } else {
+ if (n > 0)
+ break;
+ else
+ return NULL;
+ }
+ }
+ if (llen)
+ *llen = n;
+ return *line;
+}
diff --git a/vgrind/vgrind.1 b/vgrind/vgrind.1
new file mode 100644
index 0000000000000..ad907958e01a8
--- /dev/null
+++ b/vgrind/vgrind.1
@@ -0,0 +1,228 @@
+.\"
+.\" This code contains changes by
+.\" Gunnar Ritter, Freiburg i. Br., Germany, 2005. All rights reserved.
+.\"
+.\" Conditions 1, 2, and 4 and the no-warranty notice below apply
+.\" to these changes.
+.\"
+.\"
+.\" Copyright (c) 1980 Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\" must display the following acknowedgement:
+.\" This product includes software developed by the University of
+.\" California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" from 4.3BSD-Tahoe vgrind.1 6.2 (Berkeley) 5/5/86
+.\".TH VGRIND 1 "May 5, 1986"
+.\"
+.\" Sccsid @(#)vgrind.1b 1.3 (gritter) 11/6/05
+.\"
+.TH VGRIND 1 "11/6/05" "Heirloom Documentation Tools" "BSD System Compatibility"
+.UC 4
+.SH NAME
+vgrind \- grind nice listings of programs
+.SH SYNOPSIS
+.HP
+.ad l
+.nh
+\fBvgrind\fR
+[\fB\-2ftnxw\fR]
+[\fB\-s\fIn\fR]
+[\fB\-h\ \fIheader\fR]
+[\fB\-d\ \fIfile\fR]
+[\fB\-l\ \fIlanguage\fR]
+[\fB\-P\ \fIprinter\fR]
+[\fB\-T\ \fIdevice\fR]
+[\fB\-o\ \fIlist\fR]
+\fIname\fR\ ...
+.br
+.hy 1
+.ad b
+.SH DESCRIPTION
+.I Vgrind
+formats the program sources which are arguments
+in a nice style using
+.IR troff (1).
+Comments are placed in italics, keywords in bold face,
+and the name of the current function is listed down the margin of each
+page as it is encountered.
+.PP
+.I Vgrind
+runs in two basic modes, filter mode or regular mode. In filter mode
+.I vgrind
+acts as a filter in a manner similar to
+.IR tbl (1).
+The standard input is passed directly to the standard output except
+for lines bracketed by the
+.I troff-like
+macros:
+.IP .vS
+\- starts processing
+.IP .vE
+\- ends processing
+.LP
+These lines are formatted as described above. The output from this
+filter can be passed to
+.I troff
+for output. There need be no particular ordering with
+.IR eqn (1)
+or
+.IR tbl (1).
+.PP
+In regular mode
+.I vgrind
+accepts input files, processes them, and passes them to
+.IR troff (1)
+for output.
+.PP
+In both modes
+.I vgrind
+passes any lines beginning with a decimal point without conversion.
+.PP
+The options are:
+.IP \fB\-2\fP
+produce two-column output
+.IP \fB\-f\fP
+forces filter mode
+.IP \fB\-t\fP
+similar to the same option in
+.I troff
+causing formatted text to go to the standard output
+.IP \fB\-n\fP
+forces no keyword bolding
+.IP \fB\-x\fP
+outputs the index file in a ``pretty'' format.
+The index file itself is produced whenever
+.I vgrind
+is run with a file called
+.I index
+in the current directory.
+The index of function
+definitions can then be run off by giving
+.I vgrind
+the
+.B \-x
+option and the file
+.I index
+as argument.
+.IP \fB\-s\fP
+specifies a point size to use on output (exactly the same as the argument
+of a .ps)
+.IP \fB\-h\fP
+specifies a particular header to put on every output page (default is
+the file name)
+.IP \fB\-d\fP
+specifies an alternate language definitions
+file (default is /usr/lib/vgrindefs)
+.IP \fB\-l\fP
+specifies the language to use. Currently known are PASCAL
+.RB ( \-lp ),
+MODEL
+.RB ( \-lm ),
+C
+.RB ( \-lc
+or the default),
+C++
+.RB ( \-lc++ ),
+CSH
+.RB ( \-lcsh ),
+SHELL
+.RB ( \-lsh ),
+RATFOR
+.RB ( \-lr ),
+MODULA2
+.RB ( \-lmod2 ),
+YACC
+.RB ( \-lyacc ),
+ISP
+.RB ( \-lisp ),
+and ICON
+.RB ( \-lI ).
+.IP \fB\-P\fP
+specifies that output is directed to the named printer.
+.IP \fB\-T\fP
+is passed to
+.I troff
+and specifies the device to use.
+.IP \fB\-o\fP
+is passed to
+.I troff
+and specifies selected pages to print.
+.IP \fB\-w\fP
+Sets the size of tabulators to four instead of the default eight.
+.SH FILES
+.\".ta \w'/usr/ucblib/tmac/vgrind 'u
+index file where source for index is created
+.br
+/usr/ucblib/tmac/vgrind macro package
+.br
+/usr/ucblib/vfontedpr preprocessor
+.br
+/usr/ucblib/vgrindefs language descriptions
+.SH SEE ALSO
+troff(1)
+.SH NOTES
+Vfontedpr assumes that a certain programming style is followed:
+.PP
+For
+.B C
+and
+.B C++
+\- function names can be preceded on a line only by spaces, tabs, or an
+asterisk. The parenthesized arguments must also be on the same line.
+.PP
+For
+.B PASCAL
+\- function names need to appear on the same line as the keywords
+.I function
+or
+.I procedure.
+.PP
+For
+.B MODEL
+\- function names need to appear on the same line as the keywords
+.I is
+.I beginproc.
+.PP
+If these conventions are not followed, the indexing and marginal function
+name comment mechanisms will fail.
+.sp
+More generally, arbitrary formatting styles for programs mostly look bad.
+The use of spaces to align source code fails miserably; if you plan to
+.I vgrind
+your program you should use tabs. This is somewhat inevitable since the
+font used by
+.I vgrind
+is variable width.
+.PP
+The mechanism of ctags in recognizing functions should be used here.
+.PP
+Filter mode does not work in documents using the \-me or \-ms macros.
+(So what use is it anyway?)
+.PP
+Written by Dave Presotto & William Joy.
diff --git a/vgrind/vgrind.sh b/vgrind/vgrind.sh
new file mode 100755
index 0000000000000..e341fba092cd3
--- /dev/null
+++ b/vgrind/vgrind.sh
@@ -0,0 +1,259 @@
+#
+# vgrind
+# Copyright (c) 1999-2000 by Sun Microsystems, Inc.
+# All rights reserved.
+#
+# from OpenSolaris "vgrind.ksh 1.4 05/06/12 SMI"
+#
+# Copyright (c) 1980 Regents of the University of California.
+# All rights reserved. The Berkeley software License Agreement
+# specifies the terms and conditions for redistribution.
+#
+# This is a rewrite in sh of a rewrite in ksh of the command
+# originally written in csh whose last incarnation was:
+# vgrind.csh 1.16 96/10/14 SMI; from UCB 5.3 (Berkeley) 11/13/85
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Sccsid @(#)vgrind.sh 1.3 (gritter) 10/22/05
+#
+
+PATH=/usr/5bin:$PATH export PATH
+
+# Definitions the user can override
+
+troff=${TROFF:-$_TROFF}
+vfontedpr=${VFONTEDPR:-$_VFONTEDPR}
+macros=${TMAC_VGRIND:-$_TMAC_VGRIND}
+lp=${LP:-lp}
+
+# Internal processing of options
+
+dpost=$_DPOST
+
+args=""
+dpostopts=""
+files=""
+lpopts=""
+troffopts="-t"
+
+filter=0
+uselp=1
+usedpost=1
+stdoutisatty=0
+
+pspec=0
+tspec=0
+twospec=0
+
+printer=""
+
+if [ -t 1 ] ; then
+ stdoutisatty=1
+fi
+
+# Process command line options
+
+while getopts ":2d:fh:l:no:P:s:tT:wWx" opt ; do
+ case "$opt" in
+ +*)
+ printf 'vgrind: bad option %s\n' "+$opt" >&2
+ exit 1
+ ;;
+ "?")
+ printf 'vgrind: bad option %s\n' "-$OPTARG" >&2
+ exit 1
+ ;;
+ 2)
+ dpostopts="$dpostopts -p l"
+ usedpost=1
+ args="$args -2"
+ twospec=1
+ ;;
+ d)
+ args="$args -d $OPTARG"
+ if ! [ -r $OPTARG ] ; then
+ printf 'vgrind: -%s %s: file not readable\n' "$opt" "$OPTARG" >&2
+ exit 1
+ fi
+ ;;
+ f)
+ filter=1
+ args="$args -f"
+ ;;
+ h)
+ args="$args -h '$OPTARG'"
+ ;;
+ l)
+ args="$args -l$OPTARG"
+ ;;
+ n)
+ args="$args -$opt"
+ ;;
+ o)
+ troffopts="$troffopts -o$OPTARG"
+ ;;
+ P)
+ uselp=1
+ usedpost=1
+ printer=$OPTARG
+ pspec=1
+ ;;
+ s)
+ args="$args -s$OPTARG"
+ ;;
+ T)
+ troffopts="$troffopts -T$OPTARG"
+ ;;
+ t)
+ uselp=0
+ usedpost=0
+ tspec=1
+ ;;
+ W)
+ # Do nothing with this switch
+ ;;
+ w)
+ args="$args -t"
+ ;;
+ x)
+ args="$args -x"
+ ;;
+ *)
+ troffopts="$troffopts -$opt"
+ ;;
+ esac
+
+ if [ "$opt" = ":" ] ; then
+ printf 'vgrind: missing argument to option %s\n' "-$OPTARG" >&2
+ exit 1
+ fi
+done
+
+test $OPTIND -gt 1 && shift `expr $OPTIND - 1`
+
+for x in "$@" ; do
+ args="$args '$x'"
+ files="$files '$x'"
+done
+
+shift $#
+
+if [ $filter -eq 1 -a \( $twospec -eq 1 -o $pspec -eq 1 \) ] ; then
+ printf 'vgrind: option -f is incompatible with -2 and -P\n' >&2
+ exit 1
+fi
+
+if [ $filter -eq 1 -a $tspec -eq 1 ] ; then
+ printf 'vgrind: option -f is incompatible with -t\n' >&2
+ exit 1
+fi
+
+if [ $tspec -eq 1 -a \( $twospec -eq 1 -o $pspec -eq 1 \) ] ; then
+ printf 'vgrind: option -t is incompatible with -2 and -P\n' >&2
+ exit 1
+fi
+
+# Do some reasoning about whether to print
+
+if [ $uselp -eq 1 ] ; then
+ # If we want to print
+
+ if [ -z "$printer" ] ; then
+ # If "-P" was not specified
+
+ defaultprinter=`LC_ALL=C lpstat -d | sed -e "s/no system default destination//" 2>/dev/null`
+
+ if [ -n "$defaultprinter" ] ; then
+ defaultprinter=`echo $defaultprinter | \
+ sed -e "s/system default destination: //" 2>/dev/null`
+ fi
+
+ if [ $stdoutisatty -eq 1 ] ; then
+ # If stdout is not re-directed
+
+ if [ -z "$defaultprinter" ] ; then
+ uselp=0
+ else
+ printer=$defaultprinter
+ fi
+ else
+ # stdout is redirected - assume it is for further processing of
+ # postscript output.
+
+ uselp=0
+ fi
+ fi
+fi
+
+if [ $uselp -eq 1 ] ; then
+ case `basename $lp` in
+ lp)
+ lpopts="$lpopts -d$printer"
+ ;;
+ lpr)
+ lpopts="$lpopts -P$printer"
+ ;;
+ *)
+ printf 'vgrind: unknown print program %s\n' $lp >&2
+ exit 1
+ ;;
+ esac
+fi
+
+# Implementation note: In the following, we use "eval" to execute the
+# command in order to preserve spaces which may appear in the -h option
+# argument (and possibly in file names).
+
+if [ $filter -eq 1 ] ; then
+ eval "$vfontedpr $args | cat $macros -"
+else
+ cmd="$vfontedpr $args"
+
+ if [ -r index ] ; then
+ # Removes any entries from the index that come from the files we are
+ # processing.
+
+ echo > nindex
+
+ for i in "$files" ; do
+ echo "? $i ?d" | sed -e "s:/:\\\/:g" -e "s:?:/:g" >> nindex
+ done
+
+ sed -f nindex index > xindex
+
+ # Now process the input.
+ # (! [$filter -eq 1])
+
+ trap "rm -f xindex nindex; exit 1" INT QUIT
+
+ cmd="$cmd | $troff -rx1 $troffopts -i $macros - 2>> xindex"
+
+ if [ $usedpost -eq 1 ] ; then
+ cmd="$cmd | $dpost $dpostopts"
+ fi
+
+ if [ $uselp -eq 1 ] ; then
+ cmd="$cmd | $lp $lpopts"
+ fi
+
+ eval $cmd
+ trap - INT QUIT
+ sort -dfu +0 -2 xindex > index
+ rm nindex xindex
+ else
+ # (! [ -r index ])
+
+ cmd="$cmd | $troff -i $troffopts $macros -"
+
+ if [ $usedpost -eq 1 ] ; then
+ cmd="$cmd | $dpost $dpostopts"
+ fi
+
+ if [ $uselp -eq 1 ] ; then
+ cmd="$cmd | $lp $lpopts"
+ fi
+
+ eval $cmd
+ fi
+fi
diff --git a/vgrind/vgrindefs.c b/vgrind/vgrindefs.c
new file mode 100644
index 0000000000000..560b45aab43ad
--- /dev/null
+++ b/vgrind/vgrindefs.c
@@ -0,0 +1,314 @@
+/*
+ * Copyright (c) 1980 Regents of the University of California.
+ * All rights reserved. The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ */
+
+/* from OpenSolaris "vgrindefs.c 1.10 92/07/21 SMI" */
+
+/*
+ * Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+ *
+ * Sccsid @(#)vgrindefs.c 1.3 (gritter) 10/22/05
+ */
+ /* from UCB 5.1 (Berkeley) 6/5/85 */
+
+#define BUFSIZ 1024
+#define MAXHOP 32 /* max number of tc= indirections */
+
+#include <ctype.h>
+#include <locale.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include "global.h"
+
+/*
+ * grindcap - routines for dealing with the language definitions data base
+ * (code stolen almost totally from termcap)
+ *
+ * BUG: Should use a "last" pointer in tbuf, so that searching
+ * for capabilities alphabetically would not be a n**2/2
+ * process when large numbers of capabilities are given.
+ * Note: If we add a last pointer now we will screw up the
+ * tc capability. We really should compile termcap.
+ *
+ * Essentially all the work here is scanning and decoding escapes
+ * in string capabilities. We don't use stdio because the editor
+ * doesn't, and because living w/o it is not hard.
+ */
+
+static char *tbuf;
+static char *filename;
+static int hopcount; /* detect infinite loops in termcap, init 0 */
+
+static char *vgrind_msg;
+
+static int tnchktc(void);
+static int tnamatch(char *);
+static char *tskip(register char *);
+static char *tdecode(register char *, char **);
+
+/*
+ * Get an entry for terminal name in buffer bp,
+ * from the termcap file. Parse is very rudimentary;
+ * we just notice escaped newlines.
+ */
+int
+tgetent(char *bp, char *name, char *file)
+{
+ register char *cp;
+ register int c;
+ register int i = 0, cnt = 0;
+ char ibuf[BUFSIZ];
+ int tf;
+
+ tbuf = bp;
+ tf = 0;
+ filename = file;
+ tf = open(filename, O_RDONLY);
+ if (tf < 0)
+ return (-1);
+ for (;;) {
+ cp = bp;
+ for (;;) {
+ if (i == cnt) {
+ cnt = read(tf, ibuf, BUFSIZ);
+ if (cnt <= 0) {
+ close(tf);
+ return (0);
+ }
+ i = 0;
+ }
+ c = ibuf[i++];
+ if (c == '\n') {
+ if (cp > bp && cp[-1] == '\\'){
+ cp--;
+ continue;
+ }
+ break;
+ }
+ if (cp >= bp+BUFSIZ) {
+ vgrind_msg = "Vgrind entry too long\n";
+ write(2, vgrind_msg, strlen(vgrind_msg));
+ break;
+ } else
+ *cp++ = c;
+ }
+ *cp = 0;
+
+ /*
+ * The real work for the match.
+ */
+ if (tnamatch(name)) {
+ close(tf);
+ return(tnchktc());
+ }
+ }
+}
+
+/*
+ * tnchktc: check the last entry, see if it's tc=xxx. If so,
+ * recursively find xxx and append that entry (minus the names)
+ * to take the place of the tc=xxx entry. This allows termcap
+ * entries to say "like an HP2621 but doesn't turn on the labels".
+ * Note that this works because of the left to right scan.
+ */
+static int
+tnchktc(void)
+{
+ register char *p, *q;
+ char tcname[16]; /* name of similar terminal */
+ char tcbuf[BUFSIZ];
+ char *holdtbuf = tbuf;
+ int l;
+
+ p = tbuf + strlen(tbuf) - 2; /* before the last colon */
+ while (*--p != ':')
+ if (p<tbuf) {
+ vgrind_msg = "Bad vgrind entry\n";
+ write(2, vgrind_msg, strlen(vgrind_msg));
+ return (0);
+ }
+ p++;
+ /* p now points to beginning of last field */
+ if (p[0] != 't' || p[1] != 'c')
+ return(1);
+ n_strcpy(tcname, p+3, 16);
+ q = tcname;
+ while (q && *q != ':')
+ q++;
+ *q = 0;
+ if (++hopcount > MAXHOP) {
+ vgrind_msg = "Infinite tc= loop\n";
+ write(2, vgrind_msg, strlen(vgrind_msg));
+ return (0);
+ }
+ if (tgetent(tcbuf, tcname, filename) != 1)
+ return(0);
+ for (q=tcbuf; *q != ':'; q++)
+ ;
+ l = p - holdtbuf + strlen(q);
+ if (l > BUFSIZ) {
+ vgrind_msg = "Vgrind entry too long\n";
+ write(2, vgrind_msg, strlen(vgrind_msg));
+ q[BUFSIZ - (p-tbuf)] = 0;
+ }
+ n_strcpy(p, q+1, BUFSIZ - (p - holdtbuf));
+ tbuf = holdtbuf;
+ return(1);
+}
+
+/*
+ * Tnamatch deals with name matching. The first field of the termcap
+ * entry is a sequence of names separated by |'s, so we compare
+ * against each such name. The normal : terminator after the last
+ * name (before the first field) stops us.
+ */
+static int
+tnamatch(char *np)
+{
+ register char *Np, *Bp;
+
+ Bp = tbuf;
+ if (*Bp == '#')
+ return(0);
+ for (;;) {
+ for (Np = np; *Np && *Bp == *Np; Bp++, Np++)
+ continue;
+ if (*Np == 0 && (*Bp == '|' || *Bp == ':' || *Bp == 0))
+ return (1);
+ while (*Bp && *Bp != ':' && *Bp != '|')
+ Bp++;
+ if (*Bp == 0 || *Bp == ':')
+ return (0);
+ Bp++;
+ }
+}
+
+/*
+ * Skip to the next field. Notice that this is very dumb, not
+ * knowing about \: escapes or any such. If necessary, :'s can be put
+ * into the termcap file in octal.
+ */
+static char *
+tskip(register char *bp)
+{
+
+ while (*bp && *bp != ':')
+ bp++;
+ if (*bp == ':')
+ bp++;
+ return (bp);
+}
+
+/*
+ * Return the (numeric) option id.
+ * Numeric options look like
+ * li#80
+ * i.e. the option string is separated from the numeric value by
+ * a # character. If the option is not found we return -1.
+ * Note that we handle octal numbers beginning with 0.
+ */
+int
+tgetnum(char *id)
+{
+ register int i, base;
+ register char *bp = tbuf;
+
+ for (;;) {
+ bp = tskip(bp);
+ if (*bp == 0)
+ return (-1);
+ if (*bp++ != id[0] || *bp == 0 || *bp++ != id[1])
+ continue;
+ if (*bp == '@')
+ return(-1);
+ if (*bp != '#')
+ continue;
+ bp++;
+ base = 10;
+ if (*bp == '0')
+ base = 8;
+ i = 0;
+ while (isdigit((int)*bp))
+ i *= base, i += *bp++ - '0';
+ return (i);
+ }
+}
+
+/*
+ * Handle a flag option.
+ * Flag options are given "naked", i.e. followed by a : or the end
+ * of the buffer. Return 1 if we find the option, or 0 if it is
+ * not given.
+ */
+int
+tgetflag(char *id)
+{
+ register char *bp = tbuf;
+
+ for (;;) {
+ bp = tskip(bp);
+ if (!*bp)
+ return (0);
+ if (*bp++ == id[0] && *bp != 0 && *bp++ == id[1]) {
+ if (!*bp || *bp == ':')
+ return (1);
+ else if (*bp == '@')
+ return(0);
+ }
+ }
+}
+
+/*
+ * Get a string valued option.
+ * These are given as
+ * cl=^Z
+ * Much decoding is done on the strings, and the strings are
+ * placed in area, which is a ref parameter which is updated.
+ * No checking on area overflow.
+ */
+char *
+tgetstr(char *id, char **area)
+{
+ register char *bp = tbuf;
+
+ for (;;) {
+ bp = tskip(bp);
+ if (!*bp)
+ return (0);
+ if (*bp++ != id[0] || *bp == 0 || *bp++ != id[1])
+ continue;
+ if (*bp == '@')
+ return(0);
+ if (*bp != '=')
+ continue;
+ bp++;
+ return (tdecode(bp, area));
+ }
+}
+
+/*
+ * Tdecode does the grung work to decode the
+ * string capability escapes.
+ */
+static char *
+tdecode(register char *str, char **area)
+{
+ register char *cp;
+ register int c;
+
+ cp = *area;
+ while ((c = *str++)) {
+ if (c == ':' && *(cp-1) != '\\')
+ break;
+ *cp++ = c;
+ }
+ *cp++ = 0;
+ str = *area;
+ *area = cp;
+ return (str);
+}
diff --git a/vgrind/vgrindefs.src b/vgrind/vgrindefs.src
new file mode 100644
index 0000000000000..e6581f57fc8be
--- /dev/null
+++ b/vgrind/vgrindefs.src
@@ -0,0 +1,170 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License, Version 1.0 only
+# (the "License"). You may not use this file except in compliance
+# with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# from OpenSolaris "vgrindefs.src 1.16 05/06/08 SMI"
+#
+# Portions Copyright (c) 2005 Gunnar Ritter, Freiburg i. Br., Germany
+#
+# Sccsid @(#)vgrindefs.src 1.3 (gritter) 10/22/05
+#
+model|mod|m:\
+ :pb=^\d(space\d\p\drep)|(\p\dis|inline|public\dbeginproc):\
+ :bb=\dbeginproc|space|case\d:be=\dendproc|end\d|;:\
+ :cb=\$:ce=\$|$:sb=":se=":lb=':le=\a|$:\
+ :kw=abs and array beginproc boolean by case cdnl char copied dispose\
+ div do dynamic else elsif end endproc entry external FALSE false\
+ fi file for formal fortran global if iff ift\
+ in integer include inline is lbnd\
+ max min mod new NIL nil noresult not notin od of or procedure public\
+ read readln readonly record recursive rem rep repeat res\
+ result return set\
+ space string subscript such then TRUE true type ubnd union until\
+ varies while width:
+pascal|pasc|p:\
+ :pb=(^\d?procedure|function|program\d\p\d|\(|;|\:)|(=\d?record\d):\
+ :bb=\dcase|begin\d:be=\dend|forward\d|;:\
+ :cb={:ce=}:\
+ :ab=\(*:ae=*\):\
+ :sb=':se=':\
+ :kw=and array assert begin case const div do downto else end file for\
+ forward function goto if in label mod nil not of or packed procedure\
+ program record repeat set then to type until var while with oct hex\
+ external:
+C|c:\
+ :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:sb=":se=\e":lb=':\
+ :le=\e':tl:\
+ :kw=asm auto break case char continue default do double else enum\
+ extern float for fortran goto if int long register return short\
+ sizeof static struct switch typedef union unsigned void while #define\
+ #else #endif #if #ifdef #ifndef #include #undef # define endif\
+ ifdef ifndef include undef defined:
+ISP|isp|i:\
+ :cb=!:ce=!|$:oc:\
+ :kw=and begin decode define end eql eqv geq gtr if leave leq lss mod\
+ neq next not or otherwise repeat restart resume sr0 sr1 srd srr sl0 sl1\
+ sld slr tst xor:
+SH|sh:\
+ :pb=(;|^)\d?\p\(\)(\d|{):\
+ :ab=\$#:ae=(\d?|\a?):\
+ :bb={:be=}:cb=#:ce=$:sb=":se=\e":lb=':\
+ :le=\e':tl:\
+ :kw=break case cd continue do done \
+ elif else esac eval exec exit export \
+ fi for if in then while until \
+ read readonly set shift test trap umask wait:
+CSH|csh:\
+ :cb=#:ce=$:sb=":se=\e":lb=':\
+ :ab=\$\a?#:ae=(\d?|\a?):\
+ :le=\e':tl:\
+ :kw=alias alloc break breaksw case cd chdir continue default\
+ echo else end endif endsw exec exit foreach \
+ glob goto history if logout nice nohup onintr repeat set\
+ setenv shift source switch then time \
+ while umask unalias unset wait while @ env \
+ argv child home ignoreeof noclobber noglob \
+ nomatch path prompt shell status verbose :
+ldl|LDL:\
+ :pb=^\p\::bb=\::be=;:cb=/*:ce=*/:sb=":se=\e":\
+ :kw=constant functions grammar reswords tokens add1 addste\
+ car cdr check colno cond cons copy defun divide empty enter\
+ eq equal findattr firstchild ge getattr getfield gt hash label\
+ lambda lastchild le leftsibling lookone lookup lt minus name ne\
+ newnode nextcom nil null parent plus precnl prevcom prog progn\
+ quote reglob return rightsibling self set setattr setfield setq\
+ stjoin sub1 t times tnull tokno ttype:
+Icon|icon|I:\
+ :pb=^\d?procedure\d\p\d?\(\a?\):\
+ :bb=(^\d?procedure\d\p\d?\(\a?\))|{:be=}|(^\d?end\d?$):\
+ :cb=#:ce=$:\
+ :sb=":se=\e":lb=':le=\e':tl:\
+ :kw=break by case create default do dynamic else end every external\
+ fail global if initial local next not of procedure record\
+ repeat return static suspend then to until using while\
+ &ascii &clock &cset &date &dateline &errout &fail &host &input\
+ &lcase &level &main &null &output &pos &random &source &subject\
+ &time &trace &ucase &version:
+ratfor|rat|r:\
+ :pb=(subroutine|function)\d\p\d?\(\a?\):\
+ :bb=(subroutine|function)\d\p\d?\(\a?\):be=^\d?end:\
+ :cb=#:ce=$:\
+ :sb=":se=\e":lb=':le=\e':oc:\
+ :kw=DRETURN DRIVER arith break case character default define do\
+ else elsedef enddef filedes for function goto if ifdef ifelse\
+ ifnotdef include incr integer linepointer next opeq pointer\
+ real repeat return select string subroutine substr until:
+modula2|mod2|m2:\
+ :pb=(^\d?(procedure|function|module)\d\p\d|\(|;|\:):\
+ :bb=\d(begin|case|for|if|loop|record|repeat|while|with)\d:\
+ :be=\dend|;:\
+ :cb={:ce=}:\
+ :ab=\(*:ae=*\):\
+ :sb=":se=":\
+ :oc:\
+ :kw=and array begin by case const\
+ definition div do else elsif end exit export\
+ for from if implementation import in\
+ loop mod module not of or pointer procedure qualified\
+ record repeat return set then to type\
+ until var while with:
+yacc|Yacc|y:\
+ :cb=/*:ce=*/:sb=":se=\e":lb=':le=\e':tl:\
+ :kw=%{ %} %% %union %token %type\
+ #else #endif #if #ifdef #ifndef #include #undef # define else endif\
+ if ifdef ifndef include undef:
+C++|c++:\
+ :pb=^\d?*?\d?\p\d?\(\a?\)(\d|{):bb={:be=}:cb=/*:ce=*/:ab=//:\
+ :ae=$:sb=":se=\e":lb=':\
+ :le=\e':tl:\
+ :kw=asm auto break case char continue default do double else enum\
+ extern float for fortran goto if int long register return short\
+ sizeof static struct switch typedef union unsigned while void #define\
+ #else #endif #if #ifdef #ifndef #include #undef # define endif\
+ ifdef ifndef include undef defined\
+ class const delete friend inline new operator overload private\
+ protected public virtual:
+fortran|FORTRAN|f77|fc|f:\
+ :pb=(function|subroutine|program)\d\p\d?\(\a?\):\
+ :bb=(function|subroutine|program)\d\p\d?\(\a?\):be=^\dend:\
+ :cb=^c:\
+ :ce=$:\
+ :sb=':\
+ :se=':\
+ :oc:\
+ :kw=call common complex continue dimension do double else elseif\
+ end endif equivalence format function\
+ goto if include integer \
+ parameter precision real return stop subroutine:
+#
+# This entry makes use of new capabilities added to support the description
+# of lisp-like languages (id, pl, and px). The set of keywords given is a
+# matter of taste. It would be reasonable to add all the wired functions to
+# the list.
+MLisp|ml|Emacs Mock Lisp:\
+ :cb=;:ce=$:lb=':le=\e':sb=":se=\e":bb=\(:be=\):\
+ :id=_-$#@./,%&?!^*+~`|;<>'\::\
+ :kw=defun if progn while:pl:px=\d\(defun:pb=^\d\(\p($|(\d\a$)):
+#
+# It's not obvious what constitutes a "procedure definition" in Russell.
+# This entry doesn't even try...
+russell|Russell:\
+ :cb=\(*:ce=*\):kw=cand cor do od if fi else enum record prod union\
+ extend export hide with constants let use in ni val var func type\
+ field characters readonly:sb=":se=":lb=':le=':